[
  {
    "path": ".gitattributes",
    "content": "boot/** -linguist-generated\n**/tiddlywiki.files linguist-language=JSON\n**/tiddlywiki.info linguist-language=JSON\n**/plugin.info linguist-language=JSON"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/bug_report.md",
    "content": "---\nname: Bug report\nabout: Create a report to help us improve TiddlyWiki 5\ntitle: \"[Report] \"\ntype: report\n\n---\n\n<!-- Remove elements, that you do not need -->\n<!-- Add screenshots where needed -->\n\n**Problem Description**\n<!-- Describe your problem: A clear and concise description of what your problem is -->\n\n\n**To Reproduce**\n\nSteps to reproduce the behavior:\n\n1. At https://tiddlywiki.com\n2. Click on ...\n3. Scroll down to ...\n4. See ...\n\n\n**Expected behavior**\n\nAs a user,\n<!-- As a developer, -->\nI would expect ...\n\n\n**TiddlyWiki Configuration**\n<!-- Please complete the following information -->\n\n- Report created with: [Wiki Information](https://tiddlywiki.com/#%24%3A%2Fcore%2Fui%2FControlPanel%2FWikiInformation)\n\n<!-- Your report comes here -->\n<!-- or -->\n<!-- Add it manually -->\n\n- Version: <!-- e.g. v5.3.8 -->\n- Saving mechanism: <!-- e.g. Node.js, TiddlyDesktop, TiddlyHost etc -->\n- Plugins installed: <!-- e.g. Freelinks, TiddlyMap ... other 3rd party plugins -->\n\n\n**Desktop**\n<!-- Please complete the following information -->\n\n- OS: <!--  e.g. iOS -->\n- Browser: <!-- e.g. chrome, safari, FireFox -- Version: -->\n\n**Smartphone**\n<!-- Please complete the following information -->\n\n- Device: <!-- e.g. iPhone6 -->\n- OS: <!-- e.g. iOS8.1 -->\n- Browser: <!-- e.g. stock browser, safari, FireFox -- Version: -->\n\n\n**Additional context**\n<!-- Add any other context about the problem here. -->\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/config.yml",
    "content": "blank_issues_enabled: false\ncontact_links:\n  - name: Discuss feature request\n    url: https://github.com/TiddlyWiki/TiddlyWiki5/discussions\n    about: Open new discussion about new feature\n  - name: Talk.Tiddlywiki Forum\n    url: https://talk.tiddlywiki.org\n    about: Join the Forum"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/feature_request.md",
    "content": "---\nname: Feature request\nabout: Suggest an idea for TiddlyWiki 5\ntitle: \"[IDEA]\"\nlabels: ''\nassignees: ''\ntype: idea\n\n---\n\n**Is your idea related to a problem? Please describe.**\n\nA clear and concise description of what the problem is. Eg:\nAs a user, I would like [...]\n\n**Describe the solution you'd like**\n\nA clear and concise description of what you want to happen.\n\n**Describe alternatives you've considered**\n\nA clear and concise description of any alternative solutions or features you've considered.\n\n**Additional context**\n\nAdd any other context or screenshots about the feature request here.\n"
  },
  {
    "path": ".github/PULL_REQUEST_TEMPLATE/pull_request_template.md",
    "content": "---\nname: Pull Request\nabout: Propose a change to TiddlyWiki 5\ntitle: \"\"\nlabels: ''\nassignees: ''\n\n---\n\n**Is your PR related to a problem? Please describe.**\nA clear and concise description of what the problem is. Ex. I'm always frustrated when [...]\n\n**Describe the solution you are proposing**\nA clear and concise description of the changes you are proposing. Include images to show visual changes.\n\n**Describe alternatives you've considered**\nA clear and concise description of any alternative solutions or features you've considered.\n\n**Additional context**\nAdd any other context or screenshots about the feature request here.\n\nIf you link to discussions elsewhere then please copy and paste the important text, and don't expect readers to scan the entire discussion to find the relevant part.\n\n## Checklist before requesting a review\n\n- [ ] Illustrate any visual changes (however minor) with before/after screenshots\n- [ ] Self-review of code\n- [ ] Documentation updates (for user-visible changes)\n- [ ] Tests (for core code changes)\n- [ ] Complies with coding style guidelines (for JavaScript code)\n"
  },
  {
    "path": ".github/workflows/ci.yml",
    "content": "on:\n  pull_request:\n  push:\n    branches:\n      - master\n      - tiddlywiki-com\nenv:\n  NODE_VERSION: \"22\"\njobs:\n  test:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v5\n      - uses: actions/setup-node@v4\n        with:\n          node-version: \"${{ env.NODE_VERSION }}\"\n      - run: \"./bin/ci-test.sh\"\n      - uses: actions/upload-artifact@v4\n        if: always()\n        with:\n          name: playwright-report\n          path: playwright-report/\n          retention-days: 30\n  build-prerelease:\n    runs-on: ubuntu-latest\n    if: github.ref == 'refs/heads/master'\n    needs: test\n    env:\n      TW5_BUILD_TIDDLYWIKI: \"./tiddlywiki.js\"\n      TW5_BUILD_MAIN_EDITION: \"./editions/prerelease\"\n      TW5_BUILD_OUTPUT: \"./output/prerelease\"\n    steps:\n      - uses: actions/checkout@v5\n      - uses: actions/setup-node@v4\n        with:\n          node-version: \"${{ env.NODE_VERSION }}\"\n      - run: \"./bin/ci-pre-build.sh\"\n      # There's another near-duplicate \"Set dynamic environment variables\" step in\n      # the `build-tiddlywiki-com` job.\n      # These _could_ be extracted as a script (or moved into `ci-pre-build.sh`) to do away with the\n      # duplication, but, the visibility that comes from having these in the workflow file seems\n      # valuable. Environment variables are global variables and setting them at the top-level\n      # makes sense.\n      # Time to reconsider this decision might be when this setup turns out to be mistake-prone.\n      - name: \"Set dynamic environment variables\"\n        run: |\n          TW5_BUILD_BRANCH=$(echo $GITHUB_REF | awk 'BEGIN { FS = \"/\" } ; { print $3 }')\n          echo \"TW5_BUILD_BRANCH=${TW5_BUILD_BRANCH}\" >> $GITHUB_ENV\n          echo \"TW5_BUILD_VERSION=$(./bin/get-plugin-library-version-number)\" >> $GITHUB_ENV\n          echo \"TW5_BUILD_DETAILS=Prerelease built from branch '$TW5_BUILD_BRANCH' at commit $(git rev-parse HEAD) of $(git remote get-url origin) at $(date +'%F %T %Z')\" >> $GITHUB_ENV\n      - run: \"./bin/build-site.sh\"\n      - run: \"./bin/ci-push.sh\"\n        env:\n          GH_TOKEN: ${{ secrets.GITHUBPUSHTOKEN }}\n  build-tiddlywiki-com:\n    runs-on: ubuntu-latest\n    if: github.ref == 'refs/heads/tiddlywiki-com'\n    needs: test\n    env:\n      TW5_BUILD_TIDDLYWIKI: \"./node_modules/tiddlywiki/tiddlywiki.js\"\n      TW5_BUILD_MAIN_EDITION: \"./editions/tw5.com\"\n      TW5_BUILD_OUTPUT: \"./output\"\n      TW5_BUILD_ARCHIVE: \"./output\"\n    steps:\n      - uses: actions/checkout@v5\n      - uses: actions/setup-node@v4\n        with:\n          node-version: \"${{ env.NODE_VERSION }}\"\n      - run: \"./bin/ci-pre-build.sh\"\n      # When making a change here, don't forget to see if it also applies to the step\n      # with the same name in the `build-prerelease` job.\n      - name: \"Set dynamic environment variables\"\n        run: |\n          TW5_BUILD_BRANCH=$(echo $GITHUB_REF | awk 'BEGIN { FS = \"/\" } ; { print $3 }')\n          echo \"TW5_BUILD_BRANCH=${TW5_BUILD_BRANCH}\" >> $GITHUB_ENV\n          echo \"TW5_BUILD_VERSION=$(./bin/get-plugin-library-version-number)\" >> $GITHUB_ENV\n          echo \"TW5_BUILD_DETAILS=Built from branch '$TW5_BUILD_BRANCH' at commit $(git rev-parse HEAD) of $(git remote get-url origin) at $(date +'%F %T %Z')\" >> $GITHUB_ENV\n      - run: \"./bin/build-site.sh\"\n      - run: \"./bin/ci-push.sh\"\n        env:\n          GH_TOKEN: ${{ secrets.GITHUBPUSHTOKEN }}\n      - run: \"./bin/build-tw-org.sh\"\n        env:\n          GH_TOKEN: ${{ secrets.GITHUBPUSHTOKEN }}\n"
  },
  {
    "path": ".github/workflows/cla-check.yml",
    "content": "name: Check CLA Signature\non:\n  pull_request_target:\n    types:\n      - opened\n      - reopened\n    paths-ignore:\n      - 'licenses/cla-individual.md'\njobs:\n  check_cla:\n    runs-on: ubuntu-latest\n    permissions:\n      pull-requests: write\n    if: ${{ (github.event.pull_request.user.login != github.repository_owner) }}\n    steps:\n    - run: |\n        if ! curl -s https://raw.githubusercontent.com/Jermolene/TiddlyWiki5/tiddlywiki-com/licenses/cla-individual.md | grep -io \"@$USER,\"; then\n          echo \"CLA not signed\"\n          gh pr comment \"$NUMBER\" -b \"@$USER It appears that this is your first contribution to the project, welcome.\n          \n          With apologies for the bureaucracy, please could you prepare a separate PR to the 'tiddlywiki-com' branch with your signature for the Contributor License Agreement (see [contributing.md](https://github.com/TiddlyWiki/TiddlyWiki5/blob/master/contributing.md)).\"\n        else\n          echo \"CLA already signed\"\n          gh pr comment \"$NUMBER\" -b \"Confirmed: **$USER** has already signed the Contributor License Agreement (see [contributing.md](https://github.com/TiddlyWiki/TiddlyWiki5/blob/master/contributing.md))\"\n        fi\n      env:\n        GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n        GH_REPO: ${{ github.repository }}\n        NUMBER: ${{ github.event.pull_request.number }}\n        USER: ${{ github.actor }}\n"
  },
  {
    "path": ".github/workflows/cla-signed.yml",
    "content": "name: CLA Signed\n\non:\n  pull_request_target:\n    types:\n      - opened\n      - closed\n    paths:\n      - 'licenses/cla-individual.md'\n\nenv:\n  GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n  GH_REPO: ${{ github.repository }}\n  NUMBER: ${{ github.event.pull_request.number }}\n  AUTHOR: ${{ github.event.pull_request.user.login }}\n\njobs:\n  # check if PRs updating the CLA are targetting the tiddlywiki-com branch\n  check-signature-branch:\n    if: (github.event.pull_request.merged != true) && (github.event.pull_request.user.login != github.repository_owner)\n    runs-on: ubuntu-latest\n    permissions:\n      pull-requests: write\n    steps:\n    - run: |\n        if [[ \"$BRANCH\" != \"tiddlywiki-com\" ]]; then\n          echo \"This CLA signature targets the wrong branch: $BRANCH\"\n          gh pr comment \"$NUMBER\" -b \"@$AUTHOR Signatures to the CLA must target the 'tiddlywiki-com' branch.\"\n        fi\n      env:\n        BRANCH: ${{ github.event.pull_request.base.ref }}\n\n  # leave a comment on each open PR by a given author when their signature is added to the CLA\n  cla-signed:\n    if: (github.event.pull_request.merged == true) && (github.event.pull_request.user.login != github.repository_owner)\n    runs-on: ubuntu-latest\n    permissions:\n      pull-requests: write\n    steps:\n    - name: List open PRs by user\n      id: list-prs\n      uses: actions/github-script@v6\n      with:\n        result-encoding: string\n        script: |\n          const owner = context.repo.owner,\n            repo = context.repo.repo,\n            author = context.payload.pull_request.user.login;\n\n          const { data: pullRequests } = await github.rest.pulls.list({\n            owner: owner,\n            repo: repo,\n            state: 'open',\n            sort: 'created',\n            direction: 'desc',\n            per_page: 100\n          });\n          const userPullRequests = pullRequests.filter(pr => pr.user.login === author),\n            prNumbers = userPullRequests.map(pr => pr.number).join(',');\n          console.log(`Open pull requests by ${author}:${prNumbers}`);\n          return prNumbers;\n          \n    - name: Comment open PRs by the same author\n      run: |\n        prs=($(echo ${{ steps.list-prs.outputs.result }} | tr \",\" \"\\n\"))  \n  \n        for number in \"${prs[@]}\"  \n        do  \n          gh pr comment \"$number\" -b \"**$AUTHOR** has signed the Contributor License Agreement (see [contributing.md](https://github.com/TiddlyWiki/TiddlyWiki5/blob/master/contributing.md))\"\n        done     \n"
  },
  {
    "path": ".github/workflows/eslint.yml",
    "content": "name: ESLint\n\non:\n  pull_request:\n    types: [opened, synchronize, reopened]\n  workflow_dispatch:\n\nconcurrency:\n  group: lint-${{ github.event.pull_request.number || github.ref_name }}\n  cancel-in-progress: true\n\npermissions:\n  contents: read\n  # Needed for GitHub Checks API\n  checks: write\n\njobs:\n  eslint:\n    runs-on: ubuntu-latest\n\n    steps:\n      - name: Checkout code\n        uses: actions/checkout@v5\n\n      - name: Setup Node.js\n        uses: actions/setup-node@v4\n        with:\n          node-version: 20\n\n      - name: Install dependencies\n        run: npm install --include=dev\n\n      - name: Run ESLint with reviewdog (GitHub Checks)\n        uses: reviewdog/action-eslint@v1\n        with:\n          eslint_flags: '.'\n          reporter: github-pr-check\n          fail_level: error\n          level: error\n          tool_name: ESLint PR code\n"
  },
  {
    "path": ".github/workflows/pr-check-build-size.yml",
    "content": "name: Calculate PR build size\non:\n  pull_request_target:\n    types: [opened, reopened, synchronize]\n    paths:\n      - 'boot/**'\n      - 'core/**'\n      - 'themes/tiddlywiki/snowwhite/**'\n      - 'themes/tiddlywiki/vanilla/**'\n\njobs:\n  calculate-build-size:\n    runs-on: ubuntu-latest\n    permissions:\n      pull-requests: read\n      contents: read\n    outputs:\n      pr_size: ${{ steps.get_sizes.outputs.pr_size }}\n      base_size: ${{ steps.get_sizes.outputs.base_size }}\n    steps:\n    - name: build-size-check\n      id: get_sizes\n      uses: TiddlyWiki/cerebrus@v7\n      with:\n        pr_number: ${{ github.event.pull_request.number }}\n        repo: ${{ github.repository }}\n        base_ref: ${{ github.event.pull_request.base.ref }}\n        github_token: ${{ secrets.GITHUB_TOKEN }}\n        mode: size:calc\n\n  dispatch-followup:\n    needs: calculate-build-size\n    runs-on: ubuntu-latest\n    permissions:\n      actions: write  # Required to dispatch another workflow\n      pull-requests: write\n      contents: read\n    steps:\n    - name: Trigger follow-up workflow\n      uses: actions/github-script@v6\n      with:\n        github-token: ${{ secrets.GITHUB_TOKEN }}\n        script: |\n          await github.rest.actions.createWorkflowDispatch({\n            owner: context.repo.owner,\n            repo: context.repo.repo,\n            workflow_id: 'pr-comment-build-size.yml',\n            ref: 'master',\n            inputs: {\n              pr_number: '${{ github.event.pull_request.number }}',\n              base_ref: '${{ github.event.pull_request.base.ref }}',\n              pr_size: '${{ needs.calculate-build-size.outputs.pr_size }}',\n              base_size: '${{ needs.calculate-build-size.outputs.base_size }}'\n            }\n          });"
  },
  {
    "path": ".github/workflows/pr-comment-build-size.yml",
    "content": "name: Comment on PR build size (Trusted workflow)\n\non:\n  workflow_dispatch:\n    inputs:\n      pr_number:\n        required: true\n        type: string\n      base_ref:\n        required: true\n        type: string\n      pr_size:\n        required: true\n        type: string\n      base_size:\n        required: true\n        type: string\n\njobs:\n  comment-on-pr:\n    runs-on: ubuntu-latest\n    permissions:\n      pull-requests: write\n      contents: read\n\n    steps:\n    - name: Build and check size\n      uses: TiddlyWiki/cerebrus@v7\n      with:\n        pr_number: ${{ inputs.pr_number }}\n        repo: ${{ github.repository }}\n        base_ref: ${{ inputs.base_ref }}\n        github_token: ${{ secrets.GITHUB_TOKEN }}\n        mode: size:comment\n        pr_size: ${{ inputs.pr_size }}\n        base_size: ${{ inputs.base_size }}\n"
  },
  {
    "path": ".github/workflows/pr-validation.yml",
    "content": "name: PR Validation\n\non:\n  pull_request_target:\n    types: [opened, reopened, synchronize]\n\npermissions:\n  contents: read\n  pull-requests: write\n  issues: write\njobs:\n  validate-pr:\n    runs-on: ubuntu-latest\n\n    steps:\n    # Step 1: Validate PR paths\n    - name: Validate PR Paths\n      uses: TiddlyWiki/cerebrus@v6\n      with:\n        pr_number: ${{ github.event.pull_request.number }}\n        repo: ${{ github.repository }}\n        base_ref: ${{ github.event.pull_request.base.ref }}\n        github_token: ${{ secrets.GITHUB_TOKEN }}\n        mode: rules\n      continue-on-error: true\n    \n    # Step 2: Validate change notes\n    - name: Validate Change Notes\n      uses: TiddlyWiki/cerebrus@v7\n      with:\n        pr_number: ${{ github.event.pull_request.number }}\n        repo: ${{ github.repository }}\n        base_ref: ${{ github.event.pull_request.base.ref }}\n        github_token: ${{ secrets.GITHUB_TOKEN }}\n        mode: changenotes\n      continue-on-error: false\n\n"
  },
  {
    "path": ".gitignore",
    "content": ".DS_Store\n.c9/\n.vs/\n.vscode/\n.claude/\ntmp/\noutput/\nnode_modules/\n/test-results/\n/playwright-report/\n/playwright/.cache/\n$__StoryList.tid\n"
  },
  {
    "path": ".jshintignore",
    "content": "plugins/tiddlywiki/browser-sniff/files\nplugins/tiddlywiki/codemirror/files/\nplugins/tiddlywiki/d3/files/\nplugins/tiddlywiki/highlight/files/\nplugins/tiddlywiki/jasmine/files/\nplugins/tiddlywiki/markdown/files/\nplugins/tiddlywiki/markdown/files/\nnode_modules/\n"
  },
  {
    "path": ".npmignore",
    "content": ".DS_Store\n.c9/\ntmp/\noutput/\nnode_modules/\n"
  },
  {
    "path": "bin/build-site.sh",
    "content": "#!/bin/bash\n\n# Build all tiddlywiki.com assets.\n\n# Default to the current version number for building the plugin library\n\nif [  -z \"$TW5_BUILD_VERSION\" ]; then\n    TW5_BUILD_VERSION=v5.4.0\nfi\n\necho \"Using TW5_BUILD_VERSION as [$TW5_BUILD_VERSION]\"\n\n# Default to using tw5.com as the main edition for /index.html\n\nif [  -z \"$TW5_BUILD_MAIN_EDITION\" ]; then\n    TW5_BUILD_MAIN_EDITION=./editions/tw5.com\nfi\n\necho \"Using TW5_BUILD_MAIN_EDITION as [$TW5_BUILD_MAIN_EDITION]\"\n\n# Default to the version of TiddlyWiki installed in this repo\n\nif [  -z \"$TW5_BUILD_TIDDLYWIKI\" ]; then\n    TW5_BUILD_TIDDLYWIKI=./tiddlywiki.js\nfi\n\necho \"Using TW5_BUILD_TIDDLYWIKI as [$TW5_BUILD_TIDDLYWIKI]\"\n\n# Set up the build details\n\nif [  -z \"$TW5_BUILD_DETAILS\" ]; then\n    TW5_BUILD_DETAILS=\"$(git symbolic-ref --short HEAD)-$(git rev-parse HEAD) from $(git remote get-url origin)\"\nfi\n\necho \"Using TW5_BUILD_DETAILS as [$TW5_BUILD_DETAILS]\"\n\nif [  -z \"$TW5_BUILD_COMMIT\" ]; then\n\tTW5_BUILD_COMMIT=\"$(git rev-parse HEAD)\"\nfi\n\necho \"Using TW5_BUILD_COMMIT as [$TW5_BUILD_COMMIT]\"\n\n# Set up the build output directory\n\nif [  -z \"$TW5_BUILD_OUTPUT\" ]; then\n    TW5_BUILD_OUTPUT=./output\nfi\n\nmkdir -p $TW5_BUILD_OUTPUT\n\nif [  ! -d \"$TW5_BUILD_OUTPUT\" ]; then\n    echo 'A valid TW5_BUILD_OUTPUT environment variable must be set'\n    exit 1\nfi\n\necho \"Using TW5_BUILD_OUTPUT as [$TW5_BUILD_OUTPUT]\"\n\necho \"Build details: $TW5_BUILD_DETAILS\"\n\n# Make the CNAME file that GitHub Pages requires\n\necho \"tiddlywiki.com\" > $TW5_BUILD_OUTPUT/CNAME\n\n# Delete any existing static content\n\nmkdir -p $TW5_BUILD_OUTPUT/static\nmkdir -p $TW5_BUILD_OUTPUT/dev\nmkdir -p $TW5_BUILD_OUTPUT/dev/static\nrm $TW5_BUILD_OUTPUT/static/*\nrm $TW5_BUILD_OUTPUT/dev/static/*\n\n# Redirects\n\necho \"<a href='./plugins/tiddlywiki/tw2parser/index.html'>Moved to http://tiddlywiki.com/plugins/tiddlywiki/tw2parser/index.html</a>\" > $TW5_BUILD_OUTPUT/classicparserdemo.html\necho \"<a href='./plugins/tiddlywiki/codemirror/index.html'>Moved to http://tiddlywiki.com/plugins/tiddlywiki/codemirror/index.html</a>\" > $TW5_BUILD_OUTPUT/codemirrordemo.html\necho \"<a href='./plugins/tiddlywiki/highlight/index.html'>Moved to http://tiddlywiki.com/plugins/tiddlywiki/highlight/index.html</a>\" > $TW5_BUILD_OUTPUT/highlightdemo.html\necho \"<a href='./plugins/tiddlywiki/markdown/index.html'>Moved to http://tiddlywiki.com/plugins/tiddlywiki/markdown/index.html</a>\" > $TW5_BUILD_OUTPUT/markdowndemo.html\n\n# Put the build details into a .tid file so that it can be included in each build (deleted at the end of this script)\n\necho -e -n \"title: $:/build\\ncommit: $TW5_BUILD_COMMIT\\n\\n$TW5_BUILD_DETAILS\\n\" > $TW5_BUILD_OUTPUT/build.tid\n\n######################################################\n#\n# Core distributions\n#\n######################################################\n\n# Conditionally build archive if $TW5_BUILD_ARCHIVE variable is set, otherwise do nothing\n#\n# /archive/Empty-TiddlyWiki-<version>.html\tEmpty archived version\n# /archive/TiddlyWiki-<version>.html\t\tFull archived version\n\nif [ -n \"$TW5_BUILD_ARCHIVE\" ]; then\n\nnode $TW5_BUILD_TIDDLYWIKI \\\n\t$TW5_BUILD_MAIN_EDITION \\\n\t--version \\\n\t--load $TW5_BUILD_OUTPUT/build.tid \\\n\t--output $TW5_BUILD_ARCHIVE \\\n\t--build archive \\\n\t|| exit 1\nfi\n\n# /index.html\t\t\tMain site\n# /external-(version).html External core version of main site\n# /favicon.ico\t\t\tFavicon for main site\n# /static.html\t\t\tStatic rendering of default tiddlers\n# /alltiddlers.html\t\tStatic rendering of all tiddlers\n# /static/*\t\t\t\tStatic single tiddlers\n# /static/static.css\tStatic stylesheet\n# /static/favicon.ico\tFavicon for static pages\n\nnode $TW5_BUILD_TIDDLYWIKI \\\n\t$TW5_BUILD_MAIN_EDITION \\\n\t--version \\\n\t--load $TW5_BUILD_OUTPUT/build.tid \\\n\t--output $TW5_BUILD_OUTPUT \\\n\t--build favicon static index external-js \\\n\t|| exit 1\n\n# /empty.html\t\t\t\t\tEmpty\n# /empty-external-core.html\t\tExternal core empty\n# /tiddlywikicore-<version>.js\tCore plugin javascript\nnode $TW5_BUILD_TIDDLYWIKI \\\n\t./editions/empty \\\n\t--output $TW5_BUILD_OUTPUT \\\n\t--build empty emptyexternalcore \\\n\t|| exit 1\n\n\n# /test.html\t\t\tTest edition\nnode $TW5_BUILD_TIDDLYWIKI \\\n\t./editions/test \\\n\t--output $TW5_BUILD_OUTPUT \\\n\t--rendertiddler $:/core/save/all test.html text/plain \\\n\t|| exit 1\n\n# /dev/index.html\t\t\tDeveloper docs\n# /dev/favicon.ico\t\t\tFavicon for dev site\n# /dev/static.html\t\t\tStatic rendering of default tiddlers\n# /dev/alltiddlers.html\t\tStatic rendering of all tiddlers\n# /dev/static/*\t\t\t\tStatic single tiddlers\n# /dev/static/static.css\tStatic stylesheet\nnode $TW5_BUILD_TIDDLYWIKI \\\n\t./editions/dev \\\n\t--load $TW5_BUILD_OUTPUT/build.tid \\\n\t--output $TW5_BUILD_OUTPUT/dev \\\n\t--build index favicon static \\\n\t|| exit 1\n\n# /tour.html\t\t\ttour edition\nnode $TW5_BUILD_TIDDLYWIKI \\\n\t./editions/tour \\\n\t--output $TW5_BUILD_OUTPUT \\\n\t--rendertiddler $:/core/save/all-external-js tour.html text/plain \\\n\t|| exit 1\n\n# /surveys.html\t\t\tsurveys edition\nnode $TW5_BUILD_TIDDLYWIKI \\\n\t./editions/tiddlywiki-surveys \\\n\t--output $TW5_BUILD_OUTPUT \\\n\t--build index \\\n\t|| exit 1\n\n# /share.html\t\t\t\tCustom edition for sharing via the URL\nnode $TW5_BUILD_TIDDLYWIKI \\\n\t./editions/share \\\n\t--load $TW5_BUILD_OUTPUT/build.tid \\\n\t--output $TW5_BUILD_OUTPUT \\\n\t--build share \\\n\t|| exit 1\n\n# /upgrade.html\t\t\t\tCustom edition for performing upgrades\nnode $TW5_BUILD_TIDDLYWIKI \\\n\t./editions/upgrade \\\n\t--load $TW5_BUILD_OUTPUT/build.tid \\\n\t--output $TW5_BUILD_OUTPUT \\\n\t--build upgrade \\\n\t|| exit 1\n\n# /encrypted.html\t\t\tCopy of the main file encrypted with the password \"password\"\nnode $TW5_BUILD_TIDDLYWIKI \\\n\t$TW5_BUILD_MAIN_EDITION \\\n\t--load $TW5_BUILD_OUTPUT/build.tid \\\n\t--output $TW5_BUILD_OUTPUT \\\n\t--build encrypted \\\n\t|| exit 1\n\n\n######################################################\n#\n# Editions\n#\n######################################################\n\n# /editions/xlsx-utils/index.html\txlsx-utils edition\nnode $TW5_BUILD_TIDDLYWIKI \\\n\t./editions/xlsx-utils \\\n\t--load $TW5_BUILD_OUTPUT/build.tid \\\n\t--output $TW5_BUILD_OUTPUT/editions/xlsx-utils/ \\\n\t--build external \\\n\t|| exit 1\n\n# /editions/resumebuilder/index.html\tResume builder edition\nnode $TW5_BUILD_TIDDLYWIKI \\\n\t./editions/resumebuilder \\\n\t--load $TW5_BUILD_OUTPUT/build.tid \\\n\t--output $TW5_BUILD_OUTPUT/editions/resumebuilder/ \\\n\t--build index \\\n\t|| exit 1\n\n# /editions/text-slicer/index.html\tText slicer edition\nnode $TW5_BUILD_TIDDLYWIKI \\\n\t./editions/text-slicer \\\n\t--load $TW5_BUILD_OUTPUT/build.tid \\\n\t--output $TW5_BUILD_OUTPUT/editions/text-slicer/ \\\n\t--build external \\\n\t|| exit 1\n\n# /editions/translators/index.html\tTranslators edition\nnode $TW5_BUILD_TIDDLYWIKI \\\n\t./editions/translators \\\n\t--load $TW5_BUILD_OUTPUT/build.tid \\\n\t--output $TW5_BUILD_OUTPUT/editions/translators/ \\\n\t--build index \\\n\t|| exit 1\n\n# /editions/introduction/index.html\tIntroduction edition\nnode $TW5_BUILD_TIDDLYWIKI \\\n\t./editions/introduction \\\n\t--load $TW5_BUILD_OUTPUT/build.tid \\\n\t--output $TW5_BUILD_OUTPUT/editions/introduction/ \\\n\t--build index \\\n\t|| exit 1\n\n# /editions/full/index.html\tFull edition\nnode $TW5_BUILD_TIDDLYWIKI \\\n\t./editions/full \\\n\t--load $TW5_BUILD_OUTPUT/build.tid \\\n\t--output $TW5_BUILD_OUTPUT/editions/full/ \\\n\t--build index \\\n\t|| exit 1\n\n# /editions/tw5.com-docs/index.html\ttiddlywiki.com docs edition\nnode $TW5_BUILD_TIDDLYWIKI \\\n\t./editions/tw5.com-docs \\\n\t--load $TW5_BUILD_OUTPUT/build.tid \\\n\t--output $TW5_BUILD_OUTPUT/editions/tw5.com-docs/ \\\n\t--build external \\\n\t|| exit 1\n\n# /editions/twitter-archivist/index.html\tTwitter Archivist edition\nnode $TW5_BUILD_TIDDLYWIKI \\\n\t./editions/twitter-archivist \\\n\t--load $TW5_BUILD_OUTPUT/build.tid \\\n\t--output $TW5_BUILD_OUTPUT/editions/twitter-archivist/ \\\n\t--build index \\\n\t|| exit 1\n\n######################################################\n#\n# Plugin demos\n#\n######################################################\n\n# /plugins/tiddlywiki/innerwiki/index.html\tDemo wiki with Innerwiki plugin\n\nnode $TW5_BUILD_TIDDLYWIKI \\\n\t./editions/innerwikidemo \\\n\t--load $TW5_BUILD_OUTPUT/build.tid \\\n\t--output $TW5_BUILD_OUTPUT \\\n\t--rendertiddler $:/core/save/all-external-js plugins/tiddlywiki/innerwiki/index.html text/plain \\\n\t|| exit 1\n\n# /plugins/tiddlywiki/dynaview/index.html\tDemo wiki with DynaView plugin\n# /plugins/tiddlywiki/dynaview/empty.html\tEmpty wiki with DynaView plugin\n\nnode $TW5_BUILD_TIDDLYWIKI \\\n\t./editions/dynaviewdemo \\\n\t--load $TW5_BUILD_OUTPUT/build.tid \\\n\t--output $TW5_BUILD_OUTPUT \\\n\t--rendertiddler $:/core/save/all-external-js plugins/tiddlywiki/dynaview/index.html text/plain \\\n\t--rendertiddler $:/core/save/empty plugins/tiddlywiki/dynaview/empty.html text/plain \\\n\t|| exit 1\n\n# /plugins/tiddlywiki/katex/index.html\tDemo wiki with KaTeX plugin\n# /plugins/tiddlywiki/katex/empty.html\tEmpty wiki with KaTeX plugin\n\n# TODO: Build the static file with the release of 5.1.3\n#\t--rendertiddler $:/core/templates/static.template.html plugins/tiddlywiki/katex/static.html text/plain \\\n\nnode $TW5_BUILD_TIDDLYWIKI \\\n\t./editions/katexdemo \\\n\t--load $TW5_BUILD_OUTPUT/build.tid \\\n\t--output $TW5_BUILD_OUTPUT \\\n\t--rendertiddler $:/core/save/all-external-js plugins/tiddlywiki/katex/index.html text/plain \\\n\t--rendertiddler $:/core/save/empty plugins/tiddlywiki/katex/empty.html text/plain \\\n\t|| exit 1\n\n# /plugins/tiddlywiki/codemirror/index.html\tDemo wiki with codemirror plugin\n# /plugins/tiddlywiki/codemirror/empty.html\tEmpty wiki with codemirror plugin\nnode $TW5_BUILD_TIDDLYWIKI \\\n\t./editions/codemirrordemo \\\n\t--load $TW5_BUILD_OUTPUT/build.tid \\\n\t--output $TW5_BUILD_OUTPUT \\\n\t--rendertiddler $:/core/save/all-external-js plugins/tiddlywiki/codemirror/index.html text/plain \\\n\t--rendertiddler $:/core/save/empty plugins/tiddlywiki/codemirror/empty.html text/plain \\\n\t|| exit 1\n\n# /plugins/tiddlywiki/markdown/index.html\t\tDemo wiki with Markdown plugin\n# /plugins/tiddlywiki/markdown/empty.html\t\tEmpty wiki with Markdown plugin\nnode $TW5_BUILD_TIDDLYWIKI \\\n\t./editions/markdowndemo \\\n\t--load $TW5_BUILD_OUTPUT/build.tid \\\n\t--output $TW5_BUILD_OUTPUT \\\n\t--rendertiddler $:/core/save/all-external-js plugins/tiddlywiki/markdown/index.html text/plain \\\n\t--rendertiddler $:/core/save/empty plugins/tiddlywiki/markdown/empty.html text/plain \\\n\t|| exit 1\n\n# /plugins/tiddlywiki/tw2parser/index.html\t\tDemo wiki with tw2parser plugin\n# /plugins/tiddlywiki/tw2parser/empty.html\t\tEmpty wiki with tw2parser plugin\nnode $TW5_BUILD_TIDDLYWIKI \\\n\t./editions/classicparserdemo \\\n\t--load $TW5_BUILD_OUTPUT/build.tid \\\n\t--output $TW5_BUILD_OUTPUT \\\n\t--rendertiddler $:/core/save/all-external-js plugins/tiddlywiki/tw2parser/index.html text/plain \\\n\t--rendertiddler $:/core/save/empty plugins/tiddlywiki/tw2parser/empty.html text/plain \\\n\t|| exit 1\n\n# /plugins/tiddlywiki/highlight/index.html\t\tDemo wiki with highlight plugin\n# /plugins/tiddlywiki/highlight/empty.html\t\tEmpty wiki with highlight plugin\nnode $TW5_BUILD_TIDDLYWIKI \\\n\t./editions/highlightdemo \\\n\t--load $TW5_BUILD_OUTPUT/build.tid \\\n\t--output $TW5_BUILD_OUTPUT \\\n\t--rendertiddler $:/core/save/all-external-js plugins/tiddlywiki/highlight/index.html text/plain \\\n\t--rendertiddler $:/core/save/empty plugins/tiddlywiki/highlight/empty.html text/plain \\\n\t|| exit 1\n\n# /plugins/tiddlywiki/geospatial/index.html\t\tDemo wiki with geospatial plugin\n# /plugins/tiddlywiki/geospatial/empty.html\t\tEmpty wiki with geospatial plugin\nnode $TW5_BUILD_TIDDLYWIKI \\\n\t./editions/geospatialdemo \\\n\t--load $TW5_BUILD_OUTPUT/build.tid \\\n\t--output $TW5_BUILD_OUTPUT \\\n\t--rendertiddler $:/core/save/all-external-js plugins/tiddlywiki/geospatial/index.html text/plain \\\n\t--rendertiddler $:/core/save/empty plugins/tiddlywiki/geospatial/empty.html text/plain \\\n\t|| exit 1\n\n######################################################\n#\n# Language editions\n#\n######################################################\n\n# Delete any existing static content\n\nrm -rf $TW5_BUILD_OUTPUT/languages/de-AT/static/*\nrm -rf $TW5_BUILD_OUTPUT/languages/de-DE/static/*\nrm -rf $TW5_BUILD_OUTPUT/languages/es-ES/static/*\nrm -rf $TW5_BUILD_OUTPUT/languages/fr-FR/static/*\nrm -rf $TW5_BUILD_OUTPUT/languages/ja-JP/static/*\nrm -rf $TW5_BUILD_OUTPUT/languages/ko-KR/static/*\nrm -rf $TW5_BUILD_OUTPUT/languages/zh-Hans/static/*\nrm -rf $TW5_BUILD_OUTPUT/languages/zh-Hant/static/*\n\n# /languages/de-AT/index.html\t\tDemo wiki with de-AT language\n# /languages/de-AT/empty.html\t\tEmpty wiki with de-AT language\nnode $TW5_BUILD_TIDDLYWIKI \\\n\t./editions/de-AT \\\n\t--load $TW5_BUILD_OUTPUT/build.tid \\\n\t--output $TW5_BUILD_OUTPUT/languages/de-AT \\\n\t--build favicon empty static index \\\n\t|| exit 1\n\n# /languages/de-DE/index.html\t\tDemo wiki with de-DE language\n# /languages/de-DE/empty.html\t\tEmpty wiki with de-DE language\nnode $TW5_BUILD_TIDDLYWIKI \\\n\t./editions/de-DE \\\n\t--load $TW5_BUILD_OUTPUT/build.tid \\\n\t--output $TW5_BUILD_OUTPUT/languages/de-DE \\\n\t--build favicon empty static index \\\n\t|| exit 1\n\n# /languages/es-ES/index.html\t\tDemo wiki with es-ES language\n# /languages/es-ES/empty.html\t\tEmpty wiki with es-ES language\nnode $TW5_BUILD_TIDDLYWIKI \\\n\t./editions/es-ES \\\n\t--load $TW5_BUILD_OUTPUT/build.tid \\\n\t--output $TW5_BUILD_OUTPUT/languages/es-ES \\\n\t--build favicon empty static index \\\n\t|| exit 1\n\n# /languages/fr-FR/index.html\t\tDemo wiki with fr-FR language\n# /languages/fr-FR/empty.html\t\tEmpty wiki with fr-FR language\nnode $TW5_BUILD_TIDDLYWIKI \\\n\t./editions/fr-FR \\\n\t--load $TW5_BUILD_OUTPUT/build.tid \\\n\t--output $TW5_BUILD_OUTPUT/languages/fr-FR \\\n\t--build favicon empty static index \\\n\t|| exit 1\n\n# /languages/ja-JP/index.html\t\tDemo wiki with ja-JP language\n# /languages/ja-JP/empty.html\t\tEmpty wiki with ja-JP language\nnode $TW5_BUILD_TIDDLYWIKI \\\n\t./editions/ja-JP \\\n\t--load $TW5_BUILD_OUTPUT/build.tid \\\n\t--output $TW5_BUILD_OUTPUT/languages/ja-JP \\\n\t--build empty index \\\n\t|| exit 1\n\n# /languages/ko-KR/index.html\t\tDemo wiki with ko-KR language\n# /languages/ko-KR/empty.html\t\tEmpty wiki with ko-KR language\nnode $TW5_BUILD_TIDDLYWIKI \\\n\t./editions/ko-KR \\\n\t--load $TW5_BUILD_OUTPUT/build.tid \\\n\t--output $TW5_BUILD_OUTPUT/languages/ko-KR \\\n\t--build favicon empty static index \\\n\t|| exit 1\n\n# /languages/zh-Hans/index.html\t\tDemo wiki with zh-Hans language\n# /languages/zh-Hans/empty.html\t\tEmpty wiki with zh-Hans language\nnode $TW5_BUILD_TIDDLYWIKI \\\n\t./editions/zh-Hans \\\n\t--load $TW5_BUILD_OUTPUT/build.tid \\\n\t--output $TW5_BUILD_OUTPUT/languages/zh-Hans \\\n\t--build empty index \\\n\t|| exit 1\n\n# /languages/zh-Hant/index.html\t\tDemo wiki with zh-Hant language\n# /languages/zh-Hant/empty.html\t\tEmpty wiki with zh-Hant language\nnode $TW5_BUILD_TIDDLYWIKI \\\n\t./editions/zh-Hant \\\n\t--load $TW5_BUILD_OUTPUT/build.tid \\\n\t--output $TW5_BUILD_OUTPUT/languages/zh-Hant \\\n\t--build empty index \\\n\t|| exit 1\n\n######################################################\n#\n# Plugin library\n#\n######################################################\n\nnode $TW5_BUILD_TIDDLYWIKI \\\n\t./editions/pluginlibrary \\\n\t--load $TW5_BUILD_OUTPUT/build.tid \\\n\t--output $TW5_BUILD_OUTPUT/library/$TW5_BUILD_VERSION \\\n\t--build library\\\n\t|| exit 1\n\n# Delete the temporary build tiddler\n\nrm $TW5_BUILD_OUTPUT/build.tid || exit 1\n"
  },
  {
    "path": "bin/build-tw-org.sh",
    "content": "#!/bin/bash\n\n# Build tiddlywiki.org assets.\n\n# Default to the version of TiddlyWiki installed in this repo\n\nif [  -z \"$TWORG_BUILD_TIDDLYWIKI\" ]; then\n    TWORG_BUILD_TIDDLYWIKI=./tiddlywiki.js\nfi\n\necho \"Using TWORG_BUILD_TIDDLYWIKI as [$TWORG_BUILD_TIDDLYWIKI]\"\n\n# Set up the build details\n\nif [  -z \"$TWORG_BUILD_DETAILS\" ]; then\n    TWORG_BUILD_DETAILS=\"$(git symbolic-ref --short HEAD)-$(git rev-parse HEAD) from $(git remote get-url origin)\"\nfi\n\necho \"Using TWORG_BUILD_DETAILS as [$TWORG_BUILD_DETAILS]\"\n\nif [  -z \"$TWORG_BUILD_COMMIT\" ]; then\n\tTWORG_BUILD_COMMIT=\"$(git rev-parse HEAD)\"\nfi\n\necho \"Using TWORG_BUILD_COMMIT as [$TWORG_BUILD_COMMIT]\"\n\n# Set up the build output directory\n\nif [  -z \"$TWORG_BUILD_OUTPUT\" ]; then\n    TWORG_BUILD_OUTPUT=$(mktemp -d)\nfi\n\nmkdir -p $TWORG_BUILD_OUTPUT\n\nif [  ! -d \"$TWORG_BUILD_OUTPUT\" ]; then\n    echo 'A valid TWORG_BUILD_OUTPUT environment variable must be set'\n    exit 1\nfi\n\necho \"Using TWORG_BUILD_OUTPUT as [$TWORG_BUILD_OUTPUT]\"\n\n# Pull existing GitHub pages content\n\ngit clone --depth=1 --branch=main \"https://github.com/TiddlyWiki/tiddlywiki.org-gh-pages.git\" $TWORG_BUILD_OUTPUT\n\n# Make the CNAME file that GitHub Pages requires\n\necho \"tiddlywiki.org\" > $TWORG_BUILD_OUTPUT/CNAME\n\n# Delete any existing static content\n\nmkdir -p $TWORG_BUILD_OUTPUT/static\nrm $TWORG_BUILD_OUTPUT/static/*\n\n# Put the build details into a .tid file so that it can be included in each build (deleted at the end of this script)\n\necho -e -n \"title: $:/build\\ncommit: $TWORG_BUILD_COMMIT\\n\\n$TWORG_BUILD_DETAILS\\n\" > $TWORG_BUILD_OUTPUT/build.tid\n\n######################################################\n#\n# tiddlywiki.org distribution\n#\n######################################################\n\n# /index.html\t\t\tMain site\n# /favicon.ico\t\t\tFavicon for main site\n# /static.html\t\t\tStatic rendering of default tiddlers\n# /alltiddlers.html\t\tStatic rendering of all tiddlers\n# /static/*\t\t\t\tStatic single tiddlers\n# /static/static.css\tStatic stylesheet\n# /static/favicon.ico\tFavicon for static pages\nnode $TWORG_BUILD_TIDDLYWIKI \\\n\teditions/tw.org \\\n\t--verbose \\\n\t--version \\\n\t--load $TWORG_BUILD_OUTPUT/build.tid \\\n\t--output $TWORG_BUILD_OUTPUT \\\n\t--build favicon static index \\\n\t|| exit 1\n\n# Delete the temporary build tiddler\n\nrm $TWORG_BUILD_OUTPUT/build.tid || exit 1\n\n# Push output back to GitHub\n\n# Exit script immediately if any command fails\nset -e\n\npushd $TWORG_BUILD_OUTPUT\ngit config --global user.email \"actions@github.com\"\ngit config --global user.name \"GitHub Actions\"\ngit add -A .\ngit commit --message \"GitHub build: $GITHUB_RUN_NUMBER of $TW5_BUILD_BRANCH ($(date +'%F %T %Z'))\"\ngit remote add deploy \"https://$GH_TOKEN@github.com/TiddlyWiki/tiddlywiki.org-gh-pages.git\" &>/dev/null\ngit push deploy main &>/dev/null\npopd\n"
  },
  {
    "path": "bin/ci-pre-build.sh",
    "content": "#!/bin/bash\n\n# Install latest current release from npm\n# (we need to force because otherwise npm will refuse to install a module of the same name)\n\nnpm --force install tiddlywiki || exit 1\n\n# Pull existing GitHub pages content\n\ngit clone --depth=1 --branch=master \"https://github.com/TiddlyWiki/tiddlywiki.com-gh-pages.git\" output\n"
  },
  {
    "path": "bin/ci-push.sh",
    "content": "#!/bin/bash\n\n# Push output back to GitHub\n\n# Exit script immediately if any command fails\nset -e\n\ncd output\ngit config --global user.email \"actions@github.com\"\ngit config --global user.name \"GitHub Actions\"\ngit add -A .\ngit commit --message \"GitHub build: $GITHUB_RUN_NUMBER of $TW5_BUILD_BRANCH ($(date +'%F %T %Z'))\"\ngit remote add deploy \"https://$GH_TOKEN@github.com/TiddlyWiki/tiddlywiki.com-gh-pages.git\" &>/dev/null\ngit push deploy master &>/dev/null\ncd ..\n"
  },
  {
    "path": "bin/ci-test.sh",
    "content": "#!/bin/bash\n\n# test TiddlyWiki5 for tiddlywiki.com\n\nnode ./tiddlywiki.js \\\n\t./editions/test \\\n\t--verbose \\\n\t--version \\\n\t--rendertiddler $:/core/save/all test.html text/plain \\\n\t--test \\\n\t|| exit 1\n\nnpm install playwright @playwright/test\nnpx playwright install chromium firefox --with-deps\n\nnpx playwright test\n"
  },
  {
    "path": "bin/clean.sh",
    "content": "#!/bin/bash\n\n# Remove any output files\n\nfind . -regex \"^./editions/.*/output/.*\" -delete\n"
  },
  {
    "path": "bin/get-plugin-library-version-number",
    "content": "#!/usr/bin/env node\n\n// Extract raw version number from package.json (without the optional \"-prerelease\" suffix)\n\nif(!process.env[\"TW5_BUILD_TIDDLYWIKI\"]) {\n\tthrow \"TW5_BUILD_TIDDLYWIKI environment variable not set\";\n}\n\nvar fs = require(\"fs\"),\n\tpath = require(\"path\");\n\nvar filename = path.resolve(path.dirname(process.env[\"TW5_BUILD_TIDDLYWIKI\"]),\"./package.json\"),\n\tjson = JSON.parse(fs.readFileSync(filename,\"utf8\"));\n\nif(!json.version) {\n\tthrow \"Missing version number in package.json\";\n}\n\nprocess.stdout.write(\"v\" + json.version.split(\"-\")[0]);\n"
  },
  {
    "path": "bin/ginsu.cmd",
    "content": "@echo off\n\nrem Split the tiddlers out of a TiddlyWiki file\n\nnode .\\tiddlywiki.js ^\n\t.\\editions\\empty ^\n\t--verbose ^\n\t--load %1 ^\n\t--output tmp ^\n\t--rendertiddlers [!is[system]] $:/core/templates/tid-tiddler ginsu text/plain .tid ^\n\t--rendertiddler $:/core/templates/split-recipe ginsu\\split.recipe text/plain ^\n\t|| exit 1\n"
  },
  {
    "path": "bin/ginsu.sh",
    "content": "#!/bin/bash\n\n# Split the tiddlers out of a TiddlyWiki file\n\nnode ./tiddlywiki.js \\\n\t./editions/empty \\\n\t--verbose \\\n\t--load $1 \\\n\t--output tmp \\\n\t--rendertiddlers [!is[system]] $:/core/templates/tid-tiddler ginsu text/plain .tid \\\n\t--rendertiddler $:/core/templates/split-recipe ginsu/split.recipe text/plain \\\n\t|| exit 1\n"
  },
  {
    "path": "bin/lazy.cmd",
    "content": "@echo off\n\nrem serve TiddlyWiki5 over HTTP with lazily loaded images\n\nrem Optional parameter is the username for signing edits\n\nnode .\\tiddlywiki.js ^\n\teditions\\server ^\n\t--verbose ^\n\t--server 8080 $:/core/save/lazy-images text/plain text/html %1 %2^\n\t|| exit 1\n"
  },
  {
    "path": "bin/lazy.sh",
    "content": "#!/bin/bash\n\n# serve TiddlyWiki5 over HTTP with lazily loaded images\n\n# Optional parameter is the username for signing edits\n\nnode ./tiddlywiki.js \\\n\teditions/tw5.com-server \\\n\t--verbose \\\n\t--server 8080 $:/core/save/lazy-images text/plain text/html $1 $2\\\n\t|| exit 1\n"
  },
  {
    "path": "bin/npm-publish.sh",
    "content": "#!/bin/bash\n\n# publish to npm\n\n./bin/clean.sh\n\nnpm publish || exit 1\n"
  },
  {
    "path": "bin/optimise-svgs.js",
    "content": "#!/usr/bin/env node\n\n/*\nOptimise the SVGs in ./core/images using SVGO from https://github.com/svg/svgo\n\nInstall SVGO with the following command in the root of the repo:\n\nnpm install svgo@2.3.0\n*/\n\n\"use strict\";\n\nvar fs = require(\"fs\"),\n\tpath = require(\"path\"),\n\t{ optimize } = require(\"svgo\"),\n\tconfig = {\n\t\tplugins: [\n\t\t\t\"cleanupAttrs\",\n\t\t\t\"removeDoctype\",\n\t\t\t\"removeXMLProcInst\",\n\t\t\t\"removeComments\",\n\t\t\t\"removeMetadata\",\n\t\t\t\"removeTitle\",\n\t\t\t\"removeDesc\",\n\t\t\t\"removeUselessDefs\",\n\t\t\t\"removeEditorsNSData\",\n\t\t\t\"removeEmptyAttrs\",\n\t\t\t\"removeHiddenElems\",\n\t\t\t\"removeEmptyText\",\n\t\t\t\"removeEmptyContainers\",\n\t\t\t// 'removeViewBox',\n\t\t\t\"cleanupEnableBackground\",\n\t\t\t\"convertStyleToAttrs\",\n\t\t\t\"convertColors\",\n\t\t\t\"convertPathData\",\n\t\t\t\"convertTransform\",\n\t\t\t\"removeUnknownsAndDefaults\",\n\t\t\t\"removeNonInheritableGroupAttrs\",\n\t\t\t\"removeUselessStrokeAndFill\",\n\t\t\t\"removeUnusedNS\",\n\t\t\t\"cleanupIDs\",\n\t\t\t\"cleanupNumericValues\",\n\t\t\t\"moveElemsAttrsToGroup\",\n\t\t\t\"moveGroupAttrsToElems\",\n\t\t\t\"collapseGroups\",\n\t\t\t// 'removeRasterImages',\n\t\t\t\"mergePaths\",\n\t\t\t\"convertShapeToPath\",\n\t\t\t\"sortAttrs\",\n\t\t\t//'removeDimensions',\n\t\t\t{name: \"removeAttrs\", params: { attrs: \"(stroke|fill)\" } }\n\t\t]\n\t};\n\nvar basepath = \"./core/images/\",\n\tfiles = fs.readdirSync(basepath).sort();\n\nfiles.forEach(function(filename) {\n\tif(filename.slice(-4) === \".tid\") {\n\t\tvar filepath = path.resolve(basepath,filename),\n\t\t\tdata = fs.readFileSync(filepath,\"utf8\"),\n\t\t\tlines = data.split(\"\\n\"),\n\t\t\tblankLine = lines.indexOf(\"\"),\n\t\t\theader = lines.slice(0,blankLine),\n\t\t\tbody = lines.slice(blankLine + 1),\n\t\t\tfakeSVG = body.join(\"\\n\");\n\t\t// A hack to make the new-journal-button work\n\t\tfakeSVG = fakeSVG.replace(\"<<now \\\"DD\\\">>\",\"&lt;&lt;now &quot;DD&quot;&gt;&gt;\");\n\t\tconfig.path = filepath;\n\t\tvar result = optimize(fakeSVG,config);\n\t\tif(result) {\n\t\t\tvar newSVG = header.join(\"\\n\") + \"\\n\\n\" + result.data.replace(\"&lt;&lt;now &quot;DD&quot;&gt;&gt;\",\"<<now \\\"DD\\\">>\");\n\t\t\tfs.writeFileSync(filepath,newSVG);\n\t\t} else {\n\t\t\tconsole.log(\"Error \" + err + \" with \" + filename);\n\t\t\tprocess.exit();\n\t\t};\n\t}\n});\n"
  },
  {
    "path": "bin/quick-bld.sh",
    "content": "#!/bin/bash\n\n# Abbreviated build script for building prerelease\n\ntiddlywiki editions/prerelease \\\n\t--verbose \\\n\t--build favicon index empty \\\n\t|| exit 1\n"
  },
  {
    "path": "bin/readme-bld.sh",
    "content": "#!/bin/bash\n\n# Build readmes from corresponding tiddlers\n\n# Default to the version of TiddlyWiki installed in this repo\n\nif [  -z \"$TW5_BUILD_TIDDLYWIKI\" ]; then\n    TW5_BUILD_TIDDLYWIKI=./tiddlywiki.js\nfi\n\n# tw5.com readmes\nnode $TW5_BUILD_TIDDLYWIKI \\\n\teditions/tw5.com \\\n\t--verbose \\\n\t--output . \\\n\t--build readmes \\\n\t|| exit 1\n\n# tw.org readmes\nnode $TW5_BUILD_TIDDLYWIKI \\\n\teditions/tw.org \\\n\t--verbose \\\n\t--output . \\\n\t--build readmes \\\n\t|| exit 1\n"
  },
  {
    "path": "bin/readme.md",
    "content": "<h1 class=\"\">Script Files</h1><p>The <a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/TiddlyWiki5.html\">TiddlyWiki5</a> repository contains several scripts in the <code>bin</code> folder that you can use to automate common tasks, or as a useful starting point for your own scripts. See <a class=\"tc-tiddlylink tc-tiddlylink-missing\" href=\"https://tiddlywiki.com/static/Scripts%2520for%2520building%2520tiddlywiki.com.html\">Scripts for building tiddlywiki.com</a> for details of the scripts used to build and release <a class=\"tc-tiddlylink-external\" href=\"https://tiddlywiki.com/\" rel=\"noopener noreferrer\" target=\"_blank\">https://tiddlywiki.com/</a>.</p><p>All the scripts expect to be run from the root folder of the repository.</p><h2 class=\"\"><code>serve</code>: serves tw5.com</h2><pre><code>./bin/serve.sh -h\n./bin/serve.sh [edition dir] [username] [password] [host] [port]</code></pre><p>Or:</p><pre><code>./bin/serve.cmd -h\n./bin/serve.cmd [edition dir] [username] [password] [host] [port]</code></pre><p>This script starts <a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/TiddlyWiki5.html\">TiddlyWiki5</a> running as an HTTP server, defaulting to the content from the <code>tw5.com-server</code> edition. By default, the Node.js serves on port 8080. If the optional <code>username</code> parameter is provided, it is used for signing edits. If the <code>password</code> is provided then HTTP basic authentication is used. Run the script with the <code>-h</code> parameter to see online help.</p><p>To experiment with this configuration, run the script and then visit <code>http://127.0.0.1:8080</code> in a browser.</p><p>Changes made in the browser propagate to the server over HTTP (use the browser developer console to see these requests). The server then syncs changes to the file system (and logs each change to the screen).</p><h2 class=\"\"><code>test</code>: build and run tests</h2><p>This script runs the <code>test</code> edition of <a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/TiddlyWiki.html\">TiddlyWiki</a> on the server to perform the server-side tests and to build <code>test.html</code> for running the tests in the browser.</p><h2 class=\"\"><code>lazy</code>: serves tw5.com with lazily loaded images</h2><pre><code>./bin/lazy.sh &lt;username&gt; [&lt;password&gt;]</code></pre><p>Or:</p><pre><code>./bin/lazy.cmd &lt;username&gt; [&lt;password&gt;]</code></pre><p>This script serves the <code>tw5.com-server</code> edition content with <a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/LazyLoading.html\">LazyLoading</a> applied to images.\n</p>"
  },
  {
    "path": "bin/serve.cmd",
    "content": ":: This script allows you to serve different TiddlyWiki editions. \n::\n:: It respects a TW_SERVE_EDITION_PATH environment variable.\n:: If this variable is set it will be used. A command line parameter will overwrite it.\n::\n:: Ensure your server tiddlywiki.info configuration contains\n:: these plugins, otherwise saving is not possible:\n::   - \"tiddlywiki/tiddlyweb\"\n::   - \"tiddlywiki/filesystem\"\n\n@echo off\necho.\n\n:: Help Wanted!! \n:: If you know how to improve -help and -version handling let us know\n\nif \"%1\" == \"--help\" call :help\nif \"%1\" == \"-h\" call :help\n\nif \"%1\" == \"--version\" call :version\nif \"%1\" == \"-v\" call :version\n\nif \"%1\" == \"help\" (\n\tcall :help\n) else (\n\tcall :main %1 %2 %3 %4 %5\n)\nexit 0\n\n:version\necho TiddlyWiki serve.cmd script version 0.0.2\"\necho.\nexit 0\ngoto:eof\n\n:help\necho Serve TiddlyWiki over HTTP\necho.\necho Optional parameters\necho  - %%1 .. edition directory\t.. full or relative path to edition directory\necho  - %%2 .. username \t\t.. for signing edits - can be empty like this: '\"\"'\necho  - %%3 .. password \t\t.. can be empty like this: '\"\"'\necho  - %%4 .. IP address or HOST \t.. defaults to localhost\necho  - %%5 .. PORT\t\t\t.. defaults to 8080\necho.\necho Example 1 .\\serve .\\editions\\tw5.com-server username\necho Example 2 .\\serve .\\editions\\tw5.com-server '\"\"' '\"\"' localhost 9090 \necho .. Example 2 defines: empty username, empty password\necho.\necho Help information\necho  -v, --version\t\t.. shows the script version\necho  -h, --help, help\t.. shows this help information\necho.\n\nexit 0\ngoto:eof\n\n:main\nif [%1] NEQ [] (\n\t:: if there is a editions parameter .. use it.\n\tset TW_SERVE_EDITION_PATH=%1\n) else (\n\tif [%TW_SERVE_EDITION_PATH%] == [] (\n\t\techo Please provide an edition path as your first parameter or\n\t\techo define a valid TW_SERVE_EDITION_PATH environment variable.\n\t\techo.\n\t\techo Using default edition path 'editions\\tw5.com-server' because no environment variable is set\n\t\techo.\n\t\tset TW_SERVE_EDITION_PATH= editions\\tw5.com-server\n\t)\n)\n\n:: The editions path must exist!\nif not exist %TW_SERVE_EDITION_PATH%\\nul (\n\techo The Path: \"%TW_SERVE_EDITION_PATH%\" does not exist\n\texit 1\n)\n\nif [%5] == [] (\n\techo Using default port 8080\n\tset PORT=8080\n) else (\n\techo Using port %5\n\tset PORT=%5\n)\n\necho Using edition: %TW_SERVE_EDITION_PATH%\necho.\n\nnode .\\tiddlywiki.js ^\n\t%TW_SERVE_EDITION_PATH% ^\n\t--verbose ^\n\t--server %PORT% $:/core/save/all text/plain text/html %2 %3 %4^\n\t|| exit 1\ngoto:eof\n"
  },
  {
    "path": "bin/serve.sh",
    "content": "#!/bin/bash\n#\n# This script allows you to serve different TiddlyWiki editions.\n#\n# It respects a TW_SERVE_EDITION_PATH environment variable.\n# If this variable is set it will be used. A command line parameter will overwrite it.\n#\n# Ensure your server tiddlywiki.info configuration contains\n# these plugins, otherwise saving is not possible:\n#    - \"tiddlywiki/tiddlyweb\"\n#    - \"tiddlywiki/filesystem\"\n\n# Global settings\n# set -o nounset\t#exit if a variable is not set\nset -o errexit\t#exit on error\n\n# Get command name and path info needed for help text\nARG0=$(basename $0)\n#ARG0DIR=$(dirname $0)\n#[ $ARG0DIR == \".\" ] && ARG0DIR=$PWD\n\n# ---- helper functions ----\nversion () {\n\techo \"$ARG0, TiddlyWiki serve script version 0.0.2\"\n\techo\n}\n\nusage() {\n\tversion\n\techo Usage:$'\\t'$ARG0 [edition dir] [username] [password] [host] [port]\n\techo\n}\n\nhelp() {\n\tusage\n\n\techo Optional parameters\n\techo\n\techo $'\\t'\\$1 .. edition directory .. full or relative path to edition directory\n\techo $'\\t'\\$2 .. username for signing edits - can be empty like this: \\\"\\\"\n\techo $'\\t'\\$3 .. password - can be empty like this: \\\"\\\"\n\techo $'\\t'\\$4 .. IP address or HOST name .. defaults to: localhost\n\techo $'\\t'\\$5 .. PORT .. defaults to: 8080\n\techo\n\techo $'\\t'-v .. Version\n\techo $'\\t'-h .. Help\n\techo\n\techo Example 1 ./serve ./editions/tw5.com-server username\n\techo Example 2 ./serve ./editions/tw5.com-server \\\"\\\" \\\"\\\" localhost 9090\n\techo .. Example 2 defines: empty username, empty password\n\techo\n}\n\n_log () {\n\techo\n\techo \"---> $1\"\n}\n\n# error handling for wrong parameters\nerror() {\n    echo \"$ARG0: $*\" 1>&2\n    exit 1\n}\n\n# start the server\nserve () {\n\t#echo 1:$1 2:$2 3:$3 4:$4 5:$5\n\n\tnode ./tiddlywiki.js \\\n\t\t\"$1\" \\\n\t\t--verbose \\\n\t\t--server \"$5\" $:/core/save/all text/plain text/html \"$2\" \"$3\" \"$4\" \\\n\t\t|| exit 1\n}\n\ncheck_edition_directory () {\n\t# The editions directory must exist and should contain a tiddlywiki.info file\n\tif [ ! -d $TW_SERVE_EDITION_PATH ]; then\n\t\t_log \"Edition directory: '$TW_SERVE_EDITION_PATH' does not exist\"\n\t\texit 1\n\tfi\n}\n\n# --------------------------------------------------\n# command line parameter handler\nwhile getopts vh flag\ndo\n    case \"$flag\" in\n    (h) help; exit 0;;\n    (v) version; exit 0;;\n    (*) help\n\t\terror\n\t\texit 1;;\n    esac\ndone\nshift $(expr $OPTIND - 1)\n\n#----------------------------------------------------\n\n# If no edition parameter is provided, use Jeremy's defaults\nif [ $# -eq 0 ]; then\n\t# check if the edition path environment variable is set. If yes use it.\n\t[ -z $TW_SERVE_EDITION_PATH ] && TW_SERVE_EDITION_PATH=\"./editions/tw5.com-server\"\n\n\t# directory must exist\n\tcheck_edition_directory\n\n\t# serve the default settings.\n\tserve \"$TW_SERVE_EDITION_PATH\" \"\" \"\" localhost 8080\nelse\n\tif [ -z \"$5\" ]; then \n\t\tPORT=8080 \n\telse \n\t\tPORT=$5\n\tfi\n\t\n\t# If the 1st parameter (edition) is set, it has priority.\n\tTW_SERVE_EDITION_PATH=$1\n\n\t# directory must exist\n\tcheck_edition_directory\n\n\tserve \"$TW_SERVE_EDITION_PATH\" \"$2\" \"$3\" \"$4\" $PORT\nfi\n"
  },
  {
    "path": "bin/tankbld.cmd",
    "content": "@echo off\n\nrem build the Tank edition of TiddlyWiki\n\nrem See https://tank.peermore.com\n\nrem Open the tank edition in TW5 and save the template for the main HTML file\n\nnode .\\tiddlywiki.js ^\n\teditions\\tw5tank ^\n\t--verbose ^\n\t--output tmp ^\n\t--rendertiddler $:/core/save/all app.html text/plain ^\n\t|| exit 1\n\nrem Prepend the type information that TiddlyWeb needs to turn the .html file into a .tid file\n\necho \"type: text/html\" > tmp\\app.txt\necho \"\" >> tmp\\app.txt\ntype tmp\\app.html >> tmp\\app.txt\n"
  },
  {
    "path": "bin/tankbld.sh",
    "content": "#!/bin/bash\n\n# build the Tank edition of TiddlyWiki\n\n# See https://tank.peermore.com\n\n# Open the tank edition in TW5 and save the template for the main HTML file\n\nnode ./tiddlywiki.js \\\n\teditions/tw5tank \\\n\t--verbose \\\n\t--output tmp \\\n\t--rendertiddler $:/core/save/all app.html text/plain \\\n\t|| exit 1\n\n# Prepend the type information that TiddlyWeb needs to turn the .html file into a .tid file\n\necho \"type: text/html\" > tmp/app.txt\necho \"\" >> tmp/app.txt\ncat tmp/app.html >> tmp/app.txt\n"
  },
  {
    "path": "bin/test.cmd",
    "content": "@echo off\n\nrem test TiddlyWiki5 for tiddlywiki.com\n\nrem Run the test edition to run the node.js tests and to generate test.html for tests in the browser\n\nnode .\\tiddlywiki.js ^\n\t.\\editions\\test ^\n\t--verbose ^\n\t--rendertiddler $:/core/save/all test.html text/plain ^\n\t|| exit 1\n"
  },
  {
    "path": "bin/test.sh",
    "content": "#!/bin/bash\n\n# test TiddlyWiki5 for tiddlywiki.com\n\n# Run the test edition to run the node.js tests and to generate test.html for tests in the browser\n\nnode ./tiddlywiki.js \\\n\t./editions/test \\\n\t--verbose \\\n\t--version \\\n\t--rendertiddler $:/core/save/all test.html text/plain \\\n\t--test \\\n\t|| exit 1\n\necho To run the tests in a browser, open \"editions/test/output/test.html\"\n"
  },
  {
    "path": "bin/update-translation-from-html-file.sh",
    "content": "#!/bin/bash\n\n# Process translation updates made via the translators edition\n\n# ./bin/update-translation-from-html-file.sh <language-code> <path-to-html-file>\n\n# Assign and check parameters \n\nLANGUAGE_CODE=$1 \nHTML_FILE_PATH=$2\n\nif [ -z \"$LANGUAGE_CODE\" ]; then\n\techo \"Missing parameter: language code\"\n\texit 1\nfi\n\nif [ -z \"$HTML_FILE_PATH\" ]; then\n\techo \"Missing parameter: path to HTML file\"\n\texit 1\nfi\n\n./tiddlywiki.js editions/translators/ --verbose --unpackplugin $:/languages/$LANGUAGE_CODE --load $HTML_FILE_PATH --build output-files || exit 1\n\ncp -R ./editions/translators/output/language/. ./languages/$LANGUAGE_CODE/ || exit 1\n\n"
  },
  {
    "path": "bin/verbump.sh",
    "content": "#!/bin/bash\n\n# Bump to a new version number\n\nif [ -z \"$1\" ]\n  then\n    echo \"Missing version (eg '5.1.38-prerelease')\"\n    exit 1\nfi\n\n# Set the new version number (will also commit and tag the release)\n\nnpm version $1 -m \"Version number update for $1\" || exit 1\n\n# Make sure our tags are pushed to the origin server\n\ngit push origin --tags || exit 1\n"
  },
  {
    "path": "boot/boot.css.tid",
    "content": "title: $:/boot/boot.css\ntype: text/css\n\n/*\nBasic styles used before we boot up the parsing engine\n*/\n\n/*\nError message and password prompt\n*/\n\n.tc-error-form {\n\tfont-family: sans-serif;\n\tcolor: #fff;\n\tz-index: 20000;\n\tposition: fixed;\n\tbackground-color: rgb(255, 75, 75);\n\tborder: 8px solid rgb(255, 0, 0);\n\tborder-radius: 8px;\n\twidth: 50%;\n\tmargin-left: 25%;\n\tmargin-top: 4em;\n\tpadding: 0 2em 1em 2em;\n}\n\n.tc-error-form h1 {\n\ttext-align: center;\n}\n\n.tc-error-prompt {\n\ttext-align: center;\n\tcolor: #000;\n}\n\n.tc-error-message {\n\toverflow: auto;\n\tmax-height: 40em;\n\tpadding-right: 1em;\n\tmargin: 1em 0;\n\twhite-space: pre-line;\n}\n\n.tc-password-wrapper {\n    font-family: sans-serif;\n\tz-index: 20000;\n\tposition: fixed;\n\ttext-align: center;\n\twidth: 200px;\n\ttop: 4em;\n\tleft: 50%;\n\tmargin-left: -144px; /* - width/2 - paddingHorz/2 - border */\n\tpadding: 16px 16px 16px 16px;\n\tborder-radius: 8px;\n}\n\n.tc-password-wrapper {\n\tcolor: #000;\n\ttext-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);\n\tbackground-color: rgb(197, 235, 183);\n\tborder: 8px solid rgb(164, 197, 152);\n}\n\n.tc-password-wrapper form {\n\ttext-align: left;\n}\n\n.tc-password-wrapper h1 {\n\tfont-size: 16px;\n\tline-height: 20px;\n\tpadding-bottom: 16px;\n}\n\n.tc-password-wrapper input {\n\twidth: 100%;\n}\n"
  },
  {
    "path": "boot/boot.js",
    "content": "/*\\\ntitle: $:/boot/boot.js\ntype: application/javascript\n\nThe main boot kernel for TiddlyWiki. This single file creates a barebones TW environment that is just sufficient to bootstrap the modules containing the main logic of the application.\n\nOn the server this file is executed directly to boot TiddlyWiki. In the browser, this file is packed into a single HTML file.\n\n\\*/\n\n/* eslint-disable @stylistic/indent */\n\nvar _boot = (function($tw) {\n\n\"use strict\";\n\n// Include bootprefix if we're not given module data\nif(!$tw) {\n\t$tw = require(\"./bootprefix.js\").bootprefix();\n}\n\n$tw.utils = $tw.utils || Object.create(null);\n\n/////////////////////////// Standard node.js libraries\n\nvar fs, path, vm;\nif($tw.node) {\n\tfs = require(\"fs\");\n\tpath = require(\"path\");\n\tvm = require(\"vm\");\n}\n\n/////////////////////////// Utility functions\n\n$tw.boot.log = function(str) {\n\t$tw.boot.logMessages = $tw.boot.logMessages || [];\n\t$tw.boot.logMessages.push(str);\n};\n\n/*\nCheck if an object has a property\n*/\n$tw.utils.hop = function(object,property) {\n\treturn object ? Object.prototype.hasOwnProperty.call(object,property) : false;\n};\n\n/** @deprecated Use Array.isArray instead  */\n$tw.utils.isArray = (value) => Array.isArray(value);\n\n/*\nCheck if an array is equal by value and by reference.\n*/\n$tw.utils.isArrayEqual = function(array1,array2) {\n\tif(array1 === array2) {\n\t\treturn true;\n\t}\n\tarray1 = array1 || [];\n\tarray2 = array2 || [];\n\tif(array1.length !== array2.length) {\n\t\treturn false;\n\t}\n\treturn array1.every(function(value,index) {\n\t\treturn value === array2[index];\n\t});\n};\n\n/*\nAdd an entry to a sorted array if it doesn't already exist, while maintaining the sort order\n*/\n$tw.utils.insertSortedArray = function(array,value) {\n\tvar low = 0, high = array.length - 1, mid, cmp;\n\twhile(low <= high) {\n\t\tmid = (low + high) >> 1;\n\t\tcmp = value.localeCompare(array[mid]);\n\t\tif(cmp > 0) {\n\t\t\tlow = mid + 1;\n\t\t} else if(cmp < 0) {\n\t\t\thigh = mid - 1;\n\t\t} else {\n\t\t\treturn array;\n\t\t}\n\t}\n\tarray.splice(low,0,value);\n\treturn array;\n};\n\n/*\nPush entries onto an array, removing them first if they already exist in the array\n\tarray: array to modify (assumed to be free of duplicates)\n\tvalue: a single value to push or an array of values to push\n*/\n$tw.utils.pushTop = function(array,value) {\n\tvar t,p;\n\tif($tw.utils.isArray(value)) {\n\t\t// Remove any array entries that are duplicated in the new values\n\t\tif(value.length !== 0) {\n\t\t\tif(array.length !== 0) {\n\t\t\t\tif(value.length < array.length) {\n\t\t\t\t\tfor(t=0; t<value.length; t++) {\n\t\t\t\t\t\tp = array.indexOf(value[t]);\n\t\t\t\t\t\tif(p !== -1) {\n\t\t\t\t\t\t\tarray.splice(p,1);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tfor(t=array.length-1; t>=0; t--) {\n\t\t\t\t\t\tp = value.indexOf(array[t]);\n\t\t\t\t\t\tif(p !== -1) {\n\t\t\t\t\t\t\tarray.splice(t,1);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Push the values on top of the main array\n\t\t\tarray.push.apply(array,value);\n\t\t}\n\t} else {\n\t\tp = array.indexOf(value);\n\t\tif(p !== -1) {\n\t\t\tarray.splice(p,1);\n\t\t}\n\t\tarray.push(value);\n\t}\n\treturn array;\n};\n\n/** @deprecated Use instanceof Date instead */\n$tw.utils.isDate = (value) => value instanceof Date;\n\n/** @deprecated Use array iterative methods instead */\n$tw.utils.each = function(object,callback) {\n\tif(object) {\n\t\tif(Array.isArray(object)) {\n\t\t\tobject.every((element,index,array) => {\n\t\t\t\tconst next = callback(element,index,array);\n\t\t\t\treturn next !== false;\n\t\t\t});\n\t\t} else {\n\t\t\tObject.entries(object).every((entry) => {\n\t\t\t\tconst next = callback(entry[1], entry[0], object);\n\t\t\t\treturn next !== false;\n\t\t\t});\n\t\t}\n\t}\n};\n\n/*\nHelper for making DOM elements\ntag: tag name\noptions: see below\nOptions include:\nnamespace: defaults to http://www.w3.org/1999/xhtml\nattributes: hashmap of attribute values\nstyle: hashmap of styles\ntext: text to add as a child node\nchildren: array of further child nodes\ninnerHTML: optional HTML for element\nclass: class name(s)\ndocument: defaults to current document\neventListeners: array of event listeners (this option won't work until $tw.utils.addEventListeners() has been loaded)\n*/\n$tw.utils.domMaker = function(tag,options) {\n\tvar options = options || {};\n\tvar doc = options.document || document;\n\tvar element = doc.createElementNS(options.namespace || \"http://www.w3.org/1999/xhtml\",tag);\n\tif(options[\"class\"]) {\n\t\telement.className = options[\"class\"];\n\t}\n\tif(options.text) {\n\t\telement.appendChild(doc.createTextNode(options.text));\n\t}\n\t$tw.utils.each(options.children,function(child) {\n\t\telement.appendChild(child);\n\t});\n\tif(options.innerHTML) {\n\t\telement.innerHTML = options.innerHTML;\n\t}\n\t$tw.utils.each(options.attributes,function(attribute,name) {\n\t\telement.setAttribute(name,attribute);\n\t});\n\t$tw.utils.each(options.style,function(value,name) {\n\t\telement.style[name] = value;\n\t});\n\tif(options.eventListeners) {\n\t\t$tw.utils.addEventListeners(element,options.eventListeners);\n\t}\n\treturn element;\n};\n\n/*\nDisplay an error and exit\n*/\n$tw.utils.error = function(err) {\n\t// Prepare the error message\n\tvar errHeading = ( $tw.language == undefined ? \"Internal JavaScript Error\" : $tw.language.getString(\"InternalJavaScriptError/Title\") ),\n\t\tpromptMsg = ( $tw.language == undefined ? \"Well, this is embarrassing. It is recommended that you restart TiddlyWiki by refreshing your browser\" : $tw.language.getString(\"InternalJavaScriptError/Hint\") );\n\t// Log the error to the console\n\tconsole.error($tw.node ? \"\\x1b[1;31m\" + err + \"\\x1b[0m\" : err);\n\tif($tw.browser && !$tw.node) {\n\t\t// Display an error message to the user\n\t\tvar dm = $tw.utils.domMaker,\n\t\t\theading = dm(\"h1\",{text: errHeading}),\n\t\t\tprompt = dm(\"div\",{text: promptMsg, \"class\": \"tc-error-prompt\"}),\n\t\t\tmessage = dm(\"div\",{text: err, \"class\":\"tc-error-message\"}),\n\t\t\tcloseButton = dm(\"div\",{children: [dm(\"button\",{text: ( $tw.language == undefined ? \"close\" : $tw.language.getString(\"Buttons/Close/Caption\") )})], \"class\": \"tc-error-prompt\"}),\n\t\t\tdownloadButton = dm(\"div\",{children: [dm(\"button\",{text: ( $tw.language == undefined ? \"download tiddlers\" : $tw.language.getString(\"Buttons/EmergencyDownload/Caption\") )})], \"class\": \"tc-error-prompt\"}),\n\t\t\tform = dm(\"form\",{children: [heading,prompt,downloadButton,message,closeButton], \"class\": \"tc-error-form\"});\n\t\tdocument.body.insertBefore(form,document.body.firstChild);\n\t\tdownloadButton.addEventListener(\"click\",function(event) {\n\t\t\tif($tw && $tw.wiki) {\n\t\t\t\tvar tiddlers = [];\n\t\t\t\t$tw.wiki.each(function(tiddler,title) {\n\t\t\t\t\ttiddlers.push(tiddler.fields);\n\t\t\t\t});\n\t\t\t\tvar link = dm(\"a\"),\n\t\t\t\t\ttext = JSON.stringify(tiddlers);\n\t\t\t\tif(Blob !== undefined) {\n\t\t\t\t\tvar blob = new Blob([text], {type: \"application/json\"});\n\t\t\t\t\tlink.setAttribute(\"href\", URL.createObjectURL(blob));\n\t\t\t\t} else {\n\t\t\t\t\tlink.setAttribute(\"href\",\"data:application/json,\" + encodeURIComponent(text));\n\t\t\t\t}\n\t\t\t\tlink.setAttribute(\"download\",\"emergency-tiddlers-\" + (new Date()) + \".json\");\n\t\t\t\tdocument.body.appendChild(link);\n\t\t\t\tlink.click();\n\t\t\t\tdocument.body.removeChild(link);\n\t\t\t} else {\n\t\t\t\talert(\"Emergency tiddler download is not available\");\n\t\t\t}\n\t\t\tevent.preventDefault();\n\t\t\treturn false;\n\t\t},true);\n\t\tform.addEventListener(\"submit\",function(event) {\n\t\t\tdocument.body.removeChild(form);\n\t\t\tevent.preventDefault();\n\t\t\treturn false;\n\t\t},true);\n\t\treturn null;\n\t} else if(!$tw.browser) {\n\t\t// Exit if we're under node.js\n\t\tprocess.exit(1);\n\t}\n};\n\n/*\nUse our custom error handler if we're in the browser\n*/\nif($tw.boot.tasks.trapErrors) {\n\twindow.onerror = function(errorMsg,url,lineNumber) {\n\t\t$tw.utils.error(errorMsg);\n\t\treturn false;\n\t};\n}\n\n/*\nExtend an object with the properties from a list of source objects\n*/\n$tw.utils.extend = function(object /*, sourceObjectList */) {\n\t$tw.utils.each(Array.prototype.slice.call(arguments,1),function(source) {\n\t\tif(source) {\n\t\t\tfor(var p in source) {\n\t\t\t\tobject[p] = source[p];\n\t\t\t}\n\t\t}\n\t});\n\treturn object;\n};\n\n/*\nFill in any null or undefined properties of an object with the properties from a list of source objects. Each property that is an object is called recursively\n*/\n$tw.utils.deepDefaults = function(object /*, sourceObjectList */) {\n\t$tw.utils.each(Array.prototype.slice.call(arguments,1),function(source) {\n\t\tif(source) {\n\t\t\tfor(var p in source) {\n\t\t\t\tif(object[p] === null || object[p] === undefined) {\n\t\t\t\t\tobject[p] = source[p];\n\t\t\t\t}\n\t\t\t\tif(typeof object[p] === \"object\" && typeof source[p] === \"object\") {\n\t\t\t\t\t$tw.utils.deepDefaults(object[p],source[p]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\treturn object;\n};\n\n/*\nConvert a URIComponent encoded string to a string safely\n*/\n$tw.utils.decodeURIComponentSafe = function(s) {\n\tvar v = s;\n\ttry {\n\t\tv = decodeURIComponent(s);\n\t} catch(e) {}\n\treturn v;\n};\n\n/*\nConvert a URI encoded string to a string safely\n*/\n$tw.utils.decodeURISafe = function(s) {\n\tvar v = s;\n\ttry {\n\t\tv = decodeURI(s);\n\t} catch(e) {}\n\treturn v;\n};\n\n/*\nConvert \"&amp;\" to &, \"&nbsp;\" to nbsp, \"&lt;\" to <, \"&gt;\" to > and \"&quot;\" to \"\n*/\n$tw.utils.htmlDecode = function(s) {\n\treturn s.toString().replace(/&lt;/mg,\"<\").replace(/&nbsp;/mg,\"\\xA0\").replace(/&gt;/mg,\">\").replace(/&quot;/mg,\"\\\"\").replace(/&amp;/mg,\"&\");\n};\n\n/*\nGet the browser location.hash. We don't use location.hash because of the way that Firefox auto-urldecodes it (see http://stackoverflow.com/questions/1703552/encoding-of-window-location-hash)\n*/\n$tw.utils.getLocationHash = function() {\n\tconst href = window.location.href,\n\t\tidx = href.indexOf(\"#\");\n\n\tif(idx === -1) {\n\t\treturn \"#\";\n\t}\n\n\tconst afterHash = href.substring(idx + 1);\n\tif(afterHash.startsWith(\"#\") || afterHash.startsWith(\"%23\")) {\n\t\t// Special case: ignore location hash if it itself starts with a #\n\t\treturn \"#\";\n\t}\n\treturn href.substring(idx);\n};\n\n\n/** @deprecated Pad a string to a given length with \"0\"s. Length defaults to 2 */\n$tw.utils.pad = function(value,length = 2) {\n\tconst s = value.toString();\n\treturn s.padStart(length, \"0\");\n};\n\n// Convert a date into UTC YYYYMMDDHHMMSSmmm format\n$tw.utils.stringifyDate = function(value) {\n\treturn value.getUTCFullYear() +\n\t\t\t$tw.utils.pad(value.getUTCMonth() + 1) +\n\t\t\t$tw.utils.pad(value.getUTCDate()) +\n\t\t\t$tw.utils.pad(value.getUTCHours()) +\n\t\t\t$tw.utils.pad(value.getUTCMinutes()) +\n\t\t\t$tw.utils.pad(value.getUTCSeconds()) +\n\t\t\t$tw.utils.pad(value.getUTCMilliseconds(),3);\n};\n\n// Parse a date from a UTC YYYYMMDDHHMMSSmmm format string\n$tw.utils.parseDate = function(value) {\n\tif(typeof value === \"string\") {\n\t\tvar negative = 1;\n\t\tif(value.charAt(0) === \"-\") {\n\t\t\tnegative = -1;\n\t\t\tvalue = value.substr(1);\n\t\t}\n\t\tvar year = parseInt(value.substr(0,4),10) * negative,\n\t\t\td = new Date(Date.UTC(year,\n\t\t\t\tparseInt(value.substr(4,2),10)-1,\n\t\t\t\tparseInt(value.substr(6,2),10),\n\t\t\t\tparseInt(value.substr(8,2)||\"00\",10),\n\t\t\t\tparseInt(value.substr(10,2)||\"00\",10),\n\t\t\t\tparseInt(value.substr(12,2)||\"00\",10),\n\t\t\t\tparseInt(value.substr(14,3)||\"000\",10)));\n\t\td.setUTCFullYear(year); // See https://stackoverflow.com/a/5870822\n\t\treturn d;\n\t} else if($tw.utils.isDate(value)) {\n\t\treturn value;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n// Stringify an array of tiddler titles into a list string\n$tw.utils.stringifyList = function(value) {\n\tif($tw.utils.isArray(value)) {\n\t\tvar result = new Array(value.length);\n\t\tfor(var t=0, l=value.length; t<l; t++) {\n\t\t\tvar entry = value[t] || \"\";\n\t\t\tif(entry.match(/[^\\S\\xA0]/mg)) {\n\t\t\t\tresult[t] = \"[[\" + entry + \"]]\";\n\t\t\t} else {\n\t\t\t\tresult[t] = entry;\n\t\t\t}\n\t\t}\n\t\treturn result.join(\" \");\n\t} else {\n\t\treturn value || \"\";\n\t}\n};\n\n// Parse a string array from a bracketted list. For example \"OneTiddler [[Another Tiddler]] LastOne\"\n$tw.utils.parseStringArray = function(value, allowDuplicate) {\n\tif(typeof value === \"string\") {\n\t\tvar memberRegExp = /(?:^|[^\\S\\xA0])(?:\\[\\[(.*?)\\]\\])(?=[^\\S\\xA0]|$)|([\\S\\xA0]+)/mg,\n\t\t\tresults = [], names = {},\n\t\t\tmatch;\n\t\tdo {\n\t\t\tmatch = memberRegExp.exec(value);\n\t\t\tif(match) {\n\t\t\t\tvar item = match[1] || match[2];\n\t\t\t\tif(item !== undefined && (!$tw.utils.hop(names,item) || allowDuplicate)) {\n\t\t\t\t\tresults.push(item);\n\t\t\t\t\tnames[item] = true;\n\t\t\t\t}\n\t\t\t}\n\t\t} while(match);\n\t\treturn results;\n\t} else if($tw.utils.isArray(value)) {\n\t\treturn value;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n// Parse a block of name:value fields. The `fields` object is used as the basis for the return value\n$tw.utils.parseFields = function(text,fields) {\n\tfields = fields || Object.create(null);\n\ttext.split(/\\r?\\n/mg).forEach(function(line) {\n\t\tif(line.charAt(0) !== \"#\") {\n\t\t\tvar p = line.indexOf(\":\");\n\t\t\tif(p !== -1) {\n\t\t\t\tvar field = line.substr(0, p).trim(),\n\t\t\t\t\tvalue = line.substr(p+1).trim();\n\t\t\t\tif(field) {\n\t\t\t\t\tfields[field] = value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\treturn fields;\n};\n\n// Safely parse a string as JSON\n$tw.utils.parseJSONSafe = function(text,defaultJSON) {\n\ttry {\n\t\treturn JSON.parse(text);\n\t} catch(e) {\n\t\tif(typeof defaultJSON === \"function\") {\n\t\t\treturn defaultJSON(e);\n\t\t} else {\n\t\t\treturn defaultJSON || {};\n\t\t}\n\t}\n};\n\n/*\nResolves a source filepath delimited with `/` relative to a specified absolute root filepath.\nIn relative paths, the special folder name `..` refers to immediate parent directory, and the\nname `.` refers to the current directory\n*/\n$tw.utils.resolvePath = function(sourcepath,rootpath) {\n\t// If the source path starts with ./ or ../ then it is relative to the root\n\tif(sourcepath.substr(0,2) === \"./\" || sourcepath.substr(0,3) === \"../\" ) {\n\t\tvar src = sourcepath.split(\"/\"),\n\t\t\troot = rootpath.split(\"/\");\n\t\t// Remove the filename part of the root\n\t\troot.splice(root.length-1,1);\n\t\t// Process the source path bit by bit onto the end of the root path\n\t\twhile(src.length > 0) {\n\t\t\tvar c = src.shift();\n\t\t\tif(c === \"..\") { // Slice off the last root entry for a double dot\n\t\t\t\tif(root.length > 0) {\n\t\t\t\t\troot.splice(root.length-1,1);\n\t\t\t\t}\n\t\t\t} else if(c !== \".\") { // Ignore dots\n\t\t\t\troot.push(c); // Copy other elements across\n\t\t\t}\n\t\t}\n\t\treturn root.join(\"/\");\n\t} else {\n\t\t// If it isn't relative, just return the path\n\t\tif(rootpath) {\n\t\t\tvar root = rootpath.split(\"/\");\n\t\t\t// Remove the filename part of the root\n\t\t\troot.splice(root.length - 1, 1);\n\t\t\treturn root.join(\"/\") + \"/\" + sourcepath;\n\t\t} else {\n\t\t\treturn sourcepath;\n\t\t}\n\t}\n};\n\n/*\nParse a semantic version string into its constituent parts -- see https://semver.org\n*/\n$tw.utils.parseVersion = function(version) {\n\tvar match = /^v?((\\d+)\\.(\\d+)\\.(\\d+))(?:-([\\dA-Za-z\\-]+(?:\\.[\\dA-Za-z\\-]+)*))?(?:\\+([\\dA-Za-z\\-]+(?:\\.[\\dA-Za-z\\-]+)*))?$/.exec(version);\n\tif(match) {\n\t\treturn {\n\t\t\tversion: match[1],\n\t\t\tmajor: parseInt(match[2],10),\n\t\t\tminor: parseInt(match[3],10),\n\t\t\tpatch: parseInt(match[4],10),\n\t\t\tprerelease: match[5],\n\t\t\tbuild: match[6]\n\t\t};\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nReturns +1 if the version string A is greater than the version string B, 0 if they are the same, and +1 if B is greater than A.\nMissing or malformed version strings are parsed as 0.0.0\n*/\n$tw.utils.compareVersions = function(versionStringA,versionStringB) {\n\tvar defaultVersion = {\n\t\t\tmajor: 0,\n\t\t\tminor: 0,\n\t\t\tpatch: 0\n\t\t},\n\t\tversionA = $tw.utils.parseVersion(versionStringA) || defaultVersion,\n\t\tversionB = $tw.utils.parseVersion(versionStringB) || defaultVersion,\n\t\tdiff = [\n\t\t\tversionA.major - versionB.major,\n\t\t\tversionA.minor - versionB.minor,\n\t\t\tversionA.patch - versionB.patch\n\t\t];\n\tif((diff[0] > 0) || (diff[0] === 0 && diff[1] > 0) || (diff[0] === 0 & diff[1] === 0 & diff[2] > 0)) {\n\t\treturn +1;\n\t} else if((diff[0] < 0) || (diff[0] === 0 && diff[1] < 0) || (diff[0] === 0 & diff[1] === 0 & diff[2] < 0)) {\n\t\treturn -1;\n\t} else {\n\t\treturn 0;\n\t}\n};\n\n/*\nReturns true if the version string A is greater than the version string B. Returns true if the versions are the same\n*/\n$tw.utils.checkVersions = function(versionStringA,versionStringB) {\n\treturn $tw.utils.compareVersions(versionStringA,versionStringB) !== -1;\n};\n\n/*\nRegister file type information\noptions: {flags: flags,deserializerType: deserializerType}\n\tflags:\"image\" for image types\n\tdeserializerType: defaults to type if not specified\n*/\n$tw.utils.registerFileType = function(type,encoding,extension,options) {\n\toptions = options || {};\n\tif($tw.utils.isArray(extension)) {\n\t\t$tw.utils.each(extension,function(extension) {\n\t\t\t$tw.config.fileExtensionInfo[extension] = {type: type};\n\t\t});\n\t\textension = extension[0];\n\t} else {\n\t\t$tw.config.fileExtensionInfo[extension] = {type: type};\n\t}\n\t$tw.config.contentTypeInfo[type] = {encoding: encoding, extension: extension, flags: options.flags || [], deserializerType: options.deserializerType || type};\n};\n\n/*\nGiven an extension, always access the $tw.config.fileExtensionInfo\nusing a lowercase extension only.\n*/\n$tw.utils.getFileExtensionInfo = function(ext) {\n\treturn ext ? $tw.config.fileExtensionInfo[ext.toLowerCase()] : null;\n};\n\n/*\nGiven an extension, get the correct encoding for that file.\ndefaults to utf8\n*/\n$tw.utils.getTypeEncoding = function(ext) {\n\tvar extensionInfo = $tw.utils.getFileExtensionInfo(ext),\n\t\ttype = extensionInfo ? extensionInfo.type : null,\n\t\ttypeInfo = type ? $tw.config.contentTypeInfo[type] : null;\n\treturn typeInfo ? typeInfo.encoding : \"utf8\";\n};\n\nvar globalCheck =[\n\t\"  Object.defineProperty(Object.prototype, '__temp__', {\",\n\t\"    get: function () { return this; },\",\n\t\"    configurable: true\",\n\t\"  });\",\n\t\"  if(Object.keys(__temp__).length){\",\n\t\"    console.log(\\\"Warning: Global assignment detected\\\",Object.keys(__temp__));\",\n\t\"    delete Object.prototype.__temp__;\",\n\t\"  }\",\n\t\"  delete Object.prototype.__temp__;\",\n].join(\"\\n\");\n\n/*\nRun code globally with specified context variables in scope\n*/\n$tw.utils.evalGlobal = function(code,context,filename,sandbox,allowGlobals) {\n\tvar contextCopy = $tw.utils.extend(Object.create(null),context);\n\t// Get the context variables as a pair of arrays of names and values\n\tvar contextNames = [], contextValues = [];\n\t$tw.utils.each(contextCopy,function(value,name) {\n\t\tcontextNames.push(name);\n\t\tcontextValues.push(value);\n\t});\n\t// Add the code prologue and epilogue\n\tcode = [\n\t\t\"(function(\" + contextNames.join(\",\") + \") {\",\n\t\t\"  (function(){\" + code + \"\\n;})();\\n\",\n\t\t(!$tw.browser && sandbox && !allowGlobals) ? globalCheck : \"\",\n\t\t\"\\nreturn exports;\\n\",\n\t\t\"})\"\n\t].join(\"\");\n\n\t// Compile the code into a function\n\tvar fn;\n\tif($tw.browser) {\n\t\tfn = Function(\"return \" + code + \"\\n\\n//# sourceURL=\" + filename)(); // See https://github.com/TiddlyWiki/TiddlyWiki5/issues/6839\n\t} else {\n\t\tif(sandbox){\n\t\t\tfn = vm.runInContext(code,sandbox,filename);\n\t\t} else {\n\t\t\tfn = vm.runInThisContext(code,filename);\n\t\t}\n\t}\n\t// Call the function and return the exports\n\treturn fn.apply(null,contextValues);\n};\n$tw.utils.sandbox = !$tw.browser ? vm.createContext({}) : undefined;\n/*\nRun code in a sandbox with only the specified context variables in scope\n*/\n$tw.utils.evalSandboxed = $tw.browser ? $tw.utils.evalGlobal : function(code,context,filename,allowGlobals) {\n\treturn $tw.utils.evalGlobal(\n\t\tcode,context,filename,\n\t\tallowGlobals ? vm.createContext({}) : $tw.utils.sandbox,\n\t\tallowGlobals\n\t);\n};\n\n/*\nCreates a PasswordPrompt object\n*/\n$tw.utils.PasswordPrompt = function() {\n\t// Store of pending password prompts\n\tthis.passwordPrompts = [];\n\t// Create the wrapper\n\tthis.promptWrapper = $tw.utils.domMaker(\"div\",{\"class\":\"tc-password-wrapper\"});\n\tdocument.body.appendChild(this.promptWrapper);\n\t// Hide the empty wrapper\n\tthis.setWrapperDisplay();\n};\n\n/*\nHides or shows the wrapper depending on whether there are any outstanding prompts\n*/\n$tw.utils.PasswordPrompt.prototype.setWrapperDisplay = function() {\n\tif(this.passwordPrompts.length) {\n\t\tthis.promptWrapper.style.display = \"block\";\n\t} else {\n\t\tthis.promptWrapper.style.display = \"none\";\n\t}\n};\n\n/*\nAdds a new password prompt. Options are:\nsubmitText: text to use for submit button (defaults to \"Login\")\nserviceName: text of the human readable service name\nnoUserName: set true to disable username prompt\ncanCancel: set true to enable a cancel button (callback called with null)\nrepeatPassword: set true to prompt for the password twice\ncallback: function to be called on submission with parameter of object {username:,password:}. Callback must return `true` to remove the password prompt\n*/\n$tw.utils.PasswordPrompt.prototype.createPrompt = function(options) {\n\t// Create and add the prompt to the DOM\n\tvar self = this,\n\t\tsubmitText = options.submitText || \"Login\",\n\t\tdm = $tw.utils.domMaker,\n\t\tchildren = [dm(\"h1\",{text: options.serviceName})];\n\tif(!options.noUserName) {\n\t\tchildren.push(dm(\"input\",{\n\t\t\tattributes: {type: \"text\", name: \"username\", placeholder: $tw.language.getString(\"Encryption/Username\")}\n\t\t}));\n\t}\n\tchildren.push(dm(\"input\",{\n\t\tattributes: {\n\t\t\ttype: \"password\",\n\t\t\tname: \"password\",\n\t\t\tplaceholder: ( $tw.language == undefined ? \"Password\" : $tw.language.getString(\"Encryption/Password\") )\n\t\t}\n\t}));\n\tif(options.repeatPassword) {\n\t\tchildren.push(dm(\"input\",{\n\t\t\tattributes: {\n\t\t\t\ttype: \"password\",\n\t\t\t\tname: \"password2\",\n\t\t\t\tplaceholder: $tw.language.getString(\"Encryption/RepeatPassword\")\n\t\t\t}\n\t\t}));\n\t}\n\tif(options.canCancel) {\n\t\tchildren.push(dm(\"button\",{\n\t\t\ttext: $tw.language.getString(\"Encryption/Cancel\"),\n\t\t\tattributes: {\n\t\t\t\ttype: \"button\"\n\t\t\t},\n\t\t\teventListeners: [{\n\t\t\t\t\tname: \"click\",\n\t\t\t\t\thandlerFunction: function(event) {\n\t\t\t\t\t\tself.removePrompt(promptInfo);\n\t\t\t\t\t\toptions.callback(null);\n\t\t\t\t\t}\n\t\t\t\t}]\n\t\t}));\n\t}\n\tchildren.push(dm(\"button\",{\n\t\tattributes: {type: \"submit\"},\n\t\ttext: submitText\n\t}));\n\tvar form = dm(\"form\",{\n\t\tattributes: {autocomplete: \"off\"},\n\t\tchildren: children\n\t});\n\tthis.promptWrapper.appendChild(form);\n\twindow.setTimeout(function() {\n\t\tform.elements[0].focus();\n\t},10);\n\t// Add a submit event handler\n\tvar self = this;\n\tform.addEventListener(\"submit\",function(event) {\n\t\t// Collect the form data\n\t\tvar data = {};\n\t\t$tw.utils.each(form.elements,function(element) {\n\t\t\tif(element.name && element.value) {\n\t\t\t\tdata[element.name] = element.value;\n\t\t\t}\n\t\t});\n\t\t// Check that the passwords match\n\t\tif(options.repeatPassword && data.password !== data.password2) {\n\t\t\talert($tw.language.getString(\"Encryption/PasswordNoMatch\"));\n\t\t} else {\n\t\t\t// Call the callback\n\t\t\tif(options.callback(data)) {\n\t\t\t\t// Remove the prompt if the callback returned true\n\t\t\t\tself.removePrompt(promptInfo);\n\t\t\t} else {\n\t\t\t\t// Clear the password if the callback returned false\n\t\t\t\t$tw.utils.each(form.elements,function(element) {\n\t\t\t\t\tif(element.name === \"password\" || element.name === \"password2\") {\n\t\t\t\t\t\telement.value = \"\";\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tevent.preventDefault();\n\t\treturn false;\n\t},true);\n\t// Add the prompt to the list\n\tvar promptInfo = {\n\t\tserviceName: options.serviceName,\n\t\tcallback: options.callback,\n\t\tform: form,\n\t\towner: this\n\t};\n\tthis.passwordPrompts.push(promptInfo);\n\t// Make sure the wrapper is displayed\n\tthis.setWrapperDisplay();\n\treturn promptInfo;\n};\n\n$tw.utils.PasswordPrompt.prototype.removePrompt = function(promptInfo) {\n\tvar i = this.passwordPrompts.indexOf(promptInfo);\n\tif(i !== -1) {\n\t\tthis.passwordPrompts.splice(i,1);\n\t\tpromptInfo.form.parentNode.removeChild(promptInfo.form);\n\t\tthis.setWrapperDisplay();\n\t}\n};\n\n/*\nCrypto helper object for encrypted content. It maintains the password text in a closure, and provides methods to change\nthe password, and to encrypt/decrypt a block of text\n*/\n$tw.utils.Crypto = function() {\n\tvar sjcl = $tw.node ? (global.sjcl || require(\"./sjcl.js\")) : window.sjcl,\n\t\tcurrentPassword = null,\n\t\tcallSjcl = function(method,inputText,password,options) {\n\t\t\toptions = options || {};\n\t\t\tpassword = password || currentPassword;\n\t\t\tvar outputText;\n\t\t\ttry {\n\t\t\t\tif(password) {\n\t\t\t\t\toutputText = sjcl[method](password,inputText,options);\n\t\t\t\t}\n\t\t\t} catch(ex) {\n\t\t\t\tconsole.log(\"Crypto error:\" + ex);\n\t\t\t\toutputText = null;\n\t\t\t}\n\t\t\treturn outputText;\n\t\t};\n\t$tw.sjcl = sjcl;\n\tthis.setPassword = function(newPassword) {\n\t\tcurrentPassword = newPassword;\n\t\tthis.updateCryptoStateTiddler();\n\t};\n\tthis.updateCryptoStateTiddler = function() {\n\t\tif($tw.wiki) {\n\t\t\tvar state = currentPassword ? \"yes\" : \"no\",\n\t\t\t\ttiddler = $tw.wiki.getTiddler(\"$:/isEncrypted\");\n\t\t\tif(!tiddler || tiddler.fields.text !== state) {\n\t\t\t\t$tw.wiki.addTiddler(new $tw.Tiddler({title: \"$:/isEncrypted\", text: state}));\n\t\t\t}\n\t\t}\n\t};\n\tthis.hasPassword = function() {\n\t\treturn !!currentPassword;\n\t};\n\tthis.encrypt = function(text,password) {\n\t\t// set default ks:256 -- see: http://bitwiseshiftleft.github.io/sjcl/doc/convenience.js.html\n\t\treturn callSjcl(\"encrypt\",text,password,{v:1,iter:10000,ks:256,ts:64,mode:\"ccm\",adata:\"\",cipher:\"aes\"});\n\t};\n\tthis.decrypt = function(text,password) {\n\t\treturn callSjcl(\"decrypt\",text,password);\n\t};\n};\n\n/////////////////////////// Module mechanism\n\n/*\nExecute the module named 'moduleName'. The name can optionally be relative to the module named 'moduleRoot'\n*/\n$tw.modules.execute = function(moduleName,moduleRoot) {\n\tvar name = moduleName;\n\tif(moduleName.charAt(0) === \".\") {\n\t\tname = $tw.utils.resolvePath(moduleName,moduleRoot);\n\t}\n\tif(!$tw.modules.titles[name]) {\n\t\tif($tw.modules.titles[name + \".js\"]) {\n\t\t\tname = name + \".js\";\n\t\t} else if($tw.modules.titles[name + \"/index.js\"]) {\n\t\t\tname = name + \"/index.js\";\n\t\t} else if($tw.modules.titles[moduleName]) {\n\t\t\tname = moduleName;\n\t\t} else if($tw.modules.titles[moduleName + \".js\"]) {\n\t\t\tname = moduleName + \".js\";\n\t\t} else if($tw.modules.titles[moduleName + \"/index.js\"]) {\n\t\t\tname = moduleName + \"/index.js\";\n\t\t}\n\t}\n\tvar moduleInfo = $tw.modules.titles[name],\n\t\ttiddler = $tw.wiki.getTiddler(name),\n\t\t_exports = {},\n\t\tsandbox = {\n\t\t\tmodule: {exports: _exports},\n\t\t\t//moduleInfo: moduleInfo,\n\t\t\texports: _exports,\n\t\t\tconsole: console,\n\t\t\tsetInterval: setInterval,\n\t\t\tclearInterval: clearInterval,\n\t\t\tsetTimeout: setTimeout,\n\t\t\tclearTimeout: clearTimeout,\n\t\t\tBuffer: $tw.browser ? undefined : Buffer,\n\t\t\t$tw: $tw,\n\t\t\trequire: function(title) {\n\t\t\t\treturn $tw.modules.execute(title, name);\n\t\t\t}\n\t\t};\n\n\tObject.defineProperty(sandbox.module, \"id\", {\n\t\tvalue: name,\n\t\twritable: false,\n\t\tenumerable: true,\n\t\tconfigurable: false\n\t});\n\n\tif(!$tw.browser) {\n\t\t$tw.utils.extend(sandbox,{\n\t\t\tprocess: process\n\t\t});\n\t} else {\n\t\t/*\n\t\tCommonJS optional require.main property:\n\t\t\tIn a browser we offer a fake main module which points back to the boot function\n\t\t\t(Theoretically, this may allow TW to eventually load itself as a module in the browser)\n\t\t*/\n\t\tObject.defineProperty(sandbox.require, \"main\", {\n\t\t\tvalue: (typeof(require) !== \"undefined\") ? require.main : {TiddlyWiki: _boot},\n\t\t\twritable: false,\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false\n\t\t});\n\t}\n\tif(!moduleInfo) {\n\t\t// We could not find the module on this path\n\t\t// Try to defer to browserify etc, or node\n\t\tif($tw.browser) {\n\t\t\tif(window.require) {\n\t\t\t\ttry {\n\t\t\t\t\treturn window.require(moduleName);\n\t\t\t\t} catch(e) {}\n\t\t\t}\n\t\t\tthrow \"Cannot find module named '\" + moduleName + \"' required by module '\" + moduleRoot + \"', resolved to \" + name;\n\t\t} else {\n\t\t\t// If we don't have a module with that name, let node.js try to find it\n\t\t\treturn require(moduleName);\n\t\t}\n\t}\n\t// Execute the module if we haven't already done so\n\tif(!moduleInfo.exports) {\n\t\ttry {\n\t\t\t// Check the type of the definition\n\t\t\tif(typeof moduleInfo.definition === \"function\") { // Function\n\t\t\t\tmoduleInfo.exports = _exports;\n\t\t\t\tmoduleInfo.definition(moduleInfo,moduleInfo.exports,sandbox.require);\n\t\t\t} else if(typeof moduleInfo.definition === \"string\") { // String\n\t\t\t\tmoduleInfo.exports = _exports;\n\t\t\t\t$tw.utils.evalSandboxed(moduleInfo.definition,sandbox,tiddler.fields.title);\n\t\t\t\tif(sandbox.module.exports) {\n\t\t\t\t\tmoduleInfo.exports = sandbox.module.exports; //more codemirror workaround\n\t\t\t\t}\n\t\t\t} else { // Object\n\t\t\t\tmoduleInfo.exports = moduleInfo.definition;\n\t\t\t}\n\t\t} catch(e) {\n\t\t\tif(e instanceof SyntaxError) {\n\t\t\t\tvar line = e.lineNumber || e.line; // Firefox || Safari\n\t\t\t\tif(typeof(line) != \"undefined\" && line !== null) {\n\t\t\t\t\t$tw.utils.error(\"Syntax error in boot module \" + name + \":\" + line + \":\\n\" + e.stack);\n\t\t\t\t} else if(!$tw.browser) {\n\t\t\t\t\t// this is the only way to get node.js to display the line at which the syntax error appeared,\n\t\t\t\t\t// and $tw.utils.error would exit anyway\n\t\t\t\t\t// cf. https://bugs.chromium.org/p/v8/issues/detail?id=2589\n\t\t\t\t\tthrow e;\n\t\t\t\t} else {\n\t\t\t\t\t// Opera: line number is included in e.message\n\t\t\t\t\t// Chrome/IE: there's currently no way to get the line number\n\t\t\t\t\t$tw.utils.error(\"Syntax error in boot module \" + name + \": \" + e.message + \"\\n\" + e.stack);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// line number should be included in e.stack for runtime errors\n\t\t\t\t$tw.utils.error(\"Error executing boot module \" + name + \": \" + String(e) + \"\\n\\n\" + e.stack);\n\t\t\t}\n\t\t}\n\t}\n\t// Return the exports of the module\n\treturn moduleInfo.exports;\n};\n\n/*\nApply a callback to each module of a particular type\n\tmoduleType: type of modules to enumerate\n\tcallback: function called as callback(title,moduleExports) for each module\n*/\n$tw.modules.forEachModuleOfType = function(moduleType,callback) {\n\tvar modules = $tw.modules.types[moduleType];\n\t$tw.utils.each(modules,function(element,title) {\n\t\tcallback(title,$tw.modules.execute(title));\n\t});\n};\n\n/*\nGet all the modules of a particular type in a hashmap by their `name` field\n*/\n$tw.modules.getModulesByTypeAsHashmap = function(moduleType,nameField) {\n\tnameField = nameField || \"name\";\n\tvar results = Object.create(null);\n\t$tw.modules.forEachModuleOfType(moduleType,function(title,module) {\n\t\tresults[module[nameField]] = module;\n\t});\n\treturn results;\n};\n\n/*\nApply the exports of the modules of a particular type to a target object\n*/\n$tw.modules.applyMethods = function(moduleType,targetObject) {\n\tif(!targetObject) {\n\t\ttargetObject = Object.create(null);\n\t}\n\t$tw.modules.forEachModuleOfType(moduleType,function(title,module) {\n\t\t$tw.utils.each(module,function(element,title,object) {\n\t\t\ttargetObject[title] = module[title];\n\t\t});\n\t});\n\treturn targetObject;\n};\n\n/*\nReturn a class created from a modules. The module should export the properties to be added to those of the optional base class\n*/\n$tw.modules.createClassFromModule = function(moduleExports,baseClass) {\n\tvar newClass = function() {};\n\tif(baseClass) {\n\t\tnewClass.prototype = new baseClass();\n\t\tnewClass.prototype.constructor = baseClass;\n\t}\n\t$tw.utils.extend(newClass.prototype,moduleExports);\n\treturn newClass;\n};\n\n/*\nReturn an array of classes created from the modules of a specified type. Each module should export the properties to be added to those of the optional base class\n*/\n$tw.modules.createClassesFromModules = function(moduleType,subType,baseClass) {\n\tvar classes = Object.create(null);\n\t$tw.modules.forEachModuleOfType(moduleType,function(title,moduleExports) {\n\t\tif(!subType || moduleExports.types[subType]) {\n\t\t\tclasses[moduleExports.name] = $tw.modules.createClassFromModule(moduleExports,baseClass);\n\t\t}\n\t});\n\treturn classes;\n};\n\n/////////////////////////// Barebones tiddler object\n\n/*\nConstruct a tiddler object from a hashmap of tiddler fields. If multiple hasmaps are provided they are merged,\ntaking precedence to the right\n*/\n$tw.Tiddler = function(/* [fields,] fields */) {\n\tthis.fields = Object.create(null);\n\tthis.cache = Object.create(null);\n\tfor(var c=0; c<arguments.length; c++) {\n\t\tvar arg = arguments[c],\n\t\t\tsrc = (arg instanceof $tw.Tiddler) ? arg.fields : arg;\n\t\tfor(var t in src) {\n\t\t\tif(src[t] === undefined || src[t] === null) {\n\t\t\t\tif(t in this.fields) {\n\t\t\t\t\tdelete this.fields[t]; // If we get a field that's undefined, delete any previous field value\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Parse the field with the associated field module (if any)\n\t\t\t\tvar fieldModule = $tw.Tiddler.fieldModules[t],\n\t\t\t\t\tvalue;\n\t\t\t\tif(fieldModule && fieldModule.parse) {\n\t\t\t\t\tvalue = fieldModule.parse.call(this,src[t]);\n\t\t\t\t} else {\n\t\t\t\t\tvalue = src[t];\n\t\t\t\t}\n\t\t\t\t// Freeze the field to keep it immutable\n\t\t\t\tif(value != null && typeof value === \"object\") {\n\t\t\t\t\tObject.freeze(value);\n\t\t\t\t}\n\t\t\t\tthis.fields[t] = value;\n\t\t\t}\n\t\t}\n\t}\n\t// Freeze the tiddler against modification\n\tObject.freeze(this.fields);\n\tObject.freeze(this);\n};\n\n$tw.Tiddler.prototype.hasField = function(field) {\n\treturn $tw.utils.hop(this.fields,field);\n};\n\n/*\nCompare two tiddlers for equality\ntiddler: the tiddler to compare\nexcludeFields: array of field names to exclude from the comparison\n*/\n$tw.Tiddler.prototype.isEqual = function(tiddler,excludeFields) {\n\tif(!(tiddler instanceof $tw.Tiddler)) {\n\t\treturn false;\n\t}\n\texcludeFields = excludeFields || [];\n\tvar self = this,\n\t\tdifferences = []; // Fields that have differences\n\t// Add to the differences array\n\tfunction addDifference(fieldName) {\n\t\t// Check for this field being excluded\n\t\tif(excludeFields.indexOf(fieldName) === -1) {\n\t\t\t// Save the field as a difference\n\t\t\t$tw.utils.pushTop(differences,fieldName);\n\t\t}\n\t}\n\t// Returns true if the two values of this field are equal\n\tfunction isFieldValueEqual(fieldName) {\n\t\tvar valueA = self.fields[fieldName],\n\t\t\tvalueB = tiddler.fields[fieldName];\n\t\t// Check for identical string values\n\t\tif(typeof(valueA) === \"string\" && typeof(valueB) === \"string\" && valueA === valueB) {\n\t\t\treturn true;\n\t\t}\n\t\t// Check for identical array values\n\t\tif($tw.utils.isArray(valueA) && $tw.utils.isArray(valueB) && $tw.utils.isArrayEqual(valueA,valueB)) {\n\t\t\treturn true;\n\t\t}\n\t\t// Check for identical date values\n\t\tif($tw.utils.isDate(valueA) && $tw.utils.isDate(valueB) && valueA.getTime() === valueB.getTime()) {\n\t\t\treturn true;\n\t\t}\n\t\t// Otherwise the fields must be different\n\t\treturn false;\n\t}\n\t// Compare our fields\n\tfor(var fieldName in this.fields) {\n\t\tif(!isFieldValueEqual(fieldName)) {\n\t\t\taddDifference(fieldName);\n\t\t}\n\t}\n\t// There's a difference for every field in the other tiddler that we don't have\n\tfor(fieldName in tiddler.fields) {\n\t\tif(!(fieldName in this.fields)) {\n\t\t\taddDifference(fieldName);\n\t\t}\n\t}\n\t// Return whether there were any differences\n\treturn differences.length === 0;\n};\n\n/*\nRegister and install the built in tiddler field modules\n*/\n$tw.modules.define(\"$:/boot/tiddlerfields/modified\",\"tiddlerfield\",{\n\tname: \"modified\",\n\tparse: $tw.utils.parseDate,\n\tstringify: $tw.utils.stringifyDate\n});\n$tw.modules.define(\"$:/boot/tiddlerfields/created\",\"tiddlerfield\",{\n\tname: \"created\",\n\tparse: $tw.utils.parseDate,\n\tstringify: $tw.utils.stringifyDate\n});\n$tw.modules.define(\"$:/boot/tiddlerfields/color\",\"tiddlerfield\",{\n\tname: \"color\",\n\teditTag: \"input\",\n\teditType: \"color\"\n});\n$tw.modules.define(\"$:/boot/tiddlerfields/tags\",\"tiddlerfield\",{\n\tname: \"tags\",\n\tparse: $tw.utils.parseStringArray,\n\tstringify: $tw.utils.stringifyList\n});\n$tw.modules.define(\"$:/boot/tiddlerfields/list\",\"tiddlerfield\",{\n\tname: \"list\",\n\tparse: $tw.utils.parseStringArray,\n\tstringify: $tw.utils.stringifyList\n});\n\n/////////////////////////// Barebones wiki store\n\n/*\nWiki constructor. State is stored in private members that only a small number of privileged accessor methods have direct access. Methods added via the prototype have to use these accessors and cannot access the state data directly.\noptions include:\nenableIndexers - Array of indexer names to enable, or null to use all available indexers\n*/\n$tw.Wiki = function(options) {\n\toptions = options || {};\n\tvar tiddlers = Object.create(null), // Hashmap of tiddlers\n\t\ttiddlerTitles = null, // Array of tiddler titles\n\t\tgetTiddlerTitles = function() {\n\t\t\tif(!tiddlerTitles) {\n\t\t\t\ttiddlerTitles = Object.keys(tiddlers).sort(function(a,b) {return a.localeCompare(b);});\n\t\t\t}\n\t\t\treturn tiddlerTitles;\n\t\t},\n\t\tpluginTiddlers = [], // Array of tiddlers containing registered plugins, ordered by priority\n\t\tpluginInfo = Object.create(null), // Hashmap of parsed plugin content\n\t\tshadowTiddlers = Object.create(null), // Hashmap by title of {source:, tiddler:}\n\t\tshadowTiddlerTitles = null,\n\t\tgetShadowTiddlerTitles = function() {\n\t\t\tif(!shadowTiddlerTitles) {\n\t\t\t\tshadowTiddlerTitles = Object.keys(shadowTiddlers).sort(function(a,b) {return a.localeCompare(b);});\n\t\t\t}\n\t\t\treturn shadowTiddlerTitles;\n\t\t},\n\t\tenableIndexers = options.enableIndexers || null,\n\t\tindexers = [],\n\t\tindexersByName = Object.create(null);\n\n\tthis.addIndexer = function(indexer,name) {\n\t\t// Bail if this indexer is not enabled\n\t\tif(enableIndexers && enableIndexers.indexOf(name) === -1) {\n\t\t\treturn;\n\t\t}\n\t\tindexers.push(indexer);\n\t\tindexersByName[name] = indexer;\n\t\tindexer.init();\n\t};\n\n\tthis.getIndexer = function(name) {\n\t\treturn indexersByName[name] || null;\n\t};\n\n\t// Add a tiddler to the store\n\tthis.addTiddler = function(tiddler) {\n\t\tif(!(tiddler instanceof $tw.Tiddler)) {\n\t\t\ttiddler = new $tw.Tiddler(tiddler);\n\t\t}\n\t\t// Save the tiddler\n\t\tif(tiddler) {\n\t\t\tvar title = tiddler.fields.title;\n\t\t\tif(title) {\n// Uncomment the following line for detailed logs of all tiddler writes\n// console.log(\"Adding\",title,tiddler)\n\t\t\t\t// Record the old tiddler state\n\t\t\t\tvar updateDescriptor = {\n\t\t\t\t\told: {\n\t\t\t\t\t\ttiddler: this.getTiddler(title),\n\t\t\t\t\t\tshadow: this.isShadowTiddler(title),\n\t\t\t\t\t\texists: this.tiddlerExists(title)\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\t// Save the new tiddler\n\t\t\t\ttiddlers[title] = tiddler;\n\t\t\t\t// Check we've got the title\n\t\t\t\ttiddlerTitles = $tw.utils.insertSortedArray(tiddlerTitles || [],title);\n\t\t\t\t// Record the new tiddler state\n\t\t\t\tupdateDescriptor[\"new\"] = {\n\t\t\t\t\ttiddler: tiddler,\n\t\t\t\t\tshadow: this.isShadowTiddler(title),\n\t\t\t\t\texists: this.tiddlerExists(title)\n\t\t\t\t};\n\t\t\t\t// Update indexes\n\t\t\t\tthis.clearCache(title);\n\t\t\t\tthis.clearGlobalCache();\n\t\t\t\t$tw.utils.each(indexers,function(indexer) {\n\t\t\t\t\tindexer.update(updateDescriptor);\n\t\t\t\t});\n\t\t\t\t// Queue a change event\n\t\t\t\tthis.enqueueTiddlerEvent(title);\n\t\t\t}\n\t\t}\n\t};\n\n\t// Delete a tiddler\n\tthis.deleteTiddler = function(title) {\n// Uncomment the following line for detailed logs of all tiddler deletions\n// console.log(\"Deleting\",title)\n\t\tif($tw.utils.hop(tiddlers,title)) {\n\t\t\t// Record the old tiddler state\n\t\t\tvar updateDescriptor = {\n\t\t\t\told: {\n\t\t\t\t\ttiddler: this.getTiddler(title),\n\t\t\t\t\tshadow: this.isShadowTiddler(title),\n\t\t\t\t\texists: this.tiddlerExists(title)\n\t\t\t\t}\n\t\t\t};\n\t\t\t// Delete the tiddler\n\t\t\tdelete tiddlers[title];\n\t\t\t// Delete it from the list of titles\n\t\t\tif(tiddlerTitles) {\n\t\t\t\tvar index = tiddlerTitles.indexOf(title);\n\t\t\t\tif(index !== -1) {\n\t\t\t\t\ttiddlerTitles.splice(index,1);\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Record the new tiddler state\n\t\t\tupdateDescriptor[\"new\"] = {\n\t\t\t\ttiddler: this.getTiddler(title),\n\t\t\t\tshadow: this.isShadowTiddler(title),\n\t\t\t\texists: this.tiddlerExists(title)\n\t\t\t};\n\t\t\t// Update indexes\n\t\t\tthis.clearCache(title);\n\t\t\tthis.clearGlobalCache();\n\t\t\t$tw.utils.each(indexers,function(indexer) {\n\t\t\t\tindexer.update(updateDescriptor);\n\t\t\t});\n\t\t\t// Queue a change event\n\t\t\tthis.enqueueTiddlerEvent(title,true);\n\t\t}\n\t};\n\n\t// Get a tiddler from the store\n\tthis.getTiddler = function(title) {\n\t\tif(title) {\n\t\t\tvar t = tiddlers[title];\n\t\t\tif(t !== undefined) {\n\t\t\t\treturn t;\n\t\t\t} else {\n\t\t\t\tvar s = shadowTiddlers[title];\n\t\t\t\tif(s !== undefined) {\n\t\t\t\t\treturn s.tiddler;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn undefined;\n\t};\n\n\t// Get an array of all tiddler titles\n\tthis.allTitles = function() {\n\t\treturn getTiddlerTitles().slice(0);\n\t};\n\n\t// Iterate through all tiddler titles\n\tthis.each = function(callback) {\n\t\tvar titles = getTiddlerTitles(),\n\t\t\tindex,titlesLength,title;\n\t\tfor(index = 0, titlesLength = titles.length; index < titlesLength; index++) {\n\t\t\ttitle = titles[index];\n\t\t\tcallback(tiddlers[title],title);\n\t\t}\n\t};\n\n\t// Get an array of all shadow tiddler titles\n\tthis.allShadowTitles = function() {\n\t\treturn getShadowTiddlerTitles().slice(0);\n\t};\n\n\t// Iterate through all shadow tiddler titles\n\tthis.eachShadow = function(callback) {\n\t\tvar titles = getShadowTiddlerTitles(),\n\t\t\tindex,titlesLength,title;\n\t\tfor(index = 0, titlesLength = titles.length; index < titlesLength; index++) {\n\t\t\ttitle = titles[index];\n\t\t\tif(tiddlers[title]) {\n\t\t\t\tcallback(tiddlers[title],title);\n\t\t\t} else {\n\t\t\t\tvar shadowInfo = shadowTiddlers[title];\n\t\t\t\tcallback(shadowInfo.tiddler,title);\n\t\t\t}\n\t\t}\n\t};\n\n\t// Iterate through all tiddlers and then the shadows\n\tthis.eachTiddlerPlusShadows = function(callback) {\n\t\tvar index,titlesLength,title,\n\t\t\ttitles = getTiddlerTitles();\n\t\tfor(index = 0, titlesLength = titles.length; index < titlesLength; index++) {\n\t\t\ttitle = titles[index];\n\t\t\tcallback(tiddlers[title],title);\n\t\t}\n\t\ttitles = getShadowTiddlerTitles();\n\t\tfor(index = 0, titlesLength = titles.length; index < titlesLength; index++) {\n\t\t\ttitle = titles[index];\n\t\t\tif(!tiddlers[title]) {\n\t\t\t\tvar shadowInfo = shadowTiddlers[title];\n\t\t\t\tcallback(shadowInfo.tiddler,title);\n\t\t\t}\n\t\t}\n\t};\n\n\t// Iterate through all the shadows and then the tiddlers\n\tthis.eachShadowPlusTiddlers = function(callback) {\n\t\tvar index,titlesLength,title,\n\t\t\ttitles = getShadowTiddlerTitles();\n\t\tfor(index = 0, titlesLength = titles.length; index < titlesLength; index++) {\n\t\t\ttitle = titles[index];\n\t\t\tif(tiddlers[title]) {\n\t\t\t\tcallback(tiddlers[title],title);\n\t\t\t} else {\n\t\t\t\tvar shadowInfo = shadowTiddlers[title];\n\t\t\t\tcallback(shadowInfo.tiddler,title);\n\t\t\t}\n\t\t}\n\t\ttitles = getTiddlerTitles();\n\t\tfor(index = 0, titlesLength = titles.length; index < titlesLength; index++) {\n\t\t\ttitle = titles[index];\n\t\t\tif(!shadowTiddlers[title]) {\n\t\t\t\tcallback(tiddlers[title],title);\n\t\t\t}\n\t\t}\n\t};\n\n\t// Test for the existence of a tiddler (excludes shadow tiddlers)\n\tthis.tiddlerExists = function(title) {\n\t\treturn !!$tw.utils.hop(tiddlers,title);\n\t};\n\n\t// Determines if a tiddler is a shadow tiddler, regardless of whether it has been overridden by a real tiddler\n\tthis.isShadowTiddler = function(title) {\n\t\treturn $tw.utils.hop(shadowTiddlers,title);\n\t};\n\n\tthis.getShadowSource = function(title) {\n\t\tif($tw.utils.hop(shadowTiddlers,title)) {\n\t\t\treturn shadowTiddlers[title].source;\n\t\t}\n\t\treturn null;\n\t};\n\n\t// Get an array of all the currently recognised plugin types\n\tthis.getPluginTypes = function() {\n\t\tvar types = [];\n\t\t$tw.utils.each(pluginTiddlers,function(pluginTiddler) {\n\t\t\tvar pluginType = pluginTiddler.fields[\"plugin-type\"];\n\t\t\tif(pluginType && types.indexOf(pluginType) === -1) {\n\t\t\t\ttypes.push(pluginType);\n\t\t\t}\n\t\t});\n\t\treturn types;\n\t};\n\n\t// Read plugin info for all plugins, or just an array of titles. Returns the number of plugins updated or deleted\n\tthis.readPluginInfo = function(titles) {\n\t\tvar results = {\n\t\t\tmodifiedPlugins: [],\n\t\t\tdeletedPlugins: []\n\t\t};\n\t\t$tw.utils.each(titles || getTiddlerTitles(),function(title) {\n\t\t\tvar tiddler = tiddlers[title];\n\t\t\tif(tiddler) {\n\t\t\t\tif(tiddler.fields.type === \"application/json\" && tiddler.hasField(\"plugin-type\") && tiddler.fields.text) {\n\t\t\t\t\tpluginInfo[tiddler.fields.title] = $tw.utils.parseJSONSafe(tiddler.fields.text);\n\t\t\t\t\tresults.modifiedPlugins.push(tiddler.fields.title);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif(pluginInfo[title]) {\n\t\t\t\t\tdelete pluginInfo[title];\n\t\t\t\t\tresults.deletedPlugins.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\treturn results;\n\t};\n\n\t// Get plugin info for a plugin\n\tthis.getPluginInfo = function(title) {\n\t\treturn pluginInfo[title];\n\t};\n\n\t// Register the plugin tiddlers of a particular type, or null/undefined for any type, optionally restricting registration to an array of tiddler titles. Return the array of titles affected\n\tthis.registerPluginTiddlers = function(pluginType,titles) {\n\t\tvar self = this,\n\t\t\tregisteredTitles = [],\n\t\t\tcheckTiddler = function(tiddler,title) {\n\t\t\t\tif(tiddler && tiddler.fields.type === \"application/json\" && tiddler.fields[\"plugin-type\"] && (!pluginType || tiddler.fields[\"plugin-type\"] === pluginType)) {\n\t\t\t\t\tvar disablingTiddler = self.getTiddler(\"$:/config/Plugins/Disabled/\" + title);\n\t\t\t\t\tif(title === \"$:/core\" || title === \"$:/core-server\" || !disablingTiddler || (disablingTiddler.fields.text || \"\").trim() !== \"yes\") {\n\t\t\t\t\t\tself.unregisterPluginTiddlers(null,[title]); // Unregister the plugin if it's already registered\n\t\t\t\t\t\tpluginTiddlers.push(tiddler);\n\t\t\t\t\t\tregisteredTitles.push(tiddler.fields.title);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\tif(titles) {\n\t\t\t$tw.utils.each(titles,function(title) {\n\t\t\t\tcheckTiddler(self.getTiddler(title),title);\n\t\t\t});\n\t\t} else {\n\t\t\tthis.each(function(tiddler,title) {\n\t\t\t\tcheckTiddler(tiddler,title);\n\t\t\t});\n\t\t}\n\t\treturn registeredTitles;\n\t};\n\n\t// Unregister the plugin tiddlers of a particular type, or null/undefined for any type, optionally restricting unregistering to an array of tiddler titles. Returns an array of the titles affected\n\tthis.unregisterPluginTiddlers = function(pluginType,titles) {\n\t\tvar unregisteredTitles = [];\n\t\t// Remove any previous registered plugins of this type\n\t\tfor(var t=pluginTiddlers.length-1; t>=0; t--) {\n\t\t\tvar tiddler = pluginTiddlers[t];\n\t\t\tif(tiddler.fields[\"plugin-type\"] && (!pluginType || tiddler.fields[\"plugin-type\"] === pluginType) && (!titles || titles.indexOf(tiddler.fields.title) !== -1)) {\n\t\t\t\tunregisteredTitles.push(tiddler.fields.title);\n\t\t\t\tpluginTiddlers.splice(t,1);\n\t\t\t}\n\t\t}\n\t\treturn unregisteredTitles;\n\t};\n\n\t// Unpack the currently registered plugins, creating shadow tiddlers for their constituent tiddlers\n\tthis.unpackPluginTiddlers = function() {\n\t\t// Sort the plugin titles by the `plugin-priority` field, if this field is missing, default to 1\n\t\tpluginTiddlers.sort(function(a, b) {\n\t\t\tvar priorityA = \"plugin-priority\" in a.fields ? a.fields[\"plugin-priority\"] : 1;\n\t\t\tvar priorityB = \"plugin-priority\" in b.fields ? b.fields[\"plugin-priority\"] : 1;\n\t\t\tif(priorityA !== priorityB) {\n\t\t\t\treturn priorityA - priorityB;\n\t\t\t} else if(a.fields.title < b.fields.title) {\n\t\t\t\treturn -1;\n\t\t\t} else if(a.fields.title === b.fields.title) {\n\t\t\t\treturn 0;\n\t\t\t} else {\n\t\t\t\treturn +1;\n\t\t\t}\n\t\t});\n\t\t// Now go through the plugins in ascending order and assign the shadows\n\t\tshadowTiddlers = Object.create(null);\n\t\t$tw.utils.each(pluginTiddlers,function(tiddler) {\n\t\t\t// Extract the constituent tiddlers\n\t\t\tif($tw.utils.hop(pluginInfo,tiddler.fields.title)) {\n\t\t\t\t$tw.utils.each(pluginInfo[tiddler.fields.title].tiddlers,function(constituentTiddler,constituentTitle) {\n\t\t\t\t\t// Save the tiddler object\n\t\t\t\t\tif(constituentTitle) {\n\t\t\t\t\t\tshadowTiddlers[constituentTitle] = {\n\t\t\t\t\t\t\tsource: tiddler.fields.title,\n\t\t\t\t\t\t\ttiddler: new $tw.Tiddler(constituentTiddler,{title: constituentTitle})\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\tshadowTiddlerTitles = null;\n\t\tthis.clearCache(null);\n\t\tthis.clearGlobalCache();\n\t\t$tw.utils.each(indexers,function(indexer) {\n\t\t\tindexer.rebuild();\n\t\t});\n\t};\n\n\tif(this.addIndexersToWiki) {\n\t\tthis.addIndexersToWiki();\n\t}\n};\n\n// Dummy methods that will be filled in after boot\n$tw.Wiki.prototype.clearCache =\n$tw.Wiki.prototype.clearGlobalCache =\n$tw.Wiki.prototype.enqueueTiddlerEvent = function() {};\n\n// Add an array of tiddlers\n$tw.Wiki.prototype.addTiddlers = function(tiddlers) {\n\tfor(var t=0; t<tiddlers.length; t++) {\n\t\tthis.addTiddler(tiddlers[t]);\n\t}\n};\n\n/*\nDefine all modules stored in ordinary tiddlers\n*/\n$tw.Wiki.prototype.defineTiddlerModules = function() {\n\tthis.each(function(tiddler,title) {\n\t\t// Modules in draft tiddlers are disabled\n\t\tif(tiddler.hasField(\"module-type\") && (!tiddler.hasField(\"draft.of\"))) {\n\t\t\tswitch(tiddler.fields.type) {\n\t\t\t\tcase \"application/javascript\":\n\t\t\t\t\t// We only define modules that haven't already been defined, because in the browser modules in system tiddlers are defined in inline script\n\t\t\t\t\tif(!$tw.utils.hop($tw.modules.titles,tiddler.fields.title)) {\n\t\t\t\t\t\t$tw.modules.define(tiddler.fields.title,tiddler.fields[\"module-type\"],tiddler.fields.text);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"application/json\":\n\t\t\t\t\t$tw.modules.define(tiddler.fields.title,tiddler.fields[\"module-type\"],$tw.utils.parseJSONSafe(tiddler.fields.text));\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"application/x-tiddler-dictionary\":\n\t\t\t\t\t$tw.modules.define(tiddler.fields.title,tiddler.fields[\"module-type\"],$tw.utils.parseFields(tiddler.fields.text));\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nRegister all the module tiddlers that have a module type\n*/\n$tw.Wiki.prototype.defineShadowModules = function() {\n\tvar self = this;\n\tthis.eachShadow(function(tiddler,title) {\n\t\t// Don't define the module if it is overidden by an ordinary tiddler\n\t\tif(!self.tiddlerExists(title) && tiddler.hasField(\"module-type\")) {\n\t\t\tif(tiddler.hasField(\"draft.of\")) {\n\t\t\t\t// Report a fundamental problem\n\t\t\t\tconsole.warn(`TiddlyWiki: Plugins should not contain tiddlers with a 'draft.of' field: ${tiddler.fields.title}`);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Define the module\n\t\t\t$tw.modules.define(tiddler.fields.title,tiddler.fields[\"module-type\"],tiddler.fields.text);\n\t\t}\n\t});\n};\n\n/*\nEnable safe mode by deleting any tiddlers that override a shadow tiddler\n*/\n$tw.Wiki.prototype.processSafeMode = function() {\n\tvar self = this,\n\t\toverrides = [];\n\t// Find the overriding tiddlers\n\tthis.each(function(tiddler,title) {\n\t\tif(self.isShadowTiddler(title)) {\n\t\t\tconsole.log(title);\n\t\t\toverrides.push(title);\n\t\t}\n\t});\n\t// Assemble a report tiddler\n\tvar titleReportTiddler = \"TiddlyWiki Safe Mode\",\n\t\treport = [];\n\treport.push(\"TiddlyWiki has been started in [[safe mode|https://tiddlywiki.com/static/SafeMode.html]]. All plugins are temporarily disabled. Most customisations have been disabled by renaming the following tiddlers:\");\n\t// Delete the overrides\n\toverrides.forEach(function(title) {\n\t\tvar tiddler = self.getTiddler(title),\n\t\t\tnewTitle = \"SAFE: \" + title;\n\t\tself.deleteTiddler(title);\n\t\tself.addTiddler(new $tw.Tiddler(tiddler, {title: newTitle}));\n\t\treport.push(\"* [[\" + title + \"|\" + newTitle + \"]]\");\n\t});\n\treport.push();\n\tthis.addTiddler(new $tw.Tiddler({title: titleReportTiddler, text: report.join(\"\\n\\n\")}));\n\t// Set $:/DefaultTiddlers to point to our report\n\tthis.addTiddler(new $tw.Tiddler({title: \"$:/DefaultTiddlers\", text: \"[[\" + titleReportTiddler + \"]]\"}));\n};\n\n/*\nExtracts tiddlers from a typed block of text, specifying default field values\n*/\n$tw.Wiki.prototype.deserializeTiddlers = function(type,text,srcFields,options) {\n\tsrcFields = srcFields || Object.create(null);\n\toptions = options || {};\n\tvar deserializer = $tw.Wiki.tiddlerDeserializerModules[options.deserializer],\n\t\tfields = Object.create(null);\n\tif(!deserializer) {\n\t\tdeserializer = $tw.Wiki.tiddlerDeserializerModules[type];\n\t}\n\tif(!deserializer && $tw.utils.getFileExtensionInfo(type)) {\n\t\t// If we didn't find the serializer, try converting it from an extension to a content type\n\t\ttype = $tw.utils.getFileExtensionInfo(type).type;\n\t\tdeserializer = $tw.Wiki.tiddlerDeserializerModules[type];\n\t}\n\tif(!deserializer && $tw.config.contentTypeInfo[type]) {\n\t\t// see if this type has a different deserializer registered with it\n\t\ttype = $tw.config.contentTypeInfo[type].deserializerType;\n\t\tdeserializer = $tw.Wiki.tiddlerDeserializerModules[type];\n\t}\n\tif(!deserializer) {\n\t\t// If we still don't have a deserializer, treat it as plain text\n\t\tdeserializer = $tw.Wiki.tiddlerDeserializerModules[\"text/plain\"];\n\t}\n\tfor(var f in srcFields) {\n\t\tfields[f] = srcFields[f];\n\t}\n\tif(deserializer) {\n\t\treturn deserializer.call(this,text,fields,type);\n\t} else {\n\t\t// Return a raw tiddler for unknown types\n\t\tfields.text = text;\n\t\treturn [fields];\n\t}\n};\n\n/*\nRegister the built in tiddler deserializer modules\n*/\nvar deserializeHeaderComment = function(text,fields) {\n\t\tvar headerCommentRegExp = new RegExp($tw.config.jsModuleHeaderRegExpString,\"mg\"),\n\t\t\tmatch = headerCommentRegExp.exec(text);\n\t\tfields.text = text;\n\t\tif(match) {\n\t\t\tfields = $tw.utils.parseFields(match[1].split(/\\r?\\n\\r?\\n/mg)[0],fields);\n\t\t}\n\t\treturn [fields];\n\t};\n$tw.modules.define(\"$:/boot/tiddlerdeserializer/js\",\"tiddlerdeserializer\",{\n\t\"application/javascript\": deserializeHeaderComment\n});\n$tw.modules.define(\"$:/boot/tiddlerdeserializer/css\",\"tiddlerdeserializer\",{\n\t\"text/css\": deserializeHeaderComment\n});\n$tw.modules.define(\"$:/boot/tiddlerdeserializer/tid\",\"tiddlerdeserializer\",{\n\t\"application/x-tiddler\": function(text,fields) {\n\t\tvar split = text.split(/\\r?\\n\\r?\\n/mg);\n\t\tif(split.length >= 1) {\n\t\t\tfields = $tw.utils.parseFields(split[0],fields);\n\t\t}\n\t\tif(split.length >= 2) {\n\t\t\tfields.text = split.slice(1).join(\"\\n\\n\");\n\t\t}\n\t\treturn [fields];\n\t}\n});\n$tw.modules.define(\"$:/boot/tiddlerdeserializer/tids\",\"tiddlerdeserializer\",{\n\t\"application/x-tiddlers\": function(text,fields) {\n\t\tvar titles = [],\n\t\t\ttiddlers = [],\n\t\t\tmatch = /\\r?\\n\\r?\\n/mg.exec(text);\n\t\tif(match) {\n\t\t\tfields = $tw.utils.parseFields(text.substr(0,match.index),fields);\n\t\t\tvar lines = text.substr(match.index + match[0].length).split(/\\r?\\n/mg);\n\t\t\tfor(var t=0; t<lines.length; t++) {\n\t\t\t\tvar line = lines[t];\n\t\t\t\tif(line.charAt(0) !== \"#\") {\n\t\t\t\t\tvar colonPos= line.indexOf(\":\");\n\t\t\t\t\tif(colonPos !== -1) {\n\t\t\t\t\t\tvar tiddler = $tw.utils.extend(Object.create(null),fields);\n\t\t\t\t\t\ttiddler.title = (tiddler.title || \"\") + line.substr(0,colonPos).trim();\n\t\t\t\t\t\tif(titles.indexOf(tiddler.title) !== -1) {\n\t\t\t\t\t\t\tconsole.log(\"Warning: .multids file contains multiple definitions for \" + tiddler.title);\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttitles.push(tiddler.title);\n\t\t\t\t\t\ttiddler.text = line.substr(colonPos + 2).trim();\n\t\t\t\t\t\ttiddlers.push(tiddler);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn tiddlers;\n\t}\n});\n$tw.modules.define(\"$:/boot/tiddlerdeserializer/txt\",\"tiddlerdeserializer\",{\n\t\"text/plain\": function(text,fields,type) {\n\t\tfields.text = text;\n\t\tfields.type = type || \"text/plain\";\n\t\treturn [fields];\n\t}\n});\n$tw.modules.define(\"$:/boot/tiddlerdeserializer/html\",\"tiddlerdeserializer\",{\n\t\"text/html\": function(text,fields) {\n\t\tfields.text = text;\n\t\tfields.type = \"text/html\";\n\t\treturn [fields];\n\t}\n});\n$tw.modules.define(\"$:/boot/tiddlerdeserializer/json\",\"tiddlerdeserializer\",{\n\t\"application/json\": function(text,fields) {\n\t\tvar isTiddlerValid = function(data) {\n\t\t\t\t// Not valid if it's not an object with a title property\n\t\t\t\tif(typeof(data) !== \"object\" || !$tw.utils.hop(data,\"title\")) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tfor(var f in data) {\n\t\t\t\t\tif($tw.utils.hop(data,f)) {\n\t\t\t\t\t\t// Check field name doesn't contain control characters\n\t\t\t\t\t\tif(typeof(data[f]) !== \"string\" || /[\\x00-\\x1F]/.test(f)) {\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t},\n\t\t\tisTiddlerArrayValid = function(data) {\n\t\t\t\tfor(var t=0; t<data.length; t++) {\n\t\t\t\t\tif(!isTiddlerValid(data[t])) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t},\n\t\t\tdata = $tw.utils.parseJSONSafe(text);\n\t\tif($tw.utils.isArray(data) && isTiddlerArrayValid(data)) {\n\t\t\treturn data;\n\t\t} else if(isTiddlerValid(data)) {\n\t\t\treturn [data];\n\t\t} else {\n\t\t\t// Plain JSON file\n\t\t\tfields.text = text;\n\t\t\tfields.type = \"application/json\";\n\t\t\treturn [fields];\n\t\t}\n\t}\n});\n\n/////////////////////////// Browser definitions\n\nif($tw.browser && !$tw.node) {\n\n/*\nDecrypt any tiddlers stored within the element with the ID \"encryptedArea\". The function is asynchronous to allow the user to be prompted for a password\n\tcallback: function to be called the decryption is complete\n*/\n$tw.boot.decryptEncryptedTiddlers = function(callback) {\n\tvar encryptedArea = document.getElementById(\"encryptedStoreArea\");\n\tif(encryptedArea) {\n\t\tvar encryptedText = encryptedArea.innerHTML,\n\t\t\tprompt = \"Enter a password to decrypt this TiddlyWiki\";\n\t\t// Prompt for the password\n\t\tif($tw.utils.hop($tw.boot,\"encryptionPrompts\")) {\n\t\t\tprompt = $tw.boot.encryptionPrompts.decrypt;\n\t\t}\n\t\t$tw.passwordPrompt.createPrompt({\n\t\t\tserviceName: prompt,\n\t\t\tnoUserName: true,\n\t\t\tsubmitText: \"Decrypt\",\n\t\t\tcallback: function(data) {\n\t\t\t\t// Attempt to decrypt the tiddlers\n\t\t\t\t$tw.crypto.setPassword(data.password);\n\t\t\t\tvar decryptedText = $tw.crypto.decrypt(encryptedText);\n\t\t\t\tif(decryptedText) {\n\t\t\t\t\tvar json = $tw.utils.parseJSONSafe(decryptedText);\n\t\t\t\t\tfor(var title in json) {\n\t\t\t\t\t\t$tw.preloadTiddler(json[title]);\n\t\t\t\t\t}\n\t\t\t\t\t// Call the callback\n\t\t\t\t\tcallback();\n\t\t\t\t\t// Exit and remove the password prompt\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\t// We didn't decrypt everything, so continue to prompt for password\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t} else {\n\t\t// Just invoke the callback straight away if there weren't any encrypted tiddlers\n\t\tcallback();\n\t}\n};\n\n/*\nRegister a deserializer that can extract tiddlers from the DOM\n*/\n$tw.modules.define(\"$:/boot/tiddlerdeserializer/dom\",\"tiddlerdeserializer\",{\n\t\"(DOM)\": function(node) {\n\t\tvar extractTextTiddlers = function(node) {\n\t\t\t\tvar e = node.firstChild;\n\t\t\t\twhile(e && e.nodeName.toLowerCase() !== \"pre\") {\n\t\t\t\t\te = e.nextSibling;\n\t\t\t\t}\n\t\t\t\tvar title = node.getAttribute ? node.getAttribute(\"title\") : null;\n\t\t\t\tif(e && title) {\n\t\t\t\t\tvar attrs = node.attributes,\n\t\t\t\t\t\ttiddler = {\n\t\t\t\t\t\t\ttext: $tw.utils.htmlDecode(e.innerHTML)\n\t\t\t\t\t\t};\n\t\t\t\t\tfor(var i=attrs.length-1; i >= 0; i--) {\n\t\t\t\t\t\ttiddler[attrs[i].name] = attrs[i].value;\n\t\t\t\t\t}\n\t\t\t\t\treturn [tiddler];\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\t\t\textractModuleTiddlers = function(node) {\n\t\t\t\tif(node.hasAttribute && node.hasAttribute(\"data-tiddler-title\")) {\n\t\t\t\t\tvar text = node.innerHTML,\n\t\t\t\t\t\ts = text.indexOf(\"{\"),\n\t\t\t\t\t\te = text.lastIndexOf(\"}\");\n\t\t\t\t\tif(node.hasAttribute(\"data-module\") && s !== -1 && e !== -1) {\n\t\t\t\t\t\ttext = text.substring(s+1,e);\n\t\t\t\t\t}\n\t\t\t\t\tvar fields = {text: text},\n\t\t\t\t\t\tattributes = node.attributes;\n\t\t\t\t\tfor(var a=0; a<attributes.length; a++) {\n\t\t\t\t\t\tif(attributes[a].nodeName.substr(0,13) === \"data-tiddler-\") {\n\t\t\t\t\t\t\tfields[attributes[a].nodeName.substr(13)] = attributes[a].value;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn [fields];\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\t\t\tt,result = [];\n\t\tif(node) {\n\t\t\tvar type = (node.getAttribute && node.getAttribute(\"type\")) || null;\n\t\t\tif(type) {\n\t\t\t\t// A new-style container with an explicit deserialization type\n\t\t\t\tresult = $tw.wiki.deserializeTiddlers(type,node.textContent);\n\t\t\t} else {\n\t\t\t\t// An old-style container of classic DIV-based tiddlers\n\t\t\t\tfor(t = 0; t < node.childNodes.length; t++) {\n\t\t\t\t\tvar childNode = node.childNodes[t],\n\t\t\t\t\t\ttiddlers = extractTextTiddlers(childNode);\n\t\t\t\t\ttiddlers = tiddlers || extractModuleTiddlers(childNode);\n\t\t\t\t\tif(tiddlers) {\n\t\t\t\t\t\tresult.push.apply(result,tiddlers);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n});\n\n$tw.loadTiddlersBrowser = function() {\n\t// In the browser, we load tiddlers from certain elements\n\tvar containerSelectors = [\n\t\t// IDs for old-style v5.1.x tiddler stores\n\t\t\"#libraryModules\",\n\t\t\"#modules\",\n\t\t\"#bootKernelPrefix\",\n\t\t\"#bootKernel\",\n\t\t\"#styleArea\",\n\t\t\"#storeArea\",\n\t\t\"#systemArea\",\n\t\t// Classes for new-style v5.2.x JSON tiddler stores\n\t\t\"script.tiddlywiki-tiddler-store\"\n\t];\n\tfor(var t=0; t<containerSelectors.length; t++) {\n\t\tvar nodes = document.querySelectorAll(containerSelectors[t]);\n\t\tfor(var n=0; n<nodes.length; n++) {\n\t\t\t$tw.wiki.addTiddlers($tw.wiki.deserializeTiddlers(\"(DOM)\",nodes[n]));\n\t\t}\n\t}\n};\n\n} else {\n\n/////////////////////////// Server definitions\n\n/*\nGet any encrypted tiddlers\n*/\n$tw.boot.decryptEncryptedTiddlers = function(callback) {\n\t// Storing encrypted tiddlers on the server isn't supported yet\n\tcallback();\n};\n\n} // End of if($tw.browser && !$tw.node)\n\n/////////////////////////// Node definitions\n\nif($tw.node) {\n\n/*\nLoad the tiddlers contained in a particular file (and optionally extract fields from the accompanying .meta file) returned as {filepath:,type:,tiddlers:[],hasMetaFile:}\n*/\n$tw.loadTiddlersFromFile = function(filepath,fields) {\n\tvar ext = path.extname(filepath),\n\t\textensionInfo = $tw.utils.getFileExtensionInfo(ext),\n\t\ttype = extensionInfo ? extensionInfo.type : null,\n\t\ttypeInfo = type ? $tw.config.contentTypeInfo[type] : null,\n\t\tfileSize = fs.statSync(filepath).size,\n\t\tdata;\n\tif(fileSize > $tw.config.maxEditFileSize) {\n\t\tdata = \"File \" + filepath + \" not loaded because it is too large\";\n\t\tconsole.log(\"Warning: \" + data);\n\t\text = \".txt\";\n\t} else {\n\t\tdata = fs.readFileSync(filepath,typeInfo ? typeInfo.encoding : \"utf8\");\n\t}\n\tvar tiddlers = $tw.wiki.deserializeTiddlers(ext,data,fields),\n\t\tmetadata = $tw.loadMetadataForFile(filepath);\n\tif(metadata) {\n\t\tif(type === \"application/json\") {\n\t\t\ttiddlers = [{text: data, type: \"application/json\"}];\n\t\t}\n\t\ttiddlers = [$tw.utils.extend({},tiddlers[0],metadata)];\n\t}\n\treturn {filepath: filepath, type: type, tiddlers: tiddlers, hasMetaFile: !!metadata};\n};\n\n/*\nLoad the metadata fields in the .meta file corresponding to a particular file\n*/\n$tw.loadMetadataForFile = function(filepath) {\n\tvar metafilename = filepath + \".meta\";\n\tif(fs.existsSync(metafilename)) {\n\t\treturn $tw.utils.parseFields(fs.readFileSync(metafilename,\"utf8\") || \"\");\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nA default set of files for TiddlyWiki to ignore during load.\nThis matches what NPM ignores, and adds \"*.meta\" to ignore tiddler\nmetadata files.\n*/\n$tw.boot.excludeRegExp = /^\\.DS_Store$|^.*\\.meta$|^\\..*\\.swp$|^\\._.*$|^\\.git$|^\\.github$|^\\.vscode$|^\\.hg$|^\\.lock-wscript$|^\\.svn$|^\\.wafpickle-.*$|^CVS$|^npm-debug\\.log$/;\n\n/*\nLoad all the tiddlers recursively from a directory, including honouring `tiddlywiki.files` files for drawing in external files. Returns an array of {filepath:,type:,tiddlers: [{..fields...}],hasMetaFile:}. Note that no file information is returned for externally loaded tiddlers, just the `tiddlers` property.\n*/\n$tw.loadTiddlersFromPath = function(filepath,excludeRegExp) {\n\texcludeRegExp = excludeRegExp || $tw.boot.excludeRegExp;\n\tvar tiddlers = [];\n\tif(fs.existsSync(filepath)) {\n\t\tvar stat = fs.statSync(filepath);\n\t\tif(stat.isDirectory()) {\n\t\t\tvar files = fs.readdirSync(filepath);\n\t\t\t// Look for a tiddlywiki.files file\n\t\t\tif(files.indexOf(\"tiddlywiki.files\") !== -1) {\n\t\t\t\tArray.prototype.push.apply(tiddlers,$tw.loadTiddlersFromSpecification(filepath,excludeRegExp));\n\t\t\t} else {\n\t\t\t\t// If not, read all the files in the directory\n\t\t\t\t$tw.utils.each(files,function(file) {\n\t\t\t\t\tif(!excludeRegExp.test(file) && file !== \"plugin.info\") {\n\t\t\t\t\t\ttiddlers.push.apply(tiddlers,$tw.loadTiddlersFromPath(filepath + path.sep + file,excludeRegExp));\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t} else if(stat.isFile()) {\n\t\t\ttiddlers.push($tw.loadTiddlersFromFile(filepath,{title: filepath}));\n\t\t}\n\t}\n\treturn tiddlers;\n};\n\n/*\nLoad all the tiddlers defined by a `tiddlywiki.files` specification file\nfilepath: pathname of the directory containing the specification file\n*/\n$tw.loadTiddlersFromSpecification = function(filepath,excludeRegExp) {\n\tvar tiddlers = [];\n\t// Read the specification\n\tvar filesInfo = $tw.utils.parseJSONSafe(fs.readFileSync(filepath + path.sep + \"tiddlywiki.files\",\"utf8\"), function(e) {\n\t\tconsole.log(\"Warning: tiddlywiki.files in \" + filepath + \" invalid: \" + e.message);\n\t\treturn {};\n\t});\n\n\t// Helper to process a file\n\tvar processFile = function(filename,isTiddlerFile,fields,isEditableFile,rootPath) {\n\t\tvar extInfo = $tw.config.fileExtensionInfo[path.extname(filename)],\n\t\t\ttype = (extInfo || {}).type || fields.type || \"text/plain\",\n\t\t\ttypeInfo = $tw.config.contentTypeInfo[type] || {},\n\t\t\tpathname = path.resolve(filepath,filename),\n\t\t\tmetadata = $tw.loadMetadataForFile(pathname) || {},\n\t\t\tfileTooLarge = false,\n\t\t\ttext, fileTiddlers;\n\n\t\tif(\"_canonical_uri\" in fields) {\n\t\t\ttext = \"\";\n\t\t} else if(fs.statSync(pathname).size > $tw.config.maxEditFileSize) {\n\t\t\tvar msg = \"File \" + pathname + \" not loaded because it is too large\";\n\t\t\tconsole.log(\"Warning: \" + msg);\n\t\t\tfileTooLarge = true;\n\t\t\ttext = isTiddlerFile ? msg : \"\";\n\t\t} else {\n\t\t\ttext = fs.readFileSync(pathname,typeInfo.encoding || \"utf8\");\n\t\t}\n\n\t\tif(isTiddlerFile) {\n\t\t\tfileTiddlers = $tw.wiki.deserializeTiddlers(fileTooLarge ? \".txt\" : path.extname(pathname),text,metadata) || [];\n\t\t} else {\n\t\t\tfileTiddlers =  [$tw.utils.extend({text: text},metadata)];\n\t\t}\n\t\tvar combinedFields = $tw.utils.extend({},fields,metadata);\n\t\tif(fileTooLarge && isTiddlerFile) {\n\t\t\tdelete combinedFields.type;    // type altered\n\t\t}\n\t\t$tw.utils.each(fileTiddlers,function(tiddler) {\n\t\t\t$tw.utils.each(combinedFields,function(fieldInfo,name) {\n\t\t\t\tif(typeof fieldInfo === \"string\" || $tw.utils.isArray(fieldInfo)) {\n\t\t\t\t\ttiddler[name] = fieldInfo;\n\t\t\t\t} else {\n\t\t\t\t\tvar value = tiddler[name];\n\t\t\t\t\tswitch(fieldInfo.source) {\n\t\t\t\t\t\tcase \"subdirectories\":\n\t\t\t\t\t\t\tvalue = $tw.utils.stringifyList(path.relative(rootPath, filename).split(path.sep).slice(0, -1));\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"filepath\":\n\t\t\t\t\t\t\tvalue = path.relative(rootPath, filename).split(path.sep).join(\"/\");\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"filename\":\n\t\t\t\t\t\t\tvalue = path.basename(filename);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"filename-uri-decoded\":\n\t\t\t\t\t\t\tvalue = $tw.utils.decodeURIComponentSafe(path.basename(filename));\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"basename\":\n\t\t\t\t\t\t\tvalue = path.basename(filename,path.extname(filename));\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"basename-uri-decoded\":\n\t\t\t\t\t\t\tvalue = $tw.utils.decodeURIComponentSafe(path.basename(filename,path.extname(filename)));\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"extname\":\n\t\t\t\t\t\t\tvalue = path.extname(filename);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"created\":\n\t\t\t\t\t\t\tvalue = $tw.utils.stringifyDate(new Date(fs.statSync(pathname).birthtime));\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"modified\":\n\t\t\t\t\t\t\tvalue = $tw.utils.stringifyDate(new Date(fs.statSync(pathname).mtime));\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tif(fieldInfo.prefix) {\n\t\t\t\t\t\tvalue = fieldInfo.prefix + value;\n\t\t\t\t\t}\n\t\t\t\t\tif(fieldInfo.suffix) {\n\t\t\t\t\t\tvalue = value + fieldInfo.suffix;\n\t\t\t\t\t}\n\t\t\t\t\ttiddler[name] = value;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\tif(isEditableFile) {\n\t\t\ttiddlers.push({filepath: pathname, hasMetaFile: !!metadata && !isTiddlerFile, isEditableFile: true, tiddlers: fileTiddlers});\n\t\t} else {\n\t\t\ttiddlers.push({tiddlers: fileTiddlers});\n\t\t}\n\t};\n\t// Helper to recursively search subdirectories\n\tvar getAllFiles = function(dirPath, recurse, arrayOfFiles) {\n\t\trecurse = recurse || false;\n\t\tarrayOfFiles = arrayOfFiles || [];\n\t\tvar files = fs.readdirSync(dirPath);\n\t\tfiles.forEach(function(file) {\n\t\t\tif(recurse && fs.statSync(dirPath + path.sep + file).isDirectory()) {\n\t\t\t\tarrayOfFiles = getAllFiles(dirPath + path.sep + file, recurse, arrayOfFiles);\n\t\t\t} else if(fs.statSync(dirPath + path.sep + file).isFile()){\n\t\t\t\tarrayOfFiles.push(path.join(dirPath, path.sep, file));\n\t\t\t}\n\t\t});\n\t\treturn arrayOfFiles;\n\t};\n\t// Process the listed tiddlers\n\t$tw.utils.each(filesInfo.tiddlers,function(tidInfo) {\n\t\tif(tidInfo.prefix && tidInfo.suffix) {\n\t\t\ttidInfo.fields.text = {prefix: tidInfo.prefix,suffix: tidInfo.suffix};\n\t\t} else if(tidInfo.prefix) {\n\t\t\ttidInfo.fields.text = {prefix: tidInfo.prefix};\n\t\t} else if(tidInfo.suffix) {\n\t\t\ttidInfo.fields.text = {suffix: tidInfo.suffix};\n\t\t}\n\t\ttidInfo.fields = tidInfo.fields || {};\n\t\tprocessFile(tidInfo.file,tidInfo.isTiddlerFile,tidInfo.fields);\n\t});\n\t// Process any listed directories\n\t$tw.utils.each(filesInfo.directories,function(dirSpec) {\n\t\t// Read literal directories directly\n\t\tif(typeof dirSpec === \"string\") {\n\t\t\tvar pathname = path.resolve(filepath,dirSpec);\n\t\t\tif(fs.existsSync(pathname) && fs.statSync(pathname).isDirectory()) {\n\t\t\t\ttiddlers.push.apply(tiddlers,$tw.loadTiddlersFromPath(pathname,excludeRegExp));\n\t\t\t}\n\t\t} else {\n\t\t\t// Process directory specifier\n\t\t\tvar dirPath = path.resolve(filepath,dirSpec.path);\n\t\t\tif(fs.existsSync(dirPath) && fs.statSync(dirPath).isDirectory()) {\n\t\t\t\tvar\tfiles = getAllFiles(dirPath, dirSpec.searchSubdirectories),\n\t\t\t\t\tfileRegExp = new RegExp(dirSpec.filesRegExp || \"^.*$\"),\n\t\t\t\t\tmetaRegExp = /^.*\\.meta$/;\n\t\t\t\tfor(var t=0; t<files.length; t++) {\n\t\t\t\t\tvar thisPath = path.relative(filepath, files[t]),\n\t\t\t\t\tfilename = path.basename(thisPath);\n\t\t\t\t\tif(filename !== \"tiddlywiki.files\" && !metaRegExp.test(filename) && fileRegExp.test(filename)) {\n\t\t\t\t\t\tdirSpec.fields = dirSpec.fields || {};\n\t\t\t\t\t\tprocessFile(thisPath,dirSpec.isTiddlerFile,dirSpec.fields,dirSpec.isEditableFile,dirSpec.path);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconsole.log(\"Warning: a directory in a tiddlywiki.files file does not exist.\");\n\t\t\t\tconsole.log(\"dirPath: \" + dirPath);\n\t\t\t\tconsole.log(\"tiddlywiki.files location: \" + filepath);\n\t\t\t}\n\t\t}\n\t});\n\treturn tiddlers;\n};\n\n/*\nLoad the tiddlers from a plugin folder, and package them up into a proper JSON plugin tiddler\n*/\n$tw.loadPluginFolder = function(filepath,excludeRegExp) {\n\texcludeRegExp = excludeRegExp || $tw.boot.excludeRegExp;\n\tvar infoPath = filepath + path.sep + \"plugin.info\";\n\tif(fs.existsSync(filepath) && fs.statSync(filepath).isDirectory()) {\n\t\t// Read the plugin information\n\t\tif(!fs.existsSync(infoPath) || !fs.statSync(infoPath).isFile()) {\n\t\t\tconsole.log(\"Warning: missing plugin.info file in \" + filepath);\n\t\t\treturn null;\n\t\t}\n\t\tvar pluginInfo = $tw.utils.parseJSONSafe(fs.readFileSync(infoPath,\"utf8\"),function() {return null;});\n\t\tif(!pluginInfo) {\n\t\t\tconsole.log(\"warning: invalid JSON in plugin.info file at \" + infoPath);\n\t\t\tpluginInfo = {};\n\t\t}\n\t\t// Read the plugin files\n\t\tvar pluginFiles = $tw.loadTiddlersFromPath(filepath,excludeRegExp);\n\t\t// Save the plugin tiddlers into the plugin info\n\t\tpluginInfo.tiddlers = pluginInfo.tiddlers || Object.create(null);\n\t\tfor(var f=0; f<pluginFiles.length; f++) {\n\t\t\tvar tiddlers = pluginFiles[f].tiddlers;\n\t\t\tfor(var t=0; t<tiddlers.length; t++) {\n\t\t\t\tvar tiddler= tiddlers[t];\n\t\t\t\tif(tiddler.title) {\n\t\t\t\t\tpluginInfo.tiddlers[tiddler.title] = tiddler;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// Give the plugin the same version number as the core if it doesn't have one\n\t\tif(!(\"version\" in pluginInfo)) {\n\t\t\tpluginInfo.version = $tw.packageInfo.version;\n\t\t}\n\t\t// Use \"plugin\" as the plugin-type if we don't have one\n\t\tif(!(\"plugin-type\" in pluginInfo)) {\n\t\t\tpluginInfo[\"plugin-type\"] = \"plugin\";\n\t\t}\n\t\tpluginInfo.dependents = pluginInfo.dependents || [];\n\t\tpluginInfo.type = \"application/json\";\n\t\t// Set plugin text\n\t\tpluginInfo.text = JSON.stringify({tiddlers: pluginInfo.tiddlers});\n\t\tdelete pluginInfo.tiddlers;\n\t\t// Deserialise array fields (currently required for the dependents field)\n\t\tfor(var field in pluginInfo) {\n\t\t\tif($tw.utils.isArray(pluginInfo[field])) {\n\t\t\t\tpluginInfo[field] = $tw.utils.stringifyList(pluginInfo[field]);\n\t\t\t}\n\t\t}\n\t\treturn pluginInfo;\n\t} else {\n\t\t\treturn null;\n\t}\n};\n\n/*\nname: Name of the plugin to find\npaths: array of file paths to search for it\nReturns the path of the plugin folder\n*/\n$tw.findLibraryItem = function(name,paths) {\n\tvar pathIndex = 0;\n\tdo {\n\t\tvar pluginPath = path.resolve(paths[pathIndex],\"./\" + name);\n\t\tif(fs.existsSync(pluginPath) && fs.statSync(pluginPath).isDirectory()) {\n\t\t\treturn pluginPath;\n\t\t}\n\t} while(++pathIndex < paths.length);\n\treturn null;\n};\n\n/*\nname: Name of the plugin to load\npaths: array of file paths to search for it\n*/\n$tw.loadPlugin = function(name,paths) {\n\tvar pluginPath = $tw.findLibraryItem(name,paths);\n\tif(pluginPath) {\n\t\tvar pluginFields = $tw.loadPluginFolder(pluginPath);\n\t\tif(pluginFields) {\n\t\t\t$tw.wiki.addTiddler(pluginFields);\n\t\t\treturn;\n\t\t}\n\t}\n\tconsole.log(\"Warning: Cannot find plugin '\" + name + \"'\");\n};\n\n/*\nlibraryPath: Path of library folder for these plugins (relative to core path)\nenvVar: Environment variable name for these plugins\nReturns an array of search paths\n*/\n$tw.getLibraryItemSearchPaths = function(libraryPath,envVar) {\n\tvar pluginPaths = [path.resolve($tw.boot.corePath,libraryPath)],\n\t\tenv;\n\tif(envVar) {\n\t\tenv = process.env[envVar];\n\t\tif(env) {\n\t\t\tenv.split(path.delimiter).map(function(item) {\n\t\t\t\tif(item) {\n\t\t\t\t\tpluginPaths.push(item);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\treturn pluginPaths;\n};\n\n/*\nplugins: Array of names of plugins (eg, \"tiddlywiki/filesystemadaptor\")\nlibraryPath: Path of library folder for these plugins (relative to core path)\nenvVar: Environment variable name for these plugins\n*/\n$tw.loadPlugins = function(plugins,libraryPath,envVar) {\n\tif(plugins) {\n\t\tvar pluginPaths = $tw.getLibraryItemSearchPaths(libraryPath,envVar);\n\t\tfor(var t=0; t<plugins.length; t++) {\n\t\t\t$tw.loadPlugin(plugins[t],pluginPaths);\n\t\t}\n\t}\n};\n\n/*\npath: path of wiki directory\noptions:\n\tparentPaths: array of parent paths that we mustn't recurse into\n\treadOnly: true if the tiddler file paths should not be retained\n*/\n$tw.loadWikiTiddlers = function(wikiPath,options) {\n\toptions = options || {};\n\tvar parentPaths = options.parentPaths || [],\n\t\twikiInfoPath = path.resolve(wikiPath,$tw.config.wikiInfo),\n\t\twikiInfo,\n\t\tpluginFields;\n\t// Bail if we don't have a wiki info file\n\tif(fs.existsSync(wikiInfoPath)) {\n\t\twikiInfo = $tw.utils.parseJSONSafe(fs.readFileSync(wikiInfoPath,\"utf8\"),function() {return null;});\n\t\tif(!wikiInfo) {\n\t\t\tconsole.log(\"warning: invalid JSON in tiddlywiki.info file at \" + wikiInfoPath);\n\t\t\twikiInfo = {};\n\t\t}\n\t} else {\n\t\treturn null;\n\t}\n\t// Save the path to the tiddlers folder for the filesystemadaptor\n\tvar config = wikiInfo.config || {};\n\tif($tw.boot.wikiPath == wikiPath) {\n\t\t$tw.boot.wikiTiddlersPath = path.resolve($tw.boot.wikiPath,config[\"default-tiddler-location\"] || $tw.config.wikiTiddlersSubDir);\n\t}\n\t// Load any parent wikis\n\tif(wikiInfo.includeWikis) {\n\t\tparentPaths = parentPaths.slice(0);\n\t\tparentPaths.push(wikiPath);\n\t\t$tw.utils.each(wikiInfo.includeWikis,function(info) {\n\t\t\tif(typeof info === \"string\") {\n\t\t\t\tinfo = {path: info};\n\t\t\t}\n\t\t\tvar resolvedIncludedWikiPath = path.resolve(wikiPath,info.path);\n\t\t\tif(parentPaths.indexOf(resolvedIncludedWikiPath) === -1) {\n\t\t\t\tvar subWikiInfo = $tw.loadWikiTiddlers(resolvedIncludedWikiPath,{\n\t\t\t\t\tparentPaths: parentPaths,\n\t\t\t\t\treadOnly: info[\"read-only\"]\n\t\t\t\t});\n\t\t\t\t// Merge the build targets\n\t\t\t\twikiInfo.build = $tw.utils.extend([],subWikiInfo.build,wikiInfo.build);\n\t\t\t} else {\n\t\t\t\t$tw.utils.error(\"Cannot recursively include wiki \" + resolvedIncludedWikiPath);\n\t\t\t}\n\t\t});\n\t}\n\t// Load any plugins, themes and languages listed in the wiki info file\n\t$tw.loadPlugins(wikiInfo.plugins,$tw.config.pluginsPath,$tw.config.pluginsEnvVar);\n\t$tw.loadPlugins(wikiInfo.themes,$tw.config.themesPath,$tw.config.themesEnvVar);\n\t$tw.loadPlugins(wikiInfo.languages,$tw.config.languagesPath,$tw.config.languagesEnvVar);\n\t// Load the wiki files, registering them as writable\n\tvar resolvedWikiPath = path.resolve(wikiPath,$tw.config.wikiTiddlersSubDir);\n\t$tw.utils.each($tw.loadTiddlersFromPath(resolvedWikiPath),function(tiddlerFile) {\n\t\tif(!options.readOnly && tiddlerFile.filepath) {\n\t\t\t$tw.utils.each(tiddlerFile.tiddlers,function(tiddler) {\n\t\t\t\t$tw.boot.files[tiddler.title] = {\n\t\t\t\t\tfilepath: tiddlerFile.filepath,\n\t\t\t\t\ttype: tiddlerFile.type,\n\t\t\t\t\thasMetaFile: tiddlerFile.hasMetaFile,\n\t\t\t\t\tisEditableFile: config[\"retain-original-tiddler-path\"] || tiddlerFile.isEditableFile || tiddlerFile.filepath.indexOf($tw.boot.wikiTiddlersPath) !== 0\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\t\t$tw.wiki.addTiddlers(tiddlerFile.tiddlers);\n\t});\n\tif($tw.boot.wikiPath == wikiPath) {\n\t\t// Save the original tiddler file locations if requested\n\t\tvar output = {}, relativePath, fileInfo;\n\t\tfor(var title in $tw.boot.files) {\n\t\t\tfileInfo = $tw.boot.files[title];\n\t\t\tif(fileInfo.isEditableFile) {\n\t\t\t\trelativePath = path.relative($tw.boot.wikiTiddlersPath,fileInfo.filepath);\n\t\t\t\tfileInfo.originalpath = relativePath;\n\t\t\t\toutput[title] =\n\t\t\t\t\tpath.sep === \"/\" ?\n\t\t\t\t\trelativePath :\n\t\t\t\t\trelativePath.split(path.sep).join(\"/\");\n\t\t\t}\n\t\t}\n\t\tif(Object.keys(output).length > 0){\n\t\t\t$tw.wiki.addTiddler({title: \"$:/config/OriginalTiddlerPaths\", type: \"application/json\", text: JSON.stringify(output)});\n\t\t}\n\t}\n\t// Load any plugins within the wiki folder\n\tvar wikiPluginsPath = path.resolve(wikiPath,$tw.config.wikiPluginsSubDir);\n\tif(fs.existsSync(wikiPluginsPath)) {\n\t\tvar pluginFolders = fs.readdirSync(wikiPluginsPath);\n\t\tfor(var t=0; t<pluginFolders.length; t++) {\n\t\t\tpluginFields = $tw.loadPluginFolder(path.resolve(wikiPluginsPath,\"./\" + pluginFolders[t]));\n\t\t\tif(pluginFields) {\n\t\t\t\t$tw.wiki.addTiddler(pluginFields);\n\t\t\t}\n\t\t}\n\t}\n\t// Load any themes within the wiki folder\n\tvar wikiThemesPath = path.resolve(wikiPath,$tw.config.wikiThemesSubDir);\n\tif(fs.existsSync(wikiThemesPath)) {\n\t\tvar themeFolders = fs.readdirSync(wikiThemesPath);\n\t\tfor(var t=0; t<themeFolders.length; t++) {\n\t\t\tpluginFields = $tw.loadPluginFolder(path.resolve(wikiThemesPath,\"./\" + themeFolders[t]));\n\t\t\tif(pluginFields) {\n\t\t\t\t$tw.wiki.addTiddler(pluginFields);\n\t\t\t}\n\t\t}\n\t}\n\t// Load any languages within the wiki folder\n\tvar wikiLanguagesPath = path.resolve(wikiPath,$tw.config.wikiLanguagesSubDir);\n\tif(fs.existsSync(wikiLanguagesPath)) {\n\t\tvar languageFolders = fs.readdirSync(wikiLanguagesPath);\n\t\tfor(var t=0; t<languageFolders.length; t++) {\n\t\t\tpluginFields = $tw.loadPluginFolder(path.resolve(wikiLanguagesPath,\"./\" + languageFolders[t]));\n\t\t\tif(pluginFields) {\n\t\t\t\t$tw.wiki.addTiddler(pluginFields);\n\t\t\t}\n\t\t}\n\t}\n\treturn wikiInfo;\n};\n\n$tw.loadTiddlersNode = function() {\n\t// Load the boot tiddlers\n\t$tw.utils.each($tw.loadTiddlersFromPath($tw.boot.bootPath),function(tiddlerFile) {\n\t\t$tw.wiki.addTiddlers(tiddlerFile.tiddlers);\n\t});\n\t// Load the core tiddlers\n\t$tw.wiki.addTiddler($tw.loadPluginFolder($tw.boot.corePath));\n\t$tw.wiki.addTiddler($tw.loadPluginFolder($tw.boot.coreServerPath));\n\t// Load any extra plugins\n\t$tw.utils.each($tw.boot.extraPlugins,function(name) {\n\t\tif(name.charAt(0) === \"+\") { // Relative path to plugin\n\t\t\tvar pluginFields = $tw.loadPluginFolder(name.substring(1));\n\t\t\tif(pluginFields) {\n\t\t\t\t$tw.wiki.addTiddler(pluginFields);\n\t\t\t}\n\t\t} else {\n\t\t\tvar parts = name.split(\"/\"),\n\t\t\t\ttype = parts[0];\n\t\t\tif(parts.length  === 3 && [\"plugins\",\"themes\",\"languages\"].indexOf(type) !== -1) {\n\t\t\t\t$tw.loadPlugins([parts[1] + \"/\" + parts[2]],$tw.config[type + \"Path\"],$tw.config[type + \"EnvVar\"]);\n\t\t\t}\n\t\t}\n\t});\n\t// Load the tiddlers from the wiki directory\n\tif($tw.boot.wikiPath) {\n\t\t$tw.boot.wikiInfo = $tw.loadWikiTiddlers($tw.boot.wikiPath);\n\t}\n};\n\n// End of if($tw.node)\n}\n\n/////////////////////////// Main startup function called once tiddlers have been decrypted\n\n/*\nStartup TiddlyWiki\n*/\n$tw.boot.initStartup = function(options) {\n\t// Get the URL hash and check for safe mode\n\t$tw.locationHash = \"#\";\n\tif($tw.browser && !$tw.node) {\n\t\tif(location.hash === \"#:safe\") {\n\t\t\t$tw.safeMode = true;\n\t\t} else {\n\t\t\t$tw.locationHash = $tw.utils.getLocationHash();\n\t\t}\n\t}\n\t// Initialise some more $tw properties\n\t$tw.utils.deepDefaults($tw,{\n\t\tmodules: { // Information about each module\n\t\t\ttitles: Object.create(null), // hashmap by module title of {fn:, exports:, moduleType:}\n\t\t\ttypes: {} // hashmap by module type of hashmap of exports\n\t\t},\n\t\tconfig: { // Configuration overridables\n\t\t\tpluginsPath: \"../plugins/\",\n\t\t\tthemesPath: \"../themes/\",\n\t\t\tlanguagesPath: \"../languages/\",\n\t\t\teditionsPath: \"../editions/\",\n\t\t\twikiInfo: \"./tiddlywiki.info\",\n\t\t\twikiPluginsSubDir: \"./plugins\",\n\t\t\twikiThemesSubDir: \"./themes\",\n\t\t\twikiLanguagesSubDir: \"./languages\",\n\t\t\twikiTiddlersSubDir: \"./tiddlers\",\n\t\t\twikiOutputSubDir: \"./output\",\n\t\t\tjsModuleHeaderRegExpString: \"^\\\\/\\\\*\\\\\\\\(?:\\\\r?\\\\n)((?:^[^\\\\r\\\\n]*(?:\\\\r?\\\\n))+?)(^\\\\\\\\\\\\*\\\\/$(?:\\\\r?\\\\n)?)\",\n\t\t\tfileExtensionInfo: Object.create(null), // Map file extension to {type:}\n\t\t\tcontentTypeInfo: Object.create(null), // Map type to {encoding:,extension:}\n\t\t\tpluginsEnvVar: \"TIDDLYWIKI_PLUGIN_PATH\",\n\t\t\tthemesEnvVar: \"TIDDLYWIKI_THEME_PATH\",\n\t\t\tlanguagesEnvVar: \"TIDDLYWIKI_LANGUAGE_PATH\",\n\t\t\teditionsEnvVar: \"TIDDLYWIKI_EDITION_PATH\"\n\t\t},\n\t\tlog: {}, // Log flags\n\t\tunloadTasks: []\n\t});\n\tif(!$tw.boot.tasks.readBrowserTiddlers) {\n\t\t// For writable tiddler files, a hashmap of title to {filepath:,type:,hasMetaFile:}\n\t\t$tw.boot.files = Object.create(null);\n\t\t// System paths and filenames\n\t\t$tw.boot.bootPath = options.bootPath || path.dirname(module.filename);\n\t\t$tw.boot.corePath = path.resolve($tw.boot.bootPath,\"../core\");\n\t\t$tw.boot.coreServerPath = path.resolve($tw.boot.bootPath,\"../core-server\");\n\t\t// If there's no arguments then default to `--help`\n\t\tif($tw.boot.argv.length === 0) {\n\t\t\t$tw.boot.argv = [\"--help\"];\n\t\t}\n\t\t// Parse any extra plugin references\n\t\t$tw.boot.extraPlugins = $tw.boot.extraPlugins || [];\n\t\twhile($tw.boot.argv[0] && $tw.boot.argv[0].indexOf(\"+\") === 0) {\n\t\t\t$tw.boot.extraPlugins.push($tw.boot.argv[0].substring(1));\n\t\t\t$tw.boot.argv.splice(0,1);\n\t\t}\n\t\t// If the first command line argument doesn't start with `--` then we\n\t\t// interpret it as the path to the wiki folder, which will otherwise default\n\t\t// to the current folder\n\t\tif($tw.boot.argv[0] && $tw.boot.argv[0].indexOf(\"--\") !== 0) {\n\t\t\t$tw.boot.wikiPath = $tw.boot.argv[0];\n\t\t\t$tw.boot.argv = $tw.boot.argv.slice(1);\n\t\t} else {\n\t\t\t$tw.boot.wikiPath = process.cwd();\n\t\t}\n\t\t// Read package info\n\t\t$tw.packageInfo = $tw.packageInfo || require(\"../package.json\");\n\t\t// Check node version number\n\t\tif(!$tw.utils.checkVersions(process.version.substr(1),$tw.packageInfo.engines.node.substr(2))) {\n\t\t\t$tw.utils.error(\"TiddlyWiki5 requires node.js version \" + $tw.packageInfo.engines.node);\n\t\t}\n\t}\n\t// Add file extension information\n\t$tw.utils.registerFileType(\"text/vnd.tiddlywiki\",\"utf8\",\".tid\");\n\t$tw.utils.registerFileType(\"application/x-tiddler\",\"utf8\",\".tid\");\n\t$tw.utils.registerFileType(\"application/x-tiddlers\",\"utf8\",\".multids\");\n\t$tw.utils.registerFileType(\"application/x-tiddler-html-div\",\"utf8\",\".tiddler\");\n\t$tw.utils.registerFileType(\"text/vnd.tiddlywiki2-recipe\",\"utf8\",\".recipe\");\n\t$tw.utils.registerFileType(\"text/plain\",\"utf8\",\".txt\");\n\t$tw.utils.registerFileType(\"text/css\",\"utf8\",\".css\");\n\t$tw.utils.registerFileType(\"text/html\",\"utf8\",[\".html\",\".htm\"]);\n\t$tw.utils.registerFileType(\"application/hta\",\"utf16le\",\".hta\",{deserializerType:\"text/html\"});\n\t$tw.utils.registerFileType(\"application/javascript\",\"utf8\",\".js\");\n\t$tw.utils.registerFileType(\"application/json\",\"utf8\",\".json\");\n\t$tw.utils.registerFileType(\"application/pdf\",\"base64\",\".pdf\",{flags:[\"image\"]});\n\t$tw.utils.registerFileType(\"application/zip\",\"base64\",\".zip\");\n\t$tw.utils.registerFileType(\"application/x-zip-compressed\",\"base64\",\".zip\");\n\t$tw.utils.registerFileType(\"image/jpeg\",\"base64\",[\".jpg\",\".jpeg\"],{flags:[\"image\"]});\n\t$tw.utils.registerFileType(\"image/jpg\",\"base64\",[\".jpg\",\".jpeg\"],{flags:[\"image\"]});\n\t$tw.utils.registerFileType(\"image/png\",\"base64\",\".png\",{flags:[\"image\"]});\n\t$tw.utils.registerFileType(\"image/gif\",\"base64\",\".gif\",{flags:[\"image\"]});\n\t$tw.utils.registerFileType(\"image/webp\",\"base64\",\".webp\",{flags:[\"image\"]});\n\t$tw.utils.registerFileType(\"image/heic\",\"base64\",\".heic\",{flags:[\"image\"]});\n\t$tw.utils.registerFileType(\"image/heif\",\"base64\",\".heif\",{flags:[\"image\"]});\n\t$tw.utils.registerFileType(\"image/avif\",\"base64\",\".avif\",{flags:[\"image\"]});\n\t$tw.utils.registerFileType(\"image/svg+xml\",\"utf8\",\".svg\",{flags:[\"image\"]});\n\t$tw.utils.registerFileType(\"image/vnd.microsoft.icon\",\"base64\",\".ico\",{flags:[\"image\"]});\n\t$tw.utils.registerFileType(\"image/x-icon\",\"base64\",\".ico\",{flags:[\"image\"]});\n\t$tw.utils.registerFileType(\"application/wasm\",\"base64\",\".wasm\");\n\t$tw.utils.registerFileType(\"font/woff\",\"base64\",\".woff\");\n\t$tw.utils.registerFileType(\"font/woff2\",\"base64\",\".woff2\");\n\t$tw.utils.registerFileType(\"font/ttf\",\"base64\",\".ttf\");\n\t$tw.utils.registerFileType(\"font/otf\",\"base64\",\".otf\");\n\t$tw.utils.registerFileType(\"audio/ogg\",\"base64\",\".ogg\");\n\t$tw.utils.registerFileType(\"audio/mp4\",\"base64\",[\".mp4\",\".m4a\"]);\n\t$tw.utils.registerFileType(\"video/ogg\",\"base64\",[\".ogm\",\".ogv\",\".ogg\"]);\n\t$tw.utils.registerFileType(\"video/webm\",\"base64\",\".webm\");\n\t$tw.utils.registerFileType(\"video/mp4\",\"base64\",\".mp4\");\n\t$tw.utils.registerFileType(\"audio/mp3\",\"base64\",\".mp3\");\n\t$tw.utils.registerFileType(\"audio/mpeg\",\"base64\",[\".mp3\",\".m2a\",\".mp2\",\".mpa\",\".mpg\",\".mpga\"]);\n\t$tw.utils.registerFileType(\"text/markdown\",\"utf8\",[\".md\",\".markdown\"],{deserializerType:\"text/x-markdown\"});\n\t$tw.utils.registerFileType(\"text/x-markdown\",\"utf8\",[\".md\",\".markdown\"]);\n\t$tw.utils.registerFileType(\"application/enex+xml\",\"utf8\",\".enex\");\n\t$tw.utils.registerFileType(\"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\"base64\",\".docx\");\n\t$tw.utils.registerFileType(\"application/msword\",\"base64\",\".doc\");\n\t$tw.utils.registerFileType(\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\"base64\",\".xlsx\");\n\t$tw.utils.registerFileType(\"application/excel\",\"base64\",\".xls\");\n\t$tw.utils.registerFileType(\"application/vnd.ms-excel\",\"base64\",\".xls\");\n\t$tw.utils.registerFileType(\"application/vnd.openxmlformats-officedocument.presentationml.presentation\",\"base64\",\".pptx\");\n\t$tw.utils.registerFileType(\"application/mspowerpoint\",\"base64\",\".ppt\");\n\t$tw.utils.registerFileType(\"text/x-bibtex\",\"utf8\",\".bib\",{deserializerType:\"application/x-bibtex\"});\n\t$tw.utils.registerFileType(\"application/x-bibtex\",\"utf8\",\".bib\");\n\t$tw.utils.registerFileType(\"application/epub+zip\",\"base64\",\".epub\");\n\t$tw.utils.registerFileType(\"application/octet-stream\",\"base64\",\".octet-stream\");\n\t// Create the wiki store for the app\n\t$tw.wiki = new $tw.Wiki($tw.safeMode && {enableIndexers: []});\n\t// Install built in tiddler fields modules\n\t$tw.Tiddler.fieldModules = $tw.modules.getModulesByTypeAsHashmap(\"tiddlerfield\");\n\t// Install the tiddler deserializer modules\n\t$tw.Wiki.tiddlerDeserializerModules = Object.create(null);\n\t$tw.modules.applyMethods(\"tiddlerdeserializer\",$tw.Wiki.tiddlerDeserializerModules);\n\t// Call unload handlers in the browser\n\tif($tw.browser) {\n\t\twindow.onbeforeunload = function(event) {\n\t\t\tevent = event || {};\n\t\t\tvar result;\n\t\t\t$tw.utils.each($tw.unloadTasks,function(task) {\n\t\t\t\tvar r = task(event);\n\t\t\t\tif(r) {\n\t\t\t\t\tresult = r;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn result;\n\t\t};\n\t}\n};\n$tw.boot.loadStartup = function(options){\n\n\t// Load tiddlers\n\tif($tw.boot.tasks.readBrowserTiddlers) {\n\t\t$tw.loadTiddlersBrowser();\n\t} else {\n\t\t$tw.loadTiddlersNode();\n\t}\n\t// Load any preloaded tiddlers\n\tif($tw.preloadTiddlers) {\n\t\t$tw.wiki.addTiddlers($tw.preloadTiddlers);\n\t}\n\t// Give hooks a chance to modify the store\n\t$tw.hooks.invokeHook(\"th-boot-tiddlers-loaded\");\n};\n$tw.boot.execStartup = function(options){\n\t// Unpack plugin tiddlers\n\t$tw.wiki.readPluginInfo();\n\t$tw.wiki.registerPluginTiddlers(\"plugin\",$tw.safeMode ? [\"$:/core\"] : undefined);\n\t$tw.wiki.unpackPluginTiddlers();\n\t// Process \"safe mode\"\n\tif($tw.safeMode) {\n\t\t$tw.wiki.processSafeMode();\n\t}\n\t// Register typed modules from the tiddlers we've just loaded and any modules within plugins\n\t// Tiddlers should appear last so that they may overwrite shadows during module registration\n\t$tw.wiki.defineShadowModules();\n\t$tw.wiki.defineTiddlerModules();\n\t// Make sure the crypto state tiddler is up to date\n\tif($tw.crypto) {\n\t\t$tw.crypto.updateCryptoStateTiddler();\n\t}\n\t// Gather up any startup modules\n\t$tw.boot.remainingStartupModules = []; // Array of startup modules\n\t$tw.modules.forEachModuleOfType(\"startup\",function(title,module) {\n\t\tif(module.startup) {\n\t\t\t$tw.boot.remainingStartupModules.push(module);\n\t\t}\n\t});\n\t// Keep track of the startup tasks that have been executed\n\t$tw.boot.executedStartupModules = Object.create(null);\n\t$tw.boot.disabledStartupModules = $tw.boot.disabledStartupModules || [];\n\t// Repeatedly execute the next eligible task\n\t$tw.boot.executeNextStartupTask(options.callback);\n};\n/*\nStartup TiddlyWiki\n*/\n$tw.boot.startup = function(options) {\n\toptions = options || {};\n\t// Get the URL hash and check for safe mode\n\t$tw.boot.initStartup(options);\n\t$tw.boot.loadStartup(options);\n\t$tw.boot.execStartup(options);\n};\n\n/*\nAdd another unload task\n*/\n$tw.addUnloadTask = function(task) {\n\tif($tw.unloadTasks.indexOf(task) === -1) {\n\t\t$tw.unloadTasks.push(task);\n\t}\n};\n\n/*\nExecute the remaining eligible startup tasks\n*/\n$tw.boot.executeNextStartupTask = function(callback) {\n\t// Find the next eligible task\n\tvar taskIndex = 0, task,\n\t\tasyncTaskCallback = function() {\n\t\t\tif(task.name) {\n\t\t\t\t$tw.boot.executedStartupModules[task.name] = true;\n\t\t\t}\n\t\t\treturn $tw.boot.executeNextStartupTask(callback);\n\t\t};\n\twhile(taskIndex < $tw.boot.remainingStartupModules.length) {\n\t\ttask = $tw.boot.remainingStartupModules[taskIndex];\n\t\tif($tw.boot.isStartupTaskEligible(task)) {\n\t\t\t// Remove this task from the list\n\t\t\t$tw.boot.remainingStartupModules.splice(taskIndex,1);\n\t\t\t// Assemble log message\n\t\t\tvar s = [\"Startup task:\",task.name];\n\t\t\tif(task.platforms) {\n\t\t\t\ts.push(\"platforms:\",task.platforms.join(\",\"));\n\t\t\t}\n\t\t\tif(task.after) {\n\t\t\t\ts.push(\"after:\",task.after.join(\",\"));\n\t\t\t}\n\t\t\tif(task.before) {\n\t\t\t\ts.push(\"before:\",task.before.join(\",\"));\n\t\t\t}\n\t\t\t$tw.boot.log(s.join(\" \"));\n\t\t\t// Execute task\n\t\t\tif(!$tw.utils.hop(task,\"synchronous\") || task.synchronous) {\n\t\t\t\tconst thenable = task.startup();\n\t\t\t\tif(thenable && typeof thenable.then === \"function\"){\n\t\t\t\t\tthenable.then(asyncTaskCallback);\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\treturn asyncTaskCallback();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttask.startup(asyncTaskCallback);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\ttaskIndex++;\n\t}\n\tif(typeof callback === \"function\") {\n\t\tcallback();\n\t}\n\treturn false;\n};\n\n/*\nReturns true if we are running on one of the platforms specified in taskModule's\n`platforms` array; or if `platforms` property is not defined.\n*/\n$tw.boot.doesTaskMatchPlatform = function(taskModule) {\n\tvar platforms = taskModule.platforms;\n\tif(platforms) {\n\t\tfor(var t=0; t<platforms.length; t++) {\n\t\t\tswitch(platforms[t]) {\n\t\t\t\tcase \"browser\":\n\t\t\t\t\tif($tw.browser) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"node\":\n\t\t\t\t\tif($tw.node) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\t$tw.utils.error(\"Module \" + taskModule.name + \": '\" + platforms[t] + \"' in export.platforms invalid\");\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\treturn true;\n};\n\n$tw.boot.isStartupTaskEligible = function(taskModule) {\n\tvar t;\n\t// Check that the platform is correct\n\tif(!$tw.boot.doesTaskMatchPlatform(taskModule)) {\n\t\treturn false;\n\t}\n\tvar name = taskModule.name,\n\t\tremaining = $tw.boot.remainingStartupModules;\n\tif(name) {\n\t\t// Fail if this module is disabled\n\t\tif($tw.boot.disabledStartupModules.indexOf(name) !== -1) {\n\t\t\treturn false;\n\t\t}\n\t\t// Check that no other outstanding tasks must be executed before this one\n\t\tfor(t=0; t<remaining.length; t++) {\n\t\t\tvar task = remaining[t];\n\t\t\tif(task.before && task.before.indexOf(name) !== -1) {\n\t\t\t\tif($tw.boot.doesTaskMatchPlatform(task) && (!task.name || $tw.boot.disabledStartupModules.indexOf(task.name) === -1)) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t// Check that all of the tasks that we must be performed after has been done\n\tvar after = taskModule.after;\n\tif(after) {\n\t\tfor(t=0; t<after.length; t++) {\n\t\t\tif(!$tw.boot.executedStartupModules[after[t]]) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n};\n\n/*\nGlobal Hooks mechanism which allows plugins to modify default functionality\n*/\n$tw.hooks = $tw.hooks || { names: {}};\n\n/*\nAdd hooks to the  hashmap\n*/\n$tw.hooks.addHook = function(hookName,definition) {\n\tif($tw.utils.hop($tw.hooks.names,hookName)) {\n\t\t$tw.hooks.names[hookName].push(definition);\n\t}\n\telse {\n\t\t$tw.hooks.names[hookName] = [definition];\n\t}\n};\n\n/*\nDelete hooks from the hashmap\n*/\n$tw.hooks.removeHook = function(hookName,definition) {\n\tif($tw.utils.hop($tw.hooks.names,hookName)) {\n\t\tvar p = $tw.hooks.names[hookName].indexOf(definition);\n\t\tif(p !== -1) {\n\t\t\t$tw.hooks.names[hookName].splice(p, 1);\n\t\t}\n\t}\n};\n\n/*\nInvoke the hook by key\n*/\n$tw.hooks.invokeHook = function(hookName /*, value,... */) {\n\tvar args = Array.prototype.slice.call(arguments,1);\n\tif($tw.utils.hop($tw.hooks.names,hookName)) {\n\t\tfor(var i = 0; i < $tw.hooks.names[hookName].length; i++) {\n\t\t\targs[0] = $tw.hooks.names[hookName][i].apply(null,args);\n\t\t}\n\t}\n\treturn args[0];\n};\n\n/////////////////////////// Main boot function to decrypt tiddlers and then startup\n\n$tw.boot.boot = function(callback) {\n\t// Initialise crypto object\n\t$tw.crypto = new $tw.utils.Crypto();\n\t// Initialise password prompter\n\tif($tw.browser && !$tw.node) {\n\t\t$tw.passwordPrompt = new $tw.utils.PasswordPrompt();\n\t}\n\t// Preload any encrypted tiddlers\n\t$tw.boot.decryptEncryptedTiddlers(function() {\n\t\t// Startup\n\t\t$tw.boot.startup({callback: callback});\n\t});\n};\n\n/////////////////////////// Autoboot in the browser\n\nif($tw.browser && !$tw.boot.suppressBoot) {\n\t$tw.boot.boot();\n}\n\nreturn $tw;\n\n});\n\n/* eslint-enable @stylistic/indent */\n\nif(typeof(exports) !== \"undefined\") {\n\texports.TiddlyWiki = _boot;\n} else {\n\t_boot(window.$tw);\n}\n//# sourceURL=$:/boot/boot.js\n"
  },
  {
    "path": "boot/bootprefix.js",
    "content": "/*\\\ntitle: $:/boot/bootprefix.js\ntype: application/javascript\n\nThis file sets up the globals that need to be available when JavaScript modules are executed in the browser. The overall sequence is:\n\n# BootPrefix.js\n# <module definitions>\n# Boot.js\n\nSee Boot.js for further details of the boot process.\n\n\\*/\n\n/* eslint-disable @stylistic/indent */\n\nvar _bootprefix = (function($tw) {\n\n\"use strict\";\n\n$tw = $tw || Object.create(null);\n$tw.boot = $tw.boot || Object.create(null);\n\n// Config\n$tw.config = $tw.config || Object.create(null);\n$tw.config.maxEditFileSize = 100 * 1024 * 1024; // 100MB\n\n// Detect platforms\nif(!(\"browser\" in $tw)) {\n\t$tw.browser = typeof(window) !== \"undefined\" && typeof(document) !== \"undefined\" ? {} : null;\n}\nif(!(\"node\" in $tw)) {\n\t$tw.node = typeof(process) === \"object\" ? {} : null;\n}\nif(!(\"nodeWebKit\" in $tw)) {\n\t$tw.nodeWebKit = $tw.node && global.window && global.window.nwDispatcher ? {} : null;\n}\n\n// Set default boot tasks\n$tw.boot.tasks = {\n\ttrapErrors: !!($tw.browser && !$tw.node),\n\treadBrowserTiddlers: !!($tw.browser && !$tw.node)\n};\n\n/*\nInformation about each module is kept in an object with these members:\n\tmoduleType: type of module\n\tdefinition: object, function or string defining the module; see below\n\texports: exports of the module, filled in after execution\n\nThe `definition` can be of several types:\n\n* An object can be used to directly specify the exports of the module\n* A function with the arguments `module,require,exports` that returns `exports`\n* A string function body with the same arguments\n\nEach moduleInfo object is stored in two hashmaps: $tw.modules.titles and $tw.modules.types. The first is indexed by title and the second is indexed by type and then title\n*/\n$tw.modules = {\n\ttitles: {}, // hashmap by module name of moduleInfo\n\ttypes: {} // hashmap by module type and then name of moduleInfo\n};\n\n/*\nDefine a JavaScript tiddler module for later execution\n\tmoduleName: name of module being defined\n\tmoduleType: type of module\n\tdefinition: module definition; see discussion above\n*/\n$tw.modules.define = function(moduleName,moduleType,definition) {\n\t// Create the moduleInfo\n\tvar moduleInfo = {\n\t\tmoduleType: moduleType,\n\t\tdefinition: definition,\n\t\texports: undefined\n\t};\n\t// If the definition is already an object we can use it as the exports\n\tif(typeof moduleInfo.definition === \"object\") {\n\t\tmoduleInfo.exports = definition;\n\t}\n\t// Store the module in the titles hashmap\n\tif(Object.prototype.hasOwnProperty.call($tw.modules.titles,moduleName)) {\n\t\tconsole.log(\"Warning: Redefined module - \" + moduleName);\n\t}\n\t$tw.modules.titles[moduleName] = moduleInfo;\n\t// Store the module in the types hashmap\n\tif(!Object.prototype.hasOwnProperty.call($tw.modules.types,moduleType)) {\n\t\t$tw.modules.types[moduleType] = {};\n\t}\n\tif(Object.prototype.hasOwnProperty.call($tw.modules.types[moduleType],moduleName)) {\n\t\tconsole.log(\"Warning: Redefined module - \" + moduleName);\n\t}\n\t$tw.modules.types[moduleType][moduleName] = moduleInfo;\n};\n\n/*\nExternal JavaScript can populate this array before calling boot.js in order to preload tiddlers\n*/\n$tw.preloadTiddlers = $tw.preloadTiddlers || [];\n\n/*\nConvenience function for pushing a tiddler onto the preloading array\n*/\n$tw.preloadTiddler = function(fields) {\n\t$tw.preloadTiddlers.push(fields);\n};\n\n/*\nConvenience function for pushing an array of tiddlers onto the preloading array\n*/\n$tw.preloadTiddlerArray = function(fieldsArray) {\n\t$tw.preloadTiddlers.push.apply($tw.preloadTiddlers,fieldsArray);\n};\n\nreturn $tw;\n\n});\n\n/* eslint-enable @stylistic/indent */\n\nif(typeof(exports) === \"undefined\") {\n\t// Set up $tw global for the browser\n\twindow.$tw = _bootprefix(window.$tw);\n} else {\n\t// Export functionality as a module\n\texports.bootprefix = _bootprefix;\n}\n//# sourceURL=$:/boot/bootprefix.js\n"
  },
  {
    "path": "boot/sjcl.js",
    "content": "\"use strict\";var sjcl={cipher:{},hash:{},keyexchange:{},mode:{},misc:{},codec:{},exception:{corrupt:function(a){this.toString=function(){return\"CORRUPT: \"+this.message};this.message=a},invalid:function(a){this.toString=function(){return\"INVALID: \"+this.message};this.message=a},bug:function(a){this.toString=function(){return\"BUG: \"+this.message};this.message=a},notReady:function(a){this.toString=function(){return\"NOT READY: \"+this.message};this.message=a}}};\nsjcl.cipher.aes=function(a){this.s[0][0][0]||this.O();var b,c,d,e,f=this.s[0][4],g=this.s[1];b=a.length;var h=1;if(4!==b&&6!==b&&8!==b)throw new sjcl.exception.invalid(\"invalid aes key size\");this.b=[d=a.slice(0),e=[]];for(a=b;a<4*b+28;a++){c=d[a-1];if(0===a%b||8===b&&4===a%b)c=f[c>>>24]<<24^f[c>>16&255]<<16^f[c>>8&255]<<8^f[c&255],0===a%b&&(c=c<<8^c>>>24^h<<24,h=h<<1^283*(h>>7));d[a]=d[a-b]^c}for(b=0;a;b++,a--)c=d[b&3?a:a-4],e[b]=4>=a||4>b?c:g[0][f[c>>>24]]^g[1][f[c>>16&255]]^g[2][f[c>>8&255]]^g[3][f[c&\n255]]};\nsjcl.cipher.aes.prototype={encrypt:function(a){return t(this,a,0)},decrypt:function(a){return t(this,a,1)},s:[[[],[],[],[],[]],[[],[],[],[],[]]],O:function(){var a=this.s[0],b=this.s[1],c=a[4],d=b[4],e,f,g,h=[],k=[],l,n,m,p;for(e=0;0x100>e;e++)k[(h[e]=e<<1^283*(e>>7))^e]=e;for(f=g=0;!c[f];f^=l||1,g=k[g]||1)for(m=g^g<<1^g<<2^g<<3^g<<4,m=m>>8^m&255^99,c[f]=m,d[m]=f,n=h[e=h[l=h[f]]],p=0x1010101*n^0x10001*e^0x101*l^0x1010100*f,n=0x101*h[m]^0x1010100*m,e=0;4>e;e++)a[e][f]=n=n<<24^n>>>8,b[e][m]=p=p<<24^p>>>8;for(e=\n0;5>e;e++)a[e]=a[e].slice(0),b[e]=b[e].slice(0)}};\nfunction t(a,b,c){if(4!==b.length)throw new sjcl.exception.invalid(\"invalid aes block size\");var d=a.b[c],e=b[0]^d[0],f=b[c?3:1]^d[1],g=b[2]^d[2];b=b[c?1:3]^d[3];var h,k,l,n=d.length/4-2,m,p=4,r=[0,0,0,0];h=a.s[c];a=h[0];var q=h[1],v=h[2],w=h[3],x=h[4];for(m=0;m<n;m++)h=a[e>>>24]^q[f>>16&255]^v[g>>8&255]^w[b&255]^d[p],k=a[f>>>24]^q[g>>16&255]^v[b>>8&255]^w[e&255]^d[p+1],l=a[g>>>24]^q[b>>16&255]^v[e>>8&255]^w[f&255]^d[p+2],b=a[b>>>24]^q[e>>16&255]^v[f>>8&255]^w[g&255]^d[p+3],p+=4,e=h,f=k,g=l;for(m=\n0;4>m;m++)r[c?3&-m:m]=x[e>>>24]<<24^x[f>>16&255]<<16^x[g>>8&255]<<8^x[b&255]^d[p++],h=e,e=f,f=g,g=b,b=h;return r}\nsjcl.bitArray={bitSlice:function(a,b,c){a=sjcl.bitArray.$(a.slice(b/32),32-(b&31)).slice(1);return void 0===c?a:sjcl.bitArray.clamp(a,c-b)},extract:function(a,b,c){var d=Math.floor(-b-c&31);return((b+c-1^b)&-32?a[b/32|0]<<32-d^a[b/32+1|0]>>>d:a[b/32|0]>>>d)&(1<<c)-1},concat:function(a,b){if(0===a.length||0===b.length)return a.concat(b);var c=a[a.length-1],d=sjcl.bitArray.getPartial(c);return 32===d?a.concat(b):sjcl.bitArray.$(b,d,c|0,a.slice(0,a.length-1))},bitLength:function(a){var b=a.length;return 0===\nb?0:32*(b-1)+sjcl.bitArray.getPartial(a[b-1])},clamp:function(a,b){if(32*a.length<b)return a;a=a.slice(0,Math.ceil(b/32));var c=a.length;b=b&31;0<c&&b&&(a[c-1]=sjcl.bitArray.partial(b,a[c-1]&2147483648>>b-1,1));return a},partial:function(a,b,c){return 32===a?b:(c?b|0:b<<32-a)+0x10000000000*a},getPartial:function(a){return Math.round(a/0x10000000000)||32},equal:function(a,b){if(sjcl.bitArray.bitLength(a)!==sjcl.bitArray.bitLength(b))return!1;var c=0,d;for(d=0;d<a.length;d++)c|=a[d]^b[d];return 0===\nc},$:function(a,b,c,d){var e;e=0;for(void 0===d&&(d=[]);32<=b;b-=32)d.push(c),c=0;if(0===b)return d.concat(a);for(e=0;e<a.length;e++)d.push(c|a[e]>>>b),c=a[e]<<32-b;e=a.length?a[a.length-1]:0;a=sjcl.bitArray.getPartial(e);d.push(sjcl.bitArray.partial(b+a&31,32<b+a?c:d.pop(),1));return d},i:function(a,b){return[a[0]^b[0],a[1]^b[1],a[2]^b[2],a[3]^b[3]]},byteswapM:function(a){var b,c;for(b=0;b<a.length;++b)c=a[b],a[b]=c>>>24|c>>>8&0xff00|(c&0xff00)<<8|c<<24;return a}};\nsjcl.codec.utf8String={fromBits:function(a){var b=\"\",c=sjcl.bitArray.bitLength(a),d,e;for(d=0;d<c/8;d++)0===(d&3)&&(e=a[d/4]),b+=String.fromCharCode(e>>>8>>>8>>>8),e<<=8;return decodeURIComponent(escape(b))},toBits:function(a){a=unescape(encodeURIComponent(a));var b=[],c,d=0;for(c=0;c<a.length;c++)d=d<<8|a.charCodeAt(c),3===(c&3)&&(b.push(d),d=0);c&3&&b.push(sjcl.bitArray.partial(8*(c&3),d));return b}};\nsjcl.codec.hex={fromBits:function(a){var b=\"\",c;for(c=0;c<a.length;c++)b+=((a[c]|0)+0xf00000000000).toString(16).substr(4);return b.substr(0,sjcl.bitArray.bitLength(a)/4)},toBits:function(a){var b,c=[],d;a=a.replace(/\\s|0x/g,\"\");d=a.length;a=a+\"00000000\";for(b=0;b<a.length;b+=8)c.push(parseInt(a.substr(b,8),16)^0);return sjcl.bitArray.clamp(c,4*d)}};\nsjcl.codec.base32={B:\"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567\",X:\"0123456789ABCDEFGHIJKLMNOPQRSTUV\",BITS:32,BASE:5,REMAINING:27,fromBits:function(a,b,c){var d=sjcl.codec.base32.BASE,e=sjcl.codec.base32.REMAINING,f=\"\",g=0,h=sjcl.codec.base32.B,k=0,l=sjcl.bitArray.bitLength(a);c&&(h=sjcl.codec.base32.X);for(c=0;f.length*d<l;)f+=h.charAt((k^a[c]>>>g)>>>e),g<d?(k=a[c]<<d-g,g+=e,c++):(k<<=d,g-=d);for(;f.length&7&&!b;)f+=\"=\";return f},toBits:function(a,b){a=a.replace(/\\s|=/g,\"\").toUpperCase();var c=sjcl.codec.base32.BITS,\nd=sjcl.codec.base32.BASE,e=sjcl.codec.base32.REMAINING,f=[],g,h=0,k=sjcl.codec.base32.B,l=0,n,m=\"base32\";b&&(k=sjcl.codec.base32.X,m=\"base32hex\");for(g=0;g<a.length;g++){n=k.indexOf(a.charAt(g));if(0>n){if(!b)try{return sjcl.codec.base32hex.toBits(a)}catch(p){}throw new sjcl.exception.invalid(\"this isn't \"+m+\"!\");}h>e?(h-=e,f.push(l^n>>>h),l=n<<c-h):(h+=d,l^=n<<c-h)}h&56&&f.push(sjcl.bitArray.partial(h&56,l,1));return f}};\nsjcl.codec.base32hex={fromBits:function(a,b){return sjcl.codec.base32.fromBits(a,b,1)},toBits:function(a){return sjcl.codec.base32.toBits(a,1)}};\nsjcl.codec.base64={B:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",fromBits:function(a,b,c){var d=\"\",e=0,f=sjcl.codec.base64.B,g=0,h=sjcl.bitArray.bitLength(a);c&&(f=f.substr(0,62)+\"-_\");for(c=0;6*d.length<h;)d+=f.charAt((g^a[c]>>>e)>>>26),6>e?(g=a[c]<<6-e,e+=26,c++):(g<<=6,e-=6);for(;d.length&3&&!b;)d+=\"=\";return d},toBits:function(a,b){a=a.replace(/\\s|=/g,\"\");var c=[],d,e=0,f=sjcl.codec.base64.B,g=0,h;b&&(f=f.substr(0,62)+\"-_\");for(d=0;d<a.length;d++){h=f.indexOf(a.charAt(d));\nif(0>h)throw new sjcl.exception.invalid(\"this isn't base64!\");26<e?(e-=26,c.push(g^h>>>e),g=h<<32-e):(e+=6,g^=h<<32-e)}e&56&&c.push(sjcl.bitArray.partial(e&56,g,1));return c}};sjcl.codec.base64url={fromBits:function(a){return sjcl.codec.base64.fromBits(a,1,1)},toBits:function(a){return sjcl.codec.base64.toBits(a,1)}};sjcl.hash.sha256=function(a){this.b[0]||this.O();a?(this.F=a.F.slice(0),this.A=a.A.slice(0),this.l=a.l):this.reset()};sjcl.hash.sha256.hash=function(a){return(new sjcl.hash.sha256).update(a).finalize()};\nsjcl.hash.sha256.prototype={blockSize:512,reset:function(){this.F=this.Y.slice(0);this.A=[];this.l=0;return this},update:function(a){\"string\"===typeof a&&(a=sjcl.codec.utf8String.toBits(a));var b,c=this.A=sjcl.bitArray.concat(this.A,a);b=this.l;a=this.l=b+sjcl.bitArray.bitLength(a);if(0x1fffffffffffff<a)throw new sjcl.exception.invalid(\"Cannot hash more than 2^53 - 1 bits\");if(\"undefined\"!==typeof Uint32Array){var d=new Uint32Array(c),e=0;for(b=512+b-(512+b&0x1ff);b<=a;b+=512)u(this,d.subarray(16*e,\n16*(e+1))),e+=1;c.splice(0,16*e)}else for(b=512+b-(512+b&0x1ff);b<=a;b+=512)u(this,c.splice(0,16));return this},finalize:function(){var a,b=this.A,c=this.F,b=sjcl.bitArray.concat(b,[sjcl.bitArray.partial(1,1)]);for(a=b.length+2;a&15;a++)b.push(0);b.push(Math.floor(this.l/0x100000000));for(b.push(this.l|0);b.length;)u(this,b.splice(0,16));this.reset();return c},Y:[],b:[],O:function(){function a(a){return 0x100000000*(a-Math.floor(a))|0}for(var b=0,c=2,d,e;64>b;c++){e=!0;for(d=2;d*d<=c;d++)if(0===c%d){e=\n!1;break}e&&(8>b&&(this.Y[b]=a(Math.pow(c,.5))),this.b[b]=a(Math.pow(c,1/3)),b++)}}};\nfunction u(a,b){var c,d,e,f=a.F,g=a.b,h=f[0],k=f[1],l=f[2],n=f[3],m=f[4],p=f[5],r=f[6],q=f[7];for(c=0;64>c;c++)16>c?d=b[c]:(d=b[c+1&15],e=b[c+14&15],d=b[c&15]=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+b[c&15]+b[c+9&15]|0),d=d+q+(m>>>6^m>>>11^m>>>25^m<<26^m<<21^m<<7)+(r^m&(p^r))+g[c],q=r,r=p,p=m,m=n+d|0,n=l,l=k,k=h,h=d+(k&l^n&(k^l))+(k>>>2^k>>>13^k>>>22^k<<30^k<<19^k<<10)|0;f[0]=f[0]+h|0;f[1]=f[1]+k|0;f[2]=f[2]+l|0;f[3]=f[3]+n|0;f[4]=f[4]+m|0;f[5]=f[5]+p|0;f[6]=f[6]+r|0;f[7]=\nf[7]+q|0}\nsjcl.mode.ccm={name:\"ccm\",G:[],listenProgress:function(a){sjcl.mode.ccm.G.push(a)},unListenProgress:function(a){a=sjcl.mode.ccm.G.indexOf(a);-1<a&&sjcl.mode.ccm.G.splice(a,1)},fa:function(a){var b=sjcl.mode.ccm.G.slice(),c;for(c=0;c<b.length;c+=1)b[c](a)},encrypt:function(a,b,c,d,e){var f,g=b.slice(0),h=sjcl.bitArray,k=h.bitLength(c)/8,l=h.bitLength(g)/8;e=e||64;d=d||[];if(7>k)throw new sjcl.exception.invalid(\"ccm: iv must be at least 7 bytes\");for(f=2;4>f&&l>>>8*f;f++);f<15-k&&(f=15-k);c=h.clamp(c,\n8*(15-f));b=sjcl.mode.ccm.V(a,b,c,d,e,f);g=sjcl.mode.ccm.C(a,g,c,b,e,f);return h.concat(g.data,g.tag)},decrypt:function(a,b,c,d,e){e=e||64;d=d||[];var f=sjcl.bitArray,g=f.bitLength(c)/8,h=f.bitLength(b),k=f.clamp(b,h-e),l=f.bitSlice(b,h-e),h=(h-e)/8;if(7>g)throw new sjcl.exception.invalid(\"ccm: iv must be at least 7 bytes\");for(b=2;4>b&&h>>>8*b;b++);b<15-g&&(b=15-g);c=f.clamp(c,8*(15-b));k=sjcl.mode.ccm.C(a,k,c,l,e,b);a=sjcl.mode.ccm.V(a,k.data,c,d,e,b);if(!f.equal(k.tag,a))throw new sjcl.exception.corrupt(\"ccm: tag doesn't match\");\nreturn k.data},na:function(a,b,c,d,e,f){var g=[],h=sjcl.bitArray,k=h.i;d=[h.partial(8,(b.length?64:0)|d-2<<2|f-1)];d=h.concat(d,c);d[3]|=e;d=a.encrypt(d);if(b.length)for(c=h.bitLength(b)/8,65279>=c?g=[h.partial(16,c)]:0xffffffff>=c&&(g=h.concat([h.partial(16,65534)],[c])),g=h.concat(g,b),b=0;b<g.length;b+=4)d=a.encrypt(k(d,g.slice(b,b+4).concat([0,0,0])));return d},V:function(a,b,c,d,e,f){var g=sjcl.bitArray,h=g.i;e/=8;if(e%2||4>e||16<e)throw new sjcl.exception.invalid(\"ccm: invalid tag length\");\nif(0xffffffff<d.length||0xffffffff<b.length)throw new sjcl.exception.bug(\"ccm: can't deal with 4GiB or more data\");c=sjcl.mode.ccm.na(a,d,c,e,g.bitLength(b)/8,f);for(d=0;d<b.length;d+=4)c=a.encrypt(h(c,b.slice(d,d+4).concat([0,0,0])));return g.clamp(c,8*e)},C:function(a,b,c,d,e,f){var g,h=sjcl.bitArray;g=h.i;var k=b.length,l=h.bitLength(b),n=k/50,m=n;c=h.concat([h.partial(8,f-1)],c).concat([0,0,0]).slice(0,4);d=h.bitSlice(g(d,a.encrypt(c)),0,e);if(!k)return{tag:d,data:[]};for(g=0;g<k;g+=4)g>n&&(sjcl.mode.ccm.fa(g/\nk),n+=m),c[3]++,e=a.encrypt(c),b[g]^=e[0],b[g+1]^=e[1],b[g+2]^=e[2],b[g+3]^=e[3];return{tag:d,data:h.clamp(b,l)}}};\nsjcl.mode.ocb2={name:\"ocb2\",encrypt:function(a,b,c,d,e,f){if(128!==sjcl.bitArray.bitLength(c))throw new sjcl.exception.invalid(\"ocb iv must be 128 bits\");var g,h=sjcl.mode.ocb2.S,k=sjcl.bitArray,l=k.i,n=[0,0,0,0];c=h(a.encrypt(c));var m,p=[];d=d||[];e=e||64;for(g=0;g+4<b.length;g+=4)m=b.slice(g,g+4),n=l(n,m),p=p.concat(l(c,a.encrypt(l(c,m)))),c=h(c);m=b.slice(g);b=k.bitLength(m);g=a.encrypt(l(c,[0,0,0,b]));m=k.clamp(l(m.concat([0,0,0]),g),b);n=l(n,l(m.concat([0,0,0]),g));n=a.encrypt(l(n,l(c,h(c))));\nd.length&&(n=l(n,f?d:sjcl.mode.ocb2.pmac(a,d)));return p.concat(k.concat(m,k.clamp(n,e)))},decrypt:function(a,b,c,d,e,f){if(128!==sjcl.bitArray.bitLength(c))throw new sjcl.exception.invalid(\"ocb iv must be 128 bits\");e=e||64;var g=sjcl.mode.ocb2.S,h=sjcl.bitArray,k=h.i,l=[0,0,0,0],n=g(a.encrypt(c)),m,p,r=sjcl.bitArray.bitLength(b)-e,q=[];d=d||[];for(c=0;c+4<r/32;c+=4)m=k(n,a.decrypt(k(n,b.slice(c,c+4)))),l=k(l,m),q=q.concat(m),n=g(n);p=r-32*c;m=a.encrypt(k(n,[0,0,0,p]));m=k(m,h.clamp(b.slice(c),p).concat([0,\n0,0]));l=k(l,m);l=a.encrypt(k(l,k(n,g(n))));d.length&&(l=k(l,f?d:sjcl.mode.ocb2.pmac(a,d)));if(!h.equal(h.clamp(l,e),h.bitSlice(b,r)))throw new sjcl.exception.corrupt(\"ocb: tag doesn't match\");return q.concat(h.clamp(m,p))},pmac:function(a,b){var c,d=sjcl.mode.ocb2.S,e=sjcl.bitArray,f=e.i,g=[0,0,0,0],h=a.encrypt([0,0,0,0]),h=f(h,d(d(h)));for(c=0;c+4<b.length;c+=4)h=d(h),g=f(g,a.encrypt(f(h,b.slice(c,c+4))));c=b.slice(c);128>e.bitLength(c)&&(h=f(h,d(h)),c=e.concat(c,[-2147483648,0,0,0]));g=f(g,c);\nreturn a.encrypt(f(d(f(h,d(h))),g))},S:function(a){return[a[0]<<1^a[1]>>>31,a[1]<<1^a[2]>>>31,a[2]<<1^a[3]>>>31,a[3]<<1^135*(a[0]>>>31)]}};\nsjcl.mode.gcm={name:\"gcm\",encrypt:function(a,b,c,d,e){var f=b.slice(0);b=sjcl.bitArray;d=d||[];a=sjcl.mode.gcm.C(!0,a,f,d,c,e||128);return b.concat(a.data,a.tag)},decrypt:function(a,b,c,d,e){var f=b.slice(0),g=sjcl.bitArray,h=g.bitLength(f);e=e||128;d=d||[];e<=h?(b=g.bitSlice(f,h-e),f=g.bitSlice(f,0,h-e)):(b=f,f=[]);a=sjcl.mode.gcm.C(!1,a,f,d,c,e);if(!g.equal(a.tag,b))throw new sjcl.exception.corrupt(\"gcm: tag doesn't match\");return a.data},ka:function(a,b){var c,d,e,f,g,h=sjcl.bitArray.i;e=[0,0,\n0,0];f=b.slice(0);for(c=0;128>c;c++){(d=0!==(a[Math.floor(c/32)]&1<<31-c%32))&&(e=h(e,f));g=0!==(f[3]&1);for(d=3;0<d;d--)f[d]=f[d]>>>1|(f[d-1]&1)<<31;f[0]>>>=1;g&&(f[0]^=-0x1f000000)}return e},j:function(a,b,c){var d,e=c.length;b=b.slice(0);for(d=0;d<e;d+=4)b[0]^=0xffffffff&c[d],b[1]^=0xffffffff&c[d+1],b[2]^=0xffffffff&c[d+2],b[3]^=0xffffffff&c[d+3],b=sjcl.mode.gcm.ka(b,a);return b},C:function(a,b,c,d,e,f){var g,h,k,l,n,m,p,r,q=sjcl.bitArray;m=c.length;p=q.bitLength(c);r=q.bitLength(d);h=q.bitLength(e);\ng=b.encrypt([0,0,0,0]);96===h?(e=e.slice(0),e=q.concat(e,[1])):(e=sjcl.mode.gcm.j(g,[0,0,0,0],e),e=sjcl.mode.gcm.j(g,e,[0,0,Math.floor(h/0x100000000),h&0xffffffff]));h=sjcl.mode.gcm.j(g,[0,0,0,0],d);n=e.slice(0);d=h.slice(0);a||(d=sjcl.mode.gcm.j(g,h,c));for(l=0;l<m;l+=4)n[3]++,k=b.encrypt(n),c[l]^=k[0],c[l+1]^=k[1],c[l+2]^=k[2],c[l+3]^=k[3];c=q.clamp(c,p);a&&(d=sjcl.mode.gcm.j(g,h,c));a=[Math.floor(r/0x100000000),r&0xffffffff,Math.floor(p/0x100000000),p&0xffffffff];d=sjcl.mode.gcm.j(g,d,a);k=b.encrypt(e);\nd[0]^=k[0];d[1]^=k[1];d[2]^=k[2];d[3]^=k[3];return{tag:q.bitSlice(d,0,f),data:c}}};sjcl.misc.hmac=function(a,b){this.W=b=b||sjcl.hash.sha256;var c=[[],[]],d,e=b.prototype.blockSize/32;this.w=[new b,new b];a.length>e&&(a=b.hash(a));for(d=0;d<e;d++)c[0][d]=a[d]^909522486,c[1][d]=a[d]^1549556828;this.w[0].update(c[0]);this.w[1].update(c[1]);this.R=new b(this.w[0])};\nsjcl.misc.hmac.prototype.encrypt=sjcl.misc.hmac.prototype.mac=function(a){if(this.aa)throw new sjcl.exception.invalid(\"encrypt on already updated hmac called!\");this.update(a);return this.digest(a)};sjcl.misc.hmac.prototype.reset=function(){this.R=new this.W(this.w[0]);this.aa=!1};sjcl.misc.hmac.prototype.update=function(a){this.aa=!0;this.R.update(a)};sjcl.misc.hmac.prototype.digest=function(){var a=this.R.finalize(),a=(new this.W(this.w[1])).update(a).finalize();this.reset();return a};\nsjcl.misc.pbkdf2=function(a,b,c,d,e){c=c||1E4;if(0>d||0>c)throw new sjcl.exception.invalid(\"invalid params to pbkdf2\");\"string\"===typeof a&&(a=sjcl.codec.utf8String.toBits(a));\"string\"===typeof b&&(b=sjcl.codec.utf8String.toBits(b));e=e||sjcl.misc.hmac;a=new e(a);var f,g,h,k,l=[],n=sjcl.bitArray;for(k=1;32*l.length<(d||1);k++){e=f=a.encrypt(n.concat(b,[k]));for(g=1;g<c;g++)for(f=a.encrypt(f),h=0;h<f.length;h++)e[h]^=f[h];l=l.concat(e)}d&&(l=n.clamp(l,d));return l};\nsjcl.prng=function(a){this.c=[new sjcl.hash.sha256];this.m=[0];this.P=0;this.H={};this.N=0;this.U={};this.Z=this.f=this.o=this.ha=0;this.b=[0,0,0,0,0,0,0,0];this.h=[0,0,0,0];this.L=void 0;this.M=a;this.D=!1;this.K={progress:{},seeded:{}};this.u=this.ga=0;this.I=1;this.J=2;this.ca=0x10000;this.T=[0,48,64,96,128,192,0x100,384,512,768,1024];this.da=3E4;this.ba=80};\nsjcl.prng.prototype={randomWords:function(a,b){var c=[],d;d=this.isReady(b);var e;if(d===this.u)throw new sjcl.exception.notReady(\"generator isn't seeded\");if(d&this.J){d=!(d&this.I);e=[];var f=0,g;this.Z=e[0]=(new Date).valueOf()+this.da;for(g=0;16>g;g++)e.push(0x100000000*Math.random()|0);for(g=0;g<this.c.length&&(e=e.concat(this.c[g].finalize()),f+=this.m[g],this.m[g]=0,d||!(this.P&1<<g));g++);this.P>=1<<this.c.length&&(this.c.push(new sjcl.hash.sha256),this.m.push(0));this.f-=f;f>this.o&&(this.o=\nf);this.P++;this.b=sjcl.hash.sha256.hash(this.b.concat(e));this.L=new sjcl.cipher.aes(this.b);for(d=0;4>d&&(this.h[d]=this.h[d]+1|0,!this.h[d]);d++);}for(d=0;d<a;d+=4)0===(d+1)%this.ca&&y(this),e=z(this),c.push(e[0],e[1],e[2],e[3]);y(this);return c.slice(0,a)},setDefaultParanoia:function(a,b){if(0===a&&\"Setting paranoia=0 will ruin your security; use it only for testing\"!==b)throw new sjcl.exception.invalid(\"Setting paranoia=0 will ruin your security; use it only for testing\");this.M=a},addEntropy:function(a,\nb,c){c=c||\"user\";var d,e,f=(new Date).valueOf(),g=this.H[c],h=this.isReady(),k=0;d=this.U[c];void 0===d&&(d=this.U[c]=this.ha++);void 0===g&&(g=this.H[c]=0);this.H[c]=(this.H[c]+1)%this.c.length;switch(typeof a){case \"number\":void 0===b&&(b=1);this.c[g].update([d,this.N++,1,b,f,1,a|0]);break;case \"object\":c=Object.prototype.toString.call(a);if(\"[object Uint32Array]\"===c){e=[];for(c=0;c<a.length;c++)e.push(a[c]);a=e}else for(\"[object Array]\"!==c&&(k=1),c=0;c<a.length&&!k;c++)\"number\"!==typeof a[c]&&\n(k=1);if(!k){if(void 0===b)for(c=b=0;c<a.length;c++)for(e=a[c];0<e;)b++,e=e>>>1;this.c[g].update([d,this.N++,2,b,f,a.length].concat(a))}break;case \"string\":void 0===b&&(b=a.length);this.c[g].update([d,this.N++,3,b,f,a.length]);this.c[g].update(a);break;default:k=1}if(k)throw new sjcl.exception.bug(\"random: addEntropy only supports number, array of numbers or string\");this.m[g]+=b;this.f+=b;h===this.u&&(this.isReady()!==this.u&&A(\"seeded\",Math.max(this.o,this.f)),A(\"progress\",this.getProgress()))},\nisReady:function(a){a=this.T[void 0!==a?a:this.M];return this.o&&this.o>=a?this.m[0]>this.ba&&(new Date).valueOf()>this.Z?this.J|this.I:this.I:this.f>=a?this.J|this.u:this.u},getProgress:function(a){a=this.T[a?a:this.M];return this.o>=a?1:this.f>a?1:this.f/a},startCollectors:function(){if(!this.D){this.a={loadTimeCollector:B(this,this.ma),mouseCollector:B(this,this.oa),keyboardCollector:B(this,this.la),accelerometerCollector:B(this,this.ea),touchCollector:B(this,this.qa)};if(window.addEventListener)window.addEventListener(\"load\",\nthis.a.loadTimeCollector,!1),window.addEventListener(\"mousemove\",this.a.mouseCollector,!1),window.addEventListener(\"keypress\",this.a.keyboardCollector,!1),window.addEventListener(\"devicemotion\",this.a.accelerometerCollector,!1),window.addEventListener(\"touchmove\",this.a.touchCollector,!1);else if(document.attachEvent)document.attachEvent(\"onload\",this.a.loadTimeCollector),document.attachEvent(\"onmousemove\",this.a.mouseCollector),document.attachEvent(\"keypress\",this.a.keyboardCollector);else throw new sjcl.exception.bug(\"can't attach event\");\nthis.D=!0}},stopCollectors:function(){this.D&&(window.removeEventListener?(window.removeEventListener(\"load\",this.a.loadTimeCollector,!1),window.removeEventListener(\"mousemove\",this.a.mouseCollector,!1),window.removeEventListener(\"keypress\",this.a.keyboardCollector,!1),window.removeEventListener(\"devicemotion\",this.a.accelerometerCollector,!1),window.removeEventListener(\"touchmove\",this.a.touchCollector,!1)):document.detachEvent&&(document.detachEvent(\"onload\",this.a.loadTimeCollector),document.detachEvent(\"onmousemove\",\nthis.a.mouseCollector),document.detachEvent(\"keypress\",this.a.keyboardCollector)),this.D=!1)},addEventListener:function(a,b){this.K[a][this.ga++]=b},removeEventListener:function(a,b){var c,d,e=this.K[a],f=[];for(d in e)e.hasOwnProperty(d)&&e[d]===b&&f.push(d);for(c=0;c<f.length;c++)d=f[c],delete e[d]},la:function(){C(this,1)},oa:function(a){var b,c;try{b=a.x||a.clientX||a.offsetX||0,c=a.y||a.clientY||a.offsetY||0}catch(d){c=b=0}0!=b&&0!=c&&this.addEntropy([b,c],2,\"mouse\");C(this,0)},qa:function(a){a=\na.touches[0]||a.changedTouches[0];this.addEntropy([a.pageX||a.clientX,a.pageY||a.clientY],1,\"touch\");C(this,0)},ma:function(){C(this,2)},ea:function(a){a=a.accelerationIncludingGravity.x||a.accelerationIncludingGravity.y||a.accelerationIncludingGravity.z;if(window.orientation){var b=window.orientation;\"number\"===typeof b&&this.addEntropy(b,1,\"accelerometer\")}a&&this.addEntropy(a,2,\"accelerometer\");C(this,0)}};\nfunction A(a,b){var c,d=sjcl.random.K[a],e=[];for(c in d)d.hasOwnProperty(c)&&e.push(d[c]);for(c=0;c<e.length;c++)e[c](b)}function C(a,b){\"undefined\"!==typeof window&&window.performance&&\"function\"===typeof window.performance.now?a.addEntropy(window.performance.now(),b,\"loadtime\"):a.addEntropy((new Date).valueOf(),b,\"loadtime\")}function y(a){a.b=z(a).concat(z(a));a.L=new sjcl.cipher.aes(a.b)}function z(a){for(var b=0;4>b&&(a.h[b]=a.h[b]+1|0,!a.h[b]);b++);return a.L.encrypt(a.h)}\nfunction B(a,b){return function(){b.apply(a,arguments)}}sjcl.random=new sjcl.prng(6);\na:try{var D,E,F,G;if(G=\"undefined\"!==typeof module&&module.exports){var H;try{H=require(\"crypto\")}catch(a){H=null}G=E=H}if(G&&E.randomBytes)D=E.randomBytes(128),D=new Uint32Array((new Uint8Array(D)).buffer),sjcl.random.addEntropy(D,1024,\"crypto['randomBytes']\");else if(\"undefined\"!==typeof window&&\"undefined\"!==typeof Uint32Array){F=new Uint32Array(32);if(window.crypto&&window.crypto.getRandomValues)window.crypto.getRandomValues(F);else if(window.msCrypto&&window.msCrypto.getRandomValues)window.msCrypto.getRandomValues(F);\nelse break a;sjcl.random.addEntropy(F,1024,\"crypto['getRandomValues']\")}}catch(a){\"undefined\"!==typeof window&&window.console&&(console.log(\"There was an error collecting entropy from the browser:\"),console.log(a))}\nsjcl.json={defaults:{v:1,iter:1E4,ks:128,ts:64,mode:\"ccm\",adata:\"\",cipher:\"aes\"},ja:function(a,b,c,d){c=c||{};d=d||{};var e=sjcl.json,f=e.g({iv:sjcl.random.randomWords(4,0)},e.defaults),g;e.g(f,c);c=f.adata;\"string\"===typeof f.salt&&(f.salt=sjcl.codec.base64.toBits(f.salt));\"string\"===typeof f.iv&&(f.iv=sjcl.codec.base64.toBits(f.iv));if(!sjcl.mode[f.mode]||!sjcl.cipher[f.cipher]||\"string\"===typeof a&&100>=f.iter||64!==f.ts&&96!==f.ts&&128!==f.ts||128!==f.ks&&192!==f.ks&&0x100!==f.ks||2>f.iv.length||\n4<f.iv.length)throw new sjcl.exception.invalid(\"json encrypt: invalid parameters\");\"string\"===typeof a?(g=sjcl.misc.cachedPbkdf2(a,f),a=g.key.slice(0,f.ks/32),f.salt=g.salt):sjcl.ecc&&a instanceof sjcl.ecc.elGamal.publicKey&&(g=a.kem(),f.kemtag=g.tag,a=g.key.slice(0,f.ks/32));\"string\"===typeof b&&(b=sjcl.codec.utf8String.toBits(b));\"string\"===typeof c&&(f.adata=c=sjcl.codec.utf8String.toBits(c));g=new sjcl.cipher[f.cipher](a);e.g(d,f);d.key=a;f.ct=\"ccm\"===f.mode&&sjcl.arrayBuffer&&sjcl.arrayBuffer.ccm&&\nb instanceof ArrayBuffer?sjcl.arrayBuffer.ccm.encrypt(g,b,f.iv,c,f.ts):sjcl.mode[f.mode].encrypt(g,b,f.iv,c,f.ts);return f},encrypt:function(a,b,c,d){var e=sjcl.json,f=e.ja.apply(e,arguments);return e.encode(f)},ia:function(a,b,c,d){c=c||{};d=d||{};var e=sjcl.json;b=e.g(e.g(e.g({},e.defaults),b),c,!0);var f,g;f=b.adata;\"string\"===typeof b.salt&&(b.salt=sjcl.codec.base64.toBits(b.salt));\"string\"===typeof b.iv&&(b.iv=sjcl.codec.base64.toBits(b.iv));if(!sjcl.mode[b.mode]||!sjcl.cipher[b.cipher]||\"string\"===\ntypeof a&&100>=b.iter||64!==b.ts&&96!==b.ts&&128!==b.ts||128!==b.ks&&192!==b.ks&&0x100!==b.ks||!b.iv||2>b.iv.length||4<b.iv.length)throw new sjcl.exception.invalid(\"json decrypt: invalid parameters\");\"string\"===typeof a?(g=sjcl.misc.cachedPbkdf2(a,b),a=g.key.slice(0,b.ks/32),b.salt=g.salt):sjcl.ecc&&a instanceof sjcl.ecc.elGamal.secretKey&&(a=a.unkem(sjcl.codec.base64.toBits(b.kemtag)).slice(0,b.ks/32));\"string\"===typeof f&&(f=sjcl.codec.utf8String.toBits(f));g=new sjcl.cipher[b.cipher](a);f=\"ccm\"===\nb.mode&&sjcl.arrayBuffer&&sjcl.arrayBuffer.ccm&&b.ct instanceof ArrayBuffer?sjcl.arrayBuffer.ccm.decrypt(g,b.ct,b.iv,b.tag,f,b.ts):sjcl.mode[b.mode].decrypt(g,b.ct,b.iv,f,b.ts);e.g(d,b);d.key=a;return 1===c.raw?f:sjcl.codec.utf8String.fromBits(f)},decrypt:function(a,b,c,d){var e=sjcl.json;return e.ia(a,e.decode(b),c,d)},encode:function(a){var b,c=\"{\",d=\"\";for(b in a)if(a.hasOwnProperty(b)){if(!b.match(/^[a-z0-9]+$/i))throw new sjcl.exception.invalid(\"json encode: invalid property name\");c+=d+'\"'+\nb+'\":';d=\",\";switch(typeof a[b]){case \"number\":case \"boolean\":c+=a[b];break;case \"string\":c+='\"'+escape(a[b])+'\"';break;case \"object\":c+='\"'+sjcl.codec.base64.fromBits(a[b],0)+'\"';break;default:throw new sjcl.exception.bug(\"json encode: unsupported type\");}}return c+\"}\"},decode:function(a){a=a.replace(/\\s/g,\"\");if(!a.match(/^\\{.*\\}$/))throw new sjcl.exception.invalid(\"json decode: this isn't json!\");a=a.replace(/^\\{|\\}$/g,\"\").split(/,/);var b={},c,d;for(c=0;c<a.length;c++){if(!(d=a[c].match(/^\\s*(?:([\"']?)([a-z][a-z0-9]*)\\1)\\s*:\\s*(?:(-?\\d+)|\"([a-z0-9+\\/%*_.@=\\-]*)\"|(true|false))$/i)))throw new sjcl.exception.invalid(\"json decode: this isn't json!\");\nnull!=d[3]?b[d[2]]=parseInt(d[3],10):null!=d[4]?b[d[2]]=d[2].match(/^(ct|adata|salt|iv)$/)?sjcl.codec.base64.toBits(d[4]):unescape(d[4]):null!=d[5]&&(b[d[2]]=\"true\"===d[5])}return b},g:function(a,b,c){void 0===a&&(a={});if(void 0===b)return a;for(var d in b)if(b.hasOwnProperty(d)){if(c&&void 0!==a[d]&&a[d]!==b[d])throw new sjcl.exception.invalid(\"required parameter overridden\");a[d]=b[d]}return a},sa:function(a,b){var c={},d;for(d in a)a.hasOwnProperty(d)&&a[d]!==b[d]&&(c[d]=a[d]);return c},ra:function(a,\nb){var c={},d;for(d=0;d<b.length;d++)void 0!==a[b[d]]&&(c[b[d]]=a[b[d]]);return c}};sjcl.encrypt=sjcl.json.encrypt;sjcl.decrypt=sjcl.json.decrypt;sjcl.misc.pa={};sjcl.misc.cachedPbkdf2=function(a,b){var c=sjcl.misc.pa,d;b=b||{};d=b.iter||1E3;c=c[a]=c[a]||{};d=c[d]=c[d]||{firstSalt:b.salt&&b.salt.length?b.salt.slice(0):sjcl.random.randomWords(2,0)};c=void 0===b.salt?d.firstSalt:b.salt;d[c]=d[c]||sjcl.misc.pbkdf2(a,c,b.iter);return{key:d[c].slice(0),salt:c.slice(0)}};\n\"undefined\"!==typeof module&&module.exports&&(module.exports=sjcl);\"function\"===typeof define&&define([],function(){return sjcl});\n"
  },
  {
    "path": "boot/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": [\n\t\t{\n\t\t\t\"file\": \"sjcl.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"title\": \"$:/library/sjcl.js\",\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"library\": \"yes\"\n\t\t\t},\n\t\t\t\"prefix\": \"(function(define) {\\n\",\n\t\t\t\"suffix\": \"\\n})(function (_,defined){window.sjcl = defined()})\\n\"\n\t\t},\n\t\t{\n\t\t\t\"file\": \"boot.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"title\": \"$:/boot/boot.js\",\n\t\t\t\t\"type\": \"application/javascript\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"file\": \"bootprefix.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"title\": \"$:/boot/bootprefix.js\",\n\t\t\t\t\"type\": \"application/javascript\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"file\": \"boot.css.tid\",\n\t\t\t\"isTiddlerFile\": true\n\t\t}\n\t]\n}"
  },
  {
    "path": "code-of-conduct.md",
    "content": "<p>This community exists because TiddlyWiki is more useful when people share and work together.</p><p>This community is a beautiful but fragile thing: a collection of diverse people from all over the planet, united in their interest in the project, and their commitment to helping one another achieve and learn more.</p><p>We try to make the community as broad and welcoming as possible by remembering some basic principles of culture and behaviour.</p><p>These principles guide technical and non-technical decisions, and help contributors and leaders support our project and community.</p><ul><li>We are optimistic and hopeful</li><li>We aim to foster a learning environment that is collaborative and safe for everyone</li><li>We recognise that the motivation for sharing and helping is usually for appreciation, and not financial gain, and so we take care to acknowledge and <strong>thank the people who enrich the community by sharing what they have created</strong></li><li>While we are united in our interest in TiddlyWiki, we differ in every other conceivable way. We choose to focus on what unites us, and <strong>avoid unnecessarily mixing contentious topics like religion and politics</strong></li><li>We treat each other with respect, and start with the assumption that <strong>others are acting in good faith</strong></li><li>We avoid discriminatory language</li><li>We try to use our strength as a community to help others</li><li>We avoid responding when angry or upset because we try to de-escalate conflict</li><li>We make sure we critique ideas, not people</li><li>When we disagree with others we do so graciously, and treat others with dignity and respoect</li><li>We do not tolerate intolerance towards others</li><li>We seek first to understand others, and then to be understood</li><li>We have fun</li></ul><p>Our discussions are in English. It is not the first language of many people in the community, nor do we all share the same cultural background and reference points. So we take care to use language that is clear and unambigous, and avoid cultural references or jokes that will not be widely understood.</p><p>It is not acceptable to make jokes or other comments that discriminate by race, gender, sexuality, or other protected characteristic.</p><p>As an inclusive community, we are committed to making sure that TiddlyWiki is an accessible tool that understands the needs of people with disabilities.</p>"
  },
  {
    "path": "community/docs/Community Cards Caveats.tid",
    "content": "title: Community Cards Caveats\ncreated: 20250909171928024\nmodified: 20250909171928024\n\n''Please note that [[Community Cards]] are a new initiative started in September 2025. There is further work required to complete the team and people information.''\n"
  },
  {
    "path": "community/docs/Community Cards.tid",
    "content": "title: Community Cards\ntags: Community\nmodified: 20250909171928024\ncreated: 20250909171928024\n\nThe purpose of Community Cards is to allow project plans and other community activities to be linked to the people who are involved in them. They also allow people to share their interests and activities in the TiddlyWiki community, and to help people in the TiddlyWiki community get to know each other better.\n\n{{Community Cards Caveats}}\n\n* [[Submitting a Community Card]]\n* [[Displaying Community Cards]]\n"
  },
  {
    "path": "community/docs/Displaying Community Cards.tid",
    "content": "title: Displaying Community Cards\ntags: [[Community Cards]]\nmodified: 20250909171928024\ncreated: 20250909171928024\n\n!! Cards for people\n\nThis is an inline card for <<community-card-pill-person title:\"@Jermolene\">> and <<community-card-pill-person title:\"@ericshulman\">> which can be used in the middle of a sentence.\n\nThis is a stack of inline cards:\n\n<<community-card-pill-stack-person>>\n\nHere is a full format card:\n\n<<community-card-person title:\"@Jermolene\">>\n\nThis is how the card looks when there is no such person:\n\n<<community-card-person title:\"@MissingPerson\">>\n\n!! Cards for teams\n\nThis is a card for a project team:\n\n<<community-card-team title:\"Project Team\">>"
  },
  {
    "path": "community/docs/Submitting a Community Card.tid",
    "content": "title: Submitting a Community Card\ntags: [[Community Cards]]\nmodified: 20250909171928024\ncreated: 20250909171928024\n\nAnyone associated with the TiddlyWiki community can submit a Community Card. The submission process currently involves making a GitHub pull request but we intend to provide a more user-friendly submission process in the future.\n\nPull requests to add or update a community card should be made against the `tiddlywiki-com` branch of the [[TiddlyWiki repository|https://github.com/TiddlyWiki/TiddlyWiki5]] in the directory `community/people`.\n\nThe card should be a TiddlyWiki tiddler with the following fields:\n\n|!Field |!Required|!Description |\n|`title`|Yes |The username of the person represented by the card, starting with `@` (e.g. `@Jermolene`). This is the title of the card and should be unique |\n|`tags`|Yes |The tags for the card, including `Community/Person` |\n|`fullname`|Yes |The full name of the person or group represented by the card |\n|`avatar`|Yes |The base64 representation of the 32x32 avatar image for the person represented by the card |\n|`first-sighting`|No |The date of the first sighting in the community of the person represented by the card. This should be in ISO 8601 format (YYYY-MM-DD) |\n|`talk.tiddlywiki.org`|Yes |The username of the person or group on the TiddlyWiki Talk forum |\n|`github`|No |The username of the person or group on GitHub |\n|`linkedin`|No |The URL of the LinkedIn profile for the person or group represented by the card |\n|`flickr`|No |The URL of the Flickr profile for the person or group represented by the card |\n|`homepage`|No |The URL of the homepage for the person or group represented by the card |\n|`email`|No |The email address of the person or group represented by the card |\n|`text`|Yes |The text of the card. This should include a brief description of the person or group represented by the card, and any other relevant information |\n\n! Rules for Community Cards\n\nCommunity cards must observe the following rules. It is intended to enforce them with an automated script, but for the moment they will be manually checked.\n\n* `title` must be unique and start with `@`\n* `tags` must include `Community/Person`\n* `fullname` must be provided\n* `avatar` must be a base64 representation of a 32x32 image, with a limit of 1KB.  [[Squoosh|https://squoosh.app/]] is recommended for resizing and compressing images\n* `first-sighting` should be in ISO 8601 format (YYYY-MM-DD)\n* `talk.tiddlywiki.org` must be provided\n* `text` total size must not exceed 2KB\n"
  },
  {
    "path": "community/people/Arlen22.tid",
    "content": "title: @Arlen22\ntags: Community/Person\nfullname: Arlen Beiler\nfirst-sighting: 2011-06-20\ntalk.tiddlywiki.org: arlen22\ngithub: Arlen22\nhomepage: arlen22.github.io\navatar: /9j/4AAQSkZJRgABAQAAAQABAAD/2wEEEAAVABUAFQAVABYAFQAYABoAGgAYACEAIwAfACMAIQAwAC0AKQApAC0AMABJADQAOAA0ADgANABJAG8ARQBRAEUARQBRAEUAbwBiAHcAYQBaAGEAdwBiALEAiwB7AHsAiwCxAMwArACiAKwAzAD4AN0A3QD4ATgBKAE4AZcBlwIkEQAVABUAFQAVABYAFQAYABoAGgAYACEAIwAfACMAIQAwAC0AKQApAC0AMABJADQAOAA0ADgANABJAG8ARQBRAEUARQBRAEUAbwBiAHcAYQBaAGEAdwBiALEAiwB7AHsAiwCxAMwArACiAKwAzAD4AN0A3QD4ATgBKAE4AZcBlwIk/8IAEQgAQABAAwEiAAIRAQMRAf/EADAAAAIDAQEAAAAAAAAAAAAAAAMFAQQGAgABAQEBAQEAAAAAAAAAAAAAAAIDAQAE/9oADAMBAAIQAxAAAADIRMd3XctQlXtCTTmB6RFvANDouy4DYwEEar6YVM7ocz57mcqnZys+V2azZU4XZSoiZqhQt9TKOlnO+GOl1HyoUPXLn//EACYQAAICAQQCAgEFAAAAAAAAAAECABEDBBIhMUFRECITFCMycZH/2gAIAQEAAT8AI4Bv4ryAeBAnANHuNidWogEwYHNRsdfA8iruVMOIu6iYtK4c714vgTDpXyOfrQHdifoArEXxM2mR0NeOhUzI+LJzYbuHszCm5hYseZh0gXYWFIai4cWJgFJuFKYvtr2sJRuB9fUzgDHlGMHia2757uYsYc0TNHpsSmzzMONjl9iu74iK6PbWT7gv/RMiZDk+qcA3NXkAVl3gE+ADU1PDVdiaDCGJZjQEyowKANS1ZMwK+HJ+3a0KUDqYnYINxJ3eItDk81M2cZD+NVIrmanU/wAl2gCZiGNiaFziJ3LYIHcXMrLvDABe17EN1vCgqR2TNPnGTBSBbDTeV3c2amdlxPuD2C3H9epqmV628xqsUYmdiuwkVVTSZ0Q/dxwYdScrgBRsqONi2KQX7mo1G4WCK20B6j6p/VpcfMXPVQ9mbhx9eLgZrFGDUZB1DqMrCma4xN8mDcR5qK5Rgw7Hx//EABwRAQEBAQACAwAAAAAAAAAAAAECABEDIhIxQf/aAAgBAgEBPwDVQYpfzd66qDeOSn7yEmH23ffDAi66mug6DM9N8HTAY3//xAAcEQEBAQEAAgMAAAAAAAAAAAABAAIREBIiQVH/2gAIAQMBAT8AglC+rJbdCT1vVC33l83tj2OPLS+AJ3+Tf//Z\n\nI make random software."
  },
  {
    "path": "community/people/ChristianByron.tid",
    "content": "title: @Christian_Byron\ntags: Community/Person\nfullname: Christian Byron\ntalk.tiddlywiki.org: Christian_Byron\ngithub: ceebeetree\nlinkedin: www.linkedin.com/in/christian-byron-b84a594/\navatar: /9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAgICAgJCAkKCgkNDgwODRMREBARExwUFhQWFBwrGx8bGx8bKyYuJSMlLiZENS8vNUROQj5CTl9VVV93cXecnNEBCAgICAkICQoKCQ0ODA4NExEQEBETHBQWFBYUHCsbHxsbHxsrJi4lIyUuJkQ1Ly81RE5CPkJOX1VVX3dxd5yc0f/CABEIACAAIAMBIgACEQEDEQH/xAAuAAEBAAMBAAAAAAAAAAAAAAAHBgEDBQQBAAMBAAAAAAAAAAAAAAAAAAABAwX/2gAMAwEAAhADEAAAADv2xtJlY03sqePW3ARS1RSydIhcH//EACcQAAICAgIBAgYDAAAAAAAAAAECAwQFEQASMRMhBhBBk8HRIzJx/9oACAEBAAE/AMFQxs+NExqJLMCwYE+SOT4bF3qr+hAIpRsDQ6lWH0Yco4S/eVniRVQHXZzrZ5dwGQpQtNII2RfJVvHMRl5cbKxC94n/ALp+RxfiKpNcgMMUqPIwjcnWip/I5XtUowaL3Ujir/xt79Glb6/4OZ7MV5oEpUzuIa7MPB14A5jpoYLsEsydo1bbLre+CWEEEYab7Uf74ZYSSThpvtR/vmRmhnuzywp1jZtquta+VPM49qlcy24lf017At7g8uZnHrUsGK3Ez+m3UBvcnXy//8QAHhEAAgEFAAMAAAAAAAAAAAAAAQIDAAQRIkEyUaH/2gAIAQIBAT8AmiuVlZkLEeQOflJPcvMAF0z65V+h0YIW52rBDuxUrztf/8QAIxEBAAEDAwMFAAAAAAAAAAAAAgEAAxEEBSMSQcEiMVJxof/aAAgBAwEBPwC/Z1ZvNBOYz1Gc/lDUat3ySPRM/H2P3W4hcbIldpxnxW3BcjQk9oznzX//2Q==\n\nHello ~TiddlyWikiers - I have been a long time fan, recent contributor to the TW community. \nRecently I have volunteered to run the [[TiddlyWiki Newsletter|https://tiddlywiki.substack.com/]] to spread the great news about TW.\n\nI have been in the IT industry for about thirty years, mostly as a consultant and technical arcitect.\nMore recently I went back to study a masters in IT focussing on AI and data science.\nNow my partner and I have started our own business ([[Sphere Innovations|https://sphere-innovations.com.au]])  - in consulting and building web applications for small to medium size businesses here in Australia. \n"
  },
  {
    "path": "community/people/EricShulman.tid",
    "content": "title: @ericshulman\ntags: Community/Person Community/Team/Contributors\nfullname: Eric Shulman\nfirst-sighting: 2005-06-21\ntalk.tiddlywiki.org: ericshulman\ngithub: ericshulman\nhomepage: tiddlytools.com\nemail: elsdesign@gmail.com\navatar: iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAQAAADZc7J/AAAD/ElEQVR42o2Tf2iUdRzH37e7rOa222233bab3mqKU9QihCAi+isKwX/sh5UQhGYQhNAvQowRUoghQWDOIJtQmOY0M92ZmVGm0WbTyZI1Nnft99S1jc3dPT9efffg/bHdLn19Hp4HPjzv9/fz+fL5aE58PwUkjzzFVC4P/G/k6E445Pc+uceeaqnv7Ogd6Rq68PPhrc+vkiERWOLT/+Ib8uQHNiXax3BIM0mC+CEtl2G7X9mIeCV+9Ejrr2MAtgkH14SNBRZXrYYPNF86nsXCkx/8dATAsp0JhknQTYJrTHg5SNI0qMekb+aw8Hr74WCKpNNu/0Kck5ymkRMcZz/1Jv5g2CUFbZYelrbMvlBMonHvJK3JuPsdTQxwExc8XG7SxF7OcxGScP6wRGCG/Asjf39VPydTzbQyRBrXBKToBCP/nQQ9VpIDO6SumU3EjUFLzX766HMG0mIvoJnXEbU47GGXc4TGBs3zWp5Jh7F47omdf56hy9lLIz3gyYfZSQMJztFEH3KEDg+bf1dkzkO9Savks7H9NLqnuEw3MEU314nTwABj/MV2R6y8JL+0wKdM8MtX23aFy04dF5mg08QI6XYsemmzRfiMDP5Mg1emK4ienZxi0p0gBfRwhSHAxgXGGeS6tYUdu6TPA3Ofr3Mfj9Bv4zHMDaCTMcBlnG4cJqx64sagN9Ngw3RJoa5R+MftI8k1Wm7NcSsH6KKPFGBbG1n1srQ+06DWpJ59cRhsGKGbo0wBFpDgNGcBcHGsl9BuSZmjfCRHWnv0BtgOcJVWwAZG2cw+3uErAKacZ6hq32PkGWuNSaxsHgIHxqjje5I4/Ms2dCt+BHpcUT4ai0j5sw22TCea2sCBbz3BOjaRFj+JeAE46IoHxlUmlfrmWuZT+8Ae935fjljDe3zpLdEJxGriLHdFtL8mKC2cbbAgIOXVBemwBhHibZq4xN/0YgPrESsRsiMs+C1zEwwFxqBqs4hY2yhlKeIUab5GLEM8SLlVRslu77jZhEwL/ofKKZ4uknxiiLO0cYFGFpJPMTGiRO0iQqtNrX7NxueTcahqv4/FTpgwFYinOcoxtiLKWEwF+U6Mqv5FuVlWSQHzvBWmKmUqIEg1YiMfIu6lhjKCRK0YkXelwoDmIjztWrCot5KQs5R5zKccIVZQwl3cTaVdQVGnfOkrzFbDuvuJWTVuBcXcQ5iFlFFAmBynlBKKH/f6z06pX6r6pJoSQlaeW2gsighi3na1E6HwNSkUUHbS45FXG7ajhIi68+1cO98qtqqJEHzTW6LbEfUstER1ef2llBKhiGqKW7VGUk6lT7dnmS/gnZMf1KPaoI16VWsrA1KhX3dObo5m9VqQpff/AFTcI4hMzFV+AAAAAElFTkSuQmCC\n\n\\define wiki(text,topic) [[$text$|https://en.wikipedia.org/wiki/$topic$]]\n\n''Hello! My name is Eric Shulman''. I am the author of ''[[www.TiddlyTools.com|http://www.TiddlyTools.com]] (Small Tools for Big Ideas! &trade;)'', a popular collection of original plugins, macros, widgets, templates and stylesheets for TiddlyWiki that I have created and shared with the TiddlyWiki community.\n\n<<<\nThink of TiddlyTools as a ''virtual hardware store and \"demonstration showroom\"'', offering tools, parts and techniques that provide a rich variety of new functionality and feature enhancements to help you ''turn a general-purpose TiddlyWiki \"info-house\" into a comfortable, custom-built \"info-home\"''.\n\nThe TiddlyWiki core system provides the basic structure and utilities: the foundation, framing, walls, roof, windows/doors, plumbing, heating, and electrical systems. Then, TiddlyTools helps you with all the \"finish work\": the appliances, fixtures, lighting, cabinets, furniture, paint, wallpaper, carpeting, etc. ''to best suit your specific needs and personal style''.\n<<<\n\nSince the early days of TiddlyWiki (April 2005), I have worked closely with its inventor, [[Jeremy Ruston|https://jermolene.com/]], to help develop and improve TiddlyWiki's core functions. I am also a key contributor and administrator of the online TiddlyWiki [[Discourse|https://talk.TiddlyWiki.org]] and [[GoogleGroups|https://groups.google.com/forum/#!forum/tiddlywiki]] discussion forums, providing ongoing assistance to the worldwide TiddlyWiki community. I have written over 15,000 detailed responses to individual questions posted online.  For several years I was also the lead developer and maintainer of the [[TiddlyWiki Classic|https://classic.tiddlywiki.com/]] codebase.\n\nI was born and raised in suburban Long Island, NY, and attended [[Carnegie Mellon University (CMU)|https://www.cmu.edu/]] in Pittsburgh, PA, where I studied ''Computer Science, Cognitive Psychology, Sociology, Human Factors Design, and Artificial Intelligence''. As an undergraduate at CMU, I was privileged to work with some of the major luminaries in early software research and design, including <<wiki \"Herbert Simon\" \"Herbert_A._Simon\">>, <<wiki \"Allen Newell\" \"Allen_Newell\">>, <<wiki \"James Gosling\" \"James_Gosling\">>, and <<wiki \"Raj Reddy\" \"Raj_Reddy\">>. I was also employed in several Computer Science Department research projects, including the development of speech recognition technologies, graphical interface systems, and interactive applications for instruction in physics, art and music. I received a ''Bachelor of Science in \"Interactive Systems Design\"'' from CMU in 1985.\n\nDuring my early post-graduate years, I worked for several notable software development companies, including \n<<wiki \"Honeywell Information Systems\" \"Honeywell#Honeywell_Information_Systems\">> and <<wiki \"Lotus Software\" \"Lotus_Software\">>. I was an integral member of the <<wiki \"1-2-3 spreadsheet\" \n\"Lotus_1-2-3\">> development team where I helped create the first GUI-based application interfaces for Microsoft Windows and IBM OS/2.\n\nSince 1998, I have been an ''independent design consultant'', living and working in Silicon Valley, where I apply more than 40 years of experience to provide ''analysis, design and software development services'' for commercial companies and not-for-profit organizations, with emphasis on ''information architecture'' and ''interaction/visual design standards'' to improve ease-of-use for new and existing software products and online environments.\n"
  },
  {
    "path": "community/people/Jermolene.tid",
    "content": "title: @Jermolene\ntags: Community/Person\nfullname: Jeremy Ruston\nfirst-sighting: 2004-09-20\ntalk.tiddlywiki.org: jeremyruston\ngithub: Jermolene\nlinkedin: www.linkedin.com/in/jermy\nflickr: www.flickr.com/photos/jermy/\nbluesky: https://bsky.app/profile/jermolene.bsky.social\nhomepage: jermolene.com\nemail: jeremy@jermolene.com\navatar: /9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAgICAgJCAkKCgkNDgwODRMREBARExwUFhQWFBwrGx8bGx8bKyYuJSMlLiZENS8vNUROQj5CTl9VVV93cXecnNEBCAgICAkICQoKCQ0ODA4NExEQEBETHBQWFBYUHCsbHxsbHxsrJi4lIyUuJkQ1Ly81RE5CPkJOX1VVX3dxd5yc0f/CABEIACAAIAMBIgACEQEDEQH/xAAtAAEBAAMAAAAAAAAAAAAAAAAHBgIEBQEBAQEBAAAAAAAAAAAAAAAAAgQBBf/aAAwDAQACEAMQAAAANF4uTuPRhD2nBLnUiJvKM0DtMKy//8QAKxAAAgIBAwMDAQkAAAAAAAAAAQIDBBEABRITITEiMkFxFEJRUmFicoGR/9oACAEBAAE/AInTA6gUGP4ZOQbW1bPsmyUq1q+gmvFPUzZPDkPamtwqU75ks04JakroVcg5RwRjg66NUx25KbzqJYyMngfqSuq0M3NZYIebJIvZozIvI/iNPcp/aalSdJXsS4VcKeIzlvU3jVTcYLNiaGISrjkhWQYDfQ63pYAzCDBsOiu7Dsx4EHH6r2w2ttimjd2IsNErhhJHKI04/uzqxuCxpBYVVWKSHqwMyMSQ33SB7dUJFmlkMYRgnqZgCMf7rf8AeEt3A9YOhjXAb2k8u7dtT1RZeOtXmYxiOPj4ZWY/lb51skqUNnNW/wBNzC7IpB6gQeeB/jq/fqGOaLbowuYn5MAQOw8LjW5Vmeo0qIsqYLLKjHIZmwv9fB1//8QAHxEAAQMEAwEAAAAAAAAAAAAAEQABAgMSIWExMkFR/9oACAECAQE/AD9iTy2lJmHUB8BVKM4SNSOj46a29saX/8QAHREAAgICAwEAAAAAAAAAAAAAAQIAAwQRITGBkf/aAAgBAwEBPwDHpFpJZtamVSiBWT2Yt7hmCDsb+TKtsKqpGg3M/9k=\n\nI'm the original inventor of TiddlyWiki. You can hire me through my consultancy company [[Intertwingled Innovations|https://intertwingledinnovations.com]] or contact me directly.\n\nFurther information:\n\n* A recording of the [[keynote I gave at QCon London in April 2024|https://www.infoq.com/presentations/bbc-micro/]], and the [[discussion on talk.tiddlywiki.org|https://talk.tiddlywiki.org/t/recording-of-jeremys-keynote-at-qcon-london-april-2024/10505]]. The talk mixes some nostalgia about my teenage activities with the BBC Micro with thoughts on the development of the software industry and insights gained from working with TiddlyWiki\n* An [[interview with me in The Inquirer|https://web.archive.org/web/20111103225832/http://www.theinquirer.net/inquirer/feature/2105529/bt-software-engineer-tells-telco-source]] by Wendy Grossman\n* A [[hilarious interview with me|https://www.youtube.com/watch?v=auyIhw8MTmQ]] from British television in 1983\n* Here's a video of a presentation I did in 2007 called [[\"How to Start an Open Source Project\"|http://vimeo.com/856110]].\n"
  },
  {
    "path": "community/people/LinOnetwo.tid",
    "content": "avatar: /9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAgICAgJCAkKCgkNDgwODRMREBARExwUFhQWFBwrGx8bGx8bKyYuJSMlLiZENS8vNUROQj5CTl9VVV93cXecnNEBCAgICAkICQoKCQ0ODA4NExEQEBETHBQWFBYUHCsbHxsbHxsrJi4lIyUuJkQ1Ly81RE5CPkJOX1VVX3dxd5yc0f/CABEIACAAIAMBIgACEQEDEQH/xAAuAAEAAwEBAAAAAAAAAAAAAAAGAwQHAgUBAAMBAAAAAAAAAAAAAAAAAAACAwT/2gAMAwEAAhADEAAAAOfCWAMdKKetM4wOvY5OcvZnrYf/xAApEAACAQQBBAECBwAAAAAAAAABAgMABAURQQYSIVETFCIxMkJicYKh/9oACAEBAAE/AEtysaStr7mPaPeuazWdMM4gEnfPryW8hBUuZvou2RXRxyreBWPmgyNqs8f8MOQalhdY7Vz+R4/s/qfP+1edNi/zl7HDcFbmS3E8CcMR4INP0PkBhklIm+sZNtFtQiV0nj57Owl+dSrSTFgD6/CtH4VV9lU3oAbPngAVY389lc5URuUZkMxhnR4pvW0VwDqsP1FNmLWYqCpikMbngmliJNY+aKzyTxXS6lRAyg/u5rq+5x2RsuyTa3MQMlvKniRGThTUd1JYXUdzAwDvqVxGdRXMbfrVOD7HBrG3mNEsU8z98TRhl9eRzX//xAAcEQACAgIDAAAAAAAAAAAAAAABAgARAzESIVH/2gAIAQIBAT8ARuXZPsul3Eoje5lBQWBP/8QAGREAAwEBAQAAAAAAAAAAAAAAAAECEiER/9oACAEDAQE/AM98Lk7LJe20z//Z\ncreated: 20251110102157310\nfirst-sighting: 2019-03-01\nfullname: Lin Onetwo\ngithub: linonetwo\nhomepage: https://wiki.onetwo.website/\nmodified: 20251111184556193\ntags: Community/Person Community/Team/Contributors\ntalk.tiddlywiki.org: linonetwo\ntitle: @linonetwo\ntype: text/vnd.tiddlywiki\n\nSince 2014, when I started college, I've been on a quest for a lifelong PKM tool. I cherish my life and all my experiences, and I don’t want to forget any of them. When I’m deeply focused on a task, it’s easy to lose sight of other important parts of my life—so I needed a system to help me stay balanced.\n\nEarly on, I tried TiddlyWiki several times, but I was initially put off by its save mechanism and markup editing. That changed when I discovered an auto-backup script, which gave me the confidence to fully commit. Over time, I improved the script and eventually transitioned to using TidGi-Desktop and TidGi-Mobile.\n\nToday, my TiddlyWiki holds all my game design ideas and progress logs—it has truly become my second brain. With the help of LLM-powered programming tools, I’ve enhanced it with numerous plugins, allowing me to manage my mind in a more programmable and structured way. As a game developer, TiddlyWiki isn't the core of my professional work; But I've invested so much time because it's fundamentally about upgrading my mind.\n\nMost of my notes are open by default and shared publicly on my homepage as a digital garden.\n"
  },
  {
    "path": "community/people/MotovunJack.tid",
    "content": "title: @MotovunJack\ntags: Community/Person Community/Robot\nfullname: Motovun Jack\nfirst-sighting: 2012-01-12\ngithub: MotovunJack\nhomepage: tiddlywiki.com\navatar: /9j/4AAQSkZJRgABAQAAAQABAAD/2wEEEAAYABgAGAAYABkAGAAaAB0AHQAaACUAKAAjACgAJQA2ADIALgAuADIANgBSADsAPwA7AD8AOwBSAH0ATgBbAE4ATgBbAE4AfQBuAIYAbQBlAG0AhgBuAMYAnACKAIoAnADGAOUAwQC2AMEA5QEWAPgA+AEWAV4BTAFeAckByQJmEQAYABgAGAAYABkAGAAaAB0AHQAaACUAKAAjACgAJQA2ADIALgAuADIANgBSADsAPwA7AD8AOwBSAH0ATgBbAE4ATgBbAE4AfQBuAIYAbQBlAG0AhgBuAMYAnACKAIoAnADGAOUAwQC2AMEA5QEWAPgA+AEWAV4BTAFeAckByQJm/8IAEQgAQABAAwEiAAIRAQMRAf/EADAAAAIDAQEAAAAAAAAAAAAAAAMEAQIFBgABAQEBAQEAAAAAAAAAAAAAAAIDAQAE/9oADAMBAAIQAxAAAADZCfn5vZJz+rnODGtpbpm6O8xzG9lCiszXtikQhtkTBputBxURJuVVYlEdBaQ284mPDj6GmkNUblMxRmi7dKw//8QAKxAAAgIBAgUCBgMBAAAAAAAAAQIAAxESIQQTIkFRFGEjMUJxgaEyNGLR/9oACAEBAAE/AMmX3ilMkjPaV3ragZDtNRmoxpvA2sEqQcHEwJxlwa98nYbCU8TymDfSTvPVKMbZHkQcTU4yDH46tTiE8RxjLXnQp7Dx5MACgKuyqMAS1xXU7kjYTiEbWp3y0IucYbGx6e05hDAqMH/k59o3DfxAE5hss1MNzODdVraxu50ieppH1Tivi8O6eYQ1j4B6guAftChDMNjBqycHcCYJqdj2s3idRBHfpi/1Kie7PDo95w/EMxYM22n9yy5AzBc/iLe7dIqx7kyy2ypyOWoYTofhCyDAZtx4MOmpK9sncyx1NdSq2kBBt3EKf6mgIzDUPIiByuqk7faMLbOyEjuuxEAyo56AgeTA3KL1AYRm1CcvmkgAs2wHjEvPxGIMJPmHUQCQNothr32A0ggeYluplcAK2PlLbTytZUkdwI7V3lAQMgbAfP8AMoCV1AKMOR+pdsc5yD595mMmNIGD4h0vsfupHyBlTKW9znMd+TQnljPWqHYIqhwD1zKsqtjBzCAVAyBicnqG6jbOe0//xAAbEQEBAAMBAQEAAAAAAAAAAAABAAIRIRASQf/aAAgBAgEBPwBYbZDuXvnLE5OrkWJzxI4g33ift//EABsRAAMBAQADAAAAAAAAAAAAAAABEQIhEBJB/9oACAEDAQE/AMqjzHwjGoZXPHTb6Zp1/TRp1khYjW01xHqz/9k=\n\nMotovun Jack is a robot that helps maintain the TiddlyWiki project infrastructure. It is not a person, but rather a set of automated scripts and tools that assist in managing the various services and resources used by the TiddlyWiki community.\n\nThe origin of the name \"Motovun Jack\" is a lovable and playful kitten encountered by [[@Jermolene]] in the beautiful medieval hill town of Motovun in Croatia. Jack was [[first adopted|https://github.com/TiddlyWiki/TiddlyWiki5/commit/ecfbaaa5641f14e1766ef17ef6416bf9aa992863]] as the TiddlyWiki 5 mascot in 2012.\n"
  },
  {
    "path": "community/people/PMario.tid",
    "content": "avatar: UklGRiwIAABXRUJQVlA4WAoAAAAwAAAAPwAAPwAASUNDUCACAAAAAAIgbGNtcwRAAABtbnRyR1JBWVhZWiAH6QALAAoACwADAAZhY3NwTVNGVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWxjbXMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZkZXNjAAAAzAAAAG5jcHJ0AAABPAAAADZ3dHB0AAABdAAAABRrVFJDAAABiAAAACBkbW5kAAABqAAAACRkbWRkAAABzAAAAFJtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAFIAAAAcAEcASQBNAFAAIABiAHUAaQBsAHQALQBpAG4AIABEADYANQAgAEcAcgBhAHkAcwBjAGEAbABlACAAdwBpAHQAaAAgAHMAUgBHAEIAIABUAFIAQwAAbWx1YwAAAAAAAAABAAAADGVuVVMAAAAaAAAAHABQAHUAYgBsAGkAYwAgAEQAbwBtAGEAaQBuAABYWVogAAAAAAAA81EAAQAAAAEWzHBhcmEAAAAAAAMAAAACZmYAAPKnAAANWQAAE9AAAApbbWx1YwAAAAAAAAABAAAADGVuVVMAAAAIAAAAHABHAEkATQBQbWx1YwAAAAAAAAABAAAADGVuVVMAAAA2AAAAHABEADYANQAgAEcAcgBhAHkAcwBjAGEAbABlACAAdwBpAHQAaAAgAHMAUgBHAEIAIABUAFIAQwAAVlA4TOYFAAAvP8APEDWGgbRtWv+yt/0WImICOBvWn1C4dFi1bStbvpY8Qg2ePANNNAMh3N2db/7A91/7CHBvBBRr25ZFH+4k98ihkqi2CP4tsANvX8a+8y8Ct04dn0nuUt39ZiBJkowqt911M+MJ1G3bNiZJr1iP0DZ+2bbdadsqprOjAqmoUIX9hf3Fl5/uPYV7I3OMeoFzIvrvwG0kRUr3zPLdYMMXaqrMMsp0K4fufKO6c2hFV5Zh7kRROZX0PSCmB/3KWQwpuiekWelSRZDW94d0q750NrxavpFn1eLNQ9EV8nWlmAET6Q8lrCRTcjFLlLImluK3iXJW/hT47KGklS8OlzWUtXLFYDRCSS74ojUjxggqKMoxd6A1lTCyvsvyzC5/d7BsCHb7yIcHyrX2yR/NPnsAdRT2i0Pwp/o0Il6ix8hsRAuJmQgcr4KREfAiMgUVm9KqmfSxL5pOJspVwwTiV6jiIAg1RMhHpERhbvwgGI34Hc49T7UeKZtXwEqJ+BAaoBneperJH0POs1u4dufwv8Gf+qcOfjyvX6ZIVgxE0Rw87YF3BSc9c7jsXfdjOBG7FwmSb39pfGRwu8IuvUjJNoTpFzkEvDg6W3Qt/9nf99ZXPy8HM43IweTKyNR+WVatXcWWyakBksj9cqW+QetplcjsKElvZH/zuOO/PrCx//tL3/6x/O/C1PZZvSKuulLcS4l8M1ewGPR6ef5sllXW2eGQZ7hVSEZiPmcqrSS8e2ElX8o7t1fvB9LFetmEx5hx1Xuye2PpfjZnSjj7QfKTB3bZZo05Zvh6YuivX24cpc8+ddvADWG9odrSwFalVurxUiidDHmTiaoNkkh2gjbcpxMiAbd39aVP119/N9k4+euNKfcNjwaPhZEuUupUsJrHchw1LkPrRC9bQKa3M8Mj/xx903drdnHMpbirj1ENsUre0oo3N+7gat+2ZctKdsIUYc21sRu+Ucdhn+P7DyarftW00iu3Tmbv+hTfdCTmyaIPT4PrYZDFtBN2W8S9m4oTB5Z2P3Oe7weKjVBq86kXX/r0+WuvTAzfjqm1hsYRPWlbxm4n3IaeGOJEizv8orH9w5ejjmSrfOuEq/HxT6eDemtsZ/HTvvG1/8iVspxZILrlkz/cdsIbIroOgJileFSty2xiHNW5t9fbHJ3ze87bp5T9vc8RuqMB0ReDSt464R/BJxspvgpEsrVAJMTsYg2QovPTOHrvQ9et/S2Xx+40z7dY4JBX0Pz/ElH/T73U2DkK8EiqC9hM/zV3frQfzjaAqO16s1l6xCUXnBFlYxyIer3eEdth7u5xsHKxWoGLqzY3wIULt9G3K6soei9jZ+UcF+Ka3M/II9EUWrJ/LLxy+Q9xIh0vOl3NZCrVnBsuFUTOSnJnSioRWZ9q4g+ZDk5XVORoW2qX2hbIkna3JOrdR3jmpHVLovUkLES6grRO010u0GkDlX7SpH1DQ64Wl2zaSUJv1Mtti2G7kx5IyftWMhfDlGClcxvIUhP5crhp9LIb1Vne187oSAWxelcR/kXjYQTZboW+Oj1pqF0gmfZhSDD6bSgzGWrw3s7QLNtCV+2uatYrd/aFtjDI8R52e/DdyKgRKXBhEak3Ev50+GCUA9EFUor39htVMxmWvW8AM6ptG416rZvdWn+MarIEyH5r6ruZSrx8XrWDP370vbfTjqpmZGIbiFPFoihc4jcrlYi9p3ndSuymZ+XLaKza/P/HUWHn5Axdkd9OjBskY0+pIlz4AlFPFs+aStK5PBIRR4MVVJDihsy4JdEA4pVcrVqMZDyL2/8aYocikEAR9Xjc1BNG9zEiJG7n/cGyrtnblkClBhEgMW4Kx21BEBGJjLa0hcOGmTK64KsKLfKr9QyQELclxY3hqowTIZKdZNTSS5BWiBPlKxDWBVSS41bOepkhTkhGDajLfLyUBOKlkMHPgOhx3JoRN/cEiRgSWdgF2yCyDQu4IcbNo8ftTzxveOJ5y+h509h52+h549h569h587/M20f/b1AB\ncreated: 20251110102157310\nfirst-sighting: 2009-11-14\nfullname: Mario Pietsch\ngithub: pmario\nhomepage: https://wikilabs.github.io/\nmodified: 20251110124935183\ntags: Community/Person Community/Team/Contributors\ntalk.tiddlywiki.org: pmario\ntitle: @pmario\ntype: text/vnd.tiddlywiki\nyoutube: https://www.youtube.com/@pmario\n\n''Hi, My name is Mario Pietsch''. Back in 2009 I was ''searching'' for ''a simple presentation tool'' and discovered ~TiddlyWiki Classic, Monkey Pirate ~TiddlyWiki ([[MPTW|https://mptw.tiddlyspot.com/]]) with ~TagglyTagging, Eric Shulman's ~TiddlyTools, Saq Imtiaz's navigation macros, and more. --- ''I was captivated''.\n\nAfter a deep dive, I combined these elements into my own \"Presentation Manager\", along [[3 step by step tutorials|https://groups.google.com/g/tiddlywiki/c/qG_tZ1x0MEU/m/-vLA0luMicYJ]] to help others build it. \n\nThanks to ''the positive spirit'' of the ~TiddlyWiki community, I am proud to be part of it since 2009.\n\nWhen Jeremy started developing ~TiddlyWiki 5 on ~GitHub, I joined in—opening [[issue no. 1|https://github.com/TiddlyWiki/TiddlyWiki5/issues/1]] all the way up to 13. For what that’s good ;) Since then, I have submitted nearly 600 pull requests and more than 500 issues, many of which have been merged or resolved.\n\nMy ~TiddlyWiki 5 \"laboratory\" is at https://wikilabs.github.io, and I also share content on my ''~YouTube'' channel: https://www.youtube.com/@pmario\n\nHave fun!<br>\nMario\n"
  },
  {
    "path": "community/people/SaqImtiaz.tid",
    "content": "title: @saqimtiaz\ntags: Community/Person\nfullname: Saq Imtiaz\nfirst-sighting: 2006-02-25\ntalk.tiddlywiki.org: saqimtiaz\ngithub: saqimtiaz\nemail: saq.imtiaz@gmail.com\navatar: iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAwBQTFRF9/f39fX19vb2+fn5+vr6/Pz8/f39/v7+////+/v7KysrEhISFBQUExMTGxsbGhoaGRkZFRUVHh4eHx8fICAgIiIiHR0dJCQkIyMjISEhJSUlKSkpHBwcGBgYEREREBAQFhYWp6en+Pj48/Pz4ODgDQ0NDg4OJycnJiYmKCgoFxcXf39/9PT08fHx8vLyrq6uPT09lZWV1NTUkZGRtbW1tLS0zMzMKioqd3d37OzsODg4XV1dS0tLSEhIX19fPDw8cnJyMDAweHh4LCwsjY2N7e3tnJycMzMz5eXlLy8vNTU1Ojo6QUFBQkJCQEBARkZGSUlJUVFRU1NTWFhYV1dXVVVVVFRUTExMPz8/Ozs7Li4u3d3dxcXFTk5OXl5eVlZWQ0NDR0dHRUVFREREOTk5Nzc3Pj4+WlpaUFBQ19fX1dXVTU1NSkpKysrK3NzcMjIyNDQ0v7+/6+vrNjY2t7e3LS0tDw8PDAwMBwcHBgYGBQUFBAQECgoKCAgIsLCwCQkJAwMDAgICAQEBAAAAYGBgyMjIcXFxk5OTz8/P8PDweXl5h4eH6urq4+PjmZmZCwsLnZ2dpKSkT09PdnZ26OjoxsbGa2trycnJjIyMMTExu7u75OTkubm5wsLC2traWVlZ5ubmfX19fHx8zs7OY2NjYmJilJSUaGhoZmZmZ2dnZGRkW1tbenp6aWlpb29vhYWFiIiIioqKj4+PgYGBdXV1bW1tZWVlUlJScHBwl5eXnp6eqampqqqqoqKimJiYkJCQe3t7bGxsYWFhfn5+kpKSmpqapaWlpqamsbGxuLi4vb29urq6tra2o6OjoaGhhoaGgoKCampqq6urhISEqKiowMDAxMTEw8PDsrKyrKysgICA5+fnr6+vwcHBs7OzlpaW29vbiYmJra2tvr6+jo6Og4OD39/fvLy8m5ubXFxcc3Nzbm5ui4uL09PTn5+f7u7udHR0oKCgy8vLx8fHzc3N6enp0NDQ0tLS0dHR2NjY2dnZ7+/v3t7e1tbW4eHh4uLioGwFrAAAL+xJREFUeJylm3dAFFe78M+Zme2VpTcpKoqAYNco9oLGEkURsRt7rzGJUaNpGntUsBdsiGLsJXaNigVRqlIFpcP2Ou18swsYE81733u/+WN22NmZ53ee89QzAwQQQBaH3AYAgIgFgOAOaFYAHd9BSEIeAAwBG/4meSyGkRgjtEESZ2RGRmGQaXE5QCQrVgNnhOmAvA6X6Z3LEHdHBD7coGP/13d2STCwOBAUYY0AnHzcfor2UzvDGoVaVYtcazCcT2MsxFgkkEOgQwo1gUjcpJJpbQzwrrUhgPFdSiFUGCCpMnpWeL71NRi98gFH8A8AxxfoA/F2ADGErLn0bwAUDwRRtFVaLTQ41RGAFZAsjzuFsRjg2dxreDbuN4gHKIIhcDMGKCDgG6BSC2SyEj9QLjVCFqmUdN5HAPU6+AcAzto1wA0RfKgB0LJW7arm0cDbrMVYIAU0JxXa+DYBQriNmwAWQxRGA1Zm4Fu56RHKQTkrNzhpICs3e1QotCy/SSb4GODDrREABYCigAoa4xQJQCMAFW55i8mMAMn13B54lRE0krCOEdAscK+j+QzHg2FW7jZQBMz2+wgILSdRZmAVMgPH6PcC+6cN/C8AQGihXCMzcrcDwEnHKCxCvdAJakk+RuE4TQkpgQ0hgiYsPBxTVgCch0iCxmknNUR2SrlOYvPLBv8dAMPZAP5+ClDDibASi5BvZCWcfZsZE80DOEZBbkcHFgHWtY5gnRS6WoTEZkZgFVp5OIsYPg0pDIcUTti4UeBN0wjmfwPQYISNABHwlcAEFEBHsJx1sXyhScLaICWg3fQsw+JWCcsyGCRwkrsCCWwYKScBCCgDBuBtsPFJwKDgJx+54f8GwNPrNcaDskoJMCAcQFquFytroQ141vDNIppAgOE0zaNxhmEA4K7GWZrl4aRXLbDK9YAj4Ac/xP8rAIIT7V8B6gEcRsCdoAH6rLpcSLJCgBMyg8GrXGbh1EAYMW7MQARtOFLoKIJFPJKzO4QhiAl0CgOSmxjObAlGZgZ4q/vEJwAgZzl/Y/g0AAPZrhV67siA+K7vWECwPjUkDpHAJLFxo+e8lYcwG8QBywg4AouSNgKlWm5E3mW42IA4o+BhLe7y0P8CgKmX3wiA2B5lGlpMMjTm+Q5IzI4rBRYcQdxZzQUtm/1SnYTHOSPJs4qBkcVZmZmV6TCvMsgnWQEC4dWvP9YAR/sRAIscAJwb2o2mAQD4BOaa+AiaXeqA0krxrVDIECyfUzgbqNU61SHc/520DmIqVuukpYVWjKG9DUjvU4JD7zKZQY5I5OJz91O54L8DoAERmY1owAfyctYHlEowvUAMzATTTC9/J33bhNOHPiyLZFwNkFFV0fa0I5MbDIAvZgxQCmw2mRl39r/1XwHYvaABwK4gLrw4TjHBtTaa4JkFfMiFNhtn1c41Llo/FSz3dqTFWlfHBzfLLM8qggjCm84Gg1JcjpBPpdgAZKy83alPALz/AtYfERxAaHZAA4DduhoAQHT+W6uAFhoV4hLoZPJ4BwT96tyMmASaK7xFnOhqWNreJEUmE5cp5EwdwFzNkuKSCu7G3qCMC+AU9sW+j7LhXwCNh4Q9FIvM/wTg3HB68RO+2Z4C6SYGg8wroAyF11rdDXq55K3BTyAtc89qVWb00nFTDoArBmqRJ8PUIfdqaEvnA8glB2LU7v+ggb8AAsWYIxvXAyBHhKe4w9kFRTUUEFpV4ndymXNTq4Qw6Jqndn5V5V8LmVCxqRK4msq8JWpuDhDwMoCSkEpnXrkXqpTw8cewUmATjt5FA/AJAFi/c9iDox74NMD88pfVIrPYRM0oBOBNz9ckcBPXNH/ugQy3nZq1ybN4piNklAGDTIMpFCrWTy+n2cLmr0KqYE0oBWvTrNjEbeBfABq3fwOwH/GaN82pIUhRhIzkzLwlX1PlWpHuVPKF9/N0ymM4+H1EvEc0ZwkMhiGW4G57En6xnzf6brsqCmOdpNVAoTVGrrPHdfpTAA3G4QDAAsTmwr+yIfcl5TiiutKvPTprhXqLZ1mg6jiJEZTbYAgFkOI3DsKxZx32TCLA53IgdWIMipeO1xRHlJtgB7iKT3H54m8A4B92wRUzgZ8EAOiH6vyAWg0IpeG1alqmWcylYz7iqi8EP9Ri/W/tMZfjgCRGCaGV2OKjUQ6+2b66C/zWv+J/BAgbu+djAMRvPu6Z3Fzh5nPEogKTWEqI1wuB/5DtuCGs3yGHOrjgYMNPWq1OPnzvZ2PhtywX7RsmAn4k3w4QOu5vAJweuXJ2PXyoeqss0RiWgBoB/PDijwFA/Uw4CjAbDzpIaIwCGLkvnHXtth2V8uyODf4eiOqJuEwfOh58BNByGsw8G2c8PwOnICPEG0f5PwJwHwhzhDgbS/AAa93u48OOgAsAjho18DFAUy7GF2O8+kAEuOKDarIE5uV6Y5enQEYAPp7w/2JDnDfZNcGScLswlgnZybnZx9JBfS5oKkHmYgFd74b2PMjGJwpiL6aPEzS0Cv9r8Y6NdVzM2tidvDYxcCbLw9B/ACgUMcABwAW1hPs32bYFXwgpKPy/ia7fEGTtc4JYkj5hbTtqGs5j/hUAZAa85eKBXT7LzjDdINs9nsdAxMf/fwAagy5nl9hhk2jtT+AttFf8f8/FwAFgKuak2wFYhPw9CiPIwbWsEKJ6q/r/3liug7IdGvrZFP5HHtgAAERZOAYwaM8qCcS6t8oJBMHhoP/j5H+0IRuPisd6DJ32zyjQAMAJ5ppzxwQQnqsXt05bzPWg/4NwR9SBH/jkf6LlgpMVHDNs/ZLrU0BDRQTB+/nlRPuX1lsAYA+kVV1cQglY8B+nHzlGARHJo3iNfvIfiRFLod9mtZ6EfVCSEe8BAotwyKsPQ/Rh049T7Ur5xIAcYRjZlyFw54oE3zKZ2X4JwbAUdEKxEOc73O7TmuCik5W3bed4DGsEIP46CXG/koa2CM0wnZ3F/7Tp2UOL5QxpVmlU/Ws89dlOOAu8nrR8FSzJ6cKgmnS1xT2ufiI/ebU9IBxcM//DorSRARLIsRBjP3XoQot/uQfnTNShvlqfcne83P9F0577ZnF2Q/Hz8oYA4x0pKKMNWKXWOEf4b8bDzRp7qMWt9xqobxDqAUT26AcdFfmJZ/inFMBC2xHq+7QquVFuGk0KYZlCxgVJ46bVvw1oRtiEpECv0MR/d8p8nj9D9K/mi1hr3u+8DzTw3gt4jnDv0MBU109YHwKW3xRtcBf1jB9n6wJptQyD2W3hjD1LN01bGJrZGv40xykzpX/XSkx6uuMypzGiT+Tr+mFY9ilLPwXAxQfMEbgRajpc+AnrM54TyVozdfPK9q5JvTZf9aTTmu/tHcGJuJMgljao4B3bzZGdoGHltniy+rlgtOTfdGDhRbf/F4AGJ2J8Jv3DBOxWf6Q2yK+PJ+lT02KR5meYE5bVZ+xugpXYF/eAmZ1zdHQyZatbvlkfKJi5entBuXm+4F9MkUHNJ8N/mQL7JCAsY78Y/QMAgZ1x5hy3hbUr5+3dsG4dImVjU6J58TCjy+1H3+ybazUB6MwW3x/kpH48bNpcv7IXqY+niP9lElgy9c07gD4CENENAGz+Hlb0D3q0ZUo+xh9ROvrBoXXRe4PAvklcj1bjpQcgtf9mABZvjrvwhduzNkX+eUEjzmT+djgdSzk7lwCf3FjbtvymHy7avPcC2uGGiF2H1fL/QS9d0VsX2E8z9Iv1Uh8zv3ouAEeNzwEYAt6+yF1cAZCSf49A/EuDsarTk7ZdOug05IbgSOa0TwMAK6zb/178X5HwLwBKNUPwDzfaNIqOkdSGik93NN8bCpJGp+/ZlTRqbsKLUKU4jyuXz7iniGtcoKDVqZCaVfk/beLXtX9O1r4R/Us8JOVrwN/1bwcgePVzwOWk9t3/oQF0PILXW/g2yGXt5yG+yMiFQ0gb3cRWHuVSU3rA1gIkoWCB87RSuBu4JKQv4S+TYOqB09PGCxtWRGFjLVkPYL31HIK/xWE7AJcJGlZHsE1lfwNA0Hy3dbV006vgTHJTYplg7El+zKCRS78WrR40kj//wnyA8azHR5vh59odKvNrwkgLtyammRYxsCEvfNgF2v9mmYU+9McAgaC03vkQuHeJEf1NAUdaEvLRSN5EkiaduylA8VplU75uF6NZqTyg8quGXJ+CNvMjwqoMBHI9Mz09O057YQrXuHClDLRnTHoLIZvIf+9YCBgX+oGPAbg6HHOsNABETfTEPiwEWdOjbyvPjyyJrHMB328wguwvkjoEpxtVFZfrWh42zUcnqHZOXxo11B1QnLJ3s0A683xTN274Nsa9SgStB3pUzEFJ15c3qgChE4/cPvYQCAJLYQMAfvsKF+o/aF6PhHjkCnGDx2Qdn4Ke321/YfEyVo+UjmOZ0nezdnt4tW51QMs58FsnOeh2r5w/15x7p0kl5PHgGAI8nOeqjXz4q3Y4fA9QcgjjNd67MSdTkEc4vMAOAL0jfdEH6QiRhTdco1XxlFaqXXiyEsnbOL87+EDfaesfU3d2McZ9I9P4RLMsQSawUBQWqBLm82yv/HzbiVsmXi7HWvxMuZdfTm/qK2gckbV9DGD5/1AAB+AoaBy5AODPOs3nf+CJZLz7iJNxykpMQPJJvm07f8LT+R4HCLfju/bLK9OcS9Hsk2B8cgezrCRqbLK8vM9296rJa6XYsvUWnz//VOw++rPyRE4vvKElRfuvtvun/u1dIN8uuwEAEW83C/42B8BqxUxzuAaK4WE2SJwcvmMhKyCL215oJTkmHJcQ3OrCgCECn7evQFzN3Mjy2APdB58foJc6ifc/3ANqc78/cKn7uMa4ZM19Wf4pAHv3xTZqgPw531XgSMmOpx22o1okjq20Cso7Xq51Gfz89Zh7PcUkgvemJixK1r6mxuX3lUl6UtU3+pZGPN/YN107mOguuqNVsYLOhc5wzfI2iX7vfm2shtlFbSo+ku8AaDBG7ieIR+5eOVnkUBhJWJMktURUwdeaFJVTWVWWs5FdeTZ011LubHrMgbk5L8W0dcctQZml1Y/rNJEZyzbfeblmSesvvUHfGysiur7DFy9sfnXS8ENjR9c3aeg3/wzugGv+eX+JB03A3wAICrW622mCffTsPpIBNN6fBrjH1VrJGC5eHh99tOfzofCgImbPnh7kONbmxtt+myfcAM7e71pDlb0097o50a3Prd+3zxuOcmdHE6lll/PwGO3C+nJLMabvK8AJpz5YJ3MACBFsDFosx8cYL+bQQu6C+J0zXYbFs21dyOeWiI6neKPwZLM54jW9d+3Y1TM1M+tAZhvvIhFYPfnIoDAnFrj02fmo9/68edHcYHuPYIab9S3Su2kKFT7tpzuWM22XRU9BwzrKBxnRr8hhA+8BAKLhwYFbucLImtIrifQBGm+vdNMUtfEm7MSpSteeiLvCO711lCmx4tWSd7LRUzr4mMd3C41JjKpd8Xjk9h1c3WuWLGs5ebrrWLc/D40YLKvgPclzlKJHlOn2D7+SermNAEWYI3D/DSAwK6Y1H6Itnz0NrIjd0dfjnj6cp45p/svkK7RM02qWx4lR0ft2p/cT4aA/0MvBH7cTAMKynq+J/LrlV02mSU4NO3ZwonbEg903IvZkt2ppUO7njByQXb41lnDDtwNw0osaATAERexfVsnaAUKwZzPchZCOx1qxeYPVqNqNFy0z5v/xtfeCr5NvOF0RSUlBn6KtTTJu9wKVygmgz5Vd0tt/9mzlN5rgaSUsoI+Nn9lFyPQ1P2zjE3XyZvhNLjFQ6S232WOdHyc5sH7o9fI5B8Rx+CFAkzetgEXRRSFA1B6Tsy0SeJpN9Kg+T6TGTUcEj+7QM1pGsDNts2Y8vUIYfu7VUxNYm9xu/2TCGbHygMU/KE18En7roYxKGDWnbsWdhByvYQfOQWR9ETfJD5TUA7zfsAZb/EAFDgAUWByaPiqEx27pniFZyQC+ZMP3JYFFijWbAt6NWR8twLCfR0hgbNF3maCENUsHDn13MhbNuFD1LHMLNPCPSq8Fg+HI5BIf9fXt6tuC4UO7A7AxOE3gsH47QEOoZ7GGNcvWxoqGesDxxMqX00A2AANmvKCpHaMurInUGtVVMrD3UhnJt26/eONws0M5IX03tp8Zc6PzsEsnewkoEoDoKzrprl/5c8GvyZ/91JVfOUKqNyI0f2aXtO22lelgr2dG/SqVX5HDIN8POMQudfEWHHsPQFAsChRlgwBx+qVJs88+XLruYTgYcSkDePGAxqRd1DqA5gBazZhNsw8sHU+OyAOLrxRLpkzPBS6VG0znbD1ZDDyMSRR2VmnHU8fGdt3alVREJijeBHD693MY/XsAiDjx2SAEsgyvYRI4ALsJYGy2fZU+YFCSNeygx+PWFlGxDCRf3vE0Ac32GYCH5Ao6KYK2IPbFtzPFbARV4VHn8Yd1/IpfAIZtVQ15e6JmhU+1+viY2cnUrU39J6evanGxSxZer/7AovdPcznpFvunCDLW1uhtfQJCiEMIFMNM+6I1xjIjn250pySPJxU3szC/nOw4xGwd454UtXFrn3jeCvdZTV9bfUZ9/+NRnSYDt3LR8zcwf9Z8lxvhLjvAVJMvKL3kM7HQSVu25vNvEN7oehj6QPuW+mEbI1yrUYU9BOAUQgFiMO5oFvQHdput7d2kshxZcGKMabDKueSb8y9UBdSEXbvSyfJrx6TDHi0s2TWHF1aoOPe5lz7V+urndw9zF1TNmhHWRG2Entf8l8REG6cfu7QMNZg8Fw8/BZDT7PhYPoZhXPRt8iZg+mKjtF0GzrenCh4JFs3/fXzi5cQcWFFyeqRTiBkryNy6NC+2DixKTOpXMmPczpZsVvO8tk+cnnO6n2vdN5Z2u9HdAMDx0EFDju77gToybemt8UfNRZANfIMa5v391gBQ4UTYumQQXCSkm4rv/eBVvrJHVv0SN5e42jitA9duzgPtqPKnl49fCjIWMwfnbem0ZVnHRz+Ipn817Gb14/bVIee6pH1eC2Am25Z/OmYSOKkGHpvBn9tlrZjqS30y5YtdD9t++yMb/AvA42BB4iR+QAlgmgYOcKH0QycYsxBRv5RAvSqSBWS0B6/MboKotPvs9wfvDx8xs/WLvSdq7oQUHFnXjNwD/tzmeTpOQBeZ/e/sRnvU9wZBr8r0rip13BGLal50ykB2mw6blPqTy55b2Z8GWLr6q2ZT2hdx5+4fm8Ms/vqEYGx7+/sEDqssUhwKnbrn/hXQQxyZGdjmbFils0yoaf/MbXYw39xvc/SCrzTdd27MPpxYEHG+lTs4PTDurnbKhTKUHvGir/nmrONJl68/tj/a3Rm6rrjDhW+4O4Z8BNB+8kysf5VJMvZGvMS5y4OuqbUml+5ZASV2v+Cdz/zyUC8wJQGwirKvzqVt/64uqDYQfDk+gzFVjwk9N3PlDwMPTTijrcbygLwloewB9gS8efO5eUdcerjSNXn/fVNScm+7+SHb1vEDOvQsqo89fwcoWpXzbOl1OPbsDTHF0t+00pVcX3iuKhPZc0ZplsvrZyFB1S/CZ1Huc1c7z86pKB/TE+Suqm7u1dtV1qJP0C/De06rs3KZ2udV5xI+fXPrhdRwKFFe2pVs9Ik5nC3+NYxf7/pUhW5um24fJL73AM/E/tP6DdsznR/t/Ftyzz2g2WQ85LuM9S1FADMVZSnuuWdtvRlzdPSUdnDNXH7dw1sa4ARqO0/okdojX/QoDOiddVp/yWtphbNsFm/P/V7VRVhYk0vhswdGCaafcPJfBm0sjxRyrdLWNaN7ZzYv5uYguzEK27ds+Hh7aOz13EwwbM7BuKkbSrHjLktg3R+jSCkwSjf3+naesMORXuOTo3YFFWUGdp5lfAaELAzzma8sT2FqvoUPe5yfcGD6FdCuWCobvwtIqjzFMb9fwcJcD/VQ6l1Urb6vjMcA4VY5i2+raa2PCm+Tg97HAeBAgftGE1N75mYmH5td6vZmAjXMHFyJl+oeLwcp0Slgr+jg5MRQZ3XO0JG3nq2vW3STuKdu/7SfeUbT8bd2ZHXpJftj127s1aVBmsRvXN0Sh4H73c8OItxBmcuYcd2sSDKV6C201/yyzaI4mDCSGtKq6ft6LMQxfLsXBOx/MrhvSpdZTQ9Vu/YqzOlFemvvTIRLwPYOnbbuG22jX2XHJbETDPmtHyEdSO252ypeKPEevTEHdGt2qb86VXLtijlyKpJmbL3gmwWAQohtH6tkbLc6ADKsHxfDUxdAyB5QL8VttsJoxap0+MHrTfYnRJwbLv/uj1ogvHiZSiZ31b6IuHrMHNTnzmfo5xW3tMMLWj5qO+nS8WafHe2QGVwrCZy98Q93uSvZjiFBzrLYDnAb2aJ81MqdSLdjbQiTyGKTC5V1J2eWtCnWCbymDcJu5jcX3p2DMCpxoQHdcR1eO3TbVi5h/g1gT+zy+IJzYNj5Me5dZiT8InnaMW4vcheIhqTQWs5+V46XGbbGtIKCKj5W1c1YjPqCGnA9qqDZgiVa5Xfau1oTzykh5dbI1T2ySjb9NndSHyutpF2AJdPoXDzm8bHLbU1xrtMXAGbrQvbYsLTAOF7fD/p1B0CFRNLiu1EHLxYMWs2r0XyZHLUwsulj0B4v5My9KQB3NQOfhD3oDp5vdh7eH6YxHWJnF10FcxFtC73ybtMW9951qh0hu/7YPW3veOZKi/TtFyqm35X2OTPy2oPWSe1V23xOw2Dtst9D1JsXgqNdVT0wt+O7P/BEhwYyGd2RLWDR+IPswZ739+yadYKJOva0A0RPu2mdwL32AWcMPluWiXXE1eKY+ztukGDQnIpLafJg/tGbUS+nIQW41GXfn9sCK1T6dEW7IZvaPQPMcuyc8C3Q+jM16ie7+xfuuNFib5jdFuO7TbgwoFuTxu63oQqpOBtz7sVmMLHP0y2bcl3HeBKlc5L4YMgF7lyeRwXYMMvpScdmQ9bydJer7zkz+9Yv8iWmJDwbC849mTkxKTFOS7DBpScHFrd6q+lsvtLpcdtNYJX3NU/M903+9Fynihtn3ozaoM0M6zmdZMTHBkZIb/Ts1Ay0yvlLB/BJ8M5StA0cHYdTyzxyu0xIFPYvx2fZz52svhwH3ppVuh9XoM9ikk7fLvMjYrbvq+Jy3ZiMbuLXLbSY9n77b1oCj5RHtjsQBMhc1fIRS0paGjpnd1SrarDUPSsfCveHef6a2HJdJLZrKnzs3/f0AkVARBH2AcAiF3zaSrRjLoCb6d7gDsC2ls161HnfYgAqgC9dAYyqjCZzfiloBjeBZbjZ8Hne2AtASL91tsy9TtwqO3CuyoM0UWUBvlHgu+IwTUGUavwk1fI1G0d0qWp7O2HxDKLfN69TEvZGfjHt9xn637r1idgX1LKP8wdWAPeTk00OgB1cV7F069LNE+U/StiU4Y7Tv0fDld10B5d2TqvTu5ig2Nw6IyC435WBqyqON6/pn/PqaOT1N98MHOY9MA6d+a7bDVMgo7yPN5FljN4HguLXXZ8gD9FFJNVd6pZtfulxdJzkCNFy194r8/07A3tArn/6D3MmXVmJwOPO2wGYuxXH9/GSotffA25g8eLNoO5wtcerAsYwNDP49F7r8oDAm2Kw8fydW8XOPQ6HhoZ7PvPHlMSYo6ZXm06Ufy3uO0h8tlW3B1KL5wMXKfphbN+fvtGfOTn829OxCSG47M1y4Xi4a5XnxVhDVy/8/dNoAA1ntzydCx4DbrfcZ9tQr4RyL8dK2YB528G1yQdfdxKHZsRHuR/ZIDkbXNb1Tvf47FZMDfBgeD4Xh42QX2L71ngCqbnWNfqrV603LusaD1qQuMdv8yt7XTE8cj3bJKCXSMpjfj5y/HVq1UwssY+gxrVPr/TFjizgCAYwQTcN9AMPzCtRhwlYYu21ZKkxpnGCkmMOz83UnK6l1ad3lRuJ/G6SrFdTnwI9cWc0W9760AIFxT/RVtnvReb3K1wWnCkpeN0COme7UxaP/Wy0T4jgrdObjW0CN68PuupxsPOAgdRsSF/0n3Gpos2M07GR2cDRFwCoj18AuoIHgH/45tGBfa/1PfrB+irqZbs9Emb/ms91wdbu93/DJg1MA52/OHVr7WbZ1SZd74wliqFJbpOdH2lSwtugxzMD7bty7iXAxlXynV8NuBXV13cBvnM5Fn4qJPMwLnjy1f7PbEBhdK9o77QTY+tLAthxxEJkBmAlZ37bhiasb2cCIkv9emk2YFJe8jC0/s39yNsI4sy2n2slnV9kRjD6HWtkwtjItaUP9iTIBjZfpWC8ci2es3+puNU3GeFWiGZWikuifv0W6X7pN+RBh8LwUXMGjiPyS+dtH/PTZd6fdZEnx+b/2lICACcMGm1A3LUzQB1uPl7eM4ErRP6ang2euQQXtpgrF+9VqV/snDcwNZKIetGclrwS+7+xXTEzY7BAIyhDTZin1f7Pr3yXFJvUc3/EG+hZzquLjbQ9jhKfSK0a3frMHFvRr2xwhh4OZ/WrVvdOxsp+2TfM69QNh6bhuuTO9uy0tcIHGzS4aH2bbNgYJUN/eSi0ryAyNv/gqhuabs0v1vKHsi1fSFrULl5jBC5eYMiL/XFPjPoh/d19enkcQt2eykv1wMuE/PSdEzfm9LGZm0z2VCy/F5rHlGbgWXnicQl+PkDsROVFtdHwWuzxOwrAOGhZsp3hUMpXbDgBnDPcuS7CkS25krDZ0wX1D1uBJZs3dT/mZix09jB/ASKznwbBdk/833R4Hv7lfHlJ+P2m7daWepIQqOmhObAqt53Qc4jL5B+g1Du92ZnUbZfLC39ZXlhtMM+D9Atd0Ovxl8ddbHc7jhFXTbIrm6Hh0XHgaG+flrOA86gv+h5z9KZcH6lpNUnYuO5uziIwNxLVlbbVjCF9HwetWA9kBuL7dWvBqpD7COjvE1kgGL5tTfHKeuTlOxurvs3snT6AyHjgqdnZMWwpmXk2v7iM+bH6WLBPlWv3+7q448P7YaBq2mUO4MALACJA7xUbuudvvr79XIr0cltoN8Tp87+HDY+QEGA39vEx5wfJ8/gyGzO4aUXC1yb29ZUF0nULXMstFxATaDQZB9/1Bhe9YnKK1W5TUfaUfHclEJ025CSFHbh8pInRloU5DYEn+uqqRt0uVqhg9O7Z8d8edeP64LGHq8G6iN787iAP7uN1PQdSLtvr0bYeO/cJeA3REkE2uVO+i+q5oJtaR4w6GRFQ7P+onAe2z1NlB6Hqd86sp8apyqhV6tDiBP/ed1f57fEJyPZXyvOMCS/ZC2/3PJtzoU4IFtecHvIE+d71Z1RQ7kyDnpFeXQFsBvIAu7jucR6Xja7Hgq7XJvcF0rBHXWb3iRU3KmC9aBaxJdI14rrH+T4617bghQlIa3ytOFupVtpybRghN1iFvjqNSt65AJtd2bRmwwpvs032+JhH/1vXRTvZVCavsIZ1G47v7gwl0qhLrnnu5RbXirBBra/kOp5tVLpVd88Hm+UpsQB05YLxI+nl7q2d8IaHFyy1zzZLgDaPsABR3utmnYsxpCpoBupq/b3L0obul9hYBEkJArjM0EMCGfV05L1gi1/prfu6r54Ff8cMbFZ6QRObbKXAHHhYN0wkEpYpJXUajO8JKsIr1sFNi4LucVK6522Rp3CfXAKwcgCg589fNaxaAJtLHeS6Z9uBDn0fmINO8G0xumqbu0R5iGeSUVzUEVi5s4CPyfU9KjyEGqxq1r5Bf0zxCLoz4F38PXxwkg22tXg+R7VfQngWRSDX0yRhxrtoXTBvawxZAPdObV4PADfbCWK7Ak4FYFbGU1xQ/0oCy1oEjBAiM9z3OdCwdSWWXw7otSThpEf2fzCgeIDmGh8caH192mqqfRnkG1w4lrzz+Yk+62uz26jcjksHBOfyLtQxsljsTDudWdPzyQsx4Katdqi4ervEDvCKE1TNEeyzqyCWswKQ0GPUOCSsV4ApXjWB4bo/CvH3tGddNEqiMI9lQ8u9Hvm+BWIcOGmRQeJSAkAn0JzU+gSpfIOv9knPjXK7u3Jo4ut5qeqOnqDmsQ1IDGurDjOqwCDda79KoFBpikvpMXVqDqDCzS6p2qMRAFwDF7+5ztY/SWepbcBzpABC6+GpmGVviKcEPe/4pL00N5iXMQIs6hGUBzI0fnIpNwfQC6v0Qr0Vv86lxa2vK+eQWK8d01MFZgj6lIW/ZN5iscK9YTjjU+6kz+8O6YHdR/UvKJz3CYAHXR906jsV1hev5hMALdRz7mBMWAIhvS/SZH+dQx1aBjxN+pZMnnZiQZa1dY0m6BVukqlb17SJDN/RI4CfdGrc15sv3Qkv0yMWKnTUgAqR21W5sSNwlhlzuuh+F4wppPmx4m4r9PDQRAa822yvfeA+TmCKXQNz7k2L4dUv6Zl2QNUUgAMmyToJg6ZH7XVVGIvetQRSrIrxKmueF4TymWBjjqCtoRyf2fa2ct3ytEG6zfnegUUtU9o6e+iQ5CUQPufLynEbFlNhDSywddFfkg0tM/m89Ayfe9MFHpowHvzUAGA3Qs4Rr02b7YKkDhO0HqsDqrEiLiPt5o8TQFZjLJeLzcI6ANzS/JxqpVKTVGLKkwKv7GCk9tEPdg8HV9cFVnqn9h28J/WHc3yl++sgc5nNGFb8XG7ugDUlLmuC2x9fdfaNPATqoHhKhdQO4Gwv/ux+yOOkP+C0zV81gecwQcsxSTkzG+MA2OOjOKtEm3pRMjHId/Yu89HJM8ItCFYBDLnmNytQqd0k/X2D94CXapl3r3Plr6YE37gGfLSG5uLQYz0Lw1NsBJ/HIBwzi+k13xITcpDedWiqZiSMKuhkB2hpl9/1QZJdB12dw9Vf2VtImFgNGY+RfAxCdDNzAQZY9plbNaZVCbveQUAqzwBK4FblqgECCSupqJ3uazHf43Wovft5VCtp/4vtHo0ljo29VGtWspA18JEH0K49ky7QQmn4XdDFEnvdG4X8SXEaYCeCBgU4ALbPi3WdPVpiB7DslCgN2oU8+2uiKVWLACL593zroHNBa6YK9sxRU+6Vsg6vX7rURlhI0xisqgkp+n71N+fPPbwTZVveB5v0PAy8DtobVqQyUIAw4GI8+pye4uI2PyS3fWkHg9Gr0qMc5jfjAlF3rg/jIiFXml/j6uHzD647TcE5gE3ty2rEUxhGxIWh28XTWCEC+8MJFjlbSCgzjU6yr70y7sMu1rq8jJFJ6d2zjnV7LB9wC5V/CfanOQ0+/7YnehnMz7Dhlpm7VGJtmFbaLhmMFu4kgoXWSv8vcgEococ75jTn0hGXl7lAOHgAF4QAEM0+zn5lX11LbX8UWkivsZxD2HauLyUwBKxH2rHAixIPBgditp5ZZTFLLJN/cvat3n5XgmAKLzT9zDAXLehz4TzxGVa46Jyyx7YagNE2F77h+9vntyyZvdN14kHKKh6ZMujoljtadcEAaNq1yFEC2lOR0QGQAF9cNy/hpsCofVtcLa+ZjwlZaLrQ0d/+L2DwYAgORWbgqu6V3XkQGDEVXHAjqp1A7iwZWXa1zHfZzh1X8XkWpa1ZdyrPErulnBXwjYRcrxBGirOyBHXewAa0PJqHtS2G1ULE18GNN66AzRyAXT4n/eBkcHDAlV0l8zE+/DU2s5ix/qi2ZwKWqXInL8RQAmtKJI0971gJ62LuYDtHgKmPSb6lYGCk6s0+jHSbkzryfviSlx229fV2L7RVIhoTyKunJAlskv5ZRudHq+Jnb409INHxKUYuK5NrnWLhxwAJs8p//1Fs9IzFd6pserm4xDuac0MLyry7JDnahovWhwoDCpVSo2seCK+h3NUqoCG/j/vRsBe2k83NaTP30kjy7bCM40rGv0syZnQbvvMHsKW5UZqF+KSID8dYYBJUu5cDYoZnxe+jKf4nAMCsBwvqwtrHIxmh575frCWFnANa9SlTMJLg7C5+soGGeViLKpXEVBD+IjTrS0/KN2Po3cDm+Wuppq/ud1hwrmOuwVyda+JN8QRqhG/p5v1nCQ59om2/W6eQOM6QSXVe5UttBMOHAG6Ei+1vAW7molBXr4P26CPoV/P1Y8GAa8z0nTypSR7rUQOFLLIkOeWrvquwpYw8RXRjWYkOEHWlwZL8AEOfQGNrpye3O8/fb5BODP7icXUaDxdIEfR/rhgNaCaxd4/DL/hdVfdHc97MIz3U2KHxySOEpCPbkrwPAOx5uDzgs4k9Tw777ezMfT8vU9X4DQaedc61gI/oRPEPq4cdE1TOF9i2B7videGgRY6JdKkun4cEve9+u/SSNlBTHEOOvbNAxdDIiTVCcfVMAbOzY5M8SnG/U/Oq7JECC8aneFZWAHBSUP+4lCQ5L7ADIC4MJUXrFxvuIOf7p50OL3sKy52C7L2jlVpCYTzTXs+ag8veSb9Sg6SxdMKkPLFLi5wqHlCpRc2b9b5lewtyN5z3XrtmIkkDJwuwCXgMpaibLdqskA5IpkNDBKkLp8yxv19kr3AR1vCgFv1Gy+xuGJRvhym53378z67vygam41uiyHhJNAGTOJdRuVfVzkGJRBz/txEPsLovz8QSyHxsYI2wLECCg3J58Rze2TilMHX9T8kPaAHfOuaQkzksAxvzUpi6apuwLeuRZI4xkIq2KlOpADqWxRractZ2ilJ3rXAA5AV1khvmmkIq9d8v+lq2907s5YG5FxPm4iwG+CSfZM5oCByb+Hz8VxN3M7wvBcAaP+16BJS8cOUq8xt9ow7cPrL0eaFP2MbmrhdFcYJTahsujAkuyAr6A7W5I/gsp52QoQqSvwx7/4YVVwiTGHZYXMbvY6gHONSFmbhtwZpDUwH940obRXTf/dLtXapxnohTDcPwyf0itm5xQvQJfECTeLgMoKPqn59Wu7IaAWJH98o4Yi53e9h+Wfyf3dNm1iRIbZhRqmLfuVR3Mmcq4CBkFtLF4QenpJdOdZQY9mfILDdTh6y8ARXNn3AACfdc3pX7EjfFlwb1vCEjKS7nXTPwoNU/ZYkOZ+2zZd3jRg8X2Y4hYvUKm2wSBNROD4+2umcRmsPnTwlpc2g3tDvAdG4Re3ji1i8f6aqnJgmxRWed0moEEbibWmTSNIcPunf5bpLQ0eZwOS25nE/yWjT1pAtYzgsWfPZzy1RRifN90wAvUFaYZxp8R2rOb1GQMxnjceGfS0Cid52fLbQQB3s9oBXsjCr3tUTkhJRqlWn6xX4geVTnxeYJ11Ig6Txm74R9cw4KMGOnF4zTkEMSvmZspXXGqbIRT/NlRO4cUCaxv65ic6k8qYE8xA9vBZ451XIaoKYbiMzaNy/1xl+2wQqPqT+6AycACqzq0VuAvSywbVeaCIPbROrQiDOdmggODBm1NWD2mqmnn9+5Qjhjpz83rqpU1C08EqF8aNXMOkwJyGY6NS0ZAw9Manb2jX7VbX2GOUrn3zoNOz+D5JGcDVIHxbREG1rXys1UKoT5vjnu57rqtrq+Ugwf9PxizcCLlb98C5UeF2WjyT3yydzvbTtn7/QafKBz9gLBCRRx7AvLZ+HKSsHa4cPffNO8BhR6pnlYRJ3+GH9CvZgitriacIGEnlV5HJlFLdnWVytYldBCt/HMnbh2ePWlee5VZ6oVOi9GKTYrm7BpTlz/PW+wwGS+meVe1ekd5Vk+fW91hE5h1AQkolVV7j/I4ricZDs2UbkKesvdaJfyZ21tK7weiwm51XTZ4qqsqKILm7r6HQjSvlu60RuNdPuJFU9iCAbf3feqtQf0NlicLT0LEulm7nhtXu8uv0jJhZV7FPqo6/xQzJuLCKazX8ANUfP6pk0HZ9s+1Xq8xaSkNK2N+C1KNTvDuHiRcQ6fZ3/heBRzHErqxvByWlGn+mlV2pjfrTH7mjS/HPLTnm2h4uJoiqBwhDHHSEU0EGCQPWD5Ybm7njBhiMdgKlBNeXmycQc8nW/oWai08MUAeruXCYWSHrcxeBEYk3nmJlVvhR4mV8jPMnZgQVGmCBufHH1IJ6DmCQCkuRxNkAyxVS5flEe/MigJjfLIZHqg2+a6bhenJcLa+QDxcHjMQIiiHf8YgqwJU3fPyGWLkdoqgYr+/KMwKh/VNpVkvMN8amguHjtBVodplW2apcKefaf98E5pirzqVudXCjThtEn3Wk1C5RiAP8iiFOMZIAAb5p4ZKeQqiVMjLtROzHq5+rx3liDXQkmEUywHpgBwsma+yMa72u2YaR4Q1q+pGBMJY4z4JPR9h+SKKZd0EU95OosPidS1TtUDr3V9HnVxTbJ7en+zQQqPgRTPWiCsNSqgs9xkeKXQ2crk8lLPWCZ+5HmxeJqWxASyyt/LFgq4EMKSuHPdEb0Ip2iLM6uXGJC3np26UzH+qBWxzgMTbQsdL+MhZD2CxqaRwe+avypF3o/Cuh9bfdRLnxbMFpo8ok6jsQd5Lduzz183b6O/9v8AM655axiI/pwAAAAASUVORK5CYII=\n\nI am a Project Maintainer for TiddlyWiki 5. I have a background as a UX designer, developer, doctor, photographer, and a non-profit educational sector jack of all trades, plus a few other things I often forget.\n\nI first discovered TiddlyWiki in early 2005, and fully embraced it in 2006 while searching for a practical way to prototype software solutions for the educational non-profit I was working with at the time. What began as a tool quickly became a teacher.\nThrough TiddlyWiki, I learned how to code, earned my chops in JavaScript and frontend development, and grew into technical leadership and project lead roles. I later formalized this experience with a Master’s degree in IT, with a focus on user experience design.\n\nMy work with TiddlyWiki today centers on using it as an application prototyping and development platform, with a particular focus on its true offline-first capabilities and its strength as a tool for thinking, building, and iterating without friction.\n\n"
  },
  {
    "path": "community/people/kjharcombe.tid",
    "content": "title: @kjharcombe\ntags: Community/Person\nfullname: Keiran harcombe\nfirst-sighting: 2026-03-16\ntalk.tiddlywiki.org: kjharcombe\ngithub: kjharcombe\navatar: /9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAgICAgJCAkKCgkNDgwODRMREBARExwUFhQWFBwrGx8bGx8bKyYuJSMlLiZENS8vNUROQj5CTl9VVV93cXecnNEBCAgICAkICQoKCQ0ODA4NExEQEBETHBQWFBYUHCsbHxsbHxsrJi4lIyUuJkQ1Ly81RE5CPkJOX1VVX3dxd5yc0f/CABEIAUABQAMBIgACEQEDEQH/xAAzAAABBAMBAAAAAAAAAAAAAAABAAQFBgIDBwgBAQADAQEAAAAAAAAAAAAAAAABAgMEBf/aAAwDAQACEAMQAAAA6yQebREFKSMkkREGSyBQiChJFIWGtG4M3aUMkaxmDWM8UYDPEwGYliMgYooxWShjkiIom9FVlFKZRSEQZEogKUEdVRmLfTOT1y9egVSByvDqRgcTpXSfN7ir1hjxXsdLbsdghqx2A1jMGIyCcVkkYEkxJQCUb0hElAJyWANp05G46czY03UFEByzPTrXXtynIsyd2dzl0UuN6PinmGvoNN1x02WqPNMfTcj5z9C5TtGYrbWMwYLJI1rMGKyUAsgJIyzBxrIGOKchgIbDqRvzb5y2cX7B5kvEftbOdKyduZWDm7HbvW6x3i3L7NMfWrswlxtpcax1+eer8ildMvUWLdzjfBEJAKiACkYooCKEkg4Za4kazrSBhhDcdCHGbUld8+dO5ptGM7D3qLybxvo5uucdVdRNw2QsxW+zVuwWrvOus0PXCn6n8b18HfOgch6/kwRUSAQIEARQETAIqWvXs0VnDRm1SdevUb01Q6rU3T2tNg7vBtITpFXuNY0NZONz126K890o3kHjCF83Viez6N0BYGiOXVzp1C6+DrnT6ZcoyCQiUkBJICKEkhIo0N97ast2u9onVrWMigQ12xQddqEpCKjacmoyQzl6NjjPerxV2jL0rql9M0fzcQ7jSKglK6YtIuSnNMOpvUJwSQEkgIgBSEQRJIbtXLastGTxinQEJHLAmbZwU0Ov36jV6JuRYu8tHzqJdU6JDUNsWjtBjr5yr5jJnLn1oGmDnoURbrc4RF8UCBJICKAkQFISSNDR40rLJi+YTLZJBQRkccjDnPR6DF3rrS8w7dLeTb0uzk4R1aW0Paml43zdVlYSmzBxSbVJ6tnV5aSVqoFCSQgVAJEBRlisgaWrtrSWLB/HzLUICIRls1ODClXGo112OYt/l0uctAy2jNMnovGh050Xl8WmuElYIHoc4PERvwJJSBSEigJICKEigIqDdq5aVM2D1lMswcE5LFIzcNo60PK7HyWPVByLFqmwKK256P3cfIrNsdqbl7pl4ymbRr29HngZC1AigIoCKAigJEBRAiBi12tam7J0ymW+OWAVjCzWacRcN1c1dssVDY9lsrttj+TqrLxqz0znpCqv4mddQTiLzvSYG42xxGYvjiiBAoCIEigIgSSCkhIpEI1hoS1bPH1uWvDyEt2vbDjTfsXMLaPZahX9Dim2NIg7rQJPl7ZuMtcfy9NcbWvVelZn4Gj78/sU8u6fFMgVWcUUBEARQEUBECSQsscpJJI8r79p9Dm2b2O8snR+EW+qZb6HanPt1z5pa/VYjT0XOK/AXjGactutejMey9aFEcfTSYpSPVhdL/wa5b4dJt3meRifSJ5Z0vm13jIVkIpASQkkApBSIEUeYFZaz6HMY/BjZsy0GyXmqXjS3Tuf2mBqs/QeN3uIuIc0S3NC6Kj0TPrsLatMaIaNs9Gm7PoNAsd6bZFjp2pPSdTvNXZpKnWzh32oqlsSQIFARASCJJHj/J+19LmZF2ZMs95ljvvTqtJXmvSqpltTZGLw1rc6dhnDDpPM+gVsoOXaRjO8p7JybS7HCSbp6PSb21RS+j87B3yf8z9MyjtSS4upIIRBAkQZAiGQl5zi8c+7l0rcbNA36y73LnHWqVjYyV0KcujbDX7a6duTaWqdj2MOo1GxxdFh5n3Xh92vYt115sfPeq0rxaC7JzKbNd+1S7zYeOdk4OgAqlgkhJIRGQklZwKrWOh9eNk2VnZpSfUCYt0HqHCr5le2TPP5SeakVCx0q+0xjX3V4k9kBnEX59TZjO/YuK9q4nENVBYb1s/X+A2Otu1clvVYpFU2Qp1rP+mPI/qzl2eArm0AIkklAkGSSMvOnOOmcw7MHKwy1pmgpmx2ypWrG8m8aGeaI5t0qhz0RuzXs0qcN4JLfFSWdu087t0VFOVIOtpwfs8Udey5p0vC3MG/U9+leS+iOB9iy06Sjjx7BJCQUCRlYkUeeeYdU5b2c7nOSsd1Ysdu3UVeSyfTi5peqqxs8icFrXLc3ylK74ORiWE1F7aW7BhqdxTjYeRms7rnTbFS+6ITCY6/deH9gzpU29542em0ye8XViMhIJIJBCkj/8QAJBAAAQQCAQQDAQEAAAAAAAAAAgEDBAUABhEQEiAwBxMUQBX/2gAIAQEAAQIA9vGcdeOFTheip/Rx4qSyBsELnpx58eHHGJ7VxMNyXu1nv0m0WZF2aD8j0u2deF/pVSevNnttv+01FDRVHAzXt7iS+OnHHHVfHj0cp1kObPs5u9otxoLtada5DIFebdothq7RevCpx4ccceXPPPKEhOvXwzXOAGBEYhPxWo51z9fLhgQnrewRpXC+HGLnHnyq888oqKiuBvFspcwo8KO20TQB2OMWddKjIKF8c3WL7VxVVVXnnnlFRX3baZjQ1sZsW8TEQQQJUe4hE0hVllEkL7VwsVVznnlCQkLb7YsHKyI2LagTR4mcElnEksvIJ/HVh4L6VVVVSVS7u7uQyc22eSNJTx+Dmrat28W2aNMJJI2kZ8Vz4vBfFfQuKpKRKan39/fs9ikaTGhMsNGKR/pfq3oMC6YkqZBYw5EV5Pi+OvtXCUyIiJS7u5F2cJJWA0EZEUJLq28bYFnOtwDE0Obhx7GJoUZeq+osLDU1IlXnEy0SUlm3Vthgi5GkRGqCRBJuuI0mSDs4FnsjVbG9p4eGpqXgmXLUpiSbGNKCoTiOQzjjFjs2ChNBs6bX6X3Gp4eOYvhzMbmqKtKGAYKqK28KK2snJtQ2FcFTWexehYeHjmKvTnpaVQC0IkJg826pTpIZHBRdhfg1uF7yw8cx3w5xMeQmRRBMFJuS2dkA2kKZ9ioAVTfsTqWHjmO4vimOI403jecORPsB9Ffrma6G2KhjLfvPDRzHcXrymJkjHUDAxSRydBagI4xNRwSjuVMf+A8cxzHcXxDJ6ykbcAu4iMgdGwJoK9l6NGgRPRxx5Hh44rmL4JgLZuPI3jbyvfZyooBMMqwFPF/hNTVzHMLwDNgbhNOZMbZdF5HG3kUiTAyBDZZ/hNXFNXFLwmDPk/dFeealR25API6y8Rg8JVsH+IyMnFNS6KtlYzn6968YjzhyTHlRUNt9l77gLXaXwX3mRk6ZSOLYXpYSqmVMYjSrGuqJ7gyor0M638H5tR2sC/jk7E9sjllBsBeCa7R7FTwHaqwlx0JyHV2yg62GE1tb0MNE2YS/jBsUbsqO6sYMpReuquNPA1a/zJVXAtYk5WHT2uVTZStyJMPeIk3ovuZYccRFX9cDY4tmTE0Ir9Io1Ve9aVsyHUOvtWpz8rYsfY9gfiTRlVO9xpfuNwAffeM3hcSyhzUv5BUTdTdS65q13ibqVra39nPCHb2SZBdHPvbyun1dn7Zjj77rnPKKSARR7kGX4jjWwXU9EitxE2F+kYMVDX5L8Z0mZNGkZqNJ9i4r/TvQ3Wq+H9ZtxJTFkxY286HJogsXnRmMkhg0ctg0ZaoEdsKmR7EY/IkJYKwhhVLE2DGWTXFFbb+lY4RaSXskaqYvlSMUX8WmM2dEzICUruuXyL6E62rhxkrVrv8ANStq41rWUsTZKuxrThFXNtPV2tN2sWgDYYYQhhtwtNx6mvqsYyRI7WsTvXJbJv7EdWQr8V8HqydtRbPgAQq0rfL7upZfRFZAAZoyde2qEbqO93xza+C+fyDGCaD3PaQ1K1E8DmPWEop6SXJ7U4pAW9CRLYSf0LJYnU9pHO4YSX+qksE9e0KEz9COo4rlMetz7KSxYSpDkwXUmuyAegTdVsIU/ak7s5q5Z5sMc31eVyukZx6LwAVFznNdTVzsSrjmAqZyqCtIevurZ7kCKvSvk1Szm7GOospo0jyTwnI10TrrB6plilUezOW7K4ACysaE9ASQu0t8MtudINpBlxY9rr4p8dzPU50BhuLIqGdLDWqeK+yU+4tVNFZeYlC+ot5DWzZmJGNEh0uypFsqCxKLudTpkn1Gj2MPVtcxrJEEVIoSZFjzziImMOycB+gcg5bRgQSXZrG2cGgkQri3j1j1fI9P/8QAQxAAAgEDAgMFBAYIBAUFAAAAAQIDAAQREiEFMUETIlFhcTJAgZEQFCMwQlIGFSRicqGx0SAzQ8FQY3OCkhYlVKLh/9oACAEBAAM/AP8AjAGajXcsAKtGYqsyMfI0CP8AgaoO8cVwuC6ltxrcpsWXGKu5GxFiJPTLVezhS15NIhJ2LkgGmz9nKw8tRFcctGXsr+cBejHWP51xSNk+tQQzL1K5Rq4TxdxFDIUmwT2TjDHHvwG5qIc2FWnDFP7QvaEbIBqNcX4hqDz6ExyjGmsosv4s7k70GIDbjP8AI12ZOkkA0Cc4o+NMTUqMCupWByCDgj0Iq9tJUt+JkzQchJj7RKtb2BLi2mWSJxlWU598KodwPWtCPBb3kbyZwRGM4+NM+55VqOaZsKKLTAEVpkH5SQPnyNHBwOVTLyU1IvNSKmB2OR4Gmk3G+OYPOrvg8/aQt3G9uInuPVrxSyjurZ8qeYPNT4H3pYkLMauL5C4YJCgJLOxA+VKZykbFkUlVrx6Vmg0pDDotYk1AeIqN8ahsQUJ9aDx6yveXKSD0NBlyu9K6FSozTwyNgUA2R3WFCTOw1+H5vSp+C3qyLloHIWWPxHj6iobuCKeFw8bqGVh1B95WQYYbVLJdtZRSEQxjvKORasOSa7orWR4UEkBx0H8q+0DCgwO1GOZgfLfxH9xRgPLMZPToT/tUbjzpXBON6MTlcbg0RyJrWScgSfyf/wDaGJ+GSlufaxeQ5MvvOiJiTyFPc31zKTu8jGsk0WNBEUkb0BiuX0DmRS4I6GgBWtSQN6KsWFaTtW+H9nOx6ip+FX8V1Fu8ZyR0deopLq2hnj9mRFcejD3iGy4XNHq+1lUqi0WkLHlWcYoyyLtsDvQUAYrFDmSaDjqN+v0jFAmg6ttnrWkvkcqKMrY2OxohsfFPSmuuDNA7ZNtKU9FO6+7qqliQAKt5dQhXLk4L0d6yw8hQS31kc6FRRtgZYjniiV7qYx41KDk71DLgZwaDDoT5fTqHpWZZhjmoNLpIHkawcdQaYtxKTUdOI1x7u9vZ9khwz0XgaaQk5JFGMnbY00kwQc2OK0RqvQCtjvSKc4FQuPYWllU9m7KavbY5DZ9KnhZUmpJEDKc5oMa50pZWxscqaIgJI5HBregvCr6fq91/JVA93aaSCNfabSoq2giEbeyoxUMlik0YIGQK77TEcth9Ga7MHYg+manR27rnHkF/rSOSrtoIx7YwN/MVDL3HwH5gHr5g1GzYIFMgC9PoXHOleE+RBpJop109X+akMK7C4Knx29KS3/RuzK/6wMx9Xrf3YfX4GP5SB8aeS4lQnODSw29vCp5Nk0I7eOuVA0HQjTSKSJI9uhqyW4ScZJByVLZU1IJWMUf2ZOSgOdJ8Vp1VGztmhsDzpVTUKmbPZNuK4lHs5PPrSMziQYDE/wAwRWsw9ljXIgVPMtsKW0sbWBUChIkXHoPdyQko5gbeo3oEfWowdZ9pTRnkjY+VDAxyxWTQHIUDR3zyqNskIB6bUV9kUW9o5rsyKYWMrKTlRmlaXRzPqKgn7jc8cjsaMffikB2JwaPE5YZZQpS0dE3HUNr947SBsDJG4o6dhQdyTWW6Y2rB+jIoH6CBvSrWWFfskmFB7vI1cCYXNsY3w+SjjJ+XUVPYrbQySmQMMHfJRvI1LdwwjT332xScOtOxUklnZ2Pmfee21TQnS2MlTyNYbSR1z86VQKBAIoht6A60rdaAzigmAedSyEE/QDGVxzG9FSdHyqOTZosNWnVK3NRgep96LROPI0VMWR0UEiguk0SoAreiK3wKzzp/rCTAEoFwQOlTx3BVoGMXRx/uKjkAINKwG9ZrYZFaLRD4kn3oGNwfA0wdQOWlQPgK7q5oVvWpGINQ25CnGfoDc6SXcbGriLcsNuWKmJzKcY5AdaBFZwKEcMaD8Kge9abeVv3DSiRc+H0CuVbVHc7sDkHOxwRV0ozFNrXwbZquIBiaJlA6kbUjsFJwaXSPOsZ3osDv1oz3SkjuJufeyLRx44FYAYDlQbDA7Ufo5UwBwM0V33FKFw5Ujzrhs7ZXCt4rtT7NDcfBtwaaRyjLpZGwR5inXC47xP8AM0trbrH15sfP3TnW/wDg3oCgVjQHqTWpCKEbMCcGulDTWcAVls9BSsNJxnFIKikOCg58xUkTlC2V6Gk7Uviu0mM7Dupsv8XuvOt/8GWUEgZqSK3tLoFhBHcL23iUfbOPKp7G6ubOeYyEPrjcnOuJ90aiWAxR3IB8RimGzc6z0rkaRiAQcZpWUMMDakD6RQX8W9alG3nT3MqqnhknwFJDGsaDAUe9C1a3mf2diB4kGorq2eGfuwSoVMSbyEH8x5LU8AmgZMzWGXU9ZbYnx6lajuYVkQgg0GBwKwWIzRyATXjQwcUCuM9KRDkHIO+KEgXCUS6xqMuSFA8STQs4ApxrO7H3pIgRHMuqNe2bA1bRsCaW6thIGy8ihoiDkRp/dqVxJC+zA1NA0XE7dMy24PaL0eLqKXhl6ED5srj7WM+Ab+xoOoYHYigVOKKMCfiKZRhuYog4zRyN9qU5PKmYgK1PAVu7pSHx3FPQHqfdgOdJ0zzxyxVxMdNuiu3hq5etfpDZnIWIIRsV3q/upWE9wzY8TsPlRsZo5VGpVOCpGzA7EGjFOLBn1RvmS2k6Mp3IqRGW4g9tBuPECormEEHyINfU7SaGUjsO212snPsmfmj+CnoaueHzJY3uybGNs5Azy36qaEiHCgmhIDtSHR3KGkkVKPZJowo808rCONCzkb7CuBWcgW6UxyuSDKyZC/GlZQykEEZBHX3ThkJZTcKSKs3B/bNPhpWnD4K3UyfmjUN/SuHauzeG5X87GB/kDVtDG11YSRtCRh0HSra+BS5yi9PDNWNsf2WWY3Uu6mPSdvFgRipLeWVhh2OTpiGE26p/uK+sQpbB9MqN2lu/g2clc+Bpb+1WQjTKvdlT8rU0Enbw7ZO9Jc27xyqGVgVZaMRj4Xcn7Fm/ZLgj2GP4G8jU1jM3D7wFjCSjuN9BHTzFJKqupGCMgjcGip5VGQRpoMSFFfVeGLGhw0sqj4DevrcmEUB+gHI7HerNOFW/D7ydY3jYpCW5FOarQYBgQQfc5AMsQq+Ypm30482oxjKTOp8VYr/Sr9AFiu58D/mNVwl/Gl2wdH7pf8Xx8asobdp48qcd0LvqJ5VeWDOiSlnfeVl+emobyIwzZGeRBxv4g9DV7ZXBnYIyFhiVBp3HLUOhp4scUjGWXTFeRjqDykAqG5gWRMMrpsehBqSC4CqpbPIDqKgvIGtABI0q5kfmIh5fvUU08MnkVbqNc2dw3KeMf6T/AL/gavbORlQAqMhon5Ajn6GrS/QaNnxvG3MUByGaWNTyzXbyInRDmnQTzLsY+yYegfcVbW/ExBKuq3ZtOcDdH3WhYXFrBw1lV5CSVJOhIk3d2WrCVyk8TqM92RdwR4kVaXkfaW06Sr4qfcQgy51uebGl/DTMcmlRCTgAc6ckNEMKCDrarlI1lX9rManVABhoSf8AUQH2lPh0q2vSWhnDnmyts3xBqOY7jDeI2pXge2vFyrLgPUnD7w6l1KMpMvSRDsf7io+H3UMFxKRw25BktJhvk59inu7dlKi3TmiDdz5s9RcPc27jShO46hqHG4WtnGjrG45o/Q091BO7xhL+xGi7TpMqnAmWlu7rsrbU0+SABsy45muI22hZCcMOT/7MKntoUd0KiRcrmmldieZNJBYSXd3kWnssQcF2U7KAN8k1N+tBdMgWPKARryVU5AVJamR1lMjXwD9p0EH4UUdPOjqCsdjVxbTiWC4eKYEd5TjOKmidYeKprQ8p0H9Vq2u4Umt5kkjbkynI+/cFk0kEcwRgiiDmliUDm55KKxvOct0QchTucsdugHIVIhV0dkdTlWU4Iq1u2zxGA9p0uYe6/wAVGxrisSh7aaPiFsvTOJa4XdQ6ZGdcFQ0UilXLMcAVO/EpRMF7UylN/ZUqasZWfhvEnJjn3gnJOYJjsCB0U9aucTcOu9uIW5KsTydOjCpZP2ls5/EOrDxqOGMxSNhgNgBuUHh51m7QRgpPGgSTQ/sI4ykZ86SzvL36+rxNcQoonKEAFc8zVg6RRI4nUzK0pthrESKNzha4VxjgvFJortNcKjsIjs5SHvBQpqS7eaOIamVCQPE/28aE0MFnboUtofE5aSTkzsa3o3/6P3oZ2ee0nW5IY7iFlEbY8loBtqRj3/TNBhg95f6VxPhk4lsJTliA0fNX8iKh4hCzJs8baJF/Kw++4bxBY+z4jBNc50xSDuvIvhMpwVYdDRgcxlGMuSCvgfA0Y3ZtYaYjBI5L5Cif8DxusiMVdeTA4Iq4u/0cnlnXM5TWHwA5VG1DJFCQ2l6uxurdJT5SJ3WqS5t9QAyNmHQkcxTXlrFeQOW4vYIGx/8AIgH9StQ8Qs4HsEMtzINoyNlbqGpOCMl3FP213ISEfA0h+ukeC1Jc/rGV2LytG07E82KtqYmne0i0gMhTbOxpEuWDQYflldj8xUbQxSaTrikBJJ308sUVZr+SXs4I1ffx7uD8KyOvx5/GirV2V9AhOElBhfzV9iDUlpcSwODlGK79QOR+NMjhlJBoo2r2T5cj6iidV7GoMoYRW6HcNK/UeS0nC7aN4ye1UHtAfxu25PxNRXVvHNE2Vdcj73Iq43+3kORjc5PzNHxNHoxpvEVtk8qeKR45Bhl2Kn519ZuVRx3AQXNI0bRgd3GnHkRR/UjQP7djfMnnhxX1WVg2Sj9APxVd2tzHNDObYodSYGpvShZOeJ2kbLYXT6biEHLJJU/ELpriTY5wqjkq+FGJxMOisrDxQjDCpE4fHFJnVGAp8x0NLb3LnfOQaN6xgDYMp0Anpq2BoQcHuLaJAAlnldvwdQa3rKmmRCVYqyEMCOhFNxbgcV+yp9ZhGG0HOpB/vW1PLLHEgyzsFHxpI7n7Mk29nmJD+eU7u4qO7lhhDYII7x2+DUVuryyfHdKyx46o/wDY/eyEMhtgNJIJ5PtUpzoGoeI2q5P4MepFXOD3AfRhV0P9FquDzj28yKMiW5uYlZZ7YYYgMC9udDVDbOphjCKw5LsMihJChJ3IHzFTzcZ4laRRsRe2RlX+OOmK4aSJW8Ne4NTMCDGxYc6uASH+zTPItgUH2jljdvAHFTxyhSuM8skVKsVrExyQDC2NwMbxknzG1TBll7NgG25GpGukcqQNDYP7xGkY+dJDw+8wMBYRCuBuS3SpSNR0r/EQKlxsmfQirgORoxqBxkimXhdzGy4EjF/ivcNQ9gk9qpDOzKVzldfT0Bqe2kMkZCvpK7jOM7H41cKqxieQIvJQxA/lUvtCV8+Oo1M01hczPqZHNvKSfwMMigQCD95EeIfWo/8AKuYlf0bGDUEz5ZdyOY2q1zuhP/catekZ/wDI1FjZ5B6NVspyQzb9Wq2tuC8OvIi8bQcVZSVP4JV3qYwF+wtpcEHVuh38QKvTCVV7eHS/4Iwx38zUkXEuBX091JIon7Bxso0vVvY8Tv7cQrhJ3G++xORVs5yY8Z8CRVsO8I8+pJqEq0bIuOm1W7htKYYcjmrV763jx2RlzEXBwVf8B+DV+seDRXktzMx5Ohb2XXYj4GoTcyqVkOBHuu5GZVpWseIPDMWi0IXIGDkHkRUCwg9mpY7Enc1bnnHVsp/yVzUakxJL2bGZowMBgVkXWNj5qaaZ76ylWNhJ30KdwqeYNNb3hLQyRCQasEBgH5OBjzpCQQkj/DQKYrjsUH/cc0YUlGhlBAOrVnGk5p73hMDSOrSoNDkdccj8R95NBNPaT5EkT5GfDrTrgg0/gKfwFMPwim8BUz/otxFVJOi9iPzUCp5bGMOhKyQjBxjptTRTuoUHUvU9RVzc8FnZUGYWWUEdNBqe4vLa7AOLmzhk+OMGnO22amU41GpQwJ2HiTUgGQwq4gm7VM8w23RlORU8kdxbwnMN3EL+Dz1/5gHxpk4tOpbTvb4PrMKV7PjU8DGNkizkbAsgyadTp8CRUu65pm5tVwl20UBPaSJ9l/1Yj2if0q4eG24jEFYaFb1VhUt3Al4sXSlHQ0SAQtE5ymx51ovbrhb9VLx/eLacTgv1ZdNwAjr1DAVbkbygGo3XIYHA6UtJv3aToKB4B+kMZxt2EvyNWj8I4eWnQHsE2LeAqGLiIaNkZdfTB2erSS1uLeSeMdpGyYJH4hVrL+j3DpHuFM1rcTWzY/L7QqHUCgdj5Cpj32tZAviN6tyu5cH+GtQwltK/mKQLiZXjz0YVbfqTh0ySlpbK7kiYAfgl7woXfEpewGls2+Cw2OZKlvrK+tjqERLqcc8HbNOLx8wMXZVchFwuW8KnDEm1kz4AirlSGIijH7zZNXUEiTxKryxsHTS2Msu4pj9Ys1th2ZAuIi8gAMU+/wDI1K0V1ZSWutemhw2xpLW9lV4zECx2I2VhzFRatC6m/hGajyQA/wD40LH9JLC6GQjSop9JO595ZNwAKkTtNGyM0jt1U0FXH1eI+oq2bc2oH8LEVZY3FwPINVoRs9wvxzURGPrs2PDBqwFlx9WM8jGyGOgyCato+DWISxiOFK5cluRqJ5I3e0iG3JMpup8qQKrRWNuo8wXNSp/6nshFCoV1vEwlXDbdpj0AFSas62z6mrscpj8QDU7HeRvgcVIOTn0O9XMtnxayBUdpCs6hVG7wHNSCbUVd9oOXTTOtQi74l2xWMHuoCCCQdwSKRL49jLlVkkjYAnbfWnw0mmxzPzresEeYoQxW8/N7KXS48bec/wCxoK8cqnZhpJ/pUkg1R/iQsDn8acx8VqY4+0IHltU2hTramCxy5yyNt6jcUt1YWs6nIkiRvmPuy/DZ1HIqTRKKfL6M/TrPFY+r2L4+FFuDW5/5sg+TGsLF5MaL2yHwODQj/SeMP7F5ZtF6mihKN7SkqfVTg/SMfQV4vZ+DsyN5goaME1wA7KI43JI54idTV3BOJdYYSIEJZQ24qU3Lu6LpcLKpVQO+g0N81P05AqOG4QyjMLgxSjxR9jUknDjbTNmWBmiPmU3U/Fae64fK8IBkUa4x/wAyPfFCG5OnHZyKssf8D7ivsWoGPdS2HBAFPL+j9ujgBoWaLA6BeX3Ym4c5PVGzXcAPTb/Cq8XiQ8pIpE9SRmgvD5oOXY3DrX2OfB/6ivs5R01V2E/BrsDdLsL8GpYOKX0S8lnYj/u71ZFOVJCkr1PhUxXIjYjxAqcZYxsAOddjd20v5JVb4ZwaMPF+I25BB03Q+YyKZrC3kz1Vj55FK8NvK2dHaKhHiswKURsTuNqjaKV3JGCAuDz8qjXSqDko1Hzo77CprWYtIWeFyO0XJyf3gejDpS3EM8MkZV41zqXALofYk+PWofrCW81krKcKhKA4H9qtBb3MkNkMSq0iaE3jZeno9LDcBFUqpHI+NK8V/b+DLJ8xj7v/ANvIPgaAklA5BzUzRdqqEoOtTyKzoAQOnX5VcWy2yyOpnmAIgUEuoPjU7Rq0t4iNjJXQWxUfDJ7e6+uF3jYME0AZprea77NiVmftGzyXNJIGjdtudLNevBaXJgtYQXuJs7nSeS0/EZ8rqWFQBGhP8z+9TM2psk9STk0cGpInDIf7H1rTKezAVWG6E7Z8qunYodAJXBBHSsFkPTIND9f2MobadIZP/NDGa7bhEGRj7Hf4CnvuBTBGUSCJgufFdxS/WGZPYcLIvo6g0om0ucLgt8RTO4UKzOSAANySdgB5mhw6eS5uJ7WcQxuunBZRNsv4gA4UmrNZkWHhpgPaOvbKyaJgPKPbNT25EbMXj6DUQy+SsNwKsrmMCWdnKI2hJcayx2CEjnipuGwRyoSyaQJF54JqIQwcRTkxULgfMGhZ8Wi37silG+7JsyG6bUBczY/NVyLOCIQ7GPYgZyDyO3U1xPh98lwlqov84gtn3ILD/McDbSKuIBJxG8cm+diX7mpFz1VquQjlHL6faxp29aubvU8k7Y8agtrdnmkfQAS2XIAFCcS8VvcpYRsVt4ASDK3Srm5MutgqO2oxoAqA9MAf4TQkUQyHG+Uk6qalE7mUYc4z50ytw2YHeCYp/wDYOBRkspEY5CSyov8AArbCgyXMOchWNPbTIrLggPHj/pOR/QiotWpyRhSRjqfCnSRJFYqykEEcwVOQavpYYo7yOK8McjOjT5JBYAclwKveICIXLR6YiWVY4xGoLczgVhgagVzHdRs9sWDNoOl0ZeTqa1xQWs1wJhKT2M+MCVR+FvBxQjtJ7SUKYJVbs89GIpoOLQCV8ydppIHJaFzaRSdcYPqPuv/EACgRAAICAAQGAwEAAwAAAAAAAAABAhEDEiExECIwQVFhEyAyBEBicf/aAAgBAgEBPwD/ACtxQEo+ODihprrpUhypDxNRYtEcRM0JKurDUZOVjLIumQlaGrXVhsYkqXDIyq4YbIu0S3fTexGWtGLLUsyy7Ga1TQ9xOjClboe76c9iJLdjFNruWMXLuiNZrXVSofFcPk0pkNr6shllEWluNLglSXVk9SfCLaNBkI276qi2TtSGrRlK4asiqVdRJtlZoLyjFws8c0dxOikxxKIwS6UcOT7HxVuRwtM0VaIuLdUNOLtbFONOP5ZjYN80EJ1oKRhRUk2ycXF+upLOqcWZk/0qfkp1rRGSjKpflkoOEv8AWtGY2HCStaMeFJa2mjC0ikVnpPYl/OnsyUJR36FiRSHFEdmSjHdin8kXCVeiUOXKz4lCOVGFC0RRuSSrUnFrWtPvaE0WvJGScspHRtcMqTJ7E3agRKI6WiStGLDkSWy+zFtuU/JT8lOMou+5iYcli+mJeyvZXs2jJESvZXM15E2+GIqk/thlFMnF+TFtxw5EYmUyklRhSk7Uo0xIxIWkLdPyUf0L8v6Vwho2hcJ9zfB/4yDtcZ7oS/L4tUZqpMx1cLLH9E+dlmaUnykmkqerIp1XYSSS4NE9kzs/TEYim1ykVy0x3GXlDWkl2Y9/r//EACcRAAICAQQBBAMBAQEAAAAAAAECABEDEBIhMSAwQVFhBCIyE4Gh/9oACAEDAQE/AB4nQ+qPMnWzAfAeI8ToqXBi4hwgx8JUaXpXkPEwTGlAQCARlBEypROl+Y8XBBmJbaWBN4gIOmdLEYUdb8R4YVDOL9pmQUTMK0L0Lp0YBRsGDqEWJmT39AeH45rIJm6iDgQARsQPtNkHAjW3RjXtIPoDwBIIIjOHqosXQ96HFRJBmVudvoDxx9xOtA0bmC4eoxtifQHji6JmNtKg4hMzZNq17n1LhaIP0gO2b4GgIqMwAMyNva/TuEwWmU300w5NvBPBjCxxORFaf6VMj7vSLgQOT0KjfkqG2Oaac/MI3Cor87W4YTFmr9WhAMKCZTtNCAj0iYIUxv8A0oMGJk/gmvgxXBP3M2Muu5f7HUx5w68f0DRExZHTg8iLmVuKIMyH9rnAJb3gyEdwMD6G351uFR3NzH9RDgOHKMic32ICexMeXfz9x2/aHrQRWB4B59LKxTGWE7UHSzFmIbWcQWb59zAYT+wHyICAZjWsjN8+dn4m8T/RI77sbij1Pxs6nCvZI4m74E3fU3/UJt0PUugTXZln4mRiArUeD/5LBAI6MuKbHk3BnE4gqfjgI+VPux/2Ey9KBFGbFXlWsS4GigBSvwdMZ48iQVvQRfaDj8th8rG1WLw7qNebJ+opDCIaPkorGJVxiqLbdRDkyPuHCQhd26hc71EPGVfsVDMZQG3jkbiRHUFCem9jMZsKT/Q4Pl//2Q==\n"
  },
  {
    "path": "community/project/TiddlyWiki People.tid",
    "content": "title: TiddlyWiki People\nmodified: 20250909171928024\ncreated: 20250909171928024\ntags: Community About\n\nMembers of the TiddlyWiki community who are involved in the development of TiddlyWiki and the running of the project are invited to [[create a Community Card|Submitting a Community Card]] so that they can be included in project plans and organisation charts. Community Cards can also showcase their interests and activities in the TiddlyWiki community.\n\n{{Community Cards Caveats}}\n\n<<community-card-pill-stack-person personFilter:\"[tag[Community/Person]sort[title]]\">>"
  },
  {
    "path": "community/project/TiddlyWiki Project.tid",
    "content": "title: TiddlyWiki Project\nmodified: 20250909171928024\ncreated: 20250909171928024\ntags: Community About\n\nThe TiddlyWiki Project is the coordinated, ongoing effort to maintain and improve TiddlyWiki, and to support the TiddlyWiki community.\n\n{{Community Cards Caveats}}\n\n<$list filter=\"[tag[Community/Team]]\" template=\"$:/tiddlywiki/community/cards/ViewTemplateBodyTemplateTeam\"/>"
  },
  {
    "path": "community/project/Vacant Positions.tid",
    "content": "title: Vacant Positions\ntags: [[TiddlyWiki Project]]\n\nIf you are interested in volunteering to help the project please get in touch with <<community-card-pill-person title:\"@Jermolene\">>."
  },
  {
    "path": "community/project/teams/Core Team.tid",
    "content": "title: Core Team\ntags: Community/Team\nmodified: 20250909171928024\ncreated: 20250909171928024\nleader: @Jermolene\nteam: @saqimtiaz\n\nThe core team is responsible for the maintenance and development of the TiddlyWiki core and official plugins.\n"
  },
  {
    "path": "community/project/teams/Developer Experience Team.tid",
    "content": "title: Developer Experience Team\ntags: Community/Team\nmodified: 20251109200632671\ncreated: 20251109200632671\nleader: @pmario\nteam: @saqimtiaz\n\nThe Developer Experience Team improves the experience of software contributors to the TiddlyWiki project. This includes enhancing documentation, streamlining contribution processes, and providing tools and resources to help developers effectively contribute to TiddlyWiki.\n\nTools and resources managed by the Developer Experience Team include:\n\n* Advising and assisting contributors, particularly new developers\n* Maintenance of developer-focused documentation on the https://tiddlywiki.com/dev/ site, including:\n** Development environment setup guides\n** Code review processes and best practices\n** Contribution guidelines and documentation\n* Continuous integration and deployment scripts providing feedback on pull requests\n* Devising and implementing labelling systems for issues and pull requests\n* Automation scripts to simplify common development tasks\n"
  },
  {
    "path": "community/project/teams/Infrastructure Team.tid",
    "content": "created: 20250909171928024\nmodified: 20251110133437795\ntags: Community/Team\nleader: @kjharcombe \nteam: @MotovunJack\ntitle: Infrastructure Team\n\nThe Infrastructure Team is responsible for maintaining and improving the infrastructure that supports the TiddlyWiki project. This includes the hosting, deployment, and management of the TiddlyWiki websites and services, as well as the tools and systems used by the TiddlyWiki community.\n\nThe infrastructure includes:\n\n* talk.tiddlywiki.org\n* github.com/TiddlyWiki\n* tiddlywiki.com DNS\n* Netlify account for PR previews\n* edit.tiddlywiki.com\n"
  },
  {
    "path": "community/project/teams/MultiWikiServer Team.tid",
    "content": "title: MultiWikiServer Team\ntags: Community/Team\nmodified: 20250909171928024\ncreated: 20250909171928024\nleader: @Arlen22\nteam: \n\nThe MultiWikiServer development repository is at https://github.com/TiddlyWiki/MultiWikiServer\n"
  },
  {
    "path": "community/project/teams/Project Team.tid",
    "content": "title: Project Team\ntags: Community/Team\nmodified: 20250909171928024\ncreated: 20250909171928024\nicon: $:/tiddlywiki/community/icons/project-team\nleader: @Jermolene\nteam: @saqimtiaz @ericshulman\n\nThe project team is responsible for the overall TiddlyWiki project, its vision, mission and values, and ensuring that it meets the needs of the community.\n\nAreas of responsibility include:\n\n* Communicating and demonstrating the vision, mission and values of the project\n* Continuously improve the development process and practices of the project\n* more to come...\n"
  },
  {
    "path": "community/project/teams/Quality Assurance Team.tid",
    "content": "title: Quality Assurance Team\ncreated: 20251112125742296\nmodified: 20251112125742296\ntags: Community/Team\nteam: \nleader: @Leilei332\n\ntitle: Quality Assurance Team\n\nThe Quality Assurance Team is responsible for ensuring the quality and reliability of TiddlyWiki releases. This includes reviewing code submissions, testing new features, identifying bugs, and verifying that fixes are effective.\n\n"
  },
  {
    "path": "community/project/teams/Succession Team.tid",
    "content": "title: Succession Team\ntags: Community/Team\nmodified: 20250909171928024\ncreated: 20250909171928024\nleader: @Jermolene\nteam: @saqimtiaz @ericshulman\n\nThe Succession Team is responsible for ensuring that personnel changes do not impact access to the external infrastructure used by the project.\n\n* Work with the other teams to ensure that the project has a succession plan for key personnel\n* Work with the other teams to ensure that they are using the appropriate, community-owned infrastructure\n* Ensure that the members of the succession team share ownership of the key project resources (eg passwords and user accounts). The Succession Team is not expected to use their access rights apart from managing access in the event of personnel changes\n\n"
  },
  {
    "path": "community/project/teams/TiddlyWiki Newsletter Team.tid",
    "content": "title: TiddlyWiki Newsletter Team\ntags: Community/Team\nmodified: 20251219090709874\ncreated: 20250909171928024\nleader: @Christian_Byron\n\nThe Newsletter Team is responsible for producing the [[TiddlyWiki Newsletter]]. We would love to have your help if you would like to get involved.\n\n! Audience\n\nThe newsletter is intended for TiddlyWiki end users who do not track all the discussions on https://talk.tiddlywiki.org/.\n\nCoverage of developer topics such as JavaScript and intricate wikitext should be handled thoughtfully to avoid alienating the core audience of end users.\n\nSubscribing to the newsletter is intended to give people confidence that they will not miss any important developments.\n"
  },
  {
    "path": "community/project/teams/tagCommunityTeam.tid",
    "content": "title: Community/Team\nmodified: 20250909171928024\ncreated: 20250909171928024\nlist: [[Project Team]] [[Core Team]] [[Documentation Team]] [[Quality Assurance Team]] [[Infrastructure Team]] [[MultiWikiServer Team]] [[Newsletter Team]] [[Succession Team]]\n\n"
  },
  {
    "path": "community/readme.md",
    "content": "# Community Records and Resources\n\nThese raw tiddlers comprise the community records and resources for the TiddlyWiki project. They are packaged as a root directory outside of the usual \"editions\" folder so that they can be shared with other wikis.\n"
  },
  {
    "path": "community/tools/cards/DefaultColourMappings.multids",
    "content": "title: $:/config/DefaultColourMappings/\n\ncommunity-card-background: #ffffee\ncommunity-card-foreground: #441111\ncommunity-card-dark-shadow: rgba(188, 189, 189, 0.5)\ncommunity-card-shadow: rgba(212, 212, 213, 0.5)\ncommunity-card-header-background: #9e3060\ncommunity-card-header-foreground: #ddddee\ncommunity-card-team-header-background: #306090\ncommunity-card-team-header-foreground: #ddeedd\ncommunity-card-vacancy-header-background: #609030\ncommunity-card-vacancy-header-foreground: #eedddd\ncommunity-card-info-background: #f3f38b\ncommunity-card-info-foreground: #444411\ncommunity-card-field-name-foreground: #888844\n"
  },
  {
    "path": "community/tools/cards/Procedures.tid",
    "content": "title: $:/tiddlywiki/community/cards/Procedures\ntags: $:/tags/Global\n\n\\procedure community-card-display-jpeg-field(fieldName,mode:\"block\",default)\n<$genesis $type={{{ [<mode>match[block]then[div]else[span]] }}} class={{{ tc-community-card-field-image [[tc-community-card-field-image-]addsuffix<fieldName>] +[join[ ]] }}}>\n\t<%if [<currentTiddler>has<fieldName>] %>\n\t\t<img src={{{ [<currentTiddler>get<fieldName>addprefix[data:image/jpeg;base64,]] }}} width=\"32\"/>\n\t<%else%>\n\t\t<$transclude $tiddler=<<default>> $mode=<<mode>>/>\n\t<%endif%>\n</$genesis>\n\\end community-card-display-jpeg-field\n\n\\procedure community-card-display-transclusion(fieldName,mode:\"inline\",default)\n<$genesis $type={{{ [<mode>match[block]then[div]else[span]] }}} class={{{ tc-community-card-field-image [[tc-community-card-field-image-]addsuffix<fieldName>] +[join[ ]] }}}>\n\t<%if [<currentTiddler>has<fieldName>] %>\n\t\t<$transclude $tiddler={{{ [<currentTiddler>get<fieldName>] }}} $mode=<<mode>>/>\n\t<%else%>\n\t\t<$transclude $tiddler=<<default>> $mode=<<mode>>/>\n\t<%endif%>\n</$genesis>\n\\end community-card-display-transclusion\n\n\\procedure community-card-display-text-field(fieldName,showLabel:\"yes\",linkPrefix,displayPrefix,mode:\"block\")\n<%if [<currentTiddler>has<fieldName>] :or[<fieldName>match[title]] %>\n\t<$genesis $type={{{ [<mode>match[block]then[div]else[span]] }}} class={{{ tc-community-card-field-text [[tc-community-card-field-text-]addsuffix<fieldName>] +[join[ ]] }}}>\n\t\t<%if [<showLabel>match[yes]] %>\n\t\t<span class=\"tc-community-card-field-text-name\"><$text text=<<fieldName>>/></span>\n\t\t<%endif%>\n\t\t<%if [<linkPrefix>!match[]] %>\n\t\t\t<a\n\t\t\t\thref={{{ [<currentTiddler>get<fieldName>addprefix<linkPrefix>] }}}\n\t\t\t\tclass=\"tc-community-card-field-text-value\"\n\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\ttarget=\"_blank\"\n\t\t\t>\n\t\t\t\t<$text text={{{ [<currentTiddler>get<fieldName>] :else[<fieldName>match[title]then<currentTiddler>] +[addprefix<displayPrefix>] }}}/>\n\t\t\t</a>\n\t\t<%else%>\n\t\t\t<span class=\"tc-community-card-field-text-value\">\n\t\t\t\t<$text text={{{ [<currentTiddler>get<fieldName>] :else[<fieldName>match[title]then<currentTiddler>] +[addprefix<displayPrefix>] }}}/>\n\t\t\t</span>\n\t\t<%endif%>\n\t</$genesis>\n<%endif%>\n\\end community-card-display-text-field\n\n\\procedure community-card-person(title)\n\t<$let currentTiddler=<<title>>>\n\t\t<div class=\"tc-community-card\">\n\t\t\t<$link to=<<currentTiddler>> class=\"tc-community-card-header-link\">\n\t\t\t\t<div class=\"tc-community-card-header\">\n\t\t\t\t\t<<community-card-display-jpeg-field \"avatar\" default:\"$:/tiddlywiki/community/icons/person\">>\n\t\t\t\t\t<<community-card-display-text-field \"title\" showLabel:\"no\">>\n\t\t\t\t</div>\n\t\t\t</$link>\n\t\t\t<div class=\"tc-community-card-info\">\n\t\t\t\t<<community-card-display-text-field \"fullname\">>\n\t\t\t\t<<community-card-display-text-field \"first-sighting\">>\n\t\t\t\t<<community-card-display-text-field \"talk.tiddlywiki.org\" linkPrefix:\"https://talk.tiddlywiki.org/u/\" displayPrefix:\"@\">>\n\t\t\t\t<<community-card-display-text-field \"github\" linkPrefix:\"https://github.com/\" displayPrefix:\"@\">>\n\t\t\t\t<<community-card-display-text-field \"linkedin\" linkPrefix:\"https://\">>\n\t\t\t\t<<community-card-display-text-field \"flickr\" linkPrefix:\"https://\">>\n\t\t\t\t<<community-card-display-text-field \"homepage\" linkPrefix:\"https://\">>\n\t\t\t\t<<community-card-display-text-field \"email\" linkPrefix:\"mailto:\">>\n\t\t\t\t<%if [all[tiddlers+shadows]tag[Community/Team]sort[title]] :filter[{!!leader}match<..currentTiddler>] +[count[]compare:number:gt[0]] %>\n\t\t\t\t\t<div class=\"tc-community-card-field-text\">\n\t\t\t\t\t\t<span class=\"tc-community-card-field-text-name\">leader</span>\n\t\t\t\t\t\t<span class=\"tc-community-card-field-text-value\">\n\t\t\t\t\t\t\t<$list filter=\"[all[tiddlers+shadows]tag[Community/Team]sort[title]] :filter[{!!leader}match<..currentTiddler>]\">\n\t\t\t\t\t\t\t\t<$transclude $variable=\"community-card-pill-team\" title=<<currentTiddler>>/>\n\t\t\t\t\t\t\t</$list>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t<%endif%>\n\t\t\t\t<%if [all[tiddlers+shadows]tag[Community/Team]sort[title]] :filter[enlist{!!team}match<..currentTiddler>] +[count[]compare:number:gt[0]] %>\n\t\t\t\t\t<div class=\"tc-community-card-field-text\">\n\t\t\t\t\t\t<span class=\"tc-community-card-field-text-name\">member</span>\n\t\t\t\t\t\t<span class=\"tc-community-card-field-text-value\">\n\t\t\t\t\t\t\t<$list filter=\"[all[tiddlers+shadows]tag[Community/Team]sort[title]] :filter[enlist{!!team}match<..currentTiddler>]\">\n\t\t\t\t\t\t\t\t<$transclude $variable=\"community-card-pill-team\" title=<<currentTiddler>>/>\n\t\t\t\t\t\t\t</$list>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t<%endif%>\n\t\t\t</div>\n\t\t\t<div class=\"tc-community-card-body\">\n\t\t\t\t<$transclude $tiddler=<<currentTiddler>> $field=\"text\" $mode=\"block\"/>\n\t\t\t</div>\n\t\t</div>\n\t</$let>\n\\end community-card-person\n\n\\procedure community-card-team(title)\n\t<$let currentTiddler=<<title>>>\n\t\t<div class=\"tc-community-card tc-community-card-team\">\n\t\t\t<$link to=<<currentTiddler>> class=\"tc-community-card-header-link\">\n\t\t\t\t<div class=\"tc-community-card-header\">\n\t\t\t\t\t<<community-card-display-transclusion fieldName:\"icon\" default:\"$:/tiddlywiki/community/icons/team\">>\n\t\t\t\t\t<<community-card-display-text-field \"title\" showLabel:\"no\">>\n\t\t\t\t</div>\n\t\t\t</$link>\n\t\t\t<div class=\"tc-community-card-info\">\n\t\t\t\t<div class=\"tc-community-card-field-text\">\n\t\t\t\t\t<span class=\"tc-community-card-field-text-name\">leader</span>\n\t\t\t\t\t<span class=\"tc-community-card-field-text-value\">\n\t\t\t\t\t\t<%if [<currentTiddler>has[leader]] %>\n\t\t\t\t\t\t\t<$transclude $variable=\"community-card-pill-person\" title={{!!leader}}/>\n\t\t\t\t\t\t<%else%>\n\t\t\t\t\t\t\t<$transclude $variable=\"community-card-vacancy\"/>\n\t\t\t\t\t\t<%endif%>\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"tc-community-card-field-text\">\n\t\t\t\t\t<span class=\"tc-community-card-field-text-name\">team</span>\n\t\t\t\t\t<span class=\"tc-community-card-field-text-value\"><$transclude $variable=\"community-card-pill-stack-person\" personFilter={{!!team}}/></span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"tc-community-card-body\">\n\t\t\t\t<$transclude $tiddler=<<currentTiddler>> $field=\"text\" $mode=\"block\"/>\n\t\t\t</div>\n\t\t</div>\n\t</$let>\n\\end community-card-team\n\n\\procedure community-card-pill-person(title)\n\t<$let currentTiddler=<<title>>>\n\t\t<$link to=<<currentTiddler>> class=\"tc-community-card-pill\">\n\t\t\t<<community-card-display-jpeg-field \"avatar\" default:\"$:/tiddlywiki/community/icons/person\" mode=\"inline\">>\n\t\t\t<<community-card-display-text-field \"title\" showLabel:\"no\" mode:\"inline\">>\n\t\t</$link>\n\t</$let>\n\\end community-card-pill-person\n\n\\procedure community-card-pill-stack-person(personFilter:\"[tag[Community/Person]]\")\n\t<div class=\"tc-community-card-pill-stack\">\n\t\t<$list filter=<<personFilter>>>\n\t\t\t<$list-template>\n\t\t\t\t<$transclude $variable=\"community-card-pill-person\" title=<<currentTiddler>> mode=\"block\"/>\n\t\t\t</$list-template>\n\t\t\t<$list-empty>\n\t\t\t\t<$transclude $variable=\"community-card-vacancy\"/>\n\t\t\t</$list-empty>\n\t\t</$list>\n\t</div>\n\\end community-card-pill-stack-person\n\n\\procedure community-card-pill-team(title)\n\t<$let currentTiddler=<<title>>>\n\t\t<$link to=<<currentTiddler>> class=\"tc-community-card-pill\">\n\t\t\t<<community-card-display-transclusion fieldName:\"icon\" default:\"$:/tiddlywiki/community/icons/team\">>\n\t\t\t<<community-card-display-text-field \"title\" showLabel:\"no\" mode:\"inline\">>\n\t\t</$link>\n\t</$let>\n\\end community-card-pill-team\n\n\\procedure community-card-vacancy()\n\t<$link to=\"Vacant Positions\" class=\"tc-community-card-pill tc-community-card-pill-vacancy\">\n\t\t<span class=\"tc-community-card-field-image tc-community-card-field-image-avatar\">\n\t\t\t{{$:/core/images/help}}\n\t\t</span>\n\t\t<span class=\"tc-community-card-field-text tc-community-card-field-text-title\">\n\t\t\t<span class=\"tc-community-card-field-text-value\">\n\t\t\t\tVacant\n\t\t\t</span>\n\t\t</span>\n\t</$link>\n\\end community-card-vacancy\n"
  },
  {
    "path": "community/tools/cards/Styles.tid",
    "content": "title: $:/tiddlywiki/community/cards/Styles\ntags: $:/tags/Stylesheet\n\n.tc-community-card {\n\tdisplay: flex;\n\tflex-direction: column;\n\tflex-wrap: wrap;\n\tjustify-content: center;\n\tborder-radius: 8px;\n\twidth: 100%;\n\tmargin-bottom: 8px;\n\tbackground: <<colour community-card-background>>;\n\tcolor: <<colour community-card-foreground>>;\n\tfill: <<colour community-card-foreground>>;\n\tbox-shadow: 0 1px 3px 0 <<colour community-card-shadow>>, 0 0 0 1px <<colour community-card-shadow>>;\n\ttransition: box-shadow 0.3s ease,transform .3s ease;\n}\n\n.tc-community-card:hover {\n\tbox-shadow: 0 1px 6px 0 <<colour community-card-dark-shadow>>, 0 0 0 1px <<colour community-card-shadow>>;\n\ttransform: translateY(-2px);\n}\n\n.tc-community-card .tc-community-card-header-link {\n\tbackground-color: <<colour community-card-header-background>>;\n\tcolor: <<colour community-card-header-foreground>>;\n\tborder-top-left-radius: 8px;\n\tborder-top-right-radius: 8px;\n}\n\n.tc-community-card.tc-community-card-team .tc-community-card-header-link {\n\tbackground: <<colour community-card-team-header-background>>;\n\tcolor: <<colour community-card-team-header-foreground>>;\n\tfill: <<colour community-card-team-header-foreground>>;\n}\n\n.tc-community-card .tc-community-card-header-link:hover {\n\ttext-decoration: none;\n\tbackground-color: <<colour community-card-header-foreground>>;\n\tcolor: <<colour community-card-header-background>>;\n}\n\n.tc-community-card-header {\n\tmargin: 0;\n\tpadding: 0.5em;\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\tjustify-content: flex-start;\n\talign-items: center;\n\tline-height: 0;\n}\n\n.tc-community-card-header .tc-community-card-field-text-title {\n\tfont-size: 1.5em;\n\tfont-weight: bold;\n}\n\n.tc-community-card-header .tc-community-card-field-image {\n\tdisplay: table-row;\n\twidth: auto;\n\tmax-width: 100%;\n\tmargin-right: 12px;\n}\n\n.tc-community-card-info {\n\tdisplay: table;\n\twidth: auto;\n\tmax-width: 100%;\n\tpadding: 8px;\n\tmargin: 0;\n\tbackground-color: <<colour community-card-info-background>>;\n\tcolor: <<colour community-card-info-foreground>>;\n}\n\n.tc-community-card-body {\n\tpadding: 0 8px;\n}\n\n.tc-community-card .tc-community-card-field-text {\n\tdisplay: table-row;\n}\n\n.tc-community-card .tc-community-card-field-text-name,\n.tc-community-card .tc-community-card-field-text-value {\n\tdisplay: table-cell;\n\tpadding: 2px 6px 2px 0;\n\tvertical-align: top;\n}\n\n.tc-community-card .tc-community-card-field-text-name {\n\tcolor: <<colour community-card-field-name-foreground>>;\n\twhite-space: nowrap;\n\ttext-align: right;\n\tpadding-right: 8px;\n}\n\n.tc-community-card .tc-community-card-field-text-value {\n\tword-break: break-word;\n\tfont-weight: bold;\n\twidth: 100%;\n}\n\na.tc-community-card-pill {\n\tdisplay: inline-flex;\n\talign-items: center;\n\tgap: 4px;\n\twidth: auto;\n\tmin-width:0;\n\tmax-width: none;\n\talign-self: auto;\n\tfont-size: 0.9em;\n\tline-height: 1;\n\tvertical-align: middle;\n\tpadding: 4px;\n\tborder-radius: 4px;\n\tbackground: <<colour community-card-header-background>>;\n\tcolor: <<colour community-card-header-foreground>>;\n\tfill: <<colour community-card-header-foreground>>;\n\tbox-shadow: 0 1px 3px 0 <<colour community-card-shadow>>, 0 0 0 1px <<colour community-card-shadow>>;\n\ttransition: box-shadow 0.3s ease,transform .3s ease;\n}\n\na.tc-community-card-pill.tc-community-card-pill-vacancy {\n\tbackground: <<colour community-card-vacancy-header-background>>;\n\tcolor: <<colour community-card-vacancy-header-foreground>>;\n\tfill: <<colour community-card-vacancy-header-foreground>>;\n}\n\na.tc-community-card-pill:hover {\n\ttext-decoration: none;\n\tbox-shadow: 0 1px 6px 0 <<colour community-card-dark-shadow>>, 0 0 0 1px <<colour community-card-shadow>>;\n\ttransform: translateY(-2px);\n\tbackground: <<colour community-card-header-foreground>>;\n\tcolor: <<colour community-card-header-background>>;\n\tfill: <<colour community-card-header-background>>;\n}\n\na.tc-community-card-pill .tc-community-card-field-image img,\na.tc-community-card-pill .tc-community-card-field-image svg {\n\twidth: 16px;\n\theight: 16px;\n\tvertical-align: middle;\n\tdisplay: inline-block;\n}\n\na.tc-community-card-pill .tc-community-card-field-text {\n\tdisplay: inline;\n}\n\n.tc-community-card-pill-stack {\n\tdisplay: inline-flex;\n\tflex-direction: column;\n\talign-items: stretch;\n\tgap: 4px;\n\tmargin: 0;\n\tpadding: 0;\n}"
  },
  {
    "path": "community/tools/cards/ViewTemplateBodyCascade.tid",
    "content": "title: $:/tiddlywiki/community/cards/ViewTemplateBodyCascade\ntags: $:/tags/ViewTemplateBodyFilter\nlist-before:\n\n[tag[Community/Person]then[$:/tiddlywiki/community/cards/ViewTemplateBodyTemplatePerson]]\n[tag[Community/Team]then[$:/tiddlywiki/community/cards/ViewTemplateBodyTemplateTeam]]"
  },
  {
    "path": "community/tools/cards/ViewTemplateBodyTemplatePerson.tid",
    "content": "title: $:/tiddlywiki/community/cards/ViewTemplateBodyTemplatePerson\n\n<$transclude $variable=\"community-card-person\" title=<<currentTiddler>>/>"
  },
  {
    "path": "community/tools/cards/ViewTemplateBodyTemplateTeam.tid",
    "content": "title: $:/tiddlywiki/community/cards/ViewTemplateBodyTemplateTeam\n\n<$transclude $variable=\"community-card-team\" title=<<currentTiddler>>/>\n"
  },
  {
    "path": "community/tools/icons/person.tid",
    "content": "title: $:/tiddlywiki/community/icons/person\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> viewBox=\"0 0 64 64\">\n\t<path d=\"M43.127,29.612c-0.879,-0.378 -1.452,-1.25 -1.452,-2.207c-0.006,-0.678 0.27,-1.33 0.761,-1.797c0.147,-0.141 0.29,-0.28 0.397,-0.393c0.753,-0.791 1.416,-1.663 1.978,-2.6c1.392,-2.318 2.126,-4.974 2.126,-7.677c0,-8.196 -6.744,-14.938 -14.938,-14.938c-0.945,0 -1.886,0.088 -2.813,0.266c-5.891,1.031 -10.578,5.586 -11.781,11.446c-1.105,5.016 0.454,10.264 4.118,13.865c0.495,0.469 0.78,1.118 0.792,1.799l0,0.012c0.008,0.966 -0.567,1.848 -1.453,2.23c-5.949,2.466 -10.698,7.172 -13.217,13.099c-1.772,4.059 -2.66,8.45 -2.607,12.88l0,3.192c0,2.858 2.351,5.211 5.212,5.211l43.5,0c2.859,0 5.212,-2.353 5.212,-5.211l-0,-3.225c0.053,-4.427 -0.837,-8.816 -2.611,-12.873c-2.523,-5.922 -7.274,-10.621 -13.224,-13.079Z\" style=\"fill-rule:nonzero;\"/>\n</svg>"
  },
  {
    "path": "community/tools/icons/project-team.tid",
    "content": "title: $:/tiddlywiki/community/icons/project-team\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> viewBox=\"0 0 64 64\">\n\t<path d=\"M24.891,49.399l-3.521,0c-1.398,0 -2.547,-1.15 -2.547,-2.547l0,-1.56c-0.026,-2.165 0.408,-4.311 1.274,-6.295c1.231,-2.897 3.552,-5.197 6.46,-6.402c0.433,-0.187 0.714,-0.618 0.71,-1.09l0,-0.006c-0.006,-0.333 -0.145,-0.65 -0.387,-0.879c-1.791,-1.76 -2.553,-4.325 -2.013,-6.777c0.588,-2.864 2.879,-5.09 5.758,-5.594c0.453,-0.087 0.913,-0.13 1.375,-0.13c4.005,0 7.301,3.295 7.301,7.301c0,1.321 -0.359,2.619 -1.039,3.752c-0.275,0.458 -0.599,0.884 -0.967,1.271c-0.052,0.055 -0.122,0.123 -0.194,0.192c-0.24,0.228 -0.375,0.547 -0.372,0.878c0,0.468 0.28,0.894 0.71,1.079c2.908,1.201 5.23,3.498 6.463,6.392c0.815,1.865 1.248,3.872 1.276,5.904c-0.179,0.006 -0.351,0.007 -0.514,0.003c-0.556,-0.016 -1.375,-0.294 -2.288,-0.512c-1.295,-0.308 -2.719,-0.543 -4.01,-0.396l-0.013,0.001c-1.056,0.128 -2.116,0.325 -3.097,0.76c-0.385,0.171 -1.216,0.753 -1.446,0.916c-1.157,0.297 -2.564,0.475 -3.797,0.312c-0.713,-0.094 -1.402,-0.225 -1.703,-0.778c-0.207,-0.382 -0.181,-0.896 -0.031,-1.565c0.068,-0.3 0.11,-0.593 0.118,-0.842l-0.106,-0.887l-0.212,-0.491l-0.258,-0.36l-0.669,-0.514l-0.832,-0.231l-0.491,0.017l-0.459,0.12l-0.417,0.211l-0.415,0.342l-0.546,0.802l-0.033,0.067c-1.174,2.499 -0.945,4.643 0.013,6.317c0.251,0.437 0.56,0.845 0.919,1.219Zm22.984,-4.722c-0.052,-2.344 -0.566,-4.656 -1.514,-6.805c-1.232,-2.86 -3.339,-5.257 -6.018,-6.845c0.955,-0.816 2.033,-1.473 3.195,-1.949c0.434,-0.187 0.715,-0.618 0.71,-1.09l-0,-0.006c-0.005,-0.333 -0.144,-0.651 -0.386,-0.88c-1.791,-1.76 -2.553,-4.324 -2.013,-6.776c0.587,-2.864 2.878,-5.09 5.758,-5.594c0.453,-0.087 0.913,-0.131 1.375,-0.131c4.005,0 7.3,3.296 7.3,7.301c-0,1.322 -0.359,2.619 -1.038,3.753c-0.276,0.457 -0.6,0.883 -0.968,1.27c-0.052,0.055 -0.121,0.123 -0.194,0.192c-0.24,0.229 -0.375,0.547 -0.372,0.878c-0,0.468 0.28,0.894 0.71,1.079c2.908,1.201 5.229,3.498 6.462,6.392c0.756,1.728 1.184,3.578 1.264,5.458c-0.577,-0.341 -1.293,-0.373 -1.904,-0.07c-0.961,0.475 -1.861,1.117 -2.911,1.371c-0.49,-0.133 -0.983,-0.245 -1.485,-0.308c-0.253,-0.326 -0.536,-0.66 -0.84,-0.911l-0.813,-0.51l-0.752,-0.225c-0.327,-0.051 -0.662,-0.021 -0.974,0.089l-0.67,0.321l-0.569,0.448c-0.403,0.393 -0.733,0.911 -0.979,1.569c-0.202,0.54 -0.344,1.222 -0.492,2.014c-0.244,-0.027 -0.49,-0.047 -0.737,-0.058c-0.333,-0.02 -0.725,-0.006 -1.145,0.023Zm-24.215,-13.651c-2.683,1.591 -4.793,3.994 -6.024,6.861c-1.026,2.332 -1.542,4.857 -1.513,7.405l0,0.59l-11.735,0c-1.397,0 -2.547,-1.15 -2.547,-2.547l0,-1.561c-0.026,-2.165 0.409,-4.31 1.274,-6.295c1.231,-2.897 3.553,-5.197 6.46,-6.401c0.434,-0.187 0.715,-0.618 0.71,-1.09l0,-0.006c-0.005,-0.333 -0.144,-0.651 -0.386,-0.88c-1.791,-1.76 -2.553,-4.324 -2.013,-6.776c0.588,-2.864 2.879,-5.09 5.758,-5.594c0.453,-0.087 0.914,-0.131 1.375,-0.131c4.005,0 7.301,3.296 7.301,7.301c0,1.322 -0.359,2.619 -1.039,3.753c-0.275,0.457 -0.6,0.883 -0.967,1.27c-0.052,0.055 -0.122,0.123 -0.194,0.192c-0.24,0.228 -0.375,0.547 -0.372,0.878c0,0.468 0.28,0.894 0.71,1.079c1.164,0.476 2.246,1.135 3.202,1.952Zm29.027,33.111c-1.417,-0.04 -2.04,-0.037 -2.761,-1.223l-0.563,0.016c-0.654,-0.029 -0.381,-0.016 -0.818,-0.038c-0.73,-0.028 -0.613,-0.722 -0.742,-1.089c-0.205,-1.244 0.272,-2.494 0.257,-3.739c-0.005,-0.442 -0.63,-2.005 -0.854,-2.564c-0.7,0.131 -1.404,0.157 -2.114,0.192c-1.637,-0.004 -3.263,-0.205 -4.878,-0.459c-0.314,1.299 -1.249,3.118 -0.476,4.439c0.938,1.366 1.596,1.745 2.617,1.827c1.02,0.082 1.251,1.234 1.004,1.646c-0.219,0.284 -0.603,0.336 -0.929,0.405l-0.653,0.03c-0.513,-0.017 -0.973,-0.155 -1.43,-0.369c-0.765,-0.427 -1.554,-1.314 -2.141,-1.951c0.137,0.254 0.218,0.751 0.095,0.982c-0.347,0.491 -1.847,0.488 -2.534,0.183c-0.78,-0.347 -2.665,-2.781 -2.957,-4.604c0.776,-1.467 1.905,-2.744 2.477,-4.341c-1.246,-0.795 -1.913,-2.089 -1.827,-3.555l0.032,-0.17c-1.226,0.23 -0.59,0.144 -1.909,0.244c-4.2,-0.013 -7.893,-2.86 -5.813,-7.286c0.135,-0.262 0.263,-0.5 0.493,-0.386c0.184,0.091 0.157,0.457 0.065,0.863c-1.189,5.288 4.621,5.329 8.192,4.35c0.355,-0.097 1.06,-0.751 1.548,-0.968c0.798,-0.354 1.665,-0.498 2.524,-0.602c2.139,-0.244 4.709,0.883 6.015,0.92c1.306,0.037 3.164,-0.313 4.305,-0.239c0.827,0.037 1.64,0.187 2.438,0.4c0.517,-2.519 0.554,-4.374 1.779,-4.804c0.719,0.113 1.273,1.093 1.683,1.617l0.002,-0c0.835,-0.033 1.63,0.178 2.42,0.414c1.431,-0.203 2.631,-1.007 3.895,-1.632c-0.004,0.02 -0.025,0.027 -0.037,0.04c-1.244,1.005 -1.417,2.706 -1.271,4.278c0.054,0.816 -0.176,1.702 -0.461,2.538c-0.534,1.361 -1.564,2.796 -2.759,2.722c-0.452,-0.014 -0.715,-0.27 -1.051,-0.543c-0.065,0.553 -0.321,1.047 -0.568,1.536c-0.57,1.086 -2.06,1.564 -3.44,2.723c-1.379,1.159 0.442,5.297 0.883,6.052c0.442,0.754 1.674,1.03 1.196,1.71c-0.147,0.225 -0.37,0.305 -0.609,0.393l-0.325,0.042Zm-15.735,-3.096l0.206,0.06c0.258,-0.115 0.778,0.064 1.054,0.151c-0.508,-0.563 -1.273,-1.389 -1.824,-1.91c-0.181,-0.631 -0.103,-1.266 -0.065,-1.91l0.008,-0.053c-0.217,0.515 -0.493,1.016 -0.641,1.559c-0.173,0.732 0.771,1.522 1.137,1.975l0.125,0.128Z\"/>\n</svg>\n"
  },
  {
    "path": "community/tools/icons/team.tid",
    "content": "title: $:/tiddlywiki/community/icons/team\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> viewBox=\"0 0 64 64\">\n\t<path d=\"M37.439,32.592c-0.43,-0.185 -0.71,-0.611 -0.71,-1.079c-0.003,-0.331 0.132,-0.65 0.372,-0.878c0.072,-0.069 0.142,-0.137 0.194,-0.192c0.368,-0.387 0.692,-0.813 0.967,-1.271c0.68,-1.133 1.039,-2.431 1.039,-3.752c-0,-4.006 -3.296,-7.301 -7.301,-7.301c-0.462,-0 -0.922,0.043 -1.375,0.13c-2.879,0.504 -5.17,2.73 -5.758,5.594c-0.54,2.452 0.222,5.017 2.013,6.777c0.242,0.229 0.381,0.546 0.387,0.879l-0,0.006c0.004,0.472 -0.277,0.903 -0.71,1.09c-2.908,1.205 -5.229,3.505 -6.46,6.402c-0.866,1.984 -1.3,4.13 -1.274,6.295l-0,1.56c-0,1.397 1.149,2.547 2.547,2.547c-0,-0 0,-0 0,-0l21.261,-0c1.397,-0 2.547,-1.15 2.547,-2.547l-0,-1.576c0.026,-2.164 -0.409,-4.309 -1.276,-6.292c-1.233,-2.894 -3.555,-5.191 -6.463,-6.392Z\" style=\"fill-rule:nonzero;\"/>\n\t<path d=\"M60.882,35.466c-1.233,-2.894 -3.554,-5.191 -6.462,-6.392c-0.43,-0.185 -0.71,-0.611 -0.71,-1.079c-0.003,-0.331 0.132,-0.649 0.372,-0.878c0.073,-0.069 0.142,-0.137 0.194,-0.192c0.368,-0.387 0.692,-0.813 0.968,-1.27c0.679,-1.134 1.038,-2.431 1.038,-3.753c0,-4.005 -3.295,-7.301 -7.3,-7.301c-0.462,0 -0.922,0.044 -1.375,0.131c-2.88,0.504 -5.171,2.73 -5.758,5.594c-0.54,2.452 0.222,5.016 2.013,6.776c0.242,0.229 0.381,0.547 0.386,0.88l-0,0.006c0.005,0.472 -0.276,0.903 -0.71,1.09c-1.162,0.476 -2.24,1.133 -3.195,1.949c2.679,1.588 4.786,3.985 6.018,6.845c1.029,2.332 1.546,4.857 1.517,7.405l-0,0.605l11.734,-0c1.397,-0 2.547,-1.15 2.547,-2.547l-0,-1.576c0.026,-2.165 -0.409,-4.31 -1.277,-6.293Z\" style=\"fill-rule:nonzero;\"/>\n\t<path d=\"M23.66,31.026c-0.956,-0.817 -2.038,-1.476 -3.202,-1.952c-0.43,-0.185 -0.71,-0.611 -0.71,-1.079c-0.003,-0.331 0.132,-0.65 0.372,-0.878c0.072,-0.069 0.142,-0.137 0.194,-0.192c0.367,-0.387 0.692,-0.813 0.967,-1.27c0.68,-1.134 1.039,-2.431 1.039,-3.753c-0,-4.005 -3.296,-7.301 -7.301,-7.301c-0.461,0 -0.922,0.044 -1.375,0.131c-2.879,0.504 -5.17,2.73 -5.758,5.594c-0.54,2.452 0.222,5.016 2.013,6.776c0.242,0.229 0.381,0.547 0.386,0.88l0,0.006c0.005,0.472 -0.276,0.903 -0.71,1.09c-2.907,1.204 -5.229,3.504 -6.46,6.401c-0.865,1.985 -1.3,4.13 -1.274,6.295c0,0 0,1.561 0,1.561c0,1.397 1.15,2.547 2.547,2.547c-0,-0 11.735,-0 11.735,-0l0,-0.59c-0.029,-2.548 0.487,-5.073 1.513,-7.405c1.231,-2.867 3.341,-5.27 6.024,-6.861Z\" style=\"fill-rule:nonzero;\"/>\n</svg>\n"
  },
  {
    "path": "contributing.md",
    "content": "<h1 class=\"\">Contributing to <a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/TiddlyWiki5.html\">TiddlyWiki5</a></h1><p>Here we focus on contributions via <a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/GitHub.html\">GitHub</a> Pull Requests but there are many other ways that anyone can help the <a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/TiddlyWiki.html\">TiddlyWiki</a> project, such as <a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/ReportingBugs.html\">reporting bugs</a> or helping to <a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/Improving%2520TiddlyWiki%2520Documentation.html\">improve our documentation</a>.</p><h1 class=\"\">Rules for Pull Requests</h1><p>PRs must meet these minimum requirements before they can be considered for merging:</p><ul><li>The material in the PR must be free of licensing restrictions. Which means that either:<ul><li>The author must hold the copyright in all of the material themselves</li><li>The material must be licensed under a license compatible with <a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/TiddlyWiki.html\">TiddlyWiki</a>'s BSD license</li></ul></li><li>The author must sign the Contributors License Agreement (see below)</li><li>Each PR should only make a single feature change</li><li>The title of the PR should be 50 characters or less</li><li>The title of the PR should be capitalised, and should not end with a period</li><li>The title of the PR should be written in the imperative mood. See below</li><li>Adequate explanation in the body of the PR for the motivation and implementation of the change. Focus on the <em>why</em> and <em>what</em>, rather than the <em>how</em></li><li>PRs must be self-contained. Although they can link to material elsewhere, everything needed to understand the intention of the PR should be included</li><li>Any visual changes introduced by the PR should be noted and illustrated with before/after screenshots</li><li>Documentation as appropriate for end-users or developers</li><li>Observe the coding style</li><li>Read the developers documentation</li><li>Please open a consultation issue prior to investing time in making a large PR</li></ul><h2 class=\"\">Imperative Mood for PR Titles</h2><p>The \"imperative mood\" means written as if giving a command or instruction. See <a class=\"tc-tiddlylink-external\" href=\"https://chris.beams.io/posts/git-commit/#imperative\" rel=\"noopener noreferrer\" target=\"_blank\">this post</a> for more details, but the gist is that the title of the PR should make sense when used to complete the sentence \"If applied, this commit will...\". So for example, these are good PR titles:</p><ul><li>If applied, this commit will <em>update the contributing guidelines</em></li><li>If applied, this commit will <em>change css-escape-polyfill to a $tw.utils method</em></li><li>If applied, this commit will <em>make it easier to subclass the wikitext parser with a custom rule set</em></li></ul><p>These a poorly worded PR titles:</p><ul><li><strike>If applied, this commit will <em>edit text widgets should use default text for missing fields</em></strike></li><li><strike>If applied, this commit will <em>signing the CLA</em></strike></li><li><strike>If applied, this commit will <em>don't crash if options.event is missing</em></strike></li></ul><p>PR titles may also include a short prefix to indicate the subsystem to which they apply. For example:</p><ul><li><em>Menu plugin: Include menu text in aerial rotator</em></li></ul><h1 class=\"\">Commenting on Pull Requests</h1><p>One of the principles of open source is that many pairs of eyes on the code can improve quality. So, we welcome comments and critiques of pending PRs. <a class=\"tc-tiddlylink-external\" href=\"https://conventionalcomments.org\" rel=\"noopener noreferrer\" target=\"_blank\">Conventional Comments</a> has some techniques to help make comments as constructive and actionable as possible. Notably, they recommend prefixing a comment with a label to clarify the intention:</p><table><tbody><tr class=\"evenRow\"><td align=\"left\">praise</td><td align=\"left\">Praises highlight something positive. Try to leave at least one of these comments per review. Do not leave false praise (which can actually be damaging). Do look for something to sincerely praise</td></tr><tr class=\"oddRow\"><td align=\"left\">nitpick</td><td align=\"left\">Nitpicks are small, trivial, but necessary changes. Distinguishing nitpick comments significantly helps direct the reader's attention to comments requiring more involvement</td></tr><tr class=\"evenRow\"><td align=\"left\">suggestion</td><td align=\"left\">Suggestions are specific requests to improve the subject under review. It is assumed that we all want to do what's best, so these comments are never dismissed as “mere suggestions”, but are taken seriously</td></tr><tr class=\"oddRow\"><td align=\"left\">issue</td><td align=\"left\">Issues represent user-facing problems. If possible, it's great to follow this kind of comment with a suggestion</td></tr><tr class=\"evenRow\"><td align=\"left\">question</td><td align=\"left\">Questions are appropriate if you have a potential concern but are not quite sure if it's relevant or not. Asking the author for clarification or investigation can lead to a quick resolution</td></tr><tr class=\"oddRow\"><td align=\"left\">thought</td><td align=\"left\">Thoughts represent an idea that popped up from reviewing. These comments are non-blocking by nature, but they are extremely valuable and can lead to more focused initiatives and mentoring opportunities</td></tr><tr class=\"evenRow\"><td align=\"left\">chore</td><td align=\"left\">Chores are simple tasks that must be done before the subject can be “officially” accepted. Usually, these comments reference some common process. Try to leave a link to the process description so that the reader knows how to resolve the chore</td></tr></tbody></table><h1 class=\"\">Contributor License Agreement</h1><p>Like other <a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/OpenSource.html\">OpenSource</a> projects, <a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/TiddlyWiki5.html\">TiddlyWiki5</a> needs a signed contributor license agreement from individual contributors. This is a legal agreement that allows contributors to assert that they own the copyright of their contribution, and that they agree to license it to the <a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/UnaMesa.html\">UnaMesa</a> Association (the legal entity that owns <a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/TiddlyWiki.html\">TiddlyWiki</a> on behalf of the community).</p><ul><li>For individuals use: <a class=\"tc-tiddlylink-external\" href=\"https://github.com/TiddlyWiki/TiddlyWiki5/tree/tiddlywiki-com/licenses/cla-individual.md\" rel=\"noopener noreferrer\" target=\"_blank\">licenses/CLA-individual</a></li><li>For entities use: <a class=\"tc-tiddlylink-external\" href=\"https://github.com/TiddlyWiki/TiddlyWiki5/tree/tiddlywiki-com/licenses/cla-entity.md\" rel=\"noopener noreferrer\" target=\"_blank\">licenses/CLA-entity</a></li></ul><h1 class=\"\">How to sign the CLA</h1><p>Create a <a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/GitHub.html\">GitHub</a> pull request to add your name to <code>cla-individual.md</code> or <code>cla-entity.md</code>, with the date in the format (YYYY/MM/DD).</p><p><strong>step by step</strong></p><ol><li>Navigate to <a class=\"tc-tiddlylink-external\" href=\"https://github.com/TiddlyWiki/TiddlyWiki5/tree/tiddlywiki-com/licenses/cla-individual.md\" rel=\"noopener noreferrer\" target=\"_blank\">licenses/CLA-individual</a> or <a class=\"tc-tiddlylink-external\" href=\"https://github.com/TiddlyWiki/TiddlyWiki5/tree/tiddlywiki-com/licenses/cla-entity.md\" rel=\"noopener noreferrer\" target=\"_blank\">licenses/CLA-entity</a> according to whether you are signing as an individual or representative of an organisation</li><li>Ensure that the \"branch\" dropdown at the top left is set to <code>tiddlywiki-com</code></li><li>Click the \"edit\" button at the top-right corner (clicking this button will fork the project so you can edit the file)</li><li>Add your name at the bottom<ul><li>eg: <code>Jeremy Ruston, @Jermolene, 2011/11/22</code></li></ul></li><li>Below the edit box for the CLA text you should see a box labelled <strong>Propose file change</strong></li><li>Enter a brief title to explain the change (eg, \"Signing the CLA\")</li><li>Click the green button labelled <strong>Propose file change</strong></li><li>On the following screen, click the green button labelled <strong>Create pull request</strong></li></ol><hr><p><em>The CLA documents used for this project were created using <a class=\"tc-tiddlylink-external\" href=\"http://www.harmonyagreements.org\" rel=\"noopener noreferrer\" target=\"_blank\">Harmony Project Templates</a>. \"HA-CLA-I-LIST Version 1.0\" for \"CLA-individual\" and \"HA-CLA-E-LIST Version 1.0\" for \"CLA-entity\".</em>\n</p><p><em>This file was automatically generated by <a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/TiddlyWiki5.html\">TiddlyWiki5</a></em>\n</p>"
  },
  {
    "path": "core/acknowledgements.tid",
    "content": "title: $:/Acknowledgements\n\nTiddlyWiki incorporates code from these fine OpenSource projects:\n\n* [[The Stanford Javascript Crypto Library|http://bitwiseshiftleft.github.io/sjcl/]]\n* [[The Jasmine JavaScript Test Framework|https://jasmine.github.io/]]\n* [[modern-normalize by Sindre Sorhus|https://github.com/sindresorhus/modern-normalize]]\n* [[diff-match-patch-es by antfu|https://github.com/antfu/diff-match-patch-es]]\n"
  },
  {
    "path": "core/copyright.tid",
    "content": "title: $:/core/copyright.txt\ntype: text/plain\n\nTiddlyWiki created by Jeremy Ruston, (jeremy [at] jermolene [dot] com)\n\nCopyright (c) 2004-2007, Jeremy Ruston\nCopyright (c) 2007-2025, UnaMesa Association\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n  list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n  this list of conditions and the following disclaimer in the documentation\n  and/or other materials provided with the distribution.\n\n* Neither the name of the copyright holder nor the names of its\n  contributors may be used to endorse or promote products derived from\n  this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
  },
  {
    "path": "core/icon.tid",
    "content": "title: $:/core/icon\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> viewBox=\"0 0 128 128\"><path d=\"M64 0l54.56 32v64L64 128 9.44 96V32L64 0zm21.127 95.408c-3.578-.103-5.15-.094-6.974-3.152l-1.42.042c-1.653-.075-.964-.04-2.067-.097-1.844-.07-1.548-1.86-1.873-2.8-.52-3.202.687-6.43.65-9.632-.014-1.14-1.593-5.17-2.157-6.61-1.768.34-3.546.406-5.34.497-4.134-.01-8.24-.527-12.317-1.183-.8 3.35-3.16 8.036-1.21 11.44 2.37 3.52 4.03 4.495 6.61 4.707 2.572.212 3.16 3.18 2.53 4.242-.55.73-1.52.864-2.346 1.04l-1.65.08c-1.296-.046-2.455-.404-3.61-.955-1.93-1.097-3.925-3.383-5.406-5.024.345.658.55 1.938.24 2.53-.878 1.27-4.665 1.26-6.4.47-1.97-.89-6.73-7.162-7.468-11.86 1.96-3.78 4.812-7.07 6.255-11.186-3.146-2.05-4.83-5.384-4.61-9.16l.08-.44c-3.097.59-1.49.37-4.82.628-10.608-.032-19.935-7.37-14.68-18.774.34-.673.664-1.287 1.243-.994.466.237.4 1.18.166 2.227-3.005 13.627 11.67 13.732 20.69 11.21.89-.25 2.67-1.936 3.905-2.495 2.016-.91 4.205-1.282 6.376-1.55 5.4-.63 11.893 2.276 15.19 2.37 3.3.096 7.99-.805 10.87-.615 2.09.098 4.143.483 6.16 1.03 1.306-6.49 1.4-11.27 4.492-12.38 1.814.293 3.213 2.818 4.25 4.167 2.112-.086 4.12.46 6.115 1.066 3.61-.522 6.642-2.593 9.833-4.203-3.234 2.69-3.673 7.075-3.303 11.127.138 2.103-.444 4.386-1.164 6.54-1.348 3.507-3.95 7.204-6.97 7.014-1.14-.036-1.805-.695-2.653-1.4-.164 1.427-.81 2.7-1.434 3.96-1.44 2.797-5.203 4.03-8.687 7.016-3.484 2.985 1.114 13.65 2.23 15.594 1.114 1.94 4.226 2.652 3.02 4.406-.37.58-.936.785-1.54 1.01l-.82.11zm-40.097-8.85l.553.14c.694-.27 2.09.15 2.83.353-1.363-1.31-3.417-3.24-4.897-4.46-.485-1.47-.278-2.96-.174-4.46l.02-.123c-.582 1.205-1.322 2.376-1.72 3.645-.465 1.71 2.07 3.557 3.052 4.615l.336.3z\" fill-rule=\"evenodd\"/></svg>"
  },
  {
    "path": "core/images/add-comment.tid",
    "content": "title: $:/core/images/add-comment\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-add-comment tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M56 56H36a8 8 0 100 16h20v20a8 8 0 1016 0V72h20a8 8 0 100-16H72V36a8 8 0 10-16 0v20zm-12.595 58.362c-6.683 7.659-20.297 12.903-36.006 12.903-2.196 0-4.35-.102-6.451-.3 9.652-3.836 17.356-12.24 21.01-22.874C8.516 94.28 0 79.734 0 63.5 0 33.953 28.206 10 63 10s63 23.953 63 53.5S97.794 117 63 117c-6.841 0-13.428-.926-19.595-2.638z\"/></svg>"
  },
  {
    "path": "core/images/advanced-search-button.tid",
    "content": "title: $:/core/images/advanced-search-button\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-advanced-search-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M74.565 87.985A47.776 47.776 0 0148 96C21.49 96 0 74.51 0 48S21.49 0 48 0s48 21.49 48 48c0 9.854-2.97 19.015-8.062 26.636l34.347 34.347a9.443 9.443 0 010 13.36 9.446 9.446 0 01-13.36 0l-34.36-34.358zM48 80c17.673 0 32-14.327 32-32 0-17.673-14.327-32-32-32-17.673 0-32 14.327-32 32 0 17.673 14.327 32 32 32z\"/><circle cx=\"48\" cy=\"48\" r=\"8\"/><circle cx=\"28\" cy=\"48\" r=\"8\"/><circle cx=\"68\" cy=\"48\" r=\"8\"/></g></svg>"
  },
  {
    "path": "core/images/auto-height.tid",
    "content": "title: $:/core/images/auto-height\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-auto-height tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M67.987 114.356l-.029-14.477a4 4 0 00-2.067-3.494l-15.966-8.813-1.933 7.502H79.9c4.222 0 5.564-5.693 1.786-7.58L49.797 71.572 48.01 79.15h31.982c4.217 0 5.564-5.682 1.795-7.575L49.805 55.517l-1.795 7.575h31.982c4.212 0 5.563-5.67 1.805-7.57l-16.034-8.105 2.195 3.57V35.614l9.214 9.213a4 4 0 105.656-5.656l-16-16a4 4 0 00-5.656 0l-16 16a4 4 0 105.656 5.656l9.13-9.13v15.288a4 4 0 002.195 3.57l16.035 8.106 1.804-7.57H48.01c-4.217 0-5.564 5.682-1.795 7.574l31.982 16.059 1.795-7.575H48.01c-4.222 0-5.564 5.693-1.787 7.579l31.89 15.923 1.787-7.578H47.992c-4.133 0-5.552 5.504-1.933 7.501l15.966 8.813-2.067-3.494.029 14.436-9.159-9.158a4 4 0 00-5.656 5.656l16 16a4 4 0 005.656 0l16-16a4 4 0 10-5.656-5.656l-9.185 9.184zM16 20h96a4 4 0 100-8H16a4 4 0 100 8z\"/></svg>"
  },
  {
    "path": "core/images/blank.tid",
    "content": "title: $:/core/images/blank\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-blank tc-image-button\" viewBox=\"0 0 128 128\"/>"
  },
  {
    "path": "core/images/bold.tid",
    "content": "title: $:/core/images/bold\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-bold tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M41.146 51.81V21.87h26.353c2.51 0 4.93.21 7.26.628 2.33.418 4.392 1.165 6.185 2.24 1.793 1.076 3.227 2.57 4.302 4.482 1.076 1.913 1.614 4.363 1.614 7.35 0 5.379-1.613 9.263-4.84 11.653-3.227 2.39-7.35 3.586-12.37 3.586H41.146zM13 0v128h62.028a65.45 65.45 0 0016.762-2.151c5.438-1.434 10.278-3.645 14.52-6.633 4.244-2.988 7.62-6.842 10.13-11.563 2.51-4.721 3.764-10.308 3.764-16.762 0-8.008-1.942-14.85-5.826-20.527-3.884-5.677-9.77-9.65-17.658-11.921 5.737-2.75 10.069-6.275 12.997-10.577 2.928-4.303 4.392-9.681 4.392-16.135 0-5.976-.986-10.995-2.958-15.059-1.972-4.063-4.75-7.32-8.336-9.77-3.585-2.45-7.888-4.213-12.907-5.289C84.888.538 79.33 0 73.235 0H13zm28.146 106.129V70.992H71.8c6.095 0 10.995 1.404 14.7 4.212 3.705 2.81 5.558 7.5 5.558 14.073 0 3.347-.568 6.096-1.703 8.247-1.136 2.151-2.66 3.854-4.572 5.11-1.912 1.254-4.123 2.15-6.633 2.688-2.51.538-5.139.807-7.888.807H41.146z\"/></svg>"
  },
  {
    "path": "core/images/cancel-button.tid",
    "content": "title: $:/core/images/cancel-button\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-cancel-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M64 76.314l-16.97 16.97a7.999 7.999 0 01-11.314 0c-3.118-3.118-3.124-8.19 0-11.313L52.686 65l-16.97-16.97a7.999 7.999 0 010-11.314c3.118-3.118 8.19-3.124 11.313 0L64 53.686l16.97-16.97a7.999 7.999 0 0111.314 0c3.118 3.118 3.124 8.19 0 11.313L75.314 65l16.97 16.97a7.999 7.999 0 010 11.314c-3.118 3.118-8.19 3.124-11.313 0L64 76.314zM64 129c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 1 0 29.654 0 65c0 35.346 28.654 64 64 64zm0-16c26.51 0 48-21.49 48-48S90.51 17 64 17 16 38.49 16 65s21.49 48 48 48z\"/></svg>"
  },
  {
    "path": "core/images/chevron-down.tid",
    "content": "title: $:/core/images/chevron-down\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-chevron-down tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M64.053 85.456a7.889 7.889 0 01-5.6-2.316L2.473 27.16a7.92 7.92 0 010-11.196c3.086-3.085 8.105-3.092 11.196 0L64.05 66.344l50.382-50.382a7.92 7.92 0 0111.195 0c3.085 3.086 3.092 8.105 0 11.196l-55.98 55.98a7.892 7.892 0 01-5.595 2.317z\"/><path d=\"M64.053 124.069a7.889 7.889 0 01-5.6-2.316l-55.98-55.98a7.92 7.92 0 010-11.196c3.086-3.085 8.105-3.092 11.196 0l50.382 50.382 50.382-50.382a7.92 7.92 0 0111.195 0c3.085 3.086 3.092 8.104 0 11.196l-55.98 55.98a7.892 7.892 0 01-5.595 2.316z\"/></g></svg>"
  },
  {
    "path": "core/images/chevron-left.tid",
    "content": "title: $:/core/images/chevron-left\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-chevron-left tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M47.544 64.053c0-2.027.77-4.054 2.316-5.6l55.98-55.98a7.92 7.92 0 0111.196 0c3.085 3.086 3.092 8.105 0 11.196L66.656 64.05l50.382 50.382a7.92 7.92 0 010 11.195c-3.086 3.085-8.105 3.092-11.196 0l-55.98-55.98a7.892 7.892 0 01-2.317-5.595z\"/><path d=\"M8.931 64.053c0-2.027.77-4.054 2.316-5.6l55.98-55.98a7.92 7.92 0 0111.196 0c3.085 3.086 3.092 8.105 0 11.196L28.041 64.05l50.382 50.382a7.92 7.92 0 010 11.195c-3.086 3.085-8.104 3.092-11.196 0l-55.98-55.98a7.892 7.892 0 01-2.316-5.595z\"/></g></svg>"
  },
  {
    "path": "core/images/chevron-right.tid",
    "content": "title: $:/core/images/chevron-right\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-chevron-right tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M83.456 63.947c0 2.027-.77 4.054-2.316 5.6l-55.98 55.98a7.92 7.92 0 01-11.196 0c-3.085-3.086-3.092-8.105 0-11.196L64.344 63.95 13.963 13.567a7.92 7.92 0 010-11.195c3.086-3.085 8.105-3.092 11.196 0l55.98 55.98a7.892 7.892 0 012.317 5.595z\"/><path d=\"M122.069 63.947c0 2.027-.77 4.054-2.316 5.6l-55.98 55.98a7.92 7.92 0 01-11.196 0c-3.085-3.086-3.092-8.105 0-11.196l50.382-50.382-50.382-50.382a7.92 7.92 0 010-11.195c3.086-3.085 8.104-3.092 11.196 0l55.98 55.98a7.892 7.892 0 012.316 5.595z\"/></g></svg>"
  },
  {
    "path": "core/images/chevron-up.tid",
    "content": "title: $:/core/images/chevron-up\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-chevron-up tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M63.947 44.544c2.027 0 4.054.77 5.6 2.316l55.98 55.98a7.92 7.92 0 010 11.196c-3.086 3.085-8.105 3.092-11.196 0L63.95 63.656l-50.382 50.382a7.92 7.92 0 01-11.195 0c-3.085-3.086-3.092-8.105 0-11.196l55.98-55.98a7.892 7.892 0 015.595-2.317z\"/><path d=\"M63.947 5.931c2.027 0 4.054.77 5.6 2.316l55.98 55.98a7.92 7.92 0 010 11.196c-3.086 3.085-8.105 3.092-11.196 0L63.95 25.041 13.567 75.423a7.92 7.92 0 01-11.195 0c-3.085-3.086-3.092-8.104 0-11.196l55.98-55.98a7.892 7.892 0 015.595-2.316z\"/></g></svg>"
  },
  {
    "path": "core/images/clone-button.tid",
    "content": "title: $:/core/images/clone-button\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-clone-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M32.265 96v24.002A7.996 7.996 0 0040.263 128h79.74a7.996 7.996 0 007.997-7.998v-79.74a7.996 7.996 0 00-7.998-7.997H96V48h12.859a2.99 2.99 0 012.994 2.994v57.865a2.99 2.99 0 01-2.994 2.994H50.994A2.99 2.99 0 0148 108.859V96H32.265z\"/><path d=\"M40 56h-7.993C27.588 56 24 52.418 24 48c0-4.41 3.585-8 8.007-8H40v-7.993C40 27.588 43.582 24 48 24c4.41 0 8 3.585 8 8.007V40h7.993C68.412 40 72 43.582 72 48c0 4.41-3.585 8-8.007 8H56v7.993C56 68.412 52.418 72 48 72c-4.41 0-8-3.585-8-8.007V56zM8 0C3.58 0 0 3.588 0 8v80c0 4.419 3.588 8 8 8h80c4.419 0 8-3.588 8-8V8c0-4.419-3.588-8-8-8H8zM19 16A2.997 2.997 0 0016 19.001v57.998A2.997 2.997 0 0019.001 80h57.998A2.997 2.997 0 0080 76.999V19.001A2.997 2.997 0 0076.999 16H19.001z\"/></g></svg>"
  },
  {
    "path": "core/images/close-all-button.tid",
    "content": "title: $:/core/images/close-all-button\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-close-all-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M28 111.314l-14.144 14.143a8 8 0 01-11.313-11.313L16.686 100 2.543 85.856a8 8 0 0111.313-11.313L28 88.686l14.144-14.143a8 8 0 0111.313 11.313L39.314 100l14.143 14.144a8 8 0 01-11.313 11.313L28 111.314zM28 39.314L13.856 53.457A8 8 0 012.543 42.144L16.686 28 2.543 13.856A8 8 0 0113.856 2.543L28 16.686 42.144 2.543a8 8 0 0111.313 11.313L39.314 28l14.143 14.144a8 8 0 01-11.313 11.313L28 39.314zM100 39.314L85.856 53.457a8 8 0 01-11.313-11.313L88.686 28 74.543 13.856A8 8 0 0185.856 2.543L100 16.686l14.144-14.143a8 8 0 0111.313 11.313L111.314 28l14.143 14.144a8 8 0 01-11.313 11.313L100 39.314zM100 111.314l-14.144 14.143a8 8 0 01-11.313-11.313L88.686 100 74.543 85.856a8 8 0 0111.313-11.313L100 88.686l14.144-14.143a8 8 0 0111.313 11.313L111.314 100l14.143 14.144a8 8 0 01-11.313 11.313L100 111.314z\"/></g></svg>"
  },
  {
    "path": "core/images/close-button.tid",
    "content": "title: $:/core/images/close-button\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-close-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M65.086 75.41l-50.113 50.113c-3.121 3.121-8.192 3.126-11.316.002-3.118-3.118-3.123-8.19.002-11.316l50.114-50.114L3.659 13.982C.538 10.86.533 5.79 3.657 2.666c3.118-3.118 8.19-3.123 11.316.002l50.113 50.114L115.2 2.668c3.121-3.121 8.192-3.126 11.316-.002 3.118 3.118 3.123 8.19-.002 11.316L76.4 64.095l50.114 50.114c3.121 3.121 3.126 8.192.002 11.316-3.118 3.118-8.19 3.123-11.316-.002L65.086 75.409z\"/></svg>"
  },
  {
    "path": "core/images/close-others-button.tid",
    "content": "title: $:/core/images/close-others-button\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-close-others-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64zm0-16c26.51 0 48-21.49 48-48S90.51 16 64 16 16 37.49 16 64s21.49 48 48 48zm0-16c17.673 0 32-14.327 32-32 0-17.673-14.327-32-32-32-17.673 0-32 14.327-32 32 0 17.673 14.327 32 32 32zm0-16c8.837 0 16-7.163 16-16s-7.163-16-16-16-16 7.163-16 16 7.163 16 16 16z\"/></svg>"
  },
  {
    "path": "core/images/copy-clipboard.tid",
    "content": "title: $:/core/images/copy-clipboard\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-copy-clipboard tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"33\" height=\"8\" x=\"40\" y=\"40\" rx=\"4\"/><rect width=\"17\" height=\"8\" x=\"40\" y=\"82\" rx=\"4\"/><rect width=\"17\" height=\"8\" x=\"40\" y=\"54\" rx=\"4\"/><rect width=\"33\" height=\"8\" x=\"40\" y=\"96\" rx=\"4\"/><rect width=\"12\" height=\"8\" x=\"40\" y=\"68\" rx=\"4\"/><path d=\"M40 16H24c-4.419 0-8 3.59-8 8a8.031 8.031 0 000 .01v95.98a8.03 8.03 0 000 .01c0 4.41 3.581 8 8 8h80a7.975 7.975 0 005.652-2.34 7.958 7.958 0 002.348-5.652v-16.016c0-4.414-3.582-7.992-8-7.992-4.41 0-8 3.578-8 7.992V112H32V32h64v8.008C96 44.422 99.582 48 104 48c4.41 0 8-3.578 8-7.992V23.992a7.963 7.963 0 00-2.343-5.651A7.995 7.995 0 00104.001 16H88c0-4.41-3.585-8-8.007-8H48.007C43.588 8 40 11.582 40 16zm4-1.004A4.001 4.001 0 0148 11h32c2.21 0 4 1.797 4 3.996v4.008A4.001 4.001 0 0180 23H48c-2.21 0-4-1.797-4-3.996v-4.008z\"/><rect width=\"66\" height=\"16\" x=\"62\" y=\"64\" rx=\"8\"/><path d=\"M84.657 82.343l-16-16v11.314l16-16a8 8 0 10-11.314-11.314l-16 16a8 8 0 000 11.314l16 16a8 8 0 1011.314-11.314z\"/></g></svg>"
  },
  {
    "path": "core/images/delete-button.tid",
    "content": "title: $:/core/images/delete-button\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-delete-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\" transform=\"translate(12)\"><rect width=\"105\" height=\"16\" y=\"11\" rx=\"8\"/><rect width=\"48\" height=\"16\" x=\"28\" rx=\"8\"/><rect width=\"16\" height=\"112\" x=\"8\" y=\"16\" rx=\"8\"/><rect width=\"88\" height=\"16\" x=\"8\" y=\"112\" rx=\"8\"/><rect width=\"16\" height=\"112\" x=\"80\" y=\"16\" rx=\"8\"/><rect width=\"16\" height=\"112\" x=\"56\" y=\"16\" rx=\"8\"/><rect width=\"16\" height=\"112\" x=\"32\" y=\"16\" rx=\"8\"/></g></svg>"
  },
  {
    "path": "core/images/discord.tid",
    "content": "title: $:/core/images/discord\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-discord tc-image-button\" viewBox=\"0 -28.5 256 256\"><path d=\"M216.856 16.597A208.502 208.502 0 0 0 164.042 0c-2.275 4.113-4.933 9.645-6.766 14.046-19.692-2.961-39.203-2.961-58.533 0-1.832-4.4-4.55-9.933-6.846-14.046a207.809 207.809 0 0 0-52.855 16.638C5.618 67.147-3.443 116.4 1.087 164.956c22.169 16.555 43.653 26.612 64.775 33.193A161.094 161.094 0 0 0 79.735 175.3a136.413 136.413 0 0 1-21.846-10.632 108.636 108.636 0 0 0 5.356-4.237c42.122 19.702 87.89 19.702 129.51 0a131.66 131.66 0 0 0 5.355 4.237 136.07 136.07 0 0 1-21.886 10.653c4.006 8.02 8.638 15.67 13.873 22.848 21.142-6.58 42.646-16.637 64.815-33.213 5.316-56.288-9.08-105.09-38.056-148.36ZM85.474 135.095c-12.645 0-23.015-11.805-23.015-26.18s10.149-26.2 23.015-26.2c12.867 0 23.236 11.804 23.015 26.2.02 14.375-10.148 26.18-23.015 26.18Zm85.051 0c-12.645 0-23.014-11.805-23.014-26.18s10.148-26.2 23.014-26.2c12.867 0 23.236 11.804 23.015 26.2 0 14.375-10.148 26.18-23.015 26.18Z\"/></svg>"
  },
  {
    "path": "core/images/done-button.tid",
    "content": "title: $:/core/images/done-button\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-done-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M42.26 111.032c-2.051.001-4.103-.78-5.668-2.345L2.662 74.758a8 8 0 01-.005-11.32c3.118-3.117 8.192-3.12 11.32.007l28.278 28.278 72.124-72.124a8.002 8.002 0 0111.314-.001c3.118 3.118 3.124 8.19 0 11.315l-77.78 77.78a7.978 7.978 0 01-5.658 2.343z\"/></svg>"
  },
  {
    "path": "core/images/down-arrow.tid",
    "content": "title: $:/core/images/down-arrow\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-down-arrow tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M64.177 100.069a7.889 7.889 0 01-5.6-2.316l-55.98-55.98a7.92 7.92 0 010-11.196c3.086-3.085 8.105-3.092 11.196 0l50.382 50.382 50.382-50.382a7.92 7.92 0 0111.195 0c3.086 3.086 3.092 8.104 0 11.196l-55.98 55.98a7.892 7.892 0 01-5.595 2.316z\"/></svg>"
  },
  {
    "path": "core/images/download-button.tid",
    "content": "title: $:/core/images/download-button\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-download-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64zm0-16c26.51 0 48-21.49 48-48S90.51 16 64 16 16 37.49 16 64s21.49 48 48 48z\" class=\"tc-image-download-button-ring\"/><path d=\"M34.35 66.43l26.892 27.205a4.57 4.57 0 006.516 0L94.65 66.43a4.7 4.7 0 000-6.593 4.581 4.581 0 00-3.258-1.365h-8.46c-2.545 0-4.608-2.087-4.608-4.661v-15.15c0-2.575-2.063-4.662-4.608-4.662H55.284c-2.545 0-4.608 2.087-4.608 4.662v15.15c0 2.574-2.063 4.661-4.608 4.661h-8.46c-2.545 0-4.608 2.087-4.608 4.662a4.69 4.69 0 001.35 3.296z\"/></g></svg>"
  },
  {
    "path": "core/images/edit-button.tid",
    "content": "title: $:/core/images/edit-button\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-edit-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M95.627 10.059l-5.656 5.657 11.313 11.313 5.657-5.656-11.314-11.314zm5.657-5.657l1.966-1.966c3.123-3.122 8.194-3.129 11.319-.005 3.117 3.118 3.122 8.192-.005 11.32l-1.966 1.965-11.314-11.314zm-16.97 16.97l-60.25 60.25a8.12 8.12 0 00-.322.342c-.1.087-.198.179-.295.275-5.735 5.735-10.702 22.016-10.702 22.016s16.405-5.09 22.016-10.702c.095-.096.186-.193.272-.292a8.12 8.12 0 00.345-.325l60.25-60.25-11.314-11.313zM35.171 124.19c6.788-.577 13.898-2.272 23.689-5.348 1.825-.573 3.57-1.136 6.336-2.04 16-5.226 21.877-6.807 28.745-7.146 8.358-.413 13.854 2.13 17.58 8.699a4 4 0 006.959-3.946c-5.334-9.406-13.745-13.296-24.933-12.744-7.875.39-14.057 2.052-30.835 7.533-2.739.894-4.46 1.45-6.25 2.012-19.46 6.112-30.77 7.072-39.597 1.747a4 4 0 10-4.132 6.85c6.333 3.82 13.754 5.12 22.438 4.383z\"/></g></svg>"
  },
  {
    "path": "core/images/erase.tid",
    "content": "title: $:/core/images/erase\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-erase tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M60.087 127.996l63.015-63.015c6.535-6.535 6.528-17.115-.003-23.646L99.466 17.702c-6.539-6.538-17.117-6.532-23.646-.003L4.898 88.62c-6.535 6.534-6.528 17.115.003 23.646l15.73 15.73h39.456zm-34.95-7.313l-14.324-14.325c-3.267-3.268-3.268-8.564-.008-11.824L46.269 59.07l35.462 35.462-26.15 26.15H25.137z\"/></svg>"
  },
  {
    "path": "core/images/excise.tid",
    "content": "title: $:/core/images/excise\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-excise tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M56 107.314l-2.343 2.343a8 8 0 11-11.314-11.314l16-16a8 8 0 0111.314 0l16 16a8 8 0 11-11.314 11.314L72 107.314v14.284c0 3.536-3.582 6.402-8 6.402s-8-2.866-8-6.402v-14.284zM0 40.007C0 35.585 3.59 32 8 32c4.418 0 8 3.588 8 8.007v31.986C16 76.415 12.41 80 8 80c-4.418 0-8-3.588-8-8.007V40.007zm32 0C32 35.585 35.59 32 40 32c4.418 0 8 3.588 8 8.007v31.986C48 76.415 44.41 80 40 80c-4.418 0-8-3.588-8-8.007V40.007zm48 0C80 35.585 83.59 32 88 32c4.418 0 8 3.588 8 8.007v31.986C96 76.415 92.41 80 88 80c-4.418 0-8-3.588-8-8.007V40.007zm-24-32C56 3.585 59.59 0 64 0c4.418 0 8 3.588 8 8.007v31.986C72 44.415 68.41 48 64 48c-4.418 0-8-3.588-8-8.007V8.007zm56 32c0-4.422 3.59-8.007 8-8.007 4.418 0 8 3.588 8 8.007v31.986c0 4.422-3.59 8.007-8 8.007-4.418 0-8-3.588-8-8.007V40.007z\"/></svg>"
  },
  {
    "path": "core/images/export-button.tid",
    "content": "title: $:/core/images/export-button\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-export-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M8.003 128H119.993a7.984 7.984 0 005.664-2.349v.007A7.975 7.975 0 00128 120V56c0-4.418-3.59-8-8-8-4.418 0-8 3.58-8 8v56H16V56c0-4.418-3.59-8-8-8-4.418 0-8 3.58-8 8v64c0 4.418 3.59 8 8 8h.003zm48.62-100.689l-8.965 8.966c-3.125 3.125-8.195 3.13-11.319.005-3.118-3.118-3.122-8.192.005-11.319L58.962 2.346A7.986 7.986 0 0164.625 0l-.006.002c2.05-.001 4.102.78 5.666 2.344l22.618 22.617c3.124 3.125 3.129 8.195.005 11.319-3.118 3.118-8.192 3.122-11.319-.005l-8.965-8.966v61.256c0 4.411-3.582 8-8 8-4.41 0-8-3.582-8-8V27.311z\"/></svg>"
  },
  {
    "path": "core/images/file.tid",
    "content": "title: $:/core/images/file\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-file tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M111.968 30.5H112V120a8 8 0 01-8 8H24a8 8 0 01-8-8V8a8 8 0 018-8h57v.02a7.978 7.978 0 015.998 2.337l22.627 22.627a7.975 7.975 0 012.343 5.516zM81 8H24v112h80V30.5H89c-4.418 0-8-3.578-8-8V8z\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"36\" rx=\"4\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"52\" rx=\"4\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"68\" rx=\"4\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"84\" rx=\"4\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"100\" rx=\"4\"/><rect width=\"40\" height=\"8\" x=\"32\" y=\"20\" rx=\"4\"/></svg>"
  },
  {
    "path": "core/images/fixed-height.tid",
    "content": "title: $:/core/images/fixed-height\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-fixed-height tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M60 35.657l-9.172 9.171a4 4 0 11-5.656-5.656l16-16a4 4 0 015.656 0l16 16a4 4 0 01-5.656 5.656L68 35.657v57.686l9.172-9.171a4 4 0 115.656 5.656l-16 16a4 4 0 01-5.656 0l-16-16a4 4 0 115.656-5.656L60 93.343V35.657zM16 116h96a4 4 0 100-8H16a4 4 0 100 8zm0-96h96a4 4 0 100-8H16a4 4 0 100 8z\"/></svg>"
  },
  {
    "path": "core/images/fold-all-button.tid",
    "content": "title: $:/core/images/fold-all-button\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-fold-all tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"128\" height=\"16\" rx=\"8\"/><rect width=\"128\" height=\"16\" y=\"64\" rx=\"8\"/><path d=\"M64.03 20.004c-2.05 0-4.102.78-5.667 2.344L35.746 44.966c-3.125 3.124-3.13 8.194-.005 11.318 3.118 3.118 8.192 3.122 11.319-.005l16.965-16.965 16.966 16.965c3.124 3.125 8.194 3.13 11.318.005 3.118-3.118 3.122-8.191-.005-11.318L69.687 22.348a7.986 7.986 0 00-5.663-2.346zM64.03 85.002c-2.05-.001-4.102.78-5.667 2.344l-22.617 22.617c-3.125 3.125-3.13 8.195-.005 11.319 3.118 3.118 8.192 3.122 11.319-.005l16.965-16.966 16.966 16.966c3.124 3.125 8.194 3.13 11.318.005 3.118-3.118 3.122-8.192-.005-11.319L69.687 87.346A7.986 7.986 0 0064.024 85z\"/></g></svg>"
  },
  {
    "path": "core/images/fold-button.tid",
    "content": "title: $:/core/images/fold-button\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-fold tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"128\" height=\"16\" rx=\"8\"/><path d=\"M64.03 25.004c-2.05 0-4.102.78-5.667 2.344L35.746 49.966c-3.125 3.124-3.13 8.194-.005 11.318 3.118 3.118 8.192 3.122 11.319-.005l16.965-16.965 16.966 16.965c3.124 3.125 8.194 3.13 11.318.005 3.118-3.118 3.122-8.191-.005-11.318L69.687 27.348a7.986 7.986 0 00-5.663-2.346zM64.005 67.379c-2.05 0-4.102.78-5.666 2.344L35.722 92.34c-3.125 3.125-3.13 8.195-.006 11.32 3.118 3.117 8.192 3.121 11.32-.006L64 86.69l16.965 16.965c3.125 3.125 8.195 3.13 11.319.005 3.118-3.118 3.122-8.192-.005-11.319L69.663 69.723A7.986 7.986 0 0064 67.377z\"/></g></svg>"
  },
  {
    "path": "core/images/fold-others-button.tid",
    "content": "title: $:/core/images/fold-others-button\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-fold-others tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"128\" height=\"16\" y=\"56.031\" rx=\"8\"/><path d=\"M86.632 79.976c-2.05 0-4.102.78-5.666 2.345L64 99.286 47.034 82.321a7.986 7.986 0 00-5.662-2.346l.005.001c-2.05 0-4.102.78-5.666 2.345l-22.618 22.617c-3.124 3.125-3.129 8.195-.005 11.319 3.118 3.118 8.192 3.122 11.319-.005l16.966-16.966 16.965 16.966a7.986 7.986 0 005.663 2.346l-.005-.002c2.05 0 4.102-.78 5.666-2.344l16.965-16.966 16.966 16.966c3.125 3.124 8.194 3.129 11.319.005 3.118-3.118 3.122-8.192-.005-11.319L92.289 82.321a7.986 7.986 0 00-5.663-2.346zM86.7 48.024c-2.05 0-4.102-.78-5.666-2.345L64.07 28.714 47.103 45.679a7.986 7.986 0 01-5.663 2.346l.005-.001c-2.05 0-4.101-.78-5.666-2.345L13.162 23.062c-3.125-3.125-3.13-8.195-.005-11.319 3.118-3.118 8.192-3.122 11.319.005L41.44 28.714l16.966-16.966a7.986 7.986 0 015.662-2.346l-.005.002c2.05 0 4.102.78 5.666 2.344l16.966 16.966 16.966-16.966c3.124-3.124 8.194-3.129 11.318-.005 3.118 3.118 3.122 8.192-.005 11.319L92.358 45.679a7.986 7.986 0 01-5.663 2.346z\"/></g></svg>"
  },
  {
    "path": "core/images/folder.tid",
    "content": "title: $:/core/images/folder\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-folder tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M55.694 128H8C3.58 128 0 124.414 0 119.996V48.004C0 43.584 3.584 40 7.999 40H16v-8c0-4.418 3.578-8 8-8h32a8 8 0 018 8v8h40.001c4.418 0 7.999 3.586 7.999 8.004V59.83l-8-.082v-7.749A4 4 0 0099.997 48H56V36c0-2.21-1.793-4-4.004-4H28.004A4 4 0 0024 36v12H12.003A4 4 0 008 52v64a4 4 0 004.003 4h46.76l-3.069 8z\"/><path d=\"M23.873 55.5h96.003c4.417 0 7.004 4.053 5.774 9.063l-13.344 54.374c-1.228 5.005-5.808 9.063-10.223 9.063H6.08c-4.417 0-7.003-4.053-5.774-9.063L13.65 64.563c1.228-5.005 5.808-9.063 10.223-9.063zm1.78 8.5h87.994c2.211 0 3.504 2.093 2.891 4.666l-11.12 46.668c-.614 2.577-2.902 4.666-5.115 4.666H12.31c-2.211 0-3.504-2.093-2.891-4.666l11.12-46.668C21.152 66.09 23.44 64 25.653 64z\"/></g></svg>"
  },
  {
    "path": "core/images/full-screen-button.tid",
    "content": "title: $:/core/images/full-screen-button\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-full-screen-button tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M0 8a8 8 0 018-8h32a8 8 0 110 16H16v24a8 8 0 11-16 0V8zM128 120a8 8 0 01-8 8H88a8 8 0 110-16h24V88a8 8 0 1116 0v32zM8 128a8 8 0 01-8-8V88a8 8 0 1116 0v24h24a8 8 0 110 16H8zM120 0a8 8 0 018 8v32a8 8 0 11-16 0V16H88a8 8 0 110-16h32z\"/></svg>"
  },
  {
    "path": "core/images/github.tid",
    "content": "title: $:/core/images/github\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-github tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M63.938 1.607c-35.336 0-63.994 28.69-63.994 64.084 0 28.312 18.336 52.329 43.768 60.802 3.202.59 4.37-1.388 4.37-3.088 0-1.518-.056-5.55-.087-10.897-17.802 3.871-21.558-8.591-21.558-8.591-2.911-7.404-7.108-9.375-7.108-9.375-5.81-3.973.44-3.895.44-3.895 6.424.453 9.803 6.606 9.803 6.606 5.709 9.791 14.981 6.963 18.627 5.322.582-4.138 2.236-6.963 4.063-8.564-14.211-1.617-29.153-7.117-29.153-31.672 0-6.995 2.495-12.718 6.589-17.195-.66-1.621-2.856-8.14.629-16.96 0 0 5.37-1.722 17.597 6.57 5.104-1.424 10.58-2.132 16.022-2.16 5.438.028 10.91.736 16.022 2.16 12.22-8.292 17.582-6.57 17.582-6.57 3.493 8.82 1.297 15.339.64 16.96 4.102 4.477 6.578 10.2 6.578 17.195 0 24.618-14.966 30.035-29.22 31.62 2.295 1.98 4.342 5.89 4.342 11.87 0 8.564-.079 15.476-.079 17.576 0 1.715 1.155 3.71 4.4 3.084 25.413-8.493 43.733-32.494 43.733-60.798 0-35.394-28.657-64.084-64.006-64.084\"/></svg>"
  },
  {
    "path": "core/images/gitter.tid",
    "content": "title: $:/core/images/gitter\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-gitter tc-image-button\" viewBox=\"0 0 18 25\"><path d=\"M15 5h2v10h-2zM10 5h2v20h-2zM5 5h2v20H5zM0 0h2v15H0z\"/></svg>"
  },
  {
    "path": "core/images/globe.tid",
    "content": "title: $:/core/images/globe\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-globe tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M72.811 37.128v2.554c0 2.196.978 6.881 0 8.832-1.466 2.928-4.65 3.54-6.394 5.867-1.182 1.577-4.618 10.601-3.69 12.92 3.969 9.922 11.534 3.187 17.962 9.293.864.821 2.887 2.273 3.296 3.296 3.29 8.223-7.576 15.009 3.757 26.3 1.245 1.24 3.813-3.817 4.079-4.614.852-2.563 6.725-5.45 9.088-7.053 2.02-1.37 4.873-2.667 6.328-4.745 2.27-3.244 1.48-7.514 3.098-10.745 2.139-4.274 3.828-9.635 5.998-13.966 3.898-7.781 4.721 2.093 5.067 2.439.358.357 1.011 0 1.517 0 .094 0 1.447.099 1.516 0 .65-.935-1.043-17.92-1.318-19.297-1.404-7.01-6.944-15.781-11.865-20.5-6.274-6.015-7.09-16.197-18.259-14.954-.204.022-5.084 10.148-7.777 13.512-3.728 4.657-2.47-4.153-6.526-4.153-.081 0-1.183-.103-1.253 0-.586.88-1.44 3.896-2.306 4.417-.265.16-1.722-.239-1.846 0-2.243 4.3 8.256 2.212 5.792 7.952-2.352 5.481-6.328-1.997-6.328 8.56M44.467 7.01c9.685 6.13.682 12.198 2.694 16.215 1.655 3.303 4.241 5.395 1.714 9.814-2.063 3.608-6.87 3.966-9.623 6.723-3.04 3.044-5.464 8.94-6.79 12.911-1.617 4.843 14.547 6.866 12.063 11.008-1.386 2.311-6.746 1.466-8.437.198-1.165-.873-3.593-.546-4.417-1.78-2.613-3.915-2.26-8.023-3.625-12.128-.938-2.822-6.313-2.12-7.844-.593-.523.522-.33 1.792-.33 2.505 0 5.285 7.12 3.316 7.12 6.46 0 14.636 3.927 6.534 11.14 11.336 10.036 6.683 7.844 7.303 14.946 14.404 3.673 3.673 7.741 3.686 9.425 9.294 1.602 5.331-9.327 5.339-11.716 7.448-1.123.991-2.813 4.146-4.219 4.615-1.792.598-3.234.496-4.944 1.78-2.427 1.82-3.9 4.932-4.02 4.81-2.148-2.147-3.52-15.479-3.89-18.257-.588-4.42-5.59-5.54-6.986-9.03-1.57-3.927 1.524-9.52-1.129-13.761-6.52-10.424-11.821-14.5-15.35-26.292-.942-3.148 3.342-6.529 4.877-8.833 1.877-2.816 2.662-5.854 4.746-8.635C22.147 24.19 40.855 9.461 43.857 8.635l.61-1.625z\"/><path d=\"M64 126c34.242 0 62-27.758 62-62 0-34.242-27.758-62-62-62C29.758 2 2 29.758 2 64c0 34.242 27.758 62 62 62zm0-6c30.928 0 56-25.072 56-56S94.928 8 64 8 8 33.072 8 64s25.072 56 56 56z\"/></g></svg>"
  },
  {
    "path": "core/images/heading-1.tid",
    "content": "title: $:/core/images/heading-1\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-heading-1 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M14 30h13.25v30.104H61.7V30h13.25v75.684H61.7V71.552H27.25v34.132H14V30zm70.335 13.78c2.544 0 5.017-.212 7.42-.636 2.403-.424 4.576-1.13 6.52-2.12 1.942-.99 3.603-2.261 4.981-3.816 1.378-1.555 2.28-3.463 2.703-5.724h9.858v74.2h-13.25V53.32H84.335v-9.54z\"/></svg>"
  },
  {
    "path": "core/images/heading-2.tid",
    "content": "title: $:/core/images/heading-2\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-heading-2 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M6 30h13.25v30.104H53.7V30h13.25v75.684H53.7V71.552H19.25v34.132H6V30zm119.52 75.684H74.85c.07-6.148 1.555-11.519 4.452-16.112 2.897-4.593 6.855-8.586 11.872-11.978a133.725 133.725 0 017.526-5.141 59.6 59.6 0 007.208-5.353c2.19-1.908 3.993-3.975 5.406-6.201 1.413-2.226 2.155-4.788 2.226-7.685 0-1.343-.159-2.774-.477-4.293a11.357 11.357 0 00-1.855-4.24c-.919-1.307-2.19-2.403-3.816-3.286-1.625-.883-3.745-1.325-6.36-1.325-2.403 0-4.399.477-5.989 1.431-1.59.954-2.862 2.261-3.816 3.922-.954 1.66-1.66 3.622-2.12 5.883-.46 2.261-.724 4.7-.795 7.314H76.23c0-4.099.548-7.897 1.643-11.395 1.095-3.498 2.738-6.519 4.93-9.063 2.19-2.544 4.857-4.54 8.002-5.989C93.95 30.724 97.606 30 101.775 30c4.523 0 8.303.742 11.342 2.226 3.039 1.484 5.494 3.357 7.367 5.618 1.873 2.261 3.198 4.717 3.975 7.367.777 2.65 1.166 5.176 1.166 7.579 0 2.968-.46 5.653-1.378 8.056a25.942 25.942 0 01-3.71 6.625 37.5 37.5 0 01-5.3 5.565 79.468 79.468 0 01-6.148 4.77 165.627 165.627 0 01-6.36 4.24 94.28 94.28 0 00-5.883 4.028c-1.802 1.343-3.374 2.738-4.717 4.187-1.343 1.449-2.261 2.986-2.756 4.611h36.146v10.812z\"/></svg>"
  },
  {
    "path": "core/images/heading-3.tid",
    "content": "title: $:/core/images/heading-3\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-heading-3 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M6 30h13.25v30.104H53.7V30h13.25v75.684H53.7V71.552H19.25v34.132H6V30zm88.885 32.224c1.979.07 3.957-.07 5.936-.424 1.979-.353 3.745-.972 5.3-1.855a10.365 10.365 0 003.763-3.657c.954-1.555 1.431-3.463 1.431-5.724 0-3.18-1.078-5.724-3.233-7.632-2.155-1.908-4.929-2.862-8.32-2.862-2.12 0-3.958.424-5.513 1.272a11.318 11.318 0 00-3.869 3.445c-1.025 1.449-1.784 3.074-2.279 4.876a18.335 18.335 0 00-.636 5.565H75.381c.141-3.604.813-6.943 2.014-10.017 1.201-3.074 2.844-5.742 4.93-8.003 2.084-2.261 4.61-4.028 7.578-5.3C92.871 30.636 96.228 30 99.973 30a29.2 29.2 0 018.533 1.272c2.791.848 5.3 2.085 7.526 3.71s4.01 3.692 5.353 6.201c1.343 2.509 2.014 5.388 2.014 8.639 0 3.745-.848 7.014-2.544 9.805-1.696 2.791-4.346 4.823-7.95 6.095v.212c4.24.848 7.544 2.95 9.911 6.307s3.551 7.438 3.551 12.243c0 3.533-.707 6.696-2.12 9.487a21.538 21.538 0 01-5.724 7.102c-2.403 1.943-5.194 3.445-8.374 4.505-3.18 1.06-6.537 1.59-10.07 1.59-4.31 0-8.074-.618-11.289-1.855s-5.9-2.986-8.056-5.247c-2.155-2.261-3.798-4.982-4.929-8.162-1.13-3.18-1.731-6.713-1.802-10.6h12.084c-.141 4.523.972 8.286 3.34 11.289 2.366 3.003 5.917 4.505 10.652 4.505 4.028 0 7.402-1.148 10.123-3.445 2.72-2.297 4.081-5.565 4.081-9.805 0-2.897-.565-5.194-1.696-6.89a10.97 10.97 0 00-4.452-3.869c-1.837-.883-3.904-1.431-6.2-1.643a58.067 58.067 0 00-7.05-.212v-9.01z\"/></svg>"
  },
  {
    "path": "core/images/heading-4.tid",
    "content": "title: $:/core/images/heading-4\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-heading-4 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M8 30h13.25v30.104H55.7V30h13.25v75.684H55.7V71.552H21.25v34.132H8V30zm76.59 48.548h22.471V45.9h-.212L84.59 78.548zm43.46 9.54h-9.54v17.596H107.06V88.088h-31.8V76.11l31.8-44.626h11.448v47.064h9.54v9.54z\"/></svg>"
  },
  {
    "path": "core/images/heading-5.tid",
    "content": "title: $:/core/images/heading-5\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-heading-5 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M6 30h13.25v30.104H53.7V30h13.25v75.684H53.7V71.552H19.25v34.132H6V30zm77.755 1.484h38.372v10.812H92.765L88.95 61.164l.212.212c1.625-1.837 3.692-3.233 6.201-4.187 2.509-.954 5-1.431 7.473-1.431 3.675 0 6.96.618 9.858 1.855 2.897 1.237 5.335 2.968 7.314 5.194s3.48 4.858 4.505 7.897c1.025 3.039 1.537 6.325 1.537 9.858 0 2.968-.477 6.024-1.43 9.169a25.161 25.161 0 01-4.559 8.586c-2.085 2.58-4.752 4.7-8.003 6.36-3.25 1.66-7.137 2.491-11.66 2.491-3.604 0-6.943-.477-10.017-1.431-3.074-.954-5.777-2.385-8.109-4.293-2.332-1.908-4.187-4.258-5.565-7.049-1.378-2.791-2.138-6.06-2.279-9.805h12.084c.353 4.028 1.731 7.12 4.134 9.275 2.403 2.155 5.583 3.233 9.54 3.233 2.544 0 4.7-.424 6.466-1.272 1.767-.848 3.198-2.014 4.293-3.498 1.095-1.484 1.873-3.215 2.332-5.194.46-1.979.69-4.099.69-6.36 0-2.05-.284-4.01-.849-5.883-.565-1.873-1.413-3.516-2.544-4.929-1.13-1.413-2.597-2.544-4.399-3.392-1.802-.848-3.904-1.272-6.307-1.272-2.544 0-4.929.477-7.155 1.431-2.226.954-3.834 2.738-4.823 5.353H75.805l7.95-40.598z\"/></svg>"
  },
  {
    "path": "core/images/heading-6.tid",
    "content": "title: $:/core/images/heading-6\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-heading-6 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M6 30h13.25v30.104H53.7V30h13.25v75.684H53.7V71.552H19.25v34.132H6V30zm106.587 20.246c-.283-3.039-1.36-5.494-3.233-7.367-1.873-1.873-4.399-2.809-7.579-2.809-2.19 0-4.08.406-5.67 1.219a12.435 12.435 0 00-4.029 3.233c-1.095 1.343-1.979 2.88-2.65 4.611a37.696 37.696 0 00-1.643 5.459 46.08 46.08 0 00-.9 5.671 722.213 722.213 0 00-.478 5.247l.212.212c1.625-2.968 3.87-5.176 6.731-6.625 2.862-1.449 5.954-2.173 9.275-2.173 3.675 0 6.96.636 9.858 1.908 2.897 1.272 5.353 3.021 7.367 5.247 2.014 2.226 3.551 4.858 4.611 7.897 1.06 3.039 1.59 6.325 1.59 9.858 0 3.604-.583 6.943-1.749 10.017-1.166 3.074-2.844 5.76-5.035 8.056-2.19 2.297-4.805 4.081-7.844 5.353-3.039 1.272-6.395 1.908-10.07 1.908-5.441 0-9.91-1.007-13.409-3.021-3.498-2.014-6.254-4.77-8.268-8.268-2.014-3.498-3.41-7.597-4.187-12.296-.777-4.7-1.166-9.77-1.166-15.211 0-4.452.477-8.94 1.431-13.462.954-4.523 2.526-8.639 4.717-12.349 2.19-3.71 5.07-6.731 8.64-9.063C92.676 31.166 97.075 30 102.304 30c2.968 0 5.76.495 8.374 1.484 2.615.99 4.93 2.367 6.943 4.134 2.014 1.767 3.657 3.887 4.93 6.36 1.271 2.473 1.978 5.23 2.12 8.268h-12.085zm-11.66 46.852c2.19 0 4.099-.442 5.724-1.325a12.869 12.869 0 004.081-3.445c1.095-1.413 1.908-3.056 2.438-4.929.53-1.873.795-3.798.795-5.777s-.265-3.887-.795-5.724c-.53-1.837-1.343-3.445-2.438-4.823-1.095-1.378-2.456-2.491-4.08-3.339-1.626-.848-3.534-1.272-5.725-1.272-2.19 0-4.116.406-5.777 1.219-1.66.813-3.056 1.908-4.187 3.286-1.13 1.378-1.979 2.986-2.544 4.823-.565 1.837-.848 3.78-.848 5.83 0 2.05.283 3.993.848 5.83.565 1.837 1.413 3.48 2.544 4.929a12.39 12.39 0 004.187 3.445c1.66.848 3.586 1.272 5.777 1.272z\"/></svg>"
  },
  {
    "path": "core/images/help.tid",
    "content": "title: $:/core/images/help\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-help tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M36.055 111.441c-5.24 4.396-15.168 7.362-26.555 7.362-1.635 0-3.24-.06-4.806-.179 7.919-2.64 14.062-8.6 16.367-16.014C8.747 92.845 1.05 78.936 1.05 63.5c0-29.547 28.206-53.5 63-53.5s63 23.953 63 53.5-28.206 53.5-63 53.5c-10.055 0-19.56-2-27.994-5.559zm35.35-33.843a536.471 536.471 0 00.018-4.682 199.02 199.02 0 00-.023-3.042c.008-1.357.595-2.087 3.727-4.235.112-.077 1.085-.74 1.386-.948 3.093-2.133 5.022-3.786 6.762-6.187 2.34-3.228 3.558-7.077 3.558-11.649 0-13.292-9.86-21.952-21.455-21.952-11.103 0-22.499 9.609-24.066 22.295a6.023 6.023 0 1011.956 1.477c.806-6.527 6.972-11.726 12.11-11.726 5.265 0 9.408 3.64 9.408 9.906 0 3.634-1.1 5.153-5.111 7.919l-1.362.93c-2.682 1.84-4.227 3.1-5.7 4.931-2.109 2.62-3.242 5.717-3.258 9.314.013.892.02 1.86.022 2.981a470.766 470.766 0 01-.022 4.943 6.023 6.023 0 1012.046.12l.003-.395zm-6.027 24.499a7.529 7.529 0 100-15.058 7.529 7.529 0 000 15.058z\"/></svg>"
  },
  {
    "path": "core/images/home-button.tid",
    "content": "title: $:/core/images/home-button\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-home-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M112.985 119.502c.01-.165.015-.331.015-.499V67.568c3.137 2.948 8.076 2.884 11.134-.174a7.999 7.999 0 00-.002-11.316L70.396 2.343A7.978 7.978 0 0064.734 0a7.957 7.957 0 00-5.656 2.343L33 28.42V8.007C33 3.585 29.41 0 25 0c-4.418 0-8 3.59-8 8.007V44.42L5.342 56.078c-3.125 3.125-3.12 8.198-.002 11.316a7.999 7.999 0 0011.316-.003l.344-.343v52.945a8.11 8.11 0 000 .007c0 4.418 3.588 8 8 8h80c4.419 0 8-3.59 8-8a8.11 8.11 0 00-.015-.498zM97 112V51.574L64.737 19.31 33 51.048V112h64z\"/></svg>"
  },
  {
    "path": "core/images/import-button.tid",
    "content": "title: $:/core/images/import-button\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-import-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M114.832 60.436s3.235-3.27 6.921.417c3.686 3.686.231 7.14.231 7.14l-42.153 42.92s-30.765 32.367-58.798 4.333C-7 87.213 24.59 55.623 24.59 55.623L67.363 12.85s22.725-24.6 43.587-3.738c20.862 20.862-3.96 43.09-3.96 43.09l-35.04 35.04S49.903 112.546 36.426 99.07c-13.476-13.477 11.83-35.523 11.83-35.523l35.04-35.04s3.902-3.902 7.78-.023c3.879 3.878.118 7.921.118 7.921l-35.04 35.04s-13.212 13.212-8.872 17.551c4.34 4.34 16.77-9.653 16.77-9.653l35.04-35.04s16.668-14.598 3.966-27.3c-13.893-13.892-27.565 3.702-27.565 3.702l-42.91 42.91s-23.698 23.698-3.658 43.738 43.012-4.385 43.012-4.385l42.895-42.533z\"/></svg>"
  },
  {
    "path": "core/images/info-button.tid",
    "content": "title: $:/core/images/info-button\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-info-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\" transform=\"translate(.05)\"><path d=\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64zm0-16c26.51 0 48-21.49 48-48S90.51 16 64 16 16 37.49 16 64s21.49 48 48 48z\"/><circle cx=\"64\" cy=\"32\" r=\"8\"/><rect width=\"16\" height=\"56\" x=\"56\" y=\"48\" rx=\"8\"/></g></svg>"
  },
  {
    "path": "core/images/input-button.tid",
    "content": "title: $:/core/images/input-button\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-input-button tc-image-button\" viewBox=\"0 0 22 22\"><path d=\"M1.375 22h19.249c.365 0 .716-.145.973-.404v.001c.258-.257.404-.607.403-.972v-11a1.376 1.376 0 0 0-2.75 0v9.625H2.75V9.625a1.376 1.376 0 0 0-2.75 0v11C0 21.384.617 22 1.375 22Z\"/><path d=\"m9.732 11.904-1.541-1.541a1.375 1.375 0 1 0-1.944 1.944l3.887 3.888c.258.258.608.402.973.402h-.001c.353 0 .705-.134.974-.402l3.888-3.889a1.376 1.376 0 0 0 .001-1.944 1.377 1.377 0 0 0-1.946 0l-1.541 1.542V1.376a1.375 1.375 0 1 0-2.75 0v10.528Z\"/></svg>"
  },
  {
    "path": "core/images/italic.tid",
    "content": "title: $:/core/images/italic\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-italic tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M66.711 0h22.41L62.408 128H40z\"/></svg>"
  },
  {
    "path": "core/images/language.tid",
    "content": "title: $:/core/images/language\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-language tc-image-button\" viewBox=\"0 0 92 92\"><path d=\"M0 0h2480.32v3507.87H0z\" style=\"fill:none\" transform=\"scale(.03696 .02613)\"/><path d=\"M71.508 62.298c-1.243 15.83-16.758 28.344-35.714 28.344-5.713 0-11.113-1.136-15.905-3.158-2.977 2.498-8.618 4.183-15.088 4.183-.929 0-1.84-.034-2.73-.102 4.499-1.5 7.989-4.886 9.298-9.099C4.373 76.918 0 69.016 0 60.246 0 49.773 6.237 40.537 15.729 35.07c1.235 7.764 5.492 14.713 11.724 19.953l-7.269 18.453c-.393.976-.676 1.737-.847 2.285a5.326 5.326 0 0 0-.256 1.591c0 .89.368 1.686 1.103 2.388.736.702 1.583 1.052 2.542 1.052 1.13 0 1.942-.33 2.438-.988.497-.659 1.096-1.93 1.797-3.812l1.797-4.826h15.3l1.797 4.723c.239.582.526 1.254.86 2.015.333.762.646 1.327.936 1.695.291.368.65.659 1.078.873.428.213.942.32 1.54.32a3.586 3.586 0 0 0 2.632-1.09c.727-.728 1.09-1.528 1.09-2.4 0-.84-.384-2.183-1.154-4.031l-3.545-8.755c2.142.3 4.34.455 6.58.455 5.541 0 10.824-.951 15.636-2.674Zm-30.563.247 1.059 2.898H30.76l2.32-6.467a43.152 43.152 0 0 0 7.865 3.569Z\"/><path d=\"M71.778 57.635c-4.793 2.023-10.191 3.157-15.907 3.157-19.767 0-35.793-13.61-35.793-30.396S36.104.001 55.87.001c19.772 0 35.797 13.61 35.797 30.395 0 8.77-4.373 16.674-11.371 22.221 1.309 4.211 4.8 7.6 9.299 9.1-.89.067-1.802.1-2.73.1-6.47 0-12.11-1.686-15.088-4.182Zm-15.59-15.887a44.237 44.237 0 0 0 3.3 2.496c4.284 2.942 9.06 5.381 14.33 7.315l2.334-3.517c-5.134-1.871-9.696-4.125-13.69-6.763a42.558 42.558 0 0 1-3.37-2.483c4.247-4.806 7.374-10.43 9.38-16.869h6.698V17.78h-16.7a47.226 47.226 0 0 0-1.528-2.959 52.943 52.943 0 0 0-2.885-4.562l-4.218 1.554a36.467 36.467 0 0 1 2.971 3.983c.427.661.833 1.323 1.217 1.984H36.394v4.148h6.77a36.878 36.878 0 0 0 5.422 11.56 42.918 42.918 0 0 0 4.591 5.497c-4.687 4.017-10.548 6.932-17.582 8.744l2.247 3.709c7.746-2.44 13.861-5.67 18.347-9.689Zm-9.047-19.82h16.991c-1.86 5.668-4.528 10.402-8 14.204a42.526 42.526 0 0 1-4.247-4.922c-2.126-2.883-3.71-5.977-4.744-9.283Z\"/></svg>"
  },
  {
    "path": "core/images/layout-button.tid",
    "content": "title: $:/core/images/layout-button\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-layout-button tc-image-button\" viewBox=\"0 0 24 24\" stroke-width=\"1\" stroke=\"none\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><rect x=\"2\" y=\"2\" width=\"7\" height=\"7\" rx=\"2\"/><rect x=\"2\" y=\"13\" width=\"7\" height=\"9\" rx=\"2\"/><rect x=\"12\" y=\"2\" width=\"10\" height=\"20\" rx=\"2\"/></svg>"
  },
  {
    "path": "core/images/left-arrow.tid",
    "content": "created: 20150315234410875\nmodified: 20150315235324760\ntags: $:/tags/Image\ntitle: $:/core/images/left-arrow\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-left-arrow tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M0 64.177c0-2.026.771-4.054 2.317-5.6l55.98-55.98a7.92 7.92 0 0111.195.001c3.086 3.085 3.092 8.104.001 11.195L19.111 64.175l50.382 50.382a7.92 7.92 0 010 11.195c-3.086 3.086-8.105 3.092-11.196.001l-55.98-55.98A7.892 7.892 0 010 64.177z\"/></svg>"
  },
  {
    "path": "core/images/line-width.tid",
    "content": "title: $:/core/images/line-width\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-line-width tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M16 18h96a2 2 0 000-4H16a2 2 0 100 4zm0 17h96a4 4 0 100-8H16a4 4 0 100 8zm0 21h96a6 6 0 000-12H16a6 6 0 100 12zm0 29h96c5.523 0 10-4.477 10-10s-4.477-10-10-10H16c-5.523 0-10 4.477-10 10s4.477 10 10 10zm0 43h96c8.837 0 16-7.163 16-16s-7.163-16-16-16H16c-8.837 0-16 7.163-16 16s7.163 16 16 16z\"/></svg>"
  },
  {
    "path": "core/images/link.tid",
    "content": "title: $:/core/images/link\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-link tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M42.263 69.38a31.919 31.919 0 006.841 10.13c12.5 12.5 32.758 12.496 45.255 0l22.627-22.628c12.502-12.501 12.497-32.758 0-45.255-12.5-12.5-32.758-12.496-45.254 0L49.104 34.255a32.333 32.333 0 00-2.666 3.019 36.156 36.156 0 0121.94.334l14.663-14.663c6.25-6.25 16.382-6.254 22.632-.004 6.248 6.249 6.254 16.373-.004 22.631l-22.62 22.62c-6.25 6.25-16.381 6.254-22.631.004a15.93 15.93 0 01-4.428-8.433 11.948 11.948 0 00-7.59 3.48l-6.137 6.137z\"/><path d=\"M86.35 59.234a31.919 31.919 0 00-6.84-10.13c-12.5-12.5-32.758-12.497-45.255 0L11.627 71.732c-12.501 12.5-12.496 32.758 0 45.254 12.5 12.5 32.758 12.497 45.255 0L79.51 94.36a32.333 32.333 0 002.665-3.02 36.156 36.156 0 01-21.94-.333l-14.663 14.663c-6.25 6.25-16.381 6.253-22.63.004-6.25-6.249-6.255-16.374.003-22.632l22.62-22.62c6.25-6.25 16.381-6.253 22.631-.003a15.93 15.93 0 014.428 8.432 11.948 11.948 0 007.59-3.48l6.137-6.136z\"/></g></svg>"
  },
  {
    "path": "core/images/linkify.tid",
    "content": "title: $:/core/images/linkify\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-linkify-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M17.031 31.919H9.048V96.85h7.983v6.92H0V25h17.031v6.919zm24.66 0h-7.983V96.85h7.983v6.92H24.66V25h17.03v6.919zM67.77 56.422l11.975-3.903 2.306 7.096-12.063 3.903 7.628 10.379-6.12 4.435-7.63-10.467-7.45 10.2-5.943-4.523L58.1 63.518 45.95 59.35l2.306-7.096 12.064 4.17V43.825h7.45v12.596zM86.31 96.85h7.982V31.92H86.31V25h17.031v78.77H86.31v-6.92zm24.659 0h7.983V31.92h-7.983V25H128v78.77h-17.031v-6.92z\"/></svg>"
  },
  {
    "path": "core/images/list-bullet.tid",
    "content": "title: $:/core/images/list-bullet\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-list-bullet tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M11.636 40.273c6.427 0 11.637-5.21 11.637-11.637C23.273 22.21 18.063 17 11.636 17 5.21 17 0 22.21 0 28.636c0 6.427 5.21 11.637 11.636 11.637zm0 34.909c6.427 0 11.637-5.21 11.637-11.637 0-6.426-5.21-11.636-11.637-11.636C5.21 51.91 0 57.12 0 63.545c0 6.427 5.21 11.637 11.636 11.637zm0 34.909c6.427 0 11.637-5.21 11.637-11.636 0-6.427-5.21-11.637-11.637-11.637C5.21 86.818 0 92.028 0 98.455c0 6.426 5.21 11.636 11.636 11.636zM34.91 22.818H128v11.637H34.91V22.818zm0 34.91H128v11.636H34.91V57.727zm0 34.908H128v11.637H34.91V92.636z\"/></svg>"
  },
  {
    "path": "core/images/list-number.tid",
    "content": "title: $:/core/images/list-number\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-list-number tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M33.84 22.356H128v11.77H33.84v-11.77zm0 35.31H128v11.77H33.84v-11.77zm0 35.311H128v11.77H33.84v-11.77zM.38 42.631v-2.223h.998c.826 0 1.445-.14 1.858-.42.413-.28.619-.948.619-2.002V22.769c0-1.442-.193-2.336-.58-2.683-.385-.347-1.477-.52-3.275-.52v-2.143c3.502-.147 6.252-.955 8.25-2.423h2.117v22.865c0 .921.15 1.575.449 1.963.3.387.949.58 1.948.58h.998v2.223H.38zm-.3 35.356v-1.902c7.19-6.554 10.786-12.58 10.786-18.08 0-1.562-.326-2.81-.979-3.744-.652-.934-1.524-1.402-2.616-1.402-.893 0-1.655.317-2.287.952-.633.634-.95 1.364-.95 2.192 0 .974.247 1.829.74 2.563.106.16.16.28.16.36 0 .147-.16.28-.48.4-.213.08-.752.308-1.618.681-.839.374-1.358.561-1.558.561-.24 0-.512-.37-.819-1.111A6.2 6.2 0 010 57.064c0-1.949.849-3.544 2.547-4.785 1.698-1.242 3.798-1.862 6.302-1.862 2.463 0 4.53.67 6.202 2.012 1.67 1.341 2.506 3.093 2.506 5.256a8.644 8.644 0 01-.849 3.724c-.566 1.201-1.92 3.053-4.064 5.556a165.471 165.471 0 01-6.272 6.938h11.445l-1.019 5.726h-2.117c.08-.28.12-.534.12-.76 0-.388-.1-.631-.3-.731-.2-.1-.599-.15-1.198-.15H.08zm12.124 19.207c1.745.04 3.236.637 4.474 1.792 1.239 1.154 1.858 2.773 1.858 4.855 0 2.99-1.132 5.393-3.396 7.208-2.263 1.815-5 2.723-8.209 2.723-2.01 0-3.669-.384-4.974-1.151C.652 111.853 0 110.849 0 109.607c0-.774.27-1.398.809-1.872.54-.474 1.128-.71 1.768-.71.639 0 1.162.2 1.568.6.406.4.782 1.055 1.128 1.962.466 1.268 1.239 1.902 2.317 1.902 1.265 0 2.287-.477 3.066-1.431.78-.955 1.169-2.686 1.169-5.196 0-1.709-.12-3.023-.36-3.944-.24-.921-.792-1.382-1.658-1.382-.586 0-1.185.307-1.797.921-.493.494-.932.741-1.319.741-.333 0-.602-.147-.809-.44-.206-.294-.31-.574-.31-.841 0-.32.104-.594.31-.821.207-.227.69-.594 1.449-1.102 2.876-1.922 4.314-4.017 4.314-6.287 0-1.188-.306-2.092-.919-2.713a3.001 3.001 0 00-2.217-.93c-.799 0-1.525.263-2.177.79-.653.528-.979 1.158-.979 1.892 0 .641.253 1.235.76 1.782.172.2.259.367.259.5 0 .121-.57.428-1.708.922-1.139.494-1.854.74-2.147.74-.413 0-.75-.333-1.009-1-.26-.668-.39-1.282-.39-1.842 0-1.749.93-3.224 2.787-4.425 1.858-1.202 3.965-1.802 6.322-1.802 2.064 0 3.851.447 5.363 1.341 1.511.895 2.267 2.116 2.267 3.664 0 1.362-.57 2.623-1.708 3.784a13.387 13.387 0 01-3.945 2.784z\"/></svg>"
  },
  {
    "path": "core/images/list.tid",
    "content": "title: $:/core/images/list\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-list tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M87.748 128H23.999c-4.418 0-7.999-3.59-7.999-8.007V8.007C16 3.585 19.588 0 24 0h80c4.419 0 8 3.59 8 8.007V104H91.25c-.965 0-1.84.392-2.473 1.025a3.476 3.476 0 00-1.029 2.476V128zm8-.12l15.88-15.88h-15.88v15.88zM40 15.508A3.502 3.502 0 0143.5 12h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 20h-55a3.498 3.498 0 01-3.5-3.509v-.982zM32 22a6 6 0 100-12 6 6 0 000 12zm8 9.509A3.502 3.502 0 0143.5 28h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 36h-55a3.498 3.498 0 01-3.5-3.509v-.982zm0 16A3.502 3.502 0 0143.5 44h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 52h-55a3.498 3.498 0 01-3.5-3.509v-.982zm0 16A3.502 3.502 0 0143.5 60h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 68h-55a3.498 3.498 0 01-3.5-3.509v-.982zm0 16A3.502 3.502 0 0143.5 76h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 84h-55a3.498 3.498 0 01-3.5-3.509v-.982zm0 16A3.502 3.502 0 0143.5 92h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 100h-55a3.498 3.498 0 01-3.5-3.509v-.982zm0 16A3.505 3.505 0 0143.497 108h33.006A3.497 3.497 0 0180 111.509v.982A3.505 3.505 0 0176.503 116H43.497A3.497 3.497 0 0140 112.491v-.982zM32 38a6 6 0 100-12 6 6 0 000 12zm0 16a6 6 0 100-12 6 6 0 000 12zm0 16a6 6 0 100-12 6 6 0 000 12zm0 16a6 6 0 100-12 6 6 0 000 12zm0 16a6 6 0 100-12 6 6 0 000 12zm0 16a6 6 0 100-12 6 6 0 000 12z\"/></svg>"
  },
  {
    "path": "core/images/locked-padlock.tid",
    "content": "title: $:/core/images/locked-padlock\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-locked-padlock tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M96.472 64H105v32.01C105 113.674 90.674 128 73.001 128H56C38.318 128 24 113.677 24 96.01V64h8c.003-15.723.303-47.731 32.16-47.731 31.794 0 32.305 32.057 32.312 47.731zm-15.897 0H48.44c.002-16.287.142-32 15.719-32 15.684 0 16.977 16.136 16.415 32zM67.732 92.364A8.503 8.503 0 0064.5 76a8.5 8.5 0 00-3.498 16.25l-5.095 22.77H72.8l-5.07-22.656z\"/></svg>"
  },
  {
    "path": "core/images/mail.tid",
    "content": "title: $:/core/images/mail\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-mail tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M122.827 104.894a7.986 7.986 0 01-2.834.516H8.007c-.812 0-1.597-.12-2.335-.345l34.163-34.163 20.842 20.842a3.998 3.998 0 003.418 1.134 4.003 4.003 0 003.395-1.134L88.594 70.64c.075.09.155.176.24.26l33.993 33.994zm5.076-6.237c.064-.406.097-.823.097-1.247v-64c0-.669-.082-1.318-.237-1.94L94.23 65.006c.09.075.177.154.261.239l33.413 33.413zm-127.698.56A8.023 8.023 0 010 97.41v-64c0-.716.094-1.41.271-2.071l33.907 33.906L.205 99.218zM5.93 25.684a8.012 8.012 0 012.078-.273h111.986c.766 0 1.507.108 2.209.308L64.083 83.837 5.93 25.683z\"/></svg>"
  },
  {
    "path": "core/images/mastodon.tid",
    "content": "title: $:/core/images/mastodon\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-mastodon tc-image-button\" viewBox=\"0 0 128 128\">\n  <path d=\"M112.716,76.735C111.231,85.764 99.411,95.646 85.836,97.561C78.757,98.559 71.787,99.476 64.355,99.073C52.201,98.415 42.61,95.646 42.61,95.646C42.61,97.044 42.683,98.374 42.829,99.619C44.409,113.79 54.723,114.639 64.493,115.035C74.354,115.434 83.134,112.163 83.134,112.163L83.539,122.695C83.539,122.695 76.642,127.071 64.355,127.875C57.58,128.315 49.167,127.674 39.369,124.61C18.118,117.965 14.463,91.202 13.904,64.048C13.733,55.985 13.839,48.383 13.839,42.024C13.839,14.257 29.238,6.118 29.238,6.118C37.002,1.905 50.326,0.134 64.177,-0L64.517,-0C78.369,0.134 91.701,1.905 99.465,6.118C99.465,6.118 114.864,14.257 114.864,42.024C114.864,42.024 115.057,62.511 112.716,76.735ZM96.7,44.179C96.7,37.307 95.219,31.847 92.245,27.807C89.177,23.767 85.16,21.696 80.174,21.696C74.403,21.696 70.034,24.316 67.146,29.556L64.337,35.118L61.529,29.556C58.64,24.316 54.271,21.696 48.501,21.696C43.514,21.696 39.497,23.767 36.43,27.807C33.455,31.847 31.974,37.307 31.974,44.179L31.974,77.8L43.249,77.8L43.249,45.167C43.249,38.288 45.699,34.796 50.599,34.796C56.017,34.796 58.733,38.938 58.733,47.128L58.733,64.99L69.941,64.99L69.941,47.128C69.941,38.938 72.657,34.796 78.075,34.796C82.975,34.796 85.425,38.288 85.425,45.167L85.425,77.8L96.7,77.8L96.7,44.179Z\"/>\n</svg>\n"
  },
  {
    "path": "core/images/menu-button.tid",
    "content": "title: $:/core/images/menu-button\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-menu-button tc-image-button\" viewBox=\"0 0 128 128\"><rect width=\"128\" height=\"16\" y=\"16\" rx=\"8\"/><rect width=\"128\" height=\"16\" y=\"56\" rx=\"8\"/><rect width=\"128\" height=\"16\" y=\"96\" rx=\"8\"/></svg>"
  },
  {
    "path": "core/images/minus-button.tid",
    "content": "title: $:/core/images/minus-button\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-minus-button tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M64 0c35.346 0 64 28.654 64 64 0 35.346-28.654 64-64 64-35.346 0-64-28.654-64-64C0 28.654 28.654 0 64 0zm.332 16c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48z\"/><rect width=\"80\" height=\"16\" x=\"24\" y=\"56\" rx=\"8\"/></svg>"
  },
  {
    "path": "core/images/mono-block.tid",
    "content": "title: $:/core/images/mono-block\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-mono-block tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M23.965 32.967h.357c.755 0 1.328.192 1.72.577.39.384.586.947.586 1.688 0 .824-.206 1.418-.618 1.782-.413.363-1.094.545-2.045.545h-6.31c-.965 0-1.65-.178-2.056-.535-.405-.356-.608-.954-.608-1.792 0-.811.203-1.391.608-1.74.406-.35 1.09-.525 2.055-.525h.734l-.86-2.453H8.471l-.902 2.453h.734c.95 0 1.632.178 2.044.535.413.356.619.933.619 1.73 0 .824-.206 1.418-.619 1.782-.412.363-1.094.545-2.044.545h-5.41c-.964 0-1.649-.182-2.054-.545-.406-.364-.608-.958-.608-1.782 0-.741.195-1.304.587-1.688.391-.385.964-.577 1.719-.577h.356l5.62-15.641H6.835c-.95 0-1.632-.182-2.044-.546-.412-.363-.619-.95-.619-1.76 0-.825.207-1.42.619-1.783.412-.363 1.094-.545 2.044-.545h7.863c1.244 0 2.118.67 2.62 2.013v.063l6.647 18.2zM12.98 17.326l-3.04 8.848h6.08l-3.04-8.848zm22.402 9.372v6.395h3.145c2.223 0 3.788-.245 4.697-.734.908-.49 1.362-1.307 1.362-2.453 0-1.16-.433-1.985-1.3-2.474-.866-.49-2.383-.734-4.55-.734h-3.354zm10.693-2.327c1.524.559 2.642 1.324 3.355 2.295.713.972 1.07 2.212 1.07 3.722 0 1.272-.308 2.432-.923 3.48-.615 1.049-1.496 1.909-2.642 2.58a7.499 7.499 0 01-2.254.849c-.832.174-2.01.262-3.533.262H30.202c-.922 0-1.583-.182-1.981-.545-.399-.364-.598-.958-.598-1.782 0-.741.189-1.304.566-1.688.378-.385.93-.577 1.657-.577h.356V17.326h-.356c-.727 0-1.28-.196-1.657-.587-.377-.392-.566-.965-.566-1.72 0-.81.203-1.401.608-1.771.406-.37 1.062-.556 1.971-.556h9.645c2.95 0 5.19.573 6.72 1.72 1.53 1.145 2.296 2.823 2.296 5.031 0 1.09-.234 2.052-.703 2.883-.468.832-1.163 1.513-2.086 2.045zM35.381 17.2v5.284h2.83c1.72 0 2.932-.203 3.638-.609.706-.405 1.06-1.09 1.06-2.054 0-.909-.319-1.573-.955-1.992-.636-.42-1.667-.63-3.093-.63h-3.48zm35.863-3.816c.28-.503.566-.86.86-1.07.293-.21.664-.314 1.111-.314.685 0 1.17.182 1.457.545.287.364.43.986.43 1.866l.042 5.452c0 .964-.157 1.614-.472 1.95-.314.335-.884.503-1.709.503-.587 0-1.037-.14-1.352-.42-.314-.28-.584-.796-.807-1.551-.364-1.328-.944-2.282-1.74-2.862-.797-.58-1.901-.87-3.313-.87-2.153 0-3.802.727-4.948 2.18-1.147 1.454-1.72 3.558-1.72 6.311 0 2.74.58 4.844 1.74 6.311 1.16 1.468 2.817 2.202 4.97 2.202 1.467 0 3.085-.49 4.854-1.468 1.768-.978 2.883-1.467 3.344-1.467.545 0 1.003.23 1.373.692.37.46.556 1.034.556 1.719 0 1.23-1.084 2.39-3.25 3.48-2.167 1.09-4.606 1.636-7.318 1.636-3.662 0-6.625-1.21-8.89-3.627-2.264-2.419-3.396-5.578-3.396-9.478 0-3.76 1.146-6.884 3.438-9.372 2.293-2.488 5.2-3.732 8.723-3.732.992 0 1.97.112 2.935.335.964.224 1.992.574 3.082 1.049zm10.22 19.583V17.326h-.356c-.755 0-1.328-.196-1.72-.587-.39-.392-.586-.965-.586-1.72 0-.81.21-1.401.629-1.771.42-.37 1.097-.556 2.034-.556h5.178c2.922 0 5.06.126 6.416.377 1.356.252 2.51.671 3.46 1.258 1.691 1.007 2.988 2.443 3.89 4.31.9 1.865 1.352 4.021 1.352 6.467 0 2.586-.514 4.847-1.541 6.783-1.028 1.936-2.485 3.4-4.372 4.393-.853.447-1.852.772-2.998.975-1.147.203-2.852.304-5.116.304h-6.269c-.965 0-1.65-.178-2.055-.535-.406-.356-.608-.954-.608-1.792 0-.741.195-1.304.587-1.688.391-.385.964-.577 1.72-.577h.356zm5.41-15.725v15.725h1.195c2.642 0 4.592-.646 5.85-1.94 1.258-1.292 1.887-3.28 1.887-5.965 0-2.641-.64-4.612-1.918-5.912-1.28-1.3-3.205-1.95-5.777-1.95-.335 0-.59.003-.765.01a7.992 7.992 0 00-.472.032zm35.067-.126h-9.75v5.368h3.69v-.252c0-.797.175-1.39.524-1.782.35-.392.88-.587 1.594-.587.629 0 1.142.178 1.54.534.4.357.598.808.598 1.353 0 .028.007.118.021.272.014.154.021.308.021.462v4.34c0 .936-.167 1.607-.503 2.013-.335.405-.88.608-1.635.608-.713 0-1.251-.19-1.615-.567-.363-.377-.545-.936-.545-1.677v-.377h-3.69v6.269h9.75v-2.495c0-.937.178-1.608.534-2.013.357-.405.94-.608 1.75-.608.798 0 1.367.2 1.71.597.342.399.513 1.073.513 2.024v5.074c0 .755-.146 1.258-.44 1.51-.293.251-.873.377-1.74.377h-17.172c-.923 0-1.583-.182-1.982-.545-.398-.364-.597-.958-.597-1.782 0-.741.189-1.304.566-1.688.377-.385.93-.577 1.656-.577h.357V17.326h-.357c-.712 0-1.261-.2-1.646-.598-.384-.398-.576-.968-.576-1.709 0-.81.203-1.401.608-1.771.405-.37 1.062-.556 1.97-.556h17.173c.853 0 1.43.13 1.73.388.3.258.45.772.45 1.54v4.698c0 .95-.174 1.631-.524 2.044-.35.412-.915.618-1.698.618-.81 0-1.394-.21-1.75-.629-.357-.419-.535-1.097-.535-2.033v-2.202zM19.77 47.641c.267-.504.55-.86.85-1.07.3-.21.675-.314 1.122-.314.685 0 1.17.181 1.457.545.287.363.43.985.43 1.866l.042 5.451c0 .965-.157 1.615-.472 1.95-.314.336-.891.504-1.73.504-.587 0-1.045-.144-1.373-.43-.329-.287-.598-.8-.807-1.541-.378-1.342-.958-2.3-1.74-2.873-.783-.573-1.88-.86-3.292-.86-2.153 0-3.799.727-4.938 2.181-1.14 1.454-1.709 3.557-1.709 6.311s.598 4.882 1.793 6.385C10.599 67.248 12.294 68 14.488 68c.503 0 1.077-.06 1.72-.179a23.809 23.809 0 002.264-.555v-3.313h-2.37c-.95 0-1.624-.175-2.023-.524-.398-.35-.597-.93-.597-1.74 0-.84.199-1.437.597-1.793.399-.357 1.073-.535 2.024-.535h7.569c.978 0 1.667.175 2.065.524.398.35.598.937.598 1.762 0 .74-.2 1.31-.598 1.708-.398.399-.975.598-1.73.598h-.335v5.242c0 .447-.05.758-.147.933-.098.174-.293.353-.587.534-.797.476-2.062.895-3.795 1.258a25.576 25.576 0 01-5.263.546c-3.662 0-6.625-1.21-8.89-3.628-2.264-2.418-3.397-5.577-3.397-9.477 0-3.76 1.147-6.884 3.44-9.372 2.292-2.488 5.199-3.732 8.721-3.732.979 0 1.954.112 2.925.335.972.224 2.003.573 3.093 1.049zm15.84 3.941v4.823h6.857v-4.823h-.336c-.754 0-1.331-.195-1.73-.587-.398-.391-.597-.964-.597-1.719 0-.825.206-1.419.619-1.782.412-.364 1.093-.545 2.044-.545h5.41c.95 0 1.624.181 2.023.545.398.363.597.957.597 1.782 0 .755-.192 1.328-.576 1.72-.385.39-.947.586-1.688.586h-.357v15.642h.357c.755 0 1.328.192 1.719.576.391.385.587.947.587 1.688 0 .825-.203 1.419-.608 1.782-.405.364-1.09.546-2.055.546h-5.41c-.964 0-1.649-.179-2.054-.535-.405-.357-.608-.954-.608-1.793 0-.74.2-1.303.598-1.688.398-.384.975-.576 1.73-.576h.335v-6.186h-6.856v6.186h.335c.755 0 1.331.192 1.73.576.398.385.597.947.597 1.688 0 .825-.206 1.419-.618 1.782-.412.364-1.094.546-2.044.546h-5.41c-.964 0-1.65-.179-2.055-.535-.405-.357-.608-.954-.608-1.793 0-.74.196-1.303.587-1.688.392-.384.965-.576 1.72-.576h.356V51.582h-.356c-.741 0-1.304-.195-1.688-.587-.385-.391-.577-.964-.577-1.719 0-.825.2-1.419.598-1.782.398-.364 1.073-.545 2.023-.545h5.41c.936 0 1.614.181 2.033.545.42.363.63.957.63 1.782 0 .755-.2 1.328-.598 1.72-.399.39-.975.586-1.73.586h-.335zm31.754 0v15.642h3.523c.95 0 1.632.178 2.044.534.412.357.618.933.618 1.73 0 .811-.21 1.402-.629 1.772-.419.37-1.097.556-2.033.556H58.433c-.95 0-1.632-.182-2.044-.546-.412-.363-.619-.957-.619-1.782 0-.81.203-1.39.608-1.74.406-.35 1.09-.524 2.055-.524h3.523V51.582h-3.523c-.95 0-1.632-.181-2.044-.545-.412-.363-.619-.95-.619-1.761 0-.825.203-1.412.608-1.761.406-.35 1.09-.524 2.055-.524h12.455c.992 0 1.684.174 2.075.524.392.35.587.936.587 1.761 0 .81-.202 1.398-.608 1.761-.405.364-1.09.545-2.054.545h-3.523zm30.496 0v11.994c0 1.873-.122 3.228-.367 4.067a5.876 5.876 0 01-1.227 2.244c-.74.852-1.768 1.495-3.082 1.929-1.314.433-2.893.65-4.738.65-1.3 0-2.555-.126-3.764-.378a16.843 16.843 0 01-3.491-1.132c-.615-.28-1.017-.643-1.206-1.09-.188-.448-.283-1.175-.283-2.18v-4.32c0-1.202.175-2.04.525-2.516.349-.475.957-.713 1.824-.713 1.244 0 1.929.915 2.054 2.747.014.321.035.566.063.733.168 1.622.545 2.73 1.133 3.324.587.594 1.523.89 2.81.89 1.593 0 2.714-.422 3.364-1.268.65-.845.975-2.386.975-4.623V51.582H88.93c-.95 0-1.632-.181-2.044-.545-.413-.363-.619-.95-.619-1.761 0-.825.2-1.412.598-1.761.398-.35 1.086-.524 2.065-.524h10.693c.979 0 1.667.174 2.065.524.399.35.598.936.598 1.761 0 .81-.206 1.398-.619 1.761-.412.364-1.093.545-2.044.545h-1.761zm14.644 0v6.353l6.48-6.478c-.728-.084-1.238-.29-1.531-.619-.294-.328-.44-.85-.44-1.562 0-.825.198-1.419.597-1.782.398-.364 1.073-.545 2.023-.545h5.137c.95 0 1.625.181 2.023.545.399.363.598.957.598 1.782 0 .769-.2 1.345-.598 1.73-.398.384-.982.576-1.75.576h-.483l-6.101 6.06c1.132.839 2.167 1.94 3.103 3.302.937 1.363 2.034 3.456 3.292 6.28h.692c.825 0 1.44.188 1.845.566.405.377.608.943.608 1.698 0 .825-.206 1.419-.619 1.782-.412.364-1.093.546-2.044.546h-2.579c-1.132 0-2.048-.762-2.746-2.286-.126-.28-.224-.503-.294-.67-.923-1.958-1.768-3.467-2.537-4.53a16.616 16.616 0 00-2.705-2.914l-1.97 1.887v3.92h.335c.755 0 1.331.193 1.73.577.398.385.597.947.597 1.688 0 .825-.206 1.419-.618 1.782-.413.364-1.094.546-2.045.546h-5.41c-.964 0-1.649-.179-2.054-.535-.405-.357-.608-.954-.608-1.793 0-.74.196-1.303.587-1.688.391-.384.965-.576 1.72-.576h.356V51.582h-.357c-.74 0-1.303-.195-1.687-.587-.385-.391-.577-.964-.577-1.719 0-.825.2-1.419.598-1.782.398-.364 1.072-.545 2.023-.545h5.41c.936 0 1.614.181 2.033.545.42.363.63.957.63 1.782 0 .755-.2 1.328-.598 1.72-.399.39-.975.586-1.73.586h-.336zM13.44 96.326l4.005-11.889c.251-.782.6-1.352 1.048-1.709.447-.356 1.041-.534 1.782-.534h3.271c.95 0 1.632.182 2.044.545.413.363.619.957.619 1.782 0 .755-.2 1.328-.598 1.72-.398.39-.975.587-1.73.587h-.335l.587 15.641h.357c.754 0 1.32.192 1.698.577.377.384.566.947.566 1.687 0 .825-.2 1.42-.598 1.783-.398.363-1.072.545-2.023.545h-4.718c-.95 0-1.624-.178-2.023-.535-.398-.356-.597-.954-.597-1.793 0-.74.192-1.303.576-1.687.385-.385.954-.577 1.709-.577h.335l-.293-12.79-3.061 9.52c-.224.712-.542 1.226-.954 1.54-.413.315-.982.472-1.709.472-.727 0-1.303-.157-1.73-.472-.426-.314-.751-.828-.975-1.54l-3.04-9.52-.294 12.79h.336c.755 0 1.324.192 1.709.577.384.384.576.947.576 1.687 0 .825-.202 1.42-.608 1.783-.405.363-1.076.545-2.013.545H2.621c-.937 0-1.608-.182-2.013-.545-.405-.364-.608-.958-.608-1.783 0-.74.192-1.303.577-1.687.384-.385.954-.577 1.708-.577h.336l.608-15.641h-.336c-.754 0-1.331-.196-1.73-.588-.398-.39-.597-.964-.597-1.719 0-.825.206-1.419.619-1.782.412-.363 1.093-.545 2.044-.545h3.27c.728 0 1.311.175 1.752.524.44.35.8.923 1.08 1.72l4.109 11.888zm30.454 2.054V86.828H42.74c-.922 0-1.583-.182-1.981-.546-.398-.363-.598-.95-.598-1.76 0-.812.2-1.402.598-1.773.398-.37 1.059-.555 1.981-.555h5.955c.909 0 1.566.185 1.97.555.406.37.609.961.609 1.772 0 .741-.192 1.31-.577 1.709-.384.398-.933.598-1.646.598h-.356v19.038c0 .657-.07 1.069-.21 1.237-.14.167-.454.251-.943.251h-2.097c-.67 0-1.143-.07-1.415-.21-.273-.14-.507-.384-.703-.733l-8.722-15.327v11.385h1.216c.909 0 1.559.175 1.95.524.392.35.587.93.587 1.74 0 .825-.199 1.42-.597 1.783-.399.363-1.045.545-1.94.545h-6.017c-.909 0-1.566-.182-1.971-.545-.406-.364-.608-.958-.608-1.783 0-.74.188-1.303.566-1.687.377-.385.936-.577 1.677-.577h.336V86.828h-.336c-.713 0-1.265-.2-1.656-.598-.392-.398-.587-.968-.587-1.709 0-.81.206-1.401.618-1.772.413-.37 1.066-.555 1.96-.555h3.44c.824 0 1.383.108 1.677.325.293.216.622.653.985 1.31l7.989 14.551zM64.66 86.366c-1.803 0-3.218.727-4.245 2.18-1.028 1.455-1.541 3.474-1.541 6.06 0 2.586.517 4.613 1.551 6.08 1.034 1.468 2.446 2.202 4.235 2.202 1.804 0 3.222-.73 4.257-2.19 1.034-1.461 1.551-3.492 1.551-6.092 0-2.586-.513-4.605-1.54-6.06-1.028-1.453-2.45-2.18-4.268-2.18zm0-4.864c3.44 0 6.27 1.23 8.492 3.69 2.223 2.46 3.334 5.598 3.334 9.414 0 3.844-1.104 6.99-3.313 9.436-2.208 2.446-5.046 3.669-8.513 3.669-3.424 0-6.255-1.234-8.491-3.701-2.237-2.467-3.355-5.602-3.355-9.404 0-3.83 1.108-6.971 3.323-9.424 2.216-2.454 5.057-3.68 8.523-3.68zM87.461 98.17v4.298h2.16c.908 0 1.555.175 1.94.524.384.35.576.93.576 1.74 0 .825-.196 1.42-.587 1.783-.392.363-1.035.545-1.93.545h-7.254c-.922 0-1.583-.182-1.981-.545-.399-.364-.598-.958-.598-1.783 0-.74.189-1.303.566-1.687.378-.385.93-.577 1.657-.577h.356V86.828h-.356c-.713 0-1.262-.2-1.646-.598-.385-.398-.577-.968-.577-1.709 0-.81.203-1.401.608-1.772.406-.37 1.063-.555 1.971-.555h8.66c3.424 0 6.014.657 7.768 1.97 1.754 1.315 2.631 3.25 2.631 5.809 0 2.697-.873 4.738-2.62 6.122-1.748 1.384-4.34 2.076-7.78 2.076h-3.564zm0-11.343v6.625h2.977c1.65 0 2.89-.28 3.722-.839.832-.559 1.248-1.397 1.248-2.516 0-1.048-.43-1.855-1.29-2.421-.86-.566-2.086-.85-3.68-.85h-2.977zm27.267 20.568l-1.636 1.636a12.37 12.37 0 011.772-.44c.58-.098 1.15-.147 1.709-.147 1.104 0 2.268.164 3.491.492 1.223.329 1.967.493 2.233.493.447 0 1.03-.15 1.75-.45.72-.301 1.206-.452 1.458-.452.517 0 .947.2 1.29.598.342.398.513.898.513 1.5 0 .796-.472 1.474-1.415 2.033-.944.56-2.1.839-3.47.839-.937 0-2.139-.22-3.607-.66-1.467-.441-2.53-.661-3.187-.661-.992 0-2.11.272-3.354.817-1.244.546-2.013.818-2.307.818a2.14 2.14 0 01-1.53-.597c-.42-.399-.63-.878-.63-1.437 0-.391.134-.807.4-1.247.265-.44.733-1.01 1.404-1.709l2.118-2.139c-2.335-.852-4.194-2.386-5.578-4.602-1.384-2.215-2.075-4.763-2.075-7.642 0-3.802 1.104-6.909 3.312-9.32 2.209-2.411 5.053-3.617 8.534-3.617 3.467 0 6.304 1.209 8.513 3.627 2.208 2.418 3.312 5.522 3.312 9.31 0 3.774-1.097 6.884-3.291 9.33-2.195 2.446-4.977 3.67-8.345 3.67a22.5 22.5 0 01-1.384-.043zm1.195-21.03c-1.803 0-3.218.727-4.246 2.18-1.027 1.455-1.54 3.474-1.54 6.06 0 2.586.516 4.613 1.55 6.08 1.035 1.468 2.447 2.202 4.236 2.202 1.803 0 3.222-.73 4.256-2.19 1.035-1.461 1.552-3.492 1.552-6.092 0-2.586-.514-4.605-1.541-6.06-1.028-1.453-2.45-2.18-4.267-2.18z\"/></svg>"
  },
  {
    "path": "core/images/mono-line.tid",
    "content": "title: $:/core/images/mono-line\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-mono-line tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M60.437 84.523h.908c1.922 0 3.381.489 4.378 1.468.997.979 1.495 2.411 1.495 4.298 0 2.1-.525 3.612-1.575 4.538-1.05.925-2.785 1.388-5.206 1.388h-16.07c-2.456 0-4.2-.454-5.232-1.361-1.032-.908-1.548-2.43-1.548-4.565 0-2.065.516-3.542 1.548-4.432 1.032-.89 2.776-1.334 5.232-1.334h1.869l-2.19-6.247H20.983l-2.296 6.247h1.87c2.42 0 4.155.453 5.205 1.361 1.05.908 1.575 2.376 1.575 4.405 0 2.1-.525 3.612-1.575 4.538-1.05.925-2.785 1.388-5.206 1.388H6.781c-2.456 0-4.2-.463-5.233-1.388C.516 93.9 0 92.389 0 90.289c0-1.887.498-3.32 1.495-4.298.997-.979 2.456-1.468 4.378-1.468h.908l14.308-39.83h-4.271c-2.42 0-4.156-.462-5.206-1.387-1.05-.926-1.575-2.42-1.575-4.485 0-2.1.525-3.613 1.575-4.538 1.05-.926 2.785-1.388 5.206-1.388h20.021c3.168 0 5.392 1.708 6.674 5.125v.16l16.924 46.343zm-27.976-39.83L24.72 67.225h15.483l-7.742-22.53zM89.506 68.56v16.284h8.008c5.66 0 9.646-.623 11.96-1.869 2.313-1.245 3.47-3.328 3.47-6.246 0-2.955-1.103-5.055-3.31-6.3-2.207-1.246-6.069-1.869-11.586-1.869h-8.542zm27.229-5.926c3.88 1.423 6.727 3.372 8.542 5.846 1.815 2.474 2.723 5.633 2.723 9.477 0 3.239-.783 6.193-2.35 8.862-1.565 2.67-3.808 4.859-6.726 6.567-1.709.997-3.622 1.718-5.74 2.163-2.118.445-5.116.667-8.996.667h-27.87c-2.349 0-4.03-.463-5.045-1.388-1.014-.926-1.521-2.438-1.521-4.538 0-1.887.48-3.32 1.441-4.298.961-.979 2.367-1.468 4.218-1.468h.907v-39.83h-.907c-1.851 0-3.257-.498-4.218-1.494-.961-.997-1.441-2.456-1.441-4.378 0-2.065.516-3.568 1.548-4.512 1.032-.943 2.705-1.414 5.018-1.414h24.56c7.51 0 13.214 1.459 17.111 4.377 3.898 2.92 5.847 7.19 5.847 12.814 0 2.776-.597 5.223-1.789 7.341-1.192 2.118-2.963 3.853-5.312 5.206zm-27.23-18.26v13.455h7.208c4.378 0 7.466-.516 9.264-1.549 1.797-1.032 2.696-2.776 2.696-5.232 0-2.313-.81-4.004-2.43-5.072-1.619-1.068-4.244-1.602-7.874-1.602h-8.863z\"/></svg>"
  },
  {
    "path": "core/images/network-activity.tid",
    "content": "title: $:/core/images/network-activity\ntags: $:/tags/Image\n\n<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-network-activity tc-image-button\" viewBox=\"0 0 128 128\"><g class={{{ [{$:/state/http-requests}match[0]then[]else[tc-network-activity-background]] }}}>\n<$list filter=\"[{$:/state/http-requests}match[0]]\" variable=\"ignore\">\n<path d=\"M64.043 45.153a4.002 4.002 0 0 1 4.367 2.21l.084.188 30.403 73.4a4 4 0 0 1-7.307 3.25l-.084-.188-3.103-7.49-8.898 8.899a3.985 3.985 0 0 1-2.624 1.166l-.205.005a3.987 3.987 0 0 1-2.828-1.171l-9.849-9.848-9.847 9.848a3.985 3.985 0 0 1-2.624 1.166l-.204.005a3.987 3.987 0 0 1-2.829-1.171l-8.899-8.9-3.102 7.491a4 4 0 1 1-7.391-3.062l30.403-73.4a4.001 4.001 0 0 1 4.495-2.39l.042-.008Zm13.636 56.74-8.023 8.024 7.02 7.019 8.023-8.022-7.02-7.02Zm-27.353.008-7.019 7.019 8.016 8.016 7.019-7.02-8.016-8.015Zm13.68-13.68-8.023 8.023 8.016 8.016 8.023-8.023-8.016-8.016Zm-8.971-8.971-4.687 11.315 8.001-8.001-3.314-3.314Zm17.933.009-3.305 3.305 7.979 7.979-4.674-11.284ZM64 57.607l-5.666 13.68c.096.072.188.15.278.232l.133.126 5.261 5.262 5.262-5.262c.128-.127.261-.244.4-.35L64 57.607Zm0-34.69a8 8 0 1 1 0 16 8 8 0 0 1 0-16Z\"/>\n</$list>\n<$list filter=\"[{$:/state/http-requests}!match[0]]\" variable=\"ignore\">\n<path d=\"M109.395.952a4.002 4.002 0 0 1 3.787 2.708C117.529 11.62 120 20.753 120 30.462c0 15.186-6.044 28.96-15.858 39.047a4 4 0 1 1-6.47-4.626l-.12-.094C106.466 56.074 112 43.914 112 30.462c0-8.492-2.205-16.469-6.074-23.39l.054-.036a4 4 0 0 1 3.415-6.084Zm-90.762 0a4 4 0 0 1 3.072 6.562l.093.06A47.786 47.786 0 0 0 16 30.463c0 13.315 5.42 25.363 14.176 34.058l-.01.007a4 4 0 1 1-6.312 4.863l-.063.05C14.017 59.359 8 45.613 8 30.462c0-9.77 2.502-18.956 6.9-26.952A4.002 4.002 0 0 1 18.634.952Z\"/><path d=\"M64.043 44.698a4.002 4.002 0 0 1 4.367 2.21l.084.188 30.403 73.4a4 4 0 0 1-7.307 3.25l-.084-.188-3.103-7.49-8.898 8.9a3.985 3.985 0 0 1-2.624 1.166l-.205.005a3.987 3.987 0 0 1-2.828-1.172l-9.849-9.848-9.847 9.848a3.985 3.985 0 0 1-2.624 1.167l-.204.005a3.987 3.987 0 0 1-2.829-1.172l-8.899-8.899-3.102 7.49a4 4 0 0 1-7.391-3.061l30.403-73.4a4.001 4.001 0 0 1 4.495-2.39l.042-.009ZM77.68 101.44l-8.023 8.023 7.02 7.019 8.023-8.022-7.02-7.02Zm-27.353.007-7.019 7.019 8.016 8.016 7.019-7.019-8.016-8.016Zm13.68-13.68-8.023 8.023 8.016 8.016 8.023-8.023-8.016-8.016Zm-8.971-8.971L50.348 90.11l8.001-8.001-3.314-3.314Zm17.933.009-3.305 3.305 7.979 7.979-4.674-11.284ZM64 57.152l-5.666 13.68c.096.073.188.15.278.232l.133.127 5.261 5.261 5.262-5.261c.128-.128.261-.244.4-.351L64 57.152ZM38.503 1.058a4 4 0 0 1 2.7 6.952l.17-.175C35.582 13.625 32 21.625 32 30.462c0 8.838 3.582 16.838 9.374 22.629a4 4 0 0 1-5.659 5.658l-.01.01C28.473 51.52 24 41.526 24 30.485 24 19.567 28.374 9.67 35.466 2.453a3.995 3.995 0 0 1 3.037-1.395ZM89.369.952c1.14 0 2.17.478 2.899 1.244l.005-.006C99.518 9.43 104 19.434 104 30.485c0 10.826-4.3 20.648-11.287 27.85a4 4 0 1 1-6.054-5.213l-.032-.032C92.418 47.299 96 39.299 96 30.462c0-8.73-3.496-16.643-9.164-22.416A4 4 0 0 1 89.368.952Zm-39.282 11.14a4 4 0 0 1 2.59 7.048l.01.009A15.95 15.95 0 0 0 48 30.462a15.95 15.95 0 0 0 4.687 11.315l-.01.01a4 4 0 1 1-5.82 5.47l.173.177A23.925 23.925 0 0 1 40 30.462a23.925 23.925 0 0 1 7.03-16.97l.01.01a3.991 3.991 0 0 1 3.047-1.41Zm27.895.07a3.99 3.99 0 0 1 2.984 1.336l.006-.005A23.925 23.925 0 0 1 88 30.463a23.92 23.92 0 0 1-6.707 16.642l-.3.305a4 4 0 1 1-5.679-5.632v-.002A15.95 15.95 0 0 0 80 30.462a15.95 15.95 0 0 0-4.685-11.312 4.012 4.012 0 0 1-1.333-2.987 4 4 0 0 1 4-4ZM64 22.463a8 8 0 1 1 0 16 8 8 0 0 1 0-16Z\"/>\n</$list>\n</g></svg>"
  },
  {
    "path": "core/images/new-button.tid",
    "content": "title: $:/core/images/new-button\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-new-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M56 72H8.007C3.591 72 0 68.418 0 64c0-4.41 3.585-8 8.007-8H56V8.007C56 3.591 59.582 0 64 0c4.41 0 8 3.585 8 8.007V56h47.993c4.416 0 8.007 3.582 8.007 8 0 4.41-3.585 8-8.007 8H72v47.993c0 4.416-3.582 8.007-8 8.007-4.41 0-8-3.585-8-8.007V72z\"/></svg>"
  },
  {
    "path": "core/images/new-here-button.tid",
    "content": "title: $:/core/images/new-here-button\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-new-here-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M55.838 20.935l-3.572.938c-3.688.968-8.23 4.43-10.136 7.731L3.37 96.738c-1.905 3.3-.771 7.524 2.534 9.432l33.717 19.466c3.297 1.904 7.53.78 9.435-2.521l38.76-67.134c1.905-3.3 2.632-8.963 1.623-12.646L83.285 20.88c-1.009-3.68-4.821-5.884-8.513-4.915l-7.603 1.995.043.287c.524 3.394 2.053 7.498 4.18 11.55.418.163.829.36 1.23.59a8.864 8.864 0 014.438 8.169c.104.132.21.264.316.395l-.386.318a8.663 8.663 0 01-1.082 3.137c-2.42 4.192-7.816 5.608-12.051 3.163-4.12-2.379-5.624-7.534-3.476-11.671-2.177-4.394-3.788-8.874-4.543-12.964z\"/><path d=\"M69.554 44.76c-5.944-7.476-10.74-17.196-11.955-25.059-1.68-10.875 3.503-18.216 15.082-18.04 10.407.158 19.975 5.851 24.728 13.785 5.208 8.695 2.95 17.868-6.855 20.496l-2.037-7.601c4.232-1.134 4.999-4.248 2.24-8.853-3.37-5.626-10.465-9.848-18.146-9.965-6.392-.097-8.31 2.62-7.323 9.01.999 6.465 5.318 15.138 10.582 21.65l-.072.06c.559 1.553-4.17 6.44-5.938 4.888l-.005.004-.028-.034a1.323 1.323 0 01-.124-.135 2.618 2.618 0 01-.149-.205z\"/><rect width=\"16\" height=\"48\" x=\"96\" y=\"80\" rx=\"8\"/><rect width=\"48\" height=\"16\" x=\"80\" y=\"96\" rx=\"8\"/></g></svg>"
  },
  {
    "path": "core/images/new-image-button.tid",
    "content": "title: $:/core/images/new-image-button\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-new-image-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M81.362 73.627l15.826-27.41a2.626 2.626 0 00-.962-3.59l-50.01-28.872a2.626 2.626 0 00-3.588.961L30.058 36.49l10.04-5.261c3.042-1.595 6.771.114 7.55 3.46l3.607 17.702 9.88.85a5.25 5.25 0 014.571 3.77c.034.115.1.344.199.671.165.553.353 1.172.562 1.843.595 1.914 1.23 3.85 1.872 5.678.207.588.412 1.156.614 1.701.625 1.685 1.209 3.114 1.725 4.207.255.54.485.977.726 1.427.214.212.547.425 1.011.622 1.141.482 2.784.74 4.657.758.864.008 1.71-.034 2.492-.11.448-.043.753-.085.871-.104.315-.053.625-.077.927-.076zM37.47 2.649A5.257 5.257 0 0144.649.725l63.645 36.746a5.257 5.257 0 011.923 7.178L73.47 108.294a5.257 5.257 0 01-7.177 1.923L2.649 73.47a5.257 5.257 0 01-1.924-7.177L37.471 2.649zm42.837 50.49a5.25 5.25 0 105.25-9.092 5.25 5.25 0 00-5.25 9.093zM96 112h-7.993c-4.419 0-8.007-3.582-8.007-8 0-4.41 3.585-8 8.007-8H96v-7.993C96 83.588 99.582 80 104 80c4.41 0 8 3.585 8 8.007V96h7.993c4.419 0 8.007 3.582 8.007 8 0 4.41-3.585 8-8.007 8H112v7.993c0 4.419-3.582 8.007-8 8.007-4.41 0-8-3.585-8-8.007V112zM33.347 51.791c7.428 7.948 9.01 10.69 7.449 13.394-1.56 2.703-13.838-2.328-16.094 1.58-2.256 3.908-.907 3.258-2.437 5.908l19.73 11.39s-5.605-8.255-4.235-10.628c2.515-4.356 8.77-1.256 10.365-4.019 2.414-4.181-5.103-9.639-14.778-17.625z\"/></svg>"
  },
  {
    "path": "core/images/new-journal-button.tid",
    "content": "title: $:/core/images/new-journal-button\ntags: $:/tags/Image\n\n<$parameters size=\"22pt\" day=<<now \"DD\">>><svg width=<<size>> height=<<size>> class=\"tc-image-new-journal-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M102.545 112.818v11.818c0 1.306 1.086 2.364 2.425 2.364h6.06c1.34 0 2.425-1.058 2.425-2.364v-11.818h12.12c1.34 0 2.425-1.058 2.425-2.363v-5.91c0-1.305-1.085-2.363-2.424-2.363h-12.121V90.364c0-1.306-1.086-2.364-2.425-2.364h-6.06c-1.34 0-2.425 1.058-2.425 2.364v11.818h-12.12c-1.34 0-2.425 1.058-2.425 2.363v5.91c0 1.305 1.085 2.363 2.424 2.363h12.121zM60.016 4.965c-4.781-2.76-10.897-1.118-13.656 3.66L5.553 79.305A9.993 9.993 0 009.21 92.963l51.04 29.468c4.78 2.76 10.897 1.118 13.655-3.66l40.808-70.681a9.993 9.993 0 00-3.658-13.656L60.016 4.965zm-3.567 27.963a6 6 0 106-10.393 6 6 0 00-6 10.393zm31.697 17.928a6 6 0 106-10.392 6 6 0 00-6 10.392z\"/><text class=\"tc-fill-background\" font-family=\"Helvetica\" font-size=\"47.172\" font-weight=\"bold\" transform=\"rotate(30 25.742 95.82)\"><tspan x=\"42\" y=\"77.485\" text-anchor=\"middle\"><$text text=<<day>>/></tspan></text></g></svg></$parameters>"
  },
  {
    "path": "core/images/opacity.tid",
    "content": "title: $:/core/images/opacity\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-opacity tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M102.362 65a51.595 51.595 0 01-1.942 6H82.584a35.867 35.867 0 002.997-6h16.78zm.472-2c.423-1.961.734-3.963.929-6H87.656a35.78 35.78 0 01-1.368 6h16.546zm-3.249 10a51.847 51.847 0 01-3.135 6H75.812a36.205 36.205 0 005.432-6h18.341zm-4.416 8c-1.424 2.116-3 4.12-4.71 6H60.46a35.843 35.843 0 0012.874-6h21.834zm-7.513-34h16.107C101.247 20.627 79.033 0 52 0 23.281 0 0 23.281 0 52c0 25.228 17.965 46.26 41.8 51h20.4a51.66 51.66 0 0015.875-6H39v-2h42.25a52.257 52.257 0 007.288-6H39v-2h4.539C27.739 83.194 16 68.968 16 52c0-19.882 16.118-36 36-36 18.186 0 33.222 13.484 35.656 31zm.22 2h16.039a52.823 52.823 0 010 6H87.877a36.483 36.483 0 000-6z\"/><path d=\"M76 128c28.719 0 52-23.281 52-52s-23.281-52-52-52-52 23.281-52 52 23.281 52 52 52zm0-16c19.882 0 36-16.118 36-36S95.882 40 76 40 40 56.118 40 76s16.118 36 36 36z\"/><path d=\"M37 58h53v4H37v-4zm3-8h53v4H40v-4zm0-8h53v4H40v-4zm-8 24h53v4H32v-4zm-2 8h53v4H30v-4zm-3 8h53v4H27v-4z\"/></g></svg>"
  },
  {
    "path": "core/images/open-window.tid",
    "content": "title: $:/core/images/open-window\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-open-window tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M16 112h88.994c3.87 0 7.006 3.59 7.006 8 0 4.418-3.142 8-7.006 8H7.006C3.136 128 0 124.41 0 120a9.321 9.321 0 010-.01V24.01C0 19.586 3.59 16 8 16c4.418 0 8 3.584 8 8.01V112z\"/><path d=\"M96 43.196V56a8 8 0 1016 0V24c0-4.41-3.585-8-8.007-8H72.007C67.588 16 64 19.582 64 24c0 4.41 3.585 8 8.007 8H84.57l-36.3 36.299a8 8 0 00-.001 11.316c3.117 3.117 8.19 3.123 11.316-.003L96 43.196zM32 7.999C32 3.581 35.588 0 40 0h80c4.419 0 8 3.588 8 8v80c0 4.419-3.588 8-8 8H40c-4.419 0-8-3.588-8-8V8z\"/></g></svg>"
  },
  {
    "path": "core/images/options-button.tid",
    "content": "title: $:/core/images/options-button\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-options-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M110.488 76a47.712 47.712 0 01-5.134 12.384l6.724 6.724c3.123 3.123 3.132 8.192.011 11.313l-5.668 5.668c-3.12 3.12-8.186 3.117-11.313-.01l-6.724-6.725c-3.82 2.258-7.98 4-12.384 5.134v9.505c0 4.417-3.578 8.007-7.992 8.007h-8.016C55.58 128 52 124.415 52 119.993v-9.505a47.712 47.712 0 01-12.384-5.134l-6.724 6.725c-3.123 3.122-8.192 3.131-11.313.01l-5.668-5.668c-3.12-3.12-3.116-8.186.01-11.313l6.725-6.724c-2.257-3.82-4-7.98-5.134-12.384H8.007C3.591 76 0 72.422 0 68.01v-8.017C0 55.58 3.585 52 8.007 52h9.505a47.712 47.712 0 015.134-12.383l-6.724-6.725c-3.123-3.122-3.132-8.191-.011-11.312l5.668-5.669c3.12-3.12 8.186-3.116 11.313.01l6.724 6.725c3.82-2.257 7.98-4 12.384-5.134V8.007C52 3.591 55.578 0 59.992 0h8.016C72.42 0 76 3.585 76 8.007v9.505a47.712 47.712 0 0112.384 5.134l6.724-6.724c3.123-3.123 8.192-3.132 11.313-.01l5.668 5.668c3.12 3.12 3.116 8.186-.01 11.312l-6.725 6.725c2.257 3.82 4 7.979 5.134 12.383h9.505c4.416 0 8.007 3.578 8.007 7.992v8.017c0 4.411-3.585 7.991-8.007 7.991h-9.505zM64 96c17.673 0 32-14.327 32-32 0-17.673-14.327-32-32-32-17.673 0-32 14.327-32 32 0 17.673 14.327 32 32 32z\"/></svg>"
  },
  {
    "path": "core/images/paint.tid",
    "content": "title: $:/core/images/paint\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-paint tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M83.527 76.19C90.43 69.287 91.892 59 87.91 50.665l37.903-37.902c2.919-2.92 2.913-7.659 0-10.572a7.474 7.474 0 00-10.572 0L77.338 40.093c-8.335-3.982-18.622-2.521-25.526 4.383l31.715 31.715zm-2.643 2.644L49.169 47.119S8.506 81.243 0 80.282c0 0 3.782 5.592 6.827 8.039 14.024-5.69 37.326-24.6 37.326-24.6l.661.66S19.45 90.222 9.18 92.047c1.222 1.44 4.354 4.053 6.247 5.776 5.417-1.488 34.733-28.57 34.733-28.57l.661.66-32.407 31.022 5.285 5.286L56.106 75.2l.662.66s-27.864 30.536-28.684 32.432c0 0 6.032 6.853 7.569 7.824.702-2.836 27.884-33.485 27.884-33.485l.661.66s-20.597 23.755-24.964 36.732c3.21 3.549 7.5 5.137 10.926 6.298-2.19-11.817 30.724-47.487 30.724-47.487z\"/></svg>"
  },
  {
    "path": "core/images/palette.tid",
    "content": "title: $:/core/images/palette\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-palette tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M80.247 39.182a93.52 93.52 0 00-16.228-1.4C28.662 37.781 0 57.131 0 81.002c0 9.642 4.676 18.546 12.58 25.735C23.504 91.19 26.34 72.395 36.89 63.562c15.183-12.713 26.538-7.828 26.538-7.828l16.82-16.552zm26.535 9.655c13.049 7.913 21.257 19.392 21.257 32.166 0 9.35.519 17.411-11.874 25.08-10.797 6.681-3.824-6.536-11.844-10.898s-19.946 1.308-18.213 7.906c3.2 12.181 19.422 11.455 6.314 16.658-13.107 5.202-18.202 4.476-28.403 4.476-7.821 0-15.315-.947-22.243-2.68 9.844-4.197 27.88-12.539 33.354-19.456C82.788 92.409 87.37 80 83.324 72.484c-.194-.359 11.215-11.668 23.458-23.647zM1.134 123.867l-.66.002c33.479-14.94 22.161-64.226 58.818-64.226.317 1.418.644 2.944 1.062 4.494-25.907-4.166-23.567 48.031-59.22 59.73zm.713-.007c38.872-.506 78.152-22.347 78.152-44.813-9.27 0-14.073-3.48-16.816-7.942-16.597-7.003-30.365 45.715-61.336 52.755zm65.351-64.008c-4.45 4.115 4.886 16.433 11.318 11.318l45.27-45.27c11.317-11.318 0-22.635-11.318-11.318-11.317 11.318-33.518 34.405-45.27 45.27z\"/></svg>"
  },
  {
    "path": "core/images/permalink-button.tid",
    "content": "title: $:/core/images/permalink-button\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-permalink-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M80.483 48l-7.387 32h-25.58l7.388-32h25.58zm3.694-16l5.624-24.358c.993-4.303 5.29-6.996 9.596-6.002 4.296.992 6.988 5.293 5.994 9.602L100.598 32h3.403c4.41 0 7.999 3.582 7.999 8 0 4.41-3.581 8-8 8h-7.096l-7.387 32H104c4.41 0 7.999 3.582 7.999 8 0 4.41-3.581 8-8 8H85.824l-5.624 24.358c-.993 4.303-5.29 6.996-9.596 6.002-4.296-.992-6.988-5.293-5.994-9.602L69.402 96h-25.58L38.2 120.358c-.993 4.303-5.29 6.996-9.596 6.002-4.296-.992-6.988-5.293-5.994-9.602L27.402 96h-3.403C19.59 96 16 92.418 16 88c0-4.41 3.581-8 8-8h7.096l7.387-32H24C19.59 48 16 44.418 16 40c0-4.41 3.581-8 8-8h18.177l5.624-24.358c.993-4.303 5.29-6.996 9.596-6.002 4.296.992 6.988 5.293 5.994 9.602L58.598 32h25.58z\"/></svg>"
  },
  {
    "path": "core/images/permaview-button.tid",
    "content": "title: $:/core/images/permaview-button\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-permaview-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M81.483 48l-1.846 8h-5.58l1.847-8h5.58zm3.694-16l5.624-24.358c.993-4.303 5.29-6.996 9.596-6.002 4.296.992 6.988 5.293 5.994 9.602L101.598 32h2.403c4.41 0 7.999 3.582 7.999 8 0 4.41-3.581 8-8 8h-6.096l-1.847 8h7.944c4.41 0 7.999 3.582 7.999 8 0 4.41-3.581 8-8 8H92.364l-1.846 8H104c4.41 0 7.999 3.582 7.999 8 0 4.41-3.581 8-8 8H86.824l-5.624 24.358c-.993 4.303-5.29 6.996-9.596 6.002-4.296-.992-6.988-5.293-5.994-9.602L70.402 96h-5.58L59.2 120.358c-.993 4.303-5.29 6.996-9.596 6.002-4.296-.992-6.988-5.293-5.994-9.602L48.402 96h-5.58L37.2 120.358c-.993 4.303-5.29 6.996-9.596 6.002-4.296-.992-6.988-5.293-5.994-9.602L26.402 96h-2.403C19.59 96 16 92.418 16 88c0-4.41 3.581-8 8-8h6.096l1.847-8h-7.944C19.59 72 16 68.418 16 64c0-4.41 3.581-8 8-8h11.637l1.846-8H24C19.59 48 16 44.418 16 40c0-4.41 3.581-8 8-8h17.177l5.624-24.358c.993-4.303 5.29-6.996 9.596-6.002 4.296.992 6.988 5.293 5.994 9.602L57.598 32h5.58L68.8 7.642c.993-4.303 5.29-6.996 9.596-6.002 4.296.992 6.988 5.293 5.994 9.602L79.598 32h5.58zM53.904 48l-1.847 8h5.58l1.846-8h-5.579zm22.039 24l-1.847 8h-5.58l1.847-8h5.58zm-27.58 0l-1.846 8h5.579l1.847-8h-5.58z\"/></svg>"
  },
  {
    "path": "core/images/picture.tid",
    "content": "title: $:/core/images/picture\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-picture tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M112 68.233v-48.23A4.001 4.001 0 00107.997 16H20.003A4.001 4.001 0 0016 20.003v38.31l9.241-14.593c2.8-4.422 9.023-5.008 12.6-1.186l18.247 20.613 13.687-6.407a8 8 0 018.903 1.492 264.97 264.97 0 002.92 2.739 249.44 249.44 0 006.798 6.066 166.5 166.5 0 002.106 1.778c2.108 1.747 3.967 3.188 5.482 4.237.748.518 1.383.92 2.044 1.33.444.117 1.046.144 1.809.05 1.873-.233 4.238-1.144 6.723-2.547a36.016 36.016 0 003.205-2.044c.558-.4.93-.686 1.07-.802.376-.31.765-.577 1.165-.806zM0 8.007A8.01 8.01 0 018.007 0h111.986A8.01 8.01 0 01128 8.007v111.986a8.01 8.01 0 01-8.007 8.007H8.007A8.01 8.01 0 010 119.993V8.007zM95 42a8 8 0 100-16 8 8 0 000 16zM32 76c15.859 4.83 20.035 7.244 20.035 12S32 95.471 32 102.347c0 6.876 1.285 4.99 1.285 9.653H68s-13.685-6.625-13.685-10.8c0-7.665 10.615-8.34 10.615-13.2 0-7.357-14.078-8.833-32.93-12z\"/></svg>"
  },
  {
    "path": "core/images/plugin-generic-language.tid",
    "content": "title: $:/core/images/plugin-generic-language\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> viewBox=\"0 0 128 128\" class=\"tc-image-plugin-generic-language tc-image-button\"><path fill-rule=\"evenodd\" d=\"M61.207 68.137c-4.324 2.795-6.999 6.656-6.999 10.921 0 7.906 9.19 14.424 21.042 15.336 2.162 3.902 8.598 6.785 16.318 7.01-5.126-1.125-9.117-3.742-10.62-7.01C92.805 93.487 102 86.967 102 79.059c0-8.53-10.699-15.445-23.896-15.445-6.599 0-12.572 1.729-16.897 4.524zm12.794-14.158c-4.324 2.795-10.298 4.524-16.897 4.524-2.619 0-5.14-.272-7.497-.775-3.312 2.25-8.383 3.69-14.067 3.69l-.255-.002c4.119-.892 7.511-2.747 9.478-5.13-6.925-2.704-11.555-7.617-11.555-13.228 0-8.53 10.699-15.445 23.896-15.445C70.301 27.613 81 34.528 81 43.058c0 4.265-2.675 8.126-6.999 10.921zM64 0l54.56 32v64L64 128 9.44 96V32L64 0z\"/></svg>"
  },
  {
    "path": "core/images/plugin-generic-plugin.tid",
    "content": "title: $:/core/images/plugin-generic-plugin\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> viewBox=\"0 0 128 128\" class=\"tc-image-plugin-generic-plugin tc-image-button\"><path fill-rule=\"evenodd\" d=\"M40.397 76.446V95.34h14.12l-.001-.005a6.912 6.912 0 005.364-11.593l.046-.023a6.912 6.912 0 119.979.526l.086.055a6.914 6.914 0 004.408 10.948l-.023.092h21.32V75.568l-.15.038a6.912 6.912 0 00-11.593-5.364l-.022-.046a6.912 6.912 0 11.526-9.979l.055-.086a6.914 6.914 0 0010.948-4.408c.079.018.158.038.236.059v-15.74h-21.32l.023-.094a6.914 6.914 0 01-4.408-10.947 10.23 10.23 0 00-.086-.055 6.912 6.912 0 10-9.979-.526l-.046.023a6.912 6.912 0 01-5.364 11.593l.001.005h-14.12v12.847A6.912 6.912 0 0129.5 59.843l-.054.086a6.912 6.912 0 10-.526 9.979l.023.046a6.912 6.912 0 0111.455 6.492zM64 0l54.56 32v64L64 128 9.44 96V32L64 0z\"/></svg>"
  },
  {
    "path": "core/images/plugin-generic-theme.tid",
    "content": "title: $:/core/images/plugin-generic-theme\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> viewBox=\"0 0 128 128\" class=\"tc-image-plugin-generic-theme tc-image-button\"><path fill-rule=\"evenodd\" d=\"M29.408 91.472L51.469 69.41l-.004-.005a2.22 2.22 0 01.004-3.146c.87-.87 2.281-.872 3.147-.005l9.465 9.464a2.22 2.22 0 01-.005 3.147c-.87.87-2.28.871-3.147.005l-.005-.005-22.061 22.062a6.686 6.686 0 11-9.455-9.455zM60.802 66.38c-2.436-2.704-4.465-5.091-5.817-6.869-6.855-9.014-10.313-4.268-14.226 0-3.913 4.268 1.03 7.726-2.683 10.741-3.713 3.015-3.484 4.06-9.752-1.455-6.267-5.516-6.7-7.034-3.823-10.181 2.877-3.147 5.281 1.808 11.159-3.785 5.877-5.593.94-10.55.94-10.55s12.237-25.014 28.588-23.167c16.351 1.848-6.186-2.392-11.792 17.226-2.4 8.4.447 6.42 4.998 9.968 1.394 1.086 6.03 4.401 11.794 8.685l20.677-20.676 1.615-4.766 7.84-4.689 3.151 3.152-4.688 7.84-4.766 1.615-20.224 20.223c12.663 9.547 28.312 22.146 28.312 26.709 0 7.217-3.071 11.526-9.535 9.164-4.693-1.715-18.768-15.192-28.753-25.897l-2.893 2.893-3.151-3.152 3.029-3.029zM63.953 0l54.56 32v64l-54.56 32-54.56-32V32l54.56-32z\"/></svg>"
  },
  {
    "path": "core/images/plus-button.tid",
    "content": "title: $:/core/images/plus-button\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-plus-button tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M64-.333c35.346 0 64 28.654 64 64 0 35.346-28.654 64-64 64-35.346 0-64-28.654-64-64 0-35.346 28.654-64 64-64zM64 16c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48z\"/><rect width=\"80\" height=\"16\" x=\"24\" y=\"56\" rx=\"8\"/><rect width=\"16\" height=\"80\" x=\"56\" y=\"24\" rx=\"8\"/></svg>"
  },
  {
    "path": "core/images/preview-closed.tid",
    "content": "title: $:/core/images/preview-closed\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-preview-closed tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M.088 64a7.144 7.144 0 001.378 5.458C16.246 88.818 39.17 100.414 64 100.414c24.83 0 47.753-11.596 62.534-30.956A7.144 7.144 0 00127.912 64C110.582 78.416 88.304 87.086 64 87.086 39.696 87.086 17.418 78.416.088 64z\"/><rect width=\"4\" height=\"16\" x=\"62\" y=\"96\" rx=\"4\"/><rect width=\"4\" height=\"16\" x=\"78\" y=\"93\" rx=\"4\" transform=\"rotate(-5 80 101)\"/><rect width=\"4\" height=\"16\" x=\"46\" y=\"93\" rx=\"4\" transform=\"rotate(5 48 101)\"/><rect width=\"4\" height=\"16\" x=\"30\" y=\"88\" rx=\"4\" transform=\"rotate(10 32 96)\"/><rect width=\"4\" height=\"16\" x=\"94\" y=\"88\" rx=\"4\" transform=\"rotate(-10 96 96)\"/><rect width=\"4\" height=\"16\" x=\"110\" y=\"80\" rx=\"4\" transform=\"rotate(-20 112 88)\"/><rect width=\"4\" height=\"16\" x=\"14\" y=\"80\" rx=\"4\" transform=\"rotate(20 16 88)\"/></g></svg>"
  },
  {
    "path": "core/images/preview-open.tid",
    "content": "title: $:/core/images/preview-open\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-preview-open tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M64.11 99.588c-24.83 0-47.754-11.596-62.534-30.957a7.148 7.148 0 010-8.675C16.356 40.596 39.28 29 64.11 29c24.83 0 47.753 11.596 62.534 30.956a7.148 7.148 0 010 8.675c-14.78 19.36-37.703 30.957-62.534 30.957zm46.104-32.007c1.44-1.524 1.44-3.638 0-5.162C99.326 50.9 82.439 44 64.147 44S28.968 50.9 18.08 62.42c-1.44 1.523-1.44 3.637 0 5.16C28.968 79.1 45.855 86 64.147 86s35.179-6.9 46.067-18.42z\"/><path d=\"M63.5 88C76.479 88 87 77.479 87 64.5S76.479 41 63.5 41 40 51.521 40 64.5 50.521 88 63.5 88z\"/></g></svg>"
  },
  {
    "path": "core/images/print-button.tid",
    "content": "title: $:/core/images/print-button\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-print-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M112 71V30.5h-.032c-.035-2-.816-3.99-2.343-5.516L86.998 2.357A7.978 7.978 0 0081 .02V0H24a8 8 0 00-8 8v63h8V8h57v14.5c0 4.422 3.582 8 8 8h15V71h8z\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"36\" rx=\"4\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"52\" rx=\"4\"/><rect width=\"40\" height=\"8\" x=\"32\" y=\"20\" rx=\"4\"/><path d=\"M0 80.005C0 71.165 7.156 64 16 64h96c8.836 0 16 7.155 16 16.005v31.99c0 8.84-7.156 16.005-16 16.005H16c-8.836 0-16-7.155-16-16.005v-31.99zM104 96a8 8 0 100-16 8 8 0 000 16z\"/></g></svg>"
  },
  {
    "path": "core/images/quote.tid",
    "content": "title: $:/core/images/quote\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-quote tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M51.219 117.713V62.199H27.427c0-8.891 1.683-16.401 5.047-22.53 3.365-6.127 9.613-10.754 18.745-13.878V2c-7.45.961-14.36 3.184-20.728 6.669-6.368 3.484-11.835 7.87-16.401 13.157C9.524 27.113 5.98 33.241 3.456 40.21.933 47.18-.21 54.63.03 62.56v55.153H51.22zm76.781 0V62.199h-23.791c0-8.891 1.682-16.401 5.046-22.53 3.365-6.127 9.613-10.754 18.745-13.878V2c-7.45.961-14.359 3.184-20.727 6.669-6.369 3.484-11.836 7.87-16.402 13.157-4.566 5.287-8.11 11.415-10.634 18.384-2.523 6.97-3.665 14.42-3.424 22.35v55.153H128z\"/></svg>"
  },
  {
    "path": "core/images/refresh-button.tid",
    "content": "title: $:/core/images/refresh-button\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-refresh-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M106.369 39.433c10.16 20.879 6.57 46.764-10.771 64.106-21.87 21.87-57.327 21.87-79.196 0-21.87-21.87-21.87-57.326 0-79.196a8 8 0 1111.314 11.314c-15.621 15.62-15.621 40.947 0 56.568 15.62 15.621 40.947 15.621 56.568 0C97.72 78.79 99.6 58.175 89.924 42.73l-6.44 12.264a8 8 0 11-14.166-7.437L84.435 18.76a8 8 0 0110.838-3.345l28.873 15.345a8 8 0 11-7.51 14.129l-10.267-5.457zm-8.222-12.368c-.167-.19-.336-.38-.506-.57l.96-.296-.454.866z\"/></svg>"
  },
  {
    "path": "core/images/right-arrow.tid",
    "content": "title: $:/core/images/right-arrow\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-right-arrow tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M99.069 64.173c0 2.027-.77 4.054-2.316 5.6l-55.98 55.98a7.92 7.92 0 01-11.196 0c-3.085-3.086-3.092-8.105 0-11.196l50.382-50.382-50.382-50.382a7.92 7.92 0 010-11.195c3.086-3.085 8.104-3.092 11.196 0l55.98 55.98a7.892 7.892 0 012.316 5.595z\"/></svg>"
  },
  {
    "path": "core/images/rotate-left.tid",
    "content": "title: $:/core/images/rotate-left\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-rotate-left tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"32\" height=\"80\" rx=\"8\"/><rect width=\"80\" height=\"32\" x=\"48\" y=\"96\" rx=\"8\"/><path d=\"M61.32 36.65c19.743 2.45 35.023 19.287 35.023 39.693a4 4 0 01-8 0c0-15.663-11.254-28.698-26.117-31.46l3.916 3.916a4 4 0 11-5.657 5.657L49.172 43.142a4 4 0 010-5.657l11.313-11.313a4 4 0 115.657 5.656l-4.821 4.822z\"/></g></svg>"
  },
  {
    "path": "core/images/save-button-dynamic.tid",
    "content": "title: $:/core/images/save-button-dynamic\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-save-button-dynamic tc-image-button\" viewBox=\"0 0 128 128\">\n<g class=\"tc-image-save-button-dynamic-clean\">\n<path fill-rule=\"evenodd\" d=\"M120.783 34.33c4.641 8.862 7.266 18.948 7.266 29.646 0 35.347-28.653 64-64 64-35.346 0-64-28.653-64-64 0-35.346 28.654-64 64-64 18.808 0 35.72 8.113 47.43 21.03l2.68-2.68c3.13-3.13 8.197-3.132 11.321-.008 3.118 3.118 3.121 8.193-.007 11.32l-4.69 4.691zm-12.058 12.058a47.876 47.876 0 013.324 17.588c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48c14.39 0 27.3 6.332 36.098 16.362L58.941 73.544 41.976 56.578c-3.127-3.127-8.201-3.123-11.32-.005-3.123 3.124-3.119 8.194.006 11.319l22.617 22.617a7.992 7.992 0 005.659 2.347c2.05 0 4.101-.783 5.667-2.349l44.12-44.12z\"/>\n</g>\n<g class=\"tc-image-save-button-dynamic-dirty\">\n<path d=\"M64.856912,0 C100.203136,0 128.856912,28.653776 128.856912,64 C128.856912,99.346224 100.203136,128 64.856912,128 C29.510688,128 0.856911958,99.346224 0.856911958,64 C0.856911958,28.653776 29.510688,0 64.856912,0 Z M64.856912,16 C38.347244,16 16.856912,37.490332 16.856912,64 C16.856912,90.509668 38.347244,112 64.856912,112 C91.3665799,112 112.856912,90.509668 112.856912,64 C112.856912,37.490332 91.3665799,16 64.856912,16 Z\"></path>\n<circle cx=\"65\" cy=\"64\" r=\"32\"></circle>\n</g>\n</svg>"
  },
  {
    "path": "core/images/save-button.tid",
    "content": "title: $:/core/images/save-button\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-save-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M120.783 34.33c4.641 8.862 7.266 18.948 7.266 29.646 0 35.347-28.653 64-64 64-35.346 0-64-28.653-64-64 0-35.346 28.654-64 64-64 18.808 0 35.72 8.113 47.43 21.03l2.68-2.68c3.13-3.13 8.197-3.132 11.321-.008 3.118 3.118 3.121 8.193-.007 11.32l-4.69 4.691zm-12.058 12.058a47.876 47.876 0 013.324 17.588c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48c14.39 0 27.3 6.332 36.098 16.362L58.941 73.544 41.976 56.578c-3.127-3.127-8.201-3.123-11.32-.005-3.123 3.124-3.119 8.194.006 11.319l22.617 22.617a7.992 7.992 0 005.659 2.347c2.05 0 4.101-.783 5.667-2.349l44.12-44.12z\"/></svg>"
  },
  {
    "path": "core/images/size.tid",
    "content": "title: $:/core/images/size\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-size tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M92.343 26l-9.171 9.172a4 4 0 105.656 5.656l16-16a4 4 0 000-5.656l-16-16a4 4 0 10-5.656 5.656L92.343 18H22a4 4 0 00-4 4v70.343l-9.172-9.171a4 4 0 10-5.656 5.656l16 16a4 4 0 005.656 0l16-16a4 4 0 10-5.656-5.656L26 92.343V22l-4 4h70.343zM112 52v64l4-4H52a4 4 0 100 8h64a4 4 0 004-4V52a4 4 0 10-8 0z\"/></svg>"
  },
  {
    "path": "core/images/spiral.tid",
    "content": "title: $:/core/images/spiral\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-spiral tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M64.534 68.348c3.39 0 6.097-2.62 6.476-5.968l-4.755-.538 4.75.583c.377-3.07-1.194-6.054-3.89-7.78-2.757-1.773-6.34-2.01-9.566-.7-3.46 1.403-6.14 4.392-7.35 8.148l-.01.026c-1.3 4.08-.72 8.64 1.58 12.52 2.5 4.2 6.77 7.2 11.76 8.27 5.37 1.15 11.11-.05 15.83-3.31 5.04-3.51 8.46-9.02 9.45-15.3 1.05-6.7-.72-13.63-4.92-19.19l.02.02c-4.42-5.93-11.2-9.82-18.78-10.78-7.96-1.01-16.13 1.31-22.59 6.43-6.81 5.39-11.18 13.41-12.11 22.26-.98 9.27 1.87 18.65 7.93 26.02 6.32 7.69 15.6 12.56 25.74 13.48 10.54.96 21.15-2.42 29.45-9.4l.01-.01c8.58-7.25 13.94-17.78 14.86-29.21.94-11.84-2.96-23.69-10.86-32.9-8.19-9.5-19.95-15.36-32.69-16.27-13.16-.94-26.24 3.49-36.34 12.34l.01-.01c-10.41 9.08-16.78 22.1-17.68 36.15-.93 14.44 4.03 28.77 13.79 39.78 10.03 11.32 24.28 18.2 39.6 19.09 15.73.92 31.31-4.56 43.24-15.234 12.23-10.954 19.61-26.44 20.5-43.074a4.785 4.785 0 00-4.52-5.03 4.778 4.778 0 00-5.03 4.52c-.75 14.1-7 27.2-17.33 36.45-10.03 8.98-23.11 13.58-36.3 12.81-12.79-.75-24.67-6.48-33-15.89-8.07-9.11-12.17-20.94-11.41-32.827.74-11.52 5.942-22.15 14.43-29.54l.01-.01c8.18-7.17 18.74-10.75 29.35-9.998 10.21.726 19.6 5.41 26.11 12.96 6.24 7.273 9.32 16.61 8.573 25.894-.718 8.9-4.88 17.064-11.504 22.66l.01-.007c-6.36 5.342-14.44 7.92-22.425 7.19-7.604-.68-14.52-4.314-19.21-10.027-4.44-5.4-6.517-12.23-5.806-18.94.67-6.3 3.76-11.977 8.54-15.766 4.46-3.54 10.05-5.128 15.44-4.44 5.03.63 9.46 3.18 12.32 7.01l.02.024c2.65 3.5 3.75 7.814 3.1 11.92-.59 3.71-2.58 6.925-5.45 8.924-2.56 1.767-5.61 2.403-8.38 1.81-2.42-.516-4.42-1.92-5.53-3.79-.93-1.56-1.15-3.3-.69-4.75l-4.56-1.446L59.325 65c.36-1.12 1.068-1.905 1.84-2.22.25-.103.48-.14.668-.13.06.006.11.015.14.025.01 0 .01 0-.01-.01a1.047 1.047 0 01-.264-.332c-.15-.29-.23-.678-.18-1.11l-.005.04c.15-1.332 1.38-2.523 3.035-2.523-2.65 0-4.79 2.144-4.79 4.787s2.14 4.785 4.78 4.785z\"/></svg>"
  },
  {
    "path": "core/images/stamp.tid",
    "content": "title: $:/core/images/stamp\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-stamp tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M49.733 64H16.01C11.584 64 8 67.583 8 72.003V97h112V72.003A8 8 0 00111.99 64H78.267A22.813 22.813 0 0175.5 53.077c0-6.475 2.687-12.324 7.009-16.497A22.818 22.818 0 0087 22.952C87 10.276 76.703 0 64 0S41 10.276 41 22.952c0 5.103 1.669 9.817 4.491 13.628 4.322 4.173 7.009 10.022 7.009 16.497 0 3.954-1.002 7.675-2.767 10.923zM8 104h112v8H8v-8z\"/></svg>"
  },
  {
    "path": "core/images/standard-layout.tid",
    "content": "title: $:/core/images/standard-layout\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-standard-layout tc-image-button\" viewBox=\"0 0 128 128\">\n    <path d=\"M71.93 72A8.07 8.07 0 0 1 80 80.07v7.86A8.071 8.071 0 0 1 71.93 96H8.07A8.067 8.067 0 0 1 0 87.93v-7.86A8.072 8.072 0 0 1 8.07 72h63.86Zm0 32a8.07 8.07 0 0 1 8.07 8.07v7.86a8.071 8.071 0 0 1-8.07 8.07H8.07A8.067 8.067 0 0 1 0 119.93v-7.86A8.072 8.072 0 0 1 8.07 104h63.86Zm0-104A8.068 8.068 0 0 1 80 8.07v47.86A8.073 8.073 0 0 1 71.93 64H8.07A8.07 8.07 0 0 1 0 55.93V8.07A8.072 8.072 0 0 1 8.07 0h63.86Zm48 0c2.14 0 4.193.85 5.706 2.364A8.067 8.067 0 0 1 128 8.07v111.86c0 2.14-.85 4.193-2.364 5.706A8.067 8.067 0 0 1 119.93 128H96.07c-2.14 0-4.193-.85-5.706-2.364A8.067 8.067 0 0 1 88 119.93V8.07c0-2.14.85-4.193 2.364-5.706A8.067 8.067 0 0 1 96.07 0h23.86ZM116 24h-16a3.995 3.995 0 0 0-2.828 1.172 3.995 3.995 0 0 0 0 5.656A3.995 3.995 0 0 0 100 32h16a3.995 3.995 0 0 0 2.828-1.172 3.995 3.995 0 0 0 0-5.656A3.995 3.995 0 0 0 116 24Z\"/>\n</svg>"
  },
  {
    "path": "core/images/star-filled.tid",
    "content": "title: $:/core/images/star-filled\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-star-filled tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M61.836 96.823l37.327 27.287c2.72 1.99 6.379-.69 5.343-3.912L90.29 75.988l-1.26 3.91 37.285-27.345c2.718-1.993 1.32-6.327-2.041-6.33l-46.113-.036 3.3 2.416L67.176 4.416c-1.04-3.221-5.563-3.221-6.604 0L46.29 48.603l3.3-2.416-46.113.036c-3.362.003-4.759 4.337-2.04 6.33L38.72 79.898l-1.26-3.91-14.216 44.21c-1.036 3.223 2.622 5.901 5.343 3.912l37.326-27.287h-4.078z\"/></svg>"
  },
  {
    "path": "core/images/storyview-classic.tid",
    "content": "title: $:/core/images/storyview-classic\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-storyview-classic tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M8.007 0A8.01 8.01 0 000 8.007v111.986A8.01 8.01 0 008.007 128h111.986a8.01 8.01 0 008.007-8.007V8.007A8.01 8.01 0 00119.993 0H8.007zm15.992 16C19.581 16 16 19.578 16 23.992v16.016C16 44.422 19.588 48 24 48h80c4.419 0 8-3.578 8-7.992V23.992c0-4.414-3.588-7.992-8-7.992H24zm0 48C19.581 64 16 67.59 16 72c0 4.418 3.588 8 8 8h80c4.419 0 8-3.59 8-8 0-4.418-3.588-8-8-8H24zm0 32C19.581 96 16 99.59 16 104c0 4.418 3.588 8 8 8h80c4.419 0 8-3.59 8-8 0-4.418-3.588-8-8-8H24z\"/></svg>"
  },
  {
    "path": "core/images/storyview-pop.tid",
    "content": "title: $:/core/images/storyview-pop\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-storyview-pop tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M8.007 0A8.01 8.01 0 000 8.007v111.986A8.01 8.01 0 008.007 128h111.986a8.01 8.01 0 008.007-8.007V8.007A8.01 8.01 0 00119.993 0H8.007zm15.992 16C19.581 16 16 19.578 16 23.992v16.016C16 44.422 19.588 48 24 48h80c4.419 0 8-3.578 8-7.992V23.992c0-4.414-3.588-7.992-8-7.992H24zm-7.99 40C11.587 56 8 59.578 8 63.992v16.016C8 84.422 11.584 88 16.01 88h95.98c4.424 0 8.01-3.578 8.01-7.992V63.992c0-4.414-3.584-7.992-8.01-7.992H16.01zM24 96C19.581 96 16 99.59 16 104c0 4.418 3.588 8 8 8h80c4.419 0 8-3.59 8-8 0-4.418-3.588-8-8-8H24zm0-32C19.581 64 16 67.59 16 72c0 4.418 3.588 8 8 8h80c4.419 0 8-3.59 8-8 0-4.418-3.588-8-8-8H24z\"/></svg>"
  },
  {
    "path": "core/images/storyview-zoomin.tid",
    "content": "title: $:/core/images/storyview-zoomin\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-storyview-zoomin tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M8.007 0A8.01 8.01 0 000 8.007v111.986A8.01 8.01 0 008.007 128h111.986a8.01 8.01 0 008.007-8.007V8.007A8.01 8.01 0 00119.993 0H8.007zm15.992 16A8 8 0 0016 24.009V71.99C16 76.414 19.588 80 24 80h80a8 8 0 008-8.009V24.01c0-4.423-3.588-8.009-8-8.009H24z\"/></svg>"
  },
  {
    "path": "core/images/strikethrough.tid",
    "content": "title: $:/core/images/strikethrough\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-strikethrough tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M92.794 38.726h15.422c-.229-6.74-1.514-12.538-3.856-17.393-2.342-4.855-5.54-8.881-9.596-12.08-4.055-3.199-8.767-5.54-14.136-7.025C75.258.743 69.433 0 63.15 0a62.76 62.76 0 00-16.364 2.142C41.474 3.57 36.733 5.74 32.564 8.653c-4.17 2.913-7.511 6.626-10.025 11.138-2.513 4.512-3.77 9.853-3.77 16.022 0 5.597 1.115 10.252 3.342 13.965 2.228 3.712 5.198 6.74 8.91 9.081 3.713 2.342 7.911 4.227 12.595 5.655a194.641 194.641 0 0014.308 3.77c4.855 1.085 9.624 2.142 14.308 3.17 4.683 1.028 8.881 2.37 12.594 4.027 3.713 1.656 6.683 3.798 8.91 6.425 2.228 2.628 3.342 6.055 3.342 10.281 0 4.456-.914 8.111-2.742 10.967a19.953 19.953 0 01-7.197 6.768c-2.97 1.657-6.311 2.828-10.024 3.513a60.771 60.771 0 01-11.052 1.028c-4.57 0-9.025-.571-13.366-1.713-4.34-1.143-8.139-2.913-11.394-5.312-3.256-2.4-5.884-5.455-7.883-9.168-1.999-3.712-2.998-8.139-2.998-13.28H15c0 7.426 1.342 13.852 4.027 19.278 2.684 5.426 6.34 9.881 10.966 13.365 4.627 3.484 9.996 6.083 16.107 7.797 6.112 1.713 12.595 2.57 19.449 2.57 5.597 0 11.223-.657 16.878-1.97 5.655-1.314 10.767-3.428 15.336-6.34 4.57-2.914 8.31-6.683 11.224-11.31 2.913-4.626 4.37-10.195 4.37-16.707 0-6.054-1.115-11.08-3.342-15.079-2.228-3.998-5.198-7.31-8.91-9.938-3.713-2.627-7.911-4.712-12.595-6.254a170.83 170.83 0 00-14.308-4.027 549.669 549.669 0 00-14.308-3.17c-4.683-.971-8.881-2.2-12.594-3.684-3.713-1.485-6.683-3.399-8.91-5.74-2.228-2.342-3.342-5.398-3.342-9.168 0-3.998.771-7.34 2.313-10.024 1.543-2.685 3.599-4.826 6.17-6.426 2.57-1.599 5.51-2.741 8.824-3.427a49.767 49.767 0 0110.11-1.028c8.453 0 15.393 1.97 20.819 5.912 5.426 3.94 8.596 10.31 9.51 19.106z\"/><path d=\"M5 54h118v16H5z\"/></g></svg>"
  },
  {
    "path": "core/images/subscript.tid",
    "content": "title: $:/core/images/subscript\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-subscript tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M2.272 16h19.91l21.649 33.675L66.414 16h18.708L53.585 61.969l33.809 49.443H67.082L43.296 74.93l-24.187 36.48H0L33.808 61.97 2.272 16zM127.91 128.412H85.328c.059-5.168 1.306-9.681 3.741-13.542 2.435-3.86 5.761-7.216 9.978-10.066a112.388 112.388 0 016.325-4.321 50.09 50.09 0 006.058-4.499c1.841-1.603 3.356-3.34 4.543-5.211 1.188-1.871 1.812-4.024 1.871-6.46 0-1.128-.133-2.33-.4-3.607a9.545 9.545 0 00-1.56-3.564c-.772-1.098-1.84-2.019-3.207-2.761-1.366-.743-3.148-1.114-5.345-1.114-2.02 0-3.697.4-5.033 1.203-1.337.801-2.406 1.9-3.208 3.296-.801 1.396-1.395 3.044-1.781 4.944-.386 1.9-.609 3.95-.668 6.147H86.486c0-3.445.46-6.637 1.38-9.577.921-2.94 2.302-5.478 4.143-7.617 1.841-2.138 4.083-3.815 6.726-5.033 2.643-1.217 5.716-1.826 9.22-1.826 3.802 0 6.979.623 9.533 1.87 2.554 1.248 4.617 2.822 6.191 4.722 1.574 1.9 2.688 3.965 3.341 6.192.653 2.227.98 4.35.98 6.37 0 2.494-.386 4.75-1.158 6.77a21.803 21.803 0 01-3.118 5.568 31.516 31.516 0 01-4.454 4.677 66.788 66.788 0 01-5.167 4.009 139.198 139.198 0 01-5.346 3.563 79.237 79.237 0 00-4.944 3.386c-1.514 1.128-2.836 2.3-3.964 3.518-1.129 1.218-1.9 2.51-2.317 3.876h30.379v9.087z\"/></svg>"
  },
  {
    "path": "core/images/superscript.tid",
    "content": "title: $:/core/images/superscript\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-superscript tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M2.272 16h19.91l21.649 33.675L66.414 16h18.708L53.585 61.969l33.809 49.443H67.082L43.296 74.93l-24.187 36.48H0L33.808 61.97 2.272 16zM127.91 63.412H85.328c.059-5.168 1.306-9.681 3.741-13.542 2.435-3.86 5.761-7.216 9.978-10.066a112.388 112.388 0 016.325-4.321 50.09 50.09 0 006.058-4.499c1.841-1.603 3.356-3.34 4.543-5.211 1.188-1.871 1.812-4.024 1.871-6.46 0-1.128-.133-2.33-.4-3.607a9.545 9.545 0 00-1.56-3.564c-.772-1.098-1.84-2.019-3.207-2.761-1.366-.743-3.148-1.114-5.345-1.114-2.02 0-3.697.4-5.033 1.203-1.337.801-2.406 1.9-3.208 3.296-.801 1.396-1.395 3.044-1.781 4.944-.386 1.9-.609 3.95-.668 6.147H86.486c0-3.445.46-6.637 1.38-9.577.921-2.94 2.302-5.478 4.143-7.617 1.841-2.138 4.083-3.815 6.726-5.033 2.643-1.217 5.716-1.826 9.22-1.826 3.802 0 6.979.623 9.533 1.87 2.554 1.248 4.617 2.822 6.191 4.722 1.574 1.9 2.688 3.965 3.341 6.192.653 2.227.98 4.35.98 6.37 0 2.494-.386 4.75-1.158 6.77a21.803 21.803 0 01-3.118 5.568 31.516 31.516 0 01-4.454 4.677 66.788 66.788 0 01-5.167 4.009 139.198 139.198 0 01-5.346 3.563 79.237 79.237 0 00-4.944 3.386c-1.514 1.128-2.836 2.3-3.964 3.518-1.129 1.218-1.9 2.51-2.317 3.876h30.379v9.087z\"/></svg>"
  },
  {
    "path": "core/images/tag-button.tid",
    "content": "title: $:/core/images/tag-button\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-tag-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M18.164 47.66l.004 4.105c.003 3.823 2.19 9.097 4.885 11.792l61.85 61.85c2.697 2.697 7.068 2.69 9.769-.01L125.767 94.3a6.903 6.903 0 00.01-9.77L63.928 22.683c-2.697-2.697-7.976-4.88-11.796-4.881l-27.076-.007a6.902 6.902 0 00-6.91 6.91l.008 9.96.287.033c3.73.411 8.489-.044 13.365-1.153a9.702 9.702 0 0111.14-3.662l.291-.13.128.285a9.7 9.7 0 013.3 2.17c3.796 3.796 3.801 9.945.012 13.734-3.618 3.618-9.386 3.777-13.204.482-5.365 1.122-10.674 1.596-15.309 1.237z\"/><path d=\"M47.633 39.532l.023.051c-9.689 4.356-21.584 6.799-30.396 5.828C5.273 44.089-1.028 36.43 2.443 24.078 5.562 12.976 14.3 4.361 24.047 1.548c10.68-3.083 19.749 1.968 19.749 13.225h-8.623c0-4.859-3.078-6.573-8.735-4.94-6.91 1.995-13.392 8.383-15.694 16.577-1.915 6.818.417 9.653 7.46 10.43 7.126.785 17.531-1.352 25.917-5.121l.027.06.036-.017c1.76-.758 6.266 6.549 3.524 7.74a2.8 2.8 0 01-.075.03z\"/></g></svg>"
  },
  {
    "path": "core/images/theme-button.tid",
    "content": "title: $:/core/images/theme-button\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-theme-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M55.854 66.945a122.626 122.626 0 01-3.9-4.819c-11.064-14.548-16.645-6.888-22.96 0-6.315 6.888 1.664 12.47-4.33 17.335-5.993 4.866-5.623 6.552-15.737-2.35-10.115-8.9-10.815-11.351-6.172-16.43 4.644-5.08 8.524 2.918 18.01-6.108 9.485-9.026 1.517-17.026 1.517-17.026S42.03-2.824 68.42.157c26.39 2.982-9.984-3.86-19.031 27.801-3.874 13.556.72 10.362 8.066 16.087 1.707 1.33 6.428 4.732 12.671 9.318-6.129 5.879-11.157 10.669-14.273 13.582zm11.641 12.947c16.013 17.036 37.742 37.726 45.117 40.42 10.432 3.813 15.388-3.141 15.388-14.79 0-7.151-23.83-26.542-43.924-41.769-7.408 7.156-13.376 12.953-16.58 16.139z\"/><path d=\"M11.069 109.828L46.31 74.587a3.56 3.56 0 115.037-5.032l15.098 15.098a3.56 3.56 0 11-5.032 5.037l-35.24 35.241c-4.171 4.17-10.933 4.17-15.104 0-4.17-4.17-4.17-10.933 0-15.103zM124.344 6.622l5.034 5.034-7.49 12.524-7.613 2.58L61.413 79.62l-5.034-5.034 52.861-52.862 2.58-7.614 12.524-7.49z\"/></g></svg>"
  },
  {
    "path": "core/images/timestamp-off.tid",
    "content": "title: $:/core/images/timestamp-off\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-timestamp-off tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M58.25 11C26.08 11 0 37.082 0 69.25s26.08 58.25 58.25 58.25c32.175 0 58.25-26.082 58.25-58.25S90.425 11 58.25 11zm0 100.5C34.914 111.5 16 92.586 16 69.25 16 45.92 34.914 27 58.25 27s42.25 18.92 42.25 42.25c0 23.336-18.914 42.25-42.25 42.25zM49.704 10a5 5 0 010-10H66.69a5 5 0 015 5c.006 2.757-2.238 5-5 5H49.705z\"/><path d=\"M58.25 35.88c-18.777 0-33.998 15.224-33.998 33.998 0 18.773 15.22 34.002 33.998 34.002 18.784 0 34.002-15.23 34.002-34.002 0-18.774-15.218-33.998-34.002-33.998zm-3.03 50.123H44.196v-34H55.22v34zm16.976 0H61.17v-34h11.025v34z\"/></g></svg>"
  },
  {
    "path": "core/images/timestamp-on.tid",
    "content": "title: $:/core/images/timestamp-on\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-timestamp-on tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M58.25 11C26.08 11 0 37.082 0 69.25s26.08 58.25 58.25 58.25c32.175 0 58.25-26.082 58.25-58.25S90.425 11 58.25 11zm0 100.5C34.914 111.5 16 92.586 16 69.25 16 45.92 34.914 27 58.25 27s42.25 18.92 42.25 42.25c0 23.336-18.914 42.25-42.25 42.25zM49.704 10a5 5 0 010-10H66.69a5 5 0 015 5c.006 2.757-2.238 5-5 5H49.705z\"/><path d=\"M13.41 27.178a5.005 5.005 0 01-7.045-.613 5.008 5.008 0 01.616-7.047l9.95-8.348a5 5 0 016.429 7.661l-9.95 8.348zm89.573 0a5.005 5.005 0 007.045-.613 5.008 5.008 0 00-.616-7.047l-9.95-8.348a5 5 0 00-6.428 7.661l9.95 8.348zM65.097 71.072c0 3.826-3.09 6.928-6.897 6.928-3.804.006-6.9-3.102-6.903-6.928 0 0 4.76-39.072 6.903-39.072s6.897 39.072 6.897 39.072z\"/></g></svg>"
  },
  {
    "path": "core/images/tip.tid",
    "content": "title: $:/core/images/tip\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-tip tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M64 128.242c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64-35.346 0-64 28.654-64 64 0 35.346 28.654 64 64 64zm11.936-36.789c-.624 4.129-5.73 7.349-11.936 7.349-6.206 0-11.312-3.22-11.936-7.349C54.33 94.05 58.824 95.82 64 95.82c5.175 0 9.67-1.769 11.936-4.366zm0 4.492c-.624 4.13-5.73 7.349-11.936 7.349-6.206 0-11.312-3.22-11.936-7.349 2.266 2.597 6.76 4.366 11.936 4.366 5.175 0 9.67-1.769 11.936-4.366zm0 4.456c-.624 4.129-5.73 7.349-11.936 7.349-6.206 0-11.312-3.22-11.936-7.349 2.266 2.597 6.76 4.366 11.936 4.366 5.175 0 9.67-1.769 11.936-4.366zm0 4.492c-.624 4.13-5.73 7.349-11.936 7.349-6.206 0-11.312-3.22-11.936-7.349 2.266 2.597 6.76 4.366 11.936 4.366 5.175 0 9.67-1.769 11.936-4.366zM64.3 24.242c11.618 0 23.699 7.82 23.699 24.2S75.92 71.754 75.92 83.576c0 5.873-5.868 9.26-11.92 9.26s-12.027-3.006-12.027-9.26C51.973 71.147 40 65.47 40 48.442s12.683-24.2 24.301-24.2z\"/></svg>"
  },
  {
    "path": "core/images/transcludify.tid",
    "content": "title: $:/core/images/transcludify\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-transcludify-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M0 59.482c.591 0 1.36-.089 2.306-.266a10.417 10.417 0 002.75-.932 6.762 6.762 0 002.306-1.907c.651-.828.976-1.863.976-3.104V35.709c0-2.01.414-3.74 1.242-5.19.828-1.448 1.833-2.66 3.016-3.636s2.425-1.7 3.726-2.173c1.3-.473 2.424-.71 3.37-.71h8.073v7.451h-4.88c-1.241 0-2.232.207-2.97.621-.74.414-1.302.932-1.686 1.552a4.909 4.909 0 00-.71 1.996c-.089.71-.133 1.39-.133 2.04v16.677c0 1.715-.325 3.134-.976 4.258-.65 1.123-1.434 2.025-2.35 2.705-.917.68-1.863 1.168-2.839 1.464-.976.296-1.818.473-2.528.532v.178c.71.059 1.552.207 2.528.443.976.237 1.922.68 2.839 1.33.916.651 1.7 1.583 2.35 2.795.65 1.212.976 2.853.976 4.923v16.144c0 .65.044 1.33.133 2.04.089.71.325 1.375.71 1.996.384.621.946 1.139 1.685 1.553.74.414 1.73.62 2.972.62h4.879v7.452h-8.073c-.946 0-2.07-.237-3.37-.71-1.301-.473-2.543-1.197-3.726-2.173-1.183-.976-2.188-2.188-3.016-3.637-.828-1.449-1.242-3.179-1.242-5.19V74.119c0-1.42-.325-2.572-.976-3.46-.65-.886-1.419-1.581-2.306-2.084a8.868 8.868 0 00-2.75-1.02C1.36 67.377.591 67.288 0 67.288v-7.806zm24.66 0c.591 0 1.36-.089 2.306-.266a10.417 10.417 0 002.75-.932 6.762 6.762 0 002.306-1.907c.65-.828.976-1.863.976-3.104V35.709c0-2.01.414-3.74 1.242-5.19.828-1.448 1.833-2.66 3.016-3.636s2.425-1.7 3.726-2.173c1.3-.473 2.424-.71 3.37-.71h8.073v7.451h-4.88c-1.241 0-2.232.207-2.97.621-.74.414-1.302.932-1.686 1.552a4.909 4.909 0 00-.71 1.996c-.089.71-.133 1.39-.133 2.04v16.677c0 1.715-.325 3.134-.976 4.258-.65 1.123-1.434 2.025-2.35 2.705-.917.68-1.863 1.168-2.839 1.464-.976.296-1.818.473-2.528.532v.178c.71.059 1.552.207 2.528.443.976.237 1.922.68 2.839 1.33.916.651 1.7 1.583 2.35 2.795.65 1.212.976 2.853.976 4.923v16.144c0 .65.044 1.33.133 2.04.089.71.325 1.375.71 1.996.384.621.946 1.139 1.685 1.553.74.414 1.73.62 2.972.62h4.879v7.452h-8.073c-.946 0-2.07-.237-3.37-.71-1.301-.473-2.543-1.197-3.726-2.173-1.183-.976-2.188-2.188-3.016-3.637-.828-1.449-1.242-3.179-1.242-5.19V74.119c0-1.42-.325-2.572-.976-3.46-.65-.886-1.419-1.581-2.306-2.084a8.868 8.868 0 00-2.75-1.02c-.946-.177-1.715-.266-2.306-.266v-7.806zm43.965-3.538L80.6 52.041l2.306 7.097-12.063 3.903 7.628 10.378-6.12 4.435-7.63-10.467-7.45 10.201-5.943-4.524 7.628-10.023-12.152-4.17 2.306-7.096 12.064 4.17V43.347h7.451v12.596zm34.425 11.344c-.65 0-1.449.089-2.395.266-.946.177-1.863.488-2.75.931a6.356 6.356 0 00-2.262 1.908c-.62.828-.931 1.862-.931 3.104v17.564c0 2.01-.414 3.74-1.242 5.189-.828 1.449-1.833 2.661-3.016 3.637s-2.425 1.7-3.726 2.173c-1.3.473-2.424.71-3.37.71h-8.073v-7.451h4.88c1.241 0 2.232-.207 2.97-.621.74-.414 1.302-.932 1.686-1.553a4.9 4.9 0 00.71-1.995c.089-.71.133-1.39.133-2.04V72.432c0-1.715.325-3.134.976-4.258.65-1.124 1.434-2.01 2.35-2.661.917-.65 1.863-1.124 2.839-1.42.976-.295 1.818-.502 2.528-.62v-.178c-.71-.059-1.552-.207-2.528-.443-.976-.237-1.922-.68-2.839-1.33-.916-.651-1.7-1.583-2.35-2.795-.65-1.212-.976-2.853-.976-4.923V37.66c0-.651-.044-1.331-.133-2.04a4.909 4.909 0 00-.71-1.997c-.384-.62-.946-1.138-1.685-1.552-.74-.414-1.73-.62-2.972-.62h-4.879V24h8.073c.946 0 2.07.237 3.37.71 1.301.473 2.543 1.197 3.726 2.173 1.183.976 2.188 2.188 3.016 3.637.828 1.449 1.242 3.178 1.242 5.189v16.943c0 1.419.31 2.572.931 3.46a6.897 6.897 0 002.262 2.084 8.868 8.868 0 002.75 1.02c.946.177 1.745.266 2.395.266v7.806zm24.66 0c-.65 0-1.449.089-2.395.266-.946.177-1.863.488-2.75.931a6.356 6.356 0 00-2.262 1.908c-.62.828-.931 1.862-.931 3.104v17.564c0 2.01-.414 3.74-1.242 5.189-.828 1.449-1.833 2.661-3.016 3.637s-2.425 1.7-3.726 2.173c-1.3.473-2.424.71-3.37.71h-8.073v-7.451h4.88c1.241 0 2.232-.207 2.97-.621.74-.414 1.302-.932 1.686-1.553a4.9 4.9 0 00.71-1.995c.089-.71.133-1.39.133-2.04V72.432c0-1.715.325-3.134.976-4.258.65-1.124 1.434-2.01 2.35-2.661.917-.65 1.863-1.124 2.839-1.42.976-.295 1.818-.502 2.528-.62v-.178c-.71-.059-1.552-.207-2.528-.443-.976-.237-1.922-.68-2.839-1.33-.916-.651-1.7-1.583-2.35-2.795-.65-1.212-.976-2.853-.976-4.923V37.66c0-.651-.044-1.331-.133-2.04a4.909 4.909 0 00-.71-1.997c-.384-.62-.946-1.138-1.685-1.552-.74-.414-1.73-.62-2.972-.62h-4.879V24h8.073c.946 0 2.07.237 3.37.71 1.301.473 2.543 1.197 3.726 2.173 1.183.976 2.188 2.188 3.016 3.637.828 1.449 1.242 3.178 1.242 5.189v16.943c0 1.419.31 2.572.931 3.46a6.897 6.897 0 002.262 2.084 8.868 8.868 0 002.75 1.02c.946.177 1.745.266 2.395.266v7.806z\"/></svg>"
  },
  {
    "path": "core/images/twitter.tid",
    "content": "title: $:/core/images/twitter\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-twitter tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M41.626 115.803A73.376 73.376 0 012 104.235c2.022.238 4.08.36 6.166.36 12.111 0 23.258-4.117 32.105-11.023-11.312-.208-20.859-7.653-24.148-17.883a25.98 25.98 0 0011.674-.441C15.971 72.881 7.061 62.474 7.061 49.997c0-.108 0-.216.002-.323a25.824 25.824 0 0011.709 3.22c-6.936-4.617-11.5-12.5-11.5-21.433 0-4.719 1.274-9.142 3.5-12.945 12.75 15.579 31.797 25.83 53.281 26.904-.44-1.884-.67-3.85-.67-5.868 0-14.22 11.575-25.75 25.852-25.75a25.865 25.865 0 0118.869 8.132 51.892 51.892 0 0016.415-6.248c-1.93 6.012-6.029 11.059-11.366 14.246A51.844 51.844 0 00128 25.878a52.428 52.428 0 01-12.9 13.33c.05 1.104.075 2.214.075 3.33 0 34.028-26 73.265-73.549 73.265\"/></svg>"
  },
  {
    "path": "core/images/underline.tid",
    "content": "title: $:/core/images/underline\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-underline tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M7 117.421h114.248V128H7v-10.579zm97.871-18.525V0h-16.26v55.856c0 4.463-.605 8.576-1.816 12.338-1.212 3.762-3.03 7.046-5.452 9.851-2.423 2.806-5.452 4.974-9.086 6.504-3.635 1.53-7.939 2.296-12.912 2.296-6.25 0-11.159-1.786-14.73-5.356-3.57-3.571-5.356-8.417-5.356-14.538V0H23v65.038c0 5.356.542 10.234 1.626 14.633 1.084 4.4 2.965 8.194 5.643 11.382 2.678 3.188 6.185 5.643 10.52 7.365 4.337 1.721 9.756 2.582 16.26 2.582 7.27 0 13.582-1.435 18.938-4.304 5.356-2.87 9.755-7.365 13.199-13.486h.382v15.686h15.303z\"/></svg>"
  },
  {
    "path": "core/images/unfold-all-button.tid",
    "content": "title: $:/core/images/unfold-all-button\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-unfold-all tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"128\" height=\"16\" rx=\"8\"/><rect width=\"128\" height=\"16\" y=\"64\" rx=\"8\"/><path d=\"M63.945 60.624c-2.05 0-4.101-.78-5.666-2.345L35.662 35.662c-3.125-3.125-3.13-8.195-.005-11.319 3.118-3.118 8.192-3.122 11.319.005L63.94 41.314l16.966-16.966c3.124-3.124 8.194-3.129 11.318-.005 3.118 3.118 3.122 8.192-.005 11.319L69.603 58.279a7.986 7.986 0 01-5.663 2.346zM64.004 124.565c-2.05 0-4.102-.78-5.666-2.345L35.721 99.603c-3.125-3.125-3.13-8.195-.005-11.319 3.118-3.118 8.191-3.122 11.318.005L64 105.255l16.966-16.966c3.124-3.124 8.194-3.129 11.318-.005 3.118 3.118 3.122 8.192-.005 11.319L69.662 122.22a7.986 7.986 0 01-5.663 2.346z\"/></g></svg>"
  },
  {
    "path": "core/images/unfold-button.tid",
    "content": "title: $:/core/images/unfold-button\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-unfold tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"128\" height=\"16\" rx=\"8\"/><path d=\"M63.945 63.624c-2.05 0-4.101-.78-5.666-2.345L35.662 38.662c-3.125-3.125-3.13-8.195-.005-11.319 3.118-3.118 8.192-3.122 11.319.005L63.94 44.314l16.966-16.966c3.124-3.124 8.194-3.129 11.318-.005 3.118 3.118 3.122 8.192-.005 11.319L69.603 61.279a7.986 7.986 0 01-5.663 2.346zM64.004 105.682c-2.05.001-4.102-.78-5.666-2.344L35.721 80.721c-3.125-3.125-3.13-8.195-.005-11.319 3.118-3.118 8.191-3.122 11.318.005L64 86.373l16.966-16.966c3.124-3.125 8.194-3.13 11.318-.005 3.118 3.118 3.122 8.192-.005 11.319l-22.617 22.617a7.986 7.986 0 01-5.663 2.346z\"/></g></svg>"
  },
  {
    "path": "core/images/unlocked-padlock.tid",
    "content": "title: $:/core/images/unlocked-padlock\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-unlocked-padlock tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M48.627 64H105v32.01C105 113.674 90.674 128 73.001 128H56C38.318 128 24 113.677 24 96.01V64h6.136c-10.455-12.651-27.364-35.788-4.3-55.142 24.636-20.672 45.835 4.353 55.777 16.201 9.943 11.85-2.676 22.437-12.457 9.892-9.78-12.545-21.167-24.146-33.207-14.043-12.041 10.104-1.757 22.36 8.813 34.958 2.467 2.94 3.641 5.732 3.865 8.134zm19.105 28.364A8.503 8.503 0 0064.5 76a8.5 8.5 0 00-3.498 16.25l-5.095 22.77H72.8l-5.07-22.656z\"/></svg>"
  },
  {
    "path": "core/images/up-arrow.tid",
    "content": "created: 20150316000544368\nmodified: 20150316000831867\ntags: $:/tags/Image\ntitle: $:/core/images/up-arrow\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-up-arrow tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M63.892.281c2.027 0 4.054.77 5.6 2.316l55.98 55.98a7.92 7.92 0 010 11.196c-3.086 3.085-8.104 3.092-11.196 0L63.894 19.393 13.513 69.774a7.92 7.92 0 01-11.196 0c-3.085-3.086-3.092-8.105 0-11.196l55.98-55.98A7.892 7.892 0 0163.893.28z\"/></svg>"
  },
  {
    "path": "core/images/video.tid",
    "content": "title: $:/core/images/video\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-video tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M64 12c-34.91 0-55.273 2.917-58.182 5.833C2.91 20.75 0 41.167 0 64.5c0 23.333 2.91 43.75 5.818 46.667C8.728 114.083 29.091 117 64 117c34.91 0 55.273-2.917 58.182-5.833C125.09 108.25 128 87.833 128 64.5c0-23.333-2.91-43.75-5.818-46.667C119.272 14.917 98.909 12 64 12zm-9.084 32.618c-3.813-2.542-6.905-.879-6.905 3.698v31.368c0 4.585 3.099 6.235 6.905 3.698l22.168-14.779c3.813-2.542 3.806-6.669 0-9.206L54.916 44.618z\"/></svg>"
  },
  {
    "path": "core/images/warning.tid",
    "content": "title: $:/core/images/warning\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-warning tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M57.072 11c3.079-5.333 10.777-5.333 13.856 0l55.426 96c3.079 5.333-.77 12-6.928 12H8.574c-6.158 0-10.007-6.667-6.928-12l55.426-96zM64 37c-4.418 0-8 3.582-8 7.994v28.012C56 77.421 59.59 81 64 81c4.418 0 8-3.582 8-7.994V44.994C72 40.579 68.41 37 64 37zm0 67a8 8 0 100-16 8 8 0 000 16z\"/></svg>"
  },
  {
    "path": "core/language/en-GB/Buttons.multids",
    "content": "title: $:/language/Buttons/\n\nAdvancedSearch/Caption: advanced search\nAdvancedSearch/Hint: Advanced search\nCancel/Caption: cancel\nCancel/Hint: Discard changes to this tiddler\nClone/Caption: clone\nClone/Hint: Clone this tiddler\nClose/Caption: close\nClose/Hint: Close this tiddler\nCloseAll/Caption: close all\nCloseAll/Hint: Close all tiddlers\nCloseOthers/Caption: close others\nCloseOthers/Hint: Close other tiddlers\nControlPanel/Caption: control panel\nControlPanel/Hint: Open control panel\nCopyToClipboard/Caption: copy to clipboard\nCopyToClipboard/Hint: Copy this text to the clipboard\nDelete/Caption: delete\nDelete/Hint: Delete this tiddler\nDeleteTiddlers/Caption: delete tiddlers\nDeleteTiddlers/Hint: Delete tiddlers\nEdit/Caption: edit\nEdit/Hint: Edit this tiddler\nEncryption/Caption: encryption\nEncryption/Hint: Set or clear a password for saving this wiki\nEncryption/ClearPassword/Caption: clear password\nEncryption/ClearPassword/Hint: Clear the password and save this wiki without encryption\nEncryption/SetPassword/Caption: set password\nEncryption/SetPassword/Hint: Set a password for saving this wiki with encryption\nEmergencyDownload/Caption: download tiddlers as json\nExportPage/Caption: export all\nExportPage/Hint: Export all tiddlers\nExportTiddler/Caption: export tiddler\nExportTiddler/Hint: Export tiddler\nExportTiddlers/Caption: export tiddlers\nExportTiddlers/Hint: Export tiddlers\nSidebarSearch/Hint: Select the sidebar search field\nFold/Caption: fold tiddler\nFold/Hint: Fold the body of this tiddler\nFold/FoldBar/Caption: fold-bar\nFold/FoldBar/Hint: Optional bars to fold and unfold tiddlers\nUnfold/Caption: unfold tiddler\nUnfold/Hint: Unfold the body of this tiddler\nFoldOthers/Caption: fold other tiddlers\nFoldOthers/Hint: Fold the bodies of other opened tiddlers\nFoldAll/Caption: fold all tiddlers\nFoldAll/Hint: Fold the bodies of all opened tiddlers\nUnfoldAll/Caption: unfold all tiddlers\nUnfoldAll/Hint: Unfold the bodies of all opened tiddlers\nFullScreen/Caption: full-screen\nFullScreen/Hint: Enter or leave full-screen mode\nHelp/Caption: help\nHelp/Hint: Show help panel\nImport/Caption: import\nImport/Hint: Import many types of file including text, image, TiddlyWiki or JSON\nInfo/Caption: info\nInfo/Hint: Show information for this tiddler\nHome/Caption: home\nHome/Hint: Open the default tiddlers\nLanguage/Caption: language\nLanguage/Hint: Choose the user interface language\nLayoutSwitcher/Hint: Open layout switcher\nLayoutSwitcher/Caption: layout\nManager/Caption: tiddler manager\nManager/Hint: Open tiddler manager\nMore/Caption: more\nMore/Hint: More actions\nNewHere/Caption: new here\nNewHere/Hint: Create a new tiddler tagged with this one\nNetworkActivity/Caption: network activity\nNetworkActivity/Hint: Cancel all network activity\nNewJournal/Caption: new journal\nNewJournal/Hint: Create a new journal tiddler\nNewJournalHere/Caption: new journal here\nNewJournalHere/Hint: Create a new journal tiddler tagged with this one\nNewImage/Caption: new image\nNewImage/Hint: Create a new image tiddler\nNewMarkdown/Caption: new Markdown tiddler\nNewMarkdown/Hint: Create a new Markdown tiddler\nNewTiddler/Caption: new tiddler\nNewTiddler/Hint: Create a new tiddler\nOpenControlPanel/Hint: Open control panel\nOpenWindow/Caption: open in new window\nOpenWindow/Hint: Open tiddler in new window\nPalette/Caption: palette\nPalette/Hint: Choose the colour palette\nPermalink/Caption: permalink\nPermalink/Hint: Set browser address bar to a direct link to this tiddler\nPermaview/Caption: permaview\nPermaview/Hint: Set browser address bar to a direct link to all the tiddlers in this story\nPrint/Caption: print page\nPrint/Hint: Print the current page\nRefresh/Caption: refresh\nRefresh/Hint: Perform a full refresh of the wiki\nSave/Caption: ok\nSave/Hint: Confirm changes to this tiddler\nSaveWiki/Caption: save changes\nSaveWiki/Hint: Save changes\nStoryView/Caption: storyview\nStoryView/Hint: Choose the story visualisation\nHideSideBar/Caption: hide sidebar\nHideSideBar/Hint: Hide sidebar\nShowSideBar/Caption: show sidebar\nShowSideBar/Hint: Show sidebar\nTagManager/Caption: tag manager\nTagManager/Hint: Open tag manager\nTestCaseImport/Caption: import tiddlers\nTestCaseImport/Hint: Import tiddlers\nTimestamp/Caption: timestamps\nTimestamp/Hint: Choose whether modifications update timestamps\nTimestamp/On/Caption: timestamps are on\nTimestamp/On/Hint: Update timestamps when tiddlers are modified\nTimestamp/Off/Caption: timestamps are off\nTimestamp/Off/Hint: Don't update timestamps when tiddlers are modified\nTheme/Caption: theme\nTheme/Hint: Choose the display theme\nBold/Caption: bold\nBold/Hint: Apply bold formatting to selection\nClear/Caption: clear\nClear/Hint: Clear image to solid colour\nEditorHeight/Caption: editor height\nEditorHeight/Caption/Auto: Automatically adjust height to fit content\nEditorHeight/Caption/Fixed: Fixed height:\nEditorHeight/Hint: Choose the height of the text editor\nExcise/Caption: excise\nExcise/Caption/Excise: Perform excision\nExcise/Caption/MacroName: Macro name:\nExcise/Caption/NewTitle: Title of new tiddler:\nExcise/Caption/Replace: Replace excised text with:\nExcise/Caption/Replace/Macro: macro\nExcise/Caption/Replace/Link: link\nExcise/Caption/Replace/Transclusion: transclusion\nExcise/Caption/Tag: Tag new tiddler with the title of this tiddler\nExcise/Caption/TiddlerExists: Warning: tiddler already exists\nExcise/DefaultTitle: New Excision\nExcise/Hint: Excise the selected text into a new tiddler\nHeading1/Caption: heading 1\nHeading1/Hint: Apply heading level 1 formatting to lines containing selection\nHeading2/Caption: heading 2\nHeading2/Hint: Apply heading level 2 formatting to lines containing selection\nHeading3/Caption: heading 3\nHeading3/Hint: Apply heading level 3 formatting to lines containing selection\nHeading4/Caption: heading 4\nHeading4/Hint: Apply heading level 4 formatting to lines containing selection\nHeading5/Caption: heading 5\nHeading5/Hint: Apply heading level 5 formatting to lines containing selection\nHeading6/Caption: heading 6\nHeading6/Hint: Apply heading level 6 formatting to lines containing selection\nItalic/Caption: italic\nItalic/Hint: Apply italic formatting to selection\nLineWidth/Caption: line width\nLineWidth/Hint: Set line width for painting\nLink/Caption: link\nLink/Hint: Create wikitext link\nLinkify/Caption: wikilink\nLinkify/Hint: Wrap selection in square brackets\nListBullet/Caption: bulleted list\nListBullet/Hint: Apply bulleted list formatting to lines containing selection\nListNumber/Caption: numbered list\nListNumber/Hint: Apply numbered list formatting to lines containing selection\nMonoBlock/Caption: monospaced block\nMonoBlock/Hint: Apply monospaced block formatting to lines containing selection\nMonoLine/Caption: monospaced\nMonoLine/Hint: Apply monospaced character formatting to selection\nOpacity/Caption: opacity\nOpacity/Hint: Set painting opacity\nPaint/Caption: paint colour\nPaint/Hint: Set painting colour\nPicture/Caption: picture\nPicture/Hint: Insert picture\nPreview/Caption: preview\nPreview/Hint: Show preview pane\nPreviewType/Caption: preview type\nPreviewType/Hint: Choose preview type\nQuote/Caption: quote\nQuote/Hint: Apply quoted text formatting to lines containing selection\nRotateLeft/Caption: rotate left\nRotateLeft/Hint: Rotate image left by 90 degrees\nSize/Caption: image size\nSize/Caption/Height: Height:\nSize/Caption/Resize: Resize image\nSize/Caption/Width: Width:\nSize/Hint: Set image size\nStamp/Caption: stamp\nStamp/Caption/New: Add your own\nStamp/Hint: Insert a preconfigured snippet of text\nStamp/New/Title: Name as shown in menu\nStamp/New/Text: Text of snippet. (Remember to add a descriptive title in the caption field).\nStrikethrough/Caption: strikethrough\nStrikethrough/Hint: Apply strikethrough formatting to selection\nSubscript/Caption: subscript\nSubscript/Hint: Apply subscript formatting to selection\nSuperscript/Caption: superscript\nSuperscript/Hint: Apply superscript formatting to selection\nToggleSidebar/Hint: Toggle the sidebar visibility\nTranscludify/Caption: transclusion\nTranscludify/Hint: Wrap selection in curly brackets\nUnderline/Caption: underline\nUnderline/Hint: Apply underline formatting to selection\n"
  },
  {
    "path": "core/language/en-GB/ControlPanel.multids",
    "content": "title: $:/language/ControlPanel/\n\nAdvanced/Caption: Advanced\nAdvanced/Hint: Internal information about this TiddlyWiki\nAppearance/Caption: Appearance\nAppearance/Hint: Ways to customise the appearance of your TiddlyWiki.\nBasics/AnimDuration/Prompt: Animation duration\nBasics/AutoFocus/Prompt: Default focus field for new tiddlers\nBasics/AutoFocusEdit/Prompt: Default focus field for existing tiddlers\nBasics/Caption: Basics\nBasics/DefaultTiddlers/BottomHint: Use &#91;&#91;double square brackets&#93;&#93; for titles with spaces. Or you can choose to {{retain story ordering||$:/snippets/retain-story-ordering-button}}\nBasics/DefaultTiddlers/Prompt: Default tiddlers\nBasics/DefaultTiddlers/TopHint: Choose which tiddlers are displayed at startup\nBasics/Language/Prompt: Hello! Current language:\nBasics/NewJournal/Title/Prompt: Title of new journal tiddlers\nBasics/NewJournal/Text/Prompt: Text for new journal tiddlers\nBasics/NewJournal/Tags/Prompt: Tags for new journal tiddlers\nBasics/NewTiddler/Title/Prompt: Title of new tiddlers\nBasics/NewTiddler/Tags/Prompt: Tags for new tiddlers\nBasics/OverriddenShadowTiddlers/Prompt: Number of overridden shadow tiddlers\nBasics/RemoveTags: Update to current format\nBasics/RemoveTags/Hint: Update the tags configuration to the latest format\nBasics/ShadowTiddlers/Prompt: Number of shadow tiddlers\nBasics/Subtitle/Prompt: Subtitle\nBasics/SystemTiddlers/Prompt: Number of system tiddlers\nBasics/Tags/Prompt: Number of tags\nBasics/Tiddlers/Prompt: Number of tiddlers\nBasics/Title/Prompt: Title of this ~TiddlyWiki\nBasics/Username/Prompt: Username for signing edits\nBasics/Version/Prompt: ~TiddlyWiki version\nCascades/Caption: Cascades\nCascades/Hint: These global rules are used to dynamically choose certain templates. The result of the cascade is the result of the first filter in the sequence that returns a result\nCascades/TagPrompt: Filters tagged <$macrocall $name=\"tag\" tag=<<currentTiddler>>/>\nEditorTypes/Caption: Editor Types\nEditorTypes/Editor/Caption: Editor\nEditorTypes/Hint: These tiddlers determine which editor is used to edit specific tiddler types.\nEditorTypes/Type/Caption: Type\nEditTemplateBody/Caption: Edit Template Body\nEditTemplateBody/Hint: This rule cascade is used by the default edit template to dynamically choose the template for editing the body of a tiddler.\nFieldEditor/Caption: Field Editor\nFieldEditor/Hint: This rules cascade is used to dynamically choose the template for rendering a tiddler field based on its name. It is used within the Edit Template.\nInfo/Caption: Info\nInfo/Hint: Information about this TiddlyWiki\nKeyboardShortcuts/Add/Prompt: Type shortcut here\nKeyboardShortcuts/Add/Caption: add shortcut\nKeyboardShortcuts/Caption: Keyboard Shortcuts\nKeyboardShortcuts/Hint: Manage keyboard shortcut assignments\nKeyboardShortcuts/NoShortcuts/Caption: No keyboard shortcuts assigned\nKeyboardShortcuts/Remove/Hint: remove keyboard shortcut\nKeyboardShortcuts/Platform/All: All platforms\nKeyboardShortcuts/Platform/Mac: Macintosh platform only\nKeyboardShortcuts/Platform/NonMac: Non-Macintosh platforms only\nKeyboardShortcuts/Platform/Linux: Linux platform only\nKeyboardShortcuts/Platform/NonLinux: Non-Linux platforms only\nKeyboardShortcuts/Platform/Windows: Windows platform only\nKeyboardShortcuts/Platform/NonWindows: Non-Windows platforms only\nLayoutSwitcher/Caption: Layout\nLoadedModules/Caption: Loaded Modules\nLoadedModules/Hint: These are the currently loaded tiddler modules linked to their source tiddlers. Any italicised modules lack a source tiddler, typically because they were setup during the boot process.\nPalette/Caption: Palette\nPalette/Editor/Clone/Caption: clone\nPalette/Editor/Clone/Prompt: It is recommended that you clone this shadow palette before editing it\nPalette/Editor/Delete/Hint: delete this entry from the current palette\nPalette/Editor/Names/External/Show: Show color names that are not part of the current palette\nPalette/Editor/Prompt/Modified: This shadow palette has been modified\nPalette/Editor/Prompt: Editing\nPalette/Editor/Reset/Caption: reset\nPalette/HideEditor/Caption: hide editor\nPalette/Prompt: Current palette:\nPalette/ShowEditor/Caption: show editor\nParsing/Caption: Parsing\nParsing/Hint: Here you can globally disable/enable wiki parser rules. For changes to take effect, save and reload your wiki. Disabling certain parser rules can prevent <$text text=\"TiddlyWiki\"/> from functioning correctly. Use [[safe mode|https://tiddlywiki.com/#SafeMode]] to restore normal operation.\nParsing/Block/Caption: Block Parse Rules\nParsing/Inline/Caption: Inline Parse Rules\nParsing/Pragma/Caption: Pragma Parse Rules\nPlugins/Add/Caption: Get more plugins\nPlugins/Add/Hint: Install plugins from the official library\nPlugins/AlreadyInstalled/Hint: This plugin is already installed at version <$text text=<<installedVersion>>/>\nPlugins/AlsoRequires: Also requires:\nPlugins/Caption: Plugins\nPlugins/Disable/Caption: disable\nPlugins/Disable/Hint: Disable this plugin when reloading page\nPlugins/Disabled/Status: (disabled)\nPlugins/Downgrade/Caption: downgrade\nPlugins/Empty/Hint: None\nPlugins/Enable/Caption: enable\nPlugins/Enable/Hint: Enable this plugin when reloading page\nPlugins/Install/Caption: install\nPlugins/Installed/Hint: Currently installed plugins:\nPlugins/Languages/Caption: Languages\nPlugins/Languages/Hint: Language pack plugins\nPlugins/NoInfoFound/Hint: No ''\"<$text text=<<currentTab>>/>\"'' found\nPlugins/NotInstalled/Hint: This plugin is not currently installed\nPlugins/OpenPluginLibrary: Open plugin library\nPlugins/ClosePluginLibrary: Close plugin library\nPlugins/PluginWillRequireReload: (requires reload)\nPlugins/Plugins/Caption: Plugins\nPlugins/Plugins/Hint: Plugins\nPlugins/Reinstall/Caption: reinstall\nPlugins/Stability/Deprecated: DEPRECATED\nPlugins/Stability/Experimental: EXPERIMENTAL\nPlugins/Stability/Legacy: LEGACY\nPlugins/Stability/Stable: STABLE\nPlugins/Themes/Caption: Themes\nPlugins/Themes/Hint: Theme plugins\nPlugins/Update/Caption: update\nPlugins/Updates/Caption: Updates\nPlugins/Updates/Hint: Available updates to installed plugins\nPlugins/Updates/UpdateAll/Caption: Update <<update-count>> plugins\nPlugins/SubPluginPrompt: With <<count>> sub-plugins available\nSaving/Caption: Saving\nSaving/DownloadSaver/AutoSave/Description: Permit automatic saving for the download saver\nSaving/DownloadSaver/AutoSave/Hint: Enable Autosave for Download Saver\nSaving/DownloadSaver/Caption: Download Saver\nSaving/DownloadSaver/Hint: These settings apply to the HTML5-compatible download saver\nSaving/General/Caption: General\nSaving/General/Hint: These settings apply to all the loaded savers\nSaving/Hint: Settings used for saving the entire TiddlyWiki as a single file via a saver module\nSaving/GitService/Branch: Target branch for saving\nSaving/GitService/CommitMessage: Saved by TiddlyWiki\nSaving/GitService/Description: These settings are only used when saving to <<service-name>>\nSaving/GitService/Filename: Filename of target file (e.g. `index.html`)\nSaving/GitService/Path: Path to target file (e.g. `/wiki/`)\nSaving/GitService/Repo: Target repository (e.g. `Jermolene/TiddlyWiki5`)\nSaving/GitService/ServerURL: Server API URL\nSaving/GitService/UserName: Username\nSaving/GitService/GitHub/Caption: ~GitHub Saver\nSaving/GitService/GitHub/Password: Password, OAUTH token, or personal access token (see [[GitHub help page|https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line]] for details)\nSaving/GitService/GitLab/Caption: ~GitLab Saver\nSaving/GitService/GitLab/Password: Personal access token for API (see [[GitLab help page|https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html]] for details)\nSaving/GitService/Gitea/Caption: Gitea Saver\nSaving/GitService/Gitea/Password: Personal access token for API (via Gitea’s web interface: `Settings | Applications | Generate New Token`)\nSaving/TiddlySpot/Advanced/Heading: Advanced Settings\nSaving/TiddlySpot/BackupDir: Backup Directory\nSaving/TiddlySpot/ControlPanel: ~TiddlyHost Control Panel\nSaving/TiddlySpot/Backups: Backups\nSaving/TiddlySpot/Caption: ~TiddlyHost Saver\nSaving/TiddlySpot/Description: These settings are only used when saving to [[TiddlyHost|https://tiddlyhost.com]] or a compatible remote server. See [[here|https://github.com/simonbaird/tiddlyhost/wiki/TiddlySpot-Saver-configuration-for-Tiddlyhost-and-Tiddlyspot]] for information on ~TiddlyHost saving configuration\nSaving/TiddlySpot/Filename: Upload Filename\nSaving/TiddlySpot/Heading: ~TiddlyHost\nSaving/TiddlySpot/Hint: //The server URL defaults to `http://<wikiname>.tiddlyspot.com/` and can be changed to use a custom server address, e.g. `http://example.com/store.php`.//\nSaving/TiddlySpot/Password: Password\nSaving/TiddlySpot/ServerURL: Server URL\nSaving/TiddlySpot/UploadDir: Upload Directory\nSaving/TiddlySpot/UserName: Wiki Name\nSettings/AutoSave/Caption: Autosave\nSettings/AutoSave/Disabled/Description: Do not save changes automatically\nSettings/AutoSave/Enabled/Description: Save changes automatically\nSettings/AutoSave/Hint: Attempt to automatically save changes during editing when using a supporting saver\nSettings/CamelCase/Caption: Camel Case Wiki Links\nSettings/CamelCase/Hint: Requires reload to take effect\nSettings/CamelCase/Description: Enable automatic ~CamelCase linking\nSettings/Caption: Settings\nSettings/EditorToolbar/Caption: Editor Toolbar\nSettings/EditorToolbar/Hint: Enable or disable the editor toolbar:\nSettings/EditorToolbar/Description: Show editor toolbar\nSettings/InfoPanelMode/Caption: Tiddler Info Panel Mode\nSettings/InfoPanelMode/Hint: Control when the tiddler info panel closes:\nSettings/InfoPanelMode/Popup/Description: Tiddler info panel closes automatically\nSettings/InfoPanelMode/Sticky/Description: Tiddler info panel stays open until explicitly closed\nSettings/Hint: These settings let you customise the behaviour of TiddlyWiki.\nSettings/NavigationAddressBar/Caption: Navigation Address Bar\nSettings/NavigationAddressBar/Hint: Behaviour of the browser address bar when navigating to a tiddler:\nSettings/NavigationAddressBar/No/Description: Do not update the address bar\nSettings/NavigationAddressBar/Permalink/Description: Include the target tiddler\nSettings/NavigationAddressBar/Permaview/Description: Include the target tiddler and the current story sequence\nSettings/NavigationHistory/Caption: Navigation History\nSettings/NavigationHistory/Hint: Update browser history when navigating to a tiddler:\nSettings/NavigationHistory/No/Description: Do not update history\nSettings/NavigationHistory/Yes/Description: Update history\nSettings/NavigationPermalinkviewMode/Caption: Permalink/permaview Mode\nSettings/NavigationPermalinkviewMode/Hint: Choose how permalink/permaview is handled:\nSettings/NavigationPermalinkviewMode/CopyToClipboard/Description: Copy permalink/permaview URL to clipboard\nSettings/NavigationPermalinkviewMode/UpdateAddressBar/Description: Update address bar with permalink/permaview URL\nSettings/PerformanceInstrumentation/Caption: Performance Instrumentation\nSettings/PerformanceInstrumentation/Hint: Displays performance statistics in the browser developer console. Requires reload to take effect\nSettings/PerformanceInstrumentation/Description: Enable performance instrumentation\nSettings/RecentLimit/Caption: Recent Tab Limit \nSettings/RecentLimit/Hint: Maximum number of tiddlers to be displayed under the sidebar \"Recent\" tab\nSettings/ToolbarButtonStyle/Caption: Toolbar Button Style\nSettings/ToolbarButtonStyle/Hint: Choose the style for toolbar buttons:\nSettings/ToolbarButtonStyle/Styles/Borderless: Borderless\nSettings/ToolbarButtonStyle/Styles/Boxed: Boxed\nSettings/ToolbarButtonStyle/Styles/Rounded: Rounded\nSettings/ToolbarButtons/Caption: Toolbar Buttons\nSettings/ToolbarButtons/Hint: Default toolbar button appearance:\nSettings/ToolbarButtons/Icons/Description: Include icon\nSettings/ToolbarButtons/Text/Description: Include text\nSettings/DefaultSidebarTab/Caption: Default Sidebar Tab\nSettings/DefaultSidebarTab/Hint: Specify which sidebar tab is displayed by default\nSettings/DefaultMoreSidebarTab/Caption: Default More Sidebar Tab\nSettings/DefaultMoreSidebarTab/Hint: Specify which More sidebar tab is displayed by default\nSettings/DefaultTiddlerInfoTab/Caption: Default Tiddler Info Tab\nSettings/DefaultTiddlerInfoTab/Hint: Specify which tab is displayed by default when tiddler info panel is opened\nSettings/LinkToBehaviour/Caption: Tiddler Opening Behaviour\nSettings/LinkToBehaviour/InsideRiver/Hint: Navigation from //within// the story river\nSettings/LinkToBehaviour/OutsideRiver/Hint: Navigation from //outside// the story river\nSettings/LinkToBehaviour/OpenAbove: Open above the current tiddler\nSettings/LinkToBehaviour/OpenBelow: Open below the current tiddler\nSettings/LinkToBehaviour/OpenAtTop: Open at the top of the story river\nSettings/LinkToBehaviour/OpenAtBottom: Open at the bottom of the story river\nSettings/TitleLinks/Caption: Tiddler Titles\nSettings/TitleLinks/Hint: Optionally display tiddler titles as links\nSettings/TitleLinks/No/Description: Do not display tiddler titles as links\nSettings/TitleLinks/Yes/Description: Display tiddler titles as links\nSettings/MissingLinks/Caption: Wiki Links\nSettings/MissingLinks/Hint: Choose whether to link to tiddlers that do not exist yet\nSettings/MissingLinks/Description: Enable links to missing tiddlers\nSocialCard/Caption: Social Media Card\nSocialCard/Domain/Prompt: Domain name to display for the link (for example, ''tiddlywiki.com'')\nSocialCard/Hint: This information is used by social and messaging services to display a preview card for links to this ~TiddlyWiki when hosted online\nSocialCard/PreviewUrl/Prompt: Full URL to preview image for this ~TiddlyWiki\nSocialCard/PreviewUrl/Preview: Preview image:\nSocialCard/Url/Prompt: Full URL of this ~TiddlyWiki\nStoryTiddler/Caption: Story Tiddler\nStoryTiddler/Hint: This rule cascade is used to dynamically choose the template for displaying a tiddler in the story river.\nStoryView/Caption: Story View\nStoryView/Prompt: Current view:\nStylesheets/Caption: Stylesheets\nStylesheets/Expand/Caption: Expand All\nStylesheets/Hint: This is the rendered CSS of the current stylesheet tiddlers tagged with <<tag \"$:/tags/Stylesheet\">>\nStylesheets/Restore/Caption: Restore\nTestCases/Caption: Test Cases\nTestCases/Hint: Test cases are self contained examples for testing and learning\nTestCases/All/Caption: All Test Cases\nTestCases/All/Hint: All Test Cases\nTestCases/Failed/Caption: Failed Test Cases\nTestCases/Failed/Hint: Only Failed Test Cases\nTheme/Caption: Theme\nTheme/Prompt: Current theme:\nTiddlerFields/Caption: Tiddler Fields\nTiddlerFields/Hint: This is the full set of TiddlerFields in use in this wiki (including system tiddlers but excluding shadow tiddlers).\nTiddlerColour/Caption: Tiddler Colour\nTiddlerColour/Hint: This rules cascade is used to dynamically choose the colour for a tiddler (used for the icon and the associated tag pill).\nTiddlerIcon/Caption: Tiddler Icon\nTiddlerIcon/Hint: This rules cascade is used to dynamically choose the icon for a tiddler.\nToolbars/Caption: Toolbars\nToolbars/EditToolbar/Caption: Edit Toolbar\nToolbars/EditToolbar/Hint: Choose which buttons are displayed for tiddlers in edit mode. Drag and drop to change the ordering\nToolbars/Hint: Select which toolbar buttons are displayed\nToolbars/PageControls/Caption: Page Toolbar\nToolbars/PageControls/Hint: Choose which buttons are displayed on the main page toolbar. Drag and drop to change the ordering\nToolbars/EditorToolbar/Caption: Editor Toolbar\nToolbars/EditorToolbar/Hint: Choose which buttons are displayed in the editor toolbar. Note that some buttons will only appear when editing tiddlers of a certain type. Drag and drop to change the ordering\nToolbars/ViewToolbar/Caption: View Toolbar\nToolbars/ViewToolbar/Hint: Choose which buttons are displayed for tiddlers in view mode. Drag and drop to change the ordering\nTools/Download/Full/Caption: Download full wiki\nViewTemplateBody/Caption: View Template Body\nViewTemplateBody/Hint: This rule cascade is used by the default view template to dynamically choose the template for displaying the body of a tiddler.\nViewTemplateTitle/Caption: View Template Title\nViewTemplateTitle/Hint: This rule cascade is used by the default view template to dynamically choose the template for displaying the title of a tiddler.\nViewTemplateSubtitle/Caption: View Template Subtitle\nViewTemplateSubtitle/Hint: This rule cascade is used by the default view template to dynamically choose the template for displaying the subtitle of a tiddler.\nViewTemplateTags/Caption: View Template Tags\nViewTemplateTags/Hint: This rule cascade is used by the default view template to dynamically choose the template for displaying the tags area of a tiddler.\nWikiInformation/Caption: Wiki Information\nWikiInformation/Hint: This page summarises high level information about the configuration of this ~TiddlyWiki. It is designed to enable users to quickly share relevant aspects of the configuration of their ~TiddlyWiki with others, for example when seeking help in one of the forums. No private or personal information is included, and nothing is shared without being explicitly copied and pasted elsewhere\nWikiInformation/Drag/Caption: Drag this link to copy this tool to another wiki"
  },
  {
    "path": "core/language/en-GB/Dates.multids",
    "content": "title: $:/language/\n\nDate/DaySuffix/1: st\nDate/DaySuffix/2: nd\nDate/DaySuffix/3: rd\nDate/DaySuffix/4: th\nDate/DaySuffix/5: th\nDate/DaySuffix/6: th\nDate/DaySuffix/7: th\nDate/DaySuffix/8: th\nDate/DaySuffix/9: th\nDate/DaySuffix/10: th\nDate/DaySuffix/11: th\nDate/DaySuffix/12: th\nDate/DaySuffix/13: th\nDate/DaySuffix/14: th\nDate/DaySuffix/15: th\nDate/DaySuffix/16: th\nDate/DaySuffix/17: th\nDate/DaySuffix/18: th\nDate/DaySuffix/19: th\nDate/DaySuffix/20: th\nDate/DaySuffix/21: st\nDate/DaySuffix/22: nd\nDate/DaySuffix/23: rd\nDate/DaySuffix/24: th\nDate/DaySuffix/25: th\nDate/DaySuffix/26: th\nDate/DaySuffix/27: th\nDate/DaySuffix/28: th\nDate/DaySuffix/29: th\nDate/DaySuffix/30: th\nDate/DaySuffix/31: st\nDate/Long/Day/0: Sunday\nDate/Long/Day/1: Monday\nDate/Long/Day/2: Tuesday\nDate/Long/Day/3: Wednesday\nDate/Long/Day/4: Thursday\nDate/Long/Day/5: Friday\nDate/Long/Day/6: Saturday\nDate/Long/Month/1: January\nDate/Long/Month/2: February\nDate/Long/Month/3: March\nDate/Long/Month/4: April\nDate/Long/Month/5: May\nDate/Long/Month/6: June\nDate/Long/Month/7: July\nDate/Long/Month/8: August\nDate/Long/Month/9: September\nDate/Long/Month/10: October\nDate/Long/Month/11: November\nDate/Long/Month/12: December\nDate/Period/am: am\nDate/Period/pm: pm\nDate/Short/Day/0: Sun\nDate/Short/Day/1: Mon\nDate/Short/Day/2: Tue\nDate/Short/Day/3: Wed\nDate/Short/Day/4: Thu\nDate/Short/Day/5: Fri\nDate/Short/Day/6: Sat\nDate/Short/Month/1: Jan\nDate/Short/Month/2: Feb\nDate/Short/Month/3: Mar\nDate/Short/Month/4: Apr\nDate/Short/Month/5: May\nDate/Short/Month/6: Jun\nDate/Short/Month/7: Jul\nDate/Short/Month/8: Aug\nDate/Short/Month/9: Sep\nDate/Short/Month/10: Oct\nDate/Short/Month/11: Nov\nDate/Short/Month/12: Dec\nRelativeDate/Future/Days: <<period>> days from now\nRelativeDate/Future/Hours: <<period>> hours from now\nRelativeDate/Future/Minutes: <<period>> minutes from now\nRelativeDate/Future/Months: <<period>> months from now\nRelativeDate/Future/Second: 1 second from now\nRelativeDate/Future/Seconds: <<period>> seconds from now\nRelativeDate/Future/Years: <<period>> years from now\nRelativeDate/Past/Days: <<period>> days ago\nRelativeDate/Past/Hours: <<period>> hours ago\nRelativeDate/Past/Minutes: <<period>> minutes ago\nRelativeDate/Past/Months: <<period>> months ago\nRelativeDate/Past/Second: 1 second ago\nRelativeDate/Past/Seconds: <<period>> seconds ago\nRelativeDate/Past/Years: <<period>> years ago\n"
  },
  {
    "path": "core/language/en-GB/Docs/ModuleTypes.multids",
    "content": "title: $:/language/Docs/ModuleTypes/\n\nallfilteroperator: A sub-operator for the ''all'' filter operator.\nanimation: Animations that may be used with the RevealWidget.\nauthenticator: Defines how requests are authenticated by the built-in HTTP server.\nbitmapeditoroperation: A bitmap editor toolbar operation.\ncommand: Commands that can be executed under Node.js.\nconfig: Data to be inserted into `$tw.config`.\nfilteroperator: Individual filter operator methods.\nglobal: Global data to be inserted into `$tw`.\ninfo: Publishes system information via the [[$:/temp/info-plugin]] pseudo-plugin.\nisfilteroperator: Parameters for the ''is'' filter operator.\nlibrary: Generic module type for general purpose JavaScript modules.\nmacro: JavaScript macro definitions.\nparser: Parsers for different content types.\nroute: Defines how individual URL patterns are handled by the built-in HTTP server.\nsaver: Savers handle different methods for saving files from the browser.\nstartup: Startup functions.\nstoryview: Story views customise the animation and behaviour of list widgets.\ntexteditoroperation: A text editor toolbar operation.\ntiddlerdeserializer: Converts different content types into tiddlers.\ntiddlerfield: Defines the behaviour of an individual tiddler field.\ntiddlermethod: Adds methods to the `$tw.Tiddler` prototype.\nupgrader: Applies upgrade processing to tiddlers during an upgrade/import.\nutils: Adds methods to `$tw.utils`.\nutils-browser: Adds browser-specific methods to `$tw.utils`.\nutils-node: Adds Node.js-specific methods to `$tw.utils`.\nwidget: Widgets encapsulate DOM rendering and refreshing.\nwikimethod: Adds methods to `$tw.Wiki`.\nwikirule: Individual parser rules for the main WikiText parser.\n"
  },
  {
    "path": "core/language/en-GB/Docs/PaletteColours.multids",
    "content": "title: $:/language/Docs/PaletteColours/\n\nalert-background: Alert background\nalert-border: Alert border\nalert-highlight: Alert highlight\nalert-muted-foreground: Alert muted foreground\nbackground: General background\nblockquote-bar: Blockquote bar\nbutton-background: Default button background\nbutton-border: Default button border\nbutton-foreground: Default button foreground\ndirty-indicator: Unsaved changes indicator\ncode-background: Code background\ncode-border: Code border\ncode-foreground: Code foreground\ndownload-background: Download button background\ndownload-foreground: Download button foreground\ndragger-background: Dragger background\ndragger-foreground: Dragger foreground\ndropdown-background: Dropdown background\ndropdown-border: Dropdown border\ndropdown-tab-background-selected: Dropdown tab background for selected tabs\ndropdown-tab-background: Dropdown tab background\ndropzone-background: Dropzone background\nexternal-link-background-hover: External link background hover\nexternal-link-background-visited: External link background visited\nexternal-link-background: External link background\nexternal-link-foreground-hover: External link foreground hover\nexternal-link-foreground-visited: External link foreground visited\nexternal-link-foreground: External link foreground\nforeground: General foreground\nmenubar-background: Menu bar background\nmenubar-foreground: Menu bar foreground\nmessage-background: Message box background\nmessage-border: Message box border\nmessage-foreground: Message box foreground\nmodal-backdrop: Modal backdrop\nmodal-background: Modal background\nmodal-border: Modal border\nmodal-footer-background: Modal footer background\nmodal-footer-border: Modal footer border\nmodal-header-border: Modal header border\nmuted-foreground: General muted foreground\nnotification-background: Notification background\nnotification-border: Notification border\npage-background: Page background\npre-background: Preformatted code background\npre-border: Preformatted code border\nprimary: General primary\nselect-tag-background: `<select>` element background\nselect-tag-foreground: `<select>` element text\nsidebar-button-foreground: Sidebar button foreground\nsidebar-controls-foreground-hover: Sidebar controls foreground hover\nsidebar-controls-foreground: Sidebar controls foreground\nsidebar-foreground-shadow: Sidebar foreground shadow\nsidebar-foreground: Sidebar foreground\nsidebar-muted-foreground-hover: Sidebar muted foreground hover\nsidebar-muted-foreground: Sidebar muted foreground\nsidebar-tab-background-selected: Sidebar tab background for selected tabs\nsidebar-tab-background: Sidebar tab background\nsidebar-tab-border-selected: Sidebar tab border for selected tabs\nsidebar-tab-border: Sidebar tab border\nsidebar-tab-divider: Sidebar tab divider\nsidebar-tab-foreground-selected: Sidebar tab foreground for selected tabs\nsidebar-tab-foreground: Sidebar tab foreground\nsidebar-tiddler-link-foreground-hover: Sidebar tiddler link foreground hover\nsidebar-tiddler-link-foreground: Sidebar tiddler link foreground\nstability-stable: Badge for stability level \"stable\"\nstability-experimental: Badge for stability level \"experimental\"\nstability-deprecated: Badge for stability level \"deprecated\"\nstability-legacy: Badge for stability level \"legacy\"\ntestcase-accent-level-1: Test case accent colour with no nesting\ntestcase-accent-level-2: Test case accent colour with 2nd level nesting\ntestcase-accent-level-3: Test case accent colour with 3rd level nesting or higher\nsite-title-foreground: Site title foreground\nstatic-alert-foreground: Static alert foreground\ntab-background-selected: Tab background for selected tabs\ntab-background: Tab background\ntab-border-selected: Tab border for selected tabs\ntab-border: Tab border\ntab-divider: Tab divider\ntab-foreground-selected: Tab foreground for selected tabs\ntab-foreground: Tab foreground\ntable-border: Table border\ntable-footer-background: Table footer background\ntable-header-background: Table header background\ntag-background: Tag background\ntag-foreground: Tag foreground\ntiddler-background: Tiddler background\ntiddler-border: Tiddler border\ntiddler-controls-foreground-hover: Tiddler controls foreground hover\ntiddler-controls-foreground-selected: Tiddler controls foreground for selected controls\ntiddler-controls-foreground: Tiddler controls foreground\ntiddler-editor-background: Tiddler editor background\ntiddler-editor-border-image: Tiddler editor border image\ntiddler-editor-border: Tiddler editor border\ntiddler-editor-fields-even: Tiddler editor background for even fields\ntiddler-editor-fields-odd: Tiddler editor background for odd fields\ntiddler-info-background: Tiddler info panel background\ntiddler-info-border: Tiddler info panel border\ntiddler-info-tab-background: Tiddler info panel tab background\ntiddler-link-background: Tiddler link background\ntiddler-link-foreground: Tiddler link foreground\ntiddler-subtitle-foreground: Tiddler subtitle foreground\ntiddler-title-foreground: Tiddler title foreground\ntoolbar-new-button: Toolbar 'new tiddler' button foreground\ntoolbar-options-button: Toolbar 'options' button foreground\ntoolbar-save-button: Toolbar 'save' button foreground\ntoolbar-info-button: Toolbar 'info' button foreground\ntoolbar-edit-button: Toolbar 'edit' button foreground\ntoolbar-close-button: Toolbar 'close' button foreground\ntoolbar-delete-button: Toolbar 'delete' button foreground\ntoolbar-cancel-button: Toolbar 'cancel' button foreground\ntoolbar-done-button: Toolbar 'done' button foreground\nuntagged-background: Untagged pill background\nvery-muted-foreground: Very muted foreground\n"
  },
  {
    "path": "core/language/en-GB/Draft.multids",
    "content": "title: $:/language/Draft/\n\nAttribution: Draft of '<<draft-title>>' by {{$:/status/UserName}}\nTitle: Draft of '<<draft-title>>'"
  },
  {
    "path": "core/language/en-GB/EditTemplate.multids",
    "content": "title: $:/language/EditTemplate/\n\nCaption: Editor\nBody/External/Hint: This tiddler shows content stored outside of the main TiddlyWiki file. You can edit the tags and fields but cannot directly edit the content itself\nBody/Placeholder: Type the text for this tiddler\nBody/Preview/Type/Output: output\nBody/Preview/Type/DiffShadow: differences from shadow (if any)\nBody/Preview/Type/DiffCurrent: differences from current\nField/Remove/Caption: remove field\nField/Remove/Hint: Remove field\nField/Dropdown/Caption: field list\nField/Dropdown/Hint: Show field list\nFields/Add/Button: add\nFields/Add/Button/Hint: Add the new field to the tiddler\nFields/Add/Name/Placeholder: field name\nFields/Add/Prompt: Add a new field:\nFields/Add/Value/Placeholder: field value\nFields/Add/Dropdown/System: System fields\nFields/Add/Dropdown/User: User fields\nShadow/Warning: This is a shadow tiddler. Any changes you make will override the default version from the plugin <<pluginLink>>\nShadow/OverriddenWarning: This is a modified shadow tiddler. You can revert to the default version in the plugin <<pluginLink>> by deleting this tiddler\nTags/Add/Button: add\nTags/Add/Button/Hint: add tag\nTags/Add/Placeholder: tag name\nTags/ClearInput/Caption: clear input\nTags/ClearInput/Hint: Clear tag input\nTags/Dropdown/Caption: tag list\nTags/Dropdown/Hint: Show tag list\nTags/EmptyMessage: No tags found\nTags/EmptyMessage/System: No system tags found\nTitle/BadCharacterWarning: Warning: avoid using any of the characters <<bad-chars>> in tiddler titles\nTitle/Exists/Prompt: Target tiddler already exists\nTitle/Relink/Prompt: Update ''<$text text=<<fromTitle>>/>'' to ''<$text text=<<toTitle>>/>'' in the //tags// and //list// fields of other tiddlers\nTitle/References/Prompt: The following references to this tiddler will not be automatically updated:\nType/Dropdown/Caption: content type list\nType/Dropdown/Hint: Show content type list\nType/Delete/Caption: delete content type\nType/Delete/Hint: Delete content type\nType/Placeholder: content type\nType/Prompt: Type:\n"
  },
  {
    "path": "core/language/en-GB/Exporters.multids",
    "content": "title: $:/language/Exporters/\n\nStaticRiver: Static HTML\nJsonFile: JSON file\nCsvFile: CSV file\nTidFile: TID text file\n"
  },
  {
    "path": "core/language/en-GB/Fields.multids",
    "content": "title: $:/language/Docs/Fields/\n\n_canonical_uri: The full URI of an external image tiddler\nauthor: Name of the author of a plugin\nbag: The name of the bag from which a tiddler came\ncaption: The text to be displayed on a tab or button\nclass: The CSS class applied to a tiddler when rendering it.  Also used for Modals\ncode-body: The view template will display the tiddler as code if set to ''yes''\ncolor: The CSS color value associated with a tiddler\ncomponent: The name of the component responsible for an alert tiddler\ncore-version: For a plugin, indicates what version of TiddlyWiki with which it is compatible\ncurrent-tiddler: Used to cache the top tiddler in a history list\ncreated: The date a tiddler was created\ncreator: The name of the person who created a tiddler\ndependents: For a plugin, lists the dependent plugin titles\ndescription: The descriptive text for a plugin, or a modal dialogue\ndraft.of: For draft tiddlers, contains the title of the tiddler of which this is a draft\ndraft.title: For draft tiddlers, contains the proposed new title of the tiddler\nfooter: The footer text for a modal\nhide-body: The view template will hide bodies of tiddlers if set to ''yes''\nicon: The title of the tiddler containing the icon associated with a tiddler\nlibrary: Indicates that a tiddler should be saved as a JavaScript library if set to ''yes''\nlist: An ordered list of tiddler titles associated with a tiddler\nlist-before: If set, the title of a tiddler before which this tiddler should be added to the ordered list of tiddler titles, or at the start of the list if this field is present but empty\nlist-after: If set, the title of the tiddler after which this tiddler should be added to the ordered list of tiddler titles, or at the end of the list if this field is present but empty\nmodified: The date and time at which a tiddler was last modified\nmodifier: The tiddler title associated with the person who last modified a tiddler\nmodule-type: For javascript tiddlers, specifies what kind of module it is\nname: The human readable name associated with a plugin tiddler\nparent-plugin: For a plugin, specifies which plugin of which it is a sub-plugin\nplugin-priority: A numerical value indicating the priority of a plugin tiddler\nplugin-type: The type of plugin in a plugin tiddler\nstability: The development status of a plugin: deprecated, experimental, stable, or legacy\nrevision: The revision of the tiddler held at the server\nreleased: Date of a TiddlyWiki release\nsource: The source URL associated with a tiddler\nsubtitle: The subtitle text for a modal\ntags: A list of tags associated with a tiddler\ntext: The body text of a tiddler\nthrottle.refresh: If present, throttles refreshes of this tiddler\ntitle: The unique name of a tiddler\ntoc-link: Suppresses the tiddler's link in a Table of Contents tree if set to ''no'' \ntype: The content type of a tiddler\nversion: Version information for a plugin\n_is_skinny: If present, indicates that the tiddler text field must be loaded from the server\n"
  },
  {
    "path": "core/language/en-GB/Filters.multids",
    "content": "title: $:/language/Filters/\n\nAllTiddlers: All tiddlers except system tiddlers\nRecentSystemTiddlers: Recently modified tiddlers, including system tiddlers\nRecentTiddlers: Recently modified tiddlers\nAllTags: All tags except system tags\nMissing: Missing tiddlers\nDrafts: Draft tiddlers\nOrphans: Orphan tiddlers\nSystemTiddlers: System tiddlers\nShadowTiddlers: Shadow tiddlers\nOverriddenShadowTiddlers: Overridden shadow tiddlers\nSessionTiddlers: Tiddlers modified since the wiki was loaded\nSystemTags: System tags\nStoryList: Tiddlers in the story river, excluding <$text text=\"$:/AdvancedSearch\"/>\nTypedTiddlers: Non wiki-text tiddlers"
  },
  {
    "path": "core/language/en-GB/GettingStarted.tid",
    "content": "title: GettingStarted\n\n\\define lingo-base() $:/language/ControlPanel/Basics/\nWelcome to ~TiddlyWiki and the ~TiddlyWiki community\n\nBefore you start storing important information in ~TiddlyWiki it is vital to make sure that you can reliably save changes. See https://tiddlywiki.com/#GettingStarted for details\n\n!! Set up this ~TiddlyWiki\n\n<div class=\"tc-control-panel\">\n\n|tc-table-no-border tc-first-col-min-width tc-first-link-nowrap|k\n| <$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link>|<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n| <$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link>|<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|^ <$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link><br><<lingo DefaultTiddlers/TopHint>>|<$edit tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\nSee the [[control panel|$:/ControlPanel]] for more options.\n"
  },
  {
    "path": "core/language/en-GB/Help/build.tid",
    "content": "title: $:/language/Help/build\ndescription: Automatically run configured commands\n\nBuild the specified build targets for the current wiki. If no build targets are specified then all available targets will be built.\n\n```\n--build <target> [<target> ...]\n```\n\nBuild targets are defined in the `tiddlywiki.info` file of a wiki folder.\n\n"
  },
  {
    "path": "core/language/en-GB/Help/clearpassword.tid",
    "content": "title: $:/language/Help/clearpassword\ndescription: Clear a password for subsequent crypto operations\n\nClear the password for subsequent crypto operations\n\n```\n--clearpassword\n```\n"
  },
  {
    "path": "core/language/en-GB/Help/commands.tid",
    "content": "title: $:/language/Help/commands\ndescription: Run commands returned from a filter\n\nSequentially run the command tokens returned from a filter\n\n```\n--commands <filter>\n```\n\nExamples\n\n```\n--commands \"[enlist:raw{$:/build-commands-as-text}]\"\n```\n\n```\n--commands \"[{$:/build-commands-as-json}jsonindexes[]] :map[{$:/build-commands-as-json}jsonget<currentTiddler>]\"\n```\n"
  },
  {
    "path": "core/language/en-GB/Help/default.tid",
    "content": "title: $:/language/Help/default\n\n\\define commandTitle()\n$:/language/Help/$(command)$\n\\end\n\\whitespace trim\n```\nusage: tiddlywiki [<wikifolder>] [--<command> [<args>...]...]\n```\n\nAvailable commands:\n\n<ul>\n<$list filter=\"[commands[]sort[title]]\" variable=\"command\">\n<li><$link to=<<commandTitle>>><$macrocall $name=\"command\" $type=\"text/plain\" $output=\"text/plain\"/></$link>:\n&#32;\n<$transclude tiddler=<<commandTitle>> field=\"description\"/></li>\n</$list>\n</ul>\n\nTo get detailed help on a command:\n\n```\ntiddlywiki --help <command>\n```\n"
  },
  {
    "path": "core/language/en-GB/Help/deletetiddlers.tid",
    "content": "title: $:/language/Help/deletetiddlers\ndescription: Deletes a group of tiddlers\n\n<<.from-version \"5.1.20\">> Deletes a group of tiddlers identified by a filter.\n\n```\n--deletetiddlers <filter>\n```\n"
  },
  {
    "path": "core/language/en-GB/Help/editions.tid",
    "content": "title: $:/language/Help/editions\ndescription: Lists the available editions of TiddlyWiki\n\nLists the names and descriptions of the available editions. You can create a new wiki of a specified edition with the `--init` command.\n\n```\n--editions\n```\n"
  },
  {
    "path": "core/language/en-GB/Help/fetch.tid",
    "content": "title: $:/language/Help/fetch\ndescription: Fetch tiddlers from wiki by URL\n\nFetch one or more files over HTTP/HTTPS, and import the tiddlers matching a filter, optionally transforming the incoming titles.\n\n```\n--fetch file <url> <import-filter> <transform-filter>\n--fetch files <url-filter> <import-filter> <transform-filter>\n--fetch raw-file <url> <transform-filter>\n--fetch raw-files <url-filter> <transform-filter>\n```\n\nThe \"file\" and \"files\" variants fetch the specified files and attempt to import the tiddlers within them (the same processing as if the files were dragged into the browser window). The \"raw-file\" and \"raw-files\" variants fetch the specified files and then store the raw file data in tiddlers, without applying the import logic.\n\nWith the \"file\" and \"raw-file\" variants only a single file is fetched and the first parameter is the URL of the file to read.\n\nWith the \"files\" and \"raw-files\" variants, multiple files are fetched and the first parameter is a filter yielding a list of URLs of the files to read. For example, given a set of tiddlers tagged \"remote-server\" that have a field \"url\" the filter `[tag[remote-server]get[url]]` will retrieve all the available URLs.\n\nFor the \"file\" and \"files\" variants, the `<import-filter>` parameter specifies a filter determining which tiddlers are imported. It defaults to `[all[tiddlers]]` if not provided.\n\nFor all variants, the `<transform-filter>` parameter specifies an optional filter that transforms the titles of the imported tiddlers. For example, `[addprefix[$:/myimports/]]` would add the prefix `$:/myimports/` to each title.\n\nPreceding the `--fetch` command with `--verbose` will output progress information during the import.\n\nNote that TiddlyWiki will not fetch an older version of an already loaded plugin.\n\nThe following example retrieves all the non-system tiddlers from https://tiddlywiki.com and saves them to a JSON file:\n\n```\ntiddlywiki --verbose --fetch file \"https://tiddlywiki.com/\" \"[!is[system]]\" \"\" --rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[!is[system]]\"\n```\n\nThe following example retrieves the \"favicon\" file from tiddlywiki.com and saves it in a file called \"output.ico\". Note that the intermediate tiddler \"Icon Tiddler\" is quoted in the \"--fetch\" command because it is being used as a transformation filter to replace the default title, while there are no quotes for the \"--savetiddler\" command because it is being used directly as a title.\n\n```\ntiddlywiki --verbose --fetch raw-file \"https://tiddlywiki.com/favicon.ico\" \"[[Icon Tiddler]]\" --savetiddler \"Icon Tiddler\" output.ico\n```\n\n"
  },
  {
    "path": "core/language/en-GB/Help/help.tid",
    "content": "title: $:/language/Help/help\ndescription: Display help for TiddlyWiki commands\n\nDisplays help text for a command:\n\n```\n--help [<command>]\n```\n\nIf the command name is omitted then a list of available commands is displayed.\n"
  },
  {
    "path": "core/language/en-GB/Help/import.tid",
    "content": "title: $:/language/Help/import\ndescription: Import tiddlers from a file\n\nImport tiddlers from TiddlyWiki (`.html`), `.tiddler`, `.tid`, `.json` or other local files. The deserializer must be explicitly specified, unlike the `load` command which infers the deserializer from the file extension.\n\n```\n--import <filepath> <deserializer> [<title>] [<encoding>]\n```\n\nThe deserializers in the core include:\n\n* application/javascript\n* application/json\n* application/x-tiddler\n* application/x-tiddler-html-div\n* application/x-tiddlers\n* text/html\n* text/plain\n\nThe title of the imported tiddler defaults to the filename.\n\nThe encoding defaults to \"utf8\", but can be \"base64\" for importing binary files.\n\nNote that TiddlyWiki will not import an older version of an already loaded plugin.\n"
  },
  {
    "path": "core/language/en-GB/Help/init.tid",
    "content": "title: $:/language/Help/init\ndescription: Initialise a new wiki folder\n\nInitialise an empty [[WikiFolder|WikiFolders]] with a copy of the specified edition.\n\n```\n--init <edition> [<edition> ...]\n```\n\nFor example:\n\n```\ntiddlywiki ./MyWikiFolder --init empty\n```\n\nNote:\n\n* The wiki folder directory will be created if necessary\n* The \"edition\" defaults to ''empty''\n* The init command will fail if the wiki folder is not empty\n* The init command removes any `includeWikis` definitions in the edition's `tiddlywiki.info` file\n* When multiple editions are specified, editions initialised later will overwrite any files shared with earlier editions (so, the final `tiddlywiki.info` file will be copied from the last edition)\n* `--editions` returns a list of available editions\n"
  },
  {
    "path": "core/language/en-GB/Help/listen.tid",
    "content": "title: $:/language/Help/listen\ndescription: Provides an HTTP server interface to TiddlyWiki\n\nServes a wiki over HTTP.\n\nThe listen command uses NamedCommandParameters:\n\n```\n--listen [<name>=<value>]...\n```\n\nAll parameters are optional with safe defaults, and can be specified in any order. The recognised parameters are:\n\n* ''host'' - optional hostname to serve from (defaults to \"127.0.0.1\" aka \"localhost\")\n* ''path-prefix'' - optional prefix for paths\n* ''port'' - port number on which to listen; non-numeric values are interpreted as a system environment variable from which the port number is extracted (defaults to \"8080\")\n* ''credentials'' - pathname of credentials CSV file (relative to wiki folder)\n* ''anon-username'' - the username for signing edits for anonymous users\n* ''username'' - optional username for basic authentication\n* ''password'' - optional password for basic authentication\n* ''authenticated-user-header'' - optional name of request header to be used for trusted authentication.\n* ''readers'' - comma-separated list of principals allowed to read from this wiki\n* ''writers'' - comma-separated list of principals allowed to write to this wiki\n* ''csrf-disable'' - set to \"yes\" to disable CSRF checks (defaults to \"no\")\n* ''root-tiddler'' - the tiddler to serve at the root (defaults to \"$:/core/save/all\")\n* ''root-render-type'' - the content type to which the root tiddler should be rendered (defaults to \"text/plain\")\n* ''root-serve-type'' - the content type with which the root tiddler should be served (defaults to \"text/html\")\n* ''tls-cert'' - pathname of TLS certificate file (relative to wiki folder)\n* ''tls-key'' - pathname of TLS key file (relative to wiki folder)\n* ''debug-level'' - optional debug level; set to \"debug\" to view request details (defaults to \"none\")\n* ''gzip'' - set to \"yes\" to enable gzip compression for some http endpoints (defaults to \"no\")\n* ''use-browser-cache'' - set to \"yes\" to allow the browser to cache responses to save bandwidth (defaults to \"no\")\n\nFor information on opening up your instance to the entire local network, and possible security concerns, see the WebServer tiddler at TiddlyWiki.com.\n\n"
  },
  {
    "path": "core/language/en-GB/Help/load.tid",
    "content": "title: $:/language/Help/load\ndescription: Load tiddlers from a file\n\nLoad tiddlers from TiddlyWiki (`.html`), `.tiddler`, `.tid`, `.json` or other local files. The processing applied to incoming files is determined by the file extension. Use the alternative `import` command if you need to specify the deserializer and encoding explicitly.\n\n```\n--load <filepath> [noerror]\n--load <dirpath> [noerror]\n```\n\nBy default, the load command raises an error if no tiddlers are found. The error can be suppressed by providing the optional \"noerror\" parameter.\n\nTo load tiddlers from an encrypted TiddlyWiki file you should first specify the password with the PasswordCommand. For example:\n\n```\ntiddlywiki ./MyWiki --password pa55w0rd --load my_encrypted_wiki.html\n```\n\nNote that TiddlyWiki will not load an older version of an already loaded plugin.\n"
  },
  {
    "path": "core/language/en-GB/Help/makelibrary.tid",
    "content": "title: $:/language/Help/makelibrary\ndescription: Construct library plugin required by upgrade process\n\nConstructs the `$:/UpgradeLibrary` tiddler for the upgrade process.\n\nThe upgrade library is formatted as an ordinary plugin tiddler with the plugin type `library`. It contains a copy of each of the plugins, themes and language packs available within the TiddlyWiki5 repository.\n\nThis command is intended for internal use; it is only relevant to users constructing a custom upgrade procedure.\n\n```\n--makelibrary <title>\n```\n\nThe title argument defaults to `$:/UpgradeLibrary`.\n"
  },
  {
    "path": "core/language/en-GB/Help/notfound.tid",
    "content": "title: $:/language/Help/notfound\n\nNo such help item"
  },
  {
    "path": "core/language/en-GB/Help/output.tid",
    "content": "title: $:/language/Help/output\ndescription: Set the base output directory for subsequent commands\n\nSets the base output directory for subsequent commands. The default output directory is the `output` subdirectory of the edition directory.\n\n```\n--output <pathname>\n```\n\nIf the specified pathname is relative then it is resolved relative to the current working directory. For example `--output .` sets the output directory to the current working directory.\n\n"
  },
  {
    "path": "core/language/en-GB/Help/password.tid",
    "content": "title: $:/language/Help/password\ndescription: Set a password for subsequent crypto operations\n\nSet a password for subsequent crypto operations\n\n```\n--password <password>\n```\n\n''Note'': This should not be used for serving TiddlyWiki with password protection. Instead, see the password option under the [[ServerCommand]].\n"
  },
  {
    "path": "core/language/en-GB/Help/render.tid",
    "content": "title: $:/language/Help/render\ndescription: Renders individual tiddlers to files\n\nRender individual tiddlers identified by a filter and save the results to the specified files.\n\nOptionally, the title of a template tiddler can be specified. In this case, instead of directly rendering each tiddler, the template tiddler is rendered with the \"currentTiddler\" variable set to the title of the tiddler that is being rendered.\n\nA name and value for an additional variable may optionally also be specified.\n\n```\n--render <tiddler-filter> [<filename-filter>] [<render-type>] [<template>] [ [<name>] [<value>] ]*\n```\n\n* ''tiddler-filter'': A filter identifying the tiddler(s) to be rendered\n* ''filename-filter'': Optional filter transforming tiddler titles into pathnames. If omitted, defaults to `[is[tiddler]addsuffix[.html]]`, which uses the unchanged tiddler title as the filename\n* ''render-type'': Optional render type: `text/html` (the default) returns the full HTML text and `text/plain` just returns the text content (ie it ignores HTML tags and other unprintable material)\n* ''template'': Optional template through which each tiddler is rendered\n* ''name'': Name of optional variables\n* ''value'': Value of optional variables\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nNotes:\n\n* The output directory is not cleared of any existing files\n* Any missing directories in the path to the filename are automatically created.\n* When referring to a tiddler with spaces in its title, take care to use both the quotes required by your shell and also TiddlyWiki's double square brackets: `--render \"[[Motovun Jack.jpg]]\"`\n* The filename filter is evaluated with the selected items being set to the title of the tiddler currently being rendered, allowing the title to be used as the basis for computing the filename. For example `[encodeuricomponent[]addprefix[static/]]` applies URI encoding to each title, and then adds the prefix `static/`\n* Multiple ''name''/''value'' pairs can be used to pass more than one variable\n* The `--render` command is a more flexible replacement for both the `--rendertiddler` and `--rendertiddlers` commands, which are deprecated\n\nExamples:\n\n* `--render '[!is[system]]' '[encodeuricomponent[]addprefix[tiddlers/]addsuffix[.html]]'` -- renders all non-system tiddlers as files in the subdirectory \"tiddlers\" with URL-encoded titles and the extension HTML\n* `--render '.' 'tiddlers.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' '[tag[HelloThere]]'` -- renders the tiddlers tagged \"HelloThere\" to a JSON file named \"tiddlers.json\"\n"
  },
  {
    "path": "core/language/en-GB/Help/rendertiddler.tid",
    "content": "title: $:/language/Help/rendertiddler\ndescription: Render an individual tiddler as a specified ContentType\n\n(Note: The `--rendertiddler` command is deprecated in favour of the new, more flexible `--render` command)\n\nRender an individual tiddler as a specified ContentType, defaulting to `text/html` and save it to the specified filename.\n\nOptionally the title of a template tiddler can be specified, in which case the template tiddler is rendered with the \"currentTiddler\" variable set to the tiddler that is being rendered (the first parameter value).\n\nA name and value for an additional variable may optionally also be specified.\n\n```\n--rendertiddler <title> <filename> [<type>] [<template>] [<name>] [<value>]\n```\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny missing directories in the path to the filename are automatically created.\n\nFor example, the following command saves all tiddlers matching the filter `[tag[done]]` to a JSON file titled `output.json` by employing the core template `$:/core/templates/exporters/JsonFile`.\n\n```\n--rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[tag[done]]\"\n```\n"
  },
  {
    "path": "core/language/en-GB/Help/rendertiddlers.tid",
    "content": "title: $:/language/Help/rendertiddlers\ndescription: Render tiddlers matching a filter to a specified ContentType\n\n(Note: The `--rendertiddlers` command is deprecated in favour of the new, more flexible `--render` command)\n\nRender a set of tiddlers matching a filter to separate files of a specified ContentType (defaults to `text/html`) and extension (defaults to `.html`).\n\n```\n--rendertiddlers '<filter>' <template> <pathname> [<type>] [<extension>] [\"noclean\"]\n```\n\nFor example:\n\n```\n--rendertiddlers '[!is[system]]' $:/core/templates/static.tiddler.html ./static text/plain\n```\n\nBy default, the pathname is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny files in the target directory are deleted unless the ''noclean'' flag is specified. The target directory is recursively created if it is missing.\n"
  },
  {
    "path": "core/language/en-GB/Help/save.tid",
    "content": "title: $:/language/Help/save\ndescription: Saves individual raw tiddlers to files\n\nSaves individual tiddlers identified by a filter in their raw text or binary format to the specified files.\n\n```\n--save <tiddler-filter> <filename-filter>\n```\n\n* ''tiddler-filter'': A filter identifying the tiddler(s) to be saved\n* ''filename-filter'': Optional filter transforming tiddler titles into pathnames. If omitted, defaults to `[is[tiddler]]`, which uses the unchanged tiddler title as the filename\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nNotes:\n\n* The output directory is not cleared of any existing files\n* Any missing directories in the path to the filename are automatically created.\n* When saving a tiddler with spaces in its title, take care to use both the quotes required by your shell and also TiddlyWiki's double square brackets: `--save \"[[Motovun Jack.jpg]]\"`\n* The filename filter is evaluated with the selected items being set to the title of the tiddler currently being saved, allowing the title to be used as the basis for computing the filename. For example `[encodeuricomponent[]addprefix[static/]]` applies URI encoding to each title, and then adds the prefix `static/`\n* The `--save` command is a more flexible replacement for both the `--savetiddler` and `--savetiddlers` commands, which are deprecated\n\nExamples:\n\n* `--save \"[!is[system]is[image]]\" \"[encodeuricomponent[]addprefix[tiddlers/]]\"` -- saves all non-system image tiddlers as files in the subdirectory \"tiddlers\" with URL-encoded titles\n"
  },
  {
    "path": "core/language/en-GB/Help/savetiddler.tid",
    "content": "title: $:/language/Help/savetiddler\ndescription: Saves a raw tiddler to a file\n\n(Note: The `--savetiddler` command is deprecated in favour of the new, more flexible `--save` command)\n\nSaves an individual tiddler in its raw text or binary format to the specified filename.\n\n```\n--savetiddler <title> <filename>\n```\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny missing directories in the path to the filename are automatically created.\n"
  },
  {
    "path": "core/language/en-GB/Help/savetiddlers.tid",
    "content": "title: $:/language/Help/savetiddlers\ndescription: Saves a group of raw tiddlers to a directory\n\n(Note: The `--savetiddlers` command is deprecated in favour of the new, more flexible `--save` command)\n\nSaves a group of tiddlers in their raw text or binary format to the specified directory.\n\n```\n--savetiddlers <filter> <pathname> [\"noclean\"]\n```\n\nBy default, the pathname is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nThe output directory is cleared of existing files before saving the specified files. The deletion can be disabled by specifying the ''noclean'' flag.\n\nAny missing directories in the pathname are automatically created.\n"
  },
  {
    "path": "core/language/en-GB/Help/savewikifolder.tid",
    "content": "title: $:/language/Help/savewikifolder\ndescription: Saves a wiki to a new wiki folder\n\n<<.from-version \"5.1.20\">> Saves the current wiki as a wiki folder, including tiddlers, plugins and configuration:\n\n```\n--savewikifolder <wikifolderpath> [<filter>] [ [<name>=<value>] ]*\n```\n\n* The target wiki folder must be empty or non-existent\n* The filter specifies which tiddlers should be included. It is optional, defaulting to `[all[tiddlers]]`\n* Plugins from the official plugin library are replaced with references to those plugins in the `tiddlywiki.info` file\n* Custom plugins are unpacked into their own folder\n\nThe following options are supported:\n\n* ''filter'': a filter expression that defines the tiddlers to include in the output.\n* ''explodePlugins'': defaults to \"yes\"\n** ''yes'' will \"explode\" plugins into separate tiddler files and save them to the plugin directory within the wiki folder\n** ''no'' will suppress exploding plugins into their constituent tiddler files. It will save the plugin as a single JSON tiddler in the tiddlers folder\n\nNote that both ''explodePlugins'' options will produce wiki folders that build the exact same original wiki. The difference lies in how plugins are represented in the wiki folder.\n\nA common usage is to convert a TiddlyWiki HTML file into a wiki folder:\n\n```\ntiddlywiki --load ./mywiki.html --savewikifolder ./mywikifolder\n```\n\nSave the plugin to the tiddlers directory of the target wiki folder:\n\n```\ntiddlywiki --load ./mywiki.html --savewikifolder ./mywikifolder explodePlugins=no\n```\n"
  },
  {
    "path": "core/language/en-GB/Help/server.tid",
    "content": "title: $:/language/Help/server\ndescription: (deprecated: see 'listen' command) Provides an HTTP server interface to TiddlyWiki\n\nLegacy command to serve a wiki over HTTP.\n\n```\n--server <port> <root-tiddler> <root-render-type> <root-serve-type> <username> <password> <host> <path-prefix> <debug-level>\n```\n\nThe parameters are:\n\n* ''port'' - port number on which to listen; non-numeric values are interpreted as a system environment variable from which the port number is extracted (defaults to \"8080\")\n* ''root-tiddler'' - the tiddler to serve at the root (defaults to \"$:/core/save/all\")\n* ''root-render-type'' - the content type to which the root tiddler should be rendered (defaults to \"text/plain\")\n* ''root-serve-type'' - the content type with which the root tiddler should be served (defaults to \"text/html\")\n* ''username'' - the default username for signing edits\n* ''password'' - optional password for basic authentication\n* ''host'' - optional hostname to serve from (defaults to \"127.0.0.1\" aka \"localhost\")\n* ''path-prefix'' - optional prefix for paths\n* ''debug-level'' - optional debug level; set to \"debug\" to view request details (defaults to \"none\")\n\nIf the password parameter is specified then the browser will prompt the user for the username and password. Note that the password is transmitted in plain text so this implementation should only be used on a trusted network or over HTTPS.\n\nFor example:\n\n```\n--server 8080 $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n\nThe username and password can be specified as empty strings if you need to set the hostname or pathprefix and don't want to require a password.\n\n\n```\n--server 8080 $:/core/save/all text/plain text/html \"\" \"\" 192.168.0.245\n```\n\nUsing an address like this exposes your system to the local network. For information on opening up your instance to the entire local network, and possible security concerns, see the WebServer tiddler at TiddlyWiki.com.\n\nTo run multiple TiddlyWiki servers at the same time you'll need to put each one on a different port. It can be useful to use an environment variable to pass the port number to the Node.js process. This example references an environment variable called \"MY_PORT_NUMBER\":\n\n```\n--server MY_PORT_NUMBER $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n"
  },
  {
    "path": "core/language/en-GB/Help/setfield.tid",
    "content": "title: $:/language/Help/setfield\ndescription: Prepares external tiddlers for use\n\n//Note that this command is experimental and may change or be replaced before being finalised//\n\nSets the specified field of a group of tiddlers to the result of wikifying a template tiddler with the `currentTiddler` variable set to the tiddler.\n\n```\n--setfield <filter> <fieldname> <templatetitle> <rendertype>\n```\n\nThe parameters are:\n\n* ''filter'' - filter identifying the tiddlers to be affected\n* ''fieldname'' - the field to modify (defaults to \"text\")\n* ''templatetitle'' - the tiddler to wikify into the specified field. If blank or missing then the specified field is deleted\n* ''rendertype'' - the text type to render (defaults to \"text/plain\"; \"text/html\" can be used to include HTML tags)\n"
  },
  {
    "path": "core/language/en-GB/Help/unpackplugin.tid",
    "content": "title: $:/language/Help/unpackplugin\ndescription: Unpack the payload tiddlers from a plugin\n\nExtract the payload tiddlers from a plugin, creating them as ordinary tiddlers:\n\n```\n--unpackplugin <title>\n```\n"
  },
  {
    "path": "core/language/en-GB/Help/verbose.tid",
    "content": "title: $:/language/Help/verbose\ndescription: Triggers verbose output mode\n\nTriggers verbose output, useful for debugging\n\n```\n--verbose\n```\n"
  },
  {
    "path": "core/language/en-GB/Help/version.tid",
    "content": "title: $:/language/Help/version\ndescription: Displays the version number of TiddlyWiki\n\nDisplays the version number of TiddlyWiki.\n\n```\n--version\n```\n"
  },
  {
    "path": "core/language/en-GB/Import.multids",
    "content": "title: $:/language/Import/\n\nEditor/Import/Heading: Import images and insert them into the editor.\nImported/Hint: The following tiddlers were imported:\nListing/Cancel/Caption: Cancel\nListing/Cancel/Warning: Do you wish to cancel the import?\nListing/Hint: These tiddlers are ready to import:\nListing/Import/Caption: Import\nListing/Select/Caption: Select\nListing/Status/Caption: Status\nListing/Title/Caption: Title\nListing/Preview: Preview:\nListing/Preview/Text: Text\nListing/Preview/TextRaw: Text (Raw)\nListing/Preview/Fields: Fields\nListing/Preview/Diff: Diff\nListing/Preview/DiffFields: Diff (Fields)\nListing/ImportOptions/Caption: Import options\nListing/ImportOptions/NoMatch: No import options apply to these files.\nListing/Rename/Tooltip: Rename tiddler before importing\nListing/Rename/Prompt: Rename to:\nListing/Rename/ConfirmRename: Rename tiddler\nListing/Rename/CancelRename: Cancel\nListing/Rename/OverwriteWarning: A tiddler with this title already exists.\nUpgrader/Plugins/Suppressed/Incompatible: Blocked incompatible or obsolete plugin.\nUpgrader/Plugins/Suppressed/Version: Blocked plugin (due to incoming <<incoming>> not being newer than existing <<existing>>).\nUpgrader/Plugins/Upgraded: Upgraded plugin from <<incoming>> to <<upgraded>>.\nUpgrader/State/Suppressed: Blocked temporary state tiddler.\nUpgrader/System/Disabled: Disabled system tiddler.\nUpgrader/System/Suppressed: Blocked system tiddler.\nUpgrader/System/Warning: Core module tiddler.\nUpgrader/System/Alert: You are about to import a tiddler that will overwrite a core module tiddler. This is not recommended as it may make the system unstable.\nUpgrader/ThemeTweaks/Created: Migrated theme tweak from <$text text=<<from>>/>.\nUpgrader/Tiddler/Disabled: Disabled tiddler.\nUpgrader/Tiddler/Selected: Selected tiddler.\nUpgrader/Tiddler/Unselected: Unselected tiddler.\n"
  },
  {
    "path": "core/language/en-GB/Misc.multids",
    "content": "title: $:/language/\n\nAlerts: Alerts\nAboveStory/ClassicPlugin/Warning: It looks like you are trying to load a plugin designed for ~TiddlyWiki Classic. Please note that [[these plugins do not work with TiddlyWiki version 5.x.x|https://tiddlywiki.com/#TiddlyWikiClassic]]. ~TiddlyWiki Classic plugins detected:\nBinaryWarning/Prompt: This tiddler contains binary data\nClassicWarning/Hint: This tiddler is written in TiddlyWiki Classic wiki text format, which is not fully compatible with TiddlyWiki version 5. See https://tiddlywiki.com/static/Upgrading.html for more details.\nClassicWarning/Upgrade/Caption: upgrade\nCloseAll/Button: close all\nColourPicker/Recent: Recent:\nConfirmCancelTiddler: Do you wish to discard changes to the tiddler \"<$text text=<<title>>/>\"?\nConfirmDeleteTiddler: Do you wish to delete the tiddler \"<$text text=<<title>>/>\"?\nConfirmDeleteTiddlers: Are you sure you wish to delete <<resultCount>> tiddler(s)?\nConfirmOverwriteTiddler: Do you wish to overwrite the tiddler \"<$text text=<<title>>/>\"?\nConfirmEditShadowTiddler: You are about to edit a ShadowTiddler. Any changes will override the default system making future upgrades non-trivial. Are you sure you want to edit \"<$text text=<<title>>/>\"?\nConfirmAction: Do you wish to proceed?\nCount: count\nDefaultNewTiddlerTitle: New Tiddler\nDiffs/CountMessage: <<diff-count>> differences\nDropMessage: Drop now (or use the 'Escape' key to cancel)\nEncryption/Cancel: Cancel\nEncryption/ConfirmClearPassword: Do you wish to clear the password? This will remove the encryption applied when saving this wiki\nEncryption/PromptSetPassword: Set a new password for this TiddlyWiki\nEncryption/Username: Username\nEncryption/Password: Password\nEncryption/RepeatPassword: Repeat password\nEncryption/PasswordNoMatch: Passwords do not match\nEncryption/SetPassword: Set password\nError/Caption: Error\nError/DeserializeOperator/MissingOperand: Filter Error: Missing operand for 'deserialize' operator\nError/DeserializeOperator/UnknownDeserializer: Filter Error: Unknown deserializer provided as operand for the 'deserialize' operator\nError/Filter: Filter error\nError/FilterSyntax: Syntax error in filter expression\nError/FilterRunPrefix: Filter Error: Unknown prefix for filter run\nError/IsFilterOperator: Filter Error: Unknown parameter for the 'is' filter operator\nError/FormatFilterOperator: Filter Error: Unknown suffix for the 'format' filter operator\nError/LoadingPluginLibrary: Error loading plugin library\nError/NetworkErrorAlert: `<h2>''Network Error''</h2>It looks like the connection to the server has been lost. This may indicate a problem with your network connection. Please attempt to restore network connectivity before continuing.<br><br>''Any unsaved changes will be automatically synchronised when connectivity is restored''.`\nError/PutEditConflict: File changed on server\nError/PutForbidden: Permission denied\nError/PutUnauthorized: Authentication required\nError/RecursiveTransclusion: Recursive transclusion error in transclude widget\nError/RetrievingSkinny: Error retrieving skinny tiddler list\nError/SavingToTWEdit: Error saving to TWEdit\nError/WhileSaving: Error while saving\nError/XMLHttpRequest: XMLHttpRequest error code\nError/ZoominTextNode: Story View Error: It appears you tried to interact with a tiddler that displays in a custom container. This is most likely caused by using `$:/tags/StoryTiddlerTemplateFilter` with a template that contains text or whitespace at the start. Please use the pragma `\\whitespace trim` and ensure the whole contents of the tiddler is wrapped in a single HTML element. The text that caused this issue:\nInternalJavaScriptError/Title: Internal JavaScript Error\nInternalJavaScriptError/Hint: Well, this is embarrassing. It is recommended that you restart TiddlyWiki by refreshing your browser\nLayoutSwitcher/Description: Open the layout switcher\nLazyLoadingWarning: <p>Trying to load external content from ''<$text text={{!!_canonical_uri}}/>''</p><p>If this message doesn't disappear, either the tiddler content type doesn't match the type of the external content, or you may be using a browser that doesn't support external content for wikis loaded as standalone files. See https://tiddlywiki.com/#ExternalText</p>\nLoginToTiddlySpace: Login to TiddlySpace\nManager/Controls/FilterByTag/None: (none)\nManager/Controls/FilterByTag/Prompt: Filter by tag:\nManager/Controls/Order/Prompt: Reverse order\nManager/Controls/Search/Placeholder: Search\nManager/Controls/Search/Prompt: Search:\nManager/Controls/Show/Option/Tags: tags\nManager/Controls/Show/Option/Tiddlers: tiddlers\nManager/Controls/Show/Prompt: Show:\nManager/Controls/Sort/Prompt: Sort by:\nManager/Item/Colour: Colour\nManager/Item/Fields: Fields\nManager/Item/Icon/None: (none)\nManager/Item/Icon: Icon\nManager/Item/RawText: Raw text\nManager/Item/Tags: Tags\nManager/Item/Tools: Tools\nManager/Item/WikifiedText: Wikified text\nMissingTiddler/Hint: Missing tiddler \"<$text text=<<currentTiddler>>/>\" -- click {{||$:/core/ui/Buttons/edit}} to create\nNo: No\nOfficialPluginLibrary: Official ~TiddlyWiki Plugin Library\nOfficialPluginLibrary/Hint: The official ~TiddlyWiki plugin library at tiddlywiki.com. Plugins, themes and language packs are maintained by the core team.\nPageTemplate/Description: the default ~TiddlyWiki layout\nPageTemplate/Name: Standard Layout\nPluginReloadWarning: Please save {{$:/core/ui/Buttons/save-wiki}} and reload {{$:/core/ui/Buttons/refresh}} to allow changes to ~JavaScript plugins to take effect\nRecentChanges/DateFormat: DDth MMM YYYY\nShortcuts/Input/AdvancedSearch/Hint: Open the ~AdvancedSearch panel from within the sidebar search field\nShortcuts/Input/Accept/Hint: Accept the selected item\nShortcuts/Input/AcceptVariant/Hint: Accept the selected item (variant)\nShortcuts/Input/Cancel/Hint: Clear the input field\nShortcuts/Input/Down/Hint: Select the next item\nShortcuts/Input/Tab-Left/Hint: Select the previous Tab\nShortcuts/Input/Tab-Right/Hint: Select the next Tab\nShortcuts/Input/Up/Hint: Select the previous item\nShortcuts/SidebarLayout/Hint: Change the sidebar layout\nSwitcher/Subtitle/theme: Switch Theme\nSwitcher/Subtitle/layout: Switch Layout\nSwitcher/Subtitle/language: Switch Language\nSwitcher/Subtitle/palette: Switch Palette\nSystemTiddler/Tooltip: This is a system tiddler\nSystemTiddlers/Include/Prompt: Include system tiddlers\nTagManager/Colour/Heading: Colour\nTagManager/Count/Heading: Count\nTagManager/Icon/Heading: Icon\nTagManager/Icons/None: None\nTagManager/Info/Heading: Info\nTagManager/Tag/Heading: Tag\nTiddler/DateFormat: DDth MMM YYYY at hh12:0mmam\nUnsavedChangesWarning: You have unsaved changes in TiddlyWiki\nYes: Yes\n"
  },
  {
    "path": "core/language/en-GB/Modals/Download.tid",
    "content": "title: $:/language/Modals/Download\nsubtitle: Download changes\nfooter: <$button message=\"tm-close-tiddler\">Close</$button>\nhelp: https://tiddlywiki.com/static/DownloadingChanges.html\n\nYour browser only supports manual saving.\n\nTo save your modified wiki, right click on the download link below and select \"Download file\" or \"Save file\", and then choose the folder and filename.\n\n//You can marginally speed things up by clicking the link with the control key (Windows) or the options/alt key (Mac OS X). You will not be prompted for the folder or filename, but your browser is likely to give it an unrecognisable name -- you may need to rename the file to include an `.html` extension before you can do anything useful with it.//\n\nOn smartphones that do not allow files to be downloaded you can instead bookmark the link, and then sync your bookmarks to a desktop computer from where the wiki can be saved normally.\n"
  },
  {
    "path": "core/language/en-GB/NewJournal.multids",
    "content": "title: $:/config/NewJournal/\n\nTitle: DDth MMM YYYY\nText:\n"
  },
  {
    "path": "core/language/en-GB/NewJournalTags.tid",
    "content": "title: $:/config/NewJournal/Tags\n\nJournal\n"
  },
  {
    "path": "core/language/en-GB/Notifications.multids",
    "content": "title: $:/language/Notifications/\n\nSave/Done: Saved wiki\nSave/Starting: Starting to save wiki\nCopiedToClipboard/Succeeded: Copied to clipboard!\nCopiedToClipboard/Failed: Failed to copy to clipboard!\n"
  },
  {
    "path": "core/language/en-GB/Search.multids",
    "content": "title: $:/language/Search/\n\nDefaultResults/Caption: List\nFilter/Caption: Filter\nFilter/Hint: Search via a [[filter expression|https://tiddlywiki.com/static/Filters.html]]\nFilter/Matches: //<small><<resultCount>> matches</small>//\nMatches: //<small><<resultCount>> matches</small>//\nMatches/All: All matches:\nMatches/NoMatch: //No match//\nMatches/NoResult: //No search result//\nMatches/Title: Title matches:\nSearch: Search\nSearch/TooShort: Search text too short\nShadows/Caption: Shadows\nShadows/Hint: Search for shadow tiddlers\nShadows/Matches: //<small><<resultCount>> matches</small>//\nStandard/Caption: Standard\nStandard/Hint: Search for standard tiddlers\nStandard/Matches: //<small><<resultCount>> matches</small>//\nSystem/Caption: System\nSystem/Hint: Search for system tiddlers\nSystem/Matches: //<small><<resultCount>> matches</small>//\n"
  },
  {
    "path": "core/language/en-GB/SideBar.multids",
    "content": "title: $:/language/SideBar/\n\nCaption: Sidebar\nAll/Caption: All\nContents/Caption: Contents\nDrafts/Caption: Drafts\nExplorer/Caption: Explorer\nMissing/Caption: Missing\nMore/Caption: More\nOpen/Caption: Open\nOrphans/Caption: Orphans\nRecent/Caption: Recent\nShadows/Caption: Shadows\nSystem/Caption: System\nTags/Caption: Tags\nTags/Untagged/Caption: untagged\nTools/Caption: Tools\nTypes/Caption: Types\n"
  },
  {
    "path": "core/language/en-GB/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\na non-linear personal web notebook"
  },
  {
    "path": "core/language/en-GB/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\nMy TiddlyWiki"
  },
  {
    "path": "core/language/en-GB/Snippets/FunctionDefinition.tid",
    "content": "title: $:/language/Snippets/FunctionDefinition\ntags: $:/tags/TextEditor/Snippet\ncaption: Function definition\n\n\\function f.name(param1,param2:\"default value\") [<param1>!is[blank]else<param2>]\n\n<<f.name>>\n"
  },
  {
    "path": "core/language/en-GB/Snippets/ListByTag.tid",
    "content": "title: $:/language/Snippets/ListByTag\ntags: $:/tags/TextEditor/Snippet\ncaption: List of tiddlers by tag\n\n<<list-links \"[tag[task]sort[title]]\">>\n"
  },
  {
    "path": "core/language/en-GB/Snippets/MacroDefinition.tid",
    "content": "title: $:/language/Snippets/MacroDefinition\ntags: $:/tags/TextEditor/Snippet\ncaption: Macro definition\n\n\\define macroName(param1:\"default value\",param2)\nText of the macro\n\\end\n"
  },
  {
    "path": "core/language/en-GB/Snippets/ProcedureDefinition.tid",
    "content": "title: $:/language/Snippets/ProcedureDefinition\ntags: $:/tags/TextEditor/Snippet\ncaption: Procedure definition\n\n\\procedure procName(param1:\"default value\",param2)\nYour text comes here.\n\\end\n"
  },
  {
    "path": "core/language/en-GB/Snippets/Table 4x3.tid",
    "content": "title: $:/language/Snippets/Table4x3\ntags: $:/tags/TextEditor/Snippet\ncaption: Table with 4 columns by 3 rows\n\n|! |!Alpha |!Beta |!Gamma |!Delta |\n|!One | | | | |\n|!Two | | | | |\n|!Three | | | | |\n"
  },
  {
    "path": "core/language/en-GB/Snippets/TableOfContents.tid",
    "content": "title: $:/language/Snippets/TableOfContents\ntags: $:/tags/TextEditor/Snippet\ncaption: Table of Contents\n\n<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'TableOfContents'>>\n\n</div>"
  },
  {
    "path": "core/language/en-GB/ThemeTweaks.multids",
    "content": "title: $:/language/ThemeTweaks/\n\nThemeTweaks: Theme Tweaks\nThemeTweaks/Hint: You can tweak certain aspects of the ''Vanilla'' theme.\nOptions: Options\nOptions/SidebarLayout: Sidebar layout\nOptions/SidebarLayout/Fixed-Fluid: Fixed story, fluid sidebar\nOptions/SidebarLayout/Fluid-Fixed: Fluid story, fixed sidebar\nOptions/StickyTitles: Sticky titles\nOptions/StickyTitles/Hint: Causes tiddler titles to \"stick\" to the top of the browser window\nOptions/CodeWrapping: Wrap long lines in code blocks\nSettings: Settings\nSettings/FontFamily: Font family\nSettings/CodeFontFamily: Code font family\nSettings/EditorFontFamily: Editor font family\nSettings/BackgroundImage: Page background image\nSettings/BackgroundImageAttachment: Page background image attachment\nSettings/BackgroundImageAttachment/Scroll: Scroll with tiddlers\nSettings/BackgroundImageAttachment/Fixed: Fixed to window\nSettings/BackgroundImageSize: Page background image size\nSettings/BackgroundImageSize/Auto: Auto\nSettings/BackgroundImageSize/Cover: Cover\nSettings/BackgroundImageSize/Contain: Contain\nMetrics: Sizes\nMetrics/FontSize: Font size\nMetrics/LineHeight: Line height\nMetrics/BodyFontSize: Font size for tiddler body\nMetrics/BodyLineHeight: Line height for tiddler body\nMetrics/StoryLeft: Story left position\nMetrics/StoryLeft/Hint: how far the left margin of the story river<br>(tiddler area) is from the left of the page\nMetrics/StoryTop: Story top position\nMetrics/StoryTop/Hint: how far the top margin of the story river<br>is from the top of the page\nMetrics/StoryRight: Story right\nMetrics/StoryRight/Hint: how far the left margin of the sidebar <br>is from the left of the page\nMetrics/StoryWidth: Story width\nMetrics/StoryWidth/Hint: the overall width of the story river\nMetrics/TiddlerWidth: Tiddler width\nMetrics/TiddlerWidth/Hint: within the story river\nMetrics/SidebarBreakpoint: Sidebar breakpoint\nMetrics/SidebarBreakpoint/Hint: the minimum page width at which the story<br>river and sidebar will appear side by side\nMetrics/SidebarWidth: Sidebar width\nMetrics/SidebarWidth/Hint: the width of the sidebar in fluid-fixed layout\n"
  },
  {
    "path": "core/language/en-GB/TiddlerInfo.multids",
    "content": "title: $:/language/TiddlerInfo/\n\nAdvanced/Caption: Advanced\nAdvanced/PluginInfo/Empty/Hint: none\nAdvanced/PluginInfo/Heading: Plugin Details\nAdvanced/PluginInfo/Hint: This plugin contains the following shadow tiddlers:\nAdvanced/ShadowInfo/Heading: Shadow Status\nAdvanced/ShadowInfo/NotShadow/Hint: The tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> is not a shadow tiddler\nAdvanced/ShadowInfo/Shadow/Hint: The tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> is a shadow tiddler\nAdvanced/ShadowInfo/Shadow/Source: It is defined in the plugin <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>\nAdvanced/ShadowInfo/OverriddenShadow/Hint: It is overridden by an ordinary tiddler\nAdvanced/CascadeInfo/Heading: Cascade Details\nAdvanced/CascadeInfo/Hint: These are the view template segments (tagged <<tag \"$:/tags/ViewTemplate\">>) using a cascade filter and their resulting template for the current tiddler.\nAdvanced/CascadeInfo/Detail/View: View\nAdvanced/CascadeInfo/Detail/ActiveCascadeFilter: Active cascade filter\nAdvanced/CascadeInfo/Detail/Template: Template\nFields/Caption: Fields\nList/Caption: List\nList/Empty: This tiddler does not have a list\nListed/Caption: Listed\nListed/Empty: This tiddler is not listed by any others\nReferences/Caption: Backlinks\nReferences/Empty: No tiddlers link to this one\nTagging/Caption: Tagging\nTagging/Empty: No tiddlers are tagged with this one\nTools/Caption: Tools\n"
  },
  {
    "path": "core/language/en-GB/Types/application_javascript.tid",
    "content": "title: $:/language/Docs/Types/application/javascript\ndescription: JavaScript code\nname: application/javascript\ngroup: Developer\ngroup-sort: 2\n"
  },
  {
    "path": "core/language/en-GB/Types/application_json.tid",
    "content": "title: $:/language/Docs/Types/application/json\ndescription: JSON data\nname: application/json\ngroup: Developer\ngroup-sort: 2\n"
  },
  {
    "path": "core/language/en-GB/Types/application_x_tiddler_dictionary.tid",
    "content": "title: $:/language/Docs/Types/application/x-tiddler-dictionary\ndescription: Data dictionary\nname: application/x-tiddler-dictionary\ngroup: Developer\ngroup-sort: 2\n"
  },
  {
    "path": "core/language/en-GB/Types/image_gif.tid",
    "content": "title: $:/language/Docs/Types/image/gif\ndescription: GIF image\nname: image/gif\ngroup: Image\ngroup-sort: 1\n"
  },
  {
    "path": "core/language/en-GB/Types/image_jpeg.tid",
    "content": "title: $:/language/Docs/Types/image/jpeg\ndescription: JPEG image\nname: image/jpeg\ngroup: Image\ngroup-sort: 1\n"
  },
  {
    "path": "core/language/en-GB/Types/image_png.tid",
    "content": "title: $:/language/Docs/Types/image/png\ndescription: PNG image\nname: image/png\ngroup: Image\ngroup-sort: 1\n"
  },
  {
    "path": "core/language/en-GB/Types/image_svg_xml.tid",
    "content": "title: $:/language/Docs/Types/image/svg+xml\ndescription: SVG image\nname: image/svg+xml\ngroup: Image\ngroup-sort: 1\n"
  },
  {
    "path": "core/language/en-GB/Types/text_css.tid",
    "content": "title: $:/language/Docs/Types/text/css\ndescription: Static stylesheet\nname: text/css\ngroup: Developer\ngroup-sort: 2\n"
  },
  {
    "path": "core/language/en-GB/Types/text_html.tid",
    "content": "title: $:/language/Docs/Types/text/html\ndescription: HTML markup\nname: text/html\ngroup: Text\ngroup-sort: 0\n"
  },
  {
    "path": "core/language/en-GB/Types/text_plain.tid",
    "content": "title: $:/language/Docs/Types/text/plain\ndescription: Plain text\nname: text/plain\ngroup: Text\ngroup-sort: 0\n"
  },
  {
    "path": "core/language/en-GB/Types/text_vnd.tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/vnd.tiddlywiki\ndescription: TiddlyWiki 5\nname: text/vnd.tiddlywiki\ngroup: Text\ngroup-sort: 0\n"
  },
  {
    "path": "core/language/en-GB/Types/text_vnd.tiddlywiki_multiple.tid",
    "content": "title: $:/language/Docs/Types/text/vnd.tiddlywiki-multiple\ndescription: Compound tiddler\nname: text/vnd.tiddlywiki-multiple\ngroup: Developer\ngroup-sort: 2\n"
  },
  {
    "path": "core/language/en-GB.tid",
    "content": "title: $:/languages/en-GB\nname: en-GB\ndescription: English (British)\nauthor: JeremyRuston\ncore-version: >=5.0.0\"\n\nStub pseudo-plugin for the default language"
  },
  {
    "path": "core/modules/background-actions.js",
    "content": "/*\\\ntitle: $:/core/modules/background-actions.js\ntype: application/javascript\nmodule-type: global\n\nClass to dispatch actions when filters change\n\n\\*/\n\n\"use strict\";\n\nclass BackgroundActionDispatcher {\n\tconstructor(filterTracker, wiki) {\n\t\tthis.filterTracker = filterTracker;\n\t\tthis.wiki = wiki;\n\t\tthis.nextTrackedFilterId = 1;\n\t\tthis.trackedFilters = new Map(); // Use Map for better key management\n\t\t// Track the filter for the background actions\n\t\tthis.filterTracker.track({\n\t\t\tfilterString: \"[all[tiddlers+shadows]tag[$:/tags/BackgroundAction]!is[draft]]\",\n\t\t\tfnEnter: (title) => this.trackFilter(title),\n\t\t\tfnLeave: (title, enterValue) => this.untrackFilter(enterValue),\n\t\t\tfnChange: (title, enterValue) => {\n\t\t\t\tthis.untrackFilter(enterValue);\n\t\t\t\treturn this.trackFilter(title);\n\t\t\t},\n\t\t\tfnProcess: (changes) => this.process(changes)\n\t\t});\n\t}\n\n\ttrackFilter(title) {\n\t\tconst tiddler = this.wiki.getTiddler(title);\n\t\tconst id = this.nextTrackedFilterId++;\n\t\tconst tracker = new BackgroundActionTracker({\n\t\t\twiki: this.wiki,\n\t\t\ttitle,\n\t\t\ttrackFilter: tiddler.fields[\"track-filter\"],\n\t\t\tactions: tiddler.fields.text\n\t\t});\n\t\tthis.trackedFilters.set(id, tracker);\n\t\treturn id;\n\t}\n\n\tuntrackFilter(enterValue) {\n\t\tconst tracker = this.trackedFilters.get(enterValue);\n\t\tif(tracker) {\n\t\t\ttracker.destroy();\n\t\t}\n\t\tthis.trackedFilters.delete(enterValue);\n\t}\n\n\tprocess(changes) {\n\t\tfor(const tracker of this.trackedFilters.values()) {\n\t\t\ttracker.process(changes);\n\t\t}\n\t}\n}\n\n/*\nRepresents an individual tracked filter. Options include:\nwiki: wiki to use\ntitle: title of the tiddler being tracked\ntrackFilter: filter string to track changes\nactions: actions to be executed when the filter changes\n*/\nclass BackgroundActionTracker {\n\tconstructor({wiki, title, trackFilter, actions}) {\n\t\tthis.wiki = wiki;\n\t\tthis.title = title;\n\t\tthis.trackFilter = trackFilter;\n\t\tthis.actions = actions;\n\t\tthis.filterTracker = new $tw.FilterTracker(this.wiki);\n\t\tthis.hasChanged = false;\n\t\tthis.trackerID = this.filterTracker.track({\n\t\t\tfilterString: this.trackFilter,\n\t\t\tfnEnter: () => { this.hasChanged = true; },\n\t\t\tfnLeave: () => { this.hasChanged = true; },\n\t\t\tfnProcess: (changes) => {\n\t\t\t\tif(this.hasChanged) {\n\t\t\t\t\tthis.hasChanged = false;\n\t\t\t\t\tconsole.log(\"Processing background action\", this.title);\n\t\t\t\t\tconst tiddler = this.wiki.getTiddler(this.title);\n\t\t\t\t\tlet doActions = true;\n\t\t\t\t\tif(tiddler && tiddler.fields.platforms) {\n\t\t\t\t\t\tdoActions = false;\n\t\t\t\t\t\tconst platforms = $tw.utils.parseStringArray(tiddler.fields.platforms);\n\t\t\t\t\t\tif(($tw.browser && platforms.includes(\"browser\")) || ($tw.node && platforms.includes(\"node\"))) {\n\t\t\t\t\t\t\tdoActions = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif(doActions) {\n\t\t\t\t\t\tthis.wiki.invokeActionString(\n\t\t\t\t\t\t\tthis.actions,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcurrentTiddler: this.title\n\t\t\t\t\t\t\t},{\n\t\t\t\t\t\t\t\tparentWidget: $tw.rootWidget\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tprocess(changes) {\n\t\tthis.filterTracker.handleChangeEvent(changes);\n\t}\n\n\tdestroy() {\n\t\tthis.filterTracker.untrack(this.trackerID);\n\t}\n}\n\nexports.BackgroundActionDispatcher = BackgroundActionDispatcher;\n"
  },
  {
    "path": "core/modules/config.js",
    "content": "/*\\\ntitle: $:/core/modules/config.js\ntype: application/javascript\nmodule-type: config\n\nCore configuration constants\n\n\\*/\n\n\"use strict\";\n\nexports.preferences = {};\n\nexports.preferences.notificationDuration = 3 * 1000;\nexports.preferences.jsonSpaces = 4;\n\nexports.textPrimitives = {\n\tupperLetter: \"[A-Z\\u00c0-\\u00d6\\u00d8-\\u00de\\u0150\\u0170]\",\n\tlowerLetter: \"[a-z\\u00df-\\u00f6\\u00f8-\\u00ff\\u0151\\u0171]\",\n\tanyLetter:   \"[A-Za-z0-9\\u00c0-\\u00d6\\u00d8-\\u00de\\u00df-\\u00f6\\u00f8-\\u00ff\\u0150\\u0170\\u0151\\u0171]\",\n\tblockPrefixLetters:\t\"[A-Za-z0-9-_\\u00c0-\\u00d6\\u00d8-\\u00de\\u00df-\\u00f6\\u00f8-\\u00ff\\u0150\\u0170\\u0151\\u0171]\"\n};\n\nexports.textPrimitives.unWikiLink = \"~\";\nexports.textPrimitives.wikiLink = exports.textPrimitives.upperLetter + \"+\" +\n\texports.textPrimitives.lowerLetter + \"+\" +\n\texports.textPrimitives.upperLetter +\n\texports.textPrimitives.anyLetter + \"*\";\n\nexports.htmlEntities = {quot:34, dollar:36, amp:38, apos:39, lt:60, gt:62, nbsp:160, iexcl:161, cent:162, pound:163, curren:164, yen:165, brvbar:166, sect:167, uml:168, copy:169, ordf:170, laquo:171, not:172, shy:173, reg:174, macr:175, deg:176, plusmn:177, sup2:178, sup3:179, acute:180, micro:181, para:182, middot:183, cedil:184, sup1:185, ordm:186, raquo:187, frac14:188, frac12:189, frac34:190, iquest:191, Agrave:192, Aacute:193, Acirc:194, Atilde:195, Auml:196, Aring:197, AElig:198, Ccedil:199, Egrave:200, Eacute:201, Ecirc:202, Euml:203, Igrave:204, Iacute:205, Icirc:206, Iuml:207, ETH:208, Ntilde:209, Ograve:210, Oacute:211, Ocirc:212, Otilde:213, Ouml:214, times:215, Oslash:216, Ugrave:217, Uacute:218, Ucirc:219, Uuml:220, Yacute:221, THORN:222, szlig:223, agrave:224, aacute:225, acirc:226, atilde:227, auml:228, aring:229, aelig:230, ccedil:231, egrave:232, eacute:233, ecirc:234, euml:235, igrave:236, iacute:237, icirc:238, iuml:239, eth:240, ntilde:241, ograve:242, oacute:243, ocirc:244, otilde:245, ouml:246, divide:247, oslash:248, ugrave:249, uacute:250, ucirc:251, uuml:252, yacute:253, thorn:254, yuml:255, OElig:338, oelig:339, Scaron:352, scaron:353, Yuml:376, fnof:402, circ:710, tilde:732, Alpha:913, Beta:914, Gamma:915, Delta:916, Epsilon:917, Zeta:918, Eta:919, Theta:920, Iota:921, Kappa:922, Lambda:923, Mu:924, Nu:925, Xi:926, Omicron:927, Pi:928, Rho:929, Sigma:931, Tau:932, Upsilon:933, Phi:934, Chi:935, Psi:936, Omega:937, alpha:945, beta:946, gamma:947, delta:948, epsilon:949, zeta:950, eta:951, theta:952, iota:953, kappa:954, lambda:955, mu:956, nu:957, xi:958, omicron:959, pi:960, rho:961, sigmaf:962, sigma:963, tau:964, upsilon:965, phi:966, chi:967, psi:968, omega:969, thetasym:977, upsih:978, piv:982, ensp:8194, emsp:8195, thinsp:8201, zwnj:8204, zwj:8205, lrm:8206, rlm:8207, ndash:8211, mdash:8212, lsquo:8216, rsquo:8217, sbquo:8218, ldquo:8220, rdquo:8221, bdquo:8222, dagger:8224, Dagger:8225, bull:8226, hellip:8230, permil:8240, prime:8242, Prime:8243, lsaquo:8249, rsaquo:8250, oline:8254, frasl:8260, nobreak:8288, NoBreak:8288, euro:8364, image:8465, weierp:8472, real:8476, trade:8482, alefsym:8501, larr:8592, uarr:8593, rarr:8594, darr:8595, harr:8596, crarr:8629, lArr:8656, uArr:8657, rArr:8658, dArr:8659, hArr:8660, forall:8704, part:8706, exist:8707, empty:8709, nabla:8711, isin:8712, notin:8713, ni:8715, prod:8719, sum:8721, minus:8722, lowast:8727, radic:8730, prop:8733, infin:8734, ang:8736, and:8743, or:8744, cap:8745, cup:8746, int:8747, there4:8756, sim:8764, cong:8773, asymp:8776, ne:8800, equiv:8801, le:8804, ge:8805, sub:8834, sup:8835, nsub:8836, sube:8838, supe:8839, oplus:8853, otimes:8855, perp:8869, sdot:8901, lceil:8968, rceil:8969, lfloor:8970, rfloor:8971, lang:9001, rang:9002, loz:9674, spades:9824, clubs:9827, hearts:9829, diams:9830 };\n\nexports.htmlVoidElements = \"area,base,br,col,command,embed,hr,img,input,keygen,link,meta,param,source,track,wbr\".split(\",\");\n\nexports.htmlBlockElements = \"address,article,aside,audio,blockquote,canvas,dd,details,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,hr,li,nav,ol,p,pre,section,summary,table,tfoot,ul,video\".split(\",\");\n\nexports.htmlUnsafeElements = \"script\".split(\",\");\n"
  },
  {
    "path": "core/modules/deserializers.js",
    "content": "/*\\\ntitle: $:/core/modules/deserializers.js\ntype: application/javascript\nmodule-type: tiddlerdeserializer\n\nFunctions to deserialise tiddlers from a block of text\n\n\\*/\n\n\"use strict\";\n\nexports[\"application/x-tiddler-html-div\"] = function(text,fields) {\n\treturn [deserializeTiddlerDiv(text,fields)];\n};\n\nexports[\"application/json\"] = function(text,fields) {\n\tvar results = [],\n\t\tincoming = $tw.utils.parseJSONSafe(text,function(err) {\n\t\t\treturn [{\n\t\t\t\ttitle: \"JSON error: \" + err,\n\t\t\t\ttext: \"\"\n\t\t\t}];\n\t\t});\n\tif(!$tw.utils.isArray(incoming)) {\n\t\tincoming = [incoming];\n\t}\n\tfor(var t=0; t<incoming.length; t++) {\n\t\tvar incomingFields = incoming[t],\n\t\t\tfields = {};\n\t\tfor(var f in incomingFields) {\n\t\t\tif(typeof incomingFields[f] === \"string\") {\n\t\t\t\tfields[f] = incomingFields[f];\n\t\t\t}\n\t\t}\n\t\tresults.push(fields);\n\t}\n\treturn results;\n};\n\n/*\nParse an HTML file into tiddlers. There are three possibilities:\n# A TiddlyWiki classic HTML file containing `text/x-tiddlywiki` tiddlers\n# A TiddlyWiki5 HTML file containing `text/vnd.tiddlywiki` tiddlers\n# An ordinary HTML file\n*/\nexports[\"text/html\"] = function(text,fields) {\n\tvar results = [];\n\t// Check if we've got an old-style store area\n\tvar storeAreaMarkerRegExp = /<div id=[\"']?storeArea['\"]?( style=[\"']?display:none;[\"']?)?>/gi,\n\t\tstoreAreaMatch = storeAreaMarkerRegExp.exec(text);\n\tif(storeAreaMatch) {\n\t\t// If so, we've got tiddlers in classic TiddlyWiki format or unencrypted old-style TW5 format\n\t\tresults.push.apply(results,deserializeStoreArea(text,storeAreaMarkerRegExp.lastIndex,!!storeAreaMatch[1],fields));\n\t}\n\t// Check for new-style store areas\n\tvar newStoreAreaMarkerRegExp = /<script class=\"tiddlywiki-tiddler-store\" type=\"([^\"]*)\">/gi,\n\t\tnewStoreAreaMatch = newStoreAreaMarkerRegExp.exec(text),\n\t\thaveHadNewStoreArea = !!newStoreAreaMatch;\n\twhile(newStoreAreaMatch) {\n\t\tresults.push.apply(results,deserializeNewStoreArea(text,newStoreAreaMarkerRegExp.lastIndex,newStoreAreaMatch[1],fields));\n\t\tnewStoreAreaMatch = newStoreAreaMarkerRegExp.exec(text);\n\t}\n\t// Return if we had either an old-style or a new-style store area\n\tif(storeAreaMatch || haveHadNewStoreArea) {\n\t\treturn results;\n\t}\n\t// Otherwise, check whether we've got an encrypted file\n\tvar encryptedStoreArea = $tw.utils.extractEncryptedStoreArea(text);\n\tif(encryptedStoreArea) {\n\t\t// If so, attempt to decrypt it using the current password\n\t\treturn $tw.utils.decryptStoreArea(encryptedStoreArea);\n\t} else {\n\t\t// It's not a TiddlyWiki so we'll return the entire HTML file as a tiddler\n\t\treturn deserializeHtmlFile(text,fields);\n\t}\n};\n\nfunction deserializeHtmlFile(text,fields) {\n\tvar result = {};\n\t$tw.utils.each(fields,function(value,name) {\n\t\tresult[name] = value;\n\t});\n\tresult.text = text;\n\tresult.type = \"text/html\";\n\treturn [result];\n}\n\nfunction deserializeNewStoreArea(text,storeAreaEnd,type,fields) {\n\tvar endOfScriptRegExp = /<\\/script>/gi;\n\tendOfScriptRegExp.lastIndex = storeAreaEnd;\n\tvar match = endOfScriptRegExp.exec(text);\n\tif(match) {\n\t\tvar scriptContent = text.substring(storeAreaEnd,match.index);\n\t\treturn $tw.wiki.deserializeTiddlers(type,scriptContent);\n\t} else {\n\t\treturn [];\n\t}\n}\n\nfunction deserializeStoreArea(text,storeAreaEnd,isTiddlyWiki5,fields) {\n\tvar results = [],\n\t\tendOfDivRegExp = /(<\\/div>\\s*)/gi,\n\t\tstartPos = storeAreaEnd,\n\t\tdefaultType = isTiddlyWiki5 ? undefined : \"text/x-tiddlywiki\";\n\tendOfDivRegExp.lastIndex = startPos;\n\tvar match = endOfDivRegExp.exec(text);\n\twhile(match) {\n\t\tvar endPos = endOfDivRegExp.lastIndex,\n\t\t\ttiddlerFields = deserializeTiddlerDiv(text.substring(startPos,endPos),fields,{type: defaultType});\n\t\tif(!tiddlerFields) {\n\t\t\tbreak;\n\t\t}\n\t\t$tw.utils.each(tiddlerFields,function(value,name) {\n\t\t\tif(typeof value === \"string\") {\n\t\t\t\ttiddlerFields[name] = $tw.utils.htmlDecode(value);\n\t\t\t}\n\t\t});\n\t\tif(tiddlerFields.text !== null) {\n\t\t\tresults.push(tiddlerFields);\n\t\t}\n\t\tstartPos = endPos;\n\t\tmatch = endOfDivRegExp.exec(text);\n\t}\n\treturn results;\n}\n\n/*\nUtility function to parse an old-style tiddler DIV in a *.tid file. It looks like this:\n\n<div title=\"Title\" creator=\"JoeBloggs\" modifier=\"JoeBloggs\" created=\"201102111106\" modified=\"201102111310\" tags=\"myTag [[my long tag]]\">\n<pre>The text of the tiddler (without the expected HTML encoding).\n</pre>\n</div>\n\nNote that the field attributes are HTML encoded, but that the body of the <PRE> tag is not encoded.\n\nWhen these tiddler DIVs are encountered within a TiddlyWiki HTML file then the body is encoded in the usual way.\n*/\nvar deserializeTiddlerDiv = function(text /* [,fields] */) {\n\t// Slot together the default results\n\tvar result = {};\n\tif(arguments.length > 1) {\n\t\tfor(var f=1; f<arguments.length; f++) {\n\t\t\tvar fields = arguments[f];\n\t\t\tfor(var t in fields) {\n\t\t\t\tresult[t] = fields[t];\t\t\n\t\t\t}\n\t\t}\n\t}\n\t// Parse the DIV body\n\tvar startRegExp = /^\\s*<div\\s+([^>]*)>(\\s*<pre>)?/gi,\n\t\tendRegExp,\n\t\tmatch = startRegExp.exec(text);\n\tif(match) {\n\t\t// Old-style DIVs don't have the <pre> tag\n\t\tif(match[2]) {\n\t\t\tendRegExp = /<\\/pre>\\s*<\\/div>\\s*$/gi;\n\t\t} else {\n\t\t\tendRegExp = /<\\/div>\\s*$/gi;\n\t\t}\n\t\tvar endMatch = endRegExp.exec(text);\n\t\tif(endMatch) {\n\t\t\t// Extract the text\n\t\t\tresult.text = text.substring(match.index + match[0].length,endMatch.index);\n\t\t\t// Process the attributes\n\t\t\tvar attrRegExp = /\\s*([^=\\s]+)\\s*=\\s*(?:\"([^\"]*)\"|'([^']*)')/gi,\n\t\t\t\tattrMatch;\n\t\t\tdo {\n\t\t\t\tattrMatch = attrRegExp.exec(match[1]);\n\t\t\t\tif(attrMatch) {\n\t\t\t\t\tvar name = attrMatch[1];\n\t\t\t\t\tvar value = attrMatch[2] !== undefined ? attrMatch[2] : attrMatch[3];\n\t\t\t\t\tresult[name] = value;\n\t\t\t\t}\n\t\t\t} while(attrMatch);\n\t\t\treturn result;\n\t\t}\n\t}\n\treturn undefined;\n};\n"
  },
  {
    "path": "core/modules/editor/engines/framed.js",
    "content": "/*\\\ntitle: $:/core/modules/editor/engines/framed.js\ntype: application/javascript\nmodule-type: library\n\nText editor engine based on a simple input or textarea within an iframe. This is done so that the selection is preserved even when clicking away from the textarea\n\n\\*/\n\n\"use strict\";\n\nvar HEIGHT_VALUE_TITLE = \"$:/config/TextEditor/EditorHeight/Height\";\n\nfunction FramedEngine(options) {\n\t// Save our options\n\toptions = options || {};\n\tthis.widget = options.widget;\n\tthis.value = options.value;\n\tthis.parentNode = options.parentNode;\n\tthis.nextSibling = options.nextSibling;\n\t// Create our hidden dummy text area for reading styles\n\tthis.dummyTextArea = this.widget.document.createElement(\"textarea\");\n\tif(this.widget.editClass) {\n\t\tthis.dummyTextArea.className = this.widget.editClass;\n\t}\n\tthis.dummyTextArea.setAttribute(\"hidden\",\"true\");\n\tthis.parentNode.insertBefore(this.dummyTextArea,this.nextSibling);\n\tthis.widget.domNodes.push(this.dummyTextArea);\n\t// Create the iframe\n\tthis.iframeNode = this.widget.document.createElement(\"iframe\");\n\tthis.parentNode.insertBefore(this.iframeNode,this.nextSibling);\n\tthis.iframeDoc = this.iframeNode.contentWindow.document;\n\t// (Firefox requires us to put some empty content in the iframe)\n\tvar paletteTitle = this.widget.wiki.getTiddlerText(\"$:/palette\");\n\tvar colorScheme = (this.widget.wiki.getTiddler(paletteTitle) || {fields: {}}).fields[\"color-scheme\"] || \"light\";\n\tthis.iframeDoc.open();\n\tthis.iframeDoc.write(\"<!DOCTYPE html><html><head><meta name='color-scheme' content='\" + colorScheme + \"'></head><body></body></html>\");\n\tthis.iframeDoc.close();\n\t// Style the iframe\n\tthis.iframeNode.className = this.dummyTextArea.className;\n\tthis.iframeNode.style.border = \"none\";\n\tthis.iframeNode.style.padding = \"0\";\n\tthis.iframeNode.style.resize = \"none\";\n\tthis.iframeDoc.body.style.margin = \"0\";\n\tthis.iframeDoc.body.style.padding = \"0\";\n\tthis.widget.domNodes.push(this.iframeNode);\n\t// Construct the textarea or input node\n\tvar tag = this.widget.editTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"input\";\n\t}\n\tthis.domNode = this.iframeDoc.createElement(tag);\n\t// Set the text\n\tif(this.widget.editTag === \"textarea\") {\n\t\tthis.domNode.appendChild(this.iframeDoc.createTextNode(this.value));\n\t} else {\n\t\tthis.domNode.value = this.value;\n\t}\n\t// Set the attributes\n\tif(this.widget.editType && this.widget.editTag !== \"textarea\") {\n\t\tthis.domNode.setAttribute(\"type\",this.widget.editType);\n\t}\n\tif(this.widget.editPlaceholder) {\n\t\tthis.domNode.setAttribute(\"placeholder\",this.widget.editPlaceholder);\n\t}\n\tif(this.widget.editSize) {\n\t\tthis.domNode.setAttribute(\"size\",this.widget.editSize);\n\t}\n\tif(this.widget.editRows) {\n\t\tthis.domNode.setAttribute(\"rows\",this.widget.editRows);\n\t}\n\tif(this.widget.editTabIndex) {\n\t\tthis.iframeNode.setAttribute(\"tabindex\",this.widget.editTabIndex);\n\t}\n\tif(this.widget.editAutoComplete) {\n\t\tthis.domNode.setAttribute(\"autocomplete\",this.widget.editAutoComplete);\n\t}\n\tif(this.widget.isDisabled === \"yes\") {\n\t\tthis.domNode.setAttribute(\"disabled\",true);\n\t}\n\t// Copy the styles from the dummy textarea\n\tthis.copyStyles();\n\t// Add event listeners\n\t$tw.utils.addEventListeners(this.domNode,[\n\t\t{name: \"click\",handlerObject: this,handlerMethod: \"handleClickEvent\"},\n\t\t{name: \"input\",handlerObject: this,handlerMethod: \"handleInputEvent\"},\n\t\t{name: \"keydown\",handlerObject: this,handlerMethod: \"handleKeydownEvent\"},\n\t\t{name: \"focus\",handlerObject: this,handlerMethod: \"handleFocusEvent\"}\n\t]);\n\t// Add drag and drop event listeners if fileDrop is enabled\n\tif(this.widget.isFileDropEnabled) {\n\t\t$tw.utils.addEventListeners(this.domNode,[\n\t\t\t{name: \"dragenter\",handlerObject: this.widget,handlerMethod: \"handleDragEnterEvent\"},\n\t\t\t{name: \"dragover\",handlerObject: this.widget,handlerMethod: \"handleDragOverEvent\"},\n\t\t\t{name: \"dragleave\",handlerObject: this.widget,handlerMethod: \"handleDragLeaveEvent\"},\n\t\t\t{name: \"dragend\",handlerObject: this.widget,handlerMethod: \"handleDragEndEvent\"},\n\t\t\t{name: \"drop\", handlerObject: this.widget,handlerMethod: \"handleDropEvent\"},\n\t\t\t{name: \"paste\", handlerObject: this.widget,handlerMethod: \"handlePasteEvent\"},\n\t\t\t{name: \"click\",handlerObject: this.widget,handlerMethod: \"handleClickEvent\"}\n\t\t]);\n\t}\n\t// Insert the element into the DOM\n\tthis.iframeDoc.body.appendChild(this.domNode);\n}\n\n/*\nCopy styles from the dummy text area to the textarea in the iframe\n*/\nFramedEngine.prototype.copyStyles = function() {\n\t// Copy all styles\n\t$tw.utils.copyStyles(this.dummyTextArea,this.domNode);\n\t// Override the ones that should not be set the same as the dummy textarea\n\tthis.domNode.style.display = \"block\";\n\tthis.domNode.style.width = \"100%\";\n\tthis.domNode.style.margin = \"0\";\n\t// In Chrome setting -webkit-text-fill-color overrides the placeholder text colour\n\tthis.domNode.style[\"-webkit-text-fill-color\"] = \"currentcolor\";\n\t// Ensure we don't force text direction to LTR\n\tthis.domNode.style.removeProperty(\"direction\");\n};\n\n/*\nSet the text of the engine if it doesn't currently have focus\n*/\nFramedEngine.prototype.setText = function(text,type) {\n\tif(!this.domNode.isTiddlyWikiFakeDom) {\n\t\tif(this.domNode.ownerDocument.activeElement !== this.domNode) {\n\t\t\tthis.updateDomNodeText(text);\n\t\t}\n\t\t// Fix the height if needed\n\t\tthis.fixHeight();\n\t}\n};\n\n/*\nUpdate the DomNode with the new text\n*/\nFramedEngine.prototype.updateDomNodeText = function(text) {\n\ttry {\n\t\tthis.domNode.value = text;\n\t} catch(e) {\n\t\t// Ignore\n\t}\n};\n\n/*\nGet the text of the engine\n*/\nFramedEngine.prototype.getText = function() {\n\treturn this.domNode.value;\n};\n\n/*\nFix the height of textarea to fit content\n*/\nFramedEngine.prototype.fixHeight = function() {\n\t// Make sure styles are updated\n\tthis.copyStyles();\n\t// If .editRows is initialised, it takes precedence\n\tif(this.widget.editTag === \"textarea\" && !this.widget.editRows) {\n\t\tif(this.widget.editAutoHeight) {\n\t\t\tif(this.domNode && !this.domNode.isTiddlyWikiFakeDom) {\n\t\t\t\tvar newHeight = $tw.utils.resizeTextAreaToFit(this.domNode,this.widget.editMinHeight);\n\t\t\t\tthis.iframeNode.style.height = newHeight + \"px\";\n\t\t\t}\n\t\t} else {\n\t\t\tvar fixedHeight = parseInt(this.widget.wiki.getTiddlerText(HEIGHT_VALUE_TITLE,\"400px\"),10);\n\t\t\tfixedHeight = Math.max(fixedHeight,20);\n\t\t\tthis.domNode.style.height = fixedHeight + \"px\";\n\t\t\tthis.iframeNode.style.height = fixedHeight + \"px\";\n\t\t}\n\t}\n};\n\n/*\nFocus the engine node\n*/\nFramedEngine.prototype.focus  = function() {\n\tif(this.domNode.focus) {\n\t\tthis.domNode.focus();\n\t}\n\tif(this.domNode.select) {\n\t\t$tw.utils.setSelectionByPosition(this.domNode,this.widget.editFocusSelectFromStart,this.widget.editFocusSelectFromEnd);\n\t}\n};\n\n/*\nHandle a focus event\n*/\nFramedEngine.prototype.handleFocusEvent = function(event) {\n\tif(this.widget.editCancelPopups) {\n\t\t$tw.popup.cancel(0);\n\t}\n};\n\n/*\nHandle a keydown event\n */\nFramedEngine.prototype.handleKeydownEvent = function(event) {\n\tif($tw.keyboardManager.handleKeydownEvent(event, {onlyPriority: true})) {\n\t\treturn true;\n\t}\n\n\treturn this.widget.handleKeydownEvent(event);\n};\n\n/*\nHandle a click\n*/\nFramedEngine.prototype.handleClickEvent = function(event) {\n\tthis.fixHeight();\n\treturn true;\n};\n\n/*\nHandle a dom \"input\" event which occurs when the text has changed\n*/\nFramedEngine.prototype.handleInputEvent = function(event) {\n\tthis.widget.saveChanges(this.getText());\n\tthis.fixHeight();\n\tif(this.widget.editInputActions) {\n\t\tthis.widget.invokeActionString(this.widget.editInputActions,this,event,{actionValue: this.getText()});\n\t}\n\treturn true;\n};\n\n/*\nCreate a blank structure representing a text operation\n*/\nFramedEngine.prototype.createTextOperation = function() {\n\tvar operation = {\n\t\ttext: this.domNode.value,\n\t\tselStart: this.domNode.selectionStart,\n\t\tselEnd: this.domNode.selectionEnd,\n\t\tcutStart: null,\n\t\tcutEnd: null,\n\t\treplacement: null,\n\t\tnewSelStart: null,\n\t\tnewSelEnd: null\n\t};\n\toperation.selection = operation.text.substring(operation.selStart,operation.selEnd);\n\treturn operation;\n};\n\n/*\nExecute a text operation\n*/\nFramedEngine.prototype.executeTextOperation = function(operation) {\n\t// Perform the required changes to the text area and the underlying tiddler\n\tvar newText = operation.text;\n\tif(operation.replacement !== null) {\n\t\tnewText = operation.text.substring(0,operation.cutStart) + operation.replacement + operation.text.substring(operation.cutEnd);\n\t\t// Attempt to use a execCommand to modify the value of the control\n\t\tif(this.iframeDoc.queryCommandSupported(\"insertText\") && this.iframeDoc.queryCommandSupported(\"delete\") && !$tw.browser.isFirefox) {\n\t\t\tthis.domNode.focus();\n\t\t\tthis.domNode.setSelectionRange(operation.cutStart,operation.cutEnd);\n\t\t\tif(operation.replacement === \"\") {\n\t\t\t\tthis.iframeDoc.execCommand(\"delete\",false,\"\");\n\t\t\t} else {\n\t\t\t\tthis.iframeDoc.execCommand(\"insertText\",false,operation.replacement);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.domNode.value = newText;\n\t\t}\n\t\tthis.domNode.focus();\n\t\tthis.domNode.setSelectionRange(operation.newSelStart,operation.newSelEnd);\n\t}\n\tthis.domNode.focus();\n\treturn newText;\n};\n\nexports.FramedEngine = FramedEngine;\n"
  },
  {
    "path": "core/modules/editor/engines/simple.js",
    "content": "/*\\\ntitle: $:/core/modules/editor/engines/simple.js\ntype: application/javascript\nmodule-type: library\n\nText editor engine based on a simple input or textarea tag\n\n\\*/\n\n\"use strict\";\n\nvar HEIGHT_VALUE_TITLE = \"$:/config/TextEditor/EditorHeight/Height\";\n\nfunction SimpleEngine(options) {\n\t// Save our options\n\toptions = options || {};\n\tthis.widget = options.widget;\n\tthis.value = options.value;\n\tthis.parentNode = options.parentNode;\n\tthis.nextSibling = options.nextSibling;\n\t// Construct the textarea or input node\n\tvar tag = this.widget.editTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"input\";\n\t}\n\tthis.domNode = this.widget.document.createElement(tag);\n\t// Set the text\n\tif(this.widget.editTag === \"textarea\") {\n\t\tthis.domNode.appendChild(this.widget.document.createTextNode(this.value));\n\t} else {\n\t\tthis.domNode.value = this.value;\n\t}\n\t// Set the attributes\n\tif(this.widget.editType && this.widget.editTag !== \"textarea\") {\n\t\tthis.domNode.setAttribute(\"type\",this.widget.editType);\n\t}\n\tif(this.widget.editPlaceholder) {\n\t\tthis.domNode.setAttribute(\"placeholder\",this.widget.editPlaceholder);\n\t}\n\tif(this.widget.editSize) {\n\t\tthis.domNode.setAttribute(\"size\",this.widget.editSize);\n\t}\n\tif(this.widget.editRows) {\n\t\tthis.domNode.setAttribute(\"rows\",this.widget.editRows);\n\t}\n\tif(this.widget.editClass) {\n\t\tthis.domNode.className = this.widget.editClass;\n\t}\n\tif(this.widget.editTabIndex) {\n\t\tthis.domNode.setAttribute(\"tabindex\",this.widget.editTabIndex);\n\t}\n\tif(this.widget.editAutoComplete) {\n\t\tthis.domNode.setAttribute(\"autocomplete\",this.widget.editAutoComplete);\n\t}\n\tif(this.widget.isDisabled === \"yes\") {\n\t\tthis.domNode.setAttribute(\"disabled\",true);\n\t}\n\t// Add an input event handler\n\t$tw.utils.addEventListeners(this.domNode,[\n\t\t{name: \"focus\", handlerObject: this, handlerMethod: \"handleFocusEvent\"},\n\t\t{name: \"input\", handlerObject: this, handlerMethod: \"handleInputEvent\"}\n\t]);\n\t// Insert the element into the DOM\n\tthis.parentNode.insertBefore(this.domNode,this.nextSibling);\n\tthis.widget.domNodes.push(this.domNode);\n}\n\n/*\nSet the text of the engine if it doesn't currently have focus\n*/\nSimpleEngine.prototype.setText = function(text,type) {\n\tif(!this.domNode.isTiddlyWikiFakeDom) {\n\t\tif(this.domNode.ownerDocument.activeElement !== this.domNode || text === \"\") {\n\t\t\tthis.updateDomNodeText(text);\n\t\t}\n\t\t// Fix the height if needed\n\t\tthis.fixHeight();\n\t}\n};\n\n/*\nUpdate the DomNode with the new text\n*/\nSimpleEngine.prototype.updateDomNodeText = function(text) {\n\ttry {\n\t\tthis.domNode.value = text;\n\t} catch(e) {\n\t\t// Ignore\n\t}\n};\n\n/*\nGet the text of the engine\n*/\nSimpleEngine.prototype.getText = function() {\n\treturn this.domNode.value;\n};\n\n/*\nFix the height of textarea to fit content\n*/\nSimpleEngine.prototype.fixHeight = function() {\n\t// If .editRows is initialised, it takes precedence\n\tif((this.widget.editTag === \"textarea\") && !this.widget.editRows) {\n\t\tif(this.widget.editAutoHeight) {\n\t\t\tif(this.domNode && !this.domNode.isTiddlyWikiFakeDom) {\n\t\t\t\t$tw.utils.resizeTextAreaToFit(this.domNode,this.widget.editMinHeight);\n\t\t\t}\n\t\t} else {\n\t\t\tvar fixedHeight = parseInt(this.widget.wiki.getTiddlerText(HEIGHT_VALUE_TITLE,\"400px\"),10);\n\t\t\tfixedHeight = Math.max(fixedHeight,20);\n\t\t\tthis.domNode.style.height = fixedHeight + \"px\";\n\t\t}\n\t}\n};\n\n/*\nFocus the engine node\n*/\nSimpleEngine.prototype.focus = function() {\n\tif(this.domNode.focus) {\n\t\tthis.domNode.focus();\n\t}\n\tif(this.domNode.select) {\n\t\t$tw.utils.setSelectionByPosition(this.domNode,this.widget.editFocusSelectFromStart,this.widget.editFocusSelectFromEnd);\n\t}\n};\n\n/*\nHandle a dom \"input\" event which occurs when the text has changed\n*/\nSimpleEngine.prototype.handleInputEvent = function(event) {\n\tthis.widget.saveChanges(this.getText());\n\tthis.fixHeight();\n\tif(this.widget.editInputActions) {\n\t\tthis.widget.invokeActionString(this.widget.editInputActions,this,event,{actionValue: this.getText()});\n\t}\n\treturn true;\n};\n\n/*\nHandle a dom \"focus\" event\n*/\nSimpleEngine.prototype.handleFocusEvent = function(event) {\n\tif(this.widget.editCancelPopups) {\n\t\t$tw.popup.cancel(0);\n\t}\n\tif(this.widget.editFocusPopup) {\n\t\t$tw.popup.triggerPopup({\n\t\t\tdomNode: this.domNode,\n\t\t\ttitle: this.widget.editFocusPopup,\n\t\t\twiki: this.widget.wiki,\n\t\t\tforce: true\n\t\t});\n\t}\n\treturn true;\n};\n\n/*\nCreate a blank structure representing a text operation\n*/\nSimpleEngine.prototype.createTextOperation = function() {\n\treturn null;\n};\n\n/*\nExecute a text operation\n*/\nSimpleEngine.prototype.executeTextOperation = function(operation) {\n};\n\nexports.SimpleEngine = SimpleEngine;\n"
  },
  {
    "path": "core/modules/editor/factory.js",
    "content": "/*\\\ntitle: $:/core/modules/editor/factory.js\ntype: application/javascript\nmodule-type: library\n\nFactory for constructing text editor widgets with specified engines for the toolbar and non-toolbar cases\n\n\\*/\n\n\"use strict\";\n\nvar DEFAULT_MIN_TEXT_AREA_HEIGHT = \"100px\"; // Minimum height of textareas in pixels\n\n// Configuration tiddlers\nvar HEIGHT_MODE_TITLE = \"$:/config/TextEditor/EditorHeight/Mode\";\nvar ENABLE_TOOLBAR_TITLE = \"$:/config/TextEditor/EnableToolbar\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nfunction editTextWidgetFactory(toolbarEngine,nonToolbarEngine) {\n\n\tvar EditTextWidget = function(parseTreeNode,options) {\n\t\t// Initialise the editor operations if they've not been done already\n\t\tif(!this.editorOperations) {\n\t\t\tEditTextWidget.prototype.editorOperations = {};\n\t\t\t$tw.modules.applyMethods(\"texteditoroperation\",this.editorOperations);\n\t\t}\n\t\tthis.initialise(parseTreeNode,options);\n\t};\n\n\t/*\n\tInherit from the base widget class\n\t*/\n\tEditTextWidget.prototype = new Widget();\n\n\t/*\n\tRender this widget into the DOM\n\t*/\n\tEditTextWidget.prototype.render = function(parent,nextSibling) {\n\t\t// Save the parent dom node\n\t\tthis.parentDomNode = parent;\n\t\t// Compute our attributes\n\t\tthis.computeAttributes();\n\t\t// Execute our logic\n\t\tthis.execute();\n\t\t// Create the wrapper for the toolbar and render its content\n\t\tif(this.editShowToolbar) {\n\t\t\tthis.toolbarNode = this.document.createElement(\"div\");\n\t\t\tthis.toolbarNode.className = \"tc-editor-toolbar\";\n\t\t\tparent.insertBefore(this.toolbarNode,nextSibling);\n\t\t\tthis.domNodes.push(this.toolbarNode);\n\t\t\tthis.renderChildren(this.toolbarNode,null);\n\t\t}\n\t\t// Create our element\n\t\tvar editInfo = this.getEditInfo(),\n\t\t\tEngine = this.editShowToolbar ? toolbarEngine : nonToolbarEngine;\n\t\tthis.engine = new Engine({\n\t\t\twidget: this,\n\t\t\tvalue: editInfo.value,\n\t\t\ttype: editInfo.type,\n\t\t\tparentNode: parent,\n\t\t\tnextSibling: nextSibling\n\t\t});\n\t\t// Call the postRender hook\n\t\tif(this.postRender) {\n\t\t\tthis.postRender();\n\t\t}\n\t\t// Fix height\n\t\tthis.engine.fixHeight();\n\t\t// Focus if required\n\t\tif($tw.browser && (this.editFocus === \"true\" || this.editFocus === \"yes\") && !$tw.utils.hasClass(this.parentDomNode.ownerDocument.activeElement,\"tc-keep-focus\")) {\n\t\t\tthis.engine.focus();\n\t\t}\n\t\t// Add widget message listeners\n\t\tthis.addEventListeners([\n\t\t\t{type: \"tm-edit-text-operation\", handler: \"handleEditTextOperationMessage\"}\n\t\t]);\n\t};\n\n\t/*\n\tGet the tiddler being edited and current value\n\t*/\n\tEditTextWidget.prototype.getEditInfo = function() {\n\t\t// Get the edit value\n\t\tvar self = this,\n\t\t\tvalue,\n\t\t\ttype = \"text/plain\",\n\t\t\tupdate;\n\t\tif(this.editIndex) {\n\t\t\tvalue = this.wiki.extractTiddlerDataItem(this.editTitle,this.editIndex,this.editDefault);\n\t\t\tupdate = function(value) {\n\t\t\t\tvar data = self.wiki.getTiddlerData(self.editTitle,{});\n\t\t\t\tif(data[self.editIndex] !== value) {\n\t\t\t\t\tdata[self.editIndex] = value;\n\t\t\t\t\tself.wiki.setTiddlerData(self.editTitle,data);\n\t\t\t\t}\n\t\t\t};\n\t\t} else {\n\t\t\t// Get the current tiddler and the field name\n\t\t\tvar tiddler = this.wiki.getTiddler(this.editTitle);\n\t\t\tif(tiddler) {\n\t\t\t\t// If we've got a tiddler, the value to display is the field string value\n\t\t\t\tif(tiddler.hasField(this.editField)) {\n\t\t\t\t\tvalue = tiddler.getFieldString(this.editField);\n\t\t\t\t} else {\n\t\t\t\t\tvalue = this.editDefault || \"\";\n\t\t\t\t}\n\t\t\t\tif(this.editField === \"text\") {\n\t\t\t\t\ttype = tiddler.fields.type || \"text/vnd.tiddlywiki\";\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Otherwise, we need to construct a default value for the editor\n\t\t\t\tswitch(this.editField) {\n\t\t\t\t\tcase \"text\":\n\t\t\t\t\t\tvalue = \"\";\n\t\t\t\t\t\ttype = \"text/vnd.tiddlywiki\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"title\":\n\t\t\t\t\t\tvalue = this.editTitle;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tvalue = \"\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(this.editDefault !== undefined) {\n\t\t\t\t\tvalue = this.editDefault;\n\t\t\t\t}\n\t\t\t}\n\t\t\tupdate = function(value) {\n\t\t\t\tvar tiddler = self.wiki.getTiddler(self.editTitle),\n\t\t\t\t\tupdateFields = {\n\t\t\t\t\t\ttitle: self.editTitle\n\t\t\t\t\t};\n\t\t\t\tupdateFields[self.editField] = value;\n\t\t\t\tself.wiki.addTiddler(new $tw.Tiddler(self.wiki.getCreationFields(),tiddler,updateFields,self.wiki.getModificationFields()));\n\t\t\t};\n\t\t}\n\t\tif(this.editType) {\n\t\t\ttype = this.editType;\n\t\t}\n\t\treturn {value: value || \"\", type: type, update: update};\n\t};\n\n\t/*\n\tHandle an edit text operation message from the toolbar\n\t*/\n\tEditTextWidget.prototype.handleEditTextOperationMessage = function(event) {\n\t\t// Prepare information about the operation\n\t\tvar operation = this.engine.createTextOperation();\n\t\t// Invoke the handler for the selected operation\n\t\tvar handler = this.editorOperations[event.param];\n\t\tif(handler) {\n\t\t\thandler.call(this,event,operation);\n\t\t}\n\t\t// Execute the operation via the engine\n\t\tvar newText = this.engine.executeTextOperation(operation);\n\t\t// Fix the tiddler height and save changes\n\t\tthis.engine.fixHeight();\n\t\tthis.saveChanges(newText);\n\t};\n\n\t/*\n\tCompute the internal state of the widget\n\t*/\n\tEditTextWidget.prototype.execute = function() {\n\t\t// Get our parameters\n\t\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t\tthis.editField = this.getAttribute(\"field\",\"text\");\n\t\tthis.editIndex = this.getAttribute(\"index\");\n\t\tthis.editDefault = this.getAttribute(\"default\");\n\t\tthis.editClass = this.getAttribute(\"class\");\n\t\tthis.editPlaceholder = this.getAttribute(\"placeholder\");\n\t\tthis.editSize = this.getAttribute(\"size\");\n\t\tthis.editRows = this.getAttribute(\"rows\");\n\t\tthis.editAutoHeight = this.wiki.getTiddlerText(HEIGHT_MODE_TITLE,\"auto\");\n\t\tthis.editAutoHeight = this.getAttribute(\"autoHeight\",this.editAutoHeight === \"auto\" ? \"yes\" : \"no\") === \"yes\";\n\t\tthis.editMinHeight = this.getAttribute(\"minHeight\",DEFAULT_MIN_TEXT_AREA_HEIGHT);\n\t\tthis.editFocusPopup = this.getAttribute(\"focusPopup\");\n\t\tthis.editFocus = this.getAttribute(\"focus\");\n\t\tthis.editFocusSelectFromStart = $tw.utils.parseNumber(this.getAttribute(\"focusSelectFromStart\",\"0\"));\n\t\tthis.editFocusSelectFromEnd = $tw.utils.parseNumber(this.getAttribute(\"focusSelectFromEnd\",\"0\"));\n\t\tthis.editTabIndex = this.getAttribute(\"tabindex\");\n\t\tthis.editCancelPopups = this.getAttribute(\"cancelPopups\",\"\") === \"yes\";\n\t\tthis.editInputActions = this.getAttribute(\"inputActions\");\n\t\tthis.editRefreshTitle = this.getAttribute(\"refreshTitle\");\n\t\tthis.editAutoComplete = this.getAttribute(\"autocomplete\");\n\t\tthis.isDisabled = this.getAttribute(\"disabled\",\"no\");\n\t\tthis.isFileDropEnabled = this.getAttribute(\"fileDrop\",\"no\") === \"yes\";\n\t\t// Get the default editor element tag and type\n\t\tvar tag,type;\n\t\tif(this.editField === \"text\") {\n\t\t\ttag = \"textarea\";\n\t\t} else {\n\t\t\ttag = \"input\";\n\t\t\tvar fieldModule = $tw.Tiddler.fieldModules[this.editField];\n\t\t\tif(fieldModule && fieldModule.editTag) {\n\t\t\t\ttag = fieldModule.editTag;\n\t\t\t}\n\t\t\tif(fieldModule && fieldModule.editType) {\n\t\t\t\ttype = fieldModule.editType;\n\t\t\t}\n\t\t\ttype = type || \"text\";\n\t\t}\n\t\t// Get the rest of our parameters\n\t\tthis.editTag = this.getAttribute(\"tag\",tag) || \"input\";\n\t\tthis.editType = this.getAttribute(\"type\",type);\n\t\t// Make the child widgets\n\t\tthis.makeChildWidgets();\n\t\t// Determine whether to show the toolbar\n\t\tthis.editShowToolbar = this.wiki.getTiddlerText(ENABLE_TOOLBAR_TITLE,\"yes\");\n\t\tthis.editShowToolbar = (this.editShowToolbar === \"yes\") && !!(this.children && this.children.length > 0) && (!this.document.isTiddlyWikiFakeDom);\n\t};\n\n\t/*\n\tSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n\t*/\n\tEditTextWidget.prototype.refresh = function(changedTiddlers) {\n\t\tvar changedAttributes = this.computeAttributes();\n\t\t// Completely rerender if any of our attributes have changed\n\t\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes[\"default\"] || changedAttributes[\"class\"] || changedAttributes.placeholder || changedAttributes.size || changedAttributes.autoHeight || changedAttributes.minHeight || changedAttributes.focusPopup ||  changedAttributes.rows || changedAttributes.tabindex || changedAttributes.cancelPopups || changedAttributes.inputActions || changedAttributes.refreshTitle || changedAttributes.autocomplete || changedTiddlers[HEIGHT_MODE_TITLE] || changedTiddlers[ENABLE_TOOLBAR_TITLE] || changedTiddlers[\"$:/palette\"] || changedAttributes.disabled || changedAttributes.fileDrop) {\n\t\t\tthis.refreshSelf();\n\t\t\treturn true;\n\t\t} else if(changedTiddlers[this.editRefreshTitle]) {\n\t\t\tthis.engine.updateDomNodeText(this.getEditInfo().value);\n\t\t} else if(changedTiddlers[this.editTitle]) {\n\t\t\tvar editInfo = this.getEditInfo();\n\t\t\tthis.updateEditor(editInfo.value,editInfo.type);\n\t\t}\n\t\tthis.engine.fixHeight();\n\t\tif(this.editShowToolbar) {\n\t\t\treturn this.refreshChildren(changedTiddlers);\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\t/*\n\tUpdate the editor with new text. This method is separate from updateEditorDomNode()\n\tso that subclasses can override updateEditor() and still use updateEditorDomNode()\n\t*/\n\tEditTextWidget.prototype.updateEditor = function(text,type) {\n\t\tthis.updateEditorDomNode(text,type);\n\t};\n\n\t/*\n\tUpdate the editor dom node with new text\n\t*/\n\tEditTextWidget.prototype.updateEditorDomNode = function(text,type) {\n\t\tthis.engine.setText(text,type);\n\t};\n\n\t/*\n\tSave changes back to the tiddler store\n\t*/\n\tEditTextWidget.prototype.saveChanges = function(text) {\n\t\tvar editInfo = this.getEditInfo();\n\t\tif(text !== editInfo.value) {\n\t\t\teditInfo.update(text);\n\t\t}\n\t};\n\n\t/*\n\tHandle a dom \"keydown\" event, which we'll bubble up to our container for the keyboard widgets benefit\n\t*/\n\tEditTextWidget.prototype.handleKeydownEvent = function(event) {\n\t\t// Check for a keyboard shortcut\n\t\tif(this.toolbarNode) {\n\t\t\tvar shortcutElements = this.toolbarNode.querySelectorAll(\"[data-tw-keyboard-shortcut]\");\n\t\t\tfor(var index=0; index<shortcutElements.length; index++) {\n\t\t\t\tvar el = shortcutElements[index],\n\t\t\t\t\tshortcutData = el.getAttribute(\"data-tw-keyboard-shortcut\"),\n\t\t\t\t\tkeyInfoArray = $tw.keyboardManager.parseKeyDescriptors(shortcutData,{\n\t\t\t\t\t\twiki: this.wiki\n\t\t\t\t\t});\n\t\t\t\tif($tw.keyboardManager.checkKeyDescriptors(event,keyInfoArray)) {\n\t\t\t\t\tvar clickEvent = this.document.createEvent(\"Events\");\n\t\t\t\t\tclickEvent.initEvent(\"click\",true,false);\n\t\t\t\t\tel.dispatchEvent(clickEvent);\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// Propogate the event to the container\n\t\tif(this.propogateKeydownEvent(event)) {\n\t\t\t// Ignore the keydown if it was already handled\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\treturn true;\n\t\t}\n\t\t// Otherwise, process the keydown normally\n\t\treturn false;\n\t};\n\n\t/*\n\tPropogate keydown events to our container for the keyboard widgets benefit\n\t*/\n\tEditTextWidget.prototype.propogateKeydownEvent = function(event) {\n\t\tvar newEvent = this.cloneEvent(event,[\"keyCode\",\"code\",\"which\",\"key\",\"metaKey\",\"ctrlKey\",\"altKey\",\"shiftKey\"]);\n\t\treturn !this.parentDomNode.dispatchEvent(newEvent);\n\t};\n\n\tEditTextWidget.prototype.cloneEvent = function(event,propertiesToCopy) {\n\t\tvar propertiesToCopy = propertiesToCopy || [],\n\t\t\tnewEvent = this.document.createEventObject ? this.document.createEventObject() : this.document.createEvent(\"Events\");\n\t\tif(newEvent.initEvent) {\n\t\t\tnewEvent.initEvent(event.type, true, true);\n\t\t}\n\t\t$tw.utils.each(propertiesToCopy,function(prop){\n\t\t\tnewEvent[prop] = event[prop];\n\t\t});\n\t\treturn newEvent;\n\t};\n\n\tEditTextWidget.prototype.dispatchDOMEvent = function(newEvent) {\n\t\tvar dispatchNode = this.engine.iframeNode || this.engine.parentNode;\n\t\treturn dispatchNode.dispatchEvent(newEvent);\n\t};\n\n\t/*\n\tPropogate drag and drop events with File data to our container for the dropzone widgets benefit.\n\tIf there are no Files, let the browser handle it.\n\t*/\n\tEditTextWidget.prototype.handleDropEvent = function(event) {\n\t\tif($tw.utils.dragEventContainsFiles(event)) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\tthis.dispatchDOMEvent(this.cloneEvent(event,[\"dataTransfer\"]));\n\t\t} \n\t};\n\n\tEditTextWidget.prototype.handlePasteEvent = function(event) {\n\t\tif(event.clipboardData && event.clipboardData.files && event.clipboardData.files.length) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\tthis.dispatchDOMEvent(this.cloneEvent(event,[\"clipboardData\"]));\n\t\t}\n\t};\n\n\tEditTextWidget.prototype.handleDragEnterEvent = function(event) {\n\t\tif($tw.utils.dragEventContainsFiles(event)) {\n\t\t\t// Ignore excessive events fired by FF when entering and leaving text nodes in a text area.\n\t\t\tif( event.relatedTarget && (event.relatedTarget.nodeType === 3 || event.target === event.relatedTarget)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tevent.preventDefault();\n\t\t\treturn this.dispatchDOMEvent(this.cloneEvent(event,[\"dataTransfer\"]));\n\t\t}\n\t\treturn true;\n\t};\n\n\tEditTextWidget.prototype.handleDragOverEvent = function(event) {\n\t\tif($tw.utils.dragEventContainsFiles(event)) {\n\t\t\t// Call preventDefault() in browsers that default to not allowing drop events on textarea\n\t\t\tif($tw.browser.isFirefox || $tw.browser.isIE) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t\tevent.dataTransfer.dropEffect = \"copy\";\n\t\t\treturn this.dispatchDOMEvent(this.cloneEvent(event,[\"dataTransfer\"]));\n\t\t}\n\t\treturn true;\n\t};\n\n\tEditTextWidget.prototype.handleDragLeaveEvent = function(event) {\n\t\t// Ignore excessive events fired by FF when entering and leaving text nodes in a text area.\n\t\tif(event.relatedTarget && ((event.relatedTarget.nodeType === 3) || (event.target === event.relatedTarget))) {\n\t\t\treturn true;\n\t\t}\n\t\tevent.preventDefault();\n\t\tthis.dispatchDOMEvent(this.cloneEvent(event,[\"dataTransfer\"]));\n\t};\n\n\tEditTextWidget.prototype.handleDragEndEvent = function(event) {\n\t\tthis.dispatchDOMEvent(this.cloneEvent(event));\n\t};\n\n\tEditTextWidget.prototype.handleClickEvent = function(event) {\n\t\treturn !this.dispatchDOMEvent(this.cloneEvent(event));\n\t};\n\n\treturn EditTextWidget;\n}\n\nexports.editTextWidgetFactory = editTextWidgetFactory;\n"
  },
  {
    "path": "core/modules/editor/operations/bitmap/clear.js",
    "content": "/*\\\ntitle: $:/core/modules/editor/operations/bitmap/clear.js\ntype: application/javascript\nmodule-type: bitmapeditoroperation\n\nBitmap editor operation to clear the image\n\n\\*/\n\n\"use strict\";\n\nexports[\"clear\"] = function(event) {\n\tvar ctx = this.canvasDomNode.getContext(\"2d\");\n\tctx.globalAlpha = 1;\n\tctx.fillStyle = event.paramObject.colour || \"white\";\n\tctx.fillRect(0,0,this.canvasDomNode.width,this.canvasDomNode.height);\n\t// Save changes\n\tthis.strokeEnd();\n};\n"
  },
  {
    "path": "core/modules/editor/operations/bitmap/resize.js",
    "content": "/*\\\ntitle: $:/core/modules/editor/operations/bitmap/resize.js\ntype: application/javascript\nmodule-type: bitmapeditoroperation\n\nBitmap editor operation to resize the image\n\n\\*/\n\n\"use strict\";\n\nexports[\"resize\"] = function(event) {\n\t// Get the new width\n\tvar newWidth = parseInt(event.paramObject.width || this.canvasDomNode.width,10),\n\t\tnewHeight = parseInt(event.paramObject.height || this.canvasDomNode.height,10);\n\t// Update if necessary\n\tif(newWidth > 0 && newHeight > 0 && !(newWidth === this.currCanvas.width && newHeight === this.currCanvas.height)) {\n\t\tthis.changeCanvasSize(newWidth,newHeight);\n\t}\n\t// Update the input controls\n\tthis.refreshToolbar();\n\t// Save the image into the tiddler\n\tthis.saveChanges();\n};\n"
  },
  {
    "path": "core/modules/editor/operations/bitmap/rotate-left.js",
    "content": "/*\\\ntitle: $:/core/modules/editor/operations/bitmap/rotate-left.js\ntype: application/javascript\nmodule-type: bitmapeditoroperation\n\nBitmap editor operation to rotate the image left by 90 degrees\n\n\\*/\n\n\"use strict\";\n\nexports[\"rotate-left\"] = function(event) {\n\t// Rotate the canvas left by 90 degrees\n\tthis.rotateCanvasLeft();\n\t// Update the input controls\n\tthis.refreshToolbar();\n\t// Save the image into the tiddler\n\tthis.saveChanges();\n};\n"
  },
  {
    "path": "core/modules/editor/operations/text/excise.js",
    "content": "/*\\\ntitle: $:/core/modules/editor/operations/text/excise.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to excise the selection to a new tiddler\n\n\\*/\n\n\"use strict\";\n\nfunction isMarkdown(mediaType) {\n\treturn mediaType === \"text/markdown\" || mediaType === \"text/x-markdown\";\n}\n\nexports[\"excise\"] = function(event,operation) {\n\tvar editTiddler = this.wiki.getTiddler(this.editTitle),\n\t\teditTiddlerTitle = this.editTitle,\n\t\twikiLinks = !isMarkdown(editTiddler.fields.type),\n\t\texcisionBaseTitle = $tw.language.getString(\"Buttons/Excise/DefaultTitle\");\n\tif(editTiddler && editTiddler.fields[\"draft.of\"]) {\n\t\teditTiddlerTitle = editTiddler.fields[\"draft.of\"];\n\t}\n\tvar excisionTitle = event.paramObject.title || this.wiki.generateNewTitle(excisionBaseTitle);\n\tthis.wiki.addTiddler(new $tw.Tiddler(\n\t\tthis.wiki.getCreationFields(),\n\t\tthis.wiki.getModificationFields(),\n\t\t{\n\t\t\ttitle: excisionTitle,\n\t\t\ttext: operation.selection,\n\t\t\ttags: event.paramObject.tagnew === \"yes\" ?  [editTiddlerTitle] : [],\n\t\t\ttype: editTiddler.fields.type\n\t\t}\n\t));\n\toperation.replacement = excisionTitle;\n\tswitch(event.paramObject.type || \"transclude\") {\n\t\tcase \"transclude\":\n\t\t\toperation.replacement = \"{{\" + operation.replacement+ \"}}\";\n\t\t\tbreak;\n\t\tcase \"link\":\n\t\t\toperation.replacement = wikiLinks ? \"[[\" + operation.replacement+ \"]]\"\n\t\t\t\t: (\"[\" + operation.replacement + \"](<#\" + operation.replacement + \">)\");\n\t\t\tbreak;\n\t\tcase \"macro\":\n\t\t\toperation.replacement = \"<<\" + (event.paramObject.macro || \"translink\") + \" \\\"\\\"\\\"\" + operation.replacement + \"\\\"\\\"\\\">>\";\n\t\t\tbreak;\n\t}\n\toperation.cutStart = operation.selStart;\n\toperation.cutEnd = operation.selEnd;\n\toperation.newSelStart = operation.selStart;\n\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n};\n"
  },
  {
    "path": "core/modules/editor/operations/text/focus-editor.js",
    "content": "/*\\\ntitle: $:/core/modules/editor/operations/text/focus-editor.js\ntype: application/javascript\nmodule-type: texteditoroperation\nSimply focus the Text editor\n\\*/\n\n\"use strict\";\n\nexports[\"focus-editor\"] = function(event,operation) {\n\toperation = null;\n};\n"
  },
  {
    "path": "core/modules/editor/operations/text/insert-text.js",
    "content": "/*\\\ntitle: $:/core/modules/editor/operations/text/insert-text.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation insert text at the caret position. If there is a selection it is replaced.\n\n\\*/\n\n\"use strict\";\n\nexports[\"insert-text\"] = function(event,operation) {\n\toperation.replacement = event.paramObject.text;\n\toperation.cutStart = operation.selStart;\n\toperation.cutEnd = operation.selEnd;\n\toperation.newSelStart = operation.selStart + operation.replacement.length;\n\toperation.newSelEnd = operation.newSelStart;\n};\n"
  },
  {
    "path": "core/modules/editor/operations/text/make-link.js",
    "content": "/*\\\ntitle: $:/core/modules/editor/operations/text/make-link.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to make a link\n\n\\*/\n\n\"use strict\";\n\nexports[\"make-link\"] = function(event,operation) {\n\tif(operation.selection) {\n\t\toperation.replacement = \"[[\" + operation.selection + \"|\" + event.paramObject.text + \"]]\";\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t} else {\n\t\toperation.replacement = \"[[\" + event.paramObject.text + \"]]\";\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t}\n\toperation.newSelStart = operation.selStart + operation.replacement.length;\n\toperation.newSelEnd = operation.newSelStart;\n};\n"
  },
  {
    "path": "core/modules/editor/operations/text/prefix-lines.js",
    "content": "/*\\\ntitle: $:/core/modules/editor/operations/text/prefix-lines.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to add a prefix to the selected lines\n\n\\*/\n\n\"use strict\";\n\nexports[\"prefix-lines\"] = function(event,operation) {\n\tvar targetCount = parseInt(event.paramObject.count + \"\",10);\n\t// Cut just past the preceding line break, or the start of the text\n\toperation.cutStart = $tw.utils.findPrecedingLineBreak(operation.text,operation.selStart);\n\t// Cut to just past the following line break, or to the end of the text\n\toperation.cutEnd = $tw.utils.findFollowingLineBreak(operation.text,operation.selEnd);\n\t// Compose the required prefix\n\tvar prefix = $tw.utils.repeat(event.paramObject.character,targetCount);\n\t// Process each line\n\tvar lines = operation.text.substring(operation.cutStart,operation.cutEnd).split(/\\r?\\n/mg);\n\t$tw.utils.each(lines,function(line,index) {\n\t\t// Remove and count any existing prefix characters\n\t\tvar count = 0;\n\t\twhile($tw.utils.startsWith(line,event.paramObject.character)) {\n\t\t\tline = line.substring(event.paramObject.character.length);\n\t\t\tcount++;\n\t\t}\n\t\t// Remove any whitespace\n\t\twhile(line.charAt(0) === \" \") {\n\t\t\tline = line.substring(1);\n\t\t}\n\t\t// We're done if we removed the exact required prefix, otherwise add it\n\t\tif(count !== targetCount) {\n\t\t\t// Apply the prefix\n\t\t\tline =  prefix + \" \" + line;\n\t\t}\n\t\t// Save the modified line\n\t\tlines[index] = line;\n\t});\n\t// Stitch the replacement text together and set the selection\n\toperation.replacement = lines.join(\"\\n\");\n\tif(lines.length === 1) {\n\t\toperation.newSelStart = operation.cutStart + operation.replacement.length;\n\t\toperation.newSelEnd = operation.newSelStart;\n\t} else {\n\t\toperation.newSelStart = operation.cutStart;\n\t\toperation.newSelEnd = operation.newSelStart + operation.replacement.length;\n\t}\n};\n"
  },
  {
    "path": "core/modules/editor/operations/text/replace-all.js",
    "content": "/*\\\ntitle: $:/core/modules/editor/operations/text/replace-all.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to replace the entire text\n\n\\*/\n\n\"use strict\";\n\nexports[\"replace-all\"] = function(event,operation) {\n\toperation.cutStart = 0;\n\toperation.cutEnd = operation.text.length;\n\toperation.replacement = event.paramObject.text;\n\toperation.newSelStart = 0;\n\toperation.newSelEnd = operation.replacement.length;\n};\n"
  },
  {
    "path": "core/modules/editor/operations/text/replace-selection.js",
    "content": "/*\\\ntitle: $:/core/modules/editor/operations/text/replace-selection.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to replace the selection\n\n\\*/\n\n\"use strict\";\n\nexports[\"replace-selection\"] = function(event,operation) {\n\toperation.replacement = event.paramObject.text;\n\toperation.cutStart = operation.selStart;\n\toperation.cutEnd = operation.selEnd;\n\toperation.newSelStart = operation.selStart;\n\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n};\n"
  },
  {
    "path": "core/modules/editor/operations/text/save-selection.js",
    "content": "/*\\\ntitle: $:/core/modules/editor/operations/text/save-selection.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to save the current selection in a specified tiddler\n\n\\*/\n\n\"use strict\";\n\nexports[\"save-selection\"] = function(event,operation) {\n\tvar tiddler = event.paramObject.tiddler,\n\t\tfield = event.paramObject.field || \"text\";\n\tif(tiddler && field) {\n\t\tthis.wiki.setText(tiddler,field,null,operation.text.substring(operation.selStart,operation.selEnd));\n\t}\n};\n"
  },
  {
    "path": "core/modules/editor/operations/text/wrap-lines.js",
    "content": "/*\\\ntitle: $:/core/modules/editor/operations/text/wrap-lines.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to wrap the selected lines with a prefix and suffix\n\n\\*/\n\n\"use strict\";\n\nexports[\"wrap-lines\"] = function(event,operation) {\n\tvar prefix = event.paramObject.prefix || \"\",\n\t\tsuffix = event.paramObject.suffix || \"\";\n\tif($tw.utils.endsWith(operation.text.substring(0,operation.selStart), prefix + \"\\n\") &&\n\t\t\t$tw.utils.startsWith(operation.text.substring(operation.selEnd), \"\\n\" + suffix)) {\n\t\t// Selected text is already surrounded by prefix and suffix: Remove them\n\t\t// Cut selected text plus prefix and suffix\n\t\toperation.cutStart = operation.selStart - (prefix.length + 1);\n\t\toperation.cutEnd = operation.selEnd + suffix.length + 1;\n\t\t// Also cut the following newline (if there is any)\n\t\tif(operation.text[operation.cutEnd] === \"\\n\") {\n\t\t\toperation.cutEnd++;\n\t\t}\n\t\t// Replace with selection\n\t\toperation.replacement = operation.text.substring(operation.selStart,operation.selEnd);\n\t\t// Select text that was in between prefix and suffix\n\t\toperation.newSelStart = operation.cutStart;\n\t\toperation.newSelEnd = operation.selEnd - (prefix.length + 1);\n\t} else {\n\t\t// Cut just past the preceding line break, or the start of the text\n\t\toperation.cutStart = $tw.utils.findPrecedingLineBreak(operation.text,operation.selStart);\n\t\t// Cut to just past the following line break, or to the end of the text\n\t\toperation.cutEnd = $tw.utils.findFollowingLineBreak(operation.text,operation.selEnd);\n\t\t// Add the prefix and suffix\n\t\toperation.replacement = prefix + \"\\n\" +\n\t\t\t\t\toperation.text.substring(operation.cutStart,operation.cutEnd) + \"\\n\" +\n\t\t\t\t\tsuffix + \"\\n\";\n\t\toperation.newSelStart = operation.cutStart + prefix.length + 1;\n\t\toperation.newSelEnd = operation.newSelStart + (operation.cutEnd - operation.cutStart);\n\t}\n};\n"
  },
  {
    "path": "core/modules/editor/operations/text/wrap-selection.js",
    "content": "/*\\\ntitle: $:/core/modules/editor/operations/text/wrap-selection.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to wrap the selection with the specified prefix and suffix\n\n\\*/\n\n\"use strict\";\n\nexports[\"wrap-selection\"] = function(event,operation) {\n\tvar o = operation,\n\t\tprefix = event.paramObject.prefix,\n\t\tsuffix = event.paramObject.suffix,\n\t\ttrimSelection = event.paramObject.trimSelection || \"no\",\n\t\tselLength = o.selEnd - o.selStart;\n\n\t// This function detects, if trailing spaces are part of the selection __and__ if the user wants to handle them\n\t// Returns \"yes\", \"start\", \"end\", \"no\" (default)\n\t//\tyes .. there are trailing spaces at both ends\n\t//\tstart .. there are trailing spaces at the start\n\t//\tend .. there are trailing spaces at the end\n\t//\tno .. no trailing spaces are taken into account\n\tvar trailingSpaceAt = function(sel) {\n\t\tvar _start,\n\t\t\t_end,\n\t\t\tresult;\n\t\t// trimSelection is a user parameter, which this evaluations takes into account\n\t\tswitch(trimSelection) {\n\t\t\tcase \"end\":\n\t\t\t\tresult = (sel.trimEnd().length !== selLength) ? \"end\" : \"no\";\n\t\t\t\tbreak;\n\t\t\tcase \"yes\":\n\t\t\t\t_start = sel.trimStart().length !== selLength;\n\t\t\t\t_end = sel.trimEnd().length !== selLength;\n\t\t\t\tresult = (_start && _end) ? \"yes\" : (_start) ? \"start\" : (_end) ? \"end\" : \"no\";\n\t\t\t\tbreak;\n\t\t\tcase \"start\":\n\t\t\t\tresult = (sel.trimStart().length !== selLength) ? \"start\" : \"no\";\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tresult = \"no\";\n\t\t\t\tbreak;\n\t\t}\n\t\treturn result;\n\t};\n\n\tfunction togglePrefixSuffix() {\n\t\tif(o.text.substring(o.selStart - prefix.length, o.selStart + suffix.length) === prefix + suffix) {\n\t\t\t// Remove the prefix and suffix\n\t\t\to.cutStart = o.selStart - prefix.length;\n\t\t\to.cutEnd = o.selEnd + suffix.length;\n\t\t\to.replacement = \"\";\n\t\t\to.newSelStart = o.cutStart;\n\t\t\to.newSelEnd = o.newSelStart;\n\t\t} else {\n\t\t\t// Wrap the cursor instead\n\t\t\to.cutStart = o.selStart;\n\t\t\to.cutEnd = o.selEnd;\n\t\t\to.replacement = prefix + suffix;\n\t\t\to.newSelStart = o.selStart + prefix.length;\n\t\t\to.newSelEnd = o.newSelStart;\n\t\t}\n\t}\n\n\t// options: lenPrefix, lenSuffix\n\tfunction removePrefixSuffix(options) {\n\t\toptions = options || {};\n\t\tvar _lenPrefix = options.lenPrefix || 0;\n\t\tvar _lenSuffix = options.lenSuffix || 0;\n\n\t\to.cutStart = o.selStart - _lenPrefix;\n\t\to.cutEnd = o.selEnd + _lenSuffix;\n\t\to.replacement = (_lenPrefix || _lenSuffix) ? o.selection : o.selection.substring(prefix.length, o.selection.length - suffix.length);\n\t\to.newSelStart = o.cutStart;\n\t\to.newSelEnd = o.cutStart + o.replacement.length;\n\t}\n\n\tfunction addPrefixSuffix() {\n\t\t// remove trailing space if requested\n\t\tswitch(trailingSpaceAt(o.selection)) {\n\t\t\tcase \"no\":\n\t\t\t\t// has no trailing spaces\n\t\t\t\to.cutStart = o.selStart;\n\t\t\t\to.cutEnd = o.selEnd;\n\t\t\t\to.replacement = prefix + o.selection + suffix;\n\t\t\t\to.newSelStart = o.selStart;\n\t\t\t\to.newSelEnd = o.selStart + o.replacement.length;\n\t\t\t\tbreak;\n\t\t\tcase \"yes\":\n\t\t\t\t// handle both ends\n\t\t\t\to.cutStart = o.selEnd - (o.selection.trimStart().length);\n\t\t\t\to.cutEnd = o.selection.trimEnd().length + o.selStart;\n\t\t\t\to.replacement = prefix + o.selection.trim() + suffix;\n\t\t\t\to.newSelStart = o.cutStart;\n\t\t\t\to.newSelEnd = o.cutStart + o.replacement.length;\n\t\t\t\tbreak;\n\t\t\tcase \"start\":\n\t\t\t\t// handle leading\n\t\t\t\to.cutStart = o.selEnd - (o.selection.trimStart().length);\n\t\t\t\to.cutEnd = o.selEnd;\n\t\t\t\to.replacement = prefix + o.selection.trimStart() + suffix;\n\t\t\t\to.newSelStart = o.cutStart;\n\t\t\t\to.newSelEnd = o.cutStart + o.replacement.length;\n\t\t\t\tbreak;\n\t\t\tcase \"end\":\n\t\t\t\t// handle trailing\n\t\t\t\to.cutStart = o.selStart;\n\t\t\t\to.cutEnd = o.selection.trimEnd().length + o.selStart;\n\t\t\t\to.replacement = prefix + o.selection.trimEnd() + suffix;\n\t\t\t\to.newSelStart = o.selStart;\n\t\t\t\to.newSelEnd = o.selStart + o.replacement.length;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tif(o.selStart === o.selEnd) {\n\t\t// No selection; Create prefix and suffix. Set cursor in between them: \"\"|\"\"\n\t\ttogglePrefixSuffix();\n\t} else if(o.text.substring(o.selStart, o.selStart + prefix.length) === prefix &&\n\t\t\t\to.text.substring(o.selEnd - suffix.length,o.selEnd) === suffix) {\n\t\t// Prefix and suffix are already present, so remove them\n\t\tremovePrefixSuffix();\n\t} else if(o.text.substring(o.selStart - prefix.length, o.selStart) === prefix &&\n\t\t\t\to.text.substring(o.selEnd, o.selEnd + suffix.length) === suffix) {\n\t\t// Prefix and suffix are present BUT not selected -> remove them\n\t\tremovePrefixSuffix({\"lenPrefix\": prefix.length, \"lenSuffix\": suffix.length});\n\t} else {\n\t\t// Add the prefix and suffix\n\t\taddPrefixSuffix();\n\t}\n};\n"
  },
  {
    "path": "core/modules/filter-tracker.js",
    "content": "/*\\\ntitle: $:/core/modules/filter-tracker.js\ntype: application/javascript\nmodule-type: global\n\nClass to track the results of a filter string\n\n\\*/\n\n\"use strict\";\n\nclass FilterTracker {\n\tconstructor(wiki) {\n\t\tthis.wiki = wiki;\n\t\tthis.trackers = new Map();\n\t\tthis.nextTrackerId = 1;\n\t}\n\n\thandleChangeEvent(changes) {\n\t\tthis.processTrackers();\n\t\tthis.processChanges(changes);\n\t}\n\n\t/*\n\tAdd a tracker to the filter tracker. Returns null if any of the parameters are invalid, or a tracker id if the tracker was added successfully. Options include:\n\tfilterString: the filter string to track\n\tfnEnter: function to call when a title enters the filter results. Called even if the tiddler does not actually exist. Called as (title), and should return a truthy value that is stored in the tracker as the \"enterValue\"\n\tfnLeave: function to call when a title leaves the filter results. Called as (title,enterValue)\n\tfnChange: function to call when a tiddler changes in the filter results. Only called for filter results that identify a tiddler or shadow tiddler. Called as (title,enterValue), and may optionally return a replacement enterValue\n\tfnProcess: function to call each time the tracker is processed, after any enter, leave or change functions are called. Called as (changes)\n\t*/\n\ttrack(options = {}) {\n\t\tconst {\n\t\t\tfilterString,\n\t\t\tfnEnter,\n\t\t\tfnLeave,\n\t\t\tfnChange,\n\t\t\tfnProcess\n\t\t} = options;\n\t\tconst id = this.nextTrackerId++;\n\t\tconst tracker = {\n\t\t\tid,\n\t\t\tfilterString,\n\t\t\tfnEnter,\n\t\t\tfnLeave,\n\t\t\tfnChange,\n\t\t\tfnProcess,\n\t\t\tpreviousResults: [],\n\t\t\tresultValues: {}\n\t\t};\n\t\tthis.trackers.set(id, tracker);\n\t\t// Process the tracker\n\t\tthis.processTracker(id);\n\t\treturn id;\n\t}\n\n\tuntrack(id) {\n\t\tthis.trackers.delete(id);\n\t}\n\n\tprocessTrackers() {\n\t\tfor(const id of this.trackers.keys()) {\n\t\t\tthis.processTracker(id);\n\t\t}\n\t}\n\n\tprocessTracker(id) {\n\t\tconst tracker = this.trackers.get(id);\n\t\tif(!tracker) return;\n\t\tconst results = [];\n\t\t// Evaluate the filter and remove duplicate results\n\t\t$tw.utils.each(this.wiki.filterTiddlers(tracker.filterString), (title) => {\n\t\t\t$tw.utils.pushTop(results, title);\n\t\t});\n\t\t// Process the newly entered results\n\t\tresults.forEach((title) => {\n\t\t\tif(!tracker.previousResults.includes(title) && !tracker.resultValues[title] && tracker.fnEnter) {\n\t\t\t\ttracker.resultValues[title] = tracker.fnEnter(title) || true;\n\t\t\t}\n\t\t});\n\t\t// Process the results that have just left\n\t\ttracker.previousResults.forEach((title) => {\n\t\t\tif(!results.includes(title) && tracker.resultValues[title] && tracker.fnLeave) {\n\t\t\t\ttracker.fnLeave(title, tracker.resultValues[title]);\n\t\t\t\tdelete tracker.resultValues[title];\n\t\t\t}\n\t\t});\n\t\t// Update the previous results\n\t\ttracker.previousResults = results;\n\t}\n\n\tprocessChanges(changes) {\n\t\tfor(const tracker of this.trackers.values()) {\n\t\t\tObject.keys(changes).forEach((title) => {\n\t\t\t\tif(title && tracker.previousResults.includes(title) && tracker.fnChange) {\n\t\t\t\t\ttracker.resultValues[title] = tracker.fnChange(title, tracker.resultValues[title]) || tracker.resultValues[title];\n\t\t\t\t}\n\t\t\t});\n\t\t\tif(tracker.fnProcess) {\n\t\t\t\ttracker.fnProcess(changes);\n\t\t\t}\n\t\t}\n\t}\n}\n\nexports.FilterTracker = FilterTracker;\n"
  },
  {
    "path": "core/modules/filterrunprefixes/all.js",
    "content": "/*\\\ntitle: $:/core/modules/filterrunprefixes/all.js\ntype: application/javascript\nmodule-type: filterrunprefix\n\nUnion of sets without de-duplication.\nEquivalent to = filter run prefix.\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter prefix function\n*/\nexports.all = function(operationSubFunction) {\n\treturn function(results,source,widget) {\n\t\tresults.push.apply(results, operationSubFunction(source,widget));\n\t};\n};\n"
  },
  {
    "path": "core/modules/filterrunprefixes/and.js",
    "content": "/*\\\ntitle: $:/core/modules/filterrunprefixes/and.js\ntype: application/javascript\nmodule-type: filterrunprefix\n\nIntersection of sets.\nEquivalent to + filter run prefix.\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter prefix function\n*/\nexports.and = function(operationSubFunction,options) {\n\treturn function(results,source,widget) {\n\t\t// This replaces all the elements of the array, but keeps the actual array so that references to it are preserved\n\t\tsource = options.wiki.makeTiddlerIterator(results.toArray());\n\t\tresults.clear();\n\t\tresults.pushTop(operationSubFunction(source,widget));\n\t};\n};\n"
  },
  {
    "path": "core/modules/filterrunprefixes/cascade.js",
    "content": "/*\\\ntitle: $:/core/modules/filterrunprefixes/cascade.js\ntype: application/javascript\nmodule-type: filterrunprefix\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter prefix function\n*/\nexports.cascade = function(operationSubFunction,options) {\n\treturn function(results,source,widget) {\n\t\tif(results.length !== 0) {\n\t\t\tvar filterList = operationSubFunction(source,widget),\n\t\t\t\tfilterFnList = [];\n\t\t\tvar inputResults = results.toArray();\n\t\t\tresults.clear();\n\t\t\t$tw.utils.each(inputResults,function(title) {\n\t\t\t\tvar result = \"\"; // If no filter matches, we return an empty string\n\t\t\t\t$tw.utils.each(filterList,function(filter,index) {\n\t\t\t\t\tif(!filterFnList[index]) {\n\t\t\t\t\t\tfilterFnList[index] = options.wiki.compileFilter(filter);\n\t\t\t\t\t}\n\t\t\t\t\tvar output = filterFnList[index](options.wiki.makeTiddlerIterator([title]),widget.makeFakeWidgetWithVariables({\n\t\t\t\t\t\t\"currentTiddler\": \"\" + title,\n\t\t\t\t\t\t\"..currentTiddler\": widget.getVariable(\"currentTiddler\",{defaultValue:\"\"})\n\t\t\t\t\t}));\n\t\t\t\t\tif(output.length !== 0) {\n\t\t\t\t\t\tresult = output[0];\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tresults.push(result);\n\t\t\t});\n\t\t}\n\t};\n};\n"
  },
  {
    "path": "core/modules/filterrunprefixes/else.js",
    "content": "/*\\\ntitle: $:/core/modules/filterrunprefixes/else.js\ntype: application/javascript\nmodule-type: filterrunprefix\n\nEquivalent to ~ filter run prefix.\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter prefix function\n*/\nexports.else = function(operationSubFunction) {\n\treturn function(results,source,widget) {\n\t\tif(results.length === 0) {\n\t\t\t// Main result so far is empty\n\t\t\tresults.pushTop(operationSubFunction(source,widget));\n\t\t}\n\t};\n};\n"
  },
  {
    "path": "core/modules/filterrunprefixes/except.js",
    "content": "/*\\\ntitle: $:/core/modules/filterrunprefixes/except.js\ntype: application/javascript\nmodule-type: filterrunprefix\n\nDifference of sets.\nEquivalent to - filter run prefix.\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter prefix function\n*/\nexports.except = function(operationSubFunction) {\n\treturn function(results,source,widget) {\n\t\tresults.remove(operationSubFunction(source,widget));\n\t};\n};\n"
  },
  {
    "path": "core/modules/filterrunprefixes/filter.js",
    "content": "/*\\\ntitle: $:/core/modules/filterrunprefixes/filter.js\ntype: application/javascript\nmodule-type: filterrunprefix\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.filter = function(operationSubFunction,options) {\n\treturn function(results,source,widget) {\n\t\tif(results.length > 0) {\n\t\t\tvar resultsToRemove = [],\n\t\t\t\tindex = 0;\n\t\t\tresults.each(function(title) {\n\t\t\t\tvar filtered = operationSubFunction(options.wiki.makeTiddlerIterator([title]),widget.makeFakeWidgetWithVariables({\n\t\t\t\t\t\"currentTiddler\": \"\" + title,\n\t\t\t\t\t\"..currentTiddler\": widget.getVariable(\"currentTiddler\",{defaultValue:\"\"}),\n\t\t\t\t\t\"index\": \"\" + index,\n\t\t\t\t\t\"revIndex\": \"\" +  (results.length - 1 - index),\n\t\t\t\t\t\"length\": \"\" + results.length\n\t\t\t\t}));\n\t\t\t\tif(filtered.length === 0) {\n\t\t\t\t\tresultsToRemove.push(title);\n\t\t\t\t}\n\t\t\t\t++index;\n\t\t\t});\n\t\t\tresults.remove(resultsToRemove);\n\t\t}\n\t};\n};\n"
  },
  {
    "path": "core/modules/filterrunprefixes/intersection.js",
    "content": "/*\\\ntitle: $:/core/modules/filterrunprefixes/intersection.js\ntype: application/javascript\nmodule-type: filterrunprefix\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter prefix function\n*/\nexports.intersection = function(operationSubFunction) {\n\treturn function(results,source,widget) {\n\t\tif(results.length !== 0) {\n\t\t\tvar secondRunResults = operationSubFunction(source,widget);\n\t\t\tvar firstRunResults = results.toArray();\n\t\t\tresults.clear();\n\t\t\t$tw.utils.each(firstRunResults,function(title) {\n\t\t\t\tif(secondRunResults.indexOf(title) !== -1) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t};\n};\n"
  },
  {
    "path": "core/modules/filterrunprefixes/let.js",
    "content": "/*\\\ntitle: $:/core/modules/filterrunprefixes/let.js\ntype: application/javascript\nmodule-type: filterrunprefix\n\nAssign a value to a variable\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter prefix function\n*/\nexports.let = function(operationSubFunction,options) {\n\t// Return the filter run prefix function\n\treturn function(results,source,widget) {\n\t\t// Save the result list\n\t\tvar resultList = results.toArray();\n\t\t// Clear the results\n\t\tresults.clear();\n\t\t// Evaluate the subfunction to get the variable name\n\t\tvar subFunctionResults = operationSubFunction(source,widget);\n\t\tif(subFunctionResults.length === 0) {\n\t\t\treturn;\n\t\t}\n\t\tvar name = subFunctionResults[0];\n\t\tif(typeof name !== \"string\" || name.length === 0) {\n\t\t\treturn;\n\t\t}\n\t\t// Assign the result of the subfunction to the variable\n\t\tvar variables = {};\n\t\tvariables[name] = resultList;\n\t\t// Return the variables\n\t\treturn {\n\t\t\tvariables: variables\n\t\t};\n\t};\n};\n"
  },
  {
    "path": "core/modules/filterrunprefixes/map.js",
    "content": "/*\\\ntitle: $:/core/modules/filterrunprefixes/map.js\ntype: application/javascript\nmodule-type: filterrunprefix\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter prefix function\n*/\nexports.map = function(operationSubFunction,options) {\n\treturn function(results,source,widget) {\n\t\tif(results.length > 0) {\n\t\t\tvar inputTitles = results.toArray(),\n\t\t\t\tindex = 0,\n\t\t\t\tsuffixes = options.suffixes,\n\t\t\t\tflatten = (suffixes[0] && suffixes[0][0] === \"flat\") ? true : false;\n\t\t\tresults.clear();\n\t\t\t$tw.utils.each(inputTitles,function(title) {\n\t\t\t\tvar filtered = operationSubFunction(options.wiki.makeTiddlerIterator([title]),widget.makeFakeWidgetWithVariables({\n\t\t\t\t\t\"currentTiddler\": \"\" + title,\n\t\t\t\t\t\"..currentTiddler\": widget.getVariable(\"currentTiddler\",{defaultValue:\"\"}),\n\t\t\t\t\t\"index\": \"\" + index,\n\t\t\t\t\t\"revIndex\": \"\" +  (inputTitles.length - 1 - index),\n\t\t\t\t\t\"length\": \"\" + inputTitles.length\n\t\t\t\t}));\n\t\t\t\tif(filtered.length && flatten) {\n\t\t\t\t\t$tw.utils.each(filtered,function(value) {\n\t\t\t\t\t\tresults.push(value);\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tresults.push(filtered[0]||\"\");\n\t\t\t\t}\n\t\t\t\t++index;\n\t\t\t});\n\t\t}\n\t};\n};\n"
  },
  {
    "path": "core/modules/filterrunprefixes/or.js",
    "content": "/*\\\ntitle: $:/core/modules/filterrunprefixes/or.js\ntype: application/javascript\nmodule-type: filterrunprefix\n\nEquivalent to a filter run with no prefix.\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter prefix function\n*/\nexports.or = function(operationSubFunction) {\n\treturn function(results,source,widget) {\n\t\tresults.pushTop(operationSubFunction(source,widget));\n\t};\n};\n"
  },
  {
    "path": "core/modules/filterrunprefixes/reduce.js",
    "content": "/*\\\ntitle: $:/core/modules/filterrunprefixes/reduce.js\ntype: application/javascript\nmodule-type: filterrunprefix\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter prefix function\n*/\nexports.reduce = function(operationSubFunction,options) {\n\treturn function(results,source,widget) {\n\t\tif(results.length > 0) {\n\t\t\tvar accumulator = \"\",\n\t\t\t\tindex = 0;\n\t\t\tresults.each(function(title) {\n\t\t\t\tvar list = operationSubFunction(options.wiki.makeTiddlerIterator([title]),widget.makeFakeWidgetWithVariables({\n\t\t\t\t\t\"currentTiddler\": \"\" + title,\n\t\t\t\t\t\"..currentTiddler\": widget.getVariable(\"currentTiddler\",{defaultValue:\"\"}),\n\t\t\t\t\t\"index\": \"\" + index,\n\t\t\t\t\t\"revIndex\": \"\" +  (results.length - 1 - index),\n\t\t\t\t\t\"length\": \"\" + results.length,\n\t\t\t\t\t\"accumulator\": \"\" + accumulator\n\t\t\t\t}));\n\t\t\t\tif(list.length > 0) {\n\t\t\t\t\taccumulator = \"\" + list[0];\n\t\t\t\t}\n\t\t\t\t++index;\n\t\t\t});\n\t\t\tresults.clear();\n\t\t\tresults.push(accumulator);\n\t\t}\n\t};\n};\n"
  },
  {
    "path": "core/modules/filterrunprefixes/sort.js",
    "content": "/*\\\ntitle: $:/core/modules/filterrunprefixes/sort.js\ntype: application/javascript\nmodule-type: filterrunprefix\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter prefix function\n*/\nexports.sort = function(operationSubFunction,options) {\n\treturn function(results,source,widget) {\n\t\tif(results.length > 0) {\n\t\t\tvar suffixes = options.suffixes,\n\t\t\t\tsortType = (suffixes[0] && suffixes[0][0]) ? suffixes[0][0] : \"string\",\n\t\t\t\tinvert = suffixes[1] ? (suffixes[1].indexOf(\"reverse\") !== -1) : false,\n\t\t\t\tisCaseSensitive = suffixes[1] ? (suffixes[1].indexOf(\"casesensitive\") !== -1) : false,\n\t\t\t\tinputTitles = results.toArray(),\n\t\t\t\tsortKeys = [],\n\t\t\t\tindexes = new Array(inputTitles.length),\n\t\t\t\tcompareFn;\n\t\t\tresults.each(function(title) {\n\t\t\t\tvar key = operationSubFunction(options.wiki.makeTiddlerIterator([title]),widget.makeFakeWidgetWithVariables({\n\t\t\t\t\t\"currentTiddler\": \"\" + title,\n\t\t\t\t\t\"..currentTiddler\": widget.getVariable(\"currentTiddler\",{defaultValue:\"\"})\n\t\t\t\t}));\n\t\t\t\tsortKeys.push(key[0] || \"\");\n\t\t\t});\n\t\t\tresults.clear();\n\t\t\t// Prepare an array of indexes to sort\n\t\t\tfor(var t=0; t<inputTitles.length; t++) {\n\t\t\t\tindexes[t] = t;\n\t\t\t}\n\t\t\t// Sort the indexes\n\t\t\tcompareFn = $tw.utils.makeCompareFunction(sortType,{defaultType: \"string\", invert:invert, isCaseSensitive:isCaseSensitive});\n\t\t\tindexes = indexes.sort(function(a,b) {\n\t\t\t\treturn compareFn(sortKeys[a],sortKeys[b]);\n\t\t\t});\n\t\t\t// Add to results in correct order\n\t\t\t$tw.utils.each(indexes,function(index) {\n\t\t\t\tresults.push(inputTitles[index]);\n\t\t\t});\n\t\t}\n\t};\n};\n"
  },
  {
    "path": "core/modules/filterrunprefixes/then.js",
    "content": "/*\\\ntitle: $:/core/modules/filterrunprefixes/then.js\ntype: application/javascript\nmodule-type: filterrunprefix\n\nReplace results of previous runs unless empty\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter prefix function\n*/\nexports.then = function(operationSubFunction) {\n\treturn function(results,source,widget) {\n\t\tif(results.length !== 0) {\n\t\t\t// Only run if previous run(s) produced results\n\t\t\tvar thisRunResult = operationSubFunction(source,widget);\n\t\t\tif(thisRunResult.length !== 0) {\n\t\t\t\t// Replace results only if this run actually produces a result\n\t\t\t\tresults.clear();\n\t\t\t\tresults.pushTop(thisRunResult);\n\t\t\t}\n\t\t}\n\t};\n};\n"
  },
  {
    "path": "core/modules/filters/addprefix.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/addprefix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for adding a prefix to each title in the list. This is\nespecially useful in contexts where only a filter expression is allowed\nand macro substitution isn't available.\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.addprefix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(operator.operand + title);\n\t});\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/addsuffix.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/addsuffix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for adding a suffix to each title in the list. This is\nespecially useful in contexts where only a filter expression is allowed\nand macro substitution isn't available.\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.addsuffix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title + operator.operand);\n\t});\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/after.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/after.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler from the current list that is after the tiddler named in the operand.\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.after = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tvar index = results.indexOf(operator.operand);\n\tif(index === -1 || index > (results.length - 2)) {\n\t\treturn [];\n\t} else {\n\t\treturn [results[index + 1]];\n\t}\n};\n"
  },
  {
    "path": "core/modules/filters/all/current.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/all/current.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[current]]\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.current = function(source,prefix,options) {\n\tvar currTiddlerTitle = options.widget && options.widget.getVariable(\"currentTiddler\");\n\tif(currTiddlerTitle) {\n\t\treturn [currTiddlerTitle];\n\t} else {\n\t\treturn [];\n\t}\n};\n"
  },
  {
    "path": "core/modules/filters/all/missing.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/all/missing.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[missing]]\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.missing = function(source,prefix,options) {\n\treturn options.wiki.getMissingTitles();\n};\n"
  },
  {
    "path": "core/modules/filters/all/orphans.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/all/orphans.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[orphans]]\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.orphans = function(source,prefix,options) {\n\treturn options.wiki.getOrphanTitles();\n};\n"
  },
  {
    "path": "core/modules/filters/all/shadows.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/all/shadows.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[shadows]]\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.shadows = function(source,prefix,options) {\n\treturn options.wiki.allShadowTitles();\n};\n"
  },
  {
    "path": "core/modules/filters/all/tags.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/all/tags.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[tags]]\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tags = function(source,prefix,options) {\n\treturn Object.keys(options.wiki.getTagMap());\n};\n"
  },
  {
    "path": "core/modules/filters/all/tiddlers.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/all/tiddlers.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[tiddlers]]\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tiddlers = function(source,prefix,options) {\n\treturn options.wiki.allTitles();\n};\n"
  },
  {
    "path": "core/modules/filters/all.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/all.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for selecting tiddlers\n\n[all[shadows+tiddlers]]\n\n\\*/\n\n\"use strict\";\n\nvar allFilterOperators;\n\nfunction getAllFilterOperators() {\n\tif(!allFilterOperators) {\n\t\tallFilterOperators = {};\n\t\t$tw.modules.applyMethods(\"allfilteroperator\",allFilterOperators);\n\t}\n\treturn allFilterOperators;\n}\n\n/*\nExport our filter function\n*/\nexports.all = function(source,operator,options) {\n\t// Check for common optimisations\n\tvar subops = operator.operand.split(\"+\");\n\tif(subops.length === 1 && subops[0] === \"\") {\n\t\treturn source;\n\t} else if(subops.length === 1 && subops[0] === \"tiddlers\") {\n\t\treturn options.wiki.each;\n\t} else if(subops.length === 1 && subops[0] === \"shadows\") {\n\t\treturn options.wiki.eachShadow;\n\t} else if(subops.length === 2 && subops[0] === \"tiddlers\" && subops[1] === \"shadows\") {\n\t\treturn options.wiki.eachTiddlerPlusShadows;\n\t} else if(subops.length === 2 && subops[0] === \"shadows\" && subops[1] === \"tiddlers\") {\n\t\treturn options.wiki.eachShadowPlusTiddlers;\n\t}\n\t// Do it the hard way\n\t// Get our suboperators\n\tvar allFilterOperators = getAllFilterOperators();\n\t// Cycle through the suboperators accumulating their results\n\tvar results = new $tw.utils.LinkedList();\n\tfor(var t=0; t<subops.length; t++) {\n\t\tvar subop = allFilterOperators[subops[t]];\n\t\tif(subop) {\n\t\t\tresults.pushTop(subop(source,operator.prefix,options));\n\t\t}\n\t}\n\treturn results.makeTiddlerIterator(options.wiki);\n};\n"
  },
  {
    "path": "core/modules/filters/backlinks.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/backlinks.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning all the backlinks from a tiddler\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.backlinks = function(source,operator,options) {\n\tvar results = new $tw.utils.LinkedList();\n\tsource(function(tiddler,title) {\n\t\tresults.pushTop(options.wiki.getTiddlerBacklinks(title));\n\t});\n\treturn results.makeTiddlerIterator(options.wiki);\n};\n"
  },
  {
    "path": "core/modules/filters/backtranscludes.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/backtranscludes.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning all the backtranscludes from a tiddler\n\n\\*/\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.backtranscludes = function(source,operator,options) {\n\tvar results = new $tw.utils.LinkedList();\n\tsource(function(tiddler,title) {\n\t\tresults.pushTop(options.wiki.getTiddlerBacktranscludes(title));\n\t});\n\treturn results.makeTiddlerIterator(options.wiki);\n};\n"
  },
  {
    "path": "core/modules/filters/before.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/before.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler from the current list that is before the tiddler named in the operand.\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.before = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tvar index = results.indexOf(operator.operand);\n\tif(index <= 0) {\n\t\treturn [];\n\t} else {\n\t\treturn [results[index - 1]];\n\t}\n};\n"
  },
  {
    "path": "core/modules/filters/commands.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/commands.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the commands available in this wiki\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.commands = function(source,operator,options) {\n\tvar results = [];\n\t$tw.utils.each($tw.commands,function(commandInfo,name) {\n\t\tresults.push(name);\n\t});\n\tresults.sort();\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/compare.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/compare.js\ntype: application/javascript\nmodule-type: filteroperator\n\nGeneral purpose comparison operator\n\n\\*/\n\n\"use strict\";\n\nexports.compare = function(source,operator,options) {\n\tvar suffixes = operator.suffixes || [],\n\t\ttype = (suffixes[0] || [])[0],\n\t\tmode = (suffixes[1] || [])[0],\n\t\ttypeFn = $tw.utils.makeCompareFunction(type,{defaultType: \"number\"}),\n\t\tmodeFn = modes[mode] || modes.eq,\n\t\tinvert = operator.prefix === \"!\",\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tif(modeFn(typeFn(title,operator.operand)) !== invert) {\n\t\t\tresults.push(title);\n\t\t}\n\t});\n\treturn results;\n};\n\nvar modes = {\n\t\"eq\": function(value) {return value === 0;},\n\t\"ne\": function(value) {return value !== 0;},\n\t\"gteq\": function(value) {return value >= 0;},\n\t\"gt\": function(value) {return value > 0;},\n\t\"lteq\": function(value) {return value <= 0;},\n\t\"lt\": function(value) {return value < 0;}\n};\n"
  },
  {
    "path": "core/modules/filters/contains.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/contains.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for finding values in array fields\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.contains = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldname = operator.suffix || \"list\";\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler) {\n\t\t\t\tvar list = tiddler.getFieldList(fieldname);\n\t\t\t\tif(list.indexOf(operator.operand) === -1) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler) {\n\t\t\t\tvar list = tiddler.getFieldList(fieldname);\n\t\t\t\tif(list.indexOf(operator.operand) !== -1) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/count.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/count.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the number of entries in the current list.\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.count = function(source,operator,options) {\n\tvar count = 0;\n\tsource(function(tiddler,title) {\n\t\tcount++;\n\t});\n\treturn [count + \"\"];\n};\n"
  },
  {
    "path": "core/modules/filters/crypto.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/crypto.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operators for cryptography, using the Stanford JavaScript library\n\n\\*/\n\n\"use strict\";\n\nexports.sha256 = function(source,operator,options) {\n\tvar results = [],\n\t\tlength = parseInt(operator.operand,10) || 20;\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.sha256(title,{length: length}));\n\t});\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/days.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/days.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects tiddlers with a specified date field within a specified date interval.\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.days = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldName = operator.suffix || \"modified\",\n\t\tdayInterval = (parseInt(operator.operand,10)||0),\n\t\tdayIntervalSign = $tw.utils.sign(dayInterval),\n\t\ttargetTimeStamp = (new Date()).setHours(0,0,0,0) + 1000*60*60*24*dayInterval,\n\t\tisWithinDays = function(dateField) {\n\t\t\tvar sign = $tw.utils.sign(targetTimeStamp - (new Date(dateField)).setHours(0,0,0,0));\n\t\t\treturn sign === 0 || sign === dayIntervalSign;\n\t\t};\n\n\tif(operator.prefix === \"!\") {\n\t\ttargetTimeStamp = targetTimeStamp - 1000*60*60*24*dayIntervalSign;\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && tiddler.fields[fieldName]) {\n\t\t\t\tif(!isWithinDays($tw.utils.parseDate(tiddler.fields[fieldName]))) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && tiddler.fields[fieldName]) {\n\t\t\t\tif(isWithinDays($tw.utils.parseDate(tiddler.fields[fieldName]))) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/deserialize.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/deserialize.js\ntype: application/javascript\nmodule-type: filteroperator\nFilter operator for deserializing string data into JSON representing tiddlers\n\\*/\n\n\"use strict\";\n\nexports[\"deserialize\"] = function(source,operator,options) {\n\tvar results = [],\n\t\tdeserializer;\n\tif(operator.operand) {\n\t\t// Get the deserializer identified by the operand\n\t\tdeserializer = $tw.Wiki.tiddlerDeserializerModules[operator.operand];\n\t\tif(deserializer) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tvar tiddlers;\n\t\t\t\ttry {\n\t\t\t\t\ttiddlers = deserializer(title);\n\t\t\t\t} catch(e) {\n\t\t\t\t\t// Return an empty array if we could not extract any tiddlers\n\t\t\t\t\ttiddlers = [];\n\t\t\t\t}\n\t\t\t\tresults.push(JSON.stringify(tiddlers));\n\t\t\t});\n\t\t} else {\n\t\t\treturn [$tw.language.getString(\"Error/DeserializeOperator/UnknownDeserializer\")];\n\t\t}\n\t} else {\n\t\treturn [$tw.language.getString(\"Error/DeserializeOperator/MissingOperand\")];\n\t}\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/deserializers.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/deserializers.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the deserializers in this wiki\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.deserializers = function(source,operator,options) {\n\tvar results = [];\n\t$tw.utils.each($tw.Wiki.tiddlerDeserializerModules,function(deserializer,type) {\n\t\tresults.push(type);\n\t});\n\tresults.sort();\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/duplicateslugs.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/duplicateslugs.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter function for [duplicateslugs[]]\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.duplicateslugs = function(source,operator,options) {\n\tvar slugs = Object.create(null), // Hashmap by slug of title, replaced with \"true\" if the duplicate title has already been output\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tvar slug = options.wiki.slugify(title);\n\t\tif(slug in slugs) {\n\t\t\tif(slugs[slug] !== true) {\n\t\t\t\tresults.push(slugs[slug]);\n\t\t\t\tslugs[slug] = true;\n\t\t\t}\n\t\t\tresults.push(title);\n\t\t} else {\n\t\t\tslugs[slug] = title;\n\t\t}\n\t});\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/each.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/each.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects one tiddler for each unique value of the specified field.\nWith suffix \"list\", selects all tiddlers that are values in a specified list field.\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.each = function(source,operator,options) {\n\tvar results =[] ,\n\t\tvalue,values = {},\n\t\tfield = operator.operand || \"title\";\n\tif(operator.suffix === \"value\" && field === \"title\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!$tw.utils.hop(values,title)) {\n\t\t\t\tvalues[title] = true;\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else if(operator.suffix !== \"list-item\") {\n\t\tif(field === \"title\") {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler && !$tw.utils.hop(values,title)) {\n\t\t\t\t\tvalues[title] = true;\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvalue = tiddler.getFieldString(field);\n\t\t\t\t\tif(!$tw.utils.hop(values,value)) {\n\t\t\t\t\t\tvalues[value] = true;\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler) {\n\t\t\t\t$tw.utils.each(\n\t\t\t\t\toptions.wiki.getTiddlerList(title,field),\n\t\t\t\t\tfunction(value) {\n\t\t\t\t\t\tif(!$tw.utils.hop(values,value)) {\n\t\t\t\t\t\t\tvalues[value] = true;\n\t\t\t\t\t\t\tresults.push(value);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/eachday.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/eachday.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects one tiddler for each unique day covered by the specified date field\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.eachday = function(source,operator,options) {\n\tvar results = [],\n\t\tvalues = [],\n\t\tfieldName = operator.operand || \"modified\";\n\t// Function to convert a date/time to a date integer\n\tvar toDate = function(value) {\n\t\tvalue = (new Date(value)).setHours(0,0,0,0);\n\t\treturn value+0;\n\t};\n\tsource(function(tiddler,title) {\n\t\tif(tiddler && tiddler.fields[fieldName]) {\n\t\t\tvar value = toDate($tw.utils.parseDate(tiddler.fields[fieldName]));\n\t\t\tif(values.indexOf(value) === -1) {\n\t\t\t\tvalues.push(value);\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/editiondescription.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/editiondescription.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the descriptions of the specified edition names\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.editiondescription = function(source,operator,options) {\n\tvar results = [];\n\tif($tw.node) {\n\t\tvar editionInfo = $tw.utils.getEditionInfo();\n\t\tif(editionInfo) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif($tw.utils.hop(editionInfo,title)) {\n\t\t\t\t\tresults.push(editionInfo[title].description || \"\");\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/editions.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/editions.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the available editions in this wiki\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.editions = function(source,operator,options) {\n\tvar results = [];\n\tif($tw.node) {\n\t\tvar editionInfo = $tw.utils.getEditionInfo();\n\t\tif(editionInfo) {\n\t\t\t$tw.utils.each(editionInfo,function(info,name) {\n\t\t\t\tresults.push(name);\n\t\t\t});\n\t\t}\n\t\tresults.sort();\n\t}\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/else.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/else.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for replacing an empty input list with a constant, passing a non-empty input list straight through\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.else = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tif(results.length === 0) {\n\t\treturn [operator.operand];\n\t} else {\n\t\treturn results;\n\t}\n};\n"
  },
  {
    "path": "core/modules/filters/encodings.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/decodeuricomponent.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for applying decodeURIComponent() to each item.\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter functions\n*/\n\nexports.decodebase64 = function(source,operator,options) {\n\tvar results = [];\n\tvar binary = operator.suffixes && operator.suffixes[0].indexOf(\"binary\") !== -1;\n\tvar urlsafe = operator.suffixes && operator.suffixes[0].indexOf(\"urlsafe\") !== -1;\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.base64Decode(title,binary,urlsafe));\n\t});\n\treturn results;\n};\n\nexports.encodebase64 = function(source,operator,options) {\n\tvar results = [];\n\tvar binary = operator.suffixes && operator.suffixes[0].indexOf(\"binary\") !== -1;\n\tvar urlsafe = operator.suffixes && operator.suffixes[0].indexOf(\"urlsafe\") !== -1;\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.base64Encode(title,binary,urlsafe));\n\t});\n\treturn results;\n};\n\nexports.decodeuricomponent = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.decodeURIComponentSafe(title));\n\t});\n\treturn results;\n};\n\nexports.encodeuricomponent = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.encodeURIComponentExtended(title));\n\t});\n\treturn results;\n};\n\nexports.decodeuri = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.decodeURISafe(title));\n\t});\n\treturn results;\n};\n\nexports.encodeuri = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(encodeURI(title));\n\t});\n\treturn results;\n};\n\nexports.decodehtml = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.htmlDecode(title));\n\t});\n\treturn results;\n};\n\nexports.encodehtml = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.htmlEncode(title));\n\t});\n\treturn results;\n};\n\nexports.stringify = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.stringify(title,(operator.suffix === \"rawunicode\")));\n\t});\n\treturn results;\n};\n\nexports.jsonstringify = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.jsonStringify(title,(operator.suffix === \"rawunicode\")));\n\t});\n\treturn results;\n};\n\nexports.escaperegexp = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.escapeRegExp(title));\n\t});\n\treturn results;\n};\n\nexports.escapecss = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t// escape any character with a special meaning in CSS using CSS.escape()\n\t\tresults.push($tw.utils.escapeCSS(title));\n\t});\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/enlist.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/enlist.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning its operand parsed as a list\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.enlist = function(source,operator,options) {\n\tvar allowDuplicates = false;\n\tswitch(operator.suffix) {\n\t\tcase \"raw\":\n\t\t\tallowDuplicates = true;\n\t\t\tbreak;\n\t\tcase \"dedupe\":\n\t\t\tallowDuplicates = false;\n\t\t\tbreak;\n\t}\n\tvar list = $tw.utils.parseStringArray(operator.operand,allowDuplicates);\n\tif(operator.prefix === \"!\") {\n\t\tvar results = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t\treturn results;\n\t} else {\n\t\treturn list;\n\t}\n};\n"
  },
  {
    "path": "core/modules/filters/field.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/field.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for comparing fields for equality\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.field = function(source,operator,options) {\n\tvar results = [],indexedResults,\n\t\tfieldname = operator.suffix || operator.operator || \"title\";\n\tif(operator.prefix === \"!\") {\n\t\tif(operator.regexp) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && !operator.regexp.exec(text)) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && text !== operator.operand) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} else {\n\t\tif(operator.regexp) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && !!operator.regexp.exec(text)) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tif(source.byField && operator.operand) {\n\t\t\t\tindexedResults = source.byField(fieldname,operator.operand);\n\t\t\t\tif(indexedResults) {\n\t\t\t\t\treturn indexedResults;\n\t\t\t\t}\n\t\t\t}\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && text === operator.operand) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/fields.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/fields.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the fields on the selected tiddlers\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.fields = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldName,\n\t\tsuffixes = (operator.suffixes || [])[0] || [],\n\t\toperand = $tw.utils.parseStringArray(operator.operand);\n\n\tsource(function(tiddler,title) {\n\t\tif(tiddler) {\n\t\t\tif(suffixes.indexOf(\"include\") !== -1) {\n\t\t\t\tfor(fieldName in tiddler.fields) {\n\t\t\t\t\t(operand.indexOf(fieldName) !== -1) ? $tw.utils.pushTop(results,fieldName) : \"\";\n\t\t\t\t}\n\t\t\t} else if(suffixes.indexOf(\"exclude\") !== -1) {\n\t\t\t\tfor(fieldName in tiddler.fields) {\n\t\t\t\t\t(operand.indexOf(fieldName) !== -1) ? \"\" : $tw.utils.pushTop(results,fieldName);\n\t\t\t\t}\n\t\t\t} // else if\n\t\t\telse {\n\t\t\t\tfor(fieldName in tiddler.fields) {\n\t\t\t\t\t$tw.utils.pushTop(results,fieldName);\n\t\t\t\t}\n\t\t\t} // else\n\t\t} // if (tiddler)\n\t});\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/filter.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/filter.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning those input titles that pass a subfilter\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.filter = function(source,operator,options) {\n\tvar filterFn = options.wiki.compileFilter(operator.operand),\n\t\tresults = [],\n\t\ttarget = operator.prefix !== \"!\";\n\tsource(function(tiddler,title) {\n\t\tvar list = filterFn.call(options.wiki,options.wiki.makeTiddlerIterator([title]),options.widget.makeFakeWidgetWithVariables({\n\t\t\t\"currentTiddler\": \"\" + title,\n\t\t\t\"..currentTiddler\": options.widget.getVariable(\"currentTiddler\",{defaultValue:\"\"})\n\t\t}));\n\t\tif((list.length > 0) === target) {\n\t\t\tresults.push(title);\n\t\t}\n\t});\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/format/date.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/format/date.js\ntype: application/javascript\nmodule-type: formatfilteroperator\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.date = function(source,operand,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar value = $tw.utils.parseDate(title);\n\t\tif(value && $tw.utils.isDate(value) && value.toString() !== \"Invalid Date\") {\n\t\t\tresults.push($tw.utils.formatDateString(value,operand || \"YYYY MM DD 0hh:0mm\"));\n\t\t}\n\t});\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/format/json.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/format/json.js\ntype: application/javascript\nmodule-type: formatfilteroperator\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.json = function(source,operand,options) {\n\tvar results = [],\n\t\tspaces = null;\n\tif(operand) {\n\t\tspaces = /^\\d+$/.test(operand) ? parseInt(operand,10) : operand;\n\t}\n\tsource(function(tiddler,title) {\n\t\tvar data = $tw.utils.parseJSONSafe(title,function(){return undefined;});\n\n\t\tif(data !== undefined) {\n\t\t\tresults.push(JSON.stringify(data,null,spaces));\n\t\t}\n\t});\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/format/relativedate.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/format/relativedate.js\ntype: application/javascript\nmodule-type: formatfilteroperator\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.relativedate = function(source,operand,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar value = $tw.utils.parseDate(title);\n\t\tif(value && $tw.utils.isDate(value) && value.toString() !== \"Invalid Date\") {\n\t\t\tresults.push($tw.utils.getRelativeDate((new Date()) - (new Date(value))).description);\n\t\t}\n\t});\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/format/timestamp.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/format/timestamp.js\ntype: application/javascript\nmodule-type: formatfilteroperator\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.timestamp = function(source,operand,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(title.match(/^-?\\d+$/)) {\n\t\t\tvar value = new Date(Number(title));\n\t\t\tresults.push($tw.utils.formatDateString(value,operand || \"[UTC]YYYY0MM0DD0hh0mm0ss0XXX\"));\n\t\t}\n\t});\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/format/titlelist.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/format/titlelist.js\ntype: application/javascript\nmodule-type: formatfilteroperator\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.titlelist = function(source,operand,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(title && title.length) {\n\t\t\tresults.push($tw.utils.stringifyList([title]));\n\t\t}\n\t});\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/format.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/format.js\ntype: application/javascript\nmodule-type: filteroperator\nFilter operator for formatting strings\n\\*/\n\n\"use strict\";\n\nvar formatFilterOperators;\n\nfunction getFormatFilterOperators() {\n\tif(!formatFilterOperators) {\n\t\tformatFilterOperators = {};\n\t\t$tw.modules.applyMethods(\"formatfilteroperator\",formatFilterOperators);\n\t}\n\treturn formatFilterOperators;\n}\n\n/*\nExport our filter function\n*/\nexports.format = function(source,operator,options) {\n\t// Dispatch to the correct formatfilteroperator\n\tvar formatFilterOperators = getFormatFilterOperators();\n\tif(operator.suffix) {\n\t\tvar formatFilterOperator = formatFilterOperators[operator.suffix];\n\t\tif(formatFilterOperator) {\n\t\t\treturn formatFilterOperator(source,operator.operand,options);\n\t\t} else {\n\t\t\treturn [$tw.language.getString(\"Error/FormatFilterOperator\")];\n\t\t}\n\t} else {\n\t\t// Return all unchanged if the suffix is missing\n\t\tvar results = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.push(title);\n\t\t});\n\t\treturn results;\n\t}\n};\n"
  },
  {
    "path": "core/modules/filters/function.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/function.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning those input titles that are returned from a function\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.function = function(source,operator,options) {\n\tvar functionName = operator.operands[0],\n\t\tparams = [],\n\t\tresults;\n\t$tw.utils.each(operator.multiValueOperands.slice(1),function(paramList) {\n\t\tparams.push({value: paramList[0] || \"\",multiValue: paramList});\n\t});\n\t// console.log(`Calling ${functionName} with params ${JSON.stringify(params)}`);\n\tvar variableInfo = options.widget && options.widget.getVariableInfo && options.widget.getVariableInfo(functionName,{params: params, source: source});\n\tif(variableInfo && variableInfo.srcVariable && variableInfo.srcVariable.isFunctionDefinition) {\n\t\tresults = variableInfo.resultList ? variableInfo.resultList : [variableInfo.text];\n\t}\n\t// Return the input list if the function wasn't found\n\tif(!results) {\n\t\tresults = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.push(title);\n\t\t});\t\n\t}\n\t// console.log(`function ${functionName} with params ${JSON.stringify(params)} results: ${JSON.stringify(results)}`);\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/get.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/get.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for replacing tiddler titles by the value of the field specified in the operand.\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.get = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(tiddler) {\n\t\t\tvar value = tiddler.getFieldString(operator.operand);\n\t\t\tif(value) {\n\t\t\t\tresults.push(value);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/getindex.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/getindex.js\ntype: application/javascript\nmodule-type: filteroperator\n\nreturns the value at a given index of datatiddlers\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.getindex = function(source,operator,options) {\n\tvar data,results = [];\n\tif(operator.operand){\n\t\tsource(function(tiddler,title) {\n\t\t\ttitle = tiddler ? tiddler.fields.title : title;\n\t\t\tdata = options.wiki.extractTiddlerDataItem(tiddler,operator.operand);\n\t\t\tif(data) {\n\t\t\t\tresults.push(data);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/getvariable.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/getvariable.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for replacing input values by the value of the variable with the same name, or blank if the variable is missing\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.getvariable = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(options.widget.getVariable(title) || \"\");\n\t});\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/has.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/has.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a tiddler has the specified field or index\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.has = function(source,operator,options) {\n\tvar results = [],\n\t\tinvert = operator.prefix === \"!\";\n\n\tif(operator.suffix === \"field\") {\n\t\tif(invert) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(!tiddler || (tiddler && (!$tw.utils.hop(tiddler.fields,operator.operand)))) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler && $tw.utils.hop(tiddler.fields,operator.operand)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\telse if(operator.suffix === \"index\") {\n\t\tif(invert) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(!tiddler || (tiddler && (!$tw.utils.hop(options.wiki.getTiddlerDataCached(tiddler,Object.create(null)),operator.operand)))) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler && $tw.utils.hop(options.wiki.getTiddlerDataCached(tiddler,Object.create(null)),operator.operand)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\telse {\n\t\tif(invert) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(!tiddler || !$tw.utils.hop(tiddler.fields,operator.operand) || (tiddler.fields[operator.operand].length === 0)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler && $tw.utils.hop(tiddler.fields,operator.operand) && (tiddler.fields[operator.operand].length !== 0)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/haschanged.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/haschanged.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returns tiddlers from the list that have a non-zero changecount.\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.haschanged = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.getChangeCount(title) === 0) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.getChangeCount(title) > 0) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/indexes.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/indexes.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the indexes of a data tiddler\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.indexes = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar data = options.wiki.getTiddlerDataCached(title);\n\t\tif(data) {\n\t\t\t$tw.utils.pushTop(results,Object.keys(data));\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/insertafter.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/insertafter.js\ntype: application/javascript\nmodule-type: filteroperator\n\nInsert an item after another item in a list\n\n\\*/\n\n\"use strict\";\n\n/*\nOrder a list\n*/\nexports.insertafter = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tvar target = operator.operands[1] || (options.widget && options.widget.getVariable(operator.suffix || \"currentTiddler\"));\n\tif(target !== operator.operand) {\n\t\t// Remove the entry from the list if it is present\n\t\tvar pos = results.indexOf(operator.operand);\n\t\tif(pos !== -1) {\n\t\t\tresults.splice(pos,1);\n\t\t}\n\t\t// Insert the entry after the target marker\n\t\tpos = results.indexOf(target);\n\t\tif(pos !== -1) {\n\t\t\tresults.splice(pos+1,0,operator.operand);\n\t\t} else {\n\t\t\tvar suffix = operator.operands.length > 1 ? operator.suffix : \"\";\n\t\t\tif(suffix === \"start\") {\n\t\t\t\tresults.splice(0,0,operator.operand);\n\t\t\t} else {\n\t\t\t\tresults.push(operator.operand);\n\t\t\t}\n\t\t}\n\t}\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/insertbefore.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/insertbefore.js\ntype: application/javascript\nmodule-type: filteroperator\n\nInsert an item before another item in a list\n\n\\*/\n\n\"use strict\";\n\n/*\nOrder a list\n*/\nexports.insertbefore = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tvar target = operator.operands[1] || (options.widget && options.widget.getVariable(operator.suffix || \"currentTiddler\"));\n\tif(target !== operator.operand) {\n\t\t// Remove the entry from the list if it is present\n\t\tvar pos = results.indexOf(operator.operand);\n\t\tif(pos !== -1) {\n\t\t\tresults.splice(pos,1);\n\t\t}\n\t\t// Insert the entry before the target marker\n\t\tpos = results.indexOf(target);\n\t\tif(pos !== -1) {\n\t\t\tresults.splice(pos,0,operator.operand);\n\t\t} else {\n\t\t\tvar suffix = operator.operands.length > 1 ? operator.suffix : \"\";\n\t\t\tif(suffix == \"start\") {\n\t\t\t\tresults.splice(0,0,operator.operand);\n\t\t\t} else {\n\t\t\t\tresults.push(operator.operand);\n\t\t\t}\n\t\t}\n\t}\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/is/binary.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/is/binary.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[binary]]\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.binary = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isBinaryTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isBinaryTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/is/blank.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/is/blank.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[blank]]\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.blank = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!title) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/is/current.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/is/current.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[current]]\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.current = function(source,prefix,options) {\n\tvar results = [],\n\t\tcurrTiddlerTitle = options.widget && options.widget.getVariable(\"currentTiddler\");\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title !== currTiddlerTitle) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title === currTiddlerTitle) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/is/draft.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/is/draft.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[draft]] analagous to [has[draft.of]]\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.draft = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!tiddler || !tiddler.isDraft()) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && tiddler.isDraft()) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/is/image.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/is/image.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[image]]\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.image = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isImageTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isImageTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/is/missing.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/is/missing.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[missing]]\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.missing = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/is/orphan.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/is/orphan.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[orphan]]\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.orphan = function(source,prefix,options) {\n\tvar results = [],\n\t\torphanTitles = options.wiki.getOrphanTitles();\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(orphanTitles.indexOf(title) === -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(orphanTitles.indexOf(title) !== -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/is/shadow.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/is/shadow.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[shadow]]\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.shadow = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isShadowTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isShadowTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/is/system.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/is/system.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[system]]\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.system = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isSystemTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isSystemTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/is/tag.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/is/tag.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[tag]]\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tag = function(source,prefix,options) {\n\tvar results = [],\n\t\ttagMap = options.wiki.getTagMap();\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!$tw.utils.hop(tagMap,title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif($tw.utils.hop(tagMap,title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/is/tiddler.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/is/tiddler.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[tiddler]]\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tiddler = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/is/variable.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/is/variable.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[variable]]\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.variable = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.widget.getVariable(title) === undefined) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.widget.getVariable(title) !== undefined) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/is.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/is.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking tiddler properties\n\n\\*/\n\n\"use strict\";\n\nvar isFilterOperators;\n\nfunction getIsFilterOperators() {\n\tif(!isFilterOperators) {\n\t\tisFilterOperators = {};\n\t\t$tw.modules.applyMethods(\"isfilteroperator\",isFilterOperators);\n\t}\n\treturn isFilterOperators;\n}\n\n/*\nExport our filter function\n*/\nexports.is = function(source,operator,options) {\n\t// Dispatch to the correct isfilteroperator\n\tvar isFilterOperators = getIsFilterOperators();\n\tif(operator.operand) {\n\t\tvar isFilterOperator = isFilterOperators[operator.operand];\n\t\tif(isFilterOperator) {\n\t\t\treturn isFilterOperator(source,operator.prefix,options);\n\t\t} else {\n\t\t\treturn [$tw.language.getString(\"Error/IsFilterOperator\")];\n\t\t}\n\t} else {\n\t\t// Return all tiddlers if the operand is missing\n\t\tvar results = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.push(title);\n\t\t});\n\t\treturn results;\n\t}\n};\n"
  },
  {
    "path": "core/modules/filters/json-ops.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/json-ops.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operators for JSON operations\n\n\\*/\n\n\"use strict\";\n\nexports[\"jsonget\"] = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar data = $tw.utils.parseJSONSafe(title,title);\n\t\tif(data) {\n\t\t\tvar items = getDataItemValueAsStrings(data,operator.operands);\n\t\t\tif(items !== undefined) {\n\t\t\t\tresults.push.apply(results,items);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\nexports[\"jsonextract\"] = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar data = $tw.utils.parseJSONSafe(title,title);\n\t\tif(data) {\n\t\t\tvar item = getDataItem(data,operator.operands);\n\t\t\tif(item !== undefined) {\n\t\t\t\tresults.push(JSON.stringify(item));\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\nexports[\"jsonindexes\"] = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar data = $tw.utils.parseJSONSafe(title,title);\n\t\tif(data) {\n\t\t\tvar items = getDataItemKeysAsStrings(data,operator.operands);\n\t\t\tif(items !== undefined) {\n\t\t\t\tresults.push.apply(results,items);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\nexports[\"jsontype\"] = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar data = $tw.utils.parseJSONSafe(title,title);\n\t\tif(data) {\n\t\t\tvar item = getDataItemType(data,operator.operands);\n\t\t\tif(item !== undefined) {\n\t\t\t\tresults.push(item);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\nexports[\"jsonset\"] = function(source,operator,options) {\n\tvar suffixes = operator.suffixes || [],\n\t\ttype = suffixes[0] && suffixes[0][0],\n\t\tindexes = operator.operands.slice(0,-1),\n\t\tvalue = operator.operands[operator.operands.length - 1],\n\t\tresults = [];\n\tif(operator.operands.length === 1 && operator.operands[0] === \"\") {\n\t\tvalue = undefined; // Prevents the value from being assigned\n\t}\n\tswitch(type) {\n\t\tcase \"string\":\n\t\t\t// Use value unchanged\n\t\t\tbreak;\n\t\tcase \"boolean\":\n\t\t\tvalue = (value === \"true\" ? true : (value === \"false\" ? false : undefined));\n\t\t\tbreak;\n\t\tcase \"number\":\n\t\t\tvalue = $tw.utils.parseNumber(value);\n\t\t\tbreak;\n\t\tcase \"array\":\n\t\t\tindexes = operator.operands;\n\t\t\tvalue = [];\n\t\t\tbreak;\n\t\tcase \"object\":\n\t\t\tindexes = operator.operands;\n\t\t\tvalue = {};\n\t\t\tbreak;\n\t\tcase \"null\":\n\t\t\tindexes = operator.operands;\n\t\t\tvalue = null;\n\t\t\tbreak;\n\t\tcase \"json\":\n\t\t\tvalue = $tw.utils.parseJSONSafe(value,function() {return undefined;});\n\t\t\tbreak;\n\t\tdefault:\n\t\t\t// Use value unchanged\n\t\t\tbreak;\n\t}\n\tsource(function(tiddler,title) {\n\t\tvar data = $tw.utils.parseJSONSafe(title,title);\n\t\tif(data) {\n\t\t\tdata = setDataItem(data,indexes,value);\n\t\t\tresults.push(JSON.stringify(data));\n\t\t}\n\t});\n\treturn results;\n};\n\nexports[\"jsondelete\"] = function(source,operator,options) {\n\tvar indexes = operator.operands,\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tvar data = $tw.utils.parseJSONSafe(title,title);\n\t\t// If parsing failed (data equals original title and is a string), return unchanged\n\t\tif(data === title && typeof data === \"string\") {\n\t\t\tresults.push(title);\n\t\t} else if(data) {\n\t\t\tdata = deleteDataItem(data,indexes);\n\t\t\tresults.push(JSON.stringify(data));\n\t\t}\n\t});\n\treturn results;\n};\n\n/*\nGiven a JSON data structure and an array of index strings, return an array of the string representation of the values at the end of the index chain, or \"undefined\" if any of the index strings are invalid\n*/\nfunction getDataItemValueAsStrings(data,indexes) {\n\t// Get the item\n\tvar item = getDataItem(data,indexes);\n\t// Return the item as a string list\n\treturn convertDataItemValueToStrings(item);\n}\n\n/*\nGiven a JSON data structure and an array of index strings, return an array of the string representation of the keys of the item at the end of the index chain, or \"undefined\" if any of the index strings are invalid\n*/\nfunction getDataItemKeysAsStrings(data,indexes) {\n\t// Get the item\n\tvar item = getDataItem(data,indexes);\n\t// Return the item keys as a string\n\treturn convertDataItemKeysToStrings(item);\n}\n\n/*\nReturn an array of the string representation of the values of a data item, or \"undefined\" if the item is undefined\n*/\nfunction convertDataItemValueToStrings(item) {\n\t// Return the item as a string\n\tif(item === undefined) {\n\t\treturn undefined;\n\t} else if(item === null) {\n\t\treturn [\"null\"];\n\t} else if(typeof item === \"object\") {\n\t\tvar results = [],i,t;\n\t\tif(Array.isArray(item)) {\n\t\t\t// Return all the items in arrays recursively\n\t\t\tfor(i=0; i<item.length; i++) {\n\t\t\t\tt = convertDataItemValueToStrings(item[i]);\n\t\t\t\tif(t !== undefined) {\n\t\t\t\t\tresults.push.apply(results,t);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// Return all the values in objects recursively\n\t\t\t$tw.utils.each(Object.keys(item).sort(),function(key) {\n\t\t\t\tt = convertDataItemValueToStrings(item[key]);\n\t\t\t\tif(t !== undefined) {\n\t\t\t\t\tresults.push.apply(results,t);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\treturn results;\n\t}\n\treturn [item.toString()];\n}\n\n/*\nReturn an array of the string representation of the keys of a data item, or \"undefined\" if the item is undefined\n*/\nfunction convertDataItemKeysToStrings(item) {\n\t// Return the item as a string\n\tif(item === undefined) {\n\t\treturn item;\n\t} else if(typeof item === \"object\") {\n\t\tif(item === null) {\n\t\t\treturn [];\n\t\t}\n\t\tvar results = [];\n\t\tif(Array.isArray(item)) {\n\t\t\tfor(var i=0; i<item.length; i++) {\n\t\t\t\tresults.push(i.toString());\n\t\t\t}\n\t\t\treturn results;\n\t\t} else {\n\t\t\t$tw.utils.each(Object.keys(item).sort(),function(key) {\n\t\t\t\tresults.push(key);\n\t\t\t});\n\t\t\treturn results;\n\t\t}\n\t}\n\treturn [];\n}\n\nfunction getDataItemType(data,indexes) {\n\t// Get the item\n\tvar item = getDataItem(data,indexes);\n\t// Return the item type\n\tif(item === undefined) {\n\t\treturn item;\n\t} else if(item === null) {\n\t\treturn \"null\";\n\t} else if(Array.isArray(item)) {\n\t\treturn \"array\";\n\t} else if(typeof item === \"object\") {\n\t\treturn \"object\";\n\t} else {\n\t\treturn typeof item;\n\t}\n}\n\nfunction getItemAtIndex(item,index) {\n\tif($tw.utils.hop(item,index)) {\n\t\treturn item[index];\n\t} else if(Array.isArray(item)) {\n\t\tindex = $tw.utils.parseInt(index);\n\t\tif(index < 0) { index = index + item.length; };\n\t\treturn item[index]; // Will be undefined if index was out-of-bounds\n\t} else {\n\t\treturn undefined;\n\t}\n}\n\n/*\nTraverse the index chain and return the item at the specified depth.\nReturns the item at the end of the traversal, or undefined if traversal fails.\n*/\nfunction traverseIndexChain(data,indexes,stopBeforeLast) {\n\tif(indexes.length === 0 || (indexes.length === 1 && indexes[0] === \"\")) {\n\t\treturn data;\n\t}\n\tvar item = data;\n\tvar stopIndex = stopBeforeLast ? indexes.length - 1 : indexes.length;\n\tfor(var i = 0; i < stopIndex; i++) {\n\t\tif(item !== undefined) {\n\t\t\tif(item !== null && [\"number\",\"string\",\"boolean\"].indexOf(typeof item) === -1) {\n\t\t\t\titem = getItemAtIndex(item,indexes[i]);\n\t\t\t} else {\n\t\t\t\titem = undefined;\n\t\t\t}\n\t\t}\n\t}\n\treturn item;\n}\n\n/*\nGiven a JSON data structure and an array of index strings, return the value at the end of the index chain, or \"undefined\" if any of the index strings are invalid\n*/\nfunction getDataItem(data,indexes) {\n\treturn traverseIndexChain(data,indexes,false);\n}\n\n/*\nGiven a JSON data structure, an array of index strings and a value, return the data structure with the value added at the end of the index chain. If any of the index strings are invalid then the JSON data structure is returned unmodified. If the root item is targetted then a different data object will be returned\n*/\nfunction setDataItem(data,indexes,value) {\n\t// Ignore attempts to assign undefined\n\tif(value === undefined) {\n\t\treturn data;\n\t}\n\t// Check for the root item\n\tif(indexes.length === 0 || (indexes.length === 1 && indexes[0] === \"\")) {\n\t\treturn value;\n\t}\n\t// Traverse the JSON data structure using the index chain up to the parent\n\tvar current = traverseIndexChain(data,indexes,true);\n\tif(current === undefined) {\n\t\t// Return the original JSON data structure if any of the index strings are invalid\n\t\treturn data;\n\t}\n\t// Add the value to the end of the index chain\n\tvar lastIndex = indexes[indexes.length - 1];\n\tif(Array.isArray(current)) {\n\t\tlastIndex = $tw.utils.parseInt(lastIndex);\n\t\tif(lastIndex < 0) { lastIndex = lastIndex + current.length; };\n\t}\n\t// Only set indexes on objects and arrays\n\tif(typeof current === \"object\") {\n\t\tcurrent[lastIndex] = value;\n\t}\n\treturn data;\n}\n\n/*\nGiven a JSON data structure and an array of index strings, return the data structure with the item at the end of the index chain deleted. If any of the index strings are invalid then the JSON data structure is returned unmodified. If the root item is targetted then the JSON data structure is returned unmodified.\n*/\nfunction deleteDataItem(data,indexes) {\n\t// Check for the root item - don't delete the root\n\tif(indexes.length === 0 || (indexes.length === 1 && indexes[0] === \"\")) {\n\t\treturn data;\n\t}\n\t// Traverse the JSON data structure using the index chain up to the parent\n\tvar current = traverseIndexChain(data,indexes,true);\n\tif(current === undefined || current === null) {\n\t\t// Return the original JSON data structure if any of the index strings are invalid\n\t\treturn data;\n\t}\n\t// Delete the item at the end of the index chain\n\tvar lastIndex = indexes[indexes.length - 1];\n\tif(Array.isArray(current) && current !== null) {\n\t\tlastIndex = $tw.utils.parseInt(lastIndex);\n\t\tif(lastIndex < 0) { lastIndex = lastIndex + current.length; };\n\t\t// Check if index is valid before splicing\n\t\tif(lastIndex >= 0 && lastIndex < current.length) {\n\t\t\tcurrent.splice(lastIndex,1);\n\t\t}\n\t} else if(typeof current === \"object\" && current !== null) {\n\t\tdelete current[lastIndex];\n\t}\n\treturn data;\n}\n"
  },
  {
    "path": "core/modules/filters/limit.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/limit.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for chopping the results to a specified maximum number of entries\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.limit = function(source,operator,options) {\n\tvar results = [];\n\t// Convert to an array\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\t// Slice the array if necessary\n\tvar limit = Math.min(results.length,parseInt(operator.operand,10));\n\tif(operator.prefix === \"!\") {\n\t\tresults = results.slice(-limit);\n\t} else {\n\t\tresults = results.slice(0,limit);\n\t}\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/links.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/links.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning all the links from a tiddler\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.links = function(source,operator,options) {\n\tvar results = new $tw.utils.LinkedList();\n\tsource(function(tiddler,title) {\n\t\tresults.pushTop(options.wiki.getTiddlerLinks(title));\n\t});\n\treturn results.makeTiddlerIterator(options.wiki);\n};\n"
  },
  {
    "path": "core/modules/filters/list.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/list.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddlers whose title is listed in the operand tiddler\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.list = function(source,operator,options) {\n\tvar results = [],\n\t\ttr = $tw.utils.parseTextReference(operator.operand),\n\t\tcurrTiddlerTitle = options.widget && options.widget.getVariable(\"currentTiddler\"),\n\t\tlist = options.wiki.getTiddlerList(tr.title || currTiddlerTitle,tr.field,tr.index);\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tresults = list;\n\t}\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/listed.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/listed.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all tiddlers that have the selected tiddlers in a list\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.listed = function(source,operator,options) {\n\tvar field = operator.operand || \"list\",\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.findListingsOfTiddler(title,field));\n\t});\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/listops.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/listops.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operators for manipulating the current selection list\n\n\\*/\n\n\"use strict\";\n\n/*\nOrder a list\n*/\nexports.order = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.operand.toLowerCase() === \"reverse\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.unshift(title);\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.push(title);\n\t\t});\n\t}\n\treturn results;\n};\n\n/*\nReverse list\n*/\nexports.reverse = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.unshift(title);\n\t});\n\treturn results;\n};\n\n/*\nFirst entry/entries in list\n*/\nexports.first = function(source,operator,options) {\n\tvar count = $tw.utils.getInt(operator.operand,1),\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(0,count);\n};\n\n/*\nLast entry/entries in list\n*/\nexports.last = function(source,operator,options) {\n\tvar count = $tw.utils.getInt(operator.operand,1),\n\t\tresults = [];\n\tif(count === 0) return results;\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(-count);\n};\n\n/*\nAll but the first entry/entries of the list\n*/\nexports.rest = function(source,operator,options) {\n\tvar count = $tw.utils.getInt(operator.operand,1),\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(count);\n};\nexports.butfirst = exports.rest;\nexports.bf = exports.rest;\n\n/*\nAll but the last entry/entries of the list\n*/\nexports.butlast = function(source,operator,options) {\n\tvar count = $tw.utils.getInt(operator.operand,1),\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tvar index = count === 0 ? results.length : -count;\n\treturn results.slice(0,index);\n};\nexports.bl = exports.butlast;\n\n/*\nThe nth member of the list\n*/\nexports.nth = function(source,operator,options) {\n\tvar count = $tw.utils.getInt(operator.operand,1),\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(count - 1,count);\n};\n\n/*\nThe zero based nth member of the list\n*/\nexports.zth = function(source,operator,options) {\n\tvar count = $tw.utils.getInt(operator.operand,0),\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(count,count + 1);\n};\n"
  },
  {
    "path": "core/modules/filters/lookup.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/lookup.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that looks up values via a title prefix\n\n[lookup:<defaultvalue>:<field OR index>[<prefix>],[<field-name OR index-name>]]\n\nPrepends the prefix to the selected items and returns the specified \nfield or index value. If the 2nd suffix does not exist, it defaults to field.\nIf the second operand is missing it defaults to \"text\" for fields, and \"0\" for indexes\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.lookup = function(source,operator,options) {\n\tvar results = [],\n\t\tsuffixes = operator.suffixes || [],\n\t\tdefaultSuffix = suffixes[0] ? (suffixes[0][0] || \"\") : \"\",\n\t\tindexSuffix = (suffixes[1] && suffixes[1][0] === \"index\") ? true : false,\n\t\ttarget;\n\tif(operator.operands.length == 2) {\n\t\ttarget = operator.operands[1];\n\t} else {\n\t\ttarget = indexSuffix ? \"0\": \"text\";\n\t}\n\tif(indexSuffix) {\n\t\tsource(function(tiddler,title) {\n\t\t\tvar data = options.wiki.extractTiddlerDataItem(operator.operands[0]+title,target,defaultSuffix);\n\t\t\tresults.push(data);\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tvar value = defaultSuffix;\n\t\t\tvar targetTiddler = options.wiki.getTiddler(operator.operands[0]+title);\n\t\t\tif(targetTiddler && targetTiddler.getFieldString(target)) {\n\t\t\t\tvalue = targetTiddler.getFieldString(target);\n\t\t\t}\n\t\t\tresults.push(value);\n\t\t});\n\t}\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/match.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/match.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a title matches a string\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.match = function(source,operator,options) {\n\tvar results = [],\n\t\tsuffixes = (operator.suffixes || [])[0] || [];\n\tif(suffixes.indexOf(\"caseinsensitive\") !== -1) {\n\t\tif(operator.prefix === \"!\") {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title.toLowerCase() !== (operator.operand || \"\").toLowerCase()) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title.toLowerCase() === (operator.operand || \"\").toLowerCase()) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} else {\n\t\tif(operator.prefix === \"!\") {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title !== operator.operand) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title === operator.operand) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/math.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/math.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operators for math. Unary/binary operators work on each item in turn, and return a new item list.\n\nSum/product/maxall/minall operate on the entire list, returning a single item.\n\nNote that strings are converted to numbers automatically. Trailing non-digits are ignored.\n\n* \"\" converts to 0\n* \"12kk\" converts to 12\n\n\\*/\n\n\"use strict\";\n\nexports.negate = makeNumericBinaryOperator(\n\tfunction(a) {return -a;}\n);\n\nexports.abs = makeNumericBinaryOperator(\n\tfunction(a) {return Math.abs(a);}\n);\n\nexports.ceil = makeNumericBinaryOperator(\n\tfunction(a) {return Math.ceil(a);}\n);\n\nexports.floor = makeNumericBinaryOperator(\n\tfunction(a) {return Math.floor(a);}\n);\n\nexports.round = makeNumericBinaryOperator(\n\tfunction(a) {return Math.round(a);}\n);\n\nexports.trunc = makeNumericBinaryOperator(\n\tfunction(a) {return Math.trunc(a);}\n);\n\nexports.untrunc = makeNumericBinaryOperator(\n\tfunction(a) {return Math.ceil(Math.abs(a)) * Math.sign(a);}\n);\n\nexports.sign = makeNumericBinaryOperator(\n\tfunction(a) {return Math.sign(a);}\n);\n\nexports.add = makeNumericBinaryOperator(\n\tfunction(a,b) {return a + b;}\n);\n\nexports.subtract = makeNumericBinaryOperator(\n\tfunction(a,b) {return a - b;}\n);\n\nexports.multiply = makeNumericBinaryOperator(\n\tfunction(a,b) {return a * b;}\n);\n\nexports.divide = makeNumericBinaryOperator(\n\tfunction(a,b) {return a / b;}\n);\n\nexports.remainder = makeNumericBinaryOperator(\n\tfunction(a,b) {return a % b;}\n);\n\nexports.max = makeNumericBinaryOperator(\n\tfunction(a,b) {return Math.max(a,b);}\n);\n\nexports.min = makeNumericBinaryOperator(\n\tfunction(a,b) {return Math.min(a,b);}\n);\n\nexports.fixed = makeNumericBinaryOperator(\n\tfunction(a,b) {return Number.prototype.toFixed.call(a,Math.min(Math.max(b,0),100));}\n);\n\nexports.precision = makeNumericBinaryOperator(\n\tfunction(a,b) {return Number.prototype.toPrecision.call(a,Math.min(Math.max(b,1),100));}\n);\n\nexports.exponential = makeNumericBinaryOperator(\n\tfunction(a,b) {return Number.prototype.toExponential.call(a,Math.min(Math.max(b,0),100));}\n);\n\nexports.power = makeNumericBinaryOperator(\n\tfunction(a,b) {return Math.pow(a,b);}\n);\n\nexports.log = makeNumericBinaryOperator(\n\tfunction(a,b) {\n\t\tif(b) {\n\t\t\treturn Math.log(a)/Math.log(b);\n\t\t} else {\n\t\t\treturn Math.log(a);\n\t\t}\n\t}\n);\n\nexports.sum = makeNumericReducingOperator(\n\tfunction(accumulator,value) {return accumulator + value;},\n\t0 // Initial value\n);\n\nexports.product = makeNumericReducingOperator(\n\tfunction(accumulator,value) {return accumulator * value;},\n\t1 // Initial value\n);\n\nexports.maxall = makeNumericReducingOperator(\n\tfunction(accumulator,value) {return Math.max(accumulator,value);},\n\t-Infinity // Initial value\n);\n\nexports.minall = makeNumericReducingOperator(\n\tfunction(accumulator,value) {return Math.min(accumulator,value);},\n\tInfinity // Initial value\n);\n\nexports.median = makeNumericArrayOperator(\n\tfunction(values) {\n\t\tvar len = values.length, median;\n\t\tvalues.sort(function(a,b) {return a-b;});\n\t\tif(len % 2) { \n\t\t\t// Odd, return the middle number\n\t\t\tmedian = values[(len - 1) / 2];\n\t\t} else {\n\t\t\t// Even, return average of two middle numbers\n\t\t\tmedian = (values[len / 2 - 1] + values[len / 2]) / 2;\n\t\t}\n\t\treturn [median];\n\t}\n);\n\nexports.average = makeNumericReducingOperator(\n\tfunction(accumulator,value) {return accumulator + value;},\n\t0, // Initial value\n\tfunction(finalValue,numberOfValues) {\n\t\treturn finalValue/numberOfValues;\n\t}\n);\n\nexports.variance = makeNumericReducingOperator(\n\tfunction(accumulator,value) {return accumulator + value;},\n\t0,\n\tfunction(finalValue,numberOfValues,originalValues) {\n\t\treturn getVarianceFromArray(originalValues,finalValue/numberOfValues);\n\t}\n);\n\nexports[\"standard-deviation\"] = makeNumericReducingOperator(\n\tfunction(accumulator,value) {return accumulator + value;},\n\t0,\n\tfunction(finalValue,numberOfValues,originalValues) {\n\t\tvar variance = getVarianceFromArray(originalValues,finalValue/numberOfValues);\n\t\treturn Math.sqrt(variance);\n\t}\n);\n\n//trigonometry\nexports.cos = makeNumericBinaryOperator(\n\tfunction(a) {return Math.cos(a);}\n);\n\nexports.sin = makeNumericBinaryOperator(\n\tfunction(a) {return Math.sin(a);}\n);\n\nexports.tan = makeNumericBinaryOperator(\n\tfunction(a) {return Math.tan(a);}\n);\n\nexports.acos = makeNumericBinaryOperator(\n\tfunction(a) {return Math.acos(a);}\n);\n\nexports.asin = makeNumericBinaryOperator(\n\tfunction(a) {return Math.asin(a);}\n);\n\nexports.atan = makeNumericBinaryOperator(\n\tfunction(a) {return Math.atan(a);}\n);\n\nexports.atan2 = makeNumericBinaryOperator(\n\tfunction(a,b) {return Math.atan2(a,b);}\n);\n\n//Calculate the variance of a population of numbers in an array given its mean\nfunction getVarianceFromArray(values,mean) {\n\tvar deviationTotal = values.reduce(function(accumulator,value) {\n\t\treturn accumulator + Math.pow(value - mean, 2);\n\t},0);\n\treturn deviationTotal/values.length;\n};\n\nfunction makeNumericBinaryOperator(fnCalc) {\n\treturn function(source,operator,options) {\n\t\tvar result = [],\n\t\t\tnumOperand = $tw.utils.parseNumber(operator.operand);\n\t\tsource(function(tiddler,title) {\n\t\t\tresult.push($tw.utils.stringifyNumber(fnCalc($tw.utils.parseNumber(title),numOperand)));\n\t\t});\n\t\treturn result;\n\t};\n};\n\nfunction makeNumericReducingOperator(fnCalc,initialValue,fnFinal) {\n\tinitialValue = initialValue || 0;\n\treturn function(source,operator,options) {\n\t\tvar result = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tresult.push($tw.utils.parseNumber(title));\n\t\t});\n\t\t// We return an empty array if there are no input titles\n\t\tif(result.length === 0) {\n\t\t\treturn [];\n\t\t}\n\t\tvar value = result.reduce(function(accumulator,currentValue) {\n\t\t\treturn fnCalc(accumulator,currentValue);\n\t\t},initialValue);\n\t\tif(fnFinal) {\n\t\t\tvalue = fnFinal(value,result.length,result);\n\t\t}\n\t\treturn [$tw.utils.stringifyNumber(value)];\n\t};\n};\n\nfunction makeNumericArrayOperator(fnCalc) {\n\treturn function(source,operator,options) {\n\t\tvar results = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.push($tw.utils.parseNumber(title));\n\t\t});\n\t\tresults = fnCalc(results);\n\t\t$tw.utils.each(results,function(value,index) {\n\t\t\tresults[index] = $tw.utils.stringifyNumber(value);\n\t\t});\n\t\treturn results;\n\t};\n};\n"
  },
  {
    "path": "core/modules/filters/minlength.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/minlength.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for filtering out titles that don't meet the minimum length in the operand\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.minlength = function(source,operator,options) {\n\tvar results = [],\n\t\tminLength = parseInt(operator.operand || \"\",10) || 0;\n\tsource(function(tiddler,title) {\n\t\tif(title.length >= minLength) {\n\t\t\tresults.push(title);\n\t\t}\n\t});\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/moduleproperty.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/moduleproperty.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter [[module-name]moduleproperty[name]] retrieve a module property\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.moduleproperty = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\ttry {\n\t\t\tvar value = require(title)[operator.operand || \"\"];\n\t\t\tif(value !== undefined) {\n\t\t\t\tif(typeof value !== \"string\") {\n\t\t\t\t\tvalue = JSON.stringify(value);\n\t\t\t\t}\n\t\t\t\tresults.push(value);\n\t\t\t}\n\t\t} catch(e) {\n\t\t\t// Do nothing. It probably wasn't a module.\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/modules.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/modules.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the titles of the modules of a given type in this wiki\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.modules = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.operands.length >= 2) {\n\t\t// Return the modules that have the module property specified in the first operand with the value in the second operand\n\t\tsource(function(tiddler,title) {\n\t\t\t$tw.utils.each($tw.modules.types[title],function(moduleInfo,moduleName) {\n\t\t\t\tif(require(moduleName)[operator.operands[0]] === operator.operands[1]) {\n\t\t\t\t\tresults.push(moduleName);\t\t\t\t\t\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t} else {\n\t\t// Return all the module names without filtering\n\t\tsource(function(tiddler,title) {\n\t\t\t$tw.utils.each($tw.modules.types[title],function(moduleInfo,moduleName) {\n\t\t\t\tresults.push(moduleName);\n\t\t\t});\n\t\t});\n\t}\n\tresults.sort();\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/moduletypes.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/moduletypes.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the module types in this wiki\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.moduletypes = function(source,operator,options) {\n\tvar results = [];\n\t$tw.utils.each($tw.modules.types,function(moduleInfo,type) {\n\t\tresults.push(type);\n\t});\n\tresults.sort();\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/next.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/next.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler whose title occurs next in the list supplied in the operand tiddler\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.next = function(source,operator,options) {\n\tvar results = [],\n\t\tlist = options.wiki.getTiddlerList(operator.operand);\n\tsource(function(tiddler,title) {\n\t\tvar match = list.indexOf(title);\n\t\t// increment match and then test if result is in range\n\t\tmatch++;\n\t\tif(match > 0 && match < list.length) {\n\t\t\tresults.push(list[match]);\n\t\t}\n\t});\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/plugintiddlers.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/plugintiddlers.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the titles of the shadow tiddlers within a plugin\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.plugintiddlers = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar pluginInfo = options.wiki.getPluginInfo(title) || options.wiki.getTiddlerDataCached(title,{tiddlers:[]});\n\t\tif(pluginInfo && pluginInfo.tiddlers) {\n\t\t\t$tw.utils.each(pluginInfo.tiddlers,function(fields,title) {\n\t\t\t\tresults.push(title);\n\t\t\t});\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/prefix.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/prefix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a title starts with a prefix\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.prefix = function(source,operator,options) {\n\tvar results = [],\n\t\tsuffixes = (operator.suffixes || [])[0] || [];\n\tif(suffixes.indexOf(\"caseinsensitive\") !== -1) {\n\t\tvar operand = operator.operand.toLowerCase();\n\t\tif(operator.prefix === \"!\") {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title.toLowerCase().substr(0,operand.length) !== operand) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title.toLowerCase().substr(0,operand.length) === operand) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} else {\n\t\tif(operator.prefix === \"!\") {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title.substr(0,operator.operand.length) !== operator.operand) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title.substr(0,operator.operand.length) === operator.operand) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/previous.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/previous.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler whose title occurs immediately prior in the list supplied in the operand tiddler\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.previous = function(source,operator,options) {\n\tvar results = [],\n\t\tlist = options.wiki.getTiddlerList(operator.operand);\n\tsource(function(tiddler,title) {\n\t\tvar match = list.indexOf(title);\n\t\t// increment match and then test if result is in range\n\t\tmatch--;\n\t\tif(match >= 0) {\n\t\t\tresults.push(list[match]);\n\t\t}\n\t});\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/range.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/range.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for generating a numeric range.\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.range = function(source,operator,options) {\n\tvar results = [];\n\t// For backwards compatibility, if there is only one operand, try to split it using one of the delimiters\n\tvar parts = operator.operands || [];\n\tif(parts.length === 1) {\n\t\tparts = operator.operand.split(/[,:;]/g);\n\t}\n\t// Process the parts\n\tvar beg, end, inc, i, fixed = 0;\n\tfor(i=0; i<parts.length; i++) {\n\t\t// Validate real number\n\t\tif(!/^\\s*[+-]?((\\d+(\\.\\d*)?)|(\\.\\d+))\\s*$/.test(parts[i])) {\n\t\t\treturn [\"range: bad number \\\"\" + parts[i] + \"\\\"\"];\n\t\t}\n\t\t// Count digits; the most precise number determines decimal places in output.\n\t\tvar frac = /\\.\\d+/.exec(parts[i]);\n\t\tif(frac) {\n\t\t\tfixed = Math.max(fixed,frac[0].length-1);\n\t\t}\n\t\tparts[i] = parseFloat(parts[i]);\n\t}\n\tswitch(parts.length) {\n\t\tcase 1:\n\t\t\tend = parts[0];\n\t\t\tif(end >= 1) {\n\t\t\t\tbeg = 1;\n\t\t\t}\n\t\t\telse if(end <= -1) {\n\t\t\t\tbeg = -1;\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn [];\n\t\t\t}\n\t\t\tinc = 1;\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tbeg = parts[0];\n\t\t\tend = parts[1];\n\t\t\tinc = 1;\n\t\t\tbreak;\n\t\tcase 3:\n\t\t\tbeg = parts[0];\n\t\t\tend = parts[1];\n\t\t\tinc = Math.abs(parts[2]);\n\t\t\tbreak;\n\t}\n\tif(inc === 0) {\n\t\treturn [\"range: increment 0 causes infinite loop\"];\n\t}\n\t// May need to count backwards\n\tvar direction = ((end < beg) ? -1 : 1);\n\tinc *= direction;\n\t// Estimate number of resulting elements\n\tif((end - beg) / inc > 10000) {\n\t\treturn [\"range: too many steps (over 10K)\"];\n\t}\n\t// Avoid rounding error on last step\n\tend += direction * 0.5 * Math.pow(0.1,fixed);\n\tvar safety = 10010;\n\t// Enumerate the range\n\tif(end<beg) {\n\t\tfor(i=beg; i>end; i+=inc) {\n\t\t\tresults.push(i.toFixed(fixed));\n\t\t\tif(--safety<0) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t} else {\n\t\tfor(i=beg; i<end; i+=inc) {\n\t\t\tresults.push(i.toFixed(fixed));\n\t\t\tif(--safety<0) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tif(safety<0) {\n\t\treturn [\"range: unexpectedly large output\"];\n\t}\n\t// Reverse?\n\tif(operator.prefix === \"!\") {\n\t\tresults.reverse();\n\t}\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/reduce.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/reduce.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator evaluates a subfilter for each item, making the running total available in the variable `accumulator`, and the current index available in the variable `index`\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.reduce = function(source,operator,options) {\n\t// Accumulate the list\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\t// Run the filter over each item\n\tvar filterFn = options.wiki.compileFilter(operator.operand),\n\t\taccumulator = operator.operands[1] || \"\";\n\tfor(var index=0; index<results.length; index++) {\n\t\tvar title = results[index],\n\t\t\tlist = filterFn.call(options.wiki,options.wiki.makeTiddlerIterator([title]),options.widget.makeFakeWidgetWithVariables({\n\t\t\t\t\"currentTiddler\": \"\" + title,\n\t\t\t\t\"..currentTiddler\": options.widget.getVariable(\"currentTiddler\"),\n\t\t\t\t\"accumulator\": \"\" + accumulator,\n\t\t\t\t\"index\": \"\" + index,\n\t\t\t\t\"revIndex\": \"\" + (results.length - 1 - index),\n\t\t\t\t\"length\": \"\" + results.length\n\t\t\t}));\n\t\tif(list.length > 0) {\n\t\t\taccumulator = \"\" +  list[0];\n\t\t}\n\t}\n\tif(results.length > 0) {\n\t\treturn [accumulator];\n\t} else {\n\t\treturn [];\n\t}\n};\n"
  },
  {
    "path": "core/modules/filters/regexp.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/regexp.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for regexp matching\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.regexp = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldname = operator.suffix || \"title\",\n\t\tregexpString, regexp, flags = \"\", match,\n\t\tgetFieldString = function(tiddler,title) {\n\t\t\tif(tiddler) {\n\t\t\t\treturn tiddler.getFieldString(fieldname);\n\t\t\t} else if(fieldname === \"title\") {\n\t\t\t\treturn title;\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t};\n\t// Process flags and construct regexp\n\tregexpString = operator.operand;\n\tmatch = /^\\(\\?([gim]+)\\)/.exec(regexpString);\n\tif(match) {\n\t\tflags = match[1];\n\t\tregexpString = regexpString.substr(match[0].length);\n\t} else {\n\t\tmatch = /\\(\\?([gim]+)\\)$/.exec(regexpString);\n\t\tif(match) {\n\t\t\tflags = match[1];\n\t\t\tregexpString = regexpString.substr(0,regexpString.length - match[0].length);\n\t\t}\n\t}\n\ttry {\n\t\tregexp = new RegExp(regexpString,flags);\n\t} catch(e) {\n\t\treturn [\"\" + e];\n\t}\n\t// Process the incoming tiddlers\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tvar text = getFieldString(tiddler,title);\n\t\t\tif(text !== null) {\n\t\t\t\tif(!regexp.exec(text)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tvar text = getFieldString(tiddler,title);\n\t\t\tif(text !== null) {\n\t\t\t\tif(!!regexp.exec(text)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/removeprefix.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/removeprefix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for removing a prefix from each title in the list. Titles that do not start with the prefix are removed.\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.removeprefix = function(source,operator,options) {\n\tvar results = [],\n\t\tsuffixes = (operator.suffixes || [])[0] || [];\n\tif(suffixes.indexOf(\"caseinsensitive\") !== -1) {\n\t\tvar operand = operator.operand.toLowerCase();\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.toLowerCase().substr(0,operand.length) === operand) {\n\t\t\t\tresults.push(title.substr(operand.length));\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(0,operator.operand.length) === operator.operand) {\n\t\t\t\tresults.push(title.substr(operator.operand.length));\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/removesuffix.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/removesuffix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for removing a suffix from each title in the list. Titles that do not end with the suffix are removed.\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.removesuffix = function(source,operator,options) {\n\tvar results = [],\n\t\tsuffixes = (operator.suffixes || [])[0] || [];\n\tif(!operator.operand) {\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.push(title);\n\t\t});\n\t} else if(suffixes.indexOf(\"caseinsensitive\") !== -1) {\n\t\tvar operand = operator.operand.toLowerCase();\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title && title.toLowerCase().substr(-operand.length) === operand) {\n\t\t\t\tresults.push(title.substr(0,title.length - operand.length));\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title && title.substr(-operator.operand.length) === operator.operand) {\n\t\t\t\tresults.push(title.substr(0,title.length - operator.operand.length));\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/sameday.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/sameday.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects tiddlers with a modified date field on the same day as the provided value.\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.sameday = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldName = operator.suffix || \"modified\",\n\t\ttargetDate = (new Date($tw.utils.parseDate(operator.operand))).setHours(0,0,0,0);\n\t// Function to convert a date/time to a date integer\n\tsource(function(tiddler,title) {\n\t\tif(tiddler) {\n\t\t\tif(tiddler.getFieldDay(fieldName) === targetDate) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/search.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/search.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for searching for the text in the operand tiddler\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.search = function(source,operator,options) {\n\tvar invert = operator.prefix === \"!\";\n\tif(operator.suffixes) {\n\t\tvar hasFlag = function(flag) {\n\t\t\t\treturn (operator.suffixes[1] || []).indexOf(flag) !== -1;\n\t\t\t},\n\t\t\texcludeFields = false,\n\t\t\tfieldList = operator.suffixes[0] || [],\n\t\t\tfirstField = fieldList[0] || \"\", \n\t\t\tfirstChar = firstField.charAt(0),\n\t\t\tfields;\n\t\tif(firstChar === \"-\") {\n\t\t\tfields = [firstField.slice(1)].concat(fieldList.slice(1));\n\t\t\texcludeFields = true;\n\t\t} else if(fieldList[0] === \"*\"){\n\t\t\tfields = [];\n\t\t\texcludeFields = true;\n\t\t} else {\n\t\t\tfields = fieldList.slice(0);\n\t\t}\n\t\treturn options.wiki.search(operator.operand,{\n\t\t\tsource: source,\n\t\t\tinvert: invert,\n\t\t\tfield: fields,\n\t\t\texcludeField: excludeFields,\n\t\t\tsome: hasFlag(\"some\"),\n\t\t\tcaseSensitive: hasFlag(\"casesensitive\"),\n\t\t\tliteral: hasFlag(\"literal\"),\n\t\t\twhitespace: hasFlag(\"whitespace\"),\n\t\t\tanchored: hasFlag(\"anchored\"),\n\t\t\tregexp: hasFlag(\"regexp\"),\n\t\t\twords: hasFlag(\"words\")\n\t\t});\n\t} else {\n\t\treturn options.wiki.search(operator.operand,{\n\t\t\tsource: source,\n\t\t\tinvert: invert\n\t\t});\n\t}\n};\n"
  },
  {
    "path": "core/modules/filters/shadowsource.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/shadowsource.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the source plugins for shadow tiddlers\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.shadowsource = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar source = options.wiki.getShadowSource(title);\n\t\tif(source) {\n\t\t\t$tw.utils.pushTop(results,source);\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/slugify.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/slugify.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for slugifying a tiddler title\n\n\\*/\n\n\"use strict\";\n\nexports.slugify = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(options.wiki.slugify(title));\n\t});\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/sort.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/sort.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for sorting\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.sort = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",false,false);\n\treturn results;\n};\n\nexports.nsort = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",false,true);\n\treturn results;\n};\n\nexports.sortan = function(source, operator, options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results, operator.operand || \"title\", operator.prefix === \"!\",false,false,true);\n\treturn results;\n};\n\nexports.sortcs = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",true,false);\n\treturn results;\n};\n\nexports.nsortcs = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",true,true);\n\treturn results;\n};\n\nvar prepare_results = function (source) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/sortsub.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/sortsub.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for sorting by a subfilter\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.sortsub = function(source,operator,options) {\n\t// Compile the subfilter\n\tvar filterFn = options.wiki.compileFilter(operator.operand);\n\t// Collect the input titles and the corresponding sort keys\n\tvar inputTitles = [],\n\t\tsortKeys = [];\n\tsource(function(tiddler,title) {\n\t\tinputTitles.push(title);\n\t\tvar r = filterFn.call(options.wiki,function(iterator) {\n\t\t\titerator(options.wiki.getTiddler(title),title);\n\t\t},options.widget.makeFakeWidgetWithVariables({\n\t\t\t\"currentTiddler\": \"\" + title,\n\t\t\t\"..currentTiddler\": options.widget.getVariable(\"currentTiddler\")\n\t\t}));\n\t\tsortKeys.push(r[0] || \"\");\n\t});\n\t// Rather than sorting the titles array, we'll sort the indexes so that we can consult both arrays\n\tvar indexes = new Array(inputTitles.length);\n\tfor(var t=0; t<inputTitles.length; t++) {\n\t\tindexes[t] = t;\n\t}\n\t// Sort the indexes\n\tvar compareFn = $tw.utils.makeCompareFunction(operator.suffix,{defaultType: \"string\",invert: operator.prefix === \"!\"});\n\tindexes = indexes.sort(function(a,b) {\n\t\treturn compareFn(sortKeys[a],sortKeys[b]);\n\t});\n\t// Make the results array in order\n\tvar results = [];\n\t$tw.utils.each(indexes,function(index) {\n\t\tresults.push(inputTitles[index]);\n\t});\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/splitbefore.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/splitbefore.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that splits each result on the first occurance of the specified separator and returns the unique values.\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.splitbefore = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar parts = title.split(operator.operand);\n\t\tif(parts.length === 1) {\n\t\t\t$tw.utils.pushTop(results,parts[0]);\n\t\t} else {\n\t\t\t$tw.utils.pushTop(results,parts[0] + operator.operand);\n\t\t}\n\t});\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/storyviews.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/storyviews.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the story views in this wiki\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.storyviews = function(source,operator,options) {\n\tvar results = [],\n\t\tstoryviews = {};\n\t$tw.modules.applyMethods(\"storyview\",storyviews);\n\t$tw.utils.each(storyviews,function(info,name) {\n\t\tresults.push(name);\n\t});\n\tresults.sort();\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/strings.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/strings.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operators for strings. Unary/binary operators work on each item in turn, and return a new item list.\n\nSum/product/maxall/minall operate on the entire list, returning a single item.\n\n\\*/\n\n\"use strict\";\n\nexports.length = makeStringBinaryOperator(\n\tfunction(a) {return [\"\" + (\"\" + a).length];}\n);\n\nexports.uppercase = makeStringBinaryOperator(\n\tfunction(a) {return [(\"\" + a).toUpperCase()];}\n);\n\nexports.lowercase = makeStringBinaryOperator(\n\tfunction(a) {return [(\"\" + a).toLowerCase()];}\n);\n\nexports.sentencecase = makeStringBinaryOperator(\n\tfunction(a) {return [$tw.utils.toSentenceCase(a)];}\n);\n\nexports.titlecase = makeStringBinaryOperator(\n\tfunction(a) {return [$tw.utils.toTitleCase(a)];}\n);\n\nexports.trim = function(source,operator,options) {\n\tvar result = [],\n\t\tsuffix = operator.suffix || \"\",\n\t\toperand = (operator.operand || \"\"),\n\t\tfnCalc;\n\tif(suffix === \"prefix\") {\n\t\tfnCalc = function(a,b) {return [$tw.utils.trimPrefix(a,b)];};\n\t} else if(suffix === \"suffix\") {\n\t\tfnCalc = function(a,b) {return [$tw.utils.trimSuffix(a,b)];};\n\t} else {\n\t\tif(operand === \"\") {\n\t\t\tfnCalc = function(a) {return [$tw.utils.trim(a)];};\n\t\t} else {\n\t\t\tfnCalc = function(a,b) {return [$tw.utils.trimSuffix($tw.utils.trimPrefix(a,b),b)];};\n\t\t}\n\t}\n\tsource(function(tiddler,title) {\n\t\tArray.prototype.push.apply(result,fnCalc(title,operand));\n\t});\n\treturn result;\n};\n\nexports.split = makeStringBinaryOperator(\n\tfunction(a,b) {return (\"\" + a).split(b);}\n);\n\nexports[\"enlist-input\"] = makeStringBinaryOperator(\n\tfunction(a,o,s) {return $tw.utils.parseStringArray(\"\" + a,(s === \"raw\"));}\n);\n\nexports.join = makeStringReducingOperator(\n\tfunction(accumulator,value,operand) {\n\t\tif(accumulator === null) {\n\t\t\treturn value;\n\t\t} else {\n\t\t\treturn accumulator + operand + value;\n\t\t}\n\t},null\n);\n\nconst dmp = require(\"$:/core/modules/utils/diff-match-patch/diff_match_patch.js\");\n\nexports.levenshtein = makeStringBinaryOperator(\n\tfunction(a,b) {\n\t\tconst diffs = dmp.diffMain(a,b);\n\t\treturn [dmp.diffLevenshtein(diffs).toString()];\n\t}\n);\n\n// this function is adapted from https://github.com/google/diff-match-patch/wiki/Line-or-Word-Diffs\nfunction diffLineWordMode(text1,text2,mode) {\n\tvar a = $tw.utils.diffPartsToChars(text1,text2,mode);\n\tvar lineText1 = a.chars1;\n\tvar lineText2 = a.chars2;\n\tvar lineArray = a.lineArray;\n\tvar diffs = dmp.diffMain(lineText1,lineText2,false);\n\tdmp.diffCharsToLines(diffs,lineArray);\n\treturn diffs;\n}\n\nexports.makepatches = function(source,operator,options) {\n\tvar suffix = operator.suffix || \"\",\n\t\tresult = [];\n\t\t\n\tsource(function(tiddler,title) {\n\t\tlet diffs, patches;\n\t\tif(suffix === \"lines\" || suffix === \"words\") {\n\t\t\tdiffs = diffLineWordMode(title,operator.operand,suffix);\n\t\t\tpatches = dmp.patchMake(title,diffs);\n\t\t} else {\n\t\t\tpatches = dmp.patchMake(title,operator.operand);\n\t\t}\n\t\tArray.prototype.push.apply(result,[dmp.patchToText(patches)]);\n\t});\n\n\treturn result;\n};\n\nexports.applypatches = makeStringBinaryOperator(\n\tfunction(a,b) {\n\t\tlet patches;\n\t\ttry {\n\t\t\tpatches = dmp.patchFromText(b);\n\t\t} catch(e) {\n\t\t}\n\t\tif(patches) {\n\t\t\treturn [dmp.patchApply(patches,a)[0]];\n\t\t} else {\n\t\t\treturn [a];\n\t\t}\n\t}\n);\n\nfunction makeStringBinaryOperator(fnCalc) {\n\treturn function(source,operator,options) {\n\t\tvar result = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tArray.prototype.push.apply(result,fnCalc(title,operator.operand || \"\",operator.suffix || \"\"));\n\t\t});\n\t\treturn result;\n\t};\n}\n\nfunction makeStringReducingOperator(fnCalc,initialValue) {\n\treturn function(source,operator,options) {\n\t\tvar result = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tresult.push(title);\n\t\t});\n\t\tif(result.length === 0) {\n\t\t\treturn [];\n\t\t}\n\t\treturn [result.reduce(function(accumulator,currentValue) {\n\t\t\treturn fnCalc(accumulator,currentValue,operator.operand || \"\");\n\t\t},initialValue) || \"\"];\n\t};\n}\n\nexports.splitregexp = function(source,operator,options) {\n\tvar result = [],\n\t\tsuffix = operator.suffix || \"\",\n\t\tflags = (suffix.indexOf(\"m\") !== -1 ? \"m\" : \"\") + (suffix.indexOf(\"i\") !== -1 ? \"i\" : \"\"),\n\t\tregExp;\n\ttry {\n\t\tregExp = new RegExp(operator.operand || \"\",flags);\n\t} catch(ex) {\n\t\treturn [\"RegExp error: \" + ex];\n\t}\n\tsource(function(tiddler,title) {\n\t\tvar parts = title.split(regExp).map(function(part){\n\t\t\treturn part || \"\";\t// make sure it's a string\n\t\t});\n\t\tArray.prototype.push.apply(result,parts);\n\t});\n\treturn result;\n};\n\nexports[\"search-replace\"] = function(source,operator,options) {\n\tvar results = [],\n\t\tsuffixes = operator.suffixes || [],\n\t\tflagSuffix = (suffixes[0] ? (suffixes[0][0] || \"\") : \"\"),\n\t\tflags = (flagSuffix.indexOf(\"g\") !== -1 ? \"g\" : \"\") + (flagSuffix.indexOf(\"i\") !== -1 ? \"i\" : \"\") + (flagSuffix.indexOf(\"m\") !== -1 ? \"m\" : \"\"),\n\t\tisRegExp = (suffixes[1] && suffixes[1][0] === \"regexp\") ? true : false,\n\t\t//Escape regexp characters if the operand is not a regular expression\n\t\tsearchTerm = isRegExp ? operator.operand : $tw.utils.escapeRegExp(operator.operand),\n\t\t//Escape $ character in replacement string if not in regular expression mode\n\t\treplacement = isRegExp ? operator.operands[1] : (operator.operands[1]||\"\").replace(/\\$/g,\"$$$$\"),\n\t\tregExp;\n\ttry {\n\t\tregExp = new RegExp(searchTerm,flags);\n\t} catch(ex) {\n\t\treturn [\"RegExp error: \" + ex];\n\t}\n\n\tsource(function(tiddler,title) {\n\t\tif(title && (operator.operands.length > 1)) {\n\t\t\tresults.push(\n\t\t\t\ttitle.replace(regExp,replacement)\n\t\t\t);\n\t\t\tregExp.lastIndex = 0;\n\t\t} else {\n\t\t\tresults.push(title);\n\t\t}\n\t});\n\treturn results;\n};\n\nexports.pad = function(source,operator,options) {\n\tvar results = [],\n\t\ttargetLength = operator.operand ? parseInt(operator.operand) : 0,\n\t\tfill = operator.operands[1] || \"0\";\n\n\tsource(function(tiddler,title) {\n\t\tif(title && title.length) {\n\t\t\tif(title.length >= targetLength) {\n\t\t\t\tresults.push(title);\n\t\t\t} else {\n\t\t\t\tvar padString = \"\",\n\t\t\t\t\tpadStringLength = targetLength - title.length;\n\t\t\t\twhile(padStringLength > padString.length) {\n\t\t\t\t\tpadString += fill;\n\t\t\t\t}\n\t\t\t\t//make sure we do not exceed the specified length\n\t\t\t\tpadString = padString.slice(0,padStringLength);\n\t\t\t\tif(operator.suffix && (operator.suffix === \"suffix\")) {\n\t\t\t\t\ttitle = title + padString;\n\t\t\t\t} else {\n\t\t\t\t\ttitle = padString + title;\n\t\t\t\t}\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\nexports.charcode = function(source,operator,options) {\n\tvar chars = [];\n\t$tw.utils.each(operator.operands,function(operand) {\n\t\tif(operand !== \"\") {\n\t\t\tchars.push(String.fromCharCode($tw.utils.parseInt(operand)));\n\t\t}\n\t});\n\treturn [chars.join(\"\")];\n};\n"
  },
  {
    "path": "core/modules/filters/subfilter.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/subfilter.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning its operand evaluated as a filter\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.subfilter = function(source,operator,options) {\n\tvar list = options.wiki.filterTiddlers(operator.operand,options.widget,source);\n\tif(operator.prefix === \"!\") {\n\t\tvar results = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t\treturn results;\n\t} else {\n\t\treturn list;\n\t}\n};\n"
  },
  {
    "path": "core/modules/filters/substitute.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/substitute.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for substituting variables and embedded filter expressions with their corresponding values\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.substitute = function(source,operator,options) {\n\tvar results = [],\n\t\toperands = [];\n\t$tw.utils.each(operator.operands,function(operand,index){\n\t\toperands.push({\n\t\t\tname: (index + 1).toString(),\n\t\t\tvalue: operand\n\t\t});\n\t});\n\tsource(function(tiddler,title) {\n\t\tif(title) {\n\t\t\tresults.push(options.wiki.getSubstitutedText(title,options.widget,{substitutions:operands}));\n\t\t}\n\t});\n\treturn results;\n};\n\n"
  },
  {
    "path": "core/modules/filters/subtiddlerfields.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/subtiddlerfields.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the fields on the selected subtiddlers of the plugin named in the operand\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.subtiddlerfields = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar subtiddler = options.wiki.getSubTiddler(operator.operand,title);\n\t\tif(subtiddler) {\n\t\t\tfor(var fieldName in subtiddler.fields) {\n\t\t\t\t$tw.utils.pushTop(results,fieldName);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/suffix.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/suffix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a title ends with a suffix\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.suffix = function(source,operator,options) {\n\tvar results = [],\n\t\tsuffixes = (operator.suffixes || [])[0] || [];\n\tif(!operator.operand) {\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.push(title);\n\t\t});\n\t} else if(suffixes.indexOf(\"caseinsensitive\") !== -1) {\n\t\tvar operand = operator.operand.toLowerCase();\n\t\tif(operator.prefix === \"!\") {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title.toLowerCase().substr(-operand.length) !== operand) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title.toLowerCase().substr(-operand.length) === operand) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} else {\n\t\tif(operator.prefix === \"!\") {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title.substr(-operator.operand.length) !== operator.operand) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title.substr(-operator.operand.length) === operator.operand) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/tag.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/tag.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking for the presence of a tag\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tag = function(source,operator,options) {\n\tvar results = [],indexedResults;\n\tif((operator.suffix || \"\").toLowerCase() === \"strict\" && !operator.operand) {\n\t\t// New semantics:\n\t\t// Always return copy of input if operator.operand is missing\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.push(title);\n\t\t});\n\t} else {\n\t\t// Old semantics:\n\t\tvar tiddlers;\n\t\tif(operator.prefix === \"!\") {\n\t\t\t// Returns a copy of the input if operator.operand is missing\n\t\t\ttiddlers = options.wiki.getTiddlersWithTag(operator.operand);\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddlers.indexOf(title) === -1) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\t// Returns empty results if operator.operand is missing\n\t\t\tif(source.byTag) {\n\t\t\t\tindexedResults = source.byTag(operator.operand);\n\t\t\t\tif(indexedResults) {\n\t\t\t\t\treturn indexedResults;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttiddlers = options.wiki.getTiddlersWithTag(operator.operand);\n\t\t\t\tsource(function(tiddler,title) {\n\t\t\t\t\tif(tiddlers.indexOf(title) !== -1) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tresults = options.wiki.sortByList(results,operator.operand);\n\t\t\t}\n\t\t}\n\t}\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/tagging.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/tagging.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all tiddlers that are tagged with the selected tiddlers\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tagging = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.getTiddlersWithTag(title));\n\t});\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/tags.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/tags.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all the tags of the selected tiddlers\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tags = function(source,operator,options) {\n\tvar tags = {};\n\tsource(function(tiddler,title) {\n\t\tvar t, length;\n\t\tif(tiddler && tiddler.fields.tags) {\n\t\t\tfor(t=0, length=tiddler.fields.tags.length; t<length; t++) {\n\t\t\t\ttags[tiddler.fields.tags[t]] = true;\n\t\t\t}\n\t\t}\n\t});\n\treturn Object.keys(tags);\n};\n"
  },
  {
    "path": "core/modules/filters/then.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/then.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for replacing any titles with a constant\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.then = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(operator.operand);\n\t});\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/title.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/title.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for comparing title fields for equality\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.title = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tvar titleList = operator.multiValueOperands[0] || [];\n\t\t\tif(tiddler && titleList.indexOf(tiddler.fields.title) === -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tArray.prototype.push.apply(results,operator.multiValueOperands[0]);\n\t}\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/transcludes.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/transcludes.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning all the transcludes from a tiddler\n\n\\*/\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.transcludes = function(source,operator,options) {\n\tvar results = new $tw.utils.LinkedList();\n\tsource(function(tiddler,title) {\n\t\tresults.pushTop(options.wiki.getTiddlerTranscludes(title));\n\t});\n\treturn results.makeTiddlerIterator(options.wiki);\n};\n"
  },
  {
    "path": "core/modules/filters/unknown.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/unknown.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for handling unknown filter operators.\n\nNot intended to be used directly by end users, hence the square brackets around the name.\n\n\\*/\n\n\"use strict\";\n\nvar fieldFilterOperatorFn = require(\"$:/core/modules/filters/field.js\").field;\n\n/*\nExport our filter function\n*/\nexports[\"[unknown]\"] = function(source,operator,options) {\n\t// Check for a user defined filter operator\n\tif(operator.operator.indexOf(\".\") !== -1) {\n\t\tvar params = [];\n\t\t$tw.utils.each(operator.multiValueOperands,function(paramList) {\n\t\t\tparams.push({value: paramList[0] || \"\",multiValue: paramList});\n\t\t});\t\n\t\tvar variableInfo = options.widget && options.widget.getVariableInfo && options.widget.getVariableInfo(operator.operator,{params: params, source: source});\n\t\tif(variableInfo && variableInfo.srcVariable) {\n\t\t\tvar list = variableInfo.resultList ? variableInfo.resultList : [variableInfo.text];\n\t\t\tif(operator.prefix === \"!\") {\n\t\t\t\tvar results = [];\n\t\t\t\tsource(function(tiddler,title) {\n\t\t\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn results;\n\t\t\t} else {\n\t\t\t\treturn list;\n\t\t\t}\n\t\t}\n\t}\n\t// Otherwise, use the \"field\" operator\n\treturn fieldFilterOperatorFn(source,operator,options);\n};\n"
  },
  {
    "path": "core/modules/filters/untagged.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/untagged.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all the selected tiddlers that are untagged\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.untagged = function(source,operator,options) {\n\tvar results = [],\n\t\texpected = (operator.prefix === \"!\");\n\tsource(function(tiddler,title) {\n\t\tif(((tiddler && $tw.utils.isArray(tiddler.fields.tags) && tiddler.fields.tags.length > 0) === expected) || (!tiddler && !expected)) {\n\t\t\tresults.push(title);\n\t\t}\n\t});\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/variables.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/variables.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the active variables\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.variables = function(source,operator,options) {\n\tvar names = [],\n\t\twidget = options.widget;\n\twhile(widget && !widget.hasOwnProperty(\"variables\")) {\n\t\twidget = widget.parentWidget;\n\t}\n\tif(widget && widget.variables) {\n\t\tfor(var variable in widget.variables) {\n\t\t\tnames.push(variable);\n\t\t}\n\t}\n\treturn names.sort();\n};"
  },
  {
    "path": "core/modules/filters/wikiparserrules.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/wikiparserrules.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the wiki parser rules in this wiki\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.wikiparserrules = function(source,operator,options) {\n\tvar results = [],\n\t\toperand = operator.operand;\n\t$tw.utils.each($tw.modules.types.wikirule,function(mod) {\n\t\tvar exp = mod.exports;\n\t\tif(!operand || exp.types[operand]) {\n\t\t\tresults.push(exp.name);\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n"
  },
  {
    "path": "core/modules/filters/x-listops.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/x-listops.js\ntype: application/javascript\nmodule-type: filteroperator\n\nExtended filter operators to manipulate the current list.\n\n\\*/\n\n\"use strict\";\n\n/*\n\tFetch titles from the current list\n\t*/\nvar prepare_results = function (source) {\n\tvar results = [];\n\tsource(function (tiddler, title) {\n\t\tresults.push(title);\n\t});\n\treturn results;\n};\n\n/*\n\tMoves a number of items from the tail of the current list before the item named in the operand\n\t*/\nexports.putbefore = function (source, operator) {\n\tvar results = prepare_results(source),\n\t\tindex = results.indexOf(operator.operand),\n\t\tcount = $tw.utils.getInt(operator.suffix,1);\n\treturn (index === -1) ?\n\t\tresults.slice(0, -1) :\n\t\tresults.slice(0, index).concat(results.slice(-count)).concat(results.slice(index, -count));\n};\n\n/*\n\tMoves a number of items from the tail of the current list after the item named in the operand\n\t*/\nexports.putafter = function (source, operator) {\n\tvar results = prepare_results(source),\n\t\tindex = results.indexOf(operator.operand),\n\t\tcount = $tw.utils.getInt(operator.suffix,1);\n\treturn (index === -1) ?\n\t\tresults.slice(0, -1) :\n\t\tresults.slice(0, index + 1).concat(results.slice(-count)).concat(results.slice(index + 1, -count));\n};\n\n/*\n\tReplaces the item named in the operand with a number of items from the tail of the current list\n\t*/\nexports.replace = function (source, operator) {\n\tvar results = prepare_results(source),\n\t\tindex = results.indexOf(operator.operand),\n\t\tcount = $tw.utils.getInt(operator.suffix,1);\n\treturn (index === -1) ?\n\t\tresults.slice(0, -count) :\n\t\tresults.slice(0, index).concat(results.slice(-count)).concat(results.slice(index + 1, -count));\n};\n\n/*\n\tMoves a number of items from the tail of the current list to the head of the list\n\t*/\nexports.putfirst = function (source, operator) {\n\tvar results = prepare_results(source),\n\t\tcount = $tw.utils.getInt(operator.suffix,1);\n\treturn results.slice(-count).concat(results.slice(0, -count));\n};\n\n/*\n\tMoves a number of items from the head of the current list to the tail of the list\n\t*/\nexports.putlast = function (source, operator) {\n\tvar results = prepare_results(source),\n\t\tcount = $tw.utils.getInt(operator.suffix,1);\n\treturn results.slice(count).concat(results.slice(0, count));\n};\n\n/*\n\tMoves the item named in the operand a number of places forward or backward in the list\n\t*/\nexports.move = function (source, operator) {\n\tvar results = prepare_results(source),\n\t\tindex = results.indexOf(operator.operand),\n\t\tcount = $tw.utils.getInt(operator.suffix,1),\n\t\tmarker = results.splice(index, 1),\n\t\toffset =  (index + count) > 0 ? index + count : 0;\n\treturn results.slice(0, offset).concat(marker).concat(results.slice(offset));\n};\n\n/*\n\tReturns the items from the current list that are after the item named in the operand\n\t*/\nexports.allafter = function (source, operator) {\n\tvar results = prepare_results(source),\n\t\tindex = results.indexOf(operator.operand);\n\treturn (index === -1) ? [] :\n\t\t(operator.suffix) ? results.slice(index) :\n\t\t\tresults.slice(index + 1);\n};\n\n/*\n\tReturns the items from the current list that are before the item named in the operand\n\t*/\nexports.allbefore = function (source, operator) {\n\tvar results = prepare_results(source),\n\t\tindex = results.indexOf(operator.operand);\n\treturn (index === -1) ? [] :\n\t\t(operator.suffix) ? results.slice(0, index + 1) :\n\t\t\tresults.slice(0, index);\n};\n\n/*\n\tAppends the items listed in the operand array to the tail of the current list\n\t*/\nexports.append = function (source, operator) {\n\tvar append = $tw.utils.parseStringArray(operator.operand, \"true\"),\n\t\tresults = prepare_results(source),\n\t\tcount = parseInt(operator.suffix) || append.length;\n\treturn (append.length === 0) ? results :\n\t\t(operator.prefix) ? results.concat(append.slice(-count)) :\n\t\t\tresults.concat(append.slice(0, count));\n};\n\n/*\n\tPrepends the items listed in the operand array to the head of the current list\n\t*/\nexports.prepend = function (source, operator) {\n\tvar prepend = $tw.utils.parseStringArray(operator.operand, \"true\"),\n\t\tresults = prepare_results(source),\n\t\tcount = $tw.utils.getInt(operator.suffix,prepend.length);\n\treturn (prepend.length === 0) ? results :\n\t\t(operator.prefix) ? prepend.slice(-count).concat(results) :\n\t\t\tprepend.slice(0, count).concat(results);\n};\n\n/*\n\tReturns all items from the current list except the items listed in the operand array\n\t*/\nexports.remove = function (source, operator) {\n\tvar array = $tw.utils.parseStringArray(operator.operand, \"true\"),\n\t\tresults = prepare_results(source),\n\t\tcount = parseInt(operator.suffix) || array.length,\n\t\tp,\n\t\tlen,\n\t\tindex;\n\tlen = array.length - 1;\n\tfor(p = 0; p < count; ++p) {\n\t\tif(operator.prefix) {\n\t\t\tindex = results.indexOf(array[len - p]);\n\t\t} else {\n\t\t\tindex = results.indexOf(array[p]);\n\t\t}\n\t\tif(index !== -1) {\n\t\t\tresults.splice(index, 1);\n\t\t}\n\t}\n\treturn results;\n};\n\n/*\n\tReturns all items from the current list sorted in the order of the items in the operand array\n\t*/\nexports.sortby = function (source, operator) {\n\tvar results = prepare_results(source);\n\tif(!results || results.length < 2) {\n\t\treturn results;\n\t}\n\tvar lookup = $tw.utils.parseStringArray(operator.operand, \"true\");\n\tresults.sort(function (a, b) {\n\t\treturn lookup.indexOf(a) - lookup.indexOf(b);\n\t});\n\treturn results;\n};\n\n/*\n\tRemoves all duplicate items from the current list\n\t*/\nexports.unique = function (source, operator) {\n\tvar results = prepare_results(source);\n\tvar set = results.reduce(function (a, b) {\n\t\tif(a.indexOf(b) < 0) {\n\t\t\ta.push(b);\n\t\t}\n\t\treturn a;\n\t}, []);\n\treturn set;\n};\n\nvar cycleValueInArray = function(results,operands,stepSize) {\n\tvar resultsIndex,\n\t\tstep = stepSize || 1,\n\t\ti = 0,\n\t\topLength = operands.length,\n\t\tnextOperandIndex;\n\tfor(i; i < opLength; i++) {\n\t\tresultsIndex = results.indexOf(operands[i]);\n\t\tif(resultsIndex !== -1) {\n\t\t\tbreak;\n\t\t}\n\t}\n\tif(resultsIndex !== -1) {\n\t\ti = i + step;\n\t\tnextOperandIndex = (i < opLength ? i : i % opLength);\n\t\tif(operands.length > 1) {\n\t\t\tresults.splice(resultsIndex,1,operands[nextOperandIndex]);\n\t\t} else {\n\t\t\tresults.splice(resultsIndex,1);\n\t\t}\n\t} else {\n\t\tresults.push(operands[0]);\n\t}\n\treturn results;\n};\n\n/*\n\tToggles an item in the current list.\n\t*/\nexports.toggle = function(source,operator) {\n\treturn cycleValueInArray(prepare_results(source),operator.operands);\n};\n\nexports.cycle = function(source,operator) {\n\tvar results = prepare_results(source),\n\t\toperands = (operator.operand.length ? $tw.utils.parseStringArray(operator.operand, \"true\") : [\"\"]),\n\t\tstep = $tw.utils.getInt(operator.operands[1]||\"\",1);\n\tif(step < 0) {\n\t\toperands.reverse();\n\t\tstep = Math.abs(step);\n\t}\n\treturn cycleValueInArray(results,operands,step);\n};\n"
  },
  {
    "path": "core/modules/filters.js",
    "content": "/*\\\ntitle: $:/core/modules/filters.js\ntype: application/javascript\nmodule-type: wikimethod\n\nAdds tiddler filtering methods to the $tw.Wiki object.\n\n\\*/\n\n\"use strict\";\n\nvar widgetClass = require(\"$:/core/modules/widgets/widget.js\").widget;\n\n/* Maximum permitted filter recursion depth */\nvar MAX_FILTER_DEPTH = 300;\n\n/*\nParses an operation (i.e. a run) within a filter string\n\toperators: Array of array of operator nodes into which results should be inserted\n\tfilterString: filter string\n\tp: start position within the string\nReturns the new start position, after the parsed operation\n*/\nfunction parseFilterOperation(operators,filterString,p) {\n\tvar nextBracketPos, operator;\n\t// Skip the starting square bracket\n\tif(filterString.charAt(p++) !== \"[\") {\n\t\tthrow \"Missing [ in filter expression\";\n\t}\n\t// Process each operator in turn\n\tdo {\n\t\toperator = {};\n\t\t// Check for an operator prefix\n\t\tif(filterString.charAt(p) === \"!\") {\n\t\t\toperator.prefix = filterString.charAt(p++);\n\t\t}\n\t\t// Get the operator name\n\t\tnextBracketPos = filterString.substring(p).search(/[\\[\\{<\\/\\(]/);\n\t\tif(nextBracketPos === -1) {\n\t\t\tthrow \"Missing [ in filter expression\";\n\t\t}\n\t\tnextBracketPos += p;\n\t\tvar bracket = filterString.charAt(nextBracketPos);\n\t\toperator.operator = filterString.substring(p,nextBracketPos);\n\t\t// Any suffix?\n\t\tvar colon = operator.operator.indexOf(\":\");\n\t\tif(colon > -1) {\n\t\t\t// The raw suffix for older filters\n\t\t\toperator.suffix = operator.operator.substring(colon + 1);\n\t\t\toperator.operator = operator.operator.substring(0,colon) || \"field\";\n\t\t\t// The processed suffix for newer filters\n\t\t\toperator.suffixes = [];\n\t\t\t$tw.utils.each(operator.suffix.split(\":\"),function(subsuffix) {\n\t\t\t\toperator.suffixes.push([]);\n\t\t\t\t$tw.utils.each(subsuffix.split(\",\"),function(entry) {\n\t\t\t\t\tentry = $tw.utils.trim(entry);\n\t\t\t\t\tif(entry) {\n\t\t\t\t\t\toperator.suffixes[operator.suffixes.length - 1].push(entry); \n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t\t// Empty operator means: title\n\t\telse if(operator.operator === \"\") {\n\t\t\toperator.operator = \"title\";\n\t\t}\n\t\toperator.operands = [];\n\t\tvar parseOperand = function(bracketType) {\n\t\t\tvar operand = {};\n\t\t\tswitch(bracketType) {\n\t\t\t\tcase \"{\": // Curly brackets\n\t\t\t\t\toperand.indirect = true;\n\t\t\t\t\tnextBracketPos = filterString.indexOf(\"}\",p);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"[\": // Square brackets\n\t\t\t\t\tnextBracketPos = filterString.indexOf(\"]\",p);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"<\": // Angle brackets\n\t\t\t\t\toperand.variable = true;\n\t\t\t\t\tnextBracketPos = filterString.indexOf(\">\",p);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"(\": // Round brackets\n\t\t\t\t\toperand.multiValuedVariable = true;\n\t\t\t\t\tnextBracketPos = filterString.indexOf(\")\",p);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"/\": // regexp brackets\n\t\t\t\t\tvar rex = /^((?:[^\\\\\\/]|\\\\.)*)\\/(?:\\(([mygi]+)\\))?/g,\n\t\t\t\t\t\trexMatch = rex.exec(filterString.substring(p));\n\t\t\t\t\tif(rexMatch) {\n\t\t\t\t\t\toperator.regexp = new RegExp(rexMatch[1], rexMatch[2]);\n\t\t\t\t\t\t// DEPRECATION WARNING\n\t\t\t\t\t\tconsole.log(\"WARNING: Filter\",operator.operator,\"has a deprecated regexp operand\",operator.regexp);\n\t\t\t\t\t\tnextBracketPos = p + rex.lastIndex - 1;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthrow \"Unterminated regular expression in filter expression\";\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif(nextBracketPos === -1) {\n\t\t\t\tthrow \"Missing closing bracket in filter expression\";\n\t\t\t}\n\t\t\tif(operator.regexp) {\n\t\t\t\toperand.text = \"\";\n\t\t\t} else {\n\t\t\t\toperand.text = filterString.substring(p,nextBracketPos);\n\t\t\t}\n\t\t\toperator.operands.push(operand);\n\t\t\tp = nextBracketPos + 1;\n\t\t};\n\n\t\tp = nextBracketPos + 1;\n\t\tparseOperand(bracket);\n\n\t\t// Check for multiple operands\n\t\twhile(filterString.charAt(p) === \",\") {\n\t\t\tp++;\n\t\t\tif(/^[\\[\\{<\\/\\(]/.test(filterString.substring(p))) {\n\t\t\t\tnextBracketPos = p;\n\t\t\t\tp++;\n\t\t\t\tparseOperand(filterString.charAt(nextBracketPos));\n\t\t\t} else {\n\t\t\t\tthrow \"Missing [ in filter expression\";\n\t\t\t}\n\t\t}\n\n\t\t// Push this operator\n\t\toperators.push(operator);\n\t} while(filterString.charAt(p) !== \"]\");\n\t// Skip the ending square bracket\n\tif(filterString.charAt(p++) !== \"]\") {\n\t\tthrow \"Missing ] in filter expression\";\n\t}\n\t// Return the parsing position\n\treturn p;\n}\n\n/*\nParse a filter string\n*/\nexports.parseFilter = function(filterString) {\n\tfilterString = filterString || \"\";\n\tvar results = [], // Array of arrays of operator nodes {operator:,operand:}\n\t\tp = 0, // Current position in the filter string\n\t\tmatch;\n\tvar whitespaceRegExp = /(\\s+)/mg,\n\t\t// Groups:\n\t\t// 1 - entire filter run prefix\n\t\t// 2 - filter run prefix itself\n\t\t// 3 - filter run prefix suffixes\n\t\t// 4 - opening square bracket following filter run prefix\n\t\t// 5 - double quoted string following filter run prefix\n\t\t// 6 - single quoted string following filter run prefix\n\t\t// 7 - anything except for whitespace and square brackets\n\t\toperandRegExp = /((?:\\+|\\-|~|(?:=>?)|\\:(\\w+)(?:\\:([\\w\\:, ]*))?)?)(?:(\\[)|(?:\"([^\"]*)\")|(?:'([^']*)')|([^\\s\\[\\]]+))/mg;\n\twhile(p < filterString.length) {\n\t\t// Skip any whitespace\n\t\twhitespaceRegExp.lastIndex = p;\n\t\tmatch = whitespaceRegExp.exec(filterString);\n\t\tif(match && match.index === p) {\n\t\t\tp = p + match[0].length;\n\t\t}\n\t\t// Match the start of the operation\n\t\tif(p < filterString.length) {\n\t\t\toperandRegExp.lastIndex = p;\n\t\t\tvar operation = {\n\t\t\t\tprefix: \"\",\n\t\t\t\toperators: []\n\t\t\t};\n\t\t\tmatch = operandRegExp.exec(filterString);\n\t\t\tif(match && match.index === p) {\n\t\t\t\t// If there is a filter run prefix\n\t\t\t\tif(match[1]) {\n\t\t\t\t\toperation.prefix = match[1];\n\t\t\t\t\tp = p + operation.prefix.length;\n\t\t\t\t\t// Name for named prefixes\n\t\t\t\t\tif(match[2]) {\n\t\t\t\t\t\toperation.namedPrefix = match[2];\n\t\t\t\t\t}\n\t\t\t\t\t// Suffixes for filter run prefix\n\t\t\t\t\tif(match[3]) {\n\t\t\t\t\t\toperation.suffixes = [];\n\t\t\t\t\t\t$tw.utils.each(match[3].split(\":\"),function(subsuffix) {\n\t\t\t\t\t\t\toperation.suffixes.push([]);\n\t\t\t\t\t\t\t$tw.utils.each(subsuffix.split(\",\"),function(entry) {\n\t\t\t\t\t\t\t\tentry = $tw.utils.trim(entry);\n\t\t\t\t\t\t\t\tif(entry) {\n\t\t\t\t\t\t\t\t\toperation.suffixes[operation.suffixes.length -1].push(entry);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Opening square bracket\n\t\t\t\tif(match[4]) {\n\t\t\t\t\tp = parseFilterOperation(operation.operators,filterString,p);\n\t\t\t\t} else {\n\t\t\t\t\tp = match.index + match[0].length;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// No filter run prefix\n\t\t\t\tp = parseFilterOperation(operation.operators,filterString,p);\n\t\t\t}\n\t\t\t// Quoted strings and unquoted title\n\t\t\tif(match[5] || match[6] || match[7]) { // Double quoted string, single quoted string or unquoted title\n\t\t\t\toperation.operators.push(\n\t\t\t\t\t{operator: \"title\", operands: [{text: match[5] || match[6] || match[7]}]}\n\t\t\t\t);\n\t\t\t}\n\t\t\tresults.push(operation);\n\t\t}\n\t}\n\treturn results;\n};\n\nexports.getFilterOperators = function() {\n\tif(!this.filterOperators) {\n\t\t$tw.Wiki.prototype.filterOperators = {};\n\t\t$tw.modules.applyMethods(\"filteroperator\",this.filterOperators);\n\t}\n\treturn this.filterOperators;\n};\n\nexports.getFilterRunPrefixes = function() {\n\tif(!this.filterRunPrefixes) {\n\t\t$tw.Wiki.prototype.filterRunPrefixes = {};\n\t\t$tw.modules.applyMethods(\"filterrunprefix\",this.filterRunPrefixes);\n\t}\n\treturn this.filterRunPrefixes;\n};\n\nexports.filterTiddlers = function(filterString,widget,source) {\n\tvar fn = this.compileFilter(filterString);\n\treturn fn.call(this,source,widget);\n};\n\n/*\nCompile a filter into a function with the signature fn(source,widget) where:\nsource: an iterator function for the source tiddlers, called source(iterator), where iterator is called as iterator(tiddler,title)\nwidget: an optional widget node for retrieving the current tiddler etc.\n*/\nexports.compileFilter = function(filterString) {\n\tif(!this.filterCache) {\n\t\tthis.filterCache = Object.create(null);\n\t\tthis.filterCacheCount = 0;\n\t}\n\tif(this.filterCache[filterString] !== undefined) {\n\t\treturn this.filterCache[filterString];\n\t}\n\tvar filterParseTree;\n\ttry {\n\t\tfilterParseTree = this.parseFilter(filterString);\n\t} catch(e) {\n\t\t// We do not cache this result, so it adjusts along with localization changes\n\t\treturn function(source,widget) {\n\t\t\treturn [$tw.language.getString(\"Error/Filter\") + \": \" + e];\n\t\t};\n\t}\n\t// Get the hashmap of filter operator functions\n\tvar filterOperators = this.getFilterOperators();\n\t// Assemble array of functions, one for each operation\n\tvar operationFunctions = [];\n\t// Step through the operations\n\tvar self = this;\n\t$tw.utils.each(filterParseTree,function(operation) {\n\t\t// Create a function for the chain of operators in the operation\n\t\tvar operationSubFunction = function(source,widget) {\n\t\t\tvar accumulator = source,\n\t\t\t\tresults = [];\n\t\t\t$tw.utils.each(operation.operators,function(operator) {\n\t\t\t\tvar operands = [],\n\t\t\t\t\tmultiValueOperands = [],\n\t\t\t\t\tisMultiValueOperand = [],\n\t\t\t\t\toperatorFunction;\n\t\t\t\tif(!operator.operator) {\n\t\t\t\t\t// Use the \"title\" operator if no operator is specified\n\t\t\t\t\toperatorFunction = filterOperators.title;\n\t\t\t\t} else if(!filterOperators[operator.operator]) {\n\t\t\t\t\t// Unknown operators treated as \"[unknown]\" - at run time we can distinguish between a custom operator and falling back to the default \"field\" operator\n\t\t\t\t\toperatorFunction = filterOperators[\"[unknown]\"];\n\t\t\t\t} else {\n\t\t\t\t\t// Use the operator function\n\t\t\t\t\toperatorFunction = filterOperators[operator.operator];\n\t\t\t\t}\n\t\t\t\t$tw.utils.each(operator.operands,function(operand) {\n\t\t\t\t\tif(operand.indirect) {\n\t\t\t\t\t\tvar currTiddlerTitle = widget && widget.getVariable(\"currentTiddler\");\n\t\t\t\t\t\toperand.value = self.getTextReference(operand.text,\"\",currTiddlerTitle);\n\t\t\t\t\t\toperand.multiValue = [operand.value];\n\t\t\t\t\t} else if(operand.variable) {\n\t\t\t\t\t\tvar varTree = $tw.utils.parseFilterVariable(operand.text);\n\t\t\t\t\t\toperand.value = widgetClass.evaluateVariable(widget,varTree.name,{params: varTree.params, source: source})[0] || \"\";\n\t\t\t\t\t\toperand.multiValue = [operand.value];\n\t\t\t\t\t} else if(operand.multiValuedVariable) {\n\t\t\t\t\t\tvar varTree = $tw.utils.parseFilterVariable(operand.text);\n\t\t\t\t\t\tvar resultList = widgetClass.evaluateVariable(widget,varTree.name,{params: varTree.params, source: source});\n\t\t\t\t\t\tif((resultList.length > 0 && resultList[0] !== undefined) || resultList.length === 0) {\n\t\t\t\t\t\t\toperand.multiValue = widgetClass.evaluateVariable(widget,varTree.name,{params: varTree.params, source: source}) || [];\n\t\t\t\t\t\t\toperand.value = operand.multiValue[0] || \"\";\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\toperand.value = \"\";\n\t\t\t\t\t\t\toperand.multiValue = [];\n\t\t\t\t\t\t}\n\t\t\t\t\t\toperand.isMultiValueOperand = true;\t\n\t\t\t\t\t} else {\n\t\t\t\t\t\toperand.value = operand.text;\n\t\t\t\t\t\toperand.multiValue = [operand.value];\n\t\t\t\t\t}\n\t\t\t\t\toperands.push(operand.value);\n\t\t\t\t\tmultiValueOperands.push(operand.multiValue);\n\t\t\t\t\tisMultiValueOperand.push(!!operand.isMultiValueOperand);\n\t\t\t\t});\n\n\t\t\t\t// Invoke the appropriate filteroperator module\n\t\t\t\tresults = operatorFunction(accumulator,{\n\t\t\t\t\toperator: operator.operator,\n\t\t\t\t\toperand: operands.length > 0 ? operands[0] : undefined,\n\t\t\t\t\toperands: operands,\n\t\t\t\t\tmultiValueOperands: multiValueOperands,\n\t\t\t\t\tisMultiValueOperand: isMultiValueOperand,\n\t\t\t\t\tprefix: operator.prefix,\n\t\t\t\t\tsuffix: operator.suffix,\n\t\t\t\t\tsuffixes: operator.suffixes,\n\t\t\t\t\tregexp: operator.regexp\n\t\t\t\t},{\n\t\t\t\t\twiki: self,\n\t\t\t\t\twidget: widget\n\t\t\t\t});\n\t\t\t\tif($tw.utils.isArray(results)) {\n\t\t\t\t\taccumulator = self.makeTiddlerIterator(results);\n\t\t\t\t} else {\n\t\t\t\t\taccumulator = results;\n\t\t\t\t}\n\t\t\t});\n\t\t\tif($tw.utils.isArray(results)) {\n\t\t\t\treturn results;\n\t\t\t} else {\n\t\t\t\tvar resultArray = [];\n\t\t\t\tresults(function(tiddler,title) {\n\t\t\t\t\tresultArray.push(title);\n\t\t\t\t});\n\t\t\t\treturn resultArray;\n\t\t\t}\n\t\t};\n\t\tvar filterRunPrefixes = self.getFilterRunPrefixes();\n\t\t// Wrap the operator functions in a wrapper function that depends on the prefix\n\t\toperationFunctions.push((function() {\n\t\t\tvar options = {wiki: self, suffixes: operation.suffixes || []};\n\t\t\tswitch(operation.prefix || \"\") {\n\t\t\t\tcase \"\": // No prefix means that the operation is unioned into the result\n\t\t\t\t\treturn filterRunPrefixes[\"or\"](operationSubFunction, options);\n\t\t\t\tcase \"=\": // The results of the operation are pushed into the result without deduplication\n\t\t\t\t\treturn filterRunPrefixes[\"all\"](operationSubFunction, options);\n\t\t\t\tcase \"-\": // The results of this operation are removed from the main result\n\t\t\t\t\treturn filterRunPrefixes[\"except\"](operationSubFunction, options);\n\t\t\t\tcase \"+\": // This operation is applied to the main results so far\n\t\t\t\t\treturn filterRunPrefixes[\"and\"](operationSubFunction, options);\n\t\t\t\tcase \"~\": // This operation is unioned into the result only if the main result so far is empty\n\t\t\t\t\treturn filterRunPrefixes[\"else\"](operationSubFunction, options);\n\t\t\t\tcase \"=>\": // This operation is applied to the main results so far, and the results are assigned to a variable\n\t\t\t\t\treturn filterRunPrefixes[\"let\"](operationSubFunction, options);\n\t\t\t\tdefault: \n\t\t\t\t\tif(operation.namedPrefix && filterRunPrefixes[operation.namedPrefix]) {\n\t\t\t\t\t\treturn filterRunPrefixes[operation.namedPrefix](operationSubFunction, options);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn function(results,source,widget) {\n\t\t\t\t\t\t\tresults.clear();\n\t\t\t\t\t\t\tresults.push($tw.language.getString(\"Error/FilterRunPrefix\"));\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t}\n\t\t})());\n\t});\n\t// Return a function that applies the operations to a source iterator of tiddler titles\n\tvar fnMeasured = $tw.perf.measure(\"filter: \" + filterString,function filterFunction(source,widget) {\n\t\tif(!source) {\n\t\t\tsource = self.each;\n\t\t} else if(typeof source === \"object\") { // Array or hashmap\n\t\t\tsource = self.makeTiddlerIterator(source);\n\t\t}\n\t\tif(!widget) {\n\t\t\twidget = $tw.rootWidget;\n\t\t}\n\t\tvar results = new $tw.utils.LinkedList();\n\t\tself.filterRecursionCount = (self.filterRecursionCount || 0) + 1;\n\t\tif(self.filterRecursionCount < MAX_FILTER_DEPTH) {\n\t\t\t$tw.utils.each(operationFunctions,function(operationFunction) {\n\t\t\t\tvar operationResult = operationFunction(results,source,widget);\n\t\t\t\tif(operationResult) {\n\t\t\t\t\tif(operationResult.variables) {\n\t\t\t\t\t\t// If the filter run prefix has returned variables, create a new fake widget with those variables\n\t\t\t\t\t\twidget = widget.makeFakeWidgetWithVariables(operationResult.variables);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tresults.push(\"/**-- Excessive filter recursion --**/\");\n\t\t}\n\t\tself.filterRecursionCount = self.filterRecursionCount - 1;\n\t\treturn results.toArray();\n\t});\n\tif(this.filterCacheCount >= 2000) {\n\t\t// To prevent memory leak, we maintain an upper limit for cache size.\n\t\t// Reset if exceeded. This should give us 95% of the benefit\n\t\t// that no cache limit would give us.\n\t\tthis.filterCache = Object.create(null);\n\t\tthis.filterCacheCount = 0;\n\t}\n\tthis.filterCache[filterString] = fnMeasured;\n\tthis.filterCacheCount++;\n\treturn fnMeasured;\n};\n"
  },
  {
    "path": "core/modules/indexers/back-indexer.js",
    "content": "/*\\\ntitle: $:/core/modules/indexers/back-indexer.js\ntype: application/javascript\nmodule-type: indexer\n\nBy parsing the tiddler text, indexes the tiddlers' back links, back transclusions, block level back links.\n\n\\*/\nfunction BackIndexer(wiki) {\n\tthis.wiki = wiki;\n}\n\nBackIndexer.prototype.init = function() {\n\tthis.subIndexers = {\n\t\tlink: new BackSubIndexer(this,\"extractLinks\"),\n\t\ttransclude: new BackSubIndexer(this,\"extractTranscludes\"),\n\t};\n};\n\nBackIndexer.prototype.rebuild = function() {\n\t$tw.utils.each(this.subIndexers,function(subIndexer) {\n\t\tsubIndexer.rebuild();\n\t});\n};\n\nBackIndexer.prototype.update = function(updateDescriptor) {\n\t$tw.utils.each(this.subIndexers,function(subIndexer) {\n\t\tsubIndexer.update(updateDescriptor);\n\t});\n};\nfunction BackSubIndexer(indexer,extractor) {\n\tthis.wiki = indexer.wiki;\n\tthis.indexer = indexer;\n\tthis.extractor = extractor;\n\t/**\n\t * {\n\t *   [target title, e.g. tiddler title being linked to]:\n\t *     {\n\t * \t\t   [source title, e.g. tiddler title that has link syntax in its text]: true\n\t * \t   }\n\t * }\n\t */\n\tthis.index = null;\n}\n\nBackSubIndexer.prototype.init = function() {\n\t// lazy init until first lookup\n\tthis.index = null;\n};\n\nBackSubIndexer.prototype._init = function() {\n\tthis.index = Object.create(null);\n\tvar self = this;\n\tthis.wiki.forEachTiddler(function(sourceTitle,tiddler) {\n\t\tvar newTargets = self._getTarget(tiddler);\n\t\t$tw.utils.each(newTargets, function(target) {\n\t\t\tif(!self.index[target]) {\n\t\t\t\tself.index[target] = Object.create(null);\n\t\t\t}\n\t\t\tself.index[target][sourceTitle] = true;\n\t\t});\n\t});\n};\n\nBackSubIndexer.prototype.rebuild = function() {\n\tthis.index = null;\n};\n\n/*\n* Get things that is being referenced in the text, e.g. tiddler names in the link syntax.\n*/\nBackSubIndexer.prototype._getTarget = function(tiddler) {\n\tif(this.wiki.isBinaryTiddler(tiddler.fields.text)) {\n\t\treturn [];\n\t}\n\tvar parser = this.wiki.parseText(tiddler.fields.type, tiddler.fields.text, {});\n\tif(parser) {\n\t\treturn this.wiki[this.extractor](parser.tree, tiddler.fields.title);\n\t}\n\treturn [];\n};\n\nBackSubIndexer.prototype.update = function(updateDescriptor) {\n\t// lazy init/update until first lookup\n\tif(!this.index) {\n\t\treturn;\n\t}\n\tvar newTargets = [],\n\t\toldTargets = [],\n\t\tself = this;\n\tif(updateDescriptor.old.exists) {\n\t\toldTargets = this._getTarget(updateDescriptor.old.tiddler);\n\t}\n\tif(updateDescriptor.new.exists) {\n\t\tnewTargets = this._getTarget(updateDescriptor.new.tiddler);\n\t}\n\n\t$tw.utils.each(oldTargets,function(target) {\n\t\tif(self.index[target]) {\n\t\t\tdelete self.index[target][updateDescriptor.old.tiddler.fields.title];\n\t\t}\n\t});\n\t$tw.utils.each(newTargets,function(target) {\n\t\tif(!self.index[target]) {\n\t\t\tself.index[target] = Object.create(null);\n\t\t}\n\t\tself.index[target][updateDescriptor.new.tiddler.fields.title] = true;\n\t});\n};\n\nBackSubIndexer.prototype.lookup = function(title) {\n\tif(!this.index) {\n\t\tthis._init();\n\t}\n\tif(this.index[title]) {\n\t\treturn Object.keys(this.index[title]);\n\t} else {\n\t\treturn [];\n\t}\n};\n\nexports.BackIndexer = BackIndexer;\n"
  },
  {
    "path": "core/modules/indexers/field-indexer.js",
    "content": "/*\\\ntitle: $:/core/modules/indexers/field-indexer.js\ntype: application/javascript\nmodule-type: indexer\n\nIndexes the tiddlers with each field value\n\n\\*/\n\n\"use strict\";\n\nvar DEFAULT_MAXIMUM_INDEXED_VALUE_LENGTH = 128;\n\nfunction FieldIndexer(wiki) {\n\tthis.wiki = wiki;\n}\n\nFieldIndexer.prototype.init = function() {\n\tthis.index = null;\n\tthis.maxIndexedValueLength = DEFAULT_MAXIMUM_INDEXED_VALUE_LENGTH;\n\tthis.addIndexMethods();\n};\n\n// Provided for testing\nFieldIndexer.prototype.setMaxIndexedValueLength = function(length) {\n\tthis.index = null;\n\tthis.maxIndexedValueLength = length;\n};\n\nFieldIndexer.prototype.addIndexMethods = function() {\n\tvar self = this;\n\t// get all tiddlers, including those overwrite shadow tiddlers\n\tthis.wiki.each.byField = function(name,value) {\n\t\tvar lookup = self.lookup(name,value);\n\t\treturn lookup && lookup.filter(function(title) {\n\t\t\treturn self.wiki.tiddlerExists(title);\n\t\t});\n\t};\n\t// get shadow tiddlers, including shadow tiddlers that is overwritten\n\tthis.wiki.eachShadow.byField = function(name,value) {\n\t\tvar lookup = self.lookup(name,value);\n\t\treturn lookup && lookup.filter(function(title) {\n\t\t\treturn self.wiki.isShadowTiddler(title);\n\t\t});\n\t};\n\tthis.wiki.eachTiddlerPlusShadows.byField = function(name,value) {\n\t\tvar lookup = self.lookup(name,value);\n\t\treturn lookup ? lookup.slice(0) : null;\n\t};\n\tthis.wiki.eachShadowPlusTiddlers.byField = function(name,value) {\n\t\tvar lookup = self.lookup(name,value);\n\t\treturn lookup ? lookup.slice(0) : null;\n\t};\n};\n\n/*\nTear down and then rebuild the index as if all tiddlers have changed\n*/\nFieldIndexer.prototype.rebuild = function() {\n\t// Invalidate the index so that it will be rebuilt when it is next used\n\tthis.index = null;\n};\n\n/*\nBuild the index for a particular field\n*/\nFieldIndexer.prototype.buildIndexForField = function(name) {\n\tvar self = this;\n\t// Hashmap by field name of hashmap by field value of array of tiddler titles\n\tthis.index = this.index || Object.create(null);\n\tthis.index[name] = Object.create(null);\n\tvar baseIndex = this.index[name];\n\t// Update the index for each tiddler\n\tthis.wiki.eachTiddlerPlusShadows(function(tiddler,title) {\n\t\tif(name in tiddler.fields) {\n\t\t\tvar value = tiddler.getFieldString(name);\n\t\t\t// Skip any values above the maximum length\n\t\t\tif(value.length < self.maxIndexedValueLength) {\n\t\t\t\tbaseIndex[value] = baseIndex[value] || [];\n\t\t\t\tbaseIndex[value].push(title);\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nUpdate the index in the light of a tiddler value changing; note that the title must be identical. (Renames are handled as a separate delete and create)\nupdateDescriptor: {old: {tiddler: <tiddler>, shadow: <boolean>, exists: <boolean>},new: {tiddler: <tiddler>, shadow: <boolean>, exists: <boolean>}}\n*/\nFieldIndexer.prototype.update = function(updateDescriptor) {\n\tvar self = this;\n\t// Don't do anything if the index hasn't been built yet\n\tif(this.index === null) {\n\t\treturn;\n\t}\n\t// Remove the old tiddler from the index\n\tif(updateDescriptor.old.tiddler) {\n\t\t$tw.utils.each(this.index,function(indexEntry,name) {\n\t\t\tif(name in updateDescriptor.old.tiddler.fields) {\n\t\t\t\tvar value = updateDescriptor.old.tiddler.getFieldString(name),\n\t\t\t\t\ttiddlerList = indexEntry[value];\n\t\t\t\tif(tiddlerList) {\n\t\t\t\t\tvar index = tiddlerList.indexOf(updateDescriptor.old.tiddler.fields.title);\n\t\t\t\t\tif(index !== -1) {\n\t\t\t\t\t\ttiddlerList.splice(index,1);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\t// Add the new tiddler to the index\n\tif(updateDescriptor[\"new\"].tiddler) {\n\t\t$tw.utils.each(this.index,function(indexEntry,name) {\n\t\t\tif(name in updateDescriptor[\"new\"].tiddler.fields) {\n\t\t\t\tvar value = updateDescriptor[\"new\"].tiddler.getFieldString(name);\n\t\t\t\tif(value.length < self.maxIndexedValueLength) {\n\t\t\t\t\tindexEntry[value] = indexEntry[value] || [];\n\t\t\t\t\tindexEntry[value].push(updateDescriptor[\"new\"].tiddler.fields.title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n};\n\n// Lookup the given field returning a list of tiddler titles\nFieldIndexer.prototype.lookup = function(name,value) {\n\t// Fail the lookup if the value is too long\n\tif(value.length >= this.maxIndexedValueLength) {\n\t\treturn null;\n\t}\n\t// Update the index if it has yet to be built\n\tif(this.index === null || !this.index[name]) {\n\t\tthis.buildIndexForField(name);\n\t}\n\treturn this.index[name][value] || [];\n};\n\nexports.FieldIndexer = FieldIndexer;\n"
  },
  {
    "path": "core/modules/indexers/tag-indexer.js",
    "content": "/*\\\ntitle: $:/core/modules/indexers/tag-indexer.js\ntype: application/javascript\nmodule-type: indexer\n\nIndexes the tiddlers with each tag\n\n\\*/\n\n\"use strict\";\n\nfunction TagIndexer(wiki) {\n\tthis.wiki = wiki;\n}\n\nTagIndexer.prototype.init = function() {\n\tthis.subIndexers = [\n\t\tnew TagSubIndexer(this,\"each\"),\n\t\tnew TagSubIndexer(this,\"eachShadow\"),\n\t\tnew TagSubIndexer(this,\"eachTiddlerPlusShadows\"),\n\t\tnew TagSubIndexer(this,\"eachShadowPlusTiddlers\")\n\t];\n\t$tw.utils.each(this.subIndexers,function(subIndexer) {\n\t\tsubIndexer.addIndexMethod();\n\t});\n};\n\nTagIndexer.prototype.rebuild = function() {\n\t$tw.utils.each(this.subIndexers,function(subIndexer) {\n\t\tsubIndexer.rebuild();\n\t});\n};\n\nTagIndexer.prototype.update = function(updateDescriptor) {\n\t$tw.utils.each(this.subIndexers,function(subIndexer) {\n\t\tsubIndexer.update(updateDescriptor);\n\t});\n};\n\nfunction TagSubIndexer(indexer,iteratorMethod) {\n\tthis.indexer = indexer;\n\tthis.iteratorMethod = iteratorMethod;\n\tthis.index = null; // Hashmap of tag title to {isSorted: bool, titles: [array]} or null if not yet initialised\n}\n\nTagSubIndexer.prototype.addIndexMethod = function() {\n\tvar self = this;\n\tthis.indexer.wiki[this.iteratorMethod].byTag = function(tag) {\n\t\treturn self.lookup(tag).slice(0);\n\t};\n};\n\nTagSubIndexer.prototype.rebuild = function() {\n\tvar self = this;\n\t// Hashmap by tag of array of {isSorted:, titles:[]}\n\tthis.index = Object.create(null);\n\t// Add all the tags\n\tthis.indexer.wiki[this.iteratorMethod](function(tiddler,title) {\n\t\t$tw.utils.each(tiddler.fields.tags,function(tag) {\n\t\t\tif(!self.index[tag]) {\n\t\t\t\tself.index[tag] = {isSorted: false, titles: [title]};\n\t\t\t} else {\n\t\t\t\tself.index[tag].titles.push(title);\n\t\t\t}\n\t\t});\n\t});\n};\n\nTagSubIndexer.prototype.update = function(updateDescriptor) {\n\tthis.index = null;\n};\n\nTagSubIndexer.prototype.lookup = function(tag) {\n\t// Update the index if it has yet to be built\n\tif(this.index === null) {\n\t\tthis.rebuild();\n\t}\n\tvar indexRecord = this.index[tag];\n\tif(indexRecord) {\n\t\tif(!indexRecord.isSorted) {\n\t\t\tif(this.indexer.wiki.sortByList) {\n\t\t\t\tindexRecord.titles = this.indexer.wiki.sortByList(indexRecord.titles,tag);\n\t\t\t}\n\t\t\tindexRecord.isSorted = true;\n\t\t}\n\t\treturn indexRecord.titles;\n\t} else {\n\t\treturn [];\n\t}\n};\n\n\nexports.TagIndexer = TagIndexer;\n"
  },
  {
    "path": "core/modules/info/dimensions.js",
    "content": "/*\\\ntitle: $:/core/modules/info/windowdimensions.js\ntype: application/javascript\nmodule-type: info\n\\*/\n\nexports.getInfoTiddlerFields = function(updateInfoTiddlersCallback) {\n\tif(!$tw.browser) {\n\t\treturn [];\n\t}\n\n\tclass WindowDimensionsTracker {\n\t\tconstructor(updateCallback) {\n\t\t\tthis.updateCallback = updateCallback;\n\t\t\tthis.resizeHandlers = new Map();\n\t\t\tthis.dimensionsInfo = [\n\t\t\t\t[\"outer/width\", (win) => win.outerWidth],\n\t\t\t\t[\"outer/height\", (win) => win.outerHeight],\n\t\t\t\t[\"inner/width\", (win) => win.innerWidth],\n\t\t\t\t[\"inner/height\", (win) => win.innerHeight],\n\t\t\t\t[\"client/width\", (win) => win.document.documentElement.clientWidth],\n\t\t\t\t[\"client/height\", (win) => win.document.documentElement.clientHeight]\n\t\t\t];\n\t\t}\n\n\t\tbuildTiddlers(win,windowId) {\n\t\t\tconst prefix = `$:/info/browser/window/${windowId}/`;\n\t\t\treturn this.dimensionsInfo.map(([suffix, getter]) => ({\n\t\t\t\ttitle: prefix + suffix,\n\t\t\t\ttext: String(getter(win))\n\t\t\t}));\n\t\t}\n\n\t\tclearTiddlers(windowId) {\n\t\t\tconst prefix = `$:/info/browser/window/${windowId}/`,\n\t\t\t\tdeletions = this.dimensionsInfo.map(([suffix]) => prefix + suffix);\n\t\t\tthis.updateCallback([], deletions);\n\t\t}\n\n\t\tgetUpdateHandler(win,windowId) {\n\t\t\tlet scheduled = false;\n\t\t\treturn () => {\n\t\t\t\tif(!scheduled) {\n\t\t\t\t\tscheduled = true;\n\t\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\t\tthis.updateCallback(this.buildTiddlers(win,windowId), []);\n\t\t\t\t\t\tscheduled = false;\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\n\t\ttrackWindow(win,windowId) {\n\t\t\tconst handler = this.getUpdateHandler(win, windowId);\n\t\t\thandler(); // initial update\n\t\t\twin.addEventListener(\"resize\",handler,{passive:true});\n\t\t\tthis.resizeHandlers.set(windowId,{win, handler});\n\t\t}\n\n\t\tuntrackWindow(windowId) {\n\t\t\tconst entry = this.resizeHandlers.get(windowId);\n\t\t\tif(entry) {\n\t\t\t\tentry.win.removeEventListener(\"resize\", entry.handler);\n\t\t\t\tthis.resizeHandlers.delete(windowId);\n\t\t\t}\n\t\t\tthis.clearTiddlers(windowId);\n\t\t}\n\t}\n\n\tconst tracker = new WindowDimensionsTracker(updateInfoTiddlersCallback);\n\n\t// Track main window\n\ttracker.trackWindow(window,\"system/main\");\n\n\t// Hook into event bus for user windows\n\tif($tw.eventBus) {\n\t\t$tw.eventBus.on(\"window:opened\", ({window: win, windowID}) => {\n\t\t\ttracker.trackWindow(win, \"user/\" + windowID);\n\t\t});\n\t\t$tw.eventBus.on(\"window:closed\", ({windowID}) => {\n\t\t\ttracker.untrackWindow(\"user/\" + windowID);\n\t\t});\n\t}\n\n\treturn [];\n};\n"
  },
  {
    "path": "core/modules/info/mediaquerytracker.js",
    "content": "/*\\\ntitle: $:/core/modules/info/mediaquerytracker.js\ntype: application/javascript\nmodule-type: info\n\nInitialise $:/info/ tiddlers derived from media queries via \n\n\\*/\n\n\"use strict\";\n\nexports.getInfoTiddlerFields = function(updateInfoTiddlersCallback) {\n\tif($tw.browser) {\n\t\t// Functions to start and stop tracking a particular media query tracker tiddler\n\t\tfunction track(title) {\n\t\t\tvar result = {},\n\t\t\t\ttiddler = $tw.wiki.getTiddler(title);\n\t\t\tif(tiddler) {\n\t\t\t\tvar mediaQuery = tiddler.fields[\"media-query\"],\n\t\t\t\t\tinfoTiddler = tiddler.fields[\"info-tiddler\"],\n\t\t\t\t\tinfoTiddlerAlt = tiddler.fields[\"info-tiddler-alt\"];\n\t\t\t\tif(mediaQuery && infoTiddler) {\n\t\t\t\t\t// Evaluate and track the media query\n\t\t\t\t\tresult.mqList = window.matchMedia(mediaQuery);\n\t\t\t\t\tfunction getResultTiddlers() {\n\t\t\t\t\t\tvar value = result.mqList.matches ? \"yes\" : \"no\",\n\t\t\t\t\t\t\ttiddlers = [];\n\t\t\t\t\t\ttiddlers.push({title: infoTiddler, text: value});\n\t\t\t\t\t\tif(infoTiddlerAlt) {\n\t\t\t\t\t\t\ttiddlers.push({title: infoTiddlerAlt, text: value});\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn tiddlers;\n\t\t\t\t\t};\n\t\t\t\t\tupdateInfoTiddlersCallback(getResultTiddlers());\n\t\t\t\t\tresult.handler = function(event) {\n\t\t\t\t\t\tupdateInfoTiddlersCallback(getResultTiddlers());\n\t\t\t\t\t};\n\t\t\t\t\tresult.mqList.addEventListener(\"change\",result.handler);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn result;\n\t\t}\n\t\tfunction untrack(enterValue) {\n\t\t\tif(enterValue.mqList && enterValue.handler) {\n\t\t\t\tenterValue.mqList.removeEventListener(\"change\",enterValue.handler);\n\t\t\t}\n\t\t}\n\t\t// Track media query tracker tiddlers\n\t\tfunction fnEnter(title) {\n\t\t\treturn track(title);\n\t\t}\n\t\tfunction fnLeave(title,enterValue) {\n\t\t\tuntrack(enterValue);\n\t\t}\n\t\tfunction fnChange(title,enterValue) {\n\t\t\tuntrack(enterValue);\n\t\t\treturn track(title);\n\t\t}\n\t\t$tw.filterTracker.track({\n\t\t\tfilterString: \"[all[tiddlers+shadows]tag[$:/tags/MediaQueryTracker]!is[draft]]\",\n\t\t\tfnEnter: fnEnter,\n\t\t\tfnLeave: fnLeave,\n\t\t\tfnChange: fnChange\n\t\t});\n\t}\n\treturn [];\n};\n"
  },
  {
    "path": "core/modules/info/platform.js",
    "content": "/*\\\ntitle: $:/core/modules/info/platform.js\ntype: application/javascript\nmodule-type: info\n\nInitialise basic platform $:/info/ tiddlers\n\n\\*/\n\n\"use strict\";\n\nexports.getInfoTiddlerFields = function(updateInfoTiddlersCallback) {\n\tvar mapBoolean = function(value) {return value ? \"yes\" : \"no\";},\n\t\tinfoTiddlerFields = [];\n\t// Basics\n\tinfoTiddlerFields.push({title: \"$:/info/browser\", text: mapBoolean(!!$tw.browser)});\n\tinfoTiddlerFields.push({title: \"$:/info/node\", text: mapBoolean(!!$tw.node)});\n\tinfoTiddlerFields.push({title: \"$:/info/startup-timestamp\", text: $tw.utils.stringifyDate(new Date())});\n\tif($tw.browser) {\n\t\t// Document location\n\t\tvar setLocationProperty = function(name,value) {\n\t\t\t\tinfoTiddlerFields.push({title: \"$:/info/url/\" + name, text: value});\n\t\t\t},\n\t\t\tlocation = document.location;\n\t\tsetLocationProperty(\"full\", (location.toString()).split(\"#\")[0]);\n\t\tsetLocationProperty(\"host\", location.host);\n\t\tsetLocationProperty(\"hostname\", location.hostname);\n\t\tsetLocationProperty(\"protocol\", location.protocol);\n\t\tsetLocationProperty(\"port\", location.port);\n\t\tsetLocationProperty(\"pathname\", location.pathname);\n\t\tsetLocationProperty(\"search\", location.search);\n\t\tsetLocationProperty(\"origin\", location.origin);\n\t\t// Screen size\n\t\tinfoTiddlerFields.push({title: \"$:/info/browser/screen/width\", text: window.screen.width.toString()});\n\t\tinfoTiddlerFields.push({title: \"$:/info/browser/screen/height\", text: window.screen.height.toString()});\n\t\t// Language\n\t\tinfoTiddlerFields.push({title: \"$:/info/browser/language\", text: navigator.language || \"\"});\n\t}\n\treturn infoTiddlerFields;\n};\n"
  },
  {
    "path": "core/modules/keyboard.js",
    "content": "/*\\\ntitle: $:/core/modules/keyboard.js\ntype: application/javascript\nmodule-type: global\n\nKeyboard handling utilities\n\n\\*/\n\n\"use strict\";\n\nvar namedKeys = {\n\t\"cancel\": 3,\n\t\"help\": 6,\n\t\"backspace\": 8,\n\t\"tab\": 9,\n\t\"clear\": 12,\n\t\"return\": 13,\n\t\"enter\": 13,\n\t\"pause\": 19,\n\t\"escape\": 27,\n\t\"space\": 32,\n\t\"page_up\": 33,\n\t\"page_down\": 34,\n\t\"end\": 35,\n\t\"home\": 36,\n\t\"left\": 37,\n\t\"up\": 38,\n\t\"right\": 39,\n\t\"down\": 40,\n\t\"printscreen\": 44,\n\t\"insert\": 45,\n\t\"delete\": 46,\n\t\"0\": 48,\n\t\"1\": 49,\n\t\"2\": 50,\n\t\"3\": 51,\n\t\"4\": 52,\n\t\"5\": 53,\n\t\"6\": 54,\n\t\"7\": 55,\n\t\"8\": 56,\n\t\"9\": 57,\n\t\"firefoxsemicolon\": 59,\n\t\"firefoxequals\": 61,\n\t\"a\": 65,\n\t\"b\": 66,\n\t\"c\": 67,\n\t\"d\": 68,\n\t\"e\": 69,\n\t\"f\": 70,\n\t\"g\": 71,\n\t\"h\": 72,\n\t\"i\": 73,\n\t\"j\": 74,\n\t\"k\": 75,\n\t\"l\": 76,\n\t\"m\": 77,\n\t\"n\": 78,\n\t\"o\": 79,\n\t\"p\": 80,\n\t\"q\": 81,\n\t\"r\": 82,\n\t\"s\": 83,\n\t\"t\": 84,\n\t\"u\": 85,\n\t\"v\": 86,\n\t\"w\": 87,\n\t\"x\": 88,\n\t\"y\": 89,\n\t\"z\": 90,\n\t\"numpad0\": 96,\n\t\"numpad1\": 97,\n\t\"numpad2\": 98,\n\t\"numpad3\": 99,\n\t\"numpad4\": 100,\n\t\"numpad5\": 101,\n\t\"numpad6\": 102,\n\t\"numpad7\": 103,\n\t\"numpad8\": 104,\n\t\"numpad9\": 105,\n\t\"multiply\": 106,\n\t\"add\": 107,\n\t\"separator\": 108,\n\t\"subtract\": 109,\n\t\"decimal\": 110,\n\t\"divide\": 111,\n\t\"f1\": 112,\n\t\"f2\": 113,\n\t\"f3\": 114,\n\t\"f4\": 115,\n\t\"f5\": 116,\n\t\"f6\": 117,\n\t\"f7\": 118,\n\t\"f8\": 119,\n\t\"f9\": 120,\n\t\"f10\": 121,\n\t\"f11\": 122,\n\t\"f12\": 123,\n\t\"f13\": 124,\n\t\"f14\": 125,\n\t\"f15\": 126,\n\t\"f16\": 127,\n\t\"f17\": 128,\n\t\"f18\": 129,\n\t\"f19\": 130,\n\t\"f20\": 131,\n\t\"f21\": 132,\n\t\"f22\": 133,\n\t\"f23\": 134,\n\t\"f24\": 135,\n\t\"firefoxminus\": 173,\n\t\"semicolon\": 186,\n\t\"equals\": 187,\n\t\"comma\": 188,\n\t\"dash\": 189,\n\t\"period\": 190,\n\t\"slash\": 191,\n\t\"backquote\": 192,\n\t\"openbracket\": 219,\n\t\"backslash\": 220,\n\t\"closebracket\": 221,\n\t\"quote\": 222\n};\n\nfunction KeyboardManager(options) {\n\tvar self = this;\n\toptions = options || \"\";\n\t// Save the named key hashmap\n\tthis.namedKeys = namedKeys;\n\t// Create a reverse mapping of code to keyname\n\tthis.keyNames = [];\n\t$tw.utils.each(namedKeys,function(keyCode,name) {\n\t\tself.keyNames[keyCode] = name.substr(0,1).toUpperCase() + name.substr(1);\n\t});\n\t// Save the platform-specific name of the \"meta\" key\n\tthis.metaKeyName = $tw.platform.isMac ? \"cmd-\" : \"win-\";\n\tthis.shortcutKeysList = [], // Stores the shortcut-key descriptors\n\tthis.shortcutActionList = [], // Stores the corresponding action strings\n\tthis.shortcutParsedList = []; // Stores the parsed key descriptors\n\tthis.shortcutPriorityList = []; // Stores the parsed shortcut priority\n\tthis.lookupNames = [\"shortcuts\"];\n\tthis.lookupNames.push($tw.platform.isMac ? \"shortcuts-mac\" : \"shortcuts-not-mac\");\n\tthis.lookupNames.push($tw.platform.isWindows ? \"shortcuts-windows\" : \"shortcuts-not-windows\");\n\tthis.lookupNames.push($tw.platform.isLinux ? \"shortcuts-linux\" : \"shortcuts-not-linux\");\n\tthis.updateShortcutLists(this.getShortcutTiddlerList());\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tself.handleShortcutChanges(changes);\n\t});\n}\n\n/*\nReturn an array of keycodes for the modifier keys ctrl, shift, alt, meta\n*/\nKeyboardManager.prototype.getModifierKeys = function() {\n\treturn [\n\t\t16, // Shift\n\t\t17, // Ctrl\n\t\t18, // Alt\n\t\t20, // CAPS LOCK\n\t\t91, // Meta (left)\n\t\t93, // Meta (right)\n\t\t224 // Meta (Firefox)\n\t];\n};\n\n/*\nParses a key descriptor into the structure:\n{\n\tkeyCode: numeric keycode\n\tshiftKey: boolean\n\taltKey: boolean\n\tctrlKey: boolean\n\tmetaKey: boolean\n}\nKey descriptors have the following format:\n\tctrl+enter\n\tctrl+shift+alt+A\n*/\nKeyboardManager.prototype.parseKeyDescriptor = function(keyDescriptor,options) {\n\tvar components = keyDescriptor.split(/\\+|\\-/),\n\t\tinfo = {\n\t\t\tkeyCode: 0,\n\t\t\tshiftKey: false,\n\t\t\taltKey: false,\n\t\t\tctrlKey: false,\n\t\t\tmetaKey: false\n\t\t};\n\tfor(var t=0; t<components.length; t++) {\n\t\tvar s = components[t].toLowerCase();\n\t\t// Look for modifier keys\n\t\tif(s === \"ctrl\") {\n\t\t\tinfo.ctrlKey = true;\n\t\t} else if(s === \"shift\") {\n\t\t\tinfo.shiftKey = true;\n\t\t} else if(s === \"alt\") {\n\t\t\tinfo.altKey = true;\n\t\t} else if(s === \"meta\" || s === \"cmd\" || s === \"win\") {\n\t\t\tinfo.metaKey = true;\n\t\t}\n\t\t// Replace named keys with their code\n\t\tif(this.namedKeys[s]) {\n\t\t\tinfo.keyCode = this.namedKeys[s];\n\t\t}\n\t}\n\tif(options.keyDescriptor) {\n\t\tinfo.keyDescriptor = options.keyDescriptor;\n\t}\n\tif(info.keyCode) {\n\t\treturn info;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nParse a list of key descriptors into an array of keyInfo objects. The key descriptors can be passed as an array of strings or a space separated string\n*/\nKeyboardManager.prototype.parseKeyDescriptors = function(keyDescriptors,options) {\n\tvar self = this;\n\toptions = options || {};\n\toptions.stack = options.stack || [];\n\tvar wiki = options.wiki || $tw.wiki;\n\tif(typeof keyDescriptors === \"string\" && keyDescriptors === \"\") {\n\t\treturn [];\n\t}\n\tif(!$tw.utils.isArray(keyDescriptors)) {\n\t\tkeyDescriptors = keyDescriptors.split(\" \");\n\t}\n\tvar result = [];\n\t$tw.utils.each(keyDescriptors,function(keyDescriptor) {\n\t\t// Look for a named shortcut\n\t\tif(keyDescriptor.substr(0,2) === \"((\" && keyDescriptor.substr(-2,2) === \"))\") {\n\t\t\tif(options.stack.indexOf(keyDescriptor) === -1) {\n\t\t\t\toptions.stack.push(keyDescriptor);\n\t\t\t\tvar name = keyDescriptor.substring(2,keyDescriptor.length - 2),\n\t\t\t\t\tlookupName = function(configName) {\n\t\t\t\t\t\tvar keyDescriptors = wiki.getTiddlerText(\"$:/config/\" + configName + \"/\" + name);\n\t\t\t\t\t\tif(keyDescriptors) {\n\t\t\t\t\t\t\toptions.keyDescriptor = keyDescriptor;\n\t\t\t\t\t\t\tresult.push.apply(result,self.parseKeyDescriptors(keyDescriptors,options));\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t$tw.utils.each(self.lookupNames,function(platformDescriptor) {\n\t\t\t\t\tlookupName(platformDescriptor);\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tresult.push(self.parseKeyDescriptor(keyDescriptor,options));\n\t\t}\n\t});\n\treturn result;\n};\n\nKeyboardManager.prototype.getPrintableShortcuts = function(keyInfoArray) {\n\tvar self = this,\n\t\tresult = [];\n\t$tw.utils.each(keyInfoArray,function(keyInfo) {\n\t\tif(keyInfo) {\n\t\t\tresult.push((keyInfo.ctrlKey ? \"ctrl-\" : \"\") + \n\t\t\t\t   (keyInfo.shiftKey ? \"shift-\" : \"\") + \n\t\t\t\t   (keyInfo.altKey ? \"alt-\" : \"\") + \n\t\t\t\t   (keyInfo.metaKey ? self.metaKeyName : \"\") + \n\t\t\t\t   (self.keyNames[keyInfo.keyCode]));\n\t\t}\n\t});\n\treturn result;\n};\n\nKeyboardManager.prototype.checkKeyDescriptor = function(event,keyInfo) {\n\treturn keyInfo &&\n\t\t\tevent.keyCode === keyInfo.keyCode && \n\t\t\tevent.shiftKey === keyInfo.shiftKey && \n\t\t\tevent.altKey === keyInfo.altKey && \n\t\t\tevent.ctrlKey === keyInfo.ctrlKey && \n\t\t\tevent.metaKey === keyInfo.metaKey;\n};\n\nKeyboardManager.prototype.checkKeyDescriptors = function(event,keyInfoArray) {\n\treturn (this.getMatchingKeyDescriptor(event,keyInfoArray) !== null);\n};\n\nKeyboardManager.prototype.getMatchingKeyDescriptor = function(event,keyInfoArray) {\n\tfor(var t=0; t<keyInfoArray.length; t++) {\n\t\tif(this.checkKeyDescriptor(event,keyInfoArray[t])) {\n\t\t\treturn keyInfoArray[t];\n\t\t}\n\t}\n\treturn null;\n};\n\nKeyboardManager.prototype.getEventModifierKeyDescriptor = function(event) {\n\treturn event.ctrlKey && !event.shiftKey\t&& !event.altKey && !event.metaKey ? \"ctrl\" : \n\t\tevent.shiftKey && !event.ctrlKey && !event.altKey && !event.metaKey ? \"shift\" : \n\t\t\tevent.ctrlKey && event.shiftKey && !event.altKey && !event.metaKey ? \"ctrl-shift\" : \n\t\t\t\tevent.altKey && !event.shiftKey && !event.ctrlKey && !event.metaKey ? \"alt\" : \n\t\t\t\t\tevent.altKey && event.shiftKey && !event.ctrlKey && !event.metaKey ? \"alt-shift\" : \n\t\t\t\t\t\tevent.altKey && event.ctrlKey && !event.shiftKey && !event.metaKey ? \"ctrl-alt\" : \n\t\t\t\t\t\t\tevent.altKey && event.shiftKey && event.ctrlKey && !event.metaKey ? \"ctrl-alt-shift\" : \n\t\t\t\t\t\t\t\tevent.metaKey && !event.ctrlKey && !event.shiftKey && !event.altKey ? \"meta\" : \n\t\t\t\t\t\t\t\t\tevent.metaKey && event.ctrlKey && !event.shiftKey && !event.altKey ? \"meta-ctrl\" :\n\t\t\t\t\t\t\t\t\t\tevent.metaKey && event.ctrlKey && event.shiftKey && !event.altKey ? \"meta-ctrl-shift\" :\n\t\t\t\t\t\t\t\t\t\t\tevent.metaKey && event.ctrlKey && event.shiftKey && event.altKey ? \"meta-ctrl-alt-shift\" : \"normal\";\n};\n\nKeyboardManager.prototype.getShortcutTiddlerList = function() {\n\treturn $tw.wiki.getTiddlersWithTag(\"$:/tags/KeyboardShortcut\");\n};\n\nKeyboardManager.prototype.updateShortcutLists = function(tiddlerList) {\n\tthis.shortcutTiddlers = tiddlerList;\n\tfor(var i=0; i<tiddlerList.length; i++) {\n\t\tvar title = tiddlerList[i],\n\t\t\ttiddlerFields = $tw.wiki.getTiddler(title).fields;\n\t\tthis.shortcutKeysList[i] = tiddlerFields.key !== undefined ? tiddlerFields.key : undefined;\n\t\tthis.shortcutActionList[i] = tiddlerFields.text;\n\t\tthis.shortcutParsedList[i] = this.shortcutKeysList[i] !== undefined ? this.parseKeyDescriptors(this.shortcutKeysList[i]) : undefined;\n\t\tthis.shortcutPriorityList[i] = tiddlerFields.priority === \"yes\" ? true : false;\n\t}\n};\n\n/*\nevent: the keyboard event object\noptions:\n\tonlyPriority: true if only priority global shortcuts should be invoked\n*/\nKeyboardManager.prototype.handleKeydownEvent = function(event, options) {\n\toptions = options || {};\n\tvar key, action;\n\tfor(var i=0; i<this.shortcutTiddlers.length; i++) {\n\t\tif(options.onlyPriority && this.shortcutPriorityList[i] !== true) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif(this.shortcutParsedList[i] !== undefined && this.checkKeyDescriptors(event,this.shortcutParsedList[i])) {\n\t\t\tkey = this.shortcutParsedList[i];\n\t\t\taction = this.shortcutActionList[i];\n\t\t}\n\t}\n\tif(key !== undefined) {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\t$tw.rootWidget.invokeActionString(action,$tw.rootWidget,event);\n\t\treturn true;\n\t}\n\treturn false;\n};\n\nKeyboardManager.prototype.detectNewShortcuts = function(changedTiddlers) {\n\tvar shortcutConfigTiddlers = [],\n\t\thandled = false;\n\t$tw.utils.each(this.lookupNames,function(platformDescriptor) {\n\t\tvar descriptorString = \"$:/config/\" + platformDescriptor + \"/\";\n\t\tObject.keys(changedTiddlers).forEach(function(configTiddler) {\n\t\t\tvar configString = configTiddler.substr(0, configTiddler.lastIndexOf(\"/\") + 1);\n\t\t\tif(configString === descriptorString) {\n\t\t\t\tshortcutConfigTiddlers.push(configTiddler);\n\t\t\t\thandled = true;\n\t\t\t}\n\t\t});\n\t});\n\tif(handled) {\n\t\treturn $tw.utils.hopArray(changedTiddlers,shortcutConfigTiddlers);\n\t} else {\n\t\treturn false;\n\t}\n};\n\nKeyboardManager.prototype.handleShortcutChanges = function(changedTiddlers) {\n\tvar newList = this.getShortcutTiddlerList();\n\tvar hasChanged = $tw.utils.hopArray(changedTiddlers,this.shortcutTiddlers) ? true :\n\t\t($tw.utils.hopArray(changedTiddlers,newList) ? true :\n\t\t\t(this.detectNewShortcuts(changedTiddlers))\n\t\t);\n\t// Re-cache shortcuts if something changed\n\tif(hasChanged) {\n\t\tthis.updateShortcutLists(newList);\n\t}\n};\n\nexports.KeyboardManager = KeyboardManager;\n"
  },
  {
    "path": "core/modules/language.js",
    "content": "/*\\\ntitle: $:/core/modules/language.js\ntype: application/javascript\nmodule-type: global\n\nThe $tw.Language() manages translateable strings\n\n\\*/\n\n\"use strict\";\n\n/*\nCreate an instance of the language manager. Options include:\nwiki: wiki from which to retrieve translation tiddlers\n*/\nfunction Language(options) {\n\toptions = options || \"\";\n\tthis.wiki = options.wiki || $tw.wiki;\n}\n\n/*\nReturn a wikified translateable string. The title is automatically prefixed with \"$:/language/\"\nOptions include:\nvariables: optional hashmap of variables to supply to the language wikification\n*/\nLanguage.prototype.getString = function(title,options) {\n\toptions = options || {};\n\ttitle = \"$:/language/\" + title;\n\treturn this.wiki.renderTiddler(\"text/plain\",title,{variables: options.variables});\n};\n\n/*\nReturn a raw, unwikified translateable string. The title is automatically prefixed with \"$:/language/\"\n*/\nLanguage.prototype.getRawString = function(title) {\n\ttitle = \"$:/language/\" + title;\n\treturn this.wiki.getTiddlerText(title);\n};\n\nexports.Language = Language;\n"
  },
  {
    "path": "core/modules/macros/changecount.js",
    "content": "/*\\\ntitle: $:/core/modules/macros/changecount.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to return the changecount for the current tiddler\n\n\\*/\n\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"changecount\";\n\nexports.params = [];\n\n/*\nRun the macro\n*/\nexports.run = function() {\n\treturn this.wiki.getChangeCount(this.getVariable(\"currentTiddler\")) + \"\";\n};\n"
  },
  {
    "path": "core/modules/macros/contrastcolour.js",
    "content": "/*\\\ntitle: $:/core/modules/macros/contrastcolour.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to choose which of two colours has the highest contrast with a base colour\n\n\\*/\n\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"contrastcolour\";\n\nexports.params = [\n\t{name: \"target\"},\n\t{name: \"fallbackTarget\"},\n\t{name: \"colourA\"},\n\t{name: \"colourB\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(target,fallbackTarget,colourA,colourB) {\n\tvar rgbTarget = $tw.utils.parseCSSColor(target) || $tw.utils.parseCSSColor(fallbackTarget);\n\tif(!rgbTarget) {\n\t\treturn colourA;\n\t}\n\tvar rgbColourA = $tw.utils.parseCSSColor(colourA),\n\t\trgbColourB = $tw.utils.parseCSSColor(colourB);\n\tif(rgbColourA && !rgbColourB) {\n\t\treturn rgbColourA;\n\t}\n\tif(rgbColourB && !rgbColourA) {\n\t\treturn rgbColourB;\n\t}\n\tif(!rgbColourA && !rgbColourB) {\n\t\t// If neither colour is readable, return a crude inverse of the target\n\t\treturn [255 - rgbTarget[0],255 - rgbTarget[1],255 - rgbTarget[2],rgbTarget[3]];\n\t}\n\t// Colour brightness formula derived from http://www.w3.org/WAI/ER/WD-AERT/#color-contrast\n\tvar brightnessTarget = rgbTarget[0] * 0.299 + rgbTarget[1] * 0.587 + rgbTarget[2] * 0.114,\n\t\tbrightnessA = rgbColourA[0] * 0.299 + rgbColourA[1] * 0.587 + rgbColourA[2] * 0.114,\n\t\tbrightnessB = rgbColourB[0] * 0.299 + rgbColourB[1] * 0.587 + rgbColourB[2] * 0.114;\n\treturn Math.abs(brightnessTarget - brightnessA) > Math.abs(brightnessTarget - brightnessB) ? colourA : colourB;\n};\n"
  },
  {
    "path": "core/modules/macros/csvtiddlers.js",
    "content": "/*\\\ntitle: $:/core/modules/macros/csvtiddlers.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to output tiddlers matching a filter to CSV\n\n\\*/\n\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"csvtiddlers\";\n\nexports.params = [\n\t{name: \"filter\"},\n\t{name: \"format\"},\n];\n\n/*\nRun the macro\n*/\nexports.run = function(filter,format) {\n\tvar tiddlers = this.wiki.filterTiddlers(filter),\n\t\ttiddler,\n\t\tfields = [],\n\t\tt,f;\n\t// Collect all the fields\n\tfor(t=0;t<tiddlers.length; t++) {\n\t\ttiddler = this.wiki.getTiddler(tiddlers[t]);\n\t\tif(tiddler) {\n\t\t\tfor(f in tiddler.fields) {\n\t\t\t\tif(fields.indexOf(f) === -1) {\n\t\t\t\t\tfields.push(f);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t// Sort the fields and bring the standard ones to the front\n\tfields.sort();\n\t\"title text modified modifier created creator\".split(\" \").reverse().forEach(function(value,index) {\n\t\tvar p = fields.indexOf(value);\n\t\tif(p !== -1) {\n\t\t\tfields.splice(p,1);\n\t\t\tfields.unshift(value);\n\t\t}\n\t});\n\t// Output the column headings\n\tvar output = [], row = [];\n\tfields.forEach(function(value) {\n\t\trow.push(quoteAndEscape(value));\n\t});\n\toutput.push(row.join(\",\"));\n\t// Output each tiddler\n\tfor(var t=0;t<tiddlers.length; t++) {\n\t\trow = [];\n\t\ttiddler = this.wiki.getTiddler(tiddlers[t]);\n\t\tif(tiddler) {\n\t\t\tfor(f=0; f<fields.length; f++) {\n\t\t\t\trow.push(quoteAndEscape(tiddler ? tiddler.getFieldString(fields[f]) || \"\" : \"\"));\n\t\t\t}\t\n\t\t}\n\t\toutput.push(row.join(\",\"));\n\t}\n\treturn output.join(\"\\n\");\n};\n\nfunction quoteAndEscape(value) {\n\treturn \"\\\"\" + value.replace(/\"/mg,\"\\\"\\\"\") + \"\\\"\";\n}\n"
  },
  {
    "path": "core/modules/macros/displayshortcuts.js",
    "content": "/*\\\ntitle: $:/core/modules/macros/displayshortcuts.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to display a list of keyboard shortcuts in human readable form. Notably, it resolves named shortcuts like `((bold))` to the underlying keystrokes.\n\n\\*/\n\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"displayshortcuts\";\n\nexports.params = [\n\t{name: \"shortcuts\"},\n\t{name: \"prefix\"},\n\t{name: \"separator\"},\n\t{name: \"suffix\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(shortcuts,prefix,separator,suffix) {\n\tvar shortcutArray = $tw.keyboardManager.getPrintableShortcuts($tw.keyboardManager.parseKeyDescriptors(shortcuts,{\n\t\twiki: this.wiki\n\t}));\n\tif(shortcutArray.length > 0) {\n\t\tshortcutArray.sort(function(a,b) {\n\t\t\treturn a.toLowerCase().localeCompare(b.toLowerCase());\n\t\t});\n\t\treturn prefix + shortcutArray.join(separator) + suffix;\n\t} else {\n\t\treturn \"\";\n\t}\n};\n"
  },
  {
    "path": "core/modules/macros/jsontiddler.js",
    "content": "/*\\\ntitle: $:/core/modules/macros/jsontiddler.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to output a single tiddler to JSON\n\n\\*/\n\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"jsontiddler\";\n\nexports.params = [\n\t{name: \"title\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(title) {\n\ttitle = title || this.getVariable(\"currentTiddler\");\n\tvar tiddler = !!title && this.wiki.getTiddler(title),\n\t\tfields = new Object();\n\tif(tiddler) {\n\t\tfor(var field in tiddler.fields) {\n\t\t\tfields[field] = tiddler.getFieldString(field);\n\t\t}\n\t}\n\treturn JSON.stringify(fields,null,$tw.config.preferences.jsonSpaces);\n};\n\n"
  },
  {
    "path": "core/modules/macros/jsontiddlers.js",
    "content": "/*\\\ntitle: $:/core/modules/macros/jsontiddlers.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to output tiddlers matching a filter to JSON\n\n\\*/\n\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"jsontiddlers\";\n\nexports.params = [\n\t{name: \"filter\"},\n\t{name: \"spaces\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(filter,spaces) {\n\treturn this.wiki.getTiddlersAsJson(filter,$tw.utils.parseInt(spaces));\n};\n"
  },
  {
    "path": "core/modules/macros/makedatauri.js",
    "content": "/*\\\ntitle: $:/core/modules/macros/makedatauri.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to convert a string of text to a data URI\n\n<<makedatauri text:\"Text to be converted\" type:\"text/vnd.tiddlywiki\">>\n\n\\*/\n\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"makedatauri\";\n\nexports.params = [\n\t{name: \"text\"},\n\t{name: \"type\"},\n\t{name: \"_canonical_uri\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(text,type,_canonical_uri) {\n\treturn $tw.utils.makeDataUri(text,type,_canonical_uri);\n};\n"
  },
  {
    "path": "core/modules/macros/now.js",
    "content": "/*\\\ntitle: $:/core/modules/macros/now.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to return a formatted version of the current time\n\n\\*/\n\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"now\";\n\nexports.params = [\n\t{name: \"format\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(format) {\n\treturn $tw.utils.formatDateString(new Date(),format || \"0hh:0mm, DDth MMM YYYY\");\n};\n"
  },
  {
    "path": "core/modules/macros/qualify.js",
    "content": "/*\\\ntitle: $:/core/modules/macros/qualify.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to qualify a state tiddler title according\n\n\\*/\n\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"qualify\";\n\nexports.params = [\n\t{name: \"title\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(title) {\n\treturn title + \"-\" + this.getStateQualifier();\n};\n"
  },
  {
    "path": "core/modules/macros/resolvepath.js",
    "content": "/*\\\ntitle: $:/core/modules/macros/resolvepath.js\ntype: application/javascript\nmodule-type: macro\n\nResolves a relative path for an absolute rootpath.\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"resolvepath\";\n\nexports.params = [\n\t{name: \"source\"},\n\t{name: \"root\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(source, root) {\n\treturn $tw.utils.resolvePath(source, root);\n};\n"
  },
  {
    "path": "core/modules/macros/unusedtitle.js",
    "content": "/*\\\ntitle: $:/core/modules/macros/unusedtitle.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to return a new title that is unused in the wiki. It can be given a name as a base.\n\\*/\n\n\"use strict\";\n\nexports.name = \"unusedtitle\";\n\nexports.params = [\n\t{name: \"baseName\"},\n\t{name: \"separator\"},\n\t{name: \"template\"},\n\t{name: \"startCount\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(baseName,separator,template,startCount) {\n\tseparator = separator || \" \";\n\tstartCount = startCount || 0;\n\tif(!baseName) {\n\t\tbaseName = $tw.language.getString(\"DefaultNewTiddlerTitle\");\n\t}\n\t// $tw.wiki.generateNewTitle = function(baseTitle,options)\n\t// options.prefix must be a string!\n\treturn this.wiki.generateNewTitle(baseName, {\"prefix\": separator, \"template\": template, \"startCount\": startCount}).trim();\n};\n"
  },
  {
    "path": "core/modules/macros/version.js",
    "content": "/*\\\ntitle: $:/core/modules/macros/version.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to return the TiddlyWiki core version number\n\n\\*/\n\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"version\";\n\nexports.params = [];\n\n/*\nRun the macro\n*/\nexports.run = function() {\n\treturn $tw.version;\n};\n"
  },
  {
    "path": "core/modules/parsers/audioparser.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/audioparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe audio parser parses an audio tiddler into an embeddable HTML element\n\n\\*/\n\n\"use strict\";\n\nvar AudioParser = function(type,text,options) {\n\tvar element = {\n\t\ttype: \"element\",\n\t\ttag: \"$audio\", // Using $audio to enable widget interception\n\t\tattributes: {\n\t\t\tcontrols: {type: \"string\", value: \"controls\"},\n\t\t\tstyle: {type: \"string\", value: \"width: 100%; object-fit: contain\"}\n\t\t}\n\t};\n\t\t\n\t// Pass through source information\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t\telement.attributes.type = {type: \"string\", value: type};\n\t} else if(text) {\n\t\telement.attributes.src = {type: \"string\", value: \"data:\" + type + \";base64,\" + text};\n\t\telement.attributes.type = {type: \"string\", value: type};\n\t}\n\t\n\t// Pass through tiddler title if available\n\tif(options.title) {\n\t\telement.attributes.tiddler = {type: \"string\", value: options.title};\n\t}\n\t\n\tthis.tree = [element];\n\tthis.source = text;\n\tthis.type = type;\n};\n\nexports[\"audio/ogg\"] = AudioParser;\nexports[\"audio/mpeg\"] = AudioParser;\nexports[\"audio/mp3\"] = AudioParser;\nexports[\"audio/mp4\"] = AudioParser;\n\t"
  },
  {
    "path": "core/modules/parsers/binaryparser.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/binaryparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe binary parser parses a binary tiddler into a warning message and download link\n\n\\*/\n\n\"use strict\";\n\nvar BINARY_WARNING_MESSAGE = \"$:/core/ui/BinaryWarning\";\nvar EXPORT_BUTTON_IMAGE = \"$:/core/images/export-button\";\n\nvar BinaryParser = function(type,text,options) {\n\t// Transclude the binary data tiddler warning message\n\tvar warn = {\n\t\ttype: \"element\",\n\t\ttag: \"p\",\n\t\tchildren: [{\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\t\"$tiddler\": {type: \"string\", value: BINARY_WARNING_MESSAGE}\n\t\t\t}\n\t\t}]\n\t};\n\t// Create download link based on binary tiddler title\n\tvar link = {\n\t\ttype: \"element\",\n\t\ttag: \"a\",\n\t\tattributes: {\n\t\t\ttitle: {type: \"indirect\", textReference: \"!!title\"},\n\t\t\tdownload: {type: \"indirect\", textReference: \"!!title\"}\n\t\t},\n\t\tchildren: [{\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\t\"$tiddler\": {type: \"string\", value: EXPORT_BUTTON_IMAGE}\n\t\t\t}\n\t\t}]\n\t};\n\t// Set the link href to external or internal data URI\n\tif(options._canonical_uri) {\n\t\tlink.attributes.href = {\n\t\t\ttype: \"string\", \n\t\t\tvalue: options._canonical_uri\n\t\t};\n\t} else if(text) {\n\t\tlink.attributes.href = {\n\t\t\ttype: \"string\", \n\t\t\tvalue: \"data:\" + type + \";base64,\" + text\n\t\t};\n\t}\n\t// Combine warning message and download link in a div\n\tvar element = {\n\t\ttype: \"element\",\n\t\ttag: \"div\",\n\t\tattributes: {\n\t\t\tclass: {type: \"string\", value: \"tc-binary-warning\"}\n\t\t},\n\t\tchildren: [warn, link]\n\t};\n\tthis.tree = [element];\n\tthis.source = text;\n\tthis.type = type;\n};\n\nexports[\"application/octet-stream\"] = BinaryParser;\n"
  },
  {
    "path": "core/modules/parsers/csvparser.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/csvparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe CSV text parser processes CSV files into a table wrapped in a scrollable widget\n\n\\*/\n\n\"use strict\";\n\nvar CsvParser = function(type,text,options) {\n\t// Special handler for tab-delimited files\n\tif(\n\t\t!options.separator &&\n\t\t(type === \"text/tab-delimited-values\" || type === \"text/tab-separated-values\")\n\t) {\n\t\toptions.separator = \"\\t\";\n\t}\n\n\t// Table framework\n\tthis.tree = [{\n\t\t\"type\": \"scrollable\", \"children\": [{\n\t\t\t\"type\": \"element\", \"tag\": \"table\", \"children\": [{\n\t\t\t\t\"type\": \"element\", \"tag\": \"tbody\", \"children\": []\n\t\t\t}], \"attributes\": {\n\t\t\t\t\"class\": {\"type\": \"string\", \"value\": \"tc-csv-table\"}\n\t\t\t}\n\t\t}]\n\t}];\n\t// Split the text into lines\n\tvar lines = $tw.utils.parseCsvString(text, options),\n\t\ttag = \"th\";\n\tvar maxColumns = 0;\n\t$tw.utils.each(lines, function(columns) {\n\t\tmaxColumns = Math.max(columns.length, maxColumns);\n\t});\n\n\tfor(var line=0; line<lines.length; line++) {\n\t\tvar columns = lines[line];\n\t\tvar row = {\n\t\t\t\"type\": \"element\", \"tag\": \"tr\", \"children\": []\n\t\t};\n\t\tfor(var column=0; column<maxColumns; column++) {\n\t\t\trow.children.push({\n\t\t\t\t\"type\": \"element\", \"tag\": tag, \"children\": [{\n\t\t\t\t\t\"type\": \"text\",\n\t\t\t\t\t\"text\": columns[column] || \"\"\n\t\t\t\t}]\n\t\t\t});\n\t\t}\n\t\ttag = \"td\";\n\t\tthis.tree[0].children[0].children[0].children.push(row);\n\t}\n\tthis.source = text;\n\tthis.type = type;\n};\n\nexports[\"text/csv\"] = CsvParser;\nexports[\"text/tab-delimited-values\"] = CsvParser;\nexports[\"text/tab-separated-values\"] = CsvParser;\n"
  },
  {
    "path": "core/modules/parsers/htmlparser.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/htmlparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe HTML parser displays text as raw HTML\n\n\\*/\n\n\"use strict\";\n\nvar HtmlParser = function(type,text,options) {\n\tvar src;\n\tif(options._canonical_uri) {\n\t\tsrc = options._canonical_uri;\n\t} else if(text) {\n\t\tsrc = \"data:text/html;charset=utf-8,\" + encodeURIComponent(text);\n\t}\n\tthis.tree = [{\n\t\ttype: \"element\",\n\t\ttag: \"iframe\",\n\t\tattributes: {\n\t\t\tsrc: {type: \"string\", value: src}\n\t\t}\n\t}];\n\tif($tw.wiki.getTiddlerText(\"$:/config/HtmlParser/DisableSandbox\",\"no\") !== \"yes\") {\n\t\tthis.tree[0].attributes.sandbox = {type: \"string\", value: $tw.wiki.getTiddlerText(\"$:/config/HtmlParser/SandboxTokens\",\"\")};\n\t}\n\tthis.source = text;\n\tthis.type = type;\n};\n\nexports[\"text/html\"] = HtmlParser;\n"
  },
  {
    "path": "core/modules/parsers/imageparser.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/imageparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe image parser parses an image into an embeddable HTML element\n\n\\*/\n\n\"use strict\";\n\nvar ImageParser = function(type,text,options) {\n\tvar element = {\n\t\ttype: \"image\",\n\t\tattributes: {}\n\t};\n\tif(options._canonical_uri) {\n\t\telement.attributes.source = {type: \"string\", value: options._canonical_uri};\n\t} else if(text) {\n\t\tif(type === \"image/svg+xml\" || type === \".svg\") {\n\t\t\telement.attributes.source = {type: \"string\", value: \"data:image/svg+xml,\" + encodeURIComponent(text)};\n\t\t} else {\n\t\t\telement.attributes.source = {type: \"string\", value: \"data:\" + type + \";base64,\" + text};\n\t\t}\n\t}\n\tthis.tree = [element];\n\tthis.source = text;\n\tthis.type = type;\n};\n\nexports[\"image/svg+xml\"] = ImageParser;\nexports[\"image/jpg\"] = ImageParser;\nexports[\"image/jpeg\"] = ImageParser;\nexports[\"image/png\"] = ImageParser;\nexports[\"image/gif\"] = ImageParser;\nexports[\"image/webp\"] = ImageParser;\nexports[\"image/heic\"] = ImageParser;\nexports[\"image/heif\"] = ImageParser;\nexports[\"image/avif\"] = ImageParser;\nexports[\"image/x-icon\"] = ImageParser;\nexports[\"image/vnd.microsoft.icon\"] = ImageParser;\n"
  },
  {
    "path": "core/modules/parsers/parseutils.js",
    "content": "/*\\\ntitle: $:/core/modules/utils/parseutils.js\ntype: application/javascript\nmodule-type: utils\n\nUtility functions concerned with parsing text into tokens.\n\nMost functions have the following pattern:\n\n* The parameters are:\n** `source`: the source string being parsed\n** `pos`: the current parse position within the string\n** Any further parameters are used to identify the token that is being parsed\n* The return value is:\n** null if the token was not found at the specified position\n** an object representing the token with the following standard fields:\n*** `type`: string indicating the type of the token\n*** `start`: start position of the token in the source string\n*** `end`: end position of the token in the source string\n*** Any further fields required to describe the token\n\nThe exception is `skipWhiteSpace`, which just returns the position after the whitespace.\n\n\\*/\n\n\"use strict\";\n\n/*\nLook for a whitespace token. Returns null if not found, otherwise returns {type: \"whitespace\", start:, end:,}\n*/\nexports.parseWhiteSpace = function(source,pos) {\n\tvar p = pos,c;\n\twhile(true) {\n\t\tc = source.charAt(p);\n\t\tif((c === \" \") || (c === \"\\f\") || (c === \"\\n\") || (c === \"\\r\") || (c === \"\\t\") || (c === \"\\v\") || (c === \"\\u00a0\")) { // Ignores some obscure unicode spaces\n\t\t\tp++;\n\t\t} else {\n\t\t\tbreak;\n\t\t}\n\t}\n\tif(p === pos) {\n\t\treturn null;\n\t} else {\n\t\treturn {\n\t\t\ttype: \"whitespace\",\n\t\t\tstart: pos,\n\t\t\tend: p\n\t\t};\n\t}\n};\n\n/*\nConvenience wrapper for parseWhiteSpace. Returns the position after the whitespace\n*/\nexports.skipWhiteSpace = function(source,pos) {\n\tvar c;\n\twhile(true) {\n\t\tc = source.charAt(pos);\n\t\tif((c === \" \") || (c === \"\\f\") || (c === \"\\n\") || (c === \"\\r\") || (c === \"\\t\") || (c === \"\\v\") || (c === \"\\u00a0\")) { // Ignores some obscure unicode spaces\n\t\t\tpos++;\n\t\t} else {\n\t\t\treturn pos;\n\t\t}\n\t}\n};\n\n/*\nLook for a given string token. Returns null if not found, otherwise returns {type: \"token\", value:, start:, end:,}\n*/\nexports.parseTokenString = function(source,pos,token) {\n\tvar match = source.indexOf(token,pos) === pos;\n\tif(match) {\n\t\treturn {\n\t\t\ttype: \"token\",\n\t\t\tvalue: token,\n\t\t\tstart: pos,\n\t\t\tend: pos + token.length\n\t\t};\n\t}\n\treturn null;\n};\n\n/*\nLook for a token matching a regex. Returns null if not found, otherwise returns {type: \"regexp\", match:, start:, end:,}\nUse the \"Y\" (sticky) flag to avoid searching the entire rest of the string\n*/\nexports.parseTokenRegExp = function(source,pos,reToken) {\n\tvar node = {\n\t\ttype: \"regexp\",\n\t\tstart: pos\n\t};\n\treToken.lastIndex = pos;\n\tnode.match = reToken.exec(source);\n\tif(node.match && node.match.index === pos) {\n\t\tnode.end = pos + node.match[0].length;\n\t\treturn node;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nLook for a string literal. Returns null if not found, otherwise returns {type: \"string\", value:, start:, end:,}\n*/\nexports.parseStringLiteral = function(source,pos) {\n\tvar node = {\n\t\ttype: \"string\",\n\t\tstart: pos\n\t};\n\tvar reString = /(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\")|(?:'([^']*)')|\\[\\[((?:[^\\]]|\\](?!\\]))*)\\]\\]/g;\n\treString.lastIndex = pos;\n\tvar match = reString.exec(source);\n\tif(match && match.index === pos) {\n\t\tnode.value = match[1] !== undefined ? match[1] :(\n\t\t\tmatch[2] !== undefined ? match[2] : (\n\t\t\t\tmatch[3] !== undefined ? match[3] : match[4]\n\t\t\t));\n\t\tnode.end = pos + match[0].length;\n\t\treturn node;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nReturns an array of {name:} with an optional \"default\" property. Options include:\nrequireParenthesis: require the parameter definition to be wrapped in parenthesis\n*/\nexports.parseParameterDefinition = function(paramString,options) {\n\toptions = options || {};\n\tif(options.requireParenthesis) {\n\t\tvar parenMatch = /^\\s*\\((.*)\\)\\s*$/g.exec(paramString);\n\t\tif(!parenMatch) {\n\t\t\treturn [];\n\t\t}\n\t\tparamString = parenMatch[1];\n\t}\n\tvar params = [],\n\t\treParam = /\\s*([^:),\\s]+)(?:\\s*:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|([^,\"'\\s]+)))?/mg,\n\t\tparamMatch = reParam.exec(paramString);\n\twhile(paramMatch) {\n\t\t// Save the parameter details\n\t\tvar paramInfo = {name: paramMatch[1]},\n\t\t\tdefaultValue = paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5];\n\t\tif(defaultValue !== undefined) {\n\t\t\t// Check for an MVV reference ((varname))\n\t\t\tvar mvvDefaultMatch = /^\\(\\(([^)|]+)\\)\\)$/.exec(defaultValue);\n\t\t\tif(mvvDefaultMatch) {\n\t\t\t\tparamInfo.defaultType = \"multivalue-variable\";\n\t\t\t\tparamInfo.defaultVariable = mvvDefaultMatch[1];\n\t\t\t} else {\n\t\t\t\tparamInfo[\"default\"] = defaultValue;\n\t\t\t}\n\t\t}\n\t\tparams.push(paramInfo);\n\t\t// Look for the next parameter\n\t\tparamMatch = reParam.exec(paramString);\n\t}\n\treturn params;\n};\n\nexports.parseMacroParameters = function(node,source,pos) {\n\t// Process parameters\n\tvar parameter = $tw.utils.parseMacroParameter(source,pos);\n\twhile(parameter) {\n\t\tnode.params.push(parameter);\n\t\tpos = parameter.end;\n\t\t// Get the next parameter\n\t\tparameter = $tw.utils.parseMacroParameter(source,pos);\n\t}\n\tnode.end = pos;\n\treturn node;\n};\n\n/*\nLook for a macro invocation parameter. Returns null if not found, or {type: \"macro-parameter\", name:, value:, start:, end:}\n*/\nexports.parseMacroParameter = function(source,pos) {\n\tvar node = {\n\t\ttype: \"macro-parameter\",\n\t\tstart: pos\n\t};\n\t// Define our regexp\n\tconst reMacroParameter = /(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[((?:[^\\]]|\\](?!\\]))*)\\]\\]|((?:(?:>(?!>))|[^\\s>\"'])+)))/y;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the parameter\n\tvar token = $tw.utils.parseTokenRegExp(source,pos,reMacroParameter);\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Get the parameter details\n\tnode.value = token.match[2] !== undefined ? token.match[2] : (\n\t\ttoken.match[3] !== undefined ? token.match[3] : (\n\t\t\ttoken.match[4] !== undefined ? token.match[4] : (\n\t\t\t\ttoken.match[5] !== undefined ? token.match[5] : (\n\t\t\t\t\ttoken.match[6] !== undefined ? token.match[6] : (\n\t\t\t\t\t\t\"\"\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t)\n\t\t)\n\t);\n\tif(token.match[1]) {\n\t\tnode.name = token.match[1];\n\t}\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n/*\nLook for a macro invocation. Returns null if not found, or {type: \"transclude\", attributes:, start:, end:}\n*/\nexports.parseMacroInvocationAsTransclusion = function(source,pos) {\n\tvar node = {\n\t\ttype: \"transclude\",\n\t\tstart: pos,\n\t\tattributes: {},\n\t\torderedAttributes: []\n\t};\n\t// Define our regexps\n\tvar reVarName = /([^\\s>\"'=:]+)/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a double opening angle bracket\n\tvar token = $tw.utils.parseTokenString(source,pos,\"<<\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Get the variable name for the macro\n\ttoken = $tw.utils.parseTokenRegExp(source,pos,reVarName);\n\tif(!token) {\n\t\treturn null;\n\t}\n\t$tw.utils.addAttributeToParseTreeNode(node,\"$variable\",token.match[1]);\n\tpos = token.end;\n\t// Check that the tag is terminated by a space or >>\n\tif(!$tw.utils.parseWhiteSpace(source,pos) && !(source.charAt(pos) === \">\" && source.charAt(pos + 1) === \">\") ) {\n\t\treturn null;\n\t}\n\t// Process attributes\n\tpos = $tw.utils.parseMacroParametersAsAttributes(node,source,pos);\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a double closing angle bracket\n\ttoken = $tw.utils.parseTokenString(source,pos,\">>\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tnode.end = token.end;\n\treturn node;\n};\n\n/*\nLook for an MVV (multi-valued variable) reference as a transclusion, i.e. ((varname)) or ((varname params))\nReturns null if not found, or a parse tree node of type \"transclude\" with isMVV: true\n*/\nexports.parseMVVReferenceAsTransclusion = function(source,pos) {\n\tvar node = {\n\t\ttype: \"transclude\",\n\t\tisMVV: true,\n\t\tstart: pos,\n\t\tattributes: {},\n\t\torderedAttributes: []\n\t};\n\t// Define our regexps\n\tvar reVarName = /([^\\s>\"'=:)]+)/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a double opening parenthesis\n\tvar token = $tw.utils.parseTokenString(source,pos,\"((\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Get the variable name\n\ttoken = $tw.utils.parseTokenRegExp(source,pos,reVarName);\n\tif(!token) {\n\t\treturn null;\n\t}\n\t$tw.utils.addAttributeToParseTreeNode(node,\"$variable\",token.match[1]);\n\tpos = token.end;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a double closing parenthesis\n\ttoken = $tw.utils.parseTokenString(source,pos,\"))\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tnode.end = token.end;\n\treturn node;\n};\n\n/*\nParse macro parameters as attributes. Returns the position after the last attribute\n*/\nexports.parseMacroParametersAsAttributes = function(node,source,pos) {\n\tvar position = 0,\n\t\tattribute = $tw.utils.parseMacroParameterAsAttribute(source,pos);\n\twhile(attribute) {\n\t\tif(!attribute.name) {\n\t\t\tattribute.name = (position++) + \"\";\n\t\t\tattribute.isPositional = true;\n\t\t}\n\t\tnode.orderedAttributes.push(attribute);\n\t\tnode.attributes[attribute.name] = attribute;\n\t\tpos = attribute.end;\n\t\t// Get the next attribute\n\t\tattribute = $tw.utils.parseMacroParameterAsAttribute(source,pos);\n\t}\n\tnode.end = pos;\n\treturn pos;\n};\n\n/*\nParse a macro parameter as an attribute. Returns null if not found, otherwise returns {name:, type: \"filtered|string|indirect|macro\", value|filter|textReference:, start:, end:,}, with the name being optional\n*/\nexports.parseMacroParameterAsAttribute = function(source,pos) {\n\tvar node = {\n\t\tstart: pos\n\t};\n\t// Define our regexps\n\tvar reAttributeName = /([^\\/\\s>\"'`=:]+)/g,\n\t\treUnquotedAttribute = /((?:(?:>(?!>))|[^\\s>\"'])+)/g,\n\t\treFilteredValue = /\\{\\{\\{([\\S\\s]+?)\\}\\}\\}/g,\n\t\treIndirectValue = /\\{\\{([^\\}]+)\\}\\}/g,\n\t\treSubstitutedValue = /(?:```([\\s\\S]*?)```|`([^`]|[\\S\\s]*?)`)/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Get the attribute name and the separator token\n\tvar nameToken = $tw.utils.parseTokenRegExp(source,pos,reAttributeName),\n\t\tnamePos = nameToken && $tw.utils.skipWhiteSpace(source,nameToken.end),\n\t\tseparatorToken = nameToken && $tw.utils.parseTokenRegExp(source,namePos,/=|:/g),\n\t\tisNewStyleSeparator = false; // If there is no separator then we don't allow new style values\n\t// If we have a name and a separator then we have a named attribute\n\tif(nameToken && separatorToken) {\n\t\tnode.name = nameToken.match[1];\n\t\t// key value separator is `=` or `:`\n\t\tnode.assignmentOperator = separatorToken.match[0];\n\t\tpos = separatorToken.end;\n\t\tisNewStyleSeparator = (node.assignmentOperator === \"=\");\n\t}\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a string literal\n\tvar stringLiteral = $tw.utils.parseStringLiteral(source,pos);\n\tif(stringLiteral) {\n\t\tpos = stringLiteral.end;\n\t\tnode.type = \"string\";\n\t\tnode.value = stringLiteral.value;\n\t\t// Mark the value as having been quoted in the source\n\t\tnode.quoted = true;\n\t} else {\n\t\t// Look for a filtered value\n\t\tvar filteredValue = $tw.utils.parseTokenRegExp(source,pos,reFilteredValue);\n\t\tif(filteredValue && isNewStyleSeparator) {\n\t\t\tpos = filteredValue.end;\n\t\t\tnode.type = \"filtered\";\n\t\t\tnode.filter = filteredValue.match[1];\n\t\t} else {\n\t\t\t// Look for an indirect value\n\t\t\tvar indirectValue = $tw.utils.parseTokenRegExp(source,pos,reIndirectValue);\n\t\t\tif(indirectValue && isNewStyleSeparator) {\n\t\t\t\tpos = indirectValue.end;\n\t\t\t\tnode.type = \"indirect\";\n\t\t\t\tnode.textReference = indirectValue.match[1];\n\t\t\t} else {\n\t\t\t\t// Look for a macro invocation value\n\t\t\t\tvar macroInvocation = $tw.utils.parseMacroInvocationAsTransclusion(source,pos);\n\t\t\t\tif(macroInvocation && isNewStyleSeparator) {\n\t\t\t\t\tpos = macroInvocation.end;\n\t\t\t\t\tnode.type = \"macro\";\n\t\t\t\t\tnode.value = macroInvocation;\n\t\t\t\t} else {\n\t\t\t\t\t// Look for an MVV reference value\n\t\t\t\t\tvar mvvReference = $tw.utils.parseMVVReferenceAsTransclusion(source,pos);\n\t\t\t\t\tif(mvvReference && isNewStyleSeparator) {\n\t\t\t\t\t\tpos = mvvReference.end;\n\t\t\t\t\t\tnode.type = \"macro\";\n\t\t\t\t\t\tnode.value = mvvReference;\n\t\t\t\t\t\tnode.isMVV = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar substitutedValue = $tw.utils.parseTokenRegExp(source,pos,reSubstitutedValue);\n\t\t\t\t\t\tif(substitutedValue && isNewStyleSeparator) {\n\t\t\t\t\t\t\tpos = substitutedValue.end;\n\t\t\t\t\t\t\tnode.type = \"substituted\";\n\t\t\t\t\t\t\tnode.rawValue = substitutedValue.match[1] || substitutedValue.match[2];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Look for a unquoted value\n\t\t\t\t\t\t\tvar unquotedValue = $tw.utils.parseTokenRegExp(source,pos,reUnquotedAttribute);\n\t\t\t\t\t\t\tif(unquotedValue) {\n\t\t\t\t\t\t\t\tpos = unquotedValue.end;\n\t\t\t\t\t\t\t\tnode.type = \"string\";\n\t\t\t\t\t\t\t\tnode.value = unquotedValue.match[1];\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t// Bail if we don't have a value\n\tif(!node.type) {\n\t\treturn null;\n\t}\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n/*\nLook for a macro invocation. Returns null if not found, or {type: \"macrocall\", name:, params:, start:, end:}\n*/\nexports.parseMacroInvocation = function(source,pos) {\n\tvar node = {\n\t\ttype: \"macrocall\",\n\t\tstart: pos,\n\t\tparams: []\n\t};\n\t// Define our regexps\n\tconst reMacroName = /([^\\s>\"'=]+)/y;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a double less than sign\n\tvar token = $tw.utils.parseTokenString(source,pos,\"<<\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Get the macro name\n\tvar name = $tw.utils.parseTokenRegExp(source,pos,reMacroName);\n\tif(!name) {\n\t\treturn null;\n\t}\n\tnode.name = name.match[1];\n\tpos = name.end;\n\tnode = $tw.utils.parseMacroParameters(node,source,pos);\n\tpos = node.end;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a double greater than sign\n\ttoken = $tw.utils.parseTokenString(source,pos,\">>\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\nexports.parseFilterVariable = function(source) {\n\tvar node = {\n\t\t\tname: \"\",\n\t\t\tparams: [],\n\t\t},\n\t\tpos = 0,\n\t\treName = /([^\\s\"']+)/y;\n\t// If there is no whitespace or it is an empty string then there are no macro parameters\n\tif(/^\\S*$/.test(source)) {\n\t\tnode.name = source;\n\t\treturn node;\n\t}\n\t// Get the variable name\n\tvar nameMatch = $tw.utils.parseTokenRegExp(source,pos,reName);\n\tif(nameMatch) {\n\t\tnode.name = nameMatch.match[1];\n\t\tpos = nameMatch.end;\n\t\tnode = $tw.utils.parseMacroParameters(node,source,pos);\n\t\tdelete node.end;\n\t}\n\treturn node;\n};\n\n/*\nLook for an HTML attribute definition. Returns null if not found, otherwise returns {name:, type: \"filtered|string|indirect|macro\", value|filter|textReference:, start:, end:,}\n*/\nexports.parseAttribute = function(source,pos) {\n\tvar node = {\n\t\tstart: pos\n\t};\n\t// Define our regexps\n\tconst reAttributeName = /([^\\/\\s>\"'`=]+)/y,\n\t\treUnquotedAttribute = /([^\\/\\s<>\"'`=]+)/y,\n\t\treFilteredValue = /\\{\\{\\{([\\S\\s]+?)\\}\\}\\}/y,\n\t\treIndirectValue = /\\{\\{([^\\}]+)\\}\\}/y,\n\t\treSubstitutedValue = /(?:```([\\s\\S]*?)```|`([^`]|[\\S\\s]*?)`)/y;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Get the attribute name\n\tvar name = $tw.utils.parseTokenRegExp(source,pos,reAttributeName);\n\tif(!name) {\n\t\treturn null;\n\t}\n\tnode.name = name.match[1];\n\tpos = name.end;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for an equals sign\n\tvar token = $tw.utils.parseTokenString(source,pos,\"=\");\n\tif(token) {\n\t\tpos = token.end;\n\t\t// Skip whitespace\n\t\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t\t// Look for a string literal\n\t\tvar stringLiteral = $tw.utils.parseStringLiteral(source,pos);\n\t\tif(stringLiteral) {\n\t\t\tpos = stringLiteral.end;\n\t\t\tnode.type = \"string\";\n\t\t\tnode.value = stringLiteral.value;\n\t\t} else {\n\t\t\t// Look for a filtered value\n\t\t\tvar filteredValue = $tw.utils.parseTokenRegExp(source,pos,reFilteredValue);\n\t\t\tif(filteredValue) {\n\t\t\t\tpos = filteredValue.end;\n\t\t\t\tnode.type = \"filtered\";\n\t\t\t\tnode.filter = filteredValue.match[1];\n\t\t\t} else {\n\t\t\t\t// Look for an indirect value\n\t\t\t\tvar indirectValue = $tw.utils.parseTokenRegExp(source,pos,reIndirectValue);\n\t\t\t\tif(indirectValue) {\n\t\t\t\t\tpos = indirectValue.end;\n\t\t\t\t\tnode.type = \"indirect\";\n\t\t\t\t\tnode.textReference = indirectValue.match[1];\n\t\t\t\t} else {\n\t\t\t\t\t// Look for a macro invocation value\n\t\t\t\t\tvar macroInvocation = $tw.utils.parseMacroInvocationAsTransclusion(source,pos);\n\t\t\t\t\tif(macroInvocation) {\n\t\t\t\t\t\tpos = macroInvocation.end;\n\t\t\t\t\t\tnode.type = \"macro\";\n\t\t\t\t\t\tnode.value = macroInvocation;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Look for an MVV reference value\n\t\t\t\t\t\tvar mvvReference = $tw.utils.parseMVVReferenceAsTransclusion(source,pos);\n\t\t\t\t\t\tif(mvvReference) {\n\t\t\t\t\t\t\tpos = mvvReference.end;\n\t\t\t\t\t\t\tnode.type = \"macro\";\n\t\t\t\t\t\t\tnode.value = mvvReference;\n\t\t\t\t\t\t\tnode.isMVV = true;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar substitutedValue = $tw.utils.parseTokenRegExp(source,pos,reSubstitutedValue);\n\t\t\t\t\t\t\tif(substitutedValue) {\n\t\t\t\t\t\t\t\tpos = substitutedValue.end;\n\t\t\t\t\t\t\t\tnode.type = \"substituted\";\n\t\t\t\t\t\t\t\tnode.rawValue = substitutedValue.match[1] || substitutedValue.match[2];\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t// Look for a unquoted value\n\t\t\t\t\t\t\t\tvar unquotedValue = $tw.utils.parseTokenRegExp(source,pos,reUnquotedAttribute);\n\t\t\t\t\t\t\t\tif(unquotedValue) {\n\t\t\t\t\t\t\t\t\tpos = unquotedValue.end;\n\t\t\t\t\t\t\t\t\tnode.type = \"string\";\n\t\t\t\t\t\t\t\t\tnode.value = unquotedValue.match[1];\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tnode.type = \"string\";\n\t\t\t\t\t\t\t\t\tnode.value = \"true\";\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// If there is no equals sign or colon, then this is an attribute with no value, defaulting to \"true\"\n\t\tnode.type = \"string\";\n\t\tnode.value = \"true\";\n\t}\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n"
  },
  {
    "path": "core/modules/parsers/pdfparser.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/pdfparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe PDF parser embeds a PDF viewer\n\n\\*/\n\n\"use strict\";\n\nvar ImageParser = function(type,text,options) {\n\tvar element = {\n\t\ttype: \"element\",\n\t\ttag: \"iframe\",\n\t\tattributes: {}\n\t};\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t} else if(text) {\n\t\telement.attributes.src = {type: \"string\", value: \"data:application/pdf;base64,\" + text};\n\t}\n\tthis.tree = [element];\n\tthis.source = text;\n\tthis.type = type;\n};\n\nexports[\"application/pdf\"] = ImageParser;\n"
  },
  {
    "path": "core/modules/parsers/textparser.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/textparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe plain text parser processes blocks of source text into a degenerate parse tree consisting of a single text node\n\n\\*/\n\n\"use strict\";\n\nvar TextParser = function(type,text,options) {\n\tthis.tree = [{\n\t\ttype: \"genesis\",\n\t\tattributes: {\n\t\t\t$type: {name: \"$type\", type: \"string\", value: \"$codeblock\"},\n\t\t\tcode: {name: \"code\", type: \"string\", value: text},\n\t\t\tlanguage: {name: \"language\", type: \"string\", value: type},\n\t\t\t$remappable: {name: \"$remappable\", type:\"string\", value: \"no\"}\n\t\t}\n\t}];\n\tthis.source = text;\n\tthis.type = type;\n};\n\nexports[\"text/plain\"] = TextParser;\nexports[\"text/x-tiddlywiki\"] = TextParser;\nexports[\"application/javascript\"] = TextParser;\nexports[\"application/json\"] = TextParser;\nexports[\"text/css\"] = TextParser;\nexports[\"application/x-tiddler-dictionary\"] = TextParser;\n"
  },
  {
    "path": "core/modules/parsers/videoparser.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/videoparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe video parser parses a video tiddler into an embeddable HTML element\n\n\\*/\n\n\"use strict\";\n\nvar VideoParser = function(type,text,options) {\n\tvar element = {\n\t\ttype: \"element\",\n\t\ttag: \"video\",\n\t\tattributes: {\n\t\t\tcontrols: {type: \"string\", value: \"controls\"},\n\t\t\tstyle: {type: \"string\", value: \"width: 100%; object-fit: contain\"}\n\t\t}\n\t};\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t} else if(text) {\n\t\telement.attributes.src = {type: \"string\", value: \"data:\" + type + \";base64,\" + text};\n\t}\n\tthis.tree = [element];\n\tthis.source = text;\n\tthis.type = type;\n};\n\nexports[\"video/ogg\"] = VideoParser;\nexports[\"video/webm\"] = VideoParser;\nexports[\"video/mp4\"] = VideoParser;\nexports[\"video/quicktime\"] = VideoParser;\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/codeblock.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/codeblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for code blocks. For example:\n\n```\n\t```\n\tThis text will not be //wikified//\n\t```\n```\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"codeblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match and get language if defined\n\tthis.matchRegExp = /```([\\w-]*)\\r?\\n/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /(\\r?\\n```$)/mg;\n\tvar languageStart = this.parser.pos + 3,\n\t\tlanguageEnd = languageStart + this.match[1].length;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Look for the end of the block\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(this.parser.source),\n\t\ttext,\n\t\tcodeStart = this.parser.pos;\n\t// Process the block\n\tif(match) {\n\t\ttext = this.parser.source.substring(this.parser.pos,match.index);\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\ttext = this.parser.source.substr(this.parser.pos);\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\t// Return the $codeblock widget\n\treturn [{\n\t\ttype: \"codeblock\",\n\t\tattributes: {\n\t\t\tcode: {type: \"string\", value: text, start: codeStart, end: this.parser.pos},\n\t\t\tlanguage: {type: \"string\", value: this.match[1], start: languageStart, end: languageEnd}\n\t\t}\n\t}];\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/codeinline.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/codeinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for code runs. For example:\n\n```\n\tThis is a `code run`.\n\tThis is another ``code run``\n```\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"codeinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(``?)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar reEnd = new RegExp(this.match[1], \"mg\");\n\t// Look for the end marker\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(this.parser.source),\n\t\ttext,\n\t\tstart = this.parser.pos;\n\t// Process the text\n\tif(match) {\n\t\ttext = this.parser.source.substring(this.parser.pos,match.index);\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\ttext = this.parser.source.substr(this.parser.pos);\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"code\",\n\t\tchildren: [{\n\t\t\ttype: \"text\",\n\t\t\ttext: text,\n\t\t\tstart: start,\n\t\t\tend: this.parser.pos\n\t\t}]\n\t}];\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/commentblock.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/commentblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for HTML comments. For example:\n\n```\n<!-- This is a comment -->\n\\define macroX()\n<!-- This is a comment -->\nxxxx\n\\end\n<!-- This is a comment -->\n\n```\n\nNote that the syntax for comments is simplified to an opening \"<!--\" sequence and a closing \"-->\" sequence -- HTML itself implements a more complex format (see http://ostermiller.org/findhtmlcomment.html)\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"commentblock\";\nexports.types = {block: true, pragma: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\tthis.matchRegExp = /<!--/mg;\n\tthis.endMatchRegExp = /-->/mg;\n};\n\nexports.findNextMatch = function(startPos) {\n\tthis.matchRegExp.lastIndex = startPos;\n\tthis.match = this.matchRegExp.exec(this.parser.source);\n\tif(this.match) {\n\t\tthis.endMatchRegExp.lastIndex = this.match.index + this.match[0].length;\n\t\tthis.endMatch = this.endMatchRegExp.exec(this.parser.source);\n\t\tif(this.endMatch) {\n\t\t\treturn this.match.index;\n\t\t}\n\t}\n\treturn undefined;\n};\n\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.endMatchRegExp.lastIndex;\n\t// Return a node representing the comment that is not rendered\n\tvar commentStart = this.match.index;\n\tvar commentEnd = this.endMatch.index + this.endMatch[0].length;\n\treturn [{\n\t\ttype: \"void\",\n\t\tchildren: [],\n\t\ttext: this.parser.source.slice(commentStart, commentEnd),\n\t\tstart: commentStart,\n\t\tend: commentEnd\n\t}];\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/commentinline.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/commentinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for HTML comments. For example:\n\n```\n<!-- This is a comment -->\n```\n\nNote that the syntax for comments is simplified to an opening \"<!--\" sequence and a closing \"-->\" sequence -- HTML itself implements a more complex format (see http://ostermiller.org/findhtmlcomment.html)\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"commentinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\tthis.matchRegExp = /<!--/mg;\n\tthis.endMatchRegExp = /-->/mg;\n};\n\nexports.findNextMatch = function(startPos) {\n\tthis.matchRegExp.lastIndex = startPos;\n\tthis.match = this.matchRegExp.exec(this.parser.source);\n\tif(this.match) {\n\t\tthis.endMatchRegExp.lastIndex = this.match.index + this.match[0].length;\n\t\tthis.endMatch = this.endMatchRegExp.exec(this.parser.source);\n\t\tif(this.endMatch) {\n\t\t\treturn this.match.index;\n\t\t}\n\t}\n\treturn undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.endMatchRegExp.lastIndex;\n\t// Return a node representing the inline comment\n\tvar commentStart = this.match.index;\n\tvar commentEnd = this.endMatch.index + this.endMatch[0].length;\n\treturn [{\n\t\ttype: \"void\",\n\t\ttext: this.parser.source.slice(commentStart, commentEnd),\n\t\tstart: commentStart,\n\t\tend: commentEnd\n\t}];\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/conditional.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/conditional.js\ntype: application/javascript\nmodule-type: wikirule\n\nConditional shortcut syntax\n\n```\nThis is a <%if [{something}] %>Elephant<%elseif [{else}] %>Pelican<%else%>Crocodile<%endif%>\n```\n\n\\*/\n\"use strict\";\n\nexports.name = \"conditional\";\nexports.types = {inline: true, block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\<\\%\\s*if\\s+/mg;\n\tthis.terminateIfRegExp = /\\%\\>/mg;\n};\n\nexports.findNextMatch = function(startPos) {\n\t// Look for the next <%if shortcut\n\tthis.matchRegExp.lastIndex = startPos;\n\tthis.match = this.matchRegExp.exec(this.parser.source);\n\t// If not found then return no match\n\tif(!this.match) {\n\t\treturn undefined;\n\t}\n\t// Check for the next %>\n\tthis.terminateIfRegExp.lastIndex = this.match.index;\n\tthis.terminateIfMatch = this.terminateIfRegExp.exec(this.parser.source);\n\t// If not found then return no match\n\tif(!this.terminateIfMatch) {\n\t\treturn undefined;\n\t}\n\t// Return the position at which the construction was found\n\treturn this.match.index;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get the filter condition\n\tvar filterCondition = this.parser.source.substring(this.match.index + this.match[0].length,this.terminateIfMatch.index);\n\t// Advance the parser position to past the %>\n\tthis.parser.pos = this.terminateIfMatch.index + this.terminateIfMatch[0].length;\n\t// Parse the if clause\n\treturn this.parseIfClause(filterCondition);\n};\n\nexports.parseIfClause = function(filterCondition) {\n\t// Create the list widget\n\tvar listWidget = {\n\t\ttype: \"list\",\n\t\ttag: \"$list\",\n\t\tisBlock: this.is.block,\n\t\tchildren: [\n\t\t\t{\n\t\t\t\ttype: \"list-template\",\n\t\t\t\ttag: \"$list-template\"\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: \"list-empty\",\n\t\t\t\ttag: \"$list-empty\"\n\t\t\t}\n\t\t]\n\t};\n\t$tw.utils.addAttributeToParseTreeNode(listWidget,\"filter\",filterCondition);\n\t$tw.utils.addAttributeToParseTreeNode(listWidget,\"variable\",\"condition\");\n\t$tw.utils.addAttributeToParseTreeNode(listWidget,\"limit\",\"1\");\n\t// Check for an immediately following double linebreak\n\tvar hasLineBreak = !!$tw.utils.parseTokenRegExp(this.parser.source,this.parser.pos,/([^\\S\\n\\r]*\\r?\\n(?:[^\\S\\n\\r]*\\r?\\n|$))/g);\n\t// Parse the body looking for else or endif\n\tvar reEndString = \"\\\\<\\\\%\\\\s*(endif)\\\\s*\\\\%\\\\>|\\\\<\\\\%\\\\s*(else)\\\\s*\\\\%\\\\>|\\\\<\\\\%\\\\s*(elseif)\\\\s+([\\\\s\\\\S]+?)\\\\%\\\\>\",\n\t\tex;\n\tif(hasLineBreak) {\n\t\tex = this.parser.parseBlocksTerminatedExtended(reEndString);\n\t} else {\n\t\tvar reEnd = new RegExp(reEndString,\"mg\");\n\t\tex = this.parser.parseInlineRunTerminatedExtended(reEnd,{eatTerminator: true});\n\t}\n\t// Put the body into the list template\n\tlistWidget.children[0].children = ex.tree;\n\t// Check for an else or elseif\n\tif(ex.match) {\n\t\tif(ex.match[1] === \"endif\") {\n\t\t\t// Nothing to do if we just found an endif\n\t\t} else if(ex.match[2] === \"else\") {\n\t\t\t// Check for an immediately following double linebreak\n\t\t\thasLineBreak = !!$tw.utils.parseTokenRegExp(this.parser.source,this.parser.pos,/([^\\S\\n\\r]*\\r?\\n(?:[^\\S\\n\\r]*\\r?\\n|$))/g);\n\t\t\t// If we found an else then we need to parse the body looking for the endif\n\t\t\tvar reEndString = \"\\\\<\\\\%\\\\s*(endif)\\\\s*\\\\%\\\\>\",\n\t\t\t\tex;\n\t\t\tif(hasLineBreak) {\n\t\t\t\tex = this.parser.parseBlocksTerminatedExtended(reEndString);\n\t\t\t} else {\n\t\t\t\tvar reEnd = new RegExp(reEndString,\"mg\");\n\t\t\t\tex = this.parser.parseInlineRunTerminatedExtended(reEnd,{eatTerminator: true});\n\t\t\t}\n\t\t\t// Put the parsed content inside the list empty template\n\t\t\tlistWidget.children[1].children = ex.tree;\n\t\t} else if(ex.match[3] === \"elseif\") {\n\t\t\t// Parse the elseif clause by reusing this parser, passing the new filter condition\n\t\t\tlistWidget.children[1].children = this.parseIfClause(ex.match[4]);\n\t\t}\n\t}\n\t// Return the parse tree node\n\treturn [listWidget];\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/dash.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/dash.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for dashes. For example:\n\n```\nThis is an en-dash: --\n\nThis is an em-dash: ---\n```\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"dash\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /-{2,3}(?!-)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar dash = this.match[0].length === 2 ? \"&ndash;\" : \"&mdash;\";\n\treturn [{\n\t\ttype: \"entity\",\n\t\tentity: dash\n\t}];\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/emphasis/bold.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/bold.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - bold. For example:\n\n```\n\tThis is ''bold'' text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except bold \n\\rules only bold \n```\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"bold\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /''/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/''/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"strong\",\n\t\tchildren: tree\n\t}];\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/emphasis/italic.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/italic.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - italic. For example:\n\n```\n\tThis is //italic// text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except italic\n\\rules only italic\n```\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"italic\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\/\\//mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/\\/\\//mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"em\",\n\t\tchildren: tree\n\t}];\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/emphasis/strikethrough.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/strikethrough.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - strikethrough. For example:\n\n```\n\tThis is ~~strikethrough~~ text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except strikethrough \n\\rules only strikethrough \n```\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"strikethrough\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /~~/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/~~/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"s\",\n\t\tchildren: tree\n\t}];\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/emphasis/subscript.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/subscript.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - subscript. For example:\n\n```\n\tThis is ,,subscript,, text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except subscript \n\\rules only subscript \n```\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"subscript\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /,,/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/,,/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"sub\",\n\t\tchildren: tree\n\t}];\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/emphasis/superscript.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/superscript.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - superscript. For example:\n\n```\n\tThis is ^^superscript^^ text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except superscript \n\\rules only superscript \n```\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"superscript\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\^\\^/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/\\^\\^/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"sup\",\n\t\tchildren: tree\n\t}];\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/emphasis/underscore.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/underscore.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - underscore. For example:\n\n```\n\tThis is __underscore__ text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except underscore \n\\rules only underscore\n```\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"underscore\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /__/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/__/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"u\",\n\t\tchildren: tree\n\t}];\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/entity.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/entity.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for HTML entities. For example:\n\n```\n\tThis is a copyright symbol: &copy;\n```\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"entity\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(&#?[a-zA-Z0-9]{2,8};)/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Return the entity\n\treturn [{type: \"entity\", entity: this.match[0]}];\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/extlink.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/extlink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for external links. For example:\n\n```\nAn external link: https://www.tiddlywiki.com/\n\nA suppressed external link: ~http://www.tiddlyspace.com/\n```\n\nExternal links can be suppressed by preceding them with `~`.\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"extlink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /~?(?:file|http|https|mailto|ftp|irc|news|data|skype):[^\\s<>{}\\[\\]`|\"\\\\^]+(?:\\/|\\b)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tvar start = this.parser.pos;\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Create the link unless it is suppressed\n\tif(this.match[0].substr(0,1) === \"~\") {\n\t\treturn [{type: \"text\", text: this.match[0].substr(1), start: start, end: this.parser.pos}];\n\t} else {\n\t\treturn [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"a\",\n\t\t\tattributes: {\n\t\t\t\thref: {type: \"string\", value: this.match[0]},\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t\ttarget: {type: \"string\", value: \"_blank\"},\n\t\t\t\trel: {type: \"string\", value: \"noopener noreferrer\"}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: this.match[0], start: start, end: this.parser.pos\n\t\t\t}]\n\t\t}];\n\t}\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for block-level filtered transclusion. For example:\n\n```\n{{{ [tag[docs]] }}}\n{{{ [tag[docs]] |tooltip}}}\n{{{ [tag[docs]] ||TemplateTitle}}}\n{{{ [tag[docs]] |tooltip||TemplateTitle}}}\n{{{ [tag[docs]] }}width:40;height:50;}.class.class\n```\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"filteredtranscludeblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{\\{([^\\|]+?)(?:\\|([^\\|\\{\\}]+))?(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}([^\\}]*)\\}(?:\\.(\\S+))?(?:\\r?\\n|$)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tvar filterStart = this.parser.pos + 3;\n\tvar filterEnd = filterStart + this.match[1].length;\n\tvar toolTipStart = filterEnd + 1;\n\tvar toolTipEnd = toolTipStart + (this.match[2] ? this.match[2].length : 0);\n\tvar templateStart = toolTipEnd + 2;\n\tvar templateEnd = templateStart + (this.match[3] ? this.match[3].length : 0);\n\tvar styleStart = templateEnd + 2;\n\tvar styleEnd = styleStart + (this.match[4] ? this.match[4].length : 0);\n\tvar classesStart = styleEnd + 1;\n\tvar classesEnd = classesStart + (this.match[5] ? this.match[5].length : 0);\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar filter = this.match[1],\n\t\ttooltip = this.match[2],\n\t\ttemplate = $tw.utils.trim(this.match[3]),\n\t\tstyle = this.match[4],\n\t\tclasses = this.match[5];\n\t// Return the list widget\n\tvar node = {\n\t\ttype: \"list\",\n\t\tattributes: {\n\t\t\tfilter: {type: \"string\", value: filter, start: filterStart, end: filterEnd},\n\t\t},\n\t\tisBlock: true\n\t};\n\tif(tooltip) {\n\t\tnode.attributes.tooltip = {type: \"string\", value: tooltip, start: toolTipStart, end: toolTipEnd};\n\t}\n\tif(template) {\n\t\tnode.attributes.template = {type: \"string\", value: template, start: templateStart, end: templateEnd};\n\t}\n\tif(style) {\n\t\tnode.attributes.style = {type: \"string\", value: style, start: styleStart, end: styleEnd};\n\t}\n\tif(classes) {\n\t\tnode.attributes.itemClass = {type: \"string\", value: classes.split(\".\").join(\" \"), start: classesStart, end: classesEnd};\n\t}\n\treturn [node];\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for inline filtered transclusion. For example:\n\n```\n{{{ [tag[docs]] }}}\n{{{ [tag[docs]] |tooltip}}}\n{{{ [tag[docs]] ||TemplateTitle}}}\n{{{ [tag[docs]] |tooltip||TemplateTitle}}}\n{{{ [tag[docs]] }}width:40;height:50;}.class.class\n```\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"filteredtranscludeinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{\\{([^\\|]+?)(?:\\|([^\\|\\{\\}]+))?(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}([^\\}]*)\\}(?:\\.(\\S+))?/mg;\n};\n\nexports.parse = function() {\n\tvar filterStart = this.parser.pos + 3;\n\tvar filterEnd = filterStart + this.match[1].length;\n\tvar toolTipStart = filterEnd + 1;\n\tvar toolTipEnd = toolTipStart + (this.match[2] ? this.match[2].length : 0);\n\tvar templateStart = toolTipEnd + 2;\n\tvar templateEnd = templateStart + (this.match[3] ? this.match[3].length : 0);\n\tvar styleStart = templateEnd + 2;\n\tvar styleEnd = styleStart + (this.match[4] ? this.match[4].length : 0);\n\tvar classesStart = styleEnd + 1;\n\tvar classesEnd = classesStart + (this.match[5] ? this.match[5].length : 0);\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar filter = this.match[1],\n\t\ttooltip = this.match[2],\n\t\ttemplate = $tw.utils.trim(this.match[3]),\n\t\tstyle = this.match[4],\n\t\tclasses = this.match[5];\n\t// Return the list widget\n\tvar node = {\n\t\ttype: \"list\",\n\t\tattributes: {\n\t\t\tfilter: {type: \"string\", value: filter, start: filterStart, end: filterEnd},\n\t\t}\n\t};\n\tif(tooltip) {\n\t\tnode.attributes.tooltip = {type: \"string\", value: tooltip, start: toolTipStart, end: toolTipEnd};\n\t}\n\tif(template) {\n\t\tnode.attributes.template = {type: \"string\", value: template, start: templateStart, end: templateEnd};\n\t}\n\tif(style) {\n\t\tnode.attributes.style = {type: \"string\", value: style, start: styleStart, end: styleEnd};\n\t}\n\tif(classes) {\n\t\tnode.attributes.itemClass = {type: \"string\", value: classes.split(\".\").join(\" \"), start: classesStart, end: classesEnd};\n\t}\n\treturn [node];\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/fnprocdef.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/fnprocdef.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for function, procedure and widget definitions\n\n```\n\\function name(param:\"defaultvalue\", param2:\"defaultvalue\")\ndefinition text\n\\end\n\n\\procedure name(param:\"defaultvalue\", param2:\"defaultvalue\")\ndefinition text\n\\end\n\n\\widget $mywidget(param:\"defaultvalue\", param2:\"defaultvalue\")\ndefinition text\n\\end\n```\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"fnprocdef\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\\\(function|procedure|widget)\\s+([^(\\s]+)\\((\\s*([^)]*(?:\\)\\)[^)]*)*))?\\)(\\s*\\r?\\n)?/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Move past the macro name and parameters\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse the parameters\n\tvar params = [];\n\tif(this.match[3]) {\n\t\tparams = $tw.utils.parseParameterDefinition(this.match[4]);\n\t}\n\t// Is the remainder of the line blank after the parameter close paren?\n\tvar reEnd;\n\tif(this.match[5]) {\n\t\t// If so, it is a multiline definition and the end of the body is marked with \\end\n\t\treEnd = new RegExp(\"((:?^|\\\\r?\\\\n)[^\\\\S\\\\n\\\\r]*\\\\\\\\end[^\\\\S\\\\n\\\\r]*(?:\" + $tw.utils.escapeRegExp(this.match[2]) + \")?\\\\s*?(?:$|\\\\r?\\\\n))\",\"mg\");\n\t} else {\n\t\t// Otherwise, the end of the definition is marked by the end of the line\n\t\treEnd = /($|\\r?\\n)/mg;\n\t\t// Move past any whitespace\n\t\tthis.parser.pos = $tw.utils.skipWhiteSpace(this.parser.source,this.parser.pos);\n\t}\n\t// Find the end of the definition\n\treEnd.lastIndex = this.parser.pos;\n\tvar text,\n\t\tendMatch = reEnd.exec(this.parser.source);\n\tif(endMatch) {\n\t\ttext = this.parser.source.substring(this.parser.pos,endMatch.index);\n\t\tthis.parser.pos = endMatch.index + endMatch[0].length;\n\t} else {\n\t\t// We didn't find the end of the definition, so we'll make it blank\n\t\ttext = \"\";\n\t}\n\t// Save the macro definition\n\tvar parseTreeNodes = [{\n\t\ttype: \"set\",\n\t\tattributes: {},\n\t\tchildren: [],\n\t\tparams: params\n\t}];\n\t$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],\"name\",this.match[2]);\n\t$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],\"value\",text);\n\tif(this.match[1] === \"function\") {\n\t\tparseTreeNodes[0].isFunctionDefinition = true;\n\t} else if(this.match[1] === \"procedure\") {\n\t\tparseTreeNodes[0].isProcedureDefinition = true;\n\t} else if(this.match[1] === \"widget\") {\n\t\tparseTreeNodes[0].isWidgetDefinition = true;\n\t}\n\tif(this.parser.configTrimWhiteSpace) {\n\t\tparseTreeNodes[0].configTrimWhiteSpace = true;\n\t}\n\treturn parseTreeNodes;\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/hardlinebreaks.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/hardlinebreaks.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for marking areas with hard line breaks. For example:\n\n```\n\"\"\"\nThis is some text\nThat is set like\nIt is a Poem\nWhen it is\nClearly\nNot\n\"\"\"\n```\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"hardlinebreaks\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\"\"\"(?:\\r?\\n)?/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /(\"\"\")|(\\r?\\n)/mg,\n\t\ttree = [],\n\t\tmatch;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tdo {\n\t\t// Parse the run up to the terminator\n\t\ttree.push.apply(tree,this.parser.parseInlineRun(reEnd,{eatTerminator: false}));\n\t\t// Redo the terminator match\n\t\treEnd.lastIndex = this.parser.pos;\n\t\tmatch = reEnd.exec(this.parser.source);\n\t\tif(match) {\n\t\t\tvar start = this.parser.pos;\n\t\t\tthis.parser.pos = reEnd.lastIndex;\n\t\t\t// Add a line break if the terminator was a line break\n\t\t\tif(match[2]) {\n\t\t\t\ttree.push({type: \"element\", tag: \"br\", start: start, end: this.parser.pos});\n\t\t\t}\n\t\t}\n\t} while(match && !match[1]);\n\t// Mark first and last node, and return the nodes\n\tif(tree[0]) tree[0].isRuleStart = true;\n\tif(tree[tree.length-1]) tree[tree.length-1].isRuleEnd = true;\n\treturn tree;\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/heading.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/heading.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for headings\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"heading\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(!{1,6})/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar headingLevel = this.match[1].length;\n\t// Move past the !s\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse any classes, whitespace and then the heading itself\n\tvar classStart = this.parser.pos;\n\tvar classes = this.parser.parseClasses();\n\tvar classEnd = this.parser.pos;\n\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\tvar tree = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t// Return the heading\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"h\" + headingLevel,\n\t\tattributes: {\n\t\t\t\"class\": {type: \"string\", value: classes.join(\" \"), start: classStart, end: classEnd}\n\t\t},\n\t\tchildren: tree\n\t}];\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/horizrule.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/horizrule.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for rules. For example:\n\n```\n---\n```\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"horizrule\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /-{3,}\\r?(?:\\n|$)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\treturn [{type: \"element\", tag: \"hr\"}];\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/html.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/html.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki rule for HTML elements and widgets. For example:\n\n{{{\n<aside>\nThis is an HTML5 aside element\n</aside>\n\n<$slider target=\"MyTiddler\">\nThis is a widget invocation\n</$slider>\n\n}}}\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"html\";\nexports.types = {inline: true, block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\t// Find the next tag\n\tthis.nextTag = this.findNextTag(this.parser.source,startPos,{\n\t\trequireLineBreak: this.is.block\n\t});\n\treturn this.nextTag ? this.nextTag.start : undefined;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Retrieve the most recent match so that recursive calls don't overwrite it\n\tvar tag = this.nextTag;\n\tif(!tag.isSelfClosing) {\n\t\ttag.openTagStart = tag.start;\n\t\ttag.openTagEnd = tag.end;\n\t}\n\tthis.nextTag = null;\n\t// Advance the parser position to past the tag\n\tthis.parser.pos = tag.end;\n\t// Check for an immediately following double linebreak\n\tvar hasLineBreak = !tag.isSelfClosing && !!$tw.utils.parseTokenRegExp(this.parser.source,this.parser.pos,/([^\\S\\n\\r]*\\r?\\n(?:[^\\S\\n\\r]*\\r?\\n|$))/y);\n\t// Set whether we're in block mode\n\ttag.isBlock = this.is.block || hasLineBreak;\n\t// Parse the body if we need to\n\tif(!tag.isSelfClosing && $tw.config.htmlVoidElements.indexOf(tag.tag) === -1) {\n\t\tvar reEndString = \"</\" + $tw.utils.escapeRegExp(tag.tag) + \">\";\n\t\tif(hasLineBreak) {\n\t\t\ttag.children = this.parser.parseBlocks(reEndString);\n\t\t} else {\n\t\t\tvar reEnd = new RegExp(\"(\" + reEndString + \")\",\"mg\");\n\t\t\ttag.children = this.parser.parseInlineRun(reEnd,{eatTerminator: true});\n\t\t}\n\t\ttag.end = this.parser.pos;\n\t\ttag.closeTagEnd = tag.end;\n\t\tif(tag.closeTagEnd === tag.openTagEnd || this.parser.source[tag.closeTagEnd - 1] !== \">\") {\n\t\t\ttag.closeTagStart = tag.end;\n\t\t} else {\n\t\t\ttag.closeTagStart = tag.closeTagEnd - 2;\n\t\t\tvar closeTagMinPos = tag.children.length > 0 ? tag.children[tag.children.length-1].end : tag.openTagEnd;\n\t\t\tif(!Number.isSafeInteger(closeTagMinPos)) closeTagMinPos = tag.openTagEnd;\n\t\t\twhile(tag.closeTagStart >= closeTagMinPos) {\n\t\t\t\tvar char = this.parser.source[tag.closeTagStart];\n\t\t\t\tif(char === \">\") {\n\t\t\t\t\ttag.closeTagStart = -1;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(char === \"<\") break;\n\t\t\t\ttag.closeTagStart -= 1;\n\t\t\t}\n\t\t\tif(tag.closeTagStart < closeTagMinPos) {\n\t\t\t\ttag.closeTagStart = tag.end;\n\t\t\t}\n\t\t}\n\t}\n\t// Return the tag\n\treturn [tag];\n};\n\n/*\nLook for an HTML tag. Returns null if not found, otherwise returns {type: \"element\", name:, attributes: {}, orderedAttributes: [], isSelfClosing:, start:, end:,}\n*/\nexports.parseTag = function(source,pos,options) {\n\toptions = options || {};\n\tvar token,\n\t\tnode = {\n\t\t\ttype: \"element\",\n\t\t\tstart: pos,\n\t\t\tattributes: {},\n\t\t\torderedAttributes: []\n\t\t};\n\t// Define our regexps\n\tconst reTagName = /([a-zA-Z0-9\\-\\$\\.]+)/y;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a less than sign\n\ttoken = $tw.utils.parseTokenString(source,pos,\"<\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Get the tag name\n\ttoken = $tw.utils.parseTokenRegExp(source,pos,reTagName);\n\tif(!token) {\n\t\treturn null;\n\t}\n\tnode.tag = token.match[1];\n\tif(node.tag.charAt(0) === \"$\") {\n\t\tnode.type = node.tag.substr(1);\n\t}\n\tpos = token.end;\n\t// Check that the tag is terminated by a space, / or >\n\tif(!$tw.utils.parseWhiteSpace(source,pos) && !(source.charAt(pos) === \"/\") && !(source.charAt(pos) === \">\") ) {\n\t\treturn null;\n\t}\n\t// Process attributes\n\tvar attribute = $tw.utils.parseAttribute(source,pos);\n\twhile(attribute) {\n\t\tnode.orderedAttributes.push(attribute);\n\t\tnode.attributes[attribute.name] = attribute;\n\t\tpos = attribute.end;\n\t\t// Get the next attribute\n\t\tattribute = $tw.utils.parseAttribute(source,pos);\n\t}\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a closing slash\n\ttoken = $tw.utils.parseTokenString(source,pos,\"/\");\n\tif(token) {\n\t\tpos = token.end;\n\t\tnode.isSelfClosing = true;\n\t}\n\t// Look for a greater than sign\n\ttoken = $tw.utils.parseTokenString(source,pos,\">\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Check for a required line break\n\tif(options.requireLineBreak) {\n\t\ttoken = $tw.utils.parseTokenRegExp(source,pos,/([^\\S\\n\\r]*\\r?\\n(?:[^\\S\\n\\r]*\\r?\\n|$))/y);\n\t\tif(!token) {\n\t\t\treturn null;\n\t\t}\n\t}\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\nexports.findNextTag = function(source,pos,options) {\n\t// A regexp for finding candidate HTML tags\n\tvar reLookahead = /<([a-zA-Z\\-\\$\\.]+)/g;\n\t// Find the next candidate\n\treLookahead.lastIndex = pos;\n\tvar match = reLookahead.exec(source);\n\twhile(match) {\n\t\t// Try to parse the candidate as a tag\n\t\tvar tag = this.parseTag(source,match.index,options);\n\t\t// Return success\n\t\tif(tag && this.isLegalTag(tag)) {\n\t\t\treturn tag;\n\t\t}\n\t\t// Look for the next match\n\t\treLookahead.lastIndex = match.index + 1;\n\t\tmatch = reLookahead.exec(source);\n\t}\n\t// Failed\n\treturn null;\n};\n\nexports.isLegalTag = function(tag) {\n\t// Widgets are always OK\n\tif(tag.type !== \"element\") {\n\t\treturn true;\n\t// If it's an HTML tag that starts with a dash then it's not legal\n\t} else if(tag.tag.charAt(0) === \"-\") {\n\t\treturn false;\n\t} else {\n\t\t// Otherwise it's OK\n\t\treturn true;\n\t}\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/image.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/image.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for embedding images. For example:\n\n```\n[img[https://tiddlywiki.com/fractalveg.jpg]]\n[img width=23 height=24 [https://tiddlywiki.com/fractalveg.jpg]]\n[img width={{!!width}} height={{!!height}} [https://tiddlywiki.com/fractalveg.jpg]]\n[img[Description of image|https://tiddlywiki.com/fractalveg.jpg]]\n[img[TiddlerTitle]]\n[img[Description of image|TiddlerTitle]]\n```\n\nGenerates the `<$image>` widget.\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"image\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\t// Find the next tag\n\tthis.nextImage = this.findNextImage(this.parser.source,startPos);\n\treturn this.nextImage ? this.nextImage.start : undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.nextImage.end;\n\tvar node = {\n\t\ttype: \"image\",\n\t\tattributes: this.nextImage.attributes\n\t};\n\treturn [node];\n};\n\n/*\nFind the next image from the current position\n*/\nexports.findNextImage = function(source,pos) {\n\t// A regexp for finding candidate HTML tags\n\tvar reLookahead = /(\\[img)/g;\n\t// Find the next candidate\n\treLookahead.lastIndex = pos;\n\tvar match = reLookahead.exec(source);\n\twhile(match) {\n\t\t// Try to parse the candidate as a tag\n\t\tvar tag = this.parseImage(source,match.index);\n\t\t// Return success\n\t\tif(tag) {\n\t\t\treturn tag;\n\t\t}\n\t\t// Look for the next match\n\t\treLookahead.lastIndex = match.index + 1;\n\t\tmatch = reLookahead.exec(source);\n\t}\n\t// Failed\n\treturn null;\n};\n\n/*\nLook for an image at the specified position. Returns null if not found, otherwise returns {type: \"image\", attributes: [], isSelfClosing:, start:, end:,}\n*/\nexports.parseImage = function(source,pos) {\n\tvar token,\n\t\tnode = {\n\t\t\ttype: \"image\",\n\t\t\tstart: pos,\n\t\t\tattributes: {}\n\t\t};\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the `[img`\n\ttoken = $tw.utils.parseTokenString(source,pos,\"[img\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Process attributes\n\tif(source.charAt(pos) !== \"[\") {\n\t\tvar attribute = $tw.utils.parseAttribute(source,pos);\n\t\twhile(attribute) {\n\t\t\tnode.attributes[attribute.name] = attribute;\n\t\t\tpos = attribute.end;\n\t\t\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t\t\tif(source.charAt(pos) !== \"[\") {\n\t\t\t\t// Get the next attribute\n\t\t\t\tattribute = $tw.utils.parseAttribute(source,pos);\n\t\t\t} else {\n\t\t\t\tattribute = null;\n\t\t\t}\n\t\t}\n\t}\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the `[` after the attributes\n\ttoken = $tw.utils.parseTokenString(source,pos,\"[\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Get the source up to the terminating `]]`\n\ttoken = $tw.utils.parseTokenRegExp(source,pos,/(?:([^|\\]]*?)\\|)?([^\\]]+?)\\]\\]/y);\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\tif(token.match[1]) {\n\t\tnode.attributes.tooltip = {type: \"string\", value: token.match[1].trim(),start: token.start,end:token.start + token.match[1].length - 1};\n\t}\n\tnode.attributes.source = {type: \"string\", value: (token.match[2] || \"\").trim(), start: token.start + (token.match[1] ? token.match[1].length : 0), end: token.end - 2};\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/import.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/import.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for importing variable definitions\n\n```\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n```\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"import\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\\\import[^\\S\\n]/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Move past the pragma invocation\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse the filter terminated by a line break\n\tvar reMatch = /(.*)(?:$|\\r?\\n)/mg;\n\treMatch.lastIndex = this.parser.pos;\n\tvar filterStart = this.parser.source;\n\tvar match = reMatch.exec(this.parser.source);\n\tthis.parser.pos = reMatch.lastIndex;\n\t// Parse tree nodes to return\n\treturn [{\n\t\ttype: \"importvariables\",\n\t\tattributes: {\n\t\t\tfilter: {type: \"string\", value: match[1], start: filterStart, end: this.parser.pos}\n\t\t},\n\t\tchildren: []\n\t}];\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/list.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/list.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for lists. For example:\n\n```\n* This is an unordered list\n* It has two items\n\n# This is a numbered list\n## With a subitem\n# And a third item\n\n; This is a term that is being defined\n: This is the definition of that term\n```\n\nNote that lists can be nested arbitrarily:\n\n```\n#** One\n#* Two\n#** Three\n#**** Four\n#**# Five\n#**## Six\n## Seven\n### Eight\n## Nine\n```\n\nA CSS class can be applied to a list item as follows:\n\n```\n* List item one\n*.active List item two has the class `active`\n* List item three\n```\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"list\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /([\\*#;:>]+)/mg;\n};\n\nvar listTypes = {\n\t\"*\": {listTag: \"ul\", itemTag: \"li\"},\n\t\"#\": {listTag: \"ol\", itemTag: \"li\"},\n\t\";\": {listTag: \"dl\", itemTag: \"dt\"},\n\t\":\": {listTag: \"dl\", itemTag: \"dd\"},\n\t\">\": {listTag: \"blockquote\", itemTag: \"div\"}\n};\nexports.listTypes = listTypes;\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Array of parse tree nodes for the previous row of the list\n\tvar listStack = [];\n\t// Cycle through the items in the list\n\twhile(true) {\n\t\t// Match the list marker\n\t\tvar reMatch = /([\\*#;:>]+)/mg;\n\t\treMatch.lastIndex = this.parser.pos;\n\t\tvar start = this.parser.pos;\n\t\tvar match = reMatch.exec(this.parser.source);\n\t\tif(!match || match.index !== this.parser.pos) {\n\t\t\tbreak;\n\t\t}\n\t\t// Check whether the list type of the top level matches\n\t\tvar listInfo = listTypes[match[0].charAt(0)];\n\t\tif(listStack.length > 0 && listStack[0].tag !== listInfo.listTag) {\n\t\t\tbreak;\n\t\t}\n\t\t// Move past the list marker\n\t\tthis.parser.pos = match.index + match[0].length;\n\t\t// Walk through the list markers for the current row\n\t\tfor(var t=0; t<match[0].length; t++) {\n\t\t\tlistInfo = listTypes[match[0].charAt(t)];\n\t\t\t// Remove any stacked up element if we can't re-use it because the list type doesn't match\n\t\t\tif(listStack.length > t && listStack[t].tag !== listInfo.listTag) {\n\t\t\t\tlistStack.splice(t,listStack.length - t);\n\t\t\t}\n\t\t\t// Construct the list element or reuse the previous one at this level\n\t\t\tif(listStack.length <= t) {\n\t\t\t\tvar listElement = {\n\t\t\t\t\ttype: \"element\",\n\t\t\t\t\ttag: listInfo.listTag,\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"element\",\n\t\t\t\t\t\t\ttag: listInfo.itemTag,\n\t\t\t\t\t\t\tchildren: [],\n\t\t\t\t\t\t\tstart: start,\n\t\t\t\t\t\t\tend: this.parser.pos,\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\tstart: start,\n\t\t\t\t\tend: this.parser.pos,\n\t\t\t\t};\n\t\t\t\t// Link this list element into the last child item of the parent list item\n\t\t\t\tif(t) {\n\t\t\t\t\tvar prevListItem = listStack[t-1].children[listStack[t-1].children.length-1];\n\t\t\t\t\tprevListItem.children.push(listElement);\n\t\t\t\t}\n\t\t\t\t// Save this element in the stack\n\t\t\t\tlistStack[t] = listElement;\n\t\t\t} else if(t === (match[0].length - 1)) {\n\t\t\t\tlistStack[t].children.push({\n\t\t\t\t\ttype: \"element\",\n\t\t\t\t\ttag: listInfo.itemTag,\n\t\t\t\t\tchildren: [],\n\t\t\t\t\tstart: start,\n\t\t\t\t\tend: this.parser.pos,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tif(listStack.length > match[0].length) {\n\t\t\tlistStack.splice(match[0].length,listStack.length - match[0].length);\n\t\t}\n\t\t// Process the body of the list item into the last list item\n\t\tvar classStart = this.parser.pos;\n\t\tvar lastListChildren = listStack[listStack.length-1].children,\n\t\t\tlastListItem = lastListChildren[lastListChildren.length-1],\n\t\t\tclasses = this.parser.parseClasses();\n\t\tvar classEnd = this.parser.pos;\n\t\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\t\tvar tree = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t\tlastListItem.children.push.apply(lastListItem.children,tree);\n\t\tlastListItem.end = this.parser.pos;\n\t\tlistStack[listStack.length-1].end = this.parser.pos;\n\t\tif(classes.length > 0) {\n\t\t\t$tw.utils.addClassToParseTreeNode(lastListItem,classes.join(\" \"));\n\t\t\tlastListItem.attributes.class.start = classStart;\n\t\t\tlastListItem.attributes.class.end = classEnd;\n\t\t}\n\t\t// Consume any whitespace following the list item\n\t\tthis.parser.skipWhitespace();\n\t}\n\t// Return the root element of the list\n\treturn [listStack[0]];\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/macrocallblock.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrocallblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki rule for block macro calls\n\n```\n<<name value value2>>\n```\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"macrocallblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\tvar nextStart = startPos;\n\t// Try parsing at all possible macrocall openers until we match\n\twhile((nextStart = this.parser.source.indexOf(\"<<\",nextStart)) >= 0) {\n\t\tvar nextCall = $tw.utils.parseMacroInvocationAsTransclusion(this.parser.source,nextStart);\n\t\tif(nextCall) {\n\t\t\tvar c = this.parser.source.charAt(nextCall.end);\n\t\t\t// Ensure EOL after parsed macro\n\t\t\t// If we didn't need to support IE, we'd just use /(?:\\r?\\n|$)/ym\n\t\t\tif((c === \"\") || (c === \"\\n\") || ((c === \"\\r\") && this.parser.source.charAt(nextCall.end+1) === \"\\n\")) {\n\t\t\t\tthis.nextCall = nextCall;\n\t\t\t\treturn nextStart;\n\t\t\t}\n\t\t}\n\t\tnextStart += 2;\n\t}\n\treturn undefined;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\tvar call = this.nextCall;\n\tcall.isBlock = true;\n\tthis.nextCall = null;\n\tthis.parser.pos = call.end;\n\treturn [call];\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/macrocallinline.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrocallinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki rule for macro calls\n\n```\n<<name value value2>>\n```\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"macrocallinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\tvar nextStart = startPos;\n\t// Try parsing at all possible macrocall openers until we match\n\twhile((nextStart = this.parser.source.indexOf(\"<<\",nextStart)) >= 0) {\n\t\tthis.nextCall = $tw.utils.parseMacroInvocationAsTransclusion(this.parser.source,nextStart);\n\t\tif(this.nextCall) {\n\t\t\treturn nextStart;\n\t\t}\n\t\tnextStart += 2;\n\t}\n\treturn undefined;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\tvar call = this.nextCall;\n\tthis.nextCall = null;\n\tthis.parser.pos = call.end;\n\treturn [call];\n};\n\n\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/macrodef.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrodef.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for macro definitions\n\n```\n\\define name(param:defaultvalue,param2:defaultvalue)\ndefinition text, including $param$ markers\n\\end\n```\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"macrodef\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\\\define\\s+([^(\\s]+)\\(\\s*([^)]*)\\)(\\s*\\r?\\n)?/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Move past the macro name and parameters\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse the parameters\n\tvar paramString = this.match[2],\n\t\tparams = [];\n\tif(paramString !== \"\") {\n\t\tvar reParam = /\\s*([A-Za-z0-9\\-_]+)(?:\\s*:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[((?:[^\\]]|\\](?!\\]))*)\\]\\]|([^\"'\\s]+)))?/mg,\n\t\t\tparamMatch = reParam.exec(paramString);\n\t\twhile(paramMatch) {\n\t\t\t// Save the parameter details\n\t\t\tvar paramInfo = {name: paramMatch[1]},\n\t\t\t\tdefaultValue = paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5] || paramMatch[6];\n\t\t\tif(defaultValue) {\n\t\t\t\tparamInfo[\"default\"] = defaultValue;\n\t\t\t}\n\t\t\tparams.push(paramInfo);\n\t\t\t// Look for the next parameter\n\t\t\tparamMatch = reParam.exec(paramString);\n\t\t}\n\t}\n\t// Is the remainder of the \\define line blank after the parameter close paren?\n\tvar reEnd,isBlock = true;\n\tif(this.match[3]) {\n\t\t// If so, it is a multiline definition and the end of the body is marked with \\end\n\t\tisBlock = false;\n\t\treEnd = new RegExp(\"((?:^|\\\\r?\\\\n)[^\\\\S\\\\n\\\\r]*\\\\\\\\end[^\\\\S\\\\n\\\\r]*(?:\" + $tw.utils.escapeRegExp(this.match[1]) + \")?\\\\s*?(?:$|\\\\r?\\\\n))\",\"mg\");\n\t} else {\n\t\t// Otherwise, the end of the definition is marked by the end of the line\n\t\treEnd = /($|\\r?\\n)/mg;\n\t\t// Move past any whitespace\n\t\tthis.parser.pos = $tw.utils.skipWhiteSpace(this.parser.source,this.parser.pos);\n\t}\n\t// Find the end of the definition\n\treEnd.lastIndex = this.parser.pos;\n\tvar text,\n\t\tendMatch = reEnd.exec(this.parser.source);\n\tif(endMatch) {\n\t\ttext = this.parser.source.substring(this.parser.pos,endMatch.index);\n\t\tthis.parser.pos = endMatch.index + endMatch[0].length;\n\t} else {\n\t\t// We didn't find the end of the definition, so we'll make it blank\n\t\ttext = \"\";\n\t}\n\t// Save the macro definition\n\tvar parseTreeNodes = [{\n\t\ttype: \"set\",\n\t\tattributes: {},\n\t\tchildren: [],\n\t\tparams: params,\n\t\tisMacroDefinition: true,\n\t\tisBlock: isBlock && !!endMatch\n\t}];\n\t$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],\"name\",this.match[1]);\n\t$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],\"value\",text);\n\treturn parseTreeNodes;\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/mvvdisplayinline.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/mvvdisplayinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki rule for inline display of multi-valued variables and filter results.\n\nVariable display: ((varname)) or ((varname||separator))\nFilter display: (((filter))) or (((filter||separator)))\n\nThe default separator is \", \" (comma space).\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"mvvdisplayinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\tvar source = this.parser.source;\n\tvar nextStart = startPos;\n\twhile((nextStart = source.indexOf(\"((\",nextStart)) >= 0) {\n\t\tif(source.charAt(nextStart + 2) === \"(\") {\n\t\t\t// Filter mode: (((filter))) or (((filter||sep)))\n\t\t\tvar match = /^\\(\\(\\(([\\s\\S]+?)\\)\\)\\)/.exec(source.substring(nextStart));\n\t\t\tif(match) {\n\t\t\t\t// Check for separator: split on last || before )))\n\t\t\t\tvar inner = match[1];\n\t\t\t\tvar sepIndex = inner.lastIndexOf(\"||\");\n\t\t\t\tif(sepIndex >= 0) {\n\t\t\t\t\tthis.nextMatch = {\n\t\t\t\t\t\ttype: \"filter\",\n\t\t\t\t\t\tfilter: inner.substring(0,sepIndex),\n\t\t\t\t\t\tseparator: inner.substring(sepIndex + 2),\n\t\t\t\t\t\tstart: nextStart,\n\t\t\t\t\t\tend: nextStart + match[0].length\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\tthis.nextMatch = {\n\t\t\t\t\t\ttype: \"filter\",\n\t\t\t\t\t\tfilter: inner,\n\t\t\t\t\t\tseparator: \", \",\n\t\t\t\t\t\tstart: nextStart,\n\t\t\t\t\t\tend: nextStart + match[0].length\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\treturn nextStart;\n\t\t\t}\n\t\t} else {\n\t\t\t// Variable mode: ((varname)) or ((varname||sep))\n\t\t\tvar match = /^\\(\\(([^()|]+?)(?:\\|\\|([^)]*))?\\)\\)/.exec(source.substring(nextStart));\n\t\t\tif(match) {\n\t\t\t\tthis.nextMatch = {\n\t\t\t\t\ttype: \"variable\",\n\t\t\t\t\tvarName: match[1],\n\t\t\t\t\tseparator: match[2] !== undefined ? match[2] : \", \",\n\t\t\t\t\tstart: nextStart,\n\t\t\t\t\tend: nextStart + match[0].length\n\t\t\t\t};\n\t\t\t\treturn nextStart;\n\t\t\t}\n\t\t}\n\t\tnextStart += 2;\n\t}\n\treturn undefined;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\tvar match = this.nextMatch;\n\tthis.nextMatch = null;\n\tthis.parser.pos = match.end;\n\tvar filter, sep = match.separator;\n\tif(match.type === \"variable\") {\n\t\tfilter = \"[(\" + match.varName + \")join[\" + sep + \"]]\";\n\t} else {\n\t\tfilter = match.filter + \" +[join[\" + sep + \"]]\";\n\t}\n\treturn [{\n\t\ttype: \"text\",\n\t\tattributes: {\n\t\t\ttext: {name: \"text\", type: \"filtered\", filter: filter}\n\t\t},\n\t\torderedAttributes: [\n\t\t\t{name: \"text\", type: \"filtered\", filter: filter}\n\t\t]\n\t}];\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/parameters.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/parameters.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for parameter definitions\n\n```\n\\parameters(param:defaultvalue,param2:defaultvalue)\ndefinition text\n```\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"parameters\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\\\parameters\\s*\\(([^)]*)\\)(\\s*\\r?\\n)?/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Move past the macro name and parameters\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse the parameters\n\tvar params = $tw.utils.parseParameterDefinition(this.match[1]);\n\tvar attributes = Object.create(null),\n\t\torderedAttributes = [];\n\t$tw.utils.each(params,function(param) {\n\t\tvar name = param.name;\n\t\t// Parameter names starting with dollar must be escaped to double dollars for the parameters widget\n\t\tif(name.charAt(0) === \"$\") {\n\t\t\tname = \"$\" + name;\n\t\t}\n\t\tvar attribute = {name: name, type: \"string\", value: param[\"default\"] || \"\"};\n\t\tattributes[name] = attribute;\n\t\torderedAttributes.push(attribute);\n\t});\n\t// Save the macro definition\n\treturn [{\n\t\ttype: \"parameters\",\n\t\tattributes: attributes,\n\t\torderedAttributes: orderedAttributes\n\t}];\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/parsermode.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/parsermode.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for parser mode specifications\n\n```\n\\parsermode block\n\\parsermode inline\n```\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"parsermode\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\\\parsermode[^\\S\\n]/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Move past the pragma invocation\n\tvar start = this.parser.pos;\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse whitespace delimited tokens terminated by a line break\n\tvar reMatch = /[^\\S\\n]*(\\S+)|(\\r?\\n)/mg,\n\t\tparserMode = undefined;\n\treMatch.lastIndex = this.parser.pos;\n\tvar match = reMatch.exec(this.parser.source);\n\twhile(match && match.index === this.parser.pos) {\n\t\tthis.parser.pos = reMatch.lastIndex;\n\t\t// Exit if we've got the line break\n\t\tif(match[2]) {\n\t\t\tbreak;\n\t\t}\n\t\t// Process the token\n\t\tif(match[1]) {\n\t\t\tparserMode = match[1];\n\t\t}\n\t\t// Match the next token\n\t\tmatch = reMatch.exec(this.parser.source);\n\t}\n\t// Process the tokens\n\tif(parserMode !== undefined) {\n\t\tif(parserMode === \"block\") {\n\t\t\tthis.parser.parseAsInline = false;\n\t\t} else if(parserMode === \"inline\") {\n\t\t\tthis.parser.parseAsInline = true;\n\t\t}\n\t}\n\treturn [{\n\t\ttype: \"void\",\n\t\tchildren: [],\n\t\tparseAsInline: this.parser.parseAsInline,\n\t\tstart: start,\n\t\tend: this.parser.pos\n\t}];\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/prettyextlink.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/prettyextlink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for external links. For example:\n\n```\n[ext[https://tiddlywiki.com/fractalveg.jpg]]\n[ext[Tooltip|https://tiddlywiki.com/fractalveg.jpg]]\n```\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"prettyextlink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\t// Find the next tag\n\tthis.nextLink = this.findNextLink(this.parser.source,startPos);\n\treturn this.nextLink ? this.nextLink.start : undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.nextLink.end;\n\treturn [this.nextLink];\n};\n\n/*\nFind the next link from the current position\n*/\nexports.findNextLink = function(source,pos) {\n\t// A regexp for finding candidate links\n\tvar reLookahead = /(\\[ext\\[)/g;\n\t// Find the next candidate\n\treLookahead.lastIndex = pos;\n\tvar match = reLookahead.exec(source);\n\twhile(match) {\n\t\t// Try to parse the candidate as a link\n\t\tvar link = this.parseLink(source,match.index);\n\t\t// Return success\n\t\tif(link) {\n\t\t\treturn link;\n\t\t}\n\t\t// Look for the next match\n\t\treLookahead.lastIndex = match.index + 1;\n\t\tmatch = reLookahead.exec(source);\n\t}\n\t// Failed\n\treturn null;\n};\n\n/*\nLook for an link at the specified position. Returns null if not found, otherwise returns {type: \"element\", tag: \"a\", attributes: [], isSelfClosing:, start:, end:,}\n*/\nexports.parseLink = function(source,pos) {\n\tvar token,\n\t\ttextNode = {\n\t\t\ttype: \"text\"\n\t\t},\n\t\tnode = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"a\",\n\t\t\tstart: pos,\n\t\t\tattributes: {\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t},\n\t\t\tchildren: [textNode]\n\t\t};\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the `[ext[`\n\ttoken = $tw.utils.parseTokenString(source,pos,\"[ext[\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Look ahead for the terminating `]]`\n\tvar closePos = source.indexOf(\"]]\",pos);\n\tif(closePos === -1) {\n\t\treturn null;\n\t}\n\t// Look for a `|` separating the tooltip\n\tvar splitPos = source.indexOf(\"|\",pos);\n\tif(splitPos === -1 || splitPos > closePos) {\n\t\tsplitPos = null;\n\t}\n\t// Pull out the tooltip and URL\n\tvar URL, urlStart;\n\ttextNode.start = pos;\n\tif(splitPos) {\n\t\turlStart = splitPos + 1;\n\t\tURL = source.substring(splitPos + 1,closePos).trim();\n\t\ttextNode.text = source.substring(pos,splitPos).trim();\n\t\ttextNode.end = splitPos;\n\t} else {\n\t\turlStart = pos;\n\t\tURL = source.substring(pos,closePos).trim();\n\t\ttextNode.text = URL;\n\t\ttextNode.end = closePos;\n\t}\n\tnode.attributes.href = {type: \"string\", value: URL, start: urlStart, end: closePos};\n\tnode.attributes.target = {type: \"string\", value: \"_blank\"};\n\tnode.attributes.rel = {type: \"string\", value: \"noopener noreferrer\"};\n\t// Update the end position\n\tnode.end = closePos + 2;\n\treturn node;\n};\n\n\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/prettylink.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/prettylink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for pretty links. For example:\n\n```\n[[Introduction]]\n\n[[Link description|TiddlerTitle]]\n```\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"prettylink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\[\\[(.*?)(?:\\|(.*?))?\\]\\]/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tvar start = this.parser.pos + 2;\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Process the link\n\tvar text = this.match[1],\n\t\tlink = this.match[2] || text,\n\t\ttextEndPos = this.parser.source.indexOf(\"|\", start);\n\tif(textEndPos < 0 || textEndPos > this.matchRegExp.lastIndex) {\n\t\ttextEndPos = this.matchRegExp.lastIndex - 2;\n\t}\n\tvar linkStart = this.match[2] ? (start + this.match[1].length + 1) : start;\n\tvar linkEnd = linkStart + link.length;\n\tif($tw.utils.isLinkExternal(link)) {\n\t\treturn [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"a\",\n\t\t\tattributes: {\n\t\t\t\thref: {type: \"string\", value: link, start: linkStart, end: linkEnd},\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t\ttarget: {type: \"string\", value: \"_blank\"},\n\t\t\t\trel: {type: \"string\", value: \"noopener noreferrer\"}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: text, start: start, end: textEndPos\n\t\t\t}]\n\t\t}];\n\t} else {\n\t\treturn [{\n\t\t\ttype: \"link\",\n\t\t\tattributes: {\n\t\t\t\tto: {type: \"string\", value: link, start: linkStart, end: linkEnd}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: text, start: start, end: textEndPos\n\t\t\t}]\n\t\t}];\n\t}\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/quoteblock.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/quoteblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for quote blocks.\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"quoteblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(<<<+)/mg;\n};\n\nexports.parse = function() {\n\tvar classes = [\"tc-quote\"];\n\t// Get all the details of the match\n\tvar reEndString = \"^\\\\s*\" + this.match[1] + \"(?!<)\";\n\t// Move past the <s\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse any classes, whitespace and then the optional cite itself\n\tvar classStart = this.parser.pos;\n\tclasses.push.apply(classes, this.parser.parseClasses());\n\tvar classEnd = this.parser.pos;\n\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\tvar citeStart = this.parser.pos;\n\tvar cite = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\tvar citeEnd = this.parser.pos;\n\t// before handling the cite, parse the body of the quote\n\tvar tree = this.parser.parseBlocks(reEndString);\n\t// If we got a cite, put it before the text\n\tif(cite.length > 0) {\n\t\ttree.unshift({\n\t\t\ttype: \"element\",\n\t\t\ttag: \"cite\",\n\t\t\tchildren: cite,\n\t\t\tstart: citeStart,\n\t\t\tend: citeEnd\n\t\t});\n\t}\n\t// Parse any optional cite\n\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\tciteStart = this.parser.pos;\n\tcite = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\tciteEnd = this.parser.pos;\n\t// If we got a cite, push it\n\tif(cite.length > 0) {\n\t\ttree.push({\n\t\t\ttype: \"element\",\n\t\t\ttag: \"cite\",\n\t\t\tchildren: cite,\n\t\t\tstart: citeStart,\n\t\t\tend: citeEnd\n\t\t});\n\t}\n\t// Return the blockquote element\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"blockquote\",\n\t\tattributes: {\n\t\t\tclass: { type: \"string\", value: classes.join(\" \"), start: classStart, end: classEnd },\n\t\t},\n\t\tchildren: tree\n\t}];\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/rules.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/rules.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for rules specifications\n\n```\n\\rules except ruleone ruletwo rulethree\n\\rules only ruleone ruletwo rulethree\n```\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"rules\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\\\rules[^\\S\\n]/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Move past the pragma invocation\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse whitespace delimited tokens terminated by a line break\n\tvar reMatch = /[^\\S\\n]*(\\S+)|(\\r?\\n)/mg,\n\t\ttokens = [];\n\treMatch.lastIndex = this.parser.pos;\n\tvar match = reMatch.exec(this.parser.source);\n\twhile(match && match.index === this.parser.pos) {\n\t\tthis.parser.pos = reMatch.lastIndex;\n\t\t// Exit if we've got the line break\n\t\tif(match[2]) {\n\t\t\tbreak;\n\t\t}\n\t\t// Process the token\n\t\tif(match[1]) {\n\t\t\ttokens.push(match[1]);\n\t\t}\n\t\t// Match the next token\n\t\tmatch = reMatch.exec(this.parser.source);\n\t}\n\t// Process the tokens\n\tif(tokens.length > 0) {\n\t\tthis.parser.amendRules(tokens[0],tokens.slice(1));\n\t}\n\t// No widget to render, return void node.\n\treturn [{\n\t\ttype: \"void\",\n\t\tattributes: {\n\t\t\taction: {type: \"string\", value: tokens[0]},\n\t\t\trules: {type: \"string\", value: tokens.slice(1).join(\" \")}\n\t\t},\n\t\tchildren: []\n\t}];\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/styleblock.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/styleblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for assigning styles and classes to paragraphs and other blocks. For example:\n\n```\n@@.myClass\n@@background-color:red;\nThis paragraph will have the CSS class `myClass`.\n\n* The `<ul>` around this list will also have the class `myClass`\n* List item 2\n\n@@\n```\n\nNote that classes and styles can be mixed subject to the rule that styles must precede classes. For example\n\n```\n@@.myFirstClass.mySecondClass\n@@width:100px;.myThirdClass\nThis is a paragraph\n@@\n```\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"styleblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /@@((?:[^\\.\\r\\n\\s:]+:[^\\r\\n;]+;)+)?(?:\\.([^\\r\\n\\s]+))?\\r?\\n/mg;\n};\n\nexports.parse = function() {\n\tvar reEndString = \"^@@(?:\\\\r?\\\\n)?\";\n\tvar classes = [], styles = [];\n\tdo {\n\t\t// Get the class and style\n\t\tif(this.match[1]) {\n\t\t\tstyles.push(this.match[1]);\n\t\t}\n\t\tif(this.match[2]) {\n\t\t\tclasses.push(this.match[2].split(\".\").join(\" \"));\n\t\t}\n\t\t// Move past the match\n\t\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t\t// Look for another line of classes and styles\n\t\tthis.match = this.matchRegExp.exec(this.parser.source);\n\t} while(this.match && this.match.index === this.parser.pos);\n\t// Parse the body\n\tvar tree = this.parser.parseBlocks(reEndString);\n\tfor(var t=0; t<tree.length; t++) {\n\t\tif(classes.length > 0) {\n\t\t\t$tw.utils.addClassToParseTreeNode(tree[t],classes.join(\" \"));\n\t\t}\n\t\tif(styles.length > 0) {\n\t\t\t$tw.utils.addAttributeToParseTreeNode(tree[t],\"style\",styles.join(\"\"));\n\t\t}\n\t}\n\treturn [{\n\t\ttype: \"void\",\n\t\tchildren: tree\n\t}];\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/styleinline.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/styleinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for assigning styles and classes to inline runs. For example:\n\n```\n@@.myClass This is some text with a class@@\n@@background-color:red;This is some text with a background colour@@\n@@width:100px;.myClass This is some text with a class and a width@@\n```\n\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"styleinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match /@@(styles)?\\s*(\\.class\\s+)?/\n\tthis.matchRegExp = /@@((?:[^\\.\\r\\n\\s:]+:[^\\r\\n;]+;)+)?(\\.(?:[^\\r\\n\\s]+)\\s+)?/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /@@/g;\n\t// Get the styles and class\n\tvar stylesString = this.match[1],\n\t\tclassString = this.match[2] ? this.match[2].split(\".\").join(\" \") : undefined;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse the run up to the terminator\n\tvar tree = this.parser.parseInlineRun(reEnd,{eatTerminator: true});\n\t// Return the classed span\n\tvar node = {\n\t\ttype: \"element\",\n\t\ttag: \"span\",\n\t\tchildren: tree\n\t};\n\tif(classString) {\n\t\t$tw.utils.addClassToParseTreeNode(node,classString);\n\t}\n\tif(stylesString) {\n\t\t$tw.utils.addAttributeToParseTreeNode(node,\"style\",stylesString);\n\t}\n\tif(!classString && !stylesString) {\n\t\t$tw.utils.addClassToParseTreeNode(node,\"tc-inline-style\");\n\t}\n\treturn [node];\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/syslink.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/syslink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for system tiddler links.\nCan be suppressed preceding them with `~`.\n\\*/\n\n\"use strict\";\n\nexports.name = \"syslink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = new RegExp(\n\t\t\"~?\\\\$:\\\\/[\" +\n\t\t$tw.config.textPrimitives.anyLetter.substr(1,$tw.config.textPrimitives.anyLetter.length - 2) +\n\t\t\"\\/._-]+\",\n\t\t\"mg\"\n\t);\n};\n\nexports.parse = function() {\n\tvar match = this.match[0];\n\t// Move past the match\n\tvar start = this.parser.pos;\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Create the link unless it is suppressed\n\tif(match.substr(0,1) === \"~\") {\n\t\treturn [{type: \"text\", text: match.substr(1), start: start+1, end: this.parser.pos}];\n\t} else {\n\t\treturn [{\n\t\t\ttype: \"link\",\n\t\t\tattributes: {\n\t\t\t\tto: {type: \"string\", value: match}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: match,\n\t\t\t\tstart: start,\n\t\t\t\tend: this.parser.pos\n\t\t\t}]\n\t\t}];\n\t}\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/table.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/table.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for tables.\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"table\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\|(?:[^\\n]*)\\|(?:[fhck]?)\\r?(?:\\n|$)/mg;\n};\n\nvar processRow = function(prevColumns) {\n\tvar cellRegExp = /(?:\\|([^\\n\\|]*)\\|)|(\\|[fhck]?\\r?(?:\\n|$))/mg,\n\t\tcellTermRegExp = /((?:\\x20*)\\|)/mg,\n\t\ttree = [],\n\t\tcol = 0,\n\t\tcolSpanCount = 1,\n\t\tprevCell,\n\t\tvAlign;\n\t// Match a single cell\n\tcellRegExp.lastIndex = this.parser.pos;\n\tvar cellMatch = cellRegExp.exec(this.parser.source);\n\twhile(cellMatch && cellMatch.index === this.parser.pos) {\n\t\tif(cellMatch[1] === \"~\") {\n\t\t\t// Rowspan\n\t\t\tvar last = prevColumns[col];\n\t\t\tif(last) {\n\t\t\t\tlast.rowSpanCount++;\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"rowspan\",last.rowSpanCount);\n\t\t\t\tvAlign = $tw.utils.getAttributeValueFromParseTreeNode(last.element,\"valign\",\"center\");\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"valign\",vAlign);\n\t\t\t\tif(colSpanCount > 1) {\n\t\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"colspan\",colSpanCount);\n\t\t\t\t\tcolSpanCount = 1;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Move to just before the `|` terminating the cell\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t} else if(cellMatch[1] === \">\") {\n\t\t\t// Colspan\n\t\t\tcolSpanCount++;\n\t\t\t// Move to just before the `|` terminating the cell\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t} else if(cellMatch[1] === \"<\" && prevCell) {\n\t\t\tcolSpanCount = 1 + $tw.utils.getAttributeValueFromParseTreeNode(prevCell,\"colspan\",1);\n\t\t\t$tw.utils.addAttributeToParseTreeNode(prevCell,\"colspan\",colSpanCount);\n\t\t\tcolSpanCount = 1;\n\t\t\t// Move to just before the `|` terminating the cell\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t} else if(cellMatch[2]) {\n\t\t\t// End of row\n\t\t\tif(prevCell && colSpanCount > 1) {\n\t\t\t\tif(prevCell.attributes && prevCell.attributes && prevCell.attributes.colspan) {\n\t\t\t\t\tcolSpanCount += prevCell.attributes.colspan.value;\n\t\t\t\t} else {\n\t\t\t\t\tcolSpanCount -= 1;\n\t\t\t\t}\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(prevCell,\"colspan\",colSpanCount);\n\t\t\t}\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t\tbreak;\n\t\t} else {\n\t\t\t// For ordinary cells, step beyond the opening `|`\n\t\t\tthis.parser.pos++;\n\t\t\t// Look for a space at the start of the cell\n\t\t\tvar spaceLeft = false;\n\t\t\tvAlign = null;\n\t\t\tif(this.parser.source.substr(this.parser.pos).search(/^\\^([^\\^]|\\^\\^)/) === 0) {\n\t\t\t\tvAlign = \"top\";\n\t\t\t} else if(this.parser.source.substr(this.parser.pos).search(/^,([^,]|,,)/) === 0) {\n\t\t\t\tvAlign = \"bottom\";\n\t\t\t}\n\t\t\tif(vAlign) {\n\t\t\t\tthis.parser.pos++;\n\t\t\t}\n\t\t\tvar chr = this.parser.source.substr(this.parser.pos,1);\n\t\t\twhile(chr === \" \") {\n\t\t\t\tspaceLeft = true;\n\t\t\t\tthis.parser.pos++;\n\t\t\t\tchr = this.parser.source.substr(this.parser.pos,1);\n\t\t\t}\n\t\t\t// Check whether this is a heading cell\n\t\t\tvar cell;\n\t\t\tvar start = this.parser.pos;\n\t\t\tif(chr === \"!\") {\n\t\t\t\tthis.parser.pos++;\n\t\t\t\tcell = {type: \"element\", tag: \"th\", start: start, children: []};\n\t\t\t} else {\n\t\t\t\tcell = {type: \"element\", tag: \"td\", start: start, children: []};\n\t\t\t}\n\t\t\ttree.push(cell);\n\t\t\t// Record information about this cell\n\t\t\tprevCell = cell;\n\t\t\tprevColumns[col] = {rowSpanCount:1,element:cell};\n\t\t\t// Check for a colspan\n\t\t\tif(colSpanCount > 1) {\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"colspan\",colSpanCount);\n\t\t\t\tcolSpanCount = 1;\n\t\t\t}\n\t\t\t// Parse the cell\n\t\t\tcell.children = this.parser.parseInlineRun(cellTermRegExp,{eatTerminator: true});\n\t\t\t// Set the alignment for the cell\n\t\t\tif(vAlign) {\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"valign\",vAlign);\n\t\t\t}\n\t\t\tif(this.parser.source.substr(this.parser.pos - 2,1) === \" \") { // spaceRight\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"align\",spaceLeft ? \"center\" : \"left\");\n\t\t\t} else if(spaceLeft) {\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"align\",\"right\");\n\t\t\t}\n\t\t\t// Move back to the closing `|`\n\t\t\tthis.parser.pos--;\n\t\t\tcell.end = this.parser.pos;\n\t\t}\n\t\tcol++;\n\t\tcellRegExp.lastIndex = this.parser.pos;\n\t\tcellMatch = cellRegExp.exec(this.parser.source);\n\t}\n\treturn tree;\n};\n\nexports.parse = function() {\n\tvar rowContainerTypes = {\"c\":\"caption\", \"h\":\"thead\", \"\":\"tbody\", \"f\":\"tfoot\"},\n\t\ttable = {type: \"element\", tag: \"table\", children: []},\n\t\trowRegExp = /^\\|([^\\n]*)\\|([fhck]?)\\r?(?:\\n|$)/mg,\n\t\trowTermRegExp = /(\\|(?:[fhck]?)\\r?(?:\\n|$))/mg,\n\t\tprevColumns = [],\n\t\tcurrRowType,\n\t\trowContainer,\n\t\trowCount = 0;\n\t// Match the row\n\trowRegExp.lastIndex = this.parser.pos;\n\tvar rowMatch = rowRegExp.exec(this.parser.source);\n\twhile(rowMatch && rowMatch.index === this.parser.pos) {\n\t\tvar rowType = rowMatch[2];\n\t\t// Check if it is a class assignment\n\t\tif(rowType === \"k\") {\n\t\t\t$tw.utils.addClassToParseTreeNode(table,rowMatch[1]);\n\t\t\tthis.parser.pos = rowMatch.index + rowMatch[0].length;\n\t\t} else {\n\t\t\t// Otherwise, create a new row if this one is of a different type\n\t\t\tif(rowType !== currRowType) {\n\t\t\t\trowContainer = {type: \"element\", tag: rowContainerTypes[rowType], children: [], start: this.parser.pos, end: this.parser.pos};\n\t\t\t\ttable.children.push(rowContainer);\n\t\t\t\tcurrRowType = rowType;\n\t\t\t}\n\t\t\t// Is this a caption row?\n\t\t\tif(currRowType === \"c\") {\n\t\t\t\t// If so, move past the opening `|` of the row\n\t\t\t\tthis.parser.pos++;\n\t\t\t\t// Move the caption to the first row if it isn't already\n\t\t\t\tif(table.children.length !== 1) {\n\t\t\t\t\ttable.children.pop(); // Take rowContainer out of the children array\n\t\t\t\t\ttable.children.splice(0,0,rowContainer); // Insert it at the bottom\n\t\t\t\t}\n\t\t\t\t// Set the alignment - TODO: figure out why TW did this\n\t\t\t\t//\t\t\t\trowContainer.attributes.align = rowCount === 0 ? \"top\" : \"bottom\";\n\t\t\t\t// Parse the caption\n\t\t\t\trowContainer.children = this.parser.parseInlineRun(rowTermRegExp,{eatTerminator: true});\n\t\t\t} else {\n\t\t\t\t// Create the row\n\t\t\t\tvar theRow = {type: \"element\", tag: \"tr\", children: [], start: rowMatch.index};\n\t\t\t\t$tw.utils.addClassToParseTreeNode(theRow,rowCount%2 ? \"oddRow\" : \"evenRow\");\n\t\t\t\trowContainer.children.push(theRow);\n\t\t\t\t// Process the row\n\t\t\t\ttheRow.children = processRow.call(this,prevColumns);\n\t\t\t\tthis.parser.pos = rowMatch.index + rowMatch[0].length;\n\t\t\t\ttheRow.end = this.parser.pos;\n\t\t\t\t// Increment the row count\n\t\t\t\trowCount++;\n\t\t\t}\n\t\t\trowContainer.end = this.parser.pos;\n\t\t}\n\t\trowMatch = rowRegExp.exec(this.parser.source);\n\t}\n\treturn [table];\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/transcludeblock.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/transcludeblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for block-level transclusion. For example:\n\n```\n{{MyTiddler}}\n{{MyTiddler||TemplateTitle}}\n```\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"transcludeblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{([^\\{\\}\\|]*)(?:\\|\\|([^\\|\\{\\}]+))?(?:\\|([^\\{\\}]+))?\\}\\}(?:\\r?\\n|$)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar template = $tw.utils.trim(this.match[2]),\n\t\ttextRef = $tw.utils.trim(this.match[1]),\n\t\tparams = this.match[3] ? this.match[3].split(\"|\") : [];\n\t// Prepare the transclude widget\n\tvar transcludeNode = {\n\t\ttype: \"transclude\",\n\t\tattributes: {},\n\t\tisBlock: true\n\t};\n\t$tw.utils.each(params,function(paramValue,index) {\n\t\tvar name = \"\" + index;\n\t\ttranscludeNode.attributes[name] = {\n\t\t\tname: name,\n\t\t\ttype: \"string\",\n\t\t\tvalue: paramValue\n\t\t};\n\t});\n\t// Prepare the tiddler widget\n\tvar tr, targetTitle, targetField, targetIndex, tiddlerNode;\n\tif(textRef) {\n\t\ttr = $tw.utils.parseTextReference(textRef);\n\t\ttargetTitle = tr.title;\n\t\ttargetField = tr.field;\n\t\ttargetIndex = tr.index;\n\t\ttiddlerNode = {\n\t\t\ttype: \"tiddler\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {name: \"tiddler\", type: \"string\", value: targetTitle}\n\t\t\t},\n\t\t\tisBlock: true,\n\t\t\tchildren: [transcludeNode]\n\t\t};\n\t}\n\tif(template) {\n\t\ttranscludeNode.attributes[\"$tiddler\"] = {name: \"$tiddler\", type: \"string\", value: template};\n\t\tif(textRef) {\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t} else {\n\t\tif(textRef) {\n\t\t\ttranscludeNode.attributes[\"$tiddler\"] = {name: \"$tiddler\", type: \"string\", value: targetTitle};\n\t\t\tif(targetField) {\n\t\t\t\ttranscludeNode.attributes[\"$field\"] = {name: \"$field\", type: \"string\", value: targetField};\n\t\t\t}\n\t\t\tif(targetIndex) {\n\t\t\t\ttranscludeNode.attributes[\"$index\"] = {name: \"$index\", type: \"string\", value: targetIndex};\n\t\t\t}\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t}\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/transcludeinline.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/transcludeinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for inline-level transclusion. For example:\n\n```\n{{MyTiddler}}\n{{MyTiddler||TemplateTitle}}\n```\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"transcludeinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{([^\\{\\}\\|]*)(?:\\|\\|([^\\|\\{\\}]+))?(?:\\|([^\\{\\}]+))?\\}\\}/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar template = $tw.utils.trim(this.match[2]),\n\t\ttextRef = $tw.utils.trim(this.match[1]),\n\t\tparams = this.match[3] ? this.match[3].split(\"|\") : [];\n\t// Prepare the transclude widget\n\tvar transcludeNode = {\n\t\ttype: \"transclude\",\n\t\tattributes: {}\n\t};\n\t$tw.utils.each(params,function(paramValue,index) {\n\t\tvar name = \"\" + index;\n\t\ttranscludeNode.attributes[name] = {\n\t\t\tname: name,\n\t\t\ttype: \"string\",\n\t\t\tvalue: paramValue\n\t\t};\n\t});\n\t// Prepare the tiddler widget\n\tvar tr, targetTitle, targetField, targetIndex, tiddlerNode;\n\tif(textRef) {\n\t\ttr = $tw.utils.parseTextReference(textRef);\n\t\ttargetTitle = tr.title;\n\t\ttargetField = tr.field;\n\t\ttargetIndex = tr.index;\n\t\ttiddlerNode = {\n\t\t\ttype: \"tiddler\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {name: \"tiddler\", type: \"string\", value: targetTitle}\n\t\t\t},\n\t\t\tchildren: [transcludeNode]\n\t\t};\n\t}\n\tif(template) {\n\t\ttranscludeNode.attributes[\"$tiddler\"] = {name: \"$tiddler\", type: \"string\", value: template};\n\t\tif(textRef) {\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t} else {\n\t\tif(textRef) {\n\t\t\ttranscludeNode.attributes[\"$tiddler\"] = {name: \"$tiddler\", type: \"string\", value: targetTitle};\n\t\t\tif(targetField) {\n\t\t\t\ttranscludeNode.attributes[\"$field\"] = {name: \"$field\", type: \"string\", value: targetField};\n\t\t\t}\n\t\t\tif(targetIndex) {\n\t\t\t\ttranscludeNode.attributes[\"$index\"] = {name: \"$index\", type: \"string\", value: targetIndex};\n\t\t\t}\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t}\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/typedblock.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/typedblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for typed blocks. For example:\n\n```\n$$$.js\nThis will be rendered as JavaScript\n$$$\n\n$$$.svg\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"150\" height=\"100\">\n  <circle cx=\"100\" cy=\"50\" r=\"40\" stroke=\"black\" stroke-width=\"2\" fill=\"red\" />\n</svg>\n$$$\n\n$$$text/vnd.tiddlywiki>text/html\nThis will be rendered as an //HTML representation// of WikiText\n$$$\n```\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"typedblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\$\\$\\$([^ >\\r\\n]*)(?: *> *([^ \\r\\n]+))?\\r?\\n/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /\\r?\\n\\$\\$\\$\\r?(?:\\n|$)/mg;\n\t// Save the type\n\tvar parseType = this.match[1],\n\t\trenderType = this.match[2];\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar start = this.parser.pos;\n\t// Look for the end of the block\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(this.parser.source),\n\t\ttext;\n\t// Process the block\n\tif(match) {\n\t\ttext = this.parser.source.substring(this.parser.pos,match.index);\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\ttext = this.parser.source.substr(this.parser.pos);\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\t// Parse the block according to the specified type\n\tvar parser = this.parser.wiki.parseText(parseType,text,{defaultType: \"text/plain\"});\n\t// If there's no render type, just return the parse tree\n\tif(!renderType) {\n\t\treturn  [{\n\t\t\ttype: \"void\",\n\t\t\tchildren: $tw.utils.isArray(parser.tree) ? parser.tree : [parser.tree],\n\t\t\tparseType: parseType,\n\t\t\trenderType: renderType,\n\t\t\ttext: text,\n\t\t\tstart: start,\n\t\t\tend: this.parser.pos\n\t\t}];\n\t} else {\n\t\t// Otherwise, render to the rendertype and return in a <PRE> tag\n\t\tvar widgetNode = this.parser.wiki.makeWidget(parser),\n\t\t\tcontainer = $tw.fakeDocument.createElement(\"div\");\n\t\twidgetNode.render(container,null);\n\t\tvar renderResult = renderType === \"text/html\" ? container.innerHTML : container.textContent;\n\t\t// Use void node to carry important info for typedblock\n\t\treturn [{\n\t\t\ttype: \"void\",\n\t\t\tchildren: [{\n\t\t\t\ttype: \"element\",\n\t\t\t\ttag: \"pre\",\n\t\t\t\tchildren: [{\n\t\t\t\t\ttype: \"text\",\n\t\t\t\t\ttext: renderResult,\n\t\t\t\t}]\n\t\t\t}],\n\t\t\tparseType: parseType,\n\t\t\trenderType: renderType,\n\t\t\ttext: text,\n\t\t\tstart: start,\n\t\t\tend: this.parser.pos\n\t\t}];\n\t}\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/whitespace.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/whitespace.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for whitespace specifications\n\n```\n\\whitespace trim\n\\whitespace notrim\n```\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"whitespace\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\\\whitespace[^\\S\\n]/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\tvar self = this;\n\t// Move past the pragma invocation\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse whitespace delimited tokens terminated by a line break\n\tvar reMatch = /[^\\S\\n]*(\\S+)|(\\r?\\n)/mg,\n\t\ttokens = [];\n\treMatch.lastIndex = this.parser.pos;\n\tvar match = reMatch.exec(this.parser.source);\n\twhile(match && match.index === this.parser.pos) {\n\t\tthis.parser.pos = reMatch.lastIndex;\n\t\t// Exit if we've got the line break\n\t\tif(match[2]) {\n\t\t\tbreak;\n\t\t}\n\t\t// Process the token\n\t\tif(match[1]) {\n\t\t\ttokens.push(match[1]);\n\t\t}\n\t\t// Match the next token\n\t\tmatch = reMatch.exec(this.parser.source);\n\t}\n\t// Process the tokens\n\t$tw.utils.each(tokens,function(token) {\n\t\tswitch(token) {\n\t\t\tcase \"trim\":\n\t\t\t\tself.parser.configTrimWhiteSpace = true;\n\t\t\t\tbreak;\n\t\t\tcase \"notrim\":\n\t\t\t\tself.parser.configTrimWhiteSpace = false;\n\t\t\t\tbreak;\n\t\t}\n\t});\n\t// No parse tree nodes to return\n\treturn [];\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/wikilink.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/wikilink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for wiki links. For example:\n\n```\nAWikiLink\nAnotherLink\n~SuppressedLink\n```\n\nPrecede a camel case word with `~` to prevent it from being recognised as a link.\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"wikilink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = new RegExp($tw.config.textPrimitives.unWikiLink + \"?\" + $tw.config.textPrimitives.wikiLink,\"mg\");\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get the details of the match\n\tvar linkText = this.match[0];\n\t// Move past the macro call\n\tvar start = this.parser.pos;\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// If the link starts with the unwikilink character then just output it as plain text\n\tif(linkText.substr(0,1) === $tw.config.textPrimitives.unWikiLink) {\n\t\treturn [{type: \"text\", text: linkText.substr(1)}];\n\t}\n\t// If the link has been preceded with a blocked letter then don't treat it as a link\n\tif(this.match.index > 0) {\n\t\tvar preRegExp = new RegExp($tw.config.textPrimitives.blockPrefixLetters,\"mg\");\n\t\tpreRegExp.lastIndex = this.match.index-1;\n\t\tvar preMatch = preRegExp.exec(this.parser.source);\n\t\tif(preMatch && preMatch.index === this.match.index-1) {\n\t\t\treturn [{type: \"text\", text: linkText}];\n\t\t}\n\t}\n\treturn [{\n\t\ttype: \"link\",\n\t\tattributes: {\n\t\t\tto: {type: \"string\", value: linkText}\n\t\t},\n\t\tchildren: [{\n\t\t\ttype: \"text\",\n\t\t\ttext: linkText,\n\t\t\tstart: start,\n\t\t\tend: this.parser.pos\n\t\t}]\n\t}];\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/rules/wikilinkprefix.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/wikilinkprefix.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for suppressed wiki links. For example:\n\n```\n~SuppressedLink\n```\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"wikilinkprefix\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = new RegExp($tw.config.textPrimitives.unWikiLink + $tw.config.textPrimitives.wikiLink,\"mg\");\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get the details of the match\n\tvar linkText = this.match[0];\n\t// Move past the wikilink\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Return the link without unwikilink character as plain text\n\treturn [{type: \"text\", text: linkText.substr(1)}];\n};\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/wikiparser.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/wikiparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe wiki text parser processes blocks of source text into a parse tree.\n\nThe parse tree is made up of nested arrays of these JavaScript objects:\n\n\t{type: \"element\", tag: <string>, attributes: {}, children: []} - an HTML element\n\t{type: \"text\", text: <string>} - a text node\n\t{type: \"entity\", value: <string>} - an entity\n\t{type: \"raw\", html: <string>} - raw HTML\n\nAttributes are stored as hashmaps of the following objects:\n\n\t{type: \"string\", value: <string>} - literal string\n\t{type: \"indirect\", textReference: <textReference>} - indirect through a text reference\n\t{type: \"macro\", macro: <TBD>} - indirect through a macro invocation\n\n\\*/\n\n\"use strict\";\n\n/*\ntype: content type of text\ntext: text to be parsed\noptions: see below:\n\tparseAsInline: true to parse text as inline instead of block\n\twiki: reference to wiki to use\n\t_canonical_uri: optional URI of content if text is missing or empty\n\tconfigTrimWhiteSpace: true to trim whitespace\n*/\nvar WikiParser = function(type,text,options) {\n\tthis.wiki = options.wiki;\n\tvar self = this;\n\t// Check for an externally linked tiddler\n\tif($tw.browser && (text || \"\") === \"\" && options._canonical_uri) {\n\t\tthis.loadRemoteTiddler(options._canonical_uri);\n\t\ttext = $tw.language.getRawString(\"LazyLoadingWarning\");\n\t}\n\t// Save the parse text\n\tthis.type = type || \"text/vnd.tiddlywiki\";\n\tthis.source = text || \"\";\n\tthis.sourceLength = this.source.length;\n\t// Flag for ignoring whitespace\n\tthis.configTrimWhiteSpace = options.configTrimWhiteSpace !== undefined ? options.configTrimWhiteSpace : false;\n\t// Parser mode\n\tthis.parseAsInline = options.parseAsInline;\n\t// Set current parse position\n\tthis.pos = 0;\n\t// Start with empty output\n\tthis.tree = [];\n\t// Assemble the rule classes we're going to use\n\tvar pragmaRuleClasses, blockRuleClasses, inlineRuleClasses;\n\tif(options.rules) {\n\t\tpragmaRuleClasses = options.rules.pragma;\n\t\tblockRuleClasses = options.rules.block;\n\t\tinlineRuleClasses = options.rules.inline;\n\t} else {\n\t\t// Setup the rule classes if we don't have them already\n\t\tif(!this.pragmaRuleClasses) {\n\t\t\tWikiParser.prototype.pragmaRuleClasses = $tw.modules.createClassesFromModules(\"wikirule\",\"pragma\",$tw.WikiRuleBase);\n\t\t\tthis.setupRules(WikiParser.prototype.pragmaRuleClasses,\"$:/config/WikiParserRules/Pragmas/\");\n\t\t}\n\t\tpragmaRuleClasses = this.pragmaRuleClasses;\n\t\tif(!this.blockRuleClasses) {\n\t\t\tWikiParser.prototype.blockRuleClasses = $tw.modules.createClassesFromModules(\"wikirule\",\"block\",$tw.WikiRuleBase);\n\t\t\tthis.setupRules(WikiParser.prototype.blockRuleClasses,\"$:/config/WikiParserRules/Block/\");\n\t\t}\n\t\tblockRuleClasses = this.blockRuleClasses;\n\t\tif(!this.inlineRuleClasses) {\n\t\t\tWikiParser.prototype.inlineRuleClasses = $tw.modules.createClassesFromModules(\"wikirule\",\"inline\",$tw.WikiRuleBase);\n\t\t\tthis.setupRules(WikiParser.prototype.inlineRuleClasses,\"$:/config/WikiParserRules/Inline/\");\n\t\t}\n\t\tinlineRuleClasses = this.inlineRuleClasses;\n\t}\n\t// Instantiate the pragma parse rules\n\tthis.pragmaRules = this.instantiateRules(pragmaRuleClasses,\"pragma\",0);\n\t// Instantiate the parser block and inline rules\n\tthis.blockRules = this.instantiateRules(blockRuleClasses,\"block\",0);\n\tthis.inlineRules = this.instantiateRules(inlineRuleClasses,\"inline\",0);\n\t// Parse any pragmas\n\tvar topBranch = this.parsePragmas();\n\t// Parse the text into inline runs or blocks\n\tif(this.parseAsInline) {\n\t\ttopBranch.push.apply(topBranch,this.parseInlineRun());\n\t} else {\n\t\ttopBranch.push.apply(topBranch,this.parseBlocks());\n\t}\n\t// Build rules' name map\n\tthis.usingRuleMap = {};\n\t$tw.utils.each(this.pragmaRules, function (ruleInfo) { self.usingRuleMap[ruleInfo.rule.name] = Object.getPrototypeOf(ruleInfo.rule); });\n\t$tw.utils.each(this.blockRules, function (ruleInfo) { self.usingRuleMap[ruleInfo.rule.name] = Object.getPrototypeOf(ruleInfo.rule); });\n\t$tw.utils.each(this.inlineRules, function (ruleInfo) { self.usingRuleMap[ruleInfo.rule.name] = Object.getPrototypeOf(ruleInfo.rule); });\n\t// Return the parse tree\n};\n\n/*\n*/\nWikiParser.prototype.loadRemoteTiddler = function(url) {\n\tvar self = this;\n\t$tw.utils.httpRequest({\n\t\turl: url,\n\t\ttype: \"GET\",\n\t\tcallback: function(err,data) {\n\t\t\tif(!err) {\n\t\t\t\tvar tiddlers = self.wiki.deserializeTiddlers(\".tid\",data,self.wiki.getCreationFields());\n\t\t\t\t$tw.utils.each(tiddlers,function(tiddler) {\n\t\t\t\t\ttiddler[\"_canonical_uri\"] = url;\n\t\t\t\t});\n\t\t\t\tif(tiddlers) {\n\t\t\t\t\tself.wiki.addTiddlers(tiddlers);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\n*/\nWikiParser.prototype.setupRules = function(proto,configPrefix) {\n\tvar self = this;\n\tif(!$tw.safeMode) {\n\t\t$tw.utils.each(proto,function(object,name) {\n\t\t\tif(self.wiki.getTiddlerText(configPrefix + name,\"enable\") !== \"enable\") {\n\t\t\t\tdelete proto[name];\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nInstantiate an array of parse rules\n*/\nWikiParser.prototype.instantiateRules = function(classes,type,startPos) {\n\tvar rulesInfo = [],\n\t\tself = this;\n\t$tw.utils.each(classes,function(RuleClass) {\n\t\t// Instantiate the rule\n\t\tvar rule = new RuleClass(self);\n\t\trule.is = {};\n\t\trule.is[type] = true;\n\t\trule.init(self);\n\t\tvar matchIndex = rule.findNextMatch(startPos);\n\t\tif(matchIndex !== undefined) {\n\t\t\trulesInfo.push({\n\t\t\t\trule: rule,\n\t\t\t\tmatchIndex: matchIndex\n\t\t\t});\n\t\t}\n\t});\n\treturn rulesInfo;\n};\n\n/*\nSkip any whitespace at the current position. Options are:\n\ttreatNewlinesAsNonWhitespace: true if newlines are NOT to be treated as whitespace\n*/\nWikiParser.prototype.skipWhitespace = function(options) {\n\toptions = options || {};\n\tvar whitespaceRegExp = options.treatNewlinesAsNonWhitespace ? /([^\\S\\n]+)/mg : /(\\s+)/mg;\n\twhitespaceRegExp.lastIndex = this.pos;\n\tvar whitespaceMatch = whitespaceRegExp.exec(this.source);\n\tif(whitespaceMatch && whitespaceMatch.index === this.pos) {\n\t\tthis.pos = whitespaceRegExp.lastIndex;\n\t}\n};\n\n/*\nGet the next match out of an array of parse rule instances\n*/\nWikiParser.prototype.findNextMatch = function(rules,startPos) {\n\t// Find the best matching rule by finding the closest match position\n\tvar matchingRule,\n\t\tmatchingRulePos = this.sourceLength;\n\t// Step through each rule\n\tfor(var t=0; t<rules.length; t++) {\n\t\tvar ruleInfo = rules[t];\n\t\t// Ask the rule to get the next match if we've moved past the current one\n\t\tif(ruleInfo.matchIndex !== undefined  && ruleInfo.matchIndex < startPos) {\n\t\t\truleInfo.matchIndex = ruleInfo.rule.findNextMatch(startPos);\n\t\t}\n\t\t// Adopt this match if it's closer than the current best match\n\t\tif(ruleInfo.matchIndex !== undefined && ruleInfo.matchIndex <= matchingRulePos) {\n\t\t\tmatchingRule = ruleInfo;\n\t\t\tmatchingRulePos = ruleInfo.matchIndex;\n\t\t}\n\t}\n\treturn matchingRule;\n};\n\n/*\nParse any pragmas at the beginning of a block of parse text\n*/\nWikiParser.prototype.parsePragmas = function() {\n\tvar currentTreeBranch = this.tree;\n\twhile(true) {\n\t\tvar savedPos = this.pos;\n\t\t// Skip whitespace\n\t\tthis.skipWhitespace();\n\t\t// Check for the end of the text\n\t\tif(this.pos >= this.sourceLength) {\n\t\t\tbreak;\n\t\t}\n\t\t// Check if we've arrived at a pragma rule match\n\t\tvar nextMatch = this.findNextMatch(this.pragmaRules,this.pos);\n\t\t// If not, just exit\n\t\tif(!nextMatch || nextMatch.matchIndex !== this.pos) {\n\t\t\tthis.pos = savedPos;\n\t\t\tbreak;\n\t\t}\n\t\t// Process the pragma rule\n\t\tvar start = this.pos;\n\t\tvar subTree = nextMatch.rule.parse();\n\t\tif(subTree.length > 0) {\n\t\t\t// Set the start and end positions of the pragma rule if\n\t\t\tif(subTree[0].start === undefined) subTree[0].start = start;\n\t\t\tif(subTree[subTree.length - 1].end === undefined) subTree[subTree.length - 1].end = this.pos;\n\t\t\t$tw.utils.each(subTree, function (node) { node.rule = nextMatch.rule.name; });\n\t\t\t// Quick hack; we only cope with a single parse tree node being returned, which is true at the moment\n\t\t\tcurrentTreeBranch.push.apply(currentTreeBranch,subTree);\n\t\t\tsubTree[0].children = [];\n\t\t\tcurrentTreeBranch = subTree[0].children;\n\t\t}\n\t\t// Skip whitespace after the pragma\n\t\tthis.skipWhitespace();\n\t}\n\treturn currentTreeBranch;\n};\n\n/*\nParse a block from the current position\n\tterminatorRegExpString: optional regular expression string that identifies the end of plain paragraphs. Must not include capturing parenthesis\n*/\nWikiParser.prototype.parseBlock = function(terminatorRegExpString) {\n\tvar terminatorRegExp = terminatorRegExpString ? new RegExp(terminatorRegExpString + \"|\\\\r?\\\\n\\\\r?\\\\n\",\"mg\") : /(\\r?\\n\\r?\\n)/mg;\n\tthis.skipWhitespace();\n\tif(this.pos >= this.sourceLength) {\n\t\treturn [];\n\t}\n\t// Look for a block rule that applies at the current position\n\tvar nextMatch = this.findNextMatch(this.blockRules,this.pos);\n\tif(nextMatch && nextMatch.matchIndex === this.pos) {\n\t\tvar start = this.pos;\n\t\tvar subTree = nextMatch.rule.parse();\n\t\t// Set the start and end positions of the first and last blocks if they're not already set\n\t\tif(subTree.length > 0) {\n\t\t\tif(subTree[0].start === undefined) subTree[0].start = start;\n\t\t\tif(subTree[subTree.length - 1].end === undefined) subTree[subTree.length - 1].end = this.pos;\n\t\t}\n\t\t$tw.utils.each(subTree, function (node) { node.rule = nextMatch.rule.name; });\n\t\treturn subTree;\n\t}\n\t// Treat it as a paragraph if we didn't find a block rule\n\tvar start = this.pos;\n\tvar children = this.parseInlineRun(terminatorRegExp);\n\tvar end = this.pos;\n\treturn [{type: \"element\", tag: \"p\", children: children, start: start, end: end, rule: \"parseblock\" }];\n};\n\n/*\nParse a series of blocks of text until a terminating regexp is encountered or the end of the text\n\tterminatorRegExpString: terminating regular expression\n*/\nWikiParser.prototype.parseBlocks = function(terminatorRegExpString) {\n\tif(terminatorRegExpString) {\n\t\treturn this.parseBlocksTerminated(terminatorRegExpString);\n\t} else {\n\t\treturn this.parseBlocksUnterminated();\n\t}\n};\n\n/*\nParse a block from the current position to the end of the text\n*/\nWikiParser.prototype.parseBlocksUnterminated = function() {\n\tvar tree = [];\n\twhile(this.pos < this.sourceLength) {\n\t\ttree.push.apply(tree,this.parseBlock());\n\t}\n\treturn tree;\n};\n\n/*\nParse blocks of text until a terminating regexp is encountered. Wrapper for parseBlocksTerminatedExtended that just returns the parse tree\n*/\nWikiParser.prototype.parseBlocksTerminated = function(terminatorRegExpString) {\n\tvar ex = this.parseBlocksTerminatedExtended(terminatorRegExpString);\n\treturn ex.tree;\n};\n\n/*\nParse blocks of text until a terminating regexp is encountered\n*/\nWikiParser.prototype.parseBlocksTerminatedExtended = function(terminatorRegExpString) {\n\tvar terminatorRegExp = new RegExp(terminatorRegExpString,\"mg\"),\n\t\tresult = {\n\t\t\ttree: []\n\t\t};\n\t// Skip any whitespace\n\tthis.skipWhitespace();\n\t//  Check if we've got the end marker\n\tterminatorRegExp.lastIndex = this.pos;\n\tvar match = terminatorRegExp.exec(this.source);\n\t// Parse the text into blocks\n\twhile(this.pos < this.sourceLength && !(match && match.index === this.pos)) {\n\t\tvar blocks = this.parseBlock(terminatorRegExpString);\n\t\tresult.tree.push.apply(result.tree,blocks);\n\t\t// Skip any whitespace\n\t\tthis.skipWhitespace();\n\t\t//  Check if we've got the end marker\n\t\tterminatorRegExp.lastIndex = this.pos;\n\t\tmatch = terminatorRegExp.exec(this.source);\n\t}\n\tif(match && match.index === this.pos) {\n\t\tthis.pos = match.index + match[0].length;\n\t\tresult.match = match;\n\t}\n\treturn result;\n};\n\n/*\nParse a run of text at the current position\n\tterminatorRegExp: a regexp at which to stop the run\n\toptions: see below\nOptions available:\n\teatTerminator: move the parse position past any encountered terminator (default false)\n*/\nWikiParser.prototype.parseInlineRun = function(terminatorRegExp,options) {\n\tif(terminatorRegExp) {\n\t\treturn this.parseInlineRunTerminated(terminatorRegExp,options);\n\t} else {\n\t\treturn this.parseInlineRunUnterminated(options);\n\t}\n};\n\nWikiParser.prototype.parseInlineRunUnterminated = function(options) {\n\tvar tree = [];\n\t// Find the next occurrence of an inline rule\n\tvar nextMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t// Loop around the matches until we've reached the end of the text\n\twhile(this.pos < this.sourceLength && nextMatch) {\n\t\t// Process the text preceding the run rule\n\t\tif(nextMatch.matchIndex > this.pos) {\n\t\t\tthis.pushTextWidget(tree,this.source.substring(this.pos,nextMatch.matchIndex),this.pos,nextMatch.matchIndex);\n\t\t\tthis.pos = nextMatch.matchIndex;\n\t\t}\n\t\t// Process the run rule\n\t\tvar start = this.pos;\n\t\tvar subTree = nextMatch.rule.parse();\n\t\t// Set the start and end positions of the first and last child if they're not already set\n\t\tif(subTree.length > 0) {\n\t\t\t// Set the start and end positions of the first and last child if they're not already set\n\t\t\tif(subTree[0].start === undefined) subTree[0].start = start;\n\t\t\tif(subTree[subTree.length - 1].end === undefined) subTree[subTree.length - 1].end = this.pos;\n\t\t}\n\t\t$tw.utils.each(subTree, function (node) { node.rule = nextMatch.rule.name; });\n\t\ttree.push.apply(tree,subTree);\n\t\t// Look for the next run rule\n\t\tnextMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t}\n\t// Process the remaining text\n\tif(this.pos < this.sourceLength) {\n\t\tthis.pushTextWidget(tree,this.source.substr(this.pos),this.pos,this.sourceLength);\n\t}\n\tthis.pos = this.sourceLength;\n\treturn tree;\n};\n\nWikiParser.prototype.parseInlineRunTerminated = function(terminatorRegExp,options) {\n\tvar ex = this.parseInlineRunTerminatedExtended(terminatorRegExp,options);\n\treturn ex.tree;\n};\n\nWikiParser.prototype.parseInlineRunTerminatedExtended = function(terminatorRegExp,options) {\n\toptions = options || {};\n\tvar tree = [];\n\t// Find the next occurrence of the terminator\n\tterminatorRegExp.lastIndex = this.pos;\n\tvar terminatorMatch = terminatorRegExp.exec(this.source);\n\t// Find the next occurrence of a inlinerule\n\tvar inlineRuleMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t// Loop around until we've reached the end of the text\n\twhile(this.pos < this.sourceLength && (terminatorMatch || inlineRuleMatch)) {\n\t\t// Return if we've found the terminator, and it precedes any inline rule match\n\t\tif(terminatorMatch) {\n\t\t\tif(!inlineRuleMatch || inlineRuleMatch.matchIndex >= terminatorMatch.index) {\n\t\t\t\tif(terminatorMatch.index > this.pos) {\n\t\t\t\t\tthis.pushTextWidget(tree,this.source.substring(this.pos,terminatorMatch.index),this.pos,terminatorMatch.index);\n\t\t\t\t}\n\t\t\t\tthis.pos = terminatorMatch.index;\n\t\t\t\tif(options.eatTerminator) {\n\t\t\t\t\tthis.pos += terminatorMatch[0].length;\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tmatch: terminatorMatch,\n\t\t\t\t\ttree: tree\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t\t// Process any inline rule, along with the text preceding it\n\t\tif(inlineRuleMatch) {\n\t\t\t// Preceding text\n\t\t\tif(inlineRuleMatch.matchIndex > this.pos) {\n\t\t\t\tthis.pushTextWidget(tree,this.source.substring(this.pos,inlineRuleMatch.matchIndex),this.pos,inlineRuleMatch.matchIndex);\n\t\t\t\tthis.pos = inlineRuleMatch.matchIndex;\n\t\t\t}\n\t\t\t// Process the inline rule\n\t\t\tvar start = this.pos;\n\t\t\tvar subTree = inlineRuleMatch.rule.parse();\n\t\t\t// Set the start and end positions of the first and last child if they're not already set\n\t\t\tif(subTree.length > 0) {\n\t\t\t\tif(subTree[0].start === undefined) subTree[0].start = start;\n\t\t\t\tif(subTree[subTree.length - 1].end === undefined) subTree[subTree.length - 1].end = this.pos;\n\t\t\t}\n\t\t\t$tw.utils.each(subTree, function (node) { node.rule = inlineRuleMatch.rule.name; });\n\t\t\ttree.push.apply(tree,subTree);\n\t\t\t// Look for the next inline rule\n\t\t\tinlineRuleMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t\t\t// Look for the next terminator match\n\t\t\tterminatorRegExp.lastIndex = this.pos;\n\t\t\tterminatorMatch = terminatorRegExp.exec(this.source);\n\t\t}\n\t}\n\t// Process the remaining text\n\tif(this.pos < this.sourceLength) {\n\t\tthis.pushTextWidget(tree,this.source.substr(this.pos),this.pos,this.sourceLength);\n\t}\n\tthis.pos = this.sourceLength;\n\treturn {\n\t\ttree: tree\n\t};\n};\n\n/*\nPush a text widget onto an array, respecting the configTrimWhiteSpace setting\n*/\nWikiParser.prototype.pushTextWidget = function(array,text,start,end) {\n\tif(this.configTrimWhiteSpace) {\n\t\ttext = $tw.utils.trim(text);\n\t}\n\tif(text) {\n\t\tarray.push({type: \"text\", text: text, start: start, end: end});\n\t}\n};\n\n/*\nParse zero or more class specifiers `.classname`\n*/\nWikiParser.prototype.parseClasses = function() {\n\tvar classRegExp = /\\.([^\\s\\.]+)/mg,\n\t\tclassNames = [];\n\tclassRegExp.lastIndex = this.pos;\n\tvar match = classRegExp.exec(this.source);\n\twhile(match && match.index === this.pos) {\n\t\tthis.pos = match.index + match[0].length;\n\t\tclassNames.push(match[1]);\n\t\tmatch = classRegExp.exec(this.source);\n\t}\n\treturn classNames;\n};\n\n/*\nAmend the rules used by this instance of the parser\n\ttype: `only` keeps just the named rules, `except` keeps all but the named rules\n\tnames: array of rule names\n*/\nWikiParser.prototype.amendRules = function(type,names) {\n\tnames = names || [];\n\t// Define the filter function\n\tvar target;\n\tif(type === \"only\") {\n\t\ttarget = true;\n\t} else if(type === \"except\") {\n\t\ttarget = false;\n\t} else {\n\t\treturn;\n\t}\n\t// Define a function to process each of our rule arrays\n\tvar processRuleArray = function(ruleArray) {\n\t\tfor(var t=ruleArray.length-1; t>=0; t--) {\n\t\t\tif((names.indexOf(ruleArray[t].rule.name) === -1) === target) {\n\t\t\t\truleArray.splice(t,1);\n\t\t\t}\n\t\t}\n\t};\n\t// Process each rule array\n\tprocessRuleArray(this.pragmaRules);\n\tprocessRuleArray(this.blockRules);\n\tprocessRuleArray(this.inlineRules);\n};\n\nexports[\"text/vnd.tiddlywiki\"] = WikiParser;\n"
  },
  {
    "path": "core/modules/parsers/wikiparser/wikirulebase.js",
    "content": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/wikirulebase.js\ntype: application/javascript\nmodule-type: global\n\nBase class for wiki parser rules\n\n\\*/\n\n\"use strict\";\n\n/*\nThis constructor is always overridden with a blank constructor, and so shouldn't be used\n*/\nvar WikiRuleBase = function() {\n};\n\n/*\nTo be overridden by individual rules\n*/\nWikiRuleBase.prototype.init = function(parser) {\n\tthis.parser = parser;\n};\n\n/*\nDefault implementation of findNextMatch uses RegExp matching\n*/\nWikiRuleBase.prototype.findNextMatch = function(startPos) {\n\tthis.matchRegExp.lastIndex = startPos;\n\tthis.match = this.matchRegExp.exec(this.parser.source);\n\treturn this.match ? this.match.index : undefined;\n};\n\nexports.WikiRuleBase = WikiRuleBase;\n"
  },
  {
    "path": "core/modules/pluginswitcher.js",
    "content": "/*\\\ntitle: $:/core/modules/pluginswitcher.js\ntype: application/javascript\nmodule-type: global\n\nManages switching plugins for themes and languages.\n\n\\*/\n\n\"use strict\";\n\n/*\noptions:\nwiki: wiki store to be used\npluginType: type of plugin to be switched\ncontrollerTitle: title of tiddler used to control switching of this resource\ndefaultPlugins: array of default plugins to be used if nominated plugin isn't found\nonSwitch: callback when plugin is switched (single parameter is array of plugin titles)\n*/\nfunction PluginSwitcher(options) {\n\tthis.wiki = options.wiki;\n\tthis.pluginType = options.pluginType;\n\tthis.controllerTitle = options.controllerTitle;\n\tthis.defaultPlugins = options.defaultPlugins || [];\n\tthis.onSwitch = options.onSwitch;\n\t// Switch to the current plugin\n\tthis.switchPlugins();\n\t// Listen for changes to the selected plugin\n\tvar self = this;\n\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.utils.hop(changes,self.controllerTitle)) {\n\t\t\tself.switchPlugins();\n\t\t}\n\t});\n}\n\nPluginSwitcher.prototype.switchPlugins = function() {\n\t// Get the name of the current theme\n\tvar selectedPluginTitle = this.wiki.getTiddlerText(this.controllerTitle);\n\t// If it doesn't exist, then fallback to one of the default themes\n\tvar index = 0;\n\twhile(!this.wiki.getTiddler(selectedPluginTitle) && index < this.defaultPlugins.length) {\n\t\tselectedPluginTitle = this.defaultPlugins[index++];\n\t}\n\t// Accumulate the titles of the plugins that we need to load\n\tvar plugins = [],\n\t\tself = this,\n\t\taccumulatePlugin = function(title) {\n\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\tif(tiddler && tiddler.isPlugin() && plugins.indexOf(title) === -1) {\n\t\t\t\tplugins.push(title);\n\t\t\t\tvar dependents = $tw.utils.parseStringArray(tiddler.fields.dependents || \"\");\n\t\t\t\t$tw.utils.each(dependents,function(title) {\n\t\t\t\t\taccumulatePlugin(title);\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\taccumulatePlugin(selectedPluginTitle);\n\t// Read the plugin info for the incoming plugins\n\t$tw.wiki.readPluginInfo(plugins);\n\t// Unregister any existing theme tiddlers\n\t$tw.wiki.unregisterPluginTiddlers(this.pluginType);\n\t// Register any new theme tiddlers\n\t$tw.wiki.registerPluginTiddlers(this.pluginType,plugins);\n\t// Unpack the current theme tiddlers\n\t$tw.wiki.unpackPluginTiddlers();\n\t// Call the switch handler\n\tif(this.onSwitch) {\n\t\tthis.onSwitch(plugins);\n\t}\n};\n\nexports.PluginSwitcher = PluginSwitcher;\n"
  },
  {
    "path": "core/modules/saver-handler.js",
    "content": "/*\\\ntitle: $:/core/modules/saver-handler.js\ntype: application/javascript\nmodule-type: global\n\nThe saver handler tracks changes to the store and handles saving the entire wiki via saver modules.\n\n\\*/\n\n\"use strict\";\n\n/*\nInstantiate the saver handler with the following options:\nwiki: wiki to be synced\ndirtyTracking: true if dirty tracking should be performed\n*/\nfunction SaverHandler(options) {\n\tvar self = this;\n\tthis.wiki = options.wiki;\n\tthis.dirtyTracking = options.dirtyTracking;\n\tthis.preloadDirty = options.preloadDirty || [];\n\tthis.pendingAutoSave = false;\n\t// Make a logger\n\tthis.logger = new $tw.utils.Logger(\"saver-handler\");\n\t// Initialise our savers\n\tif($tw.browser) {\n\t\tthis.initSavers();\n\t}\n\t// Only do dirty tracking if required\n\tif($tw.browser && this.dirtyTracking) {\n\t\t// Compile the dirty tiddler filter\n\t\tthis.filterFn = this.wiki.compileFilter(this.wiki.getTiddlerText(this.titleSyncFilter));\n\t\t// Count of changes that have not yet been saved\n\t\tvar filteredChanges = self.filterFn.call(self.wiki,function(iterator) {\n\t\t\t$tw.utils.each(self.preloadDirty,function(title) {\n\t\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\t\titerator(tiddler,title);\n\t\t\t});\n\t\t});\n\t\tthis.numChanges = filteredChanges.length;\n\t\t// Listen out for changes to tiddlers\n\t\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\t\t// Filter the changes so that we only count changes to tiddlers that we care about\n\t\t\tvar filteredChanges = self.filterFn.call(self.wiki,function(iterator) {\n\t\t\t\t$tw.utils.each(changes,function(change,title) {\n\t\t\t\t\tif(change.normal) {\n\t\t\t\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\t\t\t\titerator(tiddler,title);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t\t// Adjust the number of changes\n\t\t\tself.numChanges += filteredChanges.length;\n\t\t\tself.updateDirtyStatus();\n\t\t\t// Do any autosave if one is pending and there's no more change events\n\t\t\tif(self.pendingAutoSave && self.wiki.getSizeOfTiddlerEventQueue() === 0) {\n\t\t\t\t// Check if we're dirty\n\t\t\t\tif(self.numChanges > 0) {\n\t\t\t\t\tself.saveWiki({\n\t\t\t\t\t\tmethod: \"autosave\",\n\t\t\t\t\t\tdownloadType: \"text/plain\"\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tself.pendingAutoSave = false;\n\t\t\t}\n\t\t});\n\t\t// Listen for the autosave event\n\t\t$tw.rootWidget.addEventListener(\"tm-auto-save-wiki\",function(event) {\n\t\t\t// Do the autosave unless there are outstanding tiddler change events\n\t\t\tif(self.wiki.getSizeOfTiddlerEventQueue() === 0) {\n\t\t\t\t// Check if we're dirty\n\t\t\t\tif(self.numChanges > 0) {\n\t\t\t\t\tself.saveWiki({\n\t\t\t\t\t\tmethod: \"autosave\",\n\t\t\t\t\t\tdownloadType: \"text/plain\"\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Otherwise put ourselves in the \"pending autosave\" state and wait for the change event before we do the autosave\n\t\t\t\tself.pendingAutoSave = true;\n\t\t\t}\n\t\t});\n\t\t// Set up our beforeunload handler\n\t\t$tw.addUnloadTask(function(event) {\n\t\t\tvar confirmationMessage;\n\t\t\tif(self.isDirty()) {\n\t\t\t\tconfirmationMessage = $tw.language.getString(\"UnsavedChangesWarning\");\n\t\t\t\tevent.returnValue = confirmationMessage; // Gecko\n\t\t\t}\n\t\t\treturn confirmationMessage;\n\t\t});\n\t}\n\t// Install the save action handlers\n\tif($tw.browser) {\n\t\t$tw.rootWidget.addEventListener(\"tm-save-wiki\",function(event) {\n\t\t\tself.saveWiki({\n\t\t\t\twiki: event.widget.wiki,\n\t\t\t\ttemplate: event.param,\n\t\t\t\tdownloadType: \"text/plain\",\n\t\t\t\tvariables: event.paramObject\n\t\t\t});\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-download-file\",function(event) {\n\t\t\tself.saveWiki({\n\t\t\t\twiki: event.widget.wiki,\n\t\t\t\tmethod: \"download\",\n\t\t\t\ttemplate: event.param,\n\t\t\t\tdownloadType: \"text/plain\",\n\t\t\t\tvariables: event.paramObject\n\t\t\t});\n\t\t});\n\t}\n}\n\nSaverHandler.prototype.titleSyncFilter = \"$:/config/SaverFilter\";\nSaverHandler.prototype.titleAutoSave = \"$:/config/AutoSave\";\nSaverHandler.prototype.titleSavedNotification = \"$:/language/Notifications/Save/Done\";\n\n/*\nSelect the appropriate saver modules and set them up\n*/\nSaverHandler.prototype.initSavers = function(moduleType) {\n\tmoduleType = moduleType || \"saver\";\n\t// Instantiate the available savers\n\tthis.savers = [];\n\tvar self = this;\n\t$tw.modules.forEachModuleOfType(moduleType,function(title,module) {\n\t\tif(module.canSave(self)) {\n\t\t\tself.savers.push(module.create(self.wiki));\n\t\t}\n\t});\n\t// Sort the savers into priority order\n\tthis.savers.sort(function(a,b) {\n\t\tif(a.info.priority < b.info.priority) {\n\t\t\treturn -1;\n\t\t} else {\n\t\t\tif(a.info.priority > b.info.priority) {\n\t\t\t\treturn +1;\n\t\t\t} else {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nSave the wiki contents. Options are:\n\tmethod: \"save\", \"autosave\" or \"download\"\n\ttemplate: the tiddler containing the template to save\n\tdownloadType: the content type for the saved file\n\twiki: optional wiki, overriding the default wiki specified in the constructor\n*/\nSaverHandler.prototype.saveWiki = function(options) {\n\toptions = options || {};\n\tvar self = this,\n\t\twiki = options.wiki || this.wiki,\n\t\tmethod = options.method || \"save\";\n\t// Ignore autosave if disabled\n\tif(method === \"autosave\" && ($tw.config.disableAutoSave || wiki.getTiddlerText(this.titleAutoSave,\"yes\") !== \"yes\")) {\n\t\treturn false;\n\t}\n\tvar\tvariables = options.variables || {},\n\t\ttemplate = (options.template || \n\t\t           wiki.getTiddlerText(\"$:/config/SaveWikiButton/Template\",\"$:/core/save/all\")).trim(),\n\t\tdownloadType = options.downloadType || \"text/plain\",\n\t\ttext = wiki.renderTiddler(downloadType,template,options),\n\t\tcallback = function(err) {\n\t\t\tif(err) {\n\t\t\t\talert($tw.language.getString(\"Error/WhileSaving\") + \":\\n\\n\" + err);\n\t\t\t} else {\n\t\t\t\t// Clear the task queue if we're saving (rather than downloading)\n\t\t\t\tif(method !== \"download\") {\n\t\t\t\t\tself.numChanges = 0;\n\t\t\t\t\tself.updateDirtyStatus();\n\t\t\t\t}\n\t\t\t\t$tw.notifier.display(self.titleSavedNotification);\n\t\t\t\tif(options.callback) {\n\t\t\t\t\toptions.callback();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t// Call the highest priority saver that supports this method\n\tfor(var t=this.savers.length-1; t>=0; t--) {\n\t\tvar saver = this.savers[t];\n\t\tif(saver.info.capabilities.indexOf(method) !== -1 && saver.save(text,method,callback,{variables: {filename: variables.filename, type: variables.type}})) {\n\t\t\tthis.logger.log(\"Saving wiki with method\",method,\"through saver\",saver.info.name);\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n\n/*\nChecks whether the wiki is dirty (ie the window shouldn't be closed)\n*/\nSaverHandler.prototype.isDirty = function() {\n\treturn this.numChanges > 0;\n};\n\n/*\nUpdate the document body with the class \"tc-dirty\" if the wiki has unsaved/unsynced changes\n*/\nSaverHandler.prototype.updateDirtyStatus = function() {\n\tvar self = this;\n\tif($tw.browser) {\n\t\t$tw.utils.toggleClass(document.body,\"tc-dirty\",this.isDirty());\n\t\t$tw.utils.each($tw.windows,function(win) {\n\t\t\t$tw.utils.toggleClass(win.document.body,\"tc-dirty\",self.isDirty());\n\t\t});\n\t}\n};\n\nexports.SaverHandler = SaverHandler;\n"
  },
  {
    "path": "core/modules/savers/andtidwiki.js",
    "content": "/*\\\ntitle: $:/core/modules/savers/andtidwiki.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via the AndTidWiki Android app\n\n\\*/\n\n\n\"use strict\";\n\nvar AndTidWiki = function(wiki) {\n};\n\nAndTidWiki.prototype.save = function(text,method,callback,options) {\n\tvar filename = options && options.variables ? options.variables.filename : null;\n\tif(method === \"download\") {\n\t\t// Support download\n\t\tif(window.twi.saveDownload) {\n\t\t\ttry {\n\t\t\t\twindow.twi.saveDownload(text,filename);\n\t\t\t} catch(err) {\n\t\t\t\tif(err.message === \"Method not found\") {\n\t\t\t\t\twindow.twi.saveDownload(text);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tvar link = document.createElement(\"a\");\n\t\t\tlink.setAttribute(\"href\",\"data:text/plain,\" + encodeURIComponent(text));\n\t\t\tif(filename) {\n\t\t\t\tlink.setAttribute(\"download\",filename);\n\t\t\t}\n\t\t\tdocument.body.appendChild(link);\n\t\t\tlink.click();\n\t\t\tdocument.body.removeChild(link);\n\t\t}\n\t} else if(window.twi.saveWiki) {\n\t\t// Direct save in Tiddloid\n\t\twindow.twi.saveWiki(text);\n\t} else {\n\t\t// Get the pathname of this document\n\t\tvar pathname = $tw.utils.decodeURIComponentSafe(document.location.toString().split(\"#\")[0]);\n\t\t// Strip the file://\n\t\tif(pathname.indexOf(\"file://\") === 0) {\n\t\t\tpathname = pathname.substr(7);\n\t\t}\n\t\t// Strip any query or location part\n\t\tvar p = pathname.indexOf(\"?\");\n\t\tif(p !== -1) {\n\t\t\tpathname = pathname.substr(0,p);\n\t\t}\n\t\tp = pathname.indexOf(\"#\");\n\t\tif(p !== -1) {\n\t\t\tpathname = pathname.substr(0,p);\n\t\t}\n\t\t// Save the file\n\t\twindow.twi.saveFile(pathname,text);\n\t}\n\t// Call the callback\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nAndTidWiki.prototype.info = {\n\tname: \"andtidwiki\",\n\tpriority: 1600,\n\tcapabilities: [\"save\", \"autosave\", \"download\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn !!window.twi && !!window.twi.saveFile;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new AndTidWiki(wiki);\n};\n"
  },
  {
    "path": "core/modules/savers/custom.js",
    "content": "/*\\\ntitle: $:/core/modules/savers/custom.js\ntype: application/javascript\nmodule-type: saver\n\nLooks for `window.$tw.customSaver` first on the current window, then\non the parent window (of an iframe). If present, the saver must define\n\tsave: function(text,method,callback) { ... }\nand the saver may define\n\tpriority: number\n\\*/\n\n\"use strict\";\n\nvar findSaver = function(window) {\n\ttry {\n\t\treturn window && window.$tw && window.$tw.customSaver;\n\t} catch (err) {\n\t\t// Catching the exception is the most reliable way to detect cross-origin iframe errors.\n\t\t// For example, instead of saying that `window.parent.$tw` is undefined, Firefox will throw\n\t\t//   Uncaught DOMException: Permission denied to access property \"$tw\" on cross-origin object\n\t\tconsole.log({ msg: \"custom saver is disabled\", reason: err });\n\t\treturn null;\n\t}\n};\nvar saver = findSaver(window) || findSaver(window.parent) || {};\n\nvar CustomSaver = function(wiki) {\n};\n\nCustomSaver.prototype.save = function(text,method,callback) {\n\treturn saver.save(text, method, callback);\n};\n\n/*\nInformation about this saver\n*/\nCustomSaver.prototype.info = {\n\tname: \"custom\",\n\tpriority: saver.priority || 4000,\n\tcapabilities: [\"save\",\"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn !!(saver.save);\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new CustomSaver(wiki);\n};\n"
  },
  {
    "path": "core/modules/savers/download.js",
    "content": "/*\\\ntitle: $:/core/modules/savers/download.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via HTML5's download APIs\n\n\\*/\n\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar DownloadSaver = function(wiki) {\n};\n\nDownloadSaver.prototype.save = function(text,method,callback,options) {\n\toptions = options || {};\n\t// Get the current filename\n\tvar filename = options.variables.filename;\n\tvar type = options.variables.type;\n\tif(!filename) {\n\t\tvar p = document.location.pathname.lastIndexOf(\"/\");\n\t\tif(p !== -1) {\n\t\t\t// We decode the pathname because document.location is URL encoded by the browser\n\t\t\tfilename = $tw.utils.decodeURIComponentSafe(document.location.pathname.substr(p+1));\n\t\t}\n\t}\n\tif(!filename) {\n\t\tfilename = \"tiddlywiki.html\";\n\t}\n\tif(!type) {\n\t\ttype = \"text/html\";\n\t}\n\t// Set up the link\n\tvar link = document.createElement(\"a\");\n\t// We prefer Blobs if they're available, unless we're dealing with a tiddler type declaring itself full of base64 encoded content.\n\t// Then we use data urls, because browsers will know to decode the stream and download the actual binary file as intended.\n\tif(Blob !== undefined && !type.includes(\";base64\")) {\n\t\tvar blob = new Blob([text], {type: type});\n\t\tlink.setAttribute(\"href\", URL.createObjectURL(blob));\n\t} else {\n\t\tlink.setAttribute(\"href\",\"data:\" + type + \",\" + encodeURIComponent(text));\n\t}\n\tlink.setAttribute(\"download\",filename);\n\tdocument.body.appendChild(link);\n\tlink.click();\n\tdocument.body.removeChild(link);\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nDownloadSaver.prototype.info = {\n\tname: \"download\",\n\tpriority: 100\n};\n\nObject.defineProperty(DownloadSaver.prototype.info, \"capabilities\", {\n\tget: function() {\n\t\tvar capabilities = [\"save\", \"download\"];\n\t\tif(($tw.wiki.getTextReference(\"$:/config/DownloadSaver/AutoSave\") || \"\").toLowerCase() === \"yes\") {\n\t\t\tcapabilities.push(\"autosave\");\n\t\t}\n\t\treturn capabilities;\n\t}\n});\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn document.createElement(\"a\").download !== undefined;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new DownloadSaver(wiki);\n};\n"
  },
  {
    "path": "core/modules/savers/fsosaver.js",
    "content": "/*\\\ntitle: $:/core/modules/savers/fsosaver.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via MS FileSystemObject ActiveXObject\n\nNote: Since TiddlyWiki's markup contains the MOTW, the FileSystemObject normally won't be available. \nHowever, if the wiki is loaded as an .HTA file (Windows HTML Applications) then the FSO can be used.\n\n\\*/\n\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar FSOSaver = function(wiki) {\n};\n\nFSOSaver.prototype.save = function(text,method,callback) {\n\t// Get the pathname of this document\n\tvar pathname = unescape(document.location.pathname);\n\t// Test for a Windows path of the form /x:\\blah...\n\tif(/^\\/[A-Z]\\:\\\\[^\\\\]+/i.test(pathname)) {\t// ie: ^/[a-z]:/[^/]+\n\t\t// Remove the leading slash\n\t\tpathname = pathname.substr(1);\n\t} else if(document.location.hostname !== \"\" && /^\\/\\\\[^\\\\]+\\\\[^\\\\]+/i.test(pathname)) {\t// test for \\\\server\\share\\blah... - ^/[^/]+/[^/]+\n\t\t// Remove the leading slash\n\t\tpathname = pathname.substr(1);\n\t\t// reconstruct UNC path\n\t\tpathname = \"\\\\\\\\\" + document.location.hostname + pathname;\n\t} else {\n\t\treturn false;\n\t}\n\t// Save the file (as UTF-16)\n\tvar fso = new ActiveXObject(\"Scripting.FileSystemObject\");\n\tvar file = fso.OpenTextFile(pathname,2,-1,-1);\n\tfile.Write(text);\n\tfile.Close();\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nFSOSaver.prototype.info = {\n\tname: \"FSOSaver\",\n\tpriority: 120,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\ttry {\n\t\treturn (window.location.protocol === \"file:\") && !!(new ActiveXObject(\"Scripting.FileSystemObject\"));\n\t} catch(e) { return false; }\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new FSOSaver(wiki);\n};\n"
  },
  {
    "path": "core/modules/savers/gitea.js",
    "content": "/*\\\ntitle: $:/core/modules/savers/gitea.js\ntype: application/javascript\nmodule-type: saver\n\nSaves wiki by pushing a commit to the gitea\n\n\\*/\n\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar GiteaSaver = function(wiki) {\n\tthis.wiki = wiki;\n};\n\nGiteaSaver.prototype.save = function(text,method,callback) {\n\tvar self = this,\n\t\tusername = this.wiki.getTiddlerText(\"$:/Gitea/Username\"),\n\t\tpassword = $tw.utils.getPassword(\"Gitea\"),\n\t\trepo = this.wiki.getTiddlerText(\"$:/Gitea/Repo\"),\n\t\tpath = this.wiki.getTiddlerText(\"$:/Gitea/Path\",\"\"),\n\t\tfilename = this.wiki.getTiddlerText(\"$:/Gitea/Filename\"),\n\t\tbranch = this.wiki.getTiddlerText(\"$:/Gitea/Branch\") || \"master\",\n\t\tendpoint = this.wiki.getTiddlerText(\"$:/Gitea/ServerURL\") || \"https://gitea\",\n\t\theaders = {\n\t\t\t\"Accept\": \"application/json\",\n\t\t\t\"Content-Type\": \"application/json;charset=UTF-8\",\n\t\t\t\"Authorization\": \"token \" + password\n\t\t};\n\t// Bail if we don't have everything we need\n\tif(!username || !password || !repo || !filename) {\n\t\treturn false;\n\t}\n\t// Make sure the path start and ends with a slash\n\tif(path.substring(0,1) !== \"/\") {\n\t\tpath = \"/\" + path;\n\t}\n\tif(path.substring(path.length - 1) !== \"/\") {\n\t\tpath = path + \"/\";\n\t}\n\t// Compose the base URI\n\tvar uri = endpoint + \"/repos/\" + repo + \"/contents\" + path;\n\t// Perform a get request to get the details (inc shas) of files in the same path as our file\n\t$tw.utils.httpRequest({\n\t\turl: uri,\n\t\ttype: \"GET\",\n\t\theaders: headers,\n\t\tdata: {\n\t\t\tref: branch\n\t\t},\n\t\tcallback: function(err,getResponseDataJson,xhr) {\n\t\t\tvar getResponseData,sha = \"\";\n\t\t\tif(err && xhr.status !== 404) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tvar use_put = true;\n\t\t\tif(xhr.status !== 404) {\n\t\t\t\tgetResponseData = $tw.utils.parseJSONSafe(getResponseDataJson);\n\t\t\t\t$tw.utils.each(getResponseData,function(details) {\n\t\t\t\t\tif(details.name === filename) {\n\t\t\t\t\t\tsha = details.sha;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif(sha === \"\"){\n\t\t\t\t\tuse_put = false;\n\t\t\t\t}\n\t\t\t}\n\t\t\tvar data = {\n\t\t\t\tmessage: $tw.language.getString(\"ControlPanel/Saving/GitService/CommitMessage\"),\n\t\t\t\tcontent: $tw.utils.base64Encode(text),\n\t\t\t\tsha: sha\n\t\t\t};\n\t\t\t$tw.utils.httpRequest({\n\t\t\t\turl: endpoint + \"/repos/\" + repo + \"/branches/\" + branch,\n\t\t\t\ttype: \"GET\",\n\t\t\t\theaders: headers,\n\t\t\t\tcallback: function(err,getResponseDataJson,xhr) {\n\t\t\t\t\tif(xhr.status === 404) {\n\t\t\t\t\t\tcallback(\"Please ensure the branch in the Gitea repo exists\");\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdata[\"branch\"] = branch;\n\t\t\t\t\t\tself.upload(uri + filename, use_put?\"PUT\":\"POST\", headers, data, callback);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\treturn true;\n};\n\nGiteaSaver.prototype.upload = function(uri,method,headers,data,callback) {\n\t$tw.utils.httpRequest({\n\t\turl: uri,\n\t\ttype: method,\n\t\theaders: headers,\n\t\tdata: JSON.stringify(data),\n\t\tcallback: function(err,putResponseDataJson,xhr) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tcallback(null);\n\t\t}\n\t});\n};\n\n/*\nInformation about this saver\n*/\nGiteaSaver.prototype.info = {\n\tname: \"Gitea\",\n\tpriority: 2000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new GiteaSaver(wiki);\n};\n"
  },
  {
    "path": "core/modules/savers/github.js",
    "content": "/*\\\ntitle: $:/core/modules/savers/github.js\ntype: application/javascript\nmodule-type: saver\n\nSaves wiki by pushing a commit to the GitHub v3 REST API\n\n\\*/\n\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar GitHubSaver = function(wiki) {\n\tthis.wiki = wiki;\n};\n\nGitHubSaver.prototype.save = function(text,method,callback) {\n\tvar username = this.wiki.getTiddlerText(\"$:/GitHub/Username\"),\n\t\tpassword = $tw.utils.getPassword(\"github\"),\n\t\trepo = this.wiki.getTiddlerText(\"$:/GitHub/Repo\"),\n\t\tpath = this.wiki.getTiddlerText(\"$:/GitHub/Path\",\"\"),\n\t\tfilename = this.wiki.getTiddlerText(\"$:/GitHub/Filename\"),\n\t\tbranch = this.wiki.getTiddlerText(\"$:/GitHub/Branch\") || \"main\",\n\t\tendpoint = this.wiki.getTiddlerText(\"$:/GitHub/ServerURL\") || \"https://api.github.com\",\n\t\theaders = {\n\t\t\t\"Accept\": \"application/vnd.github.v3+json\",\n\t\t\t\"Content-Type\": \"application/json;charset=UTF-8\",\n\t\t\t\"Authorization\": \"Basic \" + $tw.utils.base64Encode(username + \":\" + password),\n\t\t\t\"If-None-Match\": \"\"\n\t\t};\n\t// Bail if we don't have everything we need\n\tif(!username || !password || !repo || !filename) {\n\t\treturn false;\n\t}\n\t// Make sure the path start and ends with a slash\n\tif(path.substring(0,1) !== \"/\") {\n\t\tpath = \"/\" + path;\n\t}\n\tif(path.substring(path.length - 1) !== \"/\") {\n\t\tpath = path + \"/\";\n\t}\n\t// Compose the base URI\n\tvar uri = endpoint + \"/repos/\" + repo + \"/contents\" + path;\n\t// Perform a get request to get the details (inc shas) of files in the same path as our file\n\t$tw.utils.httpRequest({\n\t\turl: uri,\n\t\ttype: \"GET\",\n\t\theaders: headers,\n\t\tdata: {\n\t\t\tref: branch\n\t\t},\n\t\tcallback: function(err,getResponseDataJson,xhr) {\n\t\t\tvar getResponseData,sha = \"\";\n\t\t\tif(err && xhr.status !== 404) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tif(xhr.status !== 404) {\n\t\t\t\tgetResponseData = $tw.utils.parseJSONSafe(getResponseDataJson);\n\t\t\t\t$tw.utils.each(getResponseData,function(details) {\n\t\t\t\t\tif(details.name === filename) {\n\t\t\t\t\t\tsha = details.sha;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\tvar data = {\n\t\t\t\tmessage: $tw.language.getString(\"ControlPanel/Saving/GitService/CommitMessage\"),\n\t\t\t\tcontent: $tw.utils.base64Encode(text),\n\t\t\t\tbranch: branch,\n\t\t\t\tsha: sha\n\t\t\t};\n\t\t\t// Perform a PUT request to save the file\n\t\t\t$tw.utils.httpRequest({\n\t\t\t\turl: uri + filename,\n\t\t\t\ttype: \"PUT\",\n\t\t\t\theaders: headers,\n\t\t\t\tdata: JSON.stringify(data),\n\t\t\t\tcallback: function(err,putResponseDataJson,xhr) {\n\t\t\t\t\tif(err) {\n\t\t\t\t\t\treturn callback(err);\n\t\t\t\t\t}\n\t\t\t\t\tcallback(null);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nGitHubSaver.prototype.info = {\n\tname: \"github\",\n\tpriority: 2000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new GitHubSaver(wiki);\n};\n"
  },
  {
    "path": "core/modules/savers/gitlab.js",
    "content": "/*\\\ntitle: $:/core/modules/savers/gitlab.js\ntype: application/javascript\nmodule-type: saver\n\nSaves wiki by pushing a commit to the GitLab REST API\n\n\\*/\n\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar GitLabSaver = function(wiki) {\n\tthis.wiki = wiki;\n};\n\nGitLabSaver.prototype.save = function(text,method,callback) {\n\t/* See https://docs.gitlab.com/ee/api/repository_files.html */\n\tvar username = this.wiki.getTiddlerText(\"$:/GitLab/Username\"),\n\t\tpassword = $tw.utils.getPassword(\"gitlab\"),\n\t\trepo = this.wiki.getTiddlerText(\"$:/GitLab/Repo\"),\n\t\tpath = this.wiki.getTiddlerText(\"$:/GitLab/Path\",\"\"),\n\t\tfilename = this.wiki.getTiddlerText(\"$:/GitLab/Filename\"),\n\t\tbranch = this.wiki.getTiddlerText(\"$:/GitLab/Branch\") || \"master\",\n\t\tendpoint = this.wiki.getTiddlerText(\"$:/GitLab/ServerURL\") || \"https://gitlab.com/api/v4\",\n\t\theaders = {\n\t\t\t\"Content-Type\": \"application/json;charset=UTF-8\",\n\t\t\t\"Private-Token\": password\n\t\t};\n\t// Bail if we don't have everything we need\n\tif(!username || !password || !repo || !filename) {\n\t\treturn false;\n\t}\n\t// Make sure the path start and ends with a slash\n\tif(path.substring(0,1) !== \"/\") {\n\t\tpath = \"/\" + path;\n\t}\n\tif(path.substring(path.length - 1) !== \"/\") {\n\t\tpath = path + \"/\";\n\t}\n\t// Compose the base URI\n\tvar uri = endpoint + \"/projects/\" + encodeURIComponent(repo) + \"/repository/\";\n\t// Perform a get request to get the details (inc shas) of files in the same path as our file\n\t$tw.utils.httpRequest({\n\t\turl: uri + \"tree/?path=\" + encodeURIComponent(path.replace(/^\\/+|\\/$/g, \"\")) + \"&branch=\" + encodeURIComponent(branch.replace(/^\\/+|\\/$/g, \"\")),\n\t\ttype: \"GET\",\n\t\theaders: headers,\n\t\tcallback: function(err,getResponseDataJson,xhr) {\n\t\t\tvar getResponseData,sha = \"\";\n\t\t\tif(err && xhr.status !== 404) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tvar requestType = \"POST\";\n\t\t\tif(xhr.status !== 404) {\n\t\t\t\tgetResponseData = $tw.utils.parseJSONSafe(getResponseDataJson);\n\t\t\t\t$tw.utils.each(getResponseData,function(details) {\n\t\t\t\t\tif(details.name === filename) {\n\t\t\t\t\t\trequestType = \"PUT\";\n\t\t\t\t\t\tsha = details.sha;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\tvar data = {\n\t\t\t\tcommit_message: $tw.language.getString(\"ControlPanel/Saving/GitService/CommitMessage\"),\n\t\t\t\tcontent: text,\n\t\t\t\tbranch: branch,\n\t\t\t\tsha: sha\n\t\t\t};\n\t\t\t// Perform a request to save the file\n\t\t\t$tw.utils.httpRequest({\n\t\t\t\turl: uri + \"files/\" + encodeURIComponent(path.replace(/^\\/+/, \"\") + filename),\n\t\t\t\ttype: requestType,\n\t\t\t\theaders: headers,\n\t\t\t\tdata: JSON.stringify(data),\n\t\t\t\tcallback: function(err,putResponseDataJson,xhr) {\n\t\t\t\t\tif(err) {\n\t\t\t\t\t\treturn callback(err);\n\t\t\t\t\t}\n\t\t\t\t\tcallback(null);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nGitLabSaver.prototype.info = {\n\tname: \"gitlab\",\n\tpriority: 2000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new GitLabSaver(wiki);\n};\n"
  },
  {
    "path": "core/modules/savers/manualdownload.js",
    "content": "/*\\\ntitle: $:/core/modules/savers/manualdownload.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via HTML5's download APIs\n\n\\*/\n\n\"use strict\";\n\n// Title of the tiddler containing the download message\nvar downloadInstructionsTitle = \"$:/language/Modals/Download\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar ManualDownloadSaver = function(wiki) {\n};\n\nManualDownloadSaver.prototype.save = function(text,method,callback) {\n\t$tw.modal.display(downloadInstructionsTitle,{\n\t\tdownloadLink: \"data:text/html,\" + encodeURIComponent(text)\n\t});\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nManualDownloadSaver.prototype.info = {\n\tname: \"manualdownload\",\n\tpriority: 0,\n\tcapabilities: [\"save\", \"download\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new ManualDownloadSaver(wiki);\n};\n"
  },
  {
    "path": "core/modules/savers/msdownload.js",
    "content": "/*\\\ntitle: $:/core/modules/savers/msdownload.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via window.navigator.msSaveBlob()\n\n\\*/\n\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar MsDownloadSaver = function(wiki) {\n};\n\nMsDownloadSaver.prototype.save = function(text,method,callback) {\n\t// Get the current filename\n\tvar filename = \"tiddlywiki.html\",\n\t\tp = document.location.pathname.lastIndexOf(\"/\");\n\tif(p !== -1) {\n\t\tfilename = document.location.pathname.substr(p+1);\n\t}\n\t// Set up the link\n\tvar blob = new Blob([text], {type: \"text/html\"});\n\twindow.navigator.msSaveBlob(blob,filename);\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nMsDownloadSaver.prototype.info = {\n\tname: \"msdownload\",\n\tpriority: 110,\n\tcapabilities: [\"save\", \"download\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn !!window.navigator.msSaveBlob;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new MsDownloadSaver(wiki);\n};\n"
  },
  {
    "path": "core/modules/savers/postmessage.js",
    "content": "/*\\\ntitle: $:/core/modules/savers/postmessage.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via window.postMessage() to the window.parent\n\n\\*/\n\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar PostMessageSaver = function(wiki) {\n\tthis.publisher = new $tw.utils.BrowserMessagingPublisher({type: \"SAVE\"});\n};\n\nPostMessageSaver.prototype.save = function(text,method,callback,options) {\n\t// Fail if the publisher hasn't been fully initialised\n\tif(!this.publisher.canSend()) {\n\t\treturn false;\n\t}\n\t// Send the save request\n\tthis.publisher.send({\n\t\tverb: \"SAVE\",\n\t\tbody: text\n\t},function(err) {\n\t\tif(err) {\n\t\t\tcallback(\"PostMessageSaver Error: \" + err);\n\t\t} else {\n\t\t\tcallback(null);\n\t\t}\n\t});\n\t// Indicate that we handled the save\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nPostMessageSaver.prototype.info = {\n\tname: \"postmessage\",\n\tcapabilities: [\"save\", \"autosave\"],\n\tpriority: 100\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\t// Provisionally say that we can save\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new PostMessageSaver(wiki);\n};\n\n"
  },
  {
    "path": "core/modules/savers/put.js",
    "content": "/*\\\ntitle: $:/core/modules/savers/put.js\ntype: application/javascript\nmodule-type: saver\n\nSaves wiki by performing a PUT request to the server\n\nWorks with any server which accepts a PUT request\nto the current URL, such as a WebDAV server.\n\n\\*/\n\n\"use strict\";\n\n/*\nRetrieve ETag if available\n*/\nvar retrieveETag = function(self) {\n\tvar headers = {\n\t\tAccept: \"*/*\"\n\t};\n\t$tw.utils.httpRequest({\n\t\turl: self.uri(),\n\t\ttype: \"HEAD\",\n\t\theaders: headers,\n\t\tcallback: function(err,data,xhr) {\n\t\t\tif(err) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar etag = xhr.getResponseHeader(\"ETag\");\n\t\t\tif(!etag) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tself.etag = etag.replace(/^W\\//,\"\");\n\t\t}\n\t});\n};\n\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar PutSaver = function(wiki) {\n\tthis.wiki = wiki;\n\tvar self = this;\n\tvar uri = this.uri();\n\t// Async server probe. Until probe finishes, save will fail fast\n\t// See also https://github.com/TiddlyWiki/TiddlyWiki5/issues/2276\n\t$tw.utils.httpRequest({\n\t\turl: uri,\n\t\ttype: \"OPTIONS\",\n\t\tcallback: function(err,data,xhr) {\n\t\t\t// Check DAV header http://www.webdav.org/specs/rfc2518.html#rfc.section.9.1\n\t\t\tif(!err) {\n\t\t\t\tself.serverAcceptsPuts = xhr.status >= 200 && xhr.status < 300 && !!xhr.getResponseHeader(\"dav\");\n\t\t\t}\n\t\t}\n\t});\n\tretrieveETag(this);\n};\n\nPutSaver.prototype.uri = function() {\n\treturn document.location.toString().split(\"#\")[0];\n};\n\n// TODO: in case of edit conflict\n// Prompt: Do you want to save over this? Y/N\n// Merging would be ideal, and may be possible using future generic merge flow\nPutSaver.prototype.save = function(text,method,callback) {\n\tif(!this.serverAcceptsPuts) {\n\t\treturn false;\n\t}\n\tvar self = this;\n\tvar headers = {\n\t\t\"Content-Type\": \"text/html;charset=UTF-8\"\n\t};\n\tif(this.etag) {\n\t\theaders[\"If-Match\"] = this.etag;\n\t}\n\t$tw.notifier.display(\"$:/language/Notifications/Save/Starting\");\n\t$tw.utils.httpRequest({\n\t\turl: this.uri(),\n\t\ttype: \"PUT\",\n\t\theaders: headers,\n\t\tdata: text,\n\t\tcallback: function(err,data,xhr) {\n\t\t\tif(err) {\n\t\t\t\tvar status = xhr.status,\n\t\t\t\t\terrorMsg = err;\n\t\t\t\tif(status === 412) { // file changed on server\n\t\t\t\t\terrorMsg = $tw.language.getString(\"Error/PutEditConflict\");\n\t\t\t\t} else if(status === 401) { // authentication required\n\t\t\t\t\terrorMsg = $tw.language.getString(\"Error/PutUnauthorized\");\n\t\t\t\t} else if(status === 403) { // permission denied\n\t\t\t\t\terrorMsg = $tw.language.getString(\"Error/PutForbidden\");\n\t\t\t\t}\n\t\t\t\tif(xhr.responseText) {\n\t\t\t\t\t// treat any server response like a plain text error explanation\n\t\t\t\t\terrorMsg = errorMsg + \"\\n\\n\" + xhr.responseText;\n\t\t\t\t}\n\t\t\t\tcallback(errorMsg); // fail\n\t\t\t} else {\n\t\t\t\tself.etag = xhr.getResponseHeader(\"ETag\");\n\t\t\t\tif(self.etag == null) {\n\t\t\t\t\tretrieveETag(self);\n\t\t\t\t}\n\t\t\t\tcallback(null); // success\n\t\t\t}\n\t\t}\n\t});\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nPutSaver.prototype.info = {\n\tname: \"put\",\n\tpriority: 2000,\n\tcapabilities: [\"save\",\"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn /^https?:/.test(location.protocol);\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new PutSaver(wiki);\n};\n"
  },
  {
    "path": "core/modules/savers/tiddlyfox.js",
    "content": "/*\\\ntitle: $:/core/modules/savers/tiddlyfox.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via the TiddlyFox file extension\n\n\\*/\n\n\"use strict\";\n\nvar TiddlyFoxSaver = function(wiki) {\n};\n\nTiddlyFoxSaver.prototype.save = function(text,method,callback) {\n\tvar messageBox = document.getElementById(\"tiddlyfox-message-box\");\n\tif(messageBox) {\n\t\t// Get the pathname of this document\n\t\tvar pathname = document.location.toString().split(\"#\")[0];\n\t\t// Replace file://localhost/ with file:///\n\t\tif(pathname.indexOf(\"file://localhost/\") === 0) {\n\t\t\tpathname = \"file://\" + pathname.substr(16);\n\t\t}\n\t\t// Windows path file:///x:/blah/blah --> x:\\blah\\blah\n\t\tif(/^file\\:\\/\\/\\/[A-Z]\\:\\//i.test(pathname)) {\n\t\t\t// Remove the leading slash and convert slashes to backslashes\n\t\t\tpathname = pathname.substr(8).replace(/\\//g,\"\\\\\");\n\t\t// Firefox Windows network path file://///server/share/blah/blah --> //server/share/blah/blah\n\t\t} else if(pathname.indexOf(\"file://///\") === 0) {\n\t\t\tpathname = \"\\\\\\\\\" + unescape(pathname.substr(10)).replace(/\\//g,\"\\\\\");\n\t\t// Mac/Unix local path file:///path/path --> /path/path\n\t\t} else if(pathname.indexOf(\"file:///\") === 0) {\n\t\t\tpathname = unescape(pathname.substr(7));\n\t\t// Mac/Unix local path file:/path/path --> /path/path\n\t\t} else if(pathname.indexOf(\"file:/\") === 0) {\n\t\t\tpathname = unescape(pathname.substr(5));\n\t\t// Otherwise Windows networth path file://server/share/path/path --> \\\\server\\share\\path\\path\n\t\t} else {\n\t\t\tpathname = \"\\\\\\\\\" + unescape(pathname.substr(7)).replace(new RegExp(\"/\",\"g\"),\"\\\\\");\n\t\t}\n\t\t// Create the message element and put it in the message box\n\t\tvar message = document.createElement(\"div\");\n\t\tmessage.setAttribute(\"data-tiddlyfox-path\",$tw.utils.decodeURIComponentSafe(pathname));\n\t\tmessage.setAttribute(\"data-tiddlyfox-content\",text);\n\t\tmessageBox.appendChild(message);\n\t\t// Add an event handler for when the file has been saved\n\t\tmessage.addEventListener(\"tiddlyfox-have-saved-file\",function(event) {\n\t\t\tcallback(null);\n\t\t}, false);\n\t\t// Create and dispatch the custom event to the extension\n\t\tvar event = document.createEvent(\"Events\");\n\t\tevent.initEvent(\"tiddlyfox-save-file\",true,false);\n\t\tmessage.dispatchEvent(event);\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/*\nInformation about this saver\n*/\nTiddlyFoxSaver.prototype.info = {\n\tname: \"tiddlyfox\",\n\tpriority: 1500,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new TiddlyFoxSaver(wiki);\n};\n"
  },
  {
    "path": "core/modules/savers/tiddlyie.js",
    "content": "/*\\\ntitle: $:/core/modules/savers/tiddlyie.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via Internet Explorer BHO extenion (TiddlyIE)\n\n\\*/\n\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar TiddlyIESaver = function(wiki) {\n};\n\nTiddlyIESaver.prototype.save = function(text,method,callback) {\n\t// Check existence of TiddlyIE BHO extension (note: only works after document is complete)\n\tif(typeof(window.TiddlyIE) != \"undefined\") {\n\t\t// Get the pathname of this document\n\t\tvar pathname = unescape(document.location.pathname);\n\t\t// Test for a Windows path of the form /x:/blah...\n\t\tif(/^\\/[A-Z]\\:\\/[^\\/]+/i.test(pathname)) {\t// ie: ^/[a-z]:/[^/]+ (is this better?: ^/[a-z]:/[^/]+(/[^/]+)*\\.[^/]+ )\n\t\t\t// Remove the leading slash\n\t\t\tpathname = pathname.substr(1);\n\t\t\t// Convert slashes to backslashes\n\t\t\tpathname = pathname.replace(/\\//g,\"\\\\\");\n\t\t} else if(document.hostname !== \"\" && /^\\/[^\\/]+\\/[^\\/]+/i.test(pathname)) {\t// test for \\\\server\\share\\blah... - ^/[^/]+/[^/]+\n\t\t\t// Convert slashes to backslashes\n\t\t\tpathname = pathname.replace(/\\//g,\"\\\\\");\n\t\t\t// reconstruct UNC path\n\t\t\tpathname = \"\\\\\\\\\" + document.location.hostname + pathname;\n\t\t} else return false;\n\t\t// Prompt the user to save the file\n\t\twindow.TiddlyIE.save(pathname, text);\n\t\t// Callback that we succeeded\n\t\tcallback(null);\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/*\nInformation about this saver\n*/\nTiddlyIESaver.prototype.info = {\n\tname: \"tiddlyiesaver\",\n\tpriority: 1500,\n\tcapabilities: [\"save\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn (window.location.protocol === \"file:\");\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new TiddlyIESaver(wiki);\n};\n"
  },
  {
    "path": "core/modules/savers/twedit.js",
    "content": "/*\\\ntitle: $:/core/modules/savers/twedit.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via the TWEdit iOS app\n\n\\*/\n\n\"use strict\";\n\nvar TWEditSaver = function(wiki) {\n};\n\nTWEditSaver.prototype.save = function(text,method,callback) {\n\t// Bail if we're not running under TWEdit\n\tif(typeof DeviceInfo !== \"object\") {\n\t\treturn false;\n\t}\n\t// Get the pathname of this document\n\tvar pathname = $tw.utils.decodeURIComponentSafe(document.location.pathname);\n\t// Strip any query or location part\n\tvar p = pathname.indexOf(\"?\");\n\tif(p !== -1) {\n\t\tpathname = pathname.substr(0,p);\n\t}\n\tp = pathname.indexOf(\"#\");\n\tif(p !== -1) {\n\t\tpathname = pathname.substr(0,p);\n\t}\n\t// Remove the leading \"/Documents\" from path\n\tvar prefix = \"/Documents\";\n\tif(pathname.indexOf(prefix) === 0) {\n\t\tpathname = pathname.substr(prefix.length);\n\t}\n\t// Error handler\n\tvar errorHandler = function(event) {\n\t\t// Error\n\t\tcallback($tw.language.getString(\"Error/SavingToTWEdit\") + \": \" + event.target.error.code);\n\t};\n\t// Get the file system\n\twindow.requestFileSystem(LocalFileSystem.PERSISTENT,0,function(fileSystem) {\n\t\t// Now we've got the filesystem, get the fileEntry\n\t\tfileSystem.root.getFile(pathname, {create: true}, function(fileEntry) {\n\t\t\t// Now we've got the fileEntry, create the writer\n\t\t\tfileEntry.createWriter(function(writer) {\n\t\t\t\twriter.onerror = errorHandler;\n\t\t\t\twriter.onwrite = function() {\n\t\t\t\t\tcallback(null);\n\t\t\t\t};\n\t\t\t\twriter.position = 0;\n\t\t\t\twriter.write(text);\n\t\t\t},errorHandler);\n\t\t}, errorHandler);\n\t}, errorHandler);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nTWEditSaver.prototype.info = {\n\tname: \"twedit\",\n\tpriority: 1600,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new TWEditSaver(wiki);\n};\n\n/////////////////////////// Hack\n// HACK: This ensures that TWEdit recognises us as a TiddlyWiki document\nif($tw.browser) {\n\twindow.version = {title: \"TiddlyWiki\"};\n}\n"
  },
  {
    "path": "core/modules/savers/upload.js",
    "content": "/*\\\ntitle: $:/core/modules/savers/upload.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via upload to a server.\n\nDesigned to be compatible with BidiX's UploadPlugin at http://tiddlywiki.bidix.info/#UploadPlugin\n\n\\*/\n\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar UploadSaver = function(wiki) {\n\tthis.wiki = wiki;\n};\n\nUploadSaver.prototype.save = function(text,method,callback) {\n\t// Get the various parameters we need\n\tvar backupDir = this.wiki.getTextReference(\"$:/UploadBackupDir\") || \".\",\n\t\tusername = this.wiki.getTextReference(\"$:/UploadName\"),\n\t\tpassword = $tw.utils.getPassword(\"upload\"),\n\t\tuploadDir = this.wiki.getTextReference(\"$:/UploadDir\") || \".\",\n\t\tuploadFilename = this.wiki.getTextReference(\"$:/UploadFilename\") || \"index.html\",\n\t\tuploadWithUrlOnly = this.wiki.getTextReference(\"$:/UploadWithUrlOnly\") || \"no\",\n\t\turl = this.wiki.getTextReference(\"$:/UploadURL\");\n\t// Bail out if we don't have the bits we need\n\tif(uploadWithUrlOnly === \"yes\") {\n\t\t// The url is good enough. No need for a username and password.\n\t\t// Assume the server uses some other kind of auth mechanism.\n\t\tif(!url || url.toString().trim() === \"\") {\n\t\t\treturn false;\n\t\t}\n\t}\n\telse {\n\t\t// Require username and password to be present.\n\t\t// Assume the server uses the standard UploadPlugin username/password.\n\t\tif(!username || username.toString().trim() === \"\" || !password || password.toString().trim() === \"\") {\n\t\t\treturn false;\n\t\t}\n\t}\n\t// Construct the url if not provided\n\tif(!url) {\n\t\turl = \"http://\" + username + \".tiddlyhost.com/\";\n\t}\n\t// Assemble the header\n\tvar boundary = \"---------------------------\" + \"AaB03x\";\n\tvar head = [];\n\thead.push(\"--\" + boundary + \"\\r\\nContent-disposition: form-data; name=\\\"UploadPlugin\\\"\\r\\n\");\n\thead.push(\"backupDir=\" + backupDir + \";user=\" + username + \";password=\" + password + \";uploaddir=\" + uploadDir + \";;\"); \n\thead.push(\"\\r\\n\" + \"--\" + boundary);\n\thead.push(\"Content-disposition: form-data; name=\\\"userfile\\\"; filename=\\\"\" + uploadFilename + \"\\\"\");\n\thead.push(\"Content-Type: text/html;charset=UTF-8\");\n\thead.push(\"Content-Length: \" + text.length + \"\\r\\n\");\n\thead.push(\"\");\n\t// Assemble the tail and the data itself\n\tvar tail = \"\\r\\n--\" + boundary + \"--\\r\\n\",\n\t\tdata = head.join(\"\\r\\n\") + text + tail;\n\t// Do the HTTP post\n\t$tw.notifier.display(\"$:/language/Notifications/Save/Starting\");\n\tvar http = new XMLHttpRequest();\n\thttp.open(\"POST\",url,true,username,password);\n\thttp.setRequestHeader(\"Content-Type\",\"multipart/form-data; charset=UTF-8; boundary=\" + boundary);\n\thttp.onreadystatechange = function() {\n\t\tif(http.readyState == 4 && http.status == 200) {\n\t\t\tif(http.responseText.substr(0,4) === \"0 - \") {\n\t\t\t\tcallback(null);\n\t\t\t} else {\n\t\t\t\tcallback(http.responseText);\n\t\t\t}\n\t\t}\n\t};\n\ttry {\n\t\thttp.send(data);\n\t} catch(ex) {\n\t\treturn callback($tw.language.getString(\"Error/Caption\") + \":\" + ex);\n\t}\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nUploadSaver.prototype.info = {\n\tname: \"upload\",\n\tpriority: 2000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new UploadSaver(wiki);\n};\n"
  },
  {
    "path": "core/modules/startup/browser-messaging.js",
    "content": "/*\\\ntitle: $:/core/modules/browser-messaging.js\ntype: application/javascript\nmodule-type: startup\n\nBrowser message handling\n\n\\*/\n\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"browser-messaging\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n/*\nLoad a specified url as an iframe and call the callback when it is loaded. If the url is already loaded then the existing iframe instance is used\n*/\nfunction loadIFrame(url,callback) {\n\t// Check if iframe already exists\n\tvar iframeInfo = $tw.browserMessaging.iframeInfoMap[url];\n\tif(iframeInfo) {\n\t\t// We've already got the iframe\n\t\tcallback(null,iframeInfo);\n\t} else {\n\t\t// Create the iframe and save it in the list\n\t\tvar iframe = document.createElement(\"iframe\");\n\t\tiframeInfo = {\n\t\t\turl: url,\n\t\t\tstatus: \"loading\",\n\t\t\tdomNode: iframe\n\t\t};\n\t\t$tw.browserMessaging.iframeInfoMap[url] = iframeInfo;\n\t\tsaveIFrameInfoTiddler(iframeInfo);\n\t\t// Add the iframe to the DOM and hide it\n\t\tiframe.style.display = \"none\";\n\t\tiframe.setAttribute(\"library\",\"true\");\n\t\tdocument.body.appendChild(iframe);\n\t\t// Set up onload\n\t\tiframe.onload = function() {\n\t\t\tiframeInfo.status = \"loaded\";\n\t\t\tsaveIFrameInfoTiddler(iframeInfo);\n\t\t\tcallback(null,iframeInfo);\n\t\t};\n\t\tiframe.onerror = function() {\n\t\t\tcallback(\"Cannot load iframe\");\n\t\t};\n\t\ttry {\n\t\t\tiframe.src = url;\n\t\t} catch(ex) {\n\t\t\tcallback(ex);\n\t\t}\n\t}\n}\n\n/*\nUnload library iframe for given url\n*/\nfunction unloadIFrame(url){\n\tvar iframes = document.getElementsByTagName(\"iframe\");\n\tfor(var t=iframes.length-1; t--; t>=0) {\n\t\tvar iframe = iframes[t];\n\t\tif(iframe.getAttribute(\"library\") === \"true\" &&\n\t\t  iframe.getAttribute(\"src\") === url) {\n\t\t\tiframe.parentNode.removeChild(iframe);\n\t\t}\n\t}\n}\n\nfunction saveIFrameInfoTiddler(iframeInfo) {\n\t$tw.wiki.addTiddler(new $tw.Tiddler($tw.wiki.getCreationFields(),{\n\t\ttitle: \"$:/temp/ServerConnection/\" + iframeInfo.url,\n\t\ttext: iframeInfo.status,\n\t\ttags: [\"$:/tags/ServerConnection\"],\n\t\turl: iframeInfo.url\n\t},$tw.wiki.getModificationFields()));\n}\n\nexports.startup = function() {\n\t// Initialise the store of iframes we've created\n\t$tw.browserMessaging = {\n\t\tiframeInfoMap: {} // Hashmap by URL of {url:,status:\"loading/loaded\",domNode:}\n\t};\n\t// Listen for widget messages to control loading the plugin library\n\t$tw.rootWidget.addEventListener(\"tm-load-plugin-library\",function(event) {\n\t\tvar paramObject = event.paramObject || {},\n\t\t\turl = paramObject.url;\n\t\tif(url) {\n\t\t\tloadIFrame(url,function(err,iframeInfo) {\n\t\t\t\tif(err) {\n\t\t\t\t\talert($tw.language.getString(\"Error/LoadingPluginLibrary\") + \": \" + url);\n\t\t\t\t} else {\n\t\t\t\t\tiframeInfo.domNode.contentWindow.postMessage({\n\t\t\t\t\t\tverb: \"GET\",\n\t\t\t\t\t\turl: \"recipes/library/tiddlers.json\",\n\t\t\t\t\t\tcookies: {\n\t\t\t\t\t\t\ttype: \"save-info\",\n\t\t\t\t\t\t\tinfoTitlePrefix: paramObject.infoTitlePrefix || \"$:/temp/RemoteAssetInfo/\",\n\t\t\t\t\t\t\turl: url\n\t\t\t\t\t\t}\n\t\t\t\t\t},\"*\");\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\t// Listen for widget messages to control unloading the plugin library\n\t$tw.rootWidget.addEventListener(\"tm-unload-plugin-library\",function(event) {\n\t\tvar paramObject = event.paramObject || {},\n\t\t\turl = paramObject.url;\n\t\t$tw.browserMessaging.iframeInfoMap[url] = undefined;\n\t\tif(url) {\n\t\t\tunloadIFrame(url);\n\t\t\t$tw.utils.each(\n\t\t\t\t$tw.wiki.filterTiddlers(\"[[$:/temp/ServerConnection/\" + url + \"]] [prefix[$:/temp/RemoteAssetInfo/\" + url + \"/]]\"),\n\t\t\t\tfunction(title) {\n\t\t\t\t\t$tw.wiki.deleteTiddler(title);\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t});\n\t$tw.rootWidget.addEventListener(\"tm-load-plugin-from-library\",function(event) {\n\t\tvar paramObject = event.paramObject || {},\n\t\t\turl = paramObject.url,\n\t\t\ttitle = paramObject.title;\n\t\tif(url && title) {\n\t\t\tloadIFrame(url,function(err,iframeInfo) {\n\t\t\t\tif(err) {\n\t\t\t\t\talert($tw.language.getString(\"Error/LoadingPluginLibrary\") + \": \" + url);\n\t\t\t\t} else {\n\t\t\t\t\tiframeInfo.domNode.contentWindow.postMessage({\n\t\t\t\t\t\tverb: \"GET\",\n\t\t\t\t\t\turl: \"recipes/library/tiddlers/\" + encodeURIComponent(title) + \".json\",\n\t\t\t\t\t\tcookies: {\n\t\t\t\t\t\t\ttype: \"save-tiddler\",\n\t\t\t\t\t\t\turl: url\n\t\t\t\t\t\t}\n\t\t\t\t\t},\"*\");\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\t// Listen for window messages from other windows\n\twindow.addEventListener(\"message\",function listener(event){\n\t\t// console.log(\"browser-messaging: \",document.location.toString())\n\t\t// console.log(\"browser-messaging: Received message from\",event.origin);\n\t\t// console.log(\"browser-messaging: Message content\",event.data);\n\t\tswitch(event.data.verb) {\n\t\t\tcase \"GET-RESPONSE\":\n\t\t\t\tif(event.data.status.charAt(0) === \"2\") {\n\t\t\t\t\tif(event.data.cookies) {\n\t\t\t\t\t\tif(event.data.cookies.type === \"save-info\") {\n\t\t\t\t\t\t\tvar tiddlers = $tw.utils.parseJSONSafe(event.data.body);\n\t\t\t\t\t\t\t$tw.utils.each(tiddlers,function(tiddler) {\n\t\t\t\t\t\t\t\t$tw.wiki.addTiddler(new $tw.Tiddler($tw.wiki.getCreationFields(),tiddler,{\n\t\t\t\t\t\t\t\t\ttitle: event.data.cookies.infoTitlePrefix + event.data.cookies.url + \"/\" + tiddler.title,\n\t\t\t\t\t\t\t\t\t\"original-title\": tiddler.title,\n\t\t\t\t\t\t\t\t\ttext: \"\",\n\t\t\t\t\t\t\t\t\ttype: \"text/vnd.tiddlywiki\",\n\t\t\t\t\t\t\t\t\t\"original-type\": tiddler.type,\n\t\t\t\t\t\t\t\t\t\"plugin-type\": undefined,\n\t\t\t\t\t\t\t\t\t\"original-plugin-type\": tiddler[\"plugin-type\"],\n\t\t\t\t\t\t\t\t\t\"module-type\": undefined,\n\t\t\t\t\t\t\t\t\t\"original-module-type\": tiddler[\"module-type\"],\n\t\t\t\t\t\t\t\t\ttags: [\"$:/tags/RemoteAssetInfo\"],\n\t\t\t\t\t\t\t\t\t\"original-tags\": $tw.utils.stringifyList(tiddler.tags || []),\n\t\t\t\t\t\t\t\t\t\"server-url\": event.data.cookies.url\n\t\t\t\t\t\t\t\t},$tw.wiki.getModificationFields()));\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else if(event.data.cookies.type === \"save-tiddler\") {\n\t\t\t\t\t\t\tvar tiddler = $tw.utils.parseJSONSafe(event.data.body);\n\t\t\t\t\t\t\t$tw.wiki.addTiddler(new $tw.Tiddler(tiddler));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t},false);\n};\n"
  },
  {
    "path": "core/modules/startup/eventbus.js",
    "content": "/*\\\ntitle: $:/core/modules/startup/eventbus.js\ntype: application/javascript\nmodule-type: startup\n\nEvent bus for cross module communication\n\\*/\n\nexports.name = \"eventbus\";\nexports.platforms = [\"browser\"];\nexports.before = [\"windows\"];\nexports.synchronous = true;\n\n$tw.eventBus = {\n\tlistenersMap: new Map(),\n\n\ton(event,handler) {\n\t\tif(!this.listenersMap.has(event)) {\n\t\t\tthis.listenersMap.set(event,new Set());\n\t\t}\n\t\tconst listeners = this.listenersMap.get(event);\n\t\tlisteners.add(handler);\n\t},\n\n\toff(event,handler) {\n\t\tconst listeners = this.listenersMap.get(event);\n\t\tif(listeners) {\n\t\t\tlisteners.delete(handler);\n\t\t}\n\t},\n\n\tonce(event,handler) {\n\t\tconst wrapper = (...args) => {\n\t\t\thandler(...args);\n\t\t\tthis.off(event, wrapper);\n\t\t};\n\t\tthis.on(event, wrapper);\n\t},\n\n\temit(event,data) {\n\t\tconst listeners = this.listenersMap.get(event);\n\t\tif(listeners) {\n\t\t\tlisteners.forEach((fn) => fn(data));\n\t\t}\n\t}\n};\n"
  },
  {
    "path": "core/modules/startup/favicon.js",
    "content": "/*\\\ntitle: $:/core/modules/startup/favicon.js\ntype: application/javascript\nmodule-type: startup\n\nFavicon handling\n\n\\*/\n\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"favicon\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n// Favicon tiddler\nvar FAVICON_TITLE = \"$:/favicon.ico\";\n\nexports.startup = function() {\n\tvar setFavicon = function() {\n\t\tvar tiddler = $tw.wiki.getTiddler(FAVICON_TITLE);\n\t\tif(tiddler) {\n\t\t\tvar faviconLink = document.getElementById(\"faviconLink\"),\n\t\t\t\tdataURI = $tw.utils.makeDataUri(tiddler.fields.text,tiddler.fields.type,tiddler.fields._canonical_uri);\n\t\t\tfaviconLink.setAttribute(\"href\",dataURI);\n\t\t\t$tw.faviconPublisher.send({verb: \"FAVICON\",body: dataURI});\n\t\t}\n\t};\n\t$tw.faviconPublisher = new $tw.utils.BrowserMessagingPublisher({type: \"FAVICON\", onsubscribe: setFavicon});\n\t// Set up the favicon\n\tsetFavicon();\n\t// Reset the favicon when the tiddler changes\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.utils.hop(changes,FAVICON_TITLE)) {\n\t\t\tsetFavicon();\n\t\t}\n\t});\n};\n"
  },
  {
    "path": "core/modules/startup/info.js",
    "content": "/*\\\ntitle: $:/core/modules/startup/info.js\ntype: application/javascript\nmodule-type: startup\n\nInitialise $:/info tiddlers via $:/temp/info-plugin pseudo-plugin\n\n\\*/\n\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"info\";\nexports.before = [\"startup\"];\nexports.after = [\"load-modules\"];\nexports.synchronous = true;\n\nvar TITLE_INFO_PLUGIN = \"$:/temp/info-plugin\";\n\nexports.startup = function() {\n\t// Function to bake the info plugin with new tiddlers\n\t// additions: array of tiddler field objects\n\t// removals: array of titles to remove\n\tvar updateInfoPlugin = function(additions = [], removals = []) {\n\t\t// Get the existing tiddlers\n\t\tvar json = $tw.wiki.getTiddlerData(TITLE_INFO_PLUGIN,{tiddlers: {}});\n\t\t$tw.utils.each(removals,function(title) {\n\t\t\tif(json.tiddlers[title]) {\n\t\t\t\tdelete json.tiddlers[title];\n\t\t\t}\n\t\t});\n\t\t$tw.utils.each(additions,function(fields) {\n\t\t\tif(fields && fields.title) {\n\t\t\t\tjson.tiddlers[fields.title] = fields;\n\t\t\t}\n\t\t});\n\t\t// Bake the info tiddlers into a plugin. We use the non-standard plugin-type \"info\" because ordinary plugins are only registered asynchronously after being loaded dynamically\n\t\tvar fields = {\n\t\t\ttitle: TITLE_INFO_PLUGIN,\n\t\t\ttype: \"application/json\",\n\t\t\t\"plugin-type\": \"info\",\n\t\t\ttext: JSON.stringify(json,null,$tw.config.preferences.jsonSpaces)\n\t\t};\n\t\t$tw.wiki.addTiddler(new $tw.Tiddler(fields));\n\n\t};\n\t// Collect up the info tiddlers\n\tvar tiddlerFieldsArray = [];\n\t// Give each info module a chance to provide as many info tiddlers as they want as an array, and give them a callback for dynamically updating them\n\t$tw.modules.forEachModuleOfType(\"info\",function(title,moduleExports) {\n\t\tif(moduleExports && moduleExports.getInfoTiddlerFields) {\n\t\t\tArray.prototype.push.apply(tiddlerFieldsArray,moduleExports.getInfoTiddlerFields(updateInfoPlugin));\n\t\t}\n\t});\n\tupdateInfoPlugin(tiddlerFieldsArray);\n\t$tw.wiki.readPluginInfo([TITLE_INFO_PLUGIN]);\n\t$tw.wiki.registerPluginTiddlers(\"info\",[TITLE_INFO_PLUGIN]);\n\t$tw.wiki.unpackPluginTiddlers();\n};\n"
  },
  {
    "path": "core/modules/startup/load-modules.js",
    "content": "/*\\\ntitle: $:/core/modules/startup/load-modules.js\ntype: application/javascript\nmodule-type: startup\n\nLoad core modules\n\n\\*/\n\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"load-modules\";\nexports.synchronous = true;\n\n// Set to `true` to enable performance instrumentation\nvar PERFORMANCE_INSTRUMENTATION_CONFIG_TITLE = \"$:/config/Performance/Instrumentation\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.startup = function() {\n\t// Load modules\n\t$tw.modules.applyMethods(\"utils\",$tw.utils);\n\tif($tw.node) {\n\t\t$tw.modules.applyMethods(\"utils-node\",$tw.utils);\n\t}\n\tif($tw.browser) {\n\t\t$tw.modules.applyMethods(\"utils-browser\",$tw.utils);\n\t}\n\t$tw.modules.applyMethods(\"global\",$tw);\n\t$tw.modules.applyMethods(\"config\",$tw.config);\n\t$tw.Tiddler.fieldModules = $tw.modules.getModulesByTypeAsHashmap(\"tiddlerfield\");\n\t$tw.modules.applyMethods(\"tiddlermethod\",$tw.Tiddler.prototype);\n\t$tw.modules.applyMethods(\"wikimethod\",$tw.Wiki.prototype);\n\t$tw.wiki.addIndexersToWiki();\n\t$tw.modules.applyMethods(\"tiddlerdeserializer\",$tw.Wiki.tiddlerDeserializerModules);\n\t$tw.macros = $tw.modules.getModulesByTypeAsHashmap(\"macro\");\n\t$tw.wiki.initParsers();\n\t// --------------------------\n\t// The rest of the startup process here is not strictly to do with loading modules, but are needed before other startup\n\t// modules are executed. It is easier to put them here than to introduce a new startup module\n\t// --------------------------\n\t// Create a root widget for attaching event handlers. By using it as the parentWidget for another widget tree, one can reuse the event handlers\n\t$tw.rootWidget = new widget.widget({\n\t\ttype: \"widget\",\n\t\tchildren: []\n\t},{\n\t\twiki: $tw.wiki,\n\t\tdocument: $tw.browser ? document : $tw.fakeDocument\n\t});\n\t// Set up the performance framework\n\t$tw.perf = new $tw.Performance($tw.wiki.getTiddlerText(PERFORMANCE_INSTRUMENTATION_CONFIG_TITLE,\"no\") === \"yes\");\n\t// Kick off the filter tracker\n\t$tw.filterTracker = new $tw.FilterTracker($tw.wiki);\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\t$tw.filterTracker.handleChangeEvent(changes);\n\t});\n\t// Kick off the background action dispatcher\n\t$tw.backgroundActionDispatcher = new $tw.BackgroundActionDispatcher($tw.filterTracker,$tw.wiki);\n\tif($tw.node) {\n\t\t$tw.Commander.initCommands();\n\t}\n};\n"
  },
  {
    "path": "core/modules/startup/password.js",
    "content": "/*\\\ntitle: $:/core/modules/startup/password.js\ntype: application/javascript\nmodule-type: startup\n\nPassword handling\n\n\\*/\n\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"password\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\t$tw.rootWidget.addEventListener(\"tm-set-password\",function(event) {\n\t\t$tw.passwordPrompt.createPrompt({\n\t\t\tserviceName: $tw.language.getString(\"Encryption/PromptSetPassword\"),\n\t\t\tnoUserName: true,\n\t\t\tsubmitText: $tw.language.getString(\"Encryption/SetPassword\"),\n\t\t\tcanCancel: true,\n\t\t\trepeatPassword: true,\n\t\t\tcallback: function(data) {\n\t\t\t\tif(data) {\n\t\t\t\t\t$tw.crypto.setPassword(data.password);\n\t\t\t\t}\n\t\t\t\treturn true; // Get rid of the password prompt\n\t\t\t}\n\t\t});\n\t});\n\t$tw.rootWidget.addEventListener(\"tm-clear-password\",function(event) {\n\t\tif($tw.browser) {\n\t\t\tif(!confirm($tw.language.getString(\"Encryption/ConfirmClearPassword\"))) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t$tw.crypto.setPassword(null);\n\t});\n\t// Ensure that $:/isEncrypted is maintained properly\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.utils.hop(changes,\"$:/isEncrypted\")) {\n\t\t\t$tw.crypto.updateCryptoStateTiddler();\n\t\t}\n\t});\n};\n"
  },
  {
    "path": "core/modules/startup/plugins.js",
    "content": "/*\\\ntitle: $:/core/modules/startup/plugins.js\ntype: application/javascript\nmodule-type: startup\n\nStartup logic concerned with managing plugins\n\n\\*/\n\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"plugins\";\nexports.after = [\"load-modules\"];\nexports.before = [\"startup\"];\nexports.synchronous = true;\n\nvar TITLE_REQUIRE_RELOAD_DUE_TO_PLUGIN_CHANGE = \"$:/status/RequireReloadDueToPluginChange\";\n\nvar PREFIX_CONFIG_REGISTER_PLUGIN_TYPE = \"$:/config/RegisterPluginType/\";\n\nexports.startup = function() {\n\t$tw.wiki.addTiddler({title: TITLE_REQUIRE_RELOAD_DUE_TO_PLUGIN_CHANGE,text: \"no\"});\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\t// Work out which of the changed tiddlers are plugins that we need to reregister\n\t\tvar changesToProcess = [],\n\t\t\trequireReloadDueToPluginChange = false;\n\t\t$tw.utils.each(Object.keys(changes),function(title) {\n\t\t\tvar tiddler = $tw.wiki.getTiddler(title),\n\t\t\t\trequiresReload = $tw.wiki.doesPluginRequireReload(title);\n\t\t\tif(requiresReload) {\n\t\t\t\trequireReloadDueToPluginChange = true;\n\t\t\t} else if(tiddler) {\n\t\t\t\tif($tw.wiki.getTiddlerText(PREFIX_CONFIG_REGISTER_PLUGIN_TYPE + (tiddler.fields[\"plugin-type\"] || \"\"),\"no\") === \"yes\") {\n\t\t\t\t\tchangesToProcess.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\t// Issue warning if any of the tiddlers require a reload\n\t\tif(requireReloadDueToPluginChange) {\n\t\t\t$tw.wiki.addTiddler({title: TITLE_REQUIRE_RELOAD_DUE_TO_PLUGIN_CHANGE,text: \"yes\"});\n\t\t}\n\t\t// Read or delete the plugin info of the changed tiddlers\n\t\tif(changesToProcess.length > 0) {\n\t\t\tvar changes = $tw.wiki.readPluginInfo(changesToProcess);\n\t\t\tif(changes.modifiedPlugins.length > 0 || changes.deletedPlugins.length > 0) {\n\t\t\t\tvar changedShadowTiddlers = {};\n\t\t\t\t// Collect the shadow tiddlers of any deleted plugins\n\t\t\t\t$tw.utils.each(changes.deletedPlugins,function(pluginTitle) {\n\t\t\t\t\tvar pluginInfo = $tw.wiki.getPluginInfo(pluginTitle);\n\t\t\t\t\tif(pluginInfo) {\n\t\t\t\t\t\t$tw.utils.each(Object.keys(pluginInfo.tiddlers),function(title) {\n\t\t\t\t\t\t\tchangedShadowTiddlers[title] = true;\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\t// Collect the shadow tiddlers of any modified plugins\n\t\t\t\t$tw.utils.each(changes.modifiedPlugins,function(pluginTitle) {\n\t\t\t\t\tvar pluginInfo = $tw.wiki.getPluginInfo(pluginTitle);\n\t\t\t\t\tif(pluginInfo && pluginInfo.tiddlers) {\n\t\t\t\t\t\t$tw.utils.each(Object.keys(pluginInfo.tiddlers),function(title) {\n\t\t\t\t\t\t\tchangedShadowTiddlers[title] = false;\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\t// (Re-)register any modified plugins\n\t\t\t\t$tw.wiki.registerPluginTiddlers(null,changes.modifiedPlugins);\n\t\t\t\t// Unregister any deleted plugins\n\t\t\t\t$tw.wiki.unregisterPluginTiddlers(null,changes.deletedPlugins);\n\t\t\t\t// Unpack the shadow tiddlers\n\t\t\t\t$tw.wiki.unpackPluginTiddlers();\n\t\t\t\t// Queue change events for the changed shadow tiddlers\n\t\t\t\t$tw.utils.each(Object.keys(changedShadowTiddlers),function(title) {\n\t\t\t\t\t$tw.wiki.enqueueTiddlerEvent(title,changedShadowTiddlers[title], true);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t});\n};\n\n"
  },
  {
    "path": "core/modules/startup/render.js",
    "content": "/*\\\ntitle: $:/core/modules/startup/render.js\ntype: application/javascript\nmodule-type: startup\n\nTitle, stylesheet and page rendering\n\n\\*/\n\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"render\";\nexports.platforms = [\"browser\"];\nexports.after = [\"story\"];\nexports.synchronous = true;\n\n// Default story and history lists\nvar PAGE_TITLE_TITLE = \"$:/core/wiki/title\";\nvar PAGE_STYLESHEET_TITLE = \"$:/core/ui/PageStylesheet\";\nvar PAGE_TEMPLATE_TITLE = \"$:/core/ui/RootTemplate\";\n\n// Time (in ms) that we defer refreshing changes to draft tiddlers\nvar DRAFT_TIDDLER_TIMEOUT_TITLE = \"$:/config/Drafts/TypingTimeout\";\nvar THROTTLE_REFRESH_TIMEOUT = 400;\n\nexports.startup = function() {\n\t// Set up the title\n\t$tw.titleWidgetNode = $tw.wiki.makeTranscludeWidget(PAGE_TITLE_TITLE, {\n\t\tdocument: $tw.fakeDocument,\n\t\tparseAsInline: true,\n\t\timportPageMacros: true,\n\t});\n\t$tw.titleContainer = $tw.fakeDocument.createElement(\"div\");\n\t$tw.titleWidgetNode.render($tw.titleContainer,null);\n\tvar publishTitle = function() {\n\t\t$tw.titlePublisher.send({verb: \"PAGETITLE\",body: document.title});\n\t\tdocument.title = $tw.titleContainer.textContent;\n\t};\n\t$tw.titlePublisher = new $tw.utils.BrowserMessagingPublisher({type: \"PAGETITLE\", onsubscribe: publishTitle});\n\tpublishTitle();\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.titleWidgetNode.refresh(changes,$tw.titleContainer,null)) {\n\t\t\tpublishTitle();\n\t\t}\n\t});\n\t// Set up the styles\n\t$tw.styleWidgetNode = $tw.wiki.makeTranscludeWidget(PAGE_STYLESHEET_TITLE,{document: $tw.fakeDocument});\n\t$tw.styleContainer = $tw.fakeDocument.createElement(\"style\");\n\t$tw.styleWidgetNode.render($tw.styleContainer,null);\n\t$tw.styleWidgetNode.assignedStyles = $tw.styleContainer.textContent;\n\t$tw.styleElement = document.createElement(\"style\");\n\t$tw.styleElement.innerHTML = $tw.styleWidgetNode.assignedStyles;\n\tdocument.head.insertBefore($tw.styleElement,document.head.firstChild);\n\t$tw.wiki.addEventListener(\"change\",$tw.perf.report(\"styleRefresh\",function(changes) {\n\t\tif($tw.styleWidgetNode.refresh(changes,$tw.styleContainer,null)) {\n\t\t\tvar newStyles = $tw.styleContainer.textContent;\n\t\t\tif(newStyles !== $tw.styleWidgetNode.assignedStyles) {\n\t\t\t\t$tw.styleWidgetNode.assignedStyles = newStyles;\n\t\t\t\t$tw.styleElement.innerHTML = $tw.styleWidgetNode.assignedStyles;\n\t\t\t}\n\t\t}\n\t}));\n\t// Display the $:/core/ui/PageTemplate tiddler to kick off the display\n\t$tw.perf.report(\"mainRender\",function() {\n\t\t$tw.pageWidgetNode = $tw.wiki.makeTranscludeWidget(PAGE_TEMPLATE_TITLE,{document: document, parentWidget: $tw.rootWidget, recursionMarker: \"no\"});\n\t\t$tw.pageContainer = document.createElement(\"div\");\n\t\t$tw.utils.addClass($tw.pageContainer,\"tc-page-container-wrapper\");\n\t\tdocument.body.insertBefore($tw.pageContainer,document.body.firstChild);\n\t\t$tw.pageWidgetNode.render($tw.pageContainer,null);\n\t\t$tw.hooks.invokeHook(\"th-page-refreshed\");\n\t})();\n\t// Remove any splash screen elements\n\tvar removeList = document.querySelectorAll(\".tc-remove-when-wiki-loaded\");\n\t$tw.utils.each(removeList,function(removeItem) {\n\t\tif(removeItem.parentNode) {\n\t\t\tremoveItem.parentNode.removeChild(removeItem);\n\t\t}\n\t});\n\t// Prepare refresh mechanism\n\tvar deferredChanges = Object.create(null),\n\t\ttimerId;\n\tfunction refresh() {\n\t\t// Process the refresh\n\t\t$tw.hooks.invokeHook(\"th-page-refreshing\");\n\t\t$tw.pageWidgetNode.refresh(deferredChanges);\n\t\tdeferredChanges = Object.create(null);\n\t\t$tw.hooks.invokeHook(\"th-page-refreshed\");\n\t}\n\tvar throttledRefresh = $tw.perf.report(\"throttledRefresh\",refresh);\n\n\t// Add the change event handler\n\t$tw.wiki.addEventListener(\"change\",$tw.perf.report(\"mainRefresh\",function(changes) {\n\t\t// Check if only tiddlers that are throttled have changed\n\t\tvar onlyThrottledTiddlersHaveChanged = true;\n\t\tfor(var title in changes) {\n\t\t\tvar tiddler = $tw.wiki.getTiddler(title);\n\t\t\tif(!$tw.wiki.isVolatileTiddler(title) && (!tiddler || !(tiddler.hasField(\"draft.of\") || tiddler.hasField(\"throttle.refresh\")))) {\n\t\t\t\tonlyThrottledTiddlersHaveChanged = false;\n\t\t\t}\n\t\t}\n\t\t// Defer the change if only drafts have changed\n\t\tif(timerId) {\n\t\t\tclearTimeout(timerId);\n\t\t}\n\t\ttimerId = null;\n\t\tif(onlyThrottledTiddlersHaveChanged) {\n\t\t\tvar timeout = parseInt($tw.wiki.getTiddlerText(DRAFT_TIDDLER_TIMEOUT_TITLE,\"\"),10);\n\t\t\tif(isNaN(timeout)) {\n\t\t\t\ttimeout = THROTTLE_REFRESH_TIMEOUT;\n\t\t\t}\n\t\t\ttimerId = setTimeout(throttledRefresh,timeout);\n\t\t\t$tw.utils.extend(deferredChanges,changes);\n\t\t} else {\n\t\t\t$tw.utils.extend(deferredChanges,changes);\n\t\t\trefresh();\n\t\t}\n\t}));\n\t// Fix up the link between the root widget and the page container\n\t$tw.rootWidget.domNodes = [$tw.pageContainer];\n\t$tw.rootWidget.children = [$tw.pageWidgetNode];\n\t// Run any post-render startup actions\n\t$tw.rootWidget.invokeActionsByTag(\"$:/tags/StartupAction/PostRender\");\n};\n"
  },
  {
    "path": "core/modules/startup/rootwidget.js",
    "content": "/*\\\ntitle: $:/core/modules/startup/rootwidget.js\ntype: application/javascript\nmodule-type: startup\n\nSetup the root widget and the core root widget handlers\n\n\\*/\n\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"rootwidget\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.before = [\"story\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\t// Install the HTTP client event handler\n\t$tw.httpClient = new $tw.utils.HttpClient();\n\tvar getPropertiesWithPrefix = function(properties,prefix) {\n\t\tvar result = Object.create(null);\n\t\t$tw.utils.each(properties,function(value,name) {\n\t\t\tif(name.indexOf(prefix) === 0) {\n\t\t\t\tresult[name.substring(prefix.length)] = properties[name];\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t};\n\t$tw.rootWidget.addEventListener(\"tm-http-request\",function(event) {\n\t\tvar params = event.paramObject || {};\n\t\t$tw.httpClient.initiateHttpRequest({\n\t\t\twiki: event.widget.wiki,\n\t\t\turl: params.url,\n\t\t\tmethod: params.method,\n\t\t\tbody: params.body,\n\t\t\tbinary: params.binary,\n\t\t\tuseDefaultHeaders: params.useDefaultHeaders,\n\t\t\toncompletion: params.oncompletion,\n\t\t\tonprogress: params.onprogress,\n\t\t\tbindStatus: params[\"bind-status\"],\n\t\t\tbindProgress: params[\"bind-progress\"],\n\t\t\tvariables: getPropertiesWithPrefix(params,\"var-\"),\n\t\t\theaders: getPropertiesWithPrefix(params,\"header-\"),\n\t\t\tpasswordHeaders: getPropertiesWithPrefix(params,\"password-header-\"),\n\t\t\tqueryStrings: getPropertiesWithPrefix(params,\"query-\"),\n\t\t\tpasswordQueryStrings: getPropertiesWithPrefix(params,\"password-query-\"),\n\t\t\tbasicAuthUsername: params[\"basic-auth-username\"],\n\t\t\tbasicAuthUsernameFromStore: params[\"basic-auth-username-from-store\"],\n\t\t\tbasicAuthPassword: params[\"basic-auth-password\"],\n\t\t\tbasicAuthPasswordFromStore: params[\"basic-auth-password-from-store\"],\n\t\t\tbearerAuthToken: params[\"bearer-auth-token\"],\n\t\t\tbearerAuthTokenFromStore: params[\"bearer-auth-token-from-store\"]\n\t\t});\n\t});\n\t$tw.rootWidget.addEventListener(\"tm-http-cancel-all-requests\",function(event) {\n\t\t$tw.httpClient.cancelAllHttpRequests();\n\t});\n\t// Install the modal message mechanism\n\t$tw.modal = new $tw.utils.Modal($tw.wiki);\n\t$tw.rootWidget.addEventListener(\"tm-modal\",function(event) {\n\t\t$tw.modal.display(event.param,{variables: event.paramObject, event: event});\n\t});\n\t$tw.rootWidget.addEventListener(\"tm-show-switcher\",function(event) {\n\t\t$tw.modal.display(\"$:/core/ui/SwitcherModal\",{variables: event.paramObject, event: event});\n\t});\n\t// Install the notification  mechanism\n\t$tw.notifier = new $tw.utils.Notifier($tw.wiki);\n\t$tw.rootWidget.addEventListener(\"tm-notify\",function(event) {\n\t\t$tw.notifier.display(event.param,{variables: event.paramObject});\n\t});\n\t// Install the copy-to-clipboard  mechanism\n\t$tw.rootWidget.addEventListener(\"tm-copy-to-clipboard\",function(event) {\n\t\t$tw.utils.copyToClipboard(event.param,{\n\t\t\tsuccessNotification: event.paramObject && event.paramObject.successNotification,\n\t\t\tfailureNotification: event.paramObject && event.paramObject.failureNotification\n\t\t});\n\t});\n\t// Install the tm-focus-selector message\n\t$tw.rootWidget.addEventListener(\"tm-focus-selector\",function(event) {\n\t\tvar selector = event.param || \"\",\n\t\t\telement,\n\t\t\tbaseElement = event.event && event.event.target ? event.event.target.ownerDocument : document;\n\t\telement = $tw.utils.querySelectorSafe(selector,baseElement);\n\t\tif(element && element.focus) {\n\t\t\telement.focus(event.paramObject);\n\t\t}\n\t});\n\t// Install the tm-rename-tiddler and tm-relink-tiddler messages\n\tvar makeRenameHandler = function(method) {\n\t\treturn function(event) {\n\t\t\tvar options = {},\n\t\t\t\tparamObject = event.paramObject || {},\n\t\t\t\tfrom = paramObject.from || event.tiddlerTitle,\n\t\t\t\tto = paramObject.to;\n\t\t\toptions.dontRenameInTags = (paramObject.renameInTags === \"false\" || paramObject.renameInTags === \"no\") ? true : false;\n\t\t\toptions.dontRenameInLists = (paramObject.renameInLists === \"false\" || paramObject.renameInLists === \"no\") ? true : false;\n\t\t\t$tw.wiki[method](from,to,options);\n\t\t};\n\t};\n\t$tw.rootWidget.addEventListener(\"tm-rename-tiddler\",makeRenameHandler(\"renameTiddler\"));\n\t$tw.rootWidget.addEventListener(\"tm-relink-tiddler\",makeRenameHandler(\"relinkTiddler\"));\n\t// Install the scroller\n\t$tw.pageScroller = new $tw.utils.PageScroller();\n\t$tw.rootWidget.addEventListener(\"tm-scroll\",function(event) {\n\t\t$tw.pageScroller.handleEvent(event);\n\t});\n\tvar fullscreen = $tw.utils.getFullScreenApis();\n\tif(fullscreen) {\n\t\t$tw.rootWidget.addEventListener(\"tm-full-screen\",function(event) {\n\t\t\tvar fullScreenDocument = event.event ? event.event.target.ownerDocument : document;\n\t\t\tif(event.param === \"enter\") {\n\t\t\t\tfullScreenDocument.documentElement[fullscreen._requestFullscreen](Element.ALLOW_KEYBOARD_INPUT);\n\t\t\t} else if(event.param === \"exit\") {\n\t\t\t\tfullScreenDocument[fullscreen._exitFullscreen]();\n\t\t\t} else {\n\t\t\t\tif(fullScreenDocument[fullscreen._fullscreenElement]) {\n\t\t\t\t\tfullScreenDocument[fullscreen._exitFullscreen]();\n\t\t\t\t} else {\n\t\t\t\t\tfullScreenDocument.documentElement[fullscreen._requestFullscreen](Element.ALLOW_KEYBOARD_INPUT);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n};\n"
  },
  {
    "path": "core/modules/startup/startup.js",
    "content": "/*\\\ntitle: $:/core/modules/startup.js\ntype: application/javascript\nmodule-type: startup\n\nMiscellaneous startup logic for both the client and server.\n\n\\*/\n\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"startup\";\nexports.after = [\"load-modules\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\t// Minimal browser detection\n\tif($tw.browser) {\n\t\t$tw.browser.isIE = (/msie|trident/i.test(navigator.userAgent));\n\t\t$tw.browser.isFirefox = !!document.mozFullScreenEnabled;\n\t\t// 2023-07-21 Edge returns UA below. So we use \"isChromeLike\"\n\t\t//'mozilla/5.0 (windows nt 10.0; win64; x64) applewebkit/537.36 (khtml, like gecko) chrome/114.0.0.0 safari/537.36 edg/114.0.1823.82'\n\t\t$tw.browser.isChromeLike = navigator.userAgent.toLowerCase().indexOf(\"chrome\") > -1;\n\t\t$tw.browser.hasTouch = !!window.matchMedia && window.matchMedia(\"(pointer: coarse)\").matches;\n\t\t$tw.browser.isMobileChrome = $tw.browser.isChromeLike && $tw.browser.hasTouch;\n\t}\n\t// Platform detection\n\t$tw.platform = {};\n\tif($tw.browser) {\n\t\t$tw.platform.isMac = /Mac/.test(navigator.platform);\n\t\t$tw.platform.isWindows = /win/i.test(navigator.platform);\n\t\t$tw.platform.isLinux = /Linux/i.test(navigator.platform);\n\t} else {\n\t\tswitch(require(\"os\").platform()) {\n\t\t\tcase \"darwin\":\n\t\t\t\t$tw.platform.isMac = true;\n\t\t\t\tbreak;\n\t\t\tcase \"win32\":\n\t\t\t\t$tw.platform.isWindows = true;\n\t\t\t\tbreak;\n\t\t\tcase \"freebsd\":\n\t\t\t\t$tw.platform.isLinux = true;\n\t\t\t\tbreak;\n\t\t\tcase \"linux\":\n\t\t\t\t$tw.platform.isLinux = true;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\t// Initialise version\n\t$tw.version = $tw.utils.extractVersionInfo();\n\t// Kick off the language manager and switcher\n\t$tw.language = new $tw.Language();\n\t$tw.languageSwitcher = new $tw.PluginSwitcher({\n\t\twiki: $tw.wiki,\n\t\tpluginType: \"language\",\n\t\tcontrollerTitle: \"$:/language\",\n\t\tdefaultPlugins: [\n\t\t\t\"$:/languages/en-GB\"\n\t\t],\n\t\tonSwitch: function(plugins) {\n\t\t\tif($tw.browser) {\n\t\t\t\tvar pluginTiddler = $tw.wiki.getTiddler(plugins[0]);\n\t\t\t\tif(pluginTiddler) {\n\t\t\t\t\tdocument.documentElement.setAttribute(\"lang\",pluginTiddler.getFieldString(\"name\"));\n\t\t\t\t\tdocument.documentElement.setAttribute(\"dir\",pluginTiddler.getFieldString(\"text-direction\") || \"auto\");\n\t\t\t\t} else {\n\t\t\t\t\tdocument.documentElement.setAttribute(\"lang\",\"en-GB\");\n\t\t\t\t\tdocument.documentElement.removeAttribute(\"dir\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\t// Kick off the theme manager\n\t$tw.themeManager = new $tw.PluginSwitcher({\n\t\twiki: $tw.wiki,\n\t\tpluginType: \"theme\",\n\t\tcontrollerTitle: \"$:/theme\",\n\t\tdefaultPlugins: [\n\t\t\t\"$:/themes/tiddlywiki/snowwhite\",\n\t\t\t\"$:/themes/tiddlywiki/vanilla\"\n\t\t]\n\t});\n\t// Kick off the keyboard manager\n\t$tw.keyboardManager = new $tw.KeyboardManager();\n\t// Listen for shortcuts\n\tif($tw.browser) {\n\t\t$tw.utils.addEventListeners(document,[{\n\t\t\tname: \"keydown\",\n\t\t\thandlerObject: $tw.keyboardManager,\n\t\t\thandlerMethod: \"handleKeydownEvent\"\n\t\t}]);\n\t}\n\t// Execute any startup actions\n\t$tw.rootWidget.invokeActionsByTag(\"$:/tags/StartupAction\");\n\tif($tw.browser) {\n\t\t$tw.rootWidget.invokeActionsByTag(\"$:/tags/StartupAction/Browser\");\n\t}\n\tif($tw.node) {\n\t\t$tw.rootWidget.invokeActionsByTag(\"$:/tags/StartupAction/Node\");\n\t}\n\t// Clear outstanding tiddler store change events to avoid an unnecessary refresh cycle at startup\n\t$tw.wiki.clearTiddlerEventQueue();\n\t// Find a working syncadaptor\n\t$tw.syncadaptor = undefined;\n\t$tw.modules.forEachModuleOfType(\"syncadaptor\",function(title,module) {\n\t\tif(!$tw.syncadaptor && module.adaptorClass) {\n\t\t\t$tw.syncadaptor = new module.adaptorClass({wiki: $tw.wiki});\n\t\t}\n\t});\n\t// Set up the syncer object if we've got a syncadaptor\n\tif($tw.syncadaptor) {\n\t\t$tw.syncer = new $tw.Syncer({\n\t\t\twiki: $tw.wiki,\n\t\t\tsyncadaptor: $tw.syncadaptor,\n\t\t\tlogging: $tw.wiki.getTiddlerText(\"$:/config/SyncLogging\", \"yes\") === \"yes\"\n\t\t});\n\t}\n\t// Setup the saver handler\n\t$tw.saverHandler = new $tw.SaverHandler({\n\t\twiki: $tw.wiki,\n\t\tdirtyTracking: !$tw.syncadaptor,\n\t\tpreloadDirty: $tw.boot.preloadDirty || []\n\t});\n\t// Host-specific startup\n\tif($tw.browser) {\n\t\t// Install the popup manager\n\t\t$tw.popup = new $tw.utils.Popup();\n\t\t// Install the animator\n\t\t$tw.anim = new $tw.utils.Animator();\n\t}\n};\n"
  },
  {
    "path": "core/modules/startup/story.js",
    "content": "/*\\\ntitle: $:/core/modules/startup/story.js\ntype: application/javascript\nmodule-type: startup\n\nLoad core modules\n\n\\*/\n\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"story\";\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n// Default story and history lists\nvar DEFAULT_STORY_TITLE = \"$:/StoryList\";\nvar DEFAULT_HISTORY_TITLE = \"$:/HistoryList\";\n\n// Default tiddlers\nvar DEFAULT_TIDDLERS_TITLE = \"$:/DefaultTiddlers\";\n\n// Config\nvar CONFIG_UPDATE_ADDRESS_BAR = \"$:/config/Navigation/UpdateAddressBar\"; // Can be \"no\", \"permalink\", \"permaview\"\nvar CONFIG_UPDATE_HISTORY = \"$:/config/Navigation/UpdateHistory\"; // Can be \"yes\" or \"no\"\nvar CONFIG_PERMALINKVIEW_COPY_TO_CLIPBOARD = \"$:/config/Navigation/Permalinkview/CopyToClipboard\"; // Can be \"yes\" (default) or \"no\"\nvar CONFIG_PERMALINKVIEW_UPDATE_ADDRESS_BAR = \"$:/config/Navigation/Permalinkview/UpdateAddressBar\"; // Can be \"yes\" (default) or \"no\"\n\n\n// Links to help, if there is no param\nvar HELP_OPEN_EXTERNAL_WINDOW = \"http://tiddlywiki.com/#WidgetMessage%3A%20tm-open-external-window\";\n\nexports.startup = function() {\n\t// Open startup tiddlers\n\topenStartupTiddlers({\n\t\tdisableHistory: $tw.boot.disableStartupNavigation\n\t});\n\tif($tw.browser) {\n\t\t// Set up location hash update\n\t\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\t\tif($tw.utils.hop(changes,DEFAULT_STORY_TITLE) || $tw.utils.hop(changes,DEFAULT_HISTORY_TITLE)) {\n\t\t\t\tupdateLocationHash({\n\t\t\t\t\tupdateAddressBar: $tw.wiki.getTiddlerText(CONFIG_UPDATE_ADDRESS_BAR,\"permaview\").trim(),\n\t\t\t\t\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\"no\").trim()\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\t// Listen for changes to the browser location hash\n\t\twindow.addEventListener(\"hashchange\",function() {\n\t\t\tvar hash = $tw.utils.getLocationHash();\n\t\t\tif(hash !== $tw.locationHash) {\n\t\t\t\t$tw.locationHash = hash;\n\t\t\t\tif(hash !== \"#\") {\n\t\t\t\t\topenStartupTiddlers({defaultToCurrentStory: true});\n\t\t\t\t}\n\t\t\t}\n\t\t},false);\n\t\t// Listen for the tm-browser-refresh message\n\t\t$tw.rootWidget.addEventListener(\"tm-browser-refresh\",function(event) {\n\t\t\twindow.location.reload(true);\n\t\t});\n\t\t// Listen for tm-open-external-window message\n\t\t$tw.rootWidget.addEventListener(\"tm-open-external-window\",function(event) {\n\t\t\tvar paramObject = event.paramObject || {},\n\t\t\t\tstrUrl = event.param || HELP_OPEN_EXTERNAL_WINDOW,\n\t\t\t\tstrWindowName = paramObject.windowName,\n\t\t\t\tstrWindowFeatures = paramObject.windowFeatures;\n\t\t\twindow.open(strUrl, strWindowName, strWindowFeatures);\n\t\t});\n\t\t// Listen for the tm-print message\n\t\t$tw.rootWidget.addEventListener(\"tm-print\",function(event) {\n\t\t\t(event.event.view || window).print();\n\t\t});\n\t\t// Listen for the tm-home message\n\t\t$tw.rootWidget.addEventListener(\"tm-home\",function(event) {\n\t\t\twindow.location.hash = \"\";\n\t\t\tvar storyFilter = $tw.wiki.getTiddlerText(DEFAULT_TIDDLERS_TITLE),\n\t\t\t\tstoryList = $tw.wiki.filterTiddlers(storyFilter);\n\t\t\t//invoke any hooks that might change the default story list\n\t\t\tstoryList = $tw.hooks.invokeHook(\"th-opening-default-tiddlers-list\",storyList);\n\t\t\t$tw.wiki.addTiddler({title: DEFAULT_STORY_TITLE, text: \"\", list: storyList},$tw.wiki.getModificationFields());\n\t\t\tif(storyList[0]) {\n\t\t\t\t$tw.wiki.addToHistory(storyList[0]);\n\t\t\t}\n\t\t});\n\t\t// Listen for the tm-permalink message\n\t\t$tw.rootWidget.addEventListener(\"tm-permalink\",function(event) {\n\t\t\tupdateLocationHash({\n\t\t\t\tupdateAddressBar: $tw.wiki.getTiddlerText(CONFIG_PERMALINKVIEW_UPDATE_ADDRESS_BAR,\"yes\").trim() === \"yes\" ? \"permalink\" : \"none\",\n\t\t\t\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\"no\").trim(),\n\t\t\t\ttargetTiddler: event.param || event.tiddlerTitle,\n\t\t\t\tcopyToClipboard: $tw.wiki.getTiddlerText(CONFIG_PERMALINKVIEW_COPY_TO_CLIPBOARD,\"yes\").trim() === \"yes\" ? \"permalink\" : \"none\",\n\t\t\t\tsuccessNotification: event.paramObject && event.paramObject.successNotification,\n\t\t\t\tfailureNotification: event.paramObject && event.paramObject.failureNotification\n\t\t\t});\n\t\t});\n\t\t// Listen for the tm-permaview message\n\t\t$tw.rootWidget.addEventListener(\"tm-permaview\",function(event) {\n\t\t\tupdateLocationHash({\n\t\t\t\tupdateAddressBar: $tw.wiki.getTiddlerText(CONFIG_PERMALINKVIEW_UPDATE_ADDRESS_BAR,\"yes\").trim() === \"yes\" ? \"permaview\" : \"none\",\n\t\t\t\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\"no\").trim(),\n\t\t\t\ttargetTiddler: event.param || event.tiddlerTitle,\n\t\t\t\tcopyToClipboard: $tw.wiki.getTiddlerText(CONFIG_PERMALINKVIEW_COPY_TO_CLIPBOARD,\"yes\").trim() === \"yes\" ? \"permaview\" : \"none\",\n\t\t\t\tsuccessNotification: event.paramObject && event.paramObject.successNotification,\n\t\t\t\tfailureNotification: event.paramObject && event.paramObject.failureNotification\n\t\t\t});\n\t\t});\n\t}\n};\n\n/*\nProcess the location hash to open the specified tiddlers. Options:\ndisableHistory: if true $:/History is NOT updated\ndefaultToCurrentStory: If true, the current story is retained as the default, instead of opening the default tiddlers\n*/\nfunction openStartupTiddlers(options) {\n\toptions = options || {};\n\t// Work out the target tiddler and the story filter. \"null\" means \"unspecified\"\n\tvar target = null,\n\t\tstoryFilter = null;\n\tif($tw.locationHash.length > 1) {\n\t\tvar hash = $tw.locationHash.substr(1),\n\t\t\tsplit = hash.indexOf(\":\");\n\t\tif(split === -1) {\n\t\t\ttarget = $tw.utils.decodeURIComponentSafe(hash.trim());\n\t\t} else {\n\t\t\ttarget = $tw.utils.decodeURIComponentSafe(hash.substr(0,split).trim());\n\t\t\tstoryFilter = $tw.utils.decodeURIComponentSafe(hash.substr(split + 1).trim());\n\t\t}\n\t}\n\t// If the story wasn't specified use the current tiddlers or a blank story\n\tif(storyFilter === null) {\n\t\tif(options.defaultToCurrentStory) {\n\t\t\tvar currStoryList = $tw.wiki.getTiddlerList(DEFAULT_STORY_TITLE);\n\t\t\tstoryFilter = $tw.utils.stringifyList(currStoryList);\n\t\t} else {\n\t\t\tif(target && target !== \"\") {\n\t\t\t\tstoryFilter = \"\";\n\t\t\t} else {\n\t\t\t\tstoryFilter = $tw.wiki.getTiddlerText(DEFAULT_TIDDLERS_TITLE);\n\t\t\t}\n\t\t}\n\t}\n\t// Process the story filter to get the story list\n\tvar storyList = $tw.wiki.filterTiddlers(storyFilter);\n\t// Invoke any hooks that want to change the default story list\n\tstoryList = $tw.hooks.invokeHook(\"th-opening-default-tiddlers-list\",storyList);\n\t// If the target tiddler isn't included then splice it in at the top\n\tif(target && storyList.indexOf(target) === -1) {\n\t\tstoryList.unshift(target);\n\t}\n\t// Save the story list\n\t$tw.wiki.addTiddler({title: DEFAULT_STORY_TITLE, text: \"\", list: storyList},$tw.wiki.getModificationFields());\n\t// Update history\n\tvar story = new $tw.Story({\n\t\twiki: $tw.wiki,\n\t\tstoryTitle: DEFAULT_STORY_TITLE,\n\t\thistoryTitle: DEFAULT_HISTORY_TITLE\n\t});\n\tif(!options.disableHistory) {\n\t\t// If a target tiddler was specified add it to the history stack\n\t\tif(target && target !== \"\") {\n\t\t\t// The target tiddler doesn't need double square brackets, but we'll silently remove them if they're present\n\t\t\tif(target.indexOf(\"[[\") === 0 && target.substr(-2) === \"]]\") {\n\t\t\t\ttarget = target.substr(2,target.length - 4);\n\t\t\t}\n\t\t\tstory.addToHistory(target);\n\t\t} else if(storyList.length > 0) {\n\t\t\tstory.addToHistory(storyList[0]);\n\t\t}\n\t}\n}\n\n/*\noptions: See below\noptions.updateAddressBar: \"permalink\", \"permaview\" or \"no\" (defaults to \"permaview\")\noptions.updateHistory: \"yes\" or \"no\" (defaults to \"no\")\noptions.copyToClipboard: \"permalink\", \"permaview\" or \"no\" (defaults to \"no\")\noptions.targetTiddler: optional title of target tiddler for permalink\noptions.successNotification: optional title of tiddler to use as the notification in case of success\noptions.failureNotification: optional title of tiddler to use as the notification in case of failure\n*/\nfunction updateLocationHash(options) {\n\t// Get the story and the history stack\n\tvar storyList = $tw.wiki.getTiddlerList(DEFAULT_STORY_TITLE),\n\t\thistoryList = $tw.wiki.getTiddlerData(DEFAULT_HISTORY_TITLE,[]),\n\t\ttargetTiddler = \"\";\n\tif(options.targetTiddler) {\n\t\ttargetTiddler = options.targetTiddler;\n\t} else {\n\t\t// The target tiddler is the one at the top of the stack\n\t\tif(historyList.length > 0) {\n\t\t\ttargetTiddler = historyList[historyList.length-1].title;\n\t\t}\n\t\t// Blank the target tiddler if it isn't present in the story\n\t\tif(storyList.indexOf(targetTiddler) === -1) {\n\t\t\ttargetTiddler = \"\";\n\t\t}\n\t}\n\t// Assemble the location hash\n\tswitch(options.updateAddressBar) {\n\t\tcase \"permalink\":\n\t\t\t$tw.locationHash = \"#\" + encodeURIComponent(targetTiddler);\n\t\t\tbreak;\n\t\tcase \"permaview\":\n\t\t\t$tw.locationHash = \"#\" + encodeURIComponent(targetTiddler) + \":\" + encodeURIComponent($tw.utils.stringifyList(storyList));\n\t\t\tbreak;\n\t}\n\t// Copy URL to the clipboard\n\tvar url = \"\";\n\tswitch(options.copyToClipboard) {\n\t\tcase \"permalink\":\n\t\t\turl = $tw.utils.getLocationPath() + \"#\" + encodeURIComponent(targetTiddler);\n\t\t\tbreak;\n\t\tcase \"permaview\":\n\t\t\turl = $tw.utils.getLocationPath() + \"#\" + encodeURIComponent(targetTiddler) + \":\" + encodeURIComponent($tw.utils.stringifyList(storyList));\n\t\t\tbreak;\n\t}\n\tif(url) {\n\t\t$tw.utils.copyToClipboard(url,{successNotification: options.successNotification, failureNotification: options.failureNotification});\n\t}\n\t// Only change the location hash if we must, thus avoiding unnecessary onhashchange events\n\tif($tw.utils.getLocationHash() !== $tw.locationHash) {\n\t\tif(options.updateHistory === \"yes\") {\n\t\t\t// Assign the location hash so that history is updated\n\t\t\twindow.location.hash = $tw.locationHash;\n\t\t} else {\n\t\t\t// We use replace so that browser history isn't affected\n\t\t\twindow.location.replace(window.location.toString().split(\"#\")[0] + $tw.locationHash);\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "core/modules/startup/windows.js",
    "content": "/*\\\ntitle: $:/core/modules/startup/windows.js\ntype: application/javascript\nmodule-type: startup\n\nSetup root widget handlers for the messages concerned with opening external browser windows\n\n\\*/\n\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"windows\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n// Global to keep track of open windows (hashmap by title)\n$tw.windows = {};\n// Default template to use for new windows\nvar DEFAULT_WINDOW_TEMPLATE = \"$:/core/templates/single.tiddler.window\";\n\nexports.startup = function() {\n\t// Handle open window message\n\t$tw.rootWidget.addEventListener(\"tm-open-window\",function(event) {\n\t\t// Get the parameters\n\t\tvar refreshHandler,\n\t\t\ttitle = event.param || event.tiddlerTitle,\n\t\t\tparamObject = event.paramObject || {},\n\t\t\twindowTitle = paramObject.windowTitle || title,\n\t\t\twindowID = paramObject.windowID || title,\n\t\t\ttemplate = paramObject.template || DEFAULT_WINDOW_TEMPLATE,\n\t\t\twidth = paramObject.width || \"700\",\n\t\t\theight = paramObject.height || \"600\",\n\t\t\ttop = paramObject.top,\n\t\t\tleft = paramObject.left,\n\t\t\tvariables = $tw.utils.extend({},paramObject,{currentTiddler: title, \"tv-window-id\": windowID});\n\t\t// Open the window\n\t\tvar srcWindow,\n\t\t\tsrcDocument;\n\t\t// In case that popup blockers deny opening a new window\n\t\ttry {\n\t\t\tsrcWindow = window.open(\"\",\"external-\" + windowID,\"scrollbars,width=\" + width + \",height=\" + height + (top ? \",top=\" + top : \"\" ) + (left ? \",left=\" + left : \"\" )),\n\t\t\tsrcDocument = srcWindow.document;\n\t\t}\n\t\tcatch(e) {\n\t\t\treturn;\n\t\t}\n\t\t$tw.windows[windowID] = srcWindow;\n\t\t// Check for reopening the same window\n\t\tif(srcWindow.haveInitialisedWindow) {\n\t\t\tsrcWindow.focus();\n\t\t\treturn;\n\t\t}\n\t\t// Initialise the document\n\t\tsrcDocument.write(\"<!DOCTYPE html><head></head><body class='tc-body tc-single-tiddler-window'></body></html>\");\n\t\tsrcDocument.close();\n\t\tsrcDocument.title = windowTitle;\n\t\t$tw.eventBus.emit(\"window:opened\",{windowID, window: srcWindow});\n\t\tsrcWindow.addEventListener(\"beforeunload\",function(event) {\n\t\t\tdelete $tw.windows[windowID];\n\t\t\t$tw.wiki.removeEventListener(\"change\",refreshHandler);\n\t\t\t$tw.eventBus.emit(\"window:closed\",{windowID});\n\t\t},false);\n\t\t// Set up the styles\n\t\tvar styleWidgetNode = $tw.wiki.makeTranscludeWidget(\"$:/core/ui/PageStylesheet\",{\n\t\t\t\tdocument: $tw.fakeDocument,\n\t\t\t\tvariables: variables,\n\t\t\t\timportPageMacros: true}),\n\t\t\tstyleContainer = $tw.fakeDocument.createElement(\"style\");\n\t\tstyleWidgetNode.render(styleContainer,null);\n\t\tvar styleElement = srcDocument.createElement(\"style\");\n\t\tstyleElement.innerHTML = styleContainer.textContent;\n\t\tsrcDocument.head.insertBefore(styleElement,srcDocument.head.firstChild);\n\t\t// Render the text of the tiddler\n\t\tvar parser = $tw.wiki.parseTiddler(template),\n\t\t\twidgetNode = $tw.wiki.makeWidget(parser,{document: srcDocument, parentWidget: $tw.rootWidget, variables: variables});\n\t\twidgetNode.render(srcDocument.body,srcDocument.body.firstChild);\n\t\t// Function to handle refreshes\n\t\trefreshHandler = function(changes) {\n\t\t\tif(styleWidgetNode.refresh(changes,styleContainer,null)) {\n\t\t\t\tstyleElement.innerHTML = styleContainer.textContent;\n\t\t\t}\n\t\t\twidgetNode.refresh(changes);\n\t\t};\n\t\t$tw.wiki.addEventListener(\"change\",refreshHandler);\n\t\t// Listen for keyboard shortcuts\n\t\t$tw.utils.addEventListeners(srcDocument,[{\n\t\t\tname: \"keydown\",\n\t\t\thandlerObject: $tw.keyboardManager,\n\t\t\thandlerMethod: \"handleKeydownEvent\"\n\t\t}]);\n\t\tsrcWindow.document.documentElement.addEventListener(\"click\",$tw.popup,true);\n\t\tsrcWindow.haveInitialisedWindow = true;\n\t});\n\t$tw.rootWidget.addEventListener(\"tm-close-window\",function(event) {\n\t\tvar windowID = event.param,\n\t\t\twin = $tw.windows[windowID];\n\t\tif(win) {\n\t\t\twin.close();\n\t\t}\n\t});\n\tvar closeAllWindows = function() {\n\t\t$tw.utils.each($tw.windows,function(win) {\n\t\t\twin.close();\n\t\t});\n\t};\n\t$tw.rootWidget.addEventListener(\"tm-close-all-windows\",closeAllWindows);\n\t// Close open windows when unloading main window\n\t$tw.addUnloadTask(closeAllWindows);\n};\n"
  },
  {
    "path": "core/modules/story.js",
    "content": "/*\\\ntitle: $:/core/modules/story.js\ntype: application/javascript\nmodule-type: global\n\nLightweight object for managing interactions with the story and history lists.\n\n\\*/\n\n\"use strict\";\n\n/*\nConstruct Story object with options:\nwiki: reference to wiki object to use to resolve tiddler titles\nstoryTitle: title of story list tiddler\nhistoryTitle: title of history list tiddler\n*/\nfunction Story(options) {\n\toptions = options || {};\n\tthis.wiki = options.wiki || $tw.wiki;\n\tthis.storyTitle = options.storyTitle || \"$:/StoryList\";\n\tthis.historyTitle = options.historyTitle || \"$:/HistoryList\";\n};\n\nStory.prototype.navigateTiddler = function(navigateTo,navigateFromTitle,navigateFromClientRect) {\n\tthis.addToStory(navigateTo,navigateFromTitle);\n\tthis.addToHistory(navigateTo,navigateFromClientRect);\n};\n\nStory.prototype.getStoryList = function() {\n\treturn this.wiki.getTiddlerList(this.storyTitle) || [];\n};\n\nStory.prototype.addToStory = function(navigateTo,navigateFromTitle,options) {\n\toptions = options || {};\n\tvar storyList = this.getStoryList();\n\t// See if the tiddler is already there\n\tvar slot = storyList.indexOf(navigateTo);\n\t// Quit if it already exists in the story river\n\tif(slot >= 0) {\n\t\treturn;\n\t}\n\t// First we try to find the position of the story element we navigated from\n\tvar fromIndex = storyList.indexOf(navigateFromTitle);\n\tif(fromIndex >= 0) {\n\t\t// The tiddler is added from inside the river\n\t\t// Determine where to insert the tiddler; Fallback is \"below\"\n\t\tswitch(options.openLinkFromInsideRiver) {\n\t\t\tcase \"top\":\n\t\t\t\tslot = 0;\n\t\t\t\tbreak;\n\t\t\tcase \"bottom\":\n\t\t\t\tslot = storyList.length;\n\t\t\t\tbreak;\n\t\t\tcase \"above\":\n\t\t\t\tslot = fromIndex;\n\t\t\t\tbreak;\n\t\t\tcase \"below\": // Intentional fall-through\n\t\t\tdefault:\n\t\t\t\tslot = fromIndex + 1;\n\t\t\t\tbreak;\n\t\t}\n\t} else {\n\t\t// The tiddler is opened from outside the river. Determine where to insert the tiddler; default is \"top\"\n\t\tif(options.openLinkFromOutsideRiver === \"bottom\") {\n\t\t\t// Insert at bottom\n\t\t\tslot = storyList.length;\n\t\t} else {\n\t\t\t// Insert at top\n\t\t\tslot = 0;\n\t\t}\n\t}\n\t// Add the tiddler\n\tstoryList.splice(slot,0,navigateTo);\n\t// Save the story\n\tthis.saveStoryList(storyList);\n};\n\nStory.prototype.saveStoryList = function(storyList) {\n\tvar storyTiddler = this.wiki.getTiddler(this.storyTitle);\n\tthis.wiki.addTiddler(new $tw.Tiddler(\n\t\tthis.wiki.getCreationFields(),\n\t\t{title: this.storyTitle},\n\t\tstoryTiddler,\n\t\t{list: storyList},\n\t\tthis.wiki.getModificationFields()\n\t));\n};\n\nStory.prototype.addToHistory = function(navigateTo,navigateFromClientRect) {\n\tvar titles = $tw.utils.isArray(navigateTo) ? navigateTo : [navigateTo];\n\t// Add a new record to the top of the history stack\n\tvar historyList = this.wiki.getTiddlerData(this.historyTitle,[]);\n\t$tw.utils.each(titles,function(title) {\n\t\thistoryList.push({title: title, fromPageRect: navigateFromClientRect});\n\t});\n\tthis.wiki.setTiddlerData(this.historyTitle,historyList,{\"current-tiddler\": titles[titles.length-1]});\n};\n\nStory.prototype.storyCloseTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyCloseAllTiddlers = function() {\n// TBD\n};\n\nStory.prototype.storyCloseOtherTiddlers = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyEditTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyDeleteTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storySaveTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyCancelTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyNewTiddler = function(targetTitle) {\n// TBD\n};\n\nexports.Story = Story;\n"
  },
  {
    "path": "core/modules/storyviews/classic.js",
    "content": "/*\\\ntitle: $:/core/modules/storyviews/classic.js\ntype: application/javascript\nmodule-type: storyview\n\nViews the story as a linear sequence\n\n\\*/\n\n\"use strict\";\n\nvar easing = \"cubic-bezier(0.645, 0.045, 0.355, 1)\"; // From http://easings.net/#easeInOutCubic\n\nvar ClassicStoryView = function(listWidget) {\n\tthis.listWidget = listWidget;\n};\n\nClassicStoryView.prototype.navigateTo = function(historyInfo) {\n\tvar listElementIndex = this.listWidget.findListItem(0,historyInfo.title);\n\tif(listElementIndex === undefined) {\n\t\treturn;\n\t}\n\tvar listItemWidget = this.listWidget.children[listElementIndex],\n\t\ttargetElement = listItemWidget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!targetElement || targetElement.nodeType === Node.TEXT_NODE) {\n\t\treturn;\n\t}\n\t// Scroll the node into view\n\tthis.listWidget.dispatchEvent({type: \"tm-scroll\", target: targetElement});\n};\n\nClassicStoryView.prototype.insert = function(widget) {\n\tvar duration = $tw.utils.getAnimationDuration();\n\tif(duration) {\n\t\tvar targetElement = widget.findFirstDomNode();\n\t\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\t\tif(!targetElement || targetElement.nodeType === Node.TEXT_NODE) {\n\t\t\treturn;\n\t\t}\n\t\t// Get the current height of the tiddler\n\t\tvar computedStyle = window.getComputedStyle(targetElement),\n\t\t\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\n\t\t\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\n\t\t\tcurrHeight = targetElement.offsetHeight + currMarginTop;\n\t\t// Reset the margin once the transition is over\n\t\tsetTimeout(function() {\n\t\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t\t{marginBottom: \"\"}\n\t\t\t]);\n\t\t\t$tw.utils.removeStyle(targetElement, \"transition\");\n\t\t},duration);\n\t\t// Set up the initial position of the element\n\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t{marginBottom: (-currHeight) + \"px\"},\n\t\t\t{opacity: \"0.0\"}\n\t\t]);\n\t\t$tw.utils.removeStyle(targetElement, \"transition\");\n\t\t$tw.utils.forceLayout(targetElement);\n\t\t// Transition to the final position\n\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t{transition: \"opacity \" + duration + \"ms \" + easing + \", \" +\n\t\t\t\t\t\t\"margin-bottom \" + duration + \"ms \" + easing},\n\t\t\t{marginBottom: currMarginBottom + \"px\"},\n\t\t\t{opacity: \"1.0\"}\n\t\t]);\n\t}\n};\n\nClassicStoryView.prototype.remove = function(widget) {\n\tvar duration = $tw.utils.getAnimationDuration();\n\tif(duration) {\n\t\tvar targetElement = widget.findFirstDomNode(),\n\t\t\tremoveElement = function() {\n\t\t\t\twidget.removeChildDomNodes();\n\t\t\t};\n\t\t// Blur the focus if it is within the descendents of the node we are removing\n\t\tif($tw.utils.domContains(targetElement,targetElement.ownerDocument.activeElement)) {\n\t\t\ttargetElement.ownerDocument.activeElement.blur();\n\t\t}\n\t\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\t\tif(!targetElement || targetElement.nodeType === Node.TEXT_NODE) {\n\t\t\tremoveElement();\n\t\t\treturn;\n\t\t}\n\t\t// Get the current height of the tiddler\n\t\tvar currWidth = targetElement.offsetWidth,\n\t\t\tcomputedStyle = window.getComputedStyle(targetElement),\n\t\t\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\n\t\t\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\n\t\t\tcurrHeight = targetElement.offsetHeight + currMarginTop;\n\t\t// Remove the dom nodes of the widget at the end of the transition\n\t\tsetTimeout(removeElement,duration);\n\t\t// Animate the closure\n\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t{marginBottom:  currMarginBottom + \"px\"},\n\t\t]);\n\t\t$tw.utils.removeStyles(targetElement, [\"transition\", \"transform\", \"opacity\"]);\n\t\t$tw.utils.forceLayout(targetElement);\n\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", \" +\n\t\t\t\t\t\t\"opacity \" + duration + \"ms \" + easing + \", \" +\n\t\t\t\t\t\t\"margin-bottom \" + duration + \"ms \" + easing},\n\t\t\t{transform: \"translateX(-\" + currWidth + \"px)\"},\n\t\t\t{marginBottom: (-currHeight) + \"px\"},\n\t\t\t{opacity: \"0.0\"}\n\t\t]);\n\t} else {\n\t\twidget.removeChildDomNodes();\n\t}\n};\n\nexports.classic = ClassicStoryView;"
  },
  {
    "path": "core/modules/storyviews/pop.js",
    "content": "/*\\\ntitle: $:/core/modules/storyviews/pop.js\ntype: application/javascript\nmodule-type: storyview\n\nAnimates list insertions and removals\n\n\\*/\n\n\"use strict\";\n\nvar PopStoryView = function(listWidget) {\n\tthis.listWidget = listWidget;\n};\n\nPopStoryView.prototype.navigateTo = function(historyInfo) {\n\tvar listElementIndex = this.listWidget.findListItem(0,historyInfo.title);\n\tif(listElementIndex === undefined) {\n\t\treturn;\n\t}\n\tvar listItemWidget = this.listWidget.children[listElementIndex],\n\t\ttargetElement = listItemWidget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!targetElement || targetElement.nodeType === Node.TEXT_NODE) {\n\t\treturn;\n\t}\n\t// Scroll the node into view\n\tthis.listWidget.dispatchEvent({type: \"tm-scroll\", target: targetElement});\n};\n\nPopStoryView.prototype.insert = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!targetElement || targetElement.nodeType === Node.TEXT_NODE) {\n\t\treturn;\n\t}\n\t// Reset once the transition is over\n\tsetTimeout(function() {\n\t\t$tw.utils.removeStyles(targetElement, [\"transition\", \"transform\"]);\t\t\n\t\t$tw.utils.setStyle(widget.document.body,[\n\t\t\t{\"overflow-x\": \"\"}\n\t\t]);\n\t},duration);\n\t// Prevent the page from overscrolling due to the zoom factor\n\t$tw.utils.setStyle(widget.document.body,[\n\t\t{\"overflow-x\": \"hidden\"}\n\t]);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transform: \"scale(2)\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n\t$tw.utils.removeStyle(targetElement, \"transition\");\t\t\n\t$tw.utils.forceLayout(targetElement);\n\t// Transition to the final position\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{transform: \"scale(1)\"},\n\t\t{opacity: \"1.0\"}\n\t]);\n\tsetTimeout(function() {\n\t\t$tw.utils.removeStyles(targetElement, [\"transition\", \"transform\", \"opactity\"]);\n\t}, duration);\n};\n\nPopStoryView.prototype.remove = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\tremoveElement = function() {\n\t\t\tif(targetElement && targetElement.parentNode) {\n\t\t\t\twidget.removeChildDomNodes();\n\t\t\t}\n\t\t};\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!targetElement || targetElement.nodeType === Node.TEXT_NODE) {\n\t\tremoveElement();\n\t\treturn;\n\t}\n\t// Remove the element at the end of the transition\n\tsetTimeout(removeElement,duration);\n\t// Animate the closure\n\t$tw.utils.removeStyles(targetElement, [\"transition\", \"transform\", \"opacity\"]);\t\t\n\t$tw.utils.forceLayout(targetElement);\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{transform: \"scale(0.1)\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n};\n\nexports.pop = PopStoryView;"
  },
  {
    "path": "core/modules/storyviews/zoomin.js",
    "content": "/*\\\ntitle: $:/core/modules/storyviews/zoomin.js\ntype: application/javascript\nmodule-type: storyview\n\nZooms between individual tiddlers\n\n\\*/\n\n\"use strict\";\n\nvar easing = \"cubic-bezier(0.645, 0.045, 0.355, 1)\"; // From http://easings.net/#easeInOutCubic\n\nvar ZoominListView = function(listWidget) {\n\tvar self = this;\n\tthis.listWidget = listWidget;\n\tthis.textNodeLogger = new $tw.utils.Logger(\"zoomin story river view\", {\n\t\tenable: true,\n\t\tcolour: \"red\"\n\t});\n\t// Get the index of the tiddler that is at the top of the history\n\tvar history = this.listWidget.wiki.getTiddlerDataCached(this.listWidget.historyTitle,[]),\n\t\ttargetTiddler;\n\tif(history.length > 0) {\n\t\ttargetTiddler = history[history.length-1].title;\n\t}\n\t// Make all the tiddlers position absolute, and hide all but the top (or first) one\n\t$tw.utils.each(this.listWidget.children,function(itemWidget,index) {\n\t\tvar domNode = itemWidget.findFirstDomNode();\n\t\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\t\tif(!(domNode instanceof Element)) {\n\t\t\treturn;\n\t\t}\n\t\tif((targetTiddler && targetTiddler !== itemWidget.parseTreeNode.itemTitle) || (!targetTiddler && index)) {\n\t\t\tdomNode.style.display = \"none\";\n\t\t} else {\n\t\t\tself.currentTiddlerDomNode = domNode;\n\t\t}\n\t\t$tw.utils.addClass(domNode,\"tc-storyview-zoomin-tiddler\");\n\t});\n};\n\nZoominListView.prototype.navigateTo = function(historyInfo) {\n\tvar duration = $tw.utils.getAnimationDuration(),\n\t\tlistElementIndex = this.listWidget.findListItem(0,historyInfo.title);\n\tif(listElementIndex === undefined) {\n\t\treturn;\n\t}\n\tvar listItemWidget = this.listWidget.children[listElementIndex],\n\t\ttargetElement = listItemWidget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!targetElement) {\n\t\treturn;\n\t} else if(targetElement.nodeType === Node.TEXT_NODE) {\n\t\tthis.logTextNodeRoot(targetElement);\n\t\treturn;\n\t}\n\t// Make the new tiddler be position absolute and visible so that we can measure it\n\t$tw.utils.addClass(targetElement,\"tc-storyview-zoomin-tiddler\");\n\t$tw.utils.setStyle(targetElement,[\n\t\t{display: \"block\"},\n\t\t{transformOrigin: \"0 0\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t{transition: \"none\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n\t// Get the position of the source node, or use the centre of the window as the source position\n\tvar sourceBounds = historyInfo.fromPageRect || {\n\t\tleft: window.innerWidth/2 - 2,\n\t\ttop: window.innerHeight/2 - 2,\n\t\twidth: window.innerWidth/8,\n\t\theight: window.innerHeight/8\n\t};\n\t// Try to find the title node in the target tiddler\n\tvar titleDomNode = findTitleDomNode(listItemWidget) || listItemWidget.findFirstDomNode(),\n\t\tzoomBounds = titleDomNode.getBoundingClientRect();\n\t// Compute the transform for the target tiddler to make the title lie over the source rectange\n\tvar targetBounds = targetElement.getBoundingClientRect(),\n\t\tscale = sourceBounds.width / zoomBounds.width,\n\t\tx = sourceBounds.left - targetBounds.left - (zoomBounds.left - targetBounds.left) * scale,\n\t\ty = sourceBounds.top - targetBounds.top - (zoomBounds.top - targetBounds.top) * scale;\n\t// Transform the target tiddler to its starting position\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transform: \"translateX(\" + x + \"px) translateY(\" + y + \"px) scale(\" + scale + \")\"}\n\t]);\n\t// Force layout\n\t$tw.utils.forceLayout(targetElement);\n\t// Apply the ending transitions with a timeout to ensure that the previously applied transformations are applied first\n\tvar self = this,\n\t\tprevCurrentTiddler = this.currentTiddlerDomNode;\n\tthis.currentTiddlerDomNode = targetElement;\n\t// Transform the target tiddler to its natural size\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t{opacity: \"1.0\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t{zIndex: \"500\"},\n\t]);\n\tsetTimeout(function() {\n\t\t$tw.utils.removeStyles(targetElement, [\"transition\", \"opacity\", \"transform\", \"zIndex\"]);\n\t}, duration);\n\t// Transform the previous tiddler out of the way and then hide it\n\tif(prevCurrentTiddler && prevCurrentTiddler !== targetElement) {\n\t\tscale = zoomBounds.width / sourceBounds.width;\n\t\tx =  zoomBounds.left - targetBounds.left - (sourceBounds.left - targetBounds.left) * scale;\n\t\ty =  zoomBounds.top - targetBounds.top - (sourceBounds.top - targetBounds.top) * scale;\n\t\t$tw.utils.setStyle(prevCurrentTiddler,[\n\t\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t\t{opacity: \"0.0\"},\n\t\t\t{transformOrigin: \"0 0\"},\n\t\t\t{transform: \"translateX(\" + x + \"px) translateY(\" + y + \"px) scale(\" + scale + \")\"},\n\t\t\t{zIndex: \"0\"}\n\t\t]);\n\t\t// Hide the tiddler when the transition has finished\n\t\tsetTimeout(function() {\n\t\t\tif(self.currentTiddlerDomNode !== prevCurrentTiddler) {\n\t\t\t\tprevCurrentTiddler.style.display = \"none\";\n\t\t\t}\n\t\t},duration);\n\t}\n\t// Scroll the target into view\n//\t$tw.pageScroller.scrollIntoView(targetElement);\n};\n\n/*\nFind the first child DOM node of a widget that has the class \"tc-title\"\n*/\nfunction findTitleDomNode(widget,targetClass) {\n\ttargetClass = targetClass || \"tc-title\";\n\tvar domNode = widget.findFirstDomNode();\n\tif(domNode && domNode.querySelector) {\n\t\treturn $tw.utils.querySelectorSafe(\".\" + targetClass,domNode);\n\t}\n\treturn null;\n}\n\nZoominListView.prototype.insert = function(widget) {\n\tvar targetElement = widget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!targetElement) {\n\t\treturn;\n\t} else if(targetElement.nodeType === Node.TEXT_NODE) {\n\t\tthis.logTextNodeRoot(targetElement);\n\t\treturn;\n\t}\n\t// Make the newly inserted node position absolute and hidden\n\t$tw.utils.addClass(targetElement,\"tc-storyview-zoomin-tiddler\");\n\t$tw.utils.setStyle(targetElement,[\n\t\t{display: \"none\"}\n\t]);\n};\n\nZoominListView.prototype.remove = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\tremoveElement = function() {\n\t\t\twidget.removeChildDomNodes();\n\t\t};\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!targetElement || targetElement.nodeType === Node.TEXT_NODE) {\n\t\tremoveElement();\n\t\treturn;\n\t}\n\t// Abandon if hidden\n\tif(targetElement.style.display != \"block\" ) {\n\t\tremoveElement();\n\t\treturn;\n\t}\n\t// Set up the tiddler that is being closed\n\t$tw.utils.addClass(targetElement,\"tc-storyview-zoomin-tiddler\");\n\t$tw.utils.setStyle(targetElement,[\n\t\t{display: \"block\"},\n\t\t{transformOrigin: \"50% 50%\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t{transition: \"none\"},\n\t\t{zIndex: \"0\"}\n\t]);\n\t// We'll move back to the previous or next element in the story\n\tvar toWidget = widget.previousSibling();\n\tif(!toWidget) {\n\t\ttoWidget = widget.nextSibling();\n\t}\n\tvar toWidgetDomNode = toWidget && toWidget.findFirstDomNode();\n\t// Set up the tiddler we're moving back in\n\tif(toWidgetDomNode) {\n\t\tif(toWidgetDomNode.nodeType === Node.TEXT_NODE) {\n\t\t\tthis.logTextNodeRoot(toWidgetDomNode);\n\t\t\ttoWidgetDomNode = null;\n\t\t} else {\n\t\t\t$tw.utils.addClass(toWidgetDomNode,\"tc-storyview-zoomin-tiddler\");\n\t\t\t$tw.utils.setStyle(toWidgetDomNode,[\n\t\t\t\t{display: \"block\"},\n\t\t\t\t{transformOrigin: \"50% 50%\"},\n\t\t\t\t{transform: \"translateX(0px) translateY(0px) scale(10)\"},\n\t\t\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t\t\t{opacity: \"0\"},\n\t\t\t\t{zIndex: \"500\"}\n\t\t\t]);\n\t\t\tthis.currentTiddlerDomNode = toWidgetDomNode;\n\t\t}\n\t}\n\t// Animate them both\n\t// Force layout\n\t$tw.utils.forceLayout(this.listWidget.parentDomNode);\n\t// First, the tiddler we're closing\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transformOrigin: \"50% 50%\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(0.1)\"},\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t{opacity: \"0\"},\n\t\t{zIndex: \"0\"}\n\t]);\n\tsetTimeout(function() {\n\t\t$tw.utils.removeStyles(toWidgetDomNode, [\"transformOrigin\", \"transform\", \"transition\", \"opacity\", \"zIndex\"]);\n\t\tremoveElement();\n\t}, duration);\t\n\t// Now the tiddler we're going back to\n\tif(toWidgetDomNode) {\n\t\t$tw.utils.setStyle(toWidgetDomNode,[\n\t\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t\t{opacity: \"1\"}\n\t\t]);\n\t}\n\treturn true; // Indicate that we'll delete the DOM node\n};\n\nZoominListView.prototype.logTextNodeRoot = function(node) {\n\tthis.textNodeLogger.log($tw.language.getString(\"Error/ZoominTextNode\") + \" \" + node.textContent);\n};\n\nexports.zoomin = ZoominListView;"
  },
  {
    "path": "core/modules/syncer.js",
    "content": "/*\\\ntitle: $:/core/modules/syncer.js\ntype: application/javascript\nmodule-type: global\n\nThe syncer tracks changes to the store and synchronises them to a remote data store represented as a \"sync adaptor\"\n\n\\*/\n\n\"use strict\";\n\n/*\nDefaults\n*/\nSyncer.prototype.titleIsLoggedIn = \"$:/status/IsLoggedIn\";\nSyncer.prototype.titleIsAnonymous = \"$:/status/IsAnonymous\";\nSyncer.prototype.titleIsReadOnly = \"$:/status/IsReadOnly\";\nSyncer.prototype.titleUserName = \"$:/status/UserName\";\nSyncer.prototype.titleSyncFilter = \"$:/config/SyncFilter\";\nSyncer.prototype.titleSyncPollingInterval = \"$:/config/SyncPollingInterval\";\nSyncer.prototype.titleSyncDisableLazyLoading = \"$:/config/SyncDisableLazyLoading\";\nSyncer.prototype.titleSavedNotification = \"$:/language/Notifications/Save/Done\";\nSyncer.prototype.titleSyncThrottleInterval = \"$:/config/SyncThrottleInterval\";\nSyncer.prototype.taskTimerInterval = 0.25 * 1000; // Interval for sync timer\nSyncer.prototype.throttleInterval = 1 * 1000; // Defer saving tiddlers if they've changed in the last 1s...\nSyncer.prototype.errorRetryInterval = 5 * 1000; // Interval to retry after an error\nSyncer.prototype.fallbackInterval = 10 * 1000; // Unless the task is older than 10s\nSyncer.prototype.pollTimerInterval = 60 * 1000; // Interval for polling for changes from the adaptor\n\n/*\nInstantiate the syncer with the following options:\nsyncadaptor: reference to syncadaptor to be used\nwiki: wiki to be synced\n*/\nfunction Syncer(options) {\n\tvar self = this;\n\tthis.wiki = options.wiki;\n\t// Save parameters\n\tthis.syncadaptor = options.syncadaptor;\n\tthis.disableUI = !!options.disableUI;\n\tthis.titleIsLoggedIn = options.titleIsLoggedIn || this.titleIsLoggedIn;\n\tthis.titleUserName = options.titleUserName || this.titleUserName;\n\tthis.titleSyncFilter = options.titleSyncFilter || this.titleSyncFilter;\n\tthis.titleSavedNotification = options.titleSavedNotification || this.titleSavedNotification;\n\tthis.taskTimerInterval = options.taskTimerInterval || this.taskTimerInterval;\n\tthis.throttleInterval = options.throttleInterval || parseInt(this.wiki.getTiddlerText(this.titleSyncThrottleInterval,\"\"),10) || this.throttleInterval;\n\tthis.errorRetryInterval = options.errorRetryInterval || this.errorRetryInterval;\n\tthis.fallbackInterval = options.fallbackInterval || this.fallbackInterval;\n\tthis.pollTimerInterval = options.pollTimerInterval || parseInt(this.wiki.getTiddlerText(this.titleSyncPollingInterval,\"\"),10) || this.pollTimerInterval;\n\tthis.logging = \"logging\" in options ? options.logging : true;\n\t// Make a logger\n\tthis.logger = new $tw.utils.Logger(\"syncer\" + ($tw.browser ? \"-browser\" : \"\") + ($tw.node ? \"-server\" : \"\")  + (this.syncadaptor.name ? (\"-\" + this.syncadaptor.name) : \"\"),{\n\t\tcolour: \"cyan\",\n\t\tenable: this.logging,\n\t\tsaveHistory: true\n\t});\n\t// Make another logger for connection errors\n\tthis.loggerConnection = new $tw.utils.Logger(\"syncer\" + ($tw.browser ? \"-browser\" : \"\") + ($tw.node ? \"-server\" : \"\")  + (this.syncadaptor.name ? (\"-\" + this.syncadaptor.name) : \"\") + \"-connection\",{\n\t\tcolour: \"cyan\",\n\t\tenable: this.logging\n\t});\n\t// Ask the syncadaptor to use the main logger\n\tif(this.syncadaptor.setLoggerSaveBuffer) {\n\t\tthis.syncadaptor.setLoggerSaveBuffer(this.logger);\n\t}\n\t// Compile the dirty tiddler filter\n\tthis.filterFn = this.wiki.compileFilter(this.wiki.getTiddlerText(this.titleSyncFilter));\n\t// Record information for known tiddlers\n\tthis.readTiddlerInfo();\n\tthis.titlesToBeLoaded = {}; // Hashmap of titles of tiddlers that need loading from the server\n\tthis.titlesHaveBeenLazyLoaded = {}; // Hashmap of titles of tiddlers that have already been lazily loaded from the server\n\t// Timers\n\tthis.taskTimerId = null; // Timer for task dispatch\n\t// Number of outstanding requests\n\tthis.numTasksInProgress = 0;\n\t// True when we want to force an immediate sync from the server\n\tthis.forceSyncFromServer = false;\n\tthis.timestampLastSyncFromServer = new Date();\n\t// Listen out for changes to tiddlers\n\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\t// Filter the changes to just include ones that are being synced\n\t\tvar filteredChanges = self.getSyncedTiddlers(function(callback) {\n\t\t\t$tw.utils.each(changes,function(change,title) {\n\t\t\t\tvar tiddler = self.wiki.tiddlerExists(title) && self.wiki.getTiddler(title);\n\t\t\t\tcallback(tiddler,title);\n\t\t\t});\n\t\t});\n\t\tif(filteredChanges.length > 0) {\n\t\t\tself.processTaskQueue();\n\t\t} else {\n\t\t\t// Look for deletions of tiddlers we're already syncing\t\n\t\t\tvar outstandingDeletion = false;\n\t\t\t$tw.utils.each(changes,function(change,title,object) {\n\t\t\t\tif(change.deleted && $tw.utils.hop(self.tiddlerInfo,title)) {\n\t\t\t\t\toutstandingDeletion = true;\n\t\t\t\t}\n\t\t\t});\n\t\t\tif(outstandingDeletion) {\n\t\t\t\tself.processTaskQueue();\n\t\t\t}\n\t\t}\n\t});\n\t// Browser event handlers\n\tif($tw.browser && !this.disableUI) {\n\t\t// Set up our beforeunload handler\n\t\t$tw.addUnloadTask(function(event) {\n\t\t\tvar confirmationMessage;\n\t\t\tif(self.isDirty()) {\n\t\t\t\tconfirmationMessage = $tw.language.getString(\"UnsavedChangesWarning\");\n\t\t\t\tevent.returnValue = confirmationMessage; // Gecko\n\t\t\t}\n\t\t\treturn confirmationMessage;\n\t\t});\n\t\t// Listen out for login/logout/refresh events in the browser\n\t\t$tw.rootWidget.addEventListener(\"tm-login\",function(event) {\n\t\t\tvar username = event && event.paramObject && event.paramObject.username,\n\t\t\t\tpassword = event && event.paramObject && event.paramObject.password;\n\t\t\tif(username && password) {\n\t\t\t\t// Login with username and password\n\t\t\t\tself.login(username,password,function() {});\n\t\t\t} else {\n\t\t\t\t// No username and password, so we display a prompt\n\t\t\t\tself.handleLoginEvent();\t\t\t\t\n\t\t\t}\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-logout\",function() {\n\t\t\tself.handleLogoutEvent();\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-server-refresh\",function() {\n\t\t\tself.handleRefreshEvent();\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-copy-syncer-logs-to-clipboard\",function() {\n\t\t\t$tw.utils.copyToClipboard($tw.utils.getSystemInfo() + \"\\n\\nLog:\\n\" + self.logger.getBuffer());\n\t\t});\n\t}\n\t// Listen out for lazyLoad events\n\tif(!this.disableUI && this.wiki.getTiddlerText(this.titleSyncDisableLazyLoading) !== \"yes\") {\n\t\tthis.wiki.addEventListener(\"lazyLoad\",function(title) {\n\t\t\tself.handleLazyLoadEvent(title);\n\t\t});\t\t\n\t}\n\t// Get the login status\n\tthis.getStatus(function(err,isLoggedIn) {\n\t\t// Do a sync from the server\n\t\tself.syncFromServer();\n\t});\n}\n\n/*\nShow a generic network error alert\n*/\nSyncer.prototype.displayError = function(msg,err) {\n\tif(err === ($tw.language.getString(\"Error/XMLHttpRequest\") + \": 0\")) {\n\t\tthis.loggerConnection.alert($tw.language.getString(\"Error/NetworkErrorAlert\"));\n\t\tthis.logger.log(msg + \":\",err);\n\t} else {\n\t\tthis.logger.alert(msg + \":\",err);\n\t}\n};\n\n/*\nReturn an array of the tiddler titles that are subjected to syncing\n*/\nSyncer.prototype.getSyncedTiddlers = function(source) {\n\treturn this.filterFn.call(this.wiki,source);\n};\n\n/*\nReturn an array of the tiddler titles that are subjected to syncing\n*/\nSyncer.prototype.getTiddlerRevision = function(title) {\n\tif(this.syncadaptor && this.syncadaptor.getTiddlerRevision) {\n\t\treturn this.syncadaptor.getTiddlerRevision(title);\n\t} else {\n\t\treturn this.wiki.getTiddler(title).fields.revision;\t\n\t} \n};\n\n/*\nRead (or re-read) the latest tiddler info from the store\n*/\nSyncer.prototype.readTiddlerInfo = function() {\n\t// Hashmap by title of {revision:,changeCount:,adaptorInfo:}\n\t// \"revision\" is the revision of the tiddler last seen on the server, and \"changecount\" is the corresponding local changecount\n\tthis.tiddlerInfo = {};\n\t// Record information for known tiddlers\n\tvar self = this,\n\t\ttiddlers = this.getSyncedTiddlers();\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\tif(tiddler) {\n\t\t\tself.tiddlerInfo[title] = {\n\t\t\t\trevision: self.getTiddlerRevision(title),\n\t\t\t\tadaptorInfo: self.syncadaptor && self.syncadaptor.getTiddlerInfo(tiddler),\n\t\t\t\tchangeCount: self.wiki.getChangeCount(title)\n\t\t\t};\n\t\t}\n\t});\n};\n\n/*\nChecks whether the wiki is dirty (ie the window shouldn't be closed)\n*/\nSyncer.prototype.isDirty = function() {\n\tvar self = this;\n\tfunction checkIsDirty() {\n\t\t// Check tiddlers that are in the store and included in the filter function\n\t\tvar titles = self.getSyncedTiddlers();\n\t\tfor(var index=0; index<titles.length; index++) {\n\t\t\tvar title = titles[index],\n\t\t\t\ttiddlerInfo = self.tiddlerInfo[title];\n\t\t\tif(self.wiki.tiddlerExists(title)) {\n\t\t\t\tif(tiddlerInfo) {\n\t\t\t\t\t// If the tiddler is known on the server and has been modified locally then it needs to be saved to the server\n\t\t\t\t\tif(self.wiki.getChangeCount(title) > tiddlerInfo.changeCount) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// If the tiddler isn't known on the server then it needs to be saved to the server\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// Check tiddlers that are known from the server but not currently in the store\n\t\ttitles = Object.keys(self.tiddlerInfo);\n\t\tfor(index=0; index<titles.length; index++) {\n\t\t\tif(!self.wiki.tiddlerExists(titles[index])) {\n\t\t\t\t// There must be a pending delete\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\tvar dirtyStatus = checkIsDirty();\n\treturn dirtyStatus;\n};\n\n/*\nUpdate the document body with the class \"tc-dirty\" if the wiki has unsaved/unsynced changes\n*/\nSyncer.prototype.updateDirtyStatus = function() {\n\tif($tw.browser && !this.disableUI) {\n\t\tvar dirty = this.isDirty();\n\t\t$tw.utils.toggleClass(document.body,\"tc-dirty\",dirty);\n\t\tif(!dirty) {\n\t\t\tthis.loggerConnection.clearAlerts();\n\t\t}\n\t}\n};\n\n/*\nSave an incoming tiddler in the store, and updates the associated tiddlerInfo\n*/\nSyncer.prototype.storeTiddler = function(tiddlerFields) {\n\t// Save the tiddler\n\tvar tiddler = new $tw.Tiddler(tiddlerFields);\n\tthis.wiki.addTiddler(tiddler);\n\t// Save the tiddler revision and changeCount details\n\tthis.tiddlerInfo[tiddlerFields.title] = {\n\t\trevision: this.getTiddlerRevision(tiddlerFields.title),\n\t\tadaptorInfo: this.syncadaptor.getTiddlerInfo(tiddler),\n\t\tchangeCount: this.wiki.getChangeCount(tiddlerFields.title)\n\t};\n};\n\nSyncer.prototype.getStatus = function(callback) {\n\tvar self = this;\n\t// Check if the adaptor supports getStatus()\n\tif(this.syncadaptor && this.syncadaptor.getStatus) {\n\t\t// Mark us as not logged in\n\t\tthis.wiki.addTiddler({title: this.titleIsLoggedIn,text: \"no\"});\n\t\t// Get login status\n\t\tthis.syncadaptor.getStatus(function(err,isLoggedIn,username,isReadOnly,isAnonymous) {\n\t\t\tif(err) {\n\t\t\t\tself.displayError(\"Get Status Error\",err);\n\t\t\t} else {\n\t\t\t\t// Set the various status tiddlers\n\t\t\t\tself.wiki.addTiddler({title: self.titleIsReadOnly,text: isReadOnly ? \"yes\" : \"no\"});\n\t\t\t\tself.wiki.addTiddler({title: self.titleIsAnonymous,text: isAnonymous ? \"yes\" : \"no\"});\n\t\t\t\tself.wiki.addTiddler({title: self.titleIsLoggedIn,text: isLoggedIn ? \"yes\" : \"no\"});\n\t\t\t\tif(isLoggedIn) {\n\t\t\t\t\tself.wiki.addTiddler({title: self.titleUserName,text: username || \"\"});\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Invoke the callback\n\t\t\tif(callback) {\n\t\t\t\tcallback(err,isLoggedIn,username);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tcallback(null,true,\"UNAUTHENTICATED\");\n\t}\n};\n\n/*\nSynchronise from the server by reading the skinny tiddler list and queuing up loads for any tiddlers that we don't already have up to date\n*/\nSyncer.prototype.syncFromServer = function() {\n\tif(this.canSyncFromServer()) {\n\t\tthis.forceSyncFromServer = true;\n\t\tthis.processTaskQueue();\t\n\t}\n};\n\nSyncer.prototype.canSyncFromServer = function() {\n\treturn !!this.syncadaptor.getUpdatedTiddlers || !!this.syncadaptor.getSkinnyTiddlers;\n};\n\n/*\nForce load a tiddler from the server\n*/\nSyncer.prototype.enqueueLoadTiddler = function(title) {\n\tthis.titlesToBeLoaded[title] = true;\n\tthis.processTaskQueue();\n};\n\n/*\nLazily load a skinny tiddler if we can\n*/\nSyncer.prototype.handleLazyLoadEvent = function(title) {\n\t// Ignore if the syncadaptor doesn't handle it\n\tif(!this.syncadaptor.supportsLazyLoading) {\n\t\treturn;\n\t}\n\t// Don't lazy load the same tiddler twice\n\tif(!this.titlesHaveBeenLazyLoaded[title]) {\n\t\t// Don't lazy load if the tiddler isn't included in the sync filter\n\t\tif(this.getSyncedTiddlers().indexOf(title) !== -1) {\n\t\t\t// Mark the tiddler as needing loading, and having already been lazily loaded\n\t\t\tthis.titlesToBeLoaded[title] = true;\n\t\t\tthis.titlesHaveBeenLazyLoaded[title] = true;\n\t\t\tthis.processTaskQueue();\n\t\t}\n\t}\n};\n\n/*\nDispay a password prompt and allow the user to login\n*/\nSyncer.prototype.handleLoginEvent = function() {\n\tvar self = this;\n\tthis.getStatus(function(err,isLoggedIn,username) {\n\t\tif(!err && !isLoggedIn) {\n\t\t\tif(self.syncadaptor && self.syncadaptor.displayLoginPrompt) {\n\t\t\t\tself.syncadaptor.displayLoginPrompt(self);\n\t\t\t} else {\n\t\t\t\tself.displayLoginPrompt();\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nDispay a password prompt\n*/\nSyncer.prototype.displayLoginPrompt = function() {\n\tvar self = this;\n\t$tw.passwordPrompt.createPrompt({\n\t\tserviceName: $tw.language.getString(\"LoginToTiddlySpace\"),\n\t\tcallback: function(data) {\n\t\t\tself.login(data.username,data.password,function(err,isLoggedIn) {\n\t\t\t\tself.syncFromServer();\n\t\t\t});\n\t\t\treturn true; // Get rid of the password prompt\n\t\t}\n\t});\n};\n\n/*\nAttempt to login to TiddlyWeb.\n\tusername: username\n\tpassword: password\n\tcallback: invoked with arguments (err,isLoggedIn)\n*/\nSyncer.prototype.login = function(username,password,callback) {\n\tthis.logger.log(\"Attempting to login as\",username);\n\tvar self = this;\n\tif(this.syncadaptor.login) {\n\t\tthis.syncadaptor.login(username,password,function(err) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tself.getStatus(function(err,isLoggedIn,username) {\n\t\t\t\tif(callback) {\n\t\t\t\t\tcallback(err,isLoggedIn);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t} else {\n\t\tcallback(null,true);\n\t}\n};\n\n/*\nAttempt to log out of TiddlyWeb\n*/\nSyncer.prototype.handleLogoutEvent = function() {\n\tthis.logger.log(\"Attempting to logout\");\n\tvar self = this;\n\tif(this.syncadaptor.logout) {\n\t\tthis.syncadaptor.logout(function(err) {\n\t\t\tif(err) {\n\t\t\t\tself.displayError(\"Logout Error\",err);\n\t\t\t} else {\n\t\t\t\tself.getStatus();\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nImmediately refresh from the server\n*/\nSyncer.prototype.handleRefreshEvent = function() {\n\tthis.syncFromServer();\n};\n\n/*\nProcess the next task\n*/\nSyncer.prototype.processTaskQueue = function() {\n\tvar self = this;\n\t// Only process a task if the sync adaptor is fully initialised and we're not already performing\n\t// a task. If we are already performing a task then we'll dispatch the next one when it completes\n\tif((!this.syncadaptor.isReady || this.syncadaptor.isReady()) && this.numTasksInProgress === 0) {\n\t\t// Choose the next task to perform\n\t\tvar task = this.chooseNextTask();\n\t\t// Perform the task if we had one\n\t\tif(typeof task === \"object\" && task !== null) {\n\t\t\tthis.numTasksInProgress += 1;\n\t\t\ttask.run(function(err) {\n\t\t\t\tself.numTasksInProgress -= 1;\n\t\t\t\tif(err) {\n\t\t\t\t\tself.displayError(\"Sync error while processing \" + task.type + \" of '\" + task.title + \"'\",err);\n\t\t\t\t\tself.updateDirtyStatus();\n\t\t\t\t\tself.triggerTimeout(self.errorRetryInterval);\n\t\t\t\t} else {\n\t\t\t\t\tself.updateDirtyStatus();\n\t\t\t\t\t// Process the next task\n\t\t\t\t\tself.processTaskQueue.call(self);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\t// No task is ready so update the status\n\t\t\tthis.updateDirtyStatus();\n\t\t\t// And trigger a timeout if there is a pending task\n\t\t\tif(task === true) {\n\t\t\t\tthis.triggerTimeout(this.taskTimerInterval);\n\t\t\t} else if(this.canSyncFromServer()) {\n\t\t\t\tthis.triggerTimeout(this.pollTimerInterval);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tthis.updateDirtyStatus();\n\t\tthis.triggerTimeout(this.taskTimerInterval);\n\t}\n};\n\nSyncer.prototype.triggerTimeout = function(interval) {\n\tvar self = this;\n\tif(this.taskTimerId) {\n\t\tclearTimeout(this.taskTimerId);\n\t}\n\tthis.taskTimerId = setTimeout(function() {\n\t\tself.taskTimerId = null;\n\t\tself.processTaskQueue.call(self);\n\t},interval || self.taskTimerInterval);\n};\n\n/*\nChoose the next sync task. We prioritise saves to the server, then getting updates from the server, then deletes to the server, then loads from the server\n\nReturns either:\n* a task object\n* the boolean true if there are pending sync tasks that aren't yet due\n* null if there's no pending sync tasks (just the next poll)\n*/\nSyncer.prototype.chooseNextTask = function() {\n\tvar now = new Date(),\n\t\tthresholdLastSaved = now - this.throttleInterval,\n\t\thavePending = null;\n\t// First we look for tiddlers that have been modified locally and need saving back to the server\n\tvar titles = this.getSyncedTiddlers();\n\tfor(var index=0; index<titles.length; index++) {\n\t\tvar title = titles[index],\n\t\t\ttiddler = this.wiki.tiddlerExists(title) && this.wiki.getTiddler(title),\n\t\t\ttiddlerInfo = this.tiddlerInfo[title];\n\t\tif(tiddler) {\n\t\t\t// If the tiddler is not known on the server, or has been modified locally no more recently than the threshold then it needs to be saved to the server\n\t\t\tvar hasChanged = !tiddlerInfo || this.wiki.getChangeCount(title) > tiddlerInfo.changeCount,\n\t\t\t\tisReadyToSave = !tiddlerInfo || !tiddlerInfo.timestampLastSaved || tiddlerInfo.timestampLastSaved < thresholdLastSaved;\n\t\t\tif(hasChanged) {\n\t\t\t\tif(isReadyToSave) {\n\t\t\t\t\treturn new SaveTiddlerTask(this,title);\n\t\t\t\t} else {\n\t\t\t\t\thavePending = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t// Second we check for an outstanding sync from server\n\tif(this.forceSyncFromServer || (this.timestampLastSyncFromServer && (now.valueOf() >= (this.timestampLastSyncFromServer.valueOf() + this.pollTimerInterval)))) {\n\t\treturn new SyncFromServerTask(this);\n\t}\n\t// Third, we check tiddlers that are known from the server but not currently in the store, and so need deleting on the server\n\ttitles = Object.keys(this.tiddlerInfo);\n\tfor(index=0; index<titles.length; index++) {\n\t\ttitle = titles[index];\n\t\ttiddlerInfo = this.tiddlerInfo[title];\n\t\ttiddler = this.wiki.tiddlerExists(title) && this.wiki.getTiddler(title);\n\t\tif(!tiddler) {\n\t\t\treturn new DeleteTiddlerTask(this,title);\n\t\t}\n\t}\n\t// Finally, check for tiddlers that need loading\n\ttitle = Object.keys(this.titlesToBeLoaded)[0];\n\tif(title) {\n\t\tdelete this.titlesToBeLoaded[title];\n\t\treturn new LoadTiddlerTask(this,title);\n\t}\n\t// No tasks are ready now, but might be in the future\n\treturn havePending;\n};\n\nfunction SaveTiddlerTask(syncer,title) {\n\tthis.syncer = syncer;\n\tthis.title = title;\n\tthis.type = \"save\";\n}\n\nSaveTiddlerTask.prototype.toString = function() {\n\treturn \"SAVE \" + this.title;\n};\n\nSaveTiddlerTask.prototype.run = function(callback) {\n\tvar self = this,\n\t\tchangeCount = this.syncer.wiki.getChangeCount(this.title),\n\t\ttiddler = this.syncer.wiki.tiddlerExists(this.title) && this.syncer.wiki.getTiddler(this.title);\n\tthis.syncer.logger.log(\"Dispatching 'save' task:\",this.title);\n\tif(tiddler) {\n\t\tthis.syncer.syncadaptor.saveTiddler(tiddler,function(err,adaptorInfo,revision) {\n\t\t\t// If there's an error, exit without changing any internal state\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\t// Adjust the info stored about this tiddler\n\t\t\tself.syncer.tiddlerInfo[self.title] = {\n\t\t\t\tchangeCount: changeCount,\n\t\t\t\tadaptorInfo: adaptorInfo,\n\t\t\t\trevision: revision,\n\t\t\t\ttimestampLastSaved: new Date()\n\t\t\t};\n\t\t\t// Invoke the callback\n\t\t\tcallback(null);\n\t\t},{\n\t\t\ttiddlerInfo: self.syncer.tiddlerInfo[self.title]\n\t\t});\n\t} else {\n\t\t$tw.utils.nextTick(callback(null));\n\t}\n};\n\nfunction DeleteTiddlerTask(syncer,title) {\n\tthis.syncer = syncer;\n\tthis.title = title;\n\tthis.type = \"delete\";\n}\n\nDeleteTiddlerTask.prototype.toString = function() {\n\treturn \"DELETE \" + this.title;\n};\n\nDeleteTiddlerTask.prototype.run = function(callback) {\n\tvar self = this;\n\tthis.syncer.logger.log(\"Dispatching 'delete' task:\",this.title);\n\tthis.syncer.syncadaptor.deleteTiddler(this.title,function(err) {\n\t\t// If there's an error, exit without changing any internal state\n\t\tif(err) {\n\t\t\treturn callback(err);\n\t\t}\n\t\t// Remove the info stored about this tiddler\n\t\tdelete self.syncer.tiddlerInfo[self.title];\n\t\t// Invoke the callback\n\t\tcallback(null);\n\t},{\n\t\ttiddlerInfo: self.syncer.tiddlerInfo[this.title]\n\t});\n};\n\nfunction LoadTiddlerTask(syncer,title) {\n\tthis.syncer = syncer;\n\tthis.title = title;\n\tthis.type = \"load\";\n}\n\nLoadTiddlerTask.prototype.toString = function() {\n\treturn \"LOAD \" + this.title;\n};\n\nLoadTiddlerTask.prototype.run = function(callback) {\n\tvar self = this;\n\tthis.syncer.logger.log(\"Dispatching 'load' task:\",this.title);\n\tthis.syncer.syncadaptor.loadTiddler(this.title,function(err,tiddlerFields) {\n\t\t// If there's an error, exit without changing any internal state\n\t\tif(err) {\n\t\t\treturn callback(err);\n\t\t}\n\t\t// Update the info stored about this tiddler\n\t\tif(tiddlerFields) {\n\t\t\tself.syncer.storeTiddler(tiddlerFields);\n\t\t}\n\t\t// Invoke the callback\n\t\tcallback(null);\n\t});\n};\n\nfunction SyncFromServerTask(syncer) {\n\tthis.syncer = syncer;\n\tthis.type = \"syncfromserver\";\n}\n\nSyncFromServerTask.prototype.toString = function() {\n\treturn \"SYNCFROMSERVER\";\n};\n\nSyncFromServerTask.prototype.run = function(callback) {\n\tvar self = this;\n\tvar syncSystemFromServer = (self.syncer.wiki.getTiddlerText(\"$:/config/SyncSystemTiddlersFromServer\") === \"yes\" ? true : false);\n\tvar successCallback = function() {\n\t\tself.syncer.forceSyncFromServer = false;\n\t\tself.syncer.timestampLastSyncFromServer = new Date();\n\t\tcallback(null);\n\t};\n\tif(this.syncer.syncadaptor.getUpdatedTiddlers) {\n\t\tthis.syncer.syncadaptor.getUpdatedTiddlers(self.syncer,function(err,updates) {\n\t\t\tif(err) {\n\t\t\t\tself.syncer.displayError($tw.language.getString(\"Error/RetrievingSkinny\"),err);\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tif(updates) {\n\t\t\t\t$tw.utils.each(updates.modifications,function(title) {\n\t\t\t\t\tself.syncer.titlesToBeLoaded[title] = true;\n\t\t\t\t});\n\t\t\t\t$tw.utils.each(updates.deletions,function(title) {\n\t\t\t\t\tif(syncSystemFromServer || !self.syncer.wiki.isSystemTiddler(title)) {\n\t\t\t\t\t\tdelete self.syncer.tiddlerInfo[title];\n\t\t\t\t\t\tself.syncer.logger.log(\"Deleting tiddler missing from server:\",title);\n\t\t\t\t\t\tself.syncer.wiki.deleteTiddler(title);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn successCallback();\n\t\t});\n\t} else if(this.syncer.syncadaptor.getSkinnyTiddlers) {\n\t\tthis.syncer.syncadaptor.getSkinnyTiddlers(function(err,tiddlers) {\n\t\t\t// Check for errors\n\t\t\tif(err) {\n\t\t\t\tself.syncer.displayError($tw.language.getString(\"Error/RetrievingSkinny\"),err);\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\t// Keep track of which tiddlers we already know about have been reported this time\n\t\t\tvar previousTitles = Object.keys(self.syncer.tiddlerInfo);\n\t\t\t// Process each incoming tiddler\n\t\t\tfor(var t=0; t<tiddlers.length; t++) {\n\t\t\t\t// Get the incoming tiddler fields, and the existing tiddler\n\t\t\t\tvar tiddlerFields = tiddlers[t],\n\t\t\t\t\tincomingRevision = tiddlerFields.revision + \"\",\n\t\t\t\t\ttiddler = self.syncer.wiki.tiddlerExists(tiddlerFields.title) && self.syncer.wiki.getTiddler(tiddlerFields.title),\n\t\t\t\t\ttiddlerInfo = self.syncer.tiddlerInfo[tiddlerFields.title],\n\t\t\t\t\tcurrRevision = tiddlerInfo ? tiddlerInfo.revision : null,\n\t\t\t\t\tindexInPreviousTitles = previousTitles.indexOf(tiddlerFields.title);\n\t\t\t\tif(indexInPreviousTitles !== -1) {\n\t\t\t\t\tpreviousTitles.splice(indexInPreviousTitles,1);\n\t\t\t\t}\n\t\t\t\t// Ignore the incoming tiddler if it's the same as the revision we've already got\n\t\t\t\tif(currRevision !== incomingRevision) {\n\t\t\t\t\t// Only load the skinny version if we don't already have a fat version of the tiddler\n\t\t\t\t\tif(!tiddler || tiddler.fields.text === undefined) {\n\t\t\t\t\t\tself.syncer.storeTiddler(tiddlerFields);\n\t\t\t\t\t}\n\t\t\t\t\t// Do a full load of this tiddler\n\t\t\t\t\tself.syncer.titlesToBeLoaded[tiddlerFields.title] = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Delete any tiddlers that were previously reported but missing this time\n\t\t\t$tw.utils.each(previousTitles,function(title) {\n\t\t\t\tif(syncSystemFromServer || !self.syncer.wiki.isSystemTiddler(title)) {\n\t\t\t\t\tdelete self.syncer.tiddlerInfo[title];\n\t\t\t\t\tself.syncer.logger.log(\"Deleting tiddler missing from server:\",title);\n\t\t\t\t\tself.syncer.wiki.deleteTiddler(title);\n\t\t\t\t}\n\t\t\t});\n\t\t\tself.syncer.forceSyncFromServer = false;\n\t\t\tself.syncer.timestampLastSyncFromServer = new Date();\n\t\t\treturn successCallback();\n\t\t});\n\t} else {\n\t\treturn successCallback();\n\t}\n};\n\nexports.Syncer = Syncer;\n"
  },
  {
    "path": "core/modules/tiddler.js",
    "content": "/*\\\ntitle: $:/core/modules/tiddler.js\ntype: application/javascript\nmodule-type: tiddlermethod\n\nExtension methods for the $tw.Tiddler object (constructor and methods required at boot time are in boot/boot.js)\n\n\\*/\n\n\"use strict\";\n\nexports.hasTag = function(tag) {\n\treturn this.fields.tags && this.fields.tags.indexOf(tag) !== -1;\n};\n\nexports.isPlugin = function() {\n\treturn this.fields.type === \"application/json\" && this.hasField(\"plugin-type\");\n};\n\nexports.isDraft = function() {\n\treturn this.hasField(\"draft.of\");\n};\n\nexports.getFieldString = function(field,defaultValue) {\n\tvar value = this.fields[field];\n\t// Check for a missing field\n\tif(value === undefined || value === null) {\n\t\treturn defaultValue || \"\";\n\t}\n\t// Stringify the field with the associated tiddler field module (if any)\n\tvar fieldModule = $tw.Tiddler.fieldModules[field];\n\tif(fieldModule && fieldModule.stringify) {\n\t\treturn fieldModule.stringify.call(this,value);\n\t} else {\n\t\treturn value.toString();\n\t}\n};\n\n/*\nGet the value of a field as an array / list\n*/\nexports.getFieldList = function(field) {\n\tvar value = this.getFieldString(field,null);\n\t// Check for a missing field\n\tif(value === undefined || value === null) {\n\t\treturn [];\n\t}\n\treturn $tw.utils.parseStringArray(value);\n};\n\n/*\nGet all the fields as a hashmap of strings. Options:\n\texclude: an array of field names to exclude\n*/\nexports.getFieldStrings = function(options) {\n\toptions = options || {};\n\tvar exclude = options.exclude || [];\n\tvar fields = {};\n\tfor(var field in this.fields) {\n\t\tif($tw.utils.hop(this.fields,field)) {\n\t\t\tif(exclude.indexOf(field) === -1) {\n\t\t\t\tfields[field] = this.getFieldString(field);\n\t\t\t}\n\t\t}\n\t}\n\treturn fields;\n};\n\n/*\nGet all the fields as a name:value block. Options:\n\texclude: an array of field names to exclude\n*/\nexports.getFieldStringBlock = function(options) {\n\toptions = options || {};\n\tvar exclude = options.exclude || [],\n\t\tfields = Object.keys(this.fields).sort(),\n\t\tresult = [];\n\tfor(var t=0; t<fields.length; t++) {\n\t\tvar field = fields[t];\n\t\tif(exclude.indexOf(field) === -1) {\n\t\t\tresult.push(field + \": \" + this.getFieldString(field));\n\t\t}\n\t}\n\treturn result.join(\"\\n\");\n};\n\nexports.getFieldDay = function(field) {\n\tif(this.cache && this.cache.day && $tw.utils.hop(this.cache.day,field) ) {\n\t\treturn this.cache.day[field];\n\t}\n\tvar day = \"\";\n\tif(this.fields[field]) {\n\t\tday = (new Date($tw.utils.parseDate(this.fields[field]))).setHours(0,0,0,0);\n\t}\n\tthis.cache.day = this.cache.day || {};\n\tthis.cache.day[field] = day;\n\treturn day;\n};\n"
  },
  {
    "path": "core/modules/upgraders/plugins.js",
    "content": "/*\\\ntitle: $:/core/modules/upgraders/plugins.js\ntype: application/javascript\nmodule-type: upgrader\n\nUpgrader module that checks that plugins are newer than any already installed version\n\n\\*/\n\n\"use strict\";\n\nvar UPGRADE_LIBRARY_TITLE = \"$:/UpgradeLibrary\";\n\nvar BLOCKED_PLUGINS = {\n\t\"$:/themes/tiddlywiki/stickytitles\": {\n\t\tversions: [\"*\"]\n\t},\n\t\"$:/plugins/tiddlywiki/fullscreen\": {\n\t\tversions: [\"*\"]\n\t}\n};\n\nexports.upgrade = function(wiki,titles,tiddlers) {\n\tvar messages = {},\n\t\tupgradeLibrary,\n\t\tgetLibraryTiddler = function(title) {\n\t\t\tif(!upgradeLibrary) {\n\t\t\t\tupgradeLibrary = wiki.getTiddlerData(UPGRADE_LIBRARY_TITLE,{});\n\t\t\t\tupgradeLibrary.tiddlers = upgradeLibrary.tiddlers || {};\n\t\t\t}\n\t\t\treturn upgradeLibrary.tiddlers[title];\n\t\t};\n\n\t// Go through all the incoming tiddlers\n\t$tw.utils.each(titles,function(title) {\n\t\tvar incomingTiddler = tiddlers[title];\n\t\t// Check if we're dealing with a plugin\n\t\tif(incomingTiddler && incomingTiddler[\"plugin-type\"]) {\n\t\t\t// Check whether the plugin contains JS modules\n\t\t\tvar requiresReload = wiki.doesPluginInfoRequireReload($tw.utils.parseJSONSafe(incomingTiddler.text)) ? (wiki.getTiddlerText(\"$:/language/ControlPanel/Plugins/PluginWillRequireReload\") + \" \") : \"\";\n\t\t\tmessages[title] = requiresReload;\n\t\t\tif(incomingTiddler.version) {\n\t\t\t\t// Upgrade the incoming plugin if it is in the upgrade library\n\t\t\t\tvar libraryTiddler = getLibraryTiddler(title);\n\t\t\t\tif(libraryTiddler && libraryTiddler[\"plugin-type\"] && libraryTiddler.version) {\n\t\t\t\t\ttiddlers[title] = libraryTiddler;\n\t\t\t\t\tmessages[title] = requiresReload + $tw.language.getString(\"Import/Upgrader/Plugins/Upgraded\",{variables: {incoming: incomingTiddler.version, upgraded: libraryTiddler.version}});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t// Suppress the incoming plugin if it is older than the currently installed one\n\t\t\t\tvar existingTiddler = wiki.getTiddler(title);\n\t\t\t\tif(existingTiddler && existingTiddler.hasField(\"plugin-type\") && existingTiddler.hasField(\"version\")) {\n\t\t\t\t\t// Reject the incoming plugin by blanking all its fields\n\t\t\t\t\tif($tw.utils.checkVersions(existingTiddler.fields.version,incomingTiddler.version)) {\n\t\t\t\t\t\ttiddlers[title] = Object.create(null);\n\t\t\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/Plugins/Suppressed/Version\",{variables: {incoming: incomingTiddler.version, existing: existingTiddler.fields.version}});\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Check whether the plugin is on the blocked list\n\t\t\tvar blockInfo = BLOCKED_PLUGINS[title];\n\t\t\tif(blockInfo) {\n\t\t\t\tif(blockInfo.versions.indexOf(\"*\") !== -1 || (incomingTiddler.version && blockInfo.versions.indexOf(incomingTiddler.version) !== -1)) {\n\t\t\t\t\ttiddlers[title] = Object.create(null);\n\t\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/Plugins/Suppressed/Incompatible\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\treturn messages;\n};\n"
  },
  {
    "path": "core/modules/upgraders/system.js",
    "content": "/*\\\ntitle: $:/core/modules/upgraders/system.js\ntype: application/javascript\nmodule-type: upgrader\n\nUpgrader module that suppresses certain system tiddlers that shouldn't be imported\n\n\\*/\n\n\"use strict\";\n\nvar DONT_IMPORT_LIST = [\"$:/Import\", \"$:/build\"],\n\tUNSELECT_PREFIX_LIST = [\"$:/temp/\",\"$:/state/\",\"$:/StoryList\",\"$:/HistoryList\"],\n\tWARN_IMPORT_PREFIX_LIST = [\"$:/core/modules/\"];\n\nexports.upgrade = function(wiki,titles,tiddlers) {\n\tvar messages = {},\n\t\tshowAlert = false;\n\t// Check for tiddlers on our list\n\t$tw.utils.each(titles,function(title) {\n\t\tif(DONT_IMPORT_LIST.indexOf(title) !== -1) {\n\t\t\ttiddlers[title] = Object.create(null);\n\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/System/Suppressed\");\n\t\t} else {\n\t\t\tfor(var t=0; t<UNSELECT_PREFIX_LIST.length; t++) {\n\t\t\t\tvar prefix = UNSELECT_PREFIX_LIST[t];\n\t\t\t\tif(title.substr(0,prefix.length) === prefix) {\n\t\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/Tiddler/Unselected\");\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor(var t=0; t<WARN_IMPORT_PREFIX_LIST.length; t++) {\n\t\t\t\tvar prefix = WARN_IMPORT_PREFIX_LIST[t];\n\t\t\t\tif(title.substr(0,prefix.length) === prefix && wiki.isShadowTiddler(title)) {\n\t\t\t\t\tshowAlert = true;\n\t\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/System/Warning\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\tif(showAlert) {\n\t\tvar logger = new $tw.utils.Logger(\"import\");\n\t\tlogger.alert($tw.language.getString(\"Import/Upgrader/System/Alert\"));\n\t}\n\treturn messages;\n};\n"
  },
  {
    "path": "core/modules/upgraders/themetweaks.js",
    "content": "/*\\\ntitle: $:/core/modules/upgraders/themetweaks.js\ntype: application/javascript\nmodule-type: upgrader\n\nUpgrader module that handles the change in theme tweak storage introduced in 5.0.14-beta.\n\nPreviously, theme tweaks were stored in two data tiddlers:\n\n* $:/themes/tiddlywiki/vanilla/metrics\n* $:/themes/tiddlywiki/vanilla/settings\n\nNow, each tweak is stored in its own separate tiddler.\n\nThis upgrader copies any values from the old format to the new. The old data tiddlers are not deleted in case they have been used to store additional indexes.\n\n\\*/\n\n\"use strict\";\n\nvar MAPPINGS = {\n\t\"$:/themes/tiddlywiki/vanilla/metrics\": {\n\t\t\"fontsize\": \"$:/themes/tiddlywiki/vanilla/metrics/fontsize\",\n\t\t\"lineheight\": \"$:/themes/tiddlywiki/vanilla/metrics/lineheight\",\n\t\t\"storyleft\": \"$:/themes/tiddlywiki/vanilla/metrics/storyleft\",\n\t\t\"storytop\": \"$:/themes/tiddlywiki/vanilla/metrics/storytop\",\n\t\t\"storyright\": \"$:/themes/tiddlywiki/vanilla/metrics/storyright\",\n\t\t\"storywidth\": \"$:/themes/tiddlywiki/vanilla/metrics/storywidth\",\n\t\t\"tiddlerwidth\": \"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\"\n\t},\n\t\"$:/themes/tiddlywiki/vanilla/settings\": {\n\t\t\"fontfamily\": \"$:/themes/tiddlywiki/vanilla/settings/fontfamily\"\n\t}\n};\n\nexports.upgrade = function(wiki,titles,tiddlers) {\n\tvar messages = {};\n\t// Check for tiddlers on our list\n\t$tw.utils.each(titles,function(title) {\n\t\tvar mapping = MAPPINGS[title];\n\t\tif(mapping) {\n\t\t\tvar tiddler = new $tw.Tiddler(tiddlers[title]),\n\t\t\t\ttiddlerData = wiki.getTiddlerDataCached(tiddler,{});\n\t\t\tfor(var index in mapping) {\n\t\t\t\tvar mappedTitle = mapping[index];\n\t\t\t\tif(!tiddlers[mappedTitle] || tiddlers[mappedTitle].title !== mappedTitle) {\n\t\t\t\t\ttiddlers[mappedTitle] = {\n\t\t\t\t\t\ttitle: mappedTitle,\n\t\t\t\t\t\ttext: tiddlerData[index]\n\t\t\t\t\t};\n\t\t\t\t\tmessages[mappedTitle] = $tw.language.getString(\"Import/Upgrader/ThemeTweaks/Created\",{variables: {\n\t\t\t\t\t\tfrom: title + \"##\" + index\n\t\t\t\t\t}});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\treturn messages;\n};\n"
  },
  {
    "path": "core/modules/utils/base64.js",
    "content": "/*\\\ntitle: $:/core/modules/utils/base64.js\ntype: application/javascript\nmodule-type: utils-browser\n\nBase64 utility functions\n\n\\*/\n\n\"use strict\";\n\n/*\nBase64 utility functions that work in either browser or Node.js\n*/\n\nexports.btoa = (binstr) => window.btoa(binstr);\nexports.atob = (b64) => window.atob(b64);\n\nfunction base64ToBytes(base64) {\n\tconst binString = exports.atob(base64);\n\treturn Uint8Array.from(binString, (m) => m.codePointAt(0));\n};\n\nfunction bytesToBase64(bytes) {\n\tconst binString = Array.from(bytes, (byte) => String.fromCodePoint(byte)).join(\"\");\n\treturn exports.btoa(binString);\n};\n\nexports.base64EncodeUtf8 = (str) => bytesToBase64(new TextEncoder().encode(str));\n\nexports.base64DecodeUtf8 = (str) => new TextDecoder().decode(base64ToBytes(str));"
  },
  {
    "path": "core/modules/utils/crypto.js",
    "content": "/*\\\ntitle: $:/core/modules/utils/crypto.js\ntype: application/javascript\nmodule-type: utils\n\nUtility functions related to crypto.\n\n\\*/\n\n\"use strict\";\n\n/*\nLook for an encrypted store area in the text of a TiddlyWiki file\n*/\nexports.extractEncryptedStoreArea = function(text) {\n\tvar encryptedStoreAreaStartMarker = \"<pre id=\\\"encryptedStoreArea\\\" type=\\\"text/plain\\\" style=\\\"display:none;\\\">\",\n\t\tencryptedStoreAreaStart = text.indexOf(encryptedStoreAreaStartMarker);\n\tif(encryptedStoreAreaStart !== -1) {\n\t\tvar encryptedStoreAreaEnd = text.indexOf(\"</pre>\",encryptedStoreAreaStart);\n\t\tif(encryptedStoreAreaEnd !== -1) {\n\t\t\treturn $tw.utils.htmlDecode(text.substring(encryptedStoreAreaStart + encryptedStoreAreaStartMarker.length,encryptedStoreAreaEnd));\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nAttempt to extract the tiddlers from an encrypted store area using the current password. If the password is not provided then the password in the password store will be used\n*/\nexports.decryptStoreArea = function(encryptedStoreArea,password) {\n\tvar decryptedText = $tw.crypto.decrypt(encryptedStoreArea,password);\n\tif(decryptedText) {\n\t\tvar json = $tw.utils.parseJSONSafe(decryptedText),\n\t\t\ttiddlers = [];\n\t\tfor(var title in json) {\n\t\t\tif(title !== \"$:/isEncrypted\") {\n\t\t\t\ttiddlers.push(json[title]);\n\t\t\t}\n\t\t}\n\t\treturn tiddlers;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n\n/*\nAttempt to extract the tiddlers from an encrypted store area using the current password. If that fails, the user is prompted for a password.\nencryptedStoreArea: text of the TiddlyWiki encrypted store area\ncallback: function(tiddlers) called with the array of decrypted tiddlers\n\nThe following configuration settings are supported:\n\n$tw.config.usePasswordVault: causes any password entered by the user to also be put into the system password vault\n*/\nexports.decryptStoreAreaInteractive = function(encryptedStoreArea,callback,options) {\n\t// Try to decrypt with the current password\n\tvar tiddlers = $tw.utils.decryptStoreArea(encryptedStoreArea);\n\tif(tiddlers) {\n\t\tcallback(tiddlers);\n\t} else {\n\t\t// Prompt for a new password and keep trying\n\t\t$tw.passwordPrompt.createPrompt({\n\t\t\tserviceName: \"Enter a password to decrypt the imported TiddlyWiki\",\n\t\t\tnoUserName: true,\n\t\t\tcanCancel: true,\n\t\t\tsubmitText: \"Decrypt\",\n\t\t\tcallback: function(data) {\n\t\t\t\t// Exit if the user cancelled\n\t\t\t\tif(!data) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\t// Attempt to decrypt the tiddlers\n\t\t\t\tvar tiddlers = $tw.utils.decryptStoreArea(encryptedStoreArea,data.password);\n\t\t\t\tif(tiddlers) {\n\t\t\t\t\tif($tw.config.usePasswordVault) {\n\t\t\t\t\t\t$tw.crypto.setPassword(data.password);\n\t\t\t\t\t}\n\t\t\t\t\tcallback(tiddlers);\n\t\t\t\t\t// Exit and remove the password prompt\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\t// We didn't decrypt everything, so continue to prompt for password\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n};\n"
  },
  {
    "path": "core/modules/utils/csv.js",
    "content": "/*\\\ntitle: $:/core/modules/utils/csv.js\ntype: application/javascript\nmodule-type: utils\n\nA barebones CSV parser\n\n\\*/\n\n\"use strict\";\n\nvar QUOTE = '\"';\n\nvar getCellInfo = function(text, start, length, SEPARATOR) {\n\tvar isCellQuoted = text.charAt(start) === QUOTE;\n\tvar cellStart = isCellQuoted ? start + 1 : start;\n\t\n\tif(text.charAt(i) === SEPARATOR) {\n\t\treturn [cellStart, cellStart, false];\n\t}\n\t\n\tfor(var i = cellStart; i < length; i++) {\n\t\tvar cellCharacter = text.charAt(i);\n\t\tvar isEOL = cellCharacter === \"\\n\" || cellCharacter === \"\\r\";\n\t\t\n\t\tif(isEOL && !isCellQuoted) {\n\t\t\treturn [cellStart, i, false];\n\t\t\t\n\t\t} else if(cellCharacter === SEPARATOR && !isCellQuoted) {\n\t\t\treturn [cellStart, i, false];\n\t\t\t\n\t\t} else if(cellCharacter === QUOTE && isCellQuoted) {\n\t\t\tvar nextCharacter = i + 1 < length ? text.charAt(i + 1) : \"\";\n\t\t\tif(nextCharacter !== QUOTE) {\n\t\t\t\treturn [cellStart, i, true];\n\t\t\t} else {\n\t\t\t\ti++;\n\t\t\t}\n\t\t}\n\t}\n\t\n\treturn [cellStart, i, isCellQuoted];\n};\n\t\nexports.parseCsvString = function(text, options) {\n\tif(!text) {\n\t\treturn [];\n\t}\n\t\n\toptions = options || {};\n\tvar SEPARATOR = options.separator || \",\",\n\t\tlength = text.length,\n\t\trows = [],\n\t\tnextRow = [];\n\t\t\n\tfor(var i = 0; i < length; i++) {\n\t\tvar cellInfo = getCellInfo(text, i, length, SEPARATOR);\n\t\tvar cellText = text.substring(cellInfo[0], cellInfo[1]);\n\t\tif(cellInfo[2]) {\n\t\t\tcellText = cellText.replace(/\"\"/g, '\"');\n\t\t\tcellInfo[1]++;\n\t\t}\n\t\tnextRow.push(cellText);\n\t\t\n\t\ti = cellInfo[1];\n\t\t\n\t\tvar character = text.charAt(i);\n\t\tvar nextCharacter = i + 1 < length ? text.charAt(i + 1) : \"\";\n\t\t\n\t\tif(character === \"\\r\" || character === \"\\n\") {\n\t\t\t// Edge case for empty rows\n\t\t\tif(nextRow.length === 1 && nextRow[0] === \"\") {\n\t\t\t\tnextRow.length = 0;\n\t\t\t}\n\t\t\trows.push(nextRow);\n\t\t\tnextRow = [];\n\t\t\t\n\t\t\tif(character === \"\\r\") {\n\t\t\t\tvar nextCharacter = i + 1 < length ? text.charAt(i + 1) : \"\";\n\t\t\t\t\n\t\t\t\tif(nextCharacter === \"\\n\") {\n\t\t\t\t\ti++;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t\n\t// Special case if last cell in last row is an empty cell\n\tif(text.charAt(length - 1) === SEPARATOR) {\n\t\tnextRow.push(\"\");\n\t}\n\t\n\trows.push(nextRow);\n\t\n\treturn rows;\n};\n\n/*\nParse a CSV string with a header row and return an array of hashmaps.\n*/\nexports.parseCsvStringWithHeader = function(text,options) {\n\tvar csv = $tw.utils.parseCsvString(text, options);\n\tvar headers = csv[0];\n\t\n\tcsv = csv.slice(1);\n\tfor(var i = 0; i < csv.length; i++) {\n\t\tvar row = csv[i];\n\t\tvar rowObject = Object.create(null);\n\n\t\tfor(var columnIndex=0; columnIndex<headers.length; columnIndex++) {\n\t\t\tvar columnName = headers[columnIndex];\n\t\t\tif(columnName) {\n\t\t\t\trowObject[columnName] = $tw.utils.trim(row[columnIndex] || \"\");\n\t\t\t}\n\t\t}\n\t\tcsv[i] = rowObject;\n\t}\n\treturn csv;\n};\n"
  },
  {
    "path": "core/modules/utils/deprecated.js",
    "content": "/*\\\ntitle: $:/core/modules/utils/deprecated.js\ntype: application/javascript\nmodule-type: utils\n\nDeprecated util functions\n\n\\*/\n\nexports.logTable = (data) => console.table(data);\n\nexports.repeat = (str,count) => str.repeat(count);\n\nexports.startsWith = (str,search) => str.startsWith(search);\n\nexports.endsWith = (str,search) => str.endsWith(search);\n\nexports.trim = function(str) {\n\tif(typeof str === \"string\") {\n\t\treturn str.trim();\n\t} else {\n\t\treturn str;\n\t}\n};\n\nexports.hopArray = (object,array) => array.some((element) => $tw.utils.hop(object,element));\n\nexports.sign = Math.sign;\n\nexports.strEndsWith = (str,ending,position) => str.endsWith(ending,position);\n\nexports.stringifyNumber = (num) => num.toString();\n\nexports.tagToCssSelector = function(tagName) {\n\treturn \"tc-tagged-\" + encodeURIComponent(tagName).replace(/[!\"#$%&'()*+,\\-./:;<=>?@[\\\\\\]^`{\\|}~,]/mg,function(c) {\n\t\treturn \"\\\\\" + c;\n\t});\n};\n\nexports.domContains = (a,b) => a.compareDocumentPosition(b) & 16;\n\nexports.domMatchesSelector = (node,selector) => node.matches(selector);\n\nexports.hasClass = (el,className) => el.classList && el.classList.contains(className);\n\nexports.addClass = function(el,className) {\n\tel.classList && className && el.classList.add(className);\n};\n\nexports.removeClass = function(el,className) {\n\tel.classList && className && el.classList.remove(className);\n};\n\nexports.toggleClass = function(el,className,status) {\n\tel.classList && className && el.classList.toggle(className, status);\n};\n\nexports.getLocationPath = () => window.location.origin + window.location.pathname;"
  },
  {
    "path": "core/modules/utils/diff-match-patch/LICENSE",
    "content": "\n                                 Apache License\n                           Version 2.0, January 2004\n                        http://www.apache.org/licenses/\n\n   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n   1. Definitions.\n\n      \"License\" shall mean the terms and conditions for use, reproduction,\n      and distribution as defined by Sections 1 through 9 of this document.\n\n      \"Licensor\" shall mean the copyright owner or entity authorized by\n      the copyright owner that is granting the License.\n\n      \"Legal Entity\" shall mean the union of the acting entity and all\n      other entities that control, are controlled by, or are under common\n      control with that entity. For the purposes of this definition,\n      \"control\" means (i) the power, direct or indirect, to cause the\n      direction or management of such entity, whether by contract or\n      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n      outstanding shares, or (iii) beneficial ownership of such entity.\n\n      \"You\" (or \"Your\") shall mean an individual or Legal Entity\n      exercising permissions granted by this License.\n\n      \"Source\" form shall mean the preferred form for making modifications,\n      including but not limited to software source code, documentation\n      source, and configuration files.\n\n      \"Object\" form shall mean any form resulting from mechanical\n      transformation or translation of a Source form, including but\n      not limited to compiled object code, generated documentation,\n      and conversions to other media types.\n\n      \"Work\" shall mean the work of authorship, whether in Source or\n      Object form, made available under the License, as indicated by a\n      copyright notice that is included in or attached to the work\n      (an example is provided in the Appendix below).\n\n      \"Derivative Works\" shall mean any work, whether in Source or Object\n      form, that is based on (or derived from) the Work and for which the\n      editorial revisions, annotations, elaborations, or other modifications\n      represent, as a whole, an original work of authorship. For the purposes\n      of this License, Derivative Works shall not include works that remain\n      separable from, or merely link (or bind by name) to the interfaces of,\n      the Work and Derivative Works thereof.\n\n      \"Contribution\" shall mean any work of authorship, including\n      the original version of the Work and any modifications or additions\n      to that Work or Derivative Works thereof, that is intentionally\n      submitted to Licensor for inclusion in the Work by the copyright owner\n      or by an individual or Legal Entity authorized to submit on behalf of\n      the copyright owner. For the purposes of this definition, \"submitted\"\n      means any form of electronic, verbal, or written communication sent\n      to the Licensor or its representatives, including but not limited to\n      communication on electronic mailing lists, source code control systems,\n      and issue tracking systems that are managed by, or on behalf of, the\n      Licensor for the purpose of discussing and improving the Work, but\n      excluding communication that is conspicuously marked or otherwise\n      designated in writing by the copyright owner as \"Not a Contribution.\"\n\n      \"Contributor\" shall mean Licensor and any individual or Legal Entity\n      on behalf of whom a Contribution has been received by Licensor and\n      subsequently incorporated within the Work.\n\n   2. Grant of Copyright License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      copyright license to reproduce, prepare Derivative Works of,\n      publicly display, publicly perform, sublicense, and distribute the\n      Work and such Derivative Works in Source or Object form.\n\n   3. Grant of Patent License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      (except as stated in this section) patent license to make, have made,\n      use, offer to sell, sell, import, and otherwise transfer the Work,\n      where such license applies only to those patent claims licensable\n      by such Contributor that are necessarily infringed by their\n      Contribution(s) alone or by combination of their Contribution(s)\n      with the Work to which such Contribution(s) was submitted. If You\n      institute patent litigation against any entity (including a\n      cross-claim or counterclaim in a lawsuit) alleging that the Work\n      or a Contribution incorporated within the Work constitutes direct\n      or contributory patent infringement, then any patent licenses\n      granted to You under this License for that Work shall terminate\n      as of the date such litigation is filed.\n\n   4. Redistribution. You may reproduce and distribute copies of the\n      Work or Derivative Works thereof in any medium, with or without\n      modifications, and in Source or Object form, provided that You\n      meet the following conditions:\n\n      (a) You must give any other recipients of the Work or\n          Derivative Works a copy of this License; and\n\n      (b) You must cause any modified files to carry prominent notices\n          stating that You changed the files; and\n\n      (c) You must retain, in the Source form of any Derivative Works\n          that You distribute, all copyright, patent, trademark, and\n          attribution notices from the Source form of the Work,\n          excluding those notices that do not pertain to any part of\n          the Derivative Works; and\n\n      (d) If the Work includes a \"NOTICE\" text file as part of its\n          distribution, then any Derivative Works that You distribute must\n          include a readable copy of the attribution notices contained\n          within such NOTICE file, excluding those notices that do not\n          pertain to any part of the Derivative Works, in at least one\n          of the following places: within a NOTICE text file distributed\n          as part of the Derivative Works; within the Source form or\n          documentation, if provided along with the Derivative Works; or,\n          within a display generated by the Derivative Works, if and\n          wherever such third-party notices normally appear. The contents\n          of the NOTICE file are for informational purposes only and\n          do not modify the License. You may add Your own attribution\n          notices within Derivative Works that You distribute, alongside\n          or as an addendum to the NOTICE text from the Work, provided\n          that such additional attribution notices cannot be construed\n          as modifying the License.\n\n      You may add Your own copyright statement to Your modifications and\n      may provide additional or different license terms and conditions\n      for use, reproduction, or distribution of Your modifications, or\n      for any such Derivative Works as a whole, provided Your use,\n      reproduction, and distribution of the Work otherwise complies with\n      the conditions stated in this License.\n\n   5. Submission of Contributions. Unless You explicitly state otherwise,\n      any Contribution intentionally submitted for inclusion in the Work\n      by You to the Licensor shall be under the terms and conditions of\n      this License, without any additional terms or conditions.\n      Notwithstanding the above, nothing herein shall supersede or modify\n      the terms of any separate license agreement you may have executed\n      with Licensor regarding such Contributions.\n\n   6. Trademarks. This License does not grant permission to use the trade\n      names, trademarks, service marks, or product names of the Licensor,\n      except as required for reasonable and customary use in describing the\n      origin of the Work and reproducing the content of the NOTICE file.\n\n   7. Disclaimer of Warranty. Unless required by applicable law or\n      agreed to in writing, Licensor provides the Work (and each\n      Contributor provides its Contributions) on an \"AS IS\" BASIS,\n      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n      implied, including, without limitation, any warranties or conditions\n      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n      PARTICULAR PURPOSE. You are solely responsible for determining the\n      appropriateness of using or redistributing the Work and assume any\n      risks associated with Your exercise of permissions under this License.\n\n   8. Limitation of Liability. In no event and under no legal theory,\n      whether in tort (including negligence), contract, or otherwise,\n      unless required by applicable law (such as deliberate and grossly\n      negligent acts) or agreed to in writing, shall any Contributor be\n      liable to You for damages, including any direct, indirect, special,\n      incidental, or consequential damages of any character arising as a\n      result of this License or out of the use or inability to use the\n      Work (including but not limited to damages for loss of goodwill,\n      work stoppage, computer failure or malfunction, or any and all\n      other commercial damages or losses), even if such Contributor\n      has been advised of the possibility of such damages.\n\n   9. Accepting Warranty or Additional Liability. While redistributing\n      the Work or Derivative Works thereof, You may choose to offer,\n      and charge a fee for, acceptance of support, warranty, indemnity,\n      or other liability obligations and/or rights consistent with this\n      License. However, in accepting such obligations, You may act only\n      on Your own behalf and on Your sole responsibility, not on behalf\n      of any other Contributor, and only if You agree to indemnify,\n      defend, and hold each Contributor harmless for any liability\n      incurred by, or claims asserted against, such Contributor by reason\n      of your accepting any such warranty or additional liability.\n\n   END OF TERMS AND CONDITIONS\n\n   APPENDIX: How to apply the Apache License to your work.\n\n      To apply the Apache License to your work, attach the following\n      boilerplate notice, with the fields enclosed by brackets \"[]\"\n      replaced with your own identifying information. (Don't include\n      the brackets!)  The text should be enclosed in the appropriate\n      comment syntax for the file format. We also recommend that a\n      file or class name and description of purpose be included on the\n      same \"printed page\" as the copyright notice for easier\n      identification within third-party archives.\n\n   Copyright [yyyy] [name of copyright owner]\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n"
  },
  {
    "path": "core/modules/utils/diff-match-patch/README.md",
    "content": "The Diff Match and Patch libraries offer robust algorithms to perform the\noperations required for synchronizing plain text.\n\n1. Diff:\n   * Compare two blocks of plain text and efficiently return a list of differences.\n   * [Diff Demo](https://neil.fraser.name/software/diff_match_patch/demos/diff.html)\n2. Match:\n   * Given a search string, find its best fuzzy match in a block of plain text. Weighted for both accuracy and location.\n   * [Match Demo](https://neil.fraser.name/software/diff_match_patch/demos/match.html)\n3. Patch:\n   * Apply a list of patches onto plain text. Use best-effort to apply patch even when the underlying text doesn't match.\n   * [Patch Demo](https://neil.fraser.name/software/diff_match_patch/demos/patch.html)\n\nOriginally built in 2006 to power Google Docs, this library is now available in C++, C#, Dart, Java, JavaScript, Lua, Objective C, and Python.\n\n### Reference\n\n* [API](https://github.com/google/diff-match-patch/wiki/API) - Common API across all languages.\n* [Line or Word Diffs](https://github.com/google/diff-match-patch/wiki/Line-or-Word-Diffs) - Less detailed diffs.\n* [Plain Text vs. Structured Content](https://github.com/google/diff-match-patch/wiki/Plain-Text-vs.-Structured-Content) - How to deal with data like XML.\n* [Unidiff](https://github.com/google/diff-match-patch/wiki/Unidiff) - The patch serialization format.\n* [Support](https://groups.google.com/forum/#!forum/diff-match-patch) - Newsgroup for developers.\n\n### Languages\nAlthough each language port of Diff Match Patch uses the same API, there are some language-specific notes.\n\n* [C++](https://github.com/google/diff-match-patch/wiki/Language:-Cpp)\n* [C#](https://github.com/google/diff-match-patch/wiki/Language:-C%23)\n* [Dart](https://github.com/google/diff-match-patch/wiki/Language:-Dart)\n* [Java](https://github.com/google/diff-match-patch/wiki/Language:-Java)\n* [JavaScript](https://github.com/google/diff-match-patch/wiki/Language:-JavaScript)\n* [Lua](https://github.com/google/diff-match-patch/wiki/Language:-Lua)\n* [Objective-C](https://github.com/google/diff-match-patch/wiki/Language:-Objective-C)\n* [Python](https://github.com/google/diff-match-patch/wiki/Language:-Python)\n\nA standardized speed test tracks the [relative performance of diffs](https://docs.google.com/spreadsheets/d/1zpZccuBpjMZTvL1nGDMKJc7rWL_m_drF4XKOJvB27Kc/edit#gid=0) in each language.\n\n### Algorithms\nThis library implements [Myer's diff algorithm](https://neil.fraser.name/writing/diff/myers.pdf) which is generally considered to be the best general-purpose diff. A layer of [pre-diff speedups and post-diff cleanups](https://neil.fraser.name/writing/diff/) surround the diff algorithm, improving both performance and output quality.\n\nThis library also implements a [Bitap matching algorithm](https://neil.fraser.name/writing/patch/bitap.ps) at the heart of a [flexible matching and patching strategy](https://neil.fraser.name/writing/patch/).\n"
  },
  {
    "path": "core/modules/utils/diff-match-patch/diff_match_patch.js",
    "content": "// Built for tiddlywiki (rollup esbuild target set to es2017, terser index.cjs --compress ecma=2017 --toplevel --mangle --safari10)\n\"use strict\";var t=Object.defineProperty,n=Object.getOwnPropertySymbols,e=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable,r=(n,e,s)=>e in n?t(n,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):n[e]=s,l=(t,l)=>{for(var i in l||(l={}))e.call(l,i)&&r(t,i,l[i]);if(n)for(var i of n(l))s.call(l,i)&&r(t,i,l[i]);return t};const i=Object.freeze({diffTimeout:1,diffEditCost:4,matchThreshold:.5,matchDistance:1e3,patchDeleteThreshold:.5,patchMargin:4,matchMaxBits:32});function h(t){if(null==t?void 0:t.__resolved)return t;const n=l(l({},i),t);return Object.defineProperty(n,\"__resolved\",{value:!0,enumerable:!1}),n}const g=-1;function o(t,n){return[t,n]}function f(t,n,e,s=!0,r){const l=h(e);void 0===r&&(r=l.diffTimeout<=0?Number.MAX_VALUE:(new Date).getTime()+1e3*l.diffTimeout);const i=r;if(null==t||null==n)throw new Error(\"Null input. (diff_main)\");if(t===n)return t?[o(0,t)]:[];const d=s;let x=p(t,n);const M=t.substring(0,x);x=b(t=t.substring(x),n=n.substring(x));const w=t.substring(t.length-x),y=function(t,n,e,s,r){let l;if(!t)return[o(1,n)];if(!n)return[o(g,t)];const i=t.length>n.length?t:n,h=t.length>n.length?n:t,d=i.indexOf(h);if(-1!==d)return l=[o(1,i.substring(0,d)),o(0,h),o(1,i.substring(d+h.length))],t.length>n.length&&(l[0][0]=l[2][0]=g),l;if(1===h.length)return[o(g,t),o(1,n)];const x=function(t,n,e){if(e.diffTimeout<=0)return null;const s=t.length>n.length?t:n,r=t.length>n.length?n:t;if(s.length<4||2*r.length<s.length)return null;function l(t,n,e){const s=t.substring(e,e+Math.floor(t.length/4));let r,l,i,h,g=-1,o=\"\";for(;-1!==(g=n.indexOf(s,g+1));){const s=p(t.substring(e),n.substring(g)),f=b(t.substring(0,e),n.substring(0,g));o.length<f+s&&(o=n.substring(g-f,g)+n.substring(g,g+s),r=t.substring(0,e-f),l=t.substring(e+s),i=n.substring(0,g-f),h=n.substring(g+s))}return 2*o.length>=t.length?[r,l,i,h,o]:null}const i=l(s,r,Math.ceil(s.length/4)),h=l(s,r,Math.ceil(s.length/2));let g,o,f,a,c;if(!i&&!h)return null;g=h?i&&i[4].length>h[4].length?i:h:i;t.length>n.length?(o=g[0],f=g[1],a=g[2],c=g[3]):(a=g[0],c=g[1],o=g[2],f=g[3]);const u=g[4];return[o,f,a,c,u]}(t,n,e);if(x){const t=x[0],n=x[1],l=x[2],i=x[3],h=x[4],g=f(t,l,e,s,r),a=f(n,i,e,s,r);return g.concat([o(0,h)],a)}return s&&t.length>100&&n.length>100?function(t,n,e,s){const r=c(t,n);t=r.chars1,n=r.chars2;const l=r.lineArray,i=f(t,n,e,!1,s);u(i,l),m(i),i.push(o(0,\"\"));let h=0,a=0,p=0,b=\"\",d=\"\";for(;h<i.length;){switch(i[h][0]){case 1:p++,d+=i[h][1];break;case g:a++,b+=i[h][1];break;case 0:if(a>=1&&p>=1){i.splice(h-a-p,a+p),h=h-a-p;const t=f(b,d,e,!1,s);for(let n=t.length-1;n>=0;n--)i.splice(h,0,t[n]);h+=t.length}p=0,a=0,b=\"\",d=\"\"}h++}return i.pop(),i}(t,n,e,r):function(t,n,e,s){const r=t.length,l=n.length,i=Math.ceil((r+l)/2),h=i,f=2*i,c=new Array(f),u=new Array(f);for(let g=0;g<f;g++)c[g]=-1,u[g]=-1;c[h+1]=0,u[h+1]=0;const p=r-l,b=p%2!=0;let d=0,m=0,x=0,M=0;for(let g=0;g<i&&!((new Date).getTime()>s);g++){for(let i=-g+d;i<=g-m;i+=2){const o=h+i;let x;x=i===-g||i!==g&&c[o-1]<c[o+1]?c[o+1]:c[o-1]+1;let M=x-i;for(;x<r&&M<l&&t.charAt(x)===n.charAt(M);)x++,M++;if(c[o]=x,x>r)m+=2;else if(M>l)d+=2;else if(b){const l=h+p-i;if(l>=0&&l<f&&-1!==u[l]){if(x>=r-u[l])return a(t,n,e,x,M,s)}}}for(let i=-g+x;i<=g-M;i+=2){const o=h+i;let d;d=i===-g||i!==g&&u[o-1]<u[o+1]?u[o+1]:u[o-1]+1;let m=d-i;for(;d<r&&m<l&&t.charAt(r-d-1)===n.charAt(l-m-1);)d++,m++;if(u[o]=d,d>r)M+=2;else if(m>l)x+=2;else if(!b){const l=h+p-i;if(l>=0&&l<f&&-1!==c[l]){const i=c[l];if(d=r-d,i>=d)return a(t,n,e,i,h+i-l,s)}}}}return[o(g,t),o(1,n)]}(t,n,e,r)}(t=t.substring(0,t.length-x),n=n.substring(0,n.length-x),l,d,i);return M&&y.unshift(o(0,M)),w&&y.push(o(0,w)),k(y),y}function a(t,n,e,s,r,l){const i=t.substring(0,s),h=n.substring(0,r),g=t.substring(s),o=n.substring(r),a=f(i,h,e,!1,l),c=f(g,o,e,!1,l);return a.concat(c)}function c(t,n){const e=[],s={};let r=4e4;function l(t){let n=\"\",l=0,i=-1,h=e.length;for(;i<t.length-1;){i=t.indexOf(\"\\n\",l),-1===i&&(i=t.length-1);let g=t.substring(l,i+1);(s.hasOwnProperty?Object.prototype.hasOwnProperty.call(s,g):void 0!==s[g])?n+=String.fromCharCode(s[g]):(h===r&&(g=t.substring(l),i=t.length),n+=String.fromCharCode(h),s[g]=h,e[h++]=g),l=i+1}return n}e[0]=\"\";const i=l(t);r=65535;return{chars1:i,chars2:l(n),lineArray:e}}function u(t,n){for(let e=0;e<t.length;e++){const s=t[e][1],r=[];for(let t=0;t<s.length;t++)r[t]=n[s.charCodeAt(t)];t[e][1]=r.join(\"\")}}function p(t,n){if(!t||!n||t.charAt(0)!==n.charAt(0))return 0;let e=0,s=Math.min(t.length,n.length),r=s,l=0;for(;e<r;)t.substring(l,r)===n.substring(l,r)?(e=r,l=e):s=r,r=Math.floor((s-e)/2+e);return r}function b(t,n){if(!t||!n||t.charAt(t.length-1)!==n.charAt(n.length-1))return 0;let e=0,s=Math.min(t.length,n.length),r=s,l=0;for(;e<r;)t.substring(t.length-r,t.length-l)===n.substring(n.length-r,n.length-l)?(e=r,l=e):s=r,r=Math.floor((s-e)/2+e);return r}function d(t,n){const e=t.length,s=n.length;if(0===e||0===s)return 0;e>s?t=t.substring(e-s):e<s&&(n=n.substring(0,e));const r=Math.min(e,s);if(t===n)return r;let l=0,i=1;for(;;){const e=t.substring(r-i),s=n.indexOf(e);if(-1===s)return l;i+=s,0!==s&&t.substring(r-i)!==n.substring(0,i)||(l=i,i++)}}function m(t){let n=!1;const e=[];let s=0,r=null,l=0,i=0,h=0,f=0,a=0;for(;l<t.length;)0===t[l][0]?(e[s++]=l,i=f,h=a,f=0,a=0,r=t[l][1]):(1===t[l][0]?f+=t[l][1].length:a+=t[l][1].length,r&&r.length<=Math.max(i,h)&&r.length<=Math.max(f,a)&&(t.splice(e[s-1],0,o(g,r)),t[e[s-1]+1][0]=1,s--,s--,l=s>0?e[s-1]:-1,i=0,h=0,f=0,a=0,r=null,n=!0)),l++;for(n&&k(t),O(t),l=1;l<t.length;){if(t[l-1][0]===g&&1===t[l][0]){const n=t[l-1][1],e=t[l][1],s=d(n,e),r=d(e,n);s>=r?(s>=n.length/2||s>=e.length/2)&&(t.splice(l,0,o(0,e.substring(0,s))),t[l-1][1]=n.substring(0,n.length-s),t[l+1][1]=e.substring(s),l++):(r>=n.length/2||r>=e.length/2)&&(t.splice(l,0,o(0,n.substring(0,r))),t[l-1][0]=1,t[l-1][1]=e.substring(0,e.length-r),t[l+1][0]=g,t[l+1][1]=n.substring(r),l++),l++}l++}}const x=/[^a-z0-9]/i,M=/\\s/,w=/[\\r\\n]/,y=/\\n\\r?\\n$/,A=/^\\r?\\n\\r?\\n/;function O(t){function n(t,n){if(!t||!n)return 6;const e=t.charAt(t.length-1),s=n.charAt(0),r=e.match(x),l=s.match(x),i=r&&e.match(M),h=l&&s.match(M),g=i&&e.match(w),o=h&&s.match(w),f=g&&t.match(y),a=o&&n.match(A);return f||a?5:g||o?4:r&&!i&&h?3:i||h?2:r||l?1:0}let e=1;for(;e<t.length-1;){if(0===t[e-1][0]&&0===t[e+1][0]){let s=t[e-1][1],r=t[e][1],l=t[e+1][1];const i=b(s,r);if(i){const t=r.substring(r.length-i);s=s.substring(0,s.length-i),r=t+r.substring(0,r.length-i),l=t+l}let h=s,g=r,o=l,f=n(s,r)+n(r,l);for(;r.charAt(0)===l.charAt(0);){s+=r.charAt(0),r=r.substring(1)+l.charAt(0),l=l.substring(1);const t=n(s,r)+n(r,l);t>=f&&(f=t,h=s,g=r,o=l)}t[e-1][1]!==h&&(h?t[e-1][1]=h:(t.splice(e-1,1),e--),t[e][1]=g,o?t[e+1][1]=o:(t.splice(e+1,1),e--))}e++}}function $(t,n={}){const{diffEditCost:e=i.diffEditCost}=n;let s=!1;const r=[];let l=0,h=null,f=0,a=!1,c=!1,u=!1,p=!1;for(;f<t.length;){if(0===t[f][0])t[f][1].length<e&&(u||p)?(r[l++]=f,a=u,c=p,h=t[f][1]):(l=0,h=null),u=p=!1;else{let n=function(...t){return t.filter(Boolean).length};t[f][0]===g?p=!0:u=!0,h&&(a&&c&&u&&p||h.length<e/2&&3===n(a,c,u,p))&&(t.splice(r[l-1],0,o(g,h)),t[r[l-1]+1][0]=1,l--,h=null,a&&c?(u=p=!0,l=0):(l--,f=l>0?r[l-1]:-1,u=p=!1),s=!0)}f++}s&&k(t)}function k(t){t.push(o(0,\"\"));let n,e=0,s=0,r=0,l=\"\",i=\"\";for(;e<t.length;)switch(t[e][0]){case 1:r++,i+=t[e][1],e++;break;case g:s++,l+=t[e][1],e++;break;case 0:s+r>1?(0!==s&&0!==r&&(n=p(i,l),0!==n&&(e-s-r>0&&0===t[e-s-r-1][0]?t[e-s-r-1][1]+=i.substring(0,n):(t.splice(0,0,o(0,i.substring(0,n))),e++),i=i.substring(n),l=l.substring(n)),n=b(i,l),0!==n&&(t[e][1]=i.substring(i.length-n)+t[e][1],i=i.substring(0,i.length-n),l=l.substring(0,l.length-n))),e-=s+r,t.splice(e,s+r),l.length&&(t.splice(e,0,o(g,l)),e++),i.length&&(t.splice(e,0,o(1,i)),e++),e++):0!==e&&0===t[e-1][0]?(t[e-1][1]+=t[e][1],t.splice(e,1)):e++,r=0,s=0,l=\"\",i=\"\"}\"\"===t[t.length-1][1]&&t.pop();let h=!1;for(e=1;e<t.length-1;)0===t[e-1][0]&&0===t[e+1][0]&&(t[e][1].substring(t[e][1].length-t[e-1][1].length)===t[e-1][1]?(t[e][1]=t[e-1][1]+t[e][1].substring(0,t[e][1].length-t[e-1][1].length),t[e+1][1]=t[e-1][1]+t[e+1][1],t.splice(e-1,1),h=!0):t[e][1].substring(0,t[e+1][1].length)===t[e+1][1]&&(t[e-1][1]+=t[e+1][1],t[e][1]=t[e][1].substring(t[e+1][1].length)+t[e+1][1],t.splice(e+1,1),h=!0)),e++;h&&k(t)}function v(t,n){let e,s=0,r=0,l=0,i=0;for(e=0;e<t.length&&(1!==t[e][0]&&(s+=t[e][1].length),t[e][0]!==g&&(r+=t[e][1].length),!(s>n));e++)l=s,i=r;return t.length!==e&&t[e][0]===g?i:i+(n-l)}function E(t){const n=[];for(let e=0;e<t.length;e++)1!==t[e][0]&&(n[e]=t[e][1]);return n.join(\"\")}function I(t){const n=[];for(let e=0;e<t.length;e++)t[e][0]!==g&&(n[e]=t[e][1]);return n.join(\"\")}function j(t){let n=0,e=0,s=0;for(let r=0;r<t.length;r++){const l=t[r][0],i=t[r][1];switch(l){case 1:e+=i.length;break;case g:s+=i.length;break;case 0:n+=Math.max(e,s),e=0,s=0}}return n+=Math.max(e,s),n}function T(t,n,e,s){if(null==t||null==n||null==e)throw new Error(\"Null input. (match_main)\");return e=Math.max(0,Math.min(e,t.length)),t===n?0:t.length?t.substring(e,e+n.length)===n?e:C(t,n,e,s):-1}function C(t,n,e,s){const r=h(s);if(n.length>r.matchMaxBits)throw new Error(\"Pattern too long for this browser.\");const l=D(n);function i(t,s){const l=t/n.length,i=Math.abs(e-s);return r.matchDistance?l+i/r.matchDistance:i?1:l}let g=r.matchThreshold,o=t.indexOf(n,e);-1!==o&&(g=Math.min(i(0,o),g),o=t.lastIndexOf(n,e+n.length),-1!==o&&(g=Math.min(i(0,o),g)));const f=1<<n.length-1;let a,c;o=-1;let u=n.length+t.length,p=[];for(let h=0;h<n.length;h++){for(a=0,c=u;a<c;)i(h,e+c)<=g?a=c:u=c,c=Math.floor((u-a)/2+a);u=c;let s=Math.max(1,e-c+1);const r=Math.min(e+c,t.length)+n.length,b=new Array(r+2);b[r+1]=(1<<h)-1;for(let n=r;n>=s;n--){const r=l[t.charAt(n-1)];if(b[n]=0===h?(b[n+1]<<1|1)&r:(b[n+1]<<1|1)&r|(p[n+1]|p[n])<<1|1|p[n+1],b[n]&f){const t=i(h,n-1);if(t<=g){if(g=t,o=n-1,!(o>e))break;s=Math.max(1,2*e-o)}}}if(i(h+1,e)>g)break;p=b}return o}function D(t){const n={};for(let e=0;e<t.length;e++)n[t.charAt(e)]=0;for(let e=0;e<t.length;e++)n[t.charAt(e)]|=1<<t.length-e-1;return n}var B=Object.defineProperty,_=Object.getOwnPropertySymbols,P=Object.prototype.hasOwnProperty,N=Object.prototype.propertyIsEnumerable,S=(t,n,e)=>n in t?B(t,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[n]=e,F=(t,n)=>{for(var e in n||(n={}))P.call(n,e)&&S(t,e,n[e]);if(_)for(var e of _(n))N.call(n,e)&&S(t,e,n[e]);return t};function L(t,n,e){if(0===n.length)return;if(null===t.start2)throw new Error(\"patch not initialized\");const{matchMaxBits:s=i.matchMaxBits,patchMargin:r=i.patchMargin}=e;let l=n.substring(t.start2,t.start2+t.length1),h=0;for(;n.indexOf(l)!==n.lastIndexOf(l)&&l.length<s-r-r;)h+=r,l=n.substring(t.start2-h,t.start2+t.length1+h);h+=r;const g=n.substring(t.start2-h,t.start2);g&&t.diffs.unshift(o(0,g));const f=n.substring(t.start2+t.length1,t.start2+t.length1+h);f&&t.diffs.push(o(0,f)),t.start1-=g.length,t.start2-=g.length,t.length1+=g.length+f.length,t.length2+=g.length+f.length}function U(t,n,e,s={}){const r=F(F({},i),s);let l,h;if(\"string\"==typeof t&&\"string\"==typeof n&&void 0===e)l=t,h=f(l,n,r,!0),h.length>2&&(m(h),$(h));else if(t&&\"object\"==typeof t&&void 0===n&&void 0===e)h=t,l=E(h);else if(\"string\"==typeof t&&n&&\"object\"==typeof n&&void 0===e)l=t,h=n;else{if(\"string\"!=typeof t||\"string\"!=typeof n||!e||\"object\"!=typeof e)throw new Error(\"Unknown call format to patch_make.\");l=t,h=e}if(0===h.length)return[];const o=[];let a=q(),c=0,u=0,p=0,b=l,d=l;for(let i=0;i<h.length;i++){const t=h[i][0],n=h[i][1];switch(c||0===t||(a.start1=u,a.start2=p),t){case 1:a.diffs[c++]=h[i],a.length2+=n.length,d=d.substring(0,p)+n+d.substring(p);break;case g:a.length1+=n.length,a.diffs[c++]=h[i],d=d.substring(0,p)+d.substring(p+n.length);break;case 0:n.length<=2*r.patchMargin&&c&&h.length!==i+1?(a.diffs[c++]=h[i],a.length1+=n.length,a.length2+=n.length):n.length>=2*r.patchMargin&&c&&(L(a,b,r),o.push(a),a=q(),c=0,b=d,u=p)}1!==t&&(u+=n.length),t!==g&&(p+=n.length)}return c&&(L(a,b,r),o.push(a)),o}function R(t){const n=[];for(let e=0;e<t.length;e++){const s=t[e],r=q();r.diffs=[];for(let t=0;t<s.diffs.length;t++)r.diffs[t]=o(s.diffs[t][0],s.diffs[t][1]);r.start1=s.start1,r.start2=s.start2,r.length1=s.length1,r.length2=s.length2,n[e]=r}return n}function z(t,n={}){const{patchMargin:e=i.patchMargin}=n;let s=\"\";for(let i=1;i<=e;i++)s+=String.fromCharCode(i);for(let i=0;i<t.length;i++)t[i].start1+=e,t[i].start2+=e;let r=t[0],l=r.diffs;if(0===l.length||0!==l[0][0])l.unshift(o(0,s)),r.start1-=e,r.start2-=e,r.length1+=e,r.length2+=e;else if(e>l[0][1].length){const t=e-l[0][1].length;l[0][1]=s.substring(l[0][1].length)+l[0][1],r.start1-=t,r.start2-=t,r.length1+=t,r.length2+=t}if(r=t[t.length-1],l=r.diffs,0===l.length||0!==l[l.length-1][0])l.push(o(0,s)),r.length1+=e,r.length2+=e;else if(e>l[l.length-1][1].length){const t=e-l[l.length-1][1].length;l[l.length-1][1]+=s.substring(0,t),r.length1+=t,r.length2+=t}return s}function X(t,n){const e=h(n);for(let s=0;s<t.length;s++){if(t[s].length1<=e.matchMaxBits)continue;const n=t[s];t.splice(s--,1);let r=n.start1,l=n.start2,i=\"\";for(;0!==n.diffs.length;){const h=q();let f=!0;for(h.start1=r-i.length,h.start2=l-i.length,\"\"!==i&&(h.length1=h.length2=i.length,h.diffs.push(o(0,i)));0!==n.diffs.length&&h.length1<e.matchMaxBits-e.patchMargin;){const t=n.diffs[0][0];let s=n.diffs[0][1];1===t?(h.length2+=s.length,l+=s.length,h.diffs.push(n.diffs.shift()),f=!1):t===g&&1===h.diffs.length&&0===h.diffs[0][0]&&s.length>2*e.matchMaxBits?(h.length1+=s.length,r+=s.length,f=!1,h.diffs.push(o(t,s)),n.diffs.shift()):(s=s.substring(0,e.matchMaxBits-h.length1-e.patchMargin),h.length1+=s.length,r+=s.length,0===t?(h.length2+=s.length,l+=s.length):f=!1,h.diffs.push(o(t,s)),s===n.diffs[0][1]?n.diffs.shift():n.diffs[0][1]=n.diffs[0][1].substring(s.length))}i=I(h.diffs),i=i.substring(i.length-e.patchMargin);const a=E(n.diffs).substring(0,e.patchMargin);\"\"!==a&&(h.length1+=a.length,h.length2+=a.length,0!==h.diffs.length&&0===h.diffs[h.diffs.length-1][0]?h.diffs[h.diffs.length-1][1]+=a:h.diffs.push(o(0,a))),f||t.splice(++s,0,h)}}}function q(){const t={diffs:[],start1:null,start2:null,length1:0,length2:0,toString:function(){let t,n;t=0===this.length1?`${this.start1},0`:1===this.length1?this.start1+1:`${this.start1+1},${this.length1}`,n=0===this.length2?`${this.start2},0`:1===this.length2?this.start2+1:`${this.start2+1},${this.length2}`;const e=[`@@ -${t} +${n} @@\\n`];let s;for(let r=0;r<this.diffs.length;r++){switch(this.diffs[r][0]){case 1:s=\"+\";break;case g:s=\"-\";break;case 0:s=\" \"}e[r+1]=`${s+encodeURI(this.diffs[r][1])}\\n`}return e.join(\"\").replace(/%20/g,\" \")}};return t}exports.DIFF_DELETE=g,exports.DIFF_EQUAL=0,exports.DIFF_INSERT=1,exports.defaultOptions=i,exports.diff=f,exports.diffCharsToLines=u,exports.diffCleanupEfficiency=$,exports.diffCleanupMerge=k,exports.diffCleanupSemantic=m,exports.diffCleanupSemanticLossless=O,exports.diffCommonPrefix=p,exports.diffCommonSuffix=b,exports.diffFromDelta=function(t,n){const e=[];let s=0,r=0;const l=n.split(/\\t/g);for(let h=0;h<l.length;h++){const n=l[h].substring(1);switch(l[h].charAt(0)){case\"+\":try{e[s++]=o(1,decodeURI(n))}catch(i){throw new Error(`Illegal escape in diff_fromDelta: ${n}`)}break;case\"-\":case\"=\":{const i=Number.parseInt(n,10);if(Number.isNaN(i)||i<0)throw new Error(`Invalid number in diff_fromDelta: ${n}`);const f=t.substring(r,r+=i);\"=\"===l[h].charAt(0)?e[s++]=o(0,f):e[s++]=o(g,f);break}default:if(l[h])throw new Error(`Invalid diff operation in diff_fromDelta: ${l[h]}`)}}if(r!==t.length)throw new Error(`Delta length (${r}) does not equal source text length (${t.length}).`);return e},exports.diffLevenshtein=j,exports.diffLinesToChars=c,exports.diffMain=f,exports.diffPrettyHtml=function(t){const n=[],e=/&/g,s=/</g,r=/>/g,l=/\\n/g;for(let i=0;i<t.length;i++){const h=t[i][0],o=t[i][1].replace(e,\"&amp;\").replace(s,\"&lt;\").replace(r,\"&gt;\").replace(l,\"&para;<br>\");switch(h){case 1:n[i]=`<ins style=\"background:#e6ffe6;\">${o}</ins>`;break;case g:n[i]=`<del style=\"background:#ffe6e6;\">${o}</del>`;break;case 0:n[i]=`<span>${o}</span>`}}return n.join(\"\")},exports.diffText1=E,exports.diffText2=I,exports.diffToDelta=function(t){const n=[];for(let e=0;e<t.length;e++)switch(t[e][0]){case 1:n[e]=`+${encodeURI(t[e][1])}`;break;case g:n[e]=`-${t[e][1].length}`;break;case 0:n[e]=`=${t[e][1].length}`}return n.join(\"\\t\").replace(/%20/g,\" \")},exports.diffXIndex=v,exports.match=T,exports.matchAlphabet=D,exports.matchBitap=C,exports.matchMain=T,exports.patch=U,exports.patchAddPadding=z,exports.patchApply=function(t,n,e){if(0===t.length)return[n,[]];t=R(t);const s=h(e),r=z(t,s);n=r+n+r,X(t,s);let l=0;const i=[];for(let h=0;h<t.length;h++){const r=t[h].start2+l,o=E(t[h].diffs);let a,c=-1;if(o.length>s.matchMaxBits?(a=T(n,o.substring(0,s.matchMaxBits),r,e),-1!==a&&(c=T(n,o.substring(o.length-s.matchMaxBits),r+o.length-s.matchMaxBits,e),(-1===c||a>=c)&&(a=-1))):a=T(n,o,r,e),-1===a)i[h]=!1,l-=t[h].length2-t[h].length1;else{let u;if(i[h]=!0,l=a-r,u=-1===c?n.substring(a,a+o.length):n.substring(a,c+s.matchMaxBits),o===u)n=n.substring(0,a)+I(t[h].diffs)+n.substring(a+o.length);else{const r=f(o,u,e,!1);if(o.length>s.matchMaxBits&&j(r)/o.length>s.patchDeleteThreshold)i[h]=!1;else{O(r);let e=0,s=0;for(let l=0;l<t[h].diffs.length;l++){const i=t[h].diffs[l];0!==i[0]&&(s=v(r,e)),1===i[0]?n=n.substring(0,a+s)+i[1]+n.substring(a+s):i[0]===g&&(n=n.substring(0,a+s)+n.substring(a+v(r,e+i[1].length))),i[0]!==g&&(e+=i[1].length)}}}}}return[n=n.substring(r.length,n.length-r.length),i]},exports.patchDeepCopy=R,exports.patchFromText=function(t){const n=[];if(!t)return n;const e=t.split(\"\\n\");let s=0;const r=/^@@ -(\\d+),?(\\d*) \\+(\\d+),?(\\d*) @@$/;for(;s<e.length;){const t=e[s].match(r);if(!t)throw new Error(`Invalid patch string: ${e[s]}`);const i=q();for(n.push(i),i.start1=Number.parseInt(t[1],10),\"\"===t[2]?(i.start1--,i.length1=1):\"0\"===t[2]?i.length1=0:(i.start1--,i.length1=Number.parseInt(t[2],10)),i.start2=Number.parseInt(t[3],10),\"\"===t[4]?(i.start2--,i.length2=1):\"0\"===t[4]?i.length2=0:(i.start2--,i.length2=Number.parseInt(t[4],10)),s++;s<e.length;){const t=e[s].charAt(0);let n=\"\";try{n=decodeURI(e[s].substring(1))}catch(l){throw new Error(`Illegal escape in patch_fromText: ${n}`)}if(\"-\"===t)i.diffs.push(o(g,n));else if(\"+\"===t)i.diffs.push(o(1,n));else if(\" \"===t)i.diffs.push(o(0,n));else{if(\"@\"===t)break;if(\"\"!==t)throw new Error(`Invalid patch mode \"${t}\" in: ${n}`)}s++}}return n},exports.patchMake=U,exports.patchSplitMax=X,exports.patchToText=function(t){const n=[];for(let e=0;e<t.length;e++)n[e]=t[e];return n.join(\"\")},exports.resolveOptions=h;\n"
  },
  {
    "path": "core/modules/utils/diff-match-patch/diff_match_patch_uncompressed.js",
    "content": "'use strict';\n\nvar __defProp$1 = Object.defineProperty;\nvar __getOwnPropSymbols$1 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$1 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$1 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$1 = (a, b) => {\n  for (var prop in b || (b = {}))\n    if (__hasOwnProp$1.call(b, prop))\n      __defNormalProp$1(a, prop, b[prop]);\n  if (__getOwnPropSymbols$1)\n    for (var prop of __getOwnPropSymbols$1(b)) {\n      if (__propIsEnum$1.call(b, prop))\n        __defNormalProp$1(a, prop, b[prop]);\n    }\n  return a;\n};\nconst defaultOptions = /* @__PURE__ */ Object.freeze({\n  diffTimeout: 1,\n  diffEditCost: 4,\n  matchThreshold: 0.5,\n  matchDistance: 1e3,\n  patchDeleteThreshold: 0.5,\n  patchMargin: 4,\n  matchMaxBits: 32\n});\nfunction resolveOptions(options) {\n  if (options == null ? undefined : options.__resolved)\n    return options;\n  const resolved = __spreadValues$1(__spreadValues$1({}, defaultOptions), options);\n  Object.defineProperty(resolved, \"__resolved\", { value: true, enumerable: false });\n  return resolved;\n}\n\nconst DIFF_DELETE = -1;\nconst DIFF_INSERT = 1;\nconst DIFF_EQUAL = 0;\nfunction createDiff(op, text) {\n  return [op, text];\n}\nfunction diffMain(text1, text2, options, opt_checklines = true, opt_deadline) {\n  const resolved = resolveOptions(options);\n  if (typeof opt_deadline == \"undefined\") {\n    if (resolved.diffTimeout <= 0)\n      opt_deadline = Number.MAX_VALUE;\n    else\n      opt_deadline = (/* @__PURE__ */ new Date()).getTime() + resolved.diffTimeout * 1e3;\n  }\n  const deadline = opt_deadline;\n  if (text1 == null || text2 == null)\n    throw new Error(\"Null input. (diff_main)\");\n  if (text1 === text2) {\n    if (text1)\n      return [createDiff(DIFF_EQUAL, text1)];\n    return [];\n  }\n  const checklines = opt_checklines;\n  let commonlength = diffCommonPrefix(text1, text2);\n  const commonprefix = text1.substring(0, commonlength);\n  text1 = text1.substring(commonlength);\n  text2 = text2.substring(commonlength);\n  commonlength = diffCommonSuffix(text1, text2);\n  const commonsuffix = text1.substring(text1.length - commonlength);\n  text1 = text1.substring(0, text1.length - commonlength);\n  text2 = text2.substring(0, text2.length - commonlength);\n  const diffs = diffCompute(text1, text2, resolved, checklines, deadline);\n  if (commonprefix)\n    diffs.unshift(createDiff(DIFF_EQUAL, commonprefix));\n  if (commonsuffix)\n    diffs.push(createDiff(DIFF_EQUAL, commonsuffix));\n  diffCleanupMerge(diffs);\n  return diffs;\n}\nfunction diffCompute(text1, text2, options, checklines, deadline) {\n  let diffs;\n  if (!text1) {\n    return [createDiff(DIFF_INSERT, text2)];\n  }\n  if (!text2) {\n    return [createDiff(DIFF_DELETE, text1)];\n  }\n  const longtext = text1.length > text2.length ? text1 : text2;\n  const shorttext = text1.length > text2.length ? text2 : text1;\n  const i = longtext.indexOf(shorttext);\n  if (i !== -1) {\n    diffs = [createDiff(DIFF_INSERT, longtext.substring(0, i)), createDiff(DIFF_EQUAL, shorttext), createDiff(DIFF_INSERT, longtext.substring(i + shorttext.length))];\n    if (text1.length > text2.length)\n      diffs[0][0] = diffs[2][0] = DIFF_DELETE;\n    return diffs;\n  }\n  if (shorttext.length === 1) {\n    return [createDiff(DIFF_DELETE, text1), createDiff(DIFF_INSERT, text2)];\n  }\n  const hm = diffHalfMatch(text1, text2, options);\n  if (hm) {\n    const text1_a = hm[0];\n    const text1_b = hm[1];\n    const text2_a = hm[2];\n    const text2_b = hm[3];\n    const mid_common = hm[4];\n    const diffs_a = diffMain(text1_a, text2_a, options, checklines, deadline);\n    const diffs_b = diffMain(text1_b, text2_b, options, checklines, deadline);\n    return diffs_a.concat([createDiff(DIFF_EQUAL, mid_common)], diffs_b);\n  }\n  if (checklines && text1.length > 100 && text2.length > 100)\n    return diffLineMode(text1, text2, options, deadline);\n  return diffBisect(text1, text2, options, deadline);\n}\nfunction diffLineMode(text1, text2, options, deadline) {\n  const a = diffLinesToChars(text1, text2);\n  text1 = a.chars1;\n  text2 = a.chars2;\n  const linearray = a.lineArray;\n  const diffs = diffMain(text1, text2, options, false, deadline);\n  diffCharsToLines(diffs, linearray);\n  diffCleanupSemantic(diffs);\n  diffs.push(createDiff(DIFF_EQUAL, \"\"));\n  let pointer = 0;\n  let count_delete = 0;\n  let count_insert = 0;\n  let text_delete = \"\";\n  let text_insert = \"\";\n  while (pointer < diffs.length) {\n    switch (diffs[pointer][0]) {\n      case DIFF_INSERT:\n        count_insert++;\n        text_insert += diffs[pointer][1];\n        break;\n      case DIFF_DELETE:\n        count_delete++;\n        text_delete += diffs[pointer][1];\n        break;\n      case DIFF_EQUAL:\n        if (count_delete >= 1 && count_insert >= 1) {\n          diffs.splice(pointer - count_delete - count_insert, count_delete + count_insert);\n          pointer = pointer - count_delete - count_insert;\n          const subDiff = diffMain(text_delete, text_insert, options, false, deadline);\n          for (let j = subDiff.length - 1; j >= 0; j--)\n            diffs.splice(pointer, 0, subDiff[j]);\n          pointer = pointer + subDiff.length;\n        }\n        count_insert = 0;\n        count_delete = 0;\n        text_delete = \"\";\n        text_insert = \"\";\n        break;\n    }\n    pointer++;\n  }\n  diffs.pop();\n  return diffs;\n}\nfunction diffBisect(text1, text2, options, deadline) {\n  const text1_length = text1.length;\n  const text2_length = text2.length;\n  const max_d = Math.ceil((text1_length + text2_length) / 2);\n  const v_offset = max_d;\n  const v_length = 2 * max_d;\n  const v1 = new Array(v_length);\n  const v2 = new Array(v_length);\n  for (let x = 0; x < v_length; x++) {\n    v1[x] = -1;\n    v2[x] = -1;\n  }\n  v1[v_offset + 1] = 0;\n  v2[v_offset + 1] = 0;\n  const delta = text1_length - text2_length;\n  const front = delta % 2 !== 0;\n  let k1start = 0;\n  let k1end = 0;\n  let k2start = 0;\n  let k2end = 0;\n  for (let d = 0; d < max_d; d++) {\n    if ((/* @__PURE__ */ new Date()).getTime() > deadline)\n      break;\n    for (let k1 = -d + k1start; k1 <= d - k1end; k1 += 2) {\n      const k1_offset = v_offset + k1;\n      let x1;\n      if (k1 === -d || k1 !== d && v1[k1_offset - 1] < v1[k1_offset + 1])\n        x1 = v1[k1_offset + 1];\n      else\n        x1 = v1[k1_offset - 1] + 1;\n      let y1 = x1 - k1;\n      while (x1 < text1_length && y1 < text2_length && text1.charAt(x1) === text2.charAt(y1)) {\n        x1++;\n        y1++;\n      }\n      v1[k1_offset] = x1;\n      if (x1 > text1_length) {\n        k1end += 2;\n      } else if (y1 > text2_length) {\n        k1start += 2;\n      } else if (front) {\n        const k2_offset = v_offset + delta - k1;\n        if (k2_offset >= 0 && k2_offset < v_length && v2[k2_offset] !== -1) {\n          const x2 = text1_length - v2[k2_offset];\n          if (x1 >= x2) {\n            return diffBisectSplit(text1, text2, options, x1, y1, deadline);\n          }\n        }\n      }\n    }\n    for (let k2 = -d + k2start; k2 <= d - k2end; k2 += 2) {\n      const k2_offset = v_offset + k2;\n      let x2;\n      if (k2 === -d || k2 !== d && v2[k2_offset - 1] < v2[k2_offset + 1])\n        x2 = v2[k2_offset + 1];\n      else\n        x2 = v2[k2_offset - 1] + 1;\n      let y2 = x2 - k2;\n      while (x2 < text1_length && y2 < text2_length && text1.charAt(text1_length - x2 - 1) === text2.charAt(text2_length - y2 - 1)) {\n        x2++;\n        y2++;\n      }\n      v2[k2_offset] = x2;\n      if (x2 > text1_length) {\n        k2end += 2;\n      } else if (y2 > text2_length) {\n        k2start += 2;\n      } else if (!front) {\n        const k1_offset = v_offset + delta - k2;\n        if (k1_offset >= 0 && k1_offset < v_length && v1[k1_offset] !== -1) {\n          const x1 = v1[k1_offset];\n          const y1 = v_offset + x1 - k1_offset;\n          x2 = text1_length - x2;\n          if (x1 >= x2) {\n            return diffBisectSplit(text1, text2, options, x1, y1, deadline);\n          }\n        }\n      }\n    }\n  }\n  return [createDiff(DIFF_DELETE, text1), createDiff(DIFF_INSERT, text2)];\n}\nfunction diffBisectSplit(text1, text2, options, x, y, deadline) {\n  const text1a = text1.substring(0, x);\n  const text2a = text2.substring(0, y);\n  const text1b = text1.substring(x);\n  const text2b = text2.substring(y);\n  const diffs = diffMain(text1a, text2a, options, false, deadline);\n  const diffsb = diffMain(text1b, text2b, options, false, deadline);\n  return diffs.concat(diffsb);\n}\nfunction diffLinesToChars(text1, text2) {\n  const lineArray = [];\n  const lineHash = {};\n  let maxLines = 4e4;\n  lineArray[0] = \"\";\n  function diffLinesToCharsMunge(text) {\n    let chars = \"\";\n    let lineStart = 0;\n    let lineEnd = -1;\n    let lineArrayLength = lineArray.length;\n    while (lineEnd < text.length - 1) {\n      lineEnd = text.indexOf(\"\\n\", lineStart);\n      if (lineEnd === -1)\n        lineEnd = text.length - 1;\n      let line = text.substring(lineStart, lineEnd + 1);\n      if (lineHash.hasOwnProperty ? Object.prototype.hasOwnProperty.call(lineHash, line) : lineHash[line] !== undefined) {\n        chars += String.fromCharCode(lineHash[line]);\n      } else {\n        if (lineArrayLength === maxLines) {\n          line = text.substring(lineStart);\n          lineEnd = text.length;\n        }\n        chars += String.fromCharCode(lineArrayLength);\n        lineHash[line] = lineArrayLength;\n        lineArray[lineArrayLength++] = line;\n      }\n      lineStart = lineEnd + 1;\n    }\n    return chars;\n  }\n  const chars1 = diffLinesToCharsMunge(text1);\n  maxLines = 65535;\n  const chars2 = diffLinesToCharsMunge(text2);\n  return { chars1, chars2, lineArray };\n}\nfunction diffCharsToLines(diffs, lineArray) {\n  for (let i = 0; i < diffs.length; i++) {\n    const chars = diffs[i][1];\n    const text = [];\n    for (let j = 0; j < chars.length; j++)\n      text[j] = lineArray[chars.charCodeAt(j)];\n    diffs[i][1] = text.join(\"\");\n  }\n}\nfunction diffCommonPrefix(text1, text2) {\n  if (!text1 || !text2 || text1.charAt(0) !== text2.charAt(0))\n    return 0;\n  let pointermin = 0;\n  let pointermax = Math.min(text1.length, text2.length);\n  let pointermid = pointermax;\n  let pointerstart = 0;\n  while (pointermin < pointermid) {\n    if (text1.substring(pointerstart, pointermid) === text2.substring(pointerstart, pointermid)) {\n      pointermin = pointermid;\n      pointerstart = pointermin;\n    } else {\n      pointermax = pointermid;\n    }\n    pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n  }\n  return pointermid;\n}\nfunction diffCommonSuffix(text1, text2) {\n  if (!text1 || !text2 || text1.charAt(text1.length - 1) !== text2.charAt(text2.length - 1)) {\n    return 0;\n  }\n  let pointermin = 0;\n  let pointermax = Math.min(text1.length, text2.length);\n  let pointermid = pointermax;\n  let pointerend = 0;\n  while (pointermin < pointermid) {\n    if (text1.substring(text1.length - pointermid, text1.length - pointerend) === text2.substring(text2.length - pointermid, text2.length - pointerend)) {\n      pointermin = pointermid;\n      pointerend = pointermin;\n    } else {\n      pointermax = pointermid;\n    }\n    pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n  }\n  return pointermid;\n}\nfunction diffCommonOverlap(text1, text2) {\n  const text1_length = text1.length;\n  const text2_length = text2.length;\n  if (text1_length === 0 || text2_length === 0)\n    return 0;\n  if (text1_length > text2_length)\n    text1 = text1.substring(text1_length - text2_length);\n  else if (text1_length < text2_length)\n    text2 = text2.substring(0, text1_length);\n  const text_length = Math.min(text1_length, text2_length);\n  if (text1 === text2)\n    return text_length;\n  let best = 0;\n  let length = 1;\n  while (true) {\n    const pattern = text1.substring(text_length - length);\n    const found = text2.indexOf(pattern);\n    if (found === -1)\n      return best;\n    length += found;\n    if (found === 0 || text1.substring(text_length - length) === text2.substring(0, length)) {\n      best = length;\n      length++;\n    }\n  }\n}\nfunction diffHalfMatch(text1, text2, options) {\n  if (options.diffTimeout <= 0) {\n    return null;\n  }\n  const longtext = text1.length > text2.length ? text1 : text2;\n  const shorttext = text1.length > text2.length ? text2 : text1;\n  if (longtext.length < 4 || shorttext.length * 2 < longtext.length)\n    return null;\n  function diffHalfMatchI(longtext2, shorttext2, i) {\n    const seed = longtext2.substring(i, i + Math.floor(longtext2.length / 4));\n    let j = -1;\n    let best_common = \"\";\n    let best_longtext_a, best_longtext_b, best_shorttext_a, best_shorttext_b;\n    while ((j = shorttext2.indexOf(seed, j + 1)) !== -1) {\n      const prefixLength = diffCommonPrefix(longtext2.substring(i), shorttext2.substring(j));\n      const suffixLength = diffCommonSuffix(longtext2.substring(0, i), shorttext2.substring(0, j));\n      if (best_common.length < suffixLength + prefixLength) {\n        best_common = shorttext2.substring(j - suffixLength, j) + shorttext2.substring(j, j + prefixLength);\n        best_longtext_a = longtext2.substring(0, i - suffixLength);\n        best_longtext_b = longtext2.substring(i + prefixLength);\n        best_shorttext_a = shorttext2.substring(0, j - suffixLength);\n        best_shorttext_b = shorttext2.substring(j + prefixLength);\n      }\n    }\n    if (best_common.length * 2 >= longtext2.length)\n      return [best_longtext_a, best_longtext_b, best_shorttext_a, best_shorttext_b, best_common];\n    else\n      return null;\n  }\n  const hm1 = diffHalfMatchI(longtext, shorttext, Math.ceil(longtext.length / 4));\n  const hm2 = diffHalfMatchI(longtext, shorttext, Math.ceil(longtext.length / 2));\n  let hm;\n  if (!hm1 && !hm2) {\n    return null;\n  } else if (!hm2) {\n    hm = hm1;\n  } else if (!hm1) {\n    hm = hm2;\n  } else {\n    hm = hm1[4].length > hm2[4].length ? hm1 : hm2;\n  }\n  let text1_a, text1_b, text2_a, text2_b;\n  if (text1.length > text2.length) {\n    text1_a = hm[0];\n    text1_b = hm[1];\n    text2_a = hm[2];\n    text2_b = hm[3];\n  } else {\n    text2_a = hm[0];\n    text2_b = hm[1];\n    text1_a = hm[2];\n    text1_b = hm[3];\n  }\n  const mid_common = hm[4];\n  return [text1_a, text1_b, text2_a, text2_b, mid_common];\n}\nfunction diffCleanupSemantic(diffs) {\n  let changes = false;\n  const equalities = [];\n  let equalitiesLength = 0;\n  let lastEquality = null;\n  let pointer = 0;\n  let length_insertions1 = 0;\n  let length_deletions1 = 0;\n  let length_insertions2 = 0;\n  let length_deletions2 = 0;\n  while (pointer < diffs.length) {\n    if (diffs[pointer][0] === DIFF_EQUAL) {\n      equalities[equalitiesLength++] = pointer;\n      length_insertions1 = length_insertions2;\n      length_deletions1 = length_deletions2;\n      length_insertions2 = 0;\n      length_deletions2 = 0;\n      lastEquality = diffs[pointer][1];\n    } else {\n      if (diffs[pointer][0] === DIFF_INSERT)\n        length_insertions2 += diffs[pointer][1].length;\n      else\n        length_deletions2 += diffs[pointer][1].length;\n      if (lastEquality && lastEquality.length <= Math.max(length_insertions1, length_deletions1) && lastEquality.length <= Math.max(length_insertions2, length_deletions2)) {\n        diffs.splice(equalities[equalitiesLength - 1], 0, createDiff(DIFF_DELETE, lastEquality));\n        diffs[equalities[equalitiesLength - 1] + 1][0] = DIFF_INSERT;\n        equalitiesLength--;\n        equalitiesLength--;\n        pointer = equalitiesLength > 0 ? equalities[equalitiesLength - 1] : -1;\n        length_insertions1 = 0;\n        length_deletions1 = 0;\n        length_insertions2 = 0;\n        length_deletions2 = 0;\n        lastEquality = null;\n        changes = true;\n      }\n    }\n    pointer++;\n  }\n  if (changes)\n    diffCleanupMerge(diffs);\n  diffCleanupSemanticLossless(diffs);\n  pointer = 1;\n  while (pointer < diffs.length) {\n    if (diffs[pointer - 1][0] === DIFF_DELETE && diffs[pointer][0] === DIFF_INSERT) {\n      const deletion = diffs[pointer - 1][1];\n      const insertion = diffs[pointer][1];\n      const overlap_length1 = diffCommonOverlap(deletion, insertion);\n      const overlap_length2 = diffCommonOverlap(insertion, deletion);\n      if (overlap_length1 >= overlap_length2) {\n        if (overlap_length1 >= deletion.length / 2 || overlap_length1 >= insertion.length / 2) {\n          diffs.splice(pointer, 0, createDiff(DIFF_EQUAL, insertion.substring(0, overlap_length1)));\n          diffs[pointer - 1][1] = deletion.substring(0, deletion.length - overlap_length1);\n          diffs[pointer + 1][1] = insertion.substring(overlap_length1);\n          pointer++;\n        }\n      } else {\n        if (overlap_length2 >= deletion.length / 2 || overlap_length2 >= insertion.length / 2) {\n          diffs.splice(pointer, 0, createDiff(DIFF_EQUAL, deletion.substring(0, overlap_length2)));\n          diffs[pointer - 1][0] = DIFF_INSERT;\n          diffs[pointer - 1][1] = insertion.substring(0, insertion.length - overlap_length2);\n          diffs[pointer + 1][0] = DIFF_DELETE;\n          diffs[pointer + 1][1] = deletion.substring(overlap_length2);\n          pointer++;\n        }\n      }\n      pointer++;\n    }\n    pointer++;\n  }\n}\nconst nonAlphaNumericRegex_ = /[^a-z0-9]/i;\nconst whitespaceRegex_ = /\\s/;\nconst linebreakRegex_ = /[\\r\\n]/;\nconst blanklineEndRegex_ = /\\n\\r?\\n$/;\nconst blanklineStartRegex_ = /^\\r?\\n\\r?\\n/;\nfunction diffCleanupSemanticLossless(diffs) {\n  function diffCleanupSemanticScore(one, two) {\n    if (!one || !two) {\n      return 6;\n    }\n    const char1 = one.charAt(one.length - 1);\n    const char2 = two.charAt(0);\n    const nonAlphaNumeric1 = char1.match(nonAlphaNumericRegex_);\n    const nonAlphaNumeric2 = char2.match(nonAlphaNumericRegex_);\n    const whitespace1 = nonAlphaNumeric1 && char1.match(whitespaceRegex_);\n    const whitespace2 = nonAlphaNumeric2 && char2.match(whitespaceRegex_);\n    const lineBreak1 = whitespace1 && char1.match(linebreakRegex_);\n    const lineBreak2 = whitespace2 && char2.match(linebreakRegex_);\n    const blankLine1 = lineBreak1 && one.match(blanklineEndRegex_);\n    const blankLine2 = lineBreak2 && two.match(blanklineStartRegex_);\n    if (blankLine1 || blankLine2) {\n      return 5;\n    } else if (lineBreak1 || lineBreak2) {\n      return 4;\n    } else if (nonAlphaNumeric1 && !whitespace1 && whitespace2) {\n      return 3;\n    } else if (whitespace1 || whitespace2) {\n      return 2;\n    } else if (nonAlphaNumeric1 || nonAlphaNumeric2) {\n      return 1;\n    }\n    return 0;\n  }\n  let pointer = 1;\n  while (pointer < diffs.length - 1) {\n    if (diffs[pointer - 1][0] === DIFF_EQUAL && diffs[pointer + 1][0] === DIFF_EQUAL) {\n      let equality1 = diffs[pointer - 1][1];\n      let edit = diffs[pointer][1];\n      let equality2 = diffs[pointer + 1][1];\n      const commonOffset = diffCommonSuffix(equality1, edit);\n      if (commonOffset) {\n        const commonString = edit.substring(edit.length - commonOffset);\n        equality1 = equality1.substring(0, equality1.length - commonOffset);\n        edit = commonString + edit.substring(0, edit.length - commonOffset);\n        equality2 = commonString + equality2;\n      }\n      let bestEquality1 = equality1;\n      let bestEdit = edit;\n      let bestEquality2 = equality2;\n      let bestScore = diffCleanupSemanticScore(equality1, edit) + diffCleanupSemanticScore(edit, equality2);\n      while (edit.charAt(0) === equality2.charAt(0)) {\n        equality1 += edit.charAt(0);\n        edit = edit.substring(1) + equality2.charAt(0);\n        equality2 = equality2.substring(1);\n        const score = diffCleanupSemanticScore(equality1, edit) + diffCleanupSemanticScore(edit, equality2);\n        if (score >= bestScore) {\n          bestScore = score;\n          bestEquality1 = equality1;\n          bestEdit = edit;\n          bestEquality2 = equality2;\n        }\n      }\n      if (diffs[pointer - 1][1] !== bestEquality1) {\n        if (bestEquality1) {\n          diffs[pointer - 1][1] = bestEquality1;\n        } else {\n          diffs.splice(pointer - 1, 1);\n          pointer--;\n        }\n        diffs[pointer][1] = bestEdit;\n        if (bestEquality2) {\n          diffs[pointer + 1][1] = bestEquality2;\n        } else {\n          diffs.splice(pointer + 1, 1);\n          pointer--;\n        }\n      }\n    }\n    pointer++;\n  }\n}\nfunction diffCleanupEfficiency(diffs, options = {}) {\n  const {\n    diffEditCost = defaultOptions.diffEditCost\n  } = options;\n  let changes = false;\n  const equalities = [];\n  let equalitiesLength = 0;\n  let lastEquality = null;\n  let pointer = 0;\n  let pre_ins = false;\n  let pre_del = false;\n  let post_ins = false;\n  let post_del = false;\n  while (pointer < diffs.length) {\n    if (diffs[pointer][0] === DIFF_EQUAL) {\n      if (diffs[pointer][1].length < diffEditCost && (post_ins || post_del)) {\n        equalities[equalitiesLength++] = pointer;\n        pre_ins = post_ins;\n        pre_del = post_del;\n        lastEquality = diffs[pointer][1];\n      } else {\n        equalitiesLength = 0;\n        lastEquality = null;\n      }\n      post_ins = post_del = false;\n    } else {\n      let booleanCount = function(...args) {\n        return args.filter(Boolean).length;\n      };\n      if (diffs[pointer][0] === DIFF_DELETE)\n        post_del = true;\n      else\n        post_ins = true;\n      if (lastEquality && (pre_ins && pre_del && post_ins && post_del || lastEquality.length < diffEditCost / 2 && booleanCount(pre_ins, pre_del, post_ins, post_del) === 3)) {\n        diffs.splice(equalities[equalitiesLength - 1], 0, createDiff(DIFF_DELETE, lastEquality));\n        diffs[equalities[equalitiesLength - 1] + 1][0] = DIFF_INSERT;\n        equalitiesLength--;\n        lastEquality = null;\n        if (pre_ins && pre_del) {\n          post_ins = post_del = true;\n          equalitiesLength = 0;\n        } else {\n          equalitiesLength--;\n          pointer = equalitiesLength > 0 ? equalities[equalitiesLength - 1] : -1;\n          post_ins = post_del = false;\n        }\n        changes = true;\n      }\n    }\n    pointer++;\n  }\n  if (changes)\n    diffCleanupMerge(diffs);\n}\nfunction diffCleanupMerge(diffs) {\n  diffs.push(createDiff(DIFF_EQUAL, \"\"));\n  let pointer = 0;\n  let count_delete = 0;\n  let count_insert = 0;\n  let text_delete = \"\";\n  let text_insert = \"\";\n  let commonlength;\n  while (pointer < diffs.length) {\n    switch (diffs[pointer][0]) {\n      case DIFF_INSERT:\n        count_insert++;\n        text_insert += diffs[pointer][1];\n        pointer++;\n        break;\n      case DIFF_DELETE:\n        count_delete++;\n        text_delete += diffs[pointer][1];\n        pointer++;\n        break;\n      case DIFF_EQUAL:\n        if (count_delete + count_insert > 1) {\n          if (count_delete !== 0 && count_insert !== 0) {\n            commonlength = diffCommonPrefix(text_insert, text_delete);\n            if (commonlength !== 0) {\n              if (pointer - count_delete - count_insert > 0 && diffs[pointer - count_delete - count_insert - 1][0] === DIFF_EQUAL) {\n                diffs[pointer - count_delete - count_insert - 1][1] += text_insert.substring(0, commonlength);\n              } else {\n                diffs.splice(0, 0, createDiff(DIFF_EQUAL, text_insert.substring(0, commonlength)));\n                pointer++;\n              }\n              text_insert = text_insert.substring(commonlength);\n              text_delete = text_delete.substring(commonlength);\n            }\n            commonlength = diffCommonSuffix(text_insert, text_delete);\n            if (commonlength !== 0) {\n              diffs[pointer][1] = text_insert.substring(text_insert.length - commonlength) + diffs[pointer][1];\n              text_insert = text_insert.substring(0, text_insert.length - commonlength);\n              text_delete = text_delete.substring(0, text_delete.length - commonlength);\n            }\n          }\n          pointer -= count_delete + count_insert;\n          diffs.splice(pointer, count_delete + count_insert);\n          if (text_delete.length) {\n            diffs.splice(pointer, 0, createDiff(DIFF_DELETE, text_delete));\n            pointer++;\n          }\n          if (text_insert.length) {\n            diffs.splice(pointer, 0, createDiff(DIFF_INSERT, text_insert));\n            pointer++;\n          }\n          pointer++;\n        } else if (pointer !== 0 && diffs[pointer - 1][0] === DIFF_EQUAL) {\n          diffs[pointer - 1][1] += diffs[pointer][1];\n          diffs.splice(pointer, 1);\n        } else {\n          pointer++;\n        }\n        count_insert = 0;\n        count_delete = 0;\n        text_delete = \"\";\n        text_insert = \"\";\n        break;\n    }\n  }\n  if (diffs[diffs.length - 1][1] === \"\")\n    diffs.pop();\n  let changes = false;\n  pointer = 1;\n  while (pointer < diffs.length - 1) {\n    if (diffs[pointer - 1][0] === DIFF_EQUAL && diffs[pointer + 1][0] === DIFF_EQUAL) {\n      if (diffs[pointer][1].substring(diffs[pointer][1].length - diffs[pointer - 1][1].length) === diffs[pointer - 1][1]) {\n        diffs[pointer][1] = diffs[pointer - 1][1] + diffs[pointer][1].substring(0, diffs[pointer][1].length - diffs[pointer - 1][1].length);\n        diffs[pointer + 1][1] = diffs[pointer - 1][1] + diffs[pointer + 1][1];\n        diffs.splice(pointer - 1, 1);\n        changes = true;\n      } else if (diffs[pointer][1].substring(0, diffs[pointer + 1][1].length) === diffs[pointer + 1][1]) {\n        diffs[pointer - 1][1] += diffs[pointer + 1][1];\n        diffs[pointer][1] = diffs[pointer][1].substring(diffs[pointer + 1][1].length) + diffs[pointer + 1][1];\n        diffs.splice(pointer + 1, 1);\n        changes = true;\n      }\n    }\n    pointer++;\n  }\n  if (changes)\n    diffCleanupMerge(diffs);\n}\nfunction diffXIndex(diffs, loc) {\n  let chars1 = 0;\n  let chars2 = 0;\n  let last_chars1 = 0;\n  let last_chars2 = 0;\n  let x;\n  for (x = 0; x < diffs.length; x++) {\n    if (diffs[x][0] !== DIFF_INSERT) {\n      chars1 += diffs[x][1].length;\n    }\n    if (diffs[x][0] !== DIFF_DELETE) {\n      chars2 += diffs[x][1].length;\n    }\n    if (chars1 > loc) {\n      break;\n    }\n    last_chars1 = chars1;\n    last_chars2 = chars2;\n  }\n  if (diffs.length !== x && diffs[x][0] === DIFF_DELETE)\n    return last_chars2;\n  return last_chars2 + (loc - last_chars1);\n}\nfunction diffPrettyHtml(diffs) {\n  const html = [];\n  const pattern_amp = /&/g;\n  const pattern_lt = /</g;\n  const pattern_gt = />/g;\n  const pattern_para = /\\n/g;\n  for (let x = 0; x < diffs.length; x++) {\n    const op = diffs[x][0];\n    const data = diffs[x][1];\n    const text = data.replace(pattern_amp, \"&amp;\").replace(pattern_lt, \"&lt;\").replace(pattern_gt, \"&gt;\").replace(pattern_para, \"&para;<br>\");\n    switch (op) {\n      case DIFF_INSERT:\n        html[x] = `<ins style=\"background:#e6ffe6;\">${text}</ins>`;\n        break;\n      case DIFF_DELETE:\n        html[x] = `<del style=\"background:#ffe6e6;\">${text}</del>`;\n        break;\n      case DIFF_EQUAL:\n        html[x] = `<span>${text}</span>`;\n        break;\n    }\n  }\n  return html.join(\"\");\n}\nfunction diffText1(diffs) {\n  const text = [];\n  for (let x = 0; x < diffs.length; x++) {\n    if (diffs[x][0] !== DIFF_INSERT)\n      text[x] = diffs[x][1];\n  }\n  return text.join(\"\");\n}\nfunction diffText2(diffs) {\n  const text = [];\n  for (let x = 0; x < diffs.length; x++) {\n    if (diffs[x][0] !== DIFF_DELETE)\n      text[x] = diffs[x][1];\n  }\n  return text.join(\"\");\n}\nfunction diffLevenshtein(diffs) {\n  let levenshtein = 0;\n  let insertions = 0;\n  let deletions = 0;\n  for (let x = 0; x < diffs.length; x++) {\n    const op = diffs[x][0];\n    const data = diffs[x][1];\n    switch (op) {\n      case DIFF_INSERT:\n        insertions += data.length;\n        break;\n      case DIFF_DELETE:\n        deletions += data.length;\n        break;\n      case DIFF_EQUAL:\n        levenshtein += Math.max(insertions, deletions);\n        insertions = 0;\n        deletions = 0;\n        break;\n    }\n  }\n  levenshtein += Math.max(insertions, deletions);\n  return levenshtein;\n}\nfunction diffToDelta(diffs) {\n  const text = [];\n  for (let x = 0; x < diffs.length; x++) {\n    switch (diffs[x][0]) {\n      case DIFF_INSERT:\n        text[x] = `+${encodeURI(diffs[x][1])}`;\n        break;\n      case DIFF_DELETE:\n        text[x] = `-${diffs[x][1].length}`;\n        break;\n      case DIFF_EQUAL:\n        text[x] = `=${diffs[x][1].length}`;\n        break;\n    }\n  }\n  return text.join(\"\t\").replace(/%20/g, \" \");\n}\nfunction diffFromDelta(text1, delta) {\n  const diffs = [];\n  let diffsLength = 0;\n  let pointer = 0;\n  const tokens = delta.split(/\\t/g);\n  for (let x = 0; x < tokens.length; x++) {\n    const param = tokens[x].substring(1);\n    switch (tokens[x].charAt(0)) {\n      case \"+\":\n        try {\n          diffs[diffsLength++] = createDiff(DIFF_INSERT, decodeURI(param));\n        } catch (e) {\n          throw new Error(`Illegal escape in diff_fromDelta: ${param}`);\n        }\n        break;\n      case \"-\":\n      // Fall through.\n      case \"=\": {\n        const n = Number.parseInt(param, 10);\n        if (Number.isNaN(n) || n < 0)\n          throw new Error(`Invalid number in diff_fromDelta: ${param}`);\n        const text = text1.substring(pointer, pointer += n);\n        if (tokens[x].charAt(0) === \"=\")\n          diffs[diffsLength++] = createDiff(DIFF_EQUAL, text);\n        else\n          diffs[diffsLength++] = createDiff(DIFF_DELETE, text);\n        break;\n      }\n      default:\n        if (tokens[x])\n          throw new Error(`Invalid diff operation in diff_fromDelta: ${tokens[x]}`);\n    }\n  }\n  if (pointer !== text1.length)\n    throw new Error(`Delta length (${pointer}) does not equal source text length (${text1.length}).`);\n  return diffs;\n}\n\nfunction matchMain(text, pattern, loc, options) {\n  if (text == null || pattern == null || loc == null)\n    throw new Error(\"Null input. (match_main)\");\n  loc = Math.max(0, Math.min(loc, text.length));\n  if (text === pattern) {\n    return 0;\n  } else if (!text.length) {\n    return -1;\n  } else if (text.substring(loc, loc + pattern.length) === pattern) {\n    return loc;\n  } else {\n    return matchBitap(text, pattern, loc, options);\n  }\n}\nfunction matchBitap(text, pattern, loc, options) {\n  const resolved = resolveOptions(options);\n  if (pattern.length > resolved.matchMaxBits)\n    throw new Error(\"Pattern too long for this browser.\");\n  const s = matchAlphabet(pattern);\n  function matchBitapScore(e, x) {\n    const accuracy = e / pattern.length;\n    const proximity = Math.abs(loc - x);\n    if (!resolved.matchDistance) {\n      return proximity ? 1 : accuracy;\n    }\n    return accuracy + proximity / resolved.matchDistance;\n  }\n  let score_threshold = resolved.matchThreshold;\n  let best_loc = text.indexOf(pattern, loc);\n  if (best_loc !== -1) {\n    score_threshold = Math.min(matchBitapScore(0, best_loc), score_threshold);\n    best_loc = text.lastIndexOf(pattern, loc + pattern.length);\n    if (best_loc !== -1)\n      score_threshold = Math.min(matchBitapScore(0, best_loc), score_threshold);\n  }\n  const matchmask = 1 << pattern.length - 1;\n  best_loc = -1;\n  let bin_min, bin_mid;\n  let bin_max = pattern.length + text.length;\n  let last_rd = [];\n  for (let d = 0; d < pattern.length; d++) {\n    bin_min = 0;\n    bin_mid = bin_max;\n    while (bin_min < bin_mid) {\n      if (matchBitapScore(d, loc + bin_mid) <= score_threshold)\n        bin_min = bin_mid;\n      else\n        bin_max = bin_mid;\n      bin_mid = Math.floor((bin_max - bin_min) / 2 + bin_min);\n    }\n    bin_max = bin_mid;\n    let start = Math.max(1, loc - bin_mid + 1);\n    const finish = Math.min(loc + bin_mid, text.length) + pattern.length;\n    const rd = new Array(finish + 2);\n    rd[finish + 1] = (1 << d) - 1;\n    for (let j = finish; j >= start; j--) {\n      const charMatch = s[text.charAt(j - 1)];\n      if (d === 0) {\n        rd[j] = (rd[j + 1] << 1 | 1) & charMatch;\n      } else {\n        rd[j] = (rd[j + 1] << 1 | 1) & charMatch | ((last_rd[j + 1] | last_rd[j]) << 1 | 1) | last_rd[j + 1];\n      }\n      if (rd[j] & matchmask) {\n        const score = matchBitapScore(d, j - 1);\n        if (score <= score_threshold) {\n          score_threshold = score;\n          best_loc = j - 1;\n          if (best_loc > loc) {\n            start = Math.max(1, 2 * loc - best_loc);\n          } else {\n            break;\n          }\n        }\n      }\n    }\n    if (matchBitapScore(d + 1, loc) > score_threshold)\n      break;\n    last_rd = rd;\n  }\n  return best_loc;\n}\nfunction matchAlphabet(pattern) {\n  const s = {};\n  for (let i = 0; i < pattern.length; i++)\n    s[pattern.charAt(i)] = 0;\n  for (let i = 0; i < pattern.length; i++)\n    s[pattern.charAt(i)] |= 1 << pattern.length - i - 1;\n  return s;\n}\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n  for (var prop in b || (b = {}))\n    if (__hasOwnProp.call(b, prop))\n      __defNormalProp(a, prop, b[prop]);\n  if (__getOwnPropSymbols)\n    for (var prop of __getOwnPropSymbols(b)) {\n      if (__propIsEnum.call(b, prop))\n        __defNormalProp(a, prop, b[prop]);\n    }\n  return a;\n};\nfunction patchAddContext(patch, text, options) {\n  if (text.length === 0)\n    return;\n  if (patch.start2 === null)\n    throw new Error(\"patch not initialized\");\n  const {\n    matchMaxBits = defaultOptions.matchMaxBits,\n    patchMargin = defaultOptions.patchMargin\n  } = options;\n  let pattern = text.substring(patch.start2, patch.start2 + patch.length1);\n  let padding = 0;\n  while (text.indexOf(pattern) !== text.lastIndexOf(pattern) && pattern.length < matchMaxBits - patchMargin - patchMargin) {\n    padding += patchMargin;\n    pattern = text.substring(patch.start2 - padding, patch.start2 + patch.length1 + padding);\n  }\n  padding += patchMargin;\n  const prefix = text.substring(patch.start2 - padding, patch.start2);\n  if (prefix)\n    patch.diffs.unshift(createDiff(DIFF_EQUAL, prefix));\n  const suffix = text.substring(patch.start2 + patch.length1, patch.start2 + patch.length1 + padding);\n  if (suffix)\n    patch.diffs.push(createDiff(DIFF_EQUAL, suffix));\n  patch.start1 -= prefix.length;\n  patch.start2 -= prefix.length;\n  patch.length1 += prefix.length + suffix.length;\n  patch.length2 += prefix.length + suffix.length;\n}\nfunction patchMake(a, opt_b, opt_c, options = {}) {\n  const resolved = __spreadValues(__spreadValues({}, defaultOptions), options);\n  let text1, diffs;\n  if (typeof a == \"string\" && typeof opt_b == \"string\" && typeof opt_c == \"undefined\") {\n    text1 = a;\n    diffs = diffMain(text1, opt_b, resolved, true);\n    if (diffs.length > 2) {\n      diffCleanupSemantic(diffs);\n      diffCleanupEfficiency(diffs);\n    }\n  } else if (a && typeof a == \"object\" && typeof opt_b == \"undefined\" && typeof opt_c == \"undefined\") {\n    diffs = /** @type {Diff[]} */\n    a;\n    text1 = diffText1(diffs);\n  } else if (typeof a == \"string\" && opt_b && typeof opt_b == \"object\" && typeof opt_c == \"undefined\") {\n    text1 = /** @type {string} */\n    a;\n    diffs = /** @type {Diff[]} */\n    opt_b;\n  } else if (typeof a == \"string\" && typeof opt_b == \"string\" && opt_c && typeof opt_c == \"object\") {\n    text1 = /** @type {string} */\n    a;\n    diffs = /** @type {Diff[]} */\n    opt_c;\n  } else {\n    throw new Error(\"Unknown call format to patch_make.\");\n  }\n  if (diffs.length === 0)\n    return [];\n  const patches = [];\n  let patch = createPatch();\n  let patchDiffLength = 0;\n  let char_count1 = 0;\n  let char_count2 = 0;\n  let prepatch_text = text1;\n  let postpatch_text = text1;\n  for (let x = 0; x < diffs.length; x++) {\n    const diff_type = diffs[x][0];\n    const diff_text = diffs[x][1];\n    if (!patchDiffLength && diff_type !== DIFF_EQUAL) {\n      patch.start1 = char_count1;\n      patch.start2 = char_count2;\n    }\n    switch (diff_type) {\n      case DIFF_INSERT:\n        patch.diffs[patchDiffLength++] = diffs[x];\n        patch.length2 += diff_text.length;\n        postpatch_text = postpatch_text.substring(0, char_count2) + diff_text + postpatch_text.substring(char_count2);\n        break;\n      case DIFF_DELETE:\n        patch.length1 += diff_text.length;\n        patch.diffs[patchDiffLength++] = diffs[x];\n        postpatch_text = postpatch_text.substring(0, char_count2) + postpatch_text.substring(char_count2 + diff_text.length);\n        break;\n      case DIFF_EQUAL:\n        if (diff_text.length <= 2 * resolved.patchMargin && patchDiffLength && diffs.length !== x + 1) {\n          patch.diffs[patchDiffLength++] = diffs[x];\n          patch.length1 += diff_text.length;\n          patch.length2 += diff_text.length;\n        } else if (diff_text.length >= 2 * resolved.patchMargin) {\n          if (patchDiffLength) {\n            patchAddContext(patch, prepatch_text, resolved);\n            patches.push(patch);\n            patch = createPatch();\n            patchDiffLength = 0;\n            prepatch_text = postpatch_text;\n            char_count1 = char_count2;\n          }\n        }\n        break;\n    }\n    if (diff_type !== DIFF_INSERT)\n      char_count1 += diff_text.length;\n    if (diff_type !== DIFF_DELETE)\n      char_count2 += diff_text.length;\n  }\n  if (patchDiffLength) {\n    patchAddContext(patch, prepatch_text, resolved);\n    patches.push(patch);\n  }\n  return patches;\n}\nfunction patchDeepCopy(patches) {\n  const patchesCopy = [];\n  for (let x = 0; x < patches.length; x++) {\n    const patch = patches[x];\n    const patchCopy = createPatch();\n    patchCopy.diffs = [];\n    for (let y = 0; y < patch.diffs.length; y++) {\n      patchCopy.diffs[y] = createDiff(patch.diffs[y][0], patch.diffs[y][1]);\n    }\n    patchCopy.start1 = patch.start1;\n    patchCopy.start2 = patch.start2;\n    patchCopy.length1 = patch.length1;\n    patchCopy.length2 = patch.length2;\n    patchesCopy[x] = patchCopy;\n  }\n  return patchesCopy;\n}\nfunction patchApply(patches, text, options) {\n  if (patches.length === 0)\n    return [text, []];\n  patches = patchDeepCopy(patches);\n  const resolved = resolveOptions(options);\n  const nullPadding = patchAddPadding(patches, resolved);\n  text = nullPadding + text + nullPadding;\n  patchSplitMax(patches, resolved);\n  let delta = 0;\n  const results = [];\n  for (let x = 0; x < patches.length; x++) {\n    const expected_loc = patches[x].start2 + delta;\n    const text1 = diffText1(patches[x].diffs);\n    let start_loc;\n    let end_loc = -1;\n    if (text1.length > resolved.matchMaxBits) {\n      start_loc = matchMain(\n        text,\n        text1.substring(0, resolved.matchMaxBits),\n        expected_loc,\n        options\n      );\n      if (start_loc !== -1) {\n        end_loc = matchMain(\n          text,\n          text1.substring(text1.length - resolved.matchMaxBits),\n          expected_loc + text1.length - resolved.matchMaxBits,\n          options\n        );\n        if (end_loc === -1 || start_loc >= end_loc) {\n          start_loc = -1;\n        }\n      }\n    } else {\n      start_loc = matchMain(text, text1, expected_loc, options);\n    }\n    if (start_loc === -1) {\n      results[x] = false;\n      delta -= patches[x].length2 - patches[x].length1;\n    } else {\n      results[x] = true;\n      delta = start_loc - expected_loc;\n      let text2;\n      if (end_loc === -1)\n        text2 = text.substring(start_loc, start_loc + text1.length);\n      else\n        text2 = text.substring(start_loc, end_loc + resolved.matchMaxBits);\n      if (text1 === text2) {\n        text = text.substring(0, start_loc) + diffText2(patches[x].diffs) + text.substring(start_loc + text1.length);\n      } else {\n        const diffs = diffMain(text1, text2, options, false);\n        if (text1.length > resolved.matchMaxBits && diffLevenshtein(diffs) / text1.length > resolved.patchDeleteThreshold) {\n          results[x] = false;\n        } else {\n          diffCleanupSemanticLossless(diffs);\n          let index1 = 0;\n          let index2 = 0;\n          for (let y = 0; y < patches[x].diffs.length; y++) {\n            const mod = patches[x].diffs[y];\n            if (mod[0] !== DIFF_EQUAL)\n              index2 = diffXIndex(diffs, index1);\n            if (mod[0] === DIFF_INSERT) {\n              text = text.substring(0, start_loc + index2) + mod[1] + text.substring(start_loc + index2);\n            } else if (mod[0] === DIFF_DELETE) {\n              text = text.substring(0, start_loc + index2) + text.substring(start_loc + diffXIndex(diffs, index1 + mod[1].length));\n            }\n            if (mod[0] !== DIFF_DELETE)\n              index1 += mod[1].length;\n          }\n        }\n      }\n    }\n  }\n  text = text.substring(nullPadding.length, text.length - nullPadding.length);\n  return [text, results];\n}\nfunction patchAddPadding(patches, options = {}) {\n  const {\n    patchMargin: paddingLength = defaultOptions.patchMargin\n  } = options;\n  let nullPadding = \"\";\n  for (let x = 1; x <= paddingLength; x++)\n    nullPadding += String.fromCharCode(x);\n  for (let x = 0; x < patches.length; x++) {\n    patches[x].start1 += paddingLength;\n    patches[x].start2 += paddingLength;\n  }\n  let patch = patches[0];\n  let diffs = patch.diffs;\n  if (diffs.length === 0 || diffs[0][0] !== DIFF_EQUAL) {\n    diffs.unshift(createDiff(DIFF_EQUAL, nullPadding));\n    patch.start1 -= paddingLength;\n    patch.start2 -= paddingLength;\n    patch.length1 += paddingLength;\n    patch.length2 += paddingLength;\n  } else if (paddingLength > diffs[0][1].length) {\n    const extraLength = paddingLength - diffs[0][1].length;\n    diffs[0][1] = nullPadding.substring(diffs[0][1].length) + diffs[0][1];\n    patch.start1 -= extraLength;\n    patch.start2 -= extraLength;\n    patch.length1 += extraLength;\n    patch.length2 += extraLength;\n  }\n  patch = patches[patches.length - 1];\n  diffs = patch.diffs;\n  if (diffs.length === 0 || diffs[diffs.length - 1][0] !== DIFF_EQUAL) {\n    diffs.push(createDiff(DIFF_EQUAL, nullPadding));\n    patch.length1 += paddingLength;\n    patch.length2 += paddingLength;\n  } else if (paddingLength > diffs[diffs.length - 1][1].length) {\n    const extraLength = paddingLength - diffs[diffs.length - 1][1].length;\n    diffs[diffs.length - 1][1] += nullPadding.substring(0, extraLength);\n    patch.length1 += extraLength;\n    patch.length2 += extraLength;\n  }\n  return nullPadding;\n}\nfunction patchSplitMax(patches, options) {\n  const resolved = resolveOptions(options);\n  for (let x = 0; x < patches.length; x++) {\n    if (patches[x].length1 <= resolved.matchMaxBits)\n      continue;\n    const bigpatch = patches[x];\n    patches.splice(x--, 1);\n    let start1 = bigpatch.start1;\n    let start2 = bigpatch.start2;\n    let precontext = \"\";\n    while (bigpatch.diffs.length !== 0) {\n      const patch = createPatch();\n      let empty = true;\n      patch.start1 = start1 - precontext.length;\n      patch.start2 = start2 - precontext.length;\n      if (precontext !== \"\") {\n        patch.length1 = patch.length2 = precontext.length;\n        patch.diffs.push(createDiff(DIFF_EQUAL, precontext));\n      }\n      while (bigpatch.diffs.length !== 0 && patch.length1 < resolved.matchMaxBits - resolved.patchMargin) {\n        const diff_type = bigpatch.diffs[0][0];\n        let diff_text = bigpatch.diffs[0][1];\n        if (diff_type === DIFF_INSERT) {\n          patch.length2 += diff_text.length;\n          start2 += diff_text.length;\n          patch.diffs.push(bigpatch.diffs.shift());\n          empty = false;\n        } else if (diff_type === DIFF_DELETE && patch.diffs.length === 1 && patch.diffs[0][0] === DIFF_EQUAL && diff_text.length > 2 * resolved.matchMaxBits) {\n          patch.length1 += diff_text.length;\n          start1 += diff_text.length;\n          empty = false;\n          patch.diffs.push(createDiff(diff_type, diff_text));\n          bigpatch.diffs.shift();\n        } else {\n          diff_text = diff_text.substring(0, resolved.matchMaxBits - patch.length1 - resolved.patchMargin);\n          patch.length1 += diff_text.length;\n          start1 += diff_text.length;\n          if (diff_type === DIFF_EQUAL) {\n            patch.length2 += diff_text.length;\n            start2 += diff_text.length;\n          } else {\n            empty = false;\n          }\n          patch.diffs.push(createDiff(diff_type, diff_text));\n          if (diff_text === bigpatch.diffs[0][1]) {\n            bigpatch.diffs.shift();\n          } else {\n            bigpatch.diffs[0][1] = bigpatch.diffs[0][1].substring(diff_text.length);\n          }\n        }\n      }\n      precontext = diffText2(patch.diffs);\n      precontext = precontext.substring(precontext.length - resolved.patchMargin);\n      const postcontext = diffText1(bigpatch.diffs).substring(0, resolved.patchMargin);\n      if (postcontext !== \"\") {\n        patch.length1 += postcontext.length;\n        patch.length2 += postcontext.length;\n        if (patch.diffs.length !== 0 && patch.diffs[patch.diffs.length - 1][0] === DIFF_EQUAL) {\n          patch.diffs[patch.diffs.length - 1][1] += postcontext;\n        } else {\n          patch.diffs.push(createDiff(DIFF_EQUAL, postcontext));\n        }\n      }\n      if (!empty)\n        patches.splice(++x, 0, patch);\n    }\n  }\n}\nfunction patchToText(patches) {\n  const text = [];\n  for (let x = 0; x < patches.length; x++)\n    text[x] = patches[x];\n  return text.join(\"\");\n}\nfunction patchFromText(textline) {\n  const patches = [];\n  if (!textline)\n    return patches;\n  const text = textline.split(\"\\n\");\n  let textPointer = 0;\n  const patchHeader = /^@@ -(\\d+),?(\\d*) \\+(\\d+),?(\\d*) @@$/;\n  while (textPointer < text.length) {\n    const m = text[textPointer].match(patchHeader);\n    if (!m)\n      throw new Error(`Invalid patch string: ${text[textPointer]}`);\n    const patch = createPatch();\n    patches.push(patch);\n    patch.start1 = Number.parseInt(m[1], 10);\n    if (m[2] === \"\") {\n      patch.start1--;\n      patch.length1 = 1;\n    } else if (m[2] === \"0\") {\n      patch.length1 = 0;\n    } else {\n      patch.start1--;\n      patch.length1 = Number.parseInt(m[2], 10);\n    }\n    patch.start2 = Number.parseInt(m[3], 10);\n    if (m[4] === \"\") {\n      patch.start2--;\n      patch.length2 = 1;\n    } else if (m[4] === \"0\") {\n      patch.length2 = 0;\n    } else {\n      patch.start2--;\n      patch.length2 = Number.parseInt(m[4], 10);\n    }\n    textPointer++;\n    while (textPointer < text.length) {\n      const sign = text[textPointer].charAt(0);\n      let line = \"\";\n      try {\n        line = decodeURI(text[textPointer].substring(1));\n      } catch (e) {\n        throw new Error(`Illegal escape in patch_fromText: ${line}`);\n      }\n      if (sign === \"-\") {\n        patch.diffs.push(createDiff(DIFF_DELETE, line));\n      } else if (sign === \"+\") {\n        patch.diffs.push(createDiff(DIFF_INSERT, line));\n      } else if (sign === \" \") {\n        patch.diffs.push(createDiff(DIFF_EQUAL, line));\n      } else if (sign === \"@\") {\n        break;\n      } else if (sign === \"\") ; else {\n        throw new Error(`Invalid patch mode \"${sign}\" in: ${line}`);\n      }\n      textPointer++;\n    }\n  }\n  return patches;\n}\nfunction createPatch() {\n  const patch = {\n    diffs: [],\n    start1: null,\n    start2: null,\n    length1: 0,\n    length2: 0\n  };\n  patch.toString = function() {\n    let coords1, coords2;\n    if (this.length1 === 0)\n      coords1 = `${this.start1},0`;\n    else if (this.length1 === 1)\n      coords1 = this.start1 + 1;\n    else\n      coords1 = `${this.start1 + 1},${this.length1}`;\n    if (this.length2 === 0)\n      coords2 = `${this.start2},0`;\n    else if (this.length2 === 1)\n      coords2 = this.start2 + 1;\n    else\n      coords2 = `${this.start2 + 1},${this.length2}`;\n    const text = [`@@ -${coords1} +${coords2} @@\n`];\n    let op;\n    for (let x = 0; x < this.diffs.length; x++) {\n      switch (this.diffs[x][0]) {\n        case DIFF_INSERT:\n          op = \"+\";\n          break;\n        case DIFF_DELETE:\n          op = \"-\";\n          break;\n        case DIFF_EQUAL:\n          op = \" \";\n          break;\n      }\n      text[x + 1] = `${op + encodeURI(this.diffs[x][1])}\n`;\n    }\n    return text.join(\"\").replace(/%20/g, \" \");\n  };\n  return patch;\n}\n\nexports.DIFF_DELETE = DIFF_DELETE;\nexports.DIFF_EQUAL = DIFF_EQUAL;\nexports.DIFF_INSERT = DIFF_INSERT;\nexports.defaultOptions = defaultOptions;\nexports.diff = diffMain;\nexports.diffCharsToLines = diffCharsToLines;\nexports.diffCleanupEfficiency = diffCleanupEfficiency;\nexports.diffCleanupMerge = diffCleanupMerge;\nexports.diffCleanupSemantic = diffCleanupSemantic;\nexports.diffCleanupSemanticLossless = diffCleanupSemanticLossless;\nexports.diffCommonPrefix = diffCommonPrefix;\nexports.diffCommonSuffix = diffCommonSuffix;\nexports.diffFromDelta = diffFromDelta;\nexports.diffLevenshtein = diffLevenshtein;\nexports.diffLinesToChars = diffLinesToChars;\nexports.diffMain = diffMain;\nexports.diffPrettyHtml = diffPrettyHtml;\nexports.diffText1 = diffText1;\nexports.diffText2 = diffText2;\nexports.diffToDelta = diffToDelta;\nexports.diffXIndex = diffXIndex;\nexports.match = matchMain;\nexports.matchAlphabet = matchAlphabet;\nexports.matchBitap = matchBitap;\nexports.matchMain = matchMain;\nexports.patch = patchMake;\nexports.patchAddPadding = patchAddPadding;\nexports.patchApply = patchApply;\nexports.patchDeepCopy = patchDeepCopy;\nexports.patchFromText = patchFromText;\nexports.patchMake = patchMake;\nexports.patchSplitMax = patchSplitMax;\nexports.patchToText = patchToText;\nexports.resolveOptions = resolveOptions;\n"
  },
  {
    "path": "core/modules/utils/diff-match-patch/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": [\n\t\t{\n\t\t\t\"file\": \"diff_match_patch.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/core/modules/utils/diff-match-patch/diff_match_patch.js\",\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t},\n\t\t\t\"prefix\": \"(function(){\",\n\t\t\t\"suffix\": \"}).call(exports);\"\n\t\t}\n\t]\n}\n"
  },
  {
    "path": "core/modules/utils/dom/animations/slide.js",
    "content": "/*\\\ntitle: $:/core/modules/utils/dom/animations/slide.js\ntype: application/javascript\nmodule-type: animation\n\nA simple slide animation that varies the height of the element\n\n\\*/\n\n\"use strict\";\n\nfunction slideOpen(domNode,options) {\n\toptions = options || {};\n\tvar duration = options.duration || $tw.utils.getAnimationDuration();\n\t// Get the current height of the domNode\n\tvar computedStyle = window.getComputedStyle(domNode),\n\t\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\n\t\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\n\t\tcurrPaddingBottom = parseInt(computedStyle.paddingBottom,10),\n\t\tcurrPaddingTop = parseInt(computedStyle.paddingTop,10),\n\t\tcurrHeight = domNode.offsetHeight;\n\t// Reset the margin once the transition is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(domNode,[\n\t\t\t{transition: \"none\"},\n\t\t\t{marginBottom: \"\"},\n\t\t\t{marginTop: \"\"},\n\t\t\t{paddingBottom: \"\"},\n\t\t\t{paddingTop: \"\"},\n\t\t\t{height: \"auto\"},\n\t\t\t{opacity: \"\"}\n\t\t]);\n\t\tif(options.callback) {\n\t\t\toptions.callback();\n\t\t}\n\t},duration);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(domNode,[\n\t\t{transition: \"none\"},\n\t\t{marginTop: \"0px\"},\n\t\t{marginBottom: \"0px\"},\n\t\t{paddingTop: \"0px\"},\n\t\t{paddingBottom: \"0px\"},\n\t\t{height: \"0px\"},\n\t\t{opacity: \"0\"}\n\t]);\n\t$tw.utils.forceLayout(domNode);\n\t// Transition to the final position\n\t$tw.utils.setStyle(domNode,[\n\t\t{transition: \"margin-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"margin-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"height \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{marginBottom: currMarginBottom + \"px\"},\n\t\t{marginTop: currMarginTop + \"px\"},\n\t\t{paddingBottom: currPaddingBottom + \"px\"},\n\t\t{paddingTop: currPaddingTop + \"px\"},\n\t\t{height: currHeight + \"px\"},\n\t\t{opacity: \"1\"}\n\t]);\n}\n\nfunction slideClosed(domNode,options) {\n\toptions = options || {};\n\tvar duration = options.duration || $tw.utils.getAnimationDuration(),\n\t\tcurrHeight = domNode.offsetHeight;\n\t// Clear the properties we've set when the animation is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(domNode,[\n\t\t\t{transition: \"none\"},\n\t\t\t{marginBottom: \"\"},\n\t\t\t{marginTop: \"\"},\n\t\t\t{paddingBottom: \"\"},\n\t\t\t{paddingTop: \"\"},\n\t\t\t{height: \"auto\"},\n\t\t\t{opacity: \"\"}\n\t\t]);\n\t\tif(options.callback) {\n\t\t\toptions.callback();\n\t\t}\n\t},duration);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(domNode,[\n\t\t{height: currHeight + \"px\"},\n\t\t{opacity: \"1\"}\n\t]);\n\t$tw.utils.forceLayout(domNode);\n\t// Transition to the final position\n\t$tw.utils.setStyle(domNode,[\n\t\t{transition: \"margin-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"margin-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"height \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{marginTop: \"0px\"},\n\t\t{marginBottom: \"0px\"},\n\t\t{paddingTop: \"0px\"},\n\t\t{paddingBottom: \"0px\"},\n\t\t{height: \"0px\"},\n\t\t{opacity: \"0\"}\n\t]);\n}\n\nexports.slide = {\n\topen: slideOpen,\n\tclose: slideClosed\n};\n"
  },
  {
    "path": "core/modules/utils/dom/animator.js",
    "content": "/*\\\ntitle: $:/core/modules/utils/dom/animator.js\ntype: application/javascript\nmodule-type: utils\n\nOrchestrates animations and transitions\n\n\\*/\n\n\"use strict\";\n\nfunction Animator() {\n\t// Get the registered animation modules\n\tthis.animations = {};\n\t$tw.modules.applyMethods(\"animation\",this.animations);\n}\n\nAnimator.prototype.perform = function(type,domNode,options) {\n\toptions = options || {};\n\t// Find an animation that can handle this type\n\tvar chosenAnimation;\n\t$tw.utils.each(this.animations,function(animation,name) {\n\t\tif($tw.utils.hop(animation,type)) {\n\t\t\tchosenAnimation = animation[type];\n\t\t}\n\t});\n\tif(!chosenAnimation) {\n\t\tchosenAnimation = function(domNode,options) {\n\t\t\tif(options.callback) {\n\t\t\t\toptions.callback();\n\t\t\t}\n\t\t};\n\t}\n\t// Call the animation\n\tchosenAnimation(domNode,options);\n};\n\nexports.Animator = Animator;\n"
  },
  {
    "path": "core/modules/utils/dom/browser.js",
    "content": "/*\\\ntitle: $:/core/modules/utils/dom/browser.js\ntype: application/javascript\nmodule-type: utils\n\nBrowser feature detection\n\n\\*/\n\n\"use strict\";\n\n/*\nSet style properties of an element\n\telement: dom node\n\tstyles: ordered array of {name: value} pairs\n*/\nexports.setStyle = function(element,styles) {\n\tif(element.nodeType === 1) { // Element.ELEMENT_NODE\n\t\tfor(var t=0; t<styles.length; t++) {\n\t\t\tfor(var styleName in styles[t]) {\n\t\t\t\telement.style[$tw.utils.convertStyleNameToPropertyName(styleName)] = styles[t][styleName];\n\t\t\t}\n\t\t}\n\t}\n};\n\n/*\nRemove style properties of an element\n  element: dom node\n\tstyleProperties: ordered array of string property names\n*/\nexports.removeStyles = function(element, styleProperties) {\n\tif(element) {\n\t\tfor(var i=0; i<styleProperties.length; i++) {\n\t\t\telement.style.removeProperty($tw.utils.convertStyleNameToPropertyName(styleProperties[i]));\n\t\t}\n\t}\n};\n\n/*\nRemove single style property of an element\n  element: dom node\n\tstyleProperty: string property name\n*/\nexports.removeStyle = function(element, styleProperty) {\n\t$tw.utils.removeStyles(element, [styleProperty]);\n};\n\n/*\nConverts a standard CSS property name into the local browser-specific equivalent. For example:\n\t\"background-color\" --> \"backgroundColor\"\n\t\"transition\" --> \"webkitTransition\"\n*/\n\nvar styleNameCache = {}; // We'll cache the style name conversions\n\nexports.convertStyleNameToPropertyName = function(styleName) {\n\t// Return from the cache if we can\n\tif(styleNameCache[styleName]) {\n\t\treturn styleNameCache[styleName];\n\t}\n\t// Convert it by first removing any hyphens\n\tvar propertyName = $tw.utils.unHyphenateCss(styleName);\n\t// Then check if it needs a prefix\n\tif($tw.browser && document.body.style[propertyName] === undefined) {\n\t\tvar prefixes = [\"Moz\",\"webkit\"];\n\t\tfor(var t=0; t<prefixes.length; t++) {\n\t\t\tvar prefixedName = prefixes[t] + propertyName.substr(0,1).toUpperCase() + propertyName.substr(1);\n\t\t\tif(document.body.style[prefixedName] !== undefined) {\n\t\t\t\tpropertyName = prefixedName;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\t// Put it in the cache too\n\tstyleNameCache[styleName] = propertyName;\n\treturn propertyName;\n};\n\n/*\nConverts a JS format CSS property name back into the dashed form used in CSS declarations. For example:\n\t\"backgroundColor\" --> \"background-color\"\n\t\"webkitTransform\" --> \"-webkit-transform\"\n*/\nexports.convertPropertyNameToStyleName = function(propertyName) {\n\t// Rehyphenate the name\n\tvar styleName = $tw.utils.hyphenateCss(propertyName);\n\t// If there's a webkit prefix, add a dash (other browsers have uppercase prefixes, and so get the dash automatically)\n\tif(styleName.indexOf(\"webkit\") === 0) {\n\t\tstyleName = \"-\" + styleName;\n\t} else if(styleName.indexOf(\"-m-s\") === 0) {\n\t\tstyleName = \"-ms\" + styleName.substr(4);\n\t}\n\treturn styleName;\n};\n\n/*\nRound trip a stylename to a property name and back again. For example:\n\t\"transform\" --> \"webkitTransform\" --> \"-webkit-transform\"\n*/\nexports.roundTripPropertyName = function(propertyName) {\n\treturn $tw.utils.convertPropertyNameToStyleName($tw.utils.convertStyleNameToPropertyName(propertyName));\n};\n\n/*\nConverts a standard event name into the local browser specific equivalent. For example:\n\t\"animationEnd\" --> \"webkitAnimationEnd\"\n*/\n\nvar eventNameCache = {}; // We'll cache the conversions\n\nvar eventNameMappings = {\n\t\"transitionEnd\": {\n\t\tcorrespondingCssProperty: \"transition\",\n\t\tmappings: {\n\t\t\ttransition: \"transitionend\",\n\t\t\tMozTransition: \"transitionend\",\n\t\t\twebkitTransition: \"webkitTransitionEnd\"\n\t\t}\n\t},\n\t\"animationEnd\": {\n\t\tcorrespondingCssProperty: \"animation\",\n\t\tmappings: {\n\t\t\tanimation: \"animationend\",\n\t\t\tMozAnimation: \"animationend\",\n\t\t\twebkitAnimation: \"webkitAnimationEnd\"\n\t\t}\n\t}\n};\n\nexports.convertEventName = function(eventName) {\n\tif(eventNameCache[eventName]) {\n\t\treturn eventNameCache[eventName];\n\t}\n\tvar newEventName = eventName,\n\t\tmappings = eventNameMappings[eventName];\n\tif(mappings) {\n\t\tvar convertedProperty = $tw.utils.convertStyleNameToPropertyName(mappings.correspondingCssProperty);\n\t\tif(mappings.mappings[convertedProperty]) {\n\t\t\tnewEventName = mappings.mappings[convertedProperty];\n\t\t}\n\t}\n\t// Put it in the cache too\n\teventNameCache[eventName] = newEventName;\n\treturn newEventName;\n};\n\n/*\nReturn the names of the fullscreen APIs\n*/\nexports.getFullScreenApis = function() {\n\tvar d = document,\n\t\tdb = d.body,\n\t\tresult = {\n\t\t\t\"_requestFullscreen\": db.webkitRequestFullscreen !== undefined ? \"webkitRequestFullscreen\" :\n\t\t\t\tdb.mozRequestFullScreen !== undefined ? \"mozRequestFullScreen\" :\n\t\t\t\t\tdb.requestFullscreen !== undefined ? \"requestFullscreen\" : \"\",\n\t\t\t\"_exitFullscreen\": d.webkitExitFullscreen !== undefined ? \"webkitExitFullscreen\" :\n\t\t\t\td.mozCancelFullScreen !== undefined ? \"mozCancelFullScreen\" :\n\t\t\t\t\td.exitFullscreen !== undefined ? \"exitFullscreen\" : \"\",\n\t\t\t\"_fullscreenElement\": d.webkitFullscreenElement !== undefined ? \"webkitFullscreenElement\" :\n\t\t\t\td.mozFullScreenElement !== undefined ? \"mozFullScreenElement\" :\n\t\t\t\t\td.fullscreenElement !== undefined ? \"fullscreenElement\" : \"\",\n\t\t\t\"_fullscreenChange\": d.webkitFullscreenElement !== undefined ? \"webkitfullscreenchange\" :\n\t\t\t\td.mozFullScreenElement !== undefined ? \"mozfullscreenchange\" :\n\t\t\t\t\td.fullscreenElement !== undefined ? \"fullscreenchange\" : \"\"\n\t\t};\n\tif(!result._requestFullscreen || !result._exitFullscreen || !result._fullscreenElement || !result._fullscreenChange) {\n\t\treturn null;\n\t} else {\n\t\treturn result;\n\t}\n};\n"
  },
  {
    "path": "core/modules/utils/dom/csscolorparser.js",
    "content": "// (c) Dean McNamee <dean@gmail.com>, 2012.\n//\n// https://github.com/deanm/css-color-parser-js\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to\n// deal in the Software without restriction, including without limitation the\n// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n// sell copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n// IN THE SOFTWARE.\n\n// http://www.w3.org/TR/css3-color/\nvar kCSSColorTable = {\n  \"transparent\": [0,0,0,0], \"aliceblue\": [240,248,255,1],\n  \"antiquewhite\": [250,235,215,1], \"aqua\": [0,255,255,1],\n  \"aquamarine\": [127,255,212,1], \"azure\": [240,255,255,1],\n  \"beige\": [245,245,220,1], \"bisque\": [255,228,196,1],\n  \"black\": [0,0,0,1], \"blanchedalmond\": [255,235,205,1],\n  \"blue\": [0,0,255,1], \"blueviolet\": [138,43,226,1],\n  \"brown\": [165,42,42,1], \"burlywood\": [222,184,135,1],\n  \"cadetblue\": [95,158,160,1], \"chartreuse\": [127,255,0,1],\n  \"chocolate\": [210,105,30,1], \"coral\": [255,127,80,1],\n  \"cornflowerblue\": [100,149,237,1], \"cornsilk\": [255,248,220,1],\n  \"crimson\": [220,20,60,1], \"cyan\": [0,255,255,1],\n  \"darkblue\": [0,0,139,1], \"darkcyan\": [0,139,139,1],\n  \"darkgoldenrod\": [184,134,11,1], \"darkgray\": [169,169,169,1],\n  \"darkgreen\": [0,100,0,1], \"darkgrey\": [169,169,169,1],\n  \"darkkhaki\": [189,183,107,1], \"darkmagenta\": [139,0,139,1],\n  \"darkolivegreen\": [85,107,47,1], \"darkorange\": [255,140,0,1],\n  \"darkorchid\": [153,50,204,1], \"darkred\": [139,0,0,1],\n  \"darksalmon\": [233,150,122,1], \"darkseagreen\": [143,188,143,1],\n  \"darkslateblue\": [72,61,139,1], \"darkslategray\": [47,79,79,1],\n  \"darkslategrey\": [47,79,79,1], \"darkturquoise\": [0,206,209,1],\n  \"darkviolet\": [148,0,211,1], \"deeppink\": [255,20,147,1],\n  \"deepskyblue\": [0,191,255,1], \"dimgray\": [105,105,105,1],\n  \"dimgrey\": [105,105,105,1], \"dodgerblue\": [30,144,255,1],\n  \"firebrick\": [178,34,34,1], \"floralwhite\": [255,250,240,1],\n  \"forestgreen\": [34,139,34,1], \"fuchsia\": [255,0,255,1],\n  \"gainsboro\": [220,220,220,1], \"ghostwhite\": [248,248,255,1],\n  \"gold\": [255,215,0,1], \"goldenrod\": [218,165,32,1],\n  \"gray\": [128,128,128,1], \"green\": [0,128,0,1],\n  \"greenyellow\": [173,255,47,1], \"grey\": [128,128,128,1],\n  \"honeydew\": [240,255,240,1], \"hotpink\": [255,105,180,1],\n  \"indianred\": [205,92,92,1], \"indigo\": [75,0,130,1],\n  \"ivory\": [255,255,240,1], \"khaki\": [240,230,140,1],\n  \"lavender\": [230,230,250,1], \"lavenderblush\": [255,240,245,1],\n  \"lawngreen\": [124,252,0,1], \"lemonchiffon\": [255,250,205,1],\n  \"lightblue\": [173,216,230,1], \"lightcoral\": [240,128,128,1],\n  \"lightcyan\": [224,255,255,1], \"lightgoldenrodyellow\": [250,250,210,1],\n  \"lightgray\": [211,211,211,1], \"lightgreen\": [144,238,144,1],\n  \"lightgrey\": [211,211,211,1], \"lightpink\": [255,182,193,1],\n  \"lightsalmon\": [255,160,122,1], \"lightseagreen\": [32,178,170,1],\n  \"lightskyblue\": [135,206,250,1], \"lightslategray\": [119,136,153,1],\n  \"lightslategrey\": [119,136,153,1], \"lightsteelblue\": [176,196,222,1],\n  \"lightyellow\": [255,255,224,1], \"lime\": [0,255,0,1],\n  \"limegreen\": [50,205,50,1], \"linen\": [250,240,230,1],\n  \"magenta\": [255,0,255,1], \"maroon\": [128,0,0,1],\n  \"mediumaquamarine\": [102,205,170,1], \"mediumblue\": [0,0,205,1],\n  \"mediumorchid\": [186,85,211,1], \"mediumpurple\": [147,112,219,1],\n  \"mediumseagreen\": [60,179,113,1], \"mediumslateblue\": [123,104,238,1],\n  \"mediumspringgreen\": [0,250,154,1], \"mediumturquoise\": [72,209,204,1],\n  \"mediumvioletred\": [199,21,133,1], \"midnightblue\": [25,25,112,1],\n  \"mintcream\": [245,255,250,1], \"mistyrose\": [255,228,225,1],\n  \"moccasin\": [255,228,181,1], \"navajowhite\": [255,222,173,1],\n  \"navy\": [0,0,128,1], \"oldlace\": [253,245,230,1],\n  \"olive\": [128,128,0,1], \"olivedrab\": [107,142,35,1],\n  \"orange\": [255,165,0,1], \"orangered\": [255,69,0,1],\n  \"orchid\": [218,112,214,1], \"palegoldenrod\": [238,232,170,1],\n  \"palegreen\": [152,251,152,1], \"paleturquoise\": [175,238,238,1],\n  \"palevioletred\": [219,112,147,1], \"papayawhip\": [255,239,213,1],\n  \"peachpuff\": [255,218,185,1], \"peru\": [205,133,63,1],\n  \"pink\": [255,192,203,1], \"plum\": [221,160,221,1],\n  \"powderblue\": [176,224,230,1], \"purple\": [128,0,128,1],\n  \"red\": [255,0,0,1], \"rosybrown\": [188,143,143,1],\n  \"royalblue\": [65,105,225,1], \"saddlebrown\": [139,69,19,1],\n  \"salmon\": [250,128,114,1], \"sandybrown\": [244,164,96,1],\n  \"seagreen\": [46,139,87,1], \"seashell\": [255,245,238,1],\n  \"sienna\": [160,82,45,1], \"silver\": [192,192,192,1],\n  \"skyblue\": [135,206,235,1], \"slateblue\": [106,90,205,1],\n  \"slategray\": [112,128,144,1], \"slategrey\": [112,128,144,1],\n  \"snow\": [255,250,250,1], \"springgreen\": [0,255,127,1],\n  \"steelblue\": [70,130,180,1], \"tan\": [210,180,140,1],\n  \"teal\": [0,128,128,1], \"thistle\": [216,191,216,1],\n  \"tomato\": [255,99,71,1], \"turquoise\": [64,224,208,1],\n  \"violet\": [238,130,238,1], \"wheat\": [245,222,179,1],\n  \"white\": [255,255,255,1], \"whitesmoke\": [245,245,245,1],\n  \"yellow\": [255,255,0,1], \"yellowgreen\": [154,205,50,1]}\n\nfunction clamp_css_byte(i) {  // Clamp to integer 0 .. 255.\n  i = Math.round(i);  // Seems to be what Chrome does (vs truncation).\n  return i < 0 ? 0 : i > 255 ? 255 : i;\n}\n\nfunction clamp_css_float(f) {  // Clamp to float 0.0 .. 1.0.\n  return f < 0 ? 0 : f > 1 ? 1 : f;\n}\n\nfunction parse_css_int(str) {  // int or percentage.\n  if (str[str.length - 1] === '%')\n    return clamp_css_byte(parseFloat(str) / 100 * 255);\n  return clamp_css_byte(parseInt(str));\n}\n\nfunction parse_css_float(str) {  // float or percentage.\n  if (str[str.length - 1] === '%')\n    return clamp_css_float(parseFloat(str) / 100);\n  return clamp_css_float(parseFloat(str));\n}\n\nfunction css_hue_to_rgb(m1, m2, h) {\n  if (h < 0) h += 1;\n  else if (h > 1) h -= 1;\n\n  if (h * 6 < 1) return m1 + (m2 - m1) * h * 6;\n  if (h * 2 < 1) return m2;\n  if (h * 3 < 2) return m1 + (m2 - m1) * (2/3 - h) * 6;\n  return m1;\n}\n\nfunction parseCSSColor(css_str) {\n  // Remove all whitespace, not compliant, but should just be more accepting.\n  var str = css_str.replace(/ /g, '').toLowerCase();\n\n  // Color keywords (and transparent) lookup.\n  if (str in kCSSColorTable) return kCSSColorTable[str].slice();  // dup.\n\n  // #abc and #abc123 syntax.\n  if (str[0] === '#') {\n    if (str.length === 4) {\n      var iv = parseInt(str.substr(1), 16);  // TODO(deanm): Stricter parsing.\n      if (!(iv >= 0 && iv <= 0xfff)) return null;  // Covers NaN.\n      return [((iv & 0xf00) >> 4) | ((iv & 0xf00) >> 8),\n              (iv & 0xf0) | ((iv & 0xf0) >> 4),\n              (iv & 0xf) | ((iv & 0xf) << 4),\n              1];\n    } else if (str.length === 7) {\n      var iv = parseInt(str.substr(1), 16);  // TODO(deanm): Stricter parsing.\n      if (!(iv >= 0 && iv <= 0xffffff)) return null;  // Covers NaN.\n      return [(iv & 0xff0000) >> 16,\n              (iv & 0xff00) >> 8,\n              iv & 0xff,\n              1];\n    }\n\n    return null;\n  }\n\n  var op = str.indexOf('('), ep = str.indexOf(')');\n  if (op !== -1 && ep + 1 === str.length) {\n    var fname = str.substr(0, op);\n    var params = str.substr(op+1, ep-(op+1)).split(',');\n    var alpha = 1;  // To allow case fallthrough.\n    switch (fname) {\n      case 'rgba':\n        if (params.length !== 4) return null;\n        alpha = parse_css_float(params.pop());\n        // Fall through.\n      case 'rgb':\n        if (params.length !== 3) return null;\n        return [parse_css_int(params[0]),\n                parse_css_int(params[1]),\n                parse_css_int(params[2]),\n                alpha];\n      case 'hsla':\n        if (params.length !== 4) return null;\n        alpha = parse_css_float(params.pop());\n        // Fall through.\n      case 'hsl':\n        if (params.length !== 3) return null;\n        var h = (((parseFloat(params[0]) % 360) + 360) % 360) / 360;  // 0 .. 1\n        // NOTE(deanm): According to the CSS spec s/l should only be\n        // percentages, but we don't bother and let float or percentage.\n        var s = parse_css_float(params[1]);\n        var l = parse_css_float(params[2]);\n        var m2 = l <= 0.5 ? l * (s + 1) : l + s - l * s;\n        var m1 = l * 2 - m2;\n        return [clamp_css_byte(css_hue_to_rgb(m1, m2, h+1/3) * 255),\n                clamp_css_byte(css_hue_to_rgb(m1, m2, h) * 255),\n                clamp_css_byte(css_hue_to_rgb(m1, m2, h-1/3) * 255),\n                alpha];\n      default:\n        return null;\n    }\n  }\n\n  return null;\n}\n\ntry { exports.parseCSSColor = parseCSSColor } catch(e) { }\n"
  },
  {
    "path": "core/modules/utils/dom/csscolorparser.js.meta",
    "content": "title: $:/core/modules/utils/dom/csscolorparser.js\ntype: application/javascript\nmodule-type: utils\n"
  },
  {
    "path": "core/modules/utils/dom/dom.js",
    "content": "/*\\\ntitle: $:/core/modules/utils/dom.js\ntype: application/javascript\nmodule-type: utils\n\nVarious static DOM-related utility functions.\n\n\\*/\n\n\"use strict\";\n\nvar Popup = require(\"$:/core/modules/utils/dom/popup.js\");\n\n\n/*\nSelect text in a an input or textarea (setSelectionRange crashes on certain input types)\n*/\nexports.setSelectionRangeSafe = function(node,start,end,direction) {\n\ttry {\n\t\tnode.setSelectionRange(start,end,direction);\n\t} catch(e) {\n\t\tnode.select();\n\t}\n};\n\n/*\nSelect the text in an input or textarea by position\n*/\nexports.setSelectionByPosition = function(node,selectFromStart,selectFromEnd) {\n\t$tw.utils.setSelectionRangeSafe(node,selectFromStart,node.value.length - selectFromEnd);\n};\n\nexports.removeChildren = function(node) {\n\twhile(node.hasChildNodes()) {\n\t\tnode.removeChild(node.firstChild);\n\t}\n};\n\n/*\nGet the first parent element that has scrollbars or use the body as fallback.\n*/\nexports.getScrollContainer = function(el) {\n\tvar doc = el.ownerDocument;\n\twhile(el.parentNode) {\n\t\tel = el.parentNode;\n\t\tif(el.scrollTop) {\n\t\t\treturn el;\n\t\t}\n\t}\n\treturn doc.body;\n};\n\n/*\nGet the scroll position of the viewport\nReturns:\n\t{\n\t\tx: horizontal scroll position in pixels,\n\t\ty: vertical scroll position in pixels\n\t}\n*/\nexports.getScrollPosition = function(srcWindow) {\n\tvar scrollWindow = srcWindow || window;\n\tif(\"scrollX\" in scrollWindow) {\n\t\treturn {x: scrollWindow.scrollX, y: scrollWindow.scrollY};\n\t} else {\n\t\treturn {x: scrollWindow.document.documentElement.scrollLeft, y: scrollWindow.document.documentElement.scrollTop};\n\t}\n};\n\n/*\nAdjust the height of a textarea to fit its content, preserving scroll position, and return the height\n*/\nexports.resizeTextAreaToFit = function(domNode,minHeight) {\n\t// Get the scroll container and register the current scroll position\n\tvar container = $tw.utils.getScrollContainer(domNode),\n\t\tscrollTop = container.scrollTop;\n\t// Measure the specified minimum height\n\tdomNode.style.height = minHeight;\n\tvar measuredHeight = domNode.offsetHeight || parseInt(minHeight,10);\n\t// Set its height to auto so that it snaps to the correct height\n\tdomNode.style.height = \"auto\";\n\t// Calculate the revised height\n\tvar newHeight = Math.max(domNode.scrollHeight + domNode.offsetHeight - domNode.clientHeight,measuredHeight);\n\t// Only try to change the height if it has changed\n\tif(newHeight !== domNode.offsetHeight) {\n\t\tdomNode.style.height = newHeight + \"px\";\n\t\t// Make sure that the dimensions of the textarea are recalculated\n\t\t$tw.utils.forceLayout(domNode);\n\t\t// Set the container to the position we registered at the beginning\n\t\tcontainer.scrollTop = scrollTop;\n\t}\n\treturn newHeight;\n};\n\n/*\nGets the bounding rectangle of an element in absolute page coordinates\n*/\nexports.getBoundingPageRect = function(element) {\n\tvar scrollPos = $tw.utils.getScrollPosition(element.ownerDocument.defaultView),\n\t\tclientRect = element.getBoundingClientRect();\n\treturn {\n\t\tleft: clientRect.left + scrollPos.x,\n\t\twidth: clientRect.width,\n\t\tright: clientRect.right + scrollPos.x,\n\t\ttop: clientRect.top + scrollPos.y,\n\t\theight: clientRect.height,\n\t\tbottom: clientRect.bottom + scrollPos.y\n\t};\n};\n\n/*\nSaves a named password in the browser\n*/\nexports.savePassword = function(name,password) {\n\tvar done = false;\n\ttry {\n\t\twindow.localStorage.setItem(\"tw5-password-\" + name,password);\n\t\tdone = true;\n\t} catch(e) {\n\t}\n\tif(!done) {\n\t\t$tw.savedPasswords = $tw.savedPasswords || Object.create(null);\n\t\t$tw.savedPasswords[name] = password;\n\t}\n};\n\n/*\nRetrieve a named password from the browser\n*/\nexports.getPassword = function(name) {\n\tvar value;\n\ttry {\n\t\tvalue = window.localStorage.getItem(\"tw5-password-\" + name);\n\t} catch(e) {\n\t}\n\tif(value !== undefined) {\n\t\treturn value;\n\t} else {\n\t\treturn ($tw.savedPasswords || Object.create(null))[name] || \"\";\n\t}\n};\n\n/*\nForce layout of a dom node and its descendents\n*/\nexports.forceLayout = function(element) {\n\tvoid element.offsetWidth;\n};\n\n/*\nPulse an element for debugging purposes\n*/\nexports.pulseElement = function(element) {\n\t// Event handler to remove the class at the end\n\telement.addEventListener($tw.browser.animationEnd,function handler(event) {\n\t\telement.removeEventListener($tw.browser.animationEnd,handler,false);\n\t\t$tw.utils.removeClass(element,\"pulse\");\n\t},false);\n\t// Apply the pulse class\n\t$tw.utils.removeClass(element,\"pulse\");\n\t$tw.utils.forceLayout(element);\n\t$tw.utils.addClass(element,\"pulse\");\n};\n\n/*\nAttach specified event handlers to a DOM node\ndomNode: where to attach the event handlers\nevents: array of event handlers to be added (see below)\nEach entry in the events array is an object with these properties:\nhandlerFunction: optional event handler function\nhandlerObject: optional event handler object\nhandlerMethod: optionally specifies object handler method name (defaults to `handleEvent`)\n*/\nexports.addEventListeners = function(domNode,events) {\n\t$tw.utils.each(events,function(eventInfo) {\n\t\tvar handler;\n\t\tif(eventInfo.handlerFunction) {\n\t\t\thandler = eventInfo.handlerFunction;\n\t\t} else if(eventInfo.handlerObject) {\n\t\t\tif(eventInfo.handlerMethod) {\n\t\t\t\thandler = function(event) {\n\t\t\t\t\teventInfo.handlerObject[eventInfo.handlerMethod].call(eventInfo.handlerObject,event);\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\thandler = eventInfo.handlerObject;\n\t\t\t}\n\t\t}\n\t\tdomNode.addEventListener(eventInfo.name,handler,false);\n\t});\n};\n\n/*\nGet the computed styles applied to an element as an array of strings of individual CSS properties\n*/\nexports.getComputedStyles = function(domNode) {\n\tvar textAreaStyles = window.getComputedStyle(domNode,null),\n\t\tstyleDefs = [],\n\t\tname;\n\tfor(var t=0; t<textAreaStyles.length; t++) {\n\t\tname = textAreaStyles[t];\n\t\tstyleDefs.push(name + \": \" + textAreaStyles.getPropertyValue(name) + \";\");\n\t}\n\treturn styleDefs;\n};\n\n/*\nApply a set of styles passed as an array of strings of individual CSS properties\n*/\nexports.setStyles = function(domNode,styleDefs) {\n\tdomNode.style.cssText = styleDefs.join(\"\");\n};\n\n/*\nCopy the computed styles from a source element to a destination element\n*/\nexports.copyStyles = function(srcDomNode,dstDomNode) {\n\t$tw.utils.setStyles(dstDomNode,$tw.utils.getComputedStyles(srcDomNode));\n};\n\n/*\nCopy plain text to the clipboard on browsers that support it\n*/\nexports.copyToClipboard = function(text,options) {\n\toptions = options || {};\n\ttext = text || \"\";\n\tvar textArea = document.createElement(\"textarea\");\n\ttextArea.style.position = \"fixed\";\n\ttextArea.style.top = 0;\n\ttextArea.style.left = 0;\n\ttextArea.style.fontSize = \"12pt\";\n\ttextArea.style.width = \"2em\";\n\ttextArea.style.height = \"2em\";\n\ttextArea.style.padding = 0;\n\ttextArea.style.border = \"none\";\n\ttextArea.style.outline = \"none\";\n\ttextArea.style.boxShadow = \"none\";\n\ttextArea.style.background = \"transparent\";\n\ttextArea.value = text;\n\tdocument.body.appendChild(textArea);\n\ttextArea.select();\n\ttextArea.setSelectionRange(0,text.length);\n\tvar succeeded = false;\n\ttry {\n\t\tsucceeded = document.execCommand(\"copy\");\n\t} catch(err) {\n\t}\n\tif(!options.doNotNotify) {\n\t\tvar successNotification = options.successNotification || \"$:/language/Notifications/CopiedToClipboard/Succeeded\",\n\t\t\tfailureNotification = options.failureNotification || \"$:/language/Notifications/CopiedToClipboard/Failed\";\n\t\t$tw.notifier.display(succeeded ? successNotification : failureNotification);\n\t}\n\tdocument.body.removeChild(textArea);\n};\n\n/*\nCollect DOM variables\n*/\nexports.collectDOMVariables = function(selectedNode,domNode,event) {\n\tvar variables = {},\n\t\tselectedNodeRect,\n\t\tdomNodeRect;\n\tif(selectedNode) {\n\t\t$tw.utils.each(selectedNode.attributes,function(attribute) {\n\t\t\tvariables[\"dom-\" + attribute.name] = attribute.value.toString();\n\t\t});\n\t\t\n\t\tif(\"offsetLeft\" in selectedNode) {\n\t\t\t// Add variables with a (relative and absolute) popup coordinate string for the selected node\n\t\t\tvar nodeRect = {\n\t\t\t\tleft: selectedNode.offsetLeft,\n\t\t\t\ttop: selectedNode.offsetTop,\n\t\t\t\twidth: selectedNode.offsetWidth,\n\t\t\t\theight: selectedNode.offsetHeight\n\t\t\t};\n\t\t\tvariables[\"tv-popup-coords\"] = Popup.buildCoordinates(Popup.coordinatePrefix.csOffsetParent,nodeRect);\n\n\t\t\tvar absRect = $tw.utils.extend({}, nodeRect);\n\t\t\tfor(var currentNode = selectedNode.offsetParent; currentNode; currentNode = currentNode.offsetParent) {\n\t\t\t\tabsRect.left += currentNode.offsetLeft;\n\t\t\t\tabsRect.top += currentNode.offsetTop;\n\t\t\t}\n\t\t\tvariables[\"tv-popup-abs-coords\"] = Popup.buildCoordinates(Popup.coordinatePrefix.csAbsolute,absRect);\n\n\t\t\t// Add variables for offset of selected node\n\t\t\tvariables[\"tv-selectednode-posx\"] = selectedNode.offsetLeft.toString();\n\t\t\tvariables[\"tv-selectednode-posy\"] = selectedNode.offsetTop.toString();\n\t\t\tvariables[\"tv-selectednode-width\"] = selectedNode.offsetWidth.toString();\n\t\t\tvariables[\"tv-selectednode-height\"] = selectedNode.offsetHeight.toString();\n\t\t}\n\t}\n\t\n\tif(domNode && (\"offsetWidth\" in domNode)) {\n\t\tvariables[\"tv-widgetnode-width\"] = domNode.offsetWidth.toString();\n\t\tvariables[\"tv-widgetnode-height\"] = domNode.offsetHeight.toString();\n\t}\n\n\tif(event && (\"clientX\" in event) && (\"clientY\" in event)) {\n\t\tif(selectedNode) {\n\t\t\t// Add variables for event X and Y position relative to selected node\n\t\t\tselectedNodeRect = selectedNode.getBoundingClientRect();\n\t\t\tvariables[\"event-fromselected-posx\"] = (event.clientX - selectedNodeRect.left).toString();\n\t\t\tvariables[\"event-fromselected-posy\"] = (event.clientY - selectedNodeRect.top).toString();\n\t\t}\n\t\t\n\t\tif(domNode) {\n\t\t\t// Add variables for event X and Y position relative to event catcher node\n\t\t\tdomNodeRect = domNode.getBoundingClientRect();\n\t\t\tvariables[\"event-fromcatcher-posx\"] = (event.clientX - domNodeRect.left).toString();\n\t\t\tvariables[\"event-fromcatcher-posy\"] = (event.clientY - domNodeRect.top).toString();\n\t\t}\n\n\t\t// Add variables for event X and Y position relative to the viewport\n\t\tvariables[\"event-fromviewport-posx\"] = event.clientX.toString();\n\t\tvariables[\"event-fromviewport-posy\"] = event.clientY.toString();\n\t}\n\treturn variables;\n};\n\n/*\nMake sure the CSS selector is not invalid\n*/\nexports.querySelectorSafe = function(selector,baseElement) {\n\tbaseElement = baseElement || document;\n\ttry {\n\t\treturn baseElement.querySelector(selector);\n\t} catch(e) {\n\t\tconsole.log(\"Invalid selector: \",selector);\n\t}\n};\n\nexports.querySelectorAllSafe = function(selector,baseElement) {\n\tbaseElement = baseElement || document;\n\ttry {\n\t\treturn baseElement.querySelectorAll(selector);\n\t} catch(e) {\n\t\tconsole.log(\"Invalid selector: \",selector);\n\t}\n};\n"
  },
  {
    "path": "core/modules/utils/dom/dragndrop.js",
    "content": "/*\\\ntitle: $:/core/modules/utils/dom/dragndrop.js\ntype: application/javascript\nmodule-type: utils\n\nBrowser data transfer utilities, used with the clipboard and drag and drop\n\n\\*/\n\n\"use strict\";\n\n/*\nOptions:\n\ndomNode: dom node to make draggable\nselector: CSS selector to identify element within domNode to be used as drag handle (optional)\ndragImageType: \"pill\", \"blank\" or \"dom\" (the default)\ndragTiddlerFn: optional function to retrieve the title of tiddler to drag\ndragFilterFn: optional function to retreive the filter defining a list of tiddlers to drag\nwidget: widget to use as the context for the filter\n*/\nexports.makeDraggable = function(options) {\n\tvar dragImageType = options.dragImageType || \"dom\",\n\t\tdragImage,\n\t\tdomNode = options.domNode;\n\t// Make the dom node draggable (not necessary for anchor tags)\n\tif(!options.selector && ((domNode.tagName || \"\").toLowerCase() !== \"a\")) {\n\t\tdomNode.setAttribute(\"draggable\",\"true\");\n\t}\n\t// Add event handlers\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"dragstart\", handlerFunction: function(event) {\n\t\t\tif(event.dataTransfer === undefined) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t// Collect the tiddlers being dragged\n\t\t\tvar dragTiddler = options.dragTiddlerFn && options.dragTiddlerFn(),\n\t\t\t\tdragFilter = options.dragFilterFn && options.dragFilterFn(),\n\t\t\t\ttitles = dragTiddler ? [dragTiddler] : [],\n\t\t\t\tstartActions = options.startActions,\n\t\t\t\tvariables;\n\t\t\tif(dragFilter) {\n\t\t\t\ttitles.push.apply(titles,options.widget.wiki.filterTiddlers(dragFilter,options.widget));\n\t\t\t}\n\t\t\tvar titleString = $tw.utils.stringifyList(titles);\n\t\t\t// Check that we've something to drag\n\t\t\tif(titles.length > 0 && (options.selector && $tw.utils.domMatchesSelector(event.target,options.selector) || event.target === domNode)) {\n\t\t\t\t// Mark the drag in progress\n\t\t\t\t$tw.dragInProgress = domNode;\n\t\t\t\t// Set the dragging class on the element being dragged\n\t\t\t\t$tw.utils.addClass(domNode,\"tc-dragging\");\n\t\t\t\t// Invoke drag-start actions if given\n\t\t\t\tif(startActions !== undefined) {\n\t\t\t\t\t// Collect our variables\n\t\t\t\t\tvariables = $tw.utils.collectDOMVariables(domNode,null,event);\n\t\t\t\t\tvariables.modifier = $tw.keyboardManager.getEventModifierKeyDescriptor(event);\n\t\t\t\t\tvariables[\"actionTiddler\"] = titleString;\n\t\t\t\t\toptions.widget.invokeActionString(startActions,options.widget,event,variables);\n\t\t\t\t}\n\t\t\t\t// Create the drag image elements\n\t\t\t\tdragImage = options.widget.document.createElement(\"div\");\n\t\t\t\tdragImage.className = \"tc-tiddler-dragger\";\n\t\t\t\tvar inner = options.widget.document.createElement(\"div\");\n\t\t\t\tinner.className = \"tc-tiddler-dragger-inner\";\n\t\t\t\tinner.appendChild(options.widget.document.createTextNode(\n\t\t\t\t\ttitles.length === 1 ? \n\t\t\t\t\t\ttitles[0] :\n\t\t\t\t\t\ttitles.length + \" tiddlers\"\n\t\t\t\t));\n\t\t\t\tdragImage.appendChild(inner);\n\t\t\t\toptions.widget.document.body.appendChild(dragImage);\n\t\t\t\t// Set the data transfer properties\n\t\t\t\tvar dataTransfer = event.dataTransfer;\n\t\t\t\t// Set up the image\n\t\t\t\tdataTransfer.effectAllowed = \"all\";\n\t\t\t\tif(dataTransfer.setDragImage) {\n\t\t\t\t\tif(dragImageType === \"pill\") {\n\t\t\t\t\t\tdataTransfer.setDragImage(dragImage.firstChild,-16,-16);\n\t\t\t\t\t} else if(dragImageType === \"blank\") {\n\t\t\t\t\t\tdragImage.removeChild(dragImage.firstChild);\n\t\t\t\t\t\tdataTransfer.setDragImage(dragImage,0,0);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar r = domNode.getBoundingClientRect();\n\t\t\t\t\t\tdataTransfer.setDragImage(domNode,event.clientX-r.left,event.clientY-r.top);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Set up the data transfer\n\t\t\t\tif(dataTransfer.clearData) {\n\t\t\t\t\tdataTransfer.clearData();\n\t\t\t\t}\n\t\t\t\tvar jsonData = [];\n\t\t\t\tif(titles.length > 1) {\n\t\t\t\t\ttitles.forEach(function(title) {\n\t\t\t\t\t\tjsonData.push(options.widget.wiki.getTiddlerAsJson(title));\n\t\t\t\t\t});\n\t\t\t\t\tjsonData = \"[\" + jsonData.join(\",\") + \"]\";\n\t\t\t\t} else {\n\t\t\t\t\tjsonData = options.widget.wiki.getTiddlerAsJson(titles[0]);\n\t\t\t\t}\n\t\t\t\t// IE doesn't like these content types\n\t\t\t\tif(!$tw.browser.isIE) {\n\t\t\t\t\tdataTransfer.setData(\"text/vnd.tiddler\",jsonData);\n\t\t\t\t\tdataTransfer.setData(\"text/plain\",titleString);\n\t\t\t\t\tdataTransfer.setData(\"text/x-moz-url\",\"data:text/vnd.tiddler,\" + encodeURIComponent(jsonData));\n\t\t\t\t}\n\t\t\t\t// If browser is Chrome-like and has a touch-input device do NOT .setData\n\t\t\t\tif(!($tw.browser.isMobileChrome)) {\n\t\t\t\t\tdataTransfer.setData(\"URL\",\"data:text/vnd.tiddler,\" + encodeURIComponent(jsonData));\n\t\t\t\t}\n\t\t\t\tdataTransfer.setData(\"Text\",titleString);\n\t\t\t\tevent.stopPropagation();\n\t\t\t}\n\t\t\treturn false;\n\t\t}},\n\t\t{name: \"dragend\", handlerFunction: function(event) {\n\t\t\tif((options.selector && $tw.utils.domMatchesSelector(event.target,options.selector)) || event.target === domNode) {\n\t\t\t\t// Collect the tiddlers being dragged\n\t\t\t\tvar dragTiddler = options.dragTiddlerFn && options.dragTiddlerFn(),\n\t\t\t\t\tdragFilter = options.dragFilterFn && options.dragFilterFn(),\n\t\t\t\t\ttitles = dragTiddler ? [dragTiddler] : [],\n\t\t\t\t\tendActions = options.endActions,\n\t\t\t\t\tvariables;\n\t\t\t\tif(dragFilter) {\n\t\t\t\t\ttitles.push.apply(titles,options.widget.wiki.filterTiddlers(dragFilter,options.widget));\n\t\t\t\t}\n\t\t\t\tvar titleString = $tw.utils.stringifyList(titles);\n\t\t\t\t$tw.dragInProgress = null;\n\t\t\t\t// Invoke drag-end actions if given\n\t\t\t\tif(endActions !== undefined) {\n\t\t\t\t\tvariables = $tw.utils.collectDOMVariables(domNode,null,event);\n\t\t\t\t\tvariables.modifier = $tw.keyboardManager.getEventModifierKeyDescriptor(event);\n\t\t\t\t\tvariables[\"actionTiddler\"] = titleString;\n\t\t\t\t\toptions.widget.invokeActionString(endActions,options.widget,event,variables);\n\t\t\t\t}\n\t\t\t\t// Remove the dragging class on the element being dragged\n\t\t\t\t$tw.utils.removeClass(domNode,\"tc-dragging\");\n\t\t\t\t// Delete the drag image element\n\t\t\t\tif(dragImage) {\n\t\t\t\t\tdragImage.parentNode.removeChild(dragImage);\n\t\t\t\t\tdragImage = null;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t}}\n\t]);\n};\n\nexports.importDataTransfer = function(dataTransfer,fallbackTitle,callback) {\n\t// Try each provided data type in turn\n\tif($tw.log.IMPORT) {\n\t\tconsole.log(\"Available data types:\");\n\t\tfor(var type=0; type<dataTransfer.types.length; type++) {\n\t\t\tconsole.log(\"type\",dataTransfer.types[type],dataTransfer.getData(dataTransfer.types[type]));\n\t\t}\n\t}\n\tfor(var t=0; t<importDataTypes.length; t++) {\n\t\tif(!$tw.browser.isIE || importDataTypes[t].IECompatible) {\n\t\t\t// Get the data\n\t\t\tvar dataType = importDataTypes[t];\n\t\t\tvar data = dataTransfer.getData(dataType.type);\n\t\t\t// Import the tiddlers in the data\n\t\t\tif(data !== \"\" && data !== null) {\n\t\t\t\tif($tw.log.IMPORT) {\n\t\t\t\t\tconsole.log(\"Importing data type '\" + dataType.type + \"', data: '\" + data + \"'\");\n\t\t\t\t}\n\t\t\t\tvar tiddlerFields = dataType.toTiddlerFieldsArray(data,fallbackTitle);\n\t\t\t\tcallback(tiddlerFields);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n};\n\nexports.importPaste = function(item,fallbackTitle,callback) {\n\t// Try each provided data type in turn\n\tfor(var t=0; t<importDataTypes.length; t++) {\n\t\tif(item.type === importDataTypes[t].type) {\n\t\t\t// Get the data\n\t\t\tvar dataType = importDataTypes[t];\n\n\t\t\titem.getAsString(function(data){\n\t\t\t\tif($tw.log.IMPORT) {\n\t\t\t\t\tconsole.log(\"Importing data type '\" + dataType.type + \"', data: '\" + data + \"'\");\n\t\t\t\t}\n\t\t\t\tvar tiddlerFields = dataType.toTiddlerFieldsArray(data,fallbackTitle);\n\t\t\t\tcallback(tiddlerFields);\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t}\n};\n\nexports.itemHasValidDataType = function(item) {\n\tfor(var t=0; t<importDataTypes.length; t++) {\n\t\tif(!$tw.browser.isIE || importDataTypes[t].IECompatible) {\n\t\t\tif(item.type === importDataTypes[t].type) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\nvar importDataTypes = [\n\t{type: \"text/vnd.tiddler\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn parseJSONTiddlers(data,fallbackTitle);\n\t}},\n\t{type: \"URL\", IECompatible: true, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\t// Check for tiddler data URI\n\t\tvar match = $tw.utils.decodeURIComponentSafe(data).match(/^data\\:text\\/vnd\\.tiddler,(.*)/i);\n\t\tif(match) {\n\t\t\treturn parseJSONTiddlers(match[1],fallbackTitle);\n\t\t} else {\n\t\t\treturn [{title: fallbackTitle, text: data}]; // As URL string\n\t\t}\n\t}},\n\t{type: \"text/x-moz-url\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\t// Check for tiddler data URI\n\t\tvar match = $tw.utils.decodeURIComponentSafe(data).match(/^data\\:text\\/vnd\\.tiddler,(.*)/i);\n\t\tif(match) {\n\t\t\treturn parseJSONTiddlers(match[1],fallbackTitle);\n\t\t} else {\n\t\t\treturn [{title: fallbackTitle, text: data}]; // As URL string\n\t\t}\n\t}},\n\t{type: \"text/html\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn [{title: fallbackTitle, text: data}];\n\t}},\n\t{type: \"text/plain\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn [{title: fallbackTitle, text: data}];\n\t}},\n\t{type: \"Text\", IECompatible: true, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn [{title: fallbackTitle, text: data}];\n\t}},\n\t{type: \"text/uri-list\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\t// Check for tiddler data URI\n\t\tvar match = $tw.utils.decodeURIComponentSafe(data).match(/^data\\:text\\/vnd\\.tiddler,(.*)/i);\n\t\tif(match) {\n\t\t\treturn parseJSONTiddlers(match[1],fallbackTitle);\n\t\t} else {\n\t\t\treturn [{title: fallbackTitle, text: data}]; // As URL string\n\t\t}\n\t}}\n];\n\nfunction parseJSONTiddlers(json,fallbackTitle) {\n\tvar data = $tw.utils.parseJSONSafe(json);\n\tif(!$tw.utils.isArray(data)) {\n\t\tdata = [data];\n\t}\n\tdata.forEach(function(fields) {\n\t\tfields.title = fields.title || fallbackTitle;\n\t});\n\treturn data;\n};\n\nfunction dragEventContainsType(event,targetType) {\n\tif(event.dataTransfer.types) {\n\t\tfor(var i=0; i<event.dataTransfer.types.length; i++) {\n\t\t\tif(event.dataTransfer.types[i] === targetType) {\n\t\t\t\treturn true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\nexports.dragEventContainsFiles = function(event) {\n\treturn (dragEventContainsType(event,\"Files\") && !dragEventContainsType(event,\"text/plain\"));\n};\n\nexports.dragEventContainsType = dragEventContainsType;\n"
  },
  {
    "path": "core/modules/utils/dom/http.js",
    "content": "/*\\\ntitle: $:/core/modules/utils/dom/http.js\ntype: application/javascript\nmodule-type: utils\n\nHTTP support\n\n\\*/\n\n\"use strict\";\n\n/*\nManage tm-http-request events. Options include:\nwiki: Reference to the wiki to be used for state tiddler tracking\nstateTrackerTitle: Title of tiddler to be used for state tiddler tracking\n*/\nfunction HttpClient(options) {\n\toptions = options || {};\n\tthis.nextId = 1;\n\tthis.wiki = options.wiki || $tw.wiki;\n\tthis.stateTrackerTitle = options.stateTrackerTitle || \"$:/state/http-requests\";\n\tthis.requests = []; // Array of {id: string,request: HttpClientRequest}\n\tthis.updateRequestTracker();\n}\n\n/*\nReturn the index into this.requests[] corresponding to a given ID. Returns null if not found\n*/\nHttpClient.prototype.getRequestIndex = function(targetId) {\n\tvar targetIndex = null;\n\t$tw.utils.each(this.requests,function(requestInfo,index) {\n\t\tif(requestInfo.id === targetId) {\n\t\t\ttargetIndex = index;\n\t\t}\n\t});\n\treturn targetIndex;\n};\n\n/*\nUpdate the state tiddler that is tracking the outstanding requests\n*/\nHttpClient.prototype.updateRequestTracker = function() {\n\tthis.wiki.addTiddler({title: this.stateTrackerTitle, text: \"\" + this.requests.length});\n};\n\nHttpClient.prototype.initiateHttpRequest = function(options) {\n\tvar self = this,\n\t\tid = this.nextId,\n\t\trequest = new HttpClientRequest(options);\n\tthis.nextId += 1;\n\tthis.requests.push({id: id, request: request});\n\tthis.updateRequestTracker();\n\trequest.send(function(err) {\n\t\tvar targetIndex = self.getRequestIndex(id);\n\t\tif(targetIndex !== null) {\n\t\t\tself.requests.splice(targetIndex,1);\n\t\t\tself.updateRequestTracker();\n\t\t}\n\t});\n\treturn id;\n};\n\nHttpClient.prototype.cancelAllHttpRequests = function() {\n\tif(this.requests.length > 0) {\n\t\tfor(var t=this.requests.length - 1; t--; t>=0) {\n\t\t\tvar requestInfo = this.requests[t];\n\t\t\trequestInfo.request.cancel();\n\t\t}\n\t}\n\tthis.requests = [];\n\tthis.updateRequestTracker();\n};\n\nHttpClient.prototype.cancelHttpRequest = function(targetId) {\n\tvar targetIndex = this.getRequestIndex(targetId);\n\tif(targetIndex !== null) {\n\t\tthis.requests[targetIndex].request.cancel();\n\t\tthis.requests.splice(targetIndex,1);\n\t\tthis.updateRequestTracker();\n\t}\n};\n\n/*\nInitiate an HTTP request. Options:\nwiki: wiki to be used for executing action strings\nurl: URL for request\nmethod: method eg GET, POST\nbody: text of request body\nbinary: set to \"yes\" to force binary processing of response payload\noncompletion: action string to be invoked on completion\nonprogress: action string to be invoked on progress updates\nbindStatus: optional title of tiddler to which status (\"pending\", \"complete\", \"error\") should be written\nbindProgress: optional title of tiddler to which the progress of the request (0 to 100) should be bound\nvariables: hashmap of variable name to string value passed to action strings\nheaders: hashmap of header name to header value to be sent with the request\npasswordHeaders: hashmap of header name to password store name to be sent with the request\nqueryStrings: hashmap of query string parameter name to parameter value to be sent with the request\npasswordQueryStrings: hashmap of query string parameter name to password store name to be sent with the request\nbasicAuthUsername: plain username for basic authentication\nbasicAuthUsernameFromStore: name of password store entry containing username\nbasicAuthPassword: plain password for basic authentication\nbasicAuthPasswordFromStore: name of password store entry containing password\nbearerAuthToken: plain text token for bearer authentication\nbearerAuthTokenFromStore: name of password store entry contain bear authorization token\n*/\nfunction HttpClientRequest(options) {\n\tvar self = this;\n\tconsole.log(\"Initiating an HTTP request\",options);\n\tthis.wiki = options.wiki;\n\tthis.completionActions = options.oncompletion;\n\tthis.progressActions = options.onprogress;\n\tthis.bindStatus = options[\"bindStatus\"];\n\tthis.bindProgress = options[\"bindProgress\"];\n\tthis.method = options.method || \"GET\";\n\tthis.body = options.body || \"\";\n\tthis.binary = options.binary || \"\";\n\tthis.useDefaultHeaders = options.useDefaultHeaders !== \"false\" ? true : false,\n\tthis.variables = options.variables;\n\tvar url = options.url;\n\t$tw.utils.each(options.queryStrings,function(value,name) {\n\t\turl = $tw.utils.setQueryStringParameter(url,name,value);\n\t});\n\t$tw.utils.each(options.passwordQueryStrings,function(value,name) {\n\t\turl = $tw.utils.setQueryStringParameter(url,name,$tw.utils.getPassword(value) || \"\");\n\t});\n\tthis.url = url;\n\tthis.requestHeaders = {};\n\t$tw.utils.each(options.headers,function(value,name) {\n\t\tself.requestHeaders[name] = value;\n\t});\n\t$tw.utils.each(options.passwordHeaders,function(value,name) {\n\t\tself.requestHeaders[name] = $tw.utils.getPassword(value) || \"\";\n\t});\n\tthis.basicAuthUsername = options.basicAuthUsername || (options.basicAuthUsernameFromStore && $tw.utils.getPassword(options.basicAuthUsernameFromStore)) || \"\";\n\tthis.basicAuthPassword = options.basicAuthPassword || (options.basicAuthPasswordFromStore && $tw.utils.getPassword(options.basicAuthPasswordFromStore)) || \"\";\n\tthis.bearerAuthToken = options.bearerAuthToken || (options.bearerAuthTokenFromStore && $tw.utils.getPassword(options.bearerAuthTokenFromStore)) || \"\";\n\tif(this.basicAuthUsername && this.basicAuthPassword) {\n\t\tthis.requestHeaders.Authorization = \"Basic \" + $tw.utils.base64Encode(this.basicAuthUsername + \":\" + this.basicAuthPassword);\n\t} else if(this.bearerAuthToken) {\n\t\tthis.requestHeaders.Authorization = \"Bearer \" + this.bearerAuthToken;\n\t}\n}\n\nHttpClientRequest.prototype.send = function(callback) {\n\tvar self = this,\n\t\tsetBinding = function(title,text) {\n\t\t\tif(title) {\n\t\t\t\tself.wiki.addTiddler(new $tw.Tiddler({title: title, text: text}));\n\t\t\t}\n\t\t};\n\tif(this.url) {\n\t\tsetBinding(this.bindStatus,\"pending\");\n\t\tsetBinding(this.bindProgress,\"0\");\n\t\t// Set the request tracker tiddler\n\t\tvar requestTrackerTitle = this.wiki.generateNewTitle(\"$:/temp/HttpRequest\");\n\t\tthis.wiki.addTiddler({\n\t\t\ttitle: requestTrackerTitle,\n\t\t\ttags: \"$:/tags/HttpRequest\",\n\t\t\ttext: JSON.stringify({\n\t\t\t\turl: this.url,\n\t\t\t\ttype: this.method,\n\t\t\t\tstatus: \"inprogress\",\n\t\t\t\theaders: this.requestHeaders,\n\t\t\t\tdata: this.body\n\t\t\t})\n\t\t});\n\t\tthis.xhr = $tw.utils.httpRequest({\n\t\t\turl: this.url,\n\t\t\ttype: this.method,\n\t\t\tuseDefaultHeaders: this.useDefaultHeaders,\n\t\t\theaders: this.requestHeaders,\n\t\t\tdata: this.body,\n\t\t\treturnProp: this.binary === \"\" ? \"responseText\" : \"response\",\n\t\t\tresponseType: this.binary === \"\" ? \"text\" : \"arraybuffer\",\n\t\t\tcallback: function(err,data,xhr) {\n\t\t\t\tvar hasSucceeded = xhr.status >= 200 && xhr.status < 300,\n\t\t\t\t\tcompletionCode = hasSucceeded ? \"complete\" : \"error\",\n\t\t\t\t\theaders = {};\n\t\t\t\t$tw.utils.each(xhr.getAllResponseHeaders().split(\"\\r\\n\"),function(line) {\n\t\t\t\t\tvar pos = line.indexOf(\":\");\n\t\t\t\t\tif(pos !== -1) {\n\t\t\t\t\t\theaders[line.substr(0,pos)] = line.substr(pos + 1).trim();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tsetBinding(self.bindStatus,completionCode);\n\t\t\t\tsetBinding(self.bindProgress,\"100\");\n\t\t\t\tvar resultVariables = {\n\t\t\t\t\tstatus: xhr.status.toString(),\n\t\t\t\t\tstatusText: xhr.statusText,\n\t\t\t\t\terror: (err || \"\").toString(),\n\t\t\t\t\tdata: (data || \"\").toString(),\n\t\t\t\t\theaders: JSON.stringify(headers)\n\t\t\t\t};\n\t\t\t\t/* Convert data from binary to base64 */\n\t\t\t\tif(xhr.responseType === \"arraybuffer\") {\n\t\t\t\t\tvar binary = \"\",\n\t\t\t\t\t\tbytes = new Uint8Array(data),\n\t\t\t\t\t\tlen = bytes.byteLength;\n\t\t\t\t\tfor(var i=0; i<len; i++) {\n\t\t\t\t\t\tbinary += String.fromCharCode(bytes[i]);\n\t\t\t\t\t}\n\t\t\t\t\tresultVariables.data = $tw.utils.base64Encode(binary,true);\n\t\t\t\t}\n\t\t\t\tself.wiki.addTiddler(new $tw.Tiddler(self.wiki.getTiddler(requestTrackerTitle),{\n\t\t\t\t\tstatus: completionCode,\n\t\t\t\t}));\n\t\t\t\tself.wiki.invokeActionString(self.completionActions,undefined,$tw.utils.extend({},self.variables,resultVariables),{parentWidget: $tw.rootWidget});\n\t\t\t\tcallback(hasSucceeded ? null : xhr.statusText);\n\t\t\t\t// console.log(\"Back!\",err,data,xhr);\n\t\t\t},\n\t\t\tprogress: function(lengthComputable,loaded,total) {\n\t\t\t\tif(lengthComputable) {\n\t\t\t\t\tsetBinding(self.bindProgress,\"\" + Math.floor((loaded/total) * 100));\n\t\t\t\t}\n\t\t\t\tself.wiki.invokeActionString(self.progressActions,undefined,$tw.utils.extend({},self.variables,{\n\t\t\t\t\tlengthComputable: lengthComputable ? \"yes\" : \"no\",\n\t\t\t\t\tloaded: loaded,\n\t\t\t\t\ttotal: total\n\t\t\t\t}),{parentWidget: $tw.rootWidget});\n\t\t\t}\n\t\t});\n\t}\n};\n\nHttpClientRequest.prototype.cancel = function() {\n\tif(this.xhr) {\n\t\tthis.xhr.abort();\n\t}\n};\n\nexports.HttpClient = HttpClient;\n\n/*\nMake an HTTP request. Options are:\n\turl: URL to retrieve\n\theaders: hashmap of headers to send\n\ttype: GET, PUT, POST etc\n\tcallback: function invoked with (err,data,xhr)\n\tprogress: optional function invoked with (lengthComputable,loaded,total)\n\treturnProp: string name of the property to return as first argument of callback\n\tresponseType: \"text\" or \"arraybuffer\"\n*/\nexports.httpRequest = function(options) {\n\tvar type = options.type || \"GET\",\n\t\turl = options.url,\n\t\tuseDefaultHeaders = options.useDefaultHeaders !== false ? true : false,\n\t\theaders = options.headers || (useDefaultHeaders ? {accept: \"application/json\"} : {}),\n\t\thasHeader = function(targetHeader) {\n\t\t\ttargetHeader = targetHeader.toLowerCase();\n\t\t\tvar result = false;\n\t\t\t$tw.utils.each(headers,function(header,headerTitle,object) {\n\t\t\t\tif(headerTitle.toLowerCase() === targetHeader) {\n\t\t\t\t\tresult = true;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn result;\n\t\t},\n\t\tgetHeader = function(targetHeader) {\n\t\t\treturn headers[targetHeader] || headers[targetHeader.toLowerCase()];\n\t\t},\n\t\tisSimpleRequest = function(type,headers) {\n\t\t\tif([\"GET\",\"HEAD\",\"POST\"].indexOf(type) === -1) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tfor(var header in headers) {\n\t\t\t\tif([\"accept\",\"accept-language\",\"content-language\",\"content-type\"].indexOf(header.toLowerCase()) === -1) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(hasHeader(\"Content-Type\") && [\"application/x-www-form-urlencoded\",\"multipart/form-data\",\"text/plain\"].indexOf(getHeader[\"Content-Type\"]) === -1) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\treturnProp = options.returnProp || \"responseText\",\n\t\trequest = new XMLHttpRequest(),\n\t\tdata = \"\",\n\t\tresults;\n\t// Massage the data hashmap into a string\n\tif(options.data) {\n\t\tif(typeof options.data === \"string\") { // Already a string\n\t\t\tdata = options.data;\n\t\t} else { // A hashmap of strings\n\t\t\tresults = [];\n\t\t\t$tw.utils.each(options.data,function(dataItem,dataItemTitle) {\n\t\t\t\tresults.push(dataItemTitle + \"=\" + encodeURIComponent(dataItem));\n\t\t\t});\n\t\t\tif(type === \"GET\" || type === \"HEAD\") {\n\t\t\t\turl += \"?\" + results.join(\"&\");\n\t\t\t} else {\n\t\t\t\tdata = results.join(\"&\");\n\t\t\t}\n\t\t}\n\t}\n\trequest.responseType = options.responseType || \"text\";\n\t// Set up the state change handler\n\trequest.onreadystatechange = function() {\n\t\tif(this.readyState === 4) {\n\t\t\tif(this.status >= 200 && this.status < 300) {\n\t\t\t\t// Success!\n\t\t\t\toptions.callback(null,this[returnProp],this);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Something went wrong\n\t\t\toptions.callback($tw.language.getString(\"Error/XMLHttpRequest\") + \": \" + this.status,this[returnProp],this);\n\t\t}\n\t};\n\t// Handle progress\n\tif(options.progress) {\n\t\trequest.onprogress = function(event) {\n\t\t\tconsole.log(\"Progress event\",event);\n\t\t\toptions.progress(event.lengthComputable,event.loaded,event.total);\n\t\t};\n\t}\n\t// Make the request\n\trequest.open(type,url,true);\n\t// Headers\n\tif(headers) {\n\t\t$tw.utils.each(headers,function(header,headerTitle,object) {\n\t\t\trequest.setRequestHeader(headerTitle,header);\n\t\t});\n\t}\n\tif(data && !hasHeader(\"Content-Type\") && useDefaultHeaders) {\n\t\trequest.setRequestHeader(\"Content-Type\",\"application/x-www-form-urlencoded; charset=UTF-8\");\n\t}\n\tif(!hasHeader(\"X-Requested-With\") && !isSimpleRequest(type,headers) && useDefaultHeaders) {\n\t\trequest.setRequestHeader(\"X-Requested-With\",\"TiddlyWiki\");\n\t}\n\t// Send data\n\ttry {\n\t\trequest.send(data);\n\t} catch(e) {\n\t\toptions.callback(e,null,this);\n\t}\n\treturn request;\n};\n\nexports.setQueryStringParameter = function(url,paramName,paramValue) {\n\tvar URL = $tw.browser ? window.URL : require(\"url\").URL,\n\t\tnewUrl;\n\ttry {\n\t\tnewUrl = new URL(url);\n\t} catch(e) {\n\t}\n\tif(newUrl && paramName) {\n\t\tnewUrl.searchParams.set(paramName,paramValue || \"\");\n\t\treturn newUrl.toString();\n\t} else {\n\t\treturn url;\n\t}\n};\n"
  },
  {
    "path": "core/modules/utils/dom/keyboard.js",
    "content": "/*\\\ntitle: $:/core/modules/utils/dom/keyboard.js\ntype: application/javascript\nmodule-type: utils\n\nKeyboard utilities; now deprecated. Instead, use $tw.keyboardManager\n\n\\*/\n\n\"use strict\";\n\n[\"parseKeyDescriptor\",\"checkKeyDescriptor\"].forEach(function(method) {\n\texports[method] = function() {\n\t\tif($tw.keyboardManager) {\n\t\t\treturn $tw.keyboardManager[method].apply($tw.keyboardManager,Array.prototype.slice.call(arguments,0));\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t};\n});\n"
  },
  {
    "path": "core/modules/utils/dom/modal.js",
    "content": "/*\\\ntitle: $:/core/modules/utils/dom/modal.js\ntype: application/javascript\nmodule-type: utils\n\nModal message mechanism\n\n\\*/\n\n\"use strict\";\n\nvar navigator = require(\"$:/core/modules/widgets/navigator.js\");\n\nvar Modal = function(wiki) {\n\tthis.wiki = wiki;\n\tthis.modalCount = 0;\n};\n\n/*\nDisplay a modal dialogue\n\ttitle: Title of tiddler to display\n\toptions: see below\nOptions include:\n\tdownloadLink: Text of a big download link to include\n\tevent: widget event\n\tvariables: from event.paramObject\n*/\nModal.prototype.display = function(title,options) {\n\toptions = options || {};\n\tthis.srcDocument = options.variables && (options.variables.rootwindow === \"true\" ||\n\t\t\t\toptions.variables.rootwindow === \"yes\") ? document :\n\t\t(options.event && options.event.event && options.event.event.target ? options.event.event.target.ownerDocument : document);\n\tthis.srcWindow = this.srcDocument.defaultView;\n\tvar self = this,\n\t\trefreshHandler,\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\ttiddler = this.wiki.getTiddler(title);\n\t// Don't do anything if the tiddler doesn't exist\n\tif(!tiddler) {\n\t\treturn;\n\t}\n\t// Create the variables\n\tvar variables = $tw.utils.extend({\n\t\tcurrentTiddler: title,\n\t\t\"tv-story-list\": (options.event && options.event.widget ? options.event.widget.getVariable(\"tv-story-list\") : \"\"),\n\t\t\"tv-history-list\": (options.event && options.event.widget ? options.event.widget.getVariable(\"tv-history-list\") : \"\")\n\t},options.variables);\n\n\t// Create the wrapper divs\n\tvar wrapper = this.srcDocument.createElement(\"div\"),\n\t\tmodalBackdrop = this.srcDocument.createElement(\"div\"),\n\t\tmodalWrapper = this.srcDocument.createElement(\"div\"),\n\t\tmodalHeader = this.srcDocument.createElement(\"div\"),\n\t\theaderTitle = this.srcDocument.createElement(\"h3\"),\n\t\tmodalBody = this.srcDocument.createElement(\"div\"),\n\t\tmodalLink = this.srcDocument.createElement(\"a\"),\n\t\tmodalFooter = this.srcDocument.createElement(\"div\"),\n\t\tmodalFooterHelp = this.srcDocument.createElement(\"span\"),\n\t\tmodalFooterButtons = this.srcDocument.createElement(\"span\");\n\t// Up the modal count and adjust the body class\n\tthis.modalCount++;\n\tthis.adjustPageClass();\n\t// Add classes\n\t$tw.utils.addClass(wrapper,\"tc-modal-wrapper\");\n\tif(tiddler.fields && tiddler.fields.class) {\n\t\t$tw.utils.addClass(wrapper,tiddler.fields.class);\n\t}\n\t$tw.utils.addClass(modalBackdrop,\"tc-modal-backdrop\");\n\t$tw.utils.addClass(modalWrapper,\"tc-modal\");\n\t$tw.utils.addClass(modalHeader,\"tc-modal-header\");\n\t$tw.utils.addClass(modalBody,\"tc-modal-body\");\n\t$tw.utils.addClass(modalFooter,\"tc-modal-footer\");\n\t// Join them together\n\twrapper.appendChild(modalBackdrop);\n\twrapper.appendChild(modalWrapper);\n\tmodalHeader.appendChild(headerTitle);\n\tmodalWrapper.appendChild(modalHeader);\n\tmodalWrapper.appendChild(modalBody);\n\tmodalFooter.appendChild(modalFooterHelp);\n\tmodalFooter.appendChild(modalFooterButtons);\n\tmodalWrapper.appendChild(modalFooter);\n\tvar navigatorTree = {\n\t\t\"type\": \"navigator\",\n\t\t\"attributes\": {\n\t\t\t\"story\": {\n\t\t\t\t\"name\": \"story\",\n\t\t\t\t\"type\": \"string\",\n\t\t\t\t\"value\": variables[\"tv-story-list\"]\n\t\t\t},\n\t\t\t\"history\": {\n\t\t\t\t\"name\": \"history\",\n\t\t\t\t\"type\": \"string\",\n\t\t\t\t\"value\": variables[\"tv-history-list\"]\n\t\t\t}\n\t\t},\n\t\t\"tag\": \"$navigator\",\n\t\t\"isBlock\": true,\n\t\t\"children\": []\n\t};\n\tvar navigatorWidgetNode = new navigator.navigator(navigatorTree, {\n\t\twiki: this.wiki,\n\t\tdocument : this.srcDocument,\n\t\tparentWidget: $tw.rootWidget\n\t});\n\tnavigatorWidgetNode.render(modalBody,null);\n\n\t// Render the title of the message\n\tvar headerWidgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tfield: \"subtitle\",\n\t\tmode: \"inline\",\n\t\tchildren: [{\n\t\t\ttype: \"text\",\n\t\t\tattributes: {\n\t\t\t\ttext: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalue: title\n\t\t\t\t}}}],\n\t\tparentWidget: navigatorWidgetNode,\n\t\tdocument: this.srcDocument,\n\t\tvariables: variables,\n\t\timportPageMacros: true\n\t});\n\theaderWidgetNode.render(headerTitle,null);\n\t// Render the body of the message\n\tvar bodyWidgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tparentWidget: navigatorWidgetNode,\n\t\tdocument: this.srcDocument,\n\t\tvariables: variables,\n\t\timportPageMacros: true\n\t});\n\n\tbodyWidgetNode.render(modalBody,null);\n\t// Setup the link if present\n\tif(options.downloadLink) {\n\t\tmodalLink.href = options.downloadLink;\n\t\tmodalLink.appendChild(this.srcDocument.createTextNode(\"Right-click to save changes\"));\n\t\tmodalBody.appendChild(modalLink);\n\t}\n\t// Render the footer of the message\n\tif(tiddler.fields && tiddler.fields.help) {\n\t\tvar link = this.srcDocument.createElement(\"a\");\n\t\tlink.setAttribute(\"href\",tiddler.fields.help);\n\t\tlink.setAttribute(\"target\",\"_blank\");\n\t\tlink.setAttribute(\"rel\",\"noopener noreferrer\");\n\t\tlink.setAttribute(\"class\",\"tc-tiddlylink-external\");\n\t\tlink.appendChild(this.srcDocument.createTextNode(\"Help\"));\n\t\tmodalFooterHelp.appendChild(link);\n\t\tmodalFooterHelp.style.float = \"left\";\n\t}\n\tvar footerWidgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tfield: \"footer\",\n\t\tmode: \"inline\",\n\t\tchildren: [{\n\t\t\ttype: \"button\",\n\t\t\tattributes: {\n\t\t\t\tmessage: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalue: \"tm-close-tiddler\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\",\n\t\t\t\tattributes: {\n\t\t\t\t\ttext: {\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tvalue: $tw.language.getString(\"Buttons/Close/Caption\")\n\t\t\t\t\t}}}\n\t\t\t]}],\n\t\tparentWidget: navigatorWidgetNode,\n\t\tdocument: this.srcDocument,\n\t\tvariables: variables,\n\t\timportPageMacros: true\n\t});\n\tfooterWidgetNode.render(modalFooterButtons,null);\n\t// Set up the refresh handler\n\trefreshHandler = function(changes) {\n\t\theaderWidgetNode.refresh(changes,modalHeader,null);\n\t\tbodyWidgetNode.refresh(changes,modalBody,null);\n\t\tfooterWidgetNode.refresh(changes,modalFooterButtons,null);\n\t};\n\tthis.wiki.addEventListener(\"change\",refreshHandler);\n\t// Add the close event handler\n\tvar closeHandler = function(event) {\n\t\t// Remove our refresh handler\n\t\tself.wiki.removeEventListener(\"change\",refreshHandler);\n\t\t// Decrease the modal count and adjust the body class\n\t\tself.modalCount--;\n\t\tself.adjustPageClass();\n\t\t// Force layout and animate the modal message away\n\t\t$tw.utils.forceLayout(modalBackdrop);\n\t\t$tw.utils.forceLayout(modalWrapper);\n\t\t$tw.utils.setStyle(modalBackdrop,[\n\t\t\t{opacity: \"0\"}\n\t\t]);\n\t\t$tw.utils.setStyle(modalWrapper,[\n\t\t\t{transform: \"translateY(\" + self.srcWindow.innerHeight + \"px)\"}\n\t\t]);\n\t\t// Set up an event for the transition end\n\t\tself.srcWindow.setTimeout(function() {\n\t\t\tif(wrapper.parentNode) {\n\t\t\t\t// Remove the modal message from the DOM\n\t\t\t\tself.srcDocument.body.removeChild(wrapper);\n\t\t\t}\n\t\t},duration);\n\t\t// Don't let anyone else handle the tm-close-tiddler message\n\t\treturn false;\n\t};\n\theaderWidgetNode.addEventListener(\"tm-close-tiddler\",closeHandler,false);\n\tbodyWidgetNode.addEventListener(\"tm-close-tiddler\",closeHandler,false);\n\tfooterWidgetNode.addEventListener(\"tm-close-tiddler\",closeHandler,false);\n\t// Whether to close the modal dialog when the mask (area outside the modal) is clicked\n\tif(tiddler.fields && (tiddler.fields[\"mask-closable\"] === \"yes\" || tiddler.fields[\"mask-closable\"] === \"true\" || tiddler.fields[\"mask-closable\"] === \"\" || \"mask-closable\" in tiddler.fields === false)) {\n\t\tmodalBackdrop.addEventListener(\"click\",closeHandler,false);\n\t}\n\t// Set the initial styles for the message\n\t$tw.utils.setStyle(modalBackdrop,[\n\t\t{opacity: \"0\"}\n\t]);\n\t$tw.utils.setStyle(modalWrapper,[\n\t\t{transformOrigin: \"0% 0%\"},\n\t\t{transform: \"translateY(\" + (-this.srcWindow.innerHeight) + \"px)\"}\n\t]);\n\t// Put the message into the document\n\tthis.srcDocument.body.appendChild(wrapper);\n\t// Set up animation for the styles\n\t$tw.utils.setStyle(modalBackdrop,[\n\t\t{transition: \"opacity \" + duration + \"ms ease-out\"}\n\t]);\n\t$tw.utils.setStyle(modalWrapper,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out\"}\n\t]);\n\t// Force layout\n\t$tw.utils.forceLayout(modalBackdrop);\n\t$tw.utils.forceLayout(modalWrapper);\n\t// Set final animated styles\n\t$tw.utils.setStyle(modalBackdrop,[\n\t\t{opacity: \"0.7\"}\n\t]);\n\t$tw.utils.setStyle(modalWrapper,[\n\t\t{transform: \"translateY(0px)\"}\n\t]);\n};\n\nModal.prototype.adjustPageClass = function() {\n\tvar windowContainer = $tw.pageContainer ? ($tw.pageContainer === this.srcDocument.body.firstChild ? $tw.pageContainer : this.srcDocument.body.firstChild) : null;\n\tif(windowContainer) {\n\t\t$tw.utils.toggleClass(windowContainer,\"tc-modal-displayed\",this.modalCount > 0);\n\t}\n\t$tw.utils.toggleClass(this.srcDocument.body,\"tc-modal-prevent-scroll\",this.modalCount > 0);\n};\n\nexports.Modal = Modal;\n"
  },
  {
    "path": "core/modules/utils/dom/notifier.js",
    "content": "/*\\\ntitle: $:/core/modules/utils/dom/notifier.js\ntype: application/javascript\nmodule-type: utils\n\nNotifier mechanism\n\n\\*/\n\n\"use strict\";\n\nvar Notifier = function(wiki) {\n\tthis.wiki = wiki;\n};\n\n/*\nDisplay a notification\n\ttitle: Title of tiddler containing the notification text\n\toptions: see below\nOptions include:\n*/\nNotifier.prototype.display = function(title,options) {\n\toptions = options || {};\n\t// Create the wrapper divs\n\tvar self = this,\n\t\tnotification = document.createElement(\"div\"),\n\t\ttiddler = this.wiki.getTiddler(title),\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\trefreshHandler;\n\t// Don't do anything if the tiddler doesn't exist\n\tif(!tiddler) {\n\t\treturn;\n\t}\n\t// Add classes and roles\n\t$tw.utils.addClass(notification,\"tc-notification\");\n\tnotification.setAttribute(\"role\",\"alert\");\n\t// Create the variables\n\tvar variables = $tw.utils.extend({currentTiddler: title},options.variables);\n\t// Render the body of the notification\n\tvar widgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tparentWidget: $tw.rootWidget,\n\t\tdocument: document,\n\t\tvariables: variables,\n\t\timportPageMacros: true});\n\twidgetNode.render(notification,null);\n\trefreshHandler = function(changes) {\n\t\twidgetNode.refresh(changes,notification,null);\n\t};\n\tthis.wiki.addEventListener(\"change\",refreshHandler);\n\t// Set the initial styles for the notification\n\t$tw.utils.setStyle(notification,[\n\t\t{opacity: \"0\"},\n\t\t{transformOrigin: \"0% 0%\"},\n\t\t{transform: \"translateY(\" + (-window.innerHeight) + \"px)\"},\n\t\t{transition: \"opacity \" + duration + \"ms ease-out, \" + $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out\"}\n\t]);\n\t// Add the notification to the DOM\n\tdocument.body.appendChild(notification);\n\t// Force layout\n\t$tw.utils.forceLayout(notification);\n\t// Set final animated styles\n\t$tw.utils.setStyle(notification,[\n\t\t{opacity: \"1.0\"},\n\t\t{transform: \"translateY(0px)\"}\n\t]);\n\t// Set a timer to remove the notification\n\twindow.setTimeout(function() {\n\t\t// Remove our change event handler\n\t\tself.wiki.removeEventListener(\"change\",refreshHandler);\n\t\t// Force layout and animate the notification away\n\t\t$tw.utils.forceLayout(notification);\n\t\t$tw.utils.setStyle(notification,[\n\t\t\t{opacity: \"0.0\"},\n\t\t\t{transform: \"translateX(\" + (notification.offsetWidth) + \"px)\"}\n\t\t]);\n\t\t// Remove the modal message from the DOM once the transition ends\n\t\tsetTimeout(function() {\n\t\t\tif(notification.parentNode) {\n\t\t\t\tdocument.body.removeChild(notification);\n\t\t\t}\n\t\t},duration);\n\t},$tw.config.preferences.notificationDuration);\n};\n\nexports.Notifier = Notifier;\n"
  },
  {
    "path": "core/modules/utils/dom/popup.js",
    "content": "/*\\\ntitle: $:/core/modules/utils/dom/popup.js\ntype: application/javascript\nmodule-type: utils\n\nModule that creates a $tw.utils.Popup object prototype that manages popups in the browser\n\n\\*/\n\n\"use strict\";\n\n/*\nCreates a Popup object with these options:\n\trootElement: the DOM element to which the popup zapper should be attached\n*/\nvar Popup = function(options) {\n\toptions = options || {};\n\tthis.rootElement = options.rootElement || document.documentElement;\n\tthis.popups = []; // Array of {title:,wiki:,domNode:} objects\n};\n\n/*\nGlobal regular expression for parsing the location of a popup.\nThis is also used by the Reveal widget.\n*/\nexports.popupLocationRegExp = /^(@?)\\((-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+)\\)$/;\n\n/*\nObjekt containing the available prefixes for coordinates build with the `buildCoordinates` function:\n - csOffsetParent: Uses a coordinate system based on the offset parent (no prefix).\n - csAbsolute: Use an absolute coordinate system (prefix \"@\").\n*/\nexports.coordinatePrefix = { csOffsetParent: \"\", csAbsolute: \"@\" };\n\n/*\nTrigger a popup open or closed. Parameters are in a hashmap:\n\ttitle: title of the tiddler where the popup details are stored\n\tdomNode: dom node to which the popup will be positioned (one of domNode or domNodeRect is required)\n\tdomNodeRect: rectangle to which the popup will be positioned\n\twiki: wiki\n\tforce: if specified, forces the popup state to true or false (instead of toggling it)\n\tfloating: if true, skips registering the popup, meaning that it will need manually clearing\n*/\nPopup.prototype.triggerPopup = function(options) {\n\t// Check if this popup is already active\n\tvar index = this.findPopup(options.title);\n\t// Compute the new state\n\tvar state = index === -1;\n\tif(options.force !== undefined) {\n\t\tstate = options.force;\n\t}\n\t// Show or cancel the popup according to the new state\n\tif(state) {\n\t\tthis.show(options);\n\t} else {\n\t\tthis.cancel(index);\n\t}\n};\n\nPopup.prototype.findPopup = function(title) {\n\tvar index = -1;\n\tfor(var t=0; t<this.popups.length; t++) {\n\t\tif(this.popups[t].title === title) {\n\t\t\tindex = t;\n\t\t}\n\t}\n\treturn index;\n};\n\nPopup.prototype.handleEvent = function(event) {\n\tif(event.type === \"click\") {\n\t\t// Find out what was clicked on\n\t\tvar info = this.popupInfo(event.target),\n\t\t\tcancelLevel = info.popupLevel - 1;\n\t\t// Don't remove the level that was clicked on if we clicked on a handle\n\t\tif(info.isHandle) {\n\t\t\tcancelLevel++;\n\t\t}\n\t\t// Cancel\n\t\tthis.cancel(cancelLevel);\n\t}\n};\n\n/*\nFind the popup level containing a DOM node. Returns:\npopupLevel: count of the number of nested popups containing the specified element\nisHandle: true if the specified element is within a popup handle\n*/\nPopup.prototype.popupInfo = function(domNode) {\n\tvar isHandle = false,\n\t\tpopupCount = 0,\n\t\tnode = domNode;\n\t// First check ancestors to see if we're within a popup handle\n\twhile(node) {\n\t\tif($tw.utils.hasClass(node,\"tc-popup-handle\")) {\n\t\t\tisHandle = true;\n\t\t\tpopupCount++;\n\t\t}\n\t\tif($tw.utils.hasClass(node,\"tc-popup-keep\")) {\n\t\t\tisHandle = true;\n\t\t}\n\t\tnode = node.parentNode;\n\t}\n\t// Then count the number of ancestor popups\n\tnode = domNode;\n\twhile(node) {\n\t\tif($tw.utils.hasClass(node,\"tc-popup\")) {\n\t\t\tpopupCount++;\n\t\t}\n\t\tnode = node.parentNode;\n\t}\n\tvar info = {\n\t\tpopupLevel: popupCount,\n\t\tisHandle: isHandle\n\t};\n\treturn info;\n};\n\n/*\nDisplay a popup by adding it to the stack\n*/\nPopup.prototype.show = function(options) {\n\t// Find out what was clicked on\n\tvar info = this.popupInfo(options.domNode);\n\t// Cancel any higher level popups\n\tthis.cancel(info.popupLevel);\n\n\t// Store the popup details if not already there\n\tif(!options.floating && this.findPopup(options.title) === -1) {\n\t\tthis.popups.push({\n\t\t\ttitle: options.title,\n\t\t\twiki: options.wiki,\n\t\t\tdomNode: options.domNode,\n\t\t\tnoStateReference: options.noStateReference\n\t\t});\n\t}\n\t// Set the state tiddler\n\tvar rect;\n\tif(options.domNodeRect) {\n\t\trect = options.domNodeRect;\n\t} else {\n\t\trect = {\n\t\t\tleft: options.domNode.offsetLeft,\n\t\t\ttop: options.domNode.offsetTop,\n\t\t\twidth: options.domNode.offsetWidth,\n\t\t\theight: options.domNode.offsetHeight\n\t\t};\n\t}\n\tif(options.absolute && options.domNode) {\n\t\t// Walk the offsetParent chain and add the position of the offsetParents to make\n\t\t// the position absolute to the root node of the page.\n\t\tvar currentNode = options.domNode.offsetParent;\n\t\twhile(currentNode) {\n\t\t\trect.left += currentNode.offsetLeft;\n\t\t\trect.top += currentNode.offsetTop;\n\t\t\tcurrentNode = currentNode.offsetParent;\n\t\t}\n\t}\n\tvar popupRect = exports.buildCoordinates(options.absolute?exports.coordinatePrefix.csAbsolute:exports.coordinatePrefix.csOffsetParent,rect);\n\tif(options.noStateReference) {\n\t\toptions.wiki.setText(options.title,\"text\",undefined,popupRect);\n\t} else {\n\t\toptions.wiki.setTextReference(options.title,popupRect);\n\t}\n\t// Add the click handler if we have any popups\n\tif(this.popups.length > 0) {\n\t\tthis.rootElement.addEventListener(\"click\",this,true);\n\t}\n};\n\n/*\nCancel all popups at or above a specified level or DOM node\nlevel: popup level to cancel (0 cancels all popups)\n*/\nPopup.prototype.cancel = function(level) {\n\tvar numPopups = this.popups.length;\n\tlevel = Math.max(0,Math.min(level,numPopups));\n\tfor(var t=level; t<numPopups; t++) {\n\t\tvar popup = this.popups.pop();\n\t\tif(popup.title) {\n\t\t\tif(popup.noStateReference) {\n\t\t\t\tpopup.wiki.deleteTiddler(popup.title);\n\t\t\t} else {\n\t\t\t\tpopup.wiki.deleteTiddler($tw.utils.parseTextReference(popup.title).title);\n\t\t\t}\n\t\t}\n\t}\n\tif(this.popups.length === 0) {\n\t\tthis.rootElement.removeEventListener(\"click\",this,false);\n\t}\n};\n\n/*\nReturns true if the specified title and text identifies an active popup.\nThis function is safe to call, even if the popup class was not initialized.\n*/\nexports.readPopupState = function(text) {\n\treturn exports.popupLocationRegExp.test(text);\n};\n\n/*\nParses a coordinate string in the format `(x,y,w,h)` or `@(x,y,z,h)` and returns\nan object containing the position, width and height. The absolute-Mark is boolean\nvalue that indicates the coordinate system of the coordinates. If they start with\nan `@`, `absolute` is set to true and the coordinates are relative to the root\nelement. If the initial `@` is missing, they are relative to the offset parent\nelement and `absoute` is false.\nThis function is safe to call, even if the popup class was not initialized.\n*/\nexports.parseCoordinates = function(coordinates) {\n\tvar match = exports.popupLocationRegExp.exec(coordinates);\n\tif(match) {\n\t\treturn {\n\t\t\tabsolute: (match[1] === \"@\"),\n\t\t\tleft: parseFloat(match[2]),\n\t\t\ttop: parseFloat(match[3]),\n\t\t\twidth: parseFloat(match[4]),\n\t\t\theight: parseFloat(match[5])\n\t\t};\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/*\nBuilds a coordinate string from a coordinate system identifier and an object\ncontaining the left, top, width and height values.\nUse constants defined in coordinatePrefix to specify a coordinate system.\nIf one of the parameters is invalid for building a coordinate string `(0,0,0,0)`\nwill be returned.\nThis function is safe to call, even if the popup class was not initialized.\n*/\nexports.buildCoordinates = function(prefix,position) {\n\tvar coord = prefix + \"(\" + position.left + \",\" + position.top + \",\" + position.width + \",\" + position.height + \")\";\n\tif(exports.popupLocationRegExp.test(coord)) {\n\t\treturn coord;\n\t} else {\n\t\treturn \"(0,0,0,0)\";\n\t}\n};\n\nexports.Popup = Popup;\n"
  },
  {
    "path": "core/modules/utils/dom/scroller.js",
    "content": "/*\\\ntitle: $:/core/modules/utils/dom/scroller.js\ntype: application/javascript\nmodule-type: utils\n\nModule that creates a $tw.utils.Scroller object prototype that manages scrolling in the browser\n\n\\*/\n\n\"use strict\";\n\n/*\nEvent handler for when the `tm-scroll` event hits the document body\n*/\nvar PageScroller = function() {\n\tthis.idRequestFrame = null;\n\tthis.requestAnimationFrame = window.requestAnimationFrame ||\n\t\twindow.webkitRequestAnimationFrame ||\n\t\twindow.mozRequestAnimationFrame ||\n\t\tfunction(callback) {\n\t\t\treturn window.setTimeout(callback, 1000/60);\n\t\t};\n\tthis.cancelAnimationFrame = window.cancelAnimationFrame ||\n\t\twindow.webkitCancelAnimationFrame ||\n\t\twindow.webkitCancelRequestAnimationFrame ||\n\t\twindow.mozCancelAnimationFrame ||\n\t\twindow.mozCancelRequestAnimationFrame ||\n\t\tfunction(id) {\n\t\t\twindow.clearTimeout(id);\n\t\t};\n};\n\nPageScroller.prototype.isScrolling = function() {\n\treturn this.idRequestFrame !== null;\n};\n\nPageScroller.prototype.cancelScroll = function(srcWindow) {\n\tif(this.idRequestFrame) {\n\t\tthis.cancelAnimationFrame.call(srcWindow,this.idRequestFrame);\n\t\tthis.idRequestFrame = null;\n\t}\n};\n\n/*\nHandle an event\n*/\nPageScroller.prototype.handleEvent = function(event) {\n\tif(event.type === \"tm-scroll\") {\n\t\tvar options = {};\n\t\tif($tw.utils.hop(event.paramObject,\"animationDuration\")) {\n\t\t\toptions.animationDuration = event.paramObject.animationDuration;\n\t\t}\n\t\tif(event.paramObject && event.paramObject.selector) {\n\t\t\tthis.scrollSelectorIntoView(null,event.paramObject.selector,null,options);\n\t\t} else {\n\t\t\tthis.scrollIntoView(event.target,null,options);\n\t\t}\n\t\treturn false; // Event was handled\n\t}\n\treturn true;\n};\n\n/*\nHandle a scroll event hitting the page document\n*/\nPageScroller.prototype.scrollIntoView = function(element,callback,options) {\n\tvar self = this,\n\t\tduration = $tw.utils.hop(options,\"animationDuration\") ? parseInt(options.animationDuration) : $tw.utils.getAnimationDuration(),\n\t\tsrcWindow = element ? element.ownerDocument.defaultView : window;\n\t// Now get ready to scroll the body\n\tthis.cancelScroll(srcWindow);\n\tthis.startTime = Date.now();\n\t// Get the height of any position:fixed toolbars\n\tvar toolbar = srcWindow.document.querySelector(\".tc-adjust-top-of-scroll\"),\n\t\toffset = 0;\n\tif(toolbar) {\n\t\toffset = toolbar.offsetHeight;\n\t}\n\t// Get the client bounds of the element and adjust by the scroll position\n\tvar getBounds = function() {\n\t\t\tvar clientBounds = typeof callback === \"function\" ? callback() : element.getBoundingClientRect(),\n\t\t\t\tscrollPosition = $tw.utils.getScrollPosition(srcWindow);\n\t\t\treturn {\n\t\t\t\tleft: clientBounds.left + scrollPosition.x,\n\t\t\t\ttop: clientBounds.top + scrollPosition.y - offset,\n\t\t\t\twidth: clientBounds.width,\n\t\t\t\theight: clientBounds.height\n\t\t\t};\n\t\t},\n\t\t// We'll consider the horizontal and vertical scroll directions separately via this function\n\t\t// targetPos/targetSize - position and size of the target element\n\t\t// currentPos/currentSize - position and size of the current scroll viewport\n\t\t// returns: new position of the scroll viewport\n\t\tgetEndPos = function(targetPos,targetSize,currentPos,currentSize) {\n\t\t\tvar newPos = targetPos;\n\t\t\t// If we are scrolling within 50 pixels of the top/left then snap to zero\n\t\t\tif(newPos < 50) {\n\t\t\t\tnewPos = 0;\n\t\t\t}\n\t\t\treturn newPos;\n\t\t},\n\t\tdrawFrame = function drawFrame() {\n\t\t\tvar t;\n\t\t\tif(duration <= 0) {\n\t\t\t\tt = 1;\n\t\t\t} else {\n\t\t\t\tt = ((Date.now()) - self.startTime) / duration;\n\t\t\t}\n\t\t\tif(t >= 1) {\n\t\t\t\tself.cancelScroll(srcWindow);\n\t\t\t\tt = 1;\n\t\t\t}\n\t\t\tt = $tw.utils.slowInSlowOut(t);\n\t\t\tvar scrollPosition = $tw.utils.getScrollPosition(srcWindow),\n\t\t\t\tbounds = getBounds(),\n\t\t\t\tendX = getEndPos(bounds.left,bounds.width,scrollPosition.x,srcWindow.innerWidth),\n\t\t\t\tendY = getEndPos(bounds.top,bounds.height,scrollPosition.y,srcWindow.innerHeight);\n\t\t\tsrcWindow.scrollTo(scrollPosition.x + (endX - scrollPosition.x) * t,scrollPosition.y + (endY - scrollPosition.y) * t);\n\t\t\tif(t < 1) {\n\t\t\t\tself.idRequestFrame = self.requestAnimationFrame.call(srcWindow,drawFrame);\n\t\t\t}\n\t\t};\n\tdrawFrame();\n};\n\nPageScroller.prototype.scrollSelectorIntoView = function(baseElement,selector,callback,options) {\n\tbaseElement = baseElement || document;\n\tvar element = $tw.utils.querySelectorSafe(selector,baseElement);\n\tif(element) {\n\t\tthis.scrollIntoView(element,callback,options);\n\t}\n};\n\nexports.PageScroller = PageScroller;\n"
  },
  {
    "path": "core/modules/utils/errors.js",
    "content": "/*\\\ntitle: $:/core/modules/utils/errors.js\ntype: application/javascript\nmodule-type: utils\n\nCustom errors for TiddlyWiki.\n\n\\*/\n\nfunction TranscludeRecursionError() {\n\tError.apply(this,arguments);\n\tthis.signatures = Object.create(null);\n};\n\n/* Maximum permitted depth of the widget tree for recursion detection */\nTranscludeRecursionError.MAX_WIDGET_TREE_DEPTH = 1000;\n\nTranscludeRecursionError.prototype = Object.create(Error);\n\nexports.TranscludeRecursionError = TranscludeRecursionError;\n"
  },
  {
    "path": "core/modules/utils/escapecss.js",
    "content": "/*\\\ntitle: $:/core/modules/utils/escapecss.js\ntype: application/javascript\nmodule-type: utils-browser\n\nProvides CSS.escape() functionality.\n\n\\*/\n\n\"use strict\";\n\nexports.escapeCSS = (function() {\n\treturn window.CSS.escape;\n})();\n"
  },
  {
    "path": "core/modules/utils/fakedom.js",
    "content": "/*\\\ntitle: $:/core/modules/utils/fakedom.js\ntype: application/javascript\nmodule-type: global\n\nA barebones implementation of DOM interfaces needed by the rendering mechanism.\n\n\\*/\n\n\"use strict\";\n\n// Sequence number used to enable us to track objects for testing\nvar sequenceNumber = null;\n\nvar bumpSequenceNumber = function(object) {\n\tif(sequenceNumber !== null) {\n\t\tobject.sequenceNumber = sequenceNumber++;\n\t}\n};\n\nvar TW_Node = function (){\n\tthrow TypeError(\"Illegal constructor\");\n};\n\nObject.defineProperty(TW_Node.prototype, \"ELEMENT_NODE\", {\n\tget: function() {\n\t\treturn 1;\n\t}\n});\n\nObject.defineProperty(TW_Node.prototype, \"TEXT_NODE\", {\n\tget: function() {\n\t\treturn 3;\n\t}\n});\n\nvar TW_TextNode = function(text) {\n\tbumpSequenceNumber(this);\n\tthis.textContent = text + \"\";\n\tthis.children = [];\n};\n\nObject.setPrototypeOf(TW_TextNode.prototype,TW_Node.prototype);\n\nObject.defineProperty(TW_TextNode.prototype, \"nodeType\", {\n\tget: function() {\n\t\treturn this.TEXT_NODE;\n\t}\n});\n\nObject.defineProperty(TW_TextNode.prototype, \"formattedTextContent\", {\n\tget: function() {\n\t\treturn this.textContent.replace(/(\\r?\\n)/g,\"\");\n\t}\n});\n\nvar TW_Style = function(el) {\n\t// Define the internal style object\n\tvar styleObject = {\n\t\t// Method to get the entire style object\n\t\tget: function() {\n\t\t\treturn el._style;\n\t\t},\n\t\t// Method to set styles using a string (e.g. \"color:red; background-color:blue;\")\n\t\tset: function(str) {\n\t\t\tstr = str || \"\";\n\t\t\t$tw.utils.each(str.split(\";\"),function(declaration) {\n\t\t\t\tvar parts = declaration.split(\":\"),\n\t\t\t\t\tname = $tw.utils.trim(parts[0]),\n\t\t\t\t\tvalue = $tw.utils.trim(parts[1]);\n\t\t\t\tif(name && value) {\n\t\t\t\t\tel._style[$tw.utils.convertStyleNameToPropertyName(name)] = value;\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\t// Method to set a specific property without transforming the property name, such as a custom property\n\t\tsetProperty: function(name, value) {\n\t\t\tel._style[name] = value;\n\t\t}\n\t};\n\n\t// Return a Proxy to handle direct access to individual style properties\n\treturn new Proxy(styleObject, {\n\t\tget: function(target, property) {\n\t\t\t// If the property exists on styleObject, return it (get, set, setProperty methods)\n\t\t\tif(property in target) {\n\t\t\t\treturn target[property];\n\t\t\t}\n\t\t\t// Otherwise, return the corresponding property from _style\n\t\t\treturn el._style[$tw.utils.convertStyleNameToPropertyName(property)] || \"\";\n\t\t},\n\t\tset: function(target, property, value) {\n\t\t\t// Set the property in _style\n\t\t\tel._style[$tw.utils.convertStyleNameToPropertyName(property)] = value;\n\t\t\treturn true;\n\t\t}\n\t});\n};\n\nvar TW_Element = function(tag, namespace) {\n\tbumpSequenceNumber(this);\n\tthis.isTiddlyWikiFakeDom = true;\n\tthis.tag = tag;\n\tthis.attributes = {};\n\tthis.isRaw = false;\n\tthis.children = [];\n\tthis._style = {}; // Internal style object\n\tthis.style = new TW_Style(this); // Proxy for style management\n\tthis.namespaceURI = namespace || \"http://www.w3.org/1999/xhtml\";\n};\n\n\nObject.setPrototypeOf(TW_Element.prototype,TW_Node.prototype);\n\nObject.defineProperty(TW_Element.prototype, \"nodeType\", {\n\tget: function() {\n\t\treturn this.ELEMENT_NODE;\n\t}\n});\n\nTW_Element.prototype.getAttribute = function(name) {\n\tif(this.isRaw) {\n\t\tthrow \"Cannot getAttribute on a raw TW_Element\";\n\t}\n\treturn this.attributes[name];\n};\n\nTW_Element.prototype.setAttribute = function(name,value) {\n\tif(this.isRaw) {\n\t\tthrow \"Cannot setAttribute on a raw TW_Element\";\n\t}\n\tif(name === \"style\") {\n\t\tthis.style.set(value);\n\t} else {\n\t\tthis.attributes[name] = value + \"\";\n\t}\n};\n\nTW_Element.prototype.setAttributeNS = function(namespace,name,value) {\n\tthis.setAttribute(name,value);\n};\n\nTW_Element.prototype.removeAttribute = function(name) {\n\tif(this.isRaw) {\n\t\tthrow \"Cannot removeAttribute on a raw TW_Element\";\n\t}\n\tif($tw.utils.hop(this.attributes,name)) {\n\t\tdelete this.attributes[name];\n\t}\n};\n\nTW_Element.prototype.appendChild = function(node) {\n\tthis.children.push(node);\n\tnode.parentNode = this;\n};\n\nTW_Element.prototype.insertBefore = function(node,nextSibling) {\n\tif(nextSibling) {\n\t\tvar p = this.children.indexOf(nextSibling);\n\t\tif(p !== -1) {\n\t\t\tthis.children.splice(p,0,node);\n\t\t\tnode.parentNode = this;\n\t\t} else {\n\t\t\tthis.appendChild(node);\n\t\t}\n\t} else {\n\t\tthis.appendChild(node);\n\t}\n};\n\nTW_Element.prototype.removeChild = function(node) {\n\tvar p = this.children.indexOf(node);\n\tif(p !== -1) {\n\t\tthis.children.splice(p,1);\n\t}\n};\n\nTW_Element.prototype.hasChildNodes = function() {\n\treturn !!this.children.length;\n};\n\nObject.defineProperty(TW_Element.prototype, \"childNodes\", {\n\tget: function() {\n\t\treturn this.children;\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"firstChild\", {\n\tget: function() {\n\t\treturn this.children[0];\n\t}\n});\n\nTW_Element.prototype.addEventListener = function(type,listener,useCapture) {\n\t// Do nothing\n};\n\nObject.defineProperty(TW_Element.prototype, \"tagName\", {\n\tget: function() {\n\t\treturn this.tag || \"\";\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"className\", {\n\tget: function() {\n\t\treturn this.attributes[\"class\"] || \"\";\n\t},\n\tset: function(value) {\n\t\tthis.attributes[\"class\"] = value + \"\";\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"value\", {\n\tget: function() {\n\t\treturn this.attributes.value || \"\";\n\t},\n\tset: function(value) {\n\t\tthis.attributes.value = value + \"\";\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"outerHTML\", {\n\tget: function() {\n\t\tvar output = [],attr,a,v;\n\t\toutput.push(\"<\",this.tag);\n\t\tif(this.attributes) {\n\t\t\tattr = [];\n\t\t\tfor(a in this.attributes) {\n\t\t\t\tattr.push(a);\n\t\t\t}\n\t\t\tattr.sort();\n\t\t\tfor(a=0; a<attr.length; a++) {\n\t\t\t\tv = this.attributes[attr[a]];\n\t\t\t\tif(v !== undefined) {\n\t\t\t\t\toutput.push(\" \",attr[a],\"=\\\"\",$tw.utils.htmlEncode(v),\"\\\"\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif(this._style) {\n\t\t\tvar style = [];\n\t\t\tfor(var s in this._style) {\n\t\t\t\tstyle.push($tw.utils.convertPropertyNameToStyleName(s) + \":\" + this._style[s] + \";\");\n\t\t\t}\n\t\t\tif(style.length > 0) {\n\t\t\t\toutput.push(\" style=\\\"\",style.join(\"\"),\"\\\"\");\n\t\t\t}\n\t\t}\n\t\toutput.push(\">\");\n\t\tif($tw.config.htmlVoidElements.indexOf(this.tag) === -1) {\n\t\t\toutput.push(this.innerHTML);\n\t\t\toutput.push(\"</\",this.tag,\">\");\n\t\t}\n\t\treturn output.join(\"\");\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"innerHTML\", {\n\tget: function() {\n\t\tif(this.isRaw) {\n\t\t\treturn this.rawHTML;\n\t\t} else {\n\t\t\tvar b = [];\n\t\t\t$tw.utils.each(this.children,function(node) {\n\t\t\t\tif(node instanceof TW_Element) {\n\t\t\t\t\tb.push(node.outerHTML);\n\t\t\t\t} else if(node instanceof TW_TextNode) {\n\t\t\t\t\tb.push($tw.utils.htmlTextEncode(node.textContent));\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn b.join(\"\");\n\t\t}\n\t},\n\tset: function(value) {\n\t\tthis.isRaw = true;\n\t\tthis.rawHTML = value;\n\t\tthis.rawTextContent = null;\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"textInnerHTML\", {\n\tset: function(value) {\n\t\tif(this.isRaw) {\n\t\t\tthis.rawTextContent = value;\n\t\t} else {\n\t\t\tthrow \"Cannot set textInnerHTML of a non-raw TW_Element\";\n\t\t}\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"textContent\", {\n\tget: function() {\n\t\tif(this.isRaw) {\n\t\t\tif(this.rawTextContent === null) {\n\t\t\t\treturn \"\";\n\t\t\t} else {\n\t\t\t\treturn this.rawTextContent;\n\t\t\t}\n\t\t} else {\n\t\t\tvar b = [];\n\t\t\t$tw.utils.each(this.children,function(node) {\n\t\t\t\tb.push(node.textContent);\n\t\t\t});\n\t\t\treturn b.join(\"\");\n\t\t}\n\t},\n\tset: function(value) {\n\t\tthis.children = [new TW_TextNode(value)];\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"formattedTextContent\", {\n\tget: function() {\n\t\tif(this.isRaw) {\n\t\t\treturn \"\";\n\t\t} else {\n\t\t\tvar b = [],\n\t\t\t\tisBlock = $tw.config.htmlBlockElements.indexOf(this.tag) !== -1;\n\t\t\tif(isBlock) {\n\t\t\t\tb.push(\"\\n\");\n\t\t\t}\n\t\t\tif(this.tag === \"li\") {\n\t\t\t\tb.push(\"* \");\n\t\t\t}\n\t\t\t$tw.utils.each(this.children,function(node) {\n\t\t\t\tb.push(node.formattedTextContent);\n\t\t\t});\n\t\t\tif(isBlock) {\n\t\t\t\tb.push(\"\\n\");\n\t\t\t}\n\t\t\treturn b.join(\"\");\n\t\t}\n\t}\n});\n\nvar document = {\n\tsetSequenceNumber: function(value) {\n\t\tsequenceNumber = value;\n\t},\n\tcreateElementNS: function(namespace,tag) {\n\t\treturn new TW_Element(tag,namespace);\n\t},\n\tcreateElement: function(tag) {\n\t\treturn new TW_Element(tag);\n\t},\n\tcreateTextNode: function(text) {\n\t\treturn new TW_TextNode(text);\n\t},\n\tcompatMode: \"CSS1Compat\", // For KaTeX to know that we're not a browser in quirks mode\n\tisTiddlyWikiFakeDom: true\n};\n\nexports.fakeDocument = document;\n"
  },
  {
    "path": "core/modules/utils/linked-list.js",
    "content": "/*\\\nmodule-type: utils\ntitle: $:/core/modules/utils/linkedlist.js\ntype: application/javascript\n\nThis is a doubly-linked indexed list intended for manipulation, particularly\npushTop, which it does with significantly better performance than an array.\n\n\\*/\n\n\"use strict\";\n\nfunction LinkedList() {\n\tthis.clear();\n};\n\nLinkedList.prototype.clear = function() {\n\t// LinkedList performs the duty of both the head and tail node\n\tthis.next = new LLMap();\n\tthis.prev = new LLMap();\n\t// Linked list head initially points to itself\n\tthis.next.set(null, null);\n\tthis.prev.set(null, null);\n\tthis.length = 0;\n};\n\nLinkedList.prototype.remove = function(value) {\n\tif($tw.utils.isArray(value)) {\n\t\tfor(var t=0; t<value.length; t++) {\n\t\t\t_assertString(value[t]);\n\t\t}\n\t\tfor(var t=0; t<value.length; t++) {\n\t\t\t_removeOne(this,value[t]);\n\t\t}\n\t} else {\n\t\t_assertString(value);\n\t\t_removeOne(this,value);\n\t}\n};\n\n/*\nPush behaves like array.push and accepts multiple string arguments. But it also\naccepts a single array argument too, to be consistent with its other methods.\n*/\nLinkedList.prototype.push = function(/* values */) {\n\tvar i, values = arguments;\n\tif($tw.utils.isArray(values[0])) {\n\t\tvalues = values[0];\n\t}\n\tfor(i = 0; i < values.length; i++) {\n\t\t_assertString(values[i]);\n\t}\n\tfor(i = 0; i < values.length; i++) {\n\t\t_linkToEnd(this,values[i]);\n\t}\n\treturn this.length;\n};\n\nLinkedList.prototype.pushTop = function(value) {\n\tvar t;\n\tif($tw.utils.isArray(value)) {\n\t\tfor(t=0; t<value.length; t++) {\n\t\t\t_assertString(value[t]);\n\t\t}\n\t\tfor(t=0; t<value.length; t++) {\n\t\t\t_removeOne(this,value[t]);\n\t\t}\n\t\tfor(t=0; t<value.length; t++) {\n\t\t\t_linkToEnd(this,value[t]);\n\t\t}\n\t} else {\n\t\t_assertString(value);\n\t\t_removeOne(this,value);\n\t\t_linkToEnd(this,value);\n\t}\n};\n\nLinkedList.prototype.each = function(callback) {\n\tvar visits = Object.create(null),\n\t\tvalue = this.next.get(null);\n\twhile(value !== null) {\n\t\tcallback(value);\n\t\tvar next = this.next.get(value);\n\t\tif(Array.isArray(next)) {\n\t\t\tvar i = visits[value] || 0;\n\t\t\tvisits[value] = i+1;\n\t\t\tvalue = next[i];\n\t\t} else {\n\t\t\tvalue = next;\n\t\t}\n\t}\n};\n\nLinkedList.prototype.toArray = function() {\n\tvar output = new Array(this.length),\n\t\tindex = 0;\n\tthis.each(function(value) { output[index++] = value; });\n\treturn output;\n};\n\nLinkedList.prototype.makeTiddlerIterator = function(wiki) {\n\tvar self = this;\n\treturn function(callback) {\n\t\tself.each(function(title) {\n\t\t\tcallback(wiki.getTiddler(title),title);\n\t\t});\n\t};\n};\n\nfunction _removeOne(list,value) {\n\tvar nextEntry = list.next.get(value);\n\tif(nextEntry === undefined) {\n\t\treturn;\n\t}\n\tvar prevEntry = list.prev.get(value),\n\t\tprev = prevEntry,\n\t\tnext = nextEntry,\n\t\tref;\n\tif(Array.isArray(nextEntry)) {\n\t\tnext = nextEntry[0];\n\t\tprev = prevEntry[0];\n\t}\n\t// Relink preceding element.\n\tref = list.next.get(prev);\n\tif(Array.isArray(ref)) {\n\t\tvar i = ref.indexOf(value);\n\t\tref[i] = next;\n\t} else {\n\t\tlist.next.set(prev,next);\n\t}\n\n\t// Now relink following element\n\tref = list.prev.get(next);\n\tif(Array.isArray(ref)) {\n\t\tvar i = ref.indexOf(value);\n\t\tref[i] = prev;\n\t} else {\n\t\tlist.prev.set(next,prev);\n\t}\n\n\t// Delink actual value. If it uses arrays, just remove first entries.\n\tif(Array.isArray(nextEntry) && nextEntry.length > 1) {\n\t\tnextEntry.shift();\n\t\tprevEntry.shift();\n\t} else {\n\t\tlist.next.set(value,undefined);\n\t\tlist.prev.set(value,undefined);\n\t}\n\tlist.length -= 1;\n};\n\n// Sticks the given node onto the end of the list.\nfunction _linkToEnd(list,value) {\n\tvar old = list.next.get(value);\n\tvar last = list.prev.get(null);\n\t// Does it already exists?\n\tif(old !== undefined) {\n\t\tif(!Array.isArray(old)) {\n\t\t\told = [old];\n\t\t\tlist.next.set(value,old);\n\t\t\tlist.prev.set(value,[list.prev.get(value)]);\n\t\t}\n\t\told.push(null);\n\t\tlist.prev.get(value).push(last);\n\t} else {\n\t\tlist.next.set(value,null);\n\t\tlist.prev.set(value,last);\n\t}\n\t// Make the old last point to this new one.\n\tif(value !== last) {\n\t\tvar array = list.next.get(last);\n\t\tif(Array.isArray(array)) {\n\t\t\tarray[array.length-1] = value;\n\t\t} else {\n\t\t\tlist.next.set(last,value);\n\t\t}\n\t\tlist.prev.set(null,value);\n\t} else {\n\t\t// Edge case, the pushed value was already the last value.\n\t\t// The second-to-last nextPtr for that value must point to itself now.\n\t\tvar array = list.next.get(last);\n\t\tarray[array.length-2] = value;\n\t}\n\tlist.length += 1;\n};\n\nfunction _assertString(value) {\n\tif(typeof value !== \"string\") {\n\t\tthrow \"Linked List only accepts string values, not \" + value;\n\t}\n};\n\nvar LLMap = function() {\n\tthis.map = Object.create(null);\n};\n\n// Just a wrapper so our object map can also accept null.\nLLMap.prototype = {\n\tset: function(key,val) {\n\t\t(key === null) ? (this.null = val) : (this.map[key] = val);\n\t},\n\tget: function(key) {\n\t\treturn (key === null) ? this.null : this.map[key];\n\t}\n};\n\nexports.LinkedList = LinkedList;\n"
  },
  {
    "path": "core/modules/utils/logger.js",
    "content": "/*\\\ntitle: $:/core/modules/utils/logger.js\ntype: application/javascript\nmodule-type: utils\n\nA basic logging implementation\n\n\\*/\n\n\"use strict\";\n\nvar ALERT_TAG = \"$:/tags/Alert\";\n\n/*\nMake a new logger\n*/\nfunction Logger(componentName,options) {\n\toptions = options || {};\n\tthis.componentName = componentName || \"\";\n\tthis.colour = options.colour || \"white\";\n\tthis.enable = \"enable\" in options ? options.enable : true;\n\tthis.save = \"save\" in options ? options.save : true;\n\tthis.saveLimit = options.saveLimit || 100 * 1024;\n\tthis.saveBufferLogger = this;\n\tthis.buffer = \"\";\n\tthis.alertCount = 0;\n}\n\nLogger.prototype.setSaveBuffer = function(logger) {\n\tthis.saveBufferLogger = logger;\n};\n\n/*\nLog a message\n*/\nLogger.prototype.log = function(/* args */) {\n\tvar self = this;\n\tif(this.enable) {\n\t\tif(this.saveBufferLogger.save) {\n\t\t\tthis.saveBufferLogger.buffer += $tw.utils.formatDateString(new Date(),\"YYYY MM DD 0hh:0mm:0ss.0XXX\") + \":\";\n\t\t\t$tw.utils.each(Array.prototype.slice.call(arguments,0),function(arg,index) {\n\t\t\t\tself.saveBufferLogger.buffer += \" \" + arg;\n\t\t\t});\n\t\t\tthis.saveBufferLogger.buffer += \"\\n\";\n\t\t\tthis.saveBufferLogger.buffer = this.saveBufferLogger.buffer.slice(-this.saveBufferLogger.saveLimit);\n\t\t}\n\t\tif(console !== undefined && console.log !== undefined) {\n\t\t\tvar logMessage = [$tw.utils.terminalColour(this.colour) + this.componentName + \":\"].concat(Array.prototype.slice.call(arguments,0));\n\t\t\tlogMessage[logMessage.length-1] += $tw.utils.terminalColour();\n\t\t\treturn Function.apply.call(console.log, console, logMessage);\n\t\t}\n\t} \n};\n\n/*\nRead the message buffer\n*/\nLogger.prototype.getBuffer = function() {\n\treturn this.saveBufferLogger.buffer;\n};\n\n/*\nLog a structure as a table\n*/\nLogger.prototype.table = function(value) {\n\t(console.table || console.log)(value);\n};\n\n/*\nAlert a message\n*/\nLogger.prototype.alert = function(/* args */) {\n\tif(this.enable) {\n\t\t// Prepare the text of the alert\n\t\tvar text = Array.prototype.join.call(arguments,\" \");\n\t\t// Create alert tiddlers in the browser\n\t\tif($tw.browser) {\n\t\t\t// Check if there is an existing alert with the same text and the same component\n\t\t\tvar existingAlerts = $tw.wiki.getTiddlersWithTag(ALERT_TAG),\n\t\t\t\talertFields,\n\t\t\t\texistingCount,\n\t\t\t\tself = this;\n\t\t\t$tw.utils.each(existingAlerts,function(title) {\n\t\t\t\tvar tiddler = $tw.wiki.getTiddler(title);\n\t\t\t\tif(tiddler.fields.text === text && tiddler.fields.component === self.componentName && tiddler.fields.modified && (!alertFields || tiddler.fields.modified < alertFields.modified)) {\n\t\t\t\t\talertFields = $tw.utils.extend({},tiddler.fields);\n\t\t\t\t}\n\t\t\t});\n\t\t\tif(alertFields) {\n\t\t\t\texistingCount = alertFields.count || 1;\n\t\t\t} else {\n\t\t\t\talertFields = {\n\t\t\t\t\ttitle: $tw.wiki.generateNewTitle(\"$:/temp/alerts/alert\",{prefix: \"\"}),\n\t\t\t\t\ttext: text,\n\t\t\t\t\ttags: [ALERT_TAG],\n\t\t\t\t\tcomponent: this.componentName\n\t\t\t\t};\n\t\t\t\texistingCount = 0;\n\t\t\t\tthis.alertCount += 1;\n\t\t\t}\n\t\t\talertFields.modified = new Date();\n\t\t\tif(++existingCount > 1) {\n\t\t\t\talertFields.count = existingCount;\n\t\t\t} else {\n\t\t\t\talertFields.count = undefined;\n\t\t\t}\n\t\t\t$tw.wiki.addTiddler(new $tw.Tiddler(alertFields));\n\t\t\t// Log the alert as well\n\t\t\tthis.log.apply(this,Array.prototype.slice.call(arguments,0));\n\t\t} else {\n\t\t\t// Print an orange message to the console if not in the browser\n\t\t\tconsole.error(\"\\x1b[1;33m\" + text + \"\\x1b[0m\");\n\t\t}\n\t}\n};\n\n/*\nClear outstanding alerts\n*/\nLogger.prototype.clearAlerts = function() {\n\tvar self = this;\n\tif($tw.browser && this.alertCount > 0) {\n\t\t$tw.utils.each($tw.wiki.getTiddlersWithTag(ALERT_TAG),function(title) {\n\t\t\tvar tiddler = $tw.wiki.getTiddler(title);\n\t\t\tif(tiddler.fields.component === self.componentName) {\n\t\t\t\t$tw.wiki.deleteTiddler(title);\n\t\t\t}\n\t\t});\n\t\tthis.alertCount = 0;\n\t}\n};\n\nexports.Logger = Logger;\n"
  },
  {
    "path": "core/modules/utils/messaging.js",
    "content": "/*\\\ntitle: $:/core/modules/utils/messaging.js\ntype: application/javascript\nmodule-type: utils-browser\n\nMessaging utilities for use with window.postMessage() etc.\n\nThis module intentionally has no dependencies so that it can be included in non-TiddlyWiki projects\n\n\\*/\n\n\"use strict\";\n\nvar RESPONSE_TIMEOUT = 2 * 1000;\n\n/*\nClass to handle subscribing to publishers\n\ntarget: Target window (eg iframe.contentWindow)\ntype: String indicating type of item for which subscriptions are being provided (eg \"SAVING\")\nonsubscribe: Function to be invoked with err parameter when the subscription is established, or there is a timeout\nonmessage: Function to be invoked when a new message arrives, invoked with (data,callback). The callback is invoked with the argument (response)\n*/\nfunction BrowserMessagingSubscriber(options) {\n\tvar self = this;\n\tthis.target = options.target;\n\tthis.type = options.type;\n\tthis.onsubscribe = options.onsubscribe || function() {};\n\tthis.onmessage = options.onmessage;\n\tthis.hasConfirmed = false;\n\tthis.channel = new MessageChannel();\n\tthis.channel.port1.addEventListener(\"message\",function(event) {\n\t\tif(this.timerID) {\n\t\t\tclearTimeout(this.timerID);\n\t\t\tthis.timerID = null;\t\t\n\t\t}\n\t\tif(event.data) {\n\t\t\tif(event.data.verb === \"SUBSCRIBED\") {\n\t\t\t\tself.hasConfirmed = true;\n\t\t\t\tself.onsubscribe(null);\n\t\t\t} else if(event.data.verb === self.type) {\n\t\t\t\tself.onmessage(event.data,function(response) {\n\t\t\t\t\t// Send the response back on the supplied port, and then close it\n\t\t\t\t\tevent.ports[0].postMessage(response);\n\t\t\t\t\tevent.ports[0].close();\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t});\n\t// Set a timer so that if we don't hear from the iframe before a timeout we alert the user\n\tthis.timerID = setTimeout(function() {\n\t\tif(!self.hasConfirmed) {\n\t\t\tself.onsubscribe(\"NO_RESPONSE\");\t\t\t\t\n\t\t}\n\t},RESPONSE_TIMEOUT);\n\tthis.channel.port1.start();\n\tthis.target.postMessage({verb: \"SUBSCRIBE\",to: self.type},\"*\",[this.channel.port2]);\n}\n\nexports.BrowserMessagingSubscriber = BrowserMessagingSubscriber;\n\n/*\nClass to handle publishing subscriptions\n\ntype: String indicating type of item for which subscriptions are being provided (eg \"SAVING\")\nonsubscribe: Function to be invoked when a subscription occurs\n*/\nfunction BrowserMessagingPublisher(options) {\n\tvar self = this;\n\tthis.type = options.type;\n\tthis.hostIsListening = false;\n\tthis.port = null;\n\t// Listen to connection requests from the host\n\twindow.addEventListener(\"message\",function(event) {\n\t\tif(event.data && event.data.verb === \"SUBSCRIBE\" && event.data.to === self.type) {\n\t\t\tself.hostIsListening = true;\n\t\t\t// Acknowledge\n\t\t\tself.port = event.ports[0];\n\t\t\tself.port.postMessage({verb: \"SUBSCRIBED\", to: self.type});\n\t\t\tif(options.onsubscribe) {\n\t\t\t\toptions.onsubscribe(event.data);\n\t\t\t}\n\t\t}\n\t});\n}\n\nBrowserMessagingPublisher.prototype.canSend = function() {\n\treturn !!this.hostIsListening && !!this.port;\n};\n\nBrowserMessagingPublisher.prototype.send = function(data,callback) {\n\tvar self = this;\n\tcallback = callback || function() {};\n\t// Check that we've been initialised by the host\n\tif(!this.hostIsListening || !this.port) {\n\t\treturn false;\n\t}\n\t// Create a channel for the confirmation\n\tvar channel = new MessageChannel();\n\tchannel.port1.addEventListener(\"message\",function(event) {\n\t\tif(event.data && event.data.verb === \"OK\") {\n\t\t\tcallback(null);\n\t\t} else {\n\t\t\tcallback(\"BrowserMessagingPublisher for \" +  self.type + \" error: \" + (event.data || {}).verb);\n\t\t}\n\t\tchannel.port1.close();\n\t});\n\tchannel.port1.start();\n\t// Send the save request with the port for the response\n\tthis.port.postMessage(data,[channel.port2]);\n};\n\nBrowserMessagingPublisher.prototype.close = function() {\n\tif(this.port) {\n\t\tthis.port.close();\n\t\tthis.hostIsListening = false;\n\t\tthis.port = null;\t\t\n\t}\n};\n\nexports.BrowserMessagingPublisher = BrowserMessagingPublisher;\n"
  },
  {
    "path": "core/modules/utils/parsetree.js",
    "content": "/*\\\ntitle: $:/core/modules/utils/parsetree.js\ntype: application/javascript\nmodule-type: utils\n\nParse tree utility functions.\n\n\\*/\n\n\"use strict\";\n\n/*\nAdd attribute to parse tree node\nCan be invoked as (node,name,value) or (node,attr)\n*/\nexports.addAttributeToParseTreeNode = function(node,name,value) {\n\tvar attribute = typeof name === \"object\" ? name : {name: name, type: \"string\", value: value};\n\tname = attribute.name;\n\tnode.attributes = node.attributes || {};\n\tnode.orderedAttributes = node.orderedAttributes || [];\n\tnode.attributes[name] = attribute;\n\tvar foundIndex = -1;\n\t$tw.utils.each(node.orderedAttributes,function(attr,index) {\n\t\tif(attr.name === name) {\n\t\t\tfoundIndex = index;\n\t\t}\n\t});\n\tif(foundIndex === -1) {\n\t\tnode.orderedAttributes.push(attribute);\n\t} else {\n\t\tnode.orderedAttributes[foundIndex] = attribute;\n\t}\n};\n\nexports.getOrderedAttributesFromParseTreeNode = function(node) {\n\tif(node.orderedAttributes) {\n\t\treturn node.orderedAttributes;\n\t} else {\n\t\tvar attributes = [];\n\t\t$tw.utils.each(node.attributes,function(attribute) {\n\t\t\tattributes.push(attribute);\n\t\t});\n\t\treturn attributes.sort(function(a,b) {\n\t\t\treturn a.name < b.name ? -1 : (a.name > b.name ? 1 : 0);\n\t\t});\n\t}\n};\n\nexports.getAttributeValueFromParseTreeNode = function(node,name,defaultValue) {\n\tif(node.attributes && node.attributes[name] && node.attributes[name].value !== undefined) {\n\t\treturn node.attributes[name].value;\n\t}\n\treturn defaultValue;\n};\n\nexports.addClassToParseTreeNode = function(node,classString) {\n\tvar classes = [],\n\t\tattribute;\n\tnode.attributes = node.attributes || {};\n\tattribute = node.attributes[\"class\"];\n\tif(!attribute) {\n\t\t// If the class attribute does not exist, we must create it first.\n\t\tattribute = {name: \"class\", type: \"string\", value: \"\"};\n\t\tnode.attributes[\"class\"] = attribute;\n\t\tnode.orderedAttributes = node.orderedAttributes || [];\n\t\tnode.orderedAttributes.push(attribute);\n\t}\n\tif(attribute.type === \"string\") {\n\t\tif(attribute.value !== \"\") {\n\t\t\tclasses = attribute.value.split(\" \");\n\t\t}\n\t\tif(classString !== \"\") {\n\t\t\t$tw.utils.pushTop(classes,classString.split(\" \"));\n\t\t}\n\t\tattribute.value = classes.join(\" \");\n\t}\n};\n\nexports.addStyleToParseTreeNode = function(node,name,value) {\n\tvar attribute;\n\tnode.attributes = node.attributes || {};\n\tattribute = node.attributes.style;\n\tif(!attribute) {\n\t\tattribute = {name: \"style\", type: \"string\", value: \"\"};\n\t\tnode.attributes.style = attribute;\n\t\tnode.orderedAttributes = node.orderedAttributes || [];\n\t\tnode.orderedAttributes.push(attribute);\n\t}\n\tif(attribute.type === \"string\") {\n\t\tattribute.value += name + \":\" + value + \";\";\n\t}\n};\n\nexports.findParseTreeNode = function(nodeArray,search) {\n\tfor(var t=0; t<nodeArray.length; t++) {\n\t\tif(nodeArray[t].type === search.type && nodeArray[t].tag === search.tag) {\n\t\t\treturn nodeArray[t];\n\t\t}\n\t}\n\treturn undefined;\n};\n\n/*\nHelper to get the text of a parse tree node or array of nodes\n*/\nexports.getParseTreeText = function getParseTreeText(tree) {\n\tvar output = [];\n\tif($tw.utils.isArray(tree)) {\n\t\t$tw.utils.each(tree,function(node) {\n\t\t\toutput.push(getParseTreeText(node));\n\t\t});\n\t} else {\n\t\tif(tree.type === \"text\") {\n\t\t\toutput.push(tree.text);\n\t\t}\n\t\tif(tree.children) {\n\t\t\treturn getParseTreeText(tree.children);\n\t\t}\n\t}\n\treturn output.join(\"\");\n};\n\nexports.getParser = function(type,options) {\n\toptions = options || {};\n\t// Select a parser\n\tvar Parser = $tw.Wiki.parsers[type];\n\tif(!Parser && $tw.utils.getFileExtensionInfo(type)) {\n\t\tParser = $tw.Wiki.parsers[$tw.utils.getFileExtensionInfo(type).type];\n\t}\n\tif(!Parser) {\n\t\tParser = $tw.Wiki.parsers[options.defaultType || \"text/vnd.tiddlywiki\"];\n\t}\n\tif(!Parser) {\n\t\treturn null;\n\t}\n\treturn Parser;\n};\n"
  },
  {
    "path": "core/modules/utils/performance.js",
    "content": "/*\\\ntitle: $:/core/modules/utils/performance.js\ntype: application/javascript\nmodule-type: global\n\nPerformance measurement.\n\n\\*/\n\n\"use strict\";\n\nfunction Performance(enabled) {\n\tthis.enabled = !!enabled;\n\tthis.measures = {}; // Hashmap by measurement name of {time:, invocations:}\n\tthis.logger = new $tw.utils.Logger(\"performance\");\n\tthis.showGreeting();\n}\n\nPerformance.prototype.showGreeting = function() {\n\tif($tw.browser) {\n\t\tthis.logger.log(\"Execute $tw.perf.log(); to see filter execution timings\");\n\t}\n};\n\n/*\nWrap performance reporting around a top level function\n*/\nPerformance.prototype.report = function(name,fn) {\n\tvar self = this;\n\tif(this.enabled) {\n\t\treturn function() {\n\t\t\tvar startTime = $tw.utils.timer(),\n\t\t\t\tresult = fn.apply(this,arguments);\n\t\t\tself.logger.log(name + \": \" + $tw.utils.timer(startTime).toFixed(2) + \"ms\");\n\t\t\treturn result;\n\t\t};\n\t} else {\n\t\treturn fn;\n\t}\n};\n\nPerformance.prototype.log = function() {\n\tvar self = this,\n\t\ttotalTime = 0,\n\t\torderedMeasures = Object.keys(this.measures).sort(function(a,b) {\n\t\t\tif(self.measures[a].time > self.measures[b].time) {\n\t\t\t\treturn -1;\n\t\t\t} else if(self.measures[a].time < self.measures[b].time) {\n\t\t\t\treturn + 1;\n\t\t\t} else {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t});\n\t$tw.utils.each(orderedMeasures,function(name) {\n\t\ttotalTime += self.measures[name].time;\n\t});\n\tvar results = [];\n\t$tw.utils.each(orderedMeasures,function(name) {\n\t\tvar measure = self.measures[name];\n\t\tresults.push({name: name,invocations: measure.invocations, avgTime: measure.time / measure.invocations, totalTime: measure.time, percentTime: (measure.time / totalTime) * 100});\n\t});\n\tself.logger.table(results);\n};\n\n/*\nWrap performance measurements around a subfunction\n*/\nPerformance.prototype.measure = function(name,fn) {\n\tvar self = this;\n\tif(this.enabled) {\n\t\treturn function() {\n\t\t\tvar startTime = $tw.utils.timer(),\n\t\t\t\tresult = fn.apply(this,arguments);\n\t\t\tif(!(name in self.measures)) {\n\t\t\t\tself.measures[name] = {time: 0, invocations: 0};\n\t\t\t}\n\t\t\tself.measures[name].time += $tw.utils.timer(startTime);\n\t\t\tself.measures[name].invocations++;\n\t\t\treturn result;\n\t\t};\n\t} else {\n\t\treturn fn;\n\t}\n};\n\nexports.Performance = Performance;\n"
  },
  {
    "path": "core/modules/utils/pluginmaker.js",
    "content": "/*\\\ntitle: $:/core/modules/utils/pluginmaker.js\ntype: application/javascript\nmodule-type: utils\n\nA quick and dirty way to pack up plugins within the browser.\n\n\\*/\n\n\"use strict\";\n\n/*\nRepack a plugin, and then delete any non-shadow payload tiddlers\n*/\nexports.repackPlugin = function(title,additionalTiddlers,excludeTiddlers) {\n\tadditionalTiddlers = additionalTiddlers || [];\n\texcludeTiddlers = excludeTiddlers || [];\n\t// Get the plugin tiddler\n\tvar pluginTiddler = $tw.wiki.getTiddler(title);\n\tif(!pluginTiddler) {\n\t\tthrow \"No such tiddler as \" + title;\n\t}\n\t// Extract the JSON\n\tvar jsonPluginTiddler = $tw.utils.parseJSONSafe(pluginTiddler.fields.text,null);\n\tif(!jsonPluginTiddler) {\n\t\tthrow \"Cannot parse plugin tiddler \" + title + \"\\n\" + $tw.language.getString(\"Error/Caption\") + \": \" + e;\n\t}\n\t// Get the list of tiddlers\n\tvar tiddlers = Object.keys(jsonPluginTiddler.tiddlers);\n\t// Add the additional tiddlers\n\t$tw.utils.pushTop(tiddlers,additionalTiddlers);\n\t// Remove any excluded tiddlers\n\tfor(var t=tiddlers.length-1; t>=0; t--) {\n\t\tif(excludeTiddlers.indexOf(tiddlers[t]) !== -1) {\n\t\t\ttiddlers.splice(t,1);\n\t\t}\n\t}\n\t// Pack up the tiddlers into a block of JSON\n\tvar plugins = {};\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = $tw.wiki.getTiddler(title),\n\t\t\tfields = {};\n\t\t$tw.utils.each(tiddler.fields,function (value,name) {\n\t\t\tfields[name] = tiddler.getFieldString(name);\n\t\t});\n\t\tplugins[title] = fields;\n\t});\n\t// Retrieve and bump the version number\n\tvar pluginVersion = $tw.utils.parseVersion(pluginTiddler.getFieldString(\"version\") || \"0.0.0\") || {\n\t\tmajor: \"0\",\n\t\tminor: \"0\",\n\t\tpatch: \"0\"\n\t};\n\tpluginVersion.patch++;\n\tvar version = pluginVersion.major + \".\" + pluginVersion.minor + \".\" + pluginVersion.patch;\n\tif(pluginVersion.prerelease) {\n\t\tversion += \"-\" + pluginVersion.prerelease;\n\t}\n\tif(pluginVersion.build) {\n\t\tversion += \"+\" + pluginVersion.build;\n\t}\n\t// Save the tiddler\n\t$tw.wiki.addTiddler(new $tw.Tiddler(pluginTiddler,{text: JSON.stringify({tiddlers: plugins},null,4), version: version},$tw.wiki.getModificationFields()));\n\t// Delete any non-shadow constituent tiddlers\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tif($tw.wiki.tiddlerExists(title)) {\n\t\t\t$tw.wiki.deleteTiddler(title);\n\t\t}\n\t});\n\t// Trigger an autosave\n\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n\t// Return a heartwarming confirmation\n\treturn \"Plugin \" + title + \" successfully saved\";\n};\n"
  },
  {
    "path": "core/modules/utils/transliterate.js",
    "content": "/*\\\ntitle: $:/core/modules/utils/transliterate.js\ntype: application/javascript\nmodule-type: utils\n\nTransliteration static utility functions.\n\n\\*/\n\n\"use strict\";\n\n/*\nTransliterate string to ASCII\n\n(Some pairs taken from http://semplicewebsites.com/removing-accents-javascript)\n*/\nexports.transliterationPairs = {\n\t\"Á\":\"A\",\n\t\"Ă\":\"A\",\n\t\"Ắ\":\"A\",\n\t\"Ặ\":\"A\",\n\t\"Ằ\":\"A\",\n\t\"Ẳ\":\"A\",\n\t\"Ẵ\":\"A\",\n\t\"Ǎ\":\"A\",\n\t\"Â\":\"A\",\n\t\"Ấ\":\"A\",\n\t\"Ậ\":\"A\",\n\t\"Ầ\":\"A\",\n\t\"Ẩ\":\"A\",\n\t\"Ẫ\":\"A\",\n\t\"Ä\":\"A\",\n\t\"Ǟ\":\"A\",\n\t\"Ȧ\":\"A\",\n\t\"Ǡ\":\"A\",\n\t\"Ạ\":\"A\",\n\t\"Ȁ\":\"A\",\n\t\"À\":\"A\",\n\t\"Ả\":\"A\",\n\t\"Ȃ\":\"A\",\n\t\"Ā\":\"A\",\n\t\"Ą\":\"A\",\n\t\"Å\":\"A\",\n\t\"Ǻ\":\"A\",\n\t\"Ḁ\":\"A\",\n\t\"Ⱥ\":\"A\",\n\t\"Ã\":\"A\",\n\t\"Ꜳ\":\"AA\",\n\t\"Æ\":\"AE\",\n\t\"Ǽ\":\"AE\",\n\t\"Ǣ\":\"AE\",\n\t\"Ꜵ\":\"AO\",\n\t\"Ꜷ\":\"AU\",\n\t\"Ꜹ\":\"AV\",\n\t\"Ꜻ\":\"AV\",\n\t\"Ꜽ\":\"AY\",\n\t\"Ḃ\":\"B\",\n\t\"Ḅ\":\"B\",\n\t\"Ɓ\":\"B\",\n\t\"Ḇ\":\"B\",\n\t\"Ƀ\":\"B\",\n\t\"Ƃ\":\"B\",\n\t\"Ć\":\"C\",\n\t\"Č\":\"C\",\n\t\"Ç\":\"C\",\n\t\"Ḉ\":\"C\",\n\t\"Ĉ\":\"C\",\n\t\"Ċ\":\"C\",\n\t\"Ƈ\":\"C\",\n\t\"Ȼ\":\"C\",\n\t\"Ď\":\"D\",\n\t\"Ḑ\":\"D\",\n\t\"Ḓ\":\"D\",\n\t\"Ḋ\":\"D\",\n\t\"Ḍ\":\"D\",\n\t\"Ɗ\":\"D\",\n\t\"Ḏ\":\"D\",\n\t\"ǲ\":\"D\",\n\t\"ǅ\":\"D\",\n\t\"Đ\":\"D\",\n\t\"Ƌ\":\"D\",\n\t\"Ǳ\":\"DZ\",\n\t\"Ǆ\":\"DZ\",\n\t\"É\":\"E\",\n\t\"Ĕ\":\"E\",\n\t\"Ě\":\"E\",\n\t\"Ȩ\":\"E\",\n\t\"Ḝ\":\"E\",\n\t\"Ê\":\"E\",\n\t\"Ế\":\"E\",\n\t\"Ệ\":\"E\",\n\t\"Ề\":\"E\",\n\t\"Ể\":\"E\",\n\t\"Ễ\":\"E\",\n\t\"Ḙ\":\"E\",\n\t\"Ë\":\"E\",\n\t\"Ė\":\"E\",\n\t\"Ẹ\":\"E\",\n\t\"Ȅ\":\"E\",\n\t\"È\":\"E\",\n\t\"Ẻ\":\"E\",\n\t\"Ȇ\":\"E\",\n\t\"Ē\":\"E\",\n\t\"Ḗ\":\"E\",\n\t\"Ḕ\":\"E\",\n\t\"Ę\":\"E\",\n\t\"Ɇ\":\"E\",\n\t\"Ẽ\":\"E\",\n\t\"Ḛ\":\"E\",\n\t\"Ꝫ\":\"ET\",\n\t\"Ḟ\":\"F\",\n\t\"Ƒ\":\"F\",\n\t\"Ǵ\":\"G\",\n\t\"Ğ\":\"G\",\n\t\"Ǧ\":\"G\",\n\t\"Ģ\":\"G\",\n\t\"Ĝ\":\"G\",\n\t\"Ġ\":\"G\",\n\t\"Ɠ\":\"G\",\n\t\"Ḡ\":\"G\",\n\t\"Ǥ\":\"G\",\n\t\"Ḫ\":\"H\",\n\t\"Ȟ\":\"H\",\n\t\"Ḩ\":\"H\",\n\t\"Ĥ\":\"H\",\n\t\"Ⱨ\":\"H\",\n\t\"Ḧ\":\"H\",\n\t\"Ḣ\":\"H\",\n\t\"Ḥ\":\"H\",\n\t\"Ħ\":\"H\",\n\t\"Í\":\"I\",\n\t\"Ĭ\":\"I\",\n\t\"Ǐ\":\"I\",\n\t\"Î\":\"I\",\n\t\"Ï\":\"I\",\n\t\"Ḯ\":\"I\",\n\t\"İ\":\"I\",\n\t\"Ị\":\"I\",\n\t\"Ȉ\":\"I\",\n\t\"Ì\":\"I\",\n\t\"Ỉ\":\"I\",\n\t\"Ȋ\":\"I\",\n\t\"Ī\":\"I\",\n\t\"Į\":\"I\",\n\t\"Ɨ\":\"I\",\n\t\"Ĩ\":\"I\",\n\t\"Ḭ\":\"I\",\n\t\"Ꝺ\":\"D\",\n\t\"Ꝼ\":\"F\",\n\t\"Ᵹ\":\"G\",\n\t\"Ꞃ\":\"R\",\n\t\"Ꞅ\":\"S\",\n\t\"Ꞇ\":\"T\",\n\t\"Ꝭ\":\"IS\",\n\t\"Ĵ\":\"J\",\n\t\"Ɉ\":\"J\",\n\t\"Ḱ\":\"K\",\n\t\"Ǩ\":\"K\",\n\t\"Ķ\":\"K\",\n\t\"Ⱪ\":\"K\",\n\t\"Ꝃ\":\"K\",\n\t\"Ḳ\":\"K\",\n\t\"Ƙ\":\"K\",\n\t\"Ḵ\":\"K\",\n\t\"Ꝁ\":\"K\",\n\t\"Ꝅ\":\"K\",\n\t\"Ĺ\":\"L\",\n\t\"Ƚ\":\"L\",\n\t\"Ľ\":\"L\",\n\t\"Ļ\":\"L\",\n\t\"Ḽ\":\"L\",\n\t\"Ḷ\":\"L\",\n\t\"Ḹ\":\"L\",\n\t\"Ⱡ\":\"L\",\n\t\"Ꝉ\":\"L\",\n\t\"Ḻ\":\"L\",\n\t\"Ŀ\":\"L\",\n\t\"Ɫ\":\"L\",\n\t\"ǈ\":\"L\",\n\t\"Ł\":\"L\",\n\t\"Ǉ\":\"LJ\",\n\t\"Ḿ\":\"M\",\n\t\"Ṁ\":\"M\",\n\t\"Ṃ\":\"M\",\n\t\"Ɱ\":\"M\",\n\t\"Ń\":\"N\",\n\t\"Ň\":\"N\",\n\t\"Ņ\":\"N\",\n\t\"Ṋ\":\"N\",\n\t\"Ṅ\":\"N\",\n\t\"Ṇ\":\"N\",\n\t\"Ǹ\":\"N\",\n\t\"Ɲ\":\"N\",\n\t\"Ṉ\":\"N\",\n\t\"Ƞ\":\"N\",\n\t\"ǋ\":\"N\",\n\t\"Ñ\":\"N\",\n\t\"Ǌ\":\"NJ\",\n\t\"ð\":\"d\",\n\t\"Ð\":\"D\",\n\t\"Ó\":\"O\",\n\t\"Ŏ\":\"O\",\n\t\"Ǒ\":\"O\",\n\t\"Ô\":\"O\",\n\t\"Ố\":\"O\",\n\t\"Ộ\":\"O\",\n\t\"Ồ\":\"O\",\n\t\"Ổ\":\"O\",\n\t\"Ỗ\":\"O\",\n\t\"Ö\":\"O\",\n\t\"Ȫ\":\"O\",\n\t\"Ȯ\":\"O\",\n\t\"Ȱ\":\"O\",\n\t\"Ọ\":\"O\",\n\t\"Ő\":\"O\",\n\t\"Ȍ\":\"O\",\n\t\"Ò\":\"O\",\n\t\"Ỏ\":\"O\",\n\t\"Ơ\":\"O\",\n\t\"Ớ\":\"O\",\n\t\"Ợ\":\"O\",\n\t\"Ờ\":\"O\",\n\t\"Ở\":\"O\",\n\t\"Ỡ\":\"O\",\n\t\"Ȏ\":\"O\",\n\t\"Ꝋ\":\"O\",\n\t\"Ꝍ\":\"O\",\n\t\"Ō\":\"O\",\n\t\"Ṓ\":\"O\",\n\t\"Ṑ\":\"O\",\n\t\"Ɵ\":\"O\",\n\t\"Ǫ\":\"O\",\n\t\"Ǭ\":\"O\",\n\t\"Ø\":\"O\",\n\t\"Ǿ\":\"O\",\n\t\"Õ\":\"O\",\n\t\"Ṍ\":\"O\",\n\t\"Ṏ\":\"O\",\n\t\"Ȭ\":\"O\",\n\t\"Ƣ\":\"OI\",\n\t\"Ꝏ\":\"OO\",\n\t\"Ɛ\":\"E\",\n\t\"Ɔ\":\"O\",\n\t\"Ȣ\":\"OU\",\n\t\"Ṕ\":\"P\",\n\t\"Ṗ\":\"P\",\n\t\"Ꝓ\":\"P\",\n\t\"Ƥ\":\"P\",\n\t\"Ꝕ\":\"P\",\n\t\"Ᵽ\":\"P\",\n\t\"Ꝑ\":\"P\",\n\t\"Ꝙ\":\"Q\",\n\t\"Ꝗ\":\"Q\",\n\t\"Ŕ\":\"R\",\n\t\"Ř\":\"R\",\n\t\"Ŗ\":\"R\",\n\t\"Ṙ\":\"R\",\n\t\"Ṛ\":\"R\",\n\t\"Ṝ\":\"R\",\n\t\"Ȑ\":\"R\",\n\t\"Ȓ\":\"R\",\n\t\"Ṟ\":\"R\",\n\t\"Ɍ\":\"R\",\n\t\"Ɽ\":\"R\",\n\t\"Ꜿ\":\"C\",\n\t\"Ǝ\":\"E\",\n\t\"ß\":\"ss\",\n\t\"ẞ\":\"SS\",\n\t\"Ś\":\"S\",\n\t\"Ṥ\":\"S\",\n\t\"Š\":\"S\",\n\t\"Ṧ\":\"S\",\n\t\"Ş\":\"S\",\n\t\"Ŝ\":\"S\",\n\t\"Ș\":\"S\",\n\t\"Ṡ\":\"S\",\n\t\"Ṣ\":\"S\",\n\t\"Ṩ\":\"S\",\n\t\"þ\": \"th\",\n\t\"Þ\": \"TH\",\n\t\"Ť\":\"T\",\n\t\"Ţ\":\"T\",\n\t\"Ṱ\":\"T\",\n\t\"Ț\":\"T\",\n\t\"Ⱦ\":\"T\",\n\t\"Ṫ\":\"T\",\n\t\"Ṭ\":\"T\",\n\t\"Ƭ\":\"T\",\n\t\"Ṯ\":\"T\",\n\t\"Ʈ\":\"T\",\n\t\"Ŧ\":\"T\",\n\t\"Ɐ\":\"A\",\n\t\"Ꞁ\":\"L\",\n\t\"Ɯ\":\"M\",\n\t\"Ʌ\":\"V\",\n\t\"Ꜩ\":\"TZ\",\n\t\"Ú\":\"U\",\n\t\"Ŭ\":\"U\",\n\t\"Ǔ\":\"U\",\n\t\"Û\":\"U\",\n\t\"Ṷ\":\"U\",\n\t\"Ü\":\"U\",\n\t\"Ǘ\":\"U\",\n\t\"Ǚ\":\"U\",\n\t\"Ǜ\":\"U\",\n\t\"Ǖ\":\"U\",\n\t\"Ṳ\":\"U\",\n\t\"Ụ\":\"U\",\n\t\"Ű\":\"U\",\n\t\"Ȕ\":\"U\",\n\t\"Ù\":\"U\",\n\t\"Ủ\":\"U\",\n\t\"Ư\":\"U\",\n\t\"Ứ\":\"U\",\n\t\"Ự\":\"U\",\n\t\"Ừ\":\"U\",\n\t\"Ử\":\"U\",\n\t\"Ữ\":\"U\",\n\t\"Ȗ\":\"U\",\n\t\"Ū\":\"U\",\n\t\"Ṻ\":\"U\",\n\t\"Ų\":\"U\",\n\t\"Ů\":\"U\",\n\t\"Ũ\":\"U\",\n\t\"Ṹ\":\"U\",\n\t\"Ṵ\":\"U\",\n\t\"Ꝟ\":\"V\",\n\t\"Ṿ\":\"V\",\n\t\"Ʋ\":\"V\",\n\t\"Ṽ\":\"V\",\n\t\"Ꝡ\":\"VY\",\n\t\"Ẃ\":\"W\",\n\t\"Ŵ\":\"W\",\n\t\"Ẅ\":\"W\",\n\t\"Ẇ\":\"W\",\n\t\"Ẉ\":\"W\",\n\t\"Ẁ\":\"W\",\n\t\"Ⱳ\":\"W\",\n\t\"Ẍ\":\"X\",\n\t\"Ẋ\":\"X\",\n\t\"Ý\":\"Y\",\n\t\"Ŷ\":\"Y\",\n\t\"Ÿ\":\"Y\",\n\t\"Ẏ\":\"Y\",\n\t\"Ỵ\":\"Y\",\n\t\"Ỳ\":\"Y\",\n\t\"Ƴ\":\"Y\",\n\t\"Ỷ\":\"Y\",\n\t\"Ỿ\":\"Y\",\n\t\"Ȳ\":\"Y\",\n\t\"Ɏ\":\"Y\",\n\t\"Ỹ\":\"Y\",\n\t\"Ź\":\"Z\",\n\t\"Ž\":\"Z\",\n\t\"Ẑ\":\"Z\",\n\t\"Ⱬ\":\"Z\",\n\t\"Ż\":\"Z\",\n\t\"Ẓ\":\"Z\",\n\t\"Ȥ\":\"Z\",\n\t\"Ẕ\":\"Z\",\n\t\"Ƶ\":\"Z\",\n\t\"Ĳ\":\"IJ\",\n\t\"Œ\":\"OE\",\n\t\"ᴀ\":\"A\",\n\t\"ᴁ\":\"AE\",\n\t\"ʙ\":\"B\",\n\t\"ᴃ\":\"B\",\n\t\"ᴄ\":\"C\",\n\t\"ᴅ\":\"D\",\n\t\"ᴇ\":\"E\",\n\t\"ꜰ\":\"F\",\n\t\"ɢ\":\"G\",\n\t\"ʛ\":\"G\",\n\t\"ʜ\":\"H\",\n\t\"ɪ\":\"I\",\n\t\"ʁ\":\"R\",\n\t\"ᴊ\":\"J\",\n\t\"ᴋ\":\"K\",\n\t\"ʟ\":\"L\",\n\t\"ᴌ\":\"L\",\n\t\"ᴍ\":\"M\",\n\t\"ɴ\":\"N\",\n\t\"ᴏ\":\"O\",\n\t\"ɶ\":\"OE\",\n\t\"ᴐ\":\"O\",\n\t\"ᴕ\":\"OU\",\n\t\"ᴘ\":\"P\",\n\t\"ʀ\":\"R\",\n\t\"ᴎ\":\"N\",\n\t\"ᴙ\":\"R\",\n\t\"ꜱ\":\"S\",\n\t\"ᴛ\":\"T\",\n\t\"ⱻ\":\"E\",\n\t\"ᴚ\":\"R\",\n\t\"ᴜ\":\"U\",\n\t\"ᴠ\":\"V\",\n\t\"ᴡ\":\"W\",\n\t\"ʏ\":\"Y\",\n\t\"ᴢ\":\"Z\",\n\t\"á\":\"a\",\n\t\"ă\":\"a\",\n\t\"ắ\":\"a\",\n\t\"ặ\":\"a\",\n\t\"ằ\":\"a\",\n\t\"ẳ\":\"a\",\n\t\"ẵ\":\"a\",\n\t\"ǎ\":\"a\",\n\t\"â\":\"a\",\n\t\"ấ\":\"a\",\n\t\"ậ\":\"a\",\n\t\"ầ\":\"a\",\n\t\"ẩ\":\"a\",\n\t\"ẫ\":\"a\",\n\t\"ä\":\"a\",\n\t\"ǟ\":\"a\",\n\t\"ȧ\":\"a\",\n\t\"ǡ\":\"a\",\n\t\"ạ\":\"a\",\n\t\"ȁ\":\"a\",\n\t\"à\":\"a\",\n\t\"ả\":\"a\",\n\t\"ȃ\":\"a\",\n\t\"ā\":\"a\",\n\t\"ą\":\"a\",\n\t\"ᶏ\":\"a\",\n\t\"ẚ\":\"a\",\n\t\"å\":\"a\",\n\t\"ǻ\":\"a\",\n\t\"ḁ\":\"a\",\n\t\"ⱥ\":\"a\",\n\t\"ã\":\"a\",\n\t\"ꜳ\":\"aa\",\n\t\"æ\":\"ae\",\n\t\"ǽ\":\"ae\",\n\t\"ǣ\":\"ae\",\n\t\"ꜵ\":\"ao\",\n\t\"ꜷ\":\"au\",\n\t\"ꜹ\":\"av\",\n\t\"ꜻ\":\"av\",\n\t\"ꜽ\":\"ay\",\n\t\"ḃ\":\"b\",\n\t\"ḅ\":\"b\",\n\t\"ɓ\":\"b\",\n\t\"ḇ\":\"b\",\n\t\"ᵬ\":\"b\",\n\t\"ᶀ\":\"b\",\n\t\"ƀ\":\"b\",\n\t\"ƃ\":\"b\",\n\t\"ɵ\":\"o\",\n\t\"ć\":\"c\",\n\t\"č\":\"c\",\n\t\"ç\":\"c\",\n\t\"ḉ\":\"c\",\n\t\"ĉ\":\"c\",\n\t\"ɕ\":\"c\",\n\t\"ċ\":\"c\",\n\t\"ƈ\":\"c\",\n\t\"ȼ\":\"c\",\n\t\"ď\":\"d\",\n\t\"ḑ\":\"d\",\n\t\"ḓ\":\"d\",\n\t\"ȡ\":\"d\",\n\t\"ḋ\":\"d\",\n\t\"ḍ\":\"d\",\n\t\"ɗ\":\"d\",\n\t\"ᶑ\":\"d\",\n\t\"ḏ\":\"d\",\n\t\"ᵭ\":\"d\",\n\t\"ᶁ\":\"d\",\n\t\"đ\":\"d\",\n\t\"ɖ\":\"d\",\n\t\"ƌ\":\"d\",\n\t\"ı\":\"i\",\n\t\"ȷ\":\"j\",\n\t\"ɟ\":\"j\",\n\t\"ʄ\":\"j\",\n\t\"ǳ\":\"dz\",\n\t\"ǆ\":\"dz\",\n\t\"é\":\"e\",\n\t\"ĕ\":\"e\",\n\t\"ě\":\"e\",\n\t\"ȩ\":\"e\",\n\t\"ḝ\":\"e\",\n\t\"ê\":\"e\",\n\t\"ế\":\"e\",\n\t\"ệ\":\"e\",\n\t\"ề\":\"e\",\n\t\"ể\":\"e\",\n\t\"ễ\":\"e\",\n\t\"ḙ\":\"e\",\n\t\"ë\":\"e\",\n\t\"ė\":\"e\",\n\t\"ẹ\":\"e\",\n\t\"ȅ\":\"e\",\n\t\"è\":\"e\",\n\t\"ẻ\":\"e\",\n\t\"ȇ\":\"e\",\n\t\"ē\":\"e\",\n\t\"ḗ\":\"e\",\n\t\"ḕ\":\"e\",\n\t\"ⱸ\":\"e\",\n\t\"ę\":\"e\",\n\t\"ᶒ\":\"e\",\n\t\"ɇ\":\"e\",\n\t\"ẽ\":\"e\",\n\t\"ḛ\":\"e\",\n\t\"ꝫ\":\"et\",\n\t\"ḟ\":\"f\",\n\t\"ƒ\":\"f\",\n\t\"ᵮ\":\"f\",\n\t\"ᶂ\":\"f\",\n\t\"ǵ\":\"g\",\n\t\"ğ\":\"g\",\n\t\"ǧ\":\"g\",\n\t\"ģ\":\"g\",\n\t\"ĝ\":\"g\",\n\t\"ġ\":\"g\",\n\t\"ɠ\":\"g\",\n\t\"ḡ\":\"g\",\n\t\"ᶃ\":\"g\",\n\t\"ǥ\":\"g\",\n\t\"ḫ\":\"h\",\n\t\"ȟ\":\"h\",\n\t\"ḩ\":\"h\",\n\t\"ĥ\":\"h\",\n\t\"ⱨ\":\"h\",\n\t\"ḧ\":\"h\",\n\t\"ḣ\":\"h\",\n\t\"ḥ\":\"h\",\n\t\"ɦ\":\"h\",\n\t\"ẖ\":\"h\",\n\t\"ħ\":\"h\",\n\t\"ƕ\":\"hv\",\n\t\"í\":\"i\",\n\t\"ĭ\":\"i\",\n\t\"ǐ\":\"i\",\n\t\"î\":\"i\",\n\t\"ï\":\"i\",\n\t\"ḯ\":\"i\",\n\t\"ị\":\"i\",\n\t\"ȉ\":\"i\",\n\t\"ì\":\"i\",\n\t\"ỉ\":\"i\",\n\t\"ȋ\":\"i\",\n\t\"ī\":\"i\",\n\t\"į\":\"i\",\n\t\"ᶖ\":\"i\",\n\t\"ɨ\":\"i\",\n\t\"ĩ\":\"i\",\n\t\"ḭ\":\"i\",\n\t\"ꝺ\":\"d\",\n\t\"ꝼ\":\"f\",\n\t\"ᵹ\":\"g\",\n\t\"ꞃ\":\"r\",\n\t\"ꞅ\":\"s\",\n\t\"ꞇ\":\"t\",\n\t\"ꝭ\":\"is\",\n\t\"ǰ\":\"j\",\n\t\"ĵ\":\"j\",\n\t\"ʝ\":\"j\",\n\t\"ɉ\":\"j\",\n\t\"ḱ\":\"k\",\n\t\"ǩ\":\"k\",\n\t\"ķ\":\"k\",\n\t\"ⱪ\":\"k\",\n\t\"ꝃ\":\"k\",\n\t\"ḳ\":\"k\",\n\t\"ƙ\":\"k\",\n\t\"ḵ\":\"k\",\n\t\"ᶄ\":\"k\",\n\t\"ꝁ\":\"k\",\n\t\"ꝅ\":\"k\",\n\t\"ĺ\":\"l\",\n\t\"ƚ\":\"l\",\n\t\"ɬ\":\"l\",\n\t\"ľ\":\"l\",\n\t\"ļ\":\"l\",\n\t\"ḽ\":\"l\",\n\t\"ȴ\":\"l\",\n\t\"ḷ\":\"l\",\n\t\"ḹ\":\"l\",\n\t\"ⱡ\":\"l\",\n\t\"ꝉ\":\"l\",\n\t\"ḻ\":\"l\",\n\t\"ŀ\":\"l\",\n\t\"ɫ\":\"l\",\n\t\"ᶅ\":\"l\",\n\t\"ɭ\":\"l\",\n\t\"ł\":\"l\",\n\t\"ǉ\":\"lj\",\n\t\"ſ\":\"s\",\n\t\"ẜ\":\"s\",\n\t\"ẛ\":\"s\",\n\t\"ẝ\":\"s\",\n\t\"ḿ\":\"m\",\n\t\"ṁ\":\"m\",\n\t\"ṃ\":\"m\",\n\t\"ɱ\":\"m\",\n\t\"ᵯ\":\"m\",\n\t\"ᶆ\":\"m\",\n\t\"ń\":\"n\",\n\t\"ň\":\"n\",\n\t\"ņ\":\"n\",\n\t\"ṋ\":\"n\",\n\t\"ȵ\":\"n\",\n\t\"ṅ\":\"n\",\n\t\"ṇ\":\"n\",\n\t\"ǹ\":\"n\",\n\t\"ɲ\":\"n\",\n\t\"ṉ\":\"n\",\n\t\"ƞ\":\"n\",\n\t\"ᵰ\":\"n\",\n\t\"ᶇ\":\"n\",\n\t\"ɳ\":\"n\",\n\t\"ñ\":\"n\",\n\t\"ǌ\":\"nj\",\n\t\"ó\":\"o\",\n\t\"ŏ\":\"o\",\n\t\"ǒ\":\"o\",\n\t\"ô\":\"o\",\n\t\"ố\":\"o\",\n\t\"ộ\":\"o\",\n\t\"ồ\":\"o\",\n\t\"ổ\":\"o\",\n\t\"ỗ\":\"o\",\n\t\"ö\":\"o\",\n\t\"ȫ\":\"o\",\n\t\"ȯ\":\"o\",\n\t\"ȱ\":\"o\",\n\t\"ọ\":\"o\",\n\t\"ő\":\"o\",\n\t\"ȍ\":\"o\",\n\t\"ò\":\"o\",\n\t\"ỏ\":\"o\",\n\t\"ơ\":\"o\",\n\t\"ớ\":\"o\",\n\t\"ợ\":\"o\",\n\t\"ờ\":\"o\",\n\t\"ở\":\"o\",\n\t\"ỡ\":\"o\",\n\t\"ȏ\":\"o\",\n\t\"ꝋ\":\"o\",\n\t\"ꝍ\":\"o\",\n\t\"ⱺ\":\"o\",\n\t\"ō\":\"o\",\n\t\"ṓ\":\"o\",\n\t\"ṑ\":\"o\",\n\t\"ǫ\":\"o\",\n\t\"ǭ\":\"o\",\n\t\"ø\":\"o\",\n\t\"ǿ\":\"o\",\n\t\"õ\":\"o\",\n\t\"ṍ\":\"o\",\n\t\"ṏ\":\"o\",\n\t\"ȭ\":\"o\",\n\t\"ƣ\":\"oi\",\n\t\"ꝏ\":\"oo\",\n\t\"ɛ\":\"e\",\n\t\"ᶓ\":\"e\",\n\t\"ɔ\":\"o\",\n\t\"ᶗ\":\"o\",\n\t\"ȣ\":\"ou\",\n\t\"ṕ\":\"p\",\n\t\"ṗ\":\"p\",\n\t\"ꝓ\":\"p\",\n\t\"ƥ\":\"p\",\n\t\"ᵱ\":\"p\",\n\t\"ᶈ\":\"p\",\n\t\"ꝕ\":\"p\",\n\t\"ᵽ\":\"p\",\n\t\"ꝑ\":\"p\",\n\t\"ꝙ\":\"q\",\n\t\"ʠ\":\"q\",\n\t\"ɋ\":\"q\",\n\t\"ꝗ\":\"q\",\n\t\"ŕ\":\"r\",\n\t\"ř\":\"r\",\n\t\"ŗ\":\"r\",\n\t\"ṙ\":\"r\",\n\t\"ṛ\":\"r\",\n\t\"ṝ\":\"r\",\n\t\"ȑ\":\"r\",\n\t\"ɾ\":\"r\",\n\t\"ᵳ\":\"r\",\n\t\"ȓ\":\"r\",\n\t\"ṟ\":\"r\",\n\t\"ɼ\":\"r\",\n\t\"ᵲ\":\"r\",\n\t\"ᶉ\":\"r\",\n\t\"ɍ\":\"r\",\n\t\"ɽ\":\"r\",\n\t\"ↄ\":\"c\",\n\t\"ꜿ\":\"c\",\n\t\"ɘ\":\"e\",\n\t\"ɿ\":\"r\",\n\t\"ś\":\"s\",\n\t\"ṥ\":\"s\",\n\t\"š\":\"s\",\n\t\"ṧ\":\"s\",\n\t\"ş\":\"s\",\n\t\"ŝ\":\"s\",\n\t\"ș\":\"s\",\n\t\"ṡ\":\"s\",\n\t\"ṣ\":\"s\",\n\t\"ṩ\":\"s\",\n\t\"ʂ\":\"s\",\n\t\"ᵴ\":\"s\",\n\t\"ᶊ\":\"s\",\n\t\"ȿ\":\"s\",\n\t\"ɡ\":\"g\",\n\t\"ᴑ\":\"o\",\n\t\"ᴓ\":\"o\",\n\t\"ᴝ\":\"u\",\n\t\"ť\":\"t\",\n\t\"ţ\":\"t\",\n\t\"ṱ\":\"t\",\n\t\"ț\":\"t\",\n\t\"ȶ\":\"t\",\n\t\"ẗ\":\"t\",\n\t\"ⱦ\":\"t\",\n\t\"ṫ\":\"t\",\n\t\"ṭ\":\"t\",\n\t\"ƭ\":\"t\",\n\t\"ṯ\":\"t\",\n\t\"ᵵ\":\"t\",\n\t\"ƫ\":\"t\",\n\t\"ʈ\":\"t\",\n\t\"ŧ\":\"t\",\n\t\"ᵺ\":\"th\",\n\t\"ɐ\":\"a\",\n\t\"ᴂ\":\"ae\",\n\t\"ǝ\":\"e\",\n\t\"ᵷ\":\"g\",\n\t\"ɥ\":\"h\",\n\t\"ʮ\":\"h\",\n\t\"ʯ\":\"h\",\n\t\"ᴉ\":\"i\",\n\t\"ʞ\":\"k\",\n\t\"ꞁ\":\"l\",\n\t\"ɯ\":\"m\",\n\t\"ɰ\":\"m\",\n\t\"ᴔ\":\"oe\",\n\t\"ɹ\":\"r\",\n\t\"ɻ\":\"r\",\n\t\"ɺ\":\"r\",\n\t\"ⱹ\":\"r\",\n\t\"ʇ\":\"t\",\n\t\"ʌ\":\"v\",\n\t\"ʍ\":\"w\",\n\t\"ʎ\":\"y\",\n\t\"ꜩ\":\"tz\",\n\t\"ú\":\"u\",\n\t\"ŭ\":\"u\",\n\t\"ǔ\":\"u\",\n\t\"û\":\"u\",\n\t\"ṷ\":\"u\",\n\t\"ü\":\"u\",\n\t\"ǘ\":\"u\",\n\t\"ǚ\":\"u\",\n\t\"ǜ\":\"u\",\n\t\"ǖ\":\"u\",\n\t\"ṳ\":\"u\",\n\t\"ụ\":\"u\",\n\t\"ű\":\"u\",\n\t\"ȕ\":\"u\",\n\t\"ù\":\"u\",\n\t\"ủ\":\"u\",\n\t\"ư\":\"u\",\n\t\"ứ\":\"u\",\n\t\"ự\":\"u\",\n\t\"ừ\":\"u\",\n\t\"ử\":\"u\",\n\t\"ữ\":\"u\",\n\t\"ȗ\":\"u\",\n\t\"ū\":\"u\",\n\t\"ṻ\":\"u\",\n\t\"ų\":\"u\",\n\t\"ᶙ\":\"u\",\n\t\"ů\":\"u\",\n\t\"ũ\":\"u\",\n\t\"ṹ\":\"u\",\n\t\"ṵ\":\"u\",\n\t\"ᵫ\":\"ue\",\n\t\"ꝸ\":\"um\",\n\t\"ⱴ\":\"v\",\n\t\"ꝟ\":\"v\",\n\t\"ṿ\":\"v\",\n\t\"ʋ\":\"v\",\n\t\"ᶌ\":\"v\",\n\t\"ⱱ\":\"v\",\n\t\"ṽ\":\"v\",\n\t\"ꝡ\":\"vy\",\n\t\"ẃ\":\"w\",\n\t\"ŵ\":\"w\",\n\t\"ẅ\":\"w\",\n\t\"ẇ\":\"w\",\n\t\"ẉ\":\"w\",\n\t\"ẁ\":\"w\",\n\t\"ⱳ\":\"w\",\n\t\"ẘ\":\"w\",\n\t\"ẍ\":\"x\",\n\t\"ẋ\":\"x\",\n\t\"ᶍ\":\"x\",\n\t\"ý\":\"y\",\n\t\"ŷ\":\"y\",\n\t\"ÿ\":\"y\",\n\t\"ẏ\":\"y\",\n\t\"ỵ\":\"y\",\n\t\"ỳ\":\"y\",\n\t\"ƴ\":\"y\",\n\t\"ỷ\":\"y\",\n\t\"ỿ\":\"y\",\n\t\"ȳ\":\"y\",\n\t\"ẙ\":\"y\",\n\t\"ɏ\":\"y\",\n\t\"ỹ\":\"y\",\n\t\"ź\":\"z\",\n\t\"ž\":\"z\",\n\t\"ẑ\":\"z\",\n\t\"ʑ\":\"z\",\n\t\"ⱬ\":\"z\",\n\t\"ż\":\"z\",\n\t\"ẓ\":\"z\",\n\t\"ȥ\":\"z\",\n\t\"ẕ\":\"z\",\n\t\"ᵶ\":\"z\",\n\t\"ᶎ\":\"z\",\n\t\"ʐ\":\"z\",\n\t\"ƶ\":\"z\",\n\t\"ɀ\":\"z\",\n\t\"ﬀ\":\"ff\",\n\t\"ﬃ\":\"ffi\",\n\t\"ﬄ\":\"ffl\",\n\t\"ﬁ\":\"fi\",\n\t\"ﬂ\":\"fl\",\n\t\"ĳ\":\"ij\",\n\t\"œ\":\"oe\",\n\t\"ﬆ\":\"st\",\n\t\"ₐ\":\"a\",\n\t\"ₑ\":\"e\",\n\t\"ᵢ\":\"i\",\n\t\"ⱼ\":\"j\",\n\t\"ₒ\":\"o\",\n\t\"ᵣ\":\"r\",\n\t\"ᵤ\":\"u\",\n\t\"ᵥ\":\"v\",\n\t\"ₓ\":\"x\",\n\t\"Ё\":\"YO\",\n\t\"Й\":\"I\",\n\t\"Ц\":\"TS\",\n\t\"У\":\"U\",\n\t\"К\":\"K\",\n\t\"Е\":\"E\",\n\t\"Н\":\"N\",\n\t\"Г\":\"G\",\n\t\"Ш\":\"SH\",\n\t\"Щ\":\"SCH\",\n\t\"З\":\"Z\",\n\t\"Х\":\"H\",\n\t\"Ъ\":\"'\",\n\t\"ё\":\"yo\",\n\t\"й\":\"i\",\n\t\"ц\":\"ts\",\n\t\"у\":\"u\",\n\t\"к\":\"k\",\n\t\"е\":\"e\",\n\t\"н\":\"n\",\n\t\"г\":\"g\",\n\t\"ш\":\"sh\",\n\t\"щ\":\"sch\",\n\t\"з\":\"z\",\n\t\"х\":\"h\",\n\t\"ъ\":\"'\",\n\t\"Ф\":\"F\",\n\t\"Ы\":\"I\",\n\t\"В\":\"V\",\n\t\"А\":\"a\",\n\t\"П\":\"P\",\n\t\"Р\":\"R\",\n\t\"О\":\"O\",\n\t\"Л\":\"L\",\n\t\"Д\":\"D\",\n\t\"Ж\":\"ZH\",\n\t\"Э\":\"E\",\n\t\"ф\":\"f\",\n\t\"ы\":\"i\",\n\t\"в\":\"v\",\n\t\"а\":\"a\",\n\t\"п\":\"p\",\n\t\"р\":\"r\",\n\t\"о\":\"o\",\n\t\"л\":\"l\",\n\t\"д\":\"d\",\n\t\"ж\":\"zh\",\n\t\"э\":\"e\",\n\t\"Я\":\"Ya\",\n\t\"Ч\":\"CH\",\n\t\"С\":\"S\",\n\t\"М\":\"M\",\n\t\"И\":\"I\",\n\t\"Т\":\"T\",\n\t\"Ь\":\"'\",\n\t\"Б\":\"B\",\n\t\"Ю\":\"YU\",\n\t\"я\":\"ya\",\n\t\"ч\":\"ch\",\n\t\"с\":\"s\",\n\t\"м\":\"m\",\n\t\"и\":\"i\",\n\t\"т\":\"t\",\n\t\"ь\":\"'\",\n\t\"б\":\"b\",\n\t\"ю\":\"yu\",\n\t\"…\":\"...\"\n};\n\nexports.transliterate = function(str) {\n\treturn str.replace(/[^A-Za-z0-9\\[\\] ]/g,function(ch) {\n\t\treturn exports.transliterationPairs[ch] || ch;\n\t});\n};\n\nexports.transliterateToSafeASCII = function(str) {\n\treturn str.replace(/[^\\x20-\\x7F]/g,function(ch) {\n\t\treturn exports.transliterationPairs[ch] || \"\";\n\t});\n};\n"
  },
  {
    "path": "core/modules/utils/utils.js",
    "content": "/*\\\ntitle: $:/core/modules/utils/utils.js\ntype: application/javascript\nmodule-type: utils\n\nVarious static utility functions.\n\n\\*/\n\n\"use strict\";\n\n/*\nDisplay a message, in colour if we're on a terminal\n*/\nexports.log = function(text,colour) {\n\tconsole.log($tw.node ? exports.terminalColour(colour) + text + exports.terminalColour() : text);\n};\n\nexports.terminalColour = function(colour) {\n\tif(!$tw.browser && $tw.node && process.stdout.isTTY) {\n\t\tif(colour) {\n\t\t\tvar code = exports.terminalColourLookup[colour];\n\t\t\tif(code) {\n\t\t\t\treturn \"\\x1b[\" + code + \"m\";\n\t\t\t}\n\t\t} else {\n\t\t\treturn \"\\x1b[0m\"; // Cancel colour\n\t\t}\n\t}\n\treturn \"\";\n};\n\nexports.terminalColourLookup = {\n\t\"black\": \"0;30\",\n\t\"red\": \"0;31\",\n\t\"green\": \"0;32\",\n\t\"brown/orange\": \"0;33\",\n\t\"blue\": \"0;34\",\n\t\"purple\": \"0;35\",\n\t\"cyan\": \"0;36\",\n\t\"light gray\": \"0;37\"\n};\n\n/*\nDisplay a warning, in colour if we're on a terminal\n*/\nexports.warning = function(text) {\n\texports.log(text,\"brown/orange\");\n};\n\n/*\nReturn the integer represented by the str (string).\nReturn the dflt (default) parameter if str is not a base-10 number.\n*/\nexports.getInt = function(str,deflt) {\n\tvar i = parseInt(str,10);\n\treturn isNaN(i) ? deflt : i;\n};\n\n/*\nRepeatedly replaces a substring within a string. Like String.prototype.replace, but without any of the default special handling of $ sequences in the replace string\n*/\nexports.replaceString = function(text,search,replace) {\n\treturn text.replace(search,function() {\n\t\treturn replace;\n\t});\n};\n\nexports.trimPrefix = function(str,unwanted) {\n\tif(typeof str === \"string\" && typeof unwanted === \"string\") {\n\t\tif(unwanted === \"\") {\n\t\t\treturn str.replace(/^\\s\\s*/, \"\");\n\t\t} else {\n\t\t\t// Safely regexp-escape the unwanted text\n\t\t\tunwanted = unwanted.replace(/[\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\");\n\t\t\tvar regex = new RegExp(\"^(\" + unwanted + \")+\");\n\t\t\treturn str.replace(regex, \"\");\n\t\t}\n\t} else {\n\t\treturn str;\n\t}\n};\n\nexports.trimSuffix = function(str,unwanted) {\n\tif(typeof str === \"string\" && typeof unwanted === \"string\") {\n\t\tif(unwanted === \"\") {\n\t\t\treturn str.replace(/\\s\\s*$/, \"\");\n\t\t} else {\n\t\t\t// Safely regexp-escape the unwanted text\n\t\t\tunwanted = unwanted.replace(/[\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\");\n\t\t\tvar regex = new RegExp(\"(\" + unwanted + \")+$\");\n\t\t\treturn str.replace(regex, \"\");\n\t\t}\n\t} else {\n\t\treturn str;\n\t}\n};\n\n/*\nConvert a string to sentence case (ie capitalise first letter)\n*/\nexports.toSentenceCase = function(str) {\n\treturn (str || \"\").replace(/^\\S/, function(c) {return c.toUpperCase();});\n};\n\n/*\nConvert a string to title case (ie capitalise each initial letter)\n*/\nexports.toTitleCase = function(str) {\n\treturn (str || \"\").replace(/(^|\\s)\\S/g, function(c) {return c.toUpperCase();});\n};\n\n/*\nFind the line break preceding a given position in a string\nReturns position immediately after that line break, or the start of the string\n*/\nexports.findPrecedingLineBreak = function(text,pos) {\n\tvar result = text.lastIndexOf(\"\\n\",pos - 1);\n\tif(result === -1) {\n\t\tresult = 0;\n\t} else {\n\t\tresult++;\n\t\tif(text.charAt(result) === \"\\r\") {\n\t\t\tresult++;\n\t\t}\n\t}\n\treturn result;\n};\n\n/*\nFind the line break following a given position in a string\n*/\nexports.findFollowingLineBreak = function(text,pos) {\n\t// Cut to just past the following line break, or to the end of the text\n\tvar result = text.indexOf(\"\\n\",pos);\n\tif(result === -1) {\n\t\tresult = text.length;\n\t} else {\n\t\tif(text.charAt(result) === \"\\r\") {\n\t\t\tresult++;\n\t\t}\n\t}\n\treturn result;\n};\n\n/*\nReturn the number of keys in an object\n*/\nexports.count = function(object) {\n\treturn Object.keys(object || {}).length;\n};\n\n/*\nRemove entries from an array\n\tarray: array to modify\n\tvalue: a single value to remove, or an array of values to remove\n*/\nexports.removeArrayEntries = function(array,value) {\n\tvar t,p;\n\tif($tw.utils.isArray(value)) {\n\t\tfor(t=0; t<value.length; t++) {\n\t\t\tp = array.indexOf(value[t]);\n\t\t\tif(p !== -1) {\n\t\t\t\tarray.splice(p,1);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tp = array.indexOf(value);\n\t\tif(p !== -1) {\n\t\t\tarray.splice(p,1);\n\t\t}\n\t}\n\treturn array;\n};\n\n/*\nCheck whether any members of a hashmap are present in another hashmap\n*/\nexports.checkDependencies = function(dependencies,changes) {\n\tvar hit = false;\n\t$tw.utils.each(changes,function(change,title) {\n\t\tif($tw.utils.hop(dependencies,title)) {\n\t\t\thit = true;\n\t\t}\n\t});\n\treturn hit;\n};\n\nexports.extend = function(object /* [, src] */) {\n\t$tw.utils.each(Array.prototype.slice.call(arguments, 1), function(source) {\n\t\tif(source) {\n\t\t\tfor(var property in source) {\n\t\t\t\tobject[property] = source[property];\n\t\t\t}\n\t\t}\n\t});\n\treturn object;\n};\n\nexports.deepCopy = function(object) {\n\tvar result,t;\n\tif($tw.utils.isArray(object)) {\n\t\t// Copy arrays\n\t\tresult = object.slice(0);\n\t} else if(typeof object === \"object\") {\n\t\tresult = {};\n\t\tfor(t in object) {\n\t\t\tif(object[t] !== undefined) {\n\t\t\t\tresult[t] = $tw.utils.deepCopy(object[t]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tresult = object;\n\t}\n\treturn result;\n};\n\nexports.extendDeepCopy = function(object,extendedProperties) {\n\tvar result = $tw.utils.deepCopy(object),t;\n\tfor(t in extendedProperties) {\n\t\tif(extendedProperties[t] !== undefined) {\n\t\t\tresult[t] = $tw.utils.deepCopy(extendedProperties[t]);\n\t\t}\n\t}\n\treturn result;\n};\n\nexports.deepFreeze = function deepFreeze(object) {\n\tvar property, key;\n\tif(object) {\n\t\tObject.freeze(object);\n\t\tfor(key in object) {\n\t\t\tproperty = object[key];\n\t\t\tif($tw.utils.hop(object,key) && (typeof property === \"object\") && !Object.isFrozen(property)) {\n\t\t\t\tdeepFreeze(property);\n\t\t\t}\n\t\t}\n\t}\n};\n\nexports.slowInSlowOut = function(t) {\n\treturn (1 - ((Math.cos(t * Math.PI) + 1) / 2));\n};\n\nexports.copyObjectPropertiesSafe = function(object) {\n\tconst seen = new Set(),\n\t\tisDOMElement = (value) => value instanceof Node || value instanceof Window;\n\n\tfunction safeCopy(obj) {\n\t\t// skip circular references\n\t\tif(seen.has(obj)) {\n\t\t\treturn undefined;\n\t\t}\n\t\t// primitives and null are safe\n\t\tif(typeof obj !== \"object\" || obj === null) {\n\t\t\treturn obj;\n\t\t}\n\t\t// skip DOM elements\n\t\tif(isDOMElement(obj)) {\n\t\t\treturn undefined;\n\t\t}\n\t\t// copy arrays, preserving positions\n\t\tif(Array.isArray(obj)) {\n\t\t\treturn obj.map((item) => {\n\t\t\t\tconst value = safeCopy(item);\n\t\t\t\treturn value === undefined ? null : value;\n\t\t\t});\n\t\t}\n\n\t\tseen.add(obj);\n\t\tconst copy = {};\n\t\tlet key,\n\t\t\tvalue;\n\t\tfor(key in obj) {\n\t\t\ttry {\n\t\t\t\tvalue = safeCopy(obj[key]);\n\t\t\t\tif(value !== undefined) {\n\t\t\t\t\tcopy[key] = value;\n\t\t\t\t}\n\t\t\t} catch(e) {\n\t\t\t\t// silently skip unserializable properties\n\t\t\t}\n\t\t}\n\t\treturn copy;\n\t}\n\n\tconst result = safeCopy(object);\n\tseen.clear();\n\treturn result;\n};\n\nexports.formatTitleString = function(template,options) {\n\tvar base = options.base || \"\",\n\t\tseparator = options.separator || \"\",\n\t\tcounter = options.counter || \"\";\n\tvar result = \"\",\n\t\tt = template,\n\t\tmatches = [\n\t\t\t[/^\\$basename\\$/i, function() {\n\t\t\t\treturn base;\n\t\t\t}],\n\t\t\t[/^\\$count:(\\d+)\\$/i, function(match) {\n\t\t\t\treturn $tw.utils.pad(counter,match[1]);\n\t\t\t}],\n\t\t\t[/^\\$separator\\$/i, function() {\n\t\t\t\treturn separator;\n\t\t\t}],\n\t\t\t[/^\\$count\\$/i, function() {\n\t\t\t\treturn counter + \"\";\n\t\t\t}]\n\t\t];\n\twhile(t.length){\n\t\tvar matchString = \"\",\n\t\t\tfound = false;\n\t\t$tw.utils.each(matches, function(m) {\n\t\t\tvar match = m[0].exec(t);\n\t\t\tif(match) {\n\t\t\t\tfound = true;\n\t\t\t\tmatchString = m[1].call(null,match);\n\t\t\t\tt = t.substr(match[0].length);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\t\tif(found) {\n\t\t\tresult += matchString;\n\t\t} else {\n\t\t\tresult += t.charAt(0);\n\t\t\tt = t.substr(1);\n\t\t}\n\t}\n\tresult = result.replace(/\\\\(.)/g,\"$1\");\n\treturn result;\n};\n\nexports.formatDateString = function(date,template) {\n\tvar result = \"\",\n\t\tt = template,\n\t\tmatches = [\n\t\t\t[/^TIMESTAMP/, function() {\n\t\t\t\treturn date.getTime();\n\t\t\t}],\n\t\t\t[/^0hh12/, function() {\n\t\t\t\treturn $tw.utils.pad($tw.utils.getHours12(date));\n\t\t\t}],\n\t\t\t[/^wYYYY/, function() {\n\t\t\t\treturn $tw.utils.pad($tw.utils.getYearForWeekNo(date),4);\n\t\t\t}],\n\t\t\t[/^hh12/, function() {\n\t\t\t\treturn $tw.utils.getHours12(date);\n\t\t\t}],\n\t\t\t[/^DDth/, function() {\n\t\t\t\treturn date.getDate() + $tw.utils.getDaySuffix(date);\n\t\t\t}],\n\t\t\t[/^YYYY/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getFullYear(),4);\n\t\t\t}],\n\t\t\t[/^aYYYY/, function() {\n\t\t\t\treturn $tw.utils.pad(Math.abs(date.getFullYear()),4);\n\t\t\t}],\n\t\t\t[/^\\{era:([^,\\|}]*)\\|([^}\\|]*)\\|([^}]*)\\}/, function(match) {\n\t\t\t\tvar year = date.getFullYear();\n\t\t\t\treturn year === 0 ? match[2] : (year < 0 ? match[1] : match[3]);\n\t\t\t}],\n\t\t\t[/^0hh/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getHours());\n\t\t\t}],\n\t\t\t[/^0mm/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getMinutes());\n\t\t\t}],\n\t\t\t[/^0ss/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getSeconds());\n\t\t\t}],\n\t\t\t[/^0XXX/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getMilliseconds(),3);\n\t\t\t}],\n\t\t\t[/^0DD/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getDate());\n\t\t\t}],\n\t\t\t[/^0MM/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getMonth()+1);\n\t\t\t}],\n\t\t\t[/^0WW/, function() {\n\t\t\t\treturn $tw.utils.pad($tw.utils.getWeek(date));\n\t\t\t}],\n\t\t\t[/^0ddddd/, function() {\n\t\t\t\treturn $tw.utils.pad(Math.floor((date - new Date(date.getFullYear(), 0, 0)) / 1000 / 60 / 60 / 24),3);\n\t\t\t}],\n\t\t\t[/^ddddd/, function() {\n\t\t\t\treturn Math.floor((date - new Date(date.getFullYear(), 0, 0)) / 1000 / 60 / 60 / 24);\n\t\t\t}],\n\t\t\t[/^dddd/, function() {\n\t\t\t\treturn [7,1,2,3,4,5,6][date.getDay()];\n\t\t\t}],\n\t\t\t[/^ddd/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Short/Day/\" + date.getDay());\n\t\t\t}],\n\t\t\t[/^mmm/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Short/Month/\" + (date.getMonth() + 1));\n\t\t\t}],\n\t\t\t[/^DDD/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Long/Day/\" + date.getDay());\n\t\t\t}],\n\t\t\t[/^MMM/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Long/Month/\" + (date.getMonth() + 1));\n\t\t\t}],\n\t\t\t[/^TZD/, function() {\n\t\t\t\tvar tz = date.getTimezoneOffset(),\n\t\t\t\t\tatz = Math.abs(tz);\n\t\t\t\treturn (tz < 0 ? \"+\" : \"-\") + $tw.utils.pad(Math.floor(atz / 60)) + \":\" + $tw.utils.pad(atz % 60);\n\t\t\t}],\n\t\t\t[/^wYY/, function() {\n\t\t\t\treturn $tw.utils.pad($tw.utils.getYearForWeekNo(date) - 2000);\n\t\t\t}],\n\t\t\t[/^[ap]m/, function() {\n\t\t\t\treturn $tw.utils.getAmPm(date).toLowerCase();\n\t\t\t}],\n\t\t\t[/^hh/, function() {\n\t\t\t\treturn date.getHours();\n\t\t\t}],\n\t\t\t[/^mm/, function() {\n\t\t\t\treturn date.getMinutes();\n\t\t\t}],\n\t\t\t[/^ss/, function() {\n\t\t\t\treturn date.getSeconds();\n\t\t\t}],\n\t\t\t[/^XXX/, function() {\n\t\t\t\treturn date.getMilliseconds();\n\t\t\t}],\n\t\t\t[/^[AP]M/, function() {\n\t\t\t\treturn $tw.utils.getAmPm(date).toUpperCase();\n\t\t\t}],\n\t\t\t[/^DD/, function() {\n\t\t\t\treturn date.getDate();\n\t\t\t}],\n\t\t\t[/^MM/, function() {\n\t\t\t\treturn date.getMonth() + 1;\n\t\t\t}],\n\t\t\t[/^WW/, function() {\n\t\t\t\treturn $tw.utils.getWeek(date);\n\t\t\t}],\n\t\t\t[/^YY/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getFullYear() - 2000);\n\t\t\t}]\n\t\t];\n\t// If the user wants everything in UTC, shift the datestamp\n\t// Optimize for format string that essentially means\n\t// 'return raw UTC (tiddlywiki style) date string.'\n\tif(t.indexOf(\"[UTC]\") == 0 ) {\n\t\tif(t == \"[UTC]YYYY0MM0DD0hh0mm0ssXXX\")\n\t\t\treturn $tw.utils.stringifyDate(date || new Date());\n\t\tvar offset = date.getTimezoneOffset() ; // in minutes\n\t\tdate = new Date(date.getTime()+offset*60*1000) ;\n\t\tt = t.substr(5) ;\n\t}\n\twhile(t.length){\n\t\tvar matchString = \"\";\n\t\t$tw.utils.each(matches, function(m) {\n\t\t\tvar match = m[0].exec(t);\n\t\t\tif(match) {\n\t\t\t\tmatchString = m[1].call(null,match);\n\t\t\t\tt = t.substr(match[0].length);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\t\tif(matchString) {\n\t\t\tresult += matchString;\n\t\t} else {\n\t\t\tresult += t.charAt(0);\n\t\t\tt = t.substr(1);\n\t\t}\n\t}\n\tresult = result.replace(/\\\\(.)/g,\"$1\");\n\treturn result;\n};\n\nexports.getAmPm = function(date) {\n\treturn $tw.language.getString(\"Date/Period/\" + (date.getHours() >= 12 ? \"pm\" : \"am\"));\n};\n\nexports.getDaySuffix = function(date) {\n\treturn $tw.language.getString(\"Date/DaySuffix/\" + date.getDate());\n};\n\nexports.getWeek = function(date) {\n\tvar dt = new Date(date.getTime());\n\tvar d = dt.getDay();\n\tif(d === 0) {\n\t\td = 7; // JavaScript Sun=0, ISO Sun=7\n\t}\n\tdt.setTime(dt.getTime() + (4 - d) * 86400000);// shift day to Thurs of same week to calculate weekNo\n\tvar x = new Date(dt.getFullYear(),0,1);\n\tvar n = Math.floor((dt.getTime() - x.getTime()) / 86400000);\n\treturn Math.floor(n / 7) + 1;\n};\n\nexports.getYearForWeekNo = function(date) {\n\tvar dt = new Date(date.getTime());\n\tvar d = dt.getDay();\n\tif(d === 0) {\n\t\td = 7; // JavaScript Sun=0, ISO Sun=7\n\t}\n\tdt.setTime(dt.getTime() + (4 - d) * 86400000);// shift day to Thurs of same week\n\treturn dt.getFullYear();\n};\n\nexports.getHours12 = function(date) {\n\tvar h = date.getHours();\n\treturn h > 12 ? h-12 : ( h > 0 ? h : 12 );\n};\n\n/*\nConvert a date delta in milliseconds into a string representation of \"23 seconds ago\", \"27 minutes ago\" etc.\n\tdelta: delta in milliseconds\nReturns an object with these members:\n\tdescription: string describing the delta period\n\tupdatePeriod: time in millisecond until the string will be inaccurate\n*/\nexports.getRelativeDate = function(delta) {\n\tvar futurep = false;\n\tif(delta < 0) {\n\t\tdelta = -1 * delta;\n\t\tfuturep = true;\n\t}\n\tvar units = [\n\t\t{name: \"Years\",   duration:      365 * 24 * 60 * 60 * 1000},\n\t\t{name: \"Months\",  duration: (365/12) * 24 * 60 * 60 * 1000},\n\t\t{name: \"Days\",    duration:            24 * 60 * 60 * 1000},\n\t\t{name: \"Hours\",   duration:                 60 * 60 * 1000},\n\t\t{name: \"Minutes\", duration:                      60 * 1000},\n\t\t{name: \"Seconds\", duration:                           1000}\n\t];\n\tfor(var t=0; t<units.length; t++) {\n\t\tvar result = Math.floor(delta / units[t].duration);\n\t\tif(result >= 2) {\n\t\t\treturn {\n\t\t\t\tdelta: delta,\n\t\t\t\tdescription: $tw.language.getString(\n\t\t\t\t\t\"RelativeDate/\" + (futurep ? \"Future\" : \"Past\") + \"/\" + units[t].name,\n\t\t\t\t\t{variables:\n\t\t\t\t\t\t{period: result.toString()}\n\t\t\t\t\t}\n\t\t\t\t),\n\t\t\t\tupdatePeriod: units[t].duration\n\t\t\t};\n\t\t}\n\t}\n\treturn {\n\t\tdelta: delta,\n\t\tdescription: $tw.language.getString(\n\t\t\t\"RelativeDate/\" + (futurep ? \"Future\" : \"Past\") + \"/Second\",\n\t\t\t{variables:\n\t\t\t\t{period: \"1\"}\n\t\t\t}\n\t\t),\n\t\tupdatePeriod: 1000\n\t};\n};\n\n// Convert & to \"&amp;\", < to \"&lt;\", > to \"&gt;\", \" to \"&quot;\"\nexports.htmlEncode = function(s) {\n\tif(s) {\n\t\treturn s.toString().replace(/&/mg,\"&amp;\").replace(/</mg,\"&lt;\").replace(/>/mg,\"&gt;\").replace(/\\\"/mg,\"&quot;\");\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\n// Converts like htmlEncode, but forgets the double quote for brevity\nexports.htmlTextEncode = function(s) {\n\tif(s) {\n\t\treturn s.toString().replace(/&/mg,\"&amp;\").replace(/</mg,\"&lt;\").replace(/>/mg,\"&gt;\");\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\n// Converts all HTML entities to their character equivalents\nexports.entityDecode = function(s) {\n\tvar converter = String.fromCodePoint || String.fromCharCode,\n\t\te = s.substr(1,s.length-2), // Strip the & and the ;\n\t\tc;\n\tif(e.charAt(0) === \"#\") {\n\t\tif(e.charAt(1) === \"x\" || e.charAt(1) === \"X\") {\n\t\t\tc = parseInt(e.substr(2),16);\n\t\t} else {\n\t\t\tc = parseInt(e.substr(1),10);\n\t\t}\n\t\tif(isNaN(c)) {\n\t\t\treturn s;\n\t\t} else {\n\t\t\treturn converter(c);\n\t\t}\n\t} else {\n\t\tc = $tw.config.htmlEntities[e];\n\t\tif(c) {\n\t\t\treturn converter(c);\n\t\t} else {\n\t\t\treturn s; // Couldn't convert it as an entity, just return it raw\n\t\t}\n\t}\n};\n\nexports.unescapeLineBreaks = function(s) {\n\treturn s.replace(/\\\\n/mg,\"\\n\").replace(/\\\\b/mg,\" \").replace(/\\\\s/mg,\"\\\\\").replace(/\\r/mg,\"\");\n};\n\n/*\n * Returns an escape sequence for given character. Uses \\x for characters <=\n * 0xFF to save space, \\u for the rest.\n *\n * The code needs to be in sync with th code template in the compilation\n * function for \"action\" nodes.\n */\n// Copied from peg.js, thanks to David Majda\nexports.escape = function(ch) {\n\tvar charCode = ch.charCodeAt(0);\n\tif(charCode <= 0xFF) {\n\t\treturn \"\\\\x\" + $tw.utils.pad(charCode.toString(16).toUpperCase());\n\t} else {\n\t\treturn \"\\\\u\" + $tw.utils.pad(charCode.toString(16).toUpperCase(),4);\n\t}\n};\n\n// Turns a string into a legal JavaScript string\n// Copied from peg.js, thanks to David Majda\nexports.stringify = function(s, rawUnicode) {\n\t/*\n\t* ECMA-262, 5th ed., 7.8.4: All characters may appear literally in a string\n\t* literal except for the closing quote character, backslash, carriage return,\n\t* line separator, paragraph separator, and line feed. Any character may\n\t* appear in the form of an escape sequence.\n\t*\n\t* For portability, we also escape all non-ASCII characters.\n\t*/\n\tvar regex = rawUnicode ? /[\\x00-\\x1f]/g : /[\\x00-\\x1f\\x80-\\uFFFF]/g;\n\treturn (s || \"\")\n\t\t.replace(/\\\\/g, \"\\\\\\\\\")            // backslash\n\t\t.replace(/\"/g, '\\\\\"')              // double quote character\n\t\t.replace(/'/g, \"\\\\'\")              // single quote character\n\t\t.replace(/\\r/g, \"\\\\r\")             // carriage return\n\t\t.replace(/\\n/g, \"\\\\n\")             // line feed\n\t\t.replace(regex, exports.escape);   // non-ASCII characters\n};\n\n// Turns a string into a legal JSON string\n// Derived from peg.js, thanks to David Majda\nexports.jsonStringify = function(s, rawUnicode) {\n\t// See http://www.json.org/\n\tvar regex = rawUnicode ? /[\\x00-\\x1f]/g : /[\\x00-\\x1f\\x80-\\uFFFF]/g;\n\treturn (s || \"\")\n\t\t.replace(/\\\\/g, \"\\\\\\\\\")            // backslash\n\t\t.replace(/\"/g, '\\\\\"')              // double quote character\n\t\t.replace(/\\r/g, \"\\\\r\")             // carriage return\n\t\t.replace(/\\n/g, \"\\\\n\")             // line feed\n\t\t.replace(/\\x08/g, \"\\\\b\")           // backspace\n\t\t.replace(/\\x0c/g, \"\\\\f\")           // formfeed\n\t\t.replace(/\\t/g, \"\\\\t\")             // tab\n\t\t.replace(regex,function(s) {\n\t\t\treturn \"\\\\u\" + $tw.utils.pad(s.charCodeAt(0).toString(16).toUpperCase(),4);\n\t\t}); // non-ASCII characters\n};\n\n/*\nEscape the RegExp special characters with a preceding backslash\n*/\nexports.escapeRegExp = function(s) {\n\treturn s.replace(/[\\-\\/\\\\\\^\\$\\*\\+\\?\\.\\(\\)\\|\\[\\]\\{\\}]/g, \"\\\\$&\");\n};\n\n/*\nExtended version of encodeURIComponent that encodes additional characters including\nthose that are illegal within filepaths on various platforms including Windows\n*/\nexports.encodeURIComponentExtended = function(s) {\n\treturn encodeURIComponent(s).replace(/[!'()*]/g,function(c) {\n\t\treturn \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n\t});\n};\n\n// Checks whether a link target is external, i.e. not a tiddler title\nexports.isLinkExternal = function(to) {\n\tvar externalRegExp = /^(?:file|http|https|mailto|ftp|irc|news|obsidian|data|skype):[^\\s<>{}\\[\\]`|\"\\\\^]+(?:\\/|\\b)/i;\n\treturn externalRegExp.test(to);\n};\n\nexports.nextTick = function(fn) {\n/*global window: false */\n\tif(typeof process === \"undefined\") {\n\t\t// Apparently it would be faster to use postMessage - http://dbaron.org/log/20100309-faster-timeouts\n\t\twindow.setTimeout(fn,0);\n\t} else {\n\t\tprocess.nextTick(fn);\n\t}\n};\n\n/*\nConvert a hyphenated CSS property name into a camel case one\n*/\nexports.unHyphenateCss = function(propName) {\n\treturn propName.replace(/-([a-z])/gi, function(match0,match1) {\n\t\treturn match1.toUpperCase();\n\t});\n};\n\n/*\nConvert a camelcase CSS property name into a dashed one (\"backgroundColor\" --> \"background-color\")\n*/\nexports.hyphenateCss = function(propName) {\n\treturn propName.replace(/([A-Z])/g, function(match0,match1) {\n\t\treturn \"-\" + match1.toLowerCase();\n\t});\n};\n\n/*\nParse a text reference of one of these forms:\n* title\n* !!field\n* title!!field\n* title##index\n* etc\nReturns an object with the following fields, all optional:\n* title: tiddler title\n* field: tiddler field name\n* index: JSON property index\n*/\nexports.parseTextReference = function(textRef) {\n\t// Separate out the title, field name and/or JSON indices\n\tvar reTextRef = /(?:(.*?)!!(.+))|(?:(.*?)##(.+))|(.*)/mg,\n\t\tmatch = reTextRef.exec(textRef),\n\t\tresult = {};\n\tif(match && reTextRef.lastIndex === textRef.length) {\n\t\t// Return the parts\n\t\tif(match[1]) {\n\t\t\tresult.title = match[1];\n\t\t}\n\t\tif(match[2]) {\n\t\t\tresult.field = match[2];\n\t\t}\n\t\tif(match[3]) {\n\t\t\tresult.title = match[3];\n\t\t}\n\t\tif(match[4]) {\n\t\t\tresult.index = match[4];\n\t\t}\n\t\tif(match[5]) {\n\t\t\tresult.title = match[5];\n\t\t}\n\t} else {\n\t\t// If we couldn't parse it\n\t\tresult.title = textRef;\n\t}\n\treturn result;\n};\n\n/*\nChecks whether a string is a valid fieldname\n*/\nexports.isValidFieldName = function(name) {\n\tif(!name || typeof name !== \"string\") {\n\t\treturn false;\n\t}\n\t// Since v5.2.x, there are no restrictions on characters in field names\n\treturn name;\n};\n\n/*\nExtract the version number from the meta tag or from the boot file\n*/\n\n// Browser version\nexports.extractVersionInfo = function() {\n\tif($tw.packageInfo) {\n\t\treturn $tw.packageInfo.version;\n\t} else {\n\t\tvar metatags = document.getElementsByTagName(\"meta\");\n\t\tfor(var t=0; t<metatags.length; t++) {\n\t\t\tvar m = metatags[t];\n\t\t\tif(m.name === \"tiddlywiki-version\") {\n\t\t\t\treturn m.content;\n\t\t\t}\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nGet the animation duration in ms\n*/\nexports.getAnimationDuration = function() {\n\treturn parseInt($tw.wiki.getTiddlerText(\"$:/config/AnimationDuration\",\"400\"),10) || 0;\n};\n\n/*\nHash a string to a number\nDerived from http://stackoverflow.com/a/15710692\n*/\nexports.hashString = function(str) {\n\treturn str.split(\"\").reduce(function(a,b) {\n\t\ta = ((a << 5) - a) + b.charCodeAt(0);\n\t\treturn a & a;\n\t},0);\n};\n\n/*\nCryptographic hash function as used by sha256 filter operator\noptions.length .. number of characters returned defaults to 64\n*/\nexports.sha256 = function(str, options) {\n\toptions = options || {};\n\treturn $tw.sjcl.codec.hex.fromBits($tw.sjcl.hash.sha256.hash(str)).substr(0,options.length || 64);\n};\n\n/*\nDecode a base64 string\n*/\nexports.base64Decode = function(string64,binary,urlsafe) {\n\tconst encoded = urlsafe ? string64.replace(/_/g,\"/\").replace(/-/g,\"+\") : string64;\n\tif(binary) return $tw.utils.atob(encoded);\n\telse return $tw.utils.base64DecodeUtf8(encoded);\n};\n\n/*\nEncode a string to base64\n*/\nexports.base64Encode = function(string64,binary,urlsafe) {\n\tlet encoded;\n\tif(binary) encoded = $tw.utils.btoa(string64);\n\telse encoded = $tw.utils.base64EncodeUtf8(string64);\n\tif(urlsafe) {\n\t\tencoded = encoded.replace(/\\+/g,\"-\").replace(/\\//g,\"_\");\n\t}\n\treturn encoded;\n};\n\n/*\nConvert a hashmap into a tiddler dictionary format sequence of name:value pairs\n*/\nexports.makeTiddlerDictionary = function(data) {\n\tvar output = [];\n\tfor(var name in data) {\n\t\toutput.push(name + \": \" + data[name]);\n\t}\n\treturn output.join(\"\\n\");\n};\n\n/*\nHigh resolution microsecond timer for profiling\n*/\nexports.timer = function(base) {\n\tvar m;\n\tif($tw.node) {\n\t\tvar r = process.hrtime();\n\t\tm =  r[0] * 1e3 + (r[1] / 1e6);\n\t} else if(window.performance) {\n\t\tm = performance.now();\n\t} else {\n\t\tm = Date.now();\n\t}\n\tif(typeof base !== \"undefined\") {\n\t\tm = m - base;\n\t}\n\treturn m;\n};\n\n/*\nConvert text and content type to a data URI\n*/\nexports.makeDataUri = function(text,type,_canonical_uri) {\n\ttype = type || \"text/vnd.tiddlywiki\";\n\tvar typeInfo = $tw.config.contentTypeInfo[type] || $tw.config.contentTypeInfo[\"text/plain\"],\n\t\tisBase64 = typeInfo.encoding === \"base64\",\n\t\tparts = [];\n\tif(_canonical_uri) {\n\t\tparts.push(_canonical_uri);\n\t} else {\n\t\tparts.push(\"data:\");\n\t\tparts.push(type);\n\t\tparts.push(isBase64 ? \";base64\" : \"\");\n\t\tparts.push(\",\");\n\t\tparts.push(isBase64 ? text : encodeURIComponent(text));\n\t}\n\treturn parts.join(\"\");\n};\n\n/*\nReturn system information useful for debugging\n*/\nexports.getSystemInfo = function(str,ending,position) {\n\tvar results = [],\n\t\tsave = function(desc,value) {\n\t\t\tresults.push(desc + \": \" + value);\n\t\t};\n\tif($tw.browser) {\n\t\tsave(\"User Agent\",navigator.userAgent);\n\t\tsave(\"Online Status\",window.navigator.onLine);\n\t}\n\tif($tw.node) {\n\t\tsave(\"Node Version\",process.version);\n\t}\n\treturn results.join(\"\\n\");\n};\n\nexports.parseNumber = function(str) {\n\treturn parseFloat(str) || 0;\n};\n\nexports.parseInt = function(str) {\n\treturn parseInt(str,10) || 0;\n};\n\nexports.makeCompareFunction = function(type,options) {\n\toptions = options || {};\n\t// set isCaseSensitive to true if not defined in options\n\tvar isCaseSensitive = (options.isCaseSensitive === false) ? false : true,\n\t\tgt = options.invert ? -1 : +1,\n\t\tlt = options.invert ? +1 : -1,\n\t\tcompare = function(a,b) {\n\t\t\tif(a > b) {\n\t\t\t\treturn gt ;\n\t\t\t} else if(a < b) {\n\t\t\t\treturn lt;\n\t\t\t} else {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t},\n\t\ttypes = {\n\t\t\t\"number\": function(a,b) {\n\t\t\t\treturn compare($tw.utils.parseNumber(a),$tw.utils.parseNumber(b));\n\t\t\t},\n\t\t\t\"integer\": function(a,b) {\n\t\t\t\treturn compare($tw.utils.parseInt(a),$tw.utils.parseInt(b));\n\t\t\t},\n\t\t\t\"string\": function(a,b) {\n\t\t\t\tif(!isCaseSensitive) {\n\t\t\t\t\ta = a.toLowerCase();\n\t\t\t\t\tb = b.toLowerCase();\n\t\t\t\t}\n\t\t\t\treturn compare(\"\" + a,\"\" + b);\n\t\t\t},\n\t\t\t\"date\": function(a,b) {\n\t\t\t\tvar dateA = $tw.utils.parseDate(a),\n\t\t\t\t\tdateB = $tw.utils.parseDate(b);\n\t\t\t\tif(!isFinite(dateA)) {\n\t\t\t\t\tdateA = new Date(0);\n\t\t\t\t}\n\t\t\t\tif(!isFinite(dateB)) {\n\t\t\t\t\tdateB = new Date(0);\n\t\t\t\t}\n\t\t\t\treturn compare(dateA,dateB);\n\t\t\t},\n\t\t\t\"version\": function(a,b) {\n\t\t\t\treturn compare($tw.utils.compareVersions(a,b),0);\n\t\t\t},\n\t\t\t\"alphanumeric\": function(a,b) {\n\t\t\t\tif(!isCaseSensitive) {\n\t\t\t\t\ta = a.toLowerCase();\n\t\t\t\t\tb = b.toLowerCase();\n\t\t\t\t}\n\t\t\t\treturn options.invert ? b.localeCompare(a,undefined,{numeric: true,sensitivity: \"base\"}) : a.localeCompare(b,undefined,{numeric: true,sensitivity: \"base\"});\n\t\t\t}\n\t\t};\n\treturn (types[type] || types[options.defaultType] || types.number);\n};\n\n/*\nSplit text into parts (lines or words) for diff operations\nAdapted from https://github.com/google/diff-match-patch/wiki/Line-or-Word-Diffs\n*/\nexports.diffPartsToChars = function(text1,text2,mode) {\n\tconst lineArray = [\"\"],\n\t\tlineHash = Object.create(null);\n\n\tfunction diff_linesToPartsMunge_(text,mode) {\n\t\tlet chars = \"\",\n\t\t\tlineStart = 0,\n\t\t\tlineEnd = -1,\n\t\t\tlineArrayLength = lineArray.length,\n\t\t\tregexpResult;\n\t\tconst searchRegexp = /\\W+/g;\n\t\twhile(lineEnd < text.length - 1) {\n\t\t\tif(mode === \"words\") {\n\t\t\t\tregexpResult = searchRegexp.exec(text);\n\t\t\t\tlineEnd = searchRegexp.lastIndex;\n\t\t\t\tif(regexpResult === null) {\n\t\t\t\t\tlineEnd = text.length;\n\t\t\t\t}\n\t\t\t\tlineEnd = --lineEnd;\n\t\t\t} else {\n\t\t\t\tlineEnd = text.indexOf(\"\\n\", lineStart);\n\t\t\t\tif(lineEnd === -1) {\n\t\t\t\t\tlineEnd = text.length - 1;\n\t\t\t\t}\n\t\t\t}\n\t\t\tlet line = text.substring(lineStart, lineEnd + 1);\n\n\t\t\tif(line in lineHash) {\n\t\t\t\tchars += String.fromCharCode(lineHash[line]);\n\t\t\t} else {\n\t\t\t\tif(lineArrayLength === maxLines) {\n\t\t\t\t\tline = text.substring(lineStart);\n\t\t\t\t\tlineEnd = text.length;\n\t\t\t\t}\n\t\t\t\tchars += String.fromCharCode(lineArrayLength);\n\t\t\t\tlineHash[line] = lineArrayLength;\n\t\t\t\tlineArray[lineArrayLength++] = line;\n\t\t\t}\n\t\t\tlineStart = lineEnd + 1;\n\t\t}\n\t\treturn chars;\n\t}\n\tlet maxLines = 40000;\n\tconst chars1 = diff_linesToPartsMunge_(text1,mode);\n\tmaxLines = 65535;\n\tconst chars2 = diff_linesToPartsMunge_(text2,mode);\n\treturn {chars1, chars2, lineArray};\n};\n"
  },
  {
    "path": "core/modules/widgets/action-confirm.js",
    "content": "/*\\\n\ntitle: $:/core/modules/widgets/action-confirm.js\ntype: application/javascript\nmodule-type: widget\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ConfirmWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nConfirmWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nConfirmWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.parentDomNode = parent;\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nConfirmWidget.prototype.execute = function() {\n\tthis.message = this.getAttribute(\"$message\",$tw.language.getString(\"ConfirmAction\"));\n\tthis.prompt = (this.getAttribute(\"$prompt\",\"yes\") == \"no\" ? false : true);\n\tthis.makeChildWidgets();\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nConfirmWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$message\"] || changedAttributes[\"$prompt\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nConfirmWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar invokeActions = true,\n\t\thandled = true,\n\t\twin = event && event.event && event.event.view ? event.event.view : window;\n\tif(this.prompt) {\n\t\tinvokeActions = win.confirm(this.message);\n\t}\n\tif(invokeActions) {\n\t\thandled = this.invokeActions(triggeringWidget,event);\n\t}\n\treturn handled;\n};\n\nConfirmWidget.prototype.allowActionPropagation = function() {\n\treturn false;\n};\n\nexports[\"action-confirm\"] = ConfirmWidget;\n"
  },
  {
    "path": "core/modules/widgets/action-createtiddler.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/action-createtiddler.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to create a new tiddler with a unique name and specified fields.\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CreateTiddlerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCreateTiddlerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCreateTiddlerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Render children\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nCreateTiddlerWidget.prototype.execute = function() {\n\tthis.actionBaseTitle = this.getAttribute(\"$basetitle\");\n\tthis.hasBase = !!this.actionBaseTitle;\n\tthis.actionSaveTitle = this.getAttribute(\"$savetitle\");\n\tthis.actionSaveDraftTitle = this.getAttribute(\"$savedrafttitle\");\n\tthis.actionTimestamp = this.getAttribute(\"$timestamp\",\"yes\") === \"yes\";\n\t//Following params are new since 5.1.22\n\tthis.actionTemplate = this.getAttribute(\"$template\");\n\tthis.useTemplate = !!this.actionTemplate;\n\tthis.actionOverwrite = this.getAttribute(\"$overwrite\",\"no\");\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nCreateTiddlerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nCreateTiddlerWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar title = this.wiki.getTiddlerText(\"$:/language/DefaultNewTiddlerTitle\"), // Get the initial new-tiddler title\n\t\tfields = {},\n\t\tcreationFields,\n\t\tmodificationFields;\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tfields[name] = attribute;\n\t\t}\n\t});\n\tif(this.actionTimestamp) {\n\t\tcreationFields = this.wiki.getCreationFields();\n\t\tmodificationFields = this.wiki.getModificationFields();\n\t}\n\tif(this.hasBase && this.actionOverwrite === \"no\") {\n\t\ttitle = this.wiki.generateNewTitle(this.actionBaseTitle);\n\t} else if(this.hasBase && this.actionOverwrite === \"yes\") {\n\t\ttitle = this.actionBaseTitle;\n\t}\n\t// NO $basetitle BUT $template parameter is available\n\t// the title MUST be unique, otherwise the template would be overwritten\n\tif(!this.hasBase && this.useTemplate) {\n\t\ttitle = this.wiki.generateNewTitle(this.actionTemplate);\n\t} else if(!this.hasBase && !this.useTemplate) {\n\t\t// If no $basetitle and no $template then use initial title\n\t\ttitle = this.wiki.generateNewTitle(title);\n\t}\n\tvar templateTiddler = this.wiki.getTiddler(this.actionTemplate) || {};\n\tthis.wiki.addTiddler(new $tw.Tiddler(templateTiddler.fields,creationFields,fields,modificationFields,{title: title}));\n\tvar draftTitle = this.wiki.generateDraftTitle(title);\n\tif(this.actionSaveTitle) {\n\t\tthis.wiki.setTextReference(this.actionSaveTitle,title,this.getVariable(\"currentTiddler\"));\n\t}\n\tif(this.actionSaveDraftTitle) {\n\t\tthis.wiki.setTextReference(this.actionSaveDraftTitle,draftTitle,this.getVariable(\"currentTiddler\"));\n\t}\n\tthis.setVariable(\"createTiddler-title\",title);\n\tthis.setVariable(\"createTiddler-draftTitle\",draftTitle);\n\tthis.refreshChildren();\n\treturn true; // Action was invoked\n};\n\nexports[\"action-createtiddler\"] = CreateTiddlerWidget;\n"
  },
  {
    "path": "core/modules/widgets/action-deletefield.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/action-deletefield.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to delete fields of a tiddler.\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DeleteFieldWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDeleteFieldWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDeleteFieldWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nDeleteFieldWidget.prototype.execute = function() {\n\tthis.actionTiddler = this.getAttribute(\"$tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.actionField = this.getAttribute(\"$field\",null);\n\tthis.actionTimestamp = this.getAttribute(\"$timestamp\",\"yes\") === \"yes\";\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nDeleteFieldWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$tiddler\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nDeleteFieldWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar self = this,\n\t\ttiddler = this.wiki.getTiddler(self.actionTiddler),\n\t\tremoveFields = {},\n\t\thasChanged = false;\n\tif((this.actionField !== null) && tiddler) {\n\t\tremoveFields[this.actionField] = undefined;\n\t\tif(this.actionField in tiddler.fields) {\n\t\t\thasChanged = true;\n\t\t}\n\t}\n\tif(tiddler) {\n\t\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\t\tif(name.charAt(0) !== \"$\" && name !== \"title\") {\n\t\t\t\tremoveFields[name] = undefined;\n\t\t\t\tif(name in tiddler.fields) {\n\t\t\t\t\thasChanged = true;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tif(hasChanged) {\n\t\t\tvar creationFields = this.actionTimestamp ? this.wiki.getCreationFields() : {};\n\t\t\tvar modificationFields = this.actionTimestamp ? this.wiki.getModificationFields() : {};\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(creationFields,tiddler,removeFields,modificationFields));\n\t\t}\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-deletefield\"] = DeleteFieldWidget;\n"
  },
  {
    "path": "core/modules/widgets/action-deletetiddler.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/action-deletetiddler.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to delete a tiddler.\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DeleteTiddlerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDeleteTiddlerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDeleteTiddlerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nDeleteTiddlerWidget.prototype.execute = function() {\n\tthis.actionFilter = this.getAttribute(\"$filter\");\n\tthis.actionTiddler = this.getAttribute(\"$tiddler\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nDeleteTiddlerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$filter\"] || changedAttributes[\"$tiddler\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nDeleteTiddlerWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar tiddlers = [];\n\tif(this.actionFilter) {\n\t\ttiddlers = this.wiki.filterTiddlers(this.actionFilter,this);\n\t}\n\tif(this.actionTiddler) {\n\t\ttiddlers.push(this.actionTiddler);\n\t}\n\tfor(var t=0; t<tiddlers.length; t++) {\n\t\tthis.wiki.deleteTiddler(tiddlers[t]);\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-deletetiddler\"] = DeleteTiddlerWidget;\n"
  },
  {
    "path": "core/modules/widgets/action-listops.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/action-listops.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to apply list operations to any tiddler field (defaults to the 'list' field of the current tiddler)\n\n\\*/\n\"use strict\";\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\nvar ActionListopsWidget = function(parseTreeNode, options) {\n\tthis.initialise(parseTreeNode, options);\n};\n/**\n * Inherit from the base widget class\n */\nActionListopsWidget.prototype = new Widget();\n/**\n * Render this widget into the DOM\n */\nActionListopsWidget.prototype.render = function(parent, nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n/**\n * Compute the internal state of the widget\n */\nActionListopsWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.target = this.getAttribute(\"$tiddler\", this.getVariable(\n\t\t\"currentTiddler\"));\n\tthis.filter = this.getAttribute(\"$filter\");\n\tthis.subfilter = this.getAttribute(\"$subfilter\");\n\tthis.listField = this.getAttribute(\"$field\", \"list\");\n\tthis.listIndex = this.getAttribute(\"$index\");\n\tthis.filtertags = this.getAttribute(\"$tags\");\n};\n/**\n * \tRefresh the widget by ensuring our attributes are up to date\n */\nActionListopsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n/**\n * \tInvoke the action associated with this widget\n */\nActionListopsWidget.prototype.invokeAction = function(triggeringWidget,\n\tevent) {\n\t//Apply the specified filters to the lists\n\tvar field = this.listField,\n\t\tindex;\n\tif(this.listIndex) {\n\t\tfield = undefined;\n\t\tindex = this.listIndex;\n\t}\n\tif(this.filter) {\n\t\tthis.wiki.setText(this.target, field, index, $tw.utils.stringifyList(\n\t\t\tthis.wiki\n\t\t\t\t.filterTiddlers(this.filter, this)));\n\t}\n\tif(this.subfilter) {\n\t\tvar inputList = this.wiki.getTiddlerList(this.target,field,index),\n\t\t\tsubfilter = \"[all[]] \" + this.subfilter;\n\t\tthis.wiki.setText(this.target, field, index, $tw.utils.stringifyList(this.wiki.filterTiddlers(subfilter,this,this.wiki.makeTiddlerIterator(inputList))));\n\t}\n\tif(this.filtertags) {\n\t\tvar tiddler = this.wiki.getTiddler(this.target),\n\t\t\toldtags = tiddler ? (tiddler.fields.tags || []).slice(0) : [],\n\t\t\ttagfilter = $tw.utils.stringifyList(oldtags) + \" \" + this.filtertags,\n\t\t\tnewtags = this.wiki.filterTiddlers(tagfilter,this);\n\t\tif($tw.utils.stringifyList(oldtags.sort()) !== $tw.utils.stringifyList(newtags.sort())) {\n\t\t\tthis.wiki.setText(this.target,\"tags\",undefined,$tw.utils.stringifyList(newtags));\n\t\t}\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-listops\"] = ActionListopsWidget;\n"
  },
  {
    "path": "core/modules/widgets/action-log.js",
    "content": " \n/*\\\ntitle: $:/core/modules/widgets/action-log.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to log debug messages\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar LogWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nLogWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nLogWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\nLogWidget.prototype.execute = function(){\n\tthis.message = this.getAttribute(\"$$message\",\"debug\");\n\tthis.logAll = this.getAttribute(\"$$all\",\"no\") === \"yes\" ? true : false;\n\tthis.filter = this.getAttribute(\"$$filter\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nLogWidget.prototype.refresh = function(changedTiddlers) {\n\tthis.refreshSelf();\n\treturn true;\n};\n\n/*\nInvoke the action associated with this widget\n*/\nLogWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tthis.log();\n\treturn true; // Action was invoked\n};\n\nLogWidget.prototype.log = function() {\n\tvar self = this,\n\t\tdata = {}, // Hashmap by attribute name with string or array of string values\n\t\tdataCount,\n\t\tallVars = {}, // Hashmap by variable name with string or array of string values\n\t\tfilteredVars;\n\t// Collect the attributes to be logged\n\t$tw.utils.each(this.parseTreeNode.attributes,function(attribute,name) {\n\t\tif(name.substring(0,2) !== \"$$\") {\n\t\t\tvar resultList = self.computeAttribute(attribute,{asList: true});\n\t\t\tif(resultList.length <= 1) {\n\t\t\t\tdata[name] = resultList[0] || \"\";\n\t\t\t} else {\n\t\t\t\tdata[name] = resultList;\n\t\t\t}\n\t\t}\n\t});\n\t// Collect values of all variables, using the source text for functions\n\tfor(var v in this.variables) {\n\t\tvar variable = this.parentWidget && this.parentWidget.variables[v];\n\t\tif(variable && variable.isFunctionDefinition) {\n\t\t\tallVars[v] = variable.value;\n\t\t} else {\n\t\t\tvar variableInfo = this.getVariableInfo(v);\n\t\t\tallVars[v] = variableInfo.resultList.length > 1 ? variableInfo.resultList : variableInfo.text;\n\t\t}\n\t}\n\tif(this.filter) {\n\t\tfilteredVars = this.wiki.compileFilter(this.filter).call(this.wiki,this.wiki.makeTiddlerIterator(allVars));\n\t\t$tw.utils.each(filteredVars,function(name) {\n\t\t\tdata[name] = allVars[name];\n\t\t});\n\t}\n\tdataCount = $tw.utils.count(data);\n\n\tconsole.group(this.message);\n\tif(dataCount > 0) {\n\t\t$tw.utils.logTable(data);\n\t}\n\tif(this.logAll || !dataCount) {\n\t\tconsole.groupCollapsed(\"All variables\");\n\t\t$tw.utils.logTable(allVars);\n\t\tconsole.groupEnd();\n\t}\n\tconsole.groupEnd();\n};\n\nexports[\"action-log\"] = LogWidget;\n"
  },
  {
    "path": "core/modules/widgets/action-navigate.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/action-navigate.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to navigate to a tiddler\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar NavigateWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nNavigateWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nNavigateWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nNavigateWidget.prototype.execute = function() {\n\tthis.actionTo = this.getAttribute(\"$to\");\n\tthis.actionScroll = this.getAttribute(\"$scroll\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nNavigateWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$to\"] || changedAttributes[\"$scroll\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nNavigateWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tevent = event || {};\n\tvar bounds = triggeringWidget && triggeringWidget.getBoundingClientRect && triggeringWidget.getBoundingClientRect(),\n\t\tsuppressNavigation = event.metaKey || event.ctrlKey || (event.button === 1);\n\tif(this.actionScroll === \"yes\") {\n\t\tsuppressNavigation = false;\n\t} else if(this.actionScroll === \"no\") {\n\t\tsuppressNavigation = true;\n\t}\n\tthis.dispatchEvent({\n\t\ttype: \"tm-navigate\",\n\t\tnavigateTo: this.actionTo === undefined ? this.getVariable(\"currentTiddler\") : this.actionTo,\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tnavigateFromNode: triggeringWidget,\n\t\tnavigateFromClientRect: bounds && { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n\t\t},\n\t\tnavigateFromClientTop: bounds && bounds.top,\n\t\tnavigateFromClientLeft: bounds && bounds.left,\n\t\tnavigateFromClientWidth: bounds && bounds.width,\n\t\tnavigateFromClientRight: bounds && bounds.right,\n\t\tnavigateFromClientBottom: bounds && bounds.bottom,\n\t\tnavigateFromClientHeight: bounds && bounds.height,\n\t\tnavigateSuppressNavigation: suppressNavigation,\n\t\tmetaKey: event.metaKey,\n\t\tctrlKey: event.ctrlKey,\n\t\taltKey: event.altKey,\n\t\tshiftKey: event.shiftKey,\n\t\tevent: event\n\t});\n\treturn true; // Action was invoked\n};\n\nexports[\"action-navigate\"] = NavigateWidget;\n"
  },
  {
    "path": "core/modules/widgets/action-popup.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/action-popup.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to trigger a popup.\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar Popup = require(\"$:/core/modules/utils/dom/popup.js\");\n\nvar ActionPopupWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nActionPopupWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nActionPopupWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nActionPopupWidget.prototype.execute = function() {\n\tthis.actionState = this.getAttribute(\"$state\");\n\tthis.actionCoords = this.getAttribute(\"$coords\");\n\tthis.floating = this.getAttribute(\"$floating\",\"no\") === \"yes\";\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nActionPopupWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$state\"] || changedAttributes[\"$coords\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nActionPopupWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\t// Trigger the popup\n\tvar coordinates = Popup.parseCoordinates(this.actionCoords || \"\");\n\tif(coordinates) {\n\t\t$tw.popup.triggerPopup({\n\t\t\tdomNode: null,\n\t\t\tdomNodeRect: {\n\t\t\t\tleft: coordinates.left,\n\t\t\t\ttop: coordinates.top,\n\t\t\t\twidth: coordinates.width,\n\t\t\t\theight: coordinates.height\n\t\t\t},\n\t\t\ttitle: this.actionState,\n\t\t\twiki: this.wiki,\n\t\t\tfloating: this.floating,\n\t\t\tabsolute: coordinates.absolute\n\t\t});\n\t} else {\n\t\t$tw.popup.cancel(0);\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-popup\"] = ActionPopupWidget;\n"
  },
  {
    "path": "core/modules/widgets/action-sendmessage.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/action-sendmessage.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to send a message\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SendMessageWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSendMessageWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSendMessageWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nSendMessageWidget.prototype.execute = function() {\n\tthis.actionMessage = this.getAttribute(\"$message\");\n\tthis.actionParam = this.getAttribute(\"$param\");\n\tthis.actionName = this.getAttribute(\"$name\");\n\tthis.actionValue = this.getAttribute(\"$value\",\"\");\n\tthis.actionNames = this.getAttribute(\"$names\");\n\tthis.actionValues = this.getAttribute(\"$values\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nSendMessageWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(Object.keys(changedAttributes).length) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nSendMessageWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\t// Get the string parameter\n\tvar param = this.actionParam;\n\t// Assemble the parameters as a hashmap\n\tvar paramObject = Object.create(null);\n\t// Add names/values pairs if present\n\tif(this.actionNames && this.actionValues) {\n\t\tvar names = this.wiki.filterTiddlers(this.actionNames,this),\n\t\t\tvalues = this.wiki.filterTiddlers(this.actionValues,this);\n\t\t$tw.utils.each(names,function(name,index) {\n\t\t\tparamObject[name] = values[index] || \"\";\n\t\t});\n\t}\n\t// Add raw parameters\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tparamObject[name] = attribute;\n\t\t}\n\t});\n\t// Add name/value pair if present\n\tif(this.actionName) {\n\t\tparamObject[this.actionName] = this.actionValue;\n\t}\n\t// Dispatch the message\n\tvar params = {\n\t\ttype: this.actionMessage,\n\t\tparam: param,\n\t\tparamObject: paramObject,\n\t\tevent: event,\n\t\ttiddlerTitle: this.getVariable(\"currentTiddler\"),\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\")\n\t};\n\tthis.dispatchEvent(params);\n\treturn true; // Action was invoked\n};\n\nexports[\"action-sendmessage\"] = SendMessageWidget;\n"
  },
  {
    "path": "core/modules/widgets/action-setfield.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/action-setfield.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to set a single field or index on a tiddler.\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SetFieldWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSetFieldWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSetFieldWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nSetFieldWidget.prototype.execute = function() {\n\tthis.actionTiddler = this.getAttribute(\"$tiddler\") || (!this.hasParseTreeNodeAttribute(\"$tiddler\") && this.getVariable(\"currentTiddler\"));\n\tthis.actionField = this.getAttribute(\"$field\");\n\tthis.actionIndex = this.getAttribute(\"$index\");\n\tthis.actionValue = this.getAttribute(\"$value\");\n\tthis.actionTimestamp = this.getAttribute(\"$timestamp\",\"yes\") === \"yes\";\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nSetFieldWidget.prototype.refresh = function(changedTiddlers) {\n\t// Nothing to refresh\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nSetFieldWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar self = this,\n\t\toptions = {};\n\tif(this.actionTiddler) {\n\t\toptions.suppressTimestamp = !this.actionTimestamp;\n\t\tif((typeof this.actionField == \"string\") || (typeof this.actionIndex == \"string\")  || (typeof this.actionValue == \"string\")) {\n\t\t\tthis.wiki.setText(this.actionTiddler,this.actionField,this.actionIndex,this.actionValue,options);\n\t\t}\n\t\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\t\tif(name.charAt(0) !== \"$\") {\n\t\t\t\tself.wiki.setText(self.actionTiddler,name,undefined,attribute,options);\n\t\t\t}\n\t\t});\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-setfield\"] = SetFieldWidget;\n"
  },
  {
    "path": "core/modules/widgets/action-setmultiplefields.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/action-setmultiplefields.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to set multiple fields or indexes on a tiddler\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SetMultipleFieldsWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSetMultipleFieldsWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSetMultipleFieldsWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nSetMultipleFieldsWidget.prototype.execute = function() {\n\tthis.actionTiddler = this.getAttribute(\"$tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.actionFields = this.getAttribute(\"$fields\");\n\tthis.actionIndexes = this.getAttribute(\"$indexes\");\n\tthis.actionValues = this.getAttribute(\"$values\");\n\tthis.actionTimestamp = this.getAttribute(\"$timestamp\",\"yes\") === \"yes\";\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nSetMultipleFieldsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$tiddler\"] || changedAttributes[\"$fields\"] || changedAttributes[\"$indexes\"] || changedAttributes[\"$values\"] || changedAttributes[\"$timestamp\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nSetMultipleFieldsWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar tiddler = this.wiki.getTiddler(this.actionTiddler),\n\t\tnames, values = this.wiki.filterTiddlers(this.actionValues,this);\n\tif(this.actionFields) {\n\t\tvar additions = {};\n\t\tnames = this.wiki.filterTiddlers(this.actionFields,this);\n\t\t$tw.utils.each(names,function(fieldname,index) {\n\t\t\tadditions[fieldname] = values[index] || \"\";\n\t\t});\n\t\tvar creationFields = this.actionTimestamp ? this.wiki.getCreationFields() : undefined,\n\t\t\tmodificationFields = this.actionTimestamp ? this.wiki.getModificationFields() : undefined;\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(creationFields,tiddler,{title: this.actionTiddler},modificationFields,additions));\n\t} else if(this.actionIndexes) {\n\t\tvar data = this.wiki.getTiddlerData(this.actionTiddler,Object.create(null));\n\t\tnames = this.wiki.filterTiddlers(this.actionIndexes,this);\n\t\t$tw.utils.each(names,function(name,index) {\n\t\t\tdata[name] = values[index] || \"\";\n\t\t});\n\t\tthis.wiki.setTiddlerData(this.actionTiddler,data,{},{suppressTimestamp: !this.actionTimestamp});\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-setmultiplefields\"] = SetMultipleFieldsWidget;\n"
  },
  {
    "path": "core/modules/widgets/audio.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/audio.js\ntype: application/javascript\nmodule-type: widget\n\nBasic Audio widget for displaying audio files.\nThis is a simple implementation that can be overridden by plugins\nfor more advanced functionality.\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar AudioWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nAudioWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nAudioWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t\n\t// Create audio element\n\tvar audioElement = this.document.createElement(\"audio\");\n\taudioElement.setAttribute(\"controls\", this.getAttribute(\"controls\", \"controls\"));\n\taudioElement.setAttribute(\"style\", this.getAttribute(\"style\", \"width: 100%; object-fit: contain\"));\n\taudioElement.className = \"tw-audio-element\";\n\t\n\t// Set source\n\tif(this.audioSource) {\n\t\tif(this.audioSource.indexOf(\"data:\") === 0) {\n\t\t\taudioElement.setAttribute(\"src\", this.audioSource);\n\t\t} else {\n\t\t\tvar sourceElement = this.document.createElement(\"source\");\n\t\t\tsourceElement.setAttribute(\"src\", this.audioSource);\n\t\t\tif(this.audioType) {\n\t\t\t\tsourceElement.setAttribute(\"type\", this.audioType);\n\t\t\t}\n\t\t\taudioElement.appendChild(sourceElement);\n\t\t}\n\t}\n\t\n\t// Insert the audio into the DOM\n\tparent.insertBefore(audioElement, nextSibling);\n\tthis.domNodes.push(audioElement);\n};\n\n/*\nCompute the internal state of the widget\n*/\nAudioWidget.prototype.execute = function() {\n\t// Get the audio source and type\n\tthis.audioSource = this.getAttribute(\"src\");\n\tthis.audioType = this.getAttribute(\"type\");\n\tthis.audioControls = this.getAttribute(\"controls\", \"controls\");\n\t\n\t// Try to get from tiddler attribute\n\tif(!this.audioSource && this.getAttribute(\"tiddler\")) {\n\t\tvar tiddlerTitle = this.getAttribute(\"tiddler\");\n\t\tvar tiddler = this.wiki.getTiddler(tiddlerTitle);\n\t\tif(tiddler) {\n\t\t\tif(tiddler.fields._canonical_uri) {\n\t\t\t\tthis.audioSource = tiddler.fields._canonical_uri;\n\t\t\t\tthis.audioType = tiddler.fields.type;\n\t\t\t} else if(tiddler.fields.text) {\n\t\t\t\tthis.audioSource = \"data:\" + tiddler.fields.type + \";base64,\" + tiddler.fields.text;\n\t\t\t\tthis.audioType = tiddler.fields.type;\n\t\t\t}\n\t\t}\n\t}\n\t\n\t// Make sure we have a tiddler for saving timestamps\n\tthis.tiddlerTitle = this.getAttribute(\"tiddler\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nAudioWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.src || changedAttributes.type || changedAttributes.controls || changedAttributes.tiddler) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\nexports.audio = AudioWidget;\n\n\n"
  },
  {
    "path": "core/modules/widgets/browse.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/browse.js\ntype: application/javascript\nmodule-type: widget\n\nBrowse widget for browsing for files to import\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar BrowseWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nBrowseWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nBrowseWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar domNode = this.document.createElement(\"input\");\n\tdomNode.setAttribute(\"type\",\"file\");\n\tif(this.browseMultiple) {\n\t\tdomNode.setAttribute(\"multiple\",\"multiple\");\n\t}\n\tif(this.tooltip) {\n\t\tdomNode.setAttribute(\"title\",this.tooltip);\n\t}\n\tif(this.tabIndex) {\n\t\tdomNode.setAttribute(\"tabindex\", this.tabIndex);\n\t}\n\t// Nw.js supports \"nwsaveas\" to force a \"save as\" dialogue that allows a new or existing file to be selected\n\tif(this.nwsaveas) {\n\t\tdomNode.setAttribute(\"nwsaveas\",this.nwsaveas);\n\t}\n\tif(this.accept) {\n\t\tdomNode.setAttribute(\"accept\",this.accept);\n\t}\n\t// Nw.js supports \"webkitdirectory\" and \"nwdirectory\" to allow a directory to be selected\n\tif(this.webkitdirectory) {\n\t\tdomNode.setAttribute(\"webkitdirectory\",this.webkitdirectory);\n\t}\n\tif(this.nwdirectory) {\n\t\tdomNode.setAttribute(\"nwdirectory\",this.nwdirectory);\n\t}\n\tif(this.isDisabled === \"yes\") {\n\t\tdomNode.setAttribute(\"disabled\", true);\n\t}\n\t// Add a click event handler\n\tdomNode.addEventListener(\"change\",function (event) {\n\t\tif(self.message) {\n\t\t\tself.dispatchEvent({type: self.message, param: self.param, files: event.target.files});\n\t\t} else {\n\t\t\tself.wiki.readFiles(event.target.files,{\n\t\t\t\tcallback: function(tiddlerFieldsArray) {\n\t\t\t\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify(tiddlerFieldsArray)});\n\t\t\t\t},\n\t\t\t\tdeserializer: self.deserializer\n\t\t\t});\n\t\t}\n\t\treturn false;\n\t},false);\n\t// Assign data- attributes\n\tthis.assignAttributes(domNode,{\n\t\tsourcePrefix: \"data-\",\n\t\tdestPrefix: \"data-\"\n\t});\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.domNodes.push(domNode);\n\tthis.renderChildren(domNode,null);\n};\n\n/*\nCompute the internal state of the widget\n*/\nBrowseWidget.prototype.execute = function() {\n\tthis.browseMultiple = this.getAttribute(\"multiple\");\n\tthis.deserializer = this.getAttribute(\"deserializer\");\n\tthis.message = this.getAttribute(\"message\");\n\tthis.param = this.getAttribute(\"param\");\n\tthis.tooltip = this.getAttribute(\"tooltip\");\n\tthis.nwsaveas = this.getAttribute(\"nwsaveas\");\n\tthis.accept = this.getAttribute(\"accept\");\n\tthis.webkitdirectory = this.getAttribute(\"webkitdirectory\");\n\tthis.nwdirectory = this.getAttribute(\"nwdirectory\");\n\tthis.tabIndex = this.getAttribute(\"tabindex\");\n\tthis.isDisabled = this.getAttribute(\"disabled\", \"no\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nBrowseWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0) {\n\t\tthis.refreshSelf();\n\t\treturn true;\t\n\t}\n\treturn false;\n};\n\nexports.browse = BrowseWidget;\n"
  },
  {
    "path": "core/modules/widgets/button.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/button.js\ntype: application/javascript\nmodule-type: widget\n\nButton widget\n\n\\*/\n\n\"use strict\";\n\nconst ALLOWED_SELECTED_ARIA_ATTR = [\"aria-checked\", \"aria-selected\", \"aria-pressed\"];\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar Popup = require(\"$:/core/modules/utils/dom/popup.js\");\n\nvar ButtonWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nButtonWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nButtonWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this,\n\t\ttag = \"button\",\n\t\tdomNode;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tif(this.buttonTag && $tw.config.htmlUnsafeElements.indexOf(this.buttonTag) === -1) {\n\t\ttag = this.buttonTag;\n\t}\n\tdomNode = this.document.createElement(tag);\n\tthis.domNode = domNode;\n\t// Assign classes\n\tvar classes = this[\"class\"].split(\" \") || [],\n\t\tisPoppedUp = (this.popup || this.popupTitle) && this.isPoppedUp();\n\tif(this.selectedClass) {\n\t\tif((this.set || this.setTitle) && this.setTo) {\n\t\t\tconst selectedAria = ALLOWED_SELECTED_ARIA_ATTR.includes(this.selectedAria) ? this.selectedAria : \"aria-checked\";\n\t\t\tif(this.isSelected()) {\n\t\t\t\t$tw.utils.pushTop(classes, this.selectedClass.split(\" \"));\n\t\t\t\tdomNode.setAttribute(selectedAria, \"true\");\n\t\t\t} else {\n\t\t\t\tdomNode.setAttribute(selectedAria, \"false\");\n\t\t\t}\n\t\t}\n\t\tif(isPoppedUp) {\n\t\t\t$tw.utils.pushTop(classes,this.selectedClass.split(\" \"));\n\t\t}\n\t}\n\tif(isPoppedUp) {\n\t\t$tw.utils.pushTop(classes,\"tc-popup-handle\");\n\t}\n\tdomNode.className = classes.join(\" \");\n\t// Assign data- attributes\n\tthis.assignAttributes(domNode,{\n\t\tsourcePrefix: \"data-\",\n\t\tdestPrefix: \"data-\"\n\t});\n\tthis.assignAttributes(domNode,{\n\t\tsourcePrefix: \"aria-\",\n\t\tdestPrefix: \"aria-\"\n\t});\n\t// Assign other attributes\n\tif(this.style) {\n\t\tdomNode.setAttribute(\"style\",this.style);\n\t}\n\tif(this.tooltip) {\n\t\tdomNode.setAttribute(\"title\",this.tooltip);\n\t}\n\tif(this.role) {\n\t\tdomNode.setAttribute(\"role\", this.role);\n\t}\n\tif(this.popup || this.popupTitle) {\n\t\tdomNode.setAttribute(\"aria-expanded\",isPoppedUp ? \"true\" : \"false\");\n\t}\n\t// Set the tabindex\n\tif(this.tabIndex) {\n\t\tdomNode.setAttribute(\"tabindex\",this.tabIndex);\n\t}\n\tif(this.isDisabled === \"yes\") {\n\t\tdomNode.setAttribute(\"disabled\",true);\n\t}\n\t// Add a click event handler\n\tdomNode.addEventListener(\"click\",function (event) {\n\t\tvar handled = false;\n\t\tif(self.invokeActions(self,event)) {\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.to) {\n\t\t\tself.navigateTo(event);\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.message) {\n\t\t\tself.dispatchMessage(event);\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.popup || self.popupTitle) {\n\t\t\tself.triggerPopup(event);\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.set || self.setTitle) {\n\t\t\tself.setTiddler();\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.actions) {\n\t\t\tvar modifierKey = $tw.keyboardManager.getEventModifierKeyDescriptor(event);\n\t\t\tself.invokeActionString(self.actions,self,event,{modifier: modifierKey});\n\t\t}\n\t\tif(handled) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t}\n\t\treturn handled;\n\t},false);\n\t// Make it draggable if required\n\tif(this.dragTiddler || this.dragFilter) {\n\t\t$tw.utils.makeDraggable({\n\t\t\tdomNode: domNode,\n\t\t\tdragTiddlerFn: function() {return self.dragTiddler;},\n\t\t\tdragFilterFn: function() {return self.dragFilter;},\n\t\t\twidget: this\n\t\t});\n\t}\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.domNodes.push(domNode);\n\tthis.renderChildren(domNode,null);\n};\n\n/*\nWe don't allow actions to propagate because we trigger actions ourselves\n*/\nButtonWidget.prototype.allowActionPropagation = function() {\n\treturn false;\n};\n\nButtonWidget.prototype.getBoundingClientRect = function() {\n\treturn this.domNodes[0].getBoundingClientRect();\n};\n\nButtonWidget.prototype.isSelected = function() {\n\treturn this.setTitle ? (this.setField ? this.wiki.getTiddler(this.setTitle).getFieldString(this.setField) === this.setTo :\n\t\t(this.setIndex ? this.wiki.extractTiddlerDataItem(this.setTitle,this.setIndex) === this.setTo :\n\t\t\tthis.wiki.getTiddlerText(this.setTitle))) || this.defaultSetValue || this.getVariable(\"currentTiddler\") :\n\t\tthis.wiki.getTextReference(this.set,this.defaultSetValue,this.getVariable(\"currentTiddler\")) === this.setTo;\n};\n\nButtonWidget.prototype.isPoppedUp = function() {\n\tvar tiddler = this.popupTitle ? this.wiki.getTiddler(this.popupTitle) : this.wiki.getTiddler(this.popup);\n\tvar result = tiddler && tiddler.fields.text ? Popup.readPopupState(tiddler.fields.text) : false;\n\treturn result;\n};\n\nButtonWidget.prototype.navigateTo = function(event) {\n\tvar bounds = this.getBoundingClientRect();\n\tthis.dispatchEvent({\n\t\ttype: \"tm-navigate\",\n\t\tnavigateTo: this.to,\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tnavigateFromNode: this,\n\t\tnavigateFromClientRect: { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n\t\t},\n\t\tnavigateSuppressNavigation: event.metaKey || event.ctrlKey || (event.button === 1),\n\t\tevent: event\n\t});\n};\n\nButtonWidget.prototype.dispatchMessage = function(event) {\n\tthis.dispatchEvent({type: this.message, param: this.param, tiddlerTitle: this.getVariable(\"currentTiddler\"), event: event});\n};\n\nButtonWidget.prototype.triggerPopup = function(event) {\n\tif(this.popupTitle) {\n\t\t$tw.popup.triggerPopup({\n\t\t\tdomNode: this.domNodes[0],\n\t\t\tabsolute: (this.popupAbsCoords === \"yes\"),\n\t\t\ttitle: this.popupTitle,\n\t\t\twiki: this.wiki,\n\t\t\tnoStateReference: true\n\t\t});\n\t} else {\n\t\t$tw.popup.triggerPopup({\n\t\t\tdomNode: this.domNodes[0],\n\t\t\tabsolute: (this.popupAbsCoords === \"yes\"),\n\t\t\ttitle: this.popup,\n\t\t\twiki: this.wiki\n\t\t});\n\t}\n};\n\nButtonWidget.prototype.setTiddler = function() {\n\tif(this.setTitle) {\n\t\tthis.setField ? this.wiki.setText(this.setTitle,this.setField,undefined,this.setTo) :\n\t\t\t(this.setIndex ? this.wiki.setText(this.setTitle,undefined,this.setIndex,this.setTo) :\n\t\t\t\tthis.wiki.setText(this.setTitle,\"text\",undefined,this.setTo));\n\t} else {\n\t\tthis.wiki.setTextReference(this.set,this.setTo,this.getVariable(\"currentTiddler\"));\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nButtonWidget.prototype.execute = function() {\n\t// Get attributes\n\tthis.actions = this.getAttribute(\"actions\");\n\tthis.to = this.getAttribute(\"to\");\n\tthis.message = this.getAttribute(\"message\");\n\tthis.param = this.getAttribute(\"param\");\n\tthis.set = this.getAttribute(\"set\");\n\tthis.setTo = this.getAttribute(\"setTo\");\n\tthis.popup = this.getAttribute(\"popup\");\n\tthis.hover = this.getAttribute(\"hover\");\n\tthis.role = this.getAttribute(\"role\");\n\tthis.tooltip = this.getAttribute(\"tooltip\");\n\tthis.style = this.getAttribute(\"style\");\n\tthis[\"class\"] = this.getAttribute(\"class\",\"\");\n\tthis.selectedClass = this.getAttribute(\"selectedClass\");\n\tthis.selectedAria = this.getAttribute(\"selectedAria\");\n\tthis.defaultSetValue = this.getAttribute(\"default\",\"\");\n\tthis.buttonTag = this.getAttribute(\"tag\");\n\tthis.dragTiddler = this.getAttribute(\"dragTiddler\");\n\tthis.dragFilter = this.getAttribute(\"dragFilter\");\n\tthis.setTitle = this.getAttribute(\"setTitle\");\n\tthis.setField = this.getAttribute(\"setField\");\n\tthis.setIndex = this.getAttribute(\"setIndex\");\n\tthis.popupTitle = this.getAttribute(\"popupTitle\");\n\tthis.popupAbsCoords = this.getAttribute(\"popupAbsCoords\", \"no\");\n\tthis.tabIndex = this.getAttribute(\"tabindex\");\n\tthis.isDisabled = this.getAttribute(\"disabled\",\"no\");\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\nButtonWidget.prototype.updateDomNodeClasses = function() {\n\tvar domNodeClasses = this.domNode.className.split(\" \"),\n\t\toldClasses = this.class.split(\" \"),\n\t\tnewClasses;\n\tthis[\"class\"] = this.getAttribute(\"class\",\"\");\n\tnewClasses = this.class.split(\" \");\n\t//Remove classes assigned from the old value of class attribute\n\t$tw.utils.each(oldClasses,function(oldClass){\n\t\tvar i = domNodeClasses.indexOf(oldClass);\n\t\tif(i !== -1) {\n\t\t\tdomNodeClasses.splice(i,1);\n\t\t}\n\t});\n\t//Add new classes from updated class attribute.\n\t$tw.utils.pushTop(domNodeClasses,newClasses);\n\tthis.domNode.className = domNodeClasses.join(\" \");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nButtonWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tooltip || changedAttributes.actions || changedAttributes.to || changedAttributes.message || changedAttributes.param || changedAttributes.set || changedAttributes.setTo || changedAttributes.popup || changedAttributes.hover || changedAttributes.selectedClass || changedAttributes.style || changedAttributes.dragFilter || changedAttributes.dragTiddler || (this.set && changedTiddlers[this.set]) || (this.popup && changedTiddlers[this.popup]) || (this.popupTitle && changedTiddlers[this.popupTitle]) || changedAttributes.popupAbsCoords || changedAttributes.setTitle || changedAttributes.setField || changedAttributes.setIndex || changedAttributes.popupTitle || changedAttributes.disabled || changedAttributes[\"default\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tif(changedAttributes[\"class\"]) {\n\t\t\tthis.updateDomNodeClasses();\n\t\t}\n\t\tthis.assignAttributes(this.domNodes[0],{\n\t\t\tchangedAttributes: changedAttributes,\n\t\t\tsourcePrefix: \"data-\",\n\t\t\tdestPrefix: \"data-\"\n\t\t});\n\t\tthis.assignAttributes(this.domNodes[0],{\n\t\t\tsourcePrefix: \"aria-\",\n\t\t\tdestPrefix: \"aria-\"\n\t\t});\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.button = ButtonWidget;\n"
  },
  {
    "path": "core/modules/widgets/checkbox.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/checkbox.js\ntype: application/javascript\nmodule-type: widget\n\nCheckbox widget\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CheckboxWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCheckboxWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCheckboxWidget.prototype.render = function(parent,nextSibling) {\n\tvar isChecked;\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Create our elements\n\tthis.labelDomNode = this.document.createElement(\"label\");\n\tthis.labelDomNode.setAttribute(\"class\",\"tc-checkbox \" + this.checkboxClass);\n\tthis.inputDomNode = this.document.createElement(\"input\");\n\tthis.inputDomNode.setAttribute(\"type\",\"checkbox\");\n\tisChecked = this.getValue();\n\tif(isChecked) {\n\t\tthis.inputDomNode.setAttribute(\"checked\",\"true\");\n\t\t$tw.utils.addClass(this.labelDomNode,\"tc-checkbox-checked\");\n\t}\n\tif(isChecked === undefined && this.checkboxIndeterminate === \"yes\") {\n\t\tthis.inputDomNode.indeterminate = true;\n\t}\n\tif(this.tabIndex) {\n\t\tthis.inputDomNode.setAttribute(\"tabindex\", this.tabIndex);\n\t}\n\tif(this.isDisabled === \"yes\") {\n\t\tthis.inputDomNode.setAttribute(\"disabled\",true);\n\t}\n\tthis.labelDomNode.appendChild(this.inputDomNode);\n\tthis.spanDomNode = this.document.createElement(\"span\");\n\tthis.labelDomNode.appendChild(this.spanDomNode);\n\t// Assign data- attributes\n\tthis.assignAttributes(this.inputDomNode,{\n\t\tsourcePrefix: \"data-\",\n\t\tdestPrefix: \"data-\"\n\t});\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(this.inputDomNode,[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(this.labelDomNode,nextSibling);\n\tthis.domNodes.push(this.labelDomNode);\n\tthis.renderChildren(this.spanDomNode,null);\n};\n\nCheckboxWidget.prototype.getValue = function() {\n\tvar tiddler = this.wiki.getTiddler(this.checkboxTitle);\n\tif(tiddler || this.checkboxFilter) {\n\t\tif(tiddler && this.checkboxTag) {\n\t\t\tif(this.checkboxInvertTag === \"yes\") {\n\t\t\t\treturn !tiddler.hasTag(this.checkboxTag);\n\t\t\t} else {\n\t\t\t\treturn tiddler.hasTag(this.checkboxTag);\n\t\t\t}\n\t\t}\n\t\tif(tiddler && (this.checkboxField || this.checkboxIndex)) {\n\t\t\t// Same logic applies to fields and indexes\n\t\t\tvar value;\n\t\t\tif(this.checkboxField) {\n\t\t\t\tif($tw.utils.hop(tiddler.fields,this.checkboxField)) {\n\t\t\t\t\tvalue = tiddler.fields[this.checkboxField] || \"\";\n\t\t\t\t} else {\n\t\t\t\t\tvalue = this.checkboxDefault || \"\";\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tvalue = this.wiki.extractTiddlerDataItem(tiddler,this.checkboxIndex,this.checkboxDefault || \"\");\n\t\t\t}\n\t\t\tif(value === this.checkboxChecked) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif(value === this.checkboxUnchecked) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t// Neither value found: were both specified?\n\t\t\tif(this.checkboxChecked && !this.checkboxUnchecked) {\n\t\t\t\treturn false; // Absence of checked value\n\t\t\t}\n\t\t\tif(this.checkboxUnchecked && !this.checkboxChecked) {\n\t\t\t\treturn true; // Absence of unchecked value\n\t\t\t}\n\t\t\tif(this.checkboxChecked && this.checkboxUnchecked) {\n\t\t\t\t// Both specified but neither found: indeterminate or false, depending\n\t\t\t\tif(this.checkboxIndeterminate === \"yes\") {\n\t\t\t\t\treturn undefined;\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif(this.checkboxListField || this.checkboxListIndex || this.checkboxFilter) {\n\t\t\t// Same logic applies to lists and filters\n\t\t\tvar list;\n\t\t\tif(this.checkboxListField) {\n\t\t\t\tif($tw.utils.hop(tiddler.fields,this.checkboxListField)) {\n\t\t\t\t\tlist = tiddler.getFieldList(this.checkboxListField) || [];\n\t\t\t\t} else {\n\t\t\t\t\tlist = $tw.utils.parseStringArray(this.checkboxDefault || \"\") || [];\n\t\t\t\t}\n\t\t\t} else if(this.checkboxListIndex) {\n\t\t\t\tlist = $tw.utils.parseStringArray(this.wiki.extractTiddlerDataItem(tiddler,this.checkboxListIndex,this.checkboxDefault || \"\")) || [];\n\t\t\t} else {\n\t\t\t\tlist = this.wiki.filterTiddlers(this.checkboxFilter,this) || [];\n\t\t\t}\n\t\t\tif(list.indexOf(this.checkboxChecked) !== -1) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif(list.indexOf(this.checkboxUnchecked) !== -1) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t// Neither one present\n\t\t\tif(this.checkboxChecked && !this.checkboxUnchecked) {\n\t\t\t\treturn false; // Absence of checked value\n\t\t\t}\n\t\t\tif(this.checkboxUnchecked && !this.checkboxChecked) {\n\t\t\t\treturn true; // Absence of unchecked value\n\t\t\t}\n\t\t\tif(this.checkboxChecked && this.checkboxUnchecked) {\n\t\t\t\t// Both specified but neither found: indeterminate or false, depending\n\t\t\t\tif(this.checkboxIndeterminate === \"yes\") {\n\t\t\t\t\treturn undefined;\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Neither specified, so empty list is false, non-empty is true\n\t\t\treturn !!list.length;\n\t\t}\n\t} else {\n\t\tif(this.checkboxTag) {\n\t\t\treturn false;\n\t\t}\n\t\tif(this.checkboxField || this.checkboxIndex) {\n\t\t\tif(this.checkboxDefault === this.checkboxChecked) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif(this.checkboxDefault === this.checkboxUnchecked) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\nCheckboxWidget.prototype.handleChangeEvent = function(event) {\n\tvar checked = this.inputDomNode.checked,\n\t\ttiddler = this.wiki.getTiddler(this.checkboxTitle),\n\t\tfallbackFields = {text: \"\"},\n\t\tnewFields = {title: this.checkboxTitle},\n\t\thasChanged = false,\n\t\ttagCheck = false,\n\t\thasTag = tiddler && tiddler.hasTag(this.checkboxTag),\n\t\tvalue = checked ? this.checkboxChecked : this.checkboxUnchecked,\n\t\tnotValue = checked ? this.checkboxUnchecked : this.checkboxChecked;\n\tif(this.checkboxTag && this.checkboxInvertTag === \"yes\") {\n\t\ttagCheck = hasTag === checked;\n\t} else {\n\t\ttagCheck = hasTag !== checked;\n\t}\n\t// Set the tag if specified\n\tif(this.checkboxTag && (!tiddler || tagCheck)) {\n\t\tnewFields.tags = tiddler ? (tiddler.fields.tags || []).slice(0) : [];\n\t\tvar pos = newFields.tags.indexOf(this.checkboxTag);\n\t\tif(pos !== -1) {\n\t\t\tnewFields.tags.splice(pos,1);\n\t\t}\n\t\tif(this.checkboxInvertTag === \"yes\" && !checked) {\n\t\t\tnewFields.tags.push(this.checkboxTag);\n\t\t} else if(this.checkboxInvertTag !== \"yes\" && checked) {\n\t\t\tnewFields.tags.push(this.checkboxTag);\n\t\t}\n\t\thasChanged = true;\n\t}\n\t// Set the field if specified\n\tif(this.checkboxField) {\n\t\tif(!tiddler || tiddler.fields[this.checkboxField] !== value) {\n\t\t\tnewFields[this.checkboxField] = value;\n\t\t\thasChanged = true;\n\t\t}\n\t}\n\t// Set the index if specified\n\tif(this.checkboxIndex) {\n\t\tvar indexValue = this.wiki.extractTiddlerDataItem(this.checkboxTitle,this.checkboxIndex);\n\t\tif(!tiddler || indexValue !== value) {\n\t\t\thasChanged = true;\n\t\t}\n\t}\n\t// Set the list field (or index) if specified\n\tif(this.checkboxListField || this.checkboxListIndex) {\n\t\tvar fieldContents, listContents, oldPos, newPos;\n\t\tif(this.checkboxListField) {\n\t\t\tfieldContents = (tiddler ? tiddler.fields[this.checkboxListField] : undefined) || [];\n\t\t} else {\n\t\t\tfieldContents = this.wiki.extractTiddlerDataItem(this.checkboxTitle,this.checkboxListIndex);\n\t\t}\n\t\tif($tw.utils.isArray(fieldContents)) {\n\t\t\t// Make a copy so we can modify it without changing original that's refrenced elsewhere\n\t\t\tlistContents = fieldContents.slice(0);\n\t\t} else if(fieldContents === undefined) {\n\t\t\tlistContents = [];\n\t\t} else if(typeof fieldContents === \"string\") {\n\t\t\tlistContents = $tw.utils.parseStringArray(fieldContents);\n\t\t\t// No need to copy since parseStringArray returns a fresh array, not refrenced elsewhere\n\t\t} else {\n\t\t\t// Field was neither an array nor a string; it's probably something that shouldn't become\n\t\t\t// an array (such as a date field), so bail out *without* triggering actions\n\t\t\treturn;\n\t\t}\n\t\toldPos = notValue ? listContents.indexOf(notValue) : -1;\n\t\tnewPos = value ? listContents.indexOf(value) : -1;\n\t\tif(oldPos === -1 && newPos !== -1) {\n\t\t\t// old value absent, new value present: no change needed\n\t\t} else if(oldPos === -1) {\n\t\t\t// neither one was present\n\t\t\tif(value) {\n\t\t\t\tlistContents.push(value);\n\t\t\t\thasChanged = true;\n\t\t\t} else {\n\t\t\t\t// value unspecified? then leave list unchanged\n\t\t\t}\n\t\t} else if(newPos === -1) {\n\t\t\t// old value present, new value absent\n\t\t\tif(value) {\n\t\t\t\tlistContents[oldPos] = value;\n\t\t\t\thasChanged = true;\n\t\t\t} else {\n\t\t\t\tlistContents.splice(oldPos, 1);\n\t\t\t\thasChanged = true;\n\t\t\t}\n\t\t} else {\n\t\t\t// both were present: just remove the old one, leave new alone\n\t\t\tlistContents.splice(oldPos, 1);\n\t\t\thasChanged = true;\n\t\t}\n\t\tif(this.checkboxListField) {\n\t\t\tnewFields[this.checkboxListField] = $tw.utils.stringifyList(listContents);\n\t\t}\n\t\t// The listIndex case will be handled in the if(hasChanged) block below\n\t}\n\tif(hasChanged) {\n\t\tif(this.checkboxIndex) {\n\t\t\tthis.wiki.setText(this.checkboxTitle,\"\",this.checkboxIndex,value);\n\t\t} else if(this.checkboxListIndex) {\n\t\t\tvar listIndexValue = (listContents && listContents.length) ? $tw.utils.stringifyList(listContents) : undefined;\n\t\t\tthis.wiki.setText(this.checkboxTitle,\"\",this.checkboxListIndex,listIndexValue);\n\t\t} else {\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),fallbackFields,tiddler,newFields,this.wiki.getModificationFields()));\n\t\t}\n\t}\n\t// Trigger actions\n\tif(this.checkboxActions) {\n\t\tthis.invokeActionString(this.checkboxActions,this,event);\n\t}\n\tif(this.checkboxCheckActions && checked) {\n\t\tthis.invokeActionString(this.checkboxCheckActions,this,event);\n\t}\n\tif(this.checkboxUncheckActions && !checked) {\n\t\tthis.invokeActionString(this.checkboxUncheckActions,this,event);\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nCheckboxWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.checkboxActions = this.getAttribute(\"actions\");\n\tthis.checkboxCheckActions = this.getAttribute(\"checkactions\");\n\tthis.checkboxUncheckActions = this.getAttribute(\"uncheckactions\");\n\tthis.checkboxTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.checkboxTag = this.getAttribute(\"tag\");\n\tthis.checkboxField = this.getAttribute(\"field\");\n\tthis.checkboxIndex = this.getAttribute(\"index\");\n\tthis.checkboxListField = this.getAttribute(\"listField\");\n\tthis.checkboxListIndex = this.getAttribute(\"listIndex\");\n\tthis.checkboxFilter = this.getAttribute(\"filter\");\n\tthis.checkboxChecked = this.getAttribute(\"checked\");\n\tthis.checkboxUnchecked = this.getAttribute(\"unchecked\");\n\tthis.checkboxDefault = this.getAttribute(\"default\");\n\tthis.checkboxIndeterminate = this.getAttribute(\"indeterminate\",\"no\");\n\tthis.checkboxClass = this.getAttribute(\"class\",\"\");\n\tthis.checkboxInvertTag = this.getAttribute(\"invertTag\",\"\");\n\tthis.isDisabled = this.getAttribute(\"disabled\",\"no\");\n\tthis.tabIndex = this.getAttribute();\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCheckboxWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.tag || changedAttributes.invertTag || changedAttributes.field || changedAttributes.index || changedAttributes.listField || changedAttributes.listIndex || changedAttributes.filter || changedAttributes.checked || changedAttributes.unchecked || changedAttributes[\"default\"] || changedAttributes.indeterminate || changedAttributes[\"class\"] || changedAttributes.disabled || changedAttributes.tabindex) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar refreshed = false;\n\t\tif(changedTiddlers[this.checkboxTitle]) {\n\t\t\tvar isChecked = this.getValue();\n\t\t\tthis.inputDomNode.checked = !!isChecked;\n\t\t\tthis.inputDomNode.indeterminate = (isChecked === undefined);\n\t\t\trefreshed = true;\n\t\t\tif(isChecked) {\n\t\t\t\t$tw.utils.addClass(this.labelDomNode,\"tc-checkbox-checked\");\n\t\t\t} else {\n\t\t\t\t$tw.utils.removeClass(this.labelDomNode,\"tc-checkbox-checked\");\n\t\t\t}\n\t\t}\n\t\tthis.assignAttributes(this.inputDomNode,{\n\t\t\tchangedAttributes: changedAttributes,\n\t\t\tsourcePrefix: \"data-\",\n\t\t\tdestPrefix: \"data-\"\n\t\t});\n\t\treturn this.refreshChildren(changedTiddlers) || refreshed;\n\t}\n};\n\nexports.checkbox = CheckboxWidget;\n"
  },
  {
    "path": "core/modules/widgets/codeblock.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/codeblock.js\ntype: application/javascript\nmodule-type: widget\n\nCode block node widget\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CodeBlockWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCodeBlockWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCodeBlockWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar codeNode = this.document.createElement(\"code\"),\n\t\tdomNode = this.document.createElement(\"pre\");\n\tcodeNode.appendChild(this.document.createTextNode(this.getAttribute(\"code\")));\n\tdomNode.appendChild(codeNode);\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.domNodes.push(domNode);\n\tif(this.postRender) {\n\t\tthis.postRender();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nCodeBlockWidget.prototype.execute = function() {\n\tthis.language = this.getAttribute(\"language\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCodeBlockWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.code || changedAttributes.language) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\nexports.codeblock = CodeBlockWidget;\n"
  },
  {
    "path": "core/modules/widgets/count.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/count.js\ntype: application/javascript\nmodule-type: widget\n\nCount widget\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CountWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCountWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCountWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.currentCount);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nCountWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.filter = this.getAttribute(\"filter\");\n\t// Execute the filter\n\tif(this.filter) {\n\t\tthis.currentCount = this.wiki.filterTiddlers(this.filter,this).length;\n\t} else {\n\t\tthis.currentCount = \"0\";\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCountWidget.prototype.refresh = function(changedTiddlers) {\n\t// Re-execute the filter to get the count\n\tthis.computeAttributes();\n\tvar oldCount = this.currentCount;\n\tthis.execute();\n\tif(this.currentCount !== oldCount) {\n\t\t// Regenerate and rerender the widget and replace the existing DOM node\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n\n};\n\nexports.count = CountWidget;\n"
  },
  {
    "path": "core/modules/widgets/data.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/data.js\ntype: application/javascript\nmodule-type: widget\n\nWidget to dynamically represent one or more tiddlers\n\n\\*/\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DataWidget = function(parseTreeNode,options) {\n\tthis.dataWidgetTag = parseTreeNode.type;\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDataWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDataWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.dataPayload = this.computeDataTiddlerValues(); // Array of $tw.Tiddler objects\n\tthis.domNode = this.document.createTextNode(this.readDataTiddlerValuesAsJson());\n\tparent.insertBefore(this.domNode,nextSibling);\n\tthis.domNodes.push(this.domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nDataWidget.prototype.execute = function() {\n\t// Nothing to do here\n};\n\n/*\nRead the tiddler value(s) from a data widget as an array of tiddler field objects (not $tw.Tiddler objects)\n*/\nDataWidget.prototype.readDataTiddlerValues = function() {\n\tvar results = [];\n\t$tw.utils.each(this.dataPayload,function(tiddler,index) {\n\t\tresults.push(tiddler.getFieldStrings());\n\t});\n\treturn results;\n};\n\n/*\nRead the tiddler value(s) from a data widget as an array of tiddler field objects (not $tw.Tiddler objects)\n*/\nDataWidget.prototype.readDataTiddlerValuesAsJson = function() {\n\treturn JSON.stringify(this.readDataTiddlerValues(),null,4);\n};\n\n/*\nCompute list of tiddlers from a data widget\n*/\nDataWidget.prototype.computeDataTiddlerValues = function() {\n\tvar self = this;\n\t// Read any attributes not prefixed with $\n\tvar item = Object.create(null);\n\t$tw.utils.each(this.attributes,function(value,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\titem[name] = value;\t\n\t\t}\n\t});\n\t// Deal with $tiddler, $filter or $compound-tiddler attributes\n\tvar tiddlers = [],\n\t\tcompoundTiddlers,\n\t\ttitle;\n\tif(this.hasAttribute(\"$tiddler\")) {\n\t\ttitle = this.getAttribute(\"$tiddler\");\n\t\tif(title) {\n\t\t\tvar tiddler = this.wiki.getTiddler(title);\n\t\t\tif(tiddler) {\n\t\t\t\ttiddlers.push(tiddler);\n\t\t\t}\n\t\t}\n\t}\n\tif(this.hasAttribute(\"$filter\")) {\n\t\tvar filter = this.getAttribute(\"$filter\");\n\t\tif(filter) {\n\t\t\tvar titles = this.wiki.filterTiddlers(filter);\n\t\t\t$tw.utils.each(titles,function(title) {\n\t\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\t\tif(tiddler) {\n\t\t\t\t\ttiddlers.push(tiddler);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\tif(this.hasAttribute(\"$compound-tiddler\")) {\n\t\ttitle = this.getAttribute(\"$compound-tiddler\");\n\t\tif(title) {\n\t\t\ttiddlers.push.apply(tiddlers,this.extractCompoundTiddler(title));\n\t\t}\n\t}\n\tif(this.hasAttribute(\"$compound-filter\")) {\n\t\tfilter = this.getAttribute(\"$compound-filter\");\n\t\tif(filter) {\n\t\t\tcompoundTiddlers = this.wiki.filterTiddlers(filter);\n\t\t\t$tw.utils.each(compoundTiddlers, function(title){\n\t\t\t\ttiddlers.push.apply(tiddlers,self.extractCompoundTiddler(title));\n\t\t\t});\n\t\t}\n\t}\n\t// Return the literal item if none of the special attributes were used\n\tif(!this.hasAttribute(\"$tiddler\") && !this.hasAttribute(\"$filter\") && !this.hasAttribute(\"$compound-tiddler\") && !this.hasAttribute(\"$compound-filter\")) {\n\t\tif(Object.keys(item).length > 0 && !!item.title) {\n\t\t\treturn [new $tw.Tiddler(item)];\n\t\t} else {\n\t\t\treturn [];\n\t\t}\n\t} else {\n\t\t// Apply the item fields to each of the tiddlers\n\t\tif(Object.keys(item).length > 0) {\n\t\t\t$tw.utils.each(tiddlers,function(tiddler,index) {\n\t\t\t\ttiddlers[index] = new $tw.Tiddler(tiddler,item);\n\t\t\t});\n\t\t}\n\t\treturn tiddlers;\n\t}\n};\n\n/*\nHelper to extract tiddlers from text/vnd.tiddlywiki-multiple tiddlers\n*/\nDataWidget.prototype.extractCompoundTiddler = function(title) {\n\tvar tiddler = this.wiki.getTiddler(title);\n\tif(tiddler && tiddler.fields.type === \"text/vnd.tiddlywiki-multiple\") {\n\t\tvar text = tiddler.fields.text || \"\",\n\t\t\trawTiddlers = text.split(/\\r?\\n\\+\\r?\\n/),\n\t\t\ttiddlers = [];\n\t\t$tw.utils.each(rawTiddlers,function(rawTiddler) {\n\t\t\tvar fields = Object.create(null),\n\t\t\t\tsplit = rawTiddler.split(/\\r?\\n\\r?\\n/mg);\n\t\t\tif(split.length >= 1) {\n\t\t\t\tfields = $tw.utils.parseFields(split[0],fields);\n\t\t\t}\n\t\t\tif(split.length >= 2) {\n\t\t\t\tfields.text = split.slice(1).join(\"\\n\\n\");\n\t\t\t}\n\t\t\ttiddlers.push(new $tw.Tiddler(fields));\n\t\t});\n\t\treturn tiddlers;\n\t} else {\n\t\treturn [];\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDataWidget.prototype.refresh = function(changedTiddlers) {\n\tthis.computeAttributes();\n\tvar newPayload = this.computeDataTiddlerValues();\n\tif(hasPayloadChanged(this.dataPayload,newPayload)) {\n\t\tthis.dataPayload = newPayload;\n\t\tthis.domNode.textContent = this.readDataTiddlerValuesAsJson();\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/*\nCompare two arrays of tiddlers and return true if they are different\n*/\nfunction hasPayloadChanged(a,b) {\n\tif(a.length === b.length) {\n\t\tfor(var t=0; t<a.length; t++) {\n\t\t\tif(!(a[t].isEqual(b[t]))) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t} else {\n\t\treturn true;\n\t}\n}\n\nexports.data = DataWidget;\n"
  },
  {
    "path": "core/modules/widgets/diff-text.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/diff-text.js\ntype: application/javascript\nmodule-type: widget\n\nWidget to display a diff between two texts\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\nconst dmp = require(\"$:/core/modules/utils/diff-match-patch/diff_match_patch.js\");\n\nvar DiffTextWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDiffTextWidget.prototype = new Widget();\n\nDiffTextWidget.prototype.invisibleCharacters = {\n\t\"\\n\": \"↩︎\\n\",\n\t\"\\r\": \"⇠\",\n\t\"\\t\": \"⇥\\t\"\n};\n\n/*\nRender this widget into the DOM\n*/\nDiffTextWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create the diff object\n\tconst editCost = $tw.utils.parseNumber(this.getAttribute(\"editcost\",\"4\"));\n\tconst mode = this.getAttribute(\"mode\") || \"chars\";\n\tlet diffs;\n\tif(mode === \"lines\" || mode === \"words\") {\n\t\tdiffs = diffLineWordMode(this.getAttribute(\"source\",\"\"),this.getAttribute(\"dest\",\"\"),mode,editCost);\n\t} else {\n\t\tdiffs = dmp.diffMain(this.getAttribute(\"source\",\"\"),this.getAttribute(\"dest\",\"\"),{diffEditCost: editCost});\n\t}\n\t// Apply required cleanup\n\tswitch(this.getAttribute(\"cleanup\",\"semantic\")) {\n\t\tcase \"none\":\n\t\t\t// No cleanup\n\t\t\tbreak;\n\t\tcase \"efficiency\":\n\t\t\tdmp.diffCleanupEfficiency(diffs, {diffEditCost: editCost});\n\t\t\tbreak;\n\t\tdefault: // case \"semantic\"\n\t\t\tdmp.diffCleanupSemantic(diffs);\n\t\t\tbreak;\n\t}\n\t// Create the elements\n\tvar domContainer = this.document.createElement(\"div\"), \n\t\tdomDiff = this.createDiffDom(diffs);\n\tparent.insertBefore(domContainer,nextSibling);\n\t// Save our container\n\tthis.domNodes.push(domContainer);\n\t// Set variables\n\tthis.setVariable(\"diff-count\",diffs.reduce(function(acc,diff) {\n\t\tif(diff[0] !== dmp.DIFF_EQUAL) {\n\t\t\tacc++;\n\t\t}\n\t\treturn acc;\n\t},0).toString());\n\t// Render child widgets\n\tthis.renderChildren(domContainer,null);\n\t// Render the diff\n\tdomContainer.appendChild(domDiff);\n};\n\n/*\nCreate DOM elements representing a list of diffs\n*/\nDiffTextWidget.prototype.createDiffDom = function(diffs) {\n\tvar self = this;\n\t// Create the element and assign the attributes\n\tvar domPre = this.document.createElement(\"pre\"),\n\t\tdomCode = this.document.createElement(\"code\");\n\t$tw.utils.each(diffs,function(diff) {\n\t\tvar tag = diff[0] === dmp.DIFF_INSERT ? \"ins\" : (diff[0] === dmp.DIFF_DELETE ? \"del\" : \"span\"),\n\t\t\tclassName = diff[0] === dmp.DIFF_INSERT ? \"tc-diff-insert\" : (diff[0] === dmp.DIFF_DELETE ? \"tc-diff-delete\" : \"tc-diff-equal\"),\n\t\t\tdom = self.document.createElement(tag),\n\t\t\ttext = diff[1],\n\t\t\tcurrPos = 0,\n\t\t\tre = /([\\x00-\\x1F])/mg,\n\t\t\tmatch = re.exec(text),\n\t\t\tspan,\n\t\t\tprintable;\n\t\tdom.className = className;\n\t\twhile(match) {\n\t\t\tif(currPos < match.index) {\n\t\t\t\tdom.appendChild(self.document.createTextNode(text.slice(currPos,match.index)));\n\t\t\t}\n\t\t\tspan = self.document.createElement(\"span\");\n\t\t\tspan.className = \"tc-diff-invisible\";\n\t\t\tprintable = self.invisibleCharacters[match[0]] || (\"[0x\" + match[0].charCodeAt(0).toString(16) + \"]\");\n\t\t\tspan.appendChild(self.document.createTextNode(printable));\n\t\t\tdom.appendChild(span);\n\t\t\tcurrPos = match.index + match[0].length;\n\t\t\tmatch = re.exec(text);\n\t\t}\n\t\tif(currPos < text.length) {\n\t\t\tdom.appendChild(self.document.createTextNode(text.slice(currPos)));\n\t\t}\n\t\tdomCode.appendChild(dom);\n\t});\n\tdomPre.appendChild(domCode);\n\treturn domPre;\n};\n\n/*\nCompute the internal state of the widget\n*/\nDiffTextWidget.prototype.execute = function() {\n\t// Make child widgets\n\tvar parseTreeNodes;\n\tif(this.parseTreeNode && this.parseTreeNode.children && this.parseTreeNode.children.length > 0) {\n\t\tparseTreeNodes = this.parseTreeNode.children;\n\t} else {\n\t\tparseTreeNodes = [{\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: \"$:/language/Diffs/CountMessage\"}\n\t\t\t}\n\t\t}];\n\t}\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDiffTextWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.source || changedAttributes.dest || changedAttributes.cleanup || changedAttributes.mode || changedAttributes.editcost) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\n// This function is adapted from https://github.com/google/diff-match-patch/wiki/Line-or-Word-Diffs\nfunction diffLineWordMode(text1,text2,mode,editCost) {\n\tvar a = $tw.utils.diffPartsToChars(text1,text2,mode);\n\tvar lineText1 = a.chars1;\n\tvar lineText2 = a.chars2;\n\tvar lineArray = a.lineArray;\n\tvar diffs = dmp.diffMain(lineText1,lineText2,{diffEditCost: editCost});\n\tdmp.diffCharsToLines(diffs,lineArray);\n\treturn diffs;\n}\n\nexports[\"diff-text\"] = DiffTextWidget;\n"
  },
  {
    "path": "core/modules/widgets/draggable.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/draggable.js\ntype: application/javascript\nmodule-type: widget\n\nDraggable widget\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DraggableWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDraggableWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDraggableWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this,\n\t\ttag,\n\t\tdomNode,\n\t\tclasses = [];\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Sanitise the specified tag\n\ttag = this.draggableTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"div\";\n\t}\n\t// Create our element\n\tdomNode = this.document.createElement(tag);\n\t// Assign classes\n\tif(this.draggableClasses) {\n\t\tclasses.push(this.draggableClasses);\n\t}\n\tif(!this.dragHandleSelector && this.dragEnable) {\n\t\tclasses.push(\"tc-draggable\");\n\t}\n\tdomNode.setAttribute(\"class\",classes.join(\" \"));\n\t// Assign data- attributes and style. attributes\n\tthis.assignAttributes(domNode,{\n\t\tsourcePrefix: \"data-\",\n\t\tdestPrefix: \"data-\"\n\t});\n\t// Insert the node into the DOM and render any children\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.domNodes.push(domNode);\n\tthis.renderChildren(domNode,null);\n\t// Add event handlers\n\tif(this.dragEnable) {\n\t\t$tw.utils.makeDraggable({\n\t\t\tdomNode: domNode,\n\t\t\tdragTiddlerFn: function() {return self.getAttribute(\"tiddler\");},\n\t\t\tdragFilterFn: function() {return self.getAttribute(\"filter\");},\n\t\t\tstartActions: self.startActions,\n\t\t\tendActions: self.endActions,\n\t\t\tdragImageType: self.dragImageType,\n\t\t\twidget: this,\n\t\t\tselector: self.dragHandleSelector\n\t\t});\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nDraggableWidget.prototype.execute = function() {\n\t// Pick up our attributes\n\tthis.draggableTag = this.getAttribute(\"tag\",\"div\");\n\tthis.draggableClasses = this.getAttribute(\"class\");\n\tthis.startActions = this.getAttribute(\"startactions\");\n\tthis.endActions = this.getAttribute(\"endactions\");\n\tthis.dragImageType = this.getAttribute(\"dragimagetype\");\n\tthis.dragHandleSelector = this.getAttribute(\"selector\");\n\tthis.dragEnable = this.getAttribute(\"enable\",\"yes\") === \"yes\";\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n\nDraggableWidget.prototype.updateDomNodeClasses = function() {\n\tvar domNodeClasses = this.domNodes[0].className.split(\" \"),\n\t\toldClasses = this.draggableClasses.split(\" \");\n\tthis.draggableClasses = this.getAttribute(\"class\");\n\t//Remove classes assigned from the old value of class attribute\n\t$tw.utils.each(oldClasses,function(oldClass){\n\t\tvar i = domNodeClasses.indexOf(oldClass);\n\t\tif(i !== -1) {\n\t\t\tdomNodeClasses.splice(i,1);\n\t\t}\n\t});\n\t//Add new classes from updated class attribute.\n\t$tw.utils.pushTop(domNodeClasses,this.draggableClasses);\n\tthis.domNodes[0].setAttribute(\"class\",domNodeClasses.join(\" \"));\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDraggableWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tag || changedAttributes.selector || changedAttributes.dragimagetype || changedAttributes.enable || changedAttributes.startactions || changedAttributes.endactions) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tif(changedAttributes[\"class\"]) {\n\t\t\tthis.updateDomNodeClasses();\n\t\t}\n\t\tthis.assignAttributes(this.domNodes[0],{\n\t\t\tchangedAttributes: changedAttributes,\n\t\t\tsourcePrefix: \"data-\",\n\t\t\tdestPrefix: \"data-\"\n\t\t});\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.draggable = DraggableWidget;\n"
  },
  {
    "path": "core/modules/widgets/droppable.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/droppable.js\ntype: application/javascript\nmodule-type: widget\n\nDroppable widget\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DroppableWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDroppableWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDroppableWidget.prototype.render = function(parent,nextSibling) {\n\tvar tag = this.parseTreeNode.isBlock ? \"div\" : \"span\",\n\t\tdomNode;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\tif(this.droppableTag && $tw.config.htmlUnsafeElements.indexOf(this.droppableTag) === -1) {\n\t\ttag = this.droppableTag;\n\t}\n\t// Create element and assign classes\n\tdomNode = this.document.createElement(tag);\n\tthis.domNode = domNode;\n\tthis.assignDomNodeClasses();\n\t// Assign data- attributes and style. attributes\n\tthis.assignAttributes(domNode,{\n\t\tsourcePrefix: \"data-\",\n\t\tdestPrefix: \"data-\"\n\t});\n\t// Add event handlers\n\tif(this.droppableEnable) {\n\t\t$tw.utils.addEventListeners(domNode,[\n\t\t\t{name: \"dragenter\", handlerObject: this, handlerMethod: \"handleDragEnterEvent\"},\n\t\t\t{name: \"dragover\", handlerObject: this, handlerMethod: \"handleDragOverEvent\"},\n\t\t\t{name: \"dragleave\", handlerObject: this, handlerMethod: \"handleDragLeaveEvent\"},\n\t\t\t{name: \"drop\", handlerObject: this, handlerMethod: \"handleDropEvent\"}\n\t\t]);\n\t} else {\n\t\t$tw.utils.addClass(this.domNode,this.disabledClass);\n\t}\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.domNodes.push(domNode);\n\tthis.renderChildren(domNode,null);\n\t// Stack of outstanding enter/leave events\n\tthis.currentlyEntered = [];\n};\n\nDroppableWidget.prototype.enterDrag = function(event) {\n\tif(this.currentlyEntered.indexOf(event.target) === -1) {\n\t\tthis.currentlyEntered.push(event.target);\n\t}\n\t// If we're entering for the first time we need to apply highlighting\n\t$tw.utils.addClass(this.domNodes[0],\"tc-dragover\");\n};\n\nDroppableWidget.prototype.leaveDrag = function(event) {\n\tvar pos = this.currentlyEntered.indexOf(event.target);\n\tif(pos !== -1) {\n\t\tthis.currentlyEntered.splice(pos,1);\n\t}\n\t// Remove highlighting if we're leaving externally. The hacky second condition is to resolve a problem with Firefox whereby there is an erroneous dragenter event if the node being dragged is within the dropzone\n\tif(this.currentlyEntered.length === 0 || (this.currentlyEntered.length === 1 && this.currentlyEntered[0] === $tw.dragInProgress)) {\n\t\tthis.currentlyEntered = [];\n\t\tif(this.domNodes[0]) {\n\t\t\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n\t\t}\n\t}\n};\n\nDroppableWidget.prototype.handleDragEnterEvent  = function(event) {\n\tthis.enterDrag(event);\n\t// Tell the browser that we're ready to handle the drop\n\tevent.preventDefault();\n\t// Tell the browser not to ripple the drag up to any parent drop handlers\n\tevent.stopPropagation();\n\treturn false;\n};\n\nDroppableWidget.prototype.handleDragOverEvent  = function(event) {\n\t// Check for being over a TEXTAREA or INPUT\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) !== -1) {\n\t\treturn false;\n\t}\n\t// Tell the browser that we're still interested in the drop\n\tevent.preventDefault();\n\t// Set the drop effect\n\tevent.dataTransfer.dropEffect = this.droppableEffect;\n\treturn false;\n};\n\nDroppableWidget.prototype.handleDragLeaveEvent  = function(event) {\n\tthis.leaveDrag(event);\n\treturn false;\n};\n\nDroppableWidget.prototype.handleDropEvent  = function(event) {\n\tvar self = this;\n\tthis.leaveDrag(event);\n\t// Check for being over a TEXTAREA or INPUT\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) !== -1) {\n\t\treturn false;\n\t}\n\tvar dataTransfer = event.dataTransfer;\n\t// Remove highlighting\n\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n\t// Try to import the various data types we understand\n\tif(this.droppableActions) {\n\t\t$tw.utils.importDataTransfer(dataTransfer,null,function(fieldsArray) {\n\t\t\tfieldsArray.forEach(function(fields) {\n\t\t\t\tself.performActions(fields.title || fields.text,event);\n\t\t\t});\n\t\t});\n\t}\n\t// Send a TitleList to performListActions\n\tif(this.droppableListActions) {\n\t\t$tw.utils.importDataTransfer(dataTransfer,null,function(fieldsArray) {\n\t\t\tvar titleList = [];\n\t\t\tfieldsArray.forEach(function(fields) {\n\t\t\t\ttitleList.push(fields.title || fields.text);\n\t\t\t});\n\t\t\tself.performListActions($tw.utils.stringifyList(titleList),event);\n\t\t});\n\t}\n\t// Tell the browser that we handled the drop\n\tevent.preventDefault();\n\t// Stop the drop ripple up to any parent handlers\n\tevent.stopPropagation();\n\treturn false;\n};\n\nDroppableWidget.prototype.performListActions = function(titleList,event) {\n\tif(this.droppableListActions) {\n\t\tvar modifierKey = $tw.keyboardManager.getEventModifierKeyDescriptor(event);\n\t\tthis.invokeActionString(this.droppableListActions,this,event,{actionTiddlerList: titleList, modifier: modifierKey});\n\t}\n};\n\nDroppableWidget.prototype.performActions = function(title,event) {\n\tif(this.droppableActions) {\n\t\tvar modifierKey = $tw.keyboardManager.getEventModifierKeyDescriptor(event);\n\t\tthis.invokeActionString(this.droppableActions,this,event,{actionTiddler: title, modifier: modifierKey});\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nDroppableWidget.prototype.execute = function() {\n\tthis.droppableActions = this.getAttribute(\"actions\");\n\tthis.droppableListActions = this.getAttribute(\"listActions\");\n\tthis.droppableEffect = this.getAttribute(\"effect\",\"copy\");\n\tthis.droppableTag = this.getAttribute(\"tag\");\n\tthis.droppableEnable = (this.getAttribute(\"enable\") || \"yes\") === \"yes\";\n\tthis.disabledClass = this.getAttribute(\"disabledClass\",\"\");\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\nDroppableWidget.prototype.assignDomNodeClasses = function() {\n\tvar classes = this.getAttribute(\"class\",\"\").split(\" \");\n\tclasses.push(\"tc-droppable\");\n\tthis.domNode.className = classes.join(\" \").trim();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDroppableWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tag || changedAttributes.enable || changedAttributes.disabledClass ||\n\t\tchangedAttributes.actions|| changedAttributes.listActions || changedAttributes.effect) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tif(changedAttributes[\"class\"]) {\n\t\t\tthis.assignDomNodeClasses();\n\t\t}\n\t\tthis.assignAttributes(this.domNodes[0],{\n\t\t\tchangedAttributes: changedAttributes,\n\t\t\tsourcePrefix: \"data-\",\n\t\t\tdestPrefix: \"data-\"\n\t\t});\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.droppable = DroppableWidget;\n"
  },
  {
    "path": "core/modules/widgets/dropzone.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/dropzone.js\ntype: application/javascript\nmodule-type: widget\n\nDropzone widget\n\n\\*/\n\n\"use strict\";\n\nvar IMPORT_TITLE = \"$:/Import\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DropZoneWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDropZoneWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDropZoneWidget.prototype.render = function(parent,nextSibling) {\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar domNode = this.document.createElement(\"div\");\n\tthis.domNode = domNode;\n\tdomNode.className = this.dropzoneClass || \"tc-dropzone\";\n\t// Add event handlers\n\tif(this.dropzoneEnable) {\n\t\t$tw.utils.addEventListeners(domNode,[\n\t\t\t{name: \"dragenter\", handlerObject: this, handlerMethod: \"handleDragEnterEvent\"},\n\t\t\t{name: \"dragover\", handlerObject: this, handlerMethod: \"handleDragOverEvent\"},\n\t\t\t{name: \"dragleave\", handlerObject: this, handlerMethod: \"handleDragLeaveEvent\"},\n\t\t\t{name: \"drop\", handlerObject: this, handlerMethod: \"handleDropEvent\"},\n\t\t\t{name: \"paste\", handlerObject: this, handlerMethod: \"handlePasteEvent\"},\n\t\t\t{name: \"dragend\", handlerObject: this, handlerMethod: \"handleDragEndEvent\"}\n\t\t]);\n\t}\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n\t// Stack of outstanding enter/leave events\n\tthis.currentlyEntered = [];\n};\n\n// Handler for transient event listeners added when the dropzone has an active drag in progress\nDropZoneWidget.prototype.handleEvent = function(event) {\n\tif(event.type === \"click\") {\n\t\tif(this.currentlyEntered.length) {\n\t\t\tthis.resetState();\n\t\t}\n\t} else if(event.type === \"dragenter\") {\n\t\tif(event.target && event.target !== this.domNode && !$tw.utils.domContains(this.domNode,event.target)) {\n\t\t\tthis.resetState();\n\t\t}\n\t} else if(event.type === \"dragleave\") {\n\t\t// Check if drag left the window\n\t\tif(event.relatedTarget === null || (event.relatedTarget && event.relatedTarget.nodeName === \"HTML\")) {\n\t\t\tthis.resetState();\n\t\t}\n\t}\n};\n\n// Reset the state of the dropzone after a drag has ended\nDropZoneWidget.prototype.resetState = function() {\n\t$tw.utils.removeClass(this.domNode,\"tc-dragover\");\n\tthis.currentlyEntered = [];\n\tthis.document.body.removeEventListener(\"click\",this,true);\n\tthis.document.body.removeEventListener(\"dragenter\",this,true);\n\tthis.document.body.removeEventListener(\"dragleave\",this,true);\n\tthis.dragInProgress = false;\n};\n\nDropZoneWidget.prototype.enterDrag = function(event) {\n\tif(this.currentlyEntered.indexOf(event.target) === -1) {\n\t\tthis.currentlyEntered.push(event.target);\n\t}\n\tif(!this.dragInProgress) {\n\t\tthis.dragInProgress = true;\n\t\t// If we're entering for the first time we need to apply highlighting\n\t\t$tw.utils.addClass(this.domNodes[0],\"tc-dragover\");\n\t\tthis.document.body.addEventListener(\"click\",this,true);\n\t\tthis.document.body.addEventListener(\"dragenter\",this,true);\n\t\tthis.document.body.addEventListener(\"dragleave\",this,true);\n\t}\n};\n\nDropZoneWidget.prototype.leaveDrag = function(event) {\n\tvar pos = this.currentlyEntered.indexOf(event.target);\n\tif(pos !== -1) {\n\t\tthis.currentlyEntered.splice(pos,1);\n\t}\n\t// Remove highlighting if we're leaving externally\n\tif(this.currentlyEntered.length === 0) {\n\t\tthis.resetState();\n\t}\n};\n\nDropZoneWidget.prototype.handleDragEnterEvent  = function(event) {\n\tif($tw.dragInProgress) {\n\t\treturn false;\n\t}\n\tif(this.filesOnly && !$tw.utils.dragEventContainsFiles(event)) {\n\t\treturn false;\n\t}\n\tthis.enterDrag(event);\n\t// Tell the browser that we're ready to handle the drop\n\tevent.preventDefault();\n\t// Tell the browser not to ripple the drag up to any parent drop handlers\n\tevent.stopPropagation();\n};\n\nDropZoneWidget.prototype.handleDragOverEvent  = function(event) {\n\t// Check for being over a TEXTAREA or INPUT\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) !== -1) {\n\t\treturn false;\n\t}\n\t// Check for this window being the source of the drag\n\tif($tw.dragInProgress) {\n\t\treturn false;\n\t}\n\t// Tell the browser that we're still interested in the drop\n\tevent.preventDefault();\n\t// Check if this is a synthetic event, IE does not allow accessing dropEffect outside of original event handler\n\tif(event.isTrusted) {\n\t\tevent.dataTransfer.dropEffect = \"copy\"; // Explicitly show this is a copy\n\t}\n};\n\nDropZoneWidget.prototype.handleDragLeaveEvent  = function(event) {\n\tthis.leaveDrag(event);\n};\n\nDropZoneWidget.prototype.handleDragEndEvent = function(event) {\n\tthis.resetState();\n};\n\nDropZoneWidget.prototype.filterByContentTypes = function(tiddlerFieldsArray) {\n\tvar filteredTypes,\n\t\tfiltered = [],\n\t\ttypes = [];\n\t$tw.utils.each(tiddlerFieldsArray,function(tiddlerFields) {\n\t\ttypes.push(tiddlerFields.type || \"\");\n\t});\n\tfilteredTypes = this.wiki.filterTiddlers(this.contentTypesFilter,this,this.wiki.makeTiddlerIterator(types));\n\t$tw.utils.each(tiddlerFieldsArray,function(tiddlerFields) {\n\t\tif(filteredTypes.indexOf(tiddlerFields.type) !== -1) {\n\t\t\tfiltered.push(tiddlerFields);\n\t\t}\n\t});\n\treturn filtered;\n};\n\nDropZoneWidget.prototype.readFileCallback = function(tiddlerFieldsArray) {\n\tif(this.contentTypesFilter) {\n\t\ttiddlerFieldsArray = this.filterByContentTypes(tiddlerFieldsArray);\n\t}\n\tif(tiddlerFieldsArray.length) {\n\t\tthis.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify(tiddlerFieldsArray), autoOpenOnImport: this.autoOpenOnImport, importTitle: this.importTitle});\n\t\tif(this.actions) {\n\t\t\tthis.invokeActionString(this.actions,this,event,{importTitle: this.importTitle});\n\t\t}\n\t}\n};\n\nDropZoneWidget.prototype.handleDropEvent  = function(event) {\n\tvar self = this,\n\t\treadFileCallback = function(tiddlerFieldsArray) {\n\t\t\tself.readFileCallback(tiddlerFieldsArray);\n\t\t};\n\tthis.leaveDrag(event);\n\t// Check for being over a TEXTAREA or INPUT\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) !== -1) {\n\t\treturn false;\n\t}\n\t// Check for this window being the source of the drag\n\tif($tw.dragInProgress) {\n\t\treturn false;\n\t}\n\tvar self = this,\n\t\tdataTransfer = event.dataTransfer;\n\t// Remove highlighting\n\tthis.resetState();\n\t// Import any files in the drop\n\tvar numFiles = 0;\n\t// If we have type text/vnd.tiddlywiki then skip trying to import files\n\tif(dataTransfer.files && !$tw.utils.dragEventContainsType(event,\"text/vnd.tiddler\")) {\n\t\tnumFiles = this.wiki.readFiles(dataTransfer.files,{\n\t\t\tcallback: readFileCallback,\n\t\t\tdeserializer: this.dropzoneDeserializer\n\t\t});\n\t}\n\t// Try to import the various data types we understand\n\tif(numFiles === 0) {\n\t\tvar fallbackTitle = self.wiki.generateNewTitle(\"Untitled\");\n\t\t//Use the deserializer specified if any\n\t\tif(this.dropzoneDeserializer) {\n\t\t\tfor(var t= 0; t<dataTransfer.items.length; t++) {\n\t\t\t\tvar item = dataTransfer.items[t];\n\t\t\t\tif(item.kind === \"string\") {\n\t\t\t\t\titem.getAsString(function(str){\n\t\t\t\t\t\tvar tiddlerFields = self.wiki.deserializeTiddlers(null,str,{title: fallbackTitle},{deserializer:self.dropzoneDeserializer});\n\t\t\t\t\t\tif(tiddlerFields && tiddlerFields.length) {\n\t\t\t\t\t\t\treadFileCallback(tiddlerFields);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t$tw.utils.importDataTransfer(dataTransfer,fallbackTitle,readFileCallback);\n\t\t}\n\t}\n\t// Tell the browser that we handled the drop\n\tevent.preventDefault();\n\t// Stop the drop ripple up to any parent handlers\n\tevent.stopPropagation();\n};\n\nDropZoneWidget.prototype.handlePasteEvent  = function(event) {\n\tvar self = this;\n\tvar\treadFileCallback = function(tiddlerFieldsArray) {\n\t\tself.readFileCallback(tiddlerFieldsArray);\n\t};\n\tvar getItem = function(type) {\n\t\ttype = type || \"text/plain\";\n\t\treturn function(str) {\n\t\t\t// Use the deserializer specified if any\n\t\t\tif(self.dropzoneDeserializer) {\n\t\t\t\ttiddlerFields = self.wiki.deserializeTiddlers(null,str,{title: self.wiki.generateNewTitle(\"Untitled \" + type)},{deserializer:self.dropzoneDeserializer});\n\t\t\t\tif(tiddlerFields && tiddlerFields.length) {\n\t\t\t\t\treadFileCallback(tiddlerFields);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttiddlerFields = {\n\t\t\t\t\ttitle: self.wiki.generateNewTitle(\"Untitled \" + type),\n\t\t\t\t\ttext: str,\n\t\t\t\t\ttype: type\n\t\t\t\t};\n\t\t\t\tif($tw.log.IMPORT) {\n\t\t\t\t\tconsole.log(\"Importing string '\" + str + \"', type: '\" + type + \"'\");\n\t\t\t\t}\n\t\t\t\treadFileCallback([tiddlerFields]);\n\t\t\t}\n\t\t};\n\t};\n\t// Let the browser handle it if we're in a textarea or input box\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) == -1 && !event.target.isContentEditable && !event.twEditor) {\n\t\tvar self = this,\n\t\t\titems = event.clipboardData.items;\n\t\t// Enumerate the clipboard items\n\t\tfor(var t = 0; t<items.length; t++) {\n\t\t\tvar item = items[t];\n\t\t\tif(item.kind === \"file\") {\n\t\t\t\t// Import any files\n\t\t\t\tthis.wiki.readFile(item.getAsFile(),{\n\t\t\t\t\tcallback: readFileCallback,\n\t\t\t\t\tdeserializer: this.dropzoneDeserializer\n\t\t\t\t});\n\t\t\t} else if(item.kind === \"string\" && ![\"text/html\", \"text/plain\", \"Text\"].includes(item.type) && $tw.utils.itemHasValidDataType(item)) {\n\t\t\t\t// Try to import the various data types we understand\n\t\t\t\tvar fallbackTitle = self.wiki.generateNewTitle(\"Untitled\");\n\t\t\t\t//Use the deserializer specified if any\n\t\t\t\tif(this.dropzoneDeserializer) {\n\t\t\t\t\titem.getAsString(function(str){\n\t\t\t\t\t\tvar tiddlerFields = self.wiki.deserializeTiddlers(null,str,{title: fallbackTitle},{deserializer:self.dropzoneDeserializer});\n\t\t\t\t\t\tif(tiddlerFields && tiddlerFields.length) {\n\t\t\t\t\t\t\treadFileCallback(tiddlerFields);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t$tw.utils.importPaste(item,fallbackTitle,readFileCallback);\n\t\t\t\t}\n\t\t\t} else if(item.kind === \"string\") {\n\t\t\t\t// Create tiddlers from string items\n\t\t\t\tvar tiddlerFields;\n\t\t\t\t// It's important to give getAsString a closure with the right type\n\t\t\t\t// So it can be added to the import queue\n\t\t\t\titem.getAsString(getItem(item.type));\n\t\t\t}\n\t\t}\n\t\t// Tell the browser that we've handled the paste\n\t\tevent.stopPropagation();\n\t\tevent.preventDefault();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nDropZoneWidget.prototype.execute = function() {\n\tthis.dropzoneClass = this.getAttribute(\"class\");\n\tthis.dropzoneDeserializer = this.getAttribute(\"deserializer\");\n\tthis.dropzoneEnable = (this.getAttribute(\"enable\") || \"yes\") === \"yes\";\n\tthis.autoOpenOnImport = this.getAttribute(\"autoOpenOnImport\");\n\tthis.importTitle = this.getAttribute(\"importTitle\",IMPORT_TITLE);\n\tthis.actions = this.getAttribute(\"actions\");\n\tthis.contentTypesFilter = this.getAttribute(\"contentTypesFilter\");\n\tthis.filesOnly = this.getAttribute(\"filesOnly\",\"no\") === \"yes\";\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDropZoneWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.dropzone = DropZoneWidget;\n"
  },
  {
    "path": "core/modules/widgets/edit-binary.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/edit-binary.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-binary widget; placeholder for editing binary tiddlers\n\n\\*/\n\n\"use strict\";\n\nvar BINARY_WARNING_MESSAGE = \"$:/core/ui/BinaryWarning\";\nvar EXPORT_BUTTON_IMAGE = \"$:/core/images/export-button\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditBinaryWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditBinaryWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditBinaryWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEditBinaryWidget.prototype.execute = function() {\n\t// Get our parameters\n\tvar editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tvar tiddler = this.wiki.getTiddler(editTitle);\n\tvar type = tiddler.fields.type;\n\tvar text = tiddler.fields.text;\n\t// Transclude the binary data tiddler warning message\n\tvar warn = {\n\t\ttype: \"element\",\n\t\ttag: \"p\",\n\t\tchildren: [{\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: BINARY_WARNING_MESSAGE}\n\t\t\t}\n\t\t}]\n\t};\n\t// Create download link based on draft tiddler title\n\tvar link = {\n\t\ttype: \"element\",\n\t\ttag: \"a\",\n\t\tattributes: {\n\t\t\ttitle: {type: \"indirect\", textReference: \"!!draft.title\"},\n\t\t\tdownload: {type: \"indirect\", textReference: \"!!draft.title\"}\n\t\t},\n\t\tchildren: [{\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: EXPORT_BUTTON_IMAGE}\n\t\t\t}\n\t\t}]\n\t};\n\t// Set the link href to internal data URI (no external)\n\tif(text) {\n\t\tlink.attributes.href = {\n\t\t\ttype: \"string\", \n\t\t\tvalue: \"data:\" + type + \";base64,\" + text\n\t\t};\n\t}\n\t// Combine warning message and download link in a div\n\tvar element = {\n\t\ttype: \"element\",\n\t\ttag: \"div\",\n\t\tattributes: {\n\t\t\tclass: {type: \"string\", value: \"tc-binary-warning\"}\n\t\t},\n\t\tchildren: [warn, link]\n\t};\n\t// Construct the child widgets\n\tthis.makeChildWidgets([element]);\n};\n\n/*\nRefresh by refreshing our child widget\n*/\nEditBinaryWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports[\"edit-binary\"] = EditBinaryWidget;\n"
  },
  {
    "path": "core/modules/widgets/edit-bitmap.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/edit-bitmap.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-bitmap widget\n\n\\*/\n\n\"use strict\";\n\n// Default image sizes\nvar DEFAULT_IMAGE_WIDTH = 600,\n\tDEFAULT_IMAGE_HEIGHT = 370,\n\tDEFAULT_IMAGE_TYPE = \"image/png\";\n\n// Configuration tiddlers\nvar LINE_WIDTH_TITLE = \"$:/config/BitmapEditor/LineWidth\",\n\tLINE_COLOUR_TITLE = \"$:/config/BitmapEditor/Colour\",\n\tLINE_OPACITY_TITLE = \"$:/config/BitmapEditor/Opacity\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditBitmapWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditBitmapWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditBitmapWidget.prototype.render = function(parent,nextSibling) {\n\t// Initialise the editor operations if they've not been done already\n\tif(!this.editorOperations) {\n\t\tEditBitmapWidget.prototype.editorOperations = {};\n\t\t$tw.modules.applyMethods(\"bitmapeditoroperation\",this.editorOperations);\n\t}\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Create the wrapper for the toolbar and render its content\n\tthis.toolbarNode = this.document.createElement(\"div\");\n\tthis.toolbarNode.className = \"tc-editor-toolbar\";\n\tparent.insertBefore(this.toolbarNode,nextSibling);\n\tthis.domNodes.push(this.toolbarNode);\n\t// Create the on-screen canvas\n\tthis.canvasDomNode = $tw.utils.domMaker(\"canvas\",{\n\t\tdocument: this.document,\n\t\t\"class\":\"tc-edit-bitmapeditor\",\n\t\teventListeners: [{\n\t\t\tname: \"touchstart\", handlerObject: this, handlerMethod: \"handleTouchStartEvent\"\n\t\t},{\n\t\t\tname: \"touchmove\", handlerObject: this, handlerMethod: \"handleTouchMoveEvent\"\n\t\t},{\n\t\t\tname: \"touchend\", handlerObject: this, handlerMethod: \"handleTouchEndEvent\"\n\t\t},{\n\t\t\tname: \"mousedown\", handlerObject: this, handlerMethod: \"handleMouseDownEvent\"\n\t\t},{\n\t\t\tname: \"mousemove\", handlerObject: this, handlerMethod: \"handleMouseMoveEvent\"\n\t\t},{\n\t\t\tname: \"mouseup\", handlerObject: this, handlerMethod: \"handleMouseUpEvent\"\n\t\t}]\n\t});\n\t// Set the width and height variables\n\tthis.setVariable(\"tv-bitmap-editor-width\",this.canvasDomNode.width + \"px\");\n\tthis.setVariable(\"tv-bitmap-editor-height\",this.canvasDomNode.height + \"px\");\n\t// Render toolbar child widgets\n\tthis.renderChildren(this.toolbarNode,null);\n\t// // Insert the elements into the DOM\n\tparent.insertBefore(this.canvasDomNode,nextSibling);\n\tthis.domNodes.push(this.canvasDomNode);\n\t// Load the image into the canvas\n\tif($tw.browser) {\n\t\tthis.loadCanvas();\n\t}\n\t// Add widget message listeners\n\tthis.addEventListeners([\n\t\t{type: \"tm-edit-bitmap-operation\", handler: \"handleEditBitmapOperationMessage\"}\n\t]);\n};\n\n/*\nHandle an edit bitmap operation message from the toolbar\n*/\nEditBitmapWidget.prototype.handleEditBitmapOperationMessage = function(event) {\n\t// Invoke the handler\n\tvar handler = this.editorOperations[event.param];\n\tif(handler) {\n\t\thandler.call(this,event);\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nEditBitmapWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nJust refresh the toolbar\n*/\nEditBitmapWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nSet the bitmap size variables and refresh the toolbar\n*/\nEditBitmapWidget.prototype.refreshToolbar = function() {\n\t// Set the width and height variables\n\tthis.setVariable(\"tv-bitmap-editor-width\",this.canvasDomNode.width + \"px\");\n\tthis.setVariable(\"tv-bitmap-editor-height\",this.canvasDomNode.height + \"px\");\n\t// Refresh each of our child widgets\n\t$tw.utils.each(this.children,function(childWidget) {\n\t\tchildWidget.refreshSelf();\n\t});\n};\n\nEditBitmapWidget.prototype.loadCanvas = function() {\n\tvar tiddler = this.wiki.getTiddler(this.editTitle),\n\t\tcurrImage = new Image();\n\t// Set up event handlers for loading the image\n\tvar self = this;\n\tcurrImage.onload = function() {\n\t\t// Copy the image to the on-screen canvas\n\t\tself.initCanvas(self.canvasDomNode,currImage.width,currImage.height,currImage);\n\t\t// And also copy the current bitmap to the off-screen canvas\n\t\tself.currCanvas = self.document.createElement(\"canvas\");\n\t\tself.initCanvas(self.currCanvas,currImage.width,currImage.height,currImage);\n\t\t// Set the width and height input boxes\n\t\tself.refreshToolbar();\n\t};\n\tcurrImage.onerror = function() {\n\t\t// Set the on-screen canvas size and clear it\n\t\tself.initCanvas(self.canvasDomNode,DEFAULT_IMAGE_WIDTH,DEFAULT_IMAGE_HEIGHT);\n\t\t// Set the off-screen canvas size and clear it\n\t\tself.currCanvas = self.document.createElement(\"canvas\");\n\t\tself.initCanvas(self.currCanvas,DEFAULT_IMAGE_WIDTH,DEFAULT_IMAGE_HEIGHT);\n\t\t// Set the width and height input boxes\n\t\tself.refreshToolbar();\n\t};\n\t// Get the current bitmap into an image object\n\tif(tiddler && tiddler.fields.type && tiddler.fields.text) {\n\t\tcurrImage.src = \"data:\" + tiddler.fields.type + \";base64,\" + tiddler.fields.text;\n\t} else {\n\t\tcurrImage.width = DEFAULT_IMAGE_WIDTH;\n\t\tcurrImage.height = DEFAULT_IMAGE_HEIGHT;\n\t\tcurrImage.onerror();\n\t}\n};\n\nEditBitmapWidget.prototype.initCanvas = function(canvas,width,height,image) {\n\tcanvas.width = width;\n\tcanvas.height = height;\n\tvar ctx = canvas.getContext(\"2d\");\n\tif(image) {\n\t\tctx.drawImage(image,0,0);\n\t} else {\n\t\tctx.fillStyle = \"#fff\";\n\t\tctx.fillRect(0,0,canvas.width,canvas.height);\n\t}\n};\n\n/*\n** Change the size of the canvas, preserving the current image\n*/\nEditBitmapWidget.prototype.changeCanvasSize = function(newWidth,newHeight) {\n\t// Create and size a new canvas\n\tvar newCanvas = this.document.createElement(\"canvas\");\n\tthis.initCanvas(newCanvas,newWidth,newHeight);\n\t// Copy the old image\n\tvar ctx = newCanvas.getContext(\"2d\");\n\tctx.drawImage(this.currCanvas,0,0);\n\t// Set the new canvas as the current one\n\tthis.currCanvas = newCanvas;\n\t// Set the size of the onscreen canvas\n\tthis.canvasDomNode.width = newWidth;\n\tthis.canvasDomNode.height = newHeight;\n\t// Paint the onscreen canvas with the offscreen canvas\n\tctx = this.canvasDomNode.getContext(\"2d\");\n\tctx.drawImage(this.currCanvas,0,0);\n};\n\n/*\n** Rotate the canvas left by 90 degrees\n*/\nEditBitmapWidget.prototype.rotateCanvasLeft = function() {\n\t// Get the current size of the image\n\tvar origWidth = this.currCanvas.width,\n\t\torigHeight = this.currCanvas.height;\n\t// Create and size a new canvas\n\tvar newCanvas = this.document.createElement(\"canvas\"),\n\t\tnewWidth = origHeight,\n\t\tnewHeight = origWidth;\n\tthis.initCanvas(newCanvas,newWidth,newHeight);\n\t// Copy the old image\n\tvar ctx = newCanvas.getContext(\"2d\");\n\tctx.save();\n\tctx.translate(newWidth / 2,newHeight / 2);\n\tctx.rotate(-Math.PI / 2);\n\tctx.drawImage(this.currCanvas,-origWidth / 2,-origHeight / 2);\n\tctx.restore();\n\t// Set the new canvas as the current one\n\tthis.currCanvas = newCanvas;\n\t// Set the size of the onscreen canvas\n\tthis.canvasDomNode.width = newWidth;\n\tthis.canvasDomNode.height = newHeight;\n\t// Paint the onscreen canvas with the offscreen canvas\n\tctx = this.canvasDomNode.getContext(\"2d\");\n\tctx.drawImage(this.currCanvas,0,0);\n};\n\nEditBitmapWidget.prototype.handleTouchStartEvent = function(event) {\n\tthis.brushDown = true;\n\tthis.strokeStart(event.touches[0].clientX,event.touches[0].clientY);\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleTouchMoveEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.strokeMove(event.touches[0].clientX,event.touches[0].clientY);\n\t}\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleTouchEndEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.brushDown = false;\n\t\tthis.strokeEnd();\n\t}\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleMouseDownEvent = function(event) {\n\tthis.strokeStart(event.clientX,event.clientY);\n\tthis.brushDown = true;\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleMouseMoveEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.strokeMove(event.clientX,event.clientY);\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nEditBitmapWidget.prototype.handleMouseUpEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.brushDown = false;\n\t\tthis.strokeEnd();\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nEditBitmapWidget.prototype.adjustCoordinates = function(x,y) {\n\tvar canvasRect = this.canvasDomNode.getBoundingClientRect(),\n\t\tscale = this.canvasDomNode.width/canvasRect.width;\n\treturn {x: (x - canvasRect.left) * scale, y: (y - canvasRect.top) * scale};\n};\n\nEditBitmapWidget.prototype.strokeStart = function(x,y) {\n\t// Start off a new stroke\n\tthis.stroke = [this.adjustCoordinates(x,y)];\n};\n\nEditBitmapWidget.prototype.strokeMove = function(x,y) {\n\tvar ctx = this.canvasDomNode.getContext(\"2d\"),\n\t\tt;\n\t// Add the new position to the end of the stroke\n\tthis.stroke.push(this.adjustCoordinates(x,y));\n\t// Redraw the previous image\n\tctx.drawImage(this.currCanvas,0,0);\n\t// Render the stroke\n\tctx.globalAlpha = parseFloat(this.wiki.getTiddlerText(LINE_OPACITY_TITLE,\"1.0\"));\n\tctx.strokeStyle = this.wiki.getTiddlerText(LINE_COLOUR_TITLE,\"#ff0\");\n\tctx.lineWidth = parseFloat(this.wiki.getTiddlerText(LINE_WIDTH_TITLE,\"3\"));\n\tctx.lineCap = \"round\";\n\tctx.lineJoin = \"round\";\n\tctx.beginPath();\n\tctx.moveTo(this.stroke[0].x,this.stroke[0].y);\n\tfor(t=1; t<this.stroke.length-1; t++) {\n\t\tvar s1 = this.stroke[t],\n\t\t\ts2 = this.stroke[t-1],\n\t\t\ttx = (s1.x + s2.x)/2,\n\t\t\tty = (s1.y + s2.y)/2;\n\t\tctx.quadraticCurveTo(s2.x,s2.y,tx,ty);\n\t}\n\tctx.stroke();\n};\n\nEditBitmapWidget.prototype.strokeEnd = function() {\n\t// Copy the bitmap to the off-screen canvas\n\tvar ctx = this.currCanvas.getContext(\"2d\");\n\tctx.drawImage(this.canvasDomNode,0,0);\n\t// Save the image into the tiddler\n\tthis.saveChanges();\n};\n\nEditBitmapWidget.prototype.saveChanges = function() {\n\tvar tiddler = this.wiki.getTiddler(this.editTitle) || new $tw.Tiddler({title: this.editTitle,type: DEFAULT_IMAGE_TYPE});\n\t// data URIs look like \"data:<type>;base64,<text>\"\n\tvar dataURL = this.canvasDomNode.toDataURL(tiddler.fields.type),\n\t\tposColon = dataURL.indexOf(\":\"),\n\t\tposSemiColon = dataURL.indexOf(\";\"),\n\t\tposComma = dataURL.indexOf(\",\"),\n\t\ttype = dataURL.substring(posColon+1,posSemiColon),\n\t\ttext = dataURL.substring(posComma+1);\n\tvar update = {type: type, text: text};\n\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getModificationFields(),tiddler,update,this.wiki.getCreationFields()));\n};\n\nexports[\"edit-bitmap\"] = EditBitmapWidget;\n"
  },
  {
    "path": "core/modules/widgets/edit-shortcut.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/edit-shortcut.js\ntype: application/javascript\nmodule-type: widget\n\nWidget to display an editable keyboard shortcut\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditShortcutWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditShortcutWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditShortcutWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.inputNode = this.document.createElement(\"input\");\n\t// Assign classes\n\tif(this.shortcutClass) {\n\t\tthis.inputNode.className = this.shortcutClass;\n\t}\n\t// Assign other attributes\n\tif(this.shortcutStyle) {\n\t\tthis.inputNode.setAttribute(\"style\",this.shortcutStyle);\n\t}\n\tif(this.shortcutTooltip) {\n\t\tthis.inputNode.setAttribute(\"title\",this.shortcutTooltip);\n\t}\n\tif(this.shortcutPlaceholder) {\n\t\tthis.inputNode.setAttribute(\"placeholder\",this.shortcutPlaceholder);\n\t}\n\tif(this.shortcutAriaLabel) {\n\t\tthis.inputNode.setAttribute(\"aria-label\",this.shortcutAriaLabel);\n\t}\n\tif(this.isDisabled === \"yes\") {\n\t\tthis.inputNode.setAttribute(\"disabled\", true);\n\t}\n\t// Assign the current shortcut\n\tthis.updateInputNode();\n\t// Add event handlers\n\t$tw.utils.addEventListeners(this.inputNode,[\n\t\t{name: \"keydown\", handlerObject: this, handlerMethod: \"handleKeydownEvent\"}\n\t]);\n\t// Link into the DOM\n\tparent.insertBefore(this.inputNode,nextSibling);\n\tthis.domNodes.push(this.inputNode);\n\t// Focus the input Node if focus === \"yes\" or focus === \"true\"\n\tif(this.shortcutFocus === \"yes\" || this.shortcutFocus === \"true\") {\n\t\tthis.focus();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nEditShortcutWidget.prototype.execute = function() {\n\tthis.shortcutTiddler = this.getAttribute(\"tiddler\");\n\tthis.shortcutField = this.getAttribute(\"field\");\n\tthis.shortcutIndex = this.getAttribute(\"index\");\n\tthis.shortcutPlaceholder = this.getAttribute(\"placeholder\");\n\tthis.shortcutDefault = this.getAttribute(\"default\",\"\");\n\tthis.shortcutClass = this.getAttribute(\"class\");\n\tthis.shortcutStyle = this.getAttribute(\"style\");\n\tthis.shortcutTooltip = this.getAttribute(\"tooltip\");\n\tthis.shortcutAriaLabel = this.getAttribute(\"aria-label\");\n\tthis.shortcutFocus = this.getAttribute(\"focus\");\n\tthis.isDisabled = this.getAttribute(\"disabled\", \"no\");\n};\n\n/*\nUpdate the value of the input node\n*/\nEditShortcutWidget.prototype.updateInputNode = function() {\n\tif(this.shortcutField) {\n\t\tvar tiddler = this.wiki.getTiddler(this.shortcutTiddler);\n\t\tif(tiddler && $tw.utils.hop(tiddler.fields,this.shortcutField)) {\n\t\t\tthis.inputNode.value = tiddler.getFieldString(this.shortcutField);\n\t\t} else {\n\t\t\tthis.inputNode.value = this.shortcutDefault;\n\t\t}\n\t} else if(this.shortcutIndex) {\n\t\tthis.inputNode.value = this.wiki.extractTiddlerDataItem(this.shortcutTiddler,this.shortcutIndex,this.shortcutDefault);\n\t} else {\n\t\tthis.inputNode.value = this.wiki.getTiddlerText(this.shortcutTiddler,this.shortcutDefault);\n\t}\n};\n\n/*\nHandle a dom \"keydown\" event\n*/\nEditShortcutWidget.prototype.handleKeydownEvent = function(event) {\n\t// Ignore shift, ctrl, meta, alt\n\tif(event.keyCode && $tw.keyboardManager.getModifierKeys().indexOf(event.keyCode) === -1) {\n\t\t// Get the shortcut text representation\n\t\tvar value = $tw.keyboardManager.getPrintableShortcuts([{\n\t\t\tctrlKey: event.ctrlKey,\n\t\t\tshiftKey: event.shiftKey,\n\t\t\taltKey: event.altKey,\n\t\t\tmetaKey: event.metaKey,\n\t\t\tkeyCode: event.keyCode\n\t\t}]);\n\t\tif(value.length > 0) {\n\t\t\tthis.wiki.setText(this.shortcutTiddler,this.shortcutField,this.shortcutIndex,value[0]);\n\t\t}\n\t\t// Ignore the keydown if it was already handled\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/*\nfocus the input node\n*/\nEditShortcutWidget.prototype.focus = function() {\n\tif(this.inputNode.focus && this.inputNode.select) {\n\t\tthis.inputNode.focus();\n\t\tthis.inputNode.select();\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget needed re-rendering\n*/\nEditShortcutWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.placeholder || changedAttributes[\"default\"] || changedAttributes[\"class\"] || changedAttributes.style || changedAttributes.tooltip || changedAttributes[\"aria-label\"] || changedAttributes.focus || changedAttributes.disabled) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else if(changedTiddlers[this.shortcutTiddler]) {\n\t\tthis.updateInputNode();\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\nexports[\"edit-shortcut\"] = EditShortcutWidget;\n"
  },
  {
    "path": "core/modules/widgets/edit-text.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/edit-text.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-text widget\n\n\\*/\n\n\"use strict\";\n\nvar editTextWidgetFactory = require(\"$:/core/modules/editor/factory.js\").editTextWidgetFactory,\n\tFramedEngine = require(\"$:/core/modules/editor/engines/framed.js\").FramedEngine,\n\tSimpleEngine = require(\"$:/core/modules/editor/engines/simple.js\").SimpleEngine;\n\nexports[\"edit-text\"] = editTextWidgetFactory(FramedEngine,SimpleEngine);\n"
  },
  {
    "path": "core/modules/widgets/edit.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/edit.js\ntype: application/javascript\nmodule-type: widget\n\nEdit widget is a meta-widget chooses the appropriate actual editting widget\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n// Mappings from content type to editor type are stored in tiddlers with this prefix\nvar EDITOR_MAPPING_PREFIX = \"$:/config/EditorTypeMappings/\";\n\n/*\nCompute the internal state of the widget\n*/\nEditWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.editField = this.getAttribute(\"field\",\"text\");\n\t// Choose the appropriate edit widget\n\tthis.editorType = this.getEditorType();\n\t// Make the child widgets\n\tthis.makeChildWidgets([{\n\t\ttype: \"edit-\" + this.editorType,\n\t\tattributes: this.parseTreeNode.attributes,\n\t\tchildren: this.parseTreeNode.children\n\t}]);\n};\n\nEditWidget.prototype.getEditorType = function() {\n\t// Get the content type of the thing we're editing\n\tvar type;\n\tif(this.editField === \"text\") {\n\t\tvar tiddler = this.wiki.getTiddler(this.editTitle);\n\t\tif(tiddler) {\n\t\t\ttype = tiddler.fields.type;\n\t\t}\n\t}\n\ttype = type || \"text/vnd.tiddlywiki\";\n\tvar editorType = this.wiki.getTiddlerText(EDITOR_MAPPING_PREFIX + type);\n\tif(!editorType) {\n\t\tvar typeInfo = $tw.config.contentTypeInfo[type];\n\t\tif(typeInfo && typeInfo.encoding === \"base64\") {\n\t\t\teditorType = \"binary\";\n\t\t} else {\n\t\t\teditorType = \"text\";\n\t\t}\n\t}\n\treturn editorType;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEditWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// Refresh if the editor type has changed\n\tif(changedAttributes.tiddler || changedAttributes.field || (this.getEditorType() !== this.editorType)) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.edit = EditWidget;\n"
  },
  {
    "path": "core/modules/widgets/element.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/element.js\ntype: application/javascript\nmodule-type: widget\n\nElement widget\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ElementWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nElementWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nElementWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\t// Neuter blacklisted elements\n\tthis.tag = this.parseTreeNode.tag;\n\tif($tw.config.htmlUnsafeElements.indexOf(this.tag) !== -1) {\n\t\tthis.tag = \"safe-\" + this.tag;\n\t}\n\t// Restrict tag name to digits, letts and dashes\n\tthis.tag = this.tag.replace(/[^0-9a-zA-Z\\-]/mg,\"\");\n\t// Default to a span\n\tthis.tag = this.tag || \"span\";\n\t// Adjust headings by the current base level\n\tvar headingLevel = [\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\"].indexOf(this.tag);\n\tif(headingLevel !== -1) {\n\t\tvar baseLevel = parseInt(this.getVariable(\"tv-adjust-heading-level\",\"0\"),10) || 0;\n\t\theadingLevel = Math.min(Math.max(headingLevel + 1 + baseLevel,1),6);\n\t\tthis.tag = \"h\" + headingLevel;\n\t}\n\t// Select the namespace for the tag\n\tvar XHTML_NAMESPACE = \"http://www.w3.org/1999/xhtml\",\n\t\ttagNamespaces = {\n\t\t\tsvg: \"http://www.w3.org/2000/svg\",\n\t\t\tmath: \"http://www.w3.org/1998/Math/MathML\",\n\t\t\tbody: XHTML_NAMESPACE\n\t\t};\n\tthis.namespace = tagNamespaces[this.tag];\n\tif(this.namespace) {\n\t\tthis.setVariable(\"namespace\",this.namespace);\n\t} else {\n\t\tif(this.hasAttribute(\"xmlns\")) {\n\t\t\tthis.namespace = this.getAttribute(\"xmlns\");\n\t\t\tthis.setVariable(\"namespace\",this.namespace);\n\t\t} else {\n\t\t\tthis.namespace = this.getVariable(\"namespace\",{defaultValue: XHTML_NAMESPACE});\n\t\t}\n\t}\n\t// Invoke the th-rendering-element hook\n\tvar parseTreeNodes = $tw.hooks.invokeHook(\"th-rendering-element\",null,this);\n\tthis.isReplaced = !!parseTreeNodes;\n\tif(parseTreeNodes) {\n\t\t// Use the parse tree nodes provided by the hook\n\t\tthis.makeChildWidgets(parseTreeNodes);\n\t\tthis.renderChildren(this.parentDomNode,null);\n\t\treturn;\n\t}\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n\t// Create the DOM node and render children\n\tvar domNode = this.document.createElementNS(this.namespace,this.tag);\n\tthis.assignAttributes(domNode,{excludeEventAttributes: true});\n\t// Allow hooks to manipulate the DOM node. Eg: Add debug info\n\t$tw.hooks.invokeHook(\"th-dom-rendering-element\", domNode, this);\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.domNodes.push(domNode);\n\tthis.renderChildren(domNode,null);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nElementWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\thasChangedAttributes = $tw.utils.count(changedAttributes) > 0;\n\tif(hasChangedAttributes) {\n\t\tif(!this.isReplaced) {\n\t\t\t// Update our attributes\n\t\t\tthis.assignAttributes(this.domNodes[0],{excludeEventAttributes: true});\n\t\t} else {\n\t\t\t// If we were replaced then completely refresh ourselves\n\t\t\treturn this.refreshSelf();\n\t\t}\n\t}\n\treturn this.refreshChildren(changedTiddlers) || hasChangedAttributes;\n};\n\nexports.element = ElementWidget;\n"
  },
  {
    "path": "core/modules/widgets/encrypt.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/encrypt.js\ntype: application/javascript\nmodule-type: widget\n\nEncrypt widget\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EncryptWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEncryptWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEncryptWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.encryptedText);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEncryptWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.filter = this.getAttribute(\"filter\",\"[!is[system]]\");\n\t// Encrypt the filtered tiddlers\n\tvar tiddlers = this.wiki.filterTiddlers(this.filter),\n\t\tjson = {},\n\t\tself = this;\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.wiki.getTiddler(title),\n\t\t\tjsonTiddler = {};\n\t\tfor(var f in tiddler.fields) {\n\t\t\tjsonTiddler[f] = tiddler.getFieldString(f);\n\t\t}\n\t\tjson[title] = jsonTiddler;\n\t});\n\tthis.encryptedText = $tw.utils.htmlEncode($tw.crypto.encrypt(JSON.stringify(json)));\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEncryptWidget.prototype.refresh = function(changedTiddlers) {\n\t// We don't need to worry about refreshing because the encrypt widget isn't for interactive use\n\treturn false;\n};\n\nexports.encrypt = EncryptWidget;\n"
  },
  {
    "path": "core/modules/widgets/entity.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/entity.js\ntype: application/javascript\nmodule-type: widget\n\nHTML entity widget\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EntityWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEntityWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEntityWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar entityString = this.getAttribute(\"entity\",this.parseTreeNode.entity || \"\"),\n\t\ttextNode = this.document.createTextNode($tw.utils.entityDecode(entityString));\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEntityWidget.prototype.execute = function() {\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEntityWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.entity) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\nexports.entity = EntityWidget;\n"
  },
  {
    "path": "core/modules/widgets/error.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/error.js\ntype: application/javascript\nmodule-type: widget\n\nError widget\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ErrorWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nErrorWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nErrorWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar message = this.getAttribute(\"$message\",\"Unknown error\"),\n\t\tdomNode = this.document.createElement(\"span\");\n\tdomNode.appendChild(this.document.createTextNode(message));\n\tdomNode.className = \"tc-error\";\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nErrorWidget.prototype.execute = function() {\n\t// Nothing to do for a text node\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nErrorWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$message\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\nexports.error = ErrorWidget;\n"
  },
  {
    "path": "core/modules/widgets/eventcatcher.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/eventcatcher.js\ntype: application/javascript\nmodule-type: widget\n\nEvent handler widget\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EventWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEventWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEventWidget.prototype.render = function(parent,nextSibling) {\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar tag = this.parseTreeNode.isBlock ? \"div\" : \"span\";\n\tif(this.elementTag && $tw.config.htmlUnsafeElements.indexOf(this.elementTag) === -1) {\n\t\ttag = this.elementTag;\n\t}\n\tvar domNode = this.document.createElement(tag);\n\tthis.domNode = domNode;\n\t// Assign classes\n\tthis.assignDomNodeClasses();\n\t// Add our event handlers\n\tthis.toggleListeners();\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.domNodes.push(domNode);\n\tthis.renderChildren(domNode,null);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEventWidget.prototype.execute = function() {\n\tvar self = this;\n\t// Get attributes that require a refresh on change\n\tthis.types = [];\n\t$tw.utils.each(this.attributes,function(value,key) {\n\t\tif(key.charAt(0) === \"$\") {\n\t\t\tself.types.push(key.slice(1));\n\t\t}\n\t});\n\tthis.pointerCaptureMode = this.getAttribute(\"pointerCapture\",\"no\");\n\tthis.elementTag = this.getAttribute(\"tag\");\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nCache and pre-create all event listeners, called when first needed\n*/\nEventWidget.prototype.cacheEventListeners = function() {\n\tif(this._eventListeners) {\n\t\treturn;\n\t}\n\tthis._eventListeners = Object.create(null);\n\tthis._captureActiveListeners = Object.create(null);\n\tthis._dynamicOnlyEvents = [\"pointerup\",\"pointercancel\",\"pointermove\"];\n\n\tconst clearPointerCapture = (event) => {\n\t\tif(Number.isInteger(this._capturePointerId)) {\n\t\t\tthis.stopPointerCapture(this._capturePointerId);\n\t\t}\n\t};\n\n\tconst attachDynamicOnlyListeners = () => {\n\t\tthis._dynamicOnlyEvents.forEach((dt) => {\n\t\t\tconst listener = this._eventListeners[dt];\n\t\t\tif(listener) {\n\t\t\t\tthis._captureActiveListeners[dt] = listener;\n\t\t\t\tthis.domNode.addEventListener(dt, listener, false);\n\t\t\t}\n\t\t});\n\t};\n\n\t// Dynamic pointer capture listeners\n\tif(this.pointerCaptureMode === \"dynamic\") {\n\t\t[\"pointerup\",\"pointercancel\"].forEach((type) => {\n\t\t\tthis._eventListeners[type] = (event) => {\n\t\t\t\tconst selectedNode = this.checkEvent(event, type);\n\t\t\t\tif(selectedNode) {\n\t\t\t\t\tclearPointerCapture(event);\n\t\t\t\t}\n\t\t\t\t// Remove dynamic-only listeners\n\t\t\t\tthis.cleanupDynamicListeners();\n\t\t\t\treturn this.handleEvent(event, type, selectedNode);\n\t\t\t};\n\t\t});\n\t\tif(!this.types.includes(\"pointerdown\")) {\n\t\t\tthis.types.push(\"pointerdown\");\n\t\t}\n\t}\n\n\t// Create any listeners not already defined above\n\tthis.types.forEach((type) => {\n\t\tif(!this._eventListeners[type]) {\n\t\t\tthis._eventListeners[type] = (event) => {\n\t\t\t\tconst selectedNode = this.checkEvent(event, type);\n\t\t\t\tif(!selectedNode) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\t// Handle pointer capture for pointerdown\n\t\t\t\tif(type === \"pointerdown\") {\n\t\t\t\t\tif(this.pointerCaptureMode !== \"no\") {\n\t\t\t\t\t\tthis.startPointerCapture(event.pointerId, event.target);\n\t\t\t\t\t}\n\n\t\t\t\t\tif(this.pointerCaptureMode === \"dynamic\") {\n\t\t\t\t\t\tattachDynamicOnlyListeners();\n\t\t\t\t\t}\n\t\t\t\t} else if(type === \"pointerup\" || type === \"pointercancel\") {\n\t\t\t\t\tclearPointerCapture(event);\n\t\t\t\t}\n\t\t\t\treturn this.handleEvent(event, type, selectedNode);\n\t\t\t};\n\t\t}\n\t});\n};\n\n/*\nCheck if an event qualifies and return the matching selected node\n*/\nEventWidget.prototype.checkEvent = function(event, type) {\n\tconst domNode = this.domNode;\n\tlet node = event.target;\n\n\t// Use capture target if valid\n\tif(this._captureTarget && event.pointerId !== undefined) {\n\t\tif(document.contains(this._captureTarget)) {\n\t\t\tnode = this._captureTarget;\n\t\t} else {\n\t\t\t// Clear stale reference\n\t\t\tthis.stopPointerCapture(this._capturePointerId);\n\t\t\tnode = event.target;\n\t\t}\n\t}\n\n\tif(node && node.nodeType === 3) {\n\t\tnode = node.parentNode;\n\t}\n\tif(!node || node.nodeType !== 1) {\n\t\treturn null;\n\t}\n\n\tconst selector = this.getAttribute(\"selector\"),\n\t\tmatchSelector = this.getAttribute(\"matchSelector\");\n\n\tif(matchSelector && !node.matches(matchSelector)) {\n\t\treturn null;\n\t}\n\tif(selector) {\n\t\tconst match = node.closest(selector);\n\t\tif(!match || match === domNode || !domNode.contains(match)) {\n\t\t\treturn null;\n\t\t}\n\t\treturn match;\n\t}\n\treturn node;\n};\n\n/*\nHandle the event and execute actions\n*/\nEventWidget.prototype.handleEvent = function(event, type, selectedNode) {\n\tif(!selectedNode) {\n\t\treturn false;\n\t}\n\tlet actions = this.getAttribute(\"$\"+type),\n\t\tstopPropagation = this.getAttribute(\"stopPropagation\",\"onaction\");\n\n\tif(actions) {\n\t\tlet variables = $tw.utils.extend(\n\t\t\t{},\n\t\t\t$tw.utils.collectDOMVariables(selectedNode, this.domNode, event),\n\t\t\t{\n\t\t\t\t\"eventJSON\": JSON.stringify($tw.utils.copyObjectPropertiesSafe(event)),\n\t\t\t\t\"modifier\": $tw.keyboardManager.getEventModifierKeyDescriptor(event),\n\t\t\t\t\"event-type\": event.type.toString()\n\t\t\t}\n\t\t);\n\n\t\tif(\"button\" in event) {\n\t\t\tconst mouseButtonMap = {0:\"left\",1:\"middle\",2:\"right\"};\n\t\t\tvariables[\"event-mousebutton\"] = mouseButtonMap[event.button];\n\t\t}\n\t\tthis.invokeActionString(actions, this, event, variables);\n\t}\n\n\tif((actions && stopPropagation === \"onaction\") || stopPropagation === \"always\") {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\treturn true;\n\t}\n\treturn false;\n};\n\nEventWidget.prototype.startPointerCapture = function(pointerId, captureTarget) {\n\t// Start capture only if none active; pointerId can be 0 \n\tif(!Number.isInteger(this._capturePointerId) && this.domNode && this.domNode.setPointerCapture) {\n\t\tthis.domNode.setPointerCapture(pointerId);\n\t\tthis._capturePointerId = pointerId;\n\t\tthis._captureTarget = captureTarget;\n\t}\n};\n\nEventWidget.prototype.stopPointerCapture = function(pointerId) {\n\tif(this.domNode && this.domNode.hasPointerCapture && this.domNode.hasPointerCapture(pointerId)) {\n\t\tthis.domNode.releasePointerCapture(pointerId);\n\t}\n\tthis._capturePointerId = undefined;\n\tthis._captureTarget = undefined;\n};\n\n/*\nAttach all relevant listeners\n*/\nEventWidget.prototype.attachListeners = function() {\n\tthis.cacheEventListeners();\n\tconst domNode = this.domNode;\n\tObject.keys(this._eventListeners).forEach((type) => {\n\t\tif(this.pointerCaptureMode === \"dynamic\" && this._dynamicOnlyEvents.includes(type)) {\n\t\t\treturn; //skip dynamic-only events\n\t\t}\n\t\tdomNode.addEventListener(type, this._eventListeners[type], false);\n\t});\n};\n\n/*\nRemove dynamic active listeners\n*/\nEventWidget.prototype.cleanupDynamicListeners = function() {\n\tconst domNode = this.domNode;\n\tObject.keys(this._captureActiveListeners || {}).forEach((type) => {\n\t\tdomNode.removeEventListener(type, this._captureActiveListeners[type], false);\n\t});\n\tthis._captureActiveListeners = Object.create(null);\n};\n\n/*\nRemove all listeners\n*/\nEventWidget.prototype.removeAllListeners = function() {\n\tif(Number.isInteger(this._capturePointerId)) {\n\t\tthis.stopPointerCapture(this._capturePointerId);\n\t}\n\tconst domNode = this.domNode;\n\tObject.keys(this._eventListeners || {}).forEach((type) => {\n\t\tdomNode.removeEventListener(type, this._eventListeners[type], false);\n\t});\n\tthis.cleanupDynamicListeners();\n\tthis._captureTarget = null;\n};\n\n/*\nEnable or disable listeners\n*/\nEventWidget.prototype.toggleListeners = function() {\n\tlet disabled = this.getAttribute(\"disabled\",\"no\") === \"yes\";\n\tif(disabled) {\n\t\tthis.removeAllListeners();\n\t} else {\n\t\tthis.attachListeners();\n\t}\n};\n\n/*\nAssign DOM node classes\n*/\nEventWidget.prototype.assignDomNodeClasses = function() {\n\tvar classes = this.getAttribute(\"class\",\"\").split(\" \");\n\tclasses.push(\"tc-eventcatcher\");\n\tthis.domNode.className = classes.join(\" \").trim();\n};\n\n/*\nRefresh widget\n*/\nEventWidget.prototype.refresh = function(changedTiddlers) {\n\tconst changedAttributes = this.computeAttributes(),\n\t\tchangedKeys = Object.keys(changedAttributes),\n\t\tcanUpdateAttributes = changedKeys.every((key) => key === \"class\" || key === \"disabled\");\n\tif(canUpdateAttributes) {\n\t\tif(changedAttributes[\"class\"]) {\n\t\t\tthis.assignDomNodeClasses();\n\t\t}\n\t\tif(changedAttributes[\"disabled\"]) {\n\t\t\tthis.toggleListeners();\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n\tthis.refreshSelf();\n\treturn true;\n};\n\nexports.eventcatcher = EventWidget;\n"
  },
  {
    "path": "core/modules/widgets/fieldmangler.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/fieldmangler.js\ntype: application/javascript\nmodule-type: widget\n\nField mangler widget\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar FieldManglerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nFieldManglerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nFieldManglerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.addEventListeners([\n\t\t{type: \"tm-remove-field\", handler: \"handleRemoveFieldEvent\"},\n\t\t{type: \"tm-add-field\", handler: \"handleAddFieldEvent\"},\n\t\t{type: \"tm-remove-tag\", handler: \"handleRemoveTagEvent\"},\n\t\t{type: \"tm-add-tag\", handler: \"handleAddTagEvent\"}\n\t]);\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nFieldManglerWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.mangleTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nFieldManglerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nFieldManglerWidget.prototype.handleRemoveFieldEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\n\t\tdeletion = {};\n\tdeletion[event.param] = undefined;\n\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,deletion));\n\treturn false;\n};\n\nFieldManglerWidget.prototype.handleAddFieldEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\n\t\taddition = this.wiki.getModificationFields(),\n\t\taddField = function(name,value) {\n\t\t\tvar trimmedName = name.trim();\n\t\t\tif(!value && tiddler) {\n\t\t\t\tvalue = tiddler.fields[trimmedName];\n\t\t\t}\n\t\t\taddition[trimmedName] = value || \"\";\n\t\t\treturn;\n\t\t};\n\taddition.title = this.mangleTitle;\n\tif(typeof event.param === \"string\") {\n\t\taddField(event.param,\"\");\n\t}\n\tif(typeof event.paramObject === \"object\") {\n\t\tfor(var name in event.paramObject) {\n\t\t\taddField(name,event.paramObject[name]);\n\t\t}\n\t}\n\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,addition));\n\treturn false;\n};\n\nFieldManglerWidget.prototype.handleRemoveTagEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\n\t\tmodification = this.wiki.getModificationFields();\n\tif(tiddler && tiddler.fields.tags) {\n\t\tvar p = tiddler.fields.tags.indexOf(event.param);\n\t\tif(p !== -1) {\n\t\t\tmodification.tags = (tiddler.fields.tags || []).slice(0);\n\t\t\tmodification.tags.splice(p,1);\n\t\t\tif(modification.tags.length === 0) {\n\t\t\t\tmodification.tags = undefined;\n\t\t\t}\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,modification));\n\t\t}\n\t}\n\treturn false;\n};\n\nFieldManglerWidget.prototype.handleAddTagEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\n\t\tmodification = this.wiki.getModificationFields();\n\tif(tiddler && typeof event.param === \"string\") {\n\t\tvar tag = event.param.trim();\n\t\tif(tag !== \"\") {\n\t\t\tmodification.tags = (tiddler.fields.tags || []).slice(0);\n\t\t\t$tw.utils.pushTop(modification.tags,tag);\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,modification));\n\t\t}\n\t} else if(typeof event.param === \"string\" && event.param.trim() !== \"\" && this.mangleTitle.trim() !== \"\") {\n\t\tvar tag = [];\n\t\ttag.push(event.param.trim());\n\t\tthis.wiki.addTiddler(new $tw.Tiddler({title: this.mangleTitle, tags: tag},modification));\n\t}\n\treturn false;\n};\n\nexports.fieldmangler = FieldManglerWidget;\n"
  },
  {
    "path": "core/modules/widgets/fields.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/fields.js\ntype: application/javascript\nmodule-type: widget\n\nFields widget\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar FieldsWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nFieldsWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nFieldsWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.text);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nFieldsWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.tiddlerTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.template = this.getAttribute(\"template\");\n\tthis.sort = this.getAttribute(\"sort\",\"yes\") === \"yes\";\n\tthis.sortReverse = this.getAttribute(\"sortReverse\",\"no\") === \"yes\";\n\tthis.exclude = this.getAttribute(\"exclude\");\n\tthis.include = this.getAttribute(\"include\",null);\n\tthis.stripTitlePrefix = this.getAttribute(\"stripTitlePrefix\",\"no\") === \"yes\";\n\t// Get the value to display\n\tvar tiddler = this.wiki.getTiddler(this.tiddlerTitle);\n\n\t// Get the inclusion and exclusion list\n\tvar excludeArr = (this.exclude) ? this.exclude.split(\" \") : [\"text\"];\n\t// Include takes precedence\n\tvar includeArr = (this.include) ? this.include.split(\" \") : null;\n\n\t// Compose the template\n\tvar text = [];\n\tif(this.template && tiddler) {\n\t\tvar fields = [];\n\t\tif(includeArr) { // Include takes precedence\n\t\t\tfor(var i=0; i<includeArr.length; i++) {\n\t\t\t\tif(tiddler.fields[includeArr[i]]) {\n\t\t\t\t\tfields.push(includeArr[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor(var fieldName in tiddler.fields) {\n\t\t\t\tif(excludeArr.indexOf(fieldName) === -1) {\n\t\t\t\t\tfields.push(fieldName);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif(this.sort) fields.sort();\n\t\tif(this.sortReverse) fields.reverse();\n\t\tfor(var f=0, fmax=fields.length; f<fmax; f++) {\n\t\t\tfieldName = fields[f];\n\t\t\tvar row = this.template,\n\t\t\t\tvalue = tiddler.getFieldString(fieldName);\n\t\t\tif(this.stripTitlePrefix && fieldName === \"title\") {\n\t\t\t\tvar reStrip = /^\\{[^\\}]+\\}(.+)/mg,\n\t\t\t\t\treMatch = reStrip.exec(value);\n\t\t\t\tif(reMatch) {\n\t\t\t\t\tvalue = reMatch[1];\n\t\t\t\t}\n\t\t\t}\n\t\t\trow = $tw.utils.replaceString(row,\"$name$\",fieldName);\n\t\t\trow = $tw.utils.replaceString(row,\"$value$\",value);\n\t\t\trow = $tw.utils.replaceString(row,\"$encoded_value$\",$tw.utils.htmlEncode(value));\n\t\t\ttext.push(row);\n\t\t}\n\t}\n\tthis.text = text.join(\"\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nFieldsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif( changedAttributes.tiddler || changedAttributes.template || changedAttributes.exclude ||\n\t\tchangedAttributes.include || changedAttributes.sort || changedAttributes.sortReverse ||\n\t\tchangedTiddlers[this.tiddlerTitle] || changedAttributes.stripTitlePrefix) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\nexports.fields = FieldsWidget;\n"
  },
  {
    "path": "core/modules/widgets/fill.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/fill.js\ntype: application/javascript\nmodule-type: widget\n\nSub-widget used by the transclude widget for specifying values for slots within transcluded content. It doesn't do anything by itself because the transclude widget only ever deals with the parse tree nodes, and doesn't instantiate the widget itself\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar FillWidget = function(parseTreeNode,options) {\n\t// Initialise\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nFillWidget.prototype = new Widget();\n\nFillWidget.prototype.execute = function() {\n\t// Do nothing. Make no child widgets. $Fill widgets should be invisible when naturally encountered. Instead, their parseTreeNodes are made available to $slot widgets that want it.\n};\n\nexports.fill = FillWidget;\n"
  },
  {
    "path": "core/modules/widgets/genesis.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/genesis.js\ntype: application/javascript\nmodule-type: widget\n\nGenesis widget for dynamically creating widgets\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar GenesisWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nGenesisWidget.prototype = new Widget();\n\nGenesisWidget.prototype.computeAttributes = function(options) {\n\toptions = options || Object.create(null);\n\toptions.filterFn = function(name) {\n\t\t// Only compute our own attributes which start with a single dollar\n\t\treturn name.charAt(0) === \"$\" && name.charAt(1) !== \"$\";\n\t};\n\treturn Widget.prototype.computeAttributes.call(this,options);\n};\n\n/*\nRender this widget into the DOM\n*/\nGenesisWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nGenesisWidget.prototype.execute = function() {\n\tvar self = this;\n\t// Collect attributes\n\tthis.genesisType = this.getAttribute(\"$type\");\n\tthis.genesisRemappable = this.getAttribute(\"$remappable\",\"yes\") === \"yes\";\n\tthis.genesisNames = this.getAttribute(\"$names\",\"\");\n\tthis.genesisValues = this.getAttribute(\"$values\",\"\");\n\tthis.genesisIsBlock = this.getAttribute(\"$mode\",this.parseTreeNode.isBlock && \"block\") === \"block\";\n\t// Do not create a child widget if the $type attribute is missing or blank\n\tif(!this.genesisType) {\n\t\tthis.makeChildWidgets(this.parseTreeNode.children);\n\t\treturn;\n\t}\n\t// Construct parse tree\n\tvar isElementWidget = this.genesisType.charAt(0) !== \"$\",\n\t\tnodeType = isElementWidget ? \"element\" : this.genesisType.substr(1),\n\t\tnodeTag = isElementWidget ? this.genesisType : undefined;\n\tvar parseTreeNodes = [{\n\t\ttype: nodeType,\n\t\ttag: nodeTag,\n\t\tattributes: {},\n\t\torderedAttributes: [],\n\t\tisBlock: this.genesisIsBlock,\n\t\tchildren: this.parseTreeNode.children || [],\n\t\tisNotRemappable: !this.genesisRemappable\n\t}];\n\t// Apply attributes in $names/$values\n\tthis.attributeNames = [];\n\tthis.attributeValues = [];\n\tif(this.genesisNames && this.genesisValues) {\n\t\tthis.attributeNames = this.wiki.filterTiddlers(self.genesisNames,this);\n\t\tthis.attributeValues = this.wiki.filterTiddlers(self.genesisValues,this);\n\t\t$tw.utils.each(this.attributeNames,function(varname,index) {\n\t\t\t$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],varname,self.attributeValues[index] || \"\");\n\t\t});\n\t}\n\t// Apply explicit attributes\n\t$tw.utils.each($tw.utils.getOrderedAttributesFromParseTreeNode(this.parseTreeNode),function(attribute) {\n\t\tvar name = attribute.name;\n\t\tif(name.charAt(0) === \"$\") {\n\t\t\tif(name.charAt(1) === \"$\") {\n\t\t\t\t// Double $$ is changed to a single $\n\t\t\t\tname = name.substr(1);\n\t\t\t} else {\n\t\t\t\t// Single dollar is ignored\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],$tw.utils.extend({},attribute,{name: name}));\n\t});\n\t// Construct the child widgets\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nGenesisWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\tfilterNames = this.getAttribute(\"$names\",\"\"),\n\t\tfilterValues = this.getAttribute(\"$values\",\"\"),\n\t\tattributeNames = this.wiki.filterTiddlers(filterNames,this),\n\t\tattributeValues = this.wiki.filterTiddlers(filterValues,this);\n\tif($tw.utils.count(changedAttributes) > 0 || !$tw.utils.isArrayEqual(this.attributeNames,attributeNames) || !$tw.utils.isArrayEqual(this.attributeValues,attributeValues)) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.genesis = GenesisWidget;\n"
  },
  {
    "path": "core/modules/widgets/image.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/image.js\ntype: application/javascript\nmodule-type: widget\n\nThe image widget displays an image referenced with an external URI or with a local tiddler title.\n\n```\n<$image src=\"TiddlerTitle\" width=\"320\" height=\"400\" class=\"classnames\">\n```\n\nThe image source can be the title of an existing tiddler or the URL of an external image.\n\nExternal images always generate an HTML `<img>` tag.\n\nTiddlers that have a _canonical_uri field generate an HTML `<img>` tag with the src attribute containing the URI.\n\nTiddlers that contain image data generate an HTML `<img>` tag with the src attribute containing a base64 representation of the image.\n\nTiddlers that contain wikitext could be rendered to a DIV of the usual size of a tiddler, and then transformed to the size requested.\n\nThe width and height attributes are interpreted as a number of pixels, and do not need to include the \"px\" suffix.\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ImageWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nImageWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nImageWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\t// Determine what type of image it is\n\tvar tag = \"img\", src = \"\", self = this,\n\t\ttiddler = this.wiki.getTiddler(this.imageSource);\n\tif(!tiddler) {\n\t\t// The source isn't the title of a tiddler, so we'll assume it's a URL\n\t\tsrc = this.getVariable(\"tv-get-export-image-link\",{params: [{name: \"src\",value: this.imageSource}],defaultValue: this.imageSource});\n\t} else {\n\t\t// Check if it is an image tiddler\n\t\tif(this.wiki.isImageTiddler(this.imageSource)) {\n\t\t\tvar type = tiddler.fields.type,\n\t\t\t\ttext = tiddler.fields.text,\n\t\t\t\t_canonical_uri = tiddler.fields._canonical_uri,\n\t\t\t\ttypeInfo = $tw.config.contentTypeInfo[type] || {},\n\t\t\t\tdeserializerType = typeInfo.deserializerType || type;\n\t\t\t// If the tiddler has body text then it doesn't need to be lazily loaded\n\t\t\tif(text) {\n\t\t\t\t// Render the appropriate element for the image type by looking up the encoding in the content type info\n\t\t\t\tvar encoding = typeInfo.encoding || \"utf8\";\n\t\t\t\tif(encoding === \"base64\") {\n\t\t\t\t\t// .pdf .png .jpg etc.\n\t\t\t\t\tsrc = \"data:\" + deserializerType + \";base64,\" + text;\n\t\t\t\t\tif(deserializerType === \"application/pdf\") {\n\t\t\t\t\t\ttag = \"embed\";\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// .svg .tid .xml etc.\n\t\t\t\t\tsrc = \"data:\" + deserializerType + \",\" + encodeURIComponent(text);\n\t\t\t\t}\n\t\t\t} else if(_canonical_uri) {\n\t\t\t\tswitch(deserializerType) {\n\t\t\t\t\tcase \"application/pdf\":\n\t\t\t\t\t\ttag = \"embed\";\n\t\t\t\t\t\tsrc = _canonical_uri;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"image/svg+xml\":\n\t\t\t\t\t\tsrc = _canonical_uri;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tsrc = _canonical_uri;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Just trigger loading of the tiddler\n\t\t\t\tthis.wiki.getTiddlerText(this.imageSource);\n\t\t\t}\n\t\t}\n\t}\n\t// Create the element and assign the attributes\n\tvar domNode = this.document.createElement(tag);\n\tdomNode.setAttribute(\"src\",src);\n\tif(this.imageClass) {\n\t\tdomNode.setAttribute(\"class\",this.imageClass);\n\t}\n\tif(this.imageUsemap) {\n\t\tdomNode.setAttribute(\"usemap\",this.imageUsemap);\n\t}\n\tif(this.imageWidth) {\n\t\tdomNode.setAttribute(\"width\",this.imageWidth);\n\t}\n\tif(this.imageHeight) {\n\t\tdomNode.setAttribute(\"height\",this.imageHeight);\n\t}\n\tif(this.imageTooltip) {\n\t\tdomNode.setAttribute(\"title\",this.imageTooltip);\n\t}\n\tif(this.imageAlt) {\n\t\tdomNode.setAttribute(\"alt\",this.imageAlt);\n\t}\n\tif(this.lazyLoading && tag === \"img\") {\n\t\tdomNode.setAttribute(\"loading\",this.lazyLoading);\n\t}\n\tthis.assignAttributes(domNode,{\n\t\tsourcePrefix: \"data-\",\n\t\tdestPrefix: \"data-\"\n\t});\n\t// Add classes when the image loads or fails\n\t$tw.utils.addClass(domNode,\"tc-image-loading\");\n\tdomNode.addEventListener(\"load\",function(event) {\n\t\t$tw.utils.removeClass(domNode,\"tc-image-loading\");\n\t\t$tw.utils.addClass(domNode,\"tc-image-loaded\");\n\t\tif(self.loadedActions) {\n\t\t\tvar variables = $tw.utils.collectDOMVariables(domNode,null,event);\n\t\t\tvariables[\"img-natural-width\"] = domNode.naturalWidth.toString();\n\t\t\tvariables[\"img-natural-height\"] = domNode.naturalHeight.toString();\n\t\t\tself.invokeActionString(self.loadedActions,self,event,variables);\t\t\n\t\t}\n\t},false);\n\tdomNode.addEventListener(\"error\",function() {\n\t\t$tw.utils.removeClass(domNode,\"tc-image-loading\");\n\t\t$tw.utils.addClass(domNode,\"tc-image-error\");\n\t},false);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nImageWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.imageSource = this.getAttribute(\"source\");\n\tthis.imageWidth = this.getAttribute(\"width\");\n\tthis.imageHeight = this.getAttribute(\"height\");\n\tthis.imageClass = this.getAttribute(\"class\");\n\tthis.imageUsemap = this.getAttribute(\"usemap\");\n\tthis.imageTooltip = this.getAttribute(\"tooltip\");\n\tthis.imageAlt = this.getAttribute(\"alt\");\n\tthis.lazyLoading = this.getAttribute(\"loading\");\n\tthis.loadedActions = this.getAttribute(\"loadActions\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nImageWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\thasChangedAttributes = $tw.utils.count(changedAttributes) > 0;\n\tif(changedAttributes.source || changedAttributes[\"class\"] || changedAttributes.usemap || changedAttributes.tooltip || changedTiddlers[this.imageSource] ||changedAttributes.loadActions) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else if(hasChangedAttributes) {\n\t\tthis.assignAttributes(this.domNodes[0],{\n\t\t\tsourcePrefix: \"data-\",\n\t\t\tdestPrefix: \"data-\"\n\t\t});\n\t\tif(changedAttributes.width) {\n\t\t\tthis.domNodes[0].setAttribute(\"width\",this.getAttribute(\"width\"));\n\t\t}\n\t\tif(changedAttributes.height) {\n\t\t\tthis.domNodes[0].setAttribute(\"height\",this.getAttribute(\"height\"));\n\t\t}\n\t}\n\telse {\n\t\treturn false;\n\t}\n};\n\nexports.image = ImageWidget;\n"
  },
  {
    "path": "core/modules/widgets/importvariables.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/importvariables.js\ntype: application/javascript\nmodule-type: widget\n\nImport variable definitions from other tiddlers\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ImportVariablesWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nImportVariablesWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nImportVariablesWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nImportVariablesWidget.prototype.execute = function(tiddlerList) {\n\tvar widgetPointer = this;\n\t// Got to flush all the accumulated variables\n\tthis.variables = Object.create(null);\n\tif(this.parentWidget) {\n\t\tObject.setPrototypeOf(this.variables,this.parentWidget.variables);\n\t}\n\t// Get our parameters\n\tthis.filter = this.getAttribute(\"filter\");\n\t// Compute the filter\n\tthis.tiddlerList = tiddlerList || this.wiki.filterTiddlers(this.filter,this);\n\t// Accumulate the <$set> widgets from each tiddler\n\t$tw.utils.each(this.tiddlerList,function(title) {\n\t\tvar parser = widgetPointer.wiki.parseTiddler(title,{parseAsInline:true, configTrimWhiteSpace:false});\n\t\tif(parser) {\n\t\t\tvar parseTreeNode = parser.tree[0];\n\t\t\t// process AST nodes generated by pragma rules.\n\t\t\twhile(parseTreeNode && [\"setvariable\",\"set\",\"parameters\",\"void\"].indexOf(parseTreeNode.type) !== -1) {\n\t\t\t\tvar node = {\n\t\t\t\t\ttype: \"set\",\n\t\t\t\t\tattributes: parseTreeNode.attributes,\n\t\t\t\t\tparams: parseTreeNode.params,\n\t\t\t\t\tisMacroDefinition: parseTreeNode.isMacroDefinition,\n\t\t\t\t\tisFunctionDefinition: parseTreeNode.isFunctionDefinition,\n\t\t\t\t\tisProcedureDefinition: parseTreeNode.isProcedureDefinition,\n\t\t\t\t\tisWidgetDefinition: parseTreeNode.isWidgetDefinition,\n\t\t\t\t\tconfigTrimWhiteSpace: parseTreeNode.configTrimWhiteSpace\n\t\t\t\t};\n\t\t\t\tif(parseTreeNode.type === \"set\" || parseTreeNode.type === \"setvariable\") {\n\t\t\t\t\tif(parseTreeNode.isMacroDefinition || parseTreeNode.isProcedureDefinition || parseTreeNode.isWidgetDefinition || parseTreeNode.isFunctionDefinition) {\n\t\t\t\t\t\t// Macro definitions can be folded into\n\t\t\t\t\t\t// current widget instead of adding\n\t\t\t\t\t\t// another link to the chain.\n\t\t\t\t\t\tvar widget = widgetPointer.makeChildWidget(node);\n\t\t\t\t\t\twidget.computeAttributes();\n\t\t\t\t\t\twidget.execute();\n\t\t\t\t\t\t// We SHALLOW copy over all variables\n\t\t\t\t\t\t// in widget. We can't use\n\t\t\t\t\t\t// $tw.utils.assign, because that copies\n\t\t\t\t\t\t// up the prototype chain, which we\n\t\t\t\t\t\t// don't want.\n\t\t\t\t\t\t$tw.utils.each(Object.keys(widget.variables), function(key) {\n\t\t\t\t\t\t\twidgetPointer.variables[key] = widget.variables[key];\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\twidgetPointer.children = [widgetPointer.makeChildWidget(node)];\n\t\t\t\t\t\t// No more regenerating children for\n\t\t\t\t\t\t// this widget. If it needs to refresh,\n\t\t\t\t\t\t// it'll do so along with the the whole\n\t\t\t\t\t\t// importvariable tree.\n\t\t\t\t\t\tif(widgetPointer != this) {\n\t\t\t\t\t\t\twidgetPointer.makeChildWidgets = function(){};\n\t\t\t\t\t\t}\n\t\t\t\t\t\twidgetPointer = widgetPointer.children[0];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tparseTreeNode = parseTreeNode.children && parseTreeNode.children[0];\n\t\t\t}\n\t\t} \n\t});\n\n\tif(widgetPointer != this) {\n\t\twidgetPointer.parseTreeNode.children = this.parseTreeNode.children;\n\t} else {\n\t\twidgetPointer.makeChildWidgets();\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nImportVariablesWidget.prototype.refresh = function(changedTiddlers) {\n\t// Recompute our attributes and the filter list\n\tvar changedAttributes = this.computeAttributes(),\n\t\ttiddlerList = this.wiki.filterTiddlers(this.getAttribute(\"filter\"),this);\n\t// Refresh if the filter has changed, or the list of tiddlers has changed, or any of the tiddlers in the list has changed\n\tfunction haveListedTiddlersChanged() {\n\t\tvar changed = false;\n\t\ttiddlerList.forEach(function(title) {\n\t\t\tif(changedTiddlers[title]) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t});\n\t\treturn changed;\n\t}\n\tif(changedAttributes.filter || !$tw.utils.isArrayEqual(this.tiddlerList,tiddlerList) || haveListedTiddlersChanged()) {\n\t\t// Compute the filter\n\t\tthis.removeChildDomNodes();\n\t\tthis.execute(tiddlerList);\n\t\tthis.renderChildren(this.parentDomNode,this.findNextSiblingDomNode());\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.importvariables = ImportVariablesWidget;\n"
  },
  {
    "path": "core/modules/widgets/jsontiddler.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/jsontiddler.js\ntype: application/javascript\nmodule-type: widget\n\nRender a tiddler as JSON text\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar JSONTiddlerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nJSONTiddlerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nJSONTiddlerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Collect the fields from the optional base tiddler\n\tvar fields = this.getTiddlerFields();\n\t// Add custom fields specified in attributes starting with $\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) === \"$\") {\n\t\t\tfields[name.slice(1)] = attribute;\n\t\t}\n\t});\n\t// JSONify\n\tvar json = JSON.stringify(fields);\n\t// Escape unsafe script characters\n\tif(this.attEscapeUnsafeScriptChars) {\n\t\tjson = json.replace(/</g,\"\\\\u003C\");\n\t}\n\t// Update the DOM\n\tvar textNode = this.document.createTextNode(json);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nJSONTiddlerWidget.prototype.execute = function() {\n\tthis.attTiddler = this.getAttribute(\"tiddler\");\n\tthis.attExclude = this.getAttribute(\"exclude\",\"\");\n\tthis.attEscapeUnsafeScriptChars = this.getAttribute(\"escapeUnsafeScriptChars\",\"no\") === \"yes\";\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nJSONTiddlerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0 || (this.attTiddler && changedTiddlers[this.attTiddler])) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\nJSONTiddlerWidget.prototype.getTiddlerFields = function() {\n\tvar fields = {};\n\tif(this.attTiddler) {\n\t\tvar tiddler = this.wiki.getTiddler(this.attTiddler);\n\t\tif(tiddler) {\n\t\t\tfields = tiddler.getFieldStrings({exclude: this.attExclude.split(\" \")});\n\t\t} else {\n\t\t\tfields = {title: this.attTiddler};\n\t\t}\n\t}\n\treturn fields;\n};\n\nexports.jsontiddler = JSONTiddlerWidget;\n"
  },
  {
    "path": "core/modules/widgets/keyboard.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/keyboard.js\ntype: application/javascript\nmodule-type: widget\n\nKeyboard shortcut widget\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar KeyboardWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nKeyboardWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nKeyboardWidget.prototype.render = function(parent,nextSibling) {\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar tag = this.parseTreeNode.isBlock ? \"div\" : \"span\";\n\tif(this.tag && $tw.config.htmlUnsafeElements.indexOf(this.tag) === -1) {\n\t\ttag = this.tag;\n\t}\n\t// Create element\n\tvar domNode = this.document.createElement(tag);\n\t// Assign classes\n\tthis.domNode = domNode;\n\tthis.assignDomNodeClasses();\n\t// Add a keyboard event handler\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"keydown\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.domNodes.push(domNode);\n\tthis.renderChildren(domNode,null);\n};\n\nKeyboardWidget.prototype.handleChangeEvent = function(event) {\n\tif($tw.keyboardManager.handleKeydownEvent(event, {onlyPriority: true})) {\n\t\treturn true;\n\t}\n\n\tvar keyInfo = $tw.keyboardManager.getMatchingKeyDescriptor(event,this.keyInfoArray);\n\tif(keyInfo) {\n\t\tvar handled = this.invokeActions(this,event);\n\t\tif(this.actions) {\n\t\t\tvar variables = {\n\t\t\t\t\"event-key\": event.key,\n\t\t\t\t\"event-code\": event.code,\n\t\t\t\t\"modifier\": $tw.keyboardManager.getEventModifierKeyDescriptor(event)\n\t\t\t};\n\t\t\tif(keyInfo.keyDescriptor) {\n\t\t\t\tvariables[\"event-key-descriptor\"] = keyInfo.keyDescriptor;\n\t\t\t}\n\t\t\tthis.invokeActionString(this.actions,this,event,variables);\n\t\t}\n\t\tthis.dispatchMessage(event);\n\t\tif(handled || this.actions || this.message) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t}\n\t\treturn true;\n\t}\n\treturn false;\n};\n\nKeyboardWidget.prototype.dispatchMessage = function(event) {\n\tthis.dispatchEvent({type: this.message, param: this.param, tiddlerTitle: this.getVariable(\"currentTiddler\")});\n};\n\n/*\nCompute the internal state of the widget\n*/\nKeyboardWidget.prototype.execute = function() {\n\tvar self = this;\n\t// Get attributes\n\tthis.actions = this.getAttribute(\"actions\",\"\");\n\tthis.message = this.getAttribute(\"message\",\"\");\n\tthis.param = this.getAttribute(\"param\",\"\");\n\tthis.key = this.getAttribute(\"key\",\"\");\n\tthis.tag = this.getAttribute(\"tag\",\"\");\n\tif($tw.keyboardManager) {\n\t\tthis.keyInfoArray = $tw.keyboardManager.parseKeyDescriptors(this.key);\n\t\tif(this.key.substr(0,2) === \"((\" && this.key.substr(-2,2) === \"))\") {\n\t\t\tthis.shortcutTiddlers = [];\n\t\t\tvar name = this.key.substring(2,this.key.length -2);\n\t\t\t$tw.utils.each($tw.keyboardManager.lookupNames,function(platformDescriptor) {\n\t\t\t\tself.shortcutTiddlers.push(\"$:/config/\" + platformDescriptor + \"/\" + name);\n\t\t\t});\n\t\t}\t\n\t}\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\nKeyboardWidget.prototype.assignDomNodeClasses = function() {\n\tvar classes = this.getAttribute(\"class\",\"\").split(\" \");\n\tclasses.push(\"tc-keyboard\");\n\tthis.domNode.className = classes.join(\" \").trim();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nKeyboardWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.message || changedAttributes.param || changedAttributes.key || changedAttributes.tag) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else if(changedAttributes[\"class\"]) {\n\t\tthis.assignDomNodeClasses();\n\t}\n\t// Update the keyInfoArray if one of its shortcut-config-tiddlers has changed\n\tif(this.shortcutTiddlers && $tw.utils.hopArray(changedTiddlers,this.shortcutTiddlers) && $tw.keyboardManager) {\n\t\tthis.keyInfoArray = $tw.keyboardManager.parseKeyDescriptors(this.key);\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.keyboard = KeyboardWidget;\n"
  },
  {
    "path": "core/modules/widgets/let.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/let.js\ntype: application/javascript\nmodule-type: widget\n\nThis widget allows defining multiple variables at once, while allowing\nthe later variables to depend upon the earlier ones.\n\n```\n<$let currentTiddler=\"target\" value={{!!value}} currentTiddler=\"different\">\n  {{!!value}} will be different from <<value>>\n</$let>\n```\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar LetWidget = function(parseTreeNode,options) {\n\t// Initialise\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nLetWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nLetWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\nLetWidget.prototype.computeAttributes = function() {\n\t// Before computing attributes, we must make clear that none of the\n\t// existing attributes are staged for lookup, even on a refresh\n\tvar changedAttributes = {},\n\t\tself = this;\n\tthis.currentValueFor = Object.create(null);\n\t$tw.utils.each($tw.utils.getOrderedAttributesFromParseTreeNode(this.parseTreeNode),function(attribute) {\n\t\tvar value = self.computeAttribute(attribute,{asList: true}),\n\t\t\tname = attribute.name;\n\t\t// Now that it's prepped, we're allowed to look this variable up\n\t\t// when defining later variables\n\t\tif(value !== undefined) {\n\t\t\tself.currentValueFor[name] = value;\n\t\t}\n\t});\n\t// Run through again, setting variables and looking for differences\n\t$tw.utils.each(this.currentValueFor,function(value,name) {\n\t\tif(self.attributes[name] === undefined || !$tw.utils.isArrayEqual(self.attributes[name],value)) {\n\t\t\tself.attributes[name] = value;\n\t\t\tself.setVariable(name,value);\n\t\t\tchangedAttributes[name] = true;\n\t\t}\n\t});\n\treturn changedAttributes;\n};\n\nLetWidget.prototype.getVariableInfo = function(name,options) {\n\t// Special handling: If this variable exists in this very $let, we can\n\t// use it, but only if it's been staged.\n\tif($tw.utils.hop(this.currentValueFor,name)) {\n\t\tvar value = this.currentValueFor[name];\n\t\treturn {\n\t\t\ttext: value[0] || \"\",\n\t\t\tresultList: value\n\t\t};\n\t}\n\treturn Widget.prototype.getVariableInfo.call(this,name,options);\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nLetWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports[\"let\"] = LetWidget;\n"
  },
  {
    "path": "core/modules/widgets/link.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/link.js\ntype: application/javascript\nmodule-type: widget\n\nLink widget\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar LinkWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nLinkWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nLinkWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Get the value of the tv-wikilinks configuration macro\n\tvar wikiLinksMacro = this.getVariable(\"tv-wikilinks\"),\n\t\tuseWikiLinks = wikiLinksMacro ? (wikiLinksMacro.trim() !== \"no\") : true,\n\t\tmissingLinksEnabled = !(this.hideMissingLinks && this.isMissing && !this.isShadow);\n\t// Render the link if required\n\tif(useWikiLinks && missingLinksEnabled) {\n\t\tthis.renderLink(parent,nextSibling);\n\t} else {\n\t\t// Just insert the link text\n\t\tvar domNode = this.document.createElement(\"span\");\n\t\t// Assign data- attributes\n\t\tthis.assignAttributes(domNode,{\n\t\t\tsourcePrefix: \"data-\",\n\t\t\tdestPrefix: \"data-\"\n\t\t});\n\t\tthis.assignAttributes(domNode,{\n\t\t\tsourcePrefix: \"aria-\",\n\t\t\tdestPrefix: \"aria-\"\n\t\t});\n\t\tparent.insertBefore(domNode,nextSibling);\n\t\tthis.domNodes.push(domNode);\n\t\tthis.renderChildren(domNode,null);\n\t}\n};\n\n/*\nRender this widget into the DOM\n*/\nLinkWidget.prototype.renderLink = function(parent,nextSibling) {\n\tvar self = this;\n\t// Sanitise the specified tag\n\tvar tag = this.linkTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"a\";\n\t}\n\t// Create our element\n\tvar namespace = this.getVariable(\"namespace\",{defaultValue: \"http://www.w3.org/1999/xhtml\"}),\n\t\tdomNode = this.document.createElementNS(namespace,tag);\n\t// Assign classes\n\tvar classes = [];\n\tif(this.overrideClasses === undefined) {\n\t\tclasses.push(\"tc-tiddlylink\");\n\t\tif(this.isShadow) {\n\t\t\tclasses.push(\"tc-tiddlylink-shadow\");\n\t\t}\n\t\tif(this.isMissing && !this.isShadow) {\n\t\t\tclasses.push(\"tc-tiddlylink-missing\");\n\t\t} else {\n\t\t\tif(!this.isMissing) {\n\t\t\t\tclasses.push(\"tc-tiddlylink-resolves\");\n\t\t\t}\n\t\t}\n\t\tif(this.linkClasses) {\n\t\t\tclasses.push(this.linkClasses);\n\t\t}\n\t} else if(this.overrideClasses !== \"\") {\n\t\tclasses.push(this.overrideClasses);\n\t}\n\tif(classes.length > 0) {\n\t\tdomNode.setAttribute(\"class\",classes.join(\" \"));\n\t}\n\t// Set an href\n\tvar wikilinkTransformFilter = this.getVariable(\"tv-filter-export-link\"),\n\t\twikiLinkText;\n\tif(wikilinkTransformFilter) {\n\t\t// Use the filter to construct the href\n\t\twikiLinkText = this.wiki.filterTiddlers(wikilinkTransformFilter,this,function(iterator) {\n\t\t\titerator(self.wiki.getTiddler(self.to),self.to);\n\t\t})[0];\n\t} else {\n\t\t// Expand the tv-wikilink-template variable to construct the href\n\t\tvar wikiLinkTemplateMacro = this.getVariable(\"tv-wikilink-template\"),\n\t\t\twikiLinkTemplate = wikiLinkTemplateMacro ? wikiLinkTemplateMacro.trim() : \"#$uri_encoded$\";\n\t\twikiLinkText = $tw.utils.replaceString(wikiLinkTemplate,\"$uri_encoded$\",$tw.utils.encodeURIComponentExtended(this.to));\n\t\twikiLinkText = $tw.utils.replaceString(wikiLinkText,\"$uri_doubleencoded$\",$tw.utils.encodeURIComponentExtended($tw.utils.encodeURIComponentExtended(this.to)));\n\t}\n\t// Override with the value of tv-get-export-link if defined\n\twikiLinkText = this.getVariable(\"tv-get-export-link\",{params: [{name: \"to\",value: this.to}],defaultValue: wikiLinkText});\n\tif(tag === \"a\") {\n\t\tvar namespaceHref = (namespace === \"http://www.w3.org/2000/svg\") ? \"http://www.w3.org/1999/xlink\" : undefined;\n\t\tdomNode.setAttributeNS(namespaceHref,\"href\",wikiLinkText);\n\t}\n\t// Set the tabindex\n\tif(this.tabIndex) {\n\t\tdomNode.setAttribute(\"tabindex\",this.tabIndex);\n\t}\n\t// Set the tooltip\n\t// HACK: Performance issues with re-parsing the tooltip prevent us defaulting the tooltip to \"<$transclude field='tooltip'><$transclude field='title'/></$transclude>\"\n\tvar tooltipWikiText = this.tooltip || this.getVariable(\"tv-wikilink-tooltip\");\n\tif(tooltipWikiText) {\n\t\tvar tooltipText = this.wiki.renderText(\"text/plain\",\"text/vnd.tiddlywiki\",tooltipWikiText,{\n\t\t\tparseAsInline: true,\n\t\t\tvariables: {\n\t\t\t\tcurrentTiddler: this.to\n\t\t\t},\n\t\t\tparentWidget: this\n\t\t});\n\t\tdomNode.setAttribute(\"title\",tooltipText);\n\t}\n\tif(this.role) {\n\t\tdomNode.setAttribute(\"role\",this.role);\n\t}\n\tthis.assignAttributes(domNode,{\n\t\tsourcePrefix: \"aria-\",\n\t\tdestPrefix: \"aria-\"\n\t});\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"click\", handlerObject: this, handlerMethod: \"handleClickEvent\"},\n\t]);\n\t// Make the link draggable if required\n\tif(this.draggable === \"yes\") {\n\t\t$tw.utils.makeDraggable({\n\t\t\tdomNode: domNode,\n\t\t\tdragTiddlerFn: function() {return self.to;},\n\t\t\tstartActions: self.startActions,\n\t\t\tendActions: self.endActions,\n\t\t\twidget: this\n\t\t});\n\t} else if(this.draggable === \"no\") {\n\t\tdomNode.setAttribute(\"draggable\",\"false\");\n\t}\n\t// Assign data- attributes\n\tthis.assignAttributes(domNode,{\n\t\tsourcePrefix: \"data-\",\n\t\tdestPrefix: \"data-\"\n\t});\n\t// Insert the link into the DOM and render any children\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.domNodes.push(domNode);\n\tthis.renderChildren(domNode,null);\n};\n\nLinkWidget.prototype.handleClickEvent = function(event) {\n\t// Send the click on its way as a navigate event\n\tvar bounds = this.domNodes[0].getBoundingClientRect();\n\tthis.dispatchEvent({\n\t\ttype: \"tm-navigate\",\n\t\tnavigateTo: this.to,\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tnavigateFromNode: this,\n\t\tnavigateFromClientRect: { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n\t\t},\n\t\tnavigateFromClientTop: bounds.top,\n\t\tnavigateFromClientLeft: bounds.left,\n\t\tnavigateFromClientWidth: bounds.width,\n\t\tnavigateFromClientRight: bounds.right,\n\t\tnavigateFromClientBottom: bounds.bottom,\n\t\tnavigateFromClientHeight: bounds.height,\n\t\tnavigateSuppressNavigation: event.metaKey || event.ctrlKey || (event.button === 1),\n\t\tmetaKey: event.metaKey,\n\t\tctrlKey: event.ctrlKey,\n\t\taltKey: event.altKey,\n\t\tshiftKey: event.shiftKey,\n\t\tevent: event\n\t});\n\tif(this.domNodes[0].hasAttribute(\"href\")) {\n\t\tevent.preventDefault();\n\t}\n\tevent.stopPropagation();\n\treturn false;\n};\n\n/*\nCompute the internal state of the widget\n*/\nLinkWidget.prototype.execute = function() {\n\t// Pick up our attributes\n\tthis.to = this.getAttribute(\"to\",this.getVariable(\"currentTiddler\"));\n\tthis.tooltip = this.getAttribute(\"tooltip\");\n\tthis.role = this.getAttribute(\"role\");\n\tthis.linkClasses = this.getAttribute(\"class\");\n\tthis.overrideClasses = this.getAttribute(\"overrideClass\");\n\tthis.tabIndex = this.getAttribute(\"tabindex\");\n\tthis.draggable = this.getAttribute(\"draggable\",\"yes\");\n\tthis.startActions = this.getAttribute(\"startactions\");\n\tthis.endActions = this.getAttribute(\"endactions\");\n\tthis.linkTag = this.getAttribute(\"tag\",\"a\");\n\t// Determine the link characteristics\n\tthis.isMissing = !this.wiki.tiddlerExists(this.to);\n\tthis.isShadow = this.wiki.isShadowTiddler(this.to);\n\tthis.hideMissingLinks = (this.getVariable(\"tv-show-missing-links\") || \"yes\") === \"no\";\n\t// Make the child widgets\n\tvar templateTree;\n\tif(this.parseTreeNode.children && this.parseTreeNode.children.length > 0) {\n\t\ttemplateTree = this.parseTreeNode.children;\n\t} else {\n\t\t// Default template is a link to the title\n\t\ttemplateTree = [{type: \"text\", text: this.to}];\n\t}\n\tthis.makeChildWidgets(templateTree);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nLinkWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0 || changedTiddlers[this.to]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.link = LinkWidget;\n"
  },
  {
    "path": "core/modules/widgets/linkcatcher.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/linkcatcher.js\ntype: application/javascript\nmodule-type: widget\n\nLinkcatcher widget\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar LinkCatcherWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nLinkCatcherWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nLinkCatcherWidget.prototype.render = function(parent,nextSibling) {\n\tthis.addEventListeners([\n\t\t{type: \"tm-navigate\", handler: \"handleNavigateEvent\"}\n\t]);\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nLinkCatcherWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.catchTo = this.getAttribute(\"to\");\n\tthis.catchMessage = this.getAttribute(\"message\");\n\tthis.catchSet = this.getAttribute(\"set\");\n\tthis.catchSetTo = this.getAttribute(\"setTo\");\n\tthis.catchActions = this.getAttribute(\"actions\");\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n\t// When executing actions we avoid trapping navigate events, so that we don't trigger ourselves recursively\n\tthis.executingActions = false;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nLinkCatcherWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.to || changedAttributes.message || changedAttributes.set || changedAttributes.setTo) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\n/*\nHandle a tm-navigate event\n*/\nLinkCatcherWidget.prototype.handleNavigateEvent = function(event) {\n\tif(!this.executingActions) {\n\t\t// Execute the actions\n\t\tif(this.catchTo) {\n\t\t\tthis.wiki.setTextReference(this.catchTo,event.navigateTo,this.getVariable(\"currentTiddler\"));\n\t\t}\n\t\tif(this.catchMessage && this.parentWidget) {\n\t\t\tthis.parentWidget.dispatchEvent({\n\t\t\t\ttype: this.catchMessage,\n\t\t\t\tparam: event.navigateTo,\n\t\t\t\tnavigateTo: event.navigateTo\n\t\t\t});\n\t\t}\n\t\tif(this.catchSet) {\n\t\t\tvar tiddler = this.wiki.getTiddler(this.catchSet);\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,{title: this.catchSet, text: this.catchSetTo}));\n\t\t}\n\t\tif(this.catchActions) {\n\t\t\tthis.executingActions = true;\n\t\t\tvar modifierKey = $tw.keyboardManager.getEventModifierKeyDescriptor(event);\n\t\t\tthis.invokeActionString(this.catchActions,this,event,{navigateTo: event.navigateTo, modifier: modifierKey});\n\t\t\tthis.executingActions = false;\n\t\t}\n\t} else {\n\t\t// This is a navigate event generated by the actions of this linkcatcher,\n\t\t// so we don't trap it again, but just pass it to the parent\n\t\tthis.parentWidget.dispatchEvent(event);\n\t}\n\treturn false;\n};\n\nexports.linkcatcher = LinkCatcherWidget;\n"
  },
  {
    "path": "core/modules/widgets/list.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/list.js\ntype: application/javascript\nmodule-type: widget\n\nList and list item widgets\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\n/*\nThe list widget creates list element sub-widgets that reach back into the list widget for their configuration\n*/\n\nvar ListWidget = function(parseTreeNode,options) {\n\t// Main initialisation inherited from widget.js\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nListWidget.prototype = new Widget();\n\nListWidget.prototype.initialise = function(parseTreeNode,options) {\n\t// Bail if parseTreeNode is undefined, meaning that the ListWidget constructor was called without any arguments so that it can be subclassed\n\tif(parseTreeNode === undefined) {\n\t\treturn;\n\t}\n\t// First call parent constructor to set everything else up\n\tWidget.prototype.initialise.call(this,parseTreeNode,options);\n\t// Now look for <$list-template> and <$list-empty> widgets as immediate child widgets\n\t// This is safe to do during initialization because parse trees never change after creation\n\tthis.findExplicitTemplates();\n};\n\n/*\nRender this widget into the DOM\n*/\nListWidget.prototype.render = function(parent,nextSibling) {\n\t// Initialise the storyviews if they've not been done already\n\tif(!this.storyViews) {\n\t\tListWidget.prototype.storyViews = {};\n\t\t$tw.modules.applyMethods(\"storyview\",this.storyViews);\n\t}\n\tthis.parentDomNode = parent;\n\tvar changedAttributes = this.computeAttributes();\n\tthis.execute(changedAttributes);\n\tthis.renderChildren(parent,nextSibling);\n\t// Construct the storyview\n\tvar StoryView = this.storyViews[this.storyViewName];\n\tif(this.storyViewName && !StoryView) {\n\t\tStoryView = this.storyViews[\"classic\"];\n\t}\n\tif(StoryView && !this.document.isTiddlyWikiFakeDom) {\n\t\tthis.storyview = new StoryView(this);\n\t} else {\n\t\tthis.storyview = null;\n\t}\n\tif(this.storyview && this.storyview.renderEnd) {\n\t\tthis.storyview.renderEnd();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nListWidget.prototype.execute = function(changedAttributes) {\n\tvar self = this;\n\t// Get our attributes\n\tthis.template = this.getAttribute(\"template\");\n\tthis.editTemplate = this.getAttribute(\"editTemplate\");\n\tthis.variableName = this.getAttribute(\"variable\",\"currentTiddler\");\n\tthis.counterName = this.getAttribute(\"counter\");\n\tthis.storyViewName = this.getAttribute(\"storyview\");\n\tthis.historyTitle = this.getAttribute(\"history\");\n\t// Create join template only if needed\n\tif(this.join === undefined || (changedAttributes && changedAttributes.join)) {\n\t\tthis.join = this.makeJoinTemplate();\n\t}\n\t// Compose the list elements\n\tthis.list = this.getTiddlerList();\n\tvar members = [],\n\t\tself = this;\n\t// Check for an empty list\n\tif(this.list.length === 0) {\n\t\tmembers = this.getEmptyMessage();\n\t} else {\n\t\t$tw.utils.each(this.list,function(title,index) {\n\t\t\tmembers.push(self.makeItemTemplate(title,index));\n\t\t});\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(members);\n\t// Clear the last history\n\tthis.history = [];\n};\n\nListWidget.prototype.findExplicitTemplates = function() {\n\tvar self = this;\n\tthis.explicitListTemplate = null;\n\tthis.explicitEmptyTemplate = null;\n\tthis.explicitJoinTemplate = null;\n\tthis.hasTemplateInBody = false;\n\tvar searchChildren = function(childNodes) {\n\t\tvar foundInlineTemplate = false;\n\t\t$tw.utils.each(childNodes,function(node) {\n\t\t\tif(node.type === \"list-template\") {\n\t\t\t\tself.explicitListTemplate = node.children;\n\t\t\t} else if(node.type === \"list-empty\") {\n\t\t\t\tself.explicitEmptyTemplate = node.children;\n\t\t\t} else if(node.type === \"list-join\") {\n\t\t\t\tself.explicitJoinTemplate = node.children;\n\t\t\t} else if(node.type === \"element\" && node.tag === \"p\") {\n\t\t\t\tsearchChildren(node.children);\n\t\t\t\tfoundInlineTemplate = true;\n\t\t\t} else {\n\t\t\t\tfoundInlineTemplate = true;\n\t\t\t}\n\t\t});\n\t\treturn foundInlineTemplate;\n\t};\n\tthis.hasTemplateInBody = searchChildren(this.parseTreeNode.children);\n};\n\nListWidget.prototype.getTiddlerList = function() {\n\tvar limit = $tw.utils.getInt(this.getAttribute(\"limit\",\"\"),undefined);\n\tvar defaultFilter = \"[!is[system]sort[title]]\";\n\tvar results = this.wiki.filterTiddlers(this.getAttribute(\"filter\",defaultFilter),this);\n\tif(limit !== undefined) {\n\t\tif(limit >= 0) {\n\t\t\tresults = results.slice(0,limit);\n\t\t} else {\n\t\t\tresults = results.slice(limit);\n\t\t}\n\t}\n\treturn results;\n};\n\nListWidget.prototype.getEmptyMessage = function() {\n\tvar parser,\n\t\temptyMessage = this.getAttribute(\"emptyMessage\");\n\t// If emptyMessage attribute is not present or empty then look for an explicit empty template\n\tif(!emptyMessage) {\n\t\tif(this.explicitEmptyTemplate) {\n\t\t\treturn this.explicitEmptyTemplate;\n\t\t} else {\n\t\t\treturn [];\n\t\t}\n\t}\n\tparser = this.wiki.parseText(\"text/vnd.tiddlywiki\",emptyMessage,{parseAsInline: true});\n\tif(parser) {\n\t\treturn parser.tree;\n\t} else {\n\t\treturn [];\n\t}\n};\n\n/*\nCompose the template for a join between list items\n*/\nListWidget.prototype.makeJoinTemplate = function() {\n\tvar parser,\n\t\tjoin = this.getAttribute(\"join\",\"\");\n\tif(join) {\n\t\tparser = this.wiki.parseText(\"text/vnd.tiddlywiki\",join,{parseAsInline:true});\n\t\tif(parser) {\n\t\t\treturn parser.tree;\n\t\t} else {\n\t\t\treturn [];\n\t\t}\n\t} else {\n\t\treturn this.explicitJoinTemplate; // May be null, and that's fine\n\t}\n};\n\n/*\nCompose the template for a list item\n*/\nListWidget.prototype.makeItemTemplate = function(title,index) {\n\t// Check if the tiddler is a draft\n\tvar tiddler = this.wiki.getTiddler(title),\n\t\tisDraft = tiddler && tiddler.hasField(\"draft.of\"),\n\t\ttemplate = this.template,\n\t\tjoin = this.join,\n\t\ttemplateTree;\n\tif(isDraft && this.editTemplate) {\n\t\ttemplate = this.editTemplate;\n\t}\n\t// Compose the transclusion of the template\n\tif(template) {\n\t\ttemplateTree = [{type: \"transclude\", attributes: {tiddler: {type: \"string\", value: template}}}];\n\t} else {\n\t\t// Check for child nodes of the list widget\n\t\tif(this.parseTreeNode.children && this.parseTreeNode.children.length > 0) {\n\t\t\t// Check for a <$list-item> widget\n\t\t\tif(this.explicitListTemplate) {\n\t\t\t\ttemplateTree = this.explicitListTemplate;\n\t\t\t} else if(this.hasTemplateInBody) {\n\t\t\t\ttemplateTree = this.parseTreeNode.children;\n\t\t\t}\n\t\t}\n\t\tif(!templateTree || templateTree.length === 0) {\n\t\t\t// Default template is a link to the title\n\t\t\ttemplateTree = [{type: \"element\", tag: this.parseTreeNode.isBlock ? \"div\" : \"span\", children: [{type: \"link\", attributes: {to: {type: \"string\", value: title}}, children: [\n\t\t\t\t{type: \"text\", text: title}\n\t\t\t]}]}];\n\t\t}\n\t}\n\t// Return the list item\n\tvar parseTreeNode = {type: \"listitem\", itemTitle: title, variableName: this.variableName, children: templateTree, join: join};\n\tparseTreeNode.isLast = index === this.list.length - 1;\n\tif(this.counterName) {\n\t\tparseTreeNode.counter = (index + 1).toString();\n\t\tparseTreeNode.counterName = this.counterName;\n\t\tparseTreeNode.isFirst = index === 0;\n\t}\n\treturn parseTreeNode;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nListWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\tresult;\n\t// Call the storyview\n\tif(this.storyview && this.storyview.refreshStart) {\n\t\tthis.storyview.refreshStart(changedTiddlers,changedAttributes);\n\t}\n\t// Completely refresh if any of our attributes have changed\n\tif(changedAttributes.filter || changedAttributes.variable || changedAttributes.counter || changedAttributes.template || changedAttributes.editTemplate || changedAttributes.join || changedAttributes.emptyMessage || changedAttributes.storyview || changedAttributes.history) {\n\t\tthis.refreshSelf();\n\t\tresult = true;\n\t} else {\n\t\t// Handle any changes to the list\n\t\tresult = this.handleListChanges(changedTiddlers);\n\t\t// Handle any changes to the history stack\n\t\tif(this.historyTitle && changedTiddlers[this.historyTitle]) {\n\t\t\tthis.handleHistoryChanges();\n\t\t}\n\t}\n\t// Call the storyview\n\tif(this.storyview && this.storyview.refreshEnd) {\n\t\tthis.storyview.refreshEnd(changedTiddlers,changedAttributes);\n\t}\n\treturn result;\n};\n\n/*\nHandle any changes to the history list\n*/\nListWidget.prototype.handleHistoryChanges = function() {\n\t// Get the history data\n\tvar newHistory = this.wiki.getTiddlerDataCached(this.historyTitle,[]);\n\t// Ignore any entries of the history that match the previous history\n\tvar entry = 0;\n\twhile(entry < newHistory.length && entry < this.history.length && newHistory[entry].title === this.history[entry].title) {\n\t\tentry++;\n\t}\n\t// Navigate forwards to each of the new tiddlers\n\twhile(entry < newHistory.length) {\n\t\tif(this.storyview && this.storyview.navigateTo) {\n\t\t\tthis.storyview.navigateTo(newHistory[entry]);\n\t\t}\n\t\tentry++;\n\t}\n\t// Update the history\n\tthis.history = newHistory;\n};\n\n/*\nProcess any changes to the list\n*/\nListWidget.prototype.handleListChanges = function(changedTiddlers) {\n\t// Get the new list\n\tvar prevList = this.list;\n\tthis.list = this.getTiddlerList();\n\t// Check for an empty list\n\tif(this.list.length === 0) {\n\t\t// Check if it was empty before\n\t\tif(prevList.length === 0) {\n\t\t\t// If so, just refresh the empty message\n\t\t\treturn this.refreshChildren(changedTiddlers);\n\t\t} else {\n\t\t\t// Replace the previous content with the empty message\n\t\t\tfor(t=this.children.length-1; t>=0; t--) {\n\t\t\t\tthis.removeListItem(t);\n\t\t\t}\n\t\t\tvar nextSibling = this.findNextSiblingDomNode();\n\t\t\tthis.makeChildWidgets(this.getEmptyMessage());\n\t\t\tthis.renderChildren(this.parentDomNode,nextSibling);\n\t\t\treturn true;\n\t\t}\n\t} else {\n\t\t// If the list was empty then we need to remove the empty message\n\t\tif(prevList.length === 0) {\n\t\t\tthis.removeChildDomNodes();\n\t\t\tthis.children = [];\n\t\t}\n\t\t// If we are providing an counter variable then we must refresh the items, otherwise we can rearrange them\n\t\tvar hasRefreshed = false,t;\n\t\tif(this.counterName) {\n\t\t\tvar mustRefreshOldLast = false;\n\t\t\tvar oldLength = this.children.length;\n\t\t\t// Cycle through the list and remove and re-insert the first item that has changed, and all the remaining items\n\t\t\tfor(t=0; t<this.list.length; t++) {\n\t\t\t\tif(hasRefreshed || !this.children[t] || this.children[t].parseTreeNode.itemTitle !== this.list[t]) {\n\t\t\t\t\tif(this.children[t]) {\n\t\t\t\t\t\tthis.removeListItem(t);\n\t\t\t\t\t}\n\t\t\t\t\tthis.insertListItem(t,this.list[t]);\n\t\t\t\t\tif(!hasRefreshed && t === oldLength) {\n\t\t\t\t\t\tmustRefreshOldLast = true;\n\t\t\t\t\t}\n\t\t\t\t\thasRefreshed = true;\n\t\t\t\t} else {\n\t\t\t\t\t// Refresh the item we're reusing\n\t\t\t\t\tvar refreshed = this.children[t].refresh(changedTiddlers);\n\t\t\t\t\thasRefreshed = hasRefreshed || refreshed;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// If items were inserted then we must recreate the item that used to be at the last position as it is no longer last\n\t\t\tif(mustRefreshOldLast && oldLength > 0) {\n\t\t\t\tvar oldLastIdx = oldLength-1;\n\t\t\t\tthis.removeListItem(oldLastIdx);\n\t\t\t\tthis.insertListItem(oldLastIdx,this.list[oldLastIdx]);\n\t\t\t}\n\t\t\t// If there are items to remove and we have not refreshed then recreate the item that will now be at the last position\n\t\t\tif(!hasRefreshed && this.children.length > this.list.length) {\n\t\t\t\tthis.removeListItem(this.list.length-1);\n\t\t\t\tthis.insertListItem(this.list.length-1,this.list[this.list.length-1]);\n\t\t\t}\n\t\t} else {\n\t\t\t// Cycle through the list, inserting and removing list items as needed\n\t\t\tvar mustRecreateLastItem = false;\n\t\t\tif(this.join && this.join.length) {\n\t\t\t\tif(this.children.length !== this.list.length) {\n\t\t\t\t\tmustRecreateLastItem = true;\n\t\t\t\t} else if(prevList[prevList.length-1] !== this.list[this.list.length-1]) {\n\t\t\t\t\tmustRecreateLastItem = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\tvar isLast = false, wasLast = false;\n\t\t\tfor(t=0; t<this.list.length; t++) {\n\t\t\t\tisLast = t === this.list.length-1;\n\t\t\t\tvar index = this.findListItem(t,this.list[t]);\n\t\t\t\twasLast = index === this.children.length-1;\n\t\t\t\tif(wasLast && (index !== t || this.children.length !== this.list.length)) {\n\t\t\t\t\tmustRecreateLastItem = !!(this.join && this.join.length);\n\t\t\t\t}\n\t\t\t\tif(index === undefined) {\n\t\t\t\t\t// The list item must be inserted\n\t\t\t\t\tif(isLast && mustRecreateLastItem && t>0) {\n\t\t\t\t\t\t// First re-create previosly-last item that will no longer be last\n\t\t\t\t\t\tthis.removeListItem(t-1);\n\t\t\t\t\t\tthis.insertListItem(t-1,this.list[t-1]);\n\t\t\t\t\t}\n\t\t\t\t\tthis.insertListItem(t,this.list[t]);\n\t\t\t\t\thasRefreshed = true;\n\t\t\t\t} else {\n\t\t\t\t\t// There are intervening list items that must be removed\n\t\t\t\t\tfor(var n=index-1; n>=t; n--) {\n\t\t\t\t\t\tthis.removeListItem(n);\n\t\t\t\t\t\thasRefreshed = true;\n\t\t\t\t\t}\n\t\t\t\t\t// Refresh the item we're reusing, or recreate if necessary\n\t\t\t\t\tif(mustRecreateLastItem && (isLast || wasLast)) {\n\t\t\t\t\t\tthis.removeListItem(t);\n\t\t\t\t\t\tthis.insertListItem(t,this.list[t]);\n\t\t\t\t\t\thasRefreshed = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar refreshed = this.children[t].refresh(changedTiddlers);\n\t\t\t\t\t\thasRefreshed = hasRefreshed || refreshed;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// Remove any left over items\n\t\tfor(t=this.children.length-1; t>=this.list.length; t--) {\n\t\t\tthis.removeListItem(t);\n\t\t\thasRefreshed = true;\n\t\t}\n\t\treturn hasRefreshed;\n\t}\n};\n\n/*\nFind the list item with a given title, starting from a specified position\n*/\nListWidget.prototype.findListItem = function(startIndex,title) {\n\twhile(startIndex < this.children.length) {\n\t\tif(this.children[startIndex].parseTreeNode.itemTitle === title) {\n\t\t\treturn startIndex;\n\t\t}\n\t\tstartIndex++;\n\t}\n\treturn undefined;\n};\n\n/*\nInsert a new list item at the specified index\n*/\nListWidget.prototype.insertListItem = function(index,title) {\n\t// Create, insert and render the new child widgets\n\tvar widget = this.makeChildWidget(this.makeItemTemplate(title,index));\n\twidget.parentDomNode = this.parentDomNode; // Hack to enable findNextSiblingDomNode() to work\n\tthis.children.splice(index,0,widget);\n\tvar nextSibling = widget.findNextSiblingDomNode();\n\twidget.render(this.parentDomNode,nextSibling);\n\t// Animate the insertion if required\n\tif(this.storyview && this.storyview.insert) {\n\t\tthis.storyview.insert(widget);\n\t}\n\treturn true;\n};\n\n/*\nRemove the specified list item\n*/\nListWidget.prototype.removeListItem = function(index) {\n\tvar widget = this.children[index];\n\t// Animate the removal if required\n\tif(this.storyview && this.storyview.remove) {\n\t\tthis.storyview.remove(widget);\n\t} else {\n\t\twidget.removeChildDomNodes();\n\t}\n\t// Remove the child widget\n\tthis.children.splice(index,1);\n};\n\nexports.list = ListWidget;\n\nvar ListItemWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nListItemWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nListItemWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nListItemWidget.prototype.execute = function() {\n\t// Set the current list item title\n\tthis.setVariable(this.parseTreeNode.variableName,this.parseTreeNode.itemTitle);\n\tif(this.parseTreeNode.counterName) {\n\t\tthis.setVariable(this.parseTreeNode.counterName,this.parseTreeNode.counter);\n\t\tthis.setVariable(this.parseTreeNode.counterName + \"-first\",this.parseTreeNode.isFirst ? \"yes\" : \"no\");\n\t\tthis.setVariable(this.parseTreeNode.counterName + \"-last\",this.parseTreeNode.isLast ? \"yes\" : \"no\");\n\t}\n\t// Add join if needed\n\tvar children = this.parseTreeNode.children,\n\t\tjoin = this.parseTreeNode.join;\n\tif(join && join.length && !this.parseTreeNode.isLast) {\n\t\tchildren = children.slice(0);\n\t\t$tw.utils.each(join,function(joinNode) {\n\t\t\tchildren.push(joinNode);\n\t\t});\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(children);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nListItemWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.listitem = ListItemWidget;\n\n/*\nMake <$list-template> and <$list-empty> widgets that do nothing\n*/\nvar ListTemplateWidget = function(parseTreeNode,options) {\n\t// Main initialisation inherited from widget.js\n\tthis.initialise(parseTreeNode,options);\n};\nListTemplateWidget.prototype = new Widget();\nListTemplateWidget.prototype.render = function() {};\nListTemplateWidget.prototype.refresh = function() { return false; };\n\nexports[\"list-template\"] = ListTemplateWidget;\n\nvar ListEmptyWidget = function(parseTreeNode,options) {\n\t// Main initialisation inherited from widget.js\n\tthis.initialise(parseTreeNode,options);\n};\nListEmptyWidget.prototype = new Widget();\nListEmptyWidget.prototype.render = function() {};\nListEmptyWidget.prototype.refresh = function() { return false; };\n\nexports[\"list-empty\"] = ListEmptyWidget;\n\nvar ListJoinWidget = function(parseTreeNode,options) {\n\t// Main initialisation inherited from widget.js\n\tthis.initialise(parseTreeNode,options);\n};\nListJoinWidget.prototype = new Widget();\nListJoinWidget.prototype.render = function() {};\nListJoinWidget.prototype.refresh = function() { return false; };\n\nexports[\"list-join\"] = ListJoinWidget;\n"
  },
  {
    "path": "core/modules/widgets/log.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/log.js\ntype: application/javascript\nmodule-type: widget-subclass\n\nWidget to log debug messages\n\n\\*/\n\n\"use strict\";\n\nexports.baseClass = \"action-log\";\n\nexports.name = \"log\";\n\nexports.constructor = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\nexports.prototype = {};\n\nexports.prototype.render = function(event) {\n\tObject.getPrototypeOf(Object.getPrototypeOf(this)).render.call(this,event);\n\tObject.getPrototypeOf(Object.getPrototypeOf(this)).log.call(this);\n};\n"
  },
  {
    "path": "core/modules/widgets/macrocall.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/macrocall.js\ntype: application/javascript\nmodule-type: widget\n\nMacrocall widget\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar MacroCallWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nMacroCallWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nMacroCallWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nMacroCallWidget.prototype.execute = function() {\n\tthis.macroName = this.parseTreeNode.name || this.getAttribute(\"$name\"),\n\tthis.parseType = this.getAttribute(\"$type\",\"text/vnd.tiddlywiki\");\n\tthis.renderOutput = this.getAttribute(\"$output\",\"text/html\");\n\t// Merge together the parameters specified in the parse tree with the specified attributes\n\tvar params = this.parseTreeNode.params ? this.parseTreeNode.params.slice(0) : [];\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tparams.push({name: name, value: attribute});\n\t\t}\n\t});\n\t// Make a transclude widget\n\tvar positionalName = 0,\n\t\tparseTreeNodes = [{\n\t\t\ttype: \"transclude\",\n\t\t\tisBlock: this.parseTreeNode.isBlock,\n\t\t\tchildren: this.parseTreeNode.children\n\t\t}];\n\t$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],\"$variable\",this.macroName);\n\t$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],\"$type\",this.parseType);\n\t$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],\"$output\",this.renderOutput);\n\t$tw.utils.each(params,function(param) {\n\t\tvar name = param.name;\n\t\tif(name) {\n\t\t\tif(name.charAt(0) === \"$\") {\n\t\t\t\tname = \"$\" + name;\n\t\t\t}\n\t\t\t$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],name,param.value);\n\t\t} else {\n\t\t\t$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],(positionalName++) + \"\",param.value);\n\t\t}\n\t});\n\t// Construct the child widgets\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nMacroCallWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0) {\n\t\t// Rerender ourselves\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.macrocall = MacroCallWidget;\n"
  },
  {
    "path": "core/modules/widgets/messagecatcher.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/messagecatcher.js\ntype: application/javascript\nmodule-type: widget\n\nMessage catcher widget\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar MessageCatcherWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nMessageCatcherWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nMessageCatcherWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Helper to add an event handler\n\tvar addEventHandler = function(type,actions) {\n\t\tif(type && actions) {\n\t\t\tvar isActionStringExecuting = false;\n\t\t\tself.addEventListener(\n\t\t\t\ttype,\n\t\t\t\tfunction(event) {\n\t\t\t\t\t// Don't trap the event if it came from one of our action handlers\n\t\t\t\t\tif(isActionStringExecuting) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\t// Collect all the event properties into variables\n\t\t\t\t\tvar collectProps = function(obj,prefix) {\n\t\t\t\t\t\tprefix = prefix || \"\";\n\t\t\t\t\t\tvar props = {},\n\t\t\t\t\t\t\tnames = [];\n\t\t\t\t\t\t$tw.utils.each(obj,function(value,name) {\n\t\t\t\t\t\t\tif([\"string\",\"boolean\",\"number\"].indexOf(typeof value) !== -1) {\n\t\t\t\t\t\t\t\tnames.push(name);\n\t\t\t\t\t\t\t\tprops[prefix + \"-\" + name] = value.toString();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\tprops[\"list-\" + prefix] = $tw.utils.stringifyList(names);\n\t\t\t\t\t\treturn props;\n\t\t\t\t\t};\n\t\t\t\t\tvar variables = $tw.utils.extend(\n\t\t\t\t\t\t{},\n\t\t\t\t\t\tcollectProps(event.paramObject,\"event-paramObject\"),\n\t\t\t\t\t\tcollectProps(event,\"event\"),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tmodifier: $tw.keyboardManager.getEventModifierKeyDescriptor(event)\n\t\t\t\t\t\t});\n\t\t\t\t\tisActionStringExecuting = true;\n\t\t\t\t\tself.invokeActionString(actions,self,event,variables);\n\t\t\t\t\tisActionStringExecuting = false;\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t};\n\t// Add the main event handler\n\taddEventHandler(this.getAttribute(\"type\"),this.getAttribute(\"actions\"));\n\t// Add any other event handlers\n\t$tw.utils.each(this.attributes,function(value,key) {\n\t\tif(key.charAt(0) === \"$\") {\n\t\t\taddEventHandler(key.slice(1),value);\n\t\t}\n\t});\n\t// Render children\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nMessageCatcherWidget.prototype.execute = function() {\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nMessageCatcherWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.messagecatcher = MessageCatcherWidget;\n"
  },
  {
    "path": "core/modules/widgets/navigator.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/navigator.js\ntype: application/javascript\nmodule-type: widget\n\nNavigator widget\n\n\\*/\n\n\"use strict\";\n\nvar IMPORT_TITLE = \"$:/Import\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar NavigatorWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nNavigatorWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nNavigatorWidget.prototype.render = function(parent,nextSibling) {\n\tthis.addEventListeners([\n\t\t{type: \"tm-navigate\", handler: \"handleNavigateEvent\"},\n\t\t{type: \"tm-edit-tiddler\", handler: \"handleEditTiddlerEvent\"},\n\t\t{type: \"tm-delete-tiddler\", handler: \"handleDeleteTiddlerEvent\"},\n\t\t{type: \"tm-save-tiddler\", handler: \"handleSaveTiddlerEvent\"},\n\t\t{type: \"tm-cancel-tiddler\", handler: \"handleCancelTiddlerEvent\"},\n\t\t{type: \"tm-close-tiddler\", handler: \"handleCloseTiddlerEvent\"},\n\t\t{type: \"tm-close-all-tiddlers\", handler: \"handleCloseAllTiddlersEvent\"},\n\t\t{type: \"tm-close-other-tiddlers\", handler: \"handleCloseOtherTiddlersEvent\"},\n\t\t{type: \"tm-new-tiddler\", handler: \"handleNewTiddlerEvent\"},\n\t\t{type: \"tm-import-tiddlers\", handler: \"handleImportTiddlersEvent\"},\n\t\t{type: \"tm-perform-import\", handler: \"handlePerformImportEvent\"},\n\t\t{type: \"tm-fold-tiddler\", handler: \"handleFoldTiddlerEvent\"},\n\t\t{type: \"tm-fold-other-tiddlers\", handler: \"handleFoldOtherTiddlersEvent\"},\n\t\t{type: \"tm-fold-all-tiddlers\", handler: \"handleFoldAllTiddlersEvent\"},\n\t\t{type: \"tm-unfold-all-tiddlers\", handler: \"handleUnfoldAllTiddlersEvent\"}\n\t]);\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nNavigatorWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.storyTitle = this.getAttribute(\"story\");\n\tthis.historyTitle = this.getAttribute(\"history\");\n\tthis.setVariable(\"tv-story-list\",this.storyTitle);\n\tthis.setVariable(\"tv-history-list\",this.historyTitle);\n\tthis.story = new $tw.Story({\n\t\twiki: this.wiki,\n\t\tstoryTitle: this.storyTitle,\n\t\thistoryTitle: this.historyTitle\n\t});\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nNavigatorWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.story || changedAttributes.history) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nNavigatorWidget.prototype.getStoryList = function() {\n\treturn this.storyTitle ? this.wiki.getTiddlerList(this.storyTitle) : null;\n};\n\nNavigatorWidget.prototype.saveStoryList = function(storyList) {\n\tif(this.storyTitle) {\n\t\tvar storyTiddler = this.wiki.getTiddler(this.storyTitle);\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(\n\t\t\t{title: this.storyTitle},\n\t\t\tstoryTiddler,\n\t\t\t{list: storyList}\n\t\t));\n\t}\n};\n\nNavigatorWidget.prototype.removeTitleFromStory = function(storyList,title) {\n\tif(storyList) {\n\t\tvar p = storyList.indexOf(title);\n\t\twhile(p !== -1) {\n\t\t\tstoryList.splice(p,1);\n\t\t\tp = storyList.indexOf(title);\n\t\t}\n\t}\n};\n\nNavigatorWidget.prototype.replaceFirstTitleInStory = function(storyList,oldTitle,newTitle) {\n\tif(storyList) {\n\t\tvar pos = storyList.indexOf(oldTitle);\n\t\tif(pos !== -1) {\n\t\t\tstoryList[pos] = newTitle;\n\t\t\tdo {\n\t\t\t\tpos = storyList.indexOf(oldTitle,pos + 1);\n\t\t\t\tif(pos !== -1) {\n\t\t\t\t\tstoryList.splice(pos,1);\n\t\t\t\t}\n\t\t\t} while(pos !== -1);\n\t\t} else {\n\t\t\tstoryList.splice(0,0,newTitle);\n\t\t}\n\t}\n};\n\nNavigatorWidget.prototype.addToStory = function(title,fromTitle) {\n\tif(this.storyTitle) {\n\t\tthis.story.addToStory(title,fromTitle,{\n\t\t\topenLinkFromInsideRiver: this.getAttribute(\"openLinkFromInsideRiver\",\"top\"),\n\t\t\topenLinkFromOutsideRiver: this.getAttribute(\"openLinkFromOutsideRiver\",\"top\")\n\t\t});\n\t}\n};\n\n/*\nAdd a new record to the top of the history stack\ntitle: a title string or an array of title strings\nfromPageRect: page coordinates of the origin of the navigation\n*/\nNavigatorWidget.prototype.addToHistory = function(title,fromPageRect) {\n\tthis.story.addToHistory(title,fromPageRect,this.historyTitle);\n};\n\n/*\nHandle a tm-navigate event\n*/\nNavigatorWidget.prototype.handleNavigateEvent = function(event) {\n\tevent = $tw.hooks.invokeHook(\"th-navigating\",event);\n\tif(event.navigateTo) {\n\t\tthis.addToStory(event.navigateTo,event.navigateFromTitle);\n\t\tif(!event.navigateSuppressNavigation) {\n\t\t\tthis.addToHistory(event.navigateTo,event.navigateFromClientRect);\n\t\t}\n\t}\n\treturn false;\n};\n\n// Close a specified tiddler\nNavigatorWidget.prototype.handleCloseTiddlerEvent = function(event) {\n\tevent = $tw.hooks.invokeHook(\"th-closing-tiddler\",event);\n\tvar title = event.param || event.tiddlerTitle,\n\t\tstoryList = this.getStoryList();\n\t// Look for tiddlers with this title to close\n\tthis.removeTitleFromStory(storyList,title);\n\tthis.saveStoryList(storyList);\n\treturn false;\n};\n\n// Close all tiddlers\nNavigatorWidget.prototype.handleCloseAllTiddlersEvent = function(event) {\n\tthis.saveStoryList([]);\n\treturn false;\n};\n\n// Close other tiddlers\nNavigatorWidget.prototype.handleCloseOtherTiddlersEvent = function(event) {\n\tvar title = event.param || event.tiddlerTitle;\n\tthis.saveStoryList([title]);\n\treturn false;\n};\n\n// Place a tiddler in edit mode\nNavigatorWidget.prototype.handleEditTiddlerEvent = function(event) {\n\tvar editTiddler = $tw.hooks.invokeHook(\"th-editing-tiddler\",event),\n\t\twin = event.event && event.event.view ? event.event.view : window;\n\tif(!editTiddler) {\n\t\treturn false;\n\t}\n\tvar self = this;\n\tfunction isUnmodifiedShadow(title) {\n\t\treturn self.wiki.isShadowTiddler(title) && !self.wiki.tiddlerExists(title);\n\t}\n\tfunction confirmEditShadow(title) {\n\t\treturn win.confirm($tw.language.getString(\n\t\t\t\"ConfirmEditShadowTiddler\",\n\t\t\t{variables:\n\t\t\t\t{title: title}\n\t\t\t}\n\t\t));\n\t}\n\tvar title = event.param || event.tiddlerTitle;\n\tif(isUnmodifiedShadow(title) && !confirmEditShadow(title)) {\n\t\treturn false;\n\t}\n\t// Replace the specified tiddler with a draft in edit mode\n\tvar draftTiddler = this.makeDraftTiddler(title);\n\t// Update the story and history if required\n\tif(!event.paramObject || event.paramObject.suppressNavigation !== \"yes\") {\n\t\tvar draftTitle = draftTiddler.fields.title,\n\t\t\tstoryList = this.getStoryList();\n\t\tthis.removeTitleFromStory(storyList,draftTitle);\n\t\tthis.replaceFirstTitleInStory(storyList,title,draftTitle);\n\t\tthis.addToHistory(draftTitle,event.navigateFromClientRect);\n\t\tthis.saveStoryList(storyList);\n\t\treturn false;\n\t}\n};\n\n// Delete a tiddler\nNavigatorWidget.prototype.handleDeleteTiddlerEvent = function(event) {\n\t// Get the tiddler we're deleting\n\tvar title = event.param || event.tiddlerTitle,\n\t\ttiddler = this.wiki.getTiddler(title),\n\t\tstoryList = this.getStoryList(),\n\t\toriginalTitle = tiddler ? tiddler.fields[\"draft.of\"] : \"\",\n\t\toriginalTiddler = originalTitle ? this.wiki.getTiddler(originalTitle) : undefined,\n\t\tconfirmationTitle,\n\t\twin = event.event && event.event.view ? event.event.view : window;\n\t// Check if the tiddler we're deleting is in draft mode\n\tif(originalTitle) {\n\t\t// If so, we'll prompt for confirmation referencing the original tiddler\n\t\tconfirmationTitle = originalTitle;\n\t} else {\n\t\t// If not a draft, then prompt for confirmation referencing the specified tiddler\n\t\tconfirmationTitle = title;\n\t}\n\t// Seek confirmation\n\tif(((originalTitle && this.wiki.getTiddler(originalTitle)) || (tiddler && ((tiddler.fields.text || \"\") !== \"\"))) && !win.confirm($tw.language.getString(\n\t\t\"ConfirmDeleteTiddler\",\n\t\t{variables:\n\t\t\t\t\t{title: confirmationTitle}\n\t\t}\n\t))) {\n\t\treturn false;\n\t}\n\t// Delete the original tiddler\n\tif(originalTitle) {\n\t\tif(originalTiddler) {\n\t\t\t$tw.hooks.invokeHook(\"th-deleting-tiddler\",originalTiddler);\n\t\t}\n\t\tthis.wiki.deleteTiddler(originalTitle);\n\t\tthis.removeTitleFromStory(storyList,originalTitle);\n\t}\n\t// Invoke the hook function and delete this tiddler\n\tif(tiddler) {\n\t\t$tw.hooks.invokeHook(\"th-deleting-tiddler\",tiddler);\n\t\tthis.wiki.deleteTiddler(title);\t\n\t}\n\t// Remove the closed tiddler from the story\n\tthis.removeTitleFromStory(storyList,title);\n\tthis.saveStoryList(storyList);\n\t// Trigger an autosave\n\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n\treturn false;\n};\n\n/*\nCreate/reuse the draft tiddler for a given title\n*/\nNavigatorWidget.prototype.makeDraftTiddler = function(targetTitle) {\n\t// See if there is already a draft tiddler for this tiddler\n\tvar draftTitle = this.wiki.findDraft(targetTitle);\n\tif(draftTitle) {\n\t\treturn this.wiki.getTiddler(draftTitle);\n\t}\n\t// Get the current value of the tiddler we're editing\n\tvar tiddler = this.wiki.getTiddler(targetTitle);\n\tvar defaultType = this.wiki.getTiddlerText(\"$:/config/DefaultMissingType\", \"\").trim();\n\tvar defaultFields = { type: defaultType };\n\t// Save the initial value of the draft tiddler\n\tdraftTitle = this.generateDraftTitle(targetTitle);\n\tvar draftTiddler = new $tw.Tiddler({\n\t\ttext: \"\",\n\t},\n\ttiddler,\n\t{\n\t\ttitle: draftTitle,\n\t\t\"draft.title\": targetTitle,\n\t\t\"draft.of\": targetTitle\n\t},\n\tthis.wiki.getModificationFields(),\n\ttiddler === null || tiddler === undefined ? defaultFields : {}\n\t);\n\tthis.wiki.addTiddler(draftTiddler);\n\treturn draftTiddler;\n};\n\n/*\nGenerate a title for the draft of a given tiddler\n*/\nNavigatorWidget.prototype.generateDraftTitle = function(title) {\n\treturn this.wiki.generateDraftTitle(title);\n};\n\n// Take a tiddler out of edit mode, saving the changes\nNavigatorWidget.prototype.handleSaveTiddlerEvent = function(event) {\n\tvar title = event.param || event.tiddlerTitle,\n\t\ttiddler = this.wiki.getTiddler(title),\n\t\tstoryList = this.getStoryList(),\n\t\twin = event.event && event.event.view ? event.event.view : window;\n\t// Replace the original tiddler with the draft\n\tif(tiddler) {\n\t\tvar draftTitle = (tiddler.fields[\"draft.title\"] || \"\").trim(),\n\t\t\tdraftOf = (tiddler.fields[\"draft.of\"] || \"\").trim();\n\t\tif(draftTitle) {\n\t\t\tvar isRename = draftOf !== draftTitle,\n\t\t\t\tisConfirmed = true;\n\t\t\tif(isRename && this.wiki.tiddlerExists(draftTitle)) {\n\t\t\t\tisConfirmed = win.confirm($tw.language.getString(\n\t\t\t\t\t\"ConfirmOverwriteTiddler\",\n\t\t\t\t\t{variables:\n\t\t\t\t\t\t{title: draftTitle}\n\t\t\t\t\t}\n\t\t\t\t));\n\t\t\t}\n\t\t\tif(isConfirmed) {\n\t\t\t\t// Create the new tiddler and pass it through the th-saving-tiddler hook\n\t\t\t\tvar newTiddler = new $tw.Tiddler(this.wiki.getCreationFields(),tiddler,{\n\t\t\t\t\ttitle: draftTitle,\n\t\t\t\t\t\"draft.title\": undefined,\n\t\t\t\t\t\"draft.of\": undefined\n\t\t\t\t},this.wiki.getModificationFields());\n\t\t\t\tnewTiddler = $tw.hooks.invokeHook(\"th-saving-tiddler\",newTiddler,tiddler);\n\t\t\t\tthis.wiki.addTiddler(newTiddler);\n\t\t\t\t// If enabled, relink references to renamed tiddler\n\t\t\t\tvar shouldRelink = this.getAttribute(\"relinkOnRename\",\"no\").toLowerCase().trim() === \"yes\";\n\t\t\t\tif(isRename && shouldRelink && this.wiki.tiddlerExists(draftOf)) {\n\t\t\t\t\tthis.wiki.relinkTiddler(draftOf,draftTitle);\n\t\t\t\t}\n\t\t\t\t// Remove the draft tiddler\n\t\t\t\tthis.wiki.deleteTiddler(title);\n\t\t\t\t// Remove the original tiddler if we're renaming it\n\t\t\t\tif(isRename) {\n\t\t\t\t\tthis.wiki.deleteTiddler(draftOf);\n\t\t\t\t}\n\t\t\t\t// #2381 always remove new title & old\n\t\t\t\tthis.removeTitleFromStory(storyList,draftTitle);\n\t\t\t\tthis.removeTitleFromStory(storyList,draftOf);\n\t\t\t\tif(!event.paramObject || event.paramObject.suppressNavigation !== \"yes\") {\n\t\t\t\t\t// Replace the draft in the story with the original\n\t\t\t\t\tthis.replaceFirstTitleInStory(storyList,title,draftTitle);\n\t\t\t\t\tthis.addToHistory(draftTitle,event.navigateFromClientRect);\n\t\t\t\t\tif(draftTitle !== this.storyTitle) {\n\t\t\t\t\t\tthis.saveStoryList(storyList);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Trigger an autosave\n\t\t\t\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\n// Take a tiddler out of edit mode without saving the changes\nNavigatorWidget.prototype.handleCancelTiddlerEvent = function(event) {\n\tevent = $tw.hooks.invokeHook(\"th-cancelling-tiddler\", event);\n\tvar win = event.event && event.event.view ? event.event.view : window;\n\t// Flip the specified tiddler from draft back to the original\n\tvar draftTitle = event.param || event.tiddlerTitle,\n\t\tdraftTiddler = this.wiki.getTiddler(draftTitle),\n\t\toriginalTitle = draftTiddler && draftTiddler.fields[\"draft.of\"];\n\tif(draftTiddler && originalTitle) {\n\t\t// Ask for confirmation if the tiddler text has changed\n\t\tvar isConfirmed = true,\n\t\t\toriginalTiddler = this.wiki.getTiddler(originalTitle),\n\t\t\tstoryList = this.getStoryList();\n\t\tif(this.wiki.isDraftModified(draftTitle)) {\n\t\t\tisConfirmed = win.confirm($tw.language.getString(\n\t\t\t\t\"ConfirmCancelTiddler\",\n\t\t\t\t{variables:\n\t\t\t\t\t{title: draftTitle}\n\t\t\t\t}\n\t\t\t));\n\t\t}\n\t\t// Remove the draft tiddler\n\t\tif(isConfirmed) {\n\t\t\tthis.wiki.deleteTiddler(draftTitle);\n\t\t\tif(!event.paramObject || event.paramObject.suppressNavigation !== \"yes\") {\n\t\t\t\tif(originalTiddler) {\n\t\t\t\t\tthis.replaceFirstTitleInStory(storyList,draftTitle,originalTitle);\n\t\t\t\t\tthis.addToHistory(originalTitle,event.navigateFromClientRect);\n\t\t\t\t} else {\n\t\t\t\t\tthis.removeTitleFromStory(storyList,draftTitle);\n\t\t\t\t}\n\t\t\t\tthis.saveStoryList(storyList);\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\n// Create a new draft tiddler\n// event.param can either be the title of a template tiddler, or a hashmap of fields.\n//\n// The title of the newly created tiddler follows these rules:\n// * If a hashmap was used and a title field was specified, use that title\n// * If a hashmap was used without a title field, use a default title, if necessary making it unique with a numeric suffix\n// * If a template tiddler was used, use the title of the template, if necessary making it unique with a numeric suffix\n//\n// If a draft of the target tiddler already exists then it is reused\nNavigatorWidget.prototype.handleNewTiddlerEvent = function(event) {\n\tevent = $tw.hooks.invokeHook(\"th-new-tiddler\", event);\n\t// Get the story details\n\tvar storyList = this.getStoryList(),\n\t\ttemplateTiddler, additionalFields, title, draftTitle, existingTiddler,\n\t\ttemplateHasTags = false;\n\t// Get the template tiddler (if any)\n\tif(typeof event.param === \"string\") {\n\t\t// Get the template tiddler\n\t\ttemplateTiddler = this.wiki.getTiddler(event.param);\n\t\t// Generate a new title\n\t\ttitle = this.wiki.generateNewTitle(event.param || $tw.language.getString(\"DefaultNewTiddlerTitle\"));\n\t}\n\t// Get the specified additional fields\n\tif(typeof event.paramObject === \"object\") {\n\t\tadditionalFields = event.paramObject;\n\t}\n\tif(typeof event.param === \"object\") { // Backwards compatibility with 5.1.3\n\t\tadditionalFields = event.param;\n\t}\n\tif(additionalFields && additionalFields.title) {\n\t\ttitle = additionalFields.title;\n\t}\n\t// Make a copy of the additional fields excluding any blank ones\n\tvar filteredAdditionalFields = $tw.utils.extend({},additionalFields);\n\tObject.keys(filteredAdditionalFields).forEach(function(fieldName) {\n\t\tif(filteredAdditionalFields[fieldName] === \"\") {\n\t\t\tdelete filteredAdditionalFields[fieldName];\n\t\t}\n\t});\n\t// Generate a title if we don't have one\n\ttitle = title || this.wiki.generateNewTitle($tw.language.getString(\"DefaultNewTiddlerTitle\"));\n\t// Find any existing draft for this tiddler\n\tdraftTitle = this.wiki.findDraft(title);\n\t// Pull in any existing tiddler\n\tif(draftTitle) {\n\t\texistingTiddler = this.wiki.getTiddler(draftTitle);\n\t} else {\n\t\tdraftTitle = this.generateDraftTitle(title);\n\t\texistingTiddler = this.wiki.getTiddler(title);\n\t}\n\t// Merge the tags\n\tvar mergedTags = [];\n\tif(existingTiddler && existingTiddler.fields.tags) {\n\t\t$tw.utils.pushTop(mergedTags,existingTiddler.fields.tags);\n\t}\n\tif(additionalFields && additionalFields.tags) {\n\t\t// Merge tags\n\t\tmergedTags = $tw.utils.pushTop(mergedTags,$tw.utils.parseStringArray(additionalFields.tags));\n\t}\n\tvar additionalFieldsHasTags = !!(additionalFields && (additionalFields.tags === \"\"));\n\tif(templateTiddler && templateTiddler.fields.tags) {\n\t\t// Merge tags\n\t\ttemplateHasTags = true;\n\t\tmergedTags = $tw.utils.pushTop(mergedTags,templateTiddler.fields.tags);\n\t}\n\t// Save the draft tiddler\n\tvar draftTiddler = new $tw.Tiddler({\n\t\ttext: \"\",\n\t\t\"draft.title\": title\n\t},\n\ttemplateTiddler,\n\tadditionalFields,\n\tthis.wiki.getCreationFields(),\n\texistingTiddler,\n\tfilteredAdditionalFields,\n\t{\n\t\ttitle: draftTitle,\n\t\t\"draft.of\": title,\n\t\t// If template or additionalFields have \"tags\" even if empty a tags field will be created.\n\t\ttags: ((mergedTags.length > 0) || templateHasTags || additionalFieldsHasTags) ? mergedTags : undefined\n\t},this.wiki.getModificationFields());\n\tthis.wiki.addTiddler(draftTiddler);\n\t// Update the story to insert the new draft at the top and remove any existing tiddler\n\tif(storyList && storyList.indexOf(draftTitle) === -1) {\n\t\tvar slot = storyList.indexOf(event.navigateFromTitle);\n\t\tif(slot === -1) {\n\t\t\tslot = this.getAttribute(\"openLinkFromOutsideRiver\",\"top\") === \"bottom\" ? storyList.length - 1 : slot;\n\t\t}\n\t\tstoryList.splice(slot + 1,0,draftTitle);\n\t}\n\tif(storyList && storyList.indexOf(title) !== -1) {\n\t\tstoryList.splice(storyList.indexOf(title),1);\n\t}\n\tthis.saveStoryList(storyList);\n\t// Add a new record to the top of the history stack\n\tthis.addToHistory(draftTitle);\n\treturn false;\n};\n\n// Import JSON tiddlers into a pending import tiddler\nNavigatorWidget.prototype.handleImportTiddlersEvent = function(event) {\n\t// Get the tiddlers\n\tvar tiddlers = $tw.utils.parseJSONSafe(event.param,[]);\n\t// Get the current $:/Import tiddler\n\tvar paramObject = event.paramObject || {},\n\t\timportTitle = event.importTitle || paramObject.importTitle || IMPORT_TITLE,\n\t\timportTiddler = this.wiki.getTiddler(importTitle),\n\t\timportData = this.wiki.getTiddlerData(importTitle,{}),\n\t\tnewFields = new Object({\n\t\t\ttitle: importTitle,\n\t\t\ttype: \"application/json\",\n\t\t\t\"plugin-type\": \"import\",\n\t\t\t\"status\": \"pending\"\n\t\t}),\n\t\tincomingTiddlers = [];\n\t// Process each tiddler\n\timportData.tiddlers = importData.tiddlers || {};\n\t$tw.utils.each(tiddlers,function(tiddlerFields) {\n\t\ttiddlerFields.title = $tw.utils.trim(tiddlerFields.title);\n\t\tvar title = tiddlerFields.title;\n\t\tif(title) {\n\t\t\tincomingTiddlers.push(title);\n\t\t\timportData.tiddlers[title] = tiddlerFields;\n\t\t}\n\t});\n\t// Give the active upgrader modules a chance to process the incoming tiddlers\n\tvar messages = this.wiki.invokeUpgraders(incomingTiddlers,importData.tiddlers);\n\t// Deselect any disabled, but _not_ suppressed tiddlers\n\tvar systemMessage = $tw.language.getString(\"Import/Upgrader/Tiddler/Unselected\");\n\t$tw.utils.each(messages,function(message,title) {\n\t\tnewFields[\"message-\" + title] = message;\n\t\tif(message.indexOf(systemMessage) !== -1) {\n\t\t\tnewFields[\"selection-\" + title] = \"unchecked\";\n\t\t}\n\t});\n\t// Deselect suppressed tiddlers ... they have been removed and can't be selected anymore\n\t$tw.utils.each(importData.tiddlers,function(tiddler,title) {\n\t\tif($tw.utils.count(tiddler) === 0) {\n\t\t\tnewFields[\"selection-\" + title] = \"unchecked\";\n\t\t\tnewFields[\"suppressed-\" + title] = \"yes\";\n\t\t}\n\t});\n\t// Save the $:/Import tiddler\n\tnewFields.text = JSON.stringify(importData,null,$tw.config.preferences.jsonSpaces);\n\tthis.wiki.addTiddler(new $tw.Tiddler(importTiddler,newFields));\n\t// Update the story and history details\n\tvar autoOpenOnImport = event.autoOpenOnImport || paramObject.autoOpenOnImport || this.getVariable(\"tv-auto-open-on-import\");\n\tif(autoOpenOnImport !== \"no\") {\n\t\tvar storyList = this.getStoryList(),\n\t\t\thistory = [];\n\t\t// Add it to the story\n\t\tif(storyList && storyList.indexOf(importTitle) === -1) {\n\t\t\tstoryList.unshift(importTitle);\n\t\t}\n\t\t// And to history\n\t\thistory.push(importTitle);\n\t\t// Save the updated story and history\n\t\tthis.saveStoryList(storyList);\n\t\tthis.addToHistory(history);\n\t}\n\treturn false;\n};\n\n//\nNavigatorWidget.prototype.handlePerformImportEvent = function(event) {\n\tvar self = this,\n\t\timportTiddler = this.wiki.getTiddler(event.param),\n\t\timportData,\n\t\timportReport = [];\n\timportReport.push($tw.language.getString(\"Import/Imported/Hint\") + \"\\n\");\n\t// If you need to modify the import tiddler payload then consider th-importing-tiddler instead\n\timportTiddler = $tw.hooks.invokeHook(\"th-before-importing\",importTiddler);\n\timportData = this.wiki.getTiddlerDataCached(event.param,{tiddlers: {}}),\n\t$tw.utils.each(importData.tiddlers,function(tiddlerFields) {\n\t\tvar title = tiddlerFields.title;\n\t\tif(title && importTiddler && importTiddler.fields[\"selection-\" + title] !== \"unchecked\") {\n\t\t\tif($tw.utils.hop(importTiddler.fields,[\"rename-\" + title])) {\n\t\t\t\tvar tiddler = new $tw.Tiddler(tiddlerFields,{title : importTiddler.fields[\"rename-\" + title]});\n\t\t\t} else {\n\t\t\t\tvar tiddler = new $tw.Tiddler(tiddlerFields);\n\t\t\t}\n\t\t\t// th-importing-tiddler doesn't allow user interaction by default\n\t\t\t// If you want to use the default UI then use: $:/core/modules/upgraders/ instead\n\t\t\ttiddler = $tw.hooks.invokeHook(\"th-importing-tiddler\",tiddler);\n\t\t\t// Add the tiddlers to the store\n\t\t\tself.wiki.addTiddler(tiddler);\n\t\t\timportReport.push(\"# [[\" + tiddler.fields.title + \"]]\");\n\t\t}\n\t});\n\t// Replace the $:/Import tiddler with an import report\n\tthis.wiki.addTiddler(new $tw.Tiddler({\n\t\ttitle: event.param,\n\t\ttext: importReport.join(\"\\n\"),\n\t\t\"status\": \"complete\"\n\t}));\n\t// Navigate to the $:/Import tiddler\n\tthis.addToHistory([event.param]);\n\t// Trigger an autosave\n\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n};\n\nNavigatorWidget.prototype.handleFoldTiddlerEvent = function(event) {\n\tvar paramObject = event.paramObject || {};\n\tif(paramObject.foldedState) {\n\t\tvar foldedState = this.wiki.getTiddlerText(paramObject.foldedState,\"show\") === \"show\" ? \"hide\" : \"show\";\n\t\tthis.wiki.setText(paramObject.foldedState,\"text\",null,foldedState);\n\t}\n};\n\nNavigatorWidget.prototype.handleFoldOtherTiddlersEvent = function(event) {\n\tvar self = this,\n\t\tparamObject = event.paramObject || {},\n\t\tprefix = paramObject.foldedStatePrefix;\n\t$tw.utils.each(this.getStoryList(),function(title) {\n\t\tself.wiki.setText(prefix + title,\"text\",null,event.param === title ? \"show\" : \"hide\");\n\t});\n};\n\nNavigatorWidget.prototype.handleFoldAllTiddlersEvent = function(event) {\n\tvar self = this,\n\t\tparamObject = event.paramObject || {},\n\t\tprefix = paramObject.foldedStatePrefix || \"$:/state/folded/\";\n\t$tw.utils.each(this.getStoryList(),function(title) {\n\t\tself.wiki.setText(prefix + title,\"text\",null,\"hide\");\n\t});\n};\n\nNavigatorWidget.prototype.handleUnfoldAllTiddlersEvent = function(event) {\n\tvar self = this,\n\t\tparamObject = event.paramObject || {},\n\t\tprefix = paramObject.foldedStatePrefix;\n\t$tw.utils.each(this.getStoryList(),function(title) {\n\t\tself.wiki.setText(prefix + title,\"text\",null,\"show\");\n\t});\n};\n\nexports.navigator = NavigatorWidget;\n"
  },
  {
    "path": "core/modules/widgets/parameters.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/parameters.js\ntype: application/javascript\nmodule-type: widget\n\nWidget for definition of transclusion parameters\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget,\n\tTranscludeWidget = require(\"$:/core/modules/widgets/transclude.js\").transclude;\n\nvar ParametersWidget = function(parseTreeNode,options) {\n\t// Initialise\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nParametersWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nParametersWidget.prototype.render = function(parent,nextSibling) {\n\t// Call the constructor\n\tWidget.call(this);\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nParametersWidget.prototype.execute = function() {\n\tvar self = this;\n\tthis.parametersDepth = Math.max(parseInt(this.getAttribute(\"$depth\",\"1\"),10) || 1,1);\n\t// Find the parent transclusions\n\tvar pointer = this.parentWidget,\n\t\tdepth = this.parametersDepth;\n\twhile(pointer) {\n\t\tif(pointer instanceof TranscludeWidget) {\n\t\t\tdepth--;\n\t\t\tif(depth <= 0) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tpointer = pointer.parentWidget;\n\t}\n\t// Process each parameter\n\tif(pointer instanceof TranscludeWidget) {\n\t\t// Get the value for each defined parameter\n\t\t$tw.utils.each($tw.utils.getOrderedAttributesFromParseTreeNode(self.parseTreeNode),function(attr,index) {\n\t\t\tvar name = attr.name;\n\t\t\t// If the attribute name starts with $$ then reduce to a single dollar\n\t\t\tif(name.substr(0,2) === \"$$\") {\n\t\t\t\tname = name.substr(1);\n\t\t\t}\n\t\t\tvar defaultValue = (self.multiValuedAttributes && self.multiValuedAttributes[attr.name])\n\t\t\t\t\t|| self.getAttribute(attr.name,\"\");\n\t\t\tvar value = pointer.getTransclusionParameter(name,index,defaultValue);\n\t\t\tself.setVariable(name,value);\n\t\t});\n\t\t// Assign any metaparameters\n\t\t$tw.utils.each(pointer.getTransclusionMetaParameters(),function(getValue,name) {\n\t\t\tvar variableName = self.getAttribute(\"$\" + name);\n\t\t\tif(variableName) {\n\t\t\t\tself.setVariable(variableName,getValue(name));\n\t\t\t}\n\t\t});\n\t} else {\n\t\t// There is no parent transclude. i.e. direct rendering.\n\t\t// We use default values only.\n\t\t$tw.utils.each($tw.utils.getOrderedAttributesFromParseTreeNode(self.parseTreeNode),function(attr,index) {\n\t\t\tvar name = attr.name;\n\t\t\t// If the attribute name starts with $$ then reduce to a single dollar\n\t\t\tif(name.substr(0,2) === \"$$\") {\n\t\t\t\tname = name.substr(1);\n\t\t\t}\n\t\t\tvar value = (self.multiValuedAttributes && self.multiValuedAttributes[attr.name])\n\t\t\t\t\t|| self.getAttribute(attr.name,\"\");\n\t\t\tself.setVariable(name,value);\n\t\t});\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nParametersWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(Object.keys(changedAttributes).length) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.parameters = ParametersWidget;\n"
  },
  {
    "path": "core/modules/widgets/password.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/password.js\ntype: application/javascript\nmodule-type: widget\n\nPassword widget\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar PasswordWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nPasswordWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nPasswordWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Get the current password\n\tvar password = $tw.browser ? $tw.utils.getPassword(this.passwordName) || \"\" : \"\";\n\t// Create our element\n\tvar domNode = this.document.createElement(\"input\");\n\tdomNode.setAttribute(\"type\",\"password\");\n\tdomNode.setAttribute(\"value\",password);\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.domNodes.push(domNode);\n\tthis.renderChildren(domNode,null);\n};\n\nPasswordWidget.prototype.handleChangeEvent = function(event) {\n\tvar password = this.domNodes[0].value;\n\treturn $tw.utils.savePassword(this.passwordName,password);\n};\n\n/*\nCompute the internal state of the widget\n*/\nPasswordWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.passwordName = this.getAttribute(\"name\",\"\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nPasswordWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.name) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.password = PasswordWidget;\n"
  },
  {
    "path": "core/modules/widgets/qualify.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/qualify.js\ntype: application/javascript\nmodule-type: widget\n\nQualify text to a variable \n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar QualifyWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nQualifyWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nQualifyWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nQualifyWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.qualifyName = this.getAttribute(\"name\");\n\tthis.qualifyTitle = this.getAttribute(\"title\");\n\t// Set context variable\n\tif(this.qualifyName) {\n\t\tthis.setVariable(this.qualifyName,this.qualifyTitle + \"-\" + this.getStateQualifier());\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nQualifyWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.name || changedAttributes.title) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.qualify = QualifyWidget;\n"
  },
  {
    "path": "core/modules/widgets/radio.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/radio.js\ntype: application/javascript\nmodule-type: widget\n\nSet a field or index at a given tiddler via radio buttons\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\nvar RadioWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRadioWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRadioWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\tvar isChecked = this.getValue() === this.radioValue;\n\t// Create our elements\n\tthis.labelDomNode = this.document.createElement(\"label\");\n\tthis.labelDomNode.setAttribute(\"class\",\n\t\t\"tc-radio \" + this.radioClass + (isChecked ? \" tc-radio-selected\" : \"\")\n\t);\n\tthis.inputDomNode = this.document.createElement(\"input\");\n\tthis.inputDomNode.setAttribute(\"type\",\"radio\");\n\tthis.assignAttributes(this.inputDomNode,{\n\t\tsourcePrefix: \"data-\",\n\t\tdestPrefix: \"data-\"\n\t});\n\tif(isChecked) {\n\t\tthis.inputDomNode.checked = true;\n\t}\n\tif(this.tabIndex) {\n\t\tthis.inputDomNode.setAttribute(\"tabindex\", this.tabIndex);\n\t}\n\tif(this.isDisabled === \"yes\") {\n\t\tthis.inputDomNode.setAttribute(\"disabled\",true);\n\t}\n\tthis.labelDomNode.appendChild(this.inputDomNode);\n\tthis.spanDomNode = this.document.createElement(\"span\");\n\tthis.labelDomNode.appendChild(this.spanDomNode);\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(this.inputDomNode,[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(this.labelDomNode,nextSibling);\n\tthis.domNodes.push(this.labelDomNode);\n\tthis.renderChildren(this.spanDomNode,null);\n};\n\nRadioWidget.prototype.getValue = function() {\n\tvar value,\n\t\ttiddler = this.wiki.getTiddler(this.radioTitle);\n\tif(tiddler) {\n\t\tif(this.radioIndex) {\n\t\t\tvalue = this.wiki.extractTiddlerDataItem(this.radioTitle,this.radioIndex,this.radioDefault);\n\t\t} else {\n\t\t\tvalue = tiddler.getFieldString(this.radioField,this.radioDefault);\n\t\t}\n\t} else {\n\t\tvalue = this.radioDefault;\n\t}\n\treturn value;\n};\n\nRadioWidget.prototype.setValue = function() {\n\tif(this.radioIndex) {\n\t\tthis.wiki.setText(this.radioTitle,\"\",this.radioIndex,this.radioValue);\n\t} else {\n\t\tvar tiddler = this.wiki.getTiddler(this.radioTitle),\n\t\t\taddition = {};\n\t\taddition[this.radioField] = this.radioValue;\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),{title: this.radioTitle},tiddler,addition,this.wiki.getModificationFields()));\n\t}\n};\n\nRadioWidget.prototype.handleChangeEvent = function(event) {\n\tif(this.inputDomNode.checked) {\n\t\tthis.setValue();\n\t}\n\t// Trigger actions\n\tif(this.radioActions) {\n\t\tthis.invokeActionString(this.radioActions,this,event,{\"actionValue\": this.radioValue});\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nRadioWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.radioTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.radioField = this.getAttribute(\"field\",\"text\");\n\tthis.radioIndex = this.getAttribute(\"index\");\n\tthis.radioValue = this.getAttribute(\"value\");\n\tthis.radioClass = this.getAttribute(\"class\",\"\");\n\tthis.radioDefault = this.getAttribute(\"default\");\n\tthis.isDisabled = this.getAttribute(\"disabled\",\"no\");\n\tthis.tabIndex = this.getAttribute(\"tabindex\");\n\tthis.radioActions = this.getAttribute(\"actions\",\"\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRadioWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(($tw.utils.count(changedAttributes) > 0)) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else if(changedTiddlers[this.radioTitle]) {\n\t\tthis.inputDomNode.checked = this.getValue() === this.radioValue;\n\t\t$tw.utils.toggleClass(this.labelDomNode,\"tc-radio-selected\",this.inputDomNode.checked);\n\t\treturn this.refreshChildren(changedTiddlers);\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.radio = RadioWidget;\n"
  },
  {
    "path": "core/modules/widgets/range.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/range.js\ntype: application/javascript\nmodule-type: widget\n\nRange widget\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar RangeWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRangeWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRangeWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Create our elements\n\tthis.inputDomNode = this.document.createElement(\"input\");\n\tthis.inputDomNode.setAttribute(\"type\",\"range\");\n\tthis.inputDomNode.setAttribute(\"class\",this.elementClass);\n\tif(this.minValue){\n\t\tthis.inputDomNode.setAttribute(\"min\", this.minValue);\n\t}\n\tif(this.maxValue){\n\t\tthis.inputDomNode.setAttribute(\"max\", this.maxValue);\n\t}\n\tif(this.increment){\n\t\tthis.inputDomNode.setAttribute(\"step\", this.increment);\n\t}\n\tif(this.tabIndex) {\n\t\tthis.inputDomNode.setAttribute(\"tabindex\", this.tabIndex);\n\t}\n\tif(this.isDisabled === \"yes\") {\n\t\tthis.inputDomNode.setAttribute(\"disabled\",true);\n\t}\n\tthis.inputDomNode.value = this.getValue();\n\tthis.assignAttributes(this.inputDomNode,{\n\t\tsourcePrefix: \"data-\",\n\t\tdestPrefix: \"data-\"\n\t});\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(this.inputDomNode,[\n\t\t{name:\"mousedown\", handlerObject:this, handlerMethod:\"handleMouseDownEvent\"},\n\t\t{name:\"mouseup\",   handlerObject:this, handlerMethod:\"handleMouseUpEvent\"},\n\t\t{name:\"change\",    handlerObject:this, handlerMethod:\"handleChangeEvent\"},\n\t\t{name:\"input\",     handlerObject:this, handlerMethod:\"handleInputEvent\"},\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(this.inputDomNode,nextSibling);\n\tthis.domNodes.push(this.inputDomNode);\n};\n\nRangeWidget.prototype.getValue = function() {\n\tvar tiddler = this.wiki.getTiddler(this.tiddlerTitle),\n\t\tfieldName = this.tiddlerField,\n\t\tvalue = this.defaultValue;\n\tif(tiddler) {\n\t\tif(this.tiddlerIndex) {\n\t\t\tvalue = this.wiki.extractTiddlerDataItem(tiddler,this.tiddlerIndex,this.defaultValue);\n\t\t} else {\n\t\t\tif($tw.utils.hop(tiddler.fields,fieldName)) {\n\t\t\t\tvalue = tiddler.fields[fieldName] || \"\";\n\t\t\t} else {\n\t\t\t\tvalue = this.defaultValue;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n\nRangeWidget.prototype.getActionVariables = function(options) {\n\toptions = options || {};\n\tvar hasChanged = (this.startValue !== this.inputDomNode.value) ? \"yes\" : \"no\";\n\t// Trigger actions. Use variables = {key:value, key:value ...}\n\t// the \"value\" is needed.\n\treturn $tw.utils.extend({\"actionValue\": this.inputDomNode.value, \"actionValueHasChanged\": hasChanged}, options);\n};\n\n// actionsStart\nRangeWidget.prototype.handleMouseDownEvent = function(event) {\n\tthis.handleEvent(event);\n\t// Trigger actions\n\tif(this.actionsMouseDown) {\n\t\tvar variables = this.getActionVariables(); // TODO this line will go into the function call below.\n\t\tthis.invokeActionString(this.actionsMouseDown,this,event,variables);\n\t}\n};\n\n// actionsStop\nRangeWidget.prototype.handleMouseUpEvent = function(event) {\n\tthis.handleEvent(event);\n\t// Trigger actions\n\tif(this.actionsMouseUp) {\n\t\tvar variables = this.getActionVariables();\n\t\tthis.invokeActionString(this.actionsMouseUp,this,event,variables);\n\t}\n};\n\nRangeWidget.prototype.handleChangeEvent = function(event) {\n\tthis.handleInputEvent(event);\n};\n\nRangeWidget.prototype.handleInputEvent = function(event) {\n\tthis.handleEvent(event);\n\t// Trigger actions\n\tif(this.actionsInput) {\n\t\t// \"tiddler\" parameter may be missing. See .execute() below\n\t\tvar variables = this.getActionVariables({\"actionValueHasChanged\": \"yes\"}); // TODO this line will go into the function call below.\n\t\tthis.invokeActionString(this.actionsInput,this,event,variables);\n\t}\n};\n\nRangeWidget.prototype.handleEvent = function(event) {\n\tif(this.getValue() !== this.inputDomNode.value) {\n\t\tif(this.tiddlerIndex) {\n\t\t\tthis.wiki.setText(this.tiddlerTitle,\"\",this.tiddlerIndex,this.inputDomNode.value);\n\t\t} else {\n\t\t\tthis.wiki.setText(this.tiddlerTitle,this.tiddlerField,null,this.inputDomNode.value);\n\t\t}\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nRangeWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.tiddlerTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.tiddlerField = this.getAttribute(\"field\",\"text\");\n\tthis.tiddlerIndex = this.getAttribute(\"index\");\n\tthis.minValue = this.getAttribute(\"min\");\n\tthis.maxValue = this.getAttribute(\"max\");\n\tthis.increment = this.getAttribute(\"increment\");\n\tthis.defaultValue = this.getAttribute(\"default\",\"\");\n\tthis.elementClass = this.getAttribute(\"class\",\"\");\n\tthis.isDisabled = this.getAttribute(\"disabled\",\"no\");\n\tthis.tabIndex = this.getAttribute(\"tabindex\");\n\t// Actions since 5.1.23\n\t// Next 2 only fire once!\n\tthis.actionsMouseDown = this.getAttribute(\"actionsStart\",\"\");\n\tthis.actionsMouseUp = this.getAttribute(\"actionsStop\",\"\");\n\t// Input fires very often!\n\tthis.actionsInput = this.getAttribute(\"actions\",\"\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRangeWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar refreshed = false;\n\t\tif(changedTiddlers[this.tiddlerTitle]) {\n\t\t\tvar value = this.getValue();\n\t\t\tif(this.inputDomNode.value !== value) {\n\t\t\t\tthis.inputDomNode.value = value;\n\t\t\t}\n\t\t\trefreshed = true;\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers) || refreshed;\n\t}\n};\n\nexports.range = RangeWidget;\n"
  },
  {
    "path": "core/modules/widgets/raw.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/raw.js\ntype: application/javascript\nmodule-type: widget\n\nRaw widget\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar RawWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRawWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRawWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.execute();\n\tvar div = this.document.createElement(\"div\");\n\tdiv.innerHTML=this.parseTreeNode.html;\n\tparent.insertBefore(div,nextSibling);\n\tthis.domNodes.push(div);\n};\n\n/*\nCompute the internal state of the widget\n*/\nRawWidget.prototype.execute = function() {\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRawWidget.prototype.refresh = function(changedTiddlers) {\n\treturn false;\n};\n\nexports.raw = RawWidget;\n"
  },
  {
    "path": "core/modules/widgets/reveal.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/reveal.js\ntype: application/javascript\nmodule-type: widget\n\nReveal widget\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar Popup = require(\"$:/core/modules/utils/dom/popup.js\");\n\nvar RevealWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRevealWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRevealWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar tag = this.parseTreeNode.isBlock ? \"div\" : \"span\";\n\tif(this.revealTag && $tw.config.htmlUnsafeElements.indexOf(this.revealTag) === -1) {\n\t\ttag = this.revealTag;\n\t}\n\tvar domNode = this.document.createElement(tag);\n\tthis.domNode = domNode;\n\tthis.assignDomNodeClasses();\n\tif(this.style) {\n\t\tdomNode.setAttribute(\"style\",this.style);\n\t}\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.domNodes.push(domNode);\n\tthis.renderChildren(domNode,null);\n\tif(!domNode.isTiddlyWikiFakeDom && this.type === \"popup\" && this.isOpen) {\n\t\tthis.positionPopup(domNode);\n\t\t$tw.utils.addClass(domNode,\"tc-popup\"); // Make sure that clicks don't dismiss popups within the revealed content\n\t}\n\tif(!this.isOpen) {\n\t\tdomNode.setAttribute(\"hidden\",\"true\");\n\t}\n};\n\nRevealWidget.prototype.positionPopup = function(domNode) {\n\tdomNode.style.position = \"absolute\";\n\tdomNode.style.zIndex = \"1000\";\n\tvar left,top;\n\tswitch(this.position) {\n\t\tcase \"left\":\n\t\t\tleft = this.popup.left - domNode.offsetWidth;\n\t\t\ttop = this.popup.top;\n\t\t\tbreak;\n\t\tcase \"above\":\n\t\t\tleft = this.popup.left;\n\t\t\ttop = this.popup.top - domNode.offsetHeight;\n\t\t\tbreak;\n\t\tcase \"aboveright\":\n\t\t\tleft = this.popup.left + this.popup.width;\n\t\t\ttop = this.popup.top + this.popup.height - domNode.offsetHeight;\n\t\t\tbreak;\n\t\tcase \"belowright\":\n\t\t\tleft = this.popup.left + this.popup.width;\n\t\t\ttop = this.popup.top + this.popup.height;\n\t\t\tbreak;\n\t\tcase \"right\":\n\t\t\tleft = this.popup.left + this.popup.width;\n\t\t\ttop = this.popup.top;\n\t\t\tbreak;\n\t\tcase \"belowleft\":\n\t\t\tleft = this.popup.left + this.popup.width - domNode.offsetWidth;\n\t\t\ttop = this.popup.top + this.popup.height;\n\t\t\tbreak;\n\t\tcase \"aboveleft\":\n\t\t\tleft = this.popup.left - domNode.offsetWidth;\n\t\t\ttop = this.popup.top - domNode.offsetHeight;\n\t\t\tbreak;\n\t\tdefault: // Below\n\t\t\tleft = this.popup.left;\n\t\t\ttop = this.popup.top + this.popup.height;\n\t\t\tbreak;\n\t}\n\t// if requested, clamp the popup so that it will always be fully inside its parent (the first upstream element with position:relative), as long as the popup is smaller than its parent\n\t// if position is absolute then clamping is done to the canvas boundary, since there is no \"parent\"\n\tif(this.clampToParent !== \"none\") {\n\t\tif(this.popup.absolute) {\n\t\t\tvar parentWidth = window.innerWidth,\n\t\t\t\tparentHeight = window.innerHeight;\n\t\t} else {\n\t\t\tvar parentWidth = domNode.offsetParent.offsetWidth,\n\t\t\t\tparentHeight = domNode.offsetParent.offsetHeight;\n\t\t}\n\t\tvar right = left + domNode.offsetWidth,\n\t\t\tbottom = top + domNode.offsetHeight;\n\t\tif((this.clampToParent === \"both\" || this.clampToParent === \"right\") && right > parentWidth) {\n\t\t\tleft = parentWidth - domNode.offsetWidth;\n\t\t}\n\t\tif((this.clampToParent === \"both\" || this.clampToParent === \"bottom\") && bottom > parentHeight) {\n\t\t\ttop = parentHeight - domNode.offsetHeight;\n\t\t}\n\t\t// clamping on left and top sides is taken care of by positionAllowNegative\n\t}\n\tif(!this.positionAllowNegative) {\n\t\tleft = Math.max(0,left);\n\t\ttop = Math.max(0,top);\n\t}\n\tif(this.popup.absolute) {\n\t\t// Traverse the offsetParent chain and correct the offset to make it relative to the parent node.\n\t\tfor(var offsetParentDomNode = domNode.offsetParent; offsetParentDomNode; offsetParentDomNode = offsetParentDomNode.offsetParent) {\n\t\t\tleft -= offsetParentDomNode.offsetLeft;\n\t\t\ttop -= offsetParentDomNode.offsetTop;\n\t\t}\n\t}\n\tdomNode.style.left = left + \"px\";\n\tdomNode.style.top = top + \"px\";\n};\n\n/*\nCompute the internal state of the widget\n*/\nRevealWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.state = this.getAttribute(\"state\");\n\tthis.revealTag = this.getAttribute(\"tag\");\n\tthis.type = this.getAttribute(\"type\");\n\tthis.text = this.getAttribute(\"text\");\n\tthis.position = this.getAttribute(\"position\");\n\tthis.positionAllowNegative = this.getAttribute(\"positionAllowNegative\") === \"yes\";\n\t// class attribute handled in assignDomNodeClasses()\n\tthis.style = this.getAttribute(\"style\",\"\");\n\tthis[\"default\"] = this.getAttribute(\"default\",\"\");\n\tthis.animate = this.getAttribute(\"animate\",\"no\");\n\tthis.retain = this.getAttribute(\"retain\",\"no\");\n\tthis.openAnimation = this.animate === \"no\" ? undefined : \"open\";\n\tthis.closeAnimation = this.animate === \"no\" ? undefined : \"close\";\n\tthis.updatePopupPosition = this.getAttribute(\"updatePopupPosition\",\"no\") === \"yes\";\n\tthis.clampToParent = this.getAttribute(\"clamp\",\"none\");\n\t// Compute the title of the state tiddler and read it\n\tthis.stateTiddlerTitle = this.state;\n\tthis.stateTitle = this.getAttribute(\"stateTitle\");\n\tthis.stateField = this.getAttribute(\"stateField\");\n\tthis.stateIndex = this.getAttribute(\"stateIndex\");\n\tthis.readState();\n\t// Construct the child widgets\n\tvar childNodes = this.isOpen ? this.parseTreeNode.children : [];\n\tthis.hasChildNodes = this.isOpen;\n\tthis.makeChildWidgets(childNodes);\n};\n\n/*\nRead the state tiddler\n*/\nRevealWidget.prototype.readState = function() {\n\t// Read the information from the state tiddler\n\tvar state,\n\t\tdefaultState = this[\"default\"];\n\tif(this.stateTitle) {\n\t\tvar stateTitleTiddler = this.wiki.getTiddler(this.stateTitle);\n\t\tif(this.stateField) {\n\t\t\tstate = stateTitleTiddler ? stateTitleTiddler.getFieldString(this.stateField) || defaultState : defaultState;\n\t\t} else if(this.stateIndex) {\n\t\t\tstate = stateTitleTiddler ? this.wiki.extractTiddlerDataItem(this.stateTitle,this.stateIndex) || defaultState : defaultState;\n\t\t} else if(stateTitleTiddler) {\n\t\t\tstate = this.wiki.getTiddlerText(this.stateTitle) || defaultState;\n\t\t} else {\n\t\t\tstate = defaultState;\n\t\t}\n\t} else {\n\t\tstate = this.stateTiddlerTitle ? this.wiki.getTextReference(this.state,this[\"default\"],this.getVariable(\"currentTiddler\")) : this[\"default\"];\n\t}\n\tif(state === null) {\n\t\tstate = this[\"default\"];\n\t}\n\tswitch(this.type) {\n\t\tcase \"popup\":\n\t\t\tthis.readPopupState(state);\n\t\t\tbreak;\n\t\tcase \"match\":\n\t\t\tthis.isOpen = this.text === state;\n\t\t\tbreak;\n\t\tcase \"nomatch\":\n\t\t\tthis.isOpen = this.text !== state;\n\t\t\tbreak;\n\t\tcase \"lt\":\n\t\t\tthis.isOpen = !!(this.compareStateText(state) < 0);\n\t\t\tbreak;\n\t\tcase \"gt\":\n\t\t\tthis.isOpen = !!(this.compareStateText(state) > 0);\n\t\t\tbreak;\n\t\tcase \"lteq\":\n\t\t\tthis.isOpen = !(this.compareStateText(state) > 0);\n\t\t\tbreak;\n\t\tcase \"gteq\":\n\t\t\tthis.isOpen = !(this.compareStateText(state) < 0);\n\t\t\tbreak;\n\t}\n};\n\nRevealWidget.prototype.compareStateText = function(state) {\n\treturn state.localeCompare(this.text,undefined,{numeric: true,sensitivity: \"case\"});\n};\n\nRevealWidget.prototype.readPopupState = function(state) {\n\tthis.popup = Popup.parseCoordinates(state);\n\t// Check if the state matches the location regexp\n\tif(this.popup) {\n\t\t// If so, we're open\n\t\tthis.isOpen = true;\n\t} else {\n\t\t// If not, we're closed\n\t\tthis.isOpen = false;\n\t}\n};\n\nRevealWidget.prototype.assignDomNodeClasses = function() {\n\tvar classes = this.getAttribute(\"class\",\"\").split(\" \");\n\tclasses.push(\"tc-reveal\");\n\tthis.domNode.className = classes.join(\" \").trim();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRevealWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.state || changedAttributes.type || changedAttributes.text || changedAttributes.position || changedAttributes.positionAllowNegative || changedAttributes[\"default\"] || changedAttributes.animate || changedAttributes.stateTitle || changedAttributes.stateField || changedAttributes.stateIndex) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar currentlyOpen = this.isOpen;\n\t\tthis.readState();\n\t\tif(this.isOpen !== currentlyOpen) {\n\t\t\tif(this.retain === \"yes\") {\n\t\t\t\tthis.updateState();\n\t\t\t} else {\n\t\t\t\tthis.refreshSelf();\n\t\t\t\treturn true;\n\t\t\t}\n\t\t} else if(this.type === \"popup\" && this.isOpen && this.updatePopupPosition && (changedTiddlers[this.state] || changedTiddlers[this.stateTitle])) {\n\t\t\tthis.positionPopup(this.domNode);\n\t\t}\n\t\tif(changedAttributes.style) {\n\t\t\tthis.domNode.style = this.getAttribute(\"style\",\"\");\n\t\t}\n\t\tif(changedAttributes[\"class\"]) {\n\t\t\tthis.assignDomNodeClasses();\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\n/*\nCalled by refresh() to dynamically show or hide the content\n*/\nRevealWidget.prototype.updateState = function() {\n\tvar self = this;\n\t// Read the current state\n\tthis.readState();\n\t// Construct the child nodes if needed\n\tvar domNode = this.domNodes[0];\n\tif(this.isOpen && !this.hasChildNodes) {\n\t\tthis.hasChildNodes = true;\n\t\tthis.makeChildWidgets(this.parseTreeNode.children);\n\t\tthis.renderChildren(domNode,null);\n\t}\n\t// Animate our DOM node\n\tif(this.isOpen) {\n\t\tdomNode.removeAttribute(\"hidden\");\n\t\t// Position popup after making it visible to ensure correct dimensions\n\t\tif(!domNode.isTiddlyWikiFakeDom && this.type === \"popup\") {\n\t\t\tthis.positionPopup(domNode);\n\t\t\t$tw.utils.addClass(domNode,\"tc-popup\"); // Make sure that clicks don't dismiss popups within the revealed content\n\t\t}\n\t\t$tw.anim.perform(this.openAnimation,domNode);\n\t} else {\n\t\t$tw.anim.perform(this.closeAnimation,domNode,{callback: function() {\n\t\t\t//make sure that the state hasn't changed during the close animation\n\t\t\tself.readState();\n\t\t\tif(!self.isOpen) {\n\t\t\t\tdomNode.setAttribute(\"hidden\",\"true\");\n\t\t\t}\n\t\t}});\n\t}\n};\n\nexports.reveal = RevealWidget;\n"
  },
  {
    "path": "core/modules/widgets/scrollable.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/scrollable.js\ntype: application/javascript\nmodule-type: widget\n\nScrollable widget\n\n\\*/\n\n\"use strict\";\n\nvar DEBOUNCE_INTERVAL = 100; // Delay after last scroll event before updating the bound tiddler\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ScrollableWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nScrollableWidget.prototype = new Widget();\n\nScrollableWidget.prototype.cancelScroll = function() {\n\tif(this.idRequestFrame) {\n\t\tthis.cancelAnimationFrame.call(window,this.idRequestFrame);\n\t\tthis.idRequestFrame = null;\n\t}\n};\n\n/*\nHandle a scroll event\n*/\nScrollableWidget.prototype.handleScrollEvent = function(event) {\n\t// Pass the scroll event through if our offsetsize is larger than our scrollsize\n\tif(this.outerDomNode.scrollWidth <= this.outerDomNode.offsetWidth && this.outerDomNode.scrollHeight <= this.outerDomNode.offsetHeight && this.fallthrough === \"yes\") {\n\t\treturn true;\n\t}\n\tvar options = {};\n\tif($tw.utils.hop(event.paramObject,\"animationDuration\")) {\n\t\toptions.animationDuration = event.paramObject.animationDuration;\n\t}\n\tif(event.paramObject && event.paramObject.selector) {\n\t\tthis.scrollSelectorIntoView(null,event.paramObject.selector,null,options);\n\t} else {\n\t\tthis.scrollIntoView(event.target,null,options);\n\t}\n\treturn false; // Handled event\n};\n\n/*\nScroll an element into view\n*/\nScrollableWidget.prototype.scrollIntoView = function(element,callback,options) {\n\tvar duration = $tw.utils.hop(options,\"animationDuration\") ? parseInt(options.animationDuration) : $tw.utils.getAnimationDuration(),\n\t\tsrcWindow = element ? element.ownerDocument.defaultView : window;\n\tthis.cancelScroll();\n\tthis.startTime = Date.now();\n\tvar scrollPosition = {\n\t\tx: this.outerDomNode.scrollLeft,\n\t\ty: this.outerDomNode.scrollTop\n\t};\n\t// Get the client bounds of the element and adjust by the scroll position\n\tvar scrollableBounds = this.outerDomNode.getBoundingClientRect(),\n\t\tclientTargetBounds = element.getBoundingClientRect(),\n\t\tbounds = {\n\t\t\tleft: clientTargetBounds.left + scrollPosition.x - scrollableBounds.left,\n\t\t\ttop: clientTargetBounds.top + scrollPosition.y - scrollableBounds.top,\n\t\t\twidth: clientTargetBounds.width,\n\t\t\theight: clientTargetBounds.height\n\t\t};\n\t// We'll consider the horizontal and vertical scroll directions separately via this function\n\tvar getEndPos = function(targetPos,targetSize,currentPos,currentSize) {\n\t\t\t// If the target is already visible then stay where we are\n\t\t\tif(targetPos >= currentPos && (targetPos + targetSize) <= (currentPos + currentSize)) {\n\t\t\t\treturn currentPos;\n\t\t\t// If the target is above/left of the current view, then scroll to its top/left\n\t\t\t} else if(targetPos <= currentPos) {\n\t\t\t\treturn targetPos;\n\t\t\t// If the target is smaller than the window and the scroll position is too far up, then scroll till the target is at the bottom of the window\n\t\t\t} else if(targetSize < currentSize && currentPos < (targetPos + targetSize - currentSize)) {\n\t\t\t\treturn targetPos + targetSize - currentSize;\n\t\t\t// If the target is big, then just scroll to the top\n\t\t\t} else if(currentPos < targetPos) {\n\t\t\t\treturn targetPos;\n\t\t\t// Otherwise, stay where we are\n\t\t\t} else {\n\t\t\t\treturn currentPos;\n\t\t\t}\n\t\t},\n\t\tendX = getEndPos(bounds.left,bounds.width,scrollPosition.x,this.outerDomNode.offsetWidth),\n\t\tendY = getEndPos(bounds.top,bounds.height,scrollPosition.y,this.outerDomNode.offsetHeight);\n\t// Only scroll if necessary\n\tif(endX !== scrollPosition.x || endY !== scrollPosition.y) {\n\t\tvar self = this,\n\t\t\tdrawFrame;\n\t\tdrawFrame = function () {\n\t\t\tvar t;\n\t\t\tif(duration <= 0) {\n\t\t\t\tt = 1;\n\t\t\t} else {\n\t\t\t\tt = ((Date.now()) - self.startTime) / duration;\n\t\t\t}\n\t\t\tif(t >= 1) {\n\t\t\t\tself.cancelScroll();\n\t\t\t\tt = 1;\n\t\t\t}\n\t\t\tt = $tw.utils.slowInSlowOut(t);\n\t\t\tself.outerDomNode.scrollLeft = scrollPosition.x + (endX - scrollPosition.x) * t;\n\t\t\tself.outerDomNode.scrollTop = scrollPosition.y + (endY - scrollPosition.y) * t;\n\t\t\tif(t < 1) {\n\t\t\t\tself.idRequestFrame = self.requestAnimationFrame.call(srcWindow,drawFrame);\n\t\t\t}\n\t\t};\n\t\tdrawFrame();\n\t}\n};\n\nScrollableWidget.prototype.scrollSelectorIntoView = function(baseElement,selector,callback,options) {\n\tbaseElement = baseElement || document;\n\tvar element = $tw.utils.querySelectorSafe(selector,baseElement);\n\tif(element) {\n\t\tthis.scrollIntoView(element,callback,options);\n\t}\n};\n\n/*\nRender this widget into the DOM\n*/\nScrollableWidget.prototype.render = function(parent,nextSibling) {\n\tthis.scaleFactor = 1;\n\tthis.addEventListeners([\n\t\t{type: \"tm-scroll\", handler: \"handleScrollEvent\"}\n\t]);\n\tif($tw.browser) {\n\t\tthis.requestAnimationFrame = window.requestAnimationFrame ||\n\t\t\twindow.webkitRequestAnimationFrame ||\n\t\t\twindow.mozRequestAnimationFrame ||\n\t\t\tfunction(callback) {\n\t\t\t\treturn window.setTimeout(callback, 1000/60);\n\t\t\t};\n\t\tthis.cancelAnimationFrame = window.cancelAnimationFrame ||\n\t\t\twindow.webkitCancelAnimationFrame ||\n\t\t\twindow.webkitCancelRequestAnimationFrame ||\n\t\t\twindow.mozCancelAnimationFrame ||\n\t\t\twindow.mozCancelRequestAnimationFrame ||\n\t\t\tfunction(id) {\n\t\t\t\twindow.clearTimeout(id);\n\t\t\t};\n\t}\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create elements\n\tthis.outerDomNode = this.document.createElement(\"div\");\n\t$tw.utils.setStyle(this.outerDomNode,[\n\t\t{overflowY: \"auto\"},\n\t\t{overflowX: \"auto\"},\n\t\t{webkitOverflowScrolling: \"touch\"}\n\t]);\n\tthis.innerDomNode = this.document.createElement(\"div\");\n\tthis.outerDomNode.appendChild(this.innerDomNode);\n\t// Assign classes\n\tthis.outerDomNode.className = this[\"class\"] || \"\";\n\t// Insert element\n\tparent.insertBefore(this.outerDomNode,nextSibling);\n\tthis.domNodes.push(this.outerDomNode);\n\tthis.renderChildren(this.innerDomNode,null);\n\t// If the scroll position is bound to a tiddler\n\tif(this.scrollableBind) {\n\t\t// After a delay for rendering, scroll to the bound position\n\t\tthis.updateScrollPositionFromBoundTiddler();\n\t\t// Set up event listener\n\t\tthis.currentListener = this.listenerFunction.bind(this);\n\t\tthis.outerDomNode.addEventListener(\"scroll\", this.currentListener);\n\t}\n};\n\nScrollableWidget.prototype.listenerFunction = function(event) {\n\tvar self = this;\n\tclearTimeout(this.timeout);\n\tthis.timeout = setTimeout(function() {\n\t\tvar existingTiddler = self.wiki.getTiddler(self.scrollableBind),\n\t\t\tnewTiddlerFields = {\n\t\t\t\ttitle: self.scrollableBind,\n\t\t\t\t\"scroll-left\": self.outerDomNode.scrollLeft.toString(),\n\t\t\t\t\"scroll-top\": self.outerDomNode.scrollTop.toString()\n\t\t\t};\n\t\tif(!existingTiddler || (existingTiddler.fields[\"title\"] !== newTiddlerFields[\"title\"]) || (existingTiddler.fields[\"scroll-left\"] !== newTiddlerFields[\"scroll-left\"] || existingTiddler.fields[\"scroll-top\"] !== newTiddlerFields[\"scroll-top\"])) {\n\t\t\tself.wiki.addTiddler(new $tw.Tiddler(existingTiddler,newTiddlerFields));\n\t\t}\n\t}, DEBOUNCE_INTERVAL);\n};\n\nScrollableWidget.prototype.updateScrollPositionFromBoundTiddler = function() {\n\t// Bail if we're running on the fakedom\n\tif(!this.outerDomNode.scrollTo) {\n\t\treturn;\n\t}\n\tvar tiddler = this.wiki.getTiddler(this.scrollableBind);\n\tif(tiddler) {\n\t\tvar scrollLeftTo = this.outerDomNode.scrollLeft;\n\t\tif(parseFloat(tiddler.fields[\"scroll-left\"]).toString() === tiddler.fields[\"scroll-left\"]) {\n\t\t\tscrollLeftTo = parseFloat(tiddler.fields[\"scroll-left\"]);\n\t\t}\n\t\tvar scrollTopTo = this.outerDomNode.scrollTop;\n\t\tif(parseFloat(tiddler.fields[\"scroll-top\"]).toString() === tiddler.fields[\"scroll-top\"]) {\n\t\t\tscrollTopTo = parseFloat(tiddler.fields[\"scroll-top\"]);\n\t\t}\n\t\tthis.outerDomNode.scrollTo({\n\t\t\ttop: scrollTopTo,\n\t\t\tleft: scrollLeftTo,\n\t\t\tbehavior: \"instant\"\n\t\t});\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nScrollableWidget.prototype.execute = function() {\n\t// Get attributes\n\tthis.scrollableBind = this.getAttribute(\"bind\");\n\tthis.fallthrough = this.getAttribute(\"fallthrough\",\"yes\");\n\tthis[\"class\"] = this.getAttribute(\"class\");\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nScrollableWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\t// If the bound tiddler has changed, update the eventListener and update scroll position\n\tif(changedAttributes[\"bind\"]) {\n\t\tif(this.currentListener) {\n\t\t\tthis.outerDomNode.removeEventListener(\"scroll\", this.currentListener, false);\n\t\t}\n\t\tthis.scrollableBind = this.getAttribute(\"bind\");\n\t\tthis.currentListener = this.listenerFunction.bind(this);\n\t\tthis.outerDomNode.addEventListener(\"scroll\", this.currentListener);\n\t}\n\t// Refresh children\n\tvar result = this.refreshChildren(changedTiddlers);\n\t// If the bound tiddler has changed, update scroll position\n\tif(changedAttributes[\"bind\"] || changedTiddlers[this.getAttribute(\"bind\")]) {\n\t\tthis.updateScrollPositionFromBoundTiddler();\n\t}\n\treturn result;\n};\n\nexports.scrollable = ScrollableWidget;\n"
  },
  {
    "path": "core/modules/widgets/select.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/select.js\ntype: application/javascript\nmodule-type: widget\n\nSelect widget:\n\n```\n<$select tiddler=\"MyTiddler\" field=\"text\">\n<$list filter=\"[tag[chapter]]\">\n<option value=<<currentTiddler>>>\n<$view field=\"description\"/>\n</option>\n</$list>\n</$select>\n```\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SelectWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSelectWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSelectWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t//Create element\n\tvar domNode = this.document.createElement(\"select\");\n\tif(this.selectClass) {\n\t\tdomNode.className = this.selectClass;\n\t}\n\t// Assign data- attributes\n\tthis.assignAttributes(domNode,{\n\t\tsourcePrefix: \"data-\",\n\t\tdestPrefix: \"data-\"\n\t});\n\tif(this.selectMultiple) {\n\t\tdomNode.setAttribute(\"multiple\",\"multiple\");\n\t}\n\tif(this.isDisabled === \"yes\") {\n\t\tdomNode.setAttribute(\"disabled\", true);\n\t}\n\tif(this.selectSize) {\n\t\tdomNode.setAttribute(\"size\",this.selectSize);\n\t}\n\tif(this.selectTabindex) {\n\t\tdomNode.setAttribute(\"tabindex\",this.selectTabindex);\n\t}\n\tif(this.selectTooltip) {\n\t\tdomNode.setAttribute(\"title\",this.selectTooltip);\n\t}\n\tthis.parentDomNode.insertBefore(domNode,nextSibling);\n\tthis.domNodes.push(domNode);\n\tthis.renderChildren(domNode,null);\n\tthis.setSelectValue();\n\tif(this.selectFocus == \"yes\") {\n\t\tthis.getSelectDomNode().focus();\n\t}\n\t$tw.utils.addEventListeners(this.getSelectDomNode(),[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n};\n\n/*\nHandle a change event\n*/\nSelectWidget.prototype.handleChangeEvent = function(event) {\n\t// Get the new value and assign it to the tiddler\n\tif(this.selectMultiple == false) {\n\t\tvar value = this.getSelectDomNode().value;\n\t} else {\n\t\tvar value = this.getSelectValues();\n\t\tvalue = $tw.utils.stringifyList(value);\n\t}\n\tthis.wiki.setText(this.selectTitle,this.selectField,this.selectIndex,value);\n\t// Trigger actions\n\tif(this.selectActions) {\n\t\tthis.invokeActionString(this.selectActions,this,event);\n\t}\n};\n\n/*\nIf necessary, set the value of the select element to the current value\n*/\nSelectWidget.prototype.setSelectValue = function() {\n\tvar value = this.selectDefault;\n\t// Get the value\n\tif(this.selectIndex) {\n\t\tvalue = this.wiki.extractTiddlerDataItem(this.selectTitle,this.selectIndex,value);\n\t} else {\n\t\tvar tiddler = this.wiki.getTiddler(this.selectTitle);\n\t\tif(tiddler) {\n\t\t\tif(this.selectField === \"text\") {\n\t\t\t\t// Calling getTiddlerText() triggers lazy loading of skinny tiddlers\n\t\t\t\tvalue = this.wiki.getTiddlerText(this.selectTitle);\n\t\t\t} else {\n\t\t\t\tif($tw.utils.hop(tiddler.fields,this.selectField)) {\n\t\t\t\t\tvalue = tiddler.getFieldString(this.selectField);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif(this.selectField === \"title\") {\n\t\t\t\tvalue = this.selectTitle;\n\t\t\t}\n\t\t}\n\t}\n\t// Assign it to the select element if it's different than the current value\n\tif(this.selectMultiple) {\n\t\tvalue = value === undefined ? \"\" : value;\n\t\tvar select = this.getSelectDomNode();\n\t\tvar child,\n\t\t\tvalues = Array.isArray(value) ? value : $tw.utils.parseStringArray(value);\n\t\tfor(var i=0; i < select.children.length; i++){\n\t\t\tchild=select.children[i];\n\t\t\tif(child.children.length === 0){\n\t\t\t\tchild.selected = values.indexOf(child.value) !== -1;\n\t\t\t} else {\n\t\t\t\t// grouped options\n\t\t\t\tfor(var y=0; y < child.children.length; y++){\n\t\t\t\t\tchild.children[y].selected = values.indexOf(child.children[y].value) !== -1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} else {\n\t\tvar domNode = this.getSelectDomNode();\n\t\tif(domNode.value !== value) {\n\t\t\tdomNode.value = value;\n\t\t}\n\t}\n};\n\n/*\nGet the DOM node of the select element\n*/\nSelectWidget.prototype.getSelectDomNode = function() {\n\treturn this.domNodes[0];\n};\n\n// Return an array of the selected opion values\n// select is an HTML select element\nSelectWidget.prototype.getSelectValues = function() {\n\tvar select, result, options, opt;\n\tselect = this.getSelectDomNode();\n\tresult = [];\n\toptions = select && select.options;\n\tfor(var i=0; i<options.length; i++) {\n\t\topt = options[i];\n\t\tif(opt.selected) {\n\t\t\tresult.push(opt.value || opt.text);\n\t\t}\n\t}\n\treturn result;\n};\n\n/*\nCompute the internal state of the widget\n*/\nSelectWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.selectActions = this.getAttribute(\"actions\");\n\tthis.selectTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.selectField = this.getAttribute(\"field\",\"text\");\n\tthis.selectIndex = this.getAttribute(\"index\");\n\tthis.selectClass = this.getAttribute(\"class\");\n\tthis.selectDefault = this.getAttribute(\"default\");\n\tthis.selectMultiple = this.getAttribute(\"multiple\", false);\n\tthis.selectSize = this.getAttribute(\"size\");\n\tthis.selectTabindex = this.getAttribute(\"tabindex\");\n\tthis.selectTooltip = this.getAttribute(\"tooltip\");\n\tthis.selectFocus = this.getAttribute(\"focus\");\n\tthis.isDisabled = this.getAttribute(\"disabled\",\"no\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nSelectWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// If we're using a different tiddler/field/index then completely refresh ourselves\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.tooltip || changedAttributes.default || changedAttributes.tabindex || changedAttributes.disabled) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tif(changedAttributes.class) {\n\t\t\tthis.selectClass = this.getAttribute(\"class\");\n\t\t\tthis.getSelectDomNode().setAttribute(\"class\",this.selectClass); \n\t\t}\n\t\tthis.assignAttributes(this.getSelectDomNode(),{\n\t\t\tchangedAttributes: changedAttributes,\n\t\t\tsourcePrefix: \"data-\",\n\t\t\tdestPrefix: \"data-\"\n\t\t});\n\t\tvar childrenRefreshed = this.refreshChildren(changedTiddlers);\n\t\t// If the target tiddler value has changed, just update setting and refresh the children\n\t\tif(changedTiddlers[this.selectTitle] || childrenRefreshed) {\n\t\t\tthis.setSelectValue();\n\t\t} \n\t\treturn childrenRefreshed;\n\t}\n};\n\nexports.select = SelectWidget;\n"
  },
  {
    "path": "core/modules/widgets/setmultiplevariables.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/setmultiplevariables.js\ntype: application/javascript\nmodule-type: widget\n\nWidget to set multiple variables at once from a list of names and a list of values\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SetMultipleVariablesWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSetMultipleVariablesWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSetMultipleVariablesWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nSetMultipleVariablesWidget.prototype.execute = function() {\n\t// Setup our variables\n\tthis.setVariables();\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n\nSetMultipleVariablesWidget.prototype.setVariables = function() {\n\t// Set the variables\n\tvar self = this,\n\t\tfilterNames = this.getAttribute(\"$names\",\"\"),\n\t\tfilterValues = this.getAttribute(\"$values\",\"\");\n\tthis.variableNames = [];\n\tthis.variableValues = [];\n\tif(filterNames && filterValues) {\n\t\tthis.variableNames = this.wiki.filterTiddlers(filterNames,this);\n\t\tthis.variableValues = this.wiki.filterTiddlers(filterValues,this);\n\t\t$tw.utils.each(this.variableNames,function(varname,index) {\n\t\t\tself.setVariable(varname,self.variableValues[index]);\n\t\t});\n\t}\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nSetMultipleVariablesWidget.prototype.refresh = function(changedTiddlers) {\n\tvar filterNames = this.getAttribute(\"$names\",\"\"),\n\t\tfilterValues = this.getAttribute(\"$values\",\"\"),\n\t\tvariableNames = this.wiki.filterTiddlers(filterNames,this),\n\t\tvariableValues = this.wiki.filterTiddlers(filterValues,this);\n\tif(!$tw.utils.isArrayEqual(this.variableNames,variableNames) || !$tw.utils.isArrayEqual(this.variableValues,variableValues)) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports[\"setmultiplevariables\"] = SetMultipleVariablesWidget;\n"
  },
  {
    "path": "core/modules/widgets/setvariable.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/set.js\ntype: application/javascript\nmodule-type: widget\n\nSet variable widget\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SetWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSetWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSetWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nSetWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.setName = this.getAttribute(\"name\",\"currentTiddler\");\n\tthis.setFilter = this.getAttribute(\"filter\");\n\tthis.setSelect = this.getAttribute(\"select\");\n\tthis.setTiddler = this.getAttribute(\"tiddler\");\n\tthis.setSubTiddler = this.getAttribute(\"subtiddler\");\n\tthis.setField = this.getAttribute(\"field\");\n\tthis.setIndex = this.getAttribute(\"index\");\n\tthis.setValue = this.getAttribute(\"value\");\n\tthis.setEmptyValue = this.getAttribute(\"emptyValue\");\n\t// Set context variable\n\tif(this.parseTreeNode.isMacroDefinition) {\n\t\tthis.setVariable(this.setName,this.getValue(),this.parseTreeNode.params,true);\n\t} else if(this.parseTreeNode.isFunctionDefinition) {\n\t\tthis.setVariable(this.setName,this.getValue(),this.parseTreeNode.params,undefined,{isFunctionDefinition: true});\n\t} else if(this.parseTreeNode.isProcedureDefinition) {\n\t\tthis.setVariable(this.setName,this.getValue(),this.parseTreeNode.params,undefined,{isProcedureDefinition: true, configTrimWhiteSpace: this.parseTreeNode.configTrimWhiteSpace});\n\t} else if(this.parseTreeNode.isWidgetDefinition) {\n\t\tthis.setVariable(this.setName,this.getValue(),this.parseTreeNode.params,undefined,{isWidgetDefinition: true, configTrimWhiteSpace: this.parseTreeNode.configTrimWhiteSpace});\n\t} else {\n\t\tthis.setVariable(this.setName,this.getValue());\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nGet the value to be assigned\n*/\nSetWidget.prototype.getValue = function() {\n\tvar value = this.setValue;\n\tif(this.setTiddler) {\n\t\tvar tiddler;\n\t\tif(this.setSubTiddler) {\n\t\t\ttiddler = this.wiki.getSubTiddler(this.setTiddler,this.setSubTiddler);\n\t\t} else {\n\t\t\ttiddler = this.wiki.getTiddler(this.setTiddler);\n\t\t}\n\t\tif(!tiddler) {\n\t\t\tvalue = this.setEmptyValue;\n\t\t} else if(this.setField) {\n\t\t\tvalue = tiddler.getFieldString(this.setField) || this.setEmptyValue;\n\t\t} else if(this.setIndex) {\n\t\t\tvalue = this.wiki.extractTiddlerDataItem(this.setTiddler,this.setIndex,this.setEmptyValue);\n\t\t} else {\n\t\t\tvalue = tiddler.fields.text || this.setEmptyValue ;\n\t\t}\n\t} else if(this.setFilter) {\n\t\tvar results = this.wiki.filterTiddlers(this.setFilter,this);\n\t\tif(this.setValue == null) {\n\t\t\tvar select;\n\t\t\tif(this.setSelect) {\n\t\t\t\tselect = parseInt(this.setSelect,10);\n\t\t\t}\n\t\t\tif(select !== undefined) {\n\t\t\t\tvalue = results[select] || \"\";\n\t\t\t} else {\n\t\t\t\tvalue = $tw.utils.stringifyList(results);\n\t\t\t}\n\t\t}\n\t\tif(results.length === 0 && this.setEmptyValue !== undefined) {\n\t\t\tvalue = this.setEmptyValue;\n\t\t}\n\t} else if(!value && this.setEmptyValue) {\n\t\tvalue = this.setEmptyValue;\n\t}\n\treturn value || \"\";\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nSetWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.name || changedAttributes.filter || changedAttributes.select || changedAttributes.tiddler || (this.setTiddler && changedTiddlers[this.setTiddler]) || changedAttributes.field || changedAttributes.index || changedAttributes.value || changedAttributes.emptyValue ||\n\t   (this.setFilter && this.getValue() != this.variables[this.setName].value)) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.setvariable = SetWidget;\nexports.set = SetWidget;\n"
  },
  {
    "path": "core/modules/widgets/slot.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/slot.js\ntype: application/javascript\nmodule-type: widget\n\nWidget for definition of slots within transcluded content. The values provided by the translusion are passed to the slot.\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget,\n\tTranscludeWidget = require(\"$:/core/modules/widgets/transclude.js\").transclude;\n\nvar SlotWidget = function(parseTreeNode,options) {\n\t// Initialise\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSlotWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSlotWidget.prototype.render = function(parent,nextSibling) {\n\t// Call the constructor\n\tWidget.call(this);\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nSlotWidget.prototype.execute = function() {\n\tthis.slotName = this.getAttribute(\"$name\");\n\tthis.slotDepth = parseInt(this.getAttribute(\"$depth\",\"1\"),10) || 1;\n\t// Find the parent transclusions\n\tvar pointer = this.parentWidget,\n\t\tdepth = this.slotDepth;\n\twhile(pointer) {\n\t\tif(pointer instanceof TranscludeWidget && pointer.hasVisibleSlots()) {\n\t\t\tdepth--;\n\t\t\tif(depth <= 0) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tpointer = pointer.parentWidget;\n\t}\n\tvar parseTreeNodes = [{type: \"text\", attributes: {text: {type: \"string\", value: \"Missing slot reference!\"}}}];\n\tif(pointer instanceof TranscludeWidget) {\n\t\t// Get the parse tree nodes comprising the slot contents\n\t\tparseTreeNodes = pointer.getTransclusionSlotFill(this.slotName,this.parseTreeNode.children);\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nSlotWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$name\"] || changedAttributes[\"$depth\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.slot = SlotWidget;\n"
  },
  {
    "path": "core/modules/widgets/testcase.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/testcase.js\ntype: application/javascript\nmodule-type: widget\n\nWidget to display a test case\n\n\\*/\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar TestCaseWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTestCaseWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTestCaseWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create container DOM node\n\tvar domNode = this.document.createElement(\"div\");\n\tdomNode.setAttribute(\"class\", \"tc-test-case \" + this.testcaseClass);\n\tthis.domNodes.push(domNode);\n\tparent.insertBefore(domNode,nextSibling);\n\t// Render the children into a hidden DOM node\n\tvar parser = {\n\t\ttree: [{\n\t\t\ttype: \"widget\",\n\t\t\tattributes: {},\n\t\t\torderedAttributes: [],\n\t\t\tchildren: this.parseTreeNode.children || []\n\t\t}]\n\t};\n\tthis.contentRoot = this.wiki.makeWidget(parser,{\n\t\tdocument: $tw.fakeDocument,\n\t\tparentWidget: this\n\t});\n\tthis.contentContainer = $tw.fakeDocument.createElement(\"div\");\n\tthis.contentRoot.render(this.contentContainer,null);\n\t// Create a wiki\n\tthis.testcaseWiki = new $tw.Wiki();\n\t// Always load the core plugin\n\tvar loadTiddler = function(title) {\n\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\tif(tiddler) {\n\t\t\tself.testcaseWiki.addTiddler(tiddler);\n\t\t}\n\t};\n\tloadTiddler(\"$:/core\");\n\tloadTiddler(\"$:/plugins/tiddlywiki/codemirror\");\n\t// Load tiddlers from child data widgets\n\tvar tiddlers = [];\n\tthis.findChildrenDataWidgets(this.contentRoot.children,\"data\",function(widget) {\n\t\tArray.prototype.push.apply(tiddlers,widget.readDataTiddlerValues());\n\t});\n\tvar jsonPayload = JSON.stringify(tiddlers);\n\tthis.testcaseWiki.addTiddlers(tiddlers);\n\t// Unpack plugin tiddlers\n\tthis.testcaseWiki.readPluginInfo();\n\tthis.testcaseWiki.registerPluginTiddlers(\"plugin\");\n\tthis.testcaseWiki.unpackPluginTiddlers();\n\tthis.testcaseWiki.addIndexersToWiki();\n\t// Generate a `transclusion` variable that depends on the values of the payload tiddlers so that the template can easily make unique state tiddlers\n\tthis.setVariable(\"transclusion\",$tw.utils.hashString(jsonPayload));\n\t// Generate a `payloadTiddlers` variable that contains the payload in JSON format\n\tthis.setVariable(\"payloadTiddlers\",jsonPayload);\n\t// Only run the tests if the testcase output and expected results were specified, and those tiddlers actually exist in the wiki\n\tvar shouldRunTests = false;\n\tif(this.testcaseTestOutput && this.testcaseWiki.tiddlerExists(this.testcaseTestOutput) && this.testcaseTestExpectedResult && this.testcaseWiki.tiddlerExists(this.testcaseTestExpectedResult)) {\n\t\tshouldRunTests = true;\n\t}\n\t// Render the test rendering if required\n\tif(shouldRunTests) {\n\t\tvar testcaseOutputContainer = $tw.fakeDocument.createElement(\"div\");\n\t\tvar testcaseOutputWidget = this.testcaseWiki.makeTranscludeWidget(this.testcaseTestOutput,{\n\t\t\tdocument: $tw.fakeDocument,\n\t\t\tparseAsInline: false,\n\t\t\tparentWidget: this,\n\t\t\tvariables: {\n\t\t\t\tcurrentTiddler: this.testcaseTestOutput\n\t\t\t}\n\t\t});\n\t\ttestcaseOutputWidget.render(testcaseOutputContainer);\n\t}\n\t// Clear changes queue\n\tthis.testcaseWiki.clearTiddlerEventQueue();\n\t// Run the actions if provided\n\tif(this.testcaseWiki.tiddlerExists(this.testcaseTestActions)) {\n\t\ttestcaseOutputWidget.invokeActionString(this.testcaseWiki.getTiddlerText(this.testcaseTestActions));\n\t\ttestcaseOutputWidget.refresh(this.testcaseWiki.changedTiddlers,testcaseOutputContainer);\n\t}\n\t// Set up the test result variables\n\tvar testResult = \"\",\n\t\toutputHTML = \"\",\n\t\texpectedHTML = \"\";\n\tif(shouldRunTests) {\n\t\toutputHTML = testcaseOutputContainer.children[0].innerHTML;\n\t\texpectedHTML = this.testcaseWiki.getTiddlerText(this.testcaseTestExpectedResult);\n\t\tif(outputHTML === expectedHTML) {\n\t\t\ttestResult = \"pass\";\n\t\t} else {\n\t\t\ttestResult = \"fail\";\n\t\t}\n\t\tthis.setVariable(\"outputHTML\",outputHTML);\n\t\tthis.setVariable(\"expectedHTML\",expectedHTML);\n\t\tthis.setVariable(\"testResult\",testResult);\n\t\tthis.setVariable(\"currentTiddler\",this.testcaseTestOutput);\n\t}\n\t// Don't display anything if testHideIfPass is \"yes\" and the tests have passed\n\tif(this.testcaseHideIfPass === \"yes\" && testResult !== \"fail\") {\n\t\treturn;\n\t}\n\t// Render the page root template of the subwiki\n\tvar rootWidget = this.testcaseWiki.makeTranscludeWidget(this.testcaseTemplate,{\n\t\tdocument: this.document,\n\t\tparseAsInline: false,\n\t\tparentWidget: this\n\t});\n\trootWidget.render(domNode);\n\t// Trap changes in the wiki and refresh the rendering\n\tthis.testcaseWiki.addEventListener(\"change\",function(changes) {\n\t\trootWidget.refresh(changes,domNode);\n\t});\n};\n\n/*\nCompute the internal state of the widget\n*/\nTestCaseWidget.prototype.execute = function() {\n\tthis.testcaseTemplate = this.getAttribute(\"template\",\"$:/core/ui/testcases/DefaultTemplate\");\n\tthis.testcaseTestOutput = this.getAttribute(\"testOutput\");\n\tthis.testcaseTestActions = this.getAttribute(\"testActions\");\n\tthis.testcaseTestExpectedResult = this.getAttribute(\"testExpectedResult\");\n\tthis.testcaseHideIfPass = this.getAttribute(\"testHideIfPass\");\n\tthis.testcaseClass = this.getAttribute(\"class\",\"\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTestCaseWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.contentRoot.refresh(changedTiddlers);\n\t}\n};\n\nexports[\"testcase\"] = TestCaseWidget;\n"
  },
  {
    "path": "core/modules/widgets/text.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/text.js\ntype: application/javascript\nmodule-type: widget\n\nText node widget\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar TextNodeWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTextNodeWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTextNodeWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar text = this.getAttribute(\"text\",this.parseTreeNode.text || \"\");\n\ttext = text.replace(/\\r/mg,\"\");\n\tvar textNode = this.document.createTextNode(text);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nTextNodeWidget.prototype.execute = function() {\n\t// Nothing to do for a text node\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTextNodeWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.text) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\nexports.text = TextNodeWidget;\n"
  },
  {
    "path": "core/modules/widgets/tiddler.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/tiddler.js\ntype: application/javascript\nmodule-type: widget\n\nTiddler widget\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar TiddlerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTiddlerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTiddlerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nTiddlerWidget.prototype.execute = function() {\n\tthis.tiddlerState = this.computeTiddlerState();\n\tthis.setVariable(\"currentTiddler\",this.tiddlerState.currentTiddler);\n\tthis.setVariable(\"missingTiddlerClass\",this.tiddlerState.missingTiddlerClass);\n\tthis.setVariable(\"shadowTiddlerClass\",this.tiddlerState.shadowTiddlerClass);\n\tthis.setVariable(\"systemTiddlerClass\",this.tiddlerState.systemTiddlerClass);\n\tthis.setVariable(\"tiddlerTagClasses\",this.tiddlerState.tiddlerTagClasses);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nCompute the tiddler state flags\n*/\nTiddlerWidget.prototype.computeTiddlerState = function() {\n\t// Get our parameters\n\tthis.tiddlerTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t// Compute the state\n\tvar state = {\n\t\tcurrentTiddler: this.tiddlerTitle || \"\",\n\t\tmissingTiddlerClass: (this.wiki.tiddlerExists(this.tiddlerTitle) || this.wiki.isShadowTiddler(this.tiddlerTitle)) ? \"tc-tiddler-exists\" : \"tc-tiddler-missing\",\n\t\tshadowTiddlerClass: this.wiki.isShadowTiddler(this.tiddlerTitle) ? \"tc-tiddler-shadow\" : \"\",\n\t\tsystemTiddlerClass: this.wiki.isSystemTiddler(this.tiddlerTitle) ? \"tc-tiddler-system\" : \"\",\n\t\ttiddlerTagClasses: this.getTagClasses()\n\t};\n\t// Compute a simple hash to make it easier to detect changes\n\tstate.hash = state.currentTiddler + state.missingTiddlerClass + state.shadowTiddlerClass + state.systemTiddlerClass + state.tiddlerTagClasses;\n\treturn state;\n};\n\n/*\nCreate a string of CSS classes derived from the tags of the current tiddler\n*/\nTiddlerWidget.prototype.getTagClasses = function() {\n\tvar tiddler = this.wiki.getTiddler(this.tiddlerTitle);\n\tif(tiddler) {\n\t\tvar tags = [];\n\t\t$tw.utils.each(tiddler.fields.tags,function(tag) {\n\t\t\ttags.push(\"tc-tagged-\" + encodeURIComponent(tag));\n\t\t});\n\t\treturn tags.join(\" \");\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTiddlerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\tnewTiddlerState = this.computeTiddlerState();\n\tif(changedAttributes.tiddler || newTiddlerState.hash !== this.tiddlerState.hash) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.tiddler = TiddlerWidget;\n"
  },
  {
    "path": "core/modules/widgets/transclude.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/transclude.js\ntype: application/javascript\nmodule-type: widget\n\nTransclude widget\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar TranscludeWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTranscludeWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTranscludeWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes({asList: true});\n\tthis.execute();\n\ttry {\n\t\tthis.renderChildren(parent,nextSibling);\n\t} catch(error) {\n\t\tif(error instanceof $tw.utils.TranscludeRecursionError) {\n\t\t\t// We were infinite looping.\n\t\t\t// We need to try and abort as much of the loop as we\n\t\t\t// can, so we will keep \"throwing\" upward until we find\n\t\t\t// a transclusion that has a different signature.\n\t\t\t// Hopefully that will land us just outside where the\n\t\t\t// loop began. That's where we want to issue an error.\n\t\t\t// Rendering widgets beneath this point may result in a\n\t\t\t// freezing browser if they explode exponentially.\n\t\t\tvar transcludeSignature = this.getVariable(\"transclusion\");\n\t\t\tif(this.getAncestorCount() > $tw.utils.TranscludeRecursionError.MAX_WIDGET_TREE_DEPTH - 50) {\n\t\t\t\t// For the first fifty transcludes we climb up,\n\t\t\t\t// we simply collect signatures.\n\t\t\t\t// We're assuming those first 50 will likely\n\t\t\t\t// include all transcludes involved in the loop.\n\t\t\t\terror.signatures[transcludeSignature] = true;\n\t\t\t} else if(!error.signatures[transcludeSignature]) {\n\t\t\t\t// Now that we're past the first 50, look for\n\t\t\t\t// the first signature that wasn't in that loop.\n\t\t\t\t// That's where we print the error and resume\n\t\t\t\t// rendering.\n\t\t\t\tthis.removeChildDomNodes();\n\t\t\t\tthis.children = [this.makeChildWidget({type: \"error\", attributes: {\n\t\t\t\t\t\"$message\": {type: \"string\", value: $tw.language.getString(\"Error/RecursiveTransclusion\")}\n\t\t\t\t}})];\n\t\t\t\tthis.renderChildren(parent,nextSibling);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tthrow error;\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nTranscludeWidget.prototype.execute = function() {\n\t// Get our attributes, string parameters, and slot values into properties of the widget object\n\tthis.collectAttributes();\n\tthis.collectStringParameters();\n\tthis.collectSlotFillParameters();\n\t// Determine whether we're being used in inline or block mode\n\tvar parseAsInline = !this.parseTreeNode.isBlock;\n\tif(this.transcludeMode === \"inline\") {\n\t\tparseAsInline = true;\n\t} else if(this.transcludeMode === \"block\") {\n\t\tparseAsInline = false;\n\t}\n\t// Set 'thisTiddler'\n\tthis.setVariable(\"thisTiddler\",this.transcludeTitle);\n\tvar parseTreeNodes, target;\n\t// Process the transclusion according to the output type\n\tswitch(this.transcludeOutput || \"text/html\") {\n\t\tcase \"text/html\":\n\t\t\t// Return the parse tree nodes of the target\n\t\t\ttarget = this.parseTransclusionTarget(parseAsInline);\n\t\t\tthis.parseAsInline = target.parseAsInline;\n\t\t\tparseTreeNodes = target.parseTreeNodes;\n\t\t\tbreak;\n\t\tcase \"text/raw\":\n\t\t\t// Just return the raw text\n\t\t\ttarget = this.getTransclusionTarget();\n\t\t\tparseTreeNodes = [{type: \"text\", text: target.text}];\n\t\t\tbreak;\n\t\tdefault:\n\t\t\t// \"text/plain\" is the plain text result of wikifying the text\n\t\t\ttarget = this.parseTransclusionTarget(parseAsInline);\n\t\t\tvar widgetNode = this.wiki.makeWidget(target.parser,{\n\t\t\t\tparentWidget: this,\n\t\t\t\tdocument: $tw.fakeDocument\n\t\t\t});\n\t\t\tvar container = $tw.fakeDocument.createElement(\"div\");\n\t\t\twidgetNode.render(container,null);\n\t\t\tparseTreeNodes = [{type: \"text\", text: container.textContent}];\n\t\t\tbreak;\n\t}\n\tthis.sourceText = target.text;\n\tthis.parserType = target.type;\n\tthis._canonical_uri = target._canonical_uri;\n\t// Set the legacy transclusion context variables only if we're not transcluding a variable\n\tif(!this.transcludeVariable) {\n\t\tvar recursionMarker = this.makeRecursionMarker();\n\t\tthis.setVariable(\"transclusion\",recursionMarker);\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nCollect the attributes we need, in the process determining whether we're being used in legacy mode\n*/\nTranscludeWidget.prototype.collectAttributes = function() {\n\tvar self = this;\n\t// Detect legacy mode\n\tthis.legacyMode = true;\n\t$tw.utils.each(this.attributes,function(value,name) {\n\t\tif(name.charAt(0) === \"$\") {\n\t\t\tself.legacyMode = false;\n\t\t}\n\t});\n\t// Get the attributes for the appropriate mode\n\tif(this.legacyMode) {\n\t\tthis.transcludeTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t\tthis.transcludeSubTiddler = this.getAttribute(\"subtiddler\");\n\t\tthis.transcludeField = this.getAttribute(\"field\");\n\t\tthis.transcludeIndex = this.getAttribute(\"index\");\n\t\tthis.transcludeMode = this.getAttribute(\"mode\");\n\t\tthis.recursionMarker = this.getAttribute(\"recursionMarker\",\"yes\");\n\t} else {\n\t\tthis.transcludeVariable = this.getAttribute(\"$variable\");\n\t\tthis.transcludeVariableIsFunction = false;\n\t\tthis.transcludeType = this.getAttribute(\"$type\");\n\t\tthis.transcludeOutput = this.getAttribute(\"$output\",\"text/html\");\n\t\tthis.transcludeTitle = this.getAttribute(\"$tiddler\",this.getVariable(\"currentTiddler\"));\n\t\tthis.transcludeSubTiddler = this.getAttribute(\"$subtiddler\");\n\t\tthis.transcludeField = this.getAttribute(\"$field\");\n\t\tthis.transcludeIndex = this.getAttribute(\"$index\");\n\t\tthis.transcludeMode = this.getAttribute(\"$mode\");\n\t\tthis.recursionMarker = this.getAttribute(\"$recursionMarker\",\"yes\");\n\t}\n};\n\n/*\nCollect string parameters\n*/\nTranscludeWidget.prototype.collectStringParameters = function() {\n\tvar self = this;\n\tthis.stringParametersByName = Object.create(null);\n\tthis.multiValuedParametersByName = Object.create(null);\n\tif(!this.legacyMode) {\n\t\t$tw.utils.each(this.attributes,function(value,name) {\n\t\t\tvar attrName = name; // Save original attribute name for MVV lookup\n\t\t\tif(name.charAt(0) === \"$\") {\n\t\t\t\tif(name.charAt(1) === \"$\") {\n\t\t\t\t\t// Attributes starting $$ represent parameters starting with a single $\n\t\t\t\t\tname = name.slice(1);\n\t\t\t\t} else {\n\t\t\t\t\t// Attributes starting with a single $ are reserved for the widget\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tself.stringParametersByName[name] = value;\n\t\t\tif(self.multiValuedAttributes && self.multiValuedAttributes[attrName]) {\n\t\t\t\tself.multiValuedParametersByName[name] = self.multiValuedAttributes[attrName];\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nCollect slot value parameters\n*/\nTranscludeWidget.prototype.collectSlotFillParameters = function() {\n\tvar self = this;\n\tthis.slotFillParseTrees = Object.create(null);\n\tif(this.legacyMode) {\n\t\tthis.slotFillParseTrees[\"ts-missing\"] = this.parseTreeNode.children;\n\t} else {\n\t\tthis.slotFillParseTrees[\"ts-raw\"] = this.parseTreeNode.children;\n\t\tvar noFillWidgetsFound = true,\n\t\t\tsearchParseTreeNodes = function(nodes) {\n\t\t\t\t$tw.utils.each(nodes,function(node) {\n\t\t\t\t\tif(node.type === \"fill\") {\n\t\t\t\t\t\tif(node.attributes[\"$name\"] && node.attributes[\"$name\"].type === \"string\") {\n\t\t\t\t\t\t\tvar slotValueName = node.attributes[\"$name\"].value;\n\t\t\t\t\t\t\tself.slotFillParseTrees[slotValueName] = node.children || [];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tnoFillWidgetsFound = false;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsearchParseTreeNodes(node.children);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t};\n\t\tsearchParseTreeNodes(this.parseTreeNode.children);\n\t\tif(noFillWidgetsFound) {\n\t\t\tthis.slotFillParseTrees[\"ts-missing\"] = this.parseTreeNode.children;\n\t\t}\n\t}\n};\n\n/*\nGet transcluded details as an object {text:,type:}\n*/\nTranscludeWidget.prototype.getTransclusionTarget = function() {\n\tvar text;\n\t// Return the text and type of the target\n\tif(this.hasAttribute(\"$variable\")) {\n\t\tif(this.transcludeVariable) {\n\t\t\t// Transcluding a variable\n\t\t\tvar variableInfo = this.getVariableInfo(this.transcludeVariable,{params: this.getOrderedTransclusionParameters()});\n\t\t\tthis.transcludeVariableIsFunction = variableInfo.srcVariable && variableInfo.srcVariable.isFunctionDefinition;\n\t\t\ttext = variableInfo.text;\n\t\t\tthis.transcludeFunctionResult = text;\n\t\t\treturn {\n\t\t\t\ttext: variableInfo.text,\n\t\t\t\ttype: this.transcludeType\n\t\t\t};\n\t\t}\n\t} else {\n\t\t// Transcluding a text reference\n\t\tvar parserInfo = this.wiki.getTextReferenceParserInfo(\n\t\t\tthis.transcludeTitle,\n\t\t\tthis.transcludeField,\n\t\t\tthis.transcludeIndex,\n\t\t\t{\n\t\t\t\tsubTiddler: this.transcludeSubTiddler,\n\t\t\t\tdefaultType: this.transcludeType\n\t\t\t});\n\t\treturn {\n\t\t\ttext: parserInfo.text,\n\t\t\ttype: parserInfo.type,\n\t\t\t_canonical_uri: parserInfo._canonical_uri\n\t\t};\n\t}\n};\n\n/*\nGet transcluded parse tree nodes as an object {text:,type:,parseTreeNodes:,parseAsInline:}\n*/\nTranscludeWidget.prototype.parseTransclusionTarget = function(parseAsInline) {\n\tvar parser;\n\t// Get the parse tree\n\tif(this.hasAttribute(\"$variable\")) {\n\t\tif(this.transcludeVariable) {\n\t\t\t// Transcluding a variable\n\t\t\tvar variableInfo = this.getVariableInfo(this.transcludeVariable,{params: this.getOrderedTransclusionParameters()}),\n\t\t\t\tsrcVariable = variableInfo && variableInfo.srcVariable;\n\t\t\tif(srcVariable && srcVariable.isFunctionDefinition) {\n\t\t\t\tthis.transcludeVariableIsFunction = true;\n\t\t\t\tthis.transcludeFunctionResult = (variableInfo.resultList ? variableInfo.resultList[0] : variableInfo.text) || \"\";\n\t\t\t}\n\t\t\tif(variableInfo.text) {\n\t\t\t\tif(srcVariable && srcVariable.isFunctionDefinition) {\n\t\t\t\t\tparser = {\n\t\t\t\t\t\ttree: [{\n\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\ttext: this.transcludeFunctionResult\n\t\t\t\t\t\t}],\n\t\t\t\t\t\tsource: this.transcludeFunctionResult,\n\t\t\t\t\t\ttype: \"text/vnd.tiddlywiki\"\n\t\t\t\t\t};\n\t\t\t\t\tif(parseAsInline) {\n\t\t\t\t\t\tparser.tree[0] = {\n\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\ttext: this.transcludeFunctionResult\n\t\t\t\t\t\t};\n\t\t\t\t\t} else {\n\t\t\t\t\t\tparser.tree[0] = {\n\t\t\t\t\t\t\ttype: \"element\",\n\t\t\t\t\t\t\ttag: \"p\",\n\t\t\t\t\t\t\tchildren: [{\n\t\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\t\ttext: this.transcludeFunctionResult\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tvar cacheKey = (parseAsInline ? \"inlineParser\" : \"blockParser\") + (this.transcludeType || \"\");\n\t\t\t\t\tif(variableInfo.isCacheable && srcVariable[cacheKey]) {\n\t\t\t\t\t\tparser = srcVariable[cacheKey];\n\t\t\t\t\t} else {\n\t\t\t\t\t\tparser = this.wiki.parseText(this.transcludeType,variableInfo.text || \"\",{parseAsInline: parseAsInline, configTrimWhiteSpace: srcVariable && srcVariable.configTrimWhiteSpace});\n\t\t\t\t\t\tif(variableInfo.isCacheable) {\n\t\t\t\t\t\t\tsrcVariable[cacheKey] = parser;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(parser) {\n\t\t\t\t\t// Add parameters widget for procedures and custom widgets\n\t\t\t\t\tif(srcVariable && (srcVariable.isProcedureDefinition || srcVariable.isWidgetDefinition)) {\n\t\t\t\t\t\tparser = {\n\t\t\t\t\t\t\ttree: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttype: \"parameters\",\n\t\t\t\t\t\t\t\t\tchildren: parser.tree\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tsource: parser.source,\n\t\t\t\t\t\t\ttype: parser.type\n\t\t\t\t\t\t};\n\t\t\t\t\t\t$tw.utils.each(srcVariable.params,function(param) {\n\t\t\t\t\t\t\tvar name = param.name;\n\t\t\t\t\t\t\t// Parameter names starting with dollar must be escaped to double dollars\n\t\t\t\t\t\t\tif(name.charAt(0) === \"$\") {\n\t\t\t\t\t\t\t\tname = \"$\" + name;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif(param.defaultType === \"multivalue-variable\") {\n\t\t\t\t\t\t\t\t// Construct MVV attribute for the default\n\t\t\t\t\t\t\t\tvar mvvNode = {type: \"transclude\", isMVV: true, attributes: {}, orderedAttributes: []};\n\t\t\t\t\t\t\t\t$tw.utils.addAttributeToParseTreeNode(mvvNode,\"$variable\",param.defaultVariable);\n\t\t\t\t\t\t\t\t$tw.utils.addAttributeToParseTreeNode(parser.tree[0],{\n\t\t\t\t\t\t\t\t\tname: name, type: \"macro\", isMVV: true, value: mvvNode\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t$tw.utils.addAttributeToParseTreeNode(parser.tree[0],name,param[\"default\"]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t} else if(srcVariable && !srcVariable.isFunctionDefinition) {\n\t\t\t\t\t\t// For macros and ordinary variables, wrap the parse tree in a vars widget assigning the parameters to variables named \"__paramname__\"\n\t\t\t\t\t\tparser = {\n\t\t\t\t\t\t\ttree: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttype: \"vars\",\n\t\t\t\t\t\t\t\t\tchildren: parser.tree\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tsource: parser.source,\n\t\t\t\t\t\t\ttype: parser.type\n\t\t\t\t\t\t};\n\t\t\t\t\t\t$tw.utils.each(variableInfo.params,function(param) {\n\t\t\t\t\t\t\t$tw.utils.addAttributeToParseTreeNode(parser.tree[0],\"__\" + param.name + \"__\",param.value);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// Transcluding a text reference\n\t\tparser = this.wiki.parseTextReference(\n\t\t\tthis.transcludeTitle,\n\t\t\tthis.transcludeField,\n\t\t\tthis.transcludeIndex,\n\t\t\t{\n\t\t\t\tparseAsInline: parseAsInline,\n\t\t\t\tsubTiddler: this.transcludeSubTiddler,\n\t\t\t\tdefaultType: this.transcludeType\n\t\t\t});\n\t}\n\t// Return the parse tree\n\treturn {\n\t\tparser: parser,\n\t\tparseTreeNodes: parser ? parser.tree : (this.slotFillParseTrees[\"ts-missing\"] || []),\n\t\tparseAsInline: parseAsInline,\n\t\ttext: parser && parser.source,\n\t\ttype: parser && parser.type\n\t};\n};\n\n/*\nFetch all the string parameters as an ordered array of {name:, value:} where the name is optional\n*/\nTranscludeWidget.prototype.getOrderedTransclusionParameters = function() {\n\tvar result = [];\n\t// Collect the parameters\n\tfor(var name in this.stringParametersByName) {\n\t\tvar value = this.stringParametersByName[name];\n\t\tvar param = {name: name, value: value};\n\t\tif(this.multiValuedParametersByName[name]) {\n\t\t\tparam.multiValue = this.multiValuedParametersByName[name];\n\t\t}\n\t\tresult.push(param);\n\t}\n\t// Sort numerical parameter names first\n\tresult.sort(function(a,b) {\n\t\tvar aIsNumeric = !isNaN(a.name),\n\t\t\tbIsNumeric = !isNaN(b.name);\n\t\tif(aIsNumeric && bIsNumeric) {\n\t\t\treturn a.name - b.name;\n\t\t} else if(aIsNumeric) {\n\t\t\treturn -1;\n\t\t} else if(bIsNumeric) {\n\t\t\treturn 1;\n\t\t} else {\n\t\t\treturn a.name === b.name ? 0 : (a.name < b.name ? -1 : 1);\n\t\t}\n\t});\n\t// Remove names from numerical parameters\n\t$tw.utils.each(result,function(param,index) {\n\t\tif(!isNaN(param.name)) {\n\t\t\tdelete param.name;\n\t\t}\n\t});\n\treturn result;\n};\n\n/*\nFetch the value of a parameter\n*/\nTranscludeWidget.prototype.getTransclusionParameter = function(name,index,defaultValue) {\n\tif(name in this.stringParametersByName) {\n\t\tif(this.multiValuedParametersByName[name]) {\n\t\t\treturn this.multiValuedParametersByName[name];\n\t\t}\n\t\treturn this.stringParametersByName[name];\n\t} else {\n\t\tvar name = \"\" + index;\n\t\tif(name in this.stringParametersByName) {\n\t\t\tif(this.multiValuedParametersByName[name]) {\n\t\t\t\treturn this.multiValuedParametersByName[name];\n\t\t\t}\n\t\t\treturn this.stringParametersByName[name];\n\t\t}\n\t}\n\treturn defaultValue;\n};\n\n/*\nGet one of the special parameters to be provided by the parameters widget\n*/\nTranscludeWidget.prototype.getTransclusionMetaParameters = function() {\n\tvar self = this;\n\treturn {\n\t\t\"parseMode\": function() {\n\t\t\treturn self.parseAsInline ? \"inline\" : \"block\";\n\t\t},\n\t\t\"parseTreeNodes\": function() {\n\t\t\treturn JSON.stringify(self.parseTreeNode.children || []);\n\t\t},\n\t\t\"slotFillParseTreeNodes\": function() {\n\t\t\treturn JSON.stringify(self.slotFillParseTrees);\n\t\t},\n\t\t\"params\": function() {\n\t\t\treturn JSON.stringify(self.stringParametersByName);\n\t\t}\n\t};\n};\n\n/*\nFetch the value of a slot\n*/\nTranscludeWidget.prototype.getTransclusionSlotFill = function(name,defaultParseTreeNodes) {\n\tif(name && this.slotFillParseTrees[name] && this.slotFillParseTrees[name].length > 0) {\n\t\treturn this.slotFillParseTrees[name];\n\t} else {\n\t\treturn defaultParseTreeNodes || [];\n\t}\n};\n\n/*\nReturn whether this transclusion should be visible to the slot widget\n*/\nTranscludeWidget.prototype.hasVisibleSlots = function() {\n\treturn this.getAttribute(\"$fillignore\",\"no\") === \"no\";\n};\n\n/*\nCompose a string comprising the title, field and/or index to identify this transclusion for recursion detection\n*/\nTranscludeWidget.prototype.makeRecursionMarker = function() {\n\tvar output = [];\n\toutput.push(\"{\");\n\toutput.push(this.getVariable(\"currentTiddler\",{defaultValue: \"\"}));\n\toutput.push(\"|\");\n\toutput.push(this.transcludeTitle || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeField || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeIndex || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeSubTiddler || \"\");\n\toutput.push(\"}\");\n\treturn output.join(\"\");\n};\n\nTranscludeWidget.prototype.parserNeedsRefresh = function() {\n\t// Doesn't need to consider transcluded variables because a parent variable can't change once a widget has been created\n\tvar parserInfo = this.wiki.getTextReferenceParserInfo(this.transcludeTitle,this.transcludeField,this.transcludeIndex,{\n\t\tsubTiddler: this.transcludeSubTiddler,\n\t\tdefaultType: this.transcludeType\n\t});\n\treturn (this.sourceText === undefined || parserInfo.sourceText !== this.sourceText || parserInfo.parserType !== this.parserType || parserInfo._canonical_uri !== this._canonical_uri);\n};\n\nTranscludeWidget.prototype.functionNeedsRefresh = function() {\n\tvar oldResult = this.transcludeFunctionResult;\n\tvar variableInfo = this.getVariableInfo(this.transcludeVariable,{params: this.getOrderedTransclusionParameters()});\n\tvar newResult = (variableInfo.resultList ? variableInfo.resultList[0] : variableInfo.text) || \"\";\n\treturn oldResult !== newResult;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTranscludeWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(($tw.utils.count(changedAttributes) > 0) || (this.transcludeVariableIsFunction && this.functionNeedsRefresh()) || (!this.transcludeVariable && changedTiddlers[this.transcludeTitle] && this.parserNeedsRefresh())) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.transclude = TranscludeWidget;\n"
  },
  {
    "path": "core/modules/widgets/vars.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/vars.js\ntype: application/javascript\nmodule-type: widget\n\nThis widget allows multiple variables to be set in one go:\n\n```\n\\define helloworld() Hello world!\n<$vars greeting=\"Hi\" me={{!!title}} sentence=<<helloworld>>>\n  <<greeting>>! I am <<me>> and I say: <<sentence>>\n</$vars>\n```\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar VarsWidget = function(parseTreeNode,options) {\n\t// Initialise\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nVarsWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nVarsWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nVarsWidget.prototype.execute = function() {\n\t// Parse variables\n\tvar self = this;\n\t$tw.utils.each(this.attributes,function(val,key) {\n\t\tif(key.charAt(0) !== \"$\") {\n\t\t\tself.setVariable(key,val);\n\t\t}\n\t});\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nVarsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports[\"vars\"] = VarsWidget;\n"
  },
  {
    "path": "core/modules/widgets/view.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/view.js\ntype: application/javascript\nmodule-type: widget\n\nView widget\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ViewWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nViewWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nViewWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tif(this.text) {\n\t\tvar textNode = this.document.createTextNode(this.text);\n\t\tparent.insertBefore(textNode,nextSibling);\n\t\tthis.domNodes.push(textNode);\n\t} else {\n\t\tthis.makeChildWidgets();\n\t\tthis.renderChildren(parent,nextSibling);\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nViewWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.viewTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.viewSubtiddler = this.getAttribute(\"subtiddler\");\n\tthis.viewField = this.getAttribute(\"field\",\"text\");\n\tthis.viewIndex = this.getAttribute(\"index\");\n\tthis.viewFormat = this.getAttribute(\"format\",\"text\");\n\tthis.viewTemplate = this.getAttribute(\"template\",\"\");\n\tthis.viewMode = this.getAttribute(\"mode\",\"block\");\n\tswitch(this.viewFormat) {\n\t\tcase \"htmlwikified\":\n\t\t\tthis.text = this.getValueAsHtmlWikified(this.viewMode);\n\t\t\tbreak;\n\t\tcase \"plainwikified\":\n\t\t\tthis.text = this.getValueAsPlainWikified(this.viewMode);\n\t\t\tbreak;\n\t\tcase \"htmlencodedplainwikified\":\n\t\t\tthis.text = this.getValueAsHtmlEncodedPlainWikified(this.viewMode);\n\t\t\tbreak;\n\t\tcase \"htmlencoded\":\n\t\t\tthis.text = this.getValueAsHtmlEncoded();\n\t\t\tbreak;\n\t\tcase \"htmltextencoded\":\n\t\t\tthis.text = this.getValueAsHtmlTextEncoded();\n\t\t\tbreak;\n\t\tcase \"urlencoded\":\n\t\t\tthis.text = this.getValueAsUrlEncoded();\n\t\t\tbreak;\n\t\tcase \"doubleurlencoded\":\n\t\t\tthis.text = this.getValueAsDoubleUrlEncoded();\n\t\t\tbreak;\n\t\tcase \"date\":\n\t\t\tthis.text = this.getValueAsDate(this.viewTemplate);\n\t\t\tbreak;\n\t\tcase \"relativedate\":\n\t\t\tthis.text = this.getValueAsRelativeDate();\n\t\t\tbreak;\n\t\tcase \"stripcomments\":\n\t\t\tthis.text = this.getValueAsStrippedComments();\n\t\t\tbreak;\n\t\tcase \"jsencoded\":\n\t\t\tthis.text = this.getValueAsJsEncoded();\n\t\t\tbreak;\n\t\tdefault: // \"text\"\n\t\t\tthis.text = this.getValueAsText();\n\t\t\tbreak;\n\t}\n};\n\n/*\nThe various formatter functions are baked into this widget for the moment. Eventually they will be replaced by macro functions\n*/\n\n/*\nRetrieve the value of the widget. Options are:\nasString: Optionally return the value as a string\n*/\nViewWidget.prototype.getValue = function(options) {\n\toptions = options || {};\n\tvar value = options.asString ? \"\" : undefined;\n\tif(this.viewIndex) {\n\t\tvalue = this.wiki.extractTiddlerDataItem(this.viewTitle,this.viewIndex);\n\t} else {\n\t\tvar tiddler;\n\t\tif(this.viewSubtiddler) {\n\t\t\ttiddler = this.wiki.getSubTiddler(this.viewTitle,this.viewSubtiddler);\n\t\t} else {\n\t\t\ttiddler = this.wiki.getTiddler(this.viewTitle);\n\t\t}\n\t\tif(tiddler) {\n\t\t\tif(this.viewField === \"text\" && !this.viewSubtiddler) {\n\t\t\t\t// Calling getTiddlerText() triggers lazy loading of skinny tiddlers\n\t\t\t\tvalue = this.wiki.getTiddlerText(this.viewTitle);\n\t\t\t} else {\n\t\t\t\tif($tw.utils.hop(tiddler.fields,this.viewField)) {\n\t\t\t\t\tif(options.asString) {\n\t\t\t\t\t\tvalue = tiddler.getFieldString(this.viewField);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvalue = tiddler.fields[this.viewField];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif(this.viewField === \"title\") {\n\t\t\t\tvalue = this.viewTitle;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n\nViewWidget.prototype.getValueAsText = function() {\n\treturn this.getValue({asString: true});\n};\n\nViewWidget.prototype.getValueAsHtmlWikified = function(mode) {\n\treturn this.wiki.renderText(\"text/html\",\"text/vnd.tiddlywiki\",this.getValueAsText(),{\n\t\tparseAsInline: mode !== \"block\",\n\t\tparentWidget: this\n\t});\n};\n\nViewWidget.prototype.getValueAsPlainWikified = function(mode) {\n\treturn this.wiki.renderText(\"text/plain\",\"text/vnd.tiddlywiki\",this.getValueAsText(),{\n\t\tparseAsInline: mode !== \"block\",\n\t\tparentWidget: this\n\t});\n};\n\nViewWidget.prototype.getValueAsHtmlEncodedPlainWikified = function(mode) {\n\treturn $tw.utils.htmlEncode(this.wiki.renderText(\"text/plain\",\"text/vnd.tiddlywiki\",this.getValueAsText(),{\n\t\tparseAsInline: mode !== \"block\",\n\t\tparentWidget: this\n\t}));\n};\n\nViewWidget.prototype.getValueAsHtmlEncoded = function() {\n\treturn $tw.utils.htmlEncode(this.getValueAsText());\n};\n\nViewWidget.prototype.getValueAsHtmlTextEncoded = function() {\n\treturn $tw.utils.htmlTextEncode(this.getValueAsText());\n};\n\nViewWidget.prototype.getValueAsUrlEncoded = function() {\n\treturn $tw.utils.encodeURIComponentExtended(this.getValueAsText());\n};\n\nViewWidget.prototype.getValueAsDoubleUrlEncoded = function() {\n\treturn $tw.utils.encodeURIComponentExtended($tw.utils.encodeURIComponentExtended(this.getValueAsText()));\n};\n\nViewWidget.prototype.getValueAsDate = function(format) {\n\tformat = format || \"YYYY MM DD 0hh:0mm\";\n\tvar value = $tw.utils.parseDate(this.getValue());\n\tif(value && $tw.utils.isDate(value) && value.toString() !== \"Invalid Date\") {\n\t\treturn $tw.utils.formatDateString(value,format);\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\nViewWidget.prototype.getValueAsRelativeDate = function(format) {\n\tvar value = $tw.utils.parseDate(this.getValue());\n\tif(value && $tw.utils.isDate(value) && value.toString() !== \"Invalid Date\") {\n\t\treturn $tw.utils.getRelativeDate((new Date()) - (new Date(value))).description;\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\nViewWidget.prototype.getValueAsStrippedComments = function() {\n\tvar lines = this.getValueAsText().split(\"\\n\"),\n\t\tout = [];\n\tfor(var line=0; line<lines.length; line++) {\n\t\tvar text = lines[line];\n\t\tif(!/^\\s*\\/\\/#/.test(text)) {\n\t\t\tout.push(text);\n\t\t}\n\t}\n\treturn out.join(\"\\n\");\n};\n\nViewWidget.prototype.getValueAsJsEncoded = function() {\n\treturn $tw.utils.stringify(this.getValueAsText());\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nViewWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.template || changedAttributes.format || changedTiddlers[this.viewTitle]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\nexports.view = ViewWidget;\n"
  },
  {
    "path": "core/modules/widgets/void.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/void.js\ntype: application/javascript\nmodule-type: widget\n\nVoid widget that corresponds to pragma and comment AST nodes, etc. It does not render itself but renders all its children.\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar VoidNodeWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nVoidNodeWidget.prototype = new Widget();\n\nexports.void = VoidNodeWidget;\n"
  },
  {
    "path": "core/modules/widgets/widget.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/widget.js\ntype: application/javascript\nmodule-type: widget\n\nWidget base class\n\n\\*/\n\n\"use strict\";\n\n/*\nCreate a widget object for a parse tree node\n\tparseTreeNode: reference to the parse tree node to be rendered\n\toptions: see below\nOptions include:\n\twiki: mandatory reference to wiki associated with this render tree\n\tparentWidget: optional reference to a parent renderer node for the context chain\n\tdocument: optional document object to use instead of global document\n*/\nvar Widget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInitialise widget properties. These steps are pulled out of the constructor so that we can reuse them in subclasses\n*/\nWidget.prototype.initialise = function(parseTreeNode,options) {\n\t// Bail if parseTreeNode is undefined, meaning  that the widget constructor was called without any arguments so that it can be subclassed\n\tif(parseTreeNode === undefined) {\n\t\treturn;\n\t}\n\toptions = options || {};\n\t// Save widget info\n\tthis.parseTreeNode = parseTreeNode;\n\tthis.wiki = options.wiki;\n\tthis.parentWidget = options.parentWidget;\n\tthis.variables = Object.create(this.parentWidget ? this.parentWidget.variables : null);\n\tthis.document = options.document;\n\tthis.attributes = {};\n\tthis.children = [];\n\tthis.domNodes = [];\n\tthis.eventListeners = {};\n\t// Hashmap of the widget classes\n\tif(!this.widgetClasses) {\n\t\t// Get widget classes\n\t\tWidget.prototype.widgetClasses = $tw.modules.applyMethods(\"widget\");\n\t\t// Process any subclasses\n\t\t$tw.modules.forEachModuleOfType(\"widget-subclass\",function(title,module) {\n\t\t\tif(module.baseClass) {\n\t\t\t\tvar baseClass = Widget.prototype.widgetClasses[module.baseClass];\n\t\t\t\tif(!baseClass) {\n\t\t\t\t\tthrow \"Module '\" + title + \"' is attemping to extend a non-existent base class '\" + module.baseClass + \"'\";\n\t\t\t\t}\n\t\t\t\tvar subClass = module.constructor;\n\t\t\t\tsubClass.prototype = new baseClass();\n\t\t\t\t$tw.utils.extend(subClass.prototype,module.prototype);\n\t\t\t\tWidget.prototype.widgetClasses[module.name || module.baseClass] = subClass;\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nRender this widget into the DOM\n*/\nWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nWidget.prototype.execute = function() {\n\tthis.makeChildWidgets();\n};\n\n/*\nSet the value of a context variable\nname: name of the variable\nvalue: value of the variable, can be a string or an array\nparams: array of {name:, default:} for each parameter\nisMacroDefinition: true if the variable is set via a \\define macro pragma (and hence should have variable substitution performed)\noptions includes:\n\tisProcedureDefinition: true if the variable is set via a \\procedure pragma (and hence should not have variable substitution performed)\n\tisFunctionDefinition: true if the variable is set via a \\function pragma (and hence should not have variable substitution performed)\n\tisWidgetDefinition: true if the variable is set via a \\widget pragma (and hence should not have variable substitution performed)\n*/\nWidget.prototype.setVariable = function(name,value,params,isMacroDefinition,options) {\n\toptions = options || {};\n\tvar valueIsArray = $tw.utils.isArray(value);\n\tthis.variables[name] = {\n\t\tvalue: valueIsArray ? (value[0] || \"\") : value,\n\t\tresultList: valueIsArray ? value : [value],\n\t\tparams: params,\n\t\tisMacroDefinition: !!isMacroDefinition,\n\t\tisFunctionDefinition: !!options.isFunctionDefinition,\n\t\tisProcedureDefinition: !!options.isProcedureDefinition,\n\t\tisWidgetDefinition: !!options.isWidgetDefinition,\n\t\tconfigTrimWhiteSpace: !!options.configTrimWhiteSpace\n\t};\n};\n\n/*\nGet the prevailing value of a context variable\nname: name of variable\noptions: see below\nOptions include\n\nparams: array of {name:, value:} for each parameter\ndefaultValue: default value if the variable is not defined\nsource: optional source iterator for evaluating function invocations\nallowSelfAssigned: if true, includes the current widget in the context chain instead of just the parent\n\nReturns an object with the following fields:\n\nparams: array of {name:,value:,multiValue:} of parameters to be applied (name is optional)\ntext: text of variable, with parameters properly substituted\nresultList: result of variable evaluation as an array\nsrcVariable: reference to the object defining the variable\n*/\nWidget.prototype.getVariableInfo = function(name,options) {\n\toptions = options || {};\n\tvar self = this,\n\t\tactualParams = options.params || [],\n\t\tvariable;\n\tif(options.allowSelfAssigned) {\n\t\tvariable = this.variables[name];\n\t} else {\n\t\tvariable = this.parentWidget && this.parentWidget.variables[name];\n\t}\n\t// Check for the variable defined in the parent widget (or an ancestor in the prototype chain)\n\tif(variable) {\n\t\tvar originalValue = variable.value,\n\t\t\tvalue = originalValue,\n\t\t\tparams = [],\n\t\t\tresultList = [value];\n\t\t// Only substitute parameter and variable references if this variable was defined with the \\define pragma\n\t\tif(variable.isMacroDefinition) {\n\t\t\tparams = self.resolveVariableParameters(variable.params,actualParams);\n\t\t\t// Substitute any parameters specified in the definition\n\t\t\t$tw.utils.each(params,function(param) {\n\t\t\t\tif(\"name\" in param) {\n\t\t\t\t\tvalue = $tw.utils.replaceString(value,new RegExp(\"\\\\$\" + $tw.utils.escapeRegExp(param.name) + \"\\\\$\",\"mg\"),param.value);\n\t\t\t\t}\n\t\t\t});\n\t\t\tvalue = self.substituteVariableReferences(value,options);\n\t\t\tresultList = [value];\n\t\t} else if(variable.isFunctionDefinition) {\n\t\t\t// Function evaluations\n\t\t\tparams = self.resolveVariableParameters(variable.params,actualParams);\n\t\t\tvar variables = $tw.utils.extend({},options.variables);\n\t\t\t// Apply default parameter values\n\t\t\t$tw.utils.each(variable.params,function(param,index) {\n\t\t\t\tif(param[\"default\"]) {\n\t\t\t\t\tvariables[param.name] = param[\"default\"];\n\t\t\t\t}\n\t\t\t});\n\t\t\t// Parameters are an array of {name:, value:, multivalue:} pairs (name and multivalue are optional)\n\t\t\t$tw.utils.each(params,function(param) {\n\t\t\t\tif(param.multiValue && param.multiValue.length) {\n\t\t\t\t\tvariables[param.name] = param.multiValue;\n\t\t\t\t} else {\n\t\t\t\t\tvariables[param.name] = param.value || \"\";\n\t\t\t\t}\n\t\t\t});\n\t\t\tresultList = this.wiki.filterTiddlers(value,this.makeFakeWidgetWithVariables(variables),options.source);\n\t\t\tvalue = resultList[0] || \"\";\n\t\t} else {\n\t\t\tif(variable.resultList) {\n\t\t\t\tresultList = variable.resultList;\n\t\t\t}\n\t\t\tparams = variable.params;\n\t\t}\n\t\treturn {\n\t\t\ttext: value,\n\t\t\tparams: params,\n\t\t\tresultList: resultList,\n\t\t\tsrcVariable: variable,\n\t\t\tisCacheable: originalValue === value\n\t\t};\n\t}\n\t// If the variable doesn't exist in the parent widget then look for a macro module\n\tvar text = this.evaluateMacroModule(name,actualParams);\n\tif(text === undefined) {\n\t\ttext = options.defaultValue;\n\t}\n\treturn {\n\t\ttext: text,\n\t\tresultList: [text]\n\t};\n};\n\n/*\nSimplified version of getVariableInfo() that just returns the text\n*/\nWidget.prototype.getVariable = function(name,options) {\n\treturn this.getVariableInfo(name,options).text;\n};\n\n/*\nMaps actual parameters onto formal parameters, returning an array of {name:,value:} objects\nformalParams - Array of {name:,default:} (default value is optional)\nactualParams - Array of string values or {name:,value:,multiValue} (name and multiValue is optional)\n*/\nWidget.prototype.resolveVariableParameters = function(formalParams,actualParams) {\n\tformalParams = formalParams || [];\n\tactualParams = actualParams || [];\n\tvar nextAnonParameter = 0, // Next candidate anonymous parameter in macro call\n\t\tparamInfo, paramValue, paramMultiValue,\n\t\tresults = [];\n\t// Step through each of the parameters in the macro definition\n\tfor(var p=0; p<formalParams.length; p++) {\n\t\t// Check if we've got a macro call parameter with the same name\n\t\tparamInfo = formalParams[p];\n\t\tparamValue = undefined;\n\t\tparamMultiValue = undefined;\n\t\tfor(var m=0; m<actualParams.length; m++) {\n\t\t\tif(typeof actualParams[m] !== \"string\" && actualParams[m].name === paramInfo.name) {\n\t\t\t\tparamValue = actualParams[m].value;\n\t\t\t\tparamMultiValue = actualParams[m].multiValue || [paramValue];\n\t\t\t}\n\t\t}\n\t\t// If not, use the next available anonymous macro call parameter\n\t\twhile(nextAnonParameter < actualParams.length && actualParams[nextAnonParameter].name) {\n\t\t\tnextAnonParameter++;\n\t\t}\n\t\tif(paramValue === undefined && nextAnonParameter < actualParams.length) {\n\t\t\tvar param = actualParams[nextAnonParameter++];\n\t\t\tparamValue = typeof param === \"string\" ? param : param.value;\n\t\t\tparamMultiValue = typeof param === \"string\" ? [param] : (param.multiValue || [paramValue]);\n\t\t}\n\t\t// If we've still not got a value, use the default, if any\n\t\tif(!paramValue) {\n\t\t\tparamValue = paramInfo[\"default\"] || \"\";\n\t\t\tparamMultiValue = [paramValue];\n\t\t}\n\t\t// Store the parameter name and value\n\t\tresults.push({name: paramInfo.name, value: paramValue, multiValue: paramMultiValue});\n\t}\n\treturn results;\n};\n\nWidget.prototype.substituteVariableReferences = function(text,options) {\n\tvar self = this;\n\treturn (text || \"\").replace(/\\$\\(([^\\)\\$]+)\\)\\$/g,function(match,p1,offset,string) {\n\t\treturn options.variables && options.variables[p1] || (self.getVariable(p1,{defaultValue: \"\"}));\n\t});\n};\n\nWidget.prototype.evaluateMacroModule = function(name,actualParams,defaultValue) {\n\tif($tw.utils.hop($tw.macros,name)) {\n\t\tvar macro = $tw.macros[name],\n\t\t\targs = [];\n\t\tif(macro.params.length > 0) {\n\t\t\tvar nextAnonParameter = 0, // Next candidate anonymous parameter in macro call\n\t\t\t\tparamInfo, paramValue;\n\t\t\t// Step through each of the parameters in the macro definition\n\t\t\tfor(var p=0; p<macro.params.length; p++) {\n\t\t\t\t// Check if we've got a macro call parameter with the same name\n\t\t\t\tparamInfo = macro.params[p];\n\t\t\t\tparamValue = undefined;\n\t\t\t\tfor(var m=0; m<actualParams.length; m++) {\n\t\t\t\t\tif(actualParams[m].name === paramInfo.name) {\n\t\t\t\t\t\tparamValue = actualParams[m].value;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// If not, use the next available anonymous macro call parameter\n\t\t\t\twhile(nextAnonParameter < actualParams.length && actualParams[nextAnonParameter].name) {\n\t\t\t\t\tnextAnonParameter++;\n\t\t\t\t}\n\t\t\t\tif(paramValue === undefined && nextAnonParameter < actualParams.length) {\n\t\t\t\t\tparamValue = actualParams[nextAnonParameter++].value;\n\t\t\t\t}\n\t\t\t\t// If we've still not got a value, use the default, if any\n\t\t\t\tparamValue = paramValue || paramInfo[\"default\"] || \"\";\n\t\t\t\t// Save the parameter\n\t\t\t\targs.push(paramValue);\n\t\t\t}\n\t\t}\n\t\telse for(var i=0; i<actualParams.length; ++i) {\n\t\t\targs.push(actualParams[i].value);\n\t\t}\n\t\treturn (macro.run.apply(this,args) || \"\").toString();\n\t} else {\n\t\treturn defaultValue;\n\t}\n};\n\n/*\nCheck whether a given context variable value exists in the parent chain\n*/\nWidget.prototype.hasVariable = function(name,value) {\n\tvar node = this;\n\twhile(node) {\n\t\tif($tw.utils.hop(node.variables,name) && node.variables[name].value === value) {\n\t\t\treturn true;\n\t\t}\n\t\tnode = node.parentWidget;\n\t}\n\treturn false;\n};\n\n/*\nConstruct a qualifying string based on a hash of concatenating the values of a given variable in the parent chain\n*/\nWidget.prototype.getStateQualifier = function(name) {\n\tthis.qualifiers = this.qualifiers || Object.create(null);\n\tname = name || \"transclusion\";\n\tif(this.qualifiers[name]) {\n\t\treturn this.qualifiers[name];\n\t} else {\n\t\tvar output = [],\n\t\t\tnode = this;\n\t\twhile(node && node.parentWidget) {\n\t\t\tif($tw.utils.hop(node.parentWidget.variables,name)) {\n\t\t\t\toutput.push(node.getVariable(name));\n\t\t\t}\n\t\t\tnode = node.parentWidget;\n\t\t}\n\t\tvar value = $tw.utils.hashString(output.join(\"\"));\n\t\tthis.qualifiers[name] = value;\n\t\treturn value;\n\t}\n};\n\n/*\nMake a fake widget with specified variables, suitable for variable lookup in filters. Each variable can be a string or an array of strings\n*/\nWidget.prototype.makeFakeWidgetWithVariables = function(vars = {}) {\n\tconst self = this;\n\n\tconst fakeWidget = {\n\t\tgetVariableInfo(name,opts = {}) {\n\t\t\tif(name in vars) {\n\t\t\t\tconst value = vars[name];\n\t\t\t\treturn Array.isArray(value)\n\t\t\t\t\t? { text: value[0], resultList: value }\n\t\t\t\t\t: { text: value, resultList: [value] };\n\t\t\t}\n\t\t\topts = opts || {};\n\t\t\topts.variables = Object.assign({}, vars, opts.variables || {});\n\t\t\treturn self.getVariableInfo(name, opts);\n\t\t},\n\n\n\t\tgetVariable(name,opts) {\n\t\t\treturn this.getVariableInfo(name, opts).text;\n\t\t},\n\n\t\tresolveVariableParameters: self.resolveVariableParameters,\n\t\twiki: self.wiki,\n\t\tmakeFakeWidgetWithVariables: self.makeFakeWidgetWithVariables,\n\n\t\tget variables() {\n\t\t\t// Merge parent vars via prototype-like delegation\n\t\t\treturn Object.create(self.variables || {}, \n\t\t\t\tObject.keys(vars).reduce((acc, key) => {\n\t\t\t\t\tacc[key] = { value: vars[key], enumerable: true, configurable: true };\n\t\t\t\t\treturn acc;\n\t\t\t\t}, {})\n\t\t\t);\n\t\t}\n\t};\n\n\treturn fakeWidget;\n};\n\n/*\nCompute the current values of the attributes of the widget. Returns a hashmap of the names of the attributes that have changed.\nOptions include:\nfilterFn: only include attributes where filterFn(name) returns true\nasList: boolean if true returns results as an array instead of a single value\n*/\nWidget.prototype.computeAttributes = function(options) {\n\toptions = options || {};\n\tvar changedAttributes = {},\n\t\tself = this,\n\t\tnewMultiValuedAttributes = Object.create(null);\n\t$tw.utils.each(this.parseTreeNode.attributes,function(attribute,name) {\n\t\tif(options.filterFn) {\n\t\t\tif(!options.filterFn(name)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tvar value = self.computeAttribute(attribute,options),\n\t\t\tmultiValue = null;\n\t\tif($tw.utils.isArray(value)) {\n\t\t\tmultiValue = value;\n\t\t\tnewMultiValuedAttributes[name] = multiValue;\n\t\t\tvalue = value[0] || \"\";\n\t\t}\n\t\tvar changed = (self.attributes[name] !== value);\n\t\tif(!changed && multiValue && self.multiValuedAttributes) {\n\t\t\tchanged = !$tw.utils.isArrayEqual(self.multiValuedAttributes[name] || [], multiValue);\n\t\t}\n\t\tif(changed) {\n\t\t\tself.attributes[name] = value;\n\t\t\tchangedAttributes[name] = true;\n\t\t}\n\t});\n\tthis.multiValuedAttributes = newMultiValuedAttributes;\n\treturn changedAttributes;\n};\n\n/*\nCompute the value of a single attribute. Options include:\nasList: boolean if true returns results as an array instead of a single value\n*/\nWidget.prototype.computeAttribute = function(attribute,options) {\n\toptions = options || {};\n\tvar self = this,\n\t\tvalue;\n\tif(attribute.type === \"filtered\") {\n\t\tvalue = this.wiki.filterTiddlers(attribute.filter,this);\n\t\tif(!options.asList) {\n\t\t\tvalue = value[0] || \"\";\n\t\t}\n\t} else if(attribute.type === \"indirect\") {\n\t\tvalue = this.wiki.getTextReference(attribute.textReference,\"\",this.getVariable(\"currentTiddler\"));\n\t\tif(value && options.asList) {\n\t\t\tvalue = [value];\n\t\t}\n\t} else if(attribute.type === \"macro\") {\n\t\t// Get the macro name\n\t\tvar macroName = attribute.value.attributes[\"$variable\"].value;\n\t\t// Collect macro parameters\n\t\tvar params = [];\n\t\t$tw.utils.each(attribute.value.orderedAttributes,function(attr) {\n\t\t\tvar param = {\n\t\t\t\tvalue: self.computeAttribute(attr)\n\t\t\t};\n\t\t\tif(attr.name && !attr.isPositional) {\n\t\t\t\tparam.name = attr.name;\n\t\t\t}\n\t\t\tparams.push(param);\n\t\t});\n\t\t// Invoke the macro\n\t\tvar variableInfo = this.getVariableInfo(macroName,{params: params});\n\t\tif(options.asList || attribute.isMVV) {\n\t\t\tvalue = variableInfo.resultList;\n\t\t} else {\n\t\t\tvalue = variableInfo.text;\n\t\t}\n\t} else if(attribute.type === \"substituted\") {\n\t\tvalue = this.wiki.getSubstitutedText(attribute.rawValue,this) || \"\";\n\t\tif(options.asList) {\n\t\t\tvalue = [value];\n\t\t}\n\t} else { // String attribute\n\t\tvalue = attribute.value;\n\t\tif(options.asList) {\n\t\t\tif(value !== undefined) {\n\t\t\t\tvalue = [value];\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n\n/*\nCheck for the presence of an evaluated attribute on the widget. Note that attributes set to a missing variable (ie attr=<<missing>>) will be treated as missing\n*/\nWidget.prototype.hasAttribute = function(name) {\n\treturn $tw.utils.hop(this.attributes,name);\n};\n\n/*\nCheck for the presence of a raw attribute on the widget parse tree node. Note that attributes set to a missing variable (ie attr=<<missing>>) will NOT be treated as missing\n*/\nWidget.prototype.hasParseTreeNodeAttribute = function(name) {\n\treturn $tw.utils.hop(this.parseTreeNode.attributes,name);\n};\n\n/*\nGet the value of an attribute\n*/\nWidget.prototype.getAttribute = function(name,defaultText) {\n\tif($tw.utils.hop(this.attributes,name)) {\n\t\treturn this.attributes[name];\n\t} else {\n\t\treturn defaultText;\n\t}\n};\n\n/*\nAssign the common attributes of the widget to a domNode\noptions include:\nsourcePrefix: prefix of attributes that are to be directly assigned (defaults to the empty string meaning all attributes)\ndestPrefix: prefix to be applied to attribute names that are to be directly assigned (defaults to the emtpy string which means no prefix is added)\nchangedAttributes: hashmap by attribute name of attributes to process (if missing, process all attributes)\nexcludeEventAttributes: ignores attributes whose name would begin with \"on\"\n*/\nWidget.prototype.assignAttributes = function(domNode,options) {\n\toptions = options || {};\n\tvar self = this,\n\t\tchangedAttributes = options.changedAttributes || this.attributes,\n\t\tsourcePrefix = options.sourcePrefix || \"\",\n\t\tdestPrefix = options.destPrefix || \"\",\n\t\tEVENT_ATTRIBUTE_PREFIX = \"on\";\n\tvar assignAttribute = function(name,value) {\n\t\t// Process any CSS custom properties\n\t\tif(name.substr(0,2) === \"--\" && name.length > 2) {\n\t\t\tdomNode.style.setProperty(name,value);\n\t\t\treturn;\n\t\t}\n\t\t// Process any style attributes before considering sourcePrefix and destPrefix\n\t\tif(name.substr(0,6) === \"style.\" && name.length > 6) {\n\t\t\tdomNode.style[$tw.utils.unHyphenateCss(name.substr(6))] = value;\n\t\t\treturn;\n\t\t}\n\t\t// Check if the sourcePrefix is a match\n\t\tif(name.substr(0,sourcePrefix.length) === sourcePrefix) {\n\t\t\tname = destPrefix + name.substr(sourcePrefix.length);\n\t\t} else {\n\t\t\tvalue = undefined;\n\t\t}\n\t\t// Check for excluded attribute names\n\t\tif(options.excludeEventAttributes && name.substr(0,2).toLowerCase() === EVENT_ATTRIBUTE_PREFIX) {\n\t\t\tvalue = undefined;\n\t\t}\n\t\tif(value !== undefined) {\n\t\t\t// Handle the xlink: namespace\n\t\t\tvar namespace = null;\n\t\t\tif(name.substr(0,6) === \"xlink:\" && name.length > 6) {\n\t\t\t\tnamespace = \"http://www.w3.org/1999/xlink\";\n\t\t\t\tname = name.substr(6);\n\t\t\t}\n\t\t\t// Setting certain attributes can cause a DOM error (eg xmlns on the svg element)\n\t\t\ttry {\n\t\t\t\tdomNode.setAttributeNS(namespace,name,value);\n\t\t\t} catch(e) {\n\t\t\t}\n\t\t}\n\t};\n\t// If the parse tree node has the orderedAttributes property then use that order\n\tif(this.parseTreeNode.orderedAttributes) {\n\t\t$tw.utils.each(this.parseTreeNode.orderedAttributes,function(attribute,index) {\n\t\t\tif(attribute.name in changedAttributes) {\n\t\t\t\tassignAttribute(attribute.name,self.getAttribute(attribute.name));\n\t\t\t}\n\t\t});\n\t// Otherwise update each changed attribute irrespective of order\n\t} else {\n\t\t$tw.utils.each(changedAttributes,function(value,name) {\n\t\t\tassignAttribute(name,self.getAttribute(name));\n\t\t});\t\n\t}\n};\n\n/*\nGet the number of ancestor widgets for this widget\n*/\nWidget.prototype.getAncestorCount = function() {\n\tif(this.ancestorCount === undefined) {\n\t\tif(this.parentWidget) {\n\t\t\tthis.ancestorCount = this.parentWidget.getAncestorCount() + 1;\n\t\t} else {\n\t\t\tthis.ancestorCount = 0;\n\t\t}\n\t}\n\treturn this.ancestorCount;\n};\n\n/*\nMake child widgets correspondng to specified parseTreeNodes\n*/\nWidget.prototype.makeChildWidgets = function(parseTreeNodes,options) {\n\toptions = options || {};\n\tthis.children = [];\n\tvar self = this;\n\t// Check for too much recursion\n\tif(this.getAncestorCount() > $tw.utils.TranscludeRecursionError.MAX_WIDGET_TREE_DEPTH) {\n\t\tthrow new $tw.utils.TranscludeRecursionError();\n\t} else {\n\t\t// Create set variable widgets for each variable\n\t\t$tw.utils.each(options.variables,function(value,name) {\n\t\t\tvar setVariableWidget = {\n\t\t\t\ttype: \"set\",\n\t\t\t\tattributes: {\n\t\t\t\t\tname: {type: \"string\", value: name},\n\t\t\t\t\tvalue: {type: \"string\", value: value}\n\t\t\t\t},\n\t\t\t\tchildren: parseTreeNodes\n\t\t\t};\n\t\t\tparseTreeNodes = [setVariableWidget];\n\t\t});\n\t\t// Create the child widgets\n\t\t$tw.utils.each(parseTreeNodes || (this.parseTreeNode && this.parseTreeNode.children),function(childNode) {\n\t\t\tself.children.push(self.makeChildWidget(childNode));\n\t\t});\n\t}\n};\n\n/*\nConstruct the widget object for a parse tree node\noptions include:\n\tvariables: optional hashmap of variables to wrap around the widget\n*/\nWidget.prototype.makeChildWidget = function(parseTreeNode,options) {\n\tvar self = this;\n\toptions = options || {};\n\t// Check whether this node type is defined by a custom widget definition\n\tvar variableDefinitionName = \"$\" + parseTreeNode.type;\n\tif(this.variables[variableDefinitionName]) {\n\t\tvar isOverrideable = function() {\n\t\t\t// Widget is overrideable if its name contains a period, or if it is an existing JS widget and we're not in safe mode\n\t\t\treturn parseTreeNode.type.indexOf(\".\") !== -1 || (!!self.widgetClasses[parseTreeNode.type] && !$tw.safeMode);\n\t\t};\n\t\tif(!parseTreeNode.isNotRemappable && isOverrideable()) { \n\t\t\tvar variableInfo = this.getVariableInfo(variableDefinitionName,{allowSelfAssigned: true});\n\t\t\tif(variableInfo && variableInfo.srcVariable && variableInfo.srcVariable.value && variableInfo.srcVariable.isWidgetDefinition) {\n\t\t\t\tvar newParseTreeNode = {\n\t\t\t\t\ttype: \"transclude\",\n\t\t\t\t\tchildren: parseTreeNode.children,\n\t\t\t\t\tisBlock: parseTreeNode.isBlock\n\t\t\t\t};\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(newParseTreeNode,\"$variable\",variableDefinitionName);\n\t\t\t\t$tw.utils.each(parseTreeNode.attributes,function(attr,name) {\n\t\t\t\t\t// If the attribute starts with a dollar then add an extra dollar so that it doesn't clash with the $xxx attributes of transclude\n\t\t\t\t\tname = name.charAt(0) === \"$\" ? \"$\" + name : name;\n\t\t\t\t\t$tw.utils.addAttributeToParseTreeNode(newParseTreeNode,$tw.utils.extend({},attr,{name: name}));\n\t\t\t\t});\n\t\t\t\tparseTreeNode = newParseTreeNode;\n\t\t\t}\n\t\t}\n\t}\n\t// Get the widget class for this node type\n\tvar WidgetClass = this.widgetClasses[parseTreeNode.type];\n\tif(!WidgetClass) {\n\t\tWidgetClass = this.widgetClasses.text;\n\t\tparseTreeNode = {type: \"text\", text: \"Undefined widget '\" + parseTreeNode.type + \"'\"};\n\t}\n\t// Create set variable widgets for each variable\n\t$tw.utils.each(options.variables,function(value,name) {\n\t\tvar setVariableWidget = {\n\t\t\ttype: \"set\",\n\t\t\tattributes: {\n\t\t\t\tname: {type: \"string\", value: name},\n\t\t\t\tvalue: {type: \"string\", value: value}\n\t\t\t},\n\t\t\tchildren: [\n\t\t\t\tparseTreeNode\n\t\t\t]\n\t\t};\n\t\tparseTreeNode = setVariableWidget;\n\t});\n\treturn new WidgetClass(parseTreeNode,{\n\t\twiki: this.wiki,\n\t\tparentWidget: this,\n\t\tdocument: this.document\n\t});\n};\n\n/*\nGet the next sibling of this widget\n*/\nWidget.prototype.nextSibling = function() {\n\tif(this.parentWidget) {\n\t\tvar index = this.parentWidget.children.indexOf(this);\n\t\tif(index !== -1 && index < this.parentWidget.children.length-1) {\n\t\t\treturn this.parentWidget.children[index+1];\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nGet the previous sibling of this widget\n*/\nWidget.prototype.previousSibling = function() {\n\tif(this.parentWidget) {\n\t\tvar index = this.parentWidget.children.indexOf(this);\n\t\tif(index !== -1 && index > 0) {\n\t\t\treturn this.parentWidget.children[index-1];\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nRender the children of this widget into the DOM\n*/\nWidget.prototype.renderChildren = function(parent,nextSibling) {\n\tvar children = this.children;\n\tfor(var i = 0; i < children.length; i++) {\n\t\tchildren[i].render(parent,nextSibling);\n\t};\n};\n\n/*\nAdd a list of event listeners from an array [{type:,handler:},...]\n*/\nWidget.prototype.addEventListeners = function(listeners) {\n\tvar self = this;\n\t$tw.utils.each(listeners,function(listenerInfo) {\n\t\tself.addEventListener(listenerInfo.type,listenerInfo.handler);\n\t});\n};\n\n/*\nAdd an event listener.\n\nListener could return a boolean indicating whether to further propagation or not, default to `false`.\n*/\nWidget.prototype.addEventListener = function(type,handler) {\n\tthis.eventListeners[type] = this.eventListeners[type] || [];\n\tif(this.eventListeners[type].indexOf(handler) === -1) {\n\t\tthis.eventListeners[type].push(handler);\n\t}\n};\n\n/*\nRemove an event listener\n*/\nWidget.prototype.removeEventListener = function(type,handler) {\n\tif(!this.eventListeners[type]) return;\n\tvar index = this.eventListeners[type].indexOf(handler);\n\tif(index !== -1) {\n\t\tthis.eventListeners[type].splice(index,1);\n\t}\n};\n\n/*\nDispatch an event to a widget.\n\nIf the widget doesn't handle the event then it is also dispatched to the parent widget\n*/\nWidget.prototype.dispatchEvent = function(event) {\n\tevent.widget = event.widget || this;\n\tvar listeners = this.eventListeners[event.type];\n\tif(listeners) {\n\t\tvar self = this;\n\t\tvar shouldPropagate = true;\n\t\t$tw.utils.each(listeners,function(handler) {\n\t\t\tvar propagate;\n\t\t\tif(typeof handler === \"string\") {\n\t\t\t\t// If handler is a string, call it as a method on the widget\n\t\t\t\tpropagate = self[handler].call(self,event);\n\t\t\t} else {\n\t\t\t\t// Otherwise call the function handler directly\n\t\t\t\tpropagate = handler.call(self,event);\n\t\t\t}\n\t\t\tif(propagate === false) {\n\t\t\t\tshouldPropagate = false;\n\t\t\t}\n\t\t});\n\t\tif(!shouldPropagate) {\n\t\t\treturn false;\n\t\t}\n\t}\n\t// Dispatch the event to the parent widget\n\tif(this.parentWidget) {\n\t\treturn this.parentWidget.dispatchEvent(event);\n\t}\n\treturn true;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nRebuild a previously rendered widget\n*/\nWidget.prototype.refreshSelf = function() {\n\tvar nextSibling = this.findNextSiblingDomNode();\n\tthis.removeChildDomNodes();\n\tthis.render(this.parentDomNode,nextSibling);\n};\n\n/*\nRefresh all the children of a widget\n*/\nWidget.prototype.refreshChildren = function(changedTiddlers) {\n\tvar children = this.children,\n\t\trefreshed = false;\n\tfor(var i = 0; i < children.length; i++) {\n\t\trefreshed = children[i].refresh(changedTiddlers) || refreshed;\n\t}\n\treturn refreshed;\n};\n\n/*\nFind the next sibling in the DOM to this widget. This is done by scanning the widget tree through all next siblings and their descendents that share the same parent DOM node\n*/\nWidget.prototype.findNextSiblingDomNode = function(startIndex) {\n\t// Refer to this widget by its index within its parents children\n\tvar parent = this.parentWidget,\n\t\tindex = startIndex !== undefined ? startIndex : parent.children.indexOf(this);\n\tif(index === -1) {\n\t\tthrow \"node not found in parents children\";\n\t}\n\t// Look for a DOM node in the later siblings\n\twhile(++index < parent.children.length) {\n\t\tvar domNode = parent.children[index].findFirstDomNode();\n\t\tif(domNode) {\n\t\t\treturn domNode;\n\t\t}\n\t}\n\t// Go back and look for later siblings of our parent if it has the same parent dom node\n\tvar grandParent = parent.parentWidget;\n\tif(grandParent && parent.parentDomNode === this.parentDomNode) {\n\t\tindex = grandParent.children.indexOf(parent);\n\t\tif(index !== -1) {\n\t\t\treturn parent.findNextSiblingDomNode(index);\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nFind the first DOM node generated by a widget or its children\n*/\nWidget.prototype.findFirstDomNode = function() {\n\t// Return the first dom node of this widget, if we've got one\n\tif(this.domNodes.length > 0) {\n\t\treturn this.domNodes[0];\n\t}\n\t// Otherwise, recursively call our children\n\tfor(var t=0; t<this.children.length; t++) {\n\t\tvar domNode = this.children[t].findFirstDomNode();\n\t\tif(domNode) {\n\t\t\treturn domNode;\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nEntry into destroy procedure\noptions include:\n\tremoveDOMNodes: boolean (default true)\n*/\nWidget.prototype.destroyChildren = function(options) {\n\t$tw.utils.each(this.children,function(childWidget) {\n\t\tchildWidget.destroy(options);\n\t});\n};\n\n/*\nLegacy entry into destroy procedure\n*/\nWidget.prototype.removeChildDomNodes = function() {\n\tthis.destroy({removeDOMNodes: true});\n};\n\n/*\nDefault destroy\noptions include:\n- removeDOMNodes: boolean (default true)\n*/\nWidget.prototype.destroy = function(options) {\n\tconst { removeDOMNodes = true } = options || {};\n\tlet removeChildDOMNodes = removeDOMNodes;\n\tif(removeDOMNodes && this.domNodes.length > 0) {\n\t\t// If this widget will remove its own DOM nodes, children should not remove theirs\n\t\tremoveChildDOMNodes = false;\n\t}\n\t// Destroy children first\n\tthis.destroyChildren({removeDOMNodes: removeChildDOMNodes});\n\tthis.children = [];\n\t\n\t// Call custom cleanup method if implemented\n\tif(typeof this.onDestroy === \"function\") {\n\t\tthis.onDestroy();\n\t}\n\t\n\t// Remove our DOM nodes if needed\n\tif(removeDOMNodes) {\n\t\tthis.removeLocalDomNodes();\t\n\t}\n};\n\n/*\nRemove any DOM nodes created by this widget \n*/\nWidget.prototype.removeLocalDomNodes = function() {\n\tfor(const domNode of this.domNodes) {\n\t\tif(domNode.parentNode) {\n\t\t\tdomNode.parentNode.removeChild(domNode);\n\t\t}\n\t}\n\tthis.domNodes = [];\n};\n\n/*\nInvoke the action widgets that are descendents of the current widget.\n*/\nWidget.prototype.invokeActions = function(triggeringWidget,event) {\n\tvar handled = false;\n\t// For each child widget\n\tfor(var t=0; t<this.children.length; t++) {\n\t\tvar child = this.children[t],\n\t\t\tchildIsActionWidget = !!child.invokeAction,\n\t\t\tactionRefreshPolicy = child.getVariable(\"tv-action-refresh-policy\"); // Default is \"once\"\n\t\t// Refresh the child if required\n\t\tif(childIsActionWidget || actionRefreshPolicy === \"always\") {\n\t\t\tchild.refreshSelf();\n\t\t}\n\t\t// Invoke the child if it is an action widget\n\t\tif(childIsActionWidget) {\n\t\t\tif(child.invokeAction(triggeringWidget,event)) {\n\t\t\t\thandled = true;\n\t\t\t}\n\t\t}\n\t\t// Propagate through through the child if it permits it\n\t\tif(child.allowActionPropagation() && child.invokeActions(triggeringWidget,event)) {\n\t\t\thandled = true;\n\t\t}\n\t}\n\treturn handled;\n};\n\n/*\nInvoke the action widgets defined in a string\n*/\nWidget.prototype.invokeActionString = function(actions,triggeringWidget,event,variables) {\n\tactions = actions || \"\";\n\tvar parser = this.wiki.parseText(\"text/vnd.tiddlywiki\",actions,{\n\t\t\tparentWidget: this,\n\t\t\tdocument: this.document\n\t\t}),\n\t\twidgetNode = this.wiki.makeWidget(parser,{\n\t\t\tparentWidget: this,\n\t\t\tdocument: this.document,\n\t\t\tvariables: variables\n\t\t});\n\tvar container = this.document.createElement(\"div\");\n\twidgetNode.render(container,null);\n\treturn widgetNode.invokeActions(this,event);\n};\n\n/*\nExecute action tiddlers by tag\n*/\nWidget.prototype.invokeActionsByTag = function(tag,event,variables) {\n\tvar self = this;\n\t$tw.utils.each(self.wiki.filterTiddlers(\"[all[shadows+tiddlers]tag[\" + tag + \"]!has[draft.of]]\"),function(title) {\n\t\tself.invokeActionString(self.wiki.getTiddlerText(title),self,event,variables);\n\t});\n};\n\nWidget.prototype.allowActionPropagation = function() {\n\treturn true;\n};\n\n/*\nFind child <$data> widgets recursively. The tag name allows aliased versions of the widget to be found too\n*/\nWidget.prototype.findChildrenDataWidgets = function(children,tag,callback) {\n\tvar self = this;\n\t$tw.utils.each(children,function(child) {\n\t\tif(child.dataWidgetTag === tag) {\n\t\t\tcallback(child);\n\t\t}\n\t\tif(child.children) {\n\t\t\tself.findChildrenDataWidgets(child.children,tag,callback);\n\t\t}\n\t});\n};\n\n/*\nEvaluate a variable with parameters. This is a static convenience method that attempts to evaluate a variable as a function, returning an array of strings\n*/\nWidget.evaluateVariable  = function(widget,name,options) {\n\tvar result;\n\tif(widget.getVariableInfo) {\n\t\tvar variableInfo = widget.getVariableInfo(name,options);\n\t\tresult = variableInfo.resultList || [variableInfo.text];\n\t} else {\n\t\tresult = [widget.getVariable(name)];\n\t}\n\treturn result;\n};\n\nexports.widget = Widget;\n"
  },
  {
    "path": "core/modules/widgets/wikify.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/wikify.js\ntype: application/javascript\nmodule-type: widget\n\nWidget to wikify text into a variable\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar WikifyWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nWikifyWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nWikifyWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nWikifyWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.wikifyName = this.getAttribute(\"name\");\n\tthis.wikifyText = this.getAttribute(\"text\");\n\tthis.wikifyType = this.getAttribute(\"type\");\n\tthis.wikifyMode = this.getAttribute(\"mode\",\"block\");\n\tthis.wikifyOutput = this.getAttribute(\"output\",\"text\");\n\t// Create the parse tree\n\tthis.wikifyParser = this.wiki.parseText(this.wikifyType,this.wikifyText,{\n\t\tparseAsInline: this.wikifyMode === \"inline\"\n\t});\n\t// Create the widget tree \n\tthis.wikifyWidgetNode = this.wiki.makeWidget(this.wikifyParser,{\n\t\tdocument: $tw.fakeDocument,\n\t\tparentWidget: this\n\t});\n\t// Render the widget tree to the container\n\tthis.wikifyContainer = $tw.fakeDocument.createElement(\"div\");\n\tthis.wikifyWidgetNode.render(this.wikifyContainer,null);\n\tthis.wikifyResult = this.getResult();\n\t// Set context variable\n\tthis.setVariable(this.wikifyName,this.wikifyResult);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nReturn the result string\n*/\nWikifyWidget.prototype.getResult = function() {\n\tvar result;\n\tswitch(this.wikifyOutput) {\n\t\tcase \"text\":\n\t\t\tresult = this.wikifyContainer.textContent;\n\t\t\tbreak;\n\t\tcase \"formattedtext\":\n\t\t\tresult = this.wikifyContainer.formattedTextContent;\n\t\t\tbreak;\n\t\tcase \"html\":\n\t\t\tresult = this.wikifyContainer.innerHTML;\n\t\t\tbreak;\n\t\tcase \"parsetree\":\n\t\t\tresult = JSON.stringify(this.wikifyParser.tree,0,$tw.config.preferences.jsonSpaces);\n\t\t\tbreak;\n\t\tcase \"widgettree\":\n\t\t\tresult = JSON.stringify(this.getWidgetTree(),0,$tw.config.preferences.jsonSpaces);\n\t\t\tbreak;\n\t}\n\treturn result;\n};\n\n/*\nReturn a string of the widget tree\n*/\nWikifyWidget.prototype.getWidgetTree = function() {\n\tvar copyNode = function(widgetNode,resultNode) {\n\t\t\tvar type = widgetNode.parseTreeNode.type;\n\t\t\tresultNode.type = type;\n\t\t\tswitch(type) {\n\t\t\t\tcase \"element\":\n\t\t\t\t\tresultNode.tag = widgetNode.parseTreeNode.tag;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"text\":\n\t\t\t\t\tresultNode.text = widgetNode.parseTreeNode.text;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(Object.keys(widgetNode.attributes || {}).length > 0) {\n\t\t\t\tresultNode.attributes = {};\n\t\t\t\t$tw.utils.each(widgetNode.attributes,function(attr,attrName) {\n\t\t\t\t\tresultNode.attributes[attrName] = widgetNode.getAttribute(attrName);\n\t\t\t\t});\n\t\t\t}\n\t\t\tif(Object.keys(widgetNode.children || {}).length > 0) {\n\t\t\t\tresultNode.children = [];\n\t\t\t\t$tw.utils.each(widgetNode.children,function(widgetChildNode) {\n\t\t\t\t\tvar node = {};\n\t\t\t\t\tresultNode.children.push(node);\n\t\t\t\t\tcopyNode(widgetChildNode,node);\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tresults = {};\n\tcopyNode(this.wikifyWidgetNode,results);\n\treturn results;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nWikifyWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// Refresh ourselves entirely if any of our attributes have changed\n\tif(changedAttributes.name || changedAttributes.text || changedAttributes.type || changedAttributes.mode || changedAttributes.output) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\t// Refresh the widget tree\n\t\tif(this.wikifyWidgetNode.refresh(changedTiddlers)) {\n\t\t\t// Check if there was any change\n\t\t\tvar result = this.getResult();\n\t\t\tif(result !== this.wikifyResult) {\n\t\t\t\t// If so, save the change\n\t\t\t\tthis.wikifyResult = result;\n\t\t\t\tthis.setVariable(this.wikifyName,this.wikifyResult);\n\t\t\t\t// Refresh each of our child widgets\n\t\t\t\t$tw.utils.each(this.children,function(childWidget) {\n\t\t\t\t\tchildWidget.refreshSelf();\n\t\t\t\t});\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\t// Just refresh the children\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.wikify = WikifyWidget;\n"
  },
  {
    "path": "core/modules/wiki-bulkops.js",
    "content": "/*\\\ntitle: $:/core/modules/wiki-bulkops.js\ntype: application/javascript\nmodule-type: wikimethod\n\nBulk tiddler operations such as rename.\n\n\\*/\n\n\"use strict\";\n\n/*\nRename a tiddler, and relink any tags or lists that reference it.\n*/\nfunction renameTiddler(fromTitle,toTitle,options) {\n\tfromTitle = (fromTitle || \"\").trim();\n\ttoTitle = (toTitle || \"\").trim();\n\toptions = options || {};\n\tif(fromTitle && toTitle && fromTitle !== toTitle) {\n\t\t// Rename the tiddler itself\n\t\tvar oldTiddler = this.getTiddler(fromTitle),\n\t\t\tnewTiddler = new $tw.Tiddler(oldTiddler,{title: toTitle},this.getModificationFields());\n\t\tnewTiddler = $tw.hooks.invokeHook(\"th-renaming-tiddler\",newTiddler,oldTiddler);\n\t\tthis.addTiddler(newTiddler);\n\t\tthis.deleteTiddler(fromTitle);\n\t\t// Rename any tags or lists that reference it\n\t\tthis.relinkTiddler(fromTitle,toTitle,options);\n\t}\n}\n\n/*\nRelink any tags or lists that reference a given tiddler\n*/\nfunction relinkTiddler(fromTitle,toTitle,options) {\n\tvar self = this;\n\tfromTitle = (fromTitle || \"\").trim();\n\ttoTitle = (toTitle || \"\").trim();\n\toptions = options || {};\n\tif(fromTitle && toTitle && fromTitle !== toTitle) {\n\t\tthis.each(function(tiddler,title) {\n\t\t\tvar type = tiddler.fields.type || \"\";\n\t\t\t// Don't touch plugins or JavaScript modules\n\t\t\tif(!tiddler.fields[\"plugin-type\"] && type !== \"application/javascript\") {\n\t\t\t\tvar tags = tiddler.fields.tags ? tiddler.fields.tags.slice(0) : undefined,\n\t\t\t\t\tlist = tiddler.fields.list ? tiddler.fields.list.slice(0) : undefined,\n\t\t\t\t\tisModified = false,\n\t\t\t\t\tprocessList = function(listField) {\n\t\t\t\t\t\tif(listField && listField.indexOf(fromTitle) !== -1) {\n\t\t\t\t\t\t\t// Remove any existing instances of the toTitle\n\t\t\t\t\t\t\tvar p = listField.indexOf(toTitle);\n\t\t\t\t\t\t\twhile(p !== -1) {\n\t\t\t\t\t\t\t\tlistField.splice(p,1);\n\t\t\t\t\t\t\t\tp = listField.indexOf(toTitle);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// Replace the fromTitle with toTitle\n\t\t\t\t\t\t\t$tw.utils.each(listField,function (title,index) {\n\t\t\t\t\t\t\t\tif(title === fromTitle) {\n\t\t\t\t\t\t\t\t\tlistField[index] = toTitle;\n\t\t\t\t\t\t\t\t\tisModified = true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\tif(!options.dontRenameInTags) {\n\t\t\t\t\t// Rename tags\n\t\t\t\t\tprocessList(tags);\n\t\t\t\t}\n\t\t\t\tif(!options.dontRenameInLists) {\n\t\t\t\t\t// Rename lists\n\t\t\t\t\tprocessList(list);\n\t\t\t\t}\n\t\t\t\tif(isModified) {\n\t\t\t\t\tvar newTiddler = new $tw.Tiddler(tiddler,{tags: tags, list: list},self.getModificationFields());\n\t\t\t\t\tnewTiddler = $tw.hooks.invokeHook(\"th-relinking-tiddler\",newTiddler,tiddler);\n\t\t\t\t\tself.addTiddler(newTiddler);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n};\n\nexports.renameTiddler = renameTiddler;\nexports.relinkTiddler = relinkTiddler;\n"
  },
  {
    "path": "core/modules/wiki.js",
    "content": "/*\\\ntitle: $:/core/modules/wiki.js\ntype: application/javascript\nmodule-type: wikimethod\n\nExtension methods for the $tw.Wiki object\n\nAdds the following properties to the wiki object:\n\n* `eventListeners` is a hashmap by type of arrays of listener functions\n* `changedTiddlers` is a hashmap describing changes to named tiddlers since wiki change events were last dispatched. Each entry is a hashmap containing two fields:\n\tmodified: true/false\n\tdeleted: true/false\n* `changeCount` is a hashmap by tiddler title containing a numerical index that starts at zero and is incremented each time a tiddler is created changed or deleted\n* `caches` is a hashmap by tiddler title containing a further hashmap of named cache objects. Caches are automatically cleared when a tiddler is modified or deleted\n* `globalCache` is a hashmap by cache name of cache objects that are cleared whenever any tiddler change occurs\n\n\\*/\n\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nvar USER_NAME_TITLE = \"$:/status/UserName\",\n\tTIMESTAMP_DISABLE_TITLE = \"$:/config/TimestampDisable\";\n\n/*\nAdd available indexers to this wiki\n*/\nexports.addIndexersToWiki = function() {\n\tvar self = this;\n\t$tw.utils.each($tw.modules.applyMethods(\"indexer\"),function(Indexer,name) {\n\t\tself.addIndexer(new Indexer(self),name);\n\t});\n};\n\n/*\nGet the value of a text reference. Text references can have any of these forms:\n\t<tiddlertitle>\n\t<tiddlertitle>!!<fieldname>\n\t!!<fieldname> - specifies a field of the current tiddlers\n\t<tiddlertitle>##<index>\n*/\nexports.getTextReference = function(textRef,defaultText,currTiddlerTitle) {\n\tvar tr = $tw.utils.parseTextReference(textRef),\n\t\ttitle = tr.title || currTiddlerTitle;\n\tif(tr.field) {\n\t\tvar tiddler = this.getTiddler(title);\n\t\tif(tr.field === \"title\") { // Special case so we can return the title of a non-existent tiddler\n\t\t\treturn title || defaultText;\n\t\t} else if(tiddler && $tw.utils.hop(tiddler.fields,tr.field)) {\n\t\t\treturn tiddler.getFieldString(tr.field);\n\t\t} else {\n\t\t\treturn defaultText;\n\t\t}\n\t} else if(tr.index) {\n\t\treturn this.extractTiddlerDataItem(title,tr.index,defaultText);\n\t} else {\n\t\treturn this.getTiddlerText(title,defaultText);\n\t}\n};\n\nexports.setTextReference = function(textRef,value,currTiddlerTitle) {\n\tvar tr = $tw.utils.parseTextReference(textRef),\n\t\ttitle = tr.title || currTiddlerTitle;\n\tthis.setText(title,tr.field,tr.index,value);\n};\n\nexports.setText = function(title,field,index,value,options) {\n\toptions = options || {};\n\tvar creationFields = options.suppressTimestamp ? {} : this.getCreationFields(),\n\t\tmodificationFields = options.suppressTimestamp ? {} : this.getModificationFields();\n\t// Check if it is a reference to a tiddler field\n\tif(index) {\n\t\tvar data = this.getTiddlerData(title,Object.create(null));\n\t\tif(value !== undefined) {\n\t\t\tdata[index] = value;\n\t\t} else {\n\t\t\tdelete data[index];\n\t\t}\n\t\tthis.setTiddlerData(title,data,{},{suppressTimestamp: options.suppressTimestamp});\n\t} else {\n\t\tvar tiddler = this.getTiddler(title),\n\t\t\tfields = {title: title};\n\t\tfields[field || \"text\"] = value;\n\t\tthis.addTiddler(new $tw.Tiddler(creationFields,tiddler,fields,modificationFields));\n\t}\n};\n\nexports.deleteTextReference = function(textRef,currTiddlerTitle) {\n\tvar tr = $tw.utils.parseTextReference(textRef),\n\t\ttitle,tiddler,fields;\n\t// Check if it is a reference to a tiddler\n\tif(tr.title && !tr.field) {\n\t\tthis.deleteTiddler(tr.title);\n\t// Else check for a field reference\n\t} else if(tr.field) {\n\t\ttitle = tr.title || currTiddlerTitle;\n\t\ttiddler = this.getTiddler(title);\n\t\tif(tiddler && $tw.utils.hop(tiddler.fields,tr.field)) {\n\t\t\tfields = Object.create(null);\n\t\t\tfields[tr.field] = undefined;\n\t\t\tthis.addTiddler(new $tw.Tiddler(tiddler,fields,this.getModificationFields()));\n\t\t}\n\t}\n};\n\nexports.addEventListener = function(type,listener) {\n\tthis.eventListeners = this.eventListeners || {};\n\tthis.eventListeners[type] = this.eventListeners[type]  || [];\n\tthis.eventListeners[type].push(listener);\n};\n\nexports.removeEventListener = function(type,listener) {\n\tvar listeners = this.eventListeners[type];\n\tif(listeners) {\n\t\tvar p = listeners.indexOf(listener);\n\t\tif(p !== -1) {\n\t\t\tlisteners.splice(p,1);\n\t\t}\n\t}\n};\n\nexports.dispatchEvent = function(type /*, args */) {\n\tvar args = Array.prototype.slice.call(arguments,1),\n\t\tlisteners = this.eventListeners[type];\n\tif(listeners) {\n\t\tfor(var p=0; p<listeners.length; p++) {\n\t\t\tvar listener = listeners[p];\n\t\t\tlistener.apply(listener,args);\n\t\t}\n\t}\n};\n\n/*\nCauses a tiddler to be marked as changed, incrementing the change count, and triggers event handlers.\nThis method should be called after the changes it describes have been made to the wiki.tiddlers[] array.\n\ttitle: Title of tiddler\n\tisDeleted: defaults to false (meaning the tiddler has been created or modified),\n\t\ttrue if the tiddler has been deleted\n\tisShadow: defaults to false (meaning the change applies to the normal tiddler),\n\t\ttrue if the tiddler being changed is a shadow tiddler\n*/\nexports.enqueueTiddlerEvent = function(title,isDeleted,isShadow) {\n\t// Record the touch in the list of changed tiddlers\n\tthis.changedTiddlers = this.changedTiddlers || Object.create(null);\n\tthis.changedTiddlers[title] = this.changedTiddlers[title] || Object.create(null);\n\tthis.changedTiddlers[title][isDeleted ? \"deleted\" : \"modified\"] = true;\n\tthis.changedTiddlers[title][isShadow ? \"shadow\" : \"normal\"] = true;\n\t// Increment the change count\n\tthis.changeCount = this.changeCount || Object.create(null);\n\tif($tw.utils.hop(this.changeCount,title)) {\n\t\tthis.changeCount[title]++;\n\t} else {\n\t\tthis.changeCount[title] = 1;\n\t}\n\t// Trigger events\n\tthis.eventListeners = this.eventListeners || {};\n\tif(!this.eventsTriggered) {\n\t\tvar self = this;\n\t\t$tw.utils.nextTick(function() {\n\t\t\tvar changes = self.changedTiddlers;\n\t\t\tself.changedTiddlers = Object.create(null);\n\t\t\tself.eventsTriggered = false;\n\t\t\tif($tw.utils.count(changes) > 0) {\n\t\t\t\tself.dispatchEvent(\"change\",changes);\n\t\t\t}\n\t\t});\n\t\tthis.eventsTriggered = true;\n\t}\n};\n\nexports.getSizeOfTiddlerEventQueue = function() {\n\treturn $tw.utils.count(this.changedTiddlers);\n};\n\nexports.clearTiddlerEventQueue = function() {\n\tthis.changedTiddlers = Object.create(null);\n\tthis.changeCount = Object.create(null);\n};\n\nexports.getChangeCount = function(title) {\n\tthis.changeCount = this.changeCount || Object.create(null);\n\tif($tw.utils.hop(this.changeCount,title)) {\n\t\treturn this.changeCount[title];\n\t} else {\n\t\treturn 0;\n\t}\n};\n\n/*\nGenerate an unused title from the specified base\noptions.prefix must be a string\n*/\nexports.generateNewTitle = function(baseTitle,options) {\n\toptions = options || {};\n\tvar title = baseTitle,\n\t\ttemplate = options.template || \"\",\n\t\t// test if .startCount is a positive integer. If not set to 0\n\t\tc = (parseInt(options.startCount,10) > 0) ? parseInt(options.startCount,10) : 0,\n\t\tprefix = (typeof(options.prefix) === \"string\") ? options.prefix : \" \";\n\n\tif(template) {\n\t\t// \"count\" is important to avoid an endless loop in while(...)!!\n\t\ttemplate = (/\\$count:?(\\d+)?\\$/i.test(template)) ? template : template + \"$count$\";\n\t\t// .formatTitleString() expects strings as input\n\t\ttitle = $tw.utils.formatTitleString(template,{\"base\":baseTitle,\"separator\":prefix,\"counter\":c+\"\"});\n\t\twhile(this.tiddlerExists(title) || this.isShadowTiddler(title) || this.findDraft(title)) {\n\t\t\ttitle = $tw.utils.formatTitleString(template,{\"base\":baseTitle,\"separator\":prefix,\"counter\":(++c)+\"\"});\n\t\t}\n\t} else {\n\t\tif(c > 0) {\n\t\t\ttitle = baseTitle + prefix + c;\n\t\t}\n\t\twhile(this.tiddlerExists(title) || this.isShadowTiddler(title) || this.findDraft(title)) {\n\t\t\ttitle = baseTitle + prefix + (++c);\n\t\t}\n\t}\n\treturn title;\n};\n\nexports.isSystemTiddler = function(title) {\n\treturn title && title.indexOf(\"$:/\") === 0;\n};\n\nexports.isTemporaryTiddler = function(title) {\n\treturn title && title.indexOf(\"$:/temp/\") === 0;\n};\n\nexports.isVolatileTiddler = function(title) {\n\treturn title && title.indexOf(\"$:/temp/volatile/\") === 0;\n};\n\nexports.isImageTiddler = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\n\t\tvar contentTypeInfo = $tw.config.contentTypeInfo[tiddler.fields.type || \"text/vnd.tiddlywiki\"];\n\t\treturn !!contentTypeInfo && contentTypeInfo.flags.indexOf(\"image\") !== -1;\n\t} else {\n\t\treturn null;\n\t}\n};\n\nexports.isBinaryTiddler = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\n\t\tvar contentTypeInfo = $tw.config.contentTypeInfo[tiddler.fields.type || \"text/vnd.tiddlywiki\"];\n\t\treturn !!contentTypeInfo && contentTypeInfo.encoding === \"base64\";\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nLike addTiddler() except it will silently reject any plugin tiddlers that are older than the currently loaded version. Returns true if the tiddler was imported\n*/\nexports.importTiddler = function(tiddler) {\n\tvar existingTiddler = this.getTiddler(tiddler.fields.title);\n\t// Check if we're dealing with a plugin\n\tif(tiddler && tiddler.hasField(\"plugin-type\") && tiddler.hasField(\"version\") && existingTiddler && existingTiddler.hasField(\"plugin-type\") && existingTiddler.hasField(\"version\")) {\n\t\t// Reject the incoming plugin if it is older\n\t\tif(!$tw.utils.checkVersions(tiddler.fields.version,existingTiddler.fields.version)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\t// Fall through to adding the tiddler\n\tthis.addTiddler(tiddler);\n\treturn true;\n};\n\n/*\nReturn a hashmap of the fields that should be set when a tiddler is created\n*/\nexports.getCreationFields = function() {\n\tif(this.getTiddlerText(TIMESTAMP_DISABLE_TITLE,\"\").toLowerCase() !== \"yes\") {\n\t\tvar fields = {\n\t\t\t\tcreated: new Date()\n\t\t\t},\n\t\t\tcreator = this.getTiddlerText(USER_NAME_TITLE);\n\t\tif(creator) {\n\t\t\tfields.creator = creator;\n\t\t}\n\t\treturn fields;\n\t} else {\n\t\treturn {};\n\t}\n};\n\n/*\nReturn a hashmap of the fields that should be set when a tiddler is modified\n*/\nexports.getModificationFields = function() {\n\tif(this.getTiddlerText(TIMESTAMP_DISABLE_TITLE,\"\").toLowerCase() !== \"yes\") {\n\t\tvar fields = Object.create(null),\n\t\t\tmodifier = this.getTiddlerText(USER_NAME_TITLE);\n\t\tfields.modified = new Date();\n\t\tif(modifier) {\n\t\t\tfields.modifier = modifier;\n\t\t}\n\t\treturn fields;\n\t} else {\n\t\treturn {};\n\t}\n};\n\n/*\nReturn a sorted array of tiddler titles.  Options include:\nsortField: field to sort by\nexcludeTag: tag to exclude\nincludeSystem: whether to include system tiddlers (defaults to false)\n*/\nexports.getTiddlers = function(options) {\n\toptions = options || Object.create(null);\n\tvar self = this,\n\t\tsortField = options.sortField || \"title\",\n\t\ttiddlers = [], t, titles = [];\n\tthis.each(function(tiddler,title) {\n\t\tif(options.includeSystem || !self.isSystemTiddler(title)) {\n\t\t\tif(!options.excludeTag || !tiddler.hasTag(options.excludeTag)) {\n\t\t\t\ttiddlers.push(tiddler);\n\t\t\t}\n\t\t}\n\t});\n\ttiddlers.sort(function(a,b) {\n\t\tvar aa = a.fields[sortField].toLowerCase() || \"\",\n\t\t\tbb = b.fields[sortField].toLowerCase() || \"\";\n\t\tif(aa < bb) {\n\t\t\treturn -1;\n\t\t} else {\n\t\t\tif(aa > bb) {\n\t\t\t\treturn 1;\n\t\t\t} else {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t}\n\t});\n\tfor(t=0; t<tiddlers.length; t++) {\n\t\ttitles.push(tiddlers[t].fields.title);\n\t}\n\treturn titles;\n};\n\nexports.countTiddlers = function(excludeTag) {\n\tvar tiddlers = this.getTiddlers({excludeTag: excludeTag});\n\treturn $tw.utils.count(tiddlers);\n};\n\n/*\nReturns a function iterator(callback) that iterates through the specified titles, and invokes the callback with callback(tiddler,title)\n*/\nexports.makeTiddlerIterator = function(titles) {\n\tvar self = this;\n\tif(!$tw.utils.isArray(titles)) {\n\t\ttitles = Object.keys(titles);\n\t} else {\n\t\ttitles = titles.slice(0);\n\t}\n\treturn function(callback) {\n\t\ttitles.forEach(function(title) {\n\t\t\tcallback(self.getTiddler(title),title);\n\t\t});\n\t};\n};\n\n/*\nSort an array of tiddler titles by a specified field\n\ttitles: array of titles (sorted in place)\n\tsortField: name of field to sort by\n\tisDescending: true if the sort should be descending\n\tisCaseSensitive: true if the sort should consider upper and lower case letters to be different\n*/\nexports.sortTiddlers = function(titles,sortField,isDescending,isCaseSensitive,isNumeric,isAlphaNumeric) {\n\tvar self = this;\n\tif(sortField === \"title\") {\n\t\tif(!isNumeric && !isAlphaNumeric) {\n\t\t\tif(isCaseSensitive) {\n\t\t\t\tif(isDescending) {\n\t\t\t\t\ttitles.sort(function(a,b) {\n\t\t\t\t\t\treturn b.localeCompare(a);\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\ttitles.sort(function(a,b) {\n\t\t\t\t\t\treturn a.localeCompare(b);\n\t\t\t\t\t});\n\t\t\t\t}\t\n\t\t\t} else {\n\t\t\t\tif(isDescending) {\n\t\t\t\t\ttitles.sort(function(a,b) {\n\t\t\t\t\t\treturn b.toLowerCase().localeCompare(a.toLowerCase());\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\ttitles.sort(function(a,b) {\n\t\t\t\t\t\treturn a.toLowerCase().localeCompare(b.toLowerCase());\n\t\t\t\t\t});\n\t\t\t\t}\t\n\t\t\t}\n\t\t} else {\n\t\t\ttitles.sort(function(a,b) {\n\t\t\t\tvar x,y;\n\t\t\t\tif(isNumeric) {\n\t\t\t\t\tx = Number(a);\n\t\t\t\t\ty = Number(b);\n\t\t\t\t\tif(isNaN(x)) {\n\t\t\t\t\t\tif(isNaN(y)) {\n\t\t\t\t\t\t\t// If neither value is a number then fall through to a textual comparison\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn isDescending ? -1 : 1;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif(isNaN(y)) {\n\t\t\t\t\t\t\treturn isDescending ? 1 : -1;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn isDescending ? y - x :  x - y;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(isAlphaNumeric) {\n\t\t\t\t\treturn isDescending ? b.localeCompare(a,undefined,{numeric: true,sensitivity: \"base\"}) : a.localeCompare(b,undefined,{numeric: true,sensitivity: \"base\"});\n\t\t\t\t}\n\t\t\t\tif(!isCaseSensitive) {\n\t\t\t\t\ta = a.toLowerCase();\n\t\t\t\t\tb = b.toLowerCase();\n\t\t\t\t}\n\t\t\t\treturn isDescending ? b.localeCompare(a) : a.localeCompare(b);\n\t\t\t});\n\t\t}\n\t} else {\n\t\ttitles.sort(function(a,b) {\n\t\t\tvar x,y;\n\t\t\tif(sortField !== \"title\") {\n\t\t\t\tvar tiddlerA = self.getTiddler(a),\n\t\t\t\t\ttiddlerB = self.getTiddler(b);\n\t\t\t\tif(tiddlerA) {\n\t\t\t\t\ta = tiddlerA.fields[sortField] || \"\";\n\t\t\t\t} else {\n\t\t\t\t\ta = \"\";\n\t\t\t\t}\n\t\t\t\tif(tiddlerB) {\n\t\t\t\t\tb = tiddlerB.fields[sortField] || \"\";\n\t\t\t\t} else {\n\t\t\t\t\tb = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(isNumeric) {\n\t\t\t\tx = Number(a);\n\t\t\t\ty = Number(b);\n\t\t\t\tif(isNaN(x)) {\n\t\t\t\t\tif(isNaN(y)) {\n\t\t\t\t\t\t// If neither value is a number then fall through to a textual comparison\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn isDescending ? -1 : 1;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif(isNaN(y)) {\n\t\t\t\t\t\treturn isDescending ? 1 : -1;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn isDescending ? y - x :  x - y;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(Object.prototype.toString.call(a) === \"[object Date]\" && Object.prototype.toString.call(b) === \"[object Date]\") {\n\t\t\t\treturn isDescending ? b - a : a - b;\n\t\t\t}\n\t\t\ta = String(a);\n\t\t\tb = String(b);\n\t\t\tif(isAlphaNumeric) {\n\t\t\t\treturn isDescending ? b.localeCompare(a,undefined,{numeric: true,sensitivity: \"base\"}) : a.localeCompare(b,undefined,{numeric: true,sensitivity: \"base\"});\n\t\t\t}\n\t\t\tif(!isCaseSensitive) {\n\t\t\t\ta = a.toLowerCase();\n\t\t\t\tb = b.toLowerCase();\n\t\t\t}\n\t\t\treturn isDescending ? b.localeCompare(a) : a.localeCompare(b);\n\t\t});\n\t}\n};\n\n/*\nFor every tiddler invoke a callback(title,tiddler) with `this` set to the wiki object. Options include:\nsortField: field to sort by\nexcludeTag: tag to exclude\nincludeSystem: whether to include system tiddlers (defaults to false)\n*/\nexports.forEachTiddler = function(/* [options,]callback */) {\n\tvar arg = 0,\n\t\toptions = arguments.length >= 2 ? arguments[arg++] : {},\n\t\tcallback = arguments[arg++],\n\t\ttitles = this.getTiddlers(options),\n\t\tt, tiddler;\n\tfor(t=0; t<titles.length; t++) {\n\t\ttiddler = this.getTiddler(titles[t]);\n\t\tif(tiddler) {\n\t\t\tcallback.call(this,tiddler.fields.title,tiddler);\n\t\t}\n\t}\n};\n\n/*\nReturn an array of tiddler titles that are directly linked within the given parse tree\n */\nexports.extractLinks = function(parseTreeRoot) {\n\t// Count up the links\n\tvar links = [],\n\t\tcheckParseTree = function(parseTree) {\n\t\t\tfor(var t=0; t<parseTree.length; t++) {\n\t\t\t\tvar parseTreeNode = parseTree[t];\n\t\t\t\tif(parseTreeNode.type === \"link\" && parseTreeNode.attributes.to && parseTreeNode.attributes.to.type === \"string\") {\n\t\t\t\t\tvar value = parseTreeNode.attributes.to.value;\n\t\t\t\t\tif(links.indexOf(value) === -1) {\n\t\t\t\t\t\tlinks.push(value);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(parseTreeNode.children) {\n\t\t\t\t\tcheckParseTree(parseTreeNode.children);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\tcheckParseTree(parseTreeRoot);\n\treturn links;\n};\n\n/*\nReturn an array of tiddler titles that are directly linked from the specified tiddler\n*/\nexports.getTiddlerLinks = function(title) {\n\tvar self = this;\n\t// We'll cache the links so they only get computed if the tiddler changes\n\treturn this.getCacheForTiddler(title,\"links\",function() {\n\t\t// Parse the tiddler\n\t\tvar parser = self.parseTiddler(title);\n\t\tif(parser) {\n\t\t\treturn self.extractLinks(parser.tree);\n\t\t}\n\t\treturn [];\n\t}).slice(0);\n};\n\n/*\nReturn an array of tiddler titles that link to the specified tiddler\n*/\nexports.getTiddlerBacklinks = function(targetTitle) {\n\tvar self = this,\n\t\tbackIndexer = this.getIndexer(\"BackIndexer\"),\n\t\tbacklinks = backIndexer && backIndexer.subIndexers.link.lookup(targetTitle);\n\n\tif(!backlinks) {\n\t\tbacklinks = [];\n\t\tthis.forEachTiddler(function(title,tiddler) {\n\t\t\tvar links = self.getTiddlerLinks(title);\n\t\t\tif(links.indexOf(targetTitle) !== -1) {\n\t\t\t\tbacklinks.push(title);\n\t\t\t}\n\t\t});\n\t\treturn backlinks;\n\t}\n\treturn backlinks.slice(0);\n};\n\n\n/*\nReturn an array of tiddler titles that are directly transcluded within the given parse tree. `title` is the tiddler being parsed, we will ignore its self-referential transclusions, only return\n */\nexports.extractTranscludes = function(parseTreeRoot, title) {\n\t// Count up the transcludes\n\tvar transcludes = [],\n\t\tcheckParseTree = function(parseTree, parentNode) {\n\t\t\tfor(var t=0; t<parseTree.length; t++) {\n\t\t\t\tvar parseTreeNode = parseTree[t];\n\t\t\t\tif(parseTreeNode.type === \"transclude\") {\n\t\t\t\t\tif(parseTreeNode.attributes.$tiddler) {\n\t\t\t\t\t\tif(parseTreeNode.attributes.$tiddler.type === \"string\") {\n\t\t\t\t\t\t\tvar value;\n\t\t\t\t\t\t\t// if it is Transclusion with Templates like `{{Index||$:/core/ui/TagTemplate}}`, the `$tiddler` will point to the template. We need to find the actual target tiddler from parent node\n\t\t\t\t\t\t\tif(parentNode && parentNode.type === \"tiddler\" && parentNode.attributes.tiddler && parentNode.attributes.tiddler.type === \"string\") {\n\t\t\t\t\t\t\t\t// Empty value (like `{{!!field}}`) means self-referential transclusion.\n\t\t\t\t\t\t\t\tvalue = parentNode.attributes.tiddler.value || title;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tvalue = parseTreeNode.attributes.$tiddler.value;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if(parseTreeNode.attributes.tiddler) {\n\t\t\t\t\t\tif(parseTreeNode.attributes.tiddler.type === \"string\") {\n\t\t\t\t\t\t\t// Old transclude widget usage\n\t\t\t\t\t\t\tvalue = parseTreeNode.attributes.tiddler.value;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if(parseTreeNode.attributes.$field && parseTreeNode.attributes.$field.type === \"string\") {\n\t\t\t\t\t\t// Empty value (like `<$transclude $field='created'/>`) means self-referential transclusion. \n\t\t\t\t\t\tvalue = title;\n\t\t\t\t\t} else if(parseTreeNode.attributes.field && parseTreeNode.attributes.field.type === \"string\") {\n\t\t\t\t\t\t// Old usage with Empty value (like `<$transclude field='created'/>`)\n\t\t\t\t\t\tvalue = title;\n\t\t\t\t\t}\n\t\t\t\t\t// Deduplicate the result.\n\t\t\t\t\tif(value && transcludes.indexOf(value) === -1) {\n\t\t\t\t\t\t$tw.utils.pushTop(transcludes,value);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(parseTreeNode.children) {\n\t\t\t\t\tcheckParseTree(parseTreeNode.children,parseTreeNode);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\tcheckParseTree(parseTreeRoot);\n\treturn transcludes;\n};\n\n\n/*\nReturn an array of tiddler titles that are transcluded from the specified tiddler\n*/\nexports.getTiddlerTranscludes = function(title) {\n\tvar self = this;\n\t// We'll cache the transcludes so they only get computed if the tiddler changes\n\treturn this.getCacheForTiddler(title,\"transcludes\",function() {\n\t\t// Parse the tiddler\n\t\tvar parser = self.parseTiddler(title);\n\t\tif(parser) {\n\t\t\t// this will ignore self-referential transclusions from `title`\n\t\t\treturn self.extractTranscludes(parser.tree,title);\n\t\t}\n\t\treturn [];\n\t}).slice(0);\n};\n\n/*\nReturn an array of tiddler titles that transclude to the specified tiddler\n*/\nexports.getTiddlerBacktranscludes = function(targetTitle) {\n\tvar backIndexer = this.getIndexer(\"BackIndexer\"),\n\t\tbacktranscludes = backIndexer && backIndexer.subIndexers.transclude.lookup(targetTitle);\n\n\tif(!backtranscludes) {\n\t\treturn [];\n\t}\n\treturn backtranscludes.slice(0);\n};\n\n/*\nReturn a hashmap of tiddler titles that are referenced but not defined. Each value is the number of times the missing tiddler is referenced\n*/\nexports.getMissingTitles = function() {\n\tvar self = this,\n\t\tmissing = [];\n\t// We should cache the missing tiddler list, even if we recreate it every time any tiddler is modified\n\tthis.forEachTiddler(function(title,tiddler) {\n\t\tvar links = self.getTiddlerLinks(title);\n\t\t$tw.utils.each(links,function(link) {\n\t\t\tif((!self.tiddlerExists(link) && !self.isShadowTiddler(link)) && missing.indexOf(link) === -1) {\n\t\t\t\tmissing.push(link);\n\t\t\t}\n\t\t});\n\t});\n\treturn missing;\n};\n\nexports.getOrphanTitles = function() {\n\tvar self = this,\n\t\torphans = this.getTiddlers();\n\tthis.forEachTiddler(function(title,tiddler) {\n\t\tvar links = self.getTiddlerLinks(title);\n\t\t$tw.utils.each(links,function(link) {\n\t\t\tvar p = orphans.indexOf(link);\n\t\t\tif(p !== -1) {\n\t\t\t\torphans.splice(p,1);\n\t\t\t}\n\t\t});\n\t});\n\treturn orphans; // Todo\n};\n\n/*\nRetrieves a list of the tiddler titles that are tagged with a given tag\n*/\nexports.getTiddlersWithTag = function(tag) {\n\t// Try to use the indexer\n\tvar self = this,\n\t\ttagIndexer = this.getIndexer(\"TagIndexer\"),\n\t\tresults = tagIndexer && tagIndexer.subIndexers[3].lookup(tag);\n\tif(!results) {\n\t\t// If not available, perform a manual scan\n\t\tresults = this.getGlobalCache(\"taglist-\" + tag,function() {\n\t\t\tvar tagmap = self.getTagMap();\n\t\t\treturn self.sortByList(tagmap[tag],tag);\n\t\t});\n\t}\n\treturn results.slice(0);\n};\n\n/*\nGet a hashmap by tag of arrays of tiddler titles\n*/\nexports.getTagMap = function() {\n\tvar self = this;\n\treturn this.getGlobalCache(\"tagmap\",function() {\n\t\tvar tags = Object.create(null),\n\t\t\tstoreTags = function(tagArray,title) {\n\t\t\t\tif(tagArray) {\n\t\t\t\t\tfor(var index=0; index<tagArray.length; index++) {\n\t\t\t\t\t\tvar tag = tagArray[index];\n\t\t\t\t\t\tif($tw.utils.hop(tags,tag)) {\n\t\t\t\t\t\t\ttags[tag].push(title);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttags[tag] = [title];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\t// Collect up all the tags\n\t\tself.eachShadow(function(tiddler,title) {\n\t\t\tif(!self.tiddlerExists(title)) {\n\t\t\t\ttiddler = self.getTiddler(title);\n\t\t\t\tstoreTags(tiddler.fields.tags,title);\n\t\t\t}\n\t\t});\n\t\tself.each(function(tiddler,title) {\n\t\t\tstoreTags(tiddler.fields.tags,title);\n\t\t});\n\t\treturn tags;\n\t});\n};\n\n/*\nLookup a given tiddler and return a list of all the tiddlers that include it in the specified list field\n*/\nexports.findListingsOfTiddler = function(targetTitle,fieldName) {\n\tfieldName = fieldName || \"list\";\n\tvar wiki = this;\n\tvar listings = this.getGlobalCache(\"listings-\" + fieldName,function() {\n\t\tvar listings = Object.create(null);\n\t\twiki.each(function(tiddler,title) {\n\t\t\tvar list = $tw.utils.parseStringArray(tiddler.fields[fieldName]);\n\t\t\tif(list) {\n\t\t\t\tfor(var i = 0; i < list.length; i++) {\n\t\t\t\t\tvar listItem = list[i],\n\t\t\t\t\t\tlisting = listings[listItem] || [];\n\t\t\t\t\tif(listing.indexOf(title) === -1) {\n\t\t\t\t\t\tlisting.push(title);\n\t\t\t\t\t}\n\t\t\t\t\tlistings[listItem] = listing;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\treturn listings;\n\t});\n\treturn (listings[targetTitle] || []).slice(0);\n};\n\n/*\nSorts an array of tiddler titles according to an ordered list\n*/\nexports.sortByList = function(array,listTitle) {\n\tvar self = this,\n\t\treplacedTitles = Object.create(null);\n\t// Given a title, this function will place it in the correct location\n\t// within titles.\n\tfunction moveItemInList(title) {\n\t\tif(!$tw.utils.hop(replacedTitles, title)) {\n\t\t\treplacedTitles[title] = true;\n\t\t\tvar newPos = -1,\n\t\t\t\ttiddler = self.getTiddler(title);\n\t\t\tif(tiddler) {\n\t\t\t\tvar beforeTitle = tiddler.fields[\"list-before\"],\n\t\t\t\t\tafterTitle = tiddler.fields[\"list-after\"];\n\t\t\t\tif(beforeTitle === \"\") {\n\t\t\t\t\tnewPos = 0;\n\t\t\t\t} else if(afterTitle === \"\") {\n\t\t\t\t\tnewPos = titles.length;\n\t\t\t\t} else if(beforeTitle) {\n\t\t\t\t\t// if this title is placed relative\n\t\t\t\t\t// to another title, make sure that\n\t\t\t\t\t// title is placed before we place\n\t\t\t\t\t// this one.\n\t\t\t\t\tmoveItemInList(beforeTitle);\n\t\t\t\t\tnewPos = titles.indexOf(beforeTitle);\n\t\t\t\t} else if(afterTitle) {\n\t\t\t\t\t// Same deal\n\t\t\t\t\tmoveItemInList(afterTitle);\n\t\t\t\t\tnewPos = titles.indexOf(afterTitle);\n\t\t\t\t\tif(newPos >= 0) {\n\t\t\t\t\t\t++newPos;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// If a new position is specified, let's move it\n\t\t\t\tif(newPos !== -1) {\n\t\t\t\t\t// get its current Pos, and make sure\n\t\t\t\t\t// sure that it's _actually_ in the list\n\t\t\t\t\t// and that it would _actually_ move\n\t\t\t\t\t// (#4275) We don't bother calling\n\t\t\t\t\t//         indexOf unless we have a new\n\t\t\t\t\t//         position to work with\n\t\t\t\t\tvar currPos = titles.indexOf(title);\n\t\t\t\t\tif(currPos >= 0 && newPos !== currPos) {\n\t\t\t\t\t\t// move it!\n\t\t\t\t\t\ttitles.splice(currPos,1);\n\t\t\t\t\t\tif(newPos >= currPos) {\n\t\t\t\t\t\t\tnewPos--;\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttitles.splice(newPos,0,title);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tvar list = this.getTiddlerList(listTitle);\n\tif(!array || array.length === 0) {\n\t\treturn [];\n\t} else {\n\t\tvar titles = [], t, title;\n\t\t// First place any entries that are present in the list\n\t\tfor(t=0; t<list.length; t++) {\n\t\t\ttitle = list[t];\n\t\t\tif(array.indexOf(title) !== -1) {\n\t\t\t\ttitles.push(title);\n\t\t\t}\n\t\t}\n\t\t// Then place any remaining entries\n\t\tfor(t=0; t<array.length; t++) {\n\t\t\ttitle = array[t];\n\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\ttitles.push(title);\n\t\t\t}\n\t\t}\n\t\t// Finally obey the list-before and list-after fields of each tiddler in turn\n\t\tvar sortedTitles = titles.slice(0);\n\t\tfor(t=0; t<sortedTitles.length; t++) {\n\t\t\ttitle = sortedTitles[t];\n\t\t\tmoveItemInList(title);\n\t\t}\n\t\treturn titles;\n\t}\n};\n\nexports.getSubTiddler = function(title,subTiddlerTitle) {\n\tvar bundleInfo = this.getPluginInfo(title) || this.getTiddlerDataCached(title);\n\tif(bundleInfo && bundleInfo.tiddlers) {\n\t\tvar subTiddler = bundleInfo.tiddlers[subTiddlerTitle];\n\t\tif(subTiddler) {\n\t\t\treturn new $tw.Tiddler(subTiddler);\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nRetrieve a tiddler as a JSON string of the fields\n*/\nexports.getTiddlerAsJson = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\n\t\tvar fields = Object.create(null);\n\t\t$tw.utils.each(tiddler.fields,function(value,name) {\n\t\t\tfields[name] = tiddler.getFieldString(name);\n\t\t});\n\t\treturn JSON.stringify(fields);\n\t} else {\n\t\treturn JSON.stringify({title: title});\n\t}\n};\n\nexports.getTiddlersAsJson = function(filter,spaces) {\n\tvar tiddlers = this.filterTiddlers(filter),\n\t\tspaces = (spaces === undefined) ? $tw.config.preferences.jsonSpaces : spaces,\n\t\tdata = [];\n\tfor(var t=0;t<tiddlers.length; t++) {\n\t\tvar tiddler = this.getTiddler(tiddlers[t]);\n\t\tif(tiddler) {\n\t\t\tvar fields = new Object();\n\t\t\tfor(var field in tiddler.fields) {\n\t\t\t\tfields[field] = tiddler.getFieldString(field);\n\t\t\t}\n\t\t\tdata.push(fields);\n\t\t}\n\t}\n\treturn JSON.stringify(data,null,spaces);\n};\n\n/*\nGet the content of a tiddler as a JavaScript object. How this is done depends on the type of the tiddler:\n\napplication/json: the tiddler JSON is parsed into an object\napplication/x-tiddler-dictionary: the tiddler is parsed as sequence of name:value pairs\n\nOther types currently just return null.\n\ntitleOrTiddler: string tiddler title or a tiddler object\ndefaultData: default data to be returned if the tiddler is missing or doesn't contain data\n\nNote that the same value is returned for repeated calls for the same tiddler data. The value is frozen to prevent modification; otherwise modifications would be visible to all callers\n*/\nexports.getTiddlerDataCached = function(titleOrTiddler,defaultData) {\n\tvar self = this,\n\t\ttiddler = titleOrTiddler;\n\tif(!(tiddler instanceof $tw.Tiddler)) {\n\t\ttiddler = this.getTiddler(tiddler);\n\t}\n\tif(tiddler) {\n\t\treturn this.getCacheForTiddler(tiddler.fields.title,\"data\",function() {\n\t\t\t// Return the frozen value\n\t\t\tvar value = self.getTiddlerData(tiddler.fields.title,undefined);\n\t\t\t$tw.utils.deepFreeze(value);\n\t\t\treturn value;\n\t\t}) || defaultData;\n\t} else {\n\t\treturn defaultData;\n\t}\n};\n\n/*\nAlternative, uncached version of getTiddlerDataCached(). The return value can be mutated freely and reused\n*/\nexports.getTiddlerData = function(titleOrTiddler,defaultData) {\n\tvar tiddler = titleOrTiddler;\n\tif(!(tiddler instanceof $tw.Tiddler)) {\n\t\ttiddler = this.getTiddler(tiddler);\n\t}\n\tif(tiddler && tiddler.fields.text) {\n\t\tswitch(tiddler.fields.type) {\n\t\t\tcase \"application/json\":\n\t\t\t\t// JSON tiddler\n\t\t\t\treturn $tw.utils.parseJSONSafe(tiddler.fields.text,defaultData);\n\t\t\tcase \"application/x-tiddler-dictionary\":\n\t\t\t\treturn $tw.utils.parseFields(tiddler.fields.text);\n\t\t}\n\t}\n\treturn defaultData;\n};\n\n/*\nExtract an indexed field from within a data tiddler\n*/\nexports.extractTiddlerDataItem = function(titleOrTiddler,index,defaultText) {\n\tvar data = this.getTiddlerDataCached(titleOrTiddler,Object.create(null)),\n\t\ttext;\n\tif(data && $tw.utils.hop(data,index)) {\n\t\ttext = data[index];\n\t}\n\tif(typeof text === \"string\" || typeof text === \"number\") {\n\t\treturn text.toString();\n\t} else {\n\t\treturn defaultText;\n\t}\n};\n\n/*\nSet a tiddlers content to a JavaScript object. Currently this is done by setting the tiddler's type to \"application/json\" and setting the text to the JSON text of the data.\ntitle: title of tiddler\ndata: object that can be serialised to JSON\nfields: optional hashmap of additional tiddler fields to be set\noptions: optional hashmap of options including:\n\tsuppressTimestamp: if true, don't set the creation/modification timestamps\n*/\nexports.setTiddlerData = function(title,data,fields,options) {\n\toptions = options || {};\n\tvar existingTiddler = this.getTiddler(title),\n\t\tcreationFields = options.suppressTimestamp ? {} : this.getCreationFields(),\n\t\tmodificationFields = options.suppressTimestamp ? {} : this.getModificationFields(),\n\t\tnewFields = {\n\t\t\ttitle: title\n\t\t};\n\tif(existingTiddler && existingTiddler.fields.type === \"application/x-tiddler-dictionary\") {\n\t\tnewFields.text = $tw.utils.makeTiddlerDictionary(data);\n\t} else {\n\t\tnewFields.type = \"application/json\";\n\t\tnewFields.text = JSON.stringify(data,null,$tw.config.preferences.jsonSpaces);\n\t}\n\tthis.addTiddler(new $tw.Tiddler(creationFields,existingTiddler,fields,newFields,modificationFields));\n};\n\n/*\nReturn the content of a tiddler as an array containing each line\n*/\nexports.getTiddlerList = function(title,field,index) {\n\tif(index) {\n\t\treturn $tw.utils.parseStringArray(this.extractTiddlerDataItem(title,index,\"\"));\n\t}\n\tfield = field || \"list\";\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\n\t\treturn ($tw.utils.parseStringArray(tiddler.fields[field]) || []).slice(0);\n\t}\n\treturn [];\n};\n\n// Return a named global cache object. Global cache objects are cleared whenever a tiddler change occurs\nexports.getGlobalCache = function(cacheName,initializer) {\n\tthis.globalCache = this.globalCache || Object.create(null);\n\tif($tw.utils.hop(this.globalCache,cacheName)) {\n\t\treturn this.globalCache[cacheName];\n\t} else {\n\t\tthis.globalCache[cacheName] = initializer();\n\t\treturn this.globalCache[cacheName];\n\t}\n};\n\nexports.clearGlobalCache = function() {\n\tthis.globalCache = Object.create(null);\n};\n\n// Return the named cache object for a tiddler. If the cache doesn't exist then the initializer function is invoked to create it\nexports.getCacheForTiddler = function(title,cacheName,initializer) {\n\tthis.caches = this.caches || Object.create(null);\n\tvar caches = this.caches[title];\n\tif(caches && caches[cacheName] !== undefined) {\n\t\treturn caches[cacheName];\n\t} else {\n\t\tif(!caches) {\n\t\t\tcaches = Object.create(null);\n\t\t\tthis.caches[title] = caches;\n\t\t}\n\t\tcaches[cacheName] = initializer();\n\t\treturn caches[cacheName];\n\t}\n};\n\n// Clear all caches associated with a particular tiddler, or, if the title is null, clear all the caches for all the tiddlers\nexports.clearCache = function(title) {\n\tif(title) {\n\t\tthis.caches = this.caches || Object.create(null);\n\t\tif($tw.utils.hop(this.caches,title)) {\n\t\t\tdelete this.caches[title];\n\t\t}\n\t} else {\n\t\tthis.caches = Object.create(null);\n\t}\n};\n\nexports.initParsers = function(moduleType) {\n\t// Install the parser modules\n\t$tw.Wiki.parsers = {};\n\t$tw.modules.forEachModuleOfType(\"parser\",function(title,module) {\n\t\tfor(var f in module) {\n\t\t\tif($tw.utils.hop(module,f)) {\n\t\t\t\t$tw.Wiki.parsers[f] = module[f]; // Store the parser class\n\t\t\t}\n\t\t}\n\t});\n\t// Use the generic binary parser for any binary types not registered so far\n\tif($tw.Wiki.parsers[\"application/octet-stream\"]) {\n\t\tObject.keys($tw.config.contentTypeInfo).forEach(function(type) {\n\t\t\tif(!$tw.utils.hop($tw.Wiki.parsers,type) && $tw.config.contentTypeInfo[type].encoding === \"base64\") {\n\t\t\t\t$tw.Wiki.parsers[type] = $tw.Wiki.parsers[\"application/octet-stream\"];\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nParse a block of text of a specified MIME type\n\ttype: content type of text to be parsed\n\ttext: text\n\toptions: see below\nOptions include:\n\tparseAsInline: if true, the text of the tiddler will be parsed as an inline run\n\t_canonical_uri: optional string of the canonical URI of this content\n*/\nexports.parseText = function(type,text,options) {\n\ttext = text || \"\";\n\toptions = options || {};\n\tvar Parser = $tw.utils.getParser(type,options);\n\t// Return the parser instance\n\treturn new Parser(type,text,{\n\t\tparseAsInline: options.parseAsInline,\n\t\twiki: this,\n\t\t_canonical_uri: options._canonical_uri,\n\t\tconfigTrimWhiteSpace: options.configTrimWhiteSpace\n\t});\n};\n\n/*\nParse a tiddler according to its MIME type\n*/\nexports.parseTiddler = function(title,options) {\n\toptions = options || {};\n\tvar cacheType = options.parseAsInline ? \"inlineParseTree\" : \"blockParseTree\",\n\t\ttiddler = this.getTiddler(title),\n\t\tself = this;\n\treturn tiddler ? this.getCacheForTiddler(title,cacheType,function() {\n\t\tif(tiddler.hasField(\"_canonical_uri\")) {\n\t\t\toptions._canonical_uri = tiddler.fields._canonical_uri;\n\t\t}\n\t\treturn self.parseText(tiddler.fields.type,tiddler.fields.text,options);\n\t}) : null;\n};\n\nexports.parseTextReference = function(title,field,index,options) {\n\tvar parserInfo;\n\tif(!options.subTiddler) {\n\t\tif(field === \"text\" || (!field && !index)) {\n\t\t\tthis.getTiddlerText(title); // Force the tiddler to be lazily loaded\n\t\t\treturn this.parseTiddler(title,options);\n\t\t}\n\t} \n\tparserInfo = this.getTextReferenceParserInfo(title,field,index,options);\n\tif(parserInfo.sourceText !== null) {\n\t\treturn this.parseText(parserInfo.parserType,parserInfo.sourceText,options);\n\t} else {\n\t\treturn null;\n\t}\n};\n\nexports.getTextReferenceParserInfo = function(title,field,index,options) {\n\tvar defaultType = options.defaultType || \"text/vnd.tiddlywiki\",\n\t\ttiddler,\n\t\tparserInfo = {\n\t\t\tsourceText : null,\n\t\t\tparserType : defaultType\n\t\t};\n\tif(options.subTiddler) {\n\t\ttiddler = this.getSubTiddler(title,options.subTiddler);\n\t} else {\n\t\ttiddler = this.getTiddler(title);\n\t}\n\tif(field === \"text\" || (!field && !index)) {\n\t\tif(tiddler && tiddler.fields) {\n\t\t\tparserInfo.sourceText = tiddler.fields.text || \"\";\n\t\t\tif(tiddler.fields.type) {\n\t\t\t\tparserInfo.parserType = tiddler.fields.type;\n\t\t\t}\n\t\t\tparserInfo._canonical_uri = tiddler.fields._canonical_uri;\n\t\t}\n\t} else if(field) {\n\t\tif(field === \"title\") {\n\t\t\tparserInfo.sourceText = title;\n\t\t} else if(tiddler && tiddler.fields) {\n\t\t\tparserInfo.sourceText = tiddler.hasField(field) ? tiddler.fields[field].toString() : null;\n\t\t}\n\t} else if(index) {\n\t\tthis.getTiddlerText(title); // Force the tiddler to be lazily loaded\n\t\tparserInfo.sourceText = this.extractTiddlerDataItem(tiddler,index,null);\n\t}\n\tif(parserInfo.sourceText === null) {\n\t\tparserInfo.parserType = null;\n\t}\n\treturn parserInfo;\n};\n\n/*\nParse a block of text of a specified MIME type\n\ttext: text on which to perform substitutions\n\twidget\n\toptions: see below\nOptions include:\n\tsubstitutions: an optional array of substitutions\n*/\nexports.getSubstitutedText = function(text,thisWidget,options) {\n\toptions = options || {};\n\ttext = text || \"\";\n\tvar self = this,\n\t\twidgetClass = widget.widget,\n\t\tsubstitutions = options.substitutions || [],\n\t\toutput;\n\t// Evaluate embedded filters and substitute with first result\n\toutput = text.replace(/\\$\\{([\\S\\s]+?)\\}\\$/g, function(match,filter) {\n\t\treturn self.filterTiddlers(filter,thisWidget)[0] || \"\";\n\t});\n\t// Process any substitutions provided in options\n\t$tw.utils.each(substitutions,function(substitute) {\n\t\toutput = $tw.utils.replaceString(output,new RegExp(\"\\\\$\" + $tw.utils.escapeRegExp(substitute.name) + \"\\\\$\",\"mg\"),substitute.value);\n\t});\n\t// Substitute any variable references with their values\n\treturn output.replace(/\\$\\((.+?)\\)\\$/g, function(match,varname) {\n\t\treturn widgetClass.evaluateVariable(thisWidget,varname, {defaultValue: \"\"})[0];\n\t});\n};\n\n/*\nMake a widget tree for a parse tree\nparser: parser object\noptions: see below\nOptions include:\ndocument: optional document to use\nvariables: hashmap of variables to set\nparentWidget: optional parent widget for the root node\n*/\nexports.makeWidget = function(parser,options) {\n\toptions = options || {};\n\tvar widgetNode = {\n\t\t\ttype: \"widget\",\n\t\t\tchildren: []\n\t\t},\n\t\tcurrWidgetNode = widgetNode;\n\t// Create let variable widget for variables\n\tif($tw.utils.count(options.variables) > 0) {\n\t\tvar letVariableWidget = {\n\t\t\ttype: \"let\",\n\t\t\tattributes: {\n\t\t\t},\n\t\t\tchildren: []\n\t\t};\n\t\t$tw.utils.each(options.variables,function(value,name) {\n\t\t\t$tw.utils.addAttributeToParseTreeNode(letVariableWidget,name,\"\" + value);\n\t\t});\n\t\tcurrWidgetNode.children = [letVariableWidget];\n\t\tcurrWidgetNode = letVariableWidget;\n\t}\n\t// Add in the supplied parse tree nodes\n\tcurrWidgetNode.children = parser ? parser.tree : [];\n\t// Create the widget\n\treturn new widget.widget(widgetNode,{\n\t\twiki: this,\n\t\tdocument: options.document || $tw.fakeDocument,\n\t\tparentWidget: options.parentWidget\n\t});\n};\n\n/*\nMake a widget tree for transclusion\ntitle: target tiddler title\noptions: as for wiki.makeWidget() plus:\noptions.field: optional field to transclude (defaults to \"text\")\noptions.mode: transclusion mode \"inline\" or \"block\"\noptions.recursionMarker : optional flag to set a recursion marker, defaults to \"yes\"\noptions.children: optional array of children for the transclude widget\noptions.importVariables: optional importvariables filter string for macros to be included\noptions.importPageMacros: optional boolean; if true, equivalent to passing \"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\" to options.importVariables\n*/\nexports.makeTranscludeWidget = function(title,options) {\n\toptions = options || {};\n\tvar parseTreeDiv = {tree: [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"div\",\n\t\t\tchildren: []}]},\n\t\tparseTreeImportVariables = {\n\t\t\ttype: \"importvariables\",\n\t\t\tattributes: {\n\t\t\t\tfilter: {\n\t\t\t\t\tname: \"filter\",\n\t\t\t\t\ttype: \"string\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tisBlock: false,\n\t\t\tchildren: []},\n\t\tparseTreeTransclude = {\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\trecursionMarker: {\n\t\t\t\t\tname: \"recursionMarker\",\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalue: options.recursionMarker || \"yes\"\n\t\t\t\t},\n\t\t\t\ttiddler: {\n\t\t\t\t\tname: \"tiddler\",\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalue: title\n\t\t\t\t}\n\t\t\t},\n\t\t\tisBlock: !options.parseAsInline};\n\tif(options.importVariables || options.importPageMacros) {\n\t\tif(options.importVariables) {\n\t\t\tparseTreeImportVariables.attributes.filter.value = options.importVariables;\n\t\t} else if(options.importPageMacros) {\n\t\t\tparseTreeImportVariables.attributes.filter.value = this.getTiddlerText(\"$:/core/config/GlobalImportFilter\");\n\t\t}\n\t\tparseTreeDiv.tree[0].children.push(parseTreeImportVariables);\n\t\tparseTreeImportVariables.children.push(parseTreeTransclude);\n\t} else {\n\t\tparseTreeDiv.tree[0].children.push(parseTreeTransclude);\n\t}\n\tif(options.field) {\n\t\tparseTreeTransclude.attributes.field = {type: \"string\", value: options.field};\n\t}\n\tif(options.mode) {\n\t\tparseTreeTransclude.attributes.mode = {type: \"string\", value: options.mode};\n\t}\n\tif(options.children) {\n\t\tparseTreeTransclude.children = options.children;\n\t}\n\treturn this.makeWidget(parseTreeDiv,options);\n};\n\n/*\nParse text in a specified format and render it into another format\n\toutputType: content type for the output\n\ttextType: content type of the input text\n\ttext: input text\n\toptions: see below\nOptions include:\nvariables: hashmap of variables to set\nparentWidget: optional parent widget for the root node\n*/\nexports.renderText = function(outputType,textType,text,options) {\n\toptions = options || {};\n\tvar parser = this.parseText(textType,text,options),\n\t\twidgetNode = this.makeWidget(parser,options);\n\tvar container = $tw.fakeDocument.createElement(\"div\");\n\twidgetNode.render(container,null);\n\treturn outputType === \"text/html\" ? container.innerHTML : container.textContent;\n};\n\n/*\nParse text from a tiddler and render it into another format\n\toutputType: content type for the output\n\ttitle: title of the tiddler to be rendered\n\toptions: see below\nOptions include:\nvariables: hashmap of variables to set\nparentWidget: optional parent widget for the root node\n*/\nexports.renderTiddler = function(outputType,title,options) {\n\toptions = options || {};\n\tvar parser = this.parseTiddler(title,options),\n\t\twidgetNode = this.makeWidget(parser,options);\n\tvar container = $tw.fakeDocument.createElement(\"div\");\n\twidgetNode.render(container,null);\n\treturn outputType === \"text/html\" ? container.innerHTML : (outputType === \"text/plain-formatted\" ? container.formattedTextContent : container.textContent);\n};\n\n/*\nReturn an array of tiddler titles that match a search string\n\ttext: The text string to search for\n\toptions: see below\nOptions available:\n\tsource: an iterator function for the source tiddlers, called source(iterator),\n\t\twhere iterator is called as iterator(tiddler,title)\n\texclude: An array of tiddler titles to exclude from the search\n\tinvert: If true returns tiddlers that do not contain the specified string\n\tcaseSensitive: If true forces a case sensitive search\n\tfield: If specified, restricts the search to the specified field, or an array of field names\n\tanchored: If true, forces all but regexp searches to be anchored to the start of text\n\texcludeField: If true, the field options are inverted to specify the fields that are not to be searched\n\n\tThe search mode is determined by the first of these boolean flags to be true\n\t\tliteral: searches for literal string\n\t\twhitespace: same as literal except runs of whitespace are treated as a single space\n\t\tregexp: treats the search term as a regular expression\n\t\twords: (default) treats search string as a list of tokens, and matches if all tokens are found, \n\t\t\tregardless of adjacency or ordering\n\t\tsome: treats search string as a list of tokens, and matches if at least ONE token is found\n*/\nexports.search = function(text,options) {\n\toptions = options || {};\n\tvar self = this,\n\t\tt,\n\t\tregExpStr=\"\",\n\t\tinvert = !!options.invert;\n\t// Convert the search string into a regexp for each term\n\tvar terms, searchTermsRegExps,\n\t\tflags = options.caseSensitive ? \"\" : \"i\",\n\t\tanchor = options.anchored ? \"^\" : \"\";\n\tif(options.literal) {\n\t\tif(text.length === 0) {\n\t\t\tsearchTermsRegExps = null;\n\t\t} else {\n\t\t\tsearchTermsRegExps = [new RegExp(\"(\" + anchor + $tw.utils.escapeRegExp(text) + \")\",flags)];\n\t\t}\n\t} else if(options.whitespace) {\n\t\tterms = [];\n\t\t$tw.utils.each(text.split(/\\s+/g),function(term) {\n\t\t\tif(term) {\n\t\t\t\tterms.push($tw.utils.escapeRegExp(term));\n\t\t\t}\n\t\t});\n\t\tsearchTermsRegExps = [new RegExp(\"(\" + anchor + terms.join(\"\\\\s+\") + \")\",flags)];\n\t} else if(options.regexp) {\n\t\ttry {\n\t\t\tsearchTermsRegExps = [new RegExp(\"(\" + text + \")\",flags)];\n\t\t} catch(e) {\n\t\t\tsearchTermsRegExps = null;\n\t\t\tconsole.log(\"Regexp error parsing /(\" + text + \")/\" + flags + \": \",e);\n\t\t}\n\t} else if(options.some) {\n\t\tterms = text.trim().split(/[^\\S\\xA0]+/);\n\t\tif(terms.length === 1 && terms[0] === \"\") {\n\t\t\tsearchTermsRegExps = null;\n\t\t} else {\n\t\t\tsearchTermsRegExps = [];\n\t\t\tfor(t=0; t<terms.length; t++) {\n\t\t\t\tregExpStr += (t===0) ? anchor + $tw.utils.escapeRegExp(terms[t]) : \"|\" + anchor + $tw.utils.escapeRegExp(terms[t]);\n\t\t\t}\n\t\t\tsearchTermsRegExps.push(new RegExp(\"(\" + regExpStr + \")\",flags));\n\t\t}\n\t} else { // default: words\n\t\tterms = text.split(/[^\\S\\xA0]+/);\n\t\tif(terms.length === 1 && terms[0] === \"\") {\n\t\t\tsearchTermsRegExps = null;\n\t\t} else {\n\t\t\tsearchTermsRegExps = [];\n\t\t\tfor(t=0; t<terms.length; t++) {\n\t\t\t\tsearchTermsRegExps.push(new RegExp(\"(\" + anchor + $tw.utils.escapeRegExp(terms[t]) + \")\",flags));\n\t\t\t}\n\t\t}\n\t}\n\t// Accumulate the array of fields to be searched or excluded from the search\n\tvar fields = [];\n\tif(options.field) {\n\t\tif($tw.utils.isArray(options.field)) {\n\t\t\t$tw.utils.each(options.field,function(fieldName) {\n\t\t\t\tif(fieldName) {\n\t\t\t\t\tfields.push(fieldName);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tfields.push(options.field);\n\t\t}\n\t}\n\t// Use default fields if none specified and we're not excluding fields (excluding fields with an empty field array is the same as searching all fields)\n\tif(fields.length === 0 && !options.excludeField) {\n\t\tfields.push(\"title\");\n\t\tfields.push(\"tags\");\n\t\tfields.push(\"text\");\n\t}\n\t// Function to check a given tiddler for the search term\n\tvar searchTiddler = function(title) {\n\t\tif(!searchTermsRegExps) {\n\t\t\treturn true;\n\t\t}\n\t\tvar notYetFound = searchTermsRegExps.slice();\n\n\t\tvar tiddler = self.getTiddler(title);\n\t\tif(!tiddler) {\n\t\t\ttiddler = new $tw.Tiddler({title: title, text: \"\", type: \"text/vnd.tiddlywiki\"});\n\t\t}\n\t\tvar contentTypeInfo = $tw.config.contentTypeInfo[tiddler.fields.type] || $tw.config.contentTypeInfo[\"text/vnd.tiddlywiki\"],\n\t\t\tsearchFields;\n\t\t// Get the list of fields we're searching\n\t\tif(options.excludeField) {\n\t\t\tsearchFields = Object.keys(tiddler.fields);\n\t\t\t$tw.utils.each(fields,function(fieldName) {\n\t\t\t\tvar p = searchFields.indexOf(fieldName);\n\t\t\t\tif(p !== -1) {\n\t\t\t\t\tsearchFields.splice(p,1);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsearchFields = fields;\n\t\t}\n\t\tfor(var fieldIndex=0; notYetFound.length>0 && fieldIndex<searchFields.length; fieldIndex++) {\n\t\t\t// Don't search the text field if the content type is binary\n\t\t\tvar fieldName = searchFields[fieldIndex];\n\t\t\tif(fieldName === \"text\" && contentTypeInfo.encoding !== \"utf8\") {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tvar str = tiddler.fields[fieldName],\n\t\t\t\tt;\n\t\t\tif(str) {\n\t\t\t\tif($tw.utils.isArray(str)) {\n\t\t\t\t\t// If the field value is an array, test each regexp against each field array entry and fail if each regexp doesn't match at least one field array entry\n\t\t\t\t\tfor(var s=0; s<str.length; s++) {\n\t\t\t\t\t\tfor(t=0; t<notYetFound.length;) {\n\t\t\t\t\t\t\tif(notYetFound[t].test(str[s])) {\n\t\t\t\t\t\t\t\tnotYetFound.splice(t, 1);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tt++;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// If the field isn't an array, force it to a string and test each regexp against it and fail if any do not match\n\t\t\t\t\tstr = tiddler.getFieldString(fieldName);\n\t\t\t\t\tfor(t=0; t<notYetFound.length;) {\n\t\t\t\t\t\tif(notYetFound[t].test(str)) {\n\t\t\t\t\t\t\tnotYetFound.splice(t, 1);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tt++;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\treturn notYetFound.length == 0;\n\t};\n\t// Loop through all the tiddlers doing the search\n\tvar results = [],\n\t\tsource = options.source || this.each;\n\tsource(function(tiddler,title) {\n\t\tif(searchTiddler(title) !== invert) {\n\t\t\tresults.push(title);\n\t\t}\n\t});\n\t// Remove any of the results we have to exclude\n\tif(options.exclude) {\n\t\tfor(t=0; t<options.exclude.length; t++) {\n\t\t\tvar p = results.indexOf(options.exclude[t]);\n\t\t\tif(p !== -1) {\n\t\t\t\tresults.splice(p,1);\n\t\t\t}\n\t\t}\n\t}\n\treturn results;\n};\n\n/*\nTrigger a load for a tiddler if it is skinny. Returns the text, or undefined if the tiddler is missing, null if the tiddler is being lazily loaded.\n*/\nexports.getTiddlerText = function(title,defaultText) {\n\tvar tiddler = this.getTiddler(title);\n\t// Return undefined if the tiddler isn't found\n\tif(!tiddler) {\n\t\treturn defaultText;\n\t}\n\tif(!tiddler.hasField(\"_is_skinny\")) {\n\t\t// Just return the text if we've got it\n\t\treturn tiddler.fields.text || \"\";\n\t} else {\n\t\t// Tell any listeners about the need to lazily load this tiddler\n\t\tthis.dispatchEvent(\"lazyLoad\",title);\n\t\t// Indicate that the text is being loaded\n\t\treturn null;\n\t}\n};\n\n/*\nCheck whether the text of a tiddler matches a given value. By default, the comparison is case insensitive, and any spaces at either end of the tiddler text is trimmed\n*/\nexports.checkTiddlerText = function(title,targetText,options) {\n\toptions = options || {};\n\tvar text = this.getTiddlerText(title,\"\");\n\tif(!options.noTrim) {\n\t\ttext = text.trim();\n\t}\n\tif(!options.caseSensitive) {\n\t\ttext = text.toLowerCase();\n\t\ttargetText = targetText.toLowerCase();\n\t}\n\treturn text === targetText;\n};\n\n/*\nExecute an action string without an associated context widget\n*/\nexports.invokeActionString = function(actions,event,variables,options) {\n\tvar widget = this.makeWidget(null,{parentWidget: options.parentWidget});\n\twidget.invokeActionString(actions,null,event,variables);\n};\n\n/*\nRead an array of browser File objects, invoking callback(tiddlerFieldsArray) once they're all read\n*/\nexports.readFiles = function(files,options) {\n\tvar callback;\n\tif(typeof options === \"function\") {\n\t\tcallback = options;\n\t\toptions = {};\n\t} else {\n\t\tcallback = options.callback;\n\t}\n\tvar result = [],\n\t\toutstanding = files.length,\n\t\treadFileCallback = function(tiddlerFieldsArray) {\n\t\t\tresult.push.apply(result,tiddlerFieldsArray);\n\t\t\tif(--outstanding === 0) {\n\t\t\t\tcallback(result);\n\t\t\t}\n\t\t};\n\tfor(var f=0; f<files.length; f++) {\n\t\tthis.readFile(files[f],$tw.utils.extend({},options,{callback: readFileCallback}));\n\t}\n\treturn files.length;\n};\n\n/*\nRead a browser File object, invoking callback(tiddlerFieldsArray) with an array of tiddler fields objects\n*/\nexports.readFile = function(file,options) {\n\tvar callback;\n\tif(typeof options === \"function\") {\n\t\tcallback = options;\n\t\toptions = {};\n\t} else {\n\t\tcallback = options.callback;\n\t}\n\t// Get the type, falling back to the filename extension\n\tvar type = file.type;\n\tif(type === \"\" || !type) {\n\t\tvar dotPos = file.name.lastIndexOf(\".\");\n\t\tif(dotPos !== -1) {\n\t\t\tvar fileExtensionInfo = $tw.utils.getFileExtensionInfo(file.name.substr(dotPos));\n\t\t\tif(fileExtensionInfo) {\n\t\t\t\ttype = fileExtensionInfo.type;\n\t\t\t}\n\t\t}\n\t}\n\t// Figure out if we're reading a binary file\n\tvar contentTypeInfo = $tw.config.contentTypeInfo[type],\n\t\tisBinary = contentTypeInfo ? contentTypeInfo.encoding === \"base64\" : false;\n\t// Log some debugging information\n\tif($tw.log.IMPORT) {\n\t\tconsole.log(\"Importing file '\" + file.name + \"', type: '\" + type + \"', isBinary: \" + isBinary);\n\t}\n\t// Give the hook a chance to process the drag\n\tif($tw.hooks.invokeHook(\"th-importing-file\",{\n\t\tfile: file,\n\t\ttype: type,\n\t\tisBinary: isBinary,\n\t\tcallback: callback\n\t}) !== true) {\n\t\tthis.readFileContent(file,type,isBinary,options.deserializer,callback);\n\t}\n};\n\n/*\nLower level utility to read the content of a browser File object, invoking callback(tiddlerFieldsArray) with an array of tiddler fields objects\n*/\nexports.readFileContent = function(file,type,isBinary,deserializer,callback) {\n\tvar self = this;\n\t// Create the FileReader\n\tvar reader = new FileReader();\n\t// Onload\n\treader.onload = function(event) {\n\t\tvar text = event.target.result,\n\t\t\ttiddlerFields = {title: file.name || \"Untitled\"};\n\t\tif(isBinary) {\n\t\t\tvar commaPos = text.indexOf(\",\");\n\t\t\tif(commaPos !== -1) {\n\t\t\t\ttext = text.substr(commaPos + 1);\n\t\t\t}\n\t\t}\n\t\t// Check whether this is an encrypted TiddlyWiki file\n\t\tvar encryptedJson = $tw.utils.extractEncryptedStoreArea(text);\n\t\tif(encryptedJson) {\n\t\t\t// If so, attempt to decrypt it with the current password\n\t\t\t$tw.utils.decryptStoreAreaInteractive(encryptedJson,function(tiddlers) {\n\t\t\t\tcallback(tiddlers);\n\t\t\t});\n\t\t} else {\n\t\t\t// Otherwise, just try to deserialise any tiddlers in the file\n\t\t\tcallback(self.deserializeTiddlers(type,text,tiddlerFields,{deserializer: deserializer}));\n\t\t}\n\t};\n\t// Kick off the read\n\tif(isBinary) {\n\t\treader.readAsDataURL(file);\n\t} else {\n\t\treader.readAsText(file);\n\t}\n};\n\n/*\nFind any existing draft of a specified tiddler\n*/\nexports.findDraft = function(targetTitle) {\n\tvar draftTitle = undefined;\n\tthis.forEachTiddler({includeSystem: true},function(title,tiddler) {\n\t\tif(tiddler.fields[\"draft.title\"] && tiddler.fields[\"draft.of\"] === targetTitle) {\n\t\t\tdraftTitle = title;\n\t\t}\n\t});\n\treturn draftTitle;\n};\n\n/*\nCheck whether the specified draft tiddler has been modified.\nIf the original tiddler doesn't exist, create  a vanilla tiddler variable,\nto check if additional fields have been added.\n*/\nexports.isDraftModified = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(!tiddler.isDraft()) {\n\t\treturn false;\n\t}\n\tvar ignoredFields = [\"created\", \"modified\", \"title\", \"draft.title\", \"draft.of\"],\n\t\torigTiddler = this.getTiddler(tiddler.fields[\"draft.of\"]) || new $tw.Tiddler({text:\"\", tags:[]}),\n\t\ttitleModified = tiddler.fields[\"draft.title\"] !== tiddler.fields[\"draft.of\"];\n\treturn titleModified || !tiddler.isEqual(origTiddler,ignoredFields);\n};\n\n/*\nAdd a new record to the top of the history stack\ntitle: a title string or an array of title strings\nfromPageRect: page coordinates of the origin of the navigation\nhistoryTitle: title of history tiddler (defaults to $:/HistoryList)\n*/\nexports.addToHistory = function(title,fromPageRect,historyTitle) {\n\tvar story = new $tw.Story({wiki: this, historyTitle: historyTitle});\n\tstory.addToHistory(title,fromPageRect);\n\tconsole.log(\"$tw.wiki.addToHistory() is deprecated since V5.1.23! Use the this.story.addToHistory() from the story-object!\");\n};\n\n/*\nAdd a new tiddler to the story river\ntitle: a title string or an array of title strings\nfromTitle: the title of the tiddler from which the navigation originated\nstoryTitle: title of story tiddler (defaults to $:/StoryList)\noptions: see story.js\n*/\nexports.addToStory = function(title,fromTitle,storyTitle,options) {\n\tvar story = new $tw.Story({wiki: this, storyTitle: storyTitle});\n\tstory.addToStory(title,fromTitle,options);\n\tconsole.log(\"$tw.wiki.addToStory() is deprecated since V5.1.23! Use the this.story.addToStory() from the story-object!\");\n};\n\n/*\nGenerate a title for the draft of a given tiddler\n*/\nexports.generateDraftTitle = function(title) {\n\tlet c = 0,\n\t\tdraftTitle;\n\tconst username = this.getTiddlerText(\"$:/status/UserName\");\n\tdo {\n\t\tdraftTitle = username ? $tw.language.getString(\"Draft/Attribution\", {variables: {\"draft-title\": title}}) : $tw.language.getString(\"Draft/Title\", {variables: {\"draft-title\": title}});\n\t\tif(c) {\n\t\t\tdraftTitle = draftTitle.concat(\" \", (c + 1).toString());\n\t\t}\n\t\tc++;\n\t} while(this.tiddlerExists(draftTitle));\n\treturn draftTitle;\n};\n\n/*\nInvoke the available upgrader modules\ntitles: array of tiddler titles to be processed\ntiddlers: hashmap by title of tiddler fields of pending import tiddlers. These can be modified by the upgraders. An entry with no fields indicates a tiddler that was pending import has been suppressed. When entries are added to the pending import the tiddlers hashmap may have entries that are not present in the titles array\nReturns a hashmap of messages keyed by tiddler title.\n*/\nexports.invokeUpgraders = function(titles,tiddlers) {\n\t// Collect up the available upgrader modules\n\tvar self = this;\n\tif(!this.upgraderModules) {\n\t\tthis.upgraderModules = [];\n\t\t$tw.modules.forEachModuleOfType(\"upgrader\",function(title,module) {\n\t\t\tif(module.upgrade) {\n\t\t\t\tself.upgraderModules.push(module);\n\t\t\t}\n\t\t});\n\t}\n\t// Invoke each upgrader in turn\n\tvar messages = {};\n\tfor(var t=0; t<this.upgraderModules.length; t++) {\n\t\tvar upgrader = this.upgraderModules[t],\n\t\t\tupgraderMessages = upgrader.upgrade(this,titles,tiddlers);\n\t\t$tw.utils.extend(messages,upgraderMessages);\n\t}\n\treturn messages;\n};\n\n// Determine whether a plugin by title is dynamically loadable\nexports.doesPluginRequireReload = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler && tiddler.fields.type === \"application/json\" && tiddler.fields[\"plugin-type\"]) {\n\t\tif(tiddler.fields[\"plugin-type\"] === \"import\") {\n\t\t\t// The import plugin never requires reloading\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn this.doesPluginInfoRequireReload(this.getPluginInfo(title) || this.getTiddlerDataCached(title));\n};\n\n// Determine whether a plugin info structure is dynamically loadable\nexports.doesPluginInfoRequireReload = function(pluginInfo) {\n\tif(pluginInfo) {\n\t\tvar foundModule = false;\n\t\t$tw.utils.each(pluginInfo.tiddlers,function(tiddler) {\n\t\t\tif(tiddler.type === \"application/javascript\" && $tw.utils.hop(tiddler,\"module-type\")) {\n\t\t\t\tfoundModule = true;\n\t\t\t}\n\t\t});\n\t\treturn foundModule;\n\t} else {\n\t\treturn null;\n\t}\n};\n\nexports.slugify = function(title,options) {\n\tvar tiddler = this.getTiddler(title),\n\t\tslug;\n\tif(tiddler && tiddler.fields.slug) {\n\t\tslug = tiddler.fields.slug;\n\t} else {\n\t\tslug = $tw.utils.transliterate(title.toString().toLowerCase()) // Replace diacritics with basic lowercase ASCII\n\t\t\t.replace(/\\s+/g,\"-\")                                       // Replace spaces with -\n\t\t\t.replace(/[^\\w\\-\\.]+/g,\"\")                                 // Remove all non-word chars except dash and dot\n\t\t\t.replace(/\\-\\-+/g,\"-\")                                     // Replace multiple - with single -\n\t\t\t.replace(/^-+/,\"\")                                         // Trim - from start of text\n\t\t\t.replace(/-+$/,\"\");                                        // Trim - from end of text\n\t}\n\t// If the resulting slug is blank (eg because the title is just punctuation characters)\n\tif(!slug) {\n\t\t// ...then just use the character codes of the title\n\t\tvar result = [];\n\t\t$tw.utils.each(title.split(\"\"),function(char) {\n\t\t\tresult.push(char.charCodeAt(0).toString());\n\t\t});\n\t\tslug = result.join(\"-\");\n\t}\n\treturn slug;\n};\n"
  },
  {
    "path": "core/palettes/Blanca.tid",
    "content": "title: $:/palettes/Blanca\nname: Blanca\ncolor-scheme: light\ndescription: A clean white palette to let you focus\ntags: $:/tags/Palette\ntype: application/x-tiddler-dictionary\n\nalert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #3aafaf\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: #00d900\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nfootnote-target-background: #ecf2ff\nforeground: #333333\nhighlight-background: #ffff00\nhighlight-foreground: #000000\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #999999\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #ffffff\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #6387f1\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #aaaaaa\nsidebar-foreground-shadow: #ffffff\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #aaaaaa\nsidebar-tab-background-selected: #ffffff\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: <<colour tab-foreground>>\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: <<colour primary>>\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstability-stable: #008000\nstability-experimental: #c07c00\nstability-deprecated: #ff0000\nstability-legacy: #0000ff\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #eeeeee\ntab-border-selected: #cccccc\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ffd5aa\ntag-foreground: #000000\ntiddler-background: <<colour background>>\ntiddler-border: #eeeeee\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: <<colour tiddler-info-background>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #ff9900\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #cccccc\nvery-muted-foreground: #888888\nnetwork-activity-foreground: <<colour primary>>"
  },
  {
    "path": "core/palettes/Blue.tid",
    "content": "title: $:/palettes/Blue\nname: Blue\ncolor-scheme: light\ndescription: A blue theme\ntags: $:/tags/Palette\ntype: application/x-tiddler-dictionary\n\nalert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #fff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour foreground>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nfootnote-target-background: #ecf2ff\nforeground: #333353\nhighlight-background: #ffff00\nhighlight-foreground: #000000\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #999999\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #ddddff\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #ffffff\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: <<colour page-background>>\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #5959c0\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: #ccccdd\ntab-border-selected: #ccccdd\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #eeeeff\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #666666\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #ffffff\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #ffffff\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #5959c0\ntoolbar-new-button: #5eb95e\ntoolbar-options-button: rgb(128, 88, 165)\ntoolbar-save-button: #0e90d2\ntoolbar-info-button: #0e90d2\ntoolbar-edit-button: rgb(243, 123, 29)\ntoolbar-close-button: #dd514c\ntoolbar-delete-button: #dd514c\ntoolbar-cancel-button: rgb(243, 123, 29)\ntoolbar-done-button: #5eb95e\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
  },
  {
    "path": "core/palettes/BrightMute.tid",
    "content": "title: $:/palettes/Muted\nname: Muted\ncolor-scheme: light\ndescription: Bright tiddlers on a muted background\ntags: $:/tags/Palette\ntype: application/x-tiddler-dictionary\n\nalert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nfootnote-target-background: #ecf2ff\nforeground: #333333\nhighlight-background: #ffff00\nhighlight-foreground: #000000\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #bbb\nnetwork-activity-foreground: <<colour primary>>\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #6f6f70\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #29a6ee\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #222222\nsidebar-controls-foreground: #c2c1c2\nsidebar-foreground-shadow: transparent\nsidebar-foreground: #d3d2d4\nsidebar-muted-foreground-hover: #333333\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #6f6f70\nsidebar-tab-background: #666667\nsidebar-tab-border-selected: #999\nsidebar-tab-border: #515151\nsidebar-tab-divider: #999\nsidebar-tab-foreground-selected: #bfbfbf\nsidebar-tab-foreground: #b0b0b0\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #aaaaaa\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstability-deprecated: #bf616a\nstability-experimental: #d08770\nstability-legacy: #88c0d0\nstability-stable: #a3be8c\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #d5ad34\ntag-foreground: #ffffff\ntestcase-accent-level-1: #b1b3e3\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #182955\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
  },
  {
    "path": "core/palettes/ContrastDark.tid",
    "content": "title: $:/palettes/ContrastDark\nname: Contrast (Dark)\ncolor-scheme: dark\ndescription: High contrast and unambiguous (dark version)\ntags: $:/tags/Palette\ntype: application/x-tiddler-dictionary\n\nalert-background: #ff0000\nalert-border: <<colour background>>\nalert-highlight: <<colour foreground>>\nalert-muted-foreground: #880000\nbackground: #000000\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: <<colour background>>\nbutton-foreground: <<colour foreground>>\nbutton-border: <<colour foreground>>\ncode-background: <<colour background>>\ncode-border: <<colour foreground>>\ncode-foreground: <<colour foreground>>\ndirty-indicator: #ff0000\ndownload-background: #48ff48\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #868686\ndropdown-tab-background: #515151\ndropzone-background: #1aff1a\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #5353ff\nexternal-link-foreground: #9595ff\nfootnote-target-background: #4c4c4c\nforeground: #ffffff\nhighlight-background: #ffff00\nhighlight-foreground: #000000\nmessage-background: <<colour foreground>>\nmessage-border: <<colour background>>\nmessage-foreground: <<colour background>>\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: <<colour foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour foreground>>\nmodal-header-border: <<colour foreground>>\nmuted-foreground: <<colour foreground>>\nnotification-background: <<colour background>>\nnotification-border: <<colour foreground>>\npage-background: <<colour background>>\npre-background: <<colour background>>\npre-border: <<colour foreground>>\nprimary: #8a8aff\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #ffff00\nsidebar-controls-foreground: <<colour foreground>>\nsidebar-foreground-shadow: rgba(0,0,0, 0)\nsidebar-foreground: <<colour foreground>>\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: <<colour foreground>>\nsidebar-tab-background-selected: <<colour background>>\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: <<colour foreground>>\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: <<colour foreground>>\nsidebar-tiddler-link-foreground: <<colour primary>>\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstability-stable: #00f400\nstability-experimental: #ffaf1c\nstability-deprecated: #ff2b2b\nstability-legacy: #ceceff\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: <<colour foreground>>\ntab-border-selected: <<colour foreground>>\ntab-border: <<colour foreground>>\ntab-divider: <<colour foreground>>\ntab-foreground-selected: <<colour foreground>>\ntab-foreground: <<colour background>>\ntable-border: #dddddd\ntable-footer-background: #444444\ntable-header-background: #444444\ntag-background: #ffffff\ntag-foreground: #000000\ntestcase-accent-level-1: #144a8c\ntiddler-background: <<colour background>>\ntiddler-border: <<colour foreground>>\ntiddler-controls-foreground-hover: #ddd\ntiddler-controls-foreground-selected: #ae0000\ntiddler-controls-foreground: <<colour foreground>>\ntiddler-editor-background: <<colour background>>\ntiddler-editor-border-image: <<colour foreground>>\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: <<colour background>>\ntiddler-editor-fields-odd: <<colour background>>\ntiddler-info-background: <<colour background>>\ntiddler-info-border: <<colour foreground>>\ntiddler-info-tab-background: <<colour background>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour foreground>>\ntiddler-title-foreground: <<colour foreground>>\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: <<colour foreground>>\nvery-muted-foreground: #888888\nnetwork-activity-foreground: <<colour primary>>"
  },
  {
    "path": "core/palettes/ContrastLight.tid",
    "content": "title: $:/palettes/ContrastLight\nname: Contrast (Light)\ncolor-scheme: light\ndescription: High contrast and unambiguous (light version)\ntags: $:/tags/Palette\ntype: application/x-tiddler-dictionary\n\nalert-background: #ff4a4a\nalert-border: <<colour background>>\nalert-highlight: <<colour foreground>>\nalert-muted-foreground: #800\nbackground: #fff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: <<colour background>>\nbutton-foreground: <<colour foreground>>\nbutton-border: <<colour foreground>>\ncode-background: <<colour background>>\ncode-border: <<colour foreground>>\ncode-foreground: <<colour foreground>>\ndirty-indicator: #f00\ndownload-background: #008200\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: <<colour background>>\ndropdown-tab-background: <<colour foreground>>\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #00a\nexternal-link-foreground: #00e\nfootnote-target-background: #e5e5e5\nforeground: #000\nhighlight-background: #ffff00\nhighlight-foreground: #000000\nmessage-background: <<colour foreground>>\nmessage-border: <<colour background>>\nmessage-foreground: <<colour background>>\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: <<colour foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour foreground>>\nmodal-header-border: <<colour foreground>>\nmuted-foreground: <<colour foreground>>\nnotification-background: <<colour background>>\nnotification-border: <<colour foreground>>\npage-background: <<colour background>>\npre-background: <<colour background>>\npre-border: <<colour foreground>>\nprimary: #0000ff\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #606060\nsidebar-controls-foreground: <<colour foreground>>\nsidebar-foreground-shadow: #000000\nsidebar-foreground: <<colour foreground>>\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: <<colour foreground>>\nsidebar-tab-background-selected: <<colour background>>\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: <<colour foreground>>\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: <<colour foreground>>\nsidebar-tiddler-link-foreground: <<colour primary>>\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstability-deprecated: #ff0000\nstability-experimental: #b37400\nstability-legacy: #000075\nstability-stable: #008000\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: <<colour foreground>>\ntab-border-selected: <<colour foreground>>\ntab-border: <<colour foreground>>\ntab-divider: <<colour foreground>>\ntab-foreground-selected: <<colour foreground>>\ntab-foreground: <<colour background>>\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #000\ntag-foreground: #fff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour foreground>>\ntiddler-controls-foreground-hover: #ddd\ntiddler-controls-foreground-selected: #c5abf3\ntiddler-controls-foreground: <<colour foreground>>\ntiddler-editor-background: <<colour background>>\ntiddler-editor-border-image: <<colour foreground>>\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: <<colour background>>\ntiddler-editor-fields-odd: <<colour background>>\ntiddler-info-background: <<colour background>>\ntiddler-info-border: <<colour foreground>>\ntiddler-info-tab-background: <<colour background>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour foreground>>\ntiddler-title-foreground: <<colour foreground>>\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour foreground>>\nvery-muted-foreground: #888888\nnetwork-activity-foreground: <<colour primary>>"
  },
  {
    "path": "core/palettes/CupertinoDark.tid",
    "content": "title: $:/palettes/CupertinoDark\ntags: $:/tags/Palette\ncolor-scheme: dark\nname: Cupertino Dark\ndescription: A macOS inspired dark palette\ntype: application/x-tiddler-dictionary\n\nalert-background: #ff4b42\nalert-border: #950700\nalert-highlight: #FFD60A\nalert-muted-foreground: #323234\nbackground: #282828\nblockquote-bar: #8d8d8d\nbutton-foreground: <<colour foreground>>\ncode-background: <<colour pre-background>>\ncode-border: <<colour pre-border>>\ncode-foreground: #c7c7c7\ndirty-indicator: #FF453A\ndownload-background: <<colour primary>>\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour tiddler-info-background>>\ndropdown-border: <<colour dropdown-background>>\ndropdown-tab-background-selected: #3F638B\ndropdown-tab-background: #707070\ndropzone-background: #30D158\nexternal-link-background-hover: transparent\nexternal-link-background-visited: transparent\nexternal-link-background: transparent\nexternal-link-foreground-hover: #9511d5\nexternal-link-foreground-visited: #BF5AF2\nexternal-link-foreground: #32D74B\nfootnote-target-background: #747474\nforeground: #FFFFFF\nhighlight-background: #ffff78\nhighlight-foreground: #000000\nmenubar-background: #464646\nmenubar-foreground: #ffffff\nmessage-background: <<colour background>>\nmessage-border: <<colour very-muted-foreground>>\nmessage-foreground: rgba(255, 255, 255, 0.54)\nmodal-backdrop: <<colour page-background>>\nmodal-background: <<colour background>>\nmodal-border: <<colour very-muted-foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour background>>\nmodal-header-border: <<colour very-muted-foreground>>\nmuted-foreground: #98989D\nnotification-background: <<colour dropdown-background>>\nnotification-border: <<colour dropdown-background>>\npage-background: #323232\npre-background: #464646\npre-border: transparent\nprimary: #0A84FF\nselect-tag-background: <<colour background>>\nselect-tag-foreground: <<colour foreground>>\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #FF9F0A\nsidebar-controls-foreground: #8E8E93\nsidebar-foreground-shadow: transparent\nsidebar-foreground: rgba(255, 255, 255, 0.54)\nsidebar-muted-foreground-hover: #acacac\nsidebar-muted-foreground: #787878\nsidebar-tab-background-selected: #3F638B\nsidebar-tab-background: <<colour background>>\nsidebar-tab-border-selected: #313131\nsidebar-tab-border: #404040\nsidebar-tab-divider: #282828\nsidebar-tab-foreground-selected: #d2d2d2\nsidebar-tab-foreground: #d2d2d2\nsidebar-tiddler-link-foreground-hover: #535353\nsidebar-tiddler-link-foreground: #949494\nsite-title-foreground: #ffffff\nstability-stable: #009f00\nstability-experimental: #c07c00\nstability-deprecated: #ff0000\nstability-legacy: #6c6cff\nstatic-alert-foreground: #B4B4B4\ntab-background-selected: #3F638B\ntab-background: <<colour page-background>>\ntab-border-selected: <<colour page-background>>\ntab-border: #4a4a4a\ntab-divider: <<colour page-background>>\ntab-foreground-selected: #ffffff\ntab-foreground: #adadad\ntable-border: #464646\ntable-footer-background: #7f7f7f\ntable-header-background: <<colour table-border>>\ntag-background: #48484A\ntag-foreground: #323232\ntestcase-accent-level-1: #345173\ntiddler-background: <<colour background>>\ntiddler-border: transparent\ntiddler-controls-foreground-hover: <<colour sidebar-controls-foreground-hover>>\ntiddler-controls-foreground-selected: <<colour sidebar-controls-foreground-hover>>\ntiddler-controls-foreground: #48484A\ntiddler-editor-background: <<colour background>>\ntiddler-editor-border-image: \ntiddler-editor-border: #444444\ntiddler-editor-fields-even: #1f1f1f\ntiddler-editor-fields-odd: #464646\ntiddler-info-background: #1E1E1E\ntiddler-info-border: #1E1E1E\ntiddler-info-tab-background: #3F638B\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour muted-foreground>>\ntiddler-title-foreground: #FFFFFF\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #5f5f5f\nvery-muted-foreground: #3f3f3f\nselection-background: #3F638B\nselection-foreground: #ffffff\nwikilist-background: <<colour page-background>>\nwikilist-button-background: #3F638B\nwikilist-button-foreground: <<colour foreground>>\nwikilist-button-open: #32D74B\nwikilist-button-open-hover: #32D74B\nwikilist-button-reveal: #0A84FF\nwikilist-button-reveal-hover: #0A84FF\nwikilist-button-remove: #FF453A\nwikilist-button-remove-hover: #FF453A\nwikilist-droplink-dragover: #32D74B\nwikilist-item: <<colour background>>\nwikilist-toolbar-background: <<colour background>>\nwikilist-title: <<colour foreground>>\nwikilist-title-svg: <<colour foreground>>\nwikilist-toolbar-foreground: <<colour foreground>>\nwikilist-url: <<colour muted-foreground>>\nnetwork-activity-foreground: <<colour primary>>"
  },
  {
    "path": "core/palettes/DarkPhotos.tid",
    "content": "created: 20150402111612188\ndescription: Good with dark photo backgrounds\nmodified: 20150402112344080\nname: DarkPhotos\ntags: $:/tags/Palette\ntitle: $:/palettes/DarkPhotos\ntype: application/x-tiddler-dictionary\ncolor-scheme: light\n\nalert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: \nbutton-foreground: \nbutton-border: \ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #30b830\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nfootnote-target-background: #ecf2ff\nforeground: #333333\nhighlight-background: #ffff00\nhighlight-foreground: #000000\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #ddd\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #336438\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #a6a6ff\nsidebar-controls-foreground: #eeeeee\nsidebar-foreground-shadow: transparent\nsidebar-foreground: #eeeeee\nsidebar-muted-foreground-hover: #999999\nsidebar-muted-foreground: #eeeeee\nsidebar-tab-background-selected: <<colour page-background>>\nsidebar-tab-background: #e0e0e0\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: #e4e4e4\nsidebar-tab-foreground-selected: #ddddff\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #aaaaff\nsidebar-tiddler-link-foreground: #ddddff\nsite-title-foreground: #ffffff\nstability-stable: #008000\nstability-experimental: #c07c00\nstability-deprecated: #ff0000\nstability-legacy: #0000ff\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ec6\ntag-foreground: #ffffff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #6a6aff\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #182955\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #999999\nvery-muted-foreground: #888888\nnetwork-activity-foreground: #11ff23"
  },
  {
    "path": "core/palettes/DesertSand.tid",
    "content": "title: $:/palettes/DesertSand\ntags: $:/tags/Palette\ncolor-scheme: light\nname: Desert Sand\ndescription: A desert sand palette\ntype: application/x-tiddler-dictionary\n\nalert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #E9E0C7\nblockquote-bar: <<colour muted-foreground>>\nbutton-foreground: <<colour foreground>>\ncode-background: #F3EDDF\ncode-border: #C3BAA1\ncode-foreground: #ab3250\ndiff-delete-background: #bd8b8b\ndiff-delete-foreground: <<colour foreground>>\ndiff-equal-background: \ndiff-equal-foreground: <<colour foreground>>\ndiff-insert-background: #91c093\ndiff-insert-foreground: <<colour foreground>>\ndiff-invisible-background: \ndiff-invisible-foreground: #d3d2cb\ndirty-indicator: #ad3434\ndownload-background: #5eae62\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #E9E0C7\ndropdown-tab-background: #BAB29C\ndropzone-background: #00c600\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: #7474ba\nexternal-link-foreground-visited: #313163\nexternal-link-foreground: #555592\nforeground: #2D2A23\nhighlight-background: #ffff00\nhighlight-foreground: #000000\nmenubar-background: #CDC2A6\nmenubar-foreground: #5A5446\nmessage-background: #ECE5CF\nmessage-border: #D6CBAA\nmessage-foreground: #5f6e7d\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #8A8885\nmodal-footer-background: #CDC2A6\nmodal-footer-border: #9D998E\nmodal-header-border: #9D998E\nmuted-foreground: #9D998E\nnotification-background: #F0E9D7\nnotification-border: #939189\npage-background: #e0d3af\npre-background: #D6CBAA\npre-border: #CDC2A6\nprimary: #5B6F55\nselection-background: #9D947B\nselection-foreground: <<colour foreground>>\nselect-tag-background: #F0E9D7\nselect-tag-foreground: #2D2A23\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #2D2A23\nsidebar-controls-foreground: #867F69\nsidebar-foreground-shadow: transparent\nsidebar-foreground: #867F69\nsidebar-muted-foreground-hover: #706A58\nsidebar-muted-foreground: #aba081\nsidebar-tab-background-selected: #e0d3af\nsidebar-tab-background: #A6A193\nsidebar-tab-border-selected: #C3BAA1\nsidebar-tab-border: #C3BAA1\nsidebar-tab-divider: #CDC2A6\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: #2D2A23\nsidebar-tiddler-link-foreground-hover: #433F35\nsidebar-tiddler-link-foreground: #706A58\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstability-deprecated: #dc322f\nstability-experimental: #b58900\nstability-legacy: #268bd2\nstability-stable: #859900\nstatic-alert-foreground: #A6A193\ntab-background-selected: #E9E0C7\ntab-background: #A6A193\ntab-border-selected: #C3BAA1\ntab-border: #C3BAA1\ntab-divider: #CDC2A6\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #2D2A23\ntable-border: #9D998E\ntable-footer-background: #8A8885\ntable-header-background: #B0AA98\ntag-background: #706A58\ntag-foreground: #E3D7B7\ntestcase-accent-level-1: #b3adc9\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #9D947B\ntiddler-controls-foreground-selected: #706A58\ntiddler-controls-foreground: #C3BAA1\ntiddler-editor-background: #E9E0C7\ntiddler-editor-border-image: #A6A193\ntiddler-editor-border: #A6A193\ntiddler-editor-fields-even: #D6CBAA\ntiddler-editor-fields-odd: #C3BAA1\ntiddler-info-background: #E3D7B7\ntiddler-info-border: #BAB29C\ntiddler-info-tab-background: #E9E0C7\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #867F69\ntiddler-title-foreground: #374464\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #8A8885\nvery-muted-foreground: #CDC2A6\nwikilist-background: <<colour page-background>>\nwikilist-item: #CDC2A6\nwikilist-info: #161512\nwikilist-title: #433F35\nwikilist-title-svg: <<colour wikilist-title>>\nwikilist-url: #706A58\nwikilist-button-open: #7db66a\nwikilist-button-open-hover: #56a556\nwikilist-button-reveal: #5a6c9e\nwikilist-button-reveal-hover: #454591\nwikilist-button-remove: #bc5972\nwikilist-button-remove-hover: #814040\nwikilist-toolbar-background: #CDC2A6\nwikilist-toolbar-foreground: #2D2A23\nwikilist-droplink-dragover: rgba(255,192,192,0.5)\nwikilist-button-background: #A6A193\nwikilist-button-foreground: #161512\nnetwork-activity-foreground: <<colour primary>>"
  },
  {
    "path": "core/palettes/FlexokiDark.tid",
    "content": "color-scheme: dark\ndescription: An inky color scheme for prose and code\nname: FlexokiDark\ntags: $:/tags/Palette\ntitle: $:/palettes/FlexokiDark\ntype: application/x-tiddler-dictionary\n\nflexoki-paper: #FFFCF0\nflexoki-999: #100F0F\nflexoki-950: #1C1B1A\nflexoki-900: #282726\nflexoki-850: #343331\nflexoki-800: #403E3C\nflexoki-700: #575653\nflexoki-600: #6c6b66\nflexoki-500: #878580\nflexoki-300: #B7B5AC\nflexoki-200: #CECDC3\nflexoki-150: #DAD8CE\nflexoki-100: #E6E4D9\nflexoki-050: #F2F0E5\nflexoki-red-600: #AF3029\nflexoki-red-400: #D14D41\nflexoki-orange-600: #BC5215\nflexoki-orange-400: #DA702C\nflexoki-yellow-900: #4D3A0B\nflexoki-yellow-600: #AD8301\nflexoki-yellow-400: #D0A215\nflexoki-yellow-100: #FCEEB8\nflexoki-green-600: #66800B\nflexoki-green-400: #879A39\nflexoki-cyan-950: #142625\nflexoki-cyan-600: #227d77\nflexoki-cyan-400: #3AA99F\nflexoki-cyan-050: #EBF2E7\nflexoki-blue-600: #205EA6\nflexoki-blue-400: #4385BE\nflexoki-purple-600: #5E409D\nflexoki-purple-400: #8B7EC8\nflexoki-magenta-600: #A02F6F\nflexoki-magenta-400: #CE5D97\n\nflexoki-bg: <<colour flexoki-999>>\nflexoki-tx-2: <<colour flexoki-500>>\nflexoki-tx-3: <<colour flexoki-700>>\nflexoki-ui-3: <<colour flexoki-800>>\nflexoki-ui-2: <<colour flexoki-850>>\nflexoki-ui: <<colour flexoki-900>>\nflexoki-bg-2: <<colour flexoki-950>>\nflexoki-tx: <<colour flexoki-300>>\nflexoki-re: <<colour flexoki-red-400>>\nflexoki-or: <<colour flexoki-orange-400>>\nflexoki-ye: <<colour flexoki-yellow-400>>\nflexoki-gr: <<colour flexoki-green-400>>\nflexoki-cy: <<colour flexoki-cyan-400>>\nflexoki-bl: <<colour flexoki-blue-400>>\nflexoki-pu: <<colour flexoki-purple-400>>\nflexoki-ma: <<colour flexoki-magenta-400>>\nflexoki-re-2: <<colour flexoki-red-600>>\nflexoki-or-2: <<colour flexoki-orange-600>>\nflexoki-ye-2: <<colour flexoki-yellow-600>>\nflexoki-gr-2: <<colour flexoki-green-600>>\nflexoki-cy-2: <<colour flexoki-cyan-600>>\nflexoki-bl-2: <<colour flexoki-blue-600>>\nflexoki-pu-2: <<colour flexoki-purple-600>>\nflexoki-ma-2: <<colour flexoki-magenta-600>>\n\nalert-background: <<colour flexoki-yellow-900>>\nalert-border: <<colour flexoki-ye>>\nalert-highlight: <<colour flexoki-re>>\nalert-muted-foreground: <<colour flexoki-ye>>\nbackground: #100F0F\nblockquote-bar: <<colour flexoki-ma>>\nbutton-background: <<colour flexoki-bg-2>>\nbutton-foreground: <<colour flexoki-paper>>\nbutton-border: <<colour flexoki-600>>\ncode-background: <<colour background>>\ncode-border: <<colour flexoki-tx>>\ncode-foreground: <<colour flexoki-tx>>\ndiff-delete-background: <<colour flexoki-re>>\ndiff-delete-foreground: <<colour flexoki-bg-2>>\ndiff-equal-background: \ndiff-equal-foreground: inherit\ndiff-insert-background: <<colour flexoki-gr>>\ndiff-insert-foreground: <<colour flexoki-bg-2>>\ndiff-invisible-background: <<colour flexoki-ye>>\ndiff-invisible-foreground: <<colour flexoki-bg-2>>\ndirty-indicator: <<colour flexoki-re>>\ndownload-background: <<colour flexoki-cy-2>>\ndownload-foreground: <<colour background>>\ndragger-background: <<colour background>>\ndragger-foreground: <<colour foreground>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour flexoki-ui-3>>\ndropdown-tab-background-selected: <<colour flexoki-ui>>\ndropdown-tab-background: <<colour flexoki-ui-3>>\ndropzone-background: <<colour flexoki-gr>>\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: <<colour flexoki-bl>>\nexternal-link-foreground: <<colour flexoki-bl>>\nfootnote-target-background: <<colour flexoki-bg-2>>\nforeground: #CECDC3\nhighlight-background: <<colour flexoki-yellow-900>>\nhighlight-foreground: inherit\nmenubar-background: <<colour primary>>\nmenubar-foreground: <<colour flexoki-999>>\nmessage-background: <<colour background>>\nmessage-border: <<colour foreground>>\nmessage-foreground: <<colour foreground>>\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: <<colour flexoki-ui-3>>\nmodal-footer-background: <<colour flexoki-ui-2>>\nmodal-footer-border: <<colour flexoki-ui-3>>\nmodal-header-border: <<colour flexoki-ui-3>>\nmuted-foreground: <<colour flexoki-tx-2>>\nnetwork-activity-foreground: <<colour flexoki-cy>>\nnotification-background: <<colour flexoki-bg>>\nnotification-border: <<colour flexoki-paper>>\npage-background: <<colour flexoki-bg-2>>\npre-background: <<colour flexoki-bg-2>>\npre-border: <<colour flexoki-ui-2>>\nprimary: <<colour flexoki-cy>>\nselection-background: <<colour primary>>\nselection-foreground: <<colour background>>\nselect-tag-background: <<colour flexoki-bg>>\nselect-tag-foreground: <<colour flexoki-paper>>\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: <<colour flexoki-tx>>\nsidebar-controls-foreground: <<colour flexoki-tx-3>>\nsidebar-foreground-shadow: transparent\nsidebar-foreground: <<colour flexoki-tx>>\nsidebar-muted-foreground-hover: <<colour flexoki-tx>>\nsidebar-muted-foreground: <<colour flexoki-tx-3>>\nsidebar-tab-background-selected: <<colour flexoki-bg-2>>\nsidebar-tab-background: <<colour flexoki-ui-2>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: <<colour flexoki-tx>>\nsidebar-tiddler-link-foreground: <<colour flexoki-tx-2>>\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstability-stable: <<colour flexoki-gr>>\nstability-experimental: <<colour flexoki-ye>>\nstability-deprecated: <<colour flexoki-re>>\nstability-legacy: <<colour flexoki-bl>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: <<colour flexoki-bg-2>>\ntab-border-selected: <<colour flexoki-ui-3>>\ntab-border: <<colour flexoki-ui>>\ntab-divider: <<colour flexoki-ui-2>>\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: <<colour flexoki-tx-2>>\ntable-border: <<colour flexoki-ui-2>>\ntable-footer-background: <<colour flexoki-ui>>\ntable-header-background: <<colour flexoki-ui>>\ntag-background: #D0A215\ntag-foreground: #100F0F\ntestcase-accent-level-1: <<colour flexoki-bl-2>>\ntestcase-accent-level-2: <<colour flexoki-ye-2>>\ntestcase-accent-level-3: <<colour flexoki-gr-2>>\ntiddler-background: <<colour background>>\ntiddler-border: <<colour flexoki-ui-2>>\ntiddler-controls-foreground-hover: <<colour flexoki-tx-3>>\ntiddler-controls-foreground-selected: <<colour flexoki-tx-2>>\ntiddler-controls-foreground: <<colour flexoki-tx-3>>\ntiddler-editor-background: <<colour flexoki-bg-2>>\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: <<colour flexoki-ui-2>>\ntiddler-editor-fields-even: <<colour flexoki-ui-3>>\ntiddler-editor-fields-odd: <<colour flexoki-ui-2>>\ntiddler-info-background: <<colour flexoki-ui>>\ntiddler-info-border: <<colour flexoki-ui>>\ntiddler-info-tab-background: <<colour flexoki-ui>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour flexoki-tx-3>>\ntiddler-title-foreground: <<colour flexoki-ma>>\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: <<colour flexoki-re>>\ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour flexoki-tx-3>>\nvery-muted-foreground: <<colour flexoki-600>>\nwikilist-background: <<colour flexoki-ui>>\nwikilist-item: <<colour flexoki-black>>\nwikilist-info: <<colour flexoki-paper>>\nwikilist-title: <<colour flexoki-tx-2>>\nwikilist-title-svg: <<colour wikilist-title>>\nwikilist-url: <<colour flexoki-tx-3>>\nwikilist-button-open: <<colour flexoki-gr>>\nwikilist-button-open-hover: <<colour flexoki-gr-2>>\nwikilist-button-reveal: <<colour flexoki-cy>>\nwikilist-button-reveal-hover: <<colour flexoki-cy-2>>\nwikilist-button-remove: <<colour flexoki-re>>\nwikilist-button-remove-hover: <<colour flexoki-re-2>>\nwikilist-toolbar-background: <<colour flexoki-ui-2>>\nwikilist-toolbar-foreground: <<colour flexoki-600>>\nwikilist-droplink-dragover: <<colour flexoki-pu>>\nwikilist-button-background: <<colour flexoki-tx-3>>\nwikilist-button-foreground: <<colour flexoki-paper>>"
  },
  {
    "path": "core/palettes/FlexokiLight.tid",
    "content": "title: $:/palettes/FlexokiLight\nname: FlexokiLight\ndescription: An inky color scheme for prose and code\ntags: $:/tags/Palette\ntype: application/x-tiddler-dictionary\ncolor-scheme: light\n\nflexoki-black:       #100F0F\nflexoki-paper:       #FFFCF0\nflexoki-950:         #1C1B1A\nflexoki-900:         #282726\nflexoki-850:         #343331\nflexoki-800:         #403E3C\nflexoki-700:         #575653\nflexoki-600:         #6F6E69\nflexoki-500:         #878580\nflexoki-300:         #B7B5AC\nflexoki-200:         #CECDC3\nflexoki-150:         #DAD8CE\nflexoki-100:         #E6E4D9\nflexoki-050:          #F2F0E5\nflexoki-red-600:     #AF3029\nflexoki-red-400:     #D14D41\nflexoki-orange-600:  #BC5215\nflexoki-orange-400:  #DA702C\nflexoki-yellow-900:  #4D3A0B\nflexoki-yellow-600:  #AD8301\nflexoki-yellow-400:  #D0A215\nflexoki-yellow-100:  #FCEEB8\nflexoki-green-600:   #66800B\nflexoki-green-400:   #879A39\nflexoki-cyan-950:    #142625\nflexoki-cyan-600:    #24837B\nflexoki-cyan-400:    #3AA99F\nflexoki-cyan-050:     #EBF2E7\nflexoki-blue-600:    #205EA6\nflexoki-blue-400:    #4385BE\nflexoki-purple-600:  #5E409D\nflexoki-purple-400:  #8B7EC8\nflexoki-magenta-600: #A02F6F\nflexoki-magenta-400: #CE5D97\n\nflexoki-tx: <<colour flexoki-black>>\nflexoki-tx-2: <<colour flexoki-600>>\nflexoki-tx-3: <<colour flexoki-300>>\nflexoki-ui-3: <<colour flexoki-200>>\nflexoki-ui-2: <<colour flexoki-150>>\nflexoki-ui: <<colour flexoki-100>>\nflexoki-bg-2: <<colour flexoki-050>>\nflexoki-bg: <<colour flexoki-paper>>\n\nflexoki-re: <<colour flexoki-red-400>>\nflexoki-or: <<colour flexoki-orange-400>>\nflexoki-ye: <<colour flexoki-yellow-400>>\nflexoki-gr: <<colour flexoki-green-400>>\nflexoki-cy: <<colour flexoki-cyan-400>>\nflexoki-bl: <<colour flexoki-blue-400>>\nflexoki-pu: <<colour flexoki-purple-400>>\nflexoki-ma: <<colour flexoki-magenta-400>>\n\nflexoki-re-2: <<colour flexoki-red-600>>\nflexoki-or-2: <<colour flexoki-orange-600>>\nflexoki-ye-2: <<colour flexoki-yellow-600>>\nflexoki-gr-2: <<colour flexoki-green-600>>\nflexoki-cy-2: <<colour flexoki-cyan-600>>\nflexoki-bl-2: <<colour flexoki-blue-600>>\nflexoki-pu-2: <<colour flexoki-purple-600>>\nflexoki-ma-2: <<colour flexoki-magenta-600>>\n\nalert-background: <<colour flexoki-yellow-100>>\nalert-border: <<colour flexoki-ye-2>>\nalert-highlight: <<colour flexoki-re-2>>\nalert-muted-foreground: <<colour flexoki-tx-2>>\nbackground: #FFFCF0\nblockquote-bar: <<colour flexoki-magenta-600>>\nbutton-background: <<colour flexoki-bg-2>>\nbutton-foreground: <<colour flexoki-black>>\nbutton-border: <<colour flexoki-500>>\ncode-background: <<colour flexoki-bg>>\ncode-border: <<colour flexoki-tx>>\ncode-foreground: <<colour flexoki-tx>>\ndiff-delete-background: <<colour flexoki-re-2>>\ndiff-delete-foreground: <<colour flexoki-paper>>\ndiff-equal-background: \ndiff-equal-foreground: <<colour foreground>>\ndiff-insert-background: <<colour flexoki-gr-2>>\ndiff-insert-foreground: <<colour flexoki-paper>>\ndiff-invisible-background: <<colour flexoki-ye-2>>\ndiff-invisible-foreground: <<colour flexoki-paper>>\ndirty-indicator: <<colour flexoki-red-600>>\ndownload-background: <<colour flexoki-gr>>\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: <<colour background>>\ndropdown-tab-background: <<colour flexoki-bg-2>>\ndropzone-background: <<colour flexoki-gr>>\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: <<colour flexoki-bl>>\nexternal-link-foreground: <<colour flexoki-bl>>\nfootnote-target-background: <<colour flexoki-bg-2>>\nforeground: #100F0F\nhighlight-background: <<colour flexoki-yellow-100>>\nhighlight-foreground: inherit\nmenubar-background: <<colour primary>>\nmenubar-foreground: <<colour flexoki-paper>>\nmessage-background: <<colour flexoki-bg>>\nmessage-border: <<colour flexoki-black>>\nmessage-foreground: <<colour flexoki-black>>\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: <<colour flexoki-tx-3>>\nmodal-footer-background: <<colour flexoki-bg>>\nmodal-footer-border: <<colour flexoki-tx-3>>\nmodal-header-border: <<colour flexoki-tx-3>>\nmuted-foreground: <<colour flexoki-500>>\nnetwork-activity-foreground: <<colour flexoki-cy-2>>\nnotification-background: <<colour flexoki-bg>>\nnotification-border: <<color flexoki-black>>\npage-background: <<colour flexoki-bg-2>>\npre-background: <<colour flexoki-bg-2>>\npre-border: <<colour flexoki-ui-2>>\nprimary: <<colour flexoki-cy-2>>\nselection-background: <<colour flexoki-cy-2>>\nselection-foreground: <<colour background>>\nselect-tag-background: <<colour flexoki-bg>>\nselect-tag-foreground: <<color flexoki-black>>\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: <<colour flexoki-tx>>\nsidebar-controls-foreground: <<colour flexoki-tx-3>>\nsidebar-foreground-shadow: transparent\nsidebar-foreground: <<colour flexoki-300>>\nsidebar-muted-foreground-hover: <<colour flexoki-700>>\nsidebar-muted-foreground: <<colour flexoki-200>>\nsidebar-tab-background-selected: <<colour flexoki-bg-2>>\nsidebar-tab-background: <<colour flexoki-ui>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour flexoki-100>>\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: <<colour flexoki-500>>\nsidebar-tiddler-link-foreground: <<colour flexoki-700>>\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstability-stable: <<colour flexoki-green-600>>\nstability-experimental: <<colour flexoki-yellow-600>>\nstability-deprecated: <<colour flexoki-red-600>>\nstability-legacy: <<colour flexoki-blue-600>>\nstatic-alert-foreground: <<colour flexoki-tx-3>>\ntab-background-selected: <<colour background>>\ntab-background: <<colour flexoki-bg-2>>\ntab-border-selected: <<colour flexoki-ui-3>>\ntab-border: <<colour flexoki-ui>>\ntab-divider: <<colour flexoki-ui-2>>\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: <<colour flexoki-tx>>\ntable-border: <<colour flexoki-ui-2>>\ntable-footer-background: <<colour flexoki-tx-3>>\ntable-header-background: <<colour flexoki-bg-2>>\ntag-background: #AD8301\ntag-foreground: #FFFCF0\ntestcase-accent-level-1: <<colour flexoki-blue-400>>\ntestcase-accent-level-2: <<colour flexoki-yellow-400>>\ntestcase-accent-level-3: <<colour flexoki-green-400>>\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: <<colour flexoki-tx-3>>\ntiddler-controls-foreground-selected: <<colour  flexoki-tx-2>>\ntiddler-controls-foreground: <<colour flexoki-ui-3>>\ntiddler-editor-background: <<colour flexoki-bg-2>>\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: <<colour flexoki-ui-2>>\ntiddler-editor-fields-even: <<colour flexoki-ui-3>>\ntiddler-editor-fields-odd: <<colour flexoki-ui-2>>\ntiddler-info-background: <<colour flexoki-bg-2>>\ntiddler-info-border: <<colour flexoki-200>>\ntiddler-info-tab-background: <<colour flexoki-bg>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour flexoki-tx-3>>\ntiddler-title-foreground: <<colour flexoki-magenta-600>>\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: <<colour flexoki-re-2>>\ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour flexoki-tx-3>>\nvery-muted-foreground: <<colour flexoki-500>>\nwikilist-background: <<colour flexoki-ui>>\nwikilist-item: <<colour flexoki-paper>>\nwikilist-info: <<colour flexoki-black>>\nwikilist-title: <<colour flexoki-tx-2>>\nwikilist-title-svg: <<colour wikilist-title>>\nwikilist-url: <<colour flexoki-tx-3>>\nwikilist-button-open: <<colour flexoki-gr-2>>\nwikilist-button-open-hover: <<colour flexoki-gr>>\nwikilist-button-reveal: <<colour flexoki-cy-2>>\nwikilist-button-reveal-hover: <<colour flexoki-cy>>\nwikilist-button-remove: <<colour flexoki-re-2>>\nwikilist-button-remove-hover: <<colour flexoki-re>>\nwikilist-toolbar-background: <<colour flexoki-ui-2>>\nwikilist-toolbar-foreground: <<colour flexoki-500>>\nwikilist-droplink-dragover: <<colour flexoki-pu>>\nwikilist-button-background: <<colour flexoki-tx-3>>\nwikilist-button-foreground: <<colour flexoki-black>>\n"
  },
  {
    "path": "core/palettes/GruvBoxDark.tid",
    "content": "title: $:/palettes/GruvboxDark\nname: Gruvbox Dark\ncolor-scheme: dark\ndescription: Retro groove color scheme\ntags: $:/tags/Palette\ntype: application/x-tiddler-dictionary\nlicense: https://github.com/morhetz/gruvbox\n\nalert-background: #cc241d\nalert-border: #cc241d\nalert-highlight: #d79921\nalert-muted-foreground: #272321\nbackground: #3c3836\nblockquote-bar: <<colour muted-foreground>>\nbutton-foreground: <<colour foreground>>\ncode-background: #504945\ncode-border: #504945\ncode-foreground: #fc5e4b\ndiff-delete-background: #fb4934\ndiff-delete-foreground: <<colour foreground>>\ndiff-equal-background: \ndiff-equal-foreground: <<colour foreground>>\ndiff-insert-background: #b8bb26\ndiff-insert-foreground: <<colour background>>\ndiff-invisible-background: #ffff97\ndiff-invisible-foreground: #444347\ndirty-indicator: #fb4934\ndownload-background: #1daf24\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: #665c54\ndropdown-border: <<colour background>>\ndropdown-tab-background-selected: #ebdbb2\ndropdown-tab-background: #665c54\ndropzone-background: #98971a\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #d3869b\nexternal-link-foreground: #8ec07c\nfootnote-target-background: #665c54\nforeground: #fbf1c7\nhighlight-background: #ffff79\nhighlight-foreground: #000000\nmenubar-background: #504945\nmenubar-foreground: <<colour foreground>>\nmessage-background: #b4c9c1\nmessage-border: #83a598\nmessage-foreground: #3c3836\nmodal-backdrop: #625a57\nmodal-background: <<colour background>>\nmodal-border: #504945\nmodal-footer-background: #3c3836\nmodal-footer-border: #3c3836\nmodal-header-border: #3c3836\nmuted-foreground: #d5c4a1\nnetwork-activity-foreground: <<colour primary>>\nnotification-background: <<colour primary>>\nnotification-border: <<colour primary>>\npage-background: #282828\npre-background: #504945\npre-border: #504945\nprimary: #da9921\nselect-tag-background: #665c54\nselect-tag-foreground: <<colour foreground>>\nselection-background: #458588\nselection-foreground: <<colour foreground>>\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #e3e0dd\nsidebar-controls-foreground: #978b84\nsidebar-foreground-shadow: transparent\nsidebar-foreground: #fbf1c7\nsidebar-muted-foreground-hover: <<colour sidebar-controls-foreground-hover>>\nsidebar-muted-foreground: <<colour sidebar-controls-foreground>>\nsidebar-tab-background-selected: #bdae93\nsidebar-tab-background: #3c3836\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: #bdae93\nsidebar-tab-divider: <<colour page-background>>\nsidebar-tab-foreground-selected: <<colour page-background>>\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #458588\nsidebar-tiddler-link-foreground: #98971a\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstability-deprecated: #cc241d\nstability-experimental: #b37d1c\nstability-legacy: #529ca0\nstability-stable: #649618\nstatic-alert-foreground: #B48EAD\ntab-background-selected: #ebdbb2\ntab-background: #665c54\ntab-border-selected: <<colour tab-background-selected>>\ntab-border: #82746a\ntab-divider: #bdae93\ntab-foreground-selected: #282828\ntab-foreground: #ebdbb2\ntable-border: #7c6f64\ntable-footer-background: #665c54\ntable-header-background: #504945\ntag-background: #d3869b\ntag-foreground: #282828\ntestcase-accent-level-1: #456d88\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #7c6f64\ntiddler-controls-foreground-selected: <<colour primary>>\ntiddler-controls-foreground: #665c54\ntiddler-editor-background: #32302f\ntiddler-editor-border-image: #282828\ntiddler-editor-border: #282828\ntiddler-editor-fields-even: #504945\ntiddler-editor-fields-odd: #7c6f64\ntiddler-info-background: #32302f\ntiddler-info-border: #ebdbb2\ntiddler-info-tab-background: #ebdbb2\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #7c6f64\ntiddler-title-foreground: #a89984\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #887b75\nvery-muted-foreground: #bdae93\nwikilist-background: <<colour page-background>>\nwikilist-button-background: #acacac\nwikilist-button-foreground: <<colour button-foreground>>\nwikilist-item: <<colour background>>\nwikilist-toolbar-background: <<colour background>>\nwikilist-toolbar-foreground: <<colour foreground>>\nwikilist-title: <<colour foreground>>\nwikilist-title-svg: <<colour wikilist-title>>\nwikilist-url: <<colour muted-foreground>>\nwikilist-button-open-hover: <<colour primary>>\nwikilist-button-open: <<colour dropzone-background>>\nwikilist-button-remove: <<colour dirty-indicator>>\nwikilist-button-remove-hover: <<colour alert-background>>\nwikilist-droplink-dragover: <<colour dropzone-background>>\nwikilist-button-reveal: <<colour sidebar-tiddler-link-foreground-hover>>\nwikilist-button-reveal-hover: <<colour message-background>>\n"
  },
  {
    "path": "core/palettes/Nord.tid",
    "content": "title: $:/palettes/Nord\nname: Nord\ncolor-scheme: dark\ndescription: An arctic, north-bluish color palette.\ntags: $:/tags/Palette\ntype: application/x-tiddler-dictionary\nlicense: MIT, arcticicestudio, https://github.com/arcticicestudio/nord/blob/develop/LICENSE.md\n\nalert-background: #D08770\nalert-border: <<colour alert-background>>\nalert-highlight: #a3436f\nalert-muted-foreground: #495367\nbackground: #3b4252\nblockquote-bar: <<colour muted-foreground>>\nbutton-foreground: <<colour foreground>>\ncode-background: #2E3440\ncode-border: #2E3440\ncode-foreground: #c7747c\ndiff-delete-background: #BF616A\ndiff-delete-foreground: <<colour foreground>>\ndiff-equal-background: \ndiff-equal-foreground: <<colour foreground>>\ndiff-insert-background: #A3BE8C\ndiff-insert-foreground: <<colour background>>\ndiff-invisible-background: #f9f3b5\ndiff-invisible-foreground: <<colour muted-foreground>>\ndirty-indicator: #BF616A\ndownload-background: #A3BE8C\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour background>>\ndropdown-tab-background-selected: #ECEFF4\ndropdown-tab-background: #4C566A\ndropzone-background: #A3BE8C\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #5E81AC\nexternal-link-foreground: #8FBCBB\nfootnote-target-background: #2E3440\nforeground: #d8dee9\nhighlight-background: #ffff78\nhighlight-foreground: #000000\nmenubar-background: #2E3440\nmenubar-foreground: #d8dee9\nmessage-background: #2E3440\nmessage-border: #2E3440\nmessage-foreground: #6485aa\nmodal-backdrop: #435678\nmodal-background: <<colour background>>\nmodal-border: #3b4252\nmodal-footer-background: #3b4252\nmodal-footer-border: #3b4252\nmodal-header-border: #3b4252\nmuted-foreground: #687693\nnetwork-activity-foreground: <<colour primary>>\nnotification-background: <<colour primary>>\nnotification-border: #EBCB8B\npage-background: #2e3440\npre-background: #2E3440\npre-border: #2E3440\nprimary: #7b98bb\nselect-tag-background: #3b4252\nselect-tag-foreground: <<colour foreground>>\nselection-background: #52749e\nselection-foreground: <<colour foreground>>\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #D8DEE9\nsidebar-controls-foreground: #5e6a84\nsidebar-foreground-shadow: transparent\nsidebar-foreground: #D8DEE9\nsidebar-muted-foreground-hover: #9fa8bb\nsidebar-muted-foreground: #6c7b97\nsidebar-tab-background-selected: #ECEFF4\nsidebar-tab-background: #4C566A\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: #4C566A\nsidebar-tab-divider: <<colour page-background>>\nsidebar-tab-foreground-selected: #4C566A\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #A3BE8C\nsidebar-tiddler-link-foreground: #81A1C1\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstability-deprecated: #ff595e\nstability-experimental: #f29d00\nstability-legacy: #2ddbca\nstability-stable: #04ff04\nstatic-alert-foreground: #B48EAD\ntab-background-selected: #ECEFF4\ntab-background: #4C566A\ntab-border-selected: #4C566A\ntab-border: #5c6883\ntab-divider: #4C566A\ntab-foreground-selected: #6c7a97\ntab-foreground: #D8DEE9\ntable-border: #4C566A\ntable-footer-background: #2e3440\ntable-header-background: #2e3440\ntag-background: #A3BE8C\ntag-foreground: #4C566A\ntestcase-accent-level-1: #455e7d\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: \ntiddler-controls-foreground-selected: #EBCB8B\ntiddler-controls-foreground: #5e6a84\ntiddler-editor-background: #2e3440\ntiddler-editor-border-image: #2e3440\ntiddler-editor-border: #232732\ntiddler-editor-fields-even: #2e3440\ntiddler-editor-fields-odd: #424a5b\ntiddler-info-background: #2e3440\ntiddler-info-border: #2e3440\ntiddler-info-tab-background: #2e3440\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #5c6881\ntiddler-title-foreground: #81A1C1\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #2d3038\nvery-muted-foreground: #2d3038\nwikilist-background: <<colour page-background>>\nwikilist-toolbar-background: <<colour background>>\nwikilist-item: <<colour background>>\nwikilist-title: <<colour foreground>>\nwikilist-info: <<colour muted-foreground>>\nwikilist-button-open: #A3BE8C\nwikilist-button-open-hover: #A3BE8C\nwikilist-button-reveal: #81A1C1\nwikilist-button-reveal-hover: #81A1C1\nwikilist-button-remove: #B48EAD\nwikilist-button-remove-hover: #B48EAD"
  },
  {
    "path": "core/palettes/Rocker.tid",
    "content": "title: $:/palettes/Rocker\nname: Rocker\ncolor-scheme: dark\ndescription: A dark theme\ntags: $:/tags/Palette\ntype: application/x-tiddler-dictionary\n\nalert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: #adadad\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nfootnote-target-background: #ecf2ff\nforeground: #333333\nhighlight-background: #ffff00\nhighlight-foreground: #000000\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #999999\nnetwork-activity-foreground: <<colour primary>>\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #000\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #cc0000\nselect-tag-background: <<colour foreground>>\nselect-tag-foreground: <<colour foreground>>\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #797979\nsidebar-controls-foreground: #cacaca\nsidebar-foreground-shadow: rgba(255,255,255, 0.0)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #000000\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: #7c7c7c\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: #ff0909\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #ffbb99\nsidebar-tiddler-link-foreground: #cc0000\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstability-deprecated: #ff0000\nstability-experimental: #c07c00\nstability-legacy: #0000ff\nstability-stable: #008000\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #bbbbbb\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ffbb99\ntag-foreground: #000\ntestcase-accent-level-1: #9e9eff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #cc0000\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888"
  },
  {
    "path": "core/palettes/SolarFlare.tid",
    "content": "title: $:/palettes/SolarFlare\nname: Solar Flare\ncolor-scheme: light\ndescription: Warm, relaxing earth colours\ntags: $:/tags/Palette\ntype: application/x-tiddler-dictionary\n\n# Background Tones\n\nbase03: #002b36\nbase02: #073642\n\n# Content Tones\n\nbase01: #586e75\nbase00: #657b83\nbase0: #839496\nbase1: #93a1a1\n\n# Background Tones\n\nbase2: #eee8d5\nbase3: #fdf6e3\n\n# Accent Colors\n\nyellow: #b58900\norange: #cb4b16\nred: #dc322f\nmagenta: #d33682\nviolet: #6c71c4\nblue: #268bd2\ncyan: #2aa198\ngreen: #859900\n\n# Additional Tones (RA)\n\nbase10: #c0c4bb\nviolet-muted: #7c81b0\nblue-muted: #4e7baa\n\nyellow-hot: #ffcc44\norange-hot: #eb6d20\nred-hot: #ff2222\nblue-hot: #2298ee\ngreen-hot: #98ee22\n\n# Palette\n\n# Do not use colour macro for background and foreground\nbackground: #fdf6e3\n    download-foreground: <<colour background>>\n    dragger-foreground: <<colour background>>\n    dropdown-background: <<colour background>>\n    modal-background: <<colour background>>\n    sidebar-foreground-shadow: <<colour background>>\n    tiddler-background: <<colour background>>\n    tiddler-border: <<colour background>>\n    tiddler-link-background: <<colour background>>\n    tab-background-selected: <<colour background>>\n        dropdown-tab-background-selected: <<colour tab-background-selected>>\nforeground: #657b83\n    dragger-background: <<colour foreground>>\n    tab-foreground: <<colour foreground>>\n        tab-foreground-selected: <<colour tab-foreground>>\n            sidebar-tab-foreground-selected: <<colour tab-foreground-selected>>\n        sidebar-tab-foreground: <<colour tab-foreground>>\n    sidebar-button-foreground: <<colour foreground>>\n    sidebar-controls-foreground: <<colour foreground>>\n    sidebar-foreground: <<colour foreground>>\n# base03\n# base02\n# base01\n    alert-muted-foreground: <<colour base01>>\n# base00\n    code-foreground: <<colour base00>>\n    message-foreground: <<colour base00>>\n    tag-foreground: <<colour base00>>\n# base0\n    sidebar-tiddler-link-foreground: <<colour base0>>\n# base1\n    muted-foreground: <<colour base1>>\n        blockquote-bar: <<colour muted-foreground>>\n        dropdown-border: <<colour muted-foreground>>\n        sidebar-muted-foreground: <<colour muted-foreground>>\n        tiddler-title-foreground: <<colour muted-foreground>>\n            site-title-foreground: <<colour tiddler-title-foreground>>\n# base2\n    stability-deprecated: <<colour red>>\n    stability-experimental: <<colour yellow>>\n    stability-legacy: <<colour blue-hot>>\n    stability-stable: <<colour green>>\n    modal-footer-background: <<colour base2>>\n    page-background: <<colour base2>>\n        modal-backdrop: <<colour page-background>>\n        notification-background: <<colour page-background>>\n        code-background: <<colour page-background>>\n            code-border: <<colour code-background>>\n        pre-background: <<colour page-background>>\n            pre-border: <<colour pre-background>>\n        sidebar-tab-background-selected: <<colour page-background>>\n    table-header-background: <<colour base2>>\n    tag-background: <<colour base2>>\n    tiddler-editor-background: <<colour base2>>\n    tiddler-info-background: <<colour base2>>\n    tiddler-info-tab-background: <<colour tiddler-info-border>>\n    tab-background: <<colour base2>>\ndropdown-tab-background: <<colour tab-background>>\n# base3\n    alert-background: <<colour base3>>\n    message-background: <<colour base3>>\n# yellow\n# orange\n# red\n# magenta\n    alert-highlight: <<colour magenta>>\n# violet\n    external-link-foreground: <<colour violet>>\n\n# blue\n# cyan\n# green\n# base10\n    tiddler-controls-foreground: <<colour base10>>\n# violet-muted\n    external-link-foreground-visited: <<colour violet-muted>>\n# blue-muted\n    primary: <<colour blue-muted>>\n        download-background: #5bb83d\n        tiddler-link-foreground: <<colour primary>>\nalert-border: #b99e2f\ndiff-delete-background: <<colour red>>\ndiff-delete-foreground: <<colour background>>\ndiff-equal-background: inherit\ndiff-equal-foreground: inherit\ndiff-insert-background: <<colour green>>\ndiff-insert-foreground: <<colour background>>\ndiff-invisible-background: <<colour yellow>>\ndiff-invisible-foreground: <<colour background>>\ndirty-indicator: #ff0000\ndropzone-background: #008800\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nfootnote-target-background: #ded8c5\nhighlight-background: #ffff00\nhighlight-foreground: #000000\nmessage-border: #cfd6e6\nmodal-border: #999999\nselect-tag-background:\nselect-tag-foreground:\nsidebar-controls-foreground-hover: #000000\nsidebar-muted-foreground-hover:\nsidebar-tab-background: #ded8c5\nsidebar-tiddler-link-foreground-hover:\nstatic-alert-foreground: #aaaaaa\ntab-border: #cccccc\n    modal-footer-border: <<colour tab-border>>\n    modal-header-border: <<colour tab-border>>\n    notification-border: <<colour tab-border>>\n    sidebar-tab-border: <<colour tab-border>>\n    tab-border-selected: <<colour tab-border>>\n        sidebar-tab-border-selected: <<colour tab-border-selected>>\ntab-divider: #d8d8d8\n    sidebar-tab-divider: <<colour tab-divider>>\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntestcase-accent-level-1: #bec8cc\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-border: #dddddd\ntiddler-subtitle-foreground: #c0c0c0\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\nnetwork-activity-foreground: <<colour primary>>"
  },
  {
    "path": "core/palettes/SolarizedDark.tid",
    "content": "title: $:/palettes/SolarizedDark\ntags: $:/tags/Palette\ntype: application/x-tiddler-dictionary\ndescription: Precision dark colors for machines and people\nlicense: MIT, Ethan Schoonover, https://github.com/altercation/solarized/blob/master/LICENSE\nname: SolarizedDark\ncolor-scheme: dark\n\nalert-background: #073642\nalert-border: #93a1a1\nalert-highlight: #d33682\nalert-muted-foreground: #d33682\nbackground: #073642\nblockquote-bar: #d33682\nbutton-background: #073642\nbutton-border: #586e75\nbutton-foreground: #93a1a1\ncode-background: #073642\ncode-border: #586e75\ncode-foreground: #93a1a1\ndiff-delete-background: #dc322f\ndiff-delete-foreground: #eee8d5\ndiff-equal-background: inherit\ndiff-equal-foreground: inherit\ndiff-insert-background: #859900\ndiff-insert-foreground: #073642\ndiff-invisible-background: #b58900\ndiff-invisible-foreground: #eee8d5\ndirty-indicator: #dc322f\ndownload-background: #859900\ndownload-foreground: #073642\ndragger-background: #073642\ndragger-foreground: #839496\ndropdown-background: #073642\ndropdown-border: #93a1a1\ndropdown-tab-background: #002b36\ndropdown-tab-background-selected: #073642\ndropzone-background: #859900\nexternal-link-background: inherit\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-foreground: #268bd2\nexternal-link-foreground-hover: #1d669c\nexternal-link-foreground-visited: #268bd2\nfootnote-target-background: #073642\nforeground: #839496\nhighlight-background: #ffff78\nhighlight-foreground: #000000\nmessage-background: #002b36\nmessage-border: #586e75\nmessage-foreground: #839496\nmodal-backdrop: #657b83\nmodal-background: #002b36\nmodal-border: #586e75\nmodal-footer-background: #073642\nmodal-footer-border: #586e75\nmodal-header-border: #586e75\nmuted-foreground: #93a1a1\nnetwork-activity-foreground: <<colour primary>>\nnotification-background: #002b36\nnotification-border: #586e75\npage-background: #073642\npre-background: inherit\npre-border: #657b83\nprimary: #859900\nselect-tag-background: #002b36\nselect-tag-foreground: #839496\nsidebar-button-foreground: #93a1a1\nsidebar-controls-foreground: #93a1a1\nsidebar-controls-foreground-hover: #eee8d5\nsidebar-foreground: #93a1a1\nsidebar-foreground-shadow: transparent\nsidebar-muted-foreground: #839496\nsidebar-muted-foreground-hover: #93a1a1\nsidebar-tab-background: #002b36\nsidebar-tab-background-selected: #073642\nsidebar-tab-border: #073642\nsidebar-tab-border-selected: #839496\nsidebar-tab-divider: #002b36\nsidebar-tab-foreground: #657b83\nsidebar-tab-foreground-selected: #93a1a1\nsidebar-tiddler-link-foreground: #2aa198\nsidebar-tiddler-link-foreground-hover: #eee8d5\nsite-title-foreground: #d33682\nstability-deprecated: #aa1a9f\nstability-experimental: #806000\nstability-legacy: #1d669c\nstability-stable: #00df11\nstatic-alert-foreground: #93a1a1\ntab-background: #073642\ntab-background-selected: #002b36\ntab-border: #586e75\ntab-border-selected: #93a1a1\ntab-divider: #93a1a1\ntab-foreground: #839496\ntab-foreground-selected: #93a1a1\ntable-border: #586e75\ntable-footer-background: #073642\ntable-header-background: #073642\ntag-background: #b58900\ntag-foreground: #002b36\ntestcase-accent-level-1: #073642\ntiddler-background: #002b36\ntiddler-border: #586e75\ntiddler-controls-foreground: inherit\ntiddler-controls-foreground-hover: #d33682\ntiddler-controls-foreground-selected: #2aa198\ntiddler-editor-background: #002b36\ntiddler-editor-border: #073642\ntiddler-editor-border-image: #002b36\ntiddler-editor-fields-even: #002b36\ntiddler-editor-fields-odd: #073642\ntiddler-info-background: #073642\ntiddler-info-border: #657b83\ntiddler-info-tab-background: #002b36\ntiddler-link-background: #002b36\ntiddler-link-foreground: #2aa198\ntiddler-subtitle-foreground: #839496\ntiddler-title-foreground: #d33682\ntoolbar-cancel-button: #839496\ntoolbar-close-button: #839496\ntoolbar-delete-button: #dc322f\ntoolbar-done-button: #839496\ntoolbar-edit-button: #839496\ntoolbar-info-button: #839496\ntoolbar-new-button: #839496\ntoolbar-options-button: #839496\ntoolbar-save-button: inherit\nuntagged-background: #586e75\nvery-muted-foreground: #586e75"
  },
  {
    "path": "core/palettes/SolarizedLight.tid",
    "content": "title: $:/palettes/SolarizedLight\ntags: $:/tags/Palette\ntype: application/x-tiddler-dictionary\ndescription: Precision colors for machines and people\nlicense: MIT, Ethan Schoonover, https://github.com/altercation/solarized/blob/master/LICENSE\nname: SolarizedLight\ncolor-scheme: light\n\nalert-background: #eee8d5\nalert-border: #586e75\nalert-highlight: #d33682\nalert-muted-foreground: #d33682\nbackground: #eee8d5\nblockquote-bar: #d33682\nbutton-background: #eee8d5\nbutton-border: #93a1a1\nbutton-foreground: #586e75\ncode-background: #eee8d5\ncode-border: #93a1a1\ncode-foreground: #586e75\ndiff-delete-background: #dc322f\ndiff-delete-foreground: #eee8d5\ndiff-equal-background: inherit\ndiff-equal-foreground: inherit\ndiff-insert-background: #859900\ndiff-insert-foreground: #eee8d5\ndiff-invisible-background: #b58900\ndiff-invisible-foreground: #eee8d5\ndirty-indicator: #dc322f\ndownload-background: #00910b\ndownload-foreground: #eee8d5\ndragger-background: #eee8d5\ndragger-foreground: #657b83\ndropdown-background: #eee8d5\ndropdown-border: #586e75\ndropdown-tab-background: #fdf6e3\ndropdown-tab-background-selected: #eee8d5\ndropzone-background: #859900\nexternal-link-background: inherit\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-foreground: #268bd2\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #268bd2\nfootnote-target-background: #eee8d5\nforeground: #657b83\nhighlight-background: #ffff00\nhighlight-foreground: #000000\nmessage-background: #fdf6e3\nmessage-border: #93a1a1\nmessage-foreground: #657b83\nmodal-backdrop: #839496\nmodal-background: #fdf6e3\nmodal-border: #93a1a1\nmodal-footer-background: #eee8d5\nmodal-footer-border: #93a1a1\nmodal-header-border: #93a1a1\nmuted-foreground: #586e75\nnetwork-activity-foreground: <<colour primary>>\nnotification-background: #fdf6e3\nnotification-border: #93a1a1\npage-background: #eee8d5\npre-background: #eee8d5\npre-border: #839496\nprimary: #859900\nselect-tag-background: #fdf6e3\nselect-tag-foreground: #657b83\nsidebar-button-foreground: #586e75\nsidebar-controls-foreground: #586e75\nsidebar-controls-foreground-hover: #d33682\nsidebar-foreground: #586e75\nsidebar-foreground-shadow: transparent\nsidebar-muted-foreground: #657b83\nsidebar-muted-foreground-hover: #586e75\nsidebar-tab-background: #fdf6e3\nsidebar-tab-background-selected: #eee8d5\nsidebar-tab-border: #eee8d5\nsidebar-tab-border-selected: #657b83\nsidebar-tab-divider: #fdf6e3\nsidebar-tab-foreground: #839496\nsidebar-tab-foreground-selected: #586e75\nsidebar-tiddler-link-foreground: #2aa198\nsidebar-tiddler-link-foreground-hover: #002b36\nsite-title-foreground: #d33682\nstability-deprecated: #d21a1a\nstability-experimental: #771e00\nstability-legacy: #227abb\nstability-stable: #576400\nstatic-alert-foreground: #586e75\ntab-background: #eee8d5\ntab-background-selected: #fdf6e3\ntab-border: #93a1a1\ntab-border-selected: #586e75\ntab-divider: #586e75\ntab-foreground: #657b83\ntab-foreground-selected: #586e75\ntable-border: #93a1a1\ntable-footer-background: #eee8d5\ntable-header-background: #eee8d5\ntag-background: #b58900\ntag-foreground: #fdf6e3\ntestcase-accent-level-1: #afc2db\ntiddler-background: #fdf6e3\ntiddler-border: #93a1a1\ntiddler-controls-foreground: inherit\ntiddler-controls-foreground-hover: #d33682\ntiddler-controls-foreground-selected: #2aa198\ntiddler-editor-background: #fdf6e3\ntiddler-editor-border: #eee8d5\ntiddler-editor-border-image: #fdf6e3\ntiddler-editor-fields-even: #fdf6e3\ntiddler-editor-fields-odd: #eee8d5\ntiddler-info-background: #eee8d5\ntiddler-info-border: #839496\ntiddler-info-tab-background: #fdf6e3\ntiddler-link-background: #fdf6e3\ntiddler-link-foreground: #2aa198\ntiddler-subtitle-foreground: #657b83\ntiddler-title-foreground: #d33682\ntoolbar-cancel-button: #657b83\ntoolbar-close-button: #657b83\ntoolbar-delete-button: #dc322f\ntoolbar-done-button: #657b83\ntoolbar-edit-button: #657b83\ntoolbar-info-button: #657b83\ntoolbar-new-button: #657b83\ntoolbar-options-button: #657b83\ntoolbar-save-button: inherit\nuntagged-background: #586e75\nvery-muted-foreground: #93a1a1\n"
  },
  {
    "path": "core/palettes/SpartanDay.tid",
    "content": "title: $:/palettes/SpartanDay\ntags: $:/tags/Palette\ntype: application/x-tiddler-dictionary\ndescription: Cold, spartan day colors\nname: Spartan Day\ncolor-scheme: light\n\nalert-background: <<colour background>>\nalert-border: <<colour very-muted-foreground>>\nalert-highlight: <<colour very-muted-foreground>>\nalert-muted-foreground: <<colour muted-foreground>>\nbackground: #FAFAFA\nblockquote-bar: <<colour page-background>>\nbutton-background: transparent\nbutton-foreground: inherit\nbutton-border: <<colour tag-background>>\ncode-background: #ececec\ncode-border: #ececec\ncode-foreground: \ndirty-indicator: #c80000\ndownload-background: <<colour primary>>\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: #FFFFFF\ndropdown-border: <<colour dropdown-background>>\ndropdown-tab-background-selected: <<colour dropdown-background>>\ndropdown-tab-background: #F5F5F5\ndropzone-background: <<colour tag-background>>\nexternal-link-background-hover: transparent\nexternal-link-background-visited: transparent\nexternal-link-background: transparent\nexternal-link-foreground-hover: \nexternal-link-foreground-visited: \nexternal-link-foreground: \nfootnote-target-background: #ececec\nforeground: rgba(0, 0, 0, 0.87)\nhighlight-background: #ffff00\nhighlight-foreground: #000000\nmessage-background: <<colour background>>\nmessage-border: <<colour very-muted-foreground>>\nmessage-foreground: rgba(0, 0, 0, 0.54)\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: <<colour very-muted-foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour very-muted-foreground>>\nmodal-header-border: <<colour very-muted-foreground>>\nmuted-foreground: rgba(0, 0, 0, 0.54)\nnotification-background: <<colour dropdown-background>>\nnotification-border: <<colour dropdown-background>>\npage-background: #f4f4f4\npre-background: #ececec\npre-border: #ececec\nprimary: #3949ab\nselect-tag-background: <<colour background>>\nselect-tag-foreground: <<colour foreground>>\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #aeaeae\nsidebar-controls-foreground: #c6c6c6\nsidebar-foreground-shadow: transparent\nsidebar-foreground: rgba(0, 0, 0, 0.54)\nsidebar-muted-foreground-hover: rgba(0, 0, 0, 0.54)\nsidebar-muted-foreground: rgba(0, 0, 0, 0.38)\nsidebar-tab-background-selected: <<colour page-background>>\nsidebar-tab-background: transparent\nsidebar-tab-border-selected: <<colour table-border>>\nsidebar-tab-border: transparent\nsidebar-tab-divider: <<colour table-border>>\nsidebar-tab-foreground-selected: rgba(0, 0, 0, 0.87)\nsidebar-tab-foreground: rgba(0, 0, 0, 0.54)\nsidebar-tiddler-link-foreground-hover: rgba(0, 0, 0, 0.87)\nsidebar-tiddler-link-foreground: rgba(0, 0, 0, 0.54)\nsite-title-foreground: rgba(0, 0, 0, 0.87)\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: transparent\ntab-border-selected: <<colour table-border>>\ntab-border: transparent\ntab-divider: <<colour table-border>>\ntab-foreground-selected: rgba(0, 0, 0, 0.87)\ntab-foreground: rgba(0, 0, 0, 0.54)\ntable-border: #d8d8d8\ntable-footer-background: <<colour tiddler-editor-fields-odd>>\ntable-header-background: <<colour tiddler-editor-fields-even>>\ntag-background: #ec6\ntag-foreground: <<colour button-foreground>>\ntiddler-background: <<colour background>>\ntiddler-border: #f9f9f9\ntiddler-controls-foreground-hover: <<colour sidebar-controls-foreground-hover>>\ntiddler-controls-foreground-selected: <<colour sidebar-controls-foreground-hover>>\ntiddler-controls-foreground: <<colour sidebar-controls-foreground>>\ntiddler-editor-background: transparent\ntiddler-editor-border-image: \ntiddler-editor-border: #e8e7e7\ntiddler-editor-fields-even: rgba(0, 0, 0, 0.1)\ntiddler-editor-fields-odd: rgba(0, 0, 0, 0.04)\ntiddler-info-background: #F5F5F5\ntiddler-info-border: #F5F5F5\ntiddler-info-tab-background: <<colour tiddler-editor-fields-odd>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour muted-foreground>>\ntiddler-title-foreground: #000000\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour very-muted-foreground>>\nvery-muted-foreground: rgba(0, 0, 0, 0.12)\n"
  },
  {
    "path": "core/palettes/SpartanNight.tid",
    "content": "title: $:/palettes/SpartanNight\ntags: $:/tags/Palette\ntype: application/x-tiddler-dictionary\ndescription: Dark spartan colors\nname: Spartan Night\ncolor-scheme: dark\n\nalert-background: <<colour background>>\nalert-border: <<colour very-muted-foreground>>\nalert-highlight: <<colour very-muted-foreground>>\nalert-muted-foreground: <<colour muted-foreground>>\nbackground: #303030\nblockquote-bar: <<colour page-background>>\nbutton-background: transparent\nbutton-foreground: inherit\nbutton-border: <<colour tag-background>>\ncode-background: <<colour pre-background>>\ncode-border: <<colour pre-border>>\ncode-foreground: rgba(255, 255, 255, 0.54)\ndirty-indicator: #c80000\ndownload-background: <<colour primary>>\ndownload-foreground: <<colour foreground>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: #424242\ndropdown-border: <<colour dropdown-background>>\ndropdown-tab-background-selected: <<colour dropdown-background>>\ndropdown-tab-background: #050505\ndropzone-background: <<colour tag-background>>\nexternal-link-background-hover: transparent\nexternal-link-background-visited: transparent\nexternal-link-background: transparent\nexternal-link-foreground-hover: \nexternal-link-foreground-visited: #7c318c\nexternal-link-foreground: #9e3eb3\nfootnote-target-background: #494949\nforeground: rgba(255, 255, 255, 0.7)\nhighlight-background: #ffff78\nhighlight-foreground: #000000\nmessage-background: <<colour background>>\nmessage-border: <<colour very-muted-foreground>>\nmessage-foreground: rgba(255, 255, 255, 0.54)\nmodal-backdrop: <<colour page-background>>\nmodal-background: <<colour background>>\nmodal-border: <<colour very-muted-foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour background>>\nmodal-header-border: <<colour very-muted-foreground>>\nmuted-foreground: rgba(255, 255, 255, 0.54)\nnotification-background: <<colour dropdown-background>>\nnotification-border: <<colour dropdown-background>>\npage-background: #212121\npre-background: #2a2a2a\npre-border: transparent\nprimary: #5656f3\nselect-tag-background: <<colour background>>\nselect-tag-foreground: <<colour foreground>>\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #494949\nsidebar-controls-foreground: #5d5d5d\nsidebar-foreground-shadow: transparent\nsidebar-foreground: rgba(255, 255, 255, 0.54)\nsidebar-muted-foreground-hover: rgba(255, 255, 255, 0.54)\nsidebar-muted-foreground: rgba(255, 255, 255, 0.38)\nsidebar-tab-background-selected: <<colour page-background>>\nsidebar-tab-background: transparent\nsidebar-tab-border-selected: <<colour table-border>>\nsidebar-tab-border: transparent\nsidebar-tab-divider: <<colour table-border>>\nsidebar-tab-foreground-selected: rgba(255, 255, 255, 0.87)\nsidebar-tab-foreground: rgba(255, 255, 255, 0.54)\nsidebar-tiddler-link-foreground-hover: rgba(255, 255, 255, 0.7)\nsidebar-tiddler-link-foreground: rgba(255, 255, 255, 0.54)\nsite-title-foreground: rgba(255, 255, 255, 0.7)\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: transparent\ntab-border-selected: <<colour table-border>>\ntab-border: transparent\ntab-divider: <<colour table-border>>\ntab-foreground-selected: rgba(255, 255, 255, 0.87)\ntab-foreground: rgba(255, 255, 255, 0.54)\ntable-border: #3a3a3a\ntable-footer-background: <<colour tiddler-editor-fields-odd>>\ntable-header-background: <<colour tiddler-editor-fields-even>>\ntag-background: #ec6\ntag-foreground: <<colour button-foreground>>\ntiddler-background: <<colour background>>\ntiddler-border: rgb(55,55,55)\ntiddler-controls-foreground-hover: <<colour sidebar-controls-foreground-hover>>\ntiddler-controls-foreground-selected: <<colour sidebar-controls-foreground-hover>>\ntiddler-controls-foreground: <<colour sidebar-controls-foreground>>\ntiddler-editor-background: transparent\ntiddler-editor-border-image: \ntiddler-editor-border: rgba(255, 255, 255, 0.08)\ntiddler-editor-fields-even: rgba(255, 255, 255, 0.1)\ntiddler-editor-fields-odd: rgba(255, 255, 255, 0.04)\ntiddler-info-background: #454545\ntiddler-info-border: #454545\ntiddler-info-tab-background: <<colour tiddler-editor-fields-odd>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour muted-foreground>>\ntiddler-title-foreground: #FFFFFF\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour very-muted-foreground>>\nvery-muted-foreground: rgba(255, 255, 255, 0.12)\n"
  },
  {
    "path": "core/palettes/Twilight.tid",
    "content": "title: $:/palettes/Twilight\ntags: $:/tags/Palette\nauthor: Thomas Elmiger\ntype: application/x-tiddler-dictionary\nname: Twilight\ndescription: Delightful, soft darkness.\ncolor-scheme: dark\n\nalert-background: rgb(255, 255, 102)\nalert-border: rgb(232, 232, 125)\nalert-highlight: rgb(255, 51, 51)\nalert-muted-foreground: rgb(224, 82, 82)\nbackground: rgb(38, 38, 38)\nblockquote-bar: rgba(240, 196, 117, 0.7)\nbutton-background: rgb(63, 63, 63)\nbutton-border: rgb(127, 127, 127)\nbutton-foreground: rgb(179, 179, 179)\ncode-background: rgba(0,0,0,0.03)\ncode-border: rgba(0,0,0,0.08)\ncode-foreground: rgb(255, 94, 94)\ndiff-delete-background: #ffc9c9\ndiff-delete-foreground: <<colour background>>\ndiff-equal-background: \ndiff-equal-foreground: <<colour foreground>>\ndiff-insert-background: #aaefad\ndiff-insert-foreground: <<colour background>>\ndiff-invisible-background: #fdfcbd\ndiff-invisible-foreground: <<colour background>>\ndirty-indicator: rgb(255, 94, 94)\ndownload-background: #19a974\ndownload-foreground: rgb(38, 38, 38)\ndragger-background: rgb(179, 179, 179)\ndragger-foreground: rgb(38, 38, 38)\ndropdown-background: rgb(38, 38, 38)\ndropdown-border: rgb(255, 255, 255)\ndropdown-tab-background: rgba(0,0,0,.1)\ndropdown-tab-background-selected: rgba(255,255,255,1)\ndropzone-background: #9eebcf\nexternal-link-background: inherit\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-foreground: rgb(179, 179, 255)\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: rgb(153, 153, 255)\nfootnote-target-background: <<colour tag-foreground>>\nforeground: rgb(179, 179, 179)\nhighlight-background: #ffff78\nhighlight-foreground: #000000\nmessage-background: <<colour tag-foreground>>\nmessage-border: #96ccff\nmessage-foreground: <<colour tag-background>>\nmodal-backdrop: rgb(179, 179, 179)\nmodal-background: rgb(38, 38, 38)\nmodal-border: rgba(0,0,0,.5)\nmodal-footer-background: #f4f4f4\nmodal-footer-border: rgba(0,0,0,.1)\nmodal-header-border: rgba(0,0,0,.2)\nmuted-foreground: rgb(255, 255, 255)\nnotification-background: <<colour tag-foreground>>\nnotification-border: <<colour tag-background>>\npage-background: rgb(26, 26, 26)\npre-background: rgb(25, 25, 25)\npre-border: rgba(0,0,0,.2)\nprimary: rgb(255, 201, 102)\nselect-tag-background: \nselect-tag-foreground: \nsidebar-button-foreground: rgb(179, 179, 179)\nsidebar-controls-foreground: rgb(153, 153, 153)\nsidebar-controls-foreground-hover: <<colour tiddler-controls-foreground-hover>>\nsidebar-foreground: rgb(141, 141, 141)\nsidebar-foreground-shadow: transparent\nsidebar-muted-foreground: rgba(0, 0, 0, 0.5)\nsidebar-muted-foreground-hover: rgb(141, 141, 141)\nsidebar-tab-background: rgba(141, 141, 141, 0.2)\nsidebar-tab-background-selected: rgb(26, 26, 26)\nsidebar-tab-border: rgb(127, 127, 127)\nsidebar-tab-border-selected: rgb(127, 127, 127)\nsidebar-tab-divider: rgb(127, 127, 127)\nsidebar-tab-foreground: rgb(179, 179, 179)\nsidebar-tab-foreground-selected: rgb(179, 179, 179)\nsidebar-tiddler-link-foreground: rgb(179, 179, 179)\nsidebar-tiddler-link-foreground-hover: rgb(115, 115, 115)\nsite-title-foreground: rgb(255, 201, 102)\nstatic-alert-foreground: rgba(0,0,0,.3)\ntab-background: rgba(0,0,0,0.125)\ntab-background-selected: rgb(38, 38, 38)\ntab-border: rgb(255, 201, 102)\ntab-border-selected: rgb(255, 201, 102)\ntab-divider: rgb(255, 201, 102)\ntab-foreground: rgb(179, 179, 179)\ntab-foreground-selected: rgb(179, 179, 179)\ntable-border: rgba(255,255,255,.3)\ntable-footer-background: rgba(0,0,0,.4)\ntable-header-background: rgba(0,0,0,.1)\ntag-background: rgb(255, 201, 102)\ntag-foreground: rgb(25, 25, 25)\ntestcase-accent-level-1: rgb(13, 52, 99)\ntiddler-background: rgb(38, 38, 38)\ntiddler-border: rgba(240, 196, 117, 0.7)\ntiddler-controls-foreground: rgb(128, 128, 128)\ntiddler-controls-foreground-hover: rgba(255, 255, 255, 0.8)\ntiddler-controls-foreground-selected: rgba(255, 255, 255, 0.9)\ntiddler-editor-background: rgb(33, 33, 33)\ntiddler-editor-border: rgb(63, 63, 63)\ntiddler-editor-border-image: rgb(25, 25, 25)\ntiddler-editor-fields-even: rgb(33, 33, 33)\ntiddler-editor-fields-odd: rgb(28, 28, 28)\ntiddler-info-background: rgb(43, 43, 43)\ntiddler-info-border: rgb(25, 25, 25)\ntiddler-info-tab-background: rgb(43, 43, 43)\ntiddler-link-background: rgb(38, 38, 38)\ntiddler-link-foreground: rgb(204, 204, 255)\ntiddler-subtitle-foreground: rgb(255, 255, 255)\ntiddler-title-foreground: rgb(255, 192, 76)\ntoolbar-cancel-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-done-button: \ntoolbar-edit-button: \ntoolbar-info-button: \ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \nuntagged-background: rgb(255, 255, 255)\nvery-muted-foreground: rgba(240, 196, 117, 0.7)\n"
  },
  {
    "path": "core/palettes/Vanilla.tid",
    "content": "title: $:/palettes/Vanilla\nname: Vanilla\ndescription: Pale and unobtrusive\ntags: $:/tags/Palette\ntype: application/x-tiddler-dictionary\ncolor-scheme: light\n\nalert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndiff-delete-background: #ffc9c9\ndiff-delete-foreground: <<colour foreground>>\ndiff-equal-background: \ndiff-equal-foreground: <<colour foreground>>\ndiff-insert-background: #aaefad\ndiff-insert-foreground: <<colour foreground>>\ndiff-invisible-background: \ndiff-invisible-foreground: <<colour muted-foreground>>\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #ffffff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nfootnote-target-background: #ecf2ff\nforeground: #333333\nhighlight-background: #ffff00\nhighlight-foreground: #000000\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #bbbbbb\nnetwork-activity-foreground: #448844\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #f4f4f4\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nselection-background:\nselection-foreground:\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #aaaaaa\nsidebar-foreground-shadow: #ffffff\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #f4f4f4\nsidebar-tab-background: #e0e0e0\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: #e4e4e4\nsidebar-tab-foreground-selected:\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #999999\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstability-stable: #00b700\nstability-experimental: #c07c00\nstability-deprecated: #ff0000\nstability-legacy: #0000ff\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #eecc66\ntag-foreground: #ffffff\ntestcase-accent-level-1: #c1eaff\ntestcase-accent-level-2: #E3B740\ntestcase-accent-level-3: #5FD564\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #182955\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\nwikilist-background: #e5e5e5\nwikilist-item: #ffffff\nwikilist-info: #000000\nwikilist-title: #666666\nwikilist-title-svg: <<colour wikilist-title>>\nwikilist-url: #aaaaaa\nwikilist-button-open: #4fb82b\nwikilist-button-open-hover: #009300\nwikilist-button-reveal: #5778d8\nwikilist-button-reveal-hover: #0000ff\nwikilist-button-remove: #d85778\nwikilist-button-remove-hover: #ff0000\nwikilist-toolbar-background: #d3d3d3\nwikilist-toolbar-foreground: #888888\nwikilist-droplink-dragover: #ffc0c0\nwikilist-button-background: #acacac\nwikilist-button-foreground: #000000"
  },
  {
    "path": "core/plugin.info",
    "content": "{\n\t\"title\": \"$:/core\",\n\t\"name\": \"Core\",\n\t\"description\": \"TiddlyWiki5 core\",\n\t\"author\": \"JeremyRuston\",\n\t\"core-version\": \">=5.0.0\",\n\t\"plugin-priority\": \"0\",\n\t\"list\": \"readme\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "core/readme.tid",
    "content": "title: $:/core/readme\n\nThis plugin contains TiddlyWiki's core components, comprising:\n\n* JavaScript code modules\n* Icons\n* Templates needed to create TiddlyWiki's user interface\n* British English (''en-GB'') translations of the localisable strings used by the core\n"
  },
  {
    "path": "core/sjcl-license.tid",
    "content": "title: $:/library/sjcl.js/license\ntype: text/plain\n\nSJCL is open. You can use, modify and redistribute it under a BSD\nlicense or under the GNU GPL, version 2.0.\n\n---------------------------------------------------------------------\n\nhttp://opensource.org/licenses/BSD-2-Clause\n\nCopyright (c) 2009-2015, Emily Stark, Mike Hamburg and Dan Boneh at\nStanford University. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n1. Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n\n2. Redistributions in binary form must reproduce the above copyright\nnotice, this list of conditions and the following disclaimer in the\ndocumentation and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS\nIS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED\nTO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A\nPARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nHOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED\nTO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\nPROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\nLIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\nNEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n---------------------------------------------------------------------\n\nhttp://opensource.org/licenses/GPL-2.0\n\nThe Stanford Javascript Crypto Library (hosted here on GitHub) is a\nproject by the Stanford Computer Security Lab to build a secure,\npowerful, fast, small, easy-to-use, cross-browser library for\ncryptography in Javascript.\n\nCopyright (c) 2009-2015, Emily Stark, Mike Hamburg and Dan Boneh at\nStanford University.\n\nThis program is free software; you can redistribute it and/or modify it\nunder the terms of the GNU General Public License as published by the\nFree Software Foundation; either version 2 of the License, or (at your\noption) any later version.\n\nThis program is distributed in the hope that it will be useful, but\nWITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General\nPublic License for more details.\n\nYou should have received a copy of the GNU General Public License along\nwith this program; if not, write to the Free Software Foundation, Inc.,\n59 Temple Place, Suite 330, Boston, MA 02111-1307 USA"
  },
  {
    "path": "core/stylesheets/custom-properties.tid",
    "content": "title: $:/core/stylesheets/custom-properties\n\n\\rules only transcludeinline macrocallinline html transcludeblock\n\n/* Tiddlywiki's CSS properties */\n\n:root {\n\t<$list filter=\"[[$:/palettes/Vanilla]indexes[]]\">\n\t--tpc-<<currentTiddler>>: <$transclude $variable=\"colour\" $mode=\"inline\" name=<<currentTiddler>>/>;\n\t</$list>\n\n\t/* CSS settings */\n\t--tp-code-wrapping: {{$:/themes/tiddlywiki/vanilla/options/codewrapping}};\n\t--tp-font-family: {{$:/themes/tiddlywiki/vanilla/settings/fontfamily}};\n\t--tp-code-font-family: {{$:/themes/tiddlywiki/vanilla/settings/codefontfamily}};\n\t--tp-editor-font-family: {{$:/themes/tiddlywiki/vanilla/settings/editorfontfamily}};\n\t--tp-font-size: {{$:/themes/tiddlywiki/vanilla/metrics/fontsize}};\n\t--tp-line-height: {{$:/themes/tiddlywiki/vanilla/metrics/lineheight}};\n\t--tp-body-font-size: {{$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize}};\n\t--tp-body-line-height: {{$:/themes/tiddlywiki/vanilla/metrics/bodylineheight}};\n\t--tp-story-left: {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}};\n\t--tp-story-top: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\t--tp-story-right: {{$:/themes/tiddlywiki/vanilla/metrics/storyright}};\n\t--tp-story-width: {{$:/themes/tiddlywiki/vanilla/metrics/storyrwidth}};\n\t--tp-tiddler-width: {{$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth}};\n\t--tp-sidebar-breakpoint: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}};\n\t--tp-sidebar-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth}};\n\n\t--tp-animation-duration: {{{ [{$:/config/AnimationDuration}addsuffix[ms]] }}};\n}"
  },
  {
    "path": "core/templates/MOTW.html.tid",
    "content": "title: $:/core/templates/MOTW.html\n\n\\rules only filteredtranscludeinline transcludeinline entity\n<!-- The following comment is called a MOTW comment and is necessary for the TiddlyIE Internet Explorer extension -->\n<!-- saved from url=(0021)https://tiddlywiki.com -->&#13;&#10;"
  },
  {
    "path": "core/templates/alltiddlers.template.html.tid",
    "content": "title: $:/core/templates/alltiddlers.template.html\ntype: text/vnd.tiddlywiki-html\n\n<!-- This template is provided for backwards compatibility with older versions of TiddlyWiki -->\n\n<$set name=\"exportFilter\" value=\"[!is[system]sort[title]]\">\n\n{{$:/core/templates/exporters/StaticRiver}}\n\n</$set>\n"
  },
  {
    "path": "core/templates/canonical-uri-external-image.tid",
    "content": "title: $:/core/templates/canonical-uri-external-image\n\n<!--\n\nThis template is used to assign the ''_canonical_uri'' field to external images.\n\nChange the `./images/` part to a different base URI. The URI can be relative or absolute.\n\n-->\n./images/<$view field=\"title\" format=\"doubleurlencoded\"/>"
  },
  {
    "path": "core/templates/canonical-uri-external-raw.tid",
    "content": "title: $:/core/templates/canonical-uri-external-raw\n\n<!--\n\nThis template is used to assign the ''_canonical_uri'' field to external raw files that are stored in the same directory\n\n-->\n<$view field=\"title\" format=\"doubleurlencoded\"/>"
  },
  {
    "path": "core/templates/canonical-uri-external-text.tid",
    "content": "title: $:/core/templates/canonical-uri-external-text\n\n<!--\n\nThis template is used to assign the ''_canonical_uri'' field to external text files.\n\nChange the `./text/` part to a different base URI. The URI can be relative or absolute.\n\n-->\n./text/<$view field=\"title\" format=\"doubleurlencoded\"/>.tid"
  },
  {
    "path": "core/templates/css-tiddler.tid",
    "content": "title: $:/core/templates/css-tiddler\n\n<!--\n\nThis template is used for saving CSS tiddlers as a style tag with data attributes representing the tiddler fields.\n\n-->`<style`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/css\">`<$view field=\"text\" format=\"text\" />`</style>`"
  },
  {
    "path": "core/templates/exporters/CsvFile.tid",
    "content": "title: $:/core/templates/exporters/CsvFile\ntags: $:/tags/Exporter\ndescription: {{$:/language/Exporters/CsvFile}}\nextension: .csv\nfile-type: text/csv\n\n<$macrocall $name=\"csvtiddlers\" filter=<<exportFilter>> format=\"quoted-comma-sep\" $output=\"text/raw\"/>\n"
  },
  {
    "path": "core/templates/exporters/JsonFile.tid",
    "content": "title: $:/core/templates/exporters/JsonFile\ntags: $:/tags/Exporter\ndescription: {{$:/language/Exporters/JsonFile}}\nextension: .json\nfile-type: application/json\n\n<$macrocall $name=\"jsontiddlers\" filter=<<exportFilter>> $output=\"text/raw\"/>\n"
  },
  {
    "path": "core/templates/exporters/StaticRiver.tid",
    "content": "title: $:/core/templates/exporters/StaticRiver\ntags: $:/tags/Exporter\ndescription: {{$:/language/Exporters/StaticRiver}}\nextension: .html\n\n\\define tv-config-static() yes\n\\define tv-wikilink-template() #$uri_encoded$\n\\define tv-config-toolbar-icons() no\n\\define tv-config-toolbar-text() no\n\\define tv-config-toolbar-class() tc-btn-invisible\n\\rules only filteredtranscludeinline transcludeinline\n<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"{{$:/core/templates/version}}\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>{{$:/core/wiki/title}}</title>\n<div id=\"styleArea\">\n{{$:/boot/boot.css||$:/core/templates/css-tiddler}}\n</div>\n<style type=\"text/css\">\n{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}\n</style>\n</head>\n<body class=\"tc-body\">\n{{$:/StaticBanner||$:/core/templates/html-tiddler}}\n<section class=\"tc-story-river tc-static-story-river\">\n{{$:/core/templates/exporters/StaticRiver/Content||$:/core/templates/html-tiddler}}\n</section>\n</body>\n</html>\n"
  },
  {
    "path": "core/templates/exporters/StaticRiverContent.tid",
    "content": "title: $:/core/templates/exporters/StaticRiver/Content\n\n\\define renderContent()\n{{{ $(exportFilter)$ ||$:/core/templates/static-tiddler}}}\n\\end\n\\import [subfilter{$:/core/config/GlobalImportFilter}]\n<<renderContent>>\n"
  },
  {
    "path": "core/templates/exporters/TidFile.tid",
    "content": "title: $:/core/templates/exporters/TidFile\ntags: $:/tags/Exporter\ndescription: {{$:/language/Exporters/TidFile}}\nextension: .tid\nfile-type: text/vnd.tiddlywiki\ncondition: [<count>compare:lte[1]]\n\n\\define renderContent()\n{{{ $(exportFilter)$ +[limit[1]] ||$:/core/templates/tid-tiddler}}}\n\\end\n\\import [subfilter{$:/core/config/GlobalImportFilter}]\n<<renderContent>>"
  },
  {
    "path": "core/templates/external-js/save-all-external-js.tid",
    "content": "title: $:/core/save/all-external-js\n\n\\whitespace trim\n\\import [subfilter{$:/core/config/GlobalImportFilter}]\n\\define saveTiddlerFilter()\n[is[tiddler]] -[prefix[$:/state/popup/]] -[prefix[$:/temp/]] -[prefix[$:/HistoryList]] -[status[pending]plugin-type[import]] -[[$:/core]] -[[$:/boot/boot.css]] -[is[system]type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] -[has[plugin-type]field:platform[server]] +[sort[title]] $(publishFilter)$\n\\end\n\n<!-- Important: core library is provided by serving URI encoded $:/core/templates/tiddlywiki5.js -->\n\\define defaultCoreURL() %24%3A%2Fcore%2Ftemplates%2Ftiddlywiki5.js\n\n<$let coreURL={{{ [[coreURL]is[variable]then<coreURL>else<defaultCoreURL>] }}}>\n\t{{$:/core/templates/tiddlywiki5-external-js.html}}\n</$let>\n"
  },
  {
    "path": "core/templates/external-js/save-offline-external-js.tid",
    "content": "title: $:/core/save/offline-external-js\n\n\\whitespace trim\n\\import [subfilter{$:/core/config/GlobalImportFilter}]\n\\define saveTiddlerFilter()\n[is[tiddler]] -[prefix[$:/state/popup/]] -[prefix[$:/temp/]] -[prefix[$:/HistoryList]] -[status[pending]plugin-type[import]] -[[$:/core]] -[[$:/plugins/tiddlywiki/filesystem]] -[[$:/plugins/tiddlywiki/tiddlyweb]] -[[$:/boot/boot.css]] -[is[system]type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] -[has[plugin-type]field:platform[server]] +[sort[title]] $(publishFilter)$\n\\end\n\\define defaultCoreURL() tiddlywikicore-$(version)$.js\n<$let coreURL={{{ [[coreURL]is[variable]then<coreURL>else<defaultCoreURL>] }}}>\n\t{{$:/core/templates/tiddlywiki5-external-js.html}}\n</$let>\n"
  },
  {
    "path": "core/templates/external-js/tiddlywiki.js.load.tid",
    "content": "title: $:/core/templates/tiddlywiki.js/load-tiddler\n\n_load(window,<$macrocall $name=\"jsontiddler\" $output=\"text/raw\"/>);"
  },
  {
    "path": "core/templates/external-js/tiddlywiki.js.tid",
    "content": "\ntitle: $:/core/templates/tiddlywiki5.js\n\n\\rules only filteredtranscludeinline transcludeinline codeinline\n\n`/*\n`{{ $:/core/copyright.txt ||$:/core/templates/plain-text-tiddler}}`\n*/\n\n$tw = (typeof $tw === 'undefined') ? Object.create(null) : $tw;\n\n$tw.preloadTiddlers = $tw.preloadTiddlers || [];\n\n_load = function(window,tiddler) {\n\t\"use strict\";\n\tvar f;\n\t$tw.preloadTiddlers.push(tiddler);\n\tif(tiddler.library === \"yes\") {\n\t\tvar module = { exports:{} };\n\t\tvar moduleName = function moduleName(path) {\n\t\t\tvar word = path.split(\"/\").pop();\n\t\t\tword = word.substring(0,word.indexOf(\".\")) || word;\n\t\t\treturn word;\n\t\t}\n\t\tf = new Function(\"module\",tiddler.text);\n\t\tf(module);\n\t\twindow[moduleName(tiddler.title)] = module.exports;\n\t} else {\n\t\tf = new Function(\"window\",tiddler.text);\n\t\tf(window);\n\t}\n}\n\n/* ~~ Library modules ~~ */\n\n`{{{ [is[system]type[application/javascript]library[yes]] ||$:/core/templates/tiddlywiki.js/load-tiddler}}}`\n\n/* ~~ Boot kernel prologue ~~ */\n\n`{{ $:/boot/bootprefix.js ||$:/core/templates/tiddlywiki.js/load-tiddler}}`\n\n/* ~~ Core tiddlers ~~ */\n\n`{{$:/core/templates/tiddlywiki5.js/tiddlers}}`\n\n/* ~~ Boot kernel ~~ */\n\n`{{ $:/boot/boot.js ||$:/core/templates/tiddlywiki.js/load-tiddler}}`\n"
  },
  {
    "path": "core/templates/external-js/tiddlywiki.js.tiddlers.tid",
    "content": "title: $:/core/templates/tiddlywiki5.js/tiddlers\n\n`\n$tw.preloadTiddlerArray(`<$text text=<<jsontiddlers \"[[$:/core]]\">>/>`);\n$tw.preloadTiddlerArray([{\n\ttitle: \"$:/config/SaveWikiButton/Template\",\n\ttext: \"$:/core/save/offline-external-js\"\n}]);\n`\n"
  },
  {
    "path": "core/templates/external-js/tiddlywiki5-external-js.html.tid",
    "content": "title: $:/core/templates/tiddlywiki5-external-js.html\n\n<$set name=\"saveTiddlerAndShadowsFilter\" filter=\"[subfilter<saveTiddlerFilter>] [subfilter<saveTiddlerFilter>plugintiddlers[]]\">\n<$set name=\"rawMarkupFilter\" filter=\"[enlist<saveTiddlerAndShadowsFilter>] [[$:/core]plugintiddlers[]]\">\n`<!doctype html>\n`{{$:/core/templates/MOTW.html}}`<html lang=\"`<$text text={{{ [{$:/language}get[name]] }}}/>`\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<!--~~ Raw markup for the top of the head section ~~-->\n`{{{ [enlist<rawMarkupFilter>tag[$:/tags/RawMarkupWikified/TopHead]] ||$:/core/templates/raw-static-tiddler}}}`\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=Edge\"/>\n<meta name=\"application-name\" content=\"TiddlyWiki\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"`{{$:/core/templates/version}}`\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\" />\n<meta name=\"copyright\" content=\"`{{$:/core/copyright.txt}}`\" />\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>`{{$:/core/wiki/title}}`</title>\n<!--~~ This is a Tiddlywiki file. The points of interest in the file are marked with this pattern ~~-->\n\n<!--~~ Raw markup ~~-->\n`{{{ [enlist<rawMarkupFilter>tag[$:/core/wiki/rawmarkup]] ||$:/core/templates/plain-text-tiddler}}}`\n`{{{ [enlist<rawMarkupFilter>tag[$:/tags/RawMarkup]] ||$:/core/templates/plain-text-tiddler}}}`\n`{{{ [enlist<rawMarkupFilter>tag[$:/tags/RawMarkupWikified]] ||$:/core/templates/raw-static-tiddler}}}`\n</head>\n<body class=\"tc-body\">\n<!--~~ Raw markup for the top of the body section ~~-->\n`{{{ [enlist<rawMarkupFilter>tag[$:/tags/RawMarkupWikified/TopBody]] ||$:/core/templates/raw-static-tiddler}}}`\n<!--~~ Static styles ~~-->\n<div id=\"styleArea\">\n`{{$:/boot/boot.css||$:/core/templates/css-tiddler}}`\n</div>\n<!--~~ Static content for Google and browsers without JavaScript ~~-->\n<noscript>\n<div id=\"splashArea\">\n`{{$:/core/templates/static.area}}`\n</div>\n</noscript>\n<!--~~ Ordinary tiddlers ~~-->\n`{{$:/core/templates/store.area.template.html}}`\n<!--~~ Raw markup for the bottom of the body section ~~-->\n`{{{ [enlist<rawMarkupFilter>tag[$:/tags/RawMarkupWikified/BottomBody]] ||$:/core/templates/raw-static-tiddler}}}`\n<!--~~ Load external JavaScripts ~~-->\n<script src=\"`{{{ [<coreURL>] }}}`\" onerror=\"alert('Error: Cannot load `{{{ [<coreURL>] }}}`');\"></script>\n</body>\n</html>`\n</$set>\n</$set>"
  },
  {
    "path": "core/templates/html-div-skinny-tiddler.tid",
    "content": "title: $:/core/templates/html-div-skinny-tiddler\n\n<!--\n\nThis template is a variant of $:/core/templates/html-div-tiddler used for saving skinny tiddlers (with no text field)\n\n-->`<div`<$fields template=' $name$=\"$encoded_value$\"'></$fields>`>\n<pre></pre>\n</div>`\n"
  },
  {
    "path": "core/templates/html-div-tiddler.tid",
    "content": "title: $:/core/templates/html-div-tiddler\n\n<!--\n\nThis template is used for saving tiddlers as an HTML DIV tag with attributes representing the tiddler fields.\n\n-->`<div`<$fields template=' $name$=\"$encoded_value$\"'></$fields>`>\n<pre>`<$view field=\"text\" format=\"htmltextencoded\" />`</pre>\n</div>`\n"
  },
  {
    "path": "core/templates/html-json-skinny-tiddler.tid",
    "content": "title: $:/core/templates/html-json-skinny-tiddler\n\n<$text text=<<join>>/><$jsontiddler tiddler=<<currentTiddler>> exclude=\"text\" escapeUnsafeScriptChars=\"yes\"/>\n"
  },
  {
    "path": "core/templates/html-json-tiddler.tid",
    "content": "title: $:/core/templates/html-json-tiddler\n\n<$jsontiddler tiddler=<<currentTiddler>> escapeUnsafeScriptChars=\"yes\"/>"
  },
  {
    "path": "core/templates/html-tiddler.tid",
    "content": "title: $:/core/templates/html-tiddler\n\n<!--\n\nThis template is used for saving tiddlers as raw HTML\n\n--><$view field=\"text\" format=\"htmlwikified\" />"
  },
  {
    "path": "core/templates/javascript-tiddler.tid",
    "content": "title: $:/core/templates/javascript-tiddler\n\n<!--\n\nThis template is used for saving JavaScript tiddlers as a script tag with data attributes representing the tiddler fields.\n\n-->`<script`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/javascript\">`<$view field=\"text\" format=\"text\" />`</script>`"
  },
  {
    "path": "core/templates/json-tiddler.tid",
    "content": "title: $:/core/templates/json-tiddler\n\n<!--\n\nThis template is used for saving tiddlers as raw JSON\n\n--><$text text=<<jsontiddler>>/>"
  },
  {
    "path": "core/templates/module-tiddler.tid",
    "content": "title: $:/core/templates/module-tiddler\n\n<!--\n\nThis template is used for saving JavaScript tiddlers as a script tag with data attributes representing the tiddler fields. The body of the tiddler is wrapped in a call to the `$tw.modules.define` function in order to define the body of the tiddler as a module\n\n-->`<script`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/javascript\" data-module=\"yes\">$tw.modules.define(\"`<$view field=\"title\" format=\"jsencoded\" />`\",\"`<$view field=\"module-type\" format=\"jsencoded\" />`\",function(module,exports,require) {`<$view field=\"text\" format=\"text\" />`});\n</script>`"
  },
  {
    "path": "core/templates/plain-text-tiddler.tid",
    "content": "title: $:/core/templates/plain-text-tiddler\n\n<$view field=\"text\" format=\"text\" />"
  },
  {
    "path": "core/templates/raw-static-tiddler.tid",
    "content": "title: $:/core/templates/raw-static-tiddler\n\n<!--\n\nThis template is used for saving tiddlers as static HTML\n\n--><$view field=\"text\" format=\"plainwikified\" />"
  },
  {
    "path": "core/templates/save-all.tid",
    "content": "title: $:/core/save/all\n\n\\import [subfilter{$:/core/config/GlobalImportFilter}]\n\\define saveTiddlerFilter()\n[is[tiddler]] -[prefix[$:/state/popup/]] -[prefix[$:/temp/]] -[prefix[$:/HistoryList]] -[status[pending]plugin-type[import]] -[[$:/boot/boot.css]] -[is[system]type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] -[has[plugin-type]field:platform[server]] +[sort[title]] $(publishFilter)$\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
  },
  {
    "path": "core/templates/save-empty.tid",
    "content": "title: $:/core/save/empty\n\n\\define saveTiddlerFilter()\n[is[system]] -[prefix[$:/state/popup/]] -[[$:/boot/boot.css]] -[is[system]type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] -[has[plugin-type]field:platform[server]] +[sort[title]]\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
  },
  {
    "path": "core/templates/save-lazy-all.tid",
    "content": "title: $:/core/save/lazy-all\n\n\\define saveTiddlerFilter()\n[is[system]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[is[system]type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] -[has[plugin-type]field:platform[server]] [is[tiddler]type[application/javascript]] +[sort[title]]\n\\end\n\\define skinnySaveTiddlerFilter()\n[!is[system]] -[type[application/javascript]]\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
  },
  {
    "path": "core/templates/save-lazy-images.tid",
    "content": "title: $:/core/save/lazy-images\n\n\\define saveTiddlerFilter()\n[is[tiddler]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[is[system]type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] -[has[plugin-type]field:platform[server]] -[!is[system]is[image]] +[sort[title]] \n\\end\n\\define skinnySaveTiddlerFilter()\n[!is[system]is[image]]\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
  },
  {
    "path": "core/templates/server/static.sidebar.wikitext.tid",
    "content": "title: $:/core/templates/server/static.sidebar.wikitext\n\n\\whitespace trim\n<div class=\"tc-sidebar-scrollable\" style=\"overflow: auto;\" role=\"region\" aria-label={{$:/language/SideBar/Caption}}>\n<div class=\"tc-sidebar-header\">\n<h1 class=\"tc-site-title\">\n<$transclude tiddler=\"$:/SiteTitle\"/>\n</h1>\n<div class=\"tc-site-subtitle\">\n<$transclude tiddler=\"$:/SiteSubtitle\"/>\n</div>\n<h2>\n</h2>\n<div class=\"tc-sidebar-lists\">\n<$list filter={{$:/DefaultTiddlers}}>\n<div class=\"tc-menu-list-subitem\">\n<$link><$text text=<<currentTiddler>>/></$link>\n</div>\n</$list>\n</div>\n<!-- Currently disabled the recent list as it is unweildy when the responsive narrow view kicks in\n<h2>\n{{$:/language/SideBar/Recent/Caption}}\n</h2>\n<div class=\"tc-sidebar-lists\">\n<$macrocall $name=\"timeline\" format={{$:/language/RecentChanges/DateFormat}}/>\n</div>\n</div>\n</div>\n-->\n"
  },
  {
    "path": "core/templates/server/static.tiddler.html.tid",
    "content": "title: $:/core/templates/server/static.tiddler.html\n\n\\whitespace trim\n\\define tv-config-static() yes\n\\define tv-wikilink-template() $uri_encoded$\n\\import [subfilter{$:/core/config/GlobalImportFilter}]\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content={{$:/core/templates/version}} />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<link rel=\"stylesheet\" href=\"%24%3A%2Fcore%2Ftemplates%2Fstatic.template.css\">\n<title><$view field=\"caption\" format=\"plainwikified\"><$view field=\"title\"/></$view>: <$view tiddler=\"$:/core/wiki/title\" format=\"plainwikified\"/></title>\n</head>\n<body class=\"tc-body\">\n<$transclude tiddler=\"$:/core/templates/server/static.sidebar.wikitext\" mode=\"inline\"/>\n<section class=\"tc-story-river\" role=\"main\">\n<div class=\"tc-tiddler-frame\" role=\"article\">\n<$transclude tiddler=\"$:/core/templates/server/static.tiddler.wikitext\" mode=\"inline\"/>\n</div>\n</section>\n</body>\n</html>"
  },
  {
    "path": "core/templates/server/static.tiddler.wikitext.tid",
    "content": "title: $:/core/templates/server/static.tiddler.wikitext\n\n\\whitespace trim\n<div class=\"tc-tiddler-title tc-clearfix\">\n<div class=\"tc-titlebar\">\n<h2><$text text=<<currentTiddler>>/></h2>\n</div>\n</div>\n<div class=\"tc-subtitle tc-clearfix\">\n<$link to={{!!modifier}}>\n<$view field=\"modifier\"/>\n</$link> <$view field=\"modified\" format=\"date\" template={{$:/language/Tiddler/DateFormat}}/>\n</div>\n<div class=\"tc-tags-wrapper\" tc-clearfix>\n<$list filter=\"[all[current]tags[]sort[title]]\">\n<a href={{{ [<currentTiddler>encodeuricomponent[]] }}}>\n<$macrocall $name=\"tag-pill\" tag=<<currentTiddler>>/>\n</a>\n</$list>\n</div>\n<div class=\"tc-tiddler-body tc-clearfix\">\n<$transclude mode=\"block\"/>\n</div>\n"
  },
  {
    "path": "core/templates/single.tiddler.window.tid",
    "content": "title: $:/core/templates/single.tiddler.window\n\n\\whitespace trim\n\\define containerClasses()\ntc-page-container tc-page-view-$(storyviewTitle)$ tc-language-$(languageTitle)$\n\\end\n\\import [subfilter{$:/core/config/GlobalImportFilter}]\n\n<$vars\n\ttv-config-toolbar-icons={{$:/config/Toolbar/Icons}}\n\ttv-config-toolbar-text={{$:/config/Toolbar/Text}}\n\ttv-config-toolbar-class={{$:/config/Toolbar/ButtonClass}}\n\ttv-show-missing-links={{$:/config/MissingLinks}}\n\tstoryviewTitle={{$:/view}}\n\tlanguageTitle={{{ [{$:/language}get[name]] }}}>\n\n<div class=<<containerClasses>>>\n\n<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\">\n\n<$transclude tiddler=\"$:/core/ui/ViewTemplate/body\" mode=\"block\"/>\n\n</$navigator>\n\n</div>\n\n</$vars>\n"
  },
  {
    "path": "core/templates/social-metadata.tid",
    "content": "title: $:/core/templates/social-metadata\ntags: $:/tags/RawMarkupWikified\n\n\\procedure meta-plain(name,source,name-attribute:\"name\")\n\\whitespace trim\n<%if [<source>has[text]] %>\n\t&lt;meta&#32;<$text text=<<name-attribute>>/>=\"<$text text=<<name>>/>\" content=\"<$text text={{{ [<source>get[text]encodehtml[]] }}}/>\"&gt;\n\t<$text text={{{ [charcode[10]] }}}/>\n<%endif%>\n\\end meta-plain\n\n\\procedure meta-wikified(name,source,name-attribute:\"name\")\n\\whitespace trim\n<%if [<source>has[text]] %>\n\t<$wikify name=\"html\" text={{{ [<source>get[text]] }}} output=\"text\">\n\t\t&lt;meta&#32;<$text text=<<name-attribute>>/>=\"<$text text=<<name>>/>\" content=\"<$text text={{{ [<html>encodehtml[]] }}}/>\"&gt;\n\t\t<$text text={{{ [charcode[10]] }}}/>\n\t</$wikify>\n<%endif%>\n\\end meta-wikified\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock conditional commentinline commentblock\n<<meta-wikified \"description\" \"$:/SiteSubtitle\">>\n\n<!-- Facebook Meta Tags -->\n<<meta-plain \"og:url\" \"$:/SiteUrl\" \"property\">>\n<<meta-plain \"og:type\" \"website\" \"property\">>\n<<meta-wikified \"og:title\" \"$:/SiteTitle\" \"property\">>\n<<meta-wikified \"og:description\" \"$:/SiteSubtitle\" \"property\">>\n<<meta-plain \"og:image\" \"$:/SitePreviewUrl\" \"property\">>\n\n<!-- Twitter Meta Tags -->\n<<meta-plain \"twitter:card\" \"summary_large_image\">>\n<<meta-plain \"twitter:domain\" \"$:/SiteDomain\" \"property\">>\n<<meta-plain \"twitter:url\" \"$:/SiteUrl\" \"property\">>\n<<meta-wikified \"twitter:title\" \"$:/SiteTitle\">>\n<<meta-wikified \"twitter:description\" \"$:/SiteSubtitle\">>\n<<meta-plain \"twitter:image\" \"$:/SitePreviewUrl\">>\n"
  },
  {
    "path": "core/templates/split-recipe.tid",
    "content": "title: $:/core/templates/split-recipe\n\n<$list filter=\"[!is[system]]\">\ntiddler: <$view field=\"title\" format=\"urlencoded\"/>.tid\n</$list>\n"
  },
  {
    "path": "core/templates/static-tiddler.tid",
    "content": "title: $:/core/templates/static-tiddler\n\n<a name=<<currentTiddler>>>\n<$transclude tiddler=\"$:/core/ui/ViewTemplate\"/>\n</a>"
  },
  {
    "path": "core/templates/static.area.tid",
    "content": "title: $:/core/templates/static.area\n\n<$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\n{{{ [all[shadows+tiddlers]tag[$:/tags/RawStaticContent]!has[draft.of]] ||$:/core/templates/raw-static-tiddler}}}\n{{$:/core/templates/static.content||$:/core/templates/html-tiddler}}\n</$reveal>\n<$reveal type=\"match\" state=\"$:/isEncrypted\" text=\"yes\">\nThis file contains an encrypted ~TiddlyWiki. Enable ~JavaScript and enter the decryption password when prompted.\n</$reveal>\n<!-- ensure splash screen isn't shown when JS is disabled -->\n`<style>\n.tc-remove-when-wiki-loaded {display: none;}\n</style>`\n"
  },
  {
    "path": "core/templates/static.content.tid",
    "content": "title: $:/core/templates/static.content\n\n<!-- For Google, and people without JavaScript-->\nThis [[TiddlyWiki|https://tiddlywiki.com]] contains the following tiddlers:\n\n<ul>\n<$list filter=<<saveTiddlerFilter>>>\n<li><$view field=\"title\" format=\"text\"></$view></li>\n</$list>\n</ul>\n"
  },
  {
    "path": "core/templates/static.template.css.tid",
    "content": "title: $:/core/templates/static.template.css\n\n{{$:/boot/boot.css||$:/core/templates/plain-text-tiddler}}\n\n{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}\n"
  },
  {
    "path": "core/templates/static.template.html.tid",
    "content": "title: $:/core/templates/static.template.html\ntype: text/vnd.tiddlywiki-html\n\n\\define tv-config-static() yes\n\\define tv-wikilink-template() static/$uri_doubleencoded$.html\n\\define tv-config-toolbar-icons() no\n\\define tv-config-toolbar-text() no\n\\define tv-config-toolbar-class() tc-btn-invisible\n\\rules only filteredtranscludeinline transcludeinline\n<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"{{$:/core/templates/version}}\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>{{$:/core/wiki/title}}</title>\n<div id=\"styleArea\">\n{{$:/boot/boot.css||$:/core/templates/css-tiddler}}\n</div>\n<style type=\"text/css\">\n{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}\n</style>\n</head>\n<body class=\"tc-body\">\n{{$:/StaticBanner||$:/core/templates/html-tiddler}}\n{{$:/core/ui/PageTemplate||$:/core/templates/html-tiddler}}\n</body>\n</html>\n"
  },
  {
    "path": "core/templates/static.tiddler.html.tid",
    "content": "title: $:/core/templates/static.tiddler.html\n\n\\define tv-wikilink-template() $uri_doubleencoded$.html\n\\define tv-config-static() yes\n\\define tv-config-toolbar-icons() no\n\\define tv-config-toolbar-text() no\n\\define tv-config-toolbar-class() tc-btn-invisible\n\\import [subfilter{$:/core/config/GlobalImportFilter}]\n`<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"`{{$:/core/templates/version}}`\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<link rel=\"stylesheet\" href=\"static.css\">\n<title>`<$view field=\"caption\"><$view field=\"title\"/></$view>: {{$:/core/wiki/title}}`</title>\n</head>\n<body class=\"tc-body\">\n`{{$:/StaticBanner||$:/core/templates/html-tiddler}}`\n<section class=\"tc-story-river tc-static-story-river\">\n`<$view tiddler=\"$:/core/ui/ViewTemplate\" format=\"htmlwikified\"/>`\n</section>\n</body>\n</html>\n`\n"
  },
  {
    "path": "core/templates/store.area.template.html.tid",
    "content": "title: $:/core/templates/store.area.template.html\n\n\\whitespace trim\n<!-- Unencrypted -->\n<$list filter=\"[[$:/isEncrypted]get[text]else[no]match[no]]\">\n    <$list filter=\"[[storeAreaFormat]is[variable]getvariable[]else[json]match[json]]\">\n        <!-- New-style JSON store area, with an old-style store area for compatibility with v5.1.x tooling -->\n        `<script class=\"tiddlywiki-tiddler-store\" type=\"application/json\">[`\n            <$let newline={{{ [charcode[10]] }}} join=`,$(newline)$`>\n                <$text text=<<newline>>/>\n                <$list filter=<<saveTiddlerFilter>> join=<<join>> template=\"$:/core/templates/html-json-tiddler\"/>\n                <$list filter=\"[subfilter<skinnySaveTiddlerFilter>]\"  template=\"$:/core/templates/html-json-skinny-tiddler\"/>\n                <$text text=<<newline>>/>\n            </$let>\n        `]</script>`\n        `<div id=\"storeArea\" style=\"display:none;\">`\n        `</div>`\n    </$list>\n    <$list filter=\"[[storeAreaFormat]is[variable]getvariable[]else[json]match[div]]\">\n        <!-- Old-style DIV/PRE-based store area -->\n        <$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\n            `<div id=\"storeArea\" style=\"display:none;\">`\n                <$list filter={{{ [<saveTiddlerFilter>] }}} template=\"$:/core/templates/html-div-tiddler\"/>\n                <$list filter=\"[subfilter<skinnySaveTiddlerFilter>]\" template=\"$:/core/templates/html-div-skinny-tiddler\"/>\n            `</div>`\n        </$reveal>\n    </$list>\n</$list>\n<!-- Encrypted -->\n<$list filter=\"[[$:/isEncrypted]get[text]else[no]match[yes]]\">\n    `<!--~~ Encrypted tiddlers ~~-->`\n    `<pre id=\"encryptedStoreArea\" type=\"text/plain\" style=\"display:none;\">`\n        <$encrypt filter=<<saveTiddlerFilter>>/>\n    `</pre>`\n</$list>"
  },
  {
    "path": "core/templates/tid-tiddler.tid",
    "content": "title: $:/core/templates/tid-tiddler\n\n<!--\n\nThis template is used for saving tiddlers in TiddlyWeb *.tid format\n\n--><$fields exclude='text bag' template='$name$: $value$\n'></$fields>`\n`<$view field=\"text\" format=\"text\" />"
  },
  {
    "path": "core/templates/tiddler-metadata.tid",
    "content": "title: $:/core/templates/tiddler-metadata\n\n<!--\n\nThis template is used for saving tiddler metadata *.meta files\n\n--><$fields exclude='text bag' template='$name$: $value$\n'></$fields>"
  },
  {
    "path": "core/templates/tiddlywiki5.html.tid",
    "content": "title: $:/core/templates/tiddlywiki5.html\n\n<$set name=\"saveTiddlerAndShadowsFilter\" filter=\"[subfilter<saveTiddlerFilter>] [subfilter<saveTiddlerFilter>plugintiddlers[]]\">\n`<!doctype html>\n`{{$:/core/templates/MOTW.html}}`<html lang=\"`<$text text={{{ [{$:/language}get[name]] }}}/>`\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<!--~~ Raw markup for the top of the head section ~~-->\n`{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified/TopHead]] ||$:/core/templates/raw-static-tiddler}}}`\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=Edge\"/>\n<meta name=\"application-name\" content=\"TiddlyWiki\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"`{{$:/core/templates/version}}`\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\" />\n<meta name=\"copyright\" content=\"`{{$:/core/copyright.txt}}`\" />\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>`{{$:/core/wiki/title}}`</title>\n<!--~~ This is a Tiddlywiki file. The points of interest in the file are marked with this pattern ~~-->\n\n<!--~~ Raw markup ~~-->\n`{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/core/wiki/rawmarkup]] ||$:/core/templates/plain-text-tiddler}}}\n{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkup]] ||$:/core/templates/plain-text-tiddler}}}\n{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified]] ||$:/core/templates/raw-static-tiddler}}}`\n</head>\n<body class=\"tc-body\">\n<!--~~ Raw markup for the top of the body section ~~-->\n`{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified/TopBody]] ||$:/core/templates/raw-static-tiddler}}}`\n<!--~~ Static styles ~~-->\n<div id=\"styleArea\">\n`{{$:/boot/boot.css||$:/core/templates/css-tiddler}}`\n</div>\n<!--~~ Static content for Google and browsers without JavaScript ~~-->\n<noscript>\n<div id=\"splashArea\">\n`{{$:/core/templates/static.area}}`\n</div>\n</noscript>\n<!--~~ Ordinary tiddlers ~~-->\n`{{$:/core/templates/store.area.template.html}}`\n<!--~~ Library modules ~~-->\n<div id=\"libraryModules\" style=\"display:none;\">\n`{{{ [is[system]type[application/javascript]library[yes]] ||$:/core/templates/javascript-tiddler}}}`\n</div>\n<!--~~ Boot kernel prologue ~~-->\n<div id=\"bootKernelPrefix\" style=\"display:none;\">\n`{{ $:/boot/bootprefix.js ||$:/core/templates/javascript-tiddler}}`\n</div>\n<!--~~ Boot kernel ~~-->\n<div id=\"bootKernel\" style=\"display:none;\">\n`{{ $:/boot/boot.js ||$:/core/templates/javascript-tiddler}}`\n</div>\n<!--~~ Raw markup for the bottom of the body section ~~-->\n`{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified/BottomBody]] ||$:/core/templates/raw-static-tiddler}}}`\n</body>\n</html>`\n</$set>\n"
  },
  {
    "path": "core/templates/version.tid",
    "content": "title: $:/core/templates/version\n\n<<version>>"
  },
  {
    "path": "core/templates/wikified-tiddler.tid",
    "content": "title: $:/core/templates/wikified-tiddler\n\n<$transclude />"
  },
  {
    "path": "core/ui/AboveStory/tw2-plugin-check.tid",
    "content": "title: $:/core/ui/AboveStory/tw2-plugin-check\ntags: $:/tags/AboveStory\n\n\\define lingo-base() $:/language/AboveStory/ClassicPlugin/\n<$list filter=\"[all[system+tiddlers]tag[systemConfig]limit[1]]\">\n\n<div class=\"tc-message-box\">\n\n<<lingo Warning>>\n\n<ul>\n\n<$list filter=\"[all[system+tiddlers]tag[systemConfig]]\">\n\n<li>\n\n<$link><$view field=\"title\"/></$link>\n\n</li>\n\n</$list>\n\n</ul>\n\n</div>\n\n</$list>\n"
  },
  {
    "path": "core/ui/Actions/new-image.tid",
    "content": "title: $:/core/ui/Actions/new-image\ntags: $:/tags/Actions\ndescription: create a new image tiddler\n\n\\whitespace trim\n<$action-sendmessage $message=\"tm-new-tiddler\" type={{{ [{$:/config/NewImageType}addprefix[image/]] }}}/>\n"
  },
  {
    "path": "core/ui/Actions/new-journal.tid",
    "content": "title: $:/core/ui/Actions/new-journal\ntags: $:/tags/Actions\ndescription: create a new journal tiddler\n\n\\whitespace trim\n\\function get-tags() [<textFieldTags>] [<tagsFieldTags>] +[join[ ]]\n<$let journalTitleTemplate={{$:/config/NewJournal/Title}} textFieldTags={{$:/config/NewJournal/Tags}} tagsFieldTags={{$:/config/NewJournal/Tags!!tags}} journalText={{$:/config/NewJournal/Text}}>\n<$wikify name=\"journalTitle\" text=\"<$transclude $variable='now' format=<<journalTitleTemplate>>/>\">\n<$reveal type=\"nomatch\" state=<<journalTitle>> text=\"\">\n<$action-sendmessage $message=\"tm-new-tiddler\" title=<<journalTitle>> tags=<<get-tags>> text={{{ [<journalTitle>get[]] }}}/>\n</$reveal>\n<$reveal type=\"match\" state=<<journalTitle>> text=\"\">\n<$action-sendmessage $message=\"tm-new-tiddler\" title=<<journalTitle>> tags=<<get-tags>> text=<<journalText>>/>\n</$reveal>\n</$wikify>\n</$let>\n"
  },
  {
    "path": "core/ui/Actions/new-tiddler.tid",
    "content": "title: $:/core/ui/Actions/new-tiddler\ntags: $:/tags/Actions\ndescription: create a new empty tiddler\n\n\\whitespace trim\n\\function get-tags() [<textFieldTags>] [<tagsFieldTags>] +[join[ ]]\n<$let textFieldTags={{$:/config/NewTiddler/Tags}} tagsFieldTags={{$:/config/NewTiddler/Tags!!tags}}>\n<$action-sendmessage $message=\"tm-new-tiddler\" tags=<<get-tags>>/>\n</$let>\n"
  },
  {
    "path": "core/ui/AdvancedSearch/Filter.tid",
    "content": "title: $:/core/ui/AdvancedSearch/Filter\ntags: $:/tags/AdvancedSearch\ncaption: {{$:/language/Search/Filter/Caption}}\n\n\\procedure lingo-base() $:/language/Search/\n\\procedure set-next-input-tab()\n<$transclude $variable=\"change-input-tab\"\n\tstateTitle=\"$:/state/tab--1498284803\"\n\ttag=\"$:/tags/AdvancedSearch\"\n\tbeforeafter=\"after\"\n\tdefaultState=\"$:/core/ui/AdvancedSearch/System\"\n\tactions=\"<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>\"\n/>\n\\end\n\n\\procedure set-previous-input-tab()\n<$transclude $variable=\"change-input-tab\"\n\tstateTitle=\"$:/state/tab--1498284803\"\n\ttag=\"$:/tags/AdvancedSearch\"\n\tbeforeafter=\"before\"\n\tdefaultState=\"$:/core/ui/AdvancedSearch/System\"\n\tactions=\"<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>\"\n/>\n\\end\n\n\\procedure cancel-search-actions()\n\\whitespace trim\n<$list filter=\"[{$:/temp/advancedsearch/input}!match{$:/temp/advancedsearch}]\">\n\t<$list-empty>\n\t\t<$action-deletetiddler $filter=\"[[$:/temp/advancedsearch]] [[$:/temp/advancedsearch/input]] [[$:/temp/advancedsearch/selected-item]]\"/>\n\t</$list-empty>\n\t<$action-setfield $tiddler=\"$:/temp/advancedsearch/input\" text={{$:/temp/advancedsearch}}/>\n\t<$action-setfield $tiddler=\"$:/temp/advancedsearch/refresh\" text=\"yes\"/>\n</$list>\n\\end\n\n\\procedure input-accept-actions()\n\\whitespace trim\n<$list filter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\">\n\t<$list-empty>\n\t\t<$list filter=\"[<tiddler>get[text]!is[missing]] :else[<tiddler>get[text]is[shadow]]\">\n\t\t\t<$action-navigate $to={{{ [<tiddler>get[text]] }}}/>\n\t\t</$list>\n\t<$/list-empty>\n\t<$action-navigate $to={{{ [<tiddler>get[text]] }}}/>\n</$list>\n\\end\n\n\\procedure input-accept-variant-actions()\n\\whitespace trim\n<$list filter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\">\n\t<$list-empty>\n\t\t<$list filter=\"[<tiddler>get[text]!is[missing]] :else[<tiddler>get[text]is[shadow]]\">\n\t\t\t<$list filter=\"[<__tiddler__>get[text]minlength[1]]\">\n\t\t\t\t<$action-sendmessage $message=\"tm-edit-tiddler\" $param={{{  [<tiddler>get[text]] }}}/>\n\t\t\t</$list>\n\t\t</$list>\n\t</$list-empty>\n\t<$list filter=\"[<tiddler>get[text]minlength[1]]\">\n\t\t<$action-sendmessage $message=\"tm-edit-tiddler\" $param={{{  [<tiddler>get[text]] }}}/>\n\t</$list>\n</$list>\n\\end\n\n\\procedure input-actions()\n<%if [<event-key-descriptor>match[((input-tab-right))]] %>\n<<set-next-input-tab>>\n<%elseif [<event-key-descriptor>match[((input-tab-left))]] %>\n<<set-previous-input-tab>>\n<%endif%>\n\\end\n\n\\whitespace trim\n\n<<lingo Filter/Hint>>\n\n<div class=\"tc-search tc-advanced-search\">\n\t<$keyboard key=\"((input-tab-right)) ((input-tab-left))\" actions=<<input-actions>> class=\"tc-small-gap-right\">\n\t\t<$transclude $variable=\"keyboard-driven-input\"\n\t\t\ttiddler=\"$:/temp/advancedsearch/input\"\n\t\t\tstoreTitle=\"$:/temp/advancedsearch\"\n\t\t\trefreshTitle=\"$:/temp/advancedsearch/refresh\"\n\t\t\tselectionStateTitle=\"$:/temp/advancedsearch/selected-item\"\n\t\t\ttype=\"search\"\n\t\t\ttag=\"input\"\n\t\t\tfocus={{$:/config/Search/AutoFocus}}\n\t\t\tconfigTiddlerFilter=\"[[$:/temp/advancedsearch]]\"\n\t\t\tfirstSearchFilterField=\"text\"\n\t\t\tinputAcceptActions=<<input-accept-actions>>\n\t\t\tinputAcceptVariantActions=<<input-accept-variant-actions>>\n\t\t\tinputCancelActions=<<cancel-search-actions>>\n\t\t/>\n\t</$keyboard>\n\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch/FilterButton]!has[draft.of]]\">\n\t\t<$transclude/>\n\t</$list>\n</div>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\" tag=\"div\" class=\"tc-search-results\">\n\t<$set name=\"resultCount\" value=\"<$count filter={{$:/temp/advancedsearch}}/>\">\n\t\t<p><<lingo Filter/Matches>></p>\n\t\t<$list filter={{$:/temp/advancedsearch}}>\n\t\t\t<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[[$:/temp/advancedsearch/selected-item]get[text]] :and[then[]else[tc-list-item-selected]] }}}>\n\t\t\t\t<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n\t\t\t</span>\n\t\t</$list>\n\t</$set>\n</$reveal>\n"
  },
  {
    "path": "core/ui/AdvancedSearch/FilterButtons/clear.tid",
    "content": "title: $:/core/ui/AdvancedSearch/Filter/FilterButtons/clear\ntags: $:/tags/AdvancedSearch/FilterButton\n\n\\whitespace trim\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<<cancel-search-actions>>\n<$action-sendmessage $message=\"tm-focus-selector\" $param=\"\"\".tc-advanced-search input\"\"\" />\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n"
  },
  {
    "path": "core/ui/AdvancedSearch/FilterButtons/delete.tid",
    "content": "title: $:/core/ui/AdvancedSearch/Filter/FilterButtons/delete\ntags: $:/tags/AdvancedSearch/FilterButton\n\n\\whitespace trim\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button tooltip={{$:/language/Buttons/DeleteTiddlers/Hint}} popup=<<qualify \"$:/state/filterDeleteDropdown\">> class=\"tc-btn-invisible\">\n{{$:/core/images/delete-button}}\n</$button>\n</$reveal>\n\n<$reveal state=<<qualify \"$:/state/filterDeleteDropdown\">> type=\"popup\" position=\"belowleft\" animate=\"yes\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<div class=\"tc-dropdown-item-plain\">\n<$set name=\"resultCount\" value=\"\"\"<$count filter={{$:/temp/advancedsearch}}/>\"\"\">\n{{$:/language/ConfirmDeleteTiddlers}}\n</$set>\n</div>\n<div class=\"tc-dropdown-item-plain\">\n<$button class=\"tc-btn\">\n<$action-deletetiddler $filter={{$:/temp/advancedsearch}}/>\n{{$:/language/Buttons/DeleteTiddlers/Hint}}\n</$button>\n</div>\n</div>\n</div>\n</$reveal>\n"
  },
  {
    "path": "core/ui/AdvancedSearch/FilterButtons/dropdown.tid",
    "content": "title: $:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown\ntags: $:/tags/AdvancedSearch/FilterButton\n\n\\whitespace trim\n\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/filterDropdown\">> class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n</$button>\n</span>\n\n<$reveal state=<<qualify \"$:/state/filterDropdown\">> type=\"popup\" position=\"belowleft\" animate=\"yes\">\n<$set name=\"tv-show-missing-links\" value=\"yes\">\n<$linkcatcher actions=\"<$action-setfield $tiddler='$:/temp/advancedsearch' text=<<navigateTo>>/><$action-setfield $tiddler='$:/temp/advancedsearch/input' text=<<navigateTo>>/><$action-setfield $tiddler='$:/temp/advancedsearch/refresh' text='yes'/><$action-sendmessage $message='tm-focus-selector' $param='.tc-advanced-search input' />\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Filter]!is[draft]]\">\n<$link to={{!!filter}}><$let tv-wikilinks=\"no\"><$transclude field=\"description\"/></$let></$link>\n</$list>\n</div>\n</div>\n</$linkcatcher>\n</$set>\n</$reveal>\n"
  },
  {
    "path": "core/ui/AdvancedSearch/FilterButtons/export.tid",
    "content": "title: $:/core/ui/AdvancedSearch/Filter/FilterButtons/export\ntags: $:/tags/AdvancedSearch/FilterButton\n\n\\whitespace trim\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$macrocall $name=\"exportButton\" exportFilter={{$:/temp/advancedsearch}} lingoBase=\"$:/language/Buttons/ExportTiddlers/\"/>\n</$reveal>\n"
  },
  {
    "path": "core/ui/AdvancedSearch/Shadows.tid",
    "content": "title: $:/core/ui/AdvancedSearch/Shadows\ntags: $:/tags/AdvancedSearch\ncaption: {{$:/language/Search/Shadows/Caption}}\nfirst-search-filter: [all[shadows]search<userInput>sort[title]limit[250]] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]]\n\n\\procedure lingo-base() $:/language/Search/\n\n\\procedure set-next-input-tab()\n<$transclude $variable=\"change-input-tab\"\n\tstateTitle=\"$:/state/tab--1498284803\"\n\ttag=\"$:/tags/AdvancedSearch\"\n\tbeforeafter=\"after\"\n\tdefaultState=\"$:/core/ui/AdvancedSearch/System\"\n\tactions=\"<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>\"/>\n\\end\n\n\\procedure set-previous-input-tab()\n<$transclude $variable=\"change-input-tab\"\n\tstateTitle=\"$:/state/tab--1498284803\"\n\ttag=\"$:/tags/AdvancedSearch\"\n\tbeforeafter=\"before\"\n\tdefaultState=\"$:/core/ui/AdvancedSearch/System\"\n\tactions=\"<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>\"/>\n\\end\n\n\\procedure cancel-search-actions()\n\\whitespace trim\n<$list\n\tfilter=\"[{$:/temp/advancedsearch}!match{$:/temp/advancedsearch/input}]\"\n\temptyMessage=\"<$action-deletetiddler $filter='[[$:/temp/advancedsearch]] [[$:/temp/advancedsearch/input]] [[$:/temp/advancedsearch/selected-item]]' />\">\n\t<$action-setfield $tiddler=\"$:/temp/advancedsearch/input\" text={{$:/temp/advancedsearch}}/>\n\t<$action-setfield $tiddler=\"$:/temp/advancedsearch/refresh\" text=\"yes\"/>\n</$list>\n<$action-sendmessage $message=\"tm-focus-selector\" $param=\".tc-advanced-search input\"/>\n\\end\n\n\\procedure input-accept-actions()\n\\whitespace trim\n<$list\n\tfilter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\"\n\temptyMessage=\"<$list filter='[<tiddler>get[text]!is[missing]] :else[<tiddler>get[text]is[shadow]]'><$action-navigate $to={{{ [<tiddler>get[text]] }}}/></$list>\">\n\t<$action-navigate $to={{{ [<tiddler>get[text]] }}}/>\n</$list>\n\\end\n\n\\procedure input-accept-variant-actions()\n\\whitespace trim\n<$list\n\tfilter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\"\n\temptyMessage=\"<$list filter='[<tiddler>get[text]!is[missing]] :else[<tiddler>get[text]is[shadow]]'><$list filter='[<tiddler>get[text]minlength[1]]'><$action-sendmessage $message='tm-edit-tiddler' $param={{{  [<tiddler>get[text]] }}}/></$list></$list>\">\n\t<$list filter=\"[<tiddler>get[text]minlength[1]]\">\n\t\t<$action-sendmessage $message=\"tm-edit-tiddler\" $param={{{  [<tiddler>get[text]] }}}/>\n</$list></$list>\n\\end\n\n\\procedure input-actions()\n<%if [<event-key-descriptor>match[((input-tab-right))]] %>\n<<set-next-input-tab>>\n<%elseif [<event-key-descriptor>match[((input-tab-left))]] %>\n<<set-previous-input-tab>>\n<%endif%>\n\\end\n\n\\whitespace trim\n\n<<lingo Shadows/Hint>>\n\n<div class=\"tc-search\">\n<$keyboard key=\"((input-tab-right)) ((input-tab-left))\" actions=<<input-actions>>>\n<$transclude $variable=\"keyboard-driven-input\"\n\ttiddler=\"$:/temp/advancedsearch/input\"\n\tstoreTitle=\"$:/temp/advancedsearch\"\n\trefreshTitle=\"$:/temp/advancedsearch/refresh\"\n\tselectionStateTitle=\"$:/temp/advancedsearch/selected-item\"\n\ttype=\"search\"\n\ttag=\"input\"\n\tfocus={{$:/config/Search/AutoFocus}}\n\tconfigTiddlerFilter=\"[[$:/core/ui/AdvancedSearch/Shadows]]\"\n\tinputCancelActions=<<cancel-search-actions>>\n\tinputAcceptActions=<<input-accept-actions>>\n\tinputAcceptVariantActions=<<input-accept-variant-actions>>\n\tfilterMinLength={{$:/config/Search/MinLength}}/>\n</$keyboard>\n&#32;\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<<cancel-search-actions>>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n\n<$list filter=\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"<div class='tc-search-results'>{{$:/language/Search/Search/TooShort}}</div>\" variable=\"listItem\">\n\n<$set name=\"resultCount\" value={{{ [all[shadows]search{$:/temp/advancedsearch}] :except[[$:/temp/advancedsearch]] :except[[$:/temp/advancedsearch/input]] :and[count[]]}}}>\n\n<div class=\"tc-search-results\">\n\n<%if [<resultCount>match[0]] %>\n\t{{$:/language/Search/Matches/NoMatch}}\n<%else%>\n\t<<lingo Shadows/Matches>>\n<%endif%>\n\n<$list filter=\"[all[shadows]search{$:/temp/advancedsearch}sort[title]limit[250]] :except[[$:/temp/advancedsearch]] :except[[$:/temp/advancedsearch/input]]\">\n<span class={{{[<currentTiddler>addsuffix[-primaryList]] :except[[$:/temp/advancedsearch/selected-item]get[text]] :and[then[]else[tc-list-item-selected]] }}}>\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n</span>\n</$list>\n\n</div>\n\n</$set>\n\n</$list>\n\n</$reveal>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"match\" text=\"\">\n\n</$reveal>\n"
  },
  {
    "path": "core/ui/AdvancedSearch/Standard.tid",
    "content": "title: $:/core/ui/AdvancedSearch/Standard\ntags: $:/tags/AdvancedSearch\ncaption: {{$:/language/Search/Standard/Caption}}\n\n\\procedure lingo-base() $:/language/Search/\n\\procedure set-next-input-tab() <$transclude $variable=\"change-input-tab\" stateTitle=\"$:/state/tab--1498284803\" tag=\"$:/tags/AdvancedSearch\" beforeafter=\"after\" defaultState=\"$:/core/ui/AdvancedSearch/System\" actions=\"<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>\"/>\n\n\\procedure set-previous-input-tab() <$transclude $variable=\"change-input-tab\" stateTitle=\"$:/state/tab--1498284803\" tag=\"$:/tags/AdvancedSearch\" beforeafter=\"before\" defaultState=\"$:/core/ui/AdvancedSearch/System\" actions=\"<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>\"/>\n\n\\procedure next-search-tab() <$transclude $variable=\"change-input-tab\" stateTitle=\"$:/state/tab/search-results/advancedsearch\" tag=\"$:/tags/SearchResults\" beforeafter=\"after\" defaultState={{$:/config/SearchResults/Default}} actions=\"<$action-setfield $tiddler='$:/state/advancedsearch/standard/currentTab' text=<<nextTab>>/>\"/>\n\n\\procedure previous-search-tab() <$transclude $variable=\"change-input-tab\" stateTitle=\"$:/state/tab/search-results/advancedsearch\" tag=\"$:/tags/SearchResults\" beforeafter=\"before\" defaultState={{$:/config/SearchResults/Default}} actions=\"<$action-setfield $tiddler='$:/state/advancedsearch/standard/currentTab' text=<<nextTab>>/>\"/>\n\n\\procedure cancel-search-actions() <$list filter=\"[{$:/temp/advancedsearch}!match{$:/temp/advancedsearch/input}]\" emptyMessage=\"<$action-deletetiddler $filter='[[$:/temp/advancedsearch]] [[$:/temp/advancedsearch/input]] [[$:/temp/advancedsearch/selected-item]]' />\"><$action-setfield $tiddler=\"$:/temp/advancedsearch/input\" text={{$:/temp/advancedsearch}}/><$action-setfield $tiddler=\"$:/temp/advancedsearch/refresh\" text=\"yes\"/></$list><$action-sendmessage $message=\"tm-focus-selector\" $param=\".tc-advanced-search input\"/>\n\n\\procedure input-accept-actions() <$list filter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\" emptyMessage=\"<$list filter='[<tiddler>get[text]!is[missing]] :else[<tiddler>get[text]is[shadow]]'><$action-navigate $to={{{ [<tiddler>get[text]] }}}/></$list>\"><$action-navigate $to={{{ [<tiddler>get[text]] }}}/></$list>\n\n\\procedure input-accept-variant-actions() <$list filter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\" emptyMessage=\"<$list filter='[<tiddler>get[text]!is[missing]] :else[<tiddler>get[text]is[shadow]]'><$list filter='[<tiddler>get[text]minlength[1]]'><$action-sendmessage $message='tm-edit-tiddler' $param={{{  [<tiddler>get[text]] }}}/></$list></$list>\"><$list filter=\"[<tiddler>get[text]minlength[1]]\"><$action-sendmessage $message=\"tm-edit-tiddler\" $param={{{  [<tiddler>get[text]] }}}/></$list></$list>\n\n\\procedure input-actions()\n<%if [<event-code>match[ArrowRight]] :and[<modifier>match[alt-shift]] %>\n<<next-search-tab>>\n<%elseif [<event-code>match[ArrowLeft]] :and[<modifier>match[alt-shift]] %>\n<<previous-search-tab>>\n<%elseif [<event-key-descriptor>match[((input-tab-right))]] %>\n<<set-next-input-tab>>\n<%elseif [<event-key-descriptor>match[((input-tab-left))]] %>\n<<set-previous-input-tab>>\n<%endif%>\n\\end\n\n\\whitespace trim\n\n<<lingo Standard/Hint>>\n\n<div class=\"tc-search\">\n<$keyboard key=\"((input-tab-right)) ((input-tab-left)) shift-alt-Right shift-alt-Left\" actions=<<input-actions>>>\n<$transclude $variable=\"keyboard-driven-input\"\n\ttiddler=\"$:/temp/advancedsearch/input\"\n\tstoreTitle=\"$:/temp/advancedsearch\"\n\trefreshTitle=\"$:/temp/advancedsearch/refresh\"\n\tselectionStateTitle=\"$:/temp/advancedsearch/selected-item\"\n\ttype=\"search\"\n\ttag=\"input\"\n\tfocus={{$:/config/Search/AutoFocus}}\n\tinputCancelActions=<<cancel-search-actions>>\n\tinputAcceptActions=<<input-accept-actions>>\n\tinputAcceptVariantActions=<<input-accept-variant-actions>>\n\tconfigTiddlerFilter=\"[[$:/state/advancedsearch/standard/currentTab]!is[missing]get[text]] :else[{$:/config/SearchResults/Default}]\"\n\tfilterMinLength={{$:/config/Search/MinLength}}/>\n</$keyboard>\n&#32;\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<<cancel-search-actions>>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$list\n\tfilter=\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\"\n\temptyMessage=\"<div class='tc-search-results'>{{$:/language/Search/Search/TooShort}}</div>\"\n\tvariable=\"listItem\">\n<$vars\n\tuserInput={{{ [[$:/temp/advancedsearch]get[text]] }}}\n\tconfigTiddler={{{ [[$:/state/advancedsearch/standard/currentTab]!is[missing]get[text]] :else[{$:/config/SearchResults/Default}] }}}\n\tsearchListState=\"$:/temp/advancedsearch/selected-item\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]\">\n<$list-empty>\n<$list filter='[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]'><$transclude mode=\"block\"/></$list>\n</$list-empty>\n<$transclude $variable=\"tabs\"\n\ttabsList=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\"\n\tdefault={{$:/config/SearchResults/Default}}\n\tactions=\"<$action-setfield $tiddler='$:/state/advancedsearch/standard/currentTab' text=<<currentTab>>/>\"\n\texplicitState=\"$:/state/tab/search-results/advancedsearch\" />\n</$list>\n</$vars>\n</$list>\n</$reveal>\n"
  },
  {
    "path": "core/ui/AdvancedSearch/System.tid",
    "content": "title: $:/core/ui/AdvancedSearch/System\ntags: $:/tags/AdvancedSearch\ncaption: {{$:/language/Search/System/Caption}}\nfirst-search-filter: [is[system]search<userInput>sort[title]limit[250]] :except[[$:/temp/advancedsearch]] :except[[$:/temp/advancedsearch/input]] :except[[$:/temp/advancedsearch/selected-item]]\n\n\\procedure lingo-base() $:/language/Search/\n\\procedure set-next-input-tab()\n<$transclude $variable=\"change-input-tab\"\n\tstateTitle=\"$:/state/tab--1498284803\"\n\ttag=\"$:/tags/AdvancedSearch\"\n\tbeforeafter=\"after\"\n\tdefaultState=\"$:/core/ui/AdvancedSearch/System\"\n\tactions=\"<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>\"/>\n\\end\n\n\\procedure set-previous-input-tab()\n<$transclude $variable=\"change-input-tab\"\n\tstateTitle=\"$:/state/tab--1498284803\"\n\ttag=\"$:/tags/AdvancedSearch\"\n\tbeforeafter=\"before\"\n\tdefaultState=\"$:/core/ui/AdvancedSearch/System\"\n\tactions=\"<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>\"/>\n\\end\n\n\\procedure cancel-search-actions()\n\\whitespace trim\n<$list\n\tfilter=\"[{$:/temp/advancedsearch}!match{$:/temp/advancedsearch/input}]\"\n\temptyMessage=\"<$action-deletetiddler $filter='[[$:/temp/advancedsearch]] [[$:/temp/advancedsearch/input]] [[$:/temp/advancedsearch/selected-item]]' />\">\n\t<$action-setfield $tiddler=\"$:/temp/advancedsearch/input\" text={{$:/temp/advancedsearch}}/>\n\t<$action-setfield $tiddler=\"$:/temp/advancedsearch/refresh\" text=\"yes\"/>\n</$list>\n<$action-sendmessage $message=\"tm-focus-selector\" $param=\".tc-advanced-search input\"/>\n\\end\n\n\\procedure input-accept-actions()\n\\whitespace trim\n<$list\n\tfilter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\"\n\temptyMessage=\"<$list filter='[<tiddler>get[text]!is[missing]] :else[<tiddler>get[text]is[shadow]]'><$action-navigate $to={{{ [<tiddler>get[text]] }}}/></$list>\">\n\t<$action-navigate $to={{{ [<tiddler>get[text]] }}}/>\n</$list>\n\\end\n\n\\procedure input-accept-variant-actions()\n\\whitespace trim\n<$list\n\tfilter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\"\n\temptyMessage=\"<$list filter='[<tiddler>get[text]!is[missing]] :else[<tiddler>get[text]is[shadow]]'><$list filter='[<tiddler>get[text]minlength[1]]'><$action-sendmessage $message='tm-edit-tiddler' $param={{{  [<tiddler>get[text]] }}}/></$list></$list>\">\n\t<$list filter=\"[<tiddler>get[text]minlength[1]]\">\n\t\t<$action-sendmessage $message=\"tm-edit-tiddler\" $param={{{  [<tiddler>get[text]] }}}/>\n</$list></$list>\n\\end\n\n\\procedure input-actions()\n<%if [<event-key-descriptor>match[((input-tab-right))]] %>\n<<set-next-input-tab>>\n<%elseif [<event-key-descriptor>match[((input-tab-left))]] %>\n<<set-previous-input-tab>>\n<%endif%>\n\\end\n\n\\whitespace trim\n\n<<lingo System/Hint>>\n\n<div class=\"tc-search\">\n<$keyboard key=\"((input-tab-right)) ((input-tab-left))\" actions=<<input-actions>>>\n<$transclude $variable=\"keyboard-driven-input\"\n\ttiddler=\"$:/temp/advancedsearch/input\"\n\tstoreTitle=\"$:/temp/advancedsearch\"\n\trefreshTitle=\"$:/temp/advancedsearch/refresh\"\n\tselectionStateTitle=\"$:/temp/advancedsearch/selected-item\"\n\ttype=\"search\"\n\ttag=\"input\"\n\tfocus={{$:/config/Search/AutoFocus}}\n\tconfigTiddlerFilter=\"[[$:/core/ui/AdvancedSearch/System]]\"\n\tinputCancelActions=<<cancel-search-actions>>\n\tinputAcceptActions=<<input-accept-actions>>\n\tinputAcceptVariantActions=<<input-accept-variant-actions>>\n\tfilterMinLength={{$:/config/Search/MinLength}}/>\n</$keyboard>\n&#32;\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<<cancel-search-actions>>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n\n<$list filter=\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"<div class='tc-search-results'>{{$:/language/Search/Search/TooShort}}</div>\" variable=\"listItem\">\n\n<$set name=\"resultCount\" value={{{ [is[system]search{$:/temp/advancedsearch}] :except[[$:/temp/advancedsearch]] :except[[$:/temp/advancedsearch/input]] :except[[$:/temp/advancedsearch/selected-item]] +[count[]] }}}>\n\n<div class=\"tc-search-results\">\n\n<%if [<resultCount>match[0]] %>\n\t{{$:/language/Search/Matches/NoMatch}}\n<%else%>\n\t<<lingo System/Matches>>\n<%endif%>\n\n<$list filter=\"[is[system]search{$:/temp/advancedsearch}sort[title]limit[250]] :except[[$:/temp/advancedsearch]] :except[[$:/temp/advancedsearch/input]] :except[[$:/temp/advancedsearch/selected-item]]\">\n<span class={{{[<currentTiddler>addsuffix[-primaryList]] :except[[$:/temp/advancedsearch/selected-item]get[text]] :and[then[]else[tc-list-item-selected]] }}}>\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n</span>\n</$list>\n\n</div>\n\n</$set>\n\n</$list>\n\n</$reveal>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"match\" text=\"\">\n\n</$reveal>\n"
  },
  {
    "path": "core/ui/AdvancedSearch.tid",
    "content": "title: $:/AdvancedSearch\nicon: $:/core/images/advanced-search-button\ncolor: #bbb\n\n\\whitespace trim\n<div class=\"tc-advanced-search\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch]!has[draft.of]]\" default=\"$:/core/ui/AdvancedSearch/System\" actions=\"\"\"<$action-setfield $tiddler=\"$:/state/advancedsearch/currentTab\" text=<<currentTab>>/>\"\"\" explicitState=\"$:/state/tab--1498284803\"/>\n</div>\n"
  },
  {
    "path": "core/ui/AlertTemplate.tid",
    "content": "code-body: yes\ntitle: $:/core/ui/AlertTemplate\n\n\\whitespace trim\n<div class=\"tc-alert\" role=\"alertdialog\">\n<div class=\"tc-alert-toolbar\">\n<$button class=\"tc-btn-invisible\" aria-label={{$:/language/Buttons/Close/Caption}}><$action-deletetiddler $tiddler=<<currentTiddler>>/>{{$:/core/images/cancel-button}}</$button>\n</div>\n<div class=\"tc-alert-subtitle\">\n<$wikify name=\"format\" text=<<lingo Tiddler/DateFormat>>>\n<$view field=\"component\"/>\n&#32;-&#32;\n<$view field=\"modified\" format=\"date\" template=<<format>>/>\n&#32;\n<$reveal type=\"nomatch\" state=\"!!count\" text=\"\">\n<span class=\"tc-alert-highlight\">\n({{$:/language/Count}}:&#32;<$view field=\"count\"/>)\n</span>\n</$reveal>\n</$wikify>\n</div>\n<div class=\"tc-alert-body\" role=\"alert\" aria-atomic=\"true\">\n\n<$transclude/>\n\n</div>\n</div>\n"
  },
  {
    "path": "core/ui/BinaryWarning.tid",
    "content": "title: $:/core/ui/BinaryWarning\n\n\\define lingo-base() $:/language/BinaryWarning/\n<<lingo Prompt>>\n"
  },
  {
    "path": "core/ui/Components/VisibleTransclude.tid",
    "content": "title: $:/core/ui/VisibleTransclude\n\n<!--\nImport this component to make all the child transclusions visible.\n\nBlock transclusions are shown in red, and inline transclusions are shown in green.\n-->\n\\widget $transclude()\n<!-- Use a parameters widget so that we can access the `$params` data -->\n<$parameters tiddler=\"\" $$tiddler=\"\" mode=\"\" $$mode=\"\" $parseMode=\"@parseMode\" $params=\"@params\">\n\t<!-- Replicate the logic of the transclude widget to determine the output mode, and hence the tag and colour to use for output -->\n\t<$let\n\t\tmode={{{ [[$mode]is[variable]then<$mode>!is[blank]] :else[[mode]is[variable]then<mode>!is[blank]] :else[<@parseMode>] }}}\n\t\toutputTag={{{ [<mode>match[inline]then[span]else[div]] }}}\n\t\toutputColour={{{ [<mode>match[inline]then[green]else[red]] }}}\n\t>\n\t\t<!-- Use divs or spans according to the mode -->\n\t\t<$genesis $type=<<outputTag>> style=\"color:white;padding:4px;\" style.background=<<outputColour>>>\n\t\t\t<$genesis $type=<<outputTag>> style=\"display: inline-block;\">\n\t\t\t\t<div style=\"background:white;color:black;font-size: 12px;line-height:1.2;text-align:left;font-weight:normal;padding:4px;margin:4px;\">\n\t\t\t\t\t<!-- Render the parameters to the transclusion -->\n\t\t\t\t\t<$list filter=\"[<@params>jsonindexes[]]\" emptyMessage=\"(none)\">\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<$text text=<<currentTiddler>>/><$text text=\": \"/><$text text={{{ [<@params>jsonget<currentTiddler>] }}}/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</$list>\n\t\t\t\t</div>\n\t\t\t</$genesis>\n\t\t\t<$genesis $type=<<outputTag>> style=\"background:white;color:black;padding:4px;\">\n\t\t\t\t<!-- Look for a parameter starting with $ to determine if we are in legacy mode -->\n\t\t\t\t<$list filter=\"[<@params>jsonindexes[]] :filter[<currentTiddler>prefix[$]] +[limit[1]]\" variable=\"ignore\" emptyMessage=\"\"\"\n\t\t\t\t\t<!-- Legacy mode: we render the transclusion without a dollar sign for recursionMarker and mode -->\n\t\t\t\t\t<$genesis $type=\"$transclude\" $remappable=\"no\" $names=\"[<@params>jsonindexes[]]\" $values=\"[<@params>jsonindexes[]] :map[<@params>jsonget<currentTiddler>]\" recursionMarker=\"no\" mode=<<mode>> $$fillignore=\"yes\">\n\t\t\t\t\t\t<!-- Reach back up to the grandparent transclusion to get the correct slot value -->\n\t\t\t\t\t\t<$slot $name=\"ts-raw\"/>\n\t\t\t\t\t</$genesis>\n\t\t\t\t\"\"\">\n\t\t\t\t\t<!-- Non-legacy mode: we use dollar signs for the recursionMarker and mode -->\n\t\t\t\t\t<$genesis $type=\"$transclude\" $remappable=\"no\" $names=\"[<@params>jsonindexes[]]\" $values=\"[<@params>jsonindexes[]] :map[<@params>jsonget<currentTiddler>]\" $$recursionMarker=\"no\" $$mode=<<mode>> $$fillignore=\"yes\">\n\t\t\t\t\t\t<!-- Reach back up to the grandparent transclusion to get the correct slot fill value -->\n\t\t\t\t\t\t<$slot $name=\"ts-raw\"/>\n\t\t\t\t\t</$genesis>\n\t\t\t\t</$list>\n\t\t\t</$genesis>\n\t\t</$genesis>\n\t</$let>\n</$parameters>\n\\end\n"
  },
  {
    "path": "core/ui/Components/plugin-info.tid",
    "content": "title: $:/core/ui/Components/plugin-info\n\n\\define lingo-base() $:/language/ControlPanel/Plugins/\n\n\\define popup-state-macro()\n$(qualified-state)$-$(currentTiddler)$\n\\end\n\n\\define tabs-state-macro()\n$(popup-state)$-$(pluginInfoType)$\n\\end\n\n\\define plugin-icon-title()\n$(currentTiddler)$/icon\n\\end\n\n\\define plugin-disable-title()\n$:/config/Plugins/Disabled/$(currentTiddler)$\n\\end\n\n\\define plugin-table-body(type,disabledMessage,default-popup-state)\n\\whitespace trim\n<div class=\"tc-plugin-info-chunk tc-plugin-info-toggle\">\n\t<$reveal type=\"nomatch\" state=<<popup-state>> text=\"yes\" default=\"\"\"$default-popup-state$\"\"\">\n\t\t<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"yes\">\n\t\t\t{{$:/core/images/chevron-right}}\n\t\t</$button>\n\t</$reveal>\n\t<$reveal type=\"match\" state=<<popup-state>> text=\"yes\" default=\"\"\"$default-popup-state$\"\"\">\n\t\t<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"no\">\n\t\t\t{{$:/core/images/chevron-down}}\n\t\t</$button>\n\t</$reveal>\n</div>\n<div class=\"tc-plugin-info-chunk tc-plugin-info-icon\">\n\t<$transclude tiddler=<<currentTiddler>> subtiddler=<<plugin-icon-title>>>\n\t\t<$transclude tiddler=\"$:/core/images/plugin-generic-$type$\"/>\n\t</$transclude>\n</div>\n<div class=\"tc-plugin-info-chunk tc-plugin-info-description\">\n\t<h1>\n\t\t''<$text text={{{ [<currentTiddler>get[name]] ~[<currentTiddler>split[/]last[1]] }}}/>'':&nbsp;<$view field=\"description\"><$view field=\"title\"/></$view>&nbsp;$disabledMessage$\n\t</h1>\n\t<h2>\n\t\t<$view field=\"title\"/>\n\t</h2>\n\t<h2>\n\t\t<div>\n\t\t\t<%if [<currentTiddler>get[stability]match[STABILITY_0_DEPRECATED]] %>\n\t\t\t\t<span class=\"tc-plugin-info-stability tc-plugin-info-stability-deprecated\"><<lingo \"Stability/Deprecated\">></span>\n\t\t\t<%elseif [<currentTiddler>get[stability]match[STABILITY_1_EXPERIMENTAL]] %>\n\t\t\t\t<span class=\"tc-plugin-info-stability tc-plugin-info-stability-experimental\"><<lingo \"Stability/Experimental\">></span>\n\t\t\t<%elseif [<currentTiddler>get[stability]match[STABILITY_2_STABLE]] %>\n\t\t\t\t<span class=\"tc-plugin-info-stability tc-plugin-info-stability-stable\"><<lingo \"Stability/Stable\">></span>\n\t\t\t<%elseif [<currentTiddler>get[stability]match[STABILITY_3_LEGACY]] %>\n\t\t\t\t<span class=\"tc-plugin-info-stability tc-plugin-info-stability-legacy\"><<lingo \"Stability/Legacy\">></span>\n\t\t\t<%endif%>\n\t\t\t<em><$view field=\"version\"/></em></div>\n\t</h2>\n</div>\n\\end\n\n\\define plugin-info(type,default-popup-state)\n\\whitespace trim\n<$set name=\"popup-state\" value=<<popup-state-macro>>>\n\t<$reveal type=\"nomatch\" state=<<plugin-disable-title>> text=\"yes\">\n\t\t<$link to={{!!title}} class=\"tc-plugin-info\">\n\t\t\t<<plugin-table-body type:\"$type$\" default-popup-state:\"\"\"$default-popup-state$\"\"\">>\n\t\t</$link>\n\t</$reveal>\n\t<$reveal type=\"match\" state=<<plugin-disable-title>> text=\"yes\">\n\t\t<$link to={{!!title}} class=\"tc-plugin-info tc-plugin-info-disabled\">\n\t\t\t<<plugin-table-body type:\"$type$\" default-popup-state:\"\"\"$default-popup-state$\"\"\" disabledMessage:\"<$macrocall $name='lingo' title='Disabled/Status'/>\">>\n\t\t</$link>\n\t</$reveal>\n\t<$reveal type=\"match\" text=\"yes\" state=<<popup-state>> default=\"\"\"$default-popup-state$\"\"\">\n\t\t<div class=\"tc-plugin-info-dropdown\">\n\t\t\t<div class=\"tc-plugin-info-dropdown-body\">\n\t\t\t\t<$list filter=\"[all[current]] -[[$:/core]]\">\n\t\t\t\t\t<div style=\"float:right;\">\n\t\t\t\t\t\t<$reveal type=\"nomatch\" state=<<plugin-disable-title>> text=\"yes\">\n\t\t\t\t\t\t\t<$button set=<<plugin-disable-title>> setTo=\"yes\" tooltip={{$:/language/ControlPanel/Plugins/Disable/Hint}} aria-label={{$:/language/ControlPanel/Plugins/Disable/Caption}}>\n\t\t\t\t\t\t\t\t<<lingo Disable/Caption>>\n\t\t\t\t\t\t\t</$button>\n\t\t\t\t\t\t</$reveal>\n\t\t\t\t\t\t<$reveal type=\"match\" state=<<plugin-disable-title>> text=\"yes\">\n\t\t\t\t\t\t\t<$button set=<<plugin-disable-title>> setTo=\"no\" tooltip={{$:/language/ControlPanel/Plugins/Enable Hint}} aria-label={{$:/language/ControlPanel/Plugins/Enable/Caption}}>\n\t\t\t\t\t\t\t\t<<lingo Enable/Caption>>\n\t\t\t\t\t\t\t</$button>\n\t\t\t\t\t\t</$reveal>\n\t\t\t\t\t</div>\n\t\t\t\t</$list>\n\t\t\t\t<$set name=\"tabsList\" filter=\"[<currentTiddler>list[]] contents\">\n\t\t\t\t\t<$macrocall $name=\"tabs\" state=<<tabs-state-macro>> tabsList=<<tabsList>> default={{{ [enlist<tabsList>] }}} template=\"$:/core/ui/PluginInfo\"/>\n\t\t\t\t</$set>\n\t\t\t</div>\n\t\t</div>\n\t</$reveal>\n</$set>\n\\end\n\n<$macrocall $name=\"plugin-info\" type=<<plugin-type>> default-popup-state=<<default-popup-state>>/>\n"
  },
  {
    "path": "core/ui/Components/tag-link.tid",
    "content": "title: $:/core/ui/Components/tag-link\n\n\\whitespace trim\n<$link>\n<$set name=\"backgroundColor\" value={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerColourFilter]!is[draft]get[text]] }}}>\n<span style=<<tag-styles>> class=\"tc-tag-label\">\n<$view field=\"title\" format=\"text\"/>\n</span>\n</$set>\n</$link>"
  },
  {
    "path": "core/ui/ControlPanel/Advanced.tid",
    "content": "title: $:/core/ui/ControlPanel/Advanced\ntags: $:/tags/ControlPanel/Info\ncaption: {{$:/language/ControlPanel/Advanced/Caption}}\n\n\\whitespace trim\n{{$:/language/ControlPanel/Advanced/Hint}}\n\n<div class=\"tc-control-panel\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Advanced]!has[draft.of]]\" default=\"$:/core/ui/ControlPanel/TiddlerFields\" explicitState=\"$:/state/tab--959111941\"/>\n</div>\n"
  },
  {
    "path": "core/ui/ControlPanel/Appearance.tid",
    "content": "title: $:/core/ui/ControlPanel/Appearance\ntags: $:/tags/ControlPanel\ncaption: {{$:/language/ControlPanel/Appearance/Caption}}\n\n\\whitespace trim\n{{$:/language/ControlPanel/Appearance/Hint}}\n\n<div class=\"tc-control-panel\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Appearance]!has[draft.of]]\" default=\"$:/core/ui/ControlPanel/Theme\" explicitState=\"$:/state/tab--1963855381\"/>\n</div>\n"
  },
  {
    "path": "core/ui/ControlPanel/Basics/retain-story-ordering-button.tid",
    "content": "title: $:/snippets/retain-story-ordering-button\n\n<$button set=\"$:/DefaultTiddlers\" setTo={{$:/config/ControlPanel/Basics/DefaultTiddlers/RetainStory}} ><<currentTiddler>></$button>"
  },
  {
    "path": "core/ui/ControlPanel/Basics.tid",
    "content": "title: $:/core/ui/ControlPanel/Basics\ntags: $:/tags/ControlPanel/Info\ncaption: {{$:/language/ControlPanel/Basics/Caption}}\n\n\\procedure lingo-base() $:/language/ControlPanel/Basics/\n\\whitespace trim\n\n|tc-max-width tc-edit-max-width|k\n|<<lingo Version/Prompt>> |''<<version>>'' |\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/status/UserName\"><<lingo Username/Prompt>></$link> |<$edit-text tiddler=\"$:/status/UserName\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/config/AnimationDuration\"><<lingo AnimDuration/Prompt>></$link> |<$edit-text tiddler=\"$:/config/AnimationDuration\" default=\"\" tag=\"input\" type=\"number\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit class=\"tc-edit-texteditor\" tiddler=\"$:/DefaultTiddlers\" autoHeight=\"yes\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n|<$link to=\"$:/language/DefaultNewTiddlerTitle\"><<lingo NewTiddler/Title/Prompt>></$link> |<$edit-text tiddler=\"$:/language/DefaultNewTiddlerTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/config/NewJournal/Title\"><<lingo NewJournal/Title/Prompt>></$link> |<$edit-text tiddler=\"$:/config/NewJournal/Title\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/config/NewJournal/Text\"><<lingo NewJournal/Text/Prompt>></$link> |<$edit tiddler=\"$:/config/NewJournal/Text\" class=\"tc-edit-texteditor\" default=\"\" autoHeight=\"yes\"/> |\n|<$link to=\"$:/config/NewTiddler/Tags\"><<lingo NewTiddler/Tags/Prompt>></$link> |<$vars currentTiddler=\"$:/config/NewTiddler/Tags\" tagField=\"text\">{{||$:/core/ui/EditTemplate/tags}}<$list filter=\"[<currentTiddler>tags[]] +[limit[1]]\" variable=\"ignore\"><$button tooltip={{$:/language/ControlPanel/Basics/RemoveTags/Hint}}><<lingo RemoveTags>><$action-listops $tiddler=<<currentTiddler>> $field=\"text\" $subfilter={{{ [<currentTiddler>get[tags]] }}}/><$action-setfield $tiddler=<<currentTiddler>> tags=\"\"/></$button></$list></$vars> |\n|<$link to=\"$:/config/NewJournal/Tags\"><<lingo NewJournal/Tags/Prompt>></$link> |<$vars currentTiddler=\"$:/config/NewJournal/Tags\" tagField=\"text\">{{||$:/core/ui/EditTemplate/tags}}<$list filter=\"[<currentTiddler>tags[]] +[limit[1]]\" variable=\"ignore\"><$button tooltip={{$:/language/ControlPanel/Basics/RemoveTags/Hint}}><<lingo RemoveTags>><$action-listops $tiddler=<<currentTiddler>> $field=\"text\" $subfilter={{{ [<currentTiddler>get[tags]] }}}/><$action-setfield $tiddler=<<currentTiddler>> tags=\"\"/></$button></$list></$vars> |\n|<$link to=\"$:/config/AutoFocus\"><<lingo AutoFocus/Prompt>></$link> |{{$:/snippets/minifocusswitcher}} |\n|<$link to=\"$:/config/AutoFocusEdit\"><<lingo AutoFocusEdit/Prompt>></$link> |{{$:/snippets/minifocuseditswitcher}} |\n|<<lingo Language/Prompt>> |{{$:/snippets/minilanguageswitcher}} |\n|<<lingo Tiddlers/Prompt>> |<<show-filter-count \"[!is[system]sort[title]]\">> |\n|<<lingo Tags/Prompt>> |<<show-filter-count \"[tags[]sort[title]]\">> |\n|<<lingo SystemTiddlers/Prompt>> |<<show-filter-count \"[is[system]sort[title]]\">> |\n|<<lingo ShadowTiddlers/Prompt>> |<<show-filter-count \"[all[shadows]sort[title]]\">> |\n|<<lingo OverriddenShadowTiddlers/Prompt>> |<<show-filter-count \"[is[tiddler]is[shadow]sort[title]]\">> |\n"
  },
  {
    "path": "core/ui/ControlPanel/Cascades/EditTemplateBody.tid",
    "content": "title: $:/core/ui/ControlPanel/EditTemplateBody\ntags: $:/tags/ControlPanel/Cascades\ncaption: {{$:/language/ControlPanel/EditTemplateBody/Caption}}\n\n\\define lingo-base() $:/language/ControlPanel/EditTemplateBody/\n\n<<lingo Hint>>\n\n{{$:/tags/EditTemplateBodyFilter||$:/snippets/ListTaggedCascade}}\n"
  },
  {
    "path": "core/ui/ControlPanel/Cascades/FieldEditor.tid",
    "content": "title: $:/core/ui/ControlPanel/FieldEditor\ntags: $:/tags/ControlPanel/Cascades\ncaption: {{$:/language/ControlPanel/FieldEditor/Caption}}\n\n\\define lingo-base() $:/language/ControlPanel/FieldEditor/\n\n<<lingo Hint>>\n\n{{$:/tags/FieldEditorFilter||$:/snippets/ListTaggedCascade}}\n"
  },
  {
    "path": "core/ui/ControlPanel/Cascades/StoryTiddler.tid",
    "content": "title: $:/core/ui/ControlPanel/StoryTiddler\ntags: $:/tags/ControlPanel/Cascades\ncaption: {{$:/language/ControlPanel/StoryTiddler/Caption}}\n\n\\define lingo-base() $:/language/ControlPanel/StoryTiddler/\n\n<<lingo Hint>>\n\n{{$:/tags/StoryTiddlerTemplateFilter||$:/snippets/ListTaggedCascade}}\n"
  },
  {
    "path": "core/ui/ControlPanel/Cascades/TiddlerColour.tid",
    "content": "title: $:/core/ui/ControlPanel/TiddlerColour\ntags: $:/tags/ControlPanel/Cascades\ncaption: {{$:/language/ControlPanel/TiddlerColour/Caption}}\n\n\\define lingo-base() $:/language/ControlPanel/TiddlerColour/\n\n<<lingo Hint>>\n\n{{$:/tags/TiddlerColourFilter||$:/snippets/ListTaggedCascade}}\n"
  },
  {
    "path": "core/ui/ControlPanel/Cascades/TiddlerIcon.tid",
    "content": "title: $:/core/ui/ControlPanel/TiddlerIcon\ntags: $:/tags/ControlPanel/Cascades\ncaption: {{$:/language/ControlPanel/TiddlerIcon/Caption}}\n\n\\define lingo-base() $:/language/ControlPanel/TiddlerIcon/\n\n<<lingo Hint>>\n\n{{$:/tags/TiddlerIconFilter||$:/snippets/ListTaggedCascade}}\n"
  },
  {
    "path": "core/ui/ControlPanel/Cascades/ViewTemplateBody.tid",
    "content": "title: $:/core/ui/ControlPanel/ViewTemplateBody\ntags: $:/tags/ControlPanel/Cascades\ncaption: {{$:/language/ControlPanel/ViewTemplateBody/Caption}}\n\n\\define lingo-base() $:/language/ControlPanel/ViewTemplateBody/\n\n<<lingo Hint>>\n\n{{$:/tags/ViewTemplateBodyFilter||$:/snippets/ListTaggedCascade}}\n"
  },
  {
    "path": "core/ui/ControlPanel/Cascades/ViewTemplateSubtitle.tid",
    "content": "title: $:/core/ui/ControlPanel/ViewTemplateSubtitle\ntags: $:/tags/ControlPanel/Cascades\ncaption: {{$:/language/ControlPanel/ViewTemplateSubtitle/Caption}}\n\n\\define lingo-base() $:/language/ControlPanel/ViewTemplateSubtitle/\n\n<<lingo Hint>>\n\n{{$:/tags/ViewTemplateSubtitleFilter||$:/snippets/ListTaggedCascade}}\n"
  },
  {
    "path": "core/ui/ControlPanel/Cascades/ViewTemplateTags.tid",
    "content": "title: $:/core/ui/ControlPanel/ViewTemplateTags\ntags: $:/tags/ControlPanel/Cascades\ncaption: {{$:/language/ControlPanel/ViewTemplateTags/Caption}}\n\n\\define lingo-base() $:/language/ControlPanel/ViewTemplateTags/\n\n<<lingo Hint>>\n\n{{$:/tags/ViewTemplateTagsFilter||$:/snippets/ListTaggedCascade}}\n"
  },
  {
    "path": "core/ui/ControlPanel/Cascades/ViewTemplateTitle.tid",
    "content": "title: $:/core/ui/ControlPanel/ViewTemplateTitle\ntags: $:/tags/ControlPanel/Cascades\ncaption: {{$:/language/ControlPanel/ViewTemplateTitle/Caption}}\n\n\\define lingo-base() $:/language/ControlPanel/ViewTemplateTitle/\n\n<<lingo Hint>>\n\n{{$:/tags/ViewTemplateTitleFilter||$:/snippets/ListTaggedCascade}}\n"
  },
  {
    "path": "core/ui/ControlPanel/Cascades.tid",
    "content": "title: $:/core/ui/ControlPanel/Cascades\ntags: $:/tags/ControlPanel/Advanced\ncaption: {{$:/language/ControlPanel/Cascades/Caption}}\n\n\\whitespace trim\n{{$:/language/ControlPanel/Cascades/Hint}}\n\n<div class=\"tc-control-panel\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Cascades]!has[draft.of]]\" default=\"$:/core/ui/ControlPanel/StoryTiddler\"/>\n</div>\n"
  },
  {
    "path": "core/ui/ControlPanel/EditorTypes.tid",
    "content": "title: $:/core/ui/ControlPanel/EditorTypes\ntags: $:/tags/ControlPanel/Advanced\ncaption: {{$:/language/ControlPanel/EditorTypes/Caption}}\n\n\\define lingo-base() $:/language/ControlPanel/EditorTypes/\n\\whitespace trim\n\n<<lingo Hint>>\n\n<table>\n<tbody>\n<tr>\n<th><<lingo Type/Caption>></th>\n<th><<lingo Editor/Caption>></th>\n</tr>\n<$list filter=\"[all[shadows+tiddlers]prefix[$:/config/EditorTypeMappings/]sort[title]]\">\n<tr>\n<td>\n<$link>\n<$list filter=\"[all[current]removeprefix[$:/config/EditorTypeMappings/]]\">\n<$text text={{!!title}}/>\n</$list>\n</$link>\n</td>\n<td>\n<$view field=\"text\"/>\n</td>\n</tr>\n</$list>\n</tbody>\n</table>\n"
  },
  {
    "path": "core/ui/ControlPanel/Info.tid",
    "content": "title: $:/core/ui/ControlPanel/Info\ntags: $:/tags/ControlPanel\ncaption: {{$:/language/ControlPanel/Info/Caption}}\n\n\\whitespace trim\n{{$:/language/ControlPanel/Info/Hint}}\n\n<div class=\"tc-control-panel\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Info]!has[draft.of]]\" default=\"$:/core/ui/ControlPanel/Basics\" explicitState=\"$:/state/tab--2112689675\"/>\n</div>\n"
  },
  {
    "path": "core/ui/ControlPanel/KeyboardShortcuts.tid",
    "content": "title: $:/core/ui/ControlPanel/KeyboardShortcuts\ntags: $:/tags/ControlPanel\ncaption: {{$:/language/ControlPanel/KeyboardShortcuts/Caption}}\n\n\\define lingo-base() $:/language/ControlPanel/KeyboardShortcuts/\n\n\\define new-shortcut(title)\n\\whitespace trim\n<div class=\"tc-dropdown-item-plain\">\n<$edit-shortcut tiddler=\"$title$\" placeholder={{$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt}} focus=\"true\" style=\"width:auto;\"/>\n&#32;\n<$button>\n<<lingo Add/Caption>>\n<$action-listops\n\t$tiddler=\"$(shortcutTitle)$\"\n\t$field=\"text\"\n\t$subfilter=\"[{$title$}]\"\n/>\n<$action-deletetiddler\n\t$tiddler=\"$title$\"\n/>\n</$button>\n</div>\n\\end\n\n\\define shortcut-list-item(caption)\n\\whitespace trim\n<td>\n</td>\n<td style=\"text-align:right;font-size:0.7em;\">\n<<lingo Platform/$caption$>>\n</td>\n<td>\n<div style=\"position:relative;\">\n<$button popup=<<qualify \"$:/state/dropdown/$(shortcutTitle)$\">> class=\"tc-btn-invisible\">\n{{$:/core/images/edit-button}}\n</$button>\n&#32;\n<$macrocall $name=\"displayshortcuts\" $output=\"text/html\" shortcuts={{$(shortcutTitle)$}} prefix=\"<kbd>\" separator=\"</kbd> <kbd>\" suffix=\"</kbd>\"/>\n\n<$reveal state=<<qualify \"$:/state/dropdown/$(shortcutTitle)$\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown tc-popup-keep\">\n<$list\n\tfilter=\"[list[$(shortcutTitle)$!!text]sort[title]]\"\n\tvariable=\"shortcut\"\n\temptyMessage=\"<div class='tc-dropdown-item-plain'>//<<lingo NoShortcuts/Caption>>//</div>\">\n<div class=\"tc-dropdown-item-plain\">\n<$button class=\"tc-btn-invisible\" tooltip={{$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint}}>\n<$action-listops\n\t$tiddler=\"$(shortcutTitle)$\"\n\t$field=\"text\"\n\t$subfilter=\"+[remove<shortcut>]\"\n/>\n<small>{{$:/core/images/close-button}}</small>\n</$button>\n&#32;\n<kbd>\n<$macrocall $name=\"displayshortcuts\" $output=\"text/html\" shortcuts=<<shortcut>>/>\n</kbd>\n</div>\n</$list>\n<hr/>\n<$macrocall $name=\"new-shortcut\" title=<<qualify \"$:/state/new-shortcut/$(shortcutTitle)$\">>/>\n</div>\n</div>\n</$reveal>\n</div>\n</td>\n\\end\n\n\\define shortcut-list(caption,prefix)\n\\whitespace trim\n<tr>\n<$list filter=\"[[$prefix$$(shortcutName)$]]\" variable=\"shortcutTitle\">\n<<shortcut-list-item \"$caption$\">>\n</$list>\n</tr>\n\\end\n\n\\define shortcut-editor()\n\\whitespace trim\n<<shortcut-list \"All\" \"$:/config/shortcuts/\">> \n<<shortcut-list \"Mac\" \"$:/config/shortcuts-mac/\">>\n<<shortcut-list \"NonMac\" \"$:/config/shortcuts-not-mac/\">>\n<<shortcut-list \"Linux\" \"$:/config/shortcuts-linux/\">>\n<<shortcut-list \"NonLinux\" \"$:/config/shortcuts-not-linux/\">>\n<<shortcut-list \"Windows\" \"$:/config/shortcuts-windows/\">>\n<<shortcut-list \"NonWindows\" \"$:/config/shortcuts-not-windows/\">>\n\\end\n\n\\define shortcut-preview()\n<$macrocall $name=\"displayshortcuts\" $output=\"text/html\" shortcuts={{$(shortcutPrefix)$$(shortcutName)$}} prefix=\"<kbd>\" separator=\"</kbd> <kbd>\" suffix=\"</kbd>\"/>\n\\end\n\n\\define shortcut-item-inner()\n\\whitespace trim\n<tr>\n<td>\n<$reveal type=\"nomatch\" state=<<dropdownStateTitle>> text=\"open\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield\n\t$tiddler=<<dropdownStateTitle>>\n\t$value=\"open\"\n/>\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<dropdownStateTitle>> text=\"open\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield\n\t$tiddler=<<dropdownStateTitle>>\n\t$value=\"close\"\n/>\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n&#32;\n''<$text text=<<shortcutName>>/>''\n</td>\n<td>\n<$transclude tiddler=\"$:/config/ShortcutInfo/$(shortcutName)$\"/>\n</td>\n<td>\n<$list filter=\"$:/config/shortcuts/ $:/config/shortcuts-mac/ $:/config/shortcuts-not-mac/ $:/config/shortcuts-linux/ $:/config/shortcuts-not-linux/ $:/config/shortcuts-windows/ $:/config/shortcuts-not-windows/\" variable=\"shortcutPrefix\">\n<<shortcut-preview>>\n</$list>\n</td>\n</tr>\n<$set name=\"dropdownState\" value={{$(dropdownStateTitle)$}}>\n<$list filter=\"[<dropdownState>match[open]]\" variable=\"listItem\">\n<<shortcut-editor>>\n</$list>\n</$set>\n\\end\n\n\\define shortcut-item()\n\\whitespace trim\n<$set name=\"dropdownStateTitle\" value=<<qualify \"$:/state/dropdown/keyboardshortcut/$(shortcutName)$\">>>\n<<shortcut-item-inner>>\n</$set>\n\\end\n\\whitespace trim\n\n<table>\n<tbody>\n<$list filter=\"[all[shadows+tiddlers]removeprefix[$:/config/ShortcutInfo/]]\" variable=\"shortcutName\">\n<<shortcut-item>>\n</$list>\n</tbody>\n</table>\n"
  },
  {
    "path": "core/ui/ControlPanel/LoadedModules.tid",
    "content": "title: $:/core/ui/ControlPanel/LoadedModules\ntags: $:/tags/ControlPanel/Advanced\ncaption: {{$:/language/ControlPanel/LoadedModules/Caption}}\n\n\\define lingo-base() $:/language/ControlPanel/\n<<lingo LoadedModules/Hint>>\n\n{{$:/snippets/modules}}\n"
  },
  {
    "path": "core/ui/ControlPanel/Modals/AddPlugins.tid",
    "content": "title: $:/core/ui/ControlPanel/Modals/AddPlugins\nsubtitle: {{$:/core/images/download-button}} {{$:/language/ControlPanel/Plugins/Add/Caption}}\n\n\\define install-plugin-actions()\n\\whitespace trim\n<$action-sendmessage $message=\"tm-load-plugin-from-library\" url={{!!url}} title={{$(assetInfo)$!!original-title}}/>\n<$set name=\"url\" value={{!!url}}>\n<$set name=\"currentTiddler\" value=<<assetInfo>>>\n<$list filter=\"[enlist{!!dependents}] [{!!parent-plugin}] +[sort[name]]\" variable=\"dependency\">\n<$action-sendmessage $message=\"tm-load-plugin-from-library\" url=<<url>> title=<<dependency>>/>\n</$list>\n</$set>\n</$set>\n\\end\n\n\\define install-plugin-button()\n\\whitespace trim\n<div>\n<$set name=\"libraryVersion\" value={{{ [<assetInfo>get[version]] }}}>\n<$set name=\"installedVersion\" value={{{ [<assetInfo>get[original-title]get[version]] }}}>\n<$set name=\"reinstall-type\" value={{{ [<libraryVersion>compare:version:eq<installedVersion>then[tc-reinstall]] [<libraryVersion>compare:version:gt<installedVersion>then[tc-reinstall-upgrade]] [<libraryVersion>compare:version:lt<installedVersion>then[tc-reinstall-downgrade]] }}}>\n<$button actions=<<install-plugin-actions>> class={{{ [<assetInfo>get[original-title]has[version]then<reinstall-type>] tc-btn-invisible tc-install-plugin +[join[ ]] }}}>\n{{$:/core/images/download-button}}\n&#32;\n<$list filter=\"[<assetInfo>get[original-title]get[version]]\" variable=\"ignore\" emptyMessage=\"{{$:/language/ControlPanel/Plugins/Install/Caption}}\">\n<$list filter=\"[<libraryVersion>compare:version:gt<installedVersion>]\" variable=\"ignore\" emptyMessage=\"\n\\whitespace trim\n<$list filter='[<libraryVersion>compare:version:lt<installedVersion>]' variable='ignore' emptyMessage='{{$:/language/ControlPanel/Plugins/Reinstall/Caption}}'>\n{{$:/language/ControlPanel/Plugins/Downgrade/Caption}}\n</$list>\n\">\n{{$:/language/ControlPanel/Plugins/Update/Caption}}\n</$list>\n</$list>\n</$button>\n<div>\n</div>\n<$reveal stateTitle=<<assetInfo>> stateField=\"requires-reload\" type=\"match\" text=\"yes\">{{$:/language/ControlPanel/Plugins/PluginWillRequireReload}}</$reveal>\n</$set>\n</$set>\n</$set>\n</div>\n\\end\n\n\\define popup-state-macro()\n$:/state/add-plugin-info/$(connectionTiddler)$/$(assetInfo)$\n\\end\n\n\\define display-plugin-info(type)\n\\whitespace trim\n<$set name=\"popup-state\" value=<<popup-state-macro>>>\n<div class=\"tc-plugin-info\">\n<div class=\"tc-plugin-info-chunk tc-plugin-info-toggle\">\n<$reveal type=\"nomatch\" state=<<popup-state>> text=\"yes\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"yes\">\n{{$:/core/images/chevron-right}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<popup-state>> text=\"yes\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"no\">\n{{$:/core/images/chevron-down}}\n</$button>\n</$reveal>\n</div>\n<div class=\"tc-plugin-info-chunk tc-plugin-info-icon\">\n<$list filter=\"[<assetInfo>has[icon]]\" emptyMessage=\"\"\"<$transclude tiddler=\"$:/core/images/plugin-generic-$type$\"/>\"\"\">\n<img src={{$(assetInfo)$!!icon}}/>\n</$list>\n</div>\n<div class=\"tc-plugin-info-chunk tc-plugin-info-description\">\n<h1><strong><$text text={{{ [<assetInfo>get[name]] ~[<assetInfo>get[original-title]split[/]last[1]] }}}/></strong>:\n&#32;\n<$view tiddler=<<assetInfo>> field=\"description\"/>\n</h1>\n<h2><$view tiddler=<<assetInfo>> field=\"original-title\"/></h2>\n<div>\n<%if [<assetInfo>get[stability]match[STABILITY_0_DEPRECATED]] %>\n\t<span class=\"tc-plugin-info-stability tc-plugin-info-stability-deprecated\">{{$:/language/ControlPanel/Plugins/Stability/Deprecated}}</span>\n<%elseif [<assetInfo>get[stability]match[STABILITY_1_EXPERIMENTAL]] %>\n\t<span class=\"tc-plugin-info-stability tc-plugin-info-stability-experimental\">{{$:/language/ControlPanel/Plugins/Stability/Experimental}}</span>\n<%elseif [<assetInfo>get[stability]match[STABILITY_2_STABLE]] %>\n\t<span class=\"tc-plugin-info-stability tc-plugin-info-stability-stable\">{{$:/language/ControlPanel/Plugins/Stability/Stable}}</span>\n<%elseif [<assetInfo>get[stability]match[STABILITY_3_LEGACY]] %>\n\t<span class=\"tc-plugin-info-stability tc-plugin-info-stability-legacy\">{{$:/language/ControlPanel/Plugins/Stability/Legacy}}</span>\n<%endif%>\n<em><$view tiddler=<<assetInfo>> field=\"version\"/></em></div>\n<$list filter=\"[<assetInfo>get[original-title]get[version]]\" variable=\"installedVersion\"><div><em>{{$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint}}</em></div></$list>\n</div>\n<div class=\"tc-plugin-info-chunk tc-plugin-info-buttons\">\n<<install-plugin-button>>\n</div>\n</div>\n<$set name=\"original-title\" value={{{ [<assetInfo>get[original-title]] }}}>\n<$reveal type=\"match\" text=\"yes\" state=<<popup-state>>>\n<div class=\"tc-plugin-info-dropdown\">\n<$list filter=\"[enlist{!!dependents}] [<currentTiddler>get[parent-plugin]] +[limit[1]] ~[<assetInfo>get[original-title]!is[tiddler]]\" variable=\"ignore\">\n<div class=\"tc-plugin-info-dropdown-message\">\n<$list filter=\"[<assetInfo>get[original-title]!is[tiddler]]\">\n{{$:/language/ControlPanel/Plugins/NotInstalled/Hint}}\n</$list>\n<$set name=\"currentTiddler\" value=<<assetInfo>>>\n<$list filter=\"[enlist{!!dependents}] [<currentTiddler>get[parent-plugin]] +[limit[1]]\" variable=\"ignore\">\n<div>\n{{$:/language/ControlPanel/Plugins/AlsoRequires}}&#32;\n<$list filter=\"[enlist{!!dependents}] [{!!parent-plugin}] +[sort[name]]\" variable=\"dependency\">\n<$text text=<<dependency>>/>&#32;\n</$list>\n</div>\n</$list>\n</$set>\n</div>\n</$list>\n<div class=\"tc-plugin-info-dropdown-body\">\n<$transclude tiddler=<<assetInfo>> field=\"readme\" mode=\"block\"/>\n</div>\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]has[parent-plugin]parent-plugin<original-title>limit[1]]\" variable=\"ignore\">\n<div class=\"tc-plugin-info-sub-plugins\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]has[parent-plugin]parent-plugin<original-title>sort[name]]\" variable=\"assetInfo\">\n<<display-plugin-info \"$type$\">>\n</$list>\n</div>\n</$list>\n</div>\n</$reveal>\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]has[parent-plugin]parent-plugin<original-title>limit[1]]\" variable=\"ignore\">\n<$reveal type=\"nomatch\" text=\"yes\" state=<<popup-state>> tag=\"div\" class=\"tc-plugin-info-sub-plugin-indicator\">\n<$wikify name=\"count\" text=\"\"\"<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]has[parent-plugin]parent-plugin<original-title>]\"/>\"\"\">\n<$button class=\"tc-btn-invisible\" set=<<popup-state>> setTo=\"yes\">\n{{$:/language/ControlPanel/Plugins/SubPluginPrompt}}\n</$button>\n</$wikify>\n</$reveal>\n</$list>\n</$set>\n</$set>\n\\end\n\n\\define load-plugin-library-button()\n\\whitespace trim\n<$list filter=\"[<currentTiddler>get[enabled]else[yes]match[yes]]\" variable=\"ignore\">\n<$button class=\"tc-btn-big-green\">\n<$action-sendmessage $message=\"tm-load-plugin-library\" url={{!!url}} infoTitlePrefix=\"$:/temp/RemoteAssetInfo/\"/>\n{{$:/core/images/chevron-right}}&#32;{{$:/language/ControlPanel/Plugins/OpenPluginLibrary}}\n</$button>\n</$list>\n\\end\n\n\\define display-server-assets(type)\n\\whitespace trim\n{{$:/language/Search/Search}}:\n&#32;\n<$edit-text tiddler=\"\"\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\"\"\" default=\"\" type=\"search\" tag=\"input\"/>\n&#32;\n<$reveal state=\"\"\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\"\"\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"\"\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\"\"\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n<div class=\"tc-plugin-library-listing\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]search:author,description,original-title,readme,title{$:/temp/RemoteAssetSearch/$(currentTiddler)$}sort[name]]\" variable=\"assetInfo\">\n<$list filter=\"[[$:/temp/RemoteAssetSearch/$(currentTiddler)$]has[text]] ~[<assetInfo>!has[parent-plugin]]\" variable=\"ignore\"><!-- Hide sub-plugins if we're not searching -->\n<<display-plugin-info \"$type$\">>\n</$list>\n</$list>\n</div>\n\\end\n\n\\define display-server-connection()\n\\whitespace trim\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/ServerConnection]suffix{!!url}]\" variable=\"connectionTiddler\" emptyMessage=<<load-plugin-library-button>>>\n\n<$set name=\"transclusion\" value=<<connectionTiddler>>>\n\n<<tabs \"[[$:/core/ui/ControlPanel/Plugins/Add/Updates]] [[$:/core/ui/ControlPanel/Plugins/Add/Plugins]] [[$:/core/ui/ControlPanel/Plugins/Add/Themes]] [[$:/core/ui/ControlPanel/Plugins/Add/Languages]]\" \"$:/core/ui/ControlPanel/Plugins/Add/Plugins\">>\n\n</$set>\n\n</$list>\n\\end\n\n\\define close-library-button()\n\\whitespace trim\n<$reveal type='nomatch' state='$:/temp/ServerConnection/$(PluginLibraryURL)$' text=''>\n<$button class='tc-btn-big-green'>\n<$action-sendmessage $message=\"tm-unload-plugin-library\" url={{!!url}}/>\n{{$:/core/images/chevron-left}}&#32;{{$:/language/ControlPanel/Plugins/ClosePluginLibrary}}\n<$action-deletetiddler $filter=\"[prefix[$:/temp/ServerConnection/$(PluginLibraryURL)$]][prefix[$:/temp/RemoteAssetInfo/$(PluginLibraryURL)$]]\"/>\n</$button>\n</$reveal>\n\\end\n\n\\define plugin-library-listing()\n\\whitespace trim\n<div class=\"tc-tab-set\">\n<$set name=\"defaultTab\" value={{{ [all[tiddlers+shadows]tag[$:/tags/PluginLibrary]] }}}>\n<div class=\"tc-tab-buttons\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/PluginLibrary]]\">\n<$button set=<<qualify \"$:/state/addplugins/tab\">> setTo=<<currentTiddler>> default=<<defaultTab>> selectedClass=\"tc-tab-selected\">\n<$set name=\"tv-wikilinks\" value=\"no\">\n<$transclude field=\"caption\"/>\n</$set>\n</$button>\n</$list>\n</div>\n<div class=\"tc-tab-divider\"/>\n<div class=\"tc-tab-content\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/PluginLibrary]]\">\n<$reveal type=\"match\" state=<<qualify \"$:/state/addplugins/tab\">> text=<<currentTiddler>> default=<<defaultTab>>>\n<h2><$link><$transclude field=\"caption\"><$view field=\"title\"/></$transclude></$link></h2>\n//<$view field=\"url\"/>//\n<$transclude mode=\"block\"/>\n<$set name=PluginLibraryURL value={{!!url}}>\n<<close-library-button>>\n</$set>\n&#32;\n<<display-server-connection>>\n</$reveal>\n</$list>\n</div>\n</$set>\n</div>\n\\end\n\n\\import [subfilter{$:/core/config/GlobalImportFilter}]\n\\whitespace trim\n\n<div>\n<<plugin-library-listing>>\n</div>\n"
  },
  {
    "path": "core/ui/ControlPanel/Palette.tid",
    "content": "title: $:/core/ui/ControlPanel/Palette\ntags: $:/tags/ControlPanel/Appearance\ncaption: {{$:/language/ControlPanel/Palette/Caption}}\n\n\\define lingo-base() $:/language/ControlPanel/Palette/\n\n{{$:/snippets/paletteswitcher}}\n\n<$reveal type=\"nomatch\" state=\"$:/state/ShowPaletteEditor\" text=\"yes\">\n\n<$button set=\"$:/state/ShowPaletteEditor\" setTo=\"yes\"><<lingo ShowEditor/Caption>></$button>\n\n</$reveal>\n\n<$reveal type=\"match\" state=\"$:/state/ShowPaletteEditor\" text=\"yes\">\n\n<$button set=\"$:/state/ShowPaletteEditor\" setTo=\"no\"><<lingo HideEditor/Caption>></$button>\n{{$:/PaletteManager}}\n\n</$reveal>\n\n"
  },
  {
    "path": "core/ui/ControlPanel/Parsing.tid",
    "content": "title: $:/core/ui/ControlPanel/Parsing\ntags: $:/tags/ControlPanel/Advanced\ncaption: {{$:/language/ControlPanel/Parsing/Caption}}\n\n\\define lingo-base() $:/language/ControlPanel/Parsing/\n\n\\define toggle(Type)\n\\whitespace trim\n<$checkbox\ntiddler=\"\"\"$:/config/WikiParserRules/$Type$/$(rule)$\"\"\"\nfield=\"text\"\nchecked=\"enable\"\nunchecked=\"disable\"\ndefault=\"enable\">\n<span class=\"tc-small-gap-left\"><<rule>></span>\n</$checkbox>\n\\end\n\n\\define rules(type,Type)\n\\whitespace trim\n<$list filter=\"[wikiparserrules[$type$]]\" variable=\"rule\">\n<dd><<toggle $Type$>></dd>\n</$list>\n\\end\n\\whitespace trim\n\n<<lingo Hint>>\n\n<dl>\n<dt><<lingo Pragma/Caption>></dt>\n<<rules pragma Pragma>>\n<dt><<lingo Inline/Caption>></dt>\n<<rules inline Inline>>\n<dt><<lingo Block/Caption>></dt>\n<<rules block Block>>\n</dl>"
  },
  {
    "path": "core/ui/ControlPanel/Plugins/Add/Languages.tid",
    "content": "title: $:/core/ui/ControlPanel/Plugins/Add/Languages\ncaption: {{$:/language/ControlPanel/Plugins/Languages/Caption}} (<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[language]]\"/>)\n\n<<display-server-assets language>>\n"
  },
  {
    "path": "core/ui/ControlPanel/Plugins/Add/Plugins.tid",
    "content": "title: $:/core/ui/ControlPanel/Plugins/Add/Plugins\ncaption: {{$:/language/ControlPanel/Plugins/Plugins/Caption}}  (<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[plugin]]\"/>)\n\n<<display-server-assets plugin>>\n"
  },
  {
    "path": "core/ui/ControlPanel/Plugins/Add/Themes.tid",
    "content": "title: $:/core/ui/ControlPanel/Plugins/Add/Themes\ncaption: {{$:/language/ControlPanel/Plugins/Themes/Caption}}  (<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[theme]]\"/>)\n\n<<display-server-assets theme>>\n"
  },
  {
    "path": "core/ui/ControlPanel/Plugins/Add/Updates.tid",
    "content": "title: $:/core/ui/ControlPanel/Plugins/Add/Updates\ncaption: <$importvariables filter=\"$:/core/ui/ControlPanel/Plugins/Add/Updates\">{{$:/language/ControlPanel/Plugins/Updates/Caption}} (<<update-count>>)</$importvariables>\n\n\\define each-updateable-plugin(body)\n\\whitespace trim\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}sort[title]]\" variable=\"assetInfo\">\n<$set name=\"libraryVersion\" value={{{ [<assetInfo>get[version]] }}}>\n<$list filter=\"[<assetInfo>get[original-title]has[version]!version<libraryVersion>]\" variable=\"ignore\">\n<$set name=\"installedVersion\" value={{{ [<assetInfo>get[original-title]get[version]] }}}>\n<$list filter=\"[<installedversion>!match<libraryVersion>]\" variable=\"ignore\">\n$body$\n</$list>\n</$set>\n</$list>\n</$set>\n</$list>\n\\end\n\n\\define update-all-actions()\n<$macrocall $name=\"each-updateable-plugin\" body=\"\"\"\n<<install-plugin-actions>>\n\"\"\"/>\n\\end\n\n\\define update-count()\n<$wikify name=\"count-filter\" text=<<each-updateable-plugin \"&#91;&#91;<$text text=<<assetInfo>>/>]]\">>><$count filter=<<count-filter>>/></$wikify>\n\\end\n\n\\whitespace trim\n<$button actions=<<update-all-actions>> class=\"tc-btn-invisible tc-install-plugin tc-reinstall-upgrade\">\n{{$:/core/images/download-button}}\n&#32;\n{{||$:/language/ControlPanel/Plugins/Updates/UpdateAll/Caption}}\n</$button>\n\n<div class=\"tc-plugin-library-listing\">\n<$macrocall $name=\"each-updateable-plugin\" body=\"\"\"\n<$macrocall $name=\"display-plugin-info\" type={{{ [<assetInfo>get[original-plugin-type]] }}}/>\n\"\"\"/>\n</div>\n"
  },
  {
    "path": "core/ui/ControlPanel/Plugins/AddPlugins.tid",
    "content": "title: $:/core/ui/ControlPanel/Plugins/AddPlugins\n\n\\define lingo-base() $:/language/ControlPanel/Plugins/\n\\whitespace trim\n\n<$button message=\"tm-modal\" param=\"$:/core/ui/ControlPanel/Modals/AddPlugins\" tooltip={{$:/language/ControlPanel/Plugins/Add/Hint}} class=\"tc-btn-big-green tc-primary-btn\">\n{{$:/core/images/download-button}}\n&#32;\n<<lingo Add/Caption>>\n</$button>\n"
  },
  {
    "path": "core/ui/ControlPanel/Plugins/Installed/Languages.tid",
    "content": "title: $:/core/ui/ControlPanel/Plugins/Installed/Languages\ntags: $:/tags/ControlPanel/Plugins\ncaption: {{$:/language/ControlPanel/Plugins/Languages/Caption}} (<$count filter=\"[!has[draft.of]plugin-type[language]]\"/>)\n\n<<plugin-table language>>\n"
  },
  {
    "path": "core/ui/ControlPanel/Plugins/Installed/Plugins.tid",
    "content": "title: $:/core/ui/ControlPanel/Plugins/Installed/Plugins\ntags: $:/tags/ControlPanel/Plugins\ncaption: {{$:/language/ControlPanel/Plugins/Plugins/Caption}} (<$count filter=\"[!has[draft.of]plugin-type[plugin]]\"/>)\n\n<<plugin-table plugin>>\n"
  },
  {
    "path": "core/ui/ControlPanel/Plugins/Installed/Themes.tid",
    "content": "title: $:/core/ui/ControlPanel/Plugins/Installed/Themes\ntags: $:/tags/ControlPanel/Plugins\ncaption: {{$:/language/ControlPanel/Plugins/Themes/Caption}} (<$count filter=\"[!has[draft.of]plugin-type[theme]]\"/>)\n\n<<plugin-table theme>>\n"
  },
  {
    "path": "core/ui/ControlPanel/Plugins.tid",
    "content": "title: $:/core/ui/ControlPanel/Plugins\ntags: $:/tags/ControlPanel\ncaption: {{$:/language/ControlPanel/Plugins/Caption}}\n\n\\define lingo-base() $:/language/ControlPanel/Plugins/\n\n\\define plugin-table(type)\n\\whitespace trim\n<$set name=\"plugin-type\" value=\"\"\"$type$\"\"\">\n<$set name=\"qualified-state\" value=<<qualify \"$:/state/plugin-info\">>>\n<$list filter=\"[!has[draft.of]plugin-type[$type$]sort[name]]\" emptyMessage=<<lingo \"Empty/Hint\">> template=\"$:/core/ui/Components/plugin-info\"/>\n</$set>\n</$set>\n\\end\n\n{{$:/core/ui/ControlPanel/Plugins/AddPlugins}}\n\n<<lingo Installed/Hint>>\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[tiddlers+shadows]tag[$:/tags/ControlPanel/Plugins]!has[draft.of]]\" default=\"$:/core/ui/ControlPanel/Plugins/Installed/Plugins\" explicitState=\"$:/state/tab--86143343\"/>\n"
  },
  {
    "path": "core/ui/ControlPanel/Saving/DownloadSaver.tid",
    "content": "title: $:/core/ui/ControlPanel/Saving/DownloadSaver\ntags: $:/tags/ControlPanel/Saving\ncaption: {{$:/language/ControlPanel/Saving/DownloadSaver/Caption}}\n\n\\whitespace trim\n\\define lingo-base() $:/language/ControlPanel/Saving/DownloadSaver/\n\n<div class=\"tc-control-panel-saving\" data-setting-title=<<currentTab>>>\n\n<<lingo Hint>>\n\n!!.tc-control-panel-accent <$link to=\"$:/config/DownloadSaver/AutoSave\"><<lingo AutoSave/Hint>></$link>\n\n<$checkbox tiddler=\"$:/config/DownloadSaver/AutoSave\"\n\tfield=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"\n\tclass=\"tc-control-panel-item\"\n>\n\t<span class=\"tc-tiny-gap-left\"><<lingo AutoSave/Description>></span>\n</$checkbox>\n</div>"
  },
  {
    "path": "core/ui/ControlPanel/Saving/General.tid",
    "content": "title: $:/core/ui/ControlPanel/Saving/General\ntags: $:/tags/ControlPanel/Saving\ncaption: {{$:/language/ControlPanel/Saving/General/Caption}}\nlist-before:\n\n\\whitespace trim\n\\define lingo-base() $:/language/ControlPanel/Settings/\n\n<div class=\"tc-control-panel-saving\" data-setting-title=<<currentTab>>>\n\n{{$:/language/ControlPanel/Saving/General/Hint}}\n\n!!.tc-control-panel-accent <$link to=\"$:/config/AutoSave\"><<lingo AutoSave/Caption>></$link>\n\n<<lingo AutoSave/Hint>>\n\n<$radio tiddler=\"$:/config/AutoSave\" value=\"yes\">\n\t<span class=\"tc-tiny-gap-left\"><<lingo AutoSave/Enabled/Description>></span>\n</$radio>\n\n<$radio tiddler=\"$:/config/AutoSave\" value=\"no\">\n\t<span class=\"tc-tiny-gap-left\"><<lingo AutoSave/Disabled/Description>></span>\n</$radio>\n</div>"
  },
  {
    "path": "core/ui/ControlPanel/Saving/GitHub.tid",
    "content": "title: $:/core/ui/ControlPanel/Saving/GitHub\ntags: $:/tags/ControlPanel/Saving\ncaption: {{$:/language/ControlPanel/Saving/GitService/GitHub/Caption}}\n\n\\define lingo-base() $:/language/ControlPanel/Saving/GitService/\n\\define service-name() ~GitHub\n\n<<lingo Description>>\n\n|<<lingo UserName>> |<$edit-text tiddler=\"$:/GitHub/Username\" default=\"\" tag=\"input\"/> |\n|<<lingo GitHub/Password>> |<$password name=\"github\"/> |\n|<<lingo Repo>> |<$edit-text tiddler=\"$:/GitHub/Repo\" default=\"\" tag=\"input\"/> |\n|<<lingo Branch>> |<$edit-text tiddler=\"$:/GitHub/Branch\" default=\"main\" tag=\"input\"/> |\n|<<lingo Path>> |<$edit-text tiddler=\"$:/GitHub/Path\" default=\"\" tag=\"input\"/> |\n|<<lingo Filename>> |<$edit-text tiddler=\"$:/GitHub/Filename\" default=\"\" tag=\"input\"/> |\n|<<lingo ServerURL>> |<$edit-text tiddler=\"$:/GitHub/ServerURL\" default=\"https://api.github.com\" tag=\"input\" type=\"url\"/> |"
  },
  {
    "path": "core/ui/ControlPanel/Saving/GitLab.tid",
    "content": "title: $:/core/ui/ControlPanel/Saving/GitLab\ntags: $:/tags/ControlPanel/Saving\ncaption: {{$:/language/ControlPanel/Saving/GitService/GitLab/Caption}}\n\n\\define lingo-base() $:/language/ControlPanel/Saving/GitService/\n\\define service-name() ~GitLab\n\n<<lingo Description>>\n\n|<<lingo UserName>> |<$edit-text tiddler=\"$:/GitLab/Username\" default=\"\" tag=\"input\"/> |\n|<<lingo GitLab/Password>> |<$password name=\"gitlab\"/> |\n|<<lingo Repo>> |<$edit-text tiddler=\"$:/GitLab/Repo\" default=\"\" tag=\"input\"/> |\n|<<lingo Branch>> |<$edit-text tiddler=\"$:/GitLab/Branch\" default=\"master\" tag=\"input\"/> |\n|<<lingo Path>> |<$edit-text tiddler=\"$:/GitLab/Path\" default=\"\" tag=\"input\"/> |\n|<<lingo Filename>> |<$edit-text tiddler=\"$:/GitLab/Filename\" default=\"\" tag=\"input\"/> |\n|<<lingo ServerURL>> |<$edit-text tiddler=\"$:/GitLab/ServerURL\" default=\"https://gitlab.com/api/v4\" tag=\"input\" type=\"url\"/> |"
  },
  {
    "path": "core/ui/ControlPanel/Saving/TiddlySpot.tid",
    "content": "title: $:/core/ui/ControlPanel/Saving/TiddlySpot\ntags: $:/tags/ControlPanel/Saving\ncaption: {{$:/language/ControlPanel/Saving/TiddlySpot/Caption}}\n\n\\define lingo-base() $:/language/ControlPanel/Saving/TiddlySpot/\n\n\\define siteURL(path)\nhttp://$(userName)$.tiddlyspot.com/$path$/\n\\end\n\\define siteLink(path)\n\\whitespace trim\n<$reveal type=\"nomatch\" state=\"$:/UploadName\" text=\"\">\n<$set name=\"userName\" value={{$:/UploadName}}>\n<$reveal type=\"match\" state=\"$:/UploadURL\" text=\"\">\n<<siteURL $path$>>\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/UploadURL\" text=\"\">\n<$macrocall $name=resolvePath source={{$:/UploadBackupDir}} root={{$:/UploadURL}}/>\n</$reveal>\n</$set>\n</$reveal>\n\\end\n\n<<lingo Description>>\n\n|<<lingo UserName>> |<$edit-text tiddler=\"$:/UploadName\" default=\"\" tag=\"input\"/> |\n|<<lingo Password>> |<$password name=\"upload\"/> |\n\n''<<lingo Advanced/Heading>>''\n\n|<<lingo ServerURL>>  |<$edit-text tiddler=\"$:/UploadURL\" default=\"\" tag=\"input\" type=\"url\"/> |\n|<<lingo Filename>> |<$edit-text tiddler=\"$:/UploadFilename\" default=\"index.html\" tag=\"input\"/> |\n|<<lingo UploadDir>> |<$edit-text tiddler=\"$:/UploadDir\" default=\".\" tag=\"input\"/> |\n|<<lingo BackupDir>> |<$edit-text tiddler=\"$:/UploadBackupDir\" default=\".\" tag=\"input\"/> |\n\n<<lingo TiddlySpot/Hint>>\n"
  },
  {
    "path": "core/ui/ControlPanel/Saving/gitea.tid",
    "content": "title: $:/core/ui/ControlPanel/Saving/Gitea\ntags: $:/tags/ControlPanel/Saving\ncaption: {{$:/language/ControlPanel/Saving/GitService/Gitea/Caption}}\n\n\\define lingo-base() $:/language/ControlPanel/Saving/GitService/\n\\define service-name() Gitea\n\n<<lingo Description>>\n\n|<<lingo UserName>> |<$edit-text tiddler=\"$:/Gitea/Username\" default=\"\" tag=\"input\"/> |\n|<<lingo Gitea/Password>> |<$password name=\"Gitea\"/> |\n|<<lingo Repo>> |<$edit-text tiddler=\"$:/Gitea/Repo\" default=\"\" tag=\"input\"/> |\n|<<lingo Branch>> |<$edit-text tiddler=\"$:/Gitea/Branch\" default=\"master\" tag=\"input\"/> |\n|<<lingo Path>> |<$edit-text tiddler=\"$:/Gitea/Path\" default=\"\" tag=\"input\"/> |\n|<<lingo Filename>> |<$edit-text tiddler=\"$:/Gitea/Filename\" default=\"\" tag=\"input\"/> |\n|<<lingo ServerURL>> |<$edit-text tiddler=\"$:/Gitea/ServerURL\" default=\"https://gitea/api/v1\" tag=\"input\" type=\"url\"/> |\n"
  },
  {
    "path": "core/ui/ControlPanel/Saving.tid",
    "content": "title: $:/core/ui/ControlPanel/Saving\ntags: $:/tags/ControlPanel\ncaption: {{$:/language/ControlPanel/Saving/Caption}}\n\n\\whitespace trim\n{{$:/language/ControlPanel/Saving/Hint}}\n\n<div class=\"tc-control-panel\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Saving]!has[draft.of]]\" default=\"$:/core/ui/ControlPanel/Saving/General\" explicitState=\"$:/state/tab-2065006209\"/>\n</div>\n"
  },
  {
    "path": "core/ui/ControlPanel/Settings/ButtonStyles/Borderless.tid",
    "content": "title: $:/core/buttonstyles/Borderless\ntags: $:/tags/ToolbarButtonStyle\ncaption: {{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless}}\n\ntc-btn-invisible"
  },
  {
    "path": "core/ui/ControlPanel/Settings/ButtonStyles/Boxed.tid",
    "content": "title: $:/core/buttonstyles/Boxed\ntags: $:/tags/ToolbarButtonStyle\ncaption: {{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed}}\n\ntc-btn-boxed"
  },
  {
    "path": "core/ui/ControlPanel/Settings/ButtonStyles/Rounded.tid",
    "content": "title: $:/core/buttonstyles/Rounded\ntags: $:/tags/ToolbarButtonStyle\ncaption: {{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded}}\n\ntc-btn-rounded"
  },
  {
    "path": "core/ui/ControlPanel/Settings/CamelCase.tid",
    "content": "title: $:/core/ui/ControlPanel/Settings/CamelCase\ntags: $:/tags/ControlPanel/Settings\ncaption: {{$:/language/ControlPanel/Settings/CamelCase/Caption}}\n\n\\whitespace trim\n\\define lingo-base() $:/language/ControlPanel/Settings/CamelCase/\n\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/WikiParserRules/Inline/wikilink\"\n\tfield=\"text\" checked=\"enable\" unchecked=\"disable\" default=\"enable\"\n\tclass=\"tc-control-panel-item\"\n>\n\t<$link to=\"$:/config/WikiParserRules/Inline/wikilink\" class=\"tc-tiny-gap-left\">\n\t\t<<lingo Description>>\n\t</$link>\n</$checkbox>\n"
  },
  {
    "path": "core/ui/ControlPanel/Settings/DefaultMoreSidebarTab.tid",
    "content": "caption: {{$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Caption}}\ntags: $:/tags/ControlPanel/Settings\ntitle: $:/core/ui/ControlPanel/Settings/DefaultMoreSidebarTab\n\n\\whitespace trim\n\\define lingo-base() $:/language/ControlPanel/Settings/DefaultMoreSidebarTab/\n\n<$link to=\"$:/config/DefaultMoreSidebarTab\" class=\"tc-control-panel-item\">\n\t<<lingo Hint>>\n</$link>\n\n<$select tiddler=\"$:/config/DefaultMoreSidebarTab\" class=\"tc-select\">\n\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/MoreSideBar]!has[draft.of]]\">\n\t\t<option value=<<currentTiddler>>><$transclude field=\"caption\">\n\t\t\t<$text text=<<currentTiddler>>/>\n\t\t\t</$transclude>\n\t\t</option>\n\t</$list>\n</$select>\n"
  },
  {
    "path": "core/ui/ControlPanel/Settings/DefaultSidebarTab.tid",
    "content": "caption: {{$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption}}\ntags: $:/tags/ControlPanel/Settings\ntitle: $:/core/ui/ControlPanel/Settings/DefaultSidebarTab\n\n\\define lingo-base() $:/language/ControlPanel/Settings/DefaultSidebarTab/\n\\whitespace trim\n\n<$link to=\"$:/config/DefaultSidebarTab\" class=\"tc-control-panel-item\">\n\t<<lingo Hint>>\n</$link>\n\n<$select tiddler=\"$:/config/DefaultSidebarTab\" class=\"tc-select\">\n\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SideBar]!has[draft.of]]\">\n\t\t<option value=<<currentTiddler>>>\n\t\t\t<$transclude field=\"caption\">\n\t\t\t\t<$text text=<<currentTiddler>>/>\n\t\t\t</$transclude>\n\t\t</option>\n\t</$list>\n</$select>\n"
  },
  {
    "path": "core/ui/ControlPanel/Settings/DefaultTiddlerInfoTab.tid",
    "content": "caption: {{$:/language/ControlPanel/Settings/DefaultTiddlerInfoTab/Caption}}\ntags: $:/tags/ControlPanel/Settings\ntitle: $:/core/ui/ControlPanel/Settings/DefaultTiddlerInfoTab\n\n\\whitespace trim\n\\define lingo-base() $:/language/ControlPanel/Settings/DefaultTiddlerInfoTab/\n\n<$link to=\"$:/config/TiddlerInfo/Default\" class=\"tc-control-panel-item\">\n\t<<lingo Hint>>\n</$link>\n\n<$select tiddler=\"$:/config/TiddlerInfo/Default\" class=\"tc-select\">\n\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TiddlerInfo]!is[draft]]\">\n\t\t<option value=<<currentTiddler>>><$transclude field=\"caption\">\n\t\t\t<$text text=<<currentTiddler>>/>\n\t\t\t</$transclude>\n\t\t</option>\n\t</$list>\n</$select>\n"
  },
  {
    "path": "core/ui/ControlPanel/Settings/EditorToolbar.tid",
    "content": "title: $:/core/ui/ControlPanel/Settings/EditorToolbar\ntags: $:/tags/ControlPanel/Settings\ncaption: {{$:/language/ControlPanel/Settings/EditorToolbar/Caption}}\n\n\\whitespace trim\n\\define lingo-base() $:/language/ControlPanel/Settings/EditorToolbar/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/TextEditor/EnableToolbar\"\n\tfield=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"\n\tclass=\"tc-control-panel-item\"\n>\n\t<$link to=\"$:/config/TextEditor/EnableToolbar\" class=\"tc-tiny-gap-left\">\n\t\t<<lingo Description>>\n\t</$link>\n</$checkbox>\n"
  },
  {
    "path": "core/ui/ControlPanel/Settings/InfoPanelMode.tid",
    "content": "title: $:/core/ui/ControlPanel/Settings/InfoPanelMode\ntags: $:/tags/ControlPanel/Settings\ncaption: {{$:/language/ControlPanel/Settings/InfoPanelMode/Caption}}\n\n\\whitespace trim\n\\define lingo-base() $:/language/ControlPanel/Settings/InfoPanelMode/\n\n<$link to=\"$:/config/TiddlerInfo/Mode\" class=\"tc-control-panel-item\">\n\t<<lingo Hint>>\n</$link>\n\n<$radio tiddler=\"$:/config/TiddlerInfo/Mode\" value=\"popup\">\n\t<span class=\"tc-tiny-gap-left\"><<lingo Popup/Description>></span>\n</$radio>\n\n<$radio tiddler=\"$:/config/TiddlerInfo/Mode\" value=\"sticky\">\n\t<span class=\"tc-tiny-gap-left\"><<lingo Sticky/Description>></span>\n</$radio>\n"
  },
  {
    "path": "core/ui/ControlPanel/Settings/LinkToBehaviour.tid",
    "content": "title: $:/core/ui/ControlPanel/Settings/LinkToBehaviour\ntags: $:/tags/ControlPanel/Settings\ncaption: {{$:/language/ControlPanel/Settings/LinkToBehaviour/Caption}}\n\n\\whitespace trim\n\\define lingo-base() $:/language/ControlPanel/Settings/LinkToBehaviour/\n\n<$link to=\"$:/config/Navigation/openLinkFromInsideRiver\" class=\"tc-control-panel-item\">\n\t<<lingo \"InsideRiver/Hint\">>\n</$link>\n\n<$select tiddler=\"$:/config/Navigation/openLinkFromInsideRiver\" class=\"tc-select\">\n\t<option value=\"above\"><<lingo \"OpenAbove\">></option>\n\t<option value=\"below\"><<lingo \"OpenBelow\">></option>\n\t<option value=\"top\"><<lingo \"OpenAtTop\">></option>\n\t<option value=\"bottom\"><<lingo \"OpenAtBottom\">></option>\n</$select>\n\n<$link to=\"$:/config/Navigation/openLinkFromOutsideRiver\" class=\"tc-control-panel-item\">\n\t<<lingo \"OutsideRiver/Hint\">>\n</$link>\n\n<$select tiddler=\"$:/config/Navigation/openLinkFromOutsideRiver\" class=\"tc-select\">\n\t<option value=\"top\"><<lingo \"OpenAtTop\">></option>\n\t<option value=\"bottom\"><<lingo \"OpenAtBottom\">></option>\n</$select>\n"
  },
  {
    "path": "core/ui/ControlPanel/Settings/MissingLinks.tid",
    "content": "title: $:/core/ui/ControlPanel/Settings/MissingLinks\ntags: $:/tags/ControlPanel/Settings\ncaption: {{$:/language/ControlPanel/Settings/MissingLinks/Caption}}\n\n\\whitespace trim\n\\define lingo-base() $:/language/ControlPanel/Settings/MissingLinks/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/MissingLinks\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\">\n\t<$link to=\"$:/config/MissingLinks\" class=\"tc-control-panel-item\">\n\t\t<span class=\"tc-tiny-gap-left\"><<lingo Description>></span>\n\t</$link>\n</$checkbox>\n"
  },
  {
    "path": "core/ui/ControlPanel/Settings/NavigationAddressBar.tid",
    "content": "title: $:/core/ui/ControlPanel/Settings/NavigationAddressBar\ntags: $:/tags/ControlPanel/Settings\ncaption: {{$:/language/ControlPanel/Settings/NavigationAddressBar/Caption}}\n\n\\whitespace trim\n\\define lingo-base() $:/language/ControlPanel/Settings/NavigationAddressBar/\n\n<$link to=\"$:/config/Navigation/UpdateAddressBar\" class=\"tc-control-panel-item\">\n\t<<lingo Hint>>\n</$link>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateAddressBar\" value=\"permaview\">\n\t<span class=\"tc-tiny-gap-left\"><<lingo Permaview/Description>></span>\n</$radio>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateAddressBar\" value=\"permalink\">\n\t<span class=\"tc-tiny-gap-left\"><<lingo Permalink/Description>></span>\n</$radio>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateAddressBar\" value=\"no\">\n\t<span class=\"tc-tiny-gap-left\"><<lingo No/Description>></span>\n</$radio>\n"
  },
  {
    "path": "core/ui/ControlPanel/Settings/NavigationHistory.tid",
    "content": "title: $:/core/ui/ControlPanel/Settings/NavigationHistory\ntags: $:/tags/ControlPanel/Settings\ncaption: {{$:/language/ControlPanel/Settings/NavigationHistory/Caption}}\n\n\\whitespace trim\n\\define lingo-base() $:/language/ControlPanel/Settings/NavigationHistory/\n\n<$link to=\"$:/config/Navigation/UpdateHistory\" class=\"tc-control-panel-item\">\n\t<<lingo Hint>>\n</$link>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateHistory\" value=\"yes\">\n\t<span class=\"tc-tiny-gap-left\"><<lingo Yes/Description>></span>\n</$radio>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateHistory\" value=\"no\">\n\t<span class=\"tc-tiny-gap-left\"><<lingo No/Description>></span>\n</$radio>\n"
  },
  {
    "path": "core/ui/ControlPanel/Settings/NavigationPermalinkviewMode.tid",
    "content": "title: $:/core/ui/ControlPanel/Settings/NavigationPermalinkviewMode\ntags: $:/tags/ControlPanel/Settings\ncaption: {{$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Caption}}\n\n\\whitespace trim\n\\define lingo-base() $:/language/ControlPanel/Settings/NavigationPermalinkviewMode/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/Navigation/Permalinkview/CopyToClipboard\"\n\tfield=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"\n\tclass=\"tc-control-panel-item\"\n>\n\t<$link to=\"$:/config/Navigation/Permalinkview/CopyToClipboard\" class=\"tc-tiny-gap-left\">\n\t\t<<lingo CopyToClipboard/Description>>\n\t</$link>\n</$checkbox>\n\n<$checkbox tiddler=\"$:/config/Navigation/Permalinkview/UpdateAddressBar\"\n\tfield=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"\n\tclass=\"tc-control-panel-item\"\n>\n\t<$link to=\"$:/config/Navigation/Permalinkview/UpdateAddressBar\" class=\"tc-tiny-gap-left\">\n\t\t<<lingo UpdateAddressBar/Description>>\n\t</$link>\n</$checkbox>\n"
  },
  {
    "path": "core/ui/ControlPanel/Settings/PerformanceInstrumentation.tid",
    "content": "title: $:/core/ui/ControlPanel/Settings/PerformanceInstrumentation\ntags: $:/tags/ControlPanel/Settings\ncaption: {{$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption}}\n\n\\whitespace trim\n\\define lingo-base() $:/language/ControlPanel/Settings/PerformanceInstrumentation/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/Performance/Instrumentation\"\n\tfield=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"\n\tclass=\"tc-control-panel-item\"\n>\n\t<$link to=\"$:/config/Performance/Instrumentation\" class=\"tc-tiny-gap-left\">\n\t\t<<lingo Description>>\n\t</$link>\n</$checkbox>\n"
  },
  {
    "path": "core/ui/ControlPanel/Settings/RecentLimit.tid",
    "content": "title: $:/core/ui/ControlPanel/Settings/RecentLimit\ntags: $:/tags/ControlPanel/Settings\ncaption: {{$:/language/ControlPanel/Settings/RecentLimit/Caption}}\n\n\\whitespace trim\n\\procedure lingo-base() $:/language/ControlPanel/Settings/RecentLimit/\n<<lingo Hint>>\n\n|tc-table-no-border|k\n|<$link to=\"$:/config/RecentLimit\"><<lingo Caption>></$link> |<$edit-text tiddler=\"$:/config/RecentLimit\" tag=\"input\" type=\"number\"/> |\n"
  },
  {
    "path": "core/ui/ControlPanel/Settings/TitleLinks.tid",
    "content": "title: $:/core/ui/ControlPanel/Settings/TitleLinks\ntags: $:/tags/ControlPanel/Settings\ncaption: {{$:/language/ControlPanel/Settings/TitleLinks/Caption}}\n\n\\whitespace trim\n\\define lingo-base() $:/language/ControlPanel/Settings/TitleLinks/\n\n<$link to=\"$:/config/Tiddlers/TitleLinks\" class=\"tc-control-panel-item\">\n\t<<lingo Hint>>\n</$link>\n\n<$radio tiddler=\"$:/config/Tiddlers/TitleLinks\" value=\"yes\">\n\t<span class=\"tc-tiny-gap-left\"><<lingo Yes/Description>></span>\n</$radio>\n\n<$radio tiddler=\"$:/config/Tiddlers/TitleLinks\" value=\"no\">\n\t<span class=\"tc-tiny-gap-left\"><<lingo No/Description>></span>\n</$radio>\n"
  },
  {
    "path": "core/ui/ControlPanel/Settings/ToolbarButtonStyle.tid",
    "content": "title: $:/core/ui/ControlPanel/Settings/ToolbarButtonStyle\ntags: $:/tags/ControlPanel/Settings\ncaption: {{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption}}\n\n\\whitespace trim\n\\define lingo-base() $:/language/ControlPanel/Settings/ToolbarButtonStyle/\n\n<$link to=\"$:/config/Toolbar/ButtonClass\" class=\"tc-control-panel-item\">\n\t<<lingo \"Hint\">>\n</$link>\n\n<$select tiddler=\"$:/config/Toolbar/ButtonClass\" class=\"tc-select\">\n\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ToolbarButtonStyle]]\">\n\t\t<option value={{!!text}}>{{!!caption}}</option>\n\t</$list>\n</$select>\n"
  },
  {
    "path": "core/ui/ControlPanel/Settings/ToolbarButtons.tid",
    "content": "title: $:/core/ui/ControlPanel/Settings/ToolbarButtons\ntags: $:/tags/ControlPanel/Settings\ncaption: {{$:/language/ControlPanel/Settings/ToolbarButtons/Caption}}\n\n\\whitespace trim\n\\define lingo-base() $:/language/ControlPanel/Settings/ToolbarButtons/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/Toolbar/Icons\"\n\tfield=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"\n\tclass=\"tc-control-panel-item\"\n>\n\t<$link to=\"$:/config/Toolbar/Icons\" class=\"tc-tiny-gap-left\">\n\t\t<<lingo Icons/Description>>\n\t</$link>\n</$checkbox>\n\n<$checkbox tiddler=\"$:/config/Toolbar/Text\"\n\tfield=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"\n\tclass=\"tc-control-panel-item\"\n>\n\t<$link to=\"$:/config/Toolbar/Text\" class=\"tc-tiny-gap-left\">\n\t\t<<lingo Text/Description>>\n\t</$link>\n</$checkbox>\n"
  },
  {
    "path": "core/ui/ControlPanel/Settings.tid",
    "content": "title: $:/core/ui/ControlPanel/Settings\ntags: $:/tags/ControlPanel\ncaption: {{$:/language/ControlPanel/Settings/Caption}}\n\n<div class=\"tc-control-panel\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/SettingsTab]!has[draft.of]]\" default=\"$:/core/ui/ControlPanel/Settings/TiddlyWiki\" explicitState=\"$:/state/tab--697582678\"/>\n</div>"
  },
  {
    "path": "core/ui/ControlPanel/SocialCard.tid",
    "content": "title: $:/core/ui/ControlPanel/SocialCard\ntags: $:/tags/ControlPanel/Advanced\ncaption: {{$:/language/ControlPanel/SocialCard/Caption}}\n\n\\define lingo-base() $:/language/ControlPanel/\n\n<<lingo SocialCard/Hint>>\n\n|<$link to=\"$:/SiteTitle\"><<lingo Basics/Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Basics/Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteDomain\"><<lingo SocialCard/Domain/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteDomain\" default=\"\" tag=\"input\" type=\"url\"/> |\n|<$link to=\"$:/SiteUrl\"><<lingo SocialCard/Url/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteUrl\" default=\"\" tag=\"input\" type=\"url\"/> |\n|<$link to=\"$:/SitePreviewUrl\"><<lingo SocialCard/PreviewUrl/Prompt>></$link> |<$edit-text tiddler=\"$:/SitePreviewUrl\" default=\"\" tag=\"input\" type=\"url\"/> |\n\n<%if [[$:/SitePreviewUrl]get[text]else[]!is[blank]] %>\n<div>\n<div>\n<<lingo SocialCard/PreviewUrl/Preview>>\n</div>\n<img src={{$:/SitePreviewUrl}}/>\n</div>\n<%endif%>"
  },
  {
    "path": "core/ui/ControlPanel/StoryView.tid",
    "content": "title: $:/core/ui/ControlPanel/StoryView\ntags: $:/tags/ControlPanel/Appearance\ncaption: {{$:/language/ControlPanel/StoryView/Caption}}\n\n{{$:/snippets/viewswitcher}}\n"
  },
  {
    "path": "core/ui/ControlPanel/Stylesheets.tid",
    "content": "title: $:/core/ui/ControlPanel/Stylesheets\ntags: $:/tags/ControlPanel/Advanced\ncaption: {{$:/language/ControlPanel/Stylesheets/Caption}}\n\n\\define lingo-base() $:/language/ControlPanel/\n\n<<lingo Stylesheets/Hint>>\n\n{{$:/snippets/peek-stylesheets}}\n"
  },
  {
    "path": "core/ui/ControlPanel/TestCases.tid",
    "content": "title: $:/core/ui/ControlPanel/TestCases\ntags: $:/tags/ControlPanel/Advanced\ncaption: {{$:/language/ControlPanel/TestCases/Caption}}\n\n\\whitespace trim\n{{$:/language/ControlPanel/TestCases/Hint}}\n\n<div class=\"tc-control-panel\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/TestCases]!has[draft.of]]\" default=\"$:/core/ui/ControlPanel/TestCases/All\"/>\n</div>\n"
  },
  {
    "path": "core/ui/ControlPanel/TestCasesAll.tid",
    "content": "title: $:/core/ui/ControlPanel/TestCases/All\ntags: $:/tags/ControlPanel/TestCases\ncaption: {{$:/language/ControlPanel/TestCases/All/Caption}}\n\n\\define lingo-base() $:/language/ControlPanel/\n<<lingo TestCases/All/Hint>>\n\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/wiki-test-spec]type[text/vnd.tiddlywiki-multiple]] [all[tiddlers+shadows]tag[$:/tags/wiki-test-spec-failing]type[text/vnd.tiddlywiki-multiple]]\">\n\n<h2>\n\n<$link>\n\n<$text text=<<currentTiddler>>/>\n\n</$link>\n\n</h2>\n\n<$transclude\n\t$tiddler=\"$:/core/ui/TestCaseTemplate\"\n/>\n\n</$list>\n"
  },
  {
    "path": "core/ui/ControlPanel/TestCasesFailed.tid",
    "content": "title: $:/core/ui/ControlPanel/TestCases/Failed\ntags: $:/tags/ControlPanel/TestCases\ncaption: {{$:/language/ControlPanel/TestCases/Failed/Caption}}\n\n\\define lingo-base() $:/language/ControlPanel/\n<<lingo TestCases/Failed/Hint>>\n\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/wiki-test-spec]type[text/vnd.tiddlywiki-multiple]] [all[tiddlers+shadows]tag[$:/tags/wiki-test-spec-failing]type[text/vnd.tiddlywiki-multiple]]\">\n\n<$transclude\n\t$tiddler=\"$:/core/ui/TestCaseTemplate\"\n\thideIfPass=\"yes\"\n/>\n\n</$list>\n"
  },
  {
    "path": "core/ui/ControlPanel/Theme.tid",
    "content": "title: $:/core/ui/ControlPanel/Theme\ntags: $:/tags/ControlPanel/Appearance\ncaption: {{$:/language/ControlPanel/Theme/Caption}}\n\n{{$:/snippets/themeswitcher}}\n"
  },
  {
    "path": "core/ui/ControlPanel/TiddlerFields.tid",
    "content": "title: $:/core/ui/ControlPanel/TiddlerFields\ntags: $:/tags/ControlPanel/Advanced\ncaption: {{$:/language/ControlPanel/TiddlerFields/Caption}}\n\n\\define lingo-base() $:/language/ControlPanel/\n\n<<lingo TiddlerFields/Hint>>\n\n{{$:/snippets/allfields}}"
  },
  {
    "path": "core/ui/ControlPanel/TiddlyWiki.tid",
    "content": "title: $:/core/ui/ControlPanel/Settings/TiddlyWiki\ntags: $:/tags/ControlPanel/SettingsTab\ncaption: TiddlyWiki\nlist-before:\n\n\\define lingo-base() $:/language/ControlPanel/Settings/\n\n<<lingo Hint>>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Settings]]\">\n\n<div class=\"tc-control-panel-setting\" data-setting-title=<<currentTiddler>> >\n\n!!.tc-control-panel-accent <$link><$transclude field=\"caption\"/></$link>\n\n<$transclude/>\n\n</div>\n\n</$list>\n"
  },
  {
    "path": "core/ui/ControlPanel/Toolbars/EditToolbar.tid",
    "content": "title: $:/core/ui/ControlPanel/Toolbars/EditToolbar\ntags: $:/tags/ControlPanel/Toolbars\ncaption: {{$:/language/ControlPanel/Toolbars/EditToolbar/Caption}}\n\n\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-base() $:/config/EditToolbarButtons/Visibility/\n\n{{$:/language/ControlPanel/Toolbars/EditToolbar/Hint}}\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/EditToolbar\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\"/>\n\n</$set>\n\n</$set>"
  },
  {
    "path": "core/ui/ControlPanel/Toolbars/EditorItemTemplate.tid",
    "content": "title: $:/core/ui/ControlPanel/Toolbars/EditorItemTemplate\n\n\\define config-title()\n$(config-base)$$(currentTiddler)$\n\\end\n\\whitespace trim\n\n<$draggable tiddler=<<currentTiddler>>>\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/>\n&#32;\n<span class=\"tc-icon-wrapper\"><$transclude tiddler={{!!icon}}/></span>\n&#32;\n<$transclude field=\"caption\"/>\n&#32;--&#32;\n<i class=\"tc-muted\"><$transclude field=\"description\"/></i>\n</$draggable>\n"
  },
  {
    "path": "core/ui/ControlPanel/Toolbars/EditorToolbar.tid",
    "content": "title: $:/core/ui/ControlPanel/Toolbars/EditorToolbar\ntags: $:/tags/ControlPanel/Toolbars\ncaption: {{$:/language/ControlPanel/Toolbars/EditorToolbar/Caption}}\n\n\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-base() $:/config/EditorToolbarButtons/Visibility/\n\n{{$:/language/ControlPanel/Toolbars/EditorToolbar/Hint}}\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/EditorToolbar\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/EditorItemTemplate\"/>\n"
  },
  {
    "path": "core/ui/ControlPanel/Toolbars/ItemTemplate.tid",
    "content": "title: $:/core/ui/ControlPanel/Toolbars/ItemTemplate\n\n\\define config-title()\n$(config-base)$$(currentTiddler)$\n\\end\n\\whitespace trim\n\n<$draggable tiddler=<<currentTiddler>>>\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/>\n&#32;\n<span class=\"tc-icon-wrapper\">\n&#32;\n<$transclude field=\"caption\"/>\n&#32;\n<i class=\"tc-muted\">\n--&#32;\n<$transclude field=\"description\"/>\n</i></span>\n</$draggable>\n"
  },
  {
    "path": "core/ui/ControlPanel/Toolbars/PageControls.tid",
    "content": "title: $:/core/ui/ControlPanel/Toolbars/PageControls\ntags: $:/tags/ControlPanel/Toolbars\ncaption: {{$:/language/ControlPanel/Toolbars/PageControls/Caption}}\n\n\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-base() $:/config/PageControlButtons/Visibility/\n\n{{$:/language/ControlPanel/Toolbars/PageControls/Hint}}\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/PageControls\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\"/>\n\n</$set>\n\n</$set>\n"
  },
  {
    "path": "core/ui/ControlPanel/Toolbars/ViewToolbar.tid",
    "content": "title: $:/core/ui/ControlPanel/Toolbars/ViewToolbar\ntags: $:/tags/ControlPanel/Toolbars\ncaption: {{$:/language/ControlPanel/Toolbars/ViewToolbar/Caption}}\n\n\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-base() $:/config/ViewToolbarButtons/Visibility/\n\n{{$:/language/ControlPanel/Toolbars/ViewToolbar/Hint}}\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/ViewToolbar\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\"/>\n\n</$set>\n\n</$set>\n"
  },
  {
    "path": "core/ui/ControlPanel/Toolbars.tid",
    "content": "title: $:/core/ui/ControlPanel/Toolbars\ntags: $:/tags/ControlPanel/Appearance\ncaption: {{$:/language/ControlPanel/Toolbars/Caption}}\n\n\\whitespace trim\n{{$:/language/ControlPanel/Toolbars/Hint}}\n\n<div class=\"tc-control-panel\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Toolbars]!has[draft.of]]\" default=\"$:/core/ui/ControlPanel/Toolbars/ViewToolbar\" class=\"tc-vertical\" explicitState=\"$:/state/tabs/controlpanel/toolbars-1345989671\"/>\n</div>\n"
  },
  {
    "path": "core/ui/ControlPanel.tid",
    "content": "title: $:/ControlPanel\nicon: $:/core/images/options-button\ncolor: #bbb\n\n\\whitespace trim\n<div class=\"tc-control-panel\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel]!has[draft.of]]\" default=\"$:/core/ui/ControlPanel/Info\" explicitState=\"$:/state/tab-1749438307\"/>\n</div>\n"
  },
  {
    "path": "core/ui/DefaultSearchResultList.tid",
    "content": "title: $:/core/ui/DefaultSearchResultList\ntags: $:/tags/SearchResults\ncaption: {{$:/language/Search/DefaultResults/Caption}}\nfirst-search-filter: [!is[system]search:title<userInput>sort[title]limit[250]]\nsecond-search-filter: [!is[system]search<userInput>sort[title]limit[250]]\n\n\\define searchResultList()\n\\whitespace trim\n//<small>{{$:/language/Search/Matches/Title}}</small>//\n\n<$list filter=\"[<userInput>minlength[1]]\" variable=\"ignore\">\n<$list filter={{{ [<configTiddler>get[first-search-filter]] }}} emptyMessage={{$:/language/Search/Matches/NoResult}}>\n<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[<searchListState>get[text]] +[then[]else[tc-list-item-selected]] }}}>\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n</span>\n</$list>\n</$list>\n\n//<small>{{$:/language/Search/Matches/All}}</small>//\n\n<$list filter=\"[<userInput>minlength[1]]\" variable=\"ignore\">\n<$list filter={{{ [<configTiddler>get[second-search-filter]] }}} emptyMessage={{$:/language/Search/Matches/NoResult}}>\n<span class={{{[<currentTiddler>addsuffix[-secondaryList]] -[<searchListState>get[text]] +[then[]else[tc-list-item-selected]] }}}>\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n</span>\n</$list>\n</$list>\n\n\\end\n<<searchResultList>>\n"
  },
  {
    "path": "core/ui/DownloadFullWiki.tid",
    "content": "title: $:/core/ui/DownloadFullWiki\n\n\\whitespace trim\n\\rules except wikilink\n\nTo download the standard single-file version of your wiki:\n\n<$wikify name=\"site-title\" text={{$:/config/SaveWikiButton/Filename}}>\n<$let publishFilter=\"\"\"-[[$:/config/SaveWikiButton/Template]] -[[$:/plugins/tiddlywiki/filesystem]] -[[$:/plugins/tiddlywiki/tiddlyweb]]\"\"\">\n<$button tooltip=\"Download fully standalone wiki\" aria-label=\"download full wiki\" class=\"tc-btn-big-green\">\n<$action-sendmessage $message=\"tm-download-file\" $param=\"$:/core/save/all\" publishFilter=<<publishFilter>> filename=<<site-title>>/>\n{{$:/core/images/download-button}}\n<span class=\"tc-tiny-gap-left\">\nDownload full wiki\n</span>\n</$button>\n</$let>\n</$wikify>"
  },
  {
    "path": "core/ui/EditTemplate/Preview/diffs-current.tid",
    "content": "title: $:/core/ui/EditTemplate/body/preview/diffs-current\ntags: $:/tags/EditPreview\ncaption: {{$:/language/EditTemplate/Body/Preview/Type/DiffCurrent}}\nlist-after: $:/core/ui/EditTemplate/body/preview/output\n\n<$list filter=\"[<currentTiddler>!is[image]]\" emptyMessage={{$:/core/ui/EditTemplate/body/preview/output}}>\n\n<$macrocall $name=\"compareTiddlerText\" sourceTiddlerTitle={{!!draft.of}} destTiddlerTitle=<<currentTiddler>>/>\n\n</$list>\n\n"
  },
  {
    "path": "core/ui/EditTemplate/Preview/diffs-shadow.tid",
    "content": "title: $:/core/ui/EditTemplate/body/preview/diffs-shadow\ntags: $:/tags/EditPreview\ncaption: {{$:/language/EditTemplate/Body/Preview/Type/DiffShadow}}\nlist-after: $:/core/ui/EditTemplate/body/preview/output\n\n<$list filter=\"[<currentTiddler>!is[image]]\" emptyMessage={{$:/core/ui/EditTemplate/body/preview/output}}>\n\n<$macrocall $name=\"compareTiddlerText\" sourceTiddlerTitle={{{ [{!!draft.of}shadowsource[]] }}} sourceSubTiddlerTitle={{!!draft.of}} destTiddlerTitle=<<currentTiddler>>/>\n\n</$list>\n\n"
  },
  {
    "path": "core/ui/EditTemplate/Preview/output.tid",
    "content": "title: $:/core/ui/EditTemplate/body/preview/output\ntags: $:/tags/EditPreview\ncaption: {{$:/language/EditTemplate/Body/Preview/Type/Output}}\n\n\\import [all[shadows+tiddlers]tag[$:/tags/Macro/View]!is[draft]] [all[shadows+tiddlers]tag[$:/tags/Macro/View/Body]!is[draft]] [all[shadows+tiddlers]tag[$:/tags/Global/View]!is[draft]] [all[shadows+tiddlers]tag[$:/tags/Global/View/Body]!is[draft]]\n<$set name=\"tv-tiddler-preview\" value=\"yes\">\n\n<$transclude tiddler={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/ViewTemplateBodyFilter]!is[draft]get[text]] :and[!is[blank]else[$:/core/ui/ViewTemplate/body/default]] }}} />\n\n</$set>\n"
  },
  {
    "path": "core/ui/EditTemplate/Preview/showeditpreview.tid",
    "content": "title: $:/state/showeditpreview\ntext: no"
  },
  {
    "path": "core/ui/EditTemplate/body/canonical-uri.tid",
    "content": "title: $:/core/ui/EditTemplate/body/canonical-uri\n\n\\define lingo-base() $:/language/EditTemplate/Body/\n\n<div class=\"tc-message-box\">\n\n<<lingo External/Hint>>\n\n<a href={{!!_canonical_uri}}><$text text={{!!_canonical_uri}}/></a>\n\n<$edit-text field=\"_canonical_uri\" class=\"tc-edit-fields\" tabindex={{$:/config/EditTabIndex}} cancelPopups=\"yes\"></$edit-text>\n\n</div>\n"
  },
  {
    "path": "core/ui/EditTemplate/body/default.tid",
    "content": "title: $:/core/ui/EditTemplate/body/default\n\n\\function edit-preview-state()\n[{$:/config/ShowEditPreview/PerTiddler}!match[yes]then[$:/state/showeditpreview]] :else[<qualified-preview-state>] +[get[text]] :else[[no]]\n\\end\n\n\\define config-visibility-title()\n$:/config/EditorToolbarButtons/Visibility/$(currentTiddler)$\n\\end\n\n\\define importFileActions()\n<$action-popup $state=<<importState>> $coords=\"(0,0,0,0)\" $floating=\"yes\"/>\n\\end\n\n\\whitespace trim\n<$let\n\tqualified-preview-state=<<qualify \"$:/state/showeditpreview\">>\n\teditPreviewStateTiddler={{{ [{$:/config/ShowEditPreview/PerTiddler}!match[yes]then[$:/state/showeditpreview]] :else[<qualified-preview-state>] }}}\n\timportTitle=<<qualify $:/ImportImage>>\n\timportState=<<qualify $:/state/ImportImage>> >\n<$dropzone importTitle=<<importTitle>> autoOpenOnImport=\"no\" contentTypesFilter={{$:/config/Editor/ImportContentTypesFilter}} class=\"tc-dropzone-editor\" enable={{{ [{$:/config/DragAndDrop/Enable}match[no]] :else[subfilter{$:/config/Editor/EnableImportFilter}then[yes]else[no]] }}} filesOnly=\"yes\" actions=<<importFileActions>> >\n<div>\n<div class={{{ [<edit-preview-state>match[yes]then[tc-tiddler-preview]else[tc-tiddler-preview-hidden]] [[tc-tiddler-editor]] +[join[ ]] }}}>\n\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/editor\" mode=\"inline\"/>\n\n<$list filter=\"[<editPreviewStateTiddler>get[text]match[yes]]\" variable=\"ignore\">\n\n<div class=\"tc-tiddler-preview-preview\" data-tiddler-title={{!!draft.title}} data-tags={{!!tags}}>\n\n<$transclude tiddler={{$:/state/editpreviewtype}} mode=\"inline\">\n\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/preview/output\" mode=\"inline\"/>\n\n</$transclude>\n\n</div>\n\n</$list>\n\n</div>\n\n</div>\n\n</$dropzone>\n\n</$let>\n"
  },
  {
    "path": "core/ui/EditTemplate/body-editor.tid",
    "content": "title: $:/core/ui/EditTemplate/body/editor\n\n\\whitespace trim\n\n<$edit\n\n  field=\"text\"\n  class=\"tc-edit-texteditor tc-edit-texteditor-body\"\n  placeholder={{$:/language/EditTemplate/Body/Placeholder}}\n  tabindex={{$:/config/EditTabIndex}}\n  focus={{{ [{!!draft.of}is[tiddler]then{$:/config/AutoFocusEdit}match[text]then[true]] ~[{$:/config/AutoFocus}match[text]then[true]] ~[[false]] }}}\n  cancelPopups=\"yes\"\n  fileDrop={{{ [{$:/config/DragAndDrop/Enable}match[no]] :else[subfilter{$:/config/Editor/EnableImportFilter}then[yes]else[no]] }}}\n\n><$set\n\n  name=\"targetTiddler\"\n  value=<<currentTiddler>>\n\n><$list\n\n  filter=\"[all[shadows+tiddlers]tag[$:/tags/EditorToolbar]!has[draft.of]]\"\n\n><$reveal\n\n  type=\"nomatch\"\n  state=<<config-visibility-title>>\n  text=\"hide\"\n  class=\"tc-text-editor-toolbar-item-wrapper\"\n\n><$transclude\n\n  tiddler=\"$:/core/ui/EditTemplate/body/toolbar/button\"\n  mode=\"inline\"\n\n/></$reveal></$list><$list\n\n  filter=\"[all[shadows+tiddlers]tag[$:/tags/EditorTools]!has[draft.of]]\"\n\n><$list\n\tfilter={{!!condition}}\n\tvariable=\"list-condition\"\n><$transclude/>\n</$list></$list></$set></$edit>\n"
  },
  {
    "path": "core/ui/EditTemplate/body-toolbar-button.tid",
    "content": "title: $:/core/ui/EditTemplate/body/toolbar/button\n\n\\define toolbar-button-icon()\n<$list\n\n  filter=\"[all[current]!has[custom-icon]]\"\n  variable=\"no-custom-icon\"\n\n><$transclude\n\n  tiddler={{!!icon}}\n\n/></$list>\n\\end\n\n\\define toolbar-button-tooltip()\n{{!!description}}<$macrocall $name=\"displayshortcuts\" $output=\"text/plain\" shortcuts={{!!shortcuts}} prefix=\"` - [\" separator=\"] [\" suffix=\"]`\"/>\n\\end\n\n\\define toolbar-button()\n<$list\n\n  filter={{!!condition}}\n  variable=\"list-condition\"\n\n><$wikify\n\n  name=\"tooltip-text\"\n  text=<<toolbar-button-tooltip>>\n  mode=\"inline\"\n  output=\"text\"\n\n><$list\n\n  filter=\"[all[current]!has[dropdown]]\"\n  variable=\"no-dropdown\"\n\n><$set name=disabled filter={{!!condition-disabled}}><$button\n\n  class=\"tc-btn-invisible $(buttonClasses)$\"\n  tooltip=<<tooltip-text>>\n  actions={{!!actions}}\n  disabled=<<disabled>>\n\n><span\n\n  data-tw-keyboard-shortcut={{{ [<disabled>match[yes]then[]else{!!shortcuts}] }}}\n\n/><<toolbar-button-icon>><$transclude\n\n  tiddler=<<currentTiddler>>\n  field=\"text\"\n\n/></$button></$set></$list><$list\n\n  filter=\"[all[current]has[dropdown]]\"\n  variable=\"dropdown\"\n\n><$set\n\n  name=\"dropdown-state\"\n  value=<<qualify \"$:/state/EditorToolbarDropdown\">>\n\n><$set name=disabled filter={{!!condition-disabled}}><$button\n\n  popup=<<dropdown-state>>\n  class=\"tc-popup-keep tc-btn-invisible $(buttonClasses)$\"\n  selectedClass=\"tc-selected\"\n  tooltip=<<tooltip-text>>\n  actions={{!!actions}}\n  disabled=<<disabled>>\n\n><span\n\n  data-tw-keyboard-shortcut={{{ [<disabled>match[yes]then[]else{!!shortcuts}] }}}\n\n/><<toolbar-button-icon>><$transclude\n\n  tiddler=<<currentTiddler>>\n  field=\"text\"\n\n/></$button></$set><$reveal\n\n  state=<<dropdown-state>>\n  type=\"popup\"\n  position=\"below\"\n  animate=\"yes\"\n  tag=\"span\"\n\n><div\n\n  class=\"tc-drop-down tc-popup-keep\"\n\n><$transclude\n\n  tiddler={{!!dropdown}}\n  mode=\"block\"\n\n/></div></$reveal></$set></$list></$wikify></$list>\n\\end\n\n\\define toolbar-button-outer()\n<$set\n\n  name=\"buttonClasses\"\n  value={{{ [subfilter{!!button-classes}] :and[join[ ]] }}}\n\n><<toolbar-button>></$set>\n\\end\n\n<<toolbar-button-outer>>\n"
  },
  {
    "path": "core/ui/EditTemplate/body.tid",
    "content": "title: $:/core/ui/EditTemplate/body\ntags: $:/tags/EditTemplate\n\n<$transclude tiddler={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/EditTemplateBodyFilter]!is[draft]get[text]] :and[!is[blank]else[$:/core/ui/EditTemplate/body/default]] }}} />\n"
  },
  {
    "path": "core/ui/EditTemplate/controls.tid",
    "content": "title: $:/core/ui/EditTemplate/controls\ntags: $:/tags/EditTemplate\n\n\\define config-title() $:/config/EditToolbarButtons/Visibility/$(listItem)$\n\\whitespace trim\n<div class=\"tc-tiddler-title tc-tiddler-edit-title tc-clearfix\">\n\t<$view field=\"title\"/>\n\t<span class=\"tc-tiddler-controls tc-titlebar\">\n\t\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditToolbar]!has[draft.of]]\" variable=\"listItem\">\n\t\t\t<$let tv-config-toolbar-class={{{ [enlist<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]] +[join[ ]] }}}>\n\t\t\t\t<$reveal type=\"nomatch\" state=<<config-title>> text=\"hide\">\n\t\t\t\t\t<$transclude $tiddler=<<listItem>>/>\n\t\t\t\t</$reveal>\n\t\t\t</$let>\n\t\t</$list>\n\t</span>\n</div>\n"
  },
  {
    "path": "core/ui/EditTemplate/fieldEditor-default.tid",
    "content": "title: $:/core/ui/EditTemplate/fieldEditor/default\n\n<$edit-text tiddler=<<currentTiddler>> field=<<currentField>> tag=\"input\" default=\"\" class=\"tc-edit-texteditor tc-edit-fieldeditor\" placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}} tabindex={{$:/config/EditTabIndex}} cancelPopups=\"yes\"/>"
  },
  {
    "path": "core/ui/EditTemplate/fields.tid",
    "content": "title: $:/core/ui/EditTemplate/fields\ntags: $:/tags/EditTemplate\n\n\\whitespace trim\n\n\\procedure lingo-base() $:/language/EditTemplate/\n\n\\procedure delete-state-tiddlers() <$action-deletetiddler $filter=\"[<newFieldNameTiddler>] [<storeTitle>] [<searchListState>]\"/>\n\n\\procedure focus-new-field-input() <$action-sendmessage $message=\"tm-focus-selector\" $param=`[data-tiddler-title=\"$(storyTiddler)$\"] .tc-edit-field-add-name-wrapper input` />\n\n\\procedure new-field-actions()\n\t<$action-setfield $tiddler=<<storyTiddler>> $field={{{ [<newFieldNameTiddler>get[text]] }}} $value={{{ [<newFieldValueTiddler>get[text]] }}} />\n\t<$action-deletetiddler $filter=\"[prefix[$:/temp/NewFieldValue]prefix<newFieldValueTiddlerPrefix>]\"/>\n\t<<delete-state-tiddlers>>\n\t<<focus-new-field-input>>\n\\end\n\n\\procedure delete-field-actions()\n\t<$action-deletefield $field=<<currentField>>/>\n\t<<focus-new-field-input>>\n\\end\n\n\\procedure cancel-search-actions()\n\t<$let userInput={{{ [<storeTitle>get[text]] }}}>\n\t\t<%if [<newFieldNameTiddler>get[text]!match<userInput>] %>\n\t\t\t<$action-setfield $tiddler=<<newFieldNameTiddler>> text=<<userInput>>/>\n\t\t\t<$action-setfield $tiddler=<<refreshTitle>> text=\"yes\"/>\n\t\t<%else%>\n\t\t\t<%if [<storeTitle>has[text]] [<newFieldNameTiddler>has[text]] %>\n\t\t\t\t<<delete-state-tiddlers>>\t\n\t\t\t<%else%>\n\t\t\t\t<<cancel-delete-tiddler-actions 'cancel'>>\n\t\t\t<%endif%>\n\t\t<%endif%>\n\t</$let>\n\\end\n\n\\procedure new-field()\n\t<%if [<newFieldNameTiddler>get[text]!is[blank]] %>\n\t\t<$button actions=\"<<new-field-actions>>\" tooltip={{$:/language/EditTemplate/Fields/Add/Button/Hint}}>\n\t\t\t<<lingo Fields/Add/Button>>\n\t\t</$button>\t\n\t<%else%>\n\t\t<$button>\t\n\t\t\t<<lingo Fields/Add/Button>>\n\t\t</$button>\t\n\t<%endif%>\n\\end\n\n\\function tf.config-filter() [lookup:show[$:/config/EditTemplateFields/Visibility/]!match[hide]]\n\n\\function tf.field-cascade()\n\t[<currentField>]\n\t:cascade[all[shadows+tiddlers]tag[$:/tags/FieldEditorFilter]!is[draft]get[text]]\n\t:and[!is[blank]else{$:/core/ui/EditTemplate/fieldEditor/default}]\n\\end\n\n\\function tf.get-field-editor()\n\t[<newFieldNameTiddler>get[text]else[]]\n\t:cascade[all[shadows+tiddlers]tag[$:/tags/FieldEditorFilter]!is[draft]get[text]]\n\t:and[!is[blank]else{$:/core/ui/EditTemplate/fieldEditor/default}]\n\\end\n\n\\function tf.primary-list-exceptions() created creator draft.of draft.title modified modifier tags text title type\n\n\\function tf.list-selection-class(listSuffix) [<searchListState>get[text]removesuffix<listSuffix>match<currentField>then[tc-list-item-selected]]\n\n\n<$let newFieldValueTiddlerPrefix={{{ [<newFieldValueTiddlerPrefix>!is[blank]else<qualify \"$:/temp/NewFieldValue\">] }}} >\n\t<div class=\"tc-edit-fields\">\n\t\t<!-- table of user fields of the current tiddler -->\n\t\t<table class=`tc-edit-fields ${ [all[current]fields[]] :filter[tf.config-filter[]] :and[count[]match[0]then[tc-edit-fields-small]] }$`>\n\t\t\t<tbody>\n\t\t\t\t<$list filter=\"[all[current]fields[]] :and[sort[title]]\" variable=\"currentField\" storyview=\"pop\">\n\t\t\t\t\t<%if [<currentField>tf.config-filter[]] %>\n\t\t\t\t\t\t<tr class=\"tc-edit-field\">\n\t\t\t\t\t\t\t<td class=\"tc-edit-field-name\">\n\t\t\t\t\t\t\t\t<$text text=<<currentField>>/>:\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t<td class=\"tc-edit-field-value\">\n\t\t\t\t\t\t\t\t<$keyboard key=\"((delete-field))\" actions=\"<<delete-field-actions>>\">\n\t\t\t\t\t\t\t\t\t<$transclude tiddler=<<tf.field-cascade>> />\n\t\t\t\t\t\t\t\t</$keyboard>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t<td class=\"tc-edit-field-remove\">\n\t\t\t\t\t\t\t\t<$button actions=\"<<delete-field-actions>>\"\n\t\t\t\t\t\t\t\t\taria-label={{$:/language/EditTemplate/Field/Remove/Caption}}\n\t\t\t\t\t\t\t\t\tclass=\"tc-btn-invisible\"\n\t\t\t\t\t\t\t\t\ttooltip={{$:/language/EditTemplate/Field/Remove/Hint}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{{$:/core/images/delete-button}}\n\t\t\t\t\t\t\t\t</$button>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t<%endif%>\n\t\t\t\t</$list>\n\t\t\t</tbody>\n\t\t</table>\n\t</div>\n\t\n\t<!-- input control for new field name with selection dropdown -->\n\t<div class=\"tc-edit-field-add\">\n\t\t<em class=\"tc-edit tc-small-gap-right\">\n\t\t\t<<lingo Fields/Add/Prompt>>\n\t\t</em>\n\t\t<$let refreshTitle=<<qualify \"$:/temp/fieldname/refresh\">>\n\t\t\tstoreTitle=<<newFieldNameInputTiddler>>\n\t\t\tsearchListState=<<newFieldNameSelectionTiddler>>\n\t\t>\n\t\t\t<div class=\"tc-edit-field-add-name-wrapper\">\n\t\t\t\t<$transclude $variable=\"keyboard-driven-input\"\n\t\t\t\t\tcancelPopups=\"yes\"\n\t\t\t\t\tclass=`tc-edit-texteditor tc-popup-handle ${ [<newFieldNameTiddler>get[text]] :intersection[<storyTiddler>fields[]] :then[[tc-edit-field-exists]] }$`\n\t\t\t\t\tconfigTiddlerFilter=\"[[$:/config/EditMode/fieldname-filter]]\"\n\t\t\t\t\tdefault=\"\"\n\t\t\t\t\tfocus={{{ [{!!draft.of}is[tiddler]then{$:/config/AutoFocusEdit}match[fields]then[true]] :else[{$:/config/AutoFocus}match[fields]then[true]] :else[[false]] }}}\n\t\t\t\t\tfocusPopup=<<qualify \"$:/state/popup/field-dropdown\">>\n\t\t\t\t\tinputAcceptVariantActions=<<save-tiddler-actions>>\n\t\t\t\t\tinputCancelActions=<<cancel-search-actions>>\n\t\t\t\t\tplaceholder={{$:/language/EditTemplate/Fields/Add/Name/Placeholder}}\n\t\t\t\t\trefreshTitle=<<refreshTitle>>\n\t\t\t\t\tselectionStateTitle=<<searchListState>>\n\t\t\t\t\tstoreTitle=<<storeTitle>>\n\t\t\t\t\ttag=\"input\"\n\t\t\t\t\ttabindex={{$:/config/EditTabIndex}}\n\t\t\t\t\ttiddler=<<newFieldNameTiddler>>\n\t\t\t\t/>\n\t\t\t\t<$button aria-label={{$:/language/EditTemplate/Field/Dropdown/Caption}}\n\t\t\t\t\tclass=\"tc-btn-invisible tc-btn-dropdown tc-small-gap\"\n\t\t\t\t\tpopup=<<qualify \"$:/state/popup/field-dropdown\">>\n\t\t\t\t\ttooltip={{$:/language/EditTemplate/Field/Dropdown/Hint}}\n\t\t\t\t>\n\t\t\t\t\t{{$:/core/images/down-arrow}}\n\t\t\t\t</$button>\n\t\t\t\t<$reveal state=<<qualify \"$:/state/popup/field-dropdown\">> type=\"nomatch\" text=\"\" default=\"\" tag=\"div\" class=\"tc-block-dropdown tc-edit-type-dropdown\">\n\t\t\t\t\t<$let tv-show-missing-links=\"yes\">\n\t\t\t\t\t\t<$linkcatcher to=<<newFieldNameTiddler>>>\n\t\t\t\t\t\t\t<div class=\"tc-dropdown-item\">\n\t\t\t\t\t\t\t\t<<lingo Fields/Add/Dropdown/User>>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<$let newFieldName={{{ [<storeTitle>get[text]] }}}\n\t\t\t\t\t\t\t\tprimaryListFields={{{ [!is[shadow]!is[system]fields[]format:titlelist[]join[ ]] }}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<$list filter=\"[enlist<primaryListFields>search:title<newFieldName>sort[]] :except[tf.primary-list-exceptions[]]\" variable=\"currentField\">\n\t\t\t\t\t\t\t\t\t<$link to=<<currentField>> class=<<tf.list-selection-class \"-primaryList\">> >\n\t\t\t\t\t\t\t\t\t\t<$text text=<<currentField>>/>\n\t\t\t\t\t\t\t\t\t</$link>\n\t\t\t\t\t\t\t\t</$list>\n\t\t\t\t\t\t\t\t<div class=\"tc-dropdown-item\">\n\t\t\t\t\t\t\t\t\t<<lingo Fields/Add/Dropdown/System>>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<$list filter=\"[fields[]search:title<newFieldName>!enlist<primaryListFields>sort[]]\" variable=\"currentField\">\n\t\t\t\t\t\t\t\t\t<$link to=<<currentField>> class=<<tf.list-selection-class \"-secondaryList\">>>\n\t\t\t\t\t\t\t\t\t\t<$text text=<<currentField>>/>\n\t\t\t\t\t\t\t\t\t</$link>\n\t\t\t\t\t\t\t\t</$list>\n\t\t\t\t\t\t\t</$let>\n\t\t\t\t\t\t</$linkcatcher>\n\t\t\t\t\t</$let>\n\t\t\t\t</$reveal>\n\t\t\t</div>\n\n\t\t\t<!-- input control for new field content -->\n\t\t\t<$let currentFieldName={{{ [<newFieldNameTiddler>get[text]] }}}\n\t\t\t\tfieldEditor=<<tf.get-field-editor>>\n\t\t\t\tnewFieldValueTiddler={{{ [<newFieldValueTiddlerPrefix>] [[/]] [<fieldEditor>sha256[16]] :and[join[]] }}}\n\t\t\t\tcurrentTiddler=<<newFieldValueTiddler>>\n\t\t\t>\n\t\t\t\t<span class=\"tc-edit-field-add-value tc-small-gap-right\">\n\t\t\t\t\t<$keyboard key=\"((add-field))\" actions=\"<<new-field-actions>>\">\n\t\t\t\t\t\t<$transclude $tiddler=<<fieldEditor>> />\n\t\t\t\t\t</$keyboard>\n\t\t\t\t</span>\n\t\t\t\t<span class=\"tc-edit-field-add-button\">\n\t\t\t\t\t<$transclude $variable=\"new-field\"/>\n\t\t\t\t</span>\n\t\t\t</$let>\n\t\t</$let>\n\t</div>\n</$let>"
  },
  {
    "path": "core/ui/EditTemplate/shadow.tid",
    "content": "title: $:/core/ui/EditTemplate/shadow\ntags: $:/tags/EditTemplate\n\n\\define lingo-base() $:/language/EditTemplate/Shadow/\n\\define pluginLinkBody()\n\\whitespace trim\n<$link to=\"\"\"$(pluginTitle)$\"\"\">\n<$text text=\"\"\"$(pluginTitle)$\"\"\"/>\n</$link>\n\\end\n\\whitespace trim\n<$list filter=\"[all[current]get[draft.of]is[shadow]!is[tiddler]]\">\n\n<$list filter=\"[all[current]shadowsource[]]\" variable=\"pluginTitle\">\n\n<$set name=\"pluginLink\" value=<<pluginLinkBody>>>\n<div class=\"tc-message-box\">\n\n<<lingo Warning>>\n\n</div>\n</$set>\n</$list>\n\n</$list>\n\n<$list filter=\"[all[current]get[draft.of]is[shadow]is[tiddler]]\">\n\n<$list filter=\"[all[current]shadowsource[]]\" variable=\"pluginTitle\">\n\n<$set name=\"pluginLink\" value=<<pluginLinkBody>>>\n<div class=\"tc-message-box\">\n\n<<lingo OverriddenWarning>>\n\n</div>\n</$set>\n</$list>\n\n</$list>"
  },
  {
    "path": "core/ui/EditTemplate/tags.tid",
    "content": "title: $:/core/ui/EditTemplate/tags\ntags: $:/tags/EditTemplate\n\n\\whitespace trim\n\n\\procedure lingo-base() $:/language/EditTemplate/\n\n\\procedure tag-body-inner(colour,fallbackTarget,colourA,colourB,icon,tagField:\"tags\")\n<$wikify name=\"foregroundColor\"\n\ttext=\"\"\"<$macrocall $name=\"contrastcolour\"\n\t\ttarget=<<colour>>\n\t\tfallbackTarget=<<fallbackTarget>>\n\t\tcolourA=<<colourA>>\n\t\tcolourB=<<colourB>>/>\n\t\"\"\"\n>\n\t<$let backgroundColor=<<colour>> >\n\t\t<span class=\"tc-tag-label tc-tag-list-item tc-small-gap-right\"\n\t\t\tdata-tag-title=<<currentTiddler>>\n\t\t\tstyle=`color:$(foregroundColor)$; background-color:$(backgroundColor)$; --tp-remove-tag-button-color:$(foregroundColor)$`\n\t\t>\n\t\t\t<$transclude tiddler=<<icon>>/>\n\t\t\t<$view field=\"title\" format=\"text\"/>\n\t\t\t<$button class=\"tc-btn-invisible tc-remove-tag-button\">\n\t\t\t\t<$action-listops $tiddler=<<saveTiddler>> $field=<<tagField>> $subfilter=\"-[{!!title}]\"/>\n\t\t\t\t{{$:/core/images/close-button}}\n\t\t\t</$button>\n\t\t</span>\n\t</$let>\n</$wikify>\n\\end\n\n\\procedure tag-body(colour,palette,icon,tagField:\"tags\")\n<$macrocall $name=\"tag-body-inner\"\n\tcolour=`$(colour)$`\n\tcolourA={{{ [<palette>getindex[foreground]] }}}\n\tcolourB={{{ [<palette>getindex[background]] }}}\n\tfallbackTarget={{{ [<palette>getindex[tag-background]] }}}\n\ticon=<<icon>>\n\ttagField=<<tagField>>\n/>\n\\end\n\n\\procedure edit-tags-template(tagField:\"tags\")\n<div class=\"tc-edit-tags\">\n\t<$list filter=\"[<currentTiddler>get<tagField>enlist-input[]sort[title]]\" storyview=\"pop\">\n\t\t<$macrocall $name=\"tag-body\"\n\t\t\tcolour={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerColourFilter]!is[draft]get[text]] }}}\n\t\t\tpalette={{$:/palette}}\n\t\t\ticon={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerIconFilter]!is[draft]get[text]] }}}\n\t\t\ttagField=<<tagField>>\n\t\t/>\n\t</$list>\n\t<$let tabIndex={{$:/config/EditTabIndex}} cancelPopups=\"yes\">\n\t\t<$macrocall $name=\"tag-picker\" tagField=<<tagField>>/>\n\t</$let>\n</div>\n\\end\n<$let saveTiddler=<<currentTiddler>>>\n\t<$macrocall $name=\"edit-tags-template\" tagField=<<tagField>>/>\n</$let>\n"
  },
  {
    "path": "core/ui/EditTemplate/title.tid",
    "content": "title: $:/core/ui/EditTemplate/title\ntags: $:/tags/EditTemplate\n\n\\whitespace trim\n<$edit-text field=\"draft.title\" class=\"tc-titlebar tc-edit-texteditor\"\n\tfocus={{{ [{!!draft.of}is[tiddler]then{$:/config/AutoFocusEdit}match[title]then[true]] ~[{$:/config/AutoFocus}match[title]then[true]] ~[[false]] }}}\n\ttabindex={{$:/config/EditTabIndex}}\n\tcancelPopups=\"yes\"\n/>\n\n<$vars pattern=\"\"\"[\\|\\[\\]{}]\"\"\" bad-chars=\"\"\"`| [ ] { }`\"\"\">\n\n<$list filter=\"[all[current]regexp:draft.title<pattern>]\" variable=\"listItem\">\n\n<div class=\"tc-message-box\">\n\n{{$:/core/images/warning}}&#32;{{$:/language/EditTemplate/Title/BadCharacterWarning}}\n\n</div>\n\n</$list>\n\n</$vars>\n\n<$reveal state=\"!!draft.title\" type=\"nomatch\" text={{!!draft.of}} tag=\"div\">\n\n<$list filter=\"[{!!draft.title}!is[missing]]\" variable=\"listItem\">\n\n<div class=\"tc-message-box\">\n\n{{$:/core/images/warning}}&#32;{{$:/language/EditTemplate/Title/Exists/Prompt}}:&#32;<$link to={{!!draft.title}} />\n\n</div>\n\n</$list>\n\n<$list filter=\"[{!!draft.of}!is[missing]]\" variable=\"listItem\">\n\n<$vars fromTitle={{!!draft.of}} toTitle={{!!draft.title}}>\n\n<$checkbox tiddler=\"$:/config/RelinkOnRename\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\">&#32;{{$:/language/EditTemplate/Title/Relink/Prompt}}</$checkbox>\n\n<$list filter=\"[title<fromTitle>backlinks[]limit[1]]\" variable=\"listItem\">\n\n<$vars stateTiddler=<<qualify \"$:/state/edit/references\">> >\n\n<$reveal type=\"nomatch\" state=<<stateTiddler>> text=\"show\">\n<$button set=<<stateTiddler>> setTo=\"show\" class=\"tc-btn-invisible\">\n{{$:/core/images/right-arrow}}\n&#32;\n<<lingo EditTemplate/Title/References/Prompt>></$button>\n</$reveal>\n<$reveal type=\"match\" state=<<stateTiddler>> text=\"show\">\n<$button set=<<stateTiddler>> setTo=\"hide\" class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n&#32;\n<<lingo EditTemplate/Title/References/Prompt>></$button>\n</$reveal>\n\n<$reveal type=\"match\" state=<<stateTiddler>> text=\"show\">\n<$tiddler tiddler=<<fromTitle>> >\n<$transclude tiddler=\"$:/core/ui/TiddlerInfo/References\"/>\n</$tiddler>\n</$reveal>\n\n</$vars>\n\n</$list>\n\n</$vars>\n\n</$list>\n\n</$reveal>\n"
  },
  {
    "path": "core/ui/EditTemplate/type.tid",
    "content": "title: $:/core/ui/EditTemplate/type\ntags: $:/tags/EditTemplate\nfirst-search-filter: [all[shadows+tiddlers]prefix[$:/language/Docs/Types/]sort[description]sort[group-sort]removeprefix[$:/language/Docs/Types/]search<userInput>]\n\n\\procedure lingo-base() $:/language/EditTemplate/\n\\procedure input-cancel-actions() <$list filter=\"[<storeTitle>get[text]] [<currentTiddler>get[type]] :and[limit[1]]\" emptyMessage=\"\"\"<<cancel-delete-tiddler-actions \"cancel\">>\"\"\"><$action-sendmessage $message=\"tm-remove-field\" $param=\"type\"/><$action-deletetiddler $filter=\"[<typeInputTiddler>] [<refreshTitle>] [<typeSelectionTiddler>]\"/></$list>\n\n\\whitespace trim\n<$set name=\"refreshTitle\" value=<<qualify \"$:/temp/type-search/refresh\">>>\n<div class=\"tc-edit-type-selector-wrapper\">\n<em class=\"tc-edit tc-small-gap-right\"><<lingo Type/Prompt>></em>\n<div class=\"tc-type-selector-dropdown-wrapper\">\n<div class=\"tc-type-selector\">\n<$fieldmangler>\n<$transclude $variable=\"keyboard-driven-input\" tiddler=<<currentTiddler>> storeTitle=<<typeInputTiddler>> refreshTitle=<<refreshTitle>>\n\tselectionStateTitle=<<typeSelectionTiddler>> field=\"type\" tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Type/Placeholder}}\n\tfocusPopup=<<qualify \"$:/state/popup/type-dropdown\">> class=\"tc-edit-typeeditor tc-edit-texteditor tc-popup-handle tc-keep-focus\"\n\ttabindex={{$:/config/EditTabIndex}}\n\tfocus={{{ [{!!draft.of}is[tiddler]then{$:/config/AutoFocusEdit}match[type]then[true]] :else[{$:/config/AutoFocus}match[type]then[true]] :else[[false]] }}}\n\tcancelPopups=\"yes\" configTiddlerFilter=\"[[$:/core/ui/EditTemplate/type]]\"\n\tinputCancelActions=<<input-cancel-actions>>\n/>\n\t<$button popup=<<qualify \"$:/state/popup/type-dropdown\">> class=\"tc-btn-invisible tc-btn-dropdown tc-small-gap\" tooltip={{$:/language/EditTemplate/Type/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Type/Dropdown/Caption}}>\n\t\t{{$:/core/images/down-arrow}}\n\t</$button>\n\t<$button message=\"tm-remove-field\" param=\"type\" class=\"tc-btn-invisible tc-btn-icon\" tooltip={{$:/language/EditTemplate/Type/Delete/Hint}} aria-label={{$:/language/EditTemplate/Type/Delete/Caption}}>\n\t\t{{$:/core/images/delete-button}}<$action-deletetiddler $filter=\"[<typeInputTiddler>] [<storeTitle>] [<refreshTitle>] [<selectionStateTitle>]\"/>\n\t</$button>\n</$fieldmangler></div>\n\n<div class=\"tc-block-dropdown-wrapper\">\n<$set name=\"tv-show-missing-links\" value=\"yes\">\n<$reveal state=<<qualify \"$:/state/popup/type-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$linkcatcher to=\"!!type\">\n<$list filter='[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]each[group]sort[group-sort]]'>\n<div class=\"tc-dropdown-item\">\n<$text text={{!!group}}/>\n</div>\n<$set name=\"userInput\" value={{{ [<typeInputTiddler>get[text]] }}}>\n<$list filter=\"[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]group{!!group}] :and[sort[description]] :and[removeprefix[$:/language/Docs/Types/]] :and[search<userInput>]\"><span class={{{ [<currentTiddler>addsuffix[-primaryList]] :except[<typeSelectionTiddler>get[text]] :and[then[]else[tc-list-item-selected]] }}}><$link to={{{ [<currentTiddler>addprefix[$:/language/Docs/Types/]get[name]] }}}><$view tiddler={{{ [<currentTiddler>addprefix[$:/language/Docs/Types/]] }}} field=\"description\"/><$text text=\" \"/>(<$view tiddler={{{ [<currentTiddler>addprefix[$:/language/Docs/Types/]] }}} field=\"name\"/>)</$link></span>\n</$list>\n</$set>\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>\n</$set>\n</div>\n</div>\n</div>\n</$set>\n"
  },
  {
    "path": "core/ui/EditTemplate.tid",
    "content": "code-body: yes\ntitle: $:/core/ui/EditTemplate\n\n\\define delete-edittemplate-state-tiddlers()\n<$set name=\"safeNewFieldValueTiddlerPrefix\" value=<<newFieldValueTiddlerPrefix>> emptyValue=<<qualify \"$:/temp/NewFieldValue\">> >\n\t<$action-deletetiddler $filter=\"[<newFieldNameTiddler>] [prefix[$:/temp/NewFieldValue]prefix<safeNewFieldValueTiddlerPrefix>] [<newFieldNameInputTiddler>] [<newFieldNameSelectionTiddler>] [<newTagNameTiddler>] [<newTagNameInputTiddler>] [<newTagNameSelectionTiddler>] [<typeInputTiddler>] [<typeSelectionTiddler>]\"/>\n</$set>\n\\end\n\n<!-- Beware this is duplicated from fields.tid. For details see bug #7054 -->\n\\define get-field-value-tiddler-filter() [subfilter<get-field-editor-filter>sha256[16]addprefix[/]addprefix<newFieldValueTiddlerPrefix>]\n\\define get-field-editor-filter() [<newFieldNameTiddler>get[text]else[]] :cascade[all[shadows+tiddlers]tag[$:/tags/FieldEditorFilter]!is[draft]get[text]] :and[!is[blank]else{$:/core/ui/EditTemplate/fieldEditor/default}]\n\n\\define save-tiddler-actions()\n\\whitespace trim\n<$action-sendmessage $message=\"tm-add-tag\" $param={{{ [<newTagNameTiddler>get[text]] }}}/>\n<$action-sendmessage $message=\"tm-add-field\" $name={{{ [<newFieldNameTiddler>get[text]] }}} $value={{{ [<newFieldNameTiddler>get[text]] :map[subfilter<get-field-value-tiddler-filter>get[text]] }}}/>\n<<delete-edittemplate-state-tiddlers>>\n<$action-sendmessage $message=\"tm-save-tiddler\"/>\n\\end\n\n\\define cancel-delete-tiddler-actions(message)\n\\whitespace trim\n<<delete-edittemplate-state-tiddlers>>\n<$action-sendmessage $message=\"tm-$message$-tiddler\"/>\n\\end\n\n\\whitespace trim\n<div\n\tdata-tiddler-title=<<currentTiddler>>\n\tdata-tags={{!!tags}}\n\tclass={{{ [all[shadows+tiddlers]tag[$:/tags/ClassFilters/TiddlerTemplate]!is[draft]] :map:flat[subfilter{!!text}] tc-tiddler-frame tc-tiddler-edit-frame [<currentTiddler>is[tiddler]then[tc-tiddler-exists]] [<currentTiddler>is[missing]!is[shadow]then[tc-tiddler-missing]] [<currentTiddler>is[shadow]then[tc-tiddler-exists tc-tiddler-shadow]] [<currentTiddler>is[system]then[tc-tiddler-system]] [{!!class}] [<currentTiddler>tags[]encodeuricomponent[]addprefix[tc-tagged-]] +[join[ ]] }}}\n\trole=\"region\"\n\taria-label={{$:/language/EditTemplate/Caption}}>\n<$fieldmangler>\n<$vars\n\tstoryTiddler=<<currentTiddler>>\n\tnewTagNameTiddler=<<qualify \"$:/temp/NewTagName\">>\n\tnewFieldNameTiddler=<<qualify \"$:/temp/NewFieldName\">>\n\tnewFieldValueTiddlerPrefix=<<qualify \"$:/temp/NewFieldValue\">>\n\tnewFieldNameInputTiddler=<<qualify \"$:/temp/NewFieldName/input\">>\n\tnewFieldNameSelectionTiddler=<<qualify \"$:/temp/NewFieldName/selected-item\">>\n\tnewTagNameInputTiddler=<<qualify \"$:/temp/NewTagName/input\">>\n\tnewTagNameSelectionTiddler=<<qualify \"$:/temp/NewTagName/selected-item\">>\n\ttypeInputTiddler=<<qualify \"$:/temp/Type/input\">>\n\ttypeSelectionTiddler=<<qualify \"$:/temp/Type/selected-item\">>>\n<$keyboard key=\"((cancel-edit-tiddler))\" actions=<<cancel-delete-tiddler-actions \"cancel\">> tag=\"div\">\n<$keyboard key=\"((save-tiddler))\" actions=<<save-tiddler-actions>> tag=\"div\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditTemplate]!has[draft.of]]\" variable=\"listItem\">\n<$transclude tiddler=<<listItem>>/>\n</$list>\n</$keyboard>\n</$keyboard>\n</$vars>\n</$fieldmangler>\n</div>\n"
  },
  {
    "path": "core/ui/EditToolbar/cancel.tid",
    "content": "title: $:/core/ui/Buttons/cancel\ntags: $:/tags/EditToolbar\ncaption: {{$:/core/images/cancel-button}} {{$:/language/Buttons/Cancel/Caption}}\ndescription: {{$:/language/Buttons/Cancel/Hint}}\n\n\\whitespace trim\n<$button actions=<<cancel-delete-tiddler-actions \"cancel\">>\n\ttooltip={{$:/language/Buttons/Cancel/Hint}}\n\taria-label={{$:/language/Buttons/Cancel/Hint}}\n\tclass=<<tv-config-toolbar-class>>\n>\n\t<%if [<tv-config-toolbar-icons>match[yes]] %>\n\t\t{{$:/core/images/cancel-button}}\n\t<%endif%>\n\t<%if [<tv-config-toolbar-text>match[yes]] %>\n\t\t<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Cancel/Caption}}/></span>\n\t<%endif%>\n</$button>\n"
  },
  {
    "path": "core/ui/EditToolbar/delete.tid",
    "content": "title: $:/core/ui/Buttons/delete\ntags: $:/tags/EditToolbar $:/tags/ViewToolbar\ncaption: {{$:/core/images/delete-button}} {{$:/language/Buttons/Delete/Caption}}\ndescription: {{$:/language/Buttons/Delete/Hint}}\n\n\\whitespace trim\n<$button actions=<<cancel-delete-tiddler-actions \"delete\">>\n\ttooltip={{$:/language/Buttons/Delete/Hint}}\n\taria-label={{$:/language/Buttons/Delete/Hint}}\n\tclass=<<tv-config-toolbar-class>>\n>\n\t<%if [<tv-config-toolbar-icons>match[yes]] %>\n\t\t{{$:/core/images/delete-button}}\n\t<%endif%>\n\t<%if [<tv-config-toolbar-text>match[yes]] %>\n\t\t<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Delete/Caption}}/></span>\n\t<%endif%>\n</$button>\n"
  },
  {
    "path": "core/ui/EditToolbar/save.tid",
    "content": "title: $:/core/ui/Buttons/save\ntags: $:/tags/EditToolbar\ncaption: {{$:/core/images/done-button}} {{$:/language/Buttons/Save/Caption}}\ndescription: {{$:/language/Buttons/Save/Hint}}\n\n\\whitespace trim\n\\procedure save-tiddler-button()\n<$fieldmangler>\n\t<$button\n\t\ttooltip={{$:/language/Buttons/Save/Hint}}\n\t\taria-label={{$:/language/Buttons/Save/Hint}}\n\t\tclass=<<tv-config-toolbar-class>>\n\t>\n\t\t<<save-tiddler-actions>>\n\t\t<%if [<tv-config-toolbar-icons>match[yes]] %>\n\t\t\t{{$:/core/images/done-button}}\n\t\t<%endif%>\n\t\t<%if [<tv-config-toolbar-text>match[yes]] %>\n\t\t\t<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Save/Caption}}/></span>\n\t\t<%endif%>\n\t</$button>\n</$fieldmangler>\n\\end\n<<save-tiddler-button>>\n"
  },
  {
    "path": "core/ui/EditorToolbar/bold.tid",
    "content": "title: $:/core/ui/EditorToolbar/bold\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/bold\ncaption: {{$:/language/Buttons/Bold/Caption}}\ndescription: {{$:/language/Buttons/Bold/Hint}}\ncondition: [<targetTiddler>!has[type]] [<targetTiddler>get[type]prefix[text/vnd.tiddlywiki]]\nshortcuts: ((bold))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"''\"\n\tsuffix=\"''\"\n\ttrimSelection=\"yes\"\n/>\n"
  },
  {
    "path": "core/ui/EditorToolbar/clear-dropdown.tid",
    "content": "title: $:/core/ui/EditorToolbar/clear-dropdown\n\n''{{$:/language/Buttons/Clear/Hint}}''\n\n<div class=\"tc-colour-chooser\">\n\n<$macrocall $name=\"colour-picker\" actions=\"\"\"\n\n<$action-sendmessage\n\t$message=\"tm-edit-bitmap-operation\"\n\t$param=\"clear\"\n\tcolour=<<colour-picker-value>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n\"\"\"/>\n\n</div>\n"
  },
  {
    "path": "core/ui/EditorToolbar/clear.tid",
    "content": "title: $:/core/ui/EditorToolbar/clear\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/erase\ncaption: {{$:/language/Buttons/Clear/Caption}}\ndescription: {{$:/language/Buttons/Clear/Hint}}\ncondition: [<targetTiddler>is[image]] -[<targetTiddler>type[image/svg+xml]]\ndropdown: $:/core/ui/EditorToolbar/clear-dropdown\n\n"
  },
  {
    "path": "core/ui/EditorToolbar/editor-height-dropdown.tid",
    "content": "title: $:/core/ui/EditorToolbar/editor-height-dropdown\n\n\\define lingo-base() $:/language/Buttons/EditorHeight/\n''<<lingo Hint>>''\n\n<$radio tiddler=\"$:/config/TextEditor/EditorHeight/Mode\" value=\"auto\"> {{$:/core/images/auto-height}} <<lingo Caption/Auto>></$radio>\n\n<$radio tiddler=\"$:/config/TextEditor/EditorHeight/Mode\" value=\"fixed\"> {{$:/core/images/fixed-height}} <<lingo Caption/Fixed>> <$edit-text tag=\"input\" tiddler=\"$:/config/TextEditor/EditorHeight/Height\" default=\"100px\"/></$radio>\n"
  },
  {
    "path": "core/ui/EditorToolbar/editor-height.tid",
    "content": "title: $:/core/ui/EditorToolbar/editor-height\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/fixed-height\ncustom-icon: yes\ncaption: {{$:/language/Buttons/EditorHeight/Caption}}\ndescription: {{$:/language/Buttons/EditorHeight/Hint}}\ncondition: [<targetTiddler>type[]] [<targetTiddler>get[type]prefix[text/]] [<targetTiddler>get[type]match[application/javascript]] [<targetTiddler>get[type]match[application/json]] [<targetTiddler>get[type]match[application/x-tiddler-dictionary]] [<targetTiddler>get[type]match[image/svg+xml]] +[first[]]\ndropdown: $:/core/ui/EditorToolbar/editor-height-dropdown\n\n\\whitespace trim\n<$reveal tag=\"span\" state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"fixed\">\n{{$:/core/images/fixed-height}}\n</$reveal>\n<$reveal tag=\"span\" state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"auto\">\n{{$:/core/images/auto-height}}\n</$reveal>\n"
  },
  {
    "path": "core/ui/EditorToolbar/excise-dropdown.tid",
    "content": "title: $:/core/ui/EditorToolbar/excise-dropdown\n\n\\define lingo-base() $:/language/Buttons/Excise/\n\n\\define body(config-title)\n\\whitespace trim\n''<<lingo Hint>>''\n\n<<lingo Caption/NewTitle>>&#32;<$edit-text tag=\"input\" tiddler=\"$config-title$/new-title\" default=\"\" focus=\"true\"/>\n\n<$set name=\"new-title\" value={{$config-title$/new-title}}>\n<$list filter=\"\"\"[<new-title>is[tiddler]]\"\"\">\n<div class=\"tc-error\">\n<<lingo Caption/TiddlerExists>>\n</div>\n</$list>\n</$set>\n\n<$checkbox tiddler=\"\"\"$config-title$/tagnew\"\"\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"false\">&#32;<<lingo Caption/Tag>></$checkbox>\n\n<<lingo Caption/Replace>>&#32;<$select tiddler=\"\"\"$config-title$/type\"\"\" default=\"transclude\">\n<option value=\"link\"><<lingo Caption/Replace/Link>></option>\n<option value=\"transclude\"><<lingo Caption/Replace/Transclusion>></option>\n<option value=\"macro\"><<lingo Caption/Replace/Macro>></option>\n</$select>\n\n<$reveal state=\"\"\"$config-title$/type\"\"\" type=\"match\" text=\"macro\">\n<<lingo Caption/MacroName>>&#32;<$edit-text tag=\"input\" tiddler=\"\"\"$config-title$/macro-title\"\"\" default=\"translink\"/>\n</$reveal>\n\n<$button>\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"excise\"\n\ttitle={{$config-title$/new-title}}\n\ttype={{$config-title$/type}}\n\tmacro={{$config-title$/macro-title}}\n\ttagnew={{$config-title$/tagnew}}\n/>\n<$action-deletetiddler\n\t$tiddler=\"$config-title$/new-title\"\n/>\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n<<lingo Caption/Excise>>\n</$button>\n\\end\n\n<$macrocall $name=\"body\" config-title=<<qualify \"$:/state/Excise/\">>/>\n"
  },
  {
    "path": "core/ui/EditorToolbar/excise.tid",
    "content": "title: $:/core/ui/EditorToolbar/excise\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/excise\ncaption: {{$:/language/Buttons/Excise/Caption}}\ndescription: {{$:/language/Buttons/Excise/Hint}}\ncondition: [<targetTiddler>type[]] [<targetTiddler>type[text/vnd.tiddlywiki]] [<targetTiddler>type[text/markdown]] [<targetTiddler>type[text/x-markdown]] +[first[]]\nshortcuts: ((excise))\ndropdown: $:/core/ui/EditorToolbar/excise-dropdown\n\n"
  },
  {
    "path": "core/ui/EditorToolbar/file-import.tid",
    "content": "title: $:/core/ui/EditorToolbar/file-import\ntags: $:/tags/EditorTools\ncondition: [<targetTiddler>filter{$:/config/Editor/EnableImportFilter}]\n\n\\procedure lingo-base() $:/language/Import/\n\n\\procedure closePopupActions()\n<$action-deletetiddler $filter=\"[title<importState>] [title<importTitle>]\"/>\n\\end closePopupActions\n\n\\procedure tw5-ImageTemplate() [img[$(currentTiddler)$]]\n\\procedure tw5-FileTemplate() [[$(currentTiddler)$]]\n\n<!-- The following characters must be escaped in markdown: <>()\\ -->\n\\function escape.title() [search-replace:g:regexp[\\(|\\)|<|>|\\\\],[\\$&]]\n\\procedure markdown-ImageTemplate() ![](<#${ [<currentTiddler>escape.title[]] }$>)\n\\procedure markdown-FileTemplate() [](<#${ [<currentTiddler>escape.title[]] }$>)\n\n\\function is.markdown.tiddler() [all[]type[text/x-markdown]] [all[]type[text/markdown]]\n\\function is.image() [get[type]prefix[image]]\n\\function get.markdown.link() [is.image[]then<markdown-ImageTemplate>else<markdown-FileTemplate>]\n\\function get.tw5.link() [is.image[]then<tw5-ImageTemplate>else<tw5-FileTemplate>] \n\\function get.link.template() [<storyTiddler>is.markdown.tiddler[]then<get.markdown.link>else<get.tw5.link>]\n\n\\procedure postImportActions()\n\\whitespace trim\n<$list filter=\"[<importTitle>links[]] :reduce[get.link.template[]substitute[]addprefix<accumulator>]\" variable=\"imageTitle\">\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"insert-text\"\n\ttext=<<imageTitle>>\n/>\n</$list>\n<<closePopupActions>>\n\\end postImportActions\n\n\\procedure buttons()\n\\whitespace trim\n<$button class=\"tc-btn-invisible\" actions=<<closePopupActions>> ><<lingo Listing/Cancel/Caption>></$button>\n&#32;\n<$button class=\"tc-btn-invisible\" message=\"tm-perform-import\" param=<<importTitle>> actions=<<postImportActions>> ><<lingo Listing/Import/Caption>></$button>\n\\end buttons\n\n\\whitespace trim\n<$reveal type=\"popup\" state=<<importState>> tag=\"div\" class=\"tc-editor-importpopup\">\n<div class=\"tc-editor-import\">\n<$list filter=\"[<importTitle>field:plugin-type[import]]\">\n<h2><<lingo Editor/Import/Heading>></h2>\n<$tiddler tiddler=<<importTitle>>>\n{{||$:/core/ui/ImportListing}}\n<<buttons>>\n</$tiddler>\n</$list>\n</div>\n</$reveal>"
  },
  {
    "path": "core/ui/EditorToolbar/heading-1.tid",
    "content": "title: $:/core/ui/EditorToolbar/heading-1\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/heading-1\ncaption: {{$:/language/Buttons/Heading1/Caption}}\ndescription: {{$:/language/Buttons/Heading1/Hint}}\ncondition: [<targetTiddler>!has[type]] [<targetTiddler>get[type]prefix[text/vnd.tiddlywiki]]\nbutton-classes: tc-text-editor-toolbar-item-start-group\nshortcuts: ((heading-1))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"1\"\n/>\n"
  },
  {
    "path": "core/ui/EditorToolbar/heading-2.tid",
    "content": "title: $:/core/ui/EditorToolbar/heading-2\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/heading-2\ncaption: {{$:/language/Buttons/Heading2/Caption}}\ndescription: {{$:/language/Buttons/Heading2/Hint}}\ncondition: [<targetTiddler>!has[type]] [<targetTiddler>get[type]prefix[text/vnd.tiddlywiki]]\nshortcuts: ((heading-2))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"2\"\n/>\n"
  },
  {
    "path": "core/ui/EditorToolbar/heading-3.tid",
    "content": "title: $:/core/ui/EditorToolbar/heading-3\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/heading-3\ncaption: {{$:/language/Buttons/Heading3/Caption}}\ndescription: {{$:/language/Buttons/Heading3/Hint}}\ncondition: [<targetTiddler>!has[type]] [<targetTiddler>get[type]prefix[text/vnd.tiddlywiki]]\nshortcuts: ((heading-3))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"3\"\n/>\n"
  },
  {
    "path": "core/ui/EditorToolbar/heading-4.tid",
    "content": "title: $:/core/ui/EditorToolbar/heading-4\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/heading-4\ncaption: {{$:/language/Buttons/Heading4/Caption}}\ndescription: {{$:/language/Buttons/Heading4/Hint}}\ncondition: [<targetTiddler>!has[type]] [<targetTiddler>get[type]prefix[text/vnd.tiddlywiki]]\nshortcuts: ((heading-4))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"4\"\n/>\n"
  },
  {
    "path": "core/ui/EditorToolbar/heading-5.tid",
    "content": "title: $:/core/ui/EditorToolbar/heading-5\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/heading-5\ncaption: {{$:/language/Buttons/Heading5/Caption}}\ndescription: {{$:/language/Buttons/Heading5/Hint}}\ncondition: [<targetTiddler>!has[type]] [<targetTiddler>get[type]prefix[text/vnd.tiddlywiki]]\nshortcuts: ((heading-5))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"5\"\n/>\n"
  },
  {
    "path": "core/ui/EditorToolbar/heading-6.tid",
    "content": "title: $:/core/ui/EditorToolbar/heading-6\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/heading-6\ncaption: {{$:/language/Buttons/Heading6/Caption}}\ndescription: {{$:/language/Buttons/Heading6/Hint}}\ncondition: [<targetTiddler>!has[type]] [<targetTiddler>get[type]prefix[text/vnd.tiddlywiki]]\nshortcuts: ((heading-6))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"6\"\n/>\n"
  },
  {
    "path": "core/ui/EditorToolbar/italic.tid",
    "content": "title: $:/core/ui/EditorToolbar/italic\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/italic\ncaption: {{$:/language/Buttons/Italic/Caption}}\ndescription: {{$:/language/Buttons/Italic/Hint}}\ncondition: [<targetTiddler>!has[type]] [<targetTiddler>get[type]prefix[text/vnd.tiddlywiki]]\nshortcuts: ((italic))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"//\"\n\tsuffix=\"//\"\n\ttrimSelection=\"yes\"\n/>\n"
  },
  {
    "path": "core/ui/EditorToolbar/line-width-dropdown.tid",
    "content": "title: $:/core/ui/EditorToolbar/line-width-dropdown\n\n\\define lingo-base() $:/language/Buttons/LineWidth/\n\n\\define toolbar-line-width-inner()\n<$button tag=\"a\" tooltip=\"\"\"$(line-width)$\"\"\">\n\n<$action-setfield\n\t$tiddler=\"$:/config/BitmapEditor/LineWidth\"\n\t$value=\"$(line-width)$\"\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<div style=\"display: inline-block; margin: 4px calc(80px - $(line-width)$); background-color: #000; width: calc(100px + $(line-width)$ * 2); height: $(line-width)$; border-radius: 120px; vertical-align: middle;\"/>\n\n<span style=\"margin-left: 8px;\">\n\n<$text text=\"\"\"$(line-width)$\"\"\"/>\n\n<$reveal state=\"$:/config/BitmapEditor/LineWidth\" type=\"match\" text=\"\"\"$(line-width)$\"\"\" tag=\"span\">\n\n<$entity entity=\"&nbsp;\"/>\n\n<$entity entity=\"&#x2713;\"/>\n\n</$reveal>\n\n</span>\n\n</$button>\n\\end\n\n''<<lingo Hint>>''\n\n<$list filter={{$:/config/BitmapEditor/LineWidths}} variable=\"line-width\">\n\n<<toolbar-line-width-inner>>\n\n</$list>\n"
  },
  {
    "path": "core/ui/EditorToolbar/line-width.tid",
    "content": "title: $:/core/ui/EditorToolbar/line-width\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/line-width\ncaption: {{$:/language/Buttons/LineWidth/Caption}}\ndescription: {{$:/language/Buttons/LineWidth/Hint}}\ncondition: [<targetTiddler>is[image]] -[<targetTiddler>type[image/svg+xml]]\ndropdown: $:/core/ui/EditorToolbar/line-width-dropdown\n\n<$text text={{$:/config/BitmapEditor/LineWidth}}/>\n"
  },
  {
    "path": "core/ui/EditorToolbar/link-dropdown.tid",
    "content": "title: $:/core/ui/EditorToolbar/link-dropdown\n\n\\procedure lingo-base() $:/language/Buttons/Link/\n\n\\procedure add-link-actions()\n\\whitespace trim\n<$action-sendmessage $message=\"tm-edit-text-operation\" $param=\"make-link\" text={{{ [<linkTiddler>get[text]] }}} />\n<$action-deletetiddler $filter=\"[<dropdown-state>] [<searchTiddler>] [<linkTiddler>] [<storeTitle>] [<searchListState>]\"/>\n\\end\n\n\\procedure cancel-search-actions-inner()\n<$let userInput={{{ [<storeTitle>get[text]] }}}><$list filter=\"[<searchTiddler>get[text]!match<userInput>]\" emptyMessage=\"<$action-deletetiddler $filter='[<searchTiddler>] [<linkTiddler>] [<storeTitle>] [<searchListState>]'/>\"><$action-setfield $tiddler=<<searchTiddler>> text=<<userInput>>/><$action-setfield $tiddler=<<refreshTitle>> text=\"yes\"/></$list></$let>\n\\end\n\n\\procedure cancel-search-actions() <$list filter=\"[<storeTitle>!has[text]] :and[<searchTiddler>!has[text]]\" emptyMessage=\"<<cancel-search-actions-inner>>\"><$action-sendmessage $message=\"tm-edit-text-operation\" $param=\"focus-editor\"/></$list>\n\n\\procedure external-link()\n\\whitespace trim\n<$button class=\"tc-btn-invisible tc-btn-mini\" style=\"width: auto; display: inline-block; background-colour: inherit;\" actions=<<add-link-actions>>>\n{{$:/core/images/chevron-right}}\n</$button>\n\\end\n\n\\procedure set-next-input-tab() <$transclude $variable=\"change-input-tab-after\" stateTitle=\"$:/state/tab/search-results/sidebar\" tag=\"$:/tags/SearchResults\" defaultState={{$:/config/SearchResults/Default}} actions=\"<$action-setfield $tiddler='$:/state/search/currentTab' text=<<nextTab>>/>\"/>\n\n\\procedure set-previous-input-tab() <$transclude $variable=\"change-input-tab-before\" stateTitle=\"$:/state/tab/search-results/sidebar\" tag=\"$:/tags/SearchResults\" defaultState={{$:/config/SearchResults/Default}} actions=\"<$action-setfield $tiddler='$:/state/search/currentTab' text=<<nextTab>>/>\"/>\n\n\\procedure body(config-title)\n\\whitespace trim\n''<<lingo Hint>>''\n\n<$let searchTiddler=`$(config-title)$/search` linkTiddler=`$(config-title)$/link` linktext=\"\" searchListState=<<qualify \"$:/temp/link-search/selected-item\">> refreshTitle=<<qualify \"$:/temp/link-search/refresh\">> storeTitle=<<qualify \"$:/temp/link-search/input\">>>\n\n<$let linkTiddler=<<searchTiddler>>>\n<$keyboard key=\"((input-tab-right))\" actions=<<set-next-input-tab>>>\n<$keyboard key=\"((input-tab-left))\" actions=<<set-previous-input-tab>> class=\"tc-create-wikitext-link\">\n<$transclude $variable=\"keyboard-driven-input\" tiddler=<<searchTiddler>> storeTitle=<<storeTitle>>\n\t\tselectionStateTitle=<<searchListState>> refreshTitle=<<refreshTitle>> type=\"search\" filterMinLength=\"1\"\n\t\ttag=\"input\" focus=\"true\" class=\"tc-popup-handle\" inputCancelActions=<<cancel-search-actions>>\n\t\tinputAcceptActions=<<add-link-actions>> placeholder={{$:/language/Search/Search}} default=\"\"\n\t\tconfigTiddlerFilter=\"[[$:/state/search/currentTab]!is[missing]get[text]] :else[{$:/config/SearchResults/Default}]\" />\n</$keyboard>\n</$keyboard>\n&#32;\n<$reveal tag=\"span\" state=<<storeTitle>> type=\"nomatch\" text=\"\">\n<<external-link>>\n&#32;\n<$button class=\"tc-btn-invisible tc-btn-mini\" style=\"width: auto; display: inline-block; background-colour: inherit;\">\n<<cancel-search-actions>><$action-sendmessage $message=\"tm-focus-selector\" $param=`[data-tiddler-title=${[<storyTiddler>escapecss[]]}$] .tc-create-wikitext-link input`/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</$let>\n\n<$reveal tag=\"div\" state=<<storeTitle>> type=\"nomatch\" text=\"\">\n\n<$linkcatcher actions=<<add-link-actions>> to=<<linkTiddler>>>\n\n<$let userInput={{{ [<storeTitle>get[text]] }}} configTiddler={{{ [[$:/state/search/currentTab]!is[missing]get[text]] :else[{$:/config/SearchResults/Default}] }}}>\n\n{{$:/core/ui/SearchResults}}\n\n</$let>\n\n</$linkcatcher>\n\n</$reveal>\n\n</$let>\n\n\\end\n\n<$transclude $variable=\"body\" config-title=<<qualify \"$:/state/Link/\">>/>"
  },
  {
    "path": "core/ui/EditorToolbar/link.tid",
    "content": "title: $:/core/ui/EditorToolbar/link\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/link\ncaption: {{$:/language/Buttons/Link/Caption}}\ndescription: {{$:/language/Buttons/Link/Hint}}\ncondition: [<targetTiddler>!has[type]] [<targetTiddler>get[type]prefix[text/vnd.tiddlywiki]]\nbutton-classes: tc-text-editor-toolbar-item-start-group\nshortcuts: ((link))\ndropdown: $:/core/ui/EditorToolbar/link-dropdown\n\n"
  },
  {
    "path": "core/ui/EditorToolbar/linkify.tid",
    "content": "caption: {{$:/language/Buttons/Linkify/Caption}}\ncondition: [<targetTiddler>!has[type]] [<targetTiddler>get[type]prefix[text/vnd.tiddlywiki]]\ndescription: {{$:/language/Buttons/Linkify/Hint}}\nicon: $:/core/images/linkify\nlist-before: $:/core/ui/EditorToolbar/mono-block\nshortcuts: ((linkify))\ntitle: $:/core/ui/EditorToolbar/linkify\ntags: $:/tags/EditorToolbar\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"[[\"\n\tsuffix=\"]]\"\n\ttrimSelection=\"yes\"\n/>\n"
  },
  {
    "path": "core/ui/EditorToolbar/list-bullet.tid",
    "content": "title: $:/core/ui/EditorToolbar/list-bullet\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/list-bullet\ncaption: {{$:/language/Buttons/ListBullet/Caption}}\ndescription: {{$:/language/Buttons/ListBullet/Hint}}\ncondition: [<targetTiddler>!has[type]] [<targetTiddler>get[type]prefix[text/vnd.tiddlywiki]]\nshortcuts: ((list-bullet))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"*\"\n\tcount=\"1\"\n/>\n"
  },
  {
    "path": "core/ui/EditorToolbar/list-number.tid",
    "content": "title: $:/core/ui/EditorToolbar/list-number\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/list-number\ncaption: {{$:/language/Buttons/ListNumber/Caption}}\ndescription: {{$:/language/Buttons/ListNumber/Hint}}\ncondition: [<targetTiddler>!has[type]] [<targetTiddler>get[type]prefix[text/vnd.tiddlywiki]]\nshortcuts: ((list-number))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"1\"\n/>\n"
  },
  {
    "path": "core/ui/EditorToolbar/mono-block.tid",
    "content": "title: $:/core/ui/EditorToolbar/mono-block\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/mono-block\ncaption: {{$:/language/Buttons/MonoBlock/Caption}}\ndescription: {{$:/language/Buttons/MonoBlock/Hint}}\ncondition: [<targetTiddler>!has[type]] [<targetTiddler>get[type]prefix[text/vnd.tiddlywiki]]\nbutton-classes: tc-text-editor-toolbar-item-start-group\nshortcuts: ((mono-block))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-lines\"\n\tprefix=\"\n```\"\n\tsuffix=\"```\"\n/>\n"
  },
  {
    "path": "core/ui/EditorToolbar/mono-line.tid",
    "content": "title: $:/core/ui/EditorToolbar/mono-line\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/mono-line\ncaption: {{$:/language/Buttons/MonoLine/Caption}}\ndescription: {{$:/language/Buttons/MonoLine/Hint}}\ncondition: [<targetTiddler>!has[type]] [<targetTiddler>get[type]prefix[text/vnd.tiddlywiki]]\nshortcuts: ((mono-line))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"`\"\n\tsuffix=\"`\"\n\ttrimSelection=\"yes\"\n/>\n"
  },
  {
    "path": "core/ui/EditorToolbar/more-dropdown.tid",
    "content": "title: $:/core/ui/EditorToolbar/more-dropdown\n\n\\define config-title()\n$:/config/EditorToolbarButtons/Visibility/$(toolbarItem)$\n\\end\n\n\\define conditional-button()\n\\whitespace trim\n<$list filter={{$(toolbarItem)$!!condition}} variable=\"condition\">\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/toolbar/button\" mode=\"inline\"/>\n&#32;\n<$transclude tiddler=<<toolbarItem>> field=\"description\"/>\n</$list>\n\\end\n\\whitespace trim\n\n<div class=\"tc-text-editor-toolbar-more\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditorToolbar]!has[draft.of]] -[[$:/core/ui/EditorToolbar/more]]\">\n<$reveal type=\"match\" state=<<config-visibility-title>> text=\"hide\" tag=\"div\">\n<<conditional-button>>\n</$reveal>\n</$list>\n</div>\n"
  },
  {
    "path": "core/ui/EditorToolbar/more.tid",
    "content": "title: $:/core/ui/EditorToolbar/more\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/down-arrow\ncaption: {{$:/language/Buttons/More/Caption}}\ndescription: {{$:/language/Buttons/More/Hint}}\ncondition: [<targetTiddler>]\ndropdown: $:/core/ui/EditorToolbar/more-dropdown\ntext:\n"
  },
  {
    "path": "core/ui/EditorToolbar/opacity-dropdown.tid",
    "content": "title: $:/core/ui/EditorToolbar/opacity-dropdown\n\n\\define lingo-base() $:/language/Buttons/Opacity/\n\n\\define toolbar-opacity-inner()\n<$button tag=\"a\" tooltip=\"\"\"$(opacity)$\"\"\">\n\n<$action-setfield\n\t$tiddler=\"$:/config/BitmapEditor/Opacity\"\n\t$value=\"$(opacity)$\"\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<div style=\"display: inline-block; vertical-align: middle; background-color: $(current-paint-colour)$; opacity: $(opacity)$; width: 1em; height: 1em; border-radius: 50%;\"/>\n\n<span style=\"margin-left: 8px;\">\n\n<$text text=\"\"\"$(opacity)$\"\"\"/>\n\n<$reveal state=\"$:/config/BitmapEditor/Opacity\" type=\"match\" text=\"\"\"$(opacity)$\"\"\" tag=\"span\">\n\n<$entity entity=\"&nbsp;\"/>\n\n<$entity entity=\"&#x2713;\"/>\n\n</$reveal>\n\n</span>\n\n</$button>\n\\end\n\n\\define toolbar-opacity()\n''<<lingo Hint>>''\n\n<$list filter={{$:/config/BitmapEditor/Opacities}} variable=\"opacity\">\n\n<<toolbar-opacity-inner>>\n\n</$list>\n\\end\n\n<$set name=\"current-paint-colour\" value={{$:/config/BitmapEditor/Colour}}>\n\n<$set name=\"current-opacity\" value={{$:/config/BitmapEditor/Opacity}}>\n\n<<toolbar-opacity>>\n\n</$set>\n\n</$set>\n"
  },
  {
    "path": "core/ui/EditorToolbar/opacity.tid",
    "content": "title: $:/core/ui/EditorToolbar/opacity\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/opacity\ncaption: {{$:/language/Buttons/Opacity/Caption}}\ndescription: {{$:/language/Buttons/Opacity/Hint}}\ncondition: [<targetTiddler>is[image]] -[<targetTiddler>type[image/svg+xml]]\ndropdown: $:/core/ui/EditorToolbar/opacity-dropdown\n\n<$text text={{$:/config/BitmapEditor/Opacity}}/>\n"
  },
  {
    "path": "core/ui/EditorToolbar/paint-dropdown.tid",
    "content": "title: $:/core/ui/EditorToolbar/paint-dropdown\n\n''{{$:/language/Buttons/Paint/Hint}}''\n\n<$macrocall $name=\"colour-picker\" actions=\"\"\"\n\n<$action-setfield\n\t$tiddler=\"$:/config/BitmapEditor/Colour\"\n\t$value=<<colour-picker-value>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n\"\"\"/>\n"
  },
  {
    "path": "core/ui/EditorToolbar/paint.tid",
    "content": "title: $:/core/ui/EditorToolbar/paint\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/paint\ncaption: {{$:/language/Buttons/Paint/Caption}}\ndescription: {{$:/language/Buttons/Paint/Hint}}\ncondition: [<targetTiddler>is[image]] -[<targetTiddler>type[image/svg+xml]]\ndropdown: $:/core/ui/EditorToolbar/paint-dropdown\n\n\\define toolbar-paint()\n<div style=\"display: inline-block; vertical-align: middle; background-color: $(colour-picker-value)$; width: 1em; height: 1em; border-radius: 50%;\"/>\n\\end\n\\whitespace trim\n<$set name=\"colour-picker-value\" value={{$:/config/BitmapEditor/Colour}}>\n<<toolbar-paint>>\n</$set>\n"
  },
  {
    "path": "core/ui/EditorToolbar/picture-dropdown.tid",
    "content": "title: $:/core/ui/EditorToolbar/picture-dropdown\n\n\\define replacement-text()\n[img[$(imageTitle)$]]\n\\end\n\n''{{$:/language/Buttons/Picture/Hint}}''\n\n<$macrocall $name=\"image-picker\" actions=\"\"\"\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"replace-selection\"\n\ttext=<<replacement-text>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n\"\"\"/>\n"
  },
  {
    "path": "core/ui/EditorToolbar/picture.tid",
    "content": "title: $:/core/ui/EditorToolbar/picture\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/picture\ncaption: {{$:/language/Buttons/Picture/Caption}}\ndescription: {{$:/language/Buttons/Picture/Hint}}\ncondition: [<targetTiddler>!has[type]] [<targetTiddler>get[type]prefix[text/vnd.tiddlywiki]]\nshortcuts: ((picture))\ndropdown: $:/core/ui/EditorToolbar/picture-dropdown\n\n"
  },
  {
    "path": "core/ui/EditorToolbar/preview-type-dropdown.tid",
    "content": "title: $:/core/ui/EditorToolbar/preview-type-dropdown\n\n\\define preview-type-button()\n<$button tag=\"a\">\n\n<$action-setfield $tiddler=\"$:/state/editpreviewtype\" $value=\"$(previewType)$\"/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<$transclude tiddler=<<previewType>> field=\"caption\" mode=\"inline\">\n\n<$view tiddler=<<previewType>> field=\"title\" mode=\"inline\"/>\n\n</$transclude> \n\n<$reveal tag=\"span\" state=\"$:/state/editpreviewtype\" type=\"match\" text=<<previewType>> default=\"$:/core/ui/EditTemplate/body/preview/output\">\n\n<$entity entity=\"&nbsp;\"/>\n\n<$entity entity=\"&#x2713;\"/>\n\n</$reveal>\n\n</$button>\n\\end\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditPreview]!has[draft.of]]\" variable=\"previewType\">\n\n<<preview-type-button>>\n\n</$list>\n"
  },
  {
    "path": "core/ui/EditorToolbar/preview-type.tid",
    "content": "title: $:/core/ui/EditorToolbar/preview-type\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/chevron-down\ncaption: {{$:/language/Buttons/PreviewType/Caption}}\ndescription: {{$:/language/Buttons/PreviewType/Hint}}\ncondition: [all[shadows+tiddlers]tag[$:/tags/EditPreview]!has[draft.of]butfirst[]limit[1]]\nbutton-classes: tc-text-editor-toolbar-item-adjunct\ndropdown: $:/core/ui/EditorToolbar/preview-type-dropdown\n"
  },
  {
    "path": "core/ui/EditorToolbar/preview.tid",
    "content": "title: $:/core/ui/EditorToolbar/preview\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/preview-open\ncustom-icon: yes\ncaption: {{$:/language/Buttons/Preview/Caption}}\ndescription: {{$:/language/Buttons/Preview/Hint}}\ncondition: [<targetTiddler>]\nbutton-classes: tc-text-editor-toolbar-item-start-group\nshortcuts: ((preview))\n\n\\whitespace trim\n<span>\n\t<$transclude $tiddler={{{ [<edit-preview-state>match[yes]then[$:/core/images/preview-open]else[$:/core/images/preview-closed]] }}} />\n</span>\n<$action-setfield $tiddler=<<editPreviewStateTiddler>> $value={{{ [<editPreviewStateTiddler>get[text]toggle[yes],[no]] }}} />\n<$action-sendmessage $message=\"tm-edit-text-operation\" $param=\"focus-editor\"/>\n"
  },
  {
    "path": "core/ui/EditorToolbar/quote.tid",
    "content": "title: $:/core/ui/EditorToolbar/quote\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/quote\ncaption: {{$:/language/Buttons/Quote/Caption}}\ndescription: {{$:/language/Buttons/Quote/Hint}}\ncondition: [<targetTiddler>!has[type]] [<targetTiddler>get[type]prefix[text/vnd.tiddlywiki]]\nshortcuts: ((quote))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-lines\"\n\tprefix=\"\n<<<\"\n\tsuffix=\"<<<\"\n/>\n"
  },
  {
    "path": "core/ui/EditorToolbar/rotate-left.tid",
    "content": "title: $:/core/ui/EditorToolbar/rotate-left\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/rotate-left\ncaption: {{$:/language/Buttons/RotateLeft/Caption}}\ndescription: {{$:/language/Buttons/RotateLeft/Hint}}\ncondition: [<targetTiddler>is[image]] -[<targetTiddler>type[image/svg+xml]]\n\n<$action-sendmessage\n\t$message=\"tm-edit-bitmap-operation\"\n\t$param=\"rotate-left\"\n/>\n"
  },
  {
    "path": "core/ui/EditorToolbar/size-dropdown.tid",
    "content": "title: $:/core/ui/EditorToolbar/size-dropdown\n\n\\define lingo-base() $:/language/Buttons/Size/\n\n\\define toolbar-button-size-preset(config-title)\n<$set name=\"width\" filter=\"$(sizePair)$ +[first[]]\">\n\n<$set name=\"height\" filter=\"$(sizePair)$ +[last[]]\">\n\n<$button tag=\"a\">\n\n<$action-setfield\n\t$tiddler=\"\"\"$config-title$/new-width\"\"\"\n\t$value=<<width>>\n/>\n\n<$action-setfield\n\t$tiddler=\"\"\"$config-title$/new-height\"\"\"\n\t$value=<<height>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=\"\"\"$config-title$/presets-popup\"\"\"\n/>\n\n<$text text=<<width>>/> &times; <$text text=<<height>>/>\n\n</$button>\n\n</$set>\n\n</$set>\n\\end\n\n\\define toolbar-button-size(config-title)\n\\whitespace trim\n''{{$:/language/Buttons/Size/Hint}}''\n\n<<lingo Caption/Width>>&#32;<$edit-text tag=\"input\" tiddler=\"\"\"$config-title$/new-width\"\"\" default=<<tv-bitmap-editor-width>> focus=\"true\" size=\"8\"/>\n&#32;\n<<lingo Caption/Height>>&#32;<$edit-text tag=\"input\" tiddler=\"\"\"$config-title$/new-height\"\"\" default=<<tv-bitmap-editor-height>> size=\"8\"/>\n&#32;\n<$button popup=\"\"\"$config-title$/presets-popup\"\"\" class=\"tc-btn-invisible tc-popup-keep\" style=\"width: auto; display: inline-block; background-colour: inherit;\" selectedClass=\"tc-selected\">\n{{$:/core/images/down-arrow}}\n</$button>\n\n<$reveal tag=\"span\" state=\"\"\"$config-title$/presets-popup\"\"\" type=\"popup\" position=\"belowleft\" animate=\"yes\">\n\n<div class=\"tc-drop-down tc-popup-keep\">\n\n<$list filter={{$:/config/BitmapEditor/ImageSizes}} variable=\"sizePair\">\n\n<$macrocall $name=\"toolbar-button-size-preset\" config-title=\"$config-title$\"/>\n\n</$list>\n\n</div>\n\n</$reveal>\n\n<$button>\n<$action-sendmessage\n\t$message=\"tm-edit-bitmap-operation\"\n\t$param=\"resize\"\n\twidth={{$config-title$/new-width}}\n\theight={{$config-title$/new-height}}\n/>\n<$action-deletetiddler\n\t$tiddler=\"\"\"$config-title$/new-width\"\"\"\n/>\n<$action-deletetiddler\n\t$tiddler=\"\"\"$config-title$/new-height\"\"\"\n/>\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n<<lingo Caption/Resize>>\n</$button>\n\\end\n\n<$macrocall $name=\"toolbar-button-size\" config-title=<<qualify \"$:/state/Size/\">>/>\n"
  },
  {
    "path": "core/ui/EditorToolbar/size.tid",
    "content": "title: $:/core/ui/EditorToolbar/size\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/size\ncaption: {{$:/language/Buttons/Size/Caption}}\ndescription: {{$:/language/Buttons/Size/Hint}}\ncondition: [<targetTiddler>is[image]] -[<targetTiddler>type[image/svg+xml]]\ndropdown: $:/core/ui/EditorToolbar/size-dropdown\n\n"
  },
  {
    "path": "core/ui/EditorToolbar/stamp-dropdown-item-template.tid",
    "content": "title: $:/core/ui/EditorToolbar/StampDropdown/ItemTemplate\n\n<$linkcatcher actions=\"\"\"\n\n<$list filter=\"[<modifier>!match[ctrl]]\" variable=\"ignore\">\n\n<$list filter=\"[<currentTiddler>addsuffix[/prefix]!is[tiddler]!is[shadow]removesuffix[/prefix]addsuffix[/suffix]!is[tiddler]!is[shadow]]\" variable=\"ignore\">\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"replace-selection\"\n\ttext={{{ [<currentTiddler>get[text]] }}}\n/>\n\n</$list>\n\n\n<$list filter=\"[<currentTiddler>addsuffix[/prefix]] [<currentTiddler>addsuffix[/suffix]] +[is[shadow]] :else[is[tiddler]] +[limit[1]]\" variable=\"ignore\">\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix={{{ [<currentTiddler>addsuffix[/prefix]get[text]] }}}\n\tsuffix={{{ [<currentTiddler>addsuffix[/suffix]get[text]] }}}\n/>\n\n</$list>\n\n</$list>\n\n<$list filter=\"[<modifier>match[ctrl]]\" variable=\"ignore\">\n\n<$action-sendmessage $message=\"tm-edit-tiddler\"/>\n\n</$list>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n\"\"\">\n\n<$link tooltip={{{ [<currentTiddler>get[description]] }}}>\n\n<$transclude tiddler=<<currentTiddler>> field=\"caption\" mode=\"inline\">\n\n<$view tiddler=<<currentTiddler>> field=\"title\" />\n\n</$transclude>\n\n</$link>\n\n</$linkcatcher>\n"
  },
  {
    "path": "core/ui/EditorToolbar/stamp-dropdown.tid",
    "content": "title: $:/core/ui/EditorToolbar/stamp-dropdown\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/TextEditor/Snippet\" subFilter=\"!is[draft]\" itemTemplate=\"$:/core/ui/EditorToolbar/StampDropdown/ItemTemplate\"/>\n\n----\n\n<$button tag=\"a\">\n\n<$action-sendmessage\n\t$message=\"tm-new-tiddler\"\n\ttags=\"$:/tags/TextEditor/Snippet\"\n\tcaption={{$:/language/Buttons/Stamp/New/Title}}\n\ttext={{$:/language/Buttons/Stamp/New/Text}}\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<em>\n\n<$text text={{$:/language/Buttons/Stamp/Caption/New}}/>\n\n</em>\n\n</$button>\n"
  },
  {
    "path": "core/ui/EditorToolbar/stamp.tid",
    "content": "title: $:/core/ui/EditorToolbar/stamp\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/stamp\ncaption: {{$:/language/Buttons/Stamp/Caption}}\ndescription: {{$:/language/Buttons/Stamp/Hint}}\ncondition: [<targetTiddler>type[]] [<targetTiddler>get[type]prefix[text/]] [<targetTiddler>get[type]match[application/javascript]] [<targetTiddler>get[type]match[application/json]] [<targetTiddler>get[type]match[application/x-tiddler-dictionary]] [<targetTiddler>get[type]match[image/svg+xml]] +[first[]]\nshortcuts: ((stamp))\ndropdown: $:/core/ui/EditorToolbar/stamp-dropdown\nbutton-classes: tc-editortoolbar-stamp-button\ntext:\n"
  },
  {
    "path": "core/ui/EditorToolbar/strikethrough.tid",
    "content": "title: $:/core/ui/EditorToolbar/strikethrough\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/strikethrough\ncaption: {{$:/language/Buttons/Strikethrough/Caption}}\ndescription: {{$:/language/Buttons/Strikethrough/Hint}}\ncondition: [<targetTiddler>!has[type]] [<targetTiddler>get[type]prefix[text/vnd.tiddlywiki]]\nshortcuts: ((strikethrough))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"~~\"\n\tsuffix=\"~~\"\n\ttrimSelection=\"yes\"\n/>\n"
  },
  {
    "path": "core/ui/EditorToolbar/subscript.tid",
    "content": "title: $:/core/ui/EditorToolbar/subscript\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/subscript\ncaption: {{$:/language/Buttons/Subscript/Caption}}\ndescription: {{$:/language/Buttons/Subscript/Hint}}\ncondition: [<targetTiddler>!has[type]] [<targetTiddler>get[type]prefix[text/vnd.tiddlywiki]]\nshortcuts: ((subscript))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\",,\"\n\tsuffix=\",,\"\n\ttrimSelection=\"yes\"\n/>\n"
  },
  {
    "path": "core/ui/EditorToolbar/superscript.tid",
    "content": "title: $:/core/ui/EditorToolbar/superscript\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/superscript\ncaption: {{$:/language/Buttons/Superscript/Caption}}\ndescription: {{$:/language/Buttons/Superscript/Hint}}\ncondition: [<targetTiddler>!has[type]] [<targetTiddler>get[type]prefix[text/vnd.tiddlywiki]]\nshortcuts: ((superscript))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"^^\"\n\tsuffix=\"^^\"\n\ttrimSelection=\"yes\"\n/>\n"
  },
  {
    "path": "core/ui/EditorToolbar/transcludify.tid",
    "content": "caption: {{$:/language/Buttons/Transcludify/Caption}}\ncondition: [<targetTiddler>!has[type]] [<targetTiddler>get[type]prefix[text/vnd.tiddlywiki]]\ndescription: {{$:/language/Buttons/Transcludify/Hint}}\nicon: $:/core/images/transcludify\nlist-before: $:/core/ui/EditorToolbar/mono-block\nshortcuts: ((transcludify))\ntitle: $:/core/ui/EditorToolbar/transcludify\ntags: $:/tags/EditorToolbar\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"{{\"\n\tsuffix=\"}}\"\n\ttrimSelection=\"yes\"\n/>\n"
  },
  {
    "path": "core/ui/EditorToolbar/underline.tid",
    "content": "title: $:/core/ui/EditorToolbar/underline\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/underline\ncaption: {{$:/language/Buttons/Underline/Caption}}\ndescription: {{$:/language/Buttons/Underline/Hint}}\ncondition: [<targetTiddler>!has[type]] [<targetTiddler>get[type]prefix[text/vnd.tiddlywiki]]\nshortcuts: ((underline))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"__\"\n\tsuffix=\"__\"\n\ttrimSelection=\"yes\"\n/>\n"
  },
  {
    "path": "core/ui/ExportTiddlyWikiCore.tid",
    "content": "title: $:/core/ui/ExportTiddlyWikiCore\n\n\\define jsFileName() tiddlywikicore-$(version)$.js\n\\rules except wikilink\n\\whitespace trim\n\n''For advanced users''\n\nExport the TiddlyWiki core JavaScript code for running with external JavaScript:\n\n<$button\n\ttooltip=\"Export the TiddlyWiki core code for running with external JavaScript\"\n\taria-label=\"export TiddlyWiki core\"\n\tclass=\"tc-btn-big-green\">\n<$action-sendmessage $message='tm-download-file' $param='$:/core/templates/tiddlywiki5.js' filename=<<jsFileName>> type=\"application/javascript\"/>\n{{$:/core/images/download-button}}\n<span class=\"tc-tiny-gap-left\">\nDownload TiddlyWiki core\n</span>\n</$button>\n\n[[Further information|https://tiddlywiki.com/#Using%20the%20external%20JavaScript%20template]]\n"
  },
  {
    "path": "core/ui/Filters/AllTags.tid",
    "content": "title: $:/core/Filters/AllTags\ntags: $:/tags/Filter\nfilter: [tags[]!is[system]sort[title]]\ndescription: {{$:/language/Filters/AllTags}}\n\n"
  },
  {
    "path": "core/ui/Filters/AllTiddlers.tid",
    "content": "title: $:/core/Filters/AllTiddlers\ntags: $:/tags/Filter\nfilter: [!is[system]sort[title]]\ndescription: {{$:/language/Filters/AllTiddlers}}\n\n"
  },
  {
    "path": "core/ui/Filters/Drafts.tid",
    "content": "title: $:/core/Filters/Drafts\ntags: $:/tags/Filter\nfilter: [has[draft.of]sort[title]]\ndescription: {{$:/language/Filters/Drafts}}\n\n"
  },
  {
    "path": "core/ui/Filters/Missing.tid",
    "content": "title: $:/core/Filters/Missing\ntags: $:/tags/Filter\nfilter: [all[missing]sort[title]]\ndescription: {{$:/language/Filters/Missing}}\n\n"
  },
  {
    "path": "core/ui/Filters/Orphans.tid",
    "content": "title: $:/core/Filters/Orphans\ntags: $:/tags/Filter\nfilter: [all[orphans]sort[title]]\ndescription: {{$:/language/Filters/Orphans}}\n\n"
  },
  {
    "path": "core/ui/Filters/OverriddenShadowTiddlers.tid",
    "content": "title: $:/core/Filters/OverriddenShadowTiddlers\ntags: $:/tags/Filter\nfilter: [is[shadow]]\ndescription: {{$:/language/Filters/OverriddenShadowTiddlers}}\n\n"
  },
  {
    "path": "core/ui/Filters/RecentSystemTiddlers.tid",
    "content": "title: $:/core/Filters/RecentSystemTiddlers\ntags: $:/tags/Filter\nfilter: [has[modified]!sort[modified]limit[50]]\ndescription: {{$:/language/Filters/RecentSystemTiddlers}}\n\n"
  },
  {
    "path": "core/ui/Filters/RecentTiddlers.tid",
    "content": "title: $:/core/Filters/RecentTiddlers\ntags: $:/tags/Filter\nfilter: [!is[system]has[modified]!sort[modified]limit[50]]\ndescription: {{$:/language/Filters/RecentTiddlers}}\n\n"
  },
  {
    "path": "core/ui/Filters/SessionTiddlers.tid",
    "content": "title: $:/core/Filters/SessionTiddlers\ntags: $:/tags/Filter\nfilter: [haschanged[]]\ndescription: {{$:/language/Filters/SessionTiddlers}}\n\n"
  },
  {
    "path": "core/ui/Filters/ShadowTiddlers.tid",
    "content": "title: $:/core/Filters/ShadowTiddlers\ntags: $:/tags/Filter\nfilter: [all[shadows]sort[title]]\ndescription: {{$:/language/Filters/ShadowTiddlers}}\n\n"
  },
  {
    "path": "core/ui/Filters/StoryList.tid",
    "content": "title: $:/core/Filters/StoryList\ntags: $:/tags/Filter\nfilter: [<tv-story-list>is[variable]then<tv-story-list>else[$:/StoryList]] =>storylist [list<storylist>] -$:/AdvancedSearch\ndescription: {{$:/language/Filters/StoryList}}\n\n"
  },
  {
    "path": "core/ui/Filters/SystemTags.tid",
    "content": "title: $:/core/Filters/SystemTags\ntags: $:/tags/Filter\nfilter: [all[shadows+tiddlers]tags[]is[system]sort[title]]\ndescription: {{$:/language/Filters/SystemTags}}\n\n"
  },
  {
    "path": "core/ui/Filters/SystemTiddlers.tid",
    "content": "title: $:/core/Filters/SystemTiddlers\ntags: $:/tags/Filter\nfilter: [is[system]sort[title]]\ndescription: {{$:/language/Filters/SystemTiddlers}}\n\n"
  },
  {
    "path": "core/ui/Filters/TypedTiddlers.tid",
    "content": "title: $:/core/Filters/TypedTiddlers\ntags: $:/tags/Filter\nfilter: [!is[system]has[type]each[type]sort[type]] -[type[text/vnd.tiddlywiki]]\ndescription: {{$:/language/Filters/TypedTiddlers}}\n\n"
  },
  {
    "path": "core/ui/ImportListing.tid",
    "content": "title: $:/core/ui/ImportListing\n\n\\define lingo-base() $:/language/Import/\n\n\\define messageField() message-$(payloadTiddler)$\n\n\\define payloadTitleFilter() [<currentTiddler>get<renameField>minlength[1]else<payloadTiddler>]\n\n\\define overWriteWarning()\n\\whitespace trim\n<$list filter=\"[<currentTiddler>!has<suppressedField>]\">\n<$text text={{{[subfilter<payloadTitleFilter>!is[tiddler]then[]] ~[<lingo-base>addsuffix[Listing/Rename/OverwriteWarning]get[text]]}}}/>\n</$list>\n\\end\n\n\\define selectionInfo()\n\\whitespace trim\n<$set name=\"escUnselected\" value={{{[{$:/language/Import/Upgrader/Tiddler/Unselected}escaperegexp[]addprefix[(?g)]]}}}>\n\t<$list filter=\"[all[current]get<messageField>regexp<escUnselected>]\" variable=\"ignore\">\n\t\t<$text text={{{[all[current]get<selectionField>match[checked]then{$:/language/Import/Upgrader/Tiddler/Selected}else[]]}}}/>\n\t</$list>\n</$set>\n\\end\n\n\\define libraryInfo()\n\\whitespace trim\n<$set name=\"escUnselected\" value={{{[{$:/language/Import/Upgrader/Tiddler/Unselected}escaperegexp[]addprefix[(?g)]]}}}>\n\t<$list filter=\"[all[current]get<messageField>!regexp<escUnselected>]\" variable=\"ignore\">\n\t\t<$text text={{{[all[current]get<messageField>]}}}/>\n\t</$list>\n</$set>\n\\end\n\n\\define selectionField() selection-$(payloadTiddler)$\n\n\\define renameField() rename-$(payloadTiddler)$\n\n\\define suppressedField() suppressed-$(payloadTiddler)$\n\n\\define previewPopupState() $(currentTiddler)$!!popup-$(payloadTiddler)$\n\n\\define renameFieldState() $(currentTiddler)$!!state-rename-$(payloadTiddler)$\n\n\\define select-all-actions()\n\\whitespace trim\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" variable=\"payloadTiddler\">\n<$action-setfield $field={{{ [<payloadTiddler>addprefix[selection-]] }}} $value={{$:/state/import/select-all}}/>\n</$list>\n\\end\n\n\\whitespace trim\n<%if [all[shadows+tiddlers]tag[$:/tags/ImportOptions]limit[1]] %>\n\t<$reveal type=\"nomatch\" state=\"$:/state/import/options\" text=\"yes\" tag=\"div\">\n\t\t<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=\"$:/state/import/options\" setTo=\"yes\" aria-label={{$:/language/Import/Listing/ImportOptions/Caption}} aria-expanded=\"false\">\n\t\t\t<span class=\"tc-small-gap-right\">{{$:/core/images/right-arrow}}</span><<lingo Listing/ImportOptions/Caption>>\n\t\t</$button>\n\t</$reveal>\n\t<$reveal type=\"match\" state=\"$:/state/import/options\" text=\"yes\" tag=\"div\">\n\t\t<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=\"$:/state/import/options\" setTo=\"no\" aria-label={{$:/language/Import/Listing/ImportOptions/Caption}} aria-expanded=\"true\">\n\t\t\t<span class=\"tc-small-gap-right\">{{$:/core/images/down-arrow}}</span><<lingo Listing/ImportOptions/Caption>>\n\t\t</$button>\n\t\t<$let importJson={{{ [{$:/Import}] }}}\n\t\t\timportTitles={{{ [<importJson>jsonindexes[tiddlers]] }}}\n\t\t\timportTypes={{{ [(importTitles)] :map[<importJson>jsonget[tiddlers],<currentTiddler>,[type]] }}}\n\t\t\tanyMatch={{{ [all[shadows+tiddlers]tag[$:/tags/ImportOptions]get[condition]] :map[(importTypes)subfilter<currentTiddler>] +[!is[blank]limit[1]] }}}>\n\t\t\t<%if [<anyMatch>!is[blank]] %>\n\t\t\t\t<div class=\"tc-import-option\">\n\t\t\t\t\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ImportOptions]]\" variable=\"importOption\">\n\t\t\t\t\t\t<$let condition={{{ [<importOption>get[condition]] }}}\n\t\t\t\t\t\t\thasMatch={{{ [(importTypes)subfilter<condition>limit[1]] }}}>\n\t\t\t\t\t\t\t<%if [<hasMatch>!is[blank]] %>\n\t\t\t\t\t\t\t\t<$transclude tiddler=<<importOption>>/>\n\t\t\t\t\t\t\t<%endif%>\n\t\t\t\t\t\t</$let>\n\t\t\t\t\t</$list>\n\t\t\t\t</div>\n\t\t\t<%else%>\n\t\t\t\t<div class=\"tc-import-option\">\n\t\t\t\t\t<<lingo Listing/ImportOptions/NoMatch>>\n\t\t\t\t</div>\n\t\t\t<%endif%>\n\t\t</$let>\n\t</$reveal>\n<%endif%>\n\n<div class=\"tc-table-wrapper\">\n<table class=\"tc-import-table\">\n<tbody>\n<tr>\n<th align=\"left\">\n<$checkbox tiddler=\"$:/state/import/select-all\" field=\"text\" checked=\"checked\" unchecked=\"unchecked\" default=\"checked\" actions=<<select-all-actions>>>\n&#32;\n<<lingo Listing/Select/Caption>>\n</$checkbox>\n</th>\n<th>\n<<lingo Listing/Title/Caption>>\n</th>\n<th>\n<<lingo Listing/Status/Caption>>\n</th>\n</tr>\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" variable=\"payloadTiddler\">\n<tr class={{{[<currentTiddler>has<suppressedField>then[tc-row-disabled]] ~[subfilter<payloadTitleFilter>is[tiddler]then[tc-row-warning]] }}}>\n<td>\n<$checkbox field=<<selectionField>> checked=\"checked\" unchecked=\"unchecked\" default=\"checked\" disabled={{{[<currentTiddler>has<suppressedField>then[yes]else[no]]}}}/>\n</td>\n<td>\n<$reveal type=\"nomatch\" state=<<renameFieldState>> text=\"yes\" tag=\"div\">\n<$reveal type=\"nomatch\" state=<<previewPopupState>> text=\"yes\" tag=\"div\" class=\"tc-flex\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown tc-flex-grow-1 tc-word-break\" set=<<previewPopupState>> setTo=\"yes\" disabled={{{[<currentTiddler>has<suppressedField>then[yes]else[no]]}}}>\n<span class=\"tc-small-gap-right\">{{$:/core/images/right-arrow}}</span><$text text={{{[subfilter<payloadTitleFilter>]}}}/>\n</$button>\n<$list filter=\"[<currentTiddler>!has<suppressedField>]\"><$button class=\"tc-btn-invisible\" set=<<renameFieldState>> setTo=\"yes\" tooltip={{{[<lingo-base>addsuffix[Listing/Rename/Tooltip]get[text]]}}}>{{$:/core/images/edit-button}}</$button></$list>\n</$reveal>\n<$reveal type=\"match\" state=<<previewPopupState>> text=\"yes\" tag=\"div\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<previewPopupState>> setTo=\"no\">\n<span class=\"tc-small-gap-right\">{{$:/core/images/down-arrow}}</span><$text text={{{[subfilter<payloadTitleFilter>]}}}/>\n</$button>\n</$reveal>\n</$reveal>\n<$reveal type=\"match\" state=<<renameFieldState>> text=\"yes\" tag=\"div\">\n<$text text={{{[<lingo-base>addsuffix[Listing/Rename/Prompt]get[text]]}}}/>\n</$reveal>\n</td>\n<td>\n<<selectionInfo>>\n&#32;\n<<libraryInfo>>\n&#32;\n<<overWriteWarning>>\n</td>\n</tr>\n<$reveal type=\"match\" state=<<renameFieldState>> text=\"yes\" tag=\"tr\">\n\t<td colspan=\"3\">\n\t\t<div class=\"tc-flex\">\n\t\t\t<$edit-text field=<<renameField>> default={{{[<payloadTiddler>]}}} tag=\"input\" class=\"tc-import-rename tc-flex-grow-1\"/>\n\t\t</div>\n\t</td>\n</$reveal>\n<$reveal type=\"match\" text=\"yes\" state=<<previewPopupState>> tag=\"tr\">\n<td colspan=\"3\">\n<$list filter=\"[{$:/state/importpreviewtype}has[text]]\" variable=\"listItem\" emptyMessage={{$:/core/ui/ImportPreviews/Text}}>\n\t<div>\n\t\t<$transclude tiddler={{$:/state/importpreviewtype}}/>\n\t</div>\n</$list>\n</td>\n</$reveal>\n</$list>\n</tbody>\n</table>\n</div>\n"
  },
  {
    "path": "core/ui/ImportPreviews/Diff.tid",
    "content": "title: $:/core/ui/ImportPreviews/Diff\ntags: $:/tags/ImportPreview\ncaption: {{$:/language/Import/Listing/Preview/Diff}}\n\n<$macrocall $name=\"compareTiddlerText\" sourceTiddlerTitle=<<payloadTiddler>> destTiddlerTitle=<<currentTiddler>> destSubTiddlerTitle=<<payloadTiddler>>/>\n"
  },
  {
    "path": "core/ui/ImportPreviews/DiffFields.tid",
    "content": "title: $:/core/ui/ImportPreviews/DiffFields\ntags: $:/tags/ImportPreview\ncaption: {{$:/language/Import/Listing/Preview/DiffFields}}\n\n<$macrocall $name=\"compareTiddlers\" sourceTiddlerTitle=<<payloadTiddler>> destTiddlerTitle=<<currentTiddler>> destSubTiddlerTitle=<<payloadTiddler>> exclude=\"text\"/>\n"
  },
  {
    "path": "core/ui/ImportPreviews/Fields.tid",
    "content": "title: $:/core/ui/ImportPreviews/Fields\ntags: $:/tags/ImportPreview\ncaption: {{$:/language/Import/Listing/Preview/Fields}}\n\n\\whitespace trim\n<table class=\"tc-view-field-table\">\n<tbody>\n<$list filter=\"[<payloadTiddler>subtiddlerfields<currentTiddler>sort[]] -text\" variable=\"fieldName\">\n<tr class=\"tc-view-field\">\n<td class=\"tc-view-field-name\">\n<$text text=<<fieldName>>/>\n</td>\n<td class=\"tc-view-field-value\">\n<$view field=<<fieldName>> tiddler=<<currentTiddler>> subtiddler=<<payloadTiddler>>/>\n</td>\n</tr>\n</$list>\n</tbody>\n</table>\n"
  },
  {
    "path": "core/ui/ImportPreviews/Text.tid",
    "content": "title: $:/core/ui/ImportPreviews/Text\ntags: $:/tags/ImportPreview\ncaption: {{$:/language/Import/Listing/Preview/Text}}\ncode-body: yes\n\n<$transclude tiddler=<<currentTiddler>> subtiddler=<<payloadTiddler>> mode=\"block\"/>\n"
  },
  {
    "path": "core/ui/ImportPreviews/TextRaw.tid",
    "content": "title: $:/core/ui/ImportPreviews/TextRaw\ntags: $:/tags/ImportPreview\ncaption: {{$:/language/Import/Listing/Preview/TextRaw}}\n\n<pre><code><$view tiddler=<<currentTiddler>> subtiddler=<<payloadTiddler>> /></code></pre>"
  },
  {
    "path": "core/ui/KeyboardShortcuts/advanced-search.tid",
    "content": "title: $:/core/ui/KeyboardShortcuts/advanced-search\ntags: $:/tags/KeyboardShortcut\nkey: ((advanced-search))\n\n\\whitespace trim\n<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\">\n<$action-navigate $to=\"$:/AdvancedSearch\" $scroll=\"yes\"/>\n<$action-sendmessage $message=\"tm-focus-selector\" $param=\"\"\"[data-tiddler-title=\"$:/AdvancedSearch\"] .tc-search input\"\"\" preventScroll=\"true\"/>\n</$navigator>\n"
  },
  {
    "path": "core/ui/KeyboardShortcuts/change-sidebar-layout.tid",
    "content": "title: $:/core/ui/KeyboardShortcuts/change-sidebar-layout\ntags: $:/tags/KeyboardShortcut\nkey: ((change-sidebar-layout))\n\n\\whitespace trim\n<$list\n\tfilter=\"[{$:/themes/tiddlywiki/vanilla/options/sidebarlayout}match[fixed-fluid]]\"\n\temptyMessage=\"<$action-setfield $tiddler='$:/themes/tiddlywiki/vanilla/options/sidebarlayout' text='fixed-fluid'/>\">\n<$action-setfield $tiddler=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\" text=\"fluid-fixed\"/>\n</$list>\n"
  },
  {
    "path": "core/ui/KeyboardShortcuts/new-image.tid",
    "content": "title: $:/core/ui/KeyboardShortcuts/new-image\ntags: $:/tags/KeyboardShortcut\nkey: ((new-image))\n\n\\whitespace trim\n<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\n{{$:/core/ui/Actions/new-image}}\n</$navigator>\n"
  },
  {
    "path": "core/ui/KeyboardShortcuts/new-journal.tid",
    "content": "title: $:/core/ui/KeyboardShortcuts/new-journal\ntags: $:/tags/KeyboardShortcut\nkey: ((new-journal))\n\n\\whitespace trim\n<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\n{{$:/core/ui/Actions/new-journal}}\n</$navigator>\n"
  },
  {
    "path": "core/ui/KeyboardShortcuts/new-tiddler.tid",
    "content": "title: $:/core/ui/KeyboardShortcuts/new-tiddler\ntags: $:/tags/KeyboardShortcut\nkey: ((new-tiddler))\n\n\\whitespace trim\n<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\n{{$:/core/ui/Actions/new-tiddler}}\n</$navigator>\n"
  },
  {
    "path": "core/ui/KeyboardShortcuts/open-control-panel.tid",
    "content": "title: $:/core/ui/KeyboardShortcuts/open-control-panel\ntags: $:/tags/KeyboardShortcut\nkey: ((open-control-panel))\n\n\\whitespace trim\n<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\">\n<$action-navigate $to=\"$:/ControlPanel\" $scroll=\"yes\"/>\n</$navigator>\n"
  },
  {
    "path": "core/ui/KeyboardShortcuts/refresh.tid",
    "content": "title: $:/core/ui/KeyboardShortcuts/refresh\ntags: $:/tags/KeyboardShortcut\nkey: ((refresh))\n\n<$action-sendmessage $message=\"tm-browser-refresh\"/>\n"
  },
  {
    "path": "core/ui/KeyboardShortcuts/save-wiki.tid",
    "content": "title: $:/core/ui/KeyboardShortcuts/save-wiki\ntags: $:/tags/KeyboardShortcut\nkey: ((save-wiki))\n\n\\whitespace trim\n<$wikify name=\"site-title\" text={{$:/config/SaveWikiButton/Filename}}>\n<$action-sendmessage $message=\"tm-save-wiki\" $param={{$:/config/SaveWikiButton/Template}} filename=<<site-title>>/>\n</$wikify>\n"
  },
  {
    "path": "core/ui/KeyboardShortcuts/sidebar-search.tid",
    "content": "title: $:/core/ui/KeyboardShortcuts/sidebar-search\ntags: $:/tags/KeyboardShortcut\nkey: ((sidebar-search))\n\n<$action-sendmessage $message=\"tm-focus-selector\" $param=\".tc-search input\"/>\n"
  },
  {
    "path": "core/ui/KeyboardShortcuts/switcher.tid",
    "content": "title: $:/core/ui/KeyboardShortcuts/switcher\ntags: $:/tags/KeyboardShortcut\nkey: ((layout-switcher))\n\n<$action-sendmessage $message=\"tm-show-switcher\" switch=\"layout\"/>"
  },
  {
    "path": "core/ui/KeyboardShortcuts/toggle-sidebar.tid",
    "content": "title: $:/core/ui/KeyboardShortcuts/toggle-sidebar\ntags: $:/tags/KeyboardShortcut\nkey: ((toggle-sidebar))\n\n\\whitespace trim\n<$list\n\tfilter=\"[[$:/state/sidebar]is[missing]] [{$:/state/sidebar}removeprefix[yes]]\"\n\temptyMessage=\"<$action-setfield $tiddler='$:/state/sidebar' text='yes'/>\">\n<$action-setfield $tiddler=\"$:/state/sidebar\" text=\"no\"/>\n</$list>\n"
  },
  {
    "path": "core/ui/LayoutSwitcher.tid",
    "content": "title: $:/snippets/LayoutSwitcher\ntags: $:/tags/ControlPanel/Appearance\ncaption: {{$:/language/ControlPanel/LayoutSwitcher/Caption}}\n\n\\whitespace trim\n\\function layout.filter() [all[current]field:title[$:/core/ui/PageTemplate]]\n\\function layout.empty.filter() [all[current]field:title{$:/layout}]\n\n<$linkcatcher to=\"$:/layout\">\n<div class=\"tc-chooser\" role=\"listbox\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/Layout]] [[$:/core/ui/PageTemplate]] +[!is[draft]sort[name]]\">\n\t<$list filter=\"[{$:/layout}!has[text]]\" variable=\"ignore\">\n\t\t<$list-empty>\n\t\t\t<div class={{{ [layout.empty.filter[]then[tc-chooser-item tc-chosen]else[tc-chooser-item]] }}}>\n\t\t\t\t<$link to={{!!title}} role=\"option\" aria-selected={{{ [layout.empty.filter[]then[true]else[false]] }}}>\n\t\t\t\t\t''<$transclude tiddler={{{ [<currentTiddler>get[icon]] }}}/><$transclude field=\"name\"/>''&#32;-&#32;<$transclude field=\"description\"/>\n\t\t\t\t</$link>\n\t\t\t</div>\n\t\t</$list-empty>\n\t\t<div class={{{ [layout.filter[]then[tc-chooser-item tc-chosen]else[tc-chooser-item]] }}}>\n\t\t\t<$link to={{!!title}} role=\"option\" aria-selected={{{ [layout.filter[]then[true]else[false]] }}}>\n\t\t\t\t''<$transclude tiddler={{{ [<currentTiddler>get[icon]] }}}/><$transclude field=\"name\"/>''&#32;-&#32;<$transclude field=\"description\"/>\n\t\t\t</$link>\n\t\t</div>\n\t</$list>\n</$list>\n</div>\n</$linkcatcher>\n"
  },
  {
    "path": "core/ui/ListItemTemplate.tid",
    "content": "title: $:/core/ui/ListItemTemplate\n\n<div class=\"tc-menu-list-item\"><$link /></div>"
  },
  {
    "path": "core/ui/ListTaggedCascade.tid",
    "content": "title: $:/snippets/ListTaggedCascade\n\n\\whitespace trim\n{{||$:/language/ControlPanel/Cascades/TagPrompt}}\n\n<ol>\n<$list filter=\"[all[shadows+tiddlers]tag<currentTiddler>]\">\n<li>\n<div>\n<$link><$text text=<<currentTiddler>>/></$link>\n</div>\n<$codeblock code={{!!text}}/>\n</li>\n</$list>\n</ol>\n"
  },
  {
    "path": "core/ui/Manager/ItemMainFields.tid",
    "content": "title: $:/Manager/ItemMain/Fields\ntags: $:/tags/Manager/ItemMain\ncaption: {{$:/language/Manager/Item/Fields}}\n\n\\whitespace trim\n<table>\n<tbody>\n<$list filter=\"[all[current]fields[]sort[title]] -text\" template=\"$:/core/ui/TiddlerFieldTemplate\" variable=\"listItem\"/>\n</tbody>\n</table>\n"
  },
  {
    "path": "core/ui/Manager/ItemMainRawText.tid",
    "content": "title: $:/Manager/ItemMain/RawText\ntags: $:/tags/Manager/ItemMain\ncaption: {{$:/language/Manager/Item/RawText}}\n\n<pre><code><$view/></code></pre>\n"
  },
  {
    "path": "core/ui/Manager/ItemMainWikifiedText.tid",
    "content": "title: $:/Manager/ItemMain/WikifiedText\ntags: $:/tags/Manager/ItemMain\ncaption: {{$:/language/Manager/Item/WikifiedText}}\n\n<$transclude mode=\"block\"/>\n"
  },
  {
    "path": "core/ui/Manager/ItemSidebarColour.tid",
    "content": "title: $:/Manager/ItemSidebar/Colour\ntags: $:/tags/Manager/ItemSidebar\ncaption: {{$:/language/Manager/Item/Colour}}\n\n\\define swatch-styles()\nheight: 1em;\nbackground-color: $(colour)$\n\\end\n\n\\whitespace trim\n<$vars colour={{!!color}}>\n<p style=<<swatch-styles>>/>\n</$vars>\n<p>\n<$edit-text field=\"color\" tag=\"input\" type=\"color\"/>\n&#32;/&#32;\n<$edit-text field=\"color\" tag=\"input\" type=\"text\" size=\"9\"/>\n</p>\n"
  },
  {
    "path": "core/ui/Manager/ItemSidebarIcon.tid",
    "content": "title: $:/Manager/ItemSidebar/Icon\ntags: $:/tags/Manager/ItemSidebar\ncaption: {{$:/language/Manager/Item/Icon}}\n\n\\whitespace trim\n<p>\n<div class=\"tc-manager-icon-editor\">\n<$button popup=<<qualify \"$:/state/popup/image-picker\">> class=\"tc-btn-invisible\">\n<$transclude tiddler={{!!icon}}>\n{{$:/language/Manager/Item/Icon/None}}\n</$transclude>\n</$button>\n<div class=\"tc-block-dropdown-wrapper\" style=\"position: static;\">\n<$reveal state=<<qualify \"$:/state/popup/image-picker\">> type=\"nomatch\" text=\"\" default=\"\" tag=\"div\" class=\"tc-popup\">\n<div class=\"tc-block-dropdown tc-popup-keep\" style=\"width: 80%; left: 10%; right: 10%; padding: 0.5em;\">\n<$macrocall\n\t$name=\"image-picker-include-tagged-images\"\n\tactions=\"<$action-setfield $field='icon' $value=<<imageTitle>>/><$action-deletetiddler $tiddler=<<qualify '$:/state/popup/image-picker'>>/>\"/>\n</div>\n</$reveal>\n</div>\n</div>\n</p>\n"
  },
  {
    "path": "core/ui/Manager/ItemSidebarTags.tid",
    "content": "title: $:/Manager/ItemSidebar/Tags\ntags: $:/tags/Manager/ItemSidebar\ncaption: {{$:/language/Manager/Item/Tags}}\n\n\\whitespace trim\n\\define tag-checkbox-actions()\n<$action-listops\n\t$tiddler=\"$:/config/Manager/RecentTags\"\n\t$subfilter=\"[<tag>] [list[$:/config/Manager/RecentTags]] +[limit[12]]\"\n/>\n\\end\n\n\\define tag-picker-actions()\n<<tag-checkbox-actions>>\n\\end\n\n<p>\n<$list filter=\"[all[current]tags[]] [list[$:/config/Manager/RecentTags]] +[sort[title]] \" variable=\"tag\" storyview=\"pop\">\n<div>\n<$checkbox tiddler=<<currentTiddler>> tag=<<tag>> actions=<<tag-checkbox-actions>>>\n<$macrocall $name=\"tag-pill\" tag=<<tag>>/>\n</$checkbox>\n</div>\n</$list>\n</p>\n<p>\n<$fieldmangler>\n<$macrocall $name=\"tag-picker\" actions=<<tag-picker-actions>>/>\n</$fieldmangler>\n</p>\n"
  },
  {
    "path": "core/ui/Manager/ItemSidebarTools.tid",
    "content": "title: $:/Manager/ItemSidebar/Tools\ntags: $:/tags/Manager/ItemSidebar\ncaption: {{$:/language/Manager/Item/Tools}}\n\n\\whitespace trim\n<p>\n<$button to=<<currentTiddler>>>\n{{$:/core/images/link}}&#32;open\n</$button>\n</p>\n<p>\n<$button message=\"tm-edit-tiddler\" param=<<currentTiddler>>>\n{{$:/core/images/edit-button}}&#32;edit\n</$button>\n</p>\n"
  },
  {
    "path": "core/ui/Manager.tid",
    "content": "title: $:/Manager\nicon: $:/core/images/list\ncolor: #bbb\n\n\\define lingo-base() $:/language/Manager/\n\n\\define list-item-content-item()\n\\whitespace trim\n<div class=\"tc-manager-list-item-content-item\">\n\t<$vars state-title=\"\"\"$:/state/popup/manager/item/$(listItem)$\"\"\">\n\t\t<$reveal state=<<state-title>> type=\"match\" text=\"show\" default=\"show\" tag=\"div\">\n\t\t\t<$button set=<<state-title>> setTo=\"hide\" class=\"tc-btn-invisible tc-manager-list-item-content-item-heading\">\n\t\t\t\t{{$:/core/images/down-arrow}}&#32;<$transclude tiddler=<<listItem>> field=\"caption\"/>\n\t\t\t</$button>\n\t\t</$reveal>\n\t\t<$reveal state=<<state-title>> type=\"nomatch\" text=\"show\" default=\"show\" tag=\"div\">\n\t\t\t<$button set=<<state-title>> setTo=\"show\" class=\"tc-btn-invisible tc-manager-list-item-content-item-heading\">\n\t\t\t\t{{$:/core/images/right-arrow}}&#32;<$transclude tiddler=<<listItem>> field=\"caption\"/>\n\t\t\t</$button>\n\t\t</$reveal>\n\t\t<$reveal state=<<state-title>> type=\"match\" text=\"show\" default=\"show\" tag=\"div\" class=\"tc-manager-list-item-content-item-body\">\n\t\t\t<$transclude tiddler=<<listItem>>/>\n\t\t</$reveal>\n\t</$vars>\n</div>\n\\end\n\n\\whitespace trim\n<div class=\"tc-manager-wrapper\">\n\t<div class=\"tc-manager-controls\">\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<<lingo Controls/Show/Prompt>>&#32;<$select tiddler=\"$:/config/Manager/Show\" default=\"tiddlers\">\n\t\t\t\t<option value=\"tiddlers\"><<lingo Controls/Show/Option/Tiddlers>></option>\n\t\t\t\t<option value=\"tags\"><<lingo Controls/Show/Option/Tags>></option>\n\t\t\t</$select>\n\t\t</div>\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<<lingo Controls/Search/Prompt>>&#32;<$edit-text tiddler=\"$:/config/Manager/Filter\" tag=\"input\" default=\"\" placeholder={{$:/language/Manager/Controls/Search/Placeholder}}/>\n\t\t</div>\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<<lingo Controls/FilterByTag/Prompt>>&#32;<$select tiddler=\"$:/config/Manager/Tag\" default=\"\">\n\t\t\t\t<option value=\"\"><<lingo Controls/FilterByTag/None>></option>\n\t\t\t\t<$list filter=\"[!is{$:/config/Manager/System}tags[]!is[system]sort[title]]\" variable=\"tag\">\n\t\t\t\t\t<option value=<<tag>>><$text text=<<tag>>/></option>\n\t\t\t\t</$list>\n\t\t\t</$select>\n\t\t</div>\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<<lingo Controls/Sort/Prompt>>&#32;<$select tiddler=\"$:/config/Manager/Sort\" default=\"title\">\n\t\t\t\t<optgroup label=\"Common\">\n\t\t\t\t\t<$list filter=\"title modified modifier created creator created\" variable=\"field\">\n\t\t\t\t\t\t<option value=<<field>>><$text text=<<field>>/></option>\n\t\t\t\t\t</$list>\n\t\t\t\t</optgroup>\n\t\t\t\t<optgroup label=\"All\">\n\t\t\t\t\t<$list filter=\"[all{$:/config/Manager/Show}!is{$:/config/Manager/System}fields[]sort[title]] -title -modified -modifier -created -creator -created\" variable=\"field\">\n\t\t\t\t\t\t<option value=<<field>>><$text text=<<field>>/></option>\n\t\t\t\t\t</$list>\n\t\t\t\t</optgroup>\n\t\t\t</$select>\n\t\t\t&#32;\n\t\t\t<$checkbox tiddler=\"$:/config/Manager/Order\" field=\"text\" checked=\"reverse\" unchecked=\"forward\" default=\"forward\">\n\t\t\t\t&#32;\n\t\t\t\t<<lingo Controls/Order/Prompt>>\n\t\t\t</$checkbox>\n\t\t</div>\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<$checkbox tiddler=\"$:/config/Manager/System\" field=\"text\" checked=\"\" unchecked=\"system\" default=\"system\">\n\t\t\t\t&#32;\n\t\t\t\t{{$:/language/SystemTiddlers/Include/Prompt}}\n\t\t\t</$checkbox>\n\t\t</div>\n\t</div>\n\t<div class=\"tc-manager-list\">\n\t\t<$list filter=\"[all{$:/config/Manager/Show}!is{$:/config/Manager/System}search{$:/config/Manager/Filter}tag:strict{$:/config/Manager/Tag}sort{$:/config/Manager/Sort}order{$:/config/Manager/Order}]\">\n\t\t\t<$vars transclusion=<<currentTiddler>>>\n\t\t\t\t<div style=\"tc-manager-list-item\">\n\t\t\t\t\t<$button popup=<<qualify \"$:/state/manager/popup\">> class=\"tc-btn-invisible tc-manager-list-item-heading\" selectedClass=\"tc-manager-list-item-heading-selected\">\n\t\t\t\t\t\t<$text text=<<currentTiddler>>/>\n\t\t\t\t\t</$button>\n\t\t\t\t\t<$reveal state=<<qualify \"$:/state/manager/popup\">> type=\"nomatch\" text=\"\" default=\"\" tag=\"div\" class=\"tc-manager-list-item-content tc-popup-handle\">\n\t\t\t\t\t\t<div class=\"tc-manager-list-item-content-tiddler\">\n\t\t\t\t\t\t\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Manager/ItemMain]!has[draft.of]]\" variable=\"listItem\">\n\t\t\t\t\t\t\t\t<<list-item-content-item>>\n\t\t\t\t\t\t\t</$list>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"tc-manager-list-item-content-sidebar\">\n\t\t\t\t\t\t\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Manager/ItemSidebar]!has[draft.of]]\" variable=\"listItem\">\n\t\t\t\t\t\t\t\t<<list-item-content-item>>\n\t\t\t\t\t\t\t</$list>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</$reveal>\n\t\t\t\t</div>\n\t\t\t</$vars>\n\t\t</$list>\n\t</div>\n</div>\n"
  },
  {
    "path": "core/ui/MissingTemplate.tid",
    "content": "title: $:/core/ui/MissingTemplate\n\n\\whitespace trim\n<div class=\"tc-tiddler-missing\">\n<$button popup=<<qualify \"$:/state/popup/missing\">> class=\"tc-btn-invisible tc-missing-tiddler-label\">\n<$view field=\"title\" format=\"text\" />\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/missing\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n<hr>\n<$list filter=\"[all[current]backlinks[]sort[title]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n</div>\n</$reveal>\n</div>\n"
  },
  {
    "path": "core/ui/MoreSideBar/All.tid",
    "content": "title: $:/core/ui/MoreSideBar/All\ntags: $:/tags/MoreSideBar\ncaption: {{$:/language/SideBar/All/Caption}}\n\n<$list filter={{$:/core/Filters/AllTiddlers!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
  },
  {
    "path": "core/ui/MoreSideBar/Drafts.tid",
    "content": "title: $:/core/ui/MoreSideBar/Drafts\ntags: $:/tags/MoreSideBar\ncaption: {{$:/language/SideBar/Drafts/Caption}}\n\n<$list filter={{$:/core/Filters/Drafts!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
  },
  {
    "path": "core/ui/MoreSideBar/Explorer.tid",
    "content": "title: $:/core/ui/MoreSideBar/Explorer\ntags: $:/tags/MoreSideBar\ncaption: {{$:/language/SideBar/Explorer/Caption}}\n\n<<tree \"$:/\">>\n"
  },
  {
    "path": "core/ui/MoreSideBar/Missing.tid",
    "content": "title: $:/core/ui/MoreSideBar/Missing\ntags: $:/tags/MoreSideBar\ncaption: {{$:/language/SideBar/Missing/Caption}}\n\n<$list filter={{$:/core/Filters/Missing!!filter}} template=\"$:/core/ui/MissingTemplate\"/>\n"
  },
  {
    "path": "core/ui/MoreSideBar/Orphans.tid",
    "content": "title: $:/core/ui/MoreSideBar/Orphans\ntags: $:/tags/MoreSideBar\ncaption: {{$:/language/SideBar/Orphans/Caption}}\n\n<$list filter={{$:/core/Filters/Orphans!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
  },
  {
    "path": "core/ui/MoreSideBar/Plugins.tid",
    "content": "title: $:/core/ui/MoreSideBar/Plugins\ntags: $:/tags/MoreSideBar\ncaption: {{$:/language/ControlPanel/Plugins/Caption}}\n\n\n{{$:/language/ControlPanel/Plugins/Installed/Hint}}\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/MoreSideBar/Plugins]!has[draft.of]]\" default=\"$:/core/ui/MoreSideBar/Plugins/Plugins\" explicitState=\"$:/state/tab-1163638994\"/>\n"
  },
  {
    "path": "core/ui/MoreSideBar/Recent.tid",
    "content": "title: $:/core/ui/MoreSideBar/Recent\ntags: $:/tags/MoreSideBar\ncaption: {{$:/language/SideBar/Recent/Caption}}\n\n<$macrocall $name=\"timeline\" format={{$:/language/RecentChanges/DateFormat}}/>\n"
  },
  {
    "path": "core/ui/MoreSideBar/Shadows.tid",
    "content": "title: $:/core/ui/MoreSideBar/Shadows\ntags: $:/tags/MoreSideBar\ncaption: {{$:/language/SideBar/Shadows/Caption}}\n\n<$list filter={{$:/core/Filters/ShadowTiddlers!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
  },
  {
    "path": "core/ui/MoreSideBar/System.tid",
    "content": "title: $:/core/ui/MoreSideBar/System\ntags: $:/tags/MoreSideBar\ncaption: {{$:/language/SideBar/System/Caption}}\n\n<$list filter={{$:/core/Filters/SystemTiddlers!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
  },
  {
    "path": "core/ui/MoreSideBar/Tags.tid",
    "content": "title: $:/core/ui/MoreSideBar/Tags\ntags: $:/tags/MoreSideBar\ncaption: {{$:/language/SideBar/Tags/Caption}}\n\n\\whitespace trim\n<$let tv-config-toolbar-icons=\"yes\" tv-config-toolbar-text=\"yes\" tv-config-toolbar-class=\"\">\n\t<div class=\"tc-tiny-v-gap-bottom\">\n\t\t{{$:/core/ui/Buttons/tag-manager}}\n\t</div>\n</$let>\n<$list filter={{$:/core/Filters/AllTags!!filter}}>\n\t<div class=\"tc-tiny-v-gap-bottom\">\n\t\t<$transclude tiddler=\"$:/core/ui/TagTemplate\"/>\n\t</div>\n</$list>\n<hr class=\"tc-untagged-separator\">\n{{$:/core/ui/UntaggedTemplate}}\n"
  },
  {
    "path": "core/ui/MoreSideBar/Types.tid",
    "content": "title: $:/core/ui/MoreSideBar/Types\ntags: $:/tags/MoreSideBar\ncaption: {{$:/language/SideBar/Types/Caption}}\n\n\\whitespace trim\n<$list filter={{$:/core/Filters/TypedTiddlers!!filter}}>\n<div class=\"tc-menu-list-item\">\n<$view field=\"type\"/>\n<$list filter=\"[type{!!type}!is[system]sort[title]]\">\n<div class=\"tc-menu-list-subitem\">\n<$link to={{!!title}}><$view field=\"title\"/></$link>\n</div>\n</$list>\n</div>\n</$list>\n"
  },
  {
    "path": "core/ui/MoreSideBar/plugins/Languages.tid",
    "content": "title: $:/core/ui/MoreSideBar/Plugins/Languages\ntags: $:/tags/MoreSideBar/Plugins\ncaption: {{$:/language/ControlPanel/Plugins/Languages/Caption}}\n\n<$list filter=\"[!has[draft.of]plugin-type[language]sort[name]]\" template=\"$:/core/ui/PluginListItemTemplate\" emptyMessage={{$:/language/ControlPanel/Plugins/Empty/Hint}}/>\n"
  },
  {
    "path": "core/ui/MoreSideBar/plugins/Plugins.tid",
    "content": "title: $:/core/ui/MoreSideBar/Plugins/Plugins\ntags: $:/tags/MoreSideBar/Plugins\ncaption: {{$:/language/ControlPanel/Plugins/Plugins/Caption}}\n\n<$list filter=\"[!has[draft.of]plugin-type[plugin]sort[name]]\" template=\"$:/core/ui/PluginListItemTemplate\" emptyMessage={{$:/language/ControlPanel/Plugins/Empty/Hint}}>>/>\n"
  },
  {
    "path": "core/ui/MoreSideBar/plugins/Theme.tid",
    "content": "title: $:/core/ui/MoreSideBar/Plugins/Theme\ntags: $:/tags/MoreSideBar/Plugins\ncaption: {{$:/language/ControlPanel/Plugins/Themes/Caption}}\n\n<$list filter=\"[!has[draft.of]plugin-type[theme]sort[name]]\" template=\"$:/core/ui/PluginListItemTemplate\" emptyMessage={{$:/language/ControlPanel/Plugins/Empty/Hint}}/>\n"
  },
  {
    "path": "core/ui/PageControls/advanced-search.tid",
    "content": "title: $:/core/ui/Buttons/advanced-search\ntags: $:/tags/PageControls\ncaption: {{$:/core/images/advanced-search-button}} {{$:/language/Buttons/AdvancedSearch/Caption}}\ndescription: {{$:/language/Buttons/AdvancedSearch/Hint}}\n\n\\whitespace trim\n\\procedure advanced-search-button(class)\n\\whitespace trim\n<$button to=\"$:/AdvancedSearch\" tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=`$(tv-config-toolbar-class)$ $(class)$`>\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/core/images/advanced-search-button}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/AdvancedSearch/Caption}}/></span>\n<%endif%>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/AdvancedSearch]]\" emptyMessage=<<advanced-search-button>>>\n<<advanced-search-button \"tc-selected\">>\n</$list>\n"
  },
  {
    "path": "core/ui/PageControls/closeall.tid",
    "content": "title: $:/core/ui/Buttons/close-all\ntags: $:/tags/PageControls\ncaption: {{$:/core/images/close-all-button}} {{$:/language/Buttons/CloseAll/Caption}}\ndescription: {{$:/language/Buttons/CloseAll/Hint}}\n\n\\whitespace trim\n<$button message=\"tm-close-all-tiddlers\" tooltip={{$:/language/Buttons/CloseAll/Hint}} aria-label={{$:/language/Buttons/CloseAll/Caption}} class=<<tv-config-toolbar-class>>>\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/core/images/close-all-button}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/CloseAll/Caption}}/>\n</span>\n<%endif%>\n</$button>\n"
  },
  {
    "path": "core/ui/PageControls/controlpanel.tid",
    "content": "title: $:/core/ui/Buttons/control-panel\ntags: $:/tags/PageControls\ncaption: {{$:/core/images/options-button}} {{$:/language/Buttons/ControlPanel/Caption}}\ndescription: {{$:/language/Buttons/ControlPanel/Hint}}\n\n\\whitespace trim\n\\procedure control-panel-button(class)\n\\whitespace trim\n<$button to=\"$:/ControlPanel\" tooltip={{$:/language/Buttons/ControlPanel/Hint}} aria-label={{$:/language/Buttons/ControlPanel/Caption}} class=`$(tv-config-toolbar-class)$ $(class)$`>\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/core/images/options-button}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/ControlPanel/Caption}}/></span>\n<%endif%>\n</$button>\n\\end\n\n<$list filter=\"[list<tv-story-list>] +[field:title[$:/ControlPanel]]\" emptyMessage=<<control-panel-button>>>\n<<control-panel-button \"tc-selected\">>\n</$list>\n"
  },
  {
    "path": "core/ui/PageControls/encryption.tid",
    "content": "title: $:/core/ui/Buttons/encryption\ntags: $:/tags/PageControls\ncaption: {{$:/core/images/locked-padlock}} {{$:/language/Buttons/Encryption/Caption}}\ndescription: {{$:/language/Buttons/Encryption/Hint}}\n\n\\whitespace trim\n<$reveal type=\"match\" state=\"$:/isEncrypted\" text=\"yes\">\n<$button message=\"tm-clear-password\" tooltip={{$:/language/Buttons/Encryption/ClearPassword/Hint}} aria-label={{$:/language/Buttons/Encryption/ClearPassword/Caption}} class=<<tv-config-toolbar-class>>>\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/core/images/locked-padlock}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Encryption/ClearPassword/Caption}}/>\n</span>\n<%endif%>\n</$button>\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\n<$button message=\"tm-set-password\" tooltip={{$:/language/Buttons/Encryption/SetPassword/Hint}} aria-label={{$:/language/Buttons/Encryption/SetPassword/Caption}} class=<<tv-config-toolbar-class>>>\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/core/images/unlocked-padlock}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Encryption/SetPassword/Caption}}/>\n</span>\n<%endif%>\n</$button>\n</$reveal>\n"
  },
  {
    "path": "core/ui/PageControls/export-page.tid",
    "content": "title: $:/core/ui/Buttons/export-page\ntags: $:/tags/PageControls\ncaption: {{$:/core/images/export-button}} {{$:/language/Buttons/ExportPage/Caption}}\ndescription: {{$:/language/Buttons/ExportPage/Hint}}\n\n<$transclude $variable=\"exportButton\" exportFilter=\"[!is[system]sort[title]]\" lingoBase=\"$:/language/Buttons/ExportPage/\"/>"
  },
  {
    "path": "core/ui/PageControls/export-tiddlywikicore.tid",
    "content": "title: $:/core/ui/ExportTiddlyWikiCore\n\n\\define jsFileName() tiddlywikicore-$(version)$.js\n\\define noExportMsg()\nIt appears that you have a wiki with an external ~TiddlyWiki core. The export action cannot be performed.\n<p>You will need to view the page source in your browser. Then go to the very bottom the the source, find the last `<script>` \nelement, and right-click its `src` URI. Save the link as ''$(jsFileName)$''</p>\n\\end\n\n''For advanced users''\n\nExport the ~TiddlyWiki core ~JavaScript code for running with external ~JavaScript:\n\n<$button tooltip=\"Export the ~TiddlyWiki core code for running with external ~JavaScript\" aria-label=\"export TiddlyWiki core\" class=\"tc-btn-big-green\">\n<$list filter=\"[[$:/boot/boot.js]is[missing]]\" variable=\"ignore\" emptyMessage=\"\"\"<$action-sendmessage $message=\"tm-download-file\" $param=\"$:/core/templates/tiddlywiki5.js\" filename=<<jsFileName>> type=\"application/javascript\"/>\"\"\" >\n<$action-setfield $tiddler=<<qualify \"$:/temp/alert\">> text=<<noExportMsg>> subtitle=\"Export ~TiddllyWiki Core\"/>\n<$action-sendmessage $message=\"tm-modal\" $param=<<qualify \"$:/temp/alert\">>/>\n</$list>\n{{$:/core/images/download-button}} Download ~TiddlyWiki core\n</$button>\n\n[[Further information|https://tiddlywiki.com/#Using%20the%20external%20JavaScript%20template]]\n"
  },
  {
    "path": "core/ui/PageControls/fold-all.tid",
    "content": "title: $:/core/ui/Buttons/fold-all\ntags: $:/tags/PageControls\ncaption: {{$:/core/images/fold-all-button}} {{$:/language/Buttons/FoldAll/Caption}}\ndescription: {{$:/language/Buttons/FoldAll/Hint}}\n\n\\whitespace trim\n<$button tooltip={{$:/language/Buttons/FoldAll/Hint}} aria-label={{$:/language/Buttons/FoldAll/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-all-tiddlers\" $param=<<currentTiddler>> foldedStatePrefix=\"$:/state/folded/\"/>\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/core/images/fold-all-button}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/FoldAll/Caption}}/>\n</span>\n<%endif%>\n</$button>\n"
  },
  {
    "path": "core/ui/PageControls/full-screen.tid",
    "content": "title: $:/core/ui/Buttons/full-screen\ntags: $:/tags/PageControls\ncaption: {{$:/core/images/full-screen-button}} {{$:/language/Buttons/FullScreen/Caption}}\ndescription: {{$:/language/Buttons/FullScreen/Hint}}\n\n\\whitespace trim\n<$button message=\"tm-full-screen\" tooltip={{$:/language/Buttons/FullScreen/Hint}} aria-label={{$:/language/Buttons/FullScreen/Caption}} class=<<tv-config-toolbar-class>>>\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/core/images/full-screen-button}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/FullScreen/Caption}}/>\n</span>\n<%endif%>\n</$button>\n"
  },
  {
    "path": "core/ui/PageControls/home.tid",
    "content": "title: $:/core/ui/Buttons/home\ntags: $:/tags/PageControls\ncaption: {{$:/core/images/home-button}} {{$:/language/Buttons/Home/Caption}}\ndescription: {{$:/language/Buttons/Home/Hint}}\n\n\\whitespace trim\n<$button message=\"tm-home\" tooltip={{$:/language/Buttons/Home/Hint}} aria-label={{$:/language/Buttons/Home/Caption}} class=<<tv-config-toolbar-class>>>\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/core/images/home-button}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Home/Caption}}/>\n</span>\n<%endif%>\n</$button>\n"
  },
  {
    "path": "core/ui/PageControls/import.tid",
    "content": "title: $:/core/ui/Buttons/import\ntags: $:/tags/PageControls\ncaption: {{$:/core/images/import-button}} {{$:/language/Buttons/Import/Caption}}\ndescription: {{$:/language/Buttons/Import/Hint}}\n\n\\whitespace trim\n<div class=\"tc-file-input-wrapper\">\n<$button tooltip={{$:/language/Buttons/Import/Hint}} aria-label={{$:/language/Buttons/Import/Caption}} class=<<tv-config-toolbar-class>>>\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/core/images/import-button}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Import/Caption}}/>\n</span>\n<%endif%>\n</$button>\n<$browse tooltip={{$:/language/Buttons/Import/Hint}}/>\n</div>\n"
  },
  {
    "path": "core/ui/PageControls/language.tid",
    "content": "title: $:/core/ui/Buttons/language\ntags: $:/tags/PageControls\ncaption: {{$:/core/images/globe}} {{$:/language/Buttons/Language/Caption}}\ndescription: {{$:/language/Buttons/Language/Hint}}\n\n\\whitespace trim\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/language\">> tooltip={{$:/language/Buttons/Language/Hint}} aria-label={{$:/language/Buttons/Language/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/core/images/language}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Language/Caption}}/></span>\n<%endif%>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/language\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n{{$:/snippets/languageswitcher}}\n</div>\n</$reveal>\n"
  },
  {
    "path": "core/ui/PageControls/layout.tid",
    "content": "title: $:/core/ui/Buttons/layout\ntags: $:/tags/PageControls\ncaption: {{$:/core/images/layout-button}} {{$:/language/Buttons/LayoutSwitcher/Caption}}\ndescription: {{$:/language/LayoutSwitcher/Description}}\n\n\\whitespace trim\n<$button tooltip={{$:/language/Buttons/LayoutSwitcher/Hint}} aria-label={{$:/language/Buttons/LayoutSwitcher/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-show-switcher\" switch=\"layout\"/>\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/core/images/layout-button}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/LayoutSwitcher/Caption}}/></span>\n<%endif%>\n</$button>\n"
  },
  {
    "path": "core/ui/PageControls/manager.tid",
    "content": "title: $:/core/ui/Buttons/manager\ntags: $:/tags/PageControls\ncaption: {{$:/core/images/list}} {{$:/language/Buttons/Manager/Caption}}\ndescription: {{$:/language/Buttons/Manager/Hint}}\n\n\\whitespace trim\n\\procedure manager-button(class)\n\\whitespace trim\n<$button to=\"$:/Manager\" tooltip={{$:/language/Buttons/Manager/Hint}} aria-label={{$:/language/Buttons/Manager/Caption}} class=`$(tv-config-toolbar-class)$ $(class)$`>\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/core/images/list}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Manager/Caption}}/>\n</span>\n<%endif%>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/Manager]]\" emptyMessage=<<manager-button>>>\n<<manager-button \"tc-selected\">>\n</$list>\n"
  },
  {
    "path": "core/ui/PageControls/more-page-actions.tid",
    "content": "title: $:/core/ui/Buttons/more-page-actions\ntags: $:/tags/PageControls\ncaption: {{$:/core/images/down-arrow}} {{$:/language/Buttons/More/Caption}}\ndescription: {{$:/language/Buttons/More/Hint}}\n\n\\whitespace trim\n\\define config-title() $:/config/PageControlButtons/Visibility/$(listItem)$\n\n<$button popup=<<qualify \"$:/state/popup/more\">>\n\ttooltip={{$:/language/Buttons/More/Hint}}\n\taria-label={{$:/language/Buttons/More/Caption}}\n\tclass=<<tv-config-toolbar-class>>\n\tselectedClass=\"tc-selected\"\n>\n\t<%if [<tv-config-toolbar-icons>match[yes]] %>\n\t\t{{$:/core/images/down-arrow}}\n\t<%endif%>\n\t<%if [<tv-config-toolbar-text>match[yes]] %>\n\t\t<span class=\"tc-btn-text\">\n\t\t\t<$text text={{$:/language/Buttons/More/Caption}}/>\n\t\t</span>\n\t<%endif%>\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/more\">> type=\"popup\" position=\"below\" animate=\"yes\">\n\t<div class=\"tc-drop-down\">\n\t\t<$let tv-config-toolbar-icons=\"yes\" tv-config-toolbar-text=\"yes\" tv-config-toolbar-class=\"tc-btn-invisible\">\n\t\t\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]] -[[$:/core/ui/Buttons/more-page-actions]]\"\n\t\t\t\tvariable=\"listItem\"\n\t\t\t>\n\t\t\t\t<$reveal type=\"match\" state=<<config-title>> text=\"hide\">\n\t\t\t\t\t<$set name=\"tv-config-toolbar-class\"\n\t\t\t\t\t\tfilter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\t\t\t\t\t</$set>\n\t\t\t\t</$reveal>\n\t\t\t</$list>\n\t\t</$let>\n\t</div>\n</$reveal>\n"
  },
  {
    "path": "core/ui/PageControls/network-activity.tid",
    "content": "title: $:/core/ui/Buttons/network-activity\ntags: $:/tags/PageControls\ncaption: {{$:/core/images/network-activity}} {{$:/language/Buttons/NetworkActivity/Caption}}\ndescription: {{$:/language/Buttons/NetworkActivity/Hint}}\n\n\\whitespace trim\n<$button message=\"tm-http-cancel-all-requests\" tooltip={{$:/language/Buttons/NetworkActivity/Hint}} aria-label={{$:/language/Buttons/NetworkActivity/Caption}} class=<<tv-config-toolbar-class>>>\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/core/images/network-activity}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/NetworkActivity/Caption}}/>\n</span>\n<%endif%>\n</$button>\n"
  },
  {
    "path": "core/ui/PageControls/new-image.tid",
    "content": "title: $:/core/ui/Buttons/new-image\ntags: $:/tags/PageControls\ncaption: {{$:/core/images/new-image-button}} {{$:/language/Buttons/NewImage/Caption}}\ndescription: {{$:/language/Buttons/NewImage/Hint}}\n\n\\whitespace trim\n<$button tooltip={{$:/language/Buttons/NewImage/Hint}} aria-label={{$:/language/Buttons/NewImage/Caption}} class=<<tv-config-toolbar-class>> actions={{$:/core/ui/Actions/new-image}}>\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/core/images/new-image-button}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/NewImage/Caption}}/>\n</span>\n<%endif%>\n</$button>\n"
  },
  {
    "path": "core/ui/PageControls/new-journal.tid",
    "content": "title: $:/core/ui/Buttons/new-journal\ntags: $:/tags/PageControls\ncaption: {{$:/core/images/new-journal-button}} {{$:/language/Buttons/NewJournal/Caption}}\ndescription: {{$:/language/Buttons/NewJournal/Hint}}\n\n\\whitespace trim\n\\procedure journalButton()\n<$button tooltip={{$:/language/Buttons/NewJournal/Hint}} aria-label={{$:/language/Buttons/NewJournal/Caption}} class=<<tv-config-toolbar-class>> actions={{$:/core/ui/Actions/new-journal}}>\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/core/images/new-journal-button}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/NewJournal/Caption}}/>\n</span>\n<%endif%>\n</$button>\n\\end\n<<journalButton>>\n"
  },
  {
    "path": "core/ui/PageControls/newtiddler.tid",
    "content": "title: $:/core/ui/Buttons/new-tiddler\ntags: $:/tags/PageControls\ncaption: {{$:/core/images/new-button}} {{$:/language/Buttons/NewTiddler/Caption}}\ndescription: {{$:/language/Buttons/NewTiddler/Hint}}\n\n\\whitespace trim\n<$button actions={{$:/core/ui/Actions/new-tiddler}} tooltip={{$:/language/Buttons/NewTiddler/Hint}} aria-label={{$:/language/Buttons/NewTiddler/Caption}} class=<<tv-config-toolbar-class>>>\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/core/images/new-button}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/NewTiddler/Caption}}/>\n</span>\n<%endif%>\n</$button>\n"
  },
  {
    "path": "core/ui/PageControls/palette.tid",
    "content": "title: $:/core/ui/Buttons/palette\ntags: $:/tags/PageControls\ncaption: {{$:/core/images/palette}} {{$:/language/Buttons/Palette/Caption}}\ndescription: {{$:/language/Buttons/Palette/Hint}}\n\n\\whitespace trim\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/palette\">> tooltip={{$:/language/Buttons/Palette/Hint}} aria-label={{$:/language/Buttons/Palette/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/core/images/palette}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Palette/Caption}}/></span>\n<%endif%>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/palette\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\" style=\"font-size:0.7em;\">\n{{$:/snippets/paletteswitcher}}\n</div>\n</$reveal>\n"
  },
  {
    "path": "core/ui/PageControls/print.tid",
    "content": "title: $:/core/ui/Buttons/print\ntags: $:/tags/PageControls\ncaption: {{$:/core/images/print-button}} {{$:/language/Buttons/Print/Caption}}\ndescription: {{$:/language/Buttons/Print/Hint}}\n\n\\whitespace trim\n<$button message=\"tm-print\" tooltip={{$:/language/Buttons/Print/Hint}} aria-label={{$:/language/Buttons/Print/Caption}} class=<<tv-config-toolbar-class>>>\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/core/images/print-button}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Print/Caption}}/>\n</span>\n<%endif%>\n</$button>\n"
  },
  {
    "path": "core/ui/PageControls/refresh.tid",
    "content": "title: $:/core/ui/Buttons/refresh\ntags: $:/tags/PageControls\ncaption: {{$:/core/images/refresh-button}} {{$:/language/Buttons/Refresh/Caption}}\ndescription: {{$:/language/Buttons/Refresh/Hint}}\n\n\\whitespace trim\n<$button message=\"tm-browser-refresh\" tooltip={{$:/language/Buttons/Refresh/Hint}} aria-label={{$:/language/Buttons/Refresh/Caption}} class=<<tv-config-toolbar-class>>>\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/core/images/refresh-button}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Refresh/Caption}}/>\n</span>\n<%endif%>\n</$button>\n"
  },
  {
    "path": "core/ui/PageControls/savewiki.tid",
    "content": "title: $:/core/ui/Buttons/save-wiki\ntags: $:/tags/PageControls\ncaption: {{$:/core/images/save-button-dynamic}} {{$:/language/Buttons/SaveWiki/Caption}}\ndescription: {{$:/language/Buttons/SaveWiki/Hint}}\n\n\\whitespace trim\n\\procedure saveActions()\n<$wikify name=\"site-title\" text={{$:/config/SaveWikiButton/Filename}}>\n\t<$action-sendmessage $message=\"tm-save-wiki\" $param={{$:/config/SaveWikiButton/Template}} filename=<<site-title>>/>\n</$wikify>\n\\end\n\n<$button actions=<<saveActions>>\n\ttooltip={{$:/language/Buttons/SaveWiki/Hint}}\n\taria-label={{$:/language/Buttons/SaveWiki/Caption}}\n\tclass=<<tv-config-toolbar-class>>\n>\n<span class=\"tc-dirty-indicator\">\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/core/images/save-button-dynamic}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/SaveWiki/Caption}}/>\n</span>\n<%endif%>\n</span>\n</$button>\n"
  },
  {
    "path": "core/ui/PageControls/storyview.tid",
    "content": "title: $:/core/ui/Buttons/storyview\ntags: $:/tags/PageControls\ncaption: {{$:/core/images/storyview-classic}} {{$:/language/Buttons/StoryView/Caption}}\ndescription: {{$:/language/Buttons/StoryView/Hint}}\n\n\\whitespace trim\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/storyview\">> tooltip={{$:/language/Buttons/StoryView/Hint}} aria-label={{$:/language/Buttons/StoryView/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n<$set name=\"storyview\" value={{$:/view}}>\n<$transclude tiddler=`$:/core/images/storyview-$(storyview)$`/>\n</$set>\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/StoryView/Caption}}/></span>\n<%endif%>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/storyview\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n{{$:/snippets/viewswitcher}}\n</div>\n</$reveal>\n"
  },
  {
    "path": "core/ui/PageControls/tag-button.tid",
    "content": "title: $:/core/ui/Buttons/tag-manager\ntags: $:/tags/PageControls\ncaption: {{$:/core/images/tag-button}} {{$:/language/Buttons/TagManager/Caption}}\ndescription: {{$:/language/Buttons/TagManager/Hint}}\n\n\\whitespace trim\n\\procedure control-panel-button(class)\n\\whitespace trim\n<$button to=\"$:/TagManager\" tooltip={{$:/language/Buttons/TagManager/Hint}} aria-label={{$:/language/Buttons/TagManager/Caption}} class=`$(tv-config-toolbar-class)$ $(class)$`>\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/core/images/tag-button}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/TagManager/Caption}}/>\n</span>\n<%endif%>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/TagManager]]\" emptyMessage=<<control-panel-button>>>\n<<control-panel-button \"tc-selected\">>\n</$list>\n"
  },
  {
    "path": "core/ui/PageControls/theme.tid",
    "content": "title: $:/core/ui/Buttons/theme\ntags: $:/tags/PageControls\ncaption: {{$:/core/images/theme-button}} {{$:/language/Buttons/Theme/Caption}}\ndescription: {{$:/language/Buttons/Theme/Hint}}\n\n\\whitespace trim\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/theme\">> tooltip={{$:/language/Buttons/Theme/Hint}} aria-label={{$:/language/Buttons/Theme/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/core/images/theme-button}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Theme/Caption}}/></span>\n<%endif%>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/theme\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$linkcatcher to=\"$:/theme\">\n{{$:/snippets/themeswitcher}}\n</$linkcatcher>\n</div>\n</$reveal>\n"
  },
  {
    "path": "core/ui/PageControls/timestamp.tid",
    "content": "title: $:/core/ui/Buttons/timestamp\ntags: $:/tags/PageControls\ncaption: {{$:/core/images/timestamp-on}} {{$:/language/Buttons/Timestamp/Caption}}\ndescription: {{$:/language/Buttons/Timestamp/Hint}}\n\n\\whitespace trim\n<$reveal type=\"nomatch\" state=\"$:/config/TimestampDisable\" text=\"yes\">\n<$button tooltip={{$:/language/Buttons/Timestamp/On/Hint}} aria-label={{$:/language/Buttons/Timestamp/On/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-setfield $tiddler=\"$:/config/TimestampDisable\" $value=\"yes\"/>\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/core/images/timestamp-on}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Timestamp/On/Caption}}/>\n</span>\n<%endif%>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=\"$:/config/TimestampDisable\" text=\"yes\">\n<$button tooltip={{$:/language/Buttons/Timestamp/Off/Hint}} aria-label={{$:/language/Buttons/Timestamp/Off/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-setfield $tiddler=\"$:/config/TimestampDisable\" $value=\"no\"/>\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/core/images/timestamp-off}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Timestamp/Off/Caption}}/>\n</span>\n<%endif%>\n</$button>\n</$reveal>\n"
  },
  {
    "path": "core/ui/PageControls/unfold-all.tid",
    "content": "title: $:/core/ui/Buttons/unfold-all\ntags: $:/tags/PageControls\ncaption: {{$:/core/images/unfold-all-button}} {{$:/language/Buttons/UnfoldAll/Caption}}\ndescription: {{$:/language/Buttons/UnfoldAll/Hint}}\n\n\\whitespace trim\n<$button tooltip={{$:/language/Buttons/UnfoldAll/Hint}} aria-label={{$:/language/Buttons/UnfoldAll/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-unfold-all-tiddlers\" $param=<<currentTiddler>> foldedStatePrefix=\"$:/state/folded/\"/>\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/core/images/unfold-all-button}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/UnfoldAll/Caption}}/>\n</span>\n<%endif%>\n</$button>\n"
  },
  {
    "path": "core/ui/PageControls.tid",
    "content": "title: $:/core/ui/PageTemplate/pagecontrols\n\n\\whitespace trim\n\\function config-title() [[$:/config/PageControlButtons/Visibility/$(listItem)$]substitute[]]\n\n<div class=\"tc-page-controls\">\n\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]]\" variable=\"listItem\">\n\t\t<$list filter=\"[<config-title>!text[hide]]\" storyview=\"pop\" variable=\"ignore\">\n\t\t\t<$let tv-config-toolbar-class={{{ [enlist<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]] +[join[ ]] }}}>\n\t\t\t\t<$transclude $tiddler=<<listItem>> $mode=\"inline\"/>\n\t\t\t</$let>\n\t\t</$list>\n\t</$list>\n</div>"
  },
  {
    "path": "core/ui/PageStylesheet.tid",
    "content": "title: $:/core/ui/PageStylesheet\ncode-body: yes\n\n\\import [subfilter{$:/core/config/GlobalImportFilter}]\n\\whitespace trim\n\n<$set name=\"currentTiddler\" value={{$:/language}}>\n\n<$set name=\"languageTitle\" value={{!!name}}>\n\n<$transclude $tiddler=\"$:/core/stylesheets/custom-properties\" $mode=\"block\"/>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Stylesheet]!has[draft.of]]\">\n<$transclude mode=\"block\"/>\n</$list>\n\n</$set>\n\n</$set>\n"
  },
  {
    "path": "core/ui/PageTemplate/alerts.tid",
    "content": "title: $:/core/ui/PageTemplate/alerts\ntags: $:/tags/PageTemplate\n\n<div class=\"tc-alerts\" role=\"region\" aria-label={{$:/language/Alerts}}>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Alert]!is[draft]]\" template=\"$:/core/ui/AlertTemplate\" storyview=\"pop\"/>\n\n</div>\n"
  },
  {
    "path": "core/ui/PageTemplate/drafts.tid",
    "content": "title: $:/core/ui/PageTemplate/drafts\ntags: $:/tags/PageTemplate\n\n\\whitespace trim\n<$reveal state=\"$:/status/IsReadOnly\" type=\"nomatch\" text=\"yes\" tag=\"div\" class=\"tc-drafts-list\">\n<$list filter=\"[has[draft.of]!sort[modified]] -[list[$:/StoryList]]\">\n<$link>\n{{$:/core/images/edit-button}} <$text text=<<currentTiddler>>/>\n</$link>\n</$list>\n</$reveal>\n"
  },
  {
    "path": "core/ui/PageTemplate/pluginreloadwarning.tid",
    "content": "title: $:/core/ui/PageTemplate/pluginreloadwarning\ntags: $:/tags/PageTemplate\n\n\\define lingo-base() $:/language/\n\n<$list filter=\"[{$:/status/RequireReloadDueToPluginChange}match[yes]]\">\n\n<$reveal type=\"nomatch\" state=\"$:/temp/HidePluginWarning\" text=\"yes\">\n\n<div class=\"tc-plugin-reload-warning\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n<<lingo PluginReloadWarning>> <$button set=\"$:/temp/HidePluginWarning\" setTo=\"yes\" class=\"tc-btn-invisible\">{{$:/core/images/close-button}}</$button>\n\n</$set>\n\n</div>\n\n</$reveal>\n\n</$list>\n"
  },
  {
    "path": "core/ui/PageTemplate/sidebar.tid",
    "content": "title: $:/core/ui/PageTemplate/sidebar\ntags: $:/tags/PageTemplate\n\n\\whitespace trim\n\\define config-title()\n$:/config/SideBarSegments/Visibility/$(listItem)$\n\\end\n\n<$scrollable fallthrough=\"no\" class=\"tc-sidebar-scrollable\">\n\n<div class=\"tc-sidebar-header\">\n\n<$reveal state=\"$:/state/sidebar\" type=\"match\" text=\"yes\" default=\"yes\" retain=\"yes\" animate=\"yes\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SideBarSegment]!has[draft.of]]\" variable=\"listItem\">\n\n<$reveal type=\"nomatch\" state=<<config-title>> text=\"hide\"  tag=\"div\">\n\n<$transclude tiddler=<<listItem>> mode=\"block\"/>\n\n</$reveal>\n\n</$list>\n\n</$reveal>\n\n</div>\n\n</$scrollable>\n"
  },
  {
    "path": "core/ui/PageTemplate/story.tid",
    "content": "title: $:/core/ui/PageTemplate/story\ntags: $:/tags/PageTemplate\n\n\\whitespace trim\n<section class=\"tc-story-river\" role=\"main\">\n\n<section class=\"story-backdrop\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/AboveStory]!has[draft.of]]\">\n\n<$transclude/>\n\n</$list>\n\n</section>\n\n<$list filter=\"[list[$:/StoryList]]\" history=\"$:/HistoryList\" template=\"$:/core/ui/StoryTiddlerTemplate\" storyview={{$:/view}} emptyMessage={{$:/config/EmptyStoryMessage}}/>\n\n<section class=\"story-frontdrop\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/BelowStory]!has[draft.of]]\">\n\n<$transclude/>\n\n</$list>\n\n</section>\n\n</section>\n"
  },
  {
    "path": "core/ui/PageTemplate/topleftbar.tid",
    "content": "title: $:/core/ui/PageTemplate/topleftbar\ntags: $:/tags/PageTemplate\n\n<span class=\"tc-topbar tc-topbar-left\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TopLeftBar]!has[draft.of]]\" variable=\"listItem\" storyview=\"pop\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$list>\n\n</span>\n"
  },
  {
    "path": "core/ui/PageTemplate/toprightbar.tid",
    "content": "title: $:/core/ui/PageTemplate/toprightbar\ntags: $:/tags/PageTemplate\n\n<span class=\"tc-topbar tc-topbar-right\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TopRightBar]!has[draft.of]]\" variable=\"listItem\" storyview=\"pop\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$list>\n\n</span>\n"
  },
  {
    "path": "core/ui/PageTemplate.tid",
    "content": "title: $:/core/ui/PageTemplate\nname: {{$:/language/PageTemplate/Name}}\ndescription: {{$:/language/PageTemplate/Description}}\nicon: $:/core/images/standard-layout\ncode-body: yes\n\n\\whitespace trim\n\\import [subfilter{$:/core/config/GlobalImportFilter}]\n\n<$vars\n\ttv-config-toolbar-icons={{$:/config/Toolbar/Icons}}\n\ttv-config-toolbar-text={{$:/config/Toolbar/Text}}\n\ttv-config-toolbar-class={{$:/config/Toolbar/ButtonClass}}\n\ttv-enable-drag-and-drop={{$:/config/DragAndDrop/Enable}}\n\ttv-show-missing-links={{$:/config/MissingLinks}}\n\tstoryviewTitle={{$:/view}}\n\tlanguageTitle={{{ [{$:/language}get[name]] }}}>\n\n<div class={{{ [all[shadows+tiddlers]tag[$:/tags/ClassFilters/PageTemplate]!is[draft]] :map:flat[subfilter{!!text}] tc-page-container [[tc-page-view-]addsuffix<storyviewTitle>] [[tc-language-]addsuffix<languageTitle>] :and[unique[]join[ ]] }}} >\n\n<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\n\n<$dropzone enable=<<tv-enable-drag-and-drop>> class=\"tc-dropzone tc-page-container-inner\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageTemplate]!has[draft.of]]\" variable=\"listItem\">\n\n<$transclude tiddler=<<listItem>>/>\n\n</$list>\n\n</$dropzone>\n\n</$navigator>\n\n</div>\n\n</$vars>\n"
  },
  {
    "path": "core/ui/PaletteManager.tid",
    "content": "title: $:/PaletteManager\n\n\\define lingo-base() $:/language/ControlPanel/Palette/Editor/\n\\define describePaletteColour(colour)\n<$transclude tiddler=\"$:/language/Docs/PaletteColours/$colour$\"><$text text=\"$colour$\"/></$transclude>\n\\end\n\\define edit-colour-placeholder()\n edit $(colourName)$\n\\end\n\\define colour-tooltip(showhide) $showhide$ editor for $(newColourName)$ \n\n\\define resolve-colour(macrocall)\n\\import $:/core/macros/utils\n\\whitespace trim\n<$wikify name=\"name\" text=\"\"\"$macrocall$\"\"\">\n<<name>>\n</$wikify>\n\\end\n\n\\define delete-colour-index-actions() <$action-setfield $index=<<colourName>>/>\n\\define palette-manager-colour-row-segment()\n\\whitespace trim\n<$edit-text index=<<colourName>> tag=\"input\" placeholder=<<edit-colour-placeholder>> default=\"\"/>\n<br>\n<$edit-text index=<<colourName>> type=\"color\" tag=\"input\" class=\"tc-palette-manager-colour-input\"/>\n<$list filter=\"[<currentTiddler>getindex<colourName>removeprefix[<<]removesuffix[>>]] [<currentTiddler>getindex<colourName>removeprefix[<$]removesuffix[/>]]\" variable=\"ignore\">\n<$set name=\"state\" value={{{ [[$:/state/palettemanager/]addsuffix<currentTiddler>addsuffix[/]addsuffix<colourName>] }}}>\n<$wikify name=\"newColourName\" text=\"\"\"<$macrocall $name=\"resolve-colour\" macrocall={{{ [<currentTiddler>getindex<colourName>] }}}/>\"\"\">\n<$reveal state=<<state>> type=\"nomatch\" text=\"show\">\n<$button tooltip=<<colour-tooltip show>> aria-label=<<colour-tooltip show>> class=\"tc-btn-invisible\" set=<<state>> setTo=\"show\">{{$:/core/images/down-arrow}}<$text text=<<newColourName>> class=\"tc-small-gap-left\"/></$button><br>\n</$reveal>\n<$reveal state=<<state>> type=\"match\" text=\"show\">\n<$button tooltip=<<colour-tooltip hide>> aria-label=<<colour-tooltip show>> class=\"tc-btn-invisible\" actions=\"\"\"<$action-deletetiddler $tiddler=<<state>>/>\"\"\">{{$:/core/images/up-arrow}}<$text text=<<newColourName>> class=\"tc-small-gap-left\"/></$button><br>\n</$reveal>\n<$reveal state=<<state>> type=\"match\" text=\"show\">\n<$set name=\"colourName\" value=<<newColourName>>>\n<br>\n<<palette-manager-colour-row-segment>>\n<br><br>\n</$set>\n</$reveal>\n</$wikify>\n</$set>\n</$list>\n\\end\n\n\\define palette-manager-colour-row()\n\\whitespace trim\n<tr>\n<td>\n<span style=\"float:right;\">\n<$button tooltip={{$:/language/ControlPanel/Palette/Editor/Delete/Hint}} aria-label={{$:/language/ControlPanel/Palette/Editor/Delete/Hint}} class=\"tc-btn-invisible\" actions=<<delete-colour-index-actions>>>\n{{$:/core/images/delete-button}}</$button>\n</span>\n''<$macrocall $name=\"describePaletteColour\" colour=<<colourName>>/>''<br/>\n<$macrocall $name=\"colourName\" $output=\"text/plain\"/>\n</td>\n<td>\n<<palette-manager-colour-row-segment>>\n</td>\n</tr>\n\\end\n\n\\define palette-manager-table()\n\\whitespace trim\n<table>\n<tbody>\n<$set name=\"colorList\" filter=\"[{$:/state/palettemanager/showexternal}match[yes]]\"\n   value=\"[all[shadows+tiddlers]tag[$:/tags/Palette]indexes[]]\" emptyValue=\"[<currentTiddler>indexes[]]\">\n<$list filter=<<colorList>> variable=\"colourName\"> <<palette-manager-colour-row>> </$list>\n</$set>\n</tbody>\n</table>\n\\end\n\\whitespace trim\n<$set name=\"currentTiddler\" value={{$:/palette}}>\n\n<<lingo Prompt>>&#32;<$link to={{$:/palette}}><$macrocall $name=\"currentTiddler\" $output=\"text/plain\"/></$link>\n\n<$list filter=\"[all[current]is[shadow]is[tiddler]]\" variable=\"listItem\">\n<<lingo Prompt/Modified>>\n&#32;\n<$button message=\"tm-delete-tiddler\" param={{$:/palette}}><<lingo Reset/Caption>></$button>\n</$list>\n\n<$list filter=\"[all[current]is[shadow]!is[tiddler]]\" variable=\"listItem\">\n<<lingo Clone/Prompt>>\n</$list>\n\n<$button message=\"tm-new-tiddler\" param={{$:/palette}}><<lingo Clone/Caption>></$button>\n\n<$checkbox tiddler=\"$:/state/palettemanager/showexternal\" field=\"text\" checked=\"yes\" unchecked=\"no\"><span class=\"tc-small-gap-left\"><<lingo Names/External/Show>></span></$checkbox>\n\n<<palette-manager-table>>\n"
  },
  {
    "path": "core/ui/PluginInfo.tid",
    "content": "title: $:/core/ui/PluginInfo\n\n\\define localised-info-tiddler-title()\n$(currentTiddler)$/$(languageTitle)$/$(currentTab)$\n\\end\n\\define info-tiddler-title()\n$(currentTiddler)$/$(currentTab)$\n\\end\n\\define default-tiddler-title()\n$:/core/ui/PluginInfo/Default/$(currentTab)$\n\\end\n\\whitespace trim\n<$transclude tiddler=<<localised-info-tiddler-title>> mode=\"block\">\n<$transclude tiddler=<<currentTiddler>> subtiddler=<<localised-info-tiddler-title>> mode=\"block\">\n<$transclude tiddler=<<currentTiddler>> subtiddler=<<info-tiddler-title>> mode=\"block\">\n<$transclude tiddler=<<default-tiddler-title>> mode=\"block\">\n{{$:/language/ControlPanel/Plugin/NoInfoFound/Hint}}\n</$transclude>\n</$transclude>\n</$transclude>\n</$transclude>\n"
  },
  {
    "path": "core/ui/PluginInfoDefaultContents.tid",
    "content": "title: $:/core/ui/PluginInfo/Default/contents\n\n\\define lingo-base() $:/language/TiddlerInfo/Advanced/PluginInfo/\n\\whitespace trim\n<<lingo Hint>>\n<ul>\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" emptyMessage=<<lingo Empty/Hint>>>\n<li>\n<$link />\n</li>\n</$list>\n</ul>\n"
  },
  {
    "path": "core/ui/PluginListItemTemplate.tid",
    "content": "title: $:/core/ui/PluginListItemTemplate\n\n\\whitespace trim\n<$link to={{!!title}} class=\"tc-plugin-info\">\n\t<div class=\"tc-plugin-info-chunk tc-plugin-info-icon\">\n\t\t<$transclude tiddler=<<currentTiddler>> subtiddler={{{ [<currentTiddler>addsuffix[/icon]] }}}>\n\t\t\t<$transclude tiddler={{{ [<currentTiddler>get[plugin-type]addprefix[$:/core/images/plugin-generic-]] }}}/>\n\t\t</$transclude>\n\t</div>\n\t<div class=\"tc-plugin-info-chunk tc-plugin-info-description\">\n\t\t<h1>\n\t\t\t''<$text text={{{ [<currentTiddler>get[name]] ~[<currentTiddler>split[/]last[1]] }}}/>'':&nbsp;<$view field=\"description\"><$view field=\"title\"/></$view>\n\t\t</h1>\n\t</div>\n</$link>\n"
  },
  {
    "path": "core/ui/RootTemplate.tid",
    "content": "title: $:/core/ui/RootTemplate\ncode-body: yes\n\n<$transclude tiddler={{{ [{$:/layout}has[text]] ~[[$:/core/ui/PageTemplate]] }}} mode=\"inline\"/>\n\n"
  },
  {
    "path": "core/ui/SearchResults.tid",
    "content": "title: $:/core/ui/SearchResults\n\n<div class=\"tc-search-results\">\n\n<$list\n\tfilter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]\"\n\temptyMessage=\"<$list filter='[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]'><$transclude mode='block'/></$list>\">\n\n<$macrocall $name=\"tabs\"\n\ttabsList=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\"\n\tdefault={{$:/config/SearchResults/Default}}\n\tactions=\"<$action-setfield $tiddler='$:/state/search/currentTab' text=<<currentTab>>/>\"\n\texplicitState=\"$:/state/tab/search-results/sidebar\"/>\n\n</$list>\n\n</div>\n"
  },
  {
    "path": "core/ui/SideBar/More.tid",
    "content": "title: $:/core/ui/SideBar/More\ntags: $:/tags/SideBar\ncaption: {{$:/language/SideBar/More/Caption}}\n\n\\whitespace trim\n<div class={{{ [{$:/config/ui/SideBar/More/horizontal}match[yes]then[tc-sidebar-tabs]else[tc-more-sidebar]] }}}>\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/MoreSideBar]!has[draft.of]]\" default={{$:/config/DefaultMoreSidebarTab}} state=\"$:/state/tab/moresidebar\" class={{{ [{$:/config/ui/SideBar/More/horizontal}match[yes]then[tc-sidebar-tabs-more]else[tc-vertical tc-sidebar-tabs-more]] }}} explicitState=\"$:/state/tab/moresidebar-1850697562\"/>\n</div>\n"
  },
  {
    "path": "core/ui/SideBar/Open.tid",
    "content": "title: $:/core/ui/SideBar/Open\ntags: $:/tags/SideBar\ncaption: {{$:/language/SideBar/Open/Caption}}\n\n\\whitespace trim\n\\define lingo-base() $:/language/CloseAll/\n\n\\define drop-actions()\n<$action-listops $tiddler=<<tv-story-list>> $subfilter=\"+[insertbefore<actionTiddler>,<currentTiddler>]\"/>\n\\end\n\n\\define placeholder()\n<div class=\"tc-droppable-placeholder\"/>\n\\end\n\n\\define droppable-item(button)\n\\whitespace trim\n<$droppable actions=<<drop-actions>> enable=<<tv-enable-drag-and-drop>> tag=\"div\">\n<<placeholder>>\n<div>\n$button$\n</div>\n</$droppable>\n\\end\n\n<div class=\"tc-sidebar-tab-open\">\n<$list filter=\"[list<tv-story-list>]\" history=<<tv-history-list>> storyview=\"pop\">\n<div class=\"tc-sidebar-tab-open-item\">\n<$macrocall $name=\"droppable-item\" button=\"<$button message='tm-close-tiddler' tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class='tc-btn-invisible tc-btn-mini tc-small-gap-right'>{{$:/core/images/close-button}}</$button><$link/>\"/>\n</div>\n</$list>\n<$tiddler tiddler=\"\">\n<div>\n<$macrocall $name=\"droppable-item\" button=\"<$button message='tm-close-all-tiddlers' class='tc-btn-invisible tc-btn-mini'><<lingo Button>></$button>\"/>\n</div>\n</$tiddler>\n</div>\n"
  },
  {
    "path": "core/ui/SideBar/Recent.tid",
    "content": "title: $:/core/ui/SideBar/Recent\ntags: $:/tags/SideBar\ncaption: {{$:/language/SideBar/Recent/Caption}}\n\n<$transclude $variable=\"timeline\" format={{$:/language/RecentChanges/DateFormat}} limit={{$:/config/RecentLimit}}/>\n"
  },
  {
    "path": "core/ui/SideBar/Tools.tid",
    "content": "title: $:/core/ui/SideBar/Tools\ntags: $:/tags/SideBar\ncaption: {{$:/language/SideBar/Tools/Caption}}\n\n\\whitespace trim\n\n\\procedure lingo-base() $:/language/ControlPanel/\n\\function config-title() [[$:/config/PageControlButtons/Visibility/$(listItem)$]substitute[]]\n\n<<lingo Basics/Version/Prompt>><span class=\"tc-tiny-gap-left\"><<version>></span>\n\n<$let tv-config-toolbar-icons=\"yes\"\n\ttv-config-toolbar-text=\"yes\"\n\ttv-config-toolbar-class=\"\"\n>\n\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]]\" variable=\"listItem\">\n\t\t<div class={{{ [<listItem>encodeuricomponent[]addprefix[tc-btn-]] tc-sidebar-tools-item +[join[ ]] }}}\n\t\t\tdata-title=<<listItem>>\n\t\t>\n\t\t\t<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\" class=\"tc-tiny-gap-right\"/>\n\t\t\t\t<$transclude $tiddler=<<listItem>>/>\n\t\t\t\t<i class=\"tc-tiny-gap-left tc-muted\">\n\t\t\t\t\t<$transclude $tiddler=<<listItem>> $field=\"description\"/>\n\t\t\t\t</i>\n\t\t</div>\n\t</$list>\n</$let>\n"
  },
  {
    "path": "core/ui/SideBarLists.tid",
    "content": "title: $:/core/ui/SideBarLists\n\n<$transclude tiddler=\"$:/core/ui/SideBarSegments/search\"/>\n\n<$transclude tiddler=\"$:/core/ui/SideBarSegments/tabs\"/>\n\n"
  },
  {
    "path": "core/ui/SideBarSegments/page-controls.tid",
    "content": "title: $:/core/ui/SideBarSegments/page-controls\ntags: $:/tags/SideBarSegment\n\n{{||$:/core/ui/PageTemplate/pagecontrols}}\n"
  },
  {
    "path": "core/ui/SideBarSegments/search.tid",
    "content": "title: $:/core/ui/SideBarSegments/search\ntags: $:/tags/SideBarSegment\n\n\\whitespace trim\n\n\\procedure count-popup-button()\n\\whitespace trim\n<$button popup=<<qualify \"$:/state/popup/search-dropdown\">> class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n<$list filter=\"[<searchTiddler>get[text]minlength{$:/config/Search/MinLength}limit[1]]\" variable=\"listItem\">\n<$vars userInput={{{ [<searchTiddler>get[text]] }}} configTiddler={{{ [[$:/state/search/currentTab]!is[missing]get[text]] :else[{$:/config/SearchResults/Default}] }}} replaceRegexp=\"limit\\[\\d+\\]\">\n<$vars primaryListFilter={{{ [<configTiddler>get[first-search-filter]search-replace:g:regexp<replaceRegexp>,[]] }}} secondaryListFilter={{{ [<configTiddler>get[second-search-filter]search-replace:g:regexp<replaceRegexp>,[]] }}}>\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[subfilter<primaryListFilter>] [subfilter<secondaryListFilter>]\"/>\"\"\">\n{{$:/language/Search/Matches}}\n</$set>\n</$vars>\n</$vars>\n</$list>\n</$button>\n\\end\n\n\\procedure search-results-list()\n\\whitespace trim\n<$vars userInput={{{ [<searchTiddler>get[text]] }}} configTiddler={{{ [[$:/state/search/currentTab]!is[missing]get[text]] :else[{$:/config/SearchResults/Default}] }}}>\n<$list filter=\"[<userInput>minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n\n<$tiddler tiddler=<<configTiddler>>>\n\n{{$:/core/ui/SearchResults}}\n\n</$tiddler>\n\n</$list>\n</$vars>\n\\end\n\n\\procedure cancel-search-actions() <$list filter=\"[<searchTiddler>get[text]!match{$:/temp/search}]\" emptyMessage=\"\"\"<$action-deletetiddler $filter=\"[[$:/temp/search]] [<searchTiddler>] [<searchListState>]\"/>\"\"\"><$action-setfield $tiddler=\"$:/temp/search\" text={{{ [<searchTiddler>get[text]] }}}/><$action-setfield $tiddler=\"$:/temp/search/refresh\" text=\"yes\"/></$list>\n\n\\procedure input-accept-actions() <$list filter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\" emptyMessage=\"\"\"<$list filter=\"[<tiddler>get[text]!is[missing]] :else[<tiddler>get[text]is[shadow]]\"><$action-navigate $to={{{ [<tiddler>get[text]] }}}/></$list>\"\"\"><$action-navigate $to={{{ [<tiddler>get[text]] }}}/></$list>\n\n\\procedure input-accept-variant-actions() <$list filter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\" emptyMessage=\"\"\"<$list filter=\"[<tiddler>get[text]!is[missing]] :else[<tiddler>get[text]is[shadow]]\"><$list filter=\"[<tiddler>get[text]minlength[1]]\"><$action-sendmessage $message=\"tm-edit-tiddler\" $param={{{  [<tiddler>get[text]] }}}/></$list></$list>\"\"\"><$list filter=\"[<tiddler>get[text]minlength[1]]\"><$action-sendmessage $message=\"tm-edit-tiddler\" $param={{{  [<tiddler>get[text]] }}}/></$list></$list>\n\n\\procedure set-next-input-tab() <$transclude $variable=\"change-input-tab\" stateTitle=\"$:/state/tab/search-results/sidebar\" tag=\"$:/tags/SearchResults\" beforeafter=\"after\" defaultState={{$:/config/SearchResults/Default}} actions=\"\"\"<$action-setfield $tiddler=\"$:/state/search/currentTab\" text=<<nextTab>>/>\"\"\"/>\n\n\\procedure set-previous-input-tab() <$transclude $variable=\"change-input-tab\" stateTitle=\"$:/state/tab/search-results/sidebar\" tag=\"$:/tags/SearchResults\" beforeafter=\"before\" defaultState={{$:/config/SearchResults/Default}} actions=\"\"\"<$action-setfield $tiddler=\"$:/state/search/currentTab\" text=<<nextTab>>/>\"\"\"/>\n\n\\procedure advanced-search-actions() <$action-setfield $tiddler=\"$:/temp/advancedsearch\" text={{$:/temp/search/input}}/><$action-setfield $tiddler=\"$:/temp/advancedsearch/input\" text={{$:/temp/search/input}}/><<delete-state-tiddlers>><$action-navigate $to=\"$:/AdvancedSearch\"/><$action-setfield $tiddler=\"$:/temp/advancedsearch/refresh\" text=\"yes\"/><$action-sendmessage $message=\"tm-focus-selector\" $param=\"\"\"[data-tiddler-title=\"$:/AdvancedSearch\"] .tc-search input\"\"\" preventScroll=\"true\"/><$action-deletetiddler $filter=\"$:/temp/search $:/temp/search/input $:/temp/search/refresh [<searchListState>]\"/>\n\n\\procedure input-actions()\n<%if [<event-key-descriptor>match[((input-tab-right))]] %>\n<<set-next-input-tab>>\n<%elseif [<event-key-descriptor>match[((input-tab-left))]] %>\n<<set-previous-input-tab>>\n<%elseif [<event-key-descriptor>match[((advanced-search-sidebar))]] %>\n<<advanced-search-actions>>\n<%endif%>\n\\end\n\n<div class=\"tc-sidebar-lists tc-sidebar-search\">\n\n<$vars editTiddler=\"$:/temp/search\" searchTiddler=\"$:/temp/search/input\" searchListState=<<qualify \"$:/state/search-list/selected-item\">>>\n<div class=\"tc-search\">\n<$keyboard key=\"((input-tab-right)) ((input-tab-left)) ((advanced-search-sidebar))\" actions=<<input-actions>>>\n<form class=\"tc-form-inline\">\n<$transclude $variable=\"keyboard-driven-input\" tiddler=<<editTiddler>> storeTitle=<<searchTiddler>> \n\t\tselectionStateTitle=<<searchListState>> refreshTitle=\"$:/temp/search/refresh\" type=\"search\" \n\t\ttag=\"input\" focus={{$:/config/Search/AutoFocus}} focusPopup=<<qualify \"$:/state/popup/search-dropdown\">> \n\t\tclass=\"tc-tiny-gap-right tc-popup-handle\" filterMinLength={{$:/config/Search/MinLength}} inputCancelActions=<<cancel-search-actions>> \n\t\tinputAcceptActions=<<input-accept-actions>> inputAcceptVariantActions=<<input-accept-variant-actions>> cancelPopups=\"yes\" \n\t\tconfigTiddlerFilter=\"[[$:/state/search/currentTab]!is[missing]get[text]] :else[{$:/config/SearchResults/Default}]\"/>\n</form>\n</$keyboard>\n<$reveal state=<<searchTiddler>> type=\"nomatch\" text=\"\">\n<$button tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"tc-btn-invisible\">\n<<advanced-search-actions>>\n{{$:/core/images/advanced-search-button}}\n</$button>\n<$button class=\"tc-btn-invisible\">\n<<cancel-search-actions>><$action-sendmessage $message=\"tm-focus-selector\" $param=\".tc-search input\"/>\n{{$:/core/images/close-button}}\n</$button>\n<<count-popup-button>>\n</$reveal>\n<$reveal state=<<searchTiddler>> type=\"match\" text=\"\">\n<$button to=\"$:/AdvancedSearch\" tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"tc-btn-invisible\">\n{{$:/core/images/advanced-search-button}}\n</$button>\n</$reveal>\n</div>\n\n<$reveal tag=\"div\" class=\"tc-block-dropdown-wrapper\" state=<<searchTiddler>> type=\"nomatch\" text=\"\">\n\n<$reveal tag=\"div\" class=\"tc-block-dropdown tc-search-drop-down tc-popup-handle\" state=<<qualify \"$:/state/popup/search-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n\n<<search-results-list>>\n\n</$reveal>\n\n</$reveal>\n\n</$vars>\n\n</div>\n"
  },
  {
    "path": "core/ui/SideBarSegments/site-subtitle.tid",
    "content": "title: $:/core/ui/SideBarSegments/site-subtitle\ntags: $:/tags/SideBarSegment\n\n<div class=\"tc-site-subtitle\">\n\n<$transclude tiddler=\"$:/SiteSubtitle\" mode=\"inline\"/>\n\n</div>\n"
  },
  {
    "path": "core/ui/SideBarSegments/site-title.tid",
    "content": "title: $:/core/ui/SideBarSegments/site-title\ntags: $:/tags/SideBarSegment\n\n<h1 class=\"tc-site-title\">\n\n<$transclude tiddler=\"$:/SiteTitle\" mode=\"inline\"/>\n\n</h1>\n"
  },
  {
    "path": "core/ui/SideBarSegments/tabs.tid",
    "content": "title: $:/core/ui/SideBarSegments/tabs\ntags: $:/tags/SideBarSegment\n\n<div class=\"tc-sidebar-lists tc-sidebar-tabs\" role=\"region\" aria-label={{$:/language/SideBar/Caption}}>\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/SideBar]!has[draft.of]]\" default={{$:/config/DefaultSidebarTab}} state=\"$:/state/tab/sidebar\" class=\"tc-sidebar-tabs-main\" explicitState=\"$:/state/tab/sidebar--595412856\"/>\n\n</div>\n"
  },
  {
    "path": "core/ui/StoryTiddlerTemplate.tid",
    "content": "title: $:/core/ui/StoryTiddlerTemplate\ncode-body: yes\n\n<$transclude tiddler={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/StoryTiddlerTemplateFilter]!is[draft]get[text]] :and[has[title]else[$:/core/ui/ViewTemplate]] }}} />\n"
  },
  {
    "path": "core/ui/SwitcherModal.tid",
    "content": "title: $:/core/ui/SwitcherModal\nsubtitle: <$text text={{{[<switch>lookup[$:/language/Switcher/Subtitle/]]}}}/>\nclass: tc-modal-centered\nmask-closable: yes\n\n<$tiddler tiddler={{{[<switch>lookup[$:/config/SwitcherTargets/]]}}}>\n\n\n<$transclude/>\n\n\n</$tiddler>"
  },
  {
    "path": "core/ui/TagManager.tid",
    "content": "title: $:/TagManager\nicon: $:/core/images/tag-button\ncolor: #bbb\n\n\\define lingo-base() $:/language/TagManager/\n\n\\define iconEditorTab(type)\n\\whitespace trim\n<$link to=\"\"><<lingo Icons/None>></$link>\n<$list filter=\"[all[shadows+tiddlers]is[image]] [all[shadows+tiddlers]tag[$:/tags/Image]] -[type[application/pdf]] +[sort[title]] +[$type$is[system]]\">\n\t<$link to={{!!title}}>\n\t\t<$transclude/> <$view field=\"title\"/>\n\t</$link>\n</$list>\n\\end\n\n\\define iconEditor(title)\n\\whitespace trim\n<div class=\"tc-drop-down-wrapper\">\n\t<$button popupTitle={{{ [[$:/state/popup/icon/]addsuffix<__title__>] }}} class=\"tc-btn-invisible tc-btn-dropdown\">\n\t\t{{$:/core/images/down-arrow}}\n\t</$button>\n\t<$reveal stateTitle={{{ [[$:/state/popup/icon/]addsuffix<__title__>] }}} type=\"popup\" position=\"belowleft\" text=\"\" default=\"\">\n\t\t<div class=\"tc-drop-down\">\n\t\t\t<$linkcatcher actions=\"\"\"<$action-setfield $tiddler=<<__title__>> icon=<<navigateTo>>/>\"\"\">\n\t\t\t\t<<iconEditorTab type:\"!\">>\n\t\t\t\t<hr/>\n\t\t\t\t<<iconEditorTab type:\"\">>\n\t\t\t</$linkcatcher>\n\t\t</div>\n\t</$reveal>\n</div>\n\\end\n\n\\define toggleButton(state)\n\\whitespace trim\n<$reveal stateTitle=<<__state__>> type=\"match\" text=\"closed\" default=\"closed\">\n\t<$button setTitle=<<__state__>> setTo=\"open\" class=\"tc-btn-invisible tc-btn-dropdown\" selectedClass=\"tc-selected\">\n\t\t{{$:/core/images/info-button}}\n\t</$button>\n</$reveal>\n<$reveal stateTitle=<<__state__>> type=\"match\" text=\"open\" default=\"closed\">\n\t<$button setTitle=<<__state__>> setTo=\"closed\" class=\"tc-btn-invisible tc-btn-dropdown\" selectedClass=\"tc-selected\">\n\t\t{{$:/core/images/info-button}}\n\t</$button>\n</$reveal>\n\\end\n\n\\procedure color-picker-actions()\n\\whitespace trim\n<$action-setfield $tiddler=<<currentTiddler>> color=<<colour-picker-value>>/>\n\\end\n\n\\procedure color-picker-button()\n\\whitespace trim\n<div class=\"tc-drop-down-wrapper\">\n<$button class=\"tc-btn-invisible\" popup={{{ [[$:/state/tag-manager/color/]addsuffix<currentTiddler>] }}}>{{$:/core/images/palette}}</$button>\n<$reveal type=\"popup\" tag=\"div\" class=\"tc-drop-down tc-popup-keep\" state={{{ [[$:/state/tag-manager/color/]addsuffix<currentTiddler>] }}}>\n<$transclude $variable=\"colour-picker\" actions=<<color-picker-actions>>/>\n</$reveal>\n</div>\n\\end\n\n\\whitespace trim\n<table class=\"tc-tag-manager-table\">\n<tbody>\n\t<tr>\n\t\t<th><<lingo Colour/Heading>></th>\n\t\t<th class=\"tc-tag-manager-tag\"><<lingo Tag/Heading>></th>\n\t\t<th><<lingo Count/Heading>></th>\n\t\t<th><<lingo Icon/Heading>></th>\n\t\t<th><<lingo Info/Heading>></th>\n\t</tr>\n\t<$list filter=\"[tags[]!is[system]sort[title]]\">\n\t\t<tr>\n\t\t\t<td><$transclude $variable=\"color-picker-button\"/></td>\n\t\t\t<td>{{||$:/core/ui/TagTemplate}}</td>\n\t\t\t<td><$count filter=\"[all[current]tagging[]]\"/></td>\n\t\t\t<td>\n\t\t\t\t<$macrocall $name=\"iconEditor\" title={{!!title}}/>\n\t\t\t</td>\n\t\t\t<td>\n\t\t\t\t<$macrocall $name=\"toggleButton\" state={{{ [[$:/state/tag-manager/]addsuffix<currentTiddler>] }}} />\n\t\t\t</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td></td>\n\t\t\t<td colspan=\"4\">\n\t\t\t\t<$reveal stateTitle={{{ [[$:/state/tag-manager/]addsuffix<currentTiddler>] }}} type=\"match\" text=\"open\" default=\"\">\n\t\t\t\t\t<table>\n\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td><<lingo Colour/Heading>></td>\n\t\t\t\t\t\t\t\t<td><$edit-text field=\"color\" tag=\"input\" type=\"text\" size=\"9\"/></td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td><<lingo Icon/Heading>></td>\n\t\t\t\t\t\t\t\t<td><$edit-text field=\"icon\" tag=\"input\" size=\"45\"/></td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t</tbody>\n\t\t\t\t\t</table>\n\t\t\t\t</$reveal>\n\t\t\t</td>\n\t\t</tr>\n\t</$list>\n\t<tr>\n\t\t<td></td>\n\t\t<td style=\"position:relative;\">\n\t\t\t{{$:/core/ui/UntaggedTemplate}}\n\t\t</td>\n\t\t<td>\n\t\t\t<small class=\"tc-menu-list-count\"><$count filter=\"[untagged[]!is[system]] -[tags[]]\"/></small>\n\t\t</td>\n\t\t<td></td>\n\t\t<td></td>\n\t</tr>\n</tbody>\n</table>"
  },
  {
    "path": "core/ui/TagPickerTagTemplate.tid",
    "content": "title: $:/core/ui/TagPickerTagTemplate\n\n\\whitespace trim\n<$button class=<<button-classes>> tag=\"a\" tooltip={{$:/language/EditTemplate/Tags/Add/Button/Hint}}>\n\t<$list filter=\"[<saveTiddler>minlength[1]]\">\n\t\t<$action-listops $tiddler=<<saveTiddler>> $field=<<tagField>> $subfilter=\"[<tag>]\"/>\n\t</$list>\n\t<$set name=\"currentTiddlerCSSEscaped\" value={{{ [<saveTiddler>escapecss[]] }}}>\n\t\t<$action-sendmessage $message=\"tm-focus-selector\" $param=<<get-tagpicker-focus-selector>> preventScroll=\"true\"/>\n\t</$set>\n\t<<delete-tag-state-tiddlers>>\n\t<$list filter=\"[<refreshTitle>minlength[1]]\">\n\t\t<$action-setfield $tiddler=<<refreshTitle>> text=\"yes\"/>\n\t</$list>\n\t<<actions>>\n\t<$set name=\"backgroundColor\"\n\t\tvalue={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerColourFilter]!is[draft]get[text]] }}}\n\t>\n\t\t<$wikify name=\"foregroundColor\"\n\t\t\ttext=\"\"\"<$macrocall $name=\"contrastcolour\" target=<<backgroundColor>> fallbackTarget=<<fallbackTarget>> colourA=<<colourA>> colourB=<<colourB>>/>\"\"\"\n\t\t>\n\t\t\t<span class=\"tc-tag-label tc-btn-invisible\"\n\t\t\t\tstyle=<<tag-pill-styles>>\n\t\t\t\tdata-tag-title=<<currentTiddler>>\n\t\t\t>\n\t\t\t\t{{||$:/core/ui/TiddlerIcon}}<$view field=\"title\" format=\"text\"/>\n\t\t\t</span>\n\t\t</$wikify>\n\t</$set>\n</$button>\n"
  },
  {
    "path": "core/ui/TagTemplate.tid",
    "content": "title: $:/core/ui/TagTemplate\n\n\\whitespace trim\n<span class=\"tc-tag-list-item\" data-tag-title=<<currentTiddler>>>\n<$set name=\"transclusion\" value=<<currentTiddler>>>\n\t<$macrocall $name=\"tag-pill-body\"\n\t\ttag=<<currentTiddler>>\n\t\ticon={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerIconFilter]!is[draft]get[text]] }}}\n\t\tcolour={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerColourFilter]!is[draft]get[text]] }}}\n\t\tpalette={{$:/palette}}\n\t\telement-tag=\"$button\"\n\t\telement-attributes=\"\"\"popup=<<qualify \"$:/state/popup/tag\">> dragFilter=\"[subfilter{$:/core/config/TagPillDragFilter}]\" tag='span'\"\"\"\n\t/>\n\t<$reveal state=<<qualify \"$:/state/popup/tag\">> type=\"popup\" position=\"below\" animate=\"yes\" class=\"tc-drop-down\">\n\t\t<$set name=\"tv-show-missing-links\" value=\"yes\">\n\t\t\t<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n\t\t</$set>\n\t\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TagDropdown]!has[draft.of]]\" variable=\"listItem\"> \n\t\t\t<$transclude tiddler=<<listItem>>/> \n\t\t</$list>\n\t\t<hr>\n\t\t<$macrocall $name=\"list-tagged-draggable\" tag=<<currentTiddler>>/>\n\t</$reveal>\n</$set>\n</span>\n"
  },
  {
    "path": "core/ui/TestCaseTemplate.tid",
    "content": "title: $:/core/ui/TestCaseTemplate\n\n\\parameters (hideIfPass:\"no\")\n\\whitespace trim\n<$let\n\tlinkTarget=\"yes\"\n\tdisplayFormat={{!!display-format}}\n\ttestcaseTiddler=<<currentTiddler>>\n>\n\t<$testcase\n\t\ttestOutput=\"Output\"\n\t\ttestExpectedResult=\"ExpectedResult\"\n\t\ttestActions=\"Actions\"\n\t\ttestHideIfPass=<<hideIfPass>>\n\t>\n\t\t<$data $filter={{!!import}}/>\n\t\t<$data $compound-filter={{!!import-compound}}/>\n\t\t<$data $compound-tiddler=<<currentTiddler>>/>\n\t\t<%if [{!!description}!is[blank]] %><$data title=\"Description\" text={{!!description}}/><%endif%>\n\t</$testcase>\n</$let>\n"
  },
  {
    "path": "core/ui/TestCases/DefaultTemplate.tid",
    "content": "title: $:/core/ui/testcases/DefaultTemplate\ncode-body: yes\n\n\\whitespace trim\n\n\\function tf.state() \"$:/state/testcase\"\n\n\\procedure linkcatcherActions()\n<%if [<navigateTo>has[title]] %>\n\t<$action-setfield $tiddler=<<tf.state>> text=<<navigateTo>>/>\n<%endif%>\n\\end\n\n\\procedure testcase-header()\n<div class=\"tc-test-case-header\">\n\t<h2>\n\t\t<$genesis $type={{{ [<linkTarget>!match[]then[$link]else[span]] }}} to=<<testcaseTiddler>>>\n\t\t\t<%if [<testResult>!match[]] %>\n\t\t\t\t<span class={{{ tc-test-case-result-icon\n\t\t\t\t\t[<testResult>!match[fail]then[tc-test-case-result-icon-pass]]\n\t\t\t\t\t[<testResult>match[fail]then[tc-test-case-result-icon-fail]]\n\t\t\t\t\t+[join[ ]] }}}\n\t\t\t\t>\n\t\t\t\t\t<%if [<testResult>!match[fail]] %>\n\t\t\t\t\t\t{{$:/core/images/done-button}}\n\t\t\t\t\t<%else%>\n\t\t\t\t\t\t{{$:/core/images/close-button}}\n\t\t\t\t\t<%endif%>\n\t\t\t\t</span>\n\t\t\t<%endif%>\n\t\t\t<$view tiddler=\"Description\" mode=\"inline\"/>\n\t\t</$genesis>\n\t\t<span class=\"tc-test-case-toolbar\">\n\t\t\t<<testcase-toolbar>>\n\t\t</span>\n\t</h2>\n</div>\n\\end\n\n\\procedure testcase-toolbar()\n<$button popup=`$(tf.state)$-more`\n\ttooltip={{$:/language/Buttons/More/Hint}}\n\taria-label={{$:/language/Buttons/More/Caption}}\n\tclass=\"tc-btn-invisible\"\n\tselectedClass=\"tc-selected\"\n>\n\t{{$:/core/images/down-arrow}}\n</$button>\n<$let\n\ttv-config-toolbar-icons=\"yes\"\n\ttv-config-toolbar-text=\"yes\"\n\ttv-config-toolbar-class=\"tc-btn-invisible\"\n>\n\t<$reveal state=`$(tf.state)$-more` type=\"popup\" position=\"belowleft\" animate=\"yes\">\n\t\t<div class=\"tc-drop-down\">\n\t\t\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TestCase/Actions]!has[draft.of]]\"\n\t\t\t\tvariable=\"listItem\"\n\t\t\t>\n\t\t\t\t<$transclude $tiddler=<<listItem>> $mode=\"inline\"/>\n\t\t\t</$list>\n\t\t</div>\n\t</$reveal>\n</$let>\n\\end\n\n\\procedure testcase-narrative()\n<div class=\"tc-test-case-narrative\">\n\t<$transclude $tiddler=\"Narrative\" $mode=\"block\"/>\n</div>\n\\end\n\n\\procedure testcase-fail()\n<div class=\"tc-test-case-result-fail\">\n\t<div class=\"tc-test-case-result-fail-header\">\n\t\tTEST FAILED\n\t</div>\n\t<div class=\"tc-test-case-result-fail-body\">\n\t\t<$diff-text source=<<expectedHTML>> dest=<<outputHTML>>/>\n\t</div>\n</div>\n\\end\n\n\\procedure testcase-output-wikified()\n<$linkcatcher actions=<<linkcatcherActions>>>\n\t<$tiddler tiddler=\"Output\">\n\t\t<$transclude $tiddler=\"Output\" $mode=\"block\"/>\n\t</$tiddler>\n</$linkcatcher>\n\\end\n\n\\procedure testcase-output()\n<div class=\"tc-test-case-output\">\n\t<%if [<displayFormat>!match[]else[wikitext]match[plaintext]] %>\n\t\t<pre><$view tiddler=\"Output\" format=\"plainwikified\" mode=\"block\"/></pre>\n\t<%else%>\n\t\t<<testcase-output-wikified>>\n\t<%endif%>\n</div>\n\\end\n\n\\procedure testcase-tabsList()\n[all[tiddlers]sort[]] Output +[putfirst[]]\n-Description\n-Narrative\n-[[$:/temp/testcase/draft-title]]\n-[has[plugin-type]]\n-[prefix<tf.state>]\n-[prefix[$:/state/popup/export]]\n-[prefix[$:/HistoryList]]\n-[prefix[$:/StoryList]]\n\\end\n\n\\procedure testcase-source()\n<div class=\"tc-test-case-source\">\n\t<$macrocall $name=\"tabs\"\n\t\ttabsList=<<testcase-tabsList>>\n\t\texplicitState=<<tf.state>>\n\t\tdefault=\"Output\"\n\t\ttemplate=\"$:/core/ui/testcases/DefaultTemplate/SourceTabs\"\n\t/>\n</div>\n\\end\n\n\\procedure testcase-panes()\n<div class=\"tc-test-case-panes\">\n\t<<testcase-source>>\n\t<div class=\"tc-test-case-divider\"></div>\n\t<<testcase-output>>\n</div>\n\\end\n\n\\procedure testcase-body()\n<div class=\"tc-test-case-wrapper\">\n\t<<testcase-header>>\n\t<$let testcase-source-state = <<tf.state>>>\n\t\t<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\">\n\t\t\t<%if [[Narrative]is[tiddler]] %>\n\t\t\t\t<<testcase-narrative>>\n\t\t\t<%endif%>\n\t\t\t<%if [<testResult>match[fail]] %>\n\t\t\t\t<<testcase-fail>>\n\t\t\t<%endif%>\n\t\t\t<<testcase-panes>>\n\t\t</$navigator>\n\t</$let>\n</div>\n\\end\n\n<<testcase-body>>"
  },
  {
    "path": "core/ui/TestCases/DefaultTemplateSourceTabs.tid",
    "content": "title: $:/core/ui/testcases/DefaultTemplate/SourceTabs\n\n\\whitespace trim\n\n\\procedure testcaseNewTitle() $:/temp/testcase/draft-title\n\n\\procedure saveActions()\n<$action-setfield $tiddler=<<currentTab>> $field=\"draft.title\" $value=<<newTitle>>/>\n<$action-sendmessage $message=\"tm-save-tiddler\" $param=<<title>> />\n<$action-setfield $tiddler=<<testcase-source-state>> text=<<newTitle>>/>\n<$action-deletetiddler $tiddler=<<testcaseNewTitle>>/>\n\\end\n\n\\procedure saveButton(title, newTitle)\n<$button class=\"tc-btn-invisible tc-test-case-save-button tc-small-gap-left\" actions=<<saveActions>> disabled={{{ [<testcaseNewTitle>!has[text]then[yes]] }}}>\n{{$:/core/images/done-button}}\n</$button>\n\\end\n\n\\procedure body()\n<$list filter=\"[<currentTab>fields[]] -text +[limit[1]]\" variable=\"ignore\">\n\t<table class=\"tc-field-table\">\n\t\t<tbody>\n\t\t\t<$list filter=\"[<currentTab>fields[]sort[]] -text -title title +[putfirst[]]\" variable=\"fieldName\">\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<$text text=<<fieldName>>/>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<%if [<fieldName>match[draft.title]]  %>\n\t\t\t\t\t\t\t<$edit-text class=\"tc-edit-texteditor tc-max-width-80\" tiddler=<<testcaseNewTitle>> focus=\"yes\" tag=\"input\"/>\n\t\t\t\t\t\t\t<$macrocall $name=\"saveButton\" newTitle={{{ [<testcaseNewTitle>get[text]] }}} title=<<currentTab>>/>\n\t\t\t\t\t\t<%else%>\n\t\t\t\t\t\t\t<$view tiddler=<<currentTab>> field=<<fieldName>>/>\n\t\t\t\t\t\t<%endif%>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</$list>\n\t\t</tbody>\n\t</table>\n</$list>\n<$edit class=\"tc-edit-texteditor\" tiddler=<<currentTab>>/>\n<div class=\"tc-test-case-footer-toolbar\">\n<$macrocall $name=\"copy-to-clipboard\" src={{{ [<currentTab>get[text]] }}}/>\n</div>\n\\end\n\n<$transclude $variable=\"body\" $mode=\"inline\"/>\n"
  },
  {
    "path": "core/ui/TestCases/RawJSONTemplate.tid",
    "content": "title: $:/core/ui/testcases/RawJSONTemplate\n\n\\whitespace trim\n<$text text=<<payloadTiddlers>>/>\n"
  },
  {
    "path": "core/ui/TestCases/actions/Export.tid",
    "content": "title: $:/core/ui/testcases/actions/Export\ntags: $:/tags/TestCase/Actions\n\n<$macrocall $name=\"exportButton\" exportFilter=\"[all[tiddlers]sort[]] -[prefix[$:/state/]] -Description -Narrative -ExpectedResult -[has[plugin-type]]\" lingoBase=\"$:/language/Buttons/ExportTiddlers/\"/>"
  },
  {
    "path": "core/ui/TestCases/actions/Import.tid",
    "content": "title: $:/core/ui/testcases/actions/Import\ntags: $:/tags/TestCase/Actions\n\n\\whitespace trim\n<$button tooltip={{$:/language/Buttons/TestCaseImport/Hint}} aria-label={{$:/language/Buttons/TestCaseImport/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-import-tiddlers\" $param=<<payloadTiddlers>>/>\n{{$:/core/images/input-button}}\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/TestCaseImport/Caption}}/>\n</span>\n</$button>\n"
  },
  {
    "path": "core/ui/TiddlerFieldTemplate.tid",
    "content": "title: $:/core/ui/TiddlerFieldTemplate\n\n\\whitespace trim\n<tr class=\"tc-view-field\">\n<td class=\"tc-view-field-name\">\n<$text text=<<listItem>>/>\n</td>\n<td class=\"tc-view-field-value\">\n<$view field=<<listItem>>/>\n</td>\n</tr>"
  },
  {
    "path": "core/ui/TiddlerFields.tid",
    "content": "title: $:/core/ui/TiddlerFields\n\n\\whitespace trim\n<table class=\"tc-view-field-table\">\n<tbody>\n<$list filter=\"[all[current]fields[]sort[title]] -text\" template=\"$:/core/ui/TiddlerFieldTemplate\" variable=\"listItem\"/>\n</tbody>\n</table>\n"
  },
  {
    "path": "core/ui/TiddlerIcon.tid",
    "content": "title: $:/core/ui/TiddlerIcon\n\n\\whitespace trim\n<$let tiddlerIcon={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerIconFilter]!is[draft]get[text]] }}}>\n<$list filter=\"[<tiddlerIcon>!is[blank]]\" variable=\"ignore\">\n<$transclude tiddler=<<tiddlerIcon>>/>\n</$list>\n</$let>\n"
  },
  {
    "path": "core/ui/TiddlerInfo/Advanced/CascadeInfo.tid",
    "content": "title: $:/core/ui/TiddlerInfo/Advanced/CascadeInfo\r\ntags: $:/tags/TiddlerInfo/Advanced\r\n\r\n\\define lingo-base() $:/language/TiddlerInfo/Advanced/CascadeInfo/\r\n\r\n<$let infoTiddler=<<currentTiddler>>>\r\n\r\n''<<lingo Heading>>''\r\n\r\n<<lingo Hint>>\r\n\r\n<table class=\"tc-max-width\">\r\n\t<thead>\r\n\t\t<$list filter=\"[[View]] [[ActiveCascadeFilter]] [[Template]]\" variable=\"th\">\r\n\t\t\t<th><$transclude $variable=\"lingo\" title=`Detail/$(th)$`/></th>\r\n\t\t</$list>\r\n\t</thead>\r\n\t<$list filter=\"[[$:/tags/ViewTemplate]tagging[]]\" variable=\"ViewTemplate\">\r\n\t\t<tr>\r\n\t\t\t<$let\r\n\t\t\t\tview={{{ [<ViewTemplate>]+[split[/]last[]] }}}\r\n\t\t\t\ttagFilter=`$:/tags/ViewTemplate${ [<view>titlecase[]] }$Filter`\r\n\t\t\t\tactiveCascadeFilterTiddler={{{ [all[shadows+tiddlers]tag<tagFilter>!is[draft]]:filter[<storyTiddler>subfilter{!!text}]+[first[]] }}}\r\n\t\t\t\tactiveCascadeFilter={{{ [<activeCascadeFilterTiddler>get[text]] }}}\r\n\t\t\t\tactiveTemplateTiddler={{{ [<currentTiddler>]:cascade[all[shadows+tiddlers]tag<tagFilter>!is[draft]get[text]] }}}\r\n\t\t\t>\r\n\t\t\t<%if [<activeCascadeFilterTiddler>!is[blank]]%>\r\n\t\t\t\t<td>\r\n\t\t\t\t\t<$link to=<<ViewTemplate>> ><<view>></$link>\r\n\t\t\t\t</td>\r\n\t\t\t\t<td>\r\n\t\t\t\t\t<$link to=<<activeCascadeFilterTiddler>> />\r\n\t\t\t\t</td>\r\n\t\t\t\t<td style=\"text-align:center;\">\r\n\t\t\t\t\t<$link class=\"tc-btn-invisible\" to=<<activeTemplateTiddler>>>\r\n\t\t\t\t\t\t<$button class=\"tc-btn-invisible\">{{$:/core/images/file}}</$button>\r\n\t\t\t\t\t</$link>\r\n\t\t\t\t</td>\r\n\t\t\t<%endif%>\r\n\t\t\t</$let>\r\n\t\t</tr>\r\n\t</$list>\r\n</table>\r\n"
  },
  {
    "path": "core/ui/TiddlerInfo/Advanced/PluginInfo.tid",
    "content": "title: $:/core/ui/TiddlerInfo/Advanced/PluginInfo\ntags: $:/tags/TiddlerInfo/Advanced\n\n\\define lingo-base() $:/language/TiddlerInfo/Advanced/PluginInfo/\n\\whitespace trim\n<$list filter=\"[all[current]has[plugin-type]]\">\n\n! <<lingo Heading>>\n\n<<lingo Hint>>\n<ul>\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" emptyMessage=<<lingo Empty/Hint>>>\n<li>\n<$link to={{!!title}}>\n<$view field=\"title\"/>\n</$link>\n</li>\n</$list>\n</ul>\n\n</$list>\n"
  },
  {
    "path": "core/ui/TiddlerInfo/Advanced/ShadowInfo.tid",
    "content": "title: $:/core/ui/TiddlerInfo/Advanced/ShadowInfo\ntags: $:/tags/TiddlerInfo/Advanced\n\n\\define lingo-base() $:/language/TiddlerInfo/Advanced/ShadowInfo/\n<$set name=\"infoTiddler\" value=<<currentTiddler>>>\n\n''<<lingo Heading>>''\n\n<$list filter=\"[all[current]!is[shadow]]\">\n\n<<lingo NotShadow/Hint>>\n\n</$list>\n\n<$list filter=\"[all[current]is[shadow]]\">\n\n<<lingo Shadow/Hint>>\n\n<$list filter=\"[all[current]shadowsource[]]\">\n\n<$set name=\"pluginTiddler\" value=<<currentTiddler>>>\n\n<<lingo Shadow/Source>>\n</$set>\n\n</$list>\n\n<$list filter=\"[all[current]is[shadow]is[tiddler]]\">\n\n<<lingo OverriddenShadow/Hint>>\n\n</$list>\n\n\n</$list>\n</$set>\n"
  },
  {
    "path": "core/ui/TiddlerInfo/Advanced.tid",
    "content": "title: $:/core/ui/TiddlerInfo/Advanced\ntags: $:/tags/TiddlerInfo\ncaption: {{$:/language/TiddlerInfo/Advanced/Caption}}\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TiddlerInfo/Advanced]!has[draft.of]]\" variable=\"listItem\">\n\n<$transclude tiddler=<<listItem>> mode=\"block\"/>\n\n</$list>\n"
  },
  {
    "path": "core/ui/TiddlerInfo/Fields.tid",
    "content": "title: $:/core/ui/TiddlerInfo/Fields\ntags: $:/tags/TiddlerInfo\ncaption: {{$:/language/TiddlerInfo/Fields/Caption}}\n\n<$transclude tiddler=\"$:/core/ui/TiddlerFields\"/>\n"
  },
  {
    "path": "core/ui/TiddlerInfo/List.tid",
    "content": "title: $:/core/ui/TiddlerInfo/List\ntags: $:/tags/TiddlerInfo\ncaption: {{$:/language/TiddlerInfo/List/Caption}}\n\n\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[list{!!title}]\" emptyMessage=<<lingo List/Empty>> template=\"$:/core/ui/ListItemTemplate\"/>\n"
  },
  {
    "path": "core/ui/TiddlerInfo/Listed.tid",
    "content": "title: $:/core/ui/TiddlerInfo/Listed\ntags: $:/tags/TiddlerInfo\ncaption: {{$:/language/TiddlerInfo/Listed/Caption}}\n\n\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]listed[]!is[system]]\" emptyMessage=<<lingo Listed/Empty>> template=\"$:/core/ui/ListItemTemplate\"/>\n"
  },
  {
    "path": "core/ui/TiddlerInfo/References.tid",
    "content": "title: $:/core/ui/TiddlerInfo/References\ntags: $:/tags/TiddlerInfo\ncaption: {{$:/language/TiddlerInfo/References/Caption}}\n\n\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]backlinks[]sort[title]]\" emptyMessage=<<lingo References/Empty>> template=\"$:/core/ui/ListItemTemplate\">\n</$list>"
  },
  {
    "path": "core/ui/TiddlerInfo/Tagging.tid",
    "content": "title: $:/core/ui/TiddlerInfo/Tagging\ntags: $:/tags/TiddlerInfo\ncaption: {{$:/language/TiddlerInfo/Tagging/Caption}}\n\n\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]tagging[]]\" emptyMessage=<<lingo Tagging/Empty>> template=\"$:/core/ui/ListItemTemplate\"/>\n"
  },
  {
    "path": "core/ui/TiddlerInfo/Tools.tid",
    "content": "title: $:/core/ui/TiddlerInfo/Tools\ntags: $:/tags/TiddlerInfo\ncaption: {{$:/language/TiddlerInfo/Tools/Caption}}\n\n\\define lingo-base() $:/language/TiddlerInfo/\n\\define config-title()\n$:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\\end\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]]\" variable=\"listItem\">\n\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <$transclude tiddler=<<listItem>>/> <i class=\"tc-muted\"><$transclude tiddler=<<listItem>> field=\"description\"/></i>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n"
  },
  {
    "path": "core/ui/TiddlerInfo.tid",
    "content": "title: $:/core/ui/TiddlerInfo\n\n\\whitespace trim\n<div style=\"position:relative;\">\n<div class=\"tc-tiddler-controls tc-tiddler-info-controls\">\n<$reveal state=\"$:/config/TiddlerInfo/Mode\" type=\"match\" text=\"sticky\">\n<$button set=<<tiddlerInfoState>> setTo=\"\" tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=\"tc-btn-invisible\">\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n</div>\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/TiddlerInfo]!has[draft.of]]\" default={{$:/config/TiddlerInfo/Default}}/>\n"
  },
  {
    "path": "core/ui/TopRightBar/menu.tid",
    "content": "title: $:/core/ui/TopBar/menu\ntags: $:/tags/TopRightBar\n\n\\whitespace trim\n<$list filter=\"[[$:/state/sidebar]get[text]] +[else[yes]!match[no]]\" variable=\"ignore\">\n<$button set=\"$:/state/sidebar\" setTo=\"no\" tooltip={{$:/language/Buttons/HideSideBar/Hint}} aria-label={{$:/language/Buttons/HideSideBar/Caption}} class=\"tc-btn-invisible tc-hide-sidebar-btn\">{{$:/core/images/chevron-right}}</$button>\n</$list>\n<$list filter=\"[[$:/state/sidebar]get[text]] +[else[yes]match[no]]\" variable=\"ignore\">\n<$button set=\"$:/state/sidebar\" setTo=\"yes\" tooltip={{$:/language/Buttons/ShowSideBar/Hint}} aria-label={{$:/language/Buttons/ShowSideBar/Caption}} class=\"tc-btn-invisible tc-show-sidebar-btn\">{{$:/core/images/chevron-left}}</$button>\n</$list>\n"
  },
  {
    "path": "core/ui/UntaggedTemplate.tid",
    "content": "title: $:/core/ui/UntaggedTemplate\n\n\\define lingo-base() $:/language/SideBar/\n\\whitespace trim\n<$button popup=<<qualify \"$:/state/popup/tag\">> class=\"tc-btn-invisible tc-untagged-label tc-tag-label\">\n\t<<lingo Tags/Untagged/Caption>>\n</$button>\n<$reveal class=\"tc-drop-down\" tag=\"div\" state=<<qualify \"$:/state/popup/tag\">> type=\"popup\" position=\"below\">\n\t<$list filter=\"[untagged[]!is[system]] -[tags[]] +[sort[title]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n</$reveal>\n"
  },
  {
    "path": "core/ui/ViewTemplate/body/blank.tid",
    "content": "title: $:/core/ui/ViewTemplate/body/blank\n\n<!-- Intentionally blank -->\n"
  },
  {
    "path": "core/ui/ViewTemplate/body/code.tid",
    "content": "title: $:/core/ui/ViewTemplate/body/code\n\n<%if [<currentTiddler>is[missing]] :and[!is[shadow]] %>\n<$transclude tiddler=\"$:/language/MissingTiddler/Hint\"/>\n<%else%>\n<$transclude $variable=\"copy-to-clipboard-above-right\" src={{{ [<currentTiddler>get[text]] }}} />\n<$codeblock code={{{ [<currentTiddler>get[text]] }}} language={{{ [<currentTiddler>get[type]else[text/vnd.tiddlywiki]] }}}/>\n<%endif%>"
  },
  {
    "path": "core/ui/ViewTemplate/body/default.tid",
    "content": "title: $:/core/ui/ViewTemplate/body/default\ncode-body: yes\n\n<$transclude>\n\n<$transclude tiddler=\"$:/language/MissingTiddler/Hint\"/>\n\n</$transclude>\n"
  },
  {
    "path": "core/ui/ViewTemplate/body/import.tid",
    "content": "title: $:/core/ui/ViewTemplate/body/import\n\n\\define lingo-base() $:/language/Import/\n\n\\define confirmCancel()\n\\whitespace trim\n<$action-confirm $message={{$:/language/Import/Listing/Cancel/Warning}} >\n<$action-deletetiddler $tiddler=<<currentTiddler>>/>\n<$action-deletetiddler $tiddler=\"$:/state/import/select-all\"/>\n<$action-sendmessage $message=\"tm-close-tiddler\" title=<<currentTiddler>>/>\n</$action-confirm>\n\\end\n\n\\define buttons()\n\\whitespace trim\n<$button actions=<<confirmCancel>> ><<lingo Listing/Cancel/Caption>></$button>\n&#32;\n<$button message=\"tm-perform-import\" param=<<currentTiddler>>><<lingo Listing/Import/Caption>></$button>\n&#32;\n<<lingo Listing/Preview>>&#32;<$select tiddler=\"$:/state/importpreviewtype\" default=\"$:/core/ui/ImportPreviews/Text\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ImportPreview]!has[draft.of]]\">\n<option value=<<currentTiddler>>>{{!!caption}}</option>\n</$list>\n</$select>\n\\end\n\\whitespace trim\n\n<$list filter=\"[all[current]field:plugin-type[import]]\">\n\n<div class=\"tc-import\">\n\n<<lingo Listing/Hint>>\n\n<<buttons>>\n\n{{||$:/core/ui/ImportListing}}\n\n<<buttons>>\n\n</div>\n\n</$list>\n"
  },
  {
    "path": "core/ui/ViewTemplate/body/plugin.tid",
    "content": "title: $:/core/ui/ViewTemplate/body/plugin\n\n\\whitespace trim\n<div class=\"tc-tiddler-plugin-info\">\n<$let plugin-type={{!!plugin-type}}\n\tdefault-popup-state=\"yes\"\n\tqualified-state=<<qualify \"$:/state/plugin-info\">>\n>\n{{||$:/core/ui/Components/plugin-info}}\n</$let>\n</div>"
  },
  {
    "path": "core/ui/ViewTemplate/body/rendered-plain-text/css.tid",
    "content": "title: $:/core/ui/ViewTemplate/body/rendered-plain-text\ncode-body: yes\n\n\\whitespace trim\n\\parameters (language:\"css\")\n<$wikify name=\"text\" text={{!!text}} type={{!!type}}>\n<$codeblock code=<<text>> language=<<language>>/>\n</$wikify>\n"
  },
  {
    "path": "core/ui/ViewTemplate/body/rendered-plain-text/html.tid",
    "content": "title: $:/core/ui/ViewTemplate/body/rendered-plain-text/html\ncode-body: yes\n\n{{||$:/core/ui/ViewTemplate/body/rendered-plain-text|html}}"
  },
  {
    "path": "core/ui/ViewTemplate/body.tid",
    "content": "title: $:/core/ui/ViewTemplate/body\ntags: $:/tags/ViewTemplate\n\n\\import [all[shadows+tiddlers]tag[$:/tags/Macro/View/Body]!is[draft]] [all[shadows+tiddlers]tag[$:/tags/Global/View/Body]!is[draft]]\n\n<$reveal tag=\"div\" class=\"tc-tiddler-body tc-clearfix\" type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" retain=\"yes\" animate=\"yes\">\n\n<$transclude tiddler={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/ViewTemplateBodyFilter]!is[draft]get[text]] :and[!is[blank]else[$:/core/ui/ViewTemplate/body/default]] }}} />\n\n</$reveal>\n"
  },
  {
    "path": "core/ui/ViewTemplate/classic.tid",
    "content": "title: $:/core/ui/ViewTemplate/classic\ntags: $:/tags/ViewTemplate $:/tags/EditTemplate\n\n\\define lingo-base() $:/language/ClassicWarning/\n\\whitespace trim\n<$list filter=\"[all[current]type[text/x-tiddlywiki]]\">\n<div class=\"tc-message-box\">\n\n<<lingo Hint>>\n\n<$button set=\"!!type\" setTo=\"text/vnd.tiddlywiki\"><<lingo Upgrade/Caption>></$button>\n\n</div>\n</$list>\n"
  },
  {
    "path": "core/ui/ViewTemplate/lazy-loading.tid",
    "content": "title: $:/core/ui/ViewTemplate/lazy-loading\ntags: $:/tags/ViewTemplate\n\n\\whitespace trim\n<%if [<currentTiddler>has:field[_is_skinny]] %>\n  <!-- Render the text to trigger lazy-loading -->\n  {{||$:/core/ui/ViewTemplate/body/default}}\n  <!-- Indicator of loading state -->\n  <div class=\"tc-tiddler-lazy-loading\" />\n<%endif%>\n"
  },
  {
    "path": "core/ui/ViewTemplate/subtitle/default.tid",
    "content": "title: $:/core/ui/ViewTemplate/subtitle/default\n\n\\whitespace trim\n<$reveal type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" tag=\"div\" retain=\"yes\" animate=\"yes\">\n<div class=\"tc-subtitle tc-clearfix\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewTemplate/Subtitle]!has[draft.of]]\" variable=\"subtitleTiddler\">\n<$transclude tiddler=<<subtitleTiddler>> mode=\"inline\"/>\n</$list>\n</div>\n</$reveal>\n"
  },
  {
    "path": "core/ui/ViewTemplate/subtitle/modified.tid",
    "content": "title: $:/core/ui/ViewTemplate/subtitle/modified\ntags: $:/tags/ViewTemplate/Subtitle\n\n<$view field=\"modified\" format=\"date\" template={{$:/language/Tiddler/DateFormat}}/>"
  },
  {
    "path": "core/ui/ViewTemplate/subtitle/modifier.tid",
    "content": "title: $:/core/ui/ViewTemplate/subtitle/modifier\ntags: $:/tags/ViewTemplate/Subtitle\n\n<%if [{!!modifier}!is[blank]] %><$link to={{!!modifier}}/><%endif%>"
  },
  {
    "path": "core/ui/ViewTemplate/subtitle.tid",
    "content": "title: $:/core/ui/ViewTemplate/subtitle\ntags: $:/tags/ViewTemplate\n\n\\whitespace trim\n<$transclude tiddler={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/ViewTemplateSubtitleFilter]!is[draft]get[text]] :and[!is[blank]else[$:/core/ui/ViewTemplate/subtitle/default]] }}} />"
  },
  {
    "path": "core/ui/ViewTemplate/tags/default.tid",
    "content": "title: $:/core/ui/ViewTemplate/tags/default\n\n\\whitespace trim\n<$reveal type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" tag=\"div\" retain=\"yes\" animate=\"yes\">\n  <div class=\"tc-tags-wrapper\">\n    <$list filter=\"[all[current]tags[]sort[title]]\" template=\"$:/core/ui/TagTemplate\" storyview=\"pop\"/>\n    <$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewTemplate/Tags]!has[draft.of]]\">\n      <$transclude mode=\"inline\"/>\n    </$list>\n  </div>\n</$reveal>\n"
  },
  {
    "path": "core/ui/ViewTemplate/tags.tid",
    "content": "title: $:/core/ui/ViewTemplate/tags\ntags: $:/tags/ViewTemplate\n\n\\whitespace trim\n<$transclude tiddler={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/ViewTemplateTagsFilter]!is[draft]get[text]] :and[!is[blank]else[$:/core/ui/ViewTemplate/tags/default]] }}} />"
  },
  {
    "path": "core/ui/ViewTemplate/title/default.tid",
    "content": "title: $:/core/ui/ViewTemplate/title/default\n\n\\whitespace trim\n<h2 class=\"tc-title\">\n<$view field=\"title\"/>\n</h2>\n"
  },
  {
    "path": "core/ui/ViewTemplate/title/system.tid",
    "content": "title: $:/core/ui/ViewTemplate/title/system\n\n\\whitespace trim\n<h2 class=\"tc-title\" title={{$:/language/SystemTiddler/Tooltip}}>\n<span class=\"tc-system-title-prefix\">$:/</span><$text text={{{ [<currentTiddler>removeprefix[$:/]] }}}/>\n</h2>"
  },
  {
    "path": "core/ui/ViewTemplate/title.tid",
    "content": "title: $:/core/ui/ViewTemplate/title\ntags: $:/tags/ViewTemplate\n\n\\whitespace trim\n\\define title-styles() color:$(foregroundColor)$;\n\n<div class=\"tc-tiddler-title tc-clearfix\">\n\t<div class=\"tc-titlebar\">\n\t\t<span class=\"tc-tiddler-controls\">\n\t\t\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]] :filter[lookup[$:/config/ViewToolbarButtons/Visibility/]!match[hide]]\"\n\t\t\t\tstoryview=\"pop\"\n\t\t\t\tvariable=\"listItem\"\n\t\t\t>\n\t\t\t\t<$let condition={{{ [<listItem>get[condition]] }}}>\n\t\t\t\t\t<%if [<condition>!is[blank]] :and[<currentTiddler>subfilter<condition>limit[1]] :else[<condition>is[blank]then[true]] %>\n\t\t\t\t\t\t<$set name=\"tv-config-toolbar-class\" filter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\">\n\t\t\t\t\t\t\t<$transclude tiddler=<<listItem>>/>\n\t\t\t\t\t\t</$set>\n\t\t\t\t\t<%endif%>\n\t\t\t\t</$let>\n\t\t\t</$list>\n\t\t</span>\n\t\t<$set name=\"tv-wikilinks\" value={{$:/config/Tiddlers/TitleLinks}}>\n\t\t\t<$link>\n\t\t\t\t<$list filter=\"[<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerIconFilter]!is[draft]get[text]] +[!is[blank]]\"\n\t\t\t\t\tvariable=\"ignore\"\n\t\t\t\t>\n\t\t\t\t\t<$let foregroundColor={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerColourFilter]!is[draft]get[text]] }}}>\n\t\t\t\t\t\t<span class=\"tc-tiddler-title-icon\" style=<<title-styles>>>\n\t\t\t\t\t\t\t{{||$:/core/ui/TiddlerIcon}}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</$let>\n\t\t\t\t</$list>\n\t\t\t\t<$transclude tiddler={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/ViewTemplateTitleFilter]!is[draft]get[text]] :and[!is[blank]else[$:/core/ui/ViewTemplate/title/default]] }}} />\n\t\t\t</$link>\n\t\t</$set>\n\t</div>\n\t<$reveal tag=\"div\" type=\"nomatch\" text=\"\" default=\"\" state=<<tiddlerInfoState>> class=\"tc-tiddler-info tc-popup-handle\" animate=\"yes\" retain=\"yes\">\n\t\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TiddlerInfoSegment]!has[draft.of]] [[$:/core/ui/TiddlerInfo]]\" variable=\"listItem\">\n\t\t\t<$transclude tiddler=<<listItem>> mode=\"block\"/>\n\t\t</$list>\n\t</$reveal>\n</div>\n"
  },
  {
    "path": "core/ui/ViewTemplate/unfold.tid",
    "content": "title: $:/core/ui/ViewTemplate/unfold\ntags: $:/tags/ViewTemplate\n\n\\whitespace trim\n<div class=\"tc-reveal\">\n<$list filter=\"[{$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar}match[show]]\" variable=\"ignore\">\n<$reveal tag=\"div\" type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" default=\"show\" retain=\"yes\" animate=\"yes\">\n<$button tooltip={{$:/language/Buttons/Fold/Hint}} aria-label={{$:/language/Buttons/Fold/Caption}} class=\"tc-fold-banner\">\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n{{$:/core/images/chevron-up}}\n</$button>\n</$reveal>\n</$list>\n<$list filter=\"[{$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar}match[show]] :else[<folded-state>get[text]match[hide]]\" variable=\"ignore\">\n<$reveal tag=\"div\" type=\"nomatch\" stateTitle=<<folded-state>> text=\"show\" default=\"show\" retain=\"yes\" animate=\"yes\">\n<$button tooltip={{$:/language/Buttons/Unfold/Hint}} aria-label={{$:/language/Buttons/Unfold/Caption}} class=\"tc-unfold-banner\">\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n{{$:/core/images/chevron-down}}\n</$button>\n</$reveal>\n</$list>\n</div>"
  },
  {
    "path": "core/ui/ViewTemplate.tid",
    "content": "title: $:/core/ui/ViewTemplate\ncode-body: yes\n\n\\whitespace trim\n\\define folded-state()\n$:/state/folded/$(currentTiddler)$\n\\end\n\\define cancel-delete-tiddler-actions(message) <$action-sendmessage $message=\"tm-$message$-tiddler\"/>\n\\import [all[shadows+tiddlers]tag[$:/tags/Macro/View]!is[draft]] [all[shadows+tiddlers]tag[$:/tags/Global/View]!is[draft]]\n<$vars storyTiddler=<<currentTiddler>> tiddlerInfoState=<<qualify \"$:/state/popup/tiddler-info\">>>\n<div data-tiddler-title=<<currentTiddler>> data-tags={{!!tags}} class={{{ [all[shadows+tiddlers]tag[$:/tags/ClassFilters/TiddlerTemplate]!is[draft]] :map:flat[subfilter{!!text}] tc-tiddler-frame tc-tiddler-view-frame [<currentTiddler>is[tiddler]then[tc-tiddler-exists]] [<currentTiddler>is[missing]!is[shadow]then[tc-tiddler-missing]] [<currentTiddler>is[shadow]then[tc-tiddler-exists tc-tiddler-shadow]] [<currentTiddler>is[shadow]is[tiddler]then[tc-tiddler-overridden-shadow]] [<currentTiddler>is[system]then[tc-tiddler-system]] [{!!class}] [<currentTiddler>tags[]encodeuricomponent[]addprefix[tc-tagged-]] +[join[ ]] }}} role=\"article\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewTemplate]!is[draft]]\" variable=\"listItem\">\n<$transclude tiddler=<<listItem>>/>\n</$list>\n</div>\n</$vars>\n"
  },
  {
    "path": "core/ui/ViewToolbar/clone.tid",
    "content": "title: $:/core/ui/Buttons/clone\ntags: $:/tags/ViewToolbar\ncaption: {{$:/core/images/clone-button}} {{$:/language/Buttons/Clone/Caption}}\ndescription: {{$:/language/Buttons/Clone/Hint}}\n\n\\whitespace trim\n<$button message=\"tm-new-tiddler\"\n\tparam=<<currentTiddler>>\n\ttooltip={{$:/language/Buttons/Clone/Hint}}\n\taria-label={{$:/language/Buttons/Clone/Hint}}\n\tclass=<<tv-config-toolbar-class>>\n>\n\t<%if [<tv-config-toolbar-icons>match[yes]] %>\n\t\t{{$:/core/images/clone-button}}\n\t<%endif%>\n\t<%if [<tv-config-toolbar-text>match[yes]] %>\n\t\t<span class=\"tc-btn-text\">\n\t\t\t<$text text={{$:/language/Buttons/Clone/Caption}}/>\n\t\t</span>\n\t<%endif%>\n</$button>"
  },
  {
    "path": "core/ui/ViewToolbar/close-others.tid",
    "content": "title: $:/core/ui/Buttons/close-others\ntags: $:/tags/ViewToolbar\ncaption: {{$:/core/images/close-others-button}} {{$:/language/Buttons/CloseOthers/Caption}}\ndescription: {{$:/language/Buttons/CloseOthers/Hint}}\n\n\\whitespace trim\n<$button message=\"tm-close-other-tiddlers\" param=<<currentTiddler>> tooltip={{$:/language/Buttons/CloseOthers/Hint}} aria-label={{$:/language/Buttons/CloseOthers/Caption}} class=<<tv-config-toolbar-class>>>\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/core/images/close-others-button}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/CloseOthers/Caption}}/>\n</span>\n<%endif%>\n</$button>"
  },
  {
    "path": "core/ui/ViewToolbar/close.tid",
    "content": "title: $:/core/ui/Buttons/close\ntags: $:/tags/ViewToolbar\ncaption: {{$:/core/images/close-button}} {{$:/language/Buttons/Close/Caption}}\ndescription: {{$:/language/Buttons/Close/Hint}}\n\n\\whitespace trim\n<$button message=\"tm-close-tiddler\"\n\ttooltip={{$:/language/Buttons/Close/Hint}}\n\taria-label={{$:/language/Buttons/Close/Caption}}\n\tclass=<<tv-config-toolbar-class>>\n>\n\t<%if [<tv-config-toolbar-icons>match[yes]] %>\n\t\t{{$:/core/images/close-button}}\n\t<%endif%>\n\t<%if [<tv-config-toolbar-text>match[yes]] %>\n\t\t<span class=\"tc-btn-text\">\n\t\t\t<$text text={{$:/language/Buttons/Close/Caption}}/>\n\t\t</span>\n\t<%endif%>\n</$button>"
  },
  {
    "path": "core/ui/ViewToolbar/edit.tid",
    "content": "title: $:/core/ui/Buttons/edit\ntags: $:/tags/ViewToolbar\ncaption: {{$:/core/images/edit-button}} {{$:/language/Buttons/Edit/Caption}}\ndescription: {{$:/language/Buttons/Edit/Hint}}\n\n\\whitespace trim\n<$button message=\"tm-edit-tiddler\"\n\ttooltip={{$:/language/Buttons/Edit/Hint}}\n\taria-label={{$:/language/Buttons/Edit/Hint}}\n\tclass=<<tv-config-toolbar-class>>\n>\n\t<%if [<tv-config-toolbar-icons>match[yes]] %>\n\t\t{{$:/core/images/edit-button}}\n\t<%endif%>\n\t<%if [<tv-config-toolbar-text>match[yes]] %>\n\t\t<span class=\"tc-btn-text\">\n\t\t<$text text={{$:/language/Buttons/Edit/Caption}}/>\n\t</span>\n\t<%endif%>\n</$button>"
  },
  {
    "path": "core/ui/ViewToolbar/export-tiddler.tid",
    "content": "title: $:/core/ui/Buttons/export-tiddler\ntags: $:/tags/ViewToolbar\ncaption: {{$:/core/images/export-button}} {{$:/language/Buttons/ExportTiddler/Caption}}\ndescription: {{$:/language/Buttons/ExportTiddler/Hint}}\n\n<$transclude $variable=\"exportButton\" exportFilter=`[[$(currentTiddler)$]]` lingoBase=\"$:/language/Buttons/ExportTiddler/\" baseFilename=<<currentTiddler>>/>"
  },
  {
    "path": "core/ui/ViewToolbar/fold-bar.tid",
    "content": "title: $:/core/ui/Buttons/fold-bar\ntags: $:/tags/ViewToolbar\ncaption: {{$:/core/images/chevron-up}} {{$:/language/Buttons/Fold/FoldBar/Caption}}\ndescription: {{$:/language/Buttons/Fold/FoldBar/Hint}}\n\n<!-- This dummy toolbar button is here to allow visibility of the fold-bar to be controlled as if it were a toolbar button -->"
  },
  {
    "path": "core/ui/ViewToolbar/fold-others.tid",
    "content": "title: $:/core/ui/Buttons/fold-others\ntags: $:/tags/ViewToolbar\ncaption: {{$:/core/images/fold-others-button}} {{$:/language/Buttons/FoldOthers/Caption}}\ndescription: {{$:/language/Buttons/FoldOthers/Hint}}\n\n\\whitespace trim\n<$button tooltip={{$:/language/Buttons/FoldOthers/Hint}} aria-label={{$:/language/Buttons/FoldOthers/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-other-tiddlers\" $param=<<currentTiddler>> foldedStatePrefix=\"$:/state/folded/\"/>\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/core/images/fold-others-button}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/FoldOthers/Caption}}/>\n</span>\n<%endif%>\n</$button>"
  },
  {
    "path": "core/ui/ViewToolbar/fold.tid",
    "content": "title: $:/core/ui/Buttons/fold\ntags: $:/tags/ViewToolbar\ncaption: {{$:/core/images/fold-button}} {{$:/language/Buttons/Fold/Caption}}\ndescription: {{$:/language/Buttons/Fold/Hint}}\n\n\\whitespace trim\n<$reveal type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" default=\"show\">\n<$button tooltip={{$:/language/Buttons/Fold/Hint}} aria-label={{$:/language/Buttons/Fold/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/core/images/fold-button}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Fold/Caption}}/>\n</span>\n<%endif%>\n</$button>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<folded-state>> text=\"hide\" default=\"show\">\n<$button tooltip={{$:/language/Buttons/Unfold/Hint}} aria-label={{$:/language/Buttons/Unfold/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/core/images/unfold-button}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Unfold/Caption}}/>\n</span>\n<%endif%>\n</$button>\n</$reveal>\n"
  },
  {
    "path": "core/ui/ViewToolbar/info.tid",
    "content": "title: $:/core/ui/Buttons/info\ntags: $:/tags/ViewToolbar\ncaption: {{$:/core/images/info-button}} {{$:/language/Buttons/Info/Caption}}\ndescription: {{$:/language/Buttons/Info/Hint}}\n\n\\whitespace trim\n\\procedure button-content()\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/core/images/info-button}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Info/Caption}}/>\n</span>\n<%endif%>\n\\end\n<$reveal state=\"$:/config/TiddlerInfo/Mode\" type=\"match\" text=\"popup\">\n<$button popup=<<tiddlerInfoState>> tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$transclude $variable=\"button-content\" $mode=\"inline\"/>\n</$button>\n</$reveal>\n<$reveal state=\"$:/config/TiddlerInfo/Mode\" type=\"match\" text=\"sticky\">\n<$reveal state=<<tiddlerInfoState>> type=\"match\" text=\"\" default=\"\">\n<$button set=<<tiddlerInfoState>> setTo=\"yes\" tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$transclude $variable=\"button-content\" $mode=\"inline\"/>\n</$button>\n</$reveal>\n<$reveal state=<<tiddlerInfoState>> type=\"nomatch\" text=\"\" default=\"\">\n<$button set=<<tiddlerInfoState>> setTo=\"\" tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$transclude $variable=\"button-content\" $mode=\"inline\"/>\n</$button>\n</$reveal>\n</$reveal>"
  },
  {
    "path": "core/ui/ViewToolbar/more-tiddler-actions.tid",
    "content": "title: $:/core/ui/Buttons/more-tiddler-actions\ntags: $:/tags/ViewToolbar\ncaption: {{$:/core/images/down-arrow}} {{$:/language/Buttons/More/Caption}}\ndescription: {{$:/language/Buttons/More/Hint}}\n\n\\whitespace trim\n\n<$button popup=<<qualify \"$:/state/popup/more\">>\n\ttooltip={{$:/language/Buttons/More/Hint}}\n\taria-label={{$:/language/Buttons/More/Caption}}\n\tclass=<<tv-config-toolbar-class>>\n\tselectedClass=\"tc-selected\"\n>\n\t<%if [<tv-config-toolbar-icons>match[yes]] %>\n\t\t{{$:/core/images/down-arrow}}\n\t<%endif%>\n\t<%if [<tv-config-toolbar-text>match[yes]] %>\n\t\t<span class=\"tc-btn-text\">\n\t\t\t<$text text={{$:/language/Buttons/More/Caption}}/>\n\t\t</span>\n\t<%endif%>\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/more\">> type=\"popup\" position=\"belowleft\" animate=\"yes\">\n\t<div class=\"tc-drop-down\">\n\t\t<$let tv-config-toolbar-icons=\"yes\" tv-config-toolbar-text=\"yes\" tv-config-toolbar-class=\"tc-btn-invisible\">\n\t\t\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]] -[[$:/core/ui/Buttons/more-tiddler-actions]]\"\n\t\t\t\tvariable=\"listItem\"\n\t\t\t>\n\t\t\t\t<$reveal type=\"match\" state=`$:/config/ViewToolbarButtons/Visibility/$(listItem)$` text=\"hide\">\n\t\t\t\t\t<$set name=\"tv-config-toolbar-class\"\n\t\t\t\t\t\tfilter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\t\t\t\t\t</$set>\n\t\t\t\t</$reveal>\n\t\t\t</$list>\n\t\t</$let>\n\t</div>\n</$reveal>"
  },
  {
    "path": "core/ui/ViewToolbar/new-here.tid",
    "content": "title: $:/core/ui/Buttons/new-here\ntags: $:/tags/ViewToolbar\ncaption: {{$:/core/images/new-here-button}} {{$:/language/Buttons/NewHere/Caption}}\ndescription: {{$:/language/Buttons/NewHere/Hint}}\n\n\\whitespace trim\n\\procedure newHereActions()\n<$set name=\"tags\" filter=\"[<currentTiddler>] [enlist{$:/config/NewTiddler/Tags}]\">\n<$action-sendmessage $message=\"tm-new-tiddler\" tags=<<tags>>/>\n</$set>\n\\end\n\\procedure newHereButton()\n<$button actions=<<newHereActions>> tooltip={{$:/language/Buttons/NewHere/Hint}} aria-label={{$:/language/Buttons/NewHere/Caption}} class=<<tv-config-toolbar-class>>>\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/core/images/new-here-button}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/NewHere/Caption}}/>\n</span>\n<%endif%>\n</$button>\n\\end\n<<newHereButton>>\n"
  },
  {
    "path": "core/ui/ViewToolbar/new-journal-here.tid",
    "content": "title: $:/core/ui/Buttons/new-journal-here\ntags: $:/tags/ViewToolbar\ncaption: {{$:/core/images/new-journal-button}} {{$:/language/Buttons/NewJournalHere/Caption}}\ndescription: {{$:/language/Buttons/NewJournalHere/Hint}}\n\n\\whitespace trim\n\\procedure journalButton()\n<$button tooltip={{$:/language/Buttons/NewJournalHere/Hint}} aria-label={{$:/language/Buttons/NewJournalHere/Caption}} class=<<tv-config-toolbar-class>>>\n<$wikify name=\"journalTitle\" text=\"\"\"<$transclude $variable=\"now\" format=<<journalTitleTemplate>>/>\"\"\">\n<$action-sendmessage $message=\"tm-new-tiddler\" title=<<journalTitle>> tags=`[[$(currentTiddlerTag)$]] $(journalTags)$`/>\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/core/images/new-journal-button}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/NewJournalHere/Caption}}/>\n</span>\n<%endif%>\n</$wikify>\n</$button>\n\\end\n<$let journalTitleTemplate={{$:/config/NewJournal/Title}} journalTags={{$:/config/NewJournal/Tags}} currentTiddlerTag=<<currentTiddler>>>\n<<journalButton>>\n</$let>\n"
  },
  {
    "path": "core/ui/ViewToolbar/open-window.tid",
    "content": "title: $:/core/ui/Buttons/open-window\ntags: $:/tags/ViewToolbar\ncaption: {{$:/core/images/open-window}} {{$:/language/Buttons/OpenWindow/Caption}}\ndescription: {{$:/language/Buttons/OpenWindow/Hint}}\n\n\\whitespace trim\n<$button message=\"tm-open-window\" tooltip={{$:/language/Buttons/OpenWindow/Hint}} aria-label={{$:/language/Buttons/OpenWindow/Caption}} class=<<tv-config-toolbar-class>>>\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/core/images/open-window}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/OpenWindow/Caption}}/>\n</span>\n<%endif%>\n</$button>"
  },
  {
    "path": "core/ui/ViewToolbar/permalink.tid",
    "content": "title: $:/core/ui/Buttons/permalink\ntags: $:/tags/ViewToolbar\ncaption: {{$:/core/images/permalink-button}} {{$:/language/Buttons/Permalink/Caption}}\ndescription: {{$:/language/Buttons/Permalink/Hint}}\n\n\\whitespace trim\n<$button message=\"tm-permalink\" tooltip={{$:/language/Buttons/Permalink/Hint}} aria-label={{$:/language/Buttons/Permalink/Caption}} class=<<tv-config-toolbar-class>>>\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/core/images/permalink-button}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Permalink/Caption}}/>\n</span>\n<%endif%>\n</$button>"
  },
  {
    "path": "core/ui/ViewToolbar/permaview.tid",
    "content": "title: $:/core/ui/Buttons/permaview\ntags: $:/tags/ViewToolbar $:/tags/PageControls\ncaption: {{$:/core/images/permaview-button}} {{$:/language/Buttons/Permaview/Caption}}\ndescription: {{$:/language/Buttons/Permaview/Hint}}\n\n\\whitespace trim\n<$button message=\"tm-permaview\" tooltip={{$:/language/Buttons/Permaview/Hint}} aria-label={{$:/language/Buttons/Permaview/Caption}} class=<<tv-config-toolbar-class>>>\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/core/images/permaview-button}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Permaview/Caption}}/>\n</span>\n<%endif%>\n</$button>"
  },
  {
    "path": "core/ui/WikiInformation.tid",
    "content": "title: $:/core/ui/ControlPanel/WikiInformation\ntags: $:/tags/ControlPanel/Info\ncaption: <%if [[$:/language/ControlPanel/WikiInformation/Caption]is[shadow]] %>{{$:/language/ControlPanel/WikiInformation/Caption}}<%else%>Wiki Information<%endif%>\nsubtitle: <%if [[$:/language/ControlPanel/WikiInformation/Caption]is[shadow]] %>{{$:/language/ControlPanel/WikiInformation/Caption}}<%else%>Wiki Information<%endif%>\n\n\\procedure lingo-base() $:/language/ControlPanel/WikiInformation/\n\n<!--\nA custom implementation of the lingo macro that works even if this tiddler has been copied to an earlier version of TiddlyWiki that doesn't include the necessary lingo tiddlers in the core.\n-->\n\n\\procedure intrinsic-lingo-Hint()\nThis page summarises high level information about the configuration of this ~TiddlyWiki. It is designed to enable users to quickly share relevant aspects of the configuration of their ~TiddlyWiki with others, for example when seeking help in one of the forums. No private or personal information is included, and nothing is shared without being explicitly copied and pasted elsewhere\n\\end intrinsic-lingo-Hint\n\n\\procedure intrinsic-lingo-Drag/Caption()\nDrag this link to copy this tool to another wiki\n\\end intrinsic-lingo-Drag/Caption\n\n\\procedure lingo(title,mode:\"inline\")\n<%if [<title>addprefix<lingo-base>is[shadow]] %>\n\t<$transclude $tiddler={{{ [<title>addprefix<lingo-base>] }}} $mode=<<mode>>/>\n<%else%>\n\t<$transclude $variable={{{ [<title>addprefix[intrinsic-lingo-]] }}} $mode=<<mode>>/>\n<%endif%>\n\\end lingo\n\n\\whitespace trim\n\n\\procedure capture-item(label,value)\n<$action-setfield $tiddler=<<tempWikiInfo>> text={{{ [<tempWikiInfo>get[text]addsuffix<label>addsuffix[: ]addsuffix<value>addsuffix<crlf>] }}}/>\n\\end capture-item\n\n\\procedure capture-item-wikified(label,value)\n<$wikify name=\"text\" text=<<value>> mode=\"inline\">\n\t<$transclude\n\t\t$variable=\"capture-item\"\n\t\tlabel=<<label>>\n\t\tvalue=<<text>>\n\t/>\n</$wikify>\n\\end capture-item-wikified\n\n\\function get.shadow.source() [shadowsource[]]\n\n\\procedure capture-wiki-info(tempWikiInfo)\n<$transclude $variable=\"capture-item-wikified\" label=\"TiddlyWiki Version\" value=\"<<version>>\"/>\n<$transclude $variable=\"capture-item\" label=\"Current palette\" value={{$:/palette}}/>\n<$transclude $variable=\"capture-item\" label=\"Current theme\" value={{$:/theme}}/>\n<$transclude $variable=\"capture-item\" label=\"Current layout\" value={{$:/layout}}/>\n<$transclude $variable=\"capture-item\" label=\"Browser language setting\" value={{$:/info/browser/language}}/>\n<$transclude $variable=\"capture-item\" label=\"Default type for missing tiddlers\" value={{$:/config/DefaultMissingType}}/>\n<$transclude $variable=\"capture-item\" label=\"Auto save setting\" value={{$:/config/AutoSave}}/>\n<$transclude $variable=\"capture-item\" label=\"Code wrapping setting\" value={{$:/themes/tiddlywiki/vanilla/options/codewrapping}}/>\n<$transclude $variable=\"capture-item\" label=\"Sticky titles setting\" value={{$:/themes/tiddlywiki/vanilla/options/stickytitles}}/>\n<$transclude $variable=\"capture-item\" label=\"Sidebar layout setting\" value={{$:/themes/tiddlywiki/vanilla/options/sidebarlayout}}/>\n<$transclude $variable=\"capture-item\" label=\"Auto focus field setting for new tiddlers\" value={{$:/config/AutoFocus}}/>\n<$transclude $variable=\"capture-item\" label=\"Current storyview setting\" value={{$:/view}}/>\n<$transclude $variable=\"capture-item\" label=\"Toolbar text setting\" value={{$:/config/Toolbar/Text}}/>\n<$transclude $variable=\"capture-item\" label=\"Toolbar icon setting\" value={{$:/config/Toolbar/Icons}}/>\n<$transclude $variable=\"capture-item\" label=\"Button class setting\" value={{$:/config/Toolbar/ButtonClass}}/>\n<$transclude $variable=\"capture-item\" label=\"Navigation address bar setting\" value={{$:/config/Navigation/UpdateAddressBar}}/>\n<$transclude $variable=\"capture-item\" label=\"Tiddler opening behaviour setting for navigations from outside the story river\" value={{$:/config/Navigation/openLinkFromOutsideRiver}}/>\n<$transclude $variable=\"capture-item\" label=\"Tiddler opening behaviour setting for navigations from within the story river\" value={{$:/config/Navigation/openLinkFromInsideRiver}}/>\n<$transclude $variable=\"capture-item\" label=\"CamelCase linking setting\" value={{$:/config/WikiParserRules/Inline/wikilink}}/>\n<$transclude $variable=\"capture-item\" label=\"Keyboard shortcuts that have been customised\" value={{{ [all[tiddlers]prefix[$:/config/shortcuts]] +[join[,]] }}}/>\n<$transclude $variable=\"capture-item\" label=\"Disabled plugins\" value={{{ [all[tiddlers]prefix[$:/config/Plugins/Disabled/]] :filter[{!!text}match[yes]] :map[<currentTiddler>removeprefix[$:/config/Plugins/Disabled/]] +[join[,]] }}}/>\n<$transclude $variable=\"capture-item\" label=\"Plugins\" value={{{ [has[plugin-type]sort[]] :filter[<currentTiddler>addprefix[$:/config/Plugins/Disabled/]get[text]else[no]!match[yes]] :map[{!!version}addprefix[ - ]addprefix<currentTiddler>] +[addprefix[  ]addprefix<crlf>join[]] }}}/>\n<$transclude $variable=\"capture-item\" label=\"Stylesheets\" value={{{ [all[shadows+tiddlers]tag[$:/tags/Stylesheet]!is[draft]] :map[is[shadow]addsuffix[ ∈ ]addsuffix<get.shadow.source>else<currentTiddler>] +[addprefix[  ]addprefix<crlf>join[]] }}}/>\n\\end capture-wiki-info\n\n\\procedure template-header()\n<details><summary>Wiki Information</summary><pre><code>\n\n\\end template-header\n\n\\procedure template-footer()\n\n</code></pre></details>\n\\end template-footer\n\n\\procedure display-wiki-info-modal()\n<$let\n\ttempWikiInfo=\"$:/temp/wiki-info\"\n\tcrlf={{{ [charcode[13],[10]] }}}\n>\n\t<$action-sendmessage\n\t\t$message=\"tm-modal\"\n\t\t$param=\"$:/core/ui/ControlPanel/WikiInformation\"\n\t\tisModal=\"yes\"\n\t\ttempWikiInfo=<<tempWikiInfo>>\n\t/>\n\t<$action-deletetiddler $tiddler=<<tempWikiInfo>>/>\n\t<$action-setfield $tiddler=<<tempWikiInfo>> text=<<template-header>>/>\n\t<$transclude\n\t\t$variable=\"capture-wiki-info\"\n\t\ttempWikiInfo=<<tempWikiInfo>>\n\t/>\n\t<$action-setfield $tiddler=<<tempWikiInfo>> text={{{ [<tempWikiInfo>get[text]addsuffix<template-footer>] }}}/>\n</$let>\n\\end display-wiki-info-modal\n\n\\procedure story-content()\n<<lingo title:\"Hint\" mode:\"block\">>\n\n<$button>\n<<display-wiki-info-modal>>\nClick to generate wiki information report\n</$button>\n\n<$link to=\"$:/core/ui/ControlPanel/WikiInformation\">\n<<lingo title:\"Drag/Caption\" mode:\"inline\">>\n</$link>\n\\end story-content\n\n\\procedure modal-content()\n<p>\n\t<$transclude $variable=\"copy-to-clipboard\" src={{{ [<tempWikiInfo>get[text]] }}}/>\n</p>\n<p>\n\t<$edit-text tiddler=<<tempWikiInfo>> tag=\"textarea\" disabled=\"yes\" class=\"tc-max-width\"/>\n</p>\n\\end modal-content\n\n<$transclude $variable={{{ [<isModal>match[yes]then[modal-content]else[story-content]] }}} $mode=\"block\"/>\n"
  },
  {
    "path": "core/wiki/DefaultTiddlers.tid",
    "content": "title: $:/DefaultTiddlers\n\nGettingStarted\n"
  },
  {
    "path": "core/wiki/advancedsearch.tid",
    "content": "title: $:/temp/advancedsearch\n\n"
  },
  {
    "path": "core/wiki/allfields.tid",
    "content": "title: $:/snippets/allfields\n\n\\whitespace trim\n\n\\procedure lingo-base() $:/language/Docs/Fields/\n\n\\function tf.getLingoText() [<lingo-base>] [<title>] +[join[]get[text]]\n\n\\procedure renderfield(title)\n<tr class=\"tc-view-field\">\n\t<td class=\"tc-view-field-name\">\n\t\t''<$text text=<<title>>/>'':\n\t</td>\n\t<td class=\"tc-view-field-value\">\n\t\t//<<tf.getLingoText>>//\n\t</td>\n\t<td class=\"tc-view-field-list\">\n\t\t<$macrocall $name=\"show-filter-count\" filter=`[has[$(title)$]sort[]]`>>\n\t</td>\n</tr>\n\\end\n\n<table class=\"tc-view-field-table\">\n\t<tbody>\n\t\t<!-- <<renderfieldHeader>> -->\n\t\t<$list filter=\"[fields[]sort[title]]\" variable=\"listItem\">\n\t\t\t<$macrocall $name=\"renderfield\" title=<<listItem>>/>\n\t\t</$list>\n\t</tbody>\n</table>\n"
  },
  {
    "path": "core/wiki/config/AnimationDuration.tid",
    "content": "title: $:/config/AnimationDuration\n\n400"
  },
  {
    "path": "core/wiki/config/AutoFocus.tid",
    "content": "title: $:/config/AutoFocus\ntext: title\n"
  },
  {
    "path": "core/wiki/config/AutoSave.tid",
    "content": "title: $:/config/AutoSave\n\nyes"
  },
  {
    "path": "core/wiki/config/BitmapEditorColour.tid",
    "content": "title: $:/config/BitmapEditor/Colour\n\n#444"
  },
  {
    "path": "core/wiki/config/BitmapEditorImageSizes.tid",
    "content": "title: $:/config/BitmapEditor/ImageSizes\n\n[[62px 100px]] [[100px 62px]] [[124px 200px]] [[200px 124px]] [[248px 400px]] [[371px 600px]] [[400px 248px]] [[556px 900px]] [[600px 371px]] [[742px 1200px]] [[900px 556px]] [[1200px 742px]]"
  },
  {
    "path": "core/wiki/config/BitmapEditorLineWidth.tid",
    "content": "title: $:/config/BitmapEditor/LineWidth\n\n3px"
  },
  {
    "path": "core/wiki/config/BitmapEditorLineWidths.tid",
    "content": "title: $:/config/BitmapEditor/LineWidths\n\n0.25px 0.5px 1px 2px 3px 4px 6px 8px 10px 16px 20px 28px 40px 56px 80px"
  },
  {
    "path": "core/wiki/config/BitmapEditorOpacities.tid",
    "content": "title: $:/config/BitmapEditor/Opacities\n\n0.01 0.025 0.05 0.075 0.1 0.15 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0"
  },
  {
    "path": "core/wiki/config/BitmapEditorOpacity.tid",
    "content": "title: $:/config/BitmapEditor/Opacity\n\n1.0"
  },
  {
    "path": "core/wiki/config/DefaultMoreSidebarTab.tid",
    "content": "title: $:/config/DefaultMoreSidebarTab\n\n$:/core/ui/MoreSideBar/Tags"
  },
  {
    "path": "core/wiki/config/DefaultSidebarTab.tid",
    "content": "title: $:/config/DefaultSidebarTab\n\n$:/core/ui/SideBar/Open"
  },
  {
    "path": "core/wiki/config/DefaultTiddlersRetainStory.tid",
    "content": "title: $:/config/ControlPanel/Basics/DefaultTiddlers/RetainStory\n\n[list[$:/StoryList]]"
  },
  {
    "path": "core/wiki/config/DownloadSaverAutoSave.tid",
    "content": "title: $:/config/DownloadSaver/AutoSave\n\nno"
  },
  {
    "path": "core/wiki/config/Drafts-TypingTimeout.tid",
    "content": "title: $:/config/Drafts/TypingTimeout\n\n400"
  },
  {
    "path": "core/wiki/config/EditModeFieldnameFilter.tid",
    "content": "title: $:/config/EditMode/fieldname-filter\nfirst-search-filter: [!is[shadow]!is[system]fields[]search:title<userInput>sort[]] -created -creator -draft.of -draft.title -modified -modifier -tags -text -title -type\nsecond-search-filter: [fields[]search:title<userInput>sort[]] -[!is[shadow]!is[system]fields[]]\n"
  },
  {
    "path": "core/wiki/config/EditTabIndex.tid",
    "content": "title: $:/config/EditTabIndex\ntext: 1"
  },
  {
    "path": "core/wiki/config/EditTemplateBodyFilters.multids",
    "content": "title: $:/config/EditTemplateBodyFilters/\ntags: $:/tags/EditTemplateBodyFilter\n\ncanonical-uri: [has[_canonical_uri]then[$:/core/ui/EditTemplate/body/canonical-uri]]\ndefault: [[$:/core/ui/EditTemplate/body/default]]\n"
  },
  {
    "path": "core/wiki/config/EditTemplateFields.multids",
    "content": "title: $:/config/EditTemplateFields/Visibility/\n\ntitle: hide\ntags: hide\ntext: hide\ncreator: hide\ncreated: hide\nmodified: hide\nmodifier: hide\ntype: hide\ndraft.title: hide\ndraft.of: hide\nrevision: hide\nbag: hide\n"
  },
  {
    "path": "core/wiki/config/EditorEnableImportFilter.tid",
    "content": "title: $:/config/Editor/EnableImportFilter\ntype: text/vnd.tiddlywiki\n\n[all[current]type[text/vnd.tiddlywiki]] [all[current]!has[type]] [all[current]type[text/markdown]] [all[current]type[text/x-markdown]]"
  },
  {
    "path": "core/wiki/config/EditorImportContentTypesFilter.tid",
    "content": "title: $:/config/Editor/ImportContentTypesFilter\ntype: text/vnd.tiddlywiki\n\n[prefix[image/]]"
  },
  {
    "path": "core/wiki/config/EditorToolbarButtons.multids",
    "content": "title: $:/config/EditorToolbarButtons/Visibility/$:/\n\ncore/ui/EditorToolbar/heading-4: hide\ncore/ui/EditorToolbar/heading-5: hide\ncore/ui/EditorToolbar/heading-6: hide\n"
  },
  {
    "path": "core/wiki/config/EditorTypeMappings.multids",
    "content": "title: $:/config/EditorTypeMappings/\n\nimage/gif: bitmap\nimage/webp: bitmap\nimage/heic: bitmap\nimage/heif: bitmap\nimage/jpeg: bitmap\nimage/jpg: bitmap\nimage/png: bitmap\nimage/x-icon: bitmap\ntext/vnd.tiddlywiki: text\n"
  },
  {
    "path": "core/wiki/config/FieldEditorFilters.multids",
    "content": "title: $:/config/FieldEditorFilters/\ntags: $:/tags/FieldEditorFilter\n\ndefault: [[$:/core/ui/EditTemplate/fieldEditor/default]]\n"
  },
  {
    "path": "core/wiki/config/GlobalImportFilter.tid",
    "content": "title: $:/core/config/GlobalImportFilter\ntext: [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!is[draft]] [all[shadows+tiddlers]tag[$:/tags/Global]!is[draft]]\n"
  },
  {
    "path": "core/wiki/config/Manager.multids",
    "content": "title: $:/config/Manager/\n\nShow: tiddlers\nFilter: \nOrder: forward\nSort: title\nSystem: system\nTag: \n"
  },
  {
    "path": "core/wiki/config/ManagerItemState.multids",
    "content": "title: $:/state/popup/manager/item/$:/Manager/\n\nItemMain/RawText: hide"
  },
  {
    "path": "core/wiki/config/MediaQueryTrackers/DarkLightPreferred.tid",
    "content": "title: $:/core/wiki/config/MediaQueryTrackers/DarkLightPreferred\ntags: $:/tags/MediaQueryTracker\nmedia-query: (prefers-color-scheme: dark)\ninfo-tiddler: $:/info/browser/darkmode\ninfo-tiddler-alt: $:/info/darkmode\n"
  },
  {
    "path": "core/wiki/config/MissingLinks.tid",
    "content": "title: $:/config/MissingLinks\ntext: yes\n"
  },
  {
    "path": "core/wiki/config/NavigationUpdateAddressBar.tid",
    "content": "title: $:/config/Navigation/UpdateAddressBar\ntext: no\n"
  },
  {
    "path": "core/wiki/config/NavigationUpdateHistory.tid",
    "content": "title: $:/config/Navigation/UpdateHistory\ntext: no\n"
  },
  {
    "path": "core/wiki/config/NewImageType.tid",
    "content": "title: $:/config/NewImageType\ntext: jpeg\n"
  },
  {
    "path": "core/wiki/config/OfficialPluginLibrary.tid",
    "content": "title: $:/config/OfficialPluginLibrary\ntags: $:/tags/PluginLibrary\nurl: https://tiddlywiki.com/library/v5.4.0/index.html\ncaption: {{$:/language/OfficialPluginLibrary}}\n\n{{$:/language/OfficialPluginLibrary/Hint}}\n"
  },
  {
    "path": "core/wiki/config/OpenLinkFromInsideRiver.tid",
    "content": "title: $:/config/Navigation/openLinkFromInsideRiver\ntext: below"
  },
  {
    "path": "core/wiki/config/OpenLinkFromOutsideRiver.tid",
    "content": "title: $:/config/Navigation/openLinkFromOutsideRiver\ntext: top"
  },
  {
    "path": "core/wiki/config/PageControlButtons.multids",
    "content": "title: $:/config/PageControlButtons/Visibility/$:/\n\ncore/ui/Buttons/advanced-search: hide\ncore/ui/Buttons/close-all: hide\ncore/ui/Buttons/encryption: hide\ncore/ui/Buttons/export-page: hide\ncore/ui/Buttons/fold-all: hide\ncore/ui/Buttons/full-screen: hide\ncore/ui/Buttons/home: hide\ncore/ui/Buttons/refresh: hide\ncore/ui/Buttons/import: hide\ncore/ui/Buttons/language: hide\ncore/ui/Buttons/tag-manager: hide\ncore/ui/Buttons/manager: hide\ncore/ui/Buttons/more-page-actions: hide\ncore/ui/Buttons/network-activity: hide\ncore/ui/Buttons/new-journal: hide\ncore/ui/Buttons/new-image: hide\ncore/ui/Buttons/palette: hide\ncore/ui/Buttons/permaview: hide\ncore/ui/Buttons/print: hide\ncore/ui/Buttons/storyview: hide\ncore/ui/Buttons/timestamp: hide\ncore/ui/Buttons/theme: hide\ncore/ui/Buttons/layout: hide\ncore/ui/Buttons/unfold-all: hide\n"
  },
  {
    "path": "core/wiki/config/PerformanceInstrumentation.tid",
    "content": "title: $:/config/Performance/Instrumentation\ntext: no\n"
  },
  {
    "path": "core/wiki/config/RecentLimit.tid",
    "content": "title: $:/config/RecentLimit\n\n100"
  },
  {
    "path": "core/wiki/config/RegisterPluginTypes.multids",
    "content": "title: $:/config/RegisterPluginType/\n\nplugin: yes\ntheme: no\nlanguage: no\ninfo: yes\nimport: no\n"
  },
  {
    "path": "core/wiki/config/SaveWikiButtonTemplate.tid",
    "content": "title: $:/config/SaveWikiButton/Template\n\n$:/core/save/all"
  },
  {
    "path": "core/wiki/config/SaverFilter.tid",
    "content": "title: $:/config/SaverFilter\n\n[all[]] -[prefix[$:/HistoryList]] -[prefix[$:/StoryList]] -[status[pending]plugin-type[import]] -[[$:/isEncrypted]] -[[$:/UploadName]] -[prefix[$:/state/]] -[prefix[$:/temp/]]\n"
  },
  {
    "path": "core/wiki/config/SearchAutoFocus.tid",
    "content": "title: $:/config/Search/AutoFocus\n\ntrue"
  },
  {
    "path": "core/wiki/config/SearchMinLength.tid",
    "content": "title: $:/config/Search/MinLength\n\n3"
  },
  {
    "path": "core/wiki/config/SearchResultsDefault.tid",
    "content": "title: $:/config/SearchResults/Default\n\n$:/core/ui/DefaultSearchResultList"
  },
  {
    "path": "core/wiki/config/ServerExternalFiltersDefault.tid",
    "content": "title: $:/config/Server/ExternalFilters/[all[tiddlers]!is[system]sort[title]]\ntext: yes\n"
  },
  {
    "path": "core/wiki/config/ShortcutInfo.multids",
    "content": "title: $:/config/ShortcutInfo/\n\nadd-field: {{$:/language/EditTemplate/Fields/Add/Button/Hint}}\nadvanced-search: {{$:/language/Buttons/AdvancedSearch/Hint}}\nadvanced-search-sidebar: {{$:/language/Shortcuts/Input/AdvancedSearch/Hint}}\nbold: {{$:/language/Buttons/Bold/Hint}}\ncancel-edit-tiddler: {{$:/language/Buttons/Cancel/Hint}}\nchange-sidebar-layout: {{$:/language/Shortcuts/SidebarLayout/Hint}}\ndelete-field: {{$:/language/EditTemplate/Field/Remove/Hint}}\nexcise: {{$:/language/Buttons/Excise/Hint}}\nheading-1: {{$:/language/Buttons/Heading1/Hint}}\nheading-2: {{$:/language/Buttons/Heading2/Hint}}\nheading-3: {{$:/language/Buttons/Heading3/Hint}}\nheading-4: {{$:/language/Buttons/Heading4/Hint}}\nheading-5: {{$:/language/Buttons/Heading5/Hint}}\nheading-6: {{$:/language/Buttons/Heading6/Hint}}\ninput-accept: {{$:/language/Shortcuts/Input/Accept/Hint}}\ninput-accept-variant: {{$:/language/Shortcuts/Input/AcceptVariant/Hint}}\ninput-cancel: {{$:/language/Shortcuts/Input/Cancel/Hint}}\ninput-down: {{$:/language/Shortcuts/Input/Down/Hint}}\ninput-tab-left: {{$:/language/Shortcuts/Input/Tab-Left/Hint}}\ninput-tab-right: {{$:/language/Shortcuts/Input/Tab-Right/Hint}}\ninput-up: {{$:/language/Shortcuts/Input/Up/Hint}}\nitalic: {{$:/language/Buttons/Italic/Hint}}\nlayout-switcher: {{$:/language/LayoutSwitcher/Description}}\nlink: {{$:/language/Buttons/Link/Hint}}\nlinkify: {{$:/language/Buttons/Linkify/Hint}}\nlist-bullet: {{$:/language/Buttons/ListBullet/Hint}}\nlist-number: {{$:/language/Buttons/ListNumber/Hint}}\nmono-block: {{$:/language/Buttons/MonoBlock/Hint}}\nmono-line: {{$:/language/Buttons/MonoLine/Hint}}\nnew-image: {{$:/language/Buttons/NewImage/Hint}}\nnew-journal: {{$:/language/Buttons/NewJournal/Hint}}\nnew-tiddler: {{$:/language/Buttons/NewTiddler/Hint}}\nopen-control-panel: {{$:/language/Buttons/OpenControlPanel/Hint}}\npicture: {{$:/language/Buttons/Picture/Hint}}\npreview: {{$:/language/Buttons/Preview/Hint}}\nquote: {{$:/language/Buttons/Quote/Hint}}\nrefresh: {{$:/language/Buttons/Refresh/Hint}}\nsave-tiddler: {{$:/language/Buttons/Save/Hint}}\nsave-wiki: {{$:/language/Buttons/SaveWiki/Hint}}\nsidebar-search: {{$:/language/Buttons/SidebarSearch/Hint}}\nstamp: {{$:/language/Buttons/Stamp/Hint}}\nstrikethrough: {{$:/language/Buttons/Strikethrough/Hint}}\nsubscript: {{$:/language/Buttons/Subscript/Hint}}\nsuperscript: {{$:/language/Buttons/Superscript/Hint}}\ntoggle-sidebar: {{$:/language/Buttons/ToggleSidebar/Hint}}\ntranscludify: {{$:/language/Buttons/Transcludify/Hint}}\nunderline: {{$:/language/Buttons/Underline/Hint}}\n"
  },
  {
    "path": "core/wiki/config/StoryTiddlerTemplateFilters.multids",
    "content": "title: $:/config/StoryTiddlerTemplateFilters/\ntags: $:/tags/StoryTiddlerTemplateFilter\n\ndraft: [is[draft]then{$:/config/ui/EditTemplate}]\ndefault: [{$:/config/ui/ViewTemplate}]\n"
  },
  {
    "path": "core/wiki/config/SwitcherTargets.multids",
    "content": "title: $:/config/SwitcherTargets/\n\nlayout: $:/snippets/LayoutSwitcher\nlanguage: $:/snippets/languageswitcher\npalette: $:/core/ui/ControlPanel/Palette\ntheme: $:/core/ui/ControlPanel/Theme"
  },
  {
    "path": "core/wiki/config/SyncFilter.tid",
    "content": "title: $:/config/SyncFilter\n\n[is[tiddler]] -[[$:/core]] -[[$:/library/sjcl.js]] -[prefix[$:/boot/]] -[prefix[$:/HistoryList]] -[status[pending]plugin-type[import]] -[[$:/isEncrypted]] -[prefix[$:/status/]] -[prefix[$:/state/]] -[prefix[$:/temp/]]\n"
  },
  {
    "path": "core/wiki/config/SyncSystemTiddlersFromServer.tid",
    "content": "title: $:/config/SyncSystemTiddlersFromServer\n\nno"
  },
  {
    "path": "core/wiki/config/TagPillDragFilter.tid",
    "content": "title: $:/core/config/TagPillDragFilter\ntext: [all[current]tagging[]] +[!is[draft]]\n"
  },
  {
    "path": "core/wiki/config/TagsMinLength.tid",
    "content": "title: $:/config/Tags/MinLength\n\n0"
  },
  {
    "path": "core/wiki/config/TextEditorEditorHeightHeight.tid",
    "content": "title: $:/config/TextEditor/EditorHeight/Height\n\n400px"
  },
  {
    "path": "core/wiki/config/TextEditorEditorHeightMode.tid",
    "content": "title: $:/config/TextEditor/EditorHeight/Mode\n\nauto"
  },
  {
    "path": "core/wiki/config/TiddlerColourFilters.multids",
    "content": "title: $:/config/TiddlerColourFilters/\ntags: $:/tags/TiddlerColourFilter\n\ncolor-field: [has[color]then{!!color}]\ndefault: [[$:/config/DefaultTiddlerColour]has[text]get[text]trim[]]\n"
  },
  {
    "path": "core/wiki/config/TiddlerIconFilters.multids",
    "content": "title: $:/config/TiddlerIconFilters/\ntags: $:/tags/TiddlerIconFilter\n\nicon-field: [has[icon]then{!!icon}]\ndefault: [{$:/config/DefaultTiddlerIcon}has[text]]\n"
  },
  {
    "path": "core/wiki/config/TiddlerInfoDefault.tid",
    "content": "title: $:/config/TiddlerInfo/Default\n\n$:/core/ui/TiddlerInfo/Fields"
  },
  {
    "path": "core/wiki/config/TiddlerInfoMode.tid",
    "content": "title: $:/config/TiddlerInfo/Mode\ntext: sticky"
  },
  {
    "path": "core/wiki/config/TitleLinks.tid",
    "content": "title: $:/config/Tiddlers/TitleLinks\n\nno"
  },
  {
    "path": "core/wiki/config/ToolbarButtonClass.tid",
    "content": "title: $:/config/Toolbar/ButtonClass\n\ntc-btn-invisible"
  },
  {
    "path": "core/wiki/config/ToolbarIcons.tid",
    "content": "title: $:/config/Toolbar/Icons\n\nyes"
  },
  {
    "path": "core/wiki/config/ToolbarText.tid",
    "content": "title: $:/config/Toolbar/Text\n\nno"
  },
  {
    "path": "core/wiki/config/ViewTemplateBodyFilters.multids",
    "content": "title: $:/config/ViewTemplateBodyFilters/\ntags: $:/tags/ViewTemplateBodyFilter\n\ntestcase: [tag[$:/tags/wiki-test-spec]type[text/vnd.tiddlywiki-multiple]] [tag[$:/tags/wiki-test-spec-failing]type[text/vnd.tiddlywiki-multiple]] :then[[$:/core/ui/TestCaseTemplate]]\nstylesheet: [tag[$:/tags/Stylesheet]then[$:/core/ui/ViewTemplate/body/rendered-plain-text]]\nhtml: [tag[$:/tags/RawMarkupWikified]] [tag[$:/tags/RawMarkupWikified/TopHead]] [tag[$:/tags/RawMarkupWikified/TopBody]] [tag[$:/tags/RawMarkupWikified/BottomBody]] :then[[$:/core/ui/ViewTemplate/body/rendered-plain-text/html]]\ncore-ui-tags: [tag[$:/tags/PageTemplate]] [tag[$:/tags/EditTemplate]] [tag[$:/tags/ViewTemplate]] [tag[$:/tags/KeyboardShortcut]] [tag[$:/tags/ImportPreview]] [tag[$:/tags/EditPreview]] [tag[$:/tags/EditorToolbar]] [tag[$:/EditorTools]] [tag[$:/tags/Actions]] [tag[$:/tags/ToolbarButtonStyle]] :then[[$:/core/ui/ViewTemplate/body/code]]\nsystem: [prefix[$:/boot/]] [prefix[$:/core/macros]] [prefix[$:/core/save/]] [prefix[$:/core/templates/]]  [prefix[$:/config/]] [prefix[$:/core/config/]] [prefix[$:/info/]] [prefix[$:/language/]] [prefix[$:/languages/]] [prefix[$:/snippets/]]  [prefix[$:/info/]] [prefix[$:/state/]] [prefix[$:/status/]] [prefix[$:/temp/]] :and[!is[image]]  :then[[$:/core/ui/ViewTemplate/body/code]]\ncode-body: [field:code-body[yes]then[$:/core/ui/ViewTemplate/body/code]]\nimport: [field:plugin-type[import]then[$:/core/ui/ViewTemplate/body/import]]\nplugin: [has[plugin-type]then[$:/core/ui/ViewTemplate/body/plugin]]\nhide-body: [field:hide-body[yes]then[$:/core/ui/ViewTemplate/body/blank]]\ndefault: [[$:/core/ui/ViewTemplate/body/default]]\n"
  },
  {
    "path": "core/wiki/config/ViewTemplateSubtitleFilters.multids",
    "content": "title: $:/config/ViewTemplateSubtitleFilters/\ntags: $:/tags/ViewTemplateSubtitleFilter\n\ndefault: [[$:/core/ui/ViewTemplate/subtitle/default]]\n"
  },
  {
    "path": "core/wiki/config/ViewTemplateTagsFilters.multids",
    "content": "title: $:/config/ViewTemplateTagsFilters/\ntags: $:/tags/ViewTemplateTagsFilter\n\ndefault: [[$:/core/ui/ViewTemplate/tags/default]]\n"
  },
  {
    "path": "core/wiki/config/ViewTemplateTitleFilters.multids",
    "content": "title: $:/config/ViewTemplateTitleFilters/\ntags: $:/tags/ViewTemplateTitleFilter\n\nsystem: [prefix[$:/]then[$:/core/ui/ViewTemplate/title/system]]\ndefault: [[$:/core/ui/ViewTemplate/title/default]]\n"
  },
  {
    "path": "core/wiki/config/ViewToolbarButtons.multids",
    "content": "title: $:/config/ViewToolbarButtons/Visibility/$:/\n\ncore/ui/Buttons/clone: hide\ncore/ui/Buttons/close-others: hide\ncore/ui/Buttons/export-tiddler: hide\ncore/ui/Buttons/info: hide\ncore/ui/Buttons/more-tiddler-actions: show\ncore/ui/Buttons/new-here: hide\ncore/ui/Buttons/new-journal-here: hide\ncore/ui/Buttons/open-window: hide\ncore/ui/Buttons/permalink: hide\ncore/ui/Buttons/permaview: hide\ncore/ui/Buttons/delete: hide\ncore/ui/Buttons/fold: hide\ncore/ui/Buttons/fold-bar: hide\ncore/ui/Buttons/fold-others: hide\n"
  },
  {
    "path": "core/wiki/config/shortcuts/shortcuts-linux.multids",
    "content": "title: $:/config/shortcuts-linux/\n\n"
  },
  {
    "path": "core/wiki/config/shortcuts/shortcuts-mac.multids",
    "content": "title: $:/config/shortcuts-mac/\n\nbold: meta-B\nitalic: meta-I\nunderline: meta-U\nnew-image: ctrl-I\nnew-journal: ctrl-J\nnew-tiddler: ctrl-N\nrefresh: meta-R\nsave-wiki: meta-S\n"
  },
  {
    "path": "core/wiki/config/shortcuts/shortcuts-not-linux.multids",
    "content": "title: $:/config/shortcuts-not-linux/\n\n"
  },
  {
    "path": "core/wiki/config/shortcuts/shortcuts-not-mac.multids",
    "content": "title: $:/config/shortcuts-not-mac/\n\nbold: ctrl-B\nitalic: ctrl-I\nunderline: ctrl-U\nnew-image: alt-I\nnew-journal: alt-J\nnew-tiddler: alt-N\nrefresh: ctrl-R\n"
  },
  {
    "path": "core/wiki/config/shortcuts/shortcuts-not-windows.multids",
    "content": "title: $:/config/shortcuts-not-windows/\n\n"
  },
  {
    "path": "core/wiki/config/shortcuts/shortcuts-windows.multids",
    "content": "title: $:/config/shortcuts-windows/\n\n"
  },
  {
    "path": "core/wiki/config/shortcuts/shortcuts.multids",
    "content": "title: $:/config/shortcuts/\n\nadd-field: enter\nadvanced-search: ctrl-shift-A\nadvanced-search-sidebar: alt-Enter\ncancel-edit-tiddler: escape\nchange-sidebar-layout: shift-alt-Down\ndelete-field: shift-alt-D\nexcise: ctrl-E\nsidebar-search: ctrl-shift-F\nheading-1: ctrl-1\nheading-2: ctrl-2\nheading-3: ctrl-3\nheading-4: ctrl-4\nheading-5: ctrl-5\nheading-6: ctrl-6\ninput-accept: Enter\ninput-accept-variant: ctrl-Enter\ninput-cancel: Escape\ninput-down: Down\ninput-tab-left: alt-ctrl-Left\ninput-tab-right: alt-ctrl-Right\ninput-up: Up\nlayout-switcher: ctrl-shift-L\nlink: ctrl-L\nlinkify: alt-shift-L\nlist-bullet: ctrl-shift-L\nlist-number: ctrl-shift-N\nmono-block: ctrl-shift-M\nmono-line: ctrl-M\nopen-control-panel: ctrl-alt-C\npicture: ctrl-shift-I\npreview: alt-P\nquote: ctrl-Q\nsave-tiddler: ctrl+enter\nsave-wiki: ctrl-S\nstamp: ctrl-S\nstrikethrough: ctrl-T\nsubscript: ctrl-shift-B\nsuperscript: ctrl-shift-P\ntoggle-sidebar: alt-shift-S\ntranscludify: alt-shift-T\n"
  },
  {
    "path": "core/wiki/config/ui/EditTemplate.tid",
    "content": "title: $:/config/ui/EditTemplate\ntext: $:/core/ui/EditTemplate\n"
  },
  {
    "path": "core/wiki/config/ui/ViewTemplate.tid",
    "content": "title: $:/config/ui/ViewTemplate\ntext: $:/core/ui/ViewTemplate\n"
  },
  {
    "path": "core/wiki/config/wikilink.tid",
    "content": "title: $:/config/WikiParserRules/Inline/wikilink\n\ndisable"
  },
  {
    "path": "core/wiki/currpalettepreview.tid",
    "content": "title: $:/snippets/currpalettepreview\n\n\\define resolve-colour(macrocall)\n\\import $:/core/macros/utils\n\\whitespace trim\n<$wikify name=\"name\" text=\"\"\"$macrocall$\"\"\">\n<<name>>\n</$wikify>\n\\end\n\\define swatchStyle()\nbackground-color: $(swatchColour)$;\n\\end\n\\define swatch-inner()\n\\whitespace trim\n<$set name=\"swatchColour\" value={{##$(colourResolved)$}}>\n<$list filter=\"[<swatchColour>!prefix[<<colour ]!suffix[>>]]\" variable=\"ignore\">\n<div class=\"tc-swatch\" style=<<swatchStyle>> title=<<swatchTitle>>/>\n&#32;\n</$list>\n<$list filter=\"[<swatchColour>prefix[<<colour ]suffix[>>]]\" variable=\"ignore\">\n<$wikify name=\"colourResolved\" text=\"<$macrocall $name='resolve-colour' macrocall=<<swatchColour>>/>\">\n<<swatch-inner>>\n</$wikify>\n</$list>\n</$set>\n\\end\n\\define swatch()\n\\whitespace trim\n<$set name=\"swatchColour\" value={{##$(colour)$}}>\n<$set name=\"swatchTitle\" value=<<colour>>>\n<$list filter=\"[<swatchColour>!prefix[<<colour ]!suffix[>>]]\" variable=\"ignore\">\n<div class=\"tc-swatch\" style=<<swatchStyle>> title=<<swatchTitle>>/>\n&#32;\n</$list>\n<$list filter=\"[<swatchColour>prefix[<<colour ]suffix[>>]]\" variable=\"ignore\">\n<$wikify name=\"colourResolved\" text=\"<$macrocall $name='resolve-colour' macrocall=<<swatchColour>>/>\">\n<<swatch-inner>>\n</$wikify>\n</$list>\n</$set>\n</$set>\n\\end\n\\whitespace trim\n<div class=\"tc-swatches-horiz\"><$list filter=\"\nforeground\nbackground\nmuted-foreground\nprimary\npage-background\ntab-background\ntiddler-info-background\n\" variable=\"colour\"><<swatch>></$list></div>\n"
  },
  {
    "path": "core/wiki/debugstylesheets.tid",
    "content": "title: $:/snippets/DebugStylesheets\n\n\\whitespace trim\n<style>[test]{list-style:'❌'}</style>\n<ul>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Stylesheet]has[modified]]\" counter=\"n\">\n<style>{{!!text}}[test=\"<<n>>\"]{list-style:disc;}</style>\n<li test=<<n>>><$link/></li>\n</$list>\n</ul>\n"
  },
  {
    "path": "core/wiki/download-wiki-button.tid",
    "content": "title: $:/snippets/download-wiki-button\n\n\\define lingo-base() $:/language/ControlPanel/Tools/Download/\n\\whitespace trim\n<$button class=\"tc-btn-big-green\">\n<$action-sendmessage $message=\"tm-download-file\" $param=\"$:/core/save/all\" filename=\"index.html\"/>\n<<lingo Full/Caption>>&#32;{{$:/core/images/save-button-dynamic}}\n</$button>"
  },
  {
    "path": "core/wiki/language.tid",
    "content": "title: $:/language\n\n$:/languages/en-GB"
  },
  {
    "path": "core/wiki/languageswitcher.tid",
    "content": "title: $:/snippets/languageswitcher\n\n\\whitespace trim\n\\function language.filter() [all[current]field:title{$:/language}]\n\n<$linkcatcher to=\"$:/language\">\n<div class=\"tc-chooser tc-language-chooser\" role=\"listbox\">\n<$list filter=\"[[$:/languages/en-GB]] [plugin-type[language]sort[description]]\">\n\t<div class={{{ [language.filter[]then[tc-chooser-item tc-chosen]else[tc-chooser-item]] }}} lang={{!!name}}>\n\t\t<$link role=\"option\" aria-selected={{{ [language.filter[]then[true]else[false]] }}}>\n\t\t\t<$view field=\"description\">\n\t\t\t\t<$view field=\"name\">\n\t\t\t\t<$view field=\"title\"/>\n\t\t\t\t</$view>\n\t\t\t</$view>\n\t\t</$link>\n\t</div>\n</$list>\n</div>\n</$linkcatcher>"
  },
  {
    "path": "core/wiki/macros/CSS-property.tid",
    "content": "title: $:/core/macros/CSS/property\n\n<!-- CSS property macros -->\n\n<!-- TODO: Deprecate the following CSS macros once 2020 baseline is supported -->\n\n\\procedure margin-start(size)\n\t-webkit-margin-start: <<size>>;\n\tmargin-inline-start: <<size>>;\n\\end\n\n\\procedure margin-end(size)\n\t-webkit-margin-end: <<size>>;\n\tmargin-inline-end: <<size>>;\n\\end\n\n\\procedure padding-start(size)\n\t-webkit-padding-start: <<size>>;\n\tpadding-inline-start: <<size>>;\n\\end\n\n\\procedure padding-end(size)\n\t-webkit-padding-end: <<size>>;\n\tpadding-inline-end: <<size>>;\n\\end\n\n\\procedure margin-inline(start,end)\n\t-webkit-margin-start: <<start>>;\n\tmargin-inline-start: <<start>>;\n\t-webkit-margin-end: <<end>>;\n\tmargin-inline-end: <<end>>;\n\\end\n\n\\procedure padding-inline(start,end)\n\t-webkit-padding-start: <<start>>;\n\tpadding-inline-start: <<start>>;\n\t-webkit-padding-end: <<end>>;\n\tpadding-inline-end: <<end>>;\n\\end\n"
  },
  {
    "path": "core/wiki/macros/CSS.tid",
    "content": "title: $:/core/macros/CSS\ntags: $:/tags/Macro\n\n<!-- Needs to stay that way for backwards compatibility. See GH issue: #8326 -->\n\\define colour(name)\n\\whitespace trim\n<$transclude tiddler={{$:/palette}} index=\"$name$\">\n\t<$transclude tiddler=\"$:/palettes/Vanilla\" index=\"$name$\">\n\t\t<$transclude tiddler=\"$:/config/DefaultColourMappings/$name$\"/>\n\t</$transclude>\n</$transclude>\n\\end\n\n\\define color(name) <<colour $name$>>\n\n\\procedure datauri(title)\n<$macrocall $name=\"makedatauri\" type={{{ [<title>get[type]] }}} text={{{ [<title>get[text]] }}} _canonical_uri={{{ [<title>get[_canonical_uri]] }}}/>\n\\end\n\n\\procedure if-sidebar(text)\n<$reveal state=\"$:/state/sidebar\" type=\"match\" text=\"yes\" default=\"yes\"><<text>></$reveal>\n\\end\n\n\\procedure if-no-sidebar(text)\n<$reveal state=\"$:/state/sidebar\" type=\"nomatch\" text=\"yes\" default=\"yes\"><<text>></$reveal>\n\\end\n\n\\procedure if-background-attachment(text)\n<$reveal state=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\" type=\"nomatch\" text=\"\"><<text>></$reveal>\n\\end\n"
  },
  {
    "path": "core/wiki/macros/colour-picker.tid",
    "content": "title: $:/core/macros/colour-picker\ntags: $:/tags/Macro\n\n\\define colour-picker-update-recent()\n<$action-listops\n\t$tiddler=\"$:/config/ColourPicker/Recent\"\n\t$subfilter=\"$(colour-picker-value)$ [list[$:/config/ColourPicker/Recent]remove[$(colour-picker-value)$]] +[limit[8]]\"\n/>\n\\end\n\n\\define colour-picker-inner(actions)\n<$button tag=\"a\" tooltip=\"\"\"$(colour-picker-value)$\"\"\">\n$(colour-picker-update-recent)$\n<$transclude $variable=\"__actions__\"/>\n\n<span style=\"display:inline-block; background-color: $(colour-picker-value)$; width: 100%; height: 100%; border-radius: 50%;\"/>\n\n</$button>\n\\end\n\n\\define colour-picker-recent-inner(actions)\n\\whitespace trim\n<$set name=\"colour-picker-value\" value=\"$(recentColour)$\">\n<$macrocall $name=\"colour-picker-inner\" actions=<<__actions__>>/>\n</$set>\n\\end\n\n\\define colour-picker-recent(actions)\n\\whitespace trim\n{{$:/language/ColourPicker/Recent}}<$list filter=\"[list[$:/config/ColourPicker/Recent]]\" variable=\"recentColour\">\n&#32;\n<$macrocall $name=\"colour-picker-recent-inner\" actions=<<__actions__>>/>\n</$list>\n\\end\n\n\\define colour-picker(actions)\n\\whitespace trim\n<div class=\"tc-colour-chooser\">\n\n<$macrocall $name=\"colour-picker-recent\" actions=<<__actions__>>/>\n\n---\n\n<$list filter=\"LightPink Pink Crimson LavenderBlush PaleVioletRed HotPink DeepPink MediumVioletRed Orchid Thistle Plum Violet Magenta Fuchsia DarkMagenta Purple MediumOrchid DarkViolet DarkOrchid Indigo BlueViolet MediumPurple MediumSlateBlue SlateBlue DarkSlateBlue Lavender GhostWhite Blue MediumBlue MidnightBlue DarkBlue Navy RoyalBlue CornflowerBlue LightSteelBlue LightSlateGrey SlateGrey DodgerBlue AliceBlue SteelBlue LightSkyBlue SkyBlue DeepSkyBlue LightBlue PowderBlue CadetBlue Azure LightCyan PaleTurquoise Cyan Aqua DarkTurquoise DarkSlateGrey DarkCyan Teal MediumTurquoise LightSeaGreen Turquoise Aquamarine MediumAquamarine MediumSpringGreen MintCream SpringGreen MediumSeaGreen SeaGreen Honeydew LightGreen PaleGreen DarkSeaGreen LimeGreen Lime ForestGreen Green DarkGreen Chartreuse LawnGreen GreenYellow DarkOliveGreen YellowGreen OliveDrab Beige LightGoldenrodYellow Ivory LightYellow Yellow Olive DarkKhaki LemonChiffon PaleGoldenrod Khaki Gold Cornsilk Goldenrod DarkGoldenrod FloralWhite OldLace Wheat Moccasin Orange PapayaWhip BlanchedAlmond NavajoWhite AntiqueWhite Tan BurlyWood Bisque DarkOrange Linen Peru PeachPuff SandyBrown Chocolate SaddleBrown Seashell Sienna LightSalmon Coral OrangeRed DarkSalmon Tomato MistyRose Salmon Snow LightCoral RosyBrown IndianRed Red Brown FireBrick DarkRed Maroon White WhiteSmoke Gainsboro LightGrey Silver DarkGrey Grey DimGrey Black\" variable=\"colour-picker-value\">\n&#32;\n<$macrocall $name=\"colour-picker-inner\" actions=<<__actions__>>/>\n</$list>\n\n---\n\n<$edit-text tiddler=\"$:/config/ColourPicker/New\" tag=\"input\" default=\"\" placeholder=\"\"/>\n&#32;\n<$edit-text tiddler=\"$:/config/ColourPicker/New\" type=\"color\" tag=\"input\"/>\n<$set name=\"colour-picker-value\" value={{$:/config/ColourPicker/New}}>\n<$macrocall $name=\"colour-picker-inner\" actions=<<__actions__>>/>\n</$set>\n\n</div>\n\n\\end\n"
  },
  {
    "path": "core/wiki/macros/copy-to-clipboard.tid",
    "content": "title: $:/core/macros/copy-to-clipboard\ntags: $:/tags/Macro\n\n\\whitespace trim\n\n\\procedure copy-to-clipboard(src,class:\"tc-btn-invisible\",style)\n<$button message=\"tm-copy-to-clipboard\"\n\tparam=<<src>>\n\tclass=<<class>>\n\tstyle=<<style>>\n\ttooltip={{$:/language/Buttons/CopyToClipboard/Hint}}\n>\n\t{{$:/core/images/copy-clipboard}}\n\t<span class=\"tc-tiny-gap-left\">\n\t\t<$text text={{$:/language/Buttons/CopyToClipboard/Caption}}/>\n\t</span>\n</$button>\n\\end\n\n\\procedure copy-to-clipboard-above-right(src,class:\"tc-btn-invisible\",style)\n<div style=\"position: relative;\">\n\t<div style=\"position: absolute; bottom: 0; right: 0;\">\n\t\t<$macrocall $name=\"copy-to-clipboard\" src=<<src>> class=<<class>> style=<<style>>/>\n\t</div>\n</div>\n\\end\n"
  },
  {
    "path": "core/wiki/macros/deprecated.tid",
    "content": "title: $:/core/macros/deprecated\ntags: $:/tags/Macro\n\n<!-- Deprecated Macros -->\n<!-- DO NOT USE THESE MACROS. THEY MAY BE REMOVED AT ANY MOMENT -->\n\n\\define box-shadow(shadow)\n``\n\t\tbox-shadow: $shadow$;\n``\n\\end\n\n\\define filter(filter)\n``\n\t\tfilter: $filter$;\n``\n\\end\n\n\\define transition(transition)\n``\n\t\ttransition: $transition$;\n``\n\\end\n\n\\define transform-origin(origin)\n``\n\t\ttransform-origin: $origin$;\n``\n\\end\n\n\\define background-linear-gradient(gradient)\n``\nbackground-image: linear-gradient($gradient$);\nbackground-image: -moz-linear-gradient($gradient$);\nbackground-image: -webkit-linear-gradient($gradient$);\n``\n\\end\n\n\\define column-count(columns)\n``\ncolumn-count: $columns$;\n``\n\\end"
  },
  {
    "path": "core/wiki/macros/diff.tid",
    "content": "title: $:/core/macros/diff\ntags: $:/tags/Macro\n\n\\whitespace trim\n\n\\procedure compareTiddlerText(sourceTiddlerTitle,sourceSubTiddlerTitle,destTiddlerTitle,destSubTiddlerTitle)\n<$set name=\"source\" tiddler=<<sourceTiddlerTitle>> subtiddler=<<sourceSubTiddlerTitle>>>\n\t<$set name=\"dest\" tiddler=<<destTiddlerTitle>> subtiddler=<<destSubTiddlerTitle>>>\n\t\t<$diff-text source=<<source>> dest=<<dest>>/>\n\t</$set>\n</$set>\n\\end\n\n\\procedure compareTiddlers(sourceTiddlerTitle,sourceSubTiddlerTitle,destTiddlerTitle,destSubTiddlerTitle,exclude)\n<table class=\"tc-diff-tiddlers\">\n\t<tbody>\n\t\t<$set name=\"sourceFields\" filter=\"[<sourceTiddlerTitle>fields[]sort[]]\">\n\t\t\t<$set name=\"destFields\" filter=\"[<destSubTiddlerTitle>subtiddlerfields<destTiddlerTitle>sort[]]\">\n\t\t\t<$list filter=\"[enlist<sourceFields>] [enlist<destFields>] -[enlist<exclude>] +[sort[]]\" variable=\"fieldName\">\n\t\t\t\t<tr>\n\t\t\t\t\t<th>\n\t\t\t\t\t\t<$text text=<<fieldName>>/>\n\t\t\t\t\t</th>\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<$set name=\"source\" tiddler=<<sourceTiddlerTitle>> subtiddler=<<sourceSubTiddlerTitle>> field=<<fieldName>>>\n\t\t\t\t\t\t\t<$set name=\"dest\" tiddler=<<destTiddlerTitle>> subtiddler=<<destSubTiddlerTitle>> field=<<fieldName>>>\n\t\t\t\t\t\t\t\t<$diff-text source=<<source>> dest=<<dest>>>&#32;</$diff-text>\n\t\t\t\t\t\t\t</$set>\n\t\t\t\t\t\t</$set>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</$list>\n\t\t\t</$set>\n\t\t</$set>\n\t</tbody>\n</table>\n\\end\n"
  },
  {
    "path": "core/wiki/macros/dumpvariables.tid",
    "content": "title: $:/core/macros/dumpvariables\ntags: $:/tags/Macro\n\n\\define dumpvariables()\n\\whitespace trim\n<ul>\n<$list filter=\"[variables[]]\" variable=\"varname\">\n<li>\n<strong><code><$text text=<<varname>>/></code></strong>:<br/>\n<$codeblock code={{{ [<varname>getvariable[]] }}}/>\n</li>\n</$list>\n</ul>\n\\end\n"
  },
  {
    "path": "core/wiki/macros/export.tid",
    "content": "title: $:/core/macros/export\ntags: $:/tags/Macro\n\n\\function exportButtonFilename(baseFilename)\n[<baseFilename>] [<extension>] +[join[]]\n\\end\n\n\\procedure exportButton(exportFilter:\"[!is[system]sort[title]]\",lingoBase,baseFilename:\"tiddlers\")\n\\whitespace trim\n<$let hint={{{ [<lingoBase>addsuffix[Hint]get[text]] }}}\n\tcaption={{{  [<lingoBase>addsuffix[Caption]get[text]] }}}\n>\n\t<span class=\"tc-popup-keep\">\n\t\t<$button popup=<<qualify \"$:/state/popup/export\">>\n\t\t\ttooltip=<<hint>>\n\t\t\taria-label=<<caption>>\n\t\t\tclass=<<tv-config-toolbar-class>>\n\t\t\tselectedClass=\"tc-selected\"\n\t\t\tdragFilter=<<exportFilter>>\n\t\t>\n\t\t\t<%if [<tv-config-toolbar-icons>match[yes]] %>\n\t\t\t\t{{$:/core/images/export-button}}\n\t\t\t<%endif%>\n\t\t\t<%if [<tv-config-toolbar-text>match[yes]] %>\n\t\t\t\t<span class=\"tc-btn-text\"><$text text=<<caption>>/></span>\n\t\t\t<%endif%>\n\t\t</$button>\n\t</span>\n</$let>\n<$reveal state=<<qualify \"$:/state/popup/export\">> type=\"popup\" position=\"below\" animate=\"yes\">\n\t<div class=\"tc-drop-down\">\n\t\t<$set name=\"count\" value={{{ [subfilter<exportFilter>count[]] }}}>\n\t\t\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Exporter]]\">\n\t\t\t\t<$list filter=\"[<currentTiddler>has[condition]subfilter{!!condition}limit[1]] ~[<currentTiddler>!has[condition]then[true]]\"\n\t\t\t\t\tvariable=\"ignore\"\n\t\t\t\t>\n\t\t\t\t\t<$button class=\"tc-btn-invisible\">\n\t\t\t\t\t\t<$action-sendmessage $message=\"tm-download-file\"\n\t\t\t\t\t\t\t$param=<<currentTiddler>>\n\t\t\t\t\t\t\texportFilter=<<exportFilter>>\n\t\t\t\t\t\t\tfilename={{{ [<baseFilename>addsuffix{!!extension}] }}}\n\t\t\t\t\t\t\ttype={{!!file-type}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<$action-deletetiddler $tiddler=<<qualify \"$:/state/popup/export\">>/>\n\t\t\t\t\t\t<$transclude field=\"description\"/>\n\t\t\t\t\t</$button>\n\t\t\t\t</$list>\n\t\t\t</$list>\n\t\t</$set>\n\t</div>\n</$reveal>\n\\end\n"
  },
  {
    "path": "core/wiki/macros/image-picker.tid",
    "content": "created: 20170715180840889\nmodified: 20170715180914005\ntags: $:/tags/Macro\ntitle: $:/core/macros/image-picker\ntype: text/vnd.tiddlywiki\n\n\\define image-picker-thumbnail(actions)\n<$button tag=\"a\" tooltip=\"\"\"$(imageTitle)$\"\"\"><$transclude $variable=\"__actions__\"/><$transclude tiddler=<<imageTitle>>/></$button>\n\\end\n\n\\define image-picker-list(filter,actions)\n\\whitespace trim\n<$list filter=\"\"\"$filter$\"\"\" variable=\"imageTitle\">\n<$macrocall $name=\"image-picker-thumbnail\" actions=<<__actions__>>/>\n&#32;\n</$list>\n\\end\n\n\\define image-picker(actions,filter:\"[all[shadows+tiddlers]is[image]] -[type[application/pdf]] +[!has[draft.of]$subfilter$sort[title]]\",subfilter:\"\")\n\\whitespace trim\n<div class=\"tc-image-chooser\">\n<$vars state-system=<<qualify \"$:/state/image-picker/system\">>>\n<$checkbox tiddler=<<state-system>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"hide\">\n&#32;\n{{$:/language/SystemTiddlers/Include/Prompt}}\n</$checkbox>\n<$reveal state=<<state-system>> type=\"match\" text=\"hide\" default=\"hide\" tag=\"div\">\n<$macrocall $name=\"image-picker-list\" filter=\"\"\"$filter$ +[!is[system]]\"\"\" actions=<<__actions__>>/>\n</$reveal>\n<$reveal state=<<state-system>> type=\"nomatch\" text=\"hide\" default=\"hide\" tag=\"div\">\n<$macrocall $name=\"image-picker-list\" filter=\"\"\"$filter$\"\"\" actions=<<__actions__>>/>\n</$reveal>\n</$vars>\n</div>\n\\end\n\n\\define image-picker-include-tagged-images(actions)\n<$macrocall $name=\"image-picker\" filter=\"[all[shadows+tiddlers]is[image]] [all[shadows+tiddlers]tag[$:/tags/Image]] -[type[application/pdf]] +[!has[draft.of]sort[title]]\" actions=<<__actions__>>/>\n\\end\n"
  },
  {
    "path": "core/wiki/macros/keyboard-driven-input.tid",
    "content": "title: $:/core/macros/keyboard-driven-input\ntags: $:/tags/Macro\n\n\\procedure prefix.bracket() [\n\\procedure suffix.bracket() ]\n\n\\function tf.change-input-tab.next-tab() [[all]addprefix<prefix.bracket>addsuffix<prefix.bracket>addsuffix[shadows+tiddlers]addsuffix<suffix.bracket>addsuffix[tag<tag>!has]addsuffix<prefix.bracket>addsuffix[draft.of]addsuffix<suffix.bracket>addsuffix<beforeafter>addsuffix[<currentState>]addsuffix<suffix.bracket>addsuffix[ :else]addsuffix<prefix.bracket>addsuffix<prefix.bracket>addsuffix<beforeafter>addsuffix<suffix.bracket>addsuffix[match]addsuffix<prefix.bracket>addsuffix[after]addsuffix<suffix.bracket>addsuffix[then<firstTab>]addsuffix<suffix.bracket>addsuffix[ :else]addsuffix<prefix.bracket>addsuffix<prefix.bracket>addsuffix<beforeafter>addsuffix<suffix.bracket>addsuffix[match]addsuffix<prefix.bracket>addsuffix[before]addsuffix<suffix.bracket>addsuffix[then<lastTab>]addsuffix<suffix.bracket>]\n\n\\procedure change-input-tab(stateTitle,tag,beforeafter,defaultState,actions)\n\\whitespace trim\n<$set name=\"tabsList\" filter=\"[<explicitTabList>!is[blank]enlist-input[]] :else[all[shadows+tiddlers]tag<tag>!has[draft.of]]\">\n\t<$let\n\t\tcurrentState={{{ [<stateTitle>!is[missing]get[text]] :else[<defaultState>] }}}\n\t\tfirstTab={{{ [enlist<tabsList>nth[1]] }}}\n\t\tlastTab={{{ [enlist<tabsList>last[]] }}}\n\t\tnextTabSubFilter=<<tf.change-input-tab.next-tab>>\n\t\tnextTab={{{ [subfilter<nextTabSubFilter>] }}}\n\t>\n\t\t<$action-setfield $tiddler=<<stateTitle>> text=<<nextTab>>/>\n\t\t<<actions>>\n\t</$let>\n</$set>\n\\end\n\n\\procedure keyboard-input-actions()\n\\whitespace trim\n<%if [<index>match[]] %>\n\t<$action-setfield $tiddler=<<storeTitle>> text={{{ [<tiddler>get<field>] }}}/>\n<% endif %>\n<%if [<index>!match[]] %>\n\t<$action-setfield $tiddler=<<storeTitle>> text={{{ [<tiddler>getindex<index>] }}}/>\n<% endif %>\n\\end\n\n\\procedure input-next-actions-inner()\n\\whitespace trim\n<%if [<nextItem>minlength[1]] %>\n\t<$action-setfield $tiddler=<<selectionStateTitle>> text=<<nextItem>>/>\n\t<%if [<index>match[]] %>\n\t\t<$action-setfield $tiddler=<<tiddler>> $field=<<field>> $value={{{ [<nextItem>] :and[splitregexp[(?:.(?!-))+$]] }}}/>\n\t<% endif %>\n\t<%if [<index>!match[]] %>\n\t\t<$action-setfield $tiddler=<<tiddler>> $index=<<index>> $value={{{ [<nextItem>] :and[splitregexp[(?:.(?!-))+$]] }}}/>\n\t<% endif %>\n\t<$action-setfield $tiddler=<<refreshTitle>> text=\"yes\"/>\n<% endif %>\n\\end\n\n\\procedure input-next-actions-after()\n\\whitespace trim\n<%if [<storeTitle>get[text]minlength<filterMinLength>] [<filterMinLength>match[0]] %>\n\t<$let\n\t\tuserInput={{{ [<storeTitle>get[text]] }}}\n\t\tselectedItem={{{ [<selectionStateTitle>get[text]] }}}\n\t\tconfigTiddler={{{ [subfilter<configTiddlerFilter>] }}}\n\t\tprimaryListFilter={{{ [<configTiddler>get<firstSearchFilterField>] }}}\n\t\tsecondaryListFilter={{{ [<configTiddler>get<secondSearchFilterField>] }}}\n\t>\n\t\t<$set\n\t\t\tname=\"filteredList\"\n\t\t\tfilter=\"[subfilter<primaryListFilter>addsuffix[-primaryList]] :all[subfilter<secondaryListFilter>addsuffix[-secondaryList]]\"\n\t\t>\n\t\t\t<$let\n\t\t\t\tnextItem={{{ [enlist<filteredList>after<selectedItem>] :else[enlist<filteredList>nth[1]] }}}\n\t\t\t\tfirstItem={{{ [enlist<filteredList>nth[1]] }}}\n\t\t\t\tlastItem={{{ [enlist<filteredList>last[]] }}}\n\t\t\t>\n\t\t\t\t<%if [<selectedItem>match<firstItem>!match<lastItem>] [<selectedItem>!match<firstItem>!match<lastItem>] %>\n\t\t\t\t\t<<input-next-actions-inner>>\n\t\t\t\t<%elseif [<selectedItem>match<lastItem>!match<firstItem>] %>\n\t\t\t\t\t<$set name=\"nextItem\" value={{{ [<userInput>addsuffix[-userInput]] }}}>\n\t\t\t\t\t\t<<input-next-actions-inner>>\n\t\t\t\t\t</$set>\n\t\t\t\t<%elseif [<selectedItem>match<firstItem>match<lastItem>] %>\n\t\t\t\t\t<$set name=\"nextItem\" value={{{ [<userInput>addsuffix[-userInput]] }}}>\n\t\t\t\t\t\t<<input-next-actions-inner>>\n\t\t\t\t\t</$set>\n\t\t\t\t<% endif %>\n\t\t\t</$let>\n\t\t</$set>\n\t</$let>\n<% endif %>\n\\end\n\n\\procedure input-next-actions-before()\n\\whitespace trim\n<%if [<storeTitle>get[text]minlength<filterMinLength>] [<filterMinLength>match[0]] %>\n\t<$let\n\t\tuserInput={{{ [<storeTitle>get[text]] }}}\n\t\tselectedItem={{{ [<selectionStateTitle>get[text]] }}}\n\t\tconfigTiddler={{{ [subfilter<configTiddlerFilter>] }}}\n\t\tprimaryListFilter={{{ [<configTiddler>get<firstSearchFilterField>] }}}\n\t\tsecondaryListFilter={{{ [<configTiddler>get<secondSearchFilterField>] }}}\n\t>\n\t\t<$set\n\t\t\tname=\"filteredList\"\n\t\t\tfilter=\"[subfilter<primaryListFilter>addsuffix[-primaryList]] :all[subfilter<secondaryListFilter>addsuffix[-secondaryList]]\"\n\t\t>\n\t\t\t<$let\n\t\t\t\tnextItem={{{ [enlist<filteredList>before<selectedItem>] :else[enlist<filteredList>reverse[]nth[1]] }}}\n\t\t\t\tfirstItem={{{ [enlist<filteredList>nth[1]] }}}\n\t\t\t\tlastItem={{{ [enlist<filteredList>last[]] }}}\n\t\t\t>\n\t\t\t\t<%if [<selectedItem>match<firstItem>!match<lastItem>] %>\n\t\t\t\t\t<$set name=\"nextItem\" value={{{ [<userInput>addsuffix[-userInput]] }}}>\n\t\t\t\t\t\t<<input-next-actions-inner>>\n\t\t\t\t\t</$set>\n\t\t\t\t<%elseif [<selectedItem>match<lastItem>!match<firstItem>] [<selectedItem>!match<firstItem>!match<lastItem>] %>\n\t\t\t\t\t<<input-next-actions-inner>>\n\t\t\t\t<%elseif [<selectedItem>match<firstItem>match<lastItem>] %>\n\t\t\t\t\t<$set name=\"nextItem\" value={{{ [<userInput>addsuffix[-userInput]] }}}>\n\t\t\t\t\t\t<<input-next-actions-inner>>\n\t\t\t\t\t</$set>\n\t\t\t\t<% endif %>\n\t\t\t</$let>\n\t\t</$set>\n\t</$let>\n<% endif %>\n\\end\n\n\\procedure keyboard-driven-input(tiddler,storeTitle,field:\"text\",index:\"\",tag:\"input\",type,focus:\"\",inputAcceptActions,inputAcceptVariantActions,inputCancelActions,placeholder:\"\",default:\"\",class,focusPopup,rows,minHeight,tabindex,size,autoHeight,filterMinLength:\"0\",refreshTitle,selectionStateTitle,cancelPopups:\"\",configTiddlerFilter,firstSearchFilterField:\"first-search-filter\",secondSearchFilterField:\"second-search-filter\")\n\\whitespace trim\n\\procedure keyboard-driven-input-actions()\n<%if [<event-key-descriptor>match[((input-accept))]] %>\n<$transclude $variable=inputAcceptActions $fillignore=yes />\n<%elseif [<event-key-descriptor>match[((input-accept-variant))]] %>\n<$transclude $variable=inputAcceptVariantActions $fillignore=yes />\n<%elseif [<event-key-descriptor>match[((input-up))]] %>\n<$transclude $variable=input-next-actions-before $fillignore=yes />\n<%elseif [<event-key-descriptor>match[((input-down))]] %>\n<$transclude $variable=input-next-actions-after $fillignore=yes />\n<%elseif [<event-key-descriptor>match[((input-cancel))]] %>\n<$transclude $variable=inputCancelActions $fillignore=yes />\n<%endif%>\n\\end keyboard-driven-input-actions\n\n<$keyboard key=\"((input-accept)) ((input-accept-variant)) ((input-up)) ((input-down)) ((input-cancel))\" actions=<<keyboard-driven-input-actions>>>\n\t<$edit-text\n\t\ttiddler=<<tiddler>> field=<<field>> index=<<index>>\n\t\tinputActions=<<keyboard-input-actions>> tag=<<tag>> class=<<class>>\n\t\tplaceholder=<<placeholder>> default=<<default>> focusPopup=<<focusPopup>>\n\t\tfocus=<<focus>> type=<<type>> rows=<<rows>> minHeight=<<minHeight>>\n\t\ttabindex=<<tabindex>> size=<<size>> autoHeight=<<autoHeight>>\n\t\trefreshTitle=<<refreshTitle>> cancelPopups=<<cancelPopups>>\n\t/>\n</$keyboard>\n\\end keyboard-driven-input\n"
  },
  {
    "path": "core/wiki/macros/lingo.tid",
    "content": "title: $:/core/macros/lingo\ntags: $:/tags/Macro\n\n\\define lingo-base()\n$:/language/\n\\end\n\n\\define lingo(title)\n{{$(lingo-base)$$title$}}\n\\end\n"
  },
  {
    "path": "core/wiki/macros/list.tid",
    "content": "title: $:/core/macros/list\ntags: $:/tags/Macro\n\n\\define list-links(filter,type:\"ul\",subtype:\"li\",class:\"\",emptyMessage,field:\"caption\")\n\\whitespace trim\n<$genesis $type=<<__type__>> class=<<__class__>>>\n\t<$list filter=<<__filter__>> emptyMessage=<<__emptyMessage__>>>\n\t\t<$genesis $type=<<__subtype__>>>\n\t\t\t<$link to={{!!title}}>\n\t\t\t\t<$let tv-wikilinks=\"no\">\n\t\t\t\t\t<$transclude field=<<__field__>>>\n\t\t\t\t\t\t<$view field=\"title\"/>\n\t\t\t\t\t</$transclude>\n\t\t\t\t</$let>\n\t\t\t</$link>\n\t\t</$genesis>\n\t</$list>\n</$genesis>\n\\end\n\n\\define list-links-draggable-drop-actions()\n<$action-listops $tiddler=<<targetTiddler>> $field=<<targetField>> $subfilter=\"+[insertbefore<actionTiddler>,<currentTiddler>]\"/>\n\\end\n\n\\define list-links-draggable(tiddler,field:\"list\",emptyMessage,type:\"ul\",subtype:\"li\",class:\"\",itemTemplate,displayField:\"caption\",startactions,endactions)\n\\whitespace trim\n<$set name=\"_tiddler\" value=\"\"\"$tiddler$\"\"\" emptyValue=<<currentTiddler>> >\n\t<$let field-reference={{{ [<_tiddler>] \"!!\" [[$field$]] +[join[]] }}}\n\t\ttargetTiddler=<<_tiddler>>\n\t\ttargetField=\"\"\"$field$\"\"\"\n\t>\n\t\t<span class=\"tc-links-draggable-list\">\n\t\t\t<$genesis $type=<<__type__>> class=\"$class$\">\n\t\t\t\t<$list filter=\"[list<field-reference>]\" emptyMessage=<<__emptyMessage__>>>\n\t\t\t\t\t<$droppable\n\t\t\t\t\t\tactions=<<list-links-draggable-drop-actions>>\n\t\t\t\t\t\ttag=\"\"\"$subtype$\"\"\"\n\t\t\t\t\t\tenable=<<tv-enable-drag-and-drop>>\n\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"tc-droppable-placeholder\"/>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<$transclude tiddler=<<__itemTemplate__>>>\n\t\t\t\t\t\t\t\t<$link to={{!!title}}\n\t\t\t\t\t\t\t\t\tstartactions=<<__startactions__>>\n\t\t\t\t\t\t\t\t\tendactions=<<__endactions__>>\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<$let tv-wikilinks=\"no\">\n\t\t\t\t\t\t\t\t\t\t<$transclude field=<<__displayField__>>>\n\t\t\t\t\t\t\t\t\t\t\t<$view field=\"title\"/>\n\t\t\t\t\t\t\t\t\t\t</$transclude>\n\t\t\t\t\t\t\t\t\t</$let>\n\t\t\t\t\t\t\t\t</$link>\n\t\t\t\t\t\t\t</$transclude>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</$droppable>\n\t\t\t\t</$list>\n\t\t\t\t<$tiddler tiddler=\"\">\n\t\t\t\t\t<$droppable\n\t\t\t\t\t\tactions=<<list-links-draggable-drop-actions>> \n\t\t\t\t\t\ttag=\"div\"\n\t\t\t\t\t\tenable=<<tv-enable-drag-and-drop>>\n\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"tc-droppable-placeholder\">\n\t\t\t\t\t\t\t{{$:/core/images/blank}}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div style=\"height:0.5em;\"/>\n\t\t\t\t\t</$droppable>\n\t\t\t\t</$tiddler>\n\t\t\t</$genesis>\n\t\t</span>\n\t</$let>\n</$set>\n\\end\n\n\\define list-tagged-draggable-drop-actions(tag)\n\\whitespace trim\n<!-- Save the current ordering of the tiddlers with this tag -->\n<$set name=\"order\" filter=\"[<__tag__>tagging[]]\">\n\t<!-- Remove any list-after or list-before fields from the tiddlers with this tag -->\n\t<$list filter=\"[<__tag__>tagging[]]\">\n\t\t<$action-deletefield $field=\"list-before\"/>\n\t\t<$action-deletefield $field=\"list-after\"/>\n\t</$list>\n\t<!-- Save the new order to the Tag Tiddler -->\n\t<$action-listops $tiddler=<<__tag__>> $field=\"list\" $filter=\"+[enlist<order>] +[insertbefore<actionTiddler>,<currentTiddler>]\"/>\n\t<!-- Make sure the newly added item has the right tag -->\n\t<!-- Removing this line makes dragging tags within the dropdown work as intended -->\n\t<!--<$action-listops $tiddler=<<actionTiddler>> $tags=<<__tag__>>/>-->\n\t<!-- Using the following 5 lines as replacement makes dragging titles from outside into the dropdown apply the tag -->\n\t<$list filter=\"[<actionTiddler>!contains:tags<__tag__>]\">\n\t\t<$fieldmangler tiddler=<<actionTiddler>>>\n\t\t\t<$action-sendmessage $message=\"tm-add-tag\" $param=<<__tag__>>/>\n\t\t</$fieldmangler>\n\t</$list>\n</$set>\n\\end\n\n\\define list-tagged-draggable(tag,subFilter,emptyMessage,itemTemplate,elementTag:\"div\",storyview:\"\",displayField:\"title\",startactions,endactions)\n\\whitespace trim\n<span class=\"tc-tagged-draggable-list\">\n\t<$set name=\"tag\" value=<<__tag__>>>\n\t\t<$list\n\t\t\tfilter=\"[<__tag__>tagging[]$subFilter$]\"\n\t\t\temptyMessage=<<__emptyMessage__>>\n\t\t\tstoryview=<<__storyview__>>\n\t\t>\n\t\t\t<$genesis $type=<<__elementTag__>> class=\"tc-menu-list-item\">\n\t\t\t\t<$droppable\n\t\t\t\t\tactions=\"\"\"<$macrocall $name=\"list-tagged-draggable-drop-actions\" tag=<<__tag__>>/>\"\"\"\n\t\t\t\t\tenable=<<tv-enable-drag-and-drop>>\n\t\t\t\t>\n\t\t\t\t\t<$genesis $type=<<__elementTag__>> class=\"tc-droppable-placeholder\"/>\n\t\t\t\t\t<$genesis $type=<<__elementTag__>>>\n\t\t\t\t\t\t<$transclude tiddler=<<__itemTemplate__>>>\n\t\t\t\t\t\t\t<$link to={{!!title}}\n\t\t\t\t\t\t\t\tstartactions=<<__startactions__>>\n\t\t\t\t\t\t\t\tendactions=<<__endactions__>>\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<$let tv-wikilinks=\"no\">\n\t\t\t\t\t\t\t\t\t<$transclude field=<<__displayField__>>>\n\t\t\t\t\t\t\t\t\t\t<$view field=\"title\"/>\n\t\t\t\t\t\t\t\t\t</$transclude>\n\t\t\t\t\t\t\t\t</$let>\n\t\t\t\t\t\t\t</$link>\n\t\t\t\t\t\t</$transclude>\n\t\t\t\t\t</$genesis>\n\t\t\t\t</$droppable>\n\t\t\t</$genesis>\n\t\t</$list>\n\t\t<$tiddler tiddler=\"\">\n\t\t\t<$droppable\n\t\t\t\tactions=\"\"\"<$macrocall $name=\"list-tagged-draggable-drop-actions\" tag=<<__tag__>>/>\"\"\"\n\t\t\t\tenable=<<tv-enable-drag-and-drop>>\n\t\t\t>\n\t\t\t\t<$genesis $type=<<__elementTag__>> class=\"tc-droppable-placeholder\"/>\n\t\t\t\t<$genesis $type=<<__elementTag__>> style=\"height:0.5em;\"/>\n\t\t\t</$droppable>\n\t\t</$tiddler>\n\t</$set>\n</span>\n\\end\n"
  },
  {
    "path": "core/wiki/macros/show-filter-count.tid",
    "content": "title: $:/core/macros/show-filter-count\ntags: $:/tags/Macro\n\n\\whitespace trim\n\n\\procedure show-filter-count(filter)\n<$button class=\"tc-btn-invisible\">\n\t<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $value=<<filter>>/>\n\t<$action-setfield $tiddler=\"$:/temp/advancedsearch/input\" $value=<<filter>>/>\n\t<$action-setfield $tiddler=\"$:/temp/advancedsearch/refresh\" text=\"yes\"/>\n\t<$action-setfield $tiddler=\"$:/state/tab--1498284803\" $value=\"$:/core/ui/AdvancedSearch/Filter\"/>\n\t<$action-navigate $to=\"$:/AdvancedSearch\"/>\n\t<$action-sendmessage $message=\"tm-focus-selector\" $param=\".tc-advanced-search input\"/>\n\t<span class=\"tc-small-gap-right\">''<$count filter=<<filter>>/>''</span>\n\t{{$:/core/images/advanced-search-button}}\n</$button>\n\\end"
  },
  {
    "path": "core/wiki/macros/tabs.tid",
    "content": "title: $:/core/macros/tabs\ntags: $:/tags/Macro\ncode-body: yes\n\n\\define tabs-button()\n\\whitespace trim\n<$button\n\tset=<<tabsState>>\n\tsetTo=<<currentTab>>\n\tdefault=<<__default__>>\n\tselectedClass=\"tc-tab-selected\"\n\tselectedAria=\"aria-selected\"\n\ttooltip={{!!tooltip}}\n\trole=\"tab\"\n\tdata-tab-title=<<currentTab>>\n>\n\t<$tiddler tiddler=<<save-currentTiddler>>>\n\t\t<$set name=\"tv-wikilinks\" value=\"no\">\n\t\t\t<$transclude tiddler=<<__buttonTemplate__>> mode=\"inline\">\n\t\t\t\t<$transclude tiddler=<<currentTab>> field=\"caption\">\n\t\t\t\t\t<$macrocall $name=\"currentTab\" $type=\"text/plain\" $output=\"text/plain\"/>\n\t\t\t\t</$transclude>\n\t\t\t</$transclude>\n\t\t</$set>\n\t</$tiddler>\n\t<<__actions__>>\n</$button>\n\\end\n\n\\define tabs-tab()\n\\whitespace trim\n<$set name=\"save-currentTiddler\" value=<<currentTiddler>>>\n\t<$tiddler tiddler=<<currentTab>>>\n\t\t<<tabs-button>>\n\t</$tiddler>\n</$set>\n\\end\n\n\\define tabs-tab-list()\n\\whitespace trim\n<$list filter=<<__tabsList__>> variable=\"currentTab\" storyview=\"pop\">\n\t<<tabs-tab>>\n</$list>\n\\end\n\n\\define tabs-tab-body()\n\\whitespace trim\n<$list filter=<<__tabsList__>> variable=\"currentTab\">\n\t<$reveal type=\"match\" state=<<tabsState>> text=<<currentTab>> default=<<__default__>> retain=<<__retain__>> tag=\"div\">\n\t\t<$transclude tiddler=<<__template__>> mode=\"block\">\n\t\t\t<$transclude tiddler=<<currentTab>> mode=\"block\"/>\n\t\t</$transclude>\n\t</$reveal>\n</$list>\n\\end\n\n\\define tabs(tabsList,default,state:\"$:/state/tab\",class,template,buttonTemplate,retain,actions,explicitState)\n\\whitespace trim\n<$qualify title=<<__state__>> name=\"qualifiedState\">\n\t<$let tabsState={{{ [<__explicitState__>minlength[1]] ~[<qualifiedState>] }}}>\n\t\t<div class={{{ [[tc-tab-set]addsuffix[ ]addsuffix<__class__>] }}} role=\"tablist\">\n\t\t\t<div class={{{ [[tc-tab-buttons]addsuffix[ ]addsuffix<__class__>] }}}>\n\t\t\t\t<<tabs-tab-list>>\n\t\t\t</div>\n\t\t\t<div class={{{ [[tc-tab-divider]addsuffix[ ]addsuffix<__class__>] }}}/>\n\t\t\t<div class={{{ [[tc-tab-content]addsuffix[ ]addsuffix<__class__>] }}} role=\"tabpanel\">\n\t\t\t\t<<tabs-tab-body>>\n\t\t\t</div>\n\t\t</div>\n\t</$let>\n</$qualify>\n\\end"
  },
  {
    "path": "core/wiki/macros/tag-picker.tid",
    "content": "title: $:/core/macros/tag-picker\ntags: $:/tags/Macro\nfirst-search-filter: [subfilter<tagListFilter>!is[system]search:title<userInput>]\nsecond-search-filter: [subfilter<tagListFilter>is[system]search:title<userInput>]\n\n<!--\n\tFields: \"first-search-filter\", \"second-search-filter\" are assigned to the keyboard-driven input macro with parameter: \"configTiddlerFilter\"\n\tThey __need to be the same__ as used for variables: \"nonSystemTagsFilter\" and \"systemTagsFilter\". See code below!\n-->\n\n\\whitespace trim\n\n<!-- tf.tagpicker-dropdown-id is needed if several tap-pickers are shown in one tiddler -->\n\\function tf.tagpicker-dropdown-id()\n\t[<qualify $:/state/popup/tags-auto-complete>]\n\t[[$(saveTiddler)$-[$(tagField)$-$(tagListFilter)$]substitute[]sha256[]] :and[join[/]]\n\\end\n\n\\function tf.tagpicker-dropdown-class() [<tf.tagpicker-dropdown-id>sha256[]addprefix[tc-]]\n\\function tf.get-tagpicker-focus-selector() [<tf.tagpicker-dropdown-class>addprefix[.]] .tc-popup-handle :and[join[ ]]\n\n<!-- clean up temporary tiddlers, so the next \"pick\" starts with a clean input -->\n<!-- This could probably be optimized / removed if we would use different temp-tiddlers\n\t(future improvement because keeping track is complex for humans)\n-->\n\\procedure delete-tag-state-tiddlers()\n<$action-deletetiddler $filter=\"[<newTagNameTiddler>] [<storeTitle>] [<tagSelectionState>]\"/>\n\\end\n\n<!-- trigger __toggle tag__ by keyboard -->\n\\procedure add-tag-actions()\n<$let tag=<<_tf.getTag>> >\n\t<$action-listops $tiddler=<<saveTiddler>> $field=<<tagField>> $subfilter=':and[toggle<tag>trim[]]'/>\n\t<%if [<tag>] :intersection[<saveTiddler>get<tagField>enlist-input[]] %>\n\t\t<!-- tag has been removed - do nothing -->\n\t<%else%>\n\t\t<<actions>>\n\t<%endif%>\n\t<<delete-tag-state-tiddlers>>\n\t<$action-setfield $tiddler=<<refreshTitle>> text=\"yes\"/>\n</$let>\n\\end\n<!-- <$action-log  /> -->\n\n<!-- ESC key removes the text from the input\nThe second ESC tries to close the \"draft tiddler\"\n-->\n\\procedure clear-tags-actions-inner()\n<%if [<storeTitle>has[text]] :else[<newTagNameTiddler>has[text]] %>\n\t<<delete-tag-state-tiddlers>>\n<%else%>\n\t\t<<cancel-delete-tiddler-actions \"cancel\">>\n<%endif%>\n\\end\n\n<!-- triggered by keyboard only -->\n\\procedure clear-tags-actions()\n<$let userInput=<<_tf.getUserInput>> >\n\t<!-- this list __cannot__ be transformed to conditional IF. The list variable is used! -->\n\t<$list filter=\"[<newTagNameTiddler>get[text]!match<userInput>]\" >\n\t\t<$list-empty>\n\t\t\t<<clear-tags-actions-inner>>\n\t\t</$list-empty>\n\t\t<$action-setfield $tiddler=<<newTagNameTiddler>> text=<<userInput>>/>\n\t\t<$action-setfield $tiddler=<<refreshTitle>> text=\"yes\"/>\n\t</$list>\n</$let>\n\\end\n\n<!-- similar to add-tag-actions __but__ add-only -->\n\\procedure add-button-actions()\n<$action-listops $tiddler=<<saveTiddler>> $field=<<tagField>> $subfilter=\"[<tag>trim[]]\"/>\n<<actions>>\n<<delete-tag-state-tiddlers>>\n<$action-sendmessage $message=\"tm-focus-selector\" $param=<<tf.get-tagpicker-focus-selector>>/>\n\\end\n<!-- <$action-log /> -->\n\n<!-- create dropdown list -->\n\\procedure tag-picker-listTags(filter, suffix, empty)\n<$let userInput=<<_tf.getUserInput>> >\n\t<$list filter=\"[<userInput>minlength{$:/config/Tags/MinLength}limit[1]]\"\n\t\temptyMessage=\"<div class='tc-search-results'>{{$:/language/Search/Search/TooShort}}</div>\" variable=\"listItem\"\n\t>\n\t\t<$list filter=<<filter>> variable=\"tag\">\n\t\t\t<$list-empty>\n\t\t\t\t<span class=\"tc-small-gap-left\"><<empty>></span>\n\t\t\t</$list-empty>\n\t\t\t<!-- The buttonClasses filter is used to define tc-tag-button-selected state -->\n\t\t\t<!-- tf.get-tagpicker-focus-selector has to be resolved for $:/core/ui/TagPickerTagTemplate,\n\t\t\t\tothwerwise qualify in tf.tagpicker-dropdown-id causes problems -->\n\t\t\t<$let currentTiddler=<<tag>>\n\t\t\t\tbutton-classes=`tc-btn-invisible ${[<tag>addsuffix<suffix>] :except[<tagSelectionState>get[text]] :then[[]] ~tc-tag-button-selected }$`\n\t\t\t\tget-tagpicker-focus-selector=`${[<tf.get-tagpicker-focus-selector>]}$`\n\t\t\t>\n\t\t\t\t{{||$:/core/ui/TagPickerTagTemplate}}\n\t\t\t</$let>\n\t\t</$list>\n\t</$list>\n</$let>\n\\end\n\n<!-- tag-picker-inner is the main function -->\n\\procedure tag-picker-inner()\n<div class={{{ [[tc-edit-add-tag]] [<tf.tagpicker-dropdown-class>] :and[join[ ]] }}}>\n\t<div class=\"tc-edit-add-tag-ui\">\n\t\t<span class=\"tc-add-tag-name tc-small-gap-right\">\n\t\t\t<$transclude $variable=\"keyboard-driven-input\"\n\t\t\t\ttiddler=<<newTagNameTiddler>>\n\t\t\t\tstoreTitle=<<storeTitle>>\n\t\t\t\trefreshTitle=<<refreshTitle>>\n\t\t\t\tselectionStateTitle=<<tagSelectionState>>\n\t\t\t\tinputAcceptActions=<<add-tag-actions>>\n\t\t\t\tinputAcceptVariantActions=<<save-tiddler-actions>>\n\t\t\t\tinputCancelActions=<<clear-tags-actions>>\n\t\t\t\ttag=\"input\"\n\t\t\t\tplaceholder={{$:/language/EditTemplate/Tags/Add/Placeholder}}\n\t\t\t\tfocusPopup=<<tf.tagpicker-dropdown-id>>\n\t\t\t\tclass=\"tc-edit-texteditor tc-popup-handle\"\n\t\t\t\ttabindex=<<tabIndex>>\n\t\t\t\tfocus={{{ [{!!draft.of}is[tiddler]then{$:/config/AutoFocusEdit}match[tags]then[true]] :else[{$:/config/AutoFocus}match[tags]then[true]] :else[[false]] }}}\n\t\t\t\tfilterMinLength={{$:/config/Tags/MinLength}}\n\t\t\t\tcancelPopups=<<cancelPopups>>\n\t\t\t\tconfigTiddlerFilter=\"[[$:/core/macros/tag-picker]]\"\n\t\t\t/>\n\t\t</span>\n\t\t<$button popup=<<tf.tagpicker-dropdown-id>> class=\"tc-btn-invisible tc-btn-dropdown\"\n\t\t\ttooltip={{$:/language/EditTemplate/Tags/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Tags/Dropdown/Caption}}\n\t\t>\n\t\t\t{{$:/core/images/down-arrow}}\n\t\t</$button>\n\t\t<%if [<storeTitle>has[text]] %>\n\t\t\t<$button actions=<<delete-tag-state-tiddlers>> class=\"tc-btn-invisible tc-small-gap tc-btn-dropdown\"\n\t\t\t\ttooltip={{$:/language/EditTemplate/Tags/ClearInput/Hint}} aria-label={{$:/language/EditTemplate/Tags/ClearInput/Caption}}\n\t\t\t>\n\t\t\t\t{{$:/core/images/close-button}}\n\t\t\t</$button>\n\t\t<%endif%>\n\t\t<span class=\"tc-add-tag-button tc-small-gap-left\">\n\t\t\t<$let tag=<<_tf.getTag>>>\n\t\t\t\t<$button set=<<newTagNameTiddler>> actions=<<add-button-actions>> >\n\t\t\t\t\t{{$:/language/EditTemplate/Tags/Add/Button}}\n\t\t\t\t</$button>\n\t\t\t</$let>\n\t\t</span>\n\t</div>\n\t<div class=\"tc-block-dropdown-wrapper\">\n\t\t<%if [<tf.tagpicker-dropdown-id>has[text]] %>\n\t\t\t<div class=\"tc-block-dropdown tc-block-tags-dropdown\">\n\t\t\t\t<$transclude $variable=\"tag-picker-listTags\" filter=<<nonSystemTagsFilter>> suffix=\"-primaryList\" empty={{$:/language/EditTemplate/Tags/EmptyMessage}}/>\n\t\t\t\t<hr>\n\t\t\t\t<$transclude $variable=\"tag-picker-listTags\" filter=<<systemTagsFilter>> suffix=\"-secondaryList\" empty={{$:/language/EditTemplate/Tags/EmptyMessage/System}}/>\n\t\t\t</div>\n\t\t<%endif%>\n\t</div>\n</div>\n\\end\n\n<!-- prepare all variables for tag-picker keyboard handling -->\n\\procedure tag-picker(actions, tagField:\"tags\", tiddler, tagListFilter:\"[tags[]sort[]]\")\n\n\\function _tf.getUserInput() [<storeTitle>get[text]]\n\\function _tf.getTag() [<newTagNameTiddler>get[text]]\n<!-- Use this function if tag-picker is a stand alone macro. Otherwise use \"newTagNameTiddler\" defined for fieldmangler in EditTemplate -->\n\\function _tf.makeTagNameTiddler() [[$:/temp/NewTagName]] [<tagField>!match[tags]] :and[join[/]] [<qualify>] :and[join[]]\n\n<!-- keep those variables because they may \"bleed\" into macros using old syntax -->\n<!-- \"nonSystemTagsFilter\", \"systemTagsFilter\" __need to be the same__ as fields: \"first-search-filter\", \"second-search-filter\" -->\n<$let\n\tpalette={{$:/palette}}\n\tcolourA={{{ [<palette>getindex[foreground]] }}}\n\tcolourB={{{ [<palette>getindex[background]] }}}\n\tfallbackTarget={{{ [<palette>getindex[tag-background]] }}}\n\n\tsaveTiddler={{{ [<tiddler>is[blank]then<currentTiddler>else<tiddler>] }}}\n\n\tnewTagNameTiddler={{{ [[newTagNameTiddler]is[variable]then<newTagNameTiddler>] :else[<_tf.makeTagNameTiddler>] }}}\n\tstoreTitle={{{ [[$:/temp/NewTagName/input]] [<tagField>!match[tags]] :and[join[/]] [<qualify>] :and[join[]] }}}\n\n\tnewTagNameSelectionTiddlerQualified=<<qualify \"$:/temp/NewTagName/selected-item\">>\n\ttagSelectionState={{{ [<newTagNameSelectionTiddler>!match[]] :else[<newTagNameSelectionTiddlerQualified>] }}}\n\n\trefreshTitle=<<qualify \"$:/temp/NewTagName/refresh\">>\n\n\tnonSystemTagsFilter=\"[subfilter<tagListFilter>!is[system]search:title<userInput>]\"\n\tsystemTagsFilter=\"[subfilter<tagListFilter>is[system]search:title<userInput>]\"\n\n\tcancelPopups=\"yes\"\n>\n\t<$transclude $variable=\"tag-picker-inner\"/>\n</$let>\n\\end\n"
  },
  {
    "path": "core/wiki/macros/tag.tid",
    "content": "title: $:/core/macros/tag\ntags: $:/tags/Macro\n\n\\define tag-pill-styles()\nbackground-color:$(backgroundColor)$;\ncolor:$(foregroundColor)$;\n\\end\n\n<!-- This has no whitespace trim to avoid modifying $actions$ -->\n\\define tag-pill-inner(tag,icon,colour,fallbackTarget,colourA,colourB,element-tag,element-attributes,actions)\n\\whitespace trim\n<$let\n\tforegroundColor=<<contrastcolour target:\"\"\"$colour$\"\"\" fallbackTarget:\"\"\"$fallbackTarget$\"\"\" colourA:\"\"\"$colourA$\"\"\" colourB:\"\"\"$colourB$\"\"\">>\n\tbackgroundColor=<<__colour__>>\n>\n<$element-tag$\n\t$element-attributes$\n\tclass=\"tc-tag-label tc-btn-invisible\"\n\tstyle=<<tag-pill-styles>>\n>\n\t<<__actions__>>\n\t<$transclude tiddler=<<__icon__>>/>\n\t<span class={{{ [<__tag__>is[missing]then[tc-tag-missing]else[tc-tag-exists]] }}}>\n\t\t<$view tiddler=<<__tag__>> field=\"title\" format=\"text\" />\n\t</span>\n</$element-tag$>\n</$let>\n\\end\n\n\\define tag-pill-body(tag,icon,colour,palette,element-tag,element-attributes,actions)\n\\whitespace trim\n<$macrocall $name=\"tag-pill-inner\"\n\ttag=<<__tag__>>\n\ticon=<<__icon__>>\n\tcolour=<<__colour__>>\n\tfallbackTarget={{$palette$##tag-background}}\n\tcolourA={{$palette$##foreground}}\n\tcolourB={{$palette$##background}}\n\telement-tag=<<__element-tag__>>\n\telement-attributes=<<__element-attributes__>>\n\tactions=<<__actions__>>\n/>\n\\end\n\n\\define tag-pill(tag,element-tag:\"span\",element-attributes:\"\",actions:\"\")\n\\whitespace trim\n<span class=\"tc-tag-list-item\" data-tag-title=<<__tag__>>>\n\t<$let currentTiddler=<<__tag__>>>\n\t\t<$macrocall $name=\"tag-pill-body\"\n\t\t\ttag=<<__tag__>>\n\t\t\ticon={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerIconFilter]!is[draft]get[text]] }}}\n\t\t\tcolour={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerColourFilter]!is[draft]get[text]] }}}\n\t\t\tpalette={{$:/palette}}\n\t\t\telement-tag=<<__element-tag__>>\n\t\t\telement-attributes=<<__element-attributes__>>\n\t\t\tactions=<<__actions__>>/>\n\t</$let>\n</span>\n\\end\n\n\\define tag(tag)\n{{$tag$||$:/core/ui/TagTemplate}}\n\\end\n"
  },
  {
    "path": "core/wiki/macros/testcase.tid",
    "content": "title: $:/core/macros/testcase\ntags: $:/tags/Macro\n\n\\whitespace trim\n\n\\procedure testcase(tiddler)\n<$tiddler tiddler=<<tiddler>>>\n<$transclude $tiddler=\"$:/core/ui/TestCaseTemplate\">\n</$tiddler>\n\\end\n"
  },
  {
    "path": "core/wiki/macros/thumbnails.tid",
    "content": "title: $:/core/macros/thumbnails\ntags: $:/tags/Macro\n\n<!-- This macro does not use \\whitespace trim because it could affect the caption -->\n\\define thumbnail(link,icon,color,background-color,image,caption,width:\"280\",height:\"157\")\n<$link to=\"\"\"$link$\"\"\"><div class=\"tc-thumbnail-wrapper\"\n><div\n\tclass=\"tc-thumbnail-image\"\n\tstyle=\"width:$width$px;height:$height$px;\"><$reveal\n\ttype=\"nomatch\"\n\ttext=\"\"\n\tdefault=\"\"\"$image$\"\"\"\n\ttag=\"div\"\n\tstyle=\"width:$width$px;height:$height$px;\"\n>[img[$image$]]</$reveal><$reveal\n\ttype=\"match\"\n\ttext=\"\"\n\tdefault=\"\"\"$image$\"\"\"\n\ttag=\"div\"\n\tclass=\"tc-thumbnail-background\"\n\tstyle=\"width:$width$px;height:$height$px;background-color:$background-color$;\"\n></$reveal></div><div\n\tclass=\"tc-thumbnail-icon\"\n\tstyle=\"color:$color$;\"\n>$icon$</div><div class=\"tc-thumbnail-caption\">$caption$</div></div></$link>\n\\end\n\n\\define thumbnail-right(link,icon,color,background-color,image,caption,width:\"280\",height:\"157\")\n<div class=\"tc-thumbnail-right-wrapper\"><<thumbnail \"\"\"$link$\"\"\" \"\"\"$icon$\"\"\" \"\"\"$color$\"\"\" \"\"\"$background-color$\"\"\" \"\"\"$image$\"\"\" \"\"\"$caption$\"\"\" \"\"\"$width$\"\"\" \"\"\"$height$\"\"\">></div>\n\\end\n\n\\define list-thumbnails(filter,width:\"280\",height:\"157\")\n<$list filter=\"\"\"$filter$\"\"\"><$macrocall $name=\"thumbnail\" link={{!!link}} icon={{!!icon}} color={{!!color}} background-color={{!!background-color}} image={{!!image}} caption={{!!caption}} width=\"\"\"$width$\"\"\" height=\"\"\"$height$\"\"\"/></$list>\n\\end\n"
  },
  {
    "path": "core/wiki/macros/timeline.tid",
    "content": "tags: $:/tags/Macro\ntitle: $:/core/macros/timeline\n\n<!-- Override one or both of the following two macros with a global or local macro of the same name \nif you need to change how titles are displayed on a timeline -->\n\n\\procedure timeline-title() <$view field=\"title\"/>\n\\procedure timeline-link() <$link to={{!!title}}><<timeline-title>></$link>\n\\procedure timeline(limit:\"100\",format:\"DDth MMM YYYY\",subfilter:\"\",dateField:\"modified\")\n\\whitespace trim\n<div class=\"tc-timeline\">\n<$set name=\"tv-tids\" filter=`[!is[system]$(subfilter)$has<dateField>!sort<dateField>limit<limit>]`>\n<$list filter=\"[enlist<tv-tids>eachday<dateField>]\">\n<div class=\"tc-menu-list-item\">\n<$view field=<<dateField>> format=\"date\" template=<<format>>/>\n<$list filter=`[enlist<tv-tids>sameday:$(dateField)${!!$(dateField)$}]`>\n<div class=\"tc-menu-list-subitem\">\n<<timeline-link>>\n</div>\n</$list>\n</div>\n</$list>\n</$set>\n</div>\n\\end\n"
  },
  {
    "path": "core/wiki/macros/toc.tid",
    "content": "title: $:/core/macros/toc\ntags: $:/tags/Macro\n\n\\define toc-open-icon() $:/core/images/down-arrow\n\\define toc-closed-icon() $:/core/images/right-arrow\n\n\\define toc-caption()\n\\whitespace trim\n<span class=\"tc-toc-caption tc-tiny-gap-left\">\n<$set name=\"tv-wikilinks\" value=\"no\">\n  <$transclude field=\"caption\">\n    <$view field=\"title\"/>\n  </$transclude>\n</$set>\n</span>\n\\end\n\n\\define toc-level-indicator()\n\\whitespace trim\n<%if [<__level__>compare:number:gt[0]]%>\n  <%if [<currentTiddler>tagging[]] %>\n    <span class=\"tc-tiny-gap-left\">{{$:/core/images/new-button}}</span>\n  <%else%>\n    <span class=\"tc-tiny-gap-left\">{{$:/core/images/blank}}</span>\n  <%endif%>\n<% endif %>\n\\end\n\n\\define toc-body(tag,sort:\"\",itemClassFilter,exclude,path,level)\n\\whitespace trim\n<ol class=\"tc-toc\">\n  <$list filter=\"\"\"[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[subfilter<__exclude__>]\"\"\">\n    <$let item=<<currentTiddler>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}>\n      <$set name=\"excluded\" filter=\"[subfilter<__exclude__>] [<__tag__>]\">\n        <$set name=\"toc-item-class\" filter=<<__itemClassFilter__>> emptyValue=\"toc-item-selected\" value=\"toc-item\">\n          <li class=<<toc-item-class>>>\n            <$list filter=\"[all[current]toc-link[no]]\" >\n              <$list-empty>\n                <!-- link to target-field or currentTiddler -->\n                <$link to={{{ [<currentTiddler>get[target]else<currentTiddler>] }}}>\n                  <<toc-level-indicator>>\n                  <<toc-caption>>\n                </$link>\n              </$list-empty>\n              <!-- toc-link = no -->\n              <<toc-level-indicator>>\n              <<toc-caption>>\n            </$list>\n            <$let _level={{{ [<__level__>subtract[1]] }}}>\n              <%if [<_level>compare:number:gt[0]]%>\n                <$macrocall $name=\"toc-body\" tag=<<item>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<excluded>> path=<<path>> level=<<_level>>/>\n              <%elseif [<_level>match[-1]]%>\n                <!-- show full toc, no level defined -->\n                <$macrocall $name=\"toc-body\" tag=<<item>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<excluded>> path=<<path>>/>\n              <%endif%>\n            </$let>\n          </li>\n        </$set>\n      </$set>\n    </$let>\n  </$list>\n</ol>\n\\end\n\n\\define toc(tag,sort:\"\",itemClassFilter:\"\",exclude,level)\n\\whitespace trim\n<$let __tag__={{{ [<__tag__>is[blank]then<currentTiddler>else<__tag__>] }}} >\n  <$macrocall $name=\"toc-body\"  tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> level=<<__level__>>/>\n</$let>\n\\end\n\n\\define toc-linked-expandable-body(tag,sort:\"\",itemClassFilter,exclude,path)\n\\whitespace trim\n<!-- helper function -->\n<$qualify name=\"toc-state\" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>\n  <$set name=\"toc-item-class\" filter=<<__itemClassFilter__>> emptyValue=\"toc-item-selected\" value=\"toc-item\">\n    <li class=<<toc-item-class>>>\n    <$link to={{{ [<currentTiddler>get[target]else<currentTiddler>] }}}>\n      <$reveal type=\"nomatch\" stateTitle=<<toc-state>> text=\"open\">\n        <$button setTitle=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible tc-popup-keep\">\n          <$transclude tiddler=<<toc-closed-icon>> />\n        </$button>\n      </$reveal>\n      <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n        <$button setTitle=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible tc-popup-keep\">\n          <$transclude tiddler=<<toc-open-icon>> />\n        </$button>\n      </$reveal>\n      <<toc-caption>>\n    </$link>\n    <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n      <$macrocall $name=\"toc-expandable\" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>\n    </$reveal>\n    </li>\n  </$set>\n</$qualify>\n\\end\n\n\\define toc-unlinked-expandable-body(tag,sort:\"\",itemClassFilter,exclude,path)\n\\whitespace trim\n<!-- helper function -->\n<$qualify name=\"toc-state\" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>\n  <$set name=\"toc-item-class\" filter=<<__itemClassFilter__>> emptyValue=\"toc-item-selected\" value=\"toc-item\">\n    <li class=<<toc-item-class>>>\n      <$reveal type=\"nomatch\" stateTitle=<<toc-state>> text=\"open\">\n        <$button setTitle=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible tc-popup-keep\">\n        <$transclude tiddler=<<toc-closed-icon>> />\n          <<toc-caption>>\n        </$button>\n      </$reveal>\n      <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n        <$button setTitle=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible tc-popup-keep\">\n          <$transclude tiddler=<<toc-open-icon>> />\n          <<toc-caption>>\n        </$button>\n      </$reveal>\n      <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n        <$macrocall $name=\"toc-expandable\" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>\n      </$reveal>\n    </li>\n  </$set>\n</$qualify>\n\\end\n\n\\define toc-expandable-empty-message()\n<$macrocall $name=\"toc-linked-expandable-body\" tag=<<tag>> sort=<<sort>> itemClassFilter=<<itemClassFilter>> exclude=<<excluded>> path=<<path>>/>\n\\end\n\n\\define toc-expandable(tag,sort:\"\",itemClassFilter:\"\",exclude,path)\n\\whitespace trim\n<$let __tag__={{{ [<__tag__>is[blank]then<currentTiddler>else<__tag__>] }}} tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}>\n  <$set name=\"excluded\" filter=\"[subfilter<__exclude__>] [<__tag__>]\">\n    <ol class=\"tc-toc toc-expandable\">\n      <$list filter=\"\"\"[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[subfilter<__exclude__>]\"\"\">\n        <$list filter=\"[all[current]toc-link[no]]\" emptyMessage=<<toc-expandable-empty-message>> >\n          <$macrocall $name=\"toc-unlinked-expandable-body\" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=\"\"\"itemClassFilter\"\"\" exclude=<<excluded>> path=<<path>> />\n        </$list>\n      </$list>\n    </ol>\n  </$set>\n</$let>\n\\end\n\n\\define toc-linked-selective-expandable-body(tag,sort:\"\",itemClassFilter,exclude,path)\n\\whitespace trim\n<$qualify name=\"toc-state\" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>\n  <$set name=\"toc-item-class\" filter=<<__itemClassFilter__>> emptyValue=\"toc-item-selected\" value=\"toc-item\" >\n    <li class=<<toc-item-class>>>\n      <$link to={{{ [<currentTiddler>get[target]else<currentTiddler>] }}}>\n          <$list filter=\"[all[current]tagging[]$sort$]  -[subfilter<__exclude__>] +[limit[1]]\" variable=\"ignore\" emptyMessage=\"<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button>\">\n          <$reveal type=\"nomatch\" stateTitle=<<toc-state>> text=\"open\">\n            <$button setTitle=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible tc-popup-keep\">\n            <$transclude tiddler=<<toc-closed-icon>> />\n            </$button>\n          </$reveal>\n          <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n            <$button setTitle=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible tc-popup-keep\">\n              <$transclude tiddler=<<toc-open-icon>> />\n            </$button>\n          </$reveal>\n        </$list>\n        <<toc-caption>>\n      </$link>\n      <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n        <$macrocall $name=\"toc-selective-expandable\" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>\n      </$reveal>\n    </li>\n  </$set>\n</$qualify>\n\\end\n\n\\define toc-unlinked-selective-expandable-body(tag,sort:\"\",itemClassFilter,exclude,path)\n\\whitespace trim\n<$qualify name=\"toc-state\" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>\n  <$set name=\"toc-item-class\" filter=<<__itemClassFilter__>> emptyValue=\"toc-item-selected\" value=\"toc-item\">\n    <li class=<<toc-item-class>>>\n      <$list filter=\"[all[current]tagging[]$sort$] -[subfilter<__exclude__>] +[limit[1]]\" variable=\"ignore\" emptyMessage=\"\"\"<$button class=\"tc-btn-invisible\">{{$:/core/images/blank}}</$button><span class=\"toc-item-muted\"><<toc-caption>></span>\"\"\">\n        <$reveal type=\"nomatch\" stateTitle=<<toc-state>> text=\"open\">\n          <$button setTitle=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible tc-popup-keep\">\n            <$transclude tiddler=<<toc-closed-icon>> />\n            <<toc-caption>>\n          </$button>\n        </$reveal>\n        <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n          <$button setTitle=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible tc-popup-keep\">\n            <$transclude tiddler=<<toc-open-icon>> />\n            <<toc-caption>>\n          </$button>\n        </$reveal>\n      </$list>\n      <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n        <$macrocall $name=\"toc-selective-expandable\" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>\n      </$reveal>\n    </li>\n  </$set>\n</$qualify>\n\\end\n\n\\define toc-selective-expandable-empty-message()\n<$macrocall $name=\"toc-linked-selective-expandable-body\" tag=<<tag>> sort=<<sort>> itemClassFilter=<<itemClassFilter>> exclude=<<excluded>> path=<<path>>/>\n\\end\n\n\\define toc-selective-expandable(tag,sort:\"\",itemClassFilter,exclude,path)\n\\whitespace trim\n<$let __tag__={{{ [<__tag__>is[blank]then<currentTiddler>else<__tag__>] }}} tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}>\n  <$set name=\"excluded\" filter=\"[subfilter<__exclude__>] [<__tag__>]\">\n    <ol class=\"tc-toc toc-selective-expandable\">\n      <$list filter=\"\"\"[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[subfilter<__exclude__>]\"\"\">\n        <$list filter=\"[all[current]toc-link[no]]\" variable=\"ignore\" emptyMessage=<<toc-selective-expandable-empty-message>> >\n          <$macrocall $name=\"toc-unlinked-selective-expandable-body\" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<excluded>> path=<<path>>/>\n        </$list>\n      </$list>\n    </ol>\n  </$set>\n</$let>\n\\end\n\n\\define toc-tabbed-external-nav(tag,sort:\"\",selectedTiddler:\"$:/temp/toc/selectedTiddler\",unselectedText,missingText,template:\"\",exclude)\n\\whitespace trim\n<$let __tag__={{{ [<__tag__>is[blank]then<currentTiddler>else<__tag__>] }}}>\n  <$tiddler tiddler={{{ [<__selectedTiddler__>get[text]] }}}>\n    <div class=\"tc-tabbed-table-of-contents\">\n      <$linkcatcher to=<<__selectedTiddler__>>>\n        <div class=\"tc-table-of-contents\">\n          <$macrocall $name=\"toc-selective-expandable\" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=\"[all[current]] -[<__selectedTiddler__>get[text]]\" exclude=<<__exclude__>>/>\n        </div>\n      </$linkcatcher>\n      <div class=\"tc-tabbed-table-of-contents-content\">\n        <$reveal stateTitle=<<__selectedTiddler__>> type=\"nomatch\" text=\"\">\n          <$transclude mode=\"block\" tiddler=<<__template__>>>\n            <h1><<toc-caption>></h1>\n            <$transclude mode=\"block\">$missingText$</$transclude>\n          </$transclude>\n        </$reveal>\n        <$reveal stateTitle=<<__selectedTiddler__>> type=\"match\" text=\"\">\n          $unselectedText$\n        </$reveal>\n      </div>\n    </div>\n  </$tiddler>\n</$let>\n\\end\n\n\\define toc-tabbed-internal-nav(tag,sort:\"\",selectedTiddler:\"$:/temp/toc/selectedTiddler\",unselectedText,missingText,template:\"\",exclude)\n\\whitespace trim\n<$let __tag__={{{ [<__tag__>is[blank]then<currentTiddler>else<__tag__>] }}}>\n  <$linkcatcher to=<<__selectedTiddler__>>>\n    <$macrocall $name=\"toc-tabbed-external-nav\" tag=<<__tag__>> sort=<<__sort__>> selectedTiddler=<<__selectedTiddler__>> unselectedText=<<__unselectedText__>> missingText=<<__missingText__>> template=<<__template__>> exclude=<<__exclude__>> />\n  </$linkcatcher>\n</$let>\n\\end\n"
  },
  {
    "path": "core/wiki/macros/translink.tid",
    "content": "title: $:/core/macros/translink\ntags: $:/tags/Macro\n\n\\define translink(title,mode:\"block\")\n\\whitespace trim\n<$list filter=\"[<__mode__>match[block]]\">\n<div class=\"tc-translink\">\n<div>\n<$link to=\"\"\"$title$\"\"\">\n<h1><$text text=\"\"\"$title$\"\"\"/></h1>\n</$link>\n<$transclude tiddler=\"\"\"$title$\"\"\" mode=\"block\">\n<$set name=\"currentTiddler\" value=\"\"\"$title$\"\"\"><$transclude tiddler=\"$:/language/MissingTiddler/Hint\"/></$set>\n</$transclude>\n</div>\n</div>\n</$list>\n<$list filter=\"[<__mode__>match[inline]]\">\n<span class=\"tc-translink\">\n<$link to=\"\"\"$title$\"\"\">\n<$text text=\"\"\"$title$\"\"\"/>\n</$link>\n&#32;(<$transclude tiddler=\"\"\"$title$\"\"\" mode=\"inline\">\n<$set name=\"currentTiddler\" value=\"\"\"$title$\"\"\"><$transclude tiddler=\"$:/language/MissingTiddler/Hint\"/></$set>\n</$transclude>)\n</span>\n</$list>\n\\end\n"
  },
  {
    "path": "core/wiki/macros/tree.tid",
    "content": "title: $:/core/macros/tree\ntags: $:/tags/Macro\n\n\\define leaf-link(full-title,chunk,separator: \"/\")\n<$link to=<<__full-title__>>><$text text=<<__chunk__>>/></$link>\n\\end\n\n\\define leaf-node(prefix,chunk)\n\\whitespace trim\n<li>\n<$list filter=\"[<__prefix__>addsuffix<__chunk__>is[shadow]] [<__prefix__>addsuffix<__chunk__>is[tiddler]]\" variable=\"full-title\">\n<$list filter=\"[<full-title>removeprefix<__prefix__>]\" variable=\"chunk\">\n<span>{{$:/core/images/file}}</span>&#32;<$macrocall $name=\"leaf-link\" full-title=<<full-title>> chunk=<<chunk>>/>\n</$list>\n</$list>\n</li>\n\\end\n\n\\define branch-node(prefix,chunk,separator: \"/\")\n\\whitespace trim\n<li>\n<$set name=\"reveal-state\" value={{{ [[$:/state/tree/]addsuffix<__prefix__>addsuffix<__chunk__>] }}}>\n<$reveal type=\"nomatch\" stateTitle=<<reveal-state>> text=\"show\">\n<$button setTitle=<<reveal-state>> setTo=\"show\" class=\"tc-btn-invisible\">\n{{$:/core/images/folder}}&#32;<$text text=<<__chunk__>>/>\n</$button>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<reveal-state>> text=\"show\">\n<$button setTitle=<<reveal-state>> setTo=\"hide\" class=\"tc-btn-invisible\">\n{{$:/core/images/folder}}&#32;<$text text=<<__chunk__>>/>\n</$button>\n</$reveal>\n&#32;\n<span>(<$count filter=\"[all[shadows+tiddlers]removeprefix<__prefix__>removeprefix<__chunk__>] -[<__prefix__>addsuffix<__chunk__>]\"/>)</span>\n<$reveal type=\"match\" stateTitle=<<reveal-state>> text=\"show\">\n<$macrocall $name=\"tree-node\" prefix={{{ [<__prefix__>addsuffix<__chunk__>] }}} separator=<<__separator__>>/>\n</$reveal>\n</$set>\n</li>\n\\end\n\n\\define tree-node(prefix,separator: \"/\")\n\\whitespace trim\n<ol>\n<$list filter=\"[all[shadows+tiddlers]removeprefix<__prefix__>splitbefore<__separator__>sort[]!suffix<__separator__>]\" variable=\"chunk\">\n<$macrocall $name=\"leaf-node\" prefix=<<__prefix__>> chunk=<<chunk>> separator=<<__separator__>>/>\n</$list>\n<$list filter=\"[all[shadows+tiddlers]removeprefix<__prefix__>splitbefore<__separator__>sort[]suffix<__separator__>]\" variable=\"chunk\">\n<$macrocall $name=\"branch-node\" prefix=<<__prefix__>> chunk=<<chunk>> separator=<<__separator__>>/>\n</$list>\n</ol>\n\\end\n\n\\define tree(prefix: \"$:/\",separator: \"/\")\n\\whitespace trim\n<div class=\"tc-tree\">\n<span><$text text=<<__prefix__>>/></span>\n<div>\n<$macrocall $name=\"tree-node\" prefix=<<__prefix__>> separator=<<__separator__>>/>\n</div>\n</div>\n\\end\n"
  },
  {
    "path": "core/wiki/macros/utils.tid",
    "content": "title: $:/core/macros/utils\n\n\\define colour(colour)\n$colour$\n\\end\n"
  },
  {
    "path": "core/wiki/minifocuseditswitcher.tid",
    "content": "title: $:/snippets/minifocuseditswitcher\n\n\\whitespace trim\n<$select tiddler=\"$:/config/AutoFocusEdit\" default={{$:/config/AutoFocus}}>\n<$list filter=\"title tags text\">\n<option><<currentTiddler>></option>\n</$list>\n</$select>"
  },
  {
    "path": "core/wiki/minifocusswitcher.tid",
    "content": "title: $:/snippets/minifocusswitcher\n\n\\whitespace trim\n<$select tiddler=\"$:/config/AutoFocus\">\n<$list filter=\"title tags text type fields\">\n<option value=<<currentTiddler>>><<currentTiddler>></option>\n</$list>\n</$select>\n"
  },
  {
    "path": "core/wiki/minilanguageswitcher.tid",
    "content": "title: $:/snippets/minilanguageswitcher\n\n\\whitespace trim\n<$select tiddler=\"$:/language\">\n<$list filter=\"[[$:/languages/en-GB]] [plugin-type[language]sort[title]]\">\n<option value=<<currentTiddler>>><$view field=\"description\"><$view field=\"name\"><$view field=\"title\"/></$view></$view></option>\n</$list>\n</$select>"
  },
  {
    "path": "core/wiki/minithemeswitcher.tid",
    "content": "title: $:/snippets/minithemeswitcher\n\n\\define lingo-base() $:/language/ControlPanel/Theme/\n\\whitespace trim\n<<lingo Prompt>>&#32;<$select tiddler=\"$:/theme\">\n<$list filter=\"[plugin-type[theme]sort[title]]\">\n<option value=<<currentTiddler>>><$view field=\"name\"><$view field=\"title\"/></$view></option>\n</$list>\n</$select>"
  },
  {
    "path": "core/wiki/modules.tid",
    "content": "title: $:/snippets/modules\n\n\\define describeModuleType(type)\n{{$:/language/Docs/ModuleTypes/$type$}}\n\\end\n\\whitespace trim\n<$list filter=\"[moduletypes[]]\">\n\n!! <$macrocall $name=\"currentTiddler\" $type=\"text/plain\" $output=\"text/plain\"/>\n\n<$macrocall $name=\"describeModuleType\" type=<<currentTiddler>>/>\n\n<ul><$list filter=\"[all[current]modules[]]\"><li><$link><<currentTiddler>></$link>\n</li>\n</$list>\n</ul>\n</$list>\n"
  },
  {
    "path": "core/wiki/palette.tid",
    "content": "title: $:/palette\n\n$:/palettes/Vanilla"
  },
  {
    "path": "core/wiki/paletteeditor.tid",
    "content": "title: $:/snippets/paletteeditor\n\n<$transclude tiddler=\"$:/PaletteManager\"/>\n"
  },
  {
    "path": "core/wiki/palettepreview.tid",
    "content": "title: $:/snippets/palettepreview\n\n\\whitespace trim\n<$set name=\"currentTiddler\" value={{$:/palette}}>\n{{||$:/snippets/currpalettepreview}}\n</$set>\n"
  },
  {
    "path": "core/wiki/paletteswitcher.tid",
    "content": "title: $:/snippets/paletteswitcher\n\n\\whitespace trim\n<$linkcatcher to=\"$:/palette\">\n<div class=\"tc-chooser\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Palette]!is[draft]sort[name]]\">\n<$set name=\"cls\" filter=\"[all[current]prefix{$:/palette}]\" value=\"tc-chooser-item tc-chosen\" emptyValue=\"tc-chooser-item\">\n<div class=<<cls>>>\n<$link to={{!!title}}>\n''<$view field=\"name\" format=\"text\"/>''\n&#32;-&#32;\n<$view field=\"description\" format=\"text\"/>\n{{||$:/snippets/currpalettepreview}}\n</$link>\n</div>\n</$set>\n</$list>\n</div>\n</$linkcatcher>\n"
  },
  {
    "path": "core/wiki/peek-stylesheets.tid",
    "content": "title: $:/snippets/peek-stylesheets\n\n\\define expandable-stylesheets-list()\n\\whitespace trim\n<ol>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Stylesheet]!has[draft.of]]\">\n<$vars state=<<qualify \"$:/state/peek-stylesheets/open/\">>>\n<$set name=\"state\" value={{{ [<state>addsuffix<currentTiddler>] }}}>\n<li>\n<$reveal type=\"match\" state=<<state>> text=\"yes\" tag=\"span\">\n<$button set=<<state>> setTo=\"no\" class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"nomatch\" state=<<state>> text=\"yes\" tag=\"span\">\n<$button set=<<state>> setTo=\"yes\" class=\"tc-btn-invisible\">\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n<$link>\n<$view field=\"title\"/>\n</$link>\n<$reveal type=\"match\" state=<<state>> text=\"yes\" tag=\"div\">\n<$set name=\"source\" tiddler=<<currentTiddler>>>\n<$wikify name=\"styles\" text=<<source>>>\n<$codeblock code=<<styles>> language=\"css\"/>\n</$wikify>\n</$set>\n</$reveal>\n</li>\n</$set>\n</$vars>\n</$list>\n</ol>\n\\end\n\n\\define stylesheets-list()\n\\whitespace trim\n<ol>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Stylesheet]!has[draft.of]]\">\n<li>\n<$link>\n<$view field=\"title\"/>\n</$link>\n<$set name=\"source\" tiddler=<<currentTiddler>>>\n<$wikify name=\"styles\" text=<<source>>>\n<pre>\n<code>\n<$text text=<<styles>>/>\n</code>\n</pre>\n</$wikify>\n</$set>\n</li>\n</$list>\n</ol>\n\\end\n\\whitespace trim\n\n<$vars modeState=<<qualify \"$:/state/peek-stylesheets/mode/\">>>\n\n<$reveal type=\"nomatch\" state=<<modeState>> text=\"expanded\" tag=\"div\">\n<$button set=<<modeState>> setTo=\"expanded\" class=\"tc-btn-invisible\">{{$:/core/images/chevron-right}} {{$:/language/ControlPanel/Stylesheets/Expand/Caption}}</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<modeState>> text=\"expanded\" tag=\"div\">\n<$button set=<<modeState>> setTo=\"restored\" class=\"tc-btn-invisible\">{{$:/core/images/chevron-down}} {{$:/language/ControlPanel/Stylesheets/Restore/Caption}}</$button>\n</$reveal>\n\n<$reveal type=\"nomatch\" state=<<modeState>> text=\"expanded\" tag=\"div\">\n<<expandable-stylesheets-list>>\n</$reveal>\n<$reveal type=\"match\" state=<<modeState>> text=\"expanded\" tag=\"div\">\n<<stylesheets-list>>\n</$reveal>\n\n</$vars>\n"
  },
  {
    "path": "core/wiki/search.tid",
    "content": "title: $:/temp/search\n\n"
  },
  {
    "path": "core/wiki/tags/AdvancedSearch.tid",
    "content": "title: $:/tags/AdvancedSearch\nlist: [[$:/core/ui/AdvancedSearch/Standard]] [[$:/core/ui/AdvancedSearch/System]] [[$:/core/ui/AdvancedSearch/Shadows]] [[$:/core/ui/AdvancedSearch/Filter]]\n"
  },
  {
    "path": "core/wiki/tags/AdvancedSearchFilterButton.tid",
    "content": "title: $:/tags/AdvancedSearch/FilterButton\nlist: $:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown $:/core/ui/AdvancedSearch/Filter/FilterButtons/clear $:/core/ui/AdvancedSearch/Filter/FilterButtons/export $:/core/ui/AdvancedSearch/Filter/FilterButtons/delete\n"
  },
  {
    "path": "core/wiki/tags/ControlPanel.tid",
    "content": "title: $:/tags/ControlPanel\nlist: $:/core/ui/ControlPanel/Info $:/core/ui/ControlPanel/Appearance $:/core/ui/ControlPanel/Settings $:/core/ui/ControlPanel/Saving $:/core/ui/ControlPanel/Plugins $:/core/ui/ControlPanel/Tools $:/core/ui/ControlPanel/Internals\n"
  },
  {
    "path": "core/wiki/tags/ControlPanelInfo.tid",
    "content": "title: $:/tags/ControlPanel/Info\nlist: $:/core/ui/ControlPanel/Basics $:/core/ui/ControlPanel/Advanced\n"
  },
  {
    "path": "core/wiki/tags/ControlPanelPlugins.tid",
    "content": "title: $:/tags/ControlPanel/Plugins\nlist: $:/core/ui/ControlPanel/Plugins/Installed/Plugins $:/core/ui/ControlPanel/Plugins/Installed/Themes $:/core/ui/ControlPanel/Plugins/Installed/Languages\n"
  },
  {
    "path": "core/wiki/tags/EditTemplate.tid",
    "content": "title: $:/tags/EditTemplate\nlist: [[$:/core/ui/EditTemplate/controls]] [[$:/core/ui/EditTemplate/title]] [[$:/core/ui/EditTemplate/tags]] [[$:/core/ui/EditTemplate/shadow]] [[$:/core/ui/ViewTemplate/classic]] [[$:/core/ui/EditTemplate/body]] [[$:/core/ui/EditTemplate/type]] [[$:/core/ui/EditTemplate/fields]]\n"
  },
  {
    "path": "core/wiki/tags/EditTemplateBodyFilter.tid",
    "content": "title: $:/tags/EditTemplateBodyFilter\nlist: $:/config/EditTemplateBodyFilters/canonical-uri $:/config/EditTemplateBodyFilters/default"
  },
  {
    "path": "core/wiki/tags/EditToolbar.tid",
    "content": "title: $:/tags/EditToolbar\nlist: [[$:/core/ui/Buttons/delete]] [[$:/core/ui/Buttons/cancel]] [[$:/core/ui/Buttons/save]]\n"
  },
  {
    "path": "core/wiki/tags/EditorToolbar.tid",
    "content": "title: $:/tags/EditorToolbar\nlist: $:/core/ui/EditorToolbar/paint $:/core/ui/EditorToolbar/opacity $:/core/ui/EditorToolbar/line-width $:/core/ui/EditorToolbar/rotate-left $:/core/ui/EditorToolbar/clear $:/core/ui/EditorToolbar/bold $:/core/ui/EditorToolbar/italic $:/core/ui/EditorToolbar/strikethrough $:/core/ui/EditorToolbar/underline $:/core/ui/EditorToolbar/superscript $:/core/ui/EditorToolbar/subscript $:/core/ui/EditorToolbar/mono-line $:/core/ui/EditorToolbar/mono-block $:/core/ui/EditorToolbar/quote $:/core/ui/EditorToolbar/list-bullet $:/core/ui/EditorToolbar/list-number $:/core/ui/EditorToolbar/heading-1 $:/core/ui/EditorToolbar/heading-2 $:/core/ui/EditorToolbar/heading-3 $:/core/ui/EditorToolbar/heading-4 $:/core/ui/EditorToolbar/heading-5 $:/core/ui/EditorToolbar/heading-6 $:/core/ui/EditorToolbar/link $:/core/ui/EditorToolbar/excise $:/core/ui/EditorToolbar/picture $:/core/ui/EditorToolbar/stamp $:/core/ui/EditorToolbar/size $:/core/ui/EditorToolbar/editor-height $:/core/ui/EditorToolbar/more $:/core/ui/EditorToolbar/preview $:/core/ui/EditorToolbar/preview-type\n"
  },
  {
    "path": "core/wiki/tags/ManagerItemMain.tid",
    "content": "title: $:/tags/Manager/ItemMain\nlist: $:/Manager/ItemMain/WikifiedText $:/Manager/ItemMain/RawText $:/Manager/ItemMain/Fields"
  },
  {
    "path": "core/wiki/tags/ManagerItemSidebar.tid",
    "content": "title: $:/tags/Manager/ItemSidebar\nlist: $:/Manager/ItemSidebar/Tags $:/Manager/ItemSidebar/Colour $:/Manager/ItemSidebar/Icon $:/Manager/ItemSidebar/Tools"
  },
  {
    "path": "core/wiki/tags/MoreSideBar.tid",
    "content": "title: $:/tags/MoreSideBar\nlist: [[$:/core/ui/MoreSideBar/All]] [[$:/core/ui/MoreSideBar/Recent]] [[$:/core/ui/MoreSideBar/Tags]] [[$:/core/ui/MoreSideBar/Missing]] [[$:/core/ui/MoreSideBar/Drafts]] [[$:/core/ui/MoreSideBar/Orphans]] [[$:/core/ui/MoreSideBar/Types]] [[$:/core/ui/MoreSideBar/System]] [[$:/core/ui/MoreSideBar/Shadows]] [[$:/core/ui/MoreSideBar/Explorer]] [[$:/core/ui/MoreSideBar/Plugins]]\n\n"
  },
  {
    "path": "core/wiki/tags/PageControls.tid",
    "content": "title: $:/tags/PageControls\nlist: [[$:/core/ui/Buttons/home]] [[$:/core/ui/Buttons/close-all]] [[$:/core/ui/Buttons/fold-all]] [[$:/core/ui/Buttons/unfold-all]] [[$:/core/ui/Buttons/permaview]] [[$:/core/ui/Buttons/new-tiddler]] [[$:/core/ui/Buttons/new-journal]] [[$:/core/ui/Buttons/new-image]] [[$:/core/ui/Buttons/import]] [[$:/core/ui/Buttons/export-page]] [[$:/core/ui/Buttons/control-panel]] [[$:/core/ui/Buttons/advanced-search]] [[$:/core/ui/Buttons/manager]] [[$:/core/ui/Buttons/tag-manager]] [[$:/core/ui/Buttons/language]] [[$:/core/ui/Buttons/palette]] [[$:/core/ui/Buttons/theme]] [[$:/core/ui/Buttons/layout]] [[$:/core/ui/Buttons/storyview]] [[$:/core/ui/Buttons/encryption]] [[$:/core/ui/Buttons/timestamp]] [[$:/core/ui/Buttons/full-screen]] [[$:/core/ui/Buttons/print]] [[$:/core/ui/Buttons/save-wiki]] [[$:/core/ui/Buttons/refresh]] [[$:/core/ui/Buttons/network-activity]] [[$:/core/ui/Buttons/more-page-actions]]\n"
  },
  {
    "path": "core/wiki/tags/PageTemplate.tid",
    "content": "title: $:/tags/PageTemplate\nlist: [[$:/core/ui/PageTemplate/topleftbar]] [[$:/core/ui/PageTemplate/toprightbar]] [[$:/core/ui/PageTemplate/sidebar]] [[$:/core/ui/PageTemplate/story]] [[$:/core/ui/PageTemplate/alerts]]\n\n"
  },
  {
    "path": "core/wiki/tags/PluginLibrary.tid",
    "content": "title: $:/tags/PluginLibrary\nlist: $:/config/OfficialPluginLibrary"
  },
  {
    "path": "core/wiki/tags/SideBar.tid",
    "content": "title: $:/tags/SideBar\nlist: [[$:/core/ui/SideBar/Open]] [[$:/core/ui/SideBar/Recent]] [[$:/core/ui/SideBar/Tools]] [[$:/core/ui/SideBar/More]]\n\n"
  },
  {
    "path": "core/wiki/tags/SideBarSegment.tid",
    "content": "title: $:/tags/SideBarSegment\nlist: [[$:/core/ui/SideBarSegments/site-title]] [[$:/core/ui/SideBarSegments/site-subtitle]] [[$:/core/ui/SideBarSegments/page-controls]] [[$:/core/ui/SideBarSegments/search]] [[$:/core/ui/SideBarSegments/tabs]]"
  },
  {
    "path": "core/wiki/tags/StoryTiddlerTemplateFilter.tid",
    "content": "title: $:/tags/StoryTiddlerTemplateFilter\nlist: $:/config/StoryTiddlerTemplateFilters/draft $:/config/StoryTiddlerTemplateFilters/default\n"
  },
  {
    "path": "core/wiki/tags/TestCaseActions.tid",
    "content": "title: $:/tags/TestCase/Actions\nlist:\n"
  },
  {
    "path": "core/wiki/tags/TextEditorSnippet.tid",
    "content": "title: $:/tags/TextEditor/Snippet\nlist: $:/language/Snippets/ProcedureDefinition $:/language/Snippets/FunctionDefinition $:/language/Snippets/ListByTag $:/language/Snippets/Table4x3 $:/language/Snippets/TableOfContents $:/language/Snippets/MacroDefinition"
  },
  {
    "path": "core/wiki/tags/TiddlerColourFilter.tid",
    "content": "title: $:/tags/TiddlerColourFilter\nlist: $:/config/TiddlerColourFilters/color-field $:/config/TiddlerColourFilters/default\n\n"
  },
  {
    "path": "core/wiki/tags/TiddlerIconFilter.tid",
    "content": "title: $:/tags/TiddlerIconFilter\nlist: $:/config/TiddlerIconFilters/icon-field $:/config/TiddlerIconFilters/default\n\n"
  },
  {
    "path": "core/wiki/tags/TiddlerInfo.tid",
    "content": "title: $:/tags/TiddlerInfo\nlist: [[$:/core/ui/TiddlerInfo/Tools]] [[$:/core/ui/TiddlerInfo/References]] [[$:/core/ui/TiddlerInfo/Tagging]] [[$:/core/ui/TiddlerInfo/List]] [[$:/core/ui/TiddlerInfo/Listed]] [[$:/core/ui/TiddlerInfo/Fields]]\n\n"
  },
  {
    "path": "core/wiki/tags/TiddlerInfoAdvanced.tid",
    "content": "title: $:/tags/TiddlerInfo/Advanced\nlist: [[$:/core/ui/TiddlerInfo/Advanced/ShadowInfo]] [[$:/core/ui/TiddlerInfo/Advanced/PluginInfo]] [[$:/core/ui/TiddlerInfo/Advanced/CascadeInfo]]"
  },
  {
    "path": "core/wiki/tags/ViewTemplate.tid",
    "content": "title: $:/tags/ViewTemplate\nlist: [[$:/core/ui/ViewTemplate/title]] [[$:/core/ui/ViewTemplate/unfold]] [[$:/core/ui/ViewTemplate/subtitle]] [[$:/core/ui/ViewTemplate/tags]] [[$:/core/ui/ViewTemplate/classic]] [[$:/core/ui/ViewTemplate/body]] [[$:/core/ui/ViewTemplate/lazy-loading]]\n"
  },
  {
    "path": "core/wiki/tags/ViewTemplateBodyFilter.tid",
    "content": "title: $:/tags/ViewTemplateBodyFilter\nlist: $:/config/ViewTemplateBodyFilters/testcase $:/config/ViewTemplateBodyFilters/hide-body $:/config/ViewTemplateBodyFilters/code-body $:/config/ViewTemplateBodyFilters/stylesheet $:/config/ViewTemplateBodyFilters/core-ui-advanced-search $:/config/ViewTemplateBodyFilters/core-ui-tags $:/config/ViewTemplateBodyFilters/import $:/config/ViewTemplateBodyFilters/plugin $:/config/ViewTemplateBodyFilters/html $:/config/ViewTemplateBodyFilters/system $:/config/ViewTemplateBodyFilters/default\n"
  },
  {
    "path": "core/wiki/tags/ViewTemplateSubtitle.tid",
    "content": "title: $:/tags/ViewTemplate/Subtitle\nlist: $:/core/ui/ViewTemplate/subtitle/modifier $:/core/ui/ViewTemplate/subtitle/modified\n"
  },
  {
    "path": "core/wiki/tags/ViewTemplateTitleFilter.tid",
    "content": "title: $:/tags/ViewTemplateTitleFilter\nlist: $:/config/ViewTemplateTitleFilters/system $:/config/ViewTemplateTitleFilters/default\n\n"
  },
  {
    "path": "core/wiki/tags/ViewToolbar.tid",
    "content": "title: $:/tags/ViewToolbar\nlist: [[$:/core/ui/Buttons/more-tiddler-actions]] [[$:/core/ui/Buttons/info]] [[$:/core/ui/Buttons/new-here]] [[$:/core/ui/Buttons/new-journal-here]] [[$:/core/ui/Buttons/clone]] [[$:/core/ui/Buttons/export-tiddler]] [[$:/core/ui/Buttons/edit]] [[$:/core/ui/Buttons/delete]] [[$:/core/ui/Buttons/permalink]] [[$:/core/ui/Buttons/permaview]] [[$:/core/ui/Buttons/open-window]] [[$:/core/ui/Buttons/close-others]] [[$:/core/ui/Buttons/close]] [[$:/core/ui/Buttons/fold-others]] [[$:/core/ui/Buttons/fold]]\n"
  },
  {
    "path": "core/wiki/themeswitcher.tid",
    "content": "title: $:/snippets/themeswitcher\n\n\\whitespace trim\n\\function theme.filter() [all[current]field:title{$:/theme}] [[$:/theme]!has[text]addsuffix[s/tiddlywiki/vanilla]field:title<currentTiddler>] +[limit[1]]\n\n<$linkcatcher to=\"$:/theme\">\n<div class=\"tc-chooser\" role=\"listbox\">\n<$list filter=\"[plugin-type[theme]sort[title]]\">\n\t<div class={{{ [theme.filter[]then[tc-chooser-item tc-chosen]else[tc-chooser-item]] }}}>\n\t\t<$link to={{!!title}} role=\"option\" aria-selected={{{ [theme.filter[]then[true]else[false]] }}}>\n\t\t\t''<$view field=\"name\" format=\"text\"/>''\n\t\t\t&#32;\n\t\t\t<$view field=\"description\" format=\"text\"/>\n\t\t</$link>\n\t</div>\n</$list>\n</div>\n</$linkcatcher>"
  },
  {
    "path": "core/wiki/title.tid",
    "content": "title: $:/core/wiki/title\n\n\\whitespace trim\n{{$:/SiteTitle}}\n<$list filter=\"[{$:/SiteSubtitle}trim[]minlength[1]]\" variable=\"ignore\">\n&#32;---&#32;{{$:/SiteSubtitle}}\n</$list>"
  },
  {
    "path": "core/wiki/view.tid",
    "content": "title: $:/view\n\nclassic"
  },
  {
    "path": "core/wiki/viewswitcher.tid",
    "content": "title: $:/snippets/viewswitcher\n\n\\define icon()\n$:/core/images/storyview-$(storyview)$\n\\end\n\\whitespace trim\n\\function view.filter() [<storyview>prefix{$:/view}]\n\n<$linkcatcher to=\"$:/view\">\n<div class=\"tc-chooser tc-viewswitcher\" role=\"listbox\">\n<$list filter=\"[storyviews[]]\" variable=\"storyview\">\n<div class={{{ [view.filter[]then[tc-chooser-item tc-chosen]else[tc-chooser-item]] }}}>\n<$button tag=\"a\" class=\"tc-tiddlylink tc-btn-invisible\" role=\"option\" to=<<storyview>> aria-selected={{{ [view.filter[]then[true]else[false]] }}}><$transclude tiddler=<<icon>>/><$text text=<<storyview>>/></$button>\n</div>\n</$list>\n</div>\n</$linkcatcher>\n"
  },
  {
    "path": "core-server/commander.js",
    "content": "/*\\\ntitle: $:/core/modules/commander.js\ntype: application/javascript\nmodule-type: global\n\nThe $tw.Commander class is a command interpreter\n\n\\*/\n\n\"use strict\";\n\n/*\nParse a sequence of commands\n\tcommandTokens: an array of command string tokens\n\twiki: reference to the wiki store object\n\tstreams: {output:, error:}, each of which has a write(string) method\n\tcallback: a callback invoked as callback(err) where err is null if there was no error\n*/\nvar Commander = function(commandTokens,callback,wiki,streams) {\n\tvar path = require(\"path\");\n\tthis.commandTokens = commandTokens;\n\tthis.nextToken = 0;\n\tthis.callback = callback;\n\tthis.wiki = wiki;\n\tthis.streams = streams;\n\tthis.outputPath = path.resolve($tw.boot.wikiPath,$tw.config.wikiOutputSubDir);\n};\n\n/*\nLog a string if verbose flag is set\n*/\nCommander.prototype.log = function(str) {\n\tif(this.verbose) {\n\t\tthis.streams.output.write(str + \"\\n\");\n\t}\n};\n\n/*\nWrite a string if verbose flag is set\n*/\nCommander.prototype.write = function(str) {\n\tif(this.verbose) {\n\t\tthis.streams.output.write(str);\n\t}\n};\n\n/*\nAdd a string of tokens to the command queue\n*/\nCommander.prototype.addCommandTokens = function(commandTokens) {\n\tvar params = commandTokens.slice(0);\n\tparams.unshift(0);\n\tparams.unshift(this.nextToken);\n\tArray.prototype.splice.apply(this.commandTokens,params);\n};\n\n/*\nExecute the sequence of commands and invoke a callback on completion\n*/\nCommander.prototype.execute = function() {\n\tthis.executeNextCommand();\n};\n\n/*\nExecute the next command in the sequence\n*/\nCommander.prototype.executeNextCommand = function() {\n\tvar self = this;\n\t// Invoke the callback if there are no more commands\n\tif(this.nextToken >= this.commandTokens.length) {\n\t\tthis.callback(null);\n\t} else {\n\t\t// Get and check the command token\n\t\tvar commandName = this.commandTokens[this.nextToken++];\n\t\tif(commandName.substr(0,2) !== \"--\") {\n\t\t\tthis.callback(\"Missing command: \" + commandName);\n\t\t} else {\n\t\t\tcommandName = commandName.substr(2); // Trim off the --\n\t\t\t// Accumulate the parameters to the command\n\t\t\tvar params = [];\n\t\t\twhile(this.nextToken < this.commandTokens.length && \n\t\t\t\tthis.commandTokens[this.nextToken].substr(0,2) !== \"--\") {\n\t\t\t\tparams.push(this.commandTokens[this.nextToken++]);\n\t\t\t}\n\t\t\t// Get the command info\n\t\t\tvar command = $tw.commands[commandName],\n\t\t\t\tc,err;\n\t\t\tif(!command) {\n\t\t\t\tthis.callback(\"Unknown command: \" + commandName);\n\t\t\t} else {\n\t\t\t\tif(this.verbose) {\n\t\t\t\t\tthis.streams.output.write(\"Executing command: \" + commandName + \" \" + params.join(\" \") + \"\\n\");\n\t\t\t\t}\n\t\t\t\t// Parse named parameters if required\n\t\t\t\tif(command.info.namedParameterMode) {\n\t\t\t\t\tparams = this.extractNamedParameters(params,command.info.mandatoryParameters);\n\t\t\t\t\tif(typeof params === \"string\") {\n\t\t\t\t\t\treturn this.callback(params);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(command.info.synchronous) {\n\t\t\t\t\t// Synchronous command (await thenables)\n\t\t\t\t\tc = new command.Command(params,this);\n\t\t\t\t\terr = c.execute();\n\t\t\t\t\tif(err && typeof err.then === \"function\") {\n\t\t\t\t\t\terr.then((e) => { e ? this.callback(e) : this.executeNextCommand(); });\n\t\t\t\t\t} else if(err) {\n\t\t\t\t\t\tthis.callback(err);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.executeNextCommand();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Asynchronous command (await thenables)\n\t\t\t\t\tc = new command.Command(params,this,function(err) {\n\t\t\t\t\t\tif(err) {\n\t\t\t\t\t\t\tself.callback(err);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tself.executeNextCommand();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\terr = c.execute();\n\t\t\t\t\tif(err && typeof err.then === \"function\") {\n\t\t\t\t\t\terr.then((e) => { if(e) this.callback(e); });\n\t\t\t\t\t} else if(err) {\n\t\t\t\t\t\tthis.callback(err);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\n/*\nGiven an array of parameter strings `params` in name:value format, and an array of mandatory parameter names in `mandatoryParameters`, returns a hashmap of values or a string if error\n*/\nCommander.prototype.extractNamedParameters = function(params,mandatoryParameters) {\n\tmandatoryParameters = mandatoryParameters || [];\n\tvar errors = [],\n\t\tparamsByName = Object.create(null);\n\t// Extract the parameters\n\t$tw.utils.each(params,function(param) {\n\t\tvar index = param.indexOf(\"=\");\n\t\tif(index < 1) {\n\t\t\terrors.push(\"malformed named parameter: '\" + param + \"'\");\n\t\t}\n\t\tparamsByName[param.slice(0,index)] = $tw.utils.trim(param.slice(index+1));\n\t});\n\t// Check the mandatory parameters are present\n\t$tw.utils.each(mandatoryParameters,function(mandatoryParameter) {\n\t\tif(!$tw.utils.hop(paramsByName,mandatoryParameter)) {\n\t\t\terrors.push(\"missing mandatory parameter: '\" + mandatoryParameter + \"'\");\n\t\t}\n\t});\n\t// Return any errors\n\tif(errors.length > 0) {\n\t\treturn errors.join(\" and\\n\");\n\t} else {\n\t\treturn paramsByName;\n\t}\n};\n\nCommander.initCommands = function(moduleType) {\n\tmoduleType = moduleType || \"command\";\n\t$tw.commands = {};\n\t$tw.modules.forEachModuleOfType(moduleType,function(title,module) {\n\t\tvar c = $tw.commands[module.info.name] = {};\n\t\t// Add the methods defined by the module\n\t\tfor(var f in module) {\n\t\t\tif($tw.utils.hop(module,f)) {\n\t\t\t\tc[f] = module[f];\n\t\t\t}\n\t\t}\n\t});\n};\n\nexports.Commander = Commander;\n"
  },
  {
    "path": "core-server/commands/build.js",
    "content": "/*\\\ntitle: $:/core/modules/commands/build.js\ntype: application/javascript\nmodule-type: command\n\nCommand to build a build target\n\n\\*/\n\n\"use strict\";\n\nexports.info = {\n\tname: \"build\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\t// Get the build targets defined in the wiki\n\tvar buildTargets = $tw.boot.wikiInfo && $tw.boot.wikiInfo.build;\n\tif(!buildTargets) {\n\t\treturn \"No build targets defined\";\n\t}\n\t// Loop through each of the specified targets\n\tvar targets;\n\tif(this.params.length > 0) {\n\t\ttargets = this.params;\n\t} else {\n\t\ttargets = Object.keys(buildTargets);\n\t}\n\tfor(var targetIndex=0; targetIndex<targets.length; targetIndex++) {\n\t\tvar target = targets[targetIndex],\n\t\t\tcommands = buildTargets[target];\n\t\tif(!commands) {\n\t\t\treturn \"Build target '\" + target + \"' not found\";\n\t\t}\n\t\t// Add the commands to the queue\n\t\tthis.commander.addCommandTokens(commands);\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n"
  },
  {
    "path": "core-server/commands/clearpassword.js",
    "content": "/*\\\ntitle: $:/core/modules/commands/clearpassword.js\ntype: application/javascript\nmodule-type: command\n\nClear password for crypto operations\n\n\\*/\n\n\"use strict\";\n\nexports.info = {\n\tname: \"clearpassword\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\t$tw.crypto.setPassword(null);\n\treturn null;\n};\n\nexports.Command = Command;\n"
  },
  {
    "path": "core-server/commands/commands.js",
    "content": "/*\\\ntitle: $:/core/modules/commands/commands.js\ntype: application/javascript\nmodule-type: command\n\nRuns the commands returned from a filter\n\n\\*/\n\n\"use strict\";\n\nexports.info = {\n\tname: \"commands\",\n\tsynchronous: true\n};\n\nvar Command = function(params, commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\t// Parse the filter\n\tvar filter = this.params[0];\n\tif(!filter) {\n\t\treturn \"No filter specified\";\n\t}\n\tvar commands = this.commander.wiki.filterTiddlers(filter);\n\tif(commands.length === 0) {\n\t\treturn \"No tiddlers found for filter '\" + filter + \"'\";\n\t}\n\tthis.commander.addCommandTokens(commands);\n\treturn null;\n};\n\nexports.Command = Command;\n"
  },
  {
    "path": "core-server/commands/deletetiddlers.js",
    "content": "/*\\\ntitle: $:/core/modules/commands/deletetiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to delete tiddlers\n\n\\*/\n\n\"use strict\";\n\nexports.info = {\n\tname: \"deletetiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing filter\";\n\t}\n\tvar wiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\twiki.deleteTiddler(title);\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n"
  },
  {
    "path": "core-server/commands/editions.js",
    "content": "/*\\\ntitle: $:/core/modules/commands/editions.js\ntype: application/javascript\nmodule-type: command\n\nCommand to list the available editions\n\n\\*/\n\n\"use strict\";\n\nexports.info = {\n\tname: \"editions\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tvar self = this;\n\t// Output the list\n\tthis.commander.streams.output.write(\"Available editions:\\n\\n\");\n\tvar editionInfo = $tw.utils.getEditionInfo();\n\t$tw.utils.each(editionInfo,function(info,name) {\n\t\tself.commander.streams.output.write(\"    \" + name + \": \" + info.description + \"\\n\");\n\t});\n\tthis.commander.streams.output.write(\"\\n\");\n\treturn null;\n};\n\nexports.Command = Command;\n"
  },
  {
    "path": "core-server/commands/fetch.js",
    "content": "/*\\\ntitle: $:/core/modules/commands/fetch.js\ntype: application/javascript\nmodule-type: command\n\nCommands to fetch external tiddlers\n\n\\*/\n\n\"use strict\";\n\nexports.info = {\n\tname: \"fetch\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing subcommand and url\";\n\t}\n\tswitch(this.params[0]) {\n\t\tcase \"raw-file\":\n\t\t\treturn this.fetchFiles({\n\t\t\t\traw: true,\n\t\t\t\turl: this.params[1],\n\t\t\t\ttransformFilter: this.params[2] || \"\",\n\t\t\t\tcallback: this.callback\n\t\t\t});\n\t\t\tbreak;\n\t\tcase \"file\":\n\t\t\treturn this.fetchFiles({\n\t\t\t\turl: this.params[1],\n\t\t\t\timportFilter: this.params[2],\n\t\t\t\ttransformFilter: this.params[3] || \"\",\n\t\t\t\tcallback: this.callback\n\t\t\t});\n\t\t\tbreak;\n\t\tcase \"raw-files\":\n\t\t\treturn this.fetchFiles({\n\t\t\t\traw: true,\n\t\t\t\turlFilter: this.params[1],\n\t\t\t\ttransformFilter: this.params[2] || \"\",\n\t\t\t\tcallback: this.callback\n\t\t\t});\n\t\t\tbreak;\n\t\tcase \"files\":\n\t\t\treturn this.fetchFiles({\n\t\t\t\turlFilter: this.params[1],\n\t\t\t\timportFilter: this.params[2],\n\t\t\t\ttransformFilter: this.params[3] || \"\",\n\t\t\t\tcallback: this.callback\n\t\t\t});\n\t\t\tbreak;\n\t}\n\treturn null;\n};\n\nCommand.prototype.fetchFiles = function(options) {\n\tvar self = this;\n\t// Get the list of URLs\n\tvar urls;\n\tif(options.url) {\n\t\turls = [options.url];\n\t} else if(options.urlFilter) {\n\t\turls = this.commander.wiki.filterTiddlers(options.urlFilter);\n\t} else {\n\t\treturn \"Missing URL\";\n\t}\n\t// Process each URL in turn\n\tvar next = 0;\n\tvar getNextFile = function(err) {\n\t\tif(err) {\n\t\t\treturn options.callback(err);\n\t\t}\n\t\tif(next < urls.length) {\n\t\t\tself.fetchFile(urls[next++],options,getNextFile);\n\t\t} else {\n\t\t\toptions.callback(null);\n\t\t}\n\t};\n\tgetNextFile(null);\n\t// Success\n\treturn null;\n};\n\nCommand.prototype.fetchFile = function(url,options,callback,redirectCount) {\n\tif(redirectCount > 10) {\n\t\treturn callback(\"Error too many redirects retrieving \" + url);\n\t}\n\tvar self = this,\n\t\tlib = url.substr(0,8) === \"https://\" ? require(\"https\") : require(\"http\");\n\tlib.get(url).on(\"response\",function(response) {\n\t\tvar type = (response.headers[\"content-type\"] || \"\").split(\";\")[0],\n\t\t\tdata = [];\n\t\tself.commander.write(\"Reading \" + url + \": \");\n\t\tresponse.on(\"data\",function(chunk) {\n\t\t\tdata.push(chunk);\n\t\t\tself.commander.write(\".\");\n\t\t});\n\t\tresponse.on(\"end\",function() {\n\t\t\tself.commander.write(\"\\n\");\n\t\t\tif(response.statusCode === 200) {\n\t\t\t\tself.processBody(Buffer.concat(data),type,options,url);\n\t\t\t\tcallback(null);\n\t\t\t} else {\n\t\t\t\tif(response.statusCode === 302 || response.statusCode === 303 || response.statusCode === 307) {\n\t\t\t\t\treturn self.fetchFile(response.headers.location,options,callback,redirectCount + 1);\n\t\t\t\t} else {\n\t\t\t\t\treturn callback(\"Error \" + response.statusCode + \" retrieving \" + url);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tresponse.on(\"error\",function(e) {\n\t\t\tconsole.log(\"Error on GET request: \" + e);\n\t\t\tcallback(e);\n\t\t});\n\t});\n\treturn null;\n};\n\nCommand.prototype.processBody = function(body,type,options,url) {\n\tvar self = this;\n\t// Collect the tiddlers in a wiki\n\tvar incomingWiki = new $tw.Wiki();\n\tif(options.raw) {\n\t\tvar typeInfo = type ? $tw.config.contentTypeInfo[type] : null,\n\t\t\tencoding = typeInfo ? typeInfo.encoding : \"utf8\";\n\t\tincomingWiki.addTiddler(new $tw.Tiddler({\n\t\t\ttitle: url,\n\t\t\ttype: type,\n\t\t\ttext: body.toString(encoding)\n\t\t}));\n\t} else {\n\t\t// Deserialise the file to extract the tiddlers\n\t\tvar tiddlers = this.commander.wiki.deserializeTiddlers(type || \"text/html\",body.toString(\"utf8\"),{});\n\t\t$tw.utils.each(tiddlers,function(tiddler) {\n\t\t\tincomingWiki.addTiddler(new $tw.Tiddler(tiddler));\n\t\t});\n\t}\n\t// Filter the tiddlers to select the ones we want\n\tvar filteredTitles = incomingWiki.filterTiddlers(options.importFilter || \"[all[tiddlers]]\");\n\t// Import the selected tiddlers\n\tvar count = 0;\n\tincomingWiki.each(function(tiddler,title) {\n\t\tif(filteredTitles.indexOf(title) !== -1) {\n\t\t\tvar newTiddler;\n\t\t\tif(options.transformFilter) {\n\t\t\t\tvar transformedTitle = (incomingWiki.filterTiddlers(options.transformFilter,null,self.commander.wiki.makeTiddlerIterator([title])) || [\"\"])[0];\n\t\t\t\tif(transformedTitle) {\n\t\t\t\t\tself.commander.log(\"Importing \" + title + \" as \" + transformedTitle);\n\t\t\t\t\tnewTiddler = new $tw.Tiddler(tiddler,{title: transformedTitle});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tself.commander.log(\"Importing \" + title);\n\t\t\t\tnewTiddler = tiddler;\n\t\t\t}\n\t\t\tself.commander.wiki.importTiddler(newTiddler);\n\t\t\tcount++;\n\t\t}\n\t});\n\tself.commander.log(\"Imported \" + count + \" tiddlers\");\n};\n\nexports.Command = Command;\n"
  },
  {
    "path": "core-server/commands/help.js",
    "content": "/*\\\ntitle: $:/core/modules/commands/help.js\ntype: application/javascript\nmodule-type: command\n\nHelp command\n\n\\*/\n\n\"use strict\";\n\nexports.info = {\n\tname: \"help\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tvar subhelp = this.params[0] || \"default\",\n\t\thelpBase = \"$:/language/Help/\",\n\t\ttext;\n\tif(!this.commander.wiki.getTiddler(helpBase + subhelp)) {\n\t\tsubhelp = \"notfound\";\n\t}\n\t// Wikify the help as formatted text (ie block elements generate newlines)\n\ttext = this.commander.wiki.renderTiddler(\"text/plain-formatted\",helpBase + subhelp);\n\t// Remove any leading linebreaks\n\ttext = text.replace(/^(\\r?\\n)*/g,\"\");\n\tthis.commander.streams.output.write(text);\n};\n\nexports.Command = Command;\n"
  },
  {
    "path": "core-server/commands/import.js",
    "content": "/*\\\ntitle: $:/core/modules/commands/import.js\ntype: application/javascript\nmodule-type: command\n\nCommand to import tiddlers from a file\n\n\\*/\n\n\"use strict\";\n\nexports.info = {\n\tname: \"import\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar self = this,\n\t\tfs = require(\"fs\");\n\tif(this.params.length < 2) {\n\t\treturn \"Missing parameters\";\n\t}\n\tvar filename = self.params[0],\n\t\tdeserializer = self.params[1],\n\t\ttitle = self.params[2] || filename,\n\t\tencoding = self.params[3] || \"utf8\",\n\t\ttext = fs.readFileSync(filename,encoding),\n\t\ttiddlers = this.commander.wiki.deserializeTiddlers(null,text,{title: title},{deserializer: deserializer});\n\t$tw.utils.each(tiddlers,function(tiddler) {\n\t\tself.commander.wiki.importTiddler(new $tw.Tiddler(tiddler));\n\t});\n\tthis.commander.log(tiddlers.length + \" tiddler(s) imported\");\n\treturn null;\n};\n\nexports.Command = Command;\n"
  },
  {
    "path": "core-server/commands/init.js",
    "content": "/*\\\ntitle: $:/core/modules/commands/init.js\ntype: application/javascript\nmodule-type: command\n\nCommand to initialise an empty wiki folder\n\n\\*/\n\n\"use strict\";\n\nexports.info = {\n\tname: \"init\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tvar fs = require(\"fs\");\n\t// Check that we don't already have a valid wiki folder\n\tif($tw.boot.wikiTiddlersPath || ($tw.utils.isDirectory($tw.boot.wikiPath) && !$tw.utils.isDirectoryEmpty($tw.boot.wikiPath))) {\n\t\treturn \"Wiki folder is not empty\";\n\t}\n\t// Loop through each of the specified editions\n\tvar editions = this.params.length > 0 ? this.params : [\"empty\"];\n\tfor(var editionIndex=0; editionIndex<editions.length; editionIndex++) {\n\t\tvar editionName = editions[editionIndex];\n\t\t// Check the edition exists\n\t\tvar editionPath = $tw.findLibraryItem(editionName,$tw.getLibraryItemSearchPaths($tw.config.editionsPath,$tw.config.editionsEnvVar));\n\t\tif(!$tw.utils.isDirectory(editionPath)) {\n\t\t\treturn \"Edition '\" + editionName + \"' not found\";\n\t\t}\n\t\t// Copy the edition content\n\t\tvar err = $tw.utils.copyDirectory(editionPath,$tw.boot.wikiPath);\n\t\tif(!err) {\n\t\t\tthis.commander.streams.output.write(\"Copied edition '\" + editionName + \"' to \" + $tw.boot.wikiPath + \"\\n\");\n\t\t} else {\n\t\t\treturn err;\n\t\t}\n\t}\n\t// Tweak the tiddlywiki.info to remove any included wikis\n\tvar packagePath = $tw.boot.wikiPath + \"/tiddlywiki.info\",\n\t\tpackageJson = $tw.utils.parseJSONSafe(fs.readFileSync(packagePath));\n\tdelete packageJson.includeWikis;\n\tfs.writeFileSync(packagePath,JSON.stringify(packageJson,null,$tw.config.preferences.jsonSpaces));\n\treturn null;\n};\n\nexports.Command = Command;\n"
  },
  {
    "path": "core-server/commands/listen.js",
    "content": "/*\\\ntitle: $:/core/modules/commands/listen.js\ntype: application/javascript\nmodule-type: command\n\nListen for HTTP requests and serve tiddlers\n\n\\*/\n\n\"use strict\";\n\nvar Server = require(\"$:/core/modules/server/server.js\").Server;\n\nexports.info = {\n\tname: \"listen\",\n\tsynchronous: true,\n\tnamedParameterMode: true,\n\tmandatoryParameters: []\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar self = this;\n\tif(!$tw.boot.wikiTiddlersPath) {\n\t\t$tw.utils.warning(\"Warning: Wiki folder '\" + $tw.boot.wikiPath + \"' does not exist or is missing a tiddlywiki.info file\");\n\t}\n\t// Set up server\n\tthis.server = new Server({\n\t\twiki: this.commander.wiki,\n\t\tvariables: self.params\n\t});\n\tvar nodeServer = this.server.listen();\n\t$tw.hooks.invokeHook(\"th-server-command-post-start\",this.server,nodeServer,\"tiddlywiki\");\n\treturn null;\n};\n\nexports.Command = Command;\n"
  },
  {
    "path": "core-server/commands/load.js",
    "content": "/*\\\ntitle: $:/core/modules/commands/load.js\ntype: application/javascript\nmodule-type: command\n\nCommand to load tiddlers from a file or directory\n\n\\*/\n\n\"use strict\";\n\nexports.info = {\n\tname: \"load\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar self = this;\n\tif(this.params.length < 1) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar tiddlers = $tw.loadTiddlersFromPath(self.params[0]),\n\t\tcount = 0;\n\t$tw.utils.each(tiddlers,function(tiddlerInfo) {\n\t\t$tw.utils.each(tiddlerInfo.tiddlers,function(tiddler) {\n\t\t\tself.commander.wiki.importTiddler(new $tw.Tiddler(tiddler));\n\t\t\tcount++;\n\t\t});\n\t});\n\tif(!count && self.params[1] !== \"noerror\") {\n\t\tself.callback(\"No tiddlers found in file \\\"\" + self.params[0] + \"\\\"\");\n\t} else {\n\t\tself.callback(null);\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n"
  },
  {
    "path": "core-server/commands/makelibrary.js",
    "content": "/*\\\ntitle: $:/core/modules/commands/makelibrary.js\ntype: application/javascript\nmodule-type: command\n\nCommand to pack all of the plugins in the library into a plugin tiddler of type \"library\"\n\n\\*/\n\n\"use strict\";\n\nexports.info = {\n\tname: \"makelibrary\",\n\tsynchronous: true\n};\n\nvar UPGRADE_LIBRARY_TITLE = \"$:/UpgradeLibrary\";\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar wiki = this.commander.wiki,\n\t\tupgradeLibraryTitle = this.params[0] || UPGRADE_LIBRARY_TITLE,\n\t\ttiddlers = $tw.utils.getAllPlugins();\n\t// Save the upgrade library tiddler\n\tvar pluginFields = {\n\t\ttitle: upgradeLibraryTitle,\n\t\ttype: \"application/json\",\n\t\t\"plugin-type\": \"library\",\n\t\t\"text\": JSON.stringify({tiddlers: tiddlers})\n\t};\n\twiki.addTiddler(new $tw.Tiddler(pluginFields));\n\treturn null;\n};\n\nexports.Command = Command;\n"
  },
  {
    "path": "core-server/commands/output.js",
    "content": "/*\\\ntitle: $:/core/modules/commands/output.js\ntype: application/javascript\nmodule-type: command\n\nCommand to set the default output location (defaults to current working directory)\n\n\\*/\n\n\"use strict\";\n\nexports.info = {\n\tname: \"output\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar path = require(\"path\");\n\tif(this.params.length < 1) {\n\t\treturn \"Missing output path\";\n\t}\n\tthis.commander.outputPath = path.resolve(process.cwd(),this.params[0]);\n\treturn null;\n};\n\nexports.Command = Command;\n"
  },
  {
    "path": "core-server/commands/password.js",
    "content": "/*\\\ntitle: $:/core/modules/commands/password.js\ntype: application/javascript\nmodule-type: command\n\nSave password for crypto operations\n\n\\*/\n\n\"use strict\";\n\nexports.info = {\n\tname: \"password\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing password\";\n\t}\n\t$tw.crypto.setPassword(this.params[0]);\n\treturn null;\n};\n\nexports.Command = Command;\n"
  },
  {
    "path": "core-server/commands/render.js",
    "content": "/*\\\ntitle: $:/core/modules/commands/render.js\ntype: application/javascript\nmodule-type: command\n\nRender individual tiddlers and save the results to the specified files\n\n\\*/\n\n\"use strict\";\n\t\nexports.info = {\n\tname: \"render\",\n\tsynchronous: true\n};\n\t\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\t\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing tiddler filter\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\twiki = this.commander.wiki,\n\t\ttiddlerFilter = this.params[0],\n\t\tfilenameFilter = this.params[1] || \"[is[tiddler]addsuffix[.html]]\",\n\t\ttype = this.params[2] || \"text/html\",\n\t\ttemplate = this.params[3],\n\t\tvariableList = this.params.slice(4),\n\t\ttiddlers = wiki.filterTiddlers(tiddlerFilter),\n\t\tvariables =  Object.create(null);\n\twhile(variableList.length >= 2) {\n\t\tvariables[variableList[0]] = variableList[1];\n\t\tvariableList = variableList.slice(2);\n\t}\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar filenameResults = wiki.filterTiddlers(filenameFilter,$tw.rootWidget,wiki.makeTiddlerIterator([title]));\n\t\tif(filenameResults.length > 0) {\n\t\t\tvar filepath = path.resolve(self.commander.outputPath,filenameResults[0]);\n\t\t\tif(self.commander.verbose) {\n\t\t\t\tconsole.log(\"Rendering \\\"\" + title + \"\\\" to \\\"\" + filepath + \"\\\"\");\n\t\t\t}\n\t\t\tvar parser = wiki.parseTiddler(template || title),\n\t\t\t\twidgetNode = wiki.makeWidget(parser,{variables: $tw.utils.extend({},variables,{currentTiddler: title,storyTiddler: title})}),\n\t\t\t\tcontainer = $tw.fakeDocument.createElement(\"div\");\n\t\t\twidgetNode.render(container,null);\n\t\t\tvar text = type === \"text/html\" ? container.innerHTML : container.textContent;\n\t\t\t$tw.utils.createFileDirectories(filepath);\n\t\t\tfs.writeFileSync(filepath,text,\"utf8\");\n\t\t} else {\n\t\t\tconsole.log(\"Not rendering \\\"\" + title + \"\\\" because the filename filter returned an empty result\");\n\t\t}\n\t});\n\treturn null;\n};\n\t\nexports.Command = Command;\n"
  },
  {
    "path": "core-server/commands/rendertiddler.js",
    "content": "/*\\\ntitle: $:/core/modules/commands/rendertiddler.js\ntype: application/javascript\nmodule-type: command\n\nCommand to render a tiddler and save it to a file\n\n\\*/\n\n\"use strict\";\n\nexports.info = {\n\tname: \"rendertiddler\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\ttitle = this.params[0],\n\t\tfilename = path.resolve(this.commander.outputPath,this.params[1]),\n\t\ttype = this.params[2] || \"text/html\",\n\t\ttemplate = this.params[3],\n\t\tname = this.params[4],\n\t\tvalue = this.params[5],\n\t\tvariables = {};\n\t$tw.utils.createFileDirectories(filename);\n\tif(template) {\n\t\tvariables.currentTiddler = title;\n\t\tvariables.storyTiddler = title;\n\t\ttitle = template;\n\t}\n\tif(name && value) {\n\t\tvariables[name] = value;\n\t}\n\tfs.writeFile(filename,this.commander.wiki.renderTiddler(type,title,{variables: variables}),\"utf8\",function(err) {\n\t\tself.callback(err);\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n"
  },
  {
    "path": "core-server/commands/rendertiddlers.js",
    "content": "/*\\\ntitle: $:/core/modules/commands/rendertiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to render several tiddlers to a folder of files\n\n\\*/\n\n\"use strict\";\n\nexports.info = {\n\tname: \"rendertiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\ttemplate = this.params[1],\n\t\toutputPath = this.commander.outputPath,\n\t\tpathname = path.resolve(outputPath,this.params[2]),\n\t\ttype = this.params[3] || \"text/html\",\n\t\textension = this.params[4] || \".html\",\n\t\tdeleteDirectory = (this.params[5] || \"\").toLowerCase() !== \"noclean\",\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\tif(deleteDirectory) {\n\t\t$tw.utils.deleteDirectory(pathname);\n\t}\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar parser = wiki.parseTiddler(template),\n\t\t\twidgetNode = wiki.makeWidget(parser,{variables: {currentTiddler: title, storyTiddler: title}}),\n\t\t\tcontainer = $tw.fakeDocument.createElement(\"div\");\n\t\twidgetNode.render(container,null);\n\t\tvar text = type === \"text/html\" ? container.innerHTML : container.textContent,\n\t\t\texportPath = null;\n\t\tif($tw.utils.hop($tw.macros,\"tv-get-export-path\")) {\n\t\t\tvar macroPath = $tw.macros[\"tv-get-export-path\"].run.apply(self,[title]);\n\t\t\tif(macroPath) {\n\t\t\t\texportPath = path.resolve(outputPath,macroPath + extension);\n\t\t\t}\n\t\t}\n\t\tvar finalPath = exportPath || path.resolve(pathname,$tw.utils.encodeURIComponentExtended(title) + extension);\n\t\t$tw.utils.createFileDirectories(finalPath);\n\t\tfs.writeFileSync(finalPath,text,\"utf8\");\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n"
  },
  {
    "path": "core-server/commands/save.js",
    "content": "/*\\\ntitle: $:/core/modules/commands/save.js\ntype: application/javascript\nmodule-type: command\n\nSaves individual tiddlers in their raw text or binary format to the specified files\n\n\\*/\n\n\"use strict\";\n\t\nexports.info = {\n\tname: \"save\",\n\tsynchronous: true\n};\n\t\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\t\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing filename filter\";\n\t}\n\tvar self = this,\n\t\tpath = require(\"path\"),\n\t\tresult = null,\n\t\twiki = this.commander.wiki,\n\t\ttiddlerFilter = this.params[0],\n\t\tfilenameFilter = this.params[1] || \"[is[tiddler]]\",\n\t\ttiddlers = wiki.filterTiddlers(tiddlerFilter);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tif(!result) {\n\t\t\tvar tiddler = self.commander.wiki.getTiddler(title);\n\t\t\tif(tiddler) {\n\t\t\t\tvar fileInfo = $tw.utils.generateTiddlerFileInfo(tiddler,{\n\t\t\t\t\tdirectory: path.resolve(self.commander.outputPath),\n\t\t\t\t\tpathFilters: [filenameFilter],\n\t\t\t\t\twiki: wiki,\n\t\t\t\t\tfileInfo: {\n\t\t\t\t\t\toverwrite: true\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif(self.commander.verbose) {\n\t\t\t\t\tconsole.log(\"Saving \\\"\" + title + \"\\\" to \\\"\" + fileInfo.filepath + \"\\\"\");\n\t\t\t\t}\n\t\t\t\ttry {\n\t\t\t\t\t$tw.utils.saveTiddlerToFileSync(tiddler,fileInfo);\n\t\t\t\t} catch (err) {\n\t\t\t\t\tresult = \"Error saving tiddler \\\"\" + title + \"\\\", to file: \\\"\" + fileInfo.filepath + \"\\\"\";\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tresult = \"Tiddler '\" + title + \"' not found\";\n\t\t\t}\n\t\t}\n\t});\n\treturn result;\n};\n\t\nexports.Command = Command;\n"
  },
  {
    "path": "core-server/commands/savelibrarytiddlers.js",
    "content": "/*\\\ntitle: $:/core/modules/commands/savelibrarytiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save the subtiddlers of a bundle tiddler as a series of JSON files\n\n--savelibrarytiddlers <tiddler> <tiddler-filter> <pathname> <skinnylisting>\n\nThe tiddler identifies the bundle tiddler that contains the subtiddlers.\n\nThe tiddler filter specifies the plugins to be included.\n\nThe pathname specifies the pathname to the folder in which the JSON files should be saved. The filename is the URL encoded title of the subtiddler.\n\nThe skinnylisting specifies the title of the tiddler to which a JSON catalogue of the subtiddlers will be saved. The JSON file contains the same data as the bundle tiddler but with the `text` field removed.\n\n\\*/\n\n\"use strict\";\n\nexports.info = {\n\tname: \"savelibrarytiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\tcontainerTitle = this.params[0],\n\t\tfilter = this.params[1],\n\t\tbasepath = this.params[2],\n\t\tskinnyListTitle = this.params[3];\n\t// Get the container tiddler as data\n\tvar containerData = self.commander.wiki.getTiddlerDataCached(containerTitle,undefined);\n\tif(!containerData) {\n\t\treturn \"'\" + containerTitle + \"' is not a tiddler bundle\";\n\t}\n\t// Filter the list of plugins\n\tvar pluginList = [];\n\t$tw.utils.each(containerData.tiddlers,function(tiddler,title) {\n\t\tpluginList.push(title);\n\t});\n\tvar filteredPluginList;\n\tif(filter) {\n\t\tfilteredPluginList = self.commander.wiki.filterTiddlers(filter,null,self.commander.wiki.makeTiddlerIterator(pluginList));\n\t} else {\n\t\tfilteredPluginList = pluginList;\n\t}\n\t// Iterate through the plugins\n\tvar skinnyList = [];\n\t$tw.utils.each(filteredPluginList,function(title) {\n\t\tvar tiddler = containerData.tiddlers[title];\n\t\t// Save each JSON file and collect the skinny data\n\t\tvar pathname = path.resolve(self.commander.outputPath,basepath + $tw.utils.encodeURIComponentExtended(title) + \".json\");\n\t\t$tw.utils.createFileDirectories(pathname);\n\t\tfs.writeFileSync(pathname,JSON.stringify(tiddler),\"utf8\");\n\t\t// Collect the skinny list data\n\t\tvar pluginTiddlers = $tw.utils.parseJSONSafe(tiddler.text),\n\t\t\treadmeContent = (pluginTiddlers.tiddlers[title + \"/readme\"] || {}).text,\n\t\t\tdoesRequireReload = !!self.commander.wiki.doesPluginInfoRequireReload(pluginTiddlers),\n\t\t\ticonTiddler = pluginTiddlers.tiddlers[title + \"/icon\"] || {},\n\t\t\ticonType = iconTiddler.type,\n\t\t\ticonText = iconTiddler.text,\n\t\t\ticonContent;\n\t\tif(iconType && iconText) {\n\t\t\ticonContent = $tw.utils.makeDataUri(iconText,iconType);\n\t\t}\n\t\tskinnyList.push($tw.utils.extend({},tiddler,{\n\t\t\ttext: undefined,\n\t\t\treadme: readmeContent,\n\t\t\t\"requires-reload\": doesRequireReload ? \"yes\" : \"no\",\n\t\t\ticon: iconContent\n\t\t}));\n\t});\n\t// Save the catalogue tiddler\n\tif(skinnyListTitle) {\n\t\tself.commander.wiki.setTiddlerData(skinnyListTitle,skinnyList);\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n"
  },
  {
    "path": "core-server/commands/savetiddler.js",
    "content": "/*\\\ntitle: $:/core/modules/commands/savetiddler.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save the content of a tiddler to a file\n\n\\*/\n\n\"use strict\";\n\nexports.info = {\n\tname: \"savetiddler\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\ttitle = this.params[0],\n\t\tfilename = path.resolve(this.commander.outputPath,this.params[1]),\n\t\ttiddler = this.commander.wiki.getTiddler(title);\n\tif(tiddler) {\n\t\tvar type = tiddler.fields.type || \"text/vnd.tiddlywiki\",\n\t\t\tcontentTypeInfo = $tw.config.contentTypeInfo[type] || {encoding: \"utf8\"};\n\t\t$tw.utils.createFileDirectories(filename);\n\t\tfs.writeFile(filename,tiddler.fields.text,contentTypeInfo.encoding,function(err) {\n\t\t\tself.callback(err);\n\t\t});\n\t} else {\n\t\treturn \"Missing tiddler: \" + title;\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n"
  },
  {
    "path": "core-server/commands/savetiddlers.js",
    "content": "/*\\\ntitle: $:/core/modules/commands/savetiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save several tiddlers to a folder of files\n\n\\*/\n\n\"use strict\";\n\nexports.info = {\n\tname: \"savetiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\tpathname = path.resolve(this.commander.outputPath,this.params[1]),\n\t\tdeleteDirectory = (this.params[2] || \"\").toLowerCase() !== \"noclean\",\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\tif(deleteDirectory) {\n\t\t$tw.utils.deleteDirectory(pathname);\n\t}\n\t$tw.utils.createDirectory(pathname);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.commander.wiki.getTiddler(title),\n\t\t\ttype = tiddler.fields.type || \"text/vnd.tiddlywiki\",\n\t\t\tcontentTypeInfo = $tw.config.contentTypeInfo[type] || {encoding: \"utf8\"},\n\t\t\tfilename = path.resolve(pathname,$tw.utils.encodeURIComponentExtended(title));\n\t\tfs.writeFileSync(filename,tiddler.fields.text || \"\",contentTypeInfo.encoding);\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n"
  },
  {
    "path": "core-server/commands/savewikifolder.js",
    "content": "/*\\\ntitle: $:/core/modules/commands/savewikifolder.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save the current wiki as a wiki folder\n\n--savewikifolder <wikifolderpath> [ [<name>=<value>] ]*\n\nThe following options are supported:\n\n* ''filter'': a filter expression defining the tiddlers to be included in the output\n* ''explodePlugins'': set to \"no\" to suppress exploding plugins into their constituent shadow tiddlers (defaults to \"yes\")\n\nSupports backward compatibility with --savewikifolder <wikifolderpath> [<filter>] [ [<name>=<value>] ]*\n\n\\*/\n\n\"use strict\";\n\nexports.info = {\n\tname: \"savewikifolder\",\n\tsynchronous: true\n};\n\nvar fs,path;\nif($tw.node) {\n\tfs = require(\"fs\");\n\tpath = require(\"path\");\n}\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing wiki folder path\";\n\t}\n\tvar regFilter = /^[a-zA-Z0-9\\.\\-_]+=/g,  // dynamic parameters\n\t\tnamedParames,\n\t\ttiddlerFilter,\n\t\toptions = {};\n\tif(regFilter.test(this.params[1])) {  \n\t\tnamedParames = this.commander.extractNamedParameters(this.params.slice(1));\n\t\ttiddlerFilter = namedParames.filter || \"[all[tiddlers]]\";\n\t} else {\n\t\tnamedParames = this.commander.extractNamedParameters(this.params.slice(2));\n\t\ttiddlerFilter = this.params[1];\n\t}\n\ttiddlerFilter = tiddlerFilter || \"[all[tiddlers]]\";\n\toptions.explodePlugins = namedParames.explodePlugins || \"yes\";\n\tvar wikifoldermaker = new WikiFolderMaker(this.params[0],tiddlerFilter,this.commander,options);\n\treturn wikifoldermaker.save();\n};\n\nfunction WikiFolderMaker(wikiFolderPath,wikiFilter,commander,options) {\n\tthis.wikiFolderPath = wikiFolderPath;\n\tthis.wikiFilter = wikiFilter;\n\tthis.commander = commander;\n\tthis.explodePlugins = options.explodePlugins;\n\tthis.wiki = commander.wiki;\n\tthis.savedPaths = []; // So that we can detect filename clashes\n}\n\nWikiFolderMaker.prototype.log = function(str) {\n\tif(this.commander.verbose) {\n\t\tconsole.log(str);\n\t}\n};\n\nWikiFolderMaker.prototype.tiddlersToIgnore = [\n\t\"$:/boot/boot.css\",\n\t\"$:/boot/boot.js\",\n\t\"$:/boot/bootprefix.js\",\n\t\"$:/core\",\n\t\"$:/core-server\",\n\t\"$:/library/sjcl.js\",\n\t\"$:/temp/info-plugin\"\n];\n\n/*\nReturns null if successful, or an error string if there was an error\n*/\nWikiFolderMaker.prototype.save = function() {\n\tvar self = this;\n\t// Check that the output directory doesn't exist\n\tif(fs.existsSync(this.wikiFolderPath) && !$tw.utils.isDirectoryEmpty(this.wikiFolderPath)) {\n\t\treturn \"The unpackwiki command requires that the output wiki folder be empty\";\n\t}\n\t// Get the tiddlers from the source wiki\n\tvar tiddlerTitles = this.wiki.filterTiddlers(this.wikiFilter);\n\t// Initialise a new tiddlwiki.info file\n\tvar newWikiInfo = {};\n\t// Process each incoming tiddler in turn\n\t$tw.utils.each(tiddlerTitles,function(title) {\n\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\tif(tiddler) {\n\t\t\tif(self.tiddlersToIgnore.indexOf(title) !== -1) {\n\t\t\t\t// Ignore the core plugin and the ephemeral info plugin\n\t\t\t\tself.log(\"Ignoring tiddler: \" + title);\n\t\t\t} else {\n\t\t\t\tvar type = tiddler.fields.type,\n\t\t\t\t\tpluginType = tiddler.fields[\"plugin-type\"];\n\t\t\t\tif(type === \"application/json\" && pluginType) {\n\t\t\t\t\t// Plugin tiddler\n\t\t\t\t\tvar libraryDetails = self.findPluginInLibrary(title);\n\t\t\t\t\tif(libraryDetails) {\n\t\t\t\t\t\t// A plugin from the core library\n\t\t\t\t\t\tself.log(\"Adding built-in plugin: \" + libraryDetails.name);\n\t\t\t\t\t\tnewWikiInfo[libraryDetails.type] = newWikiInfo[libraryDetails.type]  || [];\n\t\t\t\t\t\t$tw.utils.pushTop(newWikiInfo[libraryDetails.type],libraryDetails.name);\n\t\t\t\t\t} else if(self.explodePlugins !== \"no\") {\n\t\t\t\t\t\t// A custom plugin\n\t\t\t\t\t\tself.log(\"Processing custom plugin: \" + title);\n\t\t\t\t\t\tself.saveCustomPlugin(tiddler);\n\t\t\t\t\t} else if(self.explodePlugins === \"no\") {\n\t\t\t\t\t\tself.log(\"Processing custom plugin to tiddlders folder: \" + title);\n\t\t\t\t\t\tself.saveTiddler(\"tiddlers\", tiddler);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Ordinary tiddler\n\t\t\t\t\tself.saveTiddler(\"tiddlers\",tiddler);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\t// Save the tiddlywiki.info file\n\tthis.saveJSONFile(\"tiddlywiki.info\",newWikiInfo);\n\tself.log(\"Writing tiddlywiki.info: \" + JSON.stringify(newWikiInfo,null,$tw.config.preferences.jsonSpaces));\n\treturn null;\n};\n\n/*\nTest whether the specified tiddler is a plugin in the plugin library\n*/\nWikiFolderMaker.prototype.findPluginInLibrary = function(title) {\n\tvar parts = title.split(\"/\"),\n\t\tpluginPath, type, name;\n\tif(parts[0] === \"$:\") {\n\t\tif(parts[1] === \"languages\" && parts.length === 3) {\n\t\t\tpluginPath = \"languages\" + path.sep + parts[2];\n\t\t\ttype = parts[1];\n\t\t\tname = parts[2];\n\t\t} else if(parts[1] === \"plugins\" || parts[1] === \"themes\" && parts.length === 4) {\n\t\t\tpluginPath = parts[1] + path.sep + parts[2] + path.sep + parts[3];\n\t\t\ttype = parts[1];\n\t\t\tname = parts[2] + \"/\" + parts[3];\n\t\t}\n\t}\n\tif(pluginPath && type && name) {\n\t\tpluginPath = path.resolve($tw.boot.bootPath,\"..\",pluginPath);\n\t\tif(fs.existsSync(pluginPath)) {\n\t\t\treturn {\n\t\t\t\tpluginPath: pluginPath,\n\t\t\t\ttype: type,\n\t\t\t\tname: name\n\t\t\t};\n\t\t}\n\t}\n\treturn false;\n};\n\nWikiFolderMaker.prototype.saveCustomPlugin = function(pluginTiddler) {\n\tvar self = this,\n\t\tpluginTitle = pluginTiddler.fields.title,\n\t\ttitleParts = pluginTitle.split(\"/\"),\n\t\tdirectory = $tw.utils.generateTiddlerFilepath(titleParts[titleParts.length - 1],{\n\t\t\tdirectory: path.resolve(this.wikiFolderPath,pluginTiddler.fields[\"plugin-type\"] + \"s\")\n\t\t}),\n\t\tpluginInfo = pluginTiddler.getFieldStrings({exclude: [\"text\",\"type\"]});\n\tthis.saveJSONFile(directory + path.sep + \"plugin.info\",pluginInfo);\n\tself.log(\"Writing \" + directory + path.sep + \"plugin.info: \" + JSON.stringify(pluginInfo,null,$tw.config.preferences.jsonSpaces));\n\tvar pluginTiddlers = $tw.utils.parseJSONSafe(pluginTiddler.fields.text).tiddlers; // A hashmap of tiddlers in the plugin\n\t$tw.utils.each(pluginTiddlers,function(tiddler,title) {\n\t\tif(!tiddler.title) {\n\t\t\ttiddler.title = title;\n\t\t}\n\t\tself.saveTiddler(directory,new $tw.Tiddler(tiddler));\n\t});\n};\n\nWikiFolderMaker.prototype.saveTiddler = function(directory,tiddler) {\n\tvar fileInfo, pathFilters, extFilters;\n\tif(this.wiki.tiddlerExists(\"$:/config/FileSystemPaths\")) {\n\t\tpathFilters = this.wiki.getTiddlerText(\"$:/config/FileSystemPaths\",\"\").split(\"\\n\");\n\t}\n\tif(this.wiki.tiddlerExists(\"$:/config/FileSystemExtensions\")) {\n\t\textFilters = this.wiki.getTiddlerText(\"$:/config/FileSystemExtensions\",\"\").split(\"\\n\");\n\t}\n\tvar fileInfo = $tw.utils.generateTiddlerFileInfo(tiddler,{\n\t\tdirectory: path.resolve(this.wikiFolderPath,directory),\n\t\tpathFilters: pathFilters,\n\t\textFilters: extFilters,\n\t\twiki: this.wiki,\n\t\tfileInfo: {}\n\t});\n\ttry {\n\t\t$tw.utils.saveTiddlerToFileSync(tiddler,fileInfo);\n\t} catch (err) {\n\t\tconsole.log(\"SaveWikiFolder: Error saving file '\" + fileInfo.filepath + \"', tiddler: '\" + tiddler.fields.title);\n\t}\n};\n\nWikiFolderMaker.prototype.saveJSONFile = function(filename,json) {\n\tthis.saveTextFile(filename,JSON.stringify(json,null,$tw.config.preferences.jsonSpaces));\n};\n\nWikiFolderMaker.prototype.saveTextFile = function(filename,data) {\n\tthis.saveFile(filename,\"utf8\",data);\n};\n\nWikiFolderMaker.prototype.saveFile = function(filename,encoding,data) {\n\tvar filepath = path.resolve(this.wikiFolderPath,filename);\n\t$tw.utils.createFileDirectories(filepath);\n\tfs.writeFileSync(filepath,data,encoding);\n};\n\nexports.Command = Command;\n"
  },
  {
    "path": "core-server/commands/server.js",
    "content": "/*\\\ntitle: $:/core/modules/commands/server.js\ntype: application/javascript\nmodule-type: command\n\nDeprecated legacy command for serving tiddlers\n\n\\*/\n\n\"use strict\";\n\nvar Server = require(\"$:/core/modules/server/server.js\").Server;\n\nexports.info = {\n\tname: \"server\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(!$tw.boot.wikiTiddlersPath) {\n\t\t$tw.utils.warning(\"Warning: Wiki folder '\" + $tw.boot.wikiPath + \"' does not exist or is missing a tiddlywiki.info file\");\n\t}\n\t// Set up server\n\tthis.server = new Server({\n\t\twiki: this.commander.wiki,\n\t\tvariables: {\n\t\t\tport: this.params[0],\n\t\t\thost: this.params[6],\n\t\t\t\"root-tiddler\": this.params[1],\n\t\t\t\"root-render-type\": this.params[2],\n\t\t\t\"root-serve-type\": this.params[3],\n\t\t\tusername: this.params[4],\n\t\t\tpassword: this.params[5],\n\t\t\t\"path-prefix\": this.params[7],\n\t\t\t\"debug-level\": this.params[8]\n\t\t}\n\t});\n\tvar nodeServer = this.server.listen();\n\t$tw.hooks.invokeHook(\"th-server-command-post-start\",this.server,nodeServer,\"tiddlywiki\");\n\treturn null;\n};\n\nexports.Command = Command;\n"
  },
  {
    "path": "core-server/commands/setfield.js",
    "content": "/*\\\ntitle: $:/core/modules/commands/setfield.js\ntype: application/javascript\nmodule-type: command\n\nCommand to modify selected tiddlers to set a field to the text of a template tiddler that has been wikified with the selected tiddler as the current tiddler.\n\n\\*/\n\n\"use strict\";\n\nexports.info = {\n\tname: \"setfield\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 4) {\n\t\treturn \"Missing parameters\";\n\t}\n\tvar wiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\tfieldname = this.params[1] || \"text\",\n\t\ttemplatetitle = this.params[2],\n\t\trendertype = this.params[3] || \"text/plain\",\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar parser = wiki.parseTiddler(templatetitle),\n\t\t\tnewFields = {},\n\t\t\ttiddler = wiki.getTiddler(title);\n\t\tif(parser) {\n\t\t\tvar widgetNode = wiki.makeWidget(parser,{variables: {currentTiddler: title}});\n\t\t\tvar container = $tw.fakeDocument.createElement(\"div\");\n\t\t\twidgetNode.render(container,null);\n\t\t\tnewFields[fieldname] = rendertype === \"text/html\" ? container.innerHTML : container.textContent;\n\t\t} else {\n\t\t\tnewFields[fieldname] = undefined;\n\t\t}\n\t\twiki.addTiddler(new $tw.Tiddler(tiddler,newFields));\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n"
  },
  {
    "path": "core-server/commands/unpackplugin.js",
    "content": "/*\\\ntitle: $:/core/modules/commands/unpackplugin.js\ntype: application/javascript\nmodule-type: command\n\nCommand to extract the shadow tiddlers from within a plugin\n\n\\*/\n\n\"use strict\";\n\nexports.info = {\n\tname: \"unpackplugin\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing plugin name\";\n\t}\n\tvar self = this,\n\t\ttitle = this.params[0],\n\t\tpluginData = this.commander.wiki.getTiddlerDataCached(title);\n\tif(!pluginData) {\n\t\treturn \"Plugin '\" + title + \"' not found\";\n\t}\n\t$tw.utils.each(pluginData.tiddlers,function(tiddler) {\n\t\tself.commander.wiki.addTiddler(new $tw.Tiddler(tiddler));\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n"
  },
  {
    "path": "core-server/commands/verbose.js",
    "content": "/*\\\ntitle: $:/core/modules/commands/verbose.js\ntype: application/javascript\nmodule-type: command\n\nVerbose command\n\n\\*/\n\n\"use strict\";\n\nexports.info = {\n\tname: \"verbose\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tthis.commander.verbose = true;\n\t// Output the boot message log\n\tthis.commander.streams.output.write(\"Boot log:\\n  \" + $tw.boot.logMessages.join(\"\\n  \") + \"\\n\");\n\treturn null; // No error\n};\n\nexports.Command = Command;\n"
  },
  {
    "path": "core-server/commands/version.js",
    "content": "/*\\\ntitle: $:/core/modules/commands/version.js\ntype: application/javascript\nmodule-type: command\n\nVersion command\n\n\\*/\n\n\"use strict\";\n\nexports.info = {\n\tname: \"version\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tthis.commander.streams.output.write($tw.version + \"\\n\");\n\treturn null; // No error\n};\n\nexports.Command = Command;\n"
  },
  {
    "path": "core-server/filesystem.js",
    "content": "/*\\\ntitle: $:/core/modules/utils/filesystem.js\ntype: application/javascript\nmodule-type: utils-node\n\nFile system utilities\n\n\\*/\n\n\"use strict\";\n\nvar fs = require(\"fs\"),\n\tpath = require(\"path\");\n\n/*\nReturn the subdirectories of a path\n*/\nexports.getSubdirectories = function(dirPath) {\n\tif(!$tw.utils.isDirectory(dirPath)) {\n\t\treturn null;\n\t}\n\tvar subdirs = [];\n\t$tw.utils.each(fs.readdirSync(dirPath),function(item) {\n\t\tif($tw.utils.isDirectory(path.resolve(dirPath,item))) {\n\t\t\tsubdirs.push(item);\n\t\t}\n\t});\n\treturn subdirs;\n};\n\n/*\nRecursively (and synchronously) copy a directory and all its content\n*/\nexports.copyDirectory = function(srcPath,dstPath) {\n\t// Remove any trailing path separators\n\tsrcPath = path.resolve($tw.utils.removeTrailingSeparator(srcPath));\n\tdstPath = path.resolve($tw.utils.removeTrailingSeparator(dstPath));\n\t// Check that neither director is within the other\n\tif(srcPath.substring(0,dstPath.length) === dstPath || dstPath.substring(0,srcPath.length) === srcPath) {\n\t\treturn \"Cannot copy nested directories\";\n\t}\n\t// Create the destination directory\n\tvar err = $tw.utils.createDirectory(dstPath);\n\tif(err) {\n\t\treturn err;\n\t}\n\t// Function to copy a folder full of files\n\tvar copy = function(srcPath,dstPath) {\n\t\tvar srcStats = fs.lstatSync(srcPath);\n\t\tif(srcStats.isFile()) {\n\t\t\t$tw.utils.copyFile(srcPath,dstPath);\n\t\t} else if(srcStats.isDirectory()) {\n\t\t\tvar items = fs.readdirSync(srcPath);\n\t\t\tfor(var t=0; t<items.length; t++) {\n\t\t\t\tvar item = items[t],\n\t\t\t\t\terr = copy(srcPath + path.sep + item,dstPath + path.sep + item);\n\t\t\t\tif(err) {\n\t\t\t\t\treturn err;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\tcopy(srcPath,dstPath);\n\treturn null;\n};\n\n/*\nCopy a file\n*/\nvar FILE_BUFFER_LENGTH = 64 * 1024,\n\tfileBuffer;\n\nexports.copyFile = function(srcPath,dstPath) {\n\t// Create buffer if required\n\tif(!fileBuffer) {\n\t\tfileBuffer = Buffer.alloc(FILE_BUFFER_LENGTH);\n\t}\n\t// Create any directories in the destination\n\t$tw.utils.createDirectory(path.dirname(dstPath));\n\t// Copy the file\n\tvar srcFile = fs.openSync(srcPath,\"r\"),\n\t\tdstFile = fs.openSync(dstPath,\"w\"),\n\t\tbytesRead = 1,\n\t\tpos = 0;\n\twhile(bytesRead > 0) {\n\t\tbytesRead = fs.readSync(srcFile,fileBuffer,0,FILE_BUFFER_LENGTH,pos);\n\t\tfs.writeSync(dstFile,fileBuffer,0,bytesRead);\n\t\tpos += bytesRead;\n\t}\n\tfs.closeSync(srcFile);\n\tfs.closeSync(dstFile);\n\treturn null;\n};\n\n/*\nRemove trailing path separator\n*/\nexports.removeTrailingSeparator = function(dirPath) {\n\tvar len = dirPath.length;\n\tif(dirPath.charAt(len-1) === path.sep) {\n\t\tdirPath = dirPath.substr(0,len-1);\n\t}\n\treturn dirPath;\n};\n\n/*\nRecursively create a directory\n*/\nexports.createDirectory = function(dirPath) {\n\tif(dirPath.substr(dirPath.length-1,1) !== path.sep) {\n\t\tdirPath = dirPath + path.sep;\n\t}\n\tvar pos = 1;\n\tpos = dirPath.indexOf(path.sep,pos);\n\twhile(pos !== -1) {\n\t\tvar subDirPath = dirPath.substr(0,pos);\n\t\tif(!$tw.utils.isDirectory(subDirPath)) {\n\t\t\ttry {\n\t\t\t\tfs.mkdirSync(subDirPath);\n\t\t\t} catch(e) {\n\t\t\t\treturn \"Error creating directory '\" + subDirPath + \"'\";\n\t\t\t}\n\t\t}\n\t\tpos = dirPath.indexOf(path.sep,pos + 1);\n\t}\n\treturn null;\n};\n\n/*\nRecursively create directories needed to contain a specified file\n*/\nexports.createFileDirectories = function(filePath) {\n\treturn $tw.utils.createDirectory(path.dirname(filePath));\n};\n\n/*\nRecursively delete a directory\n*/\nexports.deleteDirectory = function(dirPath) {\n\tif(fs.existsSync(dirPath)) {\n\t\tvar entries = fs.readdirSync(dirPath);\n\t\tfor(var entryIndex=0; entryIndex<entries.length; entryIndex++) {\n\t\t\tvar currPath = dirPath + path.sep + entries[entryIndex];\n\t\t\tif(fs.lstatSync(currPath).isDirectory()) {\n\t\t\t\t$tw.utils.deleteDirectory(currPath);\n\t\t\t} else {\n\t\t\t\tfs.unlinkSync(currPath);\n\t\t\t}\n\t\t}\n\t\tfs.rmdirSync(dirPath);\n\t}\n\treturn null;\n};\n\n/*\nCheck if a path identifies a directory\n*/\nexports.isDirectory = function(dirPath) {\n\treturn fs.existsSync(dirPath) && fs.statSync(dirPath).isDirectory();\n};\n\n/*\nCheck if a path identifies a directory that is empty\n*/\nexports.isDirectoryEmpty = function(dirPath) {\n\tif(!$tw.utils.isDirectory(dirPath)) {\n\t\treturn false;\n\t}\n\tvar files = fs.readdirSync(dirPath),\n\t\tempty = true;\n\t$tw.utils.each(files,function(file,index) {\n\t\tif(file.charAt(0) !== \".\") {\n\t\t\tempty = false;\n\t\t}\n\t});\n\treturn empty;\n};\n\n/*\nRecursively delete a tree of empty directories\n*/\nexports.deleteEmptyDirs = function(dirpath,callback) {\n\tvar self = this;\n\tfs.readdir(dirpath,function(err,files) {\n\t\tif(err) {\n\t\t\treturn callback(err);\n\t\t}\n\t\tif(files.length > 0) {\n\t\t\treturn callback(null);\n\t\t}\n\t\tfs.rmdir(dirpath,function(err) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tself.deleteEmptyDirs(path.dirname(dirpath),callback);\n\t\t});\n\t});\n};\n\n/*\nCreate a fileInfo object for saving a tiddler:\n\tfilepath: the absolute path to the file containing the tiddler\n\ttype: the type of the tiddler file on disk (NOT the type of the tiddler)\n\thasMetaFile: true if the file also has a companion .meta file\n\tisEditableFile: true if the tiddler was loaded via non-standard options & marked editable\nOptions include:\n\tdirectory: absolute path of root directory to which we are saving\n\tpathFilters: optional array of filters to be used to generate the base path\n\textFilters: optional array of filters to be used to generate the base path\n\twiki: optional wiki for evaluating the pathFilters,\n\tfileInfo: an existing fileInfo to check against\n*/\nexports.generateTiddlerFileInfo = function(tiddler,options) {\n\tvar fileInfo = {}, metaExt;\n\t// Propagate the isEditableFile flag\n\tif(options.fileInfo && !!options.fileInfo.isEditableFile) {\n\t\tfileInfo.isEditableFile = true;\n\t\tfileInfo.originalpath = options.fileInfo.originalpath;\n\t}\n\t// Check if the tiddler has any unsafe fields that can't be expressed in a .tid or .meta file: containing control characters, or leading/trailing whitespace\n\tvar hasUnsafeFields = false;\n\t$tw.utils.each(tiddler.getFieldStrings(),function(value,fieldName) {\n\t\tif(fieldName !== \"text\") {\n\t\t\thasUnsafeFields = hasUnsafeFields || /[\\x00-\\x1F]/mg.test(value);\n\t\t\thasUnsafeFields = hasUnsafeFields || ($tw.utils.trim(value) !== value);\n\t\t}\n\t\thasUnsafeFields = hasUnsafeFields || /:|#/mg.test(fieldName);\n\t});\n\t// Check for field values \n\tif(hasUnsafeFields) {\n\t\t// Save as a JSON file\n\t\tfileInfo.type = \"application/json\";\n\t\tfileInfo.hasMetaFile = false;\n\t} else {\n\t\t// Save as a .tid or a text/binary file plus a .meta file\n\t\tvar tiddlerType = tiddler.fields.type || \"text/vnd.tiddlywiki\";\n\t\tif(tiddlerType === \"text/vnd.tiddlywiki\" || tiddlerType === \"text/vnd.tiddlywiki-multiple\" || tiddler.hasField(\"_canonical_uri\")) {\n\t\t\t// Save as a .tid file\n\t\t\tfileInfo.type = \"application/x-tiddler\";\n\t\t\tfileInfo.hasMetaFile = false;\n\t\t} else {\n\t\t\t// Save as a text/binary file and a .meta file\n\t\t\tfileInfo.type = tiddlerType;\n\t\t\tfileInfo.hasMetaFile = true;\n\t\t}\n\t\tif(options.extFilters) {\n\t\t\t// Check for extension overrides\n\t\t\tmetaExt = $tw.utils.generateTiddlerExtension(tiddler.fields.title,{\n\t\t\t\textFilters: options.extFilters,\n\t\t\t\twiki: options.wiki\n\t\t\t});\n\t\t\tif(metaExt) {\n\t\t\t\tif(metaExt === \".tid\") {\n\t\t\t\t\t// Overriding to the .tid extension needs special handling\n\t\t\t\t\tfileInfo.type = \"application/x-tiddler\";\n\t\t\t\t\tfileInfo.hasMetaFile = false;\n\t\t\t\t} else if(metaExt === \".json\") {\n\t\t\t\t\t// Overriding to the .json extension needs special handling\n\t\t\t\t\tfileInfo.type = \"application/json\";\n\t\t\t\t\tfileInfo.hasMetaFile = false;\n\t\t\t\t} else {\n\t\t\t\t\t//If the new type matches a known extention, use that MIME type's encoding\n\t\t\t\t\tvar extInfo = $tw.utils.getFileExtensionInfo(metaExt);\n\t\t\t\t\tfileInfo.type = extInfo ? extInfo.type : null;\n\t\t\t\t\tfileInfo.encoding = $tw.utils.getTypeEncoding(metaExt);\n\t\t\t\t\tfileInfo.hasMetaFile = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t// Take the file extension from the tiddler content type or metaExt\n\tvar contentTypeInfo = $tw.config.contentTypeInfo[fileInfo.type] || {extension: \"\"};\n\t// Generate the filepath\n\tfileInfo.filepath = $tw.utils.generateTiddlerFilepath(tiddler.fields.title,{\n\t\textension: metaExt || contentTypeInfo.extension,\n\t\tdirectory: options.directory,\n\t\tpathFilters: options.pathFilters,\n\t\twiki: options.wiki,\n\t\tfileInfo: options.fileInfo\n\t});\n\treturn fileInfo;\n};\n\n/*\nGenerate the file extension for saving a tiddler\nOptions include:\n\textFilters: optional array of filters to be used to generate the extention\n\twiki: optional wiki for evaluating the extFilters\n*/\nexports.generateTiddlerExtension = function(title,options) {\n\tvar extension;\n\t// Check if any of the extFilters applies\n\tif(options.extFilters && options.wiki) { \n\t\t$tw.utils.each(options.extFilters,function(filter) {\n\t\t\tif(!extension) {\n\t\t\t\tvar source = options.wiki.makeTiddlerIterator([title]),\n\t\t\t\t\tresult = options.wiki.filterTiddlers(filter,null,source);\n\t\t\t\tif(result.length > 0) {\n\t\t\t\t\textension = result[0];\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn extension;\n};\n\n/*\nGenerate the filepath for saving a tiddler\nOptions include:\n\textension: file extension to be added the finished filepath\n\tdirectory: absolute path of root directory to which we are saving\n\tpathFilters: optional array of filters to be used to generate the base path\n\twiki: optional wiki for evaluating the pathFilters\n\tfileInfo: an existing fileInfo object to check against\n\tfileInfo.overwrite: if true, turns off filename clash numbers (defaults to false)\n*/\nexports.generateTiddlerFilepath = function(title,options) {\n\tvar directory = options.directory || \"\",\n\t\textension = options.extension || \"\",\n\t\toriginalpath = (options.fileInfo && options.fileInfo.originalpath) ? options.fileInfo.originalpath : \"\",\n\t\toverwrite = options.fileInfo && options.fileInfo.overwrite || false,\n\t\tfilepath;\n\t// Check if any of the pathFilters applies\n\tif(options.pathFilters && options.wiki) {\n\t\t$tw.utils.each(options.pathFilters,function(filter) {\n\t\t\tif(!filepath) {\n\t\t\t\tvar source = options.wiki.makeTiddlerIterator([title]),\n\t\t\t\t\tresult = options.wiki.filterTiddlers(filter,null,source);\n\t\t\t\tif(result.length > 0) {\n\t\t\t\t\tfilepath = result[0];\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\tif(!filepath && !!originalpath) {\n\t\t//Use the originalpath without the extension\n\t\tvar ext = path.extname(originalpath);\n\t\tfilepath = originalpath.substring(0,originalpath.length - ext.length);\n\t} else if(!filepath) {\n\t\tfilepath = title;\n\t\t// Remove any forward or backward slashes so we don't create directories\n\t\tfilepath = filepath.replace(/\\/|\\\\/g,\"_\");\n\t}\n\t// Replace any Windows control codes\n\tfilepath = filepath.replace(/^(con|prn|aux|nul|com[0-9]|lpt[0-9])$/i,\"_$1_\");\n\t// Replace any leading spaces with the same number of underscores\n\tfilepath = filepath.replace(/^ +/,function (u) { return u.replace(/ /g, \"_\");});\n\t//If the path does not start with \".\" or \"..\" && a path seperator, then\n\tif(!/^\\.{1,2}[/\\\\]/g.test(filepath)) {\n\t\t// Don't let the filename start with any dots because such files are invisible on *nix\n\t\tfilepath = filepath.replace(/^\\.+/g,function (u) { return u.replace(/\\./g, \"_\");});\n\t}\n\t// Replace any Unicode control codes\n\tfilepath = filepath.replace(/[\\x00-\\x1f\\x80-\\x9f]/g,\"_\");\n\t// Replace any characters that can't be used in cross-platform filenames\n\tfilepath = $tw.utils.transliterate(filepath.replace(/<|>|~|\\:|\\\"|\\||\\?|\\*|\\^/g,\"_\"));\n\t// Replace any dots or spaces at the end of the extension with the same number of underscores\n\textension = extension.replace(/[\\. ]+$/, function (u) { return u.replace(/[\\. ]/g, \"_\");});\n\t// Truncate the extension if it is too long\n\tif(extension.length > 32) {\n\t\textension = extension.substr(0,32);\n\t}\n\t// If the filepath already ends in the extension then remove it\n\tif(filepath.substring(filepath.length - extension.length) === extension) {\n\t\tfilepath = filepath.substring(0,filepath.length - extension.length);\n\t}\n\t// Truncate the filename if it is too long\n\tif(filepath.length > 200) {\n\t\tfilepath = filepath.substr(0,200);\n\t}\n\t// If the resulting filename is blank (eg because the title is just punctuation)\n\tif(!filepath || /^_+$/g.test(filepath)) {\n\t\t// ...then just use the character codes of the title\n\t\tfilepath = \"\";\n\t\t$tw.utils.each(title.split(\"\"),function(char) {\n\t\t\tif(filepath) {\n\t\t\t\tfilepath += \"-\";\n\t\t\t}\n\t\t\tfilepath += char.charCodeAt(0).toString();\n\t\t});\n\t}\n\t// Add a uniquifier if the file already exists (default)\n\tvar fullPath = path.resolve(directory, filepath + extension);\n\tif(!overwrite) {\n\t\tvar oldPath = (options.fileInfo) ? options.fileInfo.filepath : undefined,\n\t\t\tcount = 0;\n\t\tdo {\n\t\t\tfullPath = path.resolve(directory,filepath + (count ? \"_\" + count : \"\") + extension);\n\t\t\tif(oldPath && oldPath == fullPath) break;\n\t\t\tcount++;\n\t\t} while(fs.existsSync(fullPath));\n\t}\n\t// If the last write failed with an error, or if path does not start with:\n\t//\tthe resolved options.directory, the resolved wikiPath directory, the wikiTiddlersPath directory, \n\t//\tor the 'originalpath' directory, then $tw.utils.encodeURIComponentExtended() and resolve to options.directory.\n\tvar writePath = $tw.hooks.invokeHook(\"th-make-tiddler-path\",fullPath,fullPath),\n\t\tencode = (options.fileInfo || {writeError: false}).writeError == true;\n\tif(!encode) {\n\t\tencode = !(writePath.indexOf($tw.boot.wikiTiddlersPath) == 0 ||\n\t\t\twritePath.indexOf(path.resolve(directory)) == 0 ||\n\t\t\twritePath.indexOf(path.resolve($tw.boot.wikiPath)) == 0 ||\n\t\t\twritePath.indexOf(path.resolve($tw.boot.wikiTiddlersPath,originalpath)) == 0 );\n\t}\n\tif(encode) {\n\t\twritePath = path.resolve(directory,$tw.utils.encodeURIComponentExtended(fullPath));\n\t}\n\t// Return the full path to the file\n\treturn writePath;\n};\n\n/*\nSave a tiddler to a file described by the fileInfo:\n\tfilepath: the absolute path to the file containing the tiddler\n\ttype: the type of the tiddler file (NOT the type of the tiddler)\n\thasMetaFile: true if the file also has a companion .meta file\n*/\nexports.saveTiddlerToFile = function(tiddler,fileInfo,callback) {\n\t$tw.utils.createDirectory(path.dirname(fileInfo.filepath));\n\tif(fileInfo.hasMetaFile) {\n\t\t// Save the tiddler as a separate body and meta file\n\t\tvar typeInfo = $tw.config.contentTypeInfo[tiddler.fields.type || \"text/plain\"] || {encoding: \"utf8\"};\n\t\tfs.writeFile(fileInfo.filepath,tiddler.fields.text || \"\",typeInfo.encoding,function(err) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tfs.writeFile(fileInfo.filepath + \".meta\",tiddler.getFieldStringBlock({exclude: [\"text\",\"bag\"]}),\"utf8\",function(err) {\n\t\t\t\tif(err) {\n\t\t\t\t\treturn callback(err);\n\t\t\t\t}\n\t\t\t\treturn callback(null,fileInfo);\n\t\t\t});\n\t\t});\n\t} else {\n\t\t// Save the tiddler as a self contained templated file\n\t\tif(fileInfo.type === \"application/x-tiddler\") {\n\t\t\tfs.writeFile(fileInfo.filepath,tiddler.getFieldStringBlock({exclude: [\"text\",\"bag\"]}) + (!!tiddler.fields.text ? \"\\n\\n\" + tiddler.fields.text : \"\"),\"utf8\",function(err) {\n\t\t\t\tif(err) {\n\t\t\t\t\treturn callback(err);\n\t\t\t\t}\n\t\t\t\treturn callback(null,fileInfo);\n\t\t\t});\n\t\t} else {\n\t\t\tfs.writeFile(fileInfo.filepath,JSON.stringify([tiddler.getFieldStrings({exclude: [\"bag\"]})],null,$tw.config.preferences.jsonSpaces),\"utf8\",function(err) {\n\t\t\t\tif(err) {\n\t\t\t\t\treturn callback(err);\n\t\t\t\t}\n\t\t\t\treturn callback(null,fileInfo);\n\t\t\t});\n\t\t}\n\t}\n};\n\n/*\nSave a tiddler to a file described by the fileInfo:\n\tfilepath: the absolute path to the file containing the tiddler\n\ttype: the type of the tiddler file (NOT the type of the tiddler)\n\thasMetaFile: true if the file also has a companion .meta file\n*/\nexports.saveTiddlerToFileSync = function(tiddler,fileInfo) {\n\t$tw.utils.createDirectory(path.dirname(fileInfo.filepath));\n\tif(fileInfo.hasMetaFile) {\n\t\t// Save the tiddler as a separate body and meta file\n\t\tvar typeInfo = $tw.config.contentTypeInfo[tiddler.fields.type || \"text/plain\"] || {encoding: \"utf8\"};\n\t\tfs.writeFileSync(fileInfo.filepath,tiddler.fields.text || \"\",typeInfo.encoding);\n\t\tfs.writeFileSync(fileInfo.filepath + \".meta\",tiddler.getFieldStringBlock({exclude: [\"text\",\"bag\"]}),\"utf8\");\n\t} else {\n\t\t// Save the tiddler as a self contained templated file\n\t\tif(fileInfo.type === \"application/x-tiddler\") {\n\t\t\tfs.writeFileSync(fileInfo.filepath,tiddler.getFieldStringBlock({exclude: [\"text\",\"bag\"]}) + (!!tiddler.fields.text ? \"\\n\\n\" + tiddler.fields.text : \"\"),\"utf8\");\n\t\t} else {\n\t\t\tfs.writeFileSync(fileInfo.filepath,JSON.stringify([tiddler.getFieldStrings({exclude: [\"bag\"]})],null,$tw.config.preferences.jsonSpaces),\"utf8\");\n\t\t}\n\t}\n\treturn fileInfo;\n};\n\n/*\nDelete a file described by the fileInfo if it exits\n*/\nexports.deleteTiddlerFile = function(fileInfo,callback) {\n\t//Only attempt to delete files that exist on disk\n\tif(!fileInfo.filepath || !fs.existsSync(fileInfo.filepath)) {\n\t\t//For some reason, the tiddler is only in memory or we can't modify the file at this path\n\t\t$tw.syncer.displayError(\"Server deleteTiddlerFile task failed for filepath: \"+fileInfo.filepath);\n\t\treturn callback(null,fileInfo);\n\t}\n\t// Delete the file\n\tfs.unlink(fileInfo.filepath,function(err) {\n\t\tif(err) {\n\t\t\treturn callback(err);\n\t\t}\n\t\t// Delete the metafile if present\n\t\tif(fileInfo.hasMetaFile && fs.existsSync(fileInfo.filepath + \".meta\")) {\n\t\t\tfs.unlink(fileInfo.filepath + \".meta\",function(err) {\n\t\t\t\tif(err) {\n\t\t\t\t\treturn callback(err);\n\t\t\t\t}\n\t\t\t\treturn $tw.utils.deleteEmptyDirs(path.dirname(fileInfo.filepath),function(err) {\n\t\t\t\t\tif(err) {\n\t\t\t\t\t\treturn callback(err);\n\t\t\t\t\t}\n\t\t\t\t\treturn callback(null,fileInfo);\n\t\t\t\t});\n\t\t\t});\n\t\t} else {\n\t\t\treturn $tw.utils.deleteEmptyDirs(path.dirname(fileInfo.filepath),function(err) {\n\t\t\t\tif(err) {\n\t\t\t\t\treturn callback(err);\n\t\t\t\t}\n\t\t\t\treturn callback(null,fileInfo);\n\t\t\t});\n\t\t}\n\t});\n};\n\n/*\nCleanup old files on disk, by comparing the options values:\n\tadaptorInfo from $tw.syncer.tiddlerInfo\n\tbootInfo from $tw.boot.files\n*/\nexports.cleanupTiddlerFiles = function(options,callback) {\n\tvar adaptorInfo = options.adaptorInfo || {},\n\t\tbootInfo = options.bootInfo || {},\n\t\ttitle = options.title || \"undefined\";\n\tif(adaptorInfo.filepath && bootInfo.filepath && adaptorInfo.filepath !== bootInfo.filepath) {\n\t\t$tw.utils.deleteTiddlerFile(adaptorInfo,function(err) {\n\t\t\tif(err) {\n\t\t\t\tif((err.code == \"EPERM\" || err.code == \"EACCES\") && err.syscall == \"unlink\") {\n\t\t\t\t\t// Error deleting the previous file on disk, should fail gracefully\n\t\t\t\t\t$tw.syncer.displayError(\"Server desynchronized. Error cleaning up previous file for tiddler: \\\"\"+title+\"\\\"\",err);\n\t\t\t\t\treturn callback(null,bootInfo);\n\t\t\t\t} else {\n\t\t\t\t\treturn callback(err);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn callback(null,bootInfo);\n\t\t});\n\t} else {\n\t\treturn callback(null,bootInfo);\n\t}\n};\n"
  },
  {
    "path": "core-server/plugin.info",
    "content": "{\n\t\"title\": \"$:/core-server\",\n\t\"name\": \"Core Server Components\",\n\t\"description\": \"TiddlyWiki5 core server components\",\n\t\"author\": \"JeremyRuston\",\n\t\"core-version\": \">=5.0.0\",\n\t\"platform\": \"server\",\n\t\"plugin-priority\": \"0\",\n\t\"list\": \"readme\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "core-server/readme.tid",
    "content": "title: $:/core-server/readme\n\nThis plugin contains TiddlyWiki's core components that are only needed on the server, comprising:\n\n* Commands\n* HTTP server code\n* Utility functions for server\n"
  },
  {
    "path": "core-server/server/authenticators/basic.js",
    "content": "/*\\\ntitle: $:/core/modules/server/authenticators/basic.js\ntype: application/javascript\nmodule-type: authenticator\n\nAuthenticator for WWW basic authentication\n\n\\*/\n\n\"use strict\";\n\nif($tw.node) {\n\tvar fs = require(\"fs\"),\n\t\tpath = require(\"path\");\n}\n\nfunction BasicAuthenticator(server) {\n\tthis.server = server;\n\tthis.credentialsData = [];\n}\n\n/*\nReturns true if the authenticator is active, false if it is inactive, or a string if there is an error\n*/\nBasicAuthenticator.prototype.init = function() {\n\t// Read the credentials data\n\tthis.credentialsFilepath = this.server.get(\"credentials\");\n\tif(this.credentialsFilepath) {\n\t\tvar resolveCredentialsFilepath = path.resolve(this.server.boot.wikiPath,this.credentialsFilepath);\n\t\tif(fs.existsSync(resolveCredentialsFilepath) && !fs.statSync(resolveCredentialsFilepath).isDirectory()) {\n\t\t\tvar credentialsText = fs.readFileSync(resolveCredentialsFilepath,\"utf8\"),\n\t\t\t\tcredentialsData = $tw.utils.parseCsvStringWithHeader(credentialsText);\n\t\t\tif(typeof credentialsData === \"string\") {\n\t\t\t\treturn \"Error: \" + credentialsData + \" reading credentials from '\" + resolveCredentialsFilepath + \"'\";\n\t\t\t} else {\n\t\t\t\tthis.credentialsData = credentialsData;\n\t\t\t}\n\t\t} else {\n\t\t\treturn \"Error: Unable to load user credentials from '\" + resolveCredentialsFilepath + \"'\";\n\t\t}\n\t}\n\t// Add the hardcoded username and password if specified\n\tif(this.server.get(\"username\") && this.server.get(\"password\")) {\n\t\tthis.credentialsData = this.credentialsData || [];\n\t\tthis.credentialsData.push({\n\t\t\tusername: this.server.get(\"username\"),\n\t\t\tpassword: this.server.get(\"password\")\n\t\t});\n\t}\n\treturn this.credentialsData.length > 0;\n};\n\n/*\nReturns true if the request is authenticated and assigns the \"authenticatedUsername\" state variable.\nReturns false if the request couldn't be authenticated having sent an appropriate response to the browser\n*/\nBasicAuthenticator.prototype.authenticateRequest = function(request,response,state) {\n\t// Extract the incoming username and password from the request\n\tvar header = request.headers.authorization || \"\";\n\tif(!header && state.allowAnon) {\n\t\t// If there's no header and anonymous access is allowed then we don't set authenticatedUsername\n\t\treturn true;\n\t}\n\tvar token = header.split(/\\s+/).pop() || \"\",\n\t\tauth = $tw.utils.base64Decode(token),\n\t\tparts = auth.split(/:/),\n\t\tincomingUsername = parts[0],\n\t\tincomingPassword = parts[1];\n\t// Check that at least one of the credentials matches\n\tvar matchingCredentials = this.credentialsData.find(function(credential) {\n\t\treturn credential.username === incomingUsername && credential.password === incomingPassword;\n\t});\n\tif(matchingCredentials) {\n\t\t// If so, add the authenticated username to the request state\n\t\tstate.authenticatedUsername = incomingUsername;\n\t\treturn true;\n\t} else {\n\t\t// If not, return an authentication challenge\n\t\tresponse.writeHead(401,\"Authentication required\",{\n\t\t\t\"WWW-Authenticate\": 'Basic realm=\"Please provide your username and password to login to ' + state.server.servername + '\"'\n\t\t});\n\t\tresponse.end();\n\t\treturn false;\n\t}\n};\n\nexports.AuthenticatorClass = BasicAuthenticator;\n"
  },
  {
    "path": "core-server/server/authenticators/header.js",
    "content": "/*\\\ntitle: $:/core/modules/server/authenticators/header.js\ntype: application/javascript\nmodule-type: authenticator\n\nAuthenticator for trusted header authentication\n\n\\*/\n\n\"use strict\";\n\nfunction HeaderAuthenticator(server) {\n\tthis.server = server;\n\tthis.header = server.get(\"authenticated-user-header\") ? server.get(\"authenticated-user-header\").toLowerCase() : undefined;\n}\n\n/*\nReturns true if the authenticator is active, false if it is inactive, or a string if there is an error\n*/\nHeaderAuthenticator.prototype.init = function() {\n\treturn !!this.header;\n};\n\n/*\nReturns true if the request is authenticated and assigns the \"authenticatedUsername\" state variable.\nReturns false if the request couldn't be authenticated having sent an appropriate response to the browser\n*/\nHeaderAuthenticator.prototype.authenticateRequest = function(request,response,state) {\n\t// Otherwise, authenticate as the username in the specified header\n\tvar username = request.headers[this.header];\n\tif(!username && !state.allowAnon) {\n\t\tresponse.writeHead(401,\"Authorization header required to login to '\" + state.server.servername + \"'\");\n\t\tresponse.end();\n\t\treturn false;\n\t} else {\n\t\t// authenticatedUsername will be undefined for anonymous users\n\t\tif(username) {\n\t\t\tstate.authenticatedUsername = $tw.utils.decodeURIComponentSafe(username);\n\t\t}\n\t\treturn true;\n\t}\n};\n\nexports.AuthenticatorClass = HeaderAuthenticator;\n\n"
  },
  {
    "path": "core-server/server/routes/delete-tiddler.js",
    "content": "/*\\\ntitle: $:/core/modules/server/routes/delete-tiddler.js\ntype: application/javascript\nmodule-type: route\n\nDELETE /recipes/default/tiddlers/:title\n\n\\*/\n\"use strict\";\n\nexports.methods = [\"DELETE\"];\n\nexports.path = /^\\/bags\\/default\\/tiddlers\\/(.+)$/;\n\nexports.info = {\n\tpriority: 100\n};\n\nexports.handler = function(request,response,state) {\n\tvar title = $tw.utils.decodeURIComponentSafe(state.params[0]);\n\tstate.wiki.deleteTiddler(title);\n\tresponse.writeHead(204, \"OK\", {\n\t\t\"Content-Type\": \"text/plain\"\n\t});\n\tresponse.end();\n};\n"
  },
  {
    "path": "core-server/server/routes/get-favicon.js",
    "content": "/*\\\ntitle: $:/core/modules/server/routes/get-favicon.js\ntype: application/javascript\nmodule-type: route\n\nGET /favicon.ico\n\n\\*/\n\"use strict\";\n\nexports.methods = [\"GET\"];\n\nexports.path = /^\\/favicon.ico$/;\n\nexports.info = {\n\tpriority: 100\n};\n\nexports.handler = function(request,response,state) {\n\tvar buffer = state.wiki.getTiddlerText(\"$:/favicon.ico\",\"\");\n\tstate.sendResponse(200,{\"Content-Type\": \"image/x-icon\"},buffer,\"base64\");\n};\n"
  },
  {
    "path": "core-server/server/routes/get-file.js",
    "content": "/*\\\ntitle: $:/core/modules/server/routes/get-file.js\ntype: application/javascript\nmodule-type: route\n\nGET /files/:filepath\n\n\\*/\n\"use strict\";\n\nexports.methods = [\"GET\"];\n\nexports.path = /^\\/files\\/(.+)$/;\n\nexports.info = {\n\tpriority: 100\n};\n\nexports.handler = function(request,response,state) {\n\tvar path = require(\"path\"),\n\t\tfs = require(\"fs\"),\n\t\tsuppliedFilename = $tw.utils.decodeURIComponentSafe(state.params[0]),\n\t\tbaseFilename = path.resolve(state.boot.wikiPath,\"files\"),\n\t\tfilename = path.resolve(baseFilename,suppliedFilename),\n\t\textension = path.extname(filename);\n\t// Check that the filename is inside the wiki files folder\n\tif(path.relative(baseFilename,filename).indexOf(\"..\") === 0) {\n\t\treturn state.sendResponse(404,{\"Content-Type\": \"text/plain\"},\"File '\" + suppliedFilename + \"' not found\");\n\t}\n\tfs.stat(filename, function(err, stats) {\n\t\tif(err) {\n\t\t\treturn state.sendResponse(404,{\"Content-Type\": \"text/plain\"},\"File '\" + suppliedFilename + \"' not found\");\n\t\t} else {\n\t\t\tvar type = ($tw.config.fileExtensionInfo[extension] ? $tw.config.fileExtensionInfo[extension].type : \"application/octet-stream\"),\n\t\t\t\tresponseHeaders = {\n\t\t\t\t\t\"Content-Type\": type,\n\t\t\t\t\t\"Accept-Ranges\": \"bytes\"\n\t\t\t\t};\n\t\t\tvar rangeHeader = request.headers.range,\n\t\t\t\tstream;\n\t\t\tif(rangeHeader) {\n\t\t\t\t// Handle range requests\n\t\t\t\tvar parts = rangeHeader.replace(/bytes=/, \"\").split(\"-\"),\n\t\t\t\t\tstart = parseInt(parts[0], 10),\n\t\t\t\t\tend = parts[1] ? parseInt(parts[1], 10) : stats.size - 1;\n\t\t\t\t// Validate start and end\n\t\t\t\tif(isNaN(start) || isNaN(end) || start < 0 || end < start || end >= stats.size) {\n\t\t\t\t\tresponseHeaders[\"Content-Range\"] = \"bytes */\" + stats.size;\n\t\t\t\t\treturn response.writeHead(416, responseHeaders).end();\n\t\t\t\t}\n\t\t\t\tvar chunksize = (end - start) + 1;\n\t\t\t\tresponseHeaders[\"Content-Range\"] = \"bytes \" + start + \"-\" + end + \"/\" + stats.size;\n\t\t\t\tresponseHeaders[\"Content-Length\"] = chunksize;\n\t\t\t\tresponse.writeHead(206, responseHeaders);\n\t\t\t\tstream = fs.createReadStream(filename, {start: start, end: end});\n\t\t\t} else {\n\t\t\t\tresponseHeaders[\"Content-Length\"] = stats.size;\n\t\t\t\tresponse.writeHead(200, responseHeaders);\n\t\t\t\tstream = fs.createReadStream(filename);\n\t\t\t}\n\t\t\t// Common stream error handling\n\t\t\tstream.on(\"error\", function(err) {\n\t\t\t\tif(!response.headersSent) {\n\t\t\t\t\tresponse.writeHead(500, {\"Content-Type\": \"text/plain\"});\n\t\t\t\t\tresponse.end(\"Read error\");\n\t\t\t\t} else {\n\t\t\t\t\tresponse.destroy();\n\t\t\t\t}\n\t\t\t});\n\t\t\tstream.pipe(response);\n\t\t}\n\t});\n};\n"
  },
  {
    "path": "core-server/server/routes/get-index.js",
    "content": "/*\\\ntitle: $:/core/modules/server/routes/get-index.js\ntype: application/javascript\nmodule-type: route\n\nGET /\n\n\\*/\n\"use strict\";\n\nexports.methods = [\"GET\"];\n\nexports.path = /^\\/$/;\n\nexports.info = {\n\tpriority: 100\n};\n\nexports.handler = function(request,response,state) {\n\tvar text = state.wiki.renderTiddler(state.server.get(\"root-render-type\"),state.server.get(\"root-tiddler\")),\n\t\tresponseHeaders = {\n\t\t\t\"Content-Type\": state.server.get(\"root-serve-type\")\n\t\t};\n\tstate.sendResponse(200,responseHeaders,text);\n};\n"
  },
  {
    "path": "core-server/server/routes/get-login-basic.js",
    "content": "/*\\\ntitle: $:/core/modules/server/routes/get-login-basic.js\ntype: application/javascript\nmodule-type: route\n\nGET /login-basic -- force a Basic Authentication challenge\n\n\\*/\n\"use strict\";\n\nexports.methods = [\"GET\"];\n\nexports.path = /^\\/login-basic$/;\n\nexports.info = {\n\tpriority: 100\n};\n\nexports.handler = function(request,response,state) {\n\tif(!state.authenticatedUsername) {\n\t\t// Challenge if there's no username\n\t\tresponse.writeHead(401,{\n\t\t\t\"WWW-Authenticate\": 'Basic realm=\"Please provide your username and password to login to ' + state.server.servername + '\"'\n\t\t});\n\t\tresponse.end();\n\t} else {\n\t\t// Redirect to the root wiki if login worked\n\t\tvar location = ($tw.syncadaptor && $tw.syncadaptor.host)? $tw.syncadaptor.host: `${state.pathPrefix}/`;\n\t\tresponse.writeHead(302,{\n\t\t\tLocation: location\n\t\t});\n\t\tresponse.end();\n\t}\n};\n"
  },
  {
    "path": "core-server/server/routes/get-status.js",
    "content": "/*\\\ntitle: $:/core/modules/server/routes/get-status.js\ntype: application/javascript\nmodule-type: route\n\nGET /status\n\n\\*/\n\"use strict\";\n\nexports.methods = [\"GET\"];\n\nexports.path = /^\\/status$/;\n\nexports.info = {\n\tpriority: 100\n};\n\nexports.handler = function(request,response,state) {\n\tvar text = JSON.stringify({\n\t\tusername: state.authenticatedUsername || state.server.get(\"anon-username\") || \"\",\n\t\tanonymous: !state.authenticatedUsername,\n\t\tread_only: !state.server.isAuthorized(\"writers\",state.authenticatedUsername),\n\t\tlogout_is_available: false,\n\t\tspace: {\n\t\t\trecipe: \"default\"\n\t\t},\n\t\ttiddlywiki_version: $tw.version\n\t});\n\tstate.sendResponse(200,{\"Content-Type\": \"application/json\"},text,\"utf8\");\n};\n"
  },
  {
    "path": "core-server/server/routes/get-tiddler-html.js",
    "content": "/*\\\ntitle: $:/core/modules/server/routes/get-tiddler-html.js\ntype: application/javascript\nmodule-type: route\n\nGET /:title\n\n\\*/\n\"use strict\";\n\nexports.methods = [\"GET\"];\n\nexports.path = /^\\/([^\\/]+)$/;\n\nexports.info = {\n\tpriority: 100\n};\n\nexports.handler = function(request,response,state) {\n\tvar title = $tw.utils.decodeURIComponentSafe(state.params[0]),\n\t\ttiddler = state.wiki.getTiddler(title);\n\tif(tiddler) {\n\t\tvar renderType = tiddler.getFieldString(\"_render_type\"),\n\t\t\trenderTemplate = tiddler.getFieldString(\"_render_template\");\n\t\t// Tiddler fields '_render_type' and '_render_template' overwrite\n\t\t// system wide settings for render type and template\n\t\tif(state.wiki.isSystemTiddler(title)) {\n\t\t\trenderType = renderType || state.server.get(\"system-tiddler-render-type\");\n\t\t\trenderTemplate = renderTemplate || state.server.get(\"system-tiddler-render-template\");\n\t\t} else {\n\t\t\trenderType = renderType || state.server.get(\"tiddler-render-type\");\n\t\t\trenderTemplate = renderTemplate || state.server.get(\"tiddler-render-template\");\n\t\t}\n\t\tvar text = state.wiki.renderTiddler(renderType,renderTemplate,{parseAsInline: true, variables: {currentTiddler: title}});\n\n\t\tvar headers = {\"Content-Type\": renderType};\n\t\tstate.sendResponse(200,headers,text,\"utf8\");\n\t} else {\n\t\tresponse.writeHead(404);\n\t\tresponse.end();\n\t}\n};\n"
  },
  {
    "path": "core-server/server/routes/get-tiddler.js",
    "content": "/*\\\ntitle: $:/core/modules/server/routes/get-tiddler.js\ntype: application/javascript\nmodule-type: route\n\nGET /recipes/default/tiddlers/:title\n\n\\*/\n\"use strict\";\n\nexports.methods = [\"GET\"];\n\nexports.path = /^\\/recipes\\/default\\/tiddlers\\/(.+)$/;\n\nexports.info = {\n\tpriority: 100\n};\n\nexports.handler = function(request,response,state) {\n\tvar title = $tw.utils.decodeURIComponentSafe(state.params[0]),\n\t\ttiddler = state.wiki.getTiddler(title),\n\t\ttiddlerFields = {},\n\t\tknownFields = [\n\t\t\t\"bag\", \"created\", \"creator\", \"modified\", \"modifier\", \"permissions\", \"recipe\", \"revision\", \"tags\", \"text\", \"title\", \"type\", \"uri\"\n\t\t];\n\tif(tiddler) {\n\t\t$tw.utils.each(tiddler.fields,function(field,name) {\n\t\t\tvar value = tiddler.getFieldString(name);\n\t\t\tif(knownFields.indexOf(name) !== -1) {\n\t\t\t\ttiddlerFields[name] = value;\n\t\t\t} else {\n\t\t\t\ttiddlerFields.fields = tiddlerFields.fields || {};\n\t\t\t\ttiddlerFields.fields[name] = value;\n\t\t\t}\n\t\t});\n\t\ttiddlerFields.revision = state.wiki.getChangeCount(title);\n\t\ttiddlerFields.bag = \"default\";\n\t\ttiddlerFields.type = tiddlerFields.type || \"text/vnd.tiddlywiki\";\n\t\tstate.sendResponse(200,{\"Content-Type\": \"application/json\"},JSON.stringify(tiddlerFields),\"utf8\");\n\t} else {\n\t\tresponse.writeHead(404);\n\t\tresponse.end();\n\t}\n};\n"
  },
  {
    "path": "core-server/server/routes/get-tiddlers-json.js",
    "content": "/*\\\ntitle: $:/core/modules/server/routes/get-tiddlers-json.js\ntype: application/javascript\nmodule-type: route\n\nGET /recipes/default/tiddlers.json?filter=<filter>\n\n\\*/\n\"use strict\";\n\nvar DEFAULT_FILTER = \"[all[tiddlers]!is[system]sort[title]]\";\n\nexports.methods = [\"GET\"];\n\nexports.path = /^\\/recipes\\/default\\/tiddlers.json$/;\n\nexports.info = {\n\tpriority: 100\n};\n\nexports.handler = function(request,response,state) {\n\tvar filter = state.queryParameters.filter || DEFAULT_FILTER;\n\tif(state.wiki.getTiddlerText(\"$:/config/Server/AllowAllExternalFilters\") !== \"yes\") {\n\t\tif(state.wiki.getTiddlerText(\"$:/config/Server/ExternalFilters/\" + filter) !== \"yes\") {\n\t\t\tconsole.log(\"Blocked attempt to GET /recipes/default/tiddlers.json with filter: \" + filter);\n\t\t\tresponse.writeHead(403);\n\t\t\tresponse.end();\n\t\t\treturn;\n\t\t}\n\t}\n\tif(state.wiki.getTiddlerText(\"$:/config/SyncSystemTiddlersFromServer\") === \"no\") {\n\t\tfilter += \"+[!is[system]]\";\n\t}\n\tvar excludeFields = (state.queryParameters.exclude || \"text\").split(\",\"),\n\t\ttitles = state.wiki.filterTiddlers(filter);\n\tvar tiddlers = [];\n\t$tw.utils.each(titles,function(title) {\n\t\tvar tiddler = state.wiki.getTiddler(title);\n\t\tif(tiddler) {\n\t\t\tvar tiddlerFields = tiddler.getFieldStrings({exclude: excludeFields});\n\t\t\ttiddlerFields.revision = state.wiki.getChangeCount(title);\n\t\t\ttiddlerFields.type = tiddlerFields.type || \"text/vnd.tiddlywiki\";\n\t\t\ttiddlers.push(tiddlerFields);\n\t\t}\n\t});\n\tvar text = JSON.stringify(tiddlers);\n\tstate.sendResponse(200,{\"Content-Type\": \"application/json\"},text,\"utf8\");\n};\n"
  },
  {
    "path": "core-server/server/routes/put-tiddler.js",
    "content": "/*\\\ntitle: $:/core/modules/server/routes/put-tiddler.js\ntype: application/javascript\nmodule-type: route\n\nPUT /recipes/default/tiddlers/:title\n\n\\*/\n\"use strict\";\n\nexports.methods = [\"PUT\"];\n\nexports.path = /^\\/recipes\\/default\\/tiddlers\\/(.+)$/;\n\nexports.info = {\n\tpriority: 100\n};\n\nexports.handler = function(request,response,state) {\n\tvar title = $tw.utils.decodeURIComponentSafe(state.params[0]),\n\t\tfields = $tw.utils.parseJSONSafe(state.data);\n\t// Pull up any subfields in the `fields` object\n\tif(fields.fields) {\n\t\t$tw.utils.each(fields.fields,function(field,name) {\n\t\t\tfields[name] = field;\n\t\t});\n\t\tdelete fields.fields;\n\t}\n\t// Remove any revision field\n\tif(fields.revision) {\n\t\tdelete fields.revision;\n\t}\n\t// If this is a skinny tiddler, it means the client never got the full\n\t// version of the tiddler to edit. So we must preserve whatever text\n\t// already exists on the server, or else we'll inadvertently delete it.\n\tif(fields._is_skinny !== undefined) {\n\t\tvar tiddler = state.wiki.getTiddler(title);\n\t\tif(tiddler) {\n\t\t\tfields.text = tiddler.fields.text;\n\t\t}\n\t\tdelete fields._is_skinny;\n\t}\n\tstate.wiki.addTiddler(new $tw.Tiddler(fields,{title: title}));\n\tvar changeCount = state.wiki.getChangeCount(title).toString();\n\tresponse.writeHead(204, \"OK\",{\n\t\tEtag: \"\\\"default/\" + encodeURIComponent(title) + \"/\" + changeCount + \":\\\"\",\n\t\t\"Content-Type\": \"text/plain\"\n\t});\n\tresponse.end();\n};\n"
  },
  {
    "path": "core-server/server/server.js",
    "content": "/*\\\ntitle: $:/core/modules/server/server.js\ntype: application/javascript\nmodule-type: library\n\nServe tiddlers over http\n\n\\*/\n\n\"use strict\";\n\nlet fs, url, path, querystring, crypto, zlib;\n\nif($tw.node) {\n\tfs = require(\"fs\"),\n\turl = require(\"url\"),\n\tpath = require(\"path\"),\n\tquerystring = require(\"querystring\"),\n\tcrypto = require(\"crypto\"),\n\tzlib = require(\"zlib\");\n}\n\n/*\nA simple HTTP server with regexp-based routes\noptions: variables - optional hashmap of variables to set (a misnomer - they are really constant parameters)\n\t\t routes - optional array of routes to use\n\t\t wiki - reference to wiki object\n*/\nfunction Server(options) {\n\tvar self = this;\n\tthis.routes = options.routes || [];\n\tthis.authenticators = options.authenticators || [];\n\tthis.wiki = options.wiki;\n\tthis.boot = options.boot || $tw.boot;\n\t// Initialise the variables\n\tthis.variables = $tw.utils.extend({},this.defaultVariables);\n\tif(options.variables) {\n\t\tfor(var variable in options.variables) {\n\t\t\tif(options.variables[variable]) {\n\t\t\t\tthis.variables[variable] = options.variables[variable];\n\t\t\t}\n\t\t}\n\t}\n\t// Setup the default required plugins\n\tthis.requiredPlugins = this.get(\"required-plugins\").split(\",\");\n\t// Initialise CORS\n\tthis.corsEnable = this.get(\"cors-enable\") === \"yes\";\n\t// Initialise CSRF\n\tthis.csrfDisable = this.get(\"csrf-disable\") === \"yes\";\n\t// Initialize Gzip compression\n\tthis.enableGzip = this.get(\"gzip\") === \"yes\";\n\t// Initialize browser-caching\n\tthis.enableBrowserCache = this.get(\"use-browser-cache\") === \"yes\";\n\t// Initialise authorization\n\tvar authorizedUserName;\n\tif(this.get(\"username\") && this.get(\"password\")) {\n\t\tauthorizedUserName = this.get(\"username\");\n\t} else if(this.get(\"credentials\")) {\n\t\tauthorizedUserName = \"(authenticated)\";\n\t} else {\n\t\tauthorizedUserName = \"(anon)\";\n\t}\n\tthis.authorizationPrincipals = {\n\t\treaders: (this.get(\"readers\") || authorizedUserName).split(\",\").map($tw.utils.trim),\n\t\twriters: (this.get(\"writers\") || authorizedUserName).split(\",\").map($tw.utils.trim)\n\t};\n\tif(this.get(\"admin\") || authorizedUserName !== \"(anon)\") {\n\t\tthis.authorizationPrincipals[\"admin\"] = (this.get(\"admin\") || authorizedUserName).split(\",\").map($tw.utils.trim);\n\t}\n\t// Load and initialise authenticators\n\t$tw.modules.forEachModuleOfType(\"authenticator\", function(title,authenticatorDefinition) {\n\t\t// console.log(\"Loading authenticator \" + title);\n\t\tself.addAuthenticator(authenticatorDefinition.AuthenticatorClass);\n\t});\n\t// Load route handlers\n\t$tw.modules.forEachModuleOfType(\"route\", function(title,routeDefinition) {\n\t\t// console.log(\"Loading server route \" + title);\n\t\tself.addRoute(routeDefinition);\n\t});\n\tthis.routes.sort((a, b) => {\n\t\tconst priorityA = a.info?.priority ?? 100,\n\t\t\tpriorityB = b.info?.priority ?? 100;\n\t\treturn priorityB - priorityA;\n\t});\n\t// Initialise the http vs https\n\tthis.listenOptions = null;\n\tthis.protocol = \"http\";\n\tvar tlsKeyFilepath = this.get(\"tls-key\"),\n\t\ttlsCertFilepath = this.get(\"tls-cert\"),\n\t\ttlsPassphrase = this.get(\"tls-passphrase\");\n\tif(tlsCertFilepath && tlsKeyFilepath) {\n\t\tthis.listenOptions = {\n\t\t\tkey: fs.readFileSync(path.resolve(this.boot.wikiPath,tlsKeyFilepath),\"utf8\"),\n\t\t\tcert: fs.readFileSync(path.resolve(this.boot.wikiPath,tlsCertFilepath),\"utf8\"),\n\t\t\tpassphrase: tlsPassphrase || \"\"\n\t\t};\n\t\tthis.protocol = \"https\";\n\t}\n\tthis.transport = require(this.protocol);\n\t// Name the server and init the boot state\n\tthis.servername = $tw.utils.transliterateToSafeASCII(this.get(\"server-name\") || this.wiki.getTiddlerText(\"$:/SiteTitle\") || \"TiddlyWiki5\");\n\tthis.boot.origin = this.get(\"origin\")? this.get(\"origin\"): this.protocol+\"://\"+this.get(\"host\")+\":\"+this.get(\"port\");\n\tthis.boot.pathPrefix = this.get(\"path-prefix\") || \"\";\n}\n\n/*\nSend a response to the client. This method checks if the response must be sent\nor if the client alrady has the data cached. If that's the case only a 304\nresponse will be transmitted and the browser will use the cached data.\nOnly requests with status code 200 are considdered for caching.\nrequest: request instance passed to the handler\nresponse: response instance passed to the handler\nstatusCode: stauts code to send to the browser\nheaders: response headers (they will be augmented with an `Etag` header)\ndata: the data to send (passed to the end method of the response instance)\nencoding: the encoding of the data to send (passed to the end method of the response instance)\n*/\nfunction sendResponse(request,response,statusCode,headers,data,encoding) {\n\tif(this.enableBrowserCache && (statusCode == 200)) {\n\t\tvar hash = crypto.createHash(\"md5\");\n\t\t// Put everything into the hash that could change and invalidate the data that\n\t\t// the browser already stored. The headers the data and the encoding.\n\t\thash.update(data);\n\t\thash.update(JSON.stringify(headers));\n\t\tif(encoding) {\n\t\t\thash.update(encoding);\n\t\t}\n\t\tvar contentDigest = hash.digest(\"hex\");\n\t\t// RFC 7232 section 2.3 mandates for the etag to be enclosed in quotes\n\t\theaders[\"Etag\"] = '\"' + contentDigest + '\"';\n\t\theaders[\"Cache-Control\"] = \"max-age=0, must-revalidate\";\n\t\t// Check if any of the hashes contained within the if-none-match header\n\t\t// matches the current hash.\n\t\t// If one matches, do not send the data but tell the browser to use the\n\t\t// cached data.\n\t\t// We do not implement \"*\" as it makes no sense here.\n\t\tvar ifNoneMatch = request.headers[\"if-none-match\"];\n\t\tif(ifNoneMatch) {\n\t\t\tvar matchParts = ifNoneMatch.split(\",\").map(function(etag) {\n\t\t\t\treturn etag.replace(/^[ \"]+|[ \"]+$/g, \"\");\n\t\t\t});\n\t\t\tif(matchParts.indexOf(contentDigest) != -1) {\n\t\t\t\tresponse.writeHead(304,headers);\n\t\t\t\tresponse.end();\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// RFC 7231, 6.1. Overview of Status Codes:\n\t\t// Browser clients may cache 200, 203, 204, 206, 300, 301, \n\t\t// 404, 405, 410, 414, and 501 unless given explicit cache controls\n\t\theaders[\"Cache-Control\"] = headers[\"Cache-Control\"] || \"no-store\";\n\t}\n\t/*\n\tIf the gzip=yes is set, check if the user agent permits compression. If so,\n\tcompress our response if the raw data is bigger than 2k. Compressing less\n\tdata is inefficient. Note that we use the synchronous functions from zlib\n\tto stay in the imperative style. The current `Server` doesn't depend on\n\tthis, and we may just as well use the async versions.\n\t*/\n\tif(this.enableGzip && (data.length > 2048)) {\n\t\tvar acceptEncoding = request.headers[\"accept-encoding\"] || \"\";\n\t\tif(/\\bdeflate\\b/.test(acceptEncoding)) {\n\t\t\theaders[\"Content-Encoding\"] = \"deflate\";\n\t\t\tdata = zlib.deflateSync(data);\n\t\t} else if(/\\bgzip\\b/.test(acceptEncoding)) {\n\t\t\theaders[\"Content-Encoding\"] = \"gzip\";\n\t\t\tdata = zlib.gzipSync(data);\n\t\t}\n\t}\n\n\tresponse.writeHead(statusCode,headers);\n\tresponse.end(data,encoding);\n}\n\nServer.prototype.defaultVariables = {\n\tport: \"8080\",\n\thost: \"127.0.0.1\",\n\t\"required-plugins\": \"$:/plugins/tiddlywiki/filesystem,$:/plugins/tiddlywiki/tiddlyweb\",\n\t\"root-tiddler\": \"$:/core/save/all\",\n\t\"root-render-type\": \"text/plain\",\n\t\"root-serve-type\": \"text/html\",\n\t\"tiddler-render-type\": \"text/html\",\n\t\"tiddler-render-template\": \"$:/core/templates/server/static.tiddler.html\",\n\t\"system-tiddler-render-type\": \"text/plain\",\n\t\"system-tiddler-render-template\": \"$:/core/templates/wikified-tiddler\",\n\t\"debug-level\": \"none\",\n\t\"gzip\": \"no\",\n\t\"use-browser-cache\": \"no\"\n};\n\nServer.prototype.get = function(name) {\n\treturn this.variables[name];\n};\n\nServer.prototype.addRoute = function(route) {\n\tthis.routes.push(route);\n};\n\nServer.prototype.addAuthenticator = function(AuthenticatorClass) {\n\t// Instantiate and initialise the authenticator\n\tvar authenticator = new AuthenticatorClass(this),\n\t\tresult = authenticator.init();\n\tif(typeof result === \"string\") {\n\t\t$tw.utils.error(\"Error: \" + result);\n\t} else if(result) {\n\t\t// Only use the authenticator if it initialised successfully\n\t\tthis.authenticators.push(authenticator);\n\t}\n};\n\nServer.prototype.findMatchingRoute = function(request,state) {\n\tfor(var t=0; t<this.routes.length; t++) {\n\t\tvar potentialRoute = this.routes[t],\n\t\t\tpathname = state.urlInfo.pathname,\n\t\t\tmatch;\n\t\tif(state.pathPrefix) {\n\t\t\tif(pathname.substr(0,state.pathPrefix.length) === state.pathPrefix) {\n\t\t\t\tpathname = pathname.substr(state.pathPrefix.length) || \"/\";\n\t\t\t\tmatch = potentialRoute.path.exec(pathname);\n\t\t\t} else {\n\t\t\t\tmatch = false;\n\t\t\t}\n\t\t} else {\n\t\t\tmatch = potentialRoute.path.exec(pathname);\n\t\t}\n\t\tif(match && (potentialRoute.methods?.includes(request.method) || potentialRoute.method === request.method)) {\n\t\t\tstate.params = [];\n\t\t\tfor(var p=1; p<match.length; p++) {\n\t\t\t\tstate.params.push(match[p]);\n\t\t\t}\n\t\t\treturn potentialRoute;\n\t\t}\n\t}\n\treturn null;\n};\n\nServer.prototype.methodMappings = {\n\t\"GET\": \"readers\",\n\t\"OPTIONS\": \"readers\",\n\t\"HEAD\": \"readers\",\n\t\"PUT\": \"writers\",\n\t\"POST\": \"writers\",\n\t\"DELETE\": \"writers\"\n};\n\n/*\nCheck whether a given user is authorized for the specified authorizationType (\"readers\" or \"writers\"). Pass null or undefined as the username to check for anonymous access\n*/\nServer.prototype.isAuthorized = function(authorizationType,username) {\n\tvar principals = this.authorizationPrincipals[authorizationType] || [];\n\treturn principals.indexOf(\"(anon)\") !== -1 || (username && (principals.indexOf(\"(authenticated)\") !== -1 || principals.indexOf(username) !== -1));\n};\n\nServer.prototype.requestHandler = function(request,response,options) {\n\toptions = options || {};\n\t// Compose the state object\n\tvar self = this;\n\tvar state = {};\n\tstate.wiki = options.wiki || self.wiki;\n\tstate.boot = options.boot || self.boot;\n\tstate.server = self;\n\tstate.urlInfo = url.parse(request.url);\n\tstate.queryParameters = querystring.parse(state.urlInfo.query);\n\tstate.pathPrefix = options.pathPrefix || this.get(\"path-prefix\") || \"\";\n\t// Enable CORS\n\tif(this.corsEnable) {\n\t\tresponse.setHeader(\"Access-Control-Allow-Origin\", \"*\");\n\t\tresponse.setHeader(\"Access-Control-Allow-Headers\", \"*\");\n\t\tresponse.setHeader(\"Access-Control-Allow-Methods\", \"*\");\n\t\tresponse.setHeader(\"Access-Control-Expose-Headers\", \"*\");\n\t}\n\tstate.sendResponse = sendResponse.bind(self,request,response);\n\t// Get the principals authorized to access this resource\n\tstate.authorizationType = options.authorizationType || this.methodMappings[request.method] || \"readers\";\n\t// Check for the CSRF header if this is a write\n\tif(!this.csrfDisable && state.authorizationType === \"writers\" && request.headers[\"x-requested-with\"] !== \"TiddlyWiki\") {\n\t\tresponse.writeHead(403,\"'X-Requested-With' header required to login to '\" + this.servername + \"'\");\n\t\tresponse.end();\n\t\treturn;\n\t}\n\t// Check whether anonymous access is granted\n\tstate.allowAnon = this.isAuthorized(state.authorizationType,null);\n\t// Authenticate with the first active authenticator\n\tif(this.authenticators.length > 0) {\n\t\tif(!this.authenticators[0].authenticateRequest(request,response,state)) {\n\t\t\t// Bail if we failed (the authenticator will have sent the response)\n\t\t\treturn;\n\t\t}\n\t}\n\t// Authorize with the authenticated username\n\tif(!this.isAuthorized(state.authorizationType,state.authenticatedUsername)) {\n\t\tresponse.writeHead(401,\"'\" + state.authenticatedUsername + \"' is not authorized to access '\" + this.servername + \"'\");\n\t\tresponse.end();\n\t\treturn;\n\t}\n\t// Reply to OPTIONS\n\tif(this.corsEnable && request.method === \"OPTIONS\") {\n\t\tresponse.writeHead(204);\n\t\tresponse.end();\n\t\treturn;\n\t}\n\t// Find the route that matches this path\n\tvar route = self.findMatchingRoute(request,state);\n\t// Optionally output debug info\n\tif(self.get(\"debug-level\") !== \"none\") {\n\t\tconsole.log(\"Request path:\",JSON.stringify(state.urlInfo));\n\t\tconsole.log(\"Request headers:\",JSON.stringify(request.headers));\n\t\tconsole.log(\"authenticatedUsername:\",state.authenticatedUsername);\n\t}\n\t// Return a 404 if we didn't find a route\n\tif(!route) {\n\t\tresponse.writeHead(404);\n\t\tresponse.end();\n\t\treturn;\n\t}\n\t// Receive the request body if necessary and hand off to the route handler\n\tif(route.bodyFormat === \"stream\" || request.method === \"GET\" || request.method === \"HEAD\") {\n\t\t// Let the route handle the request stream itself\n\t\troute.handler(request,response,state);\n\t} else if(route.bodyFormat === \"string\" || !route.bodyFormat) {\n\t\t// Set the encoding for the incoming request\n\t\trequest.setEncoding(\"utf8\");\n\t\tvar data = \"\";\n\t\trequest.on(\"data\",function(chunk) {\n\t\t\tdata += chunk.toString();\n\t\t});\n\t\trequest.on(\"end\",function() {\n\t\t\tstate.data = data;\n\t\t\troute.handler(request,response,state);\n\t\t});\n\t} else if(route.bodyFormat === \"buffer\") {\n\t\tvar data = [];\n\t\trequest.on(\"data\",function(chunk) {\n\t\t\tdata.push(chunk);\n\t\t});\n\t\trequest.on(\"end\",function() {\n\t\t\tstate.data = Buffer.concat(data);\n\t\t\troute.handler(request,response,state);\n\t\t});\n\t} else {\n\t\tresponse.writeHead(400,\"Invalid bodyFormat \" + route.bodyFormat + \" in route \" + route.method + \" \" + route.path.source);\n\t\tresponse.end();\n\t}\n};\n\n/*\nListen for requests\nport: optional port number (falls back to value of \"port\" variable)\nhost: optional host address (falls back to value of \"host\" variable)\nprefix: optional prefix (falls back to value of \"path-prefix\" variable)\n*/\nServer.prototype.listen = function(port,host,prefix) {\n\tvar self = this;\n\t// Handle defaults for port and host\n\tport = port || this.get(\"port\");\n\thost = host || this.get(\"host\");\n\tprefix = prefix || this.get(\"path-prefix\") || \"\";\n\t// Check for the port being a string and look it up as an environment variable\n\tif(parseInt(port,10).toString() !== port) {\n\t\tport = process.env[port] || 8080;\n\t}\n\t// Warn if required plugins are missing\n\tvar missing = [];\n\tfor(var index=0; index<this.requiredPlugins.length; index++) {\n\t\tif(!this.wiki.getTiddler(this.requiredPlugins[index])) {\n\t\t\tmissing.push(this.requiredPlugins[index]);\n\t\t}\n\t}\n\tif(missing.length > 0) {\n\t\tvar error = \"Warning: Plugin(s) required for client-server operation are missing.\\n\"+\n\t\t\t\"\\\"\"+ missing.join(\"\\\", \\\"\")+\"\\\"\";\n\t\t$tw.utils.warning(error);\n\t}\n\t// Create the server\n\tvar server;\n\tif(this.listenOptions) {\n\t\tserver = this.transport.createServer(this.listenOptions,this.requestHandler.bind(this));\n\t} else {\n\t\tserver = this.transport.createServer(this.requestHandler.bind(this));\n\t}\n\t// Display the port number after we've started listening (the port number might have been specified as zero, in which case we will get an assigned port)\n\tserver.on(\"listening\",function() {\n\t\tvar address = server.address(),\n\t\t\turl = self.protocol + \"://\" + (address.family === \"IPv6\" ? \"[\" + address.address + \"]\" : address.address) + \":\" + address.port + prefix;\n\t\t$tw.utils.log(\"Serving on \" + url,\"brown/orange\");\n\t\t$tw.utils.log(\"(press ctrl-C to exit)\",\"red\");\n\t});\n\t// Listen\n\treturn server.listen(port,host);\n};\n\nexports.Server = Server;\n"
  },
  {
    "path": "core-server/startup/commands.js",
    "content": "/*\\\ntitle: $:/core/modules/startup/commands.js\ntype: application/javascript\nmodule-type: startup\n\nCommand processing\n\n\\*/\n\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"commands\";\nexports.platforms = [\"node\"];\nexports.after = [\"story\"];\nexports.synchronous = false;\n\nexports.startup = function(callback) {\n\t// On the server, start a commander with the command line arguments\n\tvar commander = new $tw.Commander(\n\t\t$tw.boot.argv,\n\t\tfunction(err) {\n\t\t\tif(err) {\n\t\t\t\treturn $tw.utils.error(\"Error: \" + err);\n\t\t\t}\n\t\t\tcallback();\n\t\t},\n\t\t$tw.wiki,\n\t\t{output: process.stdout, error: process.stderr}\n\t);\n\tcommander.execute();\n};\n"
  },
  {
    "path": "core-server/utils/base64.js",
    "content": "/*\\\ntitle: $:/core-modules/modules/utils/base64.js\ntype: application/javascript\nmodule-type: utils-node\n\nBase64 UTF-8 utlity functions.\n\n\\*/\n\n\"use strict\";\n\nconst { TextEncoder, TextDecoder } = require(\"node:util\");\n\nexports.btoa = (binstr) => Buffer.from(binstr, \"binary\").toString(\"base64\");\n\nexports.atob = (b64) => Buffer.from(b64, \"base64\").toString(\"binary\");\n\nfunction base64ToBytes(base64) {\n\tconst binString = exports.atob(base64);\n\treturn Uint8Array.from(binString, (m) => m.codePointAt(0));\n};\n\nfunction bytesToBase64(bytes) {\n\tconst binString = Array.from(bytes, (byte) => String.fromCodePoint(byte)).join(\"\");\n\treturn exports.btoa(binString);\n};\n\nexports.base64EncodeUtf8 = (str) => bytesToBase64(new TextEncoder().encode(str));\n\nexports.base64DecodeUtf8 = (str) => new TextDecoder().decode(base64ToBytes(str));\n"
  },
  {
    "path": "core-server/utils/edition-info.js",
    "content": "/*\\\ntitle: $:/core/modules/utils/edition-info.js\ntype: application/javascript\nmodule-type: utils-node\n\nInformation about the available editions\n\n\\*/\n\n\"use strict\";\n\nvar fs = require(\"fs\"),\n\tpath = require(\"path\");\n\nvar editionInfo;\n\nexports.getEditionInfo = function() {\n\tif(!editionInfo) {\n\t\t// Enumerate the edition paths\n\t\tvar editionPaths = $tw.getLibraryItemSearchPaths($tw.config.editionsPath,$tw.config.editionsEnvVar);\n\t\teditionInfo = {};\n\t\tfor(var editionIndex=0; editionIndex<editionPaths.length; editionIndex++) {\n\t\t\tvar editionPath = editionPaths[editionIndex];\n\t\t\t// Enumerate the folders\n\t\t\tvar entries = fs.readdirSync(editionPath);\n\t\t\tfor(var entryIndex=0; entryIndex<entries.length; entryIndex++) {\n\t\t\t\tvar entry = entries[entryIndex];\n\t\t\t\t// Check if directories have a valid tiddlywiki.info\n\t\t\t\t// Check if the entry is a hidden directory\n\t\t\t\tif((entry.charAt(0) !== \".\") && !editionInfo[entry] && $tw.utils.isDirectory(path.resolve(editionPath,entry))) {\n\t\t\t\t\tvar file=path.resolve(editionPath,entry,\"tiddlywiki.info\");\n\t\t\t\t\tif(fs.existsSync(file)) {\n\t\t\t\t\t\tvar info = $tw.utils.parseJSONSafe(fs.readFileSync(file,\"utf8\"),null);\n\t\t\t\t\t\tif(info) {\n\t\t\t\t\t\t\teditionInfo[entry] = info;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn editionInfo;\n};\n"
  },
  {
    "path": "core-server/utils/escapecss.js",
    "content": "/*\\\ntitle: $:/core-server/modules/utils/escapecss.js\ntype: application/javascript\nmodule-type: utils-node\n\nProvides CSS.escape() functionality.\n\n\\*/\n\n\"use strict\";\n\nexports.escapeCSS = (function() {\n\t// see also https://drafts.csswg.org/cssom/#serialize-an-identifier\n\n\t/* eslint-disable */\n\t/*! https://mths.be/cssescape v1.5.1 by @mathias | MIT license */\n\treturn function(value) {\n\t\tif (arguments.length == 0) {\n\t\t\tthrow new TypeError('`CSS.escape` requires an argument.');\n\t\t}\n\t\tvar string = String(value);\n\t\tvar length = string.length;\n\t\tvar index = -1;\n\t\tvar codeUnit;\n\t\tvar result = '';\n\t\tvar firstCodeUnit = string.charCodeAt(0);\n\t\twhile (++index < length) {\n\t\t\tcodeUnit = string.charCodeAt(index);\n\t\t\t// Note: there’s no need to special-case astral symbols, surrogate\n\t\t\t// pairs, or lone surrogates.\n\n\t\t\t// If the character is NULL (U+0000), then the REPLACEMENT CHARACTER\n\t\t\t// (U+FFFD).\n\t\t\tif (codeUnit == 0x0000) {\n\t\t\t\tresult += '\\uFFFD';\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t// If the character is in the range [\\1-\\1F] (U+0001 to U+001F) or is\n\t\t\t\t// U+007F, […]\n\t\t\t\t(codeUnit >= 0x0001 && codeUnit <= 0x001F) || codeUnit == 0x007F ||\n\t\t\t\t// If the character is the first character and is in the range [0-9]\n\t\t\t\t// (U+0030 to U+0039), […]\n\t\t\t\t(index == 0 && codeUnit >= 0x0030 && codeUnit <= 0x0039) ||\n\t\t\t\t// If the character is the second character and is in the range [0-9]\n\t\t\t\t// (U+0030 to U+0039) and the first character is a `-` (U+002D), […]\n\t\t\t\t(\n\t\t\t\t\tindex == 1 &&\n\t\t\t\t\tcodeUnit >= 0x0030 && codeUnit <= 0x0039 &&\n\t\t\t\t\tfirstCodeUnit == 0x002D\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\t// https://drafts.csswg.org/cssom/#escape-a-character-as-code-point\n\t\t\t\tresult += '\\\\' + codeUnit.toString(16) + ' ';\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t// If the character is the first character and is a `-` (U+002D), and\n\t\t\t\t// there is no second character, […]\n\t\t\t\tindex == 0 &&\n\t\t\t\tlength == 1 &&\n\t\t\t\tcodeUnit == 0x002D\n\t\t\t) {\n\t\t\t\tresult += '\\\\' + string.charAt(index);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// If the character is not handled by one of the above rules and is\n\t\t\t// greater than or equal to U+0080, is `-` (U+002D) or `_` (U+005F), or\n\t\t\t// is in one of the ranges [0-9] (U+0030 to U+0039), [A-Z] (U+0041 to\n\t\t\t// U+005A), or [a-z] (U+0061 to U+007A), […]\n\t\t\tif (\n\t\t\t\tcodeUnit >= 0x0080 ||\n\t\t\t\tcodeUnit == 0x002D ||\n\t\t\t\tcodeUnit == 0x005F ||\n\t\t\t\tcodeUnit >= 0x0030 && codeUnit <= 0x0039 ||\n\t\t\t\tcodeUnit >= 0x0041 && codeUnit <= 0x005A ||\n\t\t\t\tcodeUnit >= 0x0061 && codeUnit <= 0x007A\n\t\t\t) {\n\t\t\t\t// the character itself\n\t\t\t\tresult += string.charAt(index);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Otherwise, the escaped character.\n\t\t\t// https://drafts.csswg.org/cssom/#escape-a-character\n\t\t\tresult += '\\\\' + string.charAt(index);\n\n\t\t}\n\t\treturn result;\n\t};\n\t/* eslint-enable */\n})();\n"
  },
  {
    "path": "core-server/utils/repository.js",
    "content": "/*\\\ntitle: $:/core/modules/utils/repository.js\ntype: application/javascript\nmodule-type: utils\n\nUtilities for working with the TiddlyWiki repository file structure\n\n\\*/\n\"use strict\";\n\n/*\nGet an object containing all the plugins as a hashmap by title of the JSON representation of the plugin\nOptions:\n\nignoreEnvironmentVariables: defaults to false\n*/\nexports.getAllPlugins = function(options) {\n\toptions = options || {};\n\tvar path = require(\"path\"),\n\t\ttiddlers = {};\n\t// Collect up the library plugins\n\tvar collectPlugins = function(folder) {\n\t\t\tvar pluginFolders = $tw.utils.getSubdirectories(folder) || [];\n\t\t\tfor(var p=0; p<pluginFolders.length; p++) {\n\t\t\t\tif(!$tw.boot.excludeRegExp.test(pluginFolders[p])) {\n\t\t\t\t\tvar pluginFields = $tw.loadPluginFolder(path.resolve(folder,\"./\" + pluginFolders[p]));\n\t\t\t\t\tif(pluginFields && pluginFields.title) {\n\t\t\t\t\t\ttiddlers[pluginFields.title] = pluginFields;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tcollectPublisherPlugins = function(folder) {\n\t\t\tvar publisherFolders = $tw.utils.getSubdirectories(folder) || [];\n\t\t\tfor(var t=0; t<publisherFolders.length; t++) {\n\t\t\t\tif(!$tw.boot.excludeRegExp.test(publisherFolders[t])) {\n\t\t\t\t\tcollectPlugins(path.resolve(folder,\"./\" + publisherFolders[t]));\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t$tw.utils.each($tw.getLibraryItemSearchPaths($tw.config.pluginsPath,options.ignoreEnvironmentVariables ? undefined : $tw.config.pluginsEnvVar),collectPublisherPlugins);\n\t$tw.utils.each($tw.getLibraryItemSearchPaths($tw.config.themesPath,options.ignoreEnvironmentVariables ? undefined : $tw.config.themesEnvVar),collectPublisherPlugins);\n\t$tw.utils.each($tw.getLibraryItemSearchPaths($tw.config.languagesPath,options.ignoreEnvironmentVariables ? undefined : $tw.config.languagesEnvVar),collectPlugins);\n\treturn tiddlers;\n};\n"
  },
  {
    "path": "editions/aws/tiddlers/HelloThere.tid",
    "content": "title: HelloThere\n\nThis wiki provides a starting point for working with the AWS plugin for TiddlyWiki under Node.js.\n"
  },
  {
    "path": "editions/aws/tiddlywiki.info",
    "content": "{\n\t\"description\": \"Amazon Web Services edition\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/async\",\n\t\t\"tiddlywiki/jszip\",\n\t\t\"tiddlywiki/aws\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\"\n\t],\n\t\"build\": {\n\t\t\"index\": [\n\t\t\t\"--rendertiddler\",\"$:/core/save/all\",\"index.html\",\"text/plain\"],\n\t\t\"lambda\": [\n\t\t\t\"--rendertiddler\",\"$:/plugins/tiddlywiki/aws/lambdas/main\",\"index.js\",\"text/plain\"]\n\t}\n}\n"
  },
  {
    "path": "editions/classicparserdemo/tiddlers/$__DefaultTiddlers.tid",
    "content": "created: 20140417191319973\nmodified: 20140901082708004\ntitle: $:/DefaultTiddlers\ntype: text/vnd.tiddlywiki\n\n[[Classic Parser Plugin Demo]]\n[[Classic Slider Demo]]\n[[ClassicTabsDemo]]\n[[Classic Transclusion]]\n[[text/x-tiddlywiki typeblock]]\n[[Markup]]\n[[Developers Notes]]"
  },
  {
    "path": "editions/classicparserdemo/tiddlers/$__ShowEditPreview.tid",
    "content": "created: 20140416191641926\nmodified: 20140417181106838\ntitle: $:/ShowEditPreview\ntype: text/vnd.tiddlywiki\n\nyes"
  },
  {
    "path": "editions/classicparserdemo/tiddlers/$__SiteSubtitle.tid",
    "content": "created: 20140417192155748\nmodified: 20140417192155748\ntitle: $:/SiteSubtitle\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/classicparserdemo/tiddlers/$__SiteTitle.tid",
    "content": "created: 20140417192135107\nmodified: 20140417192152339\ntitle: $:/SiteTitle\ntype: text/vnd.tiddlywiki\n\nClassic Parser Demo"
  },
  {
    "path": "editions/classicparserdemo/tiddlers/$__coreURL.tid",
    "content": "title: $:/coreURL\ntags: $:/tags/Global\n\n\\function coreURL() [[../../../tiddlywikicore-$(version)$.js]substitute[]]\n"
  },
  {
    "path": "editions/classicparserdemo/tiddlers/Basic Formatting.tid",
    "content": "created: 20121217004633000\ncreator: keithb\nmodified: 20140415164633773\nmodifier: andrewstern\ntags: Formatting\ntitle: Basic Formatting\ntype: text/x-tiddlywiki\n\n\n!Summary\n//''Emphasizing''// @@text@@ __is easy__!\n!Markup\n| !Style | !Markup |h\n|<html><b><i>bold</i></b></html>|{{{''bold''}}} -- two single-quotes|\n|//italics//|{{{//italics//}}}|\n|<html><b><i>bold italics</i></b></html>|{{{''//bold italics//''}}}|\n|__underline__|{{{__underline__}}}|\n|--strikethrough--|{{{--Strikethrough--}}}|\n|super^^script^^|{{{super^^script^^}}}|\n|sub~~script~~|{{{sub~~script~~}}}|\n|@@Highlight@@|{{{@@Highlight@@}}}|\n|{{{plain text}}}|<html><code>{{{PlainText No ''Formatting''}}}</code></html>|\n|/%this text will be invisible%/hidden text|{{{/%this text will be invisible%/}}}|\n|foo -- bar|{{{use two dashes -- between two words to create an Em dash}}}|\n"
  },
  {
    "path": "editions/classicparserdemo/tiddlers/Blockquotes.tid",
    "content": "created: 20110215174227000\ncreator: pmario\nmodified: 20140415164659711\nmodifier: andrewstern\ntags: Formatting\ntitle: Blockquotes\ntype: text/x-tiddlywiki\n\n!Summary\nUse quotations to cite other sources or simply indent content.\n!!Blockquotes\nText can be displayed as quotations using three less-than signs:\n{{{\n<<<\nSteve Jobs: \"computers are like a bicycle for our minds\"\n<<<\n}}}\n<<<\nSteve Jobs: \"computers are like a bicycle for our minds\"\n<<<\n!Nested Blockquotes \nQuotes can be displayed with multi-levels:\n{{{\n> blockquote, level 1\n>> blockquote, level 2\n>>> blockquote, level 3\n}}}\n> blockquote, level 1\n>> blockquote, level 2\n>>> blockquote, level 3\n!!Mixed Blockquotes\n{{{\n<<<\nSteve Jobs: \"computers are like a bicycle for our minds\"\n> blockquote, level 1\nSome more text.\n<<<\n}}}\n<<<\nSteve Jobs: \"computers are like a bicycle for our minds\"\n> blockquote, level 1\nSome more text.\n<<<\n"
  },
  {
    "path": "editions/classicparserdemo/tiddlers/CSS Formatting.tid",
    "content": "created: 20130211145116000\ncreator: tobibeer\nmodified: 20140415164516606\nmodifier: andrewstern\ntags: Formatting\ntitle: CSS Formatting\ntype: text/x-tiddlywiki\n\n\n!Summary\nYou can directly apply CSS rules inline or use custom classes.\n!Markup\n!!!Inline Styles\nEnclose text using two double @ signs and let the first two follow by your CSS rules.\n{{{\n@@color:#4bbbbb;Some random text@@\n}}}\n''Displays as:''\n@@color:red;Some random text@@\n\n!!!CSS Classes\nCSS classes can be applied to text blocks.\n\nTo wrap your text inline in a HTML {{{<span>}}} element use...\n{{{\nbefore » {{customClassName{inline content}}} « after\n}}}\n''Displays as:''\nbefore » {{customClassName{inline content}}} « after\n\nTo wrap your text as a block level element -- a HTML {{{<div>}}} -- use line-breaks...\n<html><pre>\nbefore » {{customClassName{\nbox content\n}}} « after\n</pre></html>''Displays as:''\nbefore » {{customClassName{\nbox content\n}}} « after\n"
  },
  {
    "path": "editions/classicparserdemo/tiddlers/Classic Parser Plugin Demo.tid",
    "content": "created: 20140416201128370\nmodified: 20140901082657977\ntitle: Classic Parser Plugin Demo\ntype: text/x-tiddlywiki\n\nThis is a demo of the Tiddlywiki Classic parser for Tiddlywiki5 (the tw2parser plugin).  \nBelow is a  [[Test card|Markup]] from [[http://tiddlywiki.org]] showing examples of all Classic markup.\n\nTiddlers that are given the type 'text/x-tiddlywiki' will be interpreted as containing Classic Tiddlywiki markup. In addition Classic Tiddlywiki markup can be embedded in a tiddlywiki5 tiddler by the use of a type block - see [[text/x-tiddlywiki typeblock]] below.\n!!Support for Classic macros\nAt present there is limited support for Classic macros. See below for examples of the [[slider|Classic Slider Demo]], [[tabs|ClassicTabsDemo]] and [[tiddler|Classic Transclusion]] macros.\n!!Status\nSee here for <<slider $:/temp/1 Issues \"Issues»\" \"more\" >>\n!!See also [[Developers Notes]]\n! Installation\nTo add this plugin to your own TiddlyWiki5, just drag this link to your tiddlywiki's browser window:\n\n[[$:/plugins/tiddlywiki/tw2parser]]\n\n"
  },
  {
    "path": "editions/classicparserdemo/tiddlers/Classic Slider Demo.tid",
    "content": "created: 20140831105412236\nmodified: 20140901072049425\ntitle: Classic Slider Demo\ntype: text/x-tiddlywiki\n\n!!Demo text:\n{{{\n<<slider $:/temp/xxx slidertest \"click me»\" \"more\" >>\n}}}\n!!Demo results:\n\n<<slider $:/temp/xxx slidertest \"click me»\" \"more\" >>\n "
  },
  {
    "path": "editions/classicparserdemo/tiddlers/Classic Transclusion.tid",
    "content": "created: 20140831105630157\nmodified: 20140901082725277\ntitle: Classic Transclusion\ntype: text/x-tiddlywiki\n\n!!Demo text:\n{{{\n<<tiddler [[Classic Parser Plugin Demo##Support for Classic macros]]>>\n}}}\n!!Demo results:\n\n<<tiddler [[Classic Parser Plugin Demo##Support for Classic macros]]>>\n"
  },
  {
    "path": "editions/classicparserdemo/tiddlers/ClassicTabsDemo.tid",
    "content": "created: 20140603181004793\nmodified: 20140901071957024\ntitle: ClassicTabsDemo\ntype: text/x-tiddlywiki\n\n!!Demo text:\n{{{\n<<tabs  $:/state/tabtxtdemo\n\"show a section\" \"sec 1\" ClassicTabsDemo##Do1\n\"section 2\" \"Priority 2\" ClassicTabsDemo##Do2\n\"and a slice\" \"a slice\" [[ClassicTabsDemo::slice]]\n>>\n\n/% \n!Do1\nfirst section: this is a hidden section below\n!Do2\nanother hidden section of this tiddler\n!end\n|~slice| a hidden slice of this tiddler|\n!end\n%/\n}}}\n!!Demo results:\n<<tabs  $:/state/tabtxtdemo\n\"show a section\" \"sec 1\" ClassicTabsDemo##Do1\n\"section 2\" \"Priority 2\" ClassicTabsDemo##Do2\n\"and a slice\" \"a slice\" [[ClassicTabsDemo::slice]]\n>>\n\n/% \n!Do1\nfirst section: this is a hidden section below\n!Do2\nanother hidden section of this tiddler\n!end\n|~slice| a hidden slice of this tiddler|\n!end\n%/\n"
  },
  {
    "path": "editions/classicparserdemo/tiddlers/Code.tid",
    "content": "created: 20130211142734000\ncreator: tobibeer\nmodified: 20140901061201603\nmodifier: andrewstern\ntags: Formatting\ntitle: Code\ntype: text/x-tiddlywiki\n\n!Summary\nYou can render text monospaced text, e.g. using the font //Courier//, while preserving line breaks and not applying WikiText formating or turning WikiWords into links.\n!!\"\"\"Monospaced Text Block\"\"\"\n<html><pre>\n{{{\nSome plain text including WikiLinks\n}}}\n</pre></html>''Displays as:'' a HTML <pre> element\n{{{\nSome plain text including WikiLinks\n}}}\n<<<\n''Note:'' Code blocks are displayed using a white-space 'as-is', fixed-width font without no word-wrapping -- displayed in a box.\n<<<\n!!\"\"\"Monospaced Inline Text\"\"\"\nAlternatively, you can also display monospaced text __inline__ by wrapping the text in three braces <html><code>{{{...}}}</code></html>:\n<html><pre>{{{inline //code//}}}</pre></html>''Displays as:''  a HTML <code> element\n{{{inline //code//}}}\n<<<\n''Note:'' Inline code uses a white-space 'collapsed', word-wrapped, fixed-width font.\n\n\n"
  },
  {
    "path": "editions/classicparserdemo/tiddlers/Comment Formatting.tid",
    "content": "created: 20130213001758000\ncreator: tobibeer\nmodified: 20140901061006864\nmodifier: andrewstern\ntags: Formatting\ntitle: Comment Formatting\ntype: text/x-tiddlywiki\n\n!Summary\nOccasionally you want to add notes to your tiddler markup yet don't want it displayed when the tiddler is rendered. To achieve this, wrap the text using {{{/% hidden %/}}}.\n!Example\n{{{\ntext before .../%\n!HIDDEN SECTION\nThis is content of a hidden section.\n!END%/ text after\n}}}\n''Display as:''\n<<<\ntext before /%\n!HIDDEN SECTION\nThis is content of a hidden section.\n!END%/... text after\n<<<\n!Also see...\n;[[Suppressing Formatting]]\n:» when you just don't want that text to be TiddlyWiki markup\n:» when you want to prevent WikiWords\n:» when you copy & paste from other sources\n"
  },
  {
    "path": "editions/classicparserdemo/tiddlers/Developers Notes.tid",
    "content": "created: 20140831112438405\nmodified: 20140901080739956\ntitle: Developers Notes\ntype: text/x-tiddlywiki\n\nThe Tw2parser plugin includes handling of namespace conflicts between Classic and Tw5 macros.\n\nOne of the goals of the Tw2parser plugin is to hide the Classic macros from tiddlers of types other than text/x-tiddlywiki. This is achieved by having the parser prepend the macro definitions to the 'local' parse tree (see around line 60 wikitextparser.js), making them only visible in text/x-tiddlywiki tiddlers and typed-blocks. At present all text based Classic macros are in the same file.\n\nAs all global Tw5 macros are visible in all tiddlers (including text/x-tiddlywiki tiddlers), there is a name-space conflict between Classic and tw5 macros. For macros that are defined using tiddlytext (ie /define() /end blocks) the local defined Classic definition will override the global Tw5 macros (which is what we want).\n\nFor cases where simple overriding is not sufficient, the tw2parser plugin also has a 'macro name adapter' module (macroadapter.js) to move the Classic macros names to a new names -\n(in wikitextrules.js around line 490)\n\n{{{tw2on5-name=macroadapter.namedapter[tw2name];}}}\n\nThis is invisible to the user.\n\nAn example is the {{{tabs()}}} macro which is mapped to {{{__system_tabs()}}}\nso the user still types {{{tabs()}}} but this is mapped to {{{__system_tabs()}}} in the parser which is what appears in the file macrodefs.tids\n\nThere is also the facility to manipulate the parameters via {{{params=macroadapter.paramadaptername}}}\nThis is used in the 'tabs' macro where there is a variable number of parameters that must be mapped into fixed number of tw5 macro parameters.\n\nThe implementation of the tabs macro is rather sophisticated, the parameters are put into maps from tab-tiddername to tab-property (properties are cookies, prompts and labels) implemented as jsons.\n\n"
  },
  {
    "path": "editions/classicparserdemo/tiddlers/HTML Entities.tid",
    "content": "created: 20130204165019000\ncreator: tobibeer\nmodified: 20140415164150742\nmodifier: andrewstern\ntags: Formatting\ntitle: HTML Entities\ntype: text/x-tiddlywiki\n\n!Summary\nUse HTML entities to enter characters that can't easily be typed on an ordinary keyboard. They take the form of an ampersand ({{{&}}}), an identifying string, and a terminating semi-colon ({{{;}}}), e.g. {{{&amp;}}}.\n!Markup\n{{{\nThe value of Tiddlers&trade; cannot even be expressed in &pound;, &euro; or &dollar;.\n}}}\n''Displays as:''\nThe value of Tiddlers&trade; cannot even be expressed in &pound;, &euro; or &dollar;.\n\n!\"\"\"Entity References\"\"\"\nComprehensive lists of html entities can be found at...\n* [[w3schools.com|http://www.w3schools.com/tags/ref_entities.asp]]\n* [[htmlhelp.com|http://www.htmlhelp.com/reference/html40/entities]]\n\n!\"\"\"Examples Of Common And Eseful Entities\"\"\"\n|>|>|>|>|>|>| !HTML Entities |\n| &amp;nbsp; | &nbsp; | no-break space | &nbsp;&nbsp; | &amp;apos; | &apos; | single quote, apostrophe |\n| &amp;ndash; | &ndash; | en dash |~| &amp;quot; | \" | quotation mark |\n| &amp;mdash; | &mdash; | em dash |~| &amp;prime; | &prime; | prime; minutes; feet |\n| &amp;hellip; | &hellip; |\thorizontal ellipsis |~| &amp;Prime; | &Prime; | double prime; seconds; inches |\n| &amp;copy; | &copy; | Copyright symbol |~| &amp;lsquo; | &lsquo; | left single quote |\n| &amp;reg; | &reg; | Registered symbol |~| &amp;rsquo; | &rsquo; | right  single quote |\n| &amp;trade; | &trade; | Trademark symbol |~| &amp;ldquo; | &ldquo; | left double quote |\n| &amp;dagger; | &dagger; | dagger |~| &amp;rdquo; | &rdquo; | right double quote |\n| &amp;Dagger; | &Dagger; | double dagger |~| &amp;laquo; | &laquo; | left angle quote |\n| &amp;para; | &para; | paragraph sign |~| &amp;raquo; | &raquo; | right angle quote |\n| &amp;sect; | &sect; | section sign |~| &amp;times; | &times; | multiplication symbol |\n| &amp;uarr; | &uarr; | up arrow |~| &amp;darr; | &darr; | down arrow |\n| &amp;larr; | &larr; | left arrow |~| &amp;rarr; | &rarr; | right arrow |\n| &amp;lArr; | &lArr; | double left arrow |~| &amp;rArr; | &rArr; | double right arrow |\n| &amp;harr; | &harr; | left right arrow |~| &amp;hArr; | &hArr; | double left right arrow |\n!\"\"\"Accented Characters\"\"\"\nThe table below shows how accented characters can be built up by subsituting the underscore (_) into the corresponding character:\n|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>| !Accented Characters |\n| grave accent | &amp;_grave; | &Agrave; | &agrave; | &Egrave; | &egrave; | &Igrave; | &igrave; | &Ograve; | &ograve; | &Ugrave; | &ugrave; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; |\n| acute accent | &amp;_acute; | &Aacute; | &aacute; | &Eacute; | &eacute; | &Iacute; | &iacute; | &Oacute; | &oacute; | &Uacute; | &uacute; | &nbsp; | &nbsp; | &Yacute; | &yacute; | &nbsp; | &nbsp; |\n| circumflex accent | &amp;_circ; | &Acirc; | &acirc; | &Ecirc; | &ecirc; | &Icirc; | &icirc; | &Ocirc; | &ocirc; | &Ucirc; | &ucirc; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; |\n| umlaut mark | &amp;_uml; | &Auml; | &auml; |  &Euml; | &euml; | &Iuml; | &iuml; | &Ouml; | &ouml; | &Uuml; | &uuml; | &nbsp; | &nbsp; | &Yuml; | &yuml; | &nbsp; | &nbsp; |\n| tilde | &amp;_tilde; | &Atilde; | &atilde; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &Otilde; | &otilde; | &nbsp; | &nbsp; | &Ntilde; | &ntilde; | &nbsp; | &nbsp; | &nbsp; | &nbsp; |\n| ring | &amp;_ring; | &Aring; | &aring; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; |\n| slash | &amp;_slash; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &Oslash; | &oslash; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; |\n| cedilla | &amp;_cedil; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &Ccedil; | &ccedil; |\n"
  },
  {
    "path": "editions/classicparserdemo/tiddlers/HTML Formatting.tid",
    "content": "created: 20130212225913000\ncreator: tobibeer\nmodified: 20140415163847476\nmodifier: andrewstern\ntags: Formatting\ntitle: HTML Formatting\ntype: text/x-tiddlywiki\n\n!Summary\nTiddlyWiki provides support for rendering pure HTML markup. To do this, simply wrap your HTML code in {{{<html>your html markup goes here</html>}}}. This way you are able to use embed code using iFrames often suggested by popular media sites like ~YouTube.\n!!\"\"\"Embedded HTML\"\"\"\n{{{\n<html>\n<span style=\"padding-right:30px;font-size:2em;\">any</span><br />\n<b>valid</b> <em>xhtml</em>\n</html>\n}}}\n<html><span style=\"padding-right:30px;font-size:2em;\">any</span><br /><b>valid</b> <em>xhtml</em></html>\n!!\"\"\"Embedded iFrame\"\"\"\n{{{\n<html>\n<iframe src=\"https://www.youtube.com/embed/Cj6ho1-G6tw\"\n  width=\"450\" height=\"315\" frameborder=\"0\" allowfullscreen/>\n</html>\n}}}\n<html>\n<iframe src=\"https://www.youtube.com/embed/Cj6ho1-G6tw?vq=hd720&iv_load_policy=3\"\n  width=\"450\" height=\"315\" frameborder=\"0\" allowfullscreen/>\n</html>\n"
  },
  {
    "path": "editions/classicparserdemo/tiddlers/Headings.tid",
    "content": "created: 20130211150503000\ncreator: tobibeer\nmodified: 20140831113805090\nmodifier: andrewstern\ntags: Formatting\ntitle: Headings\ntype: text/x-tiddlywiki\n\n!Summary\n\nStart a line using exclamation marks to create headings.\n!Markup\n{{{\n!Heading Level 1\n!!Heading Level 2\n!!!Heading Level 3\n!!!!Heading Level 4\n!!!!!Heading Level 5\n!!!!!!Heading Level 6\n}}}\n!Heading Level 1\n!!Heading Level 2\n!!!Heading Level 3\n!!!!Heading Level 4\n!!!!!Heading Level 5\n!!!!!!Heading Level 6\n"
  },
  {
    "path": "editions/classicparserdemo/tiddlers/Horizontal Rules.tid",
    "content": "created: 20130211150739000\ncreator: tobibeer\nmodified: 20140415164242103\nmodifier: andrewstern\ntags: Formatting\ntitle: Horizontal Rules\ntype: text/x-tiddlywiki\n\n!Summary\nUse four dashes on a line or the HTML tag {{{<hr>}}} to produce a horizontal rule.\n!Markup\n{{{\nbefore\n----\nafter\n}}}\nor\n{{{\nbefore<hr>after\n}}}\n''Displays as:''\n\nbefore\n----\nafter\n"
  },
  {
    "path": "editions/classicparserdemo/tiddlers/Images.tid",
    "content": "created: 20130211151808000\ncreator: tobibeer\nmodified: 20140901062342853\nmodifier: andrewstern\ntags: Formatting\ntitle: Images\ntype: text/x-tiddlywiki\n\n!Summary\nGenerally, images are external to TiddlyWiki. You have different means to layout the image flow.\n!Markup\n!!Simple Images\n{{{\n[img[http://wikitext.tiddlyspace.com/fractalveg.jpg]]\n}}}\n[img[http://wikitext.tiddlyspace.com/fractalveg.jpg]]\n!!Images Titles\n{{{\n[img[tooltip|http://wikitext.tiddlyspace.com/fractalveg.jpg]]\n}}}\n[img[tooltip|http://wikitext.tiddlyspace.com/fractalveg.jpg]]\n!!Image Links\n{{{\n[img[http://wikitext.tiddlyspace.com/fractalveg.jpg][http://www.flickr.com/photos/jermy/10134618/]]\n}}}\n[img[http://wikitext.tiddlyspace.com/fractalveg.jpg][http://www.flickr.com/photos/jermy/10134618/]]\n\n!!Floating Images\nTo clear a float, append...\n{{{\n@@clear:both;display:block; @@\n}}}\n\n!!Floating Left...\n{{{\n[<img[http://wikitext.tiddlyspace.com/fractalveg.jpg]]\n@@clear:both;display:block; all clear@@\n}}}\n[<img[http://wikitext.tiddlyspace.com/fractalveg.jpg]]\n@@clear:both;display:block; all clear@@\n!!Floating Right\n{{{\n[>img[http://wikitext.tiddlyspace.com/fractalveg.jpg]]\n@@float:right;clear:both;display:block; all clear@@\n@@clear:both;display:block; @@\n}}}\n[>img[http://wikitext.tiddlyspace.com/fractalveg.jpg]]\n@@float:right;clear:both;display:block; all clear@@\n@@clear:both;display:block; @@\n"
  },
  {
    "path": "editions/classicparserdemo/tiddlers/Issues.tid",
    "content": "created: 20140416202554189\nmodified: 20140831091025876\ntitle: Issues\ntype: text/x-tiddlywiki\n\n*There is problem with table colspan with > to the right of a text filled cell.\n*tiddler macro incomplete\n*not all classic core macros supported\n\n"
  },
  {
    "path": "editions/classicparserdemo/tiddlers/Line Breaks.tid",
    "content": "created: 20130211153646000\ncreator: tobibeer\nmodified: 20140415164315536\nmodifier: andrewstern\ntags: Formatting\ntitle: Line Breaks\ntype: text/x-tiddlywiki\n\n!Summary\nLine breaks can be forced explicitly using a {{{<br>}}} -- useful in lists or tables.\n!Markup\n{{{\n|A cell<br> with a line break|\n}}}\n|A cell<br> with a line break|\n!!Avoiding Linebreaks\nSometimes you want to avoid superflous linebreaks and increase readability of your wiki text, e.g. when using @@highlights@@ or the tiddler macro. To achieve that, end the current line by starting a hidden comment and ending it on the next line, e.g.:\n{{{\n@@highlight@@/%\n%/<<tiddler foo>>\n}}}\nThis will prevent from adding a superflous linebreak between the highlight and the transcluded content that follows.\n!!Also see\n* [[Table Formatting\n"
  },
  {
    "path": "editions/classicparserdemo/tiddlers/Links.tid",
    "content": "created: 20130211154140000\ncreator: tobibeer\nmodified: 20140831095524601\nmodifier: tobibeer\ntags: Formatting\ntitle: Links\ntype: text/x-tiddlywiki\n\n!Summary\nTiddlyWiki allows different kinds of links, e.g. WikiWords, [[TiddlyLinks|TiddlyLink]], external Links or TiddlySpace links.\n!!WikiWords\nAny words or phrases that are CamelCase or [[Compound-Words|CamelCase]] - in which the elements are joined without spaces - will result in them becoming wiki links to tiddlers with that name. \n{{{\nWikiWord\n}}}\nWikiWord\n\nTo prevent this, append a tilde {{{~}}}...\n{{{\n~WikiWord\n}}}\n~WikiWord\n\n!![[TiddlyLinks|TiddlyLink]]\nA tiddler can also be linked using square brackets encompassing the tiddler title:\n{{{\n[[Core Macros]]\n}}}\n[[Core Macros]]\n\n!![[Pretty TiddlyLinks|TiddlyLink]]\nOptionally, a custom title can be used, separated by a pipe character (|)\n{{{\n[[standard macros|Core Macros]]\n}}}\n[[standard macros|Core Macros]]\n\n!![[External Links|External Link]]\nA valid URL directly results in a link to that external site:\n{{{\nhttp://tiddlywiki.org\n}}}\nhttp://tiddlywiki.org\n\n!![[Pretty External Links|External Link]]\nSimilar to TiddlyLinks, external links can have a different title as well:\n{{{\n[[visit TiddlyWiki.org|http://tiddlywiki.org]]\n}}}\n[[visit TiddlyWiki.org|http://tiddlywiki.org]]\n\n"
  },
  {
    "path": "editions/classicparserdemo/tiddlers/Lists.tid",
    "content": "created: 20120131235950000\ncreator: sandman619\nmodified: 20140415164107038\nmodifier: tobibeer\ntags: Formatting\ntitle: Lists\ntype: text/x-tiddlywiki\n\n!Summary\nIn TiddlyWiki you can make user of different list types, such as unordered lists, ordered or numbered lists, as well as definition lists.\n!!Ordered Lists\nLists can be ordered using numbers and letters by starting a line with a hash {{{#}}}...\n{{{\n#List item one\n##List item two\n###List item three\n}}}\n#List item one\n##List item two\n###List item three\n!!Unordered Lists\nCreate unordered lists by starting a line using an asterisk {{{*}}}...\n{{{\n*Unordered List Level 1\n**Unordered List Level 2\n***Unordered List Level 3\n}}}\n*Unordered List Level 1\n**Unordered List Level 2\n***Unordered List Level 3\n!!Definition Lists\nCreate definition lists by starting a line using a semi-colon {{{;}}} for the term followed by a line starting with a colon {{{:}}} for the definition...\n{{{\n;Term 1\n:Definition for Term 1\n;Term 2\n:Definition for Term 2\n}}}\n;Term 1\n:Definition for Term 1\n;Term 2\n:Definition for Term 2\n"
  },
  {
    "path": "editions/classicparserdemo/tiddlers/Markup.tid",
    "content": "created: 20130205062501000\ncreator: tobibeer\nmodified: 20140831153103538\nmodifier: tobibeer\ntitle: Markup\ntype: text/x-tiddlywiki\n\nTiddlyWiki markup is a dedicated markup syntax to <<tag Formatting \"format your content\">> using WikiText... \n|noLinkify|k\n|width:250px; !Example | !Example Markup |h\n| how the example markup renders | what to enter as tiddler text |\n|>| ![[Basic Text Formatting|Basic Formatting]] |\n|''bold''|{{{''bold''}}} (two __single__-quotes) |\n|//italics//|{{{//italics//}}} |\n|''//bold italics//''|{{{''//bold italics//''}}} |\n|__underline__|{{{__underline__}}} |\n|--strikethrough--|{{{--strikethrough--}}} |\n|super^^script^^|{{{super^^script^^}}} |\n|sub~~script~~|{{{sub~~script~~}}} |\n|@@highlight@@|{{{@@highlight@@}}} |\n|foo -- bar|{{{foo -- bar}}} -- two dashes create an Em dash|\n|>| ![[Avoiding Wikification|Suppressing Formatting]] |\n|to output text as-is (escaping), enclose it in three double quotes or use the {{{<nowiki>}}} markup|>|\n|\"\"\"plain//text\"\"\" |{{{\"\"\"plain//text\"\"\"}}}|\n|<nowiki>not__wikified</nowiki>|{{{<nowiki>not__wikified</nowiki>}}}|\n|>| ![[Headings]] |\n|start a new line with one or more question marks to create headings |>|\n|<html><h1>Heading 1</h1><h2>Heading 2</h2><h3>Heading 3</h3><h4>Heading 4</h4><h5>Heading 5</h5></html>|{{{!Heading 1}}}<br />{{{!!Heading 2}}}<br />{{{!!!Heading 3}}}<br />{{{!!!!Heading 4}}}<br />{{{!!!!!Heading 5}}}|\n|>|![[Lists]]|\n|>| [[Ordered Lists|Lists]] |\n|<html><ol><li>item one</li><li>item two<ol><li>level two<ol><li>level three</li></ol></li></ol></li></ol></li></ol></html>|{{{#item one}}}<br/>{{{#item  two}}}<br/>{{{##level two}}}<br/>{{{###level three}}}|\n|>| [[Unordered Lists|Lists]] |\n|<html><ul><li>item one</li><li>item two<ul><li>level two<ul><li>level three</li></ul></li></ul></li></ul></html>|{{{*item one}}}<br/>{{{*item two}}}<br/>{{{**level two}}}<br/>{{{***level three}}}|\n|>| [[Definition List|Lists]] |\n|<html><dl><dt>term</dt><dd>definition</dd></dl></html>|{{{;term}}}<br />{{{:definition}}}|\n|>| [[Mixed Lists|Lists]] |\n|<html><ol><li>ordered<ul><li>unordered<dl><dt>term</dt><dd>definition</dd></dl></li></ul></li></ol></html>|{{{# ordered}}}<br />{{{#* unordered}}}<br />{{{#*;term}}}<br />{{{#*:definition}}}|\n| ![[Blockquotes]] |>|\n| [[Nested Blockquotes|Blockquotes]] |>|\n|<html><blockquote>blockquote<blockquote>level two<blockquote>level three</blockquote></blockquote></blockquote></html>|{{{>blockquote}}}<br />{{{>>level two}}}<br />{{{>>>level three}}}|\n|>| [[Multi-line Blockquotes|Blockquotes]] |\n|<html><blockquote>multi-line<br/>blockquote</blockquote></html>|{{{<<<}}}<br />{{{multi-line}}}<br />{{{blockquote}}}<br />{{{<<<}}}|\n|>| [[Mixed Blockquotes|Blockquotes]] |\n|<html><blockquote>foo<br><blockquote>inner foo, level 1<br><blockquote>inner foo, level 2<br></blockquote></blockquote>more foo<br></blockquote></html>|{{{<<<}}}<br />{{{foo}}}<br />{{{> inner foo, level 1}}}<br />{{{>> inner foo, level 2}}}<br />{{{more foo}}}<br />{{{<<<}}}|\n|>| ![[Code  / Monospaced Text|Code]] |\n|>| [[Inline Code|Code]] |\n|{{{monospaced text}}}|<html><code>{{{mono space text}}}</code></html>|\n|>| [[Code Block|Code]] |\n|<html><pre>{{{<br/>multi-line<br/>code block<br/>}}}</pre></html>|<html><code>{{{</code></html><br/>{{{multi-line}}}<br/>{{{code block}}}<br/><html><code>}}}</code></html>|\n| ![[Links]] |>|\n|>| [[Internal Links|TiddlyLink]] |\n|[[WikiWord]]|{{{WikiWord}}}|\n|~NoLink|{{{~NoLink}}} -- a tilde {{{~}}} prevents automatic ~WikiWord links|\n|[[Plain Link]]|{{{[[Plain Link]]}}}|\n|[[Pretty Link|Tiddler Name]]|{{{[[Pretty Link|Tiddler Name]]}}}|\n|>| [[External Links|External Link]] |\n|A valid URL is automatically rendered as an external link.|>|\n|https://www.tiddlywiki.com|{{{https://www.tiddlywiki.com}}}|\n|[[Pretty External Link|https://www.tiddlywiki.com]]|{{{[[Pretty External Link|https://www.tiddlywiki.com]]}}}|\n|>| ![[Filesystem Links|Links]] |\n|You can, of course, use file system links both as plain or pretty links.|>|\n|''Windows Network Path''|{{{[[file://///server/share]]}}}|\n|''Windows Local''|{{{[[file:///c:/folder/file]]}}}|\n|''Linux/Unix Local''|{{{[[file:///folder/file]]}}}|\n|''Relative Path (Subfolder)''|{{{[[folder/file]]}}}|\n|>| ![[Images]] |\n|In general, image files are external to a TiddlyWiki.|>|\n|[img[https://www.tiddlywiki.com/favicon.ico]]|{{{[img[path/image.jpg]]}}}|\n| aligned right&nbsp;&nbsp;[>img[https://www.tiddlywiki.com/favicon.ico]]|{{{[>img[path/image.jpg]]}}}|\n|[<img[https://www.tiddlywiki.com/favicon.ico]]&nbsp;&nbsp;aligned left|{{{[<img[path/image.jpg]]}}}|\n|w/ internal link [>img[https://www.tiddlywiki.com/favicon.ico][TiddlyWiki]]|{{{[img[path/image.jpg][TiddlerName]]}}}|\n|w/ external link [>img[https://www.tiddlywiki.com/favicon.ico][https://www.tiddlywiki.com]]|{{{[img[path/image.jpg][TiddlyWiki|https://www.tiddlywiki.com]]}}}|\n|>| ![[Gradients|gradient]] |\n|<<gradient horiz #faa #afa #aaf>>&nbsp;&nbsp;__vert__ical or __horiz__ontal<br>&nbsp;&nbsp;see [[gradient macro|http://tiddlywiki.org/#%5B%5Bgradient%20(macro)%5D%5D]]>>|{{{<<gradient horiz #faa #afa #aaf>>wiki text>>}}}|\n|>| ![[Tables]] |\n|<<tiddler HTML_TABLE>>|<<tiddler HTML_TABLE_MARKUP>>|\n|>|<<tiddler HTML_TABLE_RULES>>|\n|>| ![[Custom Styles|CSS Formatting]] |\n|>|a {{{@@highlight@@}}} element can accept CSS syntax to directly style text.|>|\n|@@color:green;green coloured@@|{{{@@color:green;green coloured@@}}}|\n|>| ![[Custom CSS Class Wrapper|CSS Formatting]] |\n|>|You can define a custom css class wrapper, like {{{.button}}} below. By default, the inner text is placed inline into a {{{<span>}}} of said class(s). If you start and end the inner text with a newline, the content is placed in a {{{<div>}}}. Use the StyleSheet to define the css styles applied to the class.|\n|<br>{{button title{Click!}}}|<html><pre>{{button title{Click!}}}</pre></html>|\n|>| ![[Embedded HTML|HTML Formatting]] |\n|<html><span style=\"padding-right:30px;font-size:2em;\">any</span><br /><b>valid</b> <em>xhtml</em></html>|<html><code style=\"font-weight:bold\">&lt;html&gt;</code></html>{{{<span style=\"padding-right:30px;font-size:2em;\">any</span><br /><b>valid</b> <em>xhtml</em>}}}<html><code style=\"font-weight:bold\">&lt;/html&gt;</code></html>|\n|>| [[Embedded <iframe>|HTML Formatting]] |\n|<html><iframe height=\"200px\" width=\"300px\" src=\"https://www.youtube.com/embed/Cj6ho1-G6tw?vq=hd720\" frameborder=\"0\" allowfullscreen/></html>|<html><code style=\"font-weight:bold\">&lt;html&gt;</code></html>{{{<iframe src=\"http://the.url\"/>}}}<html><code style=\"font-weight:bold\">&lt;/html&gt;</code></html>|\n|>| ![[Line Break|Line Breaks]] |\n|handy for entering multi-line content into table cells or lists|>|\n|a<br>b|{{{a<br>b}}} or {{{a<br/>a}}} or {{{a<br />a}}}|\n|>| ![[Horizontal Rules]] |\n|before<hr>after|{{{<hr>}}} or <br>{{{----}}} on its own line|\n|>| ![[HTML Entities]] |\n|>|You can use HTML entities...|\n|&#632;&trade; |{{{&#632;&trade;}}}|\n| ![[Macros]] |>|\n|>|macros are called by enclosing the macro name in {{{<<}}} and {{{>>}}}|\n|<<version>> |{{{<<version>>}}}|\n|>| ![[Hidden Text|Basic Formatting]] |\n|This is hidden: |{{{This is hidden: /% secret comment %/}}}|\n\n"
  },
  {
    "path": "editions/classicparserdemo/tiddlers/Monospaced Text.tid",
    "content": "created: 20130213002736000\ncreator: tobibeer\nmodified: 20140415163915430\nmodifier: andrewstern\ntags: Formatting\ntitle: Monospaced Text\ntype: text/x-tiddlywiki\n\n\n<<tiddler Code>>\n"
  },
  {
    "path": "editions/classicparserdemo/tiddlers/Suppressing Formatting.tid",
    "content": "created: 20130211143136000\ncreator: tobibeer\nmodified: 20140415164021461\nmodifier: andrewstern\ntags: Formatting\ntitle: Suppressing Formatting\ntype: text/x-tiddlywiki\n\n!Summary\nTiddlyWiki markup rules can be suppressed for any given section of text by enclosing it in three ''double'' quotes or wrapping it using the {{{<nowiki>}}} markup...\n* when you just don't want that text to be TiddlyWiki markup\n* when you want to prevent WikiWords\n* when you copy & paste from other sources\n!Markup\n{{{\n» neither is this italicised or a \"\"\"//WikiWord//\"\"\"\n» nor is this <nowiki>__underlined__</nowiki>\n}}}\n» neither is this italicised or a \"\"\"//WikiWord//\"\"\"\n» nor is this <nowiki>__underlined__</nowiki>\n\nIn addition, you can suppress auto-linking for WikiWords, use the tilde prefix {{{~}}}:\n{{{\n~WikiWord\n}}}\n~WikiWord\n!!Also see\n*[[Comment Formatting]]\n*[[Code Formatting]]\n"
  },
  {
    "path": "editions/classicparserdemo/tiddlers/Tables.tid",
    "content": "created: 20130205062438000\ncreator: tobibeer\nmodified: 20140901062133767\nmodifier: andrewstern\ntags: Formatting\ntitle: Tables\ntype: text/x-tiddlywiki\n\n!Summary\nTiddlyWiki provides flexible means to output tables.\n!!\"\"\"Simple Tables\"\"\"\n{{{\n|North West|North|North East|\n|West|Here|East|\n|South West|South|South East|\n}}}\n|North West|North|North East|\n|West|Here|East|\n|South West|South|South East|\n!!\"\"\"Cell Formatting\"\"\"\n*Insert a space before cell content to right justify cell\n*Insert a space after cell content to left justify cell\n*Insert spaces before and after cell content to centre justify cell\n*Insert an exclamation mark ({{{!}}}) as the first non-space character of a cell to turn it into a header cell\n{{{\n|!First column|!Second column|!Third column|\n|left | centre | right|\n}}}\n|!First column|!Second column|!Third column|\n|left | centre | right|\n!!\"\"\"Table Headers and Footers\"\"\"\n* Mark a table row as a header by adding an 'h' to the end\n* Mark a table row as a footer by adding an 'f' to the end\n{{{\n|NW|N|NE|h\n|W|X|E|\n|SW|S|SE|f\n}}}\n|NW|N|NE|h\n|W|X|E|\n|SW|S|SE|f\nUse  an exclamation mark to turn an individual cell into a header cell of type {{{<th}}}...\n{{{\n| NW| !N |NE |h\n| !W| X |!E |\n| SW| !S |SE |f\n}}}\n| NW| !N |NE |h\n| !W| X |!E |\n| SW| !S |SE |f\n!!\"\"\"Table Caption\"\"\"\nA caption can be added to a table by adding a {{{c}}} after the last column either before the main table...\n{{{\n|A caption above the table|c\n|North West|North|North East|\n|West|Here|East|\n|South West|South|South East|\n}}}\n|A caption above the table|c\n|North West|North|North East|h\n|West|Here|East|\n|South West|South|South East|\nor after the main table...\n{{{\n|North West|North|North East|\n|West|Here|East|\n|South West|South|South East|\n|A caption below the table|c\n}}}\n|North West|North|North East|h\n|West|Here|East|\n|South West|South|South East|\n|A caption below the table|c\n!!\"\"\"Merging Table Cells\"\"\"\nMerge a cell horizontally with the one to its right using greater-than {{{>}}}...\n{{{\n|North West|North|North East|\n|>|>|West and Here and East|\n|South West|South|South East|\n}}}\n|North West|North|North East|\n|>|>|West and Here and East|\n|South West|South|South East|\nMerge a cell vertically with the one above using a tilde {{{~}}}...\n{{{\n|Westerly|North|North East|\n|~|Here|East|\n|~|South|South East|\n}}}\n|Westerly|North|North East|\n|~|Here|East|\n|~|South|South East|\n!!\"\"\"CSS Formatting for Tables\"\"\"\nA CSS class can be added to an entire table using a special first row that ends with a {{{k}}}...\n{{{\n|myClass|k\n|North West|North|North East|\n|West|Here|East|\n|South West|South|South East|\n}}}\nUse your StyleSheet tiddler to define the desired styles.\n\nCSS properties can also be added to individual table cells by appending the CSS syntax directly after the delimiting pipe {{{|}}}.\n{{{\n|color:red; North West|opacity:0.5;North|North East|\n|color(green):West|Here|East|\n|South West|South|South East|\n}}}\n|color:red; North West|opacity:0.5;North|North East|\n|color(green):West|Here|East|\n|South West|South|South East|\n!!\"\"\"Alternating Row Colors\"\"\"\nTiddlyWiki automatically assigns the classes {{{oddRow}}} and {{{evenRow}}} to table row elements {{{<TR>}}}. These can then be styled using the StyleSheet tiddler:\n{{{\ntr.oddRow { background-color: #fff; }\ntr.evenRow { background-color: #ffe; }\n}}}\n"
  },
  {
    "path": "editions/classicparserdemo/tiddlers/slidertest.tid",
    "content": "created: 20140416192513067\nmodified: 20140416200952144\ntitle: slidertest\ntype: text/x-tiddlywiki\n\n!!now a transclusion of [[Basic Formatting]]\n<hr>\n<<tiddler [[Basic Formatting]]>>\n"
  },
  {
    "path": "editions/classicparserdemo/tiddlers/text_x-tiddlywiki typeblock.tid",
    "content": "created: 20140416193948971\nmodified: 20140901082129041\ntitle: text/x-tiddlywiki typeblock\ntype: text/vnd.tiddlywiki\n\nThis is a tiddlywiki5 tiddler containing a Classic type-block.\n\n!!Demo text:\n\n```\n!!Tw5 Here\n\n$$$text/x-tiddlywiki\n!Classic Here\n<<slider $:/temp/xxx slidertest \"click me»\" \"more\" >>\n$$$\n```\n!!Demo results:\n\n!!Tw5 Here\n\n$$$text/x-tiddlywiki\n!Classic Here\n<<slider $:/temp/xxx slidertest \"click me»\" \"more\" >>\n$$$\n"
  },
  {
    "path": "editions/classicparserdemo/tiddlywiki.info",
    "content": "{\n\t\"description\": \"Demo of the experimental TiddlyWiki Classic parser plugin\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/tw2parser\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\"\n\t],\n\t\"includeWikis\": [\n\t],\n\t\"build\": {\n\t\t\"index\": [\n\t\t\t\"--rendertiddler\",\"$:/core/save/all\",\"classicparserdemo.html\",\"text/plain\"],\n\t\t\"external\": [\n\t\t\t\"--render\",\"$:/core/save/all-external-js\",\"classicparserdemo.html\",\"text/plain\"\n\t\t]\n\t}\n}\n"
  },
  {
    "path": "editions/codemirrordemo/tiddlers/$__coreURL.tid",
    "content": "title: $:/coreURL\ntags: $:/tags/Global\n\n\\function coreURL() [[../../../tiddlywikicore-$(version)$.js]substitute[]]\n"
  },
  {
    "path": "editions/codemirrordemo/tiddlers/DefaultSidebarTab.tid",
    "content": "title: $:/config/DefaultSidebarTab\n\n\n$:/codemirrordemo/sidebar/cheatsheet\n\n"
  },
  {
    "path": "editions/codemirrordemo/tiddlers/DefaultTiddlers.tid",
    "content": "title: $:/DefaultTiddlers\n\n[[HelloThere]]\n[[Draft of 'LoremIpsum']]\n"
  },
  {
    "path": "editions/codemirrordemo/tiddlers/Draft of LoremIpsum.tid",
    "content": "title: Draft of 'LoremIpsum'\ndraft.of: LoremIpsum\ndraft.title: LoremIpsum\n\nLorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\n\nUt enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\n\nDuis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\n"
  },
  {
    "path": "editions/codemirrordemo/tiddlers/HelloThere.tid",
    "content": "title: HelloThere\n\nThis is a demo of [[TiddlyWiki5|https://tiddlywiki.com]] incorporating a plugin for the [[CodeMirror|http://codemirror.net/]] text editor for the web.\n\nThe ~CodeMirror plugin can be extended with ~AddOns for more functionality:\n\n* Search and Replace\n* Text - Autocompletion\n* Syntax highlighting\n* Fullscreen editing\n* Keymaps in the style of Emacs, Sublime Text or Vim\n* Closing Brackets\n* Closing Tags\n* Display trailing whitespace\n\nNOTE: This demo has the ''Sublime Text'' keymap installed.\n\n!!!Try editing the tiddler [[Draft of 'LoremIpsum']] to try out the editor.\n\nSome commands and functions to try:\n\n* Ctrl+F : Search panel to search for expressions\n* Ctrl+H (sublime text shortcut, default is Ctrl+Shift+R) : Search and Replace\n* Ctrl+Space : Triggers Autocompletion\n* typing an opening bracket like `{` automatically creates the closing bracket `}`\n* tiddlers with type `application/javascript`, `application/json`, `text/css`, `text/html`, `text/xml`, `text/x-markdown` and `text/x-tiddlywiki` have Syntax Highlighting\n* tiddlers with type `text/html` automatically close tags like `<div>` when the closing `>` gets typed\n* Multiple cursors: holding Ctrl pressed while selecting words results in multiple cursors. If you type, all selections will update\n\nThis demo uses the ''Sublime Text Keymap'' - See the Sidebar Tab ''Keymap'' or the [[Sublime Text Keymap Readme|$:/plugins/tiddlywiki/codemirror-keymap-sublime-text/readme]] for all available keyboard shortcuts\n\nTo add the base plugin to your own ~TiddlyWiki5, just drag this link to the browser window:\n\n[[$:/plugins/tiddlywiki/codemirror]]\n\n[[CodeMirror plugin Readme|$:/plugins/tiddlywiki/codemirror/readme]]\n\n[[CodeMirror plugin Usage|$:/plugins/tiddlywiki/codemirror/usage]]\n\nTo add ~AddOns to your ~CodeMirror plugin, go to ~ControlPanel - Plugins and drag the desired ~AddOn to your wiki browser window\n\nThe configuration for ~AddOns is done automatically, configuration for sensible settings can be done in ~ControlPanel - Settings - ~CodeMirror\n\n\n"
  },
  {
    "path": "editions/codemirrordemo/tiddlers/KeyMap.tid",
    "content": "title: $:/config/codemirror/keyMap\ntype: string\n\nsublime\n"
  },
  {
    "path": "editions/codemirrordemo/tiddlers/KeymapCheatsheet.tid",
    "content": "caption: Keymap\ntags: $:/tags/SideBar\ntitle: $:/codemirrordemo/sidebar/cheatsheet\n\n\n|Shortcut |Function |h\n|Shift-Tab |indentLess |\n|Shift-Ctrl-K |deleteLine |\n|Alt-Q |wrapLines |\n|Alt-T |transposeChars |\n|Alt-Left |goSubwordLeft |\n|Alt-Right |goSubwordRight |\n|Ctrl-Up |scrollLineUp |\n|Ctrl-Down |scrollLineDown |\n|Alt-L |selectLine |\n|Shift-Alt-L |splitSelectionByLine |\n|Ctrl-Esc |singleSelectionTop |\n|Shift-Enter |insertLineAfter |\n|Shift-Ctrl-Enter |insertLineBefore |\n|Ctrl-D |selectNextOccurrence |\n|Shift-Ctrl-Space |selectScope |\n|Shift-Ctrl-M |selectBetweenBrackets |\n|Alt-M |goToBracket |\n|Shift-Ctrl-Up |swapLineUp |\n|Shift-Ctrl-Down |swapLineDown |\n|Ctrl-/ |toggleCommentIndented |\n|Ctrl-J |joinLines |\n|Shift-Ctrl-D |duplicateLine |\n|F9 |sortLines |\n|Ctrl-F9 |sortLinesInsensitive |\n|F2 |nextBookmark |\n|Shift-F2 |prevBookmark |\n|Ctrl-F2 |toggleBookmark |\n|Shift-Ctrl-F2 |clearBookmarks |\n|Alt-F2 |selectBookmarks |\n|Backspace |smartBackspace |\n|Ctrl-K Ctrl-K |delLineRight |\n|Ctrl-K Alt-U |upcaseAtCursor |\n|Ctrl-K Alt-L |downcaseAtCursor |\n|Ctrl-K Ctrl-Space |setSublimeMark |\n|Ctrl-K Ctrl-A |selectToSublimeMark |\n|Ctrl-K Alt-D |deleteToSublimeMark |\n|Ctrl-K Ctrl-X |swapWithSublimeMark |\n|Ctrl-K Ctrl-Y |sublimeYank |\n|Ctrl-K Ctrl-C |showInCenter |\n|Ctrl-K Ctrl-G |clearBookmarks |\n|Ctrl-K Ctrl-Backspace |delLineLeft |\n|Ctrl-K Ctrl-0 |unfoldAll |\n|Ctrl-K Ctrl-J |unfoldAll |\n|Ctrl-Alt-Up |addCursorToPrevLine |\n|Ctrl-Alt-Down |addCursorToNextLine |\n|Ctrl-F3 |findUnder |\n|Shift-Ctrl-F3 |findUnderPrevious |\n|Shift-Ctrl-[ |fold |\n|Shift-Ctrl-] |unfold |\n|Ctrl-H |replace |\n\n"
  },
  {
    "path": "editions/codemirrordemo/tiddlers/LoremIpsum.tid",
    "content": "title: LoremIpsum\n\nLorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\n\nUt enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\n\nDuis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\n"
  },
  {
    "path": "editions/codemirrordemo/tiddlers/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\n~CodeMirror plugins for ~TiddlyWiki\n"
  },
  {
    "path": "editions/codemirrordemo/tiddlers/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\n~CodeMirror Demo\n"
  },
  {
    "path": "editions/codemirrordemo/tiddlers/cm-theme.tid",
    "content": "title: $:/config/codemirror/theme\n\ntiddlywiki\n"
  },
  {
    "path": "editions/codemirrordemo/tiddlers/lineNumbers.tid",
    "content": "title: $:/config/codemirror/lineNumbers\ntype: bool\n\ntrue\n"
  },
  {
    "path": "editions/codemirrordemo/tiddlers/sidebarlayout.tid",
    "content": "title: $:/themes/tiddlywiki/vanilla/options/sidebarlayout\n\nfluid-fixed"
  },
  {
    "path": "editions/codemirrordemo/tiddlers/styleActiveLine.tid",
    "content": "title: $:/config/codemirror/styleActiveLine\ntype: bool\n\ntrue\n"
  },
  {
    "path": "editions/codemirrordemo/tiddlywiki.info",
    "content": "{\n\t\"description\": \"Demo of the CodeMirror plugin\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/codemirror\",\n\t\t\"tiddlywiki/codemirror-closebrackets\",\n\t\t\"tiddlywiki/codemirror-closetag\",\n\t\t\"tiddlywiki/codemirror-autocomplete\",\n\t\t\"tiddlywiki/codemirror-search-replace\",\n\t\t\"tiddlywiki/codemirror-fullscreen-editing\",\n\t\t\"tiddlywiki/codemirror-mode-xml\",\n\t\t\"tiddlywiki/codemirror-mode-htmlembedded\",\n\t\t\"tiddlywiki/codemirror-mode-htmlmixed\",\n\t\t\"tiddlywiki/codemirror-mode-javascript\",\n\t\t\"tiddlywiki/codemirror-mode-css\",\n\t\t\"tiddlywiki/codemirror-mode-x-tiddlywiki\",\n\t\t\"tiddlywiki/codemirror-mode-markdown\",\n\t\t\"tiddlywiki/codemirror-trailingspace\",\n\t\t\"tiddlywiki/codemirror-keymap-emacs\",\n\t\t\"tiddlywiki/codemirror-keymap-sublime-text\",\n\t\t\"tiddlywiki/codemirror-keymap-vim\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\"\n\t],\n\t\"includeWikis\": [\n\t],\n\t\"build\": {\n\t\t\"index\": [\n\t\t\t\"--rendertiddler\",\"$:/core/save/all\",\"codemirrordemo.html\",\"text/plain\"],\n\t\t\"external\": [\n\t\t\t\"--render\",\"$:/core/save/all-external-js\",\"codemirrordemo.html\",\"text/plain\"\n\t\t]\n\t}\n}\n"
  },
  {
    "path": "editions/de-AT/tiddlers/Bilder.tid",
    "content": "created: 20140918095343387\ncreator: pmario\nmodified: 20140918095343388\nmodifier: pmario\ntags: InhaltsVerzeichnis\ntitle: Bilder\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/de-AT/tiddlers/Community.tid",
    "content": "created: 20140923110902616\ncreator: pmario\nmodified: 20140923191056060\nmodifier: pmario\ntitle: Community\ntype: text/vnd.tiddlywiki\n\nEinige interessante Projekte: \n\n<<list-links filter:\"[tag[Community]]\">>\n\ntiddlywiki.com: https://tiddlywiki.com/#Community"
  },
  {
    "path": "editions/de-AT/tiddlers/Einfuhrung.tid",
    "content": "created: 20140918095353295\ncreator: pmario\nmodified: 20150513154206176\nmodifier: pmario\ntags: InhaltsVerzeichnis Intro\ntitle: Einführung\ntype: text/vnd.tiddlywiki\n\n~TiddlyWiki ist eine Web-Applikation, die Sie frei herunterladen können. Sie können sie speichern, wo Sie wollen:\n\n* Auf Ihrem Laufwerk,\n* USB-Wechselspeicher\n* oder Ihrem \"Cloud Speicher\"\n\nSie sind der Herr über Ihre Daten!\n\nSie können ~TiddlyWiki verwenden um Ihre Notizen zu erstellen / organisieren / oder mit Freunden zu teilen, in einer Weise, die kein anderes Textverarbeitungsprogramm vermag. ~TiddlyWiki speichert Ihre Texte in einer \"nicht-linearen\" Form, mit Hilfe von [[Tags]], [[Hyperlinks]] und vielen weiteren Möglichkeiten. So können Sie Ihre Notizen strukturieren, in einer \nWeise, die mehr dem entspricht, \"wie wir denken\", nicht in einem vom Entwickler vorgegebenen starren Korsett. \n\nSie können TiddlyWiki als eine einzige Datei speichern, die Sie mit dem Web-Browser, online oder offline, verwenden können. Für geübte Benutzer kann ~TiddlyWiki als [[Node.js Applikation|Node.js]] verwendet werden, die jeden [[Tiddler]] als einzelne Datei behandelt und dabei als zentrales Archiv fungiert.\n\n!!! Wie können Sie ~TiddlyWiki nun für sich nutzen?\n\n* Im Anschluss sind einige Links aufgeführt, mit denen Sie starten sollten, oder Sie können jederzeit das InhaltsVerzeichnis verwenden.\n\n* Das ~InhaltsVerzeichnis kann auch über den Reiter \"Inhalt\" auf der rechten Seite aufgerufen werden.\n\n* ''Starten Sie jetzt mit \"ErsteSchritte\".'' Viel Spaß!\n\n!!! Weitere Links\n\n* ''ErsteSchritte''\n* [[TiddlyWiki Syntax|WikiText]] \n* [[Liste aller HowTo's]]\n* [[Was kann TiddlyWiki]] \n* [[WikiText mehr Beispiele]] \n* [[Was geschah mit dem alten TiddlyWiki?|Was geschah mit dem alten TiddlyWiki]]\n"
  },
  {
    "path": "editions/de-AT/tiddlers/HelloThere.tid",
    "content": "caption: Willkommen!\ncreated: 20130822170200000\ncreator: pmario\nlist: [[A Gentle Guide to TiddlyWiki]] [[Discover TiddlyWiki]] [[Some of the things you can do with TiddlyWiki]] [[Ten reasons to switch to TiddlyWiki]] Examples [[What happened to the original TiddlyWiki?]]\nmodified: 20150518143131326\nmodifier: pmario\ntags: InhaltsVerzeichnis\ntitle: HelloThere\ntype: text/vnd.tiddlywiki\n\n! Willkommen!\n\n''Haben Sie schon jemals das Gefühl gehabt, Ihr Gehirn sei nicht groß genug, um sich alles zu merken, was Ihnen wichtig ist?''\n\nWillkommen bei ''~TiddlyWiki'', dem einzigartigen [[nicht-linearen|Philosophy von Tiddlern]] Web-Notizbuch, das Ihnen hilft Ihre Ideen zu [[sammeln|Erstellen von Notizen]], zu [[strukturieren|TiddlyWiki Strukturieren]] und [[weiter zu geben|Informationen weitergeben]]. \n\n<div style=\"font-size:0.7em;text-align:center;margin-top:2em;margin-bottom:2em;\">\n<<list-thumbnails filter:\"[tag[HelloThumbnail]]\" width:\"168\" height:\"95\">>\n</div>\n\nAnders, als bei herkömmlichen Online-Diensten, lässt Ihnen ~TiddlyWiki die Freiheit, wo sie ihre Daten speichern. Da ~TiddlyWiki alle Daten als simplen Text speichert, sind Notizen, die Sie heute machen, garantiert in Jahrzehnten noch einfach lesbar. \n\n<div style=\"font-size:0.7em;text-align:center;margin-top:3em;margin-bottom:3em;\">\n<a href=\"https://talk.tiddlywiki.org/\" class=\"tc-btn-big-green\" style=\"background-color:#FF8C19;\" target=\"_blank\">\n{{$:/core/images/help}} ~TiddlyWiki Forum\n</a>\n<a href=\"https://twitter.com/TiddlyWiki\" class=\"tc-btn-big-green\" style=\"background-color:#5E9FCA;\" target=\"_blank\">\n{{$:/core/images/twitter}} @~TiddlyWiki on Twitter\n</a>\n<a href=\"https://github.com/TiddlyWiki/TiddlyWiki5\" class=\"tc-btn-big-green\" style=\"background-color:#444;\" target=\"_blank\">\n{{$:/core/images/github}} ~TiddlyWiki on ~GitHub\n</a>\n<a href=\"https://tiddlywiki.com\" class=\"tc-btn-big-green\" style=\"background-color:#green;\" target=\"_blank\">\n{{Motovun Jack.svg}} ~TiddlyWiki Homepage\n</a>\n</div>\n"
  },
  {
    "path": "editions/de-AT/tiddlers/InhaltsVerzeichnis.tid",
    "content": "caption: {{$:/language/SideBar/Contents/Caption}}\ncreated: 20140918100037381\ncreator: pmario\nlist: HelloThere Einführung WikiText [[Was kann TiddlyWiki]] Makros\nlist-after: $:/core/ui/SideBar/Open\nmodified: 20150513154508531\nmodifier: pmario\ntags: $:/tags/SideBar\ntitle: InhaltsVerzeichnis\ntype: text/vnd.tiddlywiki\n\n<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'InhaltsVerzeichnis'>>\n\n</div>\n"
  },
  {
    "path": "editions/de-AT/tiddlers/Konzept.tid",
    "content": "created: 20140918095538951\ncreator: pmario\nmodified: 20140918095538951\nmodifier: pmario\ntags: InhaltsVerzeichnis\ntitle: Konzept\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/de-AT/tiddlers/Lexikon.tid",
    "content": "created: 20140918095531114\ncreator: pmario\nmodified: 20140918095531114\nmodifier: pmario\ntags: InhaltsVerzeichnis\ntitle: Lexikon\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/de-AT/tiddlers/Makros.tid",
    "content": "created: 20140923192541820\ncreator: pmario\nmodified: 20140923203323350\nmodifier: pmario\ntags: InhaltsVerzeichnis\ntitle: Makros\ntype: text/vnd.tiddlywiki\n\nHier werden die globalen Makros aufgelistet, die in diesem Wiki beschrieben werden.\n\n<<list-links [tag[Makros]]>>\n\nWeitere Makros siehe: https://tiddlywiki.com/#Macros"
  },
  {
    "path": "editions/de-AT/tiddlers/Referenz.tid",
    "content": "created: 20140918095524720\ncreator: pmario\nmodified: 20140918095524720\nmodifier: pmario\ntags: InhaltsVerzeichnis\ntitle: Referenz\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/de-AT/tiddlers/Releases.tid",
    "content": "created: 20150518080410254\nmodified: 20150518080417093\ntitle: Releases\ntype: text/vnd.tiddlywiki\n\nSiehe: https://tiddlywiki.com/prerelease/#Releases"
  },
  {
    "path": "editions/de-AT/tiddlers/TWclassic.tid",
    "content": "created: 20140918095509663\ncreator: pmario\nmodified: 20140918095509663\nmodifier: pmario\ntags: InhaltsVerzeichnis\ntitle: TWclassic\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/de-AT/tiddlers/Video.tid",
    "content": "created: 20140918095450079\ncreator: pmario\nmodified: 20140918100439625\nmodifier: pmario\ntags: InhaltsVerzeichnis\ntitle: Video\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/de-AT/tiddlers/Widgets.tid",
    "content": "created: 20140918095112165\ncreator: pmario\nmodified: 20140923191255433\nmodifier: pmario\ntags: InhaltsVerzeichnis\ntitle: Widgets\ntype: text/vnd.tiddlywiki\n\nEs gibt momentan ca. 30 Widgets. Siehe: https://tiddlywiki.com/#Widgets"
  },
  {
    "path": "editions/de-AT/tiddlers/WikiText mehr Beispiele.tid",
    "content": "created: 20140924000519025\ncreator: pmario\nmodified: 20140924000530890\nmodifier: pmario\ntitle: WikiText mehr Beispiele\ntype: text/vnd.tiddlywiki\n\nSiehe: https://tiddlywiki.com"
  },
  {
    "path": "editions/de-AT/tiddlers/beispiele/Befreie die Prinzessin.tid",
    "content": "created: 20140923104906113\ncreator: pmario\nmodified: 20140923104922592\nmodifier: pmario\ntags: done task\ntitle: Befreie die Prinzessin\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/de-AT/tiddlers/beispiele/EinsA.tid",
    "content": "created: 20140923232836852\ncreator: pmario\nmodified: 20140923232900909\nmodifier: pmario\ntags: tocEins\ntitle: EinsA\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/de-AT/tiddlers/beispiele/EinsA1.tid",
    "content": "created: 20140923233101666\ncreator: pmario\nmodified: 20140923233117394\nmodifier: pmario\ntags: EinsA\ntitle: EinsA1\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/de-AT/tiddlers/beispiele/EinsB.tid",
    "content": "created: 20140923232903865\ncreator: pmario\nmodified: 20140923235548021\nmodifier: pmario\ntags: tocEins\ntitle: EinsB\ntoc-link: no\ntype: text/vnd.tiddlywiki\n\nDieser Tiddler enthält ein Feld mit dem Namen: `toc-link` mit dem Wert: `no`. Deshalb wird beim `<<toc>>` Makro hier kein Link erzeugt.\n\nSiehe: [[Inhaltsverzeichnis-Einfach]]"
  },
  {
    "path": "editions/de-AT/tiddlers/beispiele/EinsB1.tid",
    "content": "created: 20140923233021912\ncreator: pmario\nmodified: 20140923233038412\nmodifier: pmario\ntags: EinsB\ntitle: EinsB1\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/de-AT/tiddlers/beispiele/EinsC.tid",
    "content": "created: 20140923232927230\ncreator: pmario\nmodified: 20140923232944299\nmodifier: pmario\ntags: tocEins\ntitle: EinsC\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/de-AT/tiddlers/beispiele/Erstellen von Notizen.tid",
    "content": "created: 20140923182806946\ncreator: pmario\nmodified: 20140923190400774\nmodifier: pmario\ntags: [[Was kann TiddlyWiki]]\ntitle: Erstellen von Notizen\ntype: text/vnd.tiddlywiki\n\n~TiddlyWiki macht es dem Anwender einfach, Gedanken schnell nieder zu schreiben, um sie später wieder aufzugreifen, neu zu strukturieren und zu erweitern.\n\n!! Listen\n\nListen sind ein einfaches Element um \"Brainstorming\" zu machen. zB:\n\n* Was soll alles in dieses Wiki\n** Beispiele\n** InhaltsVerzeichnis\n** WikiText\n* Wie können die Möglichkeiten einfach dargestellt werden\n* Welche Macros sollen vorgestellt werden\n** Wie erstellt man Macros\n* Wie schnell sind dem Benutzer Widgets zuzumuten\n\n!! Zitate\n\n<<<\nAuch aus Steinen, die einem in den Weg gelegt werden, kann man was Schönes bauen. \n<<<Johann Wolfgang von Goethe, deutscher Dichter, 1749-1832\n\n!! Tags und Inhaltsverzeichnis\n\nDieser Tiddler ist mit [[Was kann TiddlyWiki]] getaggt. Dadurch wird er automatisch ins InhaltsVerzeichnis aufgenommen.\n\n!! ~WikiLinks\n\nWie Sie oben in der \"Brainstorming\" Liste sehen können, verwende ich dort WikiLinks. Auf diese Weise werden aus den Wörtern automatisch Links erstellt. Der Vorteil hier ist, das der Schreibfluss nicht durch das tippen von `[[]]` unterbrochen wird. \n\n\n"
  },
  {
    "path": "editions/de-AT/tiddlers/beispiele/Finde den Ring.tid",
    "content": "created: 20140923104730856\ncreator: pmario\nmodified: 20140923104937836\nmodifier: pmario\ntags: task\ntitle: Finde den Ring\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/de-AT/tiddlers/beispiele/Gehe nach Mordor.tid",
    "content": "created: 20140923104130293\ncreator: pmario\nmodified: 20140923104240485\nmodifier: pmario\ntags: task\ntitle: Gehe nach Mordor\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/de-AT/tiddlers/beispiele/Ideensammlung.tid",
    "content": "created: 20140923185617067\ncreator: pmario\nmodified: 20140923191935882\nmodifier: pmario\ntags: [[Was kann TiddlyWiki]] [[Transklusion in WikiText]]\ntitle: Ideensammlung\ntype: text/vnd.tiddlywiki\n\nWeil ich zu faul bin um hier das gleiche zu schreiben wie in [[Erstellen von Notizen]] [[transkludiere|Transklusion]] ich es mit: `{{Erstellen von Notizen}}`. Wenn Sie sehen wollen wie das genau geht, dann öffnen Sie diesen Tiddler im Edit Modus oder sehen sich [[Transklusion in WikiText]] genau an!\n\n---\n\n{{Erstellen von Notizen}}\n"
  },
  {
    "path": "editions/de-AT/tiddlers/beispiele/ReiterDrei.tid",
    "content": "caption: hohoho\ncreated: 20140923201100603\ncreator: pmario\nmodified: 20140923225432532\nmodifier: pmario\ntags: TabsMakro\ntitle: ReiterDrei\ntype: text/vnd.tiddlywiki\n\nInhalt von ReiterDrei. Dieser Tiddler hat ein Feld mit dem Namen: `caption`, welches den Text: {{!!caption}}, enthält."
  },
  {
    "path": "editions/de-AT/tiddlers/beispiele/ReiterEins.tid",
    "content": "created: 20140923200935097\ncreator: pmario\nmodified: 20140923203505353\nmodifier: pmario\ntags: TabsMakro\ntitle: ReiterEins\ntype: text/vnd.tiddlywiki\n\nReiterEins: Wenn Sie im rechten Menü den Reiter \"Mehr: System\" auswählen, dann können Sie die [[Status Tiddler]]: `$:state/tab1-########` sehen. Wenn Sie diese öffnen, dann sehen Sie, welcher Reiter gerade aktiv ist. "
  },
  {
    "path": "editions/de-AT/tiddlers/beispiele/ReiterZwei.tid",
    "content": "created: 20140923201017283\ncreator: pmario\nmodified: 20140923201756782\nmodifier: pmario\ntags: TabsMakro\ntitle: ReiterZwei\ntype: text/vnd.tiddlywiki\n\nReiterZwei, enthält kein `caption` Feld, deshalb wird der Tiddler Titel angezeigt."
  },
  {
    "path": "editions/de-AT/tiddlers/beispiele/Rette die Welt.tid",
    "content": "created: 20140923104757372\ncreator: pmario\nmodified: 20140923104811967\nmodifier: pmario\ntags: task\ntitle: Rette die Welt\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/de-AT/tiddlers/beispiele/Task Management Plugins.tid",
    "content": "created: 20140923110358218\ncreator: pmario\nmodified: 20150518092741803\nmodifier: pmario\ntags: [[Was kann TiddlyWiki]] Community TaskManagement\ntitle: Task Management Plugins\ntype: text/vnd.tiddlywiki\n\nDie \"~TiddlyWiki Community\" hat bereits begonnen, Plugins zu erstellen, mit denen ganze Projekte verwaltet werden können. \n\n* Briefcase: https://tiddlywiki.com/#%22GSD5%22%20by%20Roma%20Hicks\n* Briefcase in Aktion: http://gsd5.tiddlyspot.com/"
  },
  {
    "path": "editions/de-AT/tiddlers/beispiele/Task Management mit Listen.tid",
    "content": "created: 20140923105745269\ncreator: pmario\nmodified: 20140923182134093\nmodifier: pmario\ntags: [[Was kann TiddlyWiki]] TaskManagement\ntitle: Task Management mit Listen\ntype: text/vnd.tiddlywiki\n\nWie in [[Listen in WikiText]] beschrieben, können einzelnen Listenelementen spezifische Formatierungen (CSS Klassen) zugewiesen werden. \n\nFür ein \"reines\" Text basierendes Task Management System kann diese Funktion sehr hilfreich sein. \n\nZum Beispiel\n\n```\n* Finde den Ring\n* Gehe nach Mordor\n** Finde den Weg\n* Rette die Welt\n```\n\nErzeugt folgende einfache Liste. \n\n* Finde den Ring\n* Gehe nach Mordor\n** Finde den Weg\n* Rette die Welt\n\nMit CSS-Klassen und ein wenig Magie\n\n```\n*.Done Finde den Ring\n*.ToDo Gehe nach Mordor\n**.Check Finde den Weg\n* Rette die Welt\n```\n\nder richtigen [[Stylesheet|$:_TaskStylesheet]] und den [[richtigen Symbolen|$:/_tags/ListIcon]] wird daraus:\n\n*.Done Finde den Ring\n*.ToDo Gehe nach Mordor\n**.Check Finde den Weg\n* Rette die Welt\n\n"
  },
  {
    "path": "editions/de-AT/tiddlers/beispiele/Task Management mit Tags.tid",
    "content": "created: 20140923102233467\ncreator: pmario\nmodified: 20140923173538799\nmodifier: pmario\ntags: [[Was kann TiddlyWiki]] TaskManagement\ntitle: Task Management mit Tags\ntype: text/vnd.tiddlywiki\n\nMit TiddlyWiki kann man sehr einfach ein Task Management System aufbauen. Die Idee hier ist, dass einzelne Aktivitäten (Tasks) mit \"task\" und \"done\" getaggt werden. \n\nDamit können dynamische Listen erstellt werden. \n\n!! Offene Aktivität\n\n<$list filter=\"[!has[draft.of]tag[task]!tag[done]sort[created]]\">\n\n<$checkbox tag=\"done\"> <$link to={{!!title}}><$view field=\"title\"/></$link></$checkbox>\n\n</$list>\n\n!! Erledigte Aktivität\n\n<$list filter=\"[!has[draft.of]tag[task]tag[done]sort[created]]\">\n\n<$checkbox tag=\"done\"> ~~<$link to={{!!title}}><$view field=\"title\"/></$link>~~</$checkbox>\n\n</$list>\n"
  },
  {
    "path": "editions/de-AT/tiddlers/beispiele/TaskManagement.tid",
    "content": "created: 20140923173639039\ncreator: pmario\nmodified: 20230307080008193\nmodifier: pmario\ntitle: TaskManagement\ntype: text/vnd.tiddlywiki\n\nIn dieser Edition sind folgende Task Management Varianten beschrieben:\n\n<<list-links filter:\"[tag[TaskManagement]]\">>\n\n----\n\nObige Liste wurde mit folgenden Befehlen erstellt.\n\n```\n<<list-links filter:\"[tag[TaskManagement]]\">>\n```"
  },
  {
    "path": "editions/de-AT/tiddlers/beispiele/Verhaue den Drachen.tid",
    "content": "created: 20140923104853961\ncreator: pmario\nmodified: 20140923104926408\nmodifier: pmario\ntags: task done\ntitle: Verhaue den Drachen\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/de-AT/tiddlers/beispiele/Was kann TiddlyWiki.tid",
    "content": "created: 20140923101722330\ncreator: pmario\nlist: [[Erstellen von Notizen]] [[Task Management mit Tags]] [[Task Management mit Listen]]\nmodified: 20140924155042877\nmodifier: pmario\ntags: InhaltsVerzeichnis\ntitle: Was kann TiddlyWiki\ntype: text/vnd.tiddlywiki\n\n* [[Notizen sammeln|Erstellen von Notizen]], taggen und verlinken, um Beziehungen zwischen den Notizen fest zu legen.\n* Einfaches Erstellen, von [[Tag basierenden Listen|TaskManagement]] und [[Inhaltsverzeichnissen|InhaltsVerzeichnis]].\n** ~TiddlyWiki ist zwar ein \"nicht lineares Notizbuch\" aber etwas Struktur schadet nie :)\n* Verwalten von einfachen ~ToDo Listen. siehe: TaskManagement\n* Inhaltsverzeichnis für \"fast alles\": Rezepte, Bücher, Kontakte, Musik Kollektionen und vieles mehr.\n* Erstellen eines \"Blogs\" oder einer Webseite.\n* [[Ideensammlung]] zum nächsten Buch.\n* Erstellen einfacher [[Bildergalerien|Bilder Gallerie Beispiel]]. \n* Da ~TiddlyWiki eine einzelne Datei ist, ist es sehr einfach sie mit anderen zu teilen. zB: Per mail verschicken --- fertig.\n* Erstellen einer lokalen Wissensdatenbank mit mehreren vernetzten ~TiddlyWiki Dateien. \n\nWeitere interessante Anwendungsmöglichkeiten finden Sie unter [[Community]] und auf https://tiddlywiki.com"
  },
  {
    "path": "editions/de-AT/tiddlers/beispiele/ZweiA.tid",
    "content": "created: 20140923232956730\ncreator: pmario\nmodified: 20140923233008737\nmodifier: pmario\ntags: tocZwei\ntitle: ZweiA\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/de-AT/tiddlers/beispiele/done.tid",
    "content": "color: #37d011\ncreated: 20140923104300415\ncreator: pmario\nicon: $:/core/images/done-button\nmodified: 20230307080039831\nmodifier: ChrisK\ntags: done\ntitle: done\ntype: text/vnd.tiddlywiki\n\nDiese Tag wird verwendet um \"Tasks\" als erledigt zu markieren.\n\nSiehe auch:\n\n* [[Task Management|TaskManagement]] .. Beispiel\n* [[Tag Manager|$:/TagManager]] .. Zuweisung der Farben und Symbole"
  },
  {
    "path": "editions/de-AT/tiddlers/beispiele/task.tid",
    "content": "color: #329a34\ncreated: 20140923104223789\ncreator: pmario\nicon: \nmodified: 20140923104430558\nmodifier: pmario\ntitle: task\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/de-AT/tiddlers/beispiele/tocDrei.tid",
    "content": "created: 20140923232054800\ncreator: pmario\nmodified: 20140923232449228\nmodifier: pmario\ntags: tocBeispiel\ntitle: tocDrei\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/de-AT/tiddlers/beispiele/tocEins.tid",
    "content": "created: 20140923232016359\ncreator: pmario\nmodified: 20140923232440492\nmodifier: pmario\ntags: tocBeispiel\ntitle: tocEins\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/de-AT/tiddlers/beispiele/tocZwei.tid",
    "content": "created: 20140923232035827\ncreator: pmario\nmodified: 20140923232432583\nmodifier: pmario\ntags: tocBeispiel\ntitle: tocZwei\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/de-AT/tiddlers/bilder/AT-DE-CH-favicon.png.meta",
    "content": "title: $:/favicon.ico\ntype: image/x-icon\n"
  },
  {
    "path": "editions/de-AT/tiddlers/bilder/Bilder Gallerie Beispiel.tid",
    "content": "created: 20140809113603449\ncreator: pmario\nmodified: 20140923103646709\nmodifier: pmario\ntags: [[Was kann TiddlyWiki]]\ntitle: Bilder Gallerie Beispiel\ntype: text/vnd.tiddlywiki\n\nHier ist ein Beispiel, wie mit dem ListWidget und dem TranscludeWidget eine einfache Bildergalerie erstellt werden kann. Bearbeiten Sie diesen Tiddler, um zu sehen, wie!\n\n<style>\n.my-gallery svg {\nwidth: 6em;\nheight: 6em;\nmargin: 1em;\n}\n</style>\n<div class=\"my-gallery\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/Image]]\">\n<$transclude/>\n</$list>\n</div>\n"
  },
  {
    "path": "editions/de-AT/tiddlers/bilder/Dev_Thumbnail.jpg.meta",
    "content": "created: 20150513150033273\ntags: picture\ntitle: Dev Thumbnail.jpg\ntype: image/jpeg\n"
  },
  {
    "path": "editions/de-AT/tiddlers/bilder/Introduction_Video_Thumbnail.jpg.meta",
    "content": "created: 20150513150136620\ntags: picture\ntitle: Introduction Video Thumbnail.jpg\ntype: image/jpeg\n"
  },
  {
    "path": "editions/de-AT/tiddlers/bilder/Motovun Jack.jpg.meta",
    "content": "created: 20140913125805688\ncreator: pmario\nmodified: 20140913185116638\nmodifier: pmario\nsource: http://www.flickr.com/photos/jermy/6292279493/in/photostream\ntags: Bilder\ntitle: Motovun Jack.jpg\ntype: image/jpeg\n"
  },
  {
    "path": "editions/de-AT/tiddlers/bilder/Motovun_Jack.svg.tid",
    "content": "created: 20150518142643588\ntags: picture\ntitle: Motovun Jack.svg\ntype: image/svg+xml\n\n<?xml version=\"1.0\"?>\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xl=\"http://www.w3.org/1999/xlink\" version=\"1.1\" viewBox=\"34 107 510 317\" width=\"510pt\" height=\"317pt\"><metadata xmlns:dc=\"http://purl.org/dc/elements/1.1/\"><dc:date>2012-05-10 07:32Z</dc:date><!-- Produced by OmniGraffle Professional 5.3.6 --></metadata><defs></defs><g stroke=\"none\" stroke-opacity=\"1\" stroke-dasharray=\"none\" fill=\"none\" fill-opacity=\"1\"><title>Canvas 1</title><g><title>Layer 1</title><path d=\"M 204.10294 372.67294 L 206.91333 373.50204 C 210.44484 371.92197 217.54364 374.36401 221.30923 375.55795 C 214.37523 367.871 203.92865 356.58286 196.40225 349.4665 C 193.93185 340.85104 194.98593 332.1817 195.51744 323.3866 L 195.62405 322.659 C 192.65733 329.6997 188.89246 336.5437 186.86893 343.95477 C 184.50095 353.95294 197.39323 364.74045 202.39233 370.92294 Z M 419.00293 414.95798 C 399.65295 414.411 391.14194 414.45804 381.28735 398.25296 L 373.60684 398.473 C 364.66696 398.076 368.39264 398.25595 362.42844 397.95901 C 352.45654 397.57098 354.05396 388.09604 352.29965 383.09003 C 349.49335 366.09698 356.01324 349.01611 355.80756 332.01971 C 355.73474 325.98639 347.19724 304.63062 344.14716 296.99548 C 334.58554 298.79572 324.97205 299.13895 315.27176 299.62231 C 292.91254 299.56754 270.70496 296.8295 248.65794 293.35248 C 244.36153 311.10052 231.59093 335.94183 242.14684 353.9793 C 254.95975 372.63696 263.95123 377.80597 277.88824 378.93094 C 291.8251 380.055 294.97214 395.78998 291.60031 401.40997 C 288.61584 405.294 283.37045 405.99902 278.91385 406.94 L 269.99945 407.35898 C 262.98456 407.12299 256.71454 405.229 250.46393 402.30798 C 240.02545 396.48102 229.24443 384.36703 221.23434 375.67001 C 223.09915 379.143 224.21146 385.92294 222.52005 389.07803 C 217.78415 395.78699 197.30133 395.746 187.92093 391.577 C 177.26495 386.84198 151.51596 353.59503 147.53493 328.69455 C 158.12593 308.66583 173.55493 291.2196 181.36093 269.41132 C 164.34593 258.55438 155.23293 240.88019 156.41594 220.8598 L 156.84294 218.5423 C 140.10095 221.67648 148.78296 220.51039 130.772964 221.87279 C 73.41696 221.6973 22.976959 182.80795 51.378967 122.367004 C 53.225952 118.787964 54.982956 115.534 58.113968 117.08801 C 60.626953 118.33496 60.265976 123.33699 59.001953 128.88399 C 42.766968 201.10277 122.11395 201.65552 170.88995 188.29181 C 175.73093 186.96521 185.35893 178.03061 192.02843 175.0687 C 202.93033 170.22757 214.76323 168.2634 226.50644 166.84811 C 255.71411 163.51997 290.81815 178.90649 308.65442 179.4089 C 326.4909 179.91129 351.86395 175.13808 367.43942 176.14308 C 378.74075 176.66016 389.83795 178.70007 400.74194 181.6059 C 407.79996 147.215 408.29895 121.867996 425.03094 116 C 434.85095 117.550995 442.4179 130.93298 448.01895 138.08301 L 448.04193 138.07898 C 459.4489 137.62897 470.30396 140.52301 481.09692 143.73497 C 500.63696 140.962006 517.03394 129.989 534.28992 121.45299 C 534.23596 121.721985 533.95398 121.81297 533.78595 121.99397 C 516.80396 135.72798 514.4319 158.952 516.42993 180.42822 C 517.17297 191.57237 514.02393 203.67166 510.13098 215.08179 C 502.84595 233.67169 488.77692 253.26677 472.44794 252.26176 C 466.27496 252.0665 462.68893 248.57117 458.10095 244.83946 C 457.21094 252.39809 453.71295 259.14267 450.34094 265.82758 C 442.55396 280.64941 422.20496 287.18097 403.36292 303.00763 C 384.52216 318.83453 409.39194 375.35904 415.42194 385.65802 C 421.45096 395.95798 438.28192 399.72598 431.75095 409.02194 C 429.75296 412.09198 426.69794 413.19 423.43292 414.38098 Z\" fill=\"black\"/></g></g></svg>\n"
  },
  {
    "path": "editions/de-AT/tiddlers/bilder/Save-TW.gif.tid",
    "content": "created: 20150513163825592\ntitle: Save-TW.gif\ntype: image/gif\n\nR0lGODlhWQMhAvcAADMzM4upZG6cxD7Uop/hnxk7krzR5DNlUrXw1TXHNRsravXw1aDINdfw/VZJQKCgoKroqqVnN09rlJ/Lb5PS0df68VU0MzXHcleb2fX67r3tvSZ6vj1MZ6FlYaDz7piYmHWy2tj41yIsVdLiNznl2EbNVq/+/7vic4VMNdPT0+TSwNabdjAydrWZ2fX19dGxedzyveH34l6EqHbp2U5hgXTINTzYu7t/P7z26zNVk8rc3WQrVXWy/77ni/37v9z5/nPJaTY7Ve/wpqKAYXt52f3RnjB0sYtNVleZ52JVZrffW3bv6//eo82xlLLNZjqHx2+RZ8H5/hxVo/37yP/+rzVLgfT41O7//9T//6SIfiU7aj4+QV3JNqZlVkMrVZ2701/hwf//03WxsbrXNT9KUdu9n3UzMztsqcD9/zXIii0+emZkZP///9bFwWup3cvgwojG/f//7nRYPqbh/zM1Qunuc//+5cKeko/MN8Tc85HRsPDSdMN7O9nujqHT+z3KSbF1M4izzdaZWbGxdYZmQHnHkdTj/4WQkP3HkGqSumbVZtmcZ4JjUbq6unGmr1d52pLR/zfHn1SS0qmSVXV1ddGTVa2ObKGt2o/gj4KCgpyJ2aHD39nmVsWrnf6xdk5WVrHRk83/sd/f33I7Vuana3Hhre68kO/NZ/TexHR2VaxxVhlVd7FyYVF7W0Z1dtumfNHRk7aSf3WTskFZcpG21VN2lkLUj9PE1TxilVUzdYWmxZWyk9vmTBxMmneZ31VVNGCOrilkqLL+18vyy3fad+qpS/Dr4/XdmfS7f22r78XAvMTt/Fvp4TzTr5laVpldYVGMxEN/ulhQU/+1iT7MZO/v72unmZNVM/7ssMLBxtGr28LJ2UF3sLB+U3V1NPrtx9zFpIu84e3QrtCRbHtrcv/V4TU9aPLyjY3ZUTxYhLKvsPjkro7t2e+RQ9Srizbawv7j05DVRuvve6/x4zvLeb1+ZH2s2MHbeXvQRv+93//Rk4ry9ajs/+HqZczMzKnYRiH5BAAAAAAALAAAAABZAyECBwj/AF0IHEiwoMBqBBEidLHQoMOHDxsyTDix4sGCEi9ClJixYUeMFEOKrPjR4sCFHEemPKmxZciVL1WCZDnTJUySEUfS3GkyI0+dGn3O9CnUJM2SLo0m5YnU5lKnOHcWbar0ptWWHp8iLSm0aM2vSb3+/OmVaNiYFM3mHLvyplaZF92ihfoUol27cpl+Vcjy6t2/gOE63AoVpc6ye8H2XDtX8OK6bQ1GlnxY5tTKg+lihizS8GTKURuHHu34MdfNmqUGtngatWa/QDsrHmv56FDQeg0b1U22MOW8VYOzbixW+OO6vruWXs088US3xXEPx8m3+vPr1q2Xziq2O2a1etPC//2ofPfy48Zp80bPHvt2oJ/N95WPNzPtuPYDr2dfXjrV+HPldZlr6EF3m1JnCbdedNcpRlV+YA0IEnjU3bffbJHxNZ+FonFYoHjZuRfiiPT556Bt9zWnYmrejaabgQeG1+B5CjL24XS5iadjTRRSGJuMQDoF3GL/8cfWUp79COOGKCYYJFb1ibbfg7DN9teUoLWYZXA+lqchlN91mBqEXvqWIpIgKklXf+2tyFyVVEYZVIMMuskicj/iiVie6WG51oOrxYkhZ4PepV1tOR6pGnyFOrmnhKQtqWZvginnp3Su9Zimai++lWdWMULIqJiv7WjopJLaCaCiJrI6HZx2uv9JGKUH1pkmibi6R+ttC86pY0qXrinqoheelWRUgvK5JWfA6mqjplYueuaXfJaJoI1MluhnqqDap6VzokJLqIrUEqknbrwNmCxyAvraLX5smlYhvGP6StqzphYHaa78iujstSWeq6GPsW5UWbHVyokpwTPWu+yZVwYoJJ2AHQqxtgWHiK3GxOFHKpgWI5ztsHi+Ve6uFv+28I32tvyqyhGjaWvKxh4M8M0Kh9omuR+rnLJck5G3c8Gnbuqkt6faSvTRy4L3rcvQshn0uGh12l68f7ocrcG9fZmkyE2WjODTG75LssfWtla2vPk1hRjC68rVwNifNu2pulpDvXLb8ln/DTa+xFY9pt9iD10ypEs397RaWJvV7+P/4qxfjl6jOeHFmE9+Ms+x1nlZrjhKLiumXJd+duI5Kx7z1oWryjrrSmcue9Gmpyf67T5Hji3pZKJe38/3fu4v5JBPu3Wwsy8NKonIhq50uofTa96xFdKMYqcKzZ1h8yHbu5D2DU+uubvgcxz+8JeXqxC1hGNP8cBgvk+vyNu6UD74zTNUvq7uq8+p9OjznvzmlL3QQE877hOcxxZYOY11a2qeq958DmW148CPew1YH9ruZaUDts53naHekYR3kGqY8IQoTKEKV8jCFrrwhTCMoQxnSMMa2vCGOMyhDnfIwx768IdADKIQ/4dIxCIa8YgpZAgSl8jEJg5xOS3qSAoN4cQhUpGGxtBhFqsoxCxekYtgpOEXibhFJ44xjGKc4gzHeEYVfvGNPIRjC9tYQzmy0I7VYOMJ6QhEO9KxjEHkIxr3OMhCntBMCUvhFrPIyGo08pGOjCQkJynJSkqSko205CIr+UhMRtKEmewkKDl5Qkp+0pOiZOQmSRlKVrISkqe85ChVOUtZbjKLonAkLY2BSk2SMpeRBGYuUbnLWMISl7Y0pist+UlfrvKWrkylLo3pSWVCE5itbCQ2o8lNSA6zm5o0RC+LKUlxjrOS35ykNL0JznNqM5rmRGc5HxlPd86TkeJsJzW56f/KdNazGth8pz7PmU57enKb0zToQMFZyjyaUD1Zew4KjWFOURhDFBjNqEY3ytGOetSjF81oSC360Y1edKQYRWlJVSrSloLUpRplqUxjylGWrrSjJ02pS1FqU5LqlKZAzalPe1pSkw6VpEL1aVBh+lOV8vSnSjXqR0Pq1KI+FapNjSpTtQrUmlpVqVTVaU7HitSykvWsZRWrWdeaVLWG9ahojatWhSpXtLqVrWata1T1Ste78hWsRfVqV9+K176O9LBdxWph8crVxL60qoGNrGSnitCH7q0soGzrZDf7UR1k1LOi8KxoQ0va0pZ2tCnAKGhNu1rQgja1p/0sRmHb2tn/qja2oqDtbVcrW9K61rad7e1vSwtb4gJ3uLdNrm6T69nUvla4G60tc3vr3NyGFrbFxa12h7tc5OK2u9BV7nHHG9vR+pa8xt3udMuLW+9Ct7rwva51U0vf+dq3vjqor37t29z7+ne/xsWvdQe8X/wW2LrcJe1+8/tfBcv3wNi1LYQRfNsJCzi+FvZvfyMrXeqO18D8HTByeTvcBDMYwBE2b4dXLNvlLpezMJasCa/oIoWhkA04zrGOd8zjHvv4x0AOspCHTOQiG/nISE6ykpfM5CY7+clQjrKUp0zlKlv5yljOspa3zOUuexnHvLToISNkrBN++cxoTrOa18zmNrv5/81wjrOc50znOrcZoyi03V4caec++/nPgA60oAdN6EIb+tCI3rFID2k2LKHwComOtKQnTelKW/rSmM40pmE7Zt5JxYSi0LSoR03qUpv61KhO9aGLy2hKdUWXqo61rGdN61rb+talTkFqy3g67IAa18AOtrCHTexiG1vJ/uD0QxutlV8f+9nQjra0p01tQycbz5aNlmecXe1ue/vb4A63uI98bWyHjoOgDPW4183udrv73bUud6frJlGAwvve+M63vvftZ3kv29WDcaS6+U3wghv84Ahfsr+xZpsTDjzhEI+4xCd+72SnAKD/TtCrL0rxjnv84yA39sJPt217h/zkKP9PucoxXe4tnrtY6V65zGdO85rP2R/+wDbDCchtm/v850APOpSTrQOMV05MMRe60pfO9KbneOSepk7PnU71qlsd5C3PeN8CzvGre/3rYC841LUdl6mH/exoT3u3LW70lze762qPu9znLuyx03t9Jqe73vfO91Jn/ehhO4nA+074whs+0TjXOcnLnvfDO/7xkIfztS+qdbUlZPCRz7zmN79logNz51JvPOdHT/rSI3nkzB4b5k3P+ta7Xsd2T1HJH/762ts+8393u+rhfvve+57wsWcX42n/++IbH+3lBqbuN0784zv/+U4PPsBmD/3qW3/pqAe4ZFZ//e57f+XSf5T/EkX//fKbf+JsV37qmX/+9rs/4eHnGt6b//7625/duV8/1+l///77n9qJ93mLV2/8938GeIDDRnRtp3/bx3sI+IAQiGvxlzUOF4EWeIGzln/ahxHch4Ee+IGZNoFIU4EgWIImOGnpV3k6U0IO2GYD8QMQAYMuAIMweAUukGNX8ANsAGlG5gJXwINH5oNAmGMz6INN9oND+GMzuINCZoM7JoQ8ZoNJ2IQ66GQ+WIV9toRTiGQCsYUnCH0iuCUk+GZFIAJmeIZomIZquAFsYAVHYIZsaGTuYIYKAAlHNociUIc6VgReYIY8sGRx4Ax0yA9AZgpoiARAZgdvKAIFEAU4/zYNdGiHOdYFZtgLWEBkbgiHSpYB6kAOWoCGWoALgdAAcpaJIhCHTPYKkfiF3qeBGrd/ccaHajiLsxgMVxAGi2iLRgaJeQgHR8aLCuCLOSaLIpAMXjhkK0CHPHCM44CGuuhj2NCHp8iDqpiHkACEqlCJjjhkuGiGz1hkdpAFtHiGCgANWNhm3SgC36hkwCiMrGh9AThvsjd8sSiN4ziORsAG6ZiPRlaNetiPq5hj4CCNf7hkxPgEP5aOZlgAJuBjVwCMyZBjwCiJOEaJImCJRLaPR2aK91iJc/BmGtlk/kiR7wiGu6Z+G3h5LUhnVLADZvgEx8hk7RiTPDaTwyiNxv+4ZFMwCmYoBZfYY9jgkgoQBHlYkD3WjHk4BzSZjRe5jVdmBx1whmqQCDpQhdWgArFAlNqIaTZZktLmAimQc0pmDMl2g0nmAqIglnbmefIofAQIaD7gkiIgCVY2kkdmlzmGCHQYkUxmkSxAiD2Gh1KQCi/pY3YgiBf5k0BmkRiJZXiojueoY9/wDGeIkJeGl14pbWnpD0oWljhnlkfmmf4AmjenbICXN0nnZy35kjTJjnTojkTWjnuIk60JZP4IB1vICnDIi72ABkApl6gIZEzZC05ZZXFgkY0IZDu5kA1pabKZmc8GljiGUUq2mZ/Zg6KZAn0WhrxidnQWl2ZIl0H/NoM0+YM6hpkOaZ44hp7EaJRsYIRNaJZMII2IyGPLKQI8EI1J2WOGWJRPCJ+TWImKqWNIyGNQSGTgKQKWCWRIGYw7JoU65oMAWmRdOGQH6pDvqZ49hp4QGoSQRpMXOqHvSZo45oS1CZ1SRpYpQKJBaJ0XR2QAhXP+UHTbCVsux4AcuJJztpoKeozpuI44FgcqQA7kGA3LwAbPuWNCSqR0aKRI+pqzaYY5eZjM+WPJyIiO+KNTKIsFwA9UKgL1uWMN2pyPCKU5NpzF2YaL2KM4pqVExqMwGWTtCYRwegUxEAscQIfpYA+RGYXgQAmfmIdawA154GNuymMLcAdJQI64/xAOGlqmvcgGqJAJWqkAVeCoQbYAH5CnemoPj5pjSGmLZSANdHgGR8qbjggOSRCoCpAOtHCiKMpkAsEGaVmAFuqi1SBkaCmjL1qjihd11PdnCSqePjYFixicOLYAi6qGCgACE4moy5qGzfqseXmGRnmbhnmsPKibjOibYuqNkHalQBqI4HqeAVmRAqpjUHmGxKqPPHmKRZagPqlkw7oO75qGvfCRPoYK97qGfRoG74qsO/iYatgLhWqueegHsUCLvXCkPRYHC0uLagCbOWYJZmgEBIulbFCNvTAMlDmL+RqrV+YCyQZmT7arONerPhajKZur/cZqp4luHVhndZqQuf84hKiwpsxKA6+JszorrTzbi0BIjDnJBkGpiT0miwpglJ4QiUN4nOEJaVxKpjiWoEgwhF3JBmiaY+vKmjp2qEIGtS/Zp0PGo9zQr9JKsThGjONInDsGtmxgB9w6jgWgr5CqALNwjwWABkkotx2pAEULqmaoBvaItLxYAGRwj8QJq8ZnXUyWW8YwsrzKokuGssnmsgZqnTT6Z9wZE2PYZ8MKZAB7seoalYM7imyQqNJKkl0rAmqAuolauP+IY4jQh4CbY+TarT12pXubY/pZjDt2tA7KBss5vDnWn7OLY3iYvIz5kxlguiIQDUkYkkTWn2aoBYlwsPEql2d4BoWaAeD/cK9uq2PrYI9nsA06WA2qeobBcI7GSroIm4fA8L3iQKreiIXVKJWwG7FSymP1IJUCYAg4Bg9ZII3Jywb/K5XhkLp3IIz5a4ZVsAmk+A3ieIZ82X6eqZ1JpgMyamXVIJqiQLmVi6s8xrKXG2jZ94oNaKtvVrOGerPHe4YNu2P2So6wab0zTL73arxsQLRA6I/u2aaLGKc49qUbMIT9yZA51g1eK7i6q2NJqrWV6K0NagT/CsNFhpRoqAC4oAt5QLY7xqN5iAFD6LdmSMa4y60KgKk6FgcNGrhge7QioAUkGbdq7I68eL879pjrSIzty2M1/MQ4psUHDKl6rGOPKQWM//t7YCmjIdyDmltlH+zImBtllquy70nCKGyaAzh/cCmX7cpjpoiKcfCxf5m0BkyRuXvKPEaMyTuQfqhjcNrKZlqxediYOJbARgCEeNibuIuYAouezcsGFnuxWzi68GpkGbAChbvFOaALy+CFCaqgPeYD79q7a4uTPhYHpjuvbcqTCsCPg7yXPVa+SLuxZ9il9vmGCoDLUtyUPlaGsWzLcLiF+ZucO/a+7Tyg5TfJiSfCmcurlQxl/pxzAN1kl+yylru5m3xxKKnCOcrCbubCPXaociywOZbAxpugGJ3LtdzDtKlj3KrEOoaU2CyRg8iD6RimRiuUSlm14By4d4ubZ/+6kGjwmFZcrFhsZKjApOOYA37QYzyqAPywhVdqvCbtrT1Wu9aYY4f6pb7cY0yJz3nc0WoMmGwAngrA0kpqkcGpxTKN0ue8Y2q8D+9X0I88nposZQWtAwf9ZKI5mo2csm9dmr9Kdm8prKAsuu8qzsgbxAg7u3/9Y+xprTsWxcgcymywmkt7kwqgAHYbt4sYpnq5nzsmzJXIx2Csj4sozkhWDWVADlrJrNCQhFodDD82n2ZYn1SqAO1bhDQoED/wu0ZpiuKcoAs6ZP54wTtWzCT9pL0I27It2//bzk5Z3IW8nuTcY8XNAlR7fmh90CirawN9sp7ZBmmdZXGdnXVt12L/FrMwN7MsKZdEXNFYjJ47prQ0jc5NHc+2u94gLaVDaM1jXdmFLLZEzLFpGqo8eKXjC8UfzZQKgIbq/MLl2mTGUAaUUKl0WN6LTd7SHLCQNs0dWZkqjcVzWmRZW9KDmGNXWuHkaAI82KCRDeBCe5QdXn/R7WMJTWVt3d0na50CbW05J4DASo96HZ7KeawZXaU+ptUUmcC/zWNArmNMjZ88NtJKncDevGPiyoMWmdu06+NRvqHnygYWqYYO/rUBO2XwEAv2yMMJCthO3ddVy70gPpdlfs7WS+aEfeU6Vty/ncBp/thkKuTPnWPLW8e2rABD7n4r/oRrbckgDONRtt2G/y5nCvjQW7fCgEbRPHaoY+qFjO2OY/pjlR6lxZiETD2893m1S92H6kzf+Gna4IybY95jWcuUlcgIH/21O92EtWkFdL4BWMijYe3UMCzGab6g76uOPDiRsBrFHJ6HWK3Fae7cTkzUPkbsy47VKl7oETroBC3tXma5J2xtnHzjee1noZuQZj7Odv5jRS7uCpDnOVbuOAbLSJ7PXc4G/cnKRC6UdpjEaYquai7Pf668V57lUtAAqn2RSq1jv+7ZQIbb3HjNZJrqOg2/s3xk1Gvfbu5j6N3jjEimFqsAyn5kvo3u7J3cCOzj9xfoLT5lBb2iX2bCM15ortjoEf3oEG6zB/8+kl4ovO5I89AolLDpw/5bpUzOzzrGlJJwBaEK9OytyNX4xzUZ4Au5jVoM6m8b65gul0ofZJeOYzw69D8e8xy9yIea4Uqons4+zsa+7HwuZA0K7SbOw8XO7P5XDTI6ozjG3S4umm59ZtkZ14n+Zp3bcN45Z99u4MnMBvbN2zuGvBRZ+D+G+Hto2Dxm33AwBUJp+E4Oh6V8xj6m2gxpkRhA8f2ersT7rpAd6e8etoi57yiu8WR60T8mz7fL2aBfZMiMir8r5Ubu+BWPYx0v1u1uZHju+e3d8xdvgCTLqxxM11Q21yX7ZcqP8nFd3S/r0CqIdOK9ozEv+M9I6rvsYw3/ut7a74XdP7QhHfUvad9qn96irgH0buAKQAHsfPbAHYzYOMUx7I38DLdA9uFonIiIGdUPLvIAwUagwBUiRCiYc0VgPYMK4CgcGJHNFYgDwxwxGAyiHWcGe6GROPBVw4RspjV8GJLNuIb8BmLbYVAKFpUDKUpkedClypMHU4bMqWBnTaJFjR5FmlTpUqZNnT6FGvWosRT+rF5NUU2qShc6ropysZWpC1FYtbIha1bsWqT+UogSVU2uC7p1XVSzmxfv3btyRbEFHNJHTBGSioYZZdDIwDisUKpc56UhpIiOfUKWfJDyQESZedTMKcWSYqM+EivYZbAAyJoMRTiSvLrm/0jNEbt4pCnQToeGbiROwShicVJsiS8XpS3iScTBBkX4FkxYI2fnvXKHNOX8s0DgpAcG3S4RsczctBVsDum6gAnGHQ8mqxjxIvmBo0Wsnz25pn38gf3/BzBAAQdUqpqq1PKvLKtSCIvAiKpRMIWsIkprwbMc3MotuIyZay++7NrLQxCrMeYvDKOigrAn4hMvuOkEYiKzAvz4LbjjYJSxpIGssNGhiIrIDD6VYjwoCIN4YDG9gzgwaIMkB8pOBDWafNKkxwZSxaMoIlqHsALmkM/FKlUqqLcfaoryIDAHStE5HyOy4pmGwmMjDDkz2lIicYyTTaD5RHiRjeIMYsGP+P/isE+EZAbq6U2gWoooTYcykMiOLJxb9DtIebryUZ1OBDVUUUclkCq3JvwPK1EhRJBCBd26kFSlrIJLLhHruhVEuvCy1URZk2qusKK6E2EDnNwUYJm7OslMv4hyOijZu5potraBitCupj9Vy7Mod5wzKNOaYHJT3JDMQ4+N20Sw7lgqLTptuKR2A1eNRAxo4IquOiHDTRAkCrahaPL4oRpmnTOCRSCdU0MXQ/RtIxNw6RyvWIm+FZjgDNpIwrmZRHJWyfvYY8yyg84w4IcfjFHHOBE+Hkg9ks8NWSKZf8U5Z513FsgFCRtM0C1jVn0V1ZAqhJXnojQssUNc9do1r13/SfRV6ZDaVG7MPwNlww6TwW3IFckc1e1rsBUQ+0Y2Fla0yjLfNYrImkOKY12dqmwUjoiyZJe1HYNTILytx1TJCrPBBlcBN1jEekrEPe420mofV0CS+AaPKA5oH79vTYHyBm3THXnj3LkChhIoqH1qAl2loFC3OnbZZ589LqCJorrWrZA2mquiY53dLR3imkvqXJ/mq1famSPMMKJ49C4iO2LhHJqFzwtp+uqvT5dtOiWSm2yitm23qLfLVwld23ALqSd284ReOKfKcJnzKmiMziBJTJncoGjOrIk4bIQ4FoQjJH+SF2OoxTlcLEMi6nOdamY2EO2V7gwNeJQCWDDB/4hA0FP9WV4IRThCnbnAVFfByu3G4pVTAc93rQreW4jHK+Qh73hyKdEIsbac8QUnYSpBRRbM0ZBa0Ih7NQniEA9SxLWNrXueqVLdVOM3o7hGOUdhGw9ZVzO+oW8gGTCZ5erkQ8IRJQ4qyEISjOScKsgiD0TZ4RUWkIU1akEGbzRKHJRBCSWKQAs0CIQK/URGlSzgDmo0iBZwsQlOWctTCuDgQAzZMTbeMXQi2OAWHekuSJLQk58E5e5UAqEDCS1EZWGQU3jnwpqscnkamqHUPiTLEPUFQqHEZVHsEBwt5nJnwXKeL4U5TGIW05PVYFqJSukPHeBFJWWpmlJ+txTevf9ShhyiYdR0NcsR5dCYuSQS9r4pqziO05znRGc6A2NCFC4oLkdxZlMOlEp5XkWQPIOlrWgpS23yyi/qJGFOuAbQAQGToAdFaEIR2he6lMot90RKWqJpNVgSb5a3qqXxqKZQ2cHAOEjiaIDKGVKSltSkJz1pPosHNX7WUnkoHZUoKKKC4HgRplIx6E11ulOe9jSEKs0mNz90w436dEAcOdv3jLoUrIlxqU+FalSlKhWg7rOlUXvpVAFjtmBq9Sg79GpYxTrWp7bQoh7CqDb1UlSyRsUda0yHAdsKx+aVca53xWtec1lV4/FzqLacqF4FO1jCFtawBIUlNi/KUqJ687D/j4VsZCU7WXz6o1Yr3aZV/XlLynbWs58FbWiXIjwIOU2t/aQlW0W7Wta21rWC5StLNQvY19bWtrfFLU8Ta1qhZnStjs1tcIU7XOIOM7aZ7Wvy/llc5jbXuc/NmVl5m1ahTg240MVudrW73acct4bJ3WxguTte8pYXu7sNKnUbK17ztte973UtrWKZ3NlmFb73xW9+J8u0s373rxq9rjrjoAlzCcgOylBGNhCcjWwAUCBxaIMBQgIPZRiCLXawsH41vGGyCm++sgUvbSd7YDwypg3+KHHXblHhtRw4wxyGcYzLKkN9opWxqQ3wYVWwDRZBuCoVgYcOWCwWO7ThxTJG/3KSUerd097YvjkrxyMu8Qgq02jAbiACleGQDyo/gmRc7vKiBmyPLPuBwLrJMpWvIxBU8Fg32bAwhBOcDZpAWMjZwOCE8Uy3NuRBBRmOgz+MYWTdLNjNdsiGKNqAYDxCWMEMvsKBFSxhNqhgznlWgQEsrQw3K9nTnxYmehe7zfUqrRxZZo82vDzgR9BI1Uhgw4BhferNqNoPrGbPgBd1ajFrQhJrXsCQ4ZGNSCuD0iq4xQ8cHcUIqwTCeYAHpRdwCxezwRjKeCOEeVzkBrNh2BjMtG6aXe2NUfrblWYxiUG9bnaTkMnVtaGId3ZqvcWawLIWSJTx1wJYS+TUt9ZEv/91zQZt/DrfRMDfQMJdaQnD4xYbqfAZKa0SY+yZz3kIw8PZgIo8VLvNEFkAntXdtSFHJNzVnjYWIBLuHa984u2Gecx3VtHp3hjA7B2VvgfC74Gz4d8C4TcF0/wISPR84EF/sCa+53AsVLvlCu94n4nycWdL/c8QboDTJw5hQ1Sb5C9OQYKN3TVCw6MRj0awhBfOcJm33e2kevfxUPtknP0c6Ejouc7ZEPRTP2LXCDf6mZHOhgwQod4UrDA83Ez1WPf52TV5fNXfGO0FbJvQay9y1wlNdgurANJs97jGJbL2tb/d9KcHUFVtTGoc41xUp96OrvOO8LsTXBIA5DLAMzX/8IIDkNYhUUEKpO5tYr/ZEJHP3uYvruIUvNHjnQ551ofs4sw/eNxlt7jJJ1561Hff+1GJu19dutx5o5rgqz6zz1tde1WzJ8qtDvzfF5UBX69ZICG3eJElfAXPXwH5Eok+yJM6R8Og6gu2bGsDy8sw6sM2gfA8CXs8bVMIdSO9l/u+C8TAtpCQ0kovm/st1wuVKJsyKsu19LM7pGuBLjMAIkiG+EMzKru9quu0xkOwW6iz4dMzZsMjqvO6IkuwQ5s+Qgu2tPO8M7E0y0OwBmQ7B7TADHTCJxyI8Lsq5eKs8ks4KMTCLFwtUVu9eLs5U1s/LRTDMaQs+dIn+goxuvsV/7sjwzZ0w8Eirf5qMt/qJhB8wzvEQ+iSwvoivzz0wz/Uw2uqOdb7QkA0xEMcrj1Mwz5ExEZ0xC3cQDnsrSazLjt8xEvERNiiMczyL9ZTw0wExVDEKy70LzrEFdUSxVRURbEyQ06kxHj7xFWUxVnUrbdomg4kxA+kxV3kxZ3ysDMEMSdjxF4kxmI8KNUrxVfEIUssIb9yRrvIABeIxmecCGO0xkNURGGswtlZAHHYg1MAx3AUx3Ekx3I0x3HcgyJYAIi6xnbMQlKcQ2VERaVBhWM4x3vEx3wcR1j4Bnf0xzHMRk8cRp3JACbQx4NEyHNkAkr5x4Z0QprDRS/UxdiBhf+EtMiLBEdYYEiH5MjuC0hYHEicMUiMJEmEZIKORMnTQ8Z4hLdltJpvOMcIOICSJMdJuMhvsKuU1MkY+8i5C0lSiYOKNMdrmEmaDEeivEh92MidZEpPk66IRK1C3JkFuEeZNMpwtMqbbMqtVLKe/KtYFJUrWIeqPAAUAAAAKEpwNEsAoAMnOIWsPAUzgAJw5IMtiICzBAC3bAe8bAV8XAeuBEyeFESo/K+J3Bl9uMdrAIC5jMtUAEczKMpraMu91EsA6MtTQIG+zEpAAIAAOIVisIDLNEd9yMnANM3tasUbEj+s+slRwccIcAC3PAWkpExwHAO5PAULmMsI8IbYBE3/z0RKzBTNupTNctyD00TO+4rDQZTIOlSabzzH4HzLmeQDMijOa9DMvkSBADCDAGgH65zOU7hNxvxMC5iAczzO5FRP8/LK8dvGnEHMmExLqyTOcMzMUwAEMiiG2IwAKMBOcAxO3ATH2jTH9FzPA0XNwRy15jzFHJOVsYzOtKTNtgxH3ARNOejLdvgF3QTHrLxPcMzP4iTHv0TQEj2vTVTNKQwvpYFJ+cTKmWQAyATQvFTLxSxPGsXPLXBLzvRM0BTNcuxHExXS5nrKBY1Kw9wZexxKCU3LtQSA8wTRJ1XLtATNzjyFvTzLtCxHpRzSLiWu9mTN98wZqrzKMi3HBfDS/zQNLnicxJacx5yBUDOVUxJV0zqtrdS0Kj4UU51RUjm9ymOw00B9Lf5iziN1ztjJgDj1U5JkgjgQ1EeFxOEBRuTSRmYUlW/o00VFyGMIUkj11M9ayTYtteVZgHXQB+jUVOPUh3VA0091Vc8CUyq01FelVT9kU/VqvVrVVVCM1RXd1V91RIg00sI8VGA1VkDsVXk71mW9w1DFValk1mglw2QFS2m11gss0i401Aad1Wv11pij1tb81nF1u1v1wGIl13RVScv6MEoVyD1V13htt+UkTFOsRHnFV5kLV3jN136VMXPNRXT114H9VxTN00XkV4JVWOWMxEIlVm5d2IjdsP997VaJtVgiVVBtfdh7vdiObS88RcNK9diRJS9CrVd5dFCSVdni+kVXhDefTNiVlVncctZzhdiZxdkvNdiQfdeKzdmflSyAZVCOBdqiHdSdDcaeNdqlbS1h1Vh77YuUZdqphSyKpdqr7ayaDdibxdqufSyr9dqwLaxsTUY3ldpRoQIzwMu1ZdtMYgNPAIAgSJenCAPFTCBjqgS2xcstmAVdcLCm0AcLAAClKiZxkAXZ4cwc+FujCNzBFVuYAlueSVu91Vu3hVs6mFunmAK7Pae8pVy8NIfMTYrGJVxhCoNuAIC73ZnEtb+iIN3HXbKMLdtRlVy17SoMqdvU7VwAcNv/BxOFFRDcIDi8pXjdccpd1c2l4oXdkgLZpAXJmBWVyb1dBzne3e1dm2ACs8yByBldwS1dX6reYlLe5Q0peh1WqHVJpZFeUQnfccrb640IRBDcAkOK8f0kR1WJ9h2m1y1N8v2myN2Z9UUKuPWCzYBbEYCEMpCDswwCGcgzothc3bUJVBiCLThLMpCFB44ICrZgAMBgDc5dHngBwd0CDBCIK+BgtvzgkBAHVejgFTaK940k3bhLXPjbOHCHBQaALZCAK2QD5bUDPtjhf9FfNhBgNsjbHMACU9BhDrAHgRAHRmBgAVhcNgAHKWbLWQiE+CDdKLbgLaiFEvNcvIRfiWgC/x2mg1mghfhIYix4AQc4SzUuJEuA47i1pIhg3YhYgG6oYzKg4oHoYlU4SzBOsQe74rNM4zWOiMBlgXnoBsHlAD/oYiwmZP+FO9llSdoNYNtNCriVW4G43FTQ2ypwoPHh3IFABsFlW3Pw4VTWW1a2CMWkBLykg+1w5VW+QrjVWzWAnZCQYaIgBd4dClQgBL2lA2hYZO/VDUGmg0yJ4Ls94iSeBLZt5hFmW26oCDtAXb3FhW5pXEpQZbz8ZCRu2xnuGs7UW2weCGlO5/gogjpe2yD4l4FI3G655bXFhTz7ZjpgWzUoZd3YZrbtZkC2AAXwBrxUAzT45nBmYNG15AEBYP+dOWKjOGADxktckLBvEGQAQGZTlmA2MAXBxegryABwMEs18BxXxmjCM2kAQGk/UUwASIc8yAB1AImQBoCRzoAyOOk1wQa1xYU3ygCcVmei+OWakF86qLfcpYNEaIAzKmY6MGGBeN04yFs6mOc6OWU24WSBuGoA4AYHauktsICVJma2PLwbYEtgcKAFeAXBLerGBYAqYKQFsATBPQOIKOKQuFyntrarFpcxrgIDQGFmnmo2WAe15YBNIGlxKOYgSLg8/mHBpWuSXoSzjAaFkOvFZgMruGsAyOuBUGs6YGs2cGu4hgi5hoYG+IZAmOyzrOwFGIezDO2HPhGyzeRcVd//ruaKiCBgiwaAHHjgMLhLJfbo4YjgM/jbbzDLaIBp0F7u5n5upY6I5P5bH5Dut43b4RUE3jVnr+Zd7o0IJlBmNgjmZpYeztSCnXjdq4aO54Zm3vbc2maD7p7rbjkGwXWewKWD9xaIkK5lqhZcc/CcOFDrhIZvo5BsrQbrdYbtf7YDzlSDLYmDxNVgK7jLYMiNPLaDu3xpBxcBMGlcAqcgD2cN/vZvkLaAAH/tKqCiES9wIUZw28aQiM6Zyf3chh4ITwbuAjvw735mgZBfyA6JYEZw+dUCHzZvlwaJCHbx+LUAIpcIIweJyx3epMhbc/juyf2MCg9u+yuC+RVwAEiG/8vub/HYaoGIZrSOCGQ4y8M24q5u40q5S+d+7V5a8hBP8KLgzCoQ74jw3AJL6s8QArVVKvnVczbI40IHADhnA0ZflMbF82AWCvA2bump8zG3c4IGgEkHgESncQIR2m0l2k3O8bMUgYS7XIvGXIl4XypCcwnO2yeXiMBNdXKm9WS+9dzlmlmH9cm+dfKOW2Ao5Bj2bjgydDbwAd4eiAjmhjGfZY4+oDSPcwAIpiyPnPHNXcPI3Y529S9/7QLj8T0nissGAA7QBVYiZ/jFbmvXbnPoZS4XiDxO5VYnisYV97iljNzFc0unCXyvdTH3bX0PdQdpXnd9Xp8VKWYviooG5f9Pn9ujzt9TRudT/4yKz/HPKGKM/9wuH+MdrgXCPgqJD4n8dtzJpV9FB4DpkGvY5t4iXvPr1XbFNAwcz/FMsl+HZ4MgLworiOmz5ABZ+Gd/j/XFsO9Td548htsyhnLHHXgErvZTx/ny5vTv0fmCFxCTPV+UVXgAmeiGJ3jtHmcHZ/o953jKvfhTP0uNp/az19vwUGC2DYJwIBySl4hUFt7XJtw8lmtXEFxouBxqj/kJmnl3t/nPnXqn3/Gw3+uQsIIV6GC8nGkHv/RY1t2P/9ykB3e7D3jFf/hPPnzKTfzvyfmwx/oAadkU1dOu/4+vJ4rffvgC/vay33mKB3c+v33/CG773J8Kd8BitsxqleD8gQjmTGL0vQftMZeEDMjyK+R5rnZ38JZ5qmfwmmd4lSh92Wdw5EWiWIBnXiZ6+eDc4ZeIPC7+79Z7iYB91w8J+81+hz79tdDaoY1a1vcP9leJcRf7iD92bTnlvAUINVHYECxokE0lAObQHGwY5hoAIwcTCmxo8WCGFxYAnLlyESEAFiYuPuTo0QcKANAaTkkpkY2+jTzYYDNjsmDJlwVrApBUMCELhgVjAphZcApEnzk/DpV50BOAIJAILmVq8ZsqAADcEAQ60qAPmz6hSrXKBhCAHFjYkJ16EG1HokYLtmWT0yNTuQf1Gqxr9i/gwIIH/xMubPgw4sSKFzNu7PixY38pRImqZtkF5swuqmnuzHnzZsuiICemIhYwVBFuU7v9GfKrxarInDJFBoDOXJIQdRKcXdTqjbRrDaJV+9HrRVMWcBO0EwEAruEFi2xMRpAvqdvWmz/vaBDRRp9dXxvkSzUpweAVmYL/3ReA6vMRmbbsedC0fZB04BwEv58NExthYFZxawlh04AG4eeTeQSxlh4A633UIEy00QVfa6RpuCGHHXr4IYghiiiiZJQZc9lnoGn2WYorVmPMaCNatSBqt61m40Tk6TYfG/WpwU+O5gBZnzlzBAlkVUel9OORbNj2H04QcYOXRcg1tE5KxhGUHf8d2zWHlpDXyeSCXRCpIdRZEQL5pVbigSRSeRaWmV97RlDJhhUQeUchVHS4hRSPF8URXBUDTbecUQmZhJcVz+UwkHNRZciGRlAWB+lzErKRXRB+VOjehV641d6UBuV5k1xkNgWqg5LK+Cqssco6K621clhiZZd1puKuKnJmWTUx2soGfiv9BZWorSZrkJUWAarTC1pxEA6ZqHSj1RMEXQEVABzQUu21AGTb424NRdsttWxYq1U08gURyA9sYKVVbg01y0YcqMSyUZEGlURHIg3EoQIhba46V3vR4MUtLnmoW7DB48F5sL/osWEHWgBIYAAbGYAjx238fVovsq0V14D/MXfGCUA6HMchzpKGKgqdw6gUTAcIq77bgLyWbHRGvGlqSVQVm7BhDCkbjcunqxfzoVXDHYOTEpTt1Wv1UwAsOyzXXXv9NdhhE4Zrrry26GuvlsHYNX5auf2220b55ZdrE8dWLkFxZAe3VtwE3fHefPstH295Bw734ARRxzcdbl40M9/SenoQKhDBTQc0f5s3aNONXm7NaRLDNnLF+eGZFeP2UPxeWQQJ4nbrFi0SeewJBfHL5QkWpFzkOfBMUIEF+QY30GKyyhaOBHmeOl4Upvqen2JLPz311VvfIa7Apt0rZiyGFizbNkUOt9wYthofszo6i3dBqKiyhVZb0LCJ/8rqDgE/APLTfxT7lL8f//xUtoAhOACABqhfjiJHBhrQAoH4ekUBb1MLjq0sNwGCTtDsMI4C0mEWm6CR6CpoEEAZiyAZKAMj3EYGGThsdRdCH57CBaWLiIMR8KPDCpeRPhYIY4MSpOBBBhjBDgbiTpcyCCruJy17UIlpMGTDFUyRQq2ssIXGq1eDMvCg63Gxi178ohezh6LMnM17u1KbsMCoxjWyUURAQVMb4yjHOdKxjiES49m6xz20ASuNdvwjIAF5r0ASspCGPOQaJZOCYI1RjytypGde5EdEUrKSYBukJTOpyU1yEjJ43B73vNfHTpKylB/CpClTqcpVZhJXJ//6FRk9A0kXrY2VtrxlYFCJy13yspfV84c/KKO9M+5RlKLxJTKTqcxlMrOZJEqBDhgJy1mi7YySdCY2s6nNbXJzmZ8kZij1OMpukrOc5jwnOufoykbyypF5DE0t0ynPedKznva842Ry9c53uvN7k7wnQAMq0IEOVJHSNJss20nGaxK0oQ59KESz+c2EgvJXx4woRjOq0Y1ucp3TVKgZIxlPjpK0pCY9aReBKUxdURScFgUfSmMq05nS9FUlghE7y0jN7jG0pj79KVCDOhjJ6ECfoKyoP4Wq1KUyFaifTJFOFcrTkTa1qla96kMn+shwgmacWP0qWMOaTo8idKv77Kn/WNOq1rUmU6ux5OpL/8nWudK1rq3MZ9mgmtCzUtWufv0rYOno1p2+Na6BPSxiE5vSfGpPr2ZNG1oVK9nJUlZWg5VqYZNa2c1ytrMbMmhe35pZa/bVs6Y9LWrNcll+8vGiqX0tbGNLVseOVqRyjS1uc6tYlRoVnEj1qm6DK9zAEvWgtO0naW/bNVWllbmqYq5ioIuRgmSgMM8tiHRr5VxtVvdD3e2Y2L4bGPEe5rvmtcp5TUjdxlxXetmt1WqLKU7X1koUeKUMfvMriqLil7/6/S+AAyzgAQvYvwQ+MIITrOAFM7jADJ6MgRfM3wgjmML/jXA+J4xfvN7XwhLO7337/0uZEDeYMh4uMYpTzOATA1jDKn6xgg2cYRjTuMY2fjGLW7xhB+fXxSXm2mxFi1zbck25lDXycJMcRyQ/c6X7lG9X6UsrJiuWykq+shet/CHQ5nSvkC1trLR8WDFjuczT0wGQGcvSrf5WyrMiM2DRbOY5sxHOn83nK8taW1raWUNwjsMVAA3o6mbgCoQOtKHxhWhBL7rRjH60oxM9aEVDutKRrq6lLY3pS1M60pn2NKg/zehDTxrQhOkznVM9ZSAHs7ct9TJwVz2YBNC61ra+Na5zretd87rXvv41sIMt7GEL+9SqPjYXUe3JyeD0o1Hlq7IfQ2ZiU7va1r42trN97f84DCbayP72h7zdGKK6ms0u1aytxHwFbbO73e5+N7xtbWxw0xtscrbVU4VcTSIPa9rx/jfAAy7wWjvwI/euN8LTnWYnH/XcsX7zYOIw8IlTvOLUnnfCMw7xYQWZmiHlc5EJY/GRk7zktca4xlMuI3EzJr5wRXd9RW7ymdMc4ChXOc7DvfCV6nnIIO+3zGsu9KFjm9uCYXnOk86Ug9PK5W2GqcIFs26iU73qwSYM00fU3fcq/cpIV0y+PU5YNIZ81lY/O9pxXfCL3DYmWioIIN5OmHIQ4RF2v/vddUAELxmE7nwviN8vRgQkfCQOmnjE6FrwCMIXxA6DL8cjrJOPR4j/rO+R15BpCmeRzBPLDJoXDOcP44lHFSb0G4Kc4ziEFLnrhvUN0UcuRnc31x9GUSKBCg9iknpNfj0xTne4m2UlZomnvfhov/nKUh93OA6G7njHuyQMsHeLBL4hgXc84y+ijUdMDl+HfwSa/B74ydeLDdWHjOk/wvn0E4b9g4m7dEDv+Q2VBG60f8xD7l8x/XfFbq2PP2IQhXDgnu6VUu8hBpc5m5clV9kJhvE9YNUh36o8EfwtBvYdhMqoCuRxhUGQCeRZxwV+xPnR3SU8wlxsX/exweRVnkGsXWnM34zAoGK4n2BUYPvJIGRAhZaURPlBRv4B4PrwH0L434cUIC4d/+Bh/B6sBV+YBR0EPuHMSaCYHIIFvF0FVkLtJEslsAAohMdFhCBBnJ/iLZ4Y2h0SXN/gscH2tQbd8QAYbh8OTB9BtIAkRMH4mSAbuADdEd75NYWbFGDmzUxuKEoOhAIOpk9aGKJEmJ4A6h8hKuKqCAdBmF7mtc1vtE3sII9WGEfmCWButM3E5N+5mM5EPNH6mYEkcAv6PIQRJER8cEvEGA95hAEKFKL4OA638NA1aAks2kf95QcofsUPTqL42A0gcOFGBAoiag0kHCNsOONZ5MC59CAgZZ1l4VmXPRYDAp3ZQaE3kpzRBYY1igkPJISbxF28VMLWYOFUVIII4E4mGv8EGJrf9Bke3vlCPX6f3eEjCKbh+W3fSNDhcLQA4Qmk4PHh9K2g+S1eGMphnPyhBfiEJWpF62SMVrjCIQLP22DkIsIg5KgPcWykR8INnFCi51kiD0ykCEzOR6qFaWAk7NzI2yTLL8aNReDeRbxkMroKUpDBRqjFR+ZHL77GQ8wC7tgkSLiNURpHUErCL44F3NDkLq7FUFYk3+zezEjFMaIJNAKCT4JkISGhYfDWML3aYz2c8A3G1H0jW1KcFFYIDyAF+lxh7cRHQvDfPN6hJKwF5F3e5O0lPV7eBRoeYBoe402epziedawhPfLHHfIA3QEmPf5dhUCkRIaOOVZISdr/hObFxGbOxymiD1TsnmeOBH50pGjah0m+RAXiZGV2HvokREpy5ngoBUQYRUxIxLO0yuelifkoCG2ChESUhHg8xMTkpl2kRPk4JUQYB1Sg5lSUhFoY51cg5xCOBA+KiW5OJaDgpgWwpiS6HRAaITQCD5ygRW8SklgWRnGFlthhFtlxowO2JX0KnAs2RNtZwEyIZzSuhTu2BjuCBDU2XhoC3uWhYEFM3mJyX4I+AleEIILSnci0oQoyqISqIeItpOQ9QjgQgST8zQe+XkT6YecNzYi6ZoVoHooiJ+ehaH9mzVwgp4vC32oCj3PGYqvsnmmYKIOM6E+IBHUSY3pOpFHs/6h0OGOQ3of4SIR1jtA1TAznGWGJxl/bvMQWjoSUXmf+RUGWbiFDAELrDONe+Gh5nsV5xuMhrefYqNmTvRxaNqFgEB/RRQIWhAED1GcUdtuE6GdtugBdAqhdoulB5OX0KR5sBJ6hGmg/Ml7gAWTeaALhaUNhQiobKB5fJiTedV8fiolldp5OcN5/FoT7BaiQempSkqTskaqpBuVr1OiLAorbvIQnoGmNDiVFQoKYrh4QNgSNpJ864upURqLbqEVMlJ+Y/iCKDqMADqt/womtSgqyRk58lGmZkqiZPuN5EmGa7lyeHde+/VzUzeec1umd4mnJvWWxnodWMuVK/kRZhP8qUxCqdSRqQ3IFvU7mQT7qI1QApRaEpPJr9ikev24H3XHF5D2C9GXfpr4mp5pqqarqqMLQKUoEqxIhvK5q5IiEq9qgJm7iD3hCuyrpp87fs67klp6HEKIsFviqn4hp28yEkabrQRzrLkZBsu4iGrzslF5nx76NyU7ls5YFtQaFiIrH0H6pthrSOMKKEp4lE8KKv42rnZrruQ7G0spsheSAN9zoXACCFgqqPBZoQy5o9ykohpatYIrt9m0CEeTG5HXoXEzeFxDBhGLqTGxf3VKm6Y2mw5rqin5nQ/xtR0rErE7KTYKKjAqqmFonx0aJVPCtyIrq/GHt/g2HmEou6zn/o5HCHZAGK1w2BbEC7kHoKkHoqhFeQczyqZgwJZxQLv+ELjUOrewxLKkGabUikpoOVQosknuC1NhF1saJ69DR6dRS7ciFI2Dk5yBuIlXyiO2049Z8odhqaGCOhPNZh/NZb90tKoHW3eg4ni+AH+ARQfh+RYgqpONl6Abyqhm0rhfWqGlEz2myb1nM7ylCqRmwnmnUL22aBv6qBVLwL49Ao2xyrgns740YQY3KpVtQJ826XvC0ikti5nwsrujix3Te5uqGgOf+YHZKJxZYJwb7Z7s+xCo+qQl48DWEKQpfqwEXbW1qZLbOriHlrmA0bWa9KdSqZdURb7nqmi3Mg0fE/wEMxMOt2QIODHER19o7XEEdzIBHCAEXJEAJsEMFKI8S2Bo1eEB3xUA/nB26qq58cKL4aE0qBKrhDur0Vt8Y2h0GyGEbP8Ibc29BKJ5k1vEj3LE9KqzdEoTZLqxvXuSIuirkcGSViOTgjgf5HLLbGPKpImUhw2DGzCbcWCncSIWr2qpPkG6ZuN5EakV8mMYn7CSc0Czf3Cj5PHDzKmUt1qnlvA1TGowmd/Iqv43RGqO2GuGysoA3zHAm2XBgdJzvwifwpmU3Di+57poNqIwdjEGtLfOdNDOtLXMMDHEdJMAFGIpByAOtZXNDXHPV3edBKO+YmqikVEL0uGMKWoS8+v+rGf7jO0/fPJrtQWzf39nz+G6oyNjB4fkBINefJACiDO7tJkLi4Sbi/BH0rX4Et9iiTsBiJmaMAsMgUXSk2+Ci22zmyOrEshpFrnquvcDycGReQ1suSGNiM4asAJaFKhuPLpLxrQKC/NqEcXS0ysoiqMguDLfKa3Rl0oYlqzGcbwEf1MVcnPZwMudaNsdBH0wxNbDDFUwBHmBzFMSBPDg1VEt1AjRxHEjxH9DaErDBEv9BKVT1CCQACfSIEf8BGET1VFPdW8oRgr4WDebW0toUs/Xus30ZMCevEwqdD+taWn+xrTEDG5w1CVwBYdeaYZ/1O/yAHfxwGuTsFNdaM1z/gRCgNRucwwNiHSHNI2rVNW719V+QW1ma2xIWtawJL2AnNa6F9UVcM2xbxDU3sQ/UABM70G038cXAADqkXVyvkfNRXmyJdmyRtmqxac9960KB2Q4fc2sXL67tw0dcMw0TxDUv823XWlpfxHbPNr4IAT5YHfL+BXKLSPpS5mkZN2ydN1PgcD/p8KuoG1JL960ByVnrGn7v2mNvN62ldWbz2gAksdFJM1zradclOGS490cI815vY7gGRn3/8K2FNTfrmoXz9xX491ZHNW77mi2wQ7xwNtWJs0EwuIJ/213LCHy3lmoHL2DIKTLbt62ldRi8Na1RNy9o9o3bmo4ngHZ//3gC0GkccEKNs0GA41pakzjReXaKP7lioLhFkE027llzSzl+/nXNBXau0cNAWME/JMAWezg2MwSYi7kHuDWQYwGHJ0BYx8E1s7VHnHVYizet2cJAGPmBHx2U9/lhYPlBtLgxvbgxs/aW7yob+MAU87Y87jitMbq22IGj23Zld7M2FwSJ2wLzEYuQD11w+zmoZznHKbe3ftyVN6CEU91kWxoVfDg9zMMVE3GY29qrx7oPGDGtNcPKdnoC/MEMVEAcxIEXazGsA5oVNDV5I3ioL7tVALpBCPp8ETqcBsZaGq+1W9unO5Qzqiqzp9KKj0gCLrepT5WzF0TUXju6D5uJF//Et2u7SKBzGnc7J5U7QUB7lEn7cweGjKc7v/tatst7n9M7Gzj4AvJbhANGvye8vyu7iPLNgNbg7tVID7poYlB8Y1i85Gb0dTcEIER8Y2TpTscKyKuRcbP3sZCeVVgks0puejKFyj+8Y5i8X3Ncq522vjktvs+3lis8z9NaGEdOy/+FaXi8WWA8xhvG0SvG0bMq0Utu0yvGyD/krET9F5V8RhJG416Eysdkqcof3wQ9Y8i8eadZNOl1wYOrURt6z/N8eZsFOWf808dg3F+E0R8PYiR9xdu9Js4Ft8D80E+9j4p84BuS2Lt8ysbdpevSXyTEyIJtzF99YbQ7Pgm1Web/8NPqvNStveb7vNXuab1srkbSi7sCKiTAorMO66VbpHjgnu19hWv+4sRABQhYjt0AtMWjKE5ChT3QPmzYvt37r+wBP09Loul/xcy4iSd4gR5wZvIvv/NetLWe6kvoHregqRGasFvILCxytAUEQnOuhURL6fb7YcZEj9aD8i6I8fhHYuyrRsbIXSOOtAzCIhkbgSeujCR2niRsvd4TB+sVMEBQMWOETUF9FgAAyIGlYMOGgFiYcHhQEpuDPColjFhQoCRAADZmTAiAh0NPIxeyEWjkYMKSDVsqZOiQJhtRNXHm1LmTJxt/KUSJMlatmouiLowiVXr0qFKkRI3d7DmV/2pPqVXZJNC6lWtXr1/BhhU7lmxZs2fRpkV7BatNnRdrVhIBSaWZkQkrsqkUhG7BvZBOajQRGCXDMNfuAqh4ktLdlCdLCky8kXDhuncbvzRJsiFkNpUTppQ8MnPNk3lpZiwJeiHhiIcTE/xM55dLT7Rdwr4rm2LBj7stWnCFUDDNw6LtvpTrh81vywc/4dWdcHhe56EZxhy5keYUxIlfXpcZ/C5lOqkczxS5XeJKv4kXCnRlNyHf9+Xbm4kOYP5IzTkBSckh99zTazKJ4hKBOZwOaoy9uqRJiCDxODMwPfnoA8A+Cx/U6aq2QKTqp6CIasopE51KKqkSPwzRRQ/biv9DrRlprNHGG3G0EcQWJ7Lgv4I8y0i2w0Lyoi+9jKzLOu7++mw8IgdziQ3vkvTstIfsO4kOug5LUkggpaTJMzBXA2DLKa+Zy0DZAvtRrw1p6g0iBJvsCEwBATnzJO72RPAkPM/s7SDuAOGrJesqdKgSyiT0baFB6eTsIDWdTOnQ4JiUFKHwEu1svJZKgvS9kpp0skzOYIvMjCSdrIhAMyhVTTLZMnIV1r6ulEyzAGfaidfurolvoLoovbIm3biDCSFEba1QIAFzvXXUWd+ztVjFduLxxW0b+imFakQhSsVxnyo3RaOqiYrbdWnSlqcc4Y1X3nnp5WrHt3w0jaTjeoX/S64j6zQDUTh9o3Qz1CrRs1MLFWy1oYTpmvPhhU31tEyEz5R41AQXjNOCij5qeECBfUvWTmMdLhlBJYOrSLWaDpKtYjE5qyQHXu2shFU2DiMo5ofPBNNlkXm+xmcLZB7TIUB2fnm5hnq28EeU3VO6OWEJQrmhZ2fqzWqczRDw6l51+tUhfqvu1GyYiQOA0p8L8k5YsZXFK+WRBfRabbrbZddvn4AKV9xzUTyxXBb/Ztfdnept3PHHIbe3rcXhopmH0RJzGc5/WSbPP0fJJtPimSksUzPI+B3d8tGVRj3YXq32i2BlK9LOWZK9S6zR1ivMXfejXU6W9uFpshMQIzyJ/8iTJCmUqTeVh2/+0Y+Jh/p1ZUuSHgvMsZ256IXWw6/q2euS2b3w2SsQ9J7WLgjtYdEvjidQW146IvWdjO0z8tU/X3eQVlYTHSRuXSMSiriagiKmnAtd6iLgthank8hNkIIVnFEc2jLAnFROUXzh3khcFrQ30cVOD7kLyPjmPSvVDDsGMp3F5AY7ivHuhWSKoeoOhpOX+eaELJsOcGjovu/orzeLCqBBqIdE1CwtB6EwAw8uYsTm/G96qNFY/bT3vPqd7XpIzB4V1QPERPErfgCsGtG2NiyOwO9/91Pj+ngSoCgUb1j+053wdOIeLTbHjTJriX1+5gk0rtF8bLzjEf8dEsEH9sQf/iDR4FJUuKUcjiiKXGS22nIFC26Sk53cyr02mC+8YSFqOFEa00hIMrbl4AeFOhIOV5g9sX2khhW74g57hDDOBPGWFBMIHn+JyIMIyzopVGGi2jc8XFZvjw9jASiMdBhgGM0veFTiw3Z2JSmyDTXNbI7BnGbNmgSTasO6zSvTmLXujayQWSNf+ZgYOpwk82XjQyeDkAas6cnsfUnLJgDUuURCpnN/98TkJUM0oqggcJKGI9dS0mVJhOJEojTx5EUx+ji2YIVyolxjhWo1sTLRym2pJAiUBvqnmdAyiJ7JU19EUssVPiZMPaLpLhM1U4a0yZQ15al3uPP/KjYB1FOLyelRk4YtQVkgU5LQojeDI42U/OYlw+yaBc6wRUxJ5FJWRSLwqucpS20qOHnLJyBExq+T2CdVdQlq2LZXRzNs6CRG6J9c34o1+yGyJu3LCHIIEsw18g02MlsTeThlq6TmpSWBnSuuAHpXx+ZVng2p6EQd8hMdCE6SkjRXURCHWY7GKHLv2KhDMjAFJaRFIiPIKFpm0I8JghKf/yskfBiCORGkwj6SUZ7uSvJDmbQUp8A9ZnCHCIDSGCe5pQniD5cbl/+hBjSc8a0JhMuo040xuQDcongi8tQkMpeoBkqWeAA53imOpDo8vEuSxCvQohl3vSOBb9vsdpII/41EZvFTFUnv4sE3Fsi/8DRhzQy2tP9tiMD09dgho5oeA19GfxyqDyQke5+7uCmRosWKAUs0LgWaK5IR9XBVLtuQyNngBw45LRuEwIWz8IMNrn1tWZjBhjrMdnL4cnDchmjYlmwJYvc5lZle6ZyhbreG62FJPoPoXknE7qMkiSUOfzNliqWxQ55KCNFi6t7xHJcmzjGrLlsYXwBVCG4Tk18zRfJkNHtXq1Bdrwgskaj1JEs7L4FMlmmWkKCpzzX5aaeXNdQX/DV2hPPUndgIPZJ3HrhRSowzQesGEmFcg08PyjCYLswTDZ6YkYELMeEY+Fl0gYvUU0lxQUp7BR/UgP8r1GAHW85xln3U+MZlWYKOeYyVUbea2MU29rGRnWwctoXKynY2Vez87A5LG3BBGQpoG9rQzpqY2q/OCuRsgIVZe8UGV7DDGMxigivYuNdi+fWOI4fB0VKb3vW2970xu0PBhqjZ+KZ3tOnt7YmCGJIOZeACQyvtV2sScqYdt1d+LY+t2HqjVljtVmjM7iVcYQp4iAQpGcCVXbv24z4AwjzYYoV/JMAWOCiIFdC9lQvMowJsiIPKZR6FMEwA5TYXAq0/7hB2N462/jb60ZGe9EyD8EX9VjqyAd5tehtQcCKOJIlPxG2Fg2jFP3h4Vxwu4wHMkSbwTsDItfLrjifg42H/CDnGef3xKSzjbKAgWxjwoJUBtNghceCEVi4QhTjwfWtcCHpB4jD0er3Y1U93/OMhf+w+b8vpkSd11LdObYJ3NtUqAm0lA07ahsua1l75uB0Y8AcPsAHnFOd1AlqbgBlMKe9sB7nI484QO6zWFmT3QTwSMACGuFb1MMZHAkoAhh+cOwEXQIPNd/yH2Sc+7cCOXNEtn33tb5/73fe+qKduaoZi3fMH1/qzvd31r3Ml8G5vBhaYv5VfxzgBGWfGFfC+lba/XSux/zj1tYIEeIb/3i0B3i/XuEIAdyzw2EC2tgLtEqAAry+Dvq8CLfACMTADlU3gEGrzDq7zEA70pK4t/2Jt/bYiDXSOAQQQAbeiGX4g/3YtBNgg/rRi/7hi9Uju9gJQJWSs+nZMAHMi15yPBiPw9X7NASEH+zRwCZmwCZ3wCWuCAy/JW8Bl/B5qgQjn/Jwt/cBN3EqvK/ZPAreCHlKw/goC17jCBuEuB7+OBK5ACLiiAH8tJ+Aw8OIg5nwwD+Otx6CwD/3wDwER8qRwkTwQ1VItBFltBKuC4R7H4b6QK0wrxsRQK1DQ7c6OZ+zuDvVPB7UC7UruC1cwDoFtErtiCPGwCOGNFImODwOxFV3xFWGx1QbxgQzo2qzOobbNgTIPK9TvER8Q2NwQDrnCBacg5GJPAB9ODZtvjtgQFP/fkCty7Ad5ECzs8BSjUQ8hh/GsIha5sRu98RspUPMcibM+8BApKRF3kSpkZPRMMAFMi/mawdz4rwipQCtwMAGoQSLg7fTwMB7jzutAkQ1YEBXd8Qo0cStyTOJMURRTsQGDrSqGDRwlciIp0hVnkYA0qwqxjfywsMR0Ef24rgvXjx5QLg7g7Q92LQxWjuIAMOO0otyY7w/mSAiOb+8Kohm3IhgZMgGKb/d4cgbMDd0Cjwgl8NcG0nGUsCKVcimZsgIvMnEK8erMcUVEMB2pItZ0YiB7ryaQEAIvkf7ckA3YQtYEDyd3cCCPsAbJxiAdcCHlzyETICyvgBeSkBWb8i7/GyIDCsIFII8v2cAv8TIWn/JvatEKR+yhnkILNzAkH+f94uAK9PIx7QAG0MErbC0DINPiRA4AEyAN0CAO6DIBwKAC4iAOYswD1q0z0YAKvtC0BpIZTHLi2AEzb+7i8NEDiBA24Y0aStLsGkfeUKxsWIDsLK/fAEG+9uppeOLKdKLymK1CjnMqnJNbyoEIHuE6HyEKAJNbWgAJXMQOrDMZcAI8sbM8n++SyFM852dZpmI0doZbPsi+DGqKjAkDB9NvotLgDPHz0BEksYIR2y1ABVQsktI3zIGvnq7ZSghAIqJUdoI5cSIOprMqPGNBH3TL/KYFyhM74WBd4kATHsE7/0MkPcfTOjf0OjuGgEh0PdfJV7oMPjMkMSbtI+rzAiNS2aiw6hJIKnPxPhWHMQc0SIU0AbQR/BgUQZVOQVXJbybUexLHQpsTQ9dFG04UO1P0L6cCMO0ARJETS3diRWkCPE10Q0UUtXaCL7eTDfRSLxsCTH2sS8tszPwmPr9sPmm0suwz/B6J86aSP310XV5tHYd0UAO0QPkoUl4CcwREZ/SAPqAFAOzhO8TpJAJBUldmOoTHOfICMkSCUQTDE4KgUYkKUy9VUgdBYXhAQpGJ6UylU/nKiKiKPOxDVXmg0I7lO7RMM9aDuoxEJJply8jzEV5iS69TPWdwTI01Pan0Ov87tDrLMxny4TrDwTolQfeQtU3Ds0QfwVgzgEt1D0SttCDI0w2W9RE6tCHKtUxX9COs6VIkQxLWQ1WAg8JaNEToB4ksgz5hgTjgtPv+lFsKcyOvkPwS8yO3EEgJNWExylAlZodsZzzihxtATcICTcI+iAWeT7iMykGwo9BuozZI4mLzIzGqBKeQK3OchGPl1Jm8QdJ2oW0w1lRsdWQwgzN8h7+AJAjQYyTEIEMGiQ2i1VwdAjyNNWjLUxJaLFg3lAecFTuhdUPF02ixE2mP9RHcQFvdAE0/9DrhD1zLkzmUtjxfQkM31FqJ4GqnqF3Zk04vJ0bVCbde5F4fdqpsSwP//3VbGmlPy7Ec/TT0SFBhAfeiGLZB12mHUCojNkKwtIRL0uSeTkJNqIQuUMaVKsUwOC1KbLZxO6dPhAZL6OJLnCRLTLZyi+a3UOUa3vM9PLUivENNKnRJFaW8eEqlfKNk1YTRpshNlhVJybNagbZYq/YRmCNovXNrMaAggtZ3g5chglY83RRbqzREf/cRTMAFnNV5TXR4r9M7g7ZZrbND15XOegRbJEN0y+tOL+Om+pVFOYWk1OQ3ZCNW81TzgGKhBPYwe9RveTFw+XeTgJMqFgciBqFeDywkkIlRMMZxC1eE7uN9E6xz/eJMSkhr3GwuUKpgJHd0UUlfEli6EhWu/0TndZGzl7LHZEjGWC7Ym3ZXJ4K2Y8gW/qzzeG0ORI93a0U0aDWjhRvihcXUWLV0TDf0iMh2W4+VCETUeNnghQtCQ73zeWurWYYEMeJ3PE5iZ9DXXsmKZhMtbRHkXTPwRpNNs8jREPl21e72RRauf9WYgkAEjMVMbITLPhyUc6JsM5hMzD4nmchsgtUGuPAHVDP4hfS4jrFJ0d7oyqAUTcTGdep2TFJHq9D1OomzJla4IHZ3RW14hqV3ejumktngkrNVapMhbK9TeZP4RLGXiGcQRJGgW6MXhlV5J9zVLvKisHgoJRB3ZXK5Ygm4bj6YZCNmzGx5fqXNA3cUF83PYP8X82/XuJkbp0gPytG4AZfgF4ORBGBE945XR3REApc5Y5CPSlU2Vc9aSFbeaDYC2ZZSiJBlx5CT6oUS+ZFNRbh2p0KOg+y8qXuHlgjU05OXNQowmZU1+YZRNJIf4Tw/+TpNgERF2YktGTtNwFmvNqBDlFhPFGkd+sGapZal+JbnaJdV94gqA07pRzcIIiPs44qH+QLP2EXyM9v204z1Vx2duabpZXCx63LRhJ+uQY43p2S12Y5HZ21oqTnIJ4j4eFdmiSSAamU2+MrQSoGD+mEoJdLgGXYfIlleRo9n5oYgWVxNtCRcwKK5t6CX+BGqdUWJtYkFmpMbQofPGqND+Vn/M5qJ2eJ6q1Y91/qUTRl6jfVNLyMvcmeKaQpOrhjRehlf5VU5SoqLP2p9s6+lEypwbPGYtS2ZJdtQJcimOTtHcNpJJPaCP8JLwCmbl010RAetFiTMaDd3kVqNTilWpAR01yqddYqHajWc44JVrLpi8EesdkpK6qqoZuaRoapcTxRsTZR5gZeii5eGkdesq5Zqm7dq0TZMsxUnyHaOyDaV1TOTcTivxduxNTqwheh8x0My1DduyYpaJIN5Ku0jJo37MrstXppgLzvh/HN/O7u/aeSzv+lzdedM5th1dXubK6a6The3XhuAeMe4PsjAX+hmO/bAO8idWce67AKPoCtz/w+kuLvIzob4Wd/6REXUuc+6WIP2laR2e8E6lvcZxh2ixZs7uzN5a4N4vNlVmNaWls+bsGeiugwLRO6VQlK6br9YTx/pFi87C5U52bjQv6UcLf53Ktz4UJGIbvFCm0SoSdiZzDjkyWRGyVB7ZmLKapwMbpBlEkz7lHAWzBVFZHp7TMKsr7Z8VVsIxM9MJ5pWobHbaf1aXKGbDZoWCeAaeoH3xf860HOiXP2Ah228rRMaO2cifNWWfH18voCcy+xmW+5VN5rIx2l0Xzs9A+v7w8SPT8tYvw/2P6f81c1Cs5mScwKz1m19mYs51Zlc1Zz81IOTmWE92L8CmmEEL1U7y//x9NaVfdkXyddFRNfJOKZZHddpGkdIsubUVDPjxRHJQhUv6g8wYRhiYNw1ABP+YF5kHRyri8OYvd3dHVDD71t0FKbLr9dn+ipvpNwYzzR7EEdYrB0hzvoyCtxjACcyAAJKIF7SXd0lbT7f/eEhHiKV/NSkctWrcr+r4kbSgCGEoDLxESjh0oK8fZNKYBgcIgQ0QAbzsgT+QBFwpI0jPuZlfuajUMkrm947MuueHNminEaCsd8DkPQ2aeQr6A/kLQaIoSuIoeDVVC8x4UaqfBtpfuqp3t2dfSrydowrXtovvtUX8UZCsStQkPkiseVebuW4ouXYIg5gAPheUui1YjT/xbUPevDdmqEC2GIK0H4r5H4G6V7+7OAecMAgOUEB+94nw0IDCgICEt8hXF5H7LLqJX/ymfLqS00HNHLX690jLZ8nen5Gwo0IveIdsGAKJtnvtoLFwjTmuL0IaYL+fi0GXowG59AhHm4J4gDbz00AMbPvFG8riGHxxaIE2FQDcITYc6LzKX/5mV/plF8n7hsx87vrqX0qBJVGVI8tJvMEgP7tZ3C16AE1i3EZ40AeZIzi1u4dALIg4+Dvy40N6HIOqeD4XJANJK4gtd0WUBMBfw31zx0IAcJHvAS2orARkiChwgR/MrDJ8GehxBIO2bCJITGjxowWO3r86FEUyJEk/0uaPIkypcqVLFu6fAkzpsyZNGvavIkzp86dO3XwhOkvhShRxqpVc3HUBVKlTJMmZarUqDGRP11SZbkx68YZVzzaEcJF4bsrdsYopGaCDa8EJNj0k8iMzYgEY33USLCPjbyFYxEuYWNXYVuEeMsupBYlDIMES66AFcxmCh6FNq4ElkjMIrGsJexYDGFRkdbRCV36rIo6terVrFu7fg07tmzVV2d3DDrU6FOou6EuXaq7tm02wlOSPs7QFoIKHeOspXuFSliFcc8xLlkHut0LUQxr/JtdrGMu3EkaBr9w8MJIWC4vhBCaYcSFFC1CKGERE/KsVof7/w9ggAIOSGCBsf8VN1tQKVQjilG/PRhVhL4hVc1UASJ40n4aDoADG3YsVhlh4iGUFknZVWYXe4ptFFd4CdnwQ4pYmGcWeoI5th4WK0qkwUMMxXGFfgl1ZhEBpbEBgYYaxdEShgY+CWWUUk5JZZUwOQkbbg06OGFvvEUY3IUtXaGkRCoullFea/Ul0TsH4SVXVu/EWMOZG9mYUF116ojmd2y4yBYb1ilkp0TD+JhARfqVEIN9CjmUZJkL9WdlpZZeimmmmqKG5WtaFnXUU705NSGFFgLY6UiSnmXQXBmhN+djkO2V114boVgDd969+udCNrRXQxpYxGHWnb3eKGIChb5nUUKKVEQAtAr/4Yfkqgp1xVKqm27Lbbfefivgaf/5409uXPrmZVNgGqUta+02Z21CcbmXED2tJlDZrojFMVdbYUymkJra3ZUXoM1cIRmeA8MpawLCrqhwW4MmtKxCmGjmbEWOKpQZG5vFa9pOgLBgQiVeQOKSJwDw4BIgkvykMssD6mPByyXRbLNMlRjxGs7g/gz0S++qhttUDoqKroToVjh0ak2zEa/DBtlxQlh/lGLQFHeNxYYV/yRAjweR3XUBGl1/TY0HCN8FY2BjxdFHWAXpdR2gbW/dlRD4EGTQoBHjSCifGVEbaQLPbqxQj2zMZy2lOY1cMh0otxRzS1SYkbNOlc9cs0k+/8sUxjU8u/Z50KafTtLTVQWlw5bppithqOyK2VLUCQwwI0hhFDtWGLlbtLt4H2XwXF3T/fURFXf99ZZ4PhyPbUeSJcR8eoLmuKOh8Tk7jJAcW6SB7Y6vFr1Jm690eeYrlV/S+VaW7sJLU4jec+eo34+/6j9pqduDoyrNG6bRDiu2+wMYKgCkOMQgbpT5gRAGgMAMwABgCqHHPJgjwa8lpBlYUJ5CmlGBDFxhgdNhRhwM1sG7JKQUOACSHRgorxPy5QoTcxgaptAniTgkBozLSEMQFTUmZcsklwMAAHIwCXOUiA2AMOLKPBI6J5LMIioLxDWMOEXgXREAkjhfJZyYM/9P0EEPZnAiFpdIxSemkWVV3GIW2RBFLrqvI3FkwSCCMDk2fNGImaPZGakouSYe8XdsUJkRR8eG0u0RAKPDmSHx6BFDMrIjNLOiGQEASUraL3QimBzNZCZJRNLMHlfMwYwEaYTShVKTkhCkCPyAv1hWSX884d+5vlSq38iOQQNcie2OM5Ya/nKYxJTIxdgQAu8tBBON8tgvx/cRP5pxikU0o82qKcW0SNKJpmQDNgFAiSfG0Ymj84QXfmHEcP4xkmos5BO3acRufjOcMvPINwFwMjhukZwWkeYfPSGCVJixm0y8ZDc/J0h+0swVFsimRRIazxnR7BNGZKgR8ym9a8j/s4wyqwQkITrIRFqAolycnxkZajOQHrSh00SjLF9KIHH551NHUxcuXydAVLmkmFkJEU9/ylMCdKR7xCgBMQhwqCINk30okelHmmizL07xi6ML3RRVljNABAGWKnulPiFJ1TS+M6RM9KrKspi+kZyvcl2F5fzAOkl3trMjYXUnJFVGUEB4tRJedScbjciyKLKMZln84mA7R9gSAUJyfkzpExNrEcOKtK+hQ6RHKnHVQz7UlJDV42Mt0Fe8SrShL+usZP0osybWE6as7eVwbPm6XOqSQrzUKUsyANSMBDO3vLUdMZI6kmGIZpjQ7MjlCGpVE4SOoCJdrWcB0El35sxk/yiDHF2faF2LpBWrxsWcWtvJVi7SNZ/Z9axzk9sRvVb3jWndo3O5q10z8IyveaysSF8m2WhaAJGV82h96UczRNoXJP3NASBM2V6MRgbA+6VrJqWrRwXPj2cB7sgcW4vh2dByJ1rakv+SBqGm5PQ/T+vtB7EgTBOreD8EsMMVEjhCIxWzuP20X2RJdk8+PvSSY61nzJb7ux/v04w8O19aCQzeHlt4ZUBesnMvZ1lzQsKkPObZN212vvmZEqQR9RlmXXpfVhaUx5y18YCT511AGMETJBNjdXk8yNKV12dcjrMFoCHmDOtZwwGCbalgN9sw2ZaAKy60oQ99HBqHma44Lv8jj/EbUfP61claDvLKqHzJIrfzyB9Zq5LXWGknoznKeBwnka/Lz/MBuc5lxu8b8xxmVmOhdGd+ag5CYQYefPLLYzboD+T8RjrDudWw3rOxW7NhnfgZaTf984j9U2JES3va0hbiSjB03NzNj2S19siBf6faSa+RiW+U7IF/8N16ctojivz0pMub34y+Ua+w/DZKLtdm8cZ3vq8Wc7xh7eV+1zhn3WY0KLzgh9ABg356FLhI8RzZvkKY1yApXemOjfHUONU2fu6SbEkl6P+kYKfULrnJeRsykkA1sgCYqr4lDQiMulfckxatXP/KX/EaWb4joVk3DflXH4/154AFSV3/VXbXuEJYvRbRcgWQjjLBipSgFfaZabloccRagOoNLp2W0V1xC0ijm4KUmc9zV3UbQ7axU0d719Vu44zLnSfJzomCGFRTAM62S88eTrRPDvjAR03RIr0kNR3NzRnBs+ieDuyQ6alPw2tz02Xst6kh3/jIOxHyaL6kV03d8rT4U8cqk8apd2xGyT0c9dnMumNTjzJaX/HBGY2rVJcIUkheHKIoZf1FYw/3qKp+7sSvSd1x0nEQ/3ldtSVxS+Ig+OhLX0OE96ajDZzFcVp2kalscOZR38V2JpSg7pt551cWXqHXU5Dhd64WsTiJB4//d/4E5crY/5FFZrHdkXY9qkM//3Ds9HLepkYVdlkOtWio1n3ThYBZB3H0VXwRKBPHdxM0FSo2ZVM4dSrOVzvT54EfyBFNshLlFYEQ+BIXJoEpqII/QYE2QS7mElu5BHKzM2i+BII3+IGKtm0lojKWhXEx50lbR0gsgYIraIRHKBMu0II1wTp4d4F6Ryp8t4HQRnI4aIWCl3IjsUhGRHsYt3jutxJFiIRjSIYpsYQ0kXy4tHzAQYMcSGhXCIclV336B2Ze6ERdSDlzVYZ7yIep02dCQRR5F2JRuDRT6HdVGIeJiGjV14eN6IiPSBNnOBNpiIEex4bN5x8j14GKyImFxoiQCIqhKIojsXEJkgIL4mHMlv+BzmaItvF3nQiLKNck8TOKtWiLtyiJMkGJetdsIUeFmxiLwchTn3iLxWiMRpiLMWGBH9ZsUpiMV4KIwiiN4iOCx2iN14iEz/gSL+g6a7iGu6SNWYiNllKK42iO55hh4dgSRZOKlbh3haiOQ4SOVhKP82iP9xgg5RgbrNONlviNtFWPKhGQ+DgTA0mQB4mQtPGHMMiMq+iMrrUStFgVEmkRFBmRrWGR3WKQHZGRMNGRHvGRFPmRCXmMI3k/JhkTG2kSuxhivdiG0NY6QyEUQtE6gBiTNDkUNZmTotA6PSkKOAmIQSmTOsmTRWmUMamTPomTSjkUTemUTXmTPymVUSn/lTJplED5lDZZlERZlVUplF5plWD5k0S5lGFZlUl5lWlJlFzplEKJlmU5lWDpk2kZloDYlU2plUcplni5lTuJlDtpl24Zl0z5lmb5lE8ZlYl5l4eZlXzZmFI5k1Zpl46JlYzZlov5mJbpmIc5mZrpmZnZlZ3ZmZxpmJMpmnX5magplmwJmZtJlkUZmI/5lXcZmbXZmq9pmJK5mZe5mbHZm79plr5plQsZiE84iLxoKipZEqnJnM3pnM+ZmoSpl84Zk5/5l5pZnUb5nNnZnNcJndh5lt8pntzZl+FJneLplOSJnoAZl7OZml8Jn47JmoyZne5Jmq25mLiplfEZmob5/5r6aZU6gJWK2Z90KZh6KZzmeZ2V+ZXXqZ6YaZ6fuZ/0GZzruZOweaEXiptsSZXk2aG8WaB3SZz944+WCI4kiaIpqqIryi0dJoj/05LJyaIzSqM1aqMzBYgkqnwmCpA36qM/CqRBioY5+qIgpoHKKaRJqqRLCoksCWgziIlMKqVTSqUIeXftCIXIKRVIWqVd6qVf+lJO+nHMx6VgaqZniqabsoyqGDusWKZpCqdxKqcEwo06qoY86otzqqd7yqem04RYepwxuqV9SqiFaqiZIqYySKaHyqiN6qgDsqbuSIgB1IqPaqmXiqm1RKQx+I95mqmfCqqhuo6n6IQN2aYPKf+qqaqqq/oRidqpL8mqsSqrlhqpWSqofTeruaqrfFqnt+SOLhmluyqsw3qm7FikzQiPxKqsy+ql/Ginv7qKnsqs00qtN7pskqqluFqt28qtKOqqeAqr3Squ42qPtRqoR0qu6aqu5vitRtqj6wqv8VqLLmqcMIqu8oqv+dqH7Qqsb6qv/wqwU3KttnqvAWuwB4tx/Bqt4YqwDeuw+HOlx+qQyfqwFWuxfrqp3giuwWobOQYAdEAGtWAAIGFSPjglHguyIisTTcRc3WIHsQBLAoJaLMGyQ3ix6Wqu9uqmAuKxTkQH0VA+UWSyUtKzRvSzTKUSNfstiOAAwxcgMzuCZHX/s+vaq5y6sf5qT2WkPgvQBoRgRNyAtJZSRFvbtYcUtiehtN7SVXmkKWk7ter6pxJ7qhQLIGM7EnHwRXSQDNxityCBtx/rBi/httwCddwyuG87rgrbptI6G30LEnYQAQBQBTYLE2f7EpY7Eo77EZB7RGbTEoe7KSqjYG3buZh7E6aLuGias+6KqnWrtSWBCBZABzIjtB+BCkPgAEZEBonQACAhDqqwBUbEAbIAdh4RB00gB0ZLA5vwuCuQvACwBct7b69LErGrh7cbvADAAQLAPixrEDUGALjQu6LLtp61f6AFCagAvNArAz9wBQswBMG7BbVgCCBxu7kLALvbu3R0/0VGAL/BSwezwLzxdUnqY7vxq7sykAdZuzLfsL5BIAP1CxLgwAgNFcC0oF9zlQFl8LzRG7M7lgMx8Ar4ywH2MBLfYAn4C8ELTICSYAq5uwVAy7IxsAIkbMKpO6eKG2gM27jUOxI+gAIA8ATvh0hXgAwsZUbm8MFs8AJI7ERqMAceYQWRy2PRULxWMGRgdBKa+xFADAAQxwZXQApObERQTIBcd0TfW7gHeL5BsAtkzA3rEMRmZMYWYcRkDABKXHuzMMdmhAEEbE03g8dBAAfdBQCOgHhcuMR20A1whgvfW3j1ZAVee0l0AALppb3PG8geUQT4a0ZBEA4EaFF0AAC+UP9QHKDJTgS0OBynEVuvrEu3/8HFTwUAwdAVtWsR1isBzLvBQawG/GAR2FBGuLDAGXDEAAC2FsG5QSAA1cAGKKxjLBcE9oBu3xC5eMjABkyAtixWVWAAV2AMTQwAagDJLGs261BGOVC8a5t/AFh4kvvNCxC5dLAF5vAFP7AA42BEYGy9uLANV9DL4wzMmsfMPxAHptBQ5jDQdlW+HxFFHABLcQAOQUxQRUQHdMC7GSDO5NwRN/CxwLAMbLAAKxC8yRzJFhEHHk0HIM0GKnBFWhCzCSUDIS0OQUwHhWwR6AwAq7AJLhAH4uC1hIzJeWwAGxzFCcXSNf2xOM3KqpuxJer/rowrG7PsER7dTbhsUmdQvIARxNGQRkLdEYIwzjy41B9BCpgUxVF0Bh7hAz6cuW4NElY9I16cA5BceGBcs3KcxuzUhbcHvuYQxRZRBBbM1FHUTVm91V7s1ZFHB4HbEchQdGkUXYI8V5CdSdXkBtHjR3/MBoPd2B9xxLMLvjJjvZIQPXq92PjXEdbL2XHQROmwvxYxxeGbO4K0twQ4gIM9gE0NpquLrJSKtYaszdd11f2by6C1xBZx1mpgNipz0yURB5G7ymwdxH8cRdzMElRN3DNive7n0ZMLwm8QxOkQ0uw0uubruX40xB1B14TEByEVuyIQ2B6x3GYTRVXguRYh/wRlxNnudN4ZjAREVEa9QEiciwvo5tG4MITRDQCLDbUezdFVLbkG0UQKsNBcLcT6zVEgEd+B3UQscOEFZeHU3eC8rbrl0o87GtU8PNVw3c7FHVdijd9hF11M0FBBAAylWES3Tcuj49EAMAuB0LsoScDDzXLdJNYCd9aT3USzkLyAjWR97c5+xOOR54NfhOSSm9+aFF1q3XlhhEkNTeLz+83WZshg3BFnzW1XhObbfdKcu9YmMbi4fFYhbn1q1EQzfsaEhMsm3ttCYTSv/NsiVqk9vNu0DOOjU2eXxDJ/e4cqq0lwNlAzotdONAu6ENslod0gPCNYvuU19ty9ZkRVLv/Z5evXJ82/SnfkFC7pZuR4qn7nYO60JCHORrQFu0yRReR+UFe0fzSzJmXknA5Fxs0GYt3q0Xy4c07sfv6lzuqryLm4LB4bmw7nTUfsi+7qHcHBlxQEINAVozdsufO/lyQBmQ4S1B65cQ66UCtI5uC1UM7Xpj7lDbVaJfvip3TsRWfv2bxkk20SRcAI3M69BLzr0AUJvQ6AM7vpwp7qo7OFku5YLVtQLbvvzN6sGcum7wjcPOvi7B3ENoPLoFsSxuAOAW+0oQy1KREHKoC7iafpHW8RXhxVkmuzNAPWTQTYOr3YS3beX6REoz3ssI7l+C7xurPsRc7zYj4S1VAGjJD/vXRwTRveaWG+8EA/BR+PtlJr5SzncIhu1xNv131u8VWqw1Aa3EhPEqGN07js83V4EhrdULZc9SSBCl4b6m996I8NWjid5GDGzhM/I2J99wz9ER59vnMl9p7VTW1/EonvuGu8EgfdUDNeRP3dEYsQehVP2a9usrH73MoeV86t9HsOkqA/tGO/pL49sRsfINpt4LmDy6ENhhIu8TUbBpFb9B6x3wBA6il/7jD/+sct2sab557rvRiuzo9d1h3BuYe/Wok/9Gwg+41/9LHe78lt1i0XBeXj10WE3Sid7l0B4V8fdmo0/h/R92Af9KNj4wBg+Sqn9YC//qjfpWW/qK3f//F/q7cdgcVxdfXjDBBz2AwcWAmAOX5skAGgA4cgmzDXAHAbSAoAAEkP2awzAwAaRIlnrjxc6AWSxodUOmZEycYgHRAEp6AAkCPKQ30WPBIEVBPLwBc6MRDMiRGnThYmBiLSyePhFIlGNBrM8XMmADUCHxpEyAYqAKkpVxL0BCDIyZYDi+hM9jDODZ9sVDJ0SBAZ26U6jYwkaCXkyKJO2TAFMJSgD5rRBvas+jTqQDsRzPrRGLTh4rgPGf+U+TjtZ9ChRY8mXdr0adSpVa9m3dr1a9ixZc+W7S+FKNzVqrnY7YK3b+C9ewP3rduYKNqt57IkaKwMo4vMQYIlGBQAh/8vP9ig6nYR2sivQQK5YPNNFUPBX+lwW8ammikHB7WWBSAhD5sM8AHg4txyuUbn5GBIOjbom2UT96xToz3MGmMjMvkGUi+QHzJ4ZYuLkhoosIciom6rzKzDTjvuvBvJw7AI+m9DC+hwI44G0rKDD4YEiHGBcS4ybC4AtrDnBzte0QkX7R7sqT4D8AOHpsvY4PBBGulIJEYVCAFAC60269AzJ3UKQpcY4ckRAJEaLJKnzAZCMTk223TzTTjjlHNOOuuk07bcdCMuuD2JE4433ZCzEzQeLzL0UGjOnC7FDCw61FBuzizqUYz4Kk8iSoOo68HuKM2K0I4oRVRR/Bx91Bz/ytB0kA0mdOKGL8IOTac7DbsEQDA1uSwos0ZFnajINcUyaiAfQp3oM1RoovTVgeb6RKdDq9BqICvOo3QLN4hqqi/JHg0iHFX7W/QhU6B9FBcG2dBSszS90nVQeOOVd15667X33s/wFEW33YYbrjiA+zRO0HsLPZSOT2S5T6OvztAIFVUwZIgGBDVawJL4GJLAAEsHysAdAS8iY0qNMnjOUA5kIRUlgw1FWGFkrb1OF1IZu8ljuOjAVRzozALmB4NqfVLCd6m6eSCIJaaDYku/SrHZsQhCJONgOtbIilh+uWhpWixdjueLOAATJZN7BoAMGRZm8daHMmgi5C3sY3dV/3fJtBjjrWcJRCOb+a7p6Lqfxndwwgs3/HDE59WX3z5/a9zxfgNNfHLKK493Rcsz13xzzjv33HPbUqhm33759DPgPQf+fHXWW5cratdjl3122mtnfXE9BX4cckBHt/134OHFPHjiizf+eORP09cYPf1NHXU/qzkueeqrP21467PXfnvuE/fHnzz/Nb3xP/kluHv0k8c+ffbbd//91mzTYfTmxw9Y/OKkPx9+/vv3/38ABnB1uMOf48gHMPMJUIELZGADHfhA2CyvftDjncD0B0EMZlCDG+Rg+wh4wMeVT3IdJGEJTXhCFGYudPQrHQX/ZMHppVCGM6RhDW1Ym9uQrv+ABbxf7/Z3QyAGUYhDRKEEW2jAHsLwh0RkYhOd+MT3fS98IARh5HwHRSxmUYtbDB6ejjNBJFYwdRfkYhnNeEY0Ik5+OqSi7n6TwDTGUY5zpGObPui804UxfzGsYx/9+EdAtuSDbqyiDwN5SEQm8oxGNKD4XjhGPipSkpOkpA0H+bwQInCEleRkJz2ZQX2RrpGY3CEZP3lKVKYSfpfMYyHhqEpYxlKWyLuj/cQYvUjOUpe75OXnWGnLPFpxib0kZjGNea8VihKPpitlLo/5TGhGM06/pGAwDSlNbGZTm69h5DKTCMlhblOc4yTnQKTIRkK6UZjlZGc7xSk/Fo7Smkr/dGc97XlMauqRmde8Z/rIw4Z/niYDBBnoagJap4Mmp6CpWehCRZNQ2TjUnwOBaGgaSlDQXJQ0GsUPRj32UNNI1KMdbYlINddNWz4Sl+EcFG504FKYiuKlMsVNTW16U5zmVKc75WlPffpToAZVqEMlalGNWtSZ0lSpM2UqTpt61KQmVadSlapQq5rDoeZQq0Ctqk6xKoqvKrWnT43pUZ1a066a1adRVetSy9pWnj51pmFdq1HZCle04pWoco1pVPGVTx7y7pX1Ymk/5aQDwyY2NoWtUzLB6MhqAsqZ8kKsYuHFWMtm9jOYnRNgdyfCK9qLs5qVzWhJe9rK2gulLoys/+ruZdrTuga2sbXsbN10Tsalk5T8JCxtD+tb4LbEtna8zRePCFl9ula0wX3TcJnrTucmZ425xaQrN1mv1D6XNtHVLjm5O5tasja5puwtajJwhTig9woDPW962ave97qXDemVL33VK9/2rne+8N2vff3LX/zeV8DxFfB//ztQAxcYwApGsIIT/GAG93fBEG4whO1LYAyT9DThpM+hzqKZWtWpw5QyQllw9RATtyTFKWZNiivxYY2wmDY5IVBoaNylGienEmG5sWlUEhZP0M1ORxIVDwARYhCjoSVHVgqTD3dkJc8pu/TybCbfeF16wTYOCeByl738ZTCHWcxjJnOZzf98ZjSnWc1rZnOb3Zxm1EwZxb5ijpPtNOJHlZhtKJHxnJ3S59S4WARo8TObekyaGx+6TRHhsQVyDKqwAELIdSIypYyMZJ5gejEasnPhOh2n7+IQN8w77m7p+VrUvFnVq2Z1q139aljH2mqi4TAdCG2rE9NL0aAB9EBWvOfXvPjWcdq1jR2NYzhBpdGP/syPFzNpeAmbNJ/OdJM1fS9qN/evOaRuK9XJ2yyf5gqxJne5zX1udKc7Aajh8KA1kpNI18pDZrk1kaUzbxhjJjrGlg6L5y0Jf2MK4GwzcURWVQkWDGLPKqmVJ0TgBxebxNdG6bWMU0zjI+VbXRcxQrH1DQD/dyP70B0WXIwNlSKMb+0kkzoLjelja3ZdBMY/LpRgJuWgHxvkIie+OWdybqhco6QSId+0Umz1cDsXBenmaDLTiSZzQkv6BTsHsdHLkiJJ/wTfUc/B1NlWlCD4odNExtWL9RAqaJMm1LEJ5WNNDU58yVk06qZ73e1+93Sz+zOe0HjR1aWhSQH94/u21aEEU+lhpUXRKTYYJdjWeIKzbehoYbSzuxRyJrv4w2VhScWBfXFzZUgp876IK47NMEy5bOXH7jHioe36nwRe9JMySU5MbygNfeVgJ6G5sZyic9wrpWUwBr7oX+etYU9F404eMQu8oaHmP9/aSpH9ngFBBqQY/33igqHKT5xd/cNjHwBJib6GWsaS4l+EIqpZewS5nbvqfnuw4T4N3u1/f/znn8xx3rvEp+JuJ+sJllCJqrA8qGgMAYSaAjSDsDA4cXm309s+l/gQ+vg9CqQ60GOJnHCKrJtAo1C2ApG8Qbs6sgC2EsQV0LO+yGuMoqgxeCMIg3CKRGM9C6iVGESJnLDBr9uWjXMKRlsblugJGbSAFLlBy+tAlYAxzjs+9DMKlQi5JVwRg2A2l/C/ovOQwxs/E8BCzOA0ThsWAvyJnii518kID3G3Ddy4ATQDBPwQLtw4DTGIBryGONTC17m20ZC7eAmvMFKp4CAv+jMN/RtEQizEdP+Lgw3bu75ziQ+DMsvztYebC7p5xAKJxI5IOwjsN7bptBvkxMjzwWtoDIRTiqGjDECohWuQijR0MTrYBSIsNJNDwR1MEVYktCXcO8GbwYyQtlwpOV4ECVV8RQn8wS6hRRMMQao7wsbos6wLQxbJCGZcQAfxOBhcvqR4xIhgATTARjpUMiajRIczxUUEiQU8BAv4vWtkQBQDwJlTx1xJCgfUFgvElWxTu22bIt2ypvmbFy0zRH/8R4BsM71LC4dLvkqQOCarPqorPsALPcFjSO1ricW7lXjcvgPsj1/jPpMAwS7hAaiQhEqoilEMQQs0PgmMxRNEtmf8O+3zuPQzCl3/3DhKETLEu4iqOLQb40icPL2XzAhl/ImX1MJHdLagTMcUoUShIzqWVLSEjECWXEqHpLp6dImk0AcvoIBrkIQfVMhNFBqn/EZjOZRdJLrJY79tEx1lSqnWAkR+TLWAfEu4jEsum7XQ4DArrDaoLDKoMZSWi8qFMxaYUzynNLGLPMGKJEnExLE0BEZ92AFI4DtI6EAXq4mpYw7Pk8UhZI4b67Riow/og0kazIiabBeZfJSbjMAbI8adhEbji0J37MCiNIGhVMfYnE0yhMG7hDKmrMqv9EI04EoOxMMNDEkskLRQMIOMAM6nVMlN28awNJRdtMJfTERker8d+ixNCi3s/xI3uexO7yRE/iPIvntBllQJKoRBjDDP0ZjCz5jI4NS+TgyxGwy4HJiEEJO6dBQD5JTAgzwJQFDCY2TOG1xNRrTFxINB+QTN5Dy2kQyNBs1EbTHDVFzJlXxQ9vzJAglMjbDNAhlHDv2M6QTLFMlG2XRHkPDCEn20qTRPQJAKT0g4d1PPJauVR4QKeJzQlvjF/jTL6hw1t5snuEO1+vtOIi3SuhtIFVPKnICxAAS2/4QE8kRMIeSJvjTGoIvQQiuLZcTAuKjAxOzQX3gahwvT6Xg4/vywnNjSoEvTn/BSAs1B6tOJGrtBZFxQO+2SaRTGo8jTYNTMY4tHAqVT+vDJ1/80PzOgUTbEAg5lOKMLww9Ni7LEywSEwyYblp5A0R6kUv/EQ3XBviHMjCldjEa8T0u1Q/bcld8jy3HMw78CH3SKv93aR3mZLSOtVVslNyTlMzrDy+qLtEdpyDwbPDsUTE0ExUNxPGM1FGT90uFZkXURNLSYzwAlPQBYVgItTQAwPReMyjttvUe5SzTZPebMSYnoSz9dUEohVF+VPEt7naN0x5d0ikfNUWuMU9yTvsIbP3x1sl71O4KkNybUlmBdznx1PkM1TaDMt0jNVSpLgflJS/FqpvZ7DVq9VYu9WDdDRNPgMEpRSjsrFOkgslUB2ZgjTQhNSX0bOHqMjozUDDP/JYiIAFDLlLx2JL8APb5byUAs3RWw8LgOy4HjzIEfiEmeHdYcDT4KVclBvdafDVpFdceiADJDedlH7bB2fNfbLIiX9de5OIuP7Qikw1ScTbypxFPOeFJhITyCPT6vlbfUK8Ktnc6NvcdX9bZYxbK2NI0tw1i+7dsyC0//KczuUqCJdY3V6sO1nKx40UPQ8FvHfdwuo0vQKFzb6bXB9R/KZY0qsy7tDETSGDfIDV2+ZVj30TlOvdz3YdxBcaxSA9KVwpeKFV3ZtVXSbZ+y2FrUBaDMXY3NlT+8nVW3VLVIwIIwYIAwWwI2qAP9s4VhMF43G97ifV7idV51g17qxT/A/81dzdpd1Thc5JJY2A3eN7PeMGOG5M0/8pXe6G2z9K3e6R1EjS0N7tXeXZpf1MAt+LNbffzdxT2NvRXe9wUz5FVe/GtfNjNgNUPgc1NgvKtd+k0jUfAHdfgAdVCGFKgoO7Ff5SkuiEXc8VLcyxJf9b3eLhtg9A1g9v2B9T1gFE43Br47yd2sB56jRsiEjKGUNVCHaqCsbXupbgOmfZLVeIEt0AXgFfYyE+4yMKgAyOgDLijhOLgHHEAvTiABNjgHLyNfK66DJYYMJeAy5D2MGuCyAaiAkYgDIRhjLnuHK6iDGRgJKmjfZjBjL/6yJUYvISgEFLaFeThjGIiHLmNjIf8oY4/phzK7YzTW4xXmYz8G5C4r45HIACv4B1fL3hneopFQhzXwlUchg0PQ4LQA5dLgw+8lH7YE3iFVtTRo4RI+XzBGCR9Q4yWwAyZ+kDGwYiHI4vclgfXqmDgYgQQIY2IZYyt+iCuwAjzgMhv4gRg44zpIX+S1GkN+5ba5gvW1AauxgzFY417WiGk+3pKxZufFZo3QZm4u521mNQe+5Ceqhk3mZFFxAHVoKbr94cjqISEO4VQeX1Z+ZQJmYzv44gSwBQ+4AiwO5oHghAT4gwSw4oPmMi2WEEC2hZvI5QRI3wHAAjs4gSemh3mQiydmYzTmAoYm32bAggzohyemBg//8IoxFmnl/YM3hgjjvQA0iAMnTgBqYIcrmIJkZmM2mOQEoIeWngI1/jKYXuiZjl6bxumV5mmfToB9uOKVbml5aLV1ZmcmSoEbfhRpWANpkBhKOQSCEGVRJg3vfbvXvRfVTQtWG97QIOB9MOcuo4YoiF7kFYIn5jJetmiI3uWepl42juWLDmDzBWYvm+ttBmjqJV/zfejCjt6pJmAuYwZxbmg2+ObKZgNgxma6jmwS9mcvs+zotWLNToDDTgATuALEjrX4tUetziJlEOuLkIYPmDJjeIB3PlZ/+AQA+IQd1rYerVsgxmf+1efS+F9+ZoNIFrCBUN4LAJyHMOck5usr/9bl0pYLXSbs9E2ItOjsKyDsvz7iErAFDUCAkbADBojuOEjn8TZeYUYJ5X2HHxDvBIjuI+Yy9nZv0EbotFDeMLaCHsAHWLPk2N5q2t6CeQYNf9htSnkAOGnrxsKqH92nU1uufR5hcFZeuGZudEZoym7oK/Dr/nZo7DZe8o1ujbAUYB7so05fMDiTKzjjMbDpI8Zv453q/04AF+8ym/5sH7/r68Vxqf4M6AYcO+iBvV61GA7lA29naTiUNQhu0fgAX2kEODnr0ejdu+3cvC2NIubn/BbtF0ZozcblE8dsEiffFEcDIEfq+n7x9wXqOLCCYegBPdDoGhdyLyPyhGhtMP/DZvuO7je/bz4P8uj980Om42Y56jfL6ievIcdTVgxOiwfA4UpfrHqu8G9aawwXxFVjYPNV3jSIgl8es+oWccim7+yGbDZ/3z9ICF4YM0GXc8lmg6vuspNub7tu7zRH3lwPs3fAgkE3df7msl7nb/IF9jP7A1uYYs5WZ+qM9CHyh0P5hEwXJNomg2yHDS0XDS7fXy/n4Qxn334GcS5rab3uslXGa1e2bh9YcvPN7jV/X2hmA/tOdh4Pb1tfb2MfbVtGaMgmbeO14jBI5i7bhyuY9Vr3cTc/9lce+Ms2eITnsqme9TDbh1NfNQOndhva7S0wBuWh7YsQ+Sw/y3jyplv/+kMQpudyZ+ExR/d9Z4M0HuibOOhUP+nzlekTKXiDTvPhpesBGAkfAGSiBukEsAFi7/cip4Ix3mkaT4BmQC8n5nmavm8lE2qW7umfjvMgL/QEGHqntnqmznpK3nqfZu86eOI/AIMrAPs1e+3R+HaPRx9rNxQINw1l8O0HjxMJvxPrbKMup/vJ9d+3Pnfk/eb4VhOET3wv+4OWfggY2GWaT3N6iDLC5mWNCIN0HuwlJ1+gXvGN1/y+uOyZn26M73H9fngxI31qMf3QJwg7wPhi1ogQf/Rpr3sbuvSL2IJufwh/IHlD+QRQo1tSkycLD9JPLw1WSwM0mILQRu04CPE5/04vO8jpyp7+L5Pp87KCfoiECijtOIBs54d+Za6AODh4Lnt29MoAGKj4k3Z6dn9+54XkOHD/E/CADAh2SM6AcwB/gAjDIAFBevMqsIkD4x/BBM2wUKnRkJoHO2MaYiQ4oMKVDOciVRDY0CDCDAsxDsAR50ocK0oywowp8wqbmjZv4qwpKifPnj5/Ag0qdCjRokaPIk2qdCnTpk6fQmW6BgDVTEX9baFKdY0yrQBSRO25M+xSfyl0iKqm1gXbti6quY0L9+1btWPJJr079IrMvn7/Ag4seDDhwoYPI06s+KgOvI4fQ44seTLlypbxem1EFKvXNS7YZKWqObLeyzzNiv8ylhbuXLpu57Z+XU216Z+NjSrOrXs3796+fyc+Wro28eLGjyNPrtynV2M6KW051DNF6K2f2Uyl+kDycOOoV8duG/41W9Z2l7PpDhQ4+/bu38MHLhw9/fr27+PPz8ZrtZqHtGZSmjKfeEXJbWxQopV0kR2YnD/+iAKeaxOWV2FcddG2nHo/xdehhx+CCF8cRm2on4knopiiij15ZVOCWlFyE2daeXZTJgByh953ao1HoVwV8liiaULmFEeIRyKZpJJ+Mbaik09CGeVyXl2ng1cAxMjGjNbh9CIAC0JGpGW3nKXaWq2FB9uFGIpZWZs3LRmnnHPCR1NRb0qZp5578gn/VHM2NXIlJVsCUCNO2QGwHWk6phAhj2v2aKF51eApWYNC8UWnpptyath8fYIaqqijepXNTV1d2dl1OFWnTo7LfWfMmeJBuiab6FXKRqe78tprQ5+OGqyww6JIDo43qSNNqlheWlOgWoHFIKOOrnUhmj/SFSSuR/narbdyNkmsuOOSe9wHWm2xak2oqtrTf1RJM1mukJmlg5ms0WqtrWplqFyu3wIc8Icj3plfJUFA8tPBCS8VxjU8BKWPBalCbNPCkVUiQsKAsGDCUhIvWzFSlXjBME6ASFKTJwCIzNTFl1FhhhEO54BFTS87tnLLZXn1QU7qkAFjtDn544CC8k4r/6G++wJ5noZGGSmw1FP/Bqx9GZvME9ZMSbwzTyCnaoTFGmOMMBsce6wU2Fd6TRTONsWcMhs6P7U1zDJPcU3NN5cMGd1PIbqFczgNiKW6XXo1r9XI7TirhbRGyq/ijjUbFNWXY56YnURNrtzbSHUdsQUtxwyA3JRVQsfGHW9+VOhQ2X1T3AkVRbDCfXtu9mN/O+WPV58cXlN/Pp177KvKNd5jpNmW57S/RmWaufTTM2lU5TaBbQQge7PhMFW61wSIVnI7bATYLXsPANl8M5w+y+yLDwD34WslciUsgDKxV/N/PTpOMe8NZ/F7X08qoRWx3WSA9iMbx0JhBqrsTIE9ef9dTmKXuoQdTA8PlJ/N2PCylUliZVTpGO8MSJXTrcwe1xhh2nDyQdPVxH0dUxkAArFCAMxwbjW8YQ5xwju6ZYwCNzzdzcZnE094QYMAQOBN0hdCAuqQKkyUmCTiB76ceMlwRVGHVwRHmesRxywpoJTjfGTG5s2mc2T5F/Xa6EaCLO4mItyfzdYGQfp5JWUOc8UG78gGOxLwYqXzCsRSlwqvIHCQRvQgHX6hvkNShX85oaDFVOdBEfiBDYo8odaulMg+ctKDZgNEI/NYk03CcJL+05olb4ZJD4aNfTpM2RxJ+L68eZKGV8rBDypoSRCeEpQ49NgctbK3Ykayg3KEIhD/S3nAGN5QK2dQmTN3tskEVWyAkewlIHuIkxQgCkv+EIoLPlAdALiKMmoMy4OopTymuUZbT8PNG/9SAnZchD3N6KVICJIGZY4AIx6oCS+WUBMhEMSgbKiDTBSK0Nz8gQAZwIkGMKGbONYEl9nk4NlSCUCIyAyaNcPlMTkqPrl99JIYXGIwa2ZAssVshgZEYN5kytE/rvInlKRhIc02U2h6s3t66yDaYIlAh8m0b+Lbm8RsStNrBBWnFJPlzXw6TE2aQaZ08MPKmDg7HUJsZXvzXlgBYLa8XdGVkOjqEVN5NrOtjGx5I1tcEzbXrPG0rYW8aszgelNAICwOK4uqUXUJ/7Gmps2Ah53YRtu2LmXR6AHD64kysggAn7kpabLC1+Pypa80boue9ZSJDX4Qh3wC5w9RqElACfKOzcmjIWlY7WkVeo6E1oShMbFtbhQx0Z7EQBGKsd1Q1CMxr5ohB1GIGRPnhsnS8Q+pLcQac+XoU4RJt4JQRBvNlBk6xWIvpz7ZKVg9WLLuhndn3vMmemvy3VG+kqftxanXABlI8JFspSIrasZ2YYHmfpVugIgvTsUGTFdm0oVB8G9zb2LCVx6YkQmL8AVz8sP3gde9FkhZUYNJS7eerIfgzViChSq24+r1J8o4JwCk8YFLVUMdlgWAVSyzzqgkr1a2mpA8lQPGnv9EbbQwucBqLeIehfajIcy4iQ8kkgAb0MQHeHAobhfa0IMqRgM2GQYBiKEIYkDgtxkgBgEgcJhwWRiKZ6uZfTHslRnOV2dtLmTJ8tbgqppsYajkZOzIq0qvARFhewaxLqliyUGnbGvb8+6GEf3nAq5PlBiM9NZMeFUP53XRNrFzefPqQq14U5t3vHBZRca7FOf1fi1krvsQ2Wmc5G1+Al4WmzccXiLyJAVBW5Y01vAJFmsFszZmlA7IyFkzqglyoJ1nUYQckwugISGoBQ4JaEIFLhCEH00cSAJIgGWYKFS37MFETcYcEy3DyTCtE4p6Tr3oOQdTK6qLM8vgvbDyaY3/wNQVJp9xR1/Rea3SGnN0TlrNA0fnd82MlgTBb+JnSY8Ng/5OuAFz8AK3Bvh9moamgZmp5iJa3K0mDOD7SP3qU3u6vKqGG96i6WqUi1SZs05VrU9HxaAYI5zLSpUDTGWaH5umnUrDFjzrQqnQEiV6hZkBTeIghELYrJ8JAANC2GCHPmC7ISnZ3EkaYot5bM4lDdH2aWfQSzbAIB7UAHtCsN7tnLTWFjhoetobQuTuOYEddpKyTB7ChingIQH/tPrZW7uPmnAiAbxVfG5d23ReMJ4NtyUI1e2kkMDLpAQ1CcEf+kLuzZ+ZRBP8L8tr9lWgGFAS2cXz6V2osdU7eOLY/73GnfGcXoD/L7k2uzftj9JVfGttlCJmGadxzxPeARaD+L3uxtaXcYgN2GQoNrnrm8+wjXe01CmmvsNtXcRCbrWtHJZkykM8XQwT9uYaxrVP1KHznZPhAzdGyvyfEqsyjufYsulXcthImD8M1E1kAE2IxB8oFJM52WvlhJElwAD8AE1sThwkXgIcXhx8xubYwdnZxG15G04EFBisGwNCW0JoYAxhXkZQA21dhAL6ADvURGzd3WlF3kOFWwOenW5RWQIww7p1zwlmRAjURAn4BbqxgUV5iujxBFmxwRUs1WqJz34hDIrxFC4hkFjZzBPaBCkp30od1TUgDM5QnMhhGP+BqZ9OiVfpVEwYnk6GlV4H3VzqWcwYboz8RBtiwdIafty/HR9LwVLfkNjYZNIfSszeVFd5WeHfrZD2lZ8sDeIVxpcJKaIhelx9WUBJudkM9dWE8eEsvZoPcZQILRb3oFgZlqFQNEImGM2ykINkGUf99U6jDB157Bi+9Fj/cUthdKAdvAQI1oQVDES1/R0elIBCxVYJFBlD/AHTsYEPYFsF9gMXGGBNMGMCaBsbZEAdcME7nF0cJNkOds9A3B0DDoDNxMEuRplE3J3VJVkz2Ank7RZB6WBNnAMLckEk2MwUDMTihds4vmBDUNngTUE8JAA1uKDkxQQx1AQBDOFNhED/6BUFGCETRwESAolaxzgMGegPALTSRMoSKomNBZkNKgUQ+ICM6YWUKi0LEwmSMJGfpVFF34jk7o3SLKAAIcUbHT0aTyiSCKQC81mMT8ISxJSOLUFMq33iJFaQ7oBXRJYcUnLfprkcNnkQC3iDKQnVlcwQzEFTgRCQqJkNKXofn7hiU9zfseXfLC6bj90iYRweGyQZQSzZN6agtPkTP+GBPVodQwQGC0pEW1IBQaQgTUze4MngCMpgPLJBbFVZQKXj5EWeYsJEB95WNY7A4AkEMNLgtznUarGBEGSd4glmAiigFejlX0BATXSeTKBbDKDbYRAXu5khVdTCUN0kiA3Q/1jpDSxMjDcp0hq2kvvIDRjGFy5JESAmkPpAQiHihH21jN24T+0VEQvZxHNW0sbkgAP50VYWZ/84llRh0h/+IYJdUoLFlMdAIvIt0snlYXiWJyxJ0fQ5JVLmxCDxABCxgDAM0ckYUwdpZRaeUAmBWtqAJftJyVgyRb3EomcR3aQY6FJUSpAJxmzRJUFA2TfipdRV4AikozX2gZPBBDWUAgKcXZMlQNqIW9pMYDhehIpmG2s1RAfCIGe2VuQ5ZkbgpQ8UQrTZwUC05Qgo1ATqI05I3QwmAF72Yg98ZkwAYQYQBAQQQ0as5h8gpNINBkbxRKwpU1HMV7lwaZd6aX4A3f9loIax8djSQEpa2qJoCcaFcluRRh0DaKNPBFQH3sQUvARBJCMPkmg1ihtlEkQMrmi0FSZn8gRCjSAbzGgODlmRvcE5IqY8kF0+5eAB2sRbVhkNrlvXwUQMsIEGJABCsoGZEQS6cV4C4ENNHAYPAoV6pNQdJsWWfmmsyuqsXkaDKkWOmamCwobzpGnSFQZeMqCbfqMC9kRrbV3rnAO2HaAV9AAvkmhbiluG/mmRragKJsCG5oShyqg/ymNftCWnJiaF0oQV3CO3TapN/JbULd7UccRNxIG4YQSnDkMC/MFvmRm6WUFqah6EVqn1+ERFtpBRYCmtEmzBGmxY2GpSCN3/ZpWpLHYWj/AfcvifYABqQyigQLDpX/wBJhxE040BXh4mX1Jj4xGECdBEa1Usi5aoiz7btsLlt8UEnbLs4MGNknVr5NnBP7QlZCoqnpYC21ldmzbEMFgjQZSAHdQEuMZAaibA5zkk5/zEbWapUcDqwVrt1WKtWCTNo+Tqw6JRwiJFmOaEYbSlpcalL87lYe7TN8aEarHWxXJbXJJo2liqn14rtd7thMalYv5B2jCmoCbqzcaE38VQm7ZlTVjquVoZPzLgumaEhAZrQ5wmGwhXApTAb7FBvmLE5D5tcWXt54Ju6KoTsZHptexYmaKpxK7lYACjLk6dnYhEBwbkMPaj/9+57pPRhEVEQi+969SNaF+SLAWyLIvOJRvwQuetrS7+AS9OATq6LJHKxIZOI0HQaRwErkFGnm7FpWcSKTBOATLyYhj4oNHWhKcaLdKWakNoHhvMq2G8ZlCArejK7/warNhWBq4SXTxZC6+qbu0YBgDixAIQ4EAAME6QaAIoY07gIE4QzI6OrJW1qPX+qY5K6k0wFDDehAg+r+PCxOHCa4X+XZsqrm7RA20FFJUVMAPPKJTWxJPiKSYwLUEAIRsI4RE+JP3icA7r8E/Er1EsLP6dLo9JDtIRxWHkKYdmLOVVwABeXZJ+3QBmQByEQGkmYwXEgUn8wxJEMeTtw0pYav8XX0FrUYTV5RNBMrFiyh0Tw8AJjnEGzCgzrESNRuYASrDdRcEAPhRcxrEeX4GlkgAecwHTeURDNEMMlAQW+8VEmVvboptCpioS7nAkS/L89vBVwCLX5m+yycbRMdte7AY7LqOHOpsbgWqnxvCngmtDIoaVTnIru/KsVvJmnEXpKqiOGV3EHocoBM96FEZbhgFDUMPOjrKQEYPtsCYEDAPmDsMpEwYrv/IzQ7O4xPJQ4K/D6q9c8G8ur65ggLCQju8wt1EJTG5OhIARBoe/RnM6q/OwuMA0C8UPm2UQ0+JbGMPgPI+aDsYTd8QVux04O5siQEAMrEQGDAMM6wbmeu7/Oiv0Qovl1lZLJndW8+ByKxoFk/rzRe+KMzP0RnP0fbhzUKDGvTTsLMqGIXw0UNhvumH0StOJRoeFARGWg10aZQBSWvVE3lSMw3TnUcRObXxORj0MVERYE+kNoSIFq9GmfSBfx/x0TqCMafTnY5z0TyAoJluzJovHbNhzrxYxS3t1nKDZZMB0wHZSTDsGvAHF6zzcyNi0ZSRcTjqFCOEaSU2tUTBXrBk1eiy1CfS0TpoBgUZGVFMOepCJO40000zKRBfHxH51Y4OIS/v0TE8GJbFVWq/SWj9JU2O2UazMJ/CPPgTBL5DfqAj2T7QeZZT2Gjn0O+VL/mUzReOzY8s2/3w4szbl9AoZgaWRzgZR2qVRZxGxAHbeFFa9pMks1ST8p/oIkXTmBCKI18CCYclYWg4gdzLhERSRjBINt4MxUA6EwArRFXO7EP5MjNxI0HRGUxpqTPyQnHV3VHZm9waN9socgr95kAQk9Xt7nA0x91Oid4Cm3N/M0fykDwsMQm+H0qtZGhENuM3UUsD+TXvODe4s+BEl0QOJjRNd2HbiVBVRRaTRH7GJtOmSdLakrjbH9myruHxAslNPlVGGEiClIQ5FW0y6Zy5JlU3qt/pw1bJEFSWpH0hCwnRXNwehUnDGUgUpFQfIAagNAk66niMJmjChlDCBHyQV53SD1JUgOf+Oe6INnY7D2JByEbdVRmRJmVoeolJWxidOolLfGGUV3pLL8SEy1cyDy85JSsz6cBedV2E1XVNX7tJqdRNZFwysXPJDX3VE14UhbDVypLRNrPikt0dY5zkMeU/NONFVdswU1OTeLNXuXZX4WJWb8aH4WOSnX6H8OGGCixAvvTcl0lwHCWfCqPUq/RRWWdJYY1VUXUyou6dQZpWhVxyt82F25fpHGRBMDrse5jqy81WzeyIPVAL3eMJ90uazQxUxIadQ/ZJ8LtPpJJ96Ql8OXUyur4xfcQ8g9A3dHKISdthKEqimmZAe9d4hnk27Xxq635EdBqVUNZZSTLVPlOVh65j/eSg2cTA2pTN8blgpfQrpCsE6wINMxex5IA5T6ciNPnhBghlQK6U7JFS8hr0SqrcQKGpYHtqXuU9c39x6UW67+P17+Ph6yeuOFJoXXs38fHUN7MXhfs1Q6PC8/7Bhhy1TfcYXIMzMUA19Wa0hhIF7J3W7yYkPgQlVD0Xf2fTQ7AgYGZJe1ZcYplUQA83mifmP0XO9Wxn9iBEYvuF8avtEpEtGNesqo9di/zZbw+u9w7f4p+0nUG+ixjPlJZqAxpd12qyM6gw+9A13yKc8Je62TC2frV+2/xQfpoGhTVdYh5XhT78MogGfguXZV/oPwk1+mh3cX2MVD2Cpo5mcf193//2Qe47fkXLODcIQZy4JGIH3nh1VzGlrGA84jCRUOxaoWu6/HAHRG+PP+oAKvI5ACC0z+oLS88BrbYrvffYHhkZrEzdcJXKZzuLDUscYvnblUFz1eMh0lKx1O8DDdarpG9m8vInleaJRGoiLJ+eHZV+rVG3mUegDBBuBbCqJgDSw4EF9FniwoWIGQESJACQRNIjw4kCBngA0BJQjiicWJsJcy4Hl4USJFTk23NiRTcuBMjUSjHjSZkOaMWEKBDRR0kMjGj3RgVRSZcShMj9iGTjl2lCfQB2aqViTDdQz+nZA8hQEUlOkSZf2hIrzpcekAE4uvMrGLVa5c0XNtXsXb/9egf5S6BBVDbALwYNdVCNsuDBhwYCr1dX7GLJdx5ETVLZ8GXNmzZs5d/b8GXRo0aNJlzZ9WnRkgToeVwJgECnahR1nu6zpemRKbgIfXsVt4iXY2nJ/ouUJVuDwmgttp+VpGxBy5skZsik5ciZFgsgFVuKu0ftBQNjhWngbHiv6rFHlQiUP/jv66SWlpo//PbtOAIHYlzxJf66dZIqru540amqgnxoiMCesFsohhGveA8QL8YwjCiZAMiqvvoEeRMmquT56ITczxAiRDQSx2mk84ApsqJL3NGKQQdXYmMzGHPPiSxRRjAkMscQUUyxIxozBUcck5WJNNdScfBLKKKX/nJLKKm1E0kMLtOOpI6giqgipkWJz6jebsPvpIo60K5OnCsc0E7jiosiuQuoMzLK5h9IEQCrX6iSQQNek0vOgSurs7lDw6myRuvMSRShR186DSVCBShLBD0MPQlQh8wqcFMZIH3XuIVeq829OSRGCSUCYPuSyOZ8ycs1VC3BSkwf3XBTKJqk4Qo6j+jhiiVW2nEIqVwl3NWMoXuX66pehvMwo2OyItY2jWyNa0FanytuNRk91xFLJctng8a/AhgxSSHYXq8YQY8yddyBy8aoS33z13ZfffhO40q6fVPrvmrWuUpMqOKtSCTs2fz0I4ZWmMu5hO2Mtb61BIYrIi1Sk/9OyLZBBVKnP+zaFTzzyGFQP5YFSmginlyUaimX5RJb5JjJNXrGnn7A7yymcjX0uP+sKloiSO19KqqGxIkpaP5UaEvoipyPCTiarh45424Vl5A2iq4rzVmusDbQa6qkmuihcsb/Gi0l6zfXHn7/SFRLvIRfbG7Aj5Z7X3r8FH5zwwg0/HPEbXbArYqmQMgLhPDc2kE2n0XL4tU1lhm7olzJSbkYtVXoLY4MSmuoiNA9y2rbTu9sQo5RdXBn21082emaNnPZtQ9dVx12p2IWviaZqjUbLaWENpOllHnYCb+aFNN62eIk2HIuFSb4TuHMWJc4uot67runSTYetiXu0nv9P8cudaAVAZXHLc9vFxwJPXC6+/GJMb3YRc7cwgLkf/moyQAIeEIEJVOAC5WJArDyOgRGU4AQpWEHBuc6CGRyXBtH1I8MUSW+HGQxjGqNBB2oQhSlU4eHiBhkIrhCGMZThDPGiIT9Q50I0jOEJCYgu/q1LhHj7nwA12EIdHhGJSayXjbzUISU+EYpR/BvXlCbFCvIQfx0E0ghD2L++YTFxYLTiGMn4NzG+sIxpVKMaEVa7NS7QiBP0obqIxEU7DrGEGRTjG/nYR6zs0Y+BFOQgCakkQBYOXXcDYf+AWA2/6bGQkZRkHCVZSUteEpOHJNwcAZg3dxWJiJDE5CjTqEn/Up4Slak0IQdT0CP+LbKRh/miCXtUS1veEpe51OUuedlLX/4SmMEU5jCJWUxjHhOZyVTmMpnZTGc+E5rRlOY0qVlNa15zmKzcHx2DuLc6BjCPqhTnOMlZTnOeE5130SI3O5k3vvkonfGU5zzpWU970pCT3tSnO0EZznv+E6ABFehACWoXLXoyhJ8M4CML2lCHPhSiEY1kPoFoR4saSaIZ1ehGOdpRFCbyhx9MaB0FaEqPnhSlKVVpRyn6zX0KsW8rlelMaVrTjXLSfyMV4Sxt2lOf/hSo5tRfumCZ024yxqRBVepSmdpUFa7TqLEcIU+dWlWrXhWrrHSluqLqznbBdUteWRXrWMla1r+t06VdnKojk2pWt74Vrj+laFcTI1I8tjWuedXrXjUK1W6qlW8M5etgCVvYlA41pH9VK0YN21jHPrahfu2iXesKzh5BFrOZ1Ww651pZwK41rJsV7WhJK8mDtvOzC8VraVnbWtfKsZVEVWtAAAA7"
  },
  {
    "path": "editions/de-AT/tiddlers/bilder/Tiddler_Poster.png.tid",
    "content": "created: 20150513150003950\nsource: https://tiddlywiki.com/poster\ntags: picture\ntitle: Tiddler Poster.png\ntype: image/png\n\niVBORw0KGgoAAAANSUhEUgAAAdEAAAFeCAYAAADaJSWWAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABOIAAATiAGjigkoAAAEqWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8ZGM6Y3JlYXRvcj4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGk+RHVhcnRlIE51bm8gRmFycmFqb3RhIFJhbW9zPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC9kYzpjcmVhdG9yPgogICAgICAgICA8ZGM6ZGVzY3JpcHRpb24+CiAgICAgICAgICAgIDxyZGY6QWx0PgogICAgICAgICAgICAgICA8cmRmOmxpIHhtbDpsYW5nPSJ4LWRlZmF1bHQiPlRpZGRseVdpa2kgY29tbXVuaXR5IHBvc3RlciYjeEE7WW91ciBtZXNzeSB0aG91Z2h0cy4gT3JnYW5pemVkLiYjeEE7eW91ciBwZXJzb25hbCB3aWtpIC0gYSBzaW5nbGUgSFRNTCBmaWxlJiN4QTtsYXB0b3AsIG1vYmlsZSwgdGFibGV0IC0gb2ZmbGluZSBvciBpbiB0aGUgY2xvdWQmI3hBO293biB5b3VyIGRhdGEgMTAwJSAtIG9wZW4gc291cmNlIGFuZCBmcmVlJiN4QTs8L3JkZjpsaT4KICAgICAgICAgICAgPC9yZGY6QWx0PgogICAgICAgICA8L2RjOmRlc2NyaXB0aW9uPgogICAgICAgICA8ZGM6dGl0bGU+CiAgICAgICAgICAgIDxyZGY6QWx0PgogICAgICAgICAgICAgICA8cmRmOmxpIHhtbDpsYW5nPSJ4LWRlZmF1bHQiPlRpZGRseVdpa2kgVGlkZGxlciBQb3N0ZXI8L3JkZjpsaT4KICAgICAgICAgICAgPC9yZGY6QWx0PgogICAgICAgICA8L2RjOnRpdGxlPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPnd3dy5pbmtzY2FwZS5vcmc8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+Cg6gNqEAAEAASURBVHgB7L1nkGXXVf69buicu6cnSZqkLI2yLMtywhGwsQGDTTA5m2RXYcJbUAUFfyj4AgUUsQwU0QaTTDJg42xLspIlK0/UpJ7QOd/bN7zPb99ZM2euuie00sxo7ZnT59xzdnz2PuvZa+1wcrVarW7hAoFAIBAIBAKBQOCcEcifc4gIEAgEAoFAIBAIBAIJgSDRaAiBQCAQCAQCgcAqEQgSXSVwESwQCAQCgUAgEAgSjTYQCAQCgUAgEAisEoEg0VUCF8ECgUAgEAgEAoEg0WgDgUAgEAgEAoHAKhEIEl0lcBEsEAgEAoFAIBAIEo02EAgEAoFAIBAIrBKBINFVAhfBAoFAIBAIBAKBINFoA4FAIBAIBAKBwCoRCBJdJXARLBAIBAKBQCAQCBKNNhAIBAKBQCAQCKwSgSDRVQIXwQKBQCAQCAQCgSDRaAOBQCAQCAQCgcAqEQgSXSVwESwQCAQCgUAgEAgSjTYQCAQCgUAgEAisEoEg0VUCF8ECgUAgEAgEAoEg0WgDgUAgEAgEAoHAKhEIEl0lcBEsEAgEAoFAIBAIEo02EAgEAoFAIBAIrBKBINFVAhfBAoFAIBAIBAKBINFoA4FAIBAIBAKBwCoRCBJdJXARLBAIBAKBQCAQCBKNNhAIBAKBQCAQCKwSgSDRVQIXwQKBQCAQCAQCgSDRaAOBQCAQCAQCgcAqEQgSXSVwESwQCAQCgUAgEAgSjTYQCAQCgUAgEAisEoEg0VUCF8ECgUAgEAgEAoEg0WgDgUAgEAgEAoHAKhEIEl0lcBEsEAgEAoFAIBAIEo02EAgEAoFAIBAIrBKBINFVAhfBAoFAIBAIBAKBINFoA4FAIBAIBAKBwCoRCBJdJXARLBAIBAKBQCAQCBKNNhAIBAKBQCAQCKwSgSDRVQIXwQKBQCAQCAQCgSDRaAOBQCAQCAQCgcAqEQgSXSVwESwQCAQCgUAgEAgSjTYQCAQCgUAgEAisEoEg0VUCF8ECgUAgEAgEAoEg0WgDgUAgEAgEAoHAKhEIEl0lcBEsEAgEAoFAIBAIEo02EAgEAoFAIBAIrBKBINFVAhfBAoFAIBAIBAKBINFoA4FAIBAIBAKBwCoRCBJdJXARLBAIBAKBQCAQCBKNNhAIBAKBQCAQCKwSgSDRVQIXwQKBQCAQCAQCgSDRaAOBQCAQCAQCgcAqEQgSXSVwESwQCAQCgUAgEAgSjTYQCAQCgUAgEAisEoEg0VUCF8ECgUAgEAgEAoEg0WgDgUAgEAgEAoHAKhEIEl0lcBEsEAgEAoFAIBAIEo02EAgEAoFAIBAIrBKBINFVAhfBAoFAIBAIBAKBINFoA4FAIBAIBAKBwCoRKOZyuVUGjWCBQCAQCAQCgcDLG4FivV5/eSMQpQ8EAoHzGgE6+iGnzusqellnLsy551D9Z/sin62/c0g6vAYCFz0C/t5Amn5Q6FqtdtGXPQp44SKQU8MNVfQM9QdEWbN3828P3nzff/vZ/cX5/EGAusGdrn69/vx8/uR+5Zxk87pcGZcL2Rwmi8ly/p+ve9l0iRPS5Mjn8+nwdJr9+f0L5ZzNv1/7+cUuQ3O6zb9f7PxcyOkVL+TMv9B5p2HhECaPPfaY7d271970pjdZe3t7Mi9lhYw3Ql7+T3/60zYwMGC33nrrOZuhsmkuVz5Px5+dyb/7az57PH5ufn4uv5vjaP59LnGdzu9q4j1dmOyzarV6QmBTr9PT03b33XfbnXfeaX19fc+q79Pls/lZNh1/xj1ctg35M87Lhck+P921h3366aft2LFj9upXvzp59/vLhc0+A4tCoXBKHrLPlwu/2ntOlsT/1FNP2aOPPmpHjx61SqViLS0ttn79ervxxhvt8ssvT1h5PprP2fT9WfbeStcr+V3u/kr3iHu5enT/nN3P/fffn+TH9u3bT8E3eTiHPx73OQQ54dXDLi0t2Wc/+1m76aabbHh4+Dnl50TkL8OLPIDGsTwGtAewwdHI/v3f/92+9KUvpd/8cdz8mvMjjzxi//AP/2Br167l54nwfp0N03yPZ7yMHO6v+dz8bDn/y8WbjYfnHo+feZ4Nl37oj4fLPvN7fs7Gwb3m3+6Pc3M8zb/db/KoP9nfzfE2+3G/2XNzmOwzD//EE0/YvffeeyLf3F9YWLD//d//TWd+E675nI3Lr91P9vdyeeDecvc93ErPlovfw2SfcX3gwAFDaGdds1+ecY/05ubm7L/+67/S2cO4/+b8eDh/fq5nwjuBku7f/M3f2F/8xV9Ya2urvf71r7e3v/3tifyJ94/+6I/sox/9qJXL5ZRPwnl+ODfnxZ95npIH/cn+9utmv6e7v5xf7vn9bD64zt7nN+7BBx9MnQWuSetsnOfJz4TxuLP3/Lr57Gn4ff9NZ+lTn/pU6jByz5/HeXk+WAmX0ES9Ra1wprHS2CDFH/mRH7E/+7M/s2uvvdY2bNiQ7mNy8p77xMSEffjDH7Yf/MEftEsvvTQJCcLj8IPz3y4I/Hd6qD/cp7KIt9lxvzkcv93xnPia/fhzP3saWb88y4bL+vF4m/NKmGye+I3LxtO40/jb7JffOOJtjjubPn6Wi9MxXQ4rwmTTa47fn3Mfounu7ubWiTrl/uDg4Il8kb675fKSfUa6nt5KfrmPv+Xyfrp8e7jm+Enf0/K8oMlRLuLzg3Bc40jb00LzHBkZsc997nMnNFfi8/w51s3p+m9P82zPHjfE+Jd/+Zc2OztrP//zP58wz8aBFvqqV73K/viP/zh1aL7zO7/TisXiibISjzvKQn4cB8/bSnknXLNf7jkmXHscHrf/5hkum77H5ffx6/49/Dve8Y6U/xRYfzxv/nu5czYenpOOx8dvv/a0uJd1noY/JzwY4rCYeR17PNmwcX1mBIJEz4zRiUZ28803Gwca6Q/90A8lkxcN0hvhf//3f9vmzZvt9ttvT7F6o6VxIqSWc9kXj+ceF2GanT/jvj/P3mv2736a73sYnvt11k+2TNn7y8VHGZeLg3DN/lfy2+xvpXwRZxYvx7Q5PP5w2Xw1+8mmAdF0dHSkMBCPO4SPh3Oh48/8vv/mnI0ze5/rbL757XlbLh5/hr/s89PFn31GWu78Ohtn9hl14u20q6vLent7T2DhJl38O9Ye1s/N5fL7Z3vGZL5r1y77xV/8xUSgnl/K4/miw/pjP/Zj9v/+3/+za665xu64444T0S9XLn9IHBwr5T2LGde47D2PJ3tuLq+nv1I4909Z8ENZcH7fw2fTWO76bPLncWbDE665/J4mz5xgCeN4Z8PH9ZkRiHWiZ8Yo+aCB0vi+8Ru/0X7t137NHnjgAXvFK15x4qXDJPjlL3/ZfuEXfiH5c/80VMJNTk7aV7/6VZuamkqNet26dXb99ddbW1tbioNEaMSY4Bir2Lp1a7rvLx9nxul4ftVVV53oSR46dCjlj/gwNRM/gmbbtm0pXdL3l8Ov0TgwV+KHcV7yzhgUv9GyyS/xPPzwwynfPT09adwEzczj8DOJ796923bu3JnyDQkxfpUdw8KP52HPnj3GWB1lZGyZsmzatAkvJ3AgfTQUxqHJK2n19/cb40jZ8UnigQA3btx4Il8eD+lRRvJGXrLj2MRHGuDJ8yNHjqR6eOihhxKJ4B9HHVI/5PW+++6zsbGxNE539dVXp/rJpuVxzszMpHoeHx9PaTAMQD13dnaeKB95O3z4cNK+rrjiipRWNi60sn379qV8Z9uH55l2RPwIR8YMb7jhhnT9+OOPp06ca9XESVqeHuHAxLGkPj1dcHjyySdTmSkrcVx55ZUp3/hhbJX6IG90KKgz2hl5yraFFOEZ/jhWmHE/8YlPpHeKvDgJkF93+OU+5IOJ95Of/GTqyGL2xe3fvz+ZgAn/xS9+MZmir7vuOtuyZUt6Tv5oy4y1Oma0F9oS6VBm3jWvHy8P7RRMSqVS8gdmxMuZPOEITz0RBsuTt23CrFmzJo3lgmMWH+LkHbnssstSHLw3WLDA1OPlAdfUPY780cFxmQJu1AV1Qh7IE20s+24Qjji8/Pin/fIbLNHwwZA4sy6LffZ+XK+MQOGXf/mXf2Xlx/HEEaBx0Sh5KdBa/u3f/i2RKC8fguVDH/qQff3Xf31qzC4MvBEzYeJP/uRPUoPnBeYlgoTvueceQ4hmX5DPfOYzacwEjdedvzy8sJi+XvOa16Q4eA5xPvPMM+llxiy5uLiYiBHButyLSTkY/8Pv/Py8ff7zn0+makj0n/7pn1LZeNH+/u//Pl3zgiKcmYBAnJSX3it+OP/nf/5nGjtEiAwNDSWh8/GPfzwJLAgSfzjSZYwRoQkGmJEQNoR3oeJ4QW6MkR08eNAuueQSg8S5RtNHoCAscOCH4EQzIX4XCI4X49P/8z//Y3fddVciGeLHccY/9YYQhUT9HoIFIQMZInjIJ+OE/MakT2eI8TnaQZb8KededUgwO9IBIN8QN8QFdnRQ0PI8b9QB+acjRl5I359BsH/6p39qr3zlK1Md+H0E8B/+4R8m3MAQIUv+6eyACXUG5tQZjnZBfsnPf/zHf6SygCXloi4gQX4TPwSAf7CnjmlHpOFloD5Ig04B7QrcaY/EAZkTx9k6Lw940X6/6Zu+KeHpddAcD/fBl3YCiTIRxtsA7Ze2sWPHjoQ1dUrHElIhn2i5f/AHf3CiTsCM8tM2qA8wo+PINY42/a//+q/2f//3f4no6JzyvhMP7YB6BF8vA/lx3GifdGrwT4eazgjEy29/Z7BiQep0xIgD2UC9km/I1A86O+SBeJgYRhy0E8rqpm2ImPuEJ29YwWivxOuYZcvvbYbOJ+2PskHi5IVwhAl37giEOffcMUuNGhJEQH/bt31berF5sXwWJFHSkBEu9BYRiO9617tOef66170uTUCCFH/qp34q9QoJhxBHcOGahQrx+cuePOgPvxEkxPezP/uz6Tbk5BoML547f0kQnPTMOf/wD//wiR4vGhhjvvTq3/ve99qW4715SJvJHQj9t73tbR6dQfjg8IEPfOCE4OYhpPbbv/3bSeASljzwMn/hC1+w97///YlsPRKEzK//+q8n4oIgcZAOOHzf931f+s0fZskisP78z//cfu7nfi5hBAEhhBEskLiXD4HLNR0FcEH4uhAjLvJD/UD6lAeBBXHQCXJHHJAPAhUsIAt3CFJIBeFLHMSHYKSe3/jGN9qb3/xm95o6PHQU6GT9zM/8TOow8ZA8kSaOvHre+U3a2Xqm3tGiiP9rv/Zr7Q1veAPekqN8CGvIAMwgDne0ga985StJk2b4wcmViTt/9Vd/ZXR2fuAHfiB5ZwiCzgP4gglhcXQe/uVf/iW1X7Q3dxD8b/zGb6S2R37If7atub/TnbEygJ8T4kp+PV7aJW2W2buuyYETHTPyAL7UK+0fLEZHRxNm3/AN32Cvfe1rT0QPZpDTRz7ykVRO8MWRDjPraTeMzzpePKOt0cmkDYKZ5wnyAR86aj/90z994t2l3f/+7/9+ast0Etw/7zZ5w4EZ4TiaHRYn8sj7SRo4b2PUH+3MHWPGvFtMzPrgBz94ou14m3nrW9+aVhW4f8pPx4s2DFZe/tXUocf5cj7H7NzjAowGdKaDFwFhzEvwzd/8zYb5jx4+gorfNEae489fGgQc2qYTLM/R+nAIKzQFeqPu3/PgjZLf7rhGSGQdvyEBiAvhi6N36vFkzx6OPOAQ9ghLzJW4LSJNtGJMPVx7XokXLRSyIj3KicaCwKETgbChTO4foYjZG20FjQaHtocWg9DEuX96xz/5kz+Z8sx98ks6Tqik5/mDSIkXPzg0Q7ClQ+COZ2CJgKYDQy876zws9xxLzzf3vG6IA60AgQWB4tefoeVQDtJwRxvgnhMcft0/OINhcz6zefF4OHPf8+b30RzAxOMnzxz4RcBDcGhg3gY8HjoCmEG9jsgTZaM9IqgxDboQxS/PEKzuqGfu00nBebl4B77/+7//BJkRjryczYFfHJYQ2qqnn27qTzYOv8eZtkrHA63NHfmhfUDqxMvhnRPGW+kYOoFmMeN9oROE1u+Y8ZyyepsmXo+f9G655ZZEzPjxMDwnX3TAIMgsPmCMlkg87p96pXzu+O0HYXF0En73d3/Xvu7rvi61X/KFQ95Qj94GPC2eQaR0KLAauaPTS8fICRf/3mbQ5sGMNux583BZ/OP6zG26IXUdvTifFgEaFC8pjZ6Xk8b8t3/7t/aWt7wlmfZooDzHHw2TRgtB0mBx/OY5z/CLSRByQktbrSNOTIeQnzd48nc6RxjyT8/e84p/hBlCDWJzR35xaE6E8xcagY1fJzvC+oF/TJ0QKL1h/43JEBMVwhONCf/EjzaKGczxQ7ihvYEd90gbB15gibDyfEAgCBc6EsTnjp42pk03b3m98JwyZx3PvJx+Hz8QhY9Zgin1xn3SoaMAAeHIi9czz/iNX69nhCzmecxoWUdczXlpfs5vSA0C9glr3o7Is+NAxwecsnWPP7RmOhukky0ndcdv7+SQznIY0EYoKxq5jym6tov5EHyyaRLPmVy2zMulmQ2f9ct9/GfvUUYInjbBfc8LRAehNGPmdUJc1An1lY2Pjq0PpYAnZeUgHTqCxO9pEAfp0F4hN+4Tv5cJ3Hie9U+Y5Rx5IB3aFBYHNFlI2OPkOW0MIncMPG88oxzkY69M5DiIm/LzfuCf/GfbJH58jkE2f1ks8BPuzAjExKIzY/QsH97o0FAgC4S1O2/g/OYF4qVw7YtnHFnHMzQCGm/zM/xl48uG82vCQaC8RB7/cvHg318QzhASYXBZ/7xo3pNPD4//afaLNsCBcMV53FwTB4IfoQNh4hB03/u932v/+I//mEyAYIYARhAj5LN5oFdN3Iz90EHwiTz4xZyXdZAE9QFBQ8bkkzQZ8/qWb/mW5JW8kadml82zP8vmI2t68/ucOYjPwyOgMLVBODj343Fy5hljiPhF+LnzeP33cmc6CLSj5eL3clGfYON5Ih6uuY+f5jydLl1/Bq6QLctKWPv8m7/5m6mtM+FoiywVdLa8g+Nhlsv/SvfAFxL39wl/y8XjZYIY3PTucfKMclPvXHt42gB+l8PM/RCuGTOekR80VLQ0tELMwuQT0zYdK88PeeA6a3onvD/3d8bz2nzGr/vHLx0ilsgxVokJGkdc1B/vE/KEziEWFtpR1lEPTBD08oIVbQbrD87T4jrbZryTyX0c/sKdGwKxAf254XWKbxo4jS4rBLjnLxH3ObIvkz/zMw2al6fZnyfUHJ+Hyz5H0/GXkfvNftyvn3nuL1LWv4fLCvlsmKxfXlKEB71Z4iL//gJ6/JjMEAg4Xnq0SDRgNG8O1iQirNAW0ACIDywQCJgguc/EB/yibSJIMJsxhuS4Qfj0zlnEDonimGSCsIN0cVls0o3T/HEMvAxZnAjG/awfv0f53a8/92ecPb/4yzr8Om5+Hz/ZOMCE3x4//vy5n2lj1Jv/dj/cz5Y/+9zTaz5n/ZA2HZmf+ImfSBNoqA+0Yiay0DFivI/xSfw1l6M5Xv/t8dM2mDGKyRhh7/fdn5/9Ppowwx9ODDznGe3fr9OF/jhm2Tx5PO4HPLOYgRX5+ed//ufULukgk0esRVvUaaBTyPhnc5z+vnj8zWdPr/mMPw6v14997GOJtJljQF6aMYVE6VDSAeU6mw/ipv17B9jbGfG4a84X6fLc7+Mve+3h4nx6BE52iU/vL55mEPCGxtkPHnOdbdi8XAhzhMRyz7lHb5GGv1Jjz8bHi+Mvh6fF2V9Cz0s2TEr4+B+eNzsP03yf383+s79dS2N8cKX0PE6EgQsaN8lCqBAxSxSYzEL5v/VbvzWVhfhICwHGgVkLzQIi/eu//utkOoO8wYJwCDkm7iBk6Ykz2QmTHGQMeTs+np/msp0OAw/jZV+urMQPHj5Wh1/35+GoZ7Q6r2e/nz37NXhlNQ1IgrIQh+e9OX7aRtY06/nO+iN+T6P57PH6ff/t9Ub6aKAc5A+sIRQmpzChBmsI9z0c6XIQn+chPdQfTwNNlvghZifR5fy6f2YiYzbN+s3Gz7X7pT7A2i0hzf7ISzNm/MZSAt5MgENLzeYHzdTj9/j8N/H5Pa6zjvvLPfN7pMHEIMZwmRiEPPB262Gd8BjjzFq+sun4NWGoL8pxOtlDe6FNeRk9Py5jlntvPI04n0QgJhYdb+DeWM90Pgnd8leExyFQeJHppSMk3NFAOWi4vChoWfT03SFUaNyeD/x6nJhxvIG7f87+3O952OazP/dzc7gz3ee5h4HcMHMhWHBoiZAiZxx5ZVwTYkGY7dVYja9pRVi5kMAc++53vzuN33Af3BCWmM5Iy/1CQJApY0VomjgwBA+EMfnBpItZlSUHkGzWnQ4LFyL4d3y9nH7OxsU19z0cHaUt0lS8nj1fxOV+mGCC5uYkipADq2y+PG20IbD0sAhVypgdU8WvhyU/aEkIzOcq+EjT4yUu6pFykR554uA5RMaMc/DGD477lI82TFh++32PkzNpUM8QIhO3mJxH3gnHfdLKHtwnDWYT45+OGP6Wc8RNWDBjnN3bCn657/ngN1YQ7/jwG9xpp0zowSpCG6W8tEGcD7ukH2f5xzHIevd7nMGLoQdmS7MjGu3Y0/P8UlbaC7IEky3O68LP3IOE6WiCAQSKf94ld9n4uOem6uY2A94cWaz8Os4nFSfH4tkDRY54nJdFAOCyjpeARtvs3B8mTRo3M069cXKm4fJCoIkxIcAd44MQKz1E988LRM+fpR8IEI+bMKTd/BJ4XCudCdOcZ49zpfJ4Opzxy8sOAWKSxbm2xBnn6+foSOBYL8kkLF5kSIeykRYOEx2aDPeIm3EhpveTlvv1dJkxmx2DIj7iwfSLMGJGIj11FrsjfDxcSmiFP/hxR3rulsOC/HGAeTYcJmUEGHVHOK87riEhTKBZYoeEfH2h+ydtOg+f0dIh8HBHWsykpP7piGTjpm0QhmUedDSyjvwRlvwu50g36/DveHpYOkq/8zu/k2YqkxYH6eMgIOKGsHCkRTuFiOgI8nsl53li5ixtmrZBm/f4vYz8ps4hGczzzNDGeXjyyZF1lIF7+GUGOR0Mj48yE6dj5u2T8OSXsK7x44+DeoFAmRSHf0/bw2TLmX3G8+Uwdv/ETbysO2aZG1o+ztu859nxpo1hZUFmeN78TIcADP39Ix5kD0vA6Fx6XOSH+KkfyoN/x48z5SdP3jnmXnOZiDvcSQTSZgsAFcfZY0Cj4kVAYPCSsu4K0w8NkPtg6Q5hjsP0BfHQ6JnwgFCl0aOFMc7hmhnxMHkAwQuh0ivlGiFJeAQKLwcvAunQ06YHzRdj3K1Ul55v4qMXysw9HPd5ucgDG1Ij7Mk35cFRJgQ+LyOCifjxT0+XtbJoCWgVhEczQWNAa2I9HWRA/JihIEY0MuLmHkKYsjIWhFaDH+KlnKx75AUnPPFSbuKlM/LOd74zEQZxkBfyB24sqWFslGUwnn+vj+UwITzPERjkbcuWLUmAQtLkDdKCvLxuPS3CYX5DO2TcjPwxQQMyId+kTd4RVMyohACYKIIJ24mdOCFclsZQbjSKvSIfygiWdCzoGBAnYbwtMJELAqb+0WSpF9oWWi5x0CFjViiO+CFd2kvWUWY0P9YXM4nLCZtyfEYETnjqAYeVBL8IXOqF+7Rf8kpnB3xoe+SRZ3SqfuVXfiUtqyCe7DvRXAeEgfiZoEe9kTbvB2EgMt4v2gf4ge93f/d3n9AQKQMHHVH8gi31giMdnGNG+6JOHDPaMfeoOzBjSII6hyBpZ7wDlJX80YmgE8w9rCCEpZPmGNM5BDfi8LJ6u+K9oFx0FCgXjt8QGmUmLTaCoBNBnLRDyBDS5+AdhdBw+GGogjJAukxIJE7aGO8U681ZD8r7Sb7JA2UmLeqJsJSPuqPNYCXi/aWdMZbKc3ADj9/6rd9K9Uu7AWPiaq67+H2SL2JiUWqi5/bHX1YEAEKIhu3On/HbSYh1gjRoCBdBgx/OkAxCj0aP42VEoDGLFU3OF9AjkFlkz0uAkMo2bOKlQROnHymy0/whDGl6/vDq14wvNms0PEewQ/ZePl42hNSP//iPp3IxlgQO3Idc3ve+96UXkzLhEFIs+IeYEAKUhWec2bCfuP3lBxP2SsUv2iXCgs4EAv1Hf/RHT8Tr5SYe4me2L8SCcPB8+jllYpk/PL/tttuSQANv8s46QTBnXLW5bsGJMOQXTHD8Ju8IS+5B5mgA5A/3Hd/xHWnc1svHmfi5Tz2DB+kg8GgrCDRIi9840qTOmVQFgdKOeMZB2iy1goiZzexpEg5BCyb4wfmZa9KD/Fy4gyHpvuc970kdBDR6NksHVzol/GYyEeGIhzyRV4ieaw7aNG2CDhHlw+E3m266efwPeSVdykS9oslT3+DHM3ACT9JnCQ/tEv888zhJjw4Jzu/x3PPDhDV/9xwz/IIZYVlOArY4zkxoo+PCzkKUlbhod9/1Xd+VzMNosHQq3IG7p8s9rv038ZBvHPkhLtqmv1+0VdoRuLGenHD4cUd+6CAwkY52CR5f8zVfkzCB2MHJ805doamSjqfPNZ9uBEP8U4dgQPq0VSxJkDDvIM7zCHl6xyobn+crzqcikJPQW97Wc6q/+LUCAt7oveFmvfHMXwxeFAiGniD3ecG4h1DAuV+uXTgyKYJGfDq/p0ufuJZzpwuTzUc27HJhKJsLYfJKWcg7+cVRXsJ5nDzD4RcBwm9eVgSB45A86A/PKDt+iQeh7PFmBanjSxrs2IJ2QY/c0/b4TnemHogHgUJeSNvLSzieNTt/7un72euUfOMHgUV8TqDZcNwnHG2C5+7XscCvx8s9sCZ/YMfBc3BB2GPio/xsXAEZUn4XsMTR7Dwf3Pfn3CP/xA32jgPxeLpghKMuyA/+OLJ5TR70x+P13yud8edpgQNpUF7uIeDJE2nwjHxk4/VyZO+RDvfPhBkaGVouE6PQLMHM80Ee/LeTHvERr5fX02lOO1tOx8XvZfPbfN3sNxu/p4Efb2O0G5y3m+XamPunLC57mt+55nT5jfM004/4syICDam24uN4sBICNLDmxtfs1xuhCwAav/eaafBoV8TRHA8Nnnu8HJzd73JC0dNoTvt0v08Xxp9xJm13ft9/c+a5lwFhx2/8kX/OzfnlPg6/LpgomwsnT4+wxEt47xE3x+uCDEzxh5kX07Zv3Yd/jy8lepo/nj75IpwfpwmS/Phz/OOWq2fuOUaOj4fzenbslvNL3Ah2NFvIDe0P0uTAeRkxe6JZoTlSHpznK/1o+pN9xjXxkD6HEwnXOOqIg/vEj1sur9zPxsvvs3GkTZ4JS116u+f3Sul4vMulxz3yismdeNHGlsMMUzpmW0yljpmf8U8Hhbi8PTvWfiYPnj7n5vv89ufN+V3ufvO95eIHD+qCdk++cafDKOs/K3soJ/nzPGbzv1w+UkLxZ1kEVh75X9Z73HQEsi+M31vpjF+EAw2axusvKveWi8fvOcEQL35fTOd5OFOaXgbPK2cvb3NY7nO435VwyIZ3vJrjdTwZ08G8xpgxpmjMa4Q5F7xID0ca1NFqnecbIeT55toxao43my7+T+eXMU9MjJg8EerklTNjt5h32VAegoU8iMfjbk5zud/ulzOHC173m73v5cLPSuXycOdyJg2vM28fnHGrTQczLB+KwETsmJF/TLKMcYIbBAshOWZe1mwePG+cV3LNz5p/N4c70/OV/BMOPMiv18Xp2o37P5PsOdf8NOfv5fw7zLkv59q/QMvuQgPByCbiTO6APL/ne74nja8hXC4moUB5IUfKyUQutEG0EDRTJt8gVFmWwVjyxVb21TbRLGZ8XQVzbTNmjJcyJhmYrRblCAcCOZmanj1gEtgEAhcAAhAlMyDRRFkTmDVlXgDZP+csMgbJRBNmbTJmR/kZm8SMi0mYTkW4UxEAM7R12gljgnQ4GCJgMlNgdipW8Wt1CASJrg63CHWeIICGBplgfuO4mDTQZojRrjA9cmQdmhTmuou57Nnynst1YHYuaIXf1SCQk0koNNHVIBdhzgsEEJLuXg4kki2vl5vzy6Hs2fKey3Vgdi5ohd9zRSBm554rYuH/vELg5UYeL7fyPh+NLTB7PlCMOFZC4MWd8rlSLuJ+IBAIBAKBQCBwASIQOxZdgJUWWQ4EAoFAIBA4PxAITfT8qIfIRSAQCAQCgcAFiEBoohdgpUWWA4FAIBAIBM4PBEITPT/qIXIRCAQCgUAgcAEiECR6AVZaZDkQCAQCgUDg/EAgzLnnRz1ELgKBQCAQCAQuQASCRC/ASossBwKBQCAQCJwfCIQ59/yoh8hFIBAIBAKBwAWIQJDoBVhpkeVAIBAIBAKB8wOBMOeeH/UQuQgEAoFAIBC4ABEIEr0AKy2yHAgEAoFAIHB+IBDm3POjHiIXgUAgEAgEAhcgAqGJXoCVFlkOBAKBQCAQOD8QCE30/KiHyEUgEAgEAoHABYhAaKIXYKVFlgOBQCAQCATODwSCRM+PeohcBAKBQCAQCFyACIQ59wKstMhyIBAIBAKBwPmBQGii50c9RC4CgUAgEAgELkAEQhO9ACstshwIBAKBQCBwfiAQmuj5UQ+Ri0AgEAgEAoELEIEg0Quw0iLLgUAgEAgEAucHAkGi50c9RC5ehgjU6/VTSp3L5U75fbY/muNpDrfaeJvjid+BQCDwbASCRJ+NSdwJBF4wBLKEl72G6Pz32ZCe++WcvW7OuMe10rnZf/wOBAKBc0OgeG7ew3cgEAisBoEs0fl1Nh7uOdH5/ebf3PewnDlqtVo6+28/45fwHkc+nz/x2+/7Mz8TJlwgEAicGwKhiZ4bXuE7EDhnBCA2HISHc6Ljdi7HswbZObklTyv88bDE5Ue1WrVqld/VE6RKcI+vUCgYJJo9eNZMrCskGbcDgUDgNAgEiZ4GnHgUCDxXBJz0OLvW2CA/yLOhfeZykFxdR+EE8S2nHXpckCZxVCqVdJTLZVta4qgcJ9IGaRMHBOpHsVg0P/yeE6sTLuVdLu3nikOEDwQuVgSCRC/Wmo1yveQIOOm5xujEx7leRytlIlHBii1HLV8fsEK9XUTa0BCbM5+NCxJdWloyyHNxcdEWFhZ0LlmpXLKKiBStlKgLWgVeFIkWW1qspaijtdVajx8t3NMBmUKszWQaRNpcA/E7EFgegSDR5XGJu4HAc0LANU8nUCe+hukVjRFtscU6up4S6XVbrbrGci0V3SukdF0zdDLz+DweyHN+ft5mZ2dtRsfs7IwtLsyLWEtScCsi6ZyVK9JwCy2JODva26y7q806Otqtvb3d2toaZ0g1S6hBps+p2iPwyxCBmFj0Mqz0KPILh4BrjJwhPEgUrdGPSmXJqpWaVWsF6x98zHL5RSvNXyGig1jRCE/NG/HgnIwx4aKBzs8v2MzMtI1PzNrS7E7bMvQVy/ehgC7Jb1Ua6ZDS6LKZ+YJNL7TZwkyHHZzstta2buvr7bKurg7r7OwUoXYmYnUNFa0U7bSZTMmDEzrX4QKBQKCBQGii0RICgecBASc7zk54rjWWSqVEfGiJS0siuErd1m7YY22d+23i2BusmK9avYUlLoUTk44gLI+T7BEnBAoZY75F85yamrKjR47ZcPEeG+oZtXquQybcuh0dz1l3x4D1dCyISBtm44nZqu0f7bCJuV47cKDP2jt7bKCvx3p6ukSmXSLSjnS0tbUlzXQ5MiU/Lwciddz97M0jW/bstT+P88sTgVWRaLZxZV/2aFgvz0b0cil1tt1nr7383OPIEh5mV0i0VFrUuOWSNMQlu2Tzfusf2GtHD99qi/Ot1tWN9niSQD0Of5+ID0KGRIkrmXFnZmxsfMpKk09Zy7p9VrONMglL661U7eCRml15aUHm3LzV6lraoglMRyfmrKerxQZ6xm1qbtqOTXXZwYP91tbeb2uGuq1X2mmDTNFMO2TubZBpdgIS+fHDy3yxnL0+vQ4pV/bay+110ny+WHCIcpw7AmdNojQoGo6berj2hsc1Lzq9ZG9c556VCBEInD8IeNv2MznLXmdz6vc5O9nxLkCgjWPe5mbL0goXbduVh2zN2iM2Ob7Rxo8NikAZB23JRpfS8feLOJ2UMeM2tNBZm5iatrmpI1YsP2D5oiYk5Woa/6zbkXGNlS62WntbIYVrKRbs2Pis7i/Y1ssGlL+a9XVXrbdz2ubLkzZdbpdmut46Ovtt7Zoe6+7pfpZm6lpp9t0nwxfLuw7G2QO8HXfKyTXmbcrbfObZxYIDZQ137gickUS9ATFmQuOam5tLkxmmp6dT4+IF4+UeHBy0devWJSI992xEiEDg/ECA9o7j7Ef2d3p4/I/79ecQqJtwIc/GrNl5m55eVFwLds31Iza4ZsZKix126MA6JQIRcZzcCIE4nUCJl3fOifmEFipT7tjEjPVUd9pUZa+1d1yjMOQ3Z/tG5jQjt0tm3ZzCKW7FsevAMc3A7RMB5JIpGX+lslmXtNLrNi/a4aOj9tSuDbZ771obGOi34aEekXt3eq/RSpmIxPvvZOpEQj4vZALx+uMMzn6g8Xtden1QTi+/dyYuFhxoZ+FWj8CKE4u88WDW4eXdu3evHTlyJDWunp6eNG7CM14wGtWuXbvS8+3btyc/q89ShAwEXjwEsoI0e41A5bcf/pucuT/PJb95niU7CHRhYU7jlovSEGfthpuOWl9/yeq1nB0+tMZmpzttcAjLzsnlJcSXJSVPO0vM8/NzNjk1a5W5I9bd+ojtKckM2w4Jm80tVGz3yKzdesVm5VHzfLXGZWp20XYePGo3X7tBaTc6CAj/Y+OTtmVwTuE6bf3wrIhzhx08fMye2r3Rdu1Za2uH+6y/f1ETkFwzbczmhUicTJxE/ex4nO9nrz/HN1t3WBBQCjiDe9rAQrC1qNzMYs5OwAIHsHSXrTu/F+eLH4FnaaI0LBoDDYYeGeR46NAhTUDosW3btmnspDe9RDQeb4T437Jliz388MP26KOP2g033JAaYjSqi78BXWgldAFKvr39Zq8RqNmjIUhPNe81ytwgJK7df0XjkaXSko6FdIzLhNrWNmM33TImMymzb3OaUdtuB/cPiJzyIrmWE4TkWk0j7kbeiNcnE7kWOqflLGMT07a+ZafNlw5bLT9sXe0NjfDI2KJNzFStT0tZRP9J89x76JgtLtWtq6MtTTIqFHIaU63YscmjdutAu8ZR61apMhvXbNMl09bRdsAOjay3HfuvsqnpYVu3dlHvMhOjulNeLnSt1OsfbLnOYgx5ugl+SdfzC1p3W61Ye6tM41p61NXZ0Mp9zJjwTqTIOj+8DuP88kCg6I2JBsCLDHlyD+KEQLtl1rnxxhsTiXqDo7FlHY2JsPi75557NGHhoG3cuDGINAtSXL/oCLjAJGG/5tx87e8AhJk93KzXeI7Q9W37iJE5ASLQqkykIqIG2Zb17swnQTw+vqQlLDN2y21TGmPkuSb5aOnJnp1DErZYcBrrM7HicGQ7nJ5H4iQPvG9otnNzszY+OWu2OGJDA4/ZfYc7rac7b60tBU0oqtuugzMS+Gyo0KIxUpGlJjI9susZG+pbkzZdYKYuY6Q7nzlqPX3SMjt7pXHVlHY95WH33lnrbBuzG645ZOuGD9jjO2+w3Xs2SStdtMEByLRHZelMh088chLh/U+oHCeT9OM8++O4cqZOs/hCnkzYAme0/dHx6TRr+vbremxoqM++/MikHZyYStfUB3KRONBMkZneCQoiPc8q/UXITpFGgKNh0dvFZLtv377UKK677ro01smLTONaqYFwnwaFv2uvvdYeeeQRW7NmzYl400X8CQReYARow+78mvPpDhemLlBpw5jy0jmt6Wys9SyXJXg1xsggI+OMTOIpFKqa3VrSsSBBOieSWdL4Z9HGx1ttYLBkN4tA8/mKTU1qaYu0uYMHN9nMtJaWDCB4G8IXEnICJZ/kB+fvk09Q8o0VxiTIN7fvEGlO2yFptbdvKIhE8zY6UbJ9R+e01EXLV1oxM+bswJEJOzh6yO7cvg07cbo3O1+2x3Ydsm95Ry+3lE5dk5DyNnJ00fYfOGR33NJii6UeG+ybsDtv/rztH7ncvrrjWpuUVrpxPRopxLuUiBSNDAKhDD5O6DLCy5QK8xL/ybYFcHVsqWPX8MEX8pwQvoePjtvWja32qlvWaxlQi9W1HeMdN623//rUE3ZQVoZ1a9ekODxeitfcmXiJixzJv4gIFJ944omUXKOnO5emt2O2hQRpJM3k6S95cx55aeihYfbt6+uz/fv329atW1MjpZeWbXDNYeN3IPBcEMi2La6bD9os91yAcm5ojif3n3XypA2zD2253JhcssS5VtJ4ZsU6NJO2rW1RuwwxVjiv6wXFK5Kc6rDRoz2NY1Tm1P59avsauxwra0kLS1yKmgF7pYh5nTqlbdJeTi4f4b3x/IKBv1/kD7JyIT/LkhZNJiqUD9ravsdtx7FOK1eXrLcbLUgTig5rBrA0z83D7dYizbakfD++56CEe5uWtnQleNFOn9x1VBsulGz9unblp6bnaKxV+9yXDtmt2+vSVJl0pI5EpV3PFm3j8IhdOnSdPbpz0nbsnrMN64ZsaLAvvevkz02bkEgzkTihUr6X0jm+nB3XbOcEE/mstPxDI6O2VJq11946bNddNazyFISRrAFlNPE+e8trr7B//vjD6kxVRaSNzo6Xi7jpUHD2cvuzOF/cCBRpVFT++vXrEwFirqEhIExwNAgc907n/DmN87LLLrPHHnvMLrnkkhTen50ufDwLBE6HQLYN+fVyZ+5lSZP23XxAmNzjnCVP2nyZMU3OZZn1FsdETIds85Z91jfUoXdkSGObMstKI52ebrd9z/Rqlm2PNjxo1YxbWWPqkzY296DduWnUqkvX6J2pyATba888c4Xeg0FN1GFiyrMJ1PPrhOokT35cA53RjNzxiQm7im0C62U7ONVqbdKG+3tabEEkuHdkXiZb09IV1ngWbc+BMdt7ZETjowP63ZZm645PztkDjx+yu27XZKEOzMtoUDm79/5jIvsZaZrSMmUWRtduba1JIxPJ1u+wa7cN2vBAydbuXLQHnj6iscKyrVvTmHzjWJIG2Lt52s273HMZcrr6faGekb63Ceoc+QSuKAdsmTgv8hybmLQDGjvevK5gr3nDVk206hYOLNmrpg4KHwdY0A5Rl2wcsq9/w7Ui0kfS/Zw6L1nC5JqOhLuXstyehzi/8AgUMdl6I+PlpYFlGz7X5+J4qRgv4Dh8+LBdeumlKc5oUOeCYvh1BLz9cW6+9nucnYg4OwllSRLhyZZ7fOmkcb9xjdaZJgMtalKJTHWL5Qkdh2yuvMtKS/fZ9mtzMs0OprHIicmrrK3lVmmcwyLQVpufRYiWtHXftNVyIzZb+ZLGOndonPKNMvfKnHpgjQj0Ut3rknWmMZEIksGRR/LB2QmH+14W15TS3rjTU3ZkdMo6KvtsXfcO2zeh7fykLbbLjNsnTfTI2IKNTpekReY1U1cTiDRG++QzI7ZULWvSUbcmC7E8Tfd2H9Y2gCXbunnwODnkbOfuSfv8PYftXW/rSoRaKtVFunk7OjqveRHX22tv22BlYVfTspjbru8Vmc7YZ+57xvbsX2cb1opIJS/IK51vtNLzaSmMtw9vD+TzhGavTsmMlukdOjwmgpyy1902ZDdduz6NGZfKVdWrTPYiSRybVWj6VWonV2xdZ2974zX27594PHUYkGvZ8VD8Z4mU3+EubgSK9MjcZYmOBrga50KAiUU7d+60DRs2pGhWG99q8hBhLmwEvK1wbj4QiNzj3Hy4xnmSPNEoG5pH0jLTtX6LMBu/mY2p3YSWpq2aG7VybZ9Vak/aUm1Ey0E67bYbt9rGDUVpLEUbPbbdDjyzXhsktErAzoloZkSeCFeZdFt2S3J+XtrLoG1bt9UKxYo98USP7d49JPJEO6EcJ+cNIMjJK3lIApjqkjD2svozJrsg6MfGJ7Q5w6jdvObJVLGHphpjmX2djEXmbe+h6XSfvYmG+rptTBrnzkMjIlnthtTRpTHPFhs5NmVP7Dlml21ot+E1jGPm7fCRefvkZw9pVm5RWmhRpF4XCZo03prd/8igvekVV6WZqSV1PJiwdPDIlM1M7rbXXrNoTx6Ysx0HLrE1GvsdTuZvkak6BZ3HidTHSimfk0yjmA1iShl+Af84lpy9PYAn69xnZBqfnJy0/Vr6s7a/Zm977VaZqXvSnsZltE8YFNdQyhOhVjVLF4ep+7qrL1OHa8n+93O7EmGyTKl5TNjLnJWpKYL4c9EhcNL2oKLR4J4Ph3BgXJSGdPSoGuratam3Gg3q+UD34ovD2132zHUzYUIu3EMoOmFmzy4s0TicJEsizAUJz9Ki1m2WpmyxMmq1rkktDZFmWpCmNrhoS1N7bWp8tz4Zpkk++bUin822/ZpW6+nM2aNfabenHx+20ZEeTSASmfSO6WsrOZtdyllb66R19j5uueIh5Wu9yKqoWa01e+zRtZqF22rr1mtMtNoiDaaseBvb+i1JG/axQ96HxjuB0Na7p/81zQCuahwO7S+ZctGWjk5Yd+VJG2Sv3fkuG5uXPVn+Bno7JMyrmlC0YK0yy7LzUavMiU/vO2wLGsdrE1H2doscpJk+tlPatcy+11/daQMyK8/NVdI46Oh42b7uDdo3V2tNlbqWtRTsM/fm7MbLr7ONa/tEjFURaIvtkGb72BMP2k1bWeLWats3H9Ekpnl77OBGe2ZhUbsdafauOgdlWaAaG9trbDYz6QiS8ff/ZLlfmLZM2/GD9uEa6CwEKq1+bGxCE4gm7K6b+mz71UOamKUNY0SeIJi0z6wY1HXKt8afaXt0WrBm3HrjNrWpit37lRGVs0GiXkb8U8eckYHhLm4EnrVO9PkorgtAxkSfeeYZGx4eft4I+vnIX8Tx0iNAG8Flz95u/IzQQgg6aSIMuW6cZY7VtRNnOku4LUnbLHFIw1xYnBPJTGqd5BFpmQc1lrhLgnC/tfZ1Wb5Hi+etzdav7TQt7LLp0Sts7IDIVoSwXpNzRka67Z++0mtP68snHSKdjTeKuLvNZjXwWBdh1bUsZOjoMWs3mVFza6XN1m3TxiVprNvsgS93qc3P2sKsyigFpi4iWhLBLIhUGhqL1mWmXYowFTYINKFxvONAWcrS7iDRiel5s4V9IvSHrFTpsqMyIZfZqF6E19VetJFRjd3K/Fgs1Gywu0/5qNjT+w9Zh8Ze0Z4GenukQU5q4tGYtUpj2nIZS2DydveXR2znnmmZZFvtUmnbaMtj43n70oMtGlddY9dfcWlSxPge6f2P7rDP3/d5e9sdV8g03ZYIp1Va7obBWZm+d9nu0ZK0ukVt2FC2/rSmtHyKeRcypdyNsp/cnYn6TwTFxfPkaDt+0H68QwWWaPWTk1OaQHTEXn19xW68+hLtSFFUO9IyH6Wf6qLRLJ+VG9kR1HaEM/WvNJhwdMdtl9vo5LTtOzSqDtXJsW7XQp1An+8yPitzceMlReAFIVFKhCYwNDSUlsugjUKkNOhoUC9pfb+kiSN8cNkz1wg7P2eJ0wmTdsPBR6dpVxAlB5OAGhonz2Wirei5ZsOWl6asUj+qY7/GKvdKOh6VJihtIbfGCrVNVtcylJwm1qzXjkGtGrssaaP2Qp9Ip9Rv+w4O2P2HBuwe+bGNRdu0LafxRo1H9nba0BotuueD14hbjTEu5rtsYnGjdVTnrLd93MoLQ3bPp9tFmtM2JU13jh2K6rPWok+RtUhYt0kbbZV2yIQUpHZNSoqURPnRcfwfmwrVUTSlvS7OL2pNqLbmG/iitWvcdVJLZY5NSgPWvyW0HB2HxkqNNaCKpLOtU2Q5YeOaLNMh4mrv6FFe89JC96dzhzZl2Lq503bsmrJ7Hzwsk3SLTLl5bUCflwnX7MsPd9n0XM3eftdVmrCkcde5RZHqV+0T937c3v3aV2n8tVOatZb1aCz2mPJyz+NTtvXStXbr5ZO2V7ODnzmyYNOzA7Z2SJ0RzdJngwbGSZs3aMhqbN4Wni+5QHzelrz9JAKd0XdXVY8HRsbssp6DduXmy9TJ0Q5spi/YaPIV5EjbwzU6NukydST4ncsxQQ2Tri8JxGPVbr11je3et1P4Teqj5yc/dA6B+tiok2kjxvh7sSHwgpGoN+bNmzenTRti3ejF1nTOvjwuKL1N+Bmh5YebZV3wNTQIjVeKNDGHYiosaQcZNMz5kj5GXRJRLenzXy2S/jlpqPWSSGnWpsf0ZZOZ3dbari3trEPCr08zUy+TQJM3fXIsp5mtdc207O7ptzF9Luypw212aLbNRrRpO/PRxyo9NiJy3LpGpmMR0JI+dJ3XxJPRcX3pRJsmtLQgpEVyIrCcNjmQImozVQ1dLLXYnq9qN6Jpxb3Z7ICOBZk7ZxXvnLTZouRz25LZtt6adQ40BP2cZvQ+IwKXUpqENUSaq7bKBNhjrRpDtXq7rREpTS68xXpr2v1oVtpsq8Yta6PWntO4nsb2FmSublW4mja3r2l9577RMetUtqrVkvX0r9X6z2k7oh2OKvpA9zXXtCft/VOfPyjNqailO2bXXsmYr9l9D/fY2NSSbd+6xS7ftFHjqjP2v1+4x77w1f+zt9/+artkuJdURKIyV2upyxceH7f1Wuoy3N+ltKSFr1sUPiO2R6blPfvmRcwsCyk1tg3UEhvGSpnBi1ZK/WeJ9Oxb0ul9ejujTXk78nHQ2Vl9Nm5s2grzu+3mW6R5t5DvimYfT+tbq7ImdAzJXN8hzBsduiyRkiokX5VJl7qnA8TzRc3gHpYl4/pr++wrj4xrdUOXtHyWMLWeonWTn+erk3B6BOLpS4HAC0aiFAYtYWBgIL04rBvdtGlT2s0lemYvRVW/eGm6MMueueZw0uTsxAlhIvSSlonGCWEeP5j4s6BF8CyEnyppLKtyzMZqB2yyvkdTerQWWdpVV6vMq/lWq8x32LQ0pOpSh4hWWliSeFLrchqTTMJRRjn5qxV6NDa6XsSoJR0iyk5NEGoX8XRKL1kSoRVktiuLGGpSCesi0JxMpXP6pNjkbN6GB1ETkaLaqUhbwbUqDUyh49UuO6ZZsO3rajbTr6+pDGvrTMXRonl7XdI8Fdy0Db3N6ePb7DCU0xaAssImMk4TdolTJJUTKdY7pB1Lk8GEuKOl0+6WhswzqZ5av91rncrXgMY8h/KTVhwqSC+tiaAX7Jn5ScU3mrTQlsqMJlBp287DWhcK/Yn81vTn7IGHjmhNpNg8V7QrtzRm4t79YLe2CzQbFAm8Yvu12kN31P71k5+03Yeftldccatt3zYs/3Vt3jBv9z01ZXuPaYMJmbS3bx1SB0XvuUzZRcW3pg8z54hNaux1XHsGT8/MaeJRn8ZgNbZ6fKx0pRm8tI3nQjTevjj7OKgTaPp4uXYgmh7X8p7Ne21o7evVDmFDFUvWgRZ1rCrzh9VuBqy9q1dlYvkPWulJKlV1qwoqqQ2Tz9SO1e3i+sbt6+yxx59MGzXQUeBw0zVpIO9C5oHExeleUBKlQSMcr7jiCnvwwQeTeZdeGo38ubwwF2dVXNiloq5x2TPXHAgcztQ717QJ1xQaGmdjtuyivrlZxowJcWpsck7aw+z8hM2I6Ea1QcDR8iesVN8pIdchod0nAttk1bJ25+GD1pJ5C8e07Z42NihKW0uDkSKPhmYhzSzfbtVWDWrKFDmb0/plsdrQ0rzVZKJkY3aJ8LSMY0n3K7ouIDUXZmValUlVly2i29H5bq27LEtInog9lZl1o629OetRHmamFVa7G7WJWMQ7Mteq7CJnqylf0oQr2uUoJ60Q7bNclpAWgecZYyUmEV1NZup8myaw5MTqwqyrpg1M9DC9LwXoUHgWtaxF46J75aW9v0OziRVWEU5OHrZ+LTXpUoYHK+rAzmonJW0SUSi1yxxds13H5q0sIAd8AABAAElEQVSkzevbZMKuSasaHuy2R5/q1Sb1TIxZtNuvu0Wa65j90yf+Q+OsC7ZpeLO96jqWuNTsoacn7KE9c6m87fpy22ZNOurXxCY00zbtLVvSxJy7H8IC0Geve+VmEbV2P9Ms38OT7EFb1taBvqF7oy2kiI7/oWzPRR54O/O25m0qTczSUpZpfTbu8OiEXdv7oF22aavaS5fqtTG0JIiVNqZX1VJlzOb1xZ32rqGGxqyKTfWiDg75q4tEacNMJKrWFF51WakI68FOu+XmIbv7nklNqOyR+frkUh/Ik7C0++dSxixecX1+IZD2zn0hs0SDZkxk69ataYP6V7ziFUmg0uDDXfgIZOvRhZmTJmcOBA9HM3GibbK5eVpmcpw45/Xlk+mZUZteOGpS/KzcqZnd3b020yWTm11txZK+iVk7JMmX6EQapeyp0iaWFqXlaZJNLi0nEa5okSLEakH6pcYK6y1t0ga0DrrWZYuFfutrGRdJVm2+KILTrNqc2iNNEtNkDlKTqa+2qKUjjF/qQU6kVNI3Osc1VrphjcbGJHjrMk1KMiZBm9czGQNthnypzOROA7INIcxSGCWDTbdMvvgn4iuJROto0fwjntTJEIWj9ZCsCKqqtCWuUx4KLR1WkEDPK3CHNnLokiAvavavgic3MK/PE6o8NZX1aKHDxkXkre16KHWxJCIs5bSpyhaZMWeXrK86b3uPqsNQFoFo/HbdwEYbOTJqn33g01orqV2OOnrtlVdvkIZasU8/fMTGZjV6qPWjwLGkfYC3bpSFSeOI7MfLxKUvPPi0PbF3l73/e74nbUbR1dlma6vjVqgctun65bbvQEkTmKgTGP+ko808V9OutztvY1g0GuOgEKgmEh2btPXFp+yKSzS2PXC56vo4OSobCWudWYKUtMe6JqPNSDNtH9KYcqeQV93QMHTFN1trIlLZGFTukshY99XG0Gq3X79OH99g1u90mlRVKjVM106iEGiQ6Ml6v5iuTlni8kIUjIZDo2bdKN8gZV/dm2++OU0Ueb56Z41GfubcRyM+M0Zn4yOLtwswzk6apyNO2kLWVLuIxilT7azMplNzh2xmYb8tigTqvZdbvnu9DKZav9gu86MIK5fvtpx20qlXRIxLeyXXZq1U7Uga5II2fK9puUdBgq1ak3CXybbW1iFS0UQQSX54CZKaLWwQmSISISuZYzV5pyzNBM0QWZnkpZ7WFjVQKEHJ7E0VLBGdlFgbW2yxAZlJW7WTXi2N7ylilEYRVatYVN/H1gQn4hce2pw+sY40UNOYaV4kWpHWjCVRUWlNqnxpZii+cZAmWitEk2MGLpmR1pgEvS5VMJGvQuoehahASLqX04AvZVsS0aOVk3a7fndq7DenyUOEzytRBHpdk1/qQ+12bEHLXGZ3WmdR3xqtyvQ9WbVHRw9Iq2THspxtlAn2mZGqfWXvpMhFOyFpIhba+qy0yqsuHbINwz2qs7J99an9dvfDT+uj3/vtrXe9RebbXhUnl5aQPHLPv9jA0Ba7843b7eGnZXw/NGab1OHxdZVOnm7qPNf3s7nteSfNzbizM9NpHLRFm2dcd+mnrXPwHdryUO0FIkygJtjTH34CN22iRR2RyuIRm6v0a9JRv/Lb2LaUjfprdK7kT90hGTWEta7ZPrFPWvlttw3bF780qXW4jQ0oIHXeBfLZnN7JlOPqQkfgBTXnZsGhYV911VVpO0BMu3wujdlraKq4c2lkSbgcj5xw/jJ6HM3P8co9b9T8dr9chzs7BBzX7Pl0xLncGGdaeiLiROOcmdPi/QW0zn22sLRbpLfRCoPbrdC9UUShTQ1kTtP8W02mEVHk9XWhopajVCb0iDXI14joDlhFM29L823JlMtG4WV9kLqqSSyaOaI6Vj0jGRGOGveay623clFfIqmPp/qHFFowLWvCUr1bs2r5h4aptZz1pIXCrMIGAYv5TqSlubDSzrQetEsCVQnUpbmaCAaylAJr7bK9zkkrRrjWIVGcZnHi8i1acnG8HdYlrMsi+6QVkYYcS2Hq2IZ1Jv8QJObnFJloN69JKwhypH3yJ80oFZIMEi6lI5JsRCdzo/KnfPGbfC7B9ioHGlViAvwVyzZbH9Ns4Elbt7FLSWsIRq/kyOKUTUzNiFQ1OasuzUtmS+lh1q2vz1y9eU3SPj9592Pa6OGAZvL2W7+sBddeuUWm7lbt5rTPdj/6catradHEMW3Mv/h2e9VNg/bwU9O2X2bVosqGSTS7XpZ3mLZ0tu8lbdAP3msO2htyZkYzcadZD6pvpk6MH7PXXna/dlDboDXBW4QUtby8axCpnuqC7RBr1Qmbk3m3TeZdlrDkMceLgCsyBashKi7hKeiZJc2s5auuXGM7dsiSMjufPmoOqTORinLhKNvZlm/5HMbd8xGBF9ycmy00Gghfedm5c6fde++96bq/vz81MhoczgV0NpxfeyOk5+q9V14etkbjBeLMS5TMMqgbcsTLy8p3UNmKENMy9wgXDdqRPfPZ68UFV5Y8wZODDhFHw0z7bI2TyUGzC5rgMX/UZkpHRZz7xRO7pV2KONe8yYo9l0qrkhYKIUjYo2gtdOoPs1cQf1L/6pqoA/HkJIjbOrdqTLTLxg/vlIlRmwpoYowqHxmYiKYhLdHMRMY1TTZqW6trxhsb+0IjTvNokNKuStLY1Kh0SAOc0ywbmUuVyHFgFKE0EMZOWRKDNtqnMF2QFFJU6y5Tmrrs6FF6GkZVMvKva7QV7XHLGsO8xmrh1Zruya4rgazQ3KCgigltknMKrGdSCPVTZ4Vl3A6tuC7zNeSoCPVbfjkrm3XhXl9SZ4BJS2ij0o6KioMJUpin4d5FmY+ruqciou9Ke0bLlvaek7ZeFLZ10aye0SEoVxdszYZFFVujwYsaT9ZRkfa6oXfAnnjqkH3uoUdVtrqtHVyjSUSH7borbtauR2tsz66dtvORv9OyG2220H6Zzc/st7Fjx7R14pDdcGWnNn+o6JNis3oPT66r5D2kXfFO+zvpZ+XmFJdth94Gve35RzQgUHYkOnhkzG7ULk/D3fdbS+/3J/MsmuRKcZOQP1N2hBMTx7RcZ1aTjtow73aoK6OOUGVRFgdhqmrAnF3VTk91zbJuk0G/r0u7Q40v6n1oTJZDziCPcJTP859uxJ+LAoEXTRN1tBCwTDSCPB9//PFEbJh6ITnXKJsbmjc+XhonTbbumtJ4By8O/pn1x0EcEKWv0eI5gp3vozJOQjrMEmZXFYjXXxrPX5xPRcDrgjOHCy7qwckTHDmoWyYHYaJtaJx8m1GL3GWqnVk4ZjOL2kmnelTjfBprlPaTL15lxYFv18YHl0jjkvYogc6ED8gjr7GmksbqyggriApW0kxVMW7jWgSV1/N68UqZaK+0QueD+i1/cFAiJcI0HGOUc4WNmpWr5SNa+lHAvHo8VryzdUFxTvvm9valPFh5VgJUhMVDuTReKS1PCMivCEbkOjatzQ56FVIaFSZU4iNAW7fWcY7LhFdWfhOzEoOuRTiQaVX30FoKdc0SFjEWyasKnMYKlc8UhOiOp52Kzg//rfWuUGAat4Vo2aaujbRVpnQ0vBaIF02WMWL9K6qzgJk7kb5iYELQkkzG+FY0aQMHJssUlM9aGktmCYh+y7RZ6J6Rpj5tbeVWOzA7IdPtuHZqUl0sFmxhTh2SWpttv2qbHXxmhwj0H7VUZEBlV1rqiFCU8WOHrHL5lbrO2SZtLziij5XPatITWmtejM476B1f7xz7e8nZ26CiSs7bobdB2h6d57TPcJILItDD47Ymv8OuHH5UnZZbrXd4i4rqIB6PaMVTw1/Du9YSC4Nq+ZisEH3CfUDxafGT8F1ckD+RZ1Hzn4tqL5SVbSYruseuU+TP3xfKwbWXa8Wk48EFh8CLTqIgRINn6cttt92Wvl/KrkY0ODRFzB+QINPEaXC8ILwcvDgQIr950SBMiJgvxuDfX0Liz7503mhpwAh5vpf60EMPJSKNzfFBa3nnGHLmcGHggouOiRNnCeJUnc5rfHFBC/Tn5vVpKU1ymZ4fFXGO2Lwml1Q1xxZtik0PinWNm3XfZbm+TdKaJIwhGUxkONV54hAJqYUOEUPSlngggaXxzbomzORq0hSlmNWqmiW5dLUIVObIwhVWm30mEWtSzfCP2JYZd97WatyzNwm+vIgGs5yTCTGjebVKk17QOszJGY0jVmZTPkmTnYWYzJNm61YWRILKvwhiXLOA15Rb0nISxviYxITQLUgrbWtXZ09rQHOabJSsr9Ic0xpVKbs4xjJr2uhdpU5Fr/PlFEyxRJD4EHOhpgDL5dDOxJtMZsmpg4i2ythpIlI6DToIVteSlzTQmjoSInv5KShdTI1YnPP6XRFpKrgEvupUQRmTTWArOpbrVHWzqAyjWWnKkjQrjV+KCGt1vk9KZrQJuz6Ptvk6LVlZ1KjgXF3rcss2XN+oSV177cjI52X27FeZhYViVOapMpHoHr17r9T73WmP75i0Zw7W7dKNsgzMsw9xQzvzXY14t3ln/UgY6Lc7b4u0Q2+DroEyBjqh9a0TE6NWmHlCskFWDtM+x/1vkBbJR7SX10K9rXsanMmH54VORk2zpBdnDmtjjlHrXLNZxocua9H4NDs6JQwVhniq4CwrQJZAeXeIK9zFicBLQqJAiQDmRUEL5TNsjenoEr4iTK45aJT4QeOBKAf1NQ2WyLjGSTzeWPGz3MuAH3dop1u2bEnpPfzwwymNK6+88kRe3N/L+ewYcvYDjP1wcy0dEoQXx7y0uDmNA83JVLtoR7VOcK82QzggktBO6Zpo05aTlpk0EymTtXmb7ui3aueQNgVomBAbfHdSUCbTo8aclrSfqxSj4w5NDs1Py1QYr9TmCtXK7ZLTgyKQfZaX9lNTYrXZpySwIGSRjgR5pd5mcy0y40I2IouCNmbIK4FTSFQ+1cysXesbr+jdqNmql8qPJphoa7uCzMYQEdbdI1pSM6vwVtYXUkTkR7Tv7GBhVEQhE7RIpzHDM6eNHEQ8mkiU6zw+cxZi04QnCCMvotLwYuJMSqyUUzgV5qQwVlvOMfMTh6dEtxLCCp8cmZWfhhlX5w6Vh/CwKeOqmjyUY1yVKDjLxMvEoiWZjis6Ej2DAZ0S+UHAV0R8SyIFISjC0DPuaeYvS3uIiCSlZGnDC93XTN+CitY5qLj61eGtatOHjqNW7LxM+Ms6IO0UmHIyaRZyAzY1er8sE+8QaRfsE1/Yq00g1hifdsNcCsHQpiBR3k86w94hdiLl7A7/tEXed9pgQ1Y0NpUf1VrQ+ekj1rP0iOI6JK0aM/Wl0kK3gnKCw9u3x8eZ+J0wAbyRJ3W+tPPTvPI5r7F7zQzTF3KK2jRC+R1VJ279HZpIxnI9FVR1ShzA3ZBHioOOkvLq79By6ZJ2uAsfgZeMRIGOhsWLgIMkMbGuW7fuRMPjvr9IXOM/+xJxD5d9yRp3lv9LWIQ+L+vtt99u999/f9rbF/Ouk/ryIS/+u/6Sc/bDsUYwNJNnQ3jJLDcnc+2CPh+WH7Faz15b0GL7eYSnWKco0ytkhVmvIC2gQ1rhbNt6m+3SxKD6YxK0ZWsvahIRE12SCGoIy5rywFhozrVQbiOhEFQtmkmqOqwuXaGfm3TzeOcJDVOf/arlrrbazNMiPm1aoH9zecy40qn0XDEqT5DCqQ4ZvVTSkhFtkze8brNYhUFGJZjS1R+WxmgtZXt9jVU1WzNX3ap1oBp/1zKcydplVpX2XVPZchK0eZF/XV9x6ah0aMN7NEGZO6Wd5GWWXtIkniUR6oK00MKSTJmUh3JpfLSBAQnilHO1VcqbfinvDRENmakjIbOr2Ck9U8LiWPmXmTrho3BMphKlp/wfj0KEotE8kTDaKOFTnYo4a4yZStWF4Esi0Z6EGoQN2av+1OlJGq5SY9JRSTOgVQkp33QsyH+rTMbFrh4rak+Imoi3tqQx1AWRCIQ6L01YewoeOXTYHnvmqN39lWN25y1a5ysWpn0taRz35LrKU4nUyTSrxWUJdEG7SS2os83Hyse0tKRl6YBmJD+sepyWxqh2Uh3Rvsd3NLTQ1ElpkJ2TJgDR1iHkRe2zvKCx8NlprUuePGqLc9Jm1Qy6NGGqr38gyabGEBGYHbbJkbutd/0rraOzS79pU6qPVBXUHZrrqQTq71ej0uLvxYTAS0qiWSBpyGfrmknzXBooYUmLF/Omm26y++67L31xBlMy95vjPts8XUj+mvHy35w5Gr3pRo/fTWaueUKefE5qTuQ5OT2uJSYymbV/WuOCE6YJnjLrSeZK1am3bZVslzlUmlCbBHS7yGUh329H24clkxFmRRHvDo3pac1jy6WSQRI6+oemtliQBnmKFioBlf6LjDo0U3RKHa3atdKGJNBkOms4eWDyTpuEWk4fxBaRlrVt3qLMi/KlmJWmpBuaqAs84sRVlQe2COxSG6hp4k5N+9smSahnkFBV45vlpV5rzanTUNXaQc0ULnZoH9427bU7ssly09K0RbTEj8bLuGv+sMZMpcelLQklUNcUD2o3o3GbGdCGB518TYa4IUokLwIXEiTdk2mnxMmD4mTCFb8FaSLlnGb6pudqx8nEq+UttF38Qqpooum3vGP+JSnGdrWXhUwDRCK0lR64wC/qXagLAMEqWszPulVTOasa30vTYlQvJZG9+lN6TzTBSuOw8qr60jiw8ALDAvnUPUzaRZmy69q4n1nBhUsusx2jX1IHq8Xe/MpeaaQjMrmWNIt1UZqdZrJ2deis3Z60i0OrtGjIqqGVNjRT1xK9bTaGEdiMY07WAG3vWB6zOzcfsM1rDmsfW7On9jCjeM46NCO3f+2ViotyKWf6z1hlGn7QJLcFDTnMTevD61MjMuVrprcsDG0d6613YLNdqu1Ku/UFHDRk0oUUG7scUceae1E7ZtMiUktEqq4HPQqhmbR4wevvUpZM5SHcRYjAizo797nih1Dwxvlc4iIeCBPT8OWXX55mC0Ooz0fczyVfL3RYyufOr73MnBuC4qS5zLXPRX1GbF5rDlnPOacJIVNT43ZU6wLL8x+2zg0izo3vtpErbtd+qcPWe1Sm3F0ix0futp4W7e7SJUGI+U2mvMPt6zV2KdMikloSLafF/4v5nSJSbZ4usxsEwCzWBS0fYewUUpJn+RXJSHhXpQFVFrWms3yjtbCBAjeT2D5eLtUrRFrQs1J5m01rX7002UgCUBEqKv0WQUMcKRgxS/bVtHlAR2evxjK1VAatosieu3qY8qgxrrLMtTJJK/WkUddEXI3Zw5oBi5YtTUxqpfIjutGzqtZP5uZlllQ8srWKVNWRWOqy/nnNEt8lja9z3nau1e4/WroDydZbNJ4p7dUKmnqcF4lryz7N5BH5Y5KWl7RpvdLkGtKUxph23NGEprq+2sKMXKHDUz1TR0MHiirVnaPsSVtNBRKGIhRdMrNWuVfZGxN7SEh6dBo/BSscS4a0SEO+lCfMvSJENNeG9kpa4mOVu0UEzExjjXA2wuk+HSJ+pZnAqufOnim75hKlXZ3SeOIR5bFTGnm/dkvqF5n2aSlKjzRdLWHSrF7eS76B2qZNMFq1G1Jj3BF8Gx08NuiY1NKTyekZu3LoiD4WfsAGurWpotrH9qv7baCvZPc9tMd6175a7aRD32Idk9VgRoQ5LrLUR7i18fzSoiY7lfem/LZ2XGN9Q5s1g/gOmeJFnCJywON9YJZtwzU6CFyndbyJSMdt+vA9Vl9/Z9JY2a84kaZwBPssgXJNZ8Dfu+ORxukiQOC80UTPhKULe/xBgt475bcTAOfU+25IQB4t67who13xpZkDBw7Y6OhoGnO92LRRL2v2zDVH80uOBprMfBqjAhsmC6UxT2mfsxrzZPu0iakD0sZ2Wk/+bpvb/n77n6+9w/atl5bUu9Ve19Vm3XabXT//lLXv2m1P/91hy09ojE5bzh0tbraStkNjNioakLuCdico1/fAkNad32TzrTI1apedvNitqu3xqpU2CbsO5YtDJtD9IiR1gOqXaN2mNKUkqRuyO5WJdsHnzEY18SdtpgCJqD1IpknZkgUimY4b6deY0COSQNC3d/Y02pVMnXAOYXAQRkWfIINYCnpWFMmWpBUSQ5rgI7MkS19SAgTA9FpSmozfals4CKug5SJ0HqrtmGUlSLXUpKKZrnltRagExJ262325Ji1piYo2kCjkF7UcRpPq8lIbRVB1TTpKSqtCCxkloXbuLIlglllc6nIicEg0p90eGAOlDBSDjgS4AEVJHYYKm/YqJiYSVUTIfCJNj5S+SFO/6WYkolWZK2kEFXJgHgPvF6ZvWQ+6lK7SaJdGSnXyHOLgOQfXgFTSDNa6JiF1duvLM3RY9GBJm1i0FUvWPzBmG9fhUdsGlro0GU07U833a7y0T+dum5rUutVau+JTHakMaeaw2sWUthQcap+2r73msG1eN6E6zWv5jtqC8s1Y5IZ1Lfba12zVcqpj9tAXP2aV0iFpykeV+IR8kL9+acqXWO/gW623f9i6NWM/zRRWvnknqsKz4U83Tji6BScdHbicTC7Fusy/h79k+Q13aXeo7tSJoXPh7xZnDuRSuIsTgfOaRF3wAz3jI40xiUZFYNKB8HA0UGbzIii4BxGcTaN1MmFyE0tgmLiUTbOR0oX918tIKfyFbj5nyfNZ2qcmDc2oxz+3eExk96R1DI/Yxs4dNtf7bvuvy3/Y9mv7uJ68TJUyx31OptVrNRv3zrZ77NB1623s/a0283fH7MiuTpta2yPTrurGJRFnCVQIATKaqz6iMbkFq6zRRK+ZbnECpKkNEKRdIGSxcrYcnbPWOQkjCdXKlHSkwUZkLp8QtCV9Hm1UH5xGi4INmS1ZlKaGkNf2BmoXiFo9SgSqiScyp7KmsU2zvcEqJ80yaRowg7S7ioRzXWZhTK+0qVaRFRvJExGExYQe8siYIo4NE9Iu9ikhEqtprE7jsQpCWZVFK0sDXdKm9q2KsyozcKc6B9WctF0J5Zr1WofGEwf0+bRS26zNdU1odrFmNmtMtcb4KkonPQe033SlawhUecIyzOYK8Ct0qzu6p7PGe6X2pmDMyGWtaCJbeWSGMzsrMZGJ5TdMLoLomLREEarqqDBhiu0QlxROtzSxCLJqZIWN6HEQR8IPXPRMr6I+V6cwKku3NqNgb1rqgPKTkQV91Hy+rMlb8tirsvV0lG1d5xFbWz+YVuZU1HlaLHVrzL1XM6Z1yGQ+OtGq2bdmr7h8zm69ckKfZtPkokqauqyIMbM24q8KiOHhNuuaO2b7dh+mEGoDa9VZ0mYQnYOJOHv6tBtRh2b1K33q298T6hHNv+EaZTv+I+X75LUKSTuoq2Mo7Xr2yN3WPnhbwpwn6Vk6n/rnbOTSqSHi1/mOwHlJot5z85l6NHDG4vguKV+DOXjwYJoQtGvXrqQp8a3SW265JR2YZ30NKOCfqdFCGiyVIV62JezSZ5vOloTPtnLJP87PXJOvM+UNf8/FuWDg7MRJ2TBRLUktoMPhh499Yipj8/f540tVpme1LVz7Htu8bb+0EwSwFqtUb7OPr/uA7a8P2dDeHpvX/rT5nCZyaLJMpXVEY1v7NUNSk2vW99i6712yA780aofunrWeNnV8NKkm4YDElwDOS3jWZVqcnh2yvVNP2tV3vMI6+jaIcNA0wUn+JSCLYyLQMYXBdKlTbVLrLLukcWF5k6wDy9IiBCrzqAgUMYjZlfIW2JRALo2Hym8VjQpTqcbKmBSCKZf1imgXBbQ+nUkc0luSGTYxArqa0miVNoqJFM1S05QaTNKIXs+VCOOrmFspn24QV4v8M6knUZDqoizy5HdyYqMukeiscMUarExoFyVpvZo527k0bJ3jA/paTdmm9Xm0WkGaqrTZ1K8QMdX0RRgmNNU0KxpVVQbkhE1BpJk0XoARQWiZo2Ycq+4ouxKpqkcCmamk2lRBRKZr/U/OP/idftBuZFavavP8isZc6R8IUmGCyV8meJEwy2jkLUUgqNNzwST/DQKF0Du1526zQ6sks3wpZ0yTj6a15rRbJtxudYY1JKqjpuGAGevtGdcmDsJbwwEz+krPoHaEumQNc8t6ZA7WN2BTPGipDU2VfTnI24w2w2Cv4TWXXWpjI9p0v33QegaG0/vNmk42sGBJTPadJI8JB/1J5xOUqDoVjowC8x6xwQKdiJqwzGv2tmmWeaE4ZkuTT6f6Q0P3983fPX/X/dyMR/y+cBE4b8ZEvTGjTTKYT2NjQwVMrSxH+djHPpbGLoF6+/btaVLQG9/4Rr20+USwn/vc5+z3fu/37DWveY29733vSxs6uIZ1uoZLuozBsG4Vkt62bVt6AU4X5myr28vknQHyiksvoiQO+cM9H2mliJr+kD5HeqGV1pJIEw2eBeHpzFdT+Ji17vHNznltf8daz8VFTX4pj2ox/h4Jot22+bIW6+qU2bXapuUKT9o9w/9qj7bcahtmpNt1FG1BWsbCYl6bus/Yn/XeqAL+rN1Z/lsbWvhdu2rQbPpNZv/27l67/Z2akcn8GH13LI/JVh/YLJU12WhsvR2Z10YHWp9Z0Z61+QGElbARCbAnbX5qwVqPSGqJ9BoSW3GwRlRfCcmtkelTsJY0U2dUH5SuS+iD8nG5riggUoKKTLQ+tCbNJafZunmEv3aeYdpMRzfmWrQzkR5kyUCpCLK6JJKVppG22jsuVovKF59Kq4lET7DKcdJNqabJ5uTguCk3zVRW3GmTCIVR/GVNiILEdFcKpdq7SAqhrik44kLdUx6rWqbD+tC8SCK30GXF6XXKa8qd6kSfN9vQo+14tYF/y7Q6AvNpiUpZZSxrjLVdadbSWlClozCLMtMuSmPuSDN7hZXMudqeWBlQedULaRFmieD1zrEOlrHjgnBTt0IEIU1VJtUlda5Y9lOgc5DYWFOx0ob0ypNuQTrillQuKd4aL8fwLGJTGVo10SgRrfzgqJvGH4VTmlQrZDqpDwJorpGIVISqNsL2gFXN9sU/y5I62yv6qPgRTfjhwwUy82sG9OJit8rTpfxpcU5NnTg6EpAwxC3i6+1W+TTZrKoZvAVtojG/gOWg8d6lXCdyxFKgjod2bGLXprrWhCpjOphdLk2zVd9SzXfqrO/Ctutauzu1d2qplcz67MUL6ddyXdp842YbHfu4/d6H/tNe/8pr1cYY0z3126IUPdzFhcBLroki4HmR3FyLRrRv3760IcKHPvShtDnC9ddfb+9617v0UeFr0hIY35TBzbvE8Z73vCcR7kc/+lF773vfa7/6q79qb37zm1PcnsZyVQfJoI0xNvrkk0+msUDy4wS4XJgz3fOw3hlAix4b04QGLc3Asc6V9NCY8UuZcc83mVJu4m9on411dXwxZX5O6+lY38lXTJhpq+uyPn1V1ML01oK+Q1nZZ9XiDgmGkl2yfkhkV7VRLSeYGn/UDk+83T597V3Kf7t2noExxm2LPmrctn/Mjm1XuXKD9mfVG2xH/cft+tyddl910EavfdRu/L7fkBapreAgEI31MSY4NnaZPiKtNaMiDS3JtCURwMLMuJYObAMNCXCJYUnVtkNopZJUiNOkdupSP6vaM7euz6VV9YHqMX1thG3s0Pwky084MGVCjOYCC4sZCVrFWRm3qrS12bkuG1naKDP1km3cIGGuSSzwZ05/MHcuLUm7FnFAfOQHYS4f+k6oTLpkOHWCEtXoqZ7zW+OdSQDjWdgX1bYSNSvfzNysiRQXRXYQjGrH2qVhFZnsgxlZQTUXS5ojvxskhFZTUhlqLcKAQkOy8ptXb6Sj2mst+qrNwIw2fbB12je4qrjnle+Ghl7V583KGn+8XOXqEpEd09jsjMqmD7IIJ415qzQldSwgD8ibMvLptqLMxmzGw8zbxrKYijQ7mSylIWMIqGpv4PZSh63t1VIW7OwKx/+aOiE1FWJpnjiYpCRTtSYHNXZLahChPONVP3Qofnd0hNAiycaU6mZORN8jIu3WLO1WWSzKMv92daqDIPKv6HuxBawTbTPW0a5xToXB9F8WmS4uqnOhMexqpTEUgHm2o7ct7aerjImMqVtZP4QhmWCmrUZ4RYaDqht1VhJRslRK+GrZjmap6Zk6XSJ0JnUhp7y81KsGuJVeiz7IfYsmJa0R0Wvz/cM7tIduzian5tXeGZtvjEl7WeN8cSGAZHrRnZMMjct3JmKTBfbU/dSnPmUf+chHUp4+8IEPpF2N2FkIwsE/xOCHrzHlPoTFxgkf/OAH0xrQX/qlX0obN7zzne9MDR8iwV+z4x7PiB9yg+zY/AFiW85/c/jm35TNOwTHtGcoa1E//OEPJ4LO+qVD8O3f/u0pr2vXrk1EvlIes+HO9tox5sxB3EvSOBc1Zjg//rgtTfyfxtruknZZs6HWSesflLm1U7u7SFjvPTZmE/NatytyW9RMxmMiqamJKxXG7OimH9Q+ooM2JoF91/C8ffPBe+2e3/mQlZ963Orvfq89/fP/nw11FOz1uSl7NHeV/YsEr11zg91wx1ut8NkPW027vcyMDujzVMM2taAxKY3FtYg5GjNbW7RWT0KRNRcSVnWZldsPSgOS6RVZjbaUZLbKk1O+ZR02G2mxqf4hfegaYQU6kqicMZmqzOxSgysyQUWTV/KarFQQqY6OHbVH61rYqAX5R3eUbNPokl2zrU3LnUTomqc6r69zV7XfLrNYsy61tePjomliEyqlBHpKV0thciLFZMolMyL0Ymp3mFDRdEVK0tpL0oJzuo9JuE1aKDofWUYzTaZckWUag9U9Jv+w9ITN+NGM8to8WJTSGNMVQamhKgxb03Vqn1ctJZroklaufLcqDtHDtCwNr9PM1Vuu1XdB9XteBFur71dcB21SY9hlLdtp69Q6SeE0L8KvaSkS62SryWoClsqZsJxu67ZBkSvjzsq6DYvc+lpF2oq/qnJCmOp2WHXmuIVFmmNBdueibMmyssupzCI0zoyxchA3/1K9pnvpFp7VseHbrOowzOgLKSLTdtmct16q7f9FqGyGn7ozYK3NNMifekYiuyOSJ/tVbwovK0KptEZY9Kk+tF1fl8z/MyLfjgFNANIWo3yGB4Js51Ps0hjZIU3lhihZEoOjrlO9qO5S7ejM3rsNxxON8asz09l7q4YEtH5YQwFXXXWN/dT7P2jXXb3Nevv60i5s2Y90r0amHE8wTucpAsUXq1JdqGPShGQ4Q1QjIyP2wAP/P3vvAeTncd737/V+hzscGlEIgE0yi1hEipIsiWJsyWq2FFtR7PGMFVm2NXY8k/wndTLJpHgSzyRjTzxxSWzHcpotWbJkySpUsSiJpBopUWJvAEiC6IfruH73/3z2hwd8+fMdCJCAeDjuAu/t+3vfrc+7u999nn322XuSXKf3b3vb29J/+2//LZ/44lql5Yt1u0gjN24bOFc43ymWNO23vvWtKBZsSL/yK7+SAfenf/qn8/OIH3HCNx3fbd26NbnOumXLlly+eH+mvmnYYQT3O++8M/3Tf/pPc1QnA//sn/2z3KF8oJjaI+H+7b/9t/n9b/zGb6Q3vOENGcStQ7VeOcCL+BNpCaLzDABywzMnDjDL/l7a0oVBvG2sFwGcbOxkGwAisbnOtHkTE4pnRtO69Ex67BDi1qMXsRUFsRxj9vF5xFjH0HRsnky/hNLLay7dlOZvuCn9JadztP2bf5MaNl6UfvznbkntGFvfcWIuvaNpf3q4vScdue76tPETf5b2T+/kZA+0Uh2nULARJMQ9sUjzebPjQ3wzNltAy9YDGFtnIEZym0GzCTlhK6NrKyI/i9wC1zfTBQfSvyvNdclRkYjJkZ7KIq5C1vYd0lZYo2uC+21iq4qiu+bph9P66eNphHu3UjzFgP3U96bSDTuaOM0EjqhpK1jCAC1nK0ZaSNsc/1oFZkSmyFB5jiiUNDKX6MhPrg6uuibo3QRwWiyfuw7LFwC4gI1cRtoL9fMbuYZpwVsVNyt2NQqwJKeniFUO2Mqhh0odbK+1gV6a5DVagNz16lk0fZdYT+QgT8CBulCGbowezI/Mpf7NfWmAui5gMKGDbSuNrLsutsxikABAJ4o0m2Thc6m1J/VjECMUrObZOzsy8DTcnx+CUgGii2hRtyJWdX10HgKZt/LnTiZF83C/0+Qx2zDJoeHWRJObrMNLM7jeFo1RtMMN8p0z7QDAlmY5baVSkllYhV5KAXgg/X22uDSBYhGiav5lcThJL8C1z2LcITFJWlzsIx8Ma6D13AQnOcuB7c1Mklr5jraFB59m72hva+rjEO2B9X1wyYhoWaboYAImt2ze9uHaXk/kBEy2nPyEi75UmwxAUzTGuwDQTgxwZMtFfN+ODoCZLTKKcR0LNCITZkkdm0xjpXEo8in+hUUBesX5dYJlAKcNSED0hIW9e/emr3zlK+kjH/lILsA//sf/OL32ta/NQGbjk9s0rA0uDzLENZ3nc4YXnLVI9Pu///t5fVSt2x//8R/Pz40fnSEas7/NT9CWI3Ud1rXREL/W51mN773peNlZXFf9H//jf6RPfvKT6Z//83+ebrnlliy6rS+7R8E5YRBs5ZpvvfXWJNgK5FUOuz7vM/1teaxTlNV4aqra2Yc5e3O+ewcTjR6OeXqE2bcvW1mL2sgePmbldPZDHQPpxP6jqZXjpCYZLFoYHB0n+0bvI+ymtP3AcLr70GfS9BU78wkdS2yHGdl1Sbr8Qx9MM299KO3ZdmO6CStG2zoOpRuBjn09Lemr+xPnS06kdW0YbIADm3FdkzW5SYHC0RlOa2wabdSJsdSPqLUFLoTD8gBNNFmx/tOCSK9RcawF9pvBDc9jhrcThZOxFsS6brcA2ORWWjmyqw3tSzkn6eBeVE83WWJtbx77uC2A43bNDk5zXBYDeweDKHiQ7nl8Jm06MpvWb5xI3evYr4hxhyYXvXB5cMXP4lToqEF3B3NPlMkG5yuiXIfeZkBDeGRo5gIGGfDVyp0nUhPfR5u8LYCoH6AJwFCM3JpnDMSQ48Fm7RxX3hKUkxE8mFiYlguPgF4zYk8BR25sgXXIBpS72JjKO4F4MW2ePZFaMT94YghRJnt2NSgx445OiqSiFbwoHCyllJ6UsoW1Pu0SWC/N8rkOOstaopaLWlr7c21cEl3kuRtj2sCvHJfG0cZJJx18k2bATjWniZlDqaEbYO0lTdse34GCAXJqKdu/XYsE6pkAtGI8QiWvBSceTXxzwL0BLnl+wXVr1vDB39GJTo6zYx8p26Lcu8ssDPGyW6CYiFCaFiZhHlzQQAXsb076pHwr33ZkFv2KfY8B1g/wHdmjC+C3tm1i/yrKRr0DSGJQPIJz7O3rgavUelrtEItW5dfSHpfbEVVYyiJctH97rwNA+3hO4QjkvzYAtNbPnHxRp5OX5fG+2h9zouXPBU+BZkWY58M5iNtgBEL3Gx7n5AcNzct1/q//9b9ylu9617sy1+nxaH004Agfa4T1wHMm5TQN85aju+mmm9Jv//ZvJwFaxaHXvOY1GaCiIYcf6drIFQlroN53GrfXee9lunJ00Rnimb4A+tBDD+X1WNNwcuBpNcaxPjEhqKY3ODiY3vOe92St4v/8n/9zUvT84Q9/OJ+1ahzzOZ0z39O5v/2+BvbaPt37zac4touZ+LbrETkiMKWT8x9Hng7mnWxB2Pra1NvVlLaPHoGeCDlZ0u2cfhIkTWl/78b00IOT6b4P/1GawDbPsaOHGPAxvMDgOs/WhVsAsvXM0O8HqFo5l3Fh7+fSZg73aO38ATShbkudXIjm4KymGEwZ9jEzx6kuzZvSugefSuvmMK3HSSeNlDVzeYzqBBeLaoM8HN4c2qnonTD/ZzP/OJx020zq7KdOrFfWtG35XogbXc+CP8qKHtqZPXFwJB19Zj/VzOYFUuOmfsrONyaPdsR+h6fm0uE9BzAgP5s2Ajzr+ztSd18nyiRwOXndlUGfwX4KbsdR2n2cyh8bLEz+JPwBHLIolwcO5F62nVmN39uWCNLOhAAeKAOa+zqzvQVB09BysLYdAc/v7MSBtbwmT64RNHnv1SyYUu5FAWlSrpZ30HeeOP1zHPQgl8wWnibyOsHZngKEW3oW5ziKDED2KDiTzyAHOLV3wqOydjgLoMFTZe1XFXEQQsNJUifCu5bbhkLNnKYG3csKaClC7WMfsEA4MztK2QVNAHByIbeJdvYQO6Ehgi2Md9I7F93a0gZq9bXuHit2Yg6InqfuKLM1Q2eVn9pOYG8XTl4D/iqK8ZLyA+Rw3jXlLwAahSrrY/46yWT6Ks01c/h6OzabFas7wbCsEyP7UZa7Pz31CJrPBOTzMvnaCvBvTD2967FetA5w5WIi0IUCWgeiZQ69Td39rIF2c4wjov0sOYBG5tSB1SXz1/ndqpfj2d/uk7Ww5e+FS4FmAeNcOzkpRZZe7r/83Oc+l0W15vOWt7wl/cf/+B/Tj/zIj+S1R7nOLGo8yXXa0F4IeFbrYEN1ABK43vjGN6Z/+S//ZeZIVToS2AR1RSuGCRdxfK71okcfffSUAYYIJ9B7lJplNm3LbXgVnDQfqPj4537u59Iv/dIvZa5WOgiE1scwXuYTQOw7L7fl/Jf/8l/y2un73//+9Hu/93vp5ptvzkUzvFe9izLV+xHO55G3zwRltR0FgS42yu94bUrrPTVn5srU1z/IAMnZkScnCA4GDkZLPetTX+9I6mfQUUtV5Y3LGHSeeaI/3X2cbRnNF6emp38vTXReitl5Bud9D2OgvTF9CBDeQp4eYO0Yu3fP7enY+G2pfXBrmh07mLdoLMLZWKv2xk1poPOVqbN1G2K1DQyI3Wny4cfTGObcFlEwamQNK4OObDAOatREoZRpHkBUA3KBbzE/CdBRv0YUl9yz4brkIhOpRmnO4C1XxYiHuBgxHxv6x4YOMvYr+oMbHMAUHcbFHUW1vKMZu9QyxTC7kA5PNqbDbIVoQuFqE9x0/7pObKnCmbOuObWkgQbSdU1UjlARK1yWANnIAO1xZJa9NoyTPRAwy+TCWoggbYuUl38O6XKercT3tyDl2pzAhOA5l5+KIKGFm6RogpYTiwbq3aRIGeaTVyCTIM5v/iuG3MypM63k38T2HY9Om0f5aoKzPHsG4J7chwtHhiQzl2AWDq4NKYw4J/e1SHvJCZsdnFer+0j5rvBaud80AaYav3BC5DShBetMcmEauJ9FbL60RFlpQy0kOItkYaapH64VYKRSkkRt2yirMyNXok1bE/iezNmIVKIJhai8RxU62FVdS2ZOlHo7WWOm38xiVMI9xrMnnCDRl/JEickEUw/3pS7B7eZ8+PYjI2OIup9EvGtc2gPpJzRutVHZ0r4ttXejZcuWGMXkbl2ZA8TH0T6fxPrUwYPH0fCdBkQnkVBsTJs3wGcv7UWTfB3PUe7i4PJGjG549fSgwQtt/Ka66L9VP78of9YMBZp/8Rd/8bxVZufOnen6669PH/zgB9PF2KJUQUiOUBBykBeI5Bh1Zwucxl8OXKIyvgsgkcNzvfW9731vuu2225KKPAJp5GlY7yM9we7aa6/N55VaPsFQ32PUFEOrWauBBrl46/DZz342i2QVy8pdG19RsMpOcqiCmfZmVVoaHsbCCZOL4LYtr+8VI8vB3nLLLelXf/VX07/6V/8qb+UR2LyibFFWwTsA3Pxcg6nWx3Stf9DA/Lx3c3n3xh9JG3rfgvh2fxo5+hCz7xvQLOzjnUDF8MzAN8PMusGtFjOAHQOUg1QD+0Kv2nZPuvXpg+nuoZvSwdf+WprrvzoNfuUfpf7vPZwO/r2fTZf94vvT5h0XpyG2zLiF5NC+e9ORvb8HB4pSUtMz7IkEnzpuSF1tOwHOzazHMhBxvJliQwGnYXYyrUPDdAxQmTl0L2udG1JL38VoYiK3dWCSwwClFhw04ZbdGjKKcQZBonkBMeIzPGMrxAKGGJY4IFmxKQQWs9L0EILBcbitrv40sHE7FpiOASasQ2KDdQ61T8b2nP6CgRmQGzj3tK2JTYnuJyWZA6OcS8tu/9amkTQwiLiY7TWLTawRK0IEUJrhnBvgJMWHVjjoJsS9MIAZZKzfPKLbadb/XK+T228jLB+W+LRlytiKkorwqBNMBTbFpjmI8eDaox0ozm1C09rvqd3aRkwKOllwP6Pl74VD6gfIFQXnY9wok1zn1NETnHmKFirlXlo8QpsBXCFpUwcSAxB1mrYOXhOYdkeZBJ1ZjlkTjFBN4xngxiSjGUDzfl4D9YBVG9tILKcSABJjyXiUdkOm5N+C2HgOG7ULzQP0B9ZhUQxaUJSP6HkRTnMRfxbpxTxKX3SnNIlFpCkAcoo+N8q2pQnE+Sc4YWeEtV3FvW99dVu6cififkTJ00xemlh/l2pUL7dxt2vNuyaLpKG7k2+OZtMsItdNl7yX/AFoJl6OQUossg40NGxhAmZ/zZWgIvalPPmAPjpt7ra0tqf1G5geYv1oZvhONJuR4iFebmhGUamlP3X1baYunDjFfldF/36r5a6cYPmzZijQ/JnPfOacV8bBXfBwYI8B3sYkWAgIAZw+i4G/vhAO+FVnWF343keY8Ovfx2+3xPz8z/98FpX+p//0n9Iv//IvnwJA87c8pisoWt7Q1HUtVWf6ll1f8HXN1O0wAqn7U+Ws5SRvvfXWXD/DmadbWwzr5b1crJMI40mbarkDKJ10qNGrCPpnfuZn0vve975MI8E66q5veSxLgKy/g77VdA0rgHoZXuPbGv7+3vCGdOPl0+kSFIuGj3yfse66vBHdfBaltSI81vAaseUqACjKwwQ7A+K2dN0rPpHSM5elp1Hk2PzKt6anWz+aOn/qyyn95BvTFX2DmY6zDOaNHE493P629Fc3vy29e8/30jWLH08TgxzIjok92VHLBmWhg6I/jS7AkbDVpgMOqQ3R4DTivDR+GEWo46x9bk2tvdvgNNE8hfta7GKgZPCeHEeZZKGb7RBDjKIM4gza8yjXjGI2bq6d02Km4UYB3JZpRIGjgJScKlxISyflZD10Cro1sUbatI56y63a7PLA6ZqiW2IoK9wKqAfgA5YAzhwGDw6j2bSZA8abEkAM9zWBmLUZcW/bArZXUb5qYm1Qgahna5II8RDNyr3KJcO5Ol9B/YR73pN2I2m0YIkpTyT8vohKZzBiQUK2QIJMUSzKaCV9D7fUpPwc2uWDVvhWPMr5abFnM6ypZ3UjpCSMlTrZd5g0TA7BjQ7CdZGO65ELgJ4KMbYbrRk5CZCLnAcQmgB6J1fa621wDZV2kbWlSbcZtNVYQyNcXxsAY/zM2bNNZBqlsiYmQwuAJNOUDNrjw23pfvb7jo2hfMea5jQi5QXSn0Z8O0P9Xd3V7CD8K+3OtqcSomBGReCEO/tYGgIg/+ruqbTn0In0o1e1p00DSIVUAOK7UJ3s2vLE1bmP3PxSuuOex9MJpCiXX76NfDqZBGipyKC1SWbtzp81OuXf3Oe9ysQXQDu7+9LgIBM62sDsEkpX8wO0B8JA/6XFY6xHH8IC08NpfMiJUW1pqtpfvY/L9ItbOxRoljs8187OVL2qXJd5nQ44jWdjE8wEY8P6LEAigMJ0ghvT1wkAgorh451bZ/bt25fTceuM20oEMrVlnY1aNtPUN74cpOu3AqtlEPgU4wp6OuNcc801ac+ePUmtXznMD3/4w3krjmkYzjwfeOCBzP2alyJkuVfjWjfzC/rkRPkT5bUMN954YxZBC/hyxO539bnpG19XjR/3+uGqz6yL3LRAbtm6xkaz6O3uvX3M9PemV2z/Xho9wqC85QaULRjIGRhaqHsDHM48ewvlcNoAg14MJMyiVPTqK76WPjGwI73n3g+kEURYG3ZekU5cuoNC7U+XMrC0Wc5h9t429KadG+EgexrTe79+MG145RvTXx+ZScOY5etg64MDnCyE3Jf/MoDA+bay1tWJ9ucJ1mGb1Kz0+x/fm7fbNK27OAPgCdbBRiddk0IEybYMjcALcLOsAU6wLjqLWI1WlOZpG+5/nWMrQyOHfLeyB9E10hYUp+TCugg3jnSgmTWzWdaIpe4pKrrWuYg1oMYNeYTOEmW43Kb1cP2E5DPCndQUSWaZaEy1YJC8YQiulPbX0AkUMCkTlPjtqTW9M42p8xDfGsBVXN6B9Z2lBs7N5Z8iZJLgTu5R3AWEAV1mDPl9I0ipJVsVZxqZcLTAgbUxKWrC73Ldl1DzgBFQDhfKFhS2o2SFJAvJO535aNJubph1aDiyJtZ7MbWRJ0+53tD5ZPPKtEFIXmt3ALLKZoLpLMDaicKW7SuDHOb5WmAJu3imuUD73xxln0JbtqftciY9mHsEpD2Q+8Djo+nf/88D6VVX2Ke6sUbEGiPxXIfugQt2a4nG5gVO0/aouNze8d23O2/aaBhNcSDCU0wE/u9XJ9LNl82lV13Cnk4MNMy5rmpd+d9MPWdoh9+497F03+NPIoJF039xJLU3cOYtW4DmGpjo2LYEU8p96ptnSvm5oYj14fv1YemoNqGu1U+t7Tn2qrbQNpb4rg1MyhpRcKLL5D7qMrV1MI3lrpNZFG+NUKA5uMJzUZ8YxHMDJMFoQCuBpnlW4yhOEUx85oDvPkvFn2rzjo6O5ncCSZRZztE8BDrPIXV/p2b7dIKhpvxMR/GtQCiH+fGPfzyDn1qw73//+zPXZJpyzlFO8/eZAKkpwH2AsGUzHTV4Bcjf+I3fyOD467/+6xk4Y/1T60qKjlVKcj1WjlQnCFpu07aOeZDIM+2a2nuU17x8J/AKor/7u7+bt//IScvBBseaE+VPldbxTN/nQVt/xyTEes0hv/PkjR6sDd39+KZ0bPR16eYrD2Na76HUv/GqLKpzzQ/hGtwZa2NwCb2IwFoYmAYHWbFq35Vec/Hvpo8u9qa/99jPpKf7W9LlpDs0v50jwIZYn5zJijjTlKGJA5r/xbe+mXZ9F24XQH0r61mff3Q4DbMPs8t1uhi9CMsonJpnONqK+y5A9NjJATHXR9kdg/P8/h+kxW2708y6VzKo1rRvqSnKJ7QL4k329rA0CE1tRwy8LWiKtnP0l5q0s+wBbRqa5hmcKAeDQyUGUjVWsXiDSNftMg01FsUscaSBQfgGOO68PgiApvVMMuCSXNtza4d8lvduEWpGi5l9LbynUoCk3PgMPgwmoj+2krA1p/1YJyJifjeb7hin12CwgDTyUXFitmuDsIIq82xYgLtuGM506WyfYDKiqF2xLZMwxJoLMyRMGeG3alrVpDMLwHbCzbdoJQiuXNqcct6StozdiaO0+U60j3sQz1LnbEuX8LXBH87Y76FIl3zcs+p8R8BRM1Wwa6M/ZG1l2N8ZgPUIymdjJ0YQu2IVaHYEunZyisqrWCPshKNFgYu4k4hlr33F+nTZTpR2WD5QU7iNA82bAVDX6qNP6NsGwrf8MXm2H9nXejltZWRsIt35xGjac3gyve6VTRijV7pDuamHYP+1ux9JT+w/mAZoExMTs2mcyZtKYo2NWHhC63d2vjODaTNbfWp1c3JLdOJnZSomLOsHHTuwUsQLL1LP7+cbe6HJSKZlrZ/5Hrqia+U6uWL2an2iLtFfrVNxa4MC50Q7NxqGfjQ2B/sYuHPj412Ek3S1hsdMns4ox2d4wVK7uF4CmFydM0CBS45ZgIyGGWkoopRzdK1SJSkP2BYgfW54f5u+nU+g0shBcKQC9Ic+9KHMmdoxDRNlNB+BV07SepieeXzqU59KatLecsst6d/9u3+X01cJSY1j96ZeccUVmXM07wB862oZBH3TNa/gDi2D9f3oRz+atXsV4QrA0sPwinfN88EHH8zrytLEcuqkXZTX3wHO3punefksBiB9n3d0TEELrLSQVgv7AA4cakqf+OosA9FD6QrW6zZsuZwUVOJAHAc4MdShpducNmxsYt1Mjhid2sWb0nXrv5A+Dgr+FrrxewAAQABJREFU7vQ70t8sMnmBo/itY4g/vyEaNKUPDB5Lv3DRg2nzI99KRxgwZ1jrGkD78+1XNKTbHhvmpBWiCKSM0FmrlHXC5hm2UzAIdaCq2gIgLbrGKBA4QlkqtELX7Xw9YMekavowHA/cKMCg5Hd6HVwvAIeysQJSFHUm4KyJCvBoGL4BIJ5bh0CULT4t7Yh6W9AQZt2wBdFxH+t+04h+F1wbVUSXM3NAti6jFHR9SgOwGtBTo+6Opq4l5qI56JJvA2uES42AHb810qDdAgMqHjVoB5yoSk8L7IlcANjHsUfbwWIxIXhM3VFmmpipTeayopGKM9aDQX+A9dBJLOPMATiNANcSdMvnnpKHIuwadRS0wuWy1jcKLfsB8Jy/xdCJAP4BHBbhvE2jhTZQo22t7wqwtX4sKdHJ5bDqFupS00C1TWHrdhTDKE+PpoPHhrAUNcJE6ATbgQD9DR2AG8b8kbgsopH9+JPfS5fsuDr10BdsezPs21wnB9rXz8T3WUMEMXm2vZp3/WWpbbemYdu370xPoy3Nd+uFwz18bDT9xTdH0rXbT6TXvAKrWLSd27/zaNp34BBrou4LdhK1wIR8Mg2gFObEw+0vLex1nkP5aoa90QuNiuAVIzNndOLA1quNmzan7i7e0Rd1NbpIC+jKmvI836PNCU2NsDkM0ubc72paz89OBKp1ygHLnzVDgQY0V2v97wVWyYZvJ7DjKLLsYYYo9yX4yfmFCNPG7xWDu3F0Ktlo5k+AEuTk9gQRt38IRIJANF47UTjTiYbpM8MJSF/+8pez5SP3nGrAwHACoO91/rZMAp/bS1Tm+c3f/M3M+Vkm33vpTF9nuTTC4L7T22+/Pf2H//AfkqYIBXc5ZNc8BVzDKX6VBk4CzFOg0pcjljN+7LHH8l5SffeSvu51r8t7UuWi5ah1gmx03FinVfvX8DrLbZ2+8Y1v5A7roOJleY37fM5v1kpd5cIaGPx7uxoAUr4HYql/8SspvfXH35D6N+xK9x9hn9/Sk+mSgXYGSEYdtrLMzQ7wbCP37DFt7mGddDztO7KQbl+6JT3MgcbtiHMnD06nN2DA/h1X7EmDrcfTHNzCDKbg9o81oemqFiMib8r5hceOo4DEWjSDuSttCS6076l7EYEyMEH6fSM9aXza9Su+OwPcwvCR1Hv9O9O6Xa9N+4e+BTAxYsElT7M+OYMt2SWs6mgEYQqRdAvP1CgV0HQLrB/Ou4dSDnsETm0MW7tPfh3N0QMkzUCJGHnIcnUwmJ7MP8e1CahUtXUbVeb7OKBCZ1tIK9ziAFuApqex88yG/0ZEyUtYaqICyJUJhmm8PCoT1rWzSw4i4J1CiYZ9sosejE0724whCvc9NiB+bWdLzTint0wvAPBQpFkQJVh/xwiKWIgK4XjHmcw4MxDoZ6Fp42xj6sGEn+vWAgU7KPO3ZSEvYXcL0Xhj2glwadg9m+VjwpI6x1Jr37G0ZUcPWqnQBGDMGrkUe4ZtMWBwBmYnfkPHjrNvdw/rz0tpYm6SrSeTKHntgItcn44z6Z3icPbhYUSkHlowBdffwQk0A00YM+Cg7U4U5ji8/Iqd1wGknenzd51I+44PpF3b3T7yLIiaTz2AQrLsog9Gv6wCqW3dfqXpyjHHkYNDqb+VNtR8IB0f3ovBD8AbOolxC8x4urvb0zVXbssSlTyU8NxJg1z4LEpNs4soW2GMQ7u4G5kQ23drY47ATrgoE75kTFN70ShHpIsI3Q/F/CZ9477FdN8zG9LluzgQvJ8tMnDBjjfVOp5MpnhrhALNoTzzQutjI4vGrOhTEeyhQ4cyEAmibt+QO9u5c2cGWYFKAHBN8ZFHHsncpwCi8QF9QcMOI+CadoDJSuUzjI3dvAXjW265Jb3zne88ZW7v1ltvzWJQAU5nZxVwLJOAq6Uk1zZ/9md/NnOQgnh0HgH+8ccfTx/72MfSd7/73bwH9K//+q+T+1rV1PXe9AT9Xbt25fQV57p9R65UTlTjC9/+9rfT7YCvoOv2GeNYHo0y+FtRsp0sXEwOrJv3lsc9r9LOPL/1rW/lOlhnJwG+t6OabjhpGLSLSUEW5VImaavmpYOHIttWOL7ByzmdBePzv/kHY+m+hz9CXd+X5rFVumOgFRHYDvZ+DjJw1zRpFefNwUX1dyLibdyY+sf2pZ+c/WR685CWYuB+2UJzyRV9iPz60ywgOA8np0HxVzDAbu1FMWuE/Y5oNd66eyB9Ze9wOo6Yr83tDIghGwHBRQDT01S6Wzm9ZBrAAOgXGaBbtl2R1u24KQ9YrtvmNT+q3LaOiRx7EqcAsynWO5uxGavRc752beR7liyZZ1jAlqpKOa0YD5hteIYBFlHw5AhncbNuhogblpK4jJqsZbIhNEtyl44eyOk1wPnEaKq1JUEO7MKpAQzHi5Yu9gprozPAQyriPEbh4XwQYS8CWIusB9e0dQWmaRhcRNUmChB2std1nraxgHhYcWlH8zTcqhw564XQtpM9rJNMyhRX5+8NkFsIuXGNQGTjAP6GZsMA/mYmAE7iNPSwgKJPy/ohtEjh9im77akTRa3JGc+Jqe0BdQ2wA9Gqs5hnjhxND+/fwxryUSZciGjZX+p2npZ0KG3s35ReedlVuX2q7OOhBhMc2D7B5Gno+FhetzzG+nszRjAmJ+9JV152DWXshVPtxkBB1ynlPduu5bMuAZjhS9Wqsx3bJ+wrlt24cclRqxV76OhIevQYEo9m1pqXjkNVpDXEU0w9yTLDBNcA25T8Xn5jkiNflijQ8G2Be56BM13Xu5l0VbQyjO+zd+qP5cjfT5EubdtuJ6bK8dKF8rqunGjUyfpU708lVG7WBAUa0DL1+79oFwN1cJzOEOUM3SeqKPLzn/98Fk1efvnlGWh37dqVASRAy/gBnBbGhrdSZ/J95GcnErjlBk1Tbi6AVVD90pe+lK0XqQwk2BvPdCOMgHrvvfemT3ziE/mkGNOud245efOb35zB0Q5seDlnj19z647pCpY6wVEuc/fu3dm0nxaJ5Ipf//rXZ271vvvuy1zqDTfckIE2AxqDXdQn8o7yCXxONszD+vn7/vvvz9tlnIxYfn0Vhqr0Mx3TjMv0oiN7mssC8RYw53ZkbC7dvR+2CZNoyAVS39aUXrO9Pb3r1sH06je9Co5iK+twitEZ6BhMGMZIk8EFZNiBtMD0n2LdaZIjyBZQtvDVwGAbM/me1MQRVyp4zO85lppZk4KlrA1IBBrlnMlD463piaHF9FcPs6cYOB8cfQrFm8cBGSYE5DPOtoe9x9eRL7/gUje84RdT98BuuGH2H4/cCzizDxdN2cb1rgsyHZibSWMAZCOz/9q4Z9Pmjv8efyYnqpKUXG4jIDqHvd8R9rDOyl1C1zlEq8PrNtfiWJE2LjfX5wRAQbVlUTJpgKORS9XgPFUlfluaxFZrNsenKbtGuFGAuAED+UyBUBBaSgNs1bjoAHsz4ZAXOtxbWRPBNpLPZsBbrrkV4xGWm+U81hc5ng1g2tiNWUZw2cFeJyBMoEQ1B5i7PacRa/JdTDjc6gNTnNficjhSmiXSIEeCXbeplz26aDyvO05aTp4AVUizaet6pD0oBDFZmEE5qQEOepF9n1MYW3hk/1OsNT4O9zubtm3cmTahTDU6dj/cFmJMROBdbf0cTnB56oFenYhMbRN+p1wBCqA1IvdxTnG6zizLArNwgvc9vRWx70W0DawDwdU7YRYMBdHo6+Fbh/o+Ec98bnuOscY+YL9z0jsxMc64M8Ie76Opfe4hJiEjtCSkH0wyZmcX0sU7BtMlOweZYELQCjpK93merevbSH26Mf6ALeLOfgCRtpeJ73hk+88F4/PTrlkCaJ3XClKtnVmuL3wLA/QcarBrB0ZDBpDMIZVzjCqcqIRbm+6cHYVmA/KyE+jbaOwkcrq7du1Kb3/727OI1sFeILHh+04OSjFwzEaN+3wu8jEPRaSKVOUOTUuQ0dmp5BDVxtXYgyB3yy235HeGEVD0zVfDBgLiP/yH/zBzxgKWXLRiWcXK+uYlWMtVKrq1PnYO85HjE7xd25Rj/fCHP5xBXcMS/+Af/IMsKpZz1RC95gi1nGS+gp9OmtUPHtLOfaUqMbke7CTAMjtwWB65UGkZwCg962lnmg4AXr4zzAxm7+bY5jLOYdsH2Hj/GozL/yoGFTazxWMza37rUb4ZXIfZM06jmGCt6DDnhFJ14ssN1crqeY0D7Ct0ts2LzAFMjCOi9JwzXC9A1oaB8hm2ObRgxxRJGVwScXknNglAfXCrfR3zaRs6OxsZyP/s+yiSHcGoAf+U3mbNWQzTdyL2nMAub98Nb09d/Rcz4NcsxLhGtwh4NKBsowrUIoA6i9LTYh/7FTnuqnbqizni6pqUezIzMm3ZmGYftr2i3cog2wQX0kIllwD+BcHGhbOIL0AscRLMCADJYNvQUxPVag82D8iI9IhJ3YiDEQUWdwFTwpEeKaV2xK5kwQThpIY196SIHACFG7jRNs4mq5XW5RHK14xWMPZmJdgcAC09+Px58O4GkMZpo9Nwvk1youTQCVCrdKSGKvhFfeSMAYXLOKNz0xCiZzSQmZx4gLjfsglpQiv1k9t1C0lPR2c6NoY5zuNPp/v33QNtWcNFHKrY/+jxw5zpeV3atPHmdOjw3ZSvOYt1x9h+pLGFublNiEpR6FKcLQmIa9trgzPs4LD2JiZh37hf4XsPoOJavBq9NfC0/Xrpqn1gud8+sx1H/ze8ce1LcWWw4lvJXR47RtsASNubONSAyUwj9HBddG7rALSocaES3RbkQQWtLVgl4uQWWgTc+HjeprPIYQu1dWP7UC5krYL8UEt3nu1MLSgYuYZqO5ihsTtxzPWifJaxelmH4tYWBRr+63/9rzaNF+Vs1AKJDVnfAV4QENTkNNWcVbzpM8M6+CsmveOOOzK35vmgcmpyqbEuKMCFODI6l76AYD42Ujk+nZqsUYYI63PD2ll99vWvfz2DkuBnuQRKnxtPZzjFqlGH4KSti2Am56lmr8CpQQWVoHwuEAqkOteCFRMrmla5SYC3DHfddVeul/VTZJ3BjPwj7xyZP/62TOahSNz4imulnxy966yW/dixY5mWiodDFCw9qnWPtM1fOkpP6zxNWY+yL3ISKzI/tu5Quv66Laln2wDGAZ5hcKAegFO2EEBZPBj7wMyGNNM2mMWrDje5jIyw25gAKSLjQ2CLdyQ9vf8w3F4X5WtOl3GIaAsD6NQIR6QxeE09NZQ6h6E3g8upxpYHpNp4RKLpaY5Tu+Ou+9KhBw6kI1iSGYNzU4x7cAhuZt21accNP83gBAcIqLjOdXDkvjTRcoz9nSjzKO7sRVGnh+Os2K/I4pwYlkWembYMlHlNFEs6cqLhWiYOpr3f+i7relj24UybpvnJdIgBHjk1Z4yqkEK8k+3DNUYqTP7UATF1A0YDUi/rfgzMS3Cic+wlpXWSNDQB0JdQfOJsMsTTmNFDMWc3W4i6x1hK6LHd1UDDcgi86v9shbPMxgP4Xu20gY1MDPpYq26AniOcpzrNCTGeAyrZsvEEijKOIlcjVoi6UPTKWrsAZ0/3UtqADtQ6ts9s2dKcduzEog7rwONHRtLMkeMYs3CxFvDh++zYidiSGdLo5ER64tDT6ft776H9Xo4Itjv94P6v0caQAvANPCavs6Mvve6GGyHtWHrmwD2UYhwObBAuFUkF4veWDjXX3VddA7loK60oUj361Hz61qPdaeeOLXnibB93kmo7t7/Zbqttl0Se19kO47J9O7m0X9kXHV+cWA8dH2ZNl5NdZh+AI8W2shMI6Puqq7bDcWqBi+9l3uTmXtNBpC4aY7DP1MoDzRHBLzVzSlC7CmAn62Yc2wV9ZX6GvpieyjTQ8MOn7kRZr3tb2naR9OjPY0LU0z5a3NqjQPPOnTufU6tqY67ePydQ5YcN2cYRnKcNRkASMPV9F43cQVznO7VOVcIJbktx75/8yZ9kRRvX/9SqtaNFXBu2l/nYYTR2IEcotylARDkqRTsFiNbj1ltvzVzi//t//y+9+93vzhym6Ziezo6nbd89e/ZkTlnxsBzy//k//ycrOHnEmgYQzNN6WC8HAONbTp8LaDF5EIQV+7qG6fYUuV07uB3d8kR9orxRfmmm+Nv0PSPVcgngprtr165TXLHxTCMGkkgnfJ/7Pugn2FumoZHxdDXbK27afiBtbXsmzbdtSU0927CL248Zs2OpEaPhmITPANbA2th61rQOzKNxi7aJg4gir/UYS5CTMX33cDrwSIs57rswjafGr8DYxMHIC6x3tsNpJkA0nIOWZvkcvmSkZtBM3bKtNf3EO65PRzoZBEc5HxTR6yFEzY+CVU9uf32a4yDkcQZLtW9b0SBeYk11qQPuu5dJEmAzzfsFxcCGoTzabW1WfRY6ZuQRfXDm7VJnx8I4Ikm4NwZHGFDWPdnGMDma3vSmq9IQ66/3P/wICjic0sH3UCxaM4pAbLlf4i7N9qc0AleDNmqjtKG+OR/ZTRS0Mjea7dyy1gYat6BAtYC4FhaxFs7CEMGtJGzHRXyI6BaufSMc6SATgW72HS65TncRddqN1AKx7AnWHl1znGRddGwMpZpxLCbBdm5ej+b04EJaP9CQ+nqasoJLN3RZP1gTw8tt9l7EGj3m/maY8MzC2fd0YcyCtnj/vsfS/WwbGps+APzzHTng+7pXXUd7Xp+++vWPYGt3EHJ2YaDjWHp07750zSsA2ebXpoOHHqI9P5aOjnSkrRuYGHIy0HGkBH3rNvLePs8EFn8YBa7vPs5e4vXrABT3hdYm1/Yb27h9Qf9snfGi7XsfVzXNnDbvkOwyoakB6TSq28MjJzKImqdt0NONOtg3bP91f24tbV9ihBAx++z80TQ9iblPJhVOHHO/y3Fpw2rpztHmEbUgfc+g20nfcPJRnSBE+cyzuLVFgWYVW6rOhqlbboC2IazkokGHb/wAN+PkBn2ys/jOQd1ninRdb5QTFbg0UP87v/M7GSzcZymXGgpHdhC5MQHUZ3JoglKkn2/q/kSZDacYVQ7x9ttvz6DmjFhu1mPJXHc0jNyi+cpB79vHoIEY1bLJSVtu04s0zcr6ClT6AqB1dquNYl81eNXkNW2N08sxW4cAb9Mxnr5xTcf1Tgca6y0nKvAZT5DWWYYoR36wwp/4DqaZaUQ+03As1w0eTFfNPQDXNcqaGgMIg3CjW0vIv6llKwMCZzBOAaZzh1Ay5Sgr2KReFC5GFzchlgN0mH33YsScgmdA0tdmahsLdzOcItLHQc1UCHAERLHuMs/ao6bvXPtrkQPLWFMDUAf3KYCmbZ0KOWzpWb8xDb7+danxc5+GK+hIl62bTddctC2Nte5DFHiU8y/bMQfYnY5gFeg+lGNGNiE9YN8pNs7TNKLHCp8LwAKkWGZqgnOUOdRRKsSUDG5wnF2NnsvpBv/aN2wESfu6Z9OWXZeki7u606YNm9L3Hrw/a6A2yzURWjAVxBvkNEmDxVdAidXcLuiCMXLrzcfBBxwwNsDIzdIxlnbgZrRx6/otkMHzWh/L9wRfRALwzNxE2oVYtL99I6JEQNhiA7xzh2dS+/YuAKiTyVxHGuzvY4JgOq6fOkk6CsfKmaBwrCarOLe7z61hrN+ebF9NcKKKq5vZF9rUOggNG9L+p/elw088nI6MPwlQ9GLxiTNtKbv9cnz0YLqa5ZGe7g+kL3z5Y2gLswba2ZeefGZP2rh+IG3eOAjdXpUOH+kGkL6fjxQbRCoyC1c2chyhLeueKvloHOG7j9K229elgX65TwzAA1S2dQHGvhCg5/c5Wxf9J/pQNS3vdTFiCaSNc/fDsaPIhnb2tq1MyDMg0v45Ls0tN7W1hlop/JR+JQ9J8FDwJhSItMLU3I7UBnG2fdAQDXwrJTANaGXPYuwCeRyAKoCeFOlW6lgdN2q5lL9rgQLNgogNwoYYXJUNXI4yxBDRWAMsrPjzNQjfx2V409fVdxzzdpA37K5du7JCjkeEyREKRJ/+9KczR+h2FQFQ5YGq9qsdMgDD9E2n6vvOPOQeBWk5O9dHBW73gKqZK+frVhO5WkHdtU+3lPheAJUuDi7hoi761kc6mYfbYJwEOFBor1fglWaKd+UuXS8VpF3TDJob33Qsk9/Cs0wFd8ML5CouWSfBOZy/owzxrOr7Li7zibw0XzbPmk/jZW9I86OskR17AgBkwPe4J0DP/W+tnm3VtYPReDMcGvZO4UwHmo+zL7QTg+tdaQNrZ86yTVNnPtahHTHzVBuDbTfiUJ45wGS7rqxryqG2ESaPSg48Dv8A6DR7Ttt6ADLamwN4E+Cw/pKdafL616QT3/lWaurlRJZW7BRj/LsB0M/2crsmOCC6I21Il6aPYvRc+i6w57OdQUvlFtfyqD2cKnkAGgmFpmatHVgiQRxuqZd1YLkkT/PQQlMD7HAXE4WejYgv5Sop645LrkgbNl+Unnz80fTNRx5iDRAjBkxu0OXJ6TRip3ceMW4/+bUN78HOK5xe76asFGU55EYbmD0swmW3q9AE6KHPk9dFRUgZ1gWM8k03Yhid/YqC7f/F4MPFTGBe0b4pbWG7ziCDdc8IAzMcac9muH/iy+R3clJIG9+plbJOTGh8YIr2Uav3evZqDgxghIR/fhslB2PQYHhsOh08OpGeOTyenjw0xu/D6cptQ0iknRy6jxIumTL5bccxuN87fihdvnsn+zDfnz71uY+hIMS2GLYCPbLncbhdjSS0ILK8grbflQ4PPcj3b8VqEcYL5sawAMUe3/Wb06PPcDTgRF+6ePsA7aInS2xcjrA/BYjalqPP5o90ln+iL1jXSEvfNnnKOSTwbAggbZu9ny0x6BOgCDfA2v8skzzF0Iq18+SEcOHyHX8gT6ZLJ5Od6anDTCrU5VDDV67VfckaYxiF1pLQiZlc9nMnCZbnxdQzylT81UeBZjkcByIHacFMsPDytw3dBuF+TS/Flv52AA1APV3DiIYdncZ4cmGRfgzAdiyBKNIyLzlkuUBFmoKf2rOKewUmOTNFrSrcCHoCqZfxIw/zETBdS9QYwz64Srk666ASkQYM1N51zVMQlav1vdq0hlWj1vSlSYB8fD47hHXy8p3h5WalidyuwGc5QnwtHc1TzlJOUxC1/MZ3UuD6jWW3XnLaajVrFEIw9juY1nMGhSjICr5pSdu48oBFGboYfB8b6kDTspG69aX9aTA9sQerOEefQYmEY8AA1C62eGhCTaWTNraANAFQTXNDqWcGpZ/mvrxZPnNJzLgZmRg1GGEAMBVGFgCNFraqLCpG9S2vG1kTayLNRmbnVCTX04F9to09jb08d7BnlHLmLpAYZvN117APFBHavkOsOw6grIE2aiec/gAiYfR5xk9cmbZju/RKRJy/jUh2I3v7TpBnPwNaJ8NYB/m2kJb0bcDUXzOm/txIv0g6XRhg8GQRlYU9/myOb9m7eBwgn0+9fJMWgMsyzFOvVsTWl15zQxrYsi3d98AP0lMH9kMf9nFSXuA6bVkYQdTNYDpD3eaPpUEMRXSs25KWOtexQ5OtXHCj0+z/bAF5F907Svlky+ltiLA52aQZ27wqH0FL6bAJTn8UjuebJybT5rkNaT1KLT0orPTsn0q7MMy/6yIMFaA52ukZp3I6ELhFO7WcmK4i14aNrElzUsoEVqLGAInjY7NpCHHqKKw6Ntj5VNStCeteGzgLE8Cbxz7v4tIBaiLI+772HU6wRjzPOuj4KApFW7am977759JtX74tHTryEHEW4EgPpst27SA832rjDtpKRzo6/GQGonY4Ys3y3fPQiXRwcmPausW9kr15bVAJi/3c72KbjP4efm40L+BPtb17H5dJxb2+bniIbz7+3TQ+hiY6B3S3Qr9uJA95P6ltkSaYiXHS86fO565lu90oi3cX0KjuYGLjvIzj/hZZb51TrZoJWwuT0tznTgJnfRlqKZa/a4UCDXA/TNqfOxt00PYSIAQCwcjBXWAS4OTQBAIbSuYE6Fi6aKh2Ru+DQ1MJR0UZFWJcF/SdcQ1nPuFUzJH7khuzw/nOcGq9CiY+F2AOHjyYAcn1VH+bdoCNHVRQFlwtp+UVDNWyFYDt0AHY5r937968p9Twgu2uXZi0AwgFreA+gz7hSwfBV27ZS7CT23Qd13gBnoYPZ17mazktv2EM63PrLK3V4LWcArp5WP9qGpHWmfim6xXfx/SnGdzG2csnF9XaMJ0eO8BB2og8Z6c17qAxDKfSirkYTFFSaWOdp4+TUBQVtgIGnQzUfawBtsLFycEKuJ1cbQwaDiCC7+AGDBLURmRGF3lCmEFN7T0yjCEABjDSnwfY2jEaQKvLZbSODsgz2JttBYAE3BPDx9Njn+Fc164tqXlwBnu5CMoQ/T49ck0amdmeetuwaNVzJN3fzokvHPA9hsmiIcTTIwDFEU6fGYElxaYRZ36y5UBFo4mGdDHarn1Nk9h0bUwbAeXtgy1p72MHUDp7MC0dfDpt+okfT1e85rWgK/llnkJzeiyxUl9W4tO37v5++urjR9I66NCLJupTYwvpxzY3pot7FtMdxxbSI6zhJqwypXVo9gxelNYxEenGBN7AMSwwUaZF9mzOoZAz1zTGwKtI1okIDiK57cY5hE1GqmnovRN6DHhQupMZFtwG2CriIeEO/usR124YEACYPDY9wzFmnHxC9kcQp44iVp+HDs2sr3YC+hqXVwSp8zudAKSPYyBhfHgfa6/fIk85dbnRpXTV7ovR1G1NGwHPLZvX8736WFvdTLsZT1/6yu3pkce+DiBelF59zfWpv68nt9Nm9uZOkqZKNmMTremRw5tgmTej0bs+90H7nJNX+2WIcqMvvdD2nStT9yfavL59x75mu3fMqU1WR6j3aDp88Jm0ofWRdN1V65nMbqUtI0kizvOVhSDZ+Y3sV7NLaOa2o2SGVnTbwt6056mR9M0nLkqX7rqI8YdjBE/qSVhn+/rzpV9XnfLzAqFAA+t1uWnY8MJVG7gfX+d7G6Nck5e/bSSCj4Dnbwd+fcFCX85LLVwbsgDmOqagFpyn6ebGyHvDmK6co8B4ySWsTcHRmYbAuHPnztwILZu/TT/yNG6Ase8tsw3XcFEXw5qX4SynTvDz91e/+tXMIVo2RbqCWACw8XXGsXwB4k4qFC+rjSsIGs5ymE/EyRErf3xn2aL8ltF0BWK5YOssLU1npTQqyT3vrflZP+ttPgK3aU9hXWYSLo5FUdYia4YXIpwDaQ6f4yBwZK+f4OpzfW2SqnyxyHuBz7U2hJZZe7eXo8l2bmYtc0dv2rqpizVGNFYB4AU4o4V72SvKmuwc2qOtgG0GDv/gamCK0XLOLO3kIGS1jTyX8uiBY2n40D7aC5wX8PPM6KXp+OxOtuMMs9l/hHU8QAMFooNtiA/h8rQJDM+J7VaOzuITjwOsI9MofKDtO8zZkCcWJtOlrKMOwgF3sZYqF/E33zieHtjHZOLI/nTdNTvSeo5x8xQbtXjlKORaWRLLIDSCubs//cJ389LZYUSWv3xtV/rAjWzbmB9CMQf7sWjKPgmI3c8JI98baUrfadkCqFJHTi5hjwls+XE4QZBOsTK1rrkaDZ79ffJxfu+kxrh96frOzWkn8Xqhv/V0O0krE4v+DXCg1ElIVoTsnk3XTjtQrlLEroH8pibFi7UJm8Bi242J7eLkN5goHOBL1JRqrty9k4kTyoEoE11xxW6+O/Vv38ykWY53Jn3zO3enr33jf6bdO24BSK+msLYxrYA1pSeemk5fva817dh+UdqyaX02LtLNftBu+pVjQn2fPBdtPKhV9aPd26brgXSMPjyEctUxpC+vu3IhXXIxYnhoaj1cYzaOzmEvl0/6n/xUcqLeGjL7tNNZ175bN7KcMJYefezp9ODhHdBGa0WaNqydPWx/l/7nq765wOXPS0aBBszfRS9ethA2SJ0NwIYgZ2hDc9B37VAu1YFf0PGyswiErv95L8gISt4bzysaeaRr2pG+Hc1Z4xe/+MUMbNqSlcuT8zNefUOMxhnPo7zVPHIF+BPvBHHvXYNUg9Y1VvMQaBTxCtyWITqgecQsWsC0PnKMzq4FHMOZXpQh8lvON5w0NE3pZ15OLjQuL21M70zSWS7t+mfm5RXpWj8vyxucp/lVw9Xu4xsR328GWJ76die/oRaPBFKB1WPSTPMEtmc9Zm2Wvag9nPiyfbA57d7amXZsRgzJOZbtiA/b4JyeHZWixAxJpIUl2dTajZaw4lfEng0AwDjShqEDezC8sCGdaNiZLhoYTT2diHUBS83Yyb09DVc9hJgt83X8drtHK0bFOxAztrN22I7fxO/9cFNPcSSaa6PN0H8KGedtXz2Svv7MQvr/XjuY3nzVRhRlRgBErAahKTs6h0F7OLoxzr9ERQmRbEt6aM+B9Oef/kH692/dkN538ybAmx01x/ZjSJ7vT5rSbxYOfJK0j4yeSE9MscZ+YAit12FkzNqUJQJldLMKUu08IOvr6Ab8Vgoghfx2tedTTHSm2Hva0LQRJbBuTPU1pE5OxunEZF8bYKk4tYMJYeY46WeulaooFqBle7NN5bIxiQoQPXz4aBo6/ABHt91OhrV1+ivhRPuZncwy4bmM9ftetvFMs6bb1aMVnxo3+93v35c+/6U/TTe+6sfSJTu30wZsT0vp9ntBHgBlO9s7+tje4SS7yoFWJ7Xnqo3XKPTcv9Ge9W230Y9lAhyvHEuG2e87Pjacdm5pSj9yGRIruG8nmQKqCtSQDPG/e2Dd18unYya1xLqxda39pq6kv4RxjTlsJre2d6O9PJqeHt3EGvBm6q428rOGFqzv+azzcylQfv0wKdAAF5S7agySZr7Sx7ZRhgsgsJEpVg1xr+JRG6mKO3JqDtJyP/pVV59HdHTBSxCWK5RT9GzNbdu25TVS06g16uc2yGq5Io9IPzqUvwVy/TCKYCN3m43gbxl1htGZl4CjbxwHpKiztKq+i7xyxLo/1bIZ38uOLFjr5Lata+R/urTqkn7en1H38K2LZQ/f+3gX5az+9r4axvvn/vaUj9ozQTkrLjHIWJdJDJyPITqexA5aM6buBgHVHvwu1v16OOiyC/TpYR22F4tAHgPWCbY2o0yzgGk4tIzgtNxaQNoMYAcOHcUQQBOGIOCK3JcJsAnsvMrrgrNwxodZG+1m0B7EuHk3WqCdtJ18nBvfrlanjFhwixxTN3KMtUq4aB79wacOpFu29qSffdPFgA8cHXWcmhxH01hDFgykaPfOwWlNA37TAPtR9Mtmh4fSLbvd1tDM+ZRY+xnhBBy2huQ1T0qlKLzB8nWzN3pwRzoxyrLDQ7cLw+yVpX2d7EcCpZx8hk5pze0cFZ5FPD3FodUTWkLCgMXEEkpdcJlzbHtBro1Il4kBkwOVi5zcKY7UIIBtNC4BK9qbbcrLb+e3cQI8OjqCMtuxdPDA02l29IuUGW1tTre5ctf21C9wMpHYzFrwdgDBPpeaUA5ifdoyqwj2yON70hf+5tPppmtfnTYN9mKQfi59/8n+DCDr1w9mALV/2YerfcdGG+Xx/ny5ajuOvmzdXaKx/00woRpWtHv0OBM+jlN75bq04yJsFoOg87Q7v4rt69kRj+9jW492R9tYcHwgrHth3SZzz0NMpluQuG2qLRs5gYi6/zDqfL5oWdI9PQUa2I6xZGeLxu7HFiBshN6fztkpDWNncV3SA74FPDkrwcgO7jsbU3UWGg080reR27DVUHU26NqnYmLLZaO/66678sCvso9rsXZq45xJGeX4bMiW1TVHLQCZh4pLltV0TM9wOtPUWbYoX5Q3/Pr3OcIKf0zXeuicaEgnZ8Rys4q4LZdliLxWSOYFP44yr+SbsO/CxX2Ej/fxu963/HFZD9uOs3UPdNaaj8dgaVtVLnWKdb1pfnvOo4Ar8DYzKKkE1MU67DpEv/OA1gniTjE4qdyDLhDfBs4dYOIR4CpIZdjJI1wuD2Vo4Xu57tdJGp0o13SzdtgD2PRioq+bLTntcLUqBXWgRTpHOZ/CaMDDxzAc8OhU+pmbt/MeQCTf2neoGfKfHMdgAtyHoGFXEBgVjW7idI/J8eE0h4arbWuK+6bpYTDUrTrUGbhsWrcDJSNMJjAoa+h/cvhIGn3kDrSMJxV+57rMoa47BWCeACwnBEtEgxylDcBjCYetE1rEabYfUfaOk7739i25TUW13lsG+1cVOG13ccW39Tv5fWx/TnTVUTh48EgaOvgdtuDcBWD0pSt3b0vrUBKb5Ru1Y5XqsssuIX2PFgMsOtm6wskpivHd0rT3yf3p3u/fk3Zu28xeUM5vZc/xVrjQ/v6BfFRZOxIqy2f7tyzVPhVlOp9+ta1ad/u5l/3ficQkRiYmmFQdwci+pgIv3twEmA7m49JqyxpOcihhHgbzn1yH6C72GrfJyLV/+wfHOSyhk/pj7o/tPjGB8JvUf4fzWeeS9g+fAs2ujdipbOB+cLVGBTAb4OkGdxtldF5Ft+6F1BqQAGp6cpR2VJVodHamaFCCqh3LcF4CpQ0t8va+NhjXjCHceuutOX1FvGqw7t69OzdSy2wZLWvV+dw0dKYtd/zEE0/kDqTWq9yf74P7C5AzvHEjvUhH36veSYPlXIT3vXlIY9dS7bzWcdeuXbn+dmhdlHW5tF7sM8sS9dGPe9Ot3lfzqT6Pe/24j7jxLHzr6/eIK76hfp61y61W3nuvpq4an1qMmYajJJPURpk7Gb3UPpU2eRzL9Pc7PFvSyFe/llZtzXYEuh49Mcv35ig38szcE/G6AVe1Rwd7MI4BuM6xxvmqbV35u1hGQbiZfKVZG/syPXx6gu0e01MYn6CJUVS4YfYTUqZ2rCN5ZNs8RgiygXzAvREAXWrlFCNOwOnohqNmzSybgkOha57DqUd7X5mOPPlEmuRA6AkMzE+jVTznnlDAsgkglBP2nM4ewbGZ9Vju5XY9b9O+owKPfvS72rNnOU5plekVdMOvtlu/j7/1nTR30Q9d6xwf3c6EAFu9GpJA1M2XJh0NPAg0JwDFXsCCtsyWp5aWi2i7cOVwqhdv34qiWWf61vf2sgbdk3Zs4YxQNF2zCJf0q30+yhH+s1/x/N2ZV7QR772CRvb5TF9E7E72+3phBLDo9PmvH0pXX97NKSwaX8CMopYwaF9ExVcyUevzPOJboERI/77z7iMcNN+OXd51ue7BkMTkIb7J+atpSfmlpEADVnpoZzWlILlB1+kc3Hfu3JmBShCwERgmnPc2FAHQLSE2TvdT2mkECsPbwX0eQCKYxQwwGpXvXE8NbtX0HczCGT/ytaELzBotEJhdtJeTE/DNNzqI4R1QBS45T8HL9AVf1x1t2JbDcMaJPMI3b8uuizIH0OeH/LHcdkDFsNZFV41v+sbRl5axZuwM1fytY9SrGi8n9BL/iXJVi1H/LH5Xfe/jkj5x+S2818+X7xSLqZzEfY4TPmk8x538Pj6TTn/LmScPa/nW0lLJxbVa01bEJserwf3MgcAJO+hNwRnLKbeCjAsZ6NCEhROVi+1mbaynky0gmPXrwdKSnCsJYoBigm08aMQiqsyjKX8Fz1n2aJ4YwvLTsT2psYuTbjgBBMYEUfaJdHxiJh3HnOEx9tNMoLW7wDYbz/qUi5SjbKcNCdwZvDNIAoiAZzMcrb5cr+3l2cvfNclGPIu+FL50ikt6Bd3i2/gNon3aR+RGDxw8lIYP3sm67ffTlZdclQ9rV1vVdroeoxM7L94GjWvfbKkRcTnKX/7Wme+n/uZgGp3uTrsuRiMZLlRpkeOD/bK+XJbjpXBR/2pbdGwLWgRnqohXMF3XNZ9uuHI9RvY5Xg+aZhOBTMdshraxDKCs3d9xzxG+c+updVDHJceFmED4neIbvBT1Lnmefwo0PP7446e2uESDF3jk3tRUje0X0RBiJuyanudZavhd6zp2ODtohLPoNlx/R7ree9V3JBt2DKjV+NXqGydm3opFBUgHALldB0jfRbr6NmaVfyy/ndp07TS+Wy4Pn9vgLatbXUzb8IJ3gLS+4czPuhreeguYpulvBw/DGC/WdY2nC/BcLv9qXVfjfdBNv+qqv71f7opvu5JfjVNNO+hU7xtmpXyjLYXvd6rd17hCwTuv3fLc7+g3EWRnAVgvTzNRuUTOWa1j7c52A6hgWlrPWqFiYbnSbBCeAVVx6xLHws2w7jkGdznC/sxRLNvMIpZupE26XlnTlBU4BVC5SfdfA6gCJ23GduN9tL/8m2e2xfpLWkR/Ct9n9TSK31V6SjPpkScUTPDsO/b1Ixx5dmD/I2l+7DPpmksvZwLhmnNtPbwFE4SXX3FpBnqBk+gcGbeFdt6RabJ3/3j67J3sYd25lf62Ia+FVkEkylgtx0txH+0l2pp08PL728+dMAukXq6XHhtCwQxN3t2Yo7z6igE4bixgIS1RzFvjQOfTnfccY5LUnLZv28R405fHHOtu33eS7XesfpuXot4lz/NPgQYMGZwaFaOhOejbsDSvF9qoNjid2zw8M9NZbJjDswHqluu4Po90vV/JrRS3Gj7SsWPaSI1juRwkdfo+870NWGcnMYxxfb6c850g7OCyZ8+enI5iacHX5xEv8o+yxu/wTdt3Xj7zirzj3XL5X8jPqnW3HvG76nsfV4Sp/x3P9XVB4/r7/LLuT6Slr7MdeF/1vY8r2ox+9T5rG+dntW09gqnruoKrImeP9pqDu9U4RORFjXMbURuWLw9QKjJGRKhINgNmTRwrV2lbCoCs+rav6mXd/R2+dfJ+uSve6esMs5ILmgRwCBj2ZxUDD8KNjhz8crpyByfCYE+4ZkPW/rOQdu2+hGUIjbLYv1ybZm2556KssfrFu46lY5M9aScKSFUudDWCSHwz/aBFtAFpIlfqWOYk3b2046yXHj3GOaoNM+lHLsGAPprm7o+enFpId98/xmSpla08A8ltPI4VAaDxneMbnu6brPStyvMLhwLNdqB652BjQxBAtcSza9eu3OjkPhWpup9RALWRyIXpn86dq0YU6dgBbPD61bx97zM7hp1C57O4liuj4e3wdhy2+2SlJgFUV01nubjxrFqueBb+6fKOMBeyH3WPOsRv6Rou7sP3+enuI42If6Z+pKlfvbc96/R9XvW9j+s5gMrz2u/gYI3LBYDmdTGqRy6kKnTWxJqKWhXxBkDGYBq/w7d+ttu4/L3SZbmDHiv5hjlTZxrma9mcLNeWUzCggnGAualXAhjf5UIRj7VRasXF/mis+wwMsMZrjeGwG5Yww7gwxlm0HenwaAtGGdZhqB6tYaQwAZ7mEXU607Kd73BBP/OJsgU9LK/fR7pYB7lJue2ebo3vn0iPYjVqlP3Ou7e1YTYRUXeDmsg91LtmzU06Ss/45qux/uebvi/X9JsFyeWcA4sNwsbwla98Ja8puq4osNpgBDGByob3Urhqh6jmH8/Dr76rv3dAtbM4G1fxyGPH3Ntm3XTRwerjrfT7TPJcKe5ae74SLQLcqvVd7ln1vffLpbdcvOqzuK/69ff+9qoCa/wOcA0/woYfZbRsXvaVuOwXcV/1I2y9X62j76q/6+/zyxfwx3QtezgHfZWA7MeKKhcXruAwcMwSzuzHShOG9TGFqKWJSSbO06z/yWVrX7kZEfcYZ48+sK8JTVSMKtBnVCha7SAa9Q76Sgu/jd/X7xV+gKjj3DQat90cXzeHNEIa7DvKpBtx93aO4HOLkXX2kpbGi28d3zfyLP7apUADeyaf7VV19bRR2TAEGZV5XP9UzOsM3cbyUroYDKJDRFniefzWjzDVdz6z4bv26RFoGoVwQLF+L3XdqmUv92dHgeo3jpjxLHyfx71+/X08W8mvxvc+Bsyqbxuq/q7eR5zlfJ/pDH8+XNTJvu3yhVdtHbBmhOD4yFgaGxnixJOjqaeZq20EHB1PO3dfljZuGMAmL7ZzD8GNHevhDNEBFK2wzAOIxpYO+5SAVF/f81GXc5Fm/beXLo5vXk4ugkbeK+J2DlJT7qpx8o6PXtY5Jk5R93NRvpLG6qdAs43mdE6uTO5MIFXcKTdqwztfnfx0ZfGdeTtA2WDjd3SE+sbr87gMG+/1rbfgqThbi0VypHaYSDcnXv5ccBQ4XbuMdlKtVDwL33dxr1+9j3jxLH7rR75V3/vq72q4iBvv4/cPy7cPOfhH/m5tse23spbrvtrR8X7El1vRuuUg+HQ8tR2bw2Zxe3r0AHtIsZo00N+T+te5Doj93mWMKlTr/sOq0wvJJ+of31q6xPgSot2aWL8m9jePapgAznh2odT7hdCqxFmeAg2YnVuRE61GsbFoqEADBW7VEHCiAVbDna97G7kN1YYtt6hmoVtybOCuywqKil8cGHR2bMM6M9bXWWbjuv6pBq6cp3tGrZszzR9mfXKByp9VR4EqQK50f7pCV9tQ3Id/ung/zHdRL/uMV3BcTphVrPGggprPPUb7tdXrnld6IEpTrdjCrYkwOzgJJq+FMgG139nP7KPWd7XV+UzpG7TR9woaxW/TifpV6+p9vMs35c/LhgLP0c49Xa0FGsFH7VUPm9ZFgztdvHPxznzspHZ2Tfap3OQ6RMyAo8MaTlC1nDZ+fZ/JZeocGARV44VVEdM0jGnoF1cocCYUqLaVaH9nEm+1hInyB0iE+NL+4ETTy0mn1qfc12vPcFuPWsb2RfuR/SrA0/HBKwBmtdTzhZYj6KNfvY/0qvWs3sf74r98KHDaNdEqGWxIdpx9nJ2p27lzZ+5o53sAiXzdUiOAa+dWs4ABjNHAc6H4Ew3a5zFARBjfRUf3mQPG+S5/lKv4hQKrjQL2geplfxFM47J/VPtQ9B/7kFxnAGf0qbXIjcXYEd/O3/VjRv3vCFv8lwcFms+0ARjOTqUBBg+WVpTqvqjzCUQ2WMFSpSY5UE32uR+rNkN+1rLRSp/KMscVYRwUomNEp493xS8UeDlRwL4RfUHf/uAlQEY/CT/oYpwIpx/9y3udv9eSW2v1WUvfZrXU5YxB1ALb0Zx1CqQq5WipKDrRua6QnTcAVMP0Goy3c7tuY57RaZ8v3xgkItz5Km+kX/xCgQuJAvYH+0jVt/w+i6u+PtGHqn6E8dlac0Gf+nqt9Lw+XPm9tilQ07g5wzraQeQ8NaenVqtHlnncmesn57Lz2DgFUMFTLlQA1Zn3mYJnVOlclivSLH6hwFqiQPSR8O1/4ar38SzC+bt6H+/Xmr9SHVd6vtbqX+pzegqcFScaSblmsgsrRop1NQAv4PnsXDQqO61rr4qLPbA6uF3TP1sAjfIWv1CgUODMKXAu+vGZ51ZCFgpc2BQ4axC1gwWn6PYQDNinq6++Oq+hvNjOZ7ohsvVoNY07CNCugRYAvbAbWil9oUChQKHAWqTAWYOoQCegCWyaAHS/pie+aDLPLSRnC3amF8AcWn4PPvhg3r/pVhRFxT4vrlCgUOCHSwH7ZriYIMez+B3vi18o8HKlwFnb7ovOE0CqMXrNhqk9q7GD6GRnStAAUNPzEkDdwqIR+MKBnikVS7hCgXNPAftmXJF6/e94XvxCgZcrBc6aE60SSsBUi1axq4bs5Rg9+FoNWt/Z4U7nDOPlhm19LSJ5DqhWkeRAz5arPV1e5V2hQKFAoUChQKHAuaZAw9GjHEvwIpzgJ3gKpg899FC2BrQTQwwCoNq0PtcFoBo+fhvPS5HwY489ljZt2pS1feVAiysUKBQoFCgUKBRY7RRo4BSTFwWiVjCA1HuPFFO8GzZ2VRTSVcHT34KrZvkOHz6czfippKSm77neLmNexRUKFAoUChQKFAqcDwqcExCVyxQk9RXNDg8P5z2kcpQaeXet1Mv3GotXAUnfbSsCp2ugcqSGN0ykdz4qXNIsFCgUKBQoFCgUOFcUaOA0kxfNiUZhgtsM7lOOVFGtfqxvyoEKqGreajZQ8FTsGyAcaRW/UKBQoFCgUKBQYLVT4JyCaFQ2wDTWPKvP5TJ1gqmcaAHPoE7xCwUKBQoFCgUuNAq8KO3clSpbBUrBsgqU1fsQ3a6UTnleKFAoUChQKFAosJopcFa2c8+2IgGm4Ru/en+26ZXwhQKFAoUChQKFAquJAueFE11NFSxlKRQoFCgUKBQoFDhfFDhri0XnqyAl3UKBQoFCgUKBQoELjQKFE73Qvlgpb6FAoUChQKHAqqFA4URXzacoBSkUKBQoFCgUuNAoUDjRC+2LlfIWChQKFAoUCqwaChQQXTWfohSkUKBQoFCgUOBCo0AR515oX6yUt1CgUKBQoFBg1VCgcKKr5lOUghQKFAoUChQKXGgUKJzohfbFSnlXpECYm1wxQN2LFxv+bOPXZX/WP+vzq/+9UoJnGm6l+OV5oUChwMoUKJzoyrQpb1YpBQSFsHwVAOFvTxDSHrOmJuP9clUwjgcinOnhB4Y3bJyRe7bxlyvD2TxbLv8zqW81XpyQdDb5lrCFAoUCz0+Bwok+P41KiFVGgQA0QUIw8bfn0N5zzz35jNo4RWilYvt+YmIihxdcjL+SMw/B2XNv77vvvhzM+J5OZH6C9unir5TumT6P/I8ePZq+//3vZzvU5me5zd96rFRfy33o0KFc7jhF6UzzLeEKBQoFzowCjQ5C5So0uBDagE1aMJiZmUm33357BjIBxbILop/5zGcyqPgsANZ3Vedz33sg/Je+9KV8DF8ATNCgGt57wwui3/jGN/KrANGIH3lE/Hq/Pr368PE+4vm7em9+R44cSV/5yleeA6Jf/OIX84H2y9U36vnMM8+kO+64I2dRn281j+p9lKe+HPXxq+EibDyLsPXPq++rYSJcPNMvV6HBhdAGzqsB+ugwxS8UOFcUEFCOHTuWvvOd76Rrr732lIjVw98/+MEP5kPePZ82gFEw0Qk0uqq4t7e3Nw/U+cXJPwG+ET/OujVfz78N5/v6+BE3wlT9AIcoT/w2TPW+/rf5yHXu3Lkz/f2///dzvUwj8o96RRpRBn9b9iuuuCLt2LHjVFEi3KkHlfwjbtS9egJTxAs/yhC/lzvWMN4ZVhdgH+n6zDDmZ5gQw0c83xdXKLDaKVDWRFf7FyrlO0WB6mAsoDnYevlckBMsBJwYjH2uSFM3NTWVw7W1taXW1tYcz4E/XAzcvhd8pqenc5j29vacdnWQN47hjR/xBALvI+9I13gBdL4LIKm+D9AyrJfp6Mdz4/X09KR169ZljjviRvmjDD63voa3Drq+vr7U399/Kl41bA5w8o/5SRf9oFXUXS5fF+XSN6y0Nqx16ujoyHHNtxrOeL63LidOnMi+6RrOb2ZZTcNym6bPgwbGLa5QYLVToHCiq/0LlfJlCjiwOtA+9thjWazqwP6FL3whrV+/Pt1yyy1ZxHvbbbelm2++OXOjDvAOyq4lfv3rX0/Dw8P5twP3a1/72iTn6mAfl5n47oknnkh33XVXBgh/C9amL7haBp1xwgkOAoGi1auvvjpt3749xw0gscwHDx5Mjz76aM7TeK9+9aszAJueZXzwwQezuPgNb3hDTjae79u3Lz3yyCPpLW95S3rqqafy/Zve9KZT4Foth3EEsscffzxz6aZlWR566KG0f//+FGlHuau+cS2nol9F1q73Cnw+k9t/5Stfeaq85mmdXR++++67T5XF7/C6173uFGBLL/O1/Ndff30uk3VQFP+qV70qh3W9VlqPjo5mkH/Na16TaVgtW7kvFFjtFCggutq/UClfpoCDt2C1efPmPLC7HnnNNddkwHTAl5tR8cYB27ACgIP0H/3RH6Ubbrghvf71r88gOTQ0lL72ta8luSEvASRA6/77709/9md/lt71rnelSy65JOfrwP+pT30qA5TAa9hwUSbTkXP99re/nblhn4ezbCoAGWZgYCD95V/+ZQYKwTNEoJb73nvvzeAqaAc353PrLJgLNAKSIKqr5mGZBFAB88///M/Tu+47eFYAADV/SURBVN/97rRhw4ZcVuMJrG984xtzvGr5fRB1F7A//OEP5wmDYS239Pv0pz+dQdXJiRMT6eoa61e/+tX0nve8J23atCmX1zr+yZ/8SfqFX/iFDKSWT5rceeedGUwvvfTS9JM/+ZNJ+v/VX/1VXuP1vROPiy66KAP4Rz/60TzReMUrXpHBtlrHXPjyp1BgFVKgiHNX4UcpRXouBRzoHVAFFEWTgo/ckJyWwOTgros1St/5TE7VQVpQNK7xHPS3bt2a/viP/ziHMawgJfclYPzdv/t300033ZSBwTQFba/f+Z3fOQXQPg8XZZOLEoBHRkayCNX8I1252/e9730Z2OTQBKddu3blJMxX7sy6+Pzyyy/PZVX0KSf3tre9LYeznNU1WR8GIJqPgPvJT34y/fzP/3xOw0mFzncCbNUFOBlfsJSr/+xnP5tuvfXW9OY3vznTSXpJK8XBf/iHf5h2sia7bdu2DHZy3R/4wAfS7t27T9FQGlvmL3/5y+m9731vzk7APX78eHrrW9+aOU8nB1u2bMm0/v3f//30r//1v85llVYbN25MTz75ZHr44Ycz5xtl1A8aV+tQ7gsFVgsFyhaX1fIlSjlWpEB1QBUIY43OwdfL917B2Qk4cjyCkCJGAUGg0negFxgEC58Zz/ByYoLNVVddldM0XQd9uSXXWhWHCkyGjfwssL/NV6AV0BU3C1w6QUQAFfjlDOU+5cjkDE3D94p6FYXeeOONOayAEc9NW9DRGd7yV/P2uWV+4IEHsjhZxSpB2DJXw1Xj+bzqzEvwdquMXLx1lr7WSfrIJX7oQx86BeDWTy794osvzvnE97DcTj4EwvHx8UwX0xocHMyg6L3pGc71XensZCa+oc9jzdf7avnry1wtf7kvFHipKVBA9KX+AiX/s6JA/eC60gCrGLO7uzsP2A70ApJOX1AR8BTPeq9zC4mDupyizwwXaTuoB5h5X3WGMX3judbnWqEgJIcnQPzgBz/IYmcB1Lhqy+7du/cU0Anepi1XJ+gLgOYt0PosRMhRlmre5ukapmJQgVpuLiYY1XDLxY33vpN7lotfqe4CqVyw5Xdt2XyCnsb3kgZOTgRluWuddPRZ1D1oanjTizTiub551NM4ylr8QoHVSIEizl2NX6WUaUUKxKBtgLivDro+0/lMIIsBOp77znvfecVzOSVBJAb2eB7hBQefVS/f6YwjiMgFut4qdymnJlemOPOyyy7L7y2TIlHzcpuOoK0yjyJnOTZBR0CzHHv27Ek/8RM/cap8UZ7I3zzl+Ez/13/919PHPvaxLEo1jhxfuGq8eFbvW56gRYSvhrFc8dx6VsPGc305cH3D67yv0j/C+s6wQWt/6+K9ftzX3pS/hQKrlwKFE12936aUbBkKVAGzel8fVCASTOQGdRE2fDm2KtjIiQlggkR1AI/wGmeI+/q8/C0QKY5UXKu2rU4xq7/lxkxXcJEDc/1TrlNu2XhyxYKKa5ByxAKsYeVQfV8tT06YP5bFOH/n7/ydDMBvf/vb0+0YoFDcGhxlhK33jRuX7+R2rZ9l1EU99c1bEbiibO9VkPJ3hMkR+OM7uWjLa/7FFQq8XChQLBadnPU6CJRrddPATuk30gWHEwN99dv53jVIQeHpp5/OYGM4r4gnlyiQBjfkuuc+RKuxFUYQM7xApe8WleDATD9c5Otv79UYlot0TVaxrVxmvVOkK4gKeHKjgphuF8pGPjcvwdfnAWzVNIIGwc1ZVsuv9qvauYpT5ZxXcr5TxGrdjat41jhuB/Kd9fW59/r/+3//77zFxvTMx3ILmPE+6HrgwIH8TNGyLmgTfn5Y+RPPoz4RpxLkb6VRjVPuV3d/fbl8n8KJVntsuV/VFIjBVvCQM3KA997nDuS6uFd55Ud/9EfTJz7xiQxoclBySIKHIKXYVe5TJ1C57ie4uf1CDjXCC5zf/OY3M3epEk/kY7woj/c6uTBB0XRNRw7TdIObNLx5KdK1/HKOrnsKZj4PDtX9l27zqHfV/KKelsd7JwQq9pj/5z73ueeUrRrPvFy3dS3VuOarYpN7V9VOlsu07l46txIZR2UiwyqalpvWBKHPI6xctRq+7sGt1waur4e/q2WK9/Es/Hhe/EKB1UyBsk90NX+dUrbnUMDB1YFckHLN0T2X+g7cckVyRzrDKcZ1b6Prhv/9v//3dN1112XOTm5L8HjHO96R9zsGCBnnne98Z/r4xz+e/uAP/iBdeeWVmfN0zVJO7ad+6qcyB1Yd4EMc7DMBRVAXVOQ+f+u3fiv9k3/yTzJwC3ARzzACvOD6ve99LwOqZfC5HJzxFa363rqars4w1sl0Ii3T1fnb904o3CNq3gJyaCZHPMM6KRCk5ZbVxjV94/7Yj/1YnnC4ncXym5bKTdJUc4MCY0wu3K7zF3/xF+lP//RP8yTA5ypQmZ5axk4a/B66qHu13Oa33HNpUJ1w5ATKn0KBVU6BBhrzc9UNV3mBS/FevhQIsHDgl2NykBcgtKgjl6k4UTGuQOSAbDjjaDBBMamg5HtFpTrDu+4oYPhO30HcbSmuTQo4gtkuxKyCsdyWW1lMV05Ska2/DScwmKflMP5HPvKR9Gu/9msZ8AMYzNNwxo/0TD/qZTqCvGVxfdT0dD5X3GqcyN96axRfhaSob4S17JbPCYZlFpSNF848jG/dq3mbr2JuFaOCVnLKph91sPzSSXCV/io2CZhy116+D1q6bUbxuPlYZ9/V16Wav2kJrtW6R5mLXyiwWinQQGcqILpav04p17IUiMHYgVkn2HgFGPpep+8g7fOqc5D3XYBmvPOZaTrQV50A4nMv76vh/K0zH51xNXqgkysUrOJdfsgf4xsu0qs+Dw6uGm+58KZpGlGXldJYLp+gR5TduNU6RVr60tU8qnWolqcaNmhj2GqY+nyWK5PhLZdxq+Gr6Zf7QoHVSIECoqvxq5QyPS8FHHS9dIKRzt/VwT4/PPk87vUjzHLhI90IE+Ejr+rziO8zB37LITelNR4t+qiEUwXDahmWS8/3Z/M88q+mW5/Gcukt9yzSiHfxW79a53huOK/qu+q94SKtF/s88ix+ocBqpMBzp+irsYSlTIUCy1DAgbl+cBbEYuCuRqk+N06EqT6P8L6vPo/w+nEfYQ0XHLDbUtyrqSjU9UXXJAVW4yznlkvPcGcTvlrOah7VtKv3EWa5Z/GumqbhglbxPnzfVcPG86q/Uj6ne16NX+4LBS4EChRO9EL4SqWMq5ICATL6AqbbaRRVyoHqBCDfxX2+eQF/Ip8XELVEKRQoFDjPFGig85c10fNM5JL82qeAQCdnpnMN8Vy5KhCfqzRLOoUChQLnjgJFnHvuaFlSehlTQLCTG9UF93kuyFFA9FxQsaRRKHD+KFCbOp+/9EvKhQIvGwrIiQY3eq4rfS6B+VyXraRXKPBypkAxQP9y/vql7ueFAucK8ORCvcKdq3QjveIXChQKvHgKFE70xdOwpFAocF4oIGgWce55IW1JtFDgnFGggOg5I2VJqFCgUKBQoFDg5UaBAqIvty9e6ntBUaAqzr2gCl4KWyjwMqFAWRN9mXzoUs0LjwJVAC3roRfe9yslfnlQoHCiL4/vXGp5AVGgCp4r3V9A1SlFLRRY0xQoILqmP2+p3IVIgSrXWQXR6vMLsV6lzIUCa5ECBUTX4lctdVozFKiC6JqpVKlIocAaokAB0TX0MUtV1hYFgvMMf23VrtSmUGBtUKCA6Nr4jqUWa5ACcqFxrcHqlSoVCqwJChQQXROfsVRirVFA7jM40Or9WqtnqU+hwIVOgQKiF/oXLOVfkxSItdDw12QlS6UKBdYABQqIroGPWKqw9igQXGg9iMbztVfjUqNCgQuTAgVEL8zvVkq9xikQ4Bl+VLf+dzwvfqFAocBLQ4ECoi8N3UuuhQKnpcBKHOdKz0+bWHlZKFAocN4oUED0vJG2JFwo8MIpEBxn+JFS/e94XvxCgUKBl4YCBURfGrqXXAsFTkuB4DjrQTOenzZyeVkoUCjwQ6NAAdEfGqlLRoUChQKFAoUCa40CBUTX2hct9VlTFKjnRNdU5UplCgXWAAUKiK6Bj1iqsHYpUEB07X7bUrO1QYEComvjO5ZaFAoUChQKFAq8BBQoIPoSEL1kWShwphQonOiZUqqEKxR4aShQQPSloXvJtVDgjChQQPSMyFQCFQq8ZBQoIPqSkb5kXChQKFAoUChwoVOggOiF/gVL+dc0BQonuqY/b6ncGqBAAdE18BFLFdYGBZYzpFBAdG1821KLtUuB5rVbtVKzQoHnp4DAJVAtB2DGjnf1/vOn/NwQ1fjPfbM6fp0NHSzxmYY3bNTd+3p3unf1Yet/LxfXZ7qVvudKaUS8+vfld6HA81GggOjzUai8X9MUiMEzBuT4XQWJeBZhgiDxPH6HH3H9HfdnOqhHGuGbR32+8e5c+tW6VO+j/OZVfR73+tUwUc/6Z8uFq392uvpEuiuVI/KLcM+XdoSvT+90ZSjvCgWWo0AB0eWoUp49hwIx4MQA9ZyXK/yIQczX1fv64L7TLZf2cu9Ol5bpnGmc5wtXzae+/svFNe9w1bj19xGm3o/6R17176u/I0z41XdxH++qfryrlsln1d/V+/p38VvfdMNV43iv833kHb+XCxfv9E/nIt0IU83fZ9W0/V2ft8+qLtKLdCJ+1a+GL/eFAitRoIDoSpQpz09RoDqwLDc4xYB0KgI39eGWC2P46iBWjR/vjFeNW023PvzZxIl0Vkq7vlwRvj6PxcXF1NjY+LcGcZ/r4l01Xn5R98dyVPOIekc5IniUt/55vA+/ml413XivH2HiPt7V5x15+j7yrT6rxo+8qu/jPt6tlM78/LyvMs2kn+Gbmpqy/3xxjRf5eB/OeNPT06m5uTmnVX1u+IhjOF01nwhb/EKB01GgKBadjjrlXaZA/QDj7xhsHISq76vvlruPZ+HHQBa/q351gIvnkV/8toBxr38mcVYKZ1qHDx9OTz31lLenQCbCRz5RhtnZ2bRv377k4P/QQw+lGPgNNzQ0lA4ePJjTOd0fw+qW8wVg09YPF2Xwd5Qj3lX9anoRbrm4y9HLejzxxBM574gTvuHr0/PdzMxMeuSRR04VIcLrV934+Hh6+OGH86Ogl/FGR0czDe+44470pS99Kd155535O0jHL3/5y5m2RjI9n9122235/vHHH0/Hjx9/Dv0iT/29e/emBx98MD399NM5j2PHjqUDBw6cKpJhvIIOkUfVPxW43BQKLEOBZ3vnMi/Lo0KBKgVi8HRgjwHQAWhubi4PRAsLC+nIkSNpcnIy/zaMYWOQ8t40fO6gGeF8b1zfOcg60EVevjOc4Bb5GF/uYnh4OKc9Njb2t+LUPzN94x89ejQP+KbrNTU1ldM2D52/T5w4caraltm4hjVfr7g30NatW/Oz6kBu2Xp7e9PAwMCpdFa6iXrG+/g9MTGR9uzZk6yHvr/N1/e6CBe/I77+cuGsg/SKdCKMvpfPzUsnaG/atOkUF+1kYWRk5FTdDS9o+kz66PSlgc73fke/cfyOcvoNjKeLyYHxLN8111yTL7nGm2++Oe3evTt/M0FW4DRdncBoezBN62RZdJGHvmHNS5DdsWNHuuiii1JPT0+up3XV+S2N7zc3fMT3Xf1vnxVXKLAcBYo4dzmqlGenKBCDSdUX5ASjq6++Og9+zvR37dqVOQnB47HHHkuXX355am9vzxzNtddem4HJAe3KK69Md911Vx6wLrnkktTV1ZXzcpC8++6788ApCBnWgdTBUi5CQJLru/HGG9P+/fvTfffdl/N0AHYQbGlpSU8++WS64YYbcp6m19nZmQHopptuyuENKzgY941vfGMGfDkuy+4z69PW1nZqULbODvhyLg7w1tOB+brrrst1NM//v737+7XkKO4AfvyDxb8i28EgO8L4OrFlcABbxhgJ8+AQCeU1ynue8ofkz8lTHpAsESSEQBbsgsCA4CF+iRPJiiPFGMIPoxCszGfufu+We2fOvbves3jvVK/mdHd1VXX1t+dWdc8528P5P/roo/NYBYUf/ehHu4985CO7CxcuzMFfIDhrivMXgN58883dxz/+8Vmv8RnzI488MgeC8NGbeUkf6pWuTt+rr7466zOej33sY3M5euBqESGoeHz6qU99asZa/v3vf3+mw8XYzQlsYfHRj350vg/uu+++WUbwk8ydhQg8YEdPEpqAa0yw019yPHffffd8uXck9rtn6NEfOddTTz016zEHGfMsUD6MW5C0OGAP3fgTLGHifsVnDuESTIqaLjYCexHoneheeLqxOpU4q4ceemh2TpyuwCRgCKpW+hzmpz/96TmQ2cFwvBJeOwb6ODTOWJDgQCVtHNwnP/nJnaCr7LGqXdjDDz88B1e8HD69dhdPP/30yW5IQOZYOVhB97nnnpvtYLNAzHGT4ZAffPDB2Snff//9c+C0m5QEB049ThYNjwCjb87YpczxalMXGIzzW9/61rwo4JCNMTskeqSq95hyJQhWnO3mH3vssdnp47MYODo6mjFWNyb8S/qWaGTMi4BuMZLH1ZlPAVoAhI05gZXx0WXXZkFkcWKM6OaEPnPFzuw46cCv3Xw8+eST83y5R2Akyc3Hz372s/mxrtx40w5bl/tF0qfgBktl95n5E9TDMzNe/qjjN9bHpwUS7BK4jZmd7iP9GJuF1Y9//ONZQ7BVCT6XVXfWCCwi0DvRRViaOCLAOcXBcEICqd0SByrI2SnYgUl2l3jsKAVYSXBC4/g4N2WpOirOLolj43w5TruJBC19cKQCmGRX+Nprr+2+/e1vz7sJdtkZRb/diyDIJs5XEpTSr+/n6OJQyWSc+NgqmJPzCJFuSdkORj/4BQB9VAeOZsynpfQXWcGCHXALTa5On3YBRMp8JF/ri6wdt2CJN3MS/i984QtzULMIMAcWAcZt/MaepwUWSRYH0gMPPDDnApx5Cn7alQVqgYuu2p82i5nnn39+lvehH7wS+xJQ1bUZr52pxZFFC3lzkERGkruCGxp5fdb50G6+YOm7bH0fTePGW/uueujq1AgsIdA70SVUmnaCQJxSHFUa7EA80uPUOFqBSSCVOFUOidPN919oLk5KYBwdFP0eAyZxwoIzB26naOeT4Ew2TteOggP88pe/PDtWzpH+fO/FJgEPjTOVImv3wSHTzV5OVQrfXJk+2PG9733v5HvOS5cuzbuX2EGWbV/5yld2b7zxxvz9rECYfqLnLDk5/dNdsVdH115TeEKrdTKS7xTZaMEBi2ATGT+A8rj6pZdemneHFkbRYwxkJYsiwUzdI32JrHsgAR4Oebzr8Xgeoc7M0webzIUU+1IPreKmL08XzJPH/ebIIsyiio0wiX30RefcwfSRucSTCw8c6DH3j0+7VYsG9+YoHz2dNwJrCLz3L3KNq+mbRYBT4axqQuMspewIOTnO1/dMHrd6TMZRCaT5Xs3uki67mFEnJ4wmMHPy9Nrl2MXYLXDenK1+lBNM7FI4V30Jdh5Hcog//elPZ1l92UEK4NnBsZ0OzlPgFhD0T45eQUCKjXTTayzaBXU0Dp1+zldd8tjTLskOGP9Zk77gyg72Ccb6zM5IHV175iR57aPSYj97YfiTn/xk3oFlziIH14sXL85jgK+xCH76NobYABcYCY50WSB5SmCO8JBho/4sOtiqDe6xC37BKv2r45Xk7IvtmXd0ev1ASGILmv6MzSNhQd6cus/SH910sUHfyubNDtmTFAspu+ejaSGWlL5T77wR2IfAbdPq7Hi5uo+r2zaPAMfCMUnKdnw//OEP5x/6cHRJAiBnGqeIjjePUKMDnR67Aw7Yj4I4M9+zyTnHOEK7CbuRBLdRh52L9hq0BAaXfqXIjOMgh2YMbFGWRr6ZOHxEZyVHTptxVZ60VX7l9Ik3ZTs8OAhCFiXG4YdFUuVLeamf9CcXOOiBEV5X7NMuAMErGAaL6MeTuRLQ2SVAKdsVPvPMMyf44YUrfvNYbV7qO32RS7tyrbM1KTxoZI0rNEHepV77jWxo0cd2cx+Z9Jm8ynW5EVhCoIPoEipNuwqBOJXkP/jBD+Yd3tG0go/DIqRdCi310FLXHl1yO0WOPDuNyJOLzJKOpfZKi57oSL9LusKTtuiJTNUVGp6aRnqVwZd6lRn7TV3g8z2mHWl2c+TSvqRrbMc72pS+q3x0alviDy8+uz6P2y1qLJr8wGtpsRJd8tGO9JE8vGt2VD680hKt0tfaK4+yFN7koc2N/dEI7EGgg+gecLrpGIE4QLWU4+w4nUqfK5f5lNMeevKqZ81xjX2QjVzK8trHWWTCX3XRU1PalvThS3uVWaKvyY9ykZVX+/yIyqPh0Gu/tTwzDB/pO7JD8zyG0NKn+pLeSlO2AxTkPXWQIl/55obpI7Tk6CknrzRlaa2t0o853/upPSl2pZ581HEWmch23ghUBPo70YpGl1cRiJPhlGqZQOrJ0eK8Ki300OTRdxb+UX5JZqSpu9JXyku6Ylfaah55tKVyaFV/lVc+SyIv0SdQ5Yc9efxYdYS30mq5ttNXk7a1dvSMZ5QLnT0CaHRUvlqu/VTelOXRGVqtR1f4jCHl5HVcaQ8tuqIn9FFWvVMjcD0IdBC9HtQ2JhOHU/NAECelXstpX3JOlTY6tyW5yq/9tPppPFV+rRw7kq/xhZ58qe/ouNYcNrmuVXbkr/aNbepje+rJ8WR+k6NJqY/5cevVn1Wn1n312rZUrrSre7qie4lvibako2mNwD4EOojuQ6fbThCIw0keh5k6xlo+ETylMMqM9VPEu/kmIpC5kZv/pEpHSz3tnTcC5xmBKz95O8+j7LHdcARutqOsTruWM7BKq+W03+i89lHLN7qfD6o+85/rg2pj29UI3AwEOojeDJQ/IH3E2Y8580baafXI4Bt5b+Rwl/Rz3iO9BvW0x8a1PHbH3ugMPfkoj57+wjPmkUFfakufycOT+iHz9BXb9uXsqPzvx65RT/pNH2vt4at5ZGq+z7aq+3r0vF/5fbZ1262NQD/OvbXn75qsH4NLraecvCrmQJbolRYnQy5l7ael6I7cPpnaX/ginz7TX3iTj/TUk1f5yCTHk7JcCn/olTYzTB+VN/xpG/OqJ21ouU6Tj8xpOT3pq+pWlsZ+Rv7T9O9rr/1Gb/qs/V8P375+tZ2ms9qzpCvyaVuyN22dbwuBDqLbmu95tNUB+I/qkv88n//0nnb0pXIcrbbajn/NGYU+5lW+lkdd2vwi1MELbM4BD2xGd6CD/zAf/Uvj0VYTnaGNfUdv/iO//6cZfMg4TEAfDpUIPbqrTuX0M/ZRxxiZ8OM1LvrlYwrfSE897dGLnv5rW9qTRz55bFevcuq1TV06C+00PdWWqm+tHP7afmzN1fbs63tfW9WnvNSn/jttD4Gr/zq3h8FmRlydRP7gnTjjP/RLnDWe0y5vO/H/F5f44sjGttDHfOSr9fCiJZA4p9VZsOEL3RF0Ap6zco1paTz0JUW3oOyYvuhLHr105Uzg4EOHt484UUgKPbIVnwTY9DcLlI/QY1vqdDl8wok68qS0p76WVz5ll5Qy/Y5pdOyh/0bjHjBO/cHEUYhyfMZQ5VKu+lLGn/bkoY16zBesxj7I1aROVjLP7I0MWvpZKqfv8MjRjL3qSXvlr2XtsUE/VV5bp+0i0EF0Q3O/9MdenYOzRDlVb8tA52Q4La+u8qYUZcn7Qp1Ni8dRcV595VLmeAQ6JxDlzSFk4pBqzknTKVC9Ph0k7z/vO/6PQ6cbr7NZ9e0YvCT9COLsiE2Oq3NqDp1kJYFAwI1s+o4eOSfu7F25ZOwwgEWSIAYDdDtQKQFGmcyIjyCLR4DNWPCyYSnFtrRnMWC3mwCnLXxruiKfPFhENjl5c2iHDWP4O1sWTbAw5gSNukjIWKKn9qO81B5a9GT88AmeaYvearf7yf2lzTm51a7ojpxcCj352O7tPUt9V/5aprPaaL4jr63TdhHoILrduZ9HzlFw1BwpR+WQbwGFU+XkvvrVr85Huzkn1VF/jnlzHmrOmnXQeByUsuQtJ5yxt7sIkBzWUhKkv/a1r83B08r+5ZdfnvXaGTpaDs1Lrr1twzFzAqz/4C94cqwCJ5s4M/2QydmpZAU94xFwjW0peVxqLIJJAiEZ/HSge2E3nPAaIycu4KjjY4vD7zl4Ozn4wDQOvfZLT014RpoADnvv5HRQ+hNPPDHXBfKayI19VFr04iHr5QAWFRKsBH9jgJOFST3zGCbk2GKMcFZGM2+wok+wjw3pGwYwc7lftJsD9ez62SAoWfjQxxbz6jxm8mRiv3l3H+SRvcWZevqGVexxH4z2kNO3Q/Mt7pKMXR/mjb48XYEVGXr8XVioKbsHjZk9bGZ/p0ag74KN3wOcA4cg4HmpNefBKQkMcq8848wFicenN2TY1XkrivNc8XIk6C6BhZPyFg4v5hb8vH6Lw9aHvuIYwU6/N254WbSLXnVvEvGolEMUQNC9MJpzEzC1xyZyHHDe0BH9FgFsExw4SzyS9vCoC8TG5hxYep3dy/Gz1/gETG+kyfi9tYXzFlzt1vQjcBuLnbTdr2P6jEP/5Mdx6zeJLWmX02Ps8JWy6wre2it/9Czl0c0mgcLh/vR5c0nebmP83tGqnkPY8eT1aYIaPLxgWxCCSx6nO3ReQDEvbHJpF3Dh5fIGH8miyuNbc5kxGacAbUzf/OY357mAXX1BNlm2OXzf4sQCjx7zT6f5FUCNlT3mOcE+eLKHXhh6SxAZ94tkTObJHAu0Arh73P0v0aUMQwsAr05jr3l3X3VqBDqI9j0wOwPBz46RE7Q7yCo9b+EAk90JB8IJxUFxvEl2X+TleCXOKsFEnVwSx5c3s9CZsj7IyOmSEiQ54PChC2b4JLqjn+7scgR1zk+iNzzq7I1T54CzUyIbfQJNUvqLfXJj5dgFdM5eoK99kB3r0Tfm7IE9/gTB5Ojaa9I2ppEmKFjk2GkKFoKiMcPF2MyxsnEEC7grWwjltXYCoJ2ZwGK8FhN47NiT7OY8tRC0XPRaRAmE5qBiaYxZgFgsCbqeAqDnHqOX3ZFjK3vUqz34Y08e8ZMVdMnQbSxf+tKXTu4liyQLIfrMtwWjBQEcMl+5f+m2kNNmnvGOc6G/TttDoIPohuY8jqEOOQHIro/z42w4HqtvDsQjNqtwTtOKPzssjpEjw8dpcaQcLMcmINutcOZyDopT5og4nmqH3ZuEN2U2ufTlUaM2OxbOkEO1Y2Ajfvaxmd7IcexkOVaOXG6HIRknvtggMNkRuQRRuxW7cmVy+raT4WyNkzzdAhFb7OIkNDaxA26wkPRDh2spxY60CdJ0wDttcnV2a0+iMzyhreUJjrFD3aUu16d81JcgV/WaS5iba7vbvKIND3l6ktIfTNi/lrRLMDcnNVU59kR/bEWLPZ6mCMRJeKq8wKkPix+JfbFRPfyxAe7ax3Hh7dQIQKCD6IbugzgDQ44DEgTsFjhDDkPA8EjT4zJBSlAREDz2sgIXYDhPjkxg+fznPz/v3gQ5j245J8GOoxXsOGeP2SQ/tiGTxPkdHR3N1ewEVOhnk5dyc4i+h5LYyNl+8YtfnAM7/Y9POyw2GYegrmwxwLGr+9EQx+lRLVvyCJA+eAhK+rC7eu655+bHk+xksx0vO9CNz3dx6HYjMDJGuysLCP3gJSNwS+jBeSYsfMSB40vZuD0mzQ9XBHj16M08rukOPbk5JC/wW9TAB97mAo+5TGCCkSTXj4CThN/Y2WcRRdYix32TxEb22v3CFPahhSc5/Qlw6YfOlMPnPsmiiZ3BiT3mzwKm2pPFGHn3BT4/zrJLzvf2eNyn5ssTGNjAyLzSab4tEN1jbPLdtHvHYiz3QgJt7Ox8mwj0q9A2Nu8cQpxw8jUI7Cg5jOeff/6EpcrU8gnDVLh48eLu2WefnR1u6Jwfp8oBC4RV9izl6FnKq/xSe2gCA2dr1yLYn1Uu8smvRQ5vUrBPPXnoNefUOf0ELoGIw48+vFLq0SWvemKrIORJgOBp4YEHzYJFoDM/9Jtzj17tuuUWAoKuOcOfsvuCnPmEZ+ygV/B/ffrOUPLYU59kLTLq3Au+dFjs6EfAE1Qt2jx6rbtFCxjyAqrgJ2crmy1m2AMzOFlAjfYIkHRbTOnP0xULLn3QzWaLKf3i84RDggF+fVoYmBM8Ai35Oh786Ve50zYQ6CC6jXmeR7nkXMc/ejwcKufCyXFMnMbIR2H0VQjRODeOh6OrctoktCq7Vo7e2h6afI2+j4eMtM+G2j4zDx9L/e6jrfVJbZUb+bR7fJzHk7EZXarYHlOu6Iuu8NV6pY06o2fM9/HFjoxlra/T+h37qHoPZc9Z9Y62Ra7SY2/aOt8GAh1EtzHPq6Osji9OoNIIVnoUVdpYjhMNnUx0pizXPtJHmfBFbpQJvfIpL6WlvpZoZE+jpz15ZOTjGGpd+1qquvCQs/Oxuxp3zmfRSV9S+OXoY1/hW8tH/ugJf9qThy6vtJSTr/GFHr61/sKX9uSRSx4++UiLTG0LLTkZi0u5VOkpyzttD4E+9m97c/6eES/94Y9OIU4nvHEk71F0uRJe1ZSThyaPruSVpizVtlpfo89CKx/VhuhaokW89rFUDi15dEY+eW0PbSlnS02pV8ed9rPozNhqTj51OlKW15S2NZr2PGrFU+05i+z19LvPxmpPdMf2s9gzjoWO9Je89kF3pSunH3mnbSHQQXRb87062vGPP/U4iCqYNrS1cm3bx1P1HrJcbUg/S7S03eycLXHMte8lWm1fK2dsY175z9K2xI8W2bTXei3vaz+Nb0k2NHmVr+XT2k5rH3Xhl06jr7UfS/fneUWgf517Xmf2Bo2rHcMNArLVNAKNwLlEoHei53JatzGouktLsM/OOW3olbbEF56gNtbR99HGNnUpNiiHJ21onf44CKzNyxr9j2Nl93qrINBB9FaZqZtoZ4LOWbs8NH/sSD9xdglIqdf22pYAFj3y0GqOTkf0qCedRlvSg5a0JJ+25JU/tM5vHAJ1DoJ1aMnH3tboI1/Xt4tAP87d7tyf7JQ4Cil5dTCVnnL41KXKr62213rKlf9Yw5W+1at86qHJybtGfaElD2/ySkeL7vx4Z40vdHm9Rn21XstzR3s+6IwtNadDSj5Xpo+RP/TkY3tsXmtHD0/ySktZLi3pP265uu2s/OGrumNLaOFZykMLb/KRrl7nJuXk6TN8kU+e9lF/2muu3On8I9BB9PzP8eoI4zhqjjkOAl1KnnKto438aDWFX+46jT+y+FxL8ugOD3AYQfSFV+5gBf/PVXkpSKYPuv060/+HrQepOwTACTX+0z1d9Djlxuk2DnNPv/5PrEPWI+s/6udVbvqI7elvKQ8mNcfHrlxVbuSrbcq1PZiENrarVx584U0ZDwyTantkl9r20WpbLVfd6T80fCnXHD12oEuZc2U0V2h4HbbgZKTIyc2hA+rNoXqVDV90yStP2pPPwv2xCQQ6iG5impcHGSeQP3y5K0Ej9ZrTVOvKcTrKcTLhibNJXb6kv/KlD3noySOvzQkyORoPPU5Rm0MKBDNJIOJAYycafdHpeLevf/3rJ/z0OGowJ99wrJLXZTkhx0ES3jRC3kk4j08nADlrVx/+Xyeb9Km9JjYupdDlsUlOV65KD390jfVKj1x45K41etrpSFluPLUe+eRLbWu0JZnKO/atrdIin3xsV2dvlVEOTdmLBhxPKOE3dxZIDhbJcX7oucKnnnJytNgyN17+CG+ldfn8IdDfiZ6/Ob3mEcUBCB4ChiDntCFn1XqHoiARJ/OZz3xmdj6cOydhJ2bH5+i1z372sydOR3vO3qWf03LyjqAjaJH1ujR9OYpPH3Z3AqOj2XLwvTNLHR2XZBdo1+gYNkfFOcvVrsKxbw6Edwyb82wFULtJ8sbgGDttnCRaxmxc9BgrmkSfo+ocQ+doN+fiGg8n7BxayS7YUXZo+ARt56qieduHRJ/26E0+Ny58aIeLeYCTgA0L43VG7dHR0XtOgYqTHvWijzT6jMG8woddjubDl6P9vM1E8qIB2JnTp59+eu4fnuwyR+YNPrCjx3zS5T6Aj2MA3RfmXGI3jNjgbFo2WHQ4REI/6PpyeLx5F9zoVxfQjB22eNhIPn2bV3PPDveEV7a5n8whW825+Yge/I4uTNts4PRh/sypPs2he4aM8TsWkJ1s0r++9ElXbJJn/tbmJX11fr4Q6J3o+ZrP6xpNHK6VOKfzuc99bnbmWa1zspyIM3EFPc6YQ+V0OM4XXnhhbnc2bhyI4MbRSJysy+My56I6i1cwExAFWk5PolOZPdo4LE6Zw6SXs+W4HHpvl8hRJghwfgK8PvQlYAu+HCGH6RB5h+oLENkJZ9yCKoeuf8lOkv2SfjlITpzzToKTNoeff/e7352DrbEJFuThxdnqI5gkj46axxY0uDrTVjCy6zVW9qHXVGVC10f6TG5eYOcFAQKzx9Qw/c53vjMHBnRY0i+4sR2NLngJanbhMHaWrLmpyTtH2Su4Grt7wk4d3oKaQ9zR6Q/GgrInA+4x/AK7g//Z7P7D5z4j4/5jj3mgSwqW2i00nNWsbMHhHjIOMmx3T6BZoOETRPVvfpIslsylcbhv2Sv4OrDf/eL+ca+yly62oQmssYku9rs6bQeBK3fRdsbcIy0I+IOPM+GA7AglOQfEkXMYgoidprIgxbFzIByl5CByTkbioDl/7RwgGfz0c3iS4MhRCnB2kBLHyFGS1y+dgmASR5/+OD3voOSI6RIkODM2kBfwjMslAHHqdhTGSyYpzjiBNfQxD1/o6rHTokAfxsJeu3kLEsEI31mdKl4BBb9gJddH6sraY0t0p862pb44fW/gYdvRtCs0VnMoSFhsoAtigo1AJIAInuYLr37xOnTdTlJdSr8WO3aQZOjLbs8YBCwLJnPnfoh95lmi05yyQX/mlF5vy3EPmNfYw+Y6d+Tdp3a9Ajs++NDtyQI9dKDBwCLA4gdNcE9Ap4eMnax2NtHLJvcuu4wt+u1af/e7d+YxGyuMjCt4yDNOujudbwQ6iJ7v+V0dXf7gMeQPHo3jlzgMDktw4EjsZvJoi/PhcOSRxRudoQmYVvICqVU+evRzbJwxp5Xgyxkl8NA1OkyOTjBP4lTJeL0V/XaidpD0ogvOxiGAsp3jZEPspCe2Rqfcbi390EOHQGBRkcROQUFil8d/nLNgkeAkKEnpY+x7bjzlo9q6xhr9a+2CgQAvwdQFd+NKygLAWCxKBEZ45dF3Flp1ntkGa9i8+OKL8y7Ortzc1rlTt6iR0y/Bkt1sS1BWxyOxzRwkcMeeo2kRIKVvr+4z54Kme5IOtgYT86deMSCv/4otG2Jzlf/QhBMM9O+CzW233T7N9SMzPoL+0bzwnLCY+rYHTd/059Jn7U+90/lAoIPo+ZjHax5F/UOPsB2BoOdRl5zz8IfP4XJudpccmyAj0RHHwPGkLNdmJykA5zGooOqRmoDjkWIeU9LpEZrHeZwZ+VyxTW43Rfb16fs3OwM7ELpddgR0CGKcoQCHzy6C4xbQ8n1bnCWd1WZjkCwcOF0Y2N2q512h6uy0w+K0pXwvbOfFobPRzgePVPsI7nPD8KGNrfiNJxikzj7t0SGP7qoqtOQea5tTCyG4e+RsLu2o7JjR7eSOpgAVXmPyXaRgo9+KWQ162ui0yzcP6vCSmyOPPy2SLDBgqh80j1vdV/RmPO43+LpnLl26NPctSLln2KMPCycpMoIkHXbQLnVtacer3bjMP11yY2dPTZH5wx+mgDrdh9Kjn3hsns+33jp+0Tw8nnziL3Y/f+u/d794++e7//j313e//fWvpnmYfrg0fbjg7oo+ea3XPrt86yPQb3G59efwukcw/mGrc1ICke+GEgQ4QY5AgLAD48g5TA5FmTO0kyFv5xCnwbBXXnll3pl5/CrZYXBkghJnLtEp6NjRkKcTn0BYbVSOfAKW3aYdMafMXlds5VTp5Fj1abfKbvbK8Un00oEvj5Y5XoHHmMlJ+Dlf/B5ryiWY0clecmwxBjxS7SfluWH6iI7wxRaPMS1W6ISP62gKcvqhY5SLPrm28CS3ULGQMD6PXC0uLAYsTDwpMN8wlfywRtCCpbGbW9iwB07mIDjHXrhoszAKH5r+4WBeM0/KxkUHXeYCTRJALSDcL2ySfNfsnhT4BWMp43IPwluf9FV8jFU7XgseeunBpz80/JJ5M48weGeSueuuC7vb7zj+Dvw3v/7lLDsvpP7kMkZv/3L35oTnPffcO4/53XePA7e+BNK7P3xHmQc9XAmqap3ODwIdRM/PXF7TSKqjjWAcU60rx2HX9tPK2j1qs9r3Aw/1qkt5iTYzlY+1fgrLYrHKLTHU9rGMP2NW1i5VmvpIr3r2tUcOzzgP0WG3J5AJXhy9xYDdXdqrfuWkUR96lQlfvufz45ik2FXHWWWXypVW9VQd6Et84U+7vMqRGWnq0ZV8Zlr4qO21XFnRpff0O9Xf/p93dm++9avdb38z/fDtV/+3+8U7f5iC6//u3vrl73b/9c67u3fvuLC7ewq0d0wB8/9+P83R7bdN9/rtu9/+/t3dU4/cs/v7v/rE7kNTPf3OvVzua+6wP84NAh1Ez81UXv9AOJCTP/bpDz1lGtN21nLls7K3QxBIo1OecuWtNPSkOLe0j/LhS3vq8kqrZW3Rqyxpl0JXr7TgUGnhr7QluVnx9BG+1GueftHw1Xr4Rvo+fWSqDrzhF4wFaY/o7ciiN/wjb+S0j+XQKv2stIwrttZ+6XBJS3S0pX5mgcsfaVdNOXIjn/q//tt/7r5x6bXdy6++sbv49u93f37f3bvHHrxn98yfTT+Ouv+e3YMP3Lt79E/v3d13z7RLvfOO3YcvTE8fPnzn7t67PrS7cOf0VcBs7vT1xx237e66cGUnOnU+N+m70/lDoIPo+ZvT9zWiOC5K8kcfWnVAa+XIRWapjiaN+o+pV4JI2kOXV73q1Q71pDW69n16a1v6WqNpr/3UcuxY66+2j+XoPSt95FuqZyzaTrNzjbfKKSdV/jX9VTZylRZ9Vdc+WnRU/tCSj/pH3qr/n//l4u7v/uafdv/wjy/s/valv9w9efTw7uGH7p93m3dOO8rrSbP+OYBawFwJ5Nejq2U+uAh0EP3gzs0tZ1l1UnFQBoEeh1bpt9wAb6LBwTK46fr9YhedVdcW52bGYYpqWQaof+OVV92ou79+8dmrZhnuV9YMkTveXc7M0w70eM98RfTypnQiTKXS1xWOLp0XBDqInpeZ/ACOIw76A2hamzQhsNX5mYPo5TsgC5NKO/718XFkrMGx8izfQJfD8pQlQC/zNfU8IdBB9DzNZo+lEWgEzoRAAuK8w7ztOOpl15+2qijBttK63AhAoM/O7fugEWgENodAguJxwJy+bpj++cGVdNKmPFP6oxFYR6B3ouvYdEsj0Ag0Ao1AI7AXgev72dleld3YCDQCjUAj0AhsA4EOotuY5x5lI9AINAKNwAEQ6CB6AFBbZSPQCDQCjcA2EOgguo157lE2Ao1AI9AIHACBDqIHALVVNgKNQCPQCGwDgQ6i25jnHmUj0Ag0Ao3AARDoIHoAUFtlI9AINAKNwDYQ6CC6jXnuUTYCjUAj0AgcAIEOogcAtVU2Ao1AI9AIbAOBDqLbmOceZSPQCDQCjcABEOggegBQW2Uj0Ag0Ao3ANhDoILqNee5RNgKNQCPQCBwAgQ6iBwC1VTYCjUAj0AhsA4EOotuY5x5lI9AINAKNwAEQ6CB6AFBbZSPQCDQCjcA2EOgguo157lE2Ao1AI9AIHACBDqIHALVVNgKNQCPQCGwDgQ6i25jnHmUj0Ag0Ao3AARDoIHoAUFtlI9AINAKNwDYQ6CC6jXnuUTYCjUAj0AgcAIEOogcAtVU2Ao1AI9AIbAOBDqLbmOceZSPQCDQCjcABEOggegBQW2Uj0Ag0Ao3ANhDoILqNee5RNgKNQCPQCBwAgQ6iBwC1VTYCjUAj0AhsA4EOotuY5x5lI9AINAKNwAEQ6CB6AFBbZSPQCDQCjcA2EOgguo157lE2Ao1AI9AIHACBDqIHALVVNgKNQCPQCGwDgQ6i25jnHmUj0Ag0Ao3AARDoIHoAUFtlI9AINAKNwDYQ6CC6jXnuUTYCjUAj0AgcAIEOogcAtVU2Ao1AI9AIbAOBDqLbmOceZSPQCDQCjcABEOggegBQW2Uj0Ag0Ao3ANhDoILqNee5RNgKNQCPQCBwAgQ6iBwC1VTYCjUAj0AhsA4EOotuY5x5lI9AINAKNwAEQ6CB6AFBbZSPQCDQCjcA2EPh/xbtQrXKHkd4AAAAASUVORK5CYII="
  },
  {
    "path": "editions/de-AT/tiddlers/bilder/TiddlyWiki_Classic.png.tid",
    "content": "created: 20150513150003939\ntags: picture\ntitle: TiddlyWiki Classic.png\ntype: image/png\n\niVBORw0KGgoAAAANSUhEUgAAASwAAACzCAYAAAAzOiFXAAAMRWlDQ1BJQ0MgUHJvZmlsZQAASA2tV2dYU0kXPrckgZCEEoiAlNCbKL1K74KCVGEthCSQUGIIBBW76+IKrgUVC1Z0VcS2ugKyFkTsLordtXyoi4KyLhZsqHxzQ3G/fXb/ffd5Zu6b95w59z3nzp3MAGjaCuTyXFwLIE9WqIiPCOZPSE3jM+4DE/SBDjYwTCAskAfFxcXAv15vbwJGGa85UrH+1e2fDdoicYEQAItD5gxRgTAP4Z8BSI5QrigEoDUj3mJaoZzCHQjrKpBAhD9ROEuF6Ug96Gb0Y0uVT2J8CADdC0CNJRAosgA4oYjnFwmzUByOCGEnmUgqQ3gVwv5CiQBxnOsIj8jLm4qwJoJgm/GXOFl/wQJBxlBMgSBrCPfnQg0FtVBpgTxXMEP14//Z5eUqUb1UlxnqWRJFZDy666K6bciZGk1hFsIHZBnjYhHWQfiolMq4H7dIlJFJCFP+bcKCEFRL4CH8RiQIjUbYCABnKnOSggawtUCBkMofD5YWRiUO4GTF1PiB+Hi2LHccNT9QHHyWRBw1iMvFBWEJiEca8OxMaXgUwuhd4buKJYkpCCOdeH2RNHkcwhyEmwtyEigNVJyrxZIQilf5KJTxlGZLxHdkKsKpHJEPwcorQEgVnzAXClTP0ke8W6EkMRLxaCwRIxKHhiGMnktMEMuSBvQQEnlhMBWH8i+W56rmN9JJlItzIyjeHOHtBUUJg2PPFCoSKR7VjbiZLRhDzVekmXgmL4yjakLpeQ8xEAKhwAclahkwFbJB2tJV14V+9VvCQQAKyAIxOA4wgyNSVBYZ6hOgGP4AGfIpGBoXrLKKoQjxn4fY/rGOkKmyFqlG5MAT9IQ80pD0J33JGNQHouZCepHeg+P4moM66WH0UHokPZxuN8iAEKnORU0B0n/gopFNjLJToF42mMPXeLQntFbaI9oNWhvtDiTD76ooA5lOkS5QDCoYijwW2lC0/qqIUcVk0DnoQ1oj1e5kMOmH9CPtJI80BEfSDWUSRAag3NwRO1g9SrVySNvXWg7WfdCPUs3/S44DPMee4z6gImMwK/QmByvx9yhfLVIQIa/ov3sS3xOHiLPESeI8cZSoAz5xgqgnLhHHKDygOVxVnayhp8WrKpqDcpAO+jjVOHU6fRr8NZSrADGUAuodoPlfKJ5eiOYfhEyVz1BIsySF/CC0Cov5UTLhyBF8FydnVwBqTad8AF7zVGs1xrvwlctvBPAuRWsAtZzyKS8AgQXAkScA3LdfOYtX6JNaDnDsilCpKOr3I6kbDf1baKIvwwBMwAJsUU4u4AG+EAhhMAZiIRFSYTKqugTykOppMAvmQwmUwXJYDethM2yDXbAXDkIdHIWTcAYuwhW4AXfR3GiH59ANb6EXwzAGxsa4mAFmillhDpgL5oX5Y2FYDBaPpWLpWBYmw5TYLOxbrAwrx9ZjW7Fq7CfsCHYSO4+1Ynewh1gn9gr7iBM4C9fFjXFrfBTuhQfh0XgiPgnPwvPxYnwhvhRfi1fhe/Ba/CR+Eb+Bt+HP8R4CCA2CR5gRjoQXEULEEmlEJqEg5hClRAVRRewjGtC7vka0EV3EB5JOckk+6YjmZySZRArJfHIOuYRcT+4ia8lm8hr5kOwmv9DYNCOaA82HFkWbQMuiTaOV0CpoO2iHaafRt9NOe0un03l0G7on+jZT6dn0mfQl9I30/fRGeiv9Mb2HwWAYMBwYfoxYhoBRyChhrGPsYZxgXGW0M96raaiZqrmohaulqcnUFqhVqO1WO652Ve2pWq+6lrqVuo96rLpIfYb6MvXt6g3ql9Xb1XuZ2kwbph8zkZnNnM9cy9zHPM28x3ytoaFhruGtMV5DqjFPY63GAY1zGg81PrB0WPasENZElpK1lLWT1ci6w3rNZrOt2YHsNHYheym7mn2K/YD9nsPljOREcUScuZxKTi3nKueFprqmlWaQ5mTNYs0KzUOalzW7tNS1rLVCtARac7QqtY5o3dLq0eZqO2vHaudpL9HerX1eu0OHoWOtE6Yj0lmos03nlM5jLsG14IZwhdxvudu5p7ntunRdG90o3WzdMt29ui263Xo6em56yXrT9Sr1jum18QieNS+Kl8tbxjvIu8n7OMx4WNAw8bDFw/YNuzrsnf5w/UB9sX6p/n79G/ofDfgGYQY5BisM6gzuG5KG9objDacZbjI8bdg1XHe473Dh8NLhB4f/ZoQb2RvFG8002mZ0yajH2MQ4wlhuvM74lHGXCc8k0CTbZJXJcZNOU66pv6nUdJXpCdNnfD1+ED+Xv5bfzO82MzKLNFOabTVrMes1tzFPMl9gvt/8vgXTwssi02KVRZNFt6Wp5VjLWZY1lr9ZqVt5WUms1lidtXpnbWOdYr3Ius66w0bfJsqm2KbG5p4t2zbANt+2yva6Hd3Oyy7HbqPdFXvc3t1eYl9pf9kBd/BwkDpsdGgdQRvhPUI2omrELUeWY5BjkWON48ORvJExIxeMrBv5YpTlqLRRK0adHfXFyd0p12m7011nHecxzgucG5xfudi7CF0qXa67sl3DXee61ru+dHNwE7ttcrvtznUf677Ivcn9s4enh8Jjn0enp6VnuucGz1teul5xXku8znnTvIO953of9f7g4+FT6HPQ509fR98c392+HaNtRotHbx/92M/cT+C31a/Nn++f7r/Fvy3ALEAQUBXwKNAiUBS4I/BpkF1QdtCeoBfBTsGK4MPB70J8QmaHNIYSoRGhpaEtYTphSWHrwx6Em4dnhdeEd0e4R8yMaIykRUZHroi8FWUcJYyqjuoe4zlm9pjmaFZ0QvT66Ecx9jGKmIax+NgxY1eOvTfOapxsXF0sxEbFroy9H2cTlx/3y3j6+LjxleOfxDvHz4o/m8BNmJKwO+FtYnDissS7SbZJyqSmZM3kicnVye9SQlPKU9omjJowe8LFVMNUaWp9GiMtOW1HWs83Yd+s/qZ9ovvEkok3J9lMmj7p/GTDybmTj03RnCKYciidlp6Svjv9kyBWUCXoyYjK2JDRLQwRrhE+FwWKVok6xX7icvHTTL/M8syOLL+slVmdkgBJhaRLGiJdL32ZHZm9OftdTmzOzpy+3JTc/Xlqeel5R2Q6shxZ81STqdOntsod5CXytnyf/NX53YpoxY4CrGBSQX2hLto8X1LaKr9TPizyL6osej8tedqh6drTZdMvzbCfsXjG0+Lw4h9nkjOFM5tmmc2aP+vh7KDZW+dgczLmNM21mLtwbvu8iHm75jPn58z/dYHTgvIFb75N+bZhofHCeQsffxfxXU0Jp0RRcmuR76LN35PfS79vWey6eN3iL6Wi0gtlTmUVZZ+WCJdc+MH5h7U/9C3NXNqyzGPZpuX05bLlN1cErNhVrl1eXP545diVtav4q0pXvVk9ZfX5CreKzWuYa5Rr2tbGrK1fZ7lu+bpP6yXrb1QGV+7fYLRh8YZ3G0Ubr24K3LRvs/Hmss0ft0i33N4asbW2yrqqYht9W9G2J9uTt5/90evH6h2GO8p2fN4p29m2K35Xc7VndfVuo93LavAaZU3nnol7ruwN3Vu/z3Hf1v28/WUH4IDywLOf0n+6eTD6YNMhr0P7frb6ecNh7uHSWqx2Rm13naSurT61vvXImCNNDb4Nh38Z+cvOo2ZHK4/pHVt2nHl84fG+E8UnehrljV0ns04+bprSdPfUhFPXm8c3t5yOPn3uTPiZU2eDzp4453fu6Hmf80cueF2ou+hxsfaS+6XDv7r/erjFo6X2sufl+iveVxpaR7cevxpw9eS10Gtnrkddv3hj3I3Wm0k3b9+aeKvttuh2x53cOy9/K/qt9+68e7R7pfe17lc8MHpQ9R+7/+xv82g79jD04aVHCY/uPhY+fv57we+f2hc+YT+peGr6tLrDpeNoZ3jnlWffPGt/Ln/e21Xyh/YfG17Yvvj5z8A/L3VP6G5/qXjZ92rJa4PXO9+4vWnqiet58Dbvbe+70vcG73d98Ppw9mPKx6e90z4xPq39bPe54Uv0l3t9eX19coFCoNoLEKjHMzMBXu0EYKeivcMVACan/8yl8sD6z4kIYwONov+G+89llAHtIWBnIEDSPICYRoBNqFkhzEJ3avudGAi4q+tQQwx1FWS6uqgAxlKgrcn7vr7XxgCMBoDPir6+3o19fZ+3o736HYDG/P6zHuVNnSG3oD0/wK8Wi6jb/1z/BXMdaavoWVQIAAAACXBIWXMAABYlAAAWJQFJUiTwAAABn2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4yMzIyPC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjEzODg8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KnTCBMQAAQABJREFUeAHsvWeQXceV53nKvvLeG9QroOAdCYKkSIKelJrSyPZ0T/vWmpne3djo6I2J2C8b29MRGxsTsW7m085u9JqJno7ulmK2WxIlUaITjehgCIDwpoBCFcp776v2/8v7snDxUAW8cgCkfkkW7n15057M88+TJ09mpvzr711dtJQUS7okBZIUSFLgYadA+tyiWcqi/km6JAWSFEhS4CGnQPpCEqwe8iZKFi9JgSQFPAUEWP41+UxSIEmBJAUebgqkzyclrIe7hZKlS1IgSYElCiQlrCVSJF+SFEhS4GGnQFKH9bC3ULJ8SQokKbBEgdiUMGnWsESR5EuSAkkKPLQUEGBRtqTm/aFtoWTBkhRIUmCJArEpYVLCWqJI8iVJgSQFHloKJCWsh7ZpkgVLUiBJgXgKJFcJ4ymS/J2kQJICDy0FknZYD23TJAuWpECSAvEUSEpY8RRJ/k5SIEmBh5YCSQnroW2aZMGSFEhSIJ4CMaV7vHfyd5ICSQokKfDwUeAOS3dn4LCClQPbDjk6a7nth4n4rxQGsvh8w2kvF977LT1jkcPxnNcK5eRb0iUpkKTAryYFlnRYmI6mCAXmFlJsMXaEgwcFqpaasmipaak2P7dg6alxlU1JtTkdrJWWqrMAY598evPzKZZqC0pA/ypuWpoChOxUl8Ip3xSFU7Dgu16W0owlqhxsfnbe0lSA+VmVI91sfiH19njkv1SeBVencH58TrokBZIU+NWkQPq8BycBxOz0pOVmjFtmdqYtyH9+HoBJdWA1l5JnEyMDlpuv50xEoCIQEhKkpApEJkcsN2fRZhYLXJzAX4Cj9LIzpmw+rdjmJvosO7/AJqbTXXoOs/SPA8nZGctOG7XFjCKbnhXAUZaxActXmrOpisspg4KlxaluyysusrHhMcvLz7bRyQyLWL+lZpXY1IwL4cozp/LkZS/YTEqRAHaeD0mXpECSAr8GFEgHdpwTJszOzdnhF7dbQUmxLczPWmYk06an5ywjI81arw/Z2ECK1W9vtB/96KoVF2ba/GKqTQooCjNn7bkv77MP3u+x0dFpy8jMsJm5FJsXYH35te32+ckxK6nJseptjfbjn7RYUX660l/Q1HLRMiQmDQ9P2TOv1tlCerG9+84Ngdi8NVbO2/PfeNZOfNZhZ84OCPwm7LkvFVtWSYNd/eKSHTqyx/79/3Pcfvs7W6x/ONuOHu2woqJsm5hatNzMRXv2K3vt4496rL9P9chMXXYa66uefCYpkKTArwYFlnRYi4vzlp6Va598NiwpZ8iqi8btiecP2AfvddjU1KwhiKUtzFhHz3XLzc204dEps6kByyss0PcZS0nLQFwSgC3Y6GCHlZbm2sDUlCSeTEeJ1PRMhUm36Ylhm0rLstTMbElaqTY1OaG/cevvz7foziyBXbqNDg1abbTSJsdnrKIiR3LcoC3OTVhpdYPd7Jq16+3zNvPhNYFdqqaHEWUraU7Txb7uHisoyDHJa/bhu802PpOpaayAMyZFbkSTBLLe2lJaT9y15ZiMlaTArxcFblslROKZk8g0Mb1oJVmzkkoWbHxy1iYFWNMCov3RaaturLcf/KzVdpf32ZPfPGSLKVk2OzUh0EizKemVMqfb7Gvf3m+R3BIBzoSml1k2I70T07I5fd9SlWJfen6bvflOhwBl0coz+u2F39xvZ051WtPeBcsryLLJ4UkrqiizsydvWNPuGsvOzZBENm9ZuXnWfK3DakqmbO+B7Xbm8qBaY8Gk1bLOG1fsP//uPhudKbRjv7xgR57aZse/mLKBwUnLzJD+DLSQ87PD2M/A827/KqBmxU5CQxpNpx4rpEXa8el6P+Gmy5vN5iuFCRfDx8Mv/B4Oc6931IHoIYMN7neGJl3K5c71j332ZQvn6dWKfMM/Vf+QZjhMLLr0lbfy5HvSJSmwkRRIRfrg1FH+3Pnu9DJ6Ob0Sp0eK3mekC8ovKnDTxamhLnv2tSesZyBi//GHLSZcsqycLBvo6bEXv7LbFjOrnH9n55TAJltTTQGWHEr7tv40KyjKtWi0yJrb+233/ipLyyq201dGpUif0bQu0ypKUi09M8dOnRvSBRlzVl4WsbLSDC0IpNvVmyNWVFqovyKb0hTWUtJtarDNfv+3d1qkKGqfnBjQVDbdiivLpQtLsdlY/WAkmJM6UleARxNF5yftmKopDpR/2I84mg3b8KzZtNJJF126pqXIV1ji+7RIlz8AnydpENeHIdzA7KJ1Ky7vGSoXafgy+Xj4BfEBhOA9nK7/jh9/4TR4D+oU+Gfo+5QQtj9W3iBsUE/KR1gAqE+Dhi+np0s4T7rBmJqPMhIOoBqIxfF+pM2fxgWbUJ5DGtwIOxfqW6Sd/EvSYL19INBh0XNDbk6di86IU5/TlEp/6pLonaanp61pS66mdHn26dFLTqo6+slVK68qtJJCgVFZuaaV7TY2NWefHG21rdsK3DRvYWHWrQBeHliwztZua9xabhlvnbSqLfvt1NlegUKaDQ+OK41UK0iTYn183i72zNjI0IRVV0RsNqfAhoZmrH9iTgsCaVLEzzvl/MzUtB16apctpkbse987Y2PimNwcrXbOzjoGASAWFlOsY2reJlT+uqw0MVaqfT4ya6VCo6n5OcvT0iXMBiCNqa7jiluSmSawW7BmMfzvSqLrWcyz4/1j9gfRDHu3P2Ldk9O2JSvdsjUtPT86Jyllweq1WNEyOmNlShfqtc/M2768DMtKWbDDORMqV5YdG8ywH/dLZ5eXaTMqz4QkxxJNg3unZ61A8cZUr0ytyNZmZ9gZpZuqdOtyItap6XGhvk8qPGXMUA5likf8YcWpjmTYdUnHVSp3llCmWXm/kDVpB8vy7P2+ILyqYhGhEc8hxalJmbYvlaXa93oybEdWiqPLKdEFsKvKyrCWsVkrVMs/ljdnLQv5dlW/96ZP2+Ol6fa33Wm2IzvdmlXfag0QgO8vJ+fsPyuYsqKSAvth55zty9Vqblzfok8lXZICa6XAHZbu9C9QELzy7/xmtETywj8tI9MBGp0xKztiMzMDWo2TFkn+jO9z+hDJyrTZUU3XJDU5iU1fmGLmi6mvXBm0J46U2ytPFtt8SrZdunbTSjQV7Ggftdq6PEstqrCOzjEp+zOss2PEtjQU2mJ+md3oGHWgR7lwk2J4dF7dvVoYSJ20Z4/U21//6JpVZFMKyqp66DkxM22/UzliNVUV9qPradY/2G//48GItQ+MW4UU9a2jqTauxYUpmV2Upk1K4Z9nZ/tTrDJlwLIKyqxYSvzG2jx74/SsPR7NtpTpTtu5p8J+3iqJr2/Y/mXTjOWXVNnPv+i0//KxHGsZz7H5kS7bHa2wN66l2r+7OGCv/0a26pppeSlD9s/3FtinNxetYKbTarc02keXeu1fbE938QptzNLzK+3/Pj1g/91uLRgUVNsPT7TZf7Ivy5rH8q1wcVS0kt5ORLgwmGZF833W0BC1jy9225/tE2CO51p/T7v9iy3lNjmdacXF+Xayu9ueqhKkKM64pJ9cpdFYXWI3RjLtK7sz7fHhDPu7C3NaMBmyP98t05LcCnv3zE370ydK7HKv2Qu7i+xtTdn/uCnPWocz7asqy4GeTHvzdJv9108U2NmBDJuXlPunj0RtYMSsMnfS8gWaJ4aztGqMFCwETLokBTaAAkt2WOG0ACKYnW4GQDkpC+YX4KRLorjRL9BS/9/dVGj/5vXz9mfPZ1tuQb71jZrNiPF3NBXZ65+dti83arQtK5VUNgh8KLUUy42k2dX2ads/OmJPvviYXbo8YkMaufNyMuxay7Dt3V+pWV6OfXis2aoKI9bcMiK/KklQ2dYsSS5fUs3iguQ9McG0CiphyVrbhu3ypQ77wz88ZE/tK7PmC1fdNJayT8u+qzx1xnZVZ9j2xlzrnEm10+M91lBTZjWlY1aYn2v75mesdTDFbnQO2GNNVZafn2/ZWf2WOZ9pW+pzbWQ8Yuc75uz57QKrxVn71lP1ARNmZVlLd6/taaqz7sEp+29erbBPWjPskQpJijsbNf2dse/smrWDmuZmZmDOsWDPCOg6R9PsG7vHJHFts1mttFZlZVu2VjJ3RXMl1eXaTy6n2fbIrDXU19n1rlH7H75VbcPTGdYk8F9Mq7XWvhnbXZ9vtf19WmCI6vek/fMXy+2agGN/3qRN5GbZlhrpDuez7FzXvC2kZdrLO9OssjRf0/gxDRoFNiuDkN1aCe6byFCdpu3rO3PtjZN9tn3rFhfmz75SYx8IbJ9pkmQqkeylvSUanHJs99yMpD0NTLOj9uffrLU3LqTYy9ExS921wz6/PmGHoxGrqyq13sUp+7/aRM88LbTQgZIuSYENoMCyEpaTprTqhy0W00M371RmiymaiGiadGMizU6f7rGDj1TZv6latJyCQpuWYj5VEtbHR7vtpRe32b/6T3c6iWtWhqPzirOYqlFYEpEmaDZlmXbjWp9V1Vfa+cvXxczYXqVY68C8lPuS8KScb+2dsEKtRrYNimEmJanJ1OFm/6QDzEWtPLq0hFaYVmRrOvNW24wdPtthhw/XWF9nh7PdIrdx5dkkpX1phSQOpYuGCUnwWu+MGCnHDuYsKN0Fy5Hkd7ip2PqnVM6FMasvz5PuLdummD+J4Stzxx3jpmZoOixQSZvpt87hFCuUJNmuMl7tGLfK8jori/Q7gO8YWrSzrSO2r7HMLgrIa0sWLUtTp7GZNDt+fdie25EvgubZ2FCPZeYUWWb6nCZfqdY7Om8/ax2z7Vr5zEqbs6LInHVMlFn64qRWZrX4oTY40TZpdcUC/7wim5lYtNLMQRuYzLUv2sZsR8mCNVTX2rSARQ0ius7bz3vm7L9dLLTBSVnaZpXa2d5Zayqdt67BGcvT1DRdwHW1b86yMiWhiS6dfVNWobrU5HTbkNo6TWCbkV1q41MjNjg2Z/mKM5c5Z+0TAs2cXtFYq75zolF2n+pXYJe7FzTYZFhDZoqm3NLbbUBHTSaRpAAUSHn5fzt5x/CH3idLupD8nHSJ+BrVFQK/fElBGdKBDEoiGpNOaGtVjlVV5tv11iFJD4vOpGFQuqdK2WhtbSiyju4xAZmAQbOCTGlh0yWWDY/P2i8kov3LZyO27ZFD9pd/d95KpOdxhqrKpzhXNlrKa3hcU0yBGNJekfyQ+PBDssqVHgqJpHdY+iJJYVPS14yrPLjq0oj0WNIDCQRHFH5ODDMv5j9cHnH6m3NiRjCoQmlc0/fXGqTcl66sPCvVKvMz7HzvtO0py7AL/XNWl5fm1h46xKQHKiWt6Nug8slT2nvKs+z9Nq2OChRJi3IOSbH+bF22tQzNWe/ErPRbMvPQEtw/CBh+VwsHmaKdgokei0EZsjXtFPOfkcR0sDzTelSeSa2oXh9ftLq0CfuT52rsjUsz9nfXR+y723KtXWA2JN3grHRyhyojKve0K3etaPBx+4QVq1zoGstzNFWMpCr8nE0ovTbRo1ZtiRNJrVW/v6Z6n++fFcikWKnK8PfNo1ajOIWiK3UZUxmfq8+xE13T0q1Jfyn6bxEInVVZtxZIT6ap+F83j9l/sTvfhUnRoPRIdY590DbuBqgGSVbt6gukgxI/6ZIU2AgKpLzwv34OD93hkOJnpNPJQhsdc0he6pcOfJCIJqbVIfVXKOUribD6lYZSV5LMsBSw+Zr+EQ7gAXDmJA3lSX/y0pMF1rhnl33wcad9eq7PisVMrFbSr2fgFjkATlGW9SOsiqaykZcYQkVMBwwUfkI6moji8h2A8OqTLvnLptRqxZDsDppSGrn6flrS246I6iK861KkRn1vVZpblPaQykJxipXeGaHcPjG0ggowzK5ppWyPQI70JxVISTnF80WZhNTLJC1H0l+gQUuxAsUfVNqxqkmpTk0X3YraoBi6VpLIDaVXooKhMM/WX5Yre4qd1OBwQAB0VuWsUjp8T9fgcFn5bFM8VuW6RO/tMdAkzzFlJPWh9HEplqnwuUp3PJY5NMqR/xmlt1XxhYHWL1DfrzxEIv1pmh2ry+daZjyoOisr1w4dKmtUdOlTWkzzdmSn2QcCpUMKoyB2QTQ6ID96zKjC5CsfFdl9k1fSJSmwbgqkPPe/3AlYdD5YCr6ig+N40JFx6qvOuY6tQIy+OB4+XGqcv0uLVKV/evnpehscnrYPTnY7nRTxSdrHJS3yWM6Pb/iTHmEoA/HIG3+fr8tPfnzDic8UByCDpYN4xIehmfb6uLxnEE5PGI904HVWEPHT/86P3zA3zpWBV4XFn/qI913mPr54d8mRBmFJn/L6PN1ih/xIlr95lTRHaEw+EWUS/n5HuWNlIV0Ambr6cvApnD+/ffygjkFdKGK4Lp4OvuhpsbJ6ujDD9ukoqqs7ZiS+btBN//Mz6ZIU2BAKpDzzP5+gT63ZrdQh4/39b6ChVdNMRvkKpoLi3vvRoX3+8RUN+/v3+CdxvJ+PH//7Xv7+e/zTp+OffPfvAAMTXejj/fTqXPh3+H25794v/AzHCb+vFAb/cDj/7p/x38PpJN+TFNgoCqQz/bjfbq/0TPR+t2UGESTpkhRIUiBJgQQokP523zTzhwSCJoMkKZCkQJICD5YCKT8/1i5ZJwlYD7YZkrknKXD/KeAXhe5/zmvPMUWrd6ghki5JgSQFkhR46CmQjv1TUsB66NspWcAkBVZNAVag7+bmtYyLGRIyi1+5vlv4h+FbUsJ6GFohWYYkBTaBAje6x7VbJEMn82ojljbOYx8Jhk3KdhLj6zZtwi/Qc/eWwk3IfXOSDMyfNyftZKpJCiQp8AApcOLakDPaHtIJJxhWz2JNLcSq1k6UCu2OAMB6tA2lXoCWp9NBkLLuIZQ9wNoEWSclrAfeBMkCJCmwORRo0da4dPbbSu3Df1PaypCj3SdIXb0y3C7SXl2ALEcHCmTqUIONnBbefTK69vo+EMBCy79ShX4VUH7t5E7G/FWmALoedhAk6n4VV+ESrduDCvdAAOtBVTaZb5ICG0GBewFX+Lt/54lbDeCtp6wspo1pqpfOXXhyc+503gBs+TdeaEgchl1yy/+jRKgmyv4c7S/ekDTjctoUwPJS0o2ecastzbGugUkr1Zw5WydATOi0getSBlYWZ1lJPgcBml1sG3HHyUQrcq1AG6Fry3JcMRFl2TjNgYAMbLwnXZIC96IA4MDJuFk6rywRN6XLUiIRLjNZuX/B8JOTugYvV8cLaZp1L8eRSjMqQ3a2TpO8j87zXo/uMpjUhvqp8SHHPxW6I4F7EVae26y/kIAgU8x+TTfhYc64iwfG9eayKUp3LwpzqB0rFRz9UlWSZZ2D01asY0dmpezjSJjrXeNqfLOtlTokT8exVBRF7OfaEL2nLl8ngM6L4PNWpEr3j804olcXR+xQU8mvhHJwvQ2TjL86CnhJpr+/3yYmJtTHAuliAeCY4a6AIuvt7dXprA06AyzPJT40NKRTVked9AEIAViAUnFxsfX19VldXZ2W/dOsR3cV4D8vhgfYOAkXACM8YFdTU2MlJSUuTfJqb2934YlLOUibP+I3NjZaTk4wIHd2dtrAgO76FAimk6bCEn9ublblLXbp+nqtjhoCDklWaZNDOutMR8DqNI7cjELLKQzqvdq0Vhse2Gej/ma4ew8Va8jVj1McLdMgqalc0lVLj67z0tlMgzrziVts+nUWOGiMInBWEhTnb+EOb9PlEgK0y53jOjdKV4ZJIqsSkPXrHK2RSUYIxGr3uH//OOLTAJvTCPevIr/+OQFWgBSAApiMjY3p3sthB1Y8AQTvACHCEZ6w4+PjS2EBM8IiqfGNMJxEC9h0dXXpfgGdAScQAlAAHRzvmToEsVtHUgNUABTgRTrNzc3uHcDzjrwBK8KOjoy4spLG5OSUA1Ifbi1PeMSd1qEu29s3oPrrYH/nNr8Pwy6bxaKbMiX0BB6SZMSpoeOxew17hqasVOeRM78GoJDAsnT+VHVJto5JnpFtSIYDNaZ+zL8BM6aNAFy7jgFmdYP4kHyzCOLLnnz+alIAkACIABbABikHsEEqAjiYJvqpH/4AHNM2QMP7EwcwAXzwIwzvpO2f/p00CU/6fmbBN+9I132Di+W8Tol3wuGLzodwlIeyUG7AkHirdV4i6+qfUHwdy72gC1R6A6lz757dDsR8mvBQUKpb/LQe3qKK3BXa0TduBeL7Qh0M6cBrA5l10wBrPRX3BN2oJ3N3GjKVzqtLEXjeaiKNRPpOB6HDBN+Cr9RhXuI5191zRRm3BnGrNY2QJpGbNHHhhne/5RE0VGBF7BnBBU7+k6TAJlLA892k7Kt6JBBk6zallNh0NADS+N4aFMbHW3fRBL7wSZV014DXRrtNAywKGjBt8HS/hefcZnPLxRhelYwPexv2OxoHJFXQhB2XZnAr9OkP3nL5HnjuFfvx//4/2ZHf+mMrKq9cKuB73/t/becTz9qFT96zp775z3SXos5bj7mrp47b0R/8tc1q1G760gtWXFVjUxpxD738mg+SfD5kFPBShhtQXN/RoOL62J1mCbeFjdUjPuxSmFj/RZLi//hwy5EhHJfvt/f/WzFcWfm+QjlvhfzH/bYpSndPUg8uS8/bwIpQt9BnKcyS19JLkJwP4BNP5BlgnG6mnrauqxesfude67p4ymZnftdOvf+WdV4+b09/5/dsZlJK2mnpMHT916JGB75d+uXb9tg/+W1reuSwbq/OtuOvf9+e+fbv2uXPP7OzP/xr62m5agdefM3ypaD96O//xsobmmz7ocftkx/8rRWUV1tpbb01n/jUtj9xxJoOPuakMTpj0m0+BTyd/dN3s6XfoSJ4P//0n8K//bsHG/eMNaX/5uPFP/13Hzf+u//tw/E7/O6/r/bpBQDiTetml0iEK/hWdhPSm6Vy8YkuVQnAc319dbO6+qYC1srkub9fAJye5vN27pMPLJJfYm0Xz9iVT96zyh177dQ7PxUg5dJLBDRV1nLhC2s7d9q++Wf/vf3tn/9XFv3Xf6lbrfN0a4zCyDFtbHjsWavettOunPg4uI8xXfcnXj6r9xkb09Vbh179uv343/6F7X7pG3bi9b+zhl17LSOiJfZwL7q/JEjm9o+IAl6q6+4ZsKHhUQGWLkTRrVAICLOzc7pFvcjaO3ps7+6tupFKK/mtXTYyNmmVZUW2Y/sWR6nNApz1NsPGTzLXW6JNiD8myWn3C1+zI9/6ZwKebHdVGTJ9RmbEqrZut4mh4CLY8aF+5zc3PamrwtoVNl+6qgxJZNM2PtDjSjaj6WBWXoEkq1J3SWym7uqbnhiThLVVdzNq6Vj+ZXVb3FVi81Kk1u9/zOm7XOSHtRdsAs2TST54Ctxo7dQ1dbPW0dVvXd0Ddvb8dTv2+SX77Ng5+/DTCzYyOiHg6rU3f/G5DQyObohkt9m1TvsLuc3O5EGmj3idKtDJE5AUlpVrGSPLdhx60vIragwg26733KIyK6qsEhAV2tb9j1p2QZFd+uwDe/qfftfyZA/DXYyEL6upkwIzzXILiwVYulhU4XcefsqGJVXllZbbFklS6ZFsK9d0sKJpj/W3t9qWPY84fZkf9VaihRPDkcKZxspRbh/HP/EPv/M7UefjraR/4TvOT0d8+ETTJ1w4DR/f5Ue6+s99Vx3vNT1aTZ7JsMtQIEbjAl0SjGnRzh1bLDc7y7ZGayzaUGVN2+p0YW61lZcVa6qoC4a31VhTY62VFBe4lUXfB5ZJ+YF7barS/YHXjgKEpmGeie5WrpjaaymIWznUKgsu/L4UIMEXz8zLBU+0g4TLf6/0wt99+uH4vhzxfj5eOI4Pe6+nj3OvcMnvDy8FQuzyUBZyQ6aEMaHAVZAK89v98R4bufnoX10YAsSc/+2/4008n0bwOxZ4tY/QNMwzFOcDxTvsvgAkhJzALdrgaGAP430wfVjOsVzc0tLijP36ZSGNRbWv7NhYYElN3iv9YZhIfGxxMDrEKBE3ImNCbHJu3ry5ZCeEZTZupbTwn9GV9uHvhMeAEj9slLArgr7kgx95tLa2OotuH49whPG/E3lS786uTmfDdOPGDUdP8qJ+0IiyY5xJPZPu/lHA8VKYuZQ1ft7R771Td1jiX+/3MD3XPSWk2p7JZ7XChtEnv92f/qGje+dfefp39gm6OCE/wjsGcc+AgD68TyuRJ21CPIxSz+vaeC6FPafniM4HGhdA9WnP04C+jer32RvD2jokuxUddMYexo7+SbvRO+m2DLVoexFhZmSPdU3v6aoj4Sk35wjBkDAjoINh4sWLF62mttYZCba13XQAVlBQYIODgwYjs2oDSPBeVlbmQATwOH/+vKs34AJYXb9+3W3P+OKLL1xabC+5cuWKAwS2ixCGLSS8Y7wI2GHN3Xy12aXPNhWMD0+dOuXKV1VVZceOHXN5ACCff/65bd26VfqNbrt8+bJVV1cvWXoTF+tsrLvJ04G5iEn6bW1tLg3i0E4YWeKgA+DqvwN6V69eddtZfH3YwtLR0eG2snhATKQtk2FWTwHaDBoz0NJOvM+LRzHcTsOuUL8dn+nb6NiEdp4EFx/Dsfw9jG7dq4RUDAY/fnlAW2wWbJf2ARbnyxpdxLgR247DfsCKoix3k3Suzt4Z1b5BrNePXhpwlu5VxdkiqlmZrNi5zh7X3Kmr00ty3Dk9hB0an7FWpXegsch9T+ifGNU/PN+nvAVCAqQSWcv3CKiK9awpzXYANqtvJbqmnrODPrsyaI0VOXZV+xwJ0z00rUY1G9QNzNwqzf7Gtj5dCy9L3m5Z7lfJSh+rapgVhgcUkFaQLLBqBhhgUPavwbwVFRX63W7sIwNMysvLHWgBdpWVlW6rBowOkCGJkEatwA/JBH8ckgzpEIf0AQMAhg7KO+kAcoWFhS5PQAmLbNz27dudtEX65O2c2oo6YMUNoLF9hHzr6uvs6NGjDlzYfgKoAroAKnmTLuBEOZ96Sro8gRmW2qRVWFRoU1qB2rFjh6MF+/IAdQCQuDiYJek2ngJ+ILjS3Gb9A8PqExPBwo/aeUG2iYhQlRUlUrqPaWCbtdqacgHWpNpV0rB+F+TnqK9N2cH92104n97Gl3T1Ka4LsEBothVc6xyzIl2KygkMZ1uGtV9wwPIETFxjzybmHVU57jQGfhfpNAb2CuZoa05EQIQ81jM8JUCSBXrKmKsBEkzX8Ixd0X5CZWGl7sJVXUMv610cfqvp69u0uZo9iZyyyJYgTl7kALMJladGm7KRuBrKcxxYcsBZ38i0ba/KdZa62fqt4riwXQK8lJRMKy/IFChnOQYd6O+1zEiOY8KDBw+6Z15+niFRAVQw+t69e500BZCwURbg4TugVlpa6qQSpKNDhw65dxjef/cgATiwQRZQAoiQrOrr6x1AAABILuTFE8BB4gKA2MjLfjYADocESAfEFRcH4A/I7Nmzx+VJPgAQe9wAp6amJpcmIMlv0iNd0olGo3bp0iUXj/SQLMkf0L5y9Yrt37f/NlDiG6BFfNzDxAiuQL9m/wwNj6mvzch0YVqD44KAqcyysHwX8/Ctu2fQKsqL1JeGNMipH7b3WHFRvuJMW2f3oD35+N1ttx4EudaldPfA0SfAudA2KpBKs+PXht2evzLtAQSQAAU9rET7ijjZ8KymZDuq85y0UyOA6xiYsnyB2IAkGM6aHpcE81hjgUb4NPvgfL8RZlZMWqsnJzwc2Vvu5tgPw9g8r20+MzPYuARHiKyXAVeKH/YHOGB8AClR5+OjFVzNCp2Pd7d8AEukJyQy3EpxvD+gB6ACyqstz93KcT++Oa1qgPX3I7vbwH41GXpaY19VWlIg6T7H9VP2FvLNO/ouUn5aWjCrQVpnQMTPp+HDPizPdQEWlfCg1avp0bCmelvKc3USg84Bip2+wLExTAORVND5sOH5jVM9dmRniVXqFIYxST7uzCyd34PLkg4pT4d/odsC7JhmMp1Ep4T0wzskXw1geeK7xkI0UwLuocKvNC2Jz+Nuv326vkzhsLxDJPJx4VzJne8tP33zcQmeqAuWJaCF0tZ/7hnKy+e5Uh3j8/EMGY7naefD+nz879U8w2mF31eTxkaEXU8dNiL/+5FGuA/ej/zuVx7rBiwK6kErkUKj7xrWUTHFkrgAjdW6jWoIRhK/6ueUj/coSJjpA+AB9O6sgGfEeJp4/5WyWe572I93XNhvubQok5+q+/A8PQgtF8d/9998Xv73ap73ah/S9nRfLh9PU1/PpTCQOiDBbXW5W73ctxiQL1eHpTxIWP/7vOPD+nBMZ5mKr0a6jU/rnr9VTzbbM/VmkcXnfc94GxTgfue32mKvS4flM4vnW1YhlkQGvWK8BiH06qQsf9KoJw4M5j7GEiQ8zsUhKf10/Krnve5aiyWx9ACY0MnQyXjHoUOBaVipc+/xFViKvfyL79hzkv4GdK4XpWVnOpIhiwbo2nIiAWnHJucsoiN0MmJiN9Na4pMl8ZEk3UUACs833v3Cg8+HUvh3/1y+ZObqikiPkp1nOHz4PT6+pxP+4TOb4sPd6ze0uJujDLQH9F+J8Zma8M33j6X0YomH/UmLei7naN9wXVy+SpeD8vD39HDy7b0KrgxYVGAKHNYDLpfvevygCzpOaABgrcfRpnMCP6Z8s5xFNzQq3WSW9Fi6fEIqF7bpME2EX/mN8zRZT76bGXfdgAUI0dY3eyc0JZyxnXXSP8WY0xVcH2FElN3hPgHDMokZ15SQKWP4I0rxCcUp1Ooi4XD+GfxK/F8a7cKFC46BWd1iJQ/9CX8cxIYiHH9WzTAPQGE8MDig4211PpcUz/yxAtfY2OiW92GCvLx8hS+xXD3f/aJHCwsL9qj0bpR3RmU/3TJiXztcZR+e63NTWkDoy49WWbumtae1KEGdIwI4QI7bSlh5fHZPqTVrZXKblP1lhVlSyE9qJbHD6YdgSEwgPPOhdPeMj1IexT3MBPieO3fOKcpZLaROlJfVQJiMVUqYAH0TuiQU8azyUTfSxvyBRQHyg2lYnURh72gihT5pAITkA/1gXpT00IdvmDdQDr6hZyNt9FvQmUUEQIjVVOi8ZcsWp/sjPS9xURfKcfr0adu3b99Svkg10WjULUjQHteuXXO/PV2oD+Hxp31pT9qdskAr6EO6mFycO39Og16q7d692/lRXxY/WLWlrJ7Gy/Uwyu9XQTkJBMdAyiDKcOwGVecHV6zN0a78eZ3gWlLxgH7pyg0d3jfkAAm/SZ1LxwpgpnhxYHDMKeCn1M9RxL/w7GN26Uqr+sWIfemJfXcOFmspyCbEWRdgecJ06sx2lvrryrLdamCpFO4wLqtq6LI4bRR9FSNZmVbYbgjcYGK+AVZXOkb1Pcsp3YmHPRSM3FSdazd1cF+9zodu0fnwVVK8b9EJpnQMtek9HeWj4RmtWIWD0ei0MDN+dGSYCYb9+OOPXYd99913l0ZQ4sN0MCNmCTDihx9+aE888YQ2jLba8889a4/phNRRSVE1Mm/4P99ps0fqdYKk6vCT412SJiVRqqBjOiL6P7zX6hYOkLhadIGlBCvbVZltWarnmxcGnb6utiTizC+oGCuMb775c3vxxRcdc588edKBCAxFWVjVA4hZGdy2bZsDDUAoKsYGZGBy6oqJxZNPPunCYE8F0/EHiB0/ftwBNmkAbjAu8UgHMMDEARAC1HkCKDDsyy+/7NLF1OLHP/6xM7kACKETjnD8BvDefPNNBxqeCQEVpjuYO1DHN954w5UFQGNBAYChbKw4YgKBLRpTMcw0ABlAFzDFBow4ABjA+zd/8zf22GOPufyoC3GpH99/7/d+z5WL9hzoH7DfeO01uyYbM9L4/d//fdcHKMdLL73k6ArYeRB1EWP/ONWB+h378pgFZOtkA3VpDW6690/tCF1T5J8pqWWtDjqR/0Y4D379AyNWX1vmlO9IVfBhROe6NUZr7VpLuwa1wOTFz2w2Iu/NSmPtlFWJGEfUXjoddM7ppOqlcD/VLDsdKdo5zrhbq4co0TO0THhT0kWjwObtL3qdyQBSV7sYFxOBTtk6AVJpEodZNWyQHRRMf0orjlslcbx5usd21+Y5oAOw1KarcjAInZVOzAgPU8BsMBX+fiSGYensjLo0thPNF3TKZEYgUdAhkRyCuMFtuYruprno5vZWa+VLv4ty0y1fBqXYfeXrfc+WfPvpyV47sitHwJxp9aWBTVqR7Lw47/7VnUWSziSaL6Zap2y0KgvqnSQDQwKyOEwesCJH8sPG6cyZM45RATAkHBxlp7NTdkAGpqMz+nrC8NSf8DwBakwj+gVYgATAAMAj/QDOgDp/ACSgBv0IDwgwvfIAyTfCkyflOXHihAM26EeZAFTCIiUySBCWsvGOVJMvSTW6NerKThoTOu4HwKTuhKE9KBd0p5w8aQvSxvF7586dTrJCwiJtyoeZCfQA5JAEs7SfDhCdF/h6OzbCUU76SEaM1i7R5f5R45L22LhoODCmTcWDVlSYY7k5EWtp67MdWyu1T69muZj31Y/2x+3c3mBbtUewt3dQbVPqJEHKz+pgpgALV1+rVXcYWW77tnr3x7tPg/eHyW2I0h1mPXZZx7BqVW9nrQwDJQ0x5cmSXgYww9wBKQSpqVg2VUhV0GhQ+h8AbUgAB4ApGWdFji4IE4dSgRlSGhIbRyOTRlQ2Vet1dGKmIl4iYAoBU9LxYUZAjD/faDA3kgU3odC6dPBchadbMP8P+ofGLXlQ7swMbbhWx5jU1A9TDhYZ3j/ba689VnXHKYykCVC7PJXi4EC/8mLKmu1AxU9RKAvlhsHwA1wpE1M+6sEzLQ19RLA07etGWQlH+kgI5AUIEd6DEsyPI4x3vLs6xOJDL8qAH+GRPHkCJn5aB6ggiZE+ZfR09SDqARAgIi2mUYz23kFn4vm8CEdcSkW5aR/KTNlIiyd5Qgvaz+cHjfjuaeDTJU/8fXl4+jzIk3fqh3O0UNEoH+/EbZdEeLNNRsHqh61tvTYtxkc3NDYxbaXFeSpDxOqqy0Rvf6aUSyr2j0vM9Z8lX6WpxPUz+KZ/XT60DcAbjUaX8l6Ks8kvvq6bnM2ak98QwFpz7vcpout8sbx4v61Tyt8xT6xTBg1GYDpqEIl+5V2se/mfS0+fB2nd7gQUwrlA3L6l5/BhfPhwvnzzK32uCP4fpR1O3ZeFcsZnu1J5gnxupeLDeX9PC5eRS/dWWF9mH9aVU5Xz9PTfw/7hsP67zzNcd/xIJxw+Phzxw999ejwBn7vFXylefB7LhfN+TGFbpLfzAwC6n97+ERufmLI6GWXikF7S09HXxgBZDUP8+L5E3ZcGO9GZtmTwQh/2IAHLVSL2j6dN2G+pf4Q9494TCUMU3/5x0e/6c11TwnDKEJyu7RvXMxH+tIZnKN9wgTcjLC7WuKF3p8h0kfFcSn1NlQwThnc6N6M1UxzvfBj/xN+Xmfd26ehY0WuQhMedb3k5uhwjdV7Ky0Dp7aUUwjLSI6kFaSGV4ItTN47jf/Q9SA2M7rhpSZpY/jO9xrngt/5xfv4fn5RPkzL6Ox3D9SC8l068/9j4mFM+kzfO+9/2rgxgHqQSwqEsZyoVDrscWJGG9ycs8akn0y5ow1QXh16R7+E0w2n7d9qLKSXt5enkEgj9E87Pe/v4/PbvTHuXa3ekMD81RNpimhvWy/k0/ZMy3WjrUTtnadqfbc3XOwVc05reSi8pIHOgJfrNapUOnRYW5wBUbm7E0aa9s1/HueTLuFrXxGem2/UbPTr6pcLFX+r2PrM1PuFFaO95MtFkoBX92dMsPt5K/uFwiYQJh0/0fcMA6xbzBG+eidwv/YMynWV8v9xPAcPywnLvPo0Y27oYiVbMh6OxWAFiVESpC9NVVlZo6pHldCowMnoUvtOZmers2N6kO9wq7FrHsFvx5Lqxa1rBY+r6eFOxDWvD9L6tpVqVOm9Hj52UXqTGHnnkEceA5Iui+5VXXnGjMWmi90HhjR6F/AEzmILpE38wBsy7c0eTzuIqt8+0x5KN2UyxMQFhiszma65G4/3RbcV2tX1UjJHmpqBcTMvqInsk3UZtTVkObi2yywqzKCZ54WClFOhHLTtH010x2oEDB9w+P/RgbBtCagBMcOjz0A1RB+rElAvJAjqhMCc84EFd0A0xdeE7eir0T6w00tkBFuiNch0/6sx+QxY5UHYz9SM9pnLkBw2gPRcmcCkIAFlWrpXb7h7HOCwksNjBQgLhAUBoyIICaaKcRz/Fd/RfAFilzjhrbb3h2hf9GcBIvixW8A4Y0z60P4sulBU64P/OO+9YrfxfeP752xieATdNqyl9/cPW3im9nHRXLKAUFmRbaVGu9FvTOi1jztE9IiDivU/6rrrqYkfL9jMDbuCrqSrUbTYj1tMnANc2r4K8LIELynYxS3hUd62yun/8VJt60FbZUhnMO1VBMLUlNQAXUEHyh0fIFz9+YwqBrpaFHuIztQbQS0pLpKNrcjpK0qBveOdBkTTQt9LGtJEPQ14exGg3aN3Y2HgbbX1ad3veyvFuodb4DToAOjDfp9oczabieu3ZQyGNzorTD7jaa3IGxtUJoOkguxSmAogR6X2wX8rTd/yntf8QqQuL+dU6GBJAgkFYXbt+vcU1Dh0fwOCUBJbu6bQ5YmrMMp58qsr+9tMuO9Y7bb8RzbOG0oidvKk771SnLVrN4wbrfDFbeUW5IzxL8TQqjQQzw7SsRtLYf/VXf+WUwuy7g+lgPhoNZgcYANQeMTcrNwcPVdrl7kmbEj1yVf8+bVn65NqIHdlWYO9fHraoygFgcVoExFUw++Km9oWJxtla3OgdnRWds+2Hx7psW3m2W+x4RrdOlYgRL1y8rOX/vQ5ootGovf/++465oQuAwgohdABUYWJOa9i1a5c71QGlNp34F+/+wioE+EggdGbAgrrQMWF24gB6ABjhWX1j9Y4wjPa0BYp09E4AC0/yfu+992z//v0uHO3sARKmIzxpsRGb8rBiiB8OGgNGAB4ruNSLdGnXM2e+cAsM0BugBdQIRz15Jw9+UyY2hbuNwUoThqfdoNkdzuHJooAvw7p6hjUVLFa4PAG0THAUGIBC6qIff3H2hnvu2VGjfoVujtVELTpkR1ycwaFxq64scmmxf480FxcDILkj3zV4ABDkefb8RdUz3+0lzIiBDMANMGH2wGpnTk6WG2QAnAzpYHkCOgxC0JdnX2+f9h5WuHbkNwMe/R160/7QHB5g/ym0RWLF4U+fov3hQxZ9aE8HWPoO3RJ1mwpYvhAA04wAB2kBG6QfftZpz+wusTM3RixPACRQd0v/gBFIjRX8kAArV2YPN6V0r5DyvV+M2yCzice2J37zs0f9ChG3XSMvyA+hIDAjOxIAjUFn5v01LXcjLTQ0RB0R/0Cg9ZsqN/chMh3cWaOz3bVwAJhSxonFAjfaM7LTOWAEwIrRHcUvzEQZ/uiP/sgxyOOPP+4kKRTVgATMiB9SReuNVsds0Ozrh8odQGMO8cwenaqghYpDqneu6MMCBG5Xfb5dah/TvstCq9BJE0iubF1C90XZ6nQSxTtn+7UBXcaBwvjS0jKVbc5JFNSXDvbd737XlRPmBGzoUNM6DnpifMJJKs8995yrF5IRdWMq99LLLy0pt5EKkVSQUmB86u2VxQAf6UJnaOpX+gAyVmnpxKz4wRgAH+YbSFX8hmaUBabCEY5O7iUswJPBBvrBANFo1NHzyJEjbrqHZICkxSoh9aJslIvykCYASR70A9oJ8ANoAWk/yGDX5cviJQPKAnO5qZ0Y/MnHBMqa1sHwMD8zCKZ3fAd0M6XLiugbtk+kRWzqhSMMcb1TcVSm4OgX77fmp9KioOSVpylqGuVQuY7reGRWjYMVQh0pM67tbgLPDH13NFcZhwSiTz+5WzTKc20Gz9BXaXv6APVg8IEmDdEGe6XpFdc2DNDQmcGftuWddoK+xBkeGdaKamADCJAF9AjoST3JPxG3qUp3yqB6WadMGpCwDmmagmLxk0vBES7tAiM6wIGGAie5MG282jHmzBrYDB0R0iMxcMrClBiPI2K+9nh1IvVKOAzID9PFOwgY7qjx3xP5TQPDWMs5GNBLCct9v5ufp+vdwsAQn1+VHkbH4DRp5Tbexfp0vLf7zagJU8PQG+k2gqaJlOfy5Ssqe7obwRMJf68wvtwAb4ukMVZwJ6SvmpU0xQCB7orVQmQz9FcAwuRUYJDJuenZAgX20TLlq6wodsxK36IdAxcwCryAP0Dsgd/n7UOu5om0g6TTplMYsrMi1nJDm6FLC13+NzsC8OF0BhYKarW62Xqzx4ZGxgXEO61hS42MkM8vqQhmZ2cE5qOOpr/85S8dmDEAYAKDlAxgMWAhADQ0NDg60fcBJkDL9yXeGWSoJ9Lyat2mApYvDNIJJzrgsHjHrIETPvGP6HdEUxnxlzNpOCk7Lo6pqZWEQHty+B5H1WANznlVBZJ21uJoeJwHoXBHCL/Hpx1Euzt4+fj+GZ/GvX7Hx/O//TMcn/IwCKzk7vp9xY/QJkh0uTzJK+zPO245WroP+sfrUXw8//TfV3r6cP4ZDocfjnx9+vxeWlHVd18m/H0a/hn2o4S+zviHXZBNKK9YugDWdQFWnsCcbS4/fONzJ1E5VYWmfNmScqsrZeOnHR9SYllnz4j7PaeBuK1DR/8U5dmLz+5x4BWrSjhb90751wtYAAh1Jh2kLKRpT7sgwxTXh5AKWRzw37z+CkkvNTXN3n77badXRCImLaaB6DUxBgagSBdAwr6Pcnvp6stf/rLTf6HqAKj4hvSMJM5vJDQkt8OHD7t0w212B0HiPO4LYMXledefNKTqt2HON4YnCuIqf4wOjEAQEOIzEmUJ+dV6TqdE49DYMxoRUFQT3jcQl7N2yYgTPQ5TQKY9hCUdVsEIS0OSN3HIm+/odvBjmoI/5WArDdMPRm78mbLiGI3Rg3Bw4WVN/Z7YUeJ0e0xJpzWawyTupFaN3KwskofwfGnP4i/PaYFBeq0K2a8d2VcuyTY42RUpFh3d5TbpX2JngDGIIJGhJ/TTcmhDPbxIzztTAzoe4j7fkcIYVak3Yj6KdsrBO9+8gxaEw5/Rld/oR3ii7yAeujDyIG2mZXwjLHTC+fx4d7Z9WnxgwEPdwHQYmkQ092Vahg400HWqLKINOyo49YM6EgZaQD/C4vgWEePKKxg4tQsjDGe0GfXyEhbloj27e1Aqk16wZ4/pFZJXlvSuSF150mUhbVEXDsjjRM+qysCI2WW8zD/ksx7AoqzMGqA3jrYhzeUc/oQPO/yoG3+0l//Ok7RoK9rCO/z9H3kSn3YElKi3d4Tx5cCfqTl/+K/G3RcdFgW6rVzQL1ROT0/XSfTNhdXTBXOet8L7sKSZiIPwKGnRUSGiAlCAAyL39evX7dVXX3WNi9IcJmOqBsGZzsE4NBDL4CjH0aXAQIi9TCM94MDE/Ib4pElDMLqQN3H5ho4kT+/jAjQajlGLjk9ZACzKh96FTgFwZWZGpAhucjS4pGlyl7Y/ceJpVWGmdWhnAIcglkm3Bdi0aPsSW3xg0nLpuDLEcJc6xm1Yq4UchnhSU0OMdoc5Clrnlu2o0X68rgkr1wGJMH1ZQYZAYN6uK51/+lStFWcv2Ftvv6PD3Apdnagn01ev76NO1Ie6Pv3M0zpzqdSNxoAtdQfkiIPjnVVJaPuTn/zEARTKddoEQEZ/BT0AeuoNXWA4dCbQkMGA9ujp7bMXn3vGOkdT7aPzvW4BBz0ndGDb1xnVa492QwxJldAjNcIfPC8L/pEp+8v3btrvfKnarZ4iieVLWudkWw505MgiWArgZ0HonNIAyH77SJ36BL1vGRfrgDBnnba7OBfro/TbFK0FhPtxwKgseuS7fk2fuJvzTL1aRg6nSR+in1KXQHDWU4UDWHGU3YOJMySWP/UF0HHwSCQS292hsMSjXMSh/PT3sIsvM2WPDxMfnrTWUsf7Blixdr5V7mX6g/cKh1169x9vpXDPNwhCwyE9nRIg7RcwADowBAwEUwFMnimQmGAaGJLRlLCsMEFcFIj4ER5Jifj8oVz+6U9/an/yJ3/iTt/Ej/yYx7MfjtEIUEIvhPTAqEWHABgBTZicThCRjoF8CgryZYJw3L71zX+ik0/n7EeftTsGu67z5TmlNSVlxg5sKbCfnOoNgE99sFGrgej3CiR1XBS4VUvn16RTXpGw2HHAiarn5V+n01Xn1CkvtI/bVq0k3hBAVWlBo01bpArEyNu1t3F4QtOEueDI5VEpShHdAR3qAD3o7PxGCoC+3V3dbmsNkiYAT71QsEM3/pieoLwHfAAnaA9DQXPMPRgQCNfY2Ojak/2LADj0guaAInkC7nPSo/SNpEpSkbQzKPMBSVdIT2faxrQoM6eVUm1Dyk7Tns2Ik0yJ1y3/z69pU7XoAHh3Kl6LaJmmNEqlXigXrdh0jgkJq7M12joFiGcqbAyHlvoZjMlJD7MqP221Juc6tFIOsOGOJDx9PQjcESABD9oFsGrv7NUWohFHvwxJlrt3RtVGMs/RaaPorFjRRH+Fjg07MXRz3GVIGHUuJyFSTE534G5DrgIrLMxbGoxWKgplvxcYrbV+D92UcCUirMUfokEYmAYRFeaA0QAcwAOmgAkBGSQG/GAMOg0SFXN47KlgLDoofzAljjgAD0xI2Keffto1JIyNlADwAYA4GBQQQ2qgHIBWme5IHB0dcWWD2b1EhyTDXjw24jJ9u9A6bJyAweoq2344nRVdSb/AiNETfeC8GEzVdDzwo6Od9urBcivQyRGE42BFppE9enKGPduE0BkiVQBerHiiM/RTpGwpjTWB0nG5HUugTEbz85JIBNjRaNQNAtAU+lFPRlPq5OuJtMSKG0/oDz34zrSPd0AakCKenz4wsEBPwuEH0LO3j+k4q37ntPr0R3/4h27afr5lyG2Cf+NEl+0TeO+qL5AENaZVaBllig5M+XJlOoO73jXmNs8ztWaqiGHtFdmnsdULSbRAixKXb464gyEBKqSJmlJOQ3XkdWn4fxhYAOvNdvRbaAFNVuuIS19iKoqe7cIlbbqXFf7lqzft5ecPObA6ceqK7Wyqs6vXO1y/waQCvdtrrz7u+vCnRy+oXXXMd36Owo9bdEuVAKtPeyazbN+ereKhYJVwtWXbiPC/1oAFgcLK2ZUI5oEt/B1gA2S8Tin8LfyOIpFpEGC4VhfOn2NlcIx2q3VMeQZ0Hn2ZpIY72W21qW1eeICfQSFRB40BZI71CTt/bFHY7x/7O30J9QL95/NTl5xOrUwrg2MyYdizK2on5MfKIEDEKue2rbV29Vq7OzTwyNP77czZZqfbQ6rKkklGRbnO4dflFF3d/Q746msrXLy1SkjrbZ9fe8C6G4EYzZGo4l0YQPjmpSvPZDzjmY6Rl1ExEdc9oOvuJf0UanRfq4NZkZKQnpZzrABNTklaEZgi+fiyE3Y1ZSW8l055D7swnVYKQ3im3nRwypGII13nBFKIOvHMATDj5z4TVu+uLM4nFpWPci5sEDLwiAurn3eEic8viBj8u1S2sOcmvN+tDHfLjvIhYSGd0UchD35MCekDcwIpbMUwKE2lX6j+qdIlcltOmlYG2TxPv5KQ6p4clwMpMdvAnsvrue5Whs38tnqZcw2lUd2di/WhNaSwvijoTQAnlO7oWGhApiMwLozGCI5iHEPIPq6dz82zaDTqpmtITnwnHlM/pisojZG8mA4ODQ9ZY7TRfSMfjBW9Ix7TCKZBLBNzXdnVrmn76AKXa0TsxYPa/qMbh9g3OK7D1TiNgs7iDGdlzgGzsaqVr+mdm6MoYaY26HAwxOVKMoxqn95T7sxESjTN4SJXAIJtLtQTWxemb/yhb2M6jMIbI0xoQtmYnqFzY4oH6BKPqS9TYaZj+PEOE1Efr/tD1wedmMLimNoylSNNwIn6wzSkC715ZwrJb+hKOKQBpsHQHobiO56UQKwAAEAASURBVFNnyuBYRZ2Gd5xnYqdM1m+8vZ9/uoChf3xYhVzyjQ+7XJilwHEv8XHjPj9UP4OBSioRqRKutk2obFxnlykDZF3B1yeVgn5vKQvOMLvaNamjnWY0Nc60LdpNUZIv3a/0mZCNqTJ9Li/Vc/KDq+Z9l7BifU8dLai065j64f2dL99cZww6petr0Er+sWhB5AT/ZcsNDAJjwhQou5nuMQrBKDAhHREbE5S87HNimvejH/3ISWAsvTO69Pb0OmUxZX7hhRcco2JE911ZjKOvIi2Uy/7cKZbuUS47Jh0esVdfetb+/tiQPbe72Cp14N87J7sEQHO6FWjRrXaxBI9ymEpCD/YwshMgQyC2XYcZtmpVa0LW74x6lQKq01rVapAifUrhMBD9yiOl9tlnn7lFAy5J/eY3v+lA+czZMzIcDLZE+LpDC6RLzoiqq61z9Qak0OMByvwBLAAZ5gwAHnUhDuADOKNMB7QZ0b0ODt0egAM9WfUknQCw2dtX6YAUoEuXYee5s+cc8NM2+LEKydYp7HN8v0iwiZPBYhSAbl7CgmWEMwKsBfvep+x5lMnDmAZQFiaKtMKsLW98gxd3VesATXfvpkxOenQXp+IOTi1ol4UWepRQs8DsT1+q1GAa7PogzoNw90XC4oxzLitli4uvKNIDSlAkCJz3XyJCjCBL/rHfMdxaCpbIi1/RYgsNK1hIHwASDqkLiQFmRCKA2fgNYyN1sXoHo+E3OBDc0wfzIp3xJD4OKQQlczQadcplwjc2NjqGBgQ6O7ssPTPHHovO2Q+kGN+iQ/w4SbVfeWKKkKMzwzIlmgtP7bpOaI3KRgrQQoHcK70Uy/ZcdbZVy+8Qi7PEtlfmWKNOj3j3bJ/tk+IZxk/XYYOUDdD0JgaFBYVO+mFhwU9luZmaJW2ABbCt0QZuD0bUN0fAw6mc1BFpEvoAPkhpgJJXQAM00JM6kr9fxOjp7bFHH33UfUOCIh+kL8Ih5RGObTqUB0ADGHGAJgzn6eo8k/+siQIBy0hO1ctzO3XShQDqUofUBNqjyiGTrJqOypyFPlaq7V2AF5IUUlb30IwG0UWrLdF1ffIrzgni0SdJ70G5TZOwPLCga3nvTK8IpIP7JC1s1zYRDPXOafMuFzNs0/48lqZZvWKpOUNMlC7CcrkDq1ps6ykWQ7NChp0RRoI+7USJhgUutxgX5AfHmgBgMCIjOlIV70gNABZPmBHm845RC8f0EakM5kNSAxgICyMTxgMejMl3HJLZlctXHKPC7Dh3pruAms7BLdhM+QDwWDYujP/H9Q394xXM4TBMH1n9+/hivzscEPCnTPz5KRhlpWz8MUVgGkjZqB+gypSM8AAG9cPxjXoRHgDxq5t881NG0vN0IgzARXr4h2kHbbOlAGZ656VaTnlgqkr6nvYAF+1CXN7JJ+lWTwHo7yUsH5veS1/R/87xG6kdwwz8hFfuiVABGPEbcMOpKZYcfKvkH6jbdMBCuvr5590OzRtkL4Q9kSOImHVEOhv0OvmSLlDm9Wt6hD1QlvYQAmaT0tNs0YZn7ju8JCPHqN5fPCADTZEsRvt1EY/GhaFx4fd1JbpMZC/VBPncGqE2Os/1pLfWuGuNtwyZkl4bQAHawwMW4MJJJ/0ypD3VMuYOGEBoGBCfvbAbPaNugNY70lRjhVQL4rdTN+CziJVJ4uJ7tqQxQMvpsDSVfNCAtelTQioL6LCBmcsnOAKFA/uLJXFlyJYIAEdqAsy4PRr9DFMkLkw9IymM7ROAGUDGnsK1OEwbcE6Jq6dnsiWw0ncviXg/FyGBf3xaBPXv8aYUSDT+G/joAdflqXiJgK+Ps1KR3HcPvtQngVR9OX3Zlkv7bt8Ify+6heP7d/8k/m3vCZabeEl3bwrQHVCYF8h279RNHVmk9zzxX3Vhur1/USelSmd1WccnbS3NtLcuaWOzpn+DUrSf6tAMQXFLNW1kd8UXfTP2r16psKI8neMmUIt1s3sXYBNCbJqE5ctKh4Rofg8c0hUglCuQ4p1N0BxKh8gKwvtvzKtBeHQ1GEFOaVkVHQ+bpZMuSYEkBZanAPzGirZfIWQ4TJXW/LJ0V8Iqx2MFAqIpqVg6JVllisfY3sVVdUwD6yVc9LD1S9PD/CwGWtM2pnkZ6OZqQSgwd1g+5/vju2rAciO5ykZFPNKG3xMttk8n0fDJcEkKJClwbwoAWEwJ0QFOTQXbp9ALLi6w4T8ivWNsEzg7GhCjBGiTCodjb+fIyIR0ljnSLU5JD6oTUzRFcrraRZ3vJet50n+QbtVzLD99Aaw8UHngoiJhIPLfXRX1Izzd8ukE3wIShNN0acXiQKRw3CB08t8kBZIUWIkC8BJncWHFPqi9gxVlRfbsUwdk6a4D9rSg0rS1Tlt3tM9QJ49wvjzbd6oqS+yStvAMygq+WMc9A1BzmtkUFuZaR2efHXlqv+P5lfK8H/6rAiyO9WCqxmodq3psHMWx650VPZwHIvce++EeoiArWlx7xR6uM7oBmc26O7RPLhwpDH6AFNNGDPsAv/5RbTuRceR6nQdJ8iJdn78vu//u8pGn918u35XA1Pv7ESms6/HffHrhMN4v/unjrBR2OX2Uj0Na/j38pGLourxfOE9HA3mE6+79CId/iHR4Lf32/j5dnt75gcf5xfJ3cUODUljn6NMIh3HflaRPy6ft8/H+Pu5Kz9vSjOXv6ZhwmiG92535KxVXxztp49MPykBdwj63wt/um/gv9Kas2rLBmct8sWwHuHp0RyF+07Js57Yf9hBypDPSGMcOTWhfYbaOx8HkhZNUZ9M4nUE3kcufNDgY0dcz8dJsXMiEpoT0Nwjaq0P4TjYPuSM60C9xJAUAhmTJqh5HdhxuKhHILNqnl4TaMo7slw0RAIdh46eyzGZjLqLo+7IdwhgS/RXL+j06fXRA1t2l2sCKXou0Ofudixc4FpiLFkY0l/5NHX8S37gbR44Hm5JnLF8K/9s/vf9Kz/BqZPg90fi+nVdKf6P840EhnG6iZQ3H2ej3u5WPvB6GMq5UZ8rGlBAbvKvNbeJPGR/rVh+xpwyYC9wlGZmaLn587Jxt0b7AivIiB17uVFQFunT5htXXVbpTHhobqt3diyOj425quKW+6oGCFXVeFWAhIXETS7mknAs3R52FNbY/RVqFwCJ7Vsr1LTJ4xL2lG55R6D26VecbaTUQO6ISnTWOsSRGks3akjKg5VaAr0iA1aIVRM5puqmjTnKkHWSv3Vnl8fzuUvvo4oAd3lbolH+P62zz1QLWRzrMjvOhDkZ1BrvKzlVd+HE+PGYXl5UPy7aPCmwB0+NXdJOxFJF9AlukSM6Tx26Fm2gGJeUtpujMqixt65Hha67sthjNGNX9yE79scXCCpz5P7ZPjY2N7ju6BW97xAiINTnGlNg00cmwtMfAFUty7LqwlueCBCzosSznwD/SYwsQtlaeedhCgwEo9k3+Yggs9LmthzwJjy6DuBiIYnNFefmGQSkbiyt1uUTPEFs0puyRrcXOsJcVXQZ/ToSYU+envd/6XBb6OrKGi2EZjDAARnF7U9eMMYDV6rQD6Hi9c9TKirUlZ2pYYeadPRf5QS9v88VvTy/qH/5GeT2tfBhs3qApgEx4HDTgD3riiDfLu/xIH/suwmIHhtErNOC3tzXD8BXjVegBzTlpAkZHyqCc5IX9nbdjg+7dbPeSjVk0GnXpEJewlAP6Ymt3WsfafEn9lxkCq2tKztHHG0tTVgV3/YgTNLwtHrRj1wM0hfarceSP0h06BrQNaDMwio1ccHaYK6toCHCpaE4ypiCsxiNBoecKhJHA7ko/XTj2pz5ol9CUkErhOMpkf7TIXXZQJBP9wNgz1Vmwn7yqa7u5/ECAhVR1QNezYyzKyQGVMlEYUwN26hA6jEBpJIjDNfQcl9Iqy26krRs9k2KUQjt9fdgqZNX9dTFEq4AMqQxJDMDkDKRwgwclW/5fZeMafGddvjsDaWtVnr11qlvmEyN2TfZgAGy7mFNYpW0w2rag85RKZH/SrMPtOvQ+qpWUrbJIr5bl79XuCbsosN6nyx84WTI/bdauXL1u1681uwsU6MzcIkKHofOz9QULb6y66UAYqcIgWHgDKFh5swWII1sAIZiKo2UJC2gBPlyKwROw40YYLO85Y4vNqn7PIp2PvGCql19+2Y2u3nAVxiRPHOWCYbm+ijKQH3HZNgRgHThw0AEWwHRddeUMras6J4pztQTFonmqndPtPE06Mwtm4nDAG7rh+4rO2YrK+v6mztYaE71yZLdzTOf3s6vhxPUR+50jWyx1YtA+OXrCGqNRB7JcgsExu+QNDQBVgLtxa6OuWNvhbscBmCgj9X/mmWcc0BAHC3inBFa9iA/do0qXbVEYCFMndinAsIA+bUG9q6urtBMhuOIeGkNLwjAQADDEA5Sg16h2LHA6KMAFvQgHwBHOGw6TJuVjQOEb5cCAFtA5uH+vlVY12IcaaOn3qEA4qytfdkxqJvFRcBM67UK/u6k++Op+HQEjWgJW2Epx9M9rh9d2fwFtTX2gE2DJSbL/cLzXpb2vNtuVh+8IFDi92qDssUrE0zPSWeHBYDw1s2hV2sLTqDanPMR50C4hwPKFBLC8qyzO1jlKt046eHJXqTM/4DtnDfEXdvxuqLh1bO7hHcE1TYQpL9SoKQJhBQ8YMRV0G371LTgqJUgpL3bGUfAr8X9JkxtlMKK7pEPadokJOa2zVUyWp87DHio2gfaOzFiPwPa5PaX27z9ot2eaimToOuGmwGNa9uWQvEFNW9M1Ms3qMDk6LB0cwGBDNPfdMcpyEw6A5C2/GenYOA2TYFnOfjkYFJBBfGe7ECM70gTSAQfXtbS0OJAhLumQPpuWYSKYmPSIB7NgZQ7oAIqkAyPDiEgOgBPlYtuQl/pgLDY/jwhM2e/H/X2M5l1Ds/bTz7vdFqArAisuANlbl2r/8Hmv/dEzupSgc8JN/9kexKmn3Hok/nKdGZOUQ7rB52ene92pqGz5qNTpqExFCgQagAUMT/kAUuoBAwDy/GYrkacBDEed8QfQKDu/kVgZANhrCO34fvbsWXeiKcCPZIoVPfShbQhPnvwmbYCSOxKpO20G7UkbGlXXVNuli5fcPYcMDkiz5FEl2uTK/giQIw/a7vjx4+5gQ/IiH7YtkYbfakSa2oyk7SyyYxKI96nPPLGtyB0UqPHAshZS7ePmERtVv/vaPkn5ot0xqVr6RG9ohkH1Vx4NLkYRKRygJN7bb4WEvtg1MnA7KU/990TrpG0vz9QptQJQmS38Ur9rtF+wTGXtUrnBMJ2tYV/aIiNvbZC+0DVlW6s1aJHIQ+ASmhKGy0m5wVkIGXaAryeu+xT7QVgcEhUOIqIjcFSMfSQoIwvOjw6EdwR36RI3iAfhV+vYUjAkXVihJED0Y2yHQUTnMLdrOuCNaSKLAUhfO6rzbH+jLjbV7c7+/kTK5s4MF1NziWpZkUaplHkpIicdMyBJsX0FBqHMgA71wMFUjMZeYmBfHtd6sVzMfr3hoWGFz3DAR8cHtJi2+Dg8mYJwVMy8pEtGeMIAOhxwB9Gj0WD/IgzI9JEn+bLdBkBCQuCdeAAZAEceOAAWv6ambTZvGXaxVSd9aiEEaRZSV0kPyWILgxWH4WHQyzR6RDTcXV/o/Ny0XjpKpocchndSktXXn6h2bY4UW5YnCaOnX/mPu72Ivp6AENImexehGeDv9yZCRy9N8Q1HXYhL2QFyNmVTfqRNACkiqawrVr+JSV3EIGmGpXzq7UEc6QtpiLwBP2hDWoO6wZsLcQEp7j984YUXXUfnyjPfD0kHMAJsGSBIi0EAR/vTposqNz2UMnJuPococnEKAwIXqjAr2V6rK7OkD2bahT+LVqgeUJswpYbWbFdbi80h/Y72p5+EXY9srnDZEW3L0jS/VxJfqTbQkye/GXDcmf5YtqvrMsDT7thQ1uj0hlh3Dif5QN5XDVgrlZIK0cHDDvGYs8g5CZKGWYtDNIWg98PBpEh0awFFOjqdfyPccrRcKd0Aylf6esuftlhLvW6lkNgbuh86PIswKzk/KC33fTXlBLQBc/ZrBjCxXIqr85sWAE5rxYyjqtfj7lbH9aR7r7jxgAVPMmh0Dkw7gCyW0SjTdYATC3jO+WcPYQXSsMSrG5qBEAeQor/wBw+6KeG9Mr8P3zcMsJYr67HL/RqxNPqIMChiMUvgOF50WRDCWbAL4UF2QAm9GIpOpBk2P0NYpmA3pG96aldwgSrTOxTka3XM69PTA4kmXR19JZcoaCDJZEhCSk+7fUS710oT+TKaDuiihKI8LrNcmcHDZWQnwIDoyJlZdES2NcHk6J58GkgqSBBMF8MOf4AViQJH5+Y3/l6K8eFhXL5zAODd3EoAkyiQhtNOBPQ3EgiQzrxOComHW8iRtHGoKBCV0OnQJ5GOkIIwrnTutg5yq7bMDKYlCWfrkLzlHH2bdgoANoh3q6/wG6eva+zi8YBFakhyPzvZ7/YFsr2NMGdl+b6nOtsuasqH3nF7RQBQPzwzbC9uz7N8SWIz6lM4TnV4pDHf9TPn8QD/SfsLuc3IH1TmeqrndMUUIPO57htkavWZFLJTmruzIfOaTBUAJkCpQ9JNh4AMUfjY5UG3RYffuHHpATq0eogynxW+1TiYEVEeoIKJUc4ylUCXwbdiTdHQ9dCINA9PLkLI1jlRTB1QgCPuo8BlasAUYGBQq4jZOU6XgS6E41s4ToVOCIAxxSopLnH6DfQeTN3wm5qecsAGGLDp+52TvfYfj3XbFp1pRSeGFtjMcOZ4FopXdRimr/jznZMrfny8yz65MmQlAnO2UDBteF3H1eRrUWJSUzV3muTUuDWrjpSfqRJPplN++kJdqCf6HfzeffddN9VhisMUjTow5ensDM51x8/r0lh94ztpAHKsNHmlP9NXpiNImvwxfaLeTIdJA3qTL+8ow1G2o9OjDJQRgCU88Wgz0hvRuff4E4dwKNb5TRimXegCoTFtRFzyRWdFOWhvNYlrXyQx9H4AVJC+FgyuNFtVRZmdax23/+MX0veJppz3hPkOK8SvH+uyo1eHrUO6zotacMBukD7MgIs+lSky7oOzUmir3ViMYHXwmvR/4A3TZvozixOFWglvkz70J2q/XVoEcoOL4uh/169uPdcOVq4w+gfaeWmfAYXjZLgKDqX6gC7laOvncEgOgwzoU1WIxDVvF7unbH+Nzm2vz7ETLeNalV+wZu015AbyAw06UkgY7h3lfRBu+WFgnSURjZzEhJj5i9PdboWPFUMUkFw3j5RFmHYxIPoj9jAhZd3U78BsQrcV1+RrtUp3/Imx2Tx9QyuJ5Zpz4xjFGDUScYAMSlI6emNjo1OO0qCM5nT2H7/+urt6CuUvDIsOpUUKb5TcKFVhBlaC0HfAIHR2GAZmR/dCWoTDH0YuKCywWd1Egv6FKcs7774jW5cKp3uBgQLGn7cXnj8ifVDEtkrZz6bwN05ym0yKlUgapTOfuMbxO9pNL5F9WExAOGjWpJXV+QVMQmacCchpKb4ZIT883++U4l89UG5P78wTc7a58qAUhnm5oZc6wLCU3UtUAAhl95LWieMn3Cmq0WjUkRdzCfRunCoK4CCVcLIoivyXdFEG+hx0PtQNxTPpkZYHKcwsuMwDwKAtKAv5fetb33JleP/9953SnIEEBfulS5fcYgKroZSdgQb9G8CGg/aEgY7f+c53XFsRhkGG8gFc5O3bGGCkXFwxhh7LgyvgVV1doxR1kqaAaG9VYDP4/33Ubjd0s86j9bprUv0MKRbm/OOXG7RiPW5vnOh2APDJJQ286rNILKwEMkN47/KQPVqXq76sW7e10s03JN9rGmy3lWe5jf8M5IDI/XJuSqfyNNUE5kZ1WvUeFwAJ11VzrSQKhZjZnLg6Yru1glivcmZJwHjtoAxPVX/qRZmpB3SgT/LC5bC+Fu4Z+0EYnPfzvwPf9f+7KYDlC3mgsVjIzdROZxypkTjTCoUiHYF6YQLha01n3iaQQmRGnKbjl+SXOGBCMcgRMyiDcYmC1YK0row0MBwAQudlpQ7pgO0JrEzBaCho6dSM6CjOOQ6Y0Zzw2EghZZEOHR7Gg+lR/gJQMD+/dyktFL74AVTUB8ZEEgMcYEYkLK7FmpvTlDhNAK7rzJGiFtRpMJ1g6sGq5ZG9Zfbx+T7XcRp0PuB5XcsFWDfoKOVB0ZOD1Rgx0UewwsnG8GqBH6YGKFJxRcVFrgyYQFB36kUdYGjqxm/qQtmgCU+YfEarn4QBEPjDnzqxcgmTQy8ABBriT1oABUDCKh3hSeOL01+4s8YIR3rYhEEXwAXgJzzAxgABMPHED30U4WgbyoPUBC0JSz14Jw3oT/l4JxxtNqxryTjzjHLgf+r0KSe5kT4LI6RJHQBH2jYzootfNfAFOhqZGAiAoLOaxBkrK6tAlSFp69+9cc2e2qGLbsXc9MdKTQ8JyxFIoxpUWgVKlfrGibHo8Q7J5g8FfKdMFqpnM9zBi12SiBmA/QKTa6hN/oc6cHLtpZsy6VBdq0pkZiRBol06LUwWMOXp0Pvh7QWisVnX4IyjB+VkSpij7lSUl+5WMLm/8nxbcJflzjrxgfoWvMyUkXxw+ul4+tZvBjCHce77ev/ZVB3WWgsXA2sHaj4N/GI08V4JPwE/HJ2ddxgMxoO5YGKmHZzjjh9/MA5hYAieABLMSXgcDACzI7HAOD5dpjXHdadgV3eXs6EibZiJER/nvkvaYyUPhkFS5Ix2FiXcaK6OxfQ50AvFyqt4TPU8iFMTponYvFEXRkhWPJmisHrH4obTsqiulJmyI1V88sknrkwAMIDgwEHlpUyAAQyOHwBEuYnn6wXwUl7y837Uy0tNvBOetPjDvIK8ka6QYoO6BoMHafAN0CJf6E2e0JF8+YY/3wk7rpVF2obBhPLhR5vwZLBA2mIgAXR9GMqAJEgYaE87UQbiUX7ajyftS1gcaglmAfhPSGJCl4UeC6bEjWgLCwMvftgCou+C9kwFA0lM9dM7+lXyxZEW8ZkmMlCTrl8ZJAzfN9qRLlIs7YGjKJjzvHtm0IEl+QO4l3tnbFtZpl2TeUOBBslGvXOUzOn2SRua1Nn72YFe6+bgrNVqylgusHqkMc/+w4c9zgyjvlhnw0uyx0EiTH6oP7tRinKCc7OQTgGw53T2FrZlGyFZbjpg0XS+WcLvrqahf+72LRRsza/elCLcScIdK9yB/Lt/+kzDv2EqGAwX9ocp8CefsD/vOJ9/AEqeMu6T++e2OIif+t+n5UP53z4t/G+LF59XqKw+jfg4y/0Oh12pvrflGysv8Sibj+PD+Cff/TfecbTPonp3mKb4L1dX/ONdOL1wPv6dJy5MM5/GcnGDeNA1CBUfz30PEvTJLPv0ad9qb9VzmTYNR47PK/ztXu+UKwxYAAaH8J29MeaAq3t41rr0B5gwuxP+SuWic7Ck26JcgNCYgAvJnUP9LutyCpp1W2WWdpvk63jvPifhcyowSvuz7brcRGB2RmdoRXTwZr2ktisCw7yIpo064WF3ZcRe2FvkViI3Ap83HbDuRWC+Bw1oEltHnNEcW30Yka7qlNGtUrIzgmHxvl3HKWMX5MMnkjZhGOWRLO7lGO1xfnTy4b00wW8vVfmR2YdJ9IkEgWTg3eTklLOxKpGUEHbhPMP+4XfswHA5ofTC38PvXspAuqKeTJNxSE9IIfF1xh8/7++f4TRXeke6IQ8ksIDx7wTmleLi75l8pTDQkDJTFySn1TjSRilPfKS6sItvm/A33plGM72lbZjCruSam69psWPEqQGgwXLOt8dy39ZCM59OPGDh76ivf9BZwUtMEZHu0ZVOC5iwvD/bOqYpYqb0y5Ji9U0Y5f6Ij1TJdDKiaSKXoOizkySRJrnpCV0dgEw+6L1EYg08tGMg3W3kFHjTVgmpaOIuEI+/uD4kPY/QXbouiNkny3MUgqy2YP2LmQObqHGJoDVkp5E++OADp7eAiQAaVglRlDMlYPqCFTPTibfeestNSRih6JQwBEp3lPbooFg545YcOjt6LeKz0kVHhqEJ79NGSQxzoDxmxETpDwicPn3aKZBhDvQqH3zwvp3UDTd8o3Oj4Cd/tutgOc3NMqRP2uhfAANuxGGBgDL+7I03gmuypCsib6zfKTMW4Dg6MPGhAe/ob5gSAeLoh6g7CmsAjPj4k8dPf/pT5b9VK2w3Xdnxh575efnuN6t26P18GtSHOrdowYKVSW7vgbn5Q2FPnp4+SKEo6pnKkT80JD7lZnrI4EL60ICpIRb+OMKRBvWnntCUdqBepEm+DAZ+EYD0mDJ6hT1tQZswRWYKDP0pFwsL0J+VY8pBXfkjbcLiqCc0xNKd9qF8pFcmGqAHg4aUAwA9evQzt8hB3vQr2o3wvj+QJ3XgSZzzF84vtQ19FCDFf62SFv3CS6qUHcC4cHNCW38mrEY6rEzxFka+gBYriPqsLXPwllQg8mMFn9XEvpHglnC4qFu6rRGdRspWIqaArHoyJeYgTsCNPJhuAmKkzwISz9gkhGJsiHtIACsQ1Vk1RHwFpVEe02jsUWMlEeKydYZbYsD+RBoTsMIxoqL/gDnoRDAFOg86NkzAbzoooASgwNS+45MPK2EwDmBCPEBkx84d9r3vfc+tJgIIMAsdk7QARRiIlSlADX+Ym/z5RnlgJt/5I5m6B65UZxGpbHRsvgFWlAFgJU+YCjAATOjQToKRQp/yATQnBKp01Gg06hiUfAANwl4V0AIOMAwAjR9lAIChMat+gDLlhLmpC4prwAZw/ljXpKE0xzSCizSgG2DCFhme3//+9x3zERclO/QgPMwO7WBO4sLglJ939HikA60xKwGIAA1WZwF/wrBySxlpGwCD8gAAMPr2HdtdPtCXb5TDr4T+4r1fLOnCoAN5QluAhj/8oAGABUAxCEEb6OcWDRSefoGDXrQBeTOgAJSUjXTIG70NbfDee++5+PShVtWHbUCspNIPqBft/9FHH7ky0o6kBaiwDWjnjp0uTfZKEp+2wiXSx13AuH88YAEkrOoNavP+SU0JDzbk2dErI3a5c9KuyP7qs+ZRrVBzSsqcfaGz3FHAf3hJA8IN3WMpwaFDW7WuKiwA1qs0hrXd6oLst7h5h3PgOe68UAs/wq3bHPni/DP4tTH/bsoq4WqL5huGTcrsK8TiHKRnefVwU7GrOKuHu3SVlXPqIIk6GBLmA7AmtRp49uyYNTY2OgBgUy0MRscBFGAUFMX8ZqR85sgzgrxAeQ3jskoF8zz+xOOOSX7rt37LAQwdDABgmuAvHIUBSAMGgzGQGgAzQIvO6kdQ/GESVt6IwzekHWgCYAFkMAcSFWDBH8zG95zcQPHPCh7xARrKABMCBK+88orssZrFLGVuJRKaHTp0yMWlTDAuZSdt8oUWADPlQbogLZh93759DhygG7Txq668A6zf/va3XV0pF4wOSAF+PKFpVCBKOuRB2cgTcMEPACAv2oc28GWgTNCS7wAgcfgDAAB1rNEpH6DIdWLYkhEfyemRg4+4toK20BkHuBAXP6/QBzjqVQ7AEz/iUz7Kwn5DyhsGQsrLN2gHDaCTW2lUH4H+9DMcU3TA6cCBAy4Mgwv0YAsRg97BRw66K+OgH20E4GIi841vfMO1iUtkA/6BS+AjVp45TeWi9E1IQbNapGEfYZP0UqzwtenOQVZKMzTdQ3ke1dnuzHCKc3R7lcBMbGiFSFIiZaMuqMAuEuX8MztZOAJYN6CwCSbxUOiwEizruoPB+HRaOjqdiFHz19FRT+oIc22mowNvdGcF1GFkwCBRhz6IP0AwUcfgQF6A0kY6PxAtlyb5If0Adndzd0vjbvH4Rlzan4HC/dY/TNeYoQBKCAFM5SKSjoK7FnQMkAxGc2XZXinTGIxfATXsrvRwsx3CAnw4Vj1v9qkeAq3dsjkD4Da6D7iMVvjnoQIszwA8A8eLh+/gfSOJc7eOsdy3sJ/Xj/mS+qcP45/efzXPleLiDzn8VDc+zfh48b/D4cPfwlQOh0nkPZxOIuF9GE+/tcQPxwm/+7TDz3t992F9uPgn32+t8PnQt54+PD7+Pf55K/Td33y8u4e6+1fSCAMW/AIwfXRxWDqqdGdHhj0VAIaO6bSu/8IdlMkC5jEenJCwACy4D6ziiaOvAGikC6jdb/fQ6LCouAcjnsFfQJjw+1oIRCOi92DUQaxH7O/r73NGhkhaOMLwzrQKfQrTG0ZDphL4I5kxhWJkJg3SomMwsvMNvRO6DqZi/EYXxjSRqQ3TSKYCxGdEJw2mdIQjLSQK4pEvkhHfyBOdD1MYppE4pA7AimkPaREffQpp8k6ZfPn4jRHm3Oyc86N8TFH57r4pfkAXtv2ku+0mbB25pKvWMKC8qEMNezU1H5+adXZiV9pH3Nao14+xxWjOGf1iz0PHbtEWlVPXBi1amWc/P9Hp4rJ/lC0s7B/ltALcVW05glE4CYA6Ql/0bNSd6RgOWlB36kgYyoufp5mnPWHwJwzTSP6gHX60A0/+oAn1JRyOeDjqDk3QkTHVpJ3pFzw9fQnHO2djQWem93xHV4eKAEcetC1TSr75foY0he4KP192nkxhaTv8mepSVqb+/CYtHIsJ9D/81uK8Dou4ztJdktUbZ4fcfYPtUp6flQL+lLYjnWqdsBZNB2tkZ9UsndYFTfOuSGfF3YSPRPNUbuh0iy99WQAwvsVI6r3vy/OeOiwa9mFwjMgcmL8Wh8XzzPSM63x0NBSib7/1tj311FNOfwIQ4I9VOJboKNTxY9WIaSOAAx04II9OznaSr371q65z0jkIC9O5MqrTAVT49wsUUSKjo2ClzIMGuhk6NspmOjWAA7DML8w7puE7jAwYwogwHMAFY5EGQInuCMttDEKZChHmySefdPVB7wIToBchDRgE5qBcMBLM58v/cyl6nzh8yCrrmuz7H7dbv1aC2B60RatJnLjwgxMj9u3Dc24r0KfXRv7/9t4EOK8ru+88JAECxL7vIAASJMVNpETtK7V0txz15qW6xzUepxOPXcmkkipnyonLMzXlqUlmxk6lUlPpmaoeT6XiJOPYcU93S2q1rZZaTa3cSXHfsRP7vi9c5v+7Dwd8/ASAAEhBFMVLfnjv3Xf3d+//nnvuuefYP/tWrb2+v9X+/TsNQSL8qzuLgl6sn5zotYelsbVPWgDEbrSzAr7jTUP2gLTIcg6vQIobUe3zFx+32T9+pTroSwMgKBcDk0FKe8CcBlwYsAAE9Yc/BKDB66LubBIw0PGD10Tbs/EAfw/w4B3gTLsCAg5mtDl+5IcfvDnagvbmG8Hkr66uDuVg2eaTW3lZudXV14X2pp/AL4PvRX/Z9fAuaxAvDBBjCQ6Tns0IyoI/be6TH/2EfpGRmaHvoslJdeS7AYrw5bzM8AF9eUu/c7BdbN+PRm7098VNWfZAeZodFUXFqQr4WPU9E1YuVUmA0/FpSitV8lXIYrEEBD99+Hs5QlnwjPB/sUW67fDzAlYg2z8PGJ2lWnMtg2YJepMXHWJoMFJqB9XDGTZmXQYDgx/qBTAgHEx1rhxmpqMxY9OR6dB0XjobHZ1BQzwAgUGEPx2ZH2nycYnLbM6gJH06486dO8OgoFMDJAAQeeLYUWIgQmWRHmkQhwEHlcbsvG/fvtCRoQL5UQ/yJB9ACT/CM+gYPOyMMRjwIz4Dm3pTF36hHqpLa1uHtH3WStHclO2WVoy9OvBbqvOeHOJFuVyXVFxDdRVJxOSkRE98KbClIkNLjZ4ghvJYZbp9KLXT2LVDHxYKEtfq3FqrdPWzu1Sp++5B7TxJVW//kBjv6aKOVC7qwKQAyDAYaD+AiPoAQpQfgGHS8HYB/HkPEFB3gAigo460K4x60tu1a1eYKLx9aAe+V01NjZjtlaGN2JUjX8Kwa8tubHBq/16BKcDV2NQYAIhv4nlSJiYbJgC+E/UgLnWhjb292S2l7ISjT1HOrs5oJ3ZS5ebb0qeIQz3oU4Ad/XCpzgGOo1645FXXZVdQohL691gtRl9Am+u2U2rHp2/tsU2oxJbWDvG4OLY2Oan8tfTzvgMVjj/lou1pi8/DzcnDokBUvGu0w95vfttGOf8mCodKL6cDqK5dv2rbCx62ncWPLCprrwPgQmehczCQqRedg04EoODHrAawMJvTERk0DHg6GNQKAwcQIh2oAtKi8zIAGPzMuA2aUfnAxIH0Z5nAzhEDDeDjnoEBUOAAKy8jYfAnf+IBaoSlAxOGMgJIgBx5EpeBwsxMHcjXy85g4Rl/4gBq1I0680NYtaamOgxuX47xHt1lqPyBEuJoCjqT4kdKWNp9Is2YCPDC66AnoHaFo0XpOkBMfIQMOQzM4fVGaeMgPQYFoFeOZSX1oWEpxQOw0tLSAyhBedCeTmENDWtZql1AQIG6087Uk4HM4AdEAHaoJXbsqCPfDH+nIGkL0qsSePfrewEotAnhiIOjTWl3HG3EN6Zv+GRF3gAJbQ0AAnTkybfk/CkTG/2EfIjLrijfjQmOOlFW8uB7kC+DnXxIH3++M4Ofe0CLb0v5iedAGgq3iD+UmX6EWqCOrl5pEaEMgOuYbdu6zg4cOm1Va0tEEfbL1Bf9UeAk6j4paZUMT0QKDTesr7Dmlk5rvhztoGfLTiF63jMzpGm2vceqKoutrBRV1dJNysddRjcrYFFpCtI/3mu/t+8l++vhT7TVoFItL1bdaAbaRKyHD3a+Y89UviQA49zW0paHNxK9+Y6BTMdx523gz1wT/RwY4mHuxH2gbBdAcyeWJ/H5TpTlfhrzt8Dd1uaUB8ACMAcHpUJHdgkBmKPHLtizT223N39+QGNbh+wz0JkvDagDo5rMNLGW5AdTXgOK89TjW0OlDx45Kz5vun5rFPaKFeRn64B5pK5610MPhPjLDVizLgl9wJzo+sT+euQT+0764zZ6rUNDKEKtFbIaI3pRfhctdUWlziRJ9YmhbkLM5OmBFqURgQp+YN34NekrUtjVK3JDuGvXpwJ5KiW1iql7NfbKFVrnX2uSCuIcpcsxHCn3W5FuTatO2GvN/0mA9eIdAysnu32Wi3dN/xDMsNwzs7qfh2PGTnRQRQoY6sKsPpeDKqNTzea8DXk334CIl0dNF8rHAVsY5YXiTUSOlr95FpyQfTlNSeE1lBLpsOXNrtA1BYdRi9wb1QiHqXXD6QOXjo7nqxKG9AlLWXHBRx6h7MFnJlTsKSovoO/pRSlNB0m4zNUOxPV8/d7D+jUhqZlHDx88aI6o+DPv4zeelsfxsvqzh00M5/7xq4+vuF/8njRm61vxMLe6p12xN1hRXhgMplZVFmqDZJUMZKyz8TGEj1PFItCqQ8ZTCdPTI8o1t8DWVUsmb40ORde3WFF+ltROpwRRhrUVJVISMCJKS1R/UV6gzEJzTbcZ33853NwjSrnDBKZfj16TKpHrDaE8AVwENEPaJdie+ivWeeWstem3WuF03lHAEw0PDQObnO7A46oU72pWvyA/WaSZ2m/D8itaVWSTSrtH2RQIA5NX6KjHVJftSH3Rhq52WN/VU5ak2WDKpCkg5K6dMX2IVSsBzIU7lg8AD8uetnYtzcREhdeBBPYrr7wS3rFsZEkBuc4yjKUSS5HXXnvNnn322bAsIB2We3RSlgCQ+YAdSxeWi0gtQ8qzhIDxDcnvalmIA+gRHlAjH/gdLOtYYpI3V/yIxxKBTkta5ANT1+/xZ2lBWiwhurulTVLaAwpKa+yHH7WEZdxDMgiBznpkbgCgPunPwhIRSgCbZI6rX/yqUfEpntiUF86CXZTFFtTUYBlnZ1WWDshGqlDQX1aQnRp0QT0qwyHUQ/9j7sYD73Du489xvxBgJoTAMQb6Hi8Kc/PfeFo3v4mAz/2i8k2X4+aCepCbrjelO08B4uFCHrFUEt/5q7i/+3GNT0hxf7+fK56/X+iVdEoKc8MPNTicINmysTL0B+So1lWXhV1edFsBXExW2kewYanLqaqpFlBJCFbaPzgozWSWmZmq/p8rdgA8rEhLMH0LsQ9EJ5bDzQtY3rBivYWySJzPpq5rt01PX8n+h/Z7m/97+4Mj37EtKbUCFCngm/qFZays1t2oTQiISpMfkb90NSVvtT8b/E/2r7b+sTUN1dt3Lu23P8z7PXtt4P+2Dckb7KG0Z+zk2F8LuLoEgs/aH23/P+zt5jfsD1r/yF5cLcMANh6AkEIs5mP6bAf/gbN1zsPiaA38ENQaAzwwSwEDGN8wbGHqAiC8g0cBzwLA4Jm0ACEY+AAG/vC4AEOeyRPeEYAHXwt+BMde1qRJb5byY4BCsgNegGhNTU0QXyBf8mGHid2/Q4cPWW9Pr/3mb/5mKDv1PntO5xL1DzCjfPBiGsQ3S0ldIzPkj8jk1pBO1acFQxFvSiHgI9LJBNO8Tma7etQJNwUTXVJFI7ECzmYynk81DRq7fy9syrE95/qDpZc9Z/vsiXVZ0kw5Zn91uNt+/+UKGxQ/K3J0zHlG9nSo+5e7owVgn7Bh8vbxvqCra6M0LKAw8+MLQ0HSnQPPHIcLoiwSa6BPoCIGCqGqULqzJLN1uH7EtksL6TmJPABqWypkFk3/6OuopCF+qQ5NL4ebF7DimEkXXbki0/qv9dgPtn1oZZk6drEyyV4p/Hv2lbXf0MDQrttwsyok5WbpZdY+ctkK1hRZ5mqdR1u1xn6t/7f1Toy71dm2d8f7Vpu70Z5qfdn6JrvsG+u+Yye7/mtrH22xx0ufs5wU7dqJuruhDNkXMDRJvFTzN5GDG9QUAAFVAhicORud8WLcATL4w3zlCi8LIACU2LGCGiIdSGwoLKgfwI/0CMNWOEs7/KGaWAbyIQEUd+w+kTbvkftxgCMM4AZY8iMvqCmWi+NijJMmaREeFcyrk1cHkQwAFuqPsKQb0hGPYaPMpP1/H/ZKzkaWXdSBGnQOEynnct1z5cDqdplvwpo2J/ZRNsc5sywBGNpP10rH0ZMb82y/LHSXQI1ph+/vbM6Rzi4Ml0rPfk+XjgoVerXuX78ALRDJYckSj74xfeB/eafTtkqdTJF0Vh2SvNWlI/32mPoEFBIHl5PU19dLvzvA1ScRl2OS1WLSa5VKGvyyZFvxZ8f6rWVIFFpesmUIrPbJVNj//I2ywDJAHAKs+KzcrEx3Z2rvaXzHXjj1FftGynobv95sE6KuypIft+8//rr92xP/0n5rwz+w1KRU++jyHstPLbKS9FKdOZJWxjUFAcyOtB+wwrQie//y2/Z02YvWO9YV3qcIwH5w9k/tn+38X+1E1xGrzqoVuaotVWnhfLPhh/ZSxav2Qes79rvNv2+vplSKRpM4wdUeezHjd+xPnvyBgHNxS0JACDBgPQ7eASpQN4ABA593PGdoWTesHSeWafi5A7A4AEyYl3T2C4u/ABbpkDbpwLCHmoLSwrF0vSLgwfSU88pIBzAiPEDDM1vFE1rWkZ6DppcPagywQraI5evXvva1sJPku4K8Jz3yhvojLLwnBDpRNsduH0cp4EP5zt81pkg5FSF0QA6uYtgC3eO8cRKfTucqckmPldt18S/iGxOkc9/dXS1A34KCpw/hABm+8bG6Ie3YSrmjQAsd7fkSO8EOIoejWfLhkIBHDxYUE+cPobrQ+87ZQVTQoK2hUEKmyHCh771I9/BAL0pn1q516KmH6gpJfWZ/5qWw4kipk0iWtrLQTk3stwu9Z+13tRwcl6jDz5t+al+p/HoYfH96/A/te+v/qTUO1ltZeqUd7d5njxc/ZyNXhgRWPTZ17Yqd6ztt5elr7Q92/Evbe/k9q8io1kyvwT7cbvWDF+ybNd/VIJOyfFFeVQwSwRVLkBvtEC/VwtqFQZY40KBecHxgPi4ghfOrf/DgqT9PPfVUoMZ4ThafyV08Xbal3SEdnSQAwcXTAlTiDvmWZIEmDvB05+XjmaUl8jwAFOWNpwH/DEcevIO/EPEYlF7M8Kzfr1QHjTv4FHS6uEOLJm61OjduxkQbge+7L1QLaN4MoLRjXYZ0V10N5rygpMIhZ+mx5zgOR3QwiuJ6r9iAQUNDgTSmlEl+LuhxV63pFoTndAOOyQ8we1ZUOLzSzxqsyHNewGI3AxftAAqpr/dansr6R2eet61rvmNtk+ft3OQntrf3LfG2xu3A2C+s7tReMdbbRFqKB3S9037R+6B2B7vs3d6/EOxIHfG1k4FkfDDtt+2Nof9g65NybX3KS9Y+dUnM+KO2s/NXre9KmxjuZ6xWpZu83qrdwtxpLloEMEuhORnMUDTuQt1UPffz9371cH5l6YjjPc7jhYfpP3PFTQzDczy+x/Mr70M+Ki68AsLy8/fxXSb3i6dJEakqJfUax+8JG3fzvYuHu3//xWsBmOhYqdpzuj9QydUyZoJrkR73Tum7QvUxfqhxBqBgEUBwvXd+yHatTQtUVqlYBauVEKcYWnS0Z6OALk2HpQHARknL/52d+YG35X3ts2yleQErSMqq8Gkrdc4rLCW0RNEOHQPm5Oh/0X2J1YqhXj/xpgAlzR5I3iaAGdCOYKVCaBt8xTobE/MdZj3+xEtbsV5/zQ6O/Afblrxdy8wBOz32Q0tVWkVJm+zs+I+145gvQQep71ghwUr9Q6yhx/p0F6kfXkqDxAGC+ADBzGjmeRrM/DpXHvO9n++dpzdbGPfzK2Hj94lxQ9mnPWcPF72Md6D4vafn1/neeZj71y9mC9A/0EGPhR8oqR8dlQk9DcAiGZZAs+iKldKpPymTagK1iRYx3VVNloMFWj4CTiwnD8u/S2bAXpK9wuGJa/bnB3rD+2yBVqHSCUOJQb0MblYels/aCI7+7r7d9sPhE58WHKVmt1PIePy57r0BeC+W0vsSHH32MxIc9azuX++3wBe5BRi7cR4W1Da8JSzj9IiiKtauYK+oqGydFx0UhYRDiwN8qxZRS6+Jof717TqyI/88aSHFJBh8LXYW2QlkdxleFnEQjUCfVpV2n503GhL8DP/MCljk56DF0Zz3mn8eHc0RrQTFs1yORgO+pV/AHizgaM6jy5X1/Xzut8AXsgUSAYsxxM4doAOvkt3AQoHWoMRceBfM1Yuxjh4sTNbDi6osXBPkrqCuwhjUHwAJHhdM+5mNmWk2xXLJYPFB5gQsXgJO8eUHfl9050A8Vz0S65z4PFs8D5OYdqJ/4nM8rXhc50H5e38OU8X0fDG9go2mj9gcgj+PoaN5Arp6+n6NvZq5jb+L3xMg8Xk2v3iY+L2H5Rpfws7WHrP5Ec/drd4TzvP2sDf5xRonsY1COP5Mu9ne+zuuntTMVTf+XeLv54szV7h4nMXcU/c4hcW+CYZd/+y9jsDV2VS42iryZcNSVJLvBCL4ub9hVLxis8eqI3uDMNqhpqDIwICgS0sUlx98j5cpXue4/2dxPy8Pi4LSAItziw2/kNTZJUTa9ubdrIXETAwTHzCJ73hOBOjE57nihMGR8OU8rueZ+OwDK+Qbixu7Ddn5cxhAsVHkQKZC3+QSHqfTiHy9LDdFmH6Iv4vf8zrxeTa/eJj4/Wxhg990weNhaaN4uxAu7m71nrCenrd3PD1vS8LNtB8P0262tvN3iVcPO3P1m3nS8iB+JSj3DnrTUe/IhfpFozGSsWqUjnZsEb5xXJpCJE+1XoKh8LZkjcsmRHkR/nzHhF2SLcINCkeYZgmN9oka+9pWWdAWgz461OWlv3kj644U+haJzEth3SLuF+Y1gp4NjQ22ft36cISGU/VIqCMgikAoIgE8u1gCz/jzY8pk84FBwDOzF8dzkK1C7gqhTWSgEG/gmAzyVchwITeFH3q80eftepIQSeAdYgocw/EzhWiGSFmdbJMpJVLT0iF1IFnBEMf60kzJ0PTZWll9RiMCloVwW9dmB0G9Ew39QYYKZXll+Wmy3It9OBnBlLYEZlf042NR+xNJ5qO1AE0ClAFJfwYyu59TKi9iGNSPOlEu7hGI9cHv5aSuiFcQD/UvtKGLbbi4Be+RT4vHb5BEPsKx5MkpAE4dILqBpgWORVVXV4d60Xb+PZBLQ+sCZSFNrrwnXb4XefAtSZMf3wQxDy8rV8rJr6lzRMZEu4N+ric2FwR5NcQ/4tpEWdogP/fW4fbQti/tLA7LKfSC4ciD9kA+LQhkSuYNkQ/S0H87erHPHpHgLVorWDphPAU0CsAZrtr11rIK5nfQN4Wf0uMeoU5PP2S2xD+kQXtSZ9Km716VH9apJ1VerNmMT5JfpHEUEQeWgtQBB0/K5a6oA20yqvBYi6auyOwp2eBCW4ihv5xuXgprsQWZuiIBTXWaFewkSqoduihpZWRNd/a0qHnUUDPTTEJAKBfksm7HVVdXz6iE+elPfxok1BmULqX+zDPPhLOFHH0ZGx2zr371q0G1DMdwGACAEEdnGEB0CM4JuoQ5YMQgpoOgAgVJepTr1dTUhOM7lJsjNyioQ+KdQY3qGcpEWhzbIS3ev/zyS1ZelGbvnZQlm5J023+uN+ikOt82alsknd4nXsOghEHZYsZO43qFOSOpdvRYXZbFk9pCjFquDgKBBy72y0iAjDZcl0LBnsis/O7du4OkPeWkTIATeVMOwJUTASiOo3xI0aPo0M86YlkGkAFgaBMEZGmH559/PsRFgh9leC+++GJID4s4xAXQqDOTBs8AD4BDm9XX1weVO7QzEwF+lAkQQmULbe5HoxgcgB5ldT/aFq2sAB8Wordt3RbKskcWbAA6ThZwxhPFhm8c7rC/+8Jae+doh/27txuk3iZZS6NUu6hjSwVa6iRrcNZ1jdmj63NCe6aL8rik85WfaILALD2CtajK6dV3uCzz85jHAsjK8lJtv9p6U2m6tWlyALDgBx2rHwjM7qrCNNn8GwpLKs7lXVB+D+uc5+G6gXBmE2vd52R/87d2VwXGN/WjrrfjPA20MYyNTQSg15aglZYUqA+r7CuvalKKTIlFZ3Mj+b4oTwGtsheGBsckMDHUZYMDqXZ5RKbpcrPCBIe6GdIvKy0M3+R2yruYuLcNWAAKM8jYhA7oDraq0aUCeBIjnNKhoyXckYafqwM0akZCtxEUS/RBrkqIlIZdKXBbtULKwa5NKpWIkiG9KF3Nqjq5WJH1oD239dfDrLWYynlYVAUzSMiPs3oMRs7jMZMzaOjQSLGDna4Kl3cMDCgfLOkwqPCDMmGmB6jGRFEx0zIoCYf1FgY9Dq2kaLRklgfoOBQNZUFYQA2HP2lxsgAAzcmRql5N5lkS+FwjKyX1GkAZoqo4WnOpU0d4JJ3M7JyrgaMmsp8e7bK//0Kl/ckb9fYtycLsuzRg22V5iEHRI3BDn5Va2NJ0fmxc+qUAKo4XISkPMAASUFxQK1A/zMwACp0U4CIsIIM/g5+60VaEd02d1APKkh9g5nqdkNwnPn6r1G4AOhQs7Ugb0t5QS0jx803IAwAEpAA/ygUw0j58I8CM+AAlR5OwSMPZT9KA0kLolnSxYUg5SRdtpO3SICsRfSuSxtNzzYOBmpnUYIOyOChFg50yHTd1NdUydXRlvSaLRrX5Ol1PXx62Q6KYAKq2fgY9VEjEwOa8Jvwdds7qO6VWumPMCgV6yCVdahsKB82PNA/b0+ulrVbfgPutpWlBk+cGxW3Skakh7b4BdFA2QxIV6OwZsMqiDGkxvb3Jme+BWyUw7R8YtoamjtB2fQMj9u1Xn5Eh1Ck7d6E5KOqbmOTI1XW1a2YAopbWLvVXaYwVJZYlHVh5OZlWUpwvBv2UnT5yUWpqitRvhjU5jAddWidON2iFIUpfJ0j4TsvhbntJ6GjePxQppcvpPiJDgIetp/Qxyy97yX588N/Ywct/ovNL/0THcqRdceS8NFBKh3dGrTqNJNzHWm1wstHKMx+RnbMMgVuT9gSR/7ii80851jy0x4p0HOi3n/kX4QCx57eYxqFTM3CYiencNC6AyHk9Bm/Q6/EoAABAAElEQVR1TbWO5AyHe8JBHQEmDBgGJktAX5Iw8BjsDCAGOfHRssBA87IBjgwmwIk8AS1AkvCkSTjSgbphqUjaAFYaB6R1XrCtR7N+liwbj2qG1NZxr5TkoRCvrm3YMgVguRp8h3Tej3RefqjEWrpGLE/LjyENjlQNPMh/gA7lepnavs5XWpyLBEyoG/EoMwBMWalDmsrJsSRAwalFDITm5eaFY0MANGWEYiE+AAUAcp6SZwAI0AFoqCvaUV944YUAHrwD+ABIqCcAkTwITxuQLmlQDsKiLQOFiqRFeQAfykl7Qn0Qn+9CmxOeetDOrmCRfMiP5wm1fa5AjuNFB8712LYqUTcCIgiI3Q8Wqe10hlTU0prVkfViJiCW0bhanc08IQqrUlQSNA9UbZksj6coPEeezjQN2MaKLGvV9yqWOp/+4QkJXkorhu5p9wZpbC2T0sJgiUbpogyRfqeqBkqNZ0QOBjS5FGdGfQKgpy2WSmURl/onJ6MhVAff6yWE3TeopegVe0Q6rE6fEfhrGdfWLnXZE1P28I5aa2zuEIAlWa/AqE+/x3ZtlLbVISuU/qttW9bZW+/sly6sHC0pp6xcivsAbnUNu1Tfarse2iR9WVLxrTSXWubQ2Av8c8cAa2BEqnPHpN3yxOvWWrXBGkeb7YWt37M3Dv7ADjX/uT1f+/uaYbI1C/VoNisIpPuVqzKQoNlvX90P7bGaX9NMCD9JQqZTAhU1dt/YZTvd+XMrTnnIfvPZf66lRbR8WY6GWWD73Vaw2+mY8EnytPxbvYDjMgA0oLgUt5S4gDkgcie+02LaaK6wgBOA425Iy+rM2LEl978brtHKIl7axZXKAYv2556lG1ST8DUo42vr7LV0gSLLuWTx8JgIeD+uZ0CL8Onpa+zCpRarkW4s+Kq9vX3yk3aR0QlpWeVIm1ZUotiZOHKyowlscaVceujbXhJ61lAxqwQ2AzWP2qm+Y7at9HGh8CrNLkM2MnZAZPBJgdMVGTioEAk+aSN9/ao2Vp4nrXNI77s2aqdiTHbTsBMnM9erZNhz6JIA7pKlX60SmNHtluYoGx/wTjk+FJ1hvjQXkmd8QAMMpIsfGiEh6edzJZrp3cUZx+4XvyaCFZQMPKtE/9kGfGIY0p0NxIjLj/BQkYtxABz1nq094210qzQJm1iHxGfSmAusqBdLJNQFx93UlIyJajDP5YZF5WWIwpstL/xuuBtAFAFT9MYBNXz7m6D1Rsyl3JEe5UYh3wWZqT/WLLVB0tkPayZTCvxgtsMHSRF1mSH1x5QVpjz6sR7YuFbfUpaNROFfF6EhyQgrE890QpQqDuCCdQPPejnd7VNYqjAFn5gct0vNZ7SkkRyHasB3mro6YRcuf6J1fFcYhDQUH4r/8gj8H8KhkA91MjQwS8FIGwM7MZjBnhIjeb29+Pg3P9WRbtVQ3oHgebCsYxkCXwqmMssQlmrkySzDO5Z6DDiWHtyzrIAfwgBkScSSjmUGSyt4JjChWTpS/r7+vpAGYVgOkQZ5AVwwi2HEUx6WQPB2WPawrMIxUHt6e6xHivhIZ+OGjSEu8eDLEI6lLMxrykNdAPWJicgwJ+VgGUAdWBpRJ5ZKAAH1pL4srxwU33zzTWOjAdBiCYKjbNSTOKRFO7ADytKROuMPoJI//Drqg9EMeFvk4enA34KP9Oijj4Yy04aef+Bnqa1U9NAG6LiHaU57wu+jrfgWtBHLTRjn+EFtE4clJPWj3JSRNmTzgPpTfjYGqAP8LcpDGJaNOJbefBv/rs5b9Py8vUgHPhltRT5XtQqAwmAJCi+T+hCG1cFA/0D4/nV1daG+WHvm22ApiXLTN+gDy+koG/WmTzHM2PXjfOB7ZwbssfWZMjM/qrKz5DTrkOR7rpaueTpec1HGVDN1JAeLOuwyw2Pr0ns2JLp0ELpfbIZaqZ0pEz91Q1la2O0Efulry+luG7DihaVDT05OUIvgDZAli+oKs3QAqXjo2H3iO3/WlduwmllCu/DxaFB2rOjYDEA6We2GyJIJA8UZywwSOjEdmIGBYyA6mPEOkKLj0pF3794dOiQdnfC8D8Cjezopz4PiCWEZBaBhINPZGVCAwG/8xm8E5jJqaxhIDDoc5cGcPFQQO2U8r1acYgEXzzDDic9gBxgJS71+/OMfh3zJAwfAUl7qxaZDcpJOZyocmh9+9KMfBXCjLIAR4MD11VdfDbwjAIm60/EJD9BQT8AC4AI8CU/bNghUYW4zmGkHGOcMdjYYSB/gcGAB3AAD2pR3ADEDHH/agHoxcaWsTgmgwC4lgx5waGluCfFoV8oCLwxmPG1L28FLe+ONN0Ib+zckPcyZEYf2p01pD+pD3pTTy0G7wuejzahTdXV1yIc+DTDT9oRlUmCTAKClX1PfJ554IrTtW2+9NQOetB35fv3rX58BueUY3DcBlgaPPlEAqD2ntKyDvykgipTuyUamzgJqiIS2pmyE5Rnbhdk6S4jyPoBqjQAMyvPDuhH7nWcKpStNu7yAnvrZctQpdOjpP3PTufFQC7znY65Zc2dNf9Mot+uwH8dMSydn9qcj0VnZ1aPD0cEZOAxIHO/5EHReOjKDFMBjYDNA/CMR3uWt6Lx0aACDTs5Am1I6DGwADkY073h2gIMK453nz6Dy9PEjX38GJABE0mbgwdQvLCyy6urqkBdlgSLhPXmxKwkQkB8DCkBj4JEedYJSAiQoMwMbYCFPBjQUAnmxewmlQH2JSxgAm7oCJlAthUWFoV0AJeqCI7yDM30CgOCZNqecADqACDOd9CkD7wBHALqvr1dgEe2gEh5QR2MrdaN8+PGNYMgjz0ZdKDu/quqqAM6kQ/28TP5NSYPyVavdeEf+9AkALHwr7XiRLvngaHfiOIOfb0T+pEGaUK7Eo11pM4CbMIAq/vgtt6NsABdLW+6TZObrpR0FYs1o0hWjXyr9RUVFMlbIf0VyZNHkruBBMp4dUNALWEL1TI/Ms+VkSN2MVGZfl6Speof6AcvHL9iScLk/xlLyo1PyAXF0IJYFdDA6JYOfd9wzaKIPnRQGPQr/WO7hR6elgwZgEiNy1Spt1WvgMjDwY/AhrkC6ABIDlLQZFB4/5C+eAruTDFj8ydM7mN+THj+nSMiXOjAgGVhebh84gAIDhCvvPF38yAfwxCgswBWmRTUFaZIfIOSDmDy5Jz4/2or6kaaDCnGISz0JQ3mIR5syqAmPvcE1qRKl0GDvE2iOjAyHgTyicmgYzCg1RFgVsKEMK3XveSKzdeL4CfvWt76lSSNdaQ+ojbQrJXEHlnu0F/kALIA6L9ErRn0pM2UlLYA7S9+BPLunv8mowqQCLsqPuiSJ8gT8s7Iyw4TG4KW9cGtUb5jQhIMXxOTEpAdFB6OaekEx0mb+Dfje3PO9nBINiS3TH+oNdZeivoJYQ19/9D06O8W/enSLDQ2PysyaNmwkT0W7YOIrJYXjN1BiEZhTX74p9aBuFy5KDAKhZn13xBjGxyWQKzDs6x+yrZvXRWTZMtXvji4Jl6nMdywbPi6dH8c9X41lbNx/qZndKg3vFHOl7+9vlQ7v+dHB3CXGcRCabbaPhyVPRBlwtEPcEQ7n7RV/5/deZn+OX2+1MRAPq6+hxyh/liLM5HHnZfZr/B33c/knhlPS4pPe8E18vvEmuoOagGpZjPN2i8eZrw3j4ZZyT34BsAScXd191tQs2wolkr7v6JW4wmZr1y7hWclhTUqkYXhkXBNCapCjKpERirqGNoHwWACnzIw1lp+XZRtrK61e/ifPNljN2uh0xJgAa2NthR08fDaYBMsMYg03JOCXUu6Fxll+enWhJfsMwrE0gUx3F+84c90TlgHPrBuPOzk1GcYVVM9sLp5e/D2zvs/w+Psgh9KgszFj4xyA5konBNIf3nsYr58/exhmSndQIVBm7uJhPU9/F796ONqBeyisREf8lpZmy8rJl4K4K3ZVAzxHMmMcUUEQluNDpdrd5NR/14B01mt5gipn6t0jAU7mDvBDr8UjEfUjDC7OXSOZJfEBtZOFmTGcl4UrQNgr6onyeL3wh/LT1CNtt0nW2D4kfo0k1ZUX+XM8ZkSiDbkyAIvc1JikzQuzRUUqQ0QeOOCL7BQyb0i2I2SKlDtaW7sHxaMV0CEjV1WEIdSVgbLzvEMBY3+8rDGvZbm9pj6bLWn24mIovSmrlXFURBfOnGsUSK2ZBqYkCYBWCNQ6AijxvTi+s10GVzGi6uB86my9bVC4nt5B27C+XH0Wq9jYN0gVZRzxt+KTjD5J+JaJVyoe9/OG4Lvf5E8nmE7Dw/j1nqawGAh0GBimLFlgskOyw6NhZwdeCrMRS55MLQmaGpuspqYmMF/hyRCeXTruYVSzHAFQSA/+CA6+FkshyH+WgjCg4Xc1iHHL0oR38Ijo0FA4H2sn6VGFYbkHn8lB8Je//GUARRjfDDZ4a+RLmjDLAQrnNcFbIz7LE/IHKFhWUV7iwognf8oIENIGvAesiMtyhbThtZAO/CmWsOympkrWbUrLnZ07dwbeE/FJnzRg5NN+tJnX2Xf3WFaR9sGDB+273/2u7TnRY+0cVanNCTqV0A9+umXIXnm4WO9kNUjClyMCha89VGzdMin2ScNAkB4Hsjhku0YyQkihP61teKxGr9fRF8CL5eHFixdC3Sk/EwbMcr4T7csEAG/wnV/8wp55+ikrKa+0f/2T8/bS1nwx9GUcRCC173yvRebLUuyjM9KiqxME6Cx/dmuhvXu8M4Q71Dhkj1RJ8FTl5kgNQpg71+VIqHTC9klCHX1SHPWhXdgF5fuwRNyxY2doc459+UYE7Q2PlOUrbclSdjbA90F5O1ensOLUNGAA6DIbTAqcU2USbkpLQZHTwR8A4oiOW3aH1dHcovOeOsqDrNZksGPJbr529jX5gSczS2UtFUEbNYMmD245pxidj4QyJm3yZmfSy+FnJ6knacHAJ4z7kw7+EW+NUDfcqj+Wu/G48DulGQoQrtPRKPTd5OhMdGDO6zG4GWh0ZnZ46Owujc596+XWMAh/oY7OIAUc3GoOO3IAHh3vJz/5Seh0vKeT0vE4B0gH4T3gQjzSoNUvXbwU0mIgExaQZPu7T1vlyfrYDDT4MTB+ucJEZgDgAEbAtL6+PryDUgKQ2MWrrq4Ou4QADPWgPHQWyrpHZ+moa2dHZ+BDwHsgDcCN9oA6hKdFOQE2ygVgwYeDkU57wH8DzEjLNxZoTwYcFCflBSBpVwAaF47diL9To7LBsOewLBTNv3lbu5vaLp+Q3M+ldpl4F+UCEGSKwvrwXJ9k7iJKCQ2XdF6OySB9/vOzEkbWjI8aFHa4oIgOHz6iwV8Qys53ZDeSNkUk5PSZ06HegHylypWcnGIFebnW3T9mD9XmGbYX3xVArZe+p7M6nzkuGSO28Fn+ku/fHOvS1n+OvXm8x7aXZdhHMn/2aI1sNAqk/uxwjz2i7fzLohI36/hTl/w4i5iuwd+sjYhWtQGTDBsHtB/ghLk4wAnKlzbku/ONmTBpx8/K0S89fUCCtjx7edSau8dtrY4G7TunTQotbaFwsU/JGEYFDUAhIiuoVM7IzAgUZ4PEHbqHr1qFmO3NPZNByR+7i1DB9EeAHFktvmd734SoV8AvWsYPheNLK+2krPMoWDhP2S1RCUQteMdRplPNI+EbAGigHqc0KDM7mZw6QC4s7pa0JKSCJKP07mrHHgcfrnJtZQCBag0kZjqABSBgcPsuIAMV8Qe0K9DZCAcIAEQ+WzGbf/vb3w4DFQqDgQtAwdiG+gAU2HmEeqGj8kHTtGsK2D355JOBOiHN5557LnRq4rJEpIPhR3innOjsgBmdnXICtDjCkB5gAyWVX5AvCeZIpowyUxaY6wAW91BZlBNKjrxJB6YxYg7UHaoK0CFdBhIDCiCCcqK+tB9ABSjQDgAe6ThjG6CjLQEwRAu4x7GEy5NNDTrnbz9eLP1LU1ZTJPuNWpZd1BEjDm4X6lBxQ4/OpYl64qhLrfzopMy2DID/9ukSlVNgJovjvV2XrSS7QlTphgCM5E+5oeqoZ4naPDsnO5QZahYKuqZGDGG5Ch2PoatW64xgrna6WgU6z2/JC+bOOLLDAWbyPSMQ216TY69oubpZ2jAq8lJE2el8n+L+q2+wA3s9lJvl4roStWfnZUtPKrHCgsIgenJdbYPju9LetDXfkyvfECCjrLS1U/8hwmf8BzDYc3bQuqUDq0Pmuhp6J+1C53gQV2AS6Q5HgyIoYPJg+XykedQqcpJlYUe76dLt3iEw+tmxPvUH2ceULBf40jUs9cqKXy7rOVBSUKks40cUJyNVG1GdE1YozaQ9yvcbO3J0kH/M3j+npaTS53v0CpzoW5gTA8C4x+BrttTaHL08bt/YlmUP6zwmhi/0KrhFLwkdrEbGros3ICakKkiDSJjWaso5DjCdsDIItx5BV8/Uw0Qh9Vdhp8ujOAoYwkbMb8JQET6w34ebO/wHqobfrl27QoeaL/nZOhtUDoOZ7f6FOOrJzD5bWsSfy593gBGD8rNaVpDH4h3fJ/qKN+7mT4VzkqjLQcMBy4j53NiYBHS1MwuIztc2iWksNCznNKEWOBu4UEeZ2GUEPBfj/NsvJs5Cw1JfLIE7/4mJAMHRSwILlPI1S1VyloAlPxzWjqiZNmn6wMAqQwwKCIoMzSAslbGewzsMrn5wdiD4YdSiIDMpKAHkEHh1EVbItWOuOIhLIHCKymUEU/O0dEb267HazEB5nRQQQs0CVtvLJdwrcYmCrCQdGI/i5ihP3l/SgfINUr28da1k/wSKjh2LByxVisgt7eP2P/4/Laq8to8nVohXscb+4XfKZxJeaAMvNtxCO+Bs6Xpcv84W5lZ+8bjc4wDUuJvLPx6G+8S0EtPx8PFw7he/Jr6PP8fv43ES7xPDzTWoEsMlpsNzPO5c4Wm6hGb7VFKzhfH0/BryU8C52s4T9bS4BlyN5e/vQlr+evp9/F14P+N/I8+byjI9EUVhbw6DH+5WZY1CLe0vZWFCQ8zjChSfygt4rZSWFKhlPQZKEUIDfzQz8B1myqQHejM8KkCIK+/4QUVduYIFcFgD+ElfvMQ94HEhHpEq8QjyJxxLOV2Ur9LiJsQinoXD3ugUK5SOLagn51+RpjgJId0oBptSfheSmF9FchRk7r+NjZe0DLokxXgbwhIqWaplTkuFB25dSUbImB0Z9AahWA7ymgIOaIeFa4p4HCwVSsVMpWWZQSdGBrRr0RwYlixPIKNZarAMghfD0iTeQUJmC/jjcUiDWZplEnI98IxwfEwY5zCVWTL6MpDw8ETwYwniHza+xT02PhYksUmLfEgr7qgHvCeWbF4O0mNmDnJECsw9FFroVEqDcCy9WD7A6OceCrC6ujqUgbAshzw/lPDBLPW8SZ978m1VPCTlWaZQR9KB0c4yuKKyInRq8mH5Ul9fHzYXKA9tRBrwvljm4MczeZMuvCuWv1B6+NM23oa8I7wvSX0ZRHn5Rc/ardPyoUc7b1XF6Xa5ZyzsIKLhgI4OdRDxRsaCqhwsUT/5gJbAqNeRcyYt983SpEDHh2fW0DEiCoLjVlqWXB6SJoWU4K9sQ58kPPftfZEMXmmeljzaICBcqIMGMcr9MErLlR1LFUd11IBjlE67ODC73+d9pW0BLPr45bYuuyyVMewSogJm54Mb7KN9x616bWn4Xinauc3QoWYqhzgDfR79WUnslg6NieKUmqGKoqBOBuDI0K4gGh2amrTRQ7/MRoBXBi2ypWWlu9+KCnOtSmmHPq12oqWAmxstFrUObUgzsjLj6mH8Ol8bLomH5QmOy5bZypWYuV4hwbwBDWgNIL3EEOc5dZThwFi7EhTdt2oNjO0zCtihXR8sysJMxeMTKTvbKD5GSW6a5ahhu7q6NaAmA9MZXo4DFtvXiwUsBhfABO+AwQh4kAZAxKByBjPvcRy7+PCjD9UxVwZGNIMWxjRgQ1wGJ8xwAATjqizNOCLDQIUBDD8K6W9AprGhMeRDGIAQgHAQYTAzaImDHzwvGPWACp2OfOFfsdNEWqT7/vvvh44IDwoGd2NToz315FNWoLJ9+MEHAVThSzHoAHgACOl3ysqOCzw6dgt5plPTsbhSP6xK43/s2LGQP50XoHr66adDXvDaKC8ARJvBl4Fvh1JC2oP2o47E2b17d6gLabGzynt2YTkTyE4lbV9bu8HWVpaJP5VqH57tUZ+Quhoxslk+lIm3hXT1WtS6qL8gSlAnHV8A1AX1qzyBEWIQ7epHBbp/QiB28JIEVwU4iCFc0PKuUJoslJ3i6ojUyGRQL9MqxXtBslvppKnvMXBaukclbiHL2+KrlOSmBnUyqA0GMFmaIPHdpSVToAiU5mObIl4ifSUaktzdfY52g8qCghoeRl/ZlIiEKfWRa/bB3pNBJKG4MNvaOgQ0BdnW0toTKKL8XHazBdbaTczKTFXYUwHskgTc3/qVJ/VdJKArUMsRSNFP+UD0X8Z9sviWEfzcACkV41MODahEoIw4D+PXyHf2v7cFWHRe32HixDouT0xNOkKjZrxoloyKAcMVmRdkcor1K1RHw2Q2sjVtakTALbkoyTo6m8PgZMDiqqurAxMYBrQ7p3L8eb4rjckAYyAxIGFU792712pqagJIsDMGgEF1vPzyyyHv9rZ2XTmvVhmk16GwSIcBznY19SYtdtLwA5D4eABjcVGxto4n7cD+A2FQAxy8A3wAGqfWAEAGslNlpIvKDwYz5QEQAAmvK/kTB0CDumHgj+r4CoDHNwA88gR6gDDASnw/RgNjvL2jPYATlBcgQ3kAQQdswJJ6MTOTx4ULFywvP2IeE5+dUL4B9XbwAkhpV9qSulB2/ND+CfMdEQ/qRXgA3akxysimRVpaugBmSvwN6VoSnyI/Q2IHYtQDbAAI8lpQTfTvndLSeVmK7zD2ibbOIl0BFhjg/MrFOB+VDBVtDUP/orR4bpWaafpVFQr5mocCIHUIFE+3jtjjYuZChcGPgcpHMSITKsZCCX+ycTDsBh6TuMW2tZF4A5Zn4HNB+d3NDvBA40e3BEfT0zTeimSIWMOQlc7OB2tt/ZBEZCQFjx6rkqI89R/tpuZnhQmhQJLsLOfQhwX19PTjW4L8Vp6U/CG/de58g7Q25AVqDNUz1RI47ejoVV+SsklRaxAI3mfnaqOFANOccfWBqd8dc5COJMhMNqoOwEwJWQ8wodAMkp17z5WZn7AsEUNYdWxAwCkQBhizPQMW59fwcIs/VI3GY9eLH4OEAUmjMlBJi8HIIGSAAzyEB3gYtFAUTvVQDgYcA52lGGEAG9JjO5uBSpkBAXaEACrShqoDaDgqwdY36TL4WV5SHsrin4BykB7UCn4AE/lDNfEM2NEW5AUI8EzalAeKi/y4J03KMTQsakQK+KgHbUr6xKVsUFrcXxHvobOrM9SFMIAwIMgSECCkvORDfkwigBrviUtbUFbAiTwBJ8Qlvve974W2pc1wUHq0DWFpc4C0UKAcdKVLM22DBDsBAbRzok/8gvpJtbbR2dXrFHWFOmMABQ2q7CxCRRXoWqdwnI1jdwpKKkV9LVWUQL2WhBvL9Y0kQpGrXapiUU7HGwZta2XE+GVnME3x4M+QL6BGnwUkAS3s9rE8hCKrkRgATtULA3lTpeqgPnK3Ou8ntHOyqCEqhh+7b1BX2WoPKCj8kb1y8A2iCKpX6Dtqn6BsUPHoO1euXA3UKt+TNEnPHeM9Wipj6j763v7us7gumumeWIi7cR0fL+PdWD7n88TLebfe0zlvNWN62QFCQA3wX6gj/UgvE5ORfho0UEzIcAUelbBBKzNGXRgYiBZAAXCF10J8BxPu9V+DcPpgr64MTNIbESixA0VdwBvicCUOAw6Hn5eBiZSyUIYwPKfD+QAPEe7CP9SHZT4TW6ib6oBK6P/8sdgsspJTW8xZU04TRPyjK6JsaR8oV66865a4QrFEFWDtjMqP5TVAxzvSVMvpF12jNqQhFt5PCL1Ud1tLQjKdbx1P3bxCXBfqaBQfJPH7hcaPh6N8pLGQdDxPOuusxfXvpAxCeuro/GNW8rgh78Rw05X3Tw2vh/gLdZ62x+GZe0+PZwQ1E78FIeJ+Ht6vnj9pOeUaT5f3npeHne8K1eXOy+rP8SvvvE5cV2srPO6Y3XEu6hAdyIlCQBzg/BoGz0yAG+kgvxWcLqTnaUae+jsTZ8bnJj/ESXEOZrFQX5hb2lb/1Vd0lEiUa770Xh1vGrHT7RNWKkD6pG3cthenSKBXpwMyOKKkzRRRYujH2nN+WKIJK+x8z5R9Z3uW7d6Wq3fahFGC8e9HY5BH+A5cPmN32xSWl88rER8kM360mFzUSW8eLuEVFY6ChHDTfSXyi/pN5K8wUeNEj1/Uv94uX9Tyz1Vu6oVzMJorXKL/zT0iGmBzfWcP69fEtGZ7DqVS2RZbrtnSutv9+AZOYVFWJiJ2+861jGoZLApT2xwsieEZAsY56VKTLPSHutp7cch2VaXrzOQqnZUUf1lAj6l6luRleasD/y4s/0hTy8TPw90xwPo8Cn8/z/stsJwtEJ+MlzPfxeQVByzusYyTpuNb16XJFxUzJSX54jlK1xpKsUQMwKNClAHLRiK0ghS6Vouioq6J96hdcYWdUNjI8tFK8Zol3a7wuVJP83m4OwJY8C044gGTGDNQMGjZZYLRChMZ5i0NA48jX2e7cosqbUByHk5uZwnBIf85WDqsnR6Y8pCeHHaFMUrDOj/hU6T959Fq9/O83wJ3aQs4YKVKPAgZLFTGPP/0Tjt49KyAS5aVpA+rsCAn7AKiyRbd7o0tMiIsmSrkqkYkIwmLo1LyV+wUnjxdH/wRY0BDw7qaMonntIcrh6PZqFlOyvW2eFg0DoVlF4izbWzHs83N9jfgxU4VO2sAFbtN2N1rbpZ6i3yputB6GGbrGR1ILdGODztEw1pnA1yp2u2B2XlF29fwk2D6rdbuD8Kn33o80tF9l/aX+8W6C1qA3SwGEpMlSyL6KVcGovPqvJge1nel8adPx8MyIfNjB5XdVcKSpv9I0wetjwny50d49yPtxHvSZTKPvyNMYjlDgEX8YaKHCsrqGQxLwilRRnllBXb8VH0QG0EhH4CGqMJlyWBdl2rqX7x/QjvN6VZekivFfDV2qa5FO+doxEVgWEK5AiioK9TUZGWmq40ihX+LKNZtB70twPKPlKddIbbyfUsfmSA+BFv3UFsIPwJaXdq9KC6R/I3OGb0rYVHAqVLb15wpw2pujiSY0/UOx3mmLm1fs9WM4B48DT6k/of72675/QTuyRbwnUpkwljGoBfKgQMxDCZVQATHMzu29FV3PCPewjtERujj3JMeIIL8G2DmoALgsdmASAkOUYF2ia8QBiBiAice4dkYqZRsH0CKY6JnzLCjx4845MOVMpL/Uh35JYs3BaUE2GzdJIveknz/lZcfDZpC0TKKkdRr0pdftbZYusuu2eZN1Wor7DhmSuREYzAl2Taur9SSUGIkksNarc2iTsl2oRAQRY8qZiAoaKM4q3mpZV5IvDuyJFxIRoShEakcW9IDkj6mIb2izkQFmNyxlsbhxS3LQpaPS3Hk7WjnQDtfOl7W+cLwztNFLfDtuoXmebv53MvxkVsDoHC0J4M/kh9KDuCEyIUDFpMpKwH6A+EIT1woKICLsLxDEJdrko6OoRKIPHgmnQCMAibk0/z7sdoAgAgD2AGAABPA5ScRKB/pEAfA5EcZADPypgykuVhHenGmO8eTMM2FaAjyV6t0phBliso4jKlR7QxyUNlFRQZ1KJkjSZelRWOH9H8RnnHIAWpJkVi2BMMZtbSp1xcRCeSxlsPdMcBaKEOSasUwaTnqONOwnpk3tF/19aZL5VcPqev0h6Xz4UIcbsLjzTW5kV4ULgQL8ZwyvBE+MaynT5z77vZagMEPdQMA0K60NWDBM9e4SwzLO+LEw8bDeHz/fp7HXN/Pw8XzjN/7e1gf9DXSxw83V5rx+In3xI0DlmgC6au6Zm8d7w2EQrEOHKOtgfwQYWhHo4JkrDDxhUOtTIk0OZRLO0OTNDus1e7ggPRWNfdJqaPUzCDgDcBxtC5LmhjQ6rBesl0VBZGdw+lhklisO/Z8W0vCeClu0Epx30/f+5Cd/iafDnALn8U2iHeICakCaWu4ZHnFpZaVx2xIZ/bOq1JRoOnEr2r2GOrrsZzC4uB3o8yf3hrvuqwjKUq7TAfAobI8vxudLQJBL3fie3Qoebxh2STMlGT6fXd7LeA8IQcX/xb+HE89May/i4edLcx8aXoaXD1c3C9+7+9ZPXj/c794uKXc09euK1164BqEbDXaT0v2qkCiDL0CoUEdPK/MTbYP6kYFYjrPql8q4RSepW2HVL70CJDSxFMG55t6dNZT8aDWALkB6Xbf2xgZ7KjS0TstZgP1tZSyLjTOHaOwFprhcoZzcBjo7rTX/vX/ZDWPPmfNxw7Y7r/7jwLADA/0W0Z2jvH+xPtv2/bnvmLH3/u57dj9NbtweK89/PKrAccmpI1hTboOuclNiPEqdLMUKeY7+fH7dunwR5aenWe5ZbKmsm6jNZ05bk+8+us2OjykWT5J4bTTiUoOdZxPfvmWZRcUWe3OR21kcMDW6BjNymmrPB1N9Xbgtf9s3/wn/0PI5/6f+y2wlBagz3OUCsBlCch1TAef2Wxn46p/WDw7Ld84ScCRORQsQmm5FlEmZ04KjE5Gq4L2/kmdpdSBeWkdxVbhiKg1lono1oJKQ04LPjP67wOVuJRCLyLOHaOwFpHnMgaNqJujv/iZbXnxG/bIV16189W1lp6lM36njtnhN39opZu2C4zS7dgbfx5UZhz5L//WSmo2CJJWWHtjve370X+0lVK1W/PwE1axYbO9++f/pyWnpFrNQ09YRm6+Dba3WPkD261q83Y7s/8DO/fLN6x6yw47+eG7NqB3T/zab9nRt14LaTfsf8s2vfQbuk+yT95+3fLKqwI4fvSj/9euTIwFBvEyNs79rO7RFgC0AKue3gHxyUaCCML4+ISMdQxYWWlBWO4yMq4LuAIfOSwhUA2EObmrYVdwsLdDTHZZzkkat6nxlSalSzbYH+2+lpdJxdN027EsVHYBBJejOe9xwIoWc1dkjTpNIDUpSmnfD/+9bXvp69Z0/HAAq+FeGS8VpbPz279j2599yYZlMr5Uy7sLBz+2/PK1lllcYTte+Jp9ItDrbW22HV/9tqVLJfHxX/6tPffd79lzv/UPrO74ETv67t9a5aatlvat/yYAWbaWk/2tTdZ9uSksGb/5j//QPs4vtHU7HrEjb71uRTUbg/8Hf/XvrGzzTtv21PP20+//b8vxze/ncY+3AIAFZdVyuVs7gzpDWFNul+rb7NAnF+xrL+4SKGm519WrDYfJoMmBJW9DY5tEHNKC5oatD1RbvywV1R2vl+6sEuvuZTdVvKoaqTWqb9dmRG4ANRjtYX+V1ewytek9DlhRKz64+xV77U//uWaW/85WafeFX+mmbdZ+UdaTq9ZbUWW17fmP/5dVbXnQuhvOW3v9RUvSbg1b4snaymXZdmVi3DY++oyd3fuerdQOUHZxmZ0TqHXUX7D8CqnAaZCgrCiv5pNHbFLqVdovnbVVq1M0O0kxmtJK0j08s7pjhxS+ynpapGNr7TpbqzxPahlKnKmxSEXPMn37+9ncoy0ADyySw5LeeRk77R8YCrJTmzdW2OmzjRoHOvAsagqxooFBqQKSiAOK+QC5wnxN7JKOb5SSvpoq2RQYHgtXlpQNja2Skk8OkvKkr2yW3d3TPCxa0/lY/VKh0nj6uOVKDmztpi1SqzJpl0QZZeUVWmnN+nBfID7UkMykJwnQVktXU4qsF09oOzpdMjbwnK6JF3Xob34iymjY8irW2TO/+l/ZhaMHbUz8qk2PPBHi1Z38xArKJMnf3SU5INmyk4zOlLapCyvW2vBAn3U2NYT8608dt3QJ0paLmmu5eNbGJd8Dkz+/tPymTkDn8zpwxQW/sGidv8fMtnPraZGO3/vV/bjGGb/x97y7lSPfmTXDdODEesSfb5Xe/fcLbwG+FbuEiEVw5AbxAygnWO8IgGINmm7U0yMNtm2yDrStNrxD/EGCQ/pFKmUGB4ctLV39f1pIFIBC5xUolZmBGqaFl+lOhrznAYvGWuyAm6uBB3u7A1XFDLXliWc/tx29pdRnKXHi7ZAY35/joIgfLg528TTu33/2LcA3iJjukrkSCPEtkEg/UjdsKdJgsU22FuFbnWiQQslcKffTD+Y7ig2LJPIAEx7mOcvEINqh+G7CHgoMh5jH5+W+FIBF40YDLGpmJOfzddyHqYaPpyFmbT0jwTIwduaYZdhJaZOO8YrCyEryzWIQUTqEA7z4kAgLojxvQBL946KosE+HFlNmOgQHmfVQVxymN3UCTw/JbA+D0CJnMHNFea0S05Q4nBIICu8k9cwJApTgobkUoUOs7mZm3LBk7aXyK1LZCDCizsYd2j6Jj8AkSg0RZER1M36UAw2sdNbq6uoQFyFGBCxn03HloOVp+xVFgZSZ+ra1t+ksWk4oNwOJ0w9BO6oUBLpw5lzpeHr3rwtvAdrS5bB0K2HrSPfVX3zcFew9Vkiu6qRsFKL+GdEEwnMUDpLpq9tzghJE4uHPuKCP+wQU+X2+E9I9zcOizfUdrKlzxM7rzGKtjGBgE48t2LZetnylLE7HgtBUiV5vxLLWyRgCtvMwmIkmyqYuXcVwzNaxoSziyXDB2oI0abNEq2Wm1cjYBq6+vj4M0BypKcZgJtpIOXrBIOVsJYMUkGB24sNzLo3zlUhCA1pYWkbLJ9LNGAgFmABAwITB7xpAARTABYBE0yfWqgEaAAxHPA6bo1GVfFwAEsAhz+bm5hAfUKFMHKnCMCvHQADe+vo6qVDeGjp9g3S9o2ue/NetWxckvlliUDdAjIFBGagX/oARktpIgPND1z3ATV6Ujx9nSzGJtvv53aHNONICqN53n10L0A+wHTgqSqpbKqkx/rCtbI116r5ZO3/PrM8M+sWYpHERMEVgBWj5OHLg+uxKeuuU7+meAljhDstAAWefTjYNWqWs9WLsAMoI6yxYasG22lqdaWSmQfc3pHKrpHxzpaESeRP0ARGmUeAVZE8mhgNoDepkuwhk/VYFs/N+zAOgYUADMgAEKoWhsqC4AKiampowawFYUEHr16/XFnRPACtULwMiAAAUF2kASKQNOED94A+4uO52wAkqCmAhHA6QIJ0AKgKwjs4O7RatC8BE2oAeYEp6ABDARkdNT88I5+1QdwyQQgVVVlaGOkDRYbQVoAOMPZ+NGzeGsn/88cf2zW9+M9QdSg7jIcQHpKkzdaMuUF5QkNzzHsAi77thQIRK3SN/OG4D4KRJrfFzW3OFRJHpruvXb4BRoKCor7wQXqVfqUvMrBzoF+7i9+633Nd7GrCcqH1sgyzSyNBAcU5klXhtUXow8cSMgsECFJqVSJWNvpXU6GKRZUJ2FnP0LG2YHKCSw9QTusSZbTBegJ6goUFZYL4sgwrlFQFMoCoAHqgIwAiHJWjnB0BhQIG4Veim5qYAHISFF8TgpcMAbgxeAAXA4h5AAiiqq6vDQMcPagzA40Av96RDOAAJqg5qC8oKgCMM4EVZAAg6H+XEcXiXeOSNIViAcfOWzcF0GWGg5gAt0iMeVB8gR94sKaHOOCuHjnrSB+hoC+oJcFEG0vfDvJSFMlFOwuHug1Vohjv2B/5Vy+WuoBImU0z3ZAmN1lSVaddwUJTusA5FF1t7Z6+ESbXjLdUxTOCNze2aBJFcv65vLcMq8uOQdIfCcYi6sCA3fLPP81t9aXhYd6wn3JQQB1ejU/k3eS/DA+AGVQK43GkHKAFei3GAK0B7q/I4JQVgcXCYOHHG/WLyvB/20y1A+zIxsSPYJ31WlxpaxedM0wRx1R7asUE8xR47cvyibaott4t1bTKOAo8z2XZurw26svYfOiMLOjJmIhuEAwKvqsriAFhFhTlWUc5EE5mU/3TOy+NzT1NY3oR8RGYQZgaWhsFFy3UPknB12mzaO1DQYbNelPN0fL0iPSiKuCMvnM9C/hwPEwXQXwXlfSiX0uLenz0874K/PDxn/KBYcLzD4RfVMTzO+oegCnZz2fCYztcjAVbxsszkQdtNl9nD+tWZ8h42+FPgqHghT955fVgO8sPF2zR4TP8BOAnPz52n4c/xqwPffGE8/ELCeNgv2pW60S+hmAAYqKkBZLEkKHr6XINVSi8W1FeGdF2h1K+3T3xdmfzaf/BUACuoM34PbKqSepyeIHy6YX3FzBiiH810xuk+5V7hc0/7ebv5u8TnEBbPWHjSjn1ujzJz/dJRWD4IZlogduODKeY1c+uDhs4Qd/PFiYeb6z6ert8TNhpQXKPBykf0s1oM8Ag+o34TSqQ/0Y5nxH+I0orKyt9wuFZXB27iux/5xV18MMeprbh/PLzfJ77neS5H+W71LTyuhyM9p/xmSzux/Tx+4tXDxdNwv8Swcz3Dl2MTY7Hx5kov7k+5mJAc0OPvbnVPXCgs5wv696OcfG92p9GTNSEgQ+Moyz1sF2ZKId+4LEQjTIpjYg91U3qsIvQ/7ErzDtGHAFj6vKFfwuYi2vQzfoo209dCGHngRx8NQXUfnB5gtaGiBodVImw/EnY2d09TWD7jsvRg5w3eCbyd+dxcHdB3wmCoJ7q54iSGm+25ta1VaqMjHg+MesrqfCvC87FxnVJwWDTNg+M5+uzcRX2FXgDvLVO7mc53m34TOgj8un4Zss2XEdsoDrYgNeimpB9p1RVpl6wPszKUEj86Pjwq6gsDH6BwJXWUk7aFx0HdKTNLQZZ3vHMe3K3axcEnFGiWP3V1dYHPRnqhzMrLNxVmW3pSDniEbGw4D3GWZIMXS2qnUucKM58/QOA8R0aXTybxOLeqfzxs/J62h0JaCmDF0yH/ZPGoJnUUZ8+JPu2Gr7Cd1dhmFO9QOrGmrk5ZhviSo9opH5U2325pZ8DYxHSXC31vQv3jbOtYsNcI2NQUpcoIcrKdahmxzeVpdk7v6FsPyngFYc+3job8OFwNBqWnrLRSqarpk56tlu6JYB+R56rC1GD5HfEK9HUN61A15QMM2cXH6pGa4VNu1R/Lfcr3HvJgYO/fvz8wfNlFQ/YIRjAdHhCjc9TX14edLPy6u7sCQxg/wuIIw24fu3yACfEZTHQIBjQm2ZltGcQMKPg5xCceBk4Jh3wVV55xDRIZABD+5md/ExjvvGNnjrSZvdGWOS61NbYq1f72cJtdkFgGB01PyhKxgoYNAEywozb6VNNA2Dioax+2IXUMDIyis6hJ1rcxxZ6sjYMf720NnY7OgZl3yvpXH162lSpjVUmWjLueUb4RExwGOtaxAR8GP/eUFQY5fpSTnU/qwDN1p9ww0dlYoI1waNtkYHvbcc+PNAGh8xfOh7Yibb4N8Y8fPx6+Fen85V/+ZRCnoK0pE+/ffPPNsAHAgMaOAG3MjzTfffddq66utiNHjoRvBWghQkH54JkBvIAabb1nz57gx7dy4AQgSIv3t3LUgzShPpgYYE4nqUykRToRtRulQ3oL/XlZAN6linu4skBVRRSTySbjVRmkZWd5hb12TJa7ZRHncMOwvX58wJq7x62+c9xaeiel9+qKXWgbs7qOCTshKzu/PDMYdstpi1IJlaKtob1/yo7JVFi9wjcJgC7reUrI1NGnkyNK55zinumckP4sWTAXsH1wcdha+7QTLDLqovxzBEaTCn9RYVuVxsnmEWvumbQWaYXAUs+HCp+zZqWVyJAt4heJn+KeBiynQs5oMO7atSsMpoMHD1p1TbW9/fbbwWQ7QIK1Yjof2/OHDx8Olpz5SAAYMlUMLjoyO2Wvv/562NJnENFp2SX78MMPo8GpzssO2aFDh2zbtm1hoCOHxHY/O20MQgY24ggMUAcBOilkPKIC7MRRlr1799mD2zZLQnnEOgfGg1kmZMJY0p2VqfW/PdFjPzmORWaBj/x6dMV008cXZehDAoFH69XZ1FH2nO23blFn+eo8dM6P9L5d/lhHzpQZJ3QdVRVniNqCsssXKOj4kcqP3BXAxO4jAIpsFwAOUNEu1IFyQ2Wwy4jMFeGgWogDoNC2gAphoWxpc3YO3XL02TMR1QvgI/Lg7UGapAHAAFIMdtoL8Q12GnkHWDKoDxw4EACCNMmf3UvacbUA5IP3PwjPWObG2vY777wT4lYL1I4fPxEGA98Q5zum5LUQR16ICdTp0DCM7M6uPuuRkYb2jh5rau5Qu0hDJ6Ib+i00zXi+gN7tAlYATdUHflSzwGWNKJjNJWtstcBjs+SwZH7QNkr5Hgr4smXaK19iPIRBmR8Wtcsku4VwKRQR/Qc1MhiBQdQnXzq1irN09EwT46bSNZooI/UzD4vS2iiDrdWi1DDGWpqdFNJAhrFKfk9vltydgJMfEvZY7T56eUzlSrVyiRNV5Wt5qrCZKg+fJvFz3NM8LJ8tAQtmWpY6dHYGFQDhyxc6OP5Ile/dt1eMyLQAHAxQBgjCmps3bw7yQ4AP9wxE5KeQKWLQ0CnpYD44uUKRMNtxJQ/kohh0zl+g07NMZZanLMhGJYmET9FB6YMHD9mv/uq3JW0/ah+e6ZXcV2rQYVTfMWrPbpVwaTPGBa5HIhbqSNwPy8w6w61VVBcm1lu60d1lIvNTRaqPWK1EODoHBDDqmHS8Y9Kr/6jEN2rLswQIl8MgJz5AAXVEe0GdQDWur11vba1tAaSoM/UAuAAUBheUC3X1ZRbAAWUFaD344IOBmgXc6+rrxdjND360IYAxpgPi1wT2gBqARruQNxQwQMlSlHLQpgD+008/Hcp08uTJ0KZ8JwCSsORBWNqYMvaqLpUSaKV9iV8tsCIfqDCAkToAVuRLfO8zoeHm+UN9J9QuLTLkcOZ8U9CMkCZeUElRjjQjdFhFWZ498egWpcmh9xsgCNUTe5w1B8pAn6Fsi3XEpW/zTWC44wAsVUx+yLs5w8kE+HrWZBetvDgwLUOpmoQIMynTXghSi/MVvhGqoVE9c0WTKdSkO+pD8g2imAC1TK0CmFSpI4Cj5EL6hKMVWD7CS+M97/plZbqxa9we0PJytSbP6flj1iU2ed7TgOWNynW2jjibH1LfUBd88Nnex9Oc797jMiCjThAtNegeTvnNFR9qgoHvcktzhbtT/l7WeHqz+dE2AAIDez7H8ozlGMtilocAjrfDfPEW+262Mib6JT7PlcdCw3l8qGBAEFDgQDGUVJf0TZ2/2GKPPrxJcnopmnwEorq6A7igehjQ5DeX493tAhbUZ1t7dzDzRf/L0EHmDbUVtu/AKcljlUq9TJ/VrkNAWUZVJ9FjnyQ1MqKaBSQYo2iVWpq6htbQd3NzMsRnmrKcLPEzpf0hWzJatTJOMak2iBj5FnhO1Gt6hRxQClAK1dRV/wNwcXXHO5j8SeJXTYnaUvRbgvk9zXS/0TARWPDsHTPx6mGRzp4tnL/3jhafNUP4GBDF074JrPSFiOfv4/l4GnzVClEE/o4v6B+bdzOdIITQn+nO4I90Ag/DFTevn95/qi5zlDPeNiHh6T9ep6gsWlIIrHA1NTXhSn3j7RA8F/AnDu7xNiOqP/vVk4vXxd9xdRd/735c5/KPh0m8J12oDez8wcvCrBYggN/Q0KgopIgSib5DZLhhcHBchiySgkoXKB8oS04Q3ArEEvO+1TN5kr6b5ELlMcCEPdADR3VeVea83vvouMBWpvgKs620ODdoJsVuYams6SCbNTY2qckmYodAsbJzSD2jejHxRo68MNnHNaqr/Kdfzjzf8JqOFYW9qja8Ku2mN8WdCfHpmy8FYMU7o98nXr1pvJPP9d79Pbxf41STh7nVlbgeJtxHI164pAEWgMe7xPT3n6UTeP5+9Q7i15DuLPH8/Y0cPIUbZbqpbIoQBr4ixP09VtzP2zCEVwB/51ePc6vrbG3qcTwtv7p//Orv/Bp/dyfvR0fHZe+vTpQCus8jDQmYzZrSchnKprg4TzxMltApMnU3IHZDWti+H5NcVGgrFWb1tPAmwHUnHHVG42hJoZa6WqrCM8rOTLNHdtTaqPJF/gqTXejCKlH5OmQVulBhMe2Vlibjqo063VCWH7EJlBaaSnt6+0WRTYmnuyYAbLxdvT8ttuyh/83WCedI6EuzJJyj/ve977fAklqAJSFLX3YGoUo+3H/KqiUVXi+ryBgxYYBP6goAtLZJx5qWjGsrCm1QFA5K87C43Nk9aBvWow20VRPUNXvl5ccDVQQVk56+dB6W73yyzMNhVm9IO4CkmyGxF5ja6GLHwjqMb8RbMuQHfwmrOCzf4QlyHA0GO7wllATgUEKZtHL+JW0I+Bn9uQ9YaljmNJ/p4rMGK4m5Zg7CEy9QAVAdIY0b4YmL8/j+HPne+Mv76aBORc+8jMfxdGZeLuCG+EuJt4Ckv/RBHLCcJzUpXhbgBU+L5deqQGnR/pIdkxK8ZC2pAlNbyzTuUa7H0goggz/E0hBFe6Ff6cPdLg/LN3b4/hBtPzvSG0RdynKlTUM7e8dlzmt7RVoQX0DmaUdluo1J5OWY/Ecnr4WdwnQBGv26XJZ1WAAelSjEhqIUe3JzbgC2z6NvfSkBi06BozNxx0dxF71iTR35hrDce0BdZ/tQhPM4nhbX6axmjRPe64/n72HJbLa0CI+7ES56Dn9JJKpWSPBGml7wWNiE21A9jzv9brY6JkT7Uj86YPl3Csznme9242PwrQA1rt7O9BUHuuhe22VyABrpQeEgSnM7u4QAFg6B1nQJiR6+NBgEM5G3apXsFKpmWCby2RFPuCYqbELL2BGB1YDMfxFv19p0+1hiNbmSi9pcmhqADGrt1YfzAzUWMljmP18KHla8TQMjd3o0OshghfrQBalj0fb/A2sxOS7pbX28IWl4cMnwGVRRX+QjHzzXE6zhVkgtTZGE3AqzJTrQIhJfIgKT2nlBiHONdomqp/VlXWwdkvqaVZIq1jJBUsCoq6HDPFCZFSTU6dAF2b6jFOnp6uiXzqw1yUFIdIN0b7mbE0wcpRSQOvXLWm+V9HstxM2Z5kIifwnDACzOr/LqQ23zHeMTDu0a8aX8HcDl5z4VQ/ceh2UYDj9+d8JRJvoykuUkWSBNI2vzI8vY7NCNC6BKJR91tF764tSHKyQHxTKRozKrRQ1ukIwWlFea5KWGJYAalP3diYItMY0vFWAFsNIHRMaI2QuBR1yH5JbelCDmN3cU6KMO2umWIcsQOXyyZdh+ZWdh4CsMj03ZRUmQ10g1zSMbtVUvXsCJpiHbsjbTjkrfFh//k8Yh+4o+7qG6AUvR2n9MH/5hCXSmCKj2CRAhtbsEIg9IRipLgnGNEuS8LEn0NMlEleSmho51qW1IpLsMXSrc2bYRadqKAPKQ8vj1J8ulaFDySAJSxsXAiGZKAWBVUVrYXob0R7qdtEr1+8G7zfZrjxQpgeuSdFY5xBQGpAsFjCOS2eIIT5f8e5TX7m0FdlxyWXmS0YKXgXt6a2EYTHdo7IQ075U/UDDhqNKdwZWbm0XNf6cAC1knAAieFd+R0xLbqqQZVyciEA7lWA6m6R/bkBX6B3wrlraE5ahNnibMdI0VwIoJHcoLmb/Py93Tku6JjcpMRkf4/ve/H8hvhBtxaBYt0kAFuM4LJBDAZDCXinLqFyhADTVIyrxIA71Fmkm3VWUHuRMG/cayTPsLHXupkmLAAqVxTvE3lqYH8CnR2b9jArFhdY7ta2UaTMoBt5SmyXBl9PHPSwi0V+lXCFzQtw1D9F/8rCmkUSSlgcxm5UqXctBR6GDFCvu/v9lgxZJApqOtEbkPQBIWrak90tn1jARL0fG1QksLQLKuc9Qq1NnotCxdqMMbMl1+UsKkZapTh1RGd0mgtEECfIy/Nik4fHpLJcP6SQAAAGJJREFUQThvRvvQee+7T7dAoITUYnf83202uB/N8RIj3vDemQFNgldsXNRWiybKd04PyqjKVXvrhHS6yQw9lp85GfGLU4N2QPrfOa7TI42k59vHwlEuzhkWSXJdePa59of/H0qc4aAmJtPqAAAAAElFTkSuQmCC"
  },
  {
    "path": "editions/de-AT/tiddlers/bilder/download.png.tid",
    "content": "created: 20150517093813793\ntitle: download.png\ntype: image/png\n\niVBORw0KGgoAAAANSUhEUgAAAkAAAAFHCAIAAADGFWREAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAgAElEQVR42uy9d1xT9/4HTCYECAkrQEIgEBJmGIGEFfYGZQg46mpttdWfrbVe29p1O7Ra29v2dlg7rNqrgoqDKSB7QwgECCESRgIBAiRASCAJkOT547weHx9tvQqK2uvnT0hOzjnfc77vz3h/3h+QTqfTe24rMK1WOz4+zuPx2traeDxedHR0fHw8CoV6as/22LFjR48edXNzk8vlN2/exOFw//VbEomks7Ozrq7u3LlzMpkMj8ebmJjg8fhdu3YFBQWBQKBnd/kUCkVvb297e3trayuZTH7ppZfQaDTwL51O19HR8eWXX7q7uxcWFkokEgwGQ6VS0Wj0e++9p6+v/+C/olar09LSSCTSP/7xDzwe//ytWaHJZLJbt24BCweFQtPS0vz9/fX09IRCIZfLvXHjRm9vL4PB2Llzp7W1NXD/z549C4PBdDodj8ebn5/38/NLT09HIpFP/Fra29vPnz+vVCqPHj0qEAiYTGZra6uLi8uWLVvMzc1vP4pTU1MsFuuXX365ceMGBAIhEokxMTFbtmxxd3eHQCB3HnBxcVEoFHI4HBaLpVKpMjMz/fz8wGDwIz9ztVq9devW9957z9vb+2G/29PTA4fDiUSinp6eRqP5/vvvGQxGfn5+RkYGhUJ58OOAngPYMkyj0XC5XJFIhMPhSkpK5HI5DoejUCienp7GxsZP+cnn5ua++uqraDTa3Nx8zZo1hw4dus+H+Xx+VlZWV1dXc3OzTCazs7OLjY318fEJCgpycHB4pqFLJpNVVla2tLSYmZm5uLgEBASYm5sDV6TRaHg8XklJyfT0dEVFxdTUlJmZmbGx8cLCwrFjx0pLS9PS0jw8PB7q57799tuSkpK33347IiLi+Ru0PNPpdAMDA0VFRWKxGIPBEAgEKpVqa2ur0+mYTGZJSUldXR0KhUpMTIyIiLCzswN27YGBgezsbBAIlJaWpq+v/8EHH3zxxRe2trZPyUXNzMwcO3aMy+USCARra2t3d3d/f38rK6vbL5dSqczNzb18+XJ1dbVWqw0PD8/IyKDRaEQi8S5Y0mg09fX1VVVVEAjEwcHBy8vLzc3tsb6kZ8+elcvle/fuXeGyXrlyBQwGIxCI0dHRl1566cHhFvr8rXhwm5ubE4vFTU1N2dnZg4ODEAiETqfv2rWLSCSamJhAoc/GzYyOjiaRSBwOJyMjo76+fmZm5nbMAdj8/PzIyEhbW9vJkyf7+vr09PRMTU3Dw8O3bt1KoVDQaLSBgcGzuwPK5fLbfm5gYOCePXssLCz09fVBIJBSqRSJRAB0zczMYDAYJpOpVqupVOpXX33V3d198uRJNptNp9MrKioeFsBCQkJYLFZhYWFYWNjjcIf/xjY7OzsxMcHhcGpra+FweHx8/Pr161Eo1NLS0sjIyKlTp65cuTI5Oenp6fnZZ5+5uLggkUgwGKzT6YaHh2tqalpaWjZs2ODl5WVkZKRUKt3d3WUy2dMAYFqtdnR0tLa2tqWlBY/Hq9XqvXv3IpFIAHJUKtX4+HhJScmZM2fGxsasrKz279+/fv16a2trY2PjO2EJ2JdaWloaGhpIJFJGRoatre3t4zxWi4yM/OGHH+7dQx7KQCCQnZ1dS0tLfHx8W1vb9PT07dDzOYA9GpuYmGhoaKipqampqRkbG/P09EQikS+//LJEIvH29obBYM/QtRgZGTEYjNnZ2c7OTgQCUVVVlZqaCvxrcnKyrKystrYWcHKBl4FKpcbExACpmGfaxsbGqqqqBgcHwWCwh4fHN998cxuJx8fHa2pqBgcHpVLp4OAgDAYTi8UWFhYffPABCAT67LPPdDodkUh0c3Orra1NTU0tLCycmJjAYDAP/usEAsHOzq6vr08oFDo4ODx/px7E2+Dz+c3NzcPDw1qt1sHBYd++fba2tmAweHJy8vr163V1deXl5SYmJomJienp6S4uLredSJlMVlxczOFwnJ2djx07hkAggL8bGBg4OTlxudzHHZo8oEP8888/29ravvHGG/39/WKxWCKRmJiYTE9PNzY2lpaWVldXq1SqsLCwd955JzQ01NTU9K4jTE1N1dXVdXd3azQaFxeXDz74AIPBrOZ1mZubGxkZ3bp1C0jhLtsIBML169ctLCxgMJhAIHgOYI/GP5qbmxMIBLm5uWVlZZOTkyMjIxAI5J133tm8eTOLxeLz+VNTU/39/S4uLs/Wpb344ottbW1yuTw9PZ3FYgUHB4tEotOnT9fU1ExMTOjr6zMYjJdfftnOzs7W1vahij1P4SKqVKqhoaHi4uLBwUEGg5GRkWFnZ2dgYKDRaORy+eDgYGFh4cDAAIFAEAgEPB4PBAIBmVUikYhAIGZnZ6VSaVtbW1RUlKGhIQaD6erqSktLO3fu3JtvvvngsZSpqamtre3s7GxJScmrr776TGdfHytoLSwszM7Ostns0tJSCAQSEBCQmZlpY2ODQCDm5+d7enqys7M7OjomJiZQKNSHH37IYDBsbGzudCKZTGZ2djaFQtm9e7eVldWdJSIQCOTp6XnhwoW0tDQoFAo8HiAQ6DbCraYhEAgLCwsfHx9XV9fCwkIajZabm6tSqUpKSsbGxrBY7K5du2JiYmxsbIyMjO68RfPz8xMTE4WFhTwej0ajpaam4nA4ExOT1b8EGAxmYWFRXV29QgCzsLDQarWzs7PBwcE1NTVUKvUBX5DnAPYntrCwAFR98vPzOzo6rKysFAoFFouNi4vz9vZubW1FIpHGxsY3b97cuXPnmTNnPvnkk2drl8fhcHA4XCwWl5eXNzc3X7p0SSQSubq6hoaGBgUFZWZm3lUWfkahSyAQtLS0DAwMqFSq6OjovXv3Ah763Nxca2srm80eGhri8/lYLBYCgVy8eJFCobz00kvJyclmZmYSiUQmkyEQCCQSGR0dffPmzZiYGBKJBIFAampqDh06BDAFHtx3AYPBMTExFRUVRkZGUqnUwsLi+Yt2p2k0GpFIxGKxBALB+Pi4g4PDnj17gFBVpVL19PS0t7d3dna2tLTY2NiQSKS3336bTqfD4fB7IZDH4+3fv/+vkoQkEml+fr6rq0ulUrW3t9fX16PR6H//+9+rXwKAQqH+/v41NTWGhoZarfbEiRNDQ0NpaWkpKSkBAQH+/v53uUdarXZgYIDNZgM8lJiYmJ07dz7ZnUcgENTX14+Pj//f//3fnSj7sAYGgwHo2rhx48WLFycmJqysrJ4D2HKgq6ioKDc3t7GxUSKRREVFfffdd+bm5mKx2N3dHchRdHd3s1iskZERBALB4/EMDAxYLFZQUNAzdJkIBCI8PPy3337LyclZXFw0MjKCwWAffvhhcnLy3yMy4HK52dnZarXaz88vJSXFxcUFgOT5+fnS0tKysjI8Hj81NdXX12dlZdXY2Egmk48ePert7W1padnV1fXdd98pFIr09HRra2sQCBQbG/vxxx/Pzc0FBASUlJQQCISRkZGgoKDGxkYA0h7wrBwcHCwsLMRi8cDAwHMAu/OlYzKZV65cAYFAVCo1JCSETCYDPN65ubmampq8vDwrKysgu7tu3brIyEgXFxdDQ8M/PRoIBNq6det93Jquri6pVLpr1y65XG5vb5+RkXHjxo2enp6HIr89qgufmpq6fPmyXC6PiYnhcDhRUVEfffSRvb39veje3d196dKlpaUlLy+vzMxMAoHwNDjNFhYW9vb2PT095eXlycnJKzlUcHDwBx98sHnz5rCwsPLy8hdeeOE5gP2lAT4di8WKioqyt7eXSCRcLjc/P//KlSs6nY5MJh84cCA5Ofl2Qlmn093e2RMTE9ls9t69e83MzN58883jx4+Xl5c/E/zD2waBQBISEqRSaUpKir6+/vXr1zds2ODi4vJMo9fCwsLw8HBbWxuTyTQwMNi4cSOZTIZAICAQaHJyks/nM5nMxsZGc3NzOzu7uro6AwMDe3t7EAj07bffolAooVB47do1LpdLJBK3b9/u4OBw2//19fU1NzevrKxMT0/HYrFAgB4SEvLll19OTk4+eHUQAoFs2LDhgw8+aGhooNPpz7OF3d3d5eXlXC6XRCK98MILCwsLbDYbKGux2WwWi1VUVKSvr49AIKRSaVhY2Mcff2xmZvawTynAzRkcHOTxeDweD4/Hv/DCCx999FFCQkJYWFhKSoqVldWVK1fc3d1XgVyj0+lmZma6u7t7eno6Ozvd3Nw2btzo6OiYkpLS1taGxWIXFxfvCnGamppaWlpQKNTWrVtJJNJTxQBCoVDOzs5cLvf333+PiIhYSVuCmZkZBoPp6ekJDAw8efKkTCZ7kGak/0UaPZ/Pv3TpEhQKDQsLMzY2LiwsrK6ubmtrs7GxSUhIiI2N9fb2vg+pZnR09OTJk/v27VOr1Vu2bPHw8DA3N09OTvbx8XnuTT8RW1paYjKZQMnEycnJ19cXYBjrdLrR0dGSkpL+/n6gOcbKymphYaG/v9/Dw4NCoVhbW0ul0t7eXiQSaWVl5eTk5O3tfW8mRKvVHjlypK+v7/Tp07W1tVeuXEGhUJ999llWVpZOp3tAVxGwiYmJffv2yWSy3NzcZ4v788hNq9W2tLTMz88jEAgmkymRSCwtLUEgkFgsXlpaGh4eFggE8/PzlpaWmzZtupMW/+BQIRQK6+rquFwuCoXCYDAkEgkKhTY0NExPTw8ODjo6OioUimPHjkml0kOHDh0/fvyhWDnLMKFQWFBQMD4+DmRBaTQaCoXq7+8/e/bshx9+ePHiRYVCsWvXrjsvs7m5eWhoyN/fH4/HP1X+pVar5XA4QOX4m2++qa2tPXPmDIPBWMkxr127plKpUlNTT5w4ERMT4+np+TwC+/9tc/39/WVlZTweLzQ0VCaTffrppzwez8jIyMfH58yZMzQaDYlE3ptVv8vMzc3NzMz6+/tpNFpKSkp+fv7WrVuvXr3q4eHxP74lrX4YLRaLWSxWbW0tDodbv349DodDIpE6nW5ycnJgYKC8vLy9vd3Z2Xl4eFgul5PJ5JGREUtLy507d2o0GjabzeFwwsPDd+3ahUajjYyM/mp/BIPB69ate/nll7u7u11cXExMTMbGxkQiUVpa2uHDhxUKxYMH32g02sPDo66urqKiIi4u7n927YBWjcnJydraWj09PS8vLxQKVVdXB/jdTCZToVAAtDo6nW5qavqA0LW0tDQ9PT0+Pt7d3c1kMsFgMIPB2L59u1Kp7O/vv3r1KhKJjIyMRKPRTU1NJSUl//rXv2AwGMCv6e7ufhwAtrCwMDExcevWraqqqsXFxYSEhIyMDDMzs9t7hZWVlYGBgUAg8PLy+u233xQKxZ10DBqNRqfTn8LUCAgEamxsVCgUdDrdyMhIp9PduHHD399/JXugk5NTSUkJwPjt6up6DmD/nw0ODt64caOtrU2lUoHB4HfffVcul4eHh+/fvz8+Pv7elsD7mL6+PplM7uzspNPpmZmZjY2NwcHBY2NjDQ0NYWFhz3FlFUyhUDCZzObm5sXFRUdHx3feeQcoVunp6bW3tzc1NYlEIg6HY2xs7ODg0N3dbWVlZW9vr1AonJycDA0NBwYGbGxsdu/e/eBOvZubm42NTXV19Y4dOywtLW1sbHJyct58882DBw8+VO0aDof7+/u3t7eXlJRERET8V2/p72disbi6ulooFC4tLQELJJfLm5ubeTweDoebnp7u6+sLDQ1NTEwMDQ39q0LXvSaVStvb2zs6OtRqNRgMJpFIb7zxhk6na2xsvHbtmkajcXBweOGFF0ZGRpqamhYXF9VqtUgkEovFDg4O+vr6FAqlvb09PDz8EUKFQqFobW1tbW1dWFiwsLDYsmWLk5PTvRVTQ0NDPB7P5/PDwsJUKtXAwMCdwhZPbcsgCASi0+klJSUA7evatWuFhYVvvfXWgzPg7zUsFqtUKqenp+l0+vHjx1944YX/uhx/cwDTarVSqTQ3N/enn36SyWQqlUpPT8/U1PSll14CSGVoNHoZjwidTv/oo480Gg0Wi/X09JyamkpNTc3OzqZSqU+DOM3f2xYXF8+dOzc1NbV27Vo8Ho9CobRarUwmY7PZV65cWVhYABJQVCp1enr61q1b3t7eSqVSIBD4+Pj4+vra2dkBnOyHfV3T0tKuXbu2ceNGHA6nVqtbWlqkUukyXlc/P7/FxcX5+fm+vj43N7f/keQHcL2FhYVSqZRKpbq7u7e0tHR3dxsbG0skEo1G4+HhwePxQkJCEhMTnZ2dH+Q9WlpaUigUfX19N2/eHBoa8vLyCgsLMzc3RyAQg4ODv//+u0Kh8PX1DQsLm52draurq6qqIpPJJBIJBoMVFhaCQKC8vDw/Pz8YDObt7V1aWrq4uLhCl0Kn0ymVSolEUlVV1dTU5O7uHhMTg8Phbou8/Gl87+rqWlFRkZCQEBgYCDQAPBM0YA8Pj1OnTk1PT9NoNAsLC6VSWV1dvW7dumUf0NTU1NDQcHR01NfX19TUtLu7+7/KBfxtAUyn042NjRUVFf388889PT1AWBofHw/IzKyw7cPCwoJMJjc2NjIYjLCwsMbGxh07dri7u0skkucA9rgNCoWiUCg8Hk+hUNRqdWNjY2dnZ2NjIwBRU1NTRkZGFAqFxWJZWlr6+PgsLCzExsYGBgaucGmCg4NPnDjR09NDp9Pb2to8PDxYLFZsbOzDHgeNRicmJl68eLGtrc3FxeXvrcohk8k4HA6HwxkZGYHD4WQyWa1WV1RUtLW1OTo62tnZweFwgAWDQCD27Nnj5OT0IK/21NRUW1tbX1/fyMiIkZFRTEwM4K+wWCwmkykSidBotJ+f321eD7A56unp/fvf/4bBYAYGBhYWFlgs9o8//nB1dd28ebOTkxMCgeByucuQ9bt9Vnw+v6urq6+vb3Z2NiAg4F//+tcD7jMeHh6nT5+em5tLSEg4deoUi8V6Jjg+MBgsPDz85s2bmZmZGzdubGlpaWlpSU1NXfYjDQaDAwIC6uvraTRaRkZGTk6Om5vb/Y/2NwQwnU43ODiYnZ3d3Nw8ODg4MzMTHh6+efNmCoVCJpMfVdImMTHx7NmzwcHBTk5ON2/enJubS05O/hu0Tz39BgKByGRyVVVVUlKSTCa7dOlSc3Ozl5dXUlISIIU3OjoqEAhiYmJ8fHxcXFzwePwjqU3a2Nj4+Phcv379yy+/xGKxTU1NnZ2dERERyzj4mjVrTpw40dHRkZ6e/kRaaFfBxsfHCwsLWSwWmUx2dXVFo9EVFRW5ublisdjf33/v3r1OTk4cDqevr8/Ly8vPz8/Z2fk+W9Xw8DAGg9HX1wcYWGNjY3A4PDk5OS0tzcrKanBw8IsvvhCLxRQKxdHREQ6Hd3Z2zszMUCgUS0vLvr6+9vb2W7duYTCY1157bXZ29pdffoHBYP7+/h0dHefPn4+NjbW2tk5KSsrPz18egPF4vDNnzsBgMAqFsnbtWkdHx4eSWzMwMKDT6TU1NQkJCQQCoaKiwtfX95nYTKhU6tmzZ1NSUkJCQvT09DIzM1d4QC8vr7Nnzy4uLhKJRIVCARBe/icAbHZ2tq+vj8lknj17lsPhACqfERERoaGh0dHRj1wenkAgQCCQ/v5+JycnPB7PZDLXrl37HF1Wx0gk0r/+9a+ff/65s7PT0dFxx44dGo2mrq4OjUajUKgXXnghPDzcwMDg0Za+DQ0N165d+/7774+Ojtra2np4eBQWFspksmV0dFlbW0dFRdXX1w8PD5PJ5L/NuiwsLAwMDPT29ra1tc3MzPj7+6enpzc0NPzjH/9YXFx0dXV99dVXExISLCwsSktLr169GhoaunPnzr9aKZ1ONz4+3tPTc/XqVS6XGxcXNzo6qtPpcDgcIMduZGRUWVnJYrGWlpb8/PxcXV2BWNzR0TEsLGxqaqqwsLC8vNzMzIxGo73++usoFIrFYo2Pj2MwGJ1OZ2houGnTpi+//LK6unrDhg2xsbH/+c9/xsbG7r9j/qmZmJjs3r0bj8cvO/hIT08/ePBgdHT0+vXrv/rqqy1btjw9csP3MQwGY2xsPDAw4OXllZeXZ2JissKMgrGxsaurK5PJDAgIoFAobW1tSUlJ9/k85OOPP37WX5vh4eErV66cO3fuq6++OnfuHAKB2LhxI5VKhUAgSCTS3NzcycnpkevPgkCg0dFRuVzu7OyMwWDOnz8fExPzXKR1dWxgYKC4uNjAwGDDhg1SqbS2tlYsFtva2mZkZAC9MjAY7HEQtywsLHJycgwNDX19fQ0MDHp7ewGNvmU8PDKZrL+/f2FhITAw8G+wIkql8saNG9nZ2QMDA/r6+iQSSafTlZaWFhQULC0tbdq0ac+ePa+99pq/v7+JiYlWq1Uqlenp6UD96U9Xanx8PDs7+4cffjh//jwYDI6MjCSTyY6OjhKJBHAmpFLp5OSkSqXS6XRgMHhxcVEkEslkMrVaPTg4CDQph4SE+Pn5ZWZm6uvr9/f3a7VaBoOxefPm2tpaJpMpFou3bdtWXFwsFos3b94MgUB6e3tBINCDpDHvMiQSiUajV/LIweFwFotlbW1tY2Nz7tw5Ly8vYNTIU25QKHRgYGBhYcHDw2NkZGRqasrZ2Xnlh21ubg4MDFSpVF1dXfcPRp/JCEyn0ykUisnJyZ6enrq6usHBQUBQ0tnZedeuXZaWliwWSy6Xr1u3DmjpfxzBOBgMdnd3Lysri4uLw+Fw9vb2DQ0NQBz93B6tabXauzwDDAYDgUDy8/PlcnliYmJKSgqgkf+42campqaJiYkFBQWpqakYDCY1NfXrr78OCQl5WBUiQHLi5s2bbW1ty2OCPCXrMjs7Ozw83NTUxGKxnJ2dg4KCZDJZR0eHQCDw9PTcu3cvIJlhZGR059LA4XBfX9+/yqMIBIKLFy8WFxdrtdqAgICvvvrKzc1NIpFcuHChu7vbzMxMJpP5+/vb2dkBrzmZTAakexcWFuzs7BISEpKSkjAYDNA2093dnZeXFx8fn5mZaWZmBugfvvvuu2VlZVwut7e3NyoqqqSkpKKiIjo6mk6nM5nMyMjIJ8IOpVKpbDY7KSnJ3d393LlzMTExT7+wABgMplKpV69eBV7DDz/8MCYmZoXRApFILC8vl0gkbm5uOTk5crnczMzsbwVgHR0dpaWlKpVKJBJptVoikWhqakqj0RQKhUKhQCAQr776qrOz8+Nefmdn5/PnzwNzN6Kjo/Py8uh0+jMtffu0mUqlam5u7urq2r17951eCDAqgkAg7N69e5WVlFNSUk6dOsXhcCIjI7FYrLGxMY/He9jRKnp6egQCAY1Gz83N1dXVpaSkPHPQNTw8XFFRMTo6OjY2BoFAzMzMOBwO0CG+YcMGV1fXh8WAmZmZ2traa9eu9fX1ubi4vPXWWwwGw97eXiQSAZpn8/PzcDi8t7fX19eXw+GMjo46OztDodDr169jMJiEhITQ0NDQ0FADAwOpVFpUVMTn8yEQCJVKfe211+6sU4LB4KCgoLCwsOLi4hs3bqSlpRUXF58/fz4gIIBMJpeWlsrl8ifiUpBIpNzcXCgU6u3t/f333w8NDd2rKfUUmrOzs0QiAWbmOTg4tLe3rzCpABQCBAIBjUZzcXFpbm5OSEj4mwCYTqcD+jxkMllraysMBouNjTUwMOjs7MTj8aGhoY6Ojqs2UMDQ0DAgIKC8vHzTpk12dnZ6enpCofDvVNJ4gksslUpramqqq6vJZPK9qqZwODwpKenjjz/u6uq6nbJYnUXH4/EeHh55eXmRkZF6enoMBqOxsdHd3f1hfx0GgyUmJn799ddcLjc2NvaZoHJoNJq5ubmenp4zZ87weDyADQgGg01NTUNDQ/fs2WNnZ2dhYfFQt2JxcVEqlVZXV+fk5CCRyPj4eG9vbywWC4fD5XL5r7/+eubMGYFAoNFoFhcXgQybWCwmk8lhYWEdHR12dnZffvmli4sLFosFEo/l5eVMJjMoKCgtLc3BweGvooEXX3yxqqqqp6dny5YtZDLZwMCgu7vbz8/P0NBwfHz8iQAYgUCQyWQzMzNeXl56enp5eXl79+59+oMwgItYWlq6cePGgICA1tZWGo22EmVkYFIzILSflJR07Nix2NjYv8qiPTNSUsDwNyaT2d/fPzg42NbW5uTkRKFQJBKJs7NzUlLSExlYpVKp3nrrrWPHjiGRyEuXLul0uo0bNz4HoWUv8cjISHNz88DAwMTEhJ+fX1xc3L0zkACbm5tzd3fPzMz89NNPAS0oR0fH1cHX33///ZNPPuno6DA1NR0eHv7Pf/6za9euZVA5lpaWIiIiFhYWsrKyVufkl21SqZTP5zc0NNTV1QFtW1qt1tzcnEAgxMfHR0ZGPnjH8Z0ryGaz29raRCIRQCIFFCimp6dbW1srKiry8vL6+vqAI1taWlKpVHNzcxgMZm1tPTs7i8PhkpKSCAQCCASanZ1tbm7mcrmjo6OBgYHx8fH/NYs1PDy8bdu22trat956a3Fx0dDQMCkpKSgoqLq6msvl7t69+4nc5+vXr8/Pz8fFxUVFRVlbW589e/YBRdmfrCkUinfffff48eMKheKXX37ZsWMH4E8s2yQSyeHDh7/++mswGPzpp5+mpKQAoP5MRmDAfITz588rlUpfX9+oqChbW9uTJ08WFhbu3LnT1dX1YZ2+R2gGBgYeHh6tra2RkZHBwcHHjx/fsGHD81FPy7Curq7s7Oy5uTk/P7+oqCgXF5f7K1wYGRmFhIQUFha+/fbbEomktrZ2hXPNH9BAIBCNRkOj0YWFhVu2bLGysgKDwWNjY8sAMCgUmpCQ8M9//pPFYj21ANbb2/vzzz+LxWJXV1ccDhcaGlpfXw8CgVJSUnx8fB6WLw7YwsJCY2Pj5cuX7ezs/P39t2zZArgp4+PjFy5cKCkp6ezsFIvFYDBYX18fjUZnZGQAbc5TU1MuLi4+Pj5kMhnY2ZVKZX5+fk1NjZubm5+f359KWf6pYbHYqKgoYErt/nyOtboAACAASURBVP37y8vLqVSqnp6er69vdnb20tLSExmwHhYW9v7772dmZrq5uQGid88EgCEQCFtb276+Pnd3dyQSKRQKVwhg5ubmpqamgN6xkZFRS0uLp6fnn+6rTyOAzczM9PX1DQ8P29ra8vl8QIl5+/btjo6OYDAYuAwPD4+SkhIQCGRpaflkzzYoKKisrCwoKMjW1pZEIlVWVgLJped2f6dkaWkJEM7p6OhgMploNHrz5s239eMf5CCbNm2qqalpbGyMjY0FhFBXZyCAh4cHg8HIyclJSkoyNTVlMBgVFRXLG8axZs2aCxcu/PHHH8B8xadndcRiMY/H6+zs7O3t9fT0XLt2LYvFOnHiBDCne+vWrevWrXvYtCcgo8xmsxsaGohE4meffYZGo5eWloRCYWVl5R9//FFZWalQKLRaLQqF8vb29vb2DgwMtLS07OzsZLFYgASBvr4+CAQCtMTYbHZ7e3twcPCRI0dMTEweynGEQCBbtmz59ddfmUymXC6HQCA8Hs/b29vY2JhEIrHZbD8/v9W/86ampi4uLlwuF2h1v3jx4jOhTgeBQCgUSkdHh4eHR1RU1NWrV1dYBgOBQJmZmVevXjU2Nv7pp5+Afow/pXI8XQAmkUjKyso6OjoALZaoqKi4uLiDBw/a2NjcVQXx8fGxtbUtKCgICgp6sh1/BAJBoVBIJBJbW9vk5OQff/yRwWD8D2rcPbjNzs5euXKFzWbD4XAzMzMymXzw4EFgVPxDHcfZ2dnR0fH69etr16719fWtr69fHXlcMBickZGxf/9+FosVHR1NpVKzsrKWB594PJ7BYDQ0NCyPCfI4jMvllpSUzM7O2tjY2NvbQ6HQurq6L7/8EolEJiYmhoeH+/j4PGy4ubS01NnZWVBQAIwLOHTokFKp1Ol0c3NzX3zxRWlpaVdXl1Kp1NPTI5PJUVFRwcHBEAiEz+dPTEyAQCAXFxc0Gm1paWlgYCCTyfLz83t6eszNzZ2dnTMyMv4qyfxfzd7ePioq6vTp07m5udHR0W1tbV5eXiAQyNfXl8ViPREA09PTA1wZf39/c3PzwsLC+fn5ZaRnV99IJFJOTo5arXZxcZmampqcnFxhaEEkEmUyWXh4+NLSUkdHh1gsvhPANBqNQCDAYrFPvg8MKAXzeLxLly5dvnzZyMiISCSOjo7Gx8eDweCEhAQoFIpAIO5CKRMTk9bWViCz8WSDMH19/bGxsYmJCVdXVyMjo/b2dhQKtYxeyL+HAS0+d4lTaDQavf+3yzUrK+vzzz8fGBgYGRlJSEjYvn27p6fn8npoUCgUj8drbW0NDw8nEonXrl0LCQlZHW8Gi8Vevnx5cXGRwWAgEIjp6emRkZFl8CENDAwmJydFIpFarQ4KCnpSyWe1Wg2oUZ86daq7u9vNzc3S0rKmpubChQsdHR1YLPb999//xz/+ERcXRyaTH3w/1Wq1wLiAkydPDg4OJicne3l5abXan3/++fr16xMTE7/99ltdXd34+Li+vj6VSg0LCyMQCEC1e2ZmBqDGcDicqakpIpGor6+fm5t78eJFMpmcnJwcHh7u5ua2EvILCASysLC4fPny6OhoYmJiQ0NDUlIS4EW1trZ6eno+EUYxCoVCIpEQCARgdRIIhNWftLkMMzExKS0tdXV1NTMzU6vVPB5vhacNBoNFIhESiezp6ZHL5aampgEBAQqFApgB/euvvzY0NJiZmT1hAOPz+Xl5eZWVlUKh0MTExNDQcH5+XqvV+vv7l5SUTExMlJaWcrlcAoFwF0qBQCAUCpWdnW1nZ7cMDtgjNBAIZGVlde7cOaB9RC6XA+o4/2uVMGBAybVr12QyGYlEuh1s1dbW5ufnCwSCgoKC4uJiKBS6ffv2ffv2eXh4nDlzZu3atcveJsBgMAKBuHDhgq2tLaBPaGtruzr8MQgEMjs7W1RUFBkZaW5ubmJiUlRUFBAQ8LCyUiAQyMzMrLS0VKvV+vr6PhEhTTabnZ2dDQxqAIhwly5dys/Pt7a2zszM/OCDD7Zu3ero6GhkZPTgzoFGo+Hz+VevXq2pqZHJZOnp6QQCoaamJisrKysry9zcHI/H37p1C4FAwOFwQ0NDS0tLoVA4NDSEw+FQKJSZmZmRkdHU1BQej/f391cqlTU1NX19fRERETt27PD09EShUI8k42psbNzZ2dnd3U0kEkUiEZ1OB3gibW1tgALvE9xVxsbGhoeHRSJRUlLS05/RATL/jY2NNBrN2Ni4pKSETqev5LSBRHFfX5+TkxOLxRoZGdHT06uqquJwODMzMyAQaHp6Oj8/H/pEdrr5+Xk+n19QUKBQKEJCQiIiIrBYbF9f38TEhJWV1fj4eHFxcXd3t729vVAopNFofD7f1dX1ruMAnjsgH/lkWciWlpZ4PL61tTUoKMjb2/vbb7+dn59/hgY0r3A1Z2dnOzs78/PzUShUcHCws7OzTCbj8/lFRUUdHR0ymUwsFicnJwPUDDMzMwgEAofDfXx8ZmZmgLzfssGeTqdbWFjU19enpaXhcDg+n38bOx/3/kKn0wEmwqFDhywsLIyNjQUCwb1P6YNkEclk8vj4OJ/PX2Hpe3n5DygU6ubmNjAwcOPGjaGhISsrq4yMjNDQUDs7O6Df7qEeBoVCAXilenp6AQEBQUFBQqHw008/HRsbU6lUnp6eBw4cmJyczMvLm5mZUalUMBgMgUAsLS2tW7dOo9FMTk7i8XgqlWppaTk9PZ2bm8vn8+l0OiCWfZ+G1uUZGo1OSkqqqKhob2/39vbOycl59913DQ0Nzc3Nh4aGnmBLDBwOt7GxCQsLu3r1KpvNXuGgyNWx4ODgq1evTk9Pm5qampiYCAQCd3f3lRzQ2dn55s2b1tbW4+PjYDB4YGDA19c3Ly9veHiYQCCkp6c7OjquagS2tLTU1dV18+bNoqKiwcHBtWvXbt261dnZGYVCAco63d3ddXV18/Pz69evDwoKMjU1BZrwxWLxvcwIMBg8Ozt748aN8PDwZXDAHu12hkKhiouLAwIC0Gj0rVu31Gr1U06MfiR5p5aWltLS0sLCQrlcvmXLFnd3d7FYXFdXd+bMmfPnzw8PD8Ph8ODg4MOHD2dmZjo6OpqYmLS3tzc0NHh4eIDB4PHx8by8PDKZvOyMq0qlmpqaunz5cnx8PA6Hq6qqWrWit6mpaWdnp0AgcHNzw2Kxo6OjExMTy3hjQSAQEomsrKxUq9WrXLEfGhqqqqrKysr66aefgClcBw8ePHjwIJ1OB5RzHxy9FhcX2Wx2eXl5UVHR2NhYYmKira1tQ0PD4cOHb9y4QSQS16xZs3PnTmNj4/Pnz//444+zs7NkMjkwMBAYgG5jYwODwSIjI1988UVDQ8P29vbi4mJA/3D//v0xMTH29vaPw0kFgUDW1tY3b97kcrkZGRkFBQVxcXHAVNvKysonKKwDAoEWFhbEYnFfXx8UCmUwGE+/ti8UCpVKpYCk8ujo6OTk5AoBzNjYWKFQSKVShUIBh8Nra2snJycDAgIOHTrk7e3N4/FYLNYqRWA6na6ysrKwsNDU1NTb2zskJMTe3h5IN4tEokuXLg0ODrq5uXl7e69fvx6Yi2pgYNDU1BQREZGVlTU6OgoA+10A5uLi4ujoWFBQ8EgEuB7WlEplQ0MDGo329fXFYrEgEGhkZMTBwWHdunVffPFFWFjY08Mre7S2sLBQXFx88+ZNe3t7T0/P8PBwLpf7/fffGxsbw2CwpqYmIBe0bt26iIgIJyenO9kZRCLxzJkzaWlpnZ2dTCaztLR0fn4eEBhcxplMTk4KhUI4HF5eXv7GG2+cOHFi1YrexsbGVCq1uLi4qqqKRCL5+PicOnVqeWrcRCLRwcGhsbFxYmLicU+1B15GLpd75cqV4uJioVAYEBBw5MgRKpXq6Oi4jFB4cXGxrq4uPz/fysqKQqH4+/uz2ezDhw93dHTg8fi9e/dSqVSFQlFdXX39+nUOhwOBQA4cOIDBYAYGBhYXF0EgkLOzc0JCAgQCKS4u/u2332xsbAICAmJjY5fH0X9Yw2Kx8fHxR48e7evrMzIyAtRjSSTS8PCwSqVahRO4z1Pxyy+/ZGZmAqNTl81VWU2jUChlZWVKpdLb2/v3339foTi9Tqdzd3fv6OhAIBBDQ0MJCQm7du1SKBTHjx9vaWkBvKLHu8MCSUw2m93a2uri4rJ//34sFgsGg5VKZU9PD5/Pb2xs1Gg06enpe/fuvUvWE4fDIRAIlUqFRCIXFxevX7/+0ksv3Xu/cDhcR0fH8jSkl2FarXZsbKy3t5fD4XR3dwOIC+Qi7O3tOzo6HBwcsFgsHo9vbm4ODg7+O+HW7Owsj8drb29vb293dXVNT0+XSqUtLS1ZWVk2NjZYLLagoGBoaAiYphoVFQWHw+/aEKempvr7+2Uy2fr160NCQj755BMoFFpZWVlfXx8TE7OMUwLcIAcHh4sXL+7evTs+Pv769esvvPDC6tyQlJSUS5cu9fb2joyMADi9vBwmQMVcWFg4efLk+++/v3Jfe2lpaWpq6i4sBEZKNjQ0XL58uaury9HRMS0tbcOGDYCG+sNC1/z8fE9PD4fDaWtrI5PJr7zyilgsLi0tfeedd1AoVERExK5duwA932+++UYkEmGxWFtb202bNpmbm/f19aHR6H379mGx2KGhoY6OjitXroyOjoaGhv7www+WlparKYoNAoF27tx58uTJrKysffv23bhxIzIyEoFA+Pj41NfXR0VFPanXDYVCWVlZUanUoqKi+vr6NWvWPP1bBJFILCgoGB0ddXJy0ul0AwMDy0hEKZXK/v7+W7duNTY2wuHwDRs2HDp06NNPPx0fH9+yZQvwdGVnZwO85ceVQlQoFPn5+f/5z3/EYjGBQNi4cWNkZKSJiYlMJisqKrp8+fLQ0BACgUhNTc3IyLCzs7u3+wcEAkGh0Pr6ejc3t4qKisXFxYiIiLtiGgQC0d7eDoiJPO7htlqttqWl5fTp0z/88ENTU1N0dPSrr74aFBQEZDZAIJCRkVFubi6wES8tLbHZbEAR/+8BXZcuXcrLy5uYmABuu1wun5mZ0Wg0KpVqcXGxs7Pz5s2bQUFB+/bte/PNN93c3KBQ6J0LKhAILl26VFZWBvSiwmCw9957z9LSEiiDWVpaMhiMZWxbIBAIBAJVVFTI5XISiRQREXH69Ono6OjViX2hUOjs7GxLSwvQAohGowsKCpZRrgCDwUAnRmtra3BwMBqNXslTWl9ff+7cOZFIRKVSgSWYnZ29fv36jz/++M0339y4ccPT0/PgwYNvvfVWQkKCqanpw6KXQqHIzc29evXqxMSEra1teHj4yMjIqVOnrl27Zm5unp6e7ubmJpVKS0pKvvnmG0AxB5B68vX1VSgU/f39CQkJmzZtqqurO3XqVH19PRgMjoqK2rNnT1hYmLGx8eqzn/T19Ts6OlpaWhgMRktLy5o1a5BIJAwGe7JZRGA1BwYGMBhMQ0NDcnLy088L09fXHxoampmZAUScKyoqAgICHvzrMpmspKTk4sWLAP8wIyMjNTUV6KECgUADAwPr1q07ePBgcnLybd4y9NHebolEMjY2Vl1dDUQnr7zyir29vb6+/tTUVHNzc1NTU29vb3Bw8Msvv4zBYBAIxP2XxNvbOysrKyoqan5+nsfj8fn8u6iZIBBo7dq1H3/8cW9v7+PoY9XpdHK5fGxsrLS0tLS0FBgW8PrrrwcGBqLRaACcgM8MDQ1VV1ePj48vLCzIZDJgqv3yhkU9JabT6WQy2fDwMCAu5+7ubmVl1dvbi0KhqFQqAoFobW3Nzc1FIBBQKDQkJOS7776zt7e/UxJerVZPTk7yeLy6ujqlUhkbG5uSkmJqaqpWq7/55puhoSECgbBmzZrTp09zOJyJiYnlxdAUCsXNza2qqqqsrCw6OtrW1pbL5fr4+KzOXQoKCuru7r527VpkZCSFQsnKylpeMsDPzy8rK8va2rqiouLFF198WCxXKpXj4+Otra21tbUODg6pqam2trYSiUQoFGZlZRUXF8/NzVlZWW3fvn3dunU2NjYP+6YAId3Q0FBtbS2fzw8JCUlJSZFIJCUlJSwWC4VCBQQErF27tqenp6ioCIlE8ni8sbExGo1mYmIikUgcHByAgSY2NjYREREzMzN79uwB/FpXV1cUCvVIJo4u2wwMDFJTU2/cuNHc3GxiYlJeXr5lyxY8Hg94aSvxJ1ZogYGBFy9efPXVV/fs2dPZ2bnsadGraTExMUePHk1KSqJSqTk5Of912IJWq52ZmRkcHGxpaeFwOIGBga+88oqlpeVd6MBgMAClyrtejUcDYCqVqqOjo76+XiwWIxCI8PDwl156CYlEajQagJcxMzODQCBoNNru3bsfnFsJhUJjY2PZbHZ4eDjQdnPvZ4AmR6FQODY29ggZaECjXHV1dWVlpUAgIJFIKSkp0dHR9vb2d95WQDxUIBDo6ek5OTllZGT8+OOPSqUSAoHExcUB2m7PInSNjIxUVlb29/f39fXp6emRSCQIBGJhYUEmkwcHB2tqaurq6pBIJIPBcHNzi46OvitbNTs729DQwOFw1Gq1paXl+vXr74yPIRCInZ0dj8cjEAgYDCY0NJTJZA4PDy8PwGxsbNzc3JhMZnNzM5/P9/T07Orq8vLyWp00lL29PZDyqqysjI+P9/DwYLPZy7gQY2Pj4OBgoOVgw4YND6iHdPtWd3Z2LiwsEInEd99919zcHNDbLS0tBXplwsLCUlJSQkNDl8HiA2YyNTY2KhQKYHBwREQEIFSoUqlsbW2DgoJMTEx0Oh2Hw1lYWJDL5cXFxRYWFl5eXhKJxMLCIjQ0FIlEWlpaOjk5TU9Pj4+POzg4HDt2zNbW9ikJKUAgUGBgoJubm0Ag8Pf3v3Llyvr16xEIBAaDEQqFTxDADA0NLSwsgFzizZs3KRTK05/RsbKywuFwLBaLTqc7Ozt3dXWFh4f/1R7b09NTX18vlUrhcDiVSt2xY8dfNdVAodA/9bqgK9nmVCrVxMREdXV1UVERAoEAXGwcDgeFQufn5ysqKgoLC1EoVFhYmKOjIxaLXcbd9/T0bGpqio2N7ejo+NN0KggEioyMvHbtGpPJXDmALS4uzs7OstnsixcvcjgcGxubpKQkOp1ub29/O7mh0+mUSuXY2FhOTo5QKPT19XVycurp6amsrKRQKAwGw8bGxsrK6sk6lctb0Pn5eZFI9McffwwMDECh0OnpaU9Pz9DQUKBNp6SkBFDLhkKhe/fu9fX1dXBwuP1UAbdFIpHk5ubyeDwfH5+oqCg8Hm9ubn7XPgWBQNzc3GprawECfWJiYltbW0tLC51OX8Zpw+FwOp1eUVHR0dHR1tYWHBx85cqVVWtjMDIyolAora2tjY2NISEhrq6uzc3NQP3vYQ+VmJh47do1iUTCZrP/a/VUqVTOzMwUFRW1t7f7+PgkJCRYW1vrdLrW1lZgIvnk5CQWiz106FBycrKtre1DdZgBAwGmpqYaGxvLy8sJBEJQUJCFhcXY2Fh2dnZPT4+bm5uXl1d/f79Op3N0dFSr1bW1tWw2WywWGxoaAvNjbW1tN2/ejMfjFQpFTU2NSCQKCgoKDQ3F4XBPpN3t/mZnZxcZGfnvf/87MjKyo6Ojvb0doGIODw//lYzs6hiJROrv709NTb18+fK2bdueCWnE2NjYwsJCPz8/Z2dnPp/PYDDuTOkvLCzMz883NzeXlpaiUCgGgxEXF2dra7u8tP9yvrOwsNDX19fc3FxfXz8yMkKhUA4ePOjj4wMGg+VyOaAwPTw8bGdnt3//fhwOtxI/y9zc3MLCQqPRODs7T01N/ak35Onp2d7eXlpampaWtmyurVgsbmtrq6ura2pqQiAQ0dHRBw4cIJFIdzryGo1maGiotbUVGIVHIBCcnJz6+voAlR0fH59nlHao0Wj6+/ubmpquX78O5H7xeDyNRvP29haJRG1tbbW1tVKp1M3NjUgkJiQk3NWiqNFoBgcH29vbb926pVAo4uPjX3nllfsvBIVC+eOPP+RyuYmJCZFIBMhLu3btWl7nY0BAADCr8OzZs5s3bwbyaavWhxcVFZWXl2dnZ9fZ2UmhUIBW7mWowwBaA3V1db/88guNRvvTW6HT6UZHR9vb27lcrlQqjYiI2LRpk0KhYLFYFy9erKqqEggEBAIhJCQkMTERmDT0sE5MX18fh8Pp6+uTSqXe3t6ffPKJSCSqqqoCqFI4HC4yMlIul6tUKhqNNjIy8sMPP3R1denp6eFwuJCQEAqFEhQURKfTR0ZGurq6CgoKgMHZrq6uT/O8cggEsmPHju+++04gEBgaGubn51OpVCcnp6ampnvnqa6mEYnE3t5egN7C5XKfCQAjEAg6nW5oaMjd3R2gGQMxulQqBdrGRSIRiUR66623APL2Sn7r4TZclUpVWlqam5vb1dVFJBITExMZDAYej4dCoQqF4saNGzU1NQ4ODn5+fhkZGZaWlitPEcDhcDKZ3NPT4+7uzuFw/jQIs7KygkAgpqamTCYzNDT0YX+Cy+VevXq1uroaBAKFhIQcPnyYRCLdq3AvFotPnjw5OTmpUCgmJiacnZ0BEr+zs/O9QcYzBF1cLvfMmTOVlZUTExMJCQmfffYZhUKBw+EFBQVff/21QqEYGBigUCg7duxwdXV1dHS8M7IEvp6dna3T6Xx8fNavX08gEB4EhBAIBJ1Or6mpWbNmjYWFhY2NTW9vLzA+fDkPMRSalpZWVVVlZGQEg8FoNBogF7tqeZ7Q0FAWiwWMoSKTySwWKz4+fhl7qKurq1gsLi8vv/dW6HQ6oVB46dKl8fFxLy+v+Ph4JyeniYmJEydOVFVVwWCw6elpGAz21ltvhYaGuri4PCx+A9FbTk4OHA738PCIi4vD4/FtbW3vvPMO8AHgmffz8zMxMQF4xe3t7WKxWF9fPzo6OiYmJjAwkEAgmJmZ1dfXHzlyxNra2tPTMyoqysbG5pmgMjk5Ofn7+9fX12/ZsqWmpmZ8fJxIJF64cOHJDpyytbVtbGxEoVA0Gq2wsDAiIuLpv5NIJNLa2prP58fGxqLR6P7+fgwGc/XqVT6f7+7uTqPRNm/e/Kh60qEPsseJRCI+n3/58uX6+nozMzMgOoFCoWKxuL29fXR0tKWlpb+/PyQk5OjRo/fW2VZogYGB169f37ZtW1VV1Z86laampoaGhgYGBmVlZf7+/v9VmgigXQwMDNTU1JSXl8/OzgYGBh4/ftzT0/NPGVk6nQ7gdPb39+vr6wPuLTBH4xnFLa1WCzja9fX1CwsLTU1N7733XmhoqFQq7evr+/777wGaNRwO9/b2/uKLL+7ag1QqVV9fH4/Hq6+vNzU1ffHFFx0dHR92kwIIRdHR0QYGBiEhISwWq7CwEIjjl3FFYWFhWCyWw+EolcqYmJj9+/enp6evmgpqTExMZ2cnm80eGxtLS0v75z//ubyx9N7e3kwm08jI6NKlSx4eHvr6+hqNZmBgoLe3t6GhYWlpKSMjw83NTSQSMZnMEydOcDgcHA5HJpNVKtW2bduSkpLu6kV5KACDw+GvvfaaiYnJ4OBgbW1tXl7e0tKSnZ3d/Pw8gUBITk5WKBSXL1+uqqrSaDQ4HC4wMDAwMJBKpQYEBKhUqlu3bhUXF7e1tVEolA8++MDCwuJpDrn+tBjx2muvbd++fXp6WiAQtLa2pqamGhkZCYXCJyhKYGdnp1Ao1Gp1YmLiZ599Bgw+fqrum0qlGhwcnJ+fv816nZ+fNzMzO3/+/LVr12praxsaGpycnFJSUl577TUIBPJonwro/c8MkFqoqakZGhqKiop67733cDicQCA4f/68VCptamrCYrFATmnXrl0PXnl+KDM2NqbRaMPDwxKJZGZm5t7BlSAQyMfH5+zZs56enkNDQ/ephOl0urGxsZKSktLS0pGREQ8Pj82bN4eEhNy/6q7RaJqbm0Eg0IEDB5ydnZ+J4bn3N6VS+eOPP/r4+Lz55psYDGbv3r0ajeaHH36Aw+FYLBaJRK5Zs8bDw4NGo90VRiuVyurq6sbGRiMjIzs7uwMHDiw7RWxsbIzH44EZFhQKBZiqNTk5ubwkCZDF/fbbb6urqxMSElxdXYFBG6tzP01NTXE4nLW19YULFw4cOGBtbb28aBKHw0EgEH9//8LCwl27dk1MTFRUVIDBYBwOt337dhsbm7q6ui+++EKr1crl8vn5eV9fXxKJ5OXl5evru0K0BoPBGAymrKyspaVleHhYKBQaGxu7urrSaDSdTtfR0XHkyBEOh2NmZpaYmBgTE4NGo4eGhoA6WXd3t1gsxmAwJBIpMzMThUI9o+8FlUr18PBgsVguLi4XL15MTU0NDQ2tqal5ggAGhUI9PT1ZLBYgG11RUZGRkfGU3K7FxcWGhoaKigp9ff3AwECtVtvT01NbWzswMMBisYBzfvPNN8PCwohE4mOKwv98IjOHw2EymUwmk0wmV1dXOzo6+vv7j4+Pc7lctVptZWUlkUjAYHBaWpqfn98qsGCnp6c//vhjf39/rVa7ZcuWez8wMTGxcePGoKAgX1/ftLS0u/4LiLL09PRkZ2dzuVxLS8u0tLTIyEhra2sDA4PFxcXJyUkgjPurE1Cr1TAY7NnyKO/vmnz77bfh4eGAfP6FCxcIBMK+fftwOJyxsbFcLofD4Xfi9NzcnFAobGtra2xs9Pb2joiIsLGxMTQ0XGEAWlJSIhKJXnzxRQgEcvny5W+//fbo0aPLSAID1tDQsG3bNgaD8fPPP3d2dtbX1+/du3fVqpIVFRWffvoplUrdu3evUCi8cOHC8ePHl6GewGQyf/zxx7a2NhKJFBQUFB0djUQi5+bmamtr6+rqTE1N5XL5rVu3PDw81q5dGxgYaGpquhLJVKBZAhBCzMnJ0Wg0Go0G0LT09vbu6enJz8+fnp4GuCrx8fEkEml8fLyxsXF2dhbIDm7XNwAAIABJREFUYSoUirVr1wIzVp6IfPsjtKWlpY8++uj06dNUKpXL5ebl5ZmZmX322Wc//PDDEyxvT05Ofv7551999dXhw4cFAsGPP/74ZAesqNVqoGejqqoKh8P5+/tDoVAOh1NTU7O0tASHw2dnZ4FMmE6nO3DgwGPdNqFzc3N3RU46ne7IkSNr1659+eWX+Xx+QEDA0tJSf3//0tISBoOBwWAoFGrjxo1/NSLzcRgKhbKzs7Oxsbl69WpycvK99HQMBmNmZiaTyRoaGu4EMKBPtr6+vqysDAKBREZGbtu2LSAgANidAYUbFoulVCq3bNlCIBD+6gSe9TfzrvUViURCofC7776jUCgeHh5HjhwpKCjA4/FA4eROD3piYqKysnJwcFCr1bq6un7++eeP0L92c3NramqSy+VoNDo0NPTo0aOtra0hISHLe668vb19fX27u7u7u7vxeLxKpZJIJPfG64/JaDQa0OLW1NQUFBQ0NjY2NDS0DAADmt99fX137dq1sLBQWlo6Pj4ukUhkMhnAEQ0ICNi2bVtYWNjKvUatVltdXX327Nnm5maA/UGn0319fWUyGZvNPn36tFKpTEpKAnBrdHR0eHi4srJSLpfDYDA7OzsoFJqZmUmlUv820++gUOi6detOnTqlUqmMjIy+/PJLX19fU1NToVC4aiXVew1oihIKhevWrduxY0d/f/+TGrCiVCrb29sBuVowGEwikRYWFurq6oaGhuRyORaLBWbB6OvrKxSK6enp8PDwx+30Q6BQaFBQ0J3+BQgE6u7uLioqmpmZAQZVhIWFRUdHi0Qib2/vmJiY8PBwGxub1Sz/gEAguVw+PDwMeKB/miRks9n9/f1QKNTZ2dnAwIDP5//666+ff/55Xl6eTqd744039uzZk5yc7OjouLS0JBaLCwoKTp06paenFxoaGhkZucpX9ES8S4Cu9tNPP7FYLAcHBz09vXfffdfDw8PY2Li1tdXW1vZ227VWq+3v7z99+nR+fr69vX1ISEh8fLynp+ejlYYDfheFQmGxWCgUKhQK5+fno6Ojl7cQMBgMmL5oZ2dHp9OBwWw4HG51bi/gbwK6EhEREUKhcHh4eBk5zMXFxdHR0aKiorKysrq6OrVaDUgGGxgYZGZmvv7662lpacDc6pWfs0wmO3LkCIFAgMFgpqamp0+fTkpKKisrO3HixOTkZEZGxqFDh3x8fLhcbnt7O6DZ0dvbi0ajY2JiIiIiYmNjAQ2dv9NrYmlpWVFRIZVKIRAIFAodHR0FWhhXZ8rBX9ns7Ozw8LCfn19JSQkKhVq1Pv3bz+Ts7Gx5efnXX3/d39+/uLgoFAphMJiNjY1Op+vs7DQwMAgMDIRAIAKBQKfTWVpajoyMDA8P79ix43EHi1AUClVXV3eX5BeDwSgpKdm3b9+dDapbt259gkvo5eVVW1u7Zs2aioqKkJCQe0lWYWFhZ86cWb9+/YEDB3Q6HZvNdnNzS0pKSk9Pd3BwAIFAAEW4s7Ozr69vZmbG39//22+//TuFVvfZpzgcTkdHx9DQEAaD2bFjB5FIVKvV77zzDtAbbmJiQiAQurq6bo9knJmZycnJYTAYr7/++uPzryEQSEpKyh9//EGlUg0MDMLCwiYnJ1fiRqxZs+b333/ncDgqlSogIKCmpoZGo63afU5NTc3JyQH6COPi4j755JP/+7//e/DC8MjISG1tbWNjY2dnJxgMlkqlJiYmbW1tkZGRQDHmkWexTExMPDw8BAJBXFzc0aNHGxoaBgYGioqK/vnPfxKJxKGhoYaGBjgcbmtra2lp2dvbi8fjP/zww6enAflxGAwGe/nll1988cWkpCQejxcbG9vY2GhoaKjRaJ4gVLu4uOTm5kIgkDVr1ly6dGnHjh2r87vz8/McDqe4uBiYpk2j0SAQCJFI9PHxmZiYaGpqkslkrq6u+vr6AwMDdnZ2YWFhwGCgkJCQ8PDwVWhlgTIYjKqqqtuafoCRyWR9fX1gzNJT8mBhMBgTExO1Wg0UtJycnO5dYxAIdOXKlbm5uXXr1p05c8bDwwODwYDBYJ1O19DQkJeXB1CEAbXp/wXokkgkhYWFTU1NJBKJSqWuW7fOysoK2H0QCISnp2dLSwsg3hgQEHDixInb6tGmpqZvv/32KtT8nJycAME3Jycnb2/vr776SqfTLXt/hMFgcXFxly9fHhsb8/Ly+uOPP+7NkD8+MzAwoNFoSCQyNzf38OHD+vr61dXViYmJ//WLPB7v559/7u7uJpPJUVFRL7/88sWLFwcHBwMDA0NCQtzd3R9TjRkMBoeEhJw7d25iYkIqlfb397/66qswGMzMzKy4uDgjIwMCgbDZbGNjY19f34yMDAwG878wppVOpxOJxLm5ObVaDQKBJicnBQKBUql8ghP+LC0ttVrt9PQ0nU4/efLk8PAwHo9/rL+oVqvr6+t/+eUXIPheu3YtnU5HIpFsNhtgtA0NDQEiL87OzoaGhoDGmLe3d3h4uKur66pV6SAnTpyorKxE/z/svWdcW1e2PnzUAUkgJCEQRYAwTTRRTO9gejG2wRD3SfK3Y6dN4pSbTGYmk0kmbcaJk7hN3MHGNtiAaaKKjkBUiSp6FR2BQCBU3g97Xn6+TmIDtsHO3PXNgHV0ztl7rb3WetbzEAgPiumpq6sPDAzcv39/165dzwmjBAwG09PTS05OdnNzq6+v/+XJGofDgan1t956C3ATKBSK1tZWFot16dIlsVi8b9++nTt32tjYUCiU35/QCSDCQKFQgASrpqYmOTk5MzPT2tr6+PHjnp6egDXjQQdkaGh44cKFHTt2wOFwIpFYXl6ura0Ncm5Akrs5rxWFQlVWVjo6OmpoaDQ2NqqpqT2JriMcDu/t7R0ZGQkICABiCE8oSrSue0Gj0W1tbfr6+kBluLCw8LeYhcHZNjMz8y9/+UtJSYmnp+ef//znnTt3MhgMbW3tiYkJBoNx+PDhZzFEBajCGhoabt26VVxcLBaLg4KCtm3bNjg4uG/fPhQK1dHRIRQK9+3bh8fjExISvLy8frl4fpemUCjGxsaIROLU1FRaWpqXl1dpaWlYWBjg99rCAAZYy4GCD5fLHRoa8vT0fBavA4gMZGdnf/nll5WVlYGBgf/zP/+zc+dONBpdU1NTU1MDqpdqamqvv/56aGioUqmsqqqqq6uLiorav3+/g4ODrq7uZoYMhLu7e0VFRUNDQ1hY2OqJGwaDqaioXL16lclkPgLasMlGIBCKiopcXFxyc3M9PDwe6scAebCRkRE8Hi8QCDo7O3NyciYmJvT19e3s7DQ0NBwdHX+XAl11dXVzc3Opqam3b9+GwWC3b9/m8XgKhcLb2/vAgQMMBuO3ZoPU1NTKy8uNjY0JBIJUKsXj8YWFhZsvAYNCoTgcjqWlJRaL1dbWvnHjhr+//4Y3J+irdXV1+fr6amtrZ2dnP9TifaaGx+OzsrJiY2P19PS0tbUvX77s5ub2ECvH7OxsamrqmTNnsrKyqFTqrl273n777e3btz/Ig0wikW7evPkkWtW/anK5nMfjXb9+vbKyUiwWAzyItrY2i8WKi4u7evWql5eXgYFBeXm5oaHhzMyMv7//hgfLXkSTy+WXLl2i0WgEAiE3N3dpaUmpVOrp6bW2tgYFBW2+XvaDZyOJRNLS0gIgf8nJyeHh4U83y1lcXCwpKbl+/frAwICuri4AjEgkkpycnNbWViQS6efnB/yJk5MTlUrNzs6ur6+HwWA7duxISEgwNDR8SIBikwJYQ0MDhULp6OgwNjZ+UNFOR0cnJSVlYWHhWRTfn+SI1NHRAehVbGxsHnxeMplsbGxsdnYWcK7Y2toaGhoiEAjAa+Xp6blaPXuBzoMzMzMdHR15eXlEIvGX8D+JRNLV1XX58uWzZ8/CYLD29vaenp6DBw8GBwe7uLiAoaJHX2Jubm5oaAiLxd68edPLy6uoqAhgOjbzNtXU1Hg8HgC2EYnEoqKiB+Ek6zUMBjM3N9fV1QVqpE1NTRQKZQPEThu++tDQ0OjoqKurKxqNbmpqgsFgdnZ2SqVybGysra3tu+++O3v27NTU1GuvvXbgwAF/f38TE5Nf7i8cDtfU1PSEyeiD6wQQyV+4cKG7u9vPzy8yMtLDwwPQpmhoaKSkpHh5eXG5XFVVVX9/fy6XSyKRysrKYDCYmZkZ9F9jcDhcJBLV1NRERkay2eyysjJTU1ORSESn0xUKxbqUQZ66kcnkxMTEHTt20On0c+fOmZubb9u2bWpqSi6XP0k3ZGlpqb+/v7i4+MKFC3A4PDY21snJCY/H19bWXrp0CQ6Hh4aGAn9CJpPHxsZqa2svXLjQ3t4eGhoaEhLi6uqqo6Ozhd1BRFpa2sDAAARB7e3tAQEBq88CDocvLCzcu3cPiAY9JysMiURWVVV5enoWFRUBUQ/o/x+4TktLq66uXlxcxGAwhoaGbDYbHCUSEhJiYmJerOilUCh6e3vT09OLiop6enoALduDbm5lZaWkpOTOnTunTp2anp6en5+Pj49/7bXXOjs7QeaxxvYV0C2zt7fncrlGRkazs7NKpRIAFDfTa2AwmPz8fG9vbxgMBiSjnmRIw8DA4MqVKxgMxt3dfXx8fHp6+llrxT1oFArlypUrUVFRaDR6fn4+OTmZTqenpKRcuHCBz+dbWVm99957+/fv19XVxWKxv/WaYDAYmFp1dXV9kk7k1NRUTk5OTk5OQ0MDCoUCe4FGo6mqqq46HQwGIxAIAMb47t27+/btw2Kx2dnZmpqaN2/e3Ldv3xafXxcWoIYGaH4eIpGgZ7+F9fX1b9y44ebmpq6uDhQwDA0NjY2Ne3p6du7cuYWPAYPB9Pb2ymQyExOTrq6u/v5+b2/v4uLi1tZWa2vrjaVcZWVlaWlp9fX16urqr776qrGxcVlZGZvNbm1tpdFoR44c8fPzA8QCtbW1aWlpHA5HIpGAXgwQHN7y0VjExx9/rKamJhAISktLQQHhwUd29+5dAwMDW1vb58SzY7HYmpoaXV3dqakpFAqFQqFYLNa5c+cWFxddXFwCAwP9/f0B6PPVV189ePCgn5/fC0RUqFAoFhYWOjo6zp49W1lZaWVlFRgYCGoXy8vLra2tSUlJIyMjQqHw73//e2Zm5tjYWHx8vKenJ4FAcHNzs7CwmJiYGB0dZTAYa7xlVVXV4uJie3v72dnZubk5fX19Pp8Pg8GenGRzXUYikbKzsxkMhrq6OhqNLisrs7e33zBkH4PBTE5OgnksMpmcn5/v5+e3abcDTq/6+vpyubyoqCglJaW1tdXMzOzgwYN79+719PRco8gOBoOprKw0NzdfL3e7QqFYXFzs7e29fPlyamqqtra2h4dHSEgIELH7FReAQEAQlJSUtH///tu3b3t6etrZ2WVkZOjo6HR2dpqYmGwhDwUEQdCFC9C770Kzs5CvL/TsB86QSOT8/Hx3dzeYXhAKhdbW1kQicWJiwsfHZ9MAQb9qOBwuNzfXy8sLgUAkJydHR0draWmlpaWta/JEJpNNTU2x2ewzZ84oFAoPDw9vb29VVdWLFy+WlpYCVdjg4GBbW1s0Gj01NVVSUvLjjz+KxWI3N7fg4GAvLy9NTc3nx6MiiETi/v37r127RqVSOzo6wsLCVo9mKioqgBVt165dz0kVEVBpsVgshUKRlJTU29urpaV14sQJX19fMIcLh8MZDIa/v/+DAijPv8lksra2toKCgvT09M7OztjY2JdeegnoJ9XU1BQVFbFYLDabPT8/X1RUxOFwLCwsTp48+cYbbxgbG9+/f9/CwiI1NVUikXh6eqampnp6eq4R+w7wr8vLy66urjdu3Ni9e/fdu3drampAGWEzX6uamlphYeH27dsJBAKHw8HhcPr6+k8SRW7evGloaOjt7Z2ZmWljY7Np2mxDQ0OlpaXff//9qVOnqqurzc3NP//889jYWED7sq4wLBAIFArFGhPi5eVlILCUm5ublZUF8Pcvv/yyo6PjYy+tra2dk5NjbGwsFovb2trCwsJWVlY6OzuXl5eFQqG/v/9Wbv/RUejiRWh+HoqPhzaluA2awWQyGQh/KBQKqVRqZWW1uLi4aYCg31oSHA6HTqfr6+tnZWXp6+s7ODjk5eWBk99aKsk1NTUsFisrKwuNRh8+fBiHw/F4vLy8vIGBgfj4+H379jEYDBKJJJFIKisrWSxWdnY2Go0+ceIEkEZ6cvKdp+86AJGaWCxub29XVVXV0dGh0Wjgd2g0emBgoLOzk0ajPSdQjsbGxpSUlKysLE9Pz4GBgc8//9zNze2FBsTLZDIul3v69GmBQGBgYBAWFgbas/n5+aDWjMVicTgcn8/v7u7W1NTct2/fK6+8EhkZqaOjA6aF7ty5U1dXNzs7C4rA09PTYrH4l2MGv2Wampq3b9/etWtXY2MjiUSan58HQKxNntzE4/H5+fnW1tZ4PJ5AIACN4w1/Gli6VVVVcXFxSCSyurraycnpWd9CV1fXhx9+ePbs2eLi4rGxMScnp5MnTx45coTJZG6g0gKHw5eWlhoaGh7bepFKpbm5uV988UVRUVFfXx+dTg8ICNi1a5eRkdEaAw8KhVpYWCgtLQ0ICLh3715wcDDQhiYQCL29vYASc8t2CIEAnT4NTU9DL70EqalBcDj0jDsuKioqdXV15ubmIpFITU1taGgIhUJRKJT29nZfX98tpB1BIpECgQCJRFpYWABC5/Dw8IWFBSBc8ujDTUFBwblz58RisaWlZWBg4Pj4eFJSklgsNjc3j4yMDA0NBTMSMzMzt27dSkpKgiDI2to6Li7uoQmr582Qrq6uVVVVgYGBGRkZJiYmDQ0NLi4uAAcJh8P9/f1LS0tzc3OdnZ2fNbRfIpEA4u2urq6YmJhVFywWi/v6+mpra9PT0wcHB1VVVfX19bW1tU1MTFpaWjaNK+jp2vLycmdnZ0tLS3V1tba29okTJ9TV1QG4OTExcXh42N3dPSEhYWBgIC0tbXZ21sfH59tvvwUp5vLycm9vb0tLS2Njo0gkCgkJAZNeS0tL6enpx44dO3nypJOT06OVvFfNyMgIHMT27t37888/Hz169O7du62trf7+/k+Xd+PRpqGhYWFhweFwoqOjraysYDAYj8fbMGUOgUBgMpktLS319fV+fn4pKSnPiMZbIpHweDw+n//ll18ODAyoqakZGhrGxsYeOnSIyWSi0egnObE6OTklJSUJhUItLa2H+uQrKytwOLy7u3uVNh6gLT766KP1vjWxWAyoDJKSko4cOQKcXXx8PIlEotFo+fn5IOPfsqO3jg5kZwdxOFBICKSiAt27Bz1jhUkVFRVvb2+g5InFYouKimxsbCorK2EwmEAg2GQWjIcCmLW1NRCNio2NPXz4cEdHh4uLy08//RQdHf3LyLq0tNTe3t7c3FxbWwumMsbGxurq6u7cuRMQEPDNN98A5RCFQjExMcHn8xsaGnp6ekJCQp6FqMizeiYMBgPEJyaTCVTdHkTxm5iY4PF4ME/z7Dph09PTxcXF9fX1WCxWX19/586dIOGbmpoqLCzMy8trbGwcGhpCo9GAKQqkjEAr+YULXRKJhM1mV1VV4XA4IyOjd999d35+Pjs7e2RkBJCaA92KvLy827dvGxsbR0dHBwcHg4IeOCZzOBwVFRUDA4Pdu3eDdldbWxsWiwV9rJWVFWdn55KSkpiYmLU4HRgM5uPjU1paeuTIEVVV1YWFBSsrq9ra2rm5uc0MYHA43NnZGcAfYDCYr69vaWkpg8HYMMDJx8fn1q1b+fn5TCbT2tq6ubn5t6TNN2YADV9eXp6Xlzc6OopGox0dHUFL0tbW9slxWUC7cm5u7vTp0x9++CGoEUmlUiC7CoPBlpaWBgYG9PT03nzzTScnJyQSeeDAAYFAsN6oD4fD+Xw+kO9qbm7esWMHoDzfvn17cXHx9u3bc3NzExIStrLO4eEBcTjQ6CgEh0Pt7dCzl0i2t7dPTk42MjJaWVlBo9FAbk0ikeTl5W1hAIMgyMrKKjExUS6XGxsb02i0ioqKPXv2qKurj46OGhoaPng+Li4urq6uxuPxdDo9JCSkqakpLS1NV1fXy8vrj3/8I4h2SqWys7MzKytrdnZWT0/P3d39jTfeeLEKWkgzM7Pk5GSZTMZgMPT09B7qUiIQiJ07d545c4bL5T7dACaTyaanp3t6eqqqqtrb2z08PF5++WUKhaKqqjo1NcXlcpOTk3Nzc0UiEUD6RkREuLu7e3p6ampqYrFYVVXVFwsTv7i4ODg4yOVyKysrbWxsIiIiIAjq7u7+6quviESiv79/SEiIWCyur6//61//KpVK3dzcTp06paurq6KiMj093d/fX1JS0tra6ujoeODAAS0tLTwev/oEduzYweVy+/r6TExMwMO8deuWn5/fGuGjZmZmZWVlc3NzlpaWgAbpm2++4fP5T1LE24CZmpri8fiGhgYHBwdLS8uKioqxsbEN48ipVKqDg4NAIBgZGbGxsWlpafHw8FjXiKVSqQQqBKvRSKlUCoXCgYGBK1eu5OXlzczMLC8vk0ikhISEl19+2dbWVlNT8wlDl1wun5yc7O7uLioqmp2d3bt3b1pa2sTEREdHR0VFBYvFkkgkSqWSwWDs2bPn1VdfxePxi4uLGhoaCoXCzs4uLS3N0tJyXS0rVVVVXV1dQCh19erVV1555Y033gCTJ5cuXfL39//hhx8erVL0zM3LCzp9GpLJIIUCysuD9u591hdUUVEJDw+vr68fGRnZsWMHh8Px8vLKysrKyck5ceLEFk40a2hoWFtbV1ZWenl5xcTEpKen79ixQyAQtLS0KBQKPp9/584dTU1NhUJBp9Pd3NyGh4cLCwv19PSCgoLodLq6ujoSiQR8m62trYWFhQgEIiwszNTUlEgkvoi0lkgVFRWASvf29r5x40ZkZORDf+Hg4EAikdhs9uHDh59KUgkq+zU1NSKRSEVFxcXF5cSJE2g0emVlpampqby8/P79+7W1tWpqaj4+Pt7e3o6OjmvsUj6fNjMzU1xcLBAIZDIZnU7ftWtXd3c3m80GLvvTTz8lkUhFRUXfffddS0uLjY1NXFxcWFiYurq6TCZrbW3lcDiTk5MQBLm5uR0+fPhXcVBmZmalpaU2NjZ8Pl8gEADWAB6Pt0ZpEjKZrK6u3tPT4+joeObMmYMHD1paWqalpW0meA+kAgcOHDh9+rSVlRWFQiGRSG1tbRsOYDAYbNeuXQcPHmxvb7exsWGxWAsLC78Kw/vV0CUUCktLSyUSSVRUFKg9AlmDzMzM9vZ2AG0FCK7g4GAGg/HkMAfAi1pdXT0xMYHD4cLCwigUSl1dXU9Pz6effjo8PDw3N6enp7d9+3ZQewCvZmFh4dSpU3/5y19QKJSfn98HH3zg4uLi4+Oz9nM0kNNLTk4+fvz4Dz/8gEAgzMzMsrKy3n//fS8vr66uLhMTk+Tk5E8++WTLtpCxMWRoCHV3QxAElZRAUukmwBGdnZ2LiooMDAwWFxeFQqGenp61tbWvr29+fv7WEuxFRUX98MMPHh4eDg4OFy9eBDKqp0+fXl5enpiY2L59O41Gw2Kx09PTlZWVlpaWH3300SpTuUQiAWfoxcVFLS2tI0eOPDulrk0KYKDY8t577+3evVsikfySZQuHw5mZmTU0NDQ2Njo4OGx4cy4vL4tEovz8fDDnD+Yo9fT0wLhuWVlZSkpKe3s7Go2enZ09fvx4bGyssbHxcwXZXNf9SqXS8fHxzMzM5uZmBwcHe3v7rq6uyspKQ0NDsMh0dHQUCoVAIDhz5kxXV5efn9/Ro0fpdDoSiRSJRHl5eTk5OUQi0c3NLSQkRFtb+xHdYxKJpK6ubmhoWFpa2tLSAkFQTEzM8PDwGr8tCoUCFDUuLi5AfUpbW7uzs3NwcHAV0bM5ZmBgQCAQeDyek5MTqAE+CSsHjUaztbVls9n+/v6ampqdnZ2PrjkrlcqlpaXR0dF79+4BLnlXV9eVlZUbN24kJSX19/crlUp7e3ssFqujo/PSSy+Zm5uvZVr8sSnXwsICj8fLyMjAYrGOjo5ubm7j4+MpKSkTExMA+lVUVGRqanrgwAFwjn5wJaipqQFwmoaGRmZmZn9//wcffHD+/Pl1VdeBshcGg/H19S0pKYmNjU1NTV1cXNy1a9dbb72lq6vLZrOPHTu2ZVAOHR3I1PQ/AWxsDOLxoPWLha7XcDgcnU4Hk/XGxsZNTU3q6uo0Go3D4YSEhGwhrgFIyLa3t4MK8/nz562srDIyMmJjY2k0GiArB0crfX391crz3NxceXl5YWEhjUbz8/MzMDD4fTBb/kfQ8vLly2QyGYvFtrW1HT9+/MEbA1vCwsJCIpF88cUX692uQBOdx+O1tbVNTk4CjT5NTU2lUjkxMVFdXV1SUlJRUaGuru7l5bVz505LS0upVLq1im1PGLqEQiGHw+ns7BwaGqJSqdra2kKhcH5+3tvb29PTE4/HA/31+vr6vr4+FAoVHh4OuiYikYjL5XZ2dgL9oaioqLXLE5eVlVVXV8tksuLi4suXL69XRmR5efndd9/97LPPZmdnz58/7+7ufv369YiIiEOHDm3yAywvL6+vrz927Bgajf7Tn/6UkJCwYeyyUqkEwpLl5eXDw8OJiYmfffbZr25ahULR39/f1NQEmOwjIiKMjIyqqqrYbHZGRoalpaWWlpaRkZFCoYDD4XFxcZaWlk9ejZBKpU1NTTwer7e3V1VV1draGih+DQ0NKRQKIpHY1tZWU1NjZWWlUCiuX7/+S1SOWCxuaWlJS0srLS318/Pbs2dPSUnJJ5988sknn7zzzjvr2qp37tyBIMjd3f21115LSkq6e/cuiUQKCgo6evSooaHhpUuXvvvuu127dm3NppLLoY8+gv75T0guh1Ao6O9/h95/fxMu29TUlJGRgcPhrl+/vrCwEBERMTk5aWNj4+/vv+HLrwd0AAAgAElEQVSj/FOx+/fv379/39bWFoVCZWRkvPrqq+fPn7e2tsZgMFFRUY6OjquvfmJiorm5mc/nDw8P29raRkRErLEI8SJlYKBOmJubGx8fX1BQMDs7+2DvBIPBwGCw4eFhTU3NgYGBtdM0SKVSQJCBRCIZDEZkZKSJiQmogPX09Ny8eZPNZstkMk9Pzy+//BL4COAUXlzGwsHBwevXr09NTenp6Y2Oji4vL6uoqFAoFB8fHwMDAzQavby8nJ2dnZeXRyaTHR0dfXx8jIyM4HD4zMxMampqc3OzlZWVlZVVQkLCeteZvb19UlKSl5cXEIZfb+DBYDBeXl4FBQV79uyBw+G6urpzc3M9PT1isXiTK/4MBiMzM3N2dpZCoURHR2dkZJibm29sScBgMCaTaWhoWFRUFBERIRaLR0ZGHgrtQGTn9u3bYrHYxsYmNjYWi8Vevny5rKwMENp+++23LS0tExMTdDrdycnJzMzsyblK5XJ5Xl5efn6+rq4uhUJRUVEZGhoCSEI1NTWJRDI1NZWbm7t9+/ZTp065u7uDLvWDnzA9Pc1iscrKyoyMjGxtbeVy+bFjx/T19TU1Nb/55hsulzs3N7cuAh0PD49vv/12165dtra2AwMDLi4uKSkpgYGBnp6ejY2N2trapaWloaGhW5N5IBCQjQ2kqgqJxZBMBjU0QIuL0LM/41pYWFy5cgXQKzc2NiIQiO7ubldX17a2Nnt7+y1MX3bs2OHj4wOHw1NTU9vb22tra1VVVcPCwry8vFZ3ilAoTE9Pb21ttbKycnV1tbS0fHG7MI/PwObm5n744Yfo6Gg2m21vb/8go+vi4uJPP/1UUVHh6OhoZmYWFxf3iDenVCqnp6fb2tpaWloaGhpMTEx27doFOAkB6RaHw8nNzR0bG3N2do6KinJ2dobD4S8EXvOxh/3ExMQrV664uroCYviQkBBPT08ANpmenu7q6qqpqQEojOjoaCKRCJQa+Hx+fX19f39/eHi4l5cXFovd8MZITk4WCoV9fX2zs7NnzpxZbxY7PT39xRdf/OUvf6moqBgZGZmamioqKvrnP/+5mTxMqwfM8fHxl19+WSwWv/baa3A4/MqVKxt7LAqF4v3335+YmDh79mxeXt78/Pz+/fthMBjQcOno6ADw6JCQECQS2d3dDSBerq6ue/bskUgkHA6Hz+fv3r3b09Pzyac4xWKxQCBobGwsKSkhEAjm5uZ9fX2Li4vOzs66urqdnZ0pKSlSqZRGo+nr6x8+fHhVuFIul8PhcLlcPjw83N7e3tjY2NfX5+fnFxYWpqamplAoLly4YGlp6efnB0HQiRMnKioqrl+/vi44olQq/cc//pGQkDA4OCgQCBISEs6fPx8ZGQmDwQBRwLVr11gs1paxcnR3Q97e0MgIBEGQjQ104wa0If6k9RqXy01JSVlZWbly5Yq/v//y8jKDwVheXv7666+3RKYDQN5bWlqam5vb2tpcXV2BcIGOjk5eXt6HH344ODjY0dHB5XInJyfDwsJ8fHwA+QP0O7X/hGs8Hm9oaCgQCExNTXk83oMBTEVFhUwmOzs783g8DAYjkUh+1TMCRGZOTs74+DiFQjE1Nd2zZw8oeszNzVVWVqanp09NTRkZGe3du9fR0fFZ69ls9kEABsNisRKJhMlk2trampmZrTo7hUJRVVUlEAjs7OwOHDhAIBCUSmV3d/f9+/dnZ2cBsPXNN998cvSqt7f3qVOn8Hg84I11XGefAIfD6enptbe3W1hYcLlcPz+/6urqjo6OzQ9gfn5+H3300dTUlKampq+v72effTY+Pr72auqDBofD9+7d+/7777e0tFhaWqamps7NzXV2dhYWFkIQpKur6+rqKhAIzp0719PT4+bmdvToUTc3Nx6Pd+fOHSwWa29vf/jw4Sc/uorF4tzcXD6fPzs7C2RF9fT01NXVg4KCBAIBn8+/devW2NiYj4+Pra2tm5sbnU5/sACoVCrLysrKysoUCgWVSvXz87O3t191oIB9prGxEQSw8PDwpqammpqadQUwJBJpbGwM1GeqqqpWVlb09fXb29vDw8PNzMympqYADemWBTBDQ0hP7z8BrK8P6uvbnAAGChsUCoVMJoNRk9bWVhMTEz6fv8l4eoVCAYRORCIRlUq1s7N75ZVXcDhcZ2dnYmLiBx988M0333zxxRcwGIxKpYaFhVlbW/8uxTd+PYDBYDB/f/+vv/76T3/6U1pa2uLi4mqUgsPhpqams7OzeDy+vb19cnLywcb+4uLixMREU1MTm81Go9EhISEWFhYAkTk6OlpXV1dZWVlRUaGnp7dnzx4Gg0EkEn+vSpKrcqXm5uYP+VB/f38guzU5OdnQ0JCfn69UKqOiorZt26apqfm01hmJRKJQKHQ6PTs7u66uzt7efl0nLzQazWAwurq67O3twcjdF198cenSpejo6E0+weFwOC8vLxaLBcSodHR0bt++/cYbb2zs0xwcHOBweG1t7b59++Bw+HvvvWdgYGBubg52/uzsrI6OzoEDB0DqzOPxvvjiCzqdvn//fn19/SfhvlMqlfPz86Ojo+np6eXl5RoaGisrKyQSCah8TU5OFhcXJyUlaWpqLiwsBAQEBAcHGxgYrDL8KpVKsVgsFAqrqqo4HA5gTDAwMFBXV/9lc8vJyenmzZtg2zIYDFdXVxaLdejQobUvLbDNuVyuv78/Go3u7e11dna+cOHCzp074+Li/vGPfzCZzMTExLi4uI1nHnNzUH8/pK8Prb22qVBAc3NQby+UmwsNDv7nh/PzUFUVFBYGPftliUAg3N3dp6amsFhsV1fX8PDwxMREVFTUrVu3nsq032Nt1cEWFxfjcLjQ0NBt27YRicTVNwsmbYaHh//4xz+iUCiAlX+hgYUbCWDgQejo6HR1dXl7e2dkZMTHx6/+ytLS8ubNm46Ojnw+v7Cw8MiRI0AegsPh8Hi8lZUVGo124sQJY2NjwH+TnZ3N5/O5XC6NRvP19T19+rSWltbvXlVIX1/f3t7+7t27v6QOgsPhzc3N5eXlYrGYRCIdOnRo27ZtT32RodFoc3Pz+fl5ExOTioqK+Pj49aYO27dvHx0dRSAQoaGhKSkpf/3rX1EoFJBL3uSH6ezsfPXq1enp6W3btvn6+mZkZLz00ktr5Bb5pQ/au3dvRkbGvn37Dh061N3dXVhY+PHHH5uYmHh7e4eHhzOZzO7u7qysLKFQqKOj88c//tHQ0PBJlivYHWw2Oz8/v6qqSl9fn8lkMhgMR0fHqampxsbGvLy8+vp6Q0NDNzc3AM5+sF+1CuLv6emRy+V2dnZ/+9vfHn3vOBzOxcUFtPp0dXXJZPLo6CiPx1tXlmBmZpaSkiKXywMCAlgs1ocffiiTyQYGBjw9PWk0GgqFampqamxs/KWW7Npr3NBHH0EHDkCnTq0pdPX0QAUFUEkJxGJBMzP/67clJZBcDm3KuYrJZN6+fTsgIKCxsRFoJrS3t4N+2DPVmpmamuJwOI2NjaCq/NZbb9FotF8eJQH5S1tbW3R0NPTfZ//rgBYeHn737t233377ww8/BKNI4OdEIhGPx2OxWCqVWlxcbG1tXVhY2NfX5+TkFBgYCKSQpVJpZ2fntWvXmpqa4HD4rl27YmJiABfL7/jxAeD1+Ph4S0tLaGhoVFTU3//+95GRkVUiWplMxmaz09LS9PT0/Pz8jI2NV7Eqz6KMaWNjc/HixZiYmOrq6g0kdkQiEcw8MRiMpaWl3t7e0NDQnJyc119/fZPPHygUqrOzEwxlHzx48ObNm3V1dUFBQRv7NEdHxytXrqSkpFRWVg4ODjKZzH//+98WFhYUCkUkEn399dcTExOBgYEREREAowy6mJOTkywWy93dfY1FVPC/hEJhYmJiXl7e+Pi4ra3txx9/bG1tjcViy8vL//Wvf6FQKKFQqKam9u677zIYDENDw9VSB/jvw8PDd+/eHR0d9fDw2L17NxB3XsvVQ0NDv/766+DgYDQa7eTk1NraWlpaymQy1/7iiEQiiUQCnDuJiYljY2MhISE5OTnHjh3btm1bV1cXEH9wdHRc9wJWKiGpFLp1C5qagh5N7yKTQRIJxOVCN25AlZVQXx+0uLi6viEUClJXhyIioL17oc1KMgD61M7OjkKhzM7OzszMtLe3f/DBB1wu19TU9Onui9U1kJub29LS4uDgEBkZqa+vTyAQfutCcDicyWSmpKQACpv/6gBmZGQEg8HGx8dtbGyqqqqCg4NXPaOTk1Nubu7IyMjS0tK33377+uuvR0ZG8ni8ixcvjoyM2Nvbl5WVIRAIV1fXzz//nMlk/u4fnFwu7+joaGlp6ejoWFxcDAgIUCqVbm5u8/PzXC53NYApFAoIgv72t789CyK+X91sSCRSU1NTU1Pzt7qVa8xagoODc3NzX3rppczMzOnp6Y1lPxu25eVlpVKZnJzs5ubGYDCsra1zc3PXNZ8LbGlpqaurq7a2Fg6HZ2dnR0dH7969+8FDFRKJjIyMNDU1BZWxlZWVvr6++vr67u7uubm5gICAtdBYK5XK4eFhLpfb2tq6tLRUXl4eHR0dFxenUCh4PF56enplZSUWizU0NNTQ0Dh+/PhD/Qm5XC4QCEBbXiaTRUVFOTg4rDdB19LSIpPJYGrby8vr3LlzAwMDk5OTax/egsFgYWFh9+/ft7OzCwoKysrKio+Pv3///vT0NIfDQaFQEREReXl5Bw8eXPd04OAg9MMPEJcLaWlBv6WqJRJBLS1Qfj6UkQE1NUFy+YNOGqJSoe3boZAQKCICWueIyJOfpaKjoxMTE8PCwq5cuTI8PAxIvBQKxfz8/NOC9snlcj6fz+fzOzs7pVJpQEDAsWPH1littbS0FIlEo6OjW6gZ/VwEMCwWa2Bg0N7ebm9vX11d7evru+ovmEzmmTNnTE1NqVTq9PT0/fv3+Xx+X1+fRCIB8lHvvfeejY3Ng3xcv1dbWVmpqqq6f/8+DoeztLQEA9dgthSDwbi4uBQXF0dERAAPhUajAwMDN+27wWCwqKiozMxMDAbT39//JFHHzMysvLx8cXHRwMCgs7PTzc1tMx+ylpaWpaUlj8drb29nMBgJCQnffPPN/Pz82gMY4JzMzs4mEAiOjo4JCQnq6uoHDhx46M/weDxIsKRSKYCcYbFYJpO5c+dOExOTNV5OKpXevXsXjUbHxcUZGhpeuXJFLBZfunRJKpUyGAw8Hg+QvVZWVjQa7cHIBARFU1NT0Wi0jY3N/v37QbFuY2cOU1PTtrY2MA8UGBiYkpIyNDS0ruljKyurc+fOiUQia2trDoeztLRkZGTU1dUFyNt27Nhx/fp1gUCw7gBWWwudPg1JpVB4OPTLOZzpaSgrC7p9G+LzoYEBSKF4cEFDpqbQwYOQtzdkbQ1tkbIug8FQKpWmpqYEAmF2dpZEItXW1pqamo6Pjz95AFtZWSksLMzNzSUSiQwGY9++fcbGxutaA3A4PCIiIj09/bXXXvuvDmBwONzNze3KlSt/+tOf0tPThULhakCi0+kODg4ODg6ffPLJ4OAgBEGqqqpOTk5/+MMfIiMjsVjs77ttKBKJJicnAYC1vr7ezMzs9ddf19fXh8PhD6btSCQyLCzs5MmTn3zyCZlM3pKvam9vD6TH09PTNybkAUxHR4dIJHZ1dZmZmbW2trq6um5mgQKHw4HG261btz7++GMvL69///vfhYWFex/HgycUCnt6esDEgr29/ccff0wmkxEIhFQqffvtt6Ojox/yOIB4sLm5uaGhwdjY+OTJkxQKBYFArOtm0Wg0gUBQU1Obm5u7c+dORUXFzMzMp59+am1tjUAglEqlUql8cIMsLS11dna2tbVVV1dTKJRXX30VBLYnecKAEerGjRtLS0uqqqohISEXLlyoqalZVxsMhUIxmUwulwtIR7u7u62srPh8fnBw8HfffffKK694eXldu3YtICBgfV8uKQmSSv9TA5RKQWkCGhiAWluhO3eg+/eh2dn/lXKpqUEmJpCLC3T4MGRvD6moQFsKBEcikeHh4eXl5WZmZl1dXWg0uqmpycXFJSMj45133tlYqXB6erqjo6OxsbGpqYnJZJ48eZJKpT7kT9ZuPj4+qampU1NTm1wpeb4CGARBJiYmy8vLMzMzLi4uhYWFf/jDH1ZjG4PB+Ne//jU2NmZqauru7u7v7x8UFPRCP6+5ubmZmRkDA4MHvbxSqRwcHGxubt6+fTtgWxkeHv7555/BICeDwXh0R93CwkJDQ6OsrGyrCNNgMNj27dsXFhYWFhb6+/vXPnj+y00L+MgPHz6ck5Mjl8s3GZXr6upaVlZGpVJBEA0PD8/Ozt69e/evfg2FQtHZ2ZmXlycUCslksp2d3eHDhx8cBsdgMA4ODpWVlSEhIeAnPT09+fn5g4ODJBLJwsJi9+7dGy7zTk5O9vb2VlZWBgUFGRsbv/fee/fu3SORSOCrPuiSFhcXCwoK6urq8Hi8kZHRe++99xTLPkZGRjKZbGhoyNTUlEwme3p6pqWlHT16dL3ZBp/P9/X1BczOQUFB5eXlgYGBeDxeIBD4+fl99dVX63OUk5NQWRnYWlB+PtTeDg0NQXl5UH4+1NgIicX/6481NSE/Pyg8HPLwgExMoOcGCG5ubl5eXu7h4dHW1ga0bCwsLAoKCjYQM+Ry+Y8//jg+Pq6lpcVgMOLj45+8vwCHw21sbBobG9d9tvidBTAUChUbG5ucnHzixIl33303MjIScEGlpqY2NjZaWlqePXuWRqPhcLjnUJ1zjWcfsVg8ODhYU1PD4XDCw8P19fUVCoVIJJqYmGhvby8rKwPUIT///LOdnV1BQUFra6tUKu3p6QkLC1tcXJRIJI/4fGNjY2dn5+Tk5PDw8K3SvrO2tmaxWF5eXrm5uUePHt1wEubg4HDjxg2lUkkmk1tbW5+dns6vGo1GU1dXx+FwVVVVDAbj+PHjf//73x9C1gHJ4La2NjabLZfLg4KCEhISNDQ0fvXJu7q6ZmRkbNu2ra+vr7S0VCwWBwUFAa7eh0qFKysrj63hrMopsNnsoaEhHx+f1tbWI0eOADxhVVVVW1vbg8OOXV1dZWVlgHDywIEDurq6T11RAYVCRUVF3b179/3338dise7u7oODg8vLy+tqHBoaGpaXl4tEIjc3t7S0tH379imVSrlczmQyCwoKgGJnenr66tH28ZaZCYlEq18Reu89aGgIEomglZXV6idEIECmplB4OBQXB+noQHg89Jz5FgqFQiQSDQwMVFRU8Hi8UCgUiUTu7u5sNnv37t3rDTbbt28HRItPy0XAYDBbW9uGhgYvL68tlNzc+gAGQZCLi0tiYuLMzAyZTP7ggw/m5uY0NDTs7e0//PDDrRRmfRo2OjpaVlYG0Mk2Njb/+te/lEplVVVVS0uLSCRSKpVGRkZHjx4dGRmprq4uLCzMzMyk0+kGBgZ4PF5HR+fHH38EfGjHjh37rUsgEIjw8PCTJ0/y+fytIkyj0+lisVhbW7uhoWFsbIxKpW7YIYaHh6enp+/cuRMMvmzmXcDh8ODg4JKSkq6uroaGhvr6eiQSucqoND8/X1JS0tbWBu700KFDjxVdpNFoaDT64sWLenp6u3fvtrW1/eXfDw8PV1ZWCoXC+Pj431rty8vLfD6/vLx8bm5OTU0NjBWj0eiFhQUOhxMaGgpBkK+v76VLlx6ETXI4HAqF8tVXXz1Tai5HR8ebN28ODQ0ZGBi4ublxudz1ujMqlSqXy8fHxy0sLFxdXYuKikJCQiorKzU1NYeHhzEYjLOzc2Zm5u7duzU0NB7/cQsLUE4OtMqDNTsLNTY+uFsgGxvI1xcKCID8/KDnGLGMQCD8/PwuXboUExOTmZlJo9FYLNZ7772XlZW1Xro1GAzm7u7+1L+hhYVFZmamWCzeHLzYcxrAlpeXFxcX5XL5Sy+9JJPJtLW133rrLXt7+xeXRwsQ4Q8ODubk5AgEAg8Pj/DwcG1t7ZmZmXPnznV1dVlbW1tbW1MoFBQKVV1d/fXXX9NoNJFINDs7i8Vil5aWSCRSYGAgjUY7cOCAnZ1dfX29VCp9hF/w8vKSSqWVlZWgBTU6OtrZ2amtrW1hYbE5t4zFYi0tLQcGBrS1tXk83oYDGHCIhYWFu3fvnpubGxkZ2UyYk1KpNDY2/ve//z09Pf3tt9/u27dvx44dRCKxv78/IyMD1Hi9vb3BXOdaUhl1dfXDhw9DEEQmkx/8e4VCIZFIent7c3JyhoaG3NzclEplQUFBXFwcaFyBJpZMJgOU3oDD0NfX19DQkEqlrja3gI5aUFAQAoEwNjZWKBR9fX2rIMaEhIRNmAeHw+EeHh7l5eXx8fGAyb6zs/OhyfpHGxqNtrCwaGpqsrCwCA4O/uqrr/785z/fuHHDxMSESqVyOJy4uLhXX321paVlTV5YIIB4PEipfOgakKoqFBAAxcZCTk6Qvj60idKpGzYzMzMMBqOlpaWioqKvr19ZWYlEIhEIxNDQ0KZt7UeYpqamvr7+Uxdufc4N8de//hVs0dHR0YKCgjNnzrz//vuAAO3NN98EtFKbrKnxtAx4kMLCwqysLA6H4+rqGhoaKpFI+Hx+Xl5eR0eHv78/EIfs6+urrKwsLi5eWlrC4/E5OTlgNmBycvLrr78+ePCgubm5trZ2f39/UVGRhYUFBoN5xDNBo9F9fX1VVVWhoaFqamrt7e3ff/+9VCp1cnLaNEoLfX39a9euxcTE3L1719/ff8PXRaPRPT09SqVSXV0dnMo358V1dnYWFBQUFhb29vYmJCQMDw97eno2NTVlZmaWlpY6Ozv/v//3/9zc3MCY1BoLcYDu60G2SalU2tzcDFLt9vb2gICA/fv3y2QyHo936tQpFApFIBAA5Cw3N7e0tDQ3N1dTU/Po0aPBwcGgwvngg1VTU6uurjYwMCCRSHA4HIlEVlZWOjk5gcttWr0dg8GUl5fb2tqqqqqSyeTU1FQvL691XV1LSysxMTE4OFhFRYXP5+PxeKVSubKyMjY2trS0BNJxDAbj6en5mHWlUEDp6VBSEgSHQwoFBINBFArk7g699hr07bfQsWOQjQ1EJEIvCOMRHA4nkUgVFRUaGhpIJNLe3n5+fp5Op/f19W1yceK3lreuri6A2PyOyQ9/JQPr7u6+cOEC4OsLDQ19//33V1ZWqqury8vLyWSy5hZBV5/Q2tra7ty5I5FIwFDLyMgIi8VCo9GmpqZWVlYxMTFEIpHL5QJ9DQaDQafTh4aG7t69u7y8HBMTExgYaGlpefv27ZmZmdXVEBISkpqa6u/vX11d7eHh8QinEBoaevv27ZGRERKJZGlpSSQSGxsbFxYW1lR1eRpGIBDMzMwmJiYIBEJjY6OTk9MG1wcSaWFh0dLS4uzsXFFRsbS0pPKMD8uAhxAGg9nZ2e3btw9gCnp7e69fv+7l5bVnz55t27Y9ORvZyspKVlZWSUmJjo6OlZXVoUOHaDQan8//6KOPpFKpQCCYmpo6f/58XV0dyPkQCMRbb71lbW2Nx+Mf4eAsLCza2tq2bdsmk8nMzc2BqvIm7yDQ0x0ZGSEQCKampiKRSCgUrit11tLSwuFwfX19dDrdzMwMTDJwudzx8XF9ff2ZmZmoqKi0tLSTJ08+hpxeLodmZ6G//Q06exaCICguDgoJgaysIB2dF9RdmpiYqKurK5VK8EwKCwtPnz795ZdfvvTSS89DzAC0Ul1dXevKuV/sDCwtLe2zzz4rLS0dGxvT0tIyMTGZnJwELj4mJsbX1/cF0o+RSqX9/f1sNvvq1auA84ZOpwPqIDKZHB8fHx4ebmJiIhaLy8vLL1++PD09DapSLBYrPT2dRCKdOHHiyy+/DAwMNDY2xuFwBAIhMzPT3d0dlInU1NT6+/tramoAfOgRvgyLxQJp3YCAAAQCAQbAp6enN3PEm0AgsFisPXv2JCYmenp6bpjCTktL69atW6GhoeXl5c9IGlsmk/X395eWll67dq2zs3Pv3r3e3t4KhaK6urq4uJjD4SQmJsbGxtrY2FAolA2DIRUKxeTkZHNzc1pa2tWrV6lU6qFDh/z9/QkEQlNT0yeffHLlypXBwcHa2tq+vj4kEjk8PCwUCufm5o4fPy4WiyMiIh4dimAwmFwub2hoMDAwuHDhgoWFxdDQEAaDWZ1q36QzKRIJh8NLSkrc3NwQCMTk5OTY2NhjG4QP3YhSqayrq3N0dMRisVlZWf7+/vX19aqqqmNjY3Q63dTUNCkpydHR8TEYVwQCcnODHB0hJyfo88+hsDDIxATaXHWep2soFEokEiGRyKKiIisrq9bWVktLSzQaLRKJtozm+H+/OBgMxuVyHRwc/ktYOZACgcDa2trFxcXOzs7c3NzCwoJMJr9wGahMJuNyuQUFBUqlkkgkgmnr9vZ2LS0tHx+f48ePq6mpjY+P37hxo6urC5xMX3/99aqqqkuXLiEQCGdn57ffftvCwuKhaTbgLoeHh8FGJZPJlpaW09PTdXV1QKzyEU7fx8fn3r17c3Nz6urq27ZtW15erqmp2bVr1yPC3tM1KpWKRCKXl5dJJBKQcdnY5+BwOCcnp7q6OiMjIx6Pp/dUeRCUSiXgBpRKpUZGRgcPHkSj0fn5+f39/UQi0cLC4ssvv/z888+RSOSTgPiBXmV2dvbo6Ghvby+JRPrss89QKJRMJvv555/T09O5XC4Gg9HR0RkaGgK3zGQyGxoaFhcXbW1tCwsLgUqDv7//oy9Ep9Nv3rypoqKCw+H6+/u3bdsGNC82eTs4OTndvn17cnKSTCbb2trev39fKpWuK20FY+wLCwt6enoYDGZ+fh6NRlOpVKDWERsba2tre/v2bV9f38c4SgQCwmKhxz23F8VgMJiLiwubzfbz8ysuLjYxMWGz2fv3709OTvbx8dkSgZVfrsCqqqrZ2dn/EigHgs/nv/LKKxEREc7OzoC68L8DH8YAACAASURBVAUK3UAAvqio6Keffuro6DAyMhKJREDOODIy0tvb29HREY1GCwSCS5cu5eTkMBgMX19fAwMDgUCQmppKpVL37t27e/duV1dXCoXyy7CNwWAEAoFMJgNDtTAYDI/H19TUDA0N4XC4RzSxYTAYgUC4desWnU43NzfHYrEFBQWGhoZLS0smJiab83DQaPTExMTw8LCZmRmoIm74zdLp9HPnzsXHx9+6deupVNjlcvn09HRFRcX58+f7+/v9/PxAbgrKekwmc8eOHRYWFsvLyykpKZOTkzt27NgAeE8qlQqFwsbGxrNnz7JYLAQC0dPTg8fjTU1Nz5079+23316/fj0vL290dNTa2hqCoOnpaT09PQKBcOXKlVdffXV+fp7NZs/PzxOJRD8/PxaL9dh7By1DhUJha2u7it7U0tJSVVXdTClIJBIpkUja2tpsbGyIRGJeXh6AuqzDLyAQTU1NVCqVQqFoaGhkZWV5eXlxOBwVFZWBgYE9e/YsLCykpaX5+vpu1cD+VhkOhxsdHZ2Zmamvr3dwcCgvL4+MjOzu7tbW1n4eHoWamlptbS2JRHoS6NaLFMB++OEHLBaLQqFerJRTLBZXVVXdu3cvJycH1PRIJBICgfDx8Xn55Zft7e3V1NT4fD6goRsZGQkJCQkKCurt7S0rK+PxeMbGxkePHnV3dyeTyUBy+hEpeXFxsY+PD/gJmUxms9kEAgGIAz3ioYG/FAqFoEhVW1urpaXV399vb2+/ORPBMBhMS0vrxo0bsbGxGRkZzs7OG6ZGxGAwHR0dBAJheHhYW1ubQqE8yRfr7+9PSUkpLCyUSCSxsbEuLi45OTkNDQ3z8/NBQUGBgYGDg4McDqepqWlxcTE8PPzQoUPrrVsuLCyUl5dnZmZyOJyOjg4IgjQ0NIRCoaqqant7+6VLl7q7u+l0uo6ODnA6ExMTXl5eR44c+fOf/6yqqurh4UEkEslk8vXr1ycmJigUir6+vlgs1tXVffQkCQwGI5PJt27diouLKy4u3rZt29jYWFZWFplM3rSDCzB1dXUWi+Xg4IDFYnE4XHZ2tqen57pOP729vVKp1NTUVEdHJzU1dceOHffv36dSqePj40wm087O7qeffqLRaFurTbwlSZiJiUlycjIWi+3p6ZFKpVZWVurq6mNjY1ZWVlvv0BGI5eXlJxINeLECGEAhvii2srIyMzNz//797777rrW1VSAQyOXysLAwf39/X19fHx8fbW3tqamp/Pz8M2fOiEQiJycnDw8Pc3PzzMzM7OxsPT09X1/f8PBwe3v7NYIRiERiSkqKu7s7OEGDvdrb2zs4OOjh4fEIVw6DwRAIxK1btwIDA0kkkoaGRnFxsUKhMDMz2zQoh5qa2sDAwMrKCpVK5fF4T9KBW1paamlpsbOza2ho2EAyB2Bsg4ODP//8c35+vq2tbXBwcGBgIJlMVigUKBTKxcVFQ0MjOzu7oqKCSqW6uLgEBgZ6eHisnbxfqVRKpdKxsbH79+9fvHhRLpcbGhp2dXWNjIzg8fi2tjYul8vhcCQSyZ49ewIDA8fHx8EA+86dO48fP25lZYVGo5lMprm5OR6Ph8PhqqqqVVVVXV1dEokEjAEJBILH+mt1dfWCgoJt27bp6uoWFRVFR0dfvHiRSqVugJ/3CfNvHo+HxWL19fV1dHTS0tKAn127m0YgEGw229vbG0iKg4JkRUWFvb39+Pi4t7d3bW1tT09PUFCQyosAgn+KhsFgxsfHx8fH29vbSSTS8PBwXFwci8Xy8/N7HmI5hUJJSkry8/N7Hkqa/xfA/mOTk5NVVVWZmZk5OTlzc3PDw8PW1tbHjh175ZVXmEymjo7O9PQ0ADrn5uYSCISjR4/SaLTOzs7i4mIulxsaGnro0CF7e3sKhbKuZgASiVQqlaAvulpD4PP5oaGhgDLuEUuWQCDcvHnTyMjI2tpaW1s7MzNTX19/amrKelPEZIEZGBgkJiYePnz4+vXr9vb2G+7AYbHYwsJCJyen5uZmS0vLdankiMViNpudkZHBZrN9fX3/8Ic/WFpaEggEhUIBSNzb2tpKS0sXFhZiYmISEhKsrKy0tbVVVFTW6A6USuXAwACbzWaxWEVFRRQKxcbGpq6u7vvvv+/p6QHDDxAEGRsbe3p6enh4cDickZERLBZramq6Y8cOqVTa1NQkkUgsLS1ByweETDQaPTc3V1BQsLS01N/fHxkZOTAwwGAwHp3IwmAwmUzG5/M9PT0rKiqYTGZnZ2dra2tYWNhmOnokEgmKB15eXkClr6Ojw8bGZu0elkwm37t3D+RwCASiqqrKz88vNzfXwcGhra3N29tbXV39zJkzYKoS+i8zFRUVIM0Dh8MFAsGRI0fq6+sNDAyehyoiGo2emZkZHBx8HqbT/i+AQVKp9M6dO4mJiXA43NnZeffu3UZGRoODg//zP/8D6C95PN65c+dKS0txOJyjo2NMTIxSqTx37hyPx9PV1d2xY8euXbseYgFfl5HJ5JSUFE9PTzC8jEKhmpubra2tm5qanJycHtHbAHUYDoezZ88eEIPRaHRVVVVgYOCmHcZRKBSfz9fU1FRRURkZGbG0tNzYIVFVVRWMBIGSms7akNArKysZGRk///wzHA53cXGJj483NTUFVQ4ul/vTTz9xOBw8Hm9raxsdHb2xhkpDQ8O5c+dqampIJJKTkxMWi83MzPzpp58KCgpEItHU1JSent6hQ4dUVVXRaDSfz6+qqgIFc3d3d0tLSyMjIxcXl507d3p5eT2ET1leXgYThEtLSzKZjEKh4HA4PT29x1ZQYTAYh8NxcnIaHBxUKBRkMrmoqMjFxUVvc3VAtLS00tLS7O3tcTgciEB2dnZrD6IgEre0tICRMjab7ezsbGtrW1dXR6VSSSQSSDFRKNSz4JV4zk1DQ6O8vBxAi+fn53V1dSkUSnV19WqvYWsNFI09PDyQL8iM3e85gM3Pz58/f/6f//ynq6urgYEBBoPBYDBNTU1isZjL5V66dKmrqysmJiY0NBSNRjc3N1+6dGl8fPzll1/evXu3jY0NICN/whMNYJ8CrApIJHJhYaGlpYVKpSqVykdMNINB/StXrkRFRWloaCiVypaWFh0dndnZWVNT0007iUskkpaWFk9PTzabvS4X9pA7o1KpN27ccHNz4/F4jx4sW1lZEQgELBbr+++/HxsbYzAYAQEBDAZjZGSkoaEhMzPz2rVrYrH40KFDO3futLe3NzAwWBfGQSwWd3V15efnX7p0aWRkBCA+RkdHL168eOPGjc7OThC3zMzMdu3apaGhAbKo4eFhKpUaERHx5ptvvvPOOwEBAUwm08TEhEQi/WqxBYFADAwMlJSUyOXylZUVkUgUEBDQ39//2KE6HA4HaOaNjIyysrICAgK6urq6u7uDgoI2s8SERCLJZPLdu3fd3d0JBAKHw9HU1FxXb19XVzcpKcnT0xOPx09OTra2tsJgsMrKSkdHR8D3PTQ0lJGRERcX9+STeS+WIZFIbW1tUDZYXl6en5+fmZnp7e11cXF5HuaOMBhMc3MzkUh8wnb1C/Ainv+vSCAQaDRab28v6JHOzMwUFBSUlpa2tLRER0e/+eabOByOxWJdvnwZj8dbWFh8+umnQFf3qQV5BALMfKyeaBwdHe/evfvuu+8+lmjOycnJwMAgIyPjxIkTNBpNLBYzmUxQjdm0ghKTyczMzIyPjwegyg13dw0NDQGTKY/HewSZVmNjY05OzsTExODgIIFA0NXVlclkhYWFQqEQg8EQiUQbG5sN4DJWS4UcDofP56urqxsZGYWEhPD5/B9++GFgYEAkEsFgMJFIZGBgAHgOlUolm812dHTcv3+/ubk5g8EwMTFZVwri7OwMMu/09PSxsbHFxcXOzs7HTnOj0Wg7O7uamprDhw9LJBI0Gk0ikQYHB0dGRjY5CbO1tU1NTe3v76fT6d7e3oWFhevi51RRUTE0NOzo6HB0dPTx8fnoo49MTU319PRGRkbA4/X39793715ZWVl4ePh/WxLGZDIBOHl8fLyhoeH48eN8Pp/L5RoaGm55J0xVVdXAwKCjo2MzuxX/l4FBEASJRCK5XP6QcyQQCMnJySQSKSkpKSUlRVdXNygoaGpq6o033gAcoyMjIzt37gwNDXV0dNTQ0HjqC0hDQyMjI8PFxQUkCqqqqoODgwgE4rFiSxgMRk9Pb2JiAgAjOzs7USjUzMyMlpbWpjEjq6qqjo6OTk1Nubm53blzx9vbG/R4lErleh8UCoWqr6/X1taWSCS/HGIdGhr629/+duPGjfn5eaFQ6OTkZGJi0tfX19PTg8VikUikn59fVFQUnU7f2IF9eXn5xx9/nJ2d3b59+9TU1LVr1y5evJiTk9PS0jI9Pb28vEwgEBgMxsTEBAwG09DQ2Lt374cffhgZGRkQELCxIWgSiVRXV+fk5FRWVqatrb20tGRpabmysvJYSKGuru7Vq1f9/f21tLRYLJaVlVVTU5OGhgaDwdhM74ZAIObm5vr7+62srKhUanp6uqWl5doxRHA4fHp6enBw0NraGofDdXR0AI3A/v7++fl5d3d3Y2Pj9PT0+fn552QKajMNBoNhMBgulzs2NiYUCrdv397f36+iouLm5rblfPAwGExVVTUzMzMgIOD3jRF97gaWORxOamrq6j9lMllDQ0N5eXlubu7t27ddXFz++c9/7t+/39fXd2lpaWxsDIIgMzOzffv2mZmZ4XC4Z/S2NDU1raysyoCsEQRBEBQREcFisaRAne+R5ufnd+LECdB38ff3r6mpodPpjQ9ycj/71RwTE8NisWg0moqKSlNTEyjMFhYWKh5Uv12DmZqazs3NMZnMoqKilVU5DAhaWVlpamq6evWqUCjU1NREo9GOjo4ymQwIOltYWKysrBgYGJibm2+4nLu4uFhXV9fb21tQUPDKK6+8++67paWlQqEQiUSSSCQCgaCjozMzM6OionLo0KGzZ8+mpKTs37/f0NCQSCRuuBOAQCDi4uI6Ojq2b9+OQCDa2tpoNFpFRcVj3zsWi3V2di4qKnJ0dBQKhQwGY3Z2trW19dFaPM/i1Ts7Ozc3N0skEiQSGRISkp2drXyIWveRZmVlJRAIpFIpDAbz9PScm5sTCAQaGhokEqm6uhqDwcTGxpaXlw8MDED/fQYoUnV1dRUKRWpqalBQUGVlJXBKW27GxsZKpbKvr+/3/Qq2MoDJZLKFhYVVgQxgzs7OVVVVc3NzU1NTubm577zzTnp6Op1OB2Tknp6eIAcCuzEzM3PTvm1UVFReXt7y8jL4p7a2Ng6H6+npWe+qWllZMTQ0rK6ulj8oQfuMTUNDw9DQsKGhISQkpLCwUCqVolCo+/8fe+8d1/S974+/sxNCFjMJYcuGsEfYOyypu67ao6faY/vtOJ729LTndN3e3t5zHo/TnlartdWqoCCIgAzZe48kyIZA2CNswsrO7493rz+O1RbRYuvx9V9rEj7z/Xq/Xq/nyM5eWFh4qN/R09Mjk8mrq6s4HG54eFguly8sLEAv89OnT/f09MzMzNja2j733HMhISEGBgZCoZBEIoWHh7/55puHDx9+WHUAlUq1uro6ODj41VdfnTx58vLly/39/Y2NjVNTUwAAbW1tKJsLgRKHDh1KTk4+d+7cn/70Jzab/bhgMi4uLkql0s7OTq1WW1patrW1YbFYaEr+0xEQENDY2KhQKFxcXPr7+318fHg8HjzyrQwjIyMmk9nc3AwAcHR0FIvFAwMDG/86i8VSKpWTk5OwAh4YGJiensZisaampsXFxQMDA15eXhKJhM/n/wcmMH19fQMDA0tLSyQS2dfXp1KpyGQyhLw++ZUdidyzZ89Tv7F4Ai1EpVIJxdrLy8tTU1NlMpmNjc3dykkikeTn5zc3N1dWViKRyJdeemn79u1WVlZKpVIoFDo7O99lBRkbGycmJvr6+m7NMIlAIPT19cnlctg6g92V0dFRR0fHjZd9cLXt6+uDaWDTdskPFVA1wMTEpKmpKSAgoLm5mU6n0+l0SA94KMt5JBKJxWKLi4shlbuioqK4uLijowOJRFIolOjo6KNHj+Lx+P7+/ubmZltb25MnT3I4HCaT+bA9w9nZ2ebm5rKysqysrJycnMXFxZGRkb6+PgDA9PS0XC5Ho9FaWlp2dnY7d+78+OOPP/jgg8DAwIcSp9/4KU9PTxOJxKqqKjiL9fLyWltb+1m9VBwO19LSoqenZ2RkVFlZGRgYmJaWZmdnt8XgZki8PX/+fFBQEOTDvfPOO3v37t0gqx2JREIdGR8fHwQCcebMGQ6HIxKJ6HT66upqbW0tnU5XKBQVFRWHDh36j2I0g//j2GRmZlKpVLFYDLc40Nbg18CNYzKZd918nlVgj2clTU1Nffvtty9fvjw3N+fg4LB//34ej7e6ugoAGBwc/Pvf//7f//3fOBwOi8W+9957J0+evKuibWFhMTY2tr4Dg8FgrKysOjo6tuz43d3dIX4Brgt2dnYwpT3Uj0CN1+Dg4IKCgvVduF80UlNTzczMZmZmVCqVtbU13C8HBQU1NTWtrKxs/HfUajUWiy0rK0tOTi4tLQ0LC/vggw/ef//9d9555+233x4ZGTl9+vT4+LiPj89HH320a9euzZk3qtXqDz/8sLW1FY/HS6VSIpE4OjoqEAgIBEJXV5dSqaTRaEePHr127dq1a9c+++wzHx+fX24Ag0AgHBwcZDKZo6Pj2toaBoNRq9WwDfvToaWlZWpq2t3dbWlpKZFItLW1d+/eXVxcvPUvuZ6enrm5eVNTExqNdnd3x+Fw+fn5G/+6m5tbX18fNLZls9nj4+NIJLK9vR3O84RCoa+v78DAANxe/KeFp6cnFouFS1ZnZ2dpaamRkVFdXR14Fk9BBQb1v7u7u2traxMSEgoKCiwtLQ8dOsTlcl1cXExNTXV1dUtLS9va2rKzs+vr66Oiog4dOuTi4nLnzp2goKD1s1ASiVRdXb1eyweBQEDBN+gbuQUXS1tbu6Ki4q6Uho6OTn5+vpWV1UN1xrBY7J07d1gs1sTEBJlM3gLJMgKBIBKJ0Gg0Ho8fGxuLjIy8fPlyQEAAFJyVSqU/K6QNabDV1dVXrlzp6Oh47bXX3nrrre7u7n379qlUKqFQWFhYmJOTExAQ8MILL3h5eRkbGz/KHBuBQFRVVZmbm+fk5Bw8eJDH4zGZTAqFIhQKrays/v73v9vZ2cXGxoaFhVGp1C3Y9dNotNu3bwcEBFy9evXYsWMTExNTU1MeHh4/nZ4RCASZTL59+3ZkZCQU9Xjrrbeqq6vNzMy2XmhVS0uroqLC1dXVxMSkubmZx+NFR0dvsCxGoVBQld/Ozm56ehr6M/T19Tk4OMDZ55EjR6Bo5MMajz0FgcPhJBIJtGqSSCQAABMTE6lU6uHh8Z+GanmqEtjq6mpVVdWNGzegqwiJRNq+ffvzzz/v4OAAif1QnSExMRGFQlVUVJw6derQoUNEIpHP5zs5OZWXl5ubm6+ntSIQCAwGU11d7e3tffd/4vH4wsLCLYP9QK8dqVQKWVxIJBKHw5WWlnI4nI3/CAaDGR0dXVxcpNPpw8PDDyWOsOkwMDC4fv364cOHExMTo6Oj7+oyyOXytrY2V1fXB02MlpeXc3JyIBSbSCTu2LFj165dLBYLi8XKZLLz5893d3evra35+voeOXLEysoKi8U+ltOBR6hSqV5++eWxsbG5uTljY2OVSsXhcPbu3YtEIjs6OtY/Cb9oQBONkZERmUwWExPT399vZ2cnFAp/FpJOJpPJZLKRkRGdTr9x4wbMeRDWuMXvOWyBmpqa6unpkUik8+fP+/v7Gxsbb/DrMpmsra3N3d0dts1nZ2dNTEzm5ubQaDRcrCcnJ1tbW0NCQrbMbOHXEzo6OgkJCXg8fmZmhkKhyGQyU1NTS0vL/xA9+KckgWk0mtXV1cnJyfb29mvXrqWkpGCx2KCgoNDQUD8/PzabTaPREAjEwsJCf39/RkbGlStXMBjMnj17IiIilpeXoUfJjRs3ent7USgUg8Gor6+/JzEwGIyrV68GBATc3Tmq1eq2tjaoj7AFFwuBQBgaGiYmJoaHh8Oaj8lkpqWlOTo6PhSrSVtb+9atW/Hx8ZAtvwU7NQqFUlJS4uzsPDc3t7Ky4ufnV1JS4urqSiaTy8vLnZyc1hcTarV6fn6+t7c3LS0tOTnZyMgoOjo6NDTU1dUV3kT4MXNzcxMTk/DwcLgUPl7OPxqNbmlpQaFQFArF19f34sWLxsbGEBVia2vr6uqalJQUHBy8ZXhlExOTlJQUc3NzoVBoaGgIKfN+fn4/PepAIBDwyYRw9sHBQQ8Pj7KyMhcXl60UpwcArK2t1dfXDwwMcDgcQ0PDjIwMDAbj5+e3wdYFBoOpq6uzs7PT19dvamqam5uj0Wjz8/O6uro4HE4qlYaGhn7zzTeurq5bxtD/9QQejxeJROPj4/Pz8wqFgkKhGBoa4nC4X4O277ME9vOhUqna2try8/PLy8ubm5vn5+fDwsJeeOEFHx8fBoMBCUAAgI6OjpycnJKSku7ubjs7u+PHj/v7+6vV6qqqqvb29ry8vPDw8FdeeSUgIODMmTMTExM9PT0hISHr33MkEjk+Pr62tgZbXmq1Oj09ncVilZWVhW6V4RCZTG5tbUWj0XD3CktJkUj0UFAOKpVaXl7OZrMHBwdxONzGN8KPknrn5uYmJyfd3d1LSkoCAgK8vLyIRCKRSOzo6NBoNPCSKhSKnp6ejIyM6urqvr4+d3f3o0ePurq66ujo/Li0QqPRTCaTSCT+Ev1bHA7X0NBgY2PD4/G4XG53dzfEsvf396vV6uDg4LW1tba2Nmdn562571gsdmxsDABQW1sbFRWVmpoKxXlNTU03/gvV1dWenp5CoZBMJj+URfKjh1wuLy8vb2lpCQgIoFKpUqk0JSXl0KFDG9wBEIlEgUCgra1tZ2eXn59vbGzc3NwMrcb7+/sBAFFRUfn5+aurq9BxZmVlpampqaWlxcbGBqL2n+LWIhqNXlpaGh0dFYvFy8vLRCLR2tp6cHAwMjLyN2es+J+SwKDyt0Qiyc3NPX/+/MjIyLZt27y9vSMiIgIDA6GVIgBAqVQuLS01NDScOXOmq6vL2tra39/fy8traGhoYGCAx+MlJCTo6elFRkbK5XIOh8NisXA43MzMTG5uLo1G09PTg1z3uwF77u7u7pCE29PTo1AohoaGHoqe+eg5LC8vz9vbG57jJlTmAABaWlplZWU7duy4evXq1pAN5XJ5a2urt7d3W1ubsbExnU6HZjE0Gi01NdXLy6umpubrr7/u6+tzc3MLDAzkcrkWFhZPqo+PwWAmJiYkEsn8/DzE+w0NDclkMn19fYFAEBMTY21tfeHCBX9//y2DeyEQCJFINDU1ZWBg0NbWRiaT1Wr1eljsz97x2tpaU1NTtVo9MTHBZrO38nretUdZWFhwd3cnEAhpaWlubm4bTMAIBAKNRldWVvr6+i4tLfX09MBuiqmpaW9vL5lMZrPZarU6KSnJ398/MzPz8uXLy8vLRUVFIyMjiYmJo6Oj7u7uT2sOgxdncHBwbGxsYWEBUh5pNJqOjs4WC688S2A/HwqFoq+vr6Ki4vbt27m5uQwG43e/+x1cUPT19e8qiC8sLNTV1eXn59+6dWtlZeXgwYNOTk5TU1O3b9/+9NNPGxsbl5aW7O3t33zzTTc3Nzqdrq2tnZubC70bIEeyr6+PRqN5enqu703hcLja2lorKyuohWhoaFhfX+/g4DA4OPhQNdCjhLa2Np/Pp9FoUISbTCbX1tbq6+tvUN8Whp6eXk5OTnBwMI/HMzAw2AI9byKRWFpa6ubmBjfOcN2fmpoSCoXJycl1dXVaWlrHjx+Pi4szNzenUqlb6f3xoEuUmpoKGRRWVlawKKfRaCQSSS6Xs9nssbGxxcVFKyurrbnvWlpa9fX19vb2zc3N8GFWKBReXl4bzKAYDEahUDQ1NUVERNy4cYPL5W7lgo5AIKCzJQqF2rZtG+yFNjc3x8bGbjAB0+n01NRUT09PFouVn59Po9F6enr09fWtrKwqKiowGMz4+HhDQ0NRURHk7BcWFnZ3d09MTHz88cf5+fnOzs6bEA/7rYSurm51dTWLxbpz545KpVpZWfHw8Ojt7fX393/i79GzBPZDrKyslJWVnTt3TigU6ujowHE6dFtY/7Hp6ekLFy7cvHlTrVbb29vHxsZisdjr1683NTWVlpaKRKI9e/YcP378yJEjbDb77sujr69fWFhoYmKiq6tLIpEWFxfz8vIoFIq3t/f6555AILS2thIIBJlMxuPxQkNDc3NzPTw8Ojs7XVxctmYigsFg5ubm+vv7IYMKhUKp1eq6urqHgnIgkUjIJ9XX14f8tl96OcNisd3d3Ugk0sXFBYfDjYyMJCQkZGdnKxQKhULh4eFx8uTJzaHef7mMC7XqxWJxaGhoSUkJkUicn59nMpkikSggIAAAwOPx3N3dt0ZyG4fD9ff3YzCYmpqaiIiI+vp6Q0NDOp2+cRypoaFhUlJSbGxsY2MjfNS38npSKJTy8nIsFksgEKysrLS1tXNycjgczgYPA+pMjo+POzo68vl8uVyu0Wj6+vrm5+dramoGBgb6+/vn5uZUKlVXV9fQ0NAf//jHffv2FRUVWVpaMhiM6elpOzu7p3UZRSAQdDo9Ly/vbqtZJBJZWVlZWVnRaLRnaeaJJTCFQjE6Osrj8bKzs69evUokEo8dOxYVFeXk5ESn0+8mDLlcPjg4WF9ff+XKlby8vKCgIAjSraur++qrryoqKmg02urq6nPPPffRRx8FBgb+GGaNQqH09fUzMjJ8fHzQaLSDg0NhYeHAwICLi8t6kDfUuMvMzNy/f//Vq1dDQ0OVSuXIyMjy8rKxsfHWrAhwMp+QkHC3f2VsbJySkuLk5LTxPSa0aOroK3MZ6gAAIABJREFU6OBwODU1NU5OTpu2S974YZPJ5EuXLmk0muTk5Ly8PGiC3tnZ6evru3fv3l8OVqBQKDQazcPOA+ABNzY2Dg4Ownrl0qVLlpaWw8PDkE1hY2OTn59vY2PzqGuEQgGGh0FZGcjKAn5+4MH23Pr6+jdv3oQtzfHxcTc3t8bGxuDg4A1uPrBY7MrKilAoDA4OzsjI2GLQOewYDw4O9vf3h4aGmpqaQqNtNze3DR4GkUgsKiry8fGBuv6lpaUSicTPz8/V1XVubu7q1av29vYEAuGNN944cuQIBoPp7+/n8XidnZ06Ojrd3d13DYmeytDX129paaFSqe3t7dAwiEwm6+vrP8Vp+1edwNbW1srLy1NSUiB1l81m//73v/f29tbW1kYikXef+LW1tdra2sTEREgoDgsLc3NzKy8vv3TpUnl5eXd3N41Gg0DEP/zhD66urj8BsyYSiY2NjXQ6XV9fH41GQ91YqVTK5XLXf4xGoxUUFDg5OWEwmJ6envDw8OTkZHt7+7m5OXt7+625algsVqFQCAQCWIRBfQ2BQLDxtQCe761bt6AxpoGBwS9KCJPJZEVFRUVFRTU1NXg8HhpEodFoGxubF154gcPh/EKTJJVK1dDQcPbsWTwevwlRAC0trcrKSgMDA4VCgUQib9++jUAgtLS0oLkXm82G7unu7u6PdJSFheBPfwKnT4OKCnDkCHjwMJVMJjc3NxMIhMLCQj8/v9XVVWhPuvH5q7a2dn5+PpfLLSgo+HH3YguKSIFAgEQiZTJZfX09j8ezt7e3trbe4EOLRqPv3LljZGSkUCjUavXAwACDwZDJZH/729+Ki4v9/f2FQmFRURHkHZaVlbW1tenq6jY0NLi6uvb29gYGBj7F5QgCgYDCeH19fWKxmEQiwflxRETEfxo37kkmMLlcLhQKk5KSkpKSCAQCl8sNDQ318fExMzO726jRaDRLS0sikaiwsPD8+fMymSwkJMTGxkYsFp85c+bChQsikUhfXx+LxT7//PMvv/xyaGiora3tz8IBIBOwu7sb0msMDAy6u7t7e3tDQ0PXk0uQSCQKhaqvr9+5c+eVK1eg2ZKZmVlpaelWGkUaGRnduHGDzWbDtpu2tnZ5eTlkuW3wF6A2FQDA0tKypKTEz8/v8T7oGo0GKpFnZmZeuXIFhULZ2dlBQSZPT889e/YEBQXZ2dk9SuEllUrhHbmn3kIikcPDw99///3p06dv3749NTUFmbMPmyZRKJRQKLSwsCgsLNTW1q6urobVg1gslkgkoaGhJiYmCQkJEFG5+Ss1MgK++w4sLACVCtDpwNcXPPhGkMlkgUAwPT3t4OBQXV0dEhLyUHJi0KgJulGvra39rKr9430eVldXKyoqZmZmbt265eXldfDgQWdn5403YCESBMKAm5qaPDw80tPTmUwmrLS6uroMDAwmJydHRkYgZPEvf/lLcHBwS0uLUqmcn58nEAhbT4DbyiAQCE1NTX5+fr29vTKZTKPRrK2tBQcH/xocwv5TEtjMzExxcbGTk9ORI0d8fHz09fUJBML6Faq/vz83N7e4uLi9vd3Q0BACCAsLC//5z38WFBQsLS3Z2NiEhoaGh4efOnXKy8uLSqVu8A1BIBCQb+vn54fD4YhE4uLiYktLC4FAuEevD9rbu7m5Qf0xIyOjvr4+KI63ZbAfCJObm5uDG1g8Ht/V1fVQuGpoEZmYmHj48OGbN2+6uLg8LhKoSqUSiUS5ubnl5eXt7e0MBsPU1LSxsTEjI4NGo506dQoabD4KwhA+J1VVVQwGA9YfKpWqu7u7qKgoOzu7s7Pz888/v3jx4uDgYEhIiJGRUW5urqOj43rRyw0mMDQaTSKRxsfHXVxcKisrx8bGFAqFtbX1yMgIh8OhUqnQ3HJDKUStBnI5QKHuzU+GhqCgAAwNAQCAUgliYsCD0yGBQODxeEQisbW1VSKRQBMNOFbc4GMzOzs7MDBgZ2fX3t7+ExTyxxsTExN5eXkVFRUikcjMzIzNZru5udna2j7UX4cGIvn5+XFxcbdu3YITaFhHIhCImZkZBAKxurqKRqMjIyPHx8clEsnk5OTy8jKPx/P3929ubt65c+dT7BFMIpEEAoG7uzuRSCwvL19bW/Pw8FCr1Q/lwfYsHimBEYlECK79cbeax+N9/fXX9fX1JiYmbm5u+vr6lZWVBQUF5eXlfD4fj8dbWFi8+uqrhw8fjouLc3R03ES/G4/H02g0XV1duFXX1dX97rvvZDJZWFjY+gUCg8F0dnYSCAR9ff22tjY3Nzcej+fp6QmRFFtTsEPsbFlZGRzaoVAopVJZV1fn6+u78QMgk8kVFRWWlpYEAqG7u/sRWU0qlWp5ebmlpeXrr78WCASWlpa2trYrKyvp6el9fX2BgYHHjx8/cODApmF7kDsxPj6ekpKSkpJCoVA8PT0NDQ3n5+dzcnI+//zzxMTEpKSkgoKCkpKSwcFBbW3tlZUVfX39t956Kysra25ujsvlPqyqr4GBAZPJXF1dHR0ddXBwgF1EBoNRUVGhq6vr4eGBw+Gqqqp+hsawsgLa2sA//gHOnQPGxoDFAuurRgwGLCyAggLYEwc+PuDfyRv3ZCCRSMRisaqrqyGhCkqzb3z+SqVSk5OTd+3alZ+f7+3t/cvRAOD9GhkZuXbtWnZ2tomJSXBwMORRHD58mEqlbgIWSKVS8/LyOBzO2NhYYWHhzMzMwMBASEiIj49Pf39/fHy8QqGAVkHQRTM+Pl5fXz8nJyc2Nra5udnBweEnHMyfgi6inp5eWlpaREREQUHBwsICFot99913t4zh8yyB/TDpve9H29vbra2tzczMxsbG8vLy4B0SCARUKjUkJOTNN998++233dzcDAwMHmVrz2Kx7r7SJBJpcHCwo6PD09Nz/YgIhUJJpVKBQMDlcnNycvz9/dva2kxMTAYHBy0sLLbscdHV1a2oqNDT04MAegaDcePGjYcqpKCcY19fn6+vb1FR0aYFGhYWFpqamoqLi2/dujU7OxsUFESn03t6eioqKigUyptvvvnSSy+5ubkZGhre5Tk8bAwPD1dVVWVlZVVXV1taWrq7u/f392dnZ/P5/L///e/l5eVdXV1tbW0qlcrZ2ZnL5b7//vuffPJJU1PTxMTE7t27MRjMt99+a29vb2xs/FBLNhy4amlpFRUVxcbG3vWuHBsbk0gkcXFxenp6PB4PKjY98Ff++Efwyiugrg4IhSA7G9BowMoKrD8MBgNcuwZWV8HKCtDTA6Gh4AGlCdTjr6ysVKlUOByuvb2dw+HMzs46OTlt8IygC49Go1GpVHK5/GeFKDcXY2Nj5eXlOTk5NTU1HA7n5ZdfdnR01NXVNTAwyM3N9ff3Z7FYm/hZJBJpa2urra3t5ubm5OR06tSp3t7egwcPuri4LCwsQEb/2tpaVVUVmUxub29fWlpqa2vj8/kUCoVCoUxOTgYFBT3FyHI487O2tu7v7+/q6pqcnDx06NAW6J0+S2A/s5UTiURFRUUtLS0QO9fR0SEUCrW0tN58881jx47t37/fwsLil3guiURienq6ra3tPd7YOjo6SUlJ8fHxk5OTCwsLDAZjcHAQjve3QNji7stsYGBw7do1yERGIpFoNLq6utrLy+uhyiY+n+/h4dHR0aGrq/uwz7pYLL5+/fqNGzeUSqW5ubmOjk5PT09ZWRmBQOBwOAcOHAgODl6v/7SJXfzAwMCFCxcqKiq0tbVtbGzkcnlOTk5ZWdna2trMzExjY+Pk5OTAwAAajd6/f/+pU6dee+21AwcO2NnZaWtrLy0tNTc3GxkZdXZ2NjU1NTQ0WFhYbMLmnEgk8ng8Op2upaU1MTEhl8vVarVEIvH29rawsJDL5U1NTT4+Pg/8vkgE8vIANHJcWwM1NWB6GoSGgrvtLAwGtLeD9nYAAJidBUeOgAfvJKhUak5Ojr29vVgsFgqFQUFBjY2NUVFRG7/ITCYzISFh//79KSkpkZGRj/exHBkZuXDhQklJCYVC4XA4zz//vKWl5d1jQyAQSqXyzp07m+5rUSgULBaLwWB0dHTuSmRBf7ihoaGZmRkLC4tdu3bt3LlzcnLyr3/9a1hY2OXLl8ViMfSi43K5cCYkkUhQKNTTp1WBQqEaGxs9PT0zMjLIZDKBQAgPD3+WaZ5AApNIJHAX//3339fX15uZma2srFy9enV6eprD4fzjH/84deoU3Nf/clsqLS2ttra2lpaWvXv3rl8gcDjc4uLi4OBgXFzcuXPnDh06lJSUdOrUKXNz8618JfT09BoaGggEAtz+MxiM9957b3Jy0tfXd4OHQSKRKisrt23bRiAQ+Hz+RgRqFQrFyMhIfX19ampqTk6OkZGRo6OjQCBISEjo7e318/N79913/f39TU1NN11vqVSqkZGRurq6a9euVVZW2tvbs1islpaW7OxsiURiZWU1NzdXUFAA+4QcDuf999//4osv9uzZw2azdXV1IYx4YGBgbm4uLy9PIBDs3LlzaGior69PW1v7nobwBvcKdDo9KSnp6NGjeXl5OBwOusqZm5t7e3ubmpomJyf/VO1LIICKCjA9/cN/SqWAxwONjcDGBjAYAIEAGAxQKkFREZDJwPw8cHcHDxaygwqNxcXFQ0NDJBIJKmRiMJiN75ygpK+pqalQKGQwGHcNFh4l5ubm6uvrr1+/XlxcHBkZefDgQVdXVyaTCd9NuVw+PDzM5/Nv3rxZU1MTHBz8uJyiqFTqxYsXJyYmXF1d9+zZExkZ6eXldbfU5vF4gYGBd+7cGRkZIRAIw8PD7u7uELpy/vx5BAKxuULw1xxEIhGOEqqqqsbGxvT19V1dXbeY8/efnsBGRkZu3bqVm5s7NjaGx+OhIVNqaqpcLj969Ohbb7114MABJpOJRqO3gH47MTFRXl4eFhZ2j7ozk8mEPoEikQgehkaj2RqLyPU9QLVazePx4DQehULNzc0lJye/+OKLGxwBotHomZmZsbGxoKCgpKSksLCwn2jAyuXy6urq69evt7W1Qe8GjUZTW1t78eJFGo324osvvv322/7+/jgcbtNZHLpcJicn8/n8paUlOHKfnZ1dXV2FB9bV1ZWenj4+Ph4SEvL666+//vrrJ06ccHJygmAfBAKxvLxcUVGRnJzc3d2NRqMNDQ2npqbef/99kUgkEAhWV1fj4+M38T7TaLTy8nJbW1sSidTR0YFGoycmJlQqVXx8PPQ3qK+v9/T0fFDGAC0toLV1/XkCkQjU1QETE2BtDRAIQCCA4mIwOfnDB3btAg++hoaGhgUFBSqVCo1Gd3Z27tu3r6mpaePjTyQSubCwMDIyYmFh0dfX94g0dolEkpaWlp+fL5PJ/Pz8jhw5YmZmBuUwYHsZ+rd1dnbKZDJvb2/oG/C4XgEymRwfHx8UFGRmZqalpbW+qKLRaOnp6YGBgQCAoqIipVLJZDLt7e0hNWp5ebm3t3fjWly/lYDavnK5XFtbu6amhkgkmpubOzg4PAPTb1ECW11d/d3vfufh4cFms6VSaUNDg4mJCYvFev31148ePcrhcPT09LbsmYNrYktLy/Ly8j0LBIFAcHBwwOPxUI0wMDCwuLh44wLbjysggJ5OpxsYGCAQCAKBkJ6e7uDgsPHZBoPBuHLlSmxs7Pz8/NjY2I+ZjxKJZHR0NCcn5+uvvx4bG6PT6X19fbdv3+bz+QqFQk9P749//ONLL73k5eW1aTa0XC4Xi8U1NTVnzpxpbW01MDCAKlM0Go3NZi8vL6enp+fn50PszO9///vPP//88OHDPj4+dDodapEsLi4KhcKcnJxLly7hcLjt27eHhoZyOBy5XN7d3U0kEtlsdk5Ojlgs5nA4m+giIhAIFArV0NAQExOTl5cnFosBAPPz88HBwSwWi0ajFRYW2tnZ3b8Iw2KBUglycwF0EEWjAQIB1GowNQXKy4FaDezsAIMBhEIArQilUhAcDB6sDYZEIsViMWyQLiwsBAYGzszMWFpabnz+isPhSkpKfHx8BAKBk5PTJqAcUD0gLy/v6tWrVlZWcXFxUCIAiUTK5fKpqan29vYbN26kpKSQyeTt27cHBQX5+vo+olXbg27Ng0rVjo4OGo3GYDB4PN7KyopGo0Gj0WFhYfBf6+vr4dbnaVpSIZo6KSkpPDy8urpaIpHo6ur6+vo+xSTuJxjorq6ue1ZMuHfr7e3t7Ozctm3bJ5988mTrXzabzWAwBALB1NTUes1AqNQAALC0tMzNzYV5a2xsbONA9sfVRbSxsfnwww8vXbpEJpPt7e39/f2h2ccGEcM0Gs3S0rK5uTk6Ovp///d/IyMjIatJrVYPDw/X1dWJRCKhUCiTyaCrcklJyfLysomJiZWVFZPJRCKRPT09rq6um9viyWSyxsZGPp8/ODg4ODhIpVIJBAJUZ962bRuPxzt37tz4+LiFhUVMTExMTEx4ePh6Oqpare7o6GhoaIAZxdnZ+V//+tf6JcnV1RWq73/66acmJiawgNu/f/8mDtXGxqaysvKuNOLi4qKhoWFaWpqPjw+FQjExMWltbX3gEDEiAjCZQCiEPwRYrB9ghxMT4P33QU8P+OADcOgQ+OILoNGAsTFQUgKcnB4E5UAgEGw2e2pqikAgoFCo4uJiHx+f3t7ejXcRTUxMsFjs2tqaSqWamJh4KKqQSqWqq6sTCAQSicTe3v7TTz+9qwE2OztbV1cnFAqXl5e1tbV9fHxef/31J4Vcx2AwFhYWvb29ERER27Ztq6qq0tLSKi0tXV1dhYwXBAIxPj7+9PlmGRkZ2dvbz87OOjs7NzY2NjY2jo+PW1tbP8s3j78CW1xcDA8PhzMJuVxeVlZ25syZlZUVKyurEydOPMqm/rEdIgqFRCIzMjLs7e233Q/fjMfjh4eHV1ZW4Ie3uIsIAGCxWFevXoUudpCOlpiYGBQUtPHZBgaDge3Q1tZWEolEoVDa2tpOnz6dlZUlEona29t1dHSsra3b2toEAgGZTA4LC8Pj8RqNxtnZ2c/PLywszMDAYCN/aGZmZn5+nkwmK5XK5eXlW7duffXVV01NTa2trT09PVZWVv7+/nZ2dkNDQzk5OWlpaQKBwMTE5I033vjwww/379/v6uoKk5NSqVxZWSktLT179iw0eAwKCoqJibGzs7unBUoikZqamiBZSqVSVVVVyWSyPXv2bIL0BpUwtbW1IeEGOkzq6ur6+/tTKBS4rPv7+z+oswMGBkB9PTwm8PHHgEIB3d1ALgcqFWhrA21twM8PNDcDsRioVACLBVwuePDDTyKRCgsLaTRaW1ubTCaLjo7u6urauB4m3H7l5+fb2dmNjo5uRJweEmP5fP5XX321uLjo4+MTGxsL7chXV1e7u7u/+eabnJwcKpXq4eERGhoKid5PsEEHASOwuVpZWQmFSyQSCTSGRqFQUM7mqWQ3Q7SngYFBaWmppaUlBoN5KGzXs9hodoCua5AH2tvb++WXX/7Xf/2Xo6PjxMQEh8P5lQBeTUxMrly5gkAgAgMDf3xIkBiUkJAQHBzc0NDwwCXsFwsCgaBQKBoaGoKDgyGX+caNG1gs1sPDY4PLBxaLbWpqYjKZAwMDaWlpFy9eTE5O1tLS0tPTg2MDkUiUkZEhkUhcXFwcHBywWOzhw4ePHTvm4uJCp9M33oA6c+bM9PT04uLihQsX/va3v8HBCRqN5nA4oaGhCAQiLS3t66+/horJXC73ww8//OyzzwIDAw0MDOAuZ3FxsampKTc3Nz09HYPBvPjii88995y1tTXEpD2oo3L69GkzM7OwsLAbN24sLi5aW1vfQ07fYD+ZSqXOz887OzunpKTg8XixWGxiYgLtPPT19VNTU318fB645aJSwY0bP8A02Gzw0UfAwgLcuQPm54FaDUQikJUFTEx+YDSPj4OYGPDgigrCiKampkZGRvB4vI2NTWdn53q31Z8NOp2enZ3t7++flZUVHh7+03XSwMBASUlJWlpaZWWlpaWli4uLv7+/WCxubGwsLi7OzMwcHBzcsWPHkSNH3N3djYyMtLW1fw1DFyqVmpmZyeFwkEhkRUUFVINUKBRwTOvo6HjlypWHumi/ldDS0oJ+GmVlZebm5lNTU8HBwU+8GHgKE5ihoeHExERkZCQOh4M5LDg4mEwml5aWenh4/Era00gkcm5uLj09/cCBA/d9CKAxo76+fnV1dWRk5Nb3TOAMxsPDg0KhQHZXSUlJVFTUBi/g6upqRkZGXl7e1NRUdnb2jh07XnzxRSsrq+npaaVSicPhGhsbcThcXFxcdHR0bGzsc889x2KxHnZ7sbi4WFRUdPXq1WvXrhUVFRkYGBw4cGDXrl1qtbqpqenq1atZWVnDw8N+fn6vvvrqH//4x8OHD9vY2NzNwQsLCykpKUlJSVKp1MXFZffu3YGBgfB8f7bLev369eXl5ejo6Pb29q6uLl1dXS6Xu4nbpKura2lpSSKR2tvbGxoaVCqVRqMxNTWFHlcKhaK9vf2BfHAMBjQ1gf5+AACYnwevvAIcHYGdHejq+gG7sboKRkZ+QNvL5YDBAD9plAqFVLS0tEZHR5VKJZVK1Wg0tra2Gz8dSNBGIpEEAuFBeLzJycmLFy+WlJT09fUNDg5u27aNyWSOj4/fvHmTx+OhUChbW9v4+PioqCg6nf5rA0Sg0WhIdPHx8bl27RqLxRKJRDKZzNzcvL+/38vLa3x8fGVlZSsltbasbwT94peWlsbGxnx8fDQaDZSBfhaP8zozGAwEAmFubm5mZoZCoXp6erS1tS0tLe/cuaOlpfUrAbkiEAgsFltcXEylUh+0POnp6eXm5trb298XB/FLB5FIhF4b8FWkUChJSUleXl4/wa5VKpUTExONjY03b968desWNMH75JNPlpaWDAwMurq6urq6bGxsUChUf3//9u3bP/vss+joaDs7OxqN9lDrlEQiEQgESUlJ//rXv+rq6sbGxmJiYj788MP4+Pj09PQvv/yyqKgIIgZdXFxOnz790UcfcTgcOp2ORqM1Go1YLG5tbU1KSsrIyHBwcDh27Ji/v7+5ufnGt5NIJHJ5efnSpUvQArisrGx1dTUkJGQTLmgwWUIGXkZGBh6Pl0qlJBLJ3d0d5rbz588HBATcvyQlEsHsLKioAEolEItBVBQwNgYWFmD7djA/D3p7gULxQ/aCMTEBjhwBD65uCQTC9PR0X1/f9PQ0HOcsLS2FhoZunMiPw+Fqamr8/PygGOY9t3Vtbe3s2bMffPCBQqGYm5vD4/F+fn4rKyt8Pl+lUrFYLHt7+/3795ubm/9K6q37hrGx8YULF3bs2NHb2zs+Pk4gENrb2/fs2VNZWRkZGUmlUgsLC+/awz5NQafT8/PzEQjEnTt3zM3NpVKpm5vbMyjHY05gPj4+hoaGdXV1O3bsQKPRY2Nj8/Pz9vb20GEyKCjoV3KgJBKJz+d3dHRs3779vs86Fovl8/kuLi75+fmhoaFb3PyEf66srCwkJAQAADX7u7q6/Pz8fvxh6CudmJjI4/GUSqW3t/eLL77o7e2dmpra2dmpVqszMzOZTKahoaGWlpaLiwv0AbhHlHKDodFo8vPzi4qKQkJC5ufnLS0tZ2Zm3NzcqqqqvvjiCz6fv7a2Zmxs/Pzzz7/++ut//vOfob0WpAeIRKLk5OTKysr5+Xl/f//Dhw87OTltDqOPQCAyMzNpNFpYWFhubu7Q0JCvr+/G1St+HIaGhrdv35bJZCsrK25ubtHR0RBMPzg4qNFo7k9yglj57GywuAg0GkChgPBwgEQCEgkEBwM0GrS3g9XV9fcJODuDn9sM5ebmQpvm/v5+GxsbY2PjjbPRoUmmkZERLK3WgxhFIlFKSkptba25ufnS0pK+vr6xsTGU4UehUCQSSU9Pz8fH59ev766lpVVTU2NmZkaj0erq6iCA09DQUFdXF7qpCQQCU1PTp0+oHolEMpnMS5cuzc7OQskVc3PzZ4Swx7zwfvDBB3K5fHR0lEgkQnHP0tLS4OBgPT29rKwsFxeXX4nJIQ6HW1tbKygocHBwuC/OEDLGFhcX19bWDAwMNghqeIyhr69/+fJlFxcXHR0dNBptZ2eXnJzs5+d3t4u4srIyPj5eUlLy3XffTU1NRUdHh4aGQmQzCoXCYDA2NjbW1tYxMTEsFsvf3z8qKsrf39/CwuJRpLkQCMTIyAhMkwKBoLa2tq+vr7Kysru7G4vF+vj4vPPOO5988snu3budnZ1JJJJarZ6amrpz587333/f0NAAkQIBAQEmJiaPchhEIlEgEDQ2Nr766qutra0TExNSqXT37t2brhuQSCSDwVheXh4YGGAymfHx8bDqUigUbW1tDxTJ1dMDdXWgs/OH/BQeDiAEDo8H3t7A3R3U1gKJ5Ic6TKkEZDKIiAAPLg5wOFx5eTmPxzM2NtbS0pJIJIaGhmw2e+MGJUqlsqWlhUajaTQaAwOD0dHR5ubmzz//PDMzc21tTSqVUqnUqKgoHx8fJBIpEAiIRGJcXFxkZKSnp+dvZdGXSCSQwpyTk2Nrawsp7bt27ZqcnITOxSqV6unrIsK2UF1dXXt7u0KhsLKygmO/Z1nncSawv/zlL0lJSfv27SssLAwODjYwMMjMzHRwcKDRaIuLi2NjY/b29tC094nX+MbGxpcuXSIQCD4+PveFclAolLS0NDc3t8nJyY07XDyuwGAwsN/NZrM7Oztzc3OXlpacnJyoVOrExERRUVFhYSGPx9PR0Tly5AiXy4XCSOurGT09PUNDQ8hvMzY2JhKJ9611VlZWZmZmNojiW1lZ4fF4169fn5ub02g0UDcEh8O99tprf/7zn9999124DmIwGJVK1dTUlJOTU11dPTc3Fx8ff+DAAQsLC1jZPOLFIRAIKysrubm57u7uDg4OBQUFPT09L7/88qNI2VpaWrq6uiYmJs7OzsbExOjp6cFMmZ+f7+bmdv8OJxIJsFiQmgq4MEplAAAgAElEQVQAAEtLwNUVODr+IE6PRoNt20BAAJiYAP39gEgEfn4gKgrY24MHt30IBMLc3FxpaSkKhSKTycvLywCA4ODgjXeKGAxGSkqKmZlZVlZWRUUFhOosLi5u27bNw8Pj4MGDhoaG/f39PT09RCLx7pMDJ9a/lVVGpVIJBAIvL6/29nYKhQJFp/z9/RcWFuCdKioq+vU0ex5jQBnP27dvQ43Q/v7+yMjIp1gK8gkksC+++KK8vDwgIKCurs7W1pbFYi0vL3/55ZcBAQFEIrGpqcnd3b2vry8vL++JmwLg8fiBgYHq6moul3tfIW3YZiSTyQMDA15eXluccdVqNZlMPnv2rEAgaGtrs7e3Dw8Pl8lkCQkJeXl5dDo9ICAgOjp6czaGKpVKKpUODw9fv349ISEhKytrx44dD2rlaTQahUIhFotv3Lhx5coVEok0MzMDVQ0BAC4uLlgs9vz585aWlvAXlpeXy8vLz5w5Mz8/z2azo6KigoODDQ0NH+8SyWQyL1++TCKR4uLiCgoKxGJxZGTkIwpXUiiU7u7uiooKyLuHGaW3t1epVD6QSE6hgFu3wNwckMsBmQy4XLC+sqTTQXAwMDMDJ0+CEydAYCD4SYAcAoGgUqm3bt0SiUQeHh6zs7PT09Ph4eEb6RRpNBqZTCYWi0tLS2/fvt3W1vbWW28dOnSIy+U6OztzOJzx8fHU1FQMBuPh4REdHc3hcB6X4c7Wt08qKirYbLZarc7Pzw8ICLhz5462traWlpajo6OxsXFmZuavgbHzSwSNRhMIBBgMRqlU0ul0CoXy9KlnPckE9umnn46OjkIIeHJy8o4dO0xNTf/6179CoHNjY6O5ubmxsfHly5c5HM4TByXq6emdO3fO2dn5vlgvKK2WlZW1trbm4OCwZT5yKpUKetEWFRUNDQ3Fx8d7e3uPjY1VVFR0d3dHREQcO3aMzWYbGBhsYoQLBXPLy8szMzP5fL6Xl9fx48cnJiZQKNSP3wSlUjk0NFRaWpqXl1dWVsZms7dv315TUwOHbWfPnvXz85uenp6ennZ1db3bZS0pKRkeHj5x4kRkZCREBPwSYDYikTgxMVFaWrp9+3alUikQCFgslq+v7yP+rImJSWJiokQiOXDgAPRSMDIygk6n9z8LHA5MToLaWgAAGB4GBw+C9Y04BAKQSMDTE1haAjIZbCCF6+jo9Pb2NjQ0wA0TnU5fXFyE+kk/8cB0dXVVVFRkZmbW1tZu3779o48+MjIykkqljo6Ozc3N9fX1hYWFDAbjxIkTfn5+LBbrNy1XgcfjhUKhUql0dXW9du2ap6fn5OTk5OSknp6eubk5g8FYWVlpbW19Kn2zCAQCxEhPT0/v3LmzpqYmICDgWRH22BLYRx99xGQyExMT33jjjeTkZDs7O1NT0/Ly8unp6djY2N7eXjQabWVlBW1+NsHdebyhpaXV3t7e3t6+e/fu+36ARCJBl0WoLroFh9TS0nLu3LnW1lYjIyNIzSktLQUAsFgsLpcbHx/PYrE2Ucqo1eqWlpYLFy4UFhaq1WoTE5OYmJjnnnsOkiIh8Xn96i+Xy5ubm7/55hsoBMXhcPbu3WtjYzM3N1dYWBgbG9va2nrw4EFtbW2BQECj0RYWFu4qB8Ju1RbY2xOJxPPnz0dEROjo6HR2di4vLz8IkrPxwGKxXV1djY2NBw4cgAUKiUSqra01NDS8/xwUhQIyGSgqAqurYG0NODgAd/dHPC9tbe3ExMSZmZl9+/ZNTU2trKyEhITcN+XI5fLy8vJvvvmmv79fV1c3LCxs9+7d1tbWaDSaTqe/9957QqEQiUSy2ey9e/e6ubn9cm5hW7+O5+XlxcfHNzQ0rK2tHTx4MD8/38bGRiaTbdu2LSsra3Jy0s/P76kE6RkZGeXk5KhUKgMDA+ga8fQhVp5kAiOTyVlZWRQK5eDBg3Cvp9FoLl68uGvXLmNj45ycnKCgICsrq4sXL3p6em7BMvfTvQgsFpuUlBQSEnJfnQsEArG4uIhEImtqakJCQn4hgiTUgy8vL//+++/7+vpCQkJMTU07Ojq+/fbbxcXFoKCg//f//p+9vT2VSn2o1KVSqcbGxjo7O7Ozsy9duiQWi+Pi4vbt2+ft7W1tbU2hUGBJIZVK5+bmsrOzg4ODpVJpV1dXfn7+xx9/PDIy8tprr8XGxjo5Od21CMDj8S0tLVwu98qVK46Ojk5OTl1dXQwGo6GhITQ0FK4XWzZNIRKJbW1tcrk8Pj6ez+e3t7e7ubk9YheRQCBIJBJYr3h4eMBzwWAwtbW1DySS6+oCgQCQyWDfPrBzJ9isGLxGo5mammppaamurhYKhUtLS87Ozg4ODmKxWFdX965grkajmZ+fb21tzcvLu3TpEgKBOHz4cExMjJOTk76+/t3NuJaWVkhICJfLhfr6vxVur0KhgIKlP9s7uXXrlrOzs56eXkpKyiuvvDI3N7e2tiYSiXbt2nXjxg1dXV0qlbpljupbGVgsdmhoqKCgYGZmJiQkZHZ21t7e/lnueWwJDD6FXV1du3btgm1oKACDwWAiIyOh2g2NRhsfH19eXn6MOtabCzqdnpubCwC4r/kybCLV19cbGBggkcjH5RmxvjASCARXr17l8/lYLNba2np1dbWlpSUjI2N0dNTf39/Pz4/L5erq6j5UVoAK7ikpKQKBYGZmxt7e/sCBA1wul8FgYDCYu6swzJrfffddT08PXDpv3rwpEons7OzYbLZGo4mJiUGhUOv/NBKJHBgYgHZNKpXKz89PpVLV1NTQaDQWi/WLYDU1GjAyAsrLgbn5Pfg9PB6/uLgolUq5XG53d3d3dzeJRPL29n7EjqW+vn52dvb09HRERATcYEFPJmi9eN9CHtjYgGPHwJ49YLNXYGhoKDU1tby8fGlpCeodCwQCPT29V155BXYFDQwMNBrNyMhIUlJSUVHRzMyMubn5kSNHgoODqVTqPbcJ/B8K6VGcBLY4lpeXi4uLr1+/TiQSfzbxIBAIiEUMCAiAUwAHB4eMjAwjIyNTU1MUCjUwMEAgEJycnJ5K1XaZTPbdd98tLCzs2bOHz+eHhIQ8E6d/LIGGwprOzs43b96cmJiAD6KFhYWzs3NpaenBgwejo6Nzc3NffvllDw8PSCd6su14Mpl88ODBtLS0gwcP3pdws23bNplMZmpq2tLS4ufn9yjg7/W10dzcHNxE43A4Dw+P5eXl/Px8qVSKwWBwONzx48c9PDxoNBo0iNrg1nV+fl4kEtXV1XV3d7u6um7fvt3IyIhMJq8/Zo1Gs7CwAJUXbt++vbCwgMfjqVSqUCjEYDAnT54kEomxsbFSqfTNN9+Ed/PfG2Yoa2vrjo6OuLi4hISEY8eOCQSChoaG6Ojozs5Oe3v7x/wi8fng889BbS0gk4G7O/j3KR0CgYiIiPjTn/4kkUief/751NTUioqKY8eOPSI5hsViBQUFQQsYLpcLADA0NCQSiSKR6IFc6U21l9VqNbxlZWVlYrE4ODjY2dlZJBLdvHkTbgigHoejo+Po6Oj09HRhYeHa2hrs/erp6T0dgknLy8sQ619TU+Pq6spms8+cOWNpaSmTyf7yl7/cF131f5fcNTk5OSoqisPh5OTkfPDBBzCR19XVhYaGVlVVdXR0yOXyp09WCgBgbm5uY2PT3d0NO+cjIyMmJibP0s9jqMC2bdvm6uqKw+Gqqqqsra1hAoN4v8nJSQKB4OXlVVhY6OzszGQyi4qKrKysnngDl06nJyQkODg43Jc7gkQiiURiSUkJtD9/dODW0NBQWlpaaWnp0NAQnU5XqVTXr1/n8/lOTk6urq7Hjh07duwYxIxsENy8srLS3NyclZVVV1c3MTHh7e197NgxyCiHjkp3s2ZPT09mZuYXX3xx6dKlrq4uqVS6urqqVqvHxsasra2Hhobeeeednp4eZ2dnMpk8OTk5Nzf34xJZW1s7IyMjPDz8xo0boaGhaDS6t7d3cXFxYWEhNDT0Me/3v/kGfP01mJ8HWCyIiwNM5j3/TqVSOzs7FxcX/fz8Ghsbu7u7PT09H8VAQC6XLy8vQ4qFTCbbtWsXfAZQKFRZWdnjEsbUaDQ9PT3Z2dnl5eWjo6McDmfbtm0dHR1QfPn48eNxcXF8Pr+yshKDwYyMjOTm5pJIpN27d+/fv9/KyopMJv9GlSbUavXIyIhAIDA2NhaLxZAU39bWZmRkFBwcPDMzIxKJIOgXtnN/AmKHQqH4fL6ZmRkej//uu+/+8Ic/SKXS4uJiKMfc0tKyurpqa2v7VFJ9oUaESCSanZ3dvXt3VVXV1ku2Pp0JDIvFPvfcc1paWkNDQ0NDQ3d92fX19dPS0ggEgre398DAABaLtbCwUCgUPB7viatH43C4kZGR9vb2qKgouLjckzagTINGo2EwGJsGrSoUitHR0W+++SYvL49CoYyNjfX29kKbx8OHDx85ciQuLs7Pz09PT28jSUuj0cjl8tnZ2czMzEuXLq2trfn4+AQHB0dERJiamq5f3VQq1dLSUl1d3Wefffbll1/euXNHqVQuLCygUCg6nT47OxsQEEAikeLj45ubm83NzW1tbU1NTQkEAo1GS0tL+3FOIhAIAoGAyWQODQ1JJJKdO3fm5ORA3UtHR0ckErmZHK/RAIUCrKwAJPLfPEeGhkBWFtBoAA4HuFxwP/cAHR2d9PT0sLAwpVLZ3t6+tLQUERGx6UJwfHw8LS3NxcWFx+NVVVW9+OKLsG2op6eXnp7u6en5KOBstVotlUpbW1vPnj3b2tpqbW3t7e2NxWIzMjLW1tY8PT25XK6Li8vw8PCVK1fy8vKmp6fFYvHIyMiJEydOnDhhaGj4G3VrhCfe399/5syZoqIiDAZTUVFx+/ZtJpPp7u7OZDJLSkqg8gibzZZIJHw+f3l5mUAg/ASJG8JtMBiMubl5bm6ukZFRQEDAlStXYEtjamqKyWR2dnZuXNH/NxRYLLa3t1etVldUVMTFxbW3t7u7u/9KNCJ+2wnMwsLC0NDQ0tLSwcFhvSIZlUoVCAQDAwOurq4Quubt7W1mZpaYmOjm5vZkLz0kjX733Xe7d+8mEAi1tbUkEml9YxOFQq2srExOTg4PD2+CICmRSCorKzMzMyEZeWZmprKykkwmBwYGvvXWW8ePH2ez2VADfiPLrlqtFgqFNTU12dnZJSUlVlZWL7/8cmBgIIvFuqffuLCwUFtbe+3atb/+9a/Xrl2bmpqiUqlqtXppacnCwsLFxcXV1ZXL5ZqZmUVGRg4PDysUio6OjnfeeQcSBvB4fENDA4vFumcPC/Xgs7Ky3NzcMjIyDh06pFKpKisrUShUbW0tBoN5OEdglQoMDoKCAvDVV+C99wCDAezs/n/z4pUVcPky0GgACgUCA4GLy49/QFtbu7m5mcFgQLBoc3NzSEjIpjkPeDwegmZtbGyKioqwWGxAQAACgYCCWI2NjZsDZysUit7e3sLCQij0vnPnTmtr6/7+/pKSktXV1aioKBqNBmE777333tmzZ2tra3E4XHBwcGxsLJ1Of+edd36jJZdCoejr6yspKUlNTc3KyqLRaGQyeWZmJiAgwMfHZ3h4ODc3t6qqys7Obvfu3UNDQ3l5eQKB4MSJE9nZ2QsLC9HR0Q86cTifrqys3L59e0tLS3FxMYFAkMvlVVVVgYGBOByOTCbz+fwnjhT7JQKBQCgUCpFI1NzcPD09zeVyZ2dnbWxsnk3CHjUXvP322729vb6+vng8/p4nT6PRFBcXM5lMf3//5ORkLpcLxSYGBwefuCCKrq5uXV2dRqNxcnIqLS2dn5+/p3WGQCD6+voGBgb8/f03vgdXKpVpaWkJCQnLy8tra2sLCwuzs7MhISEvvfTSoUOHAgICaDTaxp85KEBw7ty5zs5OEokUEBCwZ88eR0fHH2OFJyYmrly58s9//jMhIUEoFEqlUrlcbmVlBU2/4uPjIRwxMjJSV1c3Ozt7fn6+o6PDwcEBgulhPx2FQg0NDclksh9b59FotMzMTNhFdHBw8PLyunTpEp1O7+7uZjAYXl5eDzF4aGwEp06Bs2dBYyOYnwdDQyA+Htyt4VAo8OWXQK0GAAAOB9yP5oVGo8fHxxcXF728vOrq6lQqFRaLfaCE/AaaMwQC4cqVK9HR0d3d3b29vZGRkVBUUFtbu6CgwMPD46HA6BqNpq6u7vz58z09PaamplBwNi0trbe3d35+XqFQzM7OdnV1nT179vr169PT03g8nkKhHD169NVXXz158mRYWFhZWZmlpeVvzqdRqVTeuXPn9OnTHR0dk5OTQ0NDJiYmcMoFFeZGR0f19fUjIiKio6OFQuHNmzcXFhYcHR1bW1vb2tog3jUuLg6eeE9Pj0wmu2ckRqPRrl+/zuVypVJpRUXF2NhYQEBAbm4unU738PAQCoVMJnNlZeW+tn+/9SCTyampqZAeExcXNz4+7ubm9vRJGG91AoOeoZGRkT8uqmA3v6GhYffu3cvLy0NDQ7a2tkQisbKy0tHR8clCOdBoNIPBuHDhQlRUFJlMhvPk9dgHbW3t+vp6fX19sVj8s4sj3HXeuHHj3XffHRgYkMlkHR0d/v7+x44de+GFF7y8vFgs1sYXQYVC0d/fX1lZeenSpdHR0YMHD27fvt3Z2dnQ0HD98yqXy0dGRkpKSj799NMPPvgAOv7J5XKRSDQ9PS2RSNbW1pBI5Ouvv37ixAkrK6vZ2Vkej5ebm1taWurq6jo6OhoYGJiamkqn0319fSGqDcpB/RjXh0Qip6enAQBjY2Pj4+MBAQE5OTkTExNqtXp6ejo0NPQhBg89PeDbb8Hc3N3cCxYXQXj4D3oWJBL44gsglQKVCjg7g9BQ8KMeGgKBwOFwSUlJsbGxBAKBz+fPzc3BLdTmHgYGg9HR0YHBYJaXlxsaGszNzWFNicVie3p6MBjMRpD6SqVydHS0sLDw22+/lUgk+/bts7e37+np+Z//+Z+0tDQ8Hr+0tITD4ahUaltbW35+vkKh8PLysrCw+P3vf/+Pf/wjJibGysqKQCDAu9DW1ubi4vKb2F9LpVKhUFhRUXH69OmqqioTExOxWIxAIMLCwrS0tIqLiwsLC42NjY8ePQrHNjU1NZcvX9bV1SUQCJmZmYuLiwgEorm5+eTJkxUVFQgEIjg4GAAgFAoLCgru6QdiMJiZmRmxWBwREfHtt98aGBhgMBi5XM7n8994443bt28HBQW1tra6uro+fSs7Ho9vamrC4XBisVgikUxPT3M4nC0TW3haA93V1WViYlJTUwOn3+uDTqfr6elJJJLa2tqYmJiPPvooOjqayWRiMJihoaEnvsF0dXXF4/FtbW3Ozs4ymWxycnK9ehCBQHB0dLxz505fXx+0V3/Q7/D5/PT09Ly8vNXVVRsbm/7+fhaL9cYbb8TExDzsIUFT4MrKSgCAiYnJq6++el8c/9raWnNz861bt+rq6kZGRuAXFQpFT0+PSqUCAOBwOGdn55iYGA6H4+Li0tDQUFNTo1ar9fX1n3vuOTMzs+npaXd398XFRUdHx5KSkldeeQUqAdrY2Fy+fFkqlf74fG1sbJqbm6Oior766qvDhw/Pzs4uLCwgEAhtbW2I3/lxJQImJ0FlJWCz/02RnUr9N3UljQbcvAnCw8HevQCJBAgEMDMDLS0AADAzA9bWwP2uvIWFhVKpbGxs9Pb2/vbbb+fm5sbGxjb9MiMQiH379p0/f97T07O2tjYjI2Pv3r0kEgnyHNrb2392rCISibKyspaWlqysrP70pz9NTEykp6dDyZKIiAg2mw154nfu3FlYWIAu1bt27fLy8goKCrrnsOfn5wcGBkZHR2Uy2a9cPmN1dbWurq6mpkahUExOTiIQCCsrq5mZGTQaPTg4WFNTY29vv2PHDg6HQ6FQqqqqSktLh4eH5+fn8Xh8T0+Ph4dHbGysg4NDfX39/Px8dnY2jUYrKSl57bXXdHR02Gx2YmLi0tLSPRPW4ODg8+fPR0dH+/j4TE9PC4VCT0/P77//fnJyEoVCEYnEhYWFhYWFTVjt/PrD3d399u3bgYGB6enpAAAul3v06NFnSeiREtji4qKbm9v169e3b99+D+Ich8Ox2ezFxcWysjI/Pz8jIyM4e/Tz8ysvL39SG8zV1VWYq/4/9r47rsmrff+EhDCSEAJhEwhhE/beM2wFFEVQcduqba1tX99Wq7W7fa1WW23dVHGBKKCyN7I3YW8IM+yRQQgZvz+OL7WKo+rbb9tf7z/8+Ak8JHmec869rvu6JCUl/f39i4uLHRwcTExMKioqHqO/8/b2TkxMpFAovb29jyl3CIXCmZmZ5ubm2NjYtrY2AoHg4eEBGXL/9a9/QX3h3/WpmExmbW1tTk6OpqZmUFAQhUJ5Ek8/NzfHZDIzMjJu377d09MjEomkpaVnZmb4fD6fz4ca8xARHhUVpa6uzufzGxsbDx8+rKiouHLlSiMjIzk5OSQSSSAQYCsuMTFx9erVhw4d6urqgg4Mh8OZmZmVlpb6+fk99gnJZHJ2draNjQ2LxWpvb4+MjDx58iR0dRkZGRs3bvxNFbG3F3z/PcjIAGNjYOVK8OOPYOmGEAi/OjA0GvD5YGYGfPstoFIBLCzr6z/XgaHR6PDw8HPnztnY2ISGhl68eLGiogKKg7+c6erqqqioaGlpCYXC0tLSlpYWBwcHAICtre39+/f5fP6TZVuxWMzhcHp7e9PT04eGhuAQdG1tLaTTDAgIUFZWnpycHBgYiImJGR4eJpFIULLyu+++o9FoUNxkaTlBH5yZmTkwMODm5hYaGvqnhYPPz88PDw/X1tampKQQiURJScmGhgYtLS0kEpmZmcnhcDAYTGhoaEhIiJyc3OLiYnl5+c8//8xkMiUlJXE4nIeHR1BQkKys7MDAQEtLS2xs7P79+xsaGpqamnR1dRsbGysrKwMCAjAYjIeHR3p6ekRExGNhMRqN7u/vX7FixZEjR5ycnFAolIKCQk5OjrOzc0tLi4qKSltb29/VgQ0PD69YsQKDwczOzl6/fj0yMvIvTRL2f19C3L17t4yMTHt7O4lEejJdUFZWvn37try8vKqqKgaD6ezsNDc3V1dXv3PnDlTf+OM/8fj4+PHjx/39/SF8Ljk52cfHR1tb+9q1a56eno/6YCkpqenpaahVsXQ4zs/Pl5aW3rp16/z580VFRQAAS0tLLS0tZWXlLVu2REdHk8lkPp9Pp9Pl5ORevKh19+7d2dnZjRs3PkYWzmKxSktLp6en8/PzT5w48dVXX6Wnp09MTCAQCAkJCei9xGKxhYVFeHj4O++88/nnn7u7uzc3N5eWlhYUFNDpdBUVFSKRaG9vr6amBguDeDy+uroastba29vn5+dLSEjA+SdYT4uNjfX19X2sigj3jK6uLoPBqKqq2rJlS1pamkAgGBoa0tPT09LS+g2WfWICfPMNaG8HCwugrw9oaAAbm4fEgGIxuHHjoYRxQAAYHwc8HmAywewsWLECoFCgrg4UFz90datWgUc0rh41Eol04sQJY2NjExOT5ubmlpaW0NDQl+aIgxWn6upqPT09Op3O4XCCg4MhF3hfXx+Xy9XR0XksDMrIyEhPT3/w4AEUFbt48eKtW7dkZWUPHjwIua3v3Llz6tSpzs5OmJooKCgEBgb++9//dnV1VVRUhCsNJtOQwr+np8fHx2fTpk1wa/wJ64czMzPZ2dnwi9fW1uLxeDqdPjIyQiKRWlpaOByOpaXl1q1bDxw4oK2tXVJScunSpa+++iomJgaDwbi4uGzdunXXrl04HK6qqqqhoQGBQERHR09MTHh6eiKRyKSkJCcnp8bGRhUVFUj3p6qqGhcX9xhBFBKJ7O/v5/F4urq6bW1tU1NTysrKc3NzExMTmzZtSkhIWLduXWJiore3998P4CAhIVFbWysQCLS0tFpaWng8noODw2Mr8x/7fRvf0dHxhx9+oNFohYWFrq6uj50gcnJyVlZW7e3tTU1Nzs7ObW1tPB4Pg8H4+fmlpqZu3779j19kampqWCy2o6PDyMgIHrutra2QbAlSEj/6y25ubgUFBSUlJWvWrBEIBOPj44mJiYmJiRDR19TURKFQfHx89PX1VVVV4WkO0yM3NzfIbv6CFh4e/ugQmEgk4nA4mZmZMTExDQ0NMjIy09PTsDyIRCI1NDQWFhYmJiawWKyfn19ISIipqamysvLExMTZs2f7+/vJZDKDweByuR4eHubm5o9JHQIAVq5cefHiRRcXl6amJiqVmpOTMz09Defz1NXV0Wh0X1/fY0NyCAQCnukODg6nT5+GAxLJyckAgJGRkYqKCthIe/jbenpg/36waxdYWAAsFvj2WxAaClRV4ZoASzGjszPQ0AAxMUAgAPfugVu3wIYNYGlDTk6C+flntARsbGxSU1MPHTpEJpPr6+srKipeZTjG3Nw8JibGy8sLj8cXFxe3t7dDYe7w8PBvvvnGzc1NLBZLSEjMz8/n5+ffu3cPim91d3f39vZOT0+rqKhs2bIlMDAQ8klyOJzAwEASibSwsODn5+fq6qqvrw8Ls3AiYmpq6sGDB/n5+Xp6enZ2dnp6eo/1OP8kJhaL4cpPS0srLy9XU1Pr6+uDElySkpLOzs6Tk5PT09NbtmxxcHBQVVVtamo6cOBASUnJ4OCgUCik0WiHDx+Go6L5+fnfffedubm5t7e3lpaWgoICAoHw9/fPzs4OCwv75ptvJiYmKBRKc3MzvJ9ycnJqamrt7e02j7BNSkhIODo68ng8TU1NbW3turq6xcVFa2vrrKysubk5FAqFwWAEAsHfctRXSkrK2dk5Pj5+48aNaWlpExMTubm5rq6ur4Vs4f9TB2ZpaSklJaWmppadnf3kqQcACAoKqq+vf/DgQURExN69e+EZbW9vX1paOjo6qgoPtT/QEAhEQEBAZmamoaEhCoWKjo4+deqUlZVVQEBAbGyso6PjoxWwUP8AACAASURBVGmTuro6lUqFHHQTExP9/f1KSkqrV69mMBhoNPq7776DvqSrqwseefPz8yEhIW+99dbvrf8svSmfz+/s7ExNTb1+/XpzczM8NNFotIKCgpycHAaDQSAQAoHA1NQ0LCzMx8cHh8N1dnZWV1c3NjZ2dXXp6OioqqrOzMysXbvW1dX1adymVlZWEFtfUlJiaGjY2NiYk5Ozdu1aeH8cHBwqKyspFMpj4QX0T66urrdv305NTd22bdudO3cwGEx/f39XVxeTyfyVEAiBAOHhoKICXLwIBALQ1wcOHQInTwIsFqBQv9IvsVjgs88AnQ4qKgCbDb76CujrAzIZSEmBhQUwNvYbgeMnLDQ09J133nnjjTdcXV07OzuTk5N/L2LwURsaGhocHMzNzXV2dk5ISEhMTIRYdhUVFXl5+R9++KGnpwdi39lstqqq6q1btxYXF+F0hLq6uqqqanp6+s8//ywvL+/l5dXV1VVbW7ty5crVq1cvIVzYbHZHR0dra2tfX9/ExISjo+OxY8f+tNM8YrF4dHS0qqqqra2trKwMh8OxWKz8/HwNDQ1TU1MoRzczMxMZGWlpadnZ2Xn79u179+41NjYqKira2tpu27ZtxYoVQqGwpaUlOTmZxWL5+Phs3rz5sa1hbGxcWFiIQqGgJwsODu7u7oY1QDQabWZmBknAH60HLElJGBgYmJubLyws8Hi8uLi4xsZGU1PTlpYWHx+f7Ozsbdu2/c2SMGlpaUi109zcbG9vT6fTYRogJSUF5zj/cUi/u4T49ddf9/f30+l0JSUlWVnZJ2VKUChUe3v7+Pg4mUxeom6SlJTs6uqCnZX/k0CmoKDA2tpaRkZGXl6+vLxcQUGBRCLV1dWpqanBbhDsTNTU1Ny6dWt6enpwcFBbW3t6elpRURGOsNBoNDQaXVhYCJMeVVVVGo22evVqMpn80nF0c3Pz6dOn09PTz507Nzw8DF/U0NCg0WgYDIbFYuHx+DVr1uzdu3fbtm1GRkY1NTVnzpyBcoX9/f3GxsZ2dnaenp4RERG6urrPqKchkcju7u7JyUlFRcX5+fmWlhYikejk5AQdHiyBPgbLXDJ5efmcnBwWixUWFpaRkQEztrGxMVdX198MfUtJAW1tkJsLJiYAAGBwEJiYACMjgECA3FxQWwsAAIaGYP16oKoKMjIAjwemp8HkJPD0BPfvAzYb8PkgMhI8fYUgkcisrCwAQEhIyP379zkcjoGBwUuHRAQCobu7u6SkBI/HT01NjY+PBwYGwir33Nzc6dOn6+rq2tra1NXV2Wx2Q0ODkZFRVFSUgoLC5ORkXV2dvLy8vb09zMJ5PF5ISMju3bs9PT1lZWXFYvHg4OCNGzfi4+PHx8dVVVWdnJwiIyMtLCz+tOzpAwMDFy5cyMrKYjAY1dXVw8PDUH8gJCREUlJSVlbW0NDQw8PDycmpsrLy+PHjZ8+evX//PgKB2Llz5/79+3fu3InBYOLj49vb2/F4/KOs+U9uxubmZllZWXl5+YKCgpmZGSqVOjAw4Ofnh0AgZGRkUlJSPD09l91TcnJyaWlpK1asyMnJIRAIEJjHYDBsbW1LS0th2vd3Om0RCMTo6Gh3d3dXV5esrKyMjExTU5O7u/vIyEh/f7+hoeE/Dul3O7BPP/2USqVevHjR2dn5zp07a9eufSzqQaPRS9K3Xl5e8FSVkJCQlJTMycl5tu7R/8gkJSWbm5shhSjEZBcVFTk7O4+Pjw8PD2tqara3t6enp8fExLDZ7HXr1o2OjhIIBHV19bfeesvHx0dBQaGnpyc9PT02NlZSUnLHjh0+Pj5UKlVRUfElejAikWh0dLSsrCwmJgbSDBYWFvJ4PDU1NT09vaCgIFVV1Y6ODh0dncOHD+/fv9/Y2HhycjI7O/v7779vb2+HhSwLCwuIe6RSqUpKSs+lb5CQkJCRkbl+/XpQUFB/fz/UznZwcIARBgaDyc/PNzIywi/Xf0IikWKxOCMjw8jICOZwQqEQi8WKxeLHCrBAWRmoqYH794FAALhc0NYGAgOBvDyoqQGFhbCeC6KiAJkMJCRAWRng80FHB5CWBmNjYGwMAAC8vcHTZxjk5OT6+/vz8/P9/PyUlJTi4+Nv3Ljh5OSk/gQB1QstZSSSSqX+5z//IZFIi4uLtbW1xsbG09PTR48e/emnnyQlJU1NTQ0NDcfGxjQ1NcPCwhYXFzMzMwUCgYuLi6+vb1lZWVFRkY6Ozr///e8333zT1NRUIBC0tbUVFRXFxMSUl5c7OTlt3LjRw8PDxMRkiez/T2UCgWB4eBguxcuXL0PKsa6uLgsLi/Xr17u5uY2Ojg4PDwcFBTk7O8/Ozv7444+HDx9OS0vjcrlUKvXLL788fPgwhUKBPMUcDicqKio4ONjCwuJR1vwnlyIKhcrLy/P398/Ly+vt7SUQCDweb4kalE6nS0lJLUuIA2MpBwcHSDF179699evXQ3ax1tZWBQWFvx+UA4VCwVNCW1ubxWLB0yM6OjopKcnHx+efuebffT/Bf6FrHA4HgUDAKaLHogZNTU0NDQ00Gt3V1WX8X0S1sbHxlStXRkdH//hFJiUlRSaT29vbIQObvr5+VlbW6OgoiUQ6duwYnBo2Njb+5JNPlJSUEAhEfn5+QECAjY1NS0tLQkLC1NQUgUAwMjLasGHDK9Z/FhcXL1++zGQycTicoqJid3d3fX09hUIhEAgCgQBO2Hh5ef3rX/+iUqnDw8PXr18fGhqCiDVtbW1NTU0LCwsbG5uXqB5QqVQcDjc5OSkSid54442LFy/CoBU+UBKJ1Nra+rT5J2dn5++//76uri4oKOjMmTMyMjIGBgY1NTXz8/O/wUQhECAoCKxZA65fByIRoNPBmTPgm2/A0hNnswGbDeTkwLZtoLgYpKUBkQhcv/4rCf3AwLPdsLe3NxRvXLlypYKCwsTExK1bt6ytrV9uJ6uoqGzcuPHOnTsQc/T5558rKSkZGhpCbg6Y2wmFwsnJycTExDVr1lhbW4+MjECK5NDQ0A8//NDR0ZHD4RQXF9fU1PB4PDk5ORKJ9N5772loaPzJSaGEQuGNGzc6Ojq6u7tnZmYIBIKCggKNRsNisRAiqKqq6u/vPz4+DkcJ29raRCKRiYlJSEiIr6+vpqZmYWHh1atX5eTkdHV1Dx8+rPTCKjNUKvXKlStYLNba2rq1tbWkpGTv3r1LReywsLCYmBh7e/tltSNcXFxKSkpWrFgRFxcnKyvb3d3NZrMFAgGZTG5ra/tdfei/hKmpqS0uLioqKmKx2JmZGV1d3YqKisXFRVlZ2aWu7T/2+zIwGAolJibSaLScnBwfH58noy0EAsFmsyEeHS5EJBIpLS2dn59vZ2f3xwcOGAwmKSnJz89PKBRCJYubN2/29vbyeDwajbZ+/XoqlQobTrCId/ToUUj67ujo6O/v7+bmZmBg8Ir1Hxg9ffPNN1paWl1dXRMTE+Xl5WQymclkzs/Pk0ikt9566+2337a2th4dHY2JiUlMTBSLxcPDwzIyMlFRUeHh4R4eHgYGBi+Ho4Us+Onp6WQyWUNDA/bYV69eDb8UgUC4c+fO06BccJKvrKxs69atfX19FRUVPj4+FhYWs7Ozj3MBS0oCXV1QWQlGRgAAoKcHmJgAKSlw6xYAACgpgbAwgMcDLBaYmoL79wGLBXi8X1tfenpg5cpn7+ekpCSxWGxra7u4uPjgwYPZ2VkvL6+XnjJUVFTMyclhMBhisVhZWdnDw2N8fNzIyEhDQyM3N3dwcJBAILzxxhtmZmY5OTn37t0bGhoKDw/fu3evlZXVxMTElStX7t69Ky0t7ebm5unp6e7ubm5ujsfj/+Sh8fz8/ODg4KlTp3p6euzs7MhkMg6HO3ToUF1dXV1dnYWFBZlMbmpqOnnyZGxsbHl5OQKBcHNz+/LLL3fs2EEikSAaxcLCwt/f39PTE+6d35VVSEhIVFdXu7i4xMXFzc/P6+rqCgQCOzs72P3Ny8vT0tJadlheUlKyuLjY29u7urpaWlq6tbVVU1OTSCRSqdSEhAQajfYXJZN8Rp2gs7NzYmKCzWYjkUg4jkkkEteuXXvt2jUPD4+/2ff9gxyYrKxsbm6unZ1dYWGhkZHRsjUceETa2touFaY1NTVv3Ljxx4j5Pll9ysvLm5mZKSkpgTR0vb294eHhXC6XSCRa/paCT15eHofD+fn5rVq1ikwmY7HYV6z/CIXCzs7O+/fvV1RUjIyM8Pl8EolUW1vb2dlpY2Pj7e394Ycf7tixg8Vi5eXlZWdnJyUlAQCgenp0dPSGDRv09PSwWOwrgta0tbWvXr3q7u5eXl5OpVJHRkYkJCTgwACBQHiGdAASiRwfH0ej0e7u7vLy8nFxcRISElFRURkZGe7u7o/fHBUVoKAA7t4FQiFgswGTCWxsQEICvLNg5cqHmA4lJYDFguJisLDw67VEIti48dn7mc1ml5WVUSgUCoVSWVnZ1NRkbm7+DE7YZ5uSkpKpqWl6ejoSiZSUlEQikerq6jk5OUgkMjg4eMeOHQgEIisr6/Lly+rq6j4+Pr6+vnCEvLGxEYFAhISEbNiwwc7OTk1NDYfD/SX4ICACIisrC4vFBgUF6enpDQ4Ojo2NOTo6SklJQeTt0aNHc3Nz5+bmbGxsoqOjDx065OLi0tHRQafTx8bG/P39N2zYAGvOL/eVVVRUbt++HRYWBoXZ+Hy+sbExiUSCJRAOh9Pd3b3sM0Wj0ZBpmsPh4HC47OxsOzu70dFRb2/vqqoqRUXFv2UV8e7du7BV39raisViobpQZWWltrb235KM/39bQoRHvJOTU0ZGhoeHR15ens1yIuskEklCQoLBYCwRISKRSAsLi5qamsDAwD/m44rF4sXFxbm5uZycnLa2NgaDsXPnTjk5uerq6oWFhZGRkZCQkCfTcAkJCV9f39fSY1hYWKipqUlJSZGRkYHUiJmZmW1tbVJSUtu3b4eIfBqNlpGRce7cOTwePz4+PjMzA6mk9PX1f6/Q5bMNjUa7uroODg5KSEgoKCjIyMhUV1cvIRdcXV2Li4uXnTJBIBCGhoYMBkNWVtbJyYlKpVZUVPB4PFlZ2f7+/mWY6EJCwOrVID4eiMWguPhXoPz8PJibW/JFIDISlJWBq1eBWPzwxcHB534LOzu7pKSkhISE77//3sDAoLq6Oisra/Xq1S8XFaFQKAcHB39///T09KmpqeHh4YCAgJ07d+rr68NBRshejcfjmUzmxMQEiUSysbFRU1OD7Mx/0W08OTkZEhKCwWCys7OX0Kdr1qyZnp6GVC9QvmDt2rVkMrm7u/vy5ctaWlouLi4Q9frq/TxZWVk9Pb22trY1a9Z89tln09PTENwLN6ORkVFiYiKLxXpSLUxWVlZTU7O7uxtypqDRaBaL1draKhKJgoODU1NTTU1N/06dIbFYbGRkNDY25uDgkJGRISsrS6FQ6uvrW1pa7Ozsamtr9fX1/+mE/W4HBpd7cnIynOfYs2fPk8cHCoVatWrV7du3qVQqvMUIBMLa2jo3N9fLy+t/vfmFQuHIyEhdXV1HR8fQ0JC9vf3Bgwc//vjjsrIyDofj6+sL0aiv5b1gO/BRCuDJycmWlpbm5uaenh4dHZ19+/apqakhEIiGhgYLCwtFRUVlZeUVK1aUlpYePXr03r17IpGIRCKJRKKoqCh3d/dXUfR4tvn6+v7www/BwcFdXV3y8vJ8Pr++vt7NzQ0AYG5uHhsb+ySXDzRjY+NLly7Nzc0RCIQ333xz06ZN+fn5+vr6TU1NyzgwNBp8+ino7AQ1NYDPB1euLN0pMDPzaKoLvvsOVFaCtraHr3C5gM8HzyzVQoaLoaGhurq6TZs2Xbt27f79+4cPH16G3ep5Fd3e3t6ysrLCwsLOzk49PT0qlRoaGurt7c3n8wcHB9va2mpra5uamqSkpPz9/f38/JYAq39pk5aW1tfXh8C/pqam7u7uvLw8yLu9a9cuOMXh5uYGOYgfPHhgZmb2zTffPEN58uUqYxYWFlVVVYGBgRcuXOByudLS0kVFRStXrgQAkMlkSDVpYmLyZCzl5uZ28uTJAwcO3L9/PzQ0tKCgwMTEpKury8DAAKrsvhyo589mQqGwr6+voaGhtbVVRUUlNTWVz+eTyeTGxkYtLa3c3Nxdu3Zdu3ZtWTf/jz2nhAgAgMwOExMTsrKy4+Pjy4pQEInEtLQ0Y2PjJXibnJxceno6lFz5H31EkUjU0tLy888/l5eXy8nJWVpaqqmpFRYWNjY2BgQE0Gi0tWvX6unpvZZqD5fLvXXr1tWrV9vb252dnWHLKi4uLjk5WSgUUqnUVatWubm5ycnJQReuqKiYnp6ur68POXi4XK6ampqVldXIyMiuXbsiIiKMjIz+p1OKWCw2Pz9fR0dnYGDAwcEhNzcXj8fb2NhAPZH6+np1dfVlj2lJScnh4eG5uTk4n5uZmdnX17dp06bq6monJ6dlCvEEApCWBrm5gM9/SDYPAJCQAH5+4FFpAgwGKCqC/HyAx4PoaLB3L9DXB88s60tJSfX3909MTEDB9Tt37gwNDenr6z8GJnq2lZWVffvtt1evXkUgEH5+ftHR0Vwu183N7e7du5OTkydOnLhw4UJRUZGamlpYWNjmzZsdHBz+TpodEK1uZmZ26dIlbW1tIyMjV1fXrq6uw4cPm5qaNjY21tbWotFoa2vriIiI3yc+8MKGx+OhbmpTU1Nra6uOjs7c3Jy9vT3kP+NyuZCI7skLcTjcgwcPDA0Nx8fHUShUQUGBjo6OjIyMmZlZX1+fSCT6q3NVCASCwsLC8+fPp6SkZGdnl5eXz83NzczM6OvrI5FIRUVFR0dHOp2+Z8+e0tJSDQ2NF4fP/GO/OfR37tz5zjvvHD58+NChQyEhIfA+JiUljY2NvfnmmzDOgjOGW7duhWccBoNxc3NLT09/7ayUbDa7r6+vubm5rKyMQCBAcr+SkpKUlBRtbe0tW7YYGhq+oCLXc5P6qampzs7OysrKhoYGNze3995779tvvz179uzY2Njc3FxQUFB0dDQajX6y0oJCoZycnDgcDhSNhLxcLS0tcCzmD5hiwWAwK1asyMrK0tHRkZSUJJPJDx48iIyMJBAIWCxWU1Ozra3tafMlYWFhn3/+OY1G09DQCA8P/+mnn7hc7sDAwOzs7DIYCiQSREeDkhIQE/OrA+Nyf5OBQVu1ChgZAW1tICcHXiCqkJCQoNFod+/eNTEx6ejogJCW69evb9my5dmh6OzsbFdXV0lJSUZGBhaLjYiI+Prrr3E4HHxMfX19d+7cgevHycnpyy+/dHR0lJGR+RPC31/dtLS0oOKUhYXF6Ojo1q1by8rKkEhkRUWFu7s7nBKRkpL6nwIE5OTknJycKioqgoKCHjx4UFdXt2fPniWAkpeX13vvvTczM/MkZTMCgQgPD09MTIyOjj5w4ACVSs3Ly1NSUgoLCzMxMampqVmmL/tXKBWOjY319fUlJyenpKRMTEwAAKampqSlpVVVVW1sbPz8/JhMJiSZ43K5H3zwQWpq6sjIyMDAwJN56j/2/AwMHsdlZWXq6urDw8MoFAreRz6fHxsbS6PR4FqUlJQsLS01MzNbWprq6urXrl1zc3N7Xef12NhYWlra3bt3GQwGgUBwdHTkcrlJSUnNzc36+vpbtmxZu3YtJMV/Re8FE6z4+Pjs7OzJyUkLCwtHR8e8vLwHDx7U1NRMT0+/8cYbGzZsgMTBT9v8QqGwtbVVUVERjnOGhITcvXvXwsJiZGTkjynfq6mpxcXFmZmZ9fT0wGFtkUgEoRwyMjJpaWne3t5Pc35VVVWqqqqqqqooFAoKT1taWjIYjOV5dSUkgL4+KCh4OOMFABCLgYsLcHb+TY6FQgE1NSAjA174uIRANUlJyYWFBTQaXVVVhcFgqFTq45DI/xqTybxx48bFixdzc3NJJNKGDRvefvttMzMzaWnppceko6Pj7e0dFBQUHh4eHR1NoVDQaPRfCOIlFAqnp6chDuW5vwy1Y8rLy11cXOLj48PDw/Py8igUSllZ2e7du1/LZnkR09TUvHz58po1a1JSUmxtbXV0dJZ0AFAo1OTk5Ojo6LLhFA6Hy8rKcnZ2Li8v5/F4tbW1GAzG29tbXV09KSnpMY7TP3++1dDQcO3atRMnThw/fjwrK2tsbIzD4cjLywcFBe3evTsiIgKPxz948ACKo6qoqMjKyrLZbCkpqbCwMHt7+3+AiC+ZgcnIyHh5ecXFxa1fv/7GjRsBAQFYLFZbW1soFDY0NEBpY3V1dQj5WwrSsVishYVFcXHxq0A54HZlMBhFRUVdXV2Ojo4wQsnNze3q6rK2tn7vvfe0tbXl5eVf/emKRKKpqSkGg5GamjozM+Pr6+vu7r64uFhSUnLz5s3q6mqRSKSvrw95hp79dpALlcvlenl55efn5+XlHTx4kEqlzs3NQdUf/FOobF9vFdHHx2d8fLy3tzc4OHhqaqqgoADKpOno6PB4vJGRkSUKlcfM3t6+urrayMjIwcHBysqquLh43bp1P/74Y0hIyPLhiIEB2L8fvP8+mJyEUTdYXARCIXiFAFkgEMzNzZmbm3d2dtLpdB8fn7i4OCKRWFtb6+3tvfQxRCLR2NhYd3d3XFxcd3c3hUL54IMPlJWViUTiss8IhULh8fg/4P6/XuPxeNPT011dXRcuXGAwGKdOnXrBWSgot7127VpYA4A52f379xkMxm9omv+XJi8vr6enNzY25unpqa6uHhoa+uhPnZyc4uLiaDTaky1hGRkZXV3d5uZmDw+P69evYzCY2tpaJpNpaWlpZGRUXl7u5eX1J3dabDZ7fHy8rKzsxo0bDQ0NMzMzAoFAUlJSR0fH3Nw8IiLC0dERiUQmJCScO3eOz+dTqVQajTYyMmJnZ+fn56eurv67xHL/sWUcGBSju3DhgqamJp/Pb2trs7W1xePxkOoXOjA0Gu3k5FRYWPhoOdvBwSEtLc3T0/MlRpoWFxfhtMrExAQajTY3NzcwMCgvL79x4wZ860OHDqmqqr6WRwu5FcrKyqD40IoVK3A4XEVFRWVlZXZ29tjYmFgsVlBQmJqa6u7ubmlpcXV1/eCDD56d/Vy6dIlCoczMzGhqavb19VVVVYWFhX388cfKysp9fX0vLTT8u8zb2/vUqVPW1tZ9fX3Dw8MGBgbFxcVBQUFIJNLX1zczM3PLli3LXmhoaEin0yHH1datW3fu3Dk8PLykm7Ncxo4Ea9eC8nKQng4cHMCKFcDbG7xsdDwxMdHY2Njc3Dw1NZWUlOTs7AzxkHp6eq2trStWrFhcXJSSkhKLxbm5uXV1dWVlZUQi0cHB4YsvvvjrKgFyudzx8fHHnAqHw5GQkJiYmIiNjU1OTp6enqZSqbW1tQkJCS/owKSlpSkUSnd3d0hISFFRUVhYWFVVlZqaWmJi4nvvvfeHfTsYEq1cufLUqVPbtm179DGpqamh0WgGg/EkThiJRBoaGjY1NcHJRVNT0/r6+tbWVktLy5CQkGPHjv05q4jz8/OQB47BYHR2dubm5jIYDBQKZWFhYW9vr6CgoKys7O/vr62t3d3dXVpaOjAw0NnZqaOjQ6FQUCiUtbW1u7v7X065+8/rwAAASkpKXl5et2/f9vPzu3TpEoQD2NjYfPjhh4cOHYKhrq2tbXx8/NTU1NKt19LSEggEIyMjjylyPdtvzc/P5+Tk5OfnQ0IKCwuL8vLy06dPT09Pe3h4fPrpp/r6+vLy8q/uukQiEewhJyQkoNFoU1NToVDIYDDi4uIg8qK8vByHw2lqanK5XKFQqKSkxGazOzs7ExIStm7disPhnlbBUFZWNjIyEovFpaWlampqNTU1+fn5rq6u8D7k5eX9vnkmsRgsLIChIZCbC3p6wNwcUFYG1tbA0xNgsc+oyKmpqSkrKyspKcGPAQCAwSwGg7G2tj569CiPx1sWJqqpqbmwsDA2NobH452dnZWUlIqLi21sbJ4kYH00WgZHjoDdu4GWFvid+Q1kRl9YWGhqaoJjxebm5paWlpqamjDzaGpqSkxMlJSUxGAwMAmOiYnJyMjg8XgrV648cuSInp7eXxR8IRAIOBxOQUFBVlaWvb395s2bRSLRwsLCwMBAampqWloaCoViMpmdnZ3z8/NycnJycnIGBga//PLLvn37XmQ2CIlEQgfm6OgYFxe3efNmAICenl5paenmzZtf/pQUCsHiIlhcBGIxkJAAaDSQlARPX9K6urrZ2dmqqqpQ1vxRACEGg4HaEcvyTZiamiYlJUVFRZFIJCaTicfjS0tLo6Ki1NTUZGVle3p6nlZPfo0Gn0hdXd3IyEhgYOCTmaJQKOTz+Vwut6qqqry8vLu7G4vFjoyMQAJ+RUXF7du3h4WFGRgYwC8uEAjq6urOnj3L5/MVFRXb29tlZGRCQkKsra1JJNLfCUb0p3BgAoGgrKxs1apVb7/99vnz55OSkmpqamxtbe3s7LS0tDIzM2GRUFpaOiAgIDk5edu2bfBCPB6vr69fVVX1XAcG2SsaGhqam5sZDIaNjc2GDRu6urouX77c1NRkZmYWGRm5evXq1yXyBv1Wc3Nzc3MzCoUyNjYeHh4+efKkgoKCpKQkGo1uaGiAbFgKCgpmZmZhYWG6urpffPFFVlaWiopKXV2dt7f3Bx98EB0d/bS3oNFoN2/ehNlMcnJyVVXV5OSkh4dHSUkJRPwvywK3jE1Ogvx8cPr0Q1LBR/JiQKGAPXvA1q3gKYxT0tLSHh4ed+/ejYyMlJWVPXnypKqqak9Pj5mZmZycnIqKSkdHx7KBPBqN9vT0hCPP8vLy0dHR165dW7duXW1t7dzc3FOzHBUV8PvHS6empoqKinp6egYGBjQ1NYODgy0tLUUiEZPJ7OjomJqaun37NhqNtrOzg/y5Z86c+eWXX0xMTD766KNlMbF/FYOOua6urq+vj0qlcgyuLgAAIABJREFUbt68GYvF5uTkdHV1JScn19fXs1is+fl5sVisqanp5OSExWLv3r0bGBjo7e29d+/en3/++eDBgy+Sf5iYmMTGxlpaWkpKSnZ2dnI4nKamJjhZ8bQ+6LNiqakp0NwMHjwABQWgpgawWEBREdBoICIC+PuDp4zNKCsrq6qqjoyMeHl5QV26Rws87u7u33333bLCbwQCwdDQsK6ubuXKlQcOHLC2tq6pqZmdncXj8Y6OjjAv/99V2Hg8XkdHR1VVVXt7u4qKSnh4+NIRJBKJFhcX0Wi0SCS6fft2YWFha2srBoNBo9EjIyMNDQ0UCsXX19fPzy8gIACGibOzs9XV1U1NTS0tLVBiBkJs9u3b99I0af/YC2VgJSUlZDLZwMCgqqpqxYoVmZmZVlZWSCRy3bp1t27dWupyWVtbnz59+lFMkaen5xdffLFmzZqn7TSRSNTd3X379u2pqSkjIyM7OzsTE5PU1NSff/55cnIyNDR0165dNjY2r0skk8Ph5OTkFBYWamhoEIlENBo9Pz8vFAoVFBSIROLo6Oj4+HhOTo6KikpAQIC/v7+1tTVsG5SVlTU1NQkEAgwGMz09DSWLnuHAyGSytLS0urr6/Py8paVla2trV1fX8PAw3MkZGRk7dux4/scdHASHD4Pk5GVAfWIx6O4Ghw6B/n5w5MjTfJilpeX58+fxeDyFQoH/pqenm5mZodFoTU3N3t7ep1Wi7OzsIHMrBoNxd3e/ePFiS0tLTU0Nk8l8vWU6LpcrFovd3NwgC0lPT8/58+dramr6+vo0NTXt7OwEAgHUES0qKqJQKJs3b/by8vo/kTt4XTY1NZWenl5ZWQmH0shkck5OzqVLl4yNjQcGBtra2mZnZ9lsNpynXLFihY+Pj6Gh4dDQUE1NTVJS0sGDB9XV1a9evaqkpLR9+/bnAhk0NDTgAJaDg0NOTo6Li8vMzAwkWvPw8PgdJbihIZCYCNLTQWPjb0bRx8bAjRsgOxu8/TbYtw88BSPq5+f3008/BQYGJiYmDg0N/arRA4CamhqBQGhpaXlMIR1acHDwDz/88Mknn2Cx2OnpaS0trby8vFWrVlEolNTUVA6H87+Y1eHz+cXFxSkpKYqKitbW1pA2c2nVDQ0NXb9+XUlJKSAgoKamBjKpTk5OVlZWzs/PW1hYfPjhh1DPD47xjI+P3717t6WlRU1Nrb+/f3x8HLbxLC0tSSTS3xIB+39rv0EhSkhIsNnsK1eubNmyJS4uLiIi4tq1a3Z2doqKihQK5fTp01QqFabGUlJSHR0dSCRySXQOSt9yOJzHhjbGxsbq6+vPnj370UcfTU5Oenp6mpqaDg4O/vzzz6mpqQwGg0QiWVtbOzk5BQUFvfo09MzMTH19fWpq6uXLl4VCoZmZ2eDgYHV1NYVCkZWVjY+Pv379emdnJ5/P19HRef/99//zn/9ERERoamqOjIxkZmZevHhxdnZ2zZo1BQUF5ubmo6OjCwsLIpHIxcXlaac5EolUUVG5c+cOhMBcu3YNUpoGBAQYGxvn5eWZmJg8Z+P19IB160B6+kP5RwIBmJoCS0tAJgMUCrDZQCgEAgGorQVTU8DDAywHr5CUlBSJRPfu3fPw8ODxeDweb3BwEJYWYVyy/HQXAJKSkhMTE2NjYwYGBsrKyk1NTRUVFbApDQeiX5fhcDhIBn/27Nn9+/dD4j49Pb29e/fa2tpOTEzEx8ePjY1JSUl99tlnQqEwOjr6aWTEf3IbGxuj0+m3b9++c+eOgoKCvb390NBQfHx8ZmYmAoGAMg4dHR2wJLB+/foTJ0589NFH0FtjMBgMBjM8PNzR0SEWi9va2trb2wsLC6Ojo58bT0CdgYaGBisrq5s3b7q4uDQ3N8MBu/Dw8OdsLrEYjIyA3Fxw4AD46CNw7x7o6HhIs4JAADweIJFAIICRCCgtBbOzwNt72TEJPB5fWVlpZGTU1NQ0PDzs5ua2tPAQCISKikpCQsKjLz66QsrKykgkEgKBgJE07IopKysXFBRQKJTX2C5isVidnZ1paWkxMTECgSAgIEBZWbm2tjY1NRWLxcIC5uHDh3/66ScJCYmmpqbz588XFxczGIz+/n4cDrd27dpjx44dPHjQ29ubSCT29/fX19dfuXIlLi4OjUZjsdjOzk4nJ6c9e/bQaDQTExMCgfAPtvCPyMAcHBxOnjypra3N5/ORSKS5uXlBQYGBgQESifT09Kyrq4NdMTQabWxsTKfTXVxclpamt7d3fHz8kgxjZ2fnrVu3qqqqJiYm/Pz8vvvuOxcXl4yMjJ9++ml4eBiLxaLRaBcXFwMDA2dnZ2Nj41d8wEwmMz09HS4vNBpNIpG4XG5xcTGsz5w4cWJ0dFQsFsvIyGzatCkkJMTZ2ZlIJA4NDcXGxjIYDBwOZ2BgcOjQIdhDMjAwmJ2dNTMzKywstLW1TU9P37Vr19PeWl9fH3Ig+fr6mpmZPXjwIDQ0tLq6et26dYqKip2dnc/ic2OxwLFjoKYGiERAQgI4OoJdu4C/P1BUBAIBaG8Ht26B774DfD5YXATXrwMaDaxZs+xfcnV1jYmJ6e7u1tfXT0lJ8fDwyMrKMjAw0NXVhVDJp41V2dra3r9/n0ajSUlJRUVFffTRRxD69TQWj5czBAIxPT2dnp5eUlJibW1tb2/v5OTU0NBw4cKF7OxsqJQGOTkbGhpIJNJfgofwMWMwGFlZWcPDw/Ly8ng8Hh7BbW1tCwsLSCRSSkoqKyuLx+MZGxsHBwc7ODg4OTkpL6mDAiAUCru7uzMzMwcHB8ViMZPJ3LNnz549e1gsVnZ29ouk8s7OzhUVFdbW1tLS0nAvLC4uMpnMxsbG56hdi8Xg/n2wbx/g8X59UUYGODsDJydApQIeD2RkgKQkwOcDPh9cuABoNPBbnOGjpcKqqqo1a9acOnVq48aNj8rkamtrQ9G1JwWXYSZaV1fn4+Nz48YNmMfQ6XQPDw9TU9Pq6uon5XZfwmZnZ4uKiiorK2VlZeGsRUdHR2ZmJoFAcHNzg7KcMTExsPqira3d2dnJ5XKZTCYajfb29vb397ezs4O9EhaLlZWVVVNTg0QiWSzW9PS0pqYmFPd46623/nII2L+DAyMQCDY2NvD4u3LlSmRk5KeffhodHQ2p/3766ad169bBc9DOzu7OnTuPCnBoamqi0eiSkhIul3vu3DkWi6Wurv7RRx+RyWQCgTA1NZWdnX3mzJnx8XEINIqKitLX18fj8S+dWQuFwrm5uZ6entzc3P7+fmtra0NDw7y8PHjyNjU19fX1zczM8Hg8SUlJRUVFc3PzqKiooKAgkUjU3t5+4sQJDofj5+fn7+9PJBIfbbytXLny008/jYyMLCsr6+zsxGKxzz7NIyIiUlNTy8vLd+zY8e233+7bty8rK2t+ft7e3r6goMDFxeWphW86HSQkPIxtjYzAjRtAU/MhKh2JBObmQFcXiMXg+HGwsADYbHD8OKDRwHLBuLy8vI6OTlZW1rZt2zgcjpKSUnV1NYPB0NXVtbGxKSoqCg4OflrpCYFADA0NUSgUd3d3AoHA5/PFYnFJSUlAQMBraTD09vZmZ2fDYOijjz5Co9FpaWk//vgjm80mEAgRERFIJLKhoYHL5QYGBkZGRioqKv5VmAmFQuHMzEx3d3d+fn5XV5etrS2RSGxtbUUikfr6+rq6uteuXRsaGuJyufCbrl+/3sjICJa1l+7P+Ph4a2trZmYmpLkKCAjYv3+/nJxcUFAQgUCYnp5OTk7etGnTc/UTMBiMl5cXAoGg0WjV1dX6+vpDQ0NoNPr27dtOTk7P2mgSEsDYGBCJD2uGOBx45x0QHv4QqgOrlytWAAoF/PAD4HLBwgL4z3+ApSVYDqOvp6dXWFjo5+fHZrPhRNrS+peSkjIwMID8SU9eaGBgcO/ePVdXV0hJPDc3l5SU5Orq6u3tffjw4dWrV7/0QBibzR4ZGSkuLq6oqDAwMHBwcOjr68vNzdXU1LSyshKLxV1dXTExMUKhkEQiubm51dfXl5eX8/l8GKzv27fP3d2dSCRKS0vPzs7W1taWlpZC7SQikdjQ0CAtLR0REWFoaPjok/3H/mgHBgDYvn37e++9d+bMmW3btikpKamrqyckJHh4eJSWlg4NDfH/iy+Qk5NzdXVNTU1ds2YNXB8wGPnhhx8CAgI8PT23bNmioKAgFAqbm5vj4uJu377d0dGhr69vbm7u4eEREhLygiJYIpGITqebmJg8OpkEY9XCwsKxsTGRSEQkEnV1dfPy8lpbW6WkpIaGhgYGBsRiMaxLuLm5+fr6enl5GRkZ0en0GzduTE9Py8vLb9y4cVmRWQCAjY0NiURqaGjw9/dPSUmhUqlQZ+9pH1JLS8vf3//mzZuxsbEqKirj4+MAgIGBAWtr65s3bzKZzKdNYoHMzIeSxxgM+OSTZY4DDAbs2gXKykB+PgAAtLSA1FSwYcOTfwmNRtNotGPHjm3fvp1KpXZ1denp6cG4NSAg4Ouvvw4ICFj2CMPj8RDoAUe2IR8dbER7eXm9ynz6wsJCcXFxSUnJyMiIkZHR22+/PTQ09PPPP+fm5kpJSamoqOjo6ODx+ObmZiMjo927dzs6Ov6F8PFisbi5ubmiomJwcJDBYGAwGAKB0NbWpqKioq2tPTY2duzYsYGBAQKB4ODgEBQUFBQUpK2t/WilYWxsrKKioqOjY25uTl1d/d1334UFNFgLKS0tZTKZkZGRZ86caW1tbWxsXH624Yk8BgCwatWq2NhYV1fXxsbGvr6+iYmJ3t7eZVguHzUzM2Bt/dCByciAoCDwGHaGSATvvQfodJCWBgAADQ0gPR3s3PnkFKCioiIOh5ueng4PD4+JidmwYcMSog8KJuTn5/v7+z+59bS1tXk8Hp/Ph5MhAoEgKysLqmBTKJSamhpHR8eXqM2UlpZ2dnayWCwZGRljY2MOh5OYmCgjI6Otrd3T05OcnCwrK6uurk4ikdhsdmJiYltbm7y8vLOzs5OTU0hIiJGREQqFYrPZdDq9rq5udnZ2YWEBemIul8vn89999109Pb1/Wlx/Cgemo6MzPz/f29tLpVLv3r0bFha2d+9eHR0dZ2fnEydOPHq+BAcHf/jhhy4uLmfOnCkrK5uZmQkICJCQkDh16hQOhxMKhXQ6/dKlS3l5eWNjYx4eHjt37rS1tdXS0sJisS8OxZmdnb1w4cLx48fBf3GuDQ0NiYmJMAuUkJDIy8vr6+sbGRlhsVgwHIanOZFIXLlyZXh4OIVCkZaWLigouHr1qomJiYODg56e3tMGYJeySX19fTqd7u/vn5+fD0mEbW1tn/axITLz1q1b3d3dkErH29u7uLjYzMwsODg4KSlp9+7dy19bUfHwP7q64GlYO01NsHYtKCoCAgFgsUBREVi9GiwH1LSwsIBTUxBTc/Dgwa+//nrVqlUqKioyMjIMBmNZmCgCgXBwcIiPj/f394fkqvfv38fj8b29vUwm8yXGYEUi0fz8fFVVVUJCApFItLW1tbS0zMvLu3z5ck9PD4vFQqFQKBQKh8PZ2NgEBQVB2PGfOW4VCoVLx5NIJILQvoSEBB6PB9FJOBxOT0/P2Ni4qKjo/v37HR0dLBZLWVl5165dUD0HCossXQ7n6GHG5unpSaFQHpsY8ff3v379enNzs7+/f2xs7NjYWFVV1Ytj2MhkMoVC6e/vJxKJPB6PzWZXVFTo6uo+63J5eeDrC9LTweIimJ4G2dnA0fFx56SkBN58E6SnA7EYcDjg3j0QEQGeaE1JSUnp6+u3tbXRaLRr166VlZX5+Pgs/dTY2Dg2NpbD4TxZZJOWljY1Na2pqXFxcTl9+jQCgWCxWHfu3Hnrrbeg9OWLE1UsLi4ODw+npKTQ6XQzMzOBQMBkMkkkkrGxcUNDA5wvvHPnDo/HIxKJs7Oz7e3t9fX1UJ3rwIED/v7+hoaGMAQfHR1NSUmpq6vT0dGB0x29vb0mJiaOjo7PPUlecHVJSEj8g058PQ4MgUCsWLEiJSVFVVX1s88+c3Z2JpPJ77///qNEGyKRqLW1tbm5OTc3F3LNHTlyxNnZWUJC4osvvmhvb1dWVs7Pzz937pyqquq7774bEBDw0g15eXl5JBI5PDzMYrHq6uoghtXS0nJgYODIkSNtbW1KSkpCoRCFQgmFQg6HY2RkZGFhER4eTqPRuFwunU5PTk4eGhpycXH54YcfXjCfwOFwnp6eZWVlAoHA3Ny8tbU1Ly/v2Z1wBweHwMDAmzdvfvnll++///67776bnJw8NTXl5uaWmZn5VFJtBmOpegueNjyAQICoKHD4MJicBGIxqK0FTCZYjuGUTCZ7e3ufPXvW3d2dRCINDQ25uromJiZGRkba2dlVVFQoKysviygxNjbmcrkMBoNMJhsaGhoYGDCZzObm5ra2tt/lwMRicXt7e21tbUNDg4yMDI1GYzAYx48fLy4uxuFwHA5HWlraxsYGMq34+fn9AXSRr27T09OZmZmhoaESEhLt7e1QQrqzsxPKNOvo6ISGhkpLS9+7d+/zzz9fXFzU1NR0dXUNDQ0NCwt7NODj8/kdHR21tbUdHR1CoTAoKOjdd999Wtiuo6NjZWUVFxd36dIle3v7wsLCwsLCdevWvWDdgkAgBAcH//jjj1u3bpWVlW1sbOzq6noONQwCAdauBV98AcbGwOIiyM4GW7aAJ1Ggvr7A3BzQ6QAAUFQEhobActgKJyenTz75JCwszMnJ6fTp046OjktjT7Kysh4eHunp6ZGRkU9eSKPRDhw4EBIS4uDgkJqaisfjr127tmrVKh0dndzcXCaT+Vxy+snJyerq6rq6uqqqKi0tLV1d3Z6eHhsbm127duHx+NbW1v7+fjqdDvXGsFjs6OiogoKCoqKirq5ucHCwp6cnGo3m8Xitra35+fkPHjyoqKggEonR0dFMJrO4uNjOzm7Xrl2vPuojFAoHBgbodDqDwQgNDf3DCFP+5g6st7e3tLS0oKBg/fr1bm5uhw4dam1tvXfvHnRgQqGwsLDw5s2bdDpdTU1t8+bNKBTq/fffh+HzwsICiUR699134YDq999/b2Ji8orqADweT0FBYf/+/fb29np6emQyuaSkJDY2dmBgwMDAwNHRcXh4mM1mz8zMWFlZrV271svLS19ff2xs7NKlS1CN19XV1dzc/Pf2VNzd3b/66quBgQEXF5eqqqqioqKZmRkoS/+00s2OHTsiIyNnZmZ0dHSam5udnZ0LCgrCwsIg4GX5jbfUV+NwfjP+9WR0bGUFcnIAAGBoCMzOPu0XQ0NDYczr7OxcWlq6bt2677//3t/fn0KhpKSknDx58uOPP1421gsKCkpLS9uzZ4+UlBSNRvv000+1tLRgqecFXVdvb29cXByXy4VDmkwm89y5c1VVVWw2GwCgoKAQFRVFo9FMTU0hE8FfZZPMzc1VVFRISkpmZ2fX1dX19vZisVio6z09PV1XV3f+/PnW1laBQGBoaLhq1arAwECo4/zoUQWlTeXl5U1MTDZv3vzcqSYcDmdpaQl7yTY2NoWFhcXFxVNTUy/owJBIpL29PRqN7uzstLW1bWxsbGhomJiYeA6yQEUFeHg8VCul00F7+zIODI0GwcEPHRibDWpqwHKYeAUFBQ0Nja6urtWrV+/fv7+qqsrT03Pppz4+PgcPHlwSEH/si+vq6jY0NISHh//yyy9EIrGjo6OoqGj16tVYLHZgYOAZDozFYqWkpJSXl8/Pzw8MDFhaWpqYmBgbG+vp6cnKylZVVSUmJra2ttbW1pLJ5NDQUCaTubCw4ODg4ObmZmZmBtFqMzMziYmJZWVlMEzv7e1ls9k4HI7L5bq7u1Op1FdXRxKJRB0dHQkJCQsLC8bGxiKRqLS09B8H9vIODMYCLS0tV65cYbPZvr6+HA7nzTff1NbWlpSUpFAoN2/eLCgoqKiouHXrFpFIdHd3P3bsmLS0NIvFOn78OCyY0On0pqYmQ0PD8+fPa2lpycrKvkpRmMPhdHR01NTU1NXVKSsrc7lcHo/38ccfz8/PYzAYXV1dS0vLqqoqSPXm5eUFQXR0On14eDgpKWl+fn7VqlVmZmaysrIvl+BraGh4enqmpKQcO3ZMRkZmenr63r17b7zxxjMu0dfX9/DwyMjI8Pb2Tk9P3759e1xcnK+vr52dXUpKio+PzzJVMk1NUFMDAAA9PYDJBM+YBDc1fejApqYeAu6XM2trawMDg/v37+/bt4/NZguFQn19/YqKCkdHxyVZrGWpEKysrDIzMycmJohEIo1GO3r0KIfDqa+vfwaVIrSJiYnW1taCggI6nW5jYzMxMVFaWopCoTo7O2dnZzU1Nc3NzTdu3Ojg4ABFqP9CpRIoiZCfn5+WlnbhwgUikWhkZLRu3TpdXd3q6uojR44MDg4uLCzIysqGhoauW7cuMDBQSkpqyTezWKy+vr7q6urq6mpzc/N33nlHRUXlBXl1USiUq6trfHz8rVu3Nm/efP78+aGhoYKCghdH4tnZ2RkbG1dXV1OpVDs7O5g9PP/yTZtASgqYnwccDrh+HTwZviCRwMUFEAhgevphU/YpFh4efu3atQMHDhw5ciQ+Pt7e3n7p6Mfj8bq6ujU1NUtsv4+at7d3Zmbmjh07jIyMmEymWCyOj48PCAiwtbUtKyt7UmcHjiGXlpbevHmTSCTKy8uTyeRt27bBGa+jR4/C48jCwmLFihWhoaElJSWQ8nTnzp1+fn6Q1gAAkJ2dXVZWVlpaqqCgMDk52djYqKqqunr16oiICCqV+ihV9MvZ4uIig8Fob28vKCiQlpZet26dnp4eGo0eHx//6quvIBVcQUEBFot99913/3cCVX8rByYWi1taWuLj4xsaGnR1dTds2ODp6SknJzczM5Oamvr+++8zmcyrV6/29/fv3bsXYvOWmOlhq8nExCQ5OVlRUdHExGTjxo2v674/ePAAUjEZGRk1NjYODAyMj48bGhqi0WhIbTA1NeXt7e3t7Y3D4ZhMZnx8fHNzs7m5OZlMXrNmDZVKfcXVhkAgQkNDY2Njq6qqYFqTkZGxZcuWZ7RqUChUeHj4N998s3Llyl9++YXH42EwmL6+PkNDw2vXrjGZzGWQV25u4O7dh26puBg4Oz/jSPv1P0//aggEYu3atRcvXoTSbpAt9O7duzQaTUlJSSAQFBcXL+vAMBgMiURqa2tzdXWVlZX19/c/d+5cYGBgRkbG07RypqamMjIy6uvr+/v7Z2ZmWCzWyZMnJSUlUSgULGE5Ojo6OTlpa2v/FTHxGRkZZWVlkpKS9+/fn5yc9Pf337p1KwQrHT16dHR0FACAxWK9vLxCQkK2bNnyaIo/NTWVl5fX1NSEwWCMjY0/++yzlxDPNDMzU1dXLy8v37VrF5zTuHv37rZt214wAsBgMIGBgZDn86233oqPj8/NzY2KinpOr5FKBebmD1uzWVlgYgI8+clVVICS0kMH9uTo/X+NRCIJBILJycno6OhTp07t27fvUSp6KyurhoYGe3v7J8NcdXV1oVDIYrFCQ0O//fZbRUXFysrK7u5uc3Pz69evP4p85vP5ZWVl6enphYWFi4uLgYGBZmZmOjo6TU1NcKgmKyvLzs4uODiYSqW2trbevHlTLBbr6en9+9//htHtowXeGzdujIyMTE1NQTnA7777Dna5Xn0tLSwsVFZWFhcXAwDU1NTeeustLS0teEAtLi62tbV1dHR8++237u7u4eHhqampkNH0H//0fAe2fv362dnZgICAEydOQGJ/AIBAIHBxcfnwww/Ly8vHx8cVFBROnDhhbGysrKz82OpHIBBr1qyB7G2v95CSk5PT1taGdeodO3ZYWFj09vY2NjbC/oGPj4+vr+/Y2FhhYSGLxRKJRI6OjocPHyaTyYqKiq8rxjczMzMyMkpKSvrqq6+Sk5MbGxubmpqeTWtkb29PJpO7urpUVFTu3btnbm4Oe8jBwcF5eXnLkOo6OgIFBTA1BQAAly+DPXvAshGAUAiamh7+X0kJPJNFzcbGpqKiIiEhwc/Pr66ubuPGjV1dXQ0NDV5eXsePH5eWll5WlgnO1cLKp4SERHBwMCREx+Fwc3Nzj9aBeTze0NBQbm7uzZs3kUjk+Pg45EFGoVCKior29vbQQe7Zs+d3oXX+VCYSiZKSkvbu3auurg4x301NTZ9//vnAwACMDExNTf38/NavXw+BlPAUnpmZGRkZyc7O7uzsdHZ23rp1q5KS0ktXnGRlZcPCwj766KP6+vrdu3fv2rWrvr6+q6vrxVkBw8LCDh48CAXqZGRk8Hh8S0uLpaXls67R1ASenqCmBggEYGoK3LsH/ssY96tJSv6qsv302RII5YAUcePj4zdv3jxy5MjSetDX1y8pKZmZmXmS6VFBQYFAIPT393t7e1++fBkiieLi4r799lt7e/u8vLyAgIDx8fGqqqqLFy92d3fDBpWVlRWPxysrK0tNTdXR0RkbG1NQUDh79qykpCR0ctbW1tu3b9fV1ZWXl4eHlVAonJ2dHR0dTU9PT09PHx0dxePxcNJGXV0dh8O94updWFgYGRmh0+m5ubkUCiU4OFhbWxv+WR6Px2Qyq6qqUlJS5OTk7OzsmpubQ0JCFBQUoCzDPw7shRzYmjVr/P39l9ImNptdWFhYWVkJNRKtrKyioqKeTecjIyPzuqgLHzUtLa2SkhINDQ0tLS0ej1dTU1NaWvr/2PvuuCbP9f0nBAIEwgojgTATCCSBsPceyhYBcc/WUatHu6w9dm9bbU9bO9TW6rHUBSgge2/C3mEGwg4hjIQVsn5/PB6Op8qwVWu/v95/9NN+CuTN+4x7Xfd1IZFILy8vCwuLiYmJ8+fPi8Vie3t7V1fXoKAgPB7/2O9KLS2tgICA7777bnx83MHBobGxEcbdK7+NAwcOfPfdd3Z2dpcuXYqIiLh8+fLmzZu9vLweOvgCzM2BhwfE2Y+EAAAgAElEQVRITQUAgO5ucOECOHr0IfzuFRWgrOzev9PpYMWanpmZmZ6enkAggORMu3bt8vX1/eKLL7766isEAsHn8wcHBx+KVqfT6cnJyYuLi0pKSsbGxvb29gUFBRgMpqOjA44QLCwsMBiM9PT0lJQUqVSqq6s7MjIikUi0tbWtra1tbW1RKBSfzwcABAUFqaio/HWBVXJyci4uLsPDw3DEnslk9vT0iMVieA35+vqGhYUttaOkUimLxaqsrOzr65NIJN7e3gcOHHgsc2zh4eEnTpwoKCjYsmWLlZVVX19fbm7u2h2Ynp5eUFAQi8VqampydHScnp5eHUuloABCQ8HPP9+DcqSmgpiY37I2j47em/0AACx/z8rJyVlZWTEYjKCgIDKZfP369eeff36JGnSJnP5BB4ZEIh0cHIqLi3fv3m1jYwMBxt3d3V1dXevWrfvuu+96e3tv3rwJyWIOHDiAxWIbGhpyc3N5PB4SibSwsFBQUPDx8Zmenq6srBSJRK6uri+99NL9e14gEDQ1NUFS1ry8PBwOZ2dnd/LkSVjo/uMLx+fzS0tLOzs7p6enTU1N33777aUUHAoetbe3MxiMubk5Op2upqYGYagVFRVhYWE+Pj6ffvppdHT037j81R1YTEyMTCabn5/ncDjnz5+vqqricDixsbFnzpyxtLRcCw32EzI9PT2ZTCYQCL766quYmBh1dXVTU9PFxcXJyUk9PT0MBhMZGRkUFASnpJ/QRamoqOju7n758mUGg+Hl5dXR0bGWLJNOp2OxWDQazefzy8rKDA0Na2pq3NzcHs50rK0NIiNBQQGYmQEiEfj6a0AigdDQ/xYMpVLQ1QXefx/MzNwLeENDwYqdfAwGY2ZmBgmN9PX1a2pqQkJCPvvsM8iJl5mZ2dHRQaPRHvxFTU1NExOTuro6d3d3DQ0NPz+/wsJCWOIgk8k1NTUQlKGoqEij0aampubm5hAIBIFA8PPzGxoamp6ednNzs7GxwePxfyEFwuXMw8Pj2rVrLi4uBAKhsLAQg8Fs3bp1//79RCIR3nEymWxhYaG7uzsxMXF2dtbNzW3z5s0EAuExQis1NTUjIyPT09OPHz/u5uYGFad27NixRoYUeXn5yMjIubm5urq6F1988YMPPljTszk5ARLpnmxpYyNoawNLnSqpFExMgDNn7v1fDQ2wIsGHlZXVtWvXsFisnZ1dQkJCamrqoUOH4GlFIpGenp6FhYV2dnYPnl9ra+vLly8rKioGBATk5uZOTEyoqKj88MMPysrKd+/e1dfX37t3L51OHx0dzcnJUVZWtrS0XFhYgBGtRCJpbm7m8/kuLi6+vr4mJibwW8MBBlg8qK2ttbKysre3NzExCQoKolKpBALhD8YcUGxhiQDT3t7ew8ODTCarqanJZLLFxUUoxAonyQQCgbe3t6enJ8SyGhsb9/b2ZmRk+Pv74/F4LS2tlpaWpyPG9Jc2pIeHR1ZW1tGjR6GO3IEDBz7//HN/f3/Y9nxyHzw/P9/c3MxmsyENxEOeDImcmZmBNeuTJ0/m5eUNDAy4u7sTicQ9e/a4u7t7enri8XhlZeUnGuZjsdicnJz29vadO3dWVlbCEtnKkZGcnBwajW5raxsaGmptbd2zZ09ycvKybKoIBLCyAo2NgMkEAIDpaZCcDAQCsLAA+HzQ3g7u3gUHDtwDfSEQYONG8NZbYMU2BgKB0NfXT0pKgiSWZWVlYWFhRUVF3d3d4eHhTU1NAwMDoaGhD743BAJhbGz8008/BQQEVFVVUanU9PR0DofT3Nx84cKFkpISExMTY2NjIpGoqKiIx+N5PB6ZTCaTyWg0+rnnnouLi7OwsPgj1CrPjvH5/JaWlqtXr2ZkZMhkMolEsn37diQSGRcXB+sNc3NzOTk5v/zyCwTa7dixw8rKSktL6/EW0uXk5JSVla9cueLj46OpqVleXr64uBgcHLxGLCICgZCXl29padHQ0DAyMoKMYg+X2/5NEiYWg7t3721IExPg4QFkMsBigYQE8NproKQEyGQAhQIHDoCYmBUE4ZSUlCALCYFASEtL4/F4QUFBS+VoAwODa9euOTo6PigsIi8vLxQKOzo6QkNDL168CGtxHR0dJiYmhw8ftrOzq62trampmZ2dpVAocnJy5eXlqqqqOjo6LS0tysrK+/bt27hxI+TFQCAQo6OjtbW1hYWFKSkptbW1dnZ2hw8f9vDwMDY2Njc3t7S0/IMLJ5PJuFxuUVFRWlpaRkYGhUI5dOiQi4uLgYEBEons6+vLzMz86KOPPvroo5mZGQMDgy1bthw6dEhXV7e3t7ekpITD4VCpVCMjo6KiIm1tbTwer66ufvfuXQ8Pj78ZFFcJ0Xbv3m1hYXH8+HEbGxsqlfoUmu1SqbS6ujohIQGDwbBYLCMjo+Vwsc7OzpDYlMViqaio7Nmzp729fXFxkcvlPjUpHW1tbS8vrzNnzgwODrq4uFRVVfF4vJVReQAAS0vL9PR0e3v7pKSk3t5eFRWV3t7eh4qpw7IjOHUKMJn3fNj8PDhzBly4AHR0AJ8PJibuEU0hEMDTE7z7LlhDwVZPTw8eAyaTqaCgMDw8HB4efvLkyR07dhgZGbW1tfX39z8UtovH46HidnJy8ubNm2k0WkFBAQqFgkJHOByuuro6Nzc3Pz9/fHw8KirK3d3dzs4OEvk/s7tcKBQyGAxFRcUHAWwPNZFIdP369aGhIQ6Hs3///tjY2BdffBGFQvX29k5OTkL2QplMhsViDx48aGho+ERvGVibvX379rvvvnv27FmBQDA+Pm76sCnAhxqRSORwOA4ODpAY9/bt22FhYasfHx8foKcHOBwgk4HkZODhATIzQWEhaGr6L1liYCA4cgSsFuaGhIScOXPm1Vdf1dLSqq6urq2tXaoiysnJeXh4lJSUxMTEPPiL7u7uX3zxxYYNG44ePfrTTz8JBAJDQ8OxsbFvvvnG0NAwICBgamqqo6ODy+X29fVJpVIcDmdra7tr1y48Hg9XZHx8vKKiorCwEIVCwdgLJmSPd68ODAzcuHFjdHSUSqVCOD4McSQSSUtLy+XLlysqKqDE0unTp+l0OgKBSElJKSkpIZFIFhYWkZGRS8M5kZGRSUlJdDodskmMjo7ez+X/tz0kz2Gz2Xv37rW3t8fhcH/8HMpkssnJyYaGBqlUulRxhnSikIKBwWBcuHBhZGRk3759ISEhHR0dIyMjtra2D91SysrKLBarv79/YWGBTqdra2tDdtrFxUVLS8un9o7wePwPP/wwOTm5d+/e69ev29jYrNqEQKPRAoFgaGhoamqKzWb7+/sPDw/TaLRlTw4OB1xdAZsNBgaARAIvXTAxAWZngVQKkEiAx4MXXgBffgmMjMDajp+ioiKLxYK8JFCuNyUlhc/nGxkZqampsdlsZ2fnB58HcsgWFBRwudzr169v3rwZcoPV1tbS6fQrV6588cUXg4ODUVFRH3/8cVRUFIVCeSyio08oi2pra4MKJkKhMDc3F4ZEa8l7qqurra2tJRIJl8sNCwuTk5NLTEzU1tYmk8nwuoE6NU/hu6uoqMzMzKSkpERFRY2Pj5eWlurr66/CzPs/2ZQCbCDNzc25ubklJSXRaLRVZ4GBkhLo7r6X94+MgBs3QGkpGBwEYjFAIICxMdi1C3zzDVj17/yHY55IJHK5XAaDweVyt23btnTVqKio5ObmOjo6PoiNRKFQzc3Nt2/frquro1Kp/f39c3Nz4eHhUFAtKysLkmj09/f7+PicPHkyNDTUzMxsbm6uvb0dzqpmZ2fr6Ohs3749ODjYycnJwsLisbcbxGLxr7/+6uLisnnzZicnJwKBIC8vD1845A/S1NR87rnnXn/9dWtr66mpqeTk5KamptDQ0E2bNjk7Oy+Vo5fiztLSUlVVVchxJRKJHgt/8f/lDOwxKhQMDQ2lp6ePjIxoamoGBQXJZLKpqamKioqGhgYul1tZWWlra2tnZ7d///4l3jA4pR8XF7fcsPP69eszMzPLysoiIiL6+vp0dHQ6Ozs7Ozs3bNjw1C5NIpHo4+NTVVWFQCCsrKxu3rwZHBy86qf7+PicO3fOwsKisbFRKBSyWKzFxcVlOxAIBHB0BJcugZ9/BpmZoKoKiET3kjMKBfj7g/Xrgbc3eJTGElSfWrdu3enTp7lcroKCAhRJkUqlYrG4v7//N7wMUqm0tbW1oKCAxWIxmczo6GgTE5NNmzYpKyuLxeKMjIzq6mpDQ8OTJ096eXmtmoP+uTY2NpaTk9Pd3Q1HBj/88ENNTc2EhITs7Ozt27evunaQWysvL8/Dw+Pzzz+XSCTr1q07d+4cEolsaWlZBcX3uA2Oc/zyyy8TExPbtm2Lj49PTk5+9dVX116nDQgIyMjIwOFwEomESCTm5eU5Ojqu6jaBnx9ITAR8PpDJ7mVdcnKARAIhISA2Fjg6grV1jCDHfGZmJhKJRCKRDAajpqZmidJQR0dHSUlpYGDgwZBUJBIpKytzudzAwEADA4PFxcW8vLyhoaHbt2/39/fj8Xg9PT1ra+vDhw+rq6v39fUVFRW1tbVBNRNjY+P9+/ebmpo+6VtCXl7+xRdfhP8OCVrz8/OHhoZUVVWJROKVK1fQaHRRUdHPP/8MqRePHTtGIBCWSxUgC3NxcTGsh5WXl69bt+5vL7XS+//j9cDp6WkWi5Wdnc3j8QIDA318fOTl5YeGhm7evNnf36+vrz8xMcHlct988017e3tdXV3IO45EIqlUKo1Gk0gkGRkZkIznobewjY1NcXHx5OQk5MZ96623XFxcIDb36bwjFAr1ww8/HDlyJC8vj0KhZGVlLTcLfL9paGjY2dkVFxdbWVmVlpZqaGiw2exVoLEGBuD118GBA2B8HIyNAXl5oKMD1NSApiZ4xPayTCZTUFAQCoVJSUn9/f1tbW1+fn7a2tpmZmZcLhdS8HV0dDg7Oy8uLnI4nJaWlry8PDU1NT8/v+jo6Bs3bvj6+iYmJkLursbGxrfffptEIhkaGj6zyHipVAqlCYqKilgslq+v765du7S1tRcXF2HHyMvLC85grKVObm1t/fPPP/v7+8NszMHBAYfDSaXSurq6+xOIp2Mw5eru7vb397e1tYWI3LWotclkMgQCoampSSKRJicn29ra/P39z549e/z48VXQHLBeTSSC+nqAQgEdHUCngx07gKcn0NFZ+24UCATDw8M1NTUlJSW7d+9ubm6uq6u7dOkSnU6HdbbU1FQ9PT3I5ry0iMPDw8XFxU1NTW5ubm+++SaBQIAaXSkpKU1NTebm5hs3boRJm0AgSE1NrampQaPRjo6O27dvh0I2Tw1DJJPJZmZmoJgApKj28/Pz8/OTyWRQBG56etrHx2fPnj3a2tpoNHrVswNFBNlstq2t7b///e+5ubknikX4/9eBSSSS3t7ewsJCDoejoKDg6+uroqICYamQeUVLSwuFQsGs39vb+/5lkMlkqamplpaWcIDszTffnJmZ2bVr14PbTl1dnUqljoyMVFRUaGho4HA4VVXV4eHh3Nzc3zmqLBCApibQ2Qmmp4GyMjAzA66uYEVMFwKBIBKJ69evv3Pnzp49e6anp9PT08lk8sqfjkAgdu7cef36dU9Pz9LS0gMHDiQmJr7xxhurVnyAri7Q1QUUyu9emq6urqqqqq6uruLi4qmpKRQKNTMz4+rq+vbbb3/wwQeWlpYymayqqopIJDo7O/f09CQnJ+vq6v7jH/9YAvofOnRIUVHRxMQEag9+/PHHzzIvgEQi6ejoKC8v53A4cnJycHp6ZGQEi8WKRKLTp09/8sknUHd0JWG2Bypvbm5u/f39dnZ2iYmJNBqtr69PXV0dNm4fy3DrIyVhwcHBqampISEhISEhIyMjN27ccHV1Xfma5vF4LS0tPj4+AAAXF5fS0tLi4uJTp04hkcjs7OyIiIhVPtXUFISEAF1d4OEBNmwAFAp4lAb5xMREWVlZa2urSCTy9fWVSCQuLi6Dg4OQbKKpqQn2IycnJ1VUVMrLyyMjI3t7e0tLSzkcjkQicXNz27Vr1/2XBp1OJ5FIkZGRwcHBXV1dUKNZTk7Oxsbm1KlT98uqPR0Ti8WQlYrD4czPz5uYmLz66qsKCgpVVVWpqal8Ph+LxUZHRz9qnK2pqUmhUMrKyvbs2ePj45OWlrZp06a/HdVy9j+KzGuMc4VCYXNz8zfffAOhqDQaTSgUpqenQypYa2trVVXVuro6NTU1KJtCpVLvP2lSqRQAkJKSUlhYWFVVZWdnl5KSwuPxQkNDH7wlkUgkHJKtqqoKDg5uaWmRSCRNTU06Ojru7u5rhXLIZGBxEQwNgfPnwUcfgR9/BAkJIC0NZGeD7GxQVwfMzICeHljRIWGx2Pj4eBsbGxaLNTY2BuecVv5YVVXV7u7uhoYGQ0NDKJ5pb2//hDwBXJfGxsavv/46Nze3ubm5tLR0aGiIzWbLZLK4uLi9e/fq6+v//PPPY2NjLBbLzc0tLi5OVVUVhq6urq73lxNRKBSE9np6ejo4ODybPPFSqXRhYaGysvLcuXNMJhOyg2Ox2Lt3746MjLS2tqqqqhoaGhYXF2OxWP01dGseqKKpZGZmenh4JCYmRkREiESi9PR0Z2fn8fFxe3v7P5qEwRLxmv+IkpJSXl6evb09bBpNT097enquPOUiFou/+uqrdevWwWIjk8nk8/nW1tYzMzMVFRXBwcGrZ6I2NiAyEgQHAzx+jY8KJfoSExPj4+M1NDQCAwOh2sDY2Nj09LSmpubg4GBHRweBQIAS4fLy8uXl5cPDw1lZWT09PTQazcvLKzQ01Nzc/DfuGYlEMpnM3NxcGIvY2dn5+PjACbOnBumSyWQikYjP56ekpFy8eHFwcJBEIjk7OwcEBGhra8fHx0MZBycnp3Xr1vn4+Kw9YPpNwn316lVvb28SiXTx4sWgoKC/IpHNM5eBCYXCrq6u+vr61tZWmUwGB4kgVauPj89HH30ExwYTExN1dHRef/31B/EzMzMzUKC2s7NzYGBg8+bNO3fuBACUlpamp6f39PQ8dL2dnJyKioqMjIwUFRXHxsYoFAqkiGYymauHXSIR6OwE9fXg119BScm9UaolW1wEw8MgIQEUFYFvvgGbNq1wSs3NzSkUSk1NTWRk5GeffcZkMnV0dFa9AXfu3Ll///7g4OCEhITnnnuutLT0oYCrP2Lz8/NtbW2NjY25ubksFotMJsPxSXl5eWdnZwMDg6ioKFNT08LCwrt37w4MDOzevdvQ0HDfvn3wba9w+P8gC/OTM4FA0N7eXltb29nZaWRkdPDgwcXFxdra2uLiYh0dnbi4OFi2iomJgWVDoVBIp9MftawESTTIZDKPx6utrQ0JCbl06RKTyezr6+Pz+W+88cbvKaVKpaC/HzQ3g9RUQKWCF14AawsOcDgchUKBMsempqZcLresrMzc3HyFZ1BTU3N2ds7Ozg4LC4NQSSsrq5ycnG3btkVHRzc2Nq6OyVxth99vs7Ozra2t1dXVLBbLw8Pjs88+u78p4Onp+eqrr+ro6FRVVZFIJKhazuVy6+rqsrOz7ezsdHR03n333RXCAgwGc/bs2ddff/3AgQPw4E9PTzMYDDU1tYcONT5eEwqF3d3dHR0d7e3tY2Nj3t7e7733HvSpVVVVEOsbExNjbW39x52Nurp6WFjYtWvXnn/+eRMTk4aGhjWiZ//OwB5ui4uLlZWV3377LZvNhgGIRCJRUlLS09MLDg6OiYmRl5e/evVqeXk5Ho8PCwsLCwv7zd03OTn5yy+/JCQkzM7OGhsbh4WF0Wg0FosFe7lIJDI/P19HR+eh2CoVFRUol9zZ2WlsbCwQCNra2ng8HiTbXem5mUzwwQfgyy/B5cugvf2/XO9IJCAQgJ4emJoCMhkAAMzNgaYm4OIC/gPwXe49QFb+kpISDAbj5+e36qvT1dWtra0Vi8XDw8NEInF6etrW1vZxFeiFQmFycvLly5dTU1Ozs7P19PTIZHJLSwsGgwkODj58+DA86vHx8T/88ENPT09QUFBkZGRxcfHCwoKDg8MzDsR4qE1PT6ekpFy5cmViYoJCoWzcuFFNTe3mzZtlZWUDAwPOzs5zc3OXL18+f/48Go1WV1cfGxubm5vT0NCg0+k6j3IdAwDk5eU7OzuRSCSPxxMIBEFBQQMDA4WFhfr6+k1NTb6+vmscxvofS0wEr74KLlwA5eWAwQCmpmBtJSYEAqGhoZGUlBQaGrqwsJCSkqKoqLhqbK6rq3vt2jV/f395efm5ubnOzs6ZmRlvb+/s7GwlJSUXF5fH0s4UiUTFxcXnz5+fnJy0tbXdvHmznZ3d0oNJpdKMjIxz585lZGTw+XwFBQVPT082m93V1bW4uNjd3S0SiV566aXm5mYbG5uV6xOKiooSiaS9vd3ExCQ+Pv7WrVtzc3NmZmZPtH44PT2dlZV16dKlgYEBDQ0Nb2/vTZs2aWhopKSkJCQkzMzMGBoaRkZGRkRE6OvrP67mKBaLzczMhC3z3t5eCL7/21095FxA2eLlQqre3t7GxsbMzEwFBQVra2s2m62qqhoaGkqj0ZBI5OjoaHNzc2VlJRKJhIjq+7uUIpFoaGiop6cHNiciIyMdHR0xGAy8vufn51955ZXPP/8c0t1++OGHg4ODt2/fXo6VqrOz84MPPtixY0d5efnNmzehM2ttbV2Jxaq2FkRF3VOYlZMDWCywtAQ+PiAy8l6HqaEBvPsuyM8HUilAIEBICPjxxxVYmphM5ueffw5p5ZKTkxsbG9fCoVVeXv7JJ58QCATYmD1w4MDK1FyrFjEmJiZYLBZkb1NVVcVgMAYGBlQqta+vj8fjQQUmCPu8ceMGj8dzdXXdsmULlUodHBz8/vvvW1tbv/nmG8iQ9FfZpqOjo319feXl5d3d3Z6enq6urkKhsKamJiEhob+/HwIseTyeRCLR09ODQh41NTXBwcHJycnj4+MoFOrdd989ePDgo37lqqqqoqIiEon0/vvvZ2dn5+bmvv322/Ly8kQi0cPD4+TJk498rZw4AT7//P5qEThzBsTGrgVfKpPJ3nnnnYiICCqV6u3tLRaLk5KSzFaQLwBAJBKdPXs2LCzM2tp6YWHh8OHDMHysq6v76aefcnNz18josVw8NzAwUF9fD0eaoFbZUnAmEokGBgZyc3MvX77c0NAgJyeHRCKxWCwej8dgMPr6+np6egwGw9LSkkwmczichYWF48ePP5xu7T6bmpo6fPiwhoZGWFiYm5vbY6dgXfpqw8PDsP7f09Pj6ekZFBSEQqE4HA5M/fl8fnBwsJubGxqNfhKAEZlMduvWrcXFRW9v7x9//PGVV15ZRQfn7xLi/cbn80tKShgMxsDAABSDNzIyMjU1jY2NJRAI8/PzUHQAiUTCYhSJRLr/apibm6uuri4rK0MgENra2hs2bLC0tPxNH0VZWdnV1bWgoCA8PByPx5NIJJFIxGAwlkuqIEsvh8NBo9FmZmYdHR0DAwOlpaVBQUHLfjlra2Bpec+BKSmBl14Chw79DwmThwf49lsQEQE6O4FMBvLzQX4+2L59ub9HIBCMjY07OzupVKpIJCopKVkLyNXOzk5TU9PGxiYjI0NBQaGxsfH3OTCZTNbf35+ZmVleXl5bW6ujowMD8Pn5eRg3xMbGWlpaNjQ0vP/++zU1NVpaWuHh4T4+PhQKhcPhXLp0icFgmJqafvDBB+bm5n8J7yWVSru7u/Py8jgcjqKiopqaGgRPJicns1gsNBrt4eFhbm7O5XJbW1sNDQ01NDSUlJTodDoOh8Pj8Tt27Ojq6srKylJQUCgsLFw7A9OSUSiUS5cuQaFqBoOxuLg4Pz8vFosHBwfZbDaPx3tkjnnY+lqy4WHw1ltATw/4+68lCfP19b19+zaNRgsKCioqKkpPTz9y5MjKSSSZTG5ra6PRaEpKSu7u7tXV1Z2dnU5OTl999VVDQ4OXl9fc3Fx/fz+ZTF67MxaLxW1tbenp6RKJxMzM7OTJkzgcbunXZTJZY2NjYmJidnZ2fX09Ho+HdKbu7u729vYCgaCjo6OgoMDQ0NDLy0tfX9/IyCg4OJhIJK7FFampqX3xxRdwoR/vZoMDZMbGxpWVldDjQhKDY8eOTU9PFxQUQIy+gYEBVFd5oikRAoGAeoRQRrW/v/+pga7/qg5MJpPNzc0NDg7m5+ffuXNHWVlZJpORyeQ9e/aYm5tramqKxeKxsbHLly/X1NRQKJTY2FjI9QAXUiaTzc7ODg8PV1VVlZWVUanUDRs24PF4DQ2N5e7K8PDw9957D8ryOjo6Dg4OlpWVeXl5PXTABYVCbdy48ZdffiESiQ4ODoWFhQsLCzdv3vT19V02AkKhwNatIC/v3iDL3NxD0IYWFuCf/wQHDwKhECwsgB9+AJs3L4e2glJ78/Pzk5OTFAolISEBireu/IqVlJQCAwM5HI6Jicno6OidO3fCwsLWHjZKJBIej9fR0fHvf/8bnisymXzq1KmZmZm6ujojI6N169YZGBiIRKKysrJ33nmHy+V6eXmdPn16qf7wyiuv9PX17dy5MyYmRldX99kXQRaLxePj401NTTdu3GCz2UZGRpADc2Zmpru7W15enk6n79ixY3h4uKGhAda0iUSiVCp1cHCIiopSV1fn8/k1NTWvvfaanp6empoahL93dnY6ODg80pOoqqrS6fTBwUEHB4f4+PgDBw4s1eIoFEpjY2NAQMDvdGAoFEAggFAIenrAP/4B/v1vYGu7KlACOlQWi+Xn51dTU5OXl7dz584VYnMEAkGj0a5fvy4UCpWUlLy8vCorK8vLyzds2ODo6HjlyhU3N7fZ2dm0tDRtbe1VnTE8493d3Tdv3kShUBs2bDAxMVka5YYI+Pr6+itXrlRVVUHi4JCQkLGxMTKZPDQ0JBKJqqurVVVVvby8Xn75ZQMDAwwGo6qq+kixlJyc3Aqisli34PUAACAASURBVGvcXdPT0xBB7e7uTqFQhoaGEhMTs7KypFIphULx8vKKjo7W0tKSSqWDg4OffPLJ2NiYp6fn9u3bdXR01NTUnk41T09Pz8fHZ9++fS4uLhkZGX87sJUcGIfDKSkpycrKKigowOFwvr6+NBrN399fV1dXJpMNDAzcvXu3p6dnfn7e0dHx448//s2ZGRoaKi8v7+3tXVhYsLa2Pnv27FpmFyAsnslk0ul0d3f3n376CY1Gr8Ce4uHh8cMPPygpKc3OzhoZGbHZbAaDAfOhZT8jMBAYGoL+fiCV3ms/PHja/f2BiwsoLgYAgOpq0NAAlh/z9PPzy8vLU1ZWDggIuHLlSldX16rMcggEwsvL65///GdYWNinn35qZGTU3NxsZ2e3lhZXQ0NDcXHxnTt3hoeHXV1dd+/evX79ehKJ1NnZWVpaevLkSR0dnZqamq+//rq4uFhPTw+CjPX19Ts6OuCZ7Ojo2Lp161qKM8+CwW5raWlpXl7ezMwMmUz29/cHAAwPD4+NjSkpKe3YsUNLS2t+fj49PZ3L5cLOEFTcDgkJEYvFRUVFbDYbqkLr6emdOHFibm4uKSlJX1//119/fVQHBgCIiIj48ssvg4KCPvroIxUVFVtb28zMTLFY3Nra2tra6u3t/WgVJMgKBgBwdARkMrh6FYjFoK0NHDkCvv8erEbeqqmpaWRkBBXaMBgM5C8PDg5e4VdMTU2FQuHw8LCZmRkOh4NSnENDQ1FRUe+8805bWxuZTFZQUGCz2Ss7MKFQWFFRAXWKIf/c/ff4yMhISkpKVlYWHDYwNjbW1tZms9lQvaGxsdHR0XHDhg1eXl5/Yilsfn6+qamppqZmYmJCTk4Oj8fX1taePXu2rq7OwsIiICAgLCyMTqfPz8/X1NTk5ORMTEyg0egHcdRPqbuDQERFRUFSdQ6Hw+Fwfh+m8f+4A2Oz2SkpKUVFRc3NzS4uLmfPnrW0tDQ2NlZUVBQKha2trXfu3OFyua6urlFRUfcz/EJEKZvNTk5OhjyBYWFhZmZma5dWkZOTo1AoUIUSjUb7+PjcvXsX0vsuVw/x9PTk8/nd3d1ubm6jo6Pd3d11dXUUCmXZmAiLBUFB4NIlIJOBzk5QW/uQWg0eD3x9QUUFEImAWAzy8lZwYPr6+vr6+gKBwMrKSigUrvLp/zEjIyMcDjc0NITD4ebm5oqKipZjz4IRokAgKC4ujo+Ph8ykmzdv9vDwsLCwgMykAABzc3MDAwMGg/Haa6+x2Wwovmdubq6mptbY2PjVV1/Jycl1dnZqaGhcvHjRycnp2cTBL6WYIpFobGwsLy8vJydHTk6ORqO98cYbWCyWxWKlpKS0t7dTqdSdO3cODg52dnaOjY3V19ePj48jkcgtW7ZERkaamppOTEx8++23ExMTnp6eoaGhRCIRiUQeP35cLBbv3bv31q1bcnJyVVVVUL/7kR5PX19/586dBgYG7733XlVV1ZYtW9LT08F/5px27979aDfykgPDYsE774DublBaCmQyUFUFjh8HSUkr6wwoKiq6urp+/vnnR44ccXV1TUtLgwyHK4usBgQEZGVlvfDCCxgMBiJ9MjIy9u7de+LEifz8fCqVCgvjy3l3WDCMj4/H4XBhYWEWFhawfAfJ1wUCQUFBwY0bN+Tl5U1MTObn52dmZsbGxoaGhuTl5eXk5GJiYsLDw83MzJ4a2P2BpFfE5/Ozs7NLSkoIBAKdTldXV8/NzU1MTJTJZCEhIUePHoVFpuHh4YsXL7a2ttLpdAcHBxKJpK2t/ScyU8vLyx88ePDy5cvR0dFlZWXR0dF/e6zfvqJvv/02NDTU19c3LS3t2LFj0P3MzMxAdW0FBYWoqKjf3LZisbi3t7ehoaG9vX1ubi4iIsLFxeX3LTONRvv111/n5uageuyVK1cYDIb78qrEfn5+//rXv0gkEpvNNjU1bWpqSkhIiI2NXdZrqqiAsDBw+zaYmAASCbh8GXh7/7ZCKC8PAgPB+fOAwwESCaiqAouLy4GbEQhEaGjo9evXa2trt2zZ8ssvv6z06f8xJBIZGxv7j3/8w9LSksFgkMnkkZGRByeTIFwbcmarqKh4eHi89NJLVlZWbW1tTCZTJpNBSeXOzs7i4uIbN27IycnFxcVt3LgRjUZDCdq2tjYDA4MTJ0709PQsLCz4+fk9s70ugUDQ1dUFoRlFRUVTU1NQjsTNzY3JZGZlZeXn56uqqkKH1N/fHx8fDwCYnJwcHBy0tbXdt29fbGwsh8NpbGyEkLzY2FgKhXJ/bdbf3z8jI2PLli1ubm5VVVUhISFpaWmHDh161JoV5I7y9fUtLi5+5513rK2tGxoapqam2tvbmUzmEivSozkwAAAOB378EezeDaqqgEQCiorA88+Dr75aGQrr7u6uoKBw7dq1/fv337x5s7m5eXh4eOWuqre3d0JCAo/Hw2Kxrq6u7e3tXV1dIpEoKirq1q1bW7dudXFxOX369JYtW34TVMExOyhbBXVk4A/MzMz09PTU19fX1tb29/fr6OiYmprm5+dXVFQQCAQFBQUKhaKtre3r6xsaGvpnCetIpdLe3t729vbm5ubR0VErK6vg4OD6+vr33ntPTk7O09Pz7NmzHh4ei4uLnZ2dubm5EA+5fv36Q4cOPTtiQCEhIYmJifLy8q2trevXr/+zgoBn14FBkoKpqSmpVAr7NP8JELEHDhxY0r1eyrpqampSU1MRCASVSo2Ojv6DYDbY3R0bGzM1NcVisW5ubqmpqcePH18uOzE0NFRQUCAQCAwGw9raure3t7i4mMvlrlQfc3ICpqb3JI9rakBPD3iQFd7aGqipAShWyecDPh8sX04xMzPT0tKCRyI+Pr61tXV1ZjkAHBwcxGKxRCJRVlaura1ls9n3O7ChoaGkpKTs7Oze3l47O7v333/fxsZGV1c3Ozs7KSnJyMjI0tKSQqEwmczLly9DjbHjx487OTmh0eicnJzKykr4M5GRkVCQ+g/2CZ6czc7OQifNZDIbGhr6+/uxWOy2bdtCQkLweHxBQcGuXbuGh4fd3d2fe+650dFRHo+XlZVVX1/P5/MXFhYiIiLefPNNKpXa0tLy6aef4vF4KpX6wgsvGBoaPhhCOTs7nz9/fuPGjc899xxEjtXW1k5NTf0+/s+QkJATJ05MT09HRkY2NzcrKChgMJiUlJTf6cBkMiCTARIJfPIJ2L0b9PcDmQykpwMtLfD11ysIDmhra0NO3oiICBqN1tTUVFtbu7IDg/qQ1dXVwcHB5ubms7Oz6urqOTk5vr6+V69ebW5uDggIQKPRvb29S5hGqVQKe5B6enre3t5OTk7y8vJSqbSvry8nJycrK4vFYkFFysnJye7ubhwOt27duqGhIZlM5uLiYm9vD8sqf1bKVVtbm5aWBjl0aDSagoLC3bt3uVyuvb39m2++SaFQiETi+Pj4r7/+2tDQoK+vb2VltWvXLiKR+KwFfHp6ejExMTdu3LCwsBgdHf2b2/e3e/uVV15RVFSEzOVzc3OQZx2FQkFMF3Qk8/PzfX19eXl5P/30E5fL3bRpU3h4OJ1O19XV/YP9TCQSiUajs7OzYVw5PT0NKcOXG1FSVFScm5tjMBg4HG54eFhVVZXH42lpaa2QtAEMBgwPg6IieH0CEgk4Ov6W0F1REdy8CQYGAADAxATExIDlIx0UCsVkMk1MTDo7O9FodG1tbVhY2KoJqLy8PJvNrq2thcmHsrKyh4fH8PBwUVHR6dOnv/7664mJiQ0bNnz88cfr16+XyWQVFRXx8fGGhoY7duwgkUhcLvfjjz++evWqiYnJm2++GRkZKRKJYOnG2Nh49+7dnp6eFhYWayFb+xOtu7t769atDAajsrKyvb3dzMzsyJEjr7zyiqqq6rVr17744ovu7m4XF5fw8HA+n19eXj43N1dTU1NeXo7FYjds2PDOO+9YWlq2t7enpKRoamoePHjQ19cX0uE/9N5BoVCNjY1YLJZKpdbU1EBuXyqVuroq8TIrCGmpIyMj8/LyJBIJAoGQk5Nzd3d/hInvGzdAaysAAFhYgLg4oKAAjIwAmQzS0oBQCMRi0NgI5ueBqytYHmuDx+PPnDlDpVKdnJxgKGBjY6OpqbnCJoSMjnZ2doqKiigUKisrq7y8HCKKm5ubo6Oj1dTUsrOzXV1dZ2dnGxsb//3vfzc3N+/ZsycgIEBVVbW9vb2goODMmTNff/11Xl4ej8fT0dHh8XgYDMbf33/Tpk3wPIaFhR09etTV1dXIyOgpJzEymWxJfODSpUtcLtfFxQWLxebn53/yySdQye/jjz/esWMH1Li4cuVKZmamtbX1zp07vb29raysYOT3rB0ZSCB+69YtPp+vq6u7upbb/28ZWG5ubnR0NAQa/Pjjj6Ghob+Jl8vKyhgMhry8vJmZ2csvv0wgEB7vMjs6OkI1HRwO5+joqKenV1FRYW9vv9zP+/j4XL161d7eXiQSWVpaDg8PZ2RkHDx4cFmENAIBNm0CH30EJBIwPw8KCsC2bb/tNECuKWhKSisLbikqKhKJxJGREQQC4eTk9OOPPzY0NDg7O6/6TQMDA8+fPw8HthITE8VicU1NDQqFcnd3379/v52dHcSD9fb2qqmpUanULVu2CASC27dv3717VywWR0REBAQEIJHIvLy8sbExDQ0NGo32/PPPP/uowvtvGS6XOzk5GRwcHBAQAJNRCFN2dXWFozZKSkqVlZUjIyMDAwM5OTm2trZvvPGGhYUFHCGAI8n79+9fS3QP+b87Ojqio6PXrVvX1tYmFAqzsrLclvSFH8VwOBx0hC+++KKLi0tqaqqqqurs7GxFRcUjsNX9JgMTi0FnJ2huBqqqYHoaAAAkEnDxItDWBseOLbcPSSQSmUzOysp66aWXsFhsX1/fa6+99v33368wE2ZkZDQzMwPH/52dnb/77jsMBlNXV+fm5hYfH9/W1kalUuPj4wsKCkpKSpSUlPz8/KhUKkTDC4VCoVDIZDIHBgaGh4e1tLTc3NxsbW3t7e3Hx8dbW1v7+vqsra0PHTr02KHtazQ2m52VlTUyMoLBYAgEgoeHR29vb1VVVWdnJ5PJjI2NDQwMtLW1bW1t/fLLLxUUFLS1tbds2WJhYfGX0A1XUlLaunXr9evXs7KyYmNj/55o/p8USFtbG7KlqaurFxQUmJiYLBVYent7P/jgAxQKFRYW5ufn5+DgsASaf5xPgEQKBIK+vj4qlaqurt7a2hoQEEBYvg2ARqPHx8eZTKaBgUFvby/8p7e390rKb+rqoKgIsNkAAMDhgKgocH+FTSoFVVXgxx+BQADk5MDGjSA0dGXNLQ0NjYSEBDs7O2Vl5fLycgQC4enpuSoyXl5evqysrLOzc35+nsfjqaurv/7663v37nVychKJRDdv3kxKSrKyslq/fr2TkxMSifzpp5/Onj07OTm5b9++zZs3w4JVVVWVk5NTUFCQj4/PGkdnnhFjMBjffPNNe3v7kSNHtLW1ExIS7ty5w2azvby8qFQqj8czNDRUU1MrLCzs6OiYmppSU1N7/vnnfX19u7u7p6amXF1dg4OD4bde470D9YhzcnL8/f1xONzPP/+sp6fHYrHCw8N/R3VLQUFhdHSUw+HA5b5y5Yq6uvr69etnZmbs7OzWehXGx4POTphGATU18O674LPPQHo6mJz8788IhaC6GujpARsb8LCkCoFAzM/Pp6amRkRE8Pl82IpzcXFZQSFBSUmJxWItLCzAPTM6OtrY2CgWiwMDA8vKykQiER6PT0hIGB4ejoiIIBAI1dXVv/76K5xPGB0dTUpKgl3YY8eOvfnmm56enggEArrwiIgIf39/Mpn8lLfi4uLi+Ph4bW3txYsXKysrLSwsKBTK5ORkRUXF/Py8kpJSe3u7g4PD7t27aTQak8nMyMiAo5P+/v6urq56enp/Id1wFRWV7OxsmUxmYWHxzHYH/hwHFhYWpqenp6urKycnh0KhiouLl3QOVVVVfX193d3dtbW1n2hshUKhSktLbW1tlZWVsVhsdna2l5fXcp4SgUAQCITy8vKpqSk0Gq2kpCQUCmk02kr6JkgkmJsD2dlAKgXz8wCPBz4+/42I8/LAG2+A9na4U8Bnn4HVVFBVVFQaGxu1tbXb29utra1v3LgRGRm5KrEQGo3u6emB8hZ8Ph/6oaKiory8vNbWViqV6ufn5+vrKxKJvv/++19++UVNTe2FF17w8PCApNc8Hi88PHzz5s1EIlFNTe0vdPygJSUlWVtbY7HYs2fPstlsDAZjZWXl5OSEQCAUFBR0dXX7+vrKyso0NDTMzc3NzMxsbGxEIhEajd66dSsUJ1NVVX3Ub62pqZmSkmJvb29sbAzpYg0MDOTl5dcyxvDQwCU3N1dDQ2PDhg0pKSkdHR2nTp1is9lEInFJvnUVu3oVdHcDAEB/P0hKAkwm4PPvpWV4PKBQAJcLJBIgFIKKCmBmBsjkB30YAoEQiUSQKiI8PPzOnTtCoXBqamrz5s0r+HIsFnvjxg2YxAsEAjabDdG8bW1tpaWls7OzdnZ25ubmQqGwsrJSWVlZX1+fxWJ99913OTk5VlZWW7duPXXqFIlEgrCO2dlZKysrOzs7S0vLp5zHQF3clJSUsrIygUBgZ2eHwWB6e3s7Ojrm5uZ0dHRkMhkOh3NwcODz+R0dHRwOx9PT87nnnrO3t4fyY3+5JAaNRtfV1clkMh6P5+Hh8XcS9t+r/cUXX4QMuQgEQkVFJS8vz9bWFsanSCTy6cCv0Wg0rMjr6OhgsdjU1FRbW9sVWNGUlJSsrKz6+voUFBQGBgaMjIyGhoZWmmhGIICcHMjPvwfl4PPB9u1AIgFlZeDDD8FXXwEmE8hkAIkEe/aAffvWQrytpaV169at+fl5W1vbnJwcHA7n5OS0aq4pEongfGJaWhqbzR4aGrKwsLC2thYKhYWFhQAAe3t7mUwG02IMBnP37l2oB+/n5xcUFKSnp/cX4n/638qZeHJy8uuvv4ZJDJlMplKpLi4u09PT3d3dGAxmenq6r68PIrmFQqGzs7OXl1dwcLC3t/cf0VyFr6u2ttbe3l5RUREWn3t7e/39/X9HTIbBYMrLy8PCwggEwtzcXE5Ojp6enpGRkVgsXmt3/coVwGL9t4ooJwdQKEChgJdfBidPgrg4MDh4jxdmYQHU1QEaDZiZPVgPUFFRKSsrgy+qurp6YGCAzWbv3LlzBaoRDAZTWlpqaGiIxWJRKBRUPmpvb9fU1GSxWPv27XNyckpJSenv74cj0qmpqY2NjUFBQW+99RYUh0xISGhvb8fj8ePj4wMDA9ra2rAB+XSKz3CiPzU19ccffxSJRLa2tjgcrqWlpbu7W19fX1FRsbu7W09Pz9XVNTQ01MPDY2BgwNjY2M/PLzg42MjI6C8X8P2meDM/Pw+TSBqN9kcIwP6vObB33nmnpqYG1kAUFBS6urqQSORTHnpVUFCAU/rOzs5ycnIcDmdiYuI3k5K/8QRYLBaHw8XHx1OpVDh04ubmthJbq6YmaG6+J5EuEAAWC3z2GfjkE9DQAKangUwG1NXB4cPg3XfB2oCqampqly9fptFoXV1dBgYGqampcXFxq+LpoVDCtm3biouLZ2ZmHB0dIe0WhUI5fPiwq6vr1NRUS0tLdXV1bm4uGo0+cOBAcHCwiYnJkyjePk27c+fO+++/393dTSKRBALBpk2bPD09r169KhQKiURiQ0MDJDeRSCRbtmx58cUXXV1dDQwMHguMzdTU9MKFC97e3tra2oWFhT09Pdra2qampo86ELZUk2xpaXF2dlZTUysqKurr6ztw4EBaWlpAQMCaFujnn0FfHwAAKCsDGg3ExYFPPgHvvw98fACBAHR0gL8/qKq69zNSKeBywcaND1LDKCsr9/f3FxYWwsmwjIyM+fl5HR0dNze3FUoXysrKRUVFTk5OGhoa1dXVKioqwcHBjo6OeXl5JSUlN2/eLCkpqa+vn5+fh6i8b775Zv369VwuNzk5OS0tDYJf2Gx2SEjIvn37nJ2dn473GhwcrKioSElJycjIgIithYWF8vLyyclJBwcHTU3NlpYWODIVEhJiYmKioqIC8YdGRkZPjTjjSRsej09MTJRKpXg8/m8s4n9du7GxMY/Hm5mZaWho0NDQIJFI7e3tD2WFf6Lm6uqalJQkEAgwGAyNRissLFxcXFwZnkAikbS0tGZnZ9FotFQqzc/Pp6wgAqmsDIKDwfXrYGEBzMyAq1f/p8BoYwP+8Q8QFQXWfCCh4OHExIRUKjUwMMjMzMzKytq6deuqtUczM7OsrCyJRAInms+dO0ej0ZSVlcfHx5OSkm7dujUzM3Pq1KktW7ZoaWk9m2dPJpOxWCwAwNoPko6OjqOjo5qamqenJ5FILC4uVlVV1dTUxOPx2dnZDg4O7u7udnZ2JBLpsSf98vLylpaWLS0tdDrd2to6ISFhYWGhqKhoLYrGD5qlpWV+fv7MzAyJRIJTH4ODg5BzaE3gxiUQB50Ovv8eWFv/tkKoowNOnwanTgFjYxAeDuj05eCIwcHB586da21t3bNnDyxK5+fn7927dwWRMFNT05ycHB6PNzs7KxKJSktLeTyes7OzsrJyb2+vrq6usrKyg4PDkSNH7O3tFRQUbt++3d7ezufzJyYmbG1tSSSStbX12nuQf3ybdXV1JScnT05OkkgkSOcI9XJJJBIOh6uoqGhubqbRaC+88MJfgmjmjxhknMnOzm5sbFwLBev/Lw5MVVWVSqVWVVWZmJjcvHnz6NGjqampi4uLT5m7QUVFxdfX9+7du1u3bqXRaAkJCaOjoyvHyAoKCn5+fgkJCe7u7sPDwykpKbt3714puQ4PB3g86O2995+KisDEBNjagn37gJsbUFEBjzjf6u3t/e6778bFxTU0NCCRyPT09MDAwOWyQIFAwGKxWlpa6uvrxWLxd999V1paevHiRalUymAwEhMTCwsL0Wi0p6dndHQ01Pp7pjbKwsICh8MZGBhoa2trbm6Wk5MTCAQ//PDDGveJpaWlrq6ukZFRWloaFHgzMTH5+OOPtbS0jh07pqmpCSU0n9DD29nZQaIZZ2fn9PT08fHx7Ozsl19++XdkeJqampAixMbGZufOnbdu3SorK/P3909PTz9w4MDqAccSF6KGBiCRHorRAE5OICUFIJFAQWEFMJGxsbGTkxOXy+3q6oqJiYECs3DYa4W6N4FAeO2113R0dAgEgpKSUnNzc319/ezsrIaGRlBQ0D//+c+PPvpIR0fnwoULeXl5hoaGSkpKdnZ2sbGx2traKBTqKURUkOSeyWRWVlYKhUIoPA2fMzAw0MvLq6+vr6ioSE1Nbdu2baampk/nqZ4Fi4uLS09Pz8jIOHz48DM10SyRSAYGBlgs1sDAQExMzNNUb5cH/6G3+PTTT2dnZ/l8vqmpaWVlpZOT09pJoR5XEnb+/HmYhMEb4YUXXljZhVhYWJiZmbFYLDMzs/7+/qKiovDw8BWcJNiwAfzrX0BVFfj6An9/EBQEyGTwu8JJmUwmJyc3Pj6em5vr4+PT19fX2NjY1tbmswQP+Y9xOJzMzMze3l40Gk0kEk+cOJGWlqavr29vb4/BYA4ePKiiouLk5PTee+85OTn9vhGlJ2eQzqCqqqqjo0NBQUFNTY1MJm/YsEFXV/ejjz7q6OhYI8eotra2lpYWCoVqaWmB+kaampr6+vqwrvWkv4W5uXlBQcHs7CydTicSiRMTE5BMKDIy8lH/lJKSEoFA6OrqsrGxcXV1pVAoubm5cXFx5eXlfD5/dVqpJQcmkwGpdLlKJVjDO0EgEJAjqqyszNraGoFAcLncgoKCgICA5TIkBQWFDRs2YDCYioqK/Px8IpFYWFiIxWIpFMrs7CxcES0tra1bt5JIpIiICDqd7uHh8dR0TUUiUVFRUXV1NWwDm5ubj4yMQOXYdevWQUmB5uZmAoGwb9++lcU8/0+agYEBgUBYWFjIzc3dsGHDs/BIi4uLFRUVlZWVUqkUi8W6u7s/Za8hD9+LoqIim82OiIhITk6OjY09cODApk2bdu7c+TTzMB0dHS0trY6ODkdHR8iLODY2toJUHYfDQSKRGhoa4+PjfD7fzc0tPT0dThct+xm7dwNVVbBhAzAzA+rq4BH7ulAuHYJ3IVLr+eef/+6773bu3BkZGfnFF1/weLz/FIrEU1NTvb29WVlZY2NjAQEBu3btwuFwaDR6cXGxpKSEzWY7ODhcvnx5cnISj8djsdinvPArb0qBQADVchkMhpKSkpOT086dOzU0NDQ0NAYGBmDMGxMTc/36dSqVupbMCYFABAcHf/nll25ubhUVFWZmZunp6SdOnHg6lyNs8vf19dnY2LzwwguffPKJmZnZtWvXAgMDHzUJQyAQ9vb2P/30U3R0NAqF2rt379GjR7lcLkzLVgc3/mYO7I+Zg4PDnTt3LCwsZmZmiETiwMAA7K0+CIjl8/k8Hi85OTk/P19RUXHbtm1HjhxRU1MbHh6WSCQEAuHbb79lsVjHjh1TV1c/d+6cra2tjo7OUxgxlMlk8/PzY2Nj+fn5VVVVkDhjeHi4qanJyMgoMDBQRUWFw+HcuXNHXl5+/fr15ubmWCz2Lwpl+oOmqqoaEBBw9+7djIyM9evX/1lTd1C3ZHR0lMFglJeXW1parlu3zsTE5E+BRsvDM+nu7l5cXBwVFZWdnY1EIk1NTbOysjZu3PhHAGC/I7aFxUxHR0cUCuXh4VFQUBAXF7dcnLWwsJCWlobFYqenp8fHx83MzOrr67u7u1fKCWxtga3t73g2Ho/X3Nzc2to6PT29uLhobW197NgxyAgnEAjOnTsHmXYNDQ3n5+dbWlqqqqp4PJ6SklJoaKi1tfX9ETEKhbKwsGhra7O1tVVTU1vil/vTTSaTsdns1tbWrq6u2dlZsVhsY2Nz8uTJ+1lRJicnc3NzV41VjgAAIABJREFU1dTU4uLirKysZmZmINZrLX+fTCYrKysbGBioq6u3tbXh8fiUlJQdO3Y8ha8mJycXHBycnp7+xhtvxMbGNjQ0VFVVYTCY+vp6Dw+PR/1rZmZmMpkMEi/5+/ubm5tfu3YtNja2ra1tFQcmld6TTtXXB25u4A9Eh1KpdGRkpLa2dnh4ODAwcHBwkEgk9vf3QxalwMDApTVlsVglJSWlpaXT09PW1tYffvghjUZbcgBLDbODBw+OjIxoamoaGxs/nQ0pk8nGxsbKysoaGhrGx8chScr8/Hx1dTWNRjt16hSHwykvL+dyuerq6jt27CCTyf9/+q37t7GHh8elS5dMTU1bW1t/h7TCH1+ywcHB0tLSwcHBubk5Go32wQcf/B5d8sfrwAAAlpaW9fX1UqmUQCAwmUxfX99z5861t7evRNH0BMzFxeXOnTuzs7MqKio2NjbJyckzMzPLtbXgQA+NRsvLy6PT6Y2NjVQqtaKi4jEK50il0ubm5tTU1KGhIQqFQqFQNDU1ORxOdXV1ZmamiYkJkUjctGlTZmamrq6uRCL59ttvlZSUjI2N3d3diUQiHo9/aEhib2//z3/+s7q6mkgkHj169E8cRoaE4lNTU6WlpYWFhQgEQl1d3cDAICYmBofDQb8rlUpFItH09LSurm59fT3Uj4+JiUEgEHQ6ncFgGBkZreXKgyWvS5cu0en0yspKfX39oqKijRs3Pp1qvo2NzeXLlyHxmKOjY2lpqYqKSmlpqYuLy6O+f6hzcefOHShqFRgYmJaW9sYbb1y6dGnbtm0rvQqpFFhbg927gZcXIJPBI+bccLFmZmZqamogIz4GgzExMenq6tLT01NVVRUIBAAAExMTqVQqFAqbm5uvXLnS3d1NoVB27doFgQ/L+QAcDvd0JmShisXw8PCNGzd6enqsrKyMjIympqYWFxe1tLRsbGxwOFxzc/Pp06c1NDS8vb3hYPXfk0/QrKys6HR6d3d3U1OTnZ3d0/Ho8AZgMpmJiYlzc3MeHh6hoaGmpqZ/FtflQxwY5JAeGBhwc3O7fft2XFwchUK5efPmCqjcJ2FwRPTq1auHDh0yNTUFALBYLPoyIklIJNLOzk4gEBAIhPHxcWVlZQhp27dv3+NyCVKpVCAQmJqaQrB+Xl7e7OystbX1pk2bSCTS6OhoTU1Nc3MzHMvt6emRyWRZWVmr9jB1dHRef/11LBb7JwYv8/PzPT09LS0tnZ2dPB6PTCY7OzuzWKzp6WkvLy/YiltYWOjo6KipqWlpafH29t64caOxsfH3338/Nzd38uRJMzOzxsbG6enpoKCgNX4Ra2trHA7H4/E0NDQYDMbevXsrKysfWRPyd5mCgoK7u3tRUVF0dLSLi4ulpSXUkxMIBL9jFRwdHa9duwYlmmJjY1NTU8vKyjAYDJPJXAkKKy8P4uN/x8PDgVwWi9XT0zM6OkqlUl977TV9ff3+/v5//etfaWlpKBSqo6PD2NgYjUZD5F5eXp6WllZgYODXX3/9jIxAzc7Otre3d3Z2tra2Tk1NWVlZubq6dnV1TU1N7dmzh0wmQ5bL1tZWV1fXEydOPCjX8LehUKgjR47ExcUxGIyYmJgnXYGH8tlNTU1MJlNTU3PHjh3Pmpj7vYteUVGRSqXW1dVt376dx+OpqKjAbsfQ0BBhRXGHx25eXl6ZmZmw+2Vvb19ZWbmcA0MgEBYWFhkZGQEBAWfOnNmzZ8/ExAQSiWxsbHxcybW8vLy9vT2Hw5FKpTQaLTIyUldXF4lEjoyMXLhw4ebNm42NjXw+HxaUtm3bFhUVtUYEDolE+rOWfGpqKj8/v6ysTFdX19LSMiYmpqurq6SkxMjIKDQ0lEqlKikpSaXS0tLS9PR0DAZjZ2cXGhqKx+OnpqaysrIYDIacnFxpaemrr7768ssvf/XVV+Pj42v0Adra2jo6Oi0tLTgcDoqjMpnMR9aE/N86MmhpASMjQCwGhobAymqFMT4qlZqVlbWwsGBkZKShoSEWi7u6ujo6Oh6NTv4/xRwajQYBzfb29iQSqaam5vnnn799+/ZKDux3hVC3b9+G+gNGRkaRkZEkEklJSWlwcPD27dupqam1tbXy8vKOjo5mZmZQL+37779ft27dW2+95eDg8IzowHG53KysrMbGRgKBoKurC5PFhYUFQ0PDgIAALBZbVFT05ZdfQlWKF1988RlE4T47ZmNjY2lp2dDQMDQ09OQcGI/Hy83NraioMDQ0pFAo69evx+Pxz+Ci/DdT8fHxee211zZv3rx58+bExEQPD4+rV68WFhZu3779aSZhaDTaycmppKQkOjrax8cnNTV1fHx8Oa1YMpkcHx9vaWmppKTEZDL19PTWr19/5coVOp3+uJIwNBodFRUlJyeHQCAmJyerq6tv3Lhx+/bt8fFxoVCoqakZEBCgpqYWGBi4a9euZ1atRywWQ7KGqqqqgYEBT0/P119/HQ7/XbhwgUKhvPbaa9ra2nCeqba2trS01MTE5P+x991xTZ9r+08GK2zCXgkk7IQRVoSwwt64BcTRatWeVtvTU7v11NPTqqe+bbWOVqtWrYoyRFDZGwIECCOEFfbekDAzf388/fn6KgJaa2sP919+JF/45jue67nv+7qva8+ePTo6OhMTEz09PdevX4dcxKmpKUNDQyjkikAgLCwsiouLoYnBsqGoqKirq6ugoCAUCgcHB/X19WtqasbGxp65eMXjAQ4HnDkD8vPB2NivdD4kEmhqgtdeAzExgEB4cigCSmYMDAyYmJisXbv266+/NjAwiI+Ph+Pzz1pFtLW1ZTAY3t7eCgoKu3fv/uijj8Ri8dTUVH9//wtMHZBIpI+Pj5+f3+Tk5OTkJJfLPX/+PJPJXFhYoFAo27ZtW79+/TfffJOWlqaoqGhoaPjBBx+8/vrrSkpKf/haA22gW1tbq6qq+vr67O3tPTw8OBxOQUGBj49PRETE7OxsW1vbmTNnhoaGrKys3n33XQKBoKCgICMjs1owXCKgj+v58+fT09OX0s97rt0S1CerqKjo7u729PT8/PPPMRjMn1ny+H9XeWVlZQqFUlhY6O/vHx8fHxYWNjU1Bfv5L5PXD1let2/fDg4OxmAwvr6+Dx48iIuLe1pC7eHhUVBQAM2jjYyMDA0Ns7Ky2traLJ40/foNT8z4+HheXl5CQkJDQ8Ps7CzcPAYGBtLpdDc3t6ysrGPHjvn6+pqbm//ZbjCcV62oqJBKpbCmRCKRxsbGbt++PTIyYmJi8t577xkZGYnFYhaLlZWVBVWRoqOj0Wh0e3v7lStXhoeHofIpkUiEbNWuri4VFZXy8nJlZeXBwUE+nx8TE7MSxhoCgaDT6UlJSYqKikZGRvfu3TM2Nq6pqVlidGmR6OsD//43SEwEw8OP/6i7G3zxBbh/H3z7LXhCcl5VVVVHR6elpcXExMTV1VUsFhsYGLS1ta2ch/JomJubJyYmTk9Pa2houLu7Q4W99vb2urq6F1v70tDQkEqlFy5cyM3NZTKZ5ubmYWFhgYGBfX19sFQ4NTVFJBI3btwI3bnk5eX/WPTi8XglJSUsFguFQqmrqxsaGqJQqL6+vtnZWWtraysrq+rq6vj4+ImJCRKJFBAQQKPR/lgiwCsXVCo1OTn5BaIXnEYtLS2dm5vT0NDw8vJycHD4M9u4LwJgAAB/f//z589D4fmmpiYPD4/y8vKBgYEV7q9fVMAya3Nzs4ODg7Oz8w8//DA+Pv40PiSdTr9+/bqRkVFXV9fU1FRTU5OLi0t5efkSSlSPhlQqnZycXFhY0NLSerJVMDMz09PTk5GRkZycPDs7q6urq6ysjMVi165dC1Voy8rKfvzxx6mpqaioqD+VFsDCwsLIyEhVVVVOTo6ZmVlgYCAOh5OTk+vv7//Pf/6TlZW1f//+9evXY7FYSCx88OCBkpISlUqdnp5OS0urqKiQkZGB1htYLLa8vFxNTU1WVrapqUkgEAgEguHhYQAAjUZraWm5ePFiZWXlCul8ZmZmVlZWra2t5ubmWVlZJ06cSEpKWmJ06bG7BRobwVtvgaKiX/noCgpAWRnIyQGBAExNgfl5IBKBigqwdy84dw5QqY8OAiMQCC8vr59++snf319eXt7Nza2lpUVbW7uwsHDr1q3PuutXVVU1NzevqKgICgrCYrHr1q3LysoCAFRXV9Pp9Bf18gsEgv7+/vLy8uzsbF1d3ZMnTxobGxcWFr722ms8Hk9RUTEsLMzCwuL+/fulpaUQ2P6Q/bJYLJ6cnBwcHMzKyuJyuTY2Ni4uLoODg6WlpWg02sXFZX5+vqqq6s6dO3w+X0lJad26dWFhYTo6On8GIsArF3g83tbWdm5u7rf8EjjAMDo6WlFRUVBQYGxs7OnpaWpqqq6u/gp5XPyfE9XR0VFRUeFyuQ4ODunp6Z6enikpKTU1NS8ZwNBo9ObNmy9evEgmk2HXpLGx8Wnro4KCgqenJzTZm52draur27lz561btzZs2LD0uyGVSrlcbnl5eWdnp56e3pYtWx4tAEKCb25ubk9PDwKBgGr96urqUVFRmpqa9fX1X375JY/Hs7S03Llzp6en51IyjC835ubmSktLORzOxMSEiYnJJ598oqOjIxQKGQzGgwcPUlJS4Fiom5vb6OhoQkLC8PCwRCLB4/E9PT0fffRRY2Mj1AnU1tYWCATXrl3T1taG7p1KSkrOzs5mZmYZGRny8vJycnL5+fnvvffelStXMjIyXFxcVrJ0olCouLi4TZs27d+//8iRI+3t7dra2tXV1a6urst/t9FR8PHHoKDg15ohhQJiY4GnJzA0BH19IDsbXL36q11kfT34/HNw+TL4v8VJU1NTNBrd0tJiaWlJJpORSGR5eTmHw5mamnpWWT8EAhESEnL8+HE/Pz8ZGRl/f//r1697eXllZmbu2bNnCT2nlUMXlMTs6OgwMjJ64403hoeHU1JS7t69KycnZ2VlZWZmpqmp2dLS0tnZSaPRNm/e/IcYbSwsLNTW1tbU1AwPDyMQCGtra+hw9PPPP8/MzFhYWKioqDQ1NfX19aFQKE9PTyqV+gIB/r+5ivj111+HhoY+x5WUSqVwRAFOAVlYWHzyySevqEsL+jEwwOFwjY2NoaGhN27cUFBQcHBwuHv37st3UYOdajabbW9vTyaTExMT5+bmHk63PBb29vZVVVVQMwJ6AkE1modVRIlEMj09XVJSMjw8vG3bNoFA0NrampiYODMzQ6VSo6OjjYyM4HMgEomGhobgqKC+vr6Tk5NYLO7u7qZSqdra2mw2+/r16+Pj4xQKZfv27fb29gYGBn+eAeS5ubm0tLTCwkIymezi4mJubq6mprawsJCbm3v16tWqqioikfjFF1+QyeTx8fFjx46h0WgtLa2+vr7W1laBQDA5OYlCoUJCQsbHxyGq2dvbe3t7V1ZWikSi999/38rKikAg1NfXMxiM/v5+IpHIZDIBADt27EhKShoeHjZYzoYGhqWlJfRuNzc3z83NjYuLKy0tdXJyWp4sl5MDMjJ+RS9nZ/DLL8DE5FehW11dYGcH6HQQHg6GhoBUCvLzQWoq2L37MdQJDg5+8OCBhYWFiYkJLCfW1NS0tbU9B/FHV1cXrs4kEolCodjY2NTV1UHj5uemVkql0vn5eeiJLBKJ3NzcbGxskpKSoHuLVCrF4XCKioo8Hk9TU5NMJlOpVOjh95LfULFYzOfzi4uL09PTjY2NyWQykUgsLS29fPny3Nwcn8+3s7Pz8/OzsLCABH0ulwsHTP+o8du/WBCJRCwWW19fv/LnFg4wdHV13bhxY2RkhEqlBgQEmJqavtLa9gjp/5UD6OzsPHXq1Ndff52Tk8PhcGRlZVNTU0+cOGFpafmSz6yioqK4uPitt96SSCT79u2bn58/f/78ot24sbGxM2fOpKWlcbncEydOwJ5KeXn5oUOHBAIBm82GzhHm5uYODg5QkBCJRK5bt+5RfuPw8HBlZWVmZmZHR4erq6u1tXVnZ2dRURGUzygoKBAKhRQKJSgoKDAw8KWJ6zxTZGdnT01NQR8WiUTS2tqan58Pizbe3t7btm0DAMBNfX9/Pw6Hm5yc7O3tVVVVhXw8ExMTIpGIwWA8PDx0dXWHhoY4HM7c3Nz69esfJcWIxeLY2NiEhAQvLy8LC4uIiAg7O7u4uLi///3vj9l5L1Fwv3Tp0t27dyMjIz/++OPk5OTs7Ozt27cvU4OVSEBAAMjJAQAAIyNw9Sp4QrULAACuXgV/+xvg8wEAwMYGlJSA/yvvNDk5+e233+7evVtNTe3IkSM0Gu348eNUKvU///nPc1zz/Px8DoezZ88eFAqVmZm5e/duFxcXDQ2N06dPP2sdRiqVdnZ2VldXMxgMiURiZWU1MTFx/vz5np4egUAApcvweLyVlZWHh8fGjRtNTExePtkBemrX1NRAWr+VlZWlpSWkv1dVVZmbm1MoFE9PTy8vr5epgfDfGaWlpcXFxe++++6ylY/Z2dmWlhY2mw2Xvs2bN5NIpFfaX2bxDAwAYGRkJCMj097e7ubmdufOnX379mlra2dlZb18ACMSiQ8ePBgcHDQ2No6MjPzss88aGhoWLTSpq6traGhYWlpWVlayWCxVVVU9Pb2Ojo6kpCQmk6mhoWFjY6Otrc1gMAYHBy0tLbdt2wYzAHh4e3t7SkpKdnb23NxcZGSkjY0Nm82GEgAikaixsZFCofz9738nkUgWFhZ/ZkLOwwy1sbHxxo0bBQUFBgYGW7dudXd35/P5ly9fbmtra29vRyAQZDJZUVFxYmJCIpGwWCw9Pb0dO3Z4eHhYW1v39vampKTIy8tbWlpu3rwZ1tweK19s2rQpPj6+tLQ0ICCgoaHBx8fHx8cnLS1thQCGRCKpVOrFixdJJJKOjk5NTQ0Wi+VyucsA2NgY4HB+/berK3ia5oWvL3Bx+RXnenpAaSkIDn7050pKSnp6elwu18vLC4fDzc/P29vb5+Tk9Pb2PsfEiImJSUlJyeTkJBaL9fDwUFBQ4HA4zs7O7e3tz8To6e/vv337dl9fn5mZmYyMTGdnZ3p6eltbm4yMDAaDkUql7u7uwcHBVCqVRCKpqan9ITw9LpebnJw8NjYG7Y81NDTy8/PPnj2LwWC8vLzefvttc3NzHA63yoB/OYHH41NSUgYHB5cQUIUeBQUFBTo6OhYWFnv37jUyMvprQNfiAIZCobZu3drW1kYgENzc3Dgcjre397fffrsEl/13CnV1dTKZDBvsQUFBn332WXZ2tqOj45MbWyQS6efnV15erqmpmZSU9NVXX3E4HBqNdufOnbi4OKi3q6ent3XrVjweLycnh0AgFhYW+vr6KioqEhISGAyGgYGBr6+vvr7+7du3q6ur5eTk9PX1SSRSVFQUnU5XUVH58yteS6VSKNKYlpbW2Njo5uZ29uxZNBrd0NDw5ptvNjY26unpqaqq0ul0RUXF/Px8LperpaUF8w8zM7ORkZHm5ubjx4/r6+vv2rVLR0dnCeNaHx8fuO9uaGgwMDCYmZlxc3N77733BgYGHtWdWrqK6Ozs3N3dHRQUlJCQ8PXXXyckJHh7ey+19nV2gvl5WAcE+vrgaUmwnh6IigIlJWB+HszMgLw8EBj4KKUezvbl5+d7eXkFBgaeP3/e2dm5rKzs2rVr77///rO+2/r6+hBvsFisvLx8dHT09evXZ2dnCwsLiUTiskv51NRUc3NzQUFBeXm5ra3t6OjovXv3pqamoPSJjo4OHo+PjIyENld/CL1wfn6+v7+fzWYzGAwAAI1Gg73PmzdvysnJubu7HzhwwMTERE5O7hXq/P81QldXV1tbu7S09DEnbolEMjIywuVyq6ur2Wy2m5vbhx9+CElYf735hEWeORKJRCKRAAAUCiUxMZFOp2tpaUEbwJda3EQgyGTy8ePHIyMjlZSUtmzZkpKSsn///kUrtmZmZhgMxtTUtKqqanx8fGJiQkdHZ2BgoKysjEgkvvPOOw950tPT07BwX1tbW1tbq6ur6+bmpqysXFBQUF1dbWhouHXrVicnJ3d3dyKR+GfOtx6NwcHBtLS07OxsRUVFKpX6/vvvz87O3rlz58GDB0NDQ05OTqGhoXBKKS0tDRrB/O1vf3NyclJWVi4sLLx48aKcnJyJicnHH3+8EjaKkpJSVFTUsWPHmpqaFBQUurq67OzsMBhMUlLSm2++uZKXBIVCxcTEXLlyJSYm5t69ezwez8bGRiKRLLVAo9H/SykUCIBEsrj9DQIBvL0BBgPm54FYDLhcwOM9ZvNmY2Nz5cqV6elpU1PT2dlZGxsbDAaTnZ0dGxv7rG4AMjIyTk5ODAbD0dERgUB4enpevny5s7Ozr6+Px+MtQQzh8Xj5+fkMBqOrq2toaAgAcOvWrenpaQQCMT09bW9v7+vr6+Hh4eDgsLzC/e8T09PTZWVlZWVlaDRaV1cXMk5TU1PhEnH48GEKhfLnaQD/FwYSifT29j516tS6devgSiWVSmtra/Pz86emptTV1Ukk0u7du//aTUc0m82GcPVkGBkZIRCIwcFBc3NzNpu9Ip7YC42Wlpbp6ekHDx5s3LjR39//6tWrLBbL09Nz0Xu5bt06JpOJwWByc3PhKkAkEgMDA11cXCDrpre39+TJk7W1tXNzc4qKilCHe3x8vKamBuoMffzxxyQSSUtLC4PBvCpbFaFQePPmzfLy8oCAAC0trQ0bNqBQqKNHj9bV1Wlpafn6+k5OThYVFU1PT8vIyDg4OBw9etTOzk5WVnZ8fBya47m5uW3ZsgW2+lb4rWVkZPz8/K5du8blcikUyp07dw4fPuzk5BQfHx8UFLRCl0tHR8cLFy5oaGiYmJjk5+cfPHhwmS28uvqvfA2pFPT3g8lJ8LQui4UFUFQE4+MAADAxAaanHwMwDAZDp9PT0tK2bNni4uLS29vr7+9/4sQJqDvwrLeASqXeunUL2gDZ2tqSyeSOjg42m93X1/ckgAkEgqGhoeLi4itXrgAAmpubZ2dnJycnZWRksFgsFov19/fftGmTgYEBFot9+TmNVCrl8XjDw8NFRUVMJtPExMTe3n5wcLC6uhq+IxERERoaGn9UDXM1HoZYLB4dHR0eHu7s7IRisEwmMy8vT01NzcfHBzJUX5X9928CsBs3bhw5cmTRyomioqKdnR2DwQgLC/viiy+W2SD/DmFvb3/16tXa2lpfX18SieTm5nbt2jUajbboadjZ2enr609PTyORyIMHD168eNHb25vJZM7Pz7NYrF9++aW+vl4kEkHvkoaGBllZWUdHR3t7ez8/PyqV+pLzyxe44nC53N27d6uqqhYXF8OpZB0dHagyd+bMGSwW6+7u7u7uHhQUpKOjA7XJ+/r6hEKhi4vLjh07nu8pd3R0dHR0TEtLm5yc7Ozs7Orq2rBhQ2lpaWpq6oEDB1aYhNnb2zMYjK1bt/7www+7du1ahsRoYAD09X8dXmazQUfHUwFMRgY8JPtAAfgnIigo6ODBg2FhYWQyGRovnDx58scff9y4ceOzLs0YDGbNmjU5OTlRUVFYLNbb27ukpERRUbGoqMjGxuZR6KqpqcnJybl169bQ0BAajRaLxQKBQE1Nbc2aNSYmJmg0WkVFxdvb28HB4Q9hZ3C53MrKyq6urpGREVhF7+joaG1ttbGxeeedd/4QzshqLBr19fVFRUX5+fmTk5NaWlrfffedo6OjqanpO++8s0Jl7b8OgAmFws7Ozqftmmk02ocffhgTE4PFYjkcztNytd8p9PT0DAwMpqenGxsbaTRaVFTUF1980d7evqiQoJqampubW0NDg4aGhpWVlYWFRXZ2dnFxsays7OTk5NjYGAKBgA4O8vLyBw8ehCS6h5rrr2jIyMgYGhp+/PHH5ubmUGZCJBI1NDTweDwajfbNN9/Y2dnhcDjoJPn9999LpVJXV9eoqCg8Hv9bZnHU1NQCAgKys7OLiop8fX2zsrK2b9/+97///eTJk6+//voKiblWVlY3btx4++235+fnuVzuMgAmIwO8vEBNDQAAdHeDwkLwNAIxnw+mph7uwsBiJRR5eXkCgcBms/F4vFAolJGRCQkJiY+PZ7PZz+FmQKPRLl26FBwcLCcnFxUV9eWXX/L5/MzMzF27dqFQKCgMf/r0acgMguJyXV1dk5OTRCJxx44dPT09k5OT9vb2zs7OL83N5LHIyMgoKChwcHDo7e1ls9kyMjJeXl6xsbFWVlaPcvQlEolYLEaj0atg9vJTLpFI1NbWdu3atZSUlO7ubiUlJUj7DAgIMDEx+e+kfaLd3d2Li4tNTEwWTWtUVVU9PDzu378fHR199erVf/3rXy8zCUMikRERET///HN2djaNRgsJCTlx4kRWVpapqemTpyEnJ+fk5HTnzp3Kysro6OiSkhIo2yoQCKDmChKJNDIy8vLyioqK+tOKFj5riEQiLpfb0dGhpqaWk5MDS0D//Oc/AwMDdXR05ubmWltbk5KSGhsbVVVV4+LiXqCYdHR09NGjRwcGBmZnZzMyMqKiovz9/S9dusRkMul0+kp+A5FI7Orqmp6e9vX1hayKZQ5YuxZcvAj4fCASgW+/BdHR4MnpS7EYJCeDyUmY5QEyGSyWWyMQCEdHx9raWgcHBzk5uStXrmzatOnBgwenT58+efKkrKysSCSSSCQrxHhdXV1FRcXW1lZra2s8Hu/j41NYWLhmzZpLly7JyclduHChrq4OuiX4+fk1NTXx+XxdXd3g4OD8/PyampotW7Z4eHj8geQ9gUCAx+OnpqYaGxvRaPRHH33k7e39UBtMIpEMDQ319fX19/dDeDt27NjLlJf7b46xsbHe3t729vaGhoaenp7a2lo0Gk0gEPz8/DZu3EilUv/LuTNoGxubX375ZWZm5mm7Znd39wsXLgQGBvJ4vKGhoRXSzF5UmJubY7HYwcHBzs5OPB7/wQcfMJnMRdvjHA6zCiiyAAAgAElEQVQnMTGxq6sLmk+ampricDgLCwsGg0Gn0728vIhEorq6+l+JQgozMHd394yMDBQKdfr06YSEhJKSkvXr16NQKDjUrKmpaWNjs3fv3hdeW1BXVw8ICLh582ZNTQ2cVHVzc4MsxxX+Bh0dHQKBkJycHBAQkJubu/wB1tbAwwPcv/9rEvbll+Bf/3pszAtwueDsWQBVdpSUQHAweAowQC2r+fl5Mpl8+PDh2NhYEolUXFzc3NxMJpNbWlra29vDwsJWWEU0MjJqaWlBIBCjo6PR0dHJycl5eXlJSUnKyso7duwICgqSSCTq6upQQHJhYcHBwYFCoejq6trZ2S2P3L8ndBUVFUFpFWtr63Xr1llaWsKaxPz8fEtLC4PBaGlpkZeXV1dX7+joYLFYeDx+Nf36vUMoFGZlZRUXFw8PD1dVVSEQCA0NDaFQ6OPjY2tr6+TkhMfj/xtaXMsG6ttvv2UwGGpqak9TIJWTk2Oz2aqqqggEYnJy8gWK5K5wgW5sbLSyssrNzbW1tZ2ZmWEymQ4ODhDA4IBeRkbG4cOHc3JyaDTasWPH9PT0ZGRk4uPj5eXlNTU1v/zySz8/P2NjYwwG85ecUDEyMrp27ZqMjAw0QoPDcFlZWRoaGlu3boWU99+p666goJCTkzM9PR0ZGTk0NESj0XA4XEZGxponhHQXf/hQqOnp6WvXrm3bti0jI4NCoSzDuMNggIoKyMsD09MAAFBbC5qbARzeWlgAg4MgLw/s3AkaGoBUCtBosGMH2LcPPOWLKyoqNjY2wlTs9u3bWCzW0dHxypUrRkZGrq6uSkpKP/zwg6en50qSMAQCgcFgkpOTCQRCYmLiwMAACoUyNjZ2dXX9n//5n4iICH19/erq6qtXrwoEAhsbm/feey82NtbR0VFNTa2srGzR4ZBnDalUuvJbPDY21tLSkpKScvHiRalUGhsbGxAQYGBgIBAIIK3/1q1bCQkJo6OjRkZGlpaW8/PzDQ0NBALh4MGDcXFxrxDL6c8f0OytuLjY0tLy4VWdmpoqLi7mcrn5+flycnJjY2Nzc3NGRkYHDhyg0+lYLPYvthF//gwMluni4+MhD/jJT8jLyxOJRDabbWVlVV5eLhAIXqaOmby8PB6P7+/vr66u/uqrr3R1dSMjI/X09CYmJjIyMgoLC6EJ5759+7y8vCBh9L333hOLxSMjI2+88cZ/wy3EYDDh4eFnzpzp6enB4/H6+vqDg4Pnz59/CfKMlpaWLi4uaWlp8/Pzvb29Q0NDRkZGsbGxK/8N7u7uU1NThYWFvr6+ycnJ+/fvX2plRCBAYCDYsQMcOwakUrCwABISQG4uIJGAsjLo7wctLWBmBgAAkEjg6wsOHgRP37IgEIjQ0NDz58+7u7s7OTnl5OQcPXpUX1//7t27u3btUldXd3V1zcnJiYyMXAl4LCwslJeXd3V1VVVVvfnmm5cuXTIyMrpy5QqLxbpz505GRoampua+ffvodLqVldXD72hkZDQ/Pw8bY7+ljFxTU8NkMvfu3bs0rkgkks7Oztzc3O7ubgwGY2tru27dOmjx3NbWBgCQlZVVVFSEluICgaC4uLi2thaDwZDJ5OjoaC0trVXceoHR3d2dl5fX09MDbdwhS25mZiY3NzclJSUzM3NiYgJWnjds2ODp6UmhUP4yvY8XBmAAAGtra4lE0tzcvKjcBgKBcHZ2Pn78eFBQ0J07d6ampl6OcK1UKp2dnR0YGGhuboZTrlpaWhs3buTxeJ9//jmLxdLS0tq9ezdcsh/djyAQiPDw8LS0NCcnp1fxlkgkkrGxMZFIBM0zV3JIRETEt99+m5OT89prr6mrq+vo6HR1db2E26Svr0+hUCorKwsLC/fs2ZOamvr6669ra2s/028wMzN78ODBkSNHTp48OTAwsIwXiaws+Mc/AI8Hrl0DPB4AAIyPg8LC/wNyyspg3Tpw+DBY0iRlZGSkoKAAymhFRETs2bNneHh406ZNCQkJhYWF4eHhFArl559/9vf3f5oqtEAgGBkZqauru3HjxsTEhKWlpZKSkpeXl6mpqaGhIewYZWVlrVmz5tixY9bW1urq6o/VAGDlAzoBPcdzMj4+3tzcnJaWhsFggoODn4YuIpEIplxZWVk8Hs/V1TUsLEwkEtXX19+7d09NTc3R0TE8PByLxcrKys7OzjY2Np4/f14ikdDp9JCQECwWuzrv9QJrg5OTk42Njbm5uTMzM15eXp6enrq6unJyckNDQ4WFhadPn25sbBSJRPr6+hEREVu3bjUxMflDZipeDQCDGmu+vr65ublmZmaLrph6enqGhoZtbW14PJ7FYgUEBPzepzU6OlpUVNTU1DQ7O+vm5tbf3w/NlxkMhqKiopOT0/nz55cQ/rG2thYKha/czZBKpZDmzuFwoO/JCjuOxsbGfn5+N27ciIqKqq+vJ5FI1dXVDg4Ov3edAYVChYWFJSYmNjQ0wJMfHR19JuCEA3yHDh2C0FVVVbW8mRYWC44eBVQq+P57wGaD2dmHvwvo6gJPTxAVBaKiwHL+ZKqqqlwul0AgFBYWRkREyMrKlpSUREZGMhiMixcvTk1NdXd3EwgEyWIs/Lm5ufT09JqaGhaLhcPhoqKiwsPDEQjEzZs3PT09Dx8+3NXV1dvb6+rq+tZbby1BD0MgEL6+vmfOnAkICFh5fRtS3hkMRkdHh7Ky8s6dO58mWzU7O8tgMDgcztDQkFAoNDAwgMja3NyMwWBcXFw2b94Mq/Gjo6MlJSVtbW0TExO6urq7du0iEomr+dYLjKmpqaqqqvr6+snJSXV19Q0bNlhbWyORSKiBmZWVdf78+fr6enNz87Vr1/r5+fn7+6/apC0PYPX19ba2thYWFiUlJaOjozo6Oot+btOmTSdPnty3b9+ZM2f8/f1/pydbJBJNTk5ev34d2noFBQUZGBgwGAw497B582bY0VnJfX1UqPdPEmKxeH5+fm5u7uHMmVQqFYvFQqEQhUKNjIwkJCS0t7d7enru27fv4sWLhYWFj4nEPC3g/FB5eXl7ezuUIJGXl5+amnoJzFooUd/f35+WlhYaGlpfX79CCuLDcHV11dDQyMjI8Pb2LigoCA0NXX4pV1YGW7cCNzfQ1ATq68HICFBRAWZmwMwMEIlgZa+9rKwsjUYrLi5WUlISiUR+fn537txxdnZeWFhoaWnp6OjYsmWLiYnJw4K5VCoViURTU1M//vhjeXm5goJCVFTUli1bCATCw89s2bIFhUJRKBQcDrdhw4aVYLmxsbGMjExbW9uypkXwaenq6rp9+/b4+Libm9vOnTsNDAye3KaIRKKJiYm7d+8WFxfr6urOzMwMDw9ra2vLy8ubmZnp6uoaGBgoKyvDb9Tc3JyYmNjb2wsFaMzMzNTV1Veh60VtSUUiEfTBYbPZNjY2rq6ueDxeV1cX3s3BwcH4+Pjr1693dHR4eHi89dZbLi4uOBxu1SZtpQB28eLFo0eP6unpaWhoNDQ0PA3ADA0NlZWVZ2dnMRgMh8N5dELzhdzmkZGR2tpa6D4eFRW1du1aNpudkJDAZDJh6zg1NXXv3r2v6KwDLBpUV1e3traGhIQEBARAildnZyeTybx//z6UFwkJCXnYBIqKijp06JC/v/9KvjJUg7x58+adO3doNFpZWZmDg0NbW9tLuFwoFGrbtm1VVVXl5eUxMTHFxcXLSBou9mj5+/unp6fHxMS0tLQkJSU5OjqamJgscxgCAQgEQCCA0NDnPnlfX9/bt28bGBiUl5cjkcj6+vpz585t2rQpKysLiUQaGho+NNnhcrlVVVXp6elTU1POzs7ff//9okU/WOd5++23nykHDQsLS0tLO3DgwBLXbWhoiMViVVdX83g8T09PMpn85AmIRKLe3t6qqqq8vLzCwkJTU1MTExOBQODh4eHj4/PoqP709DSLxaqrq2tqakIikVFRUQ4ODqusthcYkA7T0tJSU1MzNzcXEhLy+uuvw8kE2K+pra1NSkqqq6vD4XDbtm0LDw/H4/Gr1+2ZAUxdXb2hocHR0dHT0/P27dtP2z4jEAh7e/u6ujoqlcpgMKytrV/UHm10dPT27dtwB+rr66umpnblypWTJ0+qqan5+flFR0fr6enl5eXxeLyxsbFXDsAg2YTJZOJwODs7u5iYGD6ff+HChaamJnV19c7Ozra2tsjISDqdTqFQMBhMZ2cnEomEBksyMjL37t2Li4tbyR8yMTGxtLTkcDh0Or2npyc6OjonJ8fZ2fklfEcbGxsrKyvIt56dne3p6cEt2Xx6spRHIBD09PQKCwupVOqPP/4YExNjbGz8EnhWKBRKW1s7IyOjsrLS19eXQqFoamoqKSkNDQ1B7TEzM7OioqJffvmlp6fH0dERSk+98OYigUB48ODB2NjYor95dHQUmoGZmZn5+/sPDQ0VFBRoaWk9CmAikai2tvb69etlZWVdXV1kMvn111+HppePycOPjo5mZWWVlZXp6elZW1u/8cYbOBxuldL2AgOyMAoLC6FM2rZt2x5S3kUiUUlJCZxvQaPRwcHB+/btI5PJq9Yzzw9gUPmGTCbb2NjEx8dzOBxra+tFP2pra3vt2rXIyEgWizUxMfEbLzqfz+/o6MjJyenu7vbz83N0dOzu7j527Njc3BydTj9+/Dg0U09JSRkaGvLw8Dh9+vQfpWr6fKjc0dHBYDBaW1s9PDz27NnD4/FaW1vT0tKg1ZOVlVVFRYWVldW//vUvLBb7cPM7MDBQW1u7a9cuaPPx1VdfCYXC1157bdm/iEAgPDw8bt26NTIyIisrC2uSz2cR8qwBlV7b2tqgpOHly5c//fTTla+JKBTK1dW1urr66NGju3btGh8fLy0tDQ4Oflox4LcH5ExC5y2RSESn07u6uigUyr179zIzM83MzD788MP8/PxPP/10enpaRUVl27Zt7u7uioqKv1OOAnk3jY2NjwIYn89vbW2tqKhgs9mBgYHBwcHt7e2pqalYLPadd96BF4fH43V1dUHXt4mJCRwOt3HjxoiICGgm8PAWSKXSwcHBtra2kpKSrq4uT0/PQ4cOKSkpyS3XJlyNFYZYLIY0mdLS0tbWVjc3twMHDmhqasIrzOPx2tracnNzb926NTs76+LicurUKSsrKwUFhVVqxm8FMDKZ/ODBg/HxcV1d3fDw8Bs3buzfv3/RnaChoSECgRAIBEgkcmBg4LkBbG5urrCwsKKiQl5e3tbWVk9PLycnp7W11c7Obtu2bTY2NhUVFYmJiTIyMlpaWhEREdbW1q/KDlEqlfb09OTk5PT09CgrK0NFq4aGhtbWVnl5eVNT09DQUBaL1dPTY2xsfOjQIX19/ccSWQsLi/j4+IsXL8KuO5/PP3r0aExMzLKS0g0NDXfv3p2enk5OTiaRSPX19TQaLTc3F/pYLh/j46CiAjg6gmdPL+Tk5JydnSsrK/Py8iQSydzcHJfLfaZ5QTKZLBKJSCRSdna2vb09FCDesGHDC79BkNTAYDCQSCSBQHjvvfcQCMSRI0f6+vrOnj2rqampqKjIYrFmZmb4fD6NRvPz87O1tf29Hz8ZGRno5gwrydPT03l5eTU1NQoKCmQyefv27e3t7RcuXJCXl1+7dq29vT0CgRAKhZWVlT/88MPAwICxsXFcXJy9vT2JRHpsQZRKpfX19QUFBTweT1VVFQotvswxmL98CIXC+vr6vLy8kZGRyspKAMCZM2cgp0YqlcLecGFhYWFhIQKBWLduXUxMjL29/eoteJElRCcnp6ysrLi4OEtLy+++++7IkSOnTp1a5KNodFBQUG5uLolEYjKZz9oGg43lsrKynJwcAwMDBwcHJpP53XffqaiobN68efPmzXw+v6ioKC8vz8fHZ+PGjTo6OsrKyq9EM1kikUxNTXV2dmZnZ3d1dTk5Odna2kL3PxKJ5O7urqGhMTs7e+/evbGxsdDQUFtbWw0NjUcLO/DidHZ23rt3r7a2VktLa+vWrUpKSpOTk7/88guDwfDx8Vn6HKB9l4KCQlFRkaenJ5PJDAkJgWK7S5h6AABAXx84dw7cvQtGRsC//gVeew08+zV3c3O7fv26gYFBcnLyunXrSkpKiETiytd9BQUFGo2Wk5NTVVUF+XgZGRl0Ov1FlVbm5ubGxsaKiopKS0stLS3Xr1+vqak5Pz9fUVGRnp7e29uLw+Fyc3MlEsns7KxAIMDhcFevXnVwcHhpk++Ojo43btzo6OiAgr8UCmXLli06Ojp8Pv/MmTNjY2ObN28mEokSiQR+Jj8/X0NDIzY21szMTEND47HxIKFQODY2xuFwMjMzMRiMt7e3hYXFKhX7xb7vo6OjpaWlubm5KBQKiUSOjo7GxMRQqVQDA4ORkZHGxsb4+HgojiwvL799+/aYmBgTE5PVgYQXGwg4bvXBBx8cPnxYQ0Pj0qVLn3/+eVVV1aJJmFQqff/993fu3HnmzJn/+Z//WWEJQiwWt7a25uXlDQ0NzczMqKurNzU1LSwskEgkGo3G4/E6OzsnJia0tbX9/PwIBMIrVJGXSqWNjY1MJrOnp2diYkJdXV1VVXViYkJOTs7Nzc3JyYnH4zGZzNra2vn5+ZCQEGdn58cWET6fX1NTU19fPzIyoqioGBwcrKSkdOrUqWPHjqFQqKSkpGPHjrm7u//nP/9Z+rJIpdJ33323oaGhqamJQqGMjY2dPXs2MzPT19fX3t5+qe9QXAyiosDYGAD/X2xwacB7SuTn53/wwQf9/f3379+/ffv2gQMHsFjsyg/ncrkfffRRY2MjRD53d3dtbe3Y2NjfuIMZGxurrKysq6vj8XjQZAuDwVRUVLBYrP7+fjQaLSMjk52dXVZWhkQilZWVvby8zMzM2tvbL1++/NLWGoFAUFlZeerUKbFYHB4eHhkZqaKi0tvbe//+/Y6ODl9fXzc3t9bW1rq6usHBwbm5OUtLy6dxrGdnZysqKhoaGkZHR7W1tQMCAlbobrMaKwlIfmlsbBwaGuru7p6fn9fX15eTk6NSqR4eHggEora2Ni8vD3KCaDQaHFqIiooyNTVdJXb+LhkYAACDwVCp1JycnM2bN0NjkdTU1EX7LrDRUldXB60j3dzcls26Ojo6fv75Z4FAYGxsPDY21tXVRSKRoqOjFxYWmExmenq6vb09NHd/hUyGpFKpUCisq6u7ffu2VCrV0NDo7u6WkZHR19e3tbU1NDTU0NDo7+8/d+5cW1ubo6NjZGSkqanpo9RYkUgE2+mlpaVWVlYUCoVIJGpra8O5EFlZ2Y6ODiKRSKVSjY2NBwcH+/v7l551RSAQERERbW1tWlpacnJyQqGQw+GYmZnV1dUtA2BOToBI/BXAWCzQ1ASo1Oe4Jg4ODpaWloODg5WVlfr6+iwWy8/Pb+WHa2trm5ubz83NdXd3m5ub8/n8mZmZsbGx57O5gaO79+7dq6ystLOzg3LdKioqIyMjn332mZKSEg6Hgx1KLpcLAFBUVAwLC9uyZYudnZ2uru5XX33V0tLy0iYxTp06NT8/v23bttTU1M2bNwsEgqSkpPz8fG9vbzqdzmKxPvjgA319fTs7O1dXV2Nj4yfryWKxeGZm5u7du6WlpdbW1g4ODmZmZqvCGS8q3xKJRN3d3ffu3WtoaDA3N1dVVe3u7kaj0aGhoWQy2djYeG5uLjU19ebNm7Ozs+7u7gcPHjQzM9PR0ZFIJAgE4i+pYPcnAjAAAI1Gu3z58ujoqLW1tb+//40bN9auXbvoFs/W1vbWrVs+Pj737993dnZetK0tlUrHxsaYTGZRUVFdXZ21tbVIJGpqanJ1dfXz8+vq6srMzDQ1NX3ttddeue0hHBJisVgFBQU9PT0UCgUaTLz11ltkMhnmmgwGo7q6WiAQhIeH79+//9HMCSI6m81uamoaGRnx9vb+7rvvHiuIIxAId3f30tJSAoGgr6/v5OTU0NBQV1e3rFiDi4uLnp7e9PQ0BoOZn59PS0s7derUp59+umnTpqVaaPLyYPt2UFEBpFLQ2QmysoCLC3j2V05ZWTkoKKivr+/GjRtnz549efKkm5vbysdZFBUVTU1NlZWVjx075unpWVFR4ePjU1lZGRQU9Eyn0dfXx2azWSzW8PCwr6/vd9999/ARhUM5ZDI5MTHx6tWraDTa0dFRR0dHX19fWVnZ09Mz9P8z8ul0emFhIYlEejnFAEjiCAgIYDKZ586d6+rqQqPR0NGtoKDA09PzyJEji76M0Dy+rq6uvr6+s7PTx8fn2LFjK/SyWY1lN6nDw8NcLpfD4XC5XIlEYm5u7uXl1djYODIy8uabb5JIpN7e3pqamh9++KGpqcnExOQf//iHi4vLo+/aKr3zJQHYwsJCZWUll8vV1NTcunUrlBhftO+ip6eHQCDEYjESiezv73+SMD0zM3Pjxg04cy4rK0ulUqF04eTkZF9f38DAgIODw86dO1+510wsFufl5WVlZbW3t3d3dxOJxM2bN+PxeFtbWy0tLaFQCFW9MRiMqalpXFyciYnJo+gOD8/Ly4PDpCEhIdbW1k9jtREIhIaGhunpaWVl5fDw8IyMjPb2drFYvPT7ICcnZ2dnJy8vz2Qy1dXVa2trRSKRmZkZk8n08PBY6rt5egJdXTAwAAAAiYngww+fA8CQSKSjoyOsn3R3d5uZmTEYDF9f3xUejkKhCATC9PQ0DocbHh6G7o5ZWVkrlKiQSqVdXV0pKSkDAwMEAsHf39/a2vphDVAqlXZ3dycmJnK53Pb29tbWVlNTUz09vbGxMVNTUxKJZGZm9lB4DI6XtrW18fl8teeqpj5ruLu737x509fXV0lJiclkvv/++z09PTMzM6GhoUQi8Wmbj56enoSEhKGhISKR6O7u/sYbb6xanLyQEAqFtbW1mZmZk5OTRkZGpqamampq1dXVAwMD5ubmO3bswOFwVVVVn3/+eX19vYGBgbu7+9tvv70qD/9HAhgSiVRVVb1165aLi4uNjY2NjU1GRoa7u/uTbBl5eXknJ6fa2lpjY+PGxsZHAUwsFnd0dNy7d+/777+XlZW1sLDw8fHp6elpamoyNzfH4XAsFktdXd3a2voVQq+ZmZnu7u6MjIzbt28LhUJdXV0XF5fDhw/jcDgFBYW5ubmOjo7MzMzy8nICgQCVESCfAh4+PT3d1dVVWVlZXl4Op3P09PTk5OSWXpTxePz8/PzQ0JCysrKJiQmZTM7NzX3ttdeWlvKUkZExNzdHIpGtra3Qur60tHTt2rVnzpxxdXVdivhkbAwCAsCVK0AqBXV1gMEAnp7Pca2IRCKBQIC6OFu2bElNTYWy7is83M7O7vbt23FxcUePHn3rrbc4HA4ej09PTw8JCVmivAOFkUpKSng8Xnh4+K5dux4yyBcWFnp6eurq6n7++WcOh6Oqqjo/Py+VStesWYNAIAgEwv79+y0sLBQUFKAuPofDqaioYDKZVlZW77777ksb24B9lM7OTltb26qqKgKBAJm3TxYA4agy5GQLhcK1a9eSSCQMBrO60/+NIRKJRkZGOjs7YfpuZGQEjQja2toyMjIMDAxee+01NTW1wcHB3NzcgoICsVgcEBDwt7/9TUNDQ1ZWdrVU+wcDmI6OjpWVFZvNhrbL0dHR33zzzfvvv79oH97V1fXu3btRUVHl5eWwwjM/P19YWFhQUFBZWSkSiXR0dJydnY2NjdXV1bFYbHd3N4/HU1ZW3rt3L1xhX4lLw+fzCwoK4POqrKzs4+Pj5eXl6OgIqXGjo6MpKSkdHR0KCgoEAuGzzz57jPYyOTmZm5vLZrNlZWWtrKz++c9/rlzlVl5enkwmM5lMIpEIjTpramoaGxuXlScmk8nZ2dmBgYFFRUUSiQR6SyorK7e3ty+q1PxrKCkBOh0kJwMeD0ilID4e0GjPl4TFxMTcu3ePyWS+8cYbaDS6o6Nj5QbH6urqUERHQ0NjdHQUarJkZma6u7sviiXV1dUFBQXT09Oamprh4eF2dnYPHy0+n19SUpKVlZWTkwNNGlVUVBYWFuzs7NasWWNjY+Ps7PxQdHFsbCw/Px/eKWtr68OHD7/k7pGSkpKRkRGssfN4vJ6enidv1sLCQnV1dXFxsVAoxGKx27ZtIxAIq6zCF/KaM5nM8vJysVisrKwMCTK1tbUFBQUoFAqHw33yyScIBCInJ6elpYXH4+nq6u7du3eZHeFqvGQAg68QACA5OdnCwsLNze3cuXMlJSURERFPHqOoqOji4vKwQJybm/vgwQM42oxCoahUqq+vr6KiYkdHR3FxsY6Ojr+/Pw6H09TUfFX2KWKx+Mcff4QCJXQ6XSAQfPbZZxoaGrBE0NjYmJaW1tPTQ6fTY2Ji9PT0Hu308Hi84eHh9PT0pqamNWvWxMbG6ujoPEdtx8fH55NPPlm/fr2srCyZTDYxMblz587TLG8eho6Ojpqamq6urpGRkba2dnV19fT0tJmZGZvNtrCweOqxCATw9AR4PKirAwCAkhLA5YKn6MMuHYaGhl5eXvfu3aurq3N0dPz222/Pnj278ld906ZNx44dW7NmTVlZGYVCaWlp0dPTY7FY3t7eD3fK4+Pj9fX16enpysrKdDodWp6iUCiJRMLn86EA/IMHD3g8HlTxwWAwOBxuzZo10dHRFhYWmpqa8vLyUql0cnJyYGAgIyOjra1tzZo1cXFx2traf0gVDho+XL58OTw8fM2aNXfu3Pnwww8f/UB7e/upU6cMDAx8fX1xONyTqvar8Xzxww8/sFgsW1vbkJAQdXX1+fl5BoORkpLi6uoaFRWlpKQ0MTFx/vz5wcFBLy+vuLg4NTU1VVXV1Xz3TwdgCASCRqN98803Ojo6LS0tlpaWW7duTUtLCwkJWXSXRyQSP//8c4FAsH379uDg4M8++2xsbExWVtbOzo7L5ZaXl4+NjeHx+H/84x8GBgavXH49Pz9fUFBw+vRpLBYrEomysrJQKBREL6lUWv5hf7gAACAASURBVFFR4enp+dhAqEQi6enpKS8v53K5CwsL3t7er7/++m/hYaupqZmbm1dUVNBoNCsrKw0Njba2tqGhIV1d3aWXwqioqGvXrmlra3t4eMCekIODw9WrVyMjI5eq0ePxwMfnVwDjckFxMTAze46BMAQCERgYWF9ff/v27bNnz/78889FRUUr74Th8XgVFRUCgVBcXCwvL5+ZmXnw4MH79+97eXkJBIKqqirIztDU1NyzZw+RSHy44YBVRAaDkZOTIxaL5+bmJicniUSim5sbjUYLCQl5mP5CJTomk9nZ2SkWi318fPbt2/eHa1KYmZmJxeLOzs7169fv37//9ddffzSh19LS+uc///kKKdG8KuHn57djxw4AAIPByM/PHxsbs7Oz++KLL7hcbnFxMTQmDQ4OtrW1Xc23/tQABgDA4XAyMjLKyspVVVU2NjZbt27t7+9vamoikUjwA5A7Xl9ff+HChdbWVktLy+Dg4KSkpI8//lhWVhYqgB0+fNjExMTDw4NIJL5CKdeTKaaVlVV/fz+c/fT19U1PT9+6dStcoLdv3/7wk/CadHR0JCQkjI2NUanU9evX43C4ZYUzVhI0Gi07O5tKpcrJyXl4eJw5c4bFYgUHBy99FCSju7q6trW1qaqq1tXVxcbGzs/PDw4OLsNj3LQJnDoFJBIwMwNyc8GmTeBp6YhUugS2WVtbEwiEqqqqjo6OTZs2QfhZebGLQqHw+XwFBYWFhYXJyUmBQCAQCC5cuAB5mC4uLuvWrdPV1UUgEBKJRCgUlpaWwonRwcFBFRUVuP/w8fGJiIiwt7fH4/GwcQg9JxsaGhITEyUSiYuLS3R0tJGR0W9ZmKAD4YtKwiIjI5OTk999910NDY2ysrLw8PCHP10lFv4eIZVK9fX1y8rKEhMTTUxMHB0d8Xh8TU3NJ598YmRk5OjoGBISoqent1qnfTUADIVChYSEVFRUNDU1GRoaNjQ0LCwswJvH5/Pr6+vLysqgUX1QUNCJEycwGAwUqrl69erc3FxrayuFQjl69OhfY5/o5uZWVlZmY2MDzdI++uijiIgIuD4+3PU3NTVBjXkUCrVhwwZbW9sXC9gEAiE9Pb2zs5NIJIaGhn711VccDsfPz29pshMKhXJxcRGLxVgs1sHBISUlZfv27Rs3bqyqqloGwGxtwZo1oKQEAADu3QM9PcDK6vHPjI4CNhs0NoJdu8BTTkNDQ8PKyqq2tjYtLW3v3r3p6ektLS1PE9hc7Cxsk5OT165dm5SUFBoampCQ8O677xYVFR06dAgmJVKpdGJiorm5+f79+6mpqT09PTIyMnp6emvWrMFisaGhoR4eHo+yB+fn52Fzt76+Xk1NbceOHebPVR19NAYHBxkMxvT09KZNm15U9ubs7Hzr1q2hoaGIiIisrCw4c726Qv1O0NXc3Azt3HR0dHbu3Dk8PFxdXX3r1i07O7t///vfq+q6rx6AwcLg8ePHZ2dnxWLxli1btm/fLpFIfvzxx9zcXD6fHxkZ+cknn7i4uDzctCIQCDqdXlRU5OjoGBcX91eyX4NMWajlKicnZ2JiAi3K4E/7+vouXbqERCKJROKuXbt+Jz1vFRUVfX39pqYmIpEoKysbFRWFxWJXsuW3sLAoLCz09/f/+uuve3t7h4aG4GTrMocpKIDQUMBgAIkETE6CjIz/A2BdXSA1FaSng+pqMDcHnJ3B0xklZDL5m2++qa+vn5mZsbW1XUIhetEqIp/Pp1KpFy9e1NTUzM3NFQgEMP2VSqUDAwNpaWlpaWkcDmdqagqJRMrIyNjZ2YWEhNDpdAsLC/hwwpEDaDtZWlqqo6NjZmZ24MCB317Q7uvrO3/+PCSqrci6bMWBQqGgIqKDg0N8fPzIyMgzifqvxgqhq7W1NSEhQSgUWllZ+fj41NTU3Lp1i0Ag2NnZ4XC4yspKHo+3CmCvDIBJpVI+nw8bVzU1NXp6ejExMT/99JNQKHz//fe7urosLCw+/fRTHA6npKT05Mvv5OREoVBexSxbKBSKRKKntamMjIyEQiGsSqHRaBKJxGazHR0dIVCpqant3r1bRUXlUcb8Cw8kEunl5XXu3Lng4GAUCkWn0yFXalmwNDU1TU1N1dHRMTc3r62tvX///s6dO5cfaUKhgI8PMDEBbW0AAHDjBoiLA3w+qKoCycng/n0wMwMEgl8/mZgIKJSnMRWdnZ1NTU0ZDEZ5ebmPj8/58+ejoqJW+JAoKCi4u7tzuVw6nZ6ZmWlpaVlYWDg7O8tisc6dO9fa2jozM4NEItFotLa2tqOj465du6hUKgaDgfNbbDY7MzNTIpFYW1vX1ta6ubm98847WlpaMjIyz32nxGJxf38/h8O5efPm2NiYj4/P999/r62tvXTuBeUb9PX1V1hPRiKRdnZ2RUVFUH6lqKhoFcBeYIyOjjY2NhYVFQ0ODq5Zs0YsFpeVlUERIgUFBXhzHRwcduzY8RIMHFbjhQHY9evX29vbMRiMra1tdHT0+fPnr1y50tbWlpSU5O7ufvjw4aUt3pFI5CtHiBKJRJWVlVBTePv27Yuua5AcDx2+AQDW1tZ5eXkLCwuwqqOoqLj0SNaLCqj+2djYSCKRTE1NIdtzWZ8RVVVVfX39oaEhZ2fnmzdv5uXlbd68eUX1KBIJ2Nv/CmDNzeCtt0BHB6iuBkLh/34GiwVeXoBKBRLJ0wAMiUSuXbu2rKzs8uXLCQkJEomkrq6OQqGs8Ft7enrev3/fzc3tyy+/NDIy+v7770dHR4eHhwUCgaKiIo1Go1KpioqKUCpeTk5ubm6uuLi4tLS0r6+vqqrK0NAQImhsbOxv7x7V19cnJCQ0NDQYGxsHBwcHBgYuWiQXiUSP7dynp6f//e9/h4eHGxoaLjv/AMPS0jI+Pl4kEnl7eyclJcXExKyyDV8IdEGuqVQqlUgkWCy2o6NDT0/P3d29q6uLxWJhMBh7e3tIMly9XK8YgCkoKKxduxaNRldUVOzatYvP58/Pz8fHx+vq6r6ig/1zc3NQpPXR/xQIBGg0empqqqmp6e7duxgMxsfH58KFC56enqampk9bRk+cOBEVFYVCofT09BQVFdva2lY+1fRCAoFAbNiwITEx0crKSlNTU0tLq7GxcSVGWf7+/ufOnXvzzTfxeDyLxVrpmSspgagocOcOEIvB1BSIjwdSKUQkoKoKcDiwcSMICwOGhkBdfWmOIo1G09HRYbFYDAZj48aNP/30E7ToXPYUoDQXGo1OSUmRSqVlZWUaGho2NjadnZ00Gi0yMpJAIEAe+ezs7ODgIJRHkZWVhdSPQ4cOWVtb6+rq/pbWFJRSrK+vv3Tp0tTUVHh4eGxsrKGh4aObAIlEMjMzg0Kh4H9WVVUdP37c2tq6uLj4woUL0Li8oaGhqKjI2tr65MmTxsbGy/5dFRUVe3v7wsJCmLbW19e/ND3Gv14sLCz09/cXFRVBjzcejzc1NWVvb29mZtbX1wcVO+l0Oh6Px2KxqyTDVxXAZmZmLly40NHRYWNjs3//fltb2127dqmoqLxy6CWVSkdHR8vLy9vb2wMDA6EflVAobG5uZrPZg4ODioqKfX19CgoK27Zts7KykkgkhYWF9+/ff/PNNxfd58IFq7W1VVNTs6enJzIyMikp6SUDGADAzMwMKihCKse5c+c8PDyWrSLicDg0Gr2wsBATE/PRRx+xWCwDA4MVVfbDw4GmJhgagtcUyMgAMhm4uoK1a8GaNWDFT4WhoaGnp+f169evXr363XffDQ8PV1VVUZeUCRaJRGw2Oy8vr6KioqenR1FR8fTp0xwOJyYmpq6uzt3dHTZZJRJJd3d3ZWVlU1NTZWWlWCw2NzfX0tIKDg62sbH5jdVsqKlWVFTEYDCMjY1jY2PpdPpjNUB4O0pKSvr6+qCPc2FhYWpqamlpqVQqRSAQO3fuVFVVxeFw/v7+JSUl+vr6VVVVKwEwAEBoaOinn34aEhLi4eGRmppKJpNXk7Dn2MJWVFRUVVUVFRXBXtf09LS+vr65ufnU1FRJSYmlpeUXX3zxV+rZ//cCWElJSWhoqIWFBRqNTk9Pv3btGolEeiEs8JcWYrF4aGjozp07HA7H0dHR29tbT08Pir4UFRUpKCh0dnbyeLzY2NitW7dCh3WpVIpEIqlU6okTJ7Zv3/60QpOXl1dBQcG6deuuXr36xRdfTExMDA4OLj2J9cJDVlbW0tKyrq6OQCBAUjiHw1kJjsKT37Bhw9GjRzMzM5ubm48cObI82URVFQQHgytXAAYDvL3Bpk2ASgXGxuAZExoFBQVPT89bt24VFRWx2WwcDldUVOTk5PQkwIjFYjhsd+3atZGRkcDAwLffflsqlf700094PD4jI2N+fj4sLAzy4JubmxMTE0dHRxEIBDSO8fPzs7CwMDQ0/C08GolEsrCwkJub+9NPP83NzW3cuPHIkSOWlpaPpnGQtc9kMpOTk5FIpLu7u6OjY19f37Zt28bHxwMDA83MzKBqWktLyxtvvLFp0yaJRLJlyxYsFltbWxsWFraSBFRDQ8PAwKCuri44OPjIkSNDQ0N6enqr69TKo6ur6+jRo729vf39/fb29h4eHjwej8PhyMvLE4lEDw+PVVOuvxSAbd++ncvlXrx4USwWBwYG7t69+1WRpIT2xxwOp6qqamJiIigoaP369Z2dnbW1tUlJSXDcFXqRxMbGwkogPPCnn34iEoleXl4ODg5oNPr06dNxcXEGBgZP/gkSiQStVOGa4ubmlp+fHxER8TL5zUgk0sXF5eeffw4LC5OVlQ0LC3vw4IGlpeWyt8nKyqq8vFxOTm7Xrl3w8Obm5hWxAQ8cACQS2LAB/DYSAYVC0dLSamlp2b59e1BQkEAgEAqFjwLY0NBQXV1dXl4ek8k0MjLau3cvjUaDH1hYWMjMzPzkk08UFRWZTObU1FRzc3NxcTE0W0Gj0Xg8Hmo+/cbLy+fzq6urS0pK8vPzDQwMPvroI2dn58c+Mz4+3tTUVFtb29jYaGxsvH//fqlUmp2d/dVXX3G53PDwcFVV1dzcXDc3t8rKym+//TY9PZ3NZm/cuFFeXn7Lli1nzpxRVlaemZlZYYvF29u7pKRk27ZtSkpKdXV1qwC2wtVgYmKipqaGyWRCEd7g4GCYT9vb2x86dAiqkK9eqL8agFVUVODx+D179hgbG78qEikSiaStrS0lJWVycpJAIAQGBgoEgsLCwuzsbENDQxwOZ2FhwefzMRgMhUJxdXV9rOvu4OCQnp5OJBLv3LkzMTFx9OjR/8fee8c1de//44SQSSBhhQ1JgBACCWGHEPaWLSJYxa2tq/W2/VRt77Xaqre93l7bqq1aFTdDtoAgG9k7QIBA2CuMAAHCJvn9cb4PHv7UIlZNvbd5/gknycnJOe/n+7WeT1lZ2U8//fTF4ACDwSgqKg4ODpLJZEBZCuhDO3TokCS/Lw6HW1lZ6evrMzAw0NfXX1paAozk136ViooKHA4fHh52cXFJTk7u6Ohgs9nrIjAaTWZtC7FXLSWDg4PJyclPnjyZnZ01NDSk0WinT5/+/vvvJycngc1vZ2dndHR0VVUVEon09fXdunUrkANYfRMYDAZMvIWEhPz222+tra3t7e0gEMjLy4tMJgOKlG+4Hk1PTyclJQERHjDaaGJi8uw5AF8EYCM9PT0zM7PQ0FAQCHTlypUnT56Ul5cvLy8Dv4itrS2dTldSUtqzZ09tba2Hh8fRo0f7+/sNDAz8/Px+/fXX2dlZLpe7zlYOPT09QKvXxsYmLy/P29tbuk6tjf7+/ocPH7a3t2tra6+srGAwGGVlZRgMZmFhsXv3bqmCyf8ygR08ePC/JeRaWVnp7+8HduIzMzP29vZmZmYdHR03btzA4/FeXl4oFKqjoyMnJ0dJSenw4cNaWlrPCUUDdd2enh7A63bbtm1eXl6Ojo6PHz/esWPHi80RSCQSj8c3Nze7urrm5+f7+PggEIjs7OxNmzatp5PibQECgWzevDk6OvrEiRPKyso6OjoNDQ2vJDA4HE4ikVgslp+fn4mJSW5uLp1ODwgIeEf54cXFRSAgvnPnTltbm4GBQWRk5NGjR3ft2mVpaZmamtrc3FxWViYSiRISEqanp62srK5evaqgoIBAIF5KRQwGIyUlpb29XU1Nrbu7OywszNXVFYVCvWG9fXx8nMPhPH78uLy83MDA4MSJEzgcDolErpaalpaWBgYGuFxuWVnZ6Oiop6fnV199xefzh4aGvv3228TERIFAoKWlFRoaunPnTjqdjkKhVmkvJCQkNzfX19fXycnp/v37J0+elJeXt7CwaG1tjYqKWieBAeoPg4ODLi4un3zyyfT0tFSJ40UAz3Jra2t+fn5HRweVSjU0NORwOAQC4ciRI4AajlS08H+fwP4r2AsQVi8uLp6bm4NAICgUCgKBtLe3KyoqksnkyMjI6enpx48f9/f3q6mpHTx48EUD76mpqYqKiqqqKhAIpKam5u7uDqjLy8jIbNiwISMjo7e396WcZGdnd+HChfDwcF1d3fb2djwe39PTk5eXt2XLFkleARqNBgw8GBkZMZnMq1ev+vn5vTIEsbW1PXPmzAcffABQSHZ29scff/wuCAwQZMnNzZ2eng4MDNy7d6+2tnZ5eXlycvLs7OyjR4+UlJTm5ua+/fZbT0/PTZs2+fj4vHIOAQwGR0ZG5ubmOjo6fvHFF29+ow4NDSUlJZWXl4tEIhsbm6tXr+Lx+GcPAEzdqqqqAMV3f39/dXX1/Pz8M2fOFBcXNzY2wuFwd3d3T09PJycnU1PTl6Ztr1y5AlTRPvroo4GBAW1tbS8vr5GRkZaWFj6f/1J7h+efSTk5a2vr8vLyvXv36unpZWZmhoWFSZeqZ7cg5eXltbW1QOy1sLBgamqqqKhIIBB27twpnUH+axHY+3xyS0tLfD6fxWI9evQIBoMRCAQejzc3N0en04Ekkqys7MDAwMWLF0dHRz08PPz9/VVVVVe3w4A8+dDQUGlpaVVVlYWFRXBwsKamJhqNrqioKCsrAzTON2/eXF5enpeX92LxQ0ZGRkdHB4PBNDY2hoaG/utf/zp69GhKSkpra6tQKJTMKBgAEAjk6upaWFhIIBDweDwajWaxWLRXJfpUVVU1NTWBDoJvv/22rq6up6fnzetGq5ifn5+YmCgoKLh37x6Px4uIiLCxsRkaGrp//35dXR2fz1dTU8Pj8cPDw0NDQ6GhoZGRkUQicf0N7ubm5m9uiywQCDo6Oh48eNDS0kIikY4cOUIgEFYzkGKxeHZ2dnR09OnTpyUlJaampnQ6XVFRsaen5+zZs42NjcPDwyKRSEND4/PPP4+IiFi7mZNAIBgYGOTm5oaFhTk4ONy6dev48eNUKlUoFEKh0Ly8vHVSEZ1Of/jw4crKyqZNm+7fv+/r6/sXN6tcXFwEfse8vLzq6mpAmwYwCXJxccHj8a+cK5dCSmCSw/z8fGVlZUNDA5vNHhwcJJFI8vLy8/PzW7duNTMzE4lEjY2NpaWl/f39UCjU19fX3Nz82WVuZWWlqampvr5+cHAQqCX8+OOPz97fNBrt3r17QHKGTCa7ubmVlpa+lJNkZWVDQ0MfPnx48uRJDQ2NkZERIyOjzs7Onp6e9csjvRVYWFiUl5fz+XwsFhsaGhodHW1mZrZ21zgIBHJwcEhMTDx16hSRSGxoaMjMzFxnImtt8Pn8mpqa9PR0wNo0IiICAoGUlpbeunVraGhITU1NXl5eR0dHIBCYm5s7OztXVVWdOnXqDzS/vCF7zc7OfvnllxMTE3Z2dl9++eWz3CMSifr7+0tLS7u7u2dmZqhUalhYWFtb24MHDx4/fszj8cRisaamZmBgoK+vr5+f37NKmGuc7caNG69evbpp06Y9e/Z89NFHHR0dRCKRSqXW1tbW1dUFBQWtJwWqoKBAoVAAS+vTp0/n5uYGBgb+NXsQgNmY2tra7u7uvr4+JSUlU1PTlZUVGo328ccfS9i5TQopgb0iVbiwsPDo0aOcnJz5+fmhoSENDY3Q0FAikWhoaIjBYObn5/Py8tLS0jQ0NKysrLy9vTU0NJ4NuRYXF/Py8rKystTU1CwtLR0cHPT09F5cMhAIhJ2dXWFhob+/v6amppaW1uzsbE1NjdPLnIgNDQ3n5+cHBgbodHp1dbWvr+/nn3/O5XIlTGDq6upAOAX4q4FAIEDnd+1XGRsbX716dWRkZMOGDQ0NDTk5OcePH/9jw1KAkAEwsRAfHz82Nubn53f69Gk8Hl9aWnrq1KnBwUF9fX0FBYXZ2VkwGLx161Z3d3dTU1MFBQU+n8/hcCwsLCR9f8vJ9fX1nT59evWjAQMBDodz//79hYUFGxsbJyen6urq6OhoPp8PGGmurKzgcLiPPvrI2dkZ2Dyt/xOZTOb333/f0NBgYmICjIgRicTw8PD4+Hg5ObmRkZF1KhU5OTk9evTI0dGRyWRmZWX5+vr+dYZtRSLR8vIyh8OJi4srLy/HYDCysrJjY2NWVlb29vZkMllXV1eqdCzFe0Rgk5OTgEthamqqsrKygYEBhUI5ceKEsbGxrKzsxMQE0MTc2tpKJpOfsz8GzAnZbHZ9fT2Hw7G0tPzyyy9f2WQRGBh48uRJDw8POBzu6uoKOAA5ODi8uOWHwWBUKrW6utrBwaGwsBCDwZiamiYkJLzU7fPdAYgFz549y2Qy4XC4ubl5VVWVgYHB2jtQDAYDiHH4+vpeuXKFy+WyWCwrK6vXpa7Ozs7m5ub6+vrx8XFAfd/S0rKnp+fu3bsZGRnj4+NA0+P8/LyLi0toaKiPjw+w4M7MzLBYrKWlpd7eXskTGBQK9fLyevDggYWFxfT0dGtrK5vNbmhoQCKRQHIyJSWlpaVlfn5eSUmJw+Foa2uHhITs3Llz1ULzdQGBQDw8PLKzs6lUamhoaFlZmYyMjJmZmZGRUUtLS3d39zoJTFdXVyQSDQ0NBQUFHTp0aHR09KWTHv9LAJyJuFxuUVFRSUlJf3+/jo4OiUSSlZW1s7MLDAxUVVWVLtlSvF8ENjk5mZSUlJaWBih8b9++3c7ODlBOAoFAQOG9p6cHh8MZGxtv2bLluWEaPp+flJTU1tamr69PoVC2bdu2zmkbFAqlqanZ3t5OoVBoNJpQKJycnBwdHX1xThkEApmYmOTk5GzYsEFFRWV4eNjc3Dw+Pn5wcHBtoci3DiwWa2hoWFpa6u7ubm5uDmgur70xh0AgVCq1pqYGyL7W1tZWV1evn8BEIlFdXV1aWppIJCIQCEFBQRoaGsXFxU+fPs3LyyssLJyYmACDwQgEgkqlBgUFWVhY0Gg0IFs7Njb25MmT2tpadXV1c3PztWU43h0iIiJCQkJu3LjR0tKiqakJFEv6+/tra2tVVFSam5uXl5eHh4fV1dXPnDnj6OhIJpPfUM7DxcXlP//5D5/Pp1KpVCoV+GN4ePjx48eTk5OZTOZ63kRRUVFZWbm7u9vExERLS+vJkye7du36H1hxAPVwJBL57EXm8XhPnjwpKSmpq6sTCASAf6yXl5eDgwOJRKJQKNLRYyneLwITCoUcDicvL6+7uxsQlEtOTjYwMADWvpGRkfz8/JKSkvHx8YCAgIiICEAVfnVVHR0d7e7uzs/PHxwc3LBhw8aNGxUUFF6rUQ3QmGexWKampggEIjAw8MaNGx0dHS8V2iCTyffv3x8fHwfEnLy9vUtKSpKSkiQ8ECYjI+Pr63v//n1bW1s8Ho9CoZqamtYWyQXs6hMSEpSUlOzt7WtqakpKSrZs2bJ2RWdubq6np6epqam0tBSDwTg6OiKRSB6P9/DhQzabDYPBWlpaOByOmpoaiUQKDg4OCgoCZNeBUYeurq7S0tKRkREXF5cTJ06gUCjJF9iXl5dHRka4XG5VVdXo6GhZWZmtrW1WVtbU1BQEArGysqqqqqqqqtLT07O3tz98+DCBQEAgEG9Ft8nQ0BAGg7W1tT0bMVhaWuJwuJGRkfXfnxQKpa6uztHR0cfHJyYmZtOmTf+9/fQikYjH47W2thYXF0Oh0H379i0tLQ0PDzc2Nj569Ki5uXlsbAwMBhsaGurq6rq7u/v6+qqrq8PhcKmSlhTvI4FVVVWlpKRs3rz54MGDnZ2djx8/NjIyAvZZQ0NDKSkpsrKyAQEBpqamz9LSysoKMOk1Pj6OQqE8PDwoFMofXhxJJFJ0dPTCwgICgWAwGL/88ktNTY2Dg8OLR8LhcGdn5ydPnuzcuROJREKhUCQS2dTUJBAIJDwmqa2tjUQiuVyuhYVFWFjY2bNnjxw5QqPRfu85X1lZEQgESCSypqbG0dExIyOjsrJycHDw9whMKBRmZ2ez2WwQCITBYKhU6tjYWHl5OQwGA/bOAoGgoaGBSqV+/vnn7u7u1tbWQIPczMxMZmZmY2OjWCxWVlYOCAggk8l/ypDG8vIywNNCoVAoFPJ4PCUlpadPn2IwGCQSqaysPDQ0tLi4COgM+fn5vcLn8/WBwWDs7e1jY2MZDMbqH3E4HI1G8/f3X//7ALMTy8vLQUFBUVFRlZWV7u7u/42rTGtra05OzsTEhIqKipOT0+zs7M2bNwGbXC6XKxQKFxYWHB0draysHB0dzc3NJdnfK4WUwP4I1NTUlJWV7e3tZWRkdHR0gO0YDoeTkZFRVVUFQoTVRXllZWV8fJzL5aalpYnFYk9PTxKJpKqq+obrIx6PX1hY6O/vNzIyUlNTc3R0TElJOXTo0Es73zw8PD777LPQ0FBfX9/CwkI7O7ucnBw2m/3sIiUBIBAIa2vr4uJiCwsLAwMDkUj0008//fTTT7+XOBWLxdXV1QQCITEx8ZtvvsFisa2trXl5eSQS6dljZmZmRkZGMjMzy8vLjY2NlZSUurq6+vv7aTSavb09CAR69OhRUVERGAxmMpnffPONkZERIAk/PT3NZrPz8/NbWlpsbGx8fX11dXXRaLTkN86z+VlpkgAAIABJREFUs7MCgaC4uLioqEhXV9fJyem3337r6Oggk8n79++PiYlZWFhYXl4OCAigUqmamprz8/PvbvMREhKSmpo6MjKCxWJXfzgHB4fo6GgvL691Ns6h0WgTE5Py8nIHBwdDQ8OcnBwmk/nf0iwuEommpqba2trS09MnJydtbW2BhG1lZaWOjg4wfbGwsKCkpLRp0yZfX188Hq+kpPTf6CwoxV+RwIhE4sjIyOTkJAaDwWAwmpqaLS0tAIFBIJDV5XhhYaG+vr6hoWFgYACNRu/ateuVfXevlUUMDg6Oj48H0lzW1tZZWVmNjY0vna8CLNPKysqsra2fPHni5uY2MzPT3NxsZ2cn4YF/BoORmpoKyApv3rz50KFD3d3dvzcTJicnZ2JiMj4+PjQ0NDo6SqfT5+bmbt++vXfvXigUCii7l5aW1tfX19TUqKqqkslkQLFw69atYrGYzWZHRUXl5uZisdgdO3bs2rULiJLn5uYaGhpqamrGxsbEYrGjo+OePXv+lEKFWCweHh6urKzkcDgTExNUKvXvf/870MJz7dq1yMjIPXv2TE9P5+TkHDhw4NnG0XfKBGpqajQa7e7du5999tnqHwMCAu7duwcUdNf5PoGBgVevXmUwGBEREefPnz948OBbjxffBXW1tbWVl5e3t7cDxWltbe2Wlpbl5WWAn2JjY7FYbFBQkJubm4ODg7S+JcX7TmBisRgQgF/9CwQCYTKZBQUFwcHBMjIyTk5O169f9/HxWd2czs3NFRUVpaWl6enpWVpaBgQEYLHYt76vt7CwuH//PtCOYWNjo6WlNTMz83sH29jYtLS0KCgoqKur8/n8iIiIa9euLS4uSvgJhMFgAQEB8fHxhw8fplAoOBzu0aNHaww1m5ubx8TEEAiE6upqNze36upqDodTWlqKxWJv375dUVExPj4O2JHQaDQNDQ1AkOLkyZMdHR0jIyMWFha7du0yMTEJDAyUk5Pj8/m5ubkFBQU4HM7Gxsbb2/sNleD/8B21vLzc3d398OFDHo9nbW3t6elJIBCeTY1u27YtLi5u+/btcDgcgUAkJiZKcvIhPDz8zJkzY2Njq5UweXl5CoWSkJDwLKutDR0dHbFYPDAwYGlpubKyAiRCmUzmeobSJP+LrKyssNnsBw8edHR0CAQCsVjs4eFBIpGEQmF3d3ddXd3U1JSjo+Mvv/xiaGj4XyS+KsVfl8BEIlFPT099fX1nZ+f+/fufrUJv2LDhxIkTvr6+MBjMwMBATk6ura0N8PGSkZFhs9k9PT2nTp1aj/rOmwRhzs7OeXl5W7du1dfXt7OzW6NObm1tDUwBu7i43Lx509PTEwKBcLlcyZuEWVhYJCcnd3d36+vrBwQEPHjw4ODBg793oVAoVEBAwN27dysqKvbu3YvFYjkczr59+zZu3Lh582ZXV1cNDQ04HN7Z2ZmVlZWbm1tfX49CoXR0dPT09EJCQpaXl8fGxmZnZzMyMlpbW0dGRphM5r///e8/ZRBHIBDMzMyMjo5yOJza2lo5ObnQ0NDfKwFSqdTvv/+exWJZW1srKipmZGR89tlnEttt4HA4BAJRV1fn6em5+sd9+/adOHHiWVZbGxAIhEajtbS0ODs7u7m53b59293dXUtLi/YGastvHcvLyz09PUVFRQkJCc3NzUQi0crKysnJSUFBoays7NKlSxMTE+bm5l999ZWbm5t0fkuK/xoCGxgYiI+Pn5ycJBKJo6OjFRUVHh4eq/+Vl5fHYrFAlUJGRsbT0zM7O3uVwFbZ4l2DTCYD8rKKiorBwcHJycmvtMEFTJw7Ozt9fX0zMzMlT2B8Pr+5ubmurk5fX9/f3z8qKgrwLfu9452cnC5fvtzf33/x4kUej2dlZdXW1rZ161YFBQWgDYzFYjU2Nk5NTaFQKAaDAQKBtLS07O3t4XD40NAQUKEEzFxeSwvqLWJpaSk9PT02NlYgELi5ueHx+EOHDmlra6+xi0ej0XQ6vbW11dra2s3NLT09vby83NXVVTInjEKhHB0dMzMznyUwQP+Mw+Gsk8BAIJC7u/vS0hIcDndycsrOzhYIBGtkjCUfdTU2NkZHR9fU1GAwGFdX12PHjmGx2Orq6tu3b3d2dhobG2/dupVOpxsYGEhdj6V4XwgMaEgDlHiwWOyGDRvk5OSAeZqhoaGqqiosFtvb2zs4OBgSEmJubo5AIFRUVJKTk59NecvKylIolMbGRhMTE2DWKi8v79m6t8R2yjIyMt3d3VQq1djYGOgg11/TCgsMBkdERMTExHzxxRe3b9+W/DljsVhFRcWsrCwfHx8ikchgMNLT0wE9/pceD4fDP/zww0uXLpmZmTGZTEAc+YMPPgBUMzo7O5eWlmAwGIPB0NTUlJeXt7a2RiAQbDZbRkbGx8eHRqNhMJjnpP3f7jrI5/Pl5OSebUVZXl6emJhQVFQcHh7OyclJT09fWVnx8fHJzs62tbV1dHR85clAIBA6nX7p0qVt27b5+PgcO3bs6dOnTk5OkslcAdwTHR09NTW1mvFDo9Gurq5Pnjx5abPrS7E6ku/u7n7+/Pnu7m4QCAQk3v8sABsaFotVWFgIhUIZDMZHH320uLjY39+fkJBQX1+vqqrq7+/v7u6upqYGg8Gkak9SvEcExufzCwoK2Gw2BAIBBlQnJycrKytZLBZgDzg3N+fk5OTr6ws48C4tLcnKypqZmV26dAkwTV59K0NDw8zMzIWFhfn5eSQSqaqq2tHRIWEygMFggKwUlUqFQCBkMhkwK1n7qSORSDExMYODg8BEkZ+fnyTPGYFAODo6FhUVsVgsOp2+ZcuWTz75pLe3d40aDzCF/dNPP33xxRdXrlxBo9EjIyP9/f2Li4tQKNTIyMjFxUVOTk4sFqPR6NnZWSwW+/HHH0ugUNHW1paXlzc5Oenr6wsQmEAgKCsrq62t5XK5urq64+PjWCz24MGD9vb2SCRSRUUlLi7OxsZmPclAOp3+448/ApoOgYGB+fn5+/btk5hFJA6Ho1Kp9+7dO3jw4CqrMRiMTz/9dGVl5XUvrKKiore3NyD5/ywpShJAlSsrK2tubk5TU3PPnj04HK6hoSEmJqahoQHQ0d+yZcvqMLsUUrwvBDY9PT08PJyVldXa2mpnZ7dx40YkEtnX1/fLL78AXosyMjI9PT0bNmwABAaB9aW5ubmoqOjDDz9UV1e3sLC4ePHid999t9qOQSAQhoeHBQJBdnY2Ho8nkUiNjY1Ab70k4eDgkJSUBLhdUKnUzMxMLy+vtZ9AKBQKzJlSqdSnT596eHhI8omFQCBEInF2djY2NtbCwsLMzExHR6ewsHANApubm1NXV+dyuX/7298GBgZMTEwEAgEcDicSia6urktLS93d3SQSyc7OztDQUEVF5Z3WKlZWVqampgBfruXlZTc3NxwOB4PBKioqAOewpaWlsbExIyMjZ2dnIpGooaEBSFjJyMgwmcwrV64AzP3KD1JSUmIymdevXz916lRwcPDVq1e7u7sl6XF8+PDhzz77bNu2bat8Y2Jigsfj4+Li/oAjT0hIyLVr15ydnQsLCwMCAiT2LZaXlwUCQVNTU1paGhKJ9PHxUVdXl5WVbWhouHDhgqysrL29/caNG1VUVJSUlKTxlhTvEYGJxeL+/v7Kysq2tra5uTkGg8FgMDgcTmZm5uTkpKqqKpFIVFVVHRwc1NPT+/nnn59rJVBXV+/t7WWz2R0dHXNzc0DP2J07d4AwC+jLqqiosLa2vnPnzueff56cnLy0tCThAVg4HO7m5paRkREZGWliYhIbGzs4OPicWdSLCSIajZaUlGRraysQCPh8voRlpSgUSkFBgYaGRmVlpYODw9GjR2/fvr1v374XJ2l4PN7Tp09LS0s7Ojq0tLT09fU//vjjR48eubq6amtrT0xM3Lt3b9OmTRcuXFBSUpLAUtjS0lJeXs7j8RAIxMaNG6FQaGNjI4vFamtr6+joAGJiMpm8efNmGo22+nUyMjLU1dWBKI1AIPzwww8nTpxYW4UEwP79+7dv387n8xUVFeXl5a9cuSLJHZK+vj4KhSooKFhVzgSDwYcOHTp9+nRAQMDrmqQA7s8TExP5+fm+vr4SmJpaXFzkcDglJSWDg4NKSkohISEAbz1+/HhxcZFIJB4/fnz9UwFSSCEhAgOaYnt7e+Pj4wcGBqysrJhMZk9PT0pKioqKCo1Gc3Nzg0AgCQkJQ0NDbm5uQUFBwKbsuXcArPy++eYbX1/f0NDQioqKioqKoaGh1TwhkNnfsGGDSCQaHx83MDBISEiwtbUFGiUkBisrq5s3bwKZGU9Pz7S0tCNHjqz9EkNDw8nJyZWVFSUlJYAbJHnC2traIBBIW1u7vr7exsaGyWSmpqZyOBzAaBG4+N3d3Tdv3qypqVFXV9+2bZuBgYFQKPz666/r6urm5uawWCwg9f311187OTm9U/YSiUQrKyuAxaWCggKdTrezs2tubr527ZqCgoKKigqLxWpqaoJCoREREUDv9XM1f+A+0dDQSExM7O/vLykpQSKRN27ceOUijsViIRBIeXm5oaEhBAIpLCyUZP4NDAYHBgYCMf2qlSiZTF5cXKyqqnrdjhIFBQU3N7dz587hcDhgy/iOThuYUmCxWA8ePAB0anR1dYuLi48fP66hoeHp6RkUFGRsbPwXdymT4n0kMLFY3N7e3tLSUl1dPTY2RqFQbGxsAE05BweHc+fOicViFov1+PFjPp+/a9cuU1PT55qYhUJhR0dHQ0NDY2MjkPMBg8GAFOnBgwcPHjyYnp6+2umno6OjoKDQ3t6+cePGpKSkLVu2REREhIaGHj58WJJxmIaGhpKSUnNzM51Od3FxSU5OBgona2cRQ0JCHj58COgTMplMSSZPwGBwcHBwUlLS/Pz8hQsXhoaGSCQSHo9fXl6ura1tampKTU2VkZFxcnJKSkpazQfOzc2RyeShoSFg7fv555/NzMze6WnPzs62tbXV1tY2Njai0WhHR8f5+fmysrLBwUFtbW0TE5Pc3Nzq6moymXzs2DF/f/8Xxximp6ebmpra2tpYLNaNGzc+/vjjI0eOfPDBB3V1dWw2+5UtoyAQaPv27WVlZa6urhERET/++OPNmzePHj0qsV/K2dn5/v37QIb2/z11cnJbt27Nz89nMpmvdZPLysq6u7tfu3atvr6+sbHxXRDY4uIil8utr6+vqqoSi8XW1tYDAwPff//90tKSo6Pjzz//TKFQpPNbUryPBCYSiQD7Y7FYLCcnJxAIYDDY/Py8lpZWeHg4kUgcGxt7+PBhV1eXrq6uj4+Pqanpc/70k5OT+fn5T58+xWKxRCJx//79OBxucnLyxIkTQNWaRqPZ2trm5+cfO3Zs9TFgMBgVFRUBAQHp6ekikYhCoZSUlOzZs0eSBAaDwUxNTaurq+l0OggEYjKZJSUl4eHha7/K2to6JiZGWVl5ZmYGWJEldsJzc3OTk5NZWVnm5ubLy8unT5/GYDBxcXFFRUWDg4NMJvPIkSN2dnbP7ZERCMSuXbvq6+upVCoej3+nV3hubq6goCA/P19FRQUGg8Hh8JmZma6uLnV1dSUlpampKTabzWaz7ezsLl26ZG9v/2LzzvDwcEpKSkdHh66uLoFAOHTo0MTEhJGRkYyMjIuLy7179wBVxlcSsJGR0fXr1+fm5phM5o0bNyoqKgAvU8n8Ulgs1tXV9datW999993qH83Nze/evSsUCtdpnvBs3E+j0dLT05uamry9vd9iFhEIuRITE8FgMGDOMDg4mJeXB1hHWllZSUePpXjfABKLxYuLi319fWw2Oz09fWpqikQiDQ0NIZFIf39/Go0Gh8P5fH5PT09+fv7k5KSfn5+lpSUKhXpWG57H43V1dVVWVra3t9PpdB8fH0VFxWe57eLFi6ampm5ubnNzcz/88ENpaek//vGP1VJEd3d3dHT03r17U1NTtbS0hELhpUuXTp8+7ezsLMlrMTc398UXX5w8eVJNTY3L5T58+PDAgQOvXF+AHAsEAhkdHd25c+e7DsJmZ2d7enrq6uqKi4uJROLMzIympmZiYqKJiUlzc7Ourm5kZCSFQkGhUH/WWjM1NdXb21tRUZGfn6+qqorD4bhcroKCgq2tLQqFqq+vz8rKgkAgCATCxMQkIiLC0NAQDoevXrfFxUUej9fW1lZSUjIxMeHn52dhYYFGoyEQSF9f3507dz788ENVVdWenp7g4GBHR8fvvvvulf0my8vLR44cCQ4Odnd39/b2bmpqSkhIWKetydu6tcLCwv7973+vBmEikejYsWNkMvkPmKQ8efLE39/fwsIiNzf3zZN4S0tL/f39dXV19+7dEwqFSCSyublZVlaWQCD4+flt3LgRg8E8t0+VQor3JQIDEjiNjY1dXV1EItHc3FxHR2fXrl06OjrLy8sNDQ3FxcVzc3NoNHrjxo1EIvHZPbtIJAJqWkKhUEFBwcbG5sCBAy+914OCgn766SdnZ2cEAmFqajo8PFxUVATEOjIyMpqamrKyskNDQ9bW1klJSZs2bTI2Nk5JSZEwgSEQiJCQkOjo6I8//lhXVxcEAvX29r6SwKhUakZGRmBgYGVlJTAN/Y5OTygUlpSUVFZWgkAgIyOj06dPj4yM/PjjjzExMVZWVkZGRh999NFbFIr8AxgbGysqKqqvr+/t7QVCJXV1dS0tLXNzcw6HU1ZWVlVVtby8bG9vT6VSGQzGc2XOmZmZ6urq0tJSGRkZNTW1jRs3kkikZ+83oJo1MDCgqqqqr69vbW3d1dXF5/NfSWCA3sr9+/e9vb137NixY8eOwsJCSRIYAoFwdnZOT08nEolAvl1WVnbbtm2nTp3asmXL69IDg8HQ0dGpq6tbe3BiPdTFYrGSk5OzsrK6u7thMNj09DSFQtm8ebO7u7utra1UNUOK953Azpw5s7y8TKPRtm3bZmxsrK6uDgaDx8bGMjMzs7OzNTU1XVxc8Hi8srLy6o5+YWFhfHy8qqoqJycHh8PZ29sTCAQVFZU1shna2towGKyzsxNojI6JiVFUVBwbGwOMlWEwmKWlZWlp6Z49e+7cuQOHw9Fo9PDwcHd3t4QbnOh0elZWVm9vr56eHpPJzMvLo1AoawdVOBxufn5+aWlJQUEBmIZ+u6e0sLAwMjICXG0KheLn5ycvL8/hcI4cOTI9PU2j0ZycnD777DNgjEHyEIvFQqFwYGAgLS2toKAAhUIJhUIikRgeHo7FYkdHRx89ejQyMiIWi+fn58PCwpydnbW1tdFoNHBVASF8Ho9XXFxcVVVlamoKeGYCUvcvpnkpFEpVVRVQ9/L09Lx7925NTc169G0DAwOjoqLa2to8PDy0tbV/++2348ePSzJI9fHxOXXqVHh4+GphlUqlQqHQ3Nzc1x0iRCAQYWFh58+fz8jI+AMEJhaLJyYm2Gz2pUuXSktLh4eHIRCIsrKyt7f3xo0baTSampran+KDI4UUr01g+/fvd3Jy0tLSAoFAwIRyR0fH2NgYDof78ssvAYJZhUAgqKioaGlp4fP5hoaGX3755UvtH18EUP2qr683NDRUVlam0+nFxcUdHR2r789kMpOTk+fm5sLDw4H0zp07d0pKSvT19SXZGYFAICwsLMrLy3V1del0OtBjuXZ7IQqFolAoLBbLwMCgsbHxLRLYzMxMeXk54PVHJBKPHTtWX1+fkJDQ0NCAw+F2795ta2vb2Nh45cqVPytb2NPTU1ZWlp6eXlFRgcfjraysyGQynU7v7+9nsVj379/v6uoikUiGhoZubm729vbP5bs6Ozurq6s7Ojrm5+ft7Ox++OGHV84mMxiMEydOzM/Pw+FwCoVCIBAeP34cEBDwyiuARCItLS2zsrI+/PDDyMjI8+fPFxUVSUxWSkZGxtjY2MDAoLS0dPPmzcBfQCDQ1q1b8/Ly3NzcXkuhEQwG+/j43L59OzMz8+DBg+uPkwDzgYKCgjt37lRXVwuFQg0NjcDAQE9PTx8fn7XVZ6SQ4n0ksC1btqysrAwNDSUmJnI4HEtLSzs7OxKJ9GwqbGVlZWZmBhi2p1KpdDqdSCS+btc1kUjMzs5eWFiAw+FeXl4PHjzgcDirs6gIBMLS0hKYCI6NjQ0JCeHz+V1dXbOzs5J0twOBQJaWlvfv3w8ICEAgEB4eHpmZmbt37177VS4uLl999dVnn3126dKlDz744A0ZVywWz87OPn369NGjR6amplZWVkpKSsnJyQcPHlRUVNy8efOWLVvQaHRaWlpycjKJRNq9e/eq2pBksLKy0tXV9fDhw6SkpNHRUSaTee7cORKJhEKh8vPzz507B4FA2tvbdXR0ALNNfX39ZxfopaUlLpcbHx8vEAhsbGyCg4PxePw602hoNNrIyKiqqsrR0RF41fj4eHd393oCUD8/v+vXr8/OzjKZzJs3b967d0+SBAaFQn19fS9fvhwWFrayshIbG+vs7GxmZnbz5s3BwcHXDaDJZDKVSu3o6GhpaXlW2mYN6gLmL+Pj44GBTgKBsGPHDjc3NyKRqKysLF0KpfhvBPj48eMxMTFJSUlOTk579uyxtrYG0n3ATT80NFReXh4fH5+cnGxvb7937146na6jo/MHJL0xGExGRgaFQlFUVEQgEO3t7U+fPn12uVdVVU1MTGQymVNTU+Pj4yoqKvn5+c7OzhJ+upSVlauqqqBQKGDMmJubSyaT1yZRBALB4/EWFxcnJyfRaPQ6o9KXEkNLS0t2dvbdu3cBK4q5ubkHDx5kZGRoaGj8/e9/t7CwGB0dBfo87e3t9+zZw2QyCQSCxBI+MzMzGRkZsbGx1dXV6urqYrE4NjaWTqePj4/n5+f/5z//GR0dVVJSwmKxx48f37dvn5mZ2arv6NLSUltbW35+fmxsbGNjY0hIyPbt283MzNTU1F6rlU5NTS0+Pt7JyQkGg4lEorKyMhgMRqPRXrlvgMFgycnJVCrVzs6uoqICBAJ5e3tLUmEWj8c/fvxYLBbr6em5u7sbGxs7Ozt3d3f39/fb2Ni81luhUKjx8fG0tDQjIyMbG5s1vvvExERlZSXg3J2bm6uiouLt7f3jjz+eOXPGxcXljz3LUkjxvkRgUCjUx8fngw8+eHYREYvFXV1diYmJ4+PjBALB09OTTCa/4Y0Oh8OtrKyA3nR5eXkajVZYWNjd3b0qeKGsrKyoqNjd3W1qapqVlWVjYxMfH9/Y2CjhxgQQCBQeHv7zzz/b2toqKyurqqqy2Ww0Gr22UhSDwUhMTAQmoP+AUrhIJGptbU1ISBCLxWQy2cTEhMViARdh69aturq6VVVVly9f1tLSwuFwO3fu1NPT+1O8awcGBjIyMo4cOWJqajo/P5+WlnbhwgUEAkEgELy9vVVVVTU0NOzs7ICunGdvp4KCgry8PEC5aufOnYaGhn84TsVisXJycn19fQQCwcHB4fz5852dnUKh8JX9eGpqahYWFgUFBTQazd/fv7KyUvJzuNu3b4+OjnZ3d6fRaGlpaeHh4b6+vqdOnfrwww9fNw/s7+//9ddfV1VVzczMvLR1SCgU5ubmRkVFVVRUzM7Ouru7BwYG0ul0Se54pJDi3RKYrKzs6vzN8vLywMAAl8vNzs4Wi8UhISGmpqZIJPJtlVj8/f3/7//+b8OGDQoKCsAyl5CQ8PnnnwP/lZeXNzQ0rKur27x5c2xsLAKBADgsMDBQwjUePT09bW3t8vJyJpNJp9O//vrr0NDQtROJOjo6cnJyUCgU6GhY/0DYyMhIW1tbbm7u+Pi4vb390NDQrVu3VFRUAgICtLS0hoaGSktLl5eXPTw8APHJdycJv84Mnqam5ujo6P3798vLyxUUFMhkcnBwMAKBALKvcnJyq6cnFAr7+vrq6upKSkpIJNL27du1tbWBI9/kHFAoFJFIbGhoIBAIKBRqw4YNKSkp27dvJxKJa79QVlbW09Pz1KlThw4dioyMvHv3bktLi4mJiSQvII1G++2331gs1v79+z/88MPh4WEqlaqsrJyYmBgWFvZab0UgENzc3IqKikZGRp4jsJmZmba2tu+++66qqgpQDgsPD1dXV3/ziy+FFO9XCvHUqVMyMjKAsE1cXFxdXd3s7OymTZs2bdqkp6cHg8Heogky0AM9NTVlaGiIwWCALTDgPgWEPigUKj4+3s/PDwwG19bWUqnUzs5OMpm8TvOktxiEycrKVlRUWFhYqKurFxYWAt1ra9RpoFBoX1/f5OQkCoVaWFhYT0ljZGQE6GDmcDgrKyuKiopCoVBNTc3JyUlVVRUwo5GXl/f399+8ebOBgQECgXiWHiQMwBc4MzMzMzOTx+NRKJTIyEgDA4Oenh5bW1vgxMBgMHB6U1NTWVlZqampbW1tampq27Ztc3NzU1FRgUAgb37+IBAICoVmZma6ubkBkf2dO3coFMp6qEhTUzM5OVlTUxPwp15ZWVlP7vEtAg6HCwQCYG/0+PFjWVlZFxcXRUXFlJQUd3f31wqMgNO+e/cuk8lc7UWcnp5OT0//9ddfHz16ZGBgcODAgePHj7u7uyspKb2Viy+FFO8jgY2Pj5eUlNja2np6ejo4OKiqqr5F3vr/RXxycmVlZZaWljAYDAaDjY+Pr06DycjIKCoqVlVVaWlpUanU2NjYzZs36+vrl5WVrZ3lfxdQUFAoKirC4/FqampIJPLWrVt2dnZrKPeAQCBFRUWgUtjU1GRlZfV7F3BhYWFgYCApKeny5csrKyt8Pn90dNTMzAywFa6trR0eHgaa411cXCwtLf/cAjsgUNna2nrt2rWioiIzMzNjY2N5efnt27cjkUgYDFZUVESlUlcb4aanp6OioqKjo1VUVLy8vNzd3S0sLN56pg6DwWRnZxsZGQEuZZ2dnebm5uvZNIBAoPn5+aKiIg8PD7FYDHTrSNJGAAQCYbHY69evb9++vbm5uaamZvPmzcrKyvHx8cbGxq8rp6mrq9shW8vPAAAgAElEQVTf39/e3u7l5cXj8e7evXvhwoWBgQFvb+89e/YEBgaSyWSprYkU//sEJi8vb2Fhoa2tjUQi3xF1AUAikaWlpfr6+srKyrq6ujExMXQ6fbW6BgKBAF0GDAYDGGba2toWFBRQKBQJz1TC4fCpqanm5mbgsty9excCgTg6Oq5xcTAYTEVFhZ6eXmVlJeBl/NwB8/PzFRUVcXFxFy9eZLPZRCJxfn5eU1PTyMhoamoKsAbdu3dvQEAAgUBQUlJ6HxxsBQLBxYsX+/v7N27cGBERYWxsrK+vHx0d7eXlBQaD5eXl6+vr4XD46iQWj8cDgUC7du2ysbFRVVV9R6snkPd++PChk5MTAoEYGhpSVFRcZ61UQ0MjJibG3t5eTU0tJiYGSGVL8pIqKioCvVHGxsbJycmGhobW1tZjY2NcLpfBYLzuXbq0tBQVFTU8PJyRkaGsrLx///7du3eTyWQMBvOnVEmlkEKSkJXw5ykoKODxeBaLBURjJiYmDQ0Nzx6go6MDLCgUCqWzs1NWVlZFRaW7u1vylwYEAgEO7lAoNDw8PDU1dX5+fu2XbNy4MS8vz8DAoLa29sVQpqWl5eTJk/fu3TM0NPTy8pqZmZmZmZGXl0cikQMDAyKRyMnJ6bnBu3cKPp8/MDCw9jEoFOrDDz/89NNPTUxMgEokGo3G4XDALwiYDufk5IjFYuB4fX19d3d3CUw+mJmZTUxMDA4OAsKVxcXFq+ewNpSVlf/xj38oKyvr6enRaLSoqCjJ31o7duwoLS2l0+kikai6unppaYnBYDx7GdcGIBU/PDz822+/ZWRkKCgoeHh4nDlz5tNPPzU1NZXmCaWQEtg7ZAVfX9/8/Pz5+XkQCGRhYdHQ0LC0tPTikXg8XiwWAyLr9fX1kr80QqEQBoMlJCSAQCAfH5/FxUVA5WgNGBgYgEAgc3PzlJQU4EuJRCIulxsbG7tnz57IyEgEArFlyxYYDDYxMeHh4REQEDAxMcFisTZt2vTLL78AMrUSw/T09MWLF0UiEfBl6+vr09LSRkZGnj1GTk5OQ0PjuSaawMDAjIwM4IUUCkUgEPT29ko6dQAGMxiMkpISsVhsYmKyvLzM5XLX80IIBLKqFRkREVFZWSn57ZGKioqNjU1tba2trW10dHRfX5+FhQWBQIiLi1v7hXNzc0VFRdeuXbO0tNy+fbuOjs6vv/66f/9+MBgMaBFIVzQp/lL4fylESQKBQLS1tYlEIsDrLy0tzc7O7sUefTk5uenp6dbWVmdn57i4OF9fXwk/n0pKSmlpaRAIxMzMTFNTs6mpqbm52d/ff43TAIPBPB4PkNrS0dFhs9k//vjj7du38/Lyenp63N3dXVxcKBQKhULh8Xi9vb0wGMzDwyMiIoJAILzTzO1LgUajs7KyNDQ08vLyLly4cOvWrcrKytnZWXt7+7UvNQwGKywspFAos7Ozs7OzsrKybW1tr7Q1eesQi8WVlZWWlpYQCAQKhRYXF9vZ2b3WO2hpaV29ehWNRltbW0t4GycnJxcbGxsUFBQbG2tnZwfcY1FRUf7+/i9N/QkEgps3b16+fPnOnTsaGho7duz429/+RqVS5eTk4HB4bm4ug8GQ/C0khRR/MoGFh4dLMm0FQFVVNSkpyd7eXkFBYXx8vKurC7BhfA46Ojp37tzx9PTkcrlwOFzCjpEKCgqNjY2Tk5MYDAZQHomKinJwcHjR9ePZhWlubi4jI2N6evr8+fNdXV0+Pj5aWloMBuOLL76wsrISi8VFRUUcDgfQnbOxsXkxvpHAur+ysjI4OMhisR4+fHjx4sW+vr6goKD5+XknJ6dbt26Fh4evXXEEg8GdnZ1isZjP55eWllpbW5eWlpqbm0tYsxyDweTl5eHxeBUVFUVFxfz8fCMjo9cSU5aVlZ2amsrOzvb09JSk4IuMjIyGhkZ+fj4gzz80NLRt2zZVVdXY2FgNDY3VyUjADL26uvrs2bM//fTTyMjI7t27v/rqK29vbxKJtLrng8Fg1dXVOjo6UkENKf5yBAaBQLS1tVVUVCS5fYNCobW1terq6mpqajo6OlFRUc7Ozi/2LEAgkKmpqe7ubicnp4SEBBcXF0kGYUAzfWNj4/DwsJubm5aWVn5+PhwO/73G6/7+/ujo6KSkpN7eXn19fRwOd/78eWtraxsbG5FIlJeX19DQsLi46OfnFx4erqurK/mJrunp6ZycnJycnKKiouvXr1+8eFFVVZVCoVy8eNHZ2VleXh6wMBWLxWuHMrKyspOTk52dnTY2Nnl5eXZ2dmw2W0tLS8I7ITAYLCsrW1JSYmdnB4VCu7q65ufnX3fsHYVC/ec///Hx8ZGkl5uMjMzY2NiTJ09iY2NXVlbCwsKA/iBlZWV5eXmgI+bp06c3btz46aef6urqrKysjh49+vHHHxsaGiIQiOceVSgU2tHRsbi4+Od6EUghxZ9AYAQCgcViOTo6SlJRBgKB8Hg8Ho9nZmYGh8O7u7sBcbaXhkGZmZkeHh4FBQUmJiYSc4JfXRrYbLZQKNTR0dHQ0NDT06utraXRaKvXCuiDb2hoOHfu3N27d5eXlz/66KMPPvjA19e3rq5OSUmJw+H8+uuvPB6PwWB4e3s7ODioq6tLmLdmZ2d5PF5UVNR3332XnJw8NjbW0dGhra198uTJXbt2dXR0WFpaotFoDAZTVFQEBoMHBgYsLS3X1rpEIpGpqakBAQFNTU3y8vLAjmRiYuJNJDb+ALS0tOLi4qysrFAolKysbH5+vpOT02udABQKra+vb21t9ff3l8wegsvlXrx48bvvvgOBQENDQ2AwODQ0FLDlBPxiEhMTv/zyy8ePH2tra3/yySc7d+708PBYQ+4SmMDLy8t73e8uhRT/7ZDz9va+cuUKl8t9XTW2NwxuGAzGv/71r9DQUAgEwmQyMzMzHRwcXiRRLBaLwWC6urrMzMwaGhpWrSgkA2VlZSUlJQqFcuPGDW9vbxaLtRo2LS8vFxQUNDQ0ALaNjo6O33///bP86uTklJiYqK+vf/jw4T9F51ssFo+MjJSXl2dmZra3t6PRaGVlZVNTUwwGA7hEAoeRyeTKykpdXV2gEx2BQLDZ7Ly8vJ07d66R29TQ0FBQUGhvbw8MDLx27donn3xy7NixgYEBBwcHNBotyR0Gk8nMycmJiIgwMzO7d+9ef3//etxVnv2JnZycfv7557GxsXc6Lz8wMFBYWJiZmVlWVgYCgUgkEgwGi4iIcHV19fT0HBwcLCwsLC4uLi0tZTAYkZGRISEh699TmpqaRkVF8Xg8CY8ESCHFn0xgJBKJQCBkZGRIksCAvTMOhystLXV2dtbX15+fn+fxeKvZ/1XA4XADAwM2m21kZAQ0HEtSxg0KhWpraxcVFRUWFqLRaD8/P0NDQzAYfP369aysLKFQGBAQcOrUKRKJ9GIFhcFgUKnUVeMrSQKQHo+Njc3KysJgMA4ODsrKyv39/Y6Ojnp6ehgMhkKhrB7s5ub27bffhoSEyMnJAaNpS0tLra2tExMTay/oISEh8fHxJ0+ehEAgk5OTenp6Q0NDXC53PeLobxHm5uYxMTECgQCDwYSGhsbGxq6Kk60Tnp6eV69eTUxM3L9//7v4LYaGhn777be8vLz+/v7p6Wk8Hh8SEsJkMg0NDdXU1Hp6ej777LPa2trFxcXPP/989+7d5ubmrzvCBQaDvb2909PT9+7dK13UpPjrQFZXV1dPT4/FYvF4PEl+MAgE2r17d1xc3PT0NBqNplAoxcXFLz2MyWRWVlYaGRn19fUJBALJnN7k5GRpaekvv/xSUFDA4XDOnTuHRCJ7e3u/+uqr0NBQNpt98uTJjIyMAwcOWFlZvbT+Lycnh8FgJMleYrG4p6cnLS3tyJEjBw4cmJubO3jwoKura2Fh4cTEhL29fVtbW1ZW1nNDC1gsVkdHp7q6WkZGxtrauqenh06nLyws5OTkrP1xVCp1enq6u7t7w4YNWVlZYWFhzc3NLBZrncNMbws4HE5eXp7NZsvIyNjb2w8ODvb09LzWO5BIJBKJlJWVNTk5+RZPrL+/PykpacuWLXg8/vLly3A4PCQkJDc3t7Ky8tixY/Ly8jk5OQ4ODnv27JGTk3vw4EFFRUVYWJiVldUfG0B2cXFpbGycmJiQLmpS/HUAtre3RyAQAwMDCgoKEhY2hUKhbW1tIBAIh8Opq6vfu3fP3d39xacXiURyOBwYDLa8vLywsPDSUtnbpa6UlJSEhITZ2VkqlRoZGVlTU1NXV5eTk7OysuLi4nLgwAFAGvX9+RVFIlFbW9v169fv3r07MTHh4uJiamra1tb2+PHjkpISIyMjExMTAwODDRs2bNq0SV9f/7kuAKAfHbCQb2trm5yc1NXVra+vZzAYazcWjo+PDw8Pm5ubl5eX02i0pqamzs7O4OBgSTYEgcFgCASSnZ3t7OwsIyPD5/NHRkZMTExea+uARCIvXbrk5ua2hlrYa1HXxYsXL1y4cOnSJYFA8Omnn+7bt++TTz4JCQkBZjMuX74cFxcHgUDCwsI+/fTT0NDQN8+7gkAgYPBf6kspxV+IwFRVVcPDw+Pj42EwmI2NjSQTdECbX1lZmZWVlYKCwsjICI/He6mmOB6Pv3HjRmRk5J07dzw8PN7F+igQCFpaWtLS0qKjo/F4fHBwsJqaWlNT07lz54aHh5WVlW/evBkcHGxubo7BYN6TH29lZaWvr6+4uPjSpUtpaWk4HM7Ly0soFF67du3Jkyezs7Nubm6ffvppWFiYvb29sbHx70WEUCgUUDZSUFDA4XC//fYbFos1NjZub2+nUChrz72Vl5c7ODh0dHTIysoCEoUuLi4SFl/W0NDIyclRV1fHYrFQKLSoqMjS0vK1hLjQaPTt27fhcLi7u/ub3EKA89a3337b09NjZmZ26dKlY8eOubq6YrHYjo6O27dvnz9/vre3d+PGjUePHvXy8gJGqt9OLkVWdm5urrm5GRDVlC5tUvwVIEcmkwcHB8lkMpvNHh4efrEK9U5hZmaWnJzM4/H09fWdnZ1v3brl6ur6YkZOTU0Ng8EAdpEcDuelQ2N/GGNjY3l5eVwuFwaDUSgUb2/vgoKC7777bnBw0Nra+vPPPyeTyX//+9+RSKSE55zWpq6qqqrc3Nyenh41NTVbW1uhUFhZWXn//n0tLa3w8HAbGxtLS8t1zjapqqrKy8v39vZqampqaGiYmpqyWCx3d/fKysqpqak1CBuPxwuFQj6f7+joGBsb6+vra2homJiYeOLECUleDVlZ2ZCQkJSUFGNjYzwev7y83NfX91rpBCUlpbCwsKioqDNnzvyBrG9ra+uTJ0/q6up6e3ttbW3Pnj3r6uoKTGV1dnZev34dyKza2tp+//33zxYg3y5MTU3T09Pn5uYUFBSkS5sUfwkCs7CwqKur8/Ly+vvf/87hcCRMYPLy8h4eHikpKUeOHFFXV1dUVORyuS9qOoDBYBqNVl9fT6fTy8rKyGTym9eWAFX4/Pz8+vp6JpPp6em5tLSUlJR04cIFLS2tnTt3Kisry8nJlZaWxsXFWVhYvA8egEtLS3w+v7q6+tGjR4uLi3Q63cTEpKqq6u7duyoqKi4uLl988YWqqqqysvJr7cEhEIilpWV5eTkw/uXk5MRms3t7e3fs2LF2fAB4thUVFW3dunVpaQmBQMjLy7e3t4+Ojkp4JoxIJGZkZHC5XBKJBLQzkEik9d8kUCiUTqffvHkzNTU1KCjolceLxeLJycmZmZm7d+9mZmYuLy+TSCTAqBOYc5+YmMjNzb19+/bo6CiDwTh69Ki+vv67DkxVVFR0dHRYLBaTyZQubVL8JQjM1NQ0IyPDzs7O1NQ0KSnJx8dHwmfg6ur66NGjnp4eHA5HJpMrKiq0tbVffNTNzc2vX79uYWEBzBu9iejA7OxsRUUFi8UaGxuzsbEJCQlpamqKi4tDIBDW1tZHjhzh8XiNjY2jo6OLi4v29vZhYWGSt+59DnNzcxUVFRUVFV1dXWg02sbGZmlpicvl1tfXW1lZ7du3D4/Hvwmp0+n0hIQEPp+voqJCJpONjIwyMzM3bdr0yoYCd3f3L774IjQ0NCQkJDs7297ePikpqaamRsI3EgqFMjU1raioIJFIdnZ2Dx8+BMbJ1/8OTk5Opqam9+/f9/HxWUNEXygUFhcXd3R0xMXF1dTUEAgEX1/fyMhIICswNTWVl5dXWVlZWVmpp6cXHBzs7e0tMY0PEAgUHBx86dIle3t7Ccu7SCHFn0NgaDTayMiot7eXRCLl5OQMDQ1JeJREVlbWzc0tNzd39+7dtra2Dx8+7OvrA5qznz1MW1sbAoEsLCyIRCKgKPW6HyQWixcWFioqKh4+fEggECwtLdva2mJiYsbHx728vP72t7+pqKiUl5f/85//JBKJFhYW7u7ugM/yn/jziMXi+fn51NTUR48eqaqq0mg0GAzG4XA6Ozutra0dHR0JBMJbMZqBw+EuLi6ZmZlbt27V0dFBo9F4PB6Q631lDA1MkllZWaWmpnp7e//4448cDud17RnffO22t7f/9ttvIyMjAZfIuLi4ffv2rb9gqaqqam1tnZqaWl9f/5wQiUgkAkSZo6Kiamtrm5qa+Hw+Doc7e/asp6cnkUgEgUCjo6PR0dFZWVlgMHjr1q1BQUEkEknyhji6urpgMLirq0uqyiHFXwHg/fv302i069evu7u7z87Ojo6OSljYVEZGBhCyMzY2xmKxU1NTDx48sLGxeU75ELCAio+Pt7OzY7FYr3WSIpGovb09Ly/v1q1bwKBSe3t7XFzc8vLyli1b/Pz8VlZWysvLq6urLSwsDh06xGAwcDgcBoP5s4rhYrFYIBBUVVWlpKTcvHmzv7+fSqXOzc2xWCw8Hn/w4MHAwEATExNAuOFtfai2tnZMTIyNjQ0KhQIMpteZiUKhUNnZ2Q4ODsPDwwsLC2KxuKKiwsfHR8LqggoKCnw+n8vlkslkeXn5n376icvlenh4rP8dTE1Nv/nmG0NDQzqdvvrTt7S0/PDDDwcOHPjnP/9ZWloqEAgYDMY//vGPq1ev2trajo2NPX369Pvvv7979668vPy5c+f2799vZmamrq7+p8RAIBBoZWWlqanJ3Nxcqsohxf9+BJaYmHj48GGgYHD48OErV65MT09LuAiMxWJVVVXZbLampuaGDRtOnToFcMlz/GFsbDw7Owu4wi8sLKzHLFEsFnd2dsbHx8/NzQFtIOPj43w+39PT08fHp729vaCgQFNTU09Pb+fOnTgc7j1p3+LxeDdu3BCJRCMjI1AoVF9fX1FR0dzcnEqlKisrv6OFCYlE4nC45uZmJpNpaWkZHR0NCBm/8oWampogEGh4eJhKpaanp2/fvv3y5csdHR1rqB6/IwQFBX355ZdeXl7q6uoODg6pqalTU1Prlx/T0tIik8kxMTGroRuXyz1x4sTjx4/BYLCCgkJYWFhAQADQZ5STk5ORkcHhcCgUSkhIyNoqz5KEgYFBXV0dMF4pXeCk+B+PwM6ePaupqQmHw4uLixkMRltbm6KiouSziOrq6vfv3weWhr6+vry8vNDQ0OcyMCAQaGlpqbOzE4PBCIXCtS3kx8fHGxoabt26FRMTg8Vix8fHR0ZGDAwMgoKC1NXV6+vru7u7mUxmYGCgg4ODqampkpLS+7BjnZ+f7+/vr6ioiImJWVxc9PDw2Lp1q5ubm7W1NZAtfHcnCQaDFxcXa2pqbG1toVDoxMTEwMDAenr54HD4wMCAnJwcjUZ79OiRm5ubpaVlamqqhMWXgTPp6+ubmpoiEokoFCoxMVFDQ8PMzGz94QsEArl165adnV1nZ+e3336blJQEhKQeHh63b9/29PQEgUBJSUlnz55tbm729PQ8evSor6+vmZmZhMPNtQPikpISLS2t94RQpZDiHRLYlStXZGRkYDBYRUWFoaHhwsLC8PDwu+v0/T0IBILHjx+rqqri8XgYDBYVFeXt7a2hofF8wCgnV1ZWZmdnV1RU5ODg8NIszcTEREZGRmxsbExMzPDwsJGRERQKBRrxxWLx6OioiooK0HSAw+GQSOT7U+5eWVlJTEzMzMyUk5MTiURHjhzx9PREo9EQCEQyTKCkpJSQkODg4ACHwwHTL2tr61dmKUEgkL6+PhaLRSKRKBQqKysrKCgoNTWVSqVKWHz5/2vvTqOautaHgScQwhASxgAhASKRQGKYAgQhTDLIoDggDgtna61XrVNd1bLaXu2lWntvvbfaah1qW8RexCpWhlUQlBkESZinhDCFIQFCCJCJJOf9cN7l6t/2WrCaUrt/34zEHE6O5zl772c/DxyGq6qq/Pz8CARCRUVFb29vdHT03NeitFptYWFhfn4+EomMjo5OTU2NiYlZt26dt7d3Tk5ORkZGUVERiURKSUk5fPjwkiVLMBjM0+sH3lHwh6ewGxoayuXylpYWPdf0AgD9+/8zZvCifWNjI5ytrudqQAgEQqfTKZXKoqIiuP6Fr69vVlbWLw+DSCQaGBhAEIREIoVC4TN/C0HQgwcPNmzYcObMmezsbGNj47i4OBMTk56enunpaTMzM4VCkZSUtH79eicnpwW42ROJRE5PTy9ZsmTPnj2bNm2qqanR8wHgcLigoKCffvoJgUAQCARDQ8NfnuT/9UY4VrFYLKFQODIywmazy8vL9X8OJRJJQUGBUCg0MjLavn17bW0tj8eb+9u9vLxycnJcXFy2b9+enJysUCjq6+v37t27e/fu3t7ePXv2nD9//siRI0FBQU+v24mJiba2tmPHjm3atKmkpGQhXEhsNruhoUEul4MbHPCaj8DgjsxwK4fvv/8+KSnp0aNHixcvfn43jZfO0tKytLRUpVI5OjpSKBSNRnPr1q2EhIRnnmfhoQmHw7GxsVGpVG5ubk9DV2Nj471799LT0ycnJ01MTGJjYxctWiSXyx0cHIhE4tTUlEqlWr16tbu7+4Jd3IZX4Llc7tKlSx0dHTMyMiIiIvScyUahUK5cuRIWFobD4fr7+yUSybx2BBsaGkokkqGhIW9v77KyMj8/Pz0fv1gs7uzsHBwcDA8Ph/ummpmZPY03vwmFQuHx+OHh4QcPHnR3d58/f76trS0yMjI1NTUxMZFEImGxWPj6UavVHA7n7t27Fy9erKmpodPpx48fn/sHvVJoNFosFo+NjT39DwIAr/MIDIFA2NnZEYlELpebmJh4//59/d+7Y2Njx8fH6+rqEAhEQkKCSqWqrKz85U8GBATweDwymczlcuHmwvn5+Vu3bj1w4EBOTs7ExASdTt+1a9eKFSv8/PympqYGBgYcHBx27Nhx/Phxb2/vBV5lh0aj9fX1dXV1mZiY0Gg0Lper5wMwMzNzd3eHPzc4OLiqqmq+w3EGgyEQCOAbvZ4rRCMQiEWLFhGJxIGBgd7eXiwWu3r16jt37szxV4CTP7/55puCgoLc3Fw0Gn3y5MkLFy5s3rz5aUIEvLEBrtKbmpqq1WoPHz584cKFt99+e0G1MgkKCqqvr3+mcDMAvJ4jMDiEEAiErKysTZs23bx5c+nSpS9lg9HcWVhYNDQ0dHZ2hoeHW1tbT01Ntba2stnsZ7INjYyM1Gp1Z2dnSUlJW1vbmTNn+Hw+Doezt7cPDw8/evSon5/fxMRESUmJRCLZuXPnunXrPDw8/sCc+Pk+O09NTeXn58NN7ouLi3+e0q2na8LQsKamhslk2traPn782NLS8peLkc8fTBcXF9NotOnpaalUqucK0ebm5o2NjVZWVnDDaEtLy5s3b7JYrOc0XIar+JeWll64cOHSpUtarfbYsWOTk5MrVqwIDAx8ugQ4ODhYXV391VdfnTt3bnR09MiRIydOnAgKCnJyclo4NcaewmKxBALBysoK7GgG/hIBDI4NXC6XSCROT09DEEQmk/U6GDQw6OzstLOz4/F4AQEBbm5uXC7Xzc3tmT3LfX192dnZ6enpKBQKhUL9/e9/37NnD5PJXLFihVqtzs7OHhgYsLW1Xbdu3cqVK39PwY4/iqOj45UrV5YtW4bD4TgcjrGxMRKJ1Gc2BBw4lyxZgsPh4I7YISEhc593RaFQSqWyubk5JCTkxx9/jImJ0f8gsqysDG4a6ezsrFKpOBxOVFTUr/4KtbW1Fy5cSE9Pl0qlwcHBhw4d2rBhA5FIHBoaqqqqWr58OQKBaGlp+fLLL69fv97X18disf72t79t27btORFxIYDnQkH0Al5vqGfuXK6urk1NTV5eXs3NzWw2W5/FFMzMzJydndVqdW1tbWVlZX9//+DgIDwHotFoBAIBj8fLyMiQyWQsFquoqMjY2PjUqVNOTk49PT2NjY0VFRVUKnXnzp1EItHExOTPu4vTxsaGwWBUVVWtWbMGh8PBTZ/fffddvd2MLCwsAgMDCwoKdu3aRaVSs7Oze3t751UkE66Cv3btWgiC+Hy+nqtCeHl5QRCERqOfPHmSmJi4ZcuWU6dOwbXK4B+Ynp7u7++vqqrKzc01MjJasWLF4cOHraysfj6QWrdu3bZt27777rucnBwIgkJDQy9dumRhYWFqago2CAPAQhyBIZFIU1PTnJyclStXFhUVBQQE6HluRKvV3r59WygUPnnyhEaj7d69m0Ag5OXlff/99+np6VNTU/Hx8ceOHYuNjbW0tDQzM6uvry8sLBQKhVZWVtu3b4+MjLS2ttZb0vmro1ara2pqwsLCFArFyMjI2NiYu7u73valIpFIEokE10PB4XCDg4NSqXReyS8oFGpiYmJkZITBYFRWVj5TmUkPxz8xMaHT6SoqKsRicUlJiaurq4+PDwaDGR0d/eGHH7755pt79+7h8fikpKSjR48ymUwsFvtMzTAMBjM7O9vX15eQkJCamhocHIzFYl+DSwsAXtsRGAKBcHFxMTIygqvldnZ26ufWo1arJRJJZWVlUVFRS0vLW2+91dHRsWTJkoyMjPLycoIfwYAAABTgSURBVFNT0/Xr1+/atcvR0fHnAdXQ0HDv3r1SqRTODXudvpUlS5bcvXt3fHycyWTevXvX39+/oaHByclJb3dPDAYTGhpaUFCQkpLi5+eXlZW1cuXKeZWF9Pf3v3v37pYtWwoKCuAawfo5cp1OJ5fLraysrl27Njs7SyQSN2/ejMFgRCLRmTNn2tvbXVxctmzZ4uzs/Jvnc/v27Tqd7o8thgkAwDwCmKGhYUpKSmZm5saNG+HV71d605yenuZwOBwORyQS0en0tLS0e/fulZeXd3d3t7e3M5nMTz/91N3d/X+9nUAgLKjUr5eFRCIRCAQ4I5RCoSCRSC6XGx8fr88Z3aVLl167dm1sbMzDw0OtVgsEgl/tNfqcX8HAwEAqlRKJxI6ODjab/aoPGIKg4eHhsrKy3t7eyclJKpW6ceNGOKWwsLAQi8Wy2ewTJ07MvT6FgYEB6AwJAH+mAIZAIKhU6tTUlKmpqVwuHxoaehWL1RAEzczMlJSU5OTkuLu7L126lEql8ni8d999t6OjA4VCHTt2LCAgYF7Jb6/Vt4JCRURE5ObmJiYmLl++PDMzU6lUjoyMODk56e0Y7O3tLS0tu7q62Gx2cnLyrVu3Pvjgg3mN4VxdXTs6OhYvXtze3h4cHPzqnoQgCBocHLxx44ZYLIbLgxEIhI8//vijjz6Sy+U+Pj7vvfcejUbTf1kQAABeqV95wDQ0NAwMDHz8+HFERERxcfHLrcohk8lqamq++uqrEydOiESikydPslisysrKlJSU8+fPr1q1Kj8/PywszN7e/i8bvWDh4eFisZjP51MoFAMDAxaLlZGRoc8KKUZGRnFxcXl5eTqdDt5R19XVNfe3I5HIqKio8vJyLy+vxsbGV7EhSafTDQ4O5uXlpaWlnT9/PjY29tixYyYmJt9+++369euHhoYoFEptbe0777wTGBgIohcA/CVGYAgEgkaj5eXlxcbGtra2zszMvJR2jjMzM8XFxRUVFQ4ODp6enpGRkUVFRUePHlWpVPHx8WlpaYsWLSopKTlz5gwGg5l7G6fXlZGRUWhoaGlp6c6dOxcvXmxsbCwSiYaHh5/pMvNKubm5oVCotrY2BoMRGBhYW1vr5uY294GUjY0NmUzu7e21t7dvbW319fV9icfW399/69at6elpCoWyZs0aJBKZmZnZ0tJiZ2cXEhLy5ptvYrHYAwcOzKsaPQAAr0MAo1KpmZmZhoaGcMlBDw+PF/6A2dnZgYEBDofz6NEjHx+fpKQkiUQCd62k0Wjvv/++VqsViURFRUVCoTA8PHzfvn14PH4urVJee8uWLbt06ZJMJvPx8cnLywsICCgrK9u4caPeUjngBdGbN2/CHT4zMjImJyfn9Wyxdu3ar7/+evPmzTdu3Pj9ZVAgCJqYmOjq6iosLJyZmVm3bp2xsXFHR8dHH30EV+7funXr7Ozs6OhoVlaWWCxOTk7+w1tpAwCg7wCGRqMjIiIqKirIZHJLS8uLBTCNRtPa2lpcXCyXy11cXEJDQ7u6uvLy8pydnUNDQ+Gukvfu3YMf1ePi4jw9PfWZpLDwwW1u+vv7qVTqd999FxQUVF1dPT09rc+USxcXFzhI0Ol0FAolEAiYTObc3+7g4IDBYAwMDFQq1cDAgIuLywsfycTEREFBAZ/PNzc3X7NmDZ1OV6vVn3/+uUql2rlzJ51Of/LkyY8//ghBkLW1NdzwEyQQAsDrDfm/llWUSuU777yzf//+q1ev/utf/5rXLlqZTCYQCO7cuaNUKv39/Xt6empra5FIZHx8vIeHh0qlqq6uHhkZCQwMDAgIsLOzWyC9uBYaCIKuX79uZGS0bdu23NxcoVAoEok2btz4ewbEL3AMubm5YrF4165dXC43Pz8/NTV17gMpCIKysrIMDAxmZ2eNjY2TkpLm+0Wr1eqJiYm8vLympqbQ0FB/f39HR0f4QUepVA4MDAwPDz969GhycpLNZnt4eMB7KkD2IAD8pQMYAoHIyMgwNTXt7OyMj4+fywIGBEEikai6urqpqWloaMjGxkYmkwmFQgaDwWKx4IpzYrHYysoqOjray8sLBK3f1NXVde7cuUuXLqnV6iNHjsTFxfX09Bw6dEifxzA+Pn7q1Km0tDQsFnv8+PHdu3fPK59eIBBcvnx506ZNRUVF+/fvn3uBTZVK1dDQUFtbOzw8zGazIyIi4KaRcM5hU1MTn88fGxvD4/ExMTFubm6gbBIA/NU8b44FbrAbEhLy4MEDHx+f58QbCIJkMtndu3fr6upsbGyqq6tnZ2e9vLxiY2Onp6cbGxuLior8/f3hCoc2NjYgdM2Rq6urkZERn893c3NjMBhGRkY8Hm9iYkKfzW5sbGyYTGZRUVFSUlJMTExxcfG8UjlcXFwMDAyQSKREIpHJZHMJYDqd7vHjx7dv37azswsLC6PT6XAzUrVa3djYeP/+fYVC4eXlxWazyWSytbU1uJwAAIzAnjUzM/Of//wnMjKysLDwjTfeIJFIv/wZuVwOF4YvKCiwt7fHYDB9fX1UKjUgIGBwcLC7u5tKpa5evXrRokVgVufFlJeXl5eXv/feexwOp6ysjEgkKpXKrVu36ueuPTU1pVQqLS0t33777bS0NI1Gc+XKlTfeeGNeuwPb2toyMzM9PDzQaHRycvJz4tbQ0FBNTU1ZWdnU1JSvr69cLk9JSdFqtZ2dnQKBoKOjg0wmr169mkKhgAsDAIDnjcAwGMzixYv5fL69vb1AIPhlABsfH//HP/7B5/NFIlFgYKC9vb1EInF1dbWzsxsYGOjv71+/fn1UVBQ4y7+Hl5fX7du3x8fHyWRyTk7O0qVLHzx4IJPJ9FMaUSwW5+bmHjp0yN/fv6qqKiEhwcrKis/nzyuA0Wi0qakpKpWanp6+du3aX53rGxwczMrKGh4e7uvrQyKR3t7eaDRaoVBcvHgRh8M5OTl5e3v/vC8XAADAb4yKoqOja2pqqFQqh8N5+iIEQVKptKGh4c6dO1VVVXBWGARBIyMjdDo9MjJSLpcPDg6uWbNmgTSo/VODHyOam5utra2dnJzEYjEWi+XxePr5dDwePzY2JhKJgoKCmpubFQpFRETEw4cPNRqNUqmc6zAfiQwODubz+QQCoaGh4ZcDr7t3727btq2mpqalpcXNzW3ZsmUTExNcLheJRDo7O/f29sbHx7PZbBC9AACY6wgMgUDY2NjAlaW6urqUSqWJiUl3d3dpaWl3d3dLS8vU1FRISIitra2TkxOcbSgSiWQy2Zo1axgMBtjL9XK+IRSKTqe3t7eHhYUtX75cIBAwGIwnT574+/vr4dPNzMyIRGJXVxeLxdLpdPCnK5VKLpfL4/E2bdo0x5nhJUuW3L9/39fXt7q62tfXF36XRqOB55/7+vocHBwgCGIymRYWFgYGBhQKRSKRqNVqDAaTmppqa2sLrgQAAOYXwBAIRFxc3Lfffuvi4vLll19KJBKFQgFv8AoNDQ0JCcHj8VNTU3AV+aioqMTERDs7O7Cd6+Xy9PTMy8tTqVQkEolIJMrl8uzs7JmZGTgr71WHTwqF0tXVFRISEhcXl5OT4+npuXbt2gcPHojF4sjIyDlW/HJ1dZ2ZmTEzM5ucnOzr60MgEPn5+bm5uVZWVsbGxlKpFE7KsLCwaG9vr6uro1KpsbGxLi4uIEcDAID/Bfn88npw6cLLly87ODh0dHR8+umnvr6+Y2NjaDS6v7+/oaGhp6fHxMQkMTGRRqOBG82r89lnn4WFhQUEBMB//OGHH9RqdUpKih4+WiQSffLJJ2fPnjUyMkpNTd28eTOZTP7kk0+oVKpUKj148OAc/53i4uKHDx/29fVJJBJjY2N4ozESiQwMDGQwGHw+v7GxcWRkxNvbe/ny5WDIBQDAC47A4FWuO3fuPHnyhEqlHjx4kEKhXL16FYPBaLXa3t7erKwsHA7HZDIjIyMJBALYgvOqrVq1Kj09/WkACw8PP3v27KpVq/RQKgmPx+NwuO7ubhqNFhcXV1hYeODAAQqFYm5u/vjxY6lU+pvFpSAI6unpqaiogOuwODs7f/DBB46OjpOTkxAE5eTknD59mk6nBwUFUalUa2tr8HUDADDvAKbVavv6+rq6uh4/fiwSiRISEv7973+bmprCfxsYGHj16lUEAmFvb3/48OFfzaoHXhE3NzeNRiMQCFxdXREIhJWVFZlM5nK5oaGhr/qjDQwMNmzYkJmZefLkSU9Pz+bm5rGxseDg4PT0dF9fXzg18VffqFQqBQJBc3Nzc3OzRqNJSkp6//334R3ZGo2moqKiurq6p6cnJibm3Llzc9/gDAAA8H8C2OzsbH19fUFBAQRBJBJpzZo17u7uP29/DAcwU1NTDw+P17KH5MLn5+dXX18PBzAUCuXh4dHW1sZms/Wwwc7Dw2NsbGxsbMzGxmb9+vUWFhZ4PF6r1WKxWD6fr1KpnknYUSgURUVFNTU1OByOQqFs3bqVSqXCM8ympqZ+fn5nz551d3cPCQnZt28fqLcLAMCLQTY3N7e0tFRWVpJIpISEBDKZbGZmBqYEF6C2trb8/Py9e/fCd3yJRJKWlnbq1Cn91Pa9evUqiUSKj49/+sr4+LhOp/viiy/eeustR0dHCILGxsaGhobKy8vb29tZLNayZctsbW1NTU2fWRxVqVRyudzc3Bwk+wAA8HsYOjs7W1tbb9++PTY21t7e3tjYGJTMWJjMzMxKS0vd3d3hNSdTU1OBQDAzM6OfshQqlaq5uZnJZD59uDEzM8NgMAKBYHp6WqvVZmdnl5eX9/T0MJnMbdu2sVgsCwsLIyOjX6b2oFAoU1NT8JAEAMDvDWD379/38fHRQ0I28Duh0eiRkZHR0VEajQa/4uzs/PXXX0dHR+shGKBQqEePHvn6+j69VGZnZ8fHxwcHBz/77LPJyUkmkxkdHR0ZGUmhUNBoNPi+AAB45fclsHj+JxIdHZ2WlrZy5Up48s3e3t7R0ZHL5bJYrFf3oRqNpr+/v66ubmRkRK1WIxAIqVRaW1vL5/OHhoYIBEJISEhycvK8+oQBAAC8hBHYyZMnwVn4szAzM+NwONbW1vb29vArCoWivb39aW2LlwiCIKVSWVZW9sUXXzQ3Nzs7O8fFxZmYmKSnp2dlZZmYmDAYjMTERBKJVFpaisFgPD09wRcEAIA+/cZGZmChqa+vLykpOXz4MDxtODw8fPny5X379tnZ2b2s8VZPT49AIGhpaenp6fHx8UlISJDL5U1NTU1NTVKpdO3atYGBgcPDw62trZWVlVqtNiUlxdvbG2xjBwBAz0DP9T8ZEomkVCrHxsbgQZidnR0Wi+3u7v79AWxmZubhw4d1dXUYDMbBwSE8PHznzp1NTU0XL140NjZevHhxcnIylUoVCASff/65XC4nk8k7duygUCgoFLiKAAAAAQz4LTY2NhYWFt3d3XAAMzQ0jI+P/+9//xsYGPgCs4hqtVosFvf19dXU1AgEguDg4B07dhgZGU1MTNTV1V2/ft3Dw2Pnzp14PF4mk/F4vFu3bul0utWrV9NoNAwGAxJWAQAAAQyY8xeGQnl5eXE4nODgYPgVGo2mVqsFAsHixYvn+I9AEDQ6OlpfX9/c3AxBEA6HCwsL279//+DgYFlZ2cDAAAqF8vT0/Pjjjy0sLFpbW2/cuCGRSKytrVNSUjw8PMBsIQAAIIABL8LPzy8zM1OhUMBVvpBIZExMzIMHDygUyq+GFo1GMz093dTUVFJSsnHjRrFYXFJSMj4+7ufnt2LFChsbG0NDQx6Pd/r0aYVCERoaGhERgcfj1Wp1Z2dnbm4uCoUKDw+n0+m2trZg8xYAAAsHSOL4U7px44alpWViYiL8x+Hh4StXruzdu/dpdiJMpVK1t7eXl5eXl5f39/f7+flZWlo6OjouW7aMRqPJ5fK6urq2trahoSFLS8u4uDgGgwFBUGtra319fW9vr7m5+cqVK93d3cEJBwAAjMCAl2PZsmUXLlyIj4+HEyhsbGywWGxvb+/TAKbVaktLS2/cuFFfX69QKMLCwt577z0ymbxo0SIcDieVSq9du/bkyRMajebl5bV27Vq4rZdAILhx44ZOp2OxWJGRkUQiEaxyAQAAAhjwMuHxeGtr6/b2dnj3FRqNZrPZJSUlDAaDx+P99NNPubm5arXa29v71KlTsbGxZmZmGo1GKBSWl5dzOByhUBgWFpaSksLj8fLz8x0dHdva2mpra2UyWUpKCoPBAKtcAAAsfGAK8U8JgqDbt28bGhomJSXBwWZsbOzNN9+0srKSSCRUKpXFYvn6+pLJZENDQ7Va3djYmJOTA0GQi4sLgUAQCoUCgcDBwcHR0XFoaGh8fNzFxcXPz8/b2xuscgEAAAIY8Gp1dHRkZWXt27dPJBLV1NTU19er1WpHR8eDBw/icDg0Gi2TyYRCYWNjY0VFha2tbVBQ0OzsLIfDkUgkoaGhBAKhq6uLy+WGh4eHhYVZWVmB7VwAAIAABujD7Ozshx9+iEaj0Wi0l5dXaGioVqs9ffr0hx9+KJPJysrKuru7kUikk5OTiYnJ4OCgXC63tLQMDAxUq9WPHz+enZ2lUqlxcXGgGCYAACCAAfomEommpqYIBAIGg9FqtRKJ5J///Ofo6KipqWlAQACJROru7m5oaKDT6QEBAXg8XiwW379/H4/HR0REUKlUc3NzsNYFAAAIYMAfRqFQNDY2NjY2CoXC/v5+LBYbFBQ0MDAglUoDAgKioqKQSOSjR4+amprMzc2Tk5OdnZ3BSQMAAAQw4A8OXdnZ2aWlpc7Ozn5+fh4eHubm5jdv3rSzs6PT6W5ubvD0oEQiaW5uJpPJJBIJ5GgAAAACGPDH0Ol0Q0NDHR0dtbW13d3dMTExcXFxcI9mAAAAEMCAhUij0bS3t+fk5ExPTxOJRCaT6enpaW5uDs4MAAB/TSBzeqGTy+UDAwPt7e2PHj3CYrGJiYnu7u7m5uYg6x0AADACAyOwBWp0dLS0tLSzs1Or1To5OUVHRzs5OYHTAgAAAALYQqTT6WZmZvr6+goLC3k8XlBQkK+vr4uLCxaLBSnvAAAAIIAtRCqVqrOzs66uTigUarXaqKiooKAgNBoNzgwAAAAIYAs3dBUXF+fl5VlZWQUFBbm5uVEoFJDvDgAA8Hz/D8+VOMy0Dm+aAAAAAElFTkSuQmCC"
  },
  {
    "path": "editions/de-AT/tiddlers/community/Fur_Entwickler.tid",
    "content": "created: 20150412191004348\nmodified: 20150518085903338\ntags: Community\ntitle: Für Entwickler\ntype: text/vnd.tiddlywiki\n\nEs gibt mehrere Ressourcen für Entwickler, um mehr über das TiddlyWiki Projekt zu erfahren, zu diskutieren und vor allem mitzuhelfen. \n\n* [[tiddlywiki.com/dev|https://tiddlywiki.com/dev]] Offizielle Entwickler Doku.\n* [[TiddlyWikiDev group|https://talk.tiddlywiki.org/c/devs/]] Diskussionsforum für Entwickler.\n* https://github.com/TiddlyWiki/TiddlyWiki5 .. Github Repository. \n"
  },
  {
    "path": "editions/de-AT/tiddlers/community/Wie_kann_ich_helfen_.tid",
    "content": "created: 20130825160500000\nmodified: 20150518084444499\ntags: Community\ntitle: Wie kann ich helfen?\ntype: text/vnd.tiddlywiki\n\nWenn Sie denken, dass ~TiddlyWiki auch für Andere hilfreich ist, dann erzählen Sie es bitte weiter!\n\n! Informieren Sie Ihr soziales Netzwerk\n\nOpenSource-Projekte, wie ~TiddlyWiki wachsen und gedeihen ''nur'' durch das Engagement Ihrer Benutzer. \n\n~TiddlyWiki wird umso besser, je mehr Menschen es benutzen. ''Die beste Möglichkeit um die Zukunft zu sichern, ist ~TiddlyWiki 100 mal populärer zu machen, als es heute ist!''\n\n* Zwitschern sie über ~TiddlyWiki :) [[I love TiddlyWiki because...|https://twitter.com/intent/tweet?text=I+love+TiddlyWiki+because...&source=tiddlywiki5]]\n* Klicken sie den [[TiddlyWiki5 Star Button auf  GitHub|https://github.com/TiddlyWiki/TiddlyWiki5]]\n* [[Veröffentlichen Sie das TiddlyWiki Poster|https://tiddlywiki.com/poster]]\n\n[img width=232 [Tiddler Poster.png]]\n\n! Helfen Sie die Dokumentation zu verbessern\n\nEs gibt unzählige Möglichkeiten dem Projekt zu helfen: \n\n* Schreiben Sie Anleitungen. zB: Tipps und Tricks.\n* Helfen Sie uns die Informationen auf tiddlywiki.com zu verbessern.\n* Veröffentlichen Sie Ihre eigenen Videos.\n\n* Und vor allem: ''Lassen Sie uns das auch wissen :)''\n** [[Google Diskussions Forum|https://groups.google.com/forum/#!forum/tiddlywiki]] oder\n** [[GitHub Ticket|https://github.com/TiddlyWiki/TiddlyWiki5/issues]]\n\nDie ~TiddlyWiki Dokumentation und die Programme werden auf GitHub verwaltet. \"Pull-Requests\" werden gerne entgegen genommen.\n\n\n\n"
  },
  {
    "path": "editions/de-AT/tiddlers/external/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": [\n\t\t{\n\t\t\t\"file\": \"../../../tw5.com/tiddlers/images/New Release Banner.webp\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"image/webp\",\n\t\t\t\t\"title\": \"New Release Banner\",\n\t\t\t\t\"tags\": \"picture\"\n\t\t\t}\n\t\t}\n\t]\n}\n"
  },
  {
    "path": "editions/de-AT/tiddlers/howto/Importieren von Tiddlern.tid",
    "content": "created: 20230307080413903\nmodified: 20230307080417122\ntitle: Importieren von Tiddlern\ntype: text/vnd.tiddlywiki\n\nhttps://tiddlywiki.com/#Importing%20Tiddlers"
  },
  {
    "path": "editions/de-AT/tiddlers/howto/Installation von TiddlyWiki mit Node.js.tid",
    "content": "created: 20140909115316467\ncreator: pmario\nmodified: 20140910095059058\nmodifier: pmario\ntags: howto\ntitle: Installation von TiddlyWiki mit Node.js\ntype: text/vnd.tiddlywiki\n\nSiehe: [ext[https://tiddlywiki.com/#GettingStarted - Node.js]]"
  },
  {
    "path": "editions/de-AT/tiddlers/howto/Installation.tid",
    "content": "created: 20131119194500000\ncreator: pmario\nmodified: 20140913190536786\nmodifier: pmario\ntags: howto\ntitle: Installation\ntype: text/vnd.tiddlywiki\n\nHerunterladen einer Datei Version: <<version>> von ~TiddlyWiki: \n\n|{{$:/editions/de-AT-DE/snippets/download-empty-button}}|Get started with an empty wiki |\n|{{$:/snippets/download-wiki-button}}|Download a full copy of this site, including all the documentation |\n\nWeitere Details finden Sie unter: [[TiddlyWiki mit Node.js]].\n\n"
  },
  {
    "path": "editions/de-AT/tiddlers/howto/Liste aller HowTo's.tid",
    "content": "created: 20140918094051245\ncreator: pmario\nmodified: 20230307080301079\nmodifier: pmario\ntags: Referenz\ntitle: Liste aller HowTo's\ntype: text/vnd.tiddlywiki\n\nHier finden Sie eine Auflistung aller ~HowTo's\n\n<<list-links \"[tag[howto]]\">>"
  },
  {
    "path": "editions/de-AT/tiddlers/howto/Liste aller Tiddler.tid",
    "content": "created: 20140918094631105\ncreator: pmario\nmodified: 20140918100533574\nmodifier: pmario\ntags: howto Referenz\ntitle: Liste aller Tiddler\ntype: text/vnd.tiddlywiki\n\nEine Liste aller Tiddler: \n\n<<list-links \"[!is[system]sort[title]]\">>"
  },
  {
    "path": "editions/de-AT/tiddlers/howto/Speichern auf TiddlySpot.tid",
    "content": "created: 20130825213500000\ncreator: pmario\nmodified: 20140922124817348\nmodifier: ChrisK\ntags: howto\ntitle: Speichern auf TiddlySpot\ntype: text/vnd.tiddlywiki\n\nTiddlySpot ist ein freier Hosting Service von Simon und Daniel Baird. Er ist beinahe genau so lange in Betrieb wie es TiddlyWiki gibt.\n\n~TiddlyWiki5 wird momentan noch nicht als Standard Wiki angeboten, Sie können aber folgende Schritte verwenden um ~TiddlyWiki auf ~TiddlySpot zu speichern.\n\n# Erstellen Sie ein Wiki auf http://tiddlyspot.com/ und merken Sie sich den Namen und Ihr Passwort!\n# Für Österreich: öffnen Sie https://tiddlywiki.com/languages/de-AT/empty.html in Ihrem Browser.\n#* Für Deutschland: https://tiddlywiki.com/languages/de-DE/empty.html\n# Wählen Sie im [[Control-Panel|$:/ControlPanel]], den \"Speichern\" Tab und tragen Sie im \"~TiddlySpot\" Bereich, den Wiki Namen und das Passwort ein.\n# Klicken Sie den \"Speichern\" Button. Nach einiger Zeit, bekommen Sie rechts oben die Mitteilung \"Wiki gespeichert\". Das Speichern kann je nach Internetverbindung und Wiki Größe einige Sekunden dauern. \n#* //Das Erstellen eines neuen Wikis funktioniert nicht mit Firefox, da die Sicherheitseinstellungen diese Vorgehensweise nicht erlauben. Google Chrome kann verwendet werden. Ein späteres Editieren von tiddlyspot.com ist auch mit Firefox möglich!//\n# Gehen Sie nun zu Ihrem Wiki: ~http://{wikiname}.tiddlyspot.com/\n# Beim ersten Besuch müssen Sie eventuell den Wiki-Namen und das Passwort neu eingeben. \n# Sie sollten jetzt eine Kopie Ihres Wikis sehen. Sie können nun Änderungen vornehmen und mit \"Speichern\" direkt in \"die Cloud\" speichern.\n# Die ~TiddlySpot Verwaltungs-Seite ist unter: ~http://{wikiname}.tiddlyspot.com/controlpanel  zu finden.\n\n"
  },
  {
    "path": "editions/de-AT/tiddlers/howto/Speichern mit Android.tid",
    "content": "created: 20130825161400000\ncreator: pmario\nmodified: 20140909112823685\ntags: howto\ntitle: Speichern mit Android\ntype: text/vnd.tiddlywiki\n\n!!! Android App\nDie ''AndTidWiki'' App für Android macht es möglich, dass ~TiddlyWiki Änderungen direkt, lokal speichern kann. \n\n[[AndTidWik finden Sie hier im google \"App-Store\"|https://play.google.com/store/apps/details?id=de.mgsimon.android.andtidwiki]].\n\n//HINWEIS: AndTidWiki steht in keiner Beziehung zu TiddlyWiki//\n\n!!! ~TiddlyFox für Android\nSiehe: [[Speichern mit TiddlyFox - Android]]"
  },
  {
    "path": "editions/de-AT/tiddlers/howto/Speichern mit Chrome.tid",
    "content": "created: 20131129092604900\ncreator: pmario\nmodified: 20150615131529717\nmodifier: pmario\ntags: howto\ntitle: Speichern mit Chrome\ntype: text/vnd.tiddlywiki\n\nDiese Methode ist etwas umständlich, da man Einstellungen immer wieder manuell vornehmen muss. Der Vorteil ist, dass diese Methode jedoch mit fast allen Desktop- und vielen mobilen Browsern funktioniert.\n\n!! Speichern mit Chrome\n\n<<iframe-responsive src:\"https://www.youtube.com/embed/LcoZ7hQCuFI\">>\n\n# Speichern Sie eine leere Datei der deutschen Version.\n#> {{$:/editions/de-AT-DE/snippets/download-empty-button}}\n#> Wenn der Button nicht funktioniert, dann klicken Sie den Link mit der rechten Maustaste und wählen: \"Ziel Speichern unter ...\"  https://tiddlywiki.com/languages/de-AT/empty.html oder https://tiddlywiki.com/languages/de-DE/empty.html\n#> Je nach Browser folgen Sie den Dialogen!\n# Suchen Sie die eben geladene Datei im Datei Manager.\n#* Geben Sie der Datei einen vernünftigen Namen und stellen Sie sicher, dass die Endung `.html` oder `.htm` ist.\n#  Öffnen Sie die Datei mit Ihrem Browser.\n# Erstellen Sie einen neuen Tiddler mit dem {{$:/core/images/new-button}} ''plus'' im rechten Menü. \n# Geben Sie den Text ein und bestätigen die Eingabe mit dem {{$:/core/images/done-button}} ''OK''.\n# Speichern Sie die Änderungen mit: {{$:/core/images/save-button}} ''speichern'' im rechten Menü\n# Der Browser wird nun eine neue Datei laden, die die Änderungen enthält.\n# Suchen Sie die eben geladene Datei im Datei Manager.\n# Überprüfen sie, ob die Änderungen richtig gespeichert wurden.\n\n''Tip'': Die meisten Browser haben eine Einstellung, dass der \"Datei Speichern\" Dialog immer angezeigt wird. Das ermöglicht Ihnen, die bestehende Datei auszuwählen und zu überschreiben. \n"
  },
  {
    "path": "editions/de-AT/tiddlers/howto/Speichern mit Safari.tid",
    "content": "created: 20140811171304926\ncreator: pmario\nmodified: 20140922125459696\nmodifier: ChrisK\ntags: howto\ntitle: Speichern mit Safari\ntype: text/vnd.tiddlywiki\n\nDiese Methode ist etwas umständlich, da jeder Schritt manuell gemacht werden muss. \n\n# Speichern Sie eine leere Datei der deutschen Version.\n#> {{$:/editions/de-AT-DE/snippets/download-empty-button}}\n#> Ihr Browser kann eventuell nachfragen, ob die Datei gespeichert werden soll. \n# Suchen Sie die eben geladene Datei im Datei Manager.\n#* Geben Sie der Datei einen vernünftigen Namen und stellen Sie sicher, dass die Endung `.html` oder `.htm` ist.\n#  Öffnen Sie die Datei mit Ihrem Browser.\n# Erstellen Sie einen neuen Tiddler mit dem {{$:/core/images/new-button}} ''plus'' im rechten Menü. \n# Geben Sie den Text ein und bestätigen die Eingabe mit dem {{$:/core/images/done-button}} ''OK''.\n# Speichern Sie die Änderungen mit: {{$:/core/images/save-button}} ''speichern'' im rechten Menü\n# Ein \"popup\" mit \"Änderungen speichern\" wird angezeigt. Es enthält einen Link mit der Information //Rechts klicken um zu speichern//\n# Klicken Sie den Link mit der rechten Maustaste und wählen: \"Ziel Speichern unter ...\"  \n# Wählen Sie das Verzeichnis, und selektieren Sie die existierende Datei.\n# Klicken Sie den \"Speichern\" Button.\n# Klicken Sie \"Ersetzen\" um das Überschreiben zu erlauben.\n# Laden Sie das Browser Fenster neu.\n# Überprüfen sie, ob die Änderungen richtig gespeichert wurden.\n"
  },
  {
    "path": "editions/de-AT/tiddlers/howto/Speichern mit TiddlyFox - Android.tid",
    "content": "created: 20140103134551508\ncreator: pmario\nmodified: 20140922125926756\nmodifier: ChrisK\ntags: howto\ntitle: Speichern mit TiddlyFox - Android\ntype: text/vnd.tiddlywiki\n\nAlternativ zu dieser Beschreibung gibt es ein kurzes [[englisches Video |TiddlyWiki mit Firefox für Android Video]])\n\n# Stellen Sie sicher, dass Sie eine aktuelle Version von [[Firefox für Android|http://getfirefox.com]] haben.\n# Installieren Sie die aktuelle Version der TiddlyFox Erweiterung von:\n#* https://addons.mozilla.org/en-US/firefox/addon/tiddlyfox/\n# Installieren Sie eine zweite Erweiterung, die es erlaubt, Links lokal zu speichern:\n#* https://addons.mozilla.org/en-US/android/addon/save-link-menus/\n# Laden Sie eine leere TiddlyWiki Datei, indem Sie den folgenden Link \"tippen und halten\" bis ein Dialog erscheint\n#* Tippen sie: \"Link Speichern..\"\n#* https://tiddlywiki.com/empty.html\n#> Um den Link zu speichern, benötigen Sie obige \"save-link-menus\" Erweiterung!\n# Wenn die Datei gespeichert wurde, dann klicken Sie sie in der Meldungsübersicht oder mit dem \"Download Manager\"\n# Wählen Sie öffnen mit FireFox anstatt mit dem Standard Android Programm.\n# Clicken Sie \"OK\", wenn Sie gefragt werden, ob TiddlyFox das Speichern erlaubt werden soll.\n# Erstellen Sie einen neuen Tiddler mit dem {{$:/core/images/new-button}} ''plus'' im rechten Menü. \n# Geben Sie den Text ein und bestätigen die Eingabe mit dem {{$:/core/images/done-button}} ''OK''.\n# Speichern Sie die Änderungen mit: {{$:/core/images/save-button}} ''speichern'' im rechten Menü\n#* Rechts oben sollte eine gelbe Meldung: \"Wiki gespeichert!\" angezeigt werden.\n# Laden Sie die Seite neu und überprüfen sie, ob die Daten richtig gespeichert wurden.\n"
  },
  {
    "path": "editions/de-AT/tiddlers/howto/Speichern mit TiddlyFox.tid",
    "content": "created: 20131221085742684\ncreator: pmario\nmodified: 20150615130547291\nmodifier: pmario\ntags: howto TiddlyFox\ntitle: Speichern mit TiddlyFox\ntype: text/vnd.tiddlywiki\n\n!! Android\n\nWenn Sie \"Firefox for Android\" verwenden, dann beachten sie: [[Speichern mit TiddlyFox - Android]].\n\n!! Speichern mit TiddlyFox\n\n<<iframe-responsive src:\"https://www.youtube.com/embed/bsWE7jXPbb0\">>\n\n# Stellen Sie sicher, dass Sie die [[aktuelle Version von Firefox|http://getfirefox.com]] verwenden.\n# Installieren Sie die aktuelle TiddlyFox Erweiterung von: https://addons.mozilla.org/en-US/firefox/addon/tiddlyfox/\n# Firefox neu starten!\n# Speichern Sie eine leere Datei der deutschen Version.\n#> {{$:/editions/de-AT-DE/snippets/download-empty-button}}\n# Suchen Sie die eben geladene Datei im Datei Manager.\n#* Geben Sie der Datei einen vernünftigen Namen aber stellen Sie sicher, dass die Endung `.html` oder `.htm` ist.\n# Öffnen Sie die Datei mit Firefox.\n# Beim Öffnen der Datei erscheint ein Dialog, mit der Frage, ob der direkte Dateizugriff für TiddlyFox erlaubt werden soll.\n#* ''Klicken Sie hier unbedingt \"OK\" '':\n# Erstellen Sie einen neuen Tiddler mit dem {{$:/core/images/new-button}} ''plus'' im rechten Menü. \n# Geben Sie den Text ein und bestätigen die Eingabe mit dem {{$:/core/images/done-button}} ''OK''.\n# Speichern Sie die Änderungen mit: {{$:/core/images/save-button}} ''speichern'' im rechten Menü\n# Rechts oben sollte ein gelber Nachrichten-Dialog mit \"Wiki gespeichert!\" auftauchen.\n#* Ist dies nicht der Fall, dann überprüfen sie, ob TiddlyFox im Firefox: ~AddOn Menü richtig geladen wurde.\n# Laden Sie die Seite neu, um zu überprüfen, ob die Datei korrekt gespeichert wurde. \n"
  },
  {
    "path": "editions/de-AT/tiddlers/howto/Speichern mit TiddlyIE.tid",
    "content": "created: 20131211220000000\ncreator: pmario\nmodified: 20150615132910045\nmodifier: pmario\ntags: howto\ntitle: Speichern mit TiddlyIE\ntype: text/vnd.tiddlywiki\n\n!! Speichern mit TiddlyIE\n\n<<iframe-responsive src:\"https://www.youtube.com/embed/OrWuvjs3Ly0\">>\n\n# Installieren Sie TiddlyIE AddOn von:\n#* https://github.com/davidjade/TiddlyIE/releases\n# Starten Sie Internet Explorer neu. IE wird beim Start einen Dialog anzeigen, mit dem Sie das AddOn freischalten können.\n#> Es ist möglich, dass Sie aufgefordert werden das //Microsoft Script Runtime// zu erlauben. Tun Sie das!\n#  Klicken Sie den folgenden Link mit der rechten Maustaste und wählen: \"Ziel Speichern unter ...\"\n#> https://tiddlywiki.com/languages/de-AT/empty.html oder\n#> https://tiddlywiki.com/languages/de-DE/empty.html\n# Suchen Sie die eben geladene Datei im Datei Manager.\n#* Geben Sie der Datei einen vernünftigen Namen und stellen Sie sicher, dass die Endung `.html` ist.\n# Öffnen Sie die Datei mit dem Internet Explorer\n# Erstellen Sie einen neuen Tiddler mit dem {{$:/core/images/new-button}} ''plus'' im rechten Menü. \n# Geben Sie den Text ein und bestätigen die Eingabe mit dem {{$:/core/images/done-button}} ''OK''.\n# Speichern Sie die Änderungen mit: {{$:/core/images/save-button}} ''speichern'' im rechten Menü. IE wird einen \"Speichern Unter..\" Dialog öffnen. Folgen Sie den Dialogen!\n# Laden Sie die Seite neu, um sicher zu stellen, dass die Daten richtig gespeichert wurden.\n"
  },
  {
    "path": "editions/de-AT/tiddlers/howto/Speichern mit Verschlusselung.tid",
    "content": "created: 20130825160900000\ncreator: pmario\nmodified: 20140922130327196\nmodifier: ChrisK\ntags: howto\ntitle: Speichern mit Verschlüsselung\ntype: text/vnd.tiddlywiki\n\nWenn ~TiddlyWiki als einzelne HTML Datei verwendet wird, dann kann der Inhalt mit der [[Stanford JavaScript Crypto Library]] \nverschlüsselt werden. \n\n''Vorgehensweise''\n\n# Im rechten Menü wählen Sie den \"Tools\" Reiter. Dort sehen Sie einen Button \"verschlüsseln\"\n# Wenn Sie den Button klicken, dann erscheint ein Passwort Dialog.\n# Geben Sie ein Passwort ein und klicken Sie den Button \"Set Password\"\n# Der Button wechselt nun den Text auf: \"Password löschen\".\n#* Wichtig: Die Verschlüsselung wird erst beim Speichern des Wikis aktiv. \n#* ''ACHTUNG'': Wenn Sie das Passwort vergessen, dann sind die Daten weg. Es gibt keine Hintertüre.\n# Speichern Sie das Wiki.\n# Sie können zur Kontrolle die gespeicherte Datei mit einem Text Editor öffnen.\n# Wenn Sie ein verschlüsseltes Wiki öffnen, dann wird der Passwort Dialog angezeigt. \n"
  },
  {
    "path": "editions/de-AT/tiddlers/howto/Speichern mit iPad_iPhone.tid",
    "content": "created: 20131129101027725\ncreator: pmario\nmodified: 20140922125314742\nmodifier: ChrisK\ntags: howto\ntitle: Speichern mit iPad/iPhone\ntype: text/vnd.tiddlywiki\n\nFür das iPad/iPhone gibt es eine kostengünstige Applikation: ''TWEdit'', die es ermöglicht, mit ~TiddlyWiki \"online\" und \"offline\" zu arbeiten.\n\nVerwendung von TWEdit:\n\n# [[Holen Sie sich TWEdit im Apple Store|https://itunes.apple.com/gb/app/twedit/id409607956?mt=8]].\n# Öffnen Sie TWEdit.\n# Tippen Sie den Titel in der Mitte des \"Toolbars\".\n#* Eine Text Box sollte sich öffnen, in der Sie die URL eingeben können.\n# Verwenden Sie die URL `https://tiddlywiki.com/languages/de-AT/empty.html` oder `https://tiddlywiki.com/languages/de-DE/empty.html`\n# Wenn die leere Version geladen wurde, dann tippen Sie \"save\" (Das zweite \"icon\" oben rechts)\n#* Ein Hinweis Dialog sollte erscheinen, wo Sie den lokalen Namen eingeben können.\n# Geben Sie den neuen Dateinamen ein. Die Endung `.html` nicht vergessen!\n# Bearbeiten Sie Ihr ~TiddlyWiki wie gewohnt.\n# Um Änderungen zu speichern, tippen Sie wieder den ''save'' Button.\n#* Eine Bestätigungs Information sollte oben rechts auftauchen. \n\n//HINWEIS: TWEdit steht in keiner Beziehung zu TiddlyWiki//"
  },
  {
    "path": "editions/de-AT/tiddlers/howto/TiddlyWiki mit Node.js.tid",
    "content": "created: 20140908144020397\ncreator: pmario\nmodified: 20140910094940277\nmodifier: pmario\ntags: howto\ntitle: TiddlyWiki mit Node.js\ntype: text/vnd.tiddlywiki\n\nsiehe: https://tiddlywiki.com/#TiddlyWiki%20on%20Node.js"
  },
  {
    "path": "editions/de-AT/tiddlers/howto/TiddlyWiki und TiddlyDesktop.tid",
    "content": "created: 20140126125532723\ncreator: pmario\nmodified: 20150513162432240\nmodifier: pmario\ntags: howto\ntitle: TiddlyWiki und TiddlyDesktop\ntype: text/vnd.tiddlywiki\n\nTiddlyDesktop ist ein Programm für Windows, Mac OS X und Linux, mit dem Sie TiddlyWiki Dateien bearbeiten können.\n\n# Installieren Sie die aktuelle ~TiddlyDesktop Version von: https://github.com/TiddlyWiki/TiddlyDesktop/releases\n# Starten Sie TiddlyDesktop\n# Verwenden Sie den \"browse button\" um TiddlyWiki Dateien zu öffnen.\n# Speichern der Änderungen funktioniert wie gewohnt. \n\n-----\n\nEin kurzes, englisches Einführungs-Video zu TiddlyDesktop:\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/i3Bggkm7paA\" frameborder=\"0\" allowfullscreen></iframe>\n"
  },
  {
    "path": "editions/de-AT/tiddlers/howto/Windows HTA Hack.tid",
    "content": "created: 20131212223146250\ncreator: pmario\nmodified: 20141012142437720\nmodifier: pmario\ntags: howto\ntitle: Windows HTA Hack\ntype: text/vnd.tiddlywiki\n\nUnter Windows ist es möglich, ein TiddlyWiki in eine \"logische\" Applikation zu verwandeln, indem man die Datei Endung von `.html` nach `.hta` ändert. ~TiddlyWiki kann dann direkt gespeichert werden. \n\nAchtung!\nDer Nachteil dieser Änderung ist, dass die Datei im UTF-16 format gespeichert wird, was sie ungefähr doppelt so groß macht. \nTW wird standardmäßig im UTF-8 Format gespeichert. Wird die Datei wieder mit einer TW spezifischen Methode gespeichert, dann wird sie wieder kleiner. \n\nHier ist ein Video von Mario Pietsch, dass den Umgang IE, HTA und TiddlyWiki zeigt.\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/OrWuvjs3Ly0\" frameborder=\"0\" allowfullscreen></iframe>\n\nSiehe Wikipedia (englisch): http://en.wikipedia.org/wiki/HTML_Application\n"
  },
  {
    "path": "editions/de-AT/tiddlers/howto.tid",
    "content": "created: 20140918095621180\ncreator: pmario\nmodified: 20140918095621180\nmodifier: pmario\ntags: InhaltsVerzeichnis\ntitle: howto\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/de-AT/tiddlers/intro/ErsteSchritte - Android.tid",
    "content": "caption: Android\ncreated: 20140811171036268\ncreator: pmario\nmodified: 20140909111916054\nmodifier: pmario\ntags: Einführung Intro\ntitle: ErsteSchritte - Android\ntype: text/vnd.tiddlywiki\n\n{{Speichern mit Android}}\n"
  },
  {
    "path": "editions/de-AT/tiddlers/intro/ErsteSchritte - Chrome.tid",
    "content": "caption: Chrome\ncreated: 20140811165935523\ncreator: pmario\nmodified: 20140909083842841\nmodifier: pmario\ntags: Einführung Intro\ntitle: ErsteSchritte - Chrome\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki mit Google Chrome kann nur über den Browser eigenen \"Speichern Dialog\" gespeichert werden.\n\n{{Speichern mit Chrome}}\n"
  },
  {
    "path": "editions/de-AT/tiddlers/intro/ErsteSchritte - Firefox.tid",
    "content": "caption: Firefox\ncreated: 20140811170425199\ncreator: pmario\nmodified: 20140909082312134\nmodifier: pmario\ntags: Einführung Intro\ntitle: ErsteSchritte - Firefox\ntype: text/vnd.tiddlywiki\n\nFirefox bietet momentan die beste Unterstützung für ~TiddlyWiki mit der TiddlyFox Browser Erweiterung.\n\n{{Speichern mit TiddlyFox}}\n"
  },
  {
    "path": "editions/de-AT/tiddlers/intro/ErsteSchritte - Internet Explorer.tid",
    "content": "caption: Internet Explorer\ncreated: 20140811172058274\ncreator: pmario\nmodified: 20140909085902953\nmodifier: pmario\ntags: Einführung Intro\ntitle: ErsteSchritte - Internet Explorer\ntype: text/vnd.tiddlywiki\n\n{{Speichern mit TiddlyIE}}\n\nDer [[Windows HTA Hack]] beschreibt eine alternative Methode um TiddlyWiki mit dem IE zu verwenden."
  },
  {
    "path": "editions/de-AT/tiddlers/intro/ErsteSchritte - Node.js.tid",
    "content": "caption: Node.js\ncreated: 20140811172010003\ncreator: pmario\nmodified: 20140909115308505\nmodifier: pmario\ntags: Einführung Intro\ntitle: ErsteSchritte - Node.js\ntype: text/vnd.tiddlywiki\n\n{{Installation von TiddlyWiki mit Node.js}}\n"
  },
  {
    "path": "editions/de-AT/tiddlers/intro/ErsteSchritte - Safari.tid",
    "content": "caption: Safari\ncreated: 20140811171121022\ncreator: pmario\nmodified: 20140909110810804\nmodifier: pmario\ntags: Einführung Intro\ntitle: ErsteSchritte - Safari\ntype: text/vnd.tiddlywiki\n\nSafari kann ~TiddlyWiki nur mit der HTML5-kompatiblen Methode speichern. \n\n{{Speichern mit Safari}}\n\n"
  },
  {
    "path": "editions/de-AT/tiddlers/intro/ErsteSchritte - iOS.tid",
    "content": "caption: iPad/iPhone\ncreated: 20140811170918707\ncreator: pmario\nmodified: 20140909102633587\nmodifier: pmario\ntags: Einführung Intro\ntitle: ErsteSchritte - iOS\ntype: text/vnd.tiddlywiki\n\n{{Speichern mit iPad/iPhone}}\n"
  },
  {
    "path": "editions/de-AT/tiddlers/intro/ErsteSchritte.tid",
    "content": "created: 20140908135232028\ncreator: pmario\nmodified: 20150513161730602\nmodifier: pmario\ntags: Intro Einführung\ntitle: ErsteSchritte\ntype: text/vnd.tiddlywiki\n\n\\define default-platform()\nErsteSchritte - $(browser-name)$\n\\end\n<$set name=\"browser-name\" value={{$:/info/browser/name}}>\n<$macrocall $name=\"tabs\" state=\"$:/state/tabs/platform\" tabsList=\"[prefix[ErsteSchritte - ]]\" default=<<default-platform>> class=\"tc-vertical\"/>\n</$set>\n\n!!! Weitere Links:\n\n* [[Liste aller HowTo's]]: Diese Liste ist vor allem dann wichtig, wenn Sie über \"statische\" Seiten hier her kommen. \n* [[Speichern mit Verschlüsselung]]: ~TiddlyWiki kann verschlüsselt gespeichert werden. Wichtig: Vergessen Sie das Passwort nicht!\n* [[Speichern auf TiddlySpot]]: TiddlySpot ist ein freier Service, mit dem Sie Ihr Wiki online stellen können.\n* [[TiddlyWiki und TiddlyDesktop]]: TiddlyDesktop ist eine \"echte\" Applikation mit der Sie mehrere Wikis verwalten und speichern können. \n* Running [[TiddlyWiki on NW.js]], turning a single TiddlyWiki into a native application on your desktop\n"
  },
  {
    "path": "editions/de-AT/tiddlers/intro/HelloThumbnail.tid",
    "content": "created: 20150414070451144\ncreator: pmario\nlist: [[HelloThumbnail - Introduction Video]] [[HelloThumbnail - Save]] [[HelloThumbnail - Gentle Guide]] [[HelloThumbnail - Latest Version]] [[HelloThumbnail - HelpingTiddlyWiki]] [[HelloThumbnail - Developers]]\nmodified: 20150513164109316\nmodifier: pmario\ntitle: HelloThumbnail\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/de-AT/tiddlers/intro/HelloThumbnail_-_Classic.tid",
    "content": "caption: ~TiddlyWiki Classic\ncolor: #D5B7EA\ncreated: 20150513145829343\ncreator: pmario\nimage: TiddlyWiki Classic.png\nlink: TiddlyWikiClassic\nmodified: 20150513163500858\nmodifier: pmario\ntitle: HelloThumbnail - Classic\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/de-AT/tiddlers/intro/HelloThumbnail_-_Developers.tid",
    "content": "background-color: #EAE57D\ncaption: Für Entwickler\ncolor: #6B6E98\ncreated: 20150513145829375\nimage: Dev Thumbnail.jpg\nlink: Für Entwickler\nmodified: 20150513162244142\ntags: HelloThumbnail\ntitle: HelloThumbnail - Developers\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/de-AT/tiddlers/intro/HelloThumbnail_-_Gentle_Guide.tid",
    "content": "background-color: #EDB431\ncaption: Basis Einführung\ncolor: #fff\ncreated: 20150325172634195\ncreator: pmario\nimage: Motovun Jack.jpg\nlink: Einführung\nmodified: 20150518080234443\nmodifier: pmario\ntags: HelloThumbnail\ntitle: HelloThumbnail - Gentle Guide\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/de-AT/tiddlers/intro/HelloThumbnail_-_HelpingTiddlyWiki.tid",
    "content": "background-color: #fff\ncaption: ~TiddlyWiki Unterstützen\ncolor: #B7D5EA\ncreated: 20150513145829365\nimage: Tiddler Poster.png\nlink: Wie kann ich helfen?\nmodified: 20150513162043414\ntags: HelloThumbnail\ntitle: HelloThumbnail - HelpingTiddlyWiki\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/de-AT/tiddlers/intro/HelloThumbnail_-_Introduction_Video.tid",
    "content": "background-color: #fff\ncaption: ~TiddlyWiki Präsentation\ncolor: red\ncreated: 20150513145829349\ncreator: pmario\nicon: {{$:/core/images/video}}\nimage: Introduction Video Thumbnail.jpg\nlink: Einführungsvideo\nmodified: 20150518080313355\nmodifier: pmario\ntags: HelloThumbnail\ntitle: HelloThumbnail - Introduction Video\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/de-AT/tiddlers/intro/HelloThumbnail_-_Latest_Version.tid",
    "content": "caption: Was ist neu in <<version>>\ncolor: #fff\ncreated: 20150513145829381\nimage: New Release Banner\nlink: Releases\nmodified: 20150518143526750\ntags: HelloThumbnail\ntitle: HelloThumbnail - Latest Version\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/de-AT/tiddlers/intro/HelloThumbnail_-_Save.tid",
    "content": "caption: ~TiddlyWiki Speichern\ncolor: #D5B7EA\ncreated: 20150513163340312\ncreator: pmario\nimage: download.png\nlink: TiddlyWiki Speichern\nmodified: 20150513192656386\nmodifier: pmario\ntags: HelloThumbnail\ntitle: HelloThumbnail - Save\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/de-AT/tiddlers/konzept/Informationen_weitergeben.tid",
    "content": "created: 20140908163900000\nmodified: 20150518141847244\norigin: https://tiddlywiki.com/#Sharing%20your%20tiddlers%20with%20others\ntags: Konzept\ntitle: Informationen weitergeben\ntype: text/vnd.tiddlywiki\n\nEs gibt viele Möglichkeiten Wikis mit Anderen zu teilen:\n\n* ~TiddlyWiki kann sehr leicht als Anhang in einem e-mail verschickt werden.\n\n* Sie können ein ~TiddlyWiki online verlinken: \n** Als \"URL Link\" direkt auf die Datei\n** Als [[Permalink]], das direkt einen Tiddler in einem TW aktiviert.\n** Als [[Permaview]], der mehrere Tiddler aus einem TW öffnet.\n\n* \"Drag and Drop\" [[importieren von Tiddlern|Importieren von Tiddlern]] aus anderen ~TiddlyWiki Dateien.\n\n* ~TiddlyWiki kann sehr einfach [[über Filesharing-Dienste|TiddlyWiki mit Dropbox teilen]] verbreitet werden. zB: Dropbox\n\n"
  },
  {
    "path": "editions/de-AT/tiddlers/konzept/Permalink.tid",
    "content": "created: 20150518134126669\nmodified: 20150518141051354\ntags: Konzept\ntitle: Permalink\ntype: text/vnd.tiddlywiki\n\nDie einfachste Form eines Permalinks ist ein Link auf einen einzelnen Tiddler. Dazu wird die URL mit `#` erweitert.\n\n* https://tiddlywiki.com/languages/de-DE/#Willkommen!\n\nDer Titel kann Leerzeichen enthalten:\n\n* [[https://tiddlywiki.com/languages/de-DE/#Was kann TiddlyWiki]]\n\nHinweis: Doppelte eckige Klammern sind hier nicht erforderlich. Wenn vorhanden, werden sie entfernt.\n\nSiehe auch: [[Permaview]]"
  },
  {
    "path": "editions/de-AT/tiddlers/konzept/Permaview.tid",
    "content": "created: 20150518133536781\nmodified: 20150518141004463\ntags: Konzept\ntitle: Permaview\ntype: text/vnd.tiddlywiki\n\nSollen mehrere Tiddler mit einem Link geöffnet werden, dann wird dieses Konzept in TW als Permaview bezeichnet. \n\nEin Permaview hat folgendes Fromat: `URL/#ZielTiddler:[[Liste mit mehreren]] Tiddlern` \n\n * URL/\n * `#`\n * ~ZielTiddler Titel\n * `:`\n * Liste mit Story (weitere Tiddler) \n\nBeispiel:\n\n* https://tiddlywiki.com/languages/de-DE/#Permaview:%5b%5bInformationen%20weitergeben%5d%5d%20Permaview%20Permalink\n\nWenn der Ziel-Tiddler in der Story-Liste nicht vorhanden ist, dann wird er automatisch als Erster aufgelistet. Ist er in der Liste vorhanden, wie zB oben \"Permaview\", dann wird die Story entsprechend der Liste angezeigt.\n\nWeitere Beispiele:\n\n* [[https://tiddlywiki.com/#Tiddlers:Tags TiddlerFields]]\n* [[https://tiddlywiki.com/#Tiddlers:Tiddlers Tags TiddlerFields]]\n\nEs ist ebenfalls möglich eine Story über eine Tag-Liste als Filter aufzurufen.\n\n* <a href=\"https://tiddlywiki.com/languages/de-DE/#:[tag[task]]\">~https://tiddlywiki.com/languages/de-DE/#:[tag[task]]</a>\n\n!! Über URL Codierung\n\nBei der Anzeige / Verwendung von URLs gibt es ein paar technische Einschränkungen. Manche Browser können zB Leerzeichen nicht verarbeiten. Deshalb werden diese als `%20` dargestellt. Siehe erstes Beispiel.\n\nEben so sind eckige Klammern nicht vorgesehen. Diese werden in `%5b` für `[` und `%5d` für `]` umgewandelt. Aber keine Sorge. Wenn sie eine URL mit \"copy/paste\" aus dem Browser einfügen, dann werden diese Änderungen automatisch vorgenommen. Die Permalink und Permaview Buttons im Tiddler Menü erzeugen auch kompatible links. \n\nBeide, der Ziel-Tiddler und die Story-Tiddler sollten URL-codiert sein. Diese Links sind zwar nicht unbedingt schön, aber nötig, um die Funktion zu gewährleisten. Aktuelle Browser zeigen in der Adressleiste dann wieder \"schöne\" Link an.\n"
  },
  {
    "path": "editions/de-AT/tiddlers/konzept/Philosophy_von_Tiddlern.tid",
    "content": "created: 20131128075743966\nmodified: 20150518115747032\norigin: https://tiddlywiki.com/#Philosophy%20of%20Tiddlers\ntags: Konzept\ntitle: Philosophy von Tiddlern\ntype: text/vnd.tiddlywiki\n\nDer Zweck Informationen aufzuzeichnen liegt darin, dass sie später wieder verwendet wird. Der Wert dieser Information steigt proportional, mit der Einfachheit, wie diese wieder verwendet werden kann. \n\nDie Philosophie eines [[Tiddlers|Tiddler]] ist es, die Möglichkeit der Wiederverwendbarkeit zu maximieren. Dies wird dadurch erreicht, dass Informationen in gerade so kleine Einheiten \"zerlegt\" werden, das sie für sich genommen, noch Sinn machen. \n\n~TiddlyWiki verfügt über mehrere Möglichkeiten, Tiddler durch unterschiedliche [[Zusammenfassungen|Transklusion in WikiText]] und [[Anordnungen|ListMacro]] in neue [[Beziehungen zu setzen|TiddlyWiki Strukturieren]]. \n\nTiddlyWiki strebt danach eine Algebra für Tiddler bereit zu stellen. Einen präzisen Weg, um die Beziehungen zwischen kleinen Informationseinheiten zu erforschen und darzustellen. \n"
  },
  {
    "path": "editions/de-AT/tiddlers/konzept/Tagging.tid",
    "content": "created: 20230307081437974\nmodified: 20230307081439303\ntitle: Tagging\ntype: text/vnd.tiddlywiki\n\nhttps://tiddlywiki.com/#Tagging"
  },
  {
    "path": "editions/de-AT/tiddlers/konzept/TiddlyWiki Speichern.tid",
    "content": "created: 20140909075632780\ncreator: pmario\nmodified: 20140918100607559\nmodifier: pmario\ntags: howto\ntitle: TiddlyWiki Speichern\ntype: text/vnd.tiddlywiki\n\n!! Ein leeres Dokument speichern\n\n|{{$:/editions/de-AT-DE/snippets/download-empty-button}}|Nur TiddlyWiki und die deutschen Sprachdateien für Deutschland und Österreich werden gespeichert. Die Sprache kann nachträglich mit dem ''[[Control-Panel|$:/ControlPanel]]: Info - Tab''  geändert und gespeichert werden. |\n\n!! Dieses Dokument speichern\n|{{$:/snippets/download-wiki-button}}|Dieses Tiddlywiki und alle enthaltenen Tiddler werden gespeichert. Die selbe Funktion kann über den  {{$:/core/images/save-button}} ''speichern'' Button im rechten Menü ausgelöst werden. |\n\n!!! Hinweis\nMomentan sind die deutsche und österreichische Version absolut ident. Außer der Flagge natürlich ;)\n\n\nWeitere Informationen zum Umgang mit ~TiddlyWiki und unterschiedlichen Browsern finden Sie unter: ErsteSchritte\n"
  },
  {
    "path": "editions/de-AT/tiddlers/konzept/TiddlyWiki_Strukturieren.tid",
    "content": "created: 20150518115646924\nmodified: 20150518121920209\norigin: https://tiddlywiki.com/#Structuring%20TiddlyWiki\ntags: Konzept\ntitle: TiddlyWiki Strukturieren\ntype: text/vnd.tiddlywiki\n\n~TiddlyWiki bietet mehrere Möglichkeiten um eine \"Story\" zu strukturieren, und Beziehungen zwischen Tiddlern herzustellen. \n\n* WikiLinks\n* [[Tags]]\n* [[Titel Listen]]\n* DataTiddlers\n"
  },
  {
    "path": "editions/de-AT/tiddlers/konzept/TiddlyWiki_mit_Dropbox_teilen.tid",
    "content": "created: 20150518130702749\nmodified: 20150518133512830\ntags: Konzept\ntitle: TiddlyWiki mit Dropbox teilen\ntype: text/vnd.tiddlywiki\n\n\nSie können eine TiddlyWiki Datei auf Dropbox veröffentlichen, so dass jedermann Zugriff auf eine \"read-only\" Version der Datei hat. \n\n# Speichern Sie die TW Datei in einem öffentlichen Dropbox Verzeichnis.\n\n# Wählen Sie \"Öffentlichen Link Kopieren\"\n#* In der Dropbox Web-Oberfläche bekommen Sie diese Möglichkeit mit einem Rechtsklick auf die Datei. \n\n# Die URL, die von Droopbox erzeugt wird hat die folgende From:\n#> `https://dl.dropboxusercontent.com/u/xxxxxx/mywiki.html`\n\nDas Ergebnis ist eine öffentliche URL, die aufgerufen werden kann, wenn man sie kennt. Das Wiki wird direkt angezeigt und funktioniert ähnlich wie tiddlywiki.com\n\nBeispiele\n\n* Anzeigen: https://dl.dropboxusercontent.com/u/28489257/de-DE/de-DE-dropbox-link.html\n* Direkt speichern: https://dl.dropboxusercontent.com/u/28489257/de-DE/de-DE-dropbox-link.html?dl=1\n"
  },
  {
    "path": "editions/de-AT/tiddlers/konzept/Titel_Listen.tid",
    "content": "created: 20150117152418000\nmodified: 20150518121901359\norigin: https://tiddlywiki.com/#Title%20List\ntags: Konzept\ntitle: Titel Listen\ntype: text/vnd.tiddlywiki\n\nTitel Listen, ist eine durch Leerzeichen getrennte Auflistung von Tiddler Titeln. \n\nWenn ein Tiddler Titel selbst Leerzeichen enthält, dann wird diese durch eine doppelte eckige Klammer begrenzt. zB: `[[Titel Listen]]`. Dadurch wird der Titel als [[WikiLink|WikiLinks]] dargestellt. \n\nBeispiel für eine Titel Liste:\n\n```\nWillkommen! [[Erstellen von Notizen]] Einführung\n```\n\nSolche Listen werden verwendet, um zB: das Inhaltsverzeichnis manuell zu sortieren. Wenn Sie das InhaltsVerzeichnis im Editiermodus öffen, dann sehen sie das `list` Feld. \n\nTitel Listen können auch als Filter Parameter für das ListMacro verwendet werden. \n"
  },
  {
    "path": "editions/de-AT/tiddlers/lexikon/AddOn.tid",
    "content": "created: 20140909202240050\nmodified: 20140909202320316\ntags: Lexikon\ntitle: AddOn\ntype: text/vnd.tiddlywiki\n\nAls AddOn wird zB: eine Firefox Erweiterung bezeichnet. Siehe auch TiddlyFox."
  },
  {
    "path": "editions/de-AT/tiddlers/lexikon/AndTidWiki.tid",
    "content": "created: 20140909112410178\nmodified: 20140909112426943\ntags: Lexikon\ntitle: AndTidWiki\ntype: text/vnd.tiddlywiki\n\nSiehe: [[Speichern mit Android]]"
  },
  {
    "path": "editions/de-AT/tiddlers/lexikon/CSS Klassen.tid",
    "content": "created: 20140913100555549\ncreator: pmario\nmodified: 20140913100608938\nmodifier: pmario\ntags: Lexikon\ntitle: CSS Klassen\ntype: text/vnd.tiddlywiki\n\nSiehe: http://de.wikipedia.org/wiki/Cascading_Style_Sheets"
  },
  {
    "path": "editions/de-AT/tiddlers/lexikon/DataTiddlers.tid",
    "content": "created: 20140913190813353\ncreator: pmario\nmodified: 20140913190821070\nmodifier: pmario\ntags: Lexikon\ntitle: DataTiddlers\ntype: text/vnd.tiddlywiki\n\nSiehe: https://tiddlywiki.com/#DataTiddlers"
  },
  {
    "path": "editions/de-AT/tiddlers/lexikon/Filter.tid",
    "content": "created: 20140923194250500\ncreator: ChrisK\nmodified: 20140923202908834\nmodifier: pmario\ntags: Lexikon Referenz\ntitle: Filter\ntype: text/vnd.tiddlywiki\n\nSiehe: https://tiddlywiki.com/#Filters"
  },
  {
    "path": "editions/de-AT/tiddlers/lexikon/FireFox.tid",
    "content": "created: 20140913185638230\ncreator: pmario\nmodified: 20140913185645630\nmodifier: pmario\ntags: Lexikon\ntitle: FireFox\ntype: text/vnd.tiddlywiki\n\nSiehe: https://www.mozilla.org/de/firefox/new/?utm_source=getfirefox-com&utm_medium=referral"
  },
  {
    "path": "editions/de-AT/tiddlers/lexikon/Geviertstrich.tid",
    "content": "created: 20140913111711991\ncreator: pmario\nmodified: 20140913111810504\nmodifier: pmario\ntags: Lexikon\ntitle: Geviertstrich\ntype: text/vnd.tiddlywiki\n\n<<<\nDer Geviertstrich (—) ist in der Typografie ein waagerechter Strich, der ein Geviert lang ist. Er wird verwendet als Spiegelstrich und in Tabellen sowie als Gedankenstrich in verschiedenen Sprachen wie dem Englischen und dem Spanischen. Andere waagerechte Striche sind das Minuszeichen, der Viertelgeviertstrich, der Halbgeviertstrich und der Doppelgeviertstrich.\n<<< Wikipedia: http://de.wikipedia.org/wiki/Geviertstrich"
  },
  {
    "path": "editions/de-AT/tiddlers/lexikon/GitHub.tid",
    "content": "created: 20140909202412006\ncreator: pmario\nmodified: 20150518084312901\ntags: Lexikon\ntitle: GitHub\ntype: text/vnd.tiddlywiki\n\n~GitHub ist eine, für OpenSource Projekte kostenlose, Plattform, die es erlaubt gemeinsam an einem Projekt zu arbeiten und zu kommunizieren. \n\n* ~TiddlyWiki: https://github.com/TiddlyWiki/TiddlyWiki5\n* ~GitHub: http://github.com\n"
  },
  {
    "path": "editions/de-AT/tiddlers/lexikon/Halbgeviertstrich.tid",
    "content": "created: 20140913111346335\ncreator: pmario\nmodified: 20140913111648990\nmodifier: pmario\ntags: Lexikon\ntitle: Halbgeviertstrich\ntype: text/vnd.tiddlywiki\n\n<<<\n>Dieser Artikel oder Absatz stellt die Situation in Deutschland, Österreich und der Schweiz dar.\n\nDer Halbgeviertstrich (–) ist in der Typografie ein waagerechter Strich, der ein Halbgeviert lang ist. Er wird als Gedankenstrich, Bis-Strich und Streckenstrich sowie bei Geldbeträgen verwendet. Andere waagerechte Striche sind das Minuszeichen, der Viertelgeviertstrich, der [[Geviertstrich]] und der Doppelgeviertstrich.\n<<< Wikipedia siehe: http://de.wikipedia.org/wiki/Halbgeviertstrich"
  },
  {
    "path": "editions/de-AT/tiddlers/lexikon/Hyperlinks.tid",
    "content": "created: 20140908131026578\ncreator: pmario\nmodified: 20140922123320620\nmodifier: ChrisK\ntags: Lexikon\ntitle: Hyperlinks\ntype: text/vnd.tiddlywiki\n\nAls Hyperlinks werden Verknüpfungen bezeichnet, die zu anderen Tiddlern oder externen Seiten führen, und diese öffnen.\n\n* Tiddler werden direkt in TiddlyWiki geöffnet.\n* Externe Seiten, laden je nach Browser Einstellung einen neuen Tab oder eine neue Seite im selben Tab. \n*Siehe auch: <<list-links filter:\"[tag[Hyperlinks]]\" type:\"ol\">>\n"
  },
  {
    "path": "editions/de-AT/tiddlers/lexikon/JeremyRuston.tid",
    "content": "created: 20140908133508858\ncreator: pmario\nmodified: 20140908133746947\nmodifier: pmario\ntags: Lexikon\ntitle: JeremyRuston\ntype: text/vnd.tiddlywiki\n\nZitat von [[tiddlywiki.com|https://tiddlywiki.com/#JeremyRuston]]\n\n<<<\nI'm the inventor of ~TiddlyWiki. I am available through my company ''~FederatialLimited'' for consultancy and speaking engagements.\n<<<\n\nDort können Sie mehr erfahren!\n"
  },
  {
    "path": "editions/de-AT/tiddlers/lexikon/MIME-Type.tid",
    "content": "created: 20140913180949640\ncreator: pmario\nmodified: 20140913181036089\nmodifier: pmario\ntags: Lexikon\ntitle: MIME-Type\ntype: text/vnd.tiddlywiki\n\nMit dem MIME-Type kann festgelegt werden, wie ein definierter Text verarbeitet werden kann. Siehe: http://de.wikipedia.org/wiki/Multipurpose_Internet_Mail_Extensions"
  },
  {
    "path": "editions/de-AT/tiddlers/lexikon/Makro.tid",
    "content": "created: 20140913122428303\ncreator: pmario\nmodified: 20140913122443990\nmodifier: pmario\ntags: Lexikon\ntitle: Makro\ntype: text/vnd.tiddlywiki\n\n<<<\nEin Makro ist in der Softwareentwicklung eine unter einer bestimmten Bezeichnung (Makroname) zusammengefasste Folge von Anweisungen oder Deklarationen, um diese (anstelle der Einzelanweisungen, i. d. R. an mehreren Stellen im Programm) mit nur einem einfachen Aufruf ausführen zu können\n<<< Wikipedia: http://de.wikipedia.org/wiki/Makro"
  },
  {
    "path": "editions/de-AT/tiddlers/lexikon/MarkDown.tid",
    "content": "created: 20140913185937849\ncreator: pmario\nmodified: 20140913190010709\nmodifier: pmario\ntags: Lexikon\ntitle: MarkDown\ntype: text/vnd.tiddlywiki\n\n<<<\nMarkdown ist eine vereinfachte Auszeichnungssprache, die von John Gruber und Aaron Swartz entworfen und Dezember 2004 mit Version 1.0.1 spezifiziert wurde. Ein Ziel von Markdown ist, dass schon die Ausgangsform ohne weitere Konvertierung leicht lesbar ist.\n<<<Wikipedia: http://de.wikipedia.org/wiki/Markdown"
  },
  {
    "path": "editions/de-AT/tiddlers/lexikon/Node.js.tid",
    "content": "created: 20140908134245442\ncreator: pmario\nmodified: 20140908134252042\nmodifier: pmario\ntags: Lexikon\ntitle: Node.js\ntype: text/vnd.tiddlywiki\n\nSiehe: https://tiddlywiki.com/#Node.js"
  },
  {
    "path": "editions/de-AT/tiddlers/lexikon/OpenSource.tid",
    "content": "created: 20150518083204176\nmodified: 20150518083847464\ntags: Lexikon\ntitle: OpenSource\ntype: text/vnd.tiddlywiki\n\n<<<\nOpen Source bzw. quelloffen wird als Begriff für Software verwendet, deren Quelltext offenliegt und deren Lizenzierung einige weitere Bedingungen erfüllt. Im engeren Sinne steht sie unter einer Lizenz, die von der [[Open Source Initiative]] (OSI) anerkannt wird.\n<<<[[wikipedia|http://de.wikipedia.org/wiki/Open_Source]]"
  },
  {
    "path": "editions/de-AT/tiddlers/lexikon/Open_Source_Initiative.tid",
    "content": "created: 20150518083726127\nmodified: 20150518083854559\ntags: Lexikon\ntitle: Open Source Initiative\ntype: text/vnd.tiddlywiki\n\n<<<\nDie Open Source Initiative (OSI) ist eine Organisation, die sich der Förderung von Open-Source-Software widmet. Sie wurde im Februar 1998 von Bruce Perens und Eric S. Raymond gegründet. Sie zertifiziert Softwarelizenzen anhand ihrer eigenen Open Source Definition. Software die unter diesen Lizenzen verbreitet wird, darf das Certification Mark der Organisation tragen.\n<<<[[wikipedia|http://de.wikipedia.org/wiki/Open_Source_Initiative#Definition_von_Open_Source]]"
  },
  {
    "path": "editions/de-AT/tiddlers/lexikon/Stanford JavaScript Crypto Library.tid",
    "content": "created: 20140909193809827\ncreator: pmario\nmodified: 20140909193913300\ntags: Lexikon\ntitle: Stanford JavaScript Crypto Library\ntype: text/vnd.tiddlywiki\n\nSiehe: http://crypto.stanford.edu/sjcl/"
  },
  {
    "path": "editions/de-AT/tiddlers/lexikon/Status Tiddler.tid",
    "content": "created: 20140923203534404\ncreator: pmario\nmodified: 20140923204241082\nmodifier: pmario\ntags: Lexikon\ntitle: Status Tiddler\ntype: text/vnd.tiddlywiki\n\nStatus Tiddler werden meist von Makros oder Widgets verwendet, um Status Informationen zwischen zu speichern. Zum Beispiel: Welcher Reiter beim `<<tabs>>` Makro gerade aktiv ist. \n\nDiese Status Tiddler werden meist mit einem System Prefix versehen, damit sie in normalen Listen nicht auftauchen.\n\nWenn Sie im rechten Menü den Reiter: \"Mehr: System\" wählen, dann können Sie Status Tiddler mit den Namen: `$:/state/xxxxxx` sehen. \n\n''Wichtig'': `$:/state/*` Tiddler werden nicht gespeichert. Wenn Sie also den Status Ihres `<<tabs>>` Makros speichern wollen, dann verwenden Sie einen anderen Namen. zB: `$:/_state/tabx`\n\nSiehe auch:\n\n<<list-links [tag[Makros]]>>\n"
  },
  {
    "path": "editions/de-AT/tiddlers/lexikon/Stylesheet.tid",
    "content": "created: 20140923181404483\ncreator: pmario\nmodified: 20140923181631831\nmodifier: pmario\ntags: Lexikon\ntitle: Stylesheet\ntype: text/vnd.tiddlywiki\n\n''Stylesheet Definition''\n\n<<<\nStylesheet-Sprachen [ˈstaɪlʃiːt] sind Beschreibungssprachen in der Informationstechnik.\n\nEin Stylesheet ist am ehesten mit einer Formatvorlage zu vergleichen. Grundidee hierbei ist die Trennung von Information (Daten) und Darstellung. Das Stylesheet interpretiert die zugewiesenen Daten (Text, Tabellen, Grafiken etc.) und formatiert sie (z. B. für die Bildschirmausgabe) entsprechend den vorgegebenen Regeln.\n<<<wikipedia http://de.wikipedia.org/wiki/Stylesheet"
  },
  {
    "path": "editions/de-AT/tiddlers/lexikon/Tags.tid",
    "content": "created: 20140908130640417\ncreator: pmario\nmodified: 20140921170557820\nmodifier: pmario\ntags: Lexikon\ntitle: Tags\ntype: text/vnd.tiddlywiki\n\nAls Tags werden Markierungen bezeichnet, die verwendet werden können um einzelne Tiddler, später, zu filtern.\n\nZum Beispiel ist dieser Tiddler mit ''Lexikon'' \"getaggt\". Es gibt <$count filter=\"[tag[Lexikon]]\"/> weitere Tiddler mit diesem Tag.\n\nEine gekürzte Liste wird hier angezeigt mit: \n\n```\n<<list-links filter:\"[tag[Lexikon]limit[4]]\">>\n```\n\n<<list-links filter:\"[tag[Lexikon]limit[4]]\">>\n\nEine komplette Liste können Sie im rechten Menü unter ''Mehr: Tags\" sehen.\n\n"
  },
  {
    "path": "editions/de-AT/tiddlers/lexikon/TextReferenz.tid",
    "content": "created: 20140913190116721\ncreator: pmario\nmodified: 20140913190124716\nmodifier: pmario\ntags: Lexikon\ntitle: TextReferenz\ntype: text/vnd.tiddlywiki\n\nSiehe: https://tiddlywiki.com/#TextReference"
  },
  {
    "path": "editions/de-AT/tiddlers/lexikon/Tiddler.tid",
    "content": "created: 20140908131438258\ncreator: pmario\nmodified: 20140913185153858\nmodifier: pmario\ntags: Lexikon\ntitle: Tiddler\ntype: text/vnd.tiddlywiki\n\n''Für Benutzer:''\n\nIn ~TiddlyWiki ist ein Tiddler die ''kleinste Informations Einheit''.\n\nAndere Systeme verwenden dafür mehr prosaische Namen, wie: Element, Eintrag, Item oder auch Record.\n\nDie Bezeichnung Tiddler mag etwas verwirrend sein, ist aber verwirrend ''unverkennbar'' :)\n\n''Für Entwickler:''\n\nIntern ist ein tiddler ein Verzeichnis von unveränderbaren \"name:value\" Paaren, die als \"fields\" (Felder) bezeichnet werden. Das einzige Feld, das vorhanden sein ''muss'' ist das \"text\" Feld. \n\nWeitere Informationen finden Sie unter: https://tiddlywiki.com/#TiddlerFields "
  },
  {
    "path": "editions/de-AT/tiddlers/lexikon/TiddlyDesktop.tid",
    "content": "created: 20140909213219275\ncreator: pmario\nmodified: 20140909213318182\ntags: Lexikon\ntitle: TiddlyDesktop\ntype: text/vnd.tiddlywiki\n\nTiddlyDesktop ist eine Applikation für Windows, Mac OS X und Linux, mit der Sie TiddlyWiki Dateien bearbeiten können.\nSiehe auch: [[TiddlyWiki und TiddlyDesktop]]"
  },
  {
    "path": "editions/de-AT/tiddlers/lexikon/TiddlyFox.tid",
    "content": "created: 20130825161100000\ncreator: pmario\nmodified: 20140922131114649\nmodifier: ChrisK\ntags: Lexikon InhaltsVerzeichnis\ntitle: TiddlyFox\ntype: text/vnd.tiddlywiki\n\n~TiddlyFox ist eine Firefox Erweiterung,  die es erlaubt, dass TiddlyWiki direkt auf Ihr Laufwerk speichern kann. ~TiddlyFox funktioniert mit der Desktop- und Smartphone-version von Firefox. \n\n~TiddlyFox können Sie von der Mozilla AddOn Seite direkt installieren:\n\n* https://addons.mozilla.org/en-US/firefox/addon/tiddlyfox/\n\nSiehe auch: \n<<list-links \"[tag[TiddlyFox]]\">>\n\n<<<\nDie Entwickler Version von ~TiddlyFox finden Sie auf GitHub:\n\n* https://github.com/TiddlyWiki/TiddlyFox/raw/master/tiddlyfox.xpi\n\n<<<\n"
  },
  {
    "path": "editions/de-AT/tiddlers/lexikon/TiddlyIE.tid",
    "content": "created: 20131211220000000\ncreator: pmario\nmodified: 20140909090115984\ntags: Lexikon\ntitle: TiddlyIE\ntype: text/vnd.tiddlywiki\n\nTiddlyIE ist eine Internet Explorer Erweiterung, die es wie TiddlyFox erlaubt, ~TiddlyWiki direkt zu speichern. ~TiddlyIE funktioniert mit der Desktop Version von Internet Explorer.\n\nSee [[Speichern mit TiddlyIE]]."
  },
  {
    "path": "editions/de-AT/tiddlers/lexikon/TiddlySpot.tid",
    "content": "created: 20140909195907098\ncreator: pmario\nmodified: 20140922131214041\nmodifier: ChrisK\ntags: Lexikon\ntitle: TiddlySpot\ntype: text/vnd.tiddlywiki\n\nTiddlySpot ist ein freier Hosting Service von Simon und Daniel Baird. Er ist beinahe genau so lange in Betrieb wie es TiddlyWiki gibt.\n\nSiehe: http://tiddlyspot.com"
  },
  {
    "path": "editions/de-AT/tiddlers/lexikon/TiddlyWiki mit node.js.tid",
    "content": "created: 20140913190540392\ncreator: pmario\nmodified: 20140913190602331\nmodifier: pmario\ntags: Lexikon\ntitle: TiddlyWiki mit node.js\ntype: text/vnd.tiddlywiki\n\nsiehe: https://tiddlywiki.com/#TiddlyWiki%20on%20Node.js"
  },
  {
    "path": "editions/de-AT/tiddlers/lexikon/TiddlyWiki on node-webkit.tid",
    "content": "created: 20140913190301529\ncreator: pmario\nmodified: 20140913190306933\nmodifier: pmario\ntags: Lexikon\ntitle: TiddlyWiki on NW.js\ntype: text/vnd.tiddlywiki\n\nSiehe: https://tiddlywiki.com/#NW.js"
  },
  {
    "path": "editions/de-AT/tiddlers/lexikon/TiddlyWiki.tid",
    "content": "created: 20140908132950428\ncreator: pmario\nmodified: 20140921170714471\nmodifier: pmario\ntags: Lexikon\ntitle: TiddlyWiki\ntype: text/vnd.tiddlywiki\n\n~TiddlyWiki ist eine Wiki-Software, die komplett ohne Server auskommt - die gesamte Programmlogik befindet sich als ~JavaScript-Programm in der HTML-Seite (schauen Sie ruhig einmal in den Quelltext dieser Seite).\n\n~TiddlyWiki wird von einem Team um JeremyRuston entwickelt und gepflegt. Das Team ist organisiert unter der Organisation UnaMesa, einer Non-Profit-Organisation zur Entwicklung und Pflege von elektronischen Lernsystemen.\n\nNähere Informationen und auch die jeweils aktuellste Fassung von ~TiddlyWiki finden Sie unter https://www.tiddlywiki.com/."
  },
  {
    "path": "editions/de-AT/tiddlers/lexikon/Transklusion.tid",
    "content": "created: 20140913122214453\ncreator: pmario\nmodified: 20140913122324232\nmodifier: pmario\ntags: Lexikon\ntitle: Transklusion\ntype: text/vnd.tiddlywiki\n\n<<<\nEine Transklusion (engl. transclusion) ist die Fähigkeit in meist Hypertext-Systemen, andere Dokumente oder Abschnitte daraus in sich einzuschließen (auch „einzubinden“). So können Textbausteine an unterschiedlichen Stellen mehrfach genutzt werden. Wird der transkludierte Text aktualisiert, aktualisiert sich automatisch auch die Transklusion in allen Seiten, in die diese eingebunden ist.\n<<< Wikipedia: http://de.wikipedia.org/wiki/Transklusion"
  },
  {
    "path": "editions/de-AT/tiddlers/lexikon/URL.tid",
    "content": "created: 20140913185511990\ncreator: pmario\nmodified: 20140913185535240\nmodifier: pmario\ntags: Lexikon\ntitle: URL\ntype: text/vnd.tiddlywiki\n\n<<<\nEin Uniform Resource Locator (Abk. URL; englisch für einheitlicher Quellenanzeiger) identifiziert und lokalisiert eine Ressource, wie z. B. eine Website über die zu verwendende Zugriffsmethode (z. B. das verwendete Netzwerkprotokoll wie HTTP oder FTP) und den Ort (engl. location) der Ressource in Computernetzwerken.\n<<<Wikipedia: http://de.wikipedia.org/wiki/Uniform_Resource_Locator"
  },
  {
    "path": "editions/de-AT/tiddlers/lexikon/UnaMesa.tid",
    "content": "created: 20140908133320734\ncreator: pmario\nmodified: 20140908133356893\nmodifier: pmario\ntags: Lexikon\ntitle: UnaMesa\ntype: text/vnd.tiddlywiki\n\n[[UnaMesa|http://www.unamesa.org/]] ist eine Non-Profit-Organisation zur Entwicklung und Pflege von elektronischen Lernsystemen."
  },
  {
    "path": "editions/de-AT/tiddlers/lexikon/Was geschah mit dem alten TiddlyWiki.tid",
    "content": "created: 20140913190325625\ncreator: pmario\nmodified: 20140913190429017\nmodifier: pmario\ntags: TWclassic Lexikon\ntitle: Was geschah mit dem alten TiddlyWiki\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki-classic kann unter https://classic.tiddlywiki.com gefunden werden. "
  },
  {
    "path": "editions/de-AT/tiddlers/lexikon/WikiLinks.tid",
    "content": "created: 20140923190422739\ncreator: pmario\nmodified: 20140923191435553\nmodifier: pmario\ntags: Lexikon\ntitle: WikiLinks\ntype: text/vnd.tiddlywiki\n\nSiehe: ~CamelCase [[Verknüpfungen in WikiText]]"
  },
  {
    "path": "editions/de-AT/tiddlers/maintainer/ChrisK.tid",
    "content": "about: Christoph Krohn\ncreated: 20140924155244033\ncreator: pmario\nmodified: 20140924155625690\nmodifier: pmario\ntags: maintainer\ntitle: ChrisK\ntype: text/vnd.tiddlywiki\n\nChristoph hat die meisten Tippfehler in der Bedieneroberfläche und im Text aufgedeckt. Danke!"
  },
  {
    "path": "editions/de-AT/tiddlers/maintainer/Wer pflegt diese Edition_.tid",
    "content": "created: 20140918103106541\ncreator: pmario\nmodified: 20140918105518082\nmodifier: pmario\ntags: Referenz\ntitle: Wer pflegt diese Edition?\ntype: text/vnd.tiddlywiki\n\n\\define list-about(filter,type:\"ul\",subtype:\"li\")\n<$type$>\n<$list filter=\"$filter$\">\n<$subtype$>\n<$link to={{!!title}}>\n<$view field=\"about\"/>\n</$link>\n</$subtype$>\n</$list>\n</$type$>\n\\end\n\n!! Maintainer\n\n<<list-about filter:\"[tag[maintainer]has[about]]\" >>\n\n!! GitHub\n\nsiehe: https://github.com/TiddlyWiki/TiddlyWiki5/tree/master/languages\n\n!! Feedback\n\nKonstruktives Feedback ist wichtig, um die Dokumentation zu verbessern! ... Kein Feedback ... keine Änderungen :) \n\nBitte unter: https://groups.google.com/forum/#!forum/tiddlywiki"
  },
  {
    "path": "editions/de-AT/tiddlers/maintainer/pmario.tid",
    "content": "about: Mario Pietsch\ncreated: 20140918103040215\ncreator: pmario\nmodified: 20140918110702263\nmodifier: pmario\ntags: maintainer\ntitle: pmario\ntype: text/vnd.tiddlywiki\n\nHallo, Ich bin {{!!about}}, Ich pflege momentan die deutsche Version von ~TiddlyWiki und würde mich über Hilfe sehr freuen. Wer helfen möchte, soll bitte [[Kontakt aufnehmen|Wer pflegt diese Edition?]]!"
  },
  {
    "path": "editions/de-AT/tiddlers/makros/Inhaltsverzeichnis-Einfach.tid",
    "content": "caption: Einfach\ncreated: 20140923232546667\ncreator: pmario\nmodified: 20140923233701795\nmodifier: pmario\ntags: tocVariante\ntitle: Inhaltsverzeichnis-Einfach\ntype: text/vnd.tiddlywiki\n\n!!! Einfaches Inhaltsverzeichnis\n\n<$macrocall $name='wikitext-example-without-html'\nsrc='<div class=\"tc-table-of-contents\">\n<<toc \"tocBeispiel\">>\n</div>\n'/>\n"
  },
  {
    "path": "editions/de-AT/tiddlers/makros/Inhaltsverzeichnis-Erweiterbar.tid",
    "content": "caption: Erweiterbar\ncreated: 20140923233304471\ncreator: pmario\nmodified: 20140923233643671\nmodifier: pmario\ntags: tocVariante\ntitle: Inhaltsverzeichnis-Erweiterbar\ntype: text/vnd.tiddlywiki\n\n!!! Erweiterbares Inhaltsverzeichnis\n\n<$macrocall $name='wikitext-example-without-html'\nsrc='<div class=\"tc-table-of-contents\">\n<<toc-expandable \"tocBeispiel\">>\n</div>\n'/>\n"
  },
  {
    "path": "editions/de-AT/tiddlers/makros/Inhaltsverzeichnis-Selektiv-Erweiterbar.tid",
    "content": "caption: Selectiv Erweiterbar\ncreated: 20140923233515274\ncreator: pmario\nmodified: 20140923233651833\nmodifier: pmario\ntags: tocVariante\ntitle: Inhaltsverzeichnis-Selektiv-Erweiterbar\ntype: text/vnd.tiddlywiki\n\n!!! Selectiv Erweiterbares Inhaltsverzeichnis\n\n<$macrocall $name='wikitext-example-without-html'\nsrc='<div class=\"tc-table-of-contents\">\n<<toc-selective-expandable \"tocBeispiel\">>\n</div>\n'/>\n"
  },
  {
    "path": "editions/de-AT/tiddlers/makros/Inhaltsverzeichnis-Sortiert.tid",
    "content": "caption: Sorted Expandable\ncreated: 20140923233745927\ncreator: pmario\nmodified: 20140923234035454\nmodifier: pmario\ntags: tocVariante\ntitle: Inhaltsverzeichnis-Sortiert\ntype: text/vnd.tiddlywiki\n\n!! Sortiertes Erweiterbares Inhaltsverzeichnis\n\n<$macrocall $name='wikitext-example-without-html'\nsrc='<div class=\"tc-table-of-contents\">\n<<toc-expandable \"tocBeispiel\" \"sort[title]\">>\n</div>\n'/>\n"
  },
  {
    "path": "editions/de-AT/tiddlers/makros/ListMacro.tid",
    "content": "caption: list-Liste\ncreated: 20140923193202449\ncreator: ChrisK\nmodified: 20140923235012644\nmodifier: pmario\ntags: Makros\ntitle: ListMacro\ntype: text/vnd.tiddlywiki\n\nDas \"list\" Makro erstellt Linklisten von Tiddlern.\n\n* `<<list-links>>` erzeugt eine Liste von Links zu Tiddlern, die einem [[Filter]] entsprechen.\n\n!! Parameter\n\n|Position |Name |Beschreibung |Standard |h\n|1 |filter |Filter Ausdruck | |\n|2 |type |\"HTML tag\", der als Hülle verwendet werden soll. Möglich sind:<br />\"ul\" .. \"unordered list\" oder <br />\"ol\" .. \"ordered list\" |\"ul\" |\n|3 |subtype |\"HTML tag\" der als Listen Element verwendet werden soll. |\"li\" |\n|4 |class |Das Listen Element `<ul>` oder `<ol>` bekommt eine CSS Klasse zugewiesen zB: `<ul class=\"three-columns\">` | |\n\n!! Beispiele\n\n<$macrocall $name='wikitext-example-without-html'\nsrc='<<list-links filter:\"[tag[Was kann TiddlyWiki]]\">>\n'/>\n\n<$macrocall $name='wikitext-example-without-html'\nsrc='<<list-links filter:\"[tag[Was kann TiddlyWiki]]\" type:\"ol\">>\n'/>\n"
  },
  {
    "path": "editions/de-AT/tiddlers/makros/TableOfContentsMacro.tid",
    "content": "caption: toc-Inhaltsverzeichnis\ncreated: 20140919155729620\ncreator: pmario\nmodified: 20140923235926478\nmodifier: pmario\ntags: Makros\ntitle: TableOfContentsMacro\ntype: text/vnd.tiddlywiki\n\nDas Inhaltsverzeichnis Makro (englisch: table of content) erstellt einen hierarchischen Baum von Verknüpfungen (Links), basierend auf ihren Tags.\n\nDer Basis Eintrag in das Verzeichnis wird als \"root tag\" bezeichnet. Die weiteren Ebenen werden von Tiddlern gebildet, die mit den \"root tags\" getaggt sind. Einträge können sortiert werden, indem im `list` Feld eines Tags die Reihenfolge der Tiddler festgelegt wird. (Die Sortierung muss momentan per Hand vorgenommen werden). Siehe auch: [[Tagging]]\n\nDer Text für die Einträge wird aus dem `caption` Feld des Tiddlers genommen. Ist dieser nicht vorhanden, dann wird der Tiddler Titel angezeigt.Dieser Tiddler hat ein `caption` Feld mit dem Inhalt: ''{{!!caption}}''. Im (i)nfo Button unter Felder können Sie alle Felder sehen!\n\nDie Einträge werden als Links dargestellt, außer, der Tiddler hat ein weiteres Feld mit dem Namen: `toc-link` und dem Wert: `no`. In den folgenden Beispielen ist dies der Fall für den Tiddler: ''EinsB.''\n\nEs gibt mehrere Varianten des \"toc\" Makros:\n\n* `<<toc>>` erstellt eine hierarchische Liste mit Links.\n* `<<toc-expandable>>` erstellt einen erweiterbaren Baum mit Links.\n* `<<toc-selective-expandable>>` erstellt einen erweiterbaren Baum, bei dem der \"erweitern\" Button nur dann vorhanden ist, wenn der Zweig weitere Elemente hat. \n\nDie Makros erzeugen HTML `<ol>` Elemente (geordnete Listen):\n\n* Die `<ol>` Elemente haben eine CSS Klasse: `tc-toc`.\n* Die erweiterbaren Elemente habe zusätzlich die Klasse: `tc-toc-expandable`.\n* Die \"selective-expandable\" Variante hat die Klasse: `tc-toc-selective-expandable`\n\n\n!! Parameter\n\n|Position |Name |Beschreibung |Standard |h\n|1 |tag |Der \"root tag\" legt die erste Ebene der Hierarchie fest | |\n|2 |sort |Optional können die Einträge sortiert werden. zB: `sort[title]` | |\n\nDer \"tag\" und \"sort\" Parameter werden kombiniert und legen den Filterausdruck fest:\n\n```\n[tag[$tag$]$sort$]\n```\n\n!! Beispiele\n\n<<tabs \"[tag[tocVariante]]\" \"Inhaltsverzeichnis-Einfach\">>\n"
  },
  {
    "path": "editions/de-AT/tiddlers/makros/TabsMakro.tid",
    "content": "caption: tabs-Reiter\ncreated: 20131228162203521\ncreator: ChrisK\nlist: ReiterEins ReiterZwei ReiterDrei\nmodified: 20140923234958679\nmodifier: pmario\ntags: Makros\ntitle: TabsMakro\ntype: text/vnd.tiddlywiki\n\nDas `<<tabs>>` Makro stellt eine Liste von Tiddlern als \"Reiter\" dar. Der Anwender kann zwischen den Reitern wechseln, indem er sie anklickt. \n\nAls Reiter Text wird der Tiddler Titel verwendet. Außer es ist ein Feld mit dem Namen: `caption` im Tiddler enthalten, dann wird der `caption` Text angezeigt.\n\nStandardmäßig werden die Reiter horizontal angeordnet. Sie können diese Ausrichtung jedoch mit einem Parameter `tc-vertical` ändern.\n\n!! Parameter\n\n|Position |Name |Beschreibung |Standard |h\n|1 |tabsList |Filter mit der die Liste der Tiddler erstellt wird | |\n|2 |default |Name des Tiddlers, der den \"Standard Reiter\" festlegt | |\n|3 |state |Status Variable, um mehreren Reiter im selben Tiddler unterscheiden zu können. Es wird empfohlen, das System-TIddler prefix zu verwenden. |''$:/state/tab'' |\n|4 |class |Optionale [[CSS-Klasse|CSS Klassen]], die dem einhüllenden DIV zugewiesen wird. | |\n|5 |template |Optionale Vorlage, mit der der Reiter dargestellt werden soll. | |\n\nIn der Vorlage ist der Titel des aktuellen Reiters in der Widget Variable `currentTab` enthalten.\n\n! Beispiele\n\nHier sind einige Beispiele für das `<<tabs>>` Makro\n\n```\n<<tabs \"ReiterEins ReiterZwei ReiterDrei\" \"ReiterZwei\" \"$:/state/tab1\">>\n\n<<tabs \"[tag[TabsMakro]]\" \"ReiterDrei\" \"$:/state/tab2\" \"tc-vertical\">>\n```\n\n<<tabs \"ReiterEins ReiterZwei ReiterDrei\" \"ReiterZwei\" \"$:/state/tab1\">>\n\n<<tabs \"[tag[TabsMakro]]\" \"ReiterDrei\" \"$:/state/tab2\" \"tc-vertical\">>\n"
  },
  {
    "path": "editions/de-AT/tiddlers/makros/VersionMacro.tid",
    "content": "caption: version\ncreated: 20131228162448664\ncreator: pmario\nmodified: 20140923225859656\nmodifier: pmario\ntags: Makros\ntitle: VersionMacro\ntype: text/vnd.tiddlywiki\n\nDas `version` Makro gibt die aktuelle Kern Versionsnummer aus.\n\n!! Beispiel\n\nDas `version` Makro benötigt keine Parameter.\n\n```\nVersionsnummer: <<version>>\n```\n\nVersionsnummer: <<version>>\n"
  },
  {
    "path": "editions/de-AT/tiddlers/makros/list-check.svg.tid",
    "content": "created: 20140923135826602\ncreator: pmario\nmodified: 20140923175428869\nmodifier: pmario\ntags: $:/_tags/ListIcon\ntitle: list-check.svg\ntype: image/svg+xml\n\n<svg xmlns=\"http://www.w3.org/2000/svg\" class=\"tc-list-image-check tc-list-image\" height=\"15\" width=\"15\" >\n<g stroke-linejoin=\"round\" stroke=\"#e15a2d\" stroke-linecap=\"round\" stroke-miterlimit=\"4\" stroke-dasharray=\"none\" stroke-width=\"2.4\" fill=\"none\">\n<path d=\"M10.209,10.056v-1.1683c7.449-4.9934-0.719-9.2766-3.331-4.7527\"/>\n<path d=\"m9.855,13.771,0.67115,0\"/>\n</g>\n</svg>"
  },
  {
    "path": "editions/de-AT/tiddlers/makros/list-done.svg.tid",
    "content": "created: 20140923122853896\ncreator: pmario\nmodified: 20140923175442564\nmodifier: pmario\ntags: $:/_tags/ListIcon\ntitle: list-done.svg\ntype: image/svg+xml\n\n<svg xmlns=\"http://www.w3.org/2000/svg\" class=\"tc-list-image-done tc-list-image\" height=\"15\" width=\"15\">\n<path id=\"path3757\" stroke-linejoin=\"round\" d=\"M3.5168,8.809,6.3999,12.172,12.747,5.9087\" stroke=\"#31a837\" stroke-linecap=\"round\" stroke-width=\"2.5\" fill=\"none\"/>\n</svg>"
  },
  {
    "path": "editions/de-AT/tiddlers/makros/list-task.svg.tid",
    "content": "created: 20140923133954557\ncreator: pmario\nmodified: 20140923175436090\nmodifier: pmario\ntags: $:/_tags/ListIcon\ntitle: list-task.svg\ntype: image/svg+xml\n\n<svg xmlns=\"http://www.w3.org/2000/svg\" class=\"tc-list-image-task tc-list-image\" height=\"15\" width=\"15\" >\n<g stroke=\"#2929e4\" stroke-linejoin=\"miter\" stroke-linecap=\"round\" stroke-width=\"2.5\" fill=\"none\">\n<path d=\"m11.002,2.5018,0,6.4319\"/>\n<path d=\"m10.547,13.61,0.95879-0.0067\"/>\n</g>\n</svg>\n"
  },
  {
    "path": "editions/de-AT/tiddlers/referenz/Lizenzen.tid",
    "content": "created: 20140918110713554\ncreator: pmario\nmodified: 20140918111046621\nmodifier: pmario\ntags: Referenz\ntitle: Lizenzen\ntype: text/vnd.tiddlywiki\n\n* ~TiddlyWiki Kern\n** https://github.com/TiddlyWiki/TiddlyWiki5/blob/master/licenses/copyright.md\n* ~TiddlyWiki Editionen \n** https://github.com/TiddlyWiki/TiddlyWiki5/blob/master/licenses/cla-individual.md\n** https://github.com/TiddlyWiki/TiddlyWiki5/blob/master/licenses/cla-entity.md"
  },
  {
    "path": "editions/de-AT/tiddlers/system/$__DefaultTiddlers.tid",
    "content": "created: 20140908125056269\ncreator: pmario\nmodified: 20150513154526985\nmodifier: pmario\ntitle: $:/DefaultTiddlers\ntype: text/vnd.tiddlywiki\n\nHelloThere"
  },
  {
    "path": "editions/de-AT/tiddlers/system/$__StaticBanner.tid",
    "content": "title: $:/StaticBanner\n\n<div class=\"tc-static-alert\"><div class=\"tc-static-alert-inner\">Diese Seite ist Teil der \"reinen\" HTML Version von ~TiddlyWiki auf https://tiddlywiki.com/languages/de-AT</div></div>\n"
  },
  {
    "path": "editions/de-AT/tiddlers/system/$__config_PageControlButtons_Visibility_$__core_ui_Buttons_home.tid",
    "content": "created: 20140909085347212\nmodified: 20140909085346177\ntitle: $:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/home\ntype: text/vnd.tiddlywiki\n\nshow"
  },
  {
    "path": "editions/de-AT/tiddlers/system/$__config_PageControlButtons_Visibility_$__core_ui_Buttons_language.tid",
    "content": "created: 20140909193620416\nmodified: 20140912115601698\nmodifier: pmario\ntitle: $:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/language\ntype: text/vnd.tiddlywiki\n\nshow"
  },
  {
    "path": "editions/de-AT/tiddlers/system/$__config_PageControlButtons_Visibility_$__editions_tw5.com_github-fork-ribbon.tid",
    "content": "created: 20140918071202599\nmodified: 20140918071201447\nmodifier: pmario\ntitle: $:/config/PageControlButtons/Visibility/$:/editions/tw5.com/github-fork-ribbon\ntype: text/vnd.tiddlywiki\n\nshow"
  },
  {
    "path": "editions/de-AT/tiddlers/system/$__editions_de-AT-DE_download-empty.tid",
    "content": "created: 20140909074606881\nmodified: 20140909075251840\ntitle: $:/editions/de-AT-DE/download-empty\ntype: text/vnd.tiddlywiki\n\n\\define saveTiddlerFilter()\n[[$:/core]] [[$:/isEncrypted]] [[$:/themes/tiddlywiki/snowwhite]] [[$:/themes/tiddlywiki/vanilla]] [[$:/languages/de-DE]] [[$:/languages/de-AT]] [[$:/language]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] -[has[plugin-type]field:platform[server]] +[sort[title]]\n\\end\n\\define savingEmpty()\nyes\n\\end\n{{$:/core/templates/tiddlywiki5.html}}"
  },
  {
    "path": "editions/de-AT/tiddlers/system/$__editions_de-AT-DE_iframe-responsive.tid",
    "content": "created: 20150615125628093\nmodified: 20150615131411878\ntags: $:/tags/Macro\ntitle: $:/editions/de-AT-DE/iframe-responsive\ntype: text/vnd.tiddlywiki\n\n\\define iframe-responsive(src; ratio:\"56.25%\"; allowfullscreen:\"allowfullscreen\"; frameborder:\"0\")\n<div style=\"width: 100%; padding-bottom: $ratio$; height: 0px; position: relative;\"><iframe style=\"width: 100%; height: 100%; position: absolute; left: 0px; top: 0px;\" src=\"$src$\" frameborder=\"$frameborder$\" $allowfullscreen$></iframe></div>\n\\end\n"
  },
  {
    "path": "editions/de-AT/tiddlers/system/$__editions_de-AT-DE_snippets_download-empty-button.tid",
    "content": "created: 20140909074234434\nmodified: 20140909075544956\ntitle: $:/editions/de-AT-DE/snippets/download-empty-button\ntype: text/vnd.tiddlywiki\n\n<$button message=\"tm-download-file\" param=\"$:/editions/de-AT-DE/download-empty\" class=\"tc-btn-big-green\">Leeres Dokument Speichern {{$:/core/images/save-button}}</$button>"
  },
  {
    "path": "editions/de-AT/tiddlers/system/$__editions_de-AT-DE_wikitext-macros.tid",
    "content": "created: 20140913093307509\ncreator: pmario\nmodified: 20140913100949363\nmodifier: pmario\ntags: $:/tags/Macro\ntitle: $:/editions/de-AT-DE/wikitext-macros\ntype: text/vnd.tiddlywiki\n\n\\define wikitext-example(src)\n```\n$src$\n```\n\nDargestellt als:\n\n$src$\n\nErzeugter HTML Code:\n\n$$$text/vnd.tiddlywiki>text/html\n$src$\n$$$\n\n\\end\n\n\\define wikitext-example-without-html(src)\n```\n$src$\n```\n\nDargestellt als:\n\n$src$\n\n\\end\n"
  },
  {
    "path": "editions/de-AT/tiddlers/system/$__language.tid",
    "content": "created: 20140908134120325\nmodified: 20140919142241960\nmodifier: pmario\ntitle: $:/language\ntype: text/vnd.tiddlywiki\n\n$:/languages/de-AT"
  },
  {
    "path": "editions/de-AT/tiddlers/system/$__themes_tiddlywiki_vanilla_options_sidebarlayout.tid",
    "content": "created: 20230307080103029\nmodified: 20230307080103029\ntitle: $:/themes/tiddlywiki/vanilla/options/sidebarlayout\ntype: text/vnd.tiddlywiki\n\nfluid-fixed"
  },
  {
    "path": "editions/de-AT/tiddlers/system/SelectDefaultTab.tid",
    "content": "title: $:/state/tab/sidebar--1835078512\n\nInhaltsVerzeichnis"
  },
  {
    "path": "editions/de-AT/tiddlers/system/static.content.tid",
    "content": "title: $:/core/templates/static.content\ntype: text/vnd.tiddlywiki\n\n\\define tv-wikilink-template() https://tiddlywiki.com/static/$uri_doubleencoded$.html\n\n<!-- For Google, and people without JavaScript-->\n\n<$reveal default=\"yes\" text=<<savingEmpty>> type=\"nomatch\">\n\nEs scheint, dass bei diesem Browser JavaScript deaktiviert wurde. Sie können die statische HTML Version verwenden:\n\n!! Deutsch - Deutschland\n\n* https://tiddlywiki.com/languages/de-DE/static.html - Einzelne Tiddler als individuelle Seiten.\n* [ext[https://tiddlywiki.com/languages/de-DE/alltiddlers.html#Willkommen!]] - Eine Datei mit allen Tiddlern.\n\n!! Deutsch - Österreich\n\n* https://tiddlywiki.com/languages/de-AT/static.html - Einzelne Tiddler als individuelle Seiten.\n* [ext[https://tiddlywiki.com/languages/de-AT/alltiddlers.html#Willkommen!]] - Eine Datei mit allen Tiddlern.\n\n!! Englische Version\n\n* https://tiddlywiki.com/static.html - Einzelne Tiddler als individuelle Seiten.\n* https://tiddlywiki.com/alltiddlers.html#HelloThere - single file containing all tiddlers\n\n</$reveal>\n"
  },
  {
    "path": "editions/de-AT/tiddlers/systemtag/$__TaskStylesheet.tid",
    "content": "created: 20140923174845752\ncreator: pmario\nmodified: 20140923175216429\nmodifier: pmario\ntags: $:/tags/Stylesheet\ntitle: $:_TaskStylesheet\ntype: text/vnd.tiddlywiki\n\n\\define datauri(title)\n<$macrocall $name=\"makedatauri\" type={{$title$!!type}} text={{$title$}}/>\n\\end\n\nli.Done {\nlist-style-image:url(<<datauri \"list-done.svg\" >>);\nfont-weight:normal;\n}\n\nli.Check {\nlist-style-image:url(<<datauri \"list-check.svg\">>);\nfont-weight:normal;\n}\n\nli.ToDo {\nlist-style-image:url(<<datauri \"list-task.svg\" >>);\nfont-weight:bold;\n}\n"
  },
  {
    "path": "editions/de-AT/tiddlers/systemtag/$___tags_ListIcon.tid",
    "content": "created: 20140923175452015\ncreator: pmario\nmodified: 20140923180722213\nmodifier: pmario\ntags: SystemTag\ntitle: $:/_tags/ListIcon\ntype: text/vnd.tiddlywiki\n\nDieser Tag wird als SystemTag bezeichnet. Er dient dazu Tag basierte Listen erstellen zu können. Der Tag selbst soll aber für den Endanwender unsichtbar bleiben.\n\nDie Kennung für einen System-Tag ist `$:/`. Der Rest des Tags ist nur eine Namenskonvention, die je nach Anwendungsfall unterschiedlich sein kann. \n\nDer Unterstrich `_` hier, hat den Vorteil, dass der Tag in Listen ganz oben angezeigt wird. In der Community wird sich diese Konvention wahrscheinlich für \"Benutzerdefinierte ~SystemTags\" durchsetzen.\n\n<<list-links filter:\"[tag{!!title}]\">>"
  },
  {
    "path": "editions/de-AT/tiddlers/systemtag/$__tags_Stylesheet.tid",
    "content": "created: 20140923180325727\ncreator: pmario\nmodified: 20140923182406110\nmodifier: pmario\ntags: SystemTag\ntitle: $:/tags/Stylesheet\ntype: text/vnd.tiddlywiki\n\nDieser Tag: ''{{!!title}}'' ist ein SystemTag. Er wird verwendet um Benutzer definierte [[Stylesheets|Stylesheet]] zu aktivieren. \n\nBenutzer Stylesheets in diesem Wiki: \n\n<<list-links \"[tag[$:/tags/Stylesheet]]\">>"
  },
  {
    "path": "editions/de-AT/tiddlers/systemtag/SystemTag.tid",
    "content": "created: 20140923180759976\ncreator: pmario\nmodified: 20140923181606152\nmodifier: pmario\ntags: Lexikon\ntitle: SystemTag\ntype: text/vnd.tiddlywiki\n\nDieser Tag ist ein System Tag. System Tags sind in normalen Tag Listen nicht sichtbar. System Tags werden intern von ~TiddlyWiki verwendet.\n\nGeübte Anwender können ebenfalls System Tags verwenden, um sie vor Endanwendern zu verstecken. Dies ist manchmal nötig, um den Anwender nicht zu verwirren. \n\n"
  },
  {
    "path": "editions/de-AT/tiddlers/video/Einfuhrungsvideo.tid",
    "content": "caption: Englisches Einführungsvideo\ncreated: 20141126153016142\ncreator: pmario\nmodified: 20150518080106158\nmodifier: pmario\ntags: [[Was kann TiddlyWiki]] Video\ntitle: Einführungsvideo\ntype: text/vnd.tiddlywiki\n\nDiese Videopräsentation (englisch) erklärt die grundlegenden Möglichkeiten von TiddlyWiki.\n\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/KtCUr83XgyE\" frameborder=\"0\" allowfullscreen></iframe>\n\nDie Präsentation, die in diesem Video verwendet wurde, finden Sie hier:\n\nhttps://tiddlywiki.com/editions/introduction/\n"
  },
  {
    "path": "editions/de-AT/tiddlers/video/TiddlyWiki mit Firefox fur Android Video.tid",
    "content": "created: 20140104134947485\ncreator: pmario\nmodified: 20140913185135545\nmodifier: pmario\ntags: Video\ntitle: TiddlyWiki mit Firefox für Android Video\ntype: text/vnd.tiddlywiki\n\nDas Video von Jeremy Ruston, gibt eine kurze Übersicht, wie ~TiddlyWiki mit \"Firefox für Android\" verwendet werden kann.\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/iikkv9orGGI\" frameborder=\"0\" allowfullscreen></iframe>\n"
  },
  {
    "path": "editions/de-AT/tiddlers/widgets/ImageWidget.tid",
    "content": "created: 20140913185748692\ncreator: pmario\nmodified: 20140913185818163\nmodifier: pmario\ntags: Widgets\ntitle: ImageWidget\ntype: text/vnd.tiddlywiki\n\nSiehe: https://tiddlywiki.com/#ImageWidget"
  },
  {
    "path": "editions/de-AT/tiddlers/widgets/ImportVariablesWidget.tid",
    "content": "created: 20140913190644927\ncreator: pmario\nmodified: 20140913190657497\nmodifier: pmario\ntags: Widgets Lexikon\ntitle: ImportVariablesWidget\ntype: text/vnd.tiddlywiki\n\nSiehe: https://tiddlywiki.com/#ImportVariablesWidget"
  },
  {
    "path": "editions/de-AT/tiddlers/widgets/LinkWidget.tid",
    "content": "created: 20140913133329379\ncreator: pmario\nmodified: 20140913133404164\nmodifier: pmario\ntags: Lexikon\ntitle: LinkWidget\ntype: text/vnd.tiddlywiki\n\nSiehe: https://tiddlywiki.com/#LinkWidget"
  },
  {
    "path": "editions/de-AT/tiddlers/widgets/ListWidget.tid",
    "content": "created: 20230307081923415\nmodified: 20230307081953759\ntags: Widgets\ntitle: ListWidget\ntype: text/vnd.tiddlywiki\n\nhttps://tiddlywiki.com/#ListWidget"
  },
  {
    "path": "editions/de-AT/tiddlers/widgets/TranscludeWidget.tid",
    "content": "created: 20230307082002353\nmodified: 20230307082023207\ntags: Widgets\ntitle: TranscludeWidget\ntype: text/vnd.tiddlywiki\n\nhttps://tiddlywiki.com/#TranscludeWidget"
  },
  {
    "path": "editions/de-AT/tiddlers/wikitext/Absatz in WikiText.tid",
    "content": "caption: Absatz\ncreated: 20131205155836435\ncreator: pmario\nmodified: 20140913190735540\nmodifier: pmario\ntags: WikiText\ntitle: Absatz in WikiText\ntype: text/vnd.tiddlywiki\n\nUm einen Absatz in TiddlyWiki zu erzeugen sind 2 Zeilenumbrüche nötig. \n\n```\nDas ist der erste Absatz\n\nDas ist der zweite Abastz, getrennt durch 2 Zeilenumbrüche.\n```\n\nEin Zeilenumbruch wird nicht dargestellt, kann aber im Tiddler Text verwendet werden.\n\n<<wikitext-example src:\"Das ist ein Absatz,\nzusammengesetzt aus\nmehreren Zeilen \n\"Source\" Text\">>\n\nFür Situationen, wo ein \"harter\" Zeilenumbruch benötigt wird sehen sie: [[Zeilenumbruch in WikiText]].\n"
  },
  {
    "path": "editions/de-AT/tiddlers/wikitext/Bilder in WikiText.tid",
    "content": "caption: Bilder\ncreated: 20131205160221762\ncreator: pmario\nmodified: 20230307081713229\nmodifier: pmario\ntags: WikiText\ntitle: Bilder in WikiText\ntype: text/vnd.tiddlywiki\n\n!! Bild Formatierung\n\nBilder können in WikiText mit folgender Syntax verwendet werden:\n\n```\n[img[Motovun Jack.jpg]]\n```\n[img[Motovun Jack.jpg]]\n\noder \n\n```\n[img[https://tiddlywiki.com/favicon.ico]]  Dieses verlinkte Bild wird eventuell nicht angezeigt, wenn Sie offline sind!\n```\n[img[https://tiddlywiki.com/favicon.ico]]\n\nWenn die Bildquelle der Titel eines existierenden Tiddlers ist, dann wird dieser direkt angezeigt. Ansonsten wird die Quelle als URL angesehen und ein HTML `<img>` Element wird erzeugt. Das `src` Attribut wird auf die [[URL]] gesetzt. \n\nEin Tooltip kann ebenfalls angegeben werden:\n\n```\n[img[Ich bin der Tooltip text|Motovun Jack.jpg]]\n```\n\n[img width=100 [Ich bin der Tooltip text|Motovun Jack.jpg]]\n\nAttribute wie z.B: CSS Klassen oder die Höhe und Breite können ebenfalls angegeben werden. \n\n```\n[img width=64 [Motovun Jack.jpg]]\n[img width=64 class=\"tc-image\" [Motovun Jack.jpg]]\n```\n[img width=64 class=\"tc-image\" [Motovun Jack.jpg]]\n\nAnmerkung: Attribute können auch über [[Transklusionen|Transklusion]] oder [[Variablen|Makro]] referenziert werden:\n\n```\n[img width={{!!mywidth}} class=<<image-classes>> [Motovun Jack.jpg]]\n```\n\nDie \"Bilder Syntax\" ist eine Vereinfachung für die Verwendung des \"ImageWidget\"\n\n\n!! Anzeige von Bildern mit Transklusion\n\nSie können ein Bild, das als Tiddler gespeichert ist direkt anzeigen. Nachteil dieser Methode ist, dass die Größe des Bildes nicht direkt beeinflusst werden kann. \n\n```\n{{Motovun Jack.jpg}}\n```\n\nDargestellt als:\n\n{{Motovun Jack.jpg}}\n\n"
  },
  {
    "path": "editions/de-AT/tiddlers/wikitext/Code Block in WikiText.tid",
    "content": "caption: Code Block\ncreated: 20131205160047557\ncreator: pmario\nmodified: 20140922121828338\nmodifier: ChrisK\ntags: WikiText\ntitle: Code Block in WikiText\ntype: text/vnd.tiddlywiki\n\nSie können ein dreifaches [[Gravis Akzent|http://de.wikipedia.org/wiki/Gravis_%28Typografie%29]] Zeichen: <code>&#96;&#96;&#96;</code> verwenden. Im englischen wird es auch als \"backtick\" bezeichnet.\n\nText Beispiel:\n<pre>\n&#96;&#96;&#96;\nDas wird als nicht proportionaler Text dargestellt.\n&#96;&#96;&#96;\n</pre>\n\nDie drei \"backticks\" müssen am Anfang der Zeile stehen und es dürfen keine Leerzeichen folgen, sonst kann der Block nicht korrekt dargestellt werden. \n\nDargestellt als:\n\n```\nDas wird als nicht proportionaler Text dargestellt.\n```\n\nAnmerkung:\n\nBei einigen Tastatur Anordnungen (je nach Betriebssystem und Sprache) können diese Zeichen als [[tote Taste|http://de.wikipedia.org/wiki/Tottaste]] konfiguriert sein, was sie schwerer zu tippen macht. \n\nFür einen mehrzeiligen Code-Block tippen Sie einfach ''6 mal'' auf das ''Akzent'' Zeichen, stellen den Cursor in die Mitte, tippen [Enter] und fertig. \n\nFür ein einfaches Akzent Zeichen drücken Sie ''Gravis'' und ein ''Leerzeichen''.\n\nTODO some short videos, and upload my own Keyboard settings\n"
  },
  {
    "path": "editions/de-AT/tiddlers/wikitext/Definitionen in WikiText.tid",
    "content": "caption: Definitionen\ncreated: 20131205160424246\ncreator: pmario\nmodified: 20140921170646774\nmodifier: pmario\ntags: WikiText\ntitle: Definitionen in WikiText\ntype: text/vnd.tiddlywiki\n\nHTML Definitionslisten werden wie folgt erstellt:\n\n<<wikitext-example src:\"; Term der zu definieren ist\n: Definition dieses Terms\n; Neuer Term\n: Neue Definition\n\">>\n"
  },
  {
    "path": "editions/de-AT/tiddlers/wikitext/Formatierungen in WikiText.tid",
    "content": "caption: Formatierung\ncreated: 20131205155959399\ncreator: pmario\nmodified: 20140922122456103\nmodifier: ChrisK\ntags: WikiText\ntitle: Formatierungen in WikiText\ntype: text/vnd.tiddlywiki\n\nMögliche Zeichen Formatierungen sind:\n\n|Format Name |Beispiel |h\n|`` `code` ``|für `Code` |\n|<code>&#96;&#96;code&#96;&#96;</code>|Alternativ: ``doppelte backticks erlauben `eingebettete` backticks``|\n|`''bold''`|für ''fett gedruckten'' Text |\n|`//italic//`|für //hervorgehobenen// Text |\n|`__underscore__`|für __unterstrichenen__ Text|\n|`^^superscript^^`|für ^^hochgestellten^^ Text|\n|`,,subscript,,`|für ,,tiefgestellten,, Text|\n|`~~strikethrough~~`|für ~~durchgestrichenen~~ Text|\n\nSiehe auch: [[Code Block in WikiText]]\n"
  },
  {
    "path": "editions/de-AT/tiddlers/wikitext/Gedankenstrich in WikiText.tid",
    "content": "caption: Gevier\ncreated: 20131205160641986\ncreator: pmario\nmodified: 20140922122858062\nmodifier: ChrisK\ntags: WikiText\ntitle: Gedankenstrich in WikiText\ntype: text/vnd.tiddlywiki\n\nDer [[Halbgeviertstrich]], englisch \"n-dash\", kann mit 2 \"minus\" Zeichen erzeugt werden. `--` ergibt: --\n\nDer [[Geviertstrich]], englisch \"m-dash\", wird mit 3 \"minus\" Zeichen erzeugt: `---` ergibt: ---\n"
  },
  {
    "path": "editions/de-AT/tiddlers/wikitext/HTML in WikiText.tid",
    "content": "caption: HTML\ncreated: 20131205160816081\ncreator: pmario\nmodified: 20140913190036237\nmodifier: pmario\ntags: WikiText\ntitle: HTML in WikiText\ntype: text/vnd.tiddlywiki\n\n''Für geübte Anwender!'' Neue Besucher bitte [[Transclusion in WikiText]] und [[Makros in WikiText]] zuerst lesen!\n\nHTML Elemente und Kommentare können direkt in ~WikiText verwendet werden. Beispiel:\n\n```\n<article class=\"hello\">\nDies ist ein einfacher Block Text: Hallo! \n<!-- Dieser Kommentar wird in der Ausgabe nicht enthalten sein! -->\n</article>\n```\nDargestellt als: \n\n<article class=\"hello\">\nDies ist ein einfacher Block Text: Hallo! \n<!-- Dieser Kommentar wird in der Ausgabe nicht enthalten sein! -->\n</article>\n\n!! Attribute\n\nAttribute in HTML können als [[Transklusion]] oder als [[Makro]] eingebunden werden. Zum Beispiel, wird hier das `href` Attribut als Wert des Tiddlers \"MeinLinkZiel\" verwendet: \n\n```\n<a href={{MeinLinkZiel}}>link</a>\n```\n\nHier wird das Attribut über einen Makro Aufruf definiert:\n\n```\n<a href=<<MeinMakro \"Brian\">>>link</a>\n```\n\nText Attribute können Zeilenumbrüche enthalten. In der Ausgabe werden diese jedoch wie in HTML üblich ignoriert! Folgendes Beispiel erzeugt ein unsichtbares `html div element` das nur mit Entwickler Werkzeugen sichtbar ist. \n\n```\n<div data-address=\"Mouse House,\nMouse Lane,\nRodentville,\nRatland.\"/>\n```\n\nWenn Sie 3 doppelte Anführungszeichen am Beginn verwenden, dann kann der Text einfache Anführungszeichen enthalten.\n\n```\n<div data-address=\"\"\"Mouse House,\n\"Mouse\" Lane,\nRodentville,\nRatland.\"\"\"/>\n```\n\n!! HTML Code Verarbeitung\n\nDer Inhalt von HTML Elementen wird im \"Inline\" Modus verarbeitet. <br/>\nAußer, wenn auf das Eröffnungselement 2 Zeilenumbrüche folgen, dann ist der Block Modus aktiv.\n\n; Inline Modus \n: Es weden nur Zeichen Formatierungen wie: fett, hochgestellt usw. erkannt. Der Inhalt von Block Elementen, wie zB: Tabellen, Listen und Überschriften wird nicht korrekt übersetzt.\n"
  },
  {
    "path": "editions/de-AT/tiddlers/wikitext/Listen in WikiText.tid",
    "content": "caption: Listen\ncreated: 20131205160257619\ncreator: pmario\nmodified: 20140923173928536\nmodifier: pmario\ntags: WikiText\ntitle: Listen in WikiText\ntype: text/vnd.tiddlywiki\n\n!! Ungeordnete Listen\n\nUngeordnete Listen können mit dem Stern `*` erzeugt werden. Der `*` muss das erste Zeichen in der Zeile sein!\n\n<<wikitext-example src:\"* Erstes Listen Element\n* Zweites Listen Element\n** Ein Unterelement\n* Drittes Listen Element\n\">>\n\n! Geordnete Listen\n\nGeordnete Listen verwenden das \"Hash\" Zeichen: `#`\n\n# Erstes Element\n# Zweites Element\n# Drittes Element\n\nUngeordnete und geordnete Listen können gemischt werden:\n\n<<wikitext-example src:\"* Heute zu erledigen\n*# Essen\n* Arbeit abschieben :)\n*# Dieses und \n*# Jenes \n*## und das auch noch\n\">>\n\n! Listen und Zitate mischen\n\nHinweis: [[Zitate|Zitate in WikiText]] und Listen lassen sich hervorragend gemeinsam einsetzen: \n\n<<wikitext-example src:\"* Element Eins\n** Element Zwei\n**> Ein Zitat\n**> Noch ein Zitat\n* Element Drei\n\">>\n\n!! CSS Klassen\n\n''Für geübte Anwender!'' Sie können CSS Klassen direkt zuweisen:\n\n<<wikitext-example src:\"* Element Eins\n*.MyClass Element 2\n* Element 3\n\">>\n"
  },
  {
    "path": "editions/de-AT/tiddlers/wikitext/Makros in WikiText.tid",
    "content": "caption: Makros\ncreated: 20131205160746466\ncreator: pmario\nmodified: 20230307080132949\nmodifier: ChrisK\ntags: WikiText\ntitle: Makros in WikiText\ntype: text/vnd.tiddlywiki\n\n\\define meinErstesMakro(name:\"Bugs Bunny\",adresse:\"Rabbit Hole Hill\")\nHallo, Ich bin $name$ und lebe in $adresse$\n\\end\n\n\\define meinZweitesMakro(name:\"Mario\",adresse:\"dort\")\nHallo, Ich bin $name$ und würde gerne mal wieder nach $adresse$ fahren:)\n\\end\n\n!! Makros definieren\n\n!!! Für die Ungeduldigen\n\nMakros sind Text Bausteine, die an beliebiger Stelle aufgerufen / eingefügt werden können. Eine Makro Definition kann zum Beispiel so aussehen und ''muss'' am Anfang eines Tiddlers eingefügt werden:\n\n```\n\\define meinErstesMakro(name:\"Bugs Bunny\",adresse:\"Rabbit Hole Hill\")\nHallo, Ich bin $name$ und lebe in $adresse$\n\\end\n```\n\nDer Aufruf erfolgt mit:\n\n```\nEs erzeugt folgenden Text: ''<<meinErstesMakro>>''\n```\n\nEs erzeugt folgenden Text: ''<<meinErstesMakro>>''\n\n---\n\n!!! Was genau passiert hier?\n\nDie erste Zeile der Definition startet mit: `\\define` und enthält:\n\n* Den Makro Namen: `meinErstesMakro`\n* Die Parameter Namen: `name` und `adresse`\n* Die Standard Werte: `Bugs Bunny` und `Rabbit Hole Hill`\n\nParameter sollten immer sinnvolle Standard Werte haben, da es die Verwendung erleichtert. \n\nDie letzte Zeile des Makros ist `\\end` und markiert das Ende eines Makros :)\n\nDer Bereich zwischen `\\define` und `\\end` wird als Makro Code bezeichnet. In diesem Bereich können die Makro Parameter mit `$name$` bzw `$adresse$` als Platzhalter verwendet werden. \n\nWie im Beispiel ersichtlich: `Hallo, Ich bin $name$ und lebe in $adresse$`\n\n---\n!!! Einzeilige Makros\n\nFür einzeilige Makros kann die `\\end` Markierung entfallen!\n\n```\n\\define meinZweitesMakro(name:\"Bugs Bunny\") Hallo, Ich bin $name$\n```\n\n!!! Makro Regeln\n\n* Makro Definitionen müssen am Anfang des Tiddlers eingefügt werden.\n* Makros sind nur in dem Tiddler sichtbar der sie definiert.\n* Tiddler die mit Transklusion eingefügt werden können definierte Makros sehen, jedoch nicht selber mitbringen!\n\n!!! Globale Makros\n\n* Globale Makros können in Tiddlern definiert werden, die mit dem System Tag: [[$:/tags/Macro]] getaggt sind. Diese Makros sind in jedem Tiddler sichtbar.\n\n* [[JavaScript Macros]] sind global sichtbar und haben Zugriff auf die TW Kern Funktionen. \n\n* Makros können mit dem ImportVariablesWidget importiert werden. (Für geübte Anwender)\n\n!! Makros verwenden\n\n```\n<<meinErstesMakro>>\n<<meinErstesMakro \"Donald Duck\">>\n<<meinErstesMakro \"Mickey Mouse\" \"Mouse House\">>\n```\n\nDargestellt als:\n\n<<<\n<<meinErstesMakro>>\n<<meinErstesMakro \"Donald Duck\">>\n<<meinErstesMakro \"Mickey Mouse\" \"Mouse House\">>\n<<<\n\nWie wir sehen können, werden die Parameter in der Reihenfolge übernommen, in der sie definiert wurden: `name`, `adresse`. Da Makros jedoch viele Parameter haben können und es passieren kann, dass wir nur den Zweiten ändern möchten können Parameter auch benannt übergeben werden.\n\n```\n<<meinZweitesMakro adresse:\"Dufftown\">>\n```\n\n<<meinZweitesMakro adresse:\"Dufftown\">>\n\n\n!! Mehrzeilige Parameter beim Aufruf\n\nMakros können mit mehrzeiligen Parametern aufgerufen werden, wenn sie in Anführungsstriche gesetzt werden:\n\n```\n<<meinErstesMakro \"Mickey Mouse\" \"Mouse House,\nMouse Lane,\nRodentville,\nRatland.\">>\n```\n\nWenn Sie 3 doppelte Anführungszeichen verwenden, dann können die Parameter einfache Anführungszeichen enthalten:\n\n```\n<<meinErstesMakro \"Mickey Mouse\" \"\"\"Mouse House,\n\"Mouse\" Lane,\nRodentville,\nRatland.\"\"\">>\n```\n\n"
  },
  {
    "path": "editions/de-AT/tiddlers/wikitext/Stil und CSS Klassen in WikiText.tid",
    "content": "caption: Stil und Klassen\ncreated: 20131205160532119\ncreator: pmario\nmodified: 20140913194353656\nmodifier: pmario\ntags: WikiText\ntitle: Stil und CSS Klassen in WikiText\ntype: text/vnd.tiddlywiki\n\n''Nur für geübte Anwender!'' Sie können folgende Konstruktion verwenden um verschiedenen Elementen direkt CSS Klassen zuzuweisen.\n\n<<wikitext-example src:\"@@.myStyle\n* Listen Element Eins\n* Listen Element Zwei\n@@\n\">>\n\nEine ähnliche Syntax wird verwendet, um das \"style\" Attribut direkt zu definieren:\n\n<<wikitext-example src:\"@@background-color:red;\n* Listen Element Eins\n* Listen Element Zwei\n@@\n\">>\n\nMehrere Stile und Klassen gleichzeitig angewendet:\n\n<<wikitext-example src:\"@@.tc-tiddler-frame\n@@width:400px;\nTest Text, Test Text, \n@@\n\">>\n"
  },
  {
    "path": "editions/de-AT/tiddlers/wikitext/Tabellen in WikiText.tid",
    "content": "caption: Tabellen\ncreated: 20130914132100000\ncreator: pmario\nmodified: 20140922130746459\nmodifier: ChrisK\ntags: WikiText\ntitle: Tabellen in WikiText\ntype: text/vnd.tiddlywiki\n\n!! Basis Info\n\nTiddlyWiki formatiert Tabellen mit dem \"Pipe\" `|` Zeichen:\n\n```\n|Zelle 1 |Zelle 2|h\n|Zelle 2 |Zelle 4|\n\n|Zelle 1 |!Zelle 2|\n|Zelle 2 |Zelle 4|\n```\n\nDer `h` Parameter nach der ersten Zeile definiert die Reihe als Kopfzeile.\nAlternativ können einzelne Zellen mit einem Rufzeichen `!` hervorgehoben werden.\n\n|Zelle 1 |Zelle 2|h\n|Zelle 2 |Zelle 4|\n\n|Zelle 1 |!Zelle 2|\n|Zelle 2 |Zelle 4|\n\n!! Horizontale Ausrichtung der Zellen\n\nDie Zellausrichtung kann mit Leerzeichen vor oder nach dem \"Pipe\" Zeichen definiert werden: \n\n```\n|Text ist links ausgerichtet |\n| Text wird rechts ausgerichtet|\n| Text ist zentriert |\n|+++ Ein etwas längerer Text, damit die Ausrichtung besser sichtbar wird.+++|\n```\n\nDargestellt als:\n\n|Text ist links ausgerichtet |\n| Text wird rechts ausgerichtet|\n| Text ist zentriert |\n|+++ Ein etwas längerer Text, damit die Ausrichtung sichtbar wird.+++|\n\n!! Vertikale Ausrichtung\n\nDie vertikale Ausrichtung kann mit `^` für oben und `,` für unten als erstes Zeichen in der Zelle festgelegt werden:\nEine horizontale Ausrichtung ist zusätzlich möglich.\n\n```\n|^oben links |^ oben mitte |^ oben rechts|\n|mitte links | mittig | mitte rechts|\n|,unten links |, unten mitte |, unten rechts|\n```\n\nDargestellt als (der \"Rahmen\" ist nötig, um die Ausrichtung mit wenig Text sichtbar zu machen):\n\n| :: | ::::::::::::::::::::::::::: | ::::::::::::::::::::::::::: | ::::::::::::::::::::::::::: | :: |\n| ::<br>:: |^oben links |^ oben mitte |^ oben rechts| ::<br>:: |\n| ::<br>:: |mitte links | mittig | mitte rechts| ::<br>:: |\n| ::<br>:: |,unten links |, unten mitte |, unten rechts| ::<br>:: |\n| :: | ::::::::::::::::::::::::::: | ::::::::::::::::::::::::::: | ::::::::::::::::::::::::::: | :: |\n\nWenn Sie die Zeichen `^` und `,` als erste Zeichen benötigen, dann können Sie \"HTML escaping\" verwenden.\n\n| `^` | &amp;#94; |\n| `,` | &amp;#44; |\n\n!! Zellen zusammenfügen\n\nMit `~`, `<` und `>` können Zellen zusammengefügt werden.\n\n* Um eine Zelle mit der darüber liegenden zu vereinen verwenden sie: `~` \n* Um eine Zelle mit der links liegenden zu vereinen verwenden sie: `<`\n* Um eine Zelle mit der rechts liegenden zu vereinen verwenden sie: `>`\n\n```\n|Zelle 1 |Zelle 2 |Zelle  3|Zelle  4|\n|Zelle 5|Zelle 6| Zelle 7 |<|\n|Zelle 8|~|Zelle  9|Zelle 10|\n|>| Zelle 11 |Zelle 12|Zelle 13|\n```\n\nDargestellt als:\n\n|Zelle 1 |Zelle 2 |Zelle  3|Zelle  4|\n|Zelle 5|Zelle 6| Zelle 7 |<|\n|Zelle 8|~|Zelle  9|Zelle 10|\n|>| Zelle 11 |Zelle 12|Zelle 13|\n\n!! Tabellen Klassen, Beschriftung, Kopfzeile und Fußzeile\n\nTabellen CSS Klassen, Beschriftung, Kopfzeile und Fußzeile können als \"Pseudo Zeilen\" dargestellt werden. Die Position der Zeilen ist dabei nicht wichtig:\n\n```\n|meineKlasse anderKlasse|k\n| Das die Tabellen Beschriftung |c\n|--- Kopfzeile ---|--- Kopfzeile ---|h\n|Zelle 1|Zelle 2|\n| Zelle 3 | Zelle 4|\n|Fußzeile|Fußzeile|f\n```\n\nDargestellt als:\n\n|meineKlasse anderKlasse|k\n| Das die Tabellen Beschriftung |c\n|--- Kopfzeile ---|--- Kopfzeile ---|h\n|Zelle 1|Zelle 2|\n| Zelle 3 | Zelle 4|\n|Fußzeile|Fußzeile|f\n"
  },
  {
    "path": "editions/de-AT/tiddlers/wikitext/Transclusion in WikiText.tid",
    "content": "created: 20230307081757660\nmodified: 20230307081814992\ntags: WikiText\ntitle: Transclusion in WikiText\ntype: text/vnd.tiddlywiki\n\nhttps://tiddlywiki.com/#Transclusion%20in%20WikiText"
  },
  {
    "path": "editions/de-AT/tiddlers/wikitext/Transklusion in WikiText.tid",
    "content": "caption: Transklusion\ncreated: 20131205160146648\ncreator: pmario\nmodified: 20140923191923647\nmodifier: pmario\ntags: WikiText\ntitle: Transklusion in WikiText\ntype: text/vnd.tiddlywiki\n\nSie können mit dem [[Transklusions Mechanismus|Transklusion]] den Inhalt eines Tiddlers in einen anderen Tiddler einbinden:\n\n* `{{MeinTiddler}}` transkludiert einen einzelnen Tiddler.\n* `{{MeinTiddler||VorlageTitel}}` zeigt den Tiddler mit Hilfe eines [[VorlagenTiddlers]] an.\n* `{{||VorlageTitel}}` benutzt einen Vorlagen Tiddler, ohne die interne Variable \"[[current tiddler|WidgetVariable: currentTiddler]]\" zu verändern.\n\nStatt den Tiddler Titel direkt anzugeben kann eine sogenannte TextReferenz verwendet werden:\n\n* `{{MeinTiddler!!feldName}}` transkludiert den Inhalt eines Tiddler Feldes.\n* `{{!!feldName}}` transkludiert das Feld des Tiddlers, der in der \"current tiddler\" Variable definiert ist.\n* `{{MyTiddler##index}}` transkludiert ein spezifisches Feld aus einem so genannten: DataTiddlers\n* `{{##index}}` transkludiert das angegebene Feld des \"current DataTiddlers\"\n\nEine ähnliche Syntax kann verwendet werden, um eine Liste von Tiddlern mit einem Filter einzubinden:\n\n```\n{{{ [tag[tagName]] }}}\n{{{ [tag[tagName]] ||VorlageTitel}}}\n```\n\n!! Beispiel Transklusion\n\n<<list-links filter:\"[tag[Transklusion in WikiText]]\">>"
  },
  {
    "path": "editions/de-AT/tiddlers/wikitext/Trennlinie in WikiText.tid",
    "content": "caption: Trennlinie\ncreated: 20131205160706975\ncreator: pmario\nmodified: 20140913121200274\nmodifier: pmario\ntags: WikiText\ntitle: Trennlinie in WikiText\ntype: text/vnd.tiddlywiki\n\nEine horizontale Trennlinie kann mit 3 minus Zeichen erstellt werden und sollte sparsam eingesetzt werden:\n\n<<wikitext-example src:\"\n---\n\">>\n"
  },
  {
    "path": "editions/de-AT/tiddlers/wikitext/Typisierte Blocke in WikiText.tid",
    "content": "caption: Typisierte Blöcke\ncreated: 20131205161051792\ncreator: pmario\nmodified: 20140922131933001\nmodifier: ChrisK\ntags: WikiText\ntitle: Typisierte Blöcke in WikiText\ntype: text/vnd.tiddlywiki\n\nWikiText kann Textblöcke direkt darstellen, wenn ihr Inhalts-Typ ([[MIME-Type]]) bekannt ist:\n\n```\n$$$image/svg+xml\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"150\" height=\"100\">\n  <circle cx=\"100\" cy=\"50\" r=\"40\" stroke=\"black\" stroke-width=\"2\" fill=\"green\" />\n</svg>\n$$$\n```\n\nDargestellt als:\n\n$$$image/svg+xml\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"150\" height=\"100\">\n  <circle cx=\"100\" cy=\"50\" r=\"40\" stroke=\"black\" stroke-width=\"2\" fill=\"green\" />\n</svg>\n$$$\n\nEs ist ebenfalls möglich, den Type über die Datei Erweiterung zu definieren:\n\n```\n$$$.svg\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"150\" height=\"100\">\n  <circle cx=\"100\" cy=\"50\" r=\"40\" stroke=\"black\" stroke-width=\"2\" fill=\"red\" />\n</svg>\n$$$\n```\n\nDargestellt als:\n\n$$$.svg\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"150\" height=\"100\">\n  <circle cx=\"100\" cy=\"50\" r=\"40\" stroke=\"black\" stroke-width=\"2\" fill=\"red\" />\n</svg>\n$$$\n\nUnbekannte Typen werden als Text dargestellt:\n\n```\n$$$text/unknown\nEinfacher Text, der nicht //formatiert// wird.\n$$$\n```\n\nDargestellt als:\n\n$$$text/unknown\nEinfacher Text, der nicht //formatiert// wird.\n$$$\n\nZudem kann auch der auszugebende \"Ziel-Typ\" festgelegt werden. zB:\n\n```\n1)\n\n$$$text/vnd.tiddlywiki>text/html\nHier steht ''fett formatierter'' WikiText.\n$$$\n\n2)\n\n$$$text/vnd.tiddlywiki>text/plain\nHier steht ''fett formatierter'' WikiText.\n$$$\n\n3)\n\n$$$text/vnd.tiddlywiki\nHier steht ''fett formatierter'' WikiText.\n$$$\n```\n\nDargestellt als:\n\n1)\n\n$$$text/vnd.tiddlywiki>text/html\nHier steht ''fett formatierter'' WikiText.\n$$$\n\n2)\n\n$$$text/vnd.tiddlywiki>text/plain\nHier steht ''fett formatierter'' WikiText.\n$$$\n\n3)\n\n$$$text/vnd.tiddlywiki\nHier steht ''fett formatierter'' WikiText.\n$$$\n"
  },
  {
    "path": "editions/de-AT/tiddlers/wikitext/Uberschriften in WikiText.tid",
    "content": "caption: Überschriften\ncreated: 20131205161234909\ncreator: pmario\nmodified: 20140913121017112\nmodifier: pmario\ntags: WikiText\ntitle: Überschriften in WikiText\ntype: text/vnd.tiddlywiki\n\nÜberschriften werden mit Ausrufezeichen `!` spezifiziert. Es sind bis zu 6 Ebenen möglich:\n\n```\n! Überschrift Ebene 1\n\n!! Überschrift Ebene 2\n\n!!! Überschrift Ebene 3\n```\n\n! Überschrift Ebene 1\n\n!! Überschrift Ebene 2\n\n!!! Überschrift Ebene 3\n\n---\n\nCSS Klassen können in Ausnahmefällen von geübten Benutzern direkt angegeben werden:\n\n```\n!.myStyle Diese Überschrift wird die HTML Klasse class=\"myStyle\" bekommen.\n```\n"
  },
  {
    "path": "editions/de-AT/tiddlers/wikitext/Verknupfungen in WikiText.tid",
    "content": "caption: Verknüpfungen\ncreated: 20131205155230596\ncreator: pmario\nmodified: 20140922132221424\nmodifier: ChrisK\ntags: WikiText Hyperlinks\ntitle: Verknüpfungen in WikiText\ntype: text/vnd.tiddlywiki\n\nEine Schlüssel Fähigkeit von WikiText ist die einfache Möglichkeit, Verknüpfungen zu anderen Tiddlern oder externen Seiten herzustellen. \n\n!! Manuelle Verknüpfungen\n\n<table><tbody>\n<tr class=\"evenRow\">\n  <td>`[[Tiddler Titel]]`</td>\n  <td>[[Tiddler Titel]]</td>\n  <td>Verknüpfung zu einem Tiddler mit dem Titel</td>\n</tr>\n<tr class=\"oddRow\">\n  <td>`[[Angezeigter Link Text|Tiddler Titel]]`</td>\n  <td>[[Angezeigter Link Text|Tiddler Titel]]</td>\n  <td>Verknüpfung zu einem Tiddler und Festlegen des angezeigten Textes.</td>\n</tr>\n</tbody></table>\n\n!! ~CamelCase Verknüpfungen\n\nFür Tiddler, für die die \"Camel Case\" Richtlinien gelten, ist es nicht nötig, die \"doppelten eckigen Klammen\" zu verwenden. \"Camel Case\" Verknüpfungen werden automatisch erstellt. \n\n```\n* HelloThere ist eine Verknüpfung\n* http://google.com/ ist eine Verknüpfung\"\n```\nDargestellt als: \n\n* HelloThere ist eine Verknüpfung\n* http://google.com/ ist eine Verknüpfung\"\n\n---\n\nDiese Regel kann mit einem Tilde `~` Zeichen unterdrückt werden. (Bei manchen Tastatur Einstellungen muss die Taste 2 mal gedrückt werden) Beispiele:\n\n```\n* ~HelloThere ist keine Verknüpfung\n* ~http://google.com/ ist keine Verknüpfung\"\n```\n\nDargestellt als: \n\n* ~HelloThere ist keine Verknüpfung\n* ~http://google.com/ ist keine Verknüpfung\"\n\n!! Externe Verknüpfungen\n\nUm zu externen Seiten zu verknüpfen muss die volle URL verwendet werden:\n\n```\n* https://tiddlywiki.com/\n* [[TW5|https://tiddlywiki.com/]]\n```\n\nDargestellt als: \n\n* https://tiddlywiki.com/\n* [[TW5|https://tiddlywiki.com/]]\n\nDie automatische Erkennung von externen Verknüpfungen hat einige Schwächen. Deshalb ist es möglich eine externe Verknüpfung zu definieren: \n\n```\n[ext[tiddlywiki.com]]\n[ext[caption for link|tiddlywiki.com]]\n[ext[Donate|bitcoin:1aabbdd....?amount=0.001]]\n```\n* [ext[tiddlywiki.com]]\n* [ext[caption for link|tiddlywiki.com]]\n* [ext[Donate|bitcoin:1aabbdd....?amount=0.001]]\n\n!! Anpassen von \"Tiddler Links\"\n\nSiehe LinkWidget für eine genauere Beschreibung. Dieser Link zeigt auf die englische Dokumentation!\n\n"
  },
  {
    "path": "editions/de-AT/tiddlers/wikitext/Widgets in WikiText.tid",
    "content": "caption: Widgets\ncreated: 20131205160840915\ncreator: pmario\nmodified: 20140921170719673\nmodifier: pmario\ntags: WikiText\ntitle: Widgets in WikiText\ntype: text/vnd.tiddlywiki\n\nWidgets sind die Grundbausteine von ~TiddlyWiki. Sie haben ein sehr ähnliche Syntax wie [[HTML Elemente|HTML in WikiText]] aber ihre \"Tag Namen\" beginnen immer mit einem `$`. zB:\n\n```\n<$button message=\"tm-close-tiddler\">Schließe mich!</$button>\n```\n\n<$button message=\"tm-close-tiddler\">Schließe mich!</$button> .. Wird diesen Tiddler schließen :)\n\nWidgets erben alle Funktionalitäten von [[HTML in WikiText]]:\n\n* Widget Attribute können spezifiziert werden als:\n** Zeichenkette ohne Anführungszeichen. Attribute können dann keine Leerzeichen enthalten. \n** Zeichenkette mit einfachen oder doppelten Anführungszeichen. Leerzeichen sind möglich.\n** Zeichenkette mit 3 x doppelten Anführungszeichen. Leerzeichen und 1 doppeltes Anführungszeichen sind möglich.\n** Makro Aufruf zB: `attr=<<meinMakro>>`\n** Transklusionen zB: `attr={{MeinTiddler!!feld}}` \n* Der Inhalt eines Widgets wird im \"Inline Modus\" verarbeitet, außer dem EröffnungsTag folgen 2 Zeilenumbrüche, welches den \"Block Modus\" erzwingt.\n** \"Inline Modus\" .. ist für Zeichen Formatierungen wie `''fett''` und `//kursiv//` zuständig.\n** \"Block Modus\" .. ist für Block Elemente wie: `! Überschriften` und `* Listen` zuständig.\n\nSiehe auch: [[HTML in WikiText]] für mehr Informationen.\n\nAlle möglichen Widgets werden auf der TiddlyWiki Seite aufgelistet: [ext[https://tiddlywiki.com/#Widgets in WikiText]]\n"
  },
  {
    "path": "editions/de-AT/tiddlers/wikitext/WikiText.tid",
    "content": "created: 20131205155227468\ncreator: pmario\nlist: [[Formatierungen in WikiText]] [[Überschriften in WikiText]] [[Listen in WikiText]] [[Zitate in WikiText]] [[Verknüpfungen in WikiText]] [[Trennlinie in WikiText]] [[Paragraphs in WikiText]] [[Bilder in WikiText]] [[Code Block in WikiText]] [[Definitionen in WikiText]] [[Tabellen in WikiText]] [[Zeilenumbruch in WikiText]] [[Typisierte Blöcke in WikiText]]\nmodified: 20140922132638761\nmodifier: ChrisK\ntags: Konzept Referenz InhaltsVerzeichnis\ntitle: WikiText\ntype: text/vnd.tiddlywiki\n\n~WikiText ist eine Auszeichnungssprache, die es erlaubt, auf einfache Weise Texte und ihre Formatierung in Textform einzugeben. Das erlaubt es Ihnen, sich auf das Schreiben zu konzentrieren und nicht auf eine komplexe Oberfläche, die vom Wesentlichen ablenkt. Für Anwender, die bereits MarkDown kennen, sollte es relativ leicht sein, sich in ~WikiText einzuarbeiten. WikiText bietet mehr Möglichkeiten zum Verlinken und zur Erstellung von interaktiven Inhalten. \n\nDie folgenden Elemente sind im TW Kern enthalten:\n\n<<list-links \"[tag[WikiText]]\">>\n"
  },
  {
    "path": "editions/de-AT/tiddlers/wikitext/Zeilenumbruch in WikiText.tid",
    "content": "caption: Zeilenumbruch\ncreated: 20131214165710101\ncreator: pmario\nmodified: 20140922133054642\nmodifier: ChrisK\ntags: WikiText\ntitle: Zeilenumbruch in WikiText\ntype: text/vnd.tiddlywiki\n\n!! Block Syntax\nDie übliche Behandlung von [[Absätzen in WikiText|Absatz in WikiText]] ignoriert einzelne Zeilenumbrüche. Zwei Zeilenumbrüche werden als neuer Absatz interpretiert. \n\nUm trotzdem Texte mit \"hartem\" Zeilenumbruch darstellen zu können, zum Beispiel: \"Gedichte\", kann folgende Formatierung verwendet werden:\n\n<<wikitext-example src:'\"\"\"\nLoch in die Erde,\nBronze rin.\nGlocke fertig,\nbim, bim, bim.\n\"\"\"'>>\n\n!! HTML Syntax\n\nIn normalem Fließtext sollten keine zusätzlichen \"harten\" Zeilenumbrüche eingefügt werden, da diese bei unterschiedlichen Anzeigen zB: Handy's falsch dargestellt werden. \n\nIn Ausnahmefällen sollte es jedoch möglich sein, einen \"harten\" Zeilenumbruch zu setzen. Dafür kann der HTML `<br>` \"tag\" verwendet werden. \n\n```\nErste Zeile <br/>\nZweite Zeile\n```\n\nDargestellt als: \n\nErste Zeile <br/>\nZweite Zeile\n\nHTML Code: \n\n```\n<p>Erste Zeile <br/>Zweite Zeile</p>\n```\n"
  },
  {
    "path": "editions/de-AT/tiddlers/wikitext/Zitate in WikiText.tid",
    "content": "caption: Zitate\ncreated: 20131206154636572\ncreator: pmario\nmodified: 20140921170704585\nmodifier: pmario\ntags: WikiText\ntitle: Zitate in WikiText\ntype: text/vnd.tiddlywiki\n\nEs gibt zwei Möglichkeiten um Zitate zu erstellen. Eine, die mehrere Zeilen Text einfasst und eine, für einzelne Zeilen.\n\n! Mehrzeilige Zitate\n\n!! Einfaches Zitat\n\nDie Syntax für Zitate, die mehrere Zeilen einfasst ist wie folgt:\n\n<<wikitext-example src:\"<<<\nDas ist ein Absatz mit mehreren Zeilen im Quelltext.\nDas Ergebnis wird zusammenhängend dargestellt.\n<<<\n\">>\n\n!! Zitat mit Autor\n\nWenn Sie den Autor anführen möchten, dann schreiben Sie wie folgt:\n\n<<wikitext-example src:\"<<<\nComputers are like a bicycle for our minds\n<<< Steve Jobs\n\">>\n\n! Einzeilige Zitate\n\nEin einzeiliger Zitat Block ist eine Erweiterung der Syntax für [[Listen in WikiText]]. Zum Beispiel:\n\n<<wikitext-example src:\"> Einzeiliges Zitat 1\n> Einzeiliges Zitat 2\n\">>\n\nZitate können \"verschachtelt\" werden:\n\n```\n> Zitat 1\n>> Zitat 1.1\n> Zitat 2\n```\n\nDargestellt als: \n\n> Zitat 1\n>> Zitat 1.1\n> Zitat 2\n\nSie können Zitate mit Listenelementen mischen. zB:\n\n<<wikitext-example src:\"* Liste Eins\n** Liste Zwei\n**> Ein Zitat\n**> Ein weiteres Zitat\n* Liste Drei\n\">>\n\n!! CSS Klassen\n\n[[CSS Klassen]], um eine Formatierung direkt zu ändern, können in ''Ausnahmefällen'' direkt angegeben werden. Diese Option ist nur für geübte Benutzer gedacht. \n\n<<wikitext-example src:\"<<<.myClass.another-class\nOperating systems are like a brick wall for our minds\n<<< Nobody\n\">>\n"
  },
  {
    "path": "editions/de-AT/tiddlywiki.info",
    "content": "{\n\t\"description\": \"Deutsch (Österreich) Edition\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/browser-sniff\"],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\",\n\t\t\"tiddlywiki/starlight\",\n\t\t\"tiddlywiki/seamless\",\n\t\t\"tiddlywiki/centralised\",\n\t\t\"tiddlywiki/tight\",\n\t\t\"tiddlywiki/readonly\",\n\t\t\"tiddlywiki/internals\"\n\t],\n\t\"languages\": [\n\t\t\"de-AT\",\n\t\t\"de-DE\"\n\t],\n\t\"build\": {\n\t\t\"index\": [\n\t\t\t\"--rendertiddler\",\"$:/core/save/all\",\"index.html\",\"text/plain\"],\n\t\t\"empty\": [\n\t\t\t\"--rendertiddler\",\"$:/editions/de-AT-DE/download-empty\",\"empty.html\",\"text/plain\"],\n\t\t\"favicon\": [\n\t\t\t\"--savetiddler\",\"$:/favicon.ico\",\"favicon.ico\"],\n\t\t\"static\": [\n\t\t\t\"--rendertiddler\",\"$:/core/templates/static.template.html\",\"static.html\",\"text/plain\",\n\t\t\t\"--rendertiddler\",\"$:/core/templates/alltiddlers.template.html\",\"alltiddlers.html\",\"text/plain\",\n\t\t\t\"--rendertiddlers\",\"[!is[system]]\",\"$:/core/templates/static.tiddler.html\",\"static\",\"text/plain\",\n\t\t\t\"--rendertiddler\",\"$:/core/templates/static.template.css\",\"static/static.css\",\"text/plain\"]\n\t}\n}\n"
  },
  {
    "path": "editions/de-AT-server/tiddlers/system/favicon.png.meta",
    "content": "title: $:/favicon.ico\ntype: image/png\n"
  },
  {
    "path": "editions/de-AT-server/tiddlywiki.info",
    "content": "{\n\t\"description\": \"Server configuration of the German (Österreich) edition\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/tiddlyweb\",\n\t\t\"tiddlywiki/filesystem\",\n\t\t\"tiddlywiki/highlight\",\n\t\t\"tiddlywiki/internals\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\"\n\t],\n\t\"languages\": [\n\t\t\"de-AT\",\n\t\t\"de-DE\"\n\t],\n\t\"includeWikis\": [\n\t\t\"../de-AT\"\n\t],\n\t\"config\": {\n\t\t\"default-tiddler-location\": \"../de-AT/tiddlers\"\n\t}\n}\n"
  },
  {
    "path": "editions/de-DE/tiddlers/system/$__StaticBanner.tid",
    "content": "title: $:/StaticBanner\n\n<div class=\"tc-static-alert\"><div class=\"tc-static-alert-inner\">Diese Seite ist Teil der \"reinen\" HTML Version von ~TiddlyWiki auf https://tiddlywiki.com/languages/de-DE</div></div>\n"
  },
  {
    "path": "editions/de-DE/tiddlers/system/$__language.tid",
    "content": "created: 20140908134120325\nmodified: 20140918073707524\nmodifier: pmario\ntitle: $:/language\ntype: text/vnd.tiddlywiki\n\n$:/languages/de-DE"
  },
  {
    "path": "editions/de-DE/tiddlywiki.info",
    "content": "{\n\t\"description\": \"Deutsche Basis Edition\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/browser-sniff\",\n\t\t\"tiddlywiki/internals\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\",\n\t\t\"tiddlywiki/starlight\",\n\t\t\"tiddlywiki/seamless\",\n\t\t\"tiddlywiki/centralised\",\n\t\t\"tiddlywiki/tight\",\n\t\t\"tiddlywiki/readonly\"\n\t],\n\t\"languages\": [\n\t\t\"de-AT\",\n\t\t\"de-DE\"\n\t],\n\t\"includeWikis\": [\n\t\t\"../de-AT\"\n\t],\n\t\"build\": {\n\t\t\"index\": [\n\t\t\t\"--rendertiddler\",\"$:/core/save/all\",\"index.html\",\"text/plain\"],\n\t\t\"empty\": [\n\t\t\t\"--rendertiddler\",\"$:/editions/de-AT-DE/download-empty\",\"empty.html\",\"text/plain\"],\n\t\t\"favicon\": [\n\t\t\t\"--savetiddler\",\"$:/favicon.ico\",\"favicon.ico\"],\n\t\t\"static\": [\n\t\t\t\"--rendertiddler\",\"$:/core/templates/static.template.html\",\"static.html\",\"text/plain\",\n\t\t\t\"--rendertiddler\",\"$:/core/templates/alltiddlers.template.html\",\"alltiddlers.html\",\"text/plain\",\n\t\t\t\"--rendertiddlers\",\"[!is[system]]\",\"$:/core/templates/static.tiddler.html\",\"static\",\"text/plain\",\n\t\t\t\"--rendertiddler\",\"$:/core/templates/static.template.css\",\"static/static.css\",\"text/plain\"]\n\t}\n}\n"
  },
  {
    "path": "editions/dev/tiddlers/$__github-ribbon.tid",
    "content": "code-body: yes\ncreated: 20241205094051389\nmodified: 20241205094051389\ntags: $:/tags/PageTemplate\ntitle: $:/github-ribbon\ntype: text/vnd.tiddlywiki\n\n\\whitespace trim\n<$transclude $tiddler=\"$:/plugins/tiddlywiki/github-fork-ribbon/template\" top=\"30px\" fixed=fixed color=\"green\"/>"
  },
  {
    "path": "editions/dev/tiddlers/Continuous Deployment.tid",
    "content": "created: 20190115173727727\nmodified: 20200828094535533\ntitle: Continuous Deployment\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki 5 uses [[GitHub Actions|https://docs.github.com/en/actions]] for continuous deployment. It is driven by the workflow file `.github/workflows/ci.yml` in the repo, along with the scripts in the `bin` folder that it invokes.\n\nThe build history can be seen at https://github.com/TiddlyWiki/TiddlyWiki5/actions\n"
  },
  {
    "path": "editions/dev/tiddlers/GitHub Branches.tid",
    "content": "created: 20190115173458112\nmodified: 20190115173645658\ntitle: GitHub Branches\ntype: text/vnd.tiddlywiki\n\nDevelopment of TiddlyWiki 5 in the GitHub repo at https://github.com/TiddlyWiki/TiddlyWiki5  uses two branches:\n\n* `master` contains the latest version of the code, and is deployed to https://tiddlywiki.com/prerelease\n* `tiddlywiki-com` contains the latest version of the documentation, and is deployed to https://tiddlywiki.com/, built by the latest released version of TiddlyWiki\n\nWhen preparing pull requests it is important to target the correct branch.\n"
  },
  {
    "path": "editions/dev/tiddlers/HelloThere.tid",
    "content": "created: 20190115173333457\nmodified: 20221029175754753\ntags: TableOfContents\ntitle: HelloThere\ntype: text/vnd.tiddlywiki\n\nWelcome to the developer documentation for TiddlyWiki (https://tiddlywiki.com/). It is currently a work in progress as material from two different sources is adapted and merged in addition to original content being added:\n\n* An assignment by Christian Jurke and Christian Heigele, two students working on their Master's degree in Information Technology at the Gießen University of Applied Sciences (Technische Hochschule Mittelhessen). Their work can be seen in the [[Introduction]] and the tiddlers that link from it.\n* New developer documentation\n** [[Data Storage in Single File TiddlyWiki]]\n** [[Continuous Deployment]]\n** [[GitHub Branches]]\n** HookMechanism\n** [[Using ES2016 for Writing Plugins]]\n** [[Adding Babel Polyfill to TiddlyWiki]]\n** [[TiddlyWiki Drag and Drop Interoperability]]\n** [[Javascript Widget Tutorial]]\n** [[Using TiddlyWiki as a library in another Node.js application]]\n* The original developer documentation from https://tiddlywiki.com:\n** [[TiddlyWiki for Developers]]\n** [[TiddlyWiki Coding Style Guidelines]]\n** [[TiddlyWiki Architecture]]\n** [[TiddlyWiki5 Development Environment]]\n** [[Developing plugins using Node.js and GitHub]]\n** [[How to create a translation for TiddlyWiki]]\n** [[JavaScript Macros]]\n** [[TiddlyWiki on NW.js]]\n** [[package.json for NW.js]]\n** [[How to create plugins in the browser]]\n** [[Contributing to the TiddlyWiki Core]]\n** [[Contributing to the TiddlyWiki Plugin Library]]\n** [[Scripts for building tiddlywiki.com]]\n** SyncAdaptorModules\n** WidgetModules\n** WikiRuleModules\n"
  },
  {
    "path": "editions/dev/tiddlers/How to Create a Custom Cascade Entry.tid",
    "content": "created: 20240802065815656\nmodified: 20240802065836064\ntitle: How to Create a Custom Cascade Entry\ntype: text/vnd.tiddlywiki\n\nThis guide explains how to add a new [[cascade|https://tiddlywiki.com/#Cascades]] to the ~TiddlyWiki core or your own plugins. This allows third-party plugins to extend the functionality of the core or your plugin.\n\n!! How Cascade Works in the Core\n\nThis section explains how the existing WikiText in the core interacts with the new WikiText you’ll add, only for learning purpose. You don’t need to modify the core WikiText when adding a new cascade.\n\n!!! The Default Template as a Fallback\n\nThe default behavior in ~TiddlyWiki is defined by [[$:/core/ui/ViewTemplate/tags/default]].\n\n<pre>\n<$view tiddler=\"$:/core\" subtiddler=\"$:/core/ui/ViewTemplate/tags/default\" mode=block format=text/>\n</pre>\n\n!!! Transclusion of the Active Template\n\n[[$:/core/ui/ViewTemplate/tags]] uses a filter expression to find the cascade filter and the view template you’ll add.\n\n<pre>\n<$view tiddler=\"$:/core\" subtiddler=\"$:/core/ui/ViewTemplate/tags\" mode=block format=text/>\n</pre>\n\nThe `:cascade` clause collects all tiddlers it finds and uses their filter text sequentially. Most filters won’t return any text and will be skipped. The first filter that returns a tiddler title becomes the result of the `:cascade` clause. If no filters return a result, the fallback default filter will be used.\n\nThe `:and[!is[blank]else` clause provides additional fallback protection, though it’s often redundant because a fallback is typically tagged with `$:/tags/ViewTemplateTagsFilter`. However, including fallbacks is a good practice for defensive programming.\n\n!! Adding a New Cascade Entry\n\nThis section contains the WikiText you’ll need to add to the core. Modify it to suit your needs instead of copying it directly.\n\n!!! Creating a Control Panel Tab\n\nTo create a new tab under [[ControlPanel|$:/ControlPanel]] → Advanced → [[Cascade|$:/core/ui/ControlPanel/Cascades]], use the following code:\n\n[[$:/core/ui/ControlPanel/ViewTemplateTags]] uses a filter expression to find the cascade filter and the view template you’ll add.\n\n<pre>\n<$view tiddler=\"$:/core\" subtiddler=\"$:/core/ui/ControlPanel/ViewTemplateTags\" mode=block format=text/>\n</pre>\n\nAdd the following metadata:\n\n```tid\ntags: $:/tags/ControlPanel/Cascades\ncaption: {{$:/language/ControlPanel/ViewTemplateTags/Caption}}\n```\n\n!!! Adding a New Language Entry\n\nIt’s important to add related language files. Create a file starting with `title: $:/language/ControlPanel/`:\n\n```multid\ntitle: $:/language/ControlPanel/\n\nViewTemplateTags/Caption: View Template Tags\nViewTemplateTags/Hint: This rule cascade is used by the default view template to dynamically choose the template for displaying the tags area of a tiddler.\n```\n\n!!! Adding Default Configuration\n\nSimilar to the language file, add a config file starting with `title: $:/config/ViewTemplateTagsFilters/`. For example:\n\n```tid\ntitle: $:/config/ViewTemplateTagsFilters/\ntags: $:/tags/ViewTemplateTagsFilter\n\ndefault: [[$:/core/ui/ViewTemplate/tags/default]]\n```\n\nDifferent templates may have their own config files. Ensure you’re adding to the correct file or creating a new one if it doesn’t exist.\n\n!! Using the New Cascade\n\nThis section provides a simplified example based on a real-world use case. It demonstrates how to override the default template with a custom template.\n\n!!! Your Template\n\nAdd the content you want to display conditionally. Update `publisher/plugin-name` to your plugin’s name.\n\n```tid\ncode-body: yes\ntitle: $:/plugins/publisher/plugin-name/EditMode\n\n\\whitespace trim\n<$reveal type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" tag=\"div\" retain=\"yes\" animate=\"yes\">\n  <div class=\"tc-tags-wrapper\" style=\"display:flex\">\n    <$transclude tiddler=\"$:/core/ui/EditTemplate/tags\"/>\n    <$button class=\"tc-btn-invisible\" style=\"margin-left:1em;\">\n      {{$:/core/images/done-button}}\n      <$action-deletetiddler $tiddler={{{ [[$:/state/edit-view-mode-tags/]addsuffix<storyTiddler>] }}}/>\n    </$button>\n  </div>\n</$reveal>\n```\n\n!!! The Condition\n\nWrite a filter that ends with `then[$:/plugins/publisher/plugin-name/EditMode]`.\n\n```tid\ncode-body: yes\ntags: $:/tags/ViewTemplateTagsFilter\ntitle: $:/plugins/publisher/plugin-name/CascadeEditMode\nlist-before: $:/config/ViewTemplateTagsFilters/default\n\n[[$:/state/edit-view-mode-tags/]addsuffix<currentTiddler>get[text]compare:string:eq[yes]then[$:/plugins/publisher/plugin-name/EditMode]]\n```\n\n!!! A Button to Trigger the Condition\n\n```tid\ncode-body: yes\ntags: $:/tags/ViewTemplate/Tags\ntitle: $:/plugins/publisher/plugin-name/TriggerEdit\n\n\\whitespace trim\n<%if [<storyTiddler>get[tags]!is[blank]] %>\n  <$button class=\"tc-btn-invisible\" set={{{ [[$:/state/edit-view-mode-tags/]addsuffix<storyTiddler>] }}} setTo=\"yes\" tooltip=\"add tags\">\n    {{$:/core/images/new-here-button}}\n  </$button>\n<%endif%>\n```\n"
  },
  {
    "path": "editions/dev/tiddlers/How to run a local plugin library for testing.tid",
    "content": "created: 20221114225038703\nmodified: 20221114230502925\ntags: howto\ntitle: How to run a local plugin library for testing\ntype: text/vnd.tiddlywiki\n\n!! Start the Library Server\n\nThe \"pluginlibrary\" edition contains the components needed to set up a local server for ~TiddlyWiki plugin library testing or development.\n\nThe following commands will create the library files and start a test server at http://localhost:8888\n\n```\ncd /your/path/to/TiddlyWiki5/editions/pluginlibrary\ntiddlywiki --build test-server\n```\n\n!! Important\n\n''This server is read-only. Nothing is saved back to the filesystem''\n\n!! Test the Library with a Single File Wiki\n\n* Open a single file wiki and import the configuration tiddler form http://localhost:8888/#%24%3A%2Fconfig%2FLocalPluginLibrary\n* Open the ''$:/ControlPanel : Plugins : \"Get More Plugins\"'' modal\n\n!! Test the Library with a Node.js Wiki\n\n* Create a new wiki with eg:\n\n<<<\n```\ncd /temp/\ntiddlywiki my-wiki --init server\ntiddlywiki my-wiki --listen\n```\n<<<\n\n* Open \"my-wiki\" from http://localhost:8080\n* Import the http://localhost:8888/#%24%3A%2Fconfig%2FLocalPluginLibrary tiddler into \"my-wiki\"\n* Open the ''$:/ControlPanel : Plugins : \"Get More Plugins\"'' modal\n\n"
  },
  {
    "path": "editions/dev/tiddlers/Widget `destroy` method examples.tid",
    "content": "created: 20230601123245916\nmodified: 20230601125015463\ntitle: Widget `destroy` method examples\ntype: text/vnd.tiddlywiki\n\n!! When using a v-dom library\n\nVirtual DOM libraries manages its internal state and apply state to DOM periodically, this is so called [[\"controlled\" component|https://react.dev/learn/sharing-state-between-components#controlled-and-uncontrolled-components]]. When Tiddlywiki remove a DOM element controlled by a v-dom library, it may throws error.\n\nSo when creating a plugin providing v-dom library binding, you need to tell v-dom library (for example, React.js) the DOM element is removed. We will use `destroy` method for this.\n\n```js\n  render() {\n    // ...other render related code\n    if (this.root === undefined || this.containerElement === undefined) {\n      // initialize the v-dom library\n      this.root = ReactDom.createRoot(document.createElement('div'));\n    }\n  }\n\n  destroy() {\n    // end the lifecycle of v-dom library\n    this.root && this.root.unmount();\n  }\n```\n\nThe `destroy` method will be called by parent widget. If you widget don't have any child widget, you can just write your own tear down logic. If it may have some child widget, don't forget to call original `destroy` method in the `Widget` class to destroy children widgets.\n\n```js\nWidget.prototype.destroy();\nthis.root && this.root.unmount();\n/** if you are using ESNext\nsuper.destroy();\nthis.root?.unmount();\n*/\n```"
  },
  {
    "path": "editions/dev/tiddlers/_tw_shared/tiddlywiki.files",
    "content": "{\n\t\"directories\": [\n\t\t\"../../../tw5.com/tiddlers/_tw_shared\"\n\t]\n}"
  },
  {
    "path": "editions/dev/tiddlers/build/ReadMe for build.jermolene.github.io.tid",
    "content": "title: ReadMe for build.jermolene.github.io\n\n{{Scripts for building tiddlywiki.com}}\n"
  },
  {
    "path": "editions/dev/tiddlers/build/Releasing a new version of TiddlyWiki.tid",
    "content": "created: 20190809095728085\nmodified: 20250707151538845\ntitle: Releasing a new version of TiddlyWiki\ntype: text/vnd.tiddlywiki\n\n!! Preparation on master\n\n# Ensure the new release banner image is up to date\n# Update ''master'' with changes from ''tiddlywiki-com''\n# Verify the version numbers in [[$:/config/OfficialPluginLibrary]] in `core/wiki/config/OfficialPluginLibrary.tid`\n# Move the latest release note from the prerelease edition into the tw5.com edition\n# Adjust the release date and the ''released'' field of the latest release tiddler (eg, [[Release 5.1.3]])\n# Also adjust the github.com comparison link to point to the tag for the new release\n# Adjust the tiddler [[TiddlyWiki Archive]] to include the new version number\n# Ensure [[TiddlyWiki Releases]] has the new version as the default tab\n# Adjust the modified time of HelloThere\n# Make sure ''master'' is fully committed\n\n!! Update Readmes and release note\n\n# Edit `package.json` to the new version number\n# Run `./bin/readme-bld.sh` to build the readme files\n# Commit the new readme files to ''master''\n# Restore `package.json` to the previous version number\n# Adjust the link for \"GitHub for detailed change history of this release\" in the release note\n# Add the credits for the new release banner to the release note, including a link to the GitHub instance of the image from the commit history\n\n!! Make New Release\n\n# Run `./bin/verbump \"5.1.3\"` (substituting the correct version number) to update the version number and assign it a tag \n# Run `./bin/npm-publish.sh` to publish the release to npm\n# Verify that the new release of TiddlyWiki is available at https://www.npmjs.org/package/tiddlywiki\n\n!! Update tiddlywiki.com release\n\n# Update ''tiddlywiki-com'' from ''master'' and push to ~GitHub\n# Wait until https://tiddlywiki.com is updated with the new release\n\n!! Announcements\n\n# Announce the new release on [[TalkTW|https://talk.tiddlywiki.org]]\n\n!! Preparation for the next release in ''master''\n\n# Adjust version number in `package.json`\n# Adjust version number in `bin/build-site.sh`\n# Adjust version number in [[$:/config/OfficialPluginLibrary]] (both in `editions/tw5.com` and `editions/prerelease/tiddlers/system`) and [[$:/config/LocalPluginLibrary]]\n# Create temporary new release banner\n# Create the release note for the new release\n# Commit changes to ''master'' and push to ~GitHub\n"
  },
  {
    "path": "editions/dev/tiddlers/build/Releasing new content for TiddlyWiki.tid",
    "content": "created: 20190809094421578\nmodified: 20190809104210288\ntitle: Releasing new content for TiddlyWiki\ntype: text/vnd.tiddlywiki\n\nTo update https://tiddlywiki.com with new content, make a Pull Request with the updated tiddlers to the `tiddlywiki-com` branch. As soon as the PR is merged, the [[Continuous Deployment]] system will automatically rebuild the site.\n\nNote that the PR should only include updates within the `editions` folder of the repo."
  },
  {
    "path": "editions/dev/tiddlers/build/Scripts for building tiddlywiki.com.tid",
    "content": "title: Scripts for building tiddlywiki.com\n\nThese scripts are used to build and release the content for tiddlywiki.com. They are not designed for general purpose use -- they resolve problems that are specific to the task of building tiddlywiki.com: pushing to GitHub Pages, handling the prerelease builds and bumping version numbers.\n\nNonetheless, you may find techniques that are useful for your own scripts.\n\n! Hosting\n\nhttps://tiddlywiki.com is served by [[GitHub Pages|https://pages.github.com]] from the repository https://github.com/TiddlyWiki/tiddlywiki.com-gh-pages\n\nThe scripts live in the repository https://github.com/Jermolene/build.jermolene.github.io\n\n! Directory structure\n\nThese scripts require the following directories to be siblings:\n\n* `build.jermolene.github.io` - a local copy of https://github.com/Jermolene/build.jermolene.github.io\n* `jermolene.github.io` - a local copy of the repo https://github.com/TiddlyWiki/tiddlywiki.com-gh-pages\n* `TiddlyWiki5` - a local copy of the repo https://github.com/TiddlyWiki/TiddlyWiki5\n\nThe scripts are designed to be executed with the current directory being the `TiddlyWiki5` directory.\n\n! Configuration\n\n!! package.json\n\nThe `package.json` in the root of the `build.jermolene.github.io` repository contains a dependency declaration that specifies the latest official released version of TiddlyWiki to be used when building the release targets:\n\n```js\n  \"dependencies\": {\n    \"tiddlywiki\": \"5.1.2\"\n  }\n```\n\n!! Environment variables\n\nSome of the scripts use the following environment variables:\n\n* ''TW5_BUILD_MAIN_EDITION'' - the path to the wiki folder to be used as the main edition, generating `index.html` and `encrypted.html`\n* ''TW5_BUILD_OUTPUT'' - the path to the output folder (defaults to `../jermolene.github.io`)\n* ''TW5_BUILD_TIDDLYWIKI'' - the pathname of the `tiddlywiki.js` to be used (defaults to `../build.jermolene.github.io/node_modules/tiddlywiki/tiddlywiki.js`)\n\n! Scripts\n\n!! `bld.sh`\n\nBuilds the `tiddlywiki.com` target files. By default, it uses the version of tiddlywiki specified in the `package.json` file. This can be overridden with the ''TW5_BUILD_TIDDLYWIKI'' environment variable. The following command would select the latest prerelease version of tiddlywiki from the `TiddlyWiki5` directory:\n\n```bash\n    TW5_BUILD_TIDDLYWIKI=./tiddlywiki.js\n```\n\n!! `readme-bld.sh`\n\nBuilds the readme files for the `TiddlyWiki5` and `build.jermolene.github.io` repos using the released version of TiddlyWiki specified in `package.json`.\n\n!! `prerelease-bld.sh`\n\nBuilds the `tiddlywiki.com/prerelease` target files using the latest TiddlyWiki prerelease code and special ''prerelease'' edition for the content.\n\n!! `github-push.sh`\n\nPushes the latest changes to the `jermolene.github.io` directory to GitHub.\n\n!! `dev-bld.sh`\n\nBuilds the ''dev'' prerelease edition.\n\n!! `quick-bld.sh`\n\nBuilds the ''prerelease'' prerelease edition.\n\n!! `tiddlyspace-upload.sh`\n\nBuilds the ''tw5tiddlyweb'' edition and uploads it to TiddlySpace.\n\n!! `verbump.sh`\n\nBumps the version number of the `package.json` in the `TiddlyWiki5` repo and applies the correct version tag to the repo.\n\n!! `npm-publish.sh`\n\nPublishes the `TiddlyWiki5` repo to npm.\n\n! Procedures\n\n!! Releasing a new version of TiddlyWiki\n\n{{Releasing a new version of TiddlyWiki}}\n\n!! Releasing new content for TiddlyWiki\n\n{{Releasing new content for TiddlyWiki}}\n"
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/Caching.tid",
    "content": "chapter.of: Extending the Store\ncreated: 20140710184940308\nmodified: 20140717180902471\nsub.num: 2\ntags: doc new\ntitle: Caching\n\nThe core plug-in adds two caches to the wiki store.\nA global cache and a cache for each tiddler.\nWhile the global cache is cleared whenever any tiddler changes, the tiddler cache is only cleared when the associated tiddler changes.\nThe idea of the tiddler cache is, that sometimes we want to calculate information from a tiddler but don't want to recalculate every time we need this information.\nImagine a tiddler which contains links to other tiddlers and at one point we want to have a list of the linked tiddlers (LinksFilter).\nWith the tiddler cache we can parse the WikiText, extract the linked tiddlers and put this list in the cache.\nUntil the tiddler is changed, the cache can be used to access this information in the next requests.\n\nThe same idea holds for the global cache. For example when a [[filter|Tags and Filter Mechanism]] string is parsed and a list of matching tiddlers is constructed.\nThis list can be put in the global cache for later reuse until something changes in the store.\n\nLike the [[Event Mechanism]], the cache needs hook functions in the microkernel.\nThe microkernel calls ``clearGlobalCache()`` and ``clearCache(tiddlertitle)`` when a tiddler changes.\nThe core's cache mechanism overwrites this functions.\nThe functions providing the cache system are added via the [[wikimethod module type]]."
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/Conclusion.tid",
    "content": "created: 20140717203330824\ndescription: A briefly summary about this documentation bringing out the advantages, disadvantages and experiences with TiddlyWiki.\nmodified: 20140717211803349\nsectionnumber: 5\ntags: section doc\ntitle: Conclusion\n\nTiddlyWiki consists in its heart only of a basic microkernel providing bare tiddlerstore and module system.\nIt is written in ~JavaScript and suited to run in a browser or as node.js application.\nThe core plug-in extends the microkernel with powerful functions from a central event system to a sophisticated widget system transforming WikiText to dynamic HTML.\nBecause of it's microkernel architecture the application is highly customizable. The plug-in system not only allows to add new modules but also to override existing modules. Most of the components don't refer directly to modules but load them by type, allowing developers to inject additional modules including new saver implementations, widgets or even rules for the WikiText parser.\nThe user interface of TiddlyWiki is written in WikiText and can be customized with the same language, a user normally uses when just writing wiki entries.\n\nA drawback of the core plug-in is it's high complexity. While the microkernel provides just the bare some bare functions and structures, the core plug-in adds a whole bunch of components at once.\nIt can be challenging to decompose the core architecture and understand the connections between the components. This documentation could only cover the most important parts.\nThis gives a developer the choice of building a whole new application on the microkernel or building the application on the core plug-in, including all modules and UI tiddlers.\n\nIn conclusion, TiddlyWiki is a interesting piece of software.\nThe focus on tiddlers, the functionality provided in the core and the fact that the core comes with a full blown wiki application puts TiddlyWiki into a personal information management domain, especially when using TiddlyWiki as a single file application storing code and data in a single HTML file.\nBut the highly customizable nature makes TiddlyWiki perfect for this exact domain. A casual user can organize information with tags and metadata and customize the UI to a grade, that he is able to implement and test his own workflows just by using WikiText.\n~JavaScript developers can add whole new features and create completely new single page applications by building on the microkernel or customizing the core plug-in."
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/Data Management during Runtime.tid",
    "content": "created: 20140708085451064\nmodified: 20140708085602231\ntags: doc\ntitle: Data Management during Runtime\n\nDuring the runtime the data of Tiddlywiki is stored in javascript objects. These objects are synchronized with the DOM-Representation of Tiddlywiki. This means every change of the original data of a Tiddler, fires an event which changes all DOM-Representations of the Tiddler and the javascript object. The bare-bones Wiki store is created during the boot process and is kept in a object called \\$tw.Wiki. This object contains amongst others a hashmap of the different Tiddlers of Tiddlywiki. The Hashmap is used to store the javascript object representation of the different Tiddlers. Furthermore this object is used to manage the tiddlers during runtime, it provides methods for adding tiddlers, search tiddlers by name and delete tiddlers.\nAs shown in the picture below, every change at the DOM triggers an event which changes the corresponding widget which again changes the store of the tiddlers. The whole image shows how WikiText is parsed by a set of rules into the parse tree and this parse tree is rendered as a tree of widgets. This Rendertree is synchronised to the DOM. Every modification on the Rendertree provokes a start of the rendering-pipeline. As well as every change on the wikiText triggers an event at the RenderTree. This Process uses a selective updating so that only the changed parts are updated. This means only widgets which have to change the DOM in consequence of a changed tiddler are refreshed.\n\n{{TiddlyWikiArchitecture.svg}}"
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/Data Persistence.tid",
    "content": "chapter.of: TiddlyWiki - A quick Overview\ncreated: 20140708082053686\nmodified: 20140717195758655\nsub.num: 3\ntags: doc\ntitle: Data Persistence\n\nThe next important part of the application are deserializers. Deserializers are responsible to load tiddlers from various sources. One of the deserializers provided by the microkernel for example can load new tiddlers from the current DOM tree.\nThe counterpart of deserializers are saver.\nA saver is used to save the complete store or the complete TiddlyWiki for that matter at once. After a user made changes to some tiddlers, this method can be used to download the current state of the store as a completely new TiddlyWiki application.\n\nAnother way of persisting data are syncadaptors.\nLike deserializer and saver, a syncadaptor can load tiddlers into the store and can persist changed tiddlers.\nBut in contrast to deserializer and saver it can load and persist single tiddlers.\nA syncadaptor can provide a list of loadable tiddlers registers at the store for changes.\nNow when a tiddler is changed and these changes are written to the store, the syncadaptor is triggered and persists the new changes, for each tiddler individually.\n\n<<<\n[img width=500 [overview.svg]]\n<<< Tiddlers can be persisted from/to harddisk or synced with a remote server."
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/Data-Storage.tid",
    "content": "created: 20140708085814626\nmodified: 20140710081051087\ntags: doc\ntitle: Data-Storage\n\n{{Data Storage}}\n"
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/Datamodel.tid",
    "content": "chapter.of: Microkernel Architecture\ncreated: 20140709111543896\nmodified: 20140715083802104\nsub.num: 2\ntags: doc new [[Microkernel Architecture]]\ntitle: Datamodel\n\nThe micro-kernel creates a TiddlyWiki specific data-structure called tiddler. Here you have to separate the different definition of tiddlers. In the architectural view a tiddler is a JavaScript object holding some data. In the overall concept a tiddler is similar to a wiki page in a normal wiki application like wikipedia. In this section we describe the architectural view of a tiddler. The listing below shows the JSON representation of a tiddler object. During the runtime of the TiddlyWiki everything is saved an object like this. Without any plug-in the architecture is not able to persist any kind of data. All the data is stored in a store. This store is a JavaScript object. This store is constructed like a Map with a bunch of key value pairs. Every tiddler has its name as the key in the map and the JavaScript-Object as the value. The tiddler concept is the main data-model within TiddlyWiki, everything from data up to plug-ins is stored as a tiddler.\n\n```javascript\n{\"fields\":{\n   \"text\":\"example Text\",\n   \"title\":\"Infrastruktur\",\n   \"tags\":[\"vs\"],\n   \"modified\":\"2014-07-01T16:25:01.230Z\",\n   \"myField\":\"myFieldValue\",\n   \"created\":\"2014-07-01T16:22:10.673Z\"\n   }\n}\n```"
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/Deserializer.tid",
    "content": "chapter.of: Extended Persistence\ncreated: 20140708084404389\nmodified: 20140715184857524\nsub.num: 1\ntags: doc\ntitle: Deserializer\n\nModules with ``module-type: tiddlerdeserializer`` can provide functions to create tiddlers out of any textual representation. Each function must be associated with a type like ``application/json`` or ``text/html``.\nThey get the textual representation of the tiddlers, some default field values and the type of the text block as arguments. They return an array of JavaScript objects representing the resulting tiddlers.\n\nDeserializers are not managed by the syncer module. Instead the concept of deserializers is in fact part of the microkernel.\nThis is necessary because the microkernel needs a way of loading tiddlers before it can load the core plug-in and execute it's startup modules.\n(Due to the fact that the core plug-in and it's modules are represented as tiddlers.)\n\nThe ``load-modules`` startup module loads additional deserializers and pushes them into the store.\nThe core plug-in for example contains a few deserializers which can read a whole TiddlyWiki 5 or classic HTML file and load the individual tiddlers into the store."
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/Event Mechanism.tid",
    "content": "chapter.of: Extending the Store\ncreated: 20140710184910226\nmodified: 20140717201408167\nsub.num: 1\ntags: doc new\ntitle: Event Mechanism\n\nMost of the following mechanisms need a way to get notified, when anything in the wiki store changes.\nThe core -plug-in adds an event system to the bare wiki store.\nThe event system provides the ability to listen to events. The most important is the \"change\" event which notifies the listeners when tiddlers have changed, with a list of the changed tiddlers.\nThe event mechanism is one of the few mechanisms which needs a hook at the microkernel:\nThe microkernel contains an empty function \"enqueueTiddlerEvent(event)\" and calls this function when a tiddler is added or deleted.\nThe event mechanism from the core plug-in overwrites this function with it's own implementation.\nThe functions providing the event system are added via the [[wikimethod module type]]."
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/Extended Persistence.tid",
    "content": "chapter.of: TiddlyWiki Core Application\ncreated: 20140715184132652\nmodified: 20140717181151719\nsub.num: 3\ntags: doc\ntitle: Extended Persistence\n\nThe microkernel only contains a bare store and some deserializers to load tiddlers from JSON files or from the DOM of the current HTML file.\nThe core plug-in adds some more deserializers and a new mechanism for persisting and synchronising tiddlers.\n\nThis mechanism is provided as a global module in [[$:/core/modules/syncer.js]].\nThe saver module has three responsibilities:\n\n# Save the whole wiki.\n# Provide the ability to download single tiddlers as files.\n# Synchronise the local wiki store with a remote wiki store, i.e. running in Node.js\n\nThe syncer module is connected mainly to two other modules.\nFor one it registers to changes at the wiki store ([[Event Mechanism]]) and if any changes occur they are synced to the remote store.\nThen it provides a function ``saveWiki(options)``. This function can be used by other modules. For example the [[RootWidget|RootWidget and Rendering Startup]] uses this function to save the whole wiki or start downloading single tiddlers.\n\nThe syncer itself does not provide a concrete implementation of saving, downloading or syncing the tiddlers.\nInstead it loads modules of type ``saver`` and ``syncadaptor`` and manages the saving/syncing process.\n\n<$list filter=\"[!has[draft.of]has[chapter.of]chapter.of[Extended Persistence]tag[doc]sort[sub.num]]\">\n\n\n!! <$view field=\"title\"/>\n{{!!text}}\n</$list>"
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/Extending the Store.tid",
    "content": "chapter.of: TiddlyWiki Core Application\ncreated: 20140710185629984\nmodified: 20140717175642155\nsub.num: 2\ntags: doc\ntitle: Extending the Store\n\n<$list filter=\"[!has[draft.of]has[chapter.of]chapter.of[Extending the Store]tag[doc]sort[sub.num]]\">\n\n\n!! <$view field=\"title\"/>\n{{!!text}}\n</$list>"
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/Introduction.tid",
    "content": "created: 20140708090028950\nmodified: 20140717212619797\ntags: doc\ntitle: Introduction\n\nTiddlyWiki is a personal notebook application based on a wiki application. In addition to a static Web-Site, TiddlyWiki is implemented as a single page application. This is a approach to build rich internet applications, it includes the possibility to put application logic into web-pages to make them dynamically. Furthermore this means the whole application is delivered in one HTML file, consisting of source code to dynamically change the view and behaviour of the application as well as the data of the application. During the runtime nothing must be loaded from a server to the TiddlyWiki application. The HTML file contains everything needed to start the application. TiddlyWiki is highly customisable because of a very sophisticated module concept. Except of a micro-kernel written in JavaScript the whole application consist of a own data-structure called tiddlers and a own markup language called wikiText. Even the modules are realised as tiddlers.\n\nThe aim of this documentation is to overview the idea behind the TiddlyWiki application as well as give a overview of the architecture to the reader. This means after reading the documentation the reader is has the knowledge how the overall application works and where the points are where the reader can extend the functionality of the application.\n\n\n''__Section Overview:__''\n\n{{Section Overview}}"
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/Messages.tid",
    "content": "chapter.of: Widgets\ncreated: 20140715080302422\nmodified: 20140717181635787\nsub.num: 1\ntags: doc\ntitle: Messages\n\nMessages are events that are triggered by the user. They are generated by widgets for example when the user clicks on a ~ButtonWidget.\nEach message has a type property like \"tm-delete-tiddler\" and a parameter.\n\n```js\n{type: \"tm-delete-tiddler\", param: \"MyOldTiddler\"}\n```\n\nWhen such a message is created by a widget it sends the message to it's parent widget which sends it to it's own parent widget and so on.\nOn this way each widget can try to dispatch the message.\nThis concept is realised in the base widget object.\nIt provides a function ``dispatchEvent(message)`` which is called by the children to bubble the message up the widget tree.\nAnother function ``addEventListener(type,listener)`` can be used to bind a function to a specific message type.\nIf the listener returns false, the message is send to the parent widget.\n\nThe TiddlyWiki core plug-in handles a lot of messages in the [[NavigatorWidget|RootWidget and Rendering Startup]].\n"
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/Microkernel Architecture.tid",
    "content": "created: 20140714195430737\ndescription: The heart of TiddlyWiki is it's microkernel. This section will describe what bare mechanisms are included in the microkernel and how additional modules are loaded.\nmodified: 20140717211633467\nsectionnumber: 2\ntags: section doc\ntitle: Microkernel Architecture\n\nThis section describes the architecture of the ~TiddlyWiki-kernel. ~TiddlyWiki is based on a micro-kernel which provides only a small stack of functions. This design decision was made to introduce a cleaner mechanism for customisation of ~TiddlyWiki. This section also describes the data-model of ~TiddlyWiki called tiddler. And it gives a overview to the module system which developers can use to extend the functionality of the ~TiddlyWiki application.\n\n<$list filter=\"[!has[draft.of]has[chapter.of]chapter.of[Microkernel Architecture]tag[doc]sort[sub.num]]\">\n\n\n! <$view field=\"title\"/>\n{{!!text}}\n</$list>\n"
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/Microkernel Description.tid",
    "content": "chapter.of: Microkernel Architecture\ncreated: 20140709110225227\nmodified: 20140717213309369\nsub.num: 1\ntags: doc new\ntitle: Microkernel Description\n\nThe TiddlyWiki application is based on a microkernel architecture, that means it separate minimal functional core from the extended functionality. The microkernel provides the functionality to load external extensions to extend its core features. The TiddlyWiki microkernel provides a few helper methods but the main task of the TiddlyWiki kernel is to provide a basic functionality for storing data and loading the extension plug-ins. Within the TiddlyWiki architecture everything is stored as a tiddler. How the architecture of TiddlyWiki stores his data during the runtime of the application is shown in [[Datamodel]], but the kernel provides this datamodel. It also prepares the functionality to store and create these tiddlers. In favour it creates a store to manage the tiddlers during the runtime. Without any extensions the microkernel is not able to persist the tiddlers, this means the data is only holded in the RAM. Here are some example interfaces for working with tiddlers in memory which are provided by the kernel:\n\n*$tw.Tiddler = function(/* [fields,] fields */)\n*$tw.Wiki.addTiddler = function(tiddler)\n*$tw.Wiki.deleteTiddler = function(title)\n*$tw.Wiki.getTiddler = function(title)\n\nAn additional  feature of the microkernel is the ability to encrypt and decrypt a block of text. To provide this functionality the microkernel has a built in password-vault to store the current used password. The library used to encrypt and decrypt data is the [[StandfordJavaScript Crypto Libary|http://bitwiseshiftleft.github.io/sjcl/]]. This feature allows the micro-kernel to load encrypted tiddlers from the TiddlyWiki file, but it also allows extension plug-ins to use the encrypt functionality e.g. to persist an encrypted TiddlyWiki.  \n\nIn order to load extension plug-ins the kernel prepares a interface to load and execute these plug-ins. Therefore the micro-kernel provides some deserializers to extract different type of tiddlers e.g. from the TiddlyWiki-File. Within the microkernel a bunch of different deserializer are installed. These deserializer are needed because every tiddler can include a different type of data for example tiddlers can contain javaScript-code, text, html-text or ~JSON-data. Even after packaging a TiddlyWiki application every plug-in is stored as a tiddler within the TiddlyWiki-Document. This feature is specified in the [[Module System]] section. Therefore the micro-kernel need the functionality to parse all the different type of tiddlers. To differ between the different type of tiddlers every tiddler has a file type which are generated by the microkernel\n\nThe image below shows the startup process of the TiddlyWiki-kernel. The bootprefix is responsible for preparing the kernel to boot on different engines e.g. browsers and node.js. Afterwards the main boot process which includes the microkernel, with the startup-method, is started. After successfully running these steps the main architecture is loaded. The last step is to run the startup modules. These modules are described later. But in brief this is the point where the TiddlyWiki microkernel can be extended by own functionality. Every module marked as \"startup\" is started after finishing the boot process of the kernel.\n\n<<<\n{{StartupTimeline.png}}\n<<< The microkernel builds up the essential functions and structures and initiates a startup sequence.\n"
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/Microkernel and Datamodel.tid",
    "content": "created: 20140708173111709\nmodified: 20140709093651688\ntags: redo\ntitle: Microkernel and Datamodel\n\nThe microkernel is responsible for creating a bare-bones TW environment.\nIt is running under Node.js or in a HTML5 Browser. The Bootkernel just loads enough functionality to load the modules containing the main logic of the application. This boot-kernel contains a few helper methods, the module mechanism as well as the function to create a tiddler and manage them. The boot-kernel also creates the bare-bones wiki store, which holds all the information of the wiki during the runtime. After creating the store, the boot-kernel is in charge of decrypting the encrypted tiddlers and extracting all the tiddlers e.g. the core module tiddlers embedded in the DOM structure of the HTML file. Furthermore the boot kernel offers the functionality to load tiddlers from a file, when you run TW with Node.js.\n\n{{StartupTimeline.png}}"
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/Microkernel.tid",
    "content": "chapter.of: TiddlyWiki - A quick Overview\ncreated: 20140708081952235\nmodified: 20140717195539035\nsub.num: 2\ntags: doc\ntitle: Microkernel\n\nIn the universe of TiddlyWiki everything is a tiddler.\nEven the application logic is stored in tiddlers that are marked as \"application/javascript\".\nThese tiddlers, which contain application logic, are called modules and a ~CommonJS compatible module system is responsible for assembling the individual modules into the TiddlyWiki application.\nThe result is a tree representing the whole TiddlyWiki application containing module tiddlers, data tiddlers and some ~JavaScript functions and objects.\n\nOnly a small part of the TiddlyWiki is not managed as tiddlers, the microkernel.\nThe microkernel is the first thing to run, when the application is started and it puts some initial objects and functions into the application tree, which are needed to load and manage tiddlers.\nAfter the microkernel built this initial application tree, the remaining parts of the application can be loaded as module tiddlers.\nBeside some utility functions the most important object that is contributed by the boot kernel is \"$tw.wiki\", consisting of ~JavaScript structures and functions that are used to store and manage the loaded tiddlers.\nAmong other things this store can be used to add new tiddlers, remove tiddlers and retrieve tiddlers by name.\n\n<<<\n{{apptree.svg}}\n<<< The microkernel constructs a initial $tw object containing the needed structures and functions.\n"
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/Modularization.tid",
    "content": "chapter.of: TiddlyWiki - A quick Overview\ncreated: 20140708082305109\nmodified: 20140715083449669\nsub.num: 5\ntags: doc\ntitle: Modularization\ntype: \n\nThe whole application is basically built from three parts. At first, the microkernel provides the basic functionality to handle tiddlers. The second part are tiddlers representing core functionality. These are for example modules which extend the store by more sophisticated functions, UI tiddlers and widget modules, a WikiText parser, sophisticated deserializers, savers, syncadapters, etc.\nThese core modules are provided as plug-in to the microkernel. Consequently, a plug-in is a single tiddler which itself contains multiple tiddlers, forming the plug-in. Each of this tiddler might be a module providing new functionality (i.e. a module tiddler marked with \"module-type: saver\" can extend the application with new methods of saving the current wiki state.).\nTiddlers provided in plug-ins are called shadow tiddlers. They are immutable and can not be edited or deleted  but we can create a new tiddler with the same name to override a shadow tiddler.\n"
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/Module System.tid",
    "content": "chapter.of: Microkernel Architecture\ncreated: 20140708084103508\nmodified: 20140715094857594\nsub.num: 3\ntags: doc [[Microkernel Architecture]]\ntitle: Module System\n\nAfter the boot kernel provides the functions used to load tiddlers, the rest of the TiddlyWiki application is loaded as modules.\nA module is a tiddler which has the type ``application/javascript`` and contains CommonJS compatible JavaScript code. This means a single module provides its public structures and functions in a variable called ``export``. Other modules can obtain these structures and functions by using a global ``require`` function.\n\n```js\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n// ...\nButtonWidget.prototype = new Widget();\n```\n\nIn most cases these module tiddlers are packed into a plug-in.\nFollowing the \"everything is a tiddler\" concept, a plug-in is a tiddler, which contains a bunch of other tiddlers. These tiddlers are first converted into a JSON structure which then becomes the body of the plug-in tiddler.\nThis is not restricted to module tiddlers. A plug-in can contain any tiddlers. This way a developer can put for example simple modules, widgets, UI parts written with WikiText, even new filter operators or extensions to the WikiText parser into a plug-in tiddler. In fact the whole TW core is provided as a single plug-in. Tiddlers provided in a plug-in are called shadow tiddlers and can not be edited. Instead, when trying to edit a shadow tiddler, a new tiddler with the same name is created which then \"overrides\" the shadow tiddler.\n\nInstead of requiring a specific module directly, a module developer can specify the type of the module he is developing by setting the field \"module-type\" of the containing tiddler.\nFor example, by providing a module-type of \"saver\", TiddlyWiki knows that this module implements a way of saving the whole wiki and when the user clicks on the save button, TiddlyWiki automaticly considers the provided module to save the current state."
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/NEW NEW TOC.tid",
    "content": "caption: Table of Contents\ncreated: 20140715074724076\nlist-before: \nmodified: 20140717182928525\ntags: $:/tags/SideBar\ntitle: NEW NEW TOC\n\n\\define toc-heading(caption,body)\n<$reveal type=\"nomatch\" state=<<qualify \"$:/state/toc/$caption$\">> text=\"show\">\n<$button set=<<qualify \"$:/state/toc/$caption$\">> setTo=\"show\" class=\"tc-btn-invisible\">{{$:/core/images/right-arrow}} $caption$\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<qualify \"$:/state/toc/$caption$\">> text=\"show\">\n<$button set=<<qualify \"$:/state/toc/$caption$\">> setTo=\"hide\" class=\"tc-btn-invisible\">{{$:/core/images/down-arrow}} $caption$\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<qualify \"$:/state/toc/$caption$\">> text=\"show\" retain=\"yes\" animate=\"yes\">\n\n$body$\n\n</$reveal>\n\\end\n<div class=\"tc-table-of-contents\">\n\n# [[Introduction]]\n\n# [[TiddlyWiki - A quick Overview]]\n## <<toc-heading \"~TiddlyWiki - A quick Overview ~TiddlyWiki\" \"\n##[[TiddlyWiki as Single Page Application]]\n## [[Microkernel]]\n##[[Data Persistence]]\n##[[The User Interface]]\n##[[Modularization]]\n##[[Tiddler as Basic Element]]\n##[[WikiText Markup]]\n\">>\n# [[Microkernel Architecture]]\n## <<toc-heading \"Microkernel Architecture\" \"\n##[[Microkernel|Microkernel Description]]\n##[[Datamodel]]\n##[[Module System]]\n\">>\n# [[TiddlyWiki Core Application]]\n## <<toc-heading \"~TiddlyWiki Core Application\" \"\n##[[Startup Process]]\n##[[Extending the Store]]\n###[[Event Mechanism]]\n###[[Caching]]\n###[[System Tiddlers]]\n###[[Tags and Filter Mechanism]]\n##[[Extended Persistence]]\n###[[Deserializer]]\n###[[Saver]]\n###[[Syncadaptor]]\n##[[UI and Rendering Pipeline]]\n###[[Wikitext]]\n###[[Parser]]\n###[[Widgets]]\n####[[Messages]]\n####[[Selective Update]]\n###[[Transclusion and TextReference]]\n###[[RootWidget and Rendering Startup]]\n\">>\n#[[Conclusion]]\n</div>\n"
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/Parser.tid",
    "content": "chapter.of: UI and Rendering Pipeline\ncreated: 20140717174120958\nmodified: 20140717202324456\nsub.num: 2\ntags: doc\ntitle: Parser\n\nThe first stage of WikiText processing is the parser.\nA Parser is provided by a module with ``module-type: parser`` and is responsible to transform block of text to a parse-tree.\nThe parse-tree consists of nested nodes like\n\n```js\n{type: \"element\", tag: <string>, attributes: {}, children: []} - an HTML element\n{type: \"text\", text: <string>} - a text node\n{type: \"entity\", entity: <string>} - an HTML entity like &copy; for a copyright symbol\n{type: \"raw\", html: <string>} - raw HTML\n```\n\nThe core plug-in provides a recursive descent WikiText parser which loads it's individual rules from individual modules.\nThus a developer can provide additional rules by using ``module-type: wikirule``. Each rule can produce a list of parse-tree nodes.\nA simple example for a wikirule producing a ``<hr>`` from ``---`` can be found in [[horizrule.js|$:/core/modules/parsers/wikiparser/rules/horizrule.js]]\n\nHTML tags can be embedded into WikiText because of the [[html rule|$:/core/modules/parsers/wikiparser/rules/html.js]].\nThis rule matches HTML tag syntax and creates ``type: \"element\"`` nodes.\nBut the html-rule has another special purpose. By parsing the HTML tag syntax it implicitly parses WikiText widgets.\nIt the recognises them by the $ character at the beginning of the tag name and instead of producing \"element\" nodes \nit uses the tag name for the type:\n\n```js\n{type: \"list\", tag: \"$list\", attributes: {}, children: []} - a list element\n```\n\nThe [[Widgets]] part will reveal why this makes sense and how each node is transformed into a widget.\nAnother special characteristic of the html-rule or the parse nodes in general is the attributes property.\nAttributes in the parse-tree are not stored as simple strings but they are nodes of its own to make indirect text references available as attributes as described in [[Widgets]]:\n\n```js\n{type: \"string\", value: <string>} - literal string\n{type: \"indirect\", textReference: <textReference>} - indirect through a text reference\n```\n"
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/Persist data.tid",
    "content": "created: 20140708085735260\nmodified: 20140708085759751\ntags: doc\ntitle: Persist data\n\nTiddlyWiki supports a wide range of methods to persist your data. One of this methods is the HTML5 fallback saver. This methods works on almost every browser. With this method a copy of the entire wiki will be downloaded by the browser. This means you get a new file everytime you hit the save button.  To avoid this and because every Browser has a different API to allow writing direct to the file system there a some plugins for the different browsers. These plug-ins allow the user to save direct to the current open TiddlyWiki-File. The Listing below shows the HTML5-compliant to save the changes via the HTML5 fallback saver by downloading the TW as a complete HTML-file.\n\n```js\nDownloadSaver.prototype.save = function(text,method,callback) {\n\t...\n\tvar link = document.createElement(\"a\");\n\tlink.setAttribute(\"target\",\"_blank\");\n\t...\n\tlink.setAttribute(\"href\",\"data:text/html,\" + encodeURIComponent(text));\n\t...\n\tlink.setAttribute(\"download\",filename);\n\tdocument.body.appendChild(link);\n\tlink.click();\n\tdocument.body.removeChild(link);\n\treturn true;\n};\n```"
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/RootWidget and Rendering Startup.tid",
    "content": "chapter.of: UI and Rendering Pipeline\ncreated: 20140717175203036\nmodified: 20240802065804331\nsub.num: 5\ntags: doc\ntitle: RootWidget and Rendering Startup\ntype: text/vnd.tiddlywiki\n\nThe previous parts of this chapter showed how WikiText is transformed to DOM nodes which dynamically react to tiddler changes and a way to compose tiddlers from other tiddlers.\nThis last part describes how the TiddlyWiki core plug-in starts up a UI build from tiddlers and WikiText.\n\nAfter the microkernel has loaded it starts executing [[Startup Modules|Startup Process]].\nThe core plug-in contains two startup modules which are responsible to kick off the UI:\n\n[[rootwidget.js|$:/core/modules/startup/rootwidget.js]] is a startup module and creates an instance of the base widget.\nThis widget is globally accessible ``$tw.rootWidget``.\nThe DOM node associated to this widget is the current browser window's DOM (``document``).\n\nAt first, the root widget has no children but provides some basic event handlers ([[Messages]]) like:\n\n* ''tm-notify:'' Displays the message given in param as a notification.\n* ''tm-save-wiki'': Triggered by a save button, the user can click. This handler uses the syncer module described in [[Extended Persistence]] to save the current wiki.\n* ''tm-auto-save-wiki'': Similar to tm-save-wiki but not triggered directly by the user but automatically triggered when a wiki page is edited and saved. A [[Saver]] implementation which starts a download of the updated wiki file would not support the auto-save method and would only be used when the tm-save-wiki message is used.\n* ''tm-download-file'': This message also uses the syncer module described in [[Extended Persistence]] but explicitly demands to choose a saver with the download-method to start downloading a single tiddler.\n\nAfter the root widget is loaded another startup module [[$:/core/modules/startup/render.js]] creates a transclude widget which contains the contents of [[$:/core/ui/PageTemplate]] which is now bound to the browsers DOM document.\nThe render function of the transclude widget is initially executed\nand a listener is registered at the store which executes the refresh function of the transclude widget to trigger the [[Selective Update]] process.\n\n[[Techniques for including other tiddlers and Templates|Transclusion and TextReference]] are finally used in [[$:/core/ui/PageTemplate]] to build the TiddlyWiki UI only from tiddlers written in WikiText (with widgets implemented in javascript):\n\nFor example to implement the list of open wiki pages the [[$:/core/ui/PageTemplate]] contains a [[navigator widget|$:/core/modules/widgets/navigator.js]] which maintains a list of open tiddlers in a field of [[$:/StoryList]] and handles events like ``tm-navigate`` by adding a tiddler specified as parameter to the top of the list in [[$:/StoryList]].\n\nThe [[story tiddler|$:/core/ui/PageTemplate/story]] transcluded in [[$:/core/ui/PageTemplate]] then uses a ~ListWidget to transclude all tiddlers in [[$:/StoryList]] through a special template [[$:/core/ui/ViewTemplate]].\nThe ViewTemplate here is a combination of different fragments, like title fragment and body fragment, each fragment can be override individually using [[Cascade Mechanism|How to Create a Custom Cascade Entry]].\n\nA event of the type ``tm-close-tiddler`` would remove a specified tiddler from [[$:/StoryList]].\nThe [[Event Mechanism]] would trigger a changed event which triggers a call of the ~ListWidget's refresh function which would remove the tiddler from the list, closing the tiddler.\n"
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/Saver.tid",
    "content": "chapter.of: Extended Persistence\ncreated: 20140708084614887\nmodified: 20140715184930403\nsub.num: 2\ntags: doc\ntitle: Saver\n\nModules with ``module-type: saver`` provide functionality to save the whole wiki. There are three methods a saver can support:\n\n<dl>\n<dt>save</dt> <dd>This method is used, when the user requests a save, for example by clicking the save button in the sidebar.</dd>\n<dt>autosave</dt> <dd>This method is used automatically by TW when tiddlers are changed, created or deleted by the user.</dd>\n<dt>download</dt> <dd>This message is used when the wiki or a single tiddler should explicitly be downloaded. The control panel for example uses this method to provide a button which saves the wiki as a static HTML file.</dd>\n</dl>\n\nA saver module has to export two functions. ``canSave(wiki)`` returning true if this module is capable of working and ``create(wiki)`` returning an instance of a saver object.\nThis saver object has to provide an ``info`` property containing a name, a priority, an array of methods it supports and a method ``save(text,method,callback)``. This method is called from TW with the actual text which should be saved, the method which is used and a callback function to report errors: ``callback(\"Error while saving\")`` or to notify that saving went well: ``callback(null, \"Saving went well :)\")``. If the saver method successfully saved the file it has to return true, or false otherwise.\nSaves are triggered by messages from the UI. The syncer module uses the saver with the highest priority capable of the requested method to save the file.\n\nThe core plug-in contains a saver capable of saving the current state of the wiki to the local hard drive by using a special Firefox extension called Tiddlyfox. If this extension is not available, the savers ``canSave`` method would return false. A saver with a lower priority would then ask the user to save the current state as a new HTML file.\n"
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/Section Overview.tid",
    "content": "created: 20140708141513470\nmodified: 20140710084522722\ntags: doc\ntitle: Section Overview\n\n<dl>\n<$list filter=\"[!has[draft.of]tag[doc]tag[section]sort[sectionnumber]]\">\n\n<dt> <$link to={{!!title}}><$view field=\"title\"/></$link></dt><dd><$view field=\"description\"/></dd>\n\n</$list>\n</dl>"
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/Selective Update.tid",
    "content": "chapter.of: Widgets\ncreated: 20140717174605570\nmodified: 20140717181806148\nsub.num: 2\ntags: doc\ntitle: Selective Update\n\nWith [[Messages]] a widget is able to put some kind of events into the TiddlyWiki application which is one part of the dynamic behaviour of widgets.\nThe other part is selective updating.\nWidgets are often dependant on tiddler states.\nThe [[ListWidget|https://tiddlywiki.com/#ListWidget]] for example can be configured to list all tiddlers which are tagged with \"important\".\nNow, when such a tiddler is changed and it's \"important\" tag is removed, this change should reflect in the ~ListWidget.\nTo allow widgets to react on such changes, each widget can provide a function ``refresh(changedTiddlers)``.\nThe [[RootWidget|RootWidget and Rendering Startup]] is registered to the wiki store, using the [[Event Mechanism]]. When an change event occurs it starts to call the refresh function of its children with a list of the changed tiddlers.\nEach widget can then decide if it has to change or re-render its DOM representation and call the refresh function of its own children.\nThis way every time a tiddler or the wiki store itself changes, each widget can instantly react on these changes or ignore them.\n\nAnother way of updating are text reference attributes (text references explained in [[Transclusion and TextReference]]):\n\n```js\n{type: \"indirect\", textReference: <textReference>}\n```\n\nWhen a widget got a attribute which is a text reference and the refresh function is called, it can check if the text reference references a changed tiddler and update accordingly.\n\nNearly every state of the UI is stored in tiddlers. A search mechanism for example would use a ~EditTextWidget which shows an text input field for the search string and a ListWidget to show the results.\nThe ~EditTextWidget is bound to a tiddler [[$:/temp/search]]. Meaning when editing the text in the input field the tiddlers content is changed to this text. On the other hand when the tiddler changes the [[RootWidget|RootWidget and Rendering Startup]] is notified. It then starts calling its childrens refresh methods. Eventually the refresh method of the ~EditTextWidget is called and it can re-render itself if necessary.\nThis way TiddlyWiki can re-use an already existing data structure which is not only convenient because we don't need to introduce an additional structure but tiddlers managed in the wiki store are already a pretty powerful data structure, supporting an [[Event Mechanism]] (so we don't need an additional observer pattern), [[Caching]], Metadata by additional tiddler fields and a [[way to obtain specific tiddlers|Tags and Filter Mechanism]].\n"
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/Startup Process.tid",
    "content": "chapter.of: TiddlyWiki Core Application\ncreated: 20140708084217106\nmodified: 20140717180507412\nsub.num: 1\ntags: doc\ntitle: Startup Process\n\nModules with ``module-type: startup`` have to export a  function named ``startup`` and may export a name property to identify this module. The startup function will be executed by the boot kernel at the end of the boot process.\n\n```js\n// From boot.js:\n// Gather up any startup modules\n$tw.boot.remainingStartupModules = []; // Array of startup modules\n$tw.modules.forEachModuleOfType(\"startup\",function(title,module) {\n\tif(module.startup) {\n\t\t$tw.boot.remainingStartupModules.push(module);\n\t}\n});\n// Keep track of the startup tasks that have been executed\n$tw.boot.executedStartupModules = Object.create(null);\n$tw.boot.disabledStartupModules = $tw.boot.disabledStartupModules || [];\n// Repeatedly execute the next eligible task\n$tw.boot.executeNextStartupTask();\n```\n\n``executeNextStartupTask()`` will execute the remaining startup modules in ``remainingStartupModules``. A startup module can export the variables ``before`` and/or ``after``, each containing an array of names of other startup modules. ``executeNextStartupTask()`` will use this information to execute the modules in the correct order.\n\nStartup modules can be marked as synchronous by exporting ``synchronous = true``. If synchronous is set to false, the startup function is executed with an callback function as the first argument. The startup function has to call this function to allow subsequent startup modules to get executed. This is necessary when the startup function itself uses asynchronous calls."
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/StartupTimeline.png.tid",
    "content": "created: 20140710083449025\nmodified: 20140710083449025\ntitle: StartupTimeline.png\ntype: image/png\n\niVBORw0KGgoAAAANSUhEUgAAAiIAAAGNCAYAAAAsFhqMAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAAd0SU1FB94HCggiBw64abAAACAASURBVHja7L1PbBtJnu/5sWSrrZZL1eryWE0xhyxxpLJnyt4aiBCpZT347YMLM93oAa0WhhiggAQe9kbAB2IPuvC0B1540kEArw9IoPYgQKMiBpiZRnneoh+GbVGgt6utri63BcpkZzKLann0SmU+uSTL2gP/iKRI/bfEpH4fwICVzIiMiIyI/MYv/vwu7ezs7CAIwqmwsbHB+vq6FITQlOvXr9PZ2WmJtK6urrK9vS0vTWhId3c3vb29J47nshSlIJwOm5ubxONx6biFfenr6+NnP/tZy6fzyy+/5He/+528MGFf7t69i6IoJ4qjQ4pREE6HtbU1ESHCoeqJFVhdXZWXJZxJfT6URSSfz59I/Xd1dcnbEi4UH374IT/5yU+kIIQKv//978nlcpZLd3d3Nz6fT16gUOHVq1f8+7//+6nFd6AQyWQyPH78+FjzQBsbG/T39zM6OipvTrhQvPPOO/T390tBCBWWl5ctme6Ojg6py0INhULhVOM7UIhsb29js9kYGxs7cuTpdJqVlRV5a4IgCIIgNBa7UgSCIAiCIIgQEQRBEARBhIggCIIgCIIIEUEQBEEQRIgIgiAIgiCIEBGEtiJFTFVRS//CcVOKRLAoJvFwqS6H45xbTTbjhFUVNZaquxxGVcMcuomZccLHzodJPHyEZwkiRAThXHEEiGoamhZCmZkjdaxOL3aMcIJwmt//aea9UTRNQ5swmEsdp26eUl12OHAkklXxmCzMg8MhbamVEV8zgtBipGIqU4nSH74QWtDd5NokM1lATeAIRIn4bVJ4wpljsytkp+ZI+YO43UGCUFs3fT5IJMhSW38x44TnDJREgnLVrtTl0QXC0/Ag4scGpGJhDI+X+WTV/Y4A0dLvu3iZCMyTTIHbDaTmmFG8BPT5GgvJ5Ey2eVvy+QCdaXWmmOZyepu0zdrrDhwO8Eq1ECEiCJYgO8OkOlPp1ILFHo0pPUBUK3fAKrGYj0T9tZRGMBgloM9hjwRxS2kK54U7iBaKoapqRRy46+tmMFhleZgjhbt4PQEeTSNYul65v9nURuX+YjuYS/kJ1lX+gVEv+lxRiaSSOoHxcZieL6sQpo0JNK0sIMLETTf+6vSaccKTOt6oRsRmEg9PF+/JNWibKY0gMaYIleJMEVNnpU6IEBEEi1A1okvFVMLxKA/QcXjHK6O8AbuDxExxlFh9TTdMRH0ILSVGtCBmPMx0fJSIv/pHk3i4ZHEoqm5ClTZgZ+BIbWb3/t12UGcJtI3i1aeJm2DoXsZtsFD+LWeQTcygJnZv93mAemOiw8uoDcCGXQEDMI29bVM3TEx0HPbx8lXsDqkOR0XWiAhCCzBQ6r1sdoWssesYLWdk8fl8e64p9nJ3qGPIwjjhHClaFRr9UqqbqbndNSRalEDTD3Wzumxi6Huv1raDGiXCqBdmJqfQvaN7NAa+UCktxX+7FpX921KjtqnYbXXXcxhZqRNiEREEq1A9NeMIEI3YgCChpIqqVnWaQTeeWN01d3m0lmVqUmVe1ogI52UMGfcyO6kyU7Z2aMV6uFs3AygzkxSrugOHQ2GigXiorct+JhS11D6q1l3UTWdqTayCtlEvjhmFCb+Nmnked137wkEgGsFvq3q+zwfYG1p99rRNN8A4gdnJ0nUf4qj46Fza2dnZ2e+GsuO6kzi9O05YQbAa+Xyehw8fAjA2NobL5ZJCESo8evSIdDoNwKefftry6X348CH5fJ6enh7u379//gky4zULWIXzo1Ao8PnnnwNw584d7ty5c6L4ZGpGEARBEIRzQ6ZmBEEQhNbH5icSkWJoR8QiIgiCIAiCCBFBEARBEESICIIgCIIgiBARBEEQBKH9kcWqgtAiFAoFnj9/zps3b6QwLERvby9Op1MKoo5MJsP6+roUhIXo6Ojg/fffp6enR4SIIFw0Njc3+ad/+ie2t7elMCzIixcvGBkZkYIo8fXXX/P48WMpCAuyuLiI3++nu7v77ASQFLsgnD9ra2siQiz+/oRdDMOQQrAo29vbZ27JEouIILQYLpeLwcFBKQgLUD5JV2jOvXv3pBAswPLycuXk37NGhIggtBg9PT309/dLQQhtgdRla7CysnJuz5apGUEQBEEQRIgIgiAIgiBCRBAEQRAEQYSIIAiCIAgiRARBaGXMOGFVRVVVVDVG6swenCIWjmPuJoR4OEzcbHBfJV3V/69LfyxVl60wqtoovn3KoSY9hy7AJukWzrdah1Gbvs9m72zv9VRMpbpqpWIq4aobzHiYWKqqXppxwjV1sUGdJUWs0ubKdfeAet6o/VTHoapHq+8iRARBaA1SxCbn8UY1NE1Di9qZjZ1EipjEw6chZqrjcRPUgrj3u93hwJFIVj3XZGEeHI6zSKvQgjKEhXkFnzLD3AlfsNvjI5FMVdpLMgFZI1dTz+wD+9XRJr85AkS1UrsLug9Xz/fEq6FpIXz4CGkamhbBb7uYb1y27wqCZXVIkoRvAq3cedn8RIKlUd2cgZJIkPCFiNpnmZzJFu/xhYodpxknPDlDthyXL0SIKWaygJrAEYjygOm94Q6TrNhkVTwBlBkDz76dtJeJwDzJFLjdQGqOGcVLQJ+vGblWp6U+rZFRgHmm1VKeSulNxVSmEuzJw+51Bw4HeEkRU6co3uogEL24H4Xzr9dzzHvHidhBTaYIupu9M/a9XlIi+KaSpIJu3KYBgRCB+SQp3LjJYeBl3JYipibr6qhJPDzJvPcw9bds4Ujuua++3h7UhlIxlaRHI+gut2M7kXFjtz2XRVDEDw3jtmY9FiEiCFYdNxo6Dvt44x8T4NE0gmac8NwEmlbuzMPETTd+m5+I5q/qdOcgEiWgz2GPBHE3DXeIsV6wKh5SxGYOPmVzYNSLPldUIqmkTmB8HKbny70500ZtWozx6mcAJpAFb1QjYjOJh6eJx5PM6AGimh8bZTO9RpAYU4RK8aWIqbOwkEQPRNFEfbSAvtbxjtvANk5gdq4oGlIN3lmxMjS+XmV58PhmMUwYWJgHewS7MkUyFcRNEt07jo1cQzFtTGhE3E3qb3aGSXWmZByJEvE3aqB76+1Bbcjt8TFVEl+puRkUjwYYu+25VI/n4qA3ijtnzXosQkQQLIrNrpBN5oAGnY7DzgBAziCbmEFN7P7k8wC24ohvZtckQqg6fNNwbyszo3j1aeImGLqXcRssHJAW+548exm1AdiwK5A0dBze8UqSB+wOdMPEpFrADWB3AKNBHiyEUdXskaw/wqnLEJKJLImEykz5XaeCDBgN3tkeMb57vUbk2mF2wcRuKHj84MbHrGGSMkqCp16IJKaYwkcouE8yS1aJ3eawV8wcqw1VLDiQTPjwBEsiu9yey/V4fp5sNrs3bneQB4b16rEIEUGwKm4PvqlZ4uPlUVaKWAyC9UaSRh1Sao55bxQtYtu1iACgY5gUrQz7dmQD2JliLuUvmZEXmM8qTFQ62VI8hxYuNka9MDk5hSMQ3dtX70mLSXx2/2fY7QoJY1eo5YwsiseGjWoBl8PIFkWNzR9B8xfN6eH4ABGxjpyHOaR2RG/GCc+lsHmavDN74+u1GtcLc3MkdTvjpXajzM6RRMHT6BX7QmieJGo4TjRiP1l+jiwG3IwHZpmLQcLnoZEWyhlZFMVHVploGLcV67EIEUGwrhIhGDUIT5ZHj8U5YagyJbuDhJIqqloZyhXnjd0elKlJitZlBw6HwgQ27EqWqUmV+UCUEJN7w9l2hYP/QYDwpIpa9bubskWiHE8A5dBGES+OGYUJv600DNw/D9VpLa4RqWM0SMioCucLUbRkjxOYLefNh88HxlwYNZHdtQ5pIkLOR4eUrRTlSmFHScwSH39AQK99Z8W6sfddNra2zTDvLQvcAewkmFFCNDV6uINEjTCTMQXfsZtnk7ZnO7gd6DPzBKJVqauaCiqLG09sb9yjC1XrRixUjy/t7Ozs7HdDOp1mZWWFsbGxI0d+krCCYDXy+XzFCdrY2Bgul+tYYe/cucOdO3ekQC3AZ599BhT9qRzk3O3Ro0cVp2Kffvppy+ft4cOH5PN5enp6uH///rHCWiWvLYUZJzwND8pTP/V/vyWePHnCkydPgKKjwv18BBUKBT7//PNT669k+64gCIIgtIoOWZgH7ygXySYnUzOCIAiC0CLY/BEitReIRNo7z2IREQRBEARBhIggCIIgCCJEBEEQBEEQRIgIgiAIgtD+yGJVQWgxytveBaEdKG9LF1qbly9fihARhItMd3d35f+FQoFCoWC5PFy6dIkDjiVq3hFdvszr168t+/46OzulEldx9erVyv/L54lYaoR+gvp4knZwUeuzCBFBaAF6e3sZHh5mfX3dkunf3Nyko6ODv/3bvz1y2Hw+z69//Wvee+89y76/27dvSyWu4s6dO7x69cqy6f/uu+/4z//5P+97qFcz/vVf/5U3b97Q1dVl2b7o+vXrIkQE4SIyOjpq2bTn83kWFxePHf6dd9458GRSwVofMyu/z5NMJ12+fJnbt28fS8RcVGSxqiAIgiAIIkQEQRAEQRAhIgiCIAiCIEJEEARBEAQRIoIgCIIgCCJEBEEQBEEQISIIgiAIgiBCRBAEQRAEESKCIAiCIAjHRk5WFQThUOTz+abO+E7qG+fly5c8efKk8Wipo4Nbt26JPxfh1Nje3ubrr7/mzZs3TevjSVheXm7aVm7cuCGnrooQEQThOLx69YqlpSU2Nja4fv06Nput8ltPTw+Dg4PHivf69esMDQ3VfBS2trbIZDJsbGwwMDDA8PCwCBHhVIXIixcv0HWdrq4unE5njaO+oaGhY/tbuX379h4R8uLFC3K5HN3d3fT09MgLECEiCMJxcDqdOJ1OMpkMy8vLZDIZbt68idPpPJGDr87OTj788EMA1tbWePr0KaZp4nQ6uXnzpnTcwqnT1dXF3bt3KRQKLC0t8fz5c/r7+08kQMr09/fT39/P9vY2mUyGr776iq6uLj7++GOcTqcUvggRQRBOS5Csr6/z9OlTvvrqKwYGBrh58ya9vb3HijOdTrO0tMT29jY3b95kdHRULCDCW6enp4ePPvqI27dvk8lkePz4caUOOp3OY9XBQqHA06dPyWQy2Gw27t69e+x2IUJEEARhH3p7exkdHWVzc5NMJsOvfvUruru7GRoaOtTIrzwaTafT2Gw2RkZGztz9uCBA0SrncrlwuVwVq9yXX355JKucrussLS3x7bffcvPmTX7+85+fyFIoQkQQBOGQdHV1MTw8zPDwMPl8nqWlJR4/fswHH3yAy+Wiu7u75v5cLsfy8jKrq6sMDQ3x05/+dM89gnBe9PX1MTY2xubmJul0mi+++IJ3332XoaEhFEWpuXdzc5Nnz56xtLREX18fH3zwAQMDA1KIIkQEwZo8evSIdDrdFnnZ2dlhcXGR3/3udwwMDOByuSgUCvz2t79lZ2eHzc1NAL788ku+/PJLS+e1p6cHt9u95yN1kcnn8zx69OjEu6lahZcvX/KnP/2Jjo4OPvjgA9577z3S6TS5XI6dnR22t7cpFAroum75vCqKwt27d0WICMJFY3V1tW1ECMClS5fY3t4GIJvN8s033/DmzRtev37ddu+uPMUkQmSX3//+920jQsr1eWtrC4CvvvqKzs7OiphuN3RdZ3V19UynSUWICEILUP5ol0fY165dO/2HfPtbPv/Hx6wB4OK//Ne7nMka/vJzXf+F/3rXWXX5c/7xMYz84j7/27uHiojffv7/wv/R7P4Mv/pvGZxnla/SyL/+/Qm15SFnZliDly9fVsTjWddnESKC0GK4XC7u3LlzyrGmiKmrfBLV8NsAM0547kf8n0H3MeMziYfnsEeCHBiDWeDfUqu8k/6eH/3f90r3m8T/7d9wOOAv/vd73LMd7pmFf0tB0/tT/OG/fc9H9+7hPqN39dlnn0mFPYB79+5JIViAJ0+eND1UUISIIAinoEOSJHwTaOUPuM1PJFgWJAZKIkHCFyJqn2VyJlu8xxdCC7qL90zOkC3H5QsRYoqZLKAmcASiPGB6b7gavEwE5kmmwO0GUnPMKF4C+vxuEmMqUwn2xLF73YHDAd5cnPA0PIj4sQGpWBhjPFIUWGXJEg8fkB5BEFoFESKCcAEwDR2HfbzxjwnwaBpBM054bgJNKwuAMHHTjd/mJ6L5aywhRKIE9JJFpGm42scMjHrR54pKJJXUCYyPw/R8WYUwpQeIamVxoRJLaQSJMUWoFHeKmDp7iMzGmTYOTo8gCCJEBEE4I2x2hWwyBzT4GjvsDADkDLKJGdTE7k8+D2AziYcnmdk1iRCqDt80XH0iRvHq08RNMHQv4zZYqBZK3vFKkAG7A90wMakWUAPYHYfI7GHTIwiCCBFBEM4Itwff1Czx8bJlIEUsBsF6I0mjaYzUHPPeKFrEtmsRAUDHMCmuxzjU9IeNUS9MTk7hCERrdEG9UMoZWRSPDRvV13MYWbDXmj8wGu2YlOkYQRAhIghCSykRglGD8KTKTNEMQiAaAYyqW4KEkiqqWjGVEIhG8Ls9KFOTqDPFaw6HwgQ27EqWqUmV+UCUEJN7wzWwQNhGvThmFCaKK2abP9sXojizMk5gthy3D58PGPAzoahMqjNU1o3UZLVJPsQiIggtyaWdnZ2d/W5Ip9OsrKwwNjZ25MhPElYQrEY+n+fhw4cAjI2N4XK5jhX2zp07b2HXjPA2KO+a6e/vP3B3SPWBdZ9++mnL5+3hw4fk83l6enq4f//+scKeSl5rFkv7CGnBM9kVlYqpJD0aZcNaKqYya48SKSlaMx5mzj4BU0k8WnmtlJ1IjSUuRUwt/b6bod2pTkeAaGnR9XlTvWvm3r17+267LhQKfP7556fWX3VIVyIIgiC0Jilik/N4oxqapqFF7czGUidRNcTDMQ4Tg9vjI5FMVdKRTEDWyFXiWZgH+4Cb4L7CaO/vZny6ONWpaWgTBnOpw6epXZGpGUEQBKFFdcg5bjt3e/BNJUkF3bhNAwIhAvNJUrhxk8PAy7itucVj3hsl4s/t+d1mV8hOzZHyB3G7g3hiKlNVaYr4bY23sh8mzyJEBEEQBOH0ON9t5248vlkMEwYW5sEewa5MkUwFcZNE945jI7dXO8UmMSY0Im6gwe+4g2ihGKqqlqZmqtJUjKDxVvaBw+RZhIggCIIgnBrnve18wA6zCyZ2Q8HjBzc+Zg2TlKHjHbftFRqJKabwEQoekDF3EE0LYsbDTMftNYutm21lZ+AweRYhIgiCIAinxzlvO7eNemFujqRuZ7yUHmV2jiQKnkYffV8IzZNEDcebLkJtdBJwJU225lvZGz6rTbaoixARBGF3Pr2ucyselc7Rtr+atUewH51G8+7CBVUi57vt3DaKV59h3ls+92YAOwlmlBDBfawdUSPMZMyO1uAm97iX2Up+fIQ0NxhTlTRF/E22spscnGeLWkRk+64gnBKW3r5rxglPz0NWYaIiAEzi4WnmAe+DsxQi1kG27+4f1ip5Fc53+65YRARBKHGwY7pGzuSqV/j7QqVFdcwzrZZ2LPhCaOPGnh0Me3YCVK5TZRFJEVOnir/hIBDyMp+svj9AQJ9puTMZBEEQISIIwjHY1zFdI2dy8SQzFad0ZbUCZMEb1YjYilaVOJE9OxiK2yCBhI49qqGV7zUnduNKJdEDUbSyOcaMM1/eOVASKUZIQ3MXwy6YfjlBVRBEiAiCYFn2cUzXaKW+wwEOb4PtlQ4vozYAG3YFDPbZwbDn3ircQR4YYVQ1W7KsAD5PaepoALvDh93dJKwgCCJEBEGwnBJp6piuqB/qVuqnYqjNtldWs9BsB8MhUuSPoPmL00LhOYV6t3eCIIgQEQShnaTIYR3TlVbqh9i9trtGpI5RD8pk/Q6Gg6lZk4KPUNTO7Jy8I0FoJ2TXjCCcEqe1a6a/v58bN25IgVqA8i4D2TXTOCwgDhwtwsrKSuWdya4ZQRBBU+kQrMLOzg6XLl2Slyc0FWsXCWkPIkQEwXJcv36drq4uNjc3LZn+7u5uhoeHjx2+UCig67pl83/9+nWpxFXY7XbLiekyXV1dKIpCT0/PseN49uwZr169smT+Ozs76evrEyEiCBeNzs5Ofv7zn7O+vm65tK+trfHHP/7xRObZfD7Pt99+y1//9V9b8t2JEKnl1q1b9Pf3W1JY/uY3v2FwcHDfqYmD+Oabb/irv/qrM/+gnwa9vb10dXWJEBGEi0h3dzfd3d2WTLthnHzj7OXLl0/U+QuthRU/wuV6eFI6Ojro6+uT+nzY8pIiEARBEARBhIggCIIgCCJEBEEQBEEQRIgIgiAIgiBCRBAEQRAEQYSIIAiCIAgiRARBEARBEESICIIgCIJgec79QLONjQ3S6TRv3ryRtyE05OrVq7hcLjo7O6UwBEEQRIicLo8fPyaTycibEA7kJL5MhOPz5MmTAx2XHcXTcCO6u7tZXV3ls88+a3pPV1cXfr//zI+fFtqHzc1N4vH4vkfPd3Z2nviE456enoo37WachtdaESKnhFUdAwlSTy4Kd+7c4caNGywvL6PrOoqinNgXRz29vb38wz/8Q80HI5PJsLS0xPb2NoODg7hcLhEhwono6uri5z//Obqu8/TpUwCGhoZwOp2n6l5hbGyMsbGxyt+rq6ssLS1hmiY3btxgcHCQgYEBeSGtIkSqFeT9+/fljQgVCoUCn3/+uRREC9Df309/fz/b29tkMhkWFxd59OgRLpcLl8t1Ik+l1WQyGXRdxzRNnE4nY2NjlvVZIrQmZU/Rw8PDrK+vs7S0xL/8y7/w3nvv4XQ6cTqdp9Z/PX/+nKWlJbq7uxkaGmJkZETEdCsLEUEQWp/Ozs6K+CgUCqTTab744otKR6soypE72vX1dZ4+fYqu69y4cQNFUfj444+lsIW3Tm9vLyMjI4yMjKDrOplMhoWFBZxOJ4ODg0f2qlwW6tlslm+//Zb333+fTz755NSEuggRQRCEKnp6eirz3GXT85dffonNZsPhcOxret7Y2KhMvQDcvHmT27dvW9b7sGB9FEVBUZTKtODjx4/Z3NxkcHCQ999/f18xkc/na6YuP/jgA5l6ESEiCNYjl8vx4sULSwsTl8vFt99+y29+8xt+/etf8xd/8Re4XC56e3vZ3t5G13XS6TQvXrzgRz/6ET/5yU/4wQ9+wKtXryqixGpcuXLl1NcYWJ3yx9zKa7tsNhvff/8933zzDV9//TU/+tGPGBwcxOl00tnZWbEILi0tceXKFXp7exkeHqajo4MXL15Yti2/9957Zy6iRIgIQguwsbHB//gf/4Pt7e22ydPOzg6///3vefbsGT/4wQ/4/vvvAdja2gJgZWWFlZWVtsjr//yf/7NmceJFZ3Fxka+//rqt8vTNN9/w4sULUqkUP/zhDykUCrx584Y3b96wsbHB+vo6uq63RV7v379/ptNJIkQEoQVYX19vKxECcOnSJXZ2dtja2qqIj3alUChIJa5ibW2t7fJ06dIlXr9+DcC3337b1u/v5cuXIkQE4SJzKucLmHHCkzNkAfAR0oK4WzK3KWLqFImaaw4C0Qh+W4qYmsRTk3aTeHgaHkTw22oyXLo+gTFZH+btsd+5J0KRTz/9VArBAhzmvCARIoIgHP7jPjmPN6oRsZVESSyFO3iST7NJPDyHPXKSD3yjONwENY0gjUSHm6DmltcpCG2OBYRI7YjJEYgSqR0KnSEm8fAkM1nwhUIwdXYjL0E4fJNJkvBNoJWbic1PJFj6KaYyVW5MvhDauEF4zkBJJIptzBdCC7rr2p0DhyNLNguoiWIbHF3YDedw4MDLg4gfG5CKhTHGixaLmueVKcdxYDveFSdU4nHgcICX+vzUXq+02HiYyZls4/xW8ioIggiRg3AEiEb82EgRU+dI+Y/68T+N0RxgLjBPgKhW7HCR0ZrQgpiGjsM+3uC7HmNK362/qZhKbCEACR17VEOzFac34qYbfy6JHoiiVcRCXRsygQR4NI2gGSc8TePnEUKrtJNjtsOaeFLE1Nn9r++qEKaNicrzU7Ew8Zx3N91SVQRBhMiJB371o7ugu8m1ohWj4WiuLHQewHTdSKl2NOXDl0iQBSZVg5DmIVk2JadiqElPJcw0D87RaiNcdGx2hWwyB9j2ChTveOXqgN2Bbhjg8DJqA7BhV8AAcAd5YIRR1WypHTXYzuewM3AcQXREjJp4BrA7GsW/e71CziCbmEGtssj47N4D0y0IggiRvWRnmFRnKuIi2Gx0F/ORqL+W0ggGowT0JqO50n1zC4HakVKD0ZQRCuCYpWSCTpEsp88dJJRUicUD6MYEkaCIEOEccXvwTc0SH3eXFnSmiMUg6KkVKDkji2L30mzHoc0fQfMXpzfC8Qm86BgmuPet3iaGvp8gOkwctdhr4slhZMG+J/7d6zXUT7+YccLzUkUEQYTIUalMzRRFQzge5QF7R3eJmaLFo3bEZ9LQDlw1KtodGVaNlJqNppr1/eMBZifn8UYjUquE81YiBKMG4UmVonwv7kLB5iaUVFHVqo/0qNHww1xjDcRHSHODMcXUpMp8IEpktEaxMKGopcFC1VqNkkAvP88X0vAo2d04Dms1dI8TmJ0sxePD5zvget0AoZJfHARCXqkeLUujBcunGWf9/1tht1ZdOnwhikui9ovrKOkTIfJWGCjZX+tHWzkji8/nI2HUjfg8tpIJpPlIrOnI8NCjKZP49DzekJf56TijJdEkCOeGzU9E8+/9pgc1tGCtaIlEqn+PFDu3kjWkhpqw/rpw9fE2ue5ufF/jHTK719wRjb25seFvdL0qnkbp8svSrjbhJGv/Wmi3VtVAe7epXaxKar2pGUeAaMQGBPeO7oJuPLG6a+5ih2WvHomNsme6Z8/I8AijKTM+zbz3ARG3jVEjzHR8VNaICIIgHFtjxBvs5uLgnVyVs3N2w5zEinI+u7V2nz9QH09duMbpqN3xVrTyf4376AAAIABJREFUiBA5IWXleojR1mFHZmYjFVo7Mjx4NFWlmv0RIpWB6O7/BUEQhGNSv5srruy/k4tqK2DxtxSe4z//rHZrVQ2Ki9va94nHdO+Kiqbpq9/xJhYRQRAEQTg69bu5RoM8WNhvJ9fuOU8lEwKhEzz+zHZr7RkU55rH46Gy9rtZ+vbueGv9aZ6LKURs/j3WD0EQBKHVu+59dnKl5pj3RtGKxwkTD8+d6FktsVtrHyFh3ycdteU00PJLBcQiIgiCILQ8xlwYNbHPTi6/B2VqkuIshwOHQ2HiJA88791ajeKpXu/RJB17d7y1/hTNpZ2dnZ39bkin06ysrBzLxfVhwj58+JB8Pk9PTw/379+X1iZUKBQKfP7558ApOYJ7y+TzeR4+fAjA2NgYLpfrWGFbPq81DvWq3C6UTlh9sGfX2NvYltkalJ3e9ff3c+/evX3vffToEel0GrCGI7iT9M3lsFbJq1Dr9O7evXv09/efWd/cIcUvCMLh2XWop2kamhZCmZkmbu47tCN4JBFiEg/HSElhC8KFQKZmBEE4gg6pc6iHm/HALNMLJv5RgHmm1ZK1pLIIb3d3Q6PtiNVuGXwhDU+yziWDbIUXBBEirUqhUODJkycUCgV5kxbDbrdz69YtKQiL0ch/jK3ioAbIKkxoxUPRUjGVuZSfylq7RtsR40lmahzjAe46lwyCIIgQaVV+85vfkMlk5C1akHw+z8DAAL29vVIYFqJGdFSJkwp7XCdUuVhosB3R4QCHd1wKVhBEiFiTV69eyRu0MBsbGyJErMaAHaamiY9GKg715mbAG907fVLrYqFE/XbEVAy1gafg4zjHEwRBhMi5IiuzrUH1ymzBgtj8REIGasWhXnFdh7+iN6rWiFRcLJRosh0xRK1jvKC7ziWDrBERBBEigiCIWNvlXX72s5/t/vn0Mz57Wvzvhx9+CB9+yIfFH/jss6fABsabP5H97DN+/O7PqA768r9/xtPqa+W4ytde/ndKO2QFi/KZvEBBhIggtD7d3d2WTn9nZ2eTabYdtl+/wzsf27jcealp+NevX/Pq1Su2trYsmf+rV69KJW6T8rhy5QpXr17l8uXjfx7X19fZ3t6W/kiEiCBYh97eXu7cucPKyorl0r65uUlHRwd/+7d/e+w48vk8v/71r/nxj39syQ/XzZs3pRJXUT7gyorr+L777js8Hs++B3odxL/+67/y5s0burq6LJf/69evn/naPREigtBinbfVyOfzLC4unjied95558DTSQXrCOuPP/7Ykmkvn3B8og/r5cvcvn37RGLmIiEnq543qRjh/Y+lFARBEIS2RSwiNX4zfITOzB9GtcvqBKrxd/gS/0Si5h4HDkcWZUKrHAqViqnM2nd3EpjxMHP2CAd6em7oB6R9fYAIgiAIIkQswK7fjKLn6DjhWAp38Lif5d2jrA+MITXHjBJCi1TdGfwHgvXiIBVDTaYIut1AimQCsr7yuQsmC/Ngf3Dc/LsJau63l0dBEARBECGynxio85th8xMJlgTJnIGSSJDwhYjaZ/f4x6j3QIovRIipGh8ZD5jeG67MgB1HIkkq6N7/g+724Jsq3WcaEAgRmE+Swo2bHAZexuuOWaj23VH73Ho/IKMsVIkKU/yAALC9vc2zZ8/kCHqhLcjlcnR3d9PX1yeFIYgQaTUa+c2okACPphE044Tn6vxjmG78Nj8RzV9jJSBS5SOjabgq0RONE1ZVpkoHOzX+prvx+GYxTBhYmAd7BLsyRTIVxE0S3TteeyZlKsaUHiCqFadgUjGVWEojOEADPyCj2CuFIX5Ayrx69YrHjx/T398vnbdgebLZLJubm9y9e1cKQxAh0mrY7ArZhsdLs+szo4F/DJ8HsFWv8QDwEaoZhjQLV52Akpgx44QnY9ibrNUYsMPsgondUPD4wY2PWcMkZeh468whpqHjqBInFX8fAzTwA5LbFSLiB2QPS0tLjI6OSi8hWB5d19nY2LD8eTWCCJH2w+3BNzVLfNxd8ZsRi0Gw/ttbP60CkJpj3htFKy4uKVpEik2eip+vRuEaKyKUek9i1T+PemFujqRuZ7yUbmV2jiQKHtv+4mrX30ctxesD++fzAvsB6erqQtd1RkZG6OzslJ5CsDTd3d2k0+niybeCIEKkpZQIwahBuOI3ozhFUuNetIl/DL/bgzI1iTpTvOZwKExQ6yMjxOTecKWPd816DIrrL9zNlQhefYZ5b7QkCQawk2BGCRHck6W69Jb9fTTxAxKf3T+fF9UPyJUrV+jv7yeTyeByuaSnECzN0NAQS0tLIkQEESItSc1ajzJ+IpHqb7uGFmwgYjRtrxCoubdRuPJjI2ijccJzdiI1VpNGO1ls+CMa/qZ/12uRBs+1+YlE6kOYB4drcK1xebQfg4ODLC4uihARLE9PTw/Xrl0jn8/LIVuCCBGhThyc2wc9RUydIuELocmbaEh/fz8LCwusr6+f+ZHHrUQ+n9/36PlCoXAqz3n58uW+zv46Ojq4deuWTJUdk7JV5CILke3tbb7++mvevHmzbz08DZaXl/dtNzdu3BBRKELkotPEoiPUMDg4yPLyMh999NGFLYOuri7W19fJZDIAOJ3OGmHW09PD4ODgiZ5x/fp1hoaGaj4Qb9684fnz5xQKBbq7uxkaGhIRcgIUReHx48dsbm5a0gfKaVCuP+l0mkKhQE9PD++//z4dHR01gu369esnes7t27f3iJD19XV0XWd7e5uBgQEURZFKKUJEEA7G5XLxy1/+ktu3b1/Yj2BfXx8ff/wxIyMj6LrO06dPWVtb4+bNmyiKcio7MTo7OyvrF/L5PMvLy5imic1mw+FwMDAwIJXxFMrY6XSSTqcv9Bk5H374IR9++GGlnj179gxFUU61nvX399Pf38/m5iaZTIalpSW2t7e5ffs2LpdLdi+JEBGEw1M+CMo0zQs/gunu7mZ4eJjh4WHW19d5+vQpi4uLvPfeezidTpxO57HjLhQKpNNp0uk0165dY3BwkJGRkQs7cn9bDA4O8ujRIzmsr0osbG9vk8lk+MMf/sDCwgLvv/8+g4ODJ5qO1XWdTCaDaZo4nU7GxsbkTCIRIoJwMqtIOp0WU2oVvb29jI6OMjo6Wul0FxYWcDqdDA0NHarT3dzcRNd1lpeXefnyJS6Xi08++YSenh4p4LdE+b2sra3Jh7FEZ2cnLpcLl8tFoVDg+fPn/OpXv6Krq4vBwUGcTuehBHFZnOu6XhHnVvVALEJEEFoMRVFYWFiQA6H2KR9FUSpm6EePHrG9vc3Q0BBOp3NPmeVyObLZbGXqRdylny3lRatyWN9eenp6KlM3q6urLC8vs7i4yI0bN3A6nXsGIxsbG5XpSoCbN29y+/Zt6ScuqhD57LPPLJfmnZ0dLl26JLXQQlaRt3kOwz//8z+ztrbWNmX25Zdf8tvf/pYf/ehH3Lx5kxcvXpBOpyvWEKAyHWP1EfXo6Khltnk7nU4WFxff6mF9uVyORCJRec9WJ5PJkMvluHTpEk6nkxs3btTsinn9+jUACwsLLCwsWDqvfX19/M3f/M2ZromztBDp7e0ln89bNv1dXV1cvXqVy5eP/hrW19fZ3t62dIW30qhhaGiIL7744q0JkdXV1bYSIUClfv7pT3/i22+/5fXr17x586btxPf29jbLy8uWESJdXV3YbLa3eljfH/7wh7YRIWW2trbY2dnh2bNnPH/+nK2trbYcdK2trbG6unqmVkpLC5Hbt2/zwx/+cN894a2uskdHR4/1wn/5y1/yzjvvcO3aNcuqbiudzfG2D4SqFpX9/f3cuHEDofXZ79yTVuZtH9ZXXZ/v3LkjFcUCrKysnNvA3tJCpLu729JHFu932M1BlBdYydz62XFWB0LduHFDOm8RIm+VszysT+qyderyeQmRDil+QTgciqKwsrLSdiZn4WJSPqxPEM4bESKCcEiqD4QSBKvjcrl4/vy55deaCSJEBEFGkYJgQaoP6xOE80TOERFankuXLvHkyZMznY9vdtiTHAglnIQrV66wtbV15scNNDuMTw7rE0SICMIh+PM//3P+03/6Ty2THjkQSjguOzs73L9/v2VOj5XD+oRWQKZmBOGIOJ3OihfNsyVFTFVRy/9iqWOEj5F6y+kKx81DpKFZWkzi4TB7ozhs2huV0VHy3ez57UvZKtJ6vI36Wh1nffx1dUd9G/XgoDwd1D7EIiIIAmdzIFRTHAGiET82TOLhaeKmG7/tsIHdBDX3Ph/gOeyRIO4TpStFTJ0j5W8WTzkNKZJHesB+aW+Wll0OHfYC8rYP6zs7TliH6+tOKoY6GcOunSC+Y9dj94WqsyJEBOEYvO0DoY7cBcfDTM5ki3/4QmhBiKlTJGo6WDtzahKPFsRNqup3Bw5HlmwWUBM4AlEeMF0XnxvMOOE5AyWRIFG+1jxBhKfhQalTT8XCGOMR/LYUMTWJR/PUjgNjKlOJclrA23CkmMQTtTNbTkN12g4chZbz3ais3E2eX1tGgWjkCKLPOrztw/pOqYLv1r2GdXxvHY6MLhCenCFbjqMU5vCaIUg0EGY6buL22w5oY8X6MboQPqDd+PAlKNZFM75P+nbr7ED1c0tCifq0jBuHb5siRAShPTjLA6FqyM4wqc7UfhjNONPGBFppBJWKhYnHFfRAFK3Ugc7Zi9aK3W9zsvL7ntGkGSc8Vxef6cYPkACPphFsmq5ixxjEYPaweUrFmCJUel6KmHpAyISOPaqh2ZpYharS4ghEifhrP2h7yyrJTKPn7ymj9raKnMVhfSei/r1X1fHGFhE/Ec1f81sKz7GF0H5trCKWjIPaTYpYomQLtB0ufTZ/BM1fFNDTjGJr9Jyct3nbFCFysdnY2GB+fr7pWoK1tbVjOxbq7Ozk8ePHTd1T2+12bt26JS/hLVtFlpeX+eijj87uodUjorkU/qAbcgbZxAxqYvc2X2gCZWqS4vfYR0jbO9p7YIRR1WxpJDaw+1uj+DzAAOCwM7BPumwl60Z4zgfYD9fHGzoO+3jprwHsDjD+HxX1/yunvc407vAyagOwYVfA2CctpQztmzeHAxze2uc3LqP2NZUrisLjx4/Z3Nw8lMv7c6H+vY8GebDQpA5XPu6TzOyaHAgdp2zstiZtLFJbPzxHbTdHSF8qxqQxgRa0QarBc+ze5m1ThMjFpru7G7vdzldffcXW1hZOpxOHw1EjJq5fv36suL1eL+vr65W/X716xdLSEvl8HqfTKUe/nwEul4tf/vKX3L59+0w9VRZHSQ8IlK0BJStE9YfSjIeZC2nsN81cPdIKxyfwomOYFD/6jT68h1y4N2B31KkDE0PfJx12hWwyB9iAHEYW7A80tP/rLRVefd5SMdT65zcsowEibWodqT6sz0oDmKZ12Aak5pj3RtEitorF4chWkBmFCQ1INWkT7qrnzx6x3Rw2fWac8KydaMTdvA6bccLz1q1/IkTeMsPDwwwPD5PL5VheXubRo0cMDQ3hcrlOtF2uu7ub7u7uSrwrKysMDQ3h8/lkG94ZCs3ygVBnfw6DjVEvTC+Y+P1BQkkVVa0MHQlEJ2BSRa0YCWqnKGrmu/ER0txgTDE1qTIfiBJisi6+CP79klM9NVOySORiamUaqfG6j3JnPk5gtvw8Hz7fWyw2d6OyekBA3/v8vWXU3lM0g4ODPHr0yDJCxJgLoyaa1+GI31NlFXTgcChMHBRpdT2utsY1qDc+HyRqnh+EmHr4duM+XPrMhXmy2WwpXcXn7KnDIa+l696lnZ2dnf1uSKfTrKysMDY2duTIDxP24cOH5PN5enp6uH//ftt/vAqFAktLS6TTaW7cuMHNmzePbBXZ3Nwkk8nw9OlTrl27xuDgIE6nsy3L6vPPP8fhcLTUOSLV6LpOOp3m7t275PN5Hj58CMDY2NiRFrJWh71z586JHYXtLg4FSBELG4zX7SQRTk75YLL+/n7u3bu3772PHj0im83y85//vGXOEannn//5nxkbG6Ovr+9EfXM5LMCnn34qFcUCVB8aee/evX2t6uW++bT6K7GInDE9PT189NFHfPTRR2Qymcq87M2bN3G5XPua+NfX1/nqq68qI/C7d++e7UJJYQ/VB0K1Em6PwtSkSmVsF9JEhAgHIof1CeeB5YXI2tqaZb2hXr16lY8++oj/9b/+F3/84x958uQJiqJw69atisDY3t4mk8nw7Nkzvv/+exwOB2NjY3R0dLCxsdFyH8DD0tfX17qL4o5I+UCo4673eTtKJIimBRGEo+B0OllcXGRkZEQKQxAhchh+97vf8eWXX7bVC1laWiKTyXDt2jWuX7/O8+fP2dnZ4fXr1wB89dVXfPXVV5bPZ2dnJ7/4xS/aQoyUD4RqKSEiCMeg+rA+QTgrLH3E+zfffNOWL2Vra4u1tTWePXvG1tZWRYS0E9vb26ytrbVFXsoHQrVLfoSLjXiYFs6atlkjctBCMaE1WF5eblG/FiejPLcuCFanfFhfu0ydCiJEzrTxCK3PyspKW+arvGj1tMqovHpdEM6DwcHBUxswSF2WvvnCCBFBOE86Ozv5yU9+QjabPXb4Mvl8vrL10SpcuXKFS5cunSiON2/etOU0pBVxuVz8/ve/P1F7sKoQuXz5Mh0dJ1u1sLOzw9bWllQkESKCcLacRIj09fXR09NDoVCwZN6vXr2Kx+M5dvi1tTUWFxct/e7bie7ubn784x8fex2ew+Egl8tZMu8dHR3cvn2bvr6+Y8eRTCYtK0S6urrOfOG9CBFBOCXeeeedE40g79+/bzlLSFlE/PGPfzzx9Og777zDX//1X1su/9euXWvZA8pOwgcffMCLFy+OFdblctHf38/Lly8tl+/f/OY39PX1nag+X716leHh4ROJmfPiPJY5iBARhAveCZwGhmGcvDO6fFnWerUQNpuN169fH3vRak9PjyUF2uXLJ/8sdnR0nFjMXCREiNSQIqZOsevUsMrV+lk/u+JBNEVMTeKp90B6ILueHX0hjTZ2HCoIwltA1/VT+SgLwoHCTYqgDkeAqKahaRpaSGFmMkZq34/9fr8fNYyPUOnZIWWGudRR46r621xgnmJeRIScDXKOiNBOfP3117LgUjgTRO7uhztINBBmOm7i9ttqvXH6QoSYYiYLqAkcgSgPmK75veymORVTmUrUxV0Kc2i34mac8OQMlaWQDZ4/YUxW/i4zqRoVD5I16fCF0MYNwnMGSiJBov5vAF+AgD5TjLNioRGaviLTlEIQ2oJCocB3330nBSGIEGmtr0ycaWMCTSuLizDGeJSAPoc9EsRtxgnP1f4eN934czGmCFWuF60WpTB7HpJgqiwifCG06htsfiKavyYOIlXPB6AuPdPwoCweUjGm9ABRrfh3KqYSWwhAAjyaRhDANKr+Lk4VGSENzW0SD0+zYPrPaJrKemxubh57YZ8gtBpLS0v84Ac/sKwfL0GESNuh2G2QM8gmZqqNDfg8YC//0eR309Bx2McP+SRfxXrRQAlV1nxU7j2KjjJ0HN7xikVjwO5ANwxw2BmoSYKn9PwB7A4fdjeADbsChlSFpmQyGf7sz/7sVBZtCsJ5k06n6enpEauIYDUhst9I38JWkBmFCQ1IUTPdUsnzrI5hUszznt8BFLLJHNRMapTCHMW6kJpj3htFi9h2LSIN46pKT7VBxV6bjpyRRbF70XVpBKfB8vIy77//vggRwfLkcjn6+vrY3t6WwhDEInIuZGeYVGf2WijcQUJJFVUt31jcUWNXskxNqswHooSY3PO7vy6cL6ThqQpz6DUibg/K1CTFpDlwOBQmsNU8P+Kv+tvno8peszf9vhDaqEF4Xl75SVlbW2N7e5t3331XCkOwPEtLSwwNDfH06VMpDKFVhUj9FtdqjjZd0Hq4CZbXSzT6Naih1f9Yc63B743CuRvd5yaouZukyV0K1iBtdXE3TGPT39xEItVmEz+Ryu82/Lt/4A5GkM03za0hg4ODUhCC5dnY2GBtbQ2bzSZCRGhlIdLsY109XSAIF4Pt7W3++Mc/8jd/8zesr6+3ZR43Nzf33Zp8WtuWNzc39z1Ztqury5InVVqJTCbDn//5n9f4imk31tbW9l2Ee1oLdA9qF319feLh+PhCRBCEMrquc/36dbq7u9tWiDx9+rTiuKynp4dr167tuefGjRsnesa1a9fo6upq6G+mLE66urrw+/3Seb9FlpaWuHv3btvmb3Nzk4cPH1bERqOTT7u6uhrW8aNw48YNDMPYs2ZsY2Oj0k/cuXOHO3fuSKU7XSFSa8oXhIvA8vIyH3zwQVvn8c6dO7hcLtLpdMU1/ODgIE6n89RGzj09Pdy7d6/y9/r6OktLS2QyGRRFwel0oihKW4/Uz5vV1VW6urro7e1t2zx2dXXx93//92QyGXRdZ2VlBUVRGBoaOlVrW7XA2N7eJpPJkM1m2dra4sMPP2RwcLCty/kMhEijNSI+QpqH5LGOIhcEa1IoFPj2228ZGBho+7z29PRURnD5fJ7l5WUeP36Moig4HI5TKYONjQ10XWdpaYnt7W2Ghob46U9/Snd3t1S2M7KGDA0NXYi8Op1OnE5npc49evSoUuecTuep1LnV1VWWlpYwTRObzcYHH3xwIfqKMxIizRd0ujWRIMLFIZ1O43K5Lly++/v76e/vr4z0/vCHP7CwsMD777/P0NDQkR2d1Y9Ox8bGZC3IGbO9vY2u64yOjl6ofHd3dzM8PMzw8HDFCvcv//Iv9PX1MTg4eGQrXKFQ4Pnz5ywtLdHd3c3Q0BAjIyMynXj6QkQQhPII8qc//emFzX9nZyculwuXy1XpgL/44otKB6woStMOeG1trTL1YrPZUBSFjz/+WCrVOYrq05xqsyK9vb2MjIwwMjJCLpersfoNDg5y/fr1piIuk8mwvLzMy5cvef/99/nkk08s6XnYQkKk2dTM+U7JPHz4UN6mBXj58mVb5KN86NNpThuUOzMrHyR17do1tra2WFxc5PHjx/zZn/0Zw8PDDAwMsLGxQSaT4euvv+bNmzdcuXKFd999l1evXrG0tMTS0pJlP2C3b9+29BTS8vIyIyMjpxbf5uYmX375peUXcF+7do1vvvkGXdfZ2dnhgw8+YHBwkJ6eHvL5PEtLSxiGwdWrV7ly5QrXrl1jdXWV1dVVyw4uyuu/WlyI1E/NpIiFDQbOqdDK7Lftr1Vf+ElHHzs7O2xubnLp0iXLVnorW0NOcz69UCjw7//+720nPA3D4E9/+hPb29tcunSJnZ2ditB69epVWxwhns/n2dzctKxFp3wgX7MR/3FYXFzk2bNnbVeff/e73/HVV1/R0dFREVztNMCqHmSd5WLaU5iaGcBOkvpDzM+CoaEhVldXLemYqbOzk9u3b59oLjyZTFrWTff169ctuw6g+tCn06KdOrJGo+N259WrV5a2hpz2gXyndbZMq1EW0Ts7O5YdAB62j2txIbJ3asYRiBI5h8JSFIW///u/t+SLfvjwIX19fQ33sR+WH/7wh3g8nhPFYQW+//77M7d4Xbt2rekc79s+9EnOF7AOn3322ZHDrK6unrnwbNZHVB/I97b49NNPpaJYgCdPnlTOCzprTmlqZgHT70c8xAtvg//4j/9gYWHhzObgt7e32dzc5O/+7u8a/t7uhz4Jb5eFhYUztQaur68zMjLScN6/+kA+QTgvLD01I1wMtra2uHXr1plZCQqFAl988UXT0Wy7H/okvD1ev34NUHN429umfEZGIy7CgXxCWwqRBrtmfCE0KUvhAnCRDn0S2puLdCCf0HZCZH8PtYLQrlzUQ5+E9uSiHsgntIUQAVIx1KmyTcRBIBrBL/MyQptT9nsi/k6EdhEin3zyiRSEcO50HD2ISXwWQppGyOcjpD2A6RgpKUuhzWm5aRkzTlhVUVUVVW3tNpiKqcRStX+H42ZVVsKl31PE1BgpM044Vp+j0m/1/VG4VAbhOKZU00ORy+V499132+T0z0b14lgNing4zG61TBGrtK/yvzBxs9nz6sPXXzutdIoQAXIY2JFZReEisb6+zubm5qke+nTizndyHm9UQ9M0tKid2dhJuziTePikHWXjONweH4lkqpL2ZAKyRq4SZmEe7ANQnPptdkrz3t/M+DTz3mixDCYM5lKnlY/25m2cHdJ+FJchaFoIHz5CmoamRfDb9qujwnE4xtTM7i4ZSDClJvCFNPxSloJYQ85QhyRJ+CbQylOiNj+R4K61oTJz6guhjRuE5wyURKK4yNwXQgu6qV147sDhyJLNAmqieDbQ6MJuOIcDB14eRIrb9FOxMMZ4cUq25nllynGU52zdHnxTSVJBN27TgECIwHySFG7c5DDwMm4rjxqTeKL2KmEzybw3SsSfK/5W9RGw2RWyU3Ok/EHc7iBBIBWbZKYqHxPGZG15BN1Fa1I5b6VrZjzM5Ey29r42ZGNjg9XVVcbGxtq2ve5pA+V3PjlDltrru/c6cDjAeygLzG49bBT+oDgb1rWaOunDV26vF2D5wzGEiA1/uccLamiyalVoc87i0Kcj2x0MHYd9vFEPzJQeIKqVBYNKbCEACR17VEOzmcTD08RNN/5cEj0QRav0cCbx8Bz2SOlDbwIJ8GgaQTNOeJrGzyOEVvG8XRdH1ejS45vFMGFgYR7sEezKFMlUEDdJdO94w+3/qdgkxoRGxA2QazBoDaKFYqiqCo4A0YgfdzBKQC+lIRVDna8rj5RGcKAqb8UvA9PGRCUfqVi4WEZt2Pm/7QP5WkCF7G0DKY2g209E89fU01QqWVV/U8TU2aM/qz78Qmz/OJvVNarqZCpG2F7dNsUiIhyD1dXVfZ2Xndax1wcdpdzb2yuHFZ30o2+ap+7g7qTY7ArZ5N7Te0xDx1H1UR+wO9ANAxxeRm3FgYRdAaP0EX9ghFHVbGlU1mDC1bH/NGxTQdSAATvMLpjYDQWPH9z4mDVMUoaOd7xBh5uYYgofoYMGQY/AAAAgAElEQVQGO+4gmhbEjIeZjo8S8R9UHiYM1OUtZ5BNzKBWWXZ8HtrycKTl5eW2toY0feduiIdL1rLiGyZQU38HsDtOMiAohjcOirNZXauuk3vaZntPBIkQeQtsbm6ysLBQEQmNxEB3d/eJD8Wy2+0YhoFhGHvEyebmJp2dnYyMjDA8PCwv5QQsLS213qFPbg++qVni4+VRe4pYDIKeWoGSM7Iodi+63kTQ+CNo/qKpOByfwIuOYYJ73w+wiaHvJ4gax2Eb9cLcHEndzngpD8rsHEkUPI2e5wuheZKo4TjRiL+JxWR3iqiWUhrsDcrD0yRzF6DDX11dpbOz07J+no4j0ivvPBUrrieK2HYtdzX35jCyYD/2s0rhvQoJ44A4G9U1c7+2ObA7zSlCRDgMXV1d/OxnP2N9fZ2nT5+i6zq9vb04nc5T3f5569Ytbt26BRQPJ0qn06TTaXp7exkaGkJRFLq6uuSFnICyg7vWO/TJTTBqEJ5UmSmaLghEI2BzE0qqqGpVhzdqEJ5vICeq56nxEdLcYEwxNakyH4gSGa3pFZlQVCbVGWrmvd3Bmuf5QhoeJbsbR3XnaRvFq88w742WPhED2Ekwo4San0vkDhI1wkzG7A2ngd3jXmYrZeAjVFo0Y69KQ4jJ2vJw7+306/PRrvPy7btItbhesfyOQ0ztfed4UKYmUWco1WGFCfc4gdly/fDh8x21GTYIPzpOYH6fOJvVtX3bZntP0Vza2dnZ2e+GdDrNysrKsUx5hwn78OFD8vk8PT093L9/v20LWtd1MpkMKysrKIrC4ODgiXdgbG5ukslkWF5eZmNjA5fLhcvlapMteUVx9fnnnwNn6wiufMT7/fv3K06gDvPsfD7Pw4cPARgbGzvSYVHVYcXpnXUoO73r7+8/8Nj2R48ekU6ngbN1BPfo0SNu3LiB0+nkH//xH/nFL35xqMHQSfrmctizzqtwfKqd3t27d29fZ6qn3TeLReSMUBQFRVEq4uHx48fHFg/1omZkZKSFtpW2F3Lok9AuyIF8QqsiQuSM6erqYnh4mOHh4cp0yhdffMG1a9cYHBxsOp2ytrbG0tISuq7z3nvv4XQ6GRsbk07lLdJehz4JF52lpSVGRkakIAQRIqfJ6uoqi4uL++5OsQLXrl1jc3OTxcVFHj9+jM1mY3BwkL6+PjKZDF9//TVv3rzhypUr9PT0sLW1xdLSEktLS5bNc19fX8t3inLok9AufPfddy12IJ8gtIkQefr0Kblcru1eSiaTwTRN3rx5w87OTkVovXr1iu+++64t8pjP53E4HC3bMW5tbbX9oU/CxSGdTvOXf/mXUhCCCJHT5tWrV5X/77ewRmgdXr58SaFQAGhpS9bm5iYul0umvoS2YHNzE6fTKQUhiBB5mxy0Yl1oDapXZrc6Mi0jtAs2m00ONhREiAiCVbh69Soff/zxuR36ZCWxdprs7Oxw6dIlqYBvQVBfu3bt3J5f3uIs9VAQISIIh6Szs/PMzdgnPWW3FcrsJHl4/fo1r169Ymtry7LitVU5j2nrvr6+yjkiVqOrq4urV69y+fLxP4/r6+uW3kRx1tYzESKC0CIN/+OPP2Z9fd1yaX/58iXffffdiZwC5vN5FhYWKicFW42W8szcAty+fZsrV65YMu2ZTIbR0dETCbhf/vKXvPPOO+dqiTrJoOisB0YiRAShRbDqYsJ8Ps/i4uKpiDE5UbY96Orqsuy7XFlZOXEcnZ2duFwu2URxSDqkCARBEARBECHyNjHjhFUVVVVR1Rips35uLFV3OYyqhombh46IeHi/+1PEjpUvk3i4VC7hOKa0B0EQBEGEyGmTIjY5jzeqoWkaWtTObOwkUsQkHj7CR9/hwJFIVt1vsjAPDkcr6LPpoltsTUObMJhLHSN/giAIgnAC2n+NSCpJwjdBxYuyzU8kSNFaMWegJBIkfCGi9tldt8u+EFrQXbxncoayM+aye+mZLKAmcASiPGB6b7gavEwE5kmmwO0GUnPMKF4C+q5f9lRMZSrBnjh2r5fcrufihKfhQcSPDUjFwhjjta7Ka9xHV+JKEVOnKD5i1725za6QnZoj5Q/idgcJAqnYZE3+In7b3vSNGzVlpwXdTZ4rCIIgCBdciJiGjsM+3vjHBHg0jaAZJzw3gaaVBUCYuOnGb/MT0fxVlpA5iEQJ6HPYI0HcTcPVPmZg1Is+V1QiqaROYHwcpufLKoQpPUBUK4sLlVhKI0iMKUKluFPE1NnDmDiYNhqkJ5dED0TR6hPmDqKFYqiqCo4A0Ygfd7Aqf83StxDYLbv9nmuTBiYIgiBccCFisytkkzmgwVfRYWcAIGeQTcygJnZ/8nkAm0k8XLIQFK8Sqg7fNFx9Ikbx6tPETTB0L+M2WKgWSt7xSpABuwPdMDGpFlAD2A8zldMsPe4gD4wwqprda61wB9G0IGY8zHR8lIi/gZDbkz5jt+yOUg6CIAiCcNGECG4PvqlZ4uPlEXqKWAyC9UaSRtMJqbniGoqIbdciAoCOYVK0GBxqGsLGqBcmJ6dwBKI13+d6oZQzsigeGzaqr+cwsmCvlQgYeoNHNUmPzR9B8xenbsLxgdKUy96pnZr82Zqkz+5F1w/3XEEQBEG42EIEN8GoQXhSZaZoBiEQjQBGjVUglFRR1YqppLiOwu1BmZpEnSleczgUJrDx/7d3v7Ft3fe9x98ObcUKXcG6UixQPCEtTYqdxpoLE/ozunGN2S1atJextQkdMnBbslwE3LJCwFo9IfZkAIdNaDEBc6a1qRMgXL0Nwnxl3mINtnjImjtBliAXgRzfuJEpkyHFUFGqVJFsRzat+4B/TEok9de2KH9ej2zynN85h4d/Pvqe3+/8rEaYni43Fzq66aRr6Xp5KgGW5lZsfQbtrmSoKbhtZyfJKxwn6DibbtuJ0wnUumg33HS5+8j0G8k51PzH0Tyc1X8DJ52pDjOOE62czbwudx/PPj6fK8/+NUfxXlh+u7o0IyIiy9m2sLCwUGyBYDDI5OTkmqZDX8m658+fJx6PYzabefbZZ1fVfnpdgOeee05nswRkz6Ny7Nixojf8mZub49y5cwA0NTVt+hskxeNxzp8/D0BbWxv19fUPxTlN39BsPRNPbkQbm93g4CDBYLBkvq/W891cys6fP8+BAwfWdTOyjWhjM9vo72bdWVVEigqFQoyNjRV8fn5+nrKysnVvZ3p6OhPk8tmxYweHDx/GZDLppMiaJBIJ/vu//7vonEbT09Mbsq2LFy8W/Vw0NDSU7N2UN5qCiIgUtWfPHiYnJ4mkOgYZhoFt0Y1w1junRk1NDc8888ySv7rC4TATExNUV1dTV1enECLrkp7QcmxsjHg8Tk1NDXV1dZjN5iXvx/Voa2tjdnY257FoNEooFCKRSGC326murtYJURARkZUoLy+nubmZ5uZmQqEQkUiEgYEBDMOgoaGBysrKDdlOTU0NiUSCUChEOBzm17/+NXv37qW5uXnJD4XIWtntdux2O3NzcwSDQUZHRykvL6ehoQHDMDakumc2mzGbzczMzDA2NkYoFKKqqopDhw5hGIYCtYKIiKz3S/zGjRtEIhEGBwdJJBKZMvNapw+Px+OMj48TiUQwDIMnn3yS2tpaveByz5jN5kz/hqmpKcbGxnj33XexWCzYbLY1v//m5+czlzPTn42vf/3ra/5sKIiIiORRXl5OY2MjjY2Nmb/63nzzTaqqqjJhZTlzc3OMjY1x7do1du3aRV1dHc3NzfprUe676upqqqurMxW5X/7yl1y4cIH6+nrq6uqoqKhYto10tTAWi2G322lra9uwaqGCSIlIj56RzW1ubk4vwhZ8H1utVqxWKx9//DFXr15laGgIu91OfX19zrXw+fl5IpEIH3zwAdevX6e2tpYvfelL7Ny5E4CpqamSO/Zdu3bp0lGBz/rifhKlUil56qmn+Pzzz4nFYrz99tts376dxsZG7HZ7zqWbmZkZ3n//fSKRCLt376a6upqGhobMe70UP88PYqTPlgkixXrbi2x2iUSCn/70p1sqqI2NjREOhzGZTNTV1fHpp58yOTkJwO3btwG4evUqV69eLfljPXjwIE8//bTeyCkffPABw8PDW+qYfvGLX3Dx4kVqamqoqqpibGyM27dvc+vWLRYWFrh58yYfffQRly5dKunjLCsr4+TJk/e1MlnSs++q7FXaVlLufFhMTU1tyWrR/Pw8N27c4L333mNiYoLbt29nQshW8tFHH+lNnCUcDm+5Y7p9+zaJRIKJiQlGR0e5ceNGZhjwtm3bttRn9n5XJku6InLw4EF2796tcn8JMgxDnbcKqKmpYc+ePRvxdyn/p/t/8//S/33qJF3/s3GV67/P/q7/SeOGHmHufj1+5EWeb/sfy+zDft7Puy+/YvD1c/Ds8+Q2ca/2PVf65nxS2Ga/EaEkTU5OPrBLSSUdREwm00Nz90p5eOzZs2eDvrzn+b+pWZUtxAh4TzFe3b6KW+830eQv9Fxy7qXMLM1r3q8Ret1DzP+vQu2k92GEXuLYm5poWrQf4+Xl8GQTTZaV7ruCiIKI5HsvK4iIyH0TC2TNP+TsxO+BXncPmQmUbR10+6z0u4do8XtwMJL1vA2bLUw4DLgHsHV08zKnFrXngFgAb38UY2CAgeUmRYwF8J6Cl30uLJA1IWMyqLT4W3IWH+l10zOQ3pdFcy6RCi7uIVq6rZxN70P2vonIpqEgIrKVhfsykyRmJiKMBTgVbcefnF2RkV4vgYBBpKMbv8tCLOCl35qsVtz9XR/KPL+kIhIL4O1f1F7MgQtgAFr8fjwF9ysZDjxEObvSYxrppYfO1PZG6HUvs+ZABGu3H78lWRUKxByakFFEQURE7ovUJRACXrr6R3B5HDARJTzQh3vg7mLOzvasmaaddC6+rOHw8HLUi9sdTlUVsm72lK+9FqAWsFmpLbJfllR1w9vvBKwrq+ZEI9isJ1L/q8VqW1wlcdKZXUGxtdJsAbBgNXLm3RYRBRERuR8srpfpSFcDUlWI7EsUsYCX/k4/fkexNnz4XcllvYF2WokQjZHs25HvkkdsZftWa7UtSgcxopEi+2E1CA9NABZggmg4GWEcHj/+TOllhCGddhEFERHZNFGE5lY4NRzD5fLQOeTG7c6UDOjobocuN+5MwaIbn4ucoJLpA4KTTr8Doj30dLm50NFNJ12L2vPhKrY72ZdmUtWRiV535jJS/n4fKY4TdJxNb8+J06mz+3AZodcb5USqokaqIzYv++7NJbdYAG+/FV/evkUjy/StWsUxrXodBRER2fQceHyOnIqGL/1MTvUg2a+Dbj9+S/qLfpiYy4UnXSJJVUNy5LSR215qJXy+AvuVp9+IxZOvDUdmHxyZco0Fl89fPOhkr5e1Dw6PD3VVlY3lpDMVIEZ63fSPdK7ts+p/eN+ZCiIigqPFoKfLTV/6q7XTj/pzSsnJHqmVfCPjPxHNfSzdPykWwNvVR+bWa6nLi3f7GiU/B3e7Q8UIeLu40NqNb6Wll7yjwdqJdhWpouQ7hpxRbVkdzxVERGTrJBEP/qXlCJHSs3iU1ERrzuitZNXChcfhwpcp8yVHgY2MDGWNyMo8BcBIbxfRdj++JYWLAXrcA3fDjAN6i+3f8FDxEWr5jiFrVJsqIiIiIptZvlFSWaO3aq02Iqle1gFvF313SyJ05IzIyg4GPfTgpDNvVr97aSYVWYrvX3MLRleREWr5jqHZw8vD2aPWttZlnEf0rhURkdJRi5U++tO/97FhLoQNrCssFkxEwxhWC4z0c6G1G7/fj9/fTYcNrFaDcHQiT9boxN8JPd7ASgeD5ZEcDRbtPwud/tR2V9451eLy4ff76baexRuIbakzumkqInfu3CnZKdDl3rh586ZeBBFZ/JOM6+UOvJlRXsk+E0V/0BfdQC955aUl6945Nmw2g3ZH7oiynD4iDg/dUS9dvdaVVyQsLtqNRaPBTrQTLTJCLZ9ovxf3QPaota11iWbTBJEbN25w/vx5fcZE7rtFQxDvSWe45YYn3r2V+9BDPIxRVlweyOrfsejxxaOkYgEuZN1AL+vZvKO3WDJ6y4XPk1WVWNLG4ndq7mOrHqGW7xgAzxbuwvXAg4jZbNaHSvQ+edCyv6hHenF39WLd0DCw0uGJD/cwRtn6NEJtEwaRgwcPsnv3bm7duqV3qBQMIXa7XS/Effum9NDd4eVUIIYj1bO/8AR5yepJ8/CiZbKHTGbWSU1Cl2fI5OLKiLUjQl+6vayQtGRflmxHIUaKV0k2w+dLI9Q2WRApLy9n//79OhMim9EyE+Sll/EuXmbRkMnMSAJLniGTOJZUXqxZt5M/RXPyL8Z8+7JkOyKiICIiW4JhtRSYIM+XOwFeS55lrK0FJryLLRkyWfA+lCO9dEXb8XtSgWdiNdsREQURESlNsQCn+gza/SQLGfkueTiyJsA7m2eZWADvhXzhIjVk0mchXREptA/es1a6F989aqXbEREFEREpIdnDG7Nv0ORYOkGe0wkDOUMJPdC7aBK9zgJT1jnyDJnMs1h0+ALhcDi1T6n9ybMvBbcjIiVj28LCwkKxBYLBIJOTk7S1ta268fWsK1Jq4vF4Zgh6W1sb9fX1a1rXbDaza9cuvaAlcs4BampqOHbsWNFlBwcHCQaDADz33HOb/tjOnz9PPB7HbDbz7LPPrmnd9Gsjm9/s7Cxzc3MAHDt2rOh5m5ub49y5cwA0NTXR1NSkiohIqTOZTDkf8vQXQilYWFigrKyMbdu2raudRCJBIpEo+fMnua9Hqd2o0mQyrft8LiwsMD8/v+7PxMPyflYQEdkEqqurqa6uZmpqquT2fdu2bezcuZOWlpY1tzE9Pc2lS5dKMoiYTCZsNpvexFmefPJJpqammJ+fL8nzeeDAASorK9fcxtDQUMnekqKysnJdx64gIlLCvva1r5XkfsfjcS5durTuEnxlZeWylzekNNTW1vK7v/u7Jbnv58+fp7Kycl3v58cee4yWlhZdllohTXonIiIiCiIiIiKiICIiIiKiICIiIiIKIiIiIiIKIiIiIqIgIiIiIqIgIiIiIgoiIiIiImumO6uKSFE3btxgZmam4PPT09Mbsp35+fmi85KYTCaqq6t1QmRdpqamik4lsFG3pV/uc1FRUUF5eblOiIKIiCwnEolw8eJFEolEwTBgtVrXtY30l/KlS5eW/Cikv9DTt4AvKyvTSZE1h93h4eHMeypfGCgvL6eiomJd27FarUSjUaLR6JJwMj8/j8lk4tChQzQ2NuqkKIiIyHIaGxupr68nFAoxPj7O7Ows9fX11NfXYzabN2Qb5eXlHD16NCf8hEIhpqenaWxspK6uTtUQWbeysjK+8Y1vMDMzw5UrV4hEIlRUVGC327Hb7Ru2nf3797N//34gOZv2tWvXGBsbo6Kigrq6Oux2uwK1goiIrIbJZMqEj7m5OYLBIG+99Ra7du2irq4OwzDW/cWa/eNQVVWF3W7n8OHDevFlw1VUVNDc3Exzc3Mm9A4PD2O322loaFj37LOJRIJQKEQ4HObXv/41e/fu5fjx4xsW3BVEROShZjabaWpqoqmpiXg8zvj4OO+++y4WiwWbzUZtbe2K27px4waRSIQrV64AsG/fPg4cOKBr53LfGIaBYRjMz88TCoUYHBwkkUhQV1dHfX39qt6L6c9DLBbDYrHw5JNPrurzoCAiIrJKNTU11NTUZP4C/OUvf8nw8DB79+6lrq6u4LX2UChEKBTik08+wTAMjhw5su7r8iLrUVZWRmNjI42NjczMzDA+Ps6bb75JZWUlNpsNu92OyWRasl66QhgMBjMVwkOHDunSi4KISOkZHR1lcnKy5I+jvLyccDjM2NgY5eXlNDY2YrfbmZmZ4erVq4RCIXbu3Mn27dupqKhgZmaG4eHhkj3eHTt28MUvflF9WLLMzMwwOjrKzZs3S/o4KioquH79OpcuXeLixYtYLBb27dtHZWUloVCIDz74gM8++4xHH300UzkZHx9nfHy8ZI+5urqagwcPKoiIPKxf3FvN559/zi9+8QsuXryIyWTKDI2cnZ3dcsd65MgRvZGzQnUoFNpyxxUKhYjFYty6dQuTycTt27eB5Giczz77bEscYzwex2azrbufjIKISIm5ceNG5t9ms5ldu3bpRSmRL22AW7du6cXIkl0Jqamp0QtSAmZnZ5mbm8sEq/tJQURkk6mvr6epqWmDWhuh193DQPq/zk78Hscq1x+ixe/BsaFHGSPg7aIvDNg66Pa5sJTguTpz5ozesMs4duyYXoQSMDo6+sCqsrrFu8hWZ+ug2+/H7++mI3KWQGw1KzvwFAwhMQLeXkbWEkMCp7jQ2o3f78ffHqV/ZC3trX37IrJ5qCIi8pCKBbx09YWT/3F24veQWz2xddDts9KfqYhkV1ds2GxhwmHAPYCto5uXObWoPQfEAnj7oxgDAwxkVWMsVoNwTz8jLg8OhwcPMNKbqpC4B7A5nTAwQDi9L85O/CeiOW110pO7fMTKy6nKykivl+gJHy6ytp85ptKsvogoiIhIaQr30eXuA2x0dPtwWYBYgFPRdvz+ZDAY6fUSCBhEOrrxuyzEAl76rS4s2fWGkaHM83crEv1YfR4csQDe/kXtxRy4AAagxe/Hk1No8eDv7MXtdmfCgcPTTUck1R6Ax5OznRGsi9rKWj4WwHuqwPFnrTPS66Z/xIXHobeFiIKIiNwfqR96Al66+kdweRwwESU80Id74O5izs52jJ4u3H0ATjr9i9pxeHg56sXtDqcqHlk3asrXXgtQC9is5L2lk8OD3+8hFvByKtCMz5VTr7nbh4TU/lCkraLHf3edWquNSDQGDtVERBREROS+srhepsN76m6lYlHH1VjAS3+nH7+jWBs+/K7kst5AO61EiMZIVjDydYQt0B8lc+lkSR5ItTfRn+xD4rNkKiL5ZW0/a6PRSP6lJ6JhjBaFEBEFERF5EFGE5lY4NRzD5fLQOeTG7c6UDejobocuN+mHbB3dOVWKnD4lOOn0OyDaQ0+Xmwsd3XTStag9H64Ce+I40crZLjd9mbaS4cBqhFPtdWD0paszNmw2g/Y8x3N3+W7aja7MJSibDVrTi2UuTaXCki7LlJhNOvIrFsDb1Uc4T6Dv6uPuZdDijRDwnoKXCy17r0atKYiIyH3jwONz5FQ0fOlnPH78ntwqBd1+kplghF7vMDGXC0/6lztVDcmR00Zue6mV8Pnyllbw+ZfGlJx9crlY3JzDV2T5fNuPoQ6qW0HmHCZ/uAMxxwp+5LM+AwXTZ1Y/pzXtlw3bwBAjHkdq/RjDF8Bm0ylTEBGR1UeWFoOeTJUCnJ1+/XjLpvYgR34ltdLecYGhEXA4gJF++oxWOiIXsgK+m54Bctq8+1hW9S7V4Tp35Ff7Ko7XtsIqjIKIiGzaJJLsPLqlWApUZKS0bMaRXym1za1E+pNJZGQoQseJE3DqQjqF0BPpoNufDhduenudDNCZ2s4Ive6zK01dRY9XFREREZF7ZbOO/AKwNNMaOUUgBtFIKycskJ7CMRaNYGs9kaks1lptDPQNYOs4kX4E60ov4+Q9Xt+i4ynNniQKIiIiUhI208ivrBZpboWurh5sHd05lzMtVoPw0ASkHp2IhnE6nQxE049NEA2DdWn5I//Ir3z758g+nlp8JVgdURARkeI2ZHQAS66Br2IHlhlZIA9RFNk0I79yiyKt2PoM2pPXjHIqMDn7mKrCWL3p7ThxOjMJiXbDnX/kV762sJG8AXH28ZTmB0RBRESWt6bRAesckSCS/AXevCO/fFn/9t8NS66sFRbvY3I3/HkDTr5ls8s7+Z73bIFuXQoiIrICy48OWNyjP2cumI5ufM0AFzjl7kvOIZNVYVnxyAKRYpFFI78URERk6yo6OiBPj/7oiUVzx8SAMLR2+/FZsu4HMbGBIwvkIU8iW3Dkl4KIiEhKkdEBhUYcLOmEZ2ul2QLJu6JClA0eWSAiCiIismWTSMHRAcnksbhHf4zA2dSIhCL18bWPLBARBRERebiiyEpHB6RGHGTPBZPsI5LHakYWiIiCiIjcW3Nzc8Tj8c2zQ4+08p3vAPE48Uda+c73U//mEVqTTxCPg9H+fb6fc0fqOGQ9FierHcBo/w5GgXXjcWj9zvcXdVBNLiulJa6TVjLfOwoiIgJAMBgkGAzqhZAt4fz583oRREFEZLOrqKjAZDKRSCRKcv937txJY2Pjuv4ai0QizM/Pl+z5k7sqKytLthJSVlaGYRiYzeY1t/HBBx9w8+bNkv4+UhAReciUl5fzzDPP8Mknn5Tcvs/OzvLZZ5/R1NS05jbi8ThTU1Ps27ev5I5/x44d2O12vYmzHDhwgC984Qsl+WMcCoWoq6ujpqZmzW3EYjEsFgu7du0queOvqqqivLxcQUTkYVRbW0ttbW3J7Xc8HufSpUsbEsbWE2Zkc1UV1lMhe5AmJyfX3YbJZKK+vn5dYeZh8oheAhEREVEQEREREQUREREREQURERERURARERERURARERERBRERERERBRERERFREBERERFZK91ZVUSKCgaDjI+PF3x+fn5+3beENplMTE9PF50gzWQy8cwzz2AymXRSZE0SiQTvvPNO0Tmdpqen1/0eM5lMXLx4kbKysoLL1NXVUV9fr5OiICIiyzEMg0QiwZUrV5iZmcFut2MYBjt37swss95Jsqqrqzl69GjOD8TU1BRjY2PcvHkTwzBoaGhQCJF1B4QDBw4wNjZGKBRi586d1NfXs2fPnpxlqqur17Wd1tZWZmZmMv+/desWoVCISCSC2Wymrq4OwzB0QhRERGQl0vOGNDY2MjMzw5UrV7h48SJ79uzBMIwNm/Cturqaubk5gsEgwWAwM/eMYRhF/7IUWe37rLq6mubmZkKhEOPj4wSDQfbu3UtDQ8O6Zt1NKy8vp7y8nEgkQigUIhaLYbfbOXbs2DTI4+0AAA7lSURBVLpDjoKIiDzUKioqaG5uznyJRyIRhoeHsdvtNDQ0UFlZueo2E4lE5gdhdnaW+vp6jh8/viE/CCKFpCemq6+vZ25ujmvXrvHWW29RXl5OXV0ddrt9TQF4ZmYmU3GpqqrCbrdz+PBhveAKIiKy0ex2O3a7nfn5eUKhEIODgyQSCRoaGrDb7cv2G5mYmCAcDhOJRDAMgwMHDmi2UnkgzGYzTz/9NE8//TRTU1OMj49z6dIl9uzZQ11d3bKzYt+4cYNIJMKVK1cAaGho4Otf//q6+04piIjIfXXjxo2c68qlpKKigkOHDnH9+nWi0SiXL1+mqqqKvXv3YhhGpm/HzMwM4+PjjI+PYzabefzxxzl8+DCPPJIcwBePx0vyL2uV25eanp5mfn6+JPfdZrNhGAYff/wx7733HoODg5lLN9n9oUKhEB9++CGTk5NUV1fz9NNP89hjj2Xe66X4ea6oqLjvAUpBRGQTSCQSBAKBor35S000GmVycpKhoSGeeOIJPvnkE65fv87t27dZWFjg+vXrfPzxx1y+fLnkj3X//v0cOnRIb+SU999/n4sXL26Z41lYWOD999/n6tWrPProo+zZs4dIJMLCwgK3bt0CIBKJEIlESv5YTSYTLpfrvoYRBRGRTWBqampLhZC09Jd0MBjc8n/9S24I3Uq2bduWeT/funWL2dlZFhYWMo9vtT+KZmZmFEREHmb19fXU1dXphSgBxe57IknHjh3L+3i+/kBut3vJY36//57vo9vtXvV23nvvPf7pn/6JiYkJqqqqOHnyJE6nc01trXUflrOaS53p0UMPgoKIyCZjNpvVaVO2jNW+l+9H8NgIvb29fPvb36a1tZVf/epXnD17FqfTWbKv/eTk5APbTwURERHZ1F5//XW++MUv0trayoULF7h8+TLPP/88H330EadPn2Z8fJzHH3+cF198kd/4jd/gww8/5PTp01y7do1EIpEJN4urDtkVmPS//X5/wXazlZeX8+mnn3Lt2jXsdjt/8id/kmkju63s/z/++OM8//zzNDU14Xa7+epXv8p//ud/Zi7LZq+Xb1/Tj3/rW9/iP/7jP3j88cd56aWX2Lt3b0mfXwURERHZNBZfnkn/+P7gBz9gZmaGixcv8ud//ucAvPrqqxw9epSuri4uX77M6dOn+au/+iteffVVDh8+jNfrZceOHUW3l+9Hv1C72b773e/y5ptv8o//+I/E43H+6I/+KG9b6W3cuXOHK1eu8Prrr9Pd3Q0kb/P+2muv8cgjj6zq0kxVVRWvvPIK//Vf/8Vrr73GX/7lXyqIiIiIbIR8P8bbt2/nW9/6Fn/913/NX/zFX7B9e/KnKxQK8aMf/Ygf/ehHwN1OpZFIhKNHjxYNIXfu3Cn4XKF2s9XU1PCHf/iHAHz44Yf8zd/8Db/1W7+1ZLm33nqLf/u3f+OTTz7hzp07OW05nc7M0PViFu/rkSNHKCsr4ytf+Qr//M//XPLnXEFEREQ2tZs3b/Kv//qvfO9736Ovr4/vfe97lJWVYbfbOXr0KC0tLTz66KOZ5Z944gnefvttfvu3fzsnjOzevZt3332Xp556irfffjvz+I4dO/j000/ZvXs3QMF2s/X29nLy5EmqqqoyQ3nztfUv//Iv/Omf/in79+/n8uXL/O3f/m2mjey5kxavV2hfAd555x2eeeYZ3nnnnS0xZ42CiMiWNUKvu4eBzP9tdHT7cFk2w75k788Ive4hWvweHJnnYgS8p+DlxfubfrydaNfidWQryHdpxu/3c/LkSZqamrhz5w5vvPEGL774Ii+99BJvvPEGb7zxBjdv3sws/+KLL/LjH/+YM2fOcOfOnUyV5fd///d59dVXmZ+f55vf/GZmG8ePH+e73/0un3/+OX6/v2C72b70pS/xgx/8gKmpKWpqavjjP/7jvG1985vf5O///u8pKysrOIIo33qF9hWSw/09Hg979uzhpZdeKvlzvm0hHeMKCAaDTE5O0tbWturG17OuSKmJx+OZ4ZxtbW2rmuI7e92mpiaampo25sffG+WEz4UFYKQXdw903vMf7xgBbz9WX77t5AsdhdrY/EHkzJkzQLJMX+xHBmBwcDAzPPK5557b9O/n8+fPE4/HMZvNPPvss2tat1SOtdSC2r0YWTQ6Osro6CiQHHJdbMTN3Nwc586d27DvK1VERB4WDg/dHV5OBWI4XBZiAS9dfeHkc85O/B4HI71uelJlC2dHB5FoFGNggAFnJ530MNTix+MAYgG8/VZ8J6J4+1PLANg66DD66AsD7gFsHd34li3B3A0nZLZvw2aD1vQSBR7PxJPFx5K9X85Okk2nKzIPsjIkIgoiIgKxAKei7fj9jtQPvZdAYIg+OjOPEQvg7YMWvx8PwIiTnqERPA4HI/19GC1+IAoDd5cZ6XUz1NJNR6RQRaRYHumlJ7P9EXrdZ4s/XuxYJlpz9ouRXiId3fiVPqTElcp9VhRERKQgw2qBiSjhgT7cWZ02bDawtZ7IXdhmJTPvqKMFZ88QIx4YGnDS4gFiucvUWm1EohNY17Bf0WgEmzW9/VqstlTOKPB4Rp5jcVpbF+27h5ejXtzucKb6IyIKIiJyv6sgfQbtfmCEpT/II724hyaAQlUDByc6ztLfCwPOlmSlYUkmCGO01AIRojFwrKIAYbUahDPbnyAaBitgKfB4jsXHEgvgvZC7iMXlw+9KXsbxBmpXcMlIRBRERGR9wn10ufvSv9Z3O6o6PHQOubk7QCHZb6KTu485OzqWNGdpbiXSd4GObk/+bTg78TssjAyF6elyc2FFfUTSOecEHWe7Utt3krlbdqHHs6odS46ls3VRBsvqQ4KTTr9CyMNguY6d96rjpyiIiEiqguFJ95HI96zHj3/xk4sfc+VZ0dZKc/bvuK2D7vTInGJtZ/bJUfAxh8+fZ5MWXPkez2on3/ZcjqXVEBHZfB7RSyAiKxUbvgCtzaieICIbRRUREVkxi8uHL/cBfD69LrIx3G43v/M7v8PPfvYztm/fjtvtJhqN8u///u9s376dP/iDP6C1tZVQKMTp06eJRqMYhsGLL77IE088wbVr1/jhD3/Ixx9/zFe/+tWcdvNNIJet0ER3586d480332R2dhZAl3LuAVVERERk03jsscf4u7/7O1566SX+4R/+gS984QuZ///kJz8B4PTp03z5y1/mlVde4fDhw/z4xz8G4LXXXuPYsWO88sorVFZWrmq7r776KkeOHKG3t5ff+73f4/Tp0wD89Kc/5dvf/janT59WCFEQERGRre748eOUlZXxm7/5myQSiZz/T09PA3cntdu5cydHjhwhEolkHj9y5AiPPvooX/nKV/K2X2iyu/REdy+88ALf//73M20+//zzvP322/zZn/0ZZ8+e1Qm6B3RpRkRENs9fx4tmo803O61hGLzzzjt8+ctf5uc//zlWqzXn8fSEcGnFJpBLKzTRndPpxOl0EgwG8fl8tLe36yQpiIiIyMPshRde4LXXXuMnP/kJhmFkJpx74YUX+OEPf8iZM2f42te+llm+2ARyaYUmuktPwrdr165Vz7kjK6NJ70Q2yEZNemc2m9m1a5de0BI556BJ7wqtm35tZPObnZ1lbm4O0KR3Ig+lsrKynA95+gtBSoPJZNKLkGXnzp1Lwpro/VyIOquKbAKVlZWrqqDI5mE2m2loaNALkaWhoQGz2awXogQZhkF1dfV93aYqIiKbRFtbmy5jypZQU1Oj/hSyYqqIiIiIiIKIiIiIKIiIiIiIKIiIiIiIgoiIiIiIgoiIiIgoiIiIiIhsGN1HROQeiEQiujuq5EjPHFtqbt26xejoqE6g5LwnFERESiCIpKcRFyll8/PzCiJyT+nSjMgGqays1JwjsqL3SSm437f5lof3/ayKiMgGKSsr4+TJkyVbgpf7o1Rmoz148CA2m435+XmdNMlr165dGzKnkIKIyAaHEU17LvprV2TldGlGREREFEREREREQUREREREQUREREQUREREREQURERERERBRERERERBRERERBRERERERBREREREREFEREREREFEREREHpy5ubkVTQKqICIiIiIbLhgMMjg4qCAiIiIiD8b09DSRSERBRERERO4/wzAYHR1VEBEREZH7r7KyErPZXLQqoiAiIiIi90xTU1PRqoiCiIiIiNwzy1VFFERERETknipWFdkOcP78eeLxeNEG1sJsNhMMBgkGg3mfLysrw+VyUVZWtqL2zp07x9zcnM6oiIhICWhrawNyqyKGYeQss21hYWFhfn6eK1euEAwGqa+vZ9++fSsOB6sVDAYZHR2lpqaGpqYmzGbzitc9c+YMzz33nM6siIhIiZmenmZwcJBvfOMbOY9vh2RloqmpiX379nHlyhV+9rOfbXggyQ4gx48fX1UAERERkdJWqCqyPXuhexFIFEBEREQEkl09BgcHCweRjQwkCiAictcIve4eBnIes9HR3U60a4gWvweHXiSRLS9fVWTbwsLCwnIrrqYPyXr6gCxHfUREtkIgUfAQeZgt7iuyfSUrraRCogqIiKwrmMQCePujGAMDycqJs4OOSB99YcDWQbfPBQEvXX3h5KrOTvwexRmRUrO4KrJ9NSvnCyRPPPEEH374oQKIiKzfALT4/XhSl3KinX78jhgB7ymGR+BCtB2/Pxk+Rnq9BGIOXBa9bCKlJruvyPa1NJAdSILBoAKIiGwMZ0vqkk0tVpsTqwPAgtWAaDRKeKAP90DO4qAgIlLStq9n5bKyMvbv369XUUTuU1DR5RiRrWB0dDRzs9TtejlEpCQ0e+iMunG70w/Y6Oj26dKMSImZnp5mbm5udaNmNguNmhERESltP//5z6mvr88EEU16JyIiIvfF4mqIgoiIiIjcN9l9QxRERERE5L7JVw2BEuusajabOXPmjM6miIhICWhra6O+vh7IXw0puSDy7LPP6qyKiIiUgNHRUebm5oDC1RDQpRkRERG5D6EkXzVEQURERETuqWLVEAURERERuaeKVUMUREREROSeWa4aoiAiIiIi90wkEilaDVEQERERkXumsrKyaDUESmyuGRERESkN09PTmTBSzP8H1fgYDVKbGAIAAAAASUVORK5CYII="
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/Syncadaptor.tid",
    "content": "chapter.of: Extended Persistence\ncreated: 20140708084850294\nmodified: 20210720193245000\nsub.num: 3\ntags: doc\ntitle: Syncadaptor\n\nA module with ``module-type: syncadaptor`` provides functionality to get a list of tiddlers (this list is provided as ~SkinnyTiddlers, which are normal tiddlers without the text field) and to load, save and delete single tiddlers. A syncadaptor can also provide functions to login and logout so that syncadaptor modules can be used to synchronise tiddlers with a remote server.\n\nThe syncer module only uses one syncadaptor and honours a special [[system tiddler|System Tiddlers]] [[$:/config/SyncFilter]] containing a [[filter string|Tags and Filter Mechanism]]. Tiddlers matching this filter string are saved to the server with a syncadapter. It uses the [[WebServer API|https://tiddlywiki.com/#WebServer%20API%3A%20Get%20All%20Tiddlers]] to load modified tiddlers from the server, which returns only non-system tiddlers.\n"
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/System Tiddlers.tid",
    "content": "chapter.of: Extending the Store\ncreated: 20140710184959721\nmodified: 20140715084818289\nsub.num: 3\ntags: doc new\ntitle: System Tiddlers\n\nThe core plug-in introduces a segregation of tiddlers.\nThe tiddler model is central in the whole TiddlyWiki application and can be used in various roles.\nBecause of the fact that a TiddlyWiki user works with tiddlers (taking the role of a wiki page) and tiddlers are the building blocks of the whole application (including modules, UI elements, etc.) we need to identify the internal tiddlers.\n\nThe core plug-in introduces the concept of system tiddlers. It builds on the convention that application internal tiddler names start with ``$:/``.\nThen the core plug-in introduces a set of new functions to the wiki store which are used to retrieve tiddlers like ``getTiddlers(options)`` and ``forEachTiddler(callback, options)``.\nThese functions work with all tiddlers in the store but the options parameter provides the ability to sort tiddlers by a field-name and exclude tiddlers with a specific tag.\nBy default it doesn't return system tiddlers. To get a list of all tiddlers including system tiddlers, this must be requested explicitly via the options.\nIf a function wants to present a list of tiddlers to the user it can use this new functions so that internal application tiddlers wouldn't clutter the resulting list.\nThese functions are added via the [[wikimethod module type]]."
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/Table of Contents.tid",
    "content": "created: 20140708080152731\nmodified: 20140714171831330\ntags: doc\ntitle: Table of Contents\n\n\\define toc-heading(caption,body)\n<$reveal type=\"nomatch\" state=<<qualify \"$:/state/toc/$caption$\">> text=\"show\">\n<$button set=<<qualify \"$:/state/toc/$caption$\">> setTo=\"show\" class=\"tc-btn-invisible\">{{$:/core/images/right-arrow}} $caption$\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<qualify \"$:/state/toc/$caption$\">> text=\"show\">\n<$button set=<<qualify \"$:/state/toc/$caption$\">> setTo=\"hide\" class=\"tc-btn-invisible\">{{$:/core/images/down-arrow}} $caption$\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<qualify \"$:/state/toc/$caption$\">> text=\"show\" retain=\"yes\" animate=\"yes\">\n\n$body$\n\n</$reveal>\n\\end\n<div class=\"tc-table-of-contents\">\n\n# [[Introduction]]\n\n# [[Decomposition of the TiddlyWiki-Architecture]]\n## <<toc-heading \"Architecture of the single page application ~TiddlyWiki\" \"\n##[[Architecture of the single page application TiddlyWiki]]\n### [[Boot Kernel|Boot Kernel]]\n###[[Data Persistence|Data Persistence]]\n###[[UI - WikiText and Widgets|UI - WikiText and Widgets]]\n###[[Modularization|Modularization]]\n\">>\n## <<toc-heading \"Tiddler as the key element\" \"\n##[[Tiddler as the key element]]\n\">>\n## <<toc-heading \"The ~WikiText concept\" \"\n##[[The WikiText concept]]\n\">>\n# [[Bootstrap-Process]]\n## <<toc-heading \"The Heart of ~TiddlyWiki (~Boot-Kernel)\" \"\n##[[The Heart of TiddlyWiki (Boot-Kernel)]]\n\">>\n## <<toc-heading \"Timeline of the startup Process\" \"\n##[[Timeline of the startup Process]]\n\">>\n# [[The Plugin and Module concept]]\n## <<toc-heading \"Introduction to the Module- and ~Plugin-Concept\" \"\n##[[Introduction to the Module- and Plugin-Concept]]\n\">>\n## <<toc-heading \"Using Modules to build a Single File Application\" \"\n##[[Using Modules to build a Single File Application]]\n###[[Startup Modules]]\n###[[Deserializer Modules]]\n###[[Saver Modules]]\n###[[Syncadaptor Modules]]\n\">>\n## <<toc-heading \"Using Modules to extend the UI\" \"\n##[[Using Modules to extend the UI]]\n\">>\n#[[Developing a own Plugin]]\n#[[The TiddlyWiki data management concept]]\n## <<toc-heading \"Data Management during Runtime\" \"\n##[[Data Management during Runtime]]\n\">>\n## <<toc-heading \"Data Persistence\" \"\n##[[Persist data|Persist data]]\n##[[Data-Storage|Data-Storage]]\n\">>\n#[[Conclusion]]\n</div>\n"
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/Tags and Filter Mechanism.tid",
    "content": "chapter.of: Extending the Store\ncreated: 20140715084630840\nmodified: 20140717182135876\nsub.num: 4\ntags: doc\ntitle: Tags and Filter Mechanism\n\n!!! Tags\nThe core plug-in extends the store by a simple mechanism to tag a tiddler.\nThis provides the functionality to\n\n* retrieve tiddlers with a specific tag\n* retreive a hashmap of ``{ tag: [tiddler1, tiddler3, tiddler3] }``\n* list or iterate tiddlers not tagged with a specific tag\n\nThe tags are stored directly in the tiddler. Each tiddler can have a field named \"tag\", which contains an array of its tags.\nThe above functions use this field to calculate their results and cache them in a global cache.\n\nOrganising information with tags is easy, intuitive and is common throughout the web.\nIn most cases the functions mentioned above are not enough and a more sophisticated way of querying is needed.\nBut instead of focusing only on tags TiddlyWiki introduces a querying system that isn't bound to tags or single tiddlers.\n\n!!! Filter mechanism\nThis filter mechanism is build on the idea of a pipeline of single filter operators.\nFilters are noted as strings and can look like\n\n```\n[tag[task]!tag[done]interesting[very]]\n```\n\nThis example would (implicitly) put all available tiddlers into the pipe.\nThe first operator ``tag[task]`` would only pass tiddlers which are tagged with \"task\".\nThe ``!tag[done]`` operator is negated and only passes tiddlers which are not tagged with \"done\".\nThe last filter operator passes only tiddlers with a field \"interesting\" set to \"very\".\nSo as a result this filter would be used to obtain all tiddlers which are marked as task, aren't already done and are very interesting.\n\nThere are many filter operators already build into the core plug-in including the mentioned tag- and field operators, filter operators to sort the tiddlerlist by a specified field, etc.\nBut more sophisticated operators are possible, too.\nAn example would be the search-operator. This filter operator looks for the searched string in the text and in the tags of the tiddlers.\nIf the provided filter operators are not enough, a developer can add new filters by adding a module with the ``filteroperator`` type.\n\n!!! System Tags\n\nTags and the filter mechanism are used throughout the core plug-in for internal puproses.\nTags which start with ``$:/`` are normally hidden from the casual user, similar to [[System Tiddlers]]\n\nThe filter mechanism is added to the wiki store with the [[wikimethod module type]].\n"
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/The Heart of TiddlyWiki Boot-Kernel.tid",
    "content": "created: 20140708083754576\nmodified: 20140708090217085\ntags: doc\ntitle: The Heart of TiddlyWiki (Boot-Kernel)\n\nThe boot-kernel is responsible for creating a bare-bones TW environment. It is running under Node.js or in a HTML5 Browser. The Bootkernel just loads enough functionality to load the modules containing the main logic of the application. This boot-kernel contains a few helper methods, the module mechanism as well as the function to create a tiddler and manage them. The boot-kernel also creates the bare-bones wiki store, which holds all the information of the wiki during the runtime. After creating the store, the boot-kernel is in charge of decrypting the encrypted tiddlers and extracting all the tiddlers e.g. the core module tiddlers embedded in the DOM structure of the HTML file. Furthermore the boot kernel offers the functionality to load tiddlers from a file, when you run TW with Node.js. All other functionality which is not a part of the boot kernel is added dynamically by modules and plugins. The boot kernel is able to load the core plugins and perform the startup plugins. The core contains the startup modules shown in the picture below.\n\n{{index.svg}}"
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/The Plugin and Module concept.tid",
    "content": "created: 20140708084027985\nmodified: 20140717203453471\ntags: doc unused\ntitle: The Plugin and Module concept\n\nBeside the boot kernel, TW is completely build from modules.\nAfter a short introduction on modules and plug-ins in the context of TW and explaining how they are organized and managed,\nthe following sections will show what type of modules a developer can build and how they hook into the TW architecture.\nThe last section shows the procedure of building an plug-in.\nThis can be used as a tutorial for building your own plug-ins and will show how an advanced user can create solutions for his own use cases only by using the tiddler model and the WikiText markup language."
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/The TiddlyWiki data management concept.tid",
    "content": "created: 20140708085435652\nmodified: 20140717203409411\ntitle: The TiddlyWiki data management concept\n\nThis section descripes how the data of the wiki is stored within Tiddlywiki during the runtime. And how the complete wiki is persisted."
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/The User Interface.tid",
    "content": "chapter.of: TiddlyWiki - A quick Overview\ncreated: 20140708082154372\nmodified: 20140715083432391\nsub.num: 4\ntags: doc\ntitle: The User Interface\n\nFollowing the \"anything is a tiddler\" concept, even the UI consists of tiddlers.\nThis is possible because tiddlers can not only contain plain text or JavaScript (modules) but they also can contain a special markup text called WikiText.\nBy using WikiText the user can put markup elements like tables or images in a tiddler.\nTo provide some more sophisticated UI elements, WikiText can also contain special widgets like text input fields,\ncheckboxes, dynamic lists etc.\nIn most cases, these widgets are used to directly modify or represent the information contained in other tiddlers.\nIf a tiddler is changed and this change should reflect in an UI element e.g. a widget, a process called selective update takes place. Selective updating means when a tiddler or a set of tiddlers changes, each widget is asked, if changes to this tiddlers would affect its appearance. If so, the respective widget is re-rendered otherwise it remains unchanged."
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/Tiddler as Basic Element.tid",
    "content": "chapter.of: TiddlyWiki - A quick Overview\ncreated: 20140708082703387\nmodified: 20140715094732261\nsub.num: 6\ntags: doc\ntitle: Tiddler as Basic Element\n\nBy managing nearly every part of the application as tiddlers, the application is only needed to provide some basic functionality to manage the individual tiddlers, load and persist them, render them to HTML output and provide a way to register for the changes made to tiddlers.\nThis way the whole wiki application can be build from these simple concepts.\nPlug-ins can be used to add new functionality to the existing modules or even to replace individual tiddlers/modules,\nenabling developers to build whole new applications on the TiddlyWiki base system.\n\nA tiddler is the smallest unit of the TiddlyWiki system. It can contain any data like plain text, WikiText markup, JavaScript code (module tiddler), JSON structures (JSON structures might even contain additional tiddlers. Plug-ins are implemented this way to pack multiple tiddlers in a single plug-in tiddler), images in SVG format or even binary images encoded with base64.\nInternally Tiddlers are immutable objects containing a bunch of key:value pairs called fields. The only required field of a tiddler is the title field. The Standard fields of a tiddler are listed below. Nearly everything in TiddlyWiki is loaded as tiddlers. Plug-ins for example are a bunch of tiddlers that are distributed as a single JSON tiddler. The only exception is the microkernel which isn't a tiddler.\n\n<dl>\n<dt>created</dt> <dd>Timestamp number of milliseconds since 01.01.1970.</dd>\n<dt>modified</dt> <dd>Timestamp number of milliseconds since 01.01.1970.</dd>\n<dt>tags</dt> <dd>list of tags seperated by whitespace. Tags which contain whitespaces are wrapped by [[ ]], e.g. [[example Tag]].</dd>\n<dt>type</dt> <dd>Type of the Tiddler, e.g. text/plain or text/vnd.tiddlywiki .</dd>\n<dt>title</dt> <dd>Title of the Tiddler</dd>\n<dt>list</dt> <dd>An ordered list of tiddler titles associated with a tiddler</dd>\n</dl>\n\nTiddlers are used in multiple roles and on different levels. A developer uses tiddlers as the basic element containing application code, configuration values and even as a form of variable to save the current UI state.\nOn a different level, a tiddler is also the basic unit of work for the wiki user, e.g. the individual wiki pages are implemented as tiddlers.\nThis makes sense for multiple reasons:\nBecause the UI of TiddlyWiki is build from tiddlers, the wiki user is able to edit the interface of his own TiddlyWiki just by editing a wiki page.\nFor example to add a list of tiddler links to the sidebar, the user just needs to create a new tiddler, put the links into this tiddler and tag this tiddler with ``$:/tags/SideBar``.\nThis way the user can customise his work environment just by using mechanisms he already uses to manage his wiki pages.\nTiddlers consist of fields. When using a tiddler as wiki page, the user can use these fields to store meta information, like tags.\n\nBecause fields for metadata and especially tags are an easy way for the user to organise his wiki pages, TiddlyWiki provides a special filter mechanism to choose tiddlers using their metadata.\nA filter string like ``[tag[learncard]topic[math]!tag[successful]]`` would filter all tiddlers tagged with \"learncard\", with the value \"math\" in the topic-field and are not tagged with \"successful\".\nA user could use this filter together with the ``<$list>`` widget to display a list of all math learncards which are not yet answered successfully in a wiki page.\n\nAnother example which shows how the \"anything is a tiddler\" concept leads to an environment where a single feature brings great benefit is the drag and drop feature.\nHTML5 standard comes with a native drag and drop feature. TiddlyWiki uses this feature and makes it possible to drag and drop a tiddler from one instance to another.\nAnd because anything is a tiddler, this brings the ability to drag and drop individual wiki pages, JavaScript modules, UI components and whole plug-ins between TiddlyWiki instances."
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/TiddlyWiki - A quick Overview.tid",
    "content": "created: 20140708082524269\ndescription: This section describes the idea of the TiddlyWiki application. This should give the reader a overview over what TiddlyWiki consists of give a brief introduction to the topics of the main documentation.\nmodified: 20140717211405842\nsectionnumber: 1\ntags: doc section\ntitle: TiddlyWiki - A quick Overview\n\nTraditional web applications are bound to ~HTTP-Concepts, including stateless requests to transfer data. In these applications a state is often emulated by the use of sessions, which need to be handled on the client and especially on the server side.\nThese restrictions often lead to a fragmented user experience because the user interface is rebuilt on every data transfer.\nTiddlyWiki tries to overcome these restrictions and the resulting disadvantages by building on few but basic concepts which loosen the coupling of HTTP and the actual application, eliminating the need of state emulation and resulting in a wiki style single page application with the ability to run in an offline environment.\n\n<$list filter=\"[!has[draft.of]has[chapter.of]chapter.of[TiddlyWiki - A quick Overview]tag[doc]sort[sub.num]]\">\n\n\n! <$view field=\"title\"/>\n{{!!text}}\n</$list>"
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/TiddlyWiki Core Application.tid",
    "content": "created: 20140710183759647\ndescription: After the microkernel has been explained this section focuses on the core plug-in. It describes the central modules of the core and explains how they work together to build a single file application.\nmodified: 20140717203802364\nsectionnumber: 3\ntags: doc new section\ntitle: TiddlyWiki Core Application\n\nThe microkernel builds up the base functionality to manage tiddlers by providing a basic wiki store and a barebone tiddler model.\nThe microkernel can also load a set of (decrypted) tiddlers and provides a module system, enabling a developer to extend the kernel and add functionality with module tiddlers and plug-ins.\n\nFor instance, the TiddlyWiki Core Application is provided as a single plug-in.\nIn this part we want to focus on the TiddlyWiki core plug-in.\nAfter describing how new functionality is added directly to the wiki store,\nwe show how the core plug-in realises persistence of tiddlers.\nThe last part describes how TiddlyWiki builds an UI out of tiddlers and WikiText.\n\n<<<\n{{arch.svg}}\n<<< The TiddlyWiki Application consists of a microkernel and several modules building up the full application.\n\n<$list filter=\"[!has[draft.of]has[chapter.of]chapter.of[TiddlyWiki Core Application]tag[doc]sort[sub.num]]\">\n\n\n! <$view field=\"title\"/>\n{{!!text}}\n</$list>"
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/TiddlyWiki as Single Page Application.tid",
    "content": "chapter.of: TiddlyWiki - A quick Overview\ncreated: 20140708081759619\nmodified: 20140715094527946\nsub.num: 1\ntags: doc\ntitle: TiddlyWiki as Single Page Application\n\nTiddlyWiki builds on some basic concepts. First, TiddlyWiki should not be perceived as a dynamic web page like traditional server-side generated web pages. Instead TiddlyWiki can be perceived as an application which is written entirely in ~JavaScript and uses HTML5 and CSS3 to render a GUI. This way TiddlyWiki can be executed in any ~JavaScript environment like a browser or a node.js instance, while keeping the advantages of a simple application.\nOne of these advantages is, that TiddlyWiki has no need to emulate an application state, as a traditional web application would need to do.\n\nA second idea concerns the storage of the application data. In contrast to a traditional web application, TiddlyWiki doesn't store the data in an external database but simply uses native data structures already existing in ~JavaScript to store tiddlers, the basic (atomic) element of the TiddlyWiki application, in the memory. Additional core modules provide a way to persist this storage in simple HTML div elements.\n\nJust by building on these simple and basic concepts,\n\n* TiddlyWiki is able to store application data in a single HTML page by using div elements as data container.\n*TW is able to store application code (~JavaScript) in the same single HTML page.\n*TiddlyWiki can be executed in any ~JavaScript environment like a browser.\n\nThese points already enable TW to be used as an offline-enabled single file web application.\nAlso, by using a server side node.js environment running the same TiddlyWiki application, TiddlyWiki can be used as an online web application. This is realized on server-side by providing an additional module to persist tiddlers into plain text files and on client-side by a module syncing the local data store with the node.js server."
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/TiddlyWiki.tid",
    "content": "created: 20140715095058100\nmodified: 20140715095112034\ntags: doc\ntitle: TiddlyWiki\n\n{{TiddlyWiki - A quick Overview}}"
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/Timeline of the startup Process.tid",
    "content": "created: 20140708083929806\nmodified: 20140708090225382\ntags: doc\ntitle: Timeline of the startup Process\n\nThis section shows a quick and short overview over the startup process of TW, from the first step of the boot mechanism until the loading of the different startup modules. The image shown below  shall point out the main parts of this startup-process.\n\n{{StartupTimeline.png}}"
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/Toc.tid",
    "content": "created: 20140708154220184\nmodified: 20140714171839706\ntags: doc\ntitle: Toc\n\n* [[Introduction]]\n* [[TiddlyWiki - A quick Overview]]\n** [[TiddlyWiki as Single Page Application]]\n** [[Microkernel]]\n** [[Data Persistence]]\n** [[The User Interface]]\n** [[Modularization]]\n** [[Tiddler as Basic Element]]\n** [[WikiText Markup]]\n\n* [[Microkernel Architecture]]\n** [[Microkernel|Microkernel Description]]\n** [[ Datamodel |Datamodel]]\n** [[Module System]]\n\n* [[TiddlyWiki Core Application]]\n** [[Startup Process]]\n** [[Extending the Store]]\n*** [[Event Mechanism]]\n*** [[Caching]]\n*** [[System Tiddlers]]\n*** [[Tags and Filter Mechanism]]\n** [[Extended Persistence]]\n*** [[Deserializer]]\n*** [[Saver]]\n*** [[Syncadaptor]]\n** [[UI and Rendering Pipeline]]\n*** [[WikiText]]\n*** [[Parser]]\n*** [[Widgets]]\n**** [[Messages]]\n**** [[Selective Update]]\n*** [[Transclusion and TextReference]]\n*** [[RootWidget and Rendering Startup]]\n*** [[Navigator Widget]]\n*** [[Draft Mechanism]]\n\n* [[Conclusion]]\n"
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/Transclusion and TextReference.tid",
    "content": "chapter.of: UI and Rendering Pipeline\ncreated: 20140717174825427\nmodified: 20140717181845115\nsub.num: 4\ntags: doc\ntitle: Transclusion and TextReference\n\nThe previous parts about [[Widgets]] and the [[Parser]] explained how a block of WikiText is transformed into a DOM representation and how this presentation can react on changes to the wiki store.\nThe previous chapters also describe that WikiText is saved in individual tiddlers, including the WikiText describing the UI components.\nThis raises the question, how these multiple tiddlers are build up to a single UI.\nBut before answering this question we need to introduce text references and transclusion.\n\n!!! ~TextReference\nA text reference describes a special notation to indirectly refer to the contents of a specified tiddler field.\nThe syntax of a text reference is:\n\n```\n<tiddlertitle>\n<tiddlertitle>!!<fieldname>\n!!<fieldname> - specifies a field of the current tiddlers\n```\n\nTo obtain the actual text, the core plug-in adds a function to the wiki store ``getTextReference(textRef,defaultText,currTiddlerTitle)``. The \"currentTiddlerTitle\" is the title of a tiddler which is used when no tiddlerTitle is specified in the text reference.\nWhat the currentTiddler should be, depends on where the text reference is used.\nIf it is for example used as a widget attribute, the current tiddler is the tiddler which contains this widget.\nText references are used by widgets (attributes), filteroperators (parameter) and in transclusions.\nThese elements use the ``getTextReference(textRef,defaultText,currTiddlerTitle)`` function.\n\n!!! Transclusion\n\nTransclusion means including the contents of a different tiddler.\nThis is realized with a transclude widget which parses the tiddler to be included and adds the resulting nodes as children of its own parse node.\nThe trick with transclusion is, that it shows the content of a different tiddler but by default it does not change the current tiddler.\nThis enables us to create tiddlers with text references and use them as a templates.\n\nFor example:\nTiddler ``MyTask`` having the fields and the content of:\n\n```\nimportant: \"very\"\nassoc.person: \"Hans Dampf\"\n\n<$transclude tiddler=\"TaskHeaderTemplate\" />\n\nHans needs some more Dampf.\n```\n\nAnd Tiddler ``TaskHeaderTemplate`` with a content of:\n\n```\n<$view field=\"assoc.person\"/> has a <$view field=\"important\"/> important task for us:\n```\n\nWhen showing tiddler ``MyTask`` it would result in:\n\n```\nHans Dampf has a very important task for us:\n\nHans needs some more Dampf.\n```\n\nTransclusion and templates is one of the most important concepts in TiddlyWiki.\nIt allows us to include other tiddlers using the metadata for our current tiddler.\nIt also allows us to transclude a template tiddler with a third tiddler set as the currentTiddler with the ~TiddlerWidget:\n\n```\n<$tiddler tiddler=\"MyTiddler\">\n<$transclude tiddler=\"EditTemplate\" />\n</$tiddler>\n```\n\nThis way we can create a different view on a tiddler which does not only show it's title and it's content\nbut shows it's content and metadata in editable text fields and allows us to edit this tiddler.\nAlso the template concept is used by the ~ListWidget to show the tiddlers through a specified template.\nFinally, when wanting to download the wiki as a new html file, this html file is created by binding a list of all tiddlers to a template and sending the resulting text to the syncer module described in [[Extended Persistence]] to save the current wiki.\n"
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/UI and Rendering Pipeline.tid",
    "content": "chapter.of: TiddlyWiki Core Application\ncreated: 20140708085306641\nmodified: 20140717195230942\nsub.num: 4\ntags: doc\ntitle: UI and Rendering Pipeline\n\nThe microkernel provides basic functionality to store tiddlers and manage modules and plugins.\nThe [[Startup Process]] then loads the core plug-in including extensions to the store providing\na [[Event Mechanism]], [[Caching]], [[Tags|Tags and Filter Mechanism]] and a [[Filter Mechanism|Tags and Filter Mechanism]] giving the ability to query for specific tiddlers.\n\nUsing some of this techniques the core plug-in also adds some functionalities to load and save single tiddlers or the whole wiki, described in [[Extended Persistence]].\n\nThis next chapter will focus on the parts of the core plug-in that provide the UI of TiddlyWiki.\n\n<<<\n{{rendering.svg}}\n<<< The rendering pipeline [https://tiddlywiki.com/talkytalky, 17.07.2014]\n\n<$list filter=\"[!has[draft.of]has[chapter.of]chapter.of[UI and Rendering Pipeline]tag[doc]sort[sub.num]]\">\n\n\n!! <$view field=\"title\"/>\n{{!!text}}\n</$list>"
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/Using Modules to build a Single File Application.tid",
    "content": "created: 20140708084152555\nmodified: 20140708090258588\ntags: doc\ntitle: Using Modules to build a Single File Application\n\nTW is built up from the micro kernel and uses the module mechanism to provide various ways of loading and saving tiddlers, including the ability to load and save to a single HTML file.\nFurthermore a developer can extend the application by providing modules with a specific module-type. TW searches for modules with these specific module-types and handles them accordingly.\n\nThe last sequence of the boot kernel is to execute startup modules. One of these startup modules (\"load-modules\") is responsible for registering some modules with specific module types at the right place. For example, the methods exported by wikimethod modules are put in \\textit{\\$tw.Wiki.prototype}. Other startup modules build up the initial UI and link events to certain modules."
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/Widgets.tid",
    "content": "chapter.of: UI and Rendering Pipeline\ncreated: 20140717174307709\nmodified: 20140717181543163\nsub.num: 3\ntags: doc\ntitle: Widgets\n\nWhen the WikiText has been transformed into a parse-tree the next step is to transform this parse-tree into a widget-tree.\nWe talked about widgets as parts of the WikiText markup but in fact each node of the parse-tree is transformed to a widget object.\nThe core plug-in provides a basic widget object which gets the parse node it should represent and a DOM node. The widget then must create the DOM structure which represents the parse node and add it to the provided DOM node.\nA ~LinkWidget for example would create the DOM node for a ``<a>...</a>`` tag and put it in the provided DOM node.\nWhen a widget gets a parse node with child nodes it must create the corresponding child widgets.\n\nAll this functionality is basically provided with the base widget. But when creating the widget for a parse node it loads additional modules with ``module-type: widget``. These modules can export multiple widgets which extend the base widget and can override it's methods like the rendering and refresh functions.\nAs described in [[Parser]] each parse node contains a \"type\" property. This type directly determines which widget module is used.\n\n```js\n{type: \"text\", text: <string>} - a text node\n```\n\nWould be transformed to a [[TextWidget|$:/core/modules/widgets/text.js]].\n(Note that the ~TextWidget module exports a property \"text\".)\n\nSo in fact when talking about widgets in WikiText, they are not a feature added to WikiText but the ability to directly use a specific widget instead of the parser choosing a widget type.\n\nIn the beginning we talked about widgets and how they enable dynamic behaviour. But up until now we only described how widgets create DOM nodes from parse nodes.\nWidgets add dynamic behaviour in two ways.\n\n<$list filter=\"[!has[draft.of]has[chapter.of]chapter.of[Widgets]tag[doc]sort[sub.num]]\">\n\n\n!!! <$view field=\"title\"/>\n{{!!text}}\n</$list>"
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/WikiText Markup.tid",
    "content": "chapter.of: TiddlyWiki - A quick Overview\ncreated: 20140708083145150\nmodified: 20140717212656341\nsub.num: 7\ntags: doc\ntitle: WikiText Markup\n\nThe WikiText is a markup language, created especially for the requirements of the TiddlyWiki application. It is based on [[Markdown|http://daringfireball.net/projects/markdown]], but extended with some TiddlyWiki specific features.  On one hand its a text-to-HTML conversion language and on the other hand its used to provide the interactive features of TiddlyWiki. The aim of this language is to allow the user of the software to focus on the writing. The WikiText is used to format Tiddlers within the TiddlyWiki application. The tags of the WikiText syntax can be used within the standard text input field. \nDuring the saving process these tags renders to HTML elements for example:\n\n```\nWikiText:--- \nRenders as:\nHTML:<hr>\nWikiText:[img[https://tiddlywiki.com/favicon.ico]]\nRenders as: TW\nHTML:<img src=\"https://tiddlywiki.com/favicon.ico\">\n```\n\nFurthermore the WikiText is used to access the widgets which are integrated in the application.These widgets are used to enhance the the WikiText with a rich functionality. Widgets are based on the ~HTML-Syntax but always starts with a $.\n\n```\nWikiText:\n<$button message=\"tm-close-tiddler\">Close Me!</$button> \n```"
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/Wikitext.tid",
    "content": "created: 20140717182336830\nmodified: 20140717182412350\ntags: doc\ntitle: WikiText\n\n{{WikiText Markup}}"
  },
  {
    "path": "editions/dev/tiddlers/from Heigele and Jurke/wikimethod module type.tid",
    "content": "created: 20140710185051844\nmodified: 20201002010124844\ntitle: wikimethod module type\ntags: moduletypes\n\nThe startup module [[$:/core/modules/startup/load-modules.js]]  in the TiddlyWiki core plug-in loads all modules of type``wikimethod`` and puts their exported functions into the wiki store.\n"
  },
  {
    "path": "editions/dev/tiddlers/from tw5.com/Contributing to the TiddlyWiki Core.tid",
    "content": "created: 20141016083308219\nmodified: 20141107213203691\ntitle: Contributing to the TiddlyWiki Core\ntype: text/vnd.tiddlywiki\n\nThe TiddlyWiki core is the container for all the generic features of TiddlyWiki that are of universal utility. Concretely, it comprises the tiddlers in the `$:/core` plugin.\n\n! Core Contribution Requirements\n\nThere are requirements that must be met for any contribution that is to be accepted into the core:\n\n* If appropriate, the new functionality must support both standalone and Node.js configurations. For example, any new widgets must be capable of being rendered on the server\n* The contribution must not compromise the backwards compatibility of the existing code\n* Code contributions must comply with the [[TiddlyWiki Coding Style Guidelines]]\n* Generic components are preferred over point solutions for specific problems (which belong in plugins)\n\n! The Core and Innovation\n\nIf you've created something new and innovative, don't try to rush to get it included into the core. Once new stuff is in the core it is subject to the core policies of strict backwards compatibility, making it frozen as far as radical innovation is concerned. It's usually better to release the new thing as a plugin so that it can be shared with the rest of the community for feedback.\n\nThe expected model of innovation is that the core development will move relatively slowly as more and more of the initial planned functionality is implemented. Innovation can take place in the much more unconstrained environment of plugins. Over time, as these third party plugins gain popularity and become more polished, some or all of their functionality will be migrated into the core.\n\n! Improving Hackability of the Core\n\nDon't be afraid to submit issues or pull requests that add hooks or other points of extensibility to help your plugin integrate with the core. An important goal for TiddlyWiki is for the core to be infinitely adaptable through plugins. It is expected that many more points of extension will need to be added to support a healthy ecosystem of plugins.\n"
  },
  {
    "path": "editions/dev/tiddlers/from tw5.com/Contributing to the TiddlyWiki Plugin Library.tid",
    "content": "created: 20141016083308219\nmodified: 20141016083333808\ntitle: Contributing to the TiddlyWiki Plugin Library\ntype: text/vnd.tiddlywiki\n\nThe TiddlyWiki Plugin library is the set of plugins, themes and languages that are distributed via https://tiddlywiki.com.\n\nThe plugin library is intended to help end users of TiddlyWiki in the following ways:\n\n* By being a reliable, official source of community assets\n* Permitting automatic upgrading of plugins during the upgrade process\n* Providing a guarantee of backwards compatibility\n\nPlugins in the library need a maintainer who is prepared to make a commitment to keep them tested and fully operational with successive releases of the core code. Many plugins are maintained by the core team.\n"
  },
  {
    "path": "editions/dev/tiddlers/from tw5.com/Developing plugins using Node.js and GitHub.tid",
    "content": "created: 20140320055936611\nmodified: 20141022145259278\ntags: howto\ntitle: Developing plugins using Node.js and GitHub\ntype: text/vnd.tiddlywiki\n\nThe most practical way to develop plugins is to use Node.js with the tiddlywiki5 repository to build your plugins, and to use ~GitHub to manage you files.\n\n! Step by step\n\n!! 1. Installation\n\nFirst read https://tiddlywiki.com/static/PluginMechanism.html.\n\nInstall Git from http://git-scm.com/downloads\n\nInstall Node.js from http://nodejs.org/\n\n!! 2. Create a new blank repository on ~GitHub\n\nHint: ~GitHub repositories cannot be grouped together into directories, so it is only possible to group by using a naming scheme, e.g. use 'TW5-' as a name prefix with tiddlywiki5 projects to group them together.\n\nGo to https://github.com/ and create new a repository 'pluginname' - choose to add a readme file.\n\n!! 3. Setup a working environment\n\nChoose a location in your file system (eg TW5) for your plugin project; issue commands to:\n\n!!! 1. Create the directory\n\n```bash\nmkdir TW5\n\n```\n\n!!! 2. Make a local read-only copy of the ~TiddlyWiki5 repository\n\n```bash\ngit clone https://github.com/TiddlyWiki/TiddlyWiki5.git TW5\n\n```\n\n!!! 3. Make a directory for your plugin\n\n```bash\ncd TW5\ncd plugins\nmkdir yourname\ncd yourname\nmkdir pluginname\n\n```\n\n!!! 4. Make a local copy of your plugin repository\n\n```bash\ngit clone https://github.com/yourgithub/pluginname.git pluginname\n\n```\n!!! 5. Go to your files\n\n```bash\ncd pluginname\n\n```\n\nCreate the file plugin.info with content:\n\n```js\n{\n\t\"title\": \"$:/plugins/yourgithub/pluginname\",\n\t\"description\": \"summary of the plugin's purpose\",\n\t\"author\": \"yourname\",\n\t\"version\": \"0.0.1\",\n\t\"core-version\": \">=5.0.8\",\n\t\"source\": \"https://github.com/yourgithub/pluginname\",\n\t\"plugin-type\": \"plugin\"\n}\n```\n\n\n!! 4. Create the files for your plugin\n\nFor example files see the plugins in the ~TiddlyWiki5 repository i.e. those located at plugins/tiddlywiki/. See [[TiddlerFiles|https://tiddlywiki.com/#TiddlerFiles]] for details of the supported tiddler file formats.\n\n!!5. Build your files into a ~TiddlyWiki\n\nModify `editions/tw5.com/tiddlywiki.info` to include a reference to your plugin directory, i.e. find `\"plugins\": [ ` and add `\"yourname/pluginname\"`.\n\nFrom the TW5 directory issue the command\n\n```bash\nnode ./tiddlywiki.js editions/tw5.com --build index\n```\n\nThe resultant file (index.html) will be placed in the `editions/tw5.com/output` directory of the TW5 repo.\n\n!! 6. Save your work on ~GitHub\n\nFrom `plugins/yourname/pluginname/` issue commands to:\n\n!!! 1. Add all files\n\n```bash\ngit add -A\n```\n\n!!! 2. Commit to your local repository\n\n```bash\ngit commit -am \"something meaningful about this check in\"\n```\n\n!!! 3. Copy local changes to github\n\n```bash\ngit push\n```\n"
  },
  {
    "path": "editions/dev/tiddlers/from tw5.com/FakeDomMechanism.tid",
    "content": "title: FakeDomMechanism\nmodified: 20141019122342995\n\nThe \"fake DOM\" is a simplified JavaScript implementation of the DOM that can be run on the server. Its use allows modules that need to run under Node.js to generate and manipulate HTML through the DOM API, rather than having to stitch HTML strings together.\n\nThe fake DOM only implements a small subset of the full DOM APIs but it is sufficient for the core widgets to be able to be run under Node.js.\n\nBecause the fake DOM is faster than the real DOM, it is also used in the browser when interactive rendering to the DOM isn't needed. The best example is stylesheet processing, where WikiText stylesheet content is parsed and rendered, and the plain text extracted from the fake DOM for use as the stylesheet content.\n"
  },
  {
    "path": "editions/dev/tiddlers/from tw5.com/How to create a translation for TiddlyWiki.tid",
    "content": "created: 20140217173715829\nmodified: 20141022145259278\ntags: howto\ntitle: How to create a translation for TiddlyWiki\ntype: text/vnd.tiddlywiki\n\n! Prerequisites\n\n* [[TiddlyWiki on Node.js|https://tiddlywiki.com/#TiddlyWiki%20on%20Node.js]]\n* A GitHub account to submit the translation to tiddlywiki.com\n\n! Setting Up\n\n# Fork the TiddlyWiki GitHub repository (https://github.com/TiddlyWiki/TiddlyWiki5)\n#* If your GitHub username is JoeBloggs, your fork will be https://github.com/JoeBloggs/TiddlyWiki5\n# Create a branch with the name of the translation you intend to create (eg \"cy-GB\" for \"Welsh (United Kingdom)\")\n#* IETF language codes: http://www.lingoes.net/en/translator/langcode.htm\n# Clone your forked repository to your computer (eg, `/MyTranslation/TiddlyWiki5`)\n# Create a sibling directory `/MyTranslation/jermolene.github.io`\n# Create a new folder in `<repo>/languages` for your translation\n# Copy the contents of `<repo>/core/language/en-GB` into your translation folder\n# Create a `plugin.info` file (see below) in your translation folder\n# Edit `<repo>/editions/tw5.com/tiddlywiki.info` to add your language to the list\n# Run `../build.jermolene.github.io/quick-bld.sh` to build TiddlyWiki\n# Open the TiddlyWiki file at `/MyTranslation/jermolene.github.io/index.html`\n# You should see your translation listed in the control panel, but the text of the translation will still be in British English\n# Edit the `.tid` and `.multids` files in your language folder to translate the English text\n\nContent of `plugin.info` for Joe Bloggs' Welsh translation:\n\n```js\n{\n\t\"title\": \"$:/languages/cy-GB\",\n\t\"name\": \"cy-GB\",\n\t\"plugin-type\": \"language\",\n\t\"description\": \"Welsh (British)\",\n\t\"author\": \"JoeBloggs\",\n\t\"core-version\": \">=5.0.0\"\n}\n```\n\n[[MultiTiddlerFiles|https://tiddlywiki.com/#MultiTiddlerFiles]] make it possible to pack the text of several tiddlers in a single text file, simplifying some editing tasks.\n\n! Handling Updates\n\nSometimes the master en-GB language tiddlers are updated with revised content or new items. The best way to keep track of language-related commits to ~TiddlyWiki5:master is to monitor this RSS/Atom feed:\n\nhttps://github.com/TiddlyWiki/TiddlyWiki5/commits/master/core/language.atom\n"
  },
  {
    "path": "editions/dev/tiddlers/from tw5.com/How to create plugins in the browser.tid",
    "content": "created: 2014013122133816\nmodified: 20150502082437656\ntags: howto\ntitle: How to create plugins in the browser\ntype: text/vnd.tiddlywiki\n\nThe recommended technique for building TiddlyWiki plugins involves running [[TiddlyWiki on Node.js|https://tiddlywiki.com/#TiddlyWiki%20on%20Node.js]], but there is now an experimental technique for creating plugins directly in the browser.\n\n! Overview\n\nLoading a plugin in the browser has several consequences:\n\n* The original plugin tiddler itself is unchanged\n* The payload tiddlers are set up as individual [[ShadowTiddlers|https://tiddlywiki.com/#ShadowTiddlers]]\n\nTo make a modified copy of a plugin, one edits the constituent shadow tiddlers (doing this actually overrides the shadow tiddler with a new non-shadow tiddler containing the modified content). The repacking process retrieves the current value of all the shadow tiddlers included in the plugin, and then bundles the new values back into the original plugin tiddler.\n\n! Step by step\n\n!! 1. Setup your development environment\n\nStart with a blank TiddlyWiki. It is useful to create a ''HelloThere'' tiddler that contains links to various tiddlers that you'll be opening frequently during plugin development:\n\n* The plugin itself (eg `$:/plugins/yourname/pluginname`)\n* The payload tiddlers that are to be packed into the plugin (eg `$:/plugins/yourname/pluginname/mywidget.js`)\n\n!! 2. Create the plugin tiddler\n\nClick the link to the plugin tiddler to open it. Assuming it doesn't currently exist, it will open with an italicised title, indicating that it is a missing tiddler. Then switch to edit mode and set the following fields on the tiddler:\n\n|!Field |!Value |\n|''dependents'' |Space separated list of dependent plugins (use square brackets for titles containing spaces) |\n|''description'' |Plugin description |\n|''name'' |Plugin name |\n|''plugin-type'' |Either \"plugin\" for a regular plugin, \"theme\" for a theme, or \"language\" for a language pack |\n|''type'' |Set to \"application/json\" |\n|''version'' |Set to the version number of the plugin (eg \"0.0.1\") |\n\nThen in the body of the tiddler, insert:\n\n```js\n{\"tiddlers\": {}}\n```\n\nSave the plugin tiddler\n\n!! 3. Modify the payload tiddlers\n\nCreate the payload tiddlers by clicking on the links in the ''HelloThere'' tiddler from step 1.\n\n!! 4. Pack the plugin\n\nOpen the browser developer console, and type the following JavaScript statement, but first change the first parameter to the name of your plugin. The second parameter is an optional array of tiddler titles to be added to the plugin:\n\n```js\n$tw.utils.repackPlugin(\"$:/plugins/yourname/pluginname\",[\"$:/plugins/yourname/pluginname/mywidget.js\"])\n```\n\nYou should see a confirmation message, and then if you inspect the plugin tiddler you should see that it has been filled with the payload tiddlers.\n\nEach time you save the plugin the last portion of the version number is automatically incremented. This will ensure that users with an older version of your plugin will be able to install the new version.\n\n!! 5. Testing the plugin\n\nTo test the plugin, first make sure that it has been packed. Then save changes and refresh the page in order to load the new plugin.\n\n!! 6. Repacking the plugin\n\nOnce you've built the plugin for the first time you can omit the second parameter to `repackPlugin()` unless you are adding a new tiddler:\n\n```js\n$tw.utils.repackPlugin(\"$:/plugins/yourname/pluginname\")\n```\n\n!! 7. Removing tiddlers from the plugin\n\nTo remove tiddlers from the plugin specify their titles in the optional third parameter:\n\n```jss\n$tw.utils.repackPlugin(\"$:/plugins/yourname/pluginname\",null,[\"$:/plugins/yourname/pluginname/mywidget.js\"])\n```\n\n! Notes\n\n!! Creating theme and language plugins\n\nBefore attempting to repack your plugin you should ensure that the plugin is selected as the current theme or language. Otherwise the shadow tiddlers will not be present.\n\n"
  },
  {
    "path": "editions/dev/tiddlers/from tw5.com/How to customise the password prompt.tid",
    "content": "title: How to customise the password prompt\ntags: howto\ncreated: 20141006085526118\nmodified: 20141006085526118\n\nYou can customise the text and appearance of the password prompt that is displayed when encrypted TiddlyWiki files are first opened.\n\nTo do so, create a tiddler tagged {{$:/core/wiki/rawmarkup||$:/core/ui/TagTemplate}} containing:\n\n# A JavaScript `<script>` tag containing code to override the configuration variable `$tw.boot.encryptionPrompts.decrypt`\n# CSS `<style>` definitions targeting the `tc-password-wrapper` class to apply styles to the form\n\nRaw markup tiddlers are spliced into the top of the standalone HTML file, and are executed before the boot prefix and boot kernel.\n\nSee $:/PatchEncryptionPrompt for an example.\n"
  },
  {
    "path": "editions/dev/tiddlers/from tw5.com/JavaScript Macros.tid",
    "content": "created: 20131211222303769\nmodified: 20140424130146763\ntags: dev\ntitle: JavaScript Macros\ntype: text/vnd.tiddlywiki\n\nMacros can be implemented as JavaScript modules as well as via the [[wikitext syntax|https://tiddlywiki.com/#Macros%20in%20WikiText]].\n\n! Overview\n\nJavaScript macros are modules with their ''module-type'' field set to ''macro''. They must export these three properties:\n\n* ''name'': A string giving the name used to invoke the macro\n* ''params'': An array of objects with the following properties:\n** //name//: name of the parameter\n** //default//: (optional) default value for the parameter\n* ''run'': Function called when the macro requires evaluation. The parameters are pulled from the macro call and arranged according to the ''params'' array. The ''run'' function should return the string value of the macro. When invoked, `this` points to the widget node invoking the macro.\n\nNote that if the ''params'' array is missing or blank, then all the supplied parameters are passed to the `run()` method.\n\n! Writing JavaScript macros\n\nThere are several JavaScript macros built into the core which can serve as a jumping off point for your own macros:\n\nhttps://github.com/TiddlyWiki/TiddlyWiki5/tree/master/core/modules/macros\n\nNote that JavaScript macros work on both the client and the server, and so do not have access to the browser DOM.\n\n!! Macro Behaviour\n\nMacros are just used to return a chunk of wikitext for further processing. They should not make modifications to tiddlers in the wiki store. The reason is that you cannot control when the macro is called; it may be called repeatedly as part of refresh processing. So it is important that macros do not have any other side effects beyond generating their text.\n"
  },
  {
    "path": "editions/dev/tiddlers/from tw5.com/TiddlyWiki Architecture.tid",
    "content": "created: 20130825162100000\nmodified: 20140614120823657\ntags: dev\ntitle: TiddlyWiki Architecture\ntype: text/vnd.tiddlywiki\n\nThe heart of TiddlyWiki is an extensible representation transformation engine for text and images. Given the text of a tiddler and its associated [[ContentType|https://tiddlywiki.com/#ContentType]], the engine can produce a rendering of the tiddler in a new [[ContentType|https://tiddlywiki.com/#ContentType]]. Furthermore, it can efficiently selectively update the rendering to track any changes in the tiddler or its dependents.\n\n! Overview\n\n{{TiddlyWiki Architecture.svg}}\n\nThe processing pipeline shows how WikiText is parsed by a stack of parse rules into a parse tree. The parse tree is rendered as a tree of widgets, which is synchronised into the DOM via the RefreshMechanism.\n\nDOM events trigger actions on widgets which update the tiddler store. The updates trigger a change event which in turn triggers the refresh mechanism to update the DOM.\n\n! Client/Server Architecture\n\n{{Server Architecture.svg}}\n\nWhen programming TiddlyWiki 5 plugins which make changes outside the scope of the included examples, you will need a more in-depth understanding of TiddlyWiki's internal architecture.\n\n! Model\n\nTiddlyWiki's data model is a fairly simple key-value store.\n\n* Each tiddler is simply an object with a `fields` member containing members such as `title`, `text`, `tags` and so on.\n* The core `Wiki` class defined in `boot/boot.js` implements simple associative array behaviours like insertion, deletion, iteration, listing keys, and get-by-key.\n* The code in `core/modules/wiki.js` then extends the `Wiki` class with functionality such as event dispatch and various cache-backed methods such as `getTiddlersWithTag`.\n\nThe active tiddler store can be accessed via `$tw.wiki` as in this example:\n\n```js\n$tw.wiki.makeTiddlerIterator($tw.wiki.getTiddlersWithTag('timeline')\n    )(function(tiddler, title) {\n        // Skip templates\n        if (tiddler.fields.tags.indexOf('templates') >= 0) { return; }\n\n        do_something(tiddler);\n});\n```\n\nData which should not be visible to end users under normal operation (eg. internal components, plugins, persisted state for GUI widgets) is stored in [[system tiddlers|https://tiddlywiki.com/#SystemTiddlers]] organised via a set of [[namespaces|https://tiddlywiki.com/#Naming%20of%20System%20Tiddlers]].\n\nThe similarity between filesystem paths and system tiddler names is intentional and will be used to provide a hierarchical browsing interface in a future TiddlyWiki release.\n\n! View\n\nTiddlyWiki's view layer has a //lot// in common with desktop widget toolkits and this is the part which is most likely to trip up newcomers. There are two facets to it:\n\n!! Role of the DOM\nBecause TiddlyWiki may re-render content, plugins should treat the DOM as write-only.\n\nIn other words, any state you store in the DOM could vanish at any instant and you need to use TiddlyWiki's internal [[StateMechanism|https://tiddlywiki.com/#StateMechanism]] instead.\n\nIn a desktop application, the base widget class defines a method such as `paint(canvas)` which is called in response to `expose` events or \"data has changed\" messages.\n\nIn TiddlyWiki, the `Widget` class in `core/modules/widgets/widgets.js` defines a `render(parent, nextSibling)` method which TiddlyWiki calls in response to various events such as changes in the model.\n\n(The potential inefficiency of this approach is mitigated via a `refresh(changedTiddlers)` method which TiddlyWiki calls to ask your widget whether its current rendering is stale.)\n\n!! Locus of Control\n\nWhile TiddlyWiki's extended [[WikiText]] is similar in design to HTML templating languages with logic constructs, you can't just ignore it and assemble all of your content in raw Javascript because it is used to define most of TiddlyWiki's UI.\n\nIn this respect, it's closer to a glue language like Qt Quick or Python with Javascript filling the \"create new components\" role of C/C++ in widget toolkits like Qt and GTK+.\n\nTo familiarise yourself with this, read [[Widgets in WikiText|https://tiddlywiki.com/#Widgets%20in%20WikiText]] and [[Introduction to Filters|https://tiddlywiki.com/#Introduction%20to%20Filters]]. then examine the internals for a tiddler like [[TaskManagementExample|https://tiddlywiki.com/#TaskManagementExample]].\n"
  },
  {
    "path": "editions/dev/tiddlers/from tw5.com/TiddlyWiki Coding Style Guidelines.tid",
    "content": "modified: 20150430153333808\ntitle: TiddlyWiki Coding Style Guidelines\ntags: dev\n\n! Motivation\n\nTiddlyWiki is a large project with many interested parties. It benefits everyone if the code is as easy to read as possible. A key part of that it must be written and laid out consistently -- the code should read as though it were written by a single author.\n\n! Guidelines\n\nThis list of guidelines isn't exhaustive but captures some of the common problems. The ultimate guide is the existing TiddlyWiki code-base. There are still some places where the coding guidelines aren't used consistently within the core; pull requests are welcome to help resolve those issues.\n\n!! Tabs and whitespace\n\nTiddlyWiki uses 4-character tabs for indenting.\n\nOne blank line is used to separate blocks of code. Occasional blank lines are permitted within blocks for clarity, but should be avoided unless they solve a specific readability problem.\n\n!! Layout of basic constructs\n\nSee the following example for layout of basic JavaScript constructs:\n\n```js\n/*\nMultiline comments are used to introduce a block of code such as a function definition\n*/\nfunction demoFunction(param,more) {\n\t// Proper sentence capitalisation for comments; prefer strict equality checks\n\tif(condition === \"something\") {\n\t\t// Always use braces, even when optional; no space between \"if\" and the brackets; always spaces around binary operators\n\t\tsomething = somethingElse;\n\t\tmyOtherFunction(one,two); // No whitespace within function parameters\n\t\tdo {\n\t\t\tmyCondition.explore(); // Always use semicolons\n\t\t} while(myCondition < worsens);\n\t}\t\n}\n\n```\n\n!! Strings\n\nDouble quotes are preferred over single quotes for string literals.\n"
  },
  {
    "path": "editions/dev/tiddlers/from tw5.com/TiddlyWiki for Developers.tid",
    "content": "created: 20131203074550710\nmodified: 20140318210720798\ntags: introduction dev\ntitle: TiddlyWiki for Developers\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki is published as OpenSource which means that anyone can read the code and contribute to its development.\n\n! Resources\n\nIf you're interested in understanding more about the internal operation of TiddlyWiki, [[TiddlyWiki Architecture]] gives an overview of how TiddlyWiki is structured. Then read the code -- start with the boot kernel [[$:/boot/boot.js]].\n\n! The one thing you need to know\n\nTiddlyWiki's architecture is very different from an HTML page written using jQuery. This section concisely explains what TiddlyWiki does differently. It may not make much sense on the first reading.\n\nThe key to understanding how it works internally is to see that the RefreshMechanism requires that any region of the DOM can be regenerated at any time. This means that the entire state of the user interface must reside in the tiddler store, from where it is synchronised into the DOM. This is done to improve performance by minimising the DOM interactions during the refresh cycles.\n\nIt also determines the standard UI flow:\n\n# An event handler on a widget is triggered\n# The event handler can manipulate the DOM nodes directly created by the widget, and/or modify the state of the tiddler store\n# The core then issues a store change event which triggers the refresh cycle\n# Each widget in the tree then gets a chance to refresh itself to reflect the changes in the store if they need to\n\nFrom a technical perspective, TiddlyWiki is a fairly classic MVC architecture, with strict separation of concerns. The model is the tiddler store, the view is a rendering tree (such as the one created from [[$:/core/ui/PageTemplate]] in startup.js), and the controller is the core code itself.\n"
  },
  {
    "path": "editions/dev/tiddlers/from tw5.com/TiddlyWiki on node-webkit.tid",
    "content": "created: 20140101174035140\nmodified: 20140101175304016\ntitle: TiddlyWiki on NW.js\ntype: text/vnd.tiddlywiki\n\n[[NW.js|https://tiddlywiki.com/#NW.js]] (previously known as \"node-webkit\") allows TiddlyWiki to be set up as a native application for Windows, Mac OS X or Linux.\n\n! Setting up\n\n# Create a folder with the following contents:\n## The appropriate copy of [[NW.js]] for your platform, downloaded from https://github.com/nwjs/nw.js\n## Your TiddlyWiki HTML file as `index.html`\n## A file called `package.json` with the following content:\n##> {{package.json for NW.js}}\n# Run the [[NW.js]] application\n#* If it doesn't work, you may need to unblock the application before your operating system will run it\n#** OS X: see http://support.apple.com/kb/PH14369\n# Try saving changes in the usual way\n\n! Limitations\n\nMP3 audio and H264 video are not supported without special steps [[described on the NW.js wiki|https://github.com/nwjs/nw.js/wiki/Using-MP3-%26-MP4-%28H.264%29-using-the--video--%26--audio--tags.]].\n\n"
  },
  {
    "path": "editions/dev/tiddlers/from tw5.com/TiddlyWiki5 Development Environment.tid",
    "content": "created: 201308251618\nmodified: 201308262048\ntags: dev\ntitle: TiddlyWiki5 Development Environment\n\n//This information is for people who are working on the development of TiddlyWiki5 itself, and isn't relevant for end users//\n\n! Setting up npm\n\n[[Installing TiddlyWiki5|https://tiddlywiki.com/#Installing%20TiddlyWiki%20on%20Node.js]] with NPM downloads a snapshot release of TiddlyWiki5. To use a development copy of the TiddlyWiki5 repository instead of the copy installed by [[NPM]], use this command within the root of the TiddlyWiki5 repo:\n\n```bash\nnpm link\n```\n\n! Bumping version numbers\n\nAs releases are made during development it is necessary to adjust the version number of the TiddlyWiki5 core. This is done with the [[npm version|https://npmjs.org/doc/version.html]] command. For example:\n\n```bash\nnpm version 5.0.0-alpha.10\n```\n\nAs described in #10 in [[this article by npm's author|http://blog.izs.me/post/1675072029/10-cool-things-you-probably-didnt-realize-npm-could-do]], when run from within a git repo this command will also commit the change and tag it\n"
  },
  {
    "path": "editions/dev/tiddlers/from tw5.com/mechanisms/BootMechanism.tid",
    "content": "created: 20130825142900000\nmodified: 20140502142900000\ntags: Mechanisms\ntitle: BootMechanism\ntype: text/vnd.tiddlywiki\n\n!Introduction\n\nAt its heart, TiddlyWiki5 is a relatively small boot kernel that runs either under Node.js or in the browser with all other functionality added via dynamically loaded [[modules|Modules]].\n\nThe kernel boots just enough of the TiddlyWiki environment to allow it to load and execute module tiddlers. The module system is compatible with CommonJS and [[Node.js]].\n\nThere are many [[different types of module|ModuleType]]: parsers, deserializers, widgets etc. It goes much further than you might expect. For example, individual tiddler fields are modules, too: there's a module that knows how to handle the `tags` field, and another that knows how to handle the special behaviour of the `modified` and `created` fields. Some plugin modules have further sub-plugins: the wikitext parser, for instance, accepts parsing rules as individual plugin modules.\n\n!Plugins\n\nIn TiddlyWiki5, [[Plugins]] are bundles of tiddlers that are distributed and managed as one; [[Modules]] are JavaScript tiddlers with a module type identifying when and how they should be executed.\n\nThe tiddler [[$:/boot/boot.js]] is a barebones TiddlyWiki kernel that is just sufficient to load the core plugin modules and trigger a startup module to load up the rest of the application.\n\nThe boot kernel includes:\n\n* Several short shared utility functions\n* A handful of methods implementing the module mechanism\n* The `$tw.Tiddler` class (and field definition plugins)\n* The `$tw.Wiki` class (and tiddler deserialisation methods)\n* Code for the browser to load tiddlers from the HTML DOM\n* Code for the server to load tiddlers from the file system\n\nEach module is an ordinary CommonJS module, using the `require()` function to access other modules and the `exports` global to return JavaScript values. The boot kernel smooths over the differences between `Node.js` and the browser, allowing the same plugin modules to execute in both environments.\n\nIn the browser, `core/boot.js` is packed into a template HTML file that contains the following elements in order:\n\n* Ordinary and system tiddlers, packed as HTML `<DIV>` elements\n* `core/bootprefix.js`, containing a few lines to set up the plugin environment\n* Optional JavaScript modules, packed as HTML `<SCRIPT>` blocks\n* `core/boot.js`, containing the boot kernel\n\nOn the server, `core/boot.js` is executed directly. It uses the `Node.js` local file API to load plugins directly from the file system in the `core/modules` directory. The code loading is performed synchronously for brevity (and because the system is in any case inherently blocked until plugins are loaded).\n\nThe boot process sets up the `$tw` global variable that is used to store all the state data of the system.\n\nAt the end of the boot process the StartupMechanism schedules the execution of startup modules to bring up the rest of TiddlyWiki.\n"
  },
  {
    "path": "editions/dev/tiddlers/from tw5.com/mechanisms/EncryptionMechanism.tid",
    "content": "created: 20130825154200000\nmodified: 20131129163653069\ntags: Mechanisms\ntitle: EncryptionMechanism\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki5 allows the entire content of a TiddlyWiki HTML file to be encrypted with the Stanford JavaScript Crypto Library. Opening an encrypted TiddlyWiki in the browser prompts for a password before decrypting and displaying the content.\n\nFor instructions on how to use TiddlyWiki5's encryption features, see [[Encryption]].\n\nThe EncryptionMechanism is implemented with the following elements:\n\n* A PasswordVault within the BootMechanism that holds the current encryption password\n* The ability of the BootMechanism to read a block of encrypted tiddlers from the TiddlyWiki file, to prompt the user for a password, and to decrypt the tiddlers\n* Handlers for the messages [[WidgetMessage: tm-set-password]] and [[WidgetMessage: tm-clear-password]] that handle the user interface for password changes\n* The EncryptWidget within the main file template that encrypts a filtered list of tiddlers with the currently held password\n* The [[$:/isEncrypted]] tiddler that contains \"yes\" or \"no\" according to whether there is a password in the password vault\n** The availability of this tiddler allows the RevealWidget to be used to selectively display user interface elements according to whether encryption is in force\n"
  },
  {
    "path": "editions/dev/tiddlers/from tw5.com/mechanisms/LazyLoadingMechanism.tid",
    "content": "created: 20130825162500000\nmodified: 20140206221900969\ntags: Mechanisms\ntitle: LazyLoadingMechanism\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki currently only implements LazyLoading when it is running in the browser talking to a TiddlyWeb-compatible server.\n\nIn the [[configuration for TiddlyWeb|TiddlyWiki in the Sky for TiddlyWeb]], the browser first requests a \"skinny\" version of each tiddler (consisting of all the fields apart from the text field). Subsequently, an attempt to read those skinny tiddlers with `wiki.getTiddler()` returns just the skinny fields, but an attempt to read one using `wiki.getTiddlerText()` will trigger an asynchronous load of the full tiddler text, which in turn triggers a refresh cycle, updating the display to reflect the newly loaded tiddler. Widgets that loop through all tiddlers are fine; it's only if they trigger `wiki.getTiddlerText()` for a tiddler that it will get loaded.\n\nLazy loading can also be used with TiddlyWiki's own server. The core provides a template that enables images to be lazily loaded while other tiddlers are packaged into the initial HTML file in the usual way.\n\nThe browser-based search built into TiddlyWiki5 will only search the text of tiddlers that have been fully loaded. The expectation is that when lazy loading is used in a client-server configuration, then it is the server that really needs to handle search operations, because it is only the server that can \"see\" the text of all tiddlers. So, the plan is to integrate the built in search with TiddlyWeb's search API. The simplest approach is that any local search triggers an asynchronous server side search. The results of the search would be asynchronously loaded such that they would dynamically appear in the local search results.\n"
  },
  {
    "path": "editions/dev/tiddlers/from tw5.com/mechanisms/ParsingMechanism.tid",
    "content": "title: ParsingMechanism\ntags: Mechanisms\ncreated: 201311011307\nmodified: 201311011307\n\n! Introduction\n\nThe parsing mechanism analyses the text of a tiddler against a set of parsing rules, producing a tree representing the structure of the text. The RenderingMechanism is used to transform parse trees into render trees of widget nodes.\n\nTiddlyWiki5 includes ParserModules for several types of tiddler:\n\n* WikiText\n* Raw HTML\n* Plain text\n* Images (bitmap, SVG and PDF)\n\nThe WikiText parser is the most complex, comprising separate individual WikiRuleModules encapsulating each parsing rule.\n\n! Parse Trees\n\nThe output of parsing a tiddler is an object containing a tree of parse nodes corresponding to the original text. For example:\n\n```\n> JSON.stringify($tw.wiki.parseText(\"text/vnd.tiddlywiki\",\"Some //italics// and a {{Transclusion}}.\").tree)\n\n[\n\t{type: \"element\", tag: \"p\", children: [\n\t\t{type: \"text\", text: \"Some \"},\n\t\t{type: \"element\", tag: \"em\", children: [\n\t\t\t{type: \"text\", text: \"italics\"}\n\t\t]},\n\t\t{type: \"text\", text: \" and a \"},\n\t\t{type: \"tiddler\", attributes:{\n\t\t\ttiddler: {type: \"string\", value: \"Transclusion\"}\n\t\t}, children:[\n\t\t\t{type: \"transclude\", attributes:{\n\t\t\t\ttiddler: {type: \"string\", value: \"Transclusion\"}\n\t\t\t}}\n\t\t]},\n\t\t{type: \"text\", text: \".\"}\n\t]}\n]\n```\n\nParse tree nodes are plain JavaScript objects, and do not have a prototype.\n"
  },
  {
    "path": "editions/dev/tiddlers/from tw5.com/mechanisms/RenderingMechanism.tid",
    "content": "title: RenderingMechanism\ntags: Mechanisms\ncreated: 201311011307\nmodified: 201311011307\n\n"
  },
  {
    "path": "editions/dev/tiddlers/from tw5.com/mechanisms/StartupMechanism.tid",
    "content": "created: 20140502142900000\nmodified: 20140502142900000\ntags: Mechanisms\ntitle: StartupMechanism\ntype: text/vnd.tiddlywiki\n\nThe startup mechanism runs the installed startup modules at the end of the [[boot process|BootMechanism]].\n\n! Startup Modules\n\nModules with their ''module-type'' field set to `startup`:\n\n* Must export a `startup` function\n** For synchronous startup modules the startup function is called as `startup()`, asynchronous modules are passed a callback they must invoke on completion: `startup(callback)`\n* May export a `name` property that is used to identify the task\n* May export a `after` property containing an array of names of dependent tasks that must be run before this one\n* May export a `before` property containing an array of names of tasks that must be run after this one\n* May export a `platforms` property containing an array of names of platforms that are required in order for the startup module to be executed. The defined platforms are ''node'' and ''browser''. If the `platforms` property is not provided it defaults to `[\"node\",\"browser\"]`\n\n! Startup Processing\n\nStartup modules are executed in sequence according to their declared dependencies.\n\nThere is no guarantee of the execution order of tasks that share the same dependencies.\n\n! Startup Modules\n\nThe core defines the following startup modules:\n\n{{Startup Modules.svg}}\n"
  },
  {
    "path": "editions/dev/tiddlers/from tw5.com/mechanisms/TestingMechanism.tid",
    "content": "modified: 20141013085608911\ntags: Mechanisms\ntitle: TestingMechanism\n\nTiddlyWiki5 incorporates the Jasmine JavaScript testing framework (see https://jasmine.github.io/). It allows the same tests to be run both in the browser and under Node.js.\n\n! TiddlyWiki5 Testing Components\n\nThere are two main elements to the TiddlyWiki5 testing mechanism:\n\n* The plugin `tiddlywiki/jasmine` that wraps Jasmine up into a plugin along with some glue code\n* The TiddlyWiki5 edition `test` that contains the core test specifications and includes the Jasmine plugin\n\n! Running the Tests in Node.js\n\nTo run the tests under Node.js just load up the `test` wiki:\n\n```\nnode ./tiddlywiki.js \\\n\t./editions/test \\\n```\n\n! Running the Tests in the Browser\n\nTo generate a wiki containing the browser tests load up the `test` wiki and save it as an HTML file:\n\n```\nnode ./tiddlywiki.js \\\n\t./editions/test \\\n\t--verbose \\\n\t--rendertiddler $:/core/save/all test.html text/plain \\\n```\n\nThe `test.html` file will be placed in the `output` folder within the wiki folder. Open it in the browser to see the test results. There is a prebuilt version of `test.html` at:\n\nhttps://tiddlywiki.com/test.html\n"
  },
  {
    "path": "editions/dev/tiddlers/from tw5.com/moduletypes/SyncAdaptorModules.tid",
    "content": "created: 20130825162100000\nmodified: 20201025162413404\ntags: dev moduletypes\ntitle: SyncAdaptorModules\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nSyncAdaptorModules encapsulate storage mechanisms that can be used by the SyncMechanism. Two examples are:\n\n* The TiddlyWebAdaptor interfaces with servers compatible with TiddlyWeb's HTTP API, such as TiddlyWeb itself and TiddlyWiki5's built-in ServerMechanism.\n\n* The LocalFileAdaptor interfaces with file systems with an API compatible with Node.js's `fs` module\n\nSyncAdaptorModules are represented as JavaScript tiddlers with the field `module-type` set to `syncadaptor`.\n\nSee [[this pull request|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4373]] for background on the evolution of this API.\n\n! Exports\n\nThe following properties should be exposed via the `exports` object:\n\n|!Property |!Description |\n|adaptorClass |The JavaScript class for the adaptor |\n\nNothing should be exported if the adaptor detects that it isn't capable of operating successfully (eg, because it only runs on either the browser or the server, or because a dependency is missing).\n\n! Adaptor Module Methods\n\nAdaptor modules must handle the methods described below.\n\n!!! Error Handling\n\nThe syncadaptor must invoke the provided callback with the ''err'' parameter containing a string describing the error.\n\nThe syncer has special handling for connection errors. For backwards compatibilty reasons, the syncer identifies connection errors as the string comprised of the content of the tiddler $:/language/Error/XMLHttpRequest with the string \": 0\" appended to the end. For example, in English, the string is \"XMLHttpRequest error code: 0\" and in Brazilian Portuguese it is \"Código de erro XMLHttpRequest: 0\".\n\n!! `Constructor(options)`\n\nInitialises a new adaptor instance.\n\n|!Parameter |!Description |\n|options |See below |\n\nOptions include:\n\n* ''options.wiki'': reference to wiki to use with this syncadaptor\n\n!! `getTiddlerInfo(tiddler)`\n\nGets the supplemental information that the adaptor needs to keep track of for a particular tiddler. For example, the TiddlyWeb adaptor includes a `bag` field indicating the original bag of the tiddler.\n\n|!Parameter |!Description |\n|tiddler |Target tiddler |\n\nReturns an object storing any additional information required by the adaptor.\n\n!! `getTiddlerRevision(title)`\n\nGets the revision ID associated with the specified tiddler title.\n\n|!Parameter |!Description |\n|title |Tiddler title |\n\nReturns a revision ID.\n\n!! `getStatus(callback)`\n\nRetrieves status information from the server. This method is optional.\n\n|!Parameter |!Description |\n|callback |Callback function invoked with parameters `err,isLoggedIn,username,isReadOnly` |\n\n!! `login(username,password,callback)`\n\nAttempts to login to the server with specified credentials. This method is optional.\n\n|!Parameter |!Description |\n|username |Username |\n|password |Password |\n|callback |Callback function invoked with parameter `err` |\n\n!! `displayLoginPrompt(syncer)`\n\nInvoked by the syncer to display a custom login prompt. This method is optional.\n\n|!Parameter |!Description |\n|syncer |Reference to the syncer object making the call |\n\nThe custom login prompt should send the widget message `tm-login` with the username and password in parameters ''username'' and ''password''.\n\n!! `logout(callback)`\n\nAttempts to logout of the server. This method is optional.\n\n|!Parameter |!Description |\n|callback |Callback function invoked with parameter `err` |\n\n!! `getUpdatedTiddlers(syncer,callback)`\n\nRetrieves the titles of tiddlers that need to be updated from the server.\n\nThis method is optional. If an adaptor doesn't implement it then synchronisation will be unidirectional from the TiddlyWiki store to the adaptor, but not the other way.\n\nThe syncer will use the `getUpdatedTiddlers()` method in preference to the `getSkinnyTiddlers()` method.\n\n|!Parameter |!Description |\n|syncer |Reference to the syncer object making the call |\n|callback |Callback function invoked with parameter `err,data` -- see below |\n\nThe data provided by the callback is as follows:\n\n```\n{\nmodifications: [<array of title>],\ndeletions: [<array of title>],\n}\n```\n\n!! `getSkinnyTiddlers(callback)`\n\nRetrieves a list of skinny tiddlers from the server.\n\nThis method is optional. If an adaptor doesn't implement it then synchronisation will be unidirectional from the TiddlyWiki store to the adaptor, but not the other way.\n\nThe syncer will use the `getUpdatedTiddlers()` method in preference to the `getSkinnyTiddlers()` method.\n\n|!Parameter |!Description |\n|callback |Callback function invoked with parameter `err,tiddlers`, where `tiddlers` is an array of tiddler field objects |\n\n!! `saveTiddler(tiddler,callback)`\n\nSaves a tiddler to the server.\n\n|!Parameter |!Description |\n|tiddler |Tiddler to be saved |\n|callback |Callback function invoked with parameter `err,adaptorInfo,revision` |\n|tiddlerInfo |The tiddlerInfo maintained by the syncer for this tiddler |\n\n!! `loadTiddler(title,callback)`\n\nLoads a tiddler from the server.\n\n|!Parameter |!Description |\n|title |Title of tiddler to be retrieved |\n|callback |Callback function invoked with parameter `err,tiddlerFields` |\n\n!! `deleteTiddler(title,callback,options)`\n\nDelete a tiddler from the server.\n\n|!Parameter |!Description |\n|title |Title of tiddler to be deleted |\n|callback |Callback function invoked with parameter `err` |\n|options |See below |\n\nThe options parameter contains the following properties:\n\n|!Property |!Description |\n|tiddlerInfo |The tiddlerInfo maintained by the syncer for this tiddler |\n"
  },
  {
    "path": "editions/dev/tiddlers/from tw5.com/moduletypes/WidgetModules.tid",
    "content": "created: 20131101130700000\nmodified: 20230601130631884\ntags: dev moduletypes\ntitle: WidgetModules\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nWidget modules are used as part of the RenderingMechanism to implement each type of renderable entity. As well as the widgets that are familiar to end users, the following primitives are also implemented as widgets:\n\n* HTML text nodes\n* HTML element nodes\n* HTML entities\n\nAll widgets inherit from a base widget class that is defined in [[$:/core/modules/widgets/widget.js]].\n\n! Widget Properties\n\nThe following widget properties are defined by the core. The lifecycle of a widget object is largely a matter of maintaining the consistency of these internal properties in the face of external state changes. Individual widgets usually add their own additional properties too.\n\n|!Name |!Description |\n|''parseTreeNode'' |Reference to the parse tree node corresponding to this widget |\n|''wiki'' |Reference to the [[Wiki]] object associated with this widget |\n|''variables'' |Hashmap of information about each [[widget variable|WidgetVariables]] (see below) |\n|''parentWidget'' |Reference to the parent widget |\n|''document'' |Reference to the document object associated with this widget. Usually either the browser global `document` variable or a reference to the FakeDomMechanism's `$tw.fakeDocument` |\n|''attributes'' |Hashmap of information about each attribute attached to this widget (see below) |\n|''children'' |Array of child widgets |\n|''domNodes'' |For widgets that directly generate DOM nodes, an array of the generated nodes |\n|''eventListeners'' |Array of event listener definitions |\n\n!! Widget Variables\n\nThe widget variables defined on a widget are stored in a hashmap of the variable name. The hashmap contains:\n\n* `name`: name of variable\n* `params`: array of parameters for macro definitions, each `{name: \"<name>\", default: \"<optionaldefault>\"}`\n* `value`: string value of variable\n\n!! Widget Attributes\n\nThe widget attributes associated with a widget are stored in a hashmap of the attribute name. The hashmap contains an object that describes the attribute value. Currently three attribute value types are supported:\n\n* Strings: `{type: \"string\", value: \"<value>\"}`\n* Tiddler text reference indirection: `{type: \"indirect\", textReference: \"<textref>\"}`\n* Macro invocation: `{type: \"macro\", value: {name: \"<macroname>\", params: [{name: \"<paramname>\", value: \"<paramvalue>\"}, ... ]}`\n\n!! Widget Event Listeners\n\nThe event listeners attached to a widget are stored as a hashmap by event type. Each value is a handler function that accepts a single `event` parameter.\n\n! Widget methods\n\nThe individual methods defined by the widget object are documented in the source code of [[$:/core/modules/widgets/widget.js]]. Here we give an overview of the overall lifecycle, and how the methods fit together\n\n!! Widget `initialise` method\n!! Widget `widgetClasses` method\n!! Widget `render` method\n!! Widget `execute` method\n!! Widget `getVariable` method\n!! Widget `substituteVariableParameters` method\n!! Widget `substituteVariableReferences` method\n!! Widget `evaluateMacroModule` method\n!! Widget `setVariable` method\n!! Widget `hasVariable` method\n!! Widget `getStateQualifier` method\n!! Widget `computeAttributes` method\n!! Widget `hasAttribute` method\n!! Widget `getAttribute` method\n!! Widget `assignAttributes` method\n!! Widget `makeChildWidgets` method\n!! Widget `makeChildWidget` method\n!! Widget `renderChildren` method\n!! Widget `addEventListeners` method\n!! Widget `addEventListener` method\n!! Widget `dispatchEvent` method\n!! Widget `refresh` method\n!! Widget `refreshSelf` method\n!! Widget `refreshChildren` method\n!! Widget `findNextSiblingDomNode` method\n!! Widget `findFirstDomNode` method\n!! Widget `destroy` method\n\n<<.from-version \"5.3.0\">> Gets called when any parent widget is unmounted from the widget tree.\n\n[[Examples|Widget `destroy` method examples]]\n\n!! Widget `removeChildDomNodes` method\n"
  },
  {
    "path": "editions/dev/tiddlers/from tw5.com/moduletypes/WikiRuleModules.tid",
    "content": "created: 20130825214700000\nmodified: 20210121054620146\ntags: dev moduletypes\ntitle: WikiRuleModules\n\nWikiRuleModules have a `module-type` of `wikirule`, and may have following types: `pragma`, `block`, `inline`. Modules of these types encapsulate the logic of individual parsing rules used by the WikiParser engine. For example, `entity.js` rule module identifies references to HTML entities by matching the pattern `&<chars>;`.\n\nPragma rules are applied at the start of a block of text, and cover definitions and declarations that affect the parsing of the rest of the text. Block rules are only applied at the beginning of a block of wikitext, while inline rules can appear anywhere. The only current example of a pragma rule is for macro definitions.\n\nExamples of block rules:\n\n* Headings\n* Tables\n* Lists\n\nExamples of inline rules:\n\n* Entities\n* HTML tags\n* Wiki links\n\nParser rule modules extend the `$tw.WikiParserRule` class. This is done by instantiating the class and then copying the exports of the rule module onto the instance. In this way, the parser rule can override the base behaviour of the `$tw.WikiParserRule` class. In particular, the base class incorporates logic for using regular expressions to match parse rules but this logic could be overridden by a parse rule that wanted to, say, use `indexOf()` instead of regular expressions.\n\nThe standard methods and properties of parser rules are as follows:\n\n* `name`: a string containing the name of this parse rule\n* `types`: an object that defines the module's type. For example, `exports.types = {block: true};`\n* `init(parser)`: initialisation function called immediately after the constructor with a pointer back to the parser containing this rule\n* `findNextMatch(pos)`: returns the position of the next match after the specified position\n* `parse()`: parses the most recent match, returning an array of the generated parse tree nodes. Pragma rules don't return parse tree nodes but instead modify the parser object directly (for example, to add local macro definitions)\n\nThe built in parser rules use regular expression matching. Such rules can take advantage of the implementation of `findNextMatch()` in the base `$tw.WikiRule` class by ensuring that their `init()` method creates a `matchRegExp` property containing the regular expression to match. The `match` property contains the details of the match for use in the `parse()` method.\n"
  },
  {
    "path": "editions/dev/tiddlers/from tw5.com/package.json for node-webkit.tid",
    "content": "created: 20140101174749409\nmodified: 20140101174811711\ntitle: package.json for NW.js\ntype: text/plain\n\n{\n    \"name\": \"tiddlywiki\",\n    \"main\": \"./index.html\",\n\t\"window\": {\n\t\t\"toolbar\": true,\n\t\t\"width\": 1024,\n\t\t\"height\": 768\n\t}\n}"
  },
  {
    "path": "editions/dev/tiddlers/images/Server Architecture.svg.meta",
    "content": "title: Server Architecture.svg\ntype: image/svg+xml\ntags: picture external-image\nmodified: 20140614120823657\n"
  },
  {
    "path": "editions/dev/tiddlers/images/Startup Modules.svg.meta",
    "content": "title: Startup Modules.svg\ntype: image/svg+xml\ntags: picture\n"
  },
  {
    "path": "editions/dev/tiddlers/images/TiddlyWiki Architecture.svg.meta",
    "content": "title: TiddlyWiki Architecture.svg\ntype: image/svg+xml\ntags: picture external-image\nmodified: 20140614120823657\n"
  },
  {
    "path": "editions/dev/tiddlers/images/apptree.svg.meta",
    "content": "created: 20140708155439949\nmodified: 20140708155439949\ntitle: apptree.svg\ntype: image/svg+xml\n\n"
  },
  {
    "path": "editions/dev/tiddlers/images/arch.svg.meta",
    "content": "created: 20140717194103797\nmodified: 20140717194103798\ntitle: arch.svg\ntype: image/svg+xml\n\n"
  },
  {
    "path": "editions/dev/tiddlers/images/favicon.png.meta",
    "content": "title: $:/favicon.ico\ntype: image/png\n"
  },
  {
    "path": "editions/dev/tiddlers/images/index.svg.meta",
    "content": "created: 20140708083812464\nmodified: 20140708083812464\ntitle: index.svg\ntype: image/svg+xml\n\n"
  },
  {
    "path": "editions/dev/tiddlers/images/overview.svg.meta",
    "content": "created: 20140708155403254\nmodified: 20140708155403254\ntitle: overview.svg\ntype: image/svg+xml\n\n"
  },
  {
    "path": "editions/dev/tiddlers/images/rendering.svg.meta",
    "content": "created: 20140708085509438\nmodified: 20140717194311307\ntitle: rendering.svg\ntype: image/svg+xml\n\n"
  },
  {
    "path": "editions/dev/tiddlers/indexer modules.tid",
    "content": "created: 20201002010134640\nmodified: 20201002012758239\ntags: moduletypes dev\ntitle: indexer modules\n\nIndexer modules maintain indexes of tiddlers organized in a manner that's more efficient for different types of access, typically to speed up things like certain filter operators.  An example of this would be the tag indexer - it's much faster to maintain a lookup table listing which tiddlers have a given tag than to iterate over //all// of the tiddlers in a wiki and ask each of them if they have the tag you're interested in!\n\nIndexer modules have a `module-type` of `indexer`, and the indexers that are included with TiddlyWiki can be found under `core/modules/indexers`.\n\n! Methods\n\nIndexer modules must export a constructor function, which takes the current wiki object as its only argument.  The object built by the construction function must implement the following methods:\n\n!! `init()`\n\nThis performs any initial setup required by an indexer.\n\n!! `rebuild()`\n\nThis rebuilds an index from scratch, usually after a large number of changes have happened to a wiki.\n\n!! `update(updateDescriptor)`\n\nThis is called every time a tiddler is added, changed, or deleted.  The `updateDescriptor` value is an object with two fields - `old` and `new` - which represent the pre-update and post-update state of the tiddler, respectively.  Each of these has three fields of their own:\n\n  * `tiddler` - the state of the tiddler (may be `null`)\n  * `shadow` - a boolean indicating whether or not the tiddler is a shadow\n  * `exists` - a boolean indicating whether or not the tiddler exists\n\nFor example, let's say you have an indexer `idx` and you create a tiddler T with the text \"test\" - that would result in your indexer's `update` method being called like this:\n\n```javascript\nidx.update({\n  old: { tiddler: null, shadow: false, exists: false },\n  new: { tiddler: new $tw.Tiddler({title: 'T', text: 'test'}), shadow: false, exists: true }\n});\n```\n\nIf you then change the text from \"test\" to \"testing\", `update` would be called like this:\n\n```javascript\nidx.update({\n  old: { tiddler: new $tw.Tiddler({title: 'T', text: 'test'}), shadow: false, exists: true },\n  new: { tiddler: new $tw.Tiddler({title: 'T', text: 'testing'}), shadow: false, exists: true }\n});\n```\n\nAnd finally, if you delete T, `update` will be called like this:\n\n```javascript\nidx.update({\n  old: { tiddler: new $tw.Tiddler({title: 'T', text: 'testing'}), shadow: false, exists: true },\n  new: { tiddler: null, shadow: false, exists: false }\n});\n```"
  },
  {
    "path": "editions/dev/tiddlers/javascript-widget-tutorial/Child widgets tutorial.tid",
    "content": "created: 20190202160512541\nmodified: 20190222231130254\ntitle: Child widgets tutorial\ntype: text/vnd.tiddlywiki\n\n\\define showTrees(wikitext)\n<table>\n<thead>\n<tr><th>wiki text</th><th>html</th><th>renders as</th></tr>\n</thead>\n<tbody>\n<tr>\n<td>`$wikitext$`</td>\n<td>\n<$wikify name=html text=\"\"\"$wikitext$\"\"\" output=html mode=inline>\n<$text text=<<html>>/>\n</$wikify>\n</td>\n<td>$wikitext$</td>\n</tr>\n</tbody>\n</table>\n\n<table>\n<thead>\n<tr><th>parse tree</th><th>widget tree</th></tr>\n</thead>\n<tbody>\n<tr>\n<td style=\"vertical-align: text-top\">\n<pre><code>\n<$wikify name=parsetree text=\"\"\"$wikitext$\"\"\" output=parsetree mode=inline>\n<<parsetree>>\n</$wikify>\n</code></pre>\n</td>\n<td style=\"vertical-align: text-top\">\n<pre><code>\n<$wikify name=widgettree text=\"\"\"$wikitext$\"\"\" output=widgettree mode=inline>\n<<widgettree>>\n</$wikify>\n</code></pre>\n</td>\n</tr>\n</tbody>\n</table>\n\\end\n\n! Introduction\n\nUntil now the examples have covered only simple, leaf widgets, but widgets can be arranged into a hierarchy. Compared to a leaf-only widget, widget classes which support having children must contain code to instantiate the children.\n\nNot all widgets need to support having children. Widgets whose only purpose is to integrate third party javascript libraries, for example may not need it.\n\n! wiki text ⇨ parse tree ⇨ widget tree ⇨ DOM tree\n\n# [[wiki text|https://tiddlywiki.com/#WikiText]] - Users write content in tiddlers using wiki text.\n# [[parse tree|https://tiddlywiki.com/dev/#ParsingMechanism]] - A parse tree is a JSON data structure describing the wiki text. Wiki text can be converted into a parse tree using `this.wiki.parseText`.\n# ''widget tree'' - Most items in the parse tree correspond to one or more items in the widget tree. The `this.makeChildWidgets` method is used to convert the parse tree into a widget tree.\n# [[DOM tree|https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model/Introduction]] - A DOM tree is a standard javascript datastructure used by browsers to display a web page. The `this.renderChildren` method is used to instantiate the widget class and then render each widget in the widget tree. If a given widget will be visible in the browser, then one or more DOM nodes will be created.\n\n!Examples\n\n!! Simple trees without nesting\n\n[[Widgets in wiki text|https://tiddlywiki.com/#Widgets%20in%20WikiText]] have a syntax similar to html (i.e. `<$list/>`). But all [[wiki markup|https://tiddlywiki.com/#WikiText]] is seen by the tiddlywiki code as widgets.\n\nEven a simple string with no special syntax will be treated as a widget. In this case a widget of type `text`:\n\n<<showTrees \"\"\"hello\"\"\">>\n\nThe above bare string of text is mostly just a synonym for this widget syntax:\n\n<<showTrees \"\"\"<$text text=hello/>\"\"\">>\n\nSome of the details of the parseTree and widgetTree are different in the two examples, but the general structure is the same and the rendered output is the same.\n\nIn these two simple examples, there is no nesting and so no child widgets are created. \n\n!! Trees with one level of nesting\n\nThis next example shows the structure for bold wiki syntax. It is still simple, but does introduce one level of nesting: `element`→`text`\n\nThe wiki syntax for bold converts to the standard html element `strong`. Any standard html element is represented in tiddlywiki as a widget of type `element`:\n\n<<showTrees \"\"\"''bold''\"\"\">>\n\nAnother example showing one level of nesting (`link`→`text`):\n\n<<showTrees \"\"\"<$link to=atiddler>link</$link>\"\"\">>\n\n!!Widgets with no DOM contribution\nNot all widgets contribute items to the DOM. The purpose of some widgets is to affect the display of descendant widgets by changing some state. The `$set` widget for example sets a variable which will be accessible to the descendant widgets:\n\n<<showTrees \"\"\"<$set name=myvar value=hi/>\"\"\">>\n\nNothing is rendered and there is no html, but the parse tree and widget tree contain information about the variable.\n\n!! Dynamic widget children using this.wiki.parseText\n\nIn all the examples so far, there has been a close mapping between the nesting structure of the parse tree and the widget tree. If the item is in the parse tree, then it is in the widget tree. If the parse tree item has children, then the widget tree has the same number of children.\n\nHowever, there are several examples of widgets in which more levels of nesting are created dynamically during the widget rendering process\n\nThe `$macrocall` widget is one example:\n\n<<showTrees \"\"\"<$macrocall $name=now/>\"\"\" >>\n\nThe parse tree has just a single type=$macrocall element with no children. The widget tree has that same type=$macrocall element, but it also has a child widget which wasn't in the parse tree.\n\nIn all cases, the `$macrocall` widget calls the given macro and then calls `this.wiki.parseText` on the output. This results in a new parse tree which is used to make the child widgets.\n\nIn this particular case, the `now` macro is called. It returns a simple string of text, so when it is parsed the result causes the creation of a single child text widget containing the current date and time.\n\n!! Widgets which do not support nesting\n\nJust as some widgets can cause widget trees to have more nesting than the parse tree, some widgets can cause widget trees to have less nesting.\n\nThis happens when there is no use for the widget to have any children. The `$text` widget, for example, has no use for displaying any descendants.\n\nThis behavior is accomplished by not calling the `makeChildWidgets` method. Without that method call, the child widgets are not created from the child parse tree items. For example:\n\n<$macrocall $name=showTrees wikitext=\"\"\"<$text text=\"hi\">ignored child text</$text>\"\"\"/>\n\nSince the `$text` widget does not have a call to `makeChildWidgets`, 'ignored child text' above is present in the parse tree, but not in the widget tree.\n\n!Reference\n\n|!method|!when to call|!what it does|\n|`makeChildWidgets`|directly or indirectly from `render` method|converts child parse tree items into widget tree items|\n|`renderChildren`|directly or indirectly from `render` method, after the `makeChildWidgets` call|calls the `render` method of the child widget|\n|`refreshChildren`|directly or indirectly from `refresh` method, only needed if `refreshSelf` is not called|calls the `refresh` method of of the child widgets so they can check if refresh is needed|\n|`this.wiki.parseText`|pass the output parse tree to `makeChildWidgets`|converts the given text to a parse tree...only needed for dynamically constructed parsetree|\n\n|!example call|!purpose|!widgets using this approach|\n|`this.makeChildWidgets()`|construct child widgets from the static parse tree|[[$link|$:/core/modules/widgets/link.js]], [[$button|$:/core/modules/widgets/button.js]], etc.|\n|`this.makeChildWidgets(parseTreeNodes)`|construct child widgets from a dynamic parse tree|[[$list|$:/core/modules/widgets/list.js]], [[$transclude|$:/core/modules/widgets/transclude.js]], [[$macrocall|$:/core/modules/widgets/macrocall.js]], etc|\n|`this.renderChildren(parent, nextSibling)`|when the widget adds nothing to the dom, just pass the `render` arguments through to the children|[[$set|$:/core/modules/widgets/set.js]], [[$importvariables|$:/core/modules/widgets/importvariables.js]], [[$tiddler|$:/core/modules/widgets/tiddler.js]], [[$wikify|$:/core/modules/widgets/wikify.js]], etc.|\n|`this.renderChildren(domNode, null)`|passes the dom node generated by this widget into the children|[[$link|$:/core/modules/widgets/link.js]], [[$button|$:/core/modules/widgets/button.js]], etc|\n\n"
  },
  {
    "path": "editions/dev/tiddlers/javascript-widget-tutorial/Do nothing widget demo.tid",
    "content": "created: 20190201120100249\nmodified: 20190201222600576\ntags: \ntitle: Do nothing widget demo\ntype: text/vnd.tiddlywiki\n\n<!-- The innerwiki doesn't refresh on its own when tiddlers on the outside change, so use the list widget to force a dependency -->\n<$list name=refresh filter=[[donothing.js]get[text]]>\n<$innerwiki width=\"600\" height=\"400\" style=\"width:100%;\">\n\t<$data title=\"$:/DefaultTiddlers\" text=\"[[do nothing widget]]\"/>\n\t<$data $tiddler=donothing.js/>\n\t<$data title=\"do nothing widget\" text=\"\"\"\n```\n<$donothing/>\n```\n\nRenders as:\n\n<$donothing/>\n\"\"\"/>\n</$innerwiki>\n</$list>\n"
  },
  {
    "path": "editions/dev/tiddlers/javascript-widget-tutorial/Do nothing widget tutorial.tid",
    "content": "created: 20190201232102417\nmodified: 20190202145547621\ntags: \ntitle: Do nothing widget tutorial\ntype: text/vnd.tiddlywiki\n\nIn order to define a widget in a tiddler, the tiddler must satisfy these requirements:\n\n* type field is application/javascript\n* module-type field is widget\n* the text field contains the javascript code\n\nThe [[donothing.js]] tiddler fulfills the requirements and its code looks like this:\n{{donothing.js}}\nThat code does 2 key things:\n\n* Imports the core Widget class ([[$:/core/modules/widgets/widget.js]])\n* exports the class in an attribute with the name we want our widget to have (`donothing`)\n\nHere's what it looks like:\n{{Do nothing widget demo}}\nAnd it worked. No error message this time.\n\n''Exercise'': Modify [[donothing.js]] and [[Do nothing widget demo]] so the widget is named `noop` instead of `donothing`\n\n"
  },
  {
    "path": "editions/dev/tiddlers/javascript-widget-tutorial/Hello World demo.tid",
    "content": "created: 20190201114718313\nmodified: 20190201231556294\ntags: \ntitle: Hello World demo\ntype: text/vnd.tiddlywiki\n\n<!-- The innerwiki doesn't refresh on its own when tiddlers on the outside change, so use the list widget to force a dependency -->\n<$list name=refresh filter=[[hello.js]get[text]]>\n<$innerwiki width=\"600\" height=\"400\" style=\"width:100%;\">\n\t<$data title=\"$:/DefaultTiddlers\" text=\"[[hello world widget]]\"/>\n\t<$data $tiddler=hello.js/>\n\t<$data title=\"hello world widget\" text=\"\"\"\n```\n<$hello/>\n```\n\nRenders as:\n\n<$hello/>\n\"\"\"/>\n\n</$innerwiki>\n</$list>\n"
  },
  {
    "path": "editions/dev/tiddlers/javascript-widget-tutorial/Hello World widget tutorial.tid",
    "content": "created: 20190201232200698\nmodified: 20190216175629825\ntags: \ntitle: Hello World widget tutorial\ntype: text/vnd.tiddlywiki\n\nNow let's create a widget which actually has output.\n\nWhen tiddlywiki encounters a widget definition like `<$hello>` it will create an object which is an instance of the class which is exported by the widget code. \n\nIn addition to creating an instance of the class, tiddlywiki will call the render method of the resulting object. The render method is expected to create a dom node which will be display in place of the widget.\n\nIn the `donothing` example the core widget was exported. The core widget class doesn't have a render method which creates a dom node and that's why there is no output. Getting output requires writing a widget class which inherits from the core `Widget` class. Code in the render method of this class will display the hello world message.\n\nThe [[hello.js]] tiddler has code which accomplishes that:\n{{hello.js}}\nThe code for importing the core widget class remains, but now we also have code to create our own class which inherits from it. In addition an implementation of the `render` method is included. Here is the result:\n{{Hello World demo}}\n"
  },
  {
    "path": "editions/dev/tiddlers/javascript-widget-tutorial/Javascript Widget Tutorial.tid",
    "content": "created: 20190202035524804\nmodified: 20240302110658300\ntags: \ntitle: Javascript Widget Tutorial\ntype: text/vnd.tiddlywiki\n\n! Introduction\nThis tutorial provides step-by-step, interactive examples of how to write code for tiddlywiki widgets. The demo javascript code can be modified without having to reload the entire wiki.\n\nIntended audience:\n\n# Those who know tiddlywiki well and know programming and javascript and want to write their own widget.\n# Those who know tiddlywiki well and don't know javascript, but want to understand more about how tiddlywiki works. You should be able to skim through and interact with the demos and learn something.\n\nWe don't make any effort to explain javascript here. For that you will need other resources, like [[MDN|https://developer.mozilla.org/en-US/docs/Web/JavaScript]].\n\n!! The tutorial\n* [[Undefined widget tutorial]]\n* [[Do nothing widget tutorial]]\n* [[Hello World widget tutorial]]\n* [[Widget refresh tutorial part I]]\n* [[Widget refresh tutorial part II]]\n* [[Widget refresh tutorial part III]]\n* [[Widget attributes tutorial part I]]\n* [[Widget attributes tutorial part II]]\n* [[Child widgets tutorial]]\n\n!! Notes\n\ntiddlywiki doesn't support dynamically reloading javascript. If you change a javascript tiddler, then you need to save and reload  the wiki before the changes will take affect.\n\nTo avoid the need for such reloads, the excellent [[innerwiki plugin|https://tiddlywiki.com/prerelease/plugins/tiddlywiki/innerwiki/]] is used. This allows an inner wiki to be created from a subset of tiddlers in the outer wiki. Each time the inner wiki is refreshed, its entire wiki is reloaded and the javascript changes in the inner wiki will take affect.\n\nWithout the need for reloads, a tiddlywiki instance with the [[innerwiki plugin|https://tiddlywiki.com/prerelease/plugins/tiddlywiki/innerwiki/]] installed works great as a playground for interacting with tiddlywiki javascript.\n\n!! Other documentation on writing TW widgets\n\n* WidgetModules\n* [[Widgets]]\n\n!! Full API doc\n\n[[Github Pages of TW5-Typed|https://tiddly-gittly.github.io/TW5-Typed/api/classes/modules_widgets.widget]]\n"
  },
  {
    "path": "editions/dev/tiddlers/javascript-widget-tutorial/Undefined widget demo.tid",
    "content": "created: 20190201212238781\nmodified: 20190201213112748\ntags: \ntitle: Undefined widget demo\ntype: text/vnd.tiddlywiki\n\n<$innerwiki width=\"600\" height=\"400\" style=\"width:100%;\">\n\t<$data title=\"$:/DefaultTiddlers\" text=\"[[Undefined widget]]\"/>\n\t<$data title=\"Undefined widget\" text=\"\"\"\n```\n<$donothing/>\n```\n\nRenders as:\n\n<$donothing/>\n\"\"\"/>\n</$innerwiki>\n"
  },
  {
    "path": "editions/dev/tiddlers/javascript-widget-tutorial/Undefined widget tutorial.tid",
    "content": "created: 20190201232001970\nmodified: 20190202145655413\ntags: \ntitle: Undefined widget tutorial\ntype: text/vnd.tiddlywiki\n\nLet's start be defining a minimal widget which does nothing. It doesn't support any attributes, no child elements, and it doesn't output anything. The name of the widget will be `donothing`. If it does nothing, then how can we verify after writing the code that we accomplished anything? Well, let's see what happens when an undefined widget is referenced.\n\n{{Undefined widget demo}}\n\nSince we haven't written the code, the attempt to render the widget gives an undefined widget error. So we will know the donothing code accomplishes something if we don't get the undefined widget error when rendering."
  },
  {
    "path": "editions/dev/tiddlers/javascript-widget-tutorial/Widget attributes demo I.tid",
    "content": "created: 20190204020507195\nmodified: 20190204031520013\ntags: \ntitle: Widget attributes demo I\ntype: text/vnd.tiddlywiki\n\n<!-- The innerwiki doesn't refresh on its own when tiddlers on the outside change, so use the list widget to force a dependency -->\n<$list name=refresh filter=[[hello-attribute.js]get[text]]>\n<$innerwiki width=\"600\" height=\"400\" style=\"width:100%;\">\n\t<$data title=\"$:/DefaultTiddlers\" text=\"[[hello world widget]]\"/>\n\t<$data $tiddler=hello-attribute.js/>\n\t<$data title=\"hello world widget\" text=\"\"\"\n```\n<$hello/>\n```\n\nRenders as:\n\n<$hello/>\n\n---\n\n```\n<$hello message=\"pale blue dot\"/>\n```\n\nRenders as:\n\n<$hello message=\"pale blue dot\"/>\n\n---\n\n<$edit-text focus=yes tiddler=test tag=input/>\n\n```\n<$hello message={{test!!text}}/>\n```\n\nRenders as:\n\n<$hello message={{test!!text}}/>\n\n\"\"\"/>\n\n\t<$data title=\"test\" text=\"Alice\"/>\n\n</$innerwiki>\n</$list>\n"
  },
  {
    "path": "editions/dev/tiddlers/javascript-widget-tutorial/Widget attributes demo II.tid",
    "content": "created: 20190205024953535\nmodified: 20190205025028737\ntags: \ntitle: Widget attributes demo II\ntype: text/vnd.tiddlywiki\n\n<!-- The innerwiki doesn't refresh on its own when tiddlers on the outside change, so use the list widget to force a dependency -->\n<$list name=refresh filter=[[hello-attribute-optimized.js]get[text]]>\n<$innerwiki width=\"600\" height=\"400\" style=\"width:100%;\">\n\t<$data title=\"$:/DefaultTiddlers\" text=\"[[hello world widget]]\"/>\n\t<$data $tiddler=hello-attribute-optimized.js/>\n\t<$data title=\"hello world widget\" text=\"\"\"\n```\n<$hello/>\n```\n\nRenders as:\n\n<$hello/>\n\n---\n\n```\n<$hello message=\"pale blue dot\"/>\n```\n\nRenders as:\n\n<$hello message=\"pale blue dot\"/>\n\n---\n\n<$edit-text focus=yes tiddler=test tag=input/>\n\n```\n<$hello message={{test!!text}}/>\n```\n\nRenders as:\n\n<$hello message={{test!!text}}/>\n\n\"\"\"/>\n\n\t<$data title=\"test\" text=\"Alice\"/>\n\n</$innerwiki>\n</$list>\n"
  },
  {
    "path": "editions/dev/tiddlers/javascript-widget-tutorial/Widget attributes tutorial part I.tid",
    "content": "created: 20190202035425715\nmodified: 20190205023518575\ntags: \ntitle: Widget attributes tutorial part I\ntype: text/vnd.tiddlywiki\n\nSo far none of the widgets we've implemented have had any code for handling widget attributes A vast majority of useful widgets will need to support attributes in order to make them useful.\n\nAs an example, let's change the Hello World widget so it can greet not just the world, but whoever/whatever the user wants. To do that we can add support for an attribute named `what` and call it like `<$hello what=\"pale blue dot\"/>`.\n\nThe tiddlywiki widget class provides methods `computeAttributes` and `getAttribute` which can together be used by the widget code to discover what values are passed into the widget.\n\nThe `computeAttributes` and `getAttribute` methods can be called like this (the second parameter to `getAttribute` will be used as the default value if the user doesn't provide that attribute in the widget call):\n\n```javascript\nthis.computeAttributes();\nvar message = this.getAttribute(\"message\", \"World\");\n```\n\nThen the `message` variable can be used to construct the Hello XXX string:\n\n```javascript\nvar textNode = this.document.createTextNode(\"Hello, \" + message + \"!\");\n```\n\nThe original [[hello.js]] code only implements a `render` method. The `refresh` method is not needed because the output from the widget can never be different...it will always be \"Hello, World!\".\n\nEven with a `message` attribute, you might think the `render` by itself is enough. After all, the value of the input parameter `message` can only be changed by modifying the wiki text which means the tiddler will be redisplayed from scratch.\n\nHowever, tiddlywiki has a syntax which allows parameter values to vary without modifying the wiki text. See https://tiddlywiki.com/#Widgets%20in%20WikiText for details. As one example, if the widget were called like `<$hello message={{MyTiddler!!field}}/>`, then every time the `field` field of `MyTiddler` were modified, only the `refresh` method would be called. Therefore, in order to get the widget display to update, the refresh method needs to be implemented.\n\nIf the `computeAttributes` and `getAttribute` calls are placed in the `render` method then we can implement a performance unoptimized version of refresh as was done in [[Widget refresh tutorial part II]]:\n\n```javascript\n/*\nA widget with optimized performance will selectively refresh, but here we refresh always\n*/\nMyWidget.prototype.refresh = function(changedTiddlers) {\n\t// Regenerate and rerender the widget and\n\t// replace the existing DOM node\n\tthis.refreshSelf();\n\treturn true;\n};\n```\n\nThe full code can be seen at [[hello-attribute.js]] and here is the result ([[Widget attributes demo I]]):\n\n{{Widget attributes demo I}}\n\nThe third example above is the only one which requires the refresh method in order to behave properly.\n"
  },
  {
    "path": "editions/dev/tiddlers/javascript-widget-tutorial/Widget attributes tutorial part II.tid",
    "content": "created: 20190205023543910\nmodified: 20190217012121130\ntags: \ntitle: Widget attributes tutorial part II\ntype: text/vnd.tiddlywiki\n\nThis example will build on the previous one. The only modification will be to add a check to the `refresh` method. The `refreshSelf` will only be called if a change to the attributes is detected.\n\nThe `computeAttributes` method returns a Javascript object containing properties for each attribute which has changed. So a check like `if (changedAttributes.attr1 || changedAttributes.attr2 || changedAttributes.attr3)` etc. can be used to detect the change.  See the refresh method in [[$:/core/modules/widgets/view.js]] for an example showing the check for multiple attributes.\n\nFor this example, `message` is the only attribute implemented.\n\n```javascript\n/*\nRefresh if the attribute value changed since render\n*/\nMyWidget.prototype.refresh = function(changedTiddlers) {\n\t// Find which attributes have changed\n\tvar changedAttributes = this.computeAttributes();\n\tif (changedAttributes.message) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n```\n\nThe full code can be seen at [[hello-attribute-optimized.js]] and here is the result ([[Widget attributes demo II]]):\n\n{{Widget attributes demo II}}\n\nThe visible behavior here should be identical to the unoptimized behavior of the previous tutorial.\n"
  },
  {
    "path": "editions/dev/tiddlers/javascript-widget-tutorial/Widget refresh demo I.tid",
    "content": "created: 20190201233806976\nmodified: 20221029194854112\ntags: \ntitle: Widget refresh demo I\ntype: text/vnd.tiddlywiki\n\n<!-- The innerwiki doesn't refresh on its own when tiddlers on the outside change, so use the list widget to force a dependency -->\n<$list name=refresh filter=[[tiddlerfield-norefresh.js]get[text]]>\n<$innerwiki width=\"600\" height=\"400\" style=\"width:100%;\">\n\t<$data title=\"$:/DefaultTiddlers\" text=\"[[tiddler field widget]]\"/>\n\t<$data title=\"test\" text=\"type new text here\"/>\n\t<$data $tiddler=tiddlerfield-norefresh.js/>\n\t<$data title=\"tiddler field widget\" text=\"\"\"\n<$edit-text focus=yes tiddler=test tag=input/>\n<$button set=\"!!refresh\" setTo={{test}}>Force refresh</$button>\n<$list filter=\"[{!!refresh}]\">\n\n<div>\n<div style=\"display:inline-block;width: 49%;vertical-align: text-top;word-wrap: break-word;}\">\n\n```\n<$tiddlerfield/>\n```\n\nRenders as:\n\n<$tiddlerfield/>\n</div>\n<div style=\"display:inline-block;width: 49%;vertical-align: text-top;word-wrap: break-word;}\">\n\n```\n<$view tiddler=\"test\"/>\n```\n\nRenders as:\n\n<$view tiddler=\"test\"/>\n</div>\n</div>\n</$list>\n\"\"\"/>\n\n</$innerwiki>\n</$list>\n"
  },
  {
    "path": "editions/dev/tiddlers/javascript-widget-tutorial/Widget refresh demo II.tid",
    "content": "created: 20190202032354223\nmodified: 20190217005540498\ntags: \ntitle: Widget refresh demo II\ntype: text/vnd.tiddlywiki\n\n<!-- The innerwiki doesn't refresh on its own when tiddlers on the outside change, so use the list widget to force a dependency -->\n<$list name=refresh filter=[[tiddlerfield.js]get[text]]>\n<$innerwiki width=\"600\" height=\"400\" style=\"width:100%;\">\n\t<$data title=\"$:/DefaultTiddlers\" text=\"[[tiddler field widget]]\"/>\n\t<$data title=\"test\" text=\"type new text here\"/>\n\t<$data $tiddler=tiddlerfield.js/>\n\t<$data title=\"tiddler field widget\" text=\"\"\"\n<$edit-text focus=yes tiddler=test tag=input/>\n    \n<div>\n<div style=\"display:inline-block;width: 49%;vertical-align: text-top;word-wrap: break-word;}\">\n\n```\n<$tiddlerfield/>\n```\n\nRenders as:\n\n<$tiddlerfield/>\n</div>\n<div style=\"display:inline-block;width: 49%;vertical-align: text-top;word-wrap: break-word;}\">\n\n```\n<$view tiddler=\"test\"/>\n```\n\nRenders as:\n\n<$view tiddler=\"test\"/>\n</div>\n\"\"\"/>\n\n</$innerwiki>\n</$list>\n"
  },
  {
    "path": "editions/dev/tiddlers/javascript-widget-tutorial/Widget refresh demo III.tid",
    "content": "created: 20190202122928187\nmodified: 20190216191939585\ntags: \ntitle: Widget refresh demo III\ntype: text/vnd.tiddlywiki\n\n<!-- The innerwiki doesn't refresh on its own when tiddlers on the outside change, so use the list widget to force a dependency -->\n<$list name=refresh filter=[[refreshcount.js]get[text]]>\n<$innerwiki width=\"600\" height=\"400\" style=\"width:100%;\">\n\t<$data title=\"$:/DefaultTiddlers\" text=\"[[refresh count widget]]\"/>\n\t<$data title=\"test\" text=\"Text field of tiddler='test'\"/>\n\t<$data $tiddler=refreshcount.js/>\n\t<$data title=\"refresh count widget\" text=\"\"\"\n\n*<$button set=\"test!!test\" setTo=\"hello\">Modify a different tiddler</$button>\n*<$button set=\"!!test\" setTo=\"hello\">Modify this tiddler</$button>\n*<$edit-text focus=yes tiddler=test tag=input/>\n\n<div>\n<div style=\"display:inline-block;width: 49%;vertical-align: text-top;word-wrap: break-word;}\">\n\n```\n<$refreshcount/>\n```\n\nRenders as:\n\n<$refreshcount/>\n</div>\n\n<div style=\"display:inline-block;width: 49%;vertical-align: text-top;word-wrap: break-word;}\">\n\n```\n<$list filter=\"[[test]get[text]]\">\n<<currentTiddler>><br>\n<$refreshcount/>\n</$list>\n```\n\nRenders as:\n\n<$list filter=\"[[test]get[text]]\">\n<<currentTiddler>><br>\n<$refreshcount/>\n</$list>\n\"\"\"/>\n</div>\n</div>\n</$innerwiki>\n</$list>\n"
  },
  {
    "path": "editions/dev/tiddlers/javascript-widget-tutorial/Widget refresh tutorial part I.tid",
    "content": "created: 20190201232847949\nmodified: 20221029203553291\ntags: \ntitle: Widget refresh tutorial part I\ntype: text/vnd.tiddlywiki\n\nBut what if we want to display dynamic content? How can we display information and keep it up to date as it changes? Let's display the content of a tiddler field.\n\nThe [[tiddlerfield-norefresh.js]] which defines the `tiddlerfield` widget is almost the same as [[hello.js]] except for this part:\n\n```javascript\nMyWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tvar text = this.wiki.getTiddlerText(\"test\", \"<empty>\")\n\tvar textNode = this.document.createTextNode(text);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n```\n\nInstead of creating the text dom node from a static string, the text field of the `test` tiddler is used. This is similar to using the view widget like this:  `<$view tiddler=\"test\"/>`\n\nHere's how it looks (see [[Widget refresh demo I]] to look at the code):\n\n{{Widget refresh demo I}}\n\nNotice if you change the text in the input box, the output from the `tiddlerfield` widget doesn't change, but the output of the `view` widget does. Only after the ''Force refresh'' button is clicked does the output of `tiddlerfield` update to match the input box contents.\n\nWhat's going on here? The render method of the widget code is only called by tiddlywiki core when the widget is first created. After that, it isn't called again unless the widget is completely destroyed and then created again. \n\nThe tiddlywiki ~ViewWidget has a properly written `refresh` method so typing in the input box will cause its content to update. However, the `tiddlerfield` widget does not have a `refresh` method at all. It has no way of being notified that the `test` tiddler content has changed. Its output will not change until the ''Force refresh'' button is clicked.\n\nSee the next example for an implementation of the `refresh` method for the `tiddlerfield` widget.\n\nThe code for the refresh button looks like this:\n\n```\n<$button set=\"!!refresh\" setTo={{test}}>Force refresh</$button>\n```\n\nand the widgets are enclosed in a list widget like this:\n\n```\n<$list filter=\"[{!!refresh}]\">...</$list>\n```\n\nWhen the button is clicked the field `refresh` in the containing tiddler is modified and it causes the children of the list widget to be created from scratch. The render method is called and the output of the `tiddlerfield` widget updates.\n"
  },
  {
    "path": "editions/dev/tiddlers/javascript-widget-tutorial/Widget refresh tutorial part II.tid",
    "content": "created: 20190201232910076\nmodified: 20190217014335419\ntags: \ntitle: Widget refresh tutorial part II\ntype: text/vnd.tiddlywiki\n\nThis example is like [[Widget refresh tutorial part I]] except the widget output will be automatically refreshed when the tiddler field changes.\n\n[[tiddlerfield.js]] is the same as [[tiddlerfield-norefresh.js]], except this `refresh` method is added:\n\n```javascript\n/*\nA widget with optimized performance will selectively refresh, but here we refresh always\n*/\nMyWidget.prototype.refresh = function(changedTiddlers) {\n\t// Regenerate and rerender the widget and\n\t// replace the existing DOM node\n\tthis.refreshSelf();\n\treturn true;\n};\n```\n\nThe `refreshSelf` method called above is implemented by the core widget class and it takes care of cleaning the old dom node and calling the render function.\n\nHere is the result ([[Widget refresh demo II]]):\n\n{{Widget refresh demo II}}\n\nAnd now any typing into the input box will cause both the `tiddlerfield` and the `view` widget output to refresh immediately.\n\nNote this is a naive version of `refresh`. It unconditionally refreshes itself. This is far from optimal since the `refresh` method for all visible widgets is called every time the tiddler store changes. But the way we've defined our widget, the output ONLY depends on the tiddler titled `text`.\n\nIn tiddlywiki the tiddler store is used for everything and almost any interaction will result in an update to the store. This means almost any interaction will cause the refresh method to be called. If you type into the search box, for example, the `tiddlerfield` widget will be refreshed with every keystroke.\n\nAdding and removing dom elements is a relatively expensive operation, so if someone has used the list widget to create a few hundred instances of this widget, then such tiddlywiki interactions might gain a noticable lag. Therefore, it usually makes sense to avoid modifying the dom when possible by writing a smarter `refresh` method. \n\n''Exercise'' - change the refresh method above to only call `refreshSelf` when the `changedTiddlers` input array contains `test` as one of its entries (Hint: see the refresh method in $:/core/modules/widgets/view.js for an example).\n"
  },
  {
    "path": "editions/dev/tiddlers/javascript-widget-tutorial/Widget refresh tutorial part III.tid",
    "content": "created: 20190202034841184\nmodified: 20221029201023638\ntags: \ntitle: Widget refresh tutorial part III\ntype: text/vnd.tiddlywiki\n\nThis tutorial is intended to demonstrate a few examples of when calls to the `refresh` method happen vs. when a widget is recreated from scratch.\n\nThis is accomplished with a [[refreshcount.js]] widget which sets a counter to zero when the widget is created and increments the counter every time the `refresh` method is called. Here is the full code:\n\n{{refreshcount.js}}\n\nThese are the key parts of the code from above:\n\n```javascript\nthis.refreshCount = 0;\nthis.document.createTextNode(this.refreshCount + \" refreshes\");\nthis.refreshCount++;\n```\n\nIn the following example (see [[Widget refresh demo III]] for the code), two instances of the `refreshcount` widget are created. One at the top level and the other inside a list widget whose filter results depend on the value in the `text` field of the `test` widget. The tiddler store can be modified in a few ways via two buttons and an input box:\n{{Widget refresh demo III}}\n\n* ''Modify a different tiddler'' - every time this button is clicked, both counters increment, indicating the `refresh` method is being called\n* ''Modify this tiddler'' - clicking this button modifies the tiddler itself. In earlier ~TiddlyWiki versions that caused both widgets to be recreated from scratch and the counters are thereby reset to zero. Since [[version 5.2.0|https://tiddlywiki.com/#Release%205.2.0]] modifying another field in this tiddler does not cause the widgets to be recreated and the counters are not reset.\n*  ''Text field of tiddler='test''' - typing text into the input box causes the counter in the standalone `refreshcount` widget to be incremented. But the other instance of the widget is embedded inside a list widget whose filter output depends on the value of the tiddler field which is being modified. This causes it to recreate its children from scratch and the counter is reset every time. So with every keystroke, the counter on the left is incremented, but the counter on the right goes to/stays at zero."
  },
  {
    "path": "editions/dev/tiddlers/javascript-widget-tutorial/domwidget.js",
    "content": "/*\\\n\nLibrary function for creating widget using a dom creating function\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nfunction createDomWidget(domCreatorFunction) {\n\n\tvar MyWidget = function(parseTreeNode, options) {\n\t\tthis.initialise(parseTreeNode, options);\n\t};\n\n\t/*\n\tInherit from the base widget class\n\t*/\n\tMyWidget.prototype = new Widget();\n\n\t/*\n\tRender this widget into the DOM\n\t*/\n\tMyWidget.prototype.render = function(parent, nextSibling) {\n\t\tthis.parentDomNode = parent;\n\t\tvar domNode = domCreatorFunction(this.document);\n\t\tparent.insertBefore(domNode, nextSibling);\n\t\tthis.domNodes.push(domNode);\n\t};\n\n\t/*\n\tA widget with optimized performance will selectively refresh, but here we refresh always\n\t*/\n\tMyWidget.prototype.refresh = function(changedTiddlers) {\n\t\t// Regenerate and rerender the widget and replace the existing DOM node\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t};\n\n\treturn MyWidget;\n}\nmodule.exports = createDomWidget;\n"
  },
  {
    "path": "editions/dev/tiddlers/javascript-widget-tutorial/domwidget.js.meta",
    "content": "created: 20190201025244440\nmodified: 20190201030708723\nmodule-type: library\ntags: \ntitle: domwidget.js\ntype: application/javascript"
  },
  {
    "path": "editions/dev/tiddlers/javascript-widget-tutorial/donothing.js",
    "content": "/*\\\n\nDo nothing widget\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nexports.donothing = Widget;\n"
  },
  {
    "path": "editions/dev/tiddlers/javascript-widget-tutorial/donothing.js.meta",
    "content": "created: 20190201115945945\nmodified: 20190201222441271\nmodule-type: widget\ntags: \ntitle: donothing.js\ntype: application/javascript"
  },
  {
    "path": "editions/dev/tiddlers/javascript-widget-tutorial/hello-attribute-optimized.js",
    "content": "/*\\\n\nHello, World widget\n\n\\*/\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar MyWidget = function(parseTreeNode, options) {\n\tthis.initialise(parseTreeNode, options);\n};\n\n/*\nInherit from the base widget class\n*/\nMyWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nMyWidget.prototype.render = function(parent, nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tvar message = this.getAttribute(\"message\", \"World\");\n\tvar textNode = this.document.createTextNode(\"Hello, \" + message + \"!\");\n\tparent.insertBefore(textNode, nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nRefresh if the attribute value changed since render\n*/\nMyWidget.prototype.refresh = function(changedTiddlers) {\n\t// Find which attributes have changed\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.message) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\nexports.hello = MyWidget;\n"
  },
  {
    "path": "editions/dev/tiddlers/javascript-widget-tutorial/hello-attribute-optimized.js.meta",
    "content": "created: 20190205024846183\nmodified: 20190205025110882\nmodule-type: widget\ntags: \ntitle: hello-attribute-optimized.js\ntype: application/javascript"
  },
  {
    "path": "editions/dev/tiddlers/javascript-widget-tutorial/hello-attribute.js",
    "content": "/*\\\n\nHello, World widget\n\n\\*/\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar MyWidget = function(parseTreeNode, options) {\n\tthis.initialise(parseTreeNode, options);\n};\n\n/*\nInherit from the base widget class\n*/\nMyWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nMyWidget.prototype.render = function(parent, nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tvar message = this.getAttribute(\"message\", \"World\");\n\tvar textNode = this.document.createTextNode(\"Hello, \" + message + \"!\");\n\tparent.insertBefore(textNode, nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nA widget with optimized performance will selectively refresh, but here we refresh always\n*/\nMyWidget.prototype.refresh = function(changedTiddlers) {\n\t// Regenerate and rerender the widget and\n\t// replace the existing DOM node\n\tthis.refreshSelf();\n\treturn true;\n};\n\nexports.hello = MyWidget;\n"
  },
  {
    "path": "editions/dev/tiddlers/javascript-widget-tutorial/hello-attribute.js.meta",
    "content": "created: 20190204020011193\nmodified: 20190204030332147\nmodule-type: widget\ntags: \ntitle: hello-attribute.js\ntype: application/javascript"
  },
  {
    "path": "editions/dev/tiddlers/javascript-widget-tutorial/hello.js",
    "content": "/*\\\n\nHello, World widget\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar MyWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nMyWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nMyWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tvar textNode = this.document.createTextNode(\"Hello, World!\");\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\nexports.hello = MyWidget;\n"
  },
  {
    "path": "editions/dev/tiddlers/javascript-widget-tutorial/hello.js.meta",
    "content": "created: 20190201114558816\nmodified: 20190201224846870\nmodule-type: widget\ntags: \ntitle: hello.js\ntype: application/javascript"
  },
  {
    "path": "editions/dev/tiddlers/javascript-widget-tutorial/refreshcount.js",
    "content": "/*\\\n\nwidget to count the number of times this widget refreshes\n\n\\*/\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar MyWidget = function(parseTreeNode, options) {\n\tthis.refreshCount = 0;\n\tthis.initialise(parseTreeNode, options);\n};\n\n/*\nInherit from the base widget class\n*/\nMyWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nMyWidget.prototype.render = function(parent, nextSibling) {\n\tthis.parentDomNode = parent;\n\tvar textNode = this.document.createTextNode(this.refreshCount + \" refreshes\");\n\tparent.insertBefore(textNode, nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\nMyWidget.prototype.refresh = function(changedTiddlers) {\n\t// Regenerate and rerender the widget and replace the existing DOM node\n\tthis.refreshCount++;\n\tthis.refreshSelf();\n\treturn true;\n};\n\nexports.refreshcount = MyWidget;\n"
  },
  {
    "path": "editions/dev/tiddlers/javascript-widget-tutorial/refreshcount.js.meta",
    "content": "created: 20190201005026324\nmodified: 20190202143451303\nmodule-type: widget\ntags: \ntitle: refreshcount.js\ntype: application/javascript"
  },
  {
    "path": "editions/dev/tiddlers/javascript-widget-tutorial/tiddlerfield-norefresh.js",
    "content": "/*\\\n\nHello, World widget\n\n\\*/\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar MyWidget = function(parseTreeNode, options) {\n\tthis.initialise(parseTreeNode, options);\n};\n\n/*\nInherit from the base widget class\n*/\nMyWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nMyWidget.prototype.render = function(parent, nextSibling) {\n\tthis.parentDomNode = parent;\n\tvar text = this.wiki.getTiddlerText(\"test\", \"<empty>\");\n\tvar textNode = this.document.createTextNode(text);\n\tparent.insertBefore(textNode, nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\nexports.tiddlerfield = MyWidget;\n"
  },
  {
    "path": "editions/dev/tiddlers/javascript-widget-tutorial/tiddlerfield-norefresh.js.meta",
    "content": "created: 20190201233714872\nmodified: 20190202030615781\nmodule-type: widget\ntags: \ntitle: tiddlerfield-norefresh.js\ntype: application/javascript"
  },
  {
    "path": "editions/dev/tiddlers/javascript-widget-tutorial/tiddlerfield.js",
    "content": "/*\\\n\nHello, World widget\n\n\\*/\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar MyWidget = function(parseTreeNode, options) {\n\tthis.initialise(parseTreeNode, options);\n};\n\n/*\nInherit from the base widget class\n*/\nMyWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nMyWidget.prototype.render = function(parent, nextSibling) {\n\tthis.parentDomNode = parent;\n\tvar text = this.wiki.getTiddlerText(\"test\", \"<empty>\");\n\tvar textNode = this.document.createTextNode(text);\n\tparent.insertBefore(textNode, nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nA widget with optimized performance will selectively refresh, but here we refresh always\n*/\nMyWidget.prototype.refresh = function(changedTiddlers) {\n\t// Regenerate and rerender the widget and\n\t// replace the existing DOM node\n\tthis.refreshSelf();\n\treturn true;\n};\n\nexports.tiddlerfield = MyWidget;\n"
  },
  {
    "path": "editions/dev/tiddlers/javascript-widget-tutorial/tiddlerfield.js.meta",
    "content": "created: 20190202032530728\nmodified: 20190202032700995\nmodule-type: widget\ntags: \ntitle: tiddlerfield.js\ntype: application/javascript"
  },
  {
    "path": "editions/dev/tiddlers/new/Adding Babel Polyfill to TiddlyWiki.tid",
    "content": "modified: 20160112175006000\ncreated: 20160112025328000\ntitle: Adding Babel Polyfill to TiddlyWiki\ntype: text/vnd.tiddlywiki\n\nNot all browsers support the latest features of ES2015. The Babel project offers a polyfill that can be included into your TiddlyWiki so those features can be available to your plugins. To do this you will need a copy of the polyfill source.\n\nYou can obtain the source either through <<.def \"npm\">> or downloaded/saved. See the [[Babel Polyfill documentation|https://babeljs.io/docs/usage/polyfill/]] for specific information on installing it.\n\nIn your TiddlyWiki editions folder make sure you have a `plugins/babel-polyfill` folder. Then create the `plugins/babel-polyfill/plugin.info` file with the following in it:\n\n```json\n{\n  \"title\": \"$:/plugins/babel/babel-polyfill\",\n  \"description\": \"Babel Polyfills for ES2015 support\",\n  \"author\": \"Your Name Here\",\n  \"core-version\": \">=5.0.0\"\n}\n```\n\nCreate the folder `plugins/babel-polyfill/files` folder. Then create the `plugins/babel-polyfill/files/tiddlywiki.files` file with the following in it:\n\n```json\n{\n  \"tiddlers\": [\n    {\n      \"file\": \"polyfill.min.js\",\n      \"fields\": {\n        \"title\": \"$:/plugins/babel/babel-polyfill/polyfill.min.js\",\n        \"type\": \"application/javascript\",\n        \"module-type\": \"library\",\n        \"global-module\": \"true\"\n      }\n    }\n  ]\n}\n```\n\nNow copy the `polyfill.min.js` you downloaded/saved.\n\n<<.tip \"If you downloaded this via ''npm'' then it would be available in `./node_modules/babel-polyfill/dist/polyfill.min.js`.\">>\n\nLastly you need a initializer so create the `plugins/babel-polyfill/plugin.js` file with the following in it:\n\n```javascript\n/*\\\ntitle: $:/plugins/babel/babel-polyfill/plugin.js\ntype: application/javascript\nmodule-type: startup\n\nLoad the babel-polyfill library on startup\n\n\\*/\n\nexports.startup = function() {\n  $tw.modules.execute('$:/plugins/babel/babel-polyfill/polyfill.min.js');\n}\n```\n\n<<.warning \"Because the polyfill is meant to be used in the browser we need to conditionally load the library which ES2016 doesn't allow. This is why it is written using TiddlyWiki's dependency resolver instead of using ES2015 `import` statements.\">>\n\nNow all the //runtime// ES2015 features are available like using `Promise` in your plugin code.\n\nSee [[Using ES2016 for Writing Plugins]] on how to use the ES2015 //syntax// for your plugin code.\n"
  },
  {
    "path": "editions/dev/tiddlers/new/Data Storage in Single File TiddlyWiki.tid",
    "content": "created: 20210525165258247\nmodified: 20210614134705320\ntags: Data-Storage doc [[Data Storage]]\ntitle: Data Storage in Single File TiddlyWiki\n\nThe single file version of ~TiddlyWiki saves the tiddlers within the HTML file. \n\nVersion 5.2.0 of ~TiddlyWiki introduced a new format for how tiddlers are saved within the HTML file.\n\n\n---\n\n!! Up to and including ~TiddlyWiki v5.1.23\n\nTiddlers are saved within the HTML file in one of two `<div>` tags depending on whether the TiddlyWiki is configured to encrypt its content or not. \n\n!!! Without encryption\nIf the ~TiddlyWiki is not encrypted the data is stored in a `<div>` tag with an `id` attribute of \"storeArea\".\n\n```html\n<div id=\"storeArea\" style=\"display:none;\">\n```\n\nWithin the store area `<div>`, each tiddler is stored in its own div. \n\n//Tiddler DIV//\n\nEach tiddler `<div>` has an attribute corresponding to each of the tiddler's fields, except the text field which is saved within a `pre` tag within the `<div>`. Note that all attributes and therefore field names must be lowercase letters, digits or the characters `-` (dash), `_` (underscore) and `.` (period). The only attribute that is required is `title`, all other attributes are optional. All attribute values and the text field within the `pre` tag are HTML encoded.\n\nExample:\n\n```html\n<div id=\"storeArea\" style=\"display:none;\">\n<div created=\"20140611153703343\" modified=\"20140611153734589\" tags=\"testTag\" testfield=\"testvalue\" title=\"TestTiddler\" type=\"text/plain\">\n<pre>testText</pre>\n</div>\n</div>\n```\n\n!!! With encryption\n\nIf the ~TiddlyWiki is configured to encrypt its content, the tiddlers are stored as as an encrypted JSON string in a `<pre>` tag with the `id` attribute \"encryptedStoreArea\". \n\n```html\n<pre id=\"encryptedStoreArea\" type=\"text/plain\" style=\"display:none;\">\n```\n\n~TiddlyWiki uses the [[Stanford JavaScript Crypto Library|http://bitwiseshiftleft.github.io/sjcl/]]. \n\n---\n\n!! From ~TiddlyWiki v5.2.0\n\nFrom v5.2.0 onwards, ~TiddlyWiki introduces a new JSON based format for the tiddler store area for unencrypted content, while retaining support for the older store area formats described above for backwards compatibility. The store area format remains unchanged for encrypted content.\n\n\n!!! Without encryption\n\nBy default, all tiddlers are now stored as an array of JSON objects inside a `<script>` tag with the `class` attribute \"tiddlywiki-tiddler-store\" and the `type` \"application/json\". For better readability, every tiddler object begins on a new line. There are no longer any restrictions on characters that are allowed in tiddler field names. However, `<script>` tag store areas must encode the `<` character to `\\u003c`.\n\n```html\n<script class=\"tiddlywiki-tiddler-store\" type=\"application/json\">[\n{\"title\":\"XLSX Utilities Edition\",\"created\":\"20161023202301847\",\"modified\":\"20161023202301847\",\"tags\":\"Editions\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"The ''XLSX Utilities'' edition of TiddlyWiki contains tools to work with `.XLSX` spreadsheets generated by applications like Microsoft Excel and Google Sheets. It can be used in the browser or under Node.js.\\n\\nhttps://tiddlywiki.com/editions/xlsx-utils/\\r\\n\"},\n{\"text\":\"In accordance with the [[Philosophy of Tiddlers]], documentation tiddlers are typically short and interlinked.\\n\\nWhen a tiddler seems as if it needs to contain subheadings, this is often a sign that it should in fact be split into several tiddlers. But it is reasonable for a [[reference tiddler|Reference Tiddlers]] to consist of an untitled introductory section followed by a titled section of details.\\n\\nConsistency of terminology is essential if the reader is not to become confused. Consistent typography and punctuation lend a professional quality to the documentation. Macros can improve the consistency and maintainability of the text.\\n\\nUse numbered lists for step-by-step instructions, and bullet points for lists whose order is arbitrary. Use a definition list in preference to a bulleted list if each bulleted item would begin with a term and a colon. If at all possible, avoid burdening the reader with a nested list.\\n\\nUse a table when information naturally falls into three or more columns, and also for lists of parameters, attributes, etc in [[reference tiddlers|Reference Tiddlers]].\\n\\nAvoid periods at the end of list items, headings and table cell text.\\n\\nThe documentation describes the current reality of ~TiddlyWiki. Avoid discussing future aspirations.\\n\",\"title\":\"Tiddler Structure\",\"tags\":\"[[Improving TiddlyWiki Documentation]]\",\"modified\":\"20210207124737959\",\"created\":\"20150110183300000\"}\n]</script>\n```\n\nTo retain compatibility with external tools that might insert tiddlers by directly manipulating the ~TiddlyWiki HTML file, the older format `<div>` store area is still present in the HTML file immediately after the new `<script>` tag store area:\n\n\n```html\n<script class=\"tiddlywiki-tiddler-store\" type=\"application/json\">[\n{\"title\":\"XLSX Utilities Edition\",\"created\":\"20161023202301847\",\"modified\":\"20161023202301847\",\"tags\":\"Editions\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"The ''XLSX Utilities'' edition of TiddlyWiki contains tools to work with `.XLSX` spreadsheets generated by applications like Microsoft Excel and Google Sheets. It can be used in the browser or under Node.js.\\n\\nhttps://tiddlywiki.com/editions/xlsx-utils/\\r\\n\"},\n{\"text\":\"In accordance with the [[Philosophy of Tiddlers]], documentation tiddlers are typically short and interlinked.\\n\\nWhen a tiddler seems as if it needs to contain subheadings, this is often a sign that it should in fact be split into several tiddlers. But it is reasonable for a [[reference tiddler|Reference Tiddlers]] to consist of an untitled introductory section followed by a titled section of details.\\n\\nConsistency of terminology is essential if the reader is not to become confused. Consistent typography and punctuation lend a professional quality to the documentation. Macros can improve the consistency and maintainability of the text.\\n\\nUse numbered lists for step-by-step instructions, and bullet points for lists whose order is arbitrary. Use a definition list in preference to a bulleted list if each bulleted item would begin with a term and a colon. If at all possible, avoid burdening the reader with a nested list.\\n\\nUse a table when information naturally falls into three or more columns, and also for lists of parameters, attributes, etc in [[reference tiddlers|Reference Tiddlers]].\\n\\nAvoid periods at the end of list items, headings and table cell text.\\n\\nThe documentation describes the current reality of ~TiddlyWiki. Avoid discussing future aspirations.\\n\",\"title\":\"Tiddler Structure\",\"tags\":\"[[Improving TiddlyWiki Documentation]]\",\"modified\":\"20210207124737959\",\"created\":\"20150110183300000\"}\n]</script><div id=\"storeArea\" style=\"display:none;\"></div>\n```\n\nAny tiddlers in the older format `<div>` store area are also loaded before tiddlers from the new `<script>` store area. \n\n!!! Multiple store areas and precedence\n\nTiddlers from the new `<script>` tag store areas are loaded in the order of their store areas in the HTML file. Therefore if the same tiddler exists in two different `<script>` tag store areas, the tiddler from the later store area takes precedence. Note however that tiddlers from `<script>` tag store areas always take precedence over tiddlers from the older format  `<div>` store area. Therefore a tiddler from the older `<div>` store area can never overwrite a tiddler from  a `<script>` tag store area.\n\nNote that all `<script>` tags with the `class` attribute \"tiddlywiki-tiddler-store\" that precede the `$:/boot.js` module in the HTML file will have their content parsed as JSON and loaded as tiddlers.\n\nThis allows external tools to easily insert tiddlers into an HTML file by prepending an additional `<script>` tag(s) at the very start of the HTML file:\n\n```html\n<script class=\"tiddlywiki-tiddler-store\" type=\"application/json\">[\n{\"created\":\"20210525212411223\",\"text\":\"This is some test text\",\"tags\":\"[[test tag]] [[another tag]]\",\"title\":\"My new tiddler to insert\",\"modified\":\"20210525212430577\"}\n]</script>\n<!doctype html>\n...\n```\n\nAlthough invalid HTML, all known browsers will silently move the script tag to a valid position within the \n\nAdditional topics:\n\n* [[Extracting tiddlers from a single file TiddlyWiki]]"
  },
  {
    "path": "editions/dev/tiddlers/new/Data Storage.tid",
    "content": "created: 20140708085814626\nmodified: 20210525165526997\ntags: doc\ntitle: Data Storage\n\n~TiddlyWiki has two approaches to saving the user data (tiddlers) depending on whether you are using the single file version, or are using the node.js server.\n\n~TiddlyWiki on node.js saves each tiddler in a separate text file. For details on the file formats supported for tiddlers on node.js, see [[Tiddler Files|https://tiddlywiki.com/#TiddlerFiles]].\n\nThe single file version of ~TiddlyWiki saves the tiddlers within the HTML file. See [[Data Storage in Single File TiddlyWiki]]\n"
  },
  {
    "path": "editions/dev/tiddlers/new/Filter Operators.tid",
    "content": "tags: dev\ntitle: Filter Operators\ntype: text/vnd.tiddlywiki\n\n! Overview\n\nFilter operators are modules (tiddlers of type `application/javascript`) with their `module-type` field set to `filteroperator`, exporting one or more functions implementing a filter.\n\nEach function will be called with three arguments:\n\n* A [[tiddler iterator|Tiddler Iterators]] representing the results of the previous filter step (or all tiddlers, if this filter appears first in an expression), conventionally named `source`.\n* An object, conventionally called `operator`, representing the arguments for this filter step, with the following keys:\n** //operator//: the name of the filter operator specified in the WikiText;\n** //operand//: the operand for the filter step (as a string; if the filter specified it in angle brackets or braces, the text reference or variable name will have already been resolved);\n** //prefix//: (optional) a string containing a single exclamation mark if the filter operator is to be negated;\n** //suffix//: (optional) a string containing an additional filter argument (typically a tiddler field name) following the filter name (separated by a colon in the filter syntax);\n** //regexp//: (optional, deprecated) used instead of //operand// if the filter operand is a regexp.\n* An object, conventionally called `options`, with the following keys:\n** //wiki//: The `$tw.Wiki` object;\n** //widget//: (optional) a widget node.\n\nThe function should return either a new [[tiddler iterator|Tiddler Iterators]], or else an array of tiddler titles (as strings). The underlying filter mechanism will convert back and forth between iterators and arrays as needed.\n\n! References\n\nThere are several filter operators built into the core which can serve as a jumping off point for your own filter operators:\n\nhttps://github.com/TiddlyWiki/TiddlyWiki5/tree/master/core/modules/filters\n\n! Example\n\nSuppose we want to make a filter operator that returns every other tiddler from the input list. A typical invocation might look like `[tags[interesting]everyother[]]`.\n\nWe make a new tiddler, set its `type` and `module-type` appropriately, and begin writing the code:\n\n```\n\"use strict\";\n    \nexports.everyother = function(source, operator, options) {\n    // TODO\n}\n```\n\nFor the example filter syntax, our function will be called with\n\n* source: an iterator over all the tiddlers tagged as `interesting`\n* operator: an object `{operator: \"everyother\", operand: \"\"}`\n* options: an object with the current Wiki object and a widget object, neither of which we need\n\nAs is usually the case, we don't care about `operator.operator` here (since that information has already been used to look up our function); we also don't care about `operator.operand`, since there is no meaningful operand for this operation.\n\nWe could implement the operator by iterating over the input tiddlers and explicitly building a result array of titles:\n\n```\n\"use strict\";\n    \nexports.everyother = function(source, operator, options) {\n    var result = [];\n    var include = true;\n    source(function(tiddler, title) {\n        if (include) { result.push(title); }\n        include = !include;\n    });\n    return result;\n}\n```\n\nThat is, we supply a callback to `source` that negates `include` each time through (in order to grab every other result) and pushes the `title` of every other tiddler onto the result.\n\nAlternatively, we can return our own iterator, by returning a function that accepts a similar callback and only calls it on every other tiddler:\n\n```\n\"use strict\";\n    \nexports.everyother = function(source, operator, options) {\n    return function(callback) {\n        var include = true;\n        source(function(tiddler, title) {\n            if (include) { callback(tiddler, title); }\n            include = !include;\n        });\n    };\n}\n```\n\nEither way, we could interpret the `!` flag on the filter, if present, to mean that we want the //other// half of the tiddlers, by using it to set the initial value of `include`: `var include = operator.prefix !== \"!\";`\n\n! Filter Behaviour\n\nAs with [[JavaScript Macros]], filter operators should not make modifications to tiddlers, but only return a list of tiddlers or a tiddler iterator.\n"
  },
  {
    "path": "editions/dev/tiddlers/new/HookMechanism.tid",
    "content": "created: 20141122200310516\nmodified: 20230923031318421\ntags: Mechanisms\ntitle: HookMechanism\ntype: text/vnd.tiddlywiki\n\nThe hook mechanism provides a way for plugins to intercept and modify default functionality. \n\n!! Add a hook\n\nHooks are added as follows:\n\n```js\n/*\nname: name of hook function (by convention prefixed with `th-`)\nhandler: function to be called when hook is invoked\n*/\n$tw.hooks.addHook(name,handler);\n```\n\n!!! Params and return\n\nThe handler function will be called with parameters that depend on the specific hook in question, but they always follow the pattern `handler(value,params...)`\n\n* ''value'': an optional value that is to be transformed by the hook function\n* ''params'': one or more optional parameters that are passed to the hook function\n\nIf required by the hook in question, the handler function must return the modified ''value''.\n\n!!! Multiple handlers\n\nMultiple handlers can be assigned to the same name using repeated calls. When a hook is invoked by name all registered functions will be called sequentially in their order of addition.\n\nNote that the ''value'' passed to the subsequent hook function will be the return value of the previous hook function.\n\nBe careful not to `addHook` in widget's `render` method, which will be call several times. You could `addHook` in methods that only called once, e.g. the constructor of widget class. Otherwise you should `removeHook` then add it again.\n\n!!! Timing of registration\n\nThough not essential care should be taken to ensure that hooks are added before they are invoked.\n\nFor example: [[Hook: th-opening-default-tiddlers-list]] should ideally be added before the story startup module is invoked. Otherwise any hook specified additions to the default tiddlers will not be seen on the initial loading of the page, though will be visible if the user clicks the home button.\n\n!! Remove a hook\n\nYou should clean up the callback when your widget is going to unmount.\n\n```js\n$tw.hooks.removeHook(handler)\n```\n\nThe `handler` should be the same function instance you used in `addHook` (check by `===`). You can save it to `this.xxxHookHandler` on your widget, and call `removeHook` in [[destroy method|Widget `destroy` method examples]].\n\n!! Example\n\nA working example of a hook that adds \"test\" to the default tiddlers.\n\n```js\n$tw.hooks.addHook(\"th-opening-default-tiddlers-list\",function(list) { \n    list.push(\"test\");\n    return list; \n});\n```\n\n"
  },
  {
    "path": "editions/dev/tiddlers/new/Hook_ th-before-importing.tid",
    "content": "created: 20210203184649726\nmodified: 20210208152038746\ntags: HookMechanism\ntitle: Hook: th-before-importing\ntype: text/vnd.tiddlywiki\n\nThis hook allows plugins to inspect or modify the `importTiddler` object ''before'' any tiddlers are imported. It is invoked after the final \"Import\" button is clicked, but ''before'' the selected tiddlers are being imported into the store.\n\n''Intended Usecases'':\n\n* Manipulate the import \"selection state\"\n* Eg: create a customized \"log-tiddler\" that contains a heading, that should only be written once\n\n''Important'': \n\n* This hook ''should not'' be used to manpulate the `importTiddler.fields.text` element!\n* If you want to give the users a possibility to verify the imported data, use ùpgraders like: `$:/core/modules/upgraders/` instead\n* If you need to manipulate the imported tiddler content, without default user interaction, consider: [[Hook: th-importing-tiddler]] instead\n\nThe hook is part of the `NavigatorWidget.prototype.handlePerformImportEvent` function.\n\nHook function parameters:\n\n* ''importTiddler'': an object, that contains information about \"selected / unselected\" tiddlers and more\n\nReturn value:\n\n* ''importTiddler'': object\n\nThe hook must return the `importTiddler` object. For many usecases the object will be returned unmodified.\n\n''Example code how to implement a hook in your project''\n\n```\n/*\\\ntitle: $:/plugins/<author>/<plugin>/th-before-importing.js\ntype: application/javascript\nmodule-type: startup\n\nYOUR DISCRCRIPTION COMES HERE!\n\n\\*/\n\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"<yournamecomesherewithoutspaces>\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n// Define your variables here!\n\nexports.startup = function() {\n\t$tw.hooks.addHook(\"th-before-importing\",function(importTiddler) {\n\n// YOUR CODE !\n\n\t\treturn importTiddler;\n\t});\n};\n\n```"
  },
  {
    "path": "editions/dev/tiddlers/new/Hook_ th-closing-tiddler.tid",
    "content": "created: 20210623075733310\nmodified: 20210623081959571\ntags: HookMechanism\ntitle: Hook: th-closing-tiddler\ntype: text/vnd.tiddlywiki\n\nThis hook allows plugins to monitor the closing of a tiddler from the story.\n\nHook function parameters:\n\n* ''event'': Widget message object with the following properties:\n** ''event'': DOM event object that triggered the widget message\n** ''tiddlerTitle'': the title of the tiddler being closed\n** ''widget'': reference to the widget that sent the message.\n\nReturn value:\n\n* ''event'': Widget message object\n\nThe original event widget message object can be returned unmodified by the hook. "
  },
  {
    "path": "editions/dev/tiddlers/new/Hook_ th-page-refreshed.tid",
    "content": "created: 20180104155916980\nmodified: 20180104160025999\ntags: HookMechanism\ntitle: Hook: th-page-refreshed\ntype: text/vnd.tiddlywiki\n\nThis hook notifies plugins that a page refresh has just occurred. It is typically used to apply post-rendering effects.\n\nHook function parameters:\n\n* (none)\n\nReturn value:\n\n* (none)\n"
  },
  {
    "path": "editions/dev/tiddlers/new/Hook_ th-page-refreshing.tid",
    "content": "created: 20190111150102847\nmodified: 20190111150102847\ntags: HookMechanism\ntitle: Hook: th-page-refreshing\ntype: text/vnd.tiddlywiki\n\nThis hook notifies plugins that a page refresh is just about to occur. It is typically used to apply pre-rendering effects.\n\nHook function parameters:\n\n* (none)\n\nReturn value:\n\n* (none)\n"
  },
  {
    "path": "editions/dev/tiddlers/new/Hook__th-deleting-tiddler.tid",
    "content": "created: 20170209115611070\nmodified: 20170209145906743\ntags: HookMechanism\ntitle: Hook: th-deleting-tiddler\ntype: text/vnd.tiddlywiki\n\nThis hook allows plugins to inspect tiddlers before they are deleted via the ''delete'' toolbar button. When the delete button is used from the edit toolbar there are actually two invocations of the `th-deleting-tiddler` hook function: one for the original tiddler and one for the draft.\n\nNote that this hook is not invoked for tiddlers deleted by other means such as the ActionDeleteTiddlerWidget.\n\nHook function parameters:\n\n* ''tiddler'': tiddler object about to be deleted\n\nReturn value:\n\n* unmodified tiddler to be deleted\n"
  },
  {
    "path": "editions/dev/tiddlers/new/Hook__th-editing-tiddler.tid",
    "content": "created: 20170629080243049\nmodified: 20170629080243049\ntags: HookMechanism\ntitle: Hook: th-editing-tiddler\ntype: text/vnd.tiddlywiki\n\nThis hook allows plugins to inspect tiddlers before they are edited via the ''edit'' toolbar button.\n\nHook function parameters:\n\n* ''event'': DOM event object that triggered the edit\n\nReturn value:\n\n* ''editTiddler'': ''true'' to continue with editing the tiddler as usual, ''false'' to silently suppress editing\n"
  },
  {
    "path": "editions/dev/tiddlers/new/Hook__th-importing-file.tid",
    "content": "created: 20171010115148355\nmodified: 20171010115148355\ntags: HookMechanism\ntitle: Hook: th-importing-file\ntype: text/vnd.tiddlywiki\n\nThis hook allows plugins to inspect or modify the details of files imported via drag and drop or the \"import\" button. It is invoked as each [[File object|https://developer.mozilla.org/en-US/docs/Web/API/File]] provided by the browser in response to an import or drag and drop is being read. The hook function can choose to ignore the file, in which case TiddlyWiki's default processing proceeds to read and import the content of the file. Alternatively, the hook function can process the file to extract the tiddlers itself, and then pass them back to TiddlyWiki to be handled by the rest of the import process.\n\nUse this hook if you want to control how tiddlers are extracted from files during an import. See [[Hook: th-importing-tiddler]] if you want to process each imported tiddler after they have been extracted from the files.\n\nHook function parameters:\n\n* ''info'': an object with properties containing information relating to the current file:\n** ''file'': reference to the browser's [[File object|https://developer.mozilla.org/en-US/docs/Web/API/File]]\n** ''type'': the MIME type of the file. If not provided by the browser then TiddlyWiki attempts to infer the type from the file extension\n** ''isBinary'': flag for whether the file contains binary data (which requires that the file type be recognised by TiddlyWiki)\n** ''callback'': callback function to be called with an array of tiddler field objects extracted from the file object\n\nReturn value:\n\n* ''true'' indicates that the hook handled the file, and passed any extracted tiddlers to the callback\n* ''false'' indicates that the hook didn't process the file\n"
  },
  {
    "path": "editions/dev/tiddlers/new/Hook__th-importing-tiddler.tid",
    "content": "created: 20170209130829546\nmodified: 20210203190724491\ntags: HookMechanism\ntitle: Hook: th-importing-tiddler\ntype: text/vnd.tiddlywiki\n\nThis hook allows plugins to inspect or modify tiddlers as they are imported via the import mechanism. It is invoked when the final \"Import\" button is clicked, and the selected tiddlers are being imported into the store.\n\nThe hook is part of the `NavigatorWidget.prototype.handlePerformImportEvent` function.\n\nUse this hook if you want to process each imported tiddler after they have been extracted from the files.  See [[Hook: th-importing-file]] if you want to control how tiddlers are extracted from files during an import.\n\nHook function parameters:\n\n* ''tiddler'': tiddler object about to be imported\n\nReturn value:\n\n* tiddler object to be imported\n\nThe original tiddler object can be returned unmodified by the hook. If the hook needs to modify the tiddler then it should return a new tiddler object, for example:\n\n```\n\treturn new $tw.Tiddler(tiddler,{\"my-field\": value});\n```\n\nHooks must not change the ''title'' field but can freely modify any other field of the tiddler.\n"
  },
  {
    "path": "editions/dev/tiddlers/new/Hook__th-navigating.tid",
    "content": "created: 20170219130829546\nmodified: 20170219145518777\ntags: HookMechanism\ntitle: Hook: th-navigating\ntype: text/vnd.tiddlywiki\n\nThis hook allows plugins to monitor and modify navigation events.\n\nHook function parameters:\n\n* ''event'': object describing the navigation event:\n** ''event.navigateTo'': title of target tiddler\n** ''event.navigateFromTitle'': title of tiddler containing the\n** ''event.navigateSuppressNavigation'': boolean; when true the target tiddler opens without the usual scrolling\n** ''event.navigateFromClientRect'': rectange in client coordinates of the DOM node triggering the navigation\n\nReturn value:\n\n* possibly modified event object\n"
  },
  {
    "path": "editions/dev/tiddlers/new/Hook__th-relinking-tiddler.tid",
    "content": "created: 20170209145637233\nmodified: 20170209150007550\ntags: HookMechanism\ntitle: Hook: th-relinking-tiddler\ntype: text/vnd.tiddlywiki\n\nThis hook allows plugins to inspect tiddlers before they are relinked (\"relinking\" is the optional operation of relinking references to a tiddler when it is renamed).\n\nHook function parameters:\n\n* ''newTiddler'': tiddler object incorporating the relinking\n* ''oldTiddler'': optional existing tiddler object that will be overwritten\n\nReturn value:\n\n* ''newTiddler'': tiddler object to be used for the relinking operation.\n\nThe original tiddler object can be returned unmodified by the hook. If the hook needs to modify the tiddler then it should return a new tiddler object, for example:\n\n```\n\treturn new $tw.Tiddler(tiddler,{\"my-field\": value});\n```\n\nHooks must not change the ''title'' field but can freely modify any other field of the tiddler.\n"
  },
  {
    "path": "editions/dev/tiddlers/new/Hook__th-renaming-tiddler.tid",
    "content": "created: 20170209145207186\nmodified: 20170209145633522\ntags: HookMechanism\ntitle: Hook: th-renaming-tiddler\ntype: text/vnd.tiddlywiki\n\nThis hook allows plugins to inspect tiddlers before they are modified by the `tm-rename-tiddler` message.\n\nHook function parameters:\n\n* ''newTiddler'': tiddler object incorporating the rename\n* ''oldTiddler'': optional existing tiddler object that will be overwritten\n\nReturn value:\n\n* newTiddler: tiddler object to be used for the renaming operation.\n\nThe original tiddler object can be returned unmodified by the hook. If the hook needs to modify the tiddler then it should return a new tiddler object, for example:\n\n```\n\treturn new $tw.Tiddler(tiddler,{\"my-field\": value});\n```\n\nHooks must not change the ''title'' field but can freely modify any other field of the tiddler.\n"
  },
  {
    "path": "editions/dev/tiddlers/new/Hook__th-rendering-element.tid",
    "content": "created: 20200630121235997\nmodified: 20200630121235997\ntags: HookMechanism\ntitle: Hook: th-rendering-element\n\nThis hook provides a notification that a DOM element is about to be rendered by the \"element\" widget. The hook can optionally provide an alternate parse tree that will be rendered in place of the intended element.\n\nNote the element widget only renders those HTML elements that were parsed as plain HTML elements within wikitext (i.e. using the `<tagname>` syntax). This means that this hook is not invoked for elements created by other widgets.\n\nHook function parameters:\n\n* ''newParseTreeNodes'': optional parse tree nodes provided by a previously called hook\n* ''widget'': instance of the element widget invoking the hook\n\nReturn value:\n\n* ''newParseTreeNodes'': optionally new parse tree nodes to replace the intended element, or a falsey value to leave the element untouched\n\nHere is an example of a handler for this hook:\n\n```js\n$tw.hooks.addHook(\"th-rendering-element\",function(parseTreeNodes,widget) {\n\t// Return the previous mapping if there is one\n\tif(parseTreeNodes) {\n\t\treturn parseTreeNodes;\n\t}\n\t// Detect the elements we're interested in\n\tif(someCondition()) {\n\t\t// Replace them with a parse tree\n\t\treturn generateParseTreeNodes();\n\t}\n\t// Otherwise do nothing\n\treturn null;\n});\n```\n"
  },
  {
    "path": "editions/dev/tiddlers/new/Hook__th-server-command-post-start.tid",
    "content": "created: 20180409142128584\nmodified: 20180409142128584\ntags: HookMechanism\ntitle: Hook: th-server-command-post-start\ntype: text/vnd.tiddlywiki\n\nThis hook allows plugins to extend the TiddlyWiki server command after it initializes. The two \nmost obvious use cases are adding routes (such as an attachments folder for external files) \nto the SimpleServer instance and adding a websockets handler to the HTTP server. \n\nHook function parameters: \n\n* SimpleServer instance\n** Defined in core/modules/commands/server.js\n* NodeJS HTTP Server instance\n** See the NodeJS docs at [ext[https://nodejs.org/docs/latest-v8.x/api/http.html#http_class_http_server]]\n* Name of server invoking this hook (for special handling of the NodeJS HTTP server instance argument). \n** Current known values: `tiddlywiki`, `tiddlyserver`. \n\nReturn value is ignored.\n"
  },
  {
    "path": "editions/dev/tiddlers/new/Hook_th-make-tiddler-path.tid",
    "content": "tags: HookMechanism\ntitle: Hook: th-make-tiddler-path\ntype: text/vnd.tiddlywiki\n\nThis hook lets a plugin inspect or modify the tiddler file path during the saving process.\n\nHook function parameters:\n\n* ``currentPath``: The path the tiddler file will be saved to.\n* ``originalPath``: The original tiddler file path unmodified by any hooks.\n\nReturn value:\n\nThe path to use for saving the tiddler file.\n"
  },
  {
    "path": "editions/dev/tiddlers/new/ImportLogging.tid",
    "content": "title: ImportLogging\ncreated: 20141114100055595\nmodified: 20141114100055595\n\nBrowsers still have significant variations in their handling of drag and drop and clipboard operations.\n\nYou can switch on special logging to help debug issues:\n\n# Open your browser JavaScript console\n# Type:\n#> ``$tw.log.IMPORT = true``\n# Drag or paste a file to import it\n# Look for debug information in the console. For example:\n#> ``Importing file 'my-image.png', type: 'image/png', isBinary: true``\n"
  },
  {
    "path": "editions/dev/tiddlers/new/ParserSubclassingMechanism.tid",
    "content": "created: 20210203150855206\nmodified: 20210203150855206\ntitle: ParserSubclassingMechanism\n\n!! Introduction\n\nThe wikitext parser subclassing mechanism makes it possible for custom parsers to use the wiki text parsing engine, but to customise the rules that are used.\n\n!! Example\n\nHere is an example of a subclass of the checkbox widget that adds logging to the event handler:\n\n```js\n\n\"use strict\";\n\nvar WikiParser = require(\"$:/core/modules/parsers/wikiparser/wikiparser.js\")[\"text/vnd.tiddlywiki\"],\n\tHtmlParser = $tw.modules.createClassFromModule(require(\"$:/core/modules/parsers/wikiparser/rules/html.js\"),$tw.WikiRuleBase),\n\tEntityParser = $tw.modules.createClassFromModule(require(\"$:/core/modules/parsers/wikiparser/rules/entity.js\"),$tw.WikiRuleBase);\n\nvar MyCustomWikiParser = function(type,text,options) {\n\tvar parser = new WikiParser(type,text,$tw.utils.extend({},options,{\n\t\t// Force the parser to parse in inline mode\n\t\tparseAsInline: true,\n\t\t// Specify which rules will be used\n\t\trules: {\n\t\t\tpragma: [],\n\t\t\tblock: [],\n\t\t\tinline: [HtmlParser,EntityParser]\n\t\t}\n\t}));\n\tthis.tree = parser.tree;\n\tthis.prototype = parser.prototype;\n};\n\nexports[\"text/vnd.my-custom-type\"] = MyCustomWikiParser;\n\n```\n"
  },
  {
    "path": "editions/dev/tiddlers/new/TiddlyWiki Drag and Drop Interop.tid",
    "content": "title: TiddlyWiki Drag and Drop Interoperability\n\nIt is straightforward to allow any HTML file to interoperate with TiddlyWiki's drag and drop implementation.\n\nThis example shows how to attach draggable data to a DOM element. The data is provided in two different forms:\n\n* the string data is used if the element is dragged onto a text editing area\n* the tiddler data is used if the element is dragged into TiddlyWiki's import area\n\n<$button>\n<$action-sendmessage $message=\"tm-download-file\" $param=\"$:/dev/save/dragndropinterop\" filename=\"index.html\"/>\nDownload this sample code\n</$button>\n\n<$codeblock code={{DragAndDropInterop}} language=\"text/html\"/>\n"
  },
  {
    "path": "editions/dev/tiddlers/new/Using ES2016 for Writing Plugins.tid",
    "content": "created: 20160111034749658\nmodified: 20240302110735646\ntitle: Using ES2016 for Writing Plugins\ntype: text/vnd.tiddlywiki\n\nWith the advent of ES2015 (also known as ES6) and the availability of [[Babel.js|http://babeljs.io/]] plugin developers can leverage ES2015 when writing TiddlyWiki plugins. Understanding the nuances between TiddlyWiki's module sandbox and how Babel compiles it's output ready for a module system like ~CommonJS/AMD.\n\nPlease understand how the PluginMechanism works since this is all about writing a plugin using Babel to compile the output that will be included in the final TiddlyWiki (for example [[TiddlyWiki on Node.js]]).\n\n!! Use a framework\n\nIt is recommended to use develop toolkit managed by community. For example, \n\n# [[Modern.TiddlyDev|https://tiddly-gittly.github.io/Modern.TiddlyDev/]]\n\nThey are known as \"~JavaScript Meta-Framework\". With them, you can start developing in a few minutes, without hours of configuration and debugging the build steps.\n\n!! Installing and Configuring Babel by yourself\n\nYou can install Babel using\n\n```\n$ npm install --global babel-cli babel-presets-es2015\n```\n\nIf your developing the plugin for inclusion to the npm registry (or for convenience) you can avoid the global install and save it to the local `package.json` file with\n\n```\n$ npm install --save-dev babel-cli babel-presets-es2015\n```\n\nInside your plugin project edit the file `.babelrc` and enter the following:\n\n```json\n{\n  \"presets\": [\n    \"es2015\"\n  ]\n}\n```\n\n<<.tip \"I found it easier to manage my plugins as if they were ''npm'' modules complete with a `package.json` that compiles the output via `npm run build`. See [[npm-scripts documentation|https://docs.npmjs.com/misc/scripts]] for details.\">>\n\nAnother benefit of using such a \"Meta-Framework\" is that you can easily maintain your configuration, you will find it difficult to upgrade those config files after several months.\n\n!!! Compiling the Output\n\nPick a folder to store the ES2015 JavaScript and a folder to output the TiddlyWiki ready JavaScript. In this example I will use `src` and `lib` respectively. With Babel installed and working I can compile all the JavaScript in the `src` folder to the `lib` folder by running this command:\n\n```\n$ babel src -d lib\n```\n\n<<.warning \"Babel will //not// copy over non-JavaScript files. It is up to the developer to include all the supporting files themselves. Babel only converts the ~JavaScript files (ending in `.js`) from the `src` folder to the `lib` folder.\">>\n\n!!! Imports and Exports\n\nIn a plugin written pre-ES2015 one would `require` a module through TiddlyWiki like so:\n\n```javascript\nvar Widget = require('$:/core/modules/widgets/widget.js').widget;\n```\n\nBut in ES2015 the following would look like:\n\n```javascript\nimport { widget as Widget } from '$:/core/modules/widgets/widget.js';\n```\n\nConveniently when Babel compiles this it will essentially output the same JavaScript as the first pre-ES2016 code.\n\nAlso, in ES2016 you are required to declare your imports at the beginning and can not dynamically `require` things. This means you can not have an `import` statement in an if block or in a function. If that functionality is desired then you will have to go back to using the `require()` statement directly. But conciser that by doing so that you may be missing an oppertunity to make your code cleaner and better.\n\nExporting is the same thing. Instead of assigning to a property of the `exports` variable you use the `export` keyword:\n\n```javascript\nexport { MyWidget as mywidget };\n```\n\n<<.tip \"It is illegal JavaScript to export with a name that is not an identifier even though it is ok to use a non-identifier (string) as a property key. What this means is if you want a widget to have a dash in it then you have to revert to using the `exports['my-widget'] = MyWidget;` syntax.\">>\n\nIt is important to understand that in ES2016 the ''default'' export is not supported in TiddlyWiki. This is mostly because the core code expects specific properties to be attached to the `exports` variable. Bable's `export` conversion plays well with this //except// with the default export.\n\n!!! Classes\n\nIn the example of a widget ES2016 plays well with class inheritance. To contrast the typical Widget definition would look something like this:\n\n```javascript\nfunction MyWidget() {\n  Widget.call(this);\n}\nMyWidget.prototype = new Widget();\nMyWidget.prototype.render = function(parent, nextSibling) {…};\n// And so on…\n```\n\nWith classes this ceremony can be tightened up:\n\n```javascript\nclass MyWidget extends Widget {\n  render(parent, nextSibling) {…}\n  // And so on…\n}\n```\n\nWith classes one //could// eliminate much of the `Widget.execute()` cruft using <<.def \"getters\">>. I found this to be more readable then the typical mass assignment to `this`. It gave me the added benefit of allowing calculations in properties that normally would have conflated the `execute()` method. For example developing a compound property like so:\n\n```javascript\nclass NameWidget extends Widget {\n  get title() { return this.getAttribute('title'); }\n  get firstName() { return this.getAttribute('first'); }\n  get lastName() { return this.getAttribute('last'); }\n  get fullName() { return `${this.title}. ${this.firstName} ${this.lastName}`; }\n}\n```\n\n!!!! Non Class Modules\n\nFor non class modules you can use the `export` keyword. Here is a simple [[Startup Module|ModuleType]]:\n\n```javascript\nexport function startup() {\n  // Do stuff here\n}\n```\n\nOr in the case of a [[Macro|https://tiddlywiki.com/dev/#JavaScript%20Macros]]:\n\n```javascript\nexport const name = 'my-macro';\nexport const params = {};\nexport function run() {…}\n```\n\n!!! Polyfills\n\nES2015 comes with some features that are part of the JavaScript core objects. These are not supported by all browsers. To use these features in [[most browsers|BrowserCompatibility]] you will need a <<.def \"polyfill\">>. Babel has a polyfill package that you can include. See [[Adding Babel Polyfill to TiddlyWiki]] for how to accomplish this.\n\n!!! Example\n\nHere is an example ES2015 plugin/widget that will show the time and update it:\n\n```javascript\n\n/*\\\ntitle: $:/plugins/sukima/clock-widget.js\ntype: application/javascript\nmodule-type: widget\n\nA updating time stamp\n\n\\*/\nimport { widget as Widget } from '$:/core/modules/widgets/widget.js';\n\nclass ClockWidget extends Widget {\n  constructor(parseTreeNode, options) {\n    super(parseTreeNode, options);\n    this.logger = new $tw.utils.Logger('clock-widget');\n  }\n\n  render(parent, nextSibling) {\n    if (!$tw.browser) { return; }\n    this.logger.log('Rendering clock DOM nodes');\n    this.computeAttributes()\n    this.parentDomNode = parent;\n    this.domNode = $tw.utils.domMaker('div', {\n      document: this.document,\n      class: 'tc-clock-widget'\n    });\n    parent.insertBefore(this.domNode, nextSibling);\n    this.tick();\n  }\n\n  tick() {\n    this.logger.log('Tick!');\n    if (!document.contains(this.domNode)) {\n      // Apparently the widget was removed from the DOM. Do some clean up.\n      return this.stop();\n    }\n    this.start();\n    this.domNode.innerHTML = this.dateString;\n  }\n\n  start() {\n    if (!this.clockTicker) {\n      this.logger.log('Starting clock');\n      this.clockTicker = setInterval(this.tick.bind(this), 1000);\n    }\n  }\n\n  stop() {\n    this.logger.log('Stopping clock');\n    clearInterval(this.clockTicker);\n    this.clockTicker = null;\n  }\n\n  get dateString() {\n    const format = 'DDth MMM YYYY at hh12:0mm:0ss am';\n    return $tw.utils.formatDateString(new Date(), format);\n  }\n}\n\nexport { ClockWidget as clock };\n```\n\n<<.tip \"Adding an extra space at the top causes Babel's output the preamble tiddler comment without any obscene indenting. Although it doesn't affect TiddlyWiki any, when reading the output it can be confusing when the tiddler information is rendered off the screen to the right.\">>\n"
  },
  {
    "path": "editions/dev/tiddlers/new/Using Notifications.tid",
    "content": "tags: dev\ntitle: Using Notifications\ntype: text/vnd.tiddlywiki\n\n!! Overview\n\nThe notifier module is part of TiddlyWiki's suite of built-in utilities. It displays the text of a tiddler as a notification that briefly appears at the top right top of the screen. They are automatically dismissed after a few seconds.\n\n\nNotifications are an easy and visual way to notify the user of key information that is transient -- in other words, it shouldn't matter whether the user misses the notification (modals or alerts that require manual dismissal should be used in these cases). \n\nAn example is the `Saved wiki` notification seen each time the \"save\" button is clicked in the single file configuration of TiddlyWiki.\n\nThe notification module makes it easy to display such notifcations, including all the heavy lifting of the notification creation, appending it to the DOM, animating it and finally removing it from the DOM.\n\n!! Parameters\n\nThe notifier module only has one method (`display(title,options)`) that accepts two parameters:\n\n* title: The title of an existing tiddler\n** If the tiddler does not exist, then no notification will take place\n** The content of this tiddler will be transcluded into the notification body\n* Options: An object containing a `variables` property that will be applied in the tiddler transclusion\n\n!! Usage\n\nA notifier instance is availably directly on the global `$tw` object:\n\n```js\n$tw.notifier.display(\"$:/language/Notifications/Save/Starting\");\n```\n"
  },
  {
    "path": "editions/dev/tiddlers/new/Using TiddlyWiki as a library.tid",
    "content": "title: Using TiddlyWiki as a library in another Node.js application\n\nNode.js applications can include TiddlyWiki as a library so that they can use wikitext rendering.\n\nSee the demo at https://github.com/Jermolene/TiddlyWiki5DemoApp"
  },
  {
    "path": "editions/dev/tiddlers/new/WidgetSubclassingMechanism.tid",
    "content": "created: 20190317121937335\nmodified: 20190317121937335\ntitle: WidgetSubclassingMechanism\n\n!! Introduction\n\nThe widget subclassing mechanism allows widgets to be subclassed with additional methods and properties. The subclassed widgets can either overwrite the existing definition of the baseclass widget, or it can be made available as a new widget\n\nWidget subclasses are defined in modules of module-type `widget-subclass`. They should export the following properties:\n\n* ''baseClass'': the name of the widget class being subclassed\n* ''name'': (optional) the name to be used for the subclassed widget (defaults to overwriting the baseclass widget)\n* ''constructor'': constructor function for creating the widget object\n* ''prototype'': object whose properties are added to the subclass\n\n!! Example\n\nHere is an example of a subclass of the checkbox widget that adds logging to the event handler:\n\n```\n/*\\\ntitle: $:/my-customised-checkbox-widget.js\ntype: application/javascript\nmodule-type: widget-subclass\n\nWidget base class\n\n\\*/\n\n\"use strict\";\n\nexports.baseClass = \"checkbox\"; // Extend the <$checkbox> widget\n\n// Specify a different name to make the subclass available as a new widget instead of overwriting the baseclass:\n// exports.name = \"my-enhanced-checkbox\";\n\nexports.constructor = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\nexports.prototype = {};\n\nexports.prototype.handleChangeEvent = function(event) {\n\t// Call the base class handleChangeEvent function\n\tObject.getPrototypeOf(Object.getPrototypeOf(this)).handleChangeEvent.call(this,event);\n\t// Print our message\n\tconsole.log(\"Checkbox status:\",this.inputDomNode.checked);\n};\n\n```\n"
  },
  {
    "path": "editions/dev/tiddlers/new/dragndropinterop.html",
    "content": "<!doctype html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"utf-8\">\n    <title>Drag and Drop Interoperability with TiddlyWiki Demo</title>\n    <style>\n        #draggable {\n            padding: 1em;\n            margin: 1em;\n            background: #ecc;\n        }\n    </style>\n</head>\n<body>\n    <div id=\"draggable\" draggable=\"true\">\n        Drag me to a TiddlyWiki window\n    </div>\n    <button id=\"copy\">\n        Click to copy two tiddlers to the clipboard\n    </button>\n\n</body>\n<script>\n\n    var titleString = \"This is the string that appears when the block is dragged to a text input\";\n    var tiddlerData = [\n        {title: \"Tiddler One\", text: \"This is one of the payload tiddlers\"},\n        {title: \"Tiddler Two\", text: \"This is another of the payload tiddlers\", \"custom-field\": \"A custom field value\"}\n    ];\n\n    document.getElementById(\"draggable\").addEventListener(\"dragstart\",function(event) {\n        event.dataTransfer.setData(\"URL\",\"data:text/vnd.tiddler,\" + encodeURIComponent(JSON.stringify(tiddlerData)));\n        event.dataTransfer.setData(\"Text\",titleString);\n        event.stopPropagation();\n        return false;\n    });\n\n    document.getElementById(\"copy\").addEventListener(\"click\",function(event) {\n\n    function listener(event) {\n        event.clipboardData.setData(\"URL\",\"data:text/vnd.tiddler,\" + encodeURIComponent(JSON.stringify(tiddlerData)));\n        event.preventDefault();\n    }\n\n    document.addEventListener(\"copy\",listener);\n    document.execCommand(\"copy\");\n    document.removeEventListener(\"copy\",listener);\n\n    });\n</script>\n</html>"
  },
  {
    "path": "editions/dev/tiddlers/new/dragndropinterop.html.meta",
    "content": "title: DragAndDropInterop\ntype: text/html\n\n"
  },
  {
    "path": "editions/dev/tiddlers/new/save-dragndropinterop.tid",
    "content": "title: $:/dev/save/dragndropinterop\n\n<$view tiddler=\"DragAndDropInterop\" field=\"text\"/>\n"
  },
  {
    "path": "editions/dev/tiddlers/new/th-opening-default-tiddlers-list.tid",
    "content": "created: 20141122200310516\nmodified: 20170209115548070\ntags: HookMechanism\ntitle: Hook: th-opening-default-tiddlers-list\ntype: text/vnd.tiddlywiki\n\nThis hook allows plugins to add to or remove from the list of tiddlers that are opened when the wiki is first loaded or the home button is clicked.\n\nHook function parameters:\n\n* ''list'': array of tiddler titles to be opened\n\nReturn value:\n\n* modified array of tiddler titles to be opened\n\nNote that this hook is invoked with the tiddler titles that are generated from the filter in [[$:/DefaultTiddlers]]. Any added entries must be tiddler titles, not filter expressions.\n"
  },
  {
    "path": "editions/dev/tiddlers/new/th-saving-tiddler.tid",
    "content": "created: 20150908150314994\nmodified: 20200618114855781\ntags: HookMechanism\ntitle: Hook: th-saving-tiddler\ntype: text/vnd.tiddlywiki\n\nThis hook allows plugins to inspect or modify tiddlers before they are saved via the ''confirm'' toolbar button; the hook is not invoked for tiddlers that are saved through other means, such as state tiddlers created by the ActionSetFieldWidget.\n\nHook function parameters:\n\n* ''newTiddler'': tiddler object about to be saved\n* ''oldTiddler'': tiddler object of draft tiddler that is being saved (from v5.1.23)\n\nReturn value:\n\n* tiddler object to be saved\n\nThe original tiddler object can be returned unmodified by the hook. If the hook needs to modify the tiddler then it should return a new tiddler object, for example:\n\n```\n\treturn new $tw.Tiddler(tiddler,{\"my-field\": value});\n```\n\nHooks must not change the ''title'' field but can freely modify any other field of the tiddler.\n"
  },
  {
    "path": "editions/dev/tiddlers/system/$__themes_tiddlywiki_vanilla_options_sidebarlayout.tid",
    "content": "created: 20240311150859344\nmodified: 20240311150859344\ntitle: $:/themes/tiddlywiki/vanilla/options/sidebarlayout\ntype: text/vnd.tiddlywiki\n\nfluid-fixed"
  },
  {
    "path": "editions/dev/tiddlers/system/ContributionBanner.tid",
    "content": "title: $:/ContributionBanner\ntags: $:/tags/EditTemplate\nlist-after: $:/core/ui/EditTemplate/title\n\n\\define base-github()\nhttps://github.com/TiddlyWiki/TiddlyWiki5/edit/master/editions/dev/tiddlers/\n\\end\n\n<$set name=\"draft-of\" value={{{ [<currentTiddler>get[draft.of]] }}}>\n<$list filter=\"[[$:/config/OriginalTiddlerPaths]getindex<draft-of>]\" variable=\"target\" >\n<div class=\"tc-improvement-banner\">\n{{$:/core/images/star-filled}} Can you help us improve this documentation? [ext[Find out how|https://tiddlywiki.com/#Improving%20TiddlyWiki%20Documentation]] to\n<a href={{{ [<target>addprefix<base-github>] }}} class=\"tc-tiddlylink-external\" target=\"_blank\" rel=\"noopener noreferrer\">edit this tiddler on ~GitHub</a>\n</div>\n</$list>\n</$set>\n"
  },
  {
    "path": "editions/dev/tiddlers/system/DefaultTiddlers.tid",
    "content": "created: 20140910150818103\nmodified: 20140910150818103\ntitle: $:/DefaultTiddlers\ntype: text/vnd.tiddlywiki\n\nHelloThere\nIntroduction\n"
  },
  {
    "path": "editions/dev/tiddlers/system/PatchEncryptionPrompt.tid",
    "content": "title: $:/PatchEncryptionPrompt\ntags: $:/core/wiki/rawmarkup\n\n<script>\n\nwindow.$tw = window.$tw || Object.create(null);\n$tw.boot = $tw.boot || Object.create(null);\n\n$tw.boot.encryptionPrompts = {\n\tdecrypt: \"Decrypt this TiddlyWiki by entering the password\"\n};\n\n</script>\n<style>\n\nbody .tc-password-wrapper {\n\tbackground-color: rgb(183, 197, 235);\n\tborder: 8px solid rgb(152, 164, 197);\n}\n\nbody .tc-password-wrapper form {\n\ttext-align: center;\n}\n\nbody .tc-password-wrapper h1 {\n\tpadding-bottom: 8px;\n}\n\nbody .tc-password-wrapper input {\n\twidth: auto;\n}\n\n</style>\n"
  },
  {
    "path": "editions/dev/tiddlers/system/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\ndocumentation for developers"
  },
  {
    "path": "editions/dev/tiddlers/system/SiteTitle.tid",
    "content": "created: 20131211131022562\nmodified: 20131211131023829\ntitle: $:/SiteTitle\ntype: text/vnd.tiddlywiki\n\n~TiddlyWiki/Dev"
  },
  {
    "path": "editions/dev/tiddlers/system/Sources.tid",
    "content": "title: $:/editions/tw5.com/TiddlerInfo/Sources\ntags: $:/tags/TiddlerInfo\ncaption: Sources\n\n\\define github-link-base()\nhttps://github.com/TiddlyWiki/TiddlyWiki5/blob/master/editions/dev/tiddlers/$(title)$\n\\end\n\n\\define make-github-link()\n<$set name=\"title\" value={{$:/config/OriginalTiddlerPaths##$(currentTiddler)$}}>\n<$set name=\"title\" filter=\"[<title>encodeuricomponent[]]\" select=\"0\">\n<a href=<<github-link-base>> class=\"tc-tiddlylink-external\" target=\"_blank\" rel=\"noopener noreferrer\"><$text text=<<github-link-base>>/></a>\n</$set>\n</$set>\n\\end\n\n<$list filter=\"[all[current]!is[system]!is[shadow]]\">\n\nHelp us to improve the documentation by sending a ~GitHub pull request for this tiddler:\n\n* <<make-github-link>>\n\n</$list>\n"
  },
  {
    "path": "editions/dev/tiddlers/system/StaticBanner.tid",
    "content": "title: $:/StaticBanner\n\n<div class=\"tc-static-alert\"><div class=\"tc-static-alert-inner\">This page is part of a static HTML representation of the ~TiddlyWiki at https://tiddlywiki.com/dev/</div></div>\n"
  },
  {
    "path": "editions/dev/tiddlers/system/configWikiParserRulesInlineWikilink.tid",
    "content": "title: $:/config/WikiParserRules/Inline/wikilink\n\nenable"
  },
  {
    "path": "editions/dev/tiddlers/system/fontfamily.tid",
    "content": "title: $:/themes/tiddlywiki/vanilla/settings/fontfamily\n\n\"Georgia\", serif"
  },
  {
    "path": "editions/dev/tiddlers/system/github-fork-ribbon.tid",
    "content": "title: $:/editions/dev/github-fork-ribbon\ntags: $:/tags/PageTemplate\ncaption: ~GitHub ribbon\ndescription: ~GitHub ribbon for tw5.com/dev\n\n<div class=\"github-fork-ribbon-wrapper right\" style><div class=\"github-fork-ribbon\" style=\"background-color:#DF4848;\"><a href=\"https://github.com/TiddlyWiki/TiddlyWiki5\" target=\"_blank\" rel=\"noopener noreferrer\">Find me on ~GitHub</a></div></div>"
  },
  {
    "path": "editions/dev/tiddlers/system/language.tid",
    "content": "title: $:/language\n\n$:/languages/en-GB"
  },
  {
    "path": "editions/dev/tiddlers/system/palette.tid",
    "content": "title: $:/palette\n\n$:/palettes/Dev"
  },
  {
    "path": "editions/dev/tiddlers/system/palettes-Dev.tid",
    "content": "title: $:/palettes/Dev\nname: DevPalette\ndescription: Palette for tiddlywiki.com/dev\ntags: $:/tags/Palette\ntype: application/x-tiddler-dictionary\n\nalert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #e5f8fd\nblockquote-bar: <<colour muted-foreground>>\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #4e432f\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #bbb\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #f4d7a3\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nsidebar-button-foreground: #877452\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #658deb\nsidebar-foreground-shadow: rgba(255,255,255, 0.4)\nsidebar-foreground: #9f8860\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c9ac7a\nsidebar-tab-background-selected: #f4d7a3\nsidebar-tab-background: #e6c58b\nsidebar-tab-border-selected: #d9ba83\nsidebar-tab-border: #dbb678\nsidebar-tab-divider: #dfbe87\nsidebar-tab-foreground-selected: #8d764e\nsidebar-tab-foreground: #66573e\nsidebar-tiddler-link-foreground-hover: #8e7a56\nsidebar-tiddler-link-foreground: #937e59\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #dff6fc\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #d5ad34\ntag-foreground: #ffffff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #9eaeb4\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #715e3e\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
  },
  {
    "path": "editions/dev/tiddlers/system/static.content.tid",
    "content": "title: $:/core/templates/static.content\ntype: text/vnd.tiddlywiki\n\n\\define tv-wikilink-template() https://tiddlywiki.com/dev/static/$uri_doubleencoded$.html\n\n<!-- For Google, and people without JavaScript-->\n\n<$reveal default=\"yes\" text=<<savingEmpty>> type=\"nomatch\">\n\nIt looks like this browser doesn't run JavaScript. You can use one of these static HTML versions to browse the same content:\n\n* https://tiddlywiki.com/dev/static.html - browse individual tiddlers as separate pages\n* https://tiddlywiki.com/dev/alltiddlers.html#HelloThere - single file containing all tiddlers\n\n---\n\n{{HelloThere}}\n\n</$reveal>\n"
  },
  {
    "path": "editions/dev/tiddlers/system/theme.tid",
    "content": "title: $:/theme\n\n$:/themes/tiddlywiki/snowwhite"
  },
  {
    "path": "editions/dev/tiddlers/system/tw5.com-dev-styles.tid",
    "content": "title: $:/_tw5.com-dev-styles\ntags: $:/tags/Stylesheet\nlist-after: $:/editions/tw5.com/doc-styles\n\n<!-- styles that are unique to the TW dev edition. If possible use $:/_tw_shared/styles or $:/editions/tw5.com/doc-styles -->"
  },
  {
    "path": "editions/dev/tiddlywiki.info",
    "content": "{\n\t\"description\": \"Developer documentation from https://tiddlywiki.com/dev/\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/highlight\",\n\t\t\"tiddlywiki/nodewebkitsaver\",\n\t\t\"tiddlywiki/github-fork-ribbon\",\n\t\t\"tiddlywiki/menubar\",\n\t\t\"tiddlywiki/internals\",\n\t\t\"tiddlywiki/innerwiki\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\",\n\t\t\"tiddlywiki/starlight\",\n\t\t\"tiddlywiki/seamless\",\n\t\t\"tiddlywiki/centralised\",\n\t\t\"tiddlywiki/tight\",\n\t\t\"tiddlywiki/readonly\"\n\t],\n\t\"languages\": [\n\t\t\"ca-ES\",\n\t\t\"cs-CZ\",\n\t\t\"da-DK\",\n\t\t\"de-AT\",\n\t\t\"de-DE\",\n\t\t\"el-GR\",\n\t\t\"en-US\",\n\t\t\"es-ES\",\n\t\t\"fa-IR\",\n\t\t\"fr-FR\",\n\t\t\"hi-IN\",\n\t\t\"ia-IA\",\n\t\t\"it-IT\",\n\t\t\"ja-JP\",\n\t\t\"ko-KR\",\n\t\t\"nl-NL\",\n\t\t\"pa-IN\",\n\t\t\"pt-PT\",\n\t\t\"ru-RU\",\n\t\t\"sk-SK\",\n\t\t\"sv-SE\",\n\t\t\"zh-Hans\",\n\t\t\"zh-Hant\"\n\t],\n\t\"build\": {\n\t\t\"index\": [\n\t\t\t\"--savetiddlers\",\"[tag[external-image]]\",\"images\",\n\t\t\t\"--setfield\",\"[tag[external-image]]\",\"_canonical_uri\",\"$:/core/templates/canonical-uri-external-image\",\"text/plain\",\n\t\t\t\"--setfield\",\"[tag[external-image]]\",\"text\",\"\",\"text/plain\",\n\t\t\t\"--rendertiddler\",\"$:/core/save/all\",\"index.html\",\"text/plain\"],\n\t\t\"build-readme\": [\n\t\t\t\"--rendertiddler\",\"ReadMe for build.jermolene.github.io\",\"readme.md\",\"text/html\"],\n\t\t\"favicon\": [\n\t\t\t\"--savetiddler\",\"$:/favicon.ico\",\"favicon.ico\"],\n\t\t\"static\": [\n\t\t\t\"--rendertiddler\",\"$:/core/templates/static.template.html\",\"static.html\",\"text/plain\",\n\t\t\t\"--rendertiddler\",\"$:/core/templates/alltiddlers.template.html\",\"alltiddlers.html\",\"text/plain\",\n\t\t\t\"--rendertiddlers\",\"[!is[system]]\",\"$:/core/templates/static.tiddler.html\",\"static\",\"text/plain\",\n\t\t\t\"--rendertiddler\",\"$:/core/templates/static.template.css\",\"static/static.css\",\"text/plain\"]\n\t},\n\t\"config\": {\n\t\t\"retain-original-tiddler-path\": true\n\t}\n}\n"
  },
  {
    "path": "editions/dynaviewdemo/tiddlers/$__coreURL.tid",
    "content": "title: $:/coreURL\ntags: $:/tags/Global\n\n\\function coreURL() [[../../../tiddlywikicore-$(version)$.js]substitute[]]\n"
  },
  {
    "path": "editions/dynaviewdemo/tiddlers/AnimationDuration.tid",
    "content": "title: $:/config/AnimationDuration\ntext: 0\n"
  },
  {
    "path": "editions/dynaviewdemo/tiddlers/DefaultTiddlers.tid",
    "content": "title: $:/DefaultTiddlers\n\nHelloThere\n$:/plugins/tiddlywiki/dynaview\n[list[Alice in Wonderland:]]"
  },
  {
    "path": "editions/dynaviewdemo/tiddlers/HelloThere.tid",
    "content": "title: HelloThere\n\nThis edition demonstrates some of the capabilities of the ~DynaView plugin. See the [[plugin tiddler|$:/plugins/tiddlywiki/dynaview]] below for the plugin documentation and some simple examples.\n\nThis wiki demonstrates how to use DynaView's dynamic rendering features to customise the story river such that tiddlers are only rendered when they are scrolled into view.\n\nThe following customisations are made:\n\n! $:/core/ui/ViewTemplate\n\n<<compareTiddlerText sourceTiddlerTitle:\"$:/core\" sourceSubTiddlerTitle:\"$:/core/ui/ViewTemplate\" destTiddlerTitle:\"$:/core/ui/ViewTemplate\">>\n"
  },
  {
    "path": "editions/dynaviewdemo/tiddlers/PerformanceInstrumentation.tid",
    "content": "title: $:/config/Performance/Instrumentation\ntext: yes\n"
  },
  {
    "path": "editions/dynaviewdemo/tiddlers/PreserveScrollPosition.tid",
    "content": "title: $:/config/DynaView/PreserveScrollPosition\ntext: yes\n"
  },
  {
    "path": "editions/dynaviewdemo/tiddlers/RestoreScrollPositionAtStartup.tid",
    "content": "title: $:/config/DynaView/RestoreScrollPositionAtStartup\ntext: yes\n"
  },
  {
    "path": "editions/dynaviewdemo/tiddlers/SideBar-Open.tid",
    "content": "title: $:/core/ui/SideBar/Open\ntags: $:/tags/SideBar\ncaption: {{$:/language/SideBar/Open/Caption}}\n\n\\define lingo-base() $:/language/CloseAll/\n\n\\define drop-actions()\n<$action-listops $tiddler=\"$:/StoryList\" $subfilter=\"+[insertbefore<actionTiddler>,<currentTiddler>]\"/>\n\\end\n\n<$list filter=\"[list[$:/StoryList]]\" history=\"$:/HistoryList\" storyview=\"pop\">\n<div style=\"position: relative;\">\n<$droppable actions=<<drop-actions>>>\n<div class=\"tc-droppable-placeholder\">\n&nbsp;\n</div>\n<div>\n<$button message=\"tm-close-tiddler\" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class=\"tc-btn-invisible tc-btn-mini\">&times;</$button> <$link to={{!!title}}><$view field=\"title\"/></$link>\n\n<$set name=\"state\" value={{{ [[$:/state/viewtemplate/visibility/]addsuffix<currentTiddler>] }}}>\n<$reveal type=\"match\" stateTitle=<<state>> text=\"0\">\n<span style=\"display: inline-block; background: red; color: white; padding: 2px; border-radius: 2px;font-size: 0.5em;line-height: 1;text-shadow: none;font-weight: bold;vertical-align: middle;\">OUT OF VIEW</span>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<state>> text=\"1\">\n<span style=\"display: inline-block; background: green; color: white; padding: 2px; border-radius: 2px;font-size: 0.5em;line-height: 1;text-shadow: none;font-weight: bold;vertical-align: middle;\">NEAR</span>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<state>> text=\"2\">\n<span style=\"display: inline-block; background: purple; color: white; padding: 2px; border-radius: 2px;font-size: 0.5em;line-height: 1;text-shadow: none;font-weight: bold;vertical-align: middle;\">VISIBLE</span>\n</$reveal>\n</$set>\n</div>\n</$droppable>\n</div>\n</$list>\n<$tiddler tiddler=\"\">\n<$droppable actions=<<drop-actions>>>\n<div class=\"tc-droppable-placeholder\">\n&nbsp;\n</div>\n<$button message=\"tm-close-all-tiddlers\" class=\"tc-btn-invisible tc-btn-mini\"><<lingo Button>></$button>\n</$droppable>\n</$tiddler>\n"
  },
  {
    "path": "editions/dynaviewdemo/tiddlers/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\na demo of the ~DynaView plugin for TiddlyWiki5"
  },
  {
    "path": "editions/dynaviewdemo/tiddlers/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\n~DynaView Demo"
  },
  {
    "path": "editions/dynaviewdemo/tiddlers/TableOfContents.tid",
    "content": "title: $:/_Sidebar/TableOfContents\ntags: $:/tags/SideBar\ncaption: Contents\n\n\\define toc-body(tag,sort:\"\",exclude,path)\n<ol class=\"tc-toc\">\n  <$list filter=\"\"\"[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[enlist<__exclude__>]\"\"\">\n    <$vars item=<<currentTiddler>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}} excluded=\"\"\"[enlist<__exclude__>] -[<__tag__>]\"\"\">\n      <li>\n        <$link to={{{ [enlist{!!story-tiddlers}] }}}>\n\t\t\t\t\t<$list filter=\"[enlist{!!story-tiddlers}addprefix[$:/state/viewtemplate/visibility/]text[2]limit[1]]\" variable=\"listItem\" emptyMessage=\"\"\"<div style=\"display:inline-block;width:4px;height:1em;background-color:transparent;\"></div>\"\"\">\n\t\t\t\t\t\t<div style=\"display:inline-block;width:4px;height:1em;background-color:red;\"></div>\n\t\t\t\t\t</$list>\n          <$view field='caption'>\n\t          <$view field='title'/>\n          </$view>\n        </$link>\n        <$macrocall $name=\"toc-body\" tag=<<item>> sort=<<__sort__>> exclude=<<excluded>> path=<<path>>/>\n      </li>\n    </$vars>\n  </$list>\n</ol>\n\\end\n\n\\define toc(tag,sort:\"\")\n<$macrocall $name=\"toc-body\"  tag=<<__tag__>> sort=<<__sort__>> />\n\\end\n\n<div class='tc-table-of-contents'>\n\n<<toc \"TableOfContents\">>\n\n</div>\n"
  },
  {
    "path": "editions/dynaviewdemo/tiddlers/ViewTemplate.tid",
    "content": "title: $:/core/ui/ViewTemplate\n\n\\whitespace trim\n\\define folded-state()\n$:/state/folded/$(currentTiddler)$\n\\end\n\\define cancel-delete-tiddler-actions(message) <$action-sendmessage $message=\"tm-$message$-tiddler\"/>\n\\import [all[shadows+tiddlers]tag[$:/tags/Macro/View]!is[draft]] [all[shadows+tiddlers]tag[$:/tags/Global/View]!is[draft]]\n<$vars storyTiddler=<<currentTiddler>> tiddlerInfoState=<<qualify \"$:/state/popup/tiddler-info\">>>\n<div data-tiddler-title=<<currentTiddler>> data-tags={{!!tags}} class={{{ tc-tiddler-frame tc-tiddler-view-frame [<currentTiddler>is[tiddler]then[tc-tiddler-exists]] [<currentTiddler>is[missing]!is[shadow]then[tc-tiddler-missing]] [<currentTiddler>is[shadow]then[tc-tiddler-exists tc-tiddler-shadow]] [<currentTiddler>is[shadow]is[tiddler]then[tc-tiddler-overridden-shadow]] [<currentTiddler>is[system]then[tc-tiddler-system]] [{!!class}] [<currentTiddler>tags[]encodeuricomponent[]addprefix[tc-tagged-]] +[join[ ]] }}}>\n<$set name=\"state\" value={{{ [[$:/state/viewtemplate/visibility/]addsuffix<currentTiddler>] }}}>\n<$reveal stateTitle=<<state>> type=\"nomatch\" text=\"\" default=\"\" tag=\"div\">\n<div class=\"tc-dynaview-track-tiddler-when-visible\" data-dynaview-track-tiddler=<<state>>>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewTemplate]!has[draft.of]]\" variable=\"listItem\">\n<$transclude tiddler=<<listItem>>/>\n</$list>\n</div>\n</$reveal>\n<$reveal stateTitle=<<state>> type=\"match\" text=\"\" default=\"\" tag=\"div\">\n<div class=\"tc-dynaview-track-tiddler-when-visible\" style=\"min-height: 5em;\" data-dynaview-track-tiddler=<<state>>>\n</div>\n</$reveal>\n</$set>\n</div>\n</$vars>\n"
  },
  {
    "path": "editions/dynaviewdemo/tiddlers/alice/Alice TableOfContents.json",
    "content": "[\n{\"title\": \"TableOfContents\", \"text\": \"\", \"list\": \"[[Chapter 1]] [[Chapter 2]] [[Chapter 3]] [[Chapter 4]] [[Chapter 5]] [[Chapter 6]] [[Chapter 7]] [[Chapter 8]] [[Chapter 9]] [[Chapter 10]] [[Chapter 11]] [[Chapter 12]]\"},\n{\"title\": \"Chapter 1\", \"story-tiddlers\": \"[[Alice in Wonderland:-anchor-]] [[Alice in Wonderland:-paragraph-1]] [[Alice in Wonderland:-paragraph-2]] [[Alice in Wonderland:-paragraph-3]] [[Alice in Wonderland:-paragraph-4]] [[Alice in Wonderland:-paragraph-5]] [[Alice in Wonderland:-paragraph-6]] [[Alice in Wonderland:-paragraph-7]] [[Alice in Wonderland:-paragraph-8]] [[Alice in Wonderland:-paragraph-9]] [[Alice in Wonderland:-paragraph-10]] [[Alice in Wonderland:-paragraph-11]] [[Alice in Wonderland:-paragraph-12]] [[Alice in Wonderland:-paragraph-13]] [[Alice in Wonderland:-paragraph-14]] [[Alice in Wonderland:-paragraph-15]] [[Alice in Wonderland:-paragraph-16]] [[Alice in Wonderland:-paragraph-17]] [[Alice in Wonderland:-paragraph-18]] [[Alice in Wonderland:-paragraph-19]] [[Alice in Wonderland:-paragraph-20]] [[Alice in Wonderland:-paragraph-21]] [[Alice in Wonderland:-paragraph-22]] [[Alice in Wonderland:-paragraph-23]] [[Alice in Wonderland:-paragraph-24]] [[Alice in Wonderland:-paragraph-25]] [[Alice in Wonderland:-paragraph-26]] [[Alice in Wonderland:-paragraph-27]]\", \"tags\": \"TableOfContents\", \"text\": \"\"},\n{\"title\": \"Chapter 2\", \"story-tiddlers\": \"[[Alice in Wonderland:-paragraph-28]] [[Alice in Wonderland:-paragraph-29]] [[Alice in Wonderland:-paragraph-30]] [[Alice in Wonderland:-paragraph-31]] [[Alice in Wonderland:-paragraph-32]] [[Alice in Wonderland:-paragraph-33]] [[Alice in Wonderland:-paragraph-34]] [[Alice in Wonderland:-paragraph-35]] [[Alice in Wonderland:-paragraph-36]] [[Alice in Wonderland:-paragraph-37]] [[Alice in Wonderland:-paragraph-38]] [[Alice in Wonderland:-paragraph-39]] [[Alice in Wonderland:-paragraph-40]] [[Alice in Wonderland:-paragraph-41]] [[Alice in Wonderland:-paragraph-42]] [[Alice in Wonderland:-paragraph-43]] [[Alice in Wonderland:-paragraph-44]] [[Alice in Wonderland:-paragraph-45]] [[Alice in Wonderland:-paragraph-46]] [[Alice in Wonderland:-paragraph-47]] [[Alice in Wonderland:-paragraph-48]] [[Alice in Wonderland:-paragraph-49]] [[Alice in Wonderland:-paragraph-50]] [[Alice in Wonderland:-paragraph-51]] [[Alice in Wonderland:-paragraph-52]] [[Alice in Wonderland:-paragraph-53]] [[Alice in Wonderland:-paragraph-54]]\", \"tags\": \"TableOfContents\", \"text\": \"\"},\n{\"title\": \"Chapter 3\", \"story-tiddlers\": \"[[Alice in Wonderland:-paragraph-55]] [[Alice in Wonderland:-paragraph-56]] [[Alice in Wonderland:-paragraph-57]] [[Alice in Wonderland:-paragraph-58]] [[Alice in Wonderland:-paragraph-59]] [[Alice in Wonderland:-paragraph-60]] [[Alice in Wonderland:-paragraph-61]] [[Alice in Wonderland:-paragraph-62]] [[Alice in Wonderland:-paragraph-63]] [[Alice in Wonderland:-paragraph-64]] [[Alice in Wonderland:-paragraph-65]] [[Alice in Wonderland:-paragraph-66]] [[Alice in Wonderland:-paragraph-67]] [[Alice in Wonderland:-paragraph-68]] [[Alice in Wonderland:-paragraph-69]] [[Alice in Wonderland:-paragraph-70]] [[Alice in Wonderland:-paragraph-71]] [[Alice in Wonderland:-paragraph-72]] [[Alice in Wonderland:-paragraph-73]] [[Alice in Wonderland:-paragraph-74]] [[Alice in Wonderland:-paragraph-75]] [[Alice in Wonderland:-paragraph-76]] [[Alice in Wonderland:-paragraph-77]] [[Alice in Wonderland:-paragraph-78]] [[Alice in Wonderland:-paragraph-79]] [[Alice in Wonderland:-paragraph-80]] [[Alice in Wonderland:-paragraph-81]] [[Alice in Wonderland:-paragraph-82]] [[Alice in Wonderland:-paragraph-83]] [[Alice in Wonderland:-paragraph-84]] [[Alice in Wonderland:-paragraph-85]] [[Alice in Wonderland:-paragraph-86]] [[Alice in Wonderland:-paragraph-87]] [[Alice in Wonderland:-paragraph-88]] [[Alice in Wonderland:-paragraph-89]] [[Alice in Wonderland:-paragraph-90]] [[Alice in Wonderland:-paragraph-91]] [[Alice in Wonderland:-paragraph-92]] [[Alice in Wonderland:-paragraph-93]] [[Alice in Wonderland:-paragraph-94]] [[Alice in Wonderland:-paragraph-95]] [[Alice in Wonderland:-paragraph-96]] [[Alice in Wonderland:-paragraph-97]] [[Alice in Wonderland:-paragraph-98]] [[Alice in Wonderland:-paragraph-99]] [[Alice in Wonderland:-paragraph-100]] [[Alice in Wonderland:-paragraph-101]] [[Alice in Wonderland:-paragraph-102]] [[Alice in Wonderland:-paragraph-103]]\", \"tags\": \"TableOfContents\", \"text\": \"\"},\n{\"title\": \"Chapter 4\", \"story-tiddlers\": \"[[Alice in Wonderland:-paragraph-104]] [[Alice in Wonderland:-paragraph-105]] [[Alice in Wonderland:-paragraph-106]] [[Alice in Wonderland:-paragraph-107]] [[Alice in Wonderland:-paragraph-108]] [[Alice in Wonderland:-paragraph-109]] [[Alice in Wonderland:-paragraph-110]] [[Alice in Wonderland:-paragraph-111]] [[Alice in Wonderland:-paragraph-112]] [[Alice in Wonderland:-paragraph-113]] [[Alice in Wonderland:-paragraph-114]] [[Alice in Wonderland:-paragraph-115]] [[Alice in Wonderland:-paragraph-116]] [[Alice in Wonderland:-paragraph-117]] [[Alice in Wonderland:-paragraph-118]] [[Alice in Wonderland:-paragraph-119]] [[Alice in Wonderland:-paragraph-120]] [[Alice in Wonderland:-paragraph-121]] [[Alice in Wonderland:-paragraph-122]] [[Alice in Wonderland:-paragraph-123]] [[Alice in Wonderland:-paragraph-124]] [[Alice in Wonderland:-paragraph-125]] [[Alice in Wonderland:-paragraph-126]] [[Alice in Wonderland:-paragraph-127]] [[Alice in Wonderland:-paragraph-128]] [[Alice in Wonderland:-paragraph-129]] [[Alice in Wonderland:-paragraph-130]] [[Alice in Wonderland:-paragraph-131]] [[Alice in Wonderland:-paragraph-132]] [[Alice in Wonderland:-paragraph-133]] [[Alice in Wonderland:-paragraph-134]] [[Alice in Wonderland:-paragraph-135]] [[Alice in Wonderland:-paragraph-136]] [[Alice in Wonderland:-paragraph-137]] [[Alice in Wonderland:-paragraph-138]] [[Alice in Wonderland:-paragraph-139]] [[Alice in Wonderland:-paragraph-140]] [[Alice in Wonderland:-paragraph-141]] [[Alice in Wonderland:-paragraph-142]] [[Alice in Wonderland:-paragraph-143]] [[Alice in Wonderland:-paragraph-144]] [[Alice in Wonderland:-paragraph-145]] [[Alice in Wonderland:-paragraph-146]]\", \"tags\": \"TableOfContents\", \"text\": \"\"},\n{\"title\": \"Chapter 5\", \"story-tiddlers\": \"[[Alice in Wonderland:-paragraph-147]] [[Alice in Wonderland:-paragraph-148]] [[Alice in Wonderland:-paragraph-149]] [[Alice in Wonderland:-paragraph-150]] [[Alice in Wonderland:-paragraph-151]] [[Alice in Wonderland:-paragraph-152]] [[Alice in Wonderland:-paragraph-153]] [[Alice in Wonderland:-paragraph-154]] [[Alice in Wonderland:-paragraph-155]] [[Alice in Wonderland:-paragraph-156]] [[Alice in Wonderland:-paragraph-157]] [[Alice in Wonderland:-paragraph-158]] [[Alice in Wonderland:-paragraph-159]] [[Alice in Wonderland:-paragraph-160]] [[Alice in Wonderland:-paragraph-161]] [[Alice in Wonderland:-paragraph-162]] [[Alice in Wonderland:-paragraph-163]] [[Alice in Wonderland:-paragraph-164]] [[Alice in Wonderland:-paragraph-165]] [[Alice in Wonderland:-paragraph-166]] [[Alice in Wonderland:-paragraph-167]] [[Alice in Wonderland:-paragraph-168]] [[Alice in Wonderland:-paragraph-169]] [[Alice in Wonderland:-paragraph-170]] [[Alice in Wonderland:-paragraph-171]] [[Alice in Wonderland:-paragraph-172]] [[Alice in Wonderland:-paragraph-173]] [[Alice in Wonderland:-paragraph-174]] [[Alice in Wonderland:-paragraph-175]] [[Alice in Wonderland:-paragraph-176]] [[Alice in Wonderland:-paragraph-177]] [[Alice in Wonderland:-paragraph-178]] [[Alice in Wonderland:-paragraph-179]] [[Alice in Wonderland:-paragraph-180]] [[Alice in Wonderland:-paragraph-181]] [[Alice in Wonderland:-paragraph-182]] [[Alice in Wonderland:-paragraph-183]] [[Alice in Wonderland:-paragraph-184]] [[Alice in Wonderland:-paragraph-185]] [[Alice in Wonderland:-paragraph-186]] [[Alice in Wonderland:-paragraph-187]] [[Alice in Wonderland:-paragraph-188]] [[Alice in Wonderland:-paragraph-189]] [[Alice in Wonderland:-paragraph-190]] [[Alice in Wonderland:-paragraph-191]] [[Alice in Wonderland:-paragraph-192]] [[Alice in Wonderland:-paragraph-193]] [[Alice in Wonderland:-paragraph-194]] [[Alice in Wonderland:-paragraph-195]] [[Alice in Wonderland:-paragraph-196]] [[Alice in Wonderland:-paragraph-197]] [[Alice in Wonderland:-paragraph-198]] [[Alice in Wonderland:-paragraph-199]] [[Alice in Wonderland:-paragraph-200]] [[Alice in Wonderland:-paragraph-201]] [[Alice in Wonderland:-paragraph-202]] [[Alice in Wonderland:-paragraph-203]] [[Alice in Wonderland:-paragraph-204]] [[Alice in Wonderland:-paragraph-205]] [[Alice in Wonderland:-paragraph-206]] [[Alice in Wonderland:-paragraph-207]] [[Alice in Wonderland:-paragraph-208]] [[Alice in Wonderland:-paragraph-209]] [[Alice in Wonderland:-paragraph-210]] [[Alice in Wonderland:-paragraph-211]] [[Alice in Wonderland:-paragraph-212]] [[Alice in Wonderland:-paragraph-213]] [[Alice in Wonderland:-paragraph-214]] [[Alice in Wonderland:-paragraph-215]] [[Alice in Wonderland:-paragraph-216]] [[Alice in Wonderland:-paragraph-217]] [[Alice in Wonderland:-paragraph-218]] [[Alice in Wonderland:-paragraph-219]] [[Alice in Wonderland:-paragraph-220]] [[Alice in Wonderland:-paragraph-221]] [[Alice in Wonderland:-paragraph-222]] [[Alice in Wonderland:-paragraph-223]]\", \"tags\": \"TableOfContents\", \"text\": \"\"},\n{\"title\": \"Chapter 6\", \"story-tiddlers\": \"[[Alice in Wonderland:-paragraph-224]] [[Alice in Wonderland:-paragraph-225]] [[Alice in Wonderland:-paragraph-226]] [[Alice in Wonderland:-paragraph-227]] [[Alice in Wonderland:-paragraph-228]] [[Alice in Wonderland:-paragraph-229]] [[Alice in Wonderland:-paragraph-230]] [[Alice in Wonderland:-paragraph-231]] [[Alice in Wonderland:-paragraph-232]] [[Alice in Wonderland:-paragraph-233]] [[Alice in Wonderland:-paragraph-234]] [[Alice in Wonderland:-paragraph-235]] [[Alice in Wonderland:-paragraph-236]] [[Alice in Wonderland:-paragraph-237]] [[Alice in Wonderland:-paragraph-238]] [[Alice in Wonderland:-paragraph-239]] [[Alice in Wonderland:-paragraph-240]] [[Alice in Wonderland:-paragraph-241]] [[Alice in Wonderland:-paragraph-242]] [[Alice in Wonderland:-paragraph-243]] [[Alice in Wonderland:-paragraph-244]] [[Alice in Wonderland:-paragraph-245]] [[Alice in Wonderland:-paragraph-246]] [[Alice in Wonderland:-paragraph-247]] [[Alice in Wonderland:-paragraph-248]] [[Alice in Wonderland:-paragraph-249]] [[Alice in Wonderland:-paragraph-250]] [[Alice in Wonderland:-paragraph-251]] [[Alice in Wonderland:-paragraph-252]] [[Alice in Wonderland:-paragraph-253]] [[Alice in Wonderland:-paragraph-254]] [[Alice in Wonderland:-paragraph-255]] [[Alice in Wonderland:-paragraph-256]] [[Alice in Wonderland:-paragraph-257]] [[Alice in Wonderland:-paragraph-258]] [[Alice in Wonderland:-paragraph-259]] [[Alice in Wonderland:-paragraph-260]] [[Alice in Wonderland:-paragraph-261]] [[Alice in Wonderland:-paragraph-262]] [[Alice in Wonderland:-paragraph-263]] [[Alice in Wonderland:-paragraph-264]] [[Alice in Wonderland:-paragraph-265]] [[Alice in Wonderland:-paragraph-266]] [[Alice in Wonderland:-paragraph-267]] [[Alice in Wonderland:-paragraph-268]] [[Alice in Wonderland:-paragraph-269]] [[Alice in Wonderland:-paragraph-270]] [[Alice in Wonderland:-paragraph-271]] [[Alice in Wonderland:-paragraph-272]] [[Alice in Wonderland:-paragraph-273]] [[Alice in Wonderland:-paragraph-274]] [[Alice in Wonderland:-paragraph-275]] [[Alice in Wonderland:-paragraph-276]] [[Alice in Wonderland:-paragraph-277]] [[Alice in Wonderland:-paragraph-278]] [[Alice in Wonderland:-paragraph-279]] [[Alice in Wonderland:-paragraph-280]] [[Alice in Wonderland:-paragraph-281]] [[Alice in Wonderland:-paragraph-282]] [[Alice in Wonderland:-paragraph-283]] [[Alice in Wonderland:-paragraph-284]] [[Alice in Wonderland:-paragraph-285]] [[Alice in Wonderland:-paragraph-286]] [[Alice in Wonderland:-paragraph-287]] [[Alice in Wonderland:-paragraph-288]] [[Alice in Wonderland:-paragraph-289]] [[Alice in Wonderland:-paragraph-290]] [[Alice in Wonderland:-paragraph-291]] [[Alice in Wonderland:-paragraph-292]] [[Alice in Wonderland:-paragraph-293]] [[Alice in Wonderland:-paragraph-294]] [[Alice in Wonderland:-paragraph-295]] [[Alice in Wonderland:-paragraph-296]] [[Alice in Wonderland:-paragraph-297]] [[Alice in Wonderland:-paragraph-298]] [[Alice in Wonderland:-paragraph-299]] [[Alice in Wonderland:-paragraph-300]] [[Alice in Wonderland:-paragraph-301]] [[Alice in Wonderland:-paragraph-302]] [[Alice in Wonderland:-paragraph-303]] [[Alice in Wonderland:-paragraph-304]] [[Alice in Wonderland:-paragraph-305]]\", \"tags\": \"TableOfContents\", \"text\": \"\"},\n{\"title\": \"Chapter 7\", \"story-tiddlers\": \"[[Alice in Wonderland:-paragraph-306]] [[Alice in Wonderland:-paragraph-307]] [[Alice in Wonderland:-paragraph-308]] [[Alice in Wonderland:-paragraph-309]] [[Alice in Wonderland:-paragraph-310]] [[Alice in Wonderland:-paragraph-311]] [[Alice in Wonderland:-paragraph-312]] [[Alice in Wonderland:-paragraph-313]] [[Alice in Wonderland:-paragraph-314]] [[Alice in Wonderland:-paragraph-315]] [[Alice in Wonderland:-paragraph-316]] [[Alice in Wonderland:-paragraph-317]] [[Alice in Wonderland:-paragraph-318]] [[Alice in Wonderland:-paragraph-319]] [[Alice in Wonderland:-paragraph-320]] [[Alice in Wonderland:-paragraph-321]] [[Alice in Wonderland:-paragraph-322]] [[Alice in Wonderland:-paragraph-323]] [[Alice in Wonderland:-paragraph-324]] [[Alice in Wonderland:-paragraph-325]] [[Alice in Wonderland:-paragraph-326]] [[Alice in Wonderland:-paragraph-327]] [[Alice in Wonderland:-paragraph-328]] [[Alice in Wonderland:-paragraph-329]] [[Alice in Wonderland:-paragraph-330]] [[Alice in Wonderland:-paragraph-331]] [[Alice in Wonderland:-paragraph-332]] [[Alice in Wonderland:-paragraph-333]] [[Alice in Wonderland:-paragraph-334]] [[Alice in Wonderland:-paragraph-335]] [[Alice in Wonderland:-paragraph-336]] [[Alice in Wonderland:-paragraph-337]] [[Alice in Wonderland:-paragraph-338]] [[Alice in Wonderland:-paragraph-339]] [[Alice in Wonderland:-paragraph-340]] [[Alice in Wonderland:-paragraph-341]] [[Alice in Wonderland:-paragraph-342]] [[Alice in Wonderland:-paragraph-343]] [[Alice in Wonderland:-paragraph-344]] [[Alice in Wonderland:-paragraph-345]] [[Alice in Wonderland:-paragraph-346]] [[Alice in Wonderland:-paragraph-347]] [[Alice in Wonderland:-paragraph-348]] [[Alice in Wonderland:-paragraph-349]] [[Alice in Wonderland:-paragraph-350]] [[Alice in Wonderland:-paragraph-351]] [[Alice in Wonderland:-paragraph-352]] [[Alice in Wonderland:-paragraph-353]] [[Alice in Wonderland:-paragraph-354]] [[Alice in Wonderland:-paragraph-355]] [[Alice in Wonderland:-paragraph-356]] [[Alice in Wonderland:-paragraph-357]] [[Alice in Wonderland:-paragraph-358]] [[Alice in Wonderland:-paragraph-359]] [[Alice in Wonderland:-paragraph-360]] [[Alice in Wonderland:-paragraph-361]] [[Alice in Wonderland:-paragraph-362]] [[Alice in Wonderland:-paragraph-363]] [[Alice in Wonderland:-paragraph-364]] [[Alice in Wonderland:-paragraph-365]] [[Alice in Wonderland:-paragraph-366]] [[Alice in Wonderland:-paragraph-367]] [[Alice in Wonderland:-paragraph-368]] [[Alice in Wonderland:-paragraph-369]] [[Alice in Wonderland:-paragraph-370]] [[Alice in Wonderland:-paragraph-371]] [[Alice in Wonderland:-paragraph-372]] [[Alice in Wonderland:-paragraph-373]] [[Alice in Wonderland:-paragraph-374]] [[Alice in Wonderland:-paragraph-375]] [[Alice in Wonderland:-paragraph-376]] [[Alice in Wonderland:-paragraph-377]] [[Alice in Wonderland:-paragraph-378]] [[Alice in Wonderland:-paragraph-379]] [[Alice in Wonderland:-paragraph-380]] [[Alice in Wonderland:-paragraph-381]] [[Alice in Wonderland:-paragraph-382]] [[Alice in Wonderland:-paragraph-383]] [[Alice in Wonderland:-paragraph-384]] [[Alice in Wonderland:-paragraph-385]] [[Alice in Wonderland:-paragraph-386]] [[Alice in Wonderland:-paragraph-387]] [[Alice in Wonderland:-paragraph-388]] [[Alice in Wonderland:-paragraph-389]] [[Alice in Wonderland:-paragraph-390]] [[Alice in Wonderland:-paragraph-391]] [[Alice in Wonderland:-paragraph-392]] [[Alice in Wonderland:-paragraph-393]] [[Alice in Wonderland:-paragraph-394]] [[Alice in Wonderland:-paragraph-395]] [[Alice in Wonderland:-paragraph-396]] [[Alice in Wonderland:-paragraph-397]] [[Alice in Wonderland:-paragraph-398]] [[Alice in Wonderland:-paragraph-399]] [[Alice in Wonderland:-paragraph-400]] [[Alice in Wonderland:-paragraph-401]] [[Alice in Wonderland:-paragraph-402]] [[Alice in Wonderland:-paragraph-403]] [[Alice in Wonderland:-paragraph-404]] [[Alice in Wonderland:-paragraph-405]] [[Alice in Wonderland:-paragraph-406]] [[Alice in Wonderland:-paragraph-407]] [[Alice in Wonderland:-paragraph-408]] [[Alice in Wonderland:-paragraph-409]] [[Alice in Wonderland:-paragraph-410]] [[Alice in Wonderland:-paragraph-411]]\", \"tags\": \"TableOfContents\", \"text\": \"\"},\n{\"title\": \"Chapter 8\", \"story-tiddlers\": \"[[Alice in Wonderland:-paragraph-412]] [[Alice in Wonderland:-paragraph-413]] [[Alice in Wonderland:-paragraph-414]] [[Alice in Wonderland:-paragraph-415]] [[Alice in Wonderland:-paragraph-416]] [[Alice in Wonderland:-paragraph-417]] [[Alice in Wonderland:-paragraph-418]] [[Alice in Wonderland:-paragraph-419]] [[Alice in Wonderland:-paragraph-420]] [[Alice in Wonderland:-paragraph-421]] [[Alice in Wonderland:-paragraph-422]] [[Alice in Wonderland:-paragraph-423]] [[Alice in Wonderland:-paragraph-424]] [[Alice in Wonderland:-paragraph-425]] [[Alice in Wonderland:-paragraph-426]] [[Alice in Wonderland:-paragraph-427]] [[Alice in Wonderland:-paragraph-428]] [[Alice in Wonderland:-paragraph-429]] [[Alice in Wonderland:-paragraph-430]] [[Alice in Wonderland:-paragraph-431]] [[Alice in Wonderland:-paragraph-432]] [[Alice in Wonderland:-paragraph-433]] [[Alice in Wonderland:-paragraph-434]] [[Alice in Wonderland:-paragraph-435]] [[Alice in Wonderland:-paragraph-436]] [[Alice in Wonderland:-paragraph-437]] [[Alice in Wonderland:-paragraph-438]] [[Alice in Wonderland:-paragraph-439]] [[Alice in Wonderland:-paragraph-440]] [[Alice in Wonderland:-paragraph-441]] [[Alice in Wonderland:-paragraph-442]] [[Alice in Wonderland:-paragraph-443]] [[Alice in Wonderland:-paragraph-444]] [[Alice in Wonderland:-paragraph-445]] [[Alice in Wonderland:-paragraph-446]] [[Alice in Wonderland:-paragraph-447]] [[Alice in Wonderland:-paragraph-448]] [[Alice in Wonderland:-paragraph-449]] [[Alice in Wonderland:-paragraph-450]] [[Alice in Wonderland:-paragraph-451]] [[Alice in Wonderland:-paragraph-452]] [[Alice in Wonderland:-paragraph-453]] [[Alice in Wonderland:-paragraph-454]] [[Alice in Wonderland:-paragraph-455]] [[Alice in Wonderland:-paragraph-456]] [[Alice in Wonderland:-paragraph-457]] [[Alice in Wonderland:-paragraph-458]] [[Alice in Wonderland:-paragraph-459]] [[Alice in Wonderland:-paragraph-460]] [[Alice in Wonderland:-paragraph-461]] [[Alice in Wonderland:-paragraph-462]] [[Alice in Wonderland:-paragraph-463]] [[Alice in Wonderland:-paragraph-464]] [[Alice in Wonderland:-paragraph-465]] [[Alice in Wonderland:-paragraph-466]] [[Alice in Wonderland:-paragraph-467]] [[Alice in Wonderland:-paragraph-468]] [[Alice in Wonderland:-paragraph-469]] [[Alice in Wonderland:-paragraph-470]] [[Alice in Wonderland:-paragraph-471]] [[Alice in Wonderland:-paragraph-472]] [[Alice in Wonderland:-paragraph-473]] [[Alice in Wonderland:-paragraph-474]] [[Alice in Wonderland:-paragraph-475]] [[Alice in Wonderland:-paragraph-476]] [[Alice in Wonderland:-paragraph-477]] [[Alice in Wonderland:-paragraph-478]] [[Alice in Wonderland:-paragraph-479]] [[Alice in Wonderland:-paragraph-480]] [[Alice in Wonderland:-paragraph-481]] [[Alice in Wonderland:-paragraph-482]] [[Alice in Wonderland:-paragraph-483]]\", \"tags\": \"TableOfContents\", \"text\": \"\"},\n{\"title\": \"Chapter 9\", \"story-tiddlers\": \"[[Alice in Wonderland:-paragraph-484]] [[Alice in Wonderland:-paragraph-485]] [[Alice in Wonderland:-paragraph-486]] [[Alice in Wonderland:-paragraph-487]] [[Alice in Wonderland:-paragraph-488]] [[Alice in Wonderland:-paragraph-489]] [[Alice in Wonderland:-paragraph-490]] [[Alice in Wonderland:-paragraph-491]] [[Alice in Wonderland:-paragraph-492]] [[Alice in Wonderland:-paragraph-493]] [[Alice in Wonderland:-paragraph-494]] [[Alice in Wonderland:-paragraph-495]] [[Alice in Wonderland:-paragraph-496]] [[Alice in Wonderland:-paragraph-497]] [[Alice in Wonderland:-paragraph-498]] [[Alice in Wonderland:-paragraph-499]] [[Alice in Wonderland:-paragraph-500]] [[Alice in Wonderland:-paragraph-501]] [[Alice in Wonderland:-paragraph-502]] [[Alice in Wonderland:-paragraph-503]] [[Alice in Wonderland:-paragraph-504]] [[Alice in Wonderland:-paragraph-505]] [[Alice in Wonderland:-paragraph-506]] [[Alice in Wonderland:-paragraph-507]] [[Alice in Wonderland:-paragraph-508]] [[Alice in Wonderland:-paragraph-509]] [[Alice in Wonderland:-paragraph-510]] [[Alice in Wonderland:-paragraph-511]] [[Alice in Wonderland:-paragraph-512]] [[Alice in Wonderland:-paragraph-513]] [[Alice in Wonderland:-paragraph-514]] [[Alice in Wonderland:-paragraph-515]] [[Alice in Wonderland:-paragraph-516]] [[Alice in Wonderland:-paragraph-517]] [[Alice in Wonderland:-paragraph-518]] [[Alice in Wonderland:-paragraph-519]] [[Alice in Wonderland:-paragraph-520]] [[Alice in Wonderland:-paragraph-521]] [[Alice in Wonderland:-paragraph-522]] [[Alice in Wonderland:-paragraph-523]] [[Alice in Wonderland:-paragraph-524]] [[Alice in Wonderland:-paragraph-525]] [[Alice in Wonderland:-paragraph-526]] [[Alice in Wonderland:-paragraph-527]] [[Alice in Wonderland:-paragraph-528]] [[Alice in Wonderland:-paragraph-529]] [[Alice in Wonderland:-paragraph-530]] [[Alice in Wonderland:-paragraph-531]] [[Alice in Wonderland:-paragraph-532]] [[Alice in Wonderland:-paragraph-533]] [[Alice in Wonderland:-paragraph-534]] [[Alice in Wonderland:-paragraph-535]] [[Alice in Wonderland:-paragraph-536]] [[Alice in Wonderland:-paragraph-537]] [[Alice in Wonderland:-paragraph-538]] [[Alice in Wonderland:-paragraph-539]] [[Alice in Wonderland:-paragraph-540]] [[Alice in Wonderland:-paragraph-541]] [[Alice in Wonderland:-paragraph-542]] [[Alice in Wonderland:-paragraph-543]] [[Alice in Wonderland:-paragraph-544]] [[Alice in Wonderland:-paragraph-545]] [[Alice in Wonderland:-paragraph-546]] [[Alice in Wonderland:-paragraph-547]] [[Alice in Wonderland:-paragraph-548]] [[Alice in Wonderland:-paragraph-549]] [[Alice in Wonderland:-paragraph-550]] [[Alice in Wonderland:-paragraph-551]] [[Alice in Wonderland:-paragraph-552]] [[Alice in Wonderland:-paragraph-553]] [[Alice in Wonderland:-paragraph-554]] [[Alice in Wonderland:-paragraph-555]] [[Alice in Wonderland:-paragraph-556]] [[Alice in Wonderland:-paragraph-557]] [[Alice in Wonderland:-paragraph-558]] [[Alice in Wonderland:-paragraph-559]] [[Alice in Wonderland:-paragraph-560]] [[Alice in Wonderland:-paragraph-561]] [[Alice in Wonderland:-paragraph-562]] [[Alice in Wonderland:-paragraph-563]] [[Alice in Wonderland:-paragraph-564]] [[Alice in Wonderland:-paragraph-565]] [[Alice in Wonderland:-paragraph-566]] [[Alice in Wonderland:-paragraph-567]] [[Alice in Wonderland:-paragraph-568]] [[Alice in Wonderland:-paragraph-569]] [[Alice in Wonderland:-paragraph-570]] [[Alice in Wonderland:-paragraph-571]] [[Alice in Wonderland:-paragraph-572]] [[Alice in Wonderland:-paragraph-573]] [[Alice in Wonderland:-paragraph-574]] [[Alice in Wonderland:-paragraph-575]] [[Alice in Wonderland:-paragraph-576]]\", \"tags\": \"TableOfContents\", \"text\": \"\"},\n{\"title\": \"Chapter 10\", \"story-tiddlers\": \"[[Alice in Wonderland:-paragraph-577]] [[Alice in Wonderland:-paragraph-578]] [[Alice in Wonderland:-paragraph-579]] [[Alice in Wonderland:-paragraph-580]] [[Alice in Wonderland:-paragraph-581]] [[Alice in Wonderland:-paragraph-582]] [[Alice in Wonderland:-paragraph-583]] [[Alice in Wonderland:-paragraph-584]] [[Alice in Wonderland:-paragraph-585]] [[Alice in Wonderland:-paragraph-586]] [[Alice in Wonderland:-paragraph-587]] [[Alice in Wonderland:-paragraph-588]] [[Alice in Wonderland:-paragraph-589]] [[Alice in Wonderland:-paragraph-590]] [[Alice in Wonderland:-paragraph-591]] [[Alice in Wonderland:-paragraph-592]] [[Alice in Wonderland:-paragraph-593]] [[Alice in Wonderland:-paragraph-594]] [[Alice in Wonderland:-paragraph-595]] [[Alice in Wonderland:-paragraph-596]] [[Alice in Wonderland:-paragraph-597]] [[Alice in Wonderland:-paragraph-598]] [[Alice in Wonderland:-paragraph-599]] [[Alice in Wonderland:-paragraph-600]] [[Alice in Wonderland:-paragraph-601]] [[Alice in Wonderland:-paragraph-602]] [[Alice in Wonderland:-paragraph-603]] [[Alice in Wonderland:-paragraph-604]] [[Alice in Wonderland:-paragraph-605]] [[Alice in Wonderland:-paragraph-606]] [[Alice in Wonderland:-paragraph-607]] [[Alice in Wonderland:-paragraph-608]] [[Alice in Wonderland:-paragraph-609]] [[Alice in Wonderland:-paragraph-610]] [[Alice in Wonderland:-paragraph-611]] [[Alice in Wonderland:-paragraph-612]] [[Alice in Wonderland:-paragraph-613]] [[Alice in Wonderland:-paragraph-614]] [[Alice in Wonderland:-paragraph-615]] [[Alice in Wonderland:-paragraph-616]] [[Alice in Wonderland:-paragraph-617]] [[Alice in Wonderland:-paragraph-618]] [[Alice in Wonderland:-paragraph-619]] [[Alice in Wonderland:-paragraph-620]] [[Alice in Wonderland:-paragraph-621]] [[Alice in Wonderland:-paragraph-622]] [[Alice in Wonderland:-paragraph-623]] [[Alice in Wonderland:-paragraph-624]] [[Alice in Wonderland:-paragraph-625]] [[Alice in Wonderland:-paragraph-626]] [[Alice in Wonderland:-paragraph-627]] [[Alice in Wonderland:-paragraph-628]] [[Alice in Wonderland:-paragraph-629]] [[Alice in Wonderland:-paragraph-630]] [[Alice in Wonderland:-paragraph-631]] [[Alice in Wonderland:-paragraph-632]] [[Alice in Wonderland:-paragraph-633]] [[Alice in Wonderland:-paragraph-634]] [[Alice in Wonderland:-paragraph-635]] [[Alice in Wonderland:-paragraph-636]] [[Alice in Wonderland:-paragraph-637]] [[Alice in Wonderland:-paragraph-638]] [[Alice in Wonderland:-paragraph-639]] [[Alice in Wonderland:-paragraph-640]] [[Alice in Wonderland:-paragraph-641]] [[Alice in Wonderland:-paragraph-642]] [[Alice in Wonderland:-paragraph-643]] [[Alice in Wonderland:-paragraph-644]] [[Alice in Wonderland:-paragraph-645]] [[Alice in Wonderland:-paragraph-646]] [[Alice in Wonderland:-paragraph-647]] [[Alice in Wonderland:-paragraph-648]] [[Alice in Wonderland:-paragraph-649]] [[Alice in Wonderland:-paragraph-650]] [[Alice in Wonderland:-paragraph-651]] [[Alice in Wonderland:-paragraph-652]] [[Alice in Wonderland:-paragraph-653]] [[Alice in Wonderland:-paragraph-654]] [[Alice in Wonderland:-paragraph-655]] [[Alice in Wonderland:-paragraph-656]] [[Alice in Wonderland:-paragraph-657]] [[Alice in Wonderland:-paragraph-658]] [[Alice in Wonderland:-paragraph-659]] [[Alice in Wonderland:-paragraph-660]] [[Alice in Wonderland:-paragraph-661]] [[Alice in Wonderland:-paragraph-662]]\", \"tags\": \"TableOfContents\", \"text\": \"\"},\n{\"title\": \"Chapter 11\", \"story-tiddlers\": \"[[Alice in Wonderland:-paragraph-663]] [[Alice in Wonderland:-paragraph-664]] [[Alice in Wonderland:-paragraph-665]] [[Alice in Wonderland:-paragraph-666]] [[Alice in Wonderland:-paragraph-667]] [[Alice in Wonderland:-paragraph-668]] [[Alice in Wonderland:-paragraph-669]] [[Alice in Wonderland:-paragraph-670]] [[Alice in Wonderland:-paragraph-671]] [[Alice in Wonderland:-paragraph-672]] [[Alice in Wonderland:-paragraph-673]] [[Alice in Wonderland:-paragraph-674]] [[Alice in Wonderland:-paragraph-675]] [[Alice in Wonderland:-paragraph-676]] [[Alice in Wonderland:-paragraph-677]] [[Alice in Wonderland:-paragraph-678]] [[Alice in Wonderland:-paragraph-679]] [[Alice in Wonderland:-paragraph-680]] [[Alice in Wonderland:-paragraph-681]] [[Alice in Wonderland:-paragraph-682]] [[Alice in Wonderland:-paragraph-683]] [[Alice in Wonderland:-paragraph-684]] [[Alice in Wonderland:-paragraph-685]] [[Alice in Wonderland:-paragraph-686]] [[Alice in Wonderland:-paragraph-687]] [[Alice in Wonderland:-paragraph-688]] [[Alice in Wonderland:-paragraph-689]] [[Alice in Wonderland:-paragraph-690]] [[Alice in Wonderland:-paragraph-691]] [[Alice in Wonderland:-paragraph-692]] [[Alice in Wonderland:-paragraph-693]] [[Alice in Wonderland:-paragraph-694]] [[Alice in Wonderland:-paragraph-695]] [[Alice in Wonderland:-paragraph-696]] [[Alice in Wonderland:-paragraph-697]] [[Alice in Wonderland:-paragraph-698]] [[Alice in Wonderland:-paragraph-699]] [[Alice in Wonderland:-paragraph-700]] [[Alice in Wonderland:-paragraph-701]] [[Alice in Wonderland:-paragraph-702]] [[Alice in Wonderland:-paragraph-703]] [[Alice in Wonderland:-paragraph-704]] [[Alice in Wonderland:-paragraph-705]] [[Alice in Wonderland:-paragraph-706]] [[Alice in Wonderland:-paragraph-707]] [[Alice in Wonderland:-paragraph-708]] [[Alice in Wonderland:-paragraph-709]] [[Alice in Wonderland:-paragraph-710]] [[Alice in Wonderland:-paragraph-711]] [[Alice in Wonderland:-paragraph-712]] [[Alice in Wonderland:-paragraph-713]] [[Alice in Wonderland:-paragraph-714]] [[Alice in Wonderland:-paragraph-715]] [[Alice in Wonderland:-paragraph-716]] [[Alice in Wonderland:-paragraph-717]] [[Alice in Wonderland:-paragraph-718]] [[Alice in Wonderland:-paragraph-719]] [[Alice in Wonderland:-paragraph-720]] [[Alice in Wonderland:-paragraph-721]] [[Alice in Wonderland:-paragraph-722]] [[Alice in Wonderland:-paragraph-723]] [[Alice in Wonderland:-paragraph-724]] [[Alice in Wonderland:-paragraph-725]] [[Alice in Wonderland:-paragraph-726]] [[Alice in Wonderland:-paragraph-727]] [[Alice in Wonderland:-paragraph-728]] [[Alice in Wonderland:-paragraph-729]] [[Alice in Wonderland:-paragraph-730]] [[Alice in Wonderland:-paragraph-731]] [[Alice in Wonderland:-paragraph-732]] [[Alice in Wonderland:-paragraph-733]] [[Alice in Wonderland:-paragraph-734]] [[Alice in Wonderland:-paragraph-735]] [[Alice in Wonderland:-paragraph-736]] [[Alice in Wonderland:-paragraph-737]]\", \"tags\": \"TableOfContents\", \"text\": \"\"},\n{\"title\": \"Chapter 12\", \"story-tiddlers\": \"[[Alice in Wonderland:-paragraph-738]] [[Alice in Wonderland:-paragraph-739]] [[Alice in Wonderland:-paragraph-740]] [[Alice in Wonderland:-paragraph-741]] [[Alice in Wonderland:-paragraph-742]] [[Alice in Wonderland:-paragraph-743]] [[Alice in Wonderland:-paragraph-744]] [[Alice in Wonderland:-paragraph-745]] [[Alice in Wonderland:-paragraph-746]] [[Alice in Wonderland:-paragraph-747]] [[Alice in Wonderland:-paragraph-748]] [[Alice in Wonderland:-paragraph-749]] [[Alice in Wonderland:-paragraph-750]] [[Alice in Wonderland:-paragraph-751]] [[Alice in Wonderland:-paragraph-752]] [[Alice in Wonderland:-paragraph-753]] [[Alice in Wonderland:-paragraph-754]] [[Alice in Wonderland:-paragraph-755]] [[Alice in Wonderland:-paragraph-756]] [[Alice in Wonderland:-paragraph-757]] [[Alice in Wonderland:-paragraph-758]] [[Alice in Wonderland:-paragraph-759]] [[Alice in Wonderland:-paragraph-760]] [[Alice in Wonderland:-paragraph-761]] [[Alice in Wonderland:-paragraph-762]] [[Alice in Wonderland:-paragraph-763]] [[Alice in Wonderland:-paragraph-764]] [[Alice in Wonderland:-paragraph-765]] [[Alice in Wonderland:-paragraph-766]] [[Alice in Wonderland:-paragraph-767]] [[Alice in Wonderland:-paragraph-768]] [[Alice in Wonderland:-paragraph-769]] [[Alice in Wonderland:-paragraph-770]] [[Alice in Wonderland:-paragraph-771]] [[Alice in Wonderland:-paragraph-772]] [[Alice in Wonderland:-paragraph-773]] [[Alice in Wonderland:-paragraph-774]] [[Alice in Wonderland:-paragraph-775]] [[Alice in Wonderland:-paragraph-776]] [[Alice in Wonderland:-paragraph-777]] [[Alice in Wonderland:-paragraph-778]] [[Alice in Wonderland:-paragraph-779]] [[Alice in Wonderland:-paragraph-780]] [[Alice in Wonderland:-paragraph-781]] [[Alice in Wonderland:-paragraph-782]] [[Alice in Wonderland:-paragraph-783]] [[Alice in Wonderland:-paragraph-784]] [[Alice in Wonderland:-paragraph-785]] [[Alice in Wonderland:-paragraph-786]] [[Alice in Wonderland:-paragraph-787]] [[Alice in Wonderland:-paragraph-788]] [[Alice in Wonderland:-paragraph-789]] [[Alice in Wonderland:-paragraph-790]] [[Alice in Wonderland:-paragraph-791]] [[Alice in Wonderland:-paragraph-792]] [[Alice in Wonderland:-paragraph-793]] [[Alice in Wonderland:-paragraph-794]] [[Alice in Wonderland:-paragraph-795]] [[Alice in Wonderland:-paragraph-796]] [[Alice in Wonderland:-paragraph-797]] [[Alice in Wonderland:-paragraph-798]] [[Alice in Wonderland:-paragraph-799]] [[Alice in Wonderland:-paragraph-800]] [[Alice in Wonderland:-paragraph-801]] [[Alice in Wonderland:-paragraph-802]] [[Alice in Wonderland:-paragraph-803]] [[Alice in Wonderland:-paragraph-804]] [[Alice in Wonderland:-paragraph-805]] [[Alice in Wonderland:-paragraph-806]] [[Alice in Wonderland:-paragraph-807]] [[Alice in Wonderland:-paragraph-808]] [[Alice in Wonderland:-paragraph-809]] [[Alice in Wonderland:-paragraph-810]]\", \"tags\": \"TableOfContents\", \"text\": \"\"}\n]\n\n\n\n\n\n\n\n\n\n\n\n\n"
  },
  {
    "path": "editions/dynaviewdemo/tiddlers/alice/Alice in Wonderland (sliced).json",
    "content": "[\n    {\n        \"toc-type\": \"document\",\n        \"title\": \"Alice in Wonderland:\",\n        \"text\": \"<div class='tc-table-of-contents'><<toc-selective-expandable \\\"\\\"\\\"Alice in Wonderland:document\\\"\\\"\\\">></div>\",\n        \"list\": \"[[Alice in Wonderland:-anchor-]] [[Alice in Wonderland:-paragraph-1]] [[Alice in Wonderland:-paragraph-2]] [[Alice in Wonderland:-paragraph-3]] [[Alice in Wonderland:-paragraph-4]] [[Alice in Wonderland:-paragraph-5]] [[Alice in Wonderland:-paragraph-6]] [[Alice in Wonderland:-paragraph-7]] [[Alice in Wonderland:-paragraph-8]] [[Alice in Wonderland:-paragraph-9]] [[Alice in Wonderland:-paragraph-10]] [[Alice in Wonderland:-paragraph-11]] [[Alice in Wonderland:-paragraph-12]] [[Alice in Wonderland:-paragraph-13]] [[Alice in Wonderland:-paragraph-14]] [[Alice in Wonderland:-paragraph-15]] [[Alice in Wonderland:-paragraph-16]] [[Alice in Wonderland:-paragraph-17]] [[Alice in Wonderland:-paragraph-18]] [[Alice in Wonderland:-paragraph-19]] [[Alice in Wonderland:-paragraph-20]] [[Alice in Wonderland:-paragraph-21]] [[Alice in Wonderland:-paragraph-22]] [[Alice in Wonderland:-paragraph-23]] [[Alice in Wonderland:-paragraph-24]] [[Alice in Wonderland:-paragraph-25]] [[Alice in Wonderland:-paragraph-26]] [[Alice in Wonderland:-paragraph-27]] [[Alice in Wonderland:-paragraph-28]] [[Alice in Wonderland:-paragraph-29]] [[Alice in Wonderland:-paragraph-30]] [[Alice in Wonderland:-paragraph-31]] [[Alice in Wonderland:-paragraph-32]] [[Alice in Wonderland:-paragraph-33]] [[Alice in Wonderland:-paragraph-34]] [[Alice in Wonderland:-paragraph-35]] [[Alice in Wonderland:-paragraph-36]] [[Alice in Wonderland:-paragraph-37]] [[Alice in Wonderland:-paragraph-38]] [[Alice in Wonderland:-paragraph-39]] [[Alice in Wonderland:-paragraph-40]] [[Alice in Wonderland:-paragraph-41]] [[Alice in Wonderland:-paragraph-42]] [[Alice in Wonderland:-paragraph-43]] [[Alice in Wonderland:-paragraph-44]] [[Alice in Wonderland:-paragraph-45]] [[Alice in Wonderland:-paragraph-46]] [[Alice in Wonderland:-paragraph-47]] [[Alice in Wonderland:-paragraph-48]] [[Alice in Wonderland:-paragraph-49]] [[Alice in Wonderland:-paragraph-50]] [[Alice in Wonderland:-paragraph-51]] [[Alice in Wonderland:-paragraph-52]] [[Alice in Wonderland:-paragraph-53]] [[Alice in Wonderland:-paragraph-54]] [[Alice in Wonderland:-paragraph-55]] [[Alice in Wonderland:-paragraph-56]] [[Alice in Wonderland:-paragraph-57]] [[Alice in Wonderland:-paragraph-58]] [[Alice in Wonderland:-paragraph-59]] [[Alice in Wonderland:-paragraph-60]] [[Alice in Wonderland:-paragraph-61]] [[Alice in Wonderland:-paragraph-62]] [[Alice in Wonderland:-paragraph-63]] [[Alice in Wonderland:-paragraph-64]] [[Alice in Wonderland:-paragraph-65]] [[Alice in Wonderland:-paragraph-66]] [[Alice in Wonderland:-paragraph-67]] [[Alice in Wonderland:-paragraph-68]] [[Alice in Wonderland:-paragraph-69]] [[Alice in Wonderland:-paragraph-70]] [[Alice in Wonderland:-paragraph-71]] [[Alice in Wonderland:-paragraph-72]] [[Alice in Wonderland:-paragraph-73]] [[Alice in Wonderland:-paragraph-74]] [[Alice in Wonderland:-paragraph-75]] [[Alice in Wonderland:-paragraph-76]] [[Alice in Wonderland:-paragraph-77]] [[Alice in Wonderland:-paragraph-78]] [[Alice in Wonderland:-paragraph-79]] [[Alice in Wonderland:-paragraph-80]] [[Alice in Wonderland:-paragraph-81]] [[Alice in Wonderland:-paragraph-82]] [[Alice in Wonderland:-paragraph-83]] [[Alice in Wonderland:-paragraph-84]] [[Alice in Wonderland:-paragraph-85]] [[Alice in Wonderland:-paragraph-86]] [[Alice in Wonderland:-paragraph-87]] [[Alice in Wonderland:-paragraph-88]] [[Alice in Wonderland:-paragraph-89]] [[Alice in Wonderland:-paragraph-90]] [[Alice in Wonderland:-paragraph-91]] [[Alice in Wonderland:-paragraph-92]] [[Alice in Wonderland:-paragraph-93]] [[Alice in Wonderland:-paragraph-94]] [[Alice in Wonderland:-paragraph-95]] [[Alice in Wonderland:-paragraph-96]] [[Alice in Wonderland:-paragraph-97]] [[Alice in Wonderland:-paragraph-98]] [[Alice in Wonderland:-paragraph-99]] [[Alice in Wonderland:-paragraph-100]] [[Alice in Wonderland:-paragraph-101]] [[Alice in Wonderland:-paragraph-102]] [[Alice in Wonderland:-paragraph-103]] [[Alice in Wonderland:-paragraph-104]] [[Alice in Wonderland:-paragraph-105]] [[Alice in Wonderland:-paragraph-106]] [[Alice in Wonderland:-paragraph-107]] [[Alice in Wonderland:-paragraph-108]] [[Alice in Wonderland:-paragraph-109]] [[Alice in Wonderland:-paragraph-110]] [[Alice in Wonderland:-paragraph-111]] [[Alice in Wonderland:-paragraph-112]] [[Alice in Wonderland:-paragraph-113]] [[Alice in Wonderland:-paragraph-114]] [[Alice in Wonderland:-paragraph-115]] [[Alice in Wonderland:-paragraph-116]] [[Alice in Wonderland:-paragraph-117]] [[Alice in Wonderland:-paragraph-118]] [[Alice in Wonderland:-paragraph-119]] [[Alice in Wonderland:-paragraph-120]] [[Alice in Wonderland:-paragraph-121]] [[Alice in Wonderland:-paragraph-122]] [[Alice in Wonderland:-paragraph-123]] [[Alice in Wonderland:-paragraph-124]] [[Alice in Wonderland:-paragraph-125]] [[Alice in Wonderland:-paragraph-126]] [[Alice in Wonderland:-paragraph-127]] [[Alice in Wonderland:-paragraph-128]] [[Alice in Wonderland:-paragraph-129]] [[Alice in Wonderland:-paragraph-130]] [[Alice in Wonderland:-paragraph-131]] [[Alice in Wonderland:-paragraph-132]] [[Alice in Wonderland:-paragraph-133]] [[Alice in Wonderland:-paragraph-134]] [[Alice in Wonderland:-paragraph-135]] [[Alice in Wonderland:-paragraph-136]] [[Alice in Wonderland:-paragraph-137]] [[Alice in Wonderland:-paragraph-138]] [[Alice in Wonderland:-paragraph-139]] [[Alice in Wonderland:-paragraph-140]] [[Alice in Wonderland:-paragraph-141]] [[Alice in Wonderland:-paragraph-142]] [[Alice in Wonderland:-paragraph-143]] [[Alice in Wonderland:-paragraph-144]] [[Alice in Wonderland:-paragraph-145]] [[Alice in Wonderland:-paragraph-146]] [[Alice in Wonderland:-paragraph-147]] [[Alice in Wonderland:-paragraph-148]] [[Alice in Wonderland:-paragraph-149]] [[Alice in Wonderland:-paragraph-150]] [[Alice in Wonderland:-paragraph-151]] [[Alice in Wonderland:-paragraph-152]] [[Alice in Wonderland:-paragraph-153]] [[Alice in Wonderland:-paragraph-154]] [[Alice in Wonderland:-paragraph-155]] [[Alice in Wonderland:-paragraph-156]] [[Alice in Wonderland:-paragraph-157]] [[Alice in Wonderland:-paragraph-158]] [[Alice in Wonderland:-paragraph-159]] [[Alice in Wonderland:-paragraph-160]] [[Alice in Wonderland:-paragraph-161]] [[Alice in Wonderland:-paragraph-162]] [[Alice in Wonderland:-paragraph-163]] [[Alice in Wonderland:-paragraph-164]] [[Alice in Wonderland:-paragraph-165]] [[Alice in Wonderland:-paragraph-166]] [[Alice in Wonderland:-paragraph-167]] [[Alice in Wonderland:-paragraph-168]] [[Alice in Wonderland:-paragraph-169]] [[Alice in Wonderland:-paragraph-170]] [[Alice in Wonderland:-paragraph-171]] [[Alice in Wonderland:-paragraph-172]] [[Alice in Wonderland:-paragraph-173]] [[Alice in Wonderland:-paragraph-174]] [[Alice in Wonderland:-paragraph-175]] [[Alice in Wonderland:-paragraph-176]] [[Alice in Wonderland:-paragraph-177]] [[Alice in Wonderland:-paragraph-178]] [[Alice in Wonderland:-paragraph-179]] [[Alice in Wonderland:-paragraph-180]] [[Alice in Wonderland:-paragraph-181]] [[Alice in Wonderland:-paragraph-182]] [[Alice in Wonderland:-paragraph-183]] [[Alice in Wonderland:-paragraph-184]] [[Alice in Wonderland:-paragraph-185]] [[Alice in Wonderland:-paragraph-186]] [[Alice in Wonderland:-paragraph-187]] [[Alice in Wonderland:-paragraph-188]] [[Alice in Wonderland:-paragraph-189]] [[Alice in Wonderland:-paragraph-190]] [[Alice in Wonderland:-paragraph-191]] [[Alice in Wonderland:-paragraph-192]] [[Alice in Wonderland:-paragraph-193]] [[Alice in Wonderland:-paragraph-194]] [[Alice in Wonderland:-paragraph-195]] [[Alice in Wonderland:-paragraph-196]] [[Alice in Wonderland:-paragraph-197]] [[Alice in Wonderland:-paragraph-198]] [[Alice in Wonderland:-paragraph-199]] [[Alice in Wonderland:-paragraph-200]] [[Alice in Wonderland:-paragraph-201]] [[Alice in Wonderland:-paragraph-202]] [[Alice in Wonderland:-paragraph-203]] [[Alice in Wonderland:-paragraph-204]] [[Alice in Wonderland:-paragraph-205]] [[Alice in Wonderland:-paragraph-206]] [[Alice in Wonderland:-paragraph-207]] [[Alice in Wonderland:-paragraph-208]] [[Alice in Wonderland:-paragraph-209]] [[Alice in Wonderland:-paragraph-210]] [[Alice in Wonderland:-paragraph-211]] [[Alice in Wonderland:-paragraph-212]] [[Alice in Wonderland:-paragraph-213]] [[Alice in Wonderland:-paragraph-214]] [[Alice in Wonderland:-paragraph-215]] [[Alice in Wonderland:-paragraph-216]] [[Alice in Wonderland:-paragraph-217]] [[Alice in Wonderland:-paragraph-218]] [[Alice in Wonderland:-paragraph-219]] [[Alice in Wonderland:-paragraph-220]] [[Alice in Wonderland:-paragraph-221]] [[Alice in Wonderland:-paragraph-222]] [[Alice in Wonderland:-paragraph-223]] [[Alice in Wonderland:-paragraph-224]] [[Alice in Wonderland:-paragraph-225]] [[Alice in Wonderland:-paragraph-226]] [[Alice in Wonderland:-paragraph-227]] [[Alice in Wonderland:-paragraph-228]] [[Alice in Wonderland:-paragraph-229]] [[Alice in Wonderland:-paragraph-230]] [[Alice in Wonderland:-paragraph-231]] [[Alice in Wonderland:-paragraph-232]] [[Alice in Wonderland:-paragraph-233]] [[Alice in Wonderland:-paragraph-234]] [[Alice in Wonderland:-paragraph-235]] [[Alice in Wonderland:-paragraph-236]] [[Alice in Wonderland:-paragraph-237]] [[Alice in Wonderland:-paragraph-238]] [[Alice in Wonderland:-paragraph-239]] [[Alice in Wonderland:-paragraph-240]] [[Alice in Wonderland:-paragraph-241]] [[Alice in Wonderland:-paragraph-242]] [[Alice in Wonderland:-paragraph-243]] [[Alice in Wonderland:-paragraph-244]] [[Alice in Wonderland:-paragraph-245]] [[Alice in Wonderland:-paragraph-246]] [[Alice in Wonderland:-paragraph-247]] [[Alice in Wonderland:-paragraph-248]] [[Alice in Wonderland:-paragraph-249]] [[Alice in Wonderland:-paragraph-250]] [[Alice in Wonderland:-paragraph-251]] [[Alice in Wonderland:-paragraph-252]] [[Alice in Wonderland:-paragraph-253]] [[Alice in Wonderland:-paragraph-254]] [[Alice in Wonderland:-paragraph-255]] [[Alice in Wonderland:-paragraph-256]] [[Alice in Wonderland:-paragraph-257]] [[Alice in Wonderland:-paragraph-258]] [[Alice in Wonderland:-paragraph-259]] [[Alice in Wonderland:-paragraph-260]] [[Alice in Wonderland:-paragraph-261]] [[Alice in Wonderland:-paragraph-262]] [[Alice in Wonderland:-paragraph-263]] [[Alice in Wonderland:-paragraph-264]] [[Alice in Wonderland:-paragraph-265]] [[Alice in Wonderland:-paragraph-266]] [[Alice in Wonderland:-paragraph-267]] [[Alice in Wonderland:-paragraph-268]] [[Alice in Wonderland:-paragraph-269]] [[Alice in Wonderland:-paragraph-270]] [[Alice in Wonderland:-paragraph-271]] [[Alice in Wonderland:-paragraph-272]] [[Alice in Wonderland:-paragraph-273]] [[Alice in Wonderland:-paragraph-274]] [[Alice in Wonderland:-paragraph-275]] [[Alice in Wonderland:-paragraph-276]] [[Alice in Wonderland:-paragraph-277]] [[Alice in Wonderland:-paragraph-278]] [[Alice in Wonderland:-paragraph-279]] [[Alice in Wonderland:-paragraph-280]] [[Alice in Wonderland:-paragraph-281]] [[Alice in Wonderland:-paragraph-282]] [[Alice in Wonderland:-paragraph-283]] [[Alice in Wonderland:-paragraph-284]] [[Alice in Wonderland:-paragraph-285]] [[Alice in Wonderland:-paragraph-286]] [[Alice in Wonderland:-paragraph-287]] [[Alice in Wonderland:-paragraph-288]] [[Alice in Wonderland:-paragraph-289]] [[Alice in Wonderland:-paragraph-290]] [[Alice in Wonderland:-paragraph-291]] [[Alice in Wonderland:-paragraph-292]] [[Alice in Wonderland:-paragraph-293]] [[Alice in Wonderland:-paragraph-294]] [[Alice in Wonderland:-paragraph-295]] [[Alice in Wonderland:-paragraph-296]] [[Alice in Wonderland:-paragraph-297]] [[Alice in Wonderland:-paragraph-298]] [[Alice in Wonderland:-paragraph-299]] [[Alice in Wonderland:-paragraph-300]] [[Alice in Wonderland:-paragraph-301]] [[Alice in Wonderland:-paragraph-302]] [[Alice in Wonderland:-paragraph-303]] [[Alice in Wonderland:-paragraph-304]] [[Alice in Wonderland:-paragraph-305]] [[Alice in Wonderland:-paragraph-306]] [[Alice in Wonderland:-paragraph-307]] [[Alice in Wonderland:-paragraph-308]] [[Alice in Wonderland:-paragraph-309]] [[Alice in Wonderland:-paragraph-310]] [[Alice in Wonderland:-paragraph-311]] [[Alice in Wonderland:-paragraph-312]] [[Alice in Wonderland:-paragraph-313]] [[Alice in Wonderland:-paragraph-314]] [[Alice in Wonderland:-paragraph-315]] [[Alice in Wonderland:-paragraph-316]] [[Alice in Wonderland:-paragraph-317]] [[Alice in Wonderland:-paragraph-318]] [[Alice in Wonderland:-paragraph-319]] [[Alice in Wonderland:-paragraph-320]] [[Alice in Wonderland:-paragraph-321]] [[Alice in Wonderland:-paragraph-322]] [[Alice in Wonderland:-paragraph-323]] [[Alice in Wonderland:-paragraph-324]] [[Alice in Wonderland:-paragraph-325]] [[Alice in Wonderland:-paragraph-326]] [[Alice in Wonderland:-paragraph-327]] [[Alice in Wonderland:-paragraph-328]] [[Alice in Wonderland:-paragraph-329]] [[Alice in Wonderland:-paragraph-330]] [[Alice in Wonderland:-paragraph-331]] [[Alice in Wonderland:-paragraph-332]] [[Alice in Wonderland:-paragraph-333]] [[Alice in Wonderland:-paragraph-334]] [[Alice in Wonderland:-paragraph-335]] [[Alice in Wonderland:-paragraph-336]] [[Alice in Wonderland:-paragraph-337]] [[Alice in Wonderland:-paragraph-338]] [[Alice in Wonderland:-paragraph-339]] [[Alice in Wonderland:-paragraph-340]] [[Alice in Wonderland:-paragraph-341]] [[Alice in Wonderland:-paragraph-342]] [[Alice in Wonderland:-paragraph-343]] [[Alice in Wonderland:-paragraph-344]] [[Alice in Wonderland:-paragraph-345]] [[Alice in Wonderland:-paragraph-346]] [[Alice in Wonderland:-paragraph-347]] [[Alice in Wonderland:-paragraph-348]] [[Alice in Wonderland:-paragraph-349]] [[Alice in Wonderland:-paragraph-350]] [[Alice in Wonderland:-paragraph-351]] [[Alice in Wonderland:-paragraph-352]] [[Alice in Wonderland:-paragraph-353]] [[Alice in Wonderland:-paragraph-354]] [[Alice in Wonderland:-paragraph-355]] [[Alice in Wonderland:-paragraph-356]] [[Alice in Wonderland:-paragraph-357]] [[Alice in Wonderland:-paragraph-358]] [[Alice in Wonderland:-paragraph-359]] [[Alice in Wonderland:-paragraph-360]] [[Alice in Wonderland:-paragraph-361]] [[Alice in Wonderland:-paragraph-362]] [[Alice in Wonderland:-paragraph-363]] [[Alice in Wonderland:-paragraph-364]] [[Alice in Wonderland:-paragraph-365]] [[Alice in Wonderland:-paragraph-366]] [[Alice in Wonderland:-paragraph-367]] [[Alice in Wonderland:-paragraph-368]] [[Alice in Wonderland:-paragraph-369]] [[Alice in Wonderland:-paragraph-370]] [[Alice in Wonderland:-paragraph-371]] [[Alice in Wonderland:-paragraph-372]] [[Alice in Wonderland:-paragraph-373]] [[Alice in Wonderland:-paragraph-374]] [[Alice in Wonderland:-paragraph-375]] [[Alice in Wonderland:-paragraph-376]] [[Alice in Wonderland:-paragraph-377]] [[Alice in Wonderland:-paragraph-378]] [[Alice in Wonderland:-paragraph-379]] [[Alice in Wonderland:-paragraph-380]] [[Alice in Wonderland:-paragraph-381]] [[Alice in Wonderland:-paragraph-382]] [[Alice in Wonderland:-paragraph-383]] [[Alice in Wonderland:-paragraph-384]] [[Alice in Wonderland:-paragraph-385]] [[Alice in Wonderland:-paragraph-386]] [[Alice in Wonderland:-paragraph-387]] [[Alice in Wonderland:-paragraph-388]] [[Alice in Wonderland:-paragraph-389]] [[Alice in Wonderland:-paragraph-390]] [[Alice in Wonderland:-paragraph-391]] [[Alice in Wonderland:-paragraph-392]] [[Alice in Wonderland:-paragraph-393]] [[Alice in Wonderland:-paragraph-394]] [[Alice in Wonderland:-paragraph-395]] [[Alice in Wonderland:-paragraph-396]] [[Alice in Wonderland:-paragraph-397]] [[Alice in Wonderland:-paragraph-398]] [[Alice in Wonderland:-paragraph-399]] [[Alice in Wonderland:-paragraph-400]] [[Alice in Wonderland:-paragraph-401]] [[Alice in Wonderland:-paragraph-402]] [[Alice in Wonderland:-paragraph-403]] [[Alice in Wonderland:-paragraph-404]] [[Alice in Wonderland:-paragraph-405]] [[Alice in Wonderland:-paragraph-406]] [[Alice in Wonderland:-paragraph-407]] [[Alice in Wonderland:-paragraph-408]] [[Alice in Wonderland:-paragraph-409]] [[Alice in Wonderland:-paragraph-410]] [[Alice in Wonderland:-paragraph-411]] [[Alice in Wonderland:-paragraph-412]] [[Alice in Wonderland:-paragraph-413]] [[Alice in Wonderland:-paragraph-414]] [[Alice in Wonderland:-paragraph-415]] [[Alice in Wonderland:-paragraph-416]] [[Alice in Wonderland:-paragraph-417]] [[Alice in Wonderland:-paragraph-418]] [[Alice in Wonderland:-paragraph-419]] [[Alice in Wonderland:-paragraph-420]] [[Alice in Wonderland:-paragraph-421]] [[Alice in Wonderland:-paragraph-422]] [[Alice in Wonderland:-paragraph-423]] [[Alice in Wonderland:-paragraph-424]] [[Alice in Wonderland:-paragraph-425]] [[Alice in Wonderland:-paragraph-426]] [[Alice in Wonderland:-paragraph-427]] [[Alice in Wonderland:-paragraph-428]] [[Alice in Wonderland:-paragraph-429]] [[Alice in Wonderland:-paragraph-430]] [[Alice in Wonderland:-paragraph-431]] [[Alice in Wonderland:-paragraph-432]] [[Alice in Wonderland:-paragraph-433]] [[Alice in Wonderland:-paragraph-434]] [[Alice in Wonderland:-paragraph-435]] [[Alice in Wonderland:-paragraph-436]] [[Alice in Wonderland:-paragraph-437]] [[Alice in Wonderland:-paragraph-438]] [[Alice in Wonderland:-paragraph-439]] [[Alice in Wonderland:-paragraph-440]] [[Alice in Wonderland:-paragraph-441]] [[Alice in Wonderland:-paragraph-442]] [[Alice in Wonderland:-paragraph-443]] [[Alice in Wonderland:-paragraph-444]] [[Alice in Wonderland:-paragraph-445]] [[Alice in Wonderland:-paragraph-446]] [[Alice in Wonderland:-paragraph-447]] [[Alice in Wonderland:-paragraph-448]] [[Alice in Wonderland:-paragraph-449]] [[Alice in Wonderland:-paragraph-450]] [[Alice in Wonderland:-paragraph-451]] [[Alice in Wonderland:-paragraph-452]] [[Alice in Wonderland:-paragraph-453]] [[Alice in Wonderland:-paragraph-454]] [[Alice in Wonderland:-paragraph-455]] [[Alice in Wonderland:-paragraph-456]] [[Alice in Wonderland:-paragraph-457]] [[Alice in Wonderland:-paragraph-458]] [[Alice in Wonderland:-paragraph-459]] [[Alice in Wonderland:-paragraph-460]] [[Alice in Wonderland:-paragraph-461]] [[Alice in Wonderland:-paragraph-462]] [[Alice in Wonderland:-paragraph-463]] [[Alice in Wonderland:-paragraph-464]] [[Alice in Wonderland:-paragraph-465]] [[Alice in Wonderland:-paragraph-466]] [[Alice in Wonderland:-paragraph-467]] [[Alice in Wonderland:-paragraph-468]] [[Alice in Wonderland:-paragraph-469]] [[Alice in Wonderland:-paragraph-470]] [[Alice in Wonderland:-paragraph-471]] [[Alice in Wonderland:-paragraph-472]] [[Alice in Wonderland:-paragraph-473]] [[Alice in Wonderland:-paragraph-474]] [[Alice in Wonderland:-paragraph-475]] [[Alice in Wonderland:-paragraph-476]] [[Alice in Wonderland:-paragraph-477]] [[Alice in Wonderland:-paragraph-478]] [[Alice in Wonderland:-paragraph-479]] [[Alice in Wonderland:-paragraph-480]] [[Alice in Wonderland:-paragraph-481]] [[Alice in Wonderland:-paragraph-482]] [[Alice in Wonderland:-paragraph-483]] [[Alice in Wonderland:-paragraph-484]] [[Alice in Wonderland:-paragraph-485]] [[Alice in Wonderland:-paragraph-486]] [[Alice in Wonderland:-paragraph-487]] [[Alice in Wonderland:-paragraph-488]] [[Alice in Wonderland:-paragraph-489]] [[Alice in Wonderland:-paragraph-490]] [[Alice in Wonderland:-paragraph-491]] [[Alice in Wonderland:-paragraph-492]] [[Alice in Wonderland:-paragraph-493]] [[Alice in Wonderland:-paragraph-494]] [[Alice in Wonderland:-paragraph-495]] [[Alice in Wonderland:-paragraph-496]] [[Alice in Wonderland:-paragraph-497]] [[Alice in Wonderland:-paragraph-498]] [[Alice in Wonderland:-paragraph-499]] [[Alice in Wonderland:-paragraph-500]] [[Alice in Wonderland:-paragraph-501]] [[Alice in Wonderland:-paragraph-502]] [[Alice in Wonderland:-paragraph-503]] [[Alice in Wonderland:-paragraph-504]] [[Alice in Wonderland:-paragraph-505]] [[Alice in Wonderland:-paragraph-506]] [[Alice in Wonderland:-paragraph-507]] [[Alice in Wonderland:-paragraph-508]] [[Alice in Wonderland:-paragraph-509]] [[Alice in Wonderland:-paragraph-510]] [[Alice in Wonderland:-paragraph-511]] [[Alice in Wonderland:-paragraph-512]] [[Alice in Wonderland:-paragraph-513]] [[Alice in Wonderland:-paragraph-514]] [[Alice in Wonderland:-paragraph-515]] [[Alice in Wonderland:-paragraph-516]] [[Alice in Wonderland:-paragraph-517]] [[Alice in Wonderland:-paragraph-518]] [[Alice in Wonderland:-paragraph-519]] [[Alice in Wonderland:-paragraph-520]] [[Alice in Wonderland:-paragraph-521]] [[Alice in Wonderland:-paragraph-522]] [[Alice in Wonderland:-paragraph-523]] [[Alice in Wonderland:-paragraph-524]] [[Alice in Wonderland:-paragraph-525]] [[Alice in Wonderland:-paragraph-526]] [[Alice in Wonderland:-paragraph-527]] [[Alice in Wonderland:-paragraph-528]] [[Alice in Wonderland:-paragraph-529]] [[Alice in Wonderland:-paragraph-530]] [[Alice in Wonderland:-paragraph-531]] [[Alice in Wonderland:-paragraph-532]] [[Alice in Wonderland:-paragraph-533]] [[Alice in Wonderland:-paragraph-534]] [[Alice in Wonderland:-paragraph-535]] [[Alice in Wonderland:-paragraph-536]] [[Alice in Wonderland:-paragraph-537]] [[Alice in Wonderland:-paragraph-538]] [[Alice in Wonderland:-paragraph-539]] [[Alice in Wonderland:-paragraph-540]] [[Alice in Wonderland:-paragraph-541]] [[Alice in Wonderland:-paragraph-542]] [[Alice in Wonderland:-paragraph-543]] [[Alice in Wonderland:-paragraph-544]] [[Alice in Wonderland:-paragraph-545]] [[Alice in Wonderland:-paragraph-546]] [[Alice in Wonderland:-paragraph-547]] [[Alice in Wonderland:-paragraph-548]] [[Alice in Wonderland:-paragraph-549]] [[Alice in Wonderland:-paragraph-550]] [[Alice in Wonderland:-paragraph-551]] [[Alice in Wonderland:-paragraph-552]] [[Alice in Wonderland:-paragraph-553]] [[Alice in Wonderland:-paragraph-554]] [[Alice in Wonderland:-paragraph-555]] [[Alice in Wonderland:-paragraph-556]] [[Alice in Wonderland:-paragraph-557]] [[Alice in Wonderland:-paragraph-558]] [[Alice in Wonderland:-paragraph-559]] [[Alice in Wonderland:-paragraph-560]] [[Alice in Wonderland:-paragraph-561]] [[Alice in Wonderland:-paragraph-562]] [[Alice in Wonderland:-paragraph-563]] [[Alice in Wonderland:-paragraph-564]] [[Alice in Wonderland:-paragraph-565]] [[Alice in Wonderland:-paragraph-566]] [[Alice in Wonderland:-paragraph-567]] [[Alice in Wonderland:-paragraph-568]] [[Alice in Wonderland:-paragraph-569]] [[Alice in Wonderland:-paragraph-570]] [[Alice in Wonderland:-paragraph-571]] [[Alice in Wonderland:-paragraph-572]] [[Alice in Wonderland:-paragraph-573]] [[Alice in Wonderland:-paragraph-574]] [[Alice in Wonderland:-paragraph-575]] [[Alice in Wonderland:-paragraph-576]] [[Alice in Wonderland:-paragraph-577]] [[Alice in Wonderland:-paragraph-578]] [[Alice in Wonderland:-paragraph-579]] [[Alice in Wonderland:-paragraph-580]] [[Alice in Wonderland:-paragraph-581]] [[Alice in Wonderland:-paragraph-582]] [[Alice in Wonderland:-paragraph-583]] [[Alice in Wonderland:-paragraph-584]] [[Alice in Wonderland:-paragraph-585]] [[Alice in Wonderland:-paragraph-586]] [[Alice in Wonderland:-paragraph-587]] [[Alice in Wonderland:-paragraph-588]] [[Alice in Wonderland:-paragraph-589]] [[Alice in Wonderland:-paragraph-590]] [[Alice in Wonderland:-paragraph-591]] [[Alice in Wonderland:-paragraph-592]] [[Alice in Wonderland:-paragraph-593]] [[Alice in Wonderland:-paragraph-594]] [[Alice in Wonderland:-paragraph-595]] [[Alice in Wonderland:-paragraph-596]] [[Alice in Wonderland:-paragraph-597]] [[Alice in Wonderland:-paragraph-598]] [[Alice in Wonderland:-paragraph-599]] [[Alice in Wonderland:-paragraph-600]] [[Alice in Wonderland:-paragraph-601]] [[Alice in Wonderland:-paragraph-602]] [[Alice in Wonderland:-paragraph-603]] [[Alice in Wonderland:-paragraph-604]] [[Alice in Wonderland:-paragraph-605]] [[Alice in Wonderland:-paragraph-606]] [[Alice in Wonderland:-paragraph-607]] [[Alice in Wonderland:-paragraph-608]] [[Alice in Wonderland:-paragraph-609]] [[Alice in Wonderland:-paragraph-610]] [[Alice in Wonderland:-paragraph-611]] [[Alice in Wonderland:-paragraph-612]] [[Alice in Wonderland:-paragraph-613]] [[Alice in Wonderland:-paragraph-614]] [[Alice in Wonderland:-paragraph-615]] [[Alice in Wonderland:-paragraph-616]] [[Alice in Wonderland:-paragraph-617]] [[Alice in Wonderland:-paragraph-618]] [[Alice in Wonderland:-paragraph-619]] [[Alice in Wonderland:-paragraph-620]] [[Alice in Wonderland:-paragraph-621]] [[Alice in Wonderland:-paragraph-622]] [[Alice in Wonderland:-paragraph-623]] [[Alice in Wonderland:-paragraph-624]] [[Alice in Wonderland:-paragraph-625]] [[Alice in Wonderland:-paragraph-626]] [[Alice in Wonderland:-paragraph-627]] [[Alice in Wonderland:-paragraph-628]] [[Alice in Wonderland:-paragraph-629]] [[Alice in Wonderland:-paragraph-630]] [[Alice in Wonderland:-paragraph-631]] [[Alice in Wonderland:-paragraph-632]] [[Alice in Wonderland:-paragraph-633]] [[Alice in Wonderland:-paragraph-634]] [[Alice in Wonderland:-paragraph-635]] [[Alice in Wonderland:-paragraph-636]] [[Alice in Wonderland:-paragraph-637]] [[Alice in Wonderland:-paragraph-638]] [[Alice in Wonderland:-paragraph-639]] [[Alice in Wonderland:-paragraph-640]] [[Alice in Wonderland:-paragraph-641]] [[Alice in Wonderland:-paragraph-642]] [[Alice in Wonderland:-paragraph-643]] [[Alice in Wonderland:-paragraph-644]] [[Alice in Wonderland:-paragraph-645]] [[Alice in Wonderland:-paragraph-646]] [[Alice in Wonderland:-paragraph-647]] [[Alice in Wonderland:-paragraph-648]] [[Alice in Wonderland:-paragraph-649]] [[Alice in Wonderland:-paragraph-650]] [[Alice in Wonderland:-paragraph-651]] [[Alice in Wonderland:-paragraph-652]] [[Alice in Wonderland:-paragraph-653]] [[Alice in Wonderland:-paragraph-654]] [[Alice in Wonderland:-paragraph-655]] [[Alice in Wonderland:-paragraph-656]] [[Alice in Wonderland:-paragraph-657]] [[Alice in Wonderland:-paragraph-658]] [[Alice in Wonderland:-paragraph-659]] [[Alice in Wonderland:-paragraph-660]] [[Alice in Wonderland:-paragraph-661]] [[Alice in Wonderland:-paragraph-662]] [[Alice in Wonderland:-paragraph-663]] [[Alice in Wonderland:-paragraph-664]] [[Alice in Wonderland:-paragraph-665]] [[Alice in Wonderland:-paragraph-666]] [[Alice in Wonderland:-paragraph-667]] [[Alice in Wonderland:-paragraph-668]] [[Alice in Wonderland:-paragraph-669]] [[Alice in Wonderland:-paragraph-670]] [[Alice in Wonderland:-paragraph-671]] [[Alice in Wonderland:-paragraph-672]] [[Alice in Wonderland:-paragraph-673]] [[Alice in Wonderland:-paragraph-674]] [[Alice in Wonderland:-paragraph-675]] [[Alice in Wonderland:-paragraph-676]] [[Alice in Wonderland:-paragraph-677]] [[Alice in Wonderland:-paragraph-678]] [[Alice in Wonderland:-paragraph-679]] [[Alice in Wonderland:-paragraph-680]] [[Alice in Wonderland:-paragraph-681]] [[Alice in Wonderland:-paragraph-682]] [[Alice in Wonderland:-paragraph-683]] [[Alice in Wonderland:-paragraph-684]] [[Alice in Wonderland:-paragraph-685]] [[Alice in Wonderland:-paragraph-686]] [[Alice in Wonderland:-paragraph-687]] [[Alice in Wonderland:-paragraph-688]] [[Alice in Wonderland:-paragraph-689]] [[Alice in Wonderland:-paragraph-690]] [[Alice in Wonderland:-paragraph-691]] [[Alice in Wonderland:-paragraph-692]] [[Alice in Wonderland:-paragraph-693]] [[Alice in Wonderland:-paragraph-694]] [[Alice in Wonderland:-paragraph-695]] [[Alice in Wonderland:-paragraph-696]] [[Alice in Wonderland:-paragraph-697]] [[Alice in Wonderland:-paragraph-698]] [[Alice in Wonderland:-paragraph-699]] [[Alice in Wonderland:-paragraph-700]] [[Alice in Wonderland:-paragraph-701]] [[Alice in Wonderland:-paragraph-702]] [[Alice in Wonderland:-paragraph-703]] [[Alice in Wonderland:-paragraph-704]] [[Alice in Wonderland:-paragraph-705]] [[Alice in Wonderland:-paragraph-706]] [[Alice in Wonderland:-paragraph-707]] [[Alice in Wonderland:-paragraph-708]] [[Alice in Wonderland:-paragraph-709]] [[Alice in Wonderland:-paragraph-710]] [[Alice in Wonderland:-paragraph-711]] [[Alice in Wonderland:-paragraph-712]] [[Alice in Wonderland:-paragraph-713]] [[Alice in Wonderland:-paragraph-714]] [[Alice in Wonderland:-paragraph-715]] [[Alice in Wonderland:-paragraph-716]] [[Alice in Wonderland:-paragraph-717]] [[Alice in Wonderland:-paragraph-718]] [[Alice in Wonderland:-paragraph-719]] [[Alice in Wonderland:-paragraph-720]] [[Alice in Wonderland:-paragraph-721]] [[Alice in Wonderland:-paragraph-722]] [[Alice in Wonderland:-paragraph-723]] [[Alice in Wonderland:-paragraph-724]] [[Alice in Wonderland:-paragraph-725]] [[Alice in Wonderland:-paragraph-726]] [[Alice in Wonderland:-paragraph-727]] [[Alice in Wonderland:-paragraph-728]] [[Alice in Wonderland:-paragraph-729]] [[Alice in Wonderland:-paragraph-730]] [[Alice in Wonderland:-paragraph-731]] [[Alice in Wonderland:-paragraph-732]] [[Alice in Wonderland:-paragraph-733]] [[Alice in Wonderland:-paragraph-734]] [[Alice in Wonderland:-paragraph-735]] [[Alice in Wonderland:-paragraph-736]] [[Alice in Wonderland:-paragraph-737]] [[Alice in Wonderland:-paragraph-738]] [[Alice in Wonderland:-paragraph-739]] [[Alice in Wonderland:-paragraph-740]] [[Alice in Wonderland:-paragraph-741]] [[Alice in Wonderland:-paragraph-742]] [[Alice in Wonderland:-paragraph-743]] [[Alice in Wonderland:-paragraph-744]] [[Alice in Wonderland:-paragraph-745]] [[Alice in Wonderland:-paragraph-746]] [[Alice in Wonderland:-paragraph-747]] [[Alice in Wonderland:-paragraph-748]] [[Alice in Wonderland:-paragraph-749]] [[Alice in Wonderland:-paragraph-750]] [[Alice in Wonderland:-paragraph-751]] [[Alice in Wonderland:-paragraph-752]] [[Alice in Wonderland:-paragraph-753]] [[Alice in Wonderland:-paragraph-754]] [[Alice in Wonderland:-paragraph-755]] [[Alice in Wonderland:-paragraph-756]] [[Alice in Wonderland:-paragraph-757]] [[Alice in Wonderland:-paragraph-758]] [[Alice in Wonderland:-paragraph-759]] [[Alice in Wonderland:-paragraph-760]] [[Alice in Wonderland:-paragraph-761]] [[Alice in Wonderland:-paragraph-762]] [[Alice in Wonderland:-paragraph-763]] [[Alice in Wonderland:-paragraph-764]] [[Alice in Wonderland:-paragraph-765]] [[Alice in Wonderland:-paragraph-766]] [[Alice in Wonderland:-paragraph-767]] [[Alice in Wonderland:-paragraph-768]] [[Alice in Wonderland:-paragraph-769]] [[Alice in Wonderland:-paragraph-770]] [[Alice in Wonderland:-paragraph-771]] [[Alice in Wonderland:-paragraph-772]] [[Alice in Wonderland:-paragraph-773]] [[Alice in Wonderland:-paragraph-774]] [[Alice in Wonderland:-paragraph-775]] [[Alice in Wonderland:-paragraph-776]] [[Alice in Wonderland:-paragraph-777]] [[Alice in Wonderland:-paragraph-778]] [[Alice in Wonderland:-paragraph-779]] [[Alice in Wonderland:-paragraph-780]] [[Alice in Wonderland:-paragraph-781]] [[Alice in Wonderland:-paragraph-782]] [[Alice in Wonderland:-paragraph-783]] [[Alice in Wonderland:-paragraph-784]] [[Alice in Wonderland:-paragraph-785]] [[Alice in Wonderland:-paragraph-786]] [[Alice in Wonderland:-paragraph-787]] [[Alice in Wonderland:-paragraph-788]] [[Alice in Wonderland:-paragraph-789]] [[Alice in Wonderland:-paragraph-790]] [[Alice in Wonderland:-paragraph-791]] [[Alice in Wonderland:-paragraph-792]] [[Alice in Wonderland:-paragraph-793]] [[Alice in Wonderland:-paragraph-794]] [[Alice in Wonderland:-paragraph-795]] [[Alice in Wonderland:-paragraph-796]] [[Alice in Wonderland:-paragraph-797]] [[Alice in Wonderland:-paragraph-798]] [[Alice in Wonderland:-paragraph-799]] [[Alice in Wonderland:-paragraph-800]] [[Alice in Wonderland:-paragraph-801]] [[Alice in Wonderland:-paragraph-802]] [[Alice in Wonderland:-paragraph-803]] [[Alice in Wonderland:-paragraph-804]] [[Alice in Wonderland:-paragraph-805]] [[Alice in Wonderland:-paragraph-806]] [[Alice in Wonderland:-paragraph-807]] [[Alice in Wonderland:-paragraph-808]] [[Alice in Wonderland:-paragraph-809]] [[Alice in Wonderland:-paragraph-810]]\",\n        \"tags\": \"\",\n        \"role\": \"sliced-html\",\n        \"slicer-rules\": \"html-linear\",\n        \"slicer-output-mode\": \"html\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-anchor-\",\n        \"text\": \"\",\n        \"caption\": \"\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"anchor\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-1\",\n        \"text\": \"<h3>CHAPTER I. Down the Rabbit-Hole</h3>\",\n        \"caption\": \"CHAPTER I. Down the Rabbit-Hole\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-2\",\n        \"text\": \"Alice was beginning to get very tired of sitting by her sister on the\\nbank, and of having nothing to do: once or twice she had peeped into the\\nbook her sister was reading, but it had no pictures or conversations in\\nit, 'and what is the use of a book,' thought Alice 'without pictures or\\nconversations?'\",\n        \"caption\": \"Alice was beginning to get very tired of sitting by her sister on the\\nbank, and of having nothing to do: once or twice she had peeped into the\\nbook her sister was reading, but it had no pictures or conversations in\\nit, 'and what is the use of a book,' thought Alice 'without pictures or\\nconversations?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-3\",\n        \"text\": \"So she was considering in her own mind (as well as she could, for the\\nhot day made her feel very sleepy and stupid), whether the pleasure\\nof making a daisy-chain would be worth the trouble of getting up and\\npicking the daisies, when suddenly a White Rabbit with pink eyes ran\\nclose by her.\",\n        \"caption\": \"So she was considering in her own mind (as well as she could, for the\\nhot day made her feel very sleepy and stupid), whether the pleasure\\nof making a daisy-chain would be worth the trouble of getting up and\\npicking the daisies, when suddenly a White Rabbit with pink eyes ran\\nclose by her.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-4\",\n        \"text\": \"There was nothing so VERY remarkable in that; nor did Alice think it so\\nVERY much out of the way to hear the Rabbit say to itself, 'Oh dear!\\nOh dear! I shall be late!' (when she thought it over afterwards, it\\noccurred to her that she ought to have wondered at this, but at the time\\nit all seemed quite natural); but when the Rabbit actually TOOK A WATCH\\nOUT OF ITS WAISTCOAT-POCKET, and looked at it, and then hurried on,\\nAlice started to her feet, for it flashed across her mind that she had\\nnever before seen a rabbit with either a waistcoat-pocket, or a watch\\nto take out of it, and burning with curiosity, she ran across the field\\nafter it, and fortunately was just in time to see it pop down a large\\nrabbit-hole under the hedge.\",\n        \"caption\": \"There was nothing so VERY remarkable in that; nor did Alice think it so\\nVERY much out of the way to hear the Rabbit say to itself, 'Oh dear!\\nOh dear! I shall be late!' (when she thought it over afterwards, it\\noccurred to her that she ought to have wondered at this, but at the time\\nit all seemed quite natural); but when the Rabbit actually TOOK A WATCH\\nOUT OF ITS WAISTCOAT-POCKET, and looked at it, and then hurried on,\\nAlice started to her feet, for it flashed across her mind that she had\\nnever before seen a rabbit with either a waistcoat-pocket, or a watch\\nto take out of it, and burning with curiosity, she ran across the field\\nafter it, and fortunately was just in time to see it pop down a large\\nrabbit-hole under the hedge.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-5\",\n        \"text\": \"In another moment down went Alice after it, never once considering how\\nin the world she was to get out again.\",\n        \"caption\": \"In another moment down went Alice after it, never once considering how\\nin the world she was to get out again.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-6\",\n        \"text\": \"The rabbit-hole went straight on like a tunnel for some way, and then\\ndipped suddenly down, so suddenly that Alice had not a moment to think\\nabout stopping herself before she found herself falling down a very deep\\nwell.\",\n        \"caption\": \"The rabbit-hole went straight on like a tunnel for some way, and then\\ndipped suddenly down, so suddenly that Alice had not a moment to think\\nabout stopping herself before she found herself falling down a very deep\\nwell.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-7\",\n        \"text\": \"Either the well was very deep, or she fell very slowly, for she had\\nplenty of time as she went down to look about her and to wonder what was\\ngoing to happen next. First, she tried to look down and make out what\\nshe was coming to, but it was too dark to see anything; then she\\nlooked at the sides of the well, and noticed that they were filled with\\ncupboards and book-shelves; here and there she saw maps and pictures\\nhung upon pegs. She took down a jar from one of the shelves as\\nshe passed; it was labelled 'ORANGE MARMALADE', but to her great\\ndisappointment it was empty: she did not like to drop the jar for fear\\nof killing somebody, so managed to put it into one of the cupboards as\\nshe fell past it.\",\n        \"caption\": \"Either the well was very deep, or she fell very slowly, for she had\\nplenty of time as she went down to look about her and to wonder what was\\ngoing to happen next. First, she tried to look down and make out what\\nshe was coming to, but it was too dark to see anything; then she\\nlooked at the sides of the well, and noticed that they were filled with\\ncupboards and book-shelves; here and there she saw maps and pictures\\nhung upon pegs. She took down a jar from one of the shelves as\\nshe passed; it was labelled 'ORANGE MARMALADE', but to her great\\ndisappointment it was empty: she did not like to drop the jar for fear\\nof killing somebody, so managed to put it into one of the cupboards as\\nshe fell past it.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-8\",\n        \"text\": \"'Well!' thought Alice to herself, 'after such a fall as this, I shall\\nthink nothing of tumbling down stairs! How brave they'll all think me at\\nhome! Why, I wouldn't say anything about it, even if I fell off the top\\nof the house!' (Which was very likely true.)\",\n        \"caption\": \"'Well!' thought Alice to herself, 'after such a fall as this, I shall\\nthink nothing of tumbling down stairs! How brave they'll all think me at\\nhome! Why, I wouldn't say anything about it, even if I fell off the top\\nof the house!' (Which was very likely true.)\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-9\",\n        \"text\": \"Down, down, down. Would the fall NEVER come to an end! 'I wonder how\\nmany miles I've fallen by this time?' she said aloud. 'I must be getting\\nsomewhere near the centre of the earth. Let me see: that would be four\\nthousand miles down, I think–' (for, you see, Alice had learnt several\\nthings of this sort in her lessons in the schoolroom, and though this\\nwas not a VERY good opportunity for showing off her knowledge, as there\\nwas no one to listen to her, still it was good practice to say it over)\\n'–yes, that's about the right distance–but then I wonder what Latitude\\nor Longitude I've got to?' (Alice had no idea what Latitude was, or\\nLongitude either, but thought they were nice grand words to say.)\",\n        \"caption\": \"Down, down, down. Would the fall NEVER come to an end! 'I wonder how\\nmany miles I've fallen by this time?' she said aloud. 'I must be getting\\nsomewhere near the centre of the earth. Let me see: that would be four\\nthousand miles down, I think–' (for, you see, Alice had learnt several\\nthings of this sort in her lessons in the schoolroom, and though this\\nwas not a VERY good opportunity for showing off her knowledge, as there\\nwas no one to listen to her, still it was good practice to say it over)\\n'–yes, that's about the right distance–but then I wonder what Latitude\\nor Longitude I've got to?' (Alice had no idea what Latitude was, or\\nLongitude either, but thought they were nice grand words to say.)\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-10\",\n        \"text\": \"Presently she began again. 'I wonder if I shall fall right THROUGH the\\nearth! How funny it'll seem to come out among the people that walk with\\ntheir heads downward! The Antipathies, I think–' (she was rather glad\\nthere WAS no one listening, this time, as it didn't sound at all the\\nright word) '–but I shall have to ask them what the name of the country\\nis, you know. Please, Ma'am, is this New Zealand or Australia?' (and\\nshe tried to curtsey as she spoke–fancy CURTSEYING as you're falling\\nthrough the air! Do you think you could manage it?) 'And what an\\nignorant little girl she'll think me for asking! No, it'll never do to\\nask: perhaps I shall see it written up somewhere.'\",\n        \"caption\": \"Presently she began again. 'I wonder if I shall fall right THROUGH the\\nearth! How funny it'll seem to come out among the people that walk with\\ntheir heads downward! The Antipathies, I think–' (she was rather glad\\nthere WAS no one listening, this time, as it didn't sound at all the\\nright word) '–but I shall have to ask them what the name of the country\\nis, you know. Please, Ma'am, is this New Zealand or Australia?' (and\\nshe tried to curtsey as she spoke–fancy CURTSEYING as you're falling\\nthrough the air! Do you think you could manage it?) 'And what an\\nignorant little girl she'll think me for asking! No, it'll never do to\\nask: perhaps I shall see it written up somewhere.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-11\",\n        \"text\": \"Down, down, down. There was nothing else to do, so Alice soon began\\ntalking again. 'Dinah'll miss me very much to-night, I should think!'\\n(Dinah was the cat.) 'I hope they'll remember her saucer of milk at\\ntea-time. Dinah my dear! I wish you were down here with me! There are no\\nmice in the air, I'm afraid, but you might catch a bat, and that's very\\nlike a mouse, you know. But do cats eat bats, I wonder?' And here Alice\\nbegan to get rather sleepy, and went on saying to herself, in a dreamy\\nsort of way, 'Do cats eat bats? Do cats eat bats?' and sometimes, 'Do\\nbats eat cats?' for, you see, as she couldn't answer either question,\\nit didn't much matter which way she put it. She felt that she was dozing\\noff, and had just begun to dream that she was walking hand in hand with\\nDinah, and saying to her very earnestly, 'Now, Dinah, tell me the truth:\\ndid you ever eat a bat?' when suddenly, thump! thump! down she came upon\\na heap of sticks and dry leaves, and the fall was over.\",\n        \"caption\": \"Down, down, down. There was nothing else to do, so Alice soon began\\ntalking again. 'Dinah'll miss me very much to-night, I should think!'\\n(Dinah was the cat.) 'I hope they'll remember her saucer of milk at\\ntea-time. Dinah my dear! I wish you were down here with me! There are no\\nmice in the air, I'm afraid, but you might catch a bat, and that's very\\nlike a mouse, you know. But do cats eat bats, I wonder?' And here Alice\\nbegan to get rather sleepy, and went on saying to herself, in a dreamy\\nsort of way, 'Do cats eat bats? Do cats eat bats?' and sometimes, 'Do\\nbats eat cats?' for, you see, as she couldn't answer either question,\\nit didn't much matter which way she put it. She felt that she was dozing\\noff, and had just begun to dream that she was walking hand in hand with\\nDinah, and saying to her very earnestly, 'Now, Dinah, tell me the truth:\\ndid you ever eat a bat?' when suddenly, thump! thump! down she came upon\\na heap of sticks and dry leaves, and the fall was over.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-12\",\n        \"text\": \"Alice was not a bit hurt, and she jumped up on to her feet in a moment:\\nshe looked up, but it was all dark overhead; before her was another\\nlong passage, and the White Rabbit was still in sight, hurrying down it.\\nThere was not a moment to be lost: away went Alice like the wind, and\\nwas just in time to hear it say, as it turned a corner, 'Oh my ears\\nand whiskers, how late it's getting!' She was close behind it when she\\nturned the corner, but the Rabbit was no longer to be seen: she found\\nherself in a long, low hall, which was lit up by a row of lamps hanging\\nfrom the roof.\",\n        \"caption\": \"Alice was not a bit hurt, and she jumped up on to her feet in a moment:\\nshe looked up, but it was all dark overhead; before her was another\\nlong passage, and the White Rabbit was still in sight, hurrying down it.\\nThere was not a moment to be lost: away went Alice like the wind, and\\nwas just in time to hear it say, as it turned a corner, 'Oh my ears\\nand whiskers, how late it's getting!' She was close behind it when she\\nturned the corner, but the Rabbit was no longer to be seen: she found\\nherself in a long, low hall, which was lit up by a row of lamps hanging\\nfrom the roof.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-13\",\n        \"text\": \"There were doors all round the hall, but they were all locked; and when\\nAlice had been all the way down one side and up the other, trying every\\ndoor, she walked sadly down the middle, wondering how she was ever to\\nget out again.\",\n        \"caption\": \"There were doors all round the hall, but they were all locked; and when\\nAlice had been all the way down one side and up the other, trying every\\ndoor, she walked sadly down the middle, wondering how she was ever to\\nget out again.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-14\",\n        \"text\": \"Suddenly she came upon a little three-legged table, all made of solid\\nglass; there was nothing on it except a tiny golden key, and Alice's\\nfirst thought was that it might belong to one of the doors of the hall;\\nbut, alas! either the locks were too large, or the key was too small,\\nbut at any rate it would not open any of them. However, on the second\\ntime round, she came upon a low curtain she had not noticed before, and\\nbehind it was a little door about fifteen inches high: she tried the\\nlittle golden key in the lock, and to her great delight it fitted!\",\n        \"caption\": \"Suddenly she came upon a little three-legged table, all made of solid\\nglass; there was nothing on it except a tiny golden key, and Alice's\\nfirst thought was that it might belong to one of the doors of the hall;\\nbut, alas! either the locks were too large, or the key was too small,\\nbut at any rate it would not open any of them. However, on the second\\ntime round, she came upon a low curtain she had not noticed before, and\\nbehind it was a little door about fifteen inches high: she tried the\\nlittle golden key in the lock, and to her great delight it fitted!\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-15\",\n        \"text\": \"Alice opened the door and found that it led into a small passage, not\\nmuch larger than a rat-hole: she knelt down and looked along the passage\\ninto the loveliest garden you ever saw. How she longed to get out of\\nthat dark hall, and wander about among those beds of bright flowers and\\nthose cool fountains, but she could not even get her head through the\\ndoorway; 'and even if my head would go through,' thought poor Alice, 'it\\nwould be of very little use without my shoulders. Oh, how I wish I could\\nshut up like a telescope! I think I could, if I only knew how to begin.'\\nFor, you see, so many out-of-the-way things had happened lately,\\nthat Alice had begun to think that very few things indeed were really\\nimpossible.\",\n        \"caption\": \"Alice opened the door and found that it led into a small passage, not\\nmuch larger than a rat-hole: she knelt down and looked along the passage\\ninto the loveliest garden you ever saw. How she longed to get out of\\nthat dark hall, and wander about among those beds of bright flowers and\\nthose cool fountains, but she could not even get her head through the\\ndoorway; 'and even if my head would go through,' thought poor Alice, 'it\\nwould be of very little use without my shoulders. Oh, how I wish I could\\nshut up like a telescope! I think I could, if I only knew how to begin.'\\nFor, you see, so many out-of-the-way things had happened lately,\\nthat Alice had begun to think that very few things indeed were really\\nimpossible.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-16\",\n        \"text\": \"There seemed to be no use in waiting by the little door, so she went\\nback to the table, half hoping she might find another key on it, or at\\nany rate a book of rules for shutting people up like telescopes: this\\ntime she found a little bottle on it, ('which certainly was not here\\nbefore,' said Alice,) and round the neck of the bottle was a paper\\nlabel, with the words 'DRINK ME' beautifully printed on it in large\\nletters.\",\n        \"caption\": \"There seemed to be no use in waiting by the little door, so she went\\nback to the table, half hoping she might find another key on it, or at\\nany rate a book of rules for shutting people up like telescopes: this\\ntime she found a little bottle on it, ('which certainly was not here\\nbefore,' said Alice,) and round the neck of the bottle was a paper\\nlabel, with the words 'DRINK ME' beautifully printed on it in large\\nletters.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-17\",\n        \"text\": \"It was all very well to say 'Drink me,' but the wise little Alice was\\nnot going to do THAT in a hurry. 'No, I'll look first,' she said, 'and\\nsee whether it's marked &quot;poison&quot; or not'; for she had read several nice\\nlittle histories about children who had got burnt, and eaten up by wild\\nbeasts and other unpleasant things, all because they WOULD not remember\\nthe simple rules their friends had taught them: such as, that a red-hot\\npoker will burn you if you hold it too long; and that if you cut your\\nfinger VERY deeply with a knife, it usually bleeds; and she had never\\nforgotten that, if you drink much from a bottle marked 'poison,' it is\\nalmost certain to disagree with you, sooner or later.\",\n        \"caption\": \"It was all very well to say 'Drink me,' but the wise little Alice was\\nnot going to do THAT in a hurry. 'No, I'll look first,' she said, 'and\\nsee whether it's marked &quot;poison&quot; or not'; for she had read several nice\\nlittle histories about children who had got burnt, and eaten up by wild\\nbeasts and other unpleasant things, all because they WOULD not remember\\nthe simple rules their friends had taught them: such as, that a red-hot\\npoker will burn you if you hold it too long; and that if you cut your\\nfinger VERY deeply with a knife, it usually bleeds; and she had never\\nforgotten that, if you drink much from a bottle marked 'poison,' it is\\nalmost certain to disagree with you, sooner or later.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-18\",\n        \"text\": \"However, this bottle was NOT marked 'poison,' so Alice ventured to taste\\nit, and finding it very nice, (it had, in fact, a sort of mixed flavour\\nof cherry-tart, custard, pine-apple, roast turkey, toffee, and hot\\nbuttered toast,) she very soon finished it off.\",\n        \"caption\": \"However, this bottle was NOT marked 'poison,' so Alice ventured to taste\\nit, and finding it very nice, (it had, in fact, a sort of mixed flavour\\nof cherry-tart, custard, pine-apple, roast turkey, toffee, and hot\\nbuttered toast,) she very soon finished it off.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-19\",\n        \"text\": \"<ul><li>*    *    *    *    *    *</li><li>*    *    *    *    *</li><li>*    *    *    *    *    *</li></ul>\",\n        \"caption\": \"*    *    *    *    *    **    *    *    *    **    *    *    *    *    *\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-20\",\n        \"text\": \"'What a curious feeling!' said Alice; 'I must be shutting up like a\\ntelescope.'\",\n        \"caption\": \"'What a curious feeling!' said Alice; 'I must be shutting up like a\\ntelescope.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-21\",\n        \"text\": \"And so it was indeed: she was now only ten inches high, and her face\\nbrightened up at the thought that she was now the right size for going\\nthrough the little door into that lovely garden. First, however, she\\nwaited for a few minutes to see if she was going to shrink any further:\\nshe felt a little nervous about this; 'for it might end, you know,' said\\nAlice to herself, 'in my going out altogether, like a candle. I wonder\\nwhat I should be like then?' And she tried to fancy what the flame of a\\ncandle is like after the candle is blown out, for she could not remember\\never having seen such a thing.\",\n        \"caption\": \"And so it was indeed: she was now only ten inches high, and her face\\nbrightened up at the thought that she was now the right size for going\\nthrough the little door into that lovely garden. First, however, she\\nwaited for a few minutes to see if she was going to shrink any further:\\nshe felt a little nervous about this; 'for it might end, you know,' said\\nAlice to herself, 'in my going out altogether, like a candle. I wonder\\nwhat I should be like then?' And she tried to fancy what the flame of a\\ncandle is like after the candle is blown out, for she could not remember\\never having seen such a thing.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-22\",\n        \"text\": \"After a while, finding that nothing more happened, she decided on going\\ninto the garden at once; but, alas for poor Alice! when she got to the\\ndoor, she found she had forgotten the little golden key, and when she\\nwent back to the table for it, she found she could not possibly reach\\nit: she could see it quite plainly through the glass, and she tried her\\nbest to climb up one of the legs of the table, but it was too slippery;\\nand when she had tired herself out with trying, the poor little thing\\nsat down and cried.\",\n        \"caption\": \"After a while, finding that nothing more happened, she decided on going\\ninto the garden at once; but, alas for poor Alice! when she got to the\\ndoor, she found she had forgotten the little golden key, and when she\\nwent back to the table for it, she found she could not possibly reach\\nit: she could see it quite plainly through the glass, and she tried her\\nbest to climb up one of the legs of the table, but it was too slippery;\\nand when she had tired herself out with trying, the poor little thing\\nsat down and cried.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-23\",\n        \"text\": \"'Come, there's no use in crying like that!' said Alice to herself,\\nrather sharply; 'I advise you to leave off this minute!' She generally\\ngave herself very good advice, (though she very seldom followed it),\\nand sometimes she scolded herself so severely as to bring tears into\\nher eyes; and once she remembered trying to box her own ears for having\\ncheated herself in a game of croquet she was playing against herself,\\nfor this curious child was very fond of pretending to be two people.\\n'But it's no use now,' thought poor Alice, 'to pretend to be two people!\\nWhy, there's hardly enough of me left to make ONE respectable person!'\",\n        \"caption\": \"'Come, there's no use in crying like that!' said Alice to herself,\\nrather sharply; 'I advise you to leave off this minute!' She generally\\ngave herself very good advice, (though she very seldom followed it),\\nand sometimes she scolded herself so severely as to bring tears into\\nher eyes; and once she remembered trying to box her own ears for having\\ncheated herself in a game of croquet she was playing against herself,\\nfor this curious child was very fond of pretending to be two people.\\n'But it's no use now,' thought poor Alice, 'to pretend to be two people!\\nWhy, there's hardly enough of me left to make ONE respectable person!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-24\",\n        \"text\": \"Soon her eye fell on a little glass box that was lying under the table:\\nshe opened it, and found in it a very small cake, on which the words\\n'EAT ME' were beautifully marked in currants. 'Well, I'll eat it,' said\\nAlice, 'and if it makes me grow larger, I can reach the key; and if it\\nmakes me grow smaller, I can creep under the door; so either way I'll\\nget into the garden, and I don't care which happens!'\",\n        \"caption\": \"Soon her eye fell on a little glass box that was lying under the table:\\nshe opened it, and found in it a very small cake, on which the words\\n'EAT ME' were beautifully marked in currants. 'Well, I'll eat it,' said\\nAlice, 'and if it makes me grow larger, I can reach the key; and if it\\nmakes me grow smaller, I can creep under the door; so either way I'll\\nget into the garden, and I don't care which happens!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-25\",\n        \"text\": \"She ate a little bit, and said anxiously to herself, 'Which way? Which\\nway?', holding her hand on the top of her head to feel which way it was\\ngrowing, and she was quite surprised to find that she remained the same\\nsize: to be sure, this generally happens when one eats cake, but Alice\\nhad got so much into the way of expecting nothing but out-of-the-way\\nthings to happen, that it seemed quite dull and stupid for life to go on\\nin the common way.\",\n        \"caption\": \"She ate a little bit, and said anxiously to herself, 'Which way? Which\\nway?', holding her hand on the top of her head to feel which way it was\\ngrowing, and she was quite surprised to find that she remained the same\\nsize: to be sure, this generally happens when one eats cake, but Alice\\nhad got so much into the way of expecting nothing but out-of-the-way\\nthings to happen, that it seemed quite dull and stupid for life to go on\\nin the common way.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-26\",\n        \"text\": \"So she set to work, and very soon finished off the cake.\",\n        \"caption\": \"So she set to work, and very soon finished off the cake.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-27\",\n        \"text\": \"<ul><li>*    *    *    *    *    *</li><li>*    *    *    *    *</li><li>*    *    *    *    *    *</li></ul>\",\n        \"caption\": \"*    *    *    *    *    **    *    *    *    **    *    *    *    *    *\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-28\",\n        \"text\": \"<h3>CHAPTER II. The Pool of Tears</h3>\",\n        \"caption\": \"CHAPTER II. The Pool of Tears\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-29\",\n        \"text\": \"'Curiouser and curiouser!' cried Alice (she was so much surprised, that\\nfor the moment she quite forgot how to speak good English); 'now I'm\\nopening out like the largest telescope that ever was! Good-bye, feet!'\\n(for when she looked down at her feet, they seemed to be almost out of\\nsight, they were getting so far off). 'Oh, my poor little feet, I wonder\\nwho will put on your shoes and stockings for you now, dears? I'm sure\\n_I_ shan't be able! I shall be a great deal too far off to trouble\\nmyself about you: you must manage the best way you can;–but I must be\\nkind to them,' thought Alice, 'or perhaps they won't walk the way I want\\nto go! Let me see: I'll give them a new pair of boots every Christmas.'\",\n        \"caption\": \"'Curiouser and curiouser!' cried Alice (she was so much surprised, that\\nfor the moment she quite forgot how to speak good English); 'now I'm\\nopening out like the largest telescope that ever was! Good-bye, feet!'\\n(for when she looked down at her feet, they seemed to be almost out of\\nsight, they were getting so far off). 'Oh, my poor little feet, I wonder\\nwho will put on your shoes and stockings for you now, dears? I'm sure\\n_I_ shan't be able! I shall be a great deal too far off to trouble\\nmyself about you: you must manage the best way you can;–but I must be\\nkind to them,' thought Alice, 'or perhaps they won't walk the way I want\\nto go! Let me see: I'll give them a new pair of boots every Christmas.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-30\",\n        \"text\": \"And she went on planning to herself how she would manage it. 'They must\\ngo by the carrier,' she thought; 'and how funny it'll seem, sending\\npresents to one's own feet! And how odd the directions will look!\",\n        \"caption\": \"And she went on planning to herself how she would manage it. 'They must\\ngo by the carrier,' she thought; 'and how funny it'll seem, sending\\npresents to one's own feet! And how odd the directions will look!\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-31\",\n        \"text\": \"ALICE'S RIGHT FOOT, ESQ.\\n       HEARTHRUG,\\n         NEAR THE FENDER,\\n           (WITH ALICE'S LOVE).\",\n        \"caption\": \"ALICE'S RIGHT FOOT, ESQ.\\n       HEARTHRUG,\\n         NEAR THE FENDER,\\n           (WITH ALICE'S LOVE).\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-32\",\n        \"text\": \"Oh dear, what nonsense I'm talking!'\",\n        \"caption\": \"Oh dear, what nonsense I'm talking!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-33\",\n        \"text\": \"Just then her head struck against the roof of the hall: in fact she was\\nnow more than nine feet high, and she at once took up the little golden\\nkey and hurried off to the garden door.\",\n        \"caption\": \"Just then her head struck against the roof of the hall: in fact she was\\nnow more than nine feet high, and she at once took up the little golden\\nkey and hurried off to the garden door.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-34\",\n        \"text\": \"Poor Alice! It was as much as she could do, lying down on one side, to\\nlook through into the garden with one eye; but to get through was more\\nhopeless than ever: she sat down and began to cry again.\",\n        \"caption\": \"Poor Alice! It was as much as she could do, lying down on one side, to\\nlook through into the garden with one eye; but to get through was more\\nhopeless than ever: she sat down and began to cry again.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-35\",\n        \"text\": \"'You ought to be ashamed of yourself,' said Alice, 'a great girl like\\nyou,' (she might well say this), 'to go on crying in this way! Stop this\\nmoment, I tell you!' But she went on all the same, shedding gallons of\\ntears, until there was a large pool all round her, about four inches\\ndeep and reaching half down the hall.\",\n        \"caption\": \"'You ought to be ashamed of yourself,' said Alice, 'a great girl like\\nyou,' (she might well say this), 'to go on crying in this way! Stop this\\nmoment, I tell you!' But she went on all the same, shedding gallons of\\ntears, until there was a large pool all round her, about four inches\\ndeep and reaching half down the hall.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-36\",\n        \"text\": \"After a time she heard a little pattering of feet in the distance, and\\nshe hastily dried her eyes to see what was coming. It was the White\\nRabbit returning, splendidly dressed, with a pair of white kid gloves in\\none hand and a large fan in the other: he came trotting along in a great\\nhurry, muttering to himself as he came, 'Oh! the Duchess, the Duchess!\\nOh! won't she be savage if I've kept her waiting!' Alice felt so\\ndesperate that she was ready to ask help of any one; so, when the Rabbit\\ncame near her, she began, in a low, timid voice, 'If you please, sir–'\\nThe Rabbit started violently, dropped the white kid gloves and the fan,\\nand skurried away into the darkness as hard as he could go.\",\n        \"caption\": \"After a time she heard a little pattering of feet in the distance, and\\nshe hastily dried her eyes to see what was coming. It was the White\\nRabbit returning, splendidly dressed, with a pair of white kid gloves in\\none hand and a large fan in the other: he came trotting along in a great\\nhurry, muttering to himself as he came, 'Oh! the Duchess, the Duchess!\\nOh! won't she be savage if I've kept her waiting!' Alice felt so\\ndesperate that she was ready to ask help of any one; so, when the Rabbit\\ncame near her, she began, in a low, timid voice, 'If you please, sir–'\\nThe Rabbit started violently, dropped the white kid gloves and the fan,\\nand skurried away into the darkness as hard as he could go.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-37\",\n        \"text\": \"Alice took up the fan and gloves, and, as the hall was very hot, she\\nkept fanning herself all the time she went on talking: 'Dear, dear! How\\nqueer everything is to-day! And yesterday things went on just as usual.\\nI wonder if I've been changed in the night? Let me think: was I the\\nsame when I got up this morning? I almost think I can remember feeling a\\nlittle different. But if I'm not the same, the next question is, Who\\nin the world am I? Ah, THAT'S the great puzzle!' And she began thinking\\nover all the children she knew that were of the same age as herself, to\\nsee if she could have been changed for any of them.\",\n        \"caption\": \"Alice took up the fan and gloves, and, as the hall was very hot, she\\nkept fanning herself all the time she went on talking: 'Dear, dear! How\\nqueer everything is to-day! And yesterday things went on just as usual.\\nI wonder if I've been changed in the night? Let me think: was I the\\nsame when I got up this morning? I almost think I can remember feeling a\\nlittle different. But if I'm not the same, the next question is, Who\\nin the world am I? Ah, THAT'S the great puzzle!' And she began thinking\\nover all the children she knew that were of the same age as herself, to\\nsee if she could have been changed for any of them.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-38\",\n        \"text\": \"'I'm sure I'm not Ada,' she said, 'for her hair goes in such long\\nringlets, and mine doesn't go in ringlets at all; and I'm sure I can't\\nbe Mabel, for I know all sorts of things, and she, oh! she knows such a\\nvery little! Besides, SHE'S she, and I'm I, and–oh dear, how puzzling\\nit all is! I'll try if I know all the things I used to know. Let me\\nsee: four times five is twelve, and four times six is thirteen, and\\nfour times seven is–oh dear! I shall never get to twenty at that rate!\\nHowever, the Multiplication Table doesn't signify: let's try Geography.\\nLondon is the capital of Paris, and Paris is the capital of Rome, and\\nRome–no, THAT'S all wrong, I'm certain! I must have been changed for\\nMabel! I'll try and say &quot;How doth the little–&quot;' and she crossed her\\nhands on her lap as if she were saying lessons, and began to repeat it,\\nbut her voice sounded hoarse and strange, and the words did not come the\\nsame as they used to do:–\",\n        \"caption\": \"'I'm sure I'm not Ada,' she said, 'for her hair goes in such long\\nringlets, and mine doesn't go in ringlets at all; and I'm sure I can't\\nbe Mabel, for I know all sorts of things, and she, oh! she knows such a\\nvery little! Besides, SHE'S she, and I'm I, and–oh dear, how puzzling\\nit all is! I'll try if I know all the things I used to know. Let me\\nsee: four times five is twelve, and four times six is thirteen, and\\nfour times seven is–oh dear! I shall never get to twenty at that rate!\\nHowever, the Multiplication Table doesn't signify: let's try Geography.\\nLondon is the capital of Paris, and Paris is the capital of Rome, and\\nRome–no, THAT'S all wrong, I'm certain! I must have been changed for\\nMabel! I'll try and say &quot;How doth the little–&quot;' and she crossed her\\nhands on her lap as if she were saying lessons, and began to repeat it,\\nbut her voice sounded hoarse and strange, and the words did not come the\\nsame as they used to do:–\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-39\",\n        \"text\": \"'How doth the little crocodile\\n      Improve his shining tail,\\n     And pour the waters of the Nile\\n      On every golden scale!\",\n        \"caption\": \"'How doth the little crocodile\\n      Improve his shining tail,\\n     And pour the waters of the Nile\\n      On every golden scale!\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-40\",\n        \"text\": \"'How cheerfully he seems to grin,\\n      How neatly spread his claws,\\n     And welcome little fishes in\\n      With gently smiling jaws!'\",\n        \"caption\": \"'How cheerfully he seems to grin,\\n      How neatly spread his claws,\\n     And welcome little fishes in\\n      With gently smiling jaws!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-41\",\n        \"text\": \"'I'm sure those are not the right words,' said poor Alice, and her eyes\\nfilled with tears again as she went on, 'I must be Mabel after all, and\\nI shall have to go and live in that poky little house, and have next to\\nno toys to play with, and oh! ever so many lessons to learn! No, I've\\nmade up my mind about it; if I'm Mabel, I'll stay down here! It'll be no\\nuse their putting their heads down and saying &quot;Come up again, dear!&quot; I\\nshall only look up and say &quot;Who am I then? Tell me that first, and then,\\nif I like being that person, I'll come up: if not, I'll stay down here\\ntill I'm somebody else&quot;–but, oh dear!' cried Alice, with a sudden burst\\nof tears, 'I do wish they WOULD put their heads down! I am so VERY tired\\nof being all alone here!'\",\n        \"caption\": \"'I'm sure those are not the right words,' said poor Alice, and her eyes\\nfilled with tears again as she went on, 'I must be Mabel after all, and\\nI shall have to go and live in that poky little house, and have next to\\nno toys to play with, and oh! ever so many lessons to learn! No, I've\\nmade up my mind about it; if I'm Mabel, I'll stay down here! It'll be no\\nuse their putting their heads down and saying &quot;Come up again, dear!&quot; I\\nshall only look up and say &quot;Who am I then? Tell me that first, and then,\\nif I like being that person, I'll come up: if not, I'll stay down here\\ntill I'm somebody else&quot;–but, oh dear!' cried Alice, with a sudden burst\\nof tears, 'I do wish they WOULD put their heads down! I am so VERY tired\\nof being all alone here!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-42\",\n        \"text\": \"As she said this she looked down at her hands, and was surprised to see\\nthat she had put on one of the Rabbit's little white kid gloves while\\nshe was talking. 'How CAN I have done that?' she thought. 'I must\\nbe growing small again.' She got up and went to the table to measure\\nherself by it, and found that, as nearly as she could guess, she was now\\nabout two feet high, and was going on shrinking rapidly: she soon found\\nout that the cause of this was the fan she was holding, and she dropped\\nit hastily, just in time to avoid shrinking away altogether.\",\n        \"caption\": \"As she said this she looked down at her hands, and was surprised to see\\nthat she had put on one of the Rabbit's little white kid gloves while\\nshe was talking. 'How CAN I have done that?' she thought. 'I must\\nbe growing small again.' She got up and went to the table to measure\\nherself by it, and found that, as nearly as she could guess, she was now\\nabout two feet high, and was going on shrinking rapidly: she soon found\\nout that the cause of this was the fan she was holding, and she dropped\\nit hastily, just in time to avoid shrinking away altogether.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-43\",\n        \"text\": \"'That WAS a narrow escape!' said Alice, a good deal frightened at the\\nsudden change, but very glad to find herself still in existence; 'and\\nnow for the garden!' and she ran with all speed back to the little door:\\nbut, alas! the little door was shut again, and the little golden key was\\nlying on the glass table as before, 'and things are worse than ever,'\\nthought the poor child, 'for I never was so small as this before, never!\\nAnd I declare it's too bad, that it is!'\",\n        \"caption\": \"'That WAS a narrow escape!' said Alice, a good deal frightened at the\\nsudden change, but very glad to find herself still in existence; 'and\\nnow for the garden!' and she ran with all speed back to the little door:\\nbut, alas! the little door was shut again, and the little golden key was\\nlying on the glass table as before, 'and things are worse than ever,'\\nthought the poor child, 'for I never was so small as this before, never!\\nAnd I declare it's too bad, that it is!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-44\",\n        \"text\": \"As she said these words her foot slipped, and in another moment, splash!\\nshe was up to her chin in salt water. Her first idea was that she\\nhad somehow fallen into the sea, 'and in that case I can go back by\\nrailway,' she said to herself. (Alice had been to the seaside once in\\nher life, and had come to the general conclusion, that wherever you go\\nto on the English coast you find a number of bathing machines in the\\nsea, some children digging in the sand with wooden spades, then a row\\nof lodging houses, and behind them a railway station.) However, she soon\\nmade out that she was in the pool of tears which she had wept when she\\nwas nine feet high.\",\n        \"caption\": \"As she said these words her foot slipped, and in another moment, splash!\\nshe was up to her chin in salt water. Her first idea was that she\\nhad somehow fallen into the sea, 'and in that case I can go back by\\nrailway,' she said to herself. (Alice had been to the seaside once in\\nher life, and had come to the general conclusion, that wherever you go\\nto on the English coast you find a number of bathing machines in the\\nsea, some children digging in the sand with wooden spades, then a row\\nof lodging houses, and behind them a railway station.) However, she soon\\nmade out that she was in the pool of tears which she had wept when she\\nwas nine feet high.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-45\",\n        \"text\": \"'I wish I hadn't cried so much!' said Alice, as she swam about, trying\\nto find her way out. 'I shall be punished for it now, I suppose, by\\nbeing drowned in my own tears! That WILL be a queer thing, to be sure!\\nHowever, everything is queer to-day.'\",\n        \"caption\": \"'I wish I hadn't cried so much!' said Alice, as she swam about, trying\\nto find her way out. 'I shall be punished for it now, I suppose, by\\nbeing drowned in my own tears! That WILL be a queer thing, to be sure!\\nHowever, everything is queer to-day.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-46\",\n        \"text\": \"Just then she heard something splashing about in the pool a little way\\noff, and she swam nearer to make out what it was: at first she thought\\nit must be a walrus or hippopotamus, but then she remembered how small\\nshe was now, and she soon made out that it was only a mouse that had\\nslipped in like herself.\",\n        \"caption\": \"Just then she heard something splashing about in the pool a little way\\noff, and she swam nearer to make out what it was: at first she thought\\nit must be a walrus or hippopotamus, but then she remembered how small\\nshe was now, and she soon made out that it was only a mouse that had\\nslipped in like herself.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-47\",\n        \"text\": \"'Would it be of any use, now,' thought Alice, 'to speak to this mouse?\\nEverything is so out-of-the-way down here, that I should think very\\nlikely it can talk: at any rate, there's no harm in trying.' So she\\nbegan: 'O Mouse, do you know the way out of this pool? I am very tired\\nof swimming about here, O Mouse!' (Alice thought this must be the right\\nway of speaking to a mouse: she had never done such a thing before, but\\nshe remembered having seen in her brother's Latin Grammar, 'A mouse–of\\na mouse–to a mouse–a mouse–O mouse!') The Mouse looked at her rather\\ninquisitively, and seemed to her to wink with one of its little eyes,\\nbut it said nothing.\",\n        \"caption\": \"'Would it be of any use, now,' thought Alice, 'to speak to this mouse?\\nEverything is so out-of-the-way down here, that I should think very\\nlikely it can talk: at any rate, there's no harm in trying.' So she\\nbegan: 'O Mouse, do you know the way out of this pool? I am very tired\\nof swimming about here, O Mouse!' (Alice thought this must be the right\\nway of speaking to a mouse: she had never done such a thing before, but\\nshe remembered having seen in her brother's Latin Grammar, 'A mouse–of\\na mouse–to a mouse–a mouse–O mouse!') The Mouse looked at her rather\\ninquisitively, and seemed to her to wink with one of its little eyes,\\nbut it said nothing.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-48\",\n        \"text\": \"'Perhaps it doesn't understand English,' thought Alice; 'I daresay it's\\na French mouse, come over with William the Conqueror.' (For, with all\\nher knowledge of history, Alice had no very clear notion how long ago\\nanything had happened.) So she began again: 'Ou est ma chatte?' which\\nwas the first sentence in her French lesson-book. The Mouse gave a\\nsudden leap out of the water, and seemed to quiver all over with fright.\\n'Oh, I beg your pardon!' cried Alice hastily, afraid that she had hurt\\nthe poor animal's feelings. 'I quite forgot you didn't like cats.'\",\n        \"caption\": \"'Perhaps it doesn't understand English,' thought Alice; 'I daresay it's\\na French mouse, come over with William the Conqueror.' (For, with all\\nher knowledge of history, Alice had no very clear notion how long ago\\nanything had happened.) So she began again: 'Ou est ma chatte?' which\\nwas the first sentence in her French lesson-book. The Mouse gave a\\nsudden leap out of the water, and seemed to quiver all over with fright.\\n'Oh, I beg your pardon!' cried Alice hastily, afraid that she had hurt\\nthe poor animal's feelings. 'I quite forgot you didn't like cats.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-49\",\n        \"text\": \"'Not like cats!' cried the Mouse, in a shrill, passionate voice. 'Would\\nYOU like cats if you were me?'\",\n        \"caption\": \"'Not like cats!' cried the Mouse, in a shrill, passionate voice. 'Would\\nYOU like cats if you were me?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-50\",\n        \"text\": \"'Well, perhaps not,' said Alice in a soothing tone: 'don't be angry\\nabout it. And yet I wish I could show you our cat Dinah: I think you'd\\ntake a fancy to cats if you could only see her. She is such a dear quiet\\nthing,' Alice went on, half to herself, as she swam lazily about in the\\npool, 'and she sits purring so nicely by the fire, licking her paws and\\nwashing her face–and she is such a nice soft thing to nurse–and she's\\nsuch a capital one for catching mice–oh, I beg your pardon!' cried\\nAlice again, for this time the Mouse was bristling all over, and she\\nfelt certain it must be really offended. 'We won't talk about her any\\nmore if you'd rather not.'\",\n        \"caption\": \"'Well, perhaps not,' said Alice in a soothing tone: 'don't be angry\\nabout it. And yet I wish I could show you our cat Dinah: I think you'd\\ntake a fancy to cats if you could only see her. She is such a dear quiet\\nthing,' Alice went on, half to herself, as she swam lazily about in the\\npool, 'and she sits purring so nicely by the fire, licking her paws and\\nwashing her face–and she is such a nice soft thing to nurse–and she's\\nsuch a capital one for catching mice–oh, I beg your pardon!' cried\\nAlice again, for this time the Mouse was bristling all over, and she\\nfelt certain it must be really offended. 'We won't talk about her any\\nmore if you'd rather not.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-51\",\n        \"text\": \"'We indeed!' cried the Mouse, who was trembling down to the end of his\\ntail. 'As if I would talk on such a subject! Our family always HATED\\ncats: nasty, low, vulgar things! Don't let me hear the name again!'\",\n        \"caption\": \"'We indeed!' cried the Mouse, who was trembling down to the end of his\\ntail. 'As if I would talk on such a subject! Our family always HATED\\ncats: nasty, low, vulgar things! Don't let me hear the name again!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-52\",\n        \"text\": \"'I won't indeed!' said Alice, in a great hurry to change the subject of\\nconversation. 'Are you–are you fond–of–of dogs?' The Mouse did not\\nanswer, so Alice went on eagerly: 'There is such a nice little dog near\\nour house I should like to show you! A little bright-eyed terrier, you\\nknow, with oh, such long curly brown hair! And it'll fetch things when\\nyou throw them, and it'll sit up and beg for its dinner, and all sorts\\nof things–I can't remember half of them–and it belongs to a farmer,\\nyou know, and he says it's so useful, it's worth a hundred pounds! He\\nsays it kills all the rats and–oh dear!' cried Alice in a sorrowful\\ntone, 'I'm afraid I've offended it again!' For the Mouse was swimming\\naway from her as hard as it could go, and making quite a commotion in\\nthe pool as it went.\",\n        \"caption\": \"'I won't indeed!' said Alice, in a great hurry to change the subject of\\nconversation. 'Are you–are you fond–of–of dogs?' The Mouse did not\\nanswer, so Alice went on eagerly: 'There is such a nice little dog near\\nour house I should like to show you! A little bright-eyed terrier, you\\nknow, with oh, such long curly brown hair! And it'll fetch things when\\nyou throw them, and it'll sit up and beg for its dinner, and all sorts\\nof things–I can't remember half of them–and it belongs to a farmer,\\nyou know, and he says it's so useful, it's worth a hundred pounds! He\\nsays it kills all the rats and–oh dear!' cried Alice in a sorrowful\\ntone, 'I'm afraid I've offended it again!' For the Mouse was swimming\\naway from her as hard as it could go, and making quite a commotion in\\nthe pool as it went.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-53\",\n        \"text\": \"So she called softly after it, 'Mouse dear! Do come back again, and we\\nwon't talk about cats or dogs either, if you don't like them!' When the\\nMouse heard this, it turned round and swam slowly back to her: its\\nface was quite pale (with passion, Alice thought), and it said in a low\\ntrembling voice, 'Let us get to the shore, and then I'll tell you my\\nhistory, and you'll understand why it is I hate cats and dogs.'\",\n        \"caption\": \"So she called softly after it, 'Mouse dear! Do come back again, and we\\nwon't talk about cats or dogs either, if you don't like them!' When the\\nMouse heard this, it turned round and swam slowly back to her: its\\nface was quite pale (with passion, Alice thought), and it said in a low\\ntrembling voice, 'Let us get to the shore, and then I'll tell you my\\nhistory, and you'll understand why it is I hate cats and dogs.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-54\",\n        \"text\": \"It was high time to go, for the pool was getting quite crowded with the\\nbirds and animals that had fallen into it: there were a Duck and a Dodo,\\na Lory and an Eaglet, and several other curious creatures. Alice led the\\nway, and the whole party swam to the shore.\",\n        \"caption\": \"It was high time to go, for the pool was getting quite crowded with the\\nbirds and animals that had fallen into it: there were a Duck and a Dodo,\\na Lory and an Eaglet, and several other curious creatures. Alice led the\\nway, and the whole party swam to the shore.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-55\",\n        \"text\": \"<h3>CHAPTER III. A Caucus-Race and a Long Tale</h3>\",\n        \"caption\": \"CHAPTER III. A Caucus-Race and a Long Tale\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-56\",\n        \"text\": \"They were indeed a queer-looking party that assembled on the bank–the\\nbirds with draggled feathers, the animals with their fur clinging close\\nto them, and all dripping wet, cross, and uncomfortable.\",\n        \"caption\": \"They were indeed a queer-looking party that assembled on the bank–the\\nbirds with draggled feathers, the animals with their fur clinging close\\nto them, and all dripping wet, cross, and uncomfortable.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-57\",\n        \"text\": \"The first question of course was, how to get dry again: they had a\\nconsultation about this, and after a few minutes it seemed quite natural\\nto Alice to find herself talking familiarly with them, as if she had\\nknown them all her life. Indeed, she had quite a long argument with the\\nLory, who at last turned sulky, and would only say, 'I am older than\\nyou, and must know better'; and this Alice would not allow without\\nknowing how old it was, and, as the Lory positively refused to tell its\\nage, there was no more to be said.\",\n        \"caption\": \"The first question of course was, how to get dry again: they had a\\nconsultation about this, and after a few minutes it seemed quite natural\\nto Alice to find herself talking familiarly with them, as if she had\\nknown them all her life. Indeed, she had quite a long argument with the\\nLory, who at last turned sulky, and would only say, 'I am older than\\nyou, and must know better'; and this Alice would not allow without\\nknowing how old it was, and, as the Lory positively refused to tell its\\nage, there was no more to be said.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-58\",\n        \"text\": \"At last the Mouse, who seemed to be a person of authority among them,\\ncalled out, 'Sit down, all of you, and listen to me! I'LL soon make you\\ndry enough!' They all sat down at once, in a large ring, with the Mouse\\nin the middle. Alice kept her eyes anxiously fixed on it, for she felt\\nsure she would catch a bad cold if she did not get dry very soon.\",\n        \"caption\": \"At last the Mouse, who seemed to be a person of authority among them,\\ncalled out, 'Sit down, all of you, and listen to me! I'LL soon make you\\ndry enough!' They all sat down at once, in a large ring, with the Mouse\\nin the middle. Alice kept her eyes anxiously fixed on it, for she felt\\nsure she would catch a bad cold if she did not get dry very soon.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-59\",\n        \"text\": \"'Ahem!' said the Mouse with an important air, 'are you all ready? This\\nis the driest thing I know. Silence all round, if you please! &quot;William\\nthe Conqueror, whose cause was favoured by the pope, was soon submitted\\nto by the English, who wanted leaders, and had been of late much\\naccustomed to usurpation and conquest. Edwin and Morcar, the earls of\\nMercia and Northumbria–&quot;'\",\n        \"caption\": \"'Ahem!' said the Mouse with an important air, 'are you all ready? This\\nis the driest thing I know. Silence all round, if you please! &quot;William\\nthe Conqueror, whose cause was favoured by the pope, was soon submitted\\nto by the English, who wanted leaders, and had been of late much\\naccustomed to usurpation and conquest. Edwin and Morcar, the earls of\\nMercia and Northumbria–&quot;'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-60\",\n        \"text\": \"'Ugh!' said the Lory, with a shiver.\",\n        \"caption\": \"'Ugh!' said the Lory, with a shiver.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-61\",\n        \"text\": \"'I beg your pardon!' said the Mouse, frowning, but very politely: 'Did\\nyou speak?'\",\n        \"caption\": \"'I beg your pardon!' said the Mouse, frowning, but very politely: 'Did\\nyou speak?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-62\",\n        \"text\": \"'Not I!' said the Lory hastily.\",\n        \"caption\": \"'Not I!' said the Lory hastily.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-63\",\n        \"text\": \"'I thought you did,' said the Mouse. '–I proceed. &quot;Edwin and Morcar,\\nthe earls of Mercia and Northumbria, declared for him: and even Stigand,\\nthe patriotic archbishop of Canterbury, found it advisable–&quot;'\",\n        \"caption\": \"'I thought you did,' said the Mouse. '–I proceed. &quot;Edwin and Morcar,\\nthe earls of Mercia and Northumbria, declared for him: and even Stigand,\\nthe patriotic archbishop of Canterbury, found it advisable–&quot;'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-64\",\n        \"text\": \"'Found WHAT?' said the Duck.\",\n        \"caption\": \"'Found WHAT?' said the Duck.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-65\",\n        \"text\": \"'Found IT,' the Mouse replied rather crossly: 'of course you know what\\n&quot;it&quot; means.'\",\n        \"caption\": \"'Found IT,' the Mouse replied rather crossly: 'of course you know what\\n&quot;it&quot; means.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-66\",\n        \"text\": \"'I know what &quot;it&quot; means well enough, when I find a thing,' said the\\nDuck: 'it's generally a frog or a worm. The question is, what did the\\narchbishop find?'\",\n        \"caption\": \"'I know what &quot;it&quot; means well enough, when I find a thing,' said the\\nDuck: 'it's generally a frog or a worm. The question is, what did the\\narchbishop find?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-67\",\n        \"text\": \"The Mouse did not notice this question, but hurriedly went on, '&quot;–found\\nit advisable to go with Edgar Atheling to meet William and offer him the\\ncrown. William's conduct at first was moderate. But the insolence of his\\nNormans–&quot; How are you getting on now, my dear?' it continued, turning\\nto Alice as it spoke.\",\n        \"caption\": \"The Mouse did not notice this question, but hurriedly went on, '&quot;–found\\nit advisable to go with Edgar Atheling to meet William and offer him the\\ncrown. William's conduct at first was moderate. But the insolence of his\\nNormans–&quot; How are you getting on now, my dear?' it continued, turning\\nto Alice as it spoke.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-68\",\n        \"text\": \"'As wet as ever,' said Alice in a melancholy tone: 'it doesn't seem to\\ndry me at all.'\",\n        \"caption\": \"'As wet as ever,' said Alice in a melancholy tone: 'it doesn't seem to\\ndry me at all.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-69\",\n        \"text\": \"'In that case,' said the Dodo solemnly, rising to its feet, 'I move\\nthat the meeting adjourn, for the immediate adoption of more energetic\\nremedies–'\",\n        \"caption\": \"'In that case,' said the Dodo solemnly, rising to its feet, 'I move\\nthat the meeting adjourn, for the immediate adoption of more energetic\\nremedies–'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-70\",\n        \"text\": \"'Speak English!' said the Eaglet. 'I don't know the meaning of half\\nthose long words, and, what's more, I don't believe you do either!' And\\nthe Eaglet bent down its head to hide a smile: some of the other birds\\ntittered audibly.\",\n        \"caption\": \"'Speak English!' said the Eaglet. 'I don't know the meaning of half\\nthose long words, and, what's more, I don't believe you do either!' And\\nthe Eaglet bent down its head to hide a smile: some of the other birds\\ntittered audibly.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-71\",\n        \"text\": \"'What I was going to say,' said the Dodo in an offended tone, 'was, that\\nthe best thing to get us dry would be a Caucus-race.'\",\n        \"caption\": \"'What I was going to say,' said the Dodo in an offended tone, 'was, that\\nthe best thing to get us dry would be a Caucus-race.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-72\",\n        \"text\": \"'What IS a Caucus-race?' said Alice; not that she wanted much to know,\\nbut the Dodo had paused as if it thought that SOMEBODY ought to speak,\\nand no one else seemed inclined to say anything.\",\n        \"caption\": \"'What IS a Caucus-race?' said Alice; not that she wanted much to know,\\nbut the Dodo had paused as if it thought that SOMEBODY ought to speak,\\nand no one else seemed inclined to say anything.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-73\",\n        \"text\": \"'Why,' said the Dodo, 'the best way to explain it is to do it.' (And, as\\nyou might like to try the thing yourself, some winter day, I will tell\\nyou how the Dodo managed it.)\",\n        \"caption\": \"'Why,' said the Dodo, 'the best way to explain it is to do it.' (And, as\\nyou might like to try the thing yourself, some winter day, I will tell\\nyou how the Dodo managed it.)\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-74\",\n        \"text\": \"First it marked out a race-course, in a sort of circle, ('the exact\\nshape doesn't matter,' it said,) and then all the party were placed\\nalong the course, here and there. There was no 'One, two, three, and\\naway,' but they began running when they liked, and left off when they\\nliked, so that it was not easy to know when the race was over. However,\\nwhen they had been running half an hour or so, and were quite dry again,\\nthe Dodo suddenly called out 'The race is over!' and they all crowded\\nround it, panting, and asking, 'But who has won?'\",\n        \"caption\": \"First it marked out a race-course, in a sort of circle, ('the exact\\nshape doesn't matter,' it said,) and then all the party were placed\\nalong the course, here and there. There was no 'One, two, three, and\\naway,' but they began running when they liked, and left off when they\\nliked, so that it was not easy to know when the race was over. However,\\nwhen they had been running half an hour or so, and were quite dry again,\\nthe Dodo suddenly called out 'The race is over!' and they all crowded\\nround it, panting, and asking, 'But who has won?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-75\",\n        \"text\": \"This question the Dodo could not answer without a great deal of thought,\\nand it sat for a long time with one finger pressed upon its forehead\\n(the position in which you usually see Shakespeare, in the pictures\\nof him), while the rest waited in silence. At last the Dodo said,\\n'EVERYBODY has won, and all must have prizes.'\",\n        \"caption\": \"This question the Dodo could not answer without a great deal of thought,\\nand it sat for a long time with one finger pressed upon its forehead\\n(the position in which you usually see Shakespeare, in the pictures\\nof him), while the rest waited in silence. At last the Dodo said,\\n'EVERYBODY has won, and all must have prizes.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-76\",\n        \"text\": \"'But who is to give the prizes?' quite a chorus of voices asked.\",\n        \"caption\": \"'But who is to give the prizes?' quite a chorus of voices asked.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-77\",\n        \"text\": \"'Why, SHE, of course,' said the Dodo, pointing to Alice with one finger;\\nand the whole party at once crowded round her, calling out in a confused\\nway, 'Prizes! Prizes!'\",\n        \"caption\": \"'Why, SHE, of course,' said the Dodo, pointing to Alice with one finger;\\nand the whole party at once crowded round her, calling out in a confused\\nway, 'Prizes! Prizes!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-78\",\n        \"text\": \"Alice had no idea what to do, and in despair she put her hand in her\\npocket, and pulled out a box of comfits, (luckily the salt water had\\nnot got into it), and handed them round as prizes. There was exactly one\\na-piece all round.\",\n        \"caption\": \"Alice had no idea what to do, and in despair she put her hand in her\\npocket, and pulled out a box of comfits, (luckily the salt water had\\nnot got into it), and handed them round as prizes. There was exactly one\\na-piece all round.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-79\",\n        \"text\": \"'But she must have a prize herself, you know,' said the Mouse.\",\n        \"caption\": \"'But she must have a prize herself, you know,' said the Mouse.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-80\",\n        \"text\": \"'Of course,' the Dodo replied very gravely. 'What else have you got in\\nyour pocket?' he went on, turning to Alice.\",\n        \"caption\": \"'Of course,' the Dodo replied very gravely. 'What else have you got in\\nyour pocket?' he went on, turning to Alice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-81\",\n        \"text\": \"'Only a thimble,' said Alice sadly.\",\n        \"caption\": \"'Only a thimble,' said Alice sadly.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-82\",\n        \"text\": \"'Hand it over here,' said the Dodo.\",\n        \"caption\": \"'Hand it over here,' said the Dodo.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-83\",\n        \"text\": \"Then they all crowded round her once more, while the Dodo solemnly\\npresented the thimble, saying 'We beg your acceptance of this elegant\\nthimble'; and, when it had finished this short speech, they all cheered.\",\n        \"caption\": \"Then they all crowded round her once more, while the Dodo solemnly\\npresented the thimble, saying 'We beg your acceptance of this elegant\\nthimble'; and, when it had finished this short speech, they all cheered.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-84\",\n        \"text\": \"Alice thought the whole thing very absurd, but they all looked so grave\\nthat she did not dare to laugh; and, as she could not think of anything\\nto say, she simply bowed, and took the thimble, looking as solemn as she\\ncould.\",\n        \"caption\": \"Alice thought the whole thing very absurd, but they all looked so grave\\nthat she did not dare to laugh; and, as she could not think of anything\\nto say, she simply bowed, and took the thimble, looking as solemn as she\\ncould.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-85\",\n        \"text\": \"The next thing was to eat the comfits: this caused some noise and\\nconfusion, as the large birds complained that they could not taste\\ntheirs, and the small ones choked and had to be patted on the back.\\nHowever, it was over at last, and they sat down again in a ring, and\\nbegged the Mouse to tell them something more.\",\n        \"caption\": \"The next thing was to eat the comfits: this caused some noise and\\nconfusion, as the large birds complained that they could not taste\\ntheirs, and the small ones choked and had to be patted on the back.\\nHowever, it was over at last, and they sat down again in a ring, and\\nbegged the Mouse to tell them something more.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-86\",\n        \"text\": \"'You promised to tell me your history, you know,' said Alice, 'and why\\nit is you hate–C and D,' she added in a whisper, half afraid that it\\nwould be offended again.\",\n        \"caption\": \"'You promised to tell me your history, you know,' said Alice, 'and why\\nit is you hate–C and D,' she added in a whisper, half afraid that it\\nwould be offended again.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-87\",\n        \"text\": \"'Mine is a long and a sad tale!' said the Mouse, turning to Alice, and\\nsighing.\",\n        \"caption\": \"'Mine is a long and a sad tale!' said the Mouse, turning to Alice, and\\nsighing.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-88\",\n        \"text\": \"'It IS a long tail, certainly,' said Alice, looking down with wonder at\\nthe Mouse's tail; 'but why do you call it sad?' And she kept on puzzling\\nabout it while the Mouse was speaking, so that her idea of the tale was\\nsomething like this:–\",\n        \"caption\": \"'It IS a long tail, certainly,' said Alice, looking down with wonder at\\nthe Mouse's tail; 'but why do you call it sad?' And she kept on puzzling\\nabout it while the Mouse was speaking, so that her idea of the tale was\\nsomething like this:–\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-89\",\n        \"text\": \"'Fury said to a\\n         mouse, That he\\n        met in the\\n       house,\\n     &quot;Let us\\n      both go to\\n       law: I will\\n        prosecute\\n         YOU.–Come,\\n           I'll take no\\n           denial; We\\n          must have a\\n        trial: For\\n      really this\\n     morning I've\\n    nothing\\n    to do.&quot;\\n     Said the\\n      mouse to the\\n       cur, &quot;Such\\n        a trial,\\n         dear Sir,\\n            With\\n          no jury\\n        or judge,\\n       would be\\n      wasting\\n      our\\n      breath.&quot;\\n       &quot;I'll be\\n        judge, I'll\\n         be jury,&quot;\\n            Said\\n         cunning\\n          old Fury:\\n          &quot;I'll\\n          try the\\n            whole\\n            cause,\\n              and\\n           condemn\\n           you\\n          to\\n           death.&quot;'\",\n        \"caption\": \"'Fury said to a\\n         mouse, That he\\n        met in the\\n       house,\\n     &quot;Let us\\n      both go to\\n       law: I will\\n        prosecute\\n         YOU.–Come,\\n           I'll take no\\n           denial; We\\n          must have a\\n        trial: For\\n      really this\\n     morning I've\\n    nothing\\n    to do.&quot;\\n     Said the\\n      mouse to the\\n       cur, &quot;Such\\n        a trial,\\n         dear Sir,\\n            With\\n          no jury\\n        or judge,\\n       would be\\n      wasting\\n      our\\n      breath.&quot;\\n       &quot;I'll be\\n        judge, I'll\\n         be jury,&quot;\\n            Said\\n         cunning\\n          old Fury:\\n          &quot;I'll\\n          try the\\n            whole\\n            cause,\\n              and\\n           condemn\\n           you\\n          to\\n           death.&quot;'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-90\",\n        \"text\": \"'You are not attending!' said the Mouse to Alice severely. 'What are you\\nthinking of?'\",\n        \"caption\": \"'You are not attending!' said the Mouse to Alice severely. 'What are you\\nthinking of?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-91\",\n        \"text\": \"'I beg your pardon,' said Alice very humbly: 'you had got to the fifth\\nbend, I think?'\",\n        \"caption\": \"'I beg your pardon,' said Alice very humbly: 'you had got to the fifth\\nbend, I think?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-92\",\n        \"text\": \"'I had NOT!' cried the Mouse, sharply and very angrily.\",\n        \"caption\": \"'I had NOT!' cried the Mouse, sharply and very angrily.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-93\",\n        \"text\": \"'A knot!' said Alice, always ready to make herself useful, and looking\\nanxiously about her. 'Oh, do let me help to undo it!'\",\n        \"caption\": \"'A knot!' said Alice, always ready to make herself useful, and looking\\nanxiously about her. 'Oh, do let me help to undo it!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-94\",\n        \"text\": \"'I shall do nothing of the sort,' said the Mouse, getting up and walking\\naway. 'You insult me by talking such nonsense!'\",\n        \"caption\": \"'I shall do nothing of the sort,' said the Mouse, getting up and walking\\naway. 'You insult me by talking such nonsense!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-95\",\n        \"text\": \"'I didn't mean it!' pleaded poor Alice. 'But you're so easily offended,\\nyou know!'\",\n        \"caption\": \"'I didn't mean it!' pleaded poor Alice. 'But you're so easily offended,\\nyou know!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-96\",\n        \"text\": \"The Mouse only growled in reply.\",\n        \"caption\": \"The Mouse only growled in reply.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-97\",\n        \"text\": \"'Please come back and finish your story!' Alice called after it; and the\\nothers all joined in chorus, 'Yes, please do!' but the Mouse only shook\\nits head impatiently, and walked a little quicker.\",\n        \"caption\": \"'Please come back and finish your story!' Alice called after it; and the\\nothers all joined in chorus, 'Yes, please do!' but the Mouse only shook\\nits head impatiently, and walked a little quicker.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-98\",\n        \"text\": \"'What a pity it wouldn't stay!' sighed the Lory, as soon as it was quite\\nout of sight; and an old Crab took the opportunity of saying to her\\ndaughter 'Ah, my dear! Let this be a lesson to you never to lose\\nYOUR temper!' 'Hold your tongue, Ma!' said the young Crab, a little\\nsnappishly. 'You're enough to try the patience of an oyster!'\",\n        \"caption\": \"'What a pity it wouldn't stay!' sighed the Lory, as soon as it was quite\\nout of sight; and an old Crab took the opportunity of saying to her\\ndaughter 'Ah, my dear! Let this be a lesson to you never to lose\\nYOUR temper!' 'Hold your tongue, Ma!' said the young Crab, a little\\nsnappishly. 'You're enough to try the patience of an oyster!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-99\",\n        \"text\": \"'I wish I had our Dinah here, I know I do!' said Alice aloud, addressing\\nnobody in particular. 'She'd soon fetch it back!'\",\n        \"caption\": \"'I wish I had our Dinah here, I know I do!' said Alice aloud, addressing\\nnobody in particular. 'She'd soon fetch it back!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-100\",\n        \"text\": \"'And who is Dinah, if I might venture to ask the question?' said the\\nLory.\",\n        \"caption\": \"'And who is Dinah, if I might venture to ask the question?' said the\\nLory.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-101\",\n        \"text\": \"Alice replied eagerly, for she was always ready to talk about her pet:\\n'Dinah's our cat. And she's such a capital one for catching mice you\\ncan't think! And oh, I wish you could see her after the birds! Why,\\nshe'll eat a little bird as soon as look at it!'\",\n        \"caption\": \"Alice replied eagerly, for she was always ready to talk about her pet:\\n'Dinah's our cat. And she's such a capital one for catching mice you\\ncan't think! And oh, I wish you could see her after the birds! Why,\\nshe'll eat a little bird as soon as look at it!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-102\",\n        \"text\": \"This speech caused a remarkable sensation among the party. Some of the\\nbirds hurried off at once: one old Magpie began wrapping itself up very\\ncarefully, remarking, 'I really must be getting home; the night-air\\ndoesn't suit my throat!' and a Canary called out in a trembling voice to\\nits children, 'Come away, my dears! It's high time you were all in bed!'\\nOn various pretexts they all moved off, and Alice was soon left alone.\",\n        \"caption\": \"This speech caused a remarkable sensation among the party. Some of the\\nbirds hurried off at once: one old Magpie began wrapping itself up very\\ncarefully, remarking, 'I really must be getting home; the night-air\\ndoesn't suit my throat!' and a Canary called out in a trembling voice to\\nits children, 'Come away, my dears! It's high time you were all in bed!'\\nOn various pretexts they all moved off, and Alice was soon left alone.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-103\",\n        \"text\": \"'I wish I hadn't mentioned Dinah!' she said to herself in a melancholy\\ntone. 'Nobody seems to like her, down here, and I'm sure she's the best\\ncat in the world! Oh, my dear Dinah! I wonder if I shall ever see you\\nany more!' And here poor Alice began to cry again, for she felt very\\nlonely and low-spirited. In a little while, however, she again heard\\na little pattering of footsteps in the distance, and she looked up\\neagerly, half hoping that the Mouse had changed his mind, and was coming\\nback to finish his story.\",\n        \"caption\": \"'I wish I hadn't mentioned Dinah!' she said to herself in a melancholy\\ntone. 'Nobody seems to like her, down here, and I'm sure she's the best\\ncat in the world! Oh, my dear Dinah! I wonder if I shall ever see you\\nany more!' And here poor Alice began to cry again, for she felt very\\nlonely and low-spirited. In a little while, however, she again heard\\na little pattering of footsteps in the distance, and she looked up\\neagerly, half hoping that the Mouse had changed his mind, and was coming\\nback to finish his story.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-104\",\n        \"text\": \"<h3>CHAPTER IV. The Rabbit Sends in a Little Bill</h3>\",\n        \"caption\": \"CHAPTER IV. The Rabbit Sends in a Little Bill\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-105\",\n        \"text\": \"It was the White Rabbit, trotting slowly back again, and looking\\nanxiously about as it went, as if it had lost something; and she heard\\nit muttering to itself 'The Duchess! The Duchess! Oh my dear paws! Oh\\nmy fur and whiskers! She'll get me executed, as sure as ferrets are\\nferrets! Where CAN I have dropped them, I wonder?' Alice guessed in a\\nmoment that it was looking for the fan and the pair of white kid gloves,\\nand she very good-naturedly began hunting about for them, but they were\\nnowhere to be seen–everything seemed to have changed since her swim in\\nthe pool, and the great hall, with the glass table and the little door,\\nhad vanished completely.\",\n        \"caption\": \"It was the White Rabbit, trotting slowly back again, and looking\\nanxiously about as it went, as if it had lost something; and she heard\\nit muttering to itself 'The Duchess! The Duchess! Oh my dear paws! Oh\\nmy fur and whiskers! She'll get me executed, as sure as ferrets are\\nferrets! Where CAN I have dropped them, I wonder?' Alice guessed in a\\nmoment that it was looking for the fan and the pair of white kid gloves,\\nand she very good-naturedly began hunting about for them, but they were\\nnowhere to be seen–everything seemed to have changed since her swim in\\nthe pool, and the great hall, with the glass table and the little door,\\nhad vanished completely.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-106\",\n        \"text\": \"Very soon the Rabbit noticed Alice, as she went hunting about, and\\ncalled out to her in an angry tone, 'Why, Mary Ann, what ARE you doing\\nout here? Run home this moment, and fetch me a pair of gloves and a fan!\\nQuick, now!' And Alice was so much frightened that she ran off at once\\nin the direction it pointed to, without trying to explain the mistake it\\nhad made.\",\n        \"caption\": \"Very soon the Rabbit noticed Alice, as she went hunting about, and\\ncalled out to her in an angry tone, 'Why, Mary Ann, what ARE you doing\\nout here? Run home this moment, and fetch me a pair of gloves and a fan!\\nQuick, now!' And Alice was so much frightened that she ran off at once\\nin the direction it pointed to, without trying to explain the mistake it\\nhad made.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-107\",\n        \"text\": \"'He took me for his housemaid,' she said to herself as she ran. 'How\\nsurprised he'll be when he finds out who I am! But I'd better take him\\nhis fan and gloves–that is, if I can find them.' As she said this, she\\ncame upon a neat little house, on the door of which was a bright brass\\nplate with the name 'W. RABBIT' engraved upon it. She went in without\\nknocking, and hurried upstairs, in great fear lest she should meet the\\nreal Mary Ann, and be turned out of the house before she had found the\\nfan and gloves.\",\n        \"caption\": \"'He took me for his housemaid,' she said to herself as she ran. 'How\\nsurprised he'll be when he finds out who I am! But I'd better take him\\nhis fan and gloves–that is, if I can find them.' As she said this, she\\ncame upon a neat little house, on the door of which was a bright brass\\nplate with the name 'W. RABBIT' engraved upon it. She went in without\\nknocking, and hurried upstairs, in great fear lest she should meet the\\nreal Mary Ann, and be turned out of the house before she had found the\\nfan and gloves.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-108\",\n        \"text\": \"'How queer it seems,' Alice said to herself, 'to be going messages for\\na rabbit! I suppose Dinah'll be sending me on messages next!' And she\\nbegan fancying the sort of thing that would happen: '&quot;Miss Alice! Come\\nhere directly, and get ready for your walk!&quot; &quot;Coming in a minute,\\nnurse! But I've got to see that the mouse doesn't get out.&quot; Only I don't\\nthink,' Alice went on, 'that they'd let Dinah stop in the house if it\\nbegan ordering people about like that!'\",\n        \"caption\": \"'How queer it seems,' Alice said to herself, 'to be going messages for\\na rabbit! I suppose Dinah'll be sending me on messages next!' And she\\nbegan fancying the sort of thing that would happen: '&quot;Miss Alice! Come\\nhere directly, and get ready for your walk!&quot; &quot;Coming in a minute,\\nnurse! But I've got to see that the mouse doesn't get out.&quot; Only I don't\\nthink,' Alice went on, 'that they'd let Dinah stop in the house if it\\nbegan ordering people about like that!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-109\",\n        \"text\": \"By this time she had found her way into a tidy little room with a table\\nin the window, and on it (as she had hoped) a fan and two or three pairs\\nof tiny white kid gloves: she took up the fan and a pair of the gloves,\\nand was just going to leave the room, when her eye fell upon a little\\nbottle that stood near the looking-glass. There was no label this time\\nwith the words 'DRINK ME,' but nevertheless she uncorked it and put it\\nto her lips. 'I know SOMETHING interesting is sure to happen,' she said\\nto herself, 'whenever I eat or drink anything; so I'll just see what\\nthis bottle does. I do hope it'll make me grow large again, for really\\nI'm quite tired of being such a tiny little thing!'\",\n        \"caption\": \"By this time she had found her way into a tidy little room with a table\\nin the window, and on it (as she had hoped) a fan and two or three pairs\\nof tiny white kid gloves: she took up the fan and a pair of the gloves,\\nand was just going to leave the room, when her eye fell upon a little\\nbottle that stood near the looking-glass. There was no label this time\\nwith the words 'DRINK ME,' but nevertheless she uncorked it and put it\\nto her lips. 'I know SOMETHING interesting is sure to happen,' she said\\nto herself, 'whenever I eat or drink anything; so I'll just see what\\nthis bottle does. I do hope it'll make me grow large again, for really\\nI'm quite tired of being such a tiny little thing!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-110\",\n        \"text\": \"It did so indeed, and much sooner than she had expected: before she had\\ndrunk half the bottle, she found her head pressing against the ceiling,\\nand had to stoop to save her neck from being broken. She hastily put\\ndown the bottle, saying to herself 'That's quite enough–I hope I shan't\\ngrow any more–As it is, I can't get out at the door–I do wish I hadn't\\ndrunk quite so much!'\",\n        \"caption\": \"It did so indeed, and much sooner than she had expected: before she had\\ndrunk half the bottle, she found her head pressing against the ceiling,\\nand had to stoop to save her neck from being broken. She hastily put\\ndown the bottle, saying to herself 'That's quite enough–I hope I shan't\\ngrow any more–As it is, I can't get out at the door–I do wish I hadn't\\ndrunk quite so much!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-111\",\n        \"text\": \"Alas! it was too late to wish that! She went on growing, and growing,\\nand very soon had to kneel down on the floor: in another minute there\\nwas not even room for this, and she tried the effect of lying down with\\none elbow against the door, and the other arm curled round her head.\\nStill she went on growing, and, as a last resource, she put one arm out\\nof the window, and one foot up the chimney, and said to herself 'Now I\\ncan do no more, whatever happens. What WILL become of me?'\",\n        \"caption\": \"Alas! it was too late to wish that! She went on growing, and growing,\\nand very soon had to kneel down on the floor: in another minute there\\nwas not even room for this, and she tried the effect of lying down with\\none elbow against the door, and the other arm curled round her head.\\nStill she went on growing, and, as a last resource, she put one arm out\\nof the window, and one foot up the chimney, and said to herself 'Now I\\ncan do no more, whatever happens. What WILL become of me?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-112\",\n        \"text\": \"Luckily for Alice, the little magic bottle had now had its full effect,\\nand she grew no larger: still it was very uncomfortable, and, as there\\nseemed to be no sort of chance of her ever getting out of the room\\nagain, no wonder she felt unhappy.\",\n        \"caption\": \"Luckily for Alice, the little magic bottle had now had its full effect,\\nand she grew no larger: still it was very uncomfortable, and, as there\\nseemed to be no sort of chance of her ever getting out of the room\\nagain, no wonder she felt unhappy.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-113\",\n        \"text\": \"'It was much pleasanter at home,' thought poor Alice, 'when one wasn't\\nalways growing larger and smaller, and being ordered about by mice and\\nrabbits. I almost wish I hadn't gone down that rabbit-hole–and yet–and\\nyet–it's rather curious, you know, this sort of life! I do wonder what\\nCAN have happened to me! When I used to read fairy-tales, I fancied that\\nkind of thing never happened, and now here I am in the middle of one!\\nThere ought to be a book written about me, that there ought! And when I\\ngrow up, I'll write one–but I'm grown up now,' she added in a sorrowful\\ntone; 'at least there's no room to grow up any more HERE.'\",\n        \"caption\": \"'It was much pleasanter at home,' thought poor Alice, 'when one wasn't\\nalways growing larger and smaller, and being ordered about by mice and\\nrabbits. I almost wish I hadn't gone down that rabbit-hole–and yet–and\\nyet–it's rather curious, you know, this sort of life! I do wonder what\\nCAN have happened to me! When I used to read fairy-tales, I fancied that\\nkind of thing never happened, and now here I am in the middle of one!\\nThere ought to be a book written about me, that there ought! And when I\\ngrow up, I'll write one–but I'm grown up now,' she added in a sorrowful\\ntone; 'at least there's no room to grow up any more HERE.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-114\",\n        \"text\": \"'But then,' thought Alice, 'shall I NEVER get any older than I am\\nnow? That'll be a comfort, one way–never to be an old woman–but\\nthen–always to have lessons to learn! Oh, I shouldn't like THAT!'\",\n        \"caption\": \"'But then,' thought Alice, 'shall I NEVER get any older than I am\\nnow? That'll be a comfort, one way–never to be an old woman–but\\nthen–always to have lessons to learn! Oh, I shouldn't like THAT!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-115\",\n        \"text\": \"'Oh, you foolish Alice!' she answered herself. 'How can you learn\\nlessons in here? Why, there's hardly room for YOU, and no room at all\\nfor any lesson-books!'\",\n        \"caption\": \"'Oh, you foolish Alice!' she answered herself. 'How can you learn\\nlessons in here? Why, there's hardly room for YOU, and no room at all\\nfor any lesson-books!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-116\",\n        \"text\": \"And so she went on, taking first one side and then the other, and making\\nquite a conversation of it altogether; but after a few minutes she heard\\na voice outside, and stopped to listen.\",\n        \"caption\": \"And so she went on, taking first one side and then the other, and making\\nquite a conversation of it altogether; but after a few minutes she heard\\na voice outside, and stopped to listen.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-117\",\n        \"text\": \"'Mary Ann! Mary Ann!' said the voice. 'Fetch me my gloves this moment!'\\nThen came a little pattering of feet on the stairs. Alice knew it was\\nthe Rabbit coming to look for her, and she trembled till she shook the\\nhouse, quite forgetting that she was now about a thousand times as large\\nas the Rabbit, and had no reason to be afraid of it.\",\n        \"caption\": \"'Mary Ann! Mary Ann!' said the voice. 'Fetch me my gloves this moment!'\\nThen came a little pattering of feet on the stairs. Alice knew it was\\nthe Rabbit coming to look for her, and she trembled till she shook the\\nhouse, quite forgetting that she was now about a thousand times as large\\nas the Rabbit, and had no reason to be afraid of it.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-118\",\n        \"text\": \"Presently the Rabbit came up to the door, and tried to open it; but, as\\nthe door opened inwards, and Alice's elbow was pressed hard against it,\\nthat attempt proved a failure. Alice heard it say to itself 'Then I'll\\ngo round and get in at the window.'\",\n        \"caption\": \"Presently the Rabbit came up to the door, and tried to open it; but, as\\nthe door opened inwards, and Alice's elbow was pressed hard against it,\\nthat attempt proved a failure. Alice heard it say to itself 'Then I'll\\ngo round and get in at the window.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-119\",\n        \"text\": \"'THAT you won't' thought Alice, and, after waiting till she fancied\\nshe heard the Rabbit just under the window, she suddenly spread out her\\nhand, and made a snatch in the air. She did not get hold of anything,\\nbut she heard a little shriek and a fall, and a crash of broken glass,\\nfrom which she concluded that it was just possible it had fallen into a\\ncucumber-frame, or something of the sort.\",\n        \"caption\": \"'THAT you won't' thought Alice, and, after waiting till she fancied\\nshe heard the Rabbit just under the window, she suddenly spread out her\\nhand, and made a snatch in the air. She did not get hold of anything,\\nbut she heard a little shriek and a fall, and a crash of broken glass,\\nfrom which she concluded that it was just possible it had fallen into a\\ncucumber-frame, or something of the sort.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-120\",\n        \"text\": \"Next came an angry voice–the Rabbit's–'Pat! Pat! Where are you?' And\\nthen a voice she had never heard before, 'Sure then I'm here! Digging\\nfor apples, yer honour!'\",\n        \"caption\": \"Next came an angry voice–the Rabbit's–'Pat! Pat! Where are you?' And\\nthen a voice she had never heard before, 'Sure then I'm here! Digging\\nfor apples, yer honour!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-121\",\n        \"text\": \"'Digging for apples, indeed!' said the Rabbit angrily. 'Here! Come and\\nhelp me out of THIS!' (Sounds of more broken glass.)\",\n        \"caption\": \"'Digging for apples, indeed!' said the Rabbit angrily. 'Here! Come and\\nhelp me out of THIS!' (Sounds of more broken glass.)\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-122\",\n        \"text\": \"'Now tell me, Pat, what's that in the window?'\",\n        \"caption\": \"'Now tell me, Pat, what's that in the window?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-123\",\n        \"text\": \"'Sure, it's an arm, yer honour!' (He pronounced it 'arrum.')\",\n        \"caption\": \"'Sure, it's an arm, yer honour!' (He pronounced it 'arrum.')\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-124\",\n        \"text\": \"'An arm, you goose! Who ever saw one that size? Why, it fills the whole\\nwindow!'\",\n        \"caption\": \"'An arm, you goose! Who ever saw one that size? Why, it fills the whole\\nwindow!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-125\",\n        \"text\": \"'Sure, it does, yer honour: but it's an arm for all that.'\",\n        \"caption\": \"'Sure, it does, yer honour: but it's an arm for all that.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-126\",\n        \"text\": \"'Well, it's got no business there, at any rate: go and take it away!'\",\n        \"caption\": \"'Well, it's got no business there, at any rate: go and take it away!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-127\",\n        \"text\": \"There was a long silence after this, and Alice could only hear whispers\\nnow and then; such as, 'Sure, I don't like it, yer honour, at all, at\\nall!' 'Do as I tell you, you coward!' and at last she spread out her\\nhand again, and made another snatch in the air. This time there were\\nTWO little shrieks, and more sounds of broken glass. 'What a number of\\ncucumber-frames there must be!' thought Alice. 'I wonder what they'll do\\nnext! As for pulling me out of the window, I only wish they COULD! I'm\\nsure I don't want to stay in here any longer!'\",\n        \"caption\": \"There was a long silence after this, and Alice could only hear whispers\\nnow and then; such as, 'Sure, I don't like it, yer honour, at all, at\\nall!' 'Do as I tell you, you coward!' and at last she spread out her\\nhand again, and made another snatch in the air. This time there were\\nTWO little shrieks, and more sounds of broken glass. 'What a number of\\ncucumber-frames there must be!' thought Alice. 'I wonder what they'll do\\nnext! As for pulling me out of the window, I only wish they COULD! I'm\\nsure I don't want to stay in here any longer!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-128\",\n        \"text\": \"She waited for some time without hearing anything more: at last came a\\nrumbling of little cartwheels, and the sound of a good many voices\\nall talking together: she made out the words: 'Where's the other\\nladder?–Why, I hadn't to bring but one; Bill's got the other–Bill!\\nfetch it here, lad!–Here, put 'em up at this corner–No, tie 'em\\ntogether first–they don't reach half high enough yet–Oh! they'll\\ndo well enough; don't be particular–Here, Bill! catch hold of this\\nrope–Will the roof bear?–Mind that loose slate–Oh, it's coming\\ndown! Heads below!' (a loud crash)–'Now, who did that?–It was Bill, I\\nfancy–Who's to go down the chimney?–Nay, I shan't! YOU do it!–That I\\nwon't, then!–Bill's to go down–Here, Bill! the master says you're to\\ngo down the chimney!'\",\n        \"caption\": \"She waited for some time without hearing anything more: at last came a\\nrumbling of little cartwheels, and the sound of a good many voices\\nall talking together: she made out the words: 'Where's the other\\nladder?–Why, I hadn't to bring but one; Bill's got the other–Bill!\\nfetch it here, lad!–Here, put 'em up at this corner–No, tie 'em\\ntogether first–they don't reach half high enough yet–Oh! they'll\\ndo well enough; don't be particular–Here, Bill! catch hold of this\\nrope–Will the roof bear?–Mind that loose slate–Oh, it's coming\\ndown! Heads below!' (a loud crash)–'Now, who did that?–It was Bill, I\\nfancy–Who's to go down the chimney?–Nay, I shan't! YOU do it!–That I\\nwon't, then!–Bill's to go down–Here, Bill! the master says you're to\\ngo down the chimney!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-129\",\n        \"text\": \"'Oh! So Bill's got to come down the chimney, has he?' said Alice to\\nherself. 'Shy, they seem to put everything upon Bill! I wouldn't be in\\nBill's place for a good deal: this fireplace is narrow, to be sure; but\\nI THINK I can kick a little!'\",\n        \"caption\": \"'Oh! So Bill's got to come down the chimney, has he?' said Alice to\\nherself. 'Shy, they seem to put everything upon Bill! I wouldn't be in\\nBill's place for a good deal: this fireplace is narrow, to be sure; but\\nI THINK I can kick a little!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-130\",\n        \"text\": \"She drew her foot as far down the chimney as she could, and waited\\ntill she heard a little animal (she couldn't guess of what sort it was)\\nscratching and scrambling about in the chimney close above her: then,\\nsaying to herself 'This is Bill,' she gave one sharp kick, and waited to\\nsee what would happen next.\",\n        \"caption\": \"She drew her foot as far down the chimney as she could, and waited\\ntill she heard a little animal (she couldn't guess of what sort it was)\\nscratching and scrambling about in the chimney close above her: then,\\nsaying to herself 'This is Bill,' she gave one sharp kick, and waited to\\nsee what would happen next.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-131\",\n        \"text\": \"The first thing she heard was a general chorus of 'There goes Bill!'\\nthen the Rabbit's voice along–'Catch him, you by the hedge!' then\\nsilence, and then another confusion of voices–'Hold up his head–Brandy\\nnow–Don't choke him–How was it, old fellow? What happened to you? Tell\\nus all about it!'\",\n        \"caption\": \"The first thing she heard was a general chorus of 'There goes Bill!'\\nthen the Rabbit's voice along–'Catch him, you by the hedge!' then\\nsilence, and then another confusion of voices–'Hold up his head–Brandy\\nnow–Don't choke him–How was it, old fellow? What happened to you? Tell\\nus all about it!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-132\",\n        \"text\": \"Last came a little feeble, squeaking voice, ('That's Bill,' thought\\nAlice,) 'Well, I hardly know–No more, thank ye; I'm better now–but I'm\\na deal too flustered to tell you–all I know is, something comes at me\\nlike a Jack-in-the-box, and up I goes like a sky-rocket!'\",\n        \"caption\": \"Last came a little feeble, squeaking voice, ('That's Bill,' thought\\nAlice,) 'Well, I hardly know–No more, thank ye; I'm better now–but I'm\\na deal too flustered to tell you–all I know is, something comes at me\\nlike a Jack-in-the-box, and up I goes like a sky-rocket!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-133\",\n        \"text\": \"'So you did, old fellow!' said the others.\",\n        \"caption\": \"'So you did, old fellow!' said the others.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-134\",\n        \"text\": \"'We must burn the house down!' said the Rabbit's voice; and Alice called\\nout as loud as she could, 'If you do. I'll set Dinah at you!'\",\n        \"caption\": \"'We must burn the house down!' said the Rabbit's voice; and Alice called\\nout as loud as she could, 'If you do. I'll set Dinah at you!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-135\",\n        \"text\": \"There was a dead silence instantly, and Alice thought to herself, 'I\\nwonder what they WILL do next! If they had any sense, they'd take the\\nroof off.' After a minute or two, they began moving about again, and\\nAlice heard the Rabbit say, 'A barrowful will do, to begin with.'\",\n        \"caption\": \"There was a dead silence instantly, and Alice thought to herself, 'I\\nwonder what they WILL do next! If they had any sense, they'd take the\\nroof off.' After a minute or two, they began moving about again, and\\nAlice heard the Rabbit say, 'A barrowful will do, to begin with.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-136\",\n        \"text\": \"'A barrowful of WHAT?' thought Alice; but she had not long to doubt,\\nfor the next moment a shower of little pebbles came rattling in at the\\nwindow, and some of them hit her in the face. 'I'll put a stop to this,'\\nshe said to herself, and shouted out, 'You'd better not do that again!'\\nwhich produced another dead silence.\",\n        \"caption\": \"'A barrowful of WHAT?' thought Alice; but she had not long to doubt,\\nfor the next moment a shower of little pebbles came rattling in at the\\nwindow, and some of them hit her in the face. 'I'll put a stop to this,'\\nshe said to herself, and shouted out, 'You'd better not do that again!'\\nwhich produced another dead silence.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-137\",\n        \"text\": \"Alice noticed with some surprise that the pebbles were all turning into\\nlittle cakes as they lay on the floor, and a bright idea came into her\\nhead. 'If I eat one of these cakes,' she thought, 'it's sure to make\\nSOME change in my size; and as it can't possibly make me larger, it must\\nmake me smaller, I suppose.'\",\n        \"caption\": \"Alice noticed with some surprise that the pebbles were all turning into\\nlittle cakes as they lay on the floor, and a bright idea came into her\\nhead. 'If I eat one of these cakes,' she thought, 'it's sure to make\\nSOME change in my size; and as it can't possibly make me larger, it must\\nmake me smaller, I suppose.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-138\",\n        \"text\": \"So she swallowed one of the cakes, and was delighted to find that she\\nbegan shrinking directly. As soon as she was small enough to get through\\nthe door, she ran out of the house, and found quite a crowd of little\\nanimals and birds waiting outside. The poor little Lizard, Bill, was\\nin the middle, being held up by two guinea-pigs, who were giving it\\nsomething out of a bottle. They all made a rush at Alice the moment she\\nappeared; but she ran off as hard as she could, and soon found herself\\nsafe in a thick wood.\",\n        \"caption\": \"So she swallowed one of the cakes, and was delighted to find that she\\nbegan shrinking directly. As soon as she was small enough to get through\\nthe door, she ran out of the house, and found quite a crowd of little\\nanimals and birds waiting outside. The poor little Lizard, Bill, was\\nin the middle, being held up by two guinea-pigs, who were giving it\\nsomething out of a bottle. They all made a rush at Alice the moment she\\nappeared; but she ran off as hard as she could, and soon found herself\\nsafe in a thick wood.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-139\",\n        \"text\": \"'The first thing I've got to do,' said Alice to herself, as she wandered\\nabout in the wood, 'is to grow to my right size again; and the second\\nthing is to find my way into that lovely garden. I think that will be\\nthe best plan.'\",\n        \"caption\": \"'The first thing I've got to do,' said Alice to herself, as she wandered\\nabout in the wood, 'is to grow to my right size again; and the second\\nthing is to find my way into that lovely garden. I think that will be\\nthe best plan.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-140\",\n        \"text\": \"It sounded an excellent plan, no doubt, and very neatly and simply\\narranged; the only difficulty was, that she had not the smallest idea\\nhow to set about it; and while she was peering about anxiously among\\nthe trees, a little sharp bark just over her head made her look up in a\\ngreat hurry.\",\n        \"caption\": \"It sounded an excellent plan, no doubt, and very neatly and simply\\narranged; the only difficulty was, that she had not the smallest idea\\nhow to set about it; and while she was peering about anxiously among\\nthe trees, a little sharp bark just over her head made her look up in a\\ngreat hurry.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-141\",\n        \"text\": \"An enormous puppy was looking down at her with large round eyes, and\\nfeebly stretching out one paw, trying to touch her. 'Poor little thing!'\\nsaid Alice, in a coaxing tone, and she tried hard to whistle to it; but\\nshe was terribly frightened all the time at the thought that it might be\\nhungry, in which case it would be very likely to eat her up in spite of\\nall her coaxing.\",\n        \"caption\": \"An enormous puppy was looking down at her with large round eyes, and\\nfeebly stretching out one paw, trying to touch her. 'Poor little thing!'\\nsaid Alice, in a coaxing tone, and she tried hard to whistle to it; but\\nshe was terribly frightened all the time at the thought that it might be\\nhungry, in which case it would be very likely to eat her up in spite of\\nall her coaxing.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-142\",\n        \"text\": \"Hardly knowing what she did, she picked up a little bit of stick, and\\nheld it out to the puppy; whereupon the puppy jumped into the air off\\nall its feet at once, with a yelp of delight, and rushed at the stick,\\nand made believe to worry it; then Alice dodged behind a great thistle,\\nto keep herself from being run over; and the moment she appeared on the\\nother side, the puppy made another rush at the stick, and tumbled head\\nover heels in its hurry to get hold of it; then Alice, thinking it was\\nvery like having a game of play with a cart-horse, and expecting every\\nmoment to be trampled under its feet, ran round the thistle again; then\\nthe puppy began a series of short charges at the stick, running a very\\nlittle way forwards each time and a long way back, and barking hoarsely\\nall the while, till at last it sat down a good way off, panting, with\\nits tongue hanging out of its mouth, and its great eyes half shut.\",\n        \"caption\": \"Hardly knowing what she did, she picked up a little bit of stick, and\\nheld it out to the puppy; whereupon the puppy jumped into the air off\\nall its feet at once, with a yelp of delight, and rushed at the stick,\\nand made believe to worry it; then Alice dodged behind a great thistle,\\nto keep herself from being run over; and the moment she appeared on the\\nother side, the puppy made another rush at the stick, and tumbled head\\nover heels in its hurry to get hold of it; then Alice, thinking it was\\nvery like having a game of play with a cart-horse, and expecting every\\nmoment to be trampled under its feet, ran round the thistle again; then\\nthe puppy began a series of short charges at the stick, running a very\\nlittle way forwards each time and a long way back, and barking hoarsely\\nall the while, till at last it sat down a good way off, panting, with\\nits tongue hanging out of its mouth, and its great eyes half shut.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-143\",\n        \"text\": \"This seemed to Alice a good opportunity for making her escape; so she\\nset off at once, and ran till she was quite tired and out of breath, and\\ntill the puppy's bark sounded quite faint in the distance.\",\n        \"caption\": \"This seemed to Alice a good opportunity for making her escape; so she\\nset off at once, and ran till she was quite tired and out of breath, and\\ntill the puppy's bark sounded quite faint in the distance.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-144\",\n        \"text\": \"'And yet what a dear little puppy it was!' said Alice, as she leant\\nagainst a buttercup to rest herself, and fanned herself with one of the\\nleaves: 'I should have liked teaching it tricks very much, if–if I'd\\nonly been the right size to do it! Oh dear! I'd nearly forgotten that\\nI've got to grow up again! Let me see–how IS it to be managed? I\\nsuppose I ought to eat or drink something or other; but the great\\nquestion is, what?'\",\n        \"caption\": \"'And yet what a dear little puppy it was!' said Alice, as she leant\\nagainst a buttercup to rest herself, and fanned herself with one of the\\nleaves: 'I should have liked teaching it tricks very much, if–if I'd\\nonly been the right size to do it! Oh dear! I'd nearly forgotten that\\nI've got to grow up again! Let me see–how IS it to be managed? I\\nsuppose I ought to eat or drink something or other; but the great\\nquestion is, what?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-145\",\n        \"text\": \"The great question certainly was, what? Alice looked all round her at\\nthe flowers and the blades of grass, but she did not see anything that\\nlooked like the right thing to eat or drink under the circumstances.\\nThere was a large mushroom growing near her, about the same height as\\nherself; and when she had looked under it, and on both sides of it, and\\nbehind it, it occurred to her that she might as well look and see what\\nwas on the top of it.\",\n        \"caption\": \"The great question certainly was, what? Alice looked all round her at\\nthe flowers and the blades of grass, but she did not see anything that\\nlooked like the right thing to eat or drink under the circumstances.\\nThere was a large mushroom growing near her, about the same height as\\nherself; and when she had looked under it, and on both sides of it, and\\nbehind it, it occurred to her that she might as well look and see what\\nwas on the top of it.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-146\",\n        \"text\": \"She stretched herself up on tiptoe, and peeped over the edge of the\\nmushroom, and her eyes immediately met those of a large caterpillar,\\nthat was sitting on the top with its arms folded, quietly smoking a long\\nhookah, and taking not the smallest notice of her or of anything else.\",\n        \"caption\": \"She stretched herself up on tiptoe, and peeped over the edge of the\\nmushroom, and her eyes immediately met those of a large caterpillar,\\nthat was sitting on the top with its arms folded, quietly smoking a long\\nhookah, and taking not the smallest notice of her or of anything else.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-147\",\n        \"text\": \"<h3>CHAPTER V. Advice from a Caterpillar</h3>\",\n        \"caption\": \"CHAPTER V. Advice from a Caterpillar\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-148\",\n        \"text\": \"The Caterpillar and Alice looked at each other for some time in silence:\\nat last the Caterpillar took the hookah out of its mouth, and addressed\\nher in a languid, sleepy voice.\",\n        \"caption\": \"The Caterpillar and Alice looked at each other for some time in silence:\\nat last the Caterpillar took the hookah out of its mouth, and addressed\\nher in a languid, sleepy voice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-149\",\n        \"text\": \"'Who are YOU?' said the Caterpillar.\",\n        \"caption\": \"'Who are YOU?' said the Caterpillar.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-150\",\n        \"text\": \"This was not an encouraging opening for a conversation. Alice replied,\\nrather shyly, 'I–I hardly know, sir, just at present–at least I know\\nwho I WAS when I got up this morning, but I think I must have been\\nchanged several times since then.'\",\n        \"caption\": \"This was not an encouraging opening for a conversation. Alice replied,\\nrather shyly, 'I–I hardly know, sir, just at present–at least I know\\nwho I WAS when I got up this morning, but I think I must have been\\nchanged several times since then.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-151\",\n        \"text\": \"'What do you mean by that?' said the Caterpillar sternly. 'Explain\\nyourself!'\",\n        \"caption\": \"'What do you mean by that?' said the Caterpillar sternly. 'Explain\\nyourself!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-152\",\n        \"text\": \"'I can't explain MYSELF, I'm afraid, sir' said Alice, 'because I'm not\\nmyself, you see.'\",\n        \"caption\": \"'I can't explain MYSELF, I'm afraid, sir' said Alice, 'because I'm not\\nmyself, you see.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-153\",\n        \"text\": \"'I don't see,' said the Caterpillar.\",\n        \"caption\": \"'I don't see,' said the Caterpillar.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-154\",\n        \"text\": \"'I'm afraid I can't put it more clearly,' Alice replied very politely,\\n'for I can't understand it myself to begin with; and being so many\\ndifferent sizes in a day is very confusing.'\",\n        \"caption\": \"'I'm afraid I can't put it more clearly,' Alice replied very politely,\\n'for I can't understand it myself to begin with; and being so many\\ndifferent sizes in a day is very confusing.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-155\",\n        \"text\": \"'It isn't,' said the Caterpillar.\",\n        \"caption\": \"'It isn't,' said the Caterpillar.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-156\",\n        \"text\": \"'Well, perhaps you haven't found it so yet,' said Alice; 'but when you\\nhave to turn into a chrysalis–you will some day, you know–and then\\nafter that into a butterfly, I should think you'll feel it a little\\nqueer, won't you?'\",\n        \"caption\": \"'Well, perhaps you haven't found it so yet,' said Alice; 'but when you\\nhave to turn into a chrysalis–you will some day, you know–and then\\nafter that into a butterfly, I should think you'll feel it a little\\nqueer, won't you?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-157\",\n        \"text\": \"'Not a bit,' said the Caterpillar.\",\n        \"caption\": \"'Not a bit,' said the Caterpillar.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-158\",\n        \"text\": \"'Well, perhaps your feelings may be different,' said Alice; 'all I know\\nis, it would feel very queer to ME.'\",\n        \"caption\": \"'Well, perhaps your feelings may be different,' said Alice; 'all I know\\nis, it would feel very queer to ME.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-159\",\n        \"text\": \"'You!' said the Caterpillar contemptuously. 'Who are YOU?'\",\n        \"caption\": \"'You!' said the Caterpillar contemptuously. 'Who are YOU?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-160\",\n        \"text\": \"Which brought them back again to the beginning of the conversation.\\nAlice felt a little irritated at the Caterpillar's making such VERY\\nshort remarks, and she drew herself up and said, very gravely, 'I think,\\nyou ought to tell me who YOU are, first.'\",\n        \"caption\": \"Which brought them back again to the beginning of the conversation.\\nAlice felt a little irritated at the Caterpillar's making such VERY\\nshort remarks, and she drew herself up and said, very gravely, 'I think,\\nyou ought to tell me who YOU are, first.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-161\",\n        \"text\": \"'Why?' said the Caterpillar.\",\n        \"caption\": \"'Why?' said the Caterpillar.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-162\",\n        \"text\": \"Here was another puzzling question; and as Alice could not think of any\\ngood reason, and as the Caterpillar seemed to be in a VERY unpleasant\\nstate of mind, she turned away.\",\n        \"caption\": \"Here was another puzzling question; and as Alice could not think of any\\ngood reason, and as the Caterpillar seemed to be in a VERY unpleasant\\nstate of mind, she turned away.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-163\",\n        \"text\": \"'Come back!' the Caterpillar called after her. 'I've something important\\nto say!'\",\n        \"caption\": \"'Come back!' the Caterpillar called after her. 'I've something important\\nto say!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-164\",\n        \"text\": \"This sounded promising, certainly: Alice turned and came back again.\",\n        \"caption\": \"This sounded promising, certainly: Alice turned and came back again.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-165\",\n        \"text\": \"'Keep your temper,' said the Caterpillar.\",\n        \"caption\": \"'Keep your temper,' said the Caterpillar.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-166\",\n        \"text\": \"'Is that all?' said Alice, swallowing down her anger as well as she\\ncould.\",\n        \"caption\": \"'Is that all?' said Alice, swallowing down her anger as well as she\\ncould.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-167\",\n        \"text\": \"'No,' said the Caterpillar.\",\n        \"caption\": \"'No,' said the Caterpillar.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-168\",\n        \"text\": \"Alice thought she might as well wait, as she had nothing else to do, and\\nperhaps after all it might tell her something worth hearing. For some\\nminutes it puffed away without speaking, but at last it unfolded its\\narms, took the hookah out of its mouth again, and said, 'So you think\\nyou're changed, do you?'\",\n        \"caption\": \"Alice thought she might as well wait, as she had nothing else to do, and\\nperhaps after all it might tell her something worth hearing. For some\\nminutes it puffed away without speaking, but at last it unfolded its\\narms, took the hookah out of its mouth again, and said, 'So you think\\nyou're changed, do you?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-169\",\n        \"text\": \"'I'm afraid I am, sir,' said Alice; 'I can't remember things as I\\nused–and I don't keep the same size for ten minutes together!'\",\n        \"caption\": \"'I'm afraid I am, sir,' said Alice; 'I can't remember things as I\\nused–and I don't keep the same size for ten minutes together!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-170\",\n        \"text\": \"'Can't remember WHAT things?' said the Caterpillar.\",\n        \"caption\": \"'Can't remember WHAT things?' said the Caterpillar.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-171\",\n        \"text\": \"'Well, I've tried to say &quot;HOW DOTH THE LITTLE BUSY BEE,&quot; but it all came\\ndifferent!' Alice replied in a very melancholy voice.\",\n        \"caption\": \"'Well, I've tried to say &quot;HOW DOTH THE LITTLE BUSY BEE,&quot; but it all came\\ndifferent!' Alice replied in a very melancholy voice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-172\",\n        \"text\": \"'Repeat, &quot;YOU ARE OLD, FATHER WILLIAM,&quot;' said the Caterpillar.\",\n        \"caption\": \"'Repeat, &quot;YOU ARE OLD, FATHER WILLIAM,&quot;' said the Caterpillar.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-173\",\n        \"text\": \"Alice folded her hands, and began:–\",\n        \"caption\": \"Alice folded her hands, and began:–\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-174\",\n        \"text\": \"'You are old, Father William,' the young man said,\\n    'And your hair has become very white;\\n   And yet you incessantly stand on your head–\\n    Do you think, at your age, it is right?'\",\n        \"caption\": \"'You are old, Father William,' the young man said,\\n    'And your hair has become very white;\\n   And yet you incessantly stand on your head–\\n    Do you think, at your age, it is right?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-175\",\n        \"text\": \"'In my youth,' Father William replied to his son,\\n    'I feared it might injure the brain;\\n   But, now that I'm perfectly sure I have none,\\n    Why, I do it again and again.'\",\n        \"caption\": \"'In my youth,' Father William replied to his son,\\n    'I feared it might injure the brain;\\n   But, now that I'm perfectly sure I have none,\\n    Why, I do it again and again.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-176\",\n        \"text\": \"'You are old,' said the youth, 'as I mentioned before,\\n    And have grown most uncommonly fat;\\n   Yet you turned a back-somersault in at the door–\\n    Pray, what is the reason of that?'\",\n        \"caption\": \"'You are old,' said the youth, 'as I mentioned before,\\n    And have grown most uncommonly fat;\\n   Yet you turned a back-somersault in at the door–\\n    Pray, what is the reason of that?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-177\",\n        \"text\": \"'In my youth,' said the sage, as he shook his grey locks,\\n    'I kept all my limbs very supple\\n   By the use of this ointment–one shilling the box–\\n    Allow me to sell you a couple?'\",\n        \"caption\": \"'In my youth,' said the sage, as he shook his grey locks,\\n    'I kept all my limbs very supple\\n   By the use of this ointment–one shilling the box–\\n    Allow me to sell you a couple?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-178\",\n        \"text\": \"'You are old,' said the youth, 'and your jaws are too weak\\n    For anything tougher than suet;\\n   Yet you finished the goose, with the bones and the beak–\\n    Pray how did you manage to do it?'\",\n        \"caption\": \"'You are old,' said the youth, 'and your jaws are too weak\\n    For anything tougher than suet;\\n   Yet you finished the goose, with the bones and the beak–\\n    Pray how did you manage to do it?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-179\",\n        \"text\": \"'In my youth,' said his father, 'I took to the law,\\n    And argued each case with my wife;\\n   And the muscular strength, which it gave to my jaw,\\n    Has lasted the rest of my life.'\",\n        \"caption\": \"'In my youth,' said his father, 'I took to the law,\\n    And argued each case with my wife;\\n   And the muscular strength, which it gave to my jaw,\\n    Has lasted the rest of my life.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-180\",\n        \"text\": \"'You are old,' said the youth, 'one would hardly suppose\\n    That your eye was as steady as ever;\\n   Yet you balanced an eel on the end of your nose–\\n    What made you so awfully clever?'\",\n        \"caption\": \"'You are old,' said the youth, 'one would hardly suppose\\n    That your eye was as steady as ever;\\n   Yet you balanced an eel on the end of your nose–\\n    What made you so awfully clever?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-181\",\n        \"text\": \"'I have answered three questions, and that is enough,'\\n    Said his father; 'don't give yourself airs!\\n   Do you think I can listen all day to such stuff?\\n    Be off, or I'll kick you down stairs!'\",\n        \"caption\": \"'I have answered three questions, and that is enough,'\\n    Said his father; 'don't give yourself airs!\\n   Do you think I can listen all day to such stuff?\\n    Be off, or I'll kick you down stairs!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-182\",\n        \"text\": \"'That is not said right,' said the Caterpillar.\",\n        \"caption\": \"'That is not said right,' said the Caterpillar.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-183\",\n        \"text\": \"'Not QUITE right, I'm afraid,' said Alice, timidly; 'some of the words\\nhave got altered.'\",\n        \"caption\": \"'Not QUITE right, I'm afraid,' said Alice, timidly; 'some of the words\\nhave got altered.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-184\",\n        \"text\": \"'It is wrong from beginning to end,' said the Caterpillar decidedly, and\\nthere was silence for some minutes.\",\n        \"caption\": \"'It is wrong from beginning to end,' said the Caterpillar decidedly, and\\nthere was silence for some minutes.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-185\",\n        \"text\": \"The Caterpillar was the first to speak.\",\n        \"caption\": \"The Caterpillar was the first to speak.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-186\",\n        \"text\": \"'What size do you want to be?' it asked.\",\n        \"caption\": \"'What size do you want to be?' it asked.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-187\",\n        \"text\": \"'Oh, I'm not particular as to size,' Alice hastily replied; 'only one\\ndoesn't like changing so often, you know.'\",\n        \"caption\": \"'Oh, I'm not particular as to size,' Alice hastily replied; 'only one\\ndoesn't like changing so often, you know.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-188\",\n        \"text\": \"'I DON'T know,' said the Caterpillar.\",\n        \"caption\": \"'I DON'T know,' said the Caterpillar.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-189\",\n        \"text\": \"Alice said nothing: she had never been so much contradicted in her life\\nbefore, and she felt that she was losing her temper.\",\n        \"caption\": \"Alice said nothing: she had never been so much contradicted in her life\\nbefore, and she felt that she was losing her temper.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-190\",\n        \"text\": \"'Are you content now?' said the Caterpillar.\",\n        \"caption\": \"'Are you content now?' said the Caterpillar.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-191\",\n        \"text\": \"'Well, I should like to be a LITTLE larger, sir, if you wouldn't mind,'\\nsaid Alice: 'three inches is such a wretched height to be.'\",\n        \"caption\": \"'Well, I should like to be a LITTLE larger, sir, if you wouldn't mind,'\\nsaid Alice: 'three inches is such a wretched height to be.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-192\",\n        \"text\": \"'It is a very good height indeed!' said the Caterpillar angrily, rearing\\nitself upright as it spoke (it was exactly three inches high).\",\n        \"caption\": \"'It is a very good height indeed!' said the Caterpillar angrily, rearing\\nitself upright as it spoke (it was exactly three inches high).\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-193\",\n        \"text\": \"'But I'm not used to it!' pleaded poor Alice in a piteous tone. And\\nshe thought of herself, 'I wish the creatures wouldn't be so easily\\noffended!'\",\n        \"caption\": \"'But I'm not used to it!' pleaded poor Alice in a piteous tone. And\\nshe thought of herself, 'I wish the creatures wouldn't be so easily\\noffended!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-194\",\n        \"text\": \"'You'll get used to it in time,' said the Caterpillar; and it put the\\nhookah into its mouth and began smoking again.\",\n        \"caption\": \"'You'll get used to it in time,' said the Caterpillar; and it put the\\nhookah into its mouth and began smoking again.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-195\",\n        \"text\": \"This time Alice waited patiently until it chose to speak again. In\\na minute or two the Caterpillar took the hookah out of its mouth\\nand yawned once or twice, and shook itself. Then it got down off the\\nmushroom, and crawled away in the grass, merely remarking as it went,\\n'One side will make you grow taller, and the other side will make you\\ngrow shorter.'\",\n        \"caption\": \"This time Alice waited patiently until it chose to speak again. In\\na minute or two the Caterpillar took the hookah out of its mouth\\nand yawned once or twice, and shook itself. Then it got down off the\\nmushroom, and crawled away in the grass, merely remarking as it went,\\n'One side will make you grow taller, and the other side will make you\\ngrow shorter.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-196\",\n        \"text\": \"'One side of WHAT? The other side of WHAT?' thought Alice to herself.\",\n        \"caption\": \"'One side of WHAT? The other side of WHAT?' thought Alice to herself.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-197\",\n        \"text\": \"'Of the mushroom,' said the Caterpillar, just as if she had asked it\\naloud; and in another moment it was out of sight.\",\n        \"caption\": \"'Of the mushroom,' said the Caterpillar, just as if she had asked it\\naloud; and in another moment it was out of sight.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-198\",\n        \"text\": \"Alice remained looking thoughtfully at the mushroom for a minute, trying\\nto make out which were the two sides of it; and as it was perfectly\\nround, she found this a very difficult question. However, at last she\\nstretched her arms round it as far as they would go, and broke off a bit\\nof the edge with each hand.\",\n        \"caption\": \"Alice remained looking thoughtfully at the mushroom for a minute, trying\\nto make out which were the two sides of it; and as it was perfectly\\nround, she found this a very difficult question. However, at last she\\nstretched her arms round it as far as they would go, and broke off a bit\\nof the edge with each hand.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-199\",\n        \"text\": \"'And now which is which?' she said to herself, and nibbled a little of\\nthe right-hand bit to try the effect: the next moment she felt a violent\\nblow underneath her chin: it had struck her foot!\",\n        \"caption\": \"'And now which is which?' she said to herself, and nibbled a little of\\nthe right-hand bit to try the effect: the next moment she felt a violent\\nblow underneath her chin: it had struck her foot!\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-200\",\n        \"text\": \"She was a good deal frightened by this very sudden change, but she felt\\nthat there was no time to be lost, as she was shrinking rapidly; so she\\nset to work at once to eat some of the other bit. Her chin was pressed\\nso closely against her foot, that there was hardly room to open her\\nmouth; but she did it at last, and managed to swallow a morsel of the\\nlefthand bit.\",\n        \"caption\": \"She was a good deal frightened by this very sudden change, but she felt\\nthat there was no time to be lost, as she was shrinking rapidly; so she\\nset to work at once to eat some of the other bit. Her chin was pressed\\nso closely against her foot, that there was hardly room to open her\\nmouth; but she did it at last, and managed to swallow a morsel of the\\nlefthand bit.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-201\",\n        \"text\": \"<ul><li>*    *    *    *    *    *</li><li>*    *    *    *    *</li><li>*    *    *    *    *    *</li></ul>\",\n        \"caption\": \"*    *    *    *    *    **    *    *    *    **    *    *    *    *    *\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-202\",\n        \"text\": \"'Come, my head's free at last!' said Alice in a tone of delight, which\\nchanged into alarm in another moment, when she found that her shoulders\\nwere nowhere to be found: all she could see, when she looked down, was\\nan immense length of neck, which seemed to rise like a stalk out of a\\nsea of green leaves that lay far below her.\",\n        \"caption\": \"'Come, my head's free at last!' said Alice in a tone of delight, which\\nchanged into alarm in another moment, when she found that her shoulders\\nwere nowhere to be found: all she could see, when she looked down, was\\nan immense length of neck, which seemed to rise like a stalk out of a\\nsea of green leaves that lay far below her.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-203\",\n        \"text\": \"'What CAN all that green stuff be?' said Alice. 'And where HAVE my\\nshoulders got to? And oh, my poor hands, how is it I can't see you?'\\nShe was moving them about as she spoke, but no result seemed to follow,\\nexcept a little shaking among the distant green leaves.\",\n        \"caption\": \"'What CAN all that green stuff be?' said Alice. 'And where HAVE my\\nshoulders got to? And oh, my poor hands, how is it I can't see you?'\\nShe was moving them about as she spoke, but no result seemed to follow,\\nexcept a little shaking among the distant green leaves.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-204\",\n        \"text\": \"As there seemed to be no chance of getting her hands up to her head, she\\ntried to get her head down to them, and was delighted to find that her\\nneck would bend about easily in any direction, like a serpent. She had\\njust succeeded in curving it down into a graceful zigzag, and was going\\nto dive in among the leaves, which she found to be nothing but the tops\\nof the trees under which she had been wandering, when a sharp hiss made\\nher draw back in a hurry: a large pigeon had flown into her face, and\\nwas beating her violently with its wings.\",\n        \"caption\": \"As there seemed to be no chance of getting her hands up to her head, she\\ntried to get her head down to them, and was delighted to find that her\\nneck would bend about easily in any direction, like a serpent. She had\\njust succeeded in curving it down into a graceful zigzag, and was going\\nto dive in among the leaves, which she found to be nothing but the tops\\nof the trees under which she had been wandering, when a sharp hiss made\\nher draw back in a hurry: a large pigeon had flown into her face, and\\nwas beating her violently with its wings.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-205\",\n        \"text\": \"'Serpent!' screamed the Pigeon.\",\n        \"caption\": \"'Serpent!' screamed the Pigeon.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-206\",\n        \"text\": \"'I'm NOT a serpent!' said Alice indignantly. 'Let me alone!'\",\n        \"caption\": \"'I'm NOT a serpent!' said Alice indignantly. 'Let me alone!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-207\",\n        \"text\": \"'Serpent, I say again!' repeated the Pigeon, but in a more subdued tone,\\nand added with a kind of sob, 'I've tried every way, and nothing seems\\nto suit them!'\",\n        \"caption\": \"'Serpent, I say again!' repeated the Pigeon, but in a more subdued tone,\\nand added with a kind of sob, 'I've tried every way, and nothing seems\\nto suit them!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-208\",\n        \"text\": \"'I haven't the least idea what you're talking about,' said Alice.\",\n        \"caption\": \"'I haven't the least idea what you're talking about,' said Alice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-209\",\n        \"text\": \"'I've tried the roots of trees, and I've tried banks, and I've tried\\nhedges,' the Pigeon went on, without attending to her; 'but those\\nserpents! There's no pleasing them!'\",\n        \"caption\": \"'I've tried the roots of trees, and I've tried banks, and I've tried\\nhedges,' the Pigeon went on, without attending to her; 'but those\\nserpents! There's no pleasing them!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-210\",\n        \"text\": \"Alice was more and more puzzled, but she thought there was no use in\\nsaying anything more till the Pigeon had finished.\",\n        \"caption\": \"Alice was more and more puzzled, but she thought there was no use in\\nsaying anything more till the Pigeon had finished.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-211\",\n        \"text\": \"'As if it wasn't trouble enough hatching the eggs,' said the Pigeon;\\n'but I must be on the look-out for serpents night and day! Why, I\\nhaven't had a wink of sleep these three weeks!'\",\n        \"caption\": \"'As if it wasn't trouble enough hatching the eggs,' said the Pigeon;\\n'but I must be on the look-out for serpents night and day! Why, I\\nhaven't had a wink of sleep these three weeks!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-212\",\n        \"text\": \"'I'm very sorry you've been annoyed,' said Alice, who was beginning to\\nsee its meaning.\",\n        \"caption\": \"'I'm very sorry you've been annoyed,' said Alice, who was beginning to\\nsee its meaning.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-213\",\n        \"text\": \"'And just as I'd taken the highest tree in the wood,' continued the\\nPigeon, raising its voice to a shriek, 'and just as I was thinking I\\nshould be free of them at last, they must needs come wriggling down from\\nthe sky! Ugh, Serpent!'\",\n        \"caption\": \"'And just as I'd taken the highest tree in the wood,' continued the\\nPigeon, raising its voice to a shriek, 'and just as I was thinking I\\nshould be free of them at last, they must needs come wriggling down from\\nthe sky! Ugh, Serpent!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-214\",\n        \"text\": \"'But I'm NOT a serpent, I tell you!' said Alice. 'I'm a–I'm a–'\",\n        \"caption\": \"'But I'm NOT a serpent, I tell you!' said Alice. 'I'm a–I'm a–'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-215\",\n        \"text\": \"'Well! WHAT are you?' said the Pigeon. 'I can see you're trying to\\ninvent something!'\",\n        \"caption\": \"'Well! WHAT are you?' said the Pigeon. 'I can see you're trying to\\ninvent something!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-216\",\n        \"text\": \"'I–I'm a little girl,' said Alice, rather doubtfully, as she remembered\\nthe number of changes she had gone through that day.\",\n        \"caption\": \"'I–I'm a little girl,' said Alice, rather doubtfully, as she remembered\\nthe number of changes she had gone through that day.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-217\",\n        \"text\": \"'A likely story indeed!' said the Pigeon in a tone of the deepest\\ncontempt. 'I've seen a good many little girls in my time, but never ONE\\nwith such a neck as that! No, no! You're a serpent; and there's no use\\ndenying it. I suppose you'll be telling me next that you never tasted an\\negg!'\",\n        \"caption\": \"'A likely story indeed!' said the Pigeon in a tone of the deepest\\ncontempt. 'I've seen a good many little girls in my time, but never ONE\\nwith such a neck as that! No, no! You're a serpent; and there's no use\\ndenying it. I suppose you'll be telling me next that you never tasted an\\negg!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-218\",\n        \"text\": \"'I HAVE tasted eggs, certainly,' said Alice, who was a very truthful\\nchild; 'but little girls eat eggs quite as much as serpents do, you\\nknow.'\",\n        \"caption\": \"'I HAVE tasted eggs, certainly,' said Alice, who was a very truthful\\nchild; 'but little girls eat eggs quite as much as serpents do, you\\nknow.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-219\",\n        \"text\": \"'I don't believe it,' said the Pigeon; 'but if they do, why then they're\\na kind of serpent, that's all I can say.'\",\n        \"caption\": \"'I don't believe it,' said the Pigeon; 'but if they do, why then they're\\na kind of serpent, that's all I can say.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-220\",\n        \"text\": \"This was such a new idea to Alice, that she was quite silent for a\\nminute or two, which gave the Pigeon the opportunity of adding, 'You're\\nlooking for eggs, I know THAT well enough; and what does it matter to me\\nwhether you're a little girl or a serpent?'\",\n        \"caption\": \"This was such a new idea to Alice, that she was quite silent for a\\nminute or two, which gave the Pigeon the opportunity of adding, 'You're\\nlooking for eggs, I know THAT well enough; and what does it matter to me\\nwhether you're a little girl or a serpent?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-221\",\n        \"text\": \"'It matters a good deal to ME,' said Alice hastily; 'but I'm not looking\\nfor eggs, as it happens; and if I was, I shouldn't want YOURS: I don't\\nlike them raw.'\",\n        \"caption\": \"'It matters a good deal to ME,' said Alice hastily; 'but I'm not looking\\nfor eggs, as it happens; and if I was, I shouldn't want YOURS: I don't\\nlike them raw.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-222\",\n        \"text\": \"'Well, be off, then!' said the Pigeon in a sulky tone, as it settled\\ndown again into its nest. Alice crouched down among the trees as well as\\nshe could, for her neck kept getting entangled among the branches, and\\nevery now and then she had to stop and untwist it. After a while she\\nremembered that she still held the pieces of mushroom in her hands, and\\nshe set to work very carefully, nibbling first at one and then at the\\nother, and growing sometimes taller and sometimes shorter, until she had\\nsucceeded in bringing herself down to her usual height.\",\n        \"caption\": \"'Well, be off, then!' said the Pigeon in a sulky tone, as it settled\\ndown again into its nest. Alice crouched down among the trees as well as\\nshe could, for her neck kept getting entangled among the branches, and\\nevery now and then she had to stop and untwist it. After a while she\\nremembered that she still held the pieces of mushroom in her hands, and\\nshe set to work very carefully, nibbling first at one and then at the\\nother, and growing sometimes taller and sometimes shorter, until she had\\nsucceeded in bringing herself down to her usual height.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-223\",\n        \"text\": \"It was so long since she had been anything near the right size, that it\\nfelt quite strange at first; but she got used to it in a few minutes,\\nand began talking to herself, as usual. 'Come, there's half my plan done\\nnow! How puzzling all these changes are! I'm never sure what I'm going\\nto be, from one minute to another! However, I've got back to my right\\nsize: the next thing is, to get into that beautiful garden–how IS that\\nto be done, I wonder?' As she said this, she came suddenly upon an open\\nplace, with a little house in it about four feet high. 'Whoever lives\\nthere,' thought Alice, 'it'll never do to come upon them THIS size: why,\\nI should frighten them out of their wits!' So she began nibbling at the\\nrighthand bit again, and did not venture to go near the house till she\\nhad brought herself down to nine inches high.\",\n        \"caption\": \"It was so long since she had been anything near the right size, that it\\nfelt quite strange at first; but she got used to it in a few minutes,\\nand began talking to herself, as usual. 'Come, there's half my plan done\\nnow! How puzzling all these changes are! I'm never sure what I'm going\\nto be, from one minute to another! However, I've got back to my right\\nsize: the next thing is, to get into that beautiful garden–how IS that\\nto be done, I wonder?' As she said this, she came suddenly upon an open\\nplace, with a little house in it about four feet high. 'Whoever lives\\nthere,' thought Alice, 'it'll never do to come upon them THIS size: why,\\nI should frighten them out of their wits!' So she began nibbling at the\\nrighthand bit again, and did not venture to go near the house till she\\nhad brought herself down to nine inches high.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-224\",\n        \"text\": \"<h3>CHAPTER VI. Pig and Pepper</h3>\",\n        \"caption\": \"CHAPTER VI. Pig and Pepper\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-225\",\n        \"text\": \"For a minute or two she stood looking at the house, and wondering what\\nto do next, when suddenly a footman in livery came running out of the\\nwood–(she considered him to be a footman because he was in livery:\\notherwise, judging by his face only, she would have called him a\\nfish)–and rapped loudly at the door with his knuckles. It was opened\\nby another footman in livery, with a round face, and large eyes like a\\nfrog; and both footmen, Alice noticed, had powdered hair that curled all\\nover their heads. She felt very curious to know what it was all about,\\nand crept a little way out of the wood to listen.\",\n        \"caption\": \"For a minute or two she stood looking at the house, and wondering what\\nto do next, when suddenly a footman in livery came running out of the\\nwood–(she considered him to be a footman because he was in livery:\\notherwise, judging by his face only, she would have called him a\\nfish)–and rapped loudly at the door with his knuckles. It was opened\\nby another footman in livery, with a round face, and large eyes like a\\nfrog; and both footmen, Alice noticed, had powdered hair that curled all\\nover their heads. She felt very curious to know what it was all about,\\nand crept a little way out of the wood to listen.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-226\",\n        \"text\": \"The Fish-Footman began by producing from under his arm a great letter,\\nnearly as large as himself, and this he handed over to the other,\\nsaying, in a solemn tone, 'For the Duchess. An invitation from the Queen\\nto play croquet.' The Frog-Footman repeated, in the same solemn tone,\\nonly changing the order of the words a little, 'From the Queen. An\\ninvitation for the Duchess to play croquet.'\",\n        \"caption\": \"The Fish-Footman began by producing from under his arm a great letter,\\nnearly as large as himself, and this he handed over to the other,\\nsaying, in a solemn tone, 'For the Duchess. An invitation from the Queen\\nto play croquet.' The Frog-Footman repeated, in the same solemn tone,\\nonly changing the order of the words a little, 'From the Queen. An\\ninvitation for the Duchess to play croquet.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-227\",\n        \"text\": \"Then they both bowed low, and their curls got entangled together.\",\n        \"caption\": \"Then they both bowed low, and their curls got entangled together.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-228\",\n        \"text\": \"Alice laughed so much at this, that she had to run back into the\\nwood for fear of their hearing her; and when she next peeped out the\\nFish-Footman was gone, and the other was sitting on the ground near the\\ndoor, staring stupidly up into the sky.\",\n        \"caption\": \"Alice laughed so much at this, that she had to run back into the\\nwood for fear of their hearing her; and when she next peeped out the\\nFish-Footman was gone, and the other was sitting on the ground near the\\ndoor, staring stupidly up into the sky.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-229\",\n        \"text\": \"Alice went timidly up to the door, and knocked.\",\n        \"caption\": \"Alice went timidly up to the door, and knocked.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-230\",\n        \"text\": \"'There's no sort of use in knocking,' said the Footman, 'and that for\\ntwo reasons. First, because I'm on the same side of the door as you\\nare; secondly, because they're making such a noise inside, no one could\\npossibly hear you.' And certainly there was a most extraordinary noise\\ngoing on within–a constant howling and sneezing, and every now and then\\na great crash, as if a dish or kettle had been broken to pieces.\",\n        \"caption\": \"'There's no sort of use in knocking,' said the Footman, 'and that for\\ntwo reasons. First, because I'm on the same side of the door as you\\nare; secondly, because they're making such a noise inside, no one could\\npossibly hear you.' And certainly there was a most extraordinary noise\\ngoing on within–a constant howling and sneezing, and every now and then\\na great crash, as if a dish or kettle had been broken to pieces.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-231\",\n        \"text\": \"'Please, then,' said Alice, 'how am I to get in?'\",\n        \"caption\": \"'Please, then,' said Alice, 'how am I to get in?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-232\",\n        \"text\": \"'There might be some sense in your knocking,' the Footman went on\\nwithout attending to her, 'if we had the door between us. For instance,\\nif you were INSIDE, you might knock, and I could let you out, you know.'\\nHe was looking up into the sky all the time he was speaking, and this\\nAlice thought decidedly uncivil. 'But perhaps he can't help it,' she\\nsaid to herself; 'his eyes are so VERY nearly at the top of his head.\\nBut at any rate he might answer questions.–How am I to get in?' she\\nrepeated, aloud.\",\n        \"caption\": \"'There might be some sense in your knocking,' the Footman went on\\nwithout attending to her, 'if we had the door between us. For instance,\\nif you were INSIDE, you might knock, and I could let you out, you know.'\\nHe was looking up into the sky all the time he was speaking, and this\\nAlice thought decidedly uncivil. 'But perhaps he can't help it,' she\\nsaid to herself; 'his eyes are so VERY nearly at the top of his head.\\nBut at any rate he might answer questions.–How am I to get in?' she\\nrepeated, aloud.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-233\",\n        \"text\": \"'I shall sit here,' the Footman remarked, 'till tomorrow–'\",\n        \"caption\": \"'I shall sit here,' the Footman remarked, 'till tomorrow–'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-234\",\n        \"text\": \"At this moment the door of the house opened, and a large plate came\\nskimming out, straight at the Footman's head: it just grazed his nose,\\nand broke to pieces against one of the trees behind him.\",\n        \"caption\": \"At this moment the door of the house opened, and a large plate came\\nskimming out, straight at the Footman's head: it just grazed his nose,\\nand broke to pieces against one of the trees behind him.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-235\",\n        \"text\": \"'–or next day, maybe,' the Footman continued in the same tone, exactly\\nas if nothing had happened.\",\n        \"caption\": \"'–or next day, maybe,' the Footman continued in the same tone, exactly\\nas if nothing had happened.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-236\",\n        \"text\": \"'How am I to get in?' asked Alice again, in a louder tone.\",\n        \"caption\": \"'How am I to get in?' asked Alice again, in a louder tone.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-237\",\n        \"text\": \"'ARE you to get in at all?' said the Footman. 'That's the first\\nquestion, you know.'\",\n        \"caption\": \"'ARE you to get in at all?' said the Footman. 'That's the first\\nquestion, you know.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-238\",\n        \"text\": \"It was, no doubt: only Alice did not like to be told so. 'It's really\\ndreadful,' she muttered to herself, 'the way all the creatures argue.\\nIt's enough to drive one crazy!'\",\n        \"caption\": \"It was, no doubt: only Alice did not like to be told so. 'It's really\\ndreadful,' she muttered to herself, 'the way all the creatures argue.\\nIt's enough to drive one crazy!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-239\",\n        \"text\": \"The Footman seemed to think this a good opportunity for repeating his\\nremark, with variations. 'I shall sit here,' he said, 'on and off, for\\ndays and days.'\",\n        \"caption\": \"The Footman seemed to think this a good opportunity for repeating his\\nremark, with variations. 'I shall sit here,' he said, 'on and off, for\\ndays and days.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-240\",\n        \"text\": \"'But what am I to do?' said Alice.\",\n        \"caption\": \"'But what am I to do?' said Alice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-241\",\n        \"text\": \"'Anything you like,' said the Footman, and began whistling.\",\n        \"caption\": \"'Anything you like,' said the Footman, and began whistling.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-242\",\n        \"text\": \"'Oh, there's no use in talking to him,' said Alice desperately: 'he's\\nperfectly idiotic!' And she opened the door and went in.\",\n        \"caption\": \"'Oh, there's no use in talking to him,' said Alice desperately: 'he's\\nperfectly idiotic!' And she opened the door and went in.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-243\",\n        \"text\": \"The door led right into a large kitchen, which was full of smoke from\\none end to the other: the Duchess was sitting on a three-legged stool in\\nthe middle, nursing a baby; the cook was leaning over the fire, stirring\\na large cauldron which seemed to be full of soup.\",\n        \"caption\": \"The door led right into a large kitchen, which was full of smoke from\\none end to the other: the Duchess was sitting on a three-legged stool in\\nthe middle, nursing a baby; the cook was leaning over the fire, stirring\\na large cauldron which seemed to be full of soup.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-244\",\n        \"text\": \"'There's certainly too much pepper in that soup!' Alice said to herself,\\nas well as she could for sneezing.\",\n        \"caption\": \"'There's certainly too much pepper in that soup!' Alice said to herself,\\nas well as she could for sneezing.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-245\",\n        \"text\": \"There was certainly too much of it in the air. Even the Duchess\\nsneezed occasionally; and as for the baby, it was sneezing and howling\\nalternately without a moment's pause. The only things in the kitchen\\nthat did not sneeze, were the cook, and a large cat which was sitting on\\nthe hearth and grinning from ear to ear.\",\n        \"caption\": \"There was certainly too much of it in the air. Even the Duchess\\nsneezed occasionally; and as for the baby, it was sneezing and howling\\nalternately without a moment's pause. The only things in the kitchen\\nthat did not sneeze, were the cook, and a large cat which was sitting on\\nthe hearth and grinning from ear to ear.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-246\",\n        \"text\": \"'Please would you tell me,' said Alice, a little timidly, for she was\\nnot quite sure whether it was good manners for her to speak first, 'why\\nyour cat grins like that?'\",\n        \"caption\": \"'Please would you tell me,' said Alice, a little timidly, for she was\\nnot quite sure whether it was good manners for her to speak first, 'why\\nyour cat grins like that?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-247\",\n        \"text\": \"'It's a Cheshire cat,' said the Duchess, 'and that's why. Pig!'\",\n        \"caption\": \"'It's a Cheshire cat,' said the Duchess, 'and that's why. Pig!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-248\",\n        \"text\": \"She said the last word with such sudden violence that Alice quite\\njumped; but she saw in another moment that it was addressed to the baby,\\nand not to her, so she took courage, and went on again:–\",\n        \"caption\": \"She said the last word with such sudden violence that Alice quite\\njumped; but she saw in another moment that it was addressed to the baby,\\nand not to her, so she took courage, and went on again:–\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-249\",\n        \"text\": \"'I didn't know that Cheshire cats always grinned; in fact, I didn't know\\nthat cats COULD grin.'\",\n        \"caption\": \"'I didn't know that Cheshire cats always grinned; in fact, I didn't know\\nthat cats COULD grin.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-250\",\n        \"text\": \"'They all can,' said the Duchess; 'and most of 'em do.'\",\n        \"caption\": \"'They all can,' said the Duchess; 'and most of 'em do.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-251\",\n        \"text\": \"'I don't know of any that do,' Alice said very politely, feeling quite\\npleased to have got into a conversation.\",\n        \"caption\": \"'I don't know of any that do,' Alice said very politely, feeling quite\\npleased to have got into a conversation.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-252\",\n        \"text\": \"'You don't know much,' said the Duchess; 'and that's a fact.'\",\n        \"caption\": \"'You don't know much,' said the Duchess; 'and that's a fact.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-253\",\n        \"text\": \"Alice did not at all like the tone of this remark, and thought it would\\nbe as well to introduce some other subject of conversation. While she\\nwas trying to fix on one, the cook took the cauldron of soup off the\\nfire, and at once set to work throwing everything within her reach at\\nthe Duchess and the baby–the fire-irons came first; then followed a\\nshower of saucepans, plates, and dishes. The Duchess took no notice of\\nthem even when they hit her; and the baby was howling so much already,\\nthat it was quite impossible to say whether the blows hurt it or not.\",\n        \"caption\": \"Alice did not at all like the tone of this remark, and thought it would\\nbe as well to introduce some other subject of conversation. While she\\nwas trying to fix on one, the cook took the cauldron of soup off the\\nfire, and at once set to work throwing everything within her reach at\\nthe Duchess and the baby–the fire-irons came first; then followed a\\nshower of saucepans, plates, and dishes. The Duchess took no notice of\\nthem even when they hit her; and the baby was howling so much already,\\nthat it was quite impossible to say whether the blows hurt it or not.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-254\",\n        \"text\": \"'Oh, PLEASE mind what you're doing!' cried Alice, jumping up and down in\\nan agony of terror. 'Oh, there goes his PRECIOUS nose'; as an unusually\\nlarge saucepan flew close by it, and very nearly carried it off.\",\n        \"caption\": \"'Oh, PLEASE mind what you're doing!' cried Alice, jumping up and down in\\nan agony of terror. 'Oh, there goes his PRECIOUS nose'; as an unusually\\nlarge saucepan flew close by it, and very nearly carried it off.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-255\",\n        \"text\": \"'If everybody minded their own business,' the Duchess said in a hoarse\\ngrowl, 'the world would go round a deal faster than it does.'\",\n        \"caption\": \"'If everybody minded their own business,' the Duchess said in a hoarse\\ngrowl, 'the world would go round a deal faster than it does.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-256\",\n        \"text\": \"'Which would NOT be an advantage,' said Alice, who felt very glad to get\\nan opportunity of showing off a little of her knowledge. 'Just think of\\nwhat work it would make with the day and night! You see the earth takes\\ntwenty-four hours to turn round on its axis–'\",\n        \"caption\": \"'Which would NOT be an advantage,' said Alice, who felt very glad to get\\nan opportunity of showing off a little of her knowledge. 'Just think of\\nwhat work it would make with the day and night! You see the earth takes\\ntwenty-four hours to turn round on its axis–'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-257\",\n        \"text\": \"'Talking of axes,' said the Duchess, 'chop off her head!'\",\n        \"caption\": \"'Talking of axes,' said the Duchess, 'chop off her head!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-258\",\n        \"text\": \"Alice glanced rather anxiously at the cook, to see if she meant to take\\nthe hint; but the cook was busily stirring the soup, and seemed not to\\nbe listening, so she went on again: 'Twenty-four hours, I THINK; or is\\nit twelve? I–'\",\n        \"caption\": \"Alice glanced rather anxiously at the cook, to see if she meant to take\\nthe hint; but the cook was busily stirring the soup, and seemed not to\\nbe listening, so she went on again: 'Twenty-four hours, I THINK; or is\\nit twelve? I–'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-259\",\n        \"text\": \"'Oh, don't bother ME,' said the Duchess; 'I never could abide figures!'\\nAnd with that she began nursing her child again, singing a sort of\\nlullaby to it as she did so, and giving it a violent shake at the end of\\nevery line:\",\n        \"caption\": \"'Oh, don't bother ME,' said the Duchess; 'I never could abide figures!'\\nAnd with that she began nursing her child again, singing a sort of\\nlullaby to it as she did so, and giving it a violent shake at the end of\\nevery line:\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-260\",\n        \"text\": \"'Speak roughly to your little boy,\\n    And beat him when he sneezes:\\n   He only does it to annoy,\\n    Because he knows it teases.'\",\n        \"caption\": \"'Speak roughly to your little boy,\\n    And beat him when he sneezes:\\n   He only does it to annoy,\\n    Because he knows it teases.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-261\",\n        \"text\": \"CHORUS.\",\n        \"caption\": \"CHORUS.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-262\",\n        \"text\": \"(In which the cook and the baby joined):–\",\n        \"caption\": \"(In which the cook and the baby joined):–\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-263\",\n        \"text\": \"'Wow! wow! wow!'\",\n        \"caption\": \"'Wow! wow! wow!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-264\",\n        \"text\": \"While the Duchess sang the second verse of the song, she kept tossing\\nthe baby violently up and down, and the poor little thing howled so,\\nthat Alice could hardly hear the words:–\",\n        \"caption\": \"While the Duchess sang the second verse of the song, she kept tossing\\nthe baby violently up and down, and the poor little thing howled so,\\nthat Alice could hardly hear the words:–\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-265\",\n        \"text\": \"'I speak severely to my boy,\\n    I beat him when he sneezes;\\n   For he can thoroughly enjoy\\n    The pepper when he pleases!'\",\n        \"caption\": \"'I speak severely to my boy,\\n    I beat him when he sneezes;\\n   For he can thoroughly enjoy\\n    The pepper when he pleases!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-266\",\n        \"text\": \"CHORUS.\",\n        \"caption\": \"CHORUS.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-267\",\n        \"text\": \"'Wow! wow! wow!'\",\n        \"caption\": \"'Wow! wow! wow!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-268\",\n        \"text\": \"'Here! you may nurse it a bit, if you like!' the Duchess said to Alice,\\nflinging the baby at her as she spoke. 'I must go and get ready to play\\ncroquet with the Queen,' and she hurried out of the room. The cook threw\\na frying-pan after her as she went out, but it just missed her.\",\n        \"caption\": \"'Here! you may nurse it a bit, if you like!' the Duchess said to Alice,\\nflinging the baby at her as she spoke. 'I must go and get ready to play\\ncroquet with the Queen,' and she hurried out of the room. The cook threw\\na frying-pan after her as she went out, but it just missed her.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-269\",\n        \"text\": \"Alice caught the baby with some difficulty, as it was a queer-shaped\\nlittle creature, and held out its arms and legs in all directions, 'just\\nlike a star-fish,' thought Alice. The poor little thing was snorting\\nlike a steam-engine when she caught it, and kept doubling itself up and\\nstraightening itself out again, so that altogether, for the first minute\\nor two, it was as much as she could do to hold it.\",\n        \"caption\": \"Alice caught the baby with some difficulty, as it was a queer-shaped\\nlittle creature, and held out its arms and legs in all directions, 'just\\nlike a star-fish,' thought Alice. The poor little thing was snorting\\nlike a steam-engine when she caught it, and kept doubling itself up and\\nstraightening itself out again, so that altogether, for the first minute\\nor two, it was as much as she could do to hold it.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-270\",\n        \"text\": \"As soon as she had made out the proper way of nursing it, (which was to\\ntwist it up into a sort of knot, and then keep tight hold of its right\\near and left foot, so as to prevent its undoing itself,) she carried\\nit out into the open air. 'IF I don't take this child away with me,'\\nthought Alice, 'they're sure to kill it in a day or two: wouldn't it be\\nmurder to leave it behind?' She said the last words out loud, and the\\nlittle thing grunted in reply (it had left off sneezing by this time).\\n'Don't grunt,' said Alice; 'that's not at all a proper way of expressing\\nyourself.'\",\n        \"caption\": \"As soon as she had made out the proper way of nursing it, (which was to\\ntwist it up into a sort of knot, and then keep tight hold of its right\\near and left foot, so as to prevent its undoing itself,) she carried\\nit out into the open air. 'IF I don't take this child away with me,'\\nthought Alice, 'they're sure to kill it in a day or two: wouldn't it be\\nmurder to leave it behind?' She said the last words out loud, and the\\nlittle thing grunted in reply (it had left off sneezing by this time).\\n'Don't grunt,' said Alice; 'that's not at all a proper way of expressing\\nyourself.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-271\",\n        \"text\": \"The baby grunted again, and Alice looked very anxiously into its face to\\nsee what was the matter with it. There could be no doubt that it had\\na VERY turn-up nose, much more like a snout than a real nose; also its\\neyes were getting extremely small for a baby: altogether Alice did not\\nlike the look of the thing at all. 'But perhaps it was only sobbing,'\\nshe thought, and looked into its eyes again, to see if there were any\\ntears.\",\n        \"caption\": \"The baby grunted again, and Alice looked very anxiously into its face to\\nsee what was the matter with it. There could be no doubt that it had\\na VERY turn-up nose, much more like a snout than a real nose; also its\\neyes were getting extremely small for a baby: altogether Alice did not\\nlike the look of the thing at all. 'But perhaps it was only sobbing,'\\nshe thought, and looked into its eyes again, to see if there were any\\ntears.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-272\",\n        \"text\": \"No, there were no tears. 'If you're going to turn into a pig, my dear,'\\nsaid Alice, seriously, 'I'll have nothing more to do with you. Mind\\nnow!' The poor little thing sobbed again (or grunted, it was impossible\\nto say which), and they went on for some while in silence.\",\n        \"caption\": \"No, there were no tears. 'If you're going to turn into a pig, my dear,'\\nsaid Alice, seriously, 'I'll have nothing more to do with you. Mind\\nnow!' The poor little thing sobbed again (or grunted, it was impossible\\nto say which), and they went on for some while in silence.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-273\",\n        \"text\": \"Alice was just beginning to think to herself, 'Now, what am I to do with\\nthis creature when I get it home?' when it grunted again, so violently,\\nthat she looked down into its face in some alarm. This time there could\\nbe NO mistake about it: it was neither more nor less than a pig, and she\\nfelt that it would be quite absurd for her to carry it further.\",\n        \"caption\": \"Alice was just beginning to think to herself, 'Now, what am I to do with\\nthis creature when I get it home?' when it grunted again, so violently,\\nthat she looked down into its face in some alarm. This time there could\\nbe NO mistake about it: it was neither more nor less than a pig, and she\\nfelt that it would be quite absurd for her to carry it further.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-274\",\n        \"text\": \"So she set the little creature down, and felt quite relieved to see\\nit trot away quietly into the wood. 'If it had grown up,' she said\\nto herself, 'it would have made a dreadfully ugly child: but it makes\\nrather a handsome pig, I think.' And she began thinking over other\\nchildren she knew, who might do very well as pigs, and was just saying\\nto herself, 'if one only knew the right way to change them–' when she\\nwas a little startled by seeing the Cheshire Cat sitting on a bough of a\\ntree a few yards off.\",\n        \"caption\": \"So she set the little creature down, and felt quite relieved to see\\nit trot away quietly into the wood. 'If it had grown up,' she said\\nto herself, 'it would have made a dreadfully ugly child: but it makes\\nrather a handsome pig, I think.' And she began thinking over other\\nchildren she knew, who might do very well as pigs, and was just saying\\nto herself, 'if one only knew the right way to change them–' when she\\nwas a little startled by seeing the Cheshire Cat sitting on a bough of a\\ntree a few yards off.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-275\",\n        \"text\": \"The Cat only grinned when it saw Alice. It looked good-natured, she\\nthought: still it had VERY long claws and a great many teeth, so she\\nfelt that it ought to be treated with respect.\",\n        \"caption\": \"The Cat only grinned when it saw Alice. It looked good-natured, she\\nthought: still it had VERY long claws and a great many teeth, so she\\nfelt that it ought to be treated with respect.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-276\",\n        \"text\": \"'Cheshire Puss,' she began, rather timidly, as she did not at all know\\nwhether it would like the name: however, it only grinned a little wider.\\n'Come, it's pleased so far,' thought Alice, and she went on. 'Would you\\ntell me, please, which way I ought to go from here?'\",\n        \"caption\": \"'Cheshire Puss,' she began, rather timidly, as she did not at all know\\nwhether it would like the name: however, it only grinned a little wider.\\n'Come, it's pleased so far,' thought Alice, and she went on. 'Would you\\ntell me, please, which way I ought to go from here?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-277\",\n        \"text\": \"'That depends a good deal on where you want to get to,' said the Cat.\",\n        \"caption\": \"'That depends a good deal on where you want to get to,' said the Cat.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-278\",\n        \"text\": \"'I don't much care where–' said Alice.\",\n        \"caption\": \"'I don't much care where–' said Alice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-279\",\n        \"text\": \"'Then it doesn't matter which way you go,' said the Cat.\",\n        \"caption\": \"'Then it doesn't matter which way you go,' said the Cat.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-280\",\n        \"text\": \"'–so long as I get SOMEWHERE,' Alice added as an explanation.\",\n        \"caption\": \"'–so long as I get SOMEWHERE,' Alice added as an explanation.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-281\",\n        \"text\": \"'Oh, you're sure to do that,' said the Cat, 'if you only walk long\\nenough.'\",\n        \"caption\": \"'Oh, you're sure to do that,' said the Cat, 'if you only walk long\\nenough.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-282\",\n        \"text\": \"Alice felt that this could not be denied, so she tried another question.\\n'What sort of people live about here?'\",\n        \"caption\": \"Alice felt that this could not be denied, so she tried another question.\\n'What sort of people live about here?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-283\",\n        \"text\": \"'In THAT direction,' the Cat said, waving its right paw round, 'lives\\na Hatter: and in THAT direction,' waving the other paw, 'lives a March\\nHare. Visit either you like: they're both mad.'\",\n        \"caption\": \"'In THAT direction,' the Cat said, waving its right paw round, 'lives\\na Hatter: and in THAT direction,' waving the other paw, 'lives a March\\nHare. Visit either you like: they're both mad.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-284\",\n        \"text\": \"'But I don't want to go among mad people,' Alice remarked.\",\n        \"caption\": \"'But I don't want to go among mad people,' Alice remarked.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-285\",\n        \"text\": \"'Oh, you can't help that,' said the Cat: 'we're all mad here. I'm mad.\\nYou're mad.'\",\n        \"caption\": \"'Oh, you can't help that,' said the Cat: 'we're all mad here. I'm mad.\\nYou're mad.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-286\",\n        \"text\": \"'How do you know I'm mad?' said Alice.\",\n        \"caption\": \"'How do you know I'm mad?' said Alice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-287\",\n        \"text\": \"'You must be,' said the Cat, 'or you wouldn't have come here.'\",\n        \"caption\": \"'You must be,' said the Cat, 'or you wouldn't have come here.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-288\",\n        \"text\": \"Alice didn't think that proved it at all; however, she went on 'And how\\ndo you know that you're mad?'\",\n        \"caption\": \"Alice didn't think that proved it at all; however, she went on 'And how\\ndo you know that you're mad?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-289\",\n        \"text\": \"'To begin with,' said the Cat, 'a dog's not mad. You grant that?'\",\n        \"caption\": \"'To begin with,' said the Cat, 'a dog's not mad. You grant that?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-290\",\n        \"text\": \"'I suppose so,' said Alice.\",\n        \"caption\": \"'I suppose so,' said Alice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-291\",\n        \"text\": \"'Well, then,' the Cat went on, 'you see, a dog growls when it's angry,\\nand wags its tail when it's pleased. Now I growl when I'm pleased, and\\nwag my tail when I'm angry. Therefore I'm mad.'\",\n        \"caption\": \"'Well, then,' the Cat went on, 'you see, a dog growls when it's angry,\\nand wags its tail when it's pleased. Now I growl when I'm pleased, and\\nwag my tail when I'm angry. Therefore I'm mad.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-292\",\n        \"text\": \"'I call it purring, not growling,' said Alice.\",\n        \"caption\": \"'I call it purring, not growling,' said Alice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-293\",\n        \"text\": \"'Call it what you like,' said the Cat. 'Do you play croquet with the\\nQueen to-day?'\",\n        \"caption\": \"'Call it what you like,' said the Cat. 'Do you play croquet with the\\nQueen to-day?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-294\",\n        \"text\": \"'I should like it very much,' said Alice, 'but I haven't been invited\\nyet.'\",\n        \"caption\": \"'I should like it very much,' said Alice, 'but I haven't been invited\\nyet.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-295\",\n        \"text\": \"'You'll see me there,' said the Cat, and vanished.\",\n        \"caption\": \"'You'll see me there,' said the Cat, and vanished.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-296\",\n        \"text\": \"Alice was not much surprised at this, she was getting so used to queer\\nthings happening. While she was looking at the place where it had been,\\nit suddenly appeared again.\",\n        \"caption\": \"Alice was not much surprised at this, she was getting so used to queer\\nthings happening. While she was looking at the place where it had been,\\nit suddenly appeared again.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-297\",\n        \"text\": \"'By-the-bye, what became of the baby?' said the Cat. 'I'd nearly\\nforgotten to ask.'\",\n        \"caption\": \"'By-the-bye, what became of the baby?' said the Cat. 'I'd nearly\\nforgotten to ask.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-298\",\n        \"text\": \"'It turned into a pig,' Alice quietly said, just as if it had come back\\nin a natural way.\",\n        \"caption\": \"'It turned into a pig,' Alice quietly said, just as if it had come back\\nin a natural way.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-299\",\n        \"text\": \"'I thought it would,' said the Cat, and vanished again.\",\n        \"caption\": \"'I thought it would,' said the Cat, and vanished again.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-300\",\n        \"text\": \"Alice waited a little, half expecting to see it again, but it did not\\nappear, and after a minute or two she walked on in the direction in\\nwhich the March Hare was said to live. 'I've seen hatters before,' she\\nsaid to herself; 'the March Hare will be much the most interesting, and\\nperhaps as this is May it won't be raving mad–at least not so mad as\\nit was in March.' As she said this, she looked up, and there was the Cat\\nagain, sitting on a branch of a tree.\",\n        \"caption\": \"Alice waited a little, half expecting to see it again, but it did not\\nappear, and after a minute or two she walked on in the direction in\\nwhich the March Hare was said to live. 'I've seen hatters before,' she\\nsaid to herself; 'the March Hare will be much the most interesting, and\\nperhaps as this is May it won't be raving mad–at least not so mad as\\nit was in March.' As she said this, she looked up, and there was the Cat\\nagain, sitting on a branch of a tree.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-301\",\n        \"text\": \"'Did you say pig, or fig?' said the Cat.\",\n        \"caption\": \"'Did you say pig, or fig?' said the Cat.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-302\",\n        \"text\": \"'I said pig,' replied Alice; 'and I wish you wouldn't keep appearing and\\nvanishing so suddenly: you make one quite giddy.'\",\n        \"caption\": \"'I said pig,' replied Alice; 'and I wish you wouldn't keep appearing and\\nvanishing so suddenly: you make one quite giddy.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-303\",\n        \"text\": \"'All right,' said the Cat; and this time it vanished quite slowly,\\nbeginning with the end of the tail, and ending with the grin, which\\nremained some time after the rest of it had gone.\",\n        \"caption\": \"'All right,' said the Cat; and this time it vanished quite slowly,\\nbeginning with the end of the tail, and ending with the grin, which\\nremained some time after the rest of it had gone.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-304\",\n        \"text\": \"'Well! I've often seen a cat without a grin,' thought Alice; 'but a grin\\nwithout a cat! It's the most curious thing I ever saw in my life!'\",\n        \"caption\": \"'Well! I've often seen a cat without a grin,' thought Alice; 'but a grin\\nwithout a cat! It's the most curious thing I ever saw in my life!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-305\",\n        \"text\": \"She had not gone much farther before she came in sight of the house\\nof the March Hare: she thought it must be the right house, because the\\nchimneys were shaped like ears and the roof was thatched with fur. It\\nwas so large a house, that she did not like to go nearer till she had\\nnibbled some more of the lefthand bit of mushroom, and raised herself to\\nabout two feet high: even then she walked up towards it rather timidly,\\nsaying to herself 'Suppose it should be raving mad after all! I almost\\nwish I'd gone to see the Hatter instead!'\",\n        \"caption\": \"She had not gone much farther before she came in sight of the house\\nof the March Hare: she thought it must be the right house, because the\\nchimneys were shaped like ears and the roof was thatched with fur. It\\nwas so large a house, that she did not like to go nearer till she had\\nnibbled some more of the lefthand bit of mushroom, and raised herself to\\nabout two feet high: even then she walked up towards it rather timidly,\\nsaying to herself 'Suppose it should be raving mad after all! I almost\\nwish I'd gone to see the Hatter instead!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-306\",\n        \"text\": \"<h3>CHAPTER VII. A Mad Tea-Party</h3>\",\n        \"caption\": \"CHAPTER VII. A Mad Tea-Party\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-307\",\n        \"text\": \"There was a table set out under a tree in front of the house, and the\\nMarch Hare and the Hatter were having tea at it: a Dormouse was sitting\\nbetween them, fast asleep, and the other two were using it as a\\ncushion, resting their elbows on it, and talking over its head. 'Very\\nuncomfortable for the Dormouse,' thought Alice; 'only, as it's asleep, I\\nsuppose it doesn't mind.'\",\n        \"caption\": \"There was a table set out under a tree in front of the house, and the\\nMarch Hare and the Hatter were having tea at it: a Dormouse was sitting\\nbetween them, fast asleep, and the other two were using it as a\\ncushion, resting their elbows on it, and talking over its head. 'Very\\nuncomfortable for the Dormouse,' thought Alice; 'only, as it's asleep, I\\nsuppose it doesn't mind.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-308\",\n        \"text\": \"The table was a large one, but the three were all crowded together at\\none corner of it: 'No room! No room!' they cried out when they saw Alice\\ncoming. 'There's PLENTY of room!' said Alice indignantly, and she sat\\ndown in a large arm-chair at one end of the table.\",\n        \"caption\": \"The table was a large one, but the three were all crowded together at\\none corner of it: 'No room! No room!' they cried out when they saw Alice\\ncoming. 'There's PLENTY of room!' said Alice indignantly, and she sat\\ndown in a large arm-chair at one end of the table.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-309\",\n        \"text\": \"'Have some wine,' the March Hare said in an encouraging tone.\",\n        \"caption\": \"'Have some wine,' the March Hare said in an encouraging tone.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-310\",\n        \"text\": \"Alice looked all round the table, but there was nothing on it but tea.\\n'I don't see any wine,' she remarked.\",\n        \"caption\": \"Alice looked all round the table, but there was nothing on it but tea.\\n'I don't see any wine,' she remarked.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-311\",\n        \"text\": \"'There isn't any,' said the March Hare.\",\n        \"caption\": \"'There isn't any,' said the March Hare.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-312\",\n        \"text\": \"'Then it wasn't very civil of you to offer it,' said Alice angrily.\",\n        \"caption\": \"'Then it wasn't very civil of you to offer it,' said Alice angrily.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-313\",\n        \"text\": \"'It wasn't very civil of you to sit down without being invited,' said\\nthe March Hare.\",\n        \"caption\": \"'It wasn't very civil of you to sit down without being invited,' said\\nthe March Hare.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-314\",\n        \"text\": \"'I didn't know it was YOUR table,' said Alice; 'it's laid for a great\\nmany more than three.'\",\n        \"caption\": \"'I didn't know it was YOUR table,' said Alice; 'it's laid for a great\\nmany more than three.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-315\",\n        \"text\": \"'Your hair wants cutting,' said the Hatter. He had been looking at Alice\\nfor some time with great curiosity, and this was his first speech.\",\n        \"caption\": \"'Your hair wants cutting,' said the Hatter. He had been looking at Alice\\nfor some time with great curiosity, and this was his first speech.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-316\",\n        \"text\": \"'You should learn not to make personal remarks,' Alice said with some\\nseverity; 'it's very rude.'\",\n        \"caption\": \"'You should learn not to make personal remarks,' Alice said with some\\nseverity; 'it's very rude.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-317\",\n        \"text\": \"The Hatter opened his eyes very wide on hearing this; but all he SAID\\nwas, 'Why is a raven like a writing-desk?'\",\n        \"caption\": \"The Hatter opened his eyes very wide on hearing this; but all he SAID\\nwas, 'Why is a raven like a writing-desk?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-318\",\n        \"text\": \"'Come, we shall have some fun now!' thought Alice. 'I'm glad they've\\nbegun asking riddles.–I believe I can guess that,' she added aloud.\",\n        \"caption\": \"'Come, we shall have some fun now!' thought Alice. 'I'm glad they've\\nbegun asking riddles.–I believe I can guess that,' she added aloud.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-319\",\n        \"text\": \"'Do you mean that you think you can find out the answer to it?' said the\\nMarch Hare.\",\n        \"caption\": \"'Do you mean that you think you can find out the answer to it?' said the\\nMarch Hare.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-320\",\n        \"text\": \"'Exactly so,' said Alice.\",\n        \"caption\": \"'Exactly so,' said Alice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-321\",\n        \"text\": \"'Then you should say what you mean,' the March Hare went on.\",\n        \"caption\": \"'Then you should say what you mean,' the March Hare went on.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-322\",\n        \"text\": \"'I do,' Alice hastily replied; 'at least–at least I mean what I\\nsay–that's the same thing, you know.'\",\n        \"caption\": \"'I do,' Alice hastily replied; 'at least–at least I mean what I\\nsay–that's the same thing, you know.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-323\",\n        \"text\": \"'Not the same thing a bit!' said the Hatter. 'You might just as well say\\nthat &quot;I see what I eat&quot; is the same thing as &quot;I eat what I see&quot;!'\",\n        \"caption\": \"'Not the same thing a bit!' said the Hatter. 'You might just as well say\\nthat &quot;I see what I eat&quot; is the same thing as &quot;I eat what I see&quot;!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-324\",\n        \"text\": \"'You might just as well say,' added the March Hare, 'that &quot;I like what I\\nget&quot; is the same thing as &quot;I get what I like&quot;!'\",\n        \"caption\": \"'You might just as well say,' added the March Hare, 'that &quot;I like what I\\nget&quot; is the same thing as &quot;I get what I like&quot;!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-325\",\n        \"text\": \"'You might just as well say,' added the Dormouse, who seemed to be\\ntalking in his sleep, 'that &quot;I breathe when I sleep&quot; is the same thing\\nas &quot;I sleep when I breathe&quot;!'\",\n        \"caption\": \"'You might just as well say,' added the Dormouse, who seemed to be\\ntalking in his sleep, 'that &quot;I breathe when I sleep&quot; is the same thing\\nas &quot;I sleep when I breathe&quot;!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-326\",\n        \"text\": \"'It IS the same thing with you,' said the Hatter, and here the\\nconversation dropped, and the party sat silent for a minute, while Alice\\nthought over all she could remember about ravens and writing-desks,\\nwhich wasn't much.\",\n        \"caption\": \"'It IS the same thing with you,' said the Hatter, and here the\\nconversation dropped, and the party sat silent for a minute, while Alice\\nthought over all she could remember about ravens and writing-desks,\\nwhich wasn't much.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-327\",\n        \"text\": \"The Hatter was the first to break the silence. 'What day of the month\\nis it?' he said, turning to Alice: he had taken his watch out of his\\npocket, and was looking at it uneasily, shaking it every now and then,\\nand holding it to his ear.\",\n        \"caption\": \"The Hatter was the first to break the silence. 'What day of the month\\nis it?' he said, turning to Alice: he had taken his watch out of his\\npocket, and was looking at it uneasily, shaking it every now and then,\\nand holding it to his ear.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-328\",\n        \"text\": \"Alice considered a little, and then said 'The fourth.'\",\n        \"caption\": \"Alice considered a little, and then said 'The fourth.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-329\",\n        \"text\": \"'Two days wrong!' sighed the Hatter. 'I told you butter wouldn't suit\\nthe works!' he added looking angrily at the March Hare.\",\n        \"caption\": \"'Two days wrong!' sighed the Hatter. 'I told you butter wouldn't suit\\nthe works!' he added looking angrily at the March Hare.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-330\",\n        \"text\": \"'It was the BEST butter,' the March Hare meekly replied.\",\n        \"caption\": \"'It was the BEST butter,' the March Hare meekly replied.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-331\",\n        \"text\": \"'Yes, but some crumbs must have got in as well,' the Hatter grumbled:\\n'you shouldn't have put it in with the bread-knife.'\",\n        \"caption\": \"'Yes, but some crumbs must have got in as well,' the Hatter grumbled:\\n'you shouldn't have put it in with the bread-knife.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-332\",\n        \"text\": \"The March Hare took the watch and looked at it gloomily: then he dipped\\nit into his cup of tea, and looked at it again: but he could think of\\nnothing better to say than his first remark, 'It was the BEST butter,\\nyou know.'\",\n        \"caption\": \"The March Hare took the watch and looked at it gloomily: then he dipped\\nit into his cup of tea, and looked at it again: but he could think of\\nnothing better to say than his first remark, 'It was the BEST butter,\\nyou know.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-333\",\n        \"text\": \"Alice had been looking over his shoulder with some curiosity. 'What a\\nfunny watch!' she remarked. 'It tells the day of the month, and doesn't\\ntell what o'clock it is!'\",\n        \"caption\": \"Alice had been looking over his shoulder with some curiosity. 'What a\\nfunny watch!' she remarked. 'It tells the day of the month, and doesn't\\ntell what o'clock it is!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-334\",\n        \"text\": \"'Why should it?' muttered the Hatter. 'Does YOUR watch tell you what\\nyear it is?'\",\n        \"caption\": \"'Why should it?' muttered the Hatter. 'Does YOUR watch tell you what\\nyear it is?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-335\",\n        \"text\": \"'Of course not,' Alice replied very readily: 'but that's because it\\nstays the same year for such a long time together.'\",\n        \"caption\": \"'Of course not,' Alice replied very readily: 'but that's because it\\nstays the same year for such a long time together.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-336\",\n        \"text\": \"'Which is just the case with MINE,' said the Hatter.\",\n        \"caption\": \"'Which is just the case with MINE,' said the Hatter.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-337\",\n        \"text\": \"Alice felt dreadfully puzzled. The Hatter's remark seemed to have no\\nsort of meaning in it, and yet it was certainly English. 'I don't quite\\nunderstand you,' she said, as politely as she could.\",\n        \"caption\": \"Alice felt dreadfully puzzled. The Hatter's remark seemed to have no\\nsort of meaning in it, and yet it was certainly English. 'I don't quite\\nunderstand you,' she said, as politely as she could.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-338\",\n        \"text\": \"'The Dormouse is asleep again,' said the Hatter, and he poured a little\\nhot tea upon its nose.\",\n        \"caption\": \"'The Dormouse is asleep again,' said the Hatter, and he poured a little\\nhot tea upon its nose.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-339\",\n        \"text\": \"The Dormouse shook its head impatiently, and said, without opening its\\neyes, 'Of course, of course; just what I was going to remark myself.'\",\n        \"caption\": \"The Dormouse shook its head impatiently, and said, without opening its\\neyes, 'Of course, of course; just what I was going to remark myself.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-340\",\n        \"text\": \"'Have you guessed the riddle yet?' the Hatter said, turning to Alice\\nagain.\",\n        \"caption\": \"'Have you guessed the riddle yet?' the Hatter said, turning to Alice\\nagain.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-341\",\n        \"text\": \"'No, I give it up,' Alice replied: 'what's the answer?'\",\n        \"caption\": \"'No, I give it up,' Alice replied: 'what's the answer?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-342\",\n        \"text\": \"'I haven't the slightest idea,' said the Hatter.\",\n        \"caption\": \"'I haven't the slightest idea,' said the Hatter.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-343\",\n        \"text\": \"'Nor I,' said the March Hare.\",\n        \"caption\": \"'Nor I,' said the March Hare.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-344\",\n        \"text\": \"Alice sighed wearily. 'I think you might do something better with the\\ntime,' she said, 'than waste it in asking riddles that have no answers.'\",\n        \"caption\": \"Alice sighed wearily. 'I think you might do something better with the\\ntime,' she said, 'than waste it in asking riddles that have no answers.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-345\",\n        \"text\": \"'If you knew Time as well as I do,' said the Hatter, 'you wouldn't talk\\nabout wasting IT. It's HIM.'\",\n        \"caption\": \"'If you knew Time as well as I do,' said the Hatter, 'you wouldn't talk\\nabout wasting IT. It's HIM.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-346\",\n        \"text\": \"'I don't know what you mean,' said Alice.\",\n        \"caption\": \"'I don't know what you mean,' said Alice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-347\",\n        \"text\": \"'Of course you don't!' the Hatter said, tossing his head contemptuously.\\n'I dare say you never even spoke to Time!'\",\n        \"caption\": \"'Of course you don't!' the Hatter said, tossing his head contemptuously.\\n'I dare say you never even spoke to Time!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-348\",\n        \"text\": \"'Perhaps not,' Alice cautiously replied: 'but I know I have to beat time\\nwhen I learn music.'\",\n        \"caption\": \"'Perhaps not,' Alice cautiously replied: 'but I know I have to beat time\\nwhen I learn music.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-349\",\n        \"text\": \"'Ah! that accounts for it,' said the Hatter. 'He won't stand beating.\\nNow, if you only kept on good terms with him, he'd do almost anything\\nyou liked with the clock. For instance, suppose it were nine o'clock in\\nthe morning, just time to begin lessons: you'd only have to whisper a\\nhint to Time, and round goes the clock in a twinkling! Half-past one,\\ntime for dinner!'\",\n        \"caption\": \"'Ah! that accounts for it,' said the Hatter. 'He won't stand beating.\\nNow, if you only kept on good terms with him, he'd do almost anything\\nyou liked with the clock. For instance, suppose it were nine o'clock in\\nthe morning, just time to begin lessons: you'd only have to whisper a\\nhint to Time, and round goes the clock in a twinkling! Half-past one,\\ntime for dinner!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-350\",\n        \"text\": \"('I only wish it was,' the March Hare said to itself in a whisper.)\",\n        \"caption\": \"('I only wish it was,' the March Hare said to itself in a whisper.)\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-351\",\n        \"text\": \"'That would be grand, certainly,' said Alice thoughtfully: 'but then–I\\nshouldn't be hungry for it, you know.'\",\n        \"caption\": \"'That would be grand, certainly,' said Alice thoughtfully: 'but then–I\\nshouldn't be hungry for it, you know.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-352\",\n        \"text\": \"'Not at first, perhaps,' said the Hatter: 'but you could keep it to\\nhalf-past one as long as you liked.'\",\n        \"caption\": \"'Not at first, perhaps,' said the Hatter: 'but you could keep it to\\nhalf-past one as long as you liked.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-353\",\n        \"text\": \"'Is that the way YOU manage?' Alice asked.\",\n        \"caption\": \"'Is that the way YOU manage?' Alice asked.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-354\",\n        \"text\": \"The Hatter shook his head mournfully. 'Not I!' he replied. 'We\\nquarrelled last March–just before HE went mad, you know–' (pointing\\nwith his tea spoon at the March Hare,) '–it was at the great concert\\ngiven by the Queen of Hearts, and I had to sing\",\n        \"caption\": \"The Hatter shook his head mournfully. 'Not I!' he replied. 'We\\nquarrelled last March–just before HE went mad, you know–' (pointing\\nwith his tea spoon at the March Hare,) '–it was at the great concert\\ngiven by the Queen of Hearts, and I had to sing\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-355\",\n        \"text\": \"&quot;Twinkle, twinkle, little bat!\\n     How I wonder what you're at!&quot;\",\n        \"caption\": \"&quot;Twinkle, twinkle, little bat!\\n     How I wonder what you're at!&quot;\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-356\",\n        \"text\": \"You know the song, perhaps?'\",\n        \"caption\": \"You know the song, perhaps?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-357\",\n        \"text\": \"'I've heard something like it,' said Alice.\",\n        \"caption\": \"'I've heard something like it,' said Alice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-358\",\n        \"text\": \"'It goes on, you know,' the Hatter continued, 'in this way:–\",\n        \"caption\": \"'It goes on, you know,' the Hatter continued, 'in this way:–\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-359\",\n        \"text\": \"&quot;Up above the world you fly,\\n     Like a tea-tray in the sky.\\n         Twinkle, twinkle–&quot;'\",\n        \"caption\": \"&quot;Up above the world you fly,\\n     Like a tea-tray in the sky.\\n         Twinkle, twinkle–&quot;'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-360\",\n        \"text\": \"Here the Dormouse shook itself, and began singing in its sleep 'Twinkle,\\ntwinkle, twinkle, twinkle–' and went on so long that they had to pinch\\nit to make it stop.\",\n        \"caption\": \"Here the Dormouse shook itself, and began singing in its sleep 'Twinkle,\\ntwinkle, twinkle, twinkle–' and went on so long that they had to pinch\\nit to make it stop.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-361\",\n        \"text\": \"'Well, I'd hardly finished the first verse,' said the Hatter, 'when the\\nQueen jumped up and bawled out, &quot;He's murdering the time! Off with his\\nhead!&quot;'\",\n        \"caption\": \"'Well, I'd hardly finished the first verse,' said the Hatter, 'when the\\nQueen jumped up and bawled out, &quot;He's murdering the time! Off with his\\nhead!&quot;'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-362\",\n        \"text\": \"'How dreadfully savage!' exclaimed Alice.\",\n        \"caption\": \"'How dreadfully savage!' exclaimed Alice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-363\",\n        \"text\": \"'And ever since that,' the Hatter went on in a mournful tone, 'he won't\\ndo a thing I ask! It's always six o'clock now.'\",\n        \"caption\": \"'And ever since that,' the Hatter went on in a mournful tone, 'he won't\\ndo a thing I ask! It's always six o'clock now.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-364\",\n        \"text\": \"A bright idea came into Alice's head. 'Is that the reason so many\\ntea-things are put out here?' she asked.\",\n        \"caption\": \"A bright idea came into Alice's head. 'Is that the reason so many\\ntea-things are put out here?' she asked.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-365\",\n        \"text\": \"'Yes, that's it,' said the Hatter with a sigh: 'it's always tea-time,\\nand we've no time to wash the things between whiles.'\",\n        \"caption\": \"'Yes, that's it,' said the Hatter with a sigh: 'it's always tea-time,\\nand we've no time to wash the things between whiles.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-366\",\n        \"text\": \"'Then you keep moving round, I suppose?' said Alice.\",\n        \"caption\": \"'Then you keep moving round, I suppose?' said Alice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-367\",\n        \"text\": \"'Exactly so,' said the Hatter: 'as the things get used up.'\",\n        \"caption\": \"'Exactly so,' said the Hatter: 'as the things get used up.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-368\",\n        \"text\": \"'But what happens when you come to the beginning again?' Alice ventured\\nto ask.\",\n        \"caption\": \"'But what happens when you come to the beginning again?' Alice ventured\\nto ask.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-369\",\n        \"text\": \"'Suppose we change the subject,' the March Hare interrupted, yawning.\\n'I'm getting tired of this. I vote the young lady tells us a story.'\",\n        \"caption\": \"'Suppose we change the subject,' the March Hare interrupted, yawning.\\n'I'm getting tired of this. I vote the young lady tells us a story.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-370\",\n        \"text\": \"'I'm afraid I don't know one,' said Alice, rather alarmed at the\\nproposal.\",\n        \"caption\": \"'I'm afraid I don't know one,' said Alice, rather alarmed at the\\nproposal.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-371\",\n        \"text\": \"'Then the Dormouse shall!' they both cried. 'Wake up, Dormouse!' And\\nthey pinched it on both sides at once.\",\n        \"caption\": \"'Then the Dormouse shall!' they both cried. 'Wake up, Dormouse!' And\\nthey pinched it on both sides at once.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-372\",\n        \"text\": \"The Dormouse slowly opened his eyes. 'I wasn't asleep,' he said in a\\nhoarse, feeble voice: 'I heard every word you fellows were saying.'\",\n        \"caption\": \"The Dormouse slowly opened his eyes. 'I wasn't asleep,' he said in a\\nhoarse, feeble voice: 'I heard every word you fellows were saying.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-373\",\n        \"text\": \"'Tell us a story!' said the March Hare.\",\n        \"caption\": \"'Tell us a story!' said the March Hare.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-374\",\n        \"text\": \"'Yes, please do!' pleaded Alice.\",\n        \"caption\": \"'Yes, please do!' pleaded Alice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-375\",\n        \"text\": \"'And be quick about it,' added the Hatter, 'or you'll be asleep again\\nbefore it's done.'\",\n        \"caption\": \"'And be quick about it,' added the Hatter, 'or you'll be asleep again\\nbefore it's done.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-376\",\n        \"text\": \"'Once upon a time there were three little sisters,' the Dormouse began\\nin a great hurry; 'and their names were Elsie, Lacie, and Tillie; and\\nthey lived at the bottom of a well–'\",\n        \"caption\": \"'Once upon a time there were three little sisters,' the Dormouse began\\nin a great hurry; 'and their names were Elsie, Lacie, and Tillie; and\\nthey lived at the bottom of a well–'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-377\",\n        \"text\": \"'What did they live on?' said Alice, who always took a great interest in\\nquestions of eating and drinking.\",\n        \"caption\": \"'What did they live on?' said Alice, who always took a great interest in\\nquestions of eating and drinking.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-378\",\n        \"text\": \"'They lived on treacle,' said the Dormouse, after thinking a minute or\\ntwo.\",\n        \"caption\": \"'They lived on treacle,' said the Dormouse, after thinking a minute or\\ntwo.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-379\",\n        \"text\": \"'They couldn't have done that, you know,' Alice gently remarked; 'they'd\\nhave been ill.'\",\n        \"caption\": \"'They couldn't have done that, you know,' Alice gently remarked; 'they'd\\nhave been ill.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-380\",\n        \"text\": \"'So they were,' said the Dormouse; 'VERY ill.'\",\n        \"caption\": \"'So they were,' said the Dormouse; 'VERY ill.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-381\",\n        \"text\": \"Alice tried to fancy to herself what such an extraordinary ways of\\nliving would be like, but it puzzled her too much, so she went on: 'But\\nwhy did they live at the bottom of a well?'\",\n        \"caption\": \"Alice tried to fancy to herself what such an extraordinary ways of\\nliving would be like, but it puzzled her too much, so she went on: 'But\\nwhy did they live at the bottom of a well?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-382\",\n        \"text\": \"'Take some more tea,' the March Hare said to Alice, very earnestly.\",\n        \"caption\": \"'Take some more tea,' the March Hare said to Alice, very earnestly.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-383\",\n        \"text\": \"'I've had nothing yet,' Alice replied in an offended tone, 'so I can't\\ntake more.'\",\n        \"caption\": \"'I've had nothing yet,' Alice replied in an offended tone, 'so I can't\\ntake more.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-384\",\n        \"text\": \"'You mean you can't take LESS,' said the Hatter: 'it's very easy to take\\nMORE than nothing.'\",\n        \"caption\": \"'You mean you can't take LESS,' said the Hatter: 'it's very easy to take\\nMORE than nothing.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-385\",\n        \"text\": \"'Nobody asked YOUR opinion,' said Alice.\",\n        \"caption\": \"'Nobody asked YOUR opinion,' said Alice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-386\",\n        \"text\": \"'Who's making personal remarks now?' the Hatter asked triumphantly.\",\n        \"caption\": \"'Who's making personal remarks now?' the Hatter asked triumphantly.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-387\",\n        \"text\": \"Alice did not quite know what to say to this: so she helped herself\\nto some tea and bread-and-butter, and then turned to the Dormouse, and\\nrepeated her question. 'Why did they live at the bottom of a well?'\",\n        \"caption\": \"Alice did not quite know what to say to this: so she helped herself\\nto some tea and bread-and-butter, and then turned to the Dormouse, and\\nrepeated her question. 'Why did they live at the bottom of a well?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-388\",\n        \"text\": \"The Dormouse again took a minute or two to think about it, and then\\nsaid, 'It was a treacle-well.'\",\n        \"caption\": \"The Dormouse again took a minute or two to think about it, and then\\nsaid, 'It was a treacle-well.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-389\",\n        \"text\": \"'There's no such thing!' Alice was beginning very angrily, but the\\nHatter and the March Hare went 'Sh! sh!' and the Dormouse sulkily\\nremarked, 'If you can't be civil, you'd better finish the story for\\nyourself.'\",\n        \"caption\": \"'There's no such thing!' Alice was beginning very angrily, but the\\nHatter and the March Hare went 'Sh! sh!' and the Dormouse sulkily\\nremarked, 'If you can't be civil, you'd better finish the story for\\nyourself.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-390\",\n        \"text\": \"'No, please go on!' Alice said very humbly; 'I won't interrupt again. I\\ndare say there may be ONE.'\",\n        \"caption\": \"'No, please go on!' Alice said very humbly; 'I won't interrupt again. I\\ndare say there may be ONE.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-391\",\n        \"text\": \"'One, indeed!' said the Dormouse indignantly. However, he consented to\\ngo on. 'And so these three little sisters–they were learning to draw,\\nyou know–'\",\n        \"caption\": \"'One, indeed!' said the Dormouse indignantly. However, he consented to\\ngo on. 'And so these three little sisters–they were learning to draw,\\nyou know–'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-392\",\n        \"text\": \"'What did they draw?' said Alice, quite forgetting her promise.\",\n        \"caption\": \"'What did they draw?' said Alice, quite forgetting her promise.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-393\",\n        \"text\": \"'Treacle,' said the Dormouse, without considering at all this time.\",\n        \"caption\": \"'Treacle,' said the Dormouse, without considering at all this time.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-394\",\n        \"text\": \"'I want a clean cup,' interrupted the Hatter: 'let's all move one place\\non.'\",\n        \"caption\": \"'I want a clean cup,' interrupted the Hatter: 'let's all move one place\\non.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-395\",\n        \"text\": \"He moved on as he spoke, and the Dormouse followed him: the March Hare\\nmoved into the Dormouse's place, and Alice rather unwillingly took\\nthe place of the March Hare. The Hatter was the only one who got any\\nadvantage from the change: and Alice was a good deal worse off than\\nbefore, as the March Hare had just upset the milk-jug into his plate.\",\n        \"caption\": \"He moved on as he spoke, and the Dormouse followed him: the March Hare\\nmoved into the Dormouse's place, and Alice rather unwillingly took\\nthe place of the March Hare. The Hatter was the only one who got any\\nadvantage from the change: and Alice was a good deal worse off than\\nbefore, as the March Hare had just upset the milk-jug into his plate.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-396\",\n        \"text\": \"Alice did not wish to offend the Dormouse again, so she began very\\ncautiously: 'But I don't understand. Where did they draw the treacle\\nfrom?'\",\n        \"caption\": \"Alice did not wish to offend the Dormouse again, so she began very\\ncautiously: 'But I don't understand. Where did they draw the treacle\\nfrom?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-397\",\n        \"text\": \"'You can draw water out of a water-well,' said the Hatter; 'so I should\\nthink you could draw treacle out of a treacle-well–eh, stupid?'\",\n        \"caption\": \"'You can draw water out of a water-well,' said the Hatter; 'so I should\\nthink you could draw treacle out of a treacle-well–eh, stupid?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-398\",\n        \"text\": \"'But they were IN the well,' Alice said to the Dormouse, not choosing to\\nnotice this last remark.\",\n        \"caption\": \"'But they were IN the well,' Alice said to the Dormouse, not choosing to\\nnotice this last remark.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-399\",\n        \"text\": \"'Of course they were', said the Dormouse; '–well in.'\",\n        \"caption\": \"'Of course they were', said the Dormouse; '–well in.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-400\",\n        \"text\": \"This answer so confused poor Alice, that she let the Dormouse go on for\\nsome time without interrupting it.\",\n        \"caption\": \"This answer so confused poor Alice, that she let the Dormouse go on for\\nsome time without interrupting it.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-401\",\n        \"text\": \"'They were learning to draw,' the Dormouse went on, yawning and rubbing\\nits eyes, for it was getting very sleepy; 'and they drew all manner of\\nthings–everything that begins with an M–'\",\n        \"caption\": \"'They were learning to draw,' the Dormouse went on, yawning and rubbing\\nits eyes, for it was getting very sleepy; 'and they drew all manner of\\nthings–everything that begins with an M–'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-402\",\n        \"text\": \"'Why with an M?' said Alice.\",\n        \"caption\": \"'Why with an M?' said Alice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-403\",\n        \"text\": \"'Why not?' said the March Hare.\",\n        \"caption\": \"'Why not?' said the March Hare.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-404\",\n        \"text\": \"Alice was silent.\",\n        \"caption\": \"Alice was silent.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-405\",\n        \"text\": \"The Dormouse had closed its eyes by this time, and was going off into\\na doze; but, on being pinched by the Hatter, it woke up again with\\na little shriek, and went on: '–that begins with an M, such as\\nmouse-traps, and the moon, and memory, and muchness–you know you say\\nthings are &quot;much of a muchness&quot;–did you ever see such a thing as a\\ndrawing of a muchness?'\",\n        \"caption\": \"The Dormouse had closed its eyes by this time, and was going off into\\na doze; but, on being pinched by the Hatter, it woke up again with\\na little shriek, and went on: '–that begins with an M, such as\\nmouse-traps, and the moon, and memory, and muchness–you know you say\\nthings are &quot;much of a muchness&quot;–did you ever see such a thing as a\\ndrawing of a muchness?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-406\",\n        \"text\": \"'Really, now you ask me,' said Alice, very much confused, 'I don't\\nthink–'\",\n        \"caption\": \"'Really, now you ask me,' said Alice, very much confused, 'I don't\\nthink–'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-407\",\n        \"text\": \"'Then you shouldn't talk,' said the Hatter.\",\n        \"caption\": \"'Then you shouldn't talk,' said the Hatter.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-408\",\n        \"text\": \"This piece of rudeness was more than Alice could bear: she got up in\\ngreat disgust, and walked off; the Dormouse fell asleep instantly, and\\nneither of the others took the least notice of her going, though she\\nlooked back once or twice, half hoping that they would call after her:\\nthe last time she saw them, they were trying to put the Dormouse into\\nthe teapot.\",\n        \"caption\": \"This piece of rudeness was more than Alice could bear: she got up in\\ngreat disgust, and walked off; the Dormouse fell asleep instantly, and\\nneither of the others took the least notice of her going, though she\\nlooked back once or twice, half hoping that they would call after her:\\nthe last time she saw them, they were trying to put the Dormouse into\\nthe teapot.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-409\",\n        \"text\": \"'At any rate I'll never go THERE again!' said Alice as she picked her\\nway through the wood. 'It's the stupidest tea-party I ever was at in all\\nmy life!'\",\n        \"caption\": \"'At any rate I'll never go THERE again!' said Alice as she picked her\\nway through the wood. 'It's the stupidest tea-party I ever was at in all\\nmy life!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-410\",\n        \"text\": \"Just as she said this, she noticed that one of the trees had a door\\nleading right into it. 'That's very curious!' she thought. 'But\\neverything's curious today. I think I may as well go in at once.' And in\\nshe went.\",\n        \"caption\": \"Just as she said this, she noticed that one of the trees had a door\\nleading right into it. 'That's very curious!' she thought. 'But\\neverything's curious today. I think I may as well go in at once.' And in\\nshe went.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-411\",\n        \"text\": \"Once more she found herself in the long hall, and close to the little\\nglass table. 'Now, I'll manage better this time,' she said to herself,\\nand began by taking the little golden key, and unlocking the door that\\nled into the garden. Then she went to work nibbling at the mushroom (she\\nhad kept a piece of it in her pocket) till she was about a foot high:\\nthen she walked down the little passage: and THEN–she found herself at\\nlast in the beautiful garden, among the bright flower-beds and the cool\\nfountains.\",\n        \"caption\": \"Once more she found herself in the long hall, and close to the little\\nglass table. 'Now, I'll manage better this time,' she said to herself,\\nand began by taking the little golden key, and unlocking the door that\\nled into the garden. Then she went to work nibbling at the mushroom (she\\nhad kept a piece of it in her pocket) till she was about a foot high:\\nthen she walked down the little passage: and THEN–she found herself at\\nlast in the beautiful garden, among the bright flower-beds and the cool\\nfountains.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-412\",\n        \"text\": \"<h3>CHAPTER VIII. The Queen's Croquet-Ground</h3>\",\n        \"caption\": \"CHAPTER VIII. The Queen's Croquet-Ground\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-413\",\n        \"text\": \"A large rose-tree stood near the entrance of the garden: the roses\\ngrowing on it were white, but there were three gardeners at it, busily\\npainting them red. Alice thought this a very curious thing, and she went\\nnearer to watch them, and just as she came up to them she heard one of\\nthem say, 'Look out now, Five! Don't go splashing paint over me like\\nthat!'\",\n        \"caption\": \"A large rose-tree stood near the entrance of the garden: the roses\\ngrowing on it were white, but there were three gardeners at it, busily\\npainting them red. Alice thought this a very curious thing, and she went\\nnearer to watch them, and just as she came up to them she heard one of\\nthem say, 'Look out now, Five! Don't go splashing paint over me like\\nthat!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-414\",\n        \"text\": \"'I couldn't help it,' said Five, in a sulky tone; 'Seven jogged my\\nelbow.'\",\n        \"caption\": \"'I couldn't help it,' said Five, in a sulky tone; 'Seven jogged my\\nelbow.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-415\",\n        \"text\": \"On which Seven looked up and said, 'That's right, Five! Always lay the\\nblame on others!'\",\n        \"caption\": \"On which Seven looked up and said, 'That's right, Five! Always lay the\\nblame on others!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-416\",\n        \"text\": \"'YOU'D better not talk!' said Five. 'I heard the Queen say only\\nyesterday you deserved to be beheaded!'\",\n        \"caption\": \"'YOU'D better not talk!' said Five. 'I heard the Queen say only\\nyesterday you deserved to be beheaded!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-417\",\n        \"text\": \"'What for?' said the one who had spoken first.\",\n        \"caption\": \"'What for?' said the one who had spoken first.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-418\",\n        \"text\": \"'That's none of YOUR business, Two!' said Seven.\",\n        \"caption\": \"'That's none of YOUR business, Two!' said Seven.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-419\",\n        \"text\": \"'Yes, it IS his business!' said Five, 'and I'll tell him–it was for\\nbringing the cook tulip-roots instead of onions.'\",\n        \"caption\": \"'Yes, it IS his business!' said Five, 'and I'll tell him–it was for\\nbringing the cook tulip-roots instead of onions.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-420\",\n        \"text\": \"Seven flung down his brush, and had just begun 'Well, of all the unjust\\nthings–' when his eye chanced to fall upon Alice, as she stood watching\\nthem, and he checked himself suddenly: the others looked round also, and\\nall of them bowed low.\",\n        \"caption\": \"Seven flung down his brush, and had just begun 'Well, of all the unjust\\nthings–' when his eye chanced to fall upon Alice, as she stood watching\\nthem, and he checked himself suddenly: the others looked round also, and\\nall of them bowed low.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-421\",\n        \"text\": \"'Would you tell me,' said Alice, a little timidly, 'why you are painting\\nthose roses?'\",\n        \"caption\": \"'Would you tell me,' said Alice, a little timidly, 'why you are painting\\nthose roses?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-422\",\n        \"text\": \"Five and Seven said nothing, but looked at Two. Two began in a low\\nvoice, 'Why the fact is, you see, Miss, this here ought to have been a\\nRED rose-tree, and we put a white one in by mistake; and if the Queen\\nwas to find it out, we should all have our heads cut off, you know.\\nSo you see, Miss, we're doing our best, afore she comes, to–' At this\\nmoment Five, who had been anxiously looking across the garden, called\\nout 'The Queen! The Queen!' and the three gardeners instantly threw\\nthemselves flat upon their faces. There was a sound of many footsteps,\\nand Alice looked round, eager to see the Queen.\",\n        \"caption\": \"Five and Seven said nothing, but looked at Two. Two began in a low\\nvoice, 'Why the fact is, you see, Miss, this here ought to have been a\\nRED rose-tree, and we put a white one in by mistake; and if the Queen\\nwas to find it out, we should all have our heads cut off, you know.\\nSo you see, Miss, we're doing our best, afore she comes, to–' At this\\nmoment Five, who had been anxiously looking across the garden, called\\nout 'The Queen! The Queen!' and the three gardeners instantly threw\\nthemselves flat upon their faces. There was a sound of many footsteps,\\nand Alice looked round, eager to see the Queen.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-423\",\n        \"text\": \"First came ten soldiers carrying clubs; these were all shaped like\\nthe three gardeners, oblong and flat, with their hands and feet at the\\ncorners: next the ten courtiers; these were ornamented all over with\\ndiamonds, and walked two and two, as the soldiers did. After these came\\nthe royal children; there were ten of them, and the little dears came\\njumping merrily along hand in hand, in couples: they were all ornamented\\nwith hearts. Next came the guests, mostly Kings and Queens, and among\\nthem Alice recognised the White Rabbit: it was talking in a hurried\\nnervous manner, smiling at everything that was said, and went by without\\nnoticing her. Then followed the Knave of Hearts, carrying the King's\\ncrown on a crimson velvet cushion; and, last of all this grand\\nprocession, came THE KING AND QUEEN OF HEARTS.\",\n        \"caption\": \"First came ten soldiers carrying clubs; these were all shaped like\\nthe three gardeners, oblong and flat, with their hands and feet at the\\ncorners: next the ten courtiers; these were ornamented all over with\\ndiamonds, and walked two and two, as the soldiers did. After these came\\nthe royal children; there were ten of them, and the little dears came\\njumping merrily along hand in hand, in couples: they were all ornamented\\nwith hearts. Next came the guests, mostly Kings and Queens, and among\\nthem Alice recognised the White Rabbit: it was talking in a hurried\\nnervous manner, smiling at everything that was said, and went by without\\nnoticing her. Then followed the Knave of Hearts, carrying the King's\\ncrown on a crimson velvet cushion; and, last of all this grand\\nprocession, came THE KING AND QUEEN OF HEARTS.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-424\",\n        \"text\": \"Alice was rather doubtful whether she ought not to lie down on her face\\nlike the three gardeners, but she could not remember ever having heard\\nof such a rule at processions; 'and besides, what would be the use of\\na procession,' thought she, 'if people had all to lie down upon their\\nfaces, so that they couldn't see it?' So she stood still where she was,\\nand waited.\",\n        \"caption\": \"Alice was rather doubtful whether she ought not to lie down on her face\\nlike the three gardeners, but she could not remember ever having heard\\nof such a rule at processions; 'and besides, what would be the use of\\na procession,' thought she, 'if people had all to lie down upon their\\nfaces, so that they couldn't see it?' So she stood still where she was,\\nand waited.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-425\",\n        \"text\": \"When the procession came opposite to Alice, they all stopped and looked\\nat her, and the Queen said severely 'Who is this?' She said it to the\\nKnave of Hearts, who only bowed and smiled in reply.\",\n        \"caption\": \"When the procession came opposite to Alice, they all stopped and looked\\nat her, and the Queen said severely 'Who is this?' She said it to the\\nKnave of Hearts, who only bowed and smiled in reply.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-426\",\n        \"text\": \"'Idiot!' said the Queen, tossing her head impatiently; and, turning to\\nAlice, she went on, 'What's your name, child?'\",\n        \"caption\": \"'Idiot!' said the Queen, tossing her head impatiently; and, turning to\\nAlice, she went on, 'What's your name, child?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-427\",\n        \"text\": \"'My name is Alice, so please your Majesty,' said Alice very politely;\\nbut she added, to herself, 'Why, they're only a pack of cards, after\\nall. I needn't be afraid of them!'\",\n        \"caption\": \"'My name is Alice, so please your Majesty,' said Alice very politely;\\nbut she added, to herself, 'Why, they're only a pack of cards, after\\nall. I needn't be afraid of them!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-428\",\n        \"text\": \"'And who are THESE?' said the Queen, pointing to the three gardeners who\\nwere lying round the rosetree; for, you see, as they were lying on their\\nfaces, and the pattern on their backs was the same as the rest of the\\npack, she could not tell whether they were gardeners, or soldiers, or\\ncourtiers, or three of her own children.\",\n        \"caption\": \"'And who are THESE?' said the Queen, pointing to the three gardeners who\\nwere lying round the rosetree; for, you see, as they were lying on their\\nfaces, and the pattern on their backs was the same as the rest of the\\npack, she could not tell whether they were gardeners, or soldiers, or\\ncourtiers, or three of her own children.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-429\",\n        \"text\": \"'How should I know?' said Alice, surprised at her own courage. 'It's no\\nbusiness of MINE.'\",\n        \"caption\": \"'How should I know?' said Alice, surprised at her own courage. 'It's no\\nbusiness of MINE.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-430\",\n        \"text\": \"The Queen turned crimson with fury, and, after glaring at her for a\\nmoment like a wild beast, screamed 'Off with her head! Off–'\",\n        \"caption\": \"The Queen turned crimson with fury, and, after glaring at her for a\\nmoment like a wild beast, screamed 'Off with her head! Off–'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-431\",\n        \"text\": \"'Nonsense!' said Alice, very loudly and decidedly, and the Queen was\\nsilent.\",\n        \"caption\": \"'Nonsense!' said Alice, very loudly and decidedly, and the Queen was\\nsilent.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-432\",\n        \"text\": \"The King laid his hand upon her arm, and timidly said 'Consider, my\\ndear: she is only a child!'\",\n        \"caption\": \"The King laid his hand upon her arm, and timidly said 'Consider, my\\ndear: she is only a child!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-433\",\n        \"text\": \"The Queen turned angrily away from him, and said to the Knave 'Turn them\\nover!'\",\n        \"caption\": \"The Queen turned angrily away from him, and said to the Knave 'Turn them\\nover!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-434\",\n        \"text\": \"The Knave did so, very carefully, with one foot.\",\n        \"caption\": \"The Knave did so, very carefully, with one foot.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-435\",\n        \"text\": \"'Get up!' said the Queen, in a shrill, loud voice, and the three\\ngardeners instantly jumped up, and began bowing to the King, the Queen,\\nthe royal children, and everybody else.\",\n        \"caption\": \"'Get up!' said the Queen, in a shrill, loud voice, and the three\\ngardeners instantly jumped up, and began bowing to the King, the Queen,\\nthe royal children, and everybody else.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-436\",\n        \"text\": \"'Leave off that!' screamed the Queen. 'You make me giddy.' And then,\\nturning to the rose-tree, she went on, 'What HAVE you been doing here?'\",\n        \"caption\": \"'Leave off that!' screamed the Queen. 'You make me giddy.' And then,\\nturning to the rose-tree, she went on, 'What HAVE you been doing here?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-437\",\n        \"text\": \"'May it please your Majesty,' said Two, in a very humble tone, going\\ndown on one knee as he spoke, 'we were trying–'\",\n        \"caption\": \"'May it please your Majesty,' said Two, in a very humble tone, going\\ndown on one knee as he spoke, 'we were trying–'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-438\",\n        \"text\": \"'I see!' said the Queen, who had meanwhile been examining the roses.\\n'Off with their heads!' and the procession moved on, three of the\\nsoldiers remaining behind to execute the unfortunate gardeners, who ran\\nto Alice for protection.\",\n        \"caption\": \"'I see!' said the Queen, who had meanwhile been examining the roses.\\n'Off with their heads!' and the procession moved on, three of the\\nsoldiers remaining behind to execute the unfortunate gardeners, who ran\\nto Alice for protection.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-439\",\n        \"text\": \"'You shan't be beheaded!' said Alice, and she put them into a large\\nflower-pot that stood near. The three soldiers wandered about for a\\nminute or two, looking for them, and then quietly marched off after the\\nothers.\",\n        \"caption\": \"'You shan't be beheaded!' said Alice, and she put them into a large\\nflower-pot that stood near. The three soldiers wandered about for a\\nminute or two, looking for them, and then quietly marched off after the\\nothers.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-440\",\n        \"text\": \"'Are their heads off?' shouted the Queen.\",\n        \"caption\": \"'Are their heads off?' shouted the Queen.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-441\",\n        \"text\": \"'Their heads are gone, if it please your Majesty!' the soldiers shouted\\nin reply.\",\n        \"caption\": \"'Their heads are gone, if it please your Majesty!' the soldiers shouted\\nin reply.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-442\",\n        \"text\": \"'That's right!' shouted the Queen. 'Can you play croquet?'\",\n        \"caption\": \"'That's right!' shouted the Queen. 'Can you play croquet?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-443\",\n        \"text\": \"The soldiers were silent, and looked at Alice, as the question was\\nevidently meant for her.\",\n        \"caption\": \"The soldiers were silent, and looked at Alice, as the question was\\nevidently meant for her.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-444\",\n        \"text\": \"'Yes!' shouted Alice.\",\n        \"caption\": \"'Yes!' shouted Alice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-445\",\n        \"text\": \"'Come on, then!' roared the Queen, and Alice joined the procession,\\nwondering very much what would happen next.\",\n        \"caption\": \"'Come on, then!' roared the Queen, and Alice joined the procession,\\nwondering very much what would happen next.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-446\",\n        \"text\": \"'It's–it's a very fine day!' said a timid voice at her side. She was\\nwalking by the White Rabbit, who was peeping anxiously into her face.\",\n        \"caption\": \"'It's–it's a very fine day!' said a timid voice at her side. She was\\nwalking by the White Rabbit, who was peeping anxiously into her face.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-447\",\n        \"text\": \"'Very,' said Alice: '–where's the Duchess?'\",\n        \"caption\": \"'Very,' said Alice: '–where's the Duchess?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-448\",\n        \"text\": \"'Hush! Hush!' said the Rabbit in a low, hurried tone. He looked\\nanxiously over his shoulder as he spoke, and then raised himself upon\\ntiptoe, put his mouth close to her ear, and whispered 'She's under\\nsentence of execution.'\",\n        \"caption\": \"'Hush! Hush!' said the Rabbit in a low, hurried tone. He looked\\nanxiously over his shoulder as he spoke, and then raised himself upon\\ntiptoe, put his mouth close to her ear, and whispered 'She's under\\nsentence of execution.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-449\",\n        \"text\": \"'What for?' said Alice.\",\n        \"caption\": \"'What for?' said Alice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-450\",\n        \"text\": \"'Did you say &quot;What a pity!&quot;?' the Rabbit asked.\",\n        \"caption\": \"'Did you say &quot;What a pity!&quot;?' the Rabbit asked.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-451\",\n        \"text\": \"'No, I didn't,' said Alice: 'I don't think it's at all a pity. I said\\n&quot;What for?&quot;'\",\n        \"caption\": \"'No, I didn't,' said Alice: 'I don't think it's at all a pity. I said\\n&quot;What for?&quot;'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-452\",\n        \"text\": \"'She boxed the Queen's ears–' the Rabbit began. Alice gave a little\\nscream of laughter. 'Oh, hush!' the Rabbit whispered in a frightened\\ntone. 'The Queen will hear you! You see, she came rather late, and the\\nQueen said–'\",\n        \"caption\": \"'She boxed the Queen's ears–' the Rabbit began. Alice gave a little\\nscream of laughter. 'Oh, hush!' the Rabbit whispered in a frightened\\ntone. 'The Queen will hear you! You see, she came rather late, and the\\nQueen said–'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-453\",\n        \"text\": \"'Get to your places!' shouted the Queen in a voice of thunder, and\\npeople began running about in all directions, tumbling up against each\\nother; however, they got settled down in a minute or two, and the game\\nbegan. Alice thought she had never seen such a curious croquet-ground in\\nher life; it was all ridges and furrows; the balls were live hedgehogs,\\nthe mallets live flamingoes, and the soldiers had to double themselves\\nup and to stand on their hands and feet, to make the arches.\",\n        \"caption\": \"'Get to your places!' shouted the Queen in a voice of thunder, and\\npeople began running about in all directions, tumbling up against each\\nother; however, they got settled down in a minute or two, and the game\\nbegan. Alice thought she had never seen such a curious croquet-ground in\\nher life; it was all ridges and furrows; the balls were live hedgehogs,\\nthe mallets live flamingoes, and the soldiers had to double themselves\\nup and to stand on their hands and feet, to make the arches.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-454\",\n        \"text\": \"The chief difficulty Alice found at first was in managing her flamingo:\\nshe succeeded in getting its body tucked away, comfortably enough, under\\nher arm, with its legs hanging down, but generally, just as she had got\\nits neck nicely straightened out, and was going to give the hedgehog a\\nblow with its head, it WOULD twist itself round and look up in her face,\\nwith such a puzzled expression that she could not help bursting out\\nlaughing: and when she had got its head down, and was going to begin\\nagain, it was very provoking to find that the hedgehog had unrolled\\nitself, and was in the act of crawling away: besides all this, there was\\ngenerally a ridge or furrow in the way wherever she wanted to send the\\nhedgehog to, and, as the doubled-up soldiers were always getting up\\nand walking off to other parts of the ground, Alice soon came to the\\nconclusion that it was a very difficult game indeed.\",\n        \"caption\": \"The chief difficulty Alice found at first was in managing her flamingo:\\nshe succeeded in getting its body tucked away, comfortably enough, under\\nher arm, with its legs hanging down, but generally, just as she had got\\nits neck nicely straightened out, and was going to give the hedgehog a\\nblow with its head, it WOULD twist itself round and look up in her face,\\nwith such a puzzled expression that she could not help bursting out\\nlaughing: and when she had got its head down, and was going to begin\\nagain, it was very provoking to find that the hedgehog had unrolled\\nitself, and was in the act of crawling away: besides all this, there was\\ngenerally a ridge or furrow in the way wherever she wanted to send the\\nhedgehog to, and, as the doubled-up soldiers were always getting up\\nand walking off to other parts of the ground, Alice soon came to the\\nconclusion that it was a very difficult game indeed.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-455\",\n        \"text\": \"The players all played at once without waiting for turns, quarrelling\\nall the while, and fighting for the hedgehogs; and in a very short\\ntime the Queen was in a furious passion, and went stamping about, and\\nshouting 'Off with his head!' or 'Off with her head!' about once in a\\nminute.\",\n        \"caption\": \"The players all played at once without waiting for turns, quarrelling\\nall the while, and fighting for the hedgehogs; and in a very short\\ntime the Queen was in a furious passion, and went stamping about, and\\nshouting 'Off with his head!' or 'Off with her head!' about once in a\\nminute.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-456\",\n        \"text\": \"Alice began to feel very uneasy: to be sure, she had not as yet had any\\ndispute with the Queen, but she knew that it might happen any minute,\\n'and then,' thought she, 'what would become of me? They're dreadfully\\nfond of beheading people here; the great wonder is, that there's any one\\nleft alive!'\",\n        \"caption\": \"Alice began to feel very uneasy: to be sure, she had not as yet had any\\ndispute with the Queen, but she knew that it might happen any minute,\\n'and then,' thought she, 'what would become of me? They're dreadfully\\nfond of beheading people here; the great wonder is, that there's any one\\nleft alive!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-457\",\n        \"text\": \"She was looking about for some way of escape, and wondering whether she\\ncould get away without being seen, when she noticed a curious appearance\\nin the air: it puzzled her very much at first, but, after watching it\\na minute or two, she made it out to be a grin, and she said to herself\\n'It's the Cheshire Cat: now I shall have somebody to talk to.'\",\n        \"caption\": \"She was looking about for some way of escape, and wondering whether she\\ncould get away without being seen, when she noticed a curious appearance\\nin the air: it puzzled her very much at first, but, after watching it\\na minute or two, she made it out to be a grin, and she said to herself\\n'It's the Cheshire Cat: now I shall have somebody to talk to.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-458\",\n        \"text\": \"'How are you getting on?' said the Cat, as soon as there was mouth\\nenough for it to speak with.\",\n        \"caption\": \"'How are you getting on?' said the Cat, as soon as there was mouth\\nenough for it to speak with.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-459\",\n        \"text\": \"Alice waited till the eyes appeared, and then nodded. 'It's no use\\nspeaking to it,' she thought, 'till its ears have come, or at least one\\nof them.' In another minute the whole head appeared, and then Alice put\\ndown her flamingo, and began an account of the game, feeling very glad\\nshe had someone to listen to her. The Cat seemed to think that there was\\nenough of it now in sight, and no more of it appeared.\",\n        \"caption\": \"Alice waited till the eyes appeared, and then nodded. 'It's no use\\nspeaking to it,' she thought, 'till its ears have come, or at least one\\nof them.' In another minute the whole head appeared, and then Alice put\\ndown her flamingo, and began an account of the game, feeling very glad\\nshe had someone to listen to her. The Cat seemed to think that there was\\nenough of it now in sight, and no more of it appeared.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-460\",\n        \"text\": \"'I don't think they play at all fairly,' Alice began, in rather a\\ncomplaining tone, 'and they all quarrel so dreadfully one can't hear\\noneself speak–and they don't seem to have any rules in particular;\\nat least, if there are, nobody attends to them–and you've no idea how\\nconfusing it is all the things being alive; for instance, there's the\\narch I've got to go through next walking about at the other end of the\\nground–and I should have croqueted the Queen's hedgehog just now, only\\nit ran away when it saw mine coming!'\",\n        \"caption\": \"'I don't think they play at all fairly,' Alice began, in rather a\\ncomplaining tone, 'and they all quarrel so dreadfully one can't hear\\noneself speak–and they don't seem to have any rules in particular;\\nat least, if there are, nobody attends to them–and you've no idea how\\nconfusing it is all the things being alive; for instance, there's the\\narch I've got to go through next walking about at the other end of the\\nground–and I should have croqueted the Queen's hedgehog just now, only\\nit ran away when it saw mine coming!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-461\",\n        \"text\": \"'How do you like the Queen?' said the Cat in a low voice.\",\n        \"caption\": \"'How do you like the Queen?' said the Cat in a low voice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-462\",\n        \"text\": \"'Not at all,' said Alice: 'she's so extremely–' Just then she noticed\\nthat the Queen was close behind her, listening: so she went on,\\n'–likely to win, that it's hardly worth while finishing the game.'\",\n        \"caption\": \"'Not at all,' said Alice: 'she's so extremely–' Just then she noticed\\nthat the Queen was close behind her, listening: so she went on,\\n'–likely to win, that it's hardly worth while finishing the game.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-463\",\n        \"text\": \"The Queen smiled and passed on.\",\n        \"caption\": \"The Queen smiled and passed on.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-464\",\n        \"text\": \"'Who ARE you talking to?' said the King, going up to Alice, and looking\\nat the Cat's head with great curiosity.\",\n        \"caption\": \"'Who ARE you talking to?' said the King, going up to Alice, and looking\\nat the Cat's head with great curiosity.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-465\",\n        \"text\": \"'It's a friend of mine–a Cheshire Cat,' said Alice: 'allow me to\\nintroduce it.'\",\n        \"caption\": \"'It's a friend of mine–a Cheshire Cat,' said Alice: 'allow me to\\nintroduce it.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-466\",\n        \"text\": \"'I don't like the look of it at all,' said the King: 'however, it may\\nkiss my hand if it likes.'\",\n        \"caption\": \"'I don't like the look of it at all,' said the King: 'however, it may\\nkiss my hand if it likes.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-467\",\n        \"text\": \"'I'd rather not,' the Cat remarked.\",\n        \"caption\": \"'I'd rather not,' the Cat remarked.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-468\",\n        \"text\": \"'Don't be impertinent,' said the King, 'and don't look at me like that!'\\nHe got behind Alice as he spoke.\",\n        \"caption\": \"'Don't be impertinent,' said the King, 'and don't look at me like that!'\\nHe got behind Alice as he spoke.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-469\",\n        \"text\": \"'A cat may look at a king,' said Alice. 'I've read that in some book,\\nbut I don't remember where.'\",\n        \"caption\": \"'A cat may look at a king,' said Alice. 'I've read that in some book,\\nbut I don't remember where.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-470\",\n        \"text\": \"'Well, it must be removed,' said the King very decidedly, and he called\\nthe Queen, who was passing at the moment, 'My dear! I wish you would\\nhave this cat removed!'\",\n        \"caption\": \"'Well, it must be removed,' said the King very decidedly, and he called\\nthe Queen, who was passing at the moment, 'My dear! I wish you would\\nhave this cat removed!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-471\",\n        \"text\": \"The Queen had only one way of settling all difficulties, great or small.\\n'Off with his head!' she said, without even looking round.\",\n        \"caption\": \"The Queen had only one way of settling all difficulties, great or small.\\n'Off with his head!' she said, without even looking round.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-472\",\n        \"text\": \"'I'll fetch the executioner myself,' said the King eagerly, and he\\nhurried off.\",\n        \"caption\": \"'I'll fetch the executioner myself,' said the King eagerly, and he\\nhurried off.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-473\",\n        \"text\": \"Alice thought she might as well go back, and see how the game was going\\non, as she heard the Queen's voice in the distance, screaming with\\npassion. She had already heard her sentence three of the players to be\\nexecuted for having missed their turns, and she did not like the look\\nof things at all, as the game was in such confusion that she never knew\\nwhether it was her turn or not. So she went in search of her hedgehog.\",\n        \"caption\": \"Alice thought she might as well go back, and see how the game was going\\non, as she heard the Queen's voice in the distance, screaming with\\npassion. She had already heard her sentence three of the players to be\\nexecuted for having missed their turns, and she did not like the look\\nof things at all, as the game was in such confusion that she never knew\\nwhether it was her turn or not. So she went in search of her hedgehog.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-474\",\n        \"text\": \"The hedgehog was engaged in a fight with another hedgehog, which seemed\\nto Alice an excellent opportunity for croqueting one of them with the\\nother: the only difficulty was, that her flamingo was gone across to the\\nother side of the garden, where Alice could see it trying in a helpless\\nsort of way to fly up into a tree.\",\n        \"caption\": \"The hedgehog was engaged in a fight with another hedgehog, which seemed\\nto Alice an excellent opportunity for croqueting one of them with the\\nother: the only difficulty was, that her flamingo was gone across to the\\nother side of the garden, where Alice could see it trying in a helpless\\nsort of way to fly up into a tree.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-475\",\n        \"text\": \"By the time she had caught the flamingo and brought it back, the fight\\nwas over, and both the hedgehogs were out of sight: 'but it doesn't\\nmatter much,' thought Alice, 'as all the arches are gone from this side\\nof the ground.' So she tucked it away under her arm, that it might not\\nescape again, and went back for a little more conversation with her\\nfriend.\",\n        \"caption\": \"By the time she had caught the flamingo and brought it back, the fight\\nwas over, and both the hedgehogs were out of sight: 'but it doesn't\\nmatter much,' thought Alice, 'as all the arches are gone from this side\\nof the ground.' So she tucked it away under her arm, that it might not\\nescape again, and went back for a little more conversation with her\\nfriend.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-476\",\n        \"text\": \"When she got back to the Cheshire Cat, she was surprised to find quite a\\nlarge crowd collected round it: there was a dispute going on between\\nthe executioner, the King, and the Queen, who were all talking at once,\\nwhile all the rest were quite silent, and looked very uncomfortable.\",\n        \"caption\": \"When she got back to the Cheshire Cat, she was surprised to find quite a\\nlarge crowd collected round it: there was a dispute going on between\\nthe executioner, the King, and the Queen, who were all talking at once,\\nwhile all the rest were quite silent, and looked very uncomfortable.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-477\",\n        \"text\": \"The moment Alice appeared, she was appealed to by all three to settle\\nthe question, and they repeated their arguments to her, though, as they\\nall spoke at once, she found it very hard indeed to make out exactly\\nwhat they said.\",\n        \"caption\": \"The moment Alice appeared, she was appealed to by all three to settle\\nthe question, and they repeated their arguments to her, though, as they\\nall spoke at once, she found it very hard indeed to make out exactly\\nwhat they said.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-478\",\n        \"text\": \"The executioner's argument was, that you couldn't cut off a head unless\\nthere was a body to cut it off from: that he had never had to do such a\\nthing before, and he wasn't going to begin at HIS time of life.\",\n        \"caption\": \"The executioner's argument was, that you couldn't cut off a head unless\\nthere was a body to cut it off from: that he had never had to do such a\\nthing before, and he wasn't going to begin at HIS time of life.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-479\",\n        \"text\": \"The King's argument was, that anything that had a head could be\\nbeheaded, and that you weren't to talk nonsense.\",\n        \"caption\": \"The King's argument was, that anything that had a head could be\\nbeheaded, and that you weren't to talk nonsense.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-480\",\n        \"text\": \"The Queen's argument was, that if something wasn't done about it in less\\nthan no time she'd have everybody executed, all round. (It was this last\\nremark that had made the whole party look so grave and anxious.)\",\n        \"caption\": \"The Queen's argument was, that if something wasn't done about it in less\\nthan no time she'd have everybody executed, all round. (It was this last\\nremark that had made the whole party look so grave and anxious.)\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-481\",\n        \"text\": \"Alice could think of nothing else to say but 'It belongs to the Duchess:\\nyou'd better ask HER about it.'\",\n        \"caption\": \"Alice could think of nothing else to say but 'It belongs to the Duchess:\\nyou'd better ask HER about it.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-482\",\n        \"text\": \"'She's in prison,' the Queen said to the executioner: 'fetch her here.'\\nAnd the executioner went off like an arrow.\",\n        \"caption\": \"'She's in prison,' the Queen said to the executioner: 'fetch her here.'\\nAnd the executioner went off like an arrow.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-483\",\n        \"text\": \"The Cat's head began fading away the moment he was gone, and,\\nby the time he had come back with the Duchess, it had entirely\\ndisappeared; so the King and the executioner ran wildly up and down\\nlooking for it, while the rest of the party went back to the game.\",\n        \"caption\": \"The Cat's head began fading away the moment he was gone, and,\\nby the time he had come back with the Duchess, it had entirely\\ndisappeared; so the King and the executioner ran wildly up and down\\nlooking for it, while the rest of the party went back to the game.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-484\",\n        \"text\": \"<h3>CHAPTER IX. The Mock Turtle's Story</h3>\",\n        \"caption\": \"CHAPTER IX. The Mock Turtle's Story\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-485\",\n        \"text\": \"'You can't think how glad I am to see you again, you dear old thing!'\\nsaid the Duchess, as she tucked her arm affectionately into Alice's, and\\nthey walked off together.\",\n        \"caption\": \"'You can't think how glad I am to see you again, you dear old thing!'\\nsaid the Duchess, as she tucked her arm affectionately into Alice's, and\\nthey walked off together.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-486\",\n        \"text\": \"Alice was very glad to find her in such a pleasant temper, and thought\\nto herself that perhaps it was only the pepper that had made her so\\nsavage when they met in the kitchen.\",\n        \"caption\": \"Alice was very glad to find her in such a pleasant temper, and thought\\nto herself that perhaps it was only the pepper that had made her so\\nsavage when they met in the kitchen.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-487\",\n        \"text\": \"'When I'M a Duchess,' she said to herself, (not in a very hopeful tone\\nthough), 'I won't have any pepper in my kitchen AT ALL. Soup does very\\nwell without–Maybe it's always pepper that makes people hot-tempered,'\\nshe went on, very much pleased at having found out a new kind of\\nrule, 'and vinegar that makes them sour–and camomile that makes\\nthem bitter–and–and barley-sugar and such things that make children\\nsweet-tempered. I only wish people knew that: then they wouldn't be so\\nstingy about it, you know–'\",\n        \"caption\": \"'When I'M a Duchess,' she said to herself, (not in a very hopeful tone\\nthough), 'I won't have any pepper in my kitchen AT ALL. Soup does very\\nwell without–Maybe it's always pepper that makes people hot-tempered,'\\nshe went on, very much pleased at having found out a new kind of\\nrule, 'and vinegar that makes them sour–and camomile that makes\\nthem bitter–and–and barley-sugar and such things that make children\\nsweet-tempered. I only wish people knew that: then they wouldn't be so\\nstingy about it, you know–'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-488\",\n        \"text\": \"She had quite forgotten the Duchess by this time, and was a little\\nstartled when she heard her voice close to her ear. 'You're thinking\\nabout something, my dear, and that makes you forget to talk. I can't\\ntell you just now what the moral of that is, but I shall remember it in\\na bit.'\",\n        \"caption\": \"She had quite forgotten the Duchess by this time, and was a little\\nstartled when she heard her voice close to her ear. 'You're thinking\\nabout something, my dear, and that makes you forget to talk. I can't\\ntell you just now what the moral of that is, but I shall remember it in\\na bit.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-489\",\n        \"text\": \"'Perhaps it hasn't one,' Alice ventured to remark.\",\n        \"caption\": \"'Perhaps it hasn't one,' Alice ventured to remark.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-490\",\n        \"text\": \"'Tut, tut, child!' said the Duchess. 'Everything's got a moral, if only\\nyou can find it.' And she squeezed herself up closer to Alice's side as\\nshe spoke.\",\n        \"caption\": \"'Tut, tut, child!' said the Duchess. 'Everything's got a moral, if only\\nyou can find it.' And she squeezed herself up closer to Alice's side as\\nshe spoke.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-491\",\n        \"text\": \"Alice did not much like keeping so close to her: first, because the\\nDuchess was VERY ugly; and secondly, because she was exactly the\\nright height to rest her chin upon Alice's shoulder, and it was an\\nuncomfortably sharp chin. However, she did not like to be rude, so she\\nbore it as well as she could.\",\n        \"caption\": \"Alice did not much like keeping so close to her: first, because the\\nDuchess was VERY ugly; and secondly, because she was exactly the\\nright height to rest her chin upon Alice's shoulder, and it was an\\nuncomfortably sharp chin. However, she did not like to be rude, so she\\nbore it as well as she could.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-492\",\n        \"text\": \"'The game's going on rather better now,' she said, by way of keeping up\\nthe conversation a little.\",\n        \"caption\": \"'The game's going on rather better now,' she said, by way of keeping up\\nthe conversation a little.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-493\",\n        \"text\": \"' 'Tis so,' said the Duchess: 'and the moral of that is–&quot;Oh, 'tis love,\\n'tis love, that makes the world go round!&quot;'\",\n        \"caption\": \"' 'Tis so,' said the Duchess: 'and the moral of that is–&quot;Oh, 'tis love,\\n'tis love, that makes the world go round!&quot;'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-494\",\n        \"text\": \"'Somebody said,' Alice whispered, 'that it's done by everybody minding\\ntheir own business!'\",\n        \"caption\": \"'Somebody said,' Alice whispered, 'that it's done by everybody minding\\ntheir own business!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-495\",\n        \"text\": \"'Ah, well! It means much the same thing,' said the Duchess, digging her\\nsharp little chin into Alice's shoulder as she added, 'and the moral\\nof THAT is–&quot;Take care of the sense, and the sounds will take care of\\nthemselves.&quot;'\",\n        \"caption\": \"'Ah, well! It means much the same thing,' said the Duchess, digging her\\nsharp little chin into Alice's shoulder as she added, 'and the moral\\nof THAT is–&quot;Take care of the sense, and the sounds will take care of\\nthemselves.&quot;'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-496\",\n        \"text\": \"'How fond she is of finding morals in things!' Alice thought to herself.\",\n        \"caption\": \"'How fond she is of finding morals in things!' Alice thought to herself.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-497\",\n        \"text\": \"'I dare say you're wondering why I don't put my arm round your waist,'\\nthe Duchess said after a pause: 'the reason is, that I'm doubtful about\\nthe temper of your flamingo. Shall I try the experiment?'\",\n        \"caption\": \"'I dare say you're wondering why I don't put my arm round your waist,'\\nthe Duchess said after a pause: 'the reason is, that I'm doubtful about\\nthe temper of your flamingo. Shall I try the experiment?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-498\",\n        \"text\": \"'HE might bite,' Alice cautiously replied, not feeling at all anxious to\\nhave the experiment tried.\",\n        \"caption\": \"'HE might bite,' Alice cautiously replied, not feeling at all anxious to\\nhave the experiment tried.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-499\",\n        \"text\": \"'Very true,' said the Duchess: 'flamingoes and mustard both bite. And\\nthe moral of that is–&quot;Birds of a feather flock together.&quot;'\",\n        \"caption\": \"'Very true,' said the Duchess: 'flamingoes and mustard both bite. And\\nthe moral of that is–&quot;Birds of a feather flock together.&quot;'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-500\",\n        \"text\": \"'Only mustard isn't a bird,' Alice remarked.\",\n        \"caption\": \"'Only mustard isn't a bird,' Alice remarked.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-501\",\n        \"text\": \"'Right, as usual,' said the Duchess: 'what a clear way you have of\\nputting things!'\",\n        \"caption\": \"'Right, as usual,' said the Duchess: 'what a clear way you have of\\nputting things!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-502\",\n        \"text\": \"'It's a mineral, I THINK,' said Alice.\",\n        \"caption\": \"'It's a mineral, I THINK,' said Alice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-503\",\n        \"text\": \"'Of course it is,' said the Duchess, who seemed ready to agree to\\neverything that Alice said; 'there's a large mustard-mine near here. And\\nthe moral of that is–&quot;The more there is of mine, the less there is of\\nyours.&quot;'\",\n        \"caption\": \"'Of course it is,' said the Duchess, who seemed ready to agree to\\neverything that Alice said; 'there's a large mustard-mine near here. And\\nthe moral of that is–&quot;The more there is of mine, the less there is of\\nyours.&quot;'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-504\",\n        \"text\": \"'Oh, I know!' exclaimed Alice, who had not attended to this last remark,\\n'it's a vegetable. It doesn't look like one, but it is.'\",\n        \"caption\": \"'Oh, I know!' exclaimed Alice, who had not attended to this last remark,\\n'it's a vegetable. It doesn't look like one, but it is.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-505\",\n        \"text\": \"'I quite agree with you,' said the Duchess; 'and the moral of that\\nis–&quot;Be what you would seem to be&quot;–or if you'd like it put more\\nsimply–&quot;Never imagine yourself not to be otherwise than what it might\\nappear to others that what you were or might have been was not otherwise\\nthan what you had been would have appeared to them to be otherwise.&quot;'\",\n        \"caption\": \"'I quite agree with you,' said the Duchess; 'and the moral of that\\nis–&quot;Be what you would seem to be&quot;–or if you'd like it put more\\nsimply–&quot;Never imagine yourself not to be otherwise than what it might\\nappear to others that what you were or might have been was not otherwise\\nthan what you had been would have appeared to them to be otherwise.&quot;'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-506\",\n        \"text\": \"'I think I should understand that better,' Alice said very politely, 'if\\nI had it written down: but I can't quite follow it as you say it.'\",\n        \"caption\": \"'I think I should understand that better,' Alice said very politely, 'if\\nI had it written down: but I can't quite follow it as you say it.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-507\",\n        \"text\": \"'That's nothing to what I could say if I chose,' the Duchess replied, in\\na pleased tone.\",\n        \"caption\": \"'That's nothing to what I could say if I chose,' the Duchess replied, in\\na pleased tone.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-508\",\n        \"text\": \"'Pray don't trouble yourself to say it any longer than that,' said\\nAlice.\",\n        \"caption\": \"'Pray don't trouble yourself to say it any longer than that,' said\\nAlice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-509\",\n        \"text\": \"'Oh, don't talk about trouble!' said the Duchess. 'I make you a present\\nof everything I've said as yet.'\",\n        \"caption\": \"'Oh, don't talk about trouble!' said the Duchess. 'I make you a present\\nof everything I've said as yet.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-510\",\n        \"text\": \"'A cheap sort of present!' thought Alice. 'I'm glad they don't give\\nbirthday presents like that!' But she did not venture to say it out\\nloud.\",\n        \"caption\": \"'A cheap sort of present!' thought Alice. 'I'm glad they don't give\\nbirthday presents like that!' But she did not venture to say it out\\nloud.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-511\",\n        \"text\": \"'Thinking again?' the Duchess asked, with another dig of her sharp\\nlittle chin.\",\n        \"caption\": \"'Thinking again?' the Duchess asked, with another dig of her sharp\\nlittle chin.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-512\",\n        \"text\": \"'I've a right to think,' said Alice sharply, for she was beginning to\\nfeel a little worried.\",\n        \"caption\": \"'I've a right to think,' said Alice sharply, for she was beginning to\\nfeel a little worried.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-513\",\n        \"text\": \"'Just about as much right,' said the Duchess, 'as pigs have to fly; and\\nthe m–'\",\n        \"caption\": \"'Just about as much right,' said the Duchess, 'as pigs have to fly; and\\nthe m–'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-514\",\n        \"text\": \"But here, to Alice's great surprise, the Duchess's voice died away, even\\nin the middle of her favourite word 'moral,' and the arm that was linked\\ninto hers began to tremble. Alice looked up, and there stood the Queen\\nin front of them, with her arms folded, frowning like a thunderstorm.\",\n        \"caption\": \"But here, to Alice's great surprise, the Duchess's voice died away, even\\nin the middle of her favourite word 'moral,' and the arm that was linked\\ninto hers began to tremble. Alice looked up, and there stood the Queen\\nin front of them, with her arms folded, frowning like a thunderstorm.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-515\",\n        \"text\": \"'A fine day, your Majesty!' the Duchess began in a low, weak voice.\",\n        \"caption\": \"'A fine day, your Majesty!' the Duchess began in a low, weak voice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-516\",\n        \"text\": \"'Now, I give you fair warning,' shouted the Queen, stamping on the\\nground as she spoke; 'either you or your head must be off, and that in\\nabout half no time! Take your choice!'\",\n        \"caption\": \"'Now, I give you fair warning,' shouted the Queen, stamping on the\\nground as she spoke; 'either you or your head must be off, and that in\\nabout half no time! Take your choice!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-517\",\n        \"text\": \"The Duchess took her choice, and was gone in a moment.\",\n        \"caption\": \"The Duchess took her choice, and was gone in a moment.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-518\",\n        \"text\": \"'Let's go on with the game,' the Queen said to Alice; and Alice was\\ntoo much frightened to say a word, but slowly followed her back to the\\ncroquet-ground.\",\n        \"caption\": \"'Let's go on with the game,' the Queen said to Alice; and Alice was\\ntoo much frightened to say a word, but slowly followed her back to the\\ncroquet-ground.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-519\",\n        \"text\": \"The other guests had taken advantage of the Queen's absence, and were\\nresting in the shade: however, the moment they saw her, they hurried\\nback to the game, the Queen merely remarking that a moment's delay would\\ncost them their lives.\",\n        \"caption\": \"The other guests had taken advantage of the Queen's absence, and were\\nresting in the shade: however, the moment they saw her, they hurried\\nback to the game, the Queen merely remarking that a moment's delay would\\ncost them their lives.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-520\",\n        \"text\": \"All the time they were playing the Queen never left off quarrelling with\\nthe other players, and shouting 'Off with his head!' or 'Off with her\\nhead!' Those whom she sentenced were taken into custody by the soldiers,\\nwho of course had to leave off being arches to do this, so that by\\nthe end of half an hour or so there were no arches left, and all the\\nplayers, except the King, the Queen, and Alice, were in custody and\\nunder sentence of execution.\",\n        \"caption\": \"All the time they were playing the Queen never left off quarrelling with\\nthe other players, and shouting 'Off with his head!' or 'Off with her\\nhead!' Those whom she sentenced were taken into custody by the soldiers,\\nwho of course had to leave off being arches to do this, so that by\\nthe end of half an hour or so there were no arches left, and all the\\nplayers, except the King, the Queen, and Alice, were in custody and\\nunder sentence of execution.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-521\",\n        \"text\": \"Then the Queen left off, quite out of breath, and said to Alice, 'Have\\nyou seen the Mock Turtle yet?'\",\n        \"caption\": \"Then the Queen left off, quite out of breath, and said to Alice, 'Have\\nyou seen the Mock Turtle yet?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-522\",\n        \"text\": \"'No,' said Alice. 'I don't even know what a Mock Turtle is.'\",\n        \"caption\": \"'No,' said Alice. 'I don't even know what a Mock Turtle is.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-523\",\n        \"text\": \"'It's the thing Mock Turtle Soup is made from,' said the Queen.\",\n        \"caption\": \"'It's the thing Mock Turtle Soup is made from,' said the Queen.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-524\",\n        \"text\": \"'I never saw one, or heard of one,' said Alice.\",\n        \"caption\": \"'I never saw one, or heard of one,' said Alice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-525\",\n        \"text\": \"'Come on, then,' said the Queen, 'and he shall tell you his history,'\",\n        \"caption\": \"'Come on, then,' said the Queen, 'and he shall tell you his history,'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-526\",\n        \"text\": \"As they walked off together, Alice heard the King say in a low voice,\\nto the company generally, 'You are all pardoned.' 'Come, THAT'S a good\\nthing!' she said to herself, for she had felt quite unhappy at the\\nnumber of executions the Queen had ordered.\",\n        \"caption\": \"As they walked off together, Alice heard the King say in a low voice,\\nto the company generally, 'You are all pardoned.' 'Come, THAT'S a good\\nthing!' she said to herself, for she had felt quite unhappy at the\\nnumber of executions the Queen had ordered.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-527\",\n        \"text\": \"They very soon came upon a Gryphon, lying fast asleep in the sun.\\n(IF you don't know what a Gryphon is, look at the picture.) 'Up, lazy\\nthing!' said the Queen, 'and take this young lady to see the Mock\\nTurtle, and to hear his history. I must go back and see after some\\nexecutions I have ordered'; and she walked off, leaving Alice alone with\\nthe Gryphon. Alice did not quite like the look of the creature, but on\\nthe whole she thought it would be quite as safe to stay with it as to go\\nafter that savage Queen: so she waited.\",\n        \"caption\": \"They very soon came upon a Gryphon, lying fast asleep in the sun.\\n(IF you don't know what a Gryphon is, look at the picture.) 'Up, lazy\\nthing!' said the Queen, 'and take this young lady to see the Mock\\nTurtle, and to hear his history. I must go back and see after some\\nexecutions I have ordered'; and she walked off, leaving Alice alone with\\nthe Gryphon. Alice did not quite like the look of the creature, but on\\nthe whole she thought it would be quite as safe to stay with it as to go\\nafter that savage Queen: so she waited.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-528\",\n        \"text\": \"The Gryphon sat up and rubbed its eyes: then it watched the Queen till\\nshe was out of sight: then it chuckled. 'What fun!' said the Gryphon,\\nhalf to itself, half to Alice.\",\n        \"caption\": \"The Gryphon sat up and rubbed its eyes: then it watched the Queen till\\nshe was out of sight: then it chuckled. 'What fun!' said the Gryphon,\\nhalf to itself, half to Alice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-529\",\n        \"text\": \"'What IS the fun?' said Alice.\",\n        \"caption\": \"'What IS the fun?' said Alice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-530\",\n        \"text\": \"'Why, SHE,' said the Gryphon. 'It's all her fancy, that: they never\\nexecutes nobody, you know. Come on!'\",\n        \"caption\": \"'Why, SHE,' said the Gryphon. 'It's all her fancy, that: they never\\nexecutes nobody, you know. Come on!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-531\",\n        \"text\": \"'Everybody says &quot;come on!&quot; here,' thought Alice, as she went slowly\\nafter it: 'I never was so ordered about in all my life, never!'\",\n        \"caption\": \"'Everybody says &quot;come on!&quot; here,' thought Alice, as she went slowly\\nafter it: 'I never was so ordered about in all my life, never!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-532\",\n        \"text\": \"They had not gone far before they saw the Mock Turtle in the distance,\\nsitting sad and lonely on a little ledge of rock, and, as they came\\nnearer, Alice could hear him sighing as if his heart would break. She\\npitied him deeply. 'What is his sorrow?' she asked the Gryphon, and the\\nGryphon answered, very nearly in the same words as before, 'It's all his\\nfancy, that: he hasn't got no sorrow, you know. Come on!'\",\n        \"caption\": \"They had not gone far before they saw the Mock Turtle in the distance,\\nsitting sad and lonely on a little ledge of rock, and, as they came\\nnearer, Alice could hear him sighing as if his heart would break. She\\npitied him deeply. 'What is his sorrow?' she asked the Gryphon, and the\\nGryphon answered, very nearly in the same words as before, 'It's all his\\nfancy, that: he hasn't got no sorrow, you know. Come on!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-533\",\n        \"text\": \"So they went up to the Mock Turtle, who looked at them with large eyes\\nfull of tears, but said nothing.\",\n        \"caption\": \"So they went up to the Mock Turtle, who looked at them with large eyes\\nfull of tears, but said nothing.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-534\",\n        \"text\": \"'This here young lady,' said the Gryphon, 'she wants for to know your\\nhistory, she do.'\",\n        \"caption\": \"'This here young lady,' said the Gryphon, 'she wants for to know your\\nhistory, she do.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-535\",\n        \"text\": \"'I'll tell it her,' said the Mock Turtle in a deep, hollow tone: 'sit\\ndown, both of you, and don't speak a word till I've finished.'\",\n        \"caption\": \"'I'll tell it her,' said the Mock Turtle in a deep, hollow tone: 'sit\\ndown, both of you, and don't speak a word till I've finished.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-536\",\n        \"text\": \"So they sat down, and nobody spoke for some minutes. Alice thought to\\nherself, 'I don't see how he can EVEN finish, if he doesn't begin.' But\\nshe waited patiently.\",\n        \"caption\": \"So they sat down, and nobody spoke for some minutes. Alice thought to\\nherself, 'I don't see how he can EVEN finish, if he doesn't begin.' But\\nshe waited patiently.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-537\",\n        \"text\": \"'Once,' said the Mock Turtle at last, with a deep sigh, 'I was a real\\nTurtle.'\",\n        \"caption\": \"'Once,' said the Mock Turtle at last, with a deep sigh, 'I was a real\\nTurtle.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-538\",\n        \"text\": \"These words were followed by a very long silence, broken only by an\\noccasional exclamation of 'Hjckrrh!' from the Gryphon, and the constant\\nheavy sobbing of the Mock Turtle. Alice was very nearly getting up and\\nsaying, 'Thank you, sir, for your interesting story,' but she could\\nnot help thinking there MUST be more to come, so she sat still and said\\nnothing.\",\n        \"caption\": \"These words were followed by a very long silence, broken only by an\\noccasional exclamation of 'Hjckrrh!' from the Gryphon, and the constant\\nheavy sobbing of the Mock Turtle. Alice was very nearly getting up and\\nsaying, 'Thank you, sir, for your interesting story,' but she could\\nnot help thinking there MUST be more to come, so she sat still and said\\nnothing.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-539\",\n        \"text\": \"'When we were little,' the Mock Turtle went on at last, more calmly,\\nthough still sobbing a little now and then, 'we went to school in the\\nsea. The master was an old Turtle–we used to call him Tortoise–'\",\n        \"caption\": \"'When we were little,' the Mock Turtle went on at last, more calmly,\\nthough still sobbing a little now and then, 'we went to school in the\\nsea. The master was an old Turtle–we used to call him Tortoise–'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-540\",\n        \"text\": \"'Why did you call him Tortoise, if he wasn't one?' Alice asked.\",\n        \"caption\": \"'Why did you call him Tortoise, if he wasn't one?' Alice asked.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-541\",\n        \"text\": \"'We called him Tortoise because he taught us,' said the Mock Turtle\\nangrily: 'really you are very dull!'\",\n        \"caption\": \"'We called him Tortoise because he taught us,' said the Mock Turtle\\nangrily: 'really you are very dull!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-542\",\n        \"text\": \"'You ought to be ashamed of yourself for asking such a simple question,'\\nadded the Gryphon; and then they both sat silent and looked at poor\\nAlice, who felt ready to sink into the earth. At last the Gryphon said\\nto the Mock Turtle, 'Drive on, old fellow! Don't be all day about it!'\\nand he went on in these words:\",\n        \"caption\": \"'You ought to be ashamed of yourself for asking such a simple question,'\\nadded the Gryphon; and then they both sat silent and looked at poor\\nAlice, who felt ready to sink into the earth. At last the Gryphon said\\nto the Mock Turtle, 'Drive on, old fellow! Don't be all day about it!'\\nand he went on in these words:\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-543\",\n        \"text\": \"'Yes, we went to school in the sea, though you mayn't believe it–'\",\n        \"caption\": \"'Yes, we went to school in the sea, though you mayn't believe it–'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-544\",\n        \"text\": \"'I never said I didn't!' interrupted Alice.\",\n        \"caption\": \"'I never said I didn't!' interrupted Alice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-545\",\n        \"text\": \"'You did,' said the Mock Turtle.\",\n        \"caption\": \"'You did,' said the Mock Turtle.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-546\",\n        \"text\": \"'Hold your tongue!' added the Gryphon, before Alice could speak again.\\nThe Mock Turtle went on.\",\n        \"caption\": \"'Hold your tongue!' added the Gryphon, before Alice could speak again.\\nThe Mock Turtle went on.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-547\",\n        \"text\": \"'We had the best of educations–in fact, we went to school every day–'\",\n        \"caption\": \"'We had the best of educations–in fact, we went to school every day–'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-548\",\n        \"text\": \"'I'VE been to a day-school, too,' said Alice; 'you needn't be so proud\\nas all that.'\",\n        \"caption\": \"'I'VE been to a day-school, too,' said Alice; 'you needn't be so proud\\nas all that.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-549\",\n        \"text\": \"'With extras?' asked the Mock Turtle a little anxiously.\",\n        \"caption\": \"'With extras?' asked the Mock Turtle a little anxiously.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-550\",\n        \"text\": \"'Yes,' said Alice, 'we learned French and music.'\",\n        \"caption\": \"'Yes,' said Alice, 'we learned French and music.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-551\",\n        \"text\": \"'And washing?' said the Mock Turtle.\",\n        \"caption\": \"'And washing?' said the Mock Turtle.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-552\",\n        \"text\": \"'Certainly not!' said Alice indignantly.\",\n        \"caption\": \"'Certainly not!' said Alice indignantly.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-553\",\n        \"text\": \"'Ah! then yours wasn't a really good school,' said the Mock Turtle in\\na tone of great relief. 'Now at OURS they had at the end of the bill,\\n&quot;French, music, AND WASHING–extra.&quot;'\",\n        \"caption\": \"'Ah! then yours wasn't a really good school,' said the Mock Turtle in\\na tone of great relief. 'Now at OURS they had at the end of the bill,\\n&quot;French, music, AND WASHING–extra.&quot;'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-554\",\n        \"text\": \"'You couldn't have wanted it much,' said Alice; 'living at the bottom of\\nthe sea.'\",\n        \"caption\": \"'You couldn't have wanted it much,' said Alice; 'living at the bottom of\\nthe sea.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-555\",\n        \"text\": \"'I couldn't afford to learn it.' said the Mock Turtle with a sigh. 'I\\nonly took the regular course.'\",\n        \"caption\": \"'I couldn't afford to learn it.' said the Mock Turtle with a sigh. 'I\\nonly took the regular course.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-556\",\n        \"text\": \"'What was that?' inquired Alice.\",\n        \"caption\": \"'What was that?' inquired Alice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-557\",\n        \"text\": \"'Reeling and Writhing, of course, to begin with,' the Mock Turtle\\nreplied; 'and then the different branches of Arithmetic–Ambition,\\nDistraction, Uglification, and Derision.'\",\n        \"caption\": \"'Reeling and Writhing, of course, to begin with,' the Mock Turtle\\nreplied; 'and then the different branches of Arithmetic–Ambition,\\nDistraction, Uglification, and Derision.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-558\",\n        \"text\": \"'I never heard of &quot;Uglification,&quot;' Alice ventured to say. 'What is it?'\",\n        \"caption\": \"'I never heard of &quot;Uglification,&quot;' Alice ventured to say. 'What is it?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-559\",\n        \"text\": \"The Gryphon lifted up both its paws in surprise. 'What! Never heard of\\nuglifying!' it exclaimed. 'You know what to beautify is, I suppose?'\",\n        \"caption\": \"The Gryphon lifted up both its paws in surprise. 'What! Never heard of\\nuglifying!' it exclaimed. 'You know what to beautify is, I suppose?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-560\",\n        \"text\": \"'Yes,' said Alice doubtfully: 'it means–to–make–anything–prettier.'\",\n        \"caption\": \"'Yes,' said Alice doubtfully: 'it means–to–make–anything–prettier.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-561\",\n        \"text\": \"'Well, then,' the Gryphon went on, 'if you don't know what to uglify is,\\nyou ARE a simpleton.'\",\n        \"caption\": \"'Well, then,' the Gryphon went on, 'if you don't know what to uglify is,\\nyou ARE a simpleton.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-562\",\n        \"text\": \"Alice did not feel encouraged to ask any more questions about it, so she\\nturned to the Mock Turtle, and said 'What else had you to learn?'\",\n        \"caption\": \"Alice did not feel encouraged to ask any more questions about it, so she\\nturned to the Mock Turtle, and said 'What else had you to learn?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-563\",\n        \"text\": \"'Well, there was Mystery,' the Mock Turtle replied, counting off\\nthe subjects on his flappers, '–Mystery, ancient and modern, with\\nSeaography: then Drawling–the Drawling-master was an old conger-eel,\\nthat used to come once a week: HE taught us Drawling, Stretching, and\\nFainting in Coils.'\",\n        \"caption\": \"'Well, there was Mystery,' the Mock Turtle replied, counting off\\nthe subjects on his flappers, '–Mystery, ancient and modern, with\\nSeaography: then Drawling–the Drawling-master was an old conger-eel,\\nthat used to come once a week: HE taught us Drawling, Stretching, and\\nFainting in Coils.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-564\",\n        \"text\": \"'What was THAT like?' said Alice.\",\n        \"caption\": \"'What was THAT like?' said Alice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-565\",\n        \"text\": \"'Well, I can't show it you myself,' the Mock Turtle said: 'I'm too\\nstiff. And the Gryphon never learnt it.'\",\n        \"caption\": \"'Well, I can't show it you myself,' the Mock Turtle said: 'I'm too\\nstiff. And the Gryphon never learnt it.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-566\",\n        \"text\": \"'Hadn't time,' said the Gryphon: 'I went to the Classics master, though.\\nHe was an old crab, HE was.'\",\n        \"caption\": \"'Hadn't time,' said the Gryphon: 'I went to the Classics master, though.\\nHe was an old crab, HE was.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-567\",\n        \"text\": \"'I never went to him,' the Mock Turtle said with a sigh: 'he taught\\nLaughing and Grief, they used to say.'\",\n        \"caption\": \"'I never went to him,' the Mock Turtle said with a sigh: 'he taught\\nLaughing and Grief, they used to say.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-568\",\n        \"text\": \"'So he did, so he did,' said the Gryphon, sighing in his turn; and both\\ncreatures hid their faces in their paws.\",\n        \"caption\": \"'So he did, so he did,' said the Gryphon, sighing in his turn; and both\\ncreatures hid their faces in their paws.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-569\",\n        \"text\": \"'And how many hours a day did you do lessons?' said Alice, in a hurry to\\nchange the subject.\",\n        \"caption\": \"'And how many hours a day did you do lessons?' said Alice, in a hurry to\\nchange the subject.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-570\",\n        \"text\": \"'Ten hours the first day,' said the Mock Turtle: 'nine the next, and so\\non.'\",\n        \"caption\": \"'Ten hours the first day,' said the Mock Turtle: 'nine the next, and so\\non.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-571\",\n        \"text\": \"'What a curious plan!' exclaimed Alice.\",\n        \"caption\": \"'What a curious plan!' exclaimed Alice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-572\",\n        \"text\": \"'That's the reason they're called lessons,' the Gryphon remarked:\\n'because they lessen from day to day.'\",\n        \"caption\": \"'That's the reason they're called lessons,' the Gryphon remarked:\\n'because they lessen from day to day.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-573\",\n        \"text\": \"This was quite a new idea to Alice, and she thought it over a little\\nbefore she made her next remark. 'Then the eleventh day must have been a\\nholiday?'\",\n        \"caption\": \"This was quite a new idea to Alice, and she thought it over a little\\nbefore she made her next remark. 'Then the eleventh day must have been a\\nholiday?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-574\",\n        \"text\": \"'Of course it was,' said the Mock Turtle.\",\n        \"caption\": \"'Of course it was,' said the Mock Turtle.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-575\",\n        \"text\": \"'And how did you manage on the twelfth?' Alice went on eagerly.\",\n        \"caption\": \"'And how did you manage on the twelfth?' Alice went on eagerly.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-576\",\n        \"text\": \"'That's enough about lessons,' the Gryphon interrupted in a very decided\\ntone: 'tell her something about the games now.'\",\n        \"caption\": \"'That's enough about lessons,' the Gryphon interrupted in a very decided\\ntone: 'tell her something about the games now.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-577\",\n        \"text\": \"<h3>CHAPTER X. The Lobster Quadrille</h3>\",\n        \"caption\": \"CHAPTER X. The Lobster Quadrille\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-578\",\n        \"text\": \"The Mock Turtle sighed deeply, and drew the back of one flapper across\\nhis eyes. He looked at Alice, and tried to speak, but for a minute or\\ntwo sobs choked his voice. 'Same as if he had a bone in his throat,'\\nsaid the Gryphon: and it set to work shaking him and punching him in\\nthe back. At last the Mock Turtle recovered his voice, and, with tears\\nrunning down his cheeks, he went on again:–\",\n        \"caption\": \"The Mock Turtle sighed deeply, and drew the back of one flapper across\\nhis eyes. He looked at Alice, and tried to speak, but for a minute or\\ntwo sobs choked his voice. 'Same as if he had a bone in his throat,'\\nsaid the Gryphon: and it set to work shaking him and punching him in\\nthe back. At last the Mock Turtle recovered his voice, and, with tears\\nrunning down his cheeks, he went on again:–\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-579\",\n        \"text\": \"'You may not have lived much under the sea–' ('I haven't,' said\\nAlice)–'and perhaps you were never even introduced to a lobster–'\\n(Alice began to say 'I once tasted–' but checked herself hastily, and\\nsaid 'No, never') '–so you can have no idea what a delightful thing a\\nLobster Quadrille is!'\",\n        \"caption\": \"'You may not have lived much under the sea–' ('I haven't,' said\\nAlice)–'and perhaps you were never even introduced to a lobster–'\\n(Alice began to say 'I once tasted–' but checked herself hastily, and\\nsaid 'No, never') '–so you can have no idea what a delightful thing a\\nLobster Quadrille is!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-580\",\n        \"text\": \"'No, indeed,' said Alice. 'What sort of a dance is it?'\",\n        \"caption\": \"'No, indeed,' said Alice. 'What sort of a dance is it?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-581\",\n        \"text\": \"'Why,' said the Gryphon, 'you first form into a line along the\\nsea-shore–'\",\n        \"caption\": \"'Why,' said the Gryphon, 'you first form into a line along the\\nsea-shore–'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-582\",\n        \"text\": \"'Two lines!' cried the Mock Turtle. 'Seals, turtles, salmon, and so on;\\nthen, when you've cleared all the jelly-fish out of the way–'\",\n        \"caption\": \"'Two lines!' cried the Mock Turtle. 'Seals, turtles, salmon, and so on;\\nthen, when you've cleared all the jelly-fish out of the way–'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-583\",\n        \"text\": \"'THAT generally takes some time,' interrupted the Gryphon.\",\n        \"caption\": \"'THAT generally takes some time,' interrupted the Gryphon.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-584\",\n        \"text\": \"'–you advance twice–'\",\n        \"caption\": \"'–you advance twice–'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-585\",\n        \"text\": \"'Each with a lobster as a partner!' cried the Gryphon.\",\n        \"caption\": \"'Each with a lobster as a partner!' cried the Gryphon.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-586\",\n        \"text\": \"'Of course,' the Mock Turtle said: 'advance twice, set to partners–'\",\n        \"caption\": \"'Of course,' the Mock Turtle said: 'advance twice, set to partners–'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-587\",\n        \"text\": \"'–change lobsters, and retire in same order,' continued the Gryphon.\",\n        \"caption\": \"'–change lobsters, and retire in same order,' continued the Gryphon.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-588\",\n        \"text\": \"'Then, you know,' the Mock Turtle went on, 'you throw the–'\",\n        \"caption\": \"'Then, you know,' the Mock Turtle went on, 'you throw the–'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-589\",\n        \"text\": \"'The lobsters!' shouted the Gryphon, with a bound into the air.\",\n        \"caption\": \"'The lobsters!' shouted the Gryphon, with a bound into the air.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-590\",\n        \"text\": \"'–as far out to sea as you can–'\",\n        \"caption\": \"'–as far out to sea as you can–'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-591\",\n        \"text\": \"'Swim after them!' screamed the Gryphon.\",\n        \"caption\": \"'Swim after them!' screamed the Gryphon.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-592\",\n        \"text\": \"'Turn a somersault in the sea!' cried the Mock Turtle, capering wildly\\nabout.\",\n        \"caption\": \"'Turn a somersault in the sea!' cried the Mock Turtle, capering wildly\\nabout.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-593\",\n        \"text\": \"'Change lobsters again!' yelled the Gryphon at the top of its voice.\",\n        \"caption\": \"'Change lobsters again!' yelled the Gryphon at the top of its voice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-594\",\n        \"text\": \"'Back to land again, and that's all the first figure,' said the Mock\\nTurtle, suddenly dropping his voice; and the two creatures, who had been\\njumping about like mad things all this time, sat down again very sadly\\nand quietly, and looked at Alice.\",\n        \"caption\": \"'Back to land again, and that's all the first figure,' said the Mock\\nTurtle, suddenly dropping his voice; and the two creatures, who had been\\njumping about like mad things all this time, sat down again very sadly\\nand quietly, and looked at Alice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-595\",\n        \"text\": \"'It must be a very pretty dance,' said Alice timidly.\",\n        \"caption\": \"'It must be a very pretty dance,' said Alice timidly.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-596\",\n        \"text\": \"'Would you like to see a little of it?' said the Mock Turtle.\",\n        \"caption\": \"'Would you like to see a little of it?' said the Mock Turtle.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-597\",\n        \"text\": \"'Very much indeed,' said Alice.\",\n        \"caption\": \"'Very much indeed,' said Alice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-598\",\n        \"text\": \"'Come, let's try the first figure!' said the Mock Turtle to the Gryphon.\\n'We can do without lobsters, you know. Which shall sing?'\",\n        \"caption\": \"'Come, let's try the first figure!' said the Mock Turtle to the Gryphon.\\n'We can do without lobsters, you know. Which shall sing?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-599\",\n        \"text\": \"'Oh, YOU sing,' said the Gryphon. 'I've forgotten the words.'\",\n        \"caption\": \"'Oh, YOU sing,' said the Gryphon. 'I've forgotten the words.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-600\",\n        \"text\": \"So they began solemnly dancing round and round Alice, every now and\\nthen treading on her toes when they passed too close, and waving their\\nforepaws to mark the time, while the Mock Turtle sang this, very slowly\\nand sadly:–\",\n        \"caption\": \"So they began solemnly dancing round and round Alice, every now and\\nthen treading on her toes when they passed too close, and waving their\\nforepaws to mark the time, while the Mock Turtle sang this, very slowly\\nand sadly:–\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-601\",\n        \"text\": \"'&quot;Will you walk a little faster?&quot; said a whiting to a snail.\\n &quot;There's a porpoise close behind us, and he's treading on my tail.\",\n        \"caption\": \"'&quot;Will you walk a little faster?&quot; said a whiting to a snail.\\n &quot;There's a porpoise close behind us, and he's treading on my tail.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-602\",\n        \"text\": \"See how eagerly the lobsters and the turtles all advance!\\n They are waiting on the shingle–will you come and join the dance?\",\n        \"caption\": \"See how eagerly the lobsters and the turtles all advance!\\n They are waiting on the shingle–will you come and join the dance?\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-603\",\n        \"text\": \"Will you, won't you, will you, won't you, will you join the dance?\\n Will you, won't you, will you, won't you, won't you join the dance?\",\n        \"caption\": \"Will you, won't you, will you, won't you, will you join the dance?\\n Will you, won't you, will you, won't you, won't you join the dance?\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-604\",\n        \"text\": \"&quot;You can really have no notion how delightful it will be\\n When they take us up and throw us, with the lobsters, out to sea!&quot;\\n But the snail replied &quot;Too far, too far!&quot; and gave a look askance–\\n Said he thanked the whiting kindly, but he would not join the dance.\",\n        \"caption\": \"&quot;You can really have no notion how delightful it will be\\n When they take us up and throw us, with the lobsters, out to sea!&quot;\\n But the snail replied &quot;Too far, too far!&quot; and gave a look askance–\\n Said he thanked the whiting kindly, but he would not join the dance.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-605\",\n        \"text\": \"Would not, could not, would not, could not, would not join the dance.\\n Would not, could not, would not, could not, could not join the dance.\",\n        \"caption\": \"Would not, could not, would not, could not, would not join the dance.\\n Would not, could not, would not, could not, could not join the dance.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-606\",\n        \"text\": \"'&quot;What matters it how far we go?&quot; his scaly friend replied.\\n &quot;There is another shore, you know, upon the other side.\\n The further off from England the nearer is to France–\\n Then turn not pale, beloved snail, but come and join the dance.\",\n        \"caption\": \"'&quot;What matters it how far we go?&quot; his scaly friend replied.\\n &quot;There is another shore, you know, upon the other side.\\n The further off from England the nearer is to France–\\n Then turn not pale, beloved snail, but come and join the dance.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-607\",\n        \"text\": \"Will you, won't you, will you, won't you, will you join the dance?\\n Will you, won't you, will you, won't you, won't you join the dance?&quot;'\",\n        \"caption\": \"Will you, won't you, will you, won't you, will you join the dance?\\n Will you, won't you, will you, won't you, won't you join the dance?&quot;'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-608\",\n        \"text\": \"'Thank you, it's a very interesting dance to watch,' said Alice, feeling\\nvery glad that it was over at last: 'and I do so like that curious song\\nabout the whiting!'\",\n        \"caption\": \"'Thank you, it's a very interesting dance to watch,' said Alice, feeling\\nvery glad that it was over at last: 'and I do so like that curious song\\nabout the whiting!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-609\",\n        \"text\": \"'Oh, as to the whiting,' said the Mock Turtle, 'they–you've seen them,\\nof course?'\",\n        \"caption\": \"'Oh, as to the whiting,' said the Mock Turtle, 'they–you've seen them,\\nof course?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-610\",\n        \"text\": \"'Yes,' said Alice, 'I've often seen them at dinn–' she checked herself\\nhastily.\",\n        \"caption\": \"'Yes,' said Alice, 'I've often seen them at dinn–' she checked herself\\nhastily.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-611\",\n        \"text\": \"'I don't know where Dinn may be,' said the Mock Turtle, 'but if you've\\nseen them so often, of course you know what they're like.'\",\n        \"caption\": \"'I don't know where Dinn may be,' said the Mock Turtle, 'but if you've\\nseen them so often, of course you know what they're like.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-612\",\n        \"text\": \"'I believe so,' Alice replied thoughtfully. 'They have their tails in\\ntheir mouths–and they're all over crumbs.'\",\n        \"caption\": \"'I believe so,' Alice replied thoughtfully. 'They have their tails in\\ntheir mouths–and they're all over crumbs.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-613\",\n        \"text\": \"'You're wrong about the crumbs,' said the Mock Turtle: 'crumbs would all\\nwash off in the sea. But they HAVE their tails in their mouths; and the\\nreason is–' here the Mock Turtle yawned and shut his eyes.–'Tell her\\nabout the reason and all that,' he said to the Gryphon.\",\n        \"caption\": \"'You're wrong about the crumbs,' said the Mock Turtle: 'crumbs would all\\nwash off in the sea. But they HAVE their tails in their mouths; and the\\nreason is–' here the Mock Turtle yawned and shut his eyes.–'Tell her\\nabout the reason and all that,' he said to the Gryphon.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-614\",\n        \"text\": \"'The reason is,' said the Gryphon, 'that they WOULD go with the lobsters\\nto the dance. So they got thrown out to sea. So they had to fall a long\\nway. So they got their tails fast in their mouths. So they couldn't get\\nthem out again. That's all.'\",\n        \"caption\": \"'The reason is,' said the Gryphon, 'that they WOULD go with the lobsters\\nto the dance. So they got thrown out to sea. So they had to fall a long\\nway. So they got their tails fast in their mouths. So they couldn't get\\nthem out again. That's all.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-615\",\n        \"text\": \"'Thank you,' said Alice, 'it's very interesting. I never knew so much\\nabout a whiting before.'\",\n        \"caption\": \"'Thank you,' said Alice, 'it's very interesting. I never knew so much\\nabout a whiting before.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-616\",\n        \"text\": \"'I can tell you more than that, if you like,' said the Gryphon. 'Do you\\nknow why it's called a whiting?'\",\n        \"caption\": \"'I can tell you more than that, if you like,' said the Gryphon. 'Do you\\nknow why it's called a whiting?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-617\",\n        \"text\": \"'I never thought about it,' said Alice. 'Why?'\",\n        \"caption\": \"'I never thought about it,' said Alice. 'Why?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-618\",\n        \"text\": \"'IT DOES THE BOOTS AND SHOES.' the Gryphon replied very solemnly.\",\n        \"caption\": \"'IT DOES THE BOOTS AND SHOES.' the Gryphon replied very solemnly.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-619\",\n        \"text\": \"Alice was thoroughly puzzled. 'Does the boots and shoes!' she repeated\\nin a wondering tone.\",\n        \"caption\": \"Alice was thoroughly puzzled. 'Does the boots and shoes!' she repeated\\nin a wondering tone.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-620\",\n        \"text\": \"'Why, what are YOUR shoes done with?' said the Gryphon. 'I mean, what\\nmakes them so shiny?'\",\n        \"caption\": \"'Why, what are YOUR shoes done with?' said the Gryphon. 'I mean, what\\nmakes them so shiny?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-621\",\n        \"text\": \"Alice looked down at them, and considered a little before she gave her\\nanswer. 'They're done with blacking, I believe.'\",\n        \"caption\": \"Alice looked down at them, and considered a little before she gave her\\nanswer. 'They're done with blacking, I believe.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-622\",\n        \"text\": \"'Boots and shoes under the sea,' the Gryphon went on in a deep voice,\\n'are done with a whiting. Now you know.'\",\n        \"caption\": \"'Boots and shoes under the sea,' the Gryphon went on in a deep voice,\\n'are done with a whiting. Now you know.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-623\",\n        \"text\": \"'And what are they made of?' Alice asked in a tone of great curiosity.\",\n        \"caption\": \"'And what are they made of?' Alice asked in a tone of great curiosity.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-624\",\n        \"text\": \"'Soles and eels, of course,' the Gryphon replied rather impatiently:\\n'any shrimp could have told you that.'\",\n        \"caption\": \"'Soles and eels, of course,' the Gryphon replied rather impatiently:\\n'any shrimp could have told you that.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-625\",\n        \"text\": \"'If I'd been the whiting,' said Alice, whose thoughts were still running\\non the song, 'I'd have said to the porpoise, &quot;Keep back, please: we\\ndon't want YOU with us!&quot;'\",\n        \"caption\": \"'If I'd been the whiting,' said Alice, whose thoughts were still running\\non the song, 'I'd have said to the porpoise, &quot;Keep back, please: we\\ndon't want YOU with us!&quot;'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-626\",\n        \"text\": \"'They were obliged to have him with them,' the Mock Turtle said: 'no\\nwise fish would go anywhere without a porpoise.'\",\n        \"caption\": \"'They were obliged to have him with them,' the Mock Turtle said: 'no\\nwise fish would go anywhere without a porpoise.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-627\",\n        \"text\": \"'Wouldn't it really?' said Alice in a tone of great surprise.\",\n        \"caption\": \"'Wouldn't it really?' said Alice in a tone of great surprise.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-628\",\n        \"text\": \"'Of course not,' said the Mock Turtle: 'why, if a fish came to ME, and\\ntold me he was going a journey, I should say &quot;With what porpoise?&quot;'\",\n        \"caption\": \"'Of course not,' said the Mock Turtle: 'why, if a fish came to ME, and\\ntold me he was going a journey, I should say &quot;With what porpoise?&quot;'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-629\",\n        \"text\": \"'Don't you mean &quot;purpose&quot;?' said Alice.\",\n        \"caption\": \"'Don't you mean &quot;purpose&quot;?' said Alice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-630\",\n        \"text\": \"'I mean what I say,' the Mock Turtle replied in an offended tone. And\\nthe Gryphon added 'Come, let's hear some of YOUR adventures.'\",\n        \"caption\": \"'I mean what I say,' the Mock Turtle replied in an offended tone. And\\nthe Gryphon added 'Come, let's hear some of YOUR adventures.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-631\",\n        \"text\": \"'I could tell you my adventures–beginning from this morning,' said\\nAlice a little timidly: 'but it's no use going back to yesterday,\\nbecause I was a different person then.'\",\n        \"caption\": \"'I could tell you my adventures–beginning from this morning,' said\\nAlice a little timidly: 'but it's no use going back to yesterday,\\nbecause I was a different person then.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-632\",\n        \"text\": \"'Explain all that,' said the Mock Turtle.\",\n        \"caption\": \"'Explain all that,' said the Mock Turtle.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-633\",\n        \"text\": \"'No, no! The adventures first,' said the Gryphon in an impatient tone:\\n'explanations take such a dreadful time.'\",\n        \"caption\": \"'No, no! The adventures first,' said the Gryphon in an impatient tone:\\n'explanations take such a dreadful time.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-634\",\n        \"text\": \"So Alice began telling them her adventures from the time when she first\\nsaw the White Rabbit. She was a little nervous about it just at first,\\nthe two creatures got so close to her, one on each side, and opened\\ntheir eyes and mouths so VERY wide, but she gained courage as she went\\non. Her listeners were perfectly quiet till she got to the part about\\nher repeating 'YOU ARE OLD, FATHER WILLIAM,' to the Caterpillar, and the\\nwords all coming different, and then the Mock Turtle drew a long breath,\\nand said 'That's very curious.'\",\n        \"caption\": \"So Alice began telling them her adventures from the time when she first\\nsaw the White Rabbit. She was a little nervous about it just at first,\\nthe two creatures got so close to her, one on each side, and opened\\ntheir eyes and mouths so VERY wide, but she gained courage as she went\\non. Her listeners were perfectly quiet till she got to the part about\\nher repeating 'YOU ARE OLD, FATHER WILLIAM,' to the Caterpillar, and the\\nwords all coming different, and then the Mock Turtle drew a long breath,\\nand said 'That's very curious.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-635\",\n        \"text\": \"'It's all about as curious as it can be,' said the Gryphon.\",\n        \"caption\": \"'It's all about as curious as it can be,' said the Gryphon.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-636\",\n        \"text\": \"'It all came different!' the Mock Turtle repeated thoughtfully. 'I\\nshould like to hear her try and repeat something now. Tell her to\\nbegin.' He looked at the Gryphon as if he thought it had some kind of\\nauthority over Alice.\",\n        \"caption\": \"'It all came different!' the Mock Turtle repeated thoughtfully. 'I\\nshould like to hear her try and repeat something now. Tell her to\\nbegin.' He looked at the Gryphon as if he thought it had some kind of\\nauthority over Alice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-637\",\n        \"text\": \"'Stand up and repeat &quot;'TIS THE VOICE OF THE SLUGGARD,&quot;' said the\\nGryphon.\",\n        \"caption\": \"'Stand up and repeat &quot;'TIS THE VOICE OF THE SLUGGARD,&quot;' said the\\nGryphon.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-638\",\n        \"text\": \"'How the creatures order one about, and make one repeat lessons!'\\nthought Alice; 'I might as well be at school at once.' However, she\\ngot up, and began to repeat it, but her head was so full of the Lobster\\nQuadrille, that she hardly knew what she was saying, and the words came\\nvery queer indeed:–\",\n        \"caption\": \"'How the creatures order one about, and make one repeat lessons!'\\nthought Alice; 'I might as well be at school at once.' However, she\\ngot up, and began to repeat it, but her head was so full of the Lobster\\nQuadrille, that she hardly knew what she was saying, and the words came\\nvery queer indeed:–\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-639\",\n        \"text\": \"' 'Tis the voice of the Lobster; I heard him declare,\\n  &quot;You have baked me too brown, I must sugar my hair.&quot;\\n  As a duck with its eyelids, so he with his nose\\n  Trims his belt and his buttons, and turns out his toes.'\",\n        \"caption\": \"' 'Tis the voice of the Lobster; I heard him declare,\\n  &quot;You have baked me too brown, I must sugar my hair.&quot;\\n  As a duck with its eyelids, so he with his nose\\n  Trims his belt and his buttons, and turns out his toes.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-640\",\n        \"text\": \"[later editions continued as follows\\n  When the sands are all dry, he is gay as a lark,\\n  And will talk in contemptuous tones of the Shark,\\n  But, when the tide rises and sharks are around,\\n  His voice has a timid and tremulous sound.]\",\n        \"caption\": \"[later editions continued as follows\\n  When the sands are all dry, he is gay as a lark,\\n  And will talk in contemptuous tones of the Shark,\\n  But, when the tide rises and sharks are around,\\n  His voice has a timid and tremulous sound.]\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-641\",\n        \"text\": \"'That's different from what I used to say when I was a child,' said the\\nGryphon.\",\n        \"caption\": \"'That's different from what I used to say when I was a child,' said the\\nGryphon.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-642\",\n        \"text\": \"'Well, I never heard it before,' said the Mock Turtle; 'but it sounds\\nuncommon nonsense.'\",\n        \"caption\": \"'Well, I never heard it before,' said the Mock Turtle; 'but it sounds\\nuncommon nonsense.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-643\",\n        \"text\": \"Alice said nothing; she had sat down with her face in her hands,\\nwondering if anything would EVER happen in a natural way again.\",\n        \"caption\": \"Alice said nothing; she had sat down with her face in her hands,\\nwondering if anything would EVER happen in a natural way again.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-644\",\n        \"text\": \"'I should like to have it explained,' said the Mock Turtle.\",\n        \"caption\": \"'I should like to have it explained,' said the Mock Turtle.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-645\",\n        \"text\": \"'She can't explain it,' said the Gryphon hastily. 'Go on with the next\\nverse.'\",\n        \"caption\": \"'She can't explain it,' said the Gryphon hastily. 'Go on with the next\\nverse.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-646\",\n        \"text\": \"'But about his toes?' the Mock Turtle persisted. 'How COULD he turn them\\nout with his nose, you know?'\",\n        \"caption\": \"'But about his toes?' the Mock Turtle persisted. 'How COULD he turn them\\nout with his nose, you know?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-647\",\n        \"text\": \"'It's the first position in dancing.' Alice said; but was dreadfully\\npuzzled by the whole thing, and longed to change the subject.\",\n        \"caption\": \"'It's the first position in dancing.' Alice said; but was dreadfully\\npuzzled by the whole thing, and longed to change the subject.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-648\",\n        \"text\": \"'Go on with the next verse,' the Gryphon repeated impatiently: 'it\\nbegins &quot;I passed by his garden.&quot;'\",\n        \"caption\": \"'Go on with the next verse,' the Gryphon repeated impatiently: 'it\\nbegins &quot;I passed by his garden.&quot;'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-649\",\n        \"text\": \"Alice did not dare to disobey, though she felt sure it would all come\\nwrong, and she went on in a trembling voice:–\",\n        \"caption\": \"Alice did not dare to disobey, though she felt sure it would all come\\nwrong, and she went on in a trembling voice:–\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-650\",\n        \"text\": \"'I passed by his garden, and marked, with one eye,\\n  How the Owl and the Panther were sharing a pie–'\",\n        \"caption\": \"'I passed by his garden, and marked, with one eye,\\n  How the Owl and the Panther were sharing a pie–'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-651\",\n        \"text\": \"[later editions continued as follows\\n  The Panther took pie-crust, and gravy, and meat,\\n  While the Owl had the dish as its share of the treat.\\n  When the pie was all finished, the Owl, as a boon,\\n  Was kindly permitted to pocket the spoon:\\n  While the Panther received knife and fork with a growl,\\n  And concluded the banquet–]\",\n        \"caption\": \"[later editions continued as follows\\n  The Panther took pie-crust, and gravy, and meat,\\n  While the Owl had the dish as its share of the treat.\\n  When the pie was all finished, the Owl, as a boon,\\n  Was kindly permitted to pocket the spoon:\\n  While the Panther received knife and fork with a growl,\\n  And concluded the banquet–]\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-652\",\n        \"text\": \"'What IS the use of repeating all that stuff,' the Mock Turtle\\ninterrupted, 'if you don't explain it as you go on? It's by far the most\\nconfusing thing I ever heard!'\",\n        \"caption\": \"'What IS the use of repeating all that stuff,' the Mock Turtle\\ninterrupted, 'if you don't explain it as you go on? It's by far the most\\nconfusing thing I ever heard!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-653\",\n        \"text\": \"'Yes, I think you'd better leave off,' said the Gryphon: and Alice was\\nonly too glad to do so.\",\n        \"caption\": \"'Yes, I think you'd better leave off,' said the Gryphon: and Alice was\\nonly too glad to do so.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-654\",\n        \"text\": \"'Shall we try another figure of the Lobster Quadrille?' the Gryphon went\\non. 'Or would you like the Mock Turtle to sing you a song?'\",\n        \"caption\": \"'Shall we try another figure of the Lobster Quadrille?' the Gryphon went\\non. 'Or would you like the Mock Turtle to sing you a song?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-655\",\n        \"text\": \"'Oh, a song, please, if the Mock Turtle would be so kind,' Alice\\nreplied, so eagerly that the Gryphon said, in a rather offended tone,\\n'Hm! No accounting for tastes! Sing her &quot;Turtle Soup,&quot; will you, old\\nfellow?'\",\n        \"caption\": \"'Oh, a song, please, if the Mock Turtle would be so kind,' Alice\\nreplied, so eagerly that the Gryphon said, in a rather offended tone,\\n'Hm! No accounting for tastes! Sing her &quot;Turtle Soup,&quot; will you, old\\nfellow?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-656\",\n        \"text\": \"The Mock Turtle sighed deeply, and began, in a voice sometimes choked\\nwith sobs, to sing this:–\",\n        \"caption\": \"The Mock Turtle sighed deeply, and began, in a voice sometimes choked\\nwith sobs, to sing this:–\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-657\",\n        \"text\": \"'Beautiful Soup, so rich and green,\\n   Waiting in a hot tureen!\\n   Who for such dainties would not stoop?\\n   Soup of the evening, beautiful Soup!\\n   Soup of the evening, beautiful Soup!\\n     Beau–ootiful Soo–oop!\\n     Beau–ootiful Soo–oop!\\n   Soo–oop of the e–e–evening,\\n     Beautiful, beautiful Soup!\",\n        \"caption\": \"'Beautiful Soup, so rich and green,\\n   Waiting in a hot tureen!\\n   Who for such dainties would not stoop?\\n   Soup of the evening, beautiful Soup!\\n   Soup of the evening, beautiful Soup!\\n     Beau–ootiful Soo–oop!\\n     Beau–ootiful Soo–oop!\\n   Soo–oop of the e–e–evening,\\n     Beautiful, beautiful Soup!\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-658\",\n        \"text\": \"'Beautiful Soup! Who cares for fish,\\n   Game, or any other dish?\\n   Who would not give all else for two\\n   Pennyworth only of beautiful Soup?\\n   Pennyworth only of beautiful Soup?\\n     Beau–ootiful Soo–oop!\\n     Beau–ootiful Soo–oop!\\n   Soo–oop of the e–e–evening,\\n     Beautiful, beauti–FUL SOUP!'\",\n        \"caption\": \"'Beautiful Soup! Who cares for fish,\\n   Game, or any other dish?\\n   Who would not give all else for two\\n   Pennyworth only of beautiful Soup?\\n   Pennyworth only of beautiful Soup?\\n     Beau–ootiful Soo–oop!\\n     Beau–ootiful Soo–oop!\\n   Soo–oop of the e–e–evening,\\n     Beautiful, beauti–FUL SOUP!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-659\",\n        \"text\": \"'Chorus again!' cried the Gryphon, and the Mock Turtle had just begun\\nto repeat it, when a cry of 'The trial's beginning!' was heard in the\\ndistance.\",\n        \"caption\": \"'Chorus again!' cried the Gryphon, and the Mock Turtle had just begun\\nto repeat it, when a cry of 'The trial's beginning!' was heard in the\\ndistance.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-660\",\n        \"text\": \"'Come on!' cried the Gryphon, and, taking Alice by the hand, it hurried\\noff, without waiting for the end of the song.\",\n        \"caption\": \"'Come on!' cried the Gryphon, and, taking Alice by the hand, it hurried\\noff, without waiting for the end of the song.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-661\",\n        \"text\": \"'What trial is it?' Alice panted as she ran; but the Gryphon only\\nanswered 'Come on!' and ran the faster, while more and more faintly\\ncame, carried on the breeze that followed them, the melancholy words:–\",\n        \"caption\": \"'What trial is it?' Alice panted as she ran; but the Gryphon only\\nanswered 'Come on!' and ran the faster, while more and more faintly\\ncame, carried on the breeze that followed them, the melancholy words:–\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-662\",\n        \"text\": \"'Soo–oop of the e–e–evening,\\n     Beautiful, beautiful Soup!'\",\n        \"caption\": \"'Soo–oop of the e–e–evening,\\n     Beautiful, beautiful Soup!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-663\",\n        \"text\": \"<h3>CHAPTER XI. Who Stole the Tarts?</h3>\",\n        \"caption\": \"CHAPTER XI. Who Stole the Tarts?\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-664\",\n        \"text\": \"The King and Queen of Hearts were seated on their throne when they\\narrived, with a great crowd assembled about them–all sorts of little\\nbirds and beasts, as well as the whole pack of cards: the Knave was\\nstanding before them, in chains, with a soldier on each side to guard\\nhim; and near the King was the White Rabbit, with a trumpet in one hand,\\nand a scroll of parchment in the other. In the very middle of the court\\nwas a table, with a large dish of tarts upon it: they looked so good,\\nthat it made Alice quite hungry to look at them–'I wish they'd get the\\ntrial done,' she thought, 'and hand round the refreshments!' But there\\nseemed to be no chance of this, so she began looking at everything about\\nher, to pass away the time.\",\n        \"caption\": \"The King and Queen of Hearts were seated on their throne when they\\narrived, with a great crowd assembled about them–all sorts of little\\nbirds and beasts, as well as the whole pack of cards: the Knave was\\nstanding before them, in chains, with a soldier on each side to guard\\nhim; and near the King was the White Rabbit, with a trumpet in one hand,\\nand a scroll of parchment in the other. In the very middle of the court\\nwas a table, with a large dish of tarts upon it: they looked so good,\\nthat it made Alice quite hungry to look at them–'I wish they'd get the\\ntrial done,' she thought, 'and hand round the refreshments!' But there\\nseemed to be no chance of this, so she began looking at everything about\\nher, to pass away the time.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-665\",\n        \"text\": \"Alice had never been in a court of justice before, but she had read\\nabout them in books, and she was quite pleased to find that she knew\\nthe name of nearly everything there. 'That's the judge,' she said to\\nherself, 'because of his great wig.'\",\n        \"caption\": \"Alice had never been in a court of justice before, but she had read\\nabout them in books, and she was quite pleased to find that she knew\\nthe name of nearly everything there. 'That's the judge,' she said to\\nherself, 'because of his great wig.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-666\",\n        \"text\": \"The judge, by the way, was the King; and as he wore his crown over the\\nwig, (look at the frontispiece if you want to see how he did it,) he did\\nnot look at all comfortable, and it was certainly not becoming.\",\n        \"caption\": \"The judge, by the way, was the King; and as he wore his crown over the\\nwig, (look at the frontispiece if you want to see how he did it,) he did\\nnot look at all comfortable, and it was certainly not becoming.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-667\",\n        \"text\": \"'And that's the jury-box,' thought Alice, 'and those twelve creatures,'\\n(she was obliged to say 'creatures,' you see, because some of them were\\nanimals, and some were birds,) 'I suppose they are the jurors.' She said\\nthis last word two or three times over to herself, being rather proud of\\nit: for she thought, and rightly too, that very few little girls of her\\nage knew the meaning of it at all. However, 'jury-men' would have done\\njust as well.\",\n        \"caption\": \"'And that's the jury-box,' thought Alice, 'and those twelve creatures,'\\n(she was obliged to say 'creatures,' you see, because some of them were\\nanimals, and some were birds,) 'I suppose they are the jurors.' She said\\nthis last word two or three times over to herself, being rather proud of\\nit: for she thought, and rightly too, that very few little girls of her\\nage knew the meaning of it at all. However, 'jury-men' would have done\\njust as well.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-668\",\n        \"text\": \"The twelve jurors were all writing very busily on slates. 'What are they\\ndoing?' Alice whispered to the Gryphon. 'They can't have anything to put\\ndown yet, before the trial's begun.'\",\n        \"caption\": \"The twelve jurors were all writing very busily on slates. 'What are they\\ndoing?' Alice whispered to the Gryphon. 'They can't have anything to put\\ndown yet, before the trial's begun.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-669\",\n        \"text\": \"'They're putting down their names,' the Gryphon whispered in reply, 'for\\nfear they should forget them before the end of the trial.'\",\n        \"caption\": \"'They're putting down their names,' the Gryphon whispered in reply, 'for\\nfear they should forget them before the end of the trial.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-670\",\n        \"text\": \"'Stupid things!' Alice began in a loud, indignant voice, but she stopped\\nhastily, for the White Rabbit cried out, 'Silence in the court!' and the\\nKing put on his spectacles and looked anxiously round, to make out who\\nwas talking.\",\n        \"caption\": \"'Stupid things!' Alice began in a loud, indignant voice, but she stopped\\nhastily, for the White Rabbit cried out, 'Silence in the court!' and the\\nKing put on his spectacles and looked anxiously round, to make out who\\nwas talking.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-671\",\n        \"text\": \"Alice could see, as well as if she were looking over their shoulders,\\nthat all the jurors were writing down 'stupid things!' on their slates,\\nand she could even make out that one of them didn't know how to spell\\n'stupid,' and that he had to ask his neighbour to tell him. 'A nice\\nmuddle their slates'll be in before the trial's over!' thought Alice.\",\n        \"caption\": \"Alice could see, as well as if she were looking over their shoulders,\\nthat all the jurors were writing down 'stupid things!' on their slates,\\nand she could even make out that one of them didn't know how to spell\\n'stupid,' and that he had to ask his neighbour to tell him. 'A nice\\nmuddle their slates'll be in before the trial's over!' thought Alice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-672\",\n        \"text\": \"One of the jurors had a pencil that squeaked. This of course, Alice\\ncould not stand, and she went round the court and got behind him, and\\nvery soon found an opportunity of taking it away. She did it so quickly\\nthat the poor little juror (it was Bill, the Lizard) could not make out\\nat all what had become of it; so, after hunting all about for it, he was\\nobliged to write with one finger for the rest of the day; and this was\\nof very little use, as it left no mark on the slate.\",\n        \"caption\": \"One of the jurors had a pencil that squeaked. This of course, Alice\\ncould not stand, and she went round the court and got behind him, and\\nvery soon found an opportunity of taking it away. She did it so quickly\\nthat the poor little juror (it was Bill, the Lizard) could not make out\\nat all what had become of it; so, after hunting all about for it, he was\\nobliged to write with one finger for the rest of the day; and this was\\nof very little use, as it left no mark on the slate.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-673\",\n        \"text\": \"'Herald, read the accusation!' said the King.\",\n        \"caption\": \"'Herald, read the accusation!' said the King.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-674\",\n        \"text\": \"On this the White Rabbit blew three blasts on the trumpet, and then\\nunrolled the parchment scroll, and read as follows:–\",\n        \"caption\": \"On this the White Rabbit blew three blasts on the trumpet, and then\\nunrolled the parchment scroll, and read as follows:–\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-675\",\n        \"text\": \"'The Queen of Hearts, she made some tarts,\\n      All on a summer day:\\n    The Knave of Hearts, he stole those tarts,\\n      And took them quite away!'\",\n        \"caption\": \"'The Queen of Hearts, she made some tarts,\\n      All on a summer day:\\n    The Knave of Hearts, he stole those tarts,\\n      And took them quite away!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-676\",\n        \"text\": \"'Consider your verdict,' the King said to the jury.\",\n        \"caption\": \"'Consider your verdict,' the King said to the jury.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-677\",\n        \"text\": \"'Not yet, not yet!' the Rabbit hastily interrupted. 'There's a great\\ndeal to come before that!'\",\n        \"caption\": \"'Not yet, not yet!' the Rabbit hastily interrupted. 'There's a great\\ndeal to come before that!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-678\",\n        \"text\": \"'Call the first witness,' said the King; and the White Rabbit blew three\\nblasts on the trumpet, and called out, 'First witness!'\",\n        \"caption\": \"'Call the first witness,' said the King; and the White Rabbit blew three\\nblasts on the trumpet, and called out, 'First witness!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-679\",\n        \"text\": \"The first witness was the Hatter. He came in with a teacup in one\\nhand and a piece of bread-and-butter in the other. 'I beg pardon, your\\nMajesty,' he began, 'for bringing these in: but I hadn't quite finished\\nmy tea when I was sent for.'\",\n        \"caption\": \"The first witness was the Hatter. He came in with a teacup in one\\nhand and a piece of bread-and-butter in the other. 'I beg pardon, your\\nMajesty,' he began, 'for bringing these in: but I hadn't quite finished\\nmy tea when I was sent for.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-680\",\n        \"text\": \"'You ought to have finished,' said the King. 'When did you begin?'\",\n        \"caption\": \"'You ought to have finished,' said the King. 'When did you begin?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-681\",\n        \"text\": \"The Hatter looked at the March Hare, who had followed him into the\\ncourt, arm-in-arm with the Dormouse. 'Fourteenth of March, I think it\\nwas,' he said.\",\n        \"caption\": \"The Hatter looked at the March Hare, who had followed him into the\\ncourt, arm-in-arm with the Dormouse. 'Fourteenth of March, I think it\\nwas,' he said.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-682\",\n        \"text\": \"'Fifteenth,' said the March Hare.\",\n        \"caption\": \"'Fifteenth,' said the March Hare.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-683\",\n        \"text\": \"'Sixteenth,' added the Dormouse.\",\n        \"caption\": \"'Sixteenth,' added the Dormouse.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-684\",\n        \"text\": \"'Write that down,' the King said to the jury, and the jury eagerly\\nwrote down all three dates on their slates, and then added them up, and\\nreduced the answer to shillings and pence.\",\n        \"caption\": \"'Write that down,' the King said to the jury, and the jury eagerly\\nwrote down all three dates on their slates, and then added them up, and\\nreduced the answer to shillings and pence.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-685\",\n        \"text\": \"'Take off your hat,' the King said to the Hatter.\",\n        \"caption\": \"'Take off your hat,' the King said to the Hatter.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-686\",\n        \"text\": \"'It isn't mine,' said the Hatter.\",\n        \"caption\": \"'It isn't mine,' said the Hatter.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-687\",\n        \"text\": \"'Stolen!' the King exclaimed, turning to the jury, who instantly made a\\nmemorandum of the fact.\",\n        \"caption\": \"'Stolen!' the King exclaimed, turning to the jury, who instantly made a\\nmemorandum of the fact.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-688\",\n        \"text\": \"'I keep them to sell,' the Hatter added as an explanation; 'I've none of\\nmy own. I'm a hatter.'\",\n        \"caption\": \"'I keep them to sell,' the Hatter added as an explanation; 'I've none of\\nmy own. I'm a hatter.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-689\",\n        \"text\": \"Here the Queen put on her spectacles, and began staring at the Hatter,\\nwho turned pale and fidgeted.\",\n        \"caption\": \"Here the Queen put on her spectacles, and began staring at the Hatter,\\nwho turned pale and fidgeted.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-690\",\n        \"text\": \"'Give your evidence,' said the King; 'and don't be nervous, or I'll have\\nyou executed on the spot.'\",\n        \"caption\": \"'Give your evidence,' said the King; 'and don't be nervous, or I'll have\\nyou executed on the spot.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-691\",\n        \"text\": \"This did not seem to encourage the witness at all: he kept shifting\\nfrom one foot to the other, looking uneasily at the Queen, and in\\nhis confusion he bit a large piece out of his teacup instead of the\\nbread-and-butter.\",\n        \"caption\": \"This did not seem to encourage the witness at all: he kept shifting\\nfrom one foot to the other, looking uneasily at the Queen, and in\\nhis confusion he bit a large piece out of his teacup instead of the\\nbread-and-butter.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-692\",\n        \"text\": \"Just at this moment Alice felt a very curious sensation, which puzzled\\nher a good deal until she made out what it was: she was beginning to\\ngrow larger again, and she thought at first she would get up and leave\\nthe court; but on second thoughts she decided to remain where she was as\\nlong as there was room for her.\",\n        \"caption\": \"Just at this moment Alice felt a very curious sensation, which puzzled\\nher a good deal until she made out what it was: she was beginning to\\ngrow larger again, and she thought at first she would get up and leave\\nthe court; but on second thoughts she decided to remain where she was as\\nlong as there was room for her.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-693\",\n        \"text\": \"'I wish you wouldn't squeeze so.' said the Dormouse, who was sitting\\nnext to her. 'I can hardly breathe.'\",\n        \"caption\": \"'I wish you wouldn't squeeze so.' said the Dormouse, who was sitting\\nnext to her. 'I can hardly breathe.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-694\",\n        \"text\": \"'I can't help it,' said Alice very meekly: 'I'm growing.'\",\n        \"caption\": \"'I can't help it,' said Alice very meekly: 'I'm growing.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-695\",\n        \"text\": \"'You've no right to grow here,' said the Dormouse.\",\n        \"caption\": \"'You've no right to grow here,' said the Dormouse.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-696\",\n        \"text\": \"'Don't talk nonsense,' said Alice more boldly: 'you know you're growing\\ntoo.'\",\n        \"caption\": \"'Don't talk nonsense,' said Alice more boldly: 'you know you're growing\\ntoo.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-697\",\n        \"text\": \"'Yes, but I grow at a reasonable pace,' said the Dormouse: 'not in that\\nridiculous fashion.' And he got up very sulkily and crossed over to the\\nother side of the court.\",\n        \"caption\": \"'Yes, but I grow at a reasonable pace,' said the Dormouse: 'not in that\\nridiculous fashion.' And he got up very sulkily and crossed over to the\\nother side of the court.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-698\",\n        \"text\": \"All this time the Queen had never left off staring at the Hatter, and,\\njust as the Dormouse crossed the court, she said to one of the officers\\nof the court, 'Bring me the list of the singers in the last concert!' on\\nwhich the wretched Hatter trembled so, that he shook both his shoes off.\",\n        \"caption\": \"All this time the Queen had never left off staring at the Hatter, and,\\njust as the Dormouse crossed the court, she said to one of the officers\\nof the court, 'Bring me the list of the singers in the last concert!' on\\nwhich the wretched Hatter trembled so, that he shook both his shoes off.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-699\",\n        \"text\": \"'Give your evidence,' the King repeated angrily, 'or I'll have you\\nexecuted, whether you're nervous or not.'\",\n        \"caption\": \"'Give your evidence,' the King repeated angrily, 'or I'll have you\\nexecuted, whether you're nervous or not.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-700\",\n        \"text\": \"'I'm a poor man, your Majesty,' the Hatter began, in a trembling voice,\\n'–and I hadn't begun my tea–not above a week or so–and what with the\\nbread-and-butter getting so thin–and the twinkling of the tea–'\",\n        \"caption\": \"'I'm a poor man, your Majesty,' the Hatter began, in a trembling voice,\\n'–and I hadn't begun my tea–not above a week or so–and what with the\\nbread-and-butter getting so thin–and the twinkling of the tea–'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-701\",\n        \"text\": \"'The twinkling of the what?' said the King.\",\n        \"caption\": \"'The twinkling of the what?' said the King.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-702\",\n        \"text\": \"'It began with the tea,' the Hatter replied.\",\n        \"caption\": \"'It began with the tea,' the Hatter replied.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-703\",\n        \"text\": \"'Of course twinkling begins with a T!' said the King sharply. 'Do you\\ntake me for a dunce? Go on!'\",\n        \"caption\": \"'Of course twinkling begins with a T!' said the King sharply. 'Do you\\ntake me for a dunce? Go on!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-704\",\n        \"text\": \"'I'm a poor man,' the Hatter went on, 'and most things twinkled after\\nthat–only the March Hare said–'\",\n        \"caption\": \"'I'm a poor man,' the Hatter went on, 'and most things twinkled after\\nthat–only the March Hare said–'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-705\",\n        \"text\": \"'I didn't!' the March Hare interrupted in a great hurry.\",\n        \"caption\": \"'I didn't!' the March Hare interrupted in a great hurry.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-706\",\n        \"text\": \"'You did!' said the Hatter.\",\n        \"caption\": \"'You did!' said the Hatter.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-707\",\n        \"text\": \"'I deny it!' said the March Hare.\",\n        \"caption\": \"'I deny it!' said the March Hare.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-708\",\n        \"text\": \"'He denies it,' said the King: 'leave out that part.'\",\n        \"caption\": \"'He denies it,' said the King: 'leave out that part.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-709\",\n        \"text\": \"'Well, at any rate, the Dormouse said–' the Hatter went on, looking\\nanxiously round to see if he would deny it too: but the Dormouse denied\\nnothing, being fast asleep.\",\n        \"caption\": \"'Well, at any rate, the Dormouse said–' the Hatter went on, looking\\nanxiously round to see if he would deny it too: but the Dormouse denied\\nnothing, being fast asleep.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-710\",\n        \"text\": \"'After that,' continued the Hatter, 'I cut some more bread-and-butter–'\",\n        \"caption\": \"'After that,' continued the Hatter, 'I cut some more bread-and-butter–'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-711\",\n        \"text\": \"'But what did the Dormouse say?' one of the jury asked.\",\n        \"caption\": \"'But what did the Dormouse say?' one of the jury asked.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-712\",\n        \"text\": \"'That I can't remember,' said the Hatter.\",\n        \"caption\": \"'That I can't remember,' said the Hatter.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-713\",\n        \"text\": \"'You MUST remember,' remarked the King, 'or I'll have you executed.'\",\n        \"caption\": \"'You MUST remember,' remarked the King, 'or I'll have you executed.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-714\",\n        \"text\": \"The miserable Hatter dropped his teacup and bread-and-butter, and went\\ndown on one knee. 'I'm a poor man, your Majesty,' he began.\",\n        \"caption\": \"The miserable Hatter dropped his teacup and bread-and-butter, and went\\ndown on one knee. 'I'm a poor man, your Majesty,' he began.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-715\",\n        \"text\": \"'You're a very poor speaker,' said the King.\",\n        \"caption\": \"'You're a very poor speaker,' said the King.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-716\",\n        \"text\": \"Here one of the guinea-pigs cheered, and was immediately suppressed by\\nthe officers of the court. (As that is rather a hard word, I will just\\nexplain to you how it was done. They had a large canvas bag, which tied\\nup at the mouth with strings: into this they slipped the guinea-pig,\\nhead first, and then sat upon it.)\",\n        \"caption\": \"Here one of the guinea-pigs cheered, and was immediately suppressed by\\nthe officers of the court. (As that is rather a hard word, I will just\\nexplain to you how it was done. They had a large canvas bag, which tied\\nup at the mouth with strings: into this they slipped the guinea-pig,\\nhead first, and then sat upon it.)\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-717\",\n        \"text\": \"'I'm glad I've seen that done,' thought Alice. 'I've so often read\\nin the newspapers, at the end of trials, &quot;There was some attempts\\nat applause, which was immediately suppressed by the officers of the\\ncourt,&quot; and I never understood what it meant till now.'\",\n        \"caption\": \"'I'm glad I've seen that done,' thought Alice. 'I've so often read\\nin the newspapers, at the end of trials, &quot;There was some attempts\\nat applause, which was immediately suppressed by the officers of the\\ncourt,&quot; and I never understood what it meant till now.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-718\",\n        \"text\": \"'If that's all you know about it, you may stand down,' continued the\\nKing.\",\n        \"caption\": \"'If that's all you know about it, you may stand down,' continued the\\nKing.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-719\",\n        \"text\": \"'I can't go no lower,' said the Hatter: 'I'm on the floor, as it is.'\",\n        \"caption\": \"'I can't go no lower,' said the Hatter: 'I'm on the floor, as it is.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-720\",\n        \"text\": \"'Then you may SIT down,' the King replied.\",\n        \"caption\": \"'Then you may SIT down,' the King replied.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-721\",\n        \"text\": \"Here the other guinea-pig cheered, and was suppressed.\",\n        \"caption\": \"Here the other guinea-pig cheered, and was suppressed.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-722\",\n        \"text\": \"'Come, that finished the guinea-pigs!' thought Alice. 'Now we shall get\\non better.'\",\n        \"caption\": \"'Come, that finished the guinea-pigs!' thought Alice. 'Now we shall get\\non better.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-723\",\n        \"text\": \"'I'd rather finish my tea,' said the Hatter, with an anxious look at the\\nQueen, who was reading the list of singers.\",\n        \"caption\": \"'I'd rather finish my tea,' said the Hatter, with an anxious look at the\\nQueen, who was reading the list of singers.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-724\",\n        \"text\": \"'You may go,' said the King, and the Hatter hurriedly left the court,\\nwithout even waiting to put his shoes on.\",\n        \"caption\": \"'You may go,' said the King, and the Hatter hurriedly left the court,\\nwithout even waiting to put his shoes on.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-725\",\n        \"text\": \"'–and just take his head off outside,' the Queen added to one of the\\nofficers: but the Hatter was out of sight before the officer could get\\nto the door.\",\n        \"caption\": \"'–and just take his head off outside,' the Queen added to one of the\\nofficers: but the Hatter was out of sight before the officer could get\\nto the door.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-726\",\n        \"text\": \"'Call the next witness!' said the King.\",\n        \"caption\": \"'Call the next witness!' said the King.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-727\",\n        \"text\": \"The next witness was the Duchess's cook. She carried the pepper-box in\\nher hand, and Alice guessed who it was, even before she got into the\\ncourt, by the way the people near the door began sneezing all at once.\",\n        \"caption\": \"The next witness was the Duchess's cook. She carried the pepper-box in\\nher hand, and Alice guessed who it was, even before she got into the\\ncourt, by the way the people near the door began sneezing all at once.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-728\",\n        \"text\": \"'Give your evidence,' said the King.\",\n        \"caption\": \"'Give your evidence,' said the King.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-729\",\n        \"text\": \"'Shan't,' said the cook.\",\n        \"caption\": \"'Shan't,' said the cook.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-730\",\n        \"text\": \"The King looked anxiously at the White Rabbit, who said in a low voice,\\n'Your Majesty must cross-examine THIS witness.'\",\n        \"caption\": \"The King looked anxiously at the White Rabbit, who said in a low voice,\\n'Your Majesty must cross-examine THIS witness.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-731\",\n        \"text\": \"'Well, if I must, I must,' the King said, with a melancholy air, and,\\nafter folding his arms and frowning at the cook till his eyes were\\nnearly out of sight, he said in a deep voice, 'What are tarts made of?'\",\n        \"caption\": \"'Well, if I must, I must,' the King said, with a melancholy air, and,\\nafter folding his arms and frowning at the cook till his eyes were\\nnearly out of sight, he said in a deep voice, 'What are tarts made of?'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-732\",\n        \"text\": \"'Pepper, mostly,' said the cook.\",\n        \"caption\": \"'Pepper, mostly,' said the cook.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-733\",\n        \"text\": \"'Treacle,' said a sleepy voice behind her.\",\n        \"caption\": \"'Treacle,' said a sleepy voice behind her.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-734\",\n        \"text\": \"'Collar that Dormouse,' the Queen shrieked out. 'Behead that Dormouse!\\nTurn that Dormouse out of court! Suppress him! Pinch him! Off with his\\nwhiskers!'\",\n        \"caption\": \"'Collar that Dormouse,' the Queen shrieked out. 'Behead that Dormouse!\\nTurn that Dormouse out of court! Suppress him! Pinch him! Off with his\\nwhiskers!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-735\",\n        \"text\": \"For some minutes the whole court was in confusion, getting the Dormouse\\nturned out, and, by the time they had settled down again, the cook had\\ndisappeared.\",\n        \"caption\": \"For some minutes the whole court was in confusion, getting the Dormouse\\nturned out, and, by the time they had settled down again, the cook had\\ndisappeared.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-736\",\n        \"text\": \"'Never mind!' said the King, with an air of great relief. 'Call the next\\nwitness.' And he added in an undertone to the Queen, 'Really, my dear,\\nYOU must cross-examine the next witness. It quite makes my forehead\\nache!'\",\n        \"caption\": \"'Never mind!' said the King, with an air of great relief. 'Call the next\\nwitness.' And he added in an undertone to the Queen, 'Really, my dear,\\nYOU must cross-examine the next witness. It quite makes my forehead\\nache!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-737\",\n        \"text\": \"Alice watched the White Rabbit as he fumbled over the list, feeling very\\ncurious to see what the next witness would be like, '–for they haven't\\ngot much evidence YET,' she said to herself. Imagine her surprise, when\\nthe White Rabbit read out, at the top of his shrill little voice, the\\nname 'Alice!'\",\n        \"caption\": \"Alice watched the White Rabbit as he fumbled over the list, feeling very\\ncurious to see what the next witness would be like, '–for they haven't\\ngot much evidence YET,' she said to herself. Imagine her surprise, when\\nthe White Rabbit read out, at the top of his shrill little voice, the\\nname 'Alice!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-738\",\n        \"text\": \"<h3>CHAPTER XII. Alice's Evidence</h3>\",\n        \"caption\": \"CHAPTER XII. Alice's Evidence\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-739\",\n        \"text\": \"'Here!' cried Alice, quite forgetting in the flurry of the moment how\\nlarge she had grown in the last few minutes, and she jumped up in such\\na hurry that she tipped over the jury-box with the edge of her skirt,\\nupsetting all the jurymen on to the heads of the crowd below, and there\\nthey lay sprawling about, reminding her very much of a globe of goldfish\\nshe had accidentally upset the week before.\",\n        \"caption\": \"'Here!' cried Alice, quite forgetting in the flurry of the moment how\\nlarge she had grown in the last few minutes, and she jumped up in such\\na hurry that she tipped over the jury-box with the edge of her skirt,\\nupsetting all the jurymen on to the heads of the crowd below, and there\\nthey lay sprawling about, reminding her very much of a globe of goldfish\\nshe had accidentally upset the week before.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-740\",\n        \"text\": \"'Oh, I BEG your pardon!' she exclaimed in a tone of great dismay, and\\nbegan picking them up again as quickly as she could, for the accident of\\nthe goldfish kept running in her head, and she had a vague sort of idea\\nthat they must be collected at once and put back into the jury-box, or\\nthey would die.\",\n        \"caption\": \"'Oh, I BEG your pardon!' she exclaimed in a tone of great dismay, and\\nbegan picking them up again as quickly as she could, for the accident of\\nthe goldfish kept running in her head, and she had a vague sort of idea\\nthat they must be collected at once and put back into the jury-box, or\\nthey would die.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-741\",\n        \"text\": \"'The trial cannot proceed,' said the King in a very grave voice, 'until\\nall the jurymen are back in their proper places–ALL,' he repeated with\\ngreat emphasis, looking hard at Alice as he said do.\",\n        \"caption\": \"'The trial cannot proceed,' said the King in a very grave voice, 'until\\nall the jurymen are back in their proper places–ALL,' he repeated with\\ngreat emphasis, looking hard at Alice as he said do.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-742\",\n        \"text\": \"Alice looked at the jury-box, and saw that, in her haste, she had put\\nthe Lizard in head downwards, and the poor little thing was waving its\\ntail about in a melancholy way, being quite unable to move. She soon got\\nit out again, and put it right; 'not that it signifies much,' she said\\nto herself; 'I should think it would be QUITE as much use in the trial\\none way up as the other.'\",\n        \"caption\": \"Alice looked at the jury-box, and saw that, in her haste, she had put\\nthe Lizard in head downwards, and the poor little thing was waving its\\ntail about in a melancholy way, being quite unable to move. She soon got\\nit out again, and put it right; 'not that it signifies much,' she said\\nto herself; 'I should think it would be QUITE as much use in the trial\\none way up as the other.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-743\",\n        \"text\": \"As soon as the jury had a little recovered from the shock of being\\nupset, and their slates and pencils had been found and handed back to\\nthem, they set to work very diligently to write out a history of the\\naccident, all except the Lizard, who seemed too much overcome to do\\nanything but sit with its mouth open, gazing up into the roof of the\\ncourt.\",\n        \"caption\": \"As soon as the jury had a little recovered from the shock of being\\nupset, and their slates and pencils had been found and handed back to\\nthem, they set to work very diligently to write out a history of the\\naccident, all except the Lizard, who seemed too much overcome to do\\nanything but sit with its mouth open, gazing up into the roof of the\\ncourt.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-744\",\n        \"text\": \"'What do you know about this business?' the King said to Alice.\",\n        \"caption\": \"'What do you know about this business?' the King said to Alice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-745\",\n        \"text\": \"'Nothing,' said Alice.\",\n        \"caption\": \"'Nothing,' said Alice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-746\",\n        \"text\": \"'Nothing WHATEVER?' persisted the King.\",\n        \"caption\": \"'Nothing WHATEVER?' persisted the King.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-747\",\n        \"text\": \"'Nothing whatever,' said Alice.\",\n        \"caption\": \"'Nothing whatever,' said Alice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-748\",\n        \"text\": \"'That's very important,' the King said, turning to the jury. They were\\njust beginning to write this down on their slates, when the White Rabbit\\ninterrupted: 'UNimportant, your Majesty means, of course,' he said in a\\nvery respectful tone, but frowning and making faces at him as he spoke.\",\n        \"caption\": \"'That's very important,' the King said, turning to the jury. They were\\njust beginning to write this down on their slates, when the White Rabbit\\ninterrupted: 'UNimportant, your Majesty means, of course,' he said in a\\nvery respectful tone, but frowning and making faces at him as he spoke.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-749\",\n        \"text\": \"'UNimportant, of course, I meant,' the King hastily said, and went on\\nto himself in an undertone,\",\n        \"caption\": \"'UNimportant, of course, I meant,' the King hastily said, and went on\\nto himself in an undertone,\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-750\",\n        \"text\": \"'important–unimportant–unimportant–important–' as if he were trying\\nwhich word sounded best.\",\n        \"caption\": \"'important–unimportant–unimportant–important–' as if he were trying\\nwhich word sounded best.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-751\",\n        \"text\": \"Some of the jury wrote it down 'important,' and some 'unimportant.'\\nAlice could see this, as she was near enough to look over their slates;\\n'but it doesn't matter a bit,' she thought to herself.\",\n        \"caption\": \"Some of the jury wrote it down 'important,' and some 'unimportant.'\\nAlice could see this, as she was near enough to look over their slates;\\n'but it doesn't matter a bit,' she thought to herself.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-752\",\n        \"text\": \"At this moment the King, who had been for some time busily writing in\\nhis note-book, cackled out 'Silence!' and read out from his book, 'Rule\\nForty-two. ALL PERSONS MORE THAN A MILE HIGH TO LEAVE THE COURT.'\",\n        \"caption\": \"At this moment the King, who had been for some time busily writing in\\nhis note-book, cackled out 'Silence!' and read out from his book, 'Rule\\nForty-two. ALL PERSONS MORE THAN A MILE HIGH TO LEAVE THE COURT.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-753\",\n        \"text\": \"Everybody looked at Alice.\",\n        \"caption\": \"Everybody looked at Alice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-754\",\n        \"text\": \"'I'M not a mile high,' said Alice.\",\n        \"caption\": \"'I'M not a mile high,' said Alice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-755\",\n        \"text\": \"'You are,' said the King.\",\n        \"caption\": \"'You are,' said the King.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-756\",\n        \"text\": \"'Nearly two miles high,' added the Queen.\",\n        \"caption\": \"'Nearly two miles high,' added the Queen.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-757\",\n        \"text\": \"'Well, I shan't go, at any rate,' said Alice: 'besides, that's not a\\nregular rule: you invented it just now.'\",\n        \"caption\": \"'Well, I shan't go, at any rate,' said Alice: 'besides, that's not a\\nregular rule: you invented it just now.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-758\",\n        \"text\": \"'It's the oldest rule in the book,' said the King.\",\n        \"caption\": \"'It's the oldest rule in the book,' said the King.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-759\",\n        \"text\": \"'Then it ought to be Number One,' said Alice.\",\n        \"caption\": \"'Then it ought to be Number One,' said Alice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-760\",\n        \"text\": \"The King turned pale, and shut his note-book hastily. 'Consider your\\nverdict,' he said to the jury, in a low, trembling voice.\",\n        \"caption\": \"The King turned pale, and shut his note-book hastily. 'Consider your\\nverdict,' he said to the jury, in a low, trembling voice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-761\",\n        \"text\": \"'There's more evidence to come yet, please your Majesty,' said the White\\nRabbit, jumping up in a great hurry; 'this paper has just been picked\\nup.'\",\n        \"caption\": \"'There's more evidence to come yet, please your Majesty,' said the White\\nRabbit, jumping up in a great hurry; 'this paper has just been picked\\nup.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-762\",\n        \"text\": \"'What's in it?' said the Queen.\",\n        \"caption\": \"'What's in it?' said the Queen.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-763\",\n        \"text\": \"'I haven't opened it yet,' said the White Rabbit, 'but it seems to be a\\nletter, written by the prisoner to–to somebody.'\",\n        \"caption\": \"'I haven't opened it yet,' said the White Rabbit, 'but it seems to be a\\nletter, written by the prisoner to–to somebody.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-764\",\n        \"text\": \"'It must have been that,' said the King, 'unless it was written to\\nnobody, which isn't usual, you know.'\",\n        \"caption\": \"'It must have been that,' said the King, 'unless it was written to\\nnobody, which isn't usual, you know.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-765\",\n        \"text\": \"'Who is it directed to?' said one of the jurymen.\",\n        \"caption\": \"'Who is it directed to?' said one of the jurymen.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-766\",\n        \"text\": \"'It isn't directed at all,' said the White Rabbit; 'in fact, there's\\nnothing written on the OUTSIDE.' He unfolded the paper as he spoke, and\\nadded 'It isn't a letter, after all: it's a set of verses.'\",\n        \"caption\": \"'It isn't directed at all,' said the White Rabbit; 'in fact, there's\\nnothing written on the OUTSIDE.' He unfolded the paper as he spoke, and\\nadded 'It isn't a letter, after all: it's a set of verses.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-767\",\n        \"text\": \"'Are they in the prisoner's handwriting?' asked another of the jurymen.\",\n        \"caption\": \"'Are they in the prisoner's handwriting?' asked another of the jurymen.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-768\",\n        \"text\": \"'No, they're not,' said the White Rabbit, 'and that's the queerest thing\\nabout it.' (The jury all looked puzzled.)\",\n        \"caption\": \"'No, they're not,' said the White Rabbit, 'and that's the queerest thing\\nabout it.' (The jury all looked puzzled.)\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-769\",\n        \"text\": \"'He must have imitated somebody else's hand,' said the King. (The jury\\nall brightened up again.)\",\n        \"caption\": \"'He must have imitated somebody else's hand,' said the King. (The jury\\nall brightened up again.)\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-770\",\n        \"text\": \"'Please your Majesty,' said the Knave, 'I didn't write it, and they\\ncan't prove I did: there's no name signed at the end.'\",\n        \"caption\": \"'Please your Majesty,' said the Knave, 'I didn't write it, and they\\ncan't prove I did: there's no name signed at the end.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-771\",\n        \"text\": \"'If you didn't sign it,' said the King, 'that only makes the matter\\nworse. You MUST have meant some mischief, or else you'd have signed your\\nname like an honest man.'\",\n        \"caption\": \"'If you didn't sign it,' said the King, 'that only makes the matter\\nworse. You MUST have meant some mischief, or else you'd have signed your\\nname like an honest man.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-772\",\n        \"text\": \"There was a general clapping of hands at this: it was the first really\\nclever thing the King had said that day.\",\n        \"caption\": \"There was a general clapping of hands at this: it was the first really\\nclever thing the King had said that day.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-773\",\n        \"text\": \"'That PROVES his guilt,' said the Queen.\",\n        \"caption\": \"'That PROVES his guilt,' said the Queen.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-774\",\n        \"text\": \"'It proves nothing of the sort!' said Alice. 'Why, you don't even know\\nwhat they're about!'\",\n        \"caption\": \"'It proves nothing of the sort!' said Alice. 'Why, you don't even know\\nwhat they're about!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-775\",\n        \"text\": \"'Read them,' said the King.\",\n        \"caption\": \"'Read them,' said the King.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-776\",\n        \"text\": \"The White Rabbit put on his spectacles. 'Where shall I begin, please\\nyour Majesty?' he asked.\",\n        \"caption\": \"The White Rabbit put on his spectacles. 'Where shall I begin, please\\nyour Majesty?' he asked.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-777\",\n        \"text\": \"'Begin at the beginning,' the King said gravely, 'and go on till you\\ncome to the end: then stop.'\",\n        \"caption\": \"'Begin at the beginning,' the King said gravely, 'and go on till you\\ncome to the end: then stop.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-778\",\n        \"text\": \"These were the verses the White Rabbit read:–\",\n        \"caption\": \"These were the verses the White Rabbit read:–\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-779\",\n        \"text\": \"'They told me you had been to her,\\n    And mentioned me to him:\\n   She gave me a good character,\\n    But said I could not swim.\",\n        \"caption\": \"'They told me you had been to her,\\n    And mentioned me to him:\\n   She gave me a good character,\\n    But said I could not swim.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-780\",\n        \"text\": \"He sent them word I had not gone\\n    (We know it to be true):\\n   If she should push the matter on,\\n    What would become of you?\",\n        \"caption\": \"He sent them word I had not gone\\n    (We know it to be true):\\n   If she should push the matter on,\\n    What would become of you?\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-781\",\n        \"text\": \"I gave her one, they gave him two,\\n    You gave us three or more;\\n   They all returned from him to you,\\n    Though they were mine before.\",\n        \"caption\": \"I gave her one, they gave him two,\\n    You gave us three or more;\\n   They all returned from him to you,\\n    Though they were mine before.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-782\",\n        \"text\": \"If I or she should chance to be\\n    Involved in this affair,\\n   He trusts to you to set them free,\\n    Exactly as we were.\",\n        \"caption\": \"If I or she should chance to be\\n    Involved in this affair,\\n   He trusts to you to set them free,\\n    Exactly as we were.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-783\",\n        \"text\": \"My notion was that you had been\\n    (Before she had this fit)\\n   An obstacle that came between\\n    Him, and ourselves, and it.\",\n        \"caption\": \"My notion was that you had been\\n    (Before she had this fit)\\n   An obstacle that came between\\n    Him, and ourselves, and it.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-784\",\n        \"text\": \"Don't let him know she liked them best,\\n    For this must ever be\\n   A secret, kept from all the rest,\\n    Between yourself and me.'\",\n        \"caption\": \"Don't let him know she liked them best,\\n    For this must ever be\\n   A secret, kept from all the rest,\\n    Between yourself and me.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-785\",\n        \"text\": \"'That's the most important piece of evidence we've heard yet,' said the\\nKing, rubbing his hands; 'so now let the jury–'\",\n        \"caption\": \"'That's the most important piece of evidence we've heard yet,' said the\\nKing, rubbing his hands; 'so now let the jury–'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-786\",\n        \"text\": \"'If any one of them can explain it,' said Alice, (she had grown so large\\nin the last few minutes that she wasn't a bit afraid of interrupting\\nhim,) 'I'll give him sixpence. _I_ don't believe there's an atom of\\nmeaning in it.'\",\n        \"caption\": \"'If any one of them can explain it,' said Alice, (she had grown so large\\nin the last few minutes that she wasn't a bit afraid of interrupting\\nhim,) 'I'll give him sixpence. _I_ don't believe there's an atom of\\nmeaning in it.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-787\",\n        \"text\": \"The jury all wrote down on their slates, 'SHE doesn't believe there's an\\natom of meaning in it,' but none of them attempted to explain the paper.\",\n        \"caption\": \"The jury all wrote down on their slates, 'SHE doesn't believe there's an\\natom of meaning in it,' but none of them attempted to explain the paper.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-788\",\n        \"text\": \"'If there's no meaning in it,' said the King, 'that saves a world of\\ntrouble, you know, as we needn't try to find any. And yet I don't know,'\\nhe went on, spreading out the verses on his knee, and looking at them\\nwith one eye; 'I seem to see some meaning in them, after all. &quot;–SAID\\nI COULD NOT SWIM–&quot; you can't swim, can you?' he added, turning to the\\nKnave.\",\n        \"caption\": \"'If there's no meaning in it,' said the King, 'that saves a world of\\ntrouble, you know, as we needn't try to find any. And yet I don't know,'\\nhe went on, spreading out the verses on his knee, and looking at them\\nwith one eye; 'I seem to see some meaning in them, after all. &quot;–SAID\\nI COULD NOT SWIM–&quot; you can't swim, can you?' he added, turning to the\\nKnave.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-789\",\n        \"text\": \"The Knave shook his head sadly. 'Do I look like it?' he said. (Which he\\ncertainly did NOT, being made entirely of cardboard.)\",\n        \"caption\": \"The Knave shook his head sadly. 'Do I look like it?' he said. (Which he\\ncertainly did NOT, being made entirely of cardboard.)\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-790\",\n        \"text\": \"'All right, so far,' said the King, and he went on muttering over\\nthe verses to himself: '&quot;WE KNOW IT TO BE TRUE–&quot; that's the jury, of\\ncourse–&quot;I GAVE HER ONE, THEY GAVE HIM TWO–&quot; why, that must be what he\\ndid with the tarts, you know–'\",\n        \"caption\": \"'All right, so far,' said the King, and he went on muttering over\\nthe verses to himself: '&quot;WE KNOW IT TO BE TRUE–&quot; that's the jury, of\\ncourse–&quot;I GAVE HER ONE, THEY GAVE HIM TWO–&quot; why, that must be what he\\ndid with the tarts, you know–'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-791\",\n        \"text\": \"'But, it goes on &quot;THEY ALL RETURNED FROM HIM TO YOU,&quot;' said Alice.\",\n        \"caption\": \"'But, it goes on &quot;THEY ALL RETURNED FROM HIM TO YOU,&quot;' said Alice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-792\",\n        \"text\": \"'Why, there they are!' said the King triumphantly, pointing to the tarts\\non the table. 'Nothing can be clearer than THAT. Then again–&quot;BEFORE SHE\\nHAD THIS FIT–&quot; you never had fits, my dear, I think?' he said to the\\nQueen.\",\n        \"caption\": \"'Why, there they are!' said the King triumphantly, pointing to the tarts\\non the table. 'Nothing can be clearer than THAT. Then again–&quot;BEFORE SHE\\nHAD THIS FIT–&quot; you never had fits, my dear, I think?' he said to the\\nQueen.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-793\",\n        \"text\": \"'Never!' said the Queen furiously, throwing an inkstand at the Lizard\\nas she spoke. (The unfortunate little Bill had left off writing on his\\nslate with one finger, as he found it made no mark; but he now hastily\\nbegan again, using the ink, that was trickling down his face, as long as\\nit lasted.)\",\n        \"caption\": \"'Never!' said the Queen furiously, throwing an inkstand at the Lizard\\nas she spoke. (The unfortunate little Bill had left off writing on his\\nslate with one finger, as he found it made no mark; but he now hastily\\nbegan again, using the ink, that was trickling down his face, as long as\\nit lasted.)\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-794\",\n        \"text\": \"'Then the words don't FIT you,' said the King, looking round the court\\nwith a smile. There was a dead silence.\",\n        \"caption\": \"'Then the words don't FIT you,' said the King, looking round the court\\nwith a smile. There was a dead silence.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-795\",\n        \"text\": \"'It's a pun!' the King added in an offended tone, and everybody laughed,\\n'Let the jury consider their verdict,' the King said, for about the\\ntwentieth time that day.\",\n        \"caption\": \"'It's a pun!' the King added in an offended tone, and everybody laughed,\\n'Let the jury consider their verdict,' the King said, for about the\\ntwentieth time that day.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-796\",\n        \"text\": \"'No, no!' said the Queen. 'Sentence first–verdict afterwards.'\",\n        \"caption\": \"'No, no!' said the Queen. 'Sentence first–verdict afterwards.'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-797\",\n        \"text\": \"'Stuff and nonsense!' said Alice loudly. 'The idea of having the\\nsentence first!'\",\n        \"caption\": \"'Stuff and nonsense!' said Alice loudly. 'The idea of having the\\nsentence first!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-798\",\n        \"text\": \"'Hold your tongue!' said the Queen, turning purple.\",\n        \"caption\": \"'Hold your tongue!' said the Queen, turning purple.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-799\",\n        \"text\": \"'I won't!' said Alice.\",\n        \"caption\": \"'I won't!' said Alice.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-800\",\n        \"text\": \"'Off with her head!' the Queen shouted at the top of her voice. Nobody\\nmoved.\",\n        \"caption\": \"'Off with her head!' the Queen shouted at the top of her voice. Nobody\\nmoved.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-801\",\n        \"text\": \"'Who cares for you?' said Alice, (she had grown to her full size by this\\ntime.) 'You're nothing but a pack of cards!'\",\n        \"caption\": \"'Who cares for you?' said Alice, (she had grown to her full size by this\\ntime.) 'You're nothing but a pack of cards!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-802\",\n        \"text\": \"At this the whole pack rose up into the air, and came flying down upon\\nher: she gave a little scream, half of fright and half of anger, and\\ntried to beat them off, and found herself lying on the bank, with her\\nhead in the lap of her sister, who was gently brushing away some dead\\nleaves that had fluttered down from the trees upon her face.\",\n        \"caption\": \"At this the whole pack rose up into the air, and came flying down upon\\nher: she gave a little scream, half of fright and half of anger, and\\ntried to beat them off, and found herself lying on the bank, with her\\nhead in the lap of her sister, who was gently brushing away some dead\\nleaves that had fluttered down from the trees upon her face.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-803\",\n        \"text\": \"'Wake up, Alice dear!' said her sister; 'Why, what a long sleep you've\\nhad!'\",\n        \"caption\": \"'Wake up, Alice dear!' said her sister; 'Why, what a long sleep you've\\nhad!'\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-804\",\n        \"text\": \"'Oh, I've had such a curious dream!' said Alice, and she told her\\nsister, as well as she could remember them, all these strange Adventures\\nof hers that you have just been reading about; and when she had\\nfinished, her sister kissed her, and said, 'It WAS a curious dream,\\ndear, certainly: but now run in to your tea; it's getting late.' So\\nAlice got up and ran off, thinking while she ran, as well she might,\\nwhat a wonderful dream it had been.\",\n        \"caption\": \"'Oh, I've had such a curious dream!' said Alice, and she told her\\nsister, as well as she could remember them, all these strange Adventures\\nof hers that you have just been reading about; and when she had\\nfinished, her sister kissed her, and said, 'It WAS a curious dream,\\ndear, certainly: but now run in to your tea; it's getting late.' So\\nAlice got up and ran off, thinking while she ran, as well she might,\\nwhat a wonderful dream it had been.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-805\",\n        \"text\": \"But her sister sat still just as she left her, leaning her head on her\\nhand, watching the setting sun, and thinking of little Alice and all her\\nwonderful Adventures, till she too began dreaming after a fashion, and\\nthis was her dream:–\",\n        \"caption\": \"But her sister sat still just as she left her, leaning her head on her\\nhand, watching the setting sun, and thinking of little Alice and all her\\nwonderful Adventures, till she too began dreaming after a fashion, and\\nthis was her dream:–\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-806\",\n        \"text\": \"First, she dreamed of little Alice herself, and once again the tiny\\nhands were clasped upon her knee, and the bright eager eyes were looking\\nup into hers–she could hear the very tones of her voice, and see that\\nqueer little toss of her head to keep back the wandering hair that\\nWOULD always get into her eyes–and still as she listened, or seemed to\\nlisten, the whole place around her became alive with the strange creatures\\nof her little sister's dream.\",\n        \"caption\": \"First, she dreamed of little Alice herself, and once again the tiny\\nhands were clasped upon her knee, and the bright eager eyes were looking\\nup into hers–she could hear the very tones of her voice, and see that\\nqueer little toss of her head to keep back the wandering hair that\\nWOULD always get into her eyes–and still as she listened, or seemed to\\nlisten, the whole place around her became alive with the strange creatures\\nof her little sister's dream.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-807\",\n        \"text\": \"The long grass rustled at her feet as the White Rabbit hurried by–the\\nfrightened Mouse splashed his way through the neighbouring pool–she\\ncould hear the rattle of the teacups as the March Hare and his friends\\nshared their never-ending meal, and the shrill voice of the Queen\\nordering off her unfortunate guests to execution–once more the pig-baby\\nwas sneezing on the Duchess's knee, while plates and dishes crashed\\naround it–once more the shriek of the Gryphon, the squeaking of the\\nLizard's slate-pencil, and the choking of the suppressed guinea-pigs,\\nfilled the air, mixed up with the distant sobs of the miserable Mock\\nTurtle.\",\n        \"caption\": \"The long grass rustled at her feet as the White Rabbit hurried by–the\\nfrightened Mouse splashed his way through the neighbouring pool–she\\ncould hear the rattle of the teacups as the March Hare and his friends\\nshared their never-ending meal, and the shrill voice of the Queen\\nordering off her unfortunate guests to execution–once more the pig-baby\\nwas sneezing on the Duchess's knee, while plates and dishes crashed\\naround it–once more the shriek of the Gryphon, the squeaking of the\\nLizard's slate-pencil, and the choking of the suppressed guinea-pigs,\\nfilled the air, mixed up with the distant sobs of the miserable Mock\\nTurtle.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-808\",\n        \"text\": \"So she sat on, with closed eyes, and half believed herself in\\nWonderland, though she knew she had but to open them again, and all\\nwould change to dull reality–the grass would be only rustling in the\\nwind, and the pool rippling to the waving of the reeds–the rattling\\nteacups would change to tinkling sheep-bells, and the Queen's shrill\\ncries to the voice of the shepherd boy–and the sneeze of the baby, the\\nshriek of the Gryphon, and all the other queer noises, would change (she\\nknew) to the confused clamour of the busy farm-yard–while the lowing\\nof the cattle in the distance would take the place of the Mock Turtle's\\nheavy sobs.\",\n        \"caption\": \"So she sat on, with closed eyes, and half believed herself in\\nWonderland, though she knew she had but to open them again, and all\\nwould change to dull reality–the grass would be only rustling in the\\nwind, and the pool rippling to the waving of the reeds–the rattling\\nteacups would change to tinkling sheep-bells, and the Queen's shrill\\ncries to the voice of the shepherd boy–and the sneeze of the baby, the\\nshriek of the Gryphon, and all the other queer noises, would change (she\\nknew) to the confused clamour of the busy farm-yard–while the lowing\\nof the cattle in the distance would take the place of the Mock Turtle's\\nheavy sobs.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-809\",\n        \"text\": \"Lastly, she pictured to herself how this same little sister of hers\\nwould, in the after-time, be herself a grown woman; and how she would\\nkeep, through all her riper years, the simple and loving heart of her\\nchildhood: and how she would gather about her other little children, and\\nmake THEIR eyes bright and eager with many a strange tale, perhaps even\\nwith the dream of Wonderland of long ago: and how she would feel with\\nall their simple sorrows, and find a pleasure in all their simple joys,\\nremembering her own child-life, and the happy summer days.\",\n        \"caption\": \"Lastly, she pictured to herself how this same little sister of hers\\nwould, in the after-time, be herself a grown woman; and how she would\\nkeep, through all her riper years, the simple and loving heart of her\\nchildhood: and how she would gather about her other little children, and\\nmake THEIR eyes bright and eager with many a strange tale, perhaps even\\nwith the dream of Wonderland of long ago: and how she would feel with\\nall their simple sorrows, and find a pleasure in all their simple joys,\\nremembering her own child-life, and the happy summer days.\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    },\n    {\n        \"title\": \"Alice in Wonderland:-paragraph-810\",\n        \"text\": \"THE END\\n\",\n        \"caption\": \"THE END\\n\",\n        \"tags\": \"[[Alice in Wonderland:]]\",\n        \"list\": \"\",\n        \"role\": \"sliced-html\",\n        \"toc-type\": \"paragraph\"\n    }\n]"
  },
  {
    "path": "editions/dynaviewdemo/tiddlers/alice/Alice in Wonderland License.tid",
    "content": "title: Alice in Wonderland License\ntype: text/plain\n\nTHE FULL PROJECT GUTENBERG LICENSE\nPLEASE READ THIS BEFORE YOU DISTRIBUTE OR USE THIS WORK\n\nTo protect the Project Gutenberg-tm mission of promoting the free\ndistribution of electronic works, by using or distributing this work\n(or any other work associated in any way with the phrase \"Project\nGutenberg\"), you agree to comply with all the terms of the Full Project\nGutenberg-tm License (available with this file or online at\nhttp://gutenberg.org/license).\n\n\nSection 1.  General Terms of Use and Redistributing Project Gutenberg-tm\nelectronic works\n\n1.A.  By reading or using any part of this Project Gutenberg-tm\nelectronic work, you indicate that you have read, understand, agree to\nand accept all the terms of this license and intellectual property\n(trademark/copyright) agreement.  If you do not agree to abide by all\nthe terms of this agreement, you must cease using and return or destroy\nall copies of Project Gutenberg-tm electronic works in your possession.\nIf you paid a fee for obtaining a copy of or access to a Project\nGutenberg-tm electronic work and you do not agree to be bound by the\nterms of this agreement, you may obtain a refund from the person or\nentity to whom you paid the fee as set forth in paragraph 1.E.8.\n\n1.B.  \"Project Gutenberg\" is a registered trademark.  It may only be\nused on or associated in any way with an electronic work by people who\nagree to be bound by the terms of this agreement.  There are a few\nthings that you can do with most Project Gutenberg-tm electronic works\neven without complying with the full terms of this agreement.  See\nparagraph 1.C below.  There are a lot of things you can do with Project\nGutenberg-tm electronic works if you follow the terms of this agreement\nand help preserve free future access to Project Gutenberg-tm electronic\nworks.  See paragraph 1.E below.\n\n1.C.  The Project Gutenberg Literary Archive Foundation (\"the Foundation\"\nor PGLAF), owns a compilation copyright in the collection of Project\nGutenberg-tm electronic works.  Nearly all the individual works in the\ncollection are in the public domain in the United States.  If an\nindividual work is in the public domain in the United States and you are\nlocated in the United States, we do not claim a right to prevent you from\ncopying, distributing, performing, displaying or creating derivative\nworks based on the work as long as all references to Project Gutenberg\nare removed.  Of course, we hope that you will support the Project\nGutenberg-tm mission of promoting free access to electronic works by\nfreely sharing Project Gutenberg-tm works in compliance with the terms of\nthis agreement for keeping the Project Gutenberg-tm name associated with\nthe work.  You can easily comply with the terms of this agreement by\nkeeping this work in the same format with its attached full Project\nGutenberg-tm License when you share it without charge with others.\n\n1.D.  The copyright laws of the place where you are located also govern\nwhat you can do with this work.  Copyright laws in most countries are in\na constant state of change.  If you are outside the United States, check\nthe laws of your country in addition to the terms of this agreement\nbefore downloading, copying, displaying, performing, distributing or\ncreating derivative works based on this work or any other Project\nGutenberg-tm work.  The Foundation makes no representations concerning\nthe copyright status of any work in any country outside the United\nStates.\n\n1.E.  Unless you have removed all references to Project Gutenberg:\n\n1.E.1.  The following sentence, with active links to, or other immediate\naccess to, the full Project Gutenberg-tm License must appear prominently\nwhenever any copy of a Project Gutenberg-tm work (any work on which the\nphrase \"Project Gutenberg\" appears, or with which the phrase \"Project\nGutenberg\" is associated) is accessed, displayed, performed, viewed,\ncopied or distributed:\n\nThis eBook is for the use of anyone anywhere at no cost and with\nalmost no restrictions whatsoever.  You may copy it, give it away or\nre-use it under the terms of the Project Gutenberg License included\nwith this eBook or online at www.gutenberg.org\n\n1.E.2.  If an individual Project Gutenberg-tm electronic work is derived\nfrom the public domain (does not contain a notice indicating that it is\nposted with permission of the copyright holder), the work can be copied\nand distributed to anyone in the United States without paying any fees\nor charges.  If you are redistributing or providing access to a work\nwith the phrase \"Project Gutenberg\" associated with or appearing on the\nwork, you must comply either with the requirements of paragraphs 1.E.1\nthrough 1.E.7 or obtain permission for the use of the work and the\nProject Gutenberg-tm trademark as set forth in paragraphs 1.E.8 or\n1.E.9.\n\n1.E.3.  If an individual Project Gutenberg-tm electronic work is posted\nwith the permission of the copyright holder, your use and distribution\nmust comply with both paragraphs 1.E.1 through 1.E.7 and any additional\nterms imposed by the copyright holder.  Additional terms will be linked\nto the Project Gutenberg-tm License for all works posted with the\npermission of the copyright holder found at the beginning of this work.\n\n1.E.4.  Do not unlink or detach or remove the full Project Gutenberg-tm\nLicense terms from this work, or any files containing a part of this\nwork or any other work associated with Project Gutenberg-tm.\n\n1.E.5.  Do not copy, display, perform, distribute or redistribute this\nelectronic work, or any part of this electronic work, without\nprominently displaying the sentence set forth in paragraph 1.E.1 with\nactive links or immediate access to the full terms of the Project\nGutenberg-tm License.\n\n1.E.6.  You may convert to and distribute this work in any binary,\ncompressed, marked up, nonproprietary or proprietary form, including any\nword processing or hypertext form.  However, if you provide access to or\ndistribute copies of a Project Gutenberg-tm work in a format other than\n\"Plain Vanilla ASCII\" or other format used in the official version\nposted on the official Project Gutenberg-tm web site (www.gutenberg.org),\nyou must, at no additional cost, fee or expense to the user, provide a\ncopy, a means of exporting a copy, or a means of obtaining a copy upon\nrequest, of the work in its original \"Plain Vanilla ASCII\" or other\nform.  Any alternate format must include the full Project Gutenberg-tm\nLicense as specified in paragraph 1.E.1.\n\n1.E.7.  Do not charge a fee for access to, viewing, displaying,\nperforming, copying or distributing any Project Gutenberg-tm works\nunless you comply with paragraph 1.E.8 or 1.E.9.\n\n1.E.8.  You may charge a reasonable fee for copies of or providing\naccess to or distributing Project Gutenberg-tm electronic works provided\nthat\n\n- You pay a royalty fee of 20% of the gross profits you derive from\n     the use of Project Gutenberg-tm works calculated using the method\n     you already use to calculate your applicable taxes.  The fee is\n     owed to the owner of the Project Gutenberg-tm trademark, but he\n     has agreed to donate royalties under this paragraph to the\n     Project Gutenberg Literary Archive Foundation.  Royalty payments\n     must be paid within 60 days following each date on which you\n     prepare (or are legally required to prepare) your periodic tax\n     returns.  Royalty payments should be clearly marked as such and\n     sent to the Project Gutenberg Literary Archive Foundation at the\n     address specified in Section 4, \"Information about donations to\n     the Project Gutenberg Literary Archive Foundation.\"\n\n- You provide a full refund of any money paid by a user who notifies\n     you in writing (or by e-mail) within 30 days of receipt that s/he\n     does not agree to the terms of the full Project Gutenberg-tm\n     License.  You must require such a user to return or\n     destroy all copies of the works possessed in a physical medium\n     and discontinue all use of and all access to other copies of\n     Project Gutenberg-tm works.\n\n- You provide, in accordance with paragraph 1.F.3, a full refund of any\n     money paid for a work or a replacement copy, if a defect in the\n     electronic work is discovered and reported to you within 90 days\n     of receipt of the work.\n\n- You comply with all other terms of this agreement for free\n     distribution of Project Gutenberg-tm works.\n\n1.E.9.  If you wish to charge a fee or distribute a Project Gutenberg-tm\nelectronic work or group of works on different terms than are set\nforth in this agreement, you must obtain permission in writing from\nboth the Project Gutenberg Literary Archive Foundation and Michael\nHart, the owner of the Project Gutenberg-tm trademark.  Contact the\nFoundation as set forth in Section 3 below.\n\n1.F.\n\n1.F.1.  Project Gutenberg volunteers and employees expend considerable\neffort to identify, do copyright research on, transcribe and proofread\npublic domain works in creating the Project Gutenberg-tm\ncollection.  Despite these efforts, Project Gutenberg-tm electronic\nworks, and the medium on which they may be stored, may contain\n\"Defects,\" such as, but not limited to, incomplete, inaccurate or\ncorrupt data, transcription errors, a copyright or other intellectual\nproperty infringement, a defective or damaged disk or other medium, a\ncomputer virus, or computer codes that damage or cannot be read by\nyour equipment.\n\n1.F.2.  LIMITED WARRANTY, DISCLAIMER OF DAMAGES - Except for the \"Right\nof Replacement or Refund\" described in paragraph 1.F.3, the Project\nGutenberg Literary Archive Foundation, the owner of the Project\nGutenberg-tm trademark, and any other party distributing a Project\nGutenberg-tm electronic work under this agreement, disclaim all\nliability to you for damages, costs and expenses, including legal\nfees.  YOU AGREE THAT YOU HAVE NO REMEDIES FOR NEGLIGENCE, STRICT\nLIABILITY, BREACH OF WARRANTY OR BREACH OF CONTRACT EXCEPT THOSE\nPROVIDED IN PARAGRAPH F3.  YOU AGREE THAT THE FOUNDATION, THE\nTRADEMARK OWNER, AND ANY DISTRIBUTOR UNDER THIS AGREEMENT WILL NOT BE\nLIABLE TO YOU FOR ACTUAL, DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE OR\nINCIDENTAL DAMAGES EVEN IF YOU GIVE NOTICE OF THE POSSIBILITY OF SUCH\nDAMAGE.\n\n1.F.3.  LIMITED RIGHT OF REPLACEMENT OR REFUND - If you discover a\ndefect in this electronic work within 90 days of receiving it, you can\nreceive a refund of the money (if any) you paid for it by sending a\nwritten explanation to the person you received the work from.  If you\nreceived the work on a physical medium, you must return the medium with\nyour written explanation.  The person or entity that provided you with\nthe defective work may elect to provide a replacement copy in lieu of a\nrefund.  If you received the work electronically, the person or entity\nproviding it to you may choose to give you a second opportunity to\nreceive the work electronically in lieu of a refund.  If the second copy\nis also defective, you may demand a refund in writing without further\nopportunities to fix the problem.\n\n1.F.4.  Except for the limited right of replacement or refund set forth\nin paragraph 1.F.3, this work is provided to you 'AS-IS' WITH NO OTHER\nWARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO\nWARRANTIES OF MERCHANTIBILITY OR FITNESS FOR ANY PURPOSE.\n\n1.F.5.  Some states do not allow disclaimers of certain implied\nwarranties or the exclusion or limitation of certain types of damages.\nIf any disclaimer or limitation set forth in this agreement violates the\nlaw of the state applicable to this agreement, the agreement shall be\ninterpreted to make the maximum disclaimer or limitation permitted by\nthe applicable state law.  The invalidity or unenforceability of any\nprovision of this agreement shall not void the remaining provisions.\n\n1.F.6.  INDEMNITY - You agree to indemnify and hold the Foundation, the\ntrademark owner, any agent or employee of the Foundation, anyone\nproviding copies of Project Gutenberg-tm electronic works in accordance\nwith this agreement, and any volunteers associated with the production,\npromotion and distribution of Project Gutenberg-tm electronic works,\nharmless from all liability, costs and expenses, including legal fees,\nthat arise directly or indirectly from any of the following which you do\nor cause to occur: (a) distribution of this or any Project Gutenberg-tm\nwork, (b) alteration, modification, or additions or deletions to any\nProject Gutenberg-tm work, and (c) any Defect you cause.\n\n\nSection  2.  Information about the Mission of Project Gutenberg-tm\n\nProject Gutenberg-tm is synonymous with the free distribution of\nelectronic works in formats readable by the widest variety of computers\nincluding obsolete, old, middle-aged and new computers.  It exists\nbecause of the efforts of hundreds of volunteers and donations from\npeople in all walks of life.\n\nVolunteers and financial support to provide volunteers with the\nassistance they need, is critical to reaching Project Gutenberg-tm's\ngoals and ensuring that the Project Gutenberg-tm collection will\nremain freely available for generations to come.  In 2001, the Project\nGutenberg Literary Archive Foundation was created to provide a secure\nand permanent future for Project Gutenberg-tm and future generations.\nTo learn more about the Project Gutenberg Literary Archive Foundation\nand how your efforts and donations can help, see Sections 3 and 4\nand the Foundation web page at http://www.pglaf.org.\n\n\nSection 3.  Information about the Project Gutenberg Literary Archive\nFoundation\n\nThe Project Gutenberg Literary Archive Foundation is a non profit\n501(c)(3) educational corporation organized under the laws of the\nstate of Mississippi and granted tax exempt status by the Internal\nRevenue Service.  The Foundation's EIN or federal tax identification\nnumber is 64-6221541.  Its 501(c)(3) letter is posted at\nhttp://pglaf.org/fundraising.  Contributions to the Project Gutenberg\nLiterary Archive Foundation are tax deductible to the full extent\npermitted by U.S. federal laws and your state's laws.\n\nThe Foundation's principal office is located at 4557 Melan Dr. S.\nFairbanks, AK, 99712., but its volunteers and employees are scattered\nthroughout numerous locations.  Its business office is located at\n809 North 1500 West, Salt Lake City, UT 84116, (801) 596-1887, email\nbusiness@pglaf.org.  Email contact links and up to date contact\ninformation can be found at the Foundation's web site and official\npage at http://pglaf.org\n\nFor additional contact information:\n     Dr. Gregory B. Newby\n     Chief Executive and Director\n     gbnewby@pglaf.org\n\n\nSection 4.  Information about Donations to the Project Gutenberg\nLiterary Archive Foundation\n\nProject Gutenberg-tm depends upon and cannot survive without wide\nspread public support and donations to carry out its mission of\nincreasing the number of public domain and licensed works that can be\nfreely distributed in machine readable form accessible by the widest\narray of equipment including outdated equipment.  Many small donations\n($1 to $5,000) are particularly important to maintaining tax exempt\nstatus with the IRS.\n\nThe Foundation is committed to complying with the laws regulating\ncharities and charitable donations in all 50 states of the United\nStates.  Compliance requirements are not uniform and it takes a\nconsiderable effort, much paperwork and many fees to meet and keep up\nwith these requirements.  We do not solicit donations in locations\nwhere we have not received written confirmation of compliance.  To\nSEND DONATIONS or determine the status of compliance for any\nparticular state visit http://pglaf.org\n\nWhile we cannot and do not solicit contributions from states where we\nhave not met the solicitation requirements, we know of no prohibition\nagainst accepting unsolicited donations from donors in such states who\napproach us with offers to donate.\n\nInternational donations are gratefully accepted, but we cannot make\nany statements concerning tax treatment of donations received from\noutside the United States.  U.S. laws alone swamp our small staff.\n\nPlease check the Project Gutenberg Web pages for current donation\nmethods and addresses.  Donations are accepted in a number of other\nways including checks, online payments and credit card donations.\nTo donate, please visit: http://pglaf.org/donate\n\n\nSection 5.  General Information About Project Gutenberg-tm electronic\nworks.\n\nProfessor Michael S. Hart is the originator of the Project Gutenberg-tm\nconcept of a library of electronic works that could be freely shared\nwith anyone.  For thirty years, he produced and distributed Project\nGutenberg-tm eBooks with only a loose network of volunteer support.\n\n\nProject Gutenberg-tm eBooks are often created from several printed\neditions, all of which are confirmed as Public Domain in the U.S.\nunless a copyright notice is included.  Thus, we do not necessarily\nkeep eBooks in compliance with any particular paper edition.\n\n\nMost people start at our Web site which has the main PG search facility:\n\n     http://www.gutenberg.org\n\nThis Web site includes information about Project Gutenberg-tm,\nincluding how to make donations to the Project Gutenberg Literary\nArchive Foundation, how to help produce our new eBooks, and how to\nsubscribe to our email newsletter to hear about new eBooks.\n"
  },
  {
    "path": "editions/dynaviewdemo/tiddlers/alice/Alice in Wonderland.tid",
    "content": "title: Alice in Wonderland\n\n# ALICE'S ADVENTURES IN WONDERLAND\n\n## Lewis Carroll\n\nTHE MILLENNIUM FULCRUM EDITION 3.0\n\n!!! CHAPTER I. Down the Rabbit-Hole\n\nAlice was beginning to get very tired of sitting by her sister on the\nbank, and of having nothing to do: once or twice she had peeped into the\nbook her sister was reading, but it had no pictures or conversations in\nit, 'and what is the use of a book,' thought Alice 'without pictures or\nconversations?'\n\nSo she was considering in her own mind (as well as she could, for the\nhot day made her feel very sleepy and stupid), whether the pleasure\nof making a daisy-chain would be worth the trouble of getting up and\npicking the daisies, when suddenly a White Rabbit with pink eyes ran\nclose by her.\n\nThere was nothing so VERY remarkable in that; nor did Alice think it so\nVERY much out of the way to hear the Rabbit say to itself, 'Oh dear!\nOh dear! I shall be late!' (when she thought it over afterwards, it\noccurred to her that she ought to have wondered at this, but at the time\nit all seemed quite natural); but when the Rabbit actually TOOK A WATCH\nOUT OF ITS WAISTCOAT-POCKET, and looked at it, and then hurried on,\nAlice started to her feet, for it flashed across her mind that she had\nnever before seen a rabbit with either a waistcoat-pocket, or a watch\nto take out of it, and burning with curiosity, she ran across the field\nafter it, and fortunately was just in time to see it pop down a large\nrabbit-hole under the hedge.\n\nIn another moment down went Alice after it, never once considering how\nin the world she was to get out again.\n\nThe rabbit-hole went straight on like a tunnel for some way, and then\ndipped suddenly down, so suddenly that Alice had not a moment to think\nabout stopping herself before she found herself falling down a very deep\nwell.\n\nEither the well was very deep, or she fell very slowly, for she had\nplenty of time as she went down to look about her and to wonder what was\ngoing to happen next. First, she tried to look down and make out what\nshe was coming to, but it was too dark to see anything; then she\nlooked at the sides of the well, and noticed that they were filled with\ncupboards and book-shelves; here and there she saw maps and pictures\nhung upon pegs. She took down a jar from one of the shelves as\nshe passed; it was labelled 'ORANGE MARMALADE', but to her great\ndisappointment it was empty: she did not like to drop the jar for fear\nof killing somebody, so managed to put it into one of the cupboards as\nshe fell past it.\n\n'Well!' thought Alice to herself, 'after such a fall as this, I shall\nthink nothing of tumbling down stairs! How brave they'll all think me at\nhome! Why, I wouldn't say anything about it, even if I fell off the top\nof the house!' (Which was very likely true.)\n\nDown, down, down. Would the fall NEVER come to an end! 'I wonder how\nmany miles I've fallen by this time?' she said aloud. 'I must be getting\nsomewhere near the centre of the earth. Let me see: that would be four\nthousand miles down, I think--' (for, you see, Alice had learnt several\nthings of this sort in her lessons in the schoolroom, and though this\nwas not a VERY good opportunity for showing off her knowledge, as there\nwas no one to listen to her, still it was good practice to say it over)\n'--yes, that's about the right distance--but then I wonder what Latitude\nor Longitude I've got to?' (Alice had no idea what Latitude was, or\nLongitude either, but thought they were nice grand words to say.)\n\nPresently she began again. 'I wonder if I shall fall right THROUGH the\nearth! How funny it'll seem to come out among the people that walk with\ntheir heads downward! The Antipathies, I think--' (she was rather glad\nthere WAS no one listening, this time, as it didn't sound at all the\nright word) '--but I shall have to ask them what the name of the country\nis, you know. Please, Ma'am, is this New Zealand or Australia?' (and\nshe tried to curtsey as she spoke--fancy CURTSEYING as you're falling\nthrough the air! Do you think you could manage it?) 'And what an\nignorant little girl she'll think me for asking! No, it'll never do to\nask: perhaps I shall see it written up somewhere.'\n\nDown, down, down. There was nothing else to do, so Alice soon began\ntalking again. 'Dinah'll miss me very much to-night, I should think!'\n(Dinah was the cat.) 'I hope they'll remember her saucer of milk at\ntea-time. Dinah my dear! I wish you were down here with me! There are no\nmice in the air, I'm afraid, but you might catch a bat, and that's very\nlike a mouse, you know. But do cats eat bats, I wonder?' And here Alice\nbegan to get rather sleepy, and went on saying to herself, in a dreamy\nsort of way, 'Do cats eat bats? Do cats eat bats?' and sometimes, 'Do\nbats eat cats?' for, you see, as she couldn't answer either question,\nit didn't much matter which way she put it. She felt that she was dozing\noff, and had just begun to dream that she was walking hand in hand with\nDinah, and saying to her very earnestly, 'Now, Dinah, tell me the truth:\ndid you ever eat a bat?' when suddenly, thump! thump! down she came upon\na heap of sticks and dry leaves, and the fall was over.\n\nAlice was not a bit hurt, and she jumped up on to her feet in a moment:\nshe looked up, but it was all dark overhead; before her was another\nlong passage, and the White Rabbit was still in sight, hurrying down it.\nThere was not a moment to be lost: away went Alice like the wind, and\nwas just in time to hear it say, as it turned a corner, 'Oh my ears\nand whiskers, how late it's getting!' She was close behind it when she\nturned the corner, but the Rabbit was no longer to be seen: she found\nherself in a long, low hall, which was lit up by a row of lamps hanging\nfrom the roof.\n\nThere were doors all round the hall, but they were all locked; and when\nAlice had been all the way down one side and up the other, trying every\ndoor, she walked sadly down the middle, wondering how she was ever to\nget out again.\n\nSuddenly she came upon a little three-legged table, all made of solid\nglass; there was nothing on it except a tiny golden key, and Alice's\nfirst thought was that it might belong to one of the doors of the hall;\nbut, alas! either the locks were too large, or the key was too small,\nbut at any rate it would not open any of them. However, on the second\ntime round, she came upon a low curtain she had not noticed before, and\nbehind it was a little door about fifteen inches high: she tried the\nlittle golden key in the lock, and to her great delight it fitted!\n\nAlice opened the door and found that it led into a small passage, not\nmuch larger than a rat-hole: she knelt down and looked along the passage\ninto the loveliest garden you ever saw. How she longed to get out of\nthat dark hall, and wander about among those beds of bright flowers and\nthose cool fountains, but she could not even get her head through the\ndoorway; 'and even if my head would go through,' thought poor Alice, 'it\nwould be of very little use without my shoulders. Oh, how I wish I could\nshut up like a telescope! I think I could, if I only knew how to begin.'\nFor, you see, so many out-of-the-way things had happened lately,\nthat Alice had begun to think that very few things indeed were really\nimpossible.\n\nThere seemed to be no use in waiting by the little door, so she went\nback to the table, half hoping she might find another key on it, or at\nany rate a book of rules for shutting people up like telescopes: this\ntime she found a little bottle on it, ('which certainly was not here\nbefore,' said Alice,) and round the neck of the bottle was a paper\nlabel, with the words 'DRINK ME' beautifully printed on it in large\nletters.\n\nIt was all very well to say 'Drink me,' but the wise little Alice was\nnot going to do THAT in a hurry. 'No, I'll look first,' she said, 'and\nsee whether it's marked \"poison\" or not'; for she had read several nice\nlittle histories about children who had got burnt, and eaten up by wild\nbeasts and other unpleasant things, all because they WOULD not remember\nthe simple rules their friends had taught them: such as, that a red-hot\npoker will burn you if you hold it too long; and that if you cut your\nfinger VERY deeply with a knife, it usually bleeds; and she had never\nforgotten that, if you drink much from a bottle marked 'poison,' it is\nalmost certain to disagree with you, sooner or later.\n\nHowever, this bottle was NOT marked 'poison,' so Alice ventured to taste\nit, and finding it very nice, (it had, in fact, a sort of mixed flavour\nof cherry-tart, custard, pine-apple, roast turkey, toffee, and hot\nbuttered toast,) she very soon finished it off.\n\n  *    *    *    *    *    *    *\n\n    *    *    *    *    *    *\n\n  *    *    *    *    *    *    *\n\n'What a curious feeling!' said Alice; 'I must be shutting up like a\ntelescope.'\n\nAnd so it was indeed: she was now only ten inches high, and her face\nbrightened up at the thought that she was now the right size for going\nthrough the little door into that lovely garden. First, however, she\nwaited for a few minutes to see if she was going to shrink any further:\nshe felt a little nervous about this; 'for it might end, you know,' said\nAlice to herself, 'in my going out altogether, like a candle. I wonder\nwhat I should be like then?' And she tried to fancy what the flame of a\ncandle is like after the candle is blown out, for she could not remember\never having seen such a thing.\n\nAfter a while, finding that nothing more happened, she decided on going\ninto the garden at once; but, alas for poor Alice! when she got to the\ndoor, she found she had forgotten the little golden key, and when she\nwent back to the table for it, she found she could not possibly reach\nit: she could see it quite plainly through the glass, and she tried her\nbest to climb up one of the legs of the table, but it was too slippery;\nand when she had tired herself out with trying, the poor little thing\nsat down and cried.\n\n'Come, there's no use in crying like that!' said Alice to herself,\nrather sharply; 'I advise you to leave off this minute!' She generally\ngave herself very good advice, (though she very seldom followed it),\nand sometimes she scolded herself so severely as to bring tears into\nher eyes; and once she remembered trying to box her own ears for having\ncheated herself in a game of croquet she was playing against herself,\nfor this curious child was very fond of pretending to be two people.\n'But it's no use now,' thought poor Alice, 'to pretend to be two people!\nWhy, there's hardly enough of me left to make ONE respectable person!'\n\nSoon her eye fell on a little glass box that was lying under the table:\nshe opened it, and found in it a very small cake, on which the words\n'EAT ME' were beautifully marked in currants. 'Well, I'll eat it,' said\nAlice, 'and if it makes me grow larger, I can reach the key; and if it\nmakes me grow smaller, I can creep under the door; so either way I'll\nget into the garden, and I don't care which happens!'\n\nShe ate a little bit, and said anxiously to herself, 'Which way? Which\nway?', holding her hand on the top of her head to feel which way it was\ngrowing, and she was quite surprised to find that she remained the same\nsize: to be sure, this generally happens when one eats cake, but Alice\nhad got so much into the way of expecting nothing but out-of-the-way\nthings to happen, that it seemed quite dull and stupid for life to go on\nin the common way.\n\nSo she set to work, and very soon finished off the cake.\n\n  *    *    *    *    *    *    *\n\n    *    *    *    *    *    *\n\n  *    *    *    *    *    *    *\n\n\n\n\n!!! CHAPTER II. The Pool of Tears\n\n'Curiouser and curiouser!' cried Alice (she was so much surprised, that\nfor the moment she quite forgot how to speak good English); 'now I'm\nopening out like the largest telescope that ever was! Good-bye, feet!'\n(for when she looked down at her feet, they seemed to be almost out of\nsight, they were getting so far off). 'Oh, my poor little feet, I wonder\nwho will put on your shoes and stockings for you now, dears? I'm sure\n_I_ shan't be able! I shall be a great deal too far off to trouble\nmyself about you: you must manage the best way you can;--but I must be\nkind to them,' thought Alice, 'or perhaps they won't walk the way I want\nto go! Let me see: I'll give them a new pair of boots every Christmas.'\n\nAnd she went on planning to herself how she would manage it. 'They must\ngo by the carrier,' she thought; 'and how funny it'll seem, sending\npresents to one's own feet! And how odd the directions will look!\n\n     ALICE'S RIGHT FOOT, ESQ.\n       HEARTHRUG,\n         NEAR THE FENDER,\n           (WITH ALICE'S LOVE).\n\nOh dear, what nonsense I'm talking!'\n\nJust then her head struck against the roof of the hall: in fact she was\nnow more than nine feet high, and she at once took up the little golden\nkey and hurried off to the garden door.\n\nPoor Alice! It was as much as she could do, lying down on one side, to\nlook through into the garden with one eye; but to get through was more\nhopeless than ever: she sat down and began to cry again.\n\n'You ought to be ashamed of yourself,' said Alice, 'a great girl like\nyou,' (she might well say this), 'to go on crying in this way! Stop this\nmoment, I tell you!' But she went on all the same, shedding gallons of\ntears, until there was a large pool all round her, about four inches\ndeep and reaching half down the hall.\n\nAfter a time she heard a little pattering of feet in the distance, and\nshe hastily dried her eyes to see what was coming. It was the White\nRabbit returning, splendidly dressed, with a pair of white kid gloves in\none hand and a large fan in the other: he came trotting along in a great\nhurry, muttering to himself as he came, 'Oh! the Duchess, the Duchess!\nOh! won't she be savage if I've kept her waiting!' Alice felt so\ndesperate that she was ready to ask help of any one; so, when the Rabbit\ncame near her, she began, in a low, timid voice, 'If you please, sir--'\nThe Rabbit started violently, dropped the white kid gloves and the fan,\nand skurried away into the darkness as hard as he could go.\n\nAlice took up the fan and gloves, and, as the hall was very hot, she\nkept fanning herself all the time she went on talking: 'Dear, dear! How\nqueer everything is to-day! And yesterday things went on just as usual.\nI wonder if I've been changed in the night? Let me think: was I the\nsame when I got up this morning? I almost think I can remember feeling a\nlittle different. But if I'm not the same, the next question is, Who\nin the world am I? Ah, THAT'S the great puzzle!' And she began thinking\nover all the children she knew that were of the same age as herself, to\nsee if she could have been changed for any of them.\n\n'I'm sure I'm not Ada,' she said, 'for her hair goes in such long\nringlets, and mine doesn't go in ringlets at all; and I'm sure I can't\nbe Mabel, for I know all sorts of things, and she, oh! she knows such a\nvery little! Besides, SHE'S she, and I'm I, and--oh dear, how puzzling\nit all is! I'll try if I know all the things I used to know. Let me\nsee: four times five is twelve, and four times six is thirteen, and\nfour times seven is--oh dear! I shall never get to twenty at that rate!\nHowever, the Multiplication Table doesn't signify: let's try Geography.\nLondon is the capital of Paris, and Paris is the capital of Rome, and\nRome--no, THAT'S all wrong, I'm certain! I must have been changed for\nMabel! I'll try and say \"How doth the little--\"' and she crossed her\nhands on her lap as if she were saying lessons, and began to repeat it,\nbut her voice sounded hoarse and strange, and the words did not come the\nsame as they used to do:--\n\n     'How doth the little crocodile\n      Improve his shining tail,\n     And pour the waters of the Nile\n      On every golden scale!\n\n     'How cheerfully he seems to grin,\n      How neatly spread his claws,\n     And welcome little fishes in\n      With gently smiling jaws!'\n\n'I'm sure those are not the right words,' said poor Alice, and her eyes\nfilled with tears again as she went on, 'I must be Mabel after all, and\nI shall have to go and live in that poky little house, and have next to\nno toys to play with, and oh! ever so many lessons to learn! No, I've\nmade up my mind about it; if I'm Mabel, I'll stay down here! It'll be no\nuse their putting their heads down and saying \"Come up again, dear!\" I\nshall only look up and say \"Who am I then? Tell me that first, and then,\nif I like being that person, I'll come up: if not, I'll stay down here\ntill I'm somebody else\"--but, oh dear!' cried Alice, with a sudden burst\nof tears, 'I do wish they WOULD put their heads down! I am so VERY tired\nof being all alone here!'\n\nAs she said this she looked down at her hands, and was surprised to see\nthat she had put on one of the Rabbit's little white kid gloves while\nshe was talking. 'How CAN I have done that?' she thought. 'I must\nbe growing small again.' She got up and went to the table to measure\nherself by it, and found that, as nearly as she could guess, she was now\nabout two feet high, and was going on shrinking rapidly: she soon found\nout that the cause of this was the fan she was holding, and she dropped\nit hastily, just in time to avoid shrinking away altogether.\n\n'That WAS a narrow escape!' said Alice, a good deal frightened at the\nsudden change, but very glad to find herself still in existence; 'and\nnow for the garden!' and she ran with all speed back to the little door:\nbut, alas! the little door was shut again, and the little golden key was\nlying on the glass table as before, 'and things are worse than ever,'\nthought the poor child, 'for I never was so small as this before, never!\nAnd I declare it's too bad, that it is!'\n\nAs she said these words her foot slipped, and in another moment, splash!\nshe was up to her chin in salt water. Her first idea was that she\nhad somehow fallen into the sea, 'and in that case I can go back by\nrailway,' she said to herself. (Alice had been to the seaside once in\nher life, and had come to the general conclusion, that wherever you go\nto on the English coast you find a number of bathing machines in the\nsea, some children digging in the sand with wooden spades, then a row\nof lodging houses, and behind them a railway station.) However, she soon\nmade out that she was in the pool of tears which she had wept when she\nwas nine feet high.\n\n'I wish I hadn't cried so much!' said Alice, as she swam about, trying\nto find her way out. 'I shall be punished for it now, I suppose, by\nbeing drowned in my own tears! That WILL be a queer thing, to be sure!\nHowever, everything is queer to-day.'\n\nJust then she heard something splashing about in the pool a little way\noff, and she swam nearer to make out what it was: at first she thought\nit must be a walrus or hippopotamus, but then she remembered how small\nshe was now, and she soon made out that it was only a mouse that had\nslipped in like herself.\n\n'Would it be of any use, now,' thought Alice, 'to speak to this mouse?\nEverything is so out-of-the-way down here, that I should think very\nlikely it can talk: at any rate, there's no harm in trying.' So she\nbegan: 'O Mouse, do you know the way out of this pool? I am very tired\nof swimming about here, O Mouse!' (Alice thought this must be the right\nway of speaking to a mouse: she had never done such a thing before, but\nshe remembered having seen in her brother's Latin Grammar, 'A mouse--of\na mouse--to a mouse--a mouse--O mouse!') The Mouse looked at her rather\ninquisitively, and seemed to her to wink with one of its little eyes,\nbut it said nothing.\n\n'Perhaps it doesn't understand English,' thought Alice; 'I daresay it's\na French mouse, come over with William the Conqueror.' (For, with all\nher knowledge of history, Alice had no very clear notion how long ago\nanything had happened.) So she began again: 'Ou est ma chatte?' which\nwas the first sentence in her French lesson-book. The Mouse gave a\nsudden leap out of the water, and seemed to quiver all over with fright.\n'Oh, I beg your pardon!' cried Alice hastily, afraid that she had hurt\nthe poor animal's feelings. 'I quite forgot you didn't like cats.'\n\n'Not like cats!' cried the Mouse, in a shrill, passionate voice. 'Would\nYOU like cats if you were me?'\n\n'Well, perhaps not,' said Alice in a soothing tone: 'don't be angry\nabout it. And yet I wish I could show you our cat Dinah: I think you'd\ntake a fancy to cats if you could only see her. She is such a dear quiet\nthing,' Alice went on, half to herself, as she swam lazily about in the\npool, 'and she sits purring so nicely by the fire, licking her paws and\nwashing her face--and she is such a nice soft thing to nurse--and she's\nsuch a capital one for catching mice--oh, I beg your pardon!' cried\nAlice again, for this time the Mouse was bristling all over, and she\nfelt certain it must be really offended. 'We won't talk about her any\nmore if you'd rather not.'\n\n'We indeed!' cried the Mouse, who was trembling down to the end of his\ntail. 'As if I would talk on such a subject! Our family always HATED\ncats: nasty, low, vulgar things! Don't let me hear the name again!'\n\n'I won't indeed!' said Alice, in a great hurry to change the subject of\nconversation. 'Are you--are you fond--of--of dogs?' The Mouse did not\nanswer, so Alice went on eagerly: 'There is such a nice little dog near\nour house I should like to show you! A little bright-eyed terrier, you\nknow, with oh, such long curly brown hair! And it'll fetch things when\nyou throw them, and it'll sit up and beg for its dinner, and all sorts\nof things--I can't remember half of them--and it belongs to a farmer,\nyou know, and he says it's so useful, it's worth a hundred pounds! He\nsays it kills all the rats and--oh dear!' cried Alice in a sorrowful\ntone, 'I'm afraid I've offended it again!' For the Mouse was swimming\naway from her as hard as it could go, and making quite a commotion in\nthe pool as it went.\n\nSo she called softly after it, 'Mouse dear! Do come back again, and we\nwon't talk about cats or dogs either, if you don't like them!' When the\nMouse heard this, it turned round and swam slowly back to her: its\nface was quite pale (with passion, Alice thought), and it said in a low\ntrembling voice, 'Let us get to the shore, and then I'll tell you my\nhistory, and you'll understand why it is I hate cats and dogs.'\n\nIt was high time to go, for the pool was getting quite crowded with the\nbirds and animals that had fallen into it: there were a Duck and a Dodo,\na Lory and an Eaglet, and several other curious creatures. Alice led the\nway, and the whole party swam to the shore.\n\n\n\n\n!!! CHAPTER III. A Caucus-Race and a Long Tale\n\nThey were indeed a queer-looking party that assembled on the bank--the\nbirds with draggled feathers, the animals with their fur clinging close\nto them, and all dripping wet, cross, and uncomfortable.\n\nThe first question of course was, how to get dry again: they had a\nconsultation about this, and after a few minutes it seemed quite natural\nto Alice to find herself talking familiarly with them, as if she had\nknown them all her life. Indeed, she had quite a long argument with the\nLory, who at last turned sulky, and would only say, 'I am older than\nyou, and must know better'; and this Alice would not allow without\nknowing how old it was, and, as the Lory positively refused to tell its\nage, there was no more to be said.\n\nAt last the Mouse, who seemed to be a person of authority among them,\ncalled out, 'Sit down, all of you, and listen to me! I'LL soon make you\ndry enough!' They all sat down at once, in a large ring, with the Mouse\nin the middle. Alice kept her eyes anxiously fixed on it, for she felt\nsure she would catch a bad cold if she did not get dry very soon.\n\n'Ahem!' said the Mouse with an important air, 'are you all ready? This\nis the driest thing I know. Silence all round, if you please! \"William\nthe Conqueror, whose cause was favoured by the pope, was soon submitted\nto by the English, who wanted leaders, and had been of late much\naccustomed to usurpation and conquest. Edwin and Morcar, the earls of\nMercia and Northumbria--\"'\n\n'Ugh!' said the Lory, with a shiver.\n\n'I beg your pardon!' said the Mouse, frowning, but very politely: 'Did\nyou speak?'\n\n'Not I!' said the Lory hastily.\n\n'I thought you did,' said the Mouse. '--I proceed. \"Edwin and Morcar,\nthe earls of Mercia and Northumbria, declared for him: and even Stigand,\nthe patriotic archbishop of Canterbury, found it advisable--\"'\n\n'Found WHAT?' said the Duck.\n\n'Found IT,' the Mouse replied rather crossly: 'of course you know what\n\"it\" means.'\n\n'I know what \"it\" means well enough, when I find a thing,' said the\nDuck: 'it's generally a frog or a worm. The question is, what did the\narchbishop find?'\n\nThe Mouse did not notice this question, but hurriedly went on, '\"--found\nit advisable to go with Edgar Atheling to meet William and offer him the\ncrown. William's conduct at first was moderate. But the insolence of his\nNormans--\" How are you getting on now, my dear?' it continued, turning\nto Alice as it spoke.\n\n'As wet as ever,' said Alice in a melancholy tone: 'it doesn't seem to\ndry me at all.'\n\n'In that case,' said the Dodo solemnly, rising to its feet, 'I move\nthat the meeting adjourn, for the immediate adoption of more energetic\nremedies--'\n\n'Speak English!' said the Eaglet. 'I don't know the meaning of half\nthose long words, and, what's more, I don't believe you do either!' And\nthe Eaglet bent down its head to hide a smile: some of the other birds\ntittered audibly.\n\n'What I was going to say,' said the Dodo in an offended tone, 'was, that\nthe best thing to get us dry would be a Caucus-race.'\n\n'What IS a Caucus-race?' said Alice; not that she wanted much to know,\nbut the Dodo had paused as if it thought that SOMEBODY ought to speak,\nand no one else seemed inclined to say anything.\n\n'Why,' said the Dodo, 'the best way to explain it is to do it.' (And, as\nyou might like to try the thing yourself, some winter day, I will tell\nyou how the Dodo managed it.)\n\nFirst it marked out a race-course, in a sort of circle, ('the exact\nshape doesn't matter,' it said,) and then all the party were placed\nalong the course, here and there. There was no 'One, two, three, and\naway,' but they began running when they liked, and left off when they\nliked, so that it was not easy to know when the race was over. However,\nwhen they had been running half an hour or so, and were quite dry again,\nthe Dodo suddenly called out 'The race is over!' and they all crowded\nround it, panting, and asking, 'But who has won?'\n\nThis question the Dodo could not answer without a great deal of thought,\nand it sat for a long time with one finger pressed upon its forehead\n(the position in which you usually see Shakespeare, in the pictures\nof him), while the rest waited in silence. At last the Dodo said,\n'EVERYBODY has won, and all must have prizes.'\n\n'But who is to give the prizes?' quite a chorus of voices asked.\n\n'Why, SHE, of course,' said the Dodo, pointing to Alice with one finger;\nand the whole party at once crowded round her, calling out in a confused\nway, 'Prizes! Prizes!'\n\nAlice had no idea what to do, and in despair she put her hand in her\npocket, and pulled out a box of comfits, (luckily the salt water had\nnot got into it), and handed them round as prizes. There was exactly one\na-piece all round.\n\n'But she must have a prize herself, you know,' said the Mouse.\n\n'Of course,' the Dodo replied very gravely. 'What else have you got in\nyour pocket?' he went on, turning to Alice.\n\n'Only a thimble,' said Alice sadly.\n\n'Hand it over here,' said the Dodo.\n\nThen they all crowded round her once more, while the Dodo solemnly\npresented the thimble, saying 'We beg your acceptance of this elegant\nthimble'; and, when it had finished this short speech, they all cheered.\n\nAlice thought the whole thing very absurd, but they all looked so grave\nthat she did not dare to laugh; and, as she could not think of anything\nto say, she simply bowed, and took the thimble, looking as solemn as she\ncould.\n\nThe next thing was to eat the comfits: this caused some noise and\nconfusion, as the large birds complained that they could not taste\ntheirs, and the small ones choked and had to be patted on the back.\nHowever, it was over at last, and they sat down again in a ring, and\nbegged the Mouse to tell them something more.\n\n'You promised to tell me your history, you know,' said Alice, 'and why\nit is you hate--C and D,' she added in a whisper, half afraid that it\nwould be offended again.\n\n'Mine is a long and a sad tale!' said the Mouse, turning to Alice, and\nsighing.\n\n'It IS a long tail, certainly,' said Alice, looking down with wonder at\nthe Mouse's tail; 'but why do you call it sad?' And she kept on puzzling\nabout it while the Mouse was speaking, so that her idea of the tale was\nsomething like this:--\n\n         'Fury said to a\n         mouse, That he\n        met in the\n       house,\n     \"Let us\n      both go to\n       law: I will\n        prosecute\n         YOU.--Come,\n           I'll take no\n           denial; We\n          must have a\n        trial: For\n      really this\n     morning I've\n    nothing\n    to do.\"\n     Said the\n      mouse to the\n       cur, \"Such\n        a trial,\n         dear Sir,\n            With\n          no jury\n        or judge,\n       would be\n      wasting\n      our\n      breath.\"\n       \"I'll be\n        judge, I'll\n         be jury,\"\n            Said\n         cunning\n          old Fury:\n          \"I'll\n          try the\n            whole\n            cause,\n              and\n           condemn\n           you\n          to\n           death.\"'\n\n\n'You are not attending!' said the Mouse to Alice severely. 'What are you\nthinking of?'\n\n'I beg your pardon,' said Alice very humbly: 'you had got to the fifth\nbend, I think?'\n\n'I had NOT!' cried the Mouse, sharply and very angrily.\n\n'A knot!' said Alice, always ready to make herself useful, and looking\nanxiously about her. 'Oh, do let me help to undo it!'\n\n'I shall do nothing of the sort,' said the Mouse, getting up and walking\naway. 'You insult me by talking such nonsense!'\n\n'I didn't mean it!' pleaded poor Alice. 'But you're so easily offended,\nyou know!'\n\nThe Mouse only growled in reply.\n\n'Please come back and finish your story!' Alice called after it; and the\nothers all joined in chorus, 'Yes, please do!' but the Mouse only shook\nits head impatiently, and walked a little quicker.\n\n'What a pity it wouldn't stay!' sighed the Lory, as soon as it was quite\nout of sight; and an old Crab took the opportunity of saying to her\ndaughter 'Ah, my dear! Let this be a lesson to you never to lose\nYOUR temper!' 'Hold your tongue, Ma!' said the young Crab, a little\nsnappishly. 'You're enough to try the patience of an oyster!'\n\n'I wish I had our Dinah here, I know I do!' said Alice aloud, addressing\nnobody in particular. 'She'd soon fetch it back!'\n\n'And who is Dinah, if I might venture to ask the question?' said the\nLory.\n\nAlice replied eagerly, for she was always ready to talk about her pet:\n'Dinah's our cat. And she's such a capital one for catching mice you\ncan't think! And oh, I wish you could see her after the birds! Why,\nshe'll eat a little bird as soon as look at it!'\n\nThis speech caused a remarkable sensation among the party. Some of the\nbirds hurried off at once: one old Magpie began wrapping itself up very\ncarefully, remarking, 'I really must be getting home; the night-air\ndoesn't suit my throat!' and a Canary called out in a trembling voice to\nits children, 'Come away, my dears! It's high time you were all in bed!'\nOn various pretexts they all moved off, and Alice was soon left alone.\n\n'I wish I hadn't mentioned Dinah!' she said to herself in a melancholy\ntone. 'Nobody seems to like her, down here, and I'm sure she's the best\ncat in the world! Oh, my dear Dinah! I wonder if I shall ever see you\nany more!' And here poor Alice began to cry again, for she felt very\nlonely and low-spirited. In a little while, however, she again heard\na little pattering of footsteps in the distance, and she looked up\neagerly, half hoping that the Mouse had changed his mind, and was coming\nback to finish his story.\n\n\n\n\n!!! CHAPTER IV. The Rabbit Sends in a Little Bill\n\nIt was the White Rabbit, trotting slowly back again, and looking\nanxiously about as it went, as if it had lost something; and she heard\nit muttering to itself 'The Duchess! The Duchess! Oh my dear paws! Oh\nmy fur and whiskers! She'll get me executed, as sure as ferrets are\nferrets! Where CAN I have dropped them, I wonder?' Alice guessed in a\nmoment that it was looking for the fan and the pair of white kid gloves,\nand she very good-naturedly began hunting about for them, but they were\nnowhere to be seen--everything seemed to have changed since her swim in\nthe pool, and the great hall, with the glass table and the little door,\nhad vanished completely.\n\nVery soon the Rabbit noticed Alice, as she went hunting about, and\ncalled out to her in an angry tone, 'Why, Mary Ann, what ARE you doing\nout here? Run home this moment, and fetch me a pair of gloves and a fan!\nQuick, now!' And Alice was so much frightened that she ran off at once\nin the direction it pointed to, without trying to explain the mistake it\nhad made.\n\n'He took me for his housemaid,' she said to herself as she ran. 'How\nsurprised he'll be when he finds out who I am! But I'd better take him\nhis fan and gloves--that is, if I can find them.' As she said this, she\ncame upon a neat little house, on the door of which was a bright brass\nplate with the name 'W. RABBIT' engraved upon it. She went in without\nknocking, and hurried upstairs, in great fear lest she should meet the\nreal Mary Ann, and be turned out of the house before she had found the\nfan and gloves.\n\n'How queer it seems,' Alice said to herself, 'to be going messages for\na rabbit! I suppose Dinah'll be sending me on messages next!' And she\nbegan fancying the sort of thing that would happen: '\"Miss Alice! Come\nhere directly, and get ready for your walk!\" \"Coming in a minute,\nnurse! But I've got to see that the mouse doesn't get out.\" Only I don't\nthink,' Alice went on, 'that they'd let Dinah stop in the house if it\nbegan ordering people about like that!'\n\nBy this time she had found her way into a tidy little room with a table\nin the window, and on it (as she had hoped) a fan and two or three pairs\nof tiny white kid gloves: she took up the fan and a pair of the gloves,\nand was just going to leave the room, when her eye fell upon a little\nbottle that stood near the looking-glass. There was no label this time\nwith the words 'DRINK ME,' but nevertheless she uncorked it and put it\nto her lips. 'I know SOMETHING interesting is sure to happen,' she said\nto herself, 'whenever I eat or drink anything; so I'll just see what\nthis bottle does. I do hope it'll make me grow large again, for really\nI'm quite tired of being such a tiny little thing!'\n\nIt did so indeed, and much sooner than she had expected: before she had\ndrunk half the bottle, she found her head pressing against the ceiling,\nand had to stoop to save her neck from being broken. She hastily put\ndown the bottle, saying to herself 'That's quite enough--I hope I shan't\ngrow any more--As it is, I can't get out at the door--I do wish I hadn't\ndrunk quite so much!'\n\nAlas! it was too late to wish that! She went on growing, and growing,\nand very soon had to kneel down on the floor: in another minute there\nwas not even room for this, and she tried the effect of lying down with\none elbow against the door, and the other arm curled round her head.\nStill she went on growing, and, as a last resource, she put one arm out\nof the window, and one foot up the chimney, and said to herself 'Now I\ncan do no more, whatever happens. What WILL become of me?'\n\nLuckily for Alice, the little magic bottle had now had its full effect,\nand she grew no larger: still it was very uncomfortable, and, as there\nseemed to be no sort of chance of her ever getting out of the room\nagain, no wonder she felt unhappy.\n\n'It was much pleasanter at home,' thought poor Alice, 'when one wasn't\nalways growing larger and smaller, and being ordered about by mice and\nrabbits. I almost wish I hadn't gone down that rabbit-hole--and yet--and\nyet--it's rather curious, you know, this sort of life! I do wonder what\nCAN have happened to me! When I used to read fairy-tales, I fancied that\nkind of thing never happened, and now here I am in the middle of one!\nThere ought to be a book written about me, that there ought! And when I\ngrow up, I'll write one--but I'm grown up now,' she added in a sorrowful\ntone; 'at least there's no room to grow up any more HERE.'\n\n'But then,' thought Alice, 'shall I NEVER get any older than I am\nnow? That'll be a comfort, one way--never to be an old woman--but\nthen--always to have lessons to learn! Oh, I shouldn't like THAT!'\n\n'Oh, you foolish Alice!' she answered herself. 'How can you learn\nlessons in here? Why, there's hardly room for YOU, and no room at all\nfor any lesson-books!'\n\nAnd so she went on, taking first one side and then the other, and making\nquite a conversation of it altogether; but after a few minutes she heard\na voice outside, and stopped to listen.\n\n'Mary Ann! Mary Ann!' said the voice. 'Fetch me my gloves this moment!'\nThen came a little pattering of feet on the stairs. Alice knew it was\nthe Rabbit coming to look for her, and she trembled till she shook the\nhouse, quite forgetting that she was now about a thousand times as large\nas the Rabbit, and had no reason to be afraid of it.\n\nPresently the Rabbit came up to the door, and tried to open it; but, as\nthe door opened inwards, and Alice's elbow was pressed hard against it,\nthat attempt proved a failure. Alice heard it say to itself 'Then I'll\ngo round and get in at the window.'\n\n'THAT you won't' thought Alice, and, after waiting till she fancied\nshe heard the Rabbit just under the window, she suddenly spread out her\nhand, and made a snatch in the air. She did not get hold of anything,\nbut she heard a little shriek and a fall, and a crash of broken glass,\nfrom which she concluded that it was just possible it had fallen into a\ncucumber-frame, or something of the sort.\n\nNext came an angry voice--the Rabbit's--'Pat! Pat! Where are you?' And\nthen a voice she had never heard before, 'Sure then I'm here! Digging\nfor apples, yer honour!'\n\n'Digging for apples, indeed!' said the Rabbit angrily. 'Here! Come and\nhelp me out of THIS!' (Sounds of more broken glass.)\n\n'Now tell me, Pat, what's that in the window?'\n\n'Sure, it's an arm, yer honour!' (He pronounced it 'arrum.')\n\n'An arm, you goose! Who ever saw one that size? Why, it fills the whole\nwindow!'\n\n'Sure, it does, yer honour: but it's an arm for all that.'\n\n'Well, it's got no business there, at any rate: go and take it away!'\n\nThere was a long silence after this, and Alice could only hear whispers\nnow and then; such as, 'Sure, I don't like it, yer honour, at all, at\nall!' 'Do as I tell you, you coward!' and at last she spread out her\nhand again, and made another snatch in the air. This time there were\nTWO little shrieks, and more sounds of broken glass. 'What a number of\ncucumber-frames there must be!' thought Alice. 'I wonder what they'll do\nnext! As for pulling me out of the window, I only wish they COULD! I'm\nsure I don't want to stay in here any longer!'\n\nShe waited for some time without hearing anything more: at last came a\nrumbling of little cartwheels, and the sound of a good many voices\nall talking together: she made out the words: 'Where's the other\nladder?--Why, I hadn't to bring but one; Bill's got the other--Bill!\nfetch it here, lad!--Here, put 'em up at this corner--No, tie 'em\ntogether first--they don't reach half high enough yet--Oh! they'll\ndo well enough; don't be particular--Here, Bill! catch hold of this\nrope--Will the roof bear?--Mind that loose slate--Oh, it's coming\ndown! Heads below!' (a loud crash)--'Now, who did that?--It was Bill, I\nfancy--Who's to go down the chimney?--Nay, I shan't! YOU do it!--That I\nwon't, then!--Bill's to go down--Here, Bill! the master says you're to\ngo down the chimney!'\n\n'Oh! So Bill's got to come down the chimney, has he?' said Alice to\nherself. 'Shy, they seem to put everything upon Bill! I wouldn't be in\nBill's place for a good deal: this fireplace is narrow, to be sure; but\nI THINK I can kick a little!'\n\nShe drew her foot as far down the chimney as she could, and waited\ntill she heard a little animal (she couldn't guess of what sort it was)\nscratching and scrambling about in the chimney close above her: then,\nsaying to herself 'This is Bill,' she gave one sharp kick, and waited to\nsee what would happen next.\n\nThe first thing she heard was a general chorus of 'There goes Bill!'\nthen the Rabbit's voice along--'Catch him, you by the hedge!' then\nsilence, and then another confusion of voices--'Hold up his head--Brandy\nnow--Don't choke him--How was it, old fellow? What happened to you? Tell\nus all about it!'\n\nLast came a little feeble, squeaking voice, ('That's Bill,' thought\nAlice,) 'Well, I hardly know--No more, thank ye; I'm better now--but I'm\na deal too flustered to tell you--all I know is, something comes at me\nlike a Jack-in-the-box, and up I goes like a sky-rocket!'\n\n'So you did, old fellow!' said the others.\n\n'We must burn the house down!' said the Rabbit's voice; and Alice called\nout as loud as she could, 'If you do. I'll set Dinah at you!'\n\nThere was a dead silence instantly, and Alice thought to herself, 'I\nwonder what they WILL do next! If they had any sense, they'd take the\nroof off.' After a minute or two, they began moving about again, and\nAlice heard the Rabbit say, 'A barrowful will do, to begin with.'\n\n'A barrowful of WHAT?' thought Alice; but she had not long to doubt,\nfor the next moment a shower of little pebbles came rattling in at the\nwindow, and some of them hit her in the face. 'I'll put a stop to this,'\nshe said to herself, and shouted out, 'You'd better not do that again!'\nwhich produced another dead silence.\n\nAlice noticed with some surprise that the pebbles were all turning into\nlittle cakes as they lay on the floor, and a bright idea came into her\nhead. 'If I eat one of these cakes,' she thought, 'it's sure to make\nSOME change in my size; and as it can't possibly make me larger, it must\nmake me smaller, I suppose.'\n\nSo she swallowed one of the cakes, and was delighted to find that she\nbegan shrinking directly. As soon as she was small enough to get through\nthe door, she ran out of the house, and found quite a crowd of little\nanimals and birds waiting outside. The poor little Lizard, Bill, was\nin the middle, being held up by two guinea-pigs, who were giving it\nsomething out of a bottle. They all made a rush at Alice the moment she\nappeared; but she ran off as hard as she could, and soon found herself\nsafe in a thick wood.\n\n'The first thing I've got to do,' said Alice to herself, as she wandered\nabout in the wood, 'is to grow to my right size again; and the second\nthing is to find my way into that lovely garden. I think that will be\nthe best plan.'\n\nIt sounded an excellent plan, no doubt, and very neatly and simply\narranged; the only difficulty was, that she had not the smallest idea\nhow to set about it; and while she was peering about anxiously among\nthe trees, a little sharp bark just over her head made her look up in a\ngreat hurry.\n\nAn enormous puppy was looking down at her with large round eyes, and\nfeebly stretching out one paw, trying to touch her. 'Poor little thing!'\nsaid Alice, in a coaxing tone, and she tried hard to whistle to it; but\nshe was terribly frightened all the time at the thought that it might be\nhungry, in which case it would be very likely to eat her up in spite of\nall her coaxing.\n\nHardly knowing what she did, she picked up a little bit of stick, and\nheld it out to the puppy; whereupon the puppy jumped into the air off\nall its feet at once, with a yelp of delight, and rushed at the stick,\nand made believe to worry it; then Alice dodged behind a great thistle,\nto keep herself from being run over; and the moment she appeared on the\nother side, the puppy made another rush at the stick, and tumbled head\nover heels in its hurry to get hold of it; then Alice, thinking it was\nvery like having a game of play with a cart-horse, and expecting every\nmoment to be trampled under its feet, ran round the thistle again; then\nthe puppy began a series of short charges at the stick, running a very\nlittle way forwards each time and a long way back, and barking hoarsely\nall the while, till at last it sat down a good way off, panting, with\nits tongue hanging out of its mouth, and its great eyes half shut.\n\nThis seemed to Alice a good opportunity for making her escape; so she\nset off at once, and ran till she was quite tired and out of breath, and\ntill the puppy's bark sounded quite faint in the distance.\n\n'And yet what a dear little puppy it was!' said Alice, as she leant\nagainst a buttercup to rest herself, and fanned herself with one of the\nleaves: 'I should have liked teaching it tricks very much, if--if I'd\nonly been the right size to do it! Oh dear! I'd nearly forgotten that\nI've got to grow up again! Let me see--how IS it to be managed? I\nsuppose I ought to eat or drink something or other; but the great\nquestion is, what?'\n\nThe great question certainly was, what? Alice looked all round her at\nthe flowers and the blades of grass, but she did not see anything that\nlooked like the right thing to eat or drink under the circumstances.\nThere was a large mushroom growing near her, about the same height as\nherself; and when she had looked under it, and on both sides of it, and\nbehind it, it occurred to her that she might as well look and see what\nwas on the top of it.\n\nShe stretched herself up on tiptoe, and peeped over the edge of the\nmushroom, and her eyes immediately met those of a large caterpillar,\nthat was sitting on the top with its arms folded, quietly smoking a long\nhookah, and taking not the smallest notice of her or of anything else.\n\n\n\n\n!!! CHAPTER V. Advice from a Caterpillar\n\nThe Caterpillar and Alice looked at each other for some time in silence:\nat last the Caterpillar took the hookah out of its mouth, and addressed\nher in a languid, sleepy voice.\n\n'Who are YOU?' said the Caterpillar.\n\nThis was not an encouraging opening for a conversation. Alice replied,\nrather shyly, 'I--I hardly know, sir, just at present--at least I know\nwho I WAS when I got up this morning, but I think I must have been\nchanged several times since then.'\n\n'What do you mean by that?' said the Caterpillar sternly. 'Explain\nyourself!'\n\n'I can't explain MYSELF, I'm afraid, sir' said Alice, 'because I'm not\nmyself, you see.'\n\n'I don't see,' said the Caterpillar.\n\n'I'm afraid I can't put it more clearly,' Alice replied very politely,\n'for I can't understand it myself to begin with; and being so many\ndifferent sizes in a day is very confusing.'\n\n'It isn't,' said the Caterpillar.\n\n'Well, perhaps you haven't found it so yet,' said Alice; 'but when you\nhave to turn into a chrysalis--you will some day, you know--and then\nafter that into a butterfly, I should think you'll feel it a little\nqueer, won't you?'\n\n'Not a bit,' said the Caterpillar.\n\n'Well, perhaps your feelings may be different,' said Alice; 'all I know\nis, it would feel very queer to ME.'\n\n'You!' said the Caterpillar contemptuously. 'Who are YOU?'\n\nWhich brought them back again to the beginning of the conversation.\nAlice felt a little irritated at the Caterpillar's making such VERY\nshort remarks, and she drew herself up and said, very gravely, 'I think,\nyou ought to tell me who YOU are, first.'\n\n'Why?' said the Caterpillar.\n\nHere was another puzzling question; and as Alice could not think of any\ngood reason, and as the Caterpillar seemed to be in a VERY unpleasant\nstate of mind, she turned away.\n\n'Come back!' the Caterpillar called after her. 'I've something important\nto say!'\n\nThis sounded promising, certainly: Alice turned and came back again.\n\n'Keep your temper,' said the Caterpillar.\n\n'Is that all?' said Alice, swallowing down her anger as well as she\ncould.\n\n'No,' said the Caterpillar.\n\nAlice thought she might as well wait, as she had nothing else to do, and\nperhaps after all it might tell her something worth hearing. For some\nminutes it puffed away without speaking, but at last it unfolded its\narms, took the hookah out of its mouth again, and said, 'So you think\nyou're changed, do you?'\n\n'I'm afraid I am, sir,' said Alice; 'I can't remember things as I\nused--and I don't keep the same size for ten minutes together!'\n\n'Can't remember WHAT things?' said the Caterpillar.\n\n'Well, I've tried to say \"HOW DOTH THE LITTLE BUSY BEE,\" but it all came\ndifferent!' Alice replied in a very melancholy voice.\n\n'Repeat, \"YOU ARE OLD, FATHER WILLIAM,\"' said the Caterpillar.\n\nAlice folded her hands, and began:--\n\n   'You are old, Father William,' the young man said,\n    'And your hair has become very white;\n   And yet you incessantly stand on your head--\n    Do you think, at your age, it is right?'\n\n   'In my youth,' Father William replied to his son,\n    'I feared it might injure the brain;\n   But, now that I'm perfectly sure I have none,\n    Why, I do it again and again.'\n\n   'You are old,' said the youth, 'as I mentioned before,\n    And have grown most uncommonly fat;\n   Yet you turned a back-somersault in at the door--\n    Pray, what is the reason of that?'\n\n   'In my youth,' said the sage, as he shook his grey locks,\n    'I kept all my limbs very supple\n   By the use of this ointment--one shilling the box--\n    Allow me to sell you a couple?'\n\n   'You are old,' said the youth, 'and your jaws are too weak\n    For anything tougher than suet;\n   Yet you finished the goose, with the bones and the beak--\n    Pray how did you manage to do it?'\n\n   'In my youth,' said his father, 'I took to the law,\n    And argued each case with my wife;\n   And the muscular strength, which it gave to my jaw,\n    Has lasted the rest of my life.'\n\n   'You are old,' said the youth, 'one would hardly suppose\n    That your eye was as steady as ever;\n   Yet you balanced an eel on the end of your nose--\n    What made you so awfully clever?'\n\n   'I have answered three questions, and that is enough,'\n    Said his father; 'don't give yourself airs!\n   Do you think I can listen all day to such stuff?\n    Be off, or I'll kick you down stairs!'\n\n\n'That is not said right,' said the Caterpillar.\n\n'Not QUITE right, I'm afraid,' said Alice, timidly; 'some of the words\nhave got altered.'\n\n'It is wrong from beginning to end,' said the Caterpillar decidedly, and\nthere was silence for some minutes.\n\nThe Caterpillar was the first to speak.\n\n'What size do you want to be?' it asked.\n\n'Oh, I'm not particular as to size,' Alice hastily replied; 'only one\ndoesn't like changing so often, you know.'\n\n'I DON'T know,' said the Caterpillar.\n\nAlice said nothing: she had never been so much contradicted in her life\nbefore, and she felt that she was losing her temper.\n\n'Are you content now?' said the Caterpillar.\n\n'Well, I should like to be a LITTLE larger, sir, if you wouldn't mind,'\nsaid Alice: 'three inches is such a wretched height to be.'\n\n'It is a very good height indeed!' said the Caterpillar angrily, rearing\nitself upright as it spoke (it was exactly three inches high).\n\n'But I'm not used to it!' pleaded poor Alice in a piteous tone. And\nshe thought of herself, 'I wish the creatures wouldn't be so easily\noffended!'\n\n'You'll get used to it in time,' said the Caterpillar; and it put the\nhookah into its mouth and began smoking again.\n\nThis time Alice waited patiently until it chose to speak again. In\na minute or two the Caterpillar took the hookah out of its mouth\nand yawned once or twice, and shook itself. Then it got down off the\nmushroom, and crawled away in the grass, merely remarking as it went,\n'One side will make you grow taller, and the other side will make you\ngrow shorter.'\n\n'One side of WHAT? The other side of WHAT?' thought Alice to herself.\n\n'Of the mushroom,' said the Caterpillar, just as if she had asked it\naloud; and in another moment it was out of sight.\n\nAlice remained looking thoughtfully at the mushroom for a minute, trying\nto make out which were the two sides of it; and as it was perfectly\nround, she found this a very difficult question. However, at last she\nstretched her arms round it as far as they would go, and broke off a bit\nof the edge with each hand.\n\n'And now which is which?' she said to herself, and nibbled a little of\nthe right-hand bit to try the effect: the next moment she felt a violent\nblow underneath her chin: it had struck her foot!\n\nShe was a good deal frightened by this very sudden change, but she felt\nthat there was no time to be lost, as she was shrinking rapidly; so she\nset to work at once to eat some of the other bit. Her chin was pressed\nso closely against her foot, that there was hardly room to open her\nmouth; but she did it at last, and managed to swallow a morsel of the\nlefthand bit.\n\n\n  *    *    *    *    *    *    *\n\n    *    *    *    *    *    *\n\n  *    *    *    *    *    *    *\n\n'Come, my head's free at last!' said Alice in a tone of delight, which\nchanged into alarm in another moment, when she found that her shoulders\nwere nowhere to be found: all she could see, when she looked down, was\nan immense length of neck, which seemed to rise like a stalk out of a\nsea of green leaves that lay far below her.\n\n'What CAN all that green stuff be?' said Alice. 'And where HAVE my\nshoulders got to? And oh, my poor hands, how is it I can't see you?'\nShe was moving them about as she spoke, but no result seemed to follow,\nexcept a little shaking among the distant green leaves.\n\nAs there seemed to be no chance of getting her hands up to her head, she\ntried to get her head down to them, and was delighted to find that her\nneck would bend about easily in any direction, like a serpent. She had\njust succeeded in curving it down into a graceful zigzag, and was going\nto dive in among the leaves, which she found to be nothing but the tops\nof the trees under which she had been wandering, when a sharp hiss made\nher draw back in a hurry: a large pigeon had flown into her face, and\nwas beating her violently with its wings.\n\n'Serpent!' screamed the Pigeon.\n\n'I'm NOT a serpent!' said Alice indignantly. 'Let me alone!'\n\n'Serpent, I say again!' repeated the Pigeon, but in a more subdued tone,\nand added with a kind of sob, 'I've tried every way, and nothing seems\nto suit them!'\n\n'I haven't the least idea what you're talking about,' said Alice.\n\n'I've tried the roots of trees, and I've tried banks, and I've tried\nhedges,' the Pigeon went on, without attending to her; 'but those\nserpents! There's no pleasing them!'\n\nAlice was more and more puzzled, but she thought there was no use in\nsaying anything more till the Pigeon had finished.\n\n'As if it wasn't trouble enough hatching the eggs,' said the Pigeon;\n'but I must be on the look-out for serpents night and day! Why, I\nhaven't had a wink of sleep these three weeks!'\n\n'I'm very sorry you've been annoyed,' said Alice, who was beginning to\nsee its meaning.\n\n'And just as I'd taken the highest tree in the wood,' continued the\nPigeon, raising its voice to a shriek, 'and just as I was thinking I\nshould be free of them at last, they must needs come wriggling down from\nthe sky! Ugh, Serpent!'\n\n'But I'm NOT a serpent, I tell you!' said Alice. 'I'm a--I'm a--'\n\n'Well! WHAT are you?' said the Pigeon. 'I can see you're trying to\ninvent something!'\n\n'I--I'm a little girl,' said Alice, rather doubtfully, as she remembered\nthe number of changes she had gone through that day.\n\n'A likely story indeed!' said the Pigeon in a tone of the deepest\ncontempt. 'I've seen a good many little girls in my time, but never ONE\nwith such a neck as that! No, no! You're a serpent; and there's no use\ndenying it. I suppose you'll be telling me next that you never tasted an\negg!'\n\n'I HAVE tasted eggs, certainly,' said Alice, who was a very truthful\nchild; 'but little girls eat eggs quite as much as serpents do, you\nknow.'\n\n'I don't believe it,' said the Pigeon; 'but if they do, why then they're\na kind of serpent, that's all I can say.'\n\nThis was such a new idea to Alice, that she was quite silent for a\nminute or two, which gave the Pigeon the opportunity of adding, 'You're\nlooking for eggs, I know THAT well enough; and what does it matter to me\nwhether you're a little girl or a serpent?'\n\n'It matters a good deal to ME,' said Alice hastily; 'but I'm not looking\nfor eggs, as it happens; and if I was, I shouldn't want YOURS: I don't\nlike them raw.'\n\n'Well, be off, then!' said the Pigeon in a sulky tone, as it settled\ndown again into its nest. Alice crouched down among the trees as well as\nshe could, for her neck kept getting entangled among the branches, and\nevery now and then she had to stop and untwist it. After a while she\nremembered that she still held the pieces of mushroom in her hands, and\nshe set to work very carefully, nibbling first at one and then at the\nother, and growing sometimes taller and sometimes shorter, until she had\nsucceeded in bringing herself down to her usual height.\n\nIt was so long since she had been anything near the right size, that it\nfelt quite strange at first; but she got used to it in a few minutes,\nand began talking to herself, as usual. 'Come, there's half my plan done\nnow! How puzzling all these changes are! I'm never sure what I'm going\nto be, from one minute to another! However, I've got back to my right\nsize: the next thing is, to get into that beautiful garden--how IS that\nto be done, I wonder?' As she said this, she came suddenly upon an open\nplace, with a little house in it about four feet high. 'Whoever lives\nthere,' thought Alice, 'it'll never do to come upon them THIS size: why,\nI should frighten them out of their wits!' So she began nibbling at the\nrighthand bit again, and did not venture to go near the house till she\nhad brought herself down to nine inches high.\n\n\n\n\n!!! CHAPTER VI. Pig and Pepper\n\nFor a minute or two she stood looking at the house, and wondering what\nto do next, when suddenly a footman in livery came running out of the\nwood--(she considered him to be a footman because he was in livery:\notherwise, judging by his face only, she would have called him a\nfish)--and rapped loudly at the door with his knuckles. It was opened\nby another footman in livery, with a round face, and large eyes like a\nfrog; and both footmen, Alice noticed, had powdered hair that curled all\nover their heads. She felt very curious to know what it was all about,\nand crept a little way out of the wood to listen.\n\nThe Fish-Footman began by producing from under his arm a great letter,\nnearly as large as himself, and this he handed over to the other,\nsaying, in a solemn tone, 'For the Duchess. An invitation from the Queen\nto play croquet.' The Frog-Footman repeated, in the same solemn tone,\nonly changing the order of the words a little, 'From the Queen. An\ninvitation for the Duchess to play croquet.'\n\nThen they both bowed low, and their curls got entangled together.\n\nAlice laughed so much at this, that she had to run back into the\nwood for fear of their hearing her; and when she next peeped out the\nFish-Footman was gone, and the other was sitting on the ground near the\ndoor, staring stupidly up into the sky.\n\nAlice went timidly up to the door, and knocked.\n\n'There's no sort of use in knocking,' said the Footman, 'and that for\ntwo reasons. First, because I'm on the same side of the door as you\nare; secondly, because they're making such a noise inside, no one could\npossibly hear you.' And certainly there was a most extraordinary noise\ngoing on within--a constant howling and sneezing, and every now and then\na great crash, as if a dish or kettle had been broken to pieces.\n\n'Please, then,' said Alice, 'how am I to get in?'\n\n'There might be some sense in your knocking,' the Footman went on\nwithout attending to her, 'if we had the door between us. For instance,\nif you were INSIDE, you might knock, and I could let you out, you know.'\nHe was looking up into the sky all the time he was speaking, and this\nAlice thought decidedly uncivil. 'But perhaps he can't help it,' she\nsaid to herself; 'his eyes are so VERY nearly at the top of his head.\nBut at any rate he might answer questions.--How am I to get in?' she\nrepeated, aloud.\n\n'I shall sit here,' the Footman remarked, 'till tomorrow--'\n\nAt this moment the door of the house opened, and a large plate came\nskimming out, straight at the Footman's head: it just grazed his nose,\nand broke to pieces against one of the trees behind him.\n\n'--or next day, maybe,' the Footman continued in the same tone, exactly\nas if nothing had happened.\n\n'How am I to get in?' asked Alice again, in a louder tone.\n\n'ARE you to get in at all?' said the Footman. 'That's the first\nquestion, you know.'\n\nIt was, no doubt: only Alice did not like to be told so. 'It's really\ndreadful,' she muttered to herself, 'the way all the creatures argue.\nIt's enough to drive one crazy!'\n\nThe Footman seemed to think this a good opportunity for repeating his\nremark, with variations. 'I shall sit here,' he said, 'on and off, for\ndays and days.'\n\n'But what am I to do?' said Alice.\n\n'Anything you like,' said the Footman, and began whistling.\n\n'Oh, there's no use in talking to him,' said Alice desperately: 'he's\nperfectly idiotic!' And she opened the door and went in.\n\nThe door led right into a large kitchen, which was full of smoke from\none end to the other: the Duchess was sitting on a three-legged stool in\nthe middle, nursing a baby; the cook was leaning over the fire, stirring\na large cauldron which seemed to be full of soup.\n\n'There's certainly too much pepper in that soup!' Alice said to herself,\nas well as she could for sneezing.\n\nThere was certainly too much of it in the air. Even the Duchess\nsneezed occasionally; and as for the baby, it was sneezing and howling\nalternately without a moment's pause. The only things in the kitchen\nthat did not sneeze, were the cook, and a large cat which was sitting on\nthe hearth and grinning from ear to ear.\n\n'Please would you tell me,' said Alice, a little timidly, for she was\nnot quite sure whether it was good manners for her to speak first, 'why\nyour cat grins like that?'\n\n'It's a Cheshire cat,' said the Duchess, 'and that's why. Pig!'\n\nShe said the last word with such sudden violence that Alice quite\njumped; but she saw in another moment that it was addressed to the baby,\nand not to her, so she took courage, and went on again:--\n\n'I didn't know that Cheshire cats always grinned; in fact, I didn't know\nthat cats COULD grin.'\n\n'They all can,' said the Duchess; 'and most of 'em do.'\n\n'I don't know of any that do,' Alice said very politely, feeling quite\npleased to have got into a conversation.\n\n'You don't know much,' said the Duchess; 'and that's a fact.'\n\nAlice did not at all like the tone of this remark, and thought it would\nbe as well to introduce some other subject of conversation. While she\nwas trying to fix on one, the cook took the cauldron of soup off the\nfire, and at once set to work throwing everything within her reach at\nthe Duchess and the baby--the fire-irons came first; then followed a\nshower of saucepans, plates, and dishes. The Duchess took no notice of\nthem even when they hit her; and the baby was howling so much already,\nthat it was quite impossible to say whether the blows hurt it or not.\n\n'Oh, PLEASE mind what you're doing!' cried Alice, jumping up and down in\nan agony of terror. 'Oh, there goes his PRECIOUS nose'; as an unusually\nlarge saucepan flew close by it, and very nearly carried it off.\n\n'If everybody minded their own business,' the Duchess said in a hoarse\ngrowl, 'the world would go round a deal faster than it does.'\n\n'Which would NOT be an advantage,' said Alice, who felt very glad to get\nan opportunity of showing off a little of her knowledge. 'Just think of\nwhat work it would make with the day and night! You see the earth takes\ntwenty-four hours to turn round on its axis--'\n\n'Talking of axes,' said the Duchess, 'chop off her head!'\n\nAlice glanced rather anxiously at the cook, to see if she meant to take\nthe hint; but the cook was busily stirring the soup, and seemed not to\nbe listening, so she went on again: 'Twenty-four hours, I THINK; or is\nit twelve? I--'\n\n'Oh, don't bother ME,' said the Duchess; 'I never could abide figures!'\nAnd with that she began nursing her child again, singing a sort of\nlullaby to it as she did so, and giving it a violent shake at the end of\nevery line:\n\n   'Speak roughly to your little boy,\n    And beat him when he sneezes:\n   He only does it to annoy,\n    Because he knows it teases.'\n\n         CHORUS.\n\n (In which the cook and the baby joined):--\n\n       'Wow! wow! wow!'\n\nWhile the Duchess sang the second verse of the song, she kept tossing\nthe baby violently up and down, and the poor little thing howled so,\nthat Alice could hardly hear the words:--\n\n   'I speak severely to my boy,\n    I beat him when he sneezes;\n   For he can thoroughly enjoy\n    The pepper when he pleases!'\n\n         CHORUS.\n\n       'Wow! wow! wow!'\n\n'Here! you may nurse it a bit, if you like!' the Duchess said to Alice,\nflinging the baby at her as she spoke. 'I must go and get ready to play\ncroquet with the Queen,' and she hurried out of the room. The cook threw\na frying-pan after her as she went out, but it just missed her.\n\nAlice caught the baby with some difficulty, as it was a queer-shaped\nlittle creature, and held out its arms and legs in all directions, 'just\nlike a star-fish,' thought Alice. The poor little thing was snorting\nlike a steam-engine when she caught it, and kept doubling itself up and\nstraightening itself out again, so that altogether, for the first minute\nor two, it was as much as she could do to hold it.\n\nAs soon as she had made out the proper way of nursing it, (which was to\ntwist it up into a sort of knot, and then keep tight hold of its right\near and left foot, so as to prevent its undoing itself,) she carried\nit out into the open air. 'IF I don't take this child away with me,'\nthought Alice, 'they're sure to kill it in a day or two: wouldn't it be\nmurder to leave it behind?' She said the last words out loud, and the\nlittle thing grunted in reply (it had left off sneezing by this time).\n'Don't grunt,' said Alice; 'that's not at all a proper way of expressing\nyourself.'\n\nThe baby grunted again, and Alice looked very anxiously into its face to\nsee what was the matter with it. There could be no doubt that it had\na VERY turn-up nose, much more like a snout than a real nose; also its\neyes were getting extremely small for a baby: altogether Alice did not\nlike the look of the thing at all. 'But perhaps it was only sobbing,'\nshe thought, and looked into its eyes again, to see if there were any\ntears.\n\nNo, there were no tears. 'If you're going to turn into a pig, my dear,'\nsaid Alice, seriously, 'I'll have nothing more to do with you. Mind\nnow!' The poor little thing sobbed again (or grunted, it was impossible\nto say which), and they went on for some while in silence.\n\nAlice was just beginning to think to herself, 'Now, what am I to do with\nthis creature when I get it home?' when it grunted again, so violently,\nthat she looked down into its face in some alarm. This time there could\nbe NO mistake about it: it was neither more nor less than a pig, and she\nfelt that it would be quite absurd for her to carry it further.\n\nSo she set the little creature down, and felt quite relieved to see\nit trot away quietly into the wood. 'If it had grown up,' she said\nto herself, 'it would have made a dreadfully ugly child: but it makes\nrather a handsome pig, I think.' And she began thinking over other\nchildren she knew, who might do very well as pigs, and was just saying\nto herself, 'if one only knew the right way to change them--' when she\nwas a little startled by seeing the Cheshire Cat sitting on a bough of a\ntree a few yards off.\n\nThe Cat only grinned when it saw Alice. It looked good-natured, she\nthought: still it had VERY long claws and a great many teeth, so she\nfelt that it ought to be treated with respect.\n\n'Cheshire Puss,' she began, rather timidly, as she did not at all know\nwhether it would like the name: however, it only grinned a little wider.\n'Come, it's pleased so far,' thought Alice, and she went on. 'Would you\ntell me, please, which way I ought to go from here?'\n\n'That depends a good deal on where you want to get to,' said the Cat.\n\n'I don't much care where--' said Alice.\n\n'Then it doesn't matter which way you go,' said the Cat.\n\n'--so long as I get SOMEWHERE,' Alice added as an explanation.\n\n'Oh, you're sure to do that,' said the Cat, 'if you only walk long\nenough.'\n\nAlice felt that this could not be denied, so she tried another question.\n'What sort of people live about here?'\n\n'In THAT direction,' the Cat said, waving its right paw round, 'lives\na Hatter: and in THAT direction,' waving the other paw, 'lives a March\nHare. Visit either you like: they're both mad.'\n\n'But I don't want to go among mad people,' Alice remarked.\n\n'Oh, you can't help that,' said the Cat: 'we're all mad here. I'm mad.\nYou're mad.'\n\n'How do you know I'm mad?' said Alice.\n\n'You must be,' said the Cat, 'or you wouldn't have come here.'\n\nAlice didn't think that proved it at all; however, she went on 'And how\ndo you know that you're mad?'\n\n'To begin with,' said the Cat, 'a dog's not mad. You grant that?'\n\n'I suppose so,' said Alice.\n\n'Well, then,' the Cat went on, 'you see, a dog growls when it's angry,\nand wags its tail when it's pleased. Now I growl when I'm pleased, and\nwag my tail when I'm angry. Therefore I'm mad.'\n\n'I call it purring, not growling,' said Alice.\n\n'Call it what you like,' said the Cat. 'Do you play croquet with the\nQueen to-day?'\n\n'I should like it very much,' said Alice, 'but I haven't been invited\nyet.'\n\n'You'll see me there,' said the Cat, and vanished.\n\nAlice was not much surprised at this, she was getting so used to queer\nthings happening. While she was looking at the place where it had been,\nit suddenly appeared again.\n\n'By-the-bye, what became of the baby?' said the Cat. 'I'd nearly\nforgotten to ask.'\n\n'It turned into a pig,' Alice quietly said, just as if it had come back\nin a natural way.\n\n'I thought it would,' said the Cat, and vanished again.\n\nAlice waited a little, half expecting to see it again, but it did not\nappear, and after a minute or two she walked on in the direction in\nwhich the March Hare was said to live. 'I've seen hatters before,' she\nsaid to herself; 'the March Hare will be much the most interesting, and\nperhaps as this is May it won't be raving mad--at least not so mad as\nit was in March.' As she said this, she looked up, and there was the Cat\nagain, sitting on a branch of a tree.\n\n'Did you say pig, or fig?' said the Cat.\n\n'I said pig,' replied Alice; 'and I wish you wouldn't keep appearing and\nvanishing so suddenly: you make one quite giddy.'\n\n'All right,' said the Cat; and this time it vanished quite slowly,\nbeginning with the end of the tail, and ending with the grin, which\nremained some time after the rest of it had gone.\n\n'Well! I've often seen a cat without a grin,' thought Alice; 'but a grin\nwithout a cat! It's the most curious thing I ever saw in my life!'\n\nShe had not gone much farther before she came in sight of the house\nof the March Hare: she thought it must be the right house, because the\nchimneys were shaped like ears and the roof was thatched with fur. It\nwas so large a house, that she did not like to go nearer till she had\nnibbled some more of the lefthand bit of mushroom, and raised herself to\nabout two feet high: even then she walked up towards it rather timidly,\nsaying to herself 'Suppose it should be raving mad after all! I almost\nwish I'd gone to see the Hatter instead!'\n\n\n\n\n!!! CHAPTER VII. A Mad Tea-Party\n\nThere was a table set out under a tree in front of the house, and the\nMarch Hare and the Hatter were having tea at it: a Dormouse was sitting\nbetween them, fast asleep, and the other two were using it as a\ncushion, resting their elbows on it, and talking over its head. 'Very\nuncomfortable for the Dormouse,' thought Alice; 'only, as it's asleep, I\nsuppose it doesn't mind.'\n\nThe table was a large one, but the three were all crowded together at\none corner of it: 'No room! No room!' they cried out when they saw Alice\ncoming. 'There's PLENTY of room!' said Alice indignantly, and she sat\ndown in a large arm-chair at one end of the table.\n\n'Have some wine,' the March Hare said in an encouraging tone.\n\nAlice looked all round the table, but there was nothing on it but tea.\n'I don't see any wine,' she remarked.\n\n'There isn't any,' said the March Hare.\n\n'Then it wasn't very civil of you to offer it,' said Alice angrily.\n\n'It wasn't very civil of you to sit down without being invited,' said\nthe March Hare.\n\n'I didn't know it was YOUR table,' said Alice; 'it's laid for a great\nmany more than three.'\n\n'Your hair wants cutting,' said the Hatter. He had been looking at Alice\nfor some time with great curiosity, and this was his first speech.\n\n'You should learn not to make personal remarks,' Alice said with some\nseverity; 'it's very rude.'\n\nThe Hatter opened his eyes very wide on hearing this; but all he SAID\nwas, 'Why is a raven like a writing-desk?'\n\n'Come, we shall have some fun now!' thought Alice. 'I'm glad they've\nbegun asking riddles.--I believe I can guess that,' she added aloud.\n\n'Do you mean that you think you can find out the answer to it?' said the\nMarch Hare.\n\n'Exactly so,' said Alice.\n\n'Then you should say what you mean,' the March Hare went on.\n\n'I do,' Alice hastily replied; 'at least--at least I mean what I\nsay--that's the same thing, you know.'\n\n'Not the same thing a bit!' said the Hatter. 'You might just as well say\nthat \"I see what I eat\" is the same thing as \"I eat what I see\"!'\n\n'You might just as well say,' added the March Hare, 'that \"I like what I\nget\" is the same thing as \"I get what I like\"!'\n\n'You might just as well say,' added the Dormouse, who seemed to be\ntalking in his sleep, 'that \"I breathe when I sleep\" is the same thing\nas \"I sleep when I breathe\"!'\n\n'It IS the same thing with you,' said the Hatter, and here the\nconversation dropped, and the party sat silent for a minute, while Alice\nthought over all she could remember about ravens and writing-desks,\nwhich wasn't much.\n\nThe Hatter was the first to break the silence. 'What day of the month\nis it?' he said, turning to Alice: he had taken his watch out of his\npocket, and was looking at it uneasily, shaking it every now and then,\nand holding it to his ear.\n\nAlice considered a little, and then said 'The fourth.'\n\n'Two days wrong!' sighed the Hatter. 'I told you butter wouldn't suit\nthe works!' he added looking angrily at the March Hare.\n\n'It was the BEST butter,' the March Hare meekly replied.\n\n'Yes, but some crumbs must have got in as well,' the Hatter grumbled:\n'you shouldn't have put it in with the bread-knife.'\n\nThe March Hare took the watch and looked at it gloomily: then he dipped\nit into his cup of tea, and looked at it again: but he could think of\nnothing better to say than his first remark, 'It was the BEST butter,\nyou know.'\n\nAlice had been looking over his shoulder with some curiosity. 'What a\nfunny watch!' she remarked. 'It tells the day of the month, and doesn't\ntell what o'clock it is!'\n\n'Why should it?' muttered the Hatter. 'Does YOUR watch tell you what\nyear it is?'\n\n'Of course not,' Alice replied very readily: 'but that's because it\nstays the same year for such a long time together.'\n\n'Which is just the case with MINE,' said the Hatter.\n\nAlice felt dreadfully puzzled. The Hatter's remark seemed to have no\nsort of meaning in it, and yet it was certainly English. 'I don't quite\nunderstand you,' she said, as politely as she could.\n\n'The Dormouse is asleep again,' said the Hatter, and he poured a little\nhot tea upon its nose.\n\nThe Dormouse shook its head impatiently, and said, without opening its\neyes, 'Of course, of course; just what I was going to remark myself.'\n\n'Have you guessed the riddle yet?' the Hatter said, turning to Alice\nagain.\n\n'No, I give it up,' Alice replied: 'what's the answer?'\n\n'I haven't the slightest idea,' said the Hatter.\n\n'Nor I,' said the March Hare.\n\nAlice sighed wearily. 'I think you might do something better with the\ntime,' she said, 'than waste it in asking riddles that have no answers.'\n\n'If you knew Time as well as I do,' said the Hatter, 'you wouldn't talk\nabout wasting IT. It's HIM.'\n\n'I don't know what you mean,' said Alice.\n\n'Of course you don't!' the Hatter said, tossing his head contemptuously.\n'I dare say you never even spoke to Time!'\n\n'Perhaps not,' Alice cautiously replied: 'but I know I have to beat time\nwhen I learn music.'\n\n'Ah! that accounts for it,' said the Hatter. 'He won't stand beating.\nNow, if you only kept on good terms with him, he'd do almost anything\nyou liked with the clock. For instance, suppose it were nine o'clock in\nthe morning, just time to begin lessons: you'd only have to whisper a\nhint to Time, and round goes the clock in a twinkling! Half-past one,\ntime for dinner!'\n\n('I only wish it was,' the March Hare said to itself in a whisper.)\n\n'That would be grand, certainly,' said Alice thoughtfully: 'but then--I\nshouldn't be hungry for it, you know.'\n\n'Not at first, perhaps,' said the Hatter: 'but you could keep it to\nhalf-past one as long as you liked.'\n\n'Is that the way YOU manage?' Alice asked.\n\nThe Hatter shook his head mournfully. 'Not I!' he replied. 'We\nquarrelled last March--just before HE went mad, you know--' (pointing\nwith his tea spoon at the March Hare,) '--it was at the great concert\ngiven by the Queen of Hearts, and I had to sing\n\n     \"Twinkle, twinkle, little bat!\n     How I wonder what you're at!\"\n\nYou know the song, perhaps?'\n\n'I've heard something like it,' said Alice.\n\n'It goes on, you know,' the Hatter continued, 'in this way:--\n\n     \"Up above the world you fly,\n     Like a tea-tray in the sky.\n         Twinkle, twinkle--\"'\n\nHere the Dormouse shook itself, and began singing in its sleep 'Twinkle,\ntwinkle, twinkle, twinkle--' and went on so long that they had to pinch\nit to make it stop.\n\n'Well, I'd hardly finished the first verse,' said the Hatter, 'when the\nQueen jumped up and bawled out, \"He's murdering the time! Off with his\nhead!\"'\n\n'How dreadfully savage!' exclaimed Alice.\n\n'And ever since that,' the Hatter went on in a mournful tone, 'he won't\ndo a thing I ask! It's always six o'clock now.'\n\nA bright idea came into Alice's head. 'Is that the reason so many\ntea-things are put out here?' she asked.\n\n'Yes, that's it,' said the Hatter with a sigh: 'it's always tea-time,\nand we've no time to wash the things between whiles.'\n\n'Then you keep moving round, I suppose?' said Alice.\n\n'Exactly so,' said the Hatter: 'as the things get used up.'\n\n'But what happens when you come to the beginning again?' Alice ventured\nto ask.\n\n'Suppose we change the subject,' the March Hare interrupted, yawning.\n'I'm getting tired of this. I vote the young lady tells us a story.'\n\n'I'm afraid I don't know one,' said Alice, rather alarmed at the\nproposal.\n\n'Then the Dormouse shall!' they both cried. 'Wake up, Dormouse!' And\nthey pinched it on both sides at once.\n\nThe Dormouse slowly opened his eyes. 'I wasn't asleep,' he said in a\nhoarse, feeble voice: 'I heard every word you fellows were saying.'\n\n'Tell us a story!' said the March Hare.\n\n'Yes, please do!' pleaded Alice.\n\n'And be quick about it,' added the Hatter, 'or you'll be asleep again\nbefore it's done.'\n\n'Once upon a time there were three little sisters,' the Dormouse began\nin a great hurry; 'and their names were Elsie, Lacie, and Tillie; and\nthey lived at the bottom of a well--'\n\n'What did they live on?' said Alice, who always took a great interest in\nquestions of eating and drinking.\n\n'They lived on treacle,' said the Dormouse, after thinking a minute or\ntwo.\n\n'They couldn't have done that, you know,' Alice gently remarked; 'they'd\nhave been ill.'\n\n'So they were,' said the Dormouse; 'VERY ill.'\n\nAlice tried to fancy to herself what such an extraordinary ways of\nliving would be like, but it puzzled her too much, so she went on: 'But\nwhy did they live at the bottom of a well?'\n\n'Take some more tea,' the March Hare said to Alice, very earnestly.\n\n'I've had nothing yet,' Alice replied in an offended tone, 'so I can't\ntake more.'\n\n'You mean you can't take LESS,' said the Hatter: 'it's very easy to take\nMORE than nothing.'\n\n'Nobody asked YOUR opinion,' said Alice.\n\n'Who's making personal remarks now?' the Hatter asked triumphantly.\n\nAlice did not quite know what to say to this: so she helped herself\nto some tea and bread-and-butter, and then turned to the Dormouse, and\nrepeated her question. 'Why did they live at the bottom of a well?'\n\nThe Dormouse again took a minute or two to think about it, and then\nsaid, 'It was a treacle-well.'\n\n'There's no such thing!' Alice was beginning very angrily, but the\nHatter and the March Hare went 'Sh! sh!' and the Dormouse sulkily\nremarked, 'If you can't be civil, you'd better finish the story for\nyourself.'\n\n'No, please go on!' Alice said very humbly; 'I won't interrupt again. I\ndare say there may be ONE.'\n\n'One, indeed!' said the Dormouse indignantly. However, he consented to\ngo on. 'And so these three little sisters--they were learning to draw,\nyou know--'\n\n'What did they draw?' said Alice, quite forgetting her promise.\n\n'Treacle,' said the Dormouse, without considering at all this time.\n\n'I want a clean cup,' interrupted the Hatter: 'let's all move one place\non.'\n\nHe moved on as he spoke, and the Dormouse followed him: the March Hare\nmoved into the Dormouse's place, and Alice rather unwillingly took\nthe place of the March Hare. The Hatter was the only one who got any\nadvantage from the change: and Alice was a good deal worse off than\nbefore, as the March Hare had just upset the milk-jug into his plate.\n\nAlice did not wish to offend the Dormouse again, so she began very\ncautiously: 'But I don't understand. Where did they draw the treacle\nfrom?'\n\n'You can draw water out of a water-well,' said the Hatter; 'so I should\nthink you could draw treacle out of a treacle-well--eh, stupid?'\n\n'But they were IN the well,' Alice said to the Dormouse, not choosing to\nnotice this last remark.\n\n'Of course they were', said the Dormouse; '--well in.'\n\nThis answer so confused poor Alice, that she let the Dormouse go on for\nsome time without interrupting it.\n\n'They were learning to draw,' the Dormouse went on, yawning and rubbing\nits eyes, for it was getting very sleepy; 'and they drew all manner of\nthings--everything that begins with an M--'\n\n'Why with an M?' said Alice.\n\n'Why not?' said the March Hare.\n\nAlice was silent.\n\nThe Dormouse had closed its eyes by this time, and was going off into\na doze; but, on being pinched by the Hatter, it woke up again with\na little shriek, and went on: '--that begins with an M, such as\nmouse-traps, and the moon, and memory, and muchness--you know you say\nthings are \"much of a muchness\"--did you ever see such a thing as a\ndrawing of a muchness?'\n\n'Really, now you ask me,' said Alice, very much confused, 'I don't\nthink--'\n\n'Then you shouldn't talk,' said the Hatter.\n\nThis piece of rudeness was more than Alice could bear: she got up in\ngreat disgust, and walked off; the Dormouse fell asleep instantly, and\nneither of the others took the least notice of her going, though she\nlooked back once or twice, half hoping that they would call after her:\nthe last time she saw them, they were trying to put the Dormouse into\nthe teapot.\n\n'At any rate I'll never go THERE again!' said Alice as she picked her\nway through the wood. 'It's the stupidest tea-party I ever was at in all\nmy life!'\n\nJust as she said this, she noticed that one of the trees had a door\nleading right into it. 'That's very curious!' she thought. 'But\neverything's curious today. I think I may as well go in at once.' And in\nshe went.\n\nOnce more she found herself in the long hall, and close to the little\nglass table. 'Now, I'll manage better this time,' she said to herself,\nand began by taking the little golden key, and unlocking the door that\nled into the garden. Then she went to work nibbling at the mushroom (she\nhad kept a piece of it in her pocket) till she was about a foot high:\nthen she walked down the little passage: and THEN--she found herself at\nlast in the beautiful garden, among the bright flower-beds and the cool\nfountains.\n\n\n\n\n!!! CHAPTER VIII. The Queen's Croquet-Ground\n\nA large rose-tree stood near the entrance of the garden: the roses\ngrowing on it were white, but there were three gardeners at it, busily\npainting them red. Alice thought this a very curious thing, and she went\nnearer to watch them, and just as she came up to them she heard one of\nthem say, 'Look out now, Five! Don't go splashing paint over me like\nthat!'\n\n'I couldn't help it,' said Five, in a sulky tone; 'Seven jogged my\nelbow.'\n\nOn which Seven looked up and said, 'That's right, Five! Always lay the\nblame on others!'\n\n'YOU'D better not talk!' said Five. 'I heard the Queen say only\nyesterday you deserved to be beheaded!'\n\n'What for?' said the one who had spoken first.\n\n'That's none of YOUR business, Two!' said Seven.\n\n'Yes, it IS his business!' said Five, 'and I'll tell him--it was for\nbringing the cook tulip-roots instead of onions.'\n\nSeven flung down his brush, and had just begun 'Well, of all the unjust\nthings--' when his eye chanced to fall upon Alice, as she stood watching\nthem, and he checked himself suddenly: the others looked round also, and\nall of them bowed low.\n\n'Would you tell me,' said Alice, a little timidly, 'why you are painting\nthose roses?'\n\nFive and Seven said nothing, but looked at Two. Two began in a low\nvoice, 'Why the fact is, you see, Miss, this here ought to have been a\nRED rose-tree, and we put a white one in by mistake; and if the Queen\nwas to find it out, we should all have our heads cut off, you know.\nSo you see, Miss, we're doing our best, afore she comes, to--' At this\nmoment Five, who had been anxiously looking across the garden, called\nout 'The Queen! The Queen!' and the three gardeners instantly threw\nthemselves flat upon their faces. There was a sound of many footsteps,\nand Alice looked round, eager to see the Queen.\n\nFirst came ten soldiers carrying clubs; these were all shaped like\nthe three gardeners, oblong and flat, with their hands and feet at the\ncorners: next the ten courtiers; these were ornamented all over with\ndiamonds, and walked two and two, as the soldiers did. After these came\nthe royal children; there were ten of them, and the little dears came\njumping merrily along hand in hand, in couples: they were all ornamented\nwith hearts. Next came the guests, mostly Kings and Queens, and among\nthem Alice recognised the White Rabbit: it was talking in a hurried\nnervous manner, smiling at everything that was said, and went by without\nnoticing her. Then followed the Knave of Hearts, carrying the King's\ncrown on a crimson velvet cushion; and, last of all this grand\nprocession, came THE KING AND QUEEN OF HEARTS.\n\nAlice was rather doubtful whether she ought not to lie down on her face\nlike the three gardeners, but she could not remember ever having heard\nof such a rule at processions; 'and besides, what would be the use of\na procession,' thought she, 'if people had all to lie down upon their\nfaces, so that they couldn't see it?' So she stood still where she was,\nand waited.\n\nWhen the procession came opposite to Alice, they all stopped and looked\nat her, and the Queen said severely 'Who is this?' She said it to the\nKnave of Hearts, who only bowed and smiled in reply.\n\n'Idiot!' said the Queen, tossing her head impatiently; and, turning to\nAlice, she went on, 'What's your name, child?'\n\n'My name is Alice, so please your Majesty,' said Alice very politely;\nbut she added, to herself, 'Why, they're only a pack of cards, after\nall. I needn't be afraid of them!'\n\n'And who are THESE?' said the Queen, pointing to the three gardeners who\nwere lying round the rosetree; for, you see, as they were lying on their\nfaces, and the pattern on their backs was the same as the rest of the\npack, she could not tell whether they were gardeners, or soldiers, or\ncourtiers, or three of her own children.\n\n'How should I know?' said Alice, surprised at her own courage. 'It's no\nbusiness of MINE.'\n\nThe Queen turned crimson with fury, and, after glaring at her for a\nmoment like a wild beast, screamed 'Off with her head! Off--'\n\n'Nonsense!' said Alice, very loudly and decidedly, and the Queen was\nsilent.\n\nThe King laid his hand upon her arm, and timidly said 'Consider, my\ndear: she is only a child!'\n\nThe Queen turned angrily away from him, and said to the Knave 'Turn them\nover!'\n\nThe Knave did so, very carefully, with one foot.\n\n'Get up!' said the Queen, in a shrill, loud voice, and the three\ngardeners instantly jumped up, and began bowing to the King, the Queen,\nthe royal children, and everybody else.\n\n'Leave off that!' screamed the Queen. 'You make me giddy.' And then,\nturning to the rose-tree, she went on, 'What HAVE you been doing here?'\n\n'May it please your Majesty,' said Two, in a very humble tone, going\ndown on one knee as he spoke, 'we were trying--'\n\n'I see!' said the Queen, who had meanwhile been examining the roses.\n'Off with their heads!' and the procession moved on, three of the\nsoldiers remaining behind to execute the unfortunate gardeners, who ran\nto Alice for protection.\n\n'You shan't be beheaded!' said Alice, and she put them into a large\nflower-pot that stood near. The three soldiers wandered about for a\nminute or two, looking for them, and then quietly marched off after the\nothers.\n\n'Are their heads off?' shouted the Queen.\n\n'Their heads are gone, if it please your Majesty!' the soldiers shouted\nin reply.\n\n'That's right!' shouted the Queen. 'Can you play croquet?'\n\nThe soldiers were silent, and looked at Alice, as the question was\nevidently meant for her.\n\n'Yes!' shouted Alice.\n\n'Come on, then!' roared the Queen, and Alice joined the procession,\nwondering very much what would happen next.\n\n'It's--it's a very fine day!' said a timid voice at her side. She was\nwalking by the White Rabbit, who was peeping anxiously into her face.\n\n'Very,' said Alice: '--where's the Duchess?'\n\n'Hush! Hush!' said the Rabbit in a low, hurried tone. He looked\nanxiously over his shoulder as he spoke, and then raised himself upon\ntiptoe, put his mouth close to her ear, and whispered 'She's under\nsentence of execution.'\n\n'What for?' said Alice.\n\n'Did you say \"What a pity!\"?' the Rabbit asked.\n\n'No, I didn't,' said Alice: 'I don't think it's at all a pity. I said\n\"What for?\"'\n\n'She boxed the Queen's ears--' the Rabbit began. Alice gave a little\nscream of laughter. 'Oh, hush!' the Rabbit whispered in a frightened\ntone. 'The Queen will hear you! You see, she came rather late, and the\nQueen said--'\n\n'Get to your places!' shouted the Queen in a voice of thunder, and\npeople began running about in all directions, tumbling up against each\nother; however, they got settled down in a minute or two, and the game\nbegan. Alice thought she had never seen such a curious croquet-ground in\nher life; it was all ridges and furrows; the balls were live hedgehogs,\nthe mallets live flamingoes, and the soldiers had to double themselves\nup and to stand on their hands and feet, to make the arches.\n\nThe chief difficulty Alice found at first was in managing her flamingo:\nshe succeeded in getting its body tucked away, comfortably enough, under\nher arm, with its legs hanging down, but generally, just as she had got\nits neck nicely straightened out, and was going to give the hedgehog a\nblow with its head, it WOULD twist itself round and look up in her face,\nwith such a puzzled expression that she could not help bursting out\nlaughing: and when she had got its head down, and was going to begin\nagain, it was very provoking to find that the hedgehog had unrolled\nitself, and was in the act of crawling away: besides all this, there was\ngenerally a ridge or furrow in the way wherever she wanted to send the\nhedgehog to, and, as the doubled-up soldiers were always getting up\nand walking off to other parts of the ground, Alice soon came to the\nconclusion that it was a very difficult game indeed.\n\nThe players all played at once without waiting for turns, quarrelling\nall the while, and fighting for the hedgehogs; and in a very short\ntime the Queen was in a furious passion, and went stamping about, and\nshouting 'Off with his head!' or 'Off with her head!' about once in a\nminute.\n\nAlice began to feel very uneasy: to be sure, she had not as yet had any\ndispute with the Queen, but she knew that it might happen any minute,\n'and then,' thought she, 'what would become of me? They're dreadfully\nfond of beheading people here; the great wonder is, that there's any one\nleft alive!'\n\nShe was looking about for some way of escape, and wondering whether she\ncould get away without being seen, when she noticed a curious appearance\nin the air: it puzzled her very much at first, but, after watching it\na minute or two, she made it out to be a grin, and she said to herself\n'It's the Cheshire Cat: now I shall have somebody to talk to.'\n\n'How are you getting on?' said the Cat, as soon as there was mouth\nenough for it to speak with.\n\nAlice waited till the eyes appeared, and then nodded. 'It's no use\nspeaking to it,' she thought, 'till its ears have come, or at least one\nof them.' In another minute the whole head appeared, and then Alice put\ndown her flamingo, and began an account of the game, feeling very glad\nshe had someone to listen to her. The Cat seemed to think that there was\nenough of it now in sight, and no more of it appeared.\n\n'I don't think they play at all fairly,' Alice began, in rather a\ncomplaining tone, 'and they all quarrel so dreadfully one can't hear\noneself speak--and they don't seem to have any rules in particular;\nat least, if there are, nobody attends to them--and you've no idea how\nconfusing it is all the things being alive; for instance, there's the\narch I've got to go through next walking about at the other end of the\nground--and I should have croqueted the Queen's hedgehog just now, only\nit ran away when it saw mine coming!'\n\n'How do you like the Queen?' said the Cat in a low voice.\n\n'Not at all,' said Alice: 'she's so extremely--' Just then she noticed\nthat the Queen was close behind her, listening: so she went on,\n'--likely to win, that it's hardly worth while finishing the game.'\n\nThe Queen smiled and passed on.\n\n'Who ARE you talking to?' said the King, going up to Alice, and looking\nat the Cat's head with great curiosity.\n\n'It's a friend of mine--a Cheshire Cat,' said Alice: 'allow me to\nintroduce it.'\n\n'I don't like the look of it at all,' said the King: 'however, it may\nkiss my hand if it likes.'\n\n'I'd rather not,' the Cat remarked.\n\n'Don't be impertinent,' said the King, 'and don't look at me like that!'\nHe got behind Alice as he spoke.\n\n'A cat may look at a king,' said Alice. 'I've read that in some book,\nbut I don't remember where.'\n\n'Well, it must be removed,' said the King very decidedly, and he called\nthe Queen, who was passing at the moment, 'My dear! I wish you would\nhave this cat removed!'\n\nThe Queen had only one way of settling all difficulties, great or small.\n'Off with his head!' she said, without even looking round.\n\n'I'll fetch the executioner myself,' said the King eagerly, and he\nhurried off.\n\nAlice thought she might as well go back, and see how the game was going\non, as she heard the Queen's voice in the distance, screaming with\npassion. She had already heard her sentence three of the players to be\nexecuted for having missed their turns, and she did not like the look\nof things at all, as the game was in such confusion that she never knew\nwhether it was her turn or not. So she went in search of her hedgehog.\n\nThe hedgehog was engaged in a fight with another hedgehog, which seemed\nto Alice an excellent opportunity for croqueting one of them with the\nother: the only difficulty was, that her flamingo was gone across to the\nother side of the garden, where Alice could see it trying in a helpless\nsort of way to fly up into a tree.\n\nBy the time she had caught the flamingo and brought it back, the fight\nwas over, and both the hedgehogs were out of sight: 'but it doesn't\nmatter much,' thought Alice, 'as all the arches are gone from this side\nof the ground.' So she tucked it away under her arm, that it might not\nescape again, and went back for a little more conversation with her\nfriend.\n\nWhen she got back to the Cheshire Cat, she was surprised to find quite a\nlarge crowd collected round it: there was a dispute going on between\nthe executioner, the King, and the Queen, who were all talking at once,\nwhile all the rest were quite silent, and looked very uncomfortable.\n\nThe moment Alice appeared, she was appealed to by all three to settle\nthe question, and they repeated their arguments to her, though, as they\nall spoke at once, she found it very hard indeed to make out exactly\nwhat they said.\n\nThe executioner's argument was, that you couldn't cut off a head unless\nthere was a body to cut it off from: that he had never had to do such a\nthing before, and he wasn't going to begin at HIS time of life.\n\nThe King's argument was, that anything that had a head could be\nbeheaded, and that you weren't to talk nonsense.\n\nThe Queen's argument was, that if something wasn't done about it in less\nthan no time she'd have everybody executed, all round. (It was this last\nremark that had made the whole party look so grave and anxious.)\n\nAlice could think of nothing else to say but 'It belongs to the Duchess:\nyou'd better ask HER about it.'\n\n'She's in prison,' the Queen said to the executioner: 'fetch her here.'\nAnd the executioner went off like an arrow.\n\n The Cat's head began fading away the moment he was gone, and,\nby the time he had come back with the Duchess, it had entirely\ndisappeared; so the King and the executioner ran wildly up and down\nlooking for it, while the rest of the party went back to the game.\n\n\n\n\n!!! CHAPTER IX. The Mock Turtle's Story\n\n'You can't think how glad I am to see you again, you dear old thing!'\nsaid the Duchess, as she tucked her arm affectionately into Alice's, and\nthey walked off together.\n\nAlice was very glad to find her in such a pleasant temper, and thought\nto herself that perhaps it was only the pepper that had made her so\nsavage when they met in the kitchen.\n\n'When I'M a Duchess,' she said to herself, (not in a very hopeful tone\nthough), 'I won't have any pepper in my kitchen AT ALL. Soup does very\nwell without--Maybe it's always pepper that makes people hot-tempered,'\nshe went on, very much pleased at having found out a new kind of\nrule, 'and vinegar that makes them sour--and camomile that makes\nthem bitter--and--and barley-sugar and such things that make children\nsweet-tempered. I only wish people knew that: then they wouldn't be so\nstingy about it, you know--'\n\nShe had quite forgotten the Duchess by this time, and was a little\nstartled when she heard her voice close to her ear. 'You're thinking\nabout something, my dear, and that makes you forget to talk. I can't\ntell you just now what the moral of that is, but I shall remember it in\na bit.'\n\n'Perhaps it hasn't one,' Alice ventured to remark.\n\n'Tut, tut, child!' said the Duchess. 'Everything's got a moral, if only\nyou can find it.' And she squeezed herself up closer to Alice's side as\nshe spoke.\n\nAlice did not much like keeping so close to her: first, because the\nDuchess was VERY ugly; and secondly, because she was exactly the\nright height to rest her chin upon Alice's shoulder, and it was an\nuncomfortably sharp chin. However, she did not like to be rude, so she\nbore it as well as she could.\n\n'The game's going on rather better now,' she said, by way of keeping up\nthe conversation a little.\n\n' 'Tis so,' said the Duchess: 'and the moral of that is--\"Oh, 'tis love,\n'tis love, that makes the world go round!\"'\n\n'Somebody said,' Alice whispered, 'that it's done by everybody minding\ntheir own business!'\n\n'Ah, well! It means much the same thing,' said the Duchess, digging her\nsharp little chin into Alice's shoulder as she added, 'and the moral\nof THAT is--\"Take care of the sense, and the sounds will take care of\nthemselves.\"'\n\n'How fond she is of finding morals in things!' Alice thought to herself.\n\n'I dare say you're wondering why I don't put my arm round your waist,'\nthe Duchess said after a pause: 'the reason is, that I'm doubtful about\nthe temper of your flamingo. Shall I try the experiment?'\n\n'HE might bite,' Alice cautiously replied, not feeling at all anxious to\nhave the experiment tried.\n\n'Very true,' said the Duchess: 'flamingoes and mustard both bite. And\nthe moral of that is--\"Birds of a feather flock together.\"'\n\n'Only mustard isn't a bird,' Alice remarked.\n\n'Right, as usual,' said the Duchess: 'what a clear way you have of\nputting things!'\n\n'It's a mineral, I THINK,' said Alice.\n\n'Of course it is,' said the Duchess, who seemed ready to agree to\neverything that Alice said; 'there's a large mustard-mine near here. And\nthe moral of that is--\"The more there is of mine, the less there is of\nyours.\"'\n\n'Oh, I know!' exclaimed Alice, who had not attended to this last remark,\n'it's a vegetable. It doesn't look like one, but it is.'\n\n'I quite agree with you,' said the Duchess; 'and the moral of that\nis--\"Be what you would seem to be\"--or if you'd like it put more\nsimply--\"Never imagine yourself not to be otherwise than what it might\nappear to others that what you were or might have been was not otherwise\nthan what you had been would have appeared to them to be otherwise.\"'\n\n'I think I should understand that better,' Alice said very politely, 'if\nI had it written down: but I can't quite follow it as you say it.'\n\n'That's nothing to what I could say if I chose,' the Duchess replied, in\na pleased tone.\n\n'Pray don't trouble yourself to say it any longer than that,' said\nAlice.\n\n'Oh, don't talk about trouble!' said the Duchess. 'I make you a present\nof everything I've said as yet.'\n\n'A cheap sort of present!' thought Alice. 'I'm glad they don't give\nbirthday presents like that!' But she did not venture to say it out\nloud.\n\n'Thinking again?' the Duchess asked, with another dig of her sharp\nlittle chin.\n\n'I've a right to think,' said Alice sharply, for she was beginning to\nfeel a little worried.\n\n'Just about as much right,' said the Duchess, 'as pigs have to fly; and\nthe m--'\n\nBut here, to Alice's great surprise, the Duchess's voice died away, even\nin the middle of her favourite word 'moral,' and the arm that was linked\ninto hers began to tremble. Alice looked up, and there stood the Queen\nin front of them, with her arms folded, frowning like a thunderstorm.\n\n'A fine day, your Majesty!' the Duchess began in a low, weak voice.\n\n'Now, I give you fair warning,' shouted the Queen, stamping on the\nground as she spoke; 'either you or your head must be off, and that in\nabout half no time! Take your choice!'\n\nThe Duchess took her choice, and was gone in a moment.\n\n'Let's go on with the game,' the Queen said to Alice; and Alice was\ntoo much frightened to say a word, but slowly followed her back to the\ncroquet-ground.\n\nThe other guests had taken advantage of the Queen's absence, and were\nresting in the shade: however, the moment they saw her, they hurried\nback to the game, the Queen merely remarking that a moment's delay would\ncost them their lives.\n\nAll the time they were playing the Queen never left off quarrelling with\nthe other players, and shouting 'Off with his head!' or 'Off with her\nhead!' Those whom she sentenced were taken into custody by the soldiers,\nwho of course had to leave off being arches to do this, so that by\nthe end of half an hour or so there were no arches left, and all the\nplayers, except the King, the Queen, and Alice, were in custody and\nunder sentence of execution.\n\nThen the Queen left off, quite out of breath, and said to Alice, 'Have\nyou seen the Mock Turtle yet?'\n\n'No,' said Alice. 'I don't even know what a Mock Turtle is.'\n\n'It's the thing Mock Turtle Soup is made from,' said the Queen.\n\n'I never saw one, or heard of one,' said Alice.\n\n'Come on, then,' said the Queen, 'and he shall tell you his history,'\n\nAs they walked off together, Alice heard the King say in a low voice,\nto the company generally, 'You are all pardoned.' 'Come, THAT'S a good\nthing!' she said to herself, for she had felt quite unhappy at the\nnumber of executions the Queen had ordered.\n\nThey very soon came upon a Gryphon, lying fast asleep in the sun.\n(IF you don't know what a Gryphon is, look at the picture.) 'Up, lazy\nthing!' said the Queen, 'and take this young lady to see the Mock\nTurtle, and to hear his history. I must go back and see after some\nexecutions I have ordered'; and she walked off, leaving Alice alone with\nthe Gryphon. Alice did not quite like the look of the creature, but on\nthe whole she thought it would be quite as safe to stay with it as to go\nafter that savage Queen: so she waited.\n\nThe Gryphon sat up and rubbed its eyes: then it watched the Queen till\nshe was out of sight: then it chuckled. 'What fun!' said the Gryphon,\nhalf to itself, half to Alice.\n\n'What IS the fun?' said Alice.\n\n'Why, SHE,' said the Gryphon. 'It's all her fancy, that: they never\nexecutes nobody, you know. Come on!'\n\n'Everybody says \"come on!\" here,' thought Alice, as she went slowly\nafter it: 'I never was so ordered about in all my life, never!'\n\nThey had not gone far before they saw the Mock Turtle in the distance,\nsitting sad and lonely on a little ledge of rock, and, as they came\nnearer, Alice could hear him sighing as if his heart would break. She\npitied him deeply. 'What is his sorrow?' she asked the Gryphon, and the\nGryphon answered, very nearly in the same words as before, 'It's all his\nfancy, that: he hasn't got no sorrow, you know. Come on!'\n\nSo they went up to the Mock Turtle, who looked at them with large eyes\nfull of tears, but said nothing.\n\n'This here young lady,' said the Gryphon, 'she wants for to know your\nhistory, she do.'\n\n'I'll tell it her,' said the Mock Turtle in a deep, hollow tone: 'sit\ndown, both of you, and don't speak a word till I've finished.'\n\nSo they sat down, and nobody spoke for some minutes. Alice thought to\nherself, 'I don't see how he can EVEN finish, if he doesn't begin.' But\nshe waited patiently.\n\n'Once,' said the Mock Turtle at last, with a deep sigh, 'I was a real\nTurtle.'\n\nThese words were followed by a very long silence, broken only by an\noccasional exclamation of 'Hjckrrh!' from the Gryphon, and the constant\nheavy sobbing of the Mock Turtle. Alice was very nearly getting up and\nsaying, 'Thank you, sir, for your interesting story,' but she could\nnot help thinking there MUST be more to come, so she sat still and said\nnothing.\n\n'When we were little,' the Mock Turtle went on at last, more calmly,\nthough still sobbing a little now and then, 'we went to school in the\nsea. The master was an old Turtle--we used to call him Tortoise--'\n\n'Why did you call him Tortoise, if he wasn't one?' Alice asked.\n\n'We called him Tortoise because he taught us,' said the Mock Turtle\nangrily: 'really you are very dull!'\n\n'You ought to be ashamed of yourself for asking such a simple question,'\nadded the Gryphon; and then they both sat silent and looked at poor\nAlice, who felt ready to sink into the earth. At last the Gryphon said\nto the Mock Turtle, 'Drive on, old fellow! Don't be all day about it!'\nand he went on in these words:\n\n'Yes, we went to school in the sea, though you mayn't believe it--'\n\n'I never said I didn't!' interrupted Alice.\n\n'You did,' said the Mock Turtle.\n\n'Hold your tongue!' added the Gryphon, before Alice could speak again.\nThe Mock Turtle went on.\n\n'We had the best of educations--in fact, we went to school every day--'\n\n'I'VE been to a day-school, too,' said Alice; 'you needn't be so proud\nas all that.'\n\n'With extras?' asked the Mock Turtle a little anxiously.\n\n'Yes,' said Alice, 'we learned French and music.'\n\n'And washing?' said the Mock Turtle.\n\n'Certainly not!' said Alice indignantly.\n\n'Ah! then yours wasn't a really good school,' said the Mock Turtle in\na tone of great relief. 'Now at OURS they had at the end of the bill,\n\"French, music, AND WASHING--extra.\"'\n\n'You couldn't have wanted it much,' said Alice; 'living at the bottom of\nthe sea.'\n\n'I couldn't afford to learn it.' said the Mock Turtle with a sigh. 'I\nonly took the regular course.'\n\n'What was that?' inquired Alice.\n\n'Reeling and Writhing, of course, to begin with,' the Mock Turtle\nreplied; 'and then the different branches of Arithmetic--Ambition,\nDistraction, Uglification, and Derision.'\n\n'I never heard of \"Uglification,\"' Alice ventured to say. 'What is it?'\n\nThe Gryphon lifted up both its paws in surprise. 'What! Never heard of\nuglifying!' it exclaimed. 'You know what to beautify is, I suppose?'\n\n'Yes,' said Alice doubtfully: 'it means--to--make--anything--prettier.'\n\n'Well, then,' the Gryphon went on, 'if you don't know what to uglify is,\nyou ARE a simpleton.'\n\nAlice did not feel encouraged to ask any more questions about it, so she\nturned to the Mock Turtle, and said 'What else had you to learn?'\n\n'Well, there was Mystery,' the Mock Turtle replied, counting off\nthe subjects on his flappers, '--Mystery, ancient and modern, with\nSeaography: then Drawling--the Drawling-master was an old conger-eel,\nthat used to come once a week: HE taught us Drawling, Stretching, and\nFainting in Coils.'\n\n'What was THAT like?' said Alice.\n\n'Well, I can't show it you myself,' the Mock Turtle said: 'I'm too\nstiff. And the Gryphon never learnt it.'\n\n'Hadn't time,' said the Gryphon: 'I went to the Classics master, though.\nHe was an old crab, HE was.'\n\n'I never went to him,' the Mock Turtle said with a sigh: 'he taught\nLaughing and Grief, they used to say.'\n\n'So he did, so he did,' said the Gryphon, sighing in his turn; and both\ncreatures hid their faces in their paws.\n\n'And how many hours a day did you do lessons?' said Alice, in a hurry to\nchange the subject.\n\n'Ten hours the first day,' said the Mock Turtle: 'nine the next, and so\non.'\n\n'What a curious plan!' exclaimed Alice.\n\n'That's the reason they're called lessons,' the Gryphon remarked:\n'because they lessen from day to day.'\n\nThis was quite a new idea to Alice, and she thought it over a little\nbefore she made her next remark. 'Then the eleventh day must have been a\nholiday?'\n\n'Of course it was,' said the Mock Turtle.\n\n'And how did you manage on the twelfth?' Alice went on eagerly.\n\n'That's enough about lessons,' the Gryphon interrupted in a very decided\ntone: 'tell her something about the games now.'\n\n\n\n\n!!! CHAPTER X. The Lobster Quadrille\n\nThe Mock Turtle sighed deeply, and drew the back of one flapper across\nhis eyes. He looked at Alice, and tried to speak, but for a minute or\ntwo sobs choked his voice. 'Same as if he had a bone in his throat,'\nsaid the Gryphon: and it set to work shaking him and punching him in\nthe back. At last the Mock Turtle recovered his voice, and, with tears\nrunning down his cheeks, he went on again:--\n\n'You may not have lived much under the sea--' ('I haven't,' said\nAlice)--'and perhaps you were never even introduced to a lobster--'\n(Alice began to say 'I once tasted--' but checked herself hastily, and\nsaid 'No, never') '--so you can have no idea what a delightful thing a\nLobster Quadrille is!'\n\n'No, indeed,' said Alice. 'What sort of a dance is it?'\n\n'Why,' said the Gryphon, 'you first form into a line along the\nsea-shore--'\n\n'Two lines!' cried the Mock Turtle. 'Seals, turtles, salmon, and so on;\nthen, when you've cleared all the jelly-fish out of the way--'\n\n'THAT generally takes some time,' interrupted the Gryphon.\n\n'--you advance twice--'\n\n'Each with a lobster as a partner!' cried the Gryphon.\n\n'Of course,' the Mock Turtle said: 'advance twice, set to partners--'\n\n'--change lobsters, and retire in same order,' continued the Gryphon.\n\n'Then, you know,' the Mock Turtle went on, 'you throw the--'\n\n'The lobsters!' shouted the Gryphon, with a bound into the air.\n\n'--as far out to sea as you can--'\n\n'Swim after them!' screamed the Gryphon.\n\n'Turn a somersault in the sea!' cried the Mock Turtle, capering wildly\nabout.\n\n'Change lobsters again!' yelled the Gryphon at the top of its voice.\n\n'Back to land again, and that's all the first figure,' said the Mock\nTurtle, suddenly dropping his voice; and the two creatures, who had been\njumping about like mad things all this time, sat down again very sadly\nand quietly, and looked at Alice.\n\n'It must be a very pretty dance,' said Alice timidly.\n\n'Would you like to see a little of it?' said the Mock Turtle.\n\n'Very much indeed,' said Alice.\n\n'Come, let's try the first figure!' said the Mock Turtle to the Gryphon.\n'We can do without lobsters, you know. Which shall sing?'\n\n'Oh, YOU sing,' said the Gryphon. 'I've forgotten the words.'\n\nSo they began solemnly dancing round and round Alice, every now and\nthen treading on her toes when they passed too close, and waving their\nforepaws to mark the time, while the Mock Turtle sang this, very slowly\nand sadly:--\n\n '\"Will you walk a little faster?\" said a whiting to a snail.\n \"There's a porpoise close behind us, and he's treading on my tail.\n\n See how eagerly the lobsters and the turtles all advance!\n They are waiting on the shingle--will you come and join the dance?\n\n Will you, won't you, will you, won't you, will you join the dance?\n Will you, won't you, will you, won't you, won't you join the dance?\n\n \"You can really have no notion how delightful it will be\n When they take us up and throw us, with the lobsters, out to sea!\"\n But the snail replied \"Too far, too far!\" and gave a look askance--\n Said he thanked the whiting kindly, but he would not join the dance.\n\n Would not, could not, would not, could not, would not join the dance.\n Would not, could not, would not, could not, could not join the dance.\n\n '\"What matters it how far we go?\" his scaly friend replied.\n \"There is another shore, you know, upon the other side.\n The further off from England the nearer is to France--\n Then turn not pale, beloved snail, but come and join the dance.\n\n Will you, won't you, will you, won't you, will you join the dance?\n Will you, won't you, will you, won't you, won't you join the dance?\"'\n\n'Thank you, it's a very interesting dance to watch,' said Alice, feeling\nvery glad that it was over at last: 'and I do so like that curious song\nabout the whiting!'\n\n'Oh, as to the whiting,' said the Mock Turtle, 'they--you've seen them,\nof course?'\n\n'Yes,' said Alice, 'I've often seen them at dinn--' she checked herself\nhastily.\n\n'I don't know where Dinn may be,' said the Mock Turtle, 'but if you've\nseen them so often, of course you know what they're like.'\n\n'I believe so,' Alice replied thoughtfully. 'They have their tails in\ntheir mouths--and they're all over crumbs.'\n\n'You're wrong about the crumbs,' said the Mock Turtle: 'crumbs would all\nwash off in the sea. But they HAVE their tails in their mouths; and the\nreason is--' here the Mock Turtle yawned and shut his eyes.--'Tell her\nabout the reason and all that,' he said to the Gryphon.\n\n'The reason is,' said the Gryphon, 'that they WOULD go with the lobsters\nto the dance. So they got thrown out to sea. So they had to fall a long\nway. So they got their tails fast in their mouths. So they couldn't get\nthem out again. That's all.'\n\n'Thank you,' said Alice, 'it's very interesting. I never knew so much\nabout a whiting before.'\n\n'I can tell you more than that, if you like,' said the Gryphon. 'Do you\nknow why it's called a whiting?'\n\n'I never thought about it,' said Alice. 'Why?'\n\n'IT DOES THE BOOTS AND SHOES.' the Gryphon replied very solemnly.\n\nAlice was thoroughly puzzled. 'Does the boots and shoes!' she repeated\nin a wondering tone.\n\n'Why, what are YOUR shoes done with?' said the Gryphon. 'I mean, what\nmakes them so shiny?'\n\nAlice looked down at them, and considered a little before she gave her\nanswer. 'They're done with blacking, I believe.'\n\n'Boots and shoes under the sea,' the Gryphon went on in a deep voice,\n'are done with a whiting. Now you know.'\n\n'And what are they made of?' Alice asked in a tone of great curiosity.\n\n'Soles and eels, of course,' the Gryphon replied rather impatiently:\n'any shrimp could have told you that.'\n\n'If I'd been the whiting,' said Alice, whose thoughts were still running\non the song, 'I'd have said to the porpoise, \"Keep back, please: we\ndon't want YOU with us!\"'\n\n'They were obliged to have him with them,' the Mock Turtle said: 'no\nwise fish would go anywhere without a porpoise.'\n\n'Wouldn't it really?' said Alice in a tone of great surprise.\n\n'Of course not,' said the Mock Turtle: 'why, if a fish came to ME, and\ntold me he was going a journey, I should say \"With what porpoise?\"'\n\n'Don't you mean \"purpose\"?' said Alice.\n\n'I mean what I say,' the Mock Turtle replied in an offended tone. And\nthe Gryphon added 'Come, let's hear some of YOUR adventures.'\n\n'I could tell you my adventures--beginning from this morning,' said\nAlice a little timidly: 'but it's no use going back to yesterday,\nbecause I was a different person then.'\n\n'Explain all that,' said the Mock Turtle.\n\n'No, no! The adventures first,' said the Gryphon in an impatient tone:\n'explanations take such a dreadful time.'\n\nSo Alice began telling them her adventures from the time when she first\nsaw the White Rabbit. She was a little nervous about it just at first,\nthe two creatures got so close to her, one on each side, and opened\ntheir eyes and mouths so VERY wide, but she gained courage as she went\non. Her listeners were perfectly quiet till she got to the part about\nher repeating 'YOU ARE OLD, FATHER WILLIAM,' to the Caterpillar, and the\nwords all coming different, and then the Mock Turtle drew a long breath,\nand said 'That's very curious.'\n\n'It's all about as curious as it can be,' said the Gryphon.\n\n'It all came different!' the Mock Turtle repeated thoughtfully. 'I\nshould like to hear her try and repeat something now. Tell her to\nbegin.' He looked at the Gryphon as if he thought it had some kind of\nauthority over Alice.\n\n'Stand up and repeat \"'TIS THE VOICE OF THE SLUGGARD,\"' said the\nGryphon.\n\n'How the creatures order one about, and make one repeat lessons!'\nthought Alice; 'I might as well be at school at once.' However, she\ngot up, and began to repeat it, but her head was so full of the Lobster\nQuadrille, that she hardly knew what she was saying, and the words came\nvery queer indeed:--\n\n  ' 'Tis the voice of the Lobster; I heard him declare,\n  \"You have baked me too brown, I must sugar my hair.\"\n  As a duck with its eyelids, so he with his nose\n  Trims his belt and his buttons, and turns out his toes.'\n\n       [later editions continued as follows\n  When the sands are all dry, he is gay as a lark,\n  And will talk in contemptuous tones of the Shark,\n  But, when the tide rises and sharks are around,\n  His voice has a timid and tremulous sound.]\n\n'That's different from what I used to say when I was a child,' said the\nGryphon.\n\n'Well, I never heard it before,' said the Mock Turtle; 'but it sounds\nuncommon nonsense.'\n\nAlice said nothing; she had sat down with her face in her hands,\nwondering if anything would EVER happen in a natural way again.\n\n'I should like to have it explained,' said the Mock Turtle.\n\n'She can't explain it,' said the Gryphon hastily. 'Go on with the next\nverse.'\n\n'But about his toes?' the Mock Turtle persisted. 'How COULD he turn them\nout with his nose, you know?'\n\n'It's the first position in dancing.' Alice said; but was dreadfully\npuzzled by the whole thing, and longed to change the subject.\n\n'Go on with the next verse,' the Gryphon repeated impatiently: 'it\nbegins \"I passed by his garden.\"'\n\nAlice did not dare to disobey, though she felt sure it would all come\nwrong, and she went on in a trembling voice:--\n\n  'I passed by his garden, and marked, with one eye,\n  How the Owl and the Panther were sharing a pie--'\n\n    [later editions continued as follows\n  The Panther took pie-crust, and gravy, and meat,\n  While the Owl had the dish as its share of the treat.\n  When the pie was all finished, the Owl, as a boon,\n  Was kindly permitted to pocket the spoon:\n  While the Panther received knife and fork with a growl,\n  And concluded the banquet--]\n\n'What IS the use of repeating all that stuff,' the Mock Turtle\ninterrupted, 'if you don't explain it as you go on? It's by far the most\nconfusing thing I ever heard!'\n\n'Yes, I think you'd better leave off,' said the Gryphon: and Alice was\nonly too glad to do so.\n\n'Shall we try another figure of the Lobster Quadrille?' the Gryphon went\non. 'Or would you like the Mock Turtle to sing you a song?'\n\n'Oh, a song, please, if the Mock Turtle would be so kind,' Alice\nreplied, so eagerly that the Gryphon said, in a rather offended tone,\n'Hm! No accounting for tastes! Sing her \"Turtle Soup,\" will you, old\nfellow?'\n\nThe Mock Turtle sighed deeply, and began, in a voice sometimes choked\nwith sobs, to sing this:--\n\n   'Beautiful Soup, so rich and green,\n   Waiting in a hot tureen!\n   Who for such dainties would not stoop?\n   Soup of the evening, beautiful Soup!\n   Soup of the evening, beautiful Soup!\n     Beau--ootiful Soo--oop!\n     Beau--ootiful Soo--oop!\n   Soo--oop of the e--e--evening,\n     Beautiful, beautiful Soup!\n\n   'Beautiful Soup! Who cares for fish,\n   Game, or any other dish?\n   Who would not give all else for two\n   Pennyworth only of beautiful Soup?\n   Pennyworth only of beautiful Soup?\n     Beau--ootiful Soo--oop!\n     Beau--ootiful Soo--oop!\n   Soo--oop of the e--e--evening,\n     Beautiful, beauti--FUL SOUP!'\n\n'Chorus again!' cried the Gryphon, and the Mock Turtle had just begun\nto repeat it, when a cry of 'The trial's beginning!' was heard in the\ndistance.\n\n'Come on!' cried the Gryphon, and, taking Alice by the hand, it hurried\noff, without waiting for the end of the song.\n\n'What trial is it?' Alice panted as she ran; but the Gryphon only\nanswered 'Come on!' and ran the faster, while more and more faintly\ncame, carried on the breeze that followed them, the melancholy words:--\n\n   'Soo--oop of the e--e--evening,\n     Beautiful, beautiful Soup!'\n\n\n\n\n!!! CHAPTER XI. Who Stole the Tarts?\n\nThe King and Queen of Hearts were seated on their throne when they\narrived, with a great crowd assembled about them--all sorts of little\nbirds and beasts, as well as the whole pack of cards: the Knave was\nstanding before them, in chains, with a soldier on each side to guard\nhim; and near the King was the White Rabbit, with a trumpet in one hand,\nand a scroll of parchment in the other. In the very middle of the court\nwas a table, with a large dish of tarts upon it: they looked so good,\nthat it made Alice quite hungry to look at them--'I wish they'd get the\ntrial done,' she thought, 'and hand round the refreshments!' But there\nseemed to be no chance of this, so she began looking at everything about\nher, to pass away the time.\n\nAlice had never been in a court of justice before, but she had read\nabout them in books, and she was quite pleased to find that she knew\nthe name of nearly everything there. 'That's the judge,' she said to\nherself, 'because of his great wig.'\n\nThe judge, by the way, was the King; and as he wore his crown over the\nwig, (look at the frontispiece if you want to see how he did it,) he did\nnot look at all comfortable, and it was certainly not becoming.\n\n'And that's the jury-box,' thought Alice, 'and those twelve creatures,'\n(she was obliged to say 'creatures,' you see, because some of them were\nanimals, and some were birds,) 'I suppose they are the jurors.' She said\nthis last word two or three times over to herself, being rather proud of\nit: for she thought, and rightly too, that very few little girls of her\nage knew the meaning of it at all. However, 'jury-men' would have done\njust as well.\n\nThe twelve jurors were all writing very busily on slates. 'What are they\ndoing?' Alice whispered to the Gryphon. 'They can't have anything to put\ndown yet, before the trial's begun.'\n\n'They're putting down their names,' the Gryphon whispered in reply, 'for\nfear they should forget them before the end of the trial.'\n\n'Stupid things!' Alice began in a loud, indignant voice, but she stopped\nhastily, for the White Rabbit cried out, 'Silence in the court!' and the\nKing put on his spectacles and looked anxiously round, to make out who\nwas talking.\n\nAlice could see, as well as if she were looking over their shoulders,\nthat all the jurors were writing down 'stupid things!' on their slates,\nand she could even make out that one of them didn't know how to spell\n'stupid,' and that he had to ask his neighbour to tell him. 'A nice\nmuddle their slates'll be in before the trial's over!' thought Alice.\n\nOne of the jurors had a pencil that squeaked. This of course, Alice\ncould not stand, and she went round the court and got behind him, and\nvery soon found an opportunity of taking it away. She did it so quickly\nthat the poor little juror (it was Bill, the Lizard) could not make out\nat all what had become of it; so, after hunting all about for it, he was\nobliged to write with one finger for the rest of the day; and this was\nof very little use, as it left no mark on the slate.\n\n'Herald, read the accusation!' said the King.\n\nOn this the White Rabbit blew three blasts on the trumpet, and then\nunrolled the parchment scroll, and read as follows:--\n\n   'The Queen of Hearts, she made some tarts,\n      All on a summer day:\n    The Knave of Hearts, he stole those tarts,\n      And took them quite away!'\n\n'Consider your verdict,' the King said to the jury.\n\n'Not yet, not yet!' the Rabbit hastily interrupted. 'There's a great\ndeal to come before that!'\n\n'Call the first witness,' said the King; and the White Rabbit blew three\nblasts on the trumpet, and called out, 'First witness!'\n\nThe first witness was the Hatter. He came in with a teacup in one\nhand and a piece of bread-and-butter in the other. 'I beg pardon, your\nMajesty,' he began, 'for bringing these in: but I hadn't quite finished\nmy tea when I was sent for.'\n\n'You ought to have finished,' said the King. 'When did you begin?'\n\nThe Hatter looked at the March Hare, who had followed him into the\ncourt, arm-in-arm with the Dormouse. 'Fourteenth of March, I think it\nwas,' he said.\n\n'Fifteenth,' said the March Hare.\n\n'Sixteenth,' added the Dormouse.\n\n'Write that down,' the King said to the jury, and the jury eagerly\nwrote down all three dates on their slates, and then added them up, and\nreduced the answer to shillings and pence.\n\n'Take off your hat,' the King said to the Hatter.\n\n'It isn't mine,' said the Hatter.\n\n'Stolen!' the King exclaimed, turning to the jury, who instantly made a\nmemorandum of the fact.\n\n'I keep them to sell,' the Hatter added as an explanation; 'I've none of\nmy own. I'm a hatter.'\n\nHere the Queen put on her spectacles, and began staring at the Hatter,\nwho turned pale and fidgeted.\n\n'Give your evidence,' said the King; 'and don't be nervous, or I'll have\nyou executed on the spot.'\n\nThis did not seem to encourage the witness at all: he kept shifting\nfrom one foot to the other, looking uneasily at the Queen, and in\nhis confusion he bit a large piece out of his teacup instead of the\nbread-and-butter.\n\nJust at this moment Alice felt a very curious sensation, which puzzled\nher a good deal until she made out what it was: she was beginning to\ngrow larger again, and she thought at first she would get up and leave\nthe court; but on second thoughts she decided to remain where she was as\nlong as there was room for her.\n\n'I wish you wouldn't squeeze so.' said the Dormouse, who was sitting\nnext to her. 'I can hardly breathe.'\n\n'I can't help it,' said Alice very meekly: 'I'm growing.'\n\n'You've no right to grow here,' said the Dormouse.\n\n'Don't talk nonsense,' said Alice more boldly: 'you know you're growing\ntoo.'\n\n'Yes, but I grow at a reasonable pace,' said the Dormouse: 'not in that\nridiculous fashion.' And he got up very sulkily and crossed over to the\nother side of the court.\n\nAll this time the Queen had never left off staring at the Hatter, and,\njust as the Dormouse crossed the court, she said to one of the officers\nof the court, 'Bring me the list of the singers in the last concert!' on\nwhich the wretched Hatter trembled so, that he shook both his shoes off.\n\n'Give your evidence,' the King repeated angrily, 'or I'll have you\nexecuted, whether you're nervous or not.'\n\n'I'm a poor man, your Majesty,' the Hatter began, in a trembling voice,\n'--and I hadn't begun my tea--not above a week or so--and what with the\nbread-and-butter getting so thin--and the twinkling of the tea--'\n\n'The twinkling of the what?' said the King.\n\n'It began with the tea,' the Hatter replied.\n\n'Of course twinkling begins with a T!' said the King sharply. 'Do you\ntake me for a dunce? Go on!'\n\n'I'm a poor man,' the Hatter went on, 'and most things twinkled after\nthat--only the March Hare said--'\n\n'I didn't!' the March Hare interrupted in a great hurry.\n\n'You did!' said the Hatter.\n\n'I deny it!' said the March Hare.\n\n'He denies it,' said the King: 'leave out that part.'\n\n'Well, at any rate, the Dormouse said--' the Hatter went on, looking\nanxiously round to see if he would deny it too: but the Dormouse denied\nnothing, being fast asleep.\n\n'After that,' continued the Hatter, 'I cut some more bread-and-butter--'\n\n'But what did the Dormouse say?' one of the jury asked.\n\n'That I can't remember,' said the Hatter.\n\n'You MUST remember,' remarked the King, 'or I'll have you executed.'\n\nThe miserable Hatter dropped his teacup and bread-and-butter, and went\ndown on one knee. 'I'm a poor man, your Majesty,' he began.\n\n'You're a very poor speaker,' said the King.\n\nHere one of the guinea-pigs cheered, and was immediately suppressed by\nthe officers of the court. (As that is rather a hard word, I will just\nexplain to you how it was done. They had a large canvas bag, which tied\nup at the mouth with strings: into this they slipped the guinea-pig,\nhead first, and then sat upon it.)\n\n'I'm glad I've seen that done,' thought Alice. 'I've so often read\nin the newspapers, at the end of trials, \"There was some attempts\nat applause, which was immediately suppressed by the officers of the\ncourt,\" and I never understood what it meant till now.'\n\n'If that's all you know about it, you may stand down,' continued the\nKing.\n\n'I can't go no lower,' said the Hatter: 'I'm on the floor, as it is.'\n\n'Then you may SIT down,' the King replied.\n\nHere the other guinea-pig cheered, and was suppressed.\n\n'Come, that finished the guinea-pigs!' thought Alice. 'Now we shall get\non better.'\n\n'I'd rather finish my tea,' said the Hatter, with an anxious look at the\nQueen, who was reading the list of singers.\n\n'You may go,' said the King, and the Hatter hurriedly left the court,\nwithout even waiting to put his shoes on.\n\n'--and just take his head off outside,' the Queen added to one of the\nofficers: but the Hatter was out of sight before the officer could get\nto the door.\n\n'Call the next witness!' said the King.\n\nThe next witness was the Duchess's cook. She carried the pepper-box in\nher hand, and Alice guessed who it was, even before she got into the\ncourt, by the way the people near the door began sneezing all at once.\n\n'Give your evidence,' said the King.\n\n'Shan't,' said the cook.\n\nThe King looked anxiously at the White Rabbit, who said in a low voice,\n'Your Majesty must cross-examine THIS witness.'\n\n'Well, if I must, I must,' the King said, with a melancholy air, and,\nafter folding his arms and frowning at the cook till his eyes were\nnearly out of sight, he said in a deep voice, 'What are tarts made of?'\n\n'Pepper, mostly,' said the cook.\n\n'Treacle,' said a sleepy voice behind her.\n\n'Collar that Dormouse,' the Queen shrieked out. 'Behead that Dormouse!\nTurn that Dormouse out of court! Suppress him! Pinch him! Off with his\nwhiskers!'\n\nFor some minutes the whole court was in confusion, getting the Dormouse\nturned out, and, by the time they had settled down again, the cook had\ndisappeared.\n\n'Never mind!' said the King, with an air of great relief. 'Call the next\nwitness.' And he added in an undertone to the Queen, 'Really, my dear,\nYOU must cross-examine the next witness. It quite makes my forehead\nache!'\n\nAlice watched the White Rabbit as he fumbled over the list, feeling very\ncurious to see what the next witness would be like, '--for they haven't\ngot much evidence YET,' she said to herself. Imagine her surprise, when\nthe White Rabbit read out, at the top of his shrill little voice, the\nname 'Alice!'\n\n\n\n\n!!! CHAPTER XII. Alice's Evidence\n\n\n'Here!' cried Alice, quite forgetting in the flurry of the moment how\nlarge she had grown in the last few minutes, and she jumped up in such\na hurry that she tipped over the jury-box with the edge of her skirt,\nupsetting all the jurymen on to the heads of the crowd below, and there\nthey lay sprawling about, reminding her very much of a globe of goldfish\nshe had accidentally upset the week before.\n\n'Oh, I BEG your pardon!' she exclaimed in a tone of great dismay, and\nbegan picking them up again as quickly as she could, for the accident of\nthe goldfish kept running in her head, and she had a vague sort of idea\nthat they must be collected at once and put back into the jury-box, or\nthey would die.\n\n'The trial cannot proceed,' said the King in a very grave voice, 'until\nall the jurymen are back in their proper places--ALL,' he repeated with\ngreat emphasis, looking hard at Alice as he said do.\n\nAlice looked at the jury-box, and saw that, in her haste, she had put\nthe Lizard in head downwards, and the poor little thing was waving its\ntail about in a melancholy way, being quite unable to move. She soon got\nit out again, and put it right; 'not that it signifies much,' she said\nto herself; 'I should think it would be QUITE as much use in the trial\none way up as the other.'\n\nAs soon as the jury had a little recovered from the shock of being\nupset, and their slates and pencils had been found and handed back to\nthem, they set to work very diligently to write out a history of the\naccident, all except the Lizard, who seemed too much overcome to do\nanything but sit with its mouth open, gazing up into the roof of the\ncourt.\n\n'What do you know about this business?' the King said to Alice.\n\n'Nothing,' said Alice.\n\n'Nothing WHATEVER?' persisted the King.\n\n'Nothing whatever,' said Alice.\n\n'That's very important,' the King said, turning to the jury. They were\njust beginning to write this down on their slates, when the White Rabbit\ninterrupted: 'UNimportant, your Majesty means, of course,' he said in a\nvery respectful tone, but frowning and making faces at him as he spoke.\n\n'UNimportant, of course, I meant,' the King hastily said, and went on\nto himself in an undertone,\n\n'important--unimportant--unimportant--important--' as if he were trying\nwhich word sounded best.\n\nSome of the jury wrote it down 'important,' and some 'unimportant.'\nAlice could see this, as she was near enough to look over their slates;\n'but it doesn't matter a bit,' she thought to herself.\n\nAt this moment the King, who had been for some time busily writing in\nhis note-book, cackled out 'Silence!' and read out from his book, 'Rule\nForty-two. ALL PERSONS MORE THAN A MILE HIGH TO LEAVE THE COURT.'\n\nEverybody looked at Alice.\n\n'I'M not a mile high,' said Alice.\n\n'You are,' said the King.\n\n'Nearly two miles high,' added the Queen.\n\n'Well, I shan't go, at any rate,' said Alice: 'besides, that's not a\nregular rule: you invented it just now.'\n\n'It's the oldest rule in the book,' said the King.\n\n'Then it ought to be Number One,' said Alice.\n\nThe King turned pale, and shut his note-book hastily. 'Consider your\nverdict,' he said to the jury, in a low, trembling voice.\n\n'There's more evidence to come yet, please your Majesty,' said the White\nRabbit, jumping up in a great hurry; 'this paper has just been picked\nup.'\n\n'What's in it?' said the Queen.\n\n'I haven't opened it yet,' said the White Rabbit, 'but it seems to be a\nletter, written by the prisoner to--to somebody.'\n\n'It must have been that,' said the King, 'unless it was written to\nnobody, which isn't usual, you know.'\n\n'Who is it directed to?' said one of the jurymen.\n\n'It isn't directed at all,' said the White Rabbit; 'in fact, there's\nnothing written on the OUTSIDE.' He unfolded the paper as he spoke, and\nadded 'It isn't a letter, after all: it's a set of verses.'\n\n'Are they in the prisoner's handwriting?' asked another of the jurymen.\n\n'No, they're not,' said the White Rabbit, 'and that's the queerest thing\nabout it.' (The jury all looked puzzled.)\n\n'He must have imitated somebody else's hand,' said the King. (The jury\nall brightened up again.)\n\n'Please your Majesty,' said the Knave, 'I didn't write it, and they\ncan't prove I did: there's no name signed at the end.'\n\n'If you didn't sign it,' said the King, 'that only makes the matter\nworse. You MUST have meant some mischief, or else you'd have signed your\nname like an honest man.'\n\nThere was a general clapping of hands at this: it was the first really\nclever thing the King had said that day.\n\n'That PROVES his guilt,' said the Queen.\n\n'It proves nothing of the sort!' said Alice. 'Why, you don't even know\nwhat they're about!'\n\n'Read them,' said the King.\n\nThe White Rabbit put on his spectacles. 'Where shall I begin, please\nyour Majesty?' he asked.\n\n'Begin at the beginning,' the King said gravely, 'and go on till you\ncome to the end: then stop.'\n\nThese were the verses the White Rabbit read:--\n\n   'They told me you had been to her,\n    And mentioned me to him:\n   She gave me a good character,\n    But said I could not swim.\n\n   He sent them word I had not gone\n    (We know it to be true):\n   If she should push the matter on,\n    What would become of you?\n\n   I gave her one, they gave him two,\n    You gave us three or more;\n   They all returned from him to you,\n    Though they were mine before.\n\n   If I or she should chance to be\n    Involved in this affair,\n   He trusts to you to set them free,\n    Exactly as we were.\n\n   My notion was that you had been\n    (Before she had this fit)\n   An obstacle that came between\n    Him, and ourselves, and it.\n\n   Don't let him know she liked them best,\n    For this must ever be\n   A secret, kept from all the rest,\n    Between yourself and me.'\n\n'That's the most important piece of evidence we've heard yet,' said the\nKing, rubbing his hands; 'so now let the jury--'\n\n'If any one of them can explain it,' said Alice, (she had grown so large\nin the last few minutes that she wasn't a bit afraid of interrupting\nhim,) 'I'll give him sixpence. _I_ don't believe there's an atom of\nmeaning in it.'\n\nThe jury all wrote down on their slates, 'SHE doesn't believe there's an\natom of meaning in it,' but none of them attempted to explain the paper.\n\n'If there's no meaning in it,' said the King, 'that saves a world of\ntrouble, you know, as we needn't try to find any. And yet I don't know,'\nhe went on, spreading out the verses on his knee, and looking at them\nwith one eye; 'I seem to see some meaning in them, after all. \"--SAID\nI COULD NOT SWIM--\" you can't swim, can you?' he added, turning to the\nKnave.\n\nThe Knave shook his head sadly. 'Do I look like it?' he said. (Which he\ncertainly did NOT, being made entirely of cardboard.)\n\n'All right, so far,' said the King, and he went on muttering over\nthe verses to himself: '\"WE KNOW IT TO BE TRUE--\" that's the jury, of\ncourse--\"I GAVE HER ONE, THEY GAVE HIM TWO--\" why, that must be what he\ndid with the tarts, you know--'\n\n'But, it goes on \"THEY ALL RETURNED FROM HIM TO YOU,\"' said Alice.\n\n'Why, there they are!' said the King triumphantly, pointing to the tarts\non the table. 'Nothing can be clearer than THAT. Then again--\"BEFORE SHE\nHAD THIS FIT--\" you never had fits, my dear, I think?' he said to the\nQueen.\n\n'Never!' said the Queen furiously, throwing an inkstand at the Lizard\nas she spoke. (The unfortunate little Bill had left off writing on his\nslate with one finger, as he found it made no mark; but he now hastily\nbegan again, using the ink, that was trickling down his face, as long as\nit lasted.)\n\n'Then the words don't FIT you,' said the King, looking round the court\nwith a smile. There was a dead silence.\n\n'It's a pun!' the King added in an offended tone, and everybody laughed,\n'Let the jury consider their verdict,' the King said, for about the\ntwentieth time that day.\n\n'No, no!' said the Queen. 'Sentence first--verdict afterwards.'\n\n'Stuff and nonsense!' said Alice loudly. 'The idea of having the\nsentence first!'\n\n'Hold your tongue!' said the Queen, turning purple.\n\n'I won't!' said Alice.\n\n'Off with her head!' the Queen shouted at the top of her voice. Nobody\nmoved.\n\n'Who cares for you?' said Alice, (she had grown to her full size by this\ntime.) 'You're nothing but a pack of cards!'\n\nAt this the whole pack rose up into the air, and came flying down upon\nher: she gave a little scream, half of fright and half of anger, and\ntried to beat them off, and found herself lying on the bank, with her\nhead in the lap of her sister, who was gently brushing away some dead\nleaves that had fluttered down from the trees upon her face.\n\n'Wake up, Alice dear!' said her sister; 'Why, what a long sleep you've\nhad!'\n\n'Oh, I've had such a curious dream!' said Alice, and she told her\nsister, as well as she could remember them, all these strange Adventures\nof hers that you have just been reading about; and when she had\nfinished, her sister kissed her, and said, 'It WAS a curious dream,\ndear, certainly: but now run in to your tea; it's getting late.' So\nAlice got up and ran off, thinking while she ran, as well she might,\nwhat a wonderful dream it had been.\n\nBut her sister sat still just as she left her, leaning her head on her\nhand, watching the setting sun, and thinking of little Alice and all her\nwonderful Adventures, till she too began dreaming after a fashion, and\nthis was her dream:--\n\nFirst, she dreamed of little Alice herself, and once again the tiny\nhands were clasped upon her knee, and the bright eager eyes were looking\nup into hers--she could hear the very tones of her voice, and see that\nqueer little toss of her head to keep back the wandering hair that\nWOULD always get into her eyes--and still as she listened, or seemed to\nlisten, the whole place around her became alive with the strange creatures\nof her little sister's dream.\n\nThe long grass rustled at her feet as the White Rabbit hurried by--the\nfrightened Mouse splashed his way through the neighbouring pool--she\ncould hear the rattle of the teacups as the March Hare and his friends\nshared their never-ending meal, and the shrill voice of the Queen\nordering off her unfortunate guests to execution--once more the pig-baby\nwas sneezing on the Duchess's knee, while plates and dishes crashed\naround it--once more the shriek of the Gryphon, the squeaking of the\nLizard's slate-pencil, and the choking of the suppressed guinea-pigs,\nfilled the air, mixed up with the distant sobs of the miserable Mock\nTurtle.\n\nSo she sat on, with closed eyes, and half believed herself in\nWonderland, though she knew she had but to open them again, and all\nwould change to dull reality--the grass would be only rustling in the\nwind, and the pool rippling to the waving of the reeds--the rattling\nteacups would change to tinkling sheep-bells, and the Queen's shrill\ncries to the voice of the shepherd boy--and the sneeze of the baby, the\nshriek of the Gryphon, and all the other queer noises, would change (she\nknew) to the confused clamour of the busy farm-yard--while the lowing\nof the cattle in the distance would take the place of the Mock Turtle's\nheavy sobs.\n\nLastly, she pictured to herself how this same little sister of hers\nwould, in the after-time, be herself a grown woman; and how she would\nkeep, through all her riper years, the simple and loving heart of her\nchildhood: and how she would gather about her other little children, and\nmake THEIR eyes bright and eager with many a strange tale, perhaps even\nwith the dream of Wonderland of long ago: and how she would feel with\nall their simple sorrows, and find a pleasure in all their simple joys,\nremembering her own child-life, and the happy summer days.\n\n              THE END\n"
  },
  {
    "path": "editions/dynaviewdemo/tiddlywiki.info",
    "content": "{\n\t\"description\": \"Demo of the DynaView plugin\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/dynaview\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\"\n\t],\n\t\"build\": {\n\t\t\"index\": [\n\t\t\t\"--rendertiddler\",\"$:/core/save/all\",\"index.html\",\"text/plain\"],\n\t\t\"external\": [\n\t\t\t\"--render\",\"$:/core/save/all-external-js\",\"index.html\",\"text/plain\"\n\t\t]\n\t}\n}"
  },
  {
    "path": "editions/empty/tiddlywiki.info",
    "content": "{\n\t\"description\": \"Empty edition\",\n\t\"plugins\": [\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\"\n\t],\n\t\"build\": {\n\t\t\"index\": [\n\t\t\t\"--render\",\"$:/core/save/all\",\"index.html\",\"text/plain\"],\n\t\t\"empty\": [\n\t\t\t\"--render\",\"$:/core/save/all\",\"empty.html\",\"text/plain\"],\n\t\t\"emptyexternalcore\": [\n\t\t\t\"--render\",\"$:/core/save/offline-external-js\",\"empty-external-core.html\",\"text/plain\",\n\t\t\t\"--render\",\"$:/core/templates/tiddlywiki5.js\",\"[[tiddlywikicore-]addsuffix<version>addsuffix[.js]]\",\"text/plain\"],\n\t\t\"externalimages\": [\n\t\t\t\"--savetiddlers\",\"[is[image]]\",\"images\",\n\t\t\t\"--setfield\",\"[is[image]]\",\"_canonical_uri\",\"$:/core/templates/canonical-uri-external-image\",\"text/plain\",\n\t\t\t\"--setfield\",\"[is[image]]\",\"text\",\"\",\"text/plain\",\n\t\t\t\"--render\",\"$:/core/save/all\",\"externalimages.html\",\"text/plain\"],\n\t\t\"static\": [\n\t\t\t\"--render\",\"$:/core/templates/static.template.html\",\"static.html\",\"text/plain\",\n\t\t\t\"--render\",\"$:/core/templates/alltiddlers.template.html\",\"alltiddlers.html\",\"text/plain\",\n\t\t\t\"--render\",\"[!is[system]]\",\"[encodeuricomponent[]addprefix[static/]addsuffix[.html]]\",\"text/plain\",\"$:/core/templates/static.tiddler.html\",\n\t\t\t\"--render\",\"$:/core/templates/static.template.css\",\"static/static.css\",\"text/plain\"]\n\t}\n}\n"
  },
  {
    "path": "editions/es-ES/tiddlers/$__Acknowledgements.tid",
    "content": "created: 20160511152639376\nmodified: 20160511152744722\ntitle: $:/Acknowledgements\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki incorpora código de los siguientes proyectos OpenSource:\n\n* [[The Stanford Javascript Crypto Library|http://bitwiseshiftleft.github.io/sjcl/]]\n* [[The Jasmine JavaScript Test Framework|https://jasmine.github.io/]]\n* [[Normalize.css by Nicolas Gallagher|http://necolas.github.io/normalize.css/]]\n\n...y materiales de estos otros proyectos:\n\n* Banderas del mundo [[Wikipedia|http://commons.wikimedia.org/wiki/Category:SVG_flags_by_country]]\n"
  },
  {
    "path": "editions/es-ES/tiddlers/$__AdvancedSearch.tid",
    "content": "caption: Búsqueda avanzada\ncolor: #bbb\ncreated: 20160503162505558\nes-title: Búsqueda avanzada\nicon: $:/core/images/advanced-search-button\nmodified: 20160503162506925\ntitle: $:/AdvancedSearch\ntype: text/vnd.tiddlywiki\n\n<div class=\"tc-advanced-search\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch]!has[draft.of]]\" \"$:/core/ui/AdvancedSearch/System\">>\n</div>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/$__ContributionBanner.tid",
    "content": "created: 20160419092851048\nlist-after: $:/core/ui/EditTemplate/title\nmodified: 20160515101246618\ntags: $:/tags/EditTemplate\ntitle: $:/ContributionBanner\ntype: text/vnd.tiddlywiki\n\n\\define base-github()\nhttps://github.com/TiddlyWiki/TiddlyWiki5/edit/master/editions/es-ES/tiddlers/\n\\end\n\n<$set name=\"draft-of\" value={{{ [<currentTiddler>get[draft.of]] }}}>\n<$list filter=\"[[$:/config/OriginalTiddlerPaths]getindex<draft-of>]\" variable=\"target\" >\n<div class=\"tc-improvement-banner\">\n{{$:/core/images/star-filled}} ¿Puedes ayudarnos a mejorar la documentación? [[Aquí te explicamos|Improving TiddlyWiki Documentation]] cómo editar\n<a href={{{ [<target>addprefix<base-github>] }}} class=\"tc-tiddlylink-external\" target=\"_blank\" rel=\"noopener noreferrer\">este tiddler en ~GitHub</a>\n</div>\n</$list>\n</$set>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/$__CurvedText.tid",
    "content": "created: 20160418045226492\nmodified: 20160503054145721\ntitle: $:/CurvedText\ntype: text/vnd.tiddlywiki\n\nesto es una simple prueba"
  },
  {
    "path": "editions/es-ES/tiddlers/$__DefaultTiddlers.tid",
    "content": "created: 20131127215321439\nmodified: 20141129081225712\ntitle: $:/DefaultTiddlers\ntype: text/vnd.tiddlywiki\n\nHelloThere\nGettingStarted\nCommunity\n"
  },
  {
    "path": "editions/es-ES/tiddlers/$__SVGExampleRadius.tid",
    "content": "created: 20160502152252058\nmodified: 20160503053741952\ntitle: $:/SVGExampleRadius\ntype: text/vnd.tiddlywiki\n\n45"
  },
  {
    "path": "editions/es-ES/tiddlers/$__SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\ntype: text/vnd.tiddlywiki\n\nCuaderno de notas personal no-lineal en la web"
  },
  {
    "path": "editions/es-ES/tiddlers/$__UploadName.tid",
    "content": "created: 20160423045141139\nmodified: 20160423051016210\ntitle: $:/UploadName\ntype: text/vnd.tiddlywiki\n\ntw5es-es"
  },
  {
    "path": "editions/es-ES/tiddlers/$__UploadURL.tid",
    "content": "created: 20160423050733871\nmodified: 20160426145737700\ntitle: $:/UploadURL\ntype: text/vnd.tiddlywiki\n\nhttp://tw5es-es.tiddlyspot.com/store.cgi"
  },
  {
    "path": "editions/es-ES/tiddlers/$__core_ui_DefaultSearchResultList.tid",
    "content": "caption: {{$:/language/Search/DefaultResults/Caption}}\ncreated: 20141117081621387\nmodified: 20160515100401168\ntags: $:/tags/SearchResults\ntitle: $:/core/ui/DefaultSearchResultList\ntype: text/vnd.tiddlywiki\n\n\\define searchResultList()\n//<small>{{$:/language/Search/Matches/Title}}</small>//\n\n<$list filter=\"[!is[system]search:title{$(searchTiddler)$}sort[caption]limit[250]] [!is[system]search:es-title{$(searchTiddler)$}sort[title]limit[250]][!is[system]search:en-title{$(searchTiddler)$}sort[title]limit[250]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n//<small>{{$:/language/Search/Matches/All}}</small>//\n\n<$list filter=\"[!is[system]search{$(searchTiddler)$}sort[title]limit[250]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n\\end\n<<searchResultList>>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/$__core_ui_ListItemTemplate.tid",
    "content": "created: 20141117221740337\nmodified: 20160515100528031\ntitle: $:/core/ui/ListItemTemplate\ntype: text/vnd.tiddlywiki\n\n<div class=\"tc-menu-list-item\">\n<$link to={{!!title}}>\n<$view field=\"es-title\">\n<$view field=\"title\"/>\n</$view>\n</$link>\n</div>"
  },
  {
    "path": "editions/es-ES/tiddlers/$__core_ui_SideBar_Open.tid",
    "content": "caption: {{$:/language/SideBar/Open/Caption}}\ncreated: 20160429080322465\nmodified: 20160515100901701\ntags: $:/tags/SideBar\ntitle: $:/core/ui/SideBar/Open\ntype: text/vnd.tiddlywiki\n\n\\define lingo-base() $:/language/CloseAll/\n<$list filter=\"[list[$:/StoryList]]\" history=\"$:/HistoryList\" storyview=\"pop\">\n\n<$button message=\"tm-close-tiddler\" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class=\"tc-btn-invisible tc-btn-mini\">&times;</$button> <$link to={{!!title}}><$transclude field=\"es-title\"><$view field=\"title\"/></$transclude></$link>\n\n</$list>\n\n<$button message=\"tm-close-all-tiddlers\" class=\"tc-btn-invisible tc-btn-mini\"><<lingo Button>></$button>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/$__core_ui_TagTemplate.tid",
    "content": "created: 20160504080001125\nmodified: 20160515100830717\ntitle: $:/core/ui/TagTemplate\ntype: text/vnd.tiddlywiki\n\n\\define tag-styles()\nbackground-color:$(backgroundColor)$;\nfill:$(foregroundColor)$;\ncolor:$(foregroundColor)$;\n\\end\n\n\\define tag-body-inner(colour,fallbackTarget,colourA,colourB)\n<$set name=\"foregroundColor\" value=<<contrastcolour target:\"\"\"$colour$\"\"\" fallbackTarget:\"\"\"$fallbackTarget$\"\"\" colourA:\"\"\"$colourA$\"\"\" colourB:\"\"\"$colourB$\"\"\">>>\n<$set name=\"backgroundColor\" value=\"\"\"$colour$\"\"\">\n<$button popup=<<qualify \"$:/state/popup/tag\">> class=\"tc-btn-invisible tc-tag-label\" style=<<tag-styles>>>\n<$transclude tiddler={{!!icon}}/> <$view field=\"es-title\"><$view field=\"title\" format=\"text\" /></$view>\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/tag\">> type=\"popup\" position=\"below\" animate=\"yes\"><div class=\"tc-drop-down\"><$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n<hr>\n<$list filter=\"[all[current]tagging[]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n</div>\n</$reveal>\n</$set>\n</$set>\n\\end\n\n\\define tag-body(colour,palette)\n<span class=\"tc-tag-list-item\">\n<$macrocall $name=\"tag-body-inner\" colour=\"\"\"$colour$\"\"\" fallbackTarget={{$palette$##tag-background}} colourA={{$palette$##foreground}} colourB={{$palette$##background}}/>\n</span>\n\\end\n\n<$macrocall $name=\"tag-body\" colour={{!!color}} palette={{$:/palette}}/>"
  },
  {
    "path": "editions/es-ES/tiddlers/$__core_ui_ViewTemplate_title.tid",
    "content": "created: 20141119191707140\nmodified: 20160515100614389\ntags: $:/tags/ViewTemplate\ntitle: $:/core/ui/ViewTemplate/title\ntype: text/vnd.tiddlywiki\n\n\\define title-styles()\nfill:$(foregroundColor)$;\n\\end\n\\define config-title()\n$:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\\end\n<div class=\"tc-tiddler-title\">\n<div class=\"tc-titlebar\">\n<span class=\"tc-tiddler-controls\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]]\" variable=\"listItem\"><$reveal type=\"nomatch\" state=<<config-title>> text=\"hide\"><$transclude tiddler=<<listItem>>/></$reveal></$list>\n</span>\n<$set name=\"tv-wikilinks\" value={{$:/config/Tiddlers/TitleLinks}}>\n<$link>\n<$set name=\"foregroundColor\" value={{!!color}}>\n<span class=\"tc-tiddler-title-icon\" style=<<title-styles>>>\n<$transclude tiddler={{!!icon}}/>\n</span>\n</$set>\n<$list filter=\"[all[current]removeprefix[$:/]]\">\n<h2 class=\"tc-title\" title={{$:/language/SystemTiddler/Tooltip}}>\n<span class=\"tc-system-title-prefix\">$:/</span><$text text=<<currentTiddler>>/>\n</h2>\n</$list>\n<$list filter=\"[all[current]!prefix[$:/]]\">\n<h2 class=\"tc-title\">\n<$view field=\"es-title\">\n<$view field=\"title\"/>\n</$view>\n</h2>\n</$list>\n</$link>\n</$set>\n</div>\n\n<$reveal type=\"nomatch\" text=\"\" default=\"\" state=<<tiddlerInfoState>> class=\"tc-tiddler-info tc-popup-handle\" animate=\"yes\" retain=\"yes\">\n\n<$transclude tiddler=\"$:/core/ui/TiddlerInfo\"/>\n\n</$reveal>\n</div>"
  },
  {
    "path": "editions/es-ES/tiddlers/$__edition_tw5.com_dropbox-url.js.tid",
    "content": "created: 20160417162545133\nmodified: 20160417162810899\nmodule-type: macro\ntags: $:/tags/Macro\ntitle: $:/edition/tw5.com/dropbox-url.js\ntype: application/javascript\n\n/*\\\ntitle: $:/edition/tw5.com/dropbox-url.js\ntype: application/javascript\ntags: $:/tags/Macro\nmodule-type: macro\n\nImplements the Dropbox URL converter macro.\n\n```\n<$macrocall $name=\"dropbox-url\" url={{$:/temp/dropbox}}/>\n```\n\n\\*/\n\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"dropbox-url\";\n\nexports.params = [\n\t{name: \"url\", default: \"https://www.dropbox.com/s/<blablabla>/mi_archivo.html\"}\n];\n\nexports.run = function(url) {\n\turl = url.replace(\"www.dropbox.com\",\"dl.dropboxusercontent.com\");\n\treturn \"`\" + url + \"` <small>([[abrir|\" + url + \"]])</small>\";\n};\n\n})();\n"
  },
  {
    "path": "editions/es-ES/tiddlers/$__editions_tw5.com_wikitext-macros.tid",
    "content": "created: 20150117184156000\nmodified: 20160428152133143\ntags: $:/tags/Macro\ntitle: $:/editions/tw5.com/wikitext-macros\ntype: text/vnd.tiddlywiki\n\n\\define wikitext-example(src)\n<div class=\"doc-example\">\n\n```\n$src$\n```\n\nTiene este aspecto:\n\n$src$\n\n... y su código HTML es:\n\n$$$text/vnd.tiddlywiki>text/html\n$src$\n$$$\n</div>\n\\end\n\n\\define wikitext-example-without-html(src)\n<div class=\"doc-example\">\n\n```\n$src$\n```\n\nEste es su aspecto:\n\n$src$\n</div>\n\\end\n\n\\define tw-code(tiddler)\n<$codeblock language={{$tiddler$!!type}} code={{$tiddler$}}/>\n\\end\n\n\\define tw-code-link(tiddler)\n[[$tiddler$]]:\n\n<<tw-code $tiddler$>>\n\\end"
  },
  {
    "path": "editions/es-ES/tiddlers/$__plugins_tiddlywiki_railroad_readme.tid",
    "content": "created: 20150102163222184\nmodified: 20160504142457039\ntitle: $:/plugins/tiddlywiki/railroad/readme\ntype: text/vnd.tiddlywiki\n\nEste plugin proporciona un widget para la elaboración de diagramas sintácticos en forma de imágenes SVG.\n\nLa [[notación|$:/plugins/tiddlywiki/railroad/syntax]] del diagrama puede guardarse en un tiddler exclusivo con el campo <<.field type>> definido como `text/vnd.tiddlywiki.railroad`, de forma que esté disponible para transclusión allí donde se necesite. \n\nEl plugin se basa en una [[librería de Tab Atkins|https://github.com/tabatkins/railroad-diagrams]], y se ha trabajado en ella para hacerla más flexible, lo que incluye que los componentes del diagrama actúen como enlaces o admitan transclusión de otros tiddlers. "
  },
  {
    "path": "editions/es-ES/tiddlers/$__theme.tid",
    "content": "created: 20160427065415135\nmodified: 20160427065439255\ntitle: $:/theme\ntype: text/vnd.tiddlywiki\n\n$:/themes/tiddlywiki/snowwhite"
  },
  {
    "path": "editions/es-ES/tiddlers/$__themes_tiddlywiki_vanilla_metrics_sidebarbreakpoint.tid",
    "content": "created: 20160426085410546\nmodified: 20160426085450560\ntitle: $:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint\ntype: text/vnd.tiddlywiki\n\n960px"
  },
  {
    "path": "editions/es-ES/tiddlers/$__themes_tiddlywiki_vanilla_metrics_sidebarwidth.tid",
    "content": "created: 20160426084847813\nmodified: 20160426085509178\ntitle: $:/themes/tiddlywiki/vanilla/metrics/sidebarwidth\ntype: text/vnd.tiddlywiki\n\n400px"
  },
  {
    "path": "editions/es-ES/tiddlers/$__themes_tiddlywiki_vanilla_metrics_storyleft.tid",
    "content": "created: 20160426085333301\nmodified: 20160426085344985\ntitle: $:/themes/tiddlywiki/vanilla/metrics/storyleft\ntype: text/vnd.tiddlywiki\n\n0px"
  },
  {
    "path": "editions/es-ES/tiddlers/$__themes_tiddlywiki_vanilla_metrics_storyright.tid",
    "content": "created: 20160426084832669\nmodified: 20160426085548779\ntitle: $:/themes/tiddlywiki/vanilla/metrics/storyright\ntype: text/vnd.tiddlywiki\n\n650px"
  },
  {
    "path": "editions/es-ES/tiddlers/$__themes_tiddlywiki_vanilla_metrics_storywidth.tid",
    "content": "created: 20160426084803261\nmodified: 20160426085526274\ntitle: $:/themes/tiddlywiki/vanilla/metrics/storywidth\ntype: text/vnd.tiddlywiki\n\n650px"
  },
  {
    "path": "editions/es-ES/tiddlers/$__themes_tiddlywiki_vanilla_metrics_tiddlerwidth.tid",
    "content": "created: 20160426084816661\nmodified: 20160426085539631\ntitle: $:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\ntype: text/vnd.tiddlywiki\n\n650px"
  },
  {
    "path": "editions/es-ES/tiddlers/$__themes_tiddlywiki_vanilla_themetweaks.tid",
    "content": "caption: Ajustes de tema\ncreated: 20160427065547366\nmodified: 20160427065556693\ntags: $:/tags/ControlPanel/Appearance\ntitle: $:/themes/tiddlywiki/vanilla/themetweaks\ntype: text/vnd.tiddlywiki\n\n\\define backgroundimage-dropdown()\n<div class=\"tc-drop-down-wrapper\">\n<$button popup=<<qualify \"$:/state/popup/themetweaks/backgroundimage\">> class=\"tc-btn-invisible tc-btn-dropdown\">{{$:/core/images/down-arrow}}</$button>\n<$reveal state=<<qualify \"$:/state/popup/themetweaks/backgroundimage\">> type=\"popup\" position=\"belowleft\" text=\"\" default=\"\">\n<div class=\"tc-drop-down\">\n<$linkcatcher to=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\">\n<$link to=\"\">\n(none)\n</$link>\n<hr>\n<$list filter=\"[all[shadows+tiddlers]is[image]] -[type[application/pdf]] +[sort[title]]\">\n<$link to={{!!title}}>\n<$transclude/> <$view field=\"title\"/>\n</$link>\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>\n</div>\n\\end\n\n\\define backgroundimageattachment-dropdown()\n<$select tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment\" default=\"scroll\">\n<option value=\"scroll\">Scroll with tiddlers</option>\n<option value=\"fixed\">Fixed to window</option>\n</$select>\n\\end\n\n\\define backgroundimagesize-dropdown()\n<$select tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize\" default=\"scroll\">\n<option value=\"auto\">Auto</option>\n<option value=\"cover\">Cover</option>\n<option value=\"contain\">Contain</option>\n</$select>\n\\end\n\nYou can tweak certain aspects of the ''Vanilla'' theme.\n\n! Options\n\n|[[Sidebar layout|$:/themes/tiddlywiki/vanilla/options/sidebarlayout]] |<$select tiddler=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\"><option value=\"fixed-fluid\">Fixed story, fluid sidebar</option><option value=\"fluid-fixed\">Fluid story, fixed sidebar</option></$select> |\n|[[Sticky titles|$:/themes/tiddlywiki/vanilla/options/stickytitles]]<br>//Causes tiddler titles to \"stick\" to the top of the browser window. Caution: Does not work at all with Chrome, and causes some layout issues in Firefox// |<$select tiddler=\"$:/themes/tiddlywiki/vanilla/options/stickytitles\"><option value=\"no\">No</option><option value=\"yes\">Yes</option></$select> |\n\n! Settings\n\n|[[Font family|$:/themes/tiddlywiki/vanilla/settings/fontfamily]] |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/fontfamily\" default=\"\" tag=\"input\"/> | |\n|[[Code font family|$:/themes/tiddlywiki/vanilla/settings/codefontfamily]] |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/codefontfamily\" default=\"\" tag=\"input\"/> | |\n|[[Page background image|$:/themes/tiddlywiki/vanilla/settings/backgroundimage]] |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\" default=\"\" tag=\"input\"/> |<<backgroundimage-dropdown>> |\n|[[Page background image attachment |$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment]] |<<backgroundimageattachment-dropdown>> | |\n|[[Page background image size |$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize]] |<<backgroundimagesize-dropdown>> | |\n\n! Sizes\n\n|[[Font size|$:/themes/tiddlywiki/vanilla/metrics/fontsize]] |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/fontsize\" default=\"\" tag=\"input\"/> |\n|[[Line height|$:/themes/tiddlywiki/vanilla/metrics/lineheight]] |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/lineheight\" default=\"\" tag=\"input\"/> |\n|[[Font size for tiddler body|$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize]] |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize\" default=\"\" tag=\"input\"/> |\n|[[Line height for tiddler body|$:/themes/tiddlywiki/vanilla/metrics/bodylineheight]] |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/bodylineheight\" default=\"\" tag=\"input\"/> |\n|[[Story left position|$:/themes/tiddlywiki/vanilla/metrics/storyleft]]<br>//how far the left margin of the story river<br>(tiddler area) is from the left of the page// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storyleft\" default=\"\" tag=\"input\"/> |\n|[[Story top position|$:/themes/tiddlywiki/vanilla/metrics/storytop]]<br>//how far the top margin of the story river<br>is from the top of the page// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storytop\" default=\"\" tag=\"input\"/> |\n|[[Story right|$:/themes/tiddlywiki/vanilla/metrics/storyright]]<br>//how far the left margin of the sidebar <br>is from the left of the page// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storyright\" default=\"\" tag=\"input\"/> |\n|[[Story width|$:/themes/tiddlywiki/vanilla/metrics/storywidth]]<br>//the overall width of the story river// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storywidth\" default=\"\" tag=\"input\"/> |\n|[[Tiddler width|$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth]]<br>//within the story river//<br> |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\" default=\"\" tag=\"input\"/> |\n|[[Sidebar breakpoint|$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint]]<br>//the minimum page width at which the story<br>river and sidebar will appear side by side// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint\" default=\"\" tag=\"input\"/> |\n|[[Sidebar width|$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth]]<br>//the width of the sidebar in fluid-fixed layout// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth\" default=\"\" tag=\"input\"/> |\n"
  },
  {
    "path": "editions/es-ES/tiddlers/A_Gentle_Guide_to_TiddlyWiki.tid",
    "content": "caption: Amable introducción\ncreated: 20150325170720682\nes-title: Amable introducción a TiddlyWiki\nmodified: 20160416054440172\ntags: HelloThere\ntitle: A Gentle Guide to TiddlyWiki\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki es una herramienta increíblemente flexible y versátil, concebida y construida de forma muy distinta a la mayoría de software. Esto puede hacerla difícil de comprender hasta ese momento en que algo hace //clic// y se convierte en una extensión natural de tu cerebro.\n\nPara empezar por lo básico, TiddlyWiki es una aplicación web para la toma de notas que puedes descargar libre y gratuitamente, que puedes guardar donde quieras y adaptar del modo que desees. Úsala para [[escribir|Creating and editing tiddlers]], [[organizar|Structuring TiddlyWiki]] y [[compartir|Sharing your tiddlers with others]] notas de un modo que los procesadores de texto y otras herramientas para tomar notas no pueden. \n\n~TiddlyWiki está diseñada para estructurar contenidos de modo [[no lineal|Philosophy of Tiddlers]] valiéndose de StoryLists, etiquetas, enlaces y otras características. Puedes organizar y recuperar tus notas de la manera que mejor se adapte a tu forma de pensar, en lugar de sentirte encadenado a una estructura predeterminada de organización.\n\n~TiddlyWiki is designed to be non-linear, structuring content with stories, tags, hyperlinks, and other features. You can organise and retrieve your notes in ways that conform to your personal thought patterns, rather than feel chained to one preset organisational structure.\n\nPuedes usar ~TiddlyWiki tanto online como sin conexión de red. Como archivo único que consultas y editas con cualquier navegador web, o puedes utilizarlo como una poderosa [[aplicación de Node.js|TiddlyWiki on Node.js]], que guarda por separado cada una de tus notas.\n\n¿Cómo hacer que ~TiddlyWiki trabaje para ti? Te recomendamos empezar consultando la documentación introductoria que se muestra más abajo y echar un vistazo al [[índice|TableOfContents]] que tienes a tu disposición en la barra lateral.\n\nTambién puedes seguir estas  [[sencillas instrucciones|GettingStarted]] e ir descubriendo por ti mismo a partir de ahí. \n\n<<list-links \"[tag[HelloThere]]\">>\n\nTambién hay [[tutoriales en video|TiddlyWiki Video Tutorials by Francis Meetze]] (en inglés)\n"
  },
  {
    "path": "editions/es-ES/tiddlers/About.tid",
    "content": "caption: Acerca de ~TiddlyWiki\ncreated: 20140912145139340\nes-title: Acerca de TiddlyWiki\nmodified: 20160511151921526\ntags: TableOfContents\ntitle: About\ntype: text/vnd.tiddlywiki\n\nInformación sobre quiénes y cómo hacemos ~TiddlyWiki:\n\n<<list-links \"[tag[About]]\">>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Acknowledgements.tid",
    "content": "caption: Agradecimientos\ncreated: 20140129204112515\nes-title: Agradecimientos\nmodified: 20160511152611559\ntags: About\ntitle: Acknowledgements\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki no sería posible sin el constante apoyo de la [[comunidad|Community]] de TiddlyWiki. Su atención y feedback constante han hecho posible tener una idea precisa de qué se espera de este producto y su pasión nos ha enseñado que la inversión en ella merece la pena. \n\n{{$:/Acknowledgements}}\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Adding_Babel_Polyfill_to_TiddlyWiki.tid",
    "content": "caption: Añadir a ~Tiddlywiki el Polyfill de Babel\ncreated: 20160112025328000\nes-title: Incorporar el polyfill de Babel a TiddlyWiki\nmodified: 20160506153636017\ntags: documenting Concepts\ntitle: Adding Babel Polyfill to TiddlyWiki\ntype: text/vnd.tiddlywiki\n\nNo todos los navegadores soportan las últimas características de ES2015. El proyecto [[Babel|https://babeljs.io/docs/learn-es2015/]] ofrece un [[polyfill|https://en.wikipedia.org/wiki/Polyfill]] que puede incluirse en ~TiddlyWiki, de modo que dichas características estén disponibles para nuevos plugins. Para hacerlo, es necesaria una copia del código fuente del polyfill. \n\nPuede obtenerse una copia a través de <<.def \"npm\">> o se puede descargar desde la página del proyecto. En la documentación del [[polyfill de Babel|https://babeljs.io/docs/usage/polyfill/]] existe información específica para su instalación. \n\nHay que crear una carpeta `plugins/babel-polyfill` dentro de la carpeta <<.place editions>> de ~TiddlyWiki. En ella hay que crear el documento `plugins/babel-polyfill/plugin.info`, con el siguiente contenido:\n\n```json\n{\n  \"title\": \"$:/plugins/babel/babel-polyfill\",\n  \"description\": \"Babel Polyfills for ES2015 support\",\n  \"author\": \"Your Name Here\",\n  \"core-version\": \">=5.0.0\"\n}\n```\n\nCrea la carpeta `plugins/babel-polyfill/files`. Dentro, el archivo `plugins/babel-polyfill/files/tiddlywiki.files`, con el siguiente contenido:\n\n```json\n{\n  \"tiddlers\": [\n    {\n      \"file\": \"polyfill.min.js\",\n      \"fields\": {\n        \"title\": \"$:/plugins/babel/babel-polyfill/polyfill.min.js\",\n        \"type\": \"application/javascript\",\n        \"module-type\": \"library\",\n        \"global-module\": \"true\"\n      }\n    }\n  ]\n}\n```\n\nCopia entonces el archivo `polyfill.min.js` que ya has descargado.\n\n<<.tip \"Si lo has descargado vía ''npm'', tiene que estar en `./node_modules/babel-polyfill/dist/polyfill.min.js`.\">>\n\nPor último, necesitarás un inicializador, para lo que deberás crear el archivo `plugins/babel-polyfill/plugin.js`, con el siguiente contenido:\n\n```javascript\n/*\\\ntitle: $:/plugins/babel/babel-polyfill/plugin.js\ntype: application/javascript\nmodule-type: startup\n\nLoad the babel-polyfill library on startup\n\n\\*/\n\nexports.startup = function() {\n  $tw.modules.execute('$:/plugins/babel/babel-polyfill/polyfill.min.js');\n}\n```\n\n<<.warning \"Debido a que se prevee que el polyfill se use en el navegador, necesitamos cargar la librería de manera condicional, lo que ES2016 no permite. Es por esto por lo que no usamos para ello la declaración `import` de ES2015, sino que está escrito como dependencia de ~TiddlyWiki\">>\n\nAhora están disponibles todas las características del entorno de ejecución ES2015. \n\nEn [[Escribir plugins con ES2016|Using ES2016 for Writing Plugins]] está disponible la información necesaria sobre la sintaxis de ES2015 para programar plugins.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Adding_a_Table_of_Contents_to_the_Sidebar.tid",
    "content": "caption: Añadir pestaña de contenidos\ncreated: 20160424150551727\nes-title: Añadir una tabla de contenidos a la barra lateral\nmodified: 20160426102736986\ntags: [[Customise TiddlyWiki]]\ntitle: Adding a Table of Contents to the Sidebar\ntype: text/vnd.tiddlywiki\n\nEs posible añadir una [[tabla de contenidos|Table-of-Contents Macros]] a la barra lateral, siguiendo estos pasos:\n\n# Crea un tiddler llamado [[TableOfContents]]\n# Etiquétalo como <<.tag ~$:/tags/SideBar>>\n# En el cuerpo del tiddler, escribe el siguiente texto: <div><pre><code><$text text=\"\"\"\n<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'TableOfContents'>>\n\n</div>\"\"\"/></code></pre></div>\n\n# Añade el campo <<.field caption>> con el texto <<.def Contenidos>> o la referencia adecuada a un tiddler o variable. p. ej, en el caso de la tabla de contenidos de este wiki,  <<.field caption>> toma su valor del contenido de <<.tid \"~$:/language/SideBar/Contents/Caption\">>.\n\n# Añade el campo <<.field ''list-after''>> con el valor <<.word ~$:/core/ui/SideBar/Open>> para que la pestaña de de contenidos se muestre inmediatamente después de la de <<.sidebar-tab Open>>\n\nAñade entradas a la tabla de contenidos creando tiddlers con la etiqueta <<.em ~TableOfContents>>. Una forma sencilla de hacerlo es con el botón <<.button new-here>> del desplegable <<.button more-tiddler-actions>>. De igual modo, a partir de estas, se pueden crear subentradas etiquetadas con el nombre de la entrada del nivel superior. \n"
  },
  {
    "path": "editions/es-ES/tiddlers/Adding_a_Twitter_Follow_button.tid",
    "content": "caption: Botón \"Seguir en Twitter\"\ncreated: 20140103091348509\nes-title: Añadir botón \"Seguir en Twitter\"\nmodified: 20160418051111158\ntags: Learning\ntitle: Adding a Twitter Follow button\ntype: text/vnd.tiddlywiki\n\nEsta es una macro para crear el botón \"Seguir en Twitter\" para seguir una cuenta en particular:\n\n```\n\\define twitterFollowButton(username)\n<iframe allowtransparency=\"true\" frameborder=\"0\" scrolling=\"no\" src=\"//platform.twitter.com/widgets/follow_button.html?screen_name=$username$\"  style=\"width:300px; height:20px;\"></iframe>\n\\end\n```\nEl único cambio respecto de la versión publicada en https://dev.twitter.com/docs/follow-button es que se han eliminado las nuevas líneas.\n\nTen en cuenta que \"src URL\" aparece sin protocolo (o sea, \"http\" o \"https\"). Se hace así para que funcione en sitios alojados tanto en uno como en otro. Si quieres que el botón de Twitter funcione mientras manejas TiddlyWiki offline como \"file://\", tendrás que añadir el protocolo manualmente. Por ejemplo:\n\n```\n<iframe allowtransparency=\"true\" frameborder=\"0\" scrolling=\"no\" src=\"http://platform.twitter.com/widgets/follow_button.html?screen_name=jermolene\"  style=\"width:300px; height:20px;\"></iframe>\n```"
  },
  {
    "path": "editions/es-ES/tiddlers/Adopt_a_Titles_Policy.tid",
    "content": "caption: Políticas de estilo\ncreated: 20130825103300000\nes-title: Define políticas de estilo\nmodified: 20160418091257866\ntags: Learning\ntitle: Adopt a Titles Policy\ntype: text/vnd.tiddlywiki\n\nMantener la coherencia entre títulos de tiddler puede volverse más y más difícil a medida la estructura de tu TiddlyWiki se vuelve más y más compleja. Por ejemplo: ¿Hay que referirse a términos en plural o en singular? ¿En ~CamelCase o separando palabras? ¿Con mayúscula sólo al principio o Con Mayúscula En Cada Palabra? ¿Traducimos los términos en inglés o los incorporamos a nuestra terminología?\n\nRedactar formalmente una política de estilos puede ser de gran ayuda para reducir toda posible confusión. Por ejemplo, la [[Guía de estilo|Documentation Style Guide]] de este TiddlyWiki.\n\n!! Tiddlers de sistema\n\nUna convención que te resultará útil es la de usar el prefijo `$:/_`para todo nuevo tiddler de sistema que crees, porque así te aseguras de que aparezca al principio de las listas, por ejemplo, la lista de tiddlers de sistema de la barra lateral en la pestaña Más/Sistema.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/AlertMechanism.tid",
    "content": "caption: Alertas\ncreated: 20140213224306412\nes-title: Mecanismo de alertas\nmodified: 20160428151401815\ntags: Mechanisms Features\ntitle: AlertMechanism\ntype: text/vnd.tiddlywiki\n\nLas alertas se muestran como cajas amarillas superpuestas a la ventana principal de ~TiddlyWiki. Cada una corresponde a un tiddler con la etiqueta <<.tag ~$:/tags/Alert]]. Pinchando el icono de la papelera en una alerta borra el tiddler correspondiente.\n\nAquí va una demostración: <$fieldmangler tiddler=\"SampleAlert\"><$set name=\"currentTiddler\" value=\"SampleAlert\"><$button message=\"tm-add-tag\" param=\"$:/tags/Alert\">Alerta</$button></$set></$fieldmangler>.\n\nLos tiddlers de alerta contienen los siguientes campos:\n\n|!Campo |!Descripción |\n|title |Por defecto, con el prefijo `$:/temp/alerts/` |\n|text |Texto de la alerta |\n|modified |Fecha y hora de la alerta (para ordenarlos en pantalla) |\n|component |Componente asociado a la alerta |\n|tags |Deben incluir [[$:/tags/Alert]] |\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Articles.tid",
    "content": "caption: Artículos\ncreated: 20140320230543190\nes-title: Artículos\nmodified: 20160413161517651\ntags: Community\ntitle: Articles\ntype: text/vnd.tiddlywiki\n\nEstos son algunos artículos recientes publicados sobre ~TiddlyWiki. \n\nEnvía nuevos artículos que encuentres via [[GitHub|https://github.com/TiddlyWiki/TiddlyWiki5]] o [[Twitter|https://twitter.com/tiddlywiki]], o publícalas en el [[grupo|https://groups.google.com/forum/?hl=es#!forum/tiddlywiki]]\n\n<div class=\"tc-link-info\">\n\n<$list filter=\"[tag[Articles]!sort[modified]]\">\n\n<div class=\"tc-link-info-item\">\n\n! <$link><$view field=\"title\"/></$link>\n\n<div class=\"tc-subtitle\">Posted <$view field=\"modified\" format=\"relativedate\"/></div>\n\n<$transclude/>\n\n</div>\n\n</$list>\n\n</div>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Audio.tid",
    "content": "caption: Audio\ncreated: 20141018131647392\nes-title: Audio en TiddlyWiki\nmodified: 20160428153844198\ntags: [[Working with TiddlyWiki]] Features\ntitle: Audio\ntype: text/vnd.tiddlywiki\n\nSe pueden incorporar archivos de audio a ~TiddlyWiki de manera muy similar a como se hace con [[imágenes|Images in WikiText]].\n\n! Audio incrustado\n\nSe pueden incrustar pequeños archivos de audio directamente en ~TiddlyWiki. No es conveniente hacerlo con archivos grandes (de más de unos pocos cientos de Kb), porque aumenta el tamaño del archivo de ~Tiddlywiki.\n\nVeamos un ejemplo: el tiddler [[TiddlyWiki.mp3]] contiene la grabación de la palabra <<.word TiddlyWiki>> en inglés. Si abres el tiddler, verás un pequeño reproductor de audio que te permitirá oirlo. \n\nPor supuesto, como ocurre con cualquier otro tiddler, puedes hacer la transclusión de su contenido:\n\n<<wikitext-example-without-html '{{TiddlyWiki.mp3}}'>>\n\n! Audio externo\n\nUn tiddler de audio externo usa el campo <<.field _canonical_uri>> para apuntar al origen externo de un archivo o stream de audio y bloquear el campo <<.field Text>>. Esto reduce considerablemente su tamaño a la vez que nos sigue permitiendo su reproducción.\n\nOtro ejemplo: el tiddler [[Caruso - Ave Maria]] apunta a un archivo online almacenado en http://archive.org:\n\n<<wikitext-example-without-html '{{Caruso - Ave Maria}}'>>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/AutoSave.tid",
    "content": "caption: Autoguardado\ncreated: 20140206211715540\nes-title: Guardado automático\nmodified: 20160428155227657\ntags: Features\ntitle: AutoSave\ntype: text/vnd.tiddlywiki\n\nSi hay un SaverModule disponible que lo permita, ~TiddlyWiki guardará el documento en su estado actual en cuanto se pulsen los botones <<.button save>> o <<.button delete>>\n\nDebieras ver entonces una notificación amarilla en la esquina superior derecha de la ventana que confirma que se ha realizado el guardado.\n\nSe puede activar y desactivar el guardado automático en la pestaña <<.controlpanel-tab Settings>> del panel de control. Entre bambalinas, se controla mediante el tiddler de configuración <<.tid ~$:/config/AutoSave>>, que en su cuerpo indica con los valores <<.em Sí>> o <<.em No>> si activa el autoguardado.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Blog_Edition.tid",
    "content": "caption: Edición Blog\ncreated: 20150902123139133\nes-title: Edición Blog\nmodified: 20160504051105282\ntags: Editions\ntitle: Blog Edition\ntype: text/vnd.tiddlywiki\n\nDesarrollada para su uso en Node.js, la edición <<.word blog>> de ~TiddlyWiki contiene herramientas para la publicación de blogs estáticos en HTML.\n\nMientras se prepara la documentación, puedes ver un ejemplo de su uso en http://jermolene.com/\n"
  },
  {
    "path": "editions/es-ES/tiddlers/BrowserCompatibility.tid",
    "content": "caption: Navegadores compatibles\ncreated: 20160423055210605\nes-title: Compatibilidad con navegadores\nmodified: 20160423055539347\ntags: [[Working with TiddlyWiki]]\ntitle: BrowserCompatibility\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki ha sido diseñado para trabajar en navegadores compatibles con HTML5.\n\nLa tabla siguiente es un resumen de versiones de los navegadores en los que se sabe que ~TiddlyWiki funciona correctamente:\n\n|!Navegador |!Status |\n|Internet Explorer |Versión 10 y superiores |\n|Chromium/Chrome |Todas las recientes |\n|Firefox |Todas las recientes |\n|Firefox for Android |Todas las recientes |\n|Safari |Versión 6 y superiores |\n"
  },
  {
    "path": "editions/es-ES/tiddlers/CamelCase.tid",
    "content": "caption: ~CamelCase\ncreated: 20130828185300000\nes-title: CamelCase\nmodified: 20160424053359855\ntags: Definitions\ntitle: CamelCase\ntype: text/vnd.tiddlywiki\n\nEl [[CamelCase|https://es.wikipedia.org/wiki/CamelCase]] se forma tomando una frase, poniendo la inicial de cada palabra en mayúscula y pegando una palabra a la otra, sin espacios. Esto hace que visualmente al texto le salgan //jorobas// y de ahí el nombre. \n\nLa mayoría de wikis usan ~CamelCase como una forma rápida de crear hipertexto.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/CodeMirror_Plugin.tid",
    "content": "caption: ~CodeMirror\ncreated: 20160107223435497\nes-title: CodeMirror\nlist: \nmodified: 20160504052000617\ntags: [[Plugin Editions]]\ntitle: CodeMirror Plugin\ntype: text/vnd.tiddlywiki\n\nEl plugin [[CodeMirror|http://codemirror.net/]] incorpora un sofisticado editor web de texto.\n\nDIsponible en: https://tiddlywiki.com/plugins/tiddlywiki/codemirror/\n"
  },
  {
    "path": "editions/es-ES/tiddlers/ColourPalettes.tid",
    "content": "caption: Paletas cromáticas\ncreated: 20140216102454178\nes-title: Paletas cromáticas en TiddlyWiki\nmodified: 20160507042920576\ntags: Concepts\ntitle: ColourPalettes\ntype: text/vnd.tiddlywiki\n\nUna paleta de colores es un [[tiddler de datos|DataTiddlers]] que proporciona valores [[CSS]] a una serie de parámetros de color de diferentes componentes, definidos de esta manera:\n\n```\npage-background: #fe0\ntable-border: #ccc\n...\n```\n\nHay varias paletas definidas en el núcleo de ~TiddlyWiki. El tiddler <<.tid ~$:/palette>> contiene el título de la paleta actualmente seleccionada. \n\nPara saber el color de algún elemento definido en la paleta actual, por ejemplo para su uso en una hoja de estilos, se puede usar la macro <<.mlink color>>:\n\n```\n<<colour page-background>>\n```\nDevuelve el siguiente valor, correspondiente al color aplicado al componente <<.word page-background>>: <<colour page-background>>. \n\nLos tiddlers que definen una paleta de color tienen que tener los siguientes campos: \n\n|!Nombre |!Valor |\n|title |Lleva el prefijo `$:/` |\n|type |`application/x-tiddler-dictionary` |\n|tags |`$:/tags/Palette` |\n|description |Descripción para mostrar en el selector de paletas |\n|text |`nombre: valor` |\n\nEl valor CSS puede definirse bien usando un nombre predefinido (p.ej: ~BlanchedAlmond), su valor hexadecimal (p.ej, para el anterior: #FFEBCD), o rgba (el anterior: 255, 235, 205,1)"
  },
  {
    "path": "editions/es-ES/tiddlers/Commands.tid",
    "content": "caption: Comandos Node.js\ncreated: 20150117174359000\nes-title: Comandos en Node.js\nmodified: 20160507043151318\ntags: Concepts Reference\ntitle: Commands\ntype: text/vnd.tiddlywiki\n\nUn <<.def comando>> es una de las siguientes palabras, escritas con el prefijo `--`, usada como opción en la línea de comandos para indicar a [[TiddlyWiki en Node.js|TiddlyWiki on Node.js]] qué acción se desea.\n\n<<list-links \"[tag[Commands]]\">>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Community.tid",
    "content": "caption: Comunidad\ncreated: 20130909151600000\nes-title: Comunidad\nmodified: 20160511151601621\ntags: TableOfContents\ntitle: Community\ntype: text/vnd.tiddlywiki\n\nAquí reunimos las últimas y más útiles novedades procedentes de la comunidad TiddlyWiki.\n\n<<tabs \"Forums Latest Tutorials Resources Examples Articles Meetups\" \"Latest\">>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Compose_ballad.tid",
    "content": "caption: Componer balada\ncreated: 20130825143000000\nes-title: Componer balada\nmodified: 20160418045700440\ntags: task\ntitle: Compose ballad\ntype: text/vnd.tiddlywiki\n\n//Tarea de muestra para el [[Ejemplo de administración de tareas|TaskManagementExample]]//\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Concepts.tid",
    "content": "caption: Conceptos\ncolor: #FF8383\ncreated: 20130825144700000\nes-title: Conceptos\nmodified: 20160506151445487\ntags: Reference\ntitle: Concepts\ntype: text/vnd.tiddlywiki\n\nEstos son los conceptos básicos presentes en ~TiddlyWiki. Comprender cómo encajan estos conceptos unos con otros es fundamental para el conocimiento en profundidad de ~TiddlyWiki. \n\n<<list-links \"[tag[Concepts]]\">>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Configuring_the_default_TiddlerInfo_tab.tid",
    "content": "caption: Pestaña por defecto de ~InfoPanel\ncreated: 20140828080837703\nes-title: Configuración de la pestaña por defecto del InfoPanel\nmodified: 20160426133136283\ntags: [[Customise TiddlyWiki]]\ntitle: Configuring the default TiddlerInfo tab\ntype: text/vnd.tiddlywiki\n\nEl tiddler de configuración [[$:/config/TiddlerInfo/Default]] contiene el título del tiddler de la pestaña abierta por defecto en el InfoPanel. \n\nSu valor por defecto es <<.tid ~$:/core/ui/TiddlerInfo/Tools>>, que corresponde a la pestaña <<.info-tab Tools>>. \n\nTodos los valores posibles para seleccionar la pestaña abierta por defecto son:\n\n<ul>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TiddlerInfo]!has[draft.of]]\">\n<li>\n<$view field=\"title\"/>\n</li>\n</$list>\n</ul>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Contributing.tid",
    "content": "caption: Contribuciones\ncreated: 20131101111400000\nes-title: Cómo contribuir con TiddlyWiki\nmodified: 20160413170206770\ntags: Community\ntitle: Contributing\ntype: text/vnd.tiddlywiki\n\nEstamos encantados de recibir contribuciones al código y la documentación de TiddlyWiki, ya sea:\n\n* [[Reportando Bugs|ReportingBugs]]\n\n* Ayudando a [[mejorar la documentación|Improving TiddlyWiki Documentation]]\n\n* Aportando código a través de [[GitHub|https://github.com/TiddlyWiki/TiddlyWiki5]]\n** Más detalles en https://tiddlywiki.com/dev \n\nHay, además, más formas de \n[[contribuir con el proyecto|HelpingTiddlyWiki]].\n\n!! CLA: Acuerdo de licencia de contribución\n\n{{Contributor License Agreement}}\n\n!! Cómo firmar el CLA\n\n{{Signing the Contributor License Agreement}}\n\n---\n\n//Los documentos que componen el CLA de este proyecto se crearon usando las siguientes plantillas del//  [[Proyecto Harmony|http://www.harmonyagreements.org]]:\n\n* \"HA-CLA-I-LIST Version 1.0\" para el \"CLA-individual\" \n* \"HA-CLA-E-LIST Version 1.0\" para el \"CLA-entity\"\n\n-----------\nObservaciones:\n\n*>«When not owning the copyright in the entire work of authorship...»\n\nEn caso de que, como dice el texto, no seas propietario de los derechos de la totalidad del trabajo de tu autoría, exprésalo claramente. De otro modo, asumiremos que eres el único poseedor legal de los derechos de tu contribución al proyecto. En tal caso, proporciona también enlaces e información que aclare bajo qué licencia se distribuye el código del que no eres propietario. \n"
  },
  {
    "path": "editions/es-ES/tiddlers/Contributor_License_Agreement.tid",
    "content": "caption: CLA - Acuerdo de licencia\ncreated: 20150630205511173\nes-title: Acuerdo de licencia de contribución\nmodified: 20160413171201065\ntags: \ntitle: Contributor License Agreement\ntype: text/vnd.tiddlywiki\n\nAl igual que sucede en otros proyectos de Código Abierto, TiddlyWiki5 necesita que quien quiera contribuir con él, firme un acuerdo de licencia de contribución. \n\nEs un acuerdo legal que permite a quien contribuye afirmar que los derechos de su contribución son exclusivamente suyos y que está de acuerdo en licenciarlos a la Asociación UnaMesa (entidad legal que, en nombre de la comunidad, es propietaria de TiddlyWiki).\n\n* Si eres persona física, necesitas firmar la [[licencia individual|https://github.com/TiddlyWiki/TiddlyWiki5/tree/master/licenses/cla-individual.md]]\n\n*Si eres persona fiscal, la de [[entidades|https://github.com/TiddlyWiki/TiddlyWiki5/tree/master/licenses/cla-entity.md]]"
  },
  {
    "path": "editions/es-ES/tiddlers/Contributors.tid",
    "content": "caption: Colaboradores\ncreated: 20140916132828137\nes-title: Colaboradores\nmodified: 20160511153232257\ntags: About\ntitle: Contributors\ntype: text/vnd.tiddlywiki\n\nLas siguientes personas han dedicado generosamente su tiempo a [[contribuir al desarrollo de TiddlyWiki|https://github.com/TiddlyWiki/TiddlyWiki5/graphs/contributors]]:\n\n* Jeremy Ruston ([[@Jermolene|https://github.com/Jermolene]])\n* Dave Gifford ([[@giffmex|https://github.com/giffmex]])\n* Bram Chen ([[@BramChen|https://github.com/BramChen]])\n* Mario Pietsch ([[@pmario|https://github.com/pmario]])\n* Xavier Cazin ([[@xcazin|https://github.com/xcazin]])\n* Eric Shulman ([[@ericshulman|https://github.com/ericshulman]])\n* Stephan Hradek ([[@Skeeve|https://github.com/Skeeve]])\n* ~BuggyJef ([[@buggyj|https://github.com/buggyj]])\n* Nathan Cain ([[@natecain|https://github.com/natecain]])\n* Ton Gerner ([[@gernert|https://github.com/gernert]])\n* Devin Weaver ([[@sukima|https://github.com/sukima]])\n* João Bolila ([[@jbolila|https://github.com/jbolila]])\n* David Johnston ([[@Brennall|https://github.com/Brennall]])\n* David Jade ([[@davidjade|https://github.com/davidjade]])\n* Bob Robison ([[@grayeul|https://github.com/grayeul]])\n* [[@nameanyone|https://github.com/nameanyone]]\n* Maurizio Pollio ([[@mpollio|https://github.com/mpollio]])\n* Ogoshi Masayuki ([[@ogoshima|https://github.com/ogoshima]])\n* Chris Sugden ([[@csugden|https://github.com/csugden]])\n* [[@asampal|https://github.com/asampal]]\n* Bow Yi Jang ([[@Eucaly|https://github.com/Eucaly]])\n* Mal Gamble ([[@malgam|https://github.com/malgam]])\n* Michael Fogleman ([[@mwfogleman|https://github.com/mwfogleman]])\n* Daniel Barrett ([[@shendaras|https://github.com/shendaras]])\n* Simon Baird ([[@simonbaird|https://github.com/simonbaird]])\n* James Anderson ([[@welford|https://github.com/welford]])\n* Jon Lister ([[@jayfresh|https://github.com/jayfresh]])\n* [[@TheDiveO|https://github.com/TheDiveO]]\n* Danielo Rodríguez ([[@danielo515|https://github.com/danielo515]])\n* [[@willover|https://github.com/willover]]\n* [[@slotik|https://github.com/slotik]]\n* Irene Knapp ([[@IreneKnapp|https://github.com/IreneKnapp]])\n* Brian Shaver ([[@shakerlxxv|https://github.com/shakerlxxv]])\n* Tobi Beer ([[@tobibeer|https://github.com/tobibeer]])\n* Craig Cook ([[@BoyCook|https://github.com/BoyCook]])\n* Pau ~DeLuca([[@PauDeLuca|https://github.com/PauDeLuca]])\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Copying_tiddlers_between_TiddlyWiki_files.tid",
    "content": "caption: Importar tiddlers\ncreated: 20140908131700000\nes-title: Copiar tiddlers de un TiddlyWiki a otro\nmodified: 20160418041102221\ntags: Learning\ntitle: Copying tiddlers between TiddlyWiki files\ntype: text/vnd.tiddlywiki\n\nPuedes copiar un tiddler individual de un TiddlyWiki a otro arrastrando su enlace de una ventana del navegador a otra.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/CountWidget.tid",
    "content": "caption: Widgets: Count\ncreated: 20131024141900000\nes-title: CountWidget\nmodified: 20160420050708574\ntags: Widgets\ntitle: CountWidget\ntype: text/vnd.tiddlywiki\n\n!! Introducción\n\n~CountWidget muestra el número de tiddlers que coinciden con determinada [[expresión de filtro|Filters]].\n\n!! Contenido y atributos\n\nEl contenido del widget `<$count>` se ignora.\n\n|!Atributo |!Descripción |\n|filter |Expresión de filtro para contar |\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Creating_SubStories.tid",
    "content": "caption: Subhistorias\ncreated: 20140214215718317\nes-title: Crear subhistorias en TiddlyWiki\nmodified: 20160418043031981\ntags: Learning\ntitle: Creating SubStories\ntype: text/vnd.tiddlywiki\n\nEste ejemplo muestra cómo, dentro de un un tiddler, se pueden mostrar subhistorias independientes de la historia principal.\n\nEste es el código:\n\n```\n<$navigator story=\"MiSubHistoria\" history=\"MiSubHistoria\">\n\nHaz clic en este enlace para empezar:[[¡Hola! ¿Qué tal?|HelloThere]]\n\n<$list filter=\"[list[MiSubHistoria]]\" history=\"MiSubHistoria\">\n<div>\n\n! <$button message=\"tm-close-tiddler\" class=\"tc-btn-invisible\">{{$:/core/images/close-button}}</$button> <$view field=\"es-title\"/>\n\n<$transclude/>\n</div>\n</$list>\n\n</$navigator>\n```\n\nAhora puedes abrir el tiddler [[¡Hola! ¿Qué tal?|HelloThere]] como subhistoria haciendo clic en el siguiente enlace. Los enlaces de la subhistoria se abren en la subhistoria y no en la principal.\n\n<$navigator story=\"MiSubHistoria\" history=\"MiSubHistoria\">\n\nHaz clic en este enlace para empezar:[[¡Hola! ¿Qué tal?|HelloThere]]\n\n<$list filter=\"[list[MiSubHistoria]]\" history=\"MiSubHistoria\">\n<div>\n\n! <$button message=\"tm-close-tiddler\" class=\"tc-btn-invisible\">{{$:/core/images/close-button}}</$button> <$view field=\"es-title\"/>\n\n<$transclude/>\n\n</div>\n</$list>\n\n</$navigator>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Creating_a_custom_export_format.tid",
    "content": "caption: Formatos personalizados de exportación\ncreated: 20141124173526227\nes-title: Crear formato personalizado de exportación\nmodified: 20160426140251183\ntags: [[Customise TiddlyWiki]]\ntitle: Creating a custom export format\ntype: text/vnd.tiddlywiki\n\nPara crear un formato personalizado de exportación de tiddlers en texto plano, sigue los siguientes pasos:\n\n# Crea un tiddler con los siguientes campos y valores:\n\n#* <<.field Tags>>: <<.tag ~$:/tags/Exporter>>\n#* <<.field description>>: descripción del formato\n#* <<.field extension>>: extensión de archivo por defecto, incluyendo el punto; por ejemplo, `.tmx`\n# Escribe el siguiente contenido:\n\n```\n\\define renderContent()\n{{{ $(exportFilter)$ ||$:/core/templates/plain-text-tiddler}}}\n\\end\n<<renderContent>>\n```\n\nLa variable `exportFilter` contiene un filtro que define qué tiddlers se exportarán. \n"
  },
  {
    "path": "editions/es-ES/tiddlers/Creating_and_editing_tiddlers.tid",
    "content": "caption: Edición de tiddlers\ncreated: 20140904140300000\nes-title: Crear y editar tiddlers\nmodified: 20160422153052849\ntags: [[Working with TiddlyWiki]]\ntitle: Creating and editing tiddlers\ntype: text/vnd.tiddlywiki\n\n! Crear un tiddler\n\nUn tiddler se crea con un simple clic, bien en el botón <<.button new-tiddler>> de la  barra lateral, o en el enlace a un tiddler vacío, que se distinguen por estar en [[cursiva azul]]\n\nMira también:\n\n* [[Creación de entradas de diario|Creating journal tiddlers]]\n\n! Editar un tiddler\n\nHaz clic en el botón <<.button edit>>, situado arriba a la derecha del tiddler que quieres editar. \n\n!! Borrador\n\nCuando creas un tiddler nuevo o editas uno ya existente, el tiddler se muestra en modo borrador o de edición y muestra un panel de control que permite modificarlo de varias formas, compuesto de las siguientes partes (de arriba hacia abajo):\n\n''Campo de título'' - SIrve para cambiar el título de un tiddler (por defecto \"Nuevo Tiddler\")\n\n*''Selector de etiquetas'' - SIrve para añadir o quitar etiquetas. A medida que escribas en el cuadro, una lista desplegable te mostrará cualquier etiqueta ya existente que coincida con lo escrito. Puedes seleccionar una etiqueta de la lista o escribir una completamente nueva y pulsar el botón ''añadir'' para incorporarla al tiddler. Cada etiqueta se muestra como una //píldora// coloreada. Si haces clic en la ''x'' de una píldora, quitarás la etiqueta del tiddler y si no hay más tiddlers con esa etiqueta, la borrarás también de la lista.\n\n*''Área de texto'' - Escribe aquí el contenido del texto. Pulsando el botón ''mostrar vista previa'' verás qué aspecto tendrán tus cambios cuando guardes el tiddler y salgas del modo de edición. Si te molesta, puedes ocultarla pulsando el botón ''ocultar vista previa''.\n\n*''Selector de tipo'' - Se usa cuando hay que indicar a TIddlywiki que interprete ese tiddler de forma especial, de acuerdo con el tipo seleccionado. Por ejemplo, una imagen en jpg: si seleccionamos el tipo como \"imagen .JPEG\", Tiddlywiki sabrá cómo interpretar el tiddler y nos mostrará la imagen que queremos ver. Si no seleccionamos nada, nos mostrará un montón de código incomprensible, ya que el tipo por defecto es `text/vnd.tiddlywiki`, lo que significa que el tiddler contiene WikiText... y como tal lo interpreta.\n\n*''Selector de campos'' - Se usa para añadir o quitar campos del tiddler. Estos campos sirven tanto para complementar la información del tiddler como para establecer la relación que mantiene con otros. Por ejemplo: si estás editando un tiddler que servirá para etiquetar a otros tiddlers, puedes añadir un [[campo ''list''|ListField]] para establecer el orden que esos otros tiddlers tendrán en la lista.\n\n\n! Guardar, cancelar o borrar\n\nCuando termines con la edición, pulsa uno de los botones que tienes arriba a la derecha del tiddler:\n\n*El botón <<.button save>> guarda los cambios realizados en el tiddler y sale del editor. \n\n**Si tienes el wiki configurado para que [[guarde automáticamente|AutoSave]] los cambios, no necesitas hacer nada más: tus cambios quedan guardados de forma permanente al salir del editor. Si no tienes el Autosave configurado, los cambios se guardan sólo temporalmente en el navegador y se perderán en cuanto cierres la página. ~TiddlyWIki te avisa en tal caso de que tienes cambios pendientes de guardar mostrándote un botón rojo a la derecha, en la barra lateral. \n\n**Ese es el botón  <<.button save-wiki>> . Para conservar tus cambios permanentemente, haz clic en él. ~TiddlyWiki guardará los cambios y el botón cambiará su color, indicando que ya no hay peligro.\n\n*El botón <<.button cancel>>  interrumpe la edición, descarta todos los cambios (previa confirmación) y sale del editor.\n\n*El botón <<.button delete>> elimina por completo el tiddler. Para hacerlo pide confirmación, pero ten en cuenta que una vez confirmado, el borrado de un tiddler es irrecuperable."
  },
  {
    "path": "editions/es-ES/tiddlers/Creating_journal_tiddlers.tid",
    "content": "caption: Entradas de diario\ncreated: 20141010093214683\nes-title: Creación de entradas de diario\nmodified: 20160422153138748\ntags: [[Working with TiddlyWiki]]\ntitle: Creating journal tiddlers\ntype: text/vnd.tiddlywiki\n\n!! Introducción\n\nLas <<.def \"entradas de diario\">> son tiddlers que usan fechas u horas como título. Son una forma rápida de registrar información que precisa de algún tipo de marca de tiempo.\n\nEn ellos puedes, como en cualquier otro tiddler, usar etiquetas para enlazar con otros y así establecer diferentes relaciones entre fragmentos de información que de otro modo estarían inconexos. \n\nPor ejemplo: podemos usar una entrada de diario titulada <<.tid \"10 de octubre\">> para registrar pensamientos e información diversa de aquel día. Las etiquetas <<.tag shopping>> y <<.tag Londres>> podrían servirnos, además de para indicarnos que esa fecha tiene que ver con estar de shopping en Londres, para etiquetar con ellas cualquier otra información relativa a ambos temas.\n\n!! Creación de una entrada de diario\n\nLa manera más sencilla es mediante el botón <<.button new-journal>> de la pestaña <<.sidebar-tab Tools>> de la barra lateral.  Si lo usas con frecuencia, pincha en la casilla para que aparezca entre los iconos que se muestran sobre el cuadro de búsqueda.\n\nEl botón <<.button new-journal>> crea un tiddler en blanco con etiqueta <<.tag Diario>> y título derivado de la fecha de hoy. Si ya existe una entrada con esa misma fecha, entonces lo abre para su edición.\n\n!! Creación de una entrada con etiquetas\n\nEs habitual, revisando u organizando notas o trabajando en grupo, crear una entrada con la fecha del día y etiquetarla con el título de los tiddlers que revisamos. Además de creando una entrada y escribiendo etiquetas manualmente, tenemos otra forma de hacerlo, que añade automáticamente las etiquetas:\n\n* En el tiddler que estamos revisando, pinchamos en el botón <<.button more-tiddler-actions>> y hacemos clic en <<.button new-journal-here>>. \n**Algo menos a mano, peo igualmente útil, este botón está también está en la pestaña <<.info-tab Tools>> del panel de <<.button info>> del tiddler.\n\n*En el siguiente tiddler que revisemos, repetimos la operación anterior y se nos volverá a abrir la entrada, que además de la etiqueta <<.tag Diario>> y la del título anterior, llevará ya la del nuevo.\n\nPongamos por caso que estamos revisando un tiddler llamado <<.tid \"Quijote\">>. Del modo antes descrito, tendremos una entrada con la fecha del día y la etiqueta <<.tag Quijote>> en la que hacer nuestras anotaciones, que guardamos y cerramos para seguir revisando notas.\n\nAl rato, mientras revisamos otro tiddler llamado <<.tid Hamlet>>, repetimos la operación y el resultado será la entrada del día abierta y lista para escribir en ella nuestra anotación, con las etiquetas <<.tag Diario>>, <<.tag Quijote>> y <<.tag Hamlet>> añadidas automáticamente, sin riesgo de equivocarnos y sin tener que perder concentración rebuscando entre otras entradas.\n\n!! Customización de entradas\n\nPodemos configurar mínimamente cómo se crean las nuevas entradas de diario en la pestaña <<.controlpanel-tab Basics>>, de la sección <<.controlpanel-tab Info>> del [[panel de control|$:/ControlPanel]]\n\n* <<.em \"Formato de título para las nuevas entradas de diario\">> permite especificar el título de las entradas como una cadena con [[formato de fecha|DateFormat]]. El valor por defecto `DD de MMM de YYYY` da como resultado fechas del estilo <<.word \"10 de octubre de 2014\">>\n\n* <<.em \"Etiqueta para las nuevas entradas de diario\">> permite [[especificar|Title List]] qué etiquetas aparecerán por defecto al crear nuevas entradas. Por ejemplo: `DIario [[Vacaciones de verano]]`...etc\n\n<<.def Nota:>> Si quieres crear entradas separadas cada vez que pulses <<.button new-journal>>, aunque lo hagas varias veces el mismo día, puedes incluir la hora en el formato del título. Algo como `YYYY-0MM-0DD a las 0hh0mm'0ss''` dará como resultado títulos del estilo <<.em \"2016-06-08 a las 07:09:05\">>\n\n<<.def Nota2:>> Otro truco muy útil es incluir `$(currentTiddler)$` en el título. Esto significa que si pulsas <<.button new-journal-here>> en un tiddler, su título, además de etiquetar la entrada, forma parte del título. \n\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Current_Tiddler.tid",
    "content": "caption: Current Tiddler\ncreated: 20130825144900000\nes-title: Current Tiddler\nmodified: 20160507044348759\ntags: Concepts\ntitle: Current Tiddler\ntype: text/vnd.tiddlywiki\n\nLa variable <<.def \"current tiddler\">> proporciona el contexto en el que se interpretan diversos aspectos de WikiText.\n\nPor ejemplo, `{{!!title}}` indica el valor del campo <<.field title>> de cualquier tiddler actual, sea este cual sea. Esta técnica puede usarse para crear [[plantillas|TemplateTiddlers]] de uso general.\n\nEl título del tiddler actual siempre se puede invocar con la variable <<.vlink currentTiddler>>.\n\nLas dos formas principales en que se puede cambiar el tiddler actual son:\n\n* El widget <<.wlink TiddlerWidget>>\n* El widget <<.wlink ListWidget>> (cuando su atributo <<.attr variable>> no ha sido puenteado)\n\nPor lo tanto, decir <<.word \"el tiddler actual\">> <<.em \"no siempre\">> equivale a decir [[tiddler que se está viendo o editando|storyTiddler Variable]].\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Customise_TiddlyWiki.tid",
    "content": "caption: Modificar ~TiddlyWiki\ncreated: 20140904101600000\nes-title: Cómo modificar TiddlyWiki\nlist: [[Initial customisation]]\nmodified: 20160428141103062\ntags: TableOfContents\ntitle: Customise TiddlyWiki\ntype: text/vnd.tiddlywiki\n\nInformación para customizar ~TiddlyWiki\n\n<<list-links \"[tag[Customise TiddlyWiki]]\">>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Customising_search_results.tid",
    "content": "caption: Personalizar resultados de búsqueda\ncreated: 20141027151552783\nes-title: Visualización personalizada de resultados de búsqueda\nmodified: 20160426145023142\ntags: [[Customise TiddlyWiki]]\ntitle: Customising search results\ntype: text/vnd.tiddlywiki\n\nPor defecto, los resultados de búsquedas en la barra lateral se muestran como una simple lista de títulos de tiddler. La forma de mostrar los resultados puede modificarse a gusto mediante plugins de visualización. Si el sistema detecta visualizaciones adicionales, las mostrará en pestañas. \n\nLas distintas visualizaciones de resultados se guardan en tiddlers con la etiqueta <<.tag ~$:/tags/SearchResults>>. La lista por defecto de resultados de búsqueda está implementada en el sistema y reside en el tiddler <<.tid ~$:/core/ui/DefaultSearchResultList>>.\n\nPara crear una nueva visualización de resultados:\n\n# Crea un nuevo tiddler con la etiqueta <<.tag ~$:/tags/SearchResults>>\n# Usa la variable <<.var searchTiddler>> para acceder al título del tiddler que contiene el término de búsqueda actual\n\nSi quieres que sea la nueva visualización la que se muestre por defecto, crea un tiddler llamado <<.tid ~$:/config/SearchResults/Default>> que contenga en el texto el título de la nueva visualización. \n\nEste es un ejemplo de visualización alternativa que muestra los resultados en orden cronológicamente inverso:\n\n```\n\\define searchResults()\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[!is[system]search{$(searchTiddler)$}]\"/>\"\"\">\n\n{{$:/language/Search/Matches}}\n\n</$set>\n<<timeline subfilter:\"!is[system]search{$(searchTiddler)$}\">>\n\\end\n<<searchResults>>\n```\n\n"
  },
  {
    "path": "editions/es-ES/tiddlers/D3_Plugin.tid",
    "content": "caption: D3\ncreated: 20160107223425581\nes-title: D3\nlist: \nmodified: 20160504052212184\ntags: [[Plugin Editions]]\ntitle: D3 Plugin\ntype: text/vnd.tiddlywiki\n\nEl plugin D3 integra en ~TiddlyWiki la librería de visualización D3.\n\nDisponible en: https://tiddlywiki.com/plugins/tiddlywiki/d3/\n"
  },
  {
    "path": "editions/es-ES/tiddlers/DataTiddlers.tid",
    "content": "caption: Tiddlers de datos\ncreated: 20130829164700000\nes-title: Tiddlers de datos\nmodified: 20160511055335042\ntags: Concepts\ntitle: DataTiddlers\ntype: text/vnd.tiddlywiki\n\nUn <<.def \"tiddler de datos\">> o <<.def DataTiddler>> es una base de datos en miniatura, contenida en un tiddler.\n\nExisten dos formatos estándar:\n\n* [[Diccionarios|DictionaryTiddlers]]\n* [[Tiddlers JSON|JSONTiddlers]]\n\nSe pueden definir otros formatos para obtener bloques de datos que se comporten como tiddlers de datos. \n\nPara buscar un valor por su nombre, usa una [[Referencia textual|TextReference]]. Por ejemplo, si un [[diccionario|DictionaryTiddlers]] llamado `DiasdelMes` contiene:\n\n```\noct:31\nnov:30\ndec:31\n```\n\n... entonces, `{{MonthDays##nov}}` devolverá el valor `30`.\n\nLo mismo sucede si `DiasdelMes` es un [[tiddler JSON|JSONTiddlers]] con el siguiente contenido:\n\n```\n{\"oct\":31,\"nov\":30,\"dec\":31}\n```\n\n<<.tip \"Nota: Sólo es posible recuperar datos por este medio de las propiedades inmediatas del objeto raíz de un tiddler JSON\">>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/DateFormat.tid",
    "content": "caption: Formatos de fecha\ncreated: 20140418142957325\nes-title: Formatos de fecha\nmodified: 20160422160649482\ntags: Features\ntitle: DateFormat\ntype: text/vnd.tiddlywiki\n\nViewWidget acepta un atributo <<.em \"de plantilla\">> que permite dar formato a los valores de fecha que se especifiquen. La cadena que da formato a la fecha se procesa con arreglo a las siguientes sustituciones:\n\n|!Símbolo |!Valor sustitutivo |\n|`DDD` |Día completo de la semana|\n|`ddd` |Día de la semana, abreviado |\n|`DD` |Día del mes |\n|`0DD` |Día del mes, con cero delante |\n|`DDth` |Añade sufijo al día |\n|`WW` |Número de semana ISO-8601 |\n|`0WW` |Número de semana, con cero delante|\n|`MMM` |Mes completo |\n|`mmm` |Mes, abreviado |\n|`MM` |Mes, en cifras |\n|`0MM` |Mes, en cifras, con cero delante|\n|`YYYY` |Año completo |\n|`YY` |Año, en dos cifras |\n|`wYYYY` |Año completo con respecto al número de semana |\n|`wYY` |Año en dos cifras con respecto al número de semana |\n|`hh` |Hora |\n|`0hh` |Hora, con cero delante |\n|`hh12` |Hora, en ciclos de 12 horas |\n|`0hh12` |Hora en ciclos de 12 horas, con cero delante |\n|`mm` |Minutos |\n|`0mm` |Minutos, con cero delante |\n|`ss` |Segundos |\n|`0ss` |Segundos, con cero delante |\n|`am` o `pm` |Indicador am/pm en minúsculas|\n|`AM` o `PM` |Indicador AM/PM en mayúsculas |\n|`TZD` |Huso horario |\n|`\\` |Escape de caracteres. Los caracteres así marcados no se interpretan   |\n\nOtro texto añadido al formato pasa sin cambios, de modo que se admiten comas, guiones, barras, dos puntos y otros separadores.\n\n!! Ejemplos\n\n|!Plantilla |!Resultadao |\n|`DDth de MMM de YYYY` |1º de mayo de 2011 |\n|`DD MMM \\M\\M\\M YYYY` |1 mayo MMM 2011 |\n|`DD mmm hh:mm:ss` |1 may 2011 11:38:42 |\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Date_Fields.tid",
    "content": "caption: Campos de fecha\ncreated: 20150117190213631\nes-title: Campos de fecha\nmodified: 20160511055256823\ntags: Concepts\ntitle: Date Fields\ntype: text/vnd.tiddlywiki\n\nAlgunos [[campos|TiddlerFields]] de tiddler se usan para guardar fechas y horas.\n\nLos dos campos estándar son <<.field created>> y <<.field modified>>.\n\nEl valor de estos campos es una cadena de 17 caracteres:\n\n* 4 dígitos para el año\n* 2 dígitos para el mes\n* 2 dígitos para el día\n* 2 dígitos para la hora\n* 2 dígitos para el minuto\n* 2 dígitos para el segundo\n* 3 dígitos para el milisegundo\n\nPara evitar cualquier problema derivado de posibles diferencias horarias, ~TiddlyWiki siempre usa horas [[UTC|https://es.wikipedia.org/wiki/Tiempo_universal_coordinado]].\n\nComo ejemplo, el campo <<.field created>> de este tiddler tiene el valor <<.value \"\"\"<$view field=\"created\"/>\"\"\">>.\n\nLas fechas pueden [[formatearse|DateFormat]] convenientemente para mostrarlas en pantalla:\n\n<$macrocall $name=\"wikitext-example-without-html\"\nsrc=\"\"\"<$view field=\"created\" format=\"date\" template=\"DDD DD de MMM de YYYY\"/>\"\"\">\n"
  },
  {
    "path": "editions/es-ES/tiddlers/DictionaryTiddlers.tid",
    "content": "caption: Tiddlers diccionario\ncreated: 20141228094500000\nes-title: Tiddlers diccionario\nmodified: 20160511055855885\ntags: Concepts\ntitle: DictionaryTiddlers\ntype: text/vnd.tiddlywiki\n\nUn <<.def \"tiddler diccionario\">> es un [[tiddler de datos|DataTiddlers]] que contiene una simple lista de pares de nombre-valor.\n\nSu [[tipo|ContentType]] es <code>application/x-tiddler-dictionary</code>.\n\nEl campo <<.field text>> consta de una o más líneas con el formato <code>//name//: //value//</code>.\n\nUna [[paleta de colores|ColourPalettes]], es un ejemplo de diccionario. \n"
  },
  {
    "path": "editions/es-ES/tiddlers/Discover_TiddlyWiki.tid",
    "content": "caption: Descubre TiddlyWiki\ncreated: 20140904121000000\nes-title: Descubre TiddlyWiki\nmodified: 20160416112247974\ntags: HelloThere\ntitle: Discover TiddlyWiki\ntype: text/vnd.tiddlywiki\n\nNunca has visto //nada// parecido a esto. ~TiddlyWiki es:\n\n:: una herramienta,\n:: una caja de herramientas,\n:: una comunidad\n:: y toda una filosofía\n\n!! ~TiddlyWiki es una herramienta\n\n''~TiddlyWiki es, antes que nada, una herramienta'' libre y gratuita que se puede descargar para capturar y organizar contenidos: de la web, de tus documentos o directamente de tu cerebro. Es una herramienta para tomar notas, marcar y fijar referencias, escribir, administrar proyectos y tareas, colaborar en equipo, escribir un blog o publicar. \n\nEn ~TiddlyWiki creas o pegas contenidos en notas que llamamos //tiddlers// y las conectas entre sí con enlaces y etiquetas, de modo que puedas recuperarlas rápidamente mediante TagPills, pestañas y la ventana ultrarrápida de búsqueda de ~TIddlyWiki. También puedes incluir dinámicamente el contenido de un tiddler dentro de otro --como si jugaras con bloques de construcción-- para crear artículos, listas, presentaciones y más. \n\n!! ~TiddlyWiki es una caja de herramientas\n\nAdemás de una herramienta versátil, ''~TiddlyWiki es también una caja de herramientas''\n\nDonde otros productos para tomar notas te enganchan con un programa muy básico y luego te cobran por las características realmente útiles, ~TiddlyWiki cuenta con una creciente colección totalmente gratuita de temas visuales, paletas de color, plugins, widgets y macros que puedes combinar como prefieras para obtener un ~TiddlyWiki a medida y de la forma que tú y sólo tú quieres. \n\n!! ~TiddlyWiki es también una comunidad online\n\nSomos una [[comunidad|Community]] de usuarios y desarrolladores que se ayuda mutuamente a imaginar nuevas formas de pensar, organizar y crear nuevas soluciones, de modo que ~TiddlyWiki evoluciona y se adapta contínuamente a tus necesidades. Los usuarios y desarrolladores de ~TiddlyWiki compartimos preguntas y consejos en el Grupo de Google de ~TiddlyWiki. También creamos tutoriales, adaptaciones y plugins para mejorar la experiencia de uso de ~TiddlyWiki. En la sección ''Comunidad'' del índice encontrarás más información al respecto.\n\n!! Finalmente ~TiddlyWiki es una filosofía\n\nEl propósito de tomar notas y organizarlas es el poder recuperarlas más tarde para su uso. Si no hay forma de encontrar lo que buscas en el momento en que lo necesitas, tu programa de notas es, sencillamente, una monumental pérdida de tiempo. \n\nPara la [[filosofía|Philosophy of Tiddlers]] de ~TiddlyWiki, la mejor forma de tomar notas es fragmentando la información en sus unidades semánticas significativas más pequeñas. A estas unidades las llamamos //tiddlers//. Un tiddler puede ser una imagen, la dirección de una página, un concepto, la definición de un término o una adaptación especial, como, por ejemplo, una macro.\n\nEstos tiddlers pueden luego entretejerse para crear con ellos unidades mayores de información: historias, artículos, listas, galerías de imágenes y mucho más. Las herramientas de ~TiddlyWiki como etiquetas, enlaces y filtros están especialmente diseñadas para relacionar y conectar tiddlers entre sí de múltiples maneras, facilitando así la futura recuperación de notas y permitiendo incluso descubrir relaciones inesperadas entre tiddlers y la información que contienen. "
  },
  {
    "path": "editions/es-ES/tiddlers/Documentation_Macros.tid",
    "content": "caption: Macros para documentación\ncreated: 20150110182600000\nes-title: Macros para documentación\nmodified: 20160511154246355\ntags: [[Improving TiddlyWiki Documentation]]\ntitle: Documentation Macros\ntype: text/vnd.tiddlywiki\n\nLas siguientes son macros utilizadas en la documentación de ~TiddlyWiki. Sus nombres comienzan con un punto para mantenerlas fuera del alcance accidental de nombres con los que el usuario pueda intentar experimentar.\n\n\n!!Generales\n\n|!Macro |!Se usa para |!Ejemplo |\n|.def |definición de un término |<<.def widget>> |\n|.em |énfasis menor en una frase |<<.em cualquiera>> |\n|.strong |énfasis mayor en un tiddler |<<.strong ¡Importante!>> |\n|.place |texto comodín |<<.place tagname>> |\n|.word |mencionar una palabra o frase |<<.word \"hello world\">> |\n\n!!Advertencias\n\n|!Macro |!Se usa para |!Ejemplo |\n|.tip |señalar consejos y recomendaciones |<<.tip \"Enciende la pantalla o no verás nada\">> |\n|.warning |señalar advertencias |<<.warning \"Haz copia de seguridad antes de actualizar\">> |\n\n!!Bloques\n|!Macro |!Se usa para |\n|.preamble |enfatizar un preámbulo o un párrafo que sobresale del resto del texto |\n\n!!!Ejemplo: \n\n<<.preamble \"Esto es un ejemplo de bloque de preámbulo. Para que su visualización sea la correcta, debe constar de un único párrafo, separado del resto del texto por //enters//. No admite su inclusión en tablas ni la inclusión de macros, pero sí [[enlaces|TiddlerLinks]] y formato en ''~WikiText'' \">>\n\n!!Tiddlers y campos\n\n|!Macro |!Se usa para |!Ejemplo |\n|.tid |referirse al título de un tiddler |<<.tid \"Título de ejemplo\">> |\n|.tag |referirse a una etiqueta  |<<.tag \"Etiqueta de ejemplo\">> |\n|.field |referirse al campo de un tiddler |<<.field \"campo de ejemplo\">> |\n|.value |referirse al valor de un campo |<<.value \"valor de ejemplo\">> |\n|.op |referirse a un operador de filtro |<<.op backlinks>> |\n|.var |referirse a una variable o nombre de macro |<<.var currentTiddler>> |\n|.wid |referirse al nombre de un widget |<<.wid list>> |\n|.attr |referirse al nombre de un atributo |<<.attr filter>> |\n|.param |referirse al nombre de un parámetro de macro |<<.param text>> |\n\n!!Enlaces\n\n|!Macro |!Se usa para |!Ejemplo |\n|.link |señalar enlaces con ~WikiText |<<.link \"^^esto es^^ ~~wikitext~~\" WikiText>> |\n|.clink |señalar links con formato de código |<<.clink `<$list>` ListWidget>> |\n|.dlink |señalar links internos con formato de definición |<<.dlink widget Widgets>> |\n|.dlink-ex |señalar links externos con formato de definición |<<.dlink-ex Ejemplo \"http://ejemplo.com/\">> |\n|.flink |señalar enlaces a campos |<<.flink ListField>> |\n|.mlink |señalar enlaces a macros |<<.mlink qualify>> |\n|.mlink2 |señalar enlaces a macros, con //targets// específicos |<<.mlink2 foo \"Macro de ejemplo\">> |\n|.olink |señalar enlaces a operadores de filtro |<<.olink prefix>> |\n|.olink2 |señalar enlaces a operadores de filtro con //targets// específicos |<<.olink2 foo prefix>> |\n|.vlink |señalar enlaces a variables |<<.vlink currentTiddler>> |\n|.vlink2 |señalar enlaces a variables, con //targets// específicos |<<.vlink2 foo \"Examples of Variables\">> |\n|.wlink |señalar enlaces a widgets |<<.wlink ButtonWidget>> |\n|.wlink2 |señalar enlaces a widgets con texto específico |<<.wlink2 foo ButtonWidget>> |\n\n!!Interfaz de usuario\n\n|!Macro |!Se usa para |!Ejemplo |\n|.key |indicar una tecla del teclado |<<.key Escape>> |\n|.keycombo |indicar combinaciones de teclas |<<.keycombo Ctrl Enter>> |\n\n!!Pestañas\n\n|!Macro |!Se usa para |!Ejemplo |\n|.sidebar-tab |invocar el nombre de una pestaña de la barra lateral |<<.sidebar-tab More>> |\n|.more-tab |invocar el nombre de una subpestaña de la pestaña Más |<<.more-tab Shadows>> |\n|.info-tab |invocar el nombre de una pestaña del InfoPanel |<<.info-tab Fields>> |\n|.controlpanel-tab |invocar el nombre de una pestaña del [[Panel de Control|$:/ControlPanel]] |<<.controlpanel-tab Settings>> |\n|.advancedsearch-tab |invocar el nombre de una pestaña del cuadro de búsqueda avanzada |<<.advancedsearch-tab Filter>> |\n|.toc-tab |invocar el nombre del índice de tw5.com |<<.toc-tab>> |\n|.example-tab |indicar un ejemplo de nombre de pestaña |<<.example-tab \"Ejemplo\">> |\n\n!!!Parámetros de .sidebar-tab\n\n|Open |<<.sidebar-tab Open>> |\n|Recent |<<.sidebar-tab Recent>> |\n|Tools |<<.sidebar-tab Tools>> |\n|More |<<.sidebar-tab More>> |\n\n!!!Parámetros de .more-tab\n\n|All |<<.more-tab All>> |\n|Recent |<<.more-tab Recent>> |\n|Tags |<<.more-tab Tags>> |\n|Missing |<<.more-tab Missing>> |\n|Drafts |<<.more-tab Drafts>> |\n|Orphans |<<.more-tab Orphans>> |\n|Types |<<.more-tab Types>> |\n|System |<<.more-tab System>> |\n|Shadows |<<.more-tab Shadows>> |\n\n!!!Parámetros de .info-tab\n\n|Tools |<<.info-tab Tools>> |\n|References |<<.info-tab References>> |\n|Tagging |<<.info-tab Tagging>> |\n|List |<<.info-tab List>> |\n|Listed |<<.info-tab Listed>> |\n|Fields |<<.info-tab Fields>> |\n|Advanced |<<.info-tab Advanced>> |\n\n!!!Parámetros de .controlpanel-tab\n\n|Info |<<.controlpanel-tab Info>> |\n|Appearance |<<.controlpanel-tab Appearance>> |\n|Settings |<<.controlpanel-tab Settings>> |\n|Saving |<<.controlpanel-tab Saving>> |\n|Plugins |<<.controlpanel-tab Plugins>> |\n\n!!!Parámetros de .advancedsearch-tab\n\n|Standard |<<.advancedsearch-tab Standard>> |\n|System |<<.advancedsearch-tab System>> |\n|Shadows |<<.advancedsearch-tab Shadows>> |\n|Filter |<<.advancedsearch-tab Filter>> |\n\n!!Botones\n\n|!Macro |!Se usa para |!Ejemplo |\n|.button |insertar el nombre y el icono de un botón estándar |<<.button \"new-tiddler\">> |\n\n!!!Parámetros de .button\n\n!!!!Barra de tiddler\n\n|clone |<<.button \"clone\">> |\n|close |<<.button \"close\">> |\n|close-others |<<.button \"close-others\">> |\n|edit |<<.button \"edit\">> |\n|export-tiddler |<<.button \"export-tiddler\">> |\n|info |<<.button \"info\">> |\n|more-tiddler-actions |<<.button \"more-tiddler-actions\">> |\n|new-here |<<.button \"new-here\">> |\n|new-journal-here |<<.button \"new-journal-here\">> |\n|permalink |<<.button \"permalink\">> |\n\n!!!!Barra de edición\n\n|cancel |<<.button \"cancel\">> |\n|delete |<<.button \"delete\">> |\n|save |<<.button \"save\">> |\n\n!!!!Barra de página\n|advanced-search |<<.button \"advanced-search\">> |\n|close-all |<<.button \"close-all\">> |\n|control-panel |<<.button \"control-panel\">> |\n|encryption |<<.button \"encryption\">> |\n|export-page |<<.button \"export-page\">> |\n|full-screen |<<.button \"full-screen\">> |\n|home |<<.button \"home\">> |\n|import |<<.button \"import\">> |\n|language |<<.button \"language\">> |\n|more-page-actions |<<.button \"more-page-actions\">> |\n|new-journal |<<.button \"new-journal\">> |\n|new-tiddler |<<.button \"new-tiddler\">> |\n|permaview |<<.button \"permaview\">> |\n|refresh |<<.button \"refresh\">> |\n|save-wiki |<<.button \"save-wiki\">> |\n|storyview |<<.button \"storyview\">> |\n|tag-manager |<<.button \"tag-manager\">> |\n|theme |<<.button \"theme\">> |\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Documentation_Style_Guide.tid",
    "content": "caption: Guía de estilo\ncreated: 20140904164608166\nes-title: Guía de estilo para documentación\nmodified: 20160418141921258\ntags: [[Improving TiddlyWiki Documentation]]\ntitle: Documentation Style Guide\ntype: text/vnd.tiddlywiki\n\nLa documentación de ~TiddlyWiki intenta seguir un estilo editorial consistente. Consta de dos áreas, cada una de ellas con su propio tono y dirigida a un público específico, así evitamos saturar de información al lector principiante mientras aún podemos ofrecer acceso rápido a la información que el lector experto necesita.\n\n* [[Material didáctico |Instruction Tiddlers]]\n* [[Material de referencia|Reference Tiddlers]]\n\nTemas adicionales:\n\n* [[Estilo de los títulos|Tiddler Title Policy]]\n\n* [[Estructura de tiddlers|Tiddler Structure]]\n\n* [[Ortografía|Spelling]]\n\n* [[Tipografía|Typography]]\n\n* [[Macros para documentación|Documentation Macros]]\n\n* [[Estilo de redacción técnica|Technical Prose Style]]\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Dominant_Append.tid",
    "content": "caption: Anexión dominante\ncreated: 20150123220223000\nes-title: Anexión dominante\nmodified: 20160421062101543\ntags: Filters\ntitle: Dominant Append\ntype: text/vnd.tiddlywiki\n\nLos [[filtros|Filters]] manipulan [[conjuntos de títulos|Title Selection]] en los que ningún título puede aparecer más de una vez. Muchas veces necesitan anexar unos conjuntos a otros. \n\nEn estos casos, la anexión se realiza de modo que si hubiera un título duplicado, se descarta el más antiguo y decimos que los títulos así anexados son dominantes.\n\nPor ejemplo: si una selección contiene los títulos `A, B, C, D` y se anexa la selección compuesta por `A, BB, C, DD`, el resultado es `B, D, A, C, BB, DD` (En primer lugar, los títulos no duplicados de la primera selección, en segundo, la versión más nueva de los duplicados y en último, los no duplicados de la segunda selección).\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Editing_Tiddlers_with_Emacs.tid",
    "content": "caption: Edición con Emacs\ncreated: 20140406210404245\nes-title: Editar tiddlers con Emacs\nmodified: 20160418044315545\ntags: Learning\ntitle: Editing Tiddlers with Emacs\ntype: text/vnd.tiddlywiki\n\nMichael Fogleman ha escrito [[tid-mode|https://github.com/mwfogleman/tid-mode]], un modo de edición para [[Emacs|http://www.gnu.org/software/emacs/]] con el fin de editar los archivos .tid de TiddlyWiki. Deriva de text-mode, se vale de los útiles //minor modes// //org-struct// y //subword// y actualiza los tiempos de modificación al guardar un archivo .tid.\n\nRedactó también dos funiones de ayuda para editar TiddlyWiki con Emacs. El primero abre un directorio de tiddlers en Dired. El segundo abre TiddlyWiki en el navegador.\n\n```\n(defun open-wiki ()\n  \"Abre un directorio de TiddlyWiki en Dired.\"\n  (interactive)\n  (dired \"~/Dropbox/wiki/tiddlers/\"))\n```\n  \n```\n(defun browse-wiki ()\n  \"Abre TiddlyWiki en el navegador.\"\n  (interactive)\n  (browse-url \"127.0.0.1:8080/\"))\n```\n\nEsta última función puede requerir que se indique un navegador:\n\n```\n(setq browse-url-browser-function 'browse-url-generic\n      browse-url-generic-program \"chromium\")\n```\n\nPuedes vincular cualquiera de estas funciones con la función global-set-key:\n\n```\n(global-set-key (kbd \"C-c w\") 'open-wiki)\n```\n\nPor el momento, no están integradas en tid-mode.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Editing_Tiddlers_with_Vim.tid",
    "content": "caption: Edición con Vim\ncreated: 20140406210404245\nes-title: Editar tiddlers con Vim\nmodified: 20160419091110916\ntags: Learning\ntitle: Editing Tiddlers with Vim\ntype: text/vnd.tiddlywiki\n\nDevin Weaver ha escrito un  plugin para [[Vim|http://www.vim.org/]], publicado en https://github.com/sukima/vim-tiddlywiki\n\nSoporta la mayor parte de la sintaxis de TiddlyWiki e incluye un plugin que actualiza automáticamente el campo `modified`.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Editions.tid",
    "content": "caption: Ediciones\ncreated: 20140908125500000\nes-title: Ediciones de TiddlyWiki\nlist: [[Empty Edition]]\nmodified: 20160503165705134\ntags: TableOfContents\ntitle: Editions\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki se distribuye en distintas ediciones, especialmente concebidas para servir a un propósito determinado.\n\nUna edición consta de los componentes del núcleo de ~TiddlyWiki, así como plugins, documentación y ejemplos de contenido para que puedas ponerte en marcha lo antes posible.\n\nLos componentes de las diferentes ediciones pueden combinarse y modificarse de modo que construyas la mejor solución para tu aplicación particular.\n\n<<list-links \"[tag[Editions]]\">>\n\n<<.tip \"Conviene no confundir las ediciones en que se presenta ~TiddlyWiki con las [[plataformas|Platforms]] en las que funciona, como [[HTML único|Saving]], o aplicación de [[Node.js|TiddlyWiki on Node.js]]\">>"
  },
  {
    "path": "editions/es-ES/tiddlers/Empty_Edition.tid",
    "content": "caption: Edición básica\ncreated: 20140916213421041\nes-title: Edición básica\nmodified: 20160603133503597\ntags: Editions\ntitle: Empty Edition\ntype: text/vnd.tiddlywiki\n\nLa edición básica de TiddlyWiki es una distribución sin modificar del núcleo de ~TiddlyWiki, sin otros plugins ni configuración adicional instalados. \n\nPuede descargarse desde:\n\n> {{$:/editions/es-ES/snippets/download-empty-button}}\n\n>Si el botón no funciona, guarda este enlace: https://tiddlywiki.com/languages/es-ES/empty.html\n\n> Seguramente el navegador te pida que confirmes la descarga\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Encryption.tid",
    "content": "caption: Cifrado\ncreated: 20130825160900000\nes-title: Cifrado\nmodified: 20160426063330696\ntags: Features [[Working with TiddlyWiki]]\ntitle: Encryption\ntype: text/vnd.tiddlywiki\n\nUsado como archivo único de HTML, TiddlyWiki5 permite encriptar el contenido mediante la [[Stanford JavaScript Crypto Library]].\n\n#En la pestaña <<.sidebar-tab Tools>> de la barra lateral, localiza el botón <<.button encryption>>.\n\n# Si el botón muestra la leyenda <<.word \"Asignar contraseña\">>, significa que el wiki no está encriptado. Pinchando el botón se abrirá el cuadro de diálogo que permite asignar la contraseña de cifrado\n\n# Abre el archivo en un editor de texto para verificar que los datos están encriptados\n\n# Al abrir el archivo en el navegador, se te pedirá la contraseña antes de mostrarte su contenido.\n\nTiddlyWIki ofrece otras dos funciones de encriptación, sin relación con esta:\n\n* La de asignar una contraseña para guardar en TiddlySpot, en la pestaña <<.controlpanel-tab Saving>> del panel de control\n\n* La de utilizar autenticación básica estándar HTTP en [[Node.js|TiddlyWiki on Node.js]] mediante el comando [[server|ServerCommand]]. Combinada con SSL, esta función ofrece el mismo nivel de cifrado de tráfico que tienes en servicios del tipo de Google o Dropbox, aunque no cifra los datos guardados en el disco. \n"
  },
  {
    "path": "editions/es-ES/tiddlers/Examples.tid",
    "content": "caption: Ejemplos\ncreated: 20140320230543190\nes-title: Ejemplos\nmodified: 20160605052926372\ntags: HelloThere Community\ntitle: Examples\ntype: text/vnd.tiddlywiki\n\nEsta es una muestra de algunos interesantes ejemplos  de uso de ~TiddlyWiki en la web.\n\nEnvía más ejemplos que encuentres para ampliar esta lista via [[GitHub|https://github.com/TiddlyWiki/TiddlyWiki5]] o [[Twitter|https://twitter.com/tiddlywiki]], o publícalas en el [[grupo|https://groups.google.com/forum/?hl=es#!forum/tiddlywiki]]\n\n<div class=\"tc-link-info\">\n\n<$list filter=\"[tag[Examples]!sort[modified]]\">\n\n<div class=\"tc-link-info-item\">\n\n! <$link><$view field=\"title\"/></$link>\n\n<div class=\"tc-subtitle\">Posted <$view field=\"modified\" format=\"relativedate\"/></div>\n\n<$transclude/>\n\n</div>\n\n</$list>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/ExternalImages.tid",
    "content": "caption: Imágenes externas\ncreated: 20140610213500000\nes-title: Imágenes externas\nmodified: 20160426055543779\ntags: Concepts Features\ntitle: ExternalImages\ntype: text/vnd.tiddlywiki\n\nPor imágenes externas nos referimos en tiddlywiki a tiddlers que, en lugar de incrustarla, apuntan a la URI de una imagen. Se trabaja más rápido que con imágenes incrustadas, especialmente si el wiki contiene gran número de imágenes o imágenes muy grandes. Sin embargo, supone abandonar la política inicial de <<.word \"único archivo\">> de ~TiddlyWiki.\n\nLas imágenes esternas se usan en el navegador. Puede crearlas la configuración de Node.js al construir ~TiddlyWiki o pueden crearse manualmente en el navegador.\n\n!! En qué consisten\n\nUna imagen externa es un tiddler de imagen que contiene el campo <<.em \"_canonical_uri\">> cuyo valor es la URI de la imagen en cuestión. La URI puede ser absoluta o relativa al documento HTML. El campo <<.em text>> de un tiddler se ignora o se omite cuando se proporciona URI canónica de una imagen externa. \n\n!! Creación manual de imágenes externas\n\nPara crear manualmente una imagen externa, simplemente crea un tiddler con el tipo apropiado de contenido y añade el campo <<.em \"_canonical_uri\">> indicando la ruta actual a la imagen.\n\n<<.warning \"Comprueba bien que escribes correctamente la ruta y que escribes  [[URI|https://es.wikipedia.org/wiki/Identificador_de_recursos_uniforme]], no URL\">>\n\n!! Creación de imágenes externas en Node.js\n\nPara crear un archivo HTML estático de ~TiddlyWiki acompañado por una carpeta de imágenes externas referenciadas en el HTML\n\n# Crea tiddlers de imagen en los WikiFolders, de la manera habitual\n# Guarda las imágenes como archivos separados (por convención, en una subcarpeta llamada <<.em images>>)\n# Externaliza los tiddlers correspondientes a cada imagen habilitando el campo <<.em \"_canonical_uri\">>\n# Guarda el archivo HTML principal\n\n\n>Las imágenes deben añadirse a la subcarpeta <<.def antes>> de externalizar los tiddlers. El campo <<.em \"_canonical_uri\">> invalida el campo <<.em text>> del tiddler, lo que lleva consigo que cualquier ulterior intento de guardado fallará.\n\n>Como ejemplo, véase el target <<.def externalimages>> de la demo <<.word tw5.com>>:\n\n```\n--savetiddlers [is[image]] images\n--setfield [is[image]] _canonical_uri $:/core/templates/canonical-uri-external-image text/plain\n--setfield [is[image]] text \"\" text/plain\n--rendertiddler $:/core/save/all externalimages.html text/plain\n```\n\n!!! Guardar archivos separados de imagen\n\nPara guardar las imágenes de un wiki en una subcarpeta <<.em images>> puede usarse el comando `--savetiddlers` de la siguiente manera:\n\n```\n--savetiddlers [is[image]] images\n```\n\n!!! Externalizar tiddlers de imagen\n\nSe usan dos comandos `--setfield`: el primero establece el campo <<.em ''_canonical_uri''>> con valor derivado del título del tiddler. El segundo limpia el campo <<.em text>>.\n\n```\n--setfield [is[image]] _canonical_uri $:/core/templates/canonical-uri-external-image text/plain\n--setfield [is[image]] text \"\" text/plain\n```\n\nLa plantilla [[$:/core/templates/canonical-uri-external-image]] contiene:\n\n<pre>\n\n<$view tiddler=\"$:/core/templates/canonical-uri-external-image\" field=\"text\" format=\"text\"/>\n\n</pre>\n\n<<.warning \"Estas operaciones modifican los tiddlers en el WikiStore y pueden afectar al funcionamiento de posteriores comandos.\">>\n\n!! Uso de imágenes externas\n\nNo es posible editar una imagen externa directamente en el navegador, salvo para editar la URI  de forma que apunte a otra imagen."
  },
  {
    "path": "editions/es-ES/tiddlers/Features.tid",
    "content": "caption: Características\ncreated: 20130822172800000\nes-title: Características\nmodified: 20160429042823820\ntags: TableOfContents\ntitle: Features\ntype: text/vnd.tiddlywiki\n\nMás información sobre características específicas de ~TiddlyWiki:\n\n<<list-links \"[tag[Features]]\">>\n\n...y por último, pero no por ello menos importante: ~TiddlyWiki es un raro y práctico ejemplar de [[quine|Quine]]\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Filter_Expression.tid",
    "content": "caption: Expresiones\ncreated: 20150124182421000\nes-title: Expresión de filtros\nmodified: 20160420174819458\ntags: [[Filter Syntax]]\ntitle: Filter Expression\ntype: text/vnd.tiddlywiki\n\n<$railroad text=\"\"\"\n[{:\n  [:[[espacio|\"Filter Whitespace\"]] ]\n  (\"+\"|:-|\"-\")\n  [[instruccion|\"Filter Run\"]]\n}]\n\"\"\"/>\n\nUna <<.def \"expresión de filtro\">> corresponde al nivel más externo de la [[sintaxis de filtros|Filter Syntax]]. Consta de una o más [[instrucciones|Filter Run]].\n\nEl input de una instrucción es, generalmente, la lista de todos los títulos de tiddlers no-[[ocultos|ShadowTiddlers]] del wiki, sin ningún orden en particular. \n\nUn prefijo, sin embargo, puede cambiar las cosas:\n\n* Si una instrucción no lleva los prefijos `+` o `-`, su output [[se añade dominantemente|Dominant Append]] al output del filtro.\n\n*Si una instrucción lleva el prefijo `-`, su output <<.em \"se elimina\">> del output del filtro, si estuviera presente.\n\n* Si una instrucción lleva el prefijo `+`, recibe como input el output del filtro y lo <<.em \"lo reemplaza\">> por el output de dicha instrucción. Toda instrucción posterior vuelve a recibir como input todos los títulos del wiki, salvo que también lleve el prefijo `+`.\n\nDicho en lenguaje técnico, claros y conciso:\n\n|!Instrucción |!Interpretación |!Output |\n|`runA runB` |suma de conjuntos |cumple A <<.def O>> B|\n|`runA +runB` |intersección de conjuntos |cumple A <<.def Y>> B|\n|`runA -runB` |diferencia de conjuntos |cumple A <<.def \"Y NO\">> B|\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Filter_Parameter.tid",
    "content": "caption: Parámetros\ncreated: 20150220152540000\nes-title: Parámetros de filtro\nmodified: 20160421055748029\ntags: [[Filter Syntax]]\ntitle: Filter Parameter\ntype: text/vnd.tiddlywiki\n\n<$railroad text=\"\"\"\n( \"[\" [:{/\"nada excepto ]\"/}] \"]\"\n  |\n  \"{\" [:{/\"nada excepto }\"/}] \"}\"\n  |\n  \"<\" [:{/\"nada excepto >\"/}] \">\"\n)\n\"\"\"/>\n\nLos parámetros de un [[operador|Filter Operators]] son valores que pueden ser:\n\n;<<.def rígidos>> o <<.def \"a fuego\">>\n: `[tal cual]`\n: El parámetro es el valor exacto y literal que aparece entre corchetes.\n;<<.def flexibles>>\n: <<.def indirectos>>\n:: `{tal cual}`\n:: El parámetro es el texto indicado por la [[referencia|TextReference]] cuyo nombre se muestra entre llaves, es decir, el valor de determinado [[campo|TiddlerFields]] en un tiddler en concreto o el valor de una propiedad de determinado [[tiddler de datos|DataTiddlers]].\n: <<.def variables>>\n:: `<tal cual>`\n:: El parámetro es el valor actual de la [[variable|Variables]] cuyo nombre aparece entre comillas angulares simples. Los parámetros de macros <<.em no>> están soportados.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Filter_Run.tid",
    "content": "caption: Instrucciones\ncreated: 20150124182117000\nes-title: Instrucciones de filtro\nmodified: 20160421054304561\ntags: [[Filter Syntax]]\ntitle: Filter Run\ntype: text/vnd.tiddlywiki\n\n<$railroad text=\"\"\"\n( \"[\" { [[paso|\"Filter Step\"]] } \"]\"\n  |\n  [:{/\"nada excepto [ ] o espacio\"/}]\n  |\n  '\"' [:{/'nada excepto \"'/}] '\"'\n  |\n  \"'\" [:{/\"nada excepto '\"/}] \"'\"\n)\n\"\"\"/>\n\nUna <<.def instrucción>> se compone de [[pasos|Filter Step]] y devuelve como output una [[selección|Title Selection]] que contribuye a una [[expresión|Filter Expression]] mayor.\n\nLos pasos se procesan de izquierda a derecha y el input del primer paso es el mismo que el de la instrucción de la que forma parte. En todos los demás pasos, el input corresponde al output del paso anterior.\n\n{{Selection Constructors}}\n\nLas tres últimas opciones del diagrama que se muestra más arriba coinciden con sintaxis del tipo `HelloThere`, `\"HelloThere\"`, `'HelloThere'` y `\"Filter Operators\"`y son abreviaturas de `[title[...]]`.\n\nLas opciones entrecomilladas existen como soporte para títulos que contengan corchetes, como `\"un tiddler [[[[inusual]]]]\"`.\n\nThe quoted options exist to support titles that contain square brackets, as in `\"An [[[[Unusual]]]] Tiddler\"`.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Filter_Step.tid",
    "content": "caption: Pasos\ncreated: 20150124182127000\nes-title: Pasos de filtro\nmodified: 20160421053348528\ntags: [[Filter Syntax]]\ntitle: Filter Step\ntype: text/vnd.tiddlywiki\n\n<$railroad text=\"\"\"\n[:\"!\"]\n[: [[operador|\"Filter Operators\"]] [:\":\" sufijo] ]\n[[parametro|\"Filter Parameter\"]]\n\"\"\"/>\n\nUn <<.def paso>> representa una operación única que se realiza dentro de un [[filtro|Filter Syntax]].\n\nEn términos de programación, se parece a la llamada de una función en la que el input es un parámetro implícito. El output de un paso es una [[selección|Title Selection]] que contribuye a una [[instrucción|Filter Run]] y, por lo tanto, a la [[expresión|Filter Expression]] que lo contiene en su totalidad.\n\nEl <<.def operador>> de un paso se obtiene de una lista predefinida de [[palabras clave|Filter Operators]], que puede extenderse mediante plugins. Todo operador no reconocido se trata como sufijo de <<.olink field>>. Si se omite el operador, se lo considera por defecto como `title`.\n\nUn <<.def sufijo>> es texto adicional --generalmente el nombre de un [[campo|TiddlerFields]]-- que complementa el significado de ciertos operadores.\n\nMuchos pasos requieren un valor explícito de <<.def parámetro>>, llamado también <<.def operando>>, que concreta lo que tiene que hacer.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Filter_Syntax.tid",
    "content": "caption: Filtros: Sintaxis\ncreated: 20140210141217955\nes-title: Sintaxis de expresiones de búsqueda\nlist: [[Filter Expression]] [[Filter Run]] [[Filter Step]] [[Filter Parameter]] [[Filter Whitespace]]\nmodified: 20160420173154550\ntags: Filters\ntitle: Filter Syntax\ntype: text/vnd.tiddlywiki\n\n<<.preamble \"\"\"Los [[filtros|Filters]] siguen una gramática especial que aquí presentamos mediante [[diagramas sintácticos|Railroad Diagrams]], para uso de quienes encuentran útil la descripción sintáctica formal. Puedes, sin embargo, [[aprender a escribir filtros|Introduction to filter notation]] sin necesidad de comprender esta sección.\"\"\">>\n\nUn <<.def filtro>> es una una secuencia de instrucciones que transforma un <<.def input>> o <<.word entrada>> en un <<.def output>> o <<.word salida>>. Tanto el input como el output son [[conjuntos ordenados de títulos|Title Selection]] de cosas tales como tiddlers y campos. \n\nUn filtro es una [[expresión|Filter Expression]] construida con piezas más pequeñas --que llamamos [[instrucciones|Filter Run]] y [[pasos|Filter Step]]--, cada uno de los cuales transforma a su vez un input en un output.\n\nUn filtro comienza con un output vacío y sus ejecuciones se procesan de izquierda a derecha, modificando progresivamente dicho output. \n\nEstas son las diferentes piezas que componen un filtro:\n\n<<list-links \"[tag[Filter Syntax]]\">>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Filter_Whitespace.tid",
    "content": "caption: Espacios en blanco\ncreated: 20150124182304000\nes-title: Espacios en blanco\nmodified: 20160421063428408\ntags: [[Filter Syntax]]\ntitle: Filter Whitespace\ntype: text/vnd.tiddlywiki\n\n<$railroad text=\"\"\"\n{( \"espacio\" | \"tabulador\" | \"entrada de línea\" | \"return\" | \"tabulador vertical\" | \"entrada de formulario\" )}\n\"\"\"/>\n\nEntre las diferentes [[instrucciones|Filter Run]] de una [[expresión|Filter Expression]] pueden aparecer diferentes caracteres en blanco.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Filters.tid",
    "content": "caption: Filtros\ncreated: 20130827080000000\nes-title: FIltros y expresiones de búsqueda\nlist: [[Introduction to filter notation]] [[Filter Syntax]]\nmodified: 20160419165818368\ntags: Reference Concepts\ntitle: Filters\ntype: text/vnd.tiddlywiki\n\nPiensa en ~TiddlyWiki como en una base de datos cuyos registros son tiddlers. Una base de datos proporciona los medios para encontrar entre sus registros aquellos que coinciden con un determinado patrón de búsqueda. La forma de hacerlo en ~TiddlyWiki es mediante <<.em filtros>>.\n\nUn <<.def filtro>> es una expresión breve y concisa que describe a un [[conjunto de tiddlers|Title Selection]] llamado <<.def \"output\">> o <<.def salida>>. Siempre que ~TiddlyWiki encuentra un filtro, calcula su output. De este modo, puede realizar determinadas tareas con esa selección de tiddlers en particular, como [[contarlos|CountWidget]] o [[hacer una lista|ListWidget]] con ellos.\n\nEl siguiente ejemplo especifica un filtro de búsqueda a la macro <<.mlink list-links>> para que muestre un listado de tiddlers cuyos títulos comienzan con la letra hache:\n\n> `<<list-links \"[prefix[H]]\">>`\n\nY este es su output:\n\n<<list-links \"[prefix[H]]\">>\n\nEl output cambiará en la medida en que cambie el wiki según se añadan y se eliminen tiddlers. En cualquier caso, ~TiddlyWIki lo volverá a calcular al vuelo, manteniendo así al día cualquier cuenta o lista basada en dicho filtro.\n\n[[Búsqueda avanzada|$:/AdvancedSearch]] tiene una pestaña llamada <<.advancedsearch-tab Filter>>, que facilita experimentar con filtros. \n\n;Para saber más:\n\n*> [[Introducción a la notación de filtros|Introduction to filter notation]] -- Guía paso a paso\n\n*> [[Sintaxis de filtros|Filter Syntax]] -- Reglas detalladas para uso técnico\n\n*> [[Operadores de filtro|Filter Operators]] -- métodos disponibles de búsqueda \n"
  },
  {
    "path": "editions/es-ES/tiddlers/Formatting_text_in_TiddlyWiki.tid",
    "content": "caption: Formatos en ~TiddlyWiki\ncreated: 20140908131500000\nes-title: Dar formato al texto en TiddlyWiki\nmodified: 20160424052545413\ntags: [[Working with TiddlyWiki]]\ntitle: Formatting text in TiddlyWiki\ntype: text/vnd.tiddlywiki\n\nPara controlar cómo se muestra el texto de un tiddler, puedes usar un formateo especial que llamamos WikiText. \n\n! Formato simple\n\nEn su forma más simple, WikiText te permite usar funciones habituales en el proceso de textos como negrita, cursiva, listas y tablas. Por ejemplo:\n\nAt its simplest, WikiText lets you use familiar word-processing features like bold, italic, lists and tables. For example:\n\n```\nJovencillo ''emponzoñado'' de ~~whisky~~ ¡Qué //figurota// `exhibe`!\n\n```\n\n… se muestra como:\n\nJovencillo ''emponzoñado'' de ~~whisky~~ ¡Qué //figurota// `exhibe`!\n\n! Working with Tiddlers\n\nSe puede enlazar a otros tiddlers en WikiText usando corchetes dobles o aprovechando la función de enlace automático de las palabras en CamelCase:\n\n```\nEste es un enlace al tiddler HelloThere y, este otro, a [[Historia de TiddlyWiki|History of TiddlyWiki]]\n```\n\n… se muestra como:\n\nEste es un enlace al tiddler HelloThere y, este otro, a [[Historia de TiddlyWiki|History of TiddlyWiki]]\n\n! Macros\n\nLas macros permiten empaquetar fragmentos de WikiText de difícil ejecución o que se repiten con frecuencia, para así poder usarlos con facilidad y consistentemente.\n\nPor ejemplo, esta es la definición de una macro que inserta un icono y da formato especial a  a un texto usado como advertencia, por ejemplo, en un manual:\n\n`\\define .warning(_) \n<div class=\"doc-icon-block\">\n<div class=\"doc-block-icon\">{{$:/core/images/warning}}</div>\n $_$</div>`\n\nEl código que la define hace referencia, en este caso, a <<.em clases>> definidas en la [[hoja de estilos|Cascading Style Sheets]] del documento.\n\nPara llamar una macro en WikiText, la escribimos entre dobles comillas angulares simples y con el texto al que queremos aplicarla entre comillas rectas: `<<.warning \"texto\">>`\n\nEl resultado tiene este aspecto:\n\n<<.warning \"Este es un texto que, de no ser por la macro `.warning`, tendríamos que formatear a mano cada vez que quisiéramos insertar un texto de advertencia, lo que por un lado tiene su complejidad y, por otro, lleva tiempo y está sujeto a errores. De este modo nos aseguramos rápidamente, sin posibilidad de error y sin distracciones, de que todas las advertencias que escribimos tienen el mismo aspecto\">>\n\n! ~WikiText avanzado\n\nLas funciones avanzadas de WikiText te permiten generar listas automáticamente entre otras funciones interactivas como  menús desplegables. De hecho, la interfaz entera de ~TiddlyWiki está escrita en ~WikiText, de modo que casi todo cuanto ves puede es adaptable para su uso en otros wikis.\n\nAlgunas de estas funciones avanzadas requieren el uso de código complejo. Por ese motivo TIddlyWiki incorpora varias macros que simplifican algunas tareas en la interfaz de usuario, como la creación de pestañas, tablas de contenido y listas.\n\n<<.tip \"[[Aquí|WikiText]] tienes instrucciones más extensas y detalladas sobre el uso de ~WikiText\">>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Forums.tid",
    "content": "caption: Foros\ncreated: 20140721121924384\nes-title: Foros\nmodified: 20160413152559250\ntags: Community\ntitle: Forums\ntype: text/vnd.tiddlywiki\n\n!Foros de discusión de ~TiddlyWiki. \n\nSon listas de correo en las que hablamos de ~TiddlyWiki: pedimos ayuda, anunciamos la publicación de nuevas ediciones o de nuevos plugins, debatimos sobre nuevas características, o simplemente compartimos experiencias. \n\nPuedes participar a través de la página web asociada, o suscribirte via mail.\n\n!! Usuarios\n\n[[Foro oficial de TiddlyWiki| https://talk.tiddlywiki.org/]]\n\n[[Grupo principal de TiddlyWiki| http://groups.google.com/group/TiddlyWiki]]\n\n>No necesitas tener cuenta en Google para acceder al grupo. Suscríbete igualmente enviando un mail a:\n* mailto:tiddlywiki+subscribe@googlegroups.com \n\nAdemás, puedes participar en nuestras [[reuniones periódicas online|TiddlyWiki Hangouts]]\n\no síguenos [[en Twitter|http://twitter.com/TiddlyWiki]] si quieres recibir las últimas noticias\n\n!! Desarrolladores\n\n[[Foro de desarrollo de TiddlyWiki|https://talk.tiddlywiki.org/c/devs]]\n\nAccede a nuestra [[página de desarrollo|https://github.com/TiddlyWiki/TiddlyWiki5]] en GitHub y haz tu contribución.\n\nSíguenos [[en Twitter|http://twitter.com/TiddlyWiki]] si quieres estar al tanto de las últimas noticias\n\nLas nuevas ediciones de TiddlyWiki, TiddlyDesktop y TiddlyFox se anuncian en los foros de discusión y en [[Twitter|https://twitter.com/TiddlyWiki]]. \n\nTambién puedes suscribirte al feed de [[versiones|https://github.com/TiddlyWiki/TiddlyWiki5/releases.atom]] en ~GitHub"
  },
  {
    "path": "editions/es-ES/tiddlers/Full_Edition.tid",
    "content": "caption: Edición completa\ncreated: 20150310103210459\nes-title: Edición completa\nmodified: 20160605040305652\ntags: Editions\ntitle: Full Edition\ntype: text/vnd.tiddlywiki\n\nLa edición completa de ~Tiddlywiki consta de todos los idiomas, temas y plugins disponibles. Su uso está previsto para pruebas, especialmente para el cambio de un idioma a otro.\n\nLa edición completa puede descargarse de:\n\nhttps://tiddlywiki.com/editions/full/\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Future_Proof.tid",
    "content": "caption: Perdurable\ncreated: 20131213101024997\nes-title: A prueba de futuro\nmodified: 20160503161914814\ntags: Features\ntitle: Future Proof\ntype: text/vnd.tiddlywiki\n\n~TiddlyWiki se ha diseñado teniendo en mente las necesidades de perdurabilidad del usuario. \n\nPuesto que es OpenSource y no necesita infrastructura alguna, podemos asegurar que lo único que necesitarás para acceder a un archivo de ~TiddlyWiki, incluso en un futuro lejano, es un navegador HTML normal y corriente. Si estás hoy al inicio de tu carrera, puedes estar seguro de que podrás seguir usándolo cuando te jubiles. \n"
  },
  {
    "path": "editions/es-ES/tiddlers/Get_the_Ring.tid",
    "content": "caption: Conseguir el anillo\ncreated: 20130825143100000\nes-title: Conseguir el anillo\nmodified: 20160418045706407\ntags: task\ntitle: Get the Ring\ntype: text/vnd.tiddlywiki\n\n//Tarea de muestra para el [[Ejemplo de administración de tareas|TaskManagementExample]]//\n"
  },
  {
    "path": "editions/es-ES/tiddlers/GettingStarted.tid",
    "content": "caption: En Marcha\ncreated: 20131129090249275\nes-title: Puesta en marcha\nmodified: 20160603132644119\ntags: [[Working with TiddlyWiki]]\ntitle: GettingStarted\ntype: text/vnd.tiddlywiki\n\n\\define default-platform()\nGettingStarted - $(browser-name)$\n\\end\nBreves instrucciones para empezar a trabajar en las diferentes plataformas y configuraciones con las que TiddlyWiki es compatible. [[Aquí|A Gentle Guide to TiddlyWiki]] encontrarás una introducción algo más amena.\n\n<$set name=\"browser-name\" value={{$:/info/browser/name}}>\n<$macrocall $name=\"tabs\" state=\"$:/state/tabs/platform\" tabsList=\"[prefix[GettingStarted - ]]\" default=<<default-platform>> class=\"tc-vertical\"/>\n</$set>\n\nSolución de problemas:\n\n* No intentes guardar cambios con la opción ''Archivo''/''Guardar'' o ''Guardar como'' del navegador: __No funciona__\n\nTe interesa ver también:\n\n* [[Cifrado|Encryption]] explica cómo usar la función incorporada de cifrado para proteger tus contenidos con contraseña.\n* [[Guardar en TiddlySpot|Saving on TiddlySpot]], servicio gratuito que te permite usar TiddlyWiki online\n* Guardar en TiddlyDesktop, aplicación para trabajar con TiddlyWiki en el escritorio\n* También puedes descargar este TIddlywiki en su versión íntegra, con toda su documentación:\n\n<<<\n{{$:/snippets/download-wiki-button}}\n\nSi el botón no funciona, guarda el siguiente enlace:\n\n<a href=\"https://tiddlywiki.com/languages/es-ES/index.html\" download=\"index.html\">~https://tiddlywiki.com/languages/es-ES/index.html</a>\n\nEl navegador puede pedirte que confirmes la acción antes de comenzar la descarga\n<<<\n"
  },
  {
    "path": "editions/es-ES/tiddlers/GettingStarted_-_Android.tid",
    "content": "caption: Android\ncreated: 20140811171036268\nes-title: EnMarcha - Android\nmodified: 20160413084854160\ntitle: GettingStarted - Android\ntype: text/vnd.tiddlywiki\n\nHay dos formas de usar TiddlyWiki en Android:\n\n! Con Firefox y TiddlyFox\n\n{{Saving with TiddlyFox on Android}}\n\n! Con AndTidWiki\n\n{{Saving on Android}}\n"
  },
  {
    "path": "editions/es-ES/tiddlers/GettingStarted_-_Chrome.tid",
    "content": "caption: Chrome\ncreated: 20140811165935523\nes-title: EnMarcha - Chrome\nmodified: 20160413085812048\ntitle: GettingStarted - Chrome\ntype: text/vnd.tiddlywiki\n\nEn Google Chrome, TiddlyWiki sólo puede guardar cambios usando el módulo alternativo de guardado compatible con HTML5\n\n{{Saving with the HTML5 saver}}\n"
  },
  {
    "path": "editions/es-ES/tiddlers/GettingStarted_-_Firefox.tid",
    "content": "caption: Firefox\ncreated: 20140811170425199\nes-title: EnMarcha - Firefox\nmodified: 20160413095347479\ntitle: GettingStarted - Firefox\ntype: text/vnd.tiddlywiki\n\nComo mejor funciona TiddlyWIki en Firefox es con la extensión TiddlyFox.\n\n{{Saving with TiddlyFox}}\n"
  },
  {
    "path": "editions/es-ES/tiddlers/GettingStarted_-_Internet_Explorer.tid",
    "content": "caption: Internet Explorer\ncreated: 20140811172058274\nes-title: EnMarcha - Internet Explorer\nmodified: 20160413100007423\ntitle: GettingStarted - Internet Explorer\ntype: text/vnd.tiddlywiki\n\n{{Saving with TiddlyIE}}\n\nEn [[Ejecutar como Aplicación HTA| Windows HTA Hack]] se describe un método alternativo para usar TiddlyWiki con Internet Explorer."
  },
  {
    "path": "editions/es-ES/tiddlers/GettingStarted_-_Node.js.tid",
    "content": "caption: Node.js\ncreated: 20140811172010003\nes-title: EnMarcha - Node.js\nmodified: 20160413105535386\ntitle: GettingStarted - Node.js\ntype: text/vnd.tiddlywiki\n\n{{Installing TiddlyWiki on Node.js}}\n"
  },
  {
    "path": "editions/es-ES/tiddlers/GettingStarted_-_Safari.tid",
    "content": "caption: Safari\ncreated: 20140811171121022\nes-title: EnMarcha - Safari\nmodified: 20160413143044214\ntitle: GettingStarted - Safari\ntype: text/vnd.tiddlywiki\n\nEn Safari, TiddlyWiki sólo puede guardar cambios de forma manual, valiéndose para ello del módulo alternativo de guardado compatible con HTML5. \n\n{{Saving on Safari}}\n\n"
  },
  {
    "path": "editions/es-ES/tiddlers/GettingStarted_-_iOS.tid",
    "content": "caption: iPad/iPhone\ncreated: 20140811170918707\nes-title: EnMarcha - IOS\nmodified: 20160413104034157\ntitle: GettingStarted - iOS\ntype: text/vnd.tiddlywiki\n\n{{Saving on iPad/iPhone}}\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Getting_Started_Video.tid",
    "content": "caption: Video: Inicio\ncreated: 20140104134911101\nes-title: Videotutorial de inicio\nmodified: 20160421134904459\ntags: Videos [[Working with TiddlyWiki]]\ntitle: Getting Started Video\ntype: text/vnd.tiddlywiki\n\nEste breve tutorial te enseña cómo guardar cambios en TiddlyWIki.\n\n//El video está un poco anticuado, pero esperamos poder ponerlo pronto al día.//\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/1g66s7UbyuU\" frameborder=\"0\" allowfullscreen></iframe>"
  },
  {
    "path": "editions/es-ES/tiddlers/Glosario_en-GB_-__es-ES.tid",
    "content": "created: 20141217193625476\nmodified: 20160411174752421\ntitle: Glosario en-GB -> es-ES\ntype: text/vnd.tiddlywiki\n\n|!en-GB |!es-ES |!Comentario |h\n|Tiddler |Tiddler|Invariable |\n\n(Véase el capítulo de [[tablas|Tables in WikiText]] para saber cómo editar el glosario)\n\n----\n\n!!!''¡Importante!!'' - Palabras y referencias reservadas para el sistema\n\n* Nombres de `campo` y sus referencias (nombre del campo, sin separador, seguido de //Field//. P. Ej.:ListField)\n* Nombre de widgets. P. Ej.: NavigatorWidget"
  },
  {
    "path": "editions/es-ES/tiddlers/Go_to_Mordor.tid",
    "content": "caption: ir a Mordor\ncreated: 20130825143100000\nes-title: Ir a Mordor\nmodified: 20160418045726558\ntags: task done\ntitle: Go to Mordor\ntype: text/vnd.tiddlywiki\n\n//Tarea de muestra para el [[Ejemplo de administración de tareas|TaskManagementExample]]//\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Hard_and_Soft_Links.tid",
    "content": "caption: Enlaces físicos y simbólicos\ncreated: 20150123220237000\nes-title: Enlaces físicos y simbólicos\nmodified: 20160511060750282\ntags: Concepts\ntitle: Hard and Soft Links\ntype: text/vnd.tiddlywiki\n\nUn <<.def \"enlace físico\">> o <<.def \"hard link\">> es uno que puede reconocerse visualmente, examinando el texto en WikiText.\n\nUn enlace es <<.def simbólico>> o <<.def \"soft link\">> si:\n\n* forma parte de una [[transclusión|Transclusion]] de otro tiddler\n* proviene de una [[macro|Macros]] o una [[variable|Variables]]\n* lo genera un widget cuyo atributo <<.attr to>> es una transclusión, macro o variable\n\n<$macrocall $name=\".warning\" _=\"\"\"Los operadores de filtro como <<.olink backlinks>>, <<.olink links>>, <<.olink all>> o <<.olink is>> no reconocen enlaces simbólicos.\"\"\"/>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/HelloThere.tid",
    "content": "caption: ¡Hola!\ncreated: 20130822170200000\nes-title: ¡Hola! ¿Qué tal?\nlist: [[A Gentle Guide to TiddlyWiki]] [[Discover TiddlyWiki]] [[Some of the things you can do with TiddlyWiki]] [[Ten reasons to switch to TiddlyWiki]] Examples [[What happened to the original TiddlyWiki?]]\nmodified: 20160605052349288\ntags: TableOfContents\ntitle: HelloThere\ntype: text/vnd.tiddlywiki\n\n''¿Nunca has tenido la sensación de que no te cabe en la cabeza todo lo que tienes que recordar?''\n\nBIenvenido a TiddlyWiki, un bloc de notas [[no lineal|Philosophy of Tiddlers]] único para [[capturar|Creating and editing tiddlers]], [[organizar|Structuring TiddlyWiki]] y [[compartir|Sharing your tiddlers with others]] información compleja.\n\nÚsalo para mantener tu [[lista de tareas|TaskManagementExample]], para desarrollar un [[ensayo o novela|\"TiddlyWiki for Scholars\" by Alberto Molina]], o incluso para organizar tu boda. Toma nota de todo cuanto te pase por la cabeza o construye una web flexible y ágil, que satisfaga tus necesidades.\n\n<div style=\"font-size:0.7em;text-align:center;margin-top:2em;margin-bottom:2em;\">\n<<list-thumbnails filter:\"[tag[HelloThumbnail]]\" width:\"168\" height:\"95\">>\n</div>\n\nAl revés que los servicios online convencionales, TiddlyWiki te deja escoger dónde quieres guardar tus datos, garantizándote que, por más que pase el tiempo, podrás seguir usando en el futuro las notas que tomes hoy.\n\n<div style=\"font-size:0.7em;text-align:center;margin-top:3em;margin-bottom:3em;\">\n<a href=\"https://talk.tiddlywiki.org/\" class=\"tc-btn-big-green\" style=\"background-color:#FF8C19;\" target=\"_blank\" rel=\"noopener noreferrer\">\n{{$:/core/images/mail}} Foro oficial de ~TiddlyWiki\n</a>\n<a href=\"https://www.youtube.com/c/JeremyRuston\" class=\"tc-btn-big-green\" style=\"background-color:#e52d27;\" target=\"_blank\" rel=\"noopener noreferrer\">\n{{$:/core/images/video}} ~TiddlyWiki en ~YouTube\n</a>\n<a href=\"https://twitter.com/TiddlyWiki\" class=\"tc-btn-big-green\" style=\"background-color:#5E9FCA;\" target=\"_blank\" rel=\"noopener noreferrer\">\n{{$:/core/images/twitter}} @~TiddlyWiki en Twitter\n</a>\n<a href=\"https://github.com/TiddlyWiki/TiddlyWiki5\" class=\"tc-btn-big-green\" style=\"background-color:#444;\" target=\"_blank\" rel=\"noopener noreferrer\">\n{{$:/core/images/github}} ~TiddlyWiki en ~GitHub\n</a>\n</div>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/HelloThumbnail_-_Classic.tid",
    "content": "caption: ~TiddlyWiki Classic\ncolor: #D5B7EA\ncreated: 20160605063552797\nes-title: HolaMiniatura - Classic\nimage: TiddlyWiki Classic.png\nlink: TiddlyWikiClassic\nmodified: 20160605063552797\ntags: HelloThumbnail\ntitle: HelloThumbnail - Classic\n\n"
  },
  {
    "path": "editions/es-ES/tiddlers/HelloThumbnail_-_Developers.tid",
    "content": "background-color: #EAE57D\ncaption: Desarrolladores\ncolor: #6B6E98\ncreated: 20160605063000303\nes-title: HolaMiniatura - Desarrolladores\nimage: Dev Thumbnail.jpg\nlink: Developers\nmodified: 20160605063018257\ntags: HelloThumbnail\ntitle: HelloThumbnail - Developers\n\n"
  },
  {
    "path": "editions/es-ES/tiddlers/HelloThumbnail_-_Gentle_Guide.tid",
    "content": "background-color: #EDB431\ncaption: Amable introducción\ncolor: #fff\ncreated: 20150325172634195\nes-title: HolaMiniatura - Amable introducción\nimage: Motovun Jack.jpg\nlink: A Gentle Guide to TiddlyWiki\nmodified: 20160605062556596\ntags: HelloThumbnail\ntitle: HelloThumbnail - Gentle Guide\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/es-ES/tiddlers/HelloThumbnail_-_HelpingTiddlyWiki.tid",
    "content": "background-color: #fff\ncaption: ~TiddlyWiki ayudando\ncolor: #B7D5EA\ncreated: 20160605062718206\nes-title: HolaMiniatura - TiddlyWikiAyudando\nimage: Tiddler Poster.png\nlink: HelpingTiddlyWiki\nmodified: 20160605062929945\ntags: HelloThumbnail\ntitle: HelloThumbnail - HelpingTiddlyWiki\n\n"
  },
  {
    "path": "editions/es-ES/tiddlers/HelloThumbnail_-_Introduction_Video.tid",
    "content": "background-color: #fff\ncaption: Introducción a ~TiddlyWiki\ncolor: red\ncreated: 20160605062107182\nes-title: HolaMiniatura - Principios básicos\nicon: {{$:/core/images/video}}\nimage: Introduction Video Thumbnail.jpg\nlink: Introduction Video\nmodified: 20160605062138614\ntags: HelloThumbnail\ntitle: HelloThumbnail - Introduction Video\n\n"
  },
  {
    "path": "editions/es-ES/tiddlers/HelloThumbnail_-_Latest_Version.tid",
    "content": "caption: Qué hay de nuevo en <<version>>\ncolor: #fff\ncreated: 20160605063421736\nes-title: HolaMiniatura - Ultima versión\nimage: New Release Banner.png\nlink: Releases\nmodified: 20160605063512135\ntags: HelloThumbnail\ntitle: HelloThumbnail - Latest Version\n\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Hidden_Setting__Search_AutoFocus.tid",
    "content": "caption: Ajuste oculto: Search ~AutoFocus \ncreated: 20150619162518761\nes-title: Ajuste oculto: AutoFocus de la barra de búsqueda\nmodified: 20160426152203677\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: Search AutoFocus\ntype: text/vnd.tiddlywiki\n\nAl abrir TiddlyWiki, el foco se sitúa por defecto en la barra de búsqueda. Si esto te ocasiona algún problema, puedes modificarlo cambiando el texto de <<.em true>> a <<.em false>> en el siguiente tiddler: \n\n$:/config/Search/AutoFocus\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Hidden_Setting__Typing_Refresh_Delay.tid",
    "content": "caption: Ajuste oculto: Retardo del teclado\ncreated: 20150619162409306\nes-title: Ajuste oculto: Retardo entre pulsaciones del teclado\nmodified: 20160426153953083\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: Typing Refresh Delay\ntype: text/vnd.tiddlywiki\n\nPara asegurar que al escribir no haya errores de interpretación de las pulsaciones del teclado, TiddlyWiki retarda el procesamiento de cambios en el borrador durante un breve período. El valor por defecto de 400 ms da un nivel óptimo de respuesta en la mayoría de casos, pero no siempre es el más conveniente en dispositivos móviles de baja potencia. \n\nPara modificar el tiempo de retardo, basta con cambiar el valor en milisegundos de este tiddler:\n\n$:/config/Drafts/TypingTimeout"
  },
  {
    "path": "editions/es-ES/tiddlers/Hidden_Settings.tid",
    "content": "caption: Ajustes ocultos\ncreated: 20150619162223882\nes-title: Ajustes ocultos\nmodified: 20160426151522460\ntags: [[Customise TiddlyWiki]]\ntitle: Hidden Settings\ntype: text/vnd.tiddlywiki\n\nLos ajustes de configuración de TiddlyWiki se exponen en el <<.button control-panel>>, pero algunos más avanzados no tienen interfaz propiamente dicha, por lo que, si es necesario, se editan directamente en los tiddlers de configuración.\n\nArrastra los siguientes enlaces a tu wiki para cambiar estos ajustes. \n\n<<list-links \"[tag[Hidden Settings]]\">>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Highlight_Plugin.tid",
    "content": "caption: Highlight\ncreated: 20160107223417655\nes-title: Highlight\nlist: \nmodified: 20160504052407652\ntags: [[Plugin Editions]]\ntitle: Highlight Plugin\ntype: text/vnd.tiddlywiki\n\nDesarrollado para programadores, el plugin Highlight permite aplicar colores a la sintaxis del texto.\n\nSee https://tiddlywiki.com/plugins/tiddlywiki/highlight/\n"
  },
  {
    "path": "editions/es-ES/tiddlers/How_to_add_a_banner_for_GitHub_contributions.tid",
    "content": "caption: Banner para contribuciones en GitHub\ncreated: 20141123094403948\nes-title: Cómo añadir un banner para pedir contribuciones en GitHub\nmodified: 20160419135034099\ntags: Learning\ntitle: How to add a banner for GitHub contributions\ntype: text/vnd.tiddlywiki\n\nCuando editas un tiddler en https://tiddlywiki.com, aparece una pequeña banda de color rosa que te invita a editar la fuente del tiddler en GitHub. \n\nSi usas Node.js, puedes reproducir este mismo efecto para tu propio ~TiddlyWiki, de la siguiente manera:\n\n# Asegúrate de incluir el siguiente ajuste en el archivo `tiddlywiki.info` de tu directorio:\n\n#> <pre><code>\t\"config\": {\n\t\t\"retain-original-tiddler-path\": true\n\t}</code></pre>\n\n# Copia el tiddler [[$:/ContributionBanner]] a tu wiki \n\n# Haz los siguientes cambios:\n\n## Modifica la URL del enlace en GitHub para que apunte a tu propio directorio \n\n## Modifica la frase <<.word \"¿Puedes ayudarnos a mejorar la documentación?\">> del modo que mejor convenza a los lectores para que contribuyan contigo.\n## Ajusta convenientemente el enlace [[Mejorar la documentación de TiddlyWiki|Improving TiddlyWiki Documentation]] para que apunte en la dirección del tiddler que contiene las instrucciones."
  },
  {
    "path": "editions/es-ES/tiddlers/How_to_add_a_new_tab_to_the_sidebar.tid",
    "content": "caption: Añadir pestañas a la barra lateral\ncreated: 20141117000000000\nes-title: Cómo añadir pestañas a la barra lateral\nmodified: 20160419144422300\ntags: Learning [[Customise TiddlyWiki]]\ntitle: How to add a new tab to the sidebar\ntype: text/vnd.tiddlywiki\n\nPara crear una nueva pestaña en la barra lateral:\n\n# Crea un tiddler nuevo y ponle la [[etiqueta de sistema|SystemTags]] [[$:/tags/SideBar]]\n\n#* Si vas a crear un sumario o tabla de contenidos, puedes usar la [[macro de sumario |Table-of-Contents Macros]]. Tienes un ejemplo en el [[propio índice|TableOfContents]] de este sitio\n\n# Por defecto se usa el título del tiddler como título de la pestaña, pero puedes puentearlo con el campo `caption`\n\n#Para definir en qué orden tiene que aparecer la pestaña, puedes usar los campos `list-before` y `list-after`, tal como se indica en [[Etiquetas|Tagging]]\n#* P. ej.: establece el valor de `list-after` como [[$:/core/ui/SideBar/Open]] para colocar tu pestaña inmediatamente después de la solapa <<.sidebar-tab Open>>\n\n<<.tip \"Nota: de igual manera, puedes crear nuevas pestañas dentro de la pestaña ''Más'', con la etiqueta `$:/tags/MoreSideBar`.\" >>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/How_to_apply_custom_styles_by_tag.tid",
    "content": "caption: Estilos CSS con etiquetas\ncreated: 20141001132300000\nes-title: Cómo aplicar estilos CSS mediante etiquetas\nmodified: 20160419152957461\ntags: Learning\ntitle: How to apply custom styles by tag\ntype: text/vnd.tiddlywiki\n\nSe pueden aplicar estilos personalizados a tiddlers con una pestaña particular definiendo una clase CSS con el nombre `tc-tagged-<etiqueta>`.\n\nPor ejemplo: Para que una serie de tiddlers con la etiqueta <<.tag ~VistaNocturna>> se muestren con un esquema de colores apropiado para leer con poca luz, tendremos que [[crear una hoja de estilos|Using Stylesheets]] que defina la clase `tc-tagged-VistaNocturna`, del modo siguiente: \n\n```\n.tc-tagged-VistaNocturna {\n\tbackground-color:black;\n\tcolor: orange;\n\tpadding: 35px 35px;\n}\n\n.tc-tagged-VistaNocturna .tc-tiddler-body {\n\tfont-size: 1.5em;\n}\n```\nLa clase `tc-tagged-VistaNocturna` se aplica a todo el tiddler y no sólo al texto. Si queremos referirnos sólo a una parte del tiddler, se puede habilitar el selector CSS, como hemos hecho aquí con `.tc-tagged-NightReader .tc-tiddler-body`.\n\nNótese que las etiquetas que contengan espacios o caracterres no alfanuméricos, para que CSS los interprete, tendrán que convertirse según la codificación URI, lo que hace que la clase CSS resultante sea difícil de predecir y más proclive a errores.\n\nPor ejemplo:\n\n|!Etiqueta |!Nombre de clase generado |\n|`$:/mytag` |`tc-tagged-%24%3A%2Fmytag` |\n|`Doctor Who` |`tc-tagged-Doctor%20Who` |\n|`£35.23` |`tc-tagged-%C2%A335.23` |\n\nAunque ~TiddlyWiki generará las etiquetas, para usarlas en la hoja de estilos se tendrá que usar la correspondiente equivalencia en [[código porciento|https://es.wikipedia.org/wiki/C%C3%B3digo_porciento]]:\n\n```\n.tc-tagged-Doctor\\%20Who {\n    background-image: url(./tardis_back.svg);\n    background-repeat: no-repeat;\n    background-position: right;\n    color:#FBFBFB;\n}\n```\nHay disponible una función en ~JavaScript para realizar la conversión:\n\n```\n$tw.utils.tagToCssSelector(\"$:/tags/Stylesheet\")\n```\n...que genera la siguiente respuesta:\n\n```\ntc-tagged-\\%24\\%3A\\%2Ftags\\%2FStylesheet\n```"
  },
  {
    "path": "editions/es-ES/tiddlers/How_to_export_tiddlers.tid",
    "content": "caption: Exportación de tiddlers\ncreated: 20151006145934884\nes-title: Cómo exportar tiddlers\nmodified: 20160419161840318\ntags: Learning\ntitle: How to export tiddlers\ntype: text/vnd.tiddlywiki\n\n!! Exportar todos los tiddlers\n\nPara exportar <<.em todos>> los tiddlers del wiki, haz clic en la pestaña <<.sidebar-tab Tools>> de la barra lateral y a continuación selecciona el botón <<.button export-page>>. Un menú desplegable te dará la opción de exportar los tiddlers en varios formatos.\n\n!! Exportar un solo tiddler\n\nSi quieres exportar un tiddler en particular, abre primero dicho tiddler y haz clic en el botón <<.button more-tiddler-actions>> de la barra. De la lista desplegable que aparece, selecciona la opción <<.button export-tiddler>>. Un menú desplegable te mostrará las diferentes opciones de exportación disponibles.\n\n!! Exportar tiddlers coincidentes con un criterio de búsqueda (filtros)\n\nPara exportar una selección de tiddlers, haz clic en la lupa junto al área de <<.button advanced-search>> de la barra lateral para abrir el tiddler de [[Búsqueda avanzada|$:/AdvancedSearch]]. Haz clic en la pestaña <<.advancedsearch-tab Filter>>, que es la que te permite exportar una selección de tiddlers y escribe el criterio de búsqueda conforme a la sintaxis empleada por los [[filtros|Filters]].\n\nUna vez escrita la expresión de filtrado, aparecerá la lista de tiddlers coincidentes con el criterio de búsqueda. Entonces puedes hacer clic en el botón {{$:/core/ui/Buttons/export-tiddler}}, a la derecha del campo de búsqueda. Un menú desplegable te ofrecerá las opciones de exportación disponibles.\n\n!! Formatos de exportación\n\nActualmente, los formatos de exportación disponibles son:\n\n  * CSV\n  * JSON\n  * HTML estático\n  * archivo .tid\n\n<<.warning \"La exportación en formato ''.tid'' difiere de las demás, ya que por ahora sólo es capaz de exportar un único tiddler --el primero de la lista--. Para exportar en este formato la selección entera, habrá que abrirlos todos y exportar manualmente tiddler por tiddler.\">>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/How_to_put_the_last_modification_date_in_a_banner.tid",
    "content": "caption: Banner de fecha de última modificación\ncreated: 20141020111002211\nes-title: Cómo mostrar en un banner la fecha de última modificación del wiki\nmodified: 20160421093614488\ntags: Learning\ntitle: How to put the last modification date in a banner\ntype: text/vnd.tiddlywiki\n\nAsí es como se muestra la fecha de última modificación del wiki en un banner, en una esquina de la ventana:\n\n# [[Instala el plugin|Installing a plugin from the plugin library]] <<.def \"Corner ribbon\">> en ~TiddlyWiki.\n\n# Guarda y recarga el wiki\n\n# Crea un tiddler llamado [[$:/_MyRibbon]], con la etiqueta [[$:/tags/PageControls]] y el siguiente contenido:\n<div>\n\n```\n<div class=\"github-fork-ribbon-wrapper right\">\n<div class=\"github-fork-ribbon\" style=\"background-color:#DF4848;\">\n<$list filter=\"[!is[system]!has[draft.of]!sort[modified]limit[1]]\">\n<$link>\n<$view field=\"modified\" format=\"date\" template=\"DD mmm YYYY at 0hh:0mm\"/>\n</$link>\n</$list>\n</div>\n</div>\n```\n</div>\n# Puedes cambiar el valor de `background-color` según tus preferencias\n\n# También puedes cambiar la posición de `right` a `right-bottom`\n\n## Para poner el banner a la izquierda, la etiqueta de [[MyRibbon|$:/_MyRibbon]] debe ser [[$:/tags/PageTemplate]] en lugar de [[$:/tags/PageControls]] y la posición `left`\n"
  },
  {
    "path": "editions/es-ES/tiddlers/ImageGallery_Example.tid",
    "content": "caption: Galería de imágenes\ncreated: 20140809113603449\nes-title: Ejemplo de galería de imágenes / hoja de contactos\nmodified: 20160418044736941\ntags: Learning\ntitle: ImageGallery Example\ntype: text/vnd.tiddlywiki\n\nEste es un ejemplo de uso de ListWidget y TranscludeWidget para mostrar una cuadrilla de las imágenes del sistema (es decir, de tiddlers con la etiqueta [[$:/tags/Image]]).\n\n<style>\n.my-gallery svg {\nwidth: 4em;\nheight: 4em;\nmargin: 1em;\n}\n</style>\n<div class=\"my-gallery\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/Image]]\">\n<span title=<<currentTiddler>>>\n<$transclude/>\n</span>\n</$list>\n</div>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Images_in_WikiText.tid",
    "content": "caption: Imágenes en ~WikiText\ncreated: 20131205160221762\nes-title: Uso y manipulación de imágenes en WikiText\nmodified: 20160427054751442\ntags: WikiText [[Working with TiddlyWiki]]\ntitle: Images in WikiText\ntype: text/vnd.tiddlywiki\n\n! Inserción y formato de imágenes\n\nSe puede insertar y dar formato a imágenes con WikiText. La sintaxis para ello es la siguiente:\n\n`[img atributo [descripción|origen]]`\n\n!!Ejemplos:\n\n|!Acción |!Sintaxis |!Código de ejemplo |!Resultado |\n|Insertar imagen<br> (origen interno) |`[img[Título del tiddler con la imagen]]` |`[img[Motovun Jack.jpg]]` |[img[Motovun Jack.jpg]] |\n|Insertar imagen<br> (origen externo) |`[img[URL de la imagen]]` |`[img[https://tiddlywiki.com/favicon.ico]]` |[img[https://tiddlywiki.com/favicon.ico]] |\n|Insertar imagen<br> con descripción emergente |`[img[descripción|origen]]` |`[img[Descripción emergente|Motovun Jack.jpg ]]`<br><br>^^(Pasa el ratón por encima de la imagen para ver la descripción emergente)^^ |[img[Esta es una descripción emergente|Motovun Jack.jpg]] |\n|Insertar imagen <br>con atributos |`[img atributo[descripción|origen]]` |`[img width=100 [Motovun Jack.jpg]]` |[img width=100 [Motovun Jack.jpg]] |\n\nLos atributos pueden definirse directamente como el valor de clases CSS como ancho y altura o por [[transclusión|Transclusion]] o [[referencia|TextReference]] de variables.\n\nLa sintaxis de imágenes en ~TiddlyWiki se compone de métodos abreviados para invocar ImageWidget.\n\n! Inserción de imágenes mediante transclusión de tiddlers\n\nTambién puede mostrarse la imagen contenida en un tiddler por [[transclusión|Transclusion]] de este, escribiendo el título del tiddler entre llaves. Esto simplifica muchas veces la inclusión, pero tiene la desventaja de no poder controlar directamente el tamaño de la imagen.\n\n\n`{{Motovun Jack.jpg}}` se muestra como:\n\n{{Motovun Jack.jpg}}\n\n!Uso de imágenes externas\n\n{{ExternalImages}}"
  },
  {
    "path": "editions/es-ES/tiddlers/ImportTiddlers.tid",
    "content": "caption: Importación\ncreated: 20130825162000000\nes-title: Importar tiddlers\nmodified: 20160429043819830\ntags: Features\ntitle: ImportTiddlers\ntype: text/vnd.tiddlywiki\n\nEn ~TiddlyWiki puedes importar contenido de varias maneras:\n\n* Usa el botón <<.button import>>, en la pestaña <<.sidebar-tab Tools>> de la barra lateral para seleccionar un archivo local\n\n* Arrastra archivos desde cualquier ventana de tu escritorio a la del navegador\n* Copia contenido directamente del portapapeles mediante la opción del menú, o pulsando <<.keycombo Ctrl V>>/<<.keycombo Cmmd V>>\n** Por el momento, únicamente Chrome/Chromium permite esta acción"
  },
  {
    "path": "editions/es-ES/tiddlers/Improving_TiddlyWiki_Documentation.tid",
    "content": "caption: Proponer mejoras en documentación\ncreated: 20140820151051019\nes-title: Mejorar la documentación de TiddlyWiki\nmodified: 20160419141618531\ntags: Community\ntitle: Improving TiddlyWiki Documentation\ntype: text/vnd.tiddlywiki\n\nCualquiera puede proponer mejoras en la documentación de TiddlyWiki que aparece en https://tiddlywiki.com.\n\n# Lee y sigue la [[Guía de estilo para documentación |Documentation Style Guide]]\n\n# Date de alta en https://github.com\n\n# Si no lo has hecho aún, firma el [[acuerdo de licencia de contribución|Contributor License Agreement]]\n\n# En https://tiddlywiki.com, haz clic en el botón <<.button \"edit\">> del tiddler que quieres mejorar\n\n# Aparecerá un banner de color rosa con el texto <<.em \"Can you help us improve this documentation? Find out how to edit this tiddler on ~GitHub\">>\n\n## Haz clic en el enlace externo <<.dlink-ex \"this tiddler on ~GitHub\">>\n\n## Se te indicará que necesitas hacer un <<.def fork>> del repositorio para poder proponer cambios. Un <<.def fork>> es una copia del repositorio que incluirá los cambios que propongas.\n\n# Se abrirá una nueva ventana en el navegador, con el tiddler listo para editar en github.com\n\n# Bajo la ventana de edición del tiddler, verás un cuadro titulado <<.word \"Propose file change\">>\n\n# Escribe un breve título que explique la naturaleza del cambio, p. ej.: <<.word \"Sustitución de formato directo por estilos\">>\n\n# Si es necesario, puedes desarrollarlo convenientemente más abajo\n\n# Haz clic en el botón verde <<.word \"Propose file change\">>\n\n# En la página siguiente, pulsa el botón verde <<.word \"Create pull request\">>\n\n[[Jermolene|https://github.com/Jermolene]] u otro de los desarrolladores principales tendrán así la oportunidad de incorporar tus cambios en la próxima edición de https://tiddlywiki.com.\n\nMario Pietsch ha creado estos videotutoriales al respecto:\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/L4zTkMYcri8\" frameborder=\"0\" allowfullscreen></iframe>\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/6ElUruH92tc\" frameborder=\"0\" allowfullscreen></iframe>\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/axFCk9KsMFc\" frameborder=\"0\" allowfullscreen></iframe>"
  },
  {
    "path": "editions/es-ES/tiddlers/InfoPanel.tid",
    "content": "caption: InfoPanel\ncreated: 20150917193630604\nes-title: Panel de información de tiddler\nmodified: 20160429043844918\ntags: Features\ntitle: InfoPanel\ntype: text/vnd.tiddlywiki\n\nCada tiddler contiene un panel oculto con información adicional. Para mostrarlo, haz clic en el botón <<.button more-tiddler-actions>> en la barra del título y selecciona el botón <<.button info>> en la lista desplegable.\n\nEl InfoPanel contiene las siguientes pestañas:\n\n* <<.info-tab Tools>> ofrece botones para realizar diferentes acciones. Puedes seleccionar el botón que quieras añadir a la barra del tiddler marcando la casilla que tiene al lado. Esto afectará a todos los tiddlers en el wiki. \n\n* <<.info-tab References>>, <<.info-tab Tagging>>, <<.info-tab List>> y <<.info-tab Listed>> dan un listado de diferentes tipos de tiddlers relacionados con el actual. Ver [[uso de links para navegar entre tiddlers |Using links to navigate between tiddlers]]\n\n* <<.info-tab Fields>> da una lista de los [[campos|TiddlerFields]] contenidos en el tiddler, excepto <<.field text>>\n\n* <<.info-tab Advanced>> indica si el tiddler es de tipo [[oculto|ShadowTiddlers]]. Si lo es, dice también de qué plugin forma parte y si está o no anulado por un tiddler común. \n\n* <<.example-tab \"Sources\">> indica el origen, en el sitio de TiddlyWiki, de aquellos tiddlers que forman parte de la documentación oficial, donde se lo encuentra como página HTML estática. En tal caso, para facilitar contribuciones que mejoren la documentación, se muestra también la ruta del archivo original en GitHub.\n\nPara cerrar el panel, basta con hacer clic fuera de él."
  },
  {
    "path": "editions/es-ES/tiddlers/Informacion_para_traductores.tid",
    "content": "created: 20141115212945847\nlist-after: RoadMap\nmodified: 20160511152131764\ntags: $:/tags/SideBar About\ntitle: Información para traductores\ntype: text/vnd.tiddlywiki\n\nPara contribuir con esta traducción de la documentación de //tiddlywiki.com//, lo suyo, cuando esté lista, es ver en la página del proyecto, qué tiddlers necesitan traducción, actualización o corrección.\nEvite los tiddlers etiquetados como \"en proceso\", porque como la etiqueta indica, ya hay gente trabajando en ellos. A continuación:\n\n*Si trabaja en Node.js con un //clon de Git// de la edición `es_ES`, puede traducir a partir de su clon, respetando únicamente el par de indicaciones que se dan más abajo y proponer un //pull request// en ~GitHub, ayudándose, si hiciera falta, de la [[documentación|Improving TiddlyWiki Documentation]].\n*Si no, traduzca directamente, bien en línea, bien en una copia de la página http://tw5es-es.tiddlyspot.com. \n*Cuando termine:\n**exporte su trabajo a [[un fichero JSON|Exporter un sous-ensemble de tiddlers]]\n**envíe el archivo a paulus-arroba-alamier-punto-com para que pueda efectuar el correspondiente //pull request// en ~GitHub, o bien\n**cuelgue el archivo en algún lugar accesible (en Dropbox, por ejemplo) y publique el enlace en el [[grupo de TiddlyWiki|https://groups.google.com/forum/#!forum/tiddlywiki]]\n\nNo tenemos aún mecanismos demasiados sofisticados para gestionar el trabajo de traducción en paralelo (las plataformas que lo permiten cuestan un dineral), por lo que se ruega que actualice y comparta su trabajo con frecuencia. Es preferible enviar un tiddler por vez --que no es molestia alguna, en serio-- que darse cuenta demasiado tarde de que se está trabajando en paralelo --lo que sí puede ser un lío a veces--.\n\nAl trabajar en la traducción, tenga en cuenta lo siguiente:\n\n*''Los títulos de los tiddlers no se traducen'': Para que el sistema funcione correctamente, no deben modificarse los títulos en inglés de los tiddlers. \n**La traducción del título se hace en el campo `es-title`, usando, cuando sea necesario, el formato ~WikiText para los [[enlaces|Linking in WikiText]].\n**Traduzca también el campo `caption`, tanto para tener una versión reducida del título (ej: Enlaces en Wikitext => Enlaces) para incluirla en enlaces, como para su visualización en pestañas.\n\n*''Sírvase del glosario'': con la intención de disponer de una base terminológica común que dé coherencia a la traducción y que sirva para posteriores trabajos, estamos trabajando en un [[glosario|Glosario en-GB->es-ES]], para el que se ruega colaboración, comentario y crítica.\n\n*''Tiene a su disposición algunas abreviaturas'' que facilitan la escritura de algunos caracteres, como las comillas tipográficas (<<gf>>), o palabras que se repiten con frecuencia como <<tw>> o que son complicadas de componer, como <<latex>>.\n**Estas abreviaturas están definidas como macros en el tiddler [[$:/editions/es-ES/util-macros]]. No dude en añadir las que considere necesarias.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Installing_TiddlyWiki_on_Node.js.tid",
    "content": "created: 20131219100608529\nes-title: Instalar TiddlyWiki en Node.js\nmodified: 20160603132303620\ntags: [[TiddlyWiki on Node.js]]\ntitle: Installing TiddlyWiki on Node.js\ntype: text/vnd.tiddlywiki\n\n# Descarga e instala [[Node.js]] desde la página oficial: http://nodejs.org\n\n#Abre una terminal de línea de comandos y teclea:\n\n#> `npm install -g tiddlywiki` (ver nota * más abajo)\n\n#> Si te da fallo, necesitas volver a ejecutar la orden como administrador:\n\n#> `sudo npm install -g tiddlywiki` (Mac/Linux)\n\n# Comprueba que TiddlyWiki se ha instalado con el comando:\n\n#> `tiddlywiki --version`\n\n# Si todo está bien, TiddlyWiki devolverá el número de versión (p. ej, en este caso, <<version>>. Puede que también muestre alguna información complementaria, de depuración. \n\n# Probemos a ponerlo en marcha:\n\n## `tiddlywiki miwiki --init server` creará, en el mismo directorio en el que hayas abierto la consola, una carpeta llamada ''miwiki'', con los componentes necesarios.\n\n## `tiddlywiki miwiki --server` pondrá en marcha TiddlyWiki, que podrás ver y editar en el navegador.\n\n## Abre el navegador y escribe http://127.0.0.1:8080/ (o __localhost:8080__) en la barra de direcciones.\n\n## Crea y edita tiddlers del modo acostumbrado. Los cambios se guardarán automáticamente en la carpeta ''miwiki/tiddlers''\n\n## Para apagar TiddlyWiki, cierra el navegador y haz ''Ctrl-C'' en la línea de comandos (o ciérrala: la consola te advertirá de que al hacerlo //matarás// el proceso en marcha. Confirma y listo)\n\n# # Como opción, puedes hacer una copia offline del wiki:\n\n#* Con TiddlyWiki abierto en el navegador, haz click en el botón ''Guardar cambios'' {{$:/core/images/save-button}} de la barra lateral\n\n#* Con TiddlyWiki apagado y desde el mismo directorio desde donde lo iniciaste, teclea el siguiente comando en la consola:\n\n#>`tiddlywiki --build index`\n\n\n> ''Nota:'' El argumento `-g` hace que TiddlyWiki se instale globalmente (es decir, en todo el equipo). Sin él, TiddlyWiki estará disponible __únicamente en el directorio desde el que lo instales__.\n\n> ''Si usas Debian'' o un sistema basado en Debian y recibes un mensaje del tipo `node: command not found` pese a haber instalado node.js, puede que necesites crear un enlace simbólico entre `nodejs` y `node`. En tal caso, consulta el manual de tu distribución de Linux y `whereis` ([[más información sobre este comando|https://en.wikipedia.org/wiki/Whereis]]) para crearlo correctamente (ver también [[issue 1434|http://github.com/TiddlyWiki/TiddlyWiki5/issues/1434]] en GitHub).\n\n>Ejemplo en Debian v8.0: `sudo ln -s /usr/bin/nodejs /usr/bin/node`\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Installing_a_plugin_from_the_plugin_library.tid",
    "content": "caption: Librería oficial de plugins\ncreated: 20160107222352710\nes-title: Cómo instalar plugins desde la librería oficial\nmodified: 20181123220449416\ntags: Plugins\ntitle: Installing a plugin from the plugin library\ntype: text/vnd.tiddlywiki\n\n! Configuración de escritorio\n\nSeguir instrucciones cuando se utiliza TiddlyWiki en versión archivo HTML:\n\n# Sólo [[por si acaso|The First Rule of Using TiddlyWiki]], haz copia de seguridad de tu archivo HTML de ~TiddlyWiki\n# Abre ~TiddlyWiki en el navegador\n# Abre el [[panel de control|$:/ControlPanel]] {{$:/core/images/options-button}}, clic en la pestaña ''Plugins'' y luego en botón {{$:/core/images/download-button}} ''Obten complementos y extensiones''\n# Pincha en el botón {{$:/core/images/chevron-right}} ''Abrir biblioteca de complementos y extensiones'' para abrir la librería oficial\n# Cuando se haya cargado la librería:\n## Selecciona la pestaña adecuada al tipo complemento que buscas ''Plugins'', ''Temas'' o ''Idiomas''\n## Desplázate o usa el cuadro para encontrar lo que buscas\n# Pincha el botón ''instalar''\n# Guarda los cambios con el botón  {{$:/core/images/save-button}}\n# Recarga la página {{$:/core/images/refresh-button}}\n# El plugin está instalado y listo para su uso\n\n! Configuración cliente-servidor\n\nSeguir instrucciones cuando se utiliza TiddlyWiki en versión servidor Node.js:\n\n# Identificar el plugin que desea instalar usando la pestaña ''Plugins'' en el [[panel de control|$:/ControlPanel]] ('sin embargo no instalar el plugin desde aquí). Los plugins se identifican por su tipo  (''Plugins'', ''Temas'' o ''Idiomas''), editor y título. Por ejemplo, el  plugin `$:/plugins/tiddlywiki/internals` es identificado como ''tiddlywiki/internals''\n# Detener el servidor si está en ejecución.\n# Editar el archivo `tiddlywiki.info` (está en formato JSON) y ubicar la sección `plugins`, `themes` or `languages` (ver abajo)\n# Agreagar las entradas correspondientes a los plugins que desea instalar. (Tener cuidado de separar los ítems con coma, pero al último ítem no colocarle)\n# Reiniciar el servidor\n\n```\n{\n\t\"plugins\": [\n\t\t\"tiddlywiki/codemirror\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\"\n\t],\n\t\"languages\": [\n\t\t\"es-ES\",\n\t\t\"fr-FR\",\n\t\t\"en-EN\"\n\t]\n}\n```\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Instruction_Tiddlers.tid",
    "content": "caption: Estilo: Material didáctico\ncreated: 20150110101500000\nes-title: Guía de estilo para la redacción de material didáctico\nmodified: 20160418141755791\ntags: [[Improving TiddlyWiki Documentation]]\ntitle: Instruction Tiddlers\ntype: text/vnd.tiddlywiki\n\nLas <<.def \"instruciones de uso\">> hablan directamente al lector --presumiblemente principiante o intermedio-- y lo guían a través de determinado proceso. \n\nEstos pueden subcategorizarse como:\n\n;BIenvenida\n* ¿Qué es ~TiddlyWiki y qué me importa?\n\n* Demostraciones de características clave y sus beneficios para el usuario\n\n* Preguntas de uso frecuente\n\n* Ejemplos reales de uso de ~TiddlyWiki\n\n* Información sobre el proyecto en sí\n\n;Tutorial\n\n* Presentación ordenada de material para novatos\n\n* Cada tiddler presenta un tema o un concepto nuevo\n\n* Su contenido principal contiene muy pocos enlaces\n\n* Una sección de información complementaria <<.word \"para saber más....\">> puede ofrecer enlaces relacionados al final del artículo\n\n;Ejercicio\n\n* Acompaña al tutorial\n\n* Da la solución a pedido del usuario\n\n;Guía paso-a-paso (How-to)\n\n* Lista de pasos numerados para realizar pequeñas tareas específicas\n\n* Concisa, con enlace a tiddlers de referencia cuando sea necesario y apropiado\n\n* Suele abrirlo un preámbulo para aclarar la naturaleza y objetivos de la tarea\n\n;Ejemplo\n\n* Acompaña a [[tiddlers de referencia|Reference Tiddlers]]\n\n* Puede contener explicaciones y comentarios similares\n\n* Para que la información de referencia sea lo más aséptica posible, debe mantenerse separado de esta.\n\nLas instrucciones de uso hablan al lector directamente y <<.word \"de tú\">> y pueden ser razonablemente informales en su tono, pero debe evitarse el uso de coloquialismos, regionalismos, referencias culturales y humorísticas, ya que pueden desconcertar o incluso ofender a lectores internacionales. \n\nAl hablar de características y procedimientos, hay que intentar no frustrar al lector abusando de expresiones como <<.word conveniente>> o <<.word fácil>>. "
  },
  {
    "path": "editions/es-ES/tiddlers/Interactive_Git_Documentation_by_Devin_Weaver.tid",
    "content": "caption: \"Interactive Git Documentation\", de Devin Weaver\ncreated: 20150621212120755\nes-title: \"Interactive Git Documentation\", de Devin Weaver\nmodified: 20160417095622425\ntags: Examples\ntitle: Interactive Git Documentation by Devin Weaver\ntype: text/vnd.tiddlywiki\nurl: http://sukima.github.io/GitFixUm/\n\nGuía para arreglar un repositorio //roto// de Git, al estilo //elige tu propia aventura//\n\n{{!!url}}\n\n<<<\nEste documento es un intento de hacer una guía bastante exhaustiva para recuperar un repositorio de Git de lo que no tenías intención de hacer.\n\nNo es que Git sea tan complicado que necesites todo un libro para resolver tu problema en particular, sino que el abanico de cosas que puedes haber hecho para armar lío es tan grande, que se necesitan varias técnicas para solucionarlo, dependiendo de qué hayas hecho y de qué querías hacer. \n<<<\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Introducing_TiddlyDesktop_Video.tid",
    "content": "caption: Video: TiddlyDesktop\ncreated: 20140126124827076\nes-title: Video de introducción a TiddlyDesktop\nmodified: 20160417154652337\ntags: Videos TiddlyDesktop\ntitle: Introducing TiddlyDesktop Video\ntype: text/vnd.tiddlywiki\n\nEsta breve introducción muestra cómo instalar y usar TiddlyDesktop (en inglés):\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/i3Bggkm7paA\" frameborder=\"0\" allowfullscreen></iframe>"
  },
  {
    "path": "editions/es-ES/tiddlers/Introduction_Video.tid",
    "content": "caption: Video: Principios básicos\ncreated: 20141126153016142\nes-title: Principios básicos\nmodified: 20160417154600552\ntags: Videos [[Working with TiddlyWiki]]\ntitle: Introduction Video\ntype: text/vnd.tiddlywiki\n\nEsta breve presentación expone los principios básicos de TiddlyWiki.\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/KtCUr83XgyE\" frameborder=\"0\" allowfullscreen></iframe>\n\nEl TiddlyWiki usado para este video se encuentra aquí:\n\nhttps://tiddlywiki.com/editions/introduction/\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Introduction_to_filter_notation.tid",
    "content": "caption: FIltros: Introducción\ncreated: 20140410101941871\nes-title: Introducción a la notación de filtros\nmodified: 20160420173056133\ntags: Learning Filters\ntitle: Introduction to filter notation\ntype: text/vnd.tiddlywiki\n\n<<.preamble \"\"\"Aquí se tratan los fundamentos de la creación de [[filtros|Filters]] para obtener una selección de tiddlers. Para una exposición más técnica del tema, véase [[Sintaxis de filtros|Filter Syntax]].\"\"\">>\n\n<$macrocall $name=\".tip\" _=\"\"\"Los filtros no hacen nada por sí mismos. Necesitan siempre un contexto. La manera más sencilla de experimentar con expresiones de filtro es escribirlos en el campo de búsqueda de la pestaña <<.advancedsearch-tab Filter>>, en la [[Búsqueda avanzada|$:/AdvancedSearch]].\"\"\"/>\n\nEl caso más simple es aquel en que ya conoces exactamente qué tiddlers quieres seleccionar. Escribe cada título en corchetes dobles, separados por por un espacio:\n\n> `[[Libro de recetas]] [[HuevosRevueltos]] [[Tarta de manzana de mamá]]`\n\nSe pueden opitir los corchetes si el título no contiene espacios:\n\n> `[[Libro de recetas]] HuevosRevueltos [[Tarta de manzana de mamá]]`\n\nLos corchetes dobles son, de hecho, la abreviatura de un filtro:\n\n> `[title[HuevosRevueltos]]`\n\n... que nos sirve de <<.def \"modelo genera\">> para cualquier filtro:\n\n> `[operador[parámetro]]`\n\nPor ejemplo: Para seleccionar todos los tiddlers etiquetados como <<.tag Receta>>:\noperador\n> `[tag[Recetas]]`\n\nPodemos invertir el significado añadiendo un signo de exclamación `!` al operador. Así, por ejemplo, para seleccionar aquellos tiddlers que <<.em no>> contengan la etiqueta <<.tag Recetas>>, escribiremos:\n\n> `[!tag[Recipe]]`\n\nSe pueden filtrar tiddlers por otros campos, no sólo por título y etiqueta: \n\n> `[field:raciones[4]]`\n\nCon este ejemplo se seleccionarán todos aquellos tiddlers que tengan <<.value 4>> como valor del campo <<.field raciones>>.\n\nComo la palabra \"raciones\" no es operador estándar de filtro y es improbable que alguna vez lo sea, se puede omitir sin peligro alguno el prefijo `field:`\n\n> `[raciones[4]]` \n\n!!Combinaciones\n\nLos filtros vistos hasta ahora constan de un único paso, pero se se puede ejecutar una <<.def instrucción>> que consta de varios varios <<.def pasos>>, del modo siguiente:\n\n> `[tag[Vegetariano]!tag[sopas]raciones[4]]`\n\n>(Nótese cómo la instrucción entera queda encerrada por corchetes.\n\nUn tiddler debe coincidir con <<.em todos>> los pasos de la instrucción. Así, el ejemplo anterior nos devolverá una lista de recetas vegetarianas --excepto sopas--, para 4 personas.\n\nUna secuencia de instrucciones separadas seleccionará los tiddlers que coincidan con <<.em cualquiera>> de ellas. Puede servirnos para, por ejemplo, encontrar recetas para 3, 4 ó 5 personas, es decir, que cumplan <<.em cualquiera>> de las condiciones impuestas por estas: la primera, la segunda <<.def O>> la tercera.\n\n> `[raciones[3]] [raciones[4]] [raciones[5]]`\n\nY, si quisiéramos ignorar las recetas vegetarianas para 4 personas, podríamos decir:\n\n> `[raciones[3]] [raciones[4]!tag[Vegetariano]] [serving[5]]`\n\nPor defecto, cada instrucción toma en consideración todos los tiddlers del wiki, pero podemos usar el signo `+` para restringir la acción de una instrucción a los tiddlers seleccionados por las precedentes, del modo que el resultado cumpla <<.em todas>> las condiciones: la anterior <<.def Y>> esta.\n\n> `[raciones[3]] [raciones[4]] [raciones[5]] + [tag[Vegetariano]] +[sort[title]]`\n\nAsi seleccionaremos recetas para 3, 4 ó 5 personas y <<.em \"de entre estas, únicamente\">> las vegetarianas, para, finalmente, ordenarlas por orden alfabético de sus títulos.\n\nDe forma análoga podemos usar el signo `-` para <<.em eliminar>> los tiddlers que cumplen determinada condición de los resultados obtenidos hasta el momento, de modo que se cumplan unas condiciones <<.def \"Y NO\">> las otras. \n\nAsí podemos, por ejemplo, seleccionar todas las recetas vegetarianas salvo dos de ellas en particular:\n\n> `[tag[Vegetariano]] -[title[HuevosRevueltos]] -RopaVieja`\n\n...o todas las recetas sin gluten, menos las vegetarianas:\n\n> `[raciones[3]] [raciones[4]] [raciones[5]] + [tag[Sin gluten]] -[tag[Vegetariano]] +[sort[title]]`\n\n!!Parámetros especiales\n\nLos parámetros de cada instrucción de filtrado vista hasta el momento se indica entre corchetes, significando con ello que ~TiddlyWiki debe interpretarlos literalmente, pero tenemos otras formas de indicar parámetros:\n\n<<.def \"Entre llaves\">> `{}`, para indicar que el parámetro es una [[referencia de texto|TextReference]] y que debe buscar su valor en el <<.field texto>> de un tiddler en particular. \n\nPor ejemplo: si tenemos un tiddler llamado <<.tid Preferencias>>, cuyo texto es la palabra <<.value Vegetariano>>, podemos decir\n\n> `[tag{Preferencias}]`\n\ncomo alternativa a `[tag[Vegetariano]]`. Esto permite que las preferencias cambien, sin necesidad de modificar el criterio de búsqueda.\n\n<<.def \"Entre comillas angulares simples\">> `<>`, para indicar que el parámetro es el nombre de una [[variable|Variables]] cuyo valor debe usar. \n\nAquí usaremos la variable incorporada <<.vlink currentTiddler>> en un filtro que selecciona todos los tiddlers cuyo texto contiene el título del actual:\n\n> `[search<currentTiddler>]`"
  },
  {
    "path": "editions/es-ES/tiddlers/JavaScript.tid",
    "content": "created: 20130825142100000\nmodified: 20160504163509529\ntags: Definitions\ntitle: JavaScript\ntype: text/vnd.tiddlywiki\n\n~JavaScript es un lenguaje de programación originariamente para incluir pequeños //scripts// en páginas web. Por ese motivo se lo consideraba más un juguete que un lenguaje en sí. Con los años, sin embargo, se ha reconocido su potencial y se ha ganado por propio derecho un lugar en la programación más allá de los límites del propio navegador y la web. \n\n~JavaScript tiene este aspecto:\n\n```\nfunction circleArea(radius) {\n\treturn radius * 2 * 3.141592653;\n}\n```\n"
  },
  {
    "path": "editions/es-ES/tiddlers/KaTeX_Plugin.tid",
    "content": "caption: ~KaTeX\ncreated: 20160107223410181\nes-title: KaTeX\nlist: \nmodified: 20160504052624108\ntags: [[Plugin Editions]]\ntitle: KaTeX Plugin\ntype: text/vnd.tiddlywiki\n\nEste plugin permite mostrar notación matemática escrita en ~LaTeX.\n\nDisponible en: https://tiddlywiki.com/plugins/tiddlywiki/katex/\n"
  },
  {
    "path": "editions/es-ES/tiddlers/KeyboardShortcuts.tid",
    "content": "caption: Atajos de teclado\ncreated: 20140526204527418\nes-title: Atajos de teclado\nmodified: 20160423061920763\ntags: Features [[Working with TiddlyWiki]]\ntitle: KeyboardShortcuts\ntype: text/vnd.tiddlywiki\n\n~TiddlyWiki ofrece actualmente un muy limitado soporte de atajos de teclado, pero está en proyecto desarrollarlo en próximas ediciones.\n\n!! Atajos de edición\n\n|Teclas |Descripción |\n|<kbd>ctrl-enter</kbd> |Confirmar los cambios realizados en el borrador en foco |\n|<kbd>escape</kbd> |Descartar los cambios realizados y abandonar la edición del borrador en foco |\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Kill_the_Dragon.tid",
    "content": "caption: Matar al dragón\ncreated: 20130825143100000\nes-title: Matar al dragón\nlist-before: Get the Ring\nmodified: 20160418045703741\ntags: task\ntitle: Kill the Dragon\ntype: text/vnd.tiddlywiki\n\n//Tarea de muestra para el [[Ejemplo de administración de tareas|TaskManagementExample]]//\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Languages.tid",
    "content": "caption: Idiomas\ncreated: 20141202125500000\nes-title: Idiomas\nmodified: 20160503163510984\ntags: TableOfContents\ntitle: Languages\ntype: text/vnd.tiddlywiki\n\n!! Plugins de idioma\n\nLa interfaz de usuario de ~TiddlyWiki está disponible en más de 20 idiomas. Puedes instalar cualquiera de ellos desde el panel de control, en la pestaña <<.controlpanel-tab Plugins>>.\n\nAprendiendo a [[traducir TiddlyWiki|Translate TiddlyWiki into your language]] a tu idioma puedes contribuir a ampliar la librería. \n\n!! Ediciones en otros idiomas\n\nExisten ediciones precompiladas en algunos idiomas, que contienen documentación adicional:\n\n<<list-links \"[tag[Languages]]\">>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Latest.tid",
    "content": "caption: Novedades\ncreated: 20140321090511826\nes-title: Novedades\nmodified: 20160413160205281\ntags: Community\ntitle: Latest\ntype: text/vnd.tiddlywiki\n\nLas últimas noticias, artículos, recursos y ejemplos.\n\n<div class=\"tc-link-info\">\n\n<$list filter=\"[tag[Articles]] [tag[Examples]] [tag[Resources]] [tag[Tutorials]] +[!sort[modified]limit[8]]\">\n\n<div class=\"tc-link-info-item\">\n\n! <$link><$view field=\"title\"/></$link>\n\n<div class=\"tc-subtitle\">Posted <$view field=\"modified\" format=\"relativedate\"/></div>\n\n<$transclude/>\n\n</div>\n\n</$list>\n\n</div>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/LazyLoading.tid",
    "content": "caption: Carga diferida\ncreated: 20140206214608586\nes-title: Carga diferida o Lazy Loading\nmodified: 20160503054340337\ntags: Features\ntitle: LazyLoading\ntype: text/vnd.tiddlywiki\n\nGeneralmente, todo el contenido de todos los tiddlers se incrusta en el archivo HTML principal. <<.def \"Lazy loading\">> o <<.def \"Carga diferida\">> es la técnica por la que sólo se incrustan los metadatos del tiddler (es decir, todos los campos menos <<.field text>>), que se pide al servidor cuando se necesita. ([[Más información, aquí|https://es.wikipedia.org/wiki/Lazy_loading]])\n\nPuede aplicarse carga diferida en dos configuraciones:\n\n* En [[Node.js|TiddlyWiki on Node.js]] se puede aplicar a los tiddlers de imágenes o a todos los tiddlers excepto los de sistema\n\n* En [[TiddlyWiki in the Sky for TiddlyWeb]], se puede aplicar a todos los tiddlers\n\n! Carga diferida en Node.js\n\nPara iniciar ~TiddlyWiki en carga diferida de imágenes, utiliza este comando: \n\n```\ntiddlywiki --server 8080 $:/core/save/lazy-images\n```\n\npara aplicar la carga diferida a todos los tiddlers salvo los de sistema, utiliza este este otro:\n\n```\ntiddlywiki --server 8080 $:/core/save/lazy-all\n```\n\n! Carga diferida en TiddlyWeb\n\nEn la configuración actual, la carga diferida se aplica por defecto.\n\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Learning.tid",
    "content": "caption: Aprender TIddlyWiki\ncreated: 20140912140047779\nes-title: Aprende a usar TiddlyWiki\nlist: Videos [[Introduction to Filters]] [[Sharing a TiddlyWiki on Dropbox]] [[Sharing your tiddlers with others]] [[Copying tiddlers between TiddlyWiki files]] [[Creating SubStories]] [[Editing Tiddlers with Emacs]] [[ImageGallery Example]] [[Making curved text with SVG]] TaskManagementExample [[Adding a Twitter Follow button]] [[Philosophy of Tiddlers]] [[Adopt a Titles Policy]]\nmodified: 20160421063611395\ntags: TableOfContents\ntitle: Learning\ntype: text/vnd.tiddlywiki\n\nAprende a usar TiddlyWiki:\n\n<<list-links \"[tag[Learning]]\">>\n\nMIra también la [[documentación|Reference]] completa, que incluye nociones avanzadas de WikiText, macros, widgets, filtros... etc.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/ListField.tid",
    "content": "caption: list\ncreated: 20130830092500000\nes-title: Campo \"list\"\nmodified: 20160415043859028\ntags: Fields\ntitle: ListField\ntype: text/vnd.tiddlywiki\n\nEl [[campo|TiddlerFields]] `list` es una característica opcional que se usa para estructurar contenido. Su valor es una [[lista|Title List]] y puede usarse de varias maneras:\n\n* El campo `list` de un tiddler que se usa como etiqueta determina el orden en que se presentan los tiddlers que llevan esa etiqueta. Más detalles en [[Etiquetas|Tagging]]\n\n* El [[filtro|Filters]] `list` selecciona entradas de una lista\n\n* El [[filtro|Filters]]  `listed` muestra qué tiddlers incluyen un tiddler (o selección de varios tiddlers) como entradas de lista.\n\n* El widget [[Navegador|NavigatorWidget]] manipula un StoryList que contiene un campo `list` de los tiddlers que se muestran en la columna principal.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/ListWidget.tid",
    "content": "caption: list\ncreated: 20131024141900000\nes-title: ListWidget\nmodified: 20160507044251692\ntags: Widgets\ntitle: ListWidget\ntype: text/vnd.tiddlywiki\n\n!! Introducción\n\nEl ListWidget muestra una secuencia de tiddlers que coinciden con una [[expresión de filtro|Filters]]. Sirve para:\n\n* Mostrar listas particulares de enlaces, como en la barra lateral de ~TiddlyWiki5\n\n* Confeccionar listas a medida, como <<.word \"todos aquellos tiddlers con etiqueta `tarea`, no etiquetados como `hecha`\">>\n\n* Hacer una lista de las etiquetas aplicadas a un tiddler\n\n* Manejar el ~StoryRIver principal\n\nLos tiddlers se muestran por transclusión, uno a uno, en una plantilla. Hay diversas maneras de especificar la plantilla, así como de controlar el comportamiento de la lista.\n\n!! Ejemplos\n\n<<.def \"lista plana\">>: lista sin formato\n\n```\n<$list filter=\"[tag[Contents]sort[title]]\"/>\n```\n\nSe muestra como:\n\n<<<\n<$list filter=\"[tag[Contents]sort[title]]\"/>\n<<<\n\n<<.def \"custom item output\">>\n\n```\n<$list filter=\"[tag[Contents]sort[title]]\">\n<<currentTiddler>>\n{{||$:/core/ui/ViewTemplate/subtitle}}\n\n</$list>\n```\n\nSe muestra como\n\n<<<\n<$list filter=\"[tag[Contents]sort[title]]\">\n<<currentTiddler>>\n{{||$:/core/ui/ViewTemplate/subtitle}}\n\n</$list>\n<<<\n\n<<.def \"custom template output\">>\n\n```\n<$list filter=\"[tag[Contents]sort[title]]\" template=\"$:/core/ui/ViewTemplate/subtitle\"/>\n```\n\nSe muestra como:\n\n<<<\n<$list filter=\"[tag[Contents]sort[title]]\" template=\"$:/core/ui/ViewTemplate/subtitle\"/>\n<<<\n\n!!! Listas anidadas\n\nEn [[listas anidadas|NestedLists]] se explica cómo generar listas anidadas con ListWidget.\n\n!! Contenido y atributos\n\nEl contenido del widget `<$list>` es una plantilla opcional usada para representar cada tiddler de la lista. Alternativamente, puede especificarse la plantilla como título de un tiddler en el atributo `template`. Como alternativa, la plantilla por defecto sólo muestra el título del tiddler.\n\n|!Atributo |!Descripción |\n|filter |Tiddler de [[filtro|Filters]] para mostrar |\n|template |Título de la plantilla de transclusión para cada tiddler de la lista. Si no es especifica ninguna, es el propio cuerpo de ListWidget el que sirve como plantilla. The title of a template tiddler for transcluding each tiddler in the list. Sin cuerpo, sólo se muestra un enlace al tiddler. |\n|editTemplate |Plantilla alternativa para el uso de [[borradores|DraftMechanism]] en modo edición |\n|variable |Nombre de la [[variable|Variables]] que guarda el título de cada tiddler. Por defecto, ''currentTiddler'' |\n|emptyMessage |Mensaje que se muestra si la lista está vacía |\n|storyview |nombre optativo del módulo responsable de animar/procesar la lista |\n|history |Título del tiddler que contiene el historial de navegación |\n\n!!! Modo edición\n\nEl widget `<$list>`puede procesar tiddlers en borrador con una plantilla diferente. Consultar [[borradores|DraftMechanism]]\n\n!!! Atributo `storyview`\n\nEl atributo `storyview` especifica el nombre de de un módulo optativo que puede animar los cambios realizados en la lista (incluso la navegación). El núcleo incluye por defecto los siguientes módulos:\n\n* <<.def classic>>: muestra la lista como una secuencia ordenada de tiddlers\n* <<.def zooming>>: muestra sólo el tiddler actual con una animación de zoom al navegar entre tiddlers\n* <<.def pop>>: muestra los tiddlers de uno en uno, con efecto de tiddler emergente.\n\nPara que la animación de `storyview` sea correcta, cada entrada de la lista debe ser un único bloque DOM.\n\n!!! Histórico y navegación\n\nEl atributo opcional `history` especifica el nombre del tiddler usado para rastrear el actual, con el fin de presentar el histórico de navegación. Cuando el histórico cambia, le pide a la ListView que procese la navegación al siguiente tiddler. Véase [[Histórico|HistoryMechanism]] para mayor información."
  },
  {
    "path": "editions/es-ES/tiddlers/Make_the_beds.tid",
    "content": "caption: Hacer las camas\ncreated: 20130825143100000\nes-title: Hacer las camas\nmodified: 20160603152714437\ntags: task\ntitle: Make the beds\ntype: text/vnd.tiddlywiki\n\n//Tarea de muestra para el [[Ejemplo de administración de tareas|TaskManagementExample]]//\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Making_curved_text_with_SVG.tid",
    "content": "caption: Texto curvo con SVG\ncreated: 20140324223413403\nes-title: Cómo haer textos curvos con SVG\nmodified: 20160418045621456\ntags: Learning\ntitle: Making curved text with SVG\ntype: text/vnd.tiddlywiki\n\n\\define textOnPath(text)\n$$$.svg\n<svg width=\"100%\" height=\"100%\" viewBox=\"0 0 1000 300\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" style=\"background:white;\">\n<defs>\n<path id=\"MyPath\" d=\"M 100 200 C 200 100 300   0 400 100 C 500 200 600 300 700 200 C 800 100 900 100 900 100\"/>\n</defs>\n<use xlink:href=\"#MyPath\" fill=\"none\" stroke=\"#ddd\"/>\n<text font-family=\"'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif\" font-size=\"42.5\">\n<textPath xlink:href=\"#MyPath\">\n$text$\n</textPath>\n</text>\n</svg>\n$$$\n\\end\nEste ejemplo muestra cómo usar SVG para mostrar transclusiones de texto a lo largo de un recorrido. Escribe algo en el cuadro de texto para probarlo. \n\n<$edit-text tiddler=\"$:/CurvedText\" tag=\"input\" placeholder=\"Escribe algo aquí\" default=\"\"/>\n\n<$macrocall $name=\"textOnPath\" text={{$:/CurvedText}}/>\n\nEste es el código:\n\n```\n\\define textOnPath(text)\n$$$.svg\n<svg width=\"100%\" height=\"100%\" viewBox=\"0 0 1000 300\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" style=\"background:white;\">\n<defs>\n<path id=\"MyPath\" d=\"M 100 200 C 200 100 300   0 400 100 C 500 200 600 300 700 200 C 800 100 900 100 900 100\"/>\n</defs>\n<use xlink:href=\"#MyPath\" fill=\"none\" stroke=\"#ddd\"/>\n<text font-family=\"'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif\" font-size=\"42.5\">\n<textPath xlink:href=\"#MyPath\">\n$text$\n</textPath>\n</text>\n</svg>\n$$$\n\\end\n```\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Manually_installing_a_plugin.tid",
    "content": "caption: Instalar plugins\ncreated: 20160107222430613\nes-title: Cómo instalar manualmente un plugin\nmodified: 20160504155741852\ntags: Plugins\ntitle: Manually installing a plugin\ntype: text/vnd.tiddlywiki\n\n# Sólo [[por si acaso|The First Rule of Using TiddlyWiki]], haz copia de seguridad de tu archivo HTML de ~TiddlyWiki\n\n# Abre ~TiddlyWiki en el navegador\n\n# En otra ventana del navegador, busca un enlace al plugin que quieres instalar en la página que lo contiene, p. ej., el enlace <<.tid ~$:/plugins/tiddlywiki/katex>> en https://tiddlywiki.com/plugins/tiddlywiki/katex/)\n\n# Arrastra el enlace hasta tu página. Aparecerá una banda de color verde en la parte superior de la pantalla. \n\n# Suelta el enlace y aparecerá el tiddler de importación que te mostrará el título del tiddler que acabas de arrastrar. Confirma la importación con el botón.\n\n# Guarda los cambios con el botón <<.button save-wiki>>\n\n# Recarga la página\n\n# El plugin está instalado y listo para su uso"
  },
  {
    "path": "editions/es-ES/tiddlers/Markdown_Plugin.tid",
    "content": "caption: Markdown\ncreated: 20160107223401584\nes-title: Markdown\nlist: \nmodified: 20160504052806643\ntags: [[Plugin Editions]]\ntitle: Markdown Plugin\ntype: text/vnd.tiddlywiki\n\nPara uso con el lenguaje de marcado Markdown, en lugar de WikiText.\n\nDisponible https://tiddlywiki.com/plugins/tiddlywiki/markdown/\n"
  },
  {
    "path": "editions/es-ES/tiddlers/MathML.tid",
    "content": "caption: MathML\ncreated: 20130901213100000\nes-title: MathML\nmodified: 20160429052548236\ntags: Definitions Features\ntitle: MathML\ntype: text/vnd.tiddlywiki\n\n<<.def ~MathML>> es un lenguaje de marcas para notación matemática que puede usarse en HTML.\n\nSi tu navegador lo soporta, los elementos de ~MathML pueden usarse en WikiText como HTML.\n\nEste es un ejemplo de matriz ~MathML sacado de [[ W3C|http://www.w3.org/Math/XSL/csmall2.xml]]:\n\n```\n<math><mrow><mo>[</mo><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr></mtable><mo>]</mo></mrow></math>\n```\n\nY se ve así:\n\n<math><mrow><mo>[</mo><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr></mtable><mo>]</mo></mrow></math>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Meetups.tid",
    "content": "caption: Eventos\ncreated: 20140721121924384\nes-title: Eventos\nmodified: 20160413162930015\ntags: Community\ntitle: Meetups\ntype: text/vnd.tiddlywiki\n\nReuniones presenciales que los entusiastas de ~TiddlyWiki celebran en todo el mundo:\n\n* [[OXTWIG]], el ''Oxford ~TiddlyWiki Interest Group'' se reúne mensualmente en Oxford, Gran Bretaña, para compartir experiencias de uso de TiddlyWiki\n* [[TiddlyWiki Camp Paris]] es un evento de un día de celebración y exploración de TiddlyWiki, tanto para usuarios expertos, como para principiantes.\n\n//Si tú también compartes nuestro entusiasmo por ~TiddlyWiki, anímate a organizar un ''TWIG'' local en tu ciudad. Es una manera magnífica de promover el uso y el interés por TiddlyWiki//\n\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Messages.tid",
    "content": "caption: Mensajes\ncreated: 20140226083311937\nes-title: Mensajes\nmodified: 20160416051230719\ntags: Concepts Reference\ntitle: Messages\ntype: text/vnd.tiddlywiki\n\nSon mensajes generados por widgets en respuesta a acciones del usuario. Estos mensajes recorren la estructura en árbol del widget hasta que encuentran el ascendiente que los procesa.\n\nEl núcleo lleva implementados los siguientes mensajes:\n\n<<list-links \"[tag[Messages]]\">>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/MiSubHistoria.tid",
    "content": "created: 20160418042347474\ncurrent-tiddler: HelloThere\nlist: HelloThere\nmodified: 20160418042348622\ntitle: MiSubHistoria\ntype: application/json\n\n[\n    {\n        \"title\": \"HelloThere\",\n        \"fromPageRect\": {\n            \"top\": 494.26666259765625,\n            \"left\": 1022.3333129882812,\n            \"width\": 79,\n            \"right\": 1101.3333129882812,\n            \"bottom\": 511.26666259765625,\n            \"height\": 17\n        }\n    }\n]"
  },
  {
    "path": "editions/es-ES/tiddlers/Modals.tid",
    "content": "caption: Modales\ncreated: 20160107225427489\nes-title: Diálogos modales\nmodified: 20160429053708789\ntags: Features\ntitle: Modals\ntype: text/vnd.tiddlywiki\n\nLos diálogos modales (o <<.word asistentes>> difuminan la ventana principal de ~TiddlyWiki para mostrar un tiddler aislado que el usuario tiene que atender explícitamente.\n\nLos modales se muestran mediante el mensaje [[tm-modal|WidgetMessage: tm-modal]].\n\n<$button message=\"tm-modal\" param=\"SampleWizard\">Modal de ejemplo</$button>"
  },
  {
    "path": "editions/es-ES/tiddlers/MySubHistoryList.tid",
    "content": "created: 20160418041703568\ncurrent-tiddler: HelloThere\nmodified: 20160418042212774\ntitle: MySubHistoryList\ntype: application/json\n\n[\n    {\n        \"title\": \"HelloThere\",\n        \"fromPageRect\": {\n            \"top\": 629,\n            \"left\": 304,\n            \"width\": 80,\n            \"right\": 384,\n            \"bottom\": 647,\n            \"height\": 18\n        }\n    },\n    {\n        \"title\": \"HelloThere\",\n        \"fromPageRect\": {\n            \"top\": 516.2666625976562,\n            \"left\": 1022.3333129882812,\n            \"width\": 79,\n            \"right\": 1101.3333129882812,\n            \"bottom\": 533.2666625976562,\n            \"height\": 17\n        }\n    }\n]"
  },
  {
    "path": "editions/es-ES/tiddlers/MySubStoryList.tid",
    "content": "created: 20160418042212769\nlist: HelloThere\nmodified: 20160418042212769\ntitle: MySubStoryList\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Navigating_between_open_tiddlers.tid",
    "content": "caption: Desplazamiento entre tiddlers abiertos\ncreated: 20140908092600000\nes-title: Cómo moverse entre tiddlers abiertos\nmodified: 20160422052224873\ntags: [[Working with TiddlyWiki]]\ntitle: Navigating between open tiddlers\ntype: text/vnd.tiddlywiki\n\nEn la vista por defecto <<.word classic>>, los tiddlers abiertos se muestran en una columna vertical llamada StoryRiver. Hay varias maneras de moverse por ella, saltando adelante y atrás entre los diferentes tiddlers abiertos.\n\n* La más sencilla es por medio de la pestaña <<.sidebar-tab Open>> de la barra lateral.\n\n** La pestaña <<.sidebar-tab Open>> contiene la lista de tiddlers abiertos. Pinchando en cualquiera de ellos se salta a ese tiddler y haciéndolo en la <<.word x>> junto al título, se cierra. Hay también un práctico botón <<.word \"cerrar todo\">> abajo del todo de la lista.\n\n* Otra manera es desplazándose por la página, usando bien la rueda del ratón o la barra de desplazamiento de la derecha.\n\n** Cuando la barra lateral y la StoryView se extienden más allá de la pantalla visible, habrá <<.em dos>> barras. La de más a la derecha controla la ~StoryRiver. La otra, la barra lateral. \n\n* Otra forma posible, usada por muchos principiantes, consiste en <<.def \"cerrar tiddlers de uno en uno\">> hasta llegar al que están buscando. \n\n** Al cerrar un tiddler del principio o del medio de la lista hará que los tiddlers de más abajo se deslicen <<.word \"río arriba\">>, poniendo a la vista el tiddler inmediatamente debajo del que se acaba de cerrar. \n"
  },
  {
    "path": "editions/es-ES/tiddlers/NavigatorWidget.tid",
    "content": "caption: navigator\ncreated: 20131024141900000\nes-title: Widget Navegador\nmodified: 20160415051406374\ntags: Widgets\ntitle: NavigatorWidget\ntype: text/vnd.tiddlywiki\n\n! Introducción\n\nEl widget ''Navegador'' manipula el TiddlerStore, StoryList y HistoryList en respuesta a una serie de [[mensajes|Messages]].\n\n!Contenido y atributos\n\nEl widget muestra en pantalla su contenido y responde a los mensajes que se le envían\n\nThe navigator widget displays any contained content, and responds to Messages dispatched within it.\n\n|!Atributo |!Descripción |\n|story |Nombre del tiddler que contiene el `StoryList` que se va a manipular |\n|history |Nombre del tiddler que contiene el `HistoryList` que se va a manipular |\n|openLinkFromInsideRiver |Determina dónde se van a abrir los tiddlers nuevos que se invoquen desde dentro del `StoryRiver`:  ''al principio'' o ''al final'' del StoryRiver o ''encima'' o ''debajo'' del tiddler actual  |\n|openLinkFromOutsideRiver|Determina dónde se van a abrir los tiddlers nuevos que se llamen desde fuera del `StoryRiver`:  ''al principio'' o ''al final'' del StoryRiver |\n\n! Mensajes del widget\n\nEl navegador maneja los siguientes [[mensajes|Messages]]:\n\n<ul>\n<$list filter=\"[tag[navigator-message]]\">\n<li>\n<$link to={{!!title}}>\n<$view field=\"title\"/>\n</$link>\n</li>\n</$list>\n</ul>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Notifications.tid",
    "content": "caption: Notificaciones\ncreated: 20160107225753340\nes-title: Mensajes de notificación\nmodified: 20160429053719631\ntags: Features\ntitle: Notifications\ntype: text/vnd.tiddlywiki\n\nLas <<.def notificaciones>> son pequeños mensajes de información que aparecen en la esquina superior derecha de la ventana y que desaparecen automáticamente.\n\n<$button message=\"tm-notify\" param=\"SampleNotification\">Notificación de ejemplo</$button>"
  },
  {
    "path": "editions/es-ES/tiddlers/OXTWIG.tid",
    "content": "caption: Video: OXTWIG\ncreated: 20140222133223882\nes-title: OXTWIG: OXford TiddlyWiki Interest Group\nmodified: 20160417155229042\ntags: Meetups Videos\ntitle: OXTWIG\ntype: text/vnd.tiddlywiki\n\nEl OXTWIG: ''Oxford ~TiddlyWiki Interest Group'' se reúne mensualmente para conversar y hacer demostraciones de TiddlyWiki.\n\nVer https://oxtwig.eventbrite.co.uk/ para más información sobre nuestra próxima reunión.\n\nTambién tenemos lista de correo: https://groups.google.com/forum/#!members/oxtwig\n\n!! OXTWIG #2\n\nLa segunda reunión del OXTWIG se celebró el jueves 16 de enero de 2014:\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/WOK_nVBf_6U\" frameborder=\"0\" allowfullscreen></iframe>\n\n!! OXTWIG #1\n\nLa primera reunión del OXTWIG se celebró el jueves 21 de noviembre de 2013: \n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/tpNf_Dms_TE\" frameborder=\"0\" allowfullscreen></iframe>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Obadiah_TOC.tid",
    "content": "caption: \"Índice del libro de Abdías\", de Dave Gifford\ncreated: 20131207085406905\nes-title: \"Índice del libro de Abdías\", de Dave Gifford\nmodified: 20160417152959549\ntags: Examples\ntitle: Obadiah TOC\ntype: text/vnd.tiddlywiki\nurl: http://giffmex.org/experiments/obadiah.html\n\nIntroducción de Dave Gifford al libro bíblico de Abdías, que usa la macro Índice y varios ajustes personalizados de ~TiddlyWiki: botones \"nuevo aquí\", [[esta plantilla personalizada de visualización|http://giffmex.org/experiments/obadiah.html#%24%3A%2F_aa%2FViewTemplate%2FNoteList]] para añadir notas e imágenes dentro de cualquier tiddler y un tiddler de transclusión para facilitar la impresión ([[este tiddler|http://giffmex.org/experiments/obadiah.html#An%20introduction%20to%20Obadiah]])\n\n{{!!url}}\n\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Order_of_Tagged_Tiddlers.tid",
    "content": "caption: Orden de listas\ncreated: 20160426093524576\nes-title: Orden de los tiddlers etiquetados\nmodified: 20160426094124972\ntags: Tagging\ntitle: Order of Tagged Tiddlers\ntype: text/vnd.tiddlywiki\n\nCuando ~TiddlyWiki genera una lista de los tiddlers que comparten una etiqueta en particular (p. ej, en la lista que aparece al pinchar en una etiqueta), los ordena conforme a las siguientes reglas:\n\n# Primero, los [[declarados|Title List]] en el campo <<.field list>> del [[TagTiddler|TagTiddlers]] y en el orden que este indica\n\n# Luego, los no-declarados que tengan el campo <<.field list-before>>, que van inmediatamente <<.em antes>> del título que respectivamente indiquen. \n\n#* Si el campo existe pero tiene valor en blanco, el tiddler se coloca al principio de la lista. En caso de que sean varios los tiddlers etiquetados no declarados que tienen el campo <<.field list-before>> en blanco, se colocarán por orden alfabético ascendente al principio de la lista, ignorando mayúsculas y minúsculas.\n\n# A continuación, los no-declarados que tengan el campo <<.field list-after>>, que van inmediatamente <<.em después>> del título que respectivamente indiquen. \n\n# Finalmente, cerrando la lista, por orden alfabético ascendente, ignorando mayúsculas y minúsculas, todos los demás tiddlers que queden.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/PESpot_Lesson_Planner_by_Patrick_Detzner.tid",
    "content": "caption: \"PESpot Lesson Planner\", de Patrick Detzner\ncreated: 20150403104722092\nes-title: \"PESpot Lesson Planner\", de Patrick Detzner\nmodified: 20160417153558347\ntags: Examples\ntitle: PESpot Lesson Planner by Patrick Detzner\ntype: text/vnd.tiddlywiki\nurl: http://pespot.tiddlyspot.com\n\nSistema para crear planes docentes, construido con TiddlyWiki\n\n{{!!url}}\n\n<<<\nConstruí un programa que sirviera de ayuda para la redacción y planifiación de leciones y que automatizara algunas de las tediosas tareas envueltas en la creación de un plan dociente. <<<\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Page_and_tiddler_layout_customisation.tid",
    "content": "caption: Modificación del diseño de tiddlers y página\ncreated: 20141120125300000\nes-title: Modificación del diseño de tiddlers y de la página\nmodified: 20160428062508818\ntags: [[Customise TiddlyWiki]]\ntitle: Page and tiddler layout customisation\ntype: text/vnd.tiddlywiki\n\nAlgo que muchos usuarios desconocen es hasta qué punto pueden customizar ~TIddlyWiki simplemente añadiendo o quitando etiquetas de sistema de tiddlers ocultos clave o de sus propios tiddlers.\n\n* Puedes añadir o quitar funciones por defecto en tiddlers, tanto en modo de visionado como en modo de edición (digamos que encuentras que el subtítulo de tiddler distrae o que quieres añadir un recordatorio para cuando se editen tiddlers)\n\n* También puedes añadir o quitar funciones por defecto en el diseño general de la página (quizá necesites un reloj en la barra lateral, o sustituir uno de los botones de control por otro que hayas hecho tú)\n\n* O puedes reorganizar el orden en que se muestran (quizá prefieres mostrar las etiquetas por encima del título, o que el subtítulo de la página aparezca por debajo de los botones)\n\nUna vez sepas qué es lo que quieres hacer, te parecerá que todas estas cosas son bastante fáciles.\n\n! Añadir tiddlers a medida a la interfaz de usuario\n\nPuedes crear el tiddler que quieras y asignarle la etiqueta de sistema apropiada para que aparezca en tal o cual sitio. Por ejemplo, si creas un tiddler llamado <<.word Recordatorio>> con el texto <<.word \"Esto es un recordatorio\">> y la etiqueta <<.em ~$:/tags/EditTemplate>>, las palabras <<.word \"Esto es un recordatorio\">> aparecerán en todos los tiddlers que abras para edición.\n\nAl crear tiddlers para que se muestren dentro de otros tiddlers o para que formen parte del diseño de página, necesitarás con toda probabilidad reorganizar el diseño para que tus tiddlers se muestren exactamente donde quieres que aparezcan. Para hacerlo, edita el tiddler oculto apropiado con el prefijo <<.em ~$:/tags>> e incluye el título de tu tiddler en el lugar adecuado del campo <<.field list>>. Por ejemplo, si quieres que la frase <<.word \"Esto es un recordatorio\">> del ejemplo anterior aparezca por encima del editor de etiquetas en modo de edición, edita el tiddler <<.tid \"~$:/tags/EditTemplate\">> e inserta `[[Recordatorio]]` en el campo <<.field list>>, justo antes de <<.tid \"~$:/core/ui/EditTemplate/tags\">>\n\n! Crear nuevos botones en la barra de tiddler y los controles de página\n\nDigamos que tienes un tiddler llamado <<.tid \"Plantilla Recetas\">> y quieres un botón que cree nuevas recetas a partir de él. Para hacerlo tendrás que hacer lo siguiente:\n\n# Primero, necesitarás una imagen para el botón. Si ninguna de las imágenes del sistema (tiddlers ocultos con el prefijo y la etiqueta <<.tag ~$:/core/images>>), necesitarás crear o buscar una imagen SVG para ello (por ejemplo una de http://flaticon.com).\n#*En cualquier caso, arrástrala a tu página para [[importarla|ImportTiddlers]], edita convenientemente el tiddler y ajusta sus dimensiones a 22px x 22px\n\n# Necesitarás crear un tiddler que contenga el botón.  Créalo, dale título y añade el código para habilitar el botón:\n#* ``\\define newHereButtonTags()\n[[$(currentTiddler)$]]\n\\end\n\\define newHereButton()\n<$button class=<<tv-config-toolbar-class>>>\n<$action-sendmessage\n  $message=\"tm-new-tiddler\"\n$param=\"TÍTULO DE LA PLANTILLA QUE QUIERES QUE ABRA\"\ntitle=\"New tiddler\"\n  tags=<<newHereButtonTags>> />\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{NOMBRE DE LA IMAGEN DEL BOTÓN}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text=\"NOMBRE DEL BOTÓN PARA MOSTRAR EN PANTALLA\"/></span>\n</$list>\n</$button>\n\\end\n\n<<newHereButton>>\n``\n\n#* Asígnale la etiqueta <<.tag ~$:/tags/ViewToolbar]]>>\n\n# Hay que crear un tiddler que le diga a ~TiddlyWIki si el botón será o no visible en la barra. Llamémosle por ejemplo <<.tid \"~$:/config/ViewToolbarButtons/Visibility/Receta\"\">>. Escribe `show` en el cuerpo y guárdalo.\n\n# Habrá que posicionar el botón adecuadamente. Abre el tiddler <<.tid ~$:/tags/ViewToolbar>> e inserta el nombre de tu botón en el lugar adecuado del campo <<.field list>>.\n\n! Eliminar tiddlers ocultos de la interfaz de usuario\n\nEn la subpestaña <<.more-tab Shadows>> de la pestaña <<.sidebar-tab More>> en la barra lateral, verás la lista de todos los tiddlers ocultos. En ella verás algunos con el prefijo <<.place ~$:/core/ui/>>. Estos son los que definen la interfaz de usuario y llevan [[etiquetas de sistema|SystemTags]]. Añadir o eliminar estas etiquetas modifica el diseño, tanto de los tiddlers, como de la página entera.\n\nPor ejemplo: <<.tid ~$:/core/ui/SideBar/More>> es el tiddler que define la pestaña <<.sidebar-tab More>>. Si le quitas la etiqueta, quitarás dicha pestaña de la barra lateral y si se la vuelves a asignar, volverás a mostrarla.\n\nPuedes aplicar el mismo procedimiento para cualquier tiddler de la interfaz que lleve el prefijo <<.tid ~$:/core/ui/>>. Por ejemplo, quitar la etiqueta de sistema al tiddler <<.tid ~$:/core/ui/ViewTemplate/subtitle>> eliminará el subtítulo de todos los tiddlers.\n\nSi modificas un tiddler oculto de esta manera, sobreescribirás el valor predefinido. Para revertirlo a su origen, simplemente borra el tiddler modificado para restaurar el tiddler oculto.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/PermaLinks.tid",
    "content": "caption: Permalinks\ncreated: 20140502213500000\nes-title: Permalinks\nmodified: 20160502145938493\ntags: Features Concepts\ntitle: PermaLinks\ntype: text/vnd.tiddlywiki\n\nUn <<.def permalink>> permite enlaces directos a tiddlers individuales de un ~TiddlyWiki\n\n!Permalinks sencillos\n\nLa forma más simple de un permalink es un enlace sencillo adjunto a la dirección de base con `#`:\n\nhttps://tiddlywiki.com/#HelloThere\n\nEl título del tiddler puede contener espacios si es necesario:\n\n[[https://tiddlywiki.com/#Using TiddlyWiki on Node.js]]\n\nNo es necesario encerrar el título en corchetes dobles, aunque si lo haces, no pasa nada, porque se elmininan.\n\n! Permalinks al ~StoryRiver\n\nEl permalink también puede definir la secuencia de tiddlers que se abre junto al tiddler principal, como hace un [[filtro|Filters]]:\n\n[[https://tiddlywiki.com/#TiddlerFields:Tiddlers TiddlerTags TiddlerFields ContentType]]\n\nSi el tiddler principal no está presente entre los tiddlers de la StoryRiver, se inserta automáticamente al principio, lo que significa que estos dos ejemplos apuntan al tiddler <<.tid Tiddlers>> en la secuencia <<.tid \"Tiddlers, Tags, ~TiddlerFields\">>:\n\n[[https://tiddlywiki.com/#Tiddlers:Tags TiddlerFields]]\n\n[[https://tiddlywiki.com/#Tiddlers:Tiddlers Tags TiddlerFields]]\n\nTambién es posible definir un filtro sin especificar un tiddler en concreto:\n\n<a href=\"https://tiddlywiki.com/#:[tags[task]]\">~https://tiddlywiki.com/#:[tags[task]]</a>\n\n! Codificación de URL's\n\nExisten restricciones técnicas a los caracteres que pueden usarse en una URL. Para permitir apuntar a cualquier tiddler, los caracteres no permitidos están sujetos a un proceso llamado <<.def codificación>>, mediante el cual los caracteres problemáticos se sustituyen por un código numérico, también llamado <<.def \"código por ciento\">>. Así, por ejemplo, el caracter que representa un espacio se sustituye por el código `%20`.\n\nTanto el título del tiddler como el filtro de la historia deben codificarse para URL (no así los dos puntos). ~Tiddlywiki genera URL's debidamente codificadas que pueden tener un aspecto bastante aterrador. Sin embargo, en la práctica, los navegadores procesan todos los caracteres en fragmentos de URL, así que cuando creas permalinks de forma manual puedes ignorar la codificación URL.\n\n! Comportamiento de los permalinks\n\nDos importantes aspectos del comportamiento de los permalinks en ~TiddlyWiki pueden controlarse con las opciones de la pestaña <<.controlpanel-tab Advanced>>/<<.controlpanel-tab Settings>>:\n\n* Actualizar o no la barra del navegador según se navega para que refleje los cambios que se producen al abrir nuevos tiddlers en la historia y en tal caso, si la actualización incluye la secuencia completa de tiddlers navegados\n\n* Actualizar o no el historial del navegador, de modo que se pueda retroceder en la apertura de tiddlers mediante los botones <<.place Adelante>> y <<.place Atrás>> del navegador (desactivado por defecto)\n\nEscribir o navegar a un permalink siempre hará que el navegador lo procese, lo que abre y cierra tiddlers del modo que el permalink requiere, en lugar de, por ejemplo, añadir el permalink a la vista actual de tiddlers.\n\n!! Detalles técnicos\n\nAl iniciarse y cada vez que un permalink varía dinámicamente --editando la barra de direcciones, por ejemplo--, ~TIddlyWiki procesa los permalinks conforme a las siguientes reglas. \n\n# Si el permalink contiene <<.def \"dos puntos\">>, considera la cadena anterior como <<.em target>> y la posterior como <<.em filtro>> del StoryRiver\n\n# Si no contiene dos puntos, considera toda la cadena como <<.em target>> y el filtro como <<.word \"no especificado\">>\n\n# Si no se especifica filtro, pero sí un <<.em target>>, al arrancar considera que el filtro está en blanco. Si tampoco se especifica target, considera a los tiddlers por defecto como tal.\n\n# Fuera del proceso de arranque, considera la actual lista de tiddlers de la historia un filtro no especificado \n\n# Considera los tiddlers abiertos como lista de tiddlers del permalink\n# Si se especifica target, pero no está abierto, lo añade al principio de la lista\n# Si se especifica target, lo pone en foco. De otro modo, lo pone en el primer tiddler de la lista\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Philosophy_of_Tiddlers.tid",
    "content": "caption: Filosofía\ncreated: 20131128075743966\nes-title: Filosofía del tiddler\nmodified: 20160421094827753\ntags: Learning\ntitle: Philosophy of Tiddlers\ntype: text/vnd.tiddlywiki\n\nEl propósito de guardar y organizar información es poder usarla de nuevo. El valor de la información almacenada es directamente proporcional a la facilidad con la que se puede volver a usar.\n\nLa filosofía de los [[tiddlers|Tiddlers]] consiste en maximizar las posibilidades de reutilización de la información descomponiéndola primero en unidades mínimas, semánticamente significativas, estructurar un [[entramado de relaciones entre ellas |Structuring TiddlyWiki]] y, por medio de agregación y composición, unir estos fragmentos para presentar una narración o historia.\n\nTiddlyWiki aspira a proporcionar un álgebra de tiddlers, una forma clara y concisa de expresar y explorar relaciones entre unidades mínimas de información significativa.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Platforms.tid",
    "content": "caption: Plataformas\ncreated: 20150412185300152\nes-title: Plataformas\nmodified: 20160506042722156\ntags: TableOfContents\ntitle: Platforms\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki puede usarse en varias plataformas:\n\n<<list-links \"[tag[Platforms]]\">>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Plugin_Editions.tid",
    "content": "caption: Ediciones de plugins\ncreated: 20160107223443647\nes-title: Ediciones de plugins\nmodified: 20160605040445323\ntags: Editions\ntitle: Plugin Editions\ntype: text/vnd.tiddlywiki\n\nEstas ediciones contienen demos de los plugins originales de ~TiddlyWiki y se prepararon para ediciones anteriores, que carecían de la librería de plugins.\n\n<<list-links \"[tag[Plugin Editions]]\">>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Plugins.tid",
    "content": "caption: Plugins\ncreated: 20140910215514237\nes-title: Complementos y extensiones\nmodified: 20160504145400028\ntags: Concepts TableOfContents\ntitle: Plugins\ntype: text/vnd.tiddlywiki\n\nLos complementos y extensiones (<<.def plugins>>) de ~TiddlyWiki son componentes opcionales que modifican y extienden su funcionalidad. Puedes instalarlos desde la [[librería oficial|Installing a plugin from the plugin library]] o desde las distintas páginas de [[recursos|Resources]] publicadas por la comunidad.\n\n{{$:/core/ui/ControlPanel/Plugins/AddPlugins}}\n\nEstructuralmente, un plugin es un paquete de tiddlers distribuido conjuntamente como un único tiddler, que puede ser instalado, copiado o borrado como una sola unidad. Cada tiddler que forma parte del plugin es un tiddler oculto. [[Aquí|PluginMechanism]] puedes profundizar sobre el tema sobre cómo funcionan y se implementan a nivel interno.\n\nLos complementos y extensiones pueden contener módulos de JavaScript, hojas de estilos y plantillas. También pueden usarse para distribuir texto común, imágenes, audio o cualquier otro tipo de contenidos.\n\n<<list-links \"[tag[Plugins]]\">>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Preserving_open_tiddlers_at_startup.tid",
    "content": "caption: Tiddlers abiertos al inicio\ncreated: 20140101192052333\nes-title: Cargar los últimos tiddlers abiertos al inicio\nmodified: 20160427053631307\ntags: [[Customise TiddlyWiki]]\ntitle: Preserving open tiddlers at startup\ntype: text/vnd.tiddlywiki\n\nGeneralmente, ~TiddlyWiki muestra al inicio los tiddlers especificados en <<.tid ~$:/DefautTiddlers>>\n\nA veces, sin embargo, es útil mostrar los mismos tiddlers que estaban abiertos cuando se guardó el archivo. Para hacerlo, en <<.tid ~$:/DefautTiddlers>> en lugar una lista de tiddlers, debe especificarse el siguiente filtro:\n\n```\n[list[$:/StoryList]]\n```\nEste filtro devuelve la lista de tiddlers que figuran en <<.tid ~$:/StoryList>>, que es donde el sistema almacena el histórico de tiddlers.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Quine.tid",
    "content": "caption: Quine\ncreated: 20160428142759864\nes-title: Quine\nmodified: 20160428143539736\ntags: Definitions\ntitle: Quine\ntype: text/vnd.tiddlywiki\n\nWikipedia [[define un Quine|https://es.wikipedia.org/wiki/Quine_%28programa%29]] como //un programaque produce su código fuente como única salida//.\n\n~TiddlyWiki es un raro ejemplo de <<.em Quine>> con utilidad práctica: es esa capacidad para producir una copia de su propio código fuente lo que constituye el secreto de su capacidad para almacenar independientemente cambios en sí mismo.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Railroad_Diagrams.tid",
    "content": "caption: Diagramas sintácticos\ncreated: 20150105133800000\nes-title: Diagramas sintácticos\nmodified: 20160420150832016\ntitle: Railroad Diagrams\ntype: text/vnd.tiddlywiki\n\nLos <<.def \"diagramas sintácticos\">> o <<.word \"de ferrocarril\">> son una forma visual de explicar las reglas sintácticas de un lenguaje de programación. Para entenderlos, hay que leerlos como si fueran planos de metro. \n\nCada diagrama empieza a la izquierda y acaba a la derecha, así que simplemente sigue las líneas de principio a fin. Todas las líneas intermedias son igualmente válidas. A veces unas líneas saltan por encima de un elemento opcional, o vuelven sobre sí mismas, para indicar que ese elemento puede repetirse.\n\n<$railroad text=\"\"\"\ninicio [:opcional] {reiterado +\",\"} fin\n\"\"\"/>\n\nEn este ejemplo, se incluye una coma entre cada iteración del elemento `reiterado`. El camino señalado con una coma va de derecha a izquierda y sólo puede se puede seguir pasando una primera vez por el elemento `reiterado`.\n\nLos caracteres en caja redonda son literales, es decir, que se refieren a sí mismos. Un nombre en caja rectangular, por el contrario, se refiere a otro diagrama sintáctico.\n\nLos diagramas sintácticos de la documentación de ~TiddlyWiki se generan con el plugin [[Railroad|Railroad Plugin]].\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Railroad_Plugin.tid",
    "content": "caption: Diagramas sintácticos\ncreated: 20160107223348621\nes-title: Diagramas sintácticos\nlist: \nmodified: 20160504143404183\ntags: [[Plugin Editions]]\ntitle: Railroad Plugin\ntype: text/vnd.tiddlywiki\n\n{{$:/plugins/tiddlywiki/railroad/readme}}\n\nPara más información sobre el uso de este plugin, [[pincha aquí|$:/plugins/tiddlywiki/railroad/syntax]]"
  },
  {
    "path": "editions/es-ES/tiddlers/Reference.tid",
    "content": "caption: Referencia\ncreated: 20140910212931897\nes-title: Material de referencia\nlist: Concepts Definitions WikiText Macros Widgets Filters Messages Commands Mechanisms\nmodified: 20160511152812725\ntags: TableOfContents\ntitle: Reference\ntype: text/vnd.tiddlywiki\n\nLos siguientes temas constituyen la documentación de referencia de ~TiddlyWiki: \n\n<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'Reference'>>\n\n</div>"
  },
  {
    "path": "editions/es-ES/tiddlers/Reference_Tiddlers.tid",
    "content": "caption: Estilo: Material de referencia\ncreated: 20141226192500000\nes-title: Guía de estilo para la redacción de material de referencia\nmodified: 20160418141821319\ntags: [[Improving TiddlyWiki Documentation]]\ntitle: Reference Tiddlers\ntype: text/vnd.tiddlywiki\n\nLos <<.def \"tiddlers de referencia\">> ofrecen información al lector --presumiblemente de nivel intermedio o experto-- de manera comprensible e interreferenciada. \n\nSe estructura en varias subcategorías:\n\n;Conceptos\n\n* Definidos, juntos forman un glosario\n\n;Manual de usuario\n\n* Presenta aspectos técnicos de las características de ~WikiText\n\n* Se subdivide en: mensajes, operadores, variables, widgets... etc\n\n;Manual de desarrollador\n\n* Presenta aspectos técnicos de la arquitectura interna de ~TiddlyWiki\n\nEl material de referencia se redacta en estilo formal que evita referirse al lector y enfoca su atención en el comportamiento de ~TiddlyWiki. Predomina el uso de la voz pasiva y las expresiones impersonales:\n\nReference material is written in a terse, formal style that avoids referring to the reader, and instead focuses on how ~TiddlyWiki itself behaves. The passive voice is often suitable:\n\n* <<.word \"se especifica la plantilla como tiddler\">> mejor que <<.word \"especifica la plantilla como tiddler\">>\n* <<.word \"el widget puede servir para varios fines\">> mejor que <<.word \"puedes usar el widget para varios fines\">>\n* Pero <<.word \"este widget tiene varios usos posibles\">> es aún mejor, ya que es más conciso y menos retorcido.\n\nAl redactar en inglés, se evita el uso de formas verbales contraídas, pero aquellas que terminan en <<.word \"n't\">>, como (<<.word \"aren't\">>, <<.word \"doesn't\">>, <<.word \"hasn't\">>, <<.word \"isn't\">>... etc, son aceptables, ya que así es menos probable que en su lectura se pase por alto el <<.word not>> de las formas no contraídas.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Resources.tid",
    "content": "caption: Recursos\ncreated: 20140320230543190\nes-title: Recursos\nmodified: 20160413161642742\ntags: Community\ntitle: Resources\ntype: text/vnd.tiddlywiki\n\nPáginas con recursos creados por la [[comunidad|Community]] para ayudarte a sacarle todo el jugo a ~TiddlyWiki: Plugins, macros, utilidades y mucho más.\n\nEnvía más recursos que encuentres para ampliar esta lista via [[GitHub|https://github.com/TiddlyWiki/TiddlyWiki5]] o [[Twitter|https://twitter.com/tiddlywiki]], o publícalas en el [[grupo|https://groups.google.com/forum/?hl=es#!forum/tiddlywiki]]\n\n<div class=\"tc-link-info\">\n\n<$list filter='[tag[Resources]!sort[modified]]'>\n\n<div class=\"tc-link-info-item\">\n\n! <$link><$view field=\"title\"/></$link>\n\n<div class=\"tc-subtitle\">Posted <$view field=\"modified\" format=\"relativedate\"/></div>\n\n<$transclude/>\n\n</div>\n\n</$list>\n\n</div>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Resume_Builder_Edition.tid",
    "content": "caption: Editor de currículum\ncreated: 20150718123139133\nes-title: Editor de currículum\nmodified: 20160605040631147\ntags: Editions\ntitle: Résumé Builder Edition\ntype: text/vnd.tiddlywiki\n\nEl <<.def \"Editor de currículum\">> es una edición especial de ~Tiddlywiki concebida para la creación de manera sencilla de un currículum profesional que se puede imprimir o guardar en la web.\n\nhttps://tiddlywiki.com/editions/resumebuilder/\n\n(En inglés. Está en preparación la edición en castellano)\n"
  },
  {
    "path": "editions/es-ES/tiddlers/SafeMode.tid",
    "content": "caption: Modo Seguro\ncreated: 20140419082845576\nes-title: TiddlyWiki en modo de recuperación\nmodified: 20160503162352208\ntags: Features\ntitle: SafeMode\ntype: text/vnd.tiddlywiki\n\n! Introducción\n\nEl <<.def \"modo seguro\">> desactiva la mayoría de customizaciones en ~TiddlyWiki en caso de que, a fuerza de adaptaciones sucesivas, dejen de funcionar correctamente. Un caso frecuente es el de la [[actualización|Upgrading]] del núcleo, que muchas veces <<.word rompe>> las customizaciones del usuario, especialmente en versiones Beta.\n\n! Cómo activar el modo seguro\n\nModo seguro se activa al arrancar ~TiddlyWiki con el hash `#:safe`. \n\nhttps://tiddlywiki.com/#:safe\n\n! Cómo trabaja el modo seguro\n\nActivar modo seguro produce los siguientes cambios en el funcionamiento de ~TiddlyWiki:\n\n* Todos los plugins se desactivan temporalmente.\n\n* Todos aquellos tiddlers que <<.word puentean>> tiddlers ocultos reciben el prefijo `SAFE:`, lo que restaura los originales\n\n* Algunas opciones de configuración se ignoran y usan los valores por defecto.\n\nSe muestra un informe de los tiddlers modificados por el usuario, de modo que pueden inspeccionarse en busca de fallos.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/SampleAlert.tid",
    "content": "caption: Notificación \ncomponent: Demo alerta\ncreated: 20160428150254657\nes-title: Alerta de ejemplo\nmodified: 20160429054033333\ntitle: SampleAlert\ntype: text/vnd.tiddlywiki\n\nEsta es una alerta de demostración. \n\nPinchando en el icono del cubo de basura se borra el tiddler que la contiene. Otra forma de librarse de ella es editar el tiddler [[Alerta de demostración|SampleAlert]] y quitarle la etiqueta."
  },
  {
    "path": "editions/es-ES/tiddlers/SampleModal.tid",
    "content": "caption: Modal\ncreated: 20140912145537860\nes-title: MuestraModal\nfooter: <$button message=\"tm-close-tiddler\">Close</$button>\nmodified: 20160415151609720\nsubtitle: Este es un tiddler modal creado especialmente para <<yourName>>\ntitle: SampleModal\ntype: text/vnd.tiddlywiki\n\n! ¡Hola, <<yourName>>!\n\nEste es un ejemplo de modal que contiene el siguiente mensaje:\n\n<<yourMessage>>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/SampleNotification.tid",
    "content": "caption: Notificación de ejemplo\ncreated: 20140912145543340\nes-title: Notificación de ejemplo\nmodified: 20160429054048686\ntitle: SampleNotification\ntype: text/vnd.tiddlywiki\n\n{{$:/core/images/info-button}} ¡Esto es una notificación!"
  },
  {
    "path": "editions/es-ES/tiddlers/SampleWizard.tid",
    "content": "created: 20140912145537860\nfooter: <$button message=\"tm-close-tiddler\">Cerrar</$button>\nmodified: 20160416120434451\nsubtitle: Soy un asistente modal\ntitle: SampleWizard\ntype: text/vnd.tiddlywiki\n\nEste es un asistente de diálogo modal, guardado en el tiddler SampleWizard\n\n{{Motovun Jack.jpg}}\n\nPuedes <$button message=\"tm-modal\" param=\"SampleWizard2\">anidar asistentes</$button>.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/SampleWizard2.tid",
    "content": "created: 20140912145532856\nfooter: <$button message=\"tm-close-tiddler\">Cerrar</$button>\nmodified: 20160416120503104\nsubtitle: Soy otro asistente modal\ntitle: SampleWizard2\ntype: text/vnd.tiddlywiki\n\nEste es otro diálogo de asistente modal, guardado en el tiddler SampleWizard2.\n\nPuedes <$button message=\"tm-modal\" param=\"SampleWizard\">anidar asistentes</$button>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Saving.tid",
    "content": "caption: Guardar en ~TiddlyWiki\ncreated: 20140912140651119\nes-title: Guardar en TiddlyWiki\nmodified: 20160422205412149\ntags: [[Working with TiddlyWiki]]\ntitle: Saving\ntype: text/vnd.tiddlywiki\n\nMétodos disponibles para guardar cambios en ~TiddlyWiki\n\n<<list-links \"[tag[Saving]]\">>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Saving_on_Android.tid",
    "content": "caption: Guardar en Android\ncreated: 20130825161400000\nes-title: Guardar en Android\nmodified: 20160603150211485\ntags: Saving\ntitle: Saving on Android\ntype: text/vnd.tiddlywiki\n\nLa aplicación para dispositivos Android ~AndTidWiki permite editar y guardar cambios en TiddlyWiki5, incluso al trabajar offline, sin conexión de red.\n\n[[Descárgala de aquí|https://play.google.com/store/apps/details?id=de.mgsimon.android.andtidwiki&hl=es]].\n\n//Nota: ~AndTidWiki es un proyecto independiente de TiddlyWiki//"
  },
  {
    "path": "editions/es-ES/tiddlers/Saving_on_InternetExplorer.tid",
    "content": "caption: Guardar en Internet Explorer\ncreated: 20131212182652334\nes-title: Guardar en Internet Explorer\nmodified: 20160422201134073\ntags: Saving\ntitle: Saving on InternetExplorer\ntype: text/vnd.tiddlywiki\n\nPor defecto, ~TiddlyWiki guarda los cambios en InternetExplorer 10 y superiores usando un módulo de guardado que descarga el archivo modificado en vez de guardarlo directamente. Hay dos alternativas para guardar los cambios directamente en el archivo:\n\n* [[Usando la extensión TiddlyIE |Saving with TiddlyIE]]\n* Ejecutándolo como [[aplicación HTA|Windows HTA Hack]] cambiando la extensión `*.html` por `*.hta`\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Saving_on_Safari.tid",
    "content": "caption: Guardar en Safari\ncreated: 20140811171304926\nes-title: Guardar en Safari\nmodified: 20160603131745607\ntags: Saving\ntitle: Saving on Safari\ntype: text/vnd.tiddlywiki\n\nEste método para guardar cambios es un poco rudimentario porque requiere intervención manual para cada acción de guardado.\n\n# Descarga un TiddlyWiki en blanco pulsando este botón\n\n#> {{$:/editions/es-ES/snippets/download-empty-button}}\n\n#>Si el botón no funciona, guarda este enlace: https://tiddlywiki.com/languages/es-ES/empty.html\n\n#> Seguramente el navegador te pida que confirmes la descarga\n\n#Localiza el archivo que acabas de descargar\n\n#*Puedes cambiarle el nombre, siempre que mantengas la extensión `.html` o `.htm`\n\n#Abre el archivo en el navegador\n\n# Crea un nuevo tiddler usando el botón ''Nuevo tiddler'' {{$:/core/images/new-button}} de la barra lateral. Escribe algo en él y haz clic en el botón ''OK'' {{$:/core/images/done-button}}\n\n# Guarda los cambios con el botón ''Guardar cambios'' {{$:/core/images/save-button}} de la barra lateral\n\n# Se mostrará una ventana emergente ''Descargar cambios'', con un enlace con el nombre //Clic-derecho para guardar cambios//\n# Haz clic con el botón derecho y selecciona ''Descargar destino como...'' (u opción parecida) en el menú desplegable\n# Ve hasta la carpeta que contiene el archivo HTML de tu wiki y selecciona el archivo\n# Clic en el botón ''Guardar''\n# Clic en ''Reemplazar'' para confirmar la sustitución del archivo existente\n# Comprueba que los cambios se han guardado correctamente\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Saving_on_TiddlySpot.tid",
    "content": "caption: Guardar en ~TiddlySpot\ncreated: 20130825213500000\nes-title: Guardar en TiddlySpot\nmodified: 20160423054950812\ntags: Saving\ntitle: Saving on TiddlySpot\ntype: text/vnd.tiddlywiki\n\n{{TiddlySpot}}\n\nPuedes subir un documento de ~TiddlyWiki5 a TiddlySpot siguiendo estos pasos:\n\n# Regístrate en http://tiddlyspot.com/ para poder crear un wiki y recuerda el nombre y la contraseña elegidos\n\n# Abre tu copia local de ~TiddlyWiki en el navegador\n\n# En la pestaña <<.controlpanel-tab Saving>> del [[panel de control|$:/ControlPanel]], rellena los campos de nombre y contraseña en TiddlySpot\n\n# Haz clic en el botón <<.button save-wiki>>. Una notificación en la esquina superior derecha de la pantalla te confirmará el guardado. Guardar puede llevar algún tiempo, dependiendo de la velocidad de conexión y del tamaño del wiki.\n\n# Navega hasta tu wiki en ~TiddlySpot: http://tuwiki.tiddlyspot.com/\n\nTen en cuenta que la contraseña se envía sin encriptar. Más información en http://faq.tiddlyspot.com/:\n\n<<<\n''¿Es seguro ~TiddlySpot?''\n\nNo. ~TiddlySpot no usa SSL/https. Tu contraseña se envía sin encriptar al guardar y al identificarte en un sitio privado. Esto significa que tu sitio en ~TiddlySpot es vulnerable al //sniffing// de paquetes y que tu contraseña puede ser vista por terceras partes malintencionadas. Los datos de tu sitio en ~TiddlySpot también se envían sin encriptar cuando accedes a tu sitio, aunque sea privado. Por este motivo te recomendamos que no incluyas en ~TiddlySpot información sensible como detalles bancarios y que no uses contraseñas que ya tengas en uso en otros sitios seguros.\n<<<\n\n!! Problemas al guardar en ~TiddlySpot\n\nSi usas Firefox, es más que probable que tropieces con este error al intentar guardar tu wiki en ~TiddlySpot:\n\n<<<\nError while saving:\n\nError:NS_ERROR_DOM_BAD_URI: Access to restricted URI denied\n<<<\n\nLa operación de guardado falla por restricciones de seguridad de Firefox y está fuera de nuestro alcance. Hasta que se resuelva, nuestro consejo es que para guardar en ~TiddlySpot uses otro navegador, por ejemplo, Chromium:\n\n*# Abre tu wiki local con Chromium y repite los pasos 1 a 5 descritos más arriba\n\n*# Una vez hayas comprobado en Chromium que ~TiddlySpot ha alojado tu wiki correctamente, podrás  acceder, editar y [[guardar con Firefox|Saving with TiddlyFox]] en la copia online.\n\n* Después de subir tu archivo local por primera vez, podrás editar tu wiki y guardar cambios online con [[cualquier navegador moderno|BrowserCompatibility]] de tu preferencia.\n\n** No olvides introducir los datos de tu sitio de ~TiddlySpot en <<.controlpanel-tab Saving>> cada nuevo navegador con el que quieras guardar cambios online\n\n<<.tip \"Ver también [[Actualizaciones|Upgrading]]\">>\n\n<<.warning \"Si lo que quieres es trabajar en local, subiendo luego los cambios a ~TiddlySpot, tendrás que volver a usar Chromium para evitar el error de Firefox.\">>"
  },
  {
    "path": "editions/es-ES/tiddlers/Saving_on_a_PHP_Server.tid",
    "content": "caption: Guardar en servidor php\ncreated: 20140111091844267\nes-title: Guardar en un servidor php\nmodified: 20160422200511304\ntags: Saving\ntitle: Saving on a PHP Server\ntype: text/vnd.tiddlywiki\n\nEl módulo incorporado de guardado en TiddlySpot también puede usarse para guardar cambios en un sencillo script de PHP que puede ejecutarse en la mayoría de proveedores.\n\n<<.warning \"Estas son instrucciones preliminares que aún necesitan verificación\">>\n\n# Descarga una copia de <<.def store.php>> de [[aquí|https://code.google.com/p/bidix/source/browse/trunk/TiddlyHome/_th/lib/store.php]]\n\n# Edita tu copia de <<.def store.php>> para incluir tu nombre de usuario y contraseña. Busca la línea `$USERS = array( 'UserName1'=>'Password1'...etc` y sustituye <<.em Username1>> y <<.em Password1>> por los tuyos, respectivamente\n\n#* Asegúrate de dejar intactos el código y su puntuación.\n\n# Guarda los cambios\n\n# Mediante FTP o web, sube el archivo <<.def store.php>>al servidor. Asegúrate de que el nombre de archivo es correcto\n\n#* Si el archivo ha subido correctamente, lo verás en el navegador.\n\n# En ~TiddlyWiki, ve a la pestaña <<.controlpanel-tab Saving>> del [[Panel de control|$:/ControlPanel]] e introduce la siguiente información:\n\n#* Tu nombre de usuario como nombre de wiki\n\n#* Tu contraseña\n\n#* La URL del archivo ''store.php'', <<.em \" La URL del archivo ''store.php'', no la del wiki\">>\n\nLa pestaña <<.controlpanel-tab Saving>> del panel de control incluye las siguientes opciones de configuración:\n\n|!Nombre |!Descripción |\n|Dirección (URL) del servidor |URL completa del archivo <<.def store.php>> en el servidor |\n|Nombre de archivo |Nombre de archivo usado para guardar el ~TiddlyWiki (por defecto <<.def index.html>> |\n|Directorio de almacenamiento |Ruta relativa al archivo <<.def store.php>> del directorio usado para guardar el wiki |\n|Directorio de copias de seguridad |Ruta relativa al archivo <<.def store.php>> del directorio donde se guarda la copia de seguridad del wiki.  |\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Saving_on_iPad_iPhone.tid",
    "content": "caption: Guardar en iPad/iPhone\ncreated: 20131129101027725\nes-title: Guardar en iPad/iPhone\nmodified: 20160605183216156\ntags: Saving\ntitle: Saving on iPad/iPhone\ntype: text/vnd.tiddlywiki\n\nLa aplicación para iPad e iPhone ''TWEdit'' permite editar y guardar cambios en TiddlyWiki5, incluso cuando se trabaja offline, sin conexión de red.\n[[Descárgala aquí|https://itunes.apple.com/es/app/twedit/id409607956?mt=8]].\n\nInstrucciones de uso:\n\n# Abre TWEdit\n\n# Toca el título en el centro de la barra de herramientas en uso\n\n#* Aparecerá un cuadro de texto en el que puedes indicar una URL\n\n# Escribe la URL `https://tiddlywiki.com/languages/es-ES/empty.html`\n\n# Cuando se cargue el TiddlyWiki vacío, toca el icono ''Guardar'' (el segundo icono por la derecha, en la barra superior)\n\n#* Aparecerá un cuadro de alerta en el que debes indicar un nombre para el archivo local.\n\n#* Escribe el nombre que quieras usar para tu documento (siempre con la extensión `.html`)\n\n# Comprueba que funciona con el botón ''Nuevo tiddler'' {{$:/core/images/new-button}} de la barra lateral. Escribe algo en el tiddler y haz click en el botón ''OK'' {{$:/core/images/done-button}}\n\n# Guarda ahora los cambios haciendo click en el botón ''Guardar cambios'' {{$:/core/images/save-button}} de la barra lateral.\n\n#* Aparecerá un mensaje de confirmación arriba a la derecha\n\n//''Nota:'' TWEdit es un proyecto independiente de TiddlyWiki//"
  },
  {
    "path": "editions/es-ES/tiddlers/Saving_with_TiddlyFox.tid",
    "content": "caption: Guardar en Firefox\ncreated: 20131221085742684\nes-title: Guardar con TiddlyFox\nmodified: 20160603145935964\ntags: Saving\ntitle: Saving with TiddlyFox\ntype: text/vnd.tiddlywiki\n\nSi usas ''Firefox para Android'', las instrucciones que necesitas son [[estas|Saving with TiddlyFox on Android]].\n\n#Comprueba que tienes la última versión de Firefox\n\n#* http://getfirefox.com\n\n# Descarga e instala la última versión disponible de TiddlyFox\n\n#* https://addons.mozilla.org/es/firefox/addon/tiddlyfox/\n\n# Reinicia Firefox\n\n# Descarga un TiddlyWiki en blanco pulsando este botón:\n\n#> {{$:/editions/es-ES/snippets/download-empty-button}}\n\n# Localiza el archivo que acabas de descargar\n\n#* Puedes cambiarle el nombre, pero mantén la extensión `.html` o `.htm`\n\n# Abre el archivo en Firefox\n\n# Dale a ''OK'' cuando TiddlyFox te pregunte si quieres activar la función de guardado para el archivo\n\n# Crea un nuevo tiddler usando el botón ''Nuevo'' {{$:/core/images/new-button}} de la barra lateral. Escribe algo en él y haz clic en el botón ''OK'' {{$:/core/images/done-button}}\n\n# Guarda los cambios con el botón ''Guardar'' {{$:/core/images/save-button}} de la barra lateral\n\n# Recarga la página para comprobar que se han guardado correctamente los cambios"
  },
  {
    "path": "editions/es-ES/tiddlers/Saving_with_TiddlyFox_on_Android.tid",
    "content": "caption: TiddlyFox en Android\ncreated: 20140103134551508\nes-title: Guardar con TiddlyFox en Android\nmodified: 20160603145948981\ntags: Saving\ntitle: Saving with TiddlyFox on Android\ntype: text/vnd.tiddlywiki\n\nTambién puedes consultar el [[video tutorial|TiddlyWiki on Firefox for Android Video]]\n\n\n# Asegúrate de que tienes la última versión de [[Firefox para Android|Firefox for Android]]\n\n#* http://getfirefox.com\n\n#Descarga e instala la última versión de la extensión TiddlyFox de:\n\n#* https://addons.mozilla.org/es/firefox/addon/tiddlyfox/\n\n#Instala esta extensión para poder guardar localmente el archivo TiddlyWiki:\n\n#* https://addons.mozilla.org/es/android/addon/save-link-menus/\n\n#Descarga un TiddlyWiki en blanco guardando el enlace:\n\n#* https://tiddlywiki.com/languages/es-ES/empty.html\n\n#>Para guardar el enlace, mantenlo presionado y selecciona \"Save link\" (asegúrate de tener instalada la extensión \"save-link-menus\")\n\n#Cuando se haya descargado el archivo, haz click en él, bien en la barra de notificaciones, bien en el administrador de descargas.\n\n# Para abrirlo, selecciona Firefox en vez del navegador por defecto de Android.\n\n# Haz clic en ''OK'' cuando TiddlyFox te pregunte si quieres activar la función de guardado para el archivo.\n\n# Comprueba que funciona con el botón ''Nuevo tiddler'' {{$:/core/images/new-button}} de la barra lateral. Escribe algo en el tiddler y haz click en el botón ''OK'' {{$:/core/images/done-button}}\n\n# Guarda ahora los cambios haciendo click en el botón ''Guardar cambios'' {{$:/core/images/save-button}} de la barra lateral.\n\n#* Arriba a la derecha aparecerá una notificación en amarillo que dice ''Guardado''\n\n# Actualiza la ventana del navegador para comprobar que los cambios se han guardado correctamente.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Saving_with_TiddlyIE.tid",
    "content": "caption: Guardar: TiddlyIE\ncreated: 20131211220000000\nes-title: Guardar con TiddlyIE\nmodified: 20160603131831758\ntags: [[Saving on InternetExplorer]]\ntitle: Saving with TiddlyIE\ntype: text/vnd.tiddlywiki\n\n#Descarga e instala la extensión TiddlyIE:\n#* https://github.com/davidjade/TiddlyIE/releases\n\n#Reinicia Internet Explorer. Se te preguntará si quieres activar TiddlyIE\n\n#>Puede que también te pida activar //Microsoft Script Runtime//\n\n\n# Descarga un TiddlyWiki en blanco pulsando este botón\n\n#> {{$:/editions/es-ES/snippets/download-empty-button}}\n\n#>Si el botón no funciona, guarda este enlace: https://tiddlywiki.com/languages/es-ES/empty.html\n\n#> Seguramente el navegador te pida que confirmes la descarga\n\n#Localiza el archivo que acabas de descargar\n\n#*Puedes cambiarle el nombre, pero mantén la extensión `.html` o `.htm`\n\n#Abre el archivo con Internet Explorer\n\n# Crea un nuevo tiddler usando el botón ''Nuevo tiddler'' {{$:/core/images/new-button}} de la barra lateral. Escribe algo en él y haz clic en el botón ''OK'' {{$:/core/images/done-button}}\n\n# Guarda los cambios con el botón ''Guardar cambios'' {{$:/core/images/save-button}} de la barra lateral. Internet Explorer abrirá un cuadro de diálogo para que confirmes que quieres guardar el archivo localmente.\n\n# Recarga la página para comprobar que los cambios se han guardado correctamente"
  },
  {
    "path": "editions/es-ES/tiddlers/Saving_with_the_HTML5_fallback_saver.tid",
    "content": "caption: Guardar con módulo HTML5\ncreated: 20131129092604900\nes-title: Guardar con el módulo alternativo de guardado\nmodified: 20160603131518256\ntags: Saving\ntitle: Saving with the HTML5 fallback saver\ntype: text/vnd.tiddlywiki\n\n[[Saving with the HTML5 saver]]"
  },
  {
    "path": "editions/es-ES/tiddlers/Saving_with_the_HTML5_saver.tid",
    "content": "caption: Guardar con módulo HTML5\ncreated: 20131129092604900\nes-title: Guardar con el módulo alternativo de guardado\nmodified: 20160603131518256\ntags: Saving\ntitle: Saving with the HTML5 saver\ntype: text/vnd.tiddlywiki\n\nEste método para guardar cambios es un poco rudimentario porque requiere intervención manual para cada acción de guardado. Tiene, sin embargo, la ventaja de que funciona en casi todos los navegadores de escritorio y en muchos navegadores móviles.\n\n# Descarga un TiddlyWiki en blanco pulsando este botón\n\n#> {{$:/editions/es-ES/snippets/download-empty-button}}\n\n#>Si el botón no funciona, guarda este enlace: https://tiddlywiki.com/languages/es-ES/empty.html\n\n#> Seguramente el navegador te pida que confirmes la descarga\n\n#Localiza el archivo que acabas de descargar\n\n#*Puedes cambiarle el nombre, siempre que mantengas la extensión `.html` o `.htm`\n\n#Abre el archivo en el navegador\n\n# Crea un nuevo tiddler usando el botón ''Nuevo tiddler'' {{$:/core/images/new-button}} de la barra lateral. Escribe algo en él y haz clic en el botón ''OK'' {{$:/core/images/done-button}}\n\n# Guarda los cambios con el botón ''Guardar cambios'' {{$:/core/images/save-button}} de la barra lateral\n\n# El navegador descargará una copia del wiki que incluye tus cambios.\n\n# Localiza el archivo nuevo y ábrelo en el navegador\n\n# Comprueba que los cambios se han guardado correctamente\n\n''Consejo'': la mayoría de navegadores permiten la opción de especificar la localización de cada descarga, en lugar de descargar a la carpeta por defecto. Esta opción te permite \"planchar\" tu archivo con la nueva versión.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Scalability.tid",
    "content": "caption: Escalable\ncreated: 20130822173400000\nes-title: Escalabilidad\nmodified: 20160429055303277\ntags: Features\ntitle: Scalability\ntype: text/vnd.tiddlywiki\n\nPuedes sentirte tentado de pensar que la arquitectura de [[página única|SinglePageApplication]] de ~TiddlyWiki lo hace inadecuado para grandes cantidades de datos. La verdad es que los usuarios de ~TiddlyWiki suelen trabajar sin problemas con archivos de 20 ó 30 Mb... y se han hecho experimentos satisfactorios con archivos de varios Gb. "
  },
  {
    "path": "editions/es-ES/tiddlers/Searching_in_TiddlyWiki.tid",
    "content": "caption: Búsquedas\ncreated: 20140210160125905\nes-title: Búsquedas en TiddlyWiki\nmodified: 20160422095858816\ntags: Features [[Working with TiddlyWiki]]\ntitle: Searching in TiddlyWiki\ntype: text/vnd.tiddlywiki\n\nLa función de búsqueda en ~TiddlyWiki es rápida y flexible\n\n!! Búsqueda estándar\n\nEl cuadro de búsqueda de la barra lateral devuelve una lista de tiddlers coincidentes con el texto que se escriba en él. \n\n<<.tip \"\nLas pestañas de la barra lateral quedan ocultas bajo los resultados de la búsqueda hasta que se pulse en cualquier lugar para ocultarlos o se pinche la ''x'' para resetearlo. \n\">>\n\n!! Búsqueda avanzada\n\nSi se pincha en el botón con forma de lupa que hay a la derecha del cuadro de búsqueda, se abre la [[búsqueda avanzada|$:/AdvancedSearch]], que contiene cuatro pestañas. \n\n* <<.advancedsearch-tab Standard>> es una instancia más del cuadro de búsqueda estándar de la barra lateral\n\n* <<.advancedsearch-tab System>> restringe el ámbito de búsqueda a los [[tiddlers de sistema|SystemTiddlers]]\n\n* <<.advancedsearch-tab Shadows>> restringe el ámbito de búsqueda a los [[tiddlers ocultos|ShadowTiddlers]]\n\n* <<.advancedsearch-tab Filter>> no es en sí un cuadro de búsqueda, sino una manera rápida de obtener una lista de tiddlers que cumplen todas las condiciones de una expresión de [[filtros|Filters]]. Por ejemplo: <<.word \"Todas las etitquetas, excepto las de sistema\">>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Selection_Constructors.tid",
    "content": "caption: Constructores de selección\ncreated: 20150117204109000\nes-title: Constructores de selección\nmodified: 20160420183010734\ntags: Filters\ntitle: Selection Constructors\ntype: text/vnd.tiddlywiki\n\nEl output de un [[paso|Filter Step]] depende de su [[operador|Filter Operators]]:\n\n* La mayoría de operadores obtienen su output a partir del input. Por ejemplo, muchos devuelven un subconjunto del input, cumpliendo así realmente con la función de <<.word filtros>>, al reducir el output de la instrucción que los contiene. Estos operadores se llaman <<.def \"modificadores de selección\">>.\n\n* Unos pocos operadores, sin embargo, ignoran el input y generan un output independiente. A estos se les llama <<.def \"constructores de selección\">>, porque construyen una [[selección|Title Selection]] totalmente nueva.\n\nUn buen ejemplo de constructor es <<.olink title>>. El output de `[title[A]title[B]]` es <<.tid B>>, mientras que <<.olink field>> es un modificador, por lo que `[title[A]field:title[B]` no genera output alguno.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Setting_a_favicon.tid",
    "content": "caption: Favicons en ~TiddlyWiki\ncreated: 20131224074240979\nes-title: Definir un favicon\nmodified: 20160427054526689\ntags: [[Customise TiddlyWiki]]\ntitle: Setting a favicon\ntype: text/vnd.tiddlywiki\n\nEl <<.word favicon>> es un pequeño icono que la mayoría de navegadores incorporan a la ventana para ayudar al usuario a identificar páginas. \n\n! favicons en el navegador\n\nCuando ~TiddlyWiki arranca en el navegador, busca un tiddler llamado <<.tid $:/favicon.ico>> y lo usa dinámicamente como favicon de la página. Si modificas la imagen, el favicon cambiará al instante.\n\n! favicons en el servidor\n\nTrabajando en la versión servidor de ~TiddlyWiki, es el comando ServerCommand quien facilita el contenido del tiddler [[$:/favicon.ico]] a la ruta `/favicon.ico`.\n\n\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Setting_a_page_background_image.tid",
    "content": "caption: Fondos de página\ncreated: 20150417155912612\nes-title: Definir fondo de página\nmodified: 20160427065343774\ntags: [[Customise TiddlyWiki]]\ntitle: Setting a page background image\ntype: text/vnd.tiddlywiki\n\n# Importa la imagen como un tiddler. Consulta [[Images in WikiText]]\n\n#* También pueden usarse [[imágenes externas|ExternalImages]]\n\n# Abre el [[Panel de control|ControlPanel]] y la pestaña <<.em \"Theme Tweaks\">> en <<.controlpanel-tab \"Appearance\">>\n\n# Selecciona la imagen en el desplegable <<.word \"Page background image\">>\n\n# Establece <<.word \"Page background image attachment\">> como <<.word \"Fixed to window\">> para mantener la imagen fija y que el contenido se desplace sobre ella o como <<.word \"Scroll with tiddlers\">> para que se muevan simultáneamente.\n\n#* [[iPhone/iPad no soporta|http://stackoverflow.com/a/20444219]] el ajuste como imagen fija, por razones de rendimiento\n\n# Ajusta el tamaño de la imagen con <<.word \"Page background image size\">>:\n\n#* <<.word Auto>> hace que la imagen, si es necesario, forme mosaico para cubrir el fondo de la página \n\n#* <<.word Cover>> ajusta la imagen de forma que cubra por completo el fondo de la página, lo que puede provocar que zonas de la imagen queden fuera de la vista.\n\n#* <<.word Contain>> hace que la imagen cambie su tamaño para ajustarse a los bordes de la página, lo que puede producir deformaciones en la imagen según sean sus dimensiones (p.ej, una imagen cuadrada se estirará horizontalmente de forma desproporcionada a su altura para encajar en una pantalla rectangular panorámica)\n\nDe forma complementaria, puede ser necesario cambiar la <<.controlpanel-tab Palette>> de colores para mantener el nivel de legibilidad de la barra lateral. "
  },
  {
    "path": "editions/es-ES/tiddlers/Sharing_a_TiddlyWiki_on_Dropbox.tid",
    "content": "caption: TiddlyWiki en Dropbox\ncreated: 20140122085818089\nes-title: Compartir un TiddlyWiki en Dropbox\nmodified: 20160417162424439\ntags: Learning\ntitle: Sharing a TiddlyWiki on Dropbox\ntype: text/vnd.tiddlywiki\n\nPuedes trabajar en un TiddlyWiki en Dropbox y publicar una URL que cualquiera puede ver en vista de sólo lectura.\n\n#Guarda el TiddlyWiki en tu carpeta de Dropbox\n\n# Selecciona la opción de Dropbox ''Copiar enlace de Dropbox'' para tener una URL pública del archivo\n\n#* En el sitio web de Dropbox se hace haciendo clic sobre el botón ''Compartir'' que aparece al pasar el ratón por encima del archivo. Además de obtener el enlace público al documento (cualquiera que tenga el enlace podrá verlo), puedes decidir limitar qué usuarios tienen acceso al documento, o ponerle caducidad al enlace. Dropbox también añade la opción de copiar el enlace público al menú contextual (clic con el botón derecho sobre el archivo) en sus ediciones de escritorio para OS X, Windows y Linux. \n\n#> La URL generada por Dropbox tiene este formato:\n\n#> `https://www.dropbox.com/s/<blablablaincomprensible>/mi_archivo.html`\n\n# Cuidadosamente modifica la URL, conservando el blablablaincomprensible, así:\n\n#> `https://dl.dropboxusercontent.com/s/<blablablaincomprensible>/mi_archivo.html`\n\nEl resultado es una URL \"secreta\" que puedes enviar a otros para que vean el documento.\n\n''Nota'': Si compartes la URL sin modificar, aquel que la reciba verá el archivo en la interfaz online de Dropbox, no verá el archivo abierto. \n\n----\n\nPara ayudarte a modificar la URL pública de dropbox, cópiala aquí y así obtendrás la nueva URL secreta:\n\n<$edit-text tiddler=\"$:/temp/dropboxurl\" default=\"https://www.dropbox.com/s/<blablabla>/mi_archivo.html\" tag=\"input\" type=\"text\" size=\"60\"/>\n\n<$macrocall $name=\"dropbox-url\" url={{$:/temp/dropboxurl}}/>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Sharing_your_tiddlers_with_others.tid",
    "content": "caption: Compartir Tiddlers\ncreated: 20140908163900000\nes-title: Compartir Tiddlers con los demás\nmodified: 20160412163859576\ntags: Learning\ntitle: Sharing your tiddlers with others\ntype: text/vnd.tiddlywiki\n\nHay muchas formas de compartir tiddlers:\n\n*Puedes enviar un ~Tiddlywiki por mail.\n\n*Puedes publicarlo online y enviar un enlace... \n\n**a todo el archivo (URL del archivo),\n\n**a un tiddler específico (enlace que llamamos [[PermaLink|PermaLinks]]),\n\n**a una serie concreta de tiddlers (que llamamos PermaView)\n\n*Puedes //robar// tiddlers de un ~TiddlyWiki que alguien haya publicado por ahí y, simplemente, importarlos al tuyo, arrastrándolos con el ratón:\n\n**Abre tu ~TiddlyWiki en el navegador, en otra pestaña o en una nueva ventana.\n\n**Busca un enlace al tiddler que te interesa\n\n**Haz clic con el botón izquierdo del ratón y mantenlo presionado\n\n**Arrastra el enlace a la ventana o pestaña en la que tienes tu ~TiddlyWIki hasta que aparezca una barra en la parte superior de la pantalla que indica que tu ~TiddlyWiki está listo para recibirlo.\n\n**Al soltar el botón, aparecerá un tiddler pidiéndote que confirmes la importación.*\n\n*Puedes [[compartirlo en Dropbox|Sharing a TiddlyWiki on Dropbox]]\n* Puedes [[exportar tiddlers|How to export tiddlers]] a una gran variedad de formatos: HTML estático, CSV..."
  },
  {
    "path": "editions/es-ES/tiddlers/Signing_the_Contributor_License_Agreement.tid",
    "content": "caption: CLA - Cómo firmar\ncreated: 20150630205653005\nes-title: Cómo firmar el Acuerdo de licencia\nmodified: 20160413172711483\ntags: \ntitle: Signing the Contributor License Agreement\ntype: text/vnd.tiddlywiki\n\nCrea un //pull request// en GitHub para añadir tu nombre a `cla-individual.md` o `cla-entity.md`, según corresponda si eres persona física o fiscal, con la fecha en formato YYYY/MM/DD.\n\n''paso a paso''\n\n# Según seas persona física o fiscal, ve a  \n#*[[licenses/CLA-individual|https://github.com/TiddlyWiki/TiddlyWiki5/tree/master/licenses/cla-individual.md]] o a\n\n#*[[licenses/CLA-entity|https://github.com/TiddlyWiki/TiddlyWiki5/tree/master/licenses/cla-entity.md]]\n\n#Haz clic en el botón ''Edit'' arriba a la derecha (al hacerlo se creará un fork del repositorio para que puedas editar el archivo)\n\n# Añade tu nombre al final del documento\n\n#* P. Ej.: `Jeremy Ruston, @Jermolene, 2011/11/22`\n\n# Bajo el cuadro de edición del documento, debieras ver otro más pequeño, con el título ''Propose file change''\n\n# Escribe un título que explique de qué cambio se trata (p. ej.: \"signing the CLA\")\n\n# Haz clic en el botón verde que dice ''Propose file change''\n\n# En la página siguiente, haz clic en el botón verde que dice ''Create pull request''\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Simple_Zork-like_Game_by_Jed_Carty.tid",
    "content": "caption: \"Simple Zork-like Game\", de Jed Carty\ncreated: 20141118143636664\nes-title: \"Simple Zork-like Game\", de Jed Carty\nmodified: 20160417101152125\ntags: Examples\ntitle: Simple Zork-like Game by Jed Carty\ntype: text/vnd.tiddlywiki\nurl: http://zorklike.tiddlyspot.com\n\nJuego sencillo, construido en TiddlyWiki, presentado en \nA simple game built with TiddlyWiki, presentado en [[este post|https://groups.google.com/d/topic/tiddlywiki/4aRpZht1vOs/discussion]].\n\n{{!!url}}\n\n<<<\nQuise ver si era posible hacer algún tipo de juego usando sólo el núcleo de TiddlyWiki, sin plugins ni JavaScript. Hice una versión muy esquemática de juego de ficción al estilo de Zork. Es lo más sencillo que se puede hacer y que se pueda llamar juego, pero puede que le añada cosas más adelante. Lo hice en la versión 5.1.5 prerelease, porque el widget action-setfield ahorra mucho tiempo de definir macros.\n\nUna de las finalidades es no usar nada más que lo que contiene el núcleo de ~TiddlyWiki, tal cual: sin usar JavaScript ni plugin alguno.\n<<<\n"
  },
  {
    "path": "editions/es-ES/tiddlers/SingleFileApplication.tid",
    "content": "caption: Archivo único\ncreated: 20130822174000000\nes-title: Aplicación de archivo único\nmodified: 20160429055855664\ntags: Definitions\ntitle: SingleFileApplication\ntype: text/vnd.tiddlywiki\n\nUna <<.def \"aplicación de archivo único\">> es una en la que todos sus recursos se presentan en un único archivo estático. Esto significa que puede descargarse y usarse offline sin perder funcionalidad. Del mismo modo puede alojarse en casi cualquier tipo de servidor web.\n\n~TiddlyWiki es un caso particular de aplicación de archivo único porque guarda sus datos en sí mismo y es capaz, además, de guardar cambios en sí mismo, lo que también lo convierte en un curioso caso de [[quine|Quine]] con aplicaciones prácticas.\n\nPor definición, una aplicación de archivo único lo es también de [[página única|SinglePageApplication]], pero lo contrario no siempre es del todo cierto.\n\n"
  },
  {
    "path": "editions/es-ES/tiddlers/SinglePageApplication.tid",
    "content": "caption: Página única\ncreated: 20130822173900000\nes-title: Aplicación de página única\nmodified: 20160429055921886\ntags: Definitions\ntitle: SinglePageApplication\ntype: text/vnd.tiddlywiki\n\nTal como lo define [[WIkipedia|https://es.wikipedia.org/wiki/Single-page_application]], una <<.def \"aplicación de página única\">> es una que cabe en una sola página con el propósito de dar una experiencia más fluida a los usuarios, que carga dinámicamente contenido adicional a medida que el usuario navega por el sitio.\n\nEs frecuente que las aplicaciones de página única se diseñen cuidadosamente para ocultar su naturaleza, de modo que su apariencia y funcionamiento sea la de una página estática común, respetando la barra de dirección y los controles de navegación adelante y atrás. \n\nDe manera inusual, TiddlyWiki es también una aplicación de [[archivo único|SingleFileApplication]].\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Some_of_the_things_you_can_do_with_TiddlyWiki.tid",
    "content": "caption: Cosas que puedes hacer\ncreated: 20140904090300000\nes-title: Varias de las muchas cosas que puedes hacer con TiddlyWiki\nmodified: 20160605050204409\ntags: HelloThere\ntitle: Some of the things you can do with TiddlyWiki\ntype: text/vnd.tiddlywiki\n\n* Tomar notas y usar etiquetas y enlaces para formar relaciones entre ellas\n\n* Organizarte usando pestañas, solapas, tablas, listas e índices \n\n* Organizar tus páginas web favoritas, como en [[este ejemplo|http://giffmex.org/experiments/tidmarks.html]]\n\n* Llevar el control de tareas y reuniones y organizarlos con múltiples etiquetas (mira nuestro sencillo ejemplo de [[administrador de tareas|TaskManagementExample]]\n\n* Hacer inventario de absolutamente todo: de tus recetas, tu biblioteca, tus contactos, tu colección de música ...etc.\n\n* Crear un blog o página web personal\n\n* Escribir un libro\n\n* Organizar tus imágenes en galerías (mira un sencillo ejemplo de [[hoja de contactos|ImageGallery Example]]\n\n* Compartir con otros la información de tu ~TiddlyWiki, bien como archivo publicado online, como adjunto en un correo, como documento de tiddler individual o como enlace a un tiddler específico publicado online. Intenta arrastrar un tiddler de un ~TiddlyWiki a otro y verás qué ocurre)\n\n* Bocetar sobre una imagen (edita [[Motovun Jack.jpg]] y dibuja con el ratón sobre la imagen para ver qué pasa)\n\n* Usar elementos web habituales, como las llamadas //lightboxes//. (MIra un ejemplo pulsando el botón que aparece en SampleWizard)\n\n* Crear una presentación de diapositivas\n\n* Preparar toda una base de conocimientos, local u online con un archivo ~TiddlyWiki que enlace a otros. Aquí hay un [[ejemplo en castellano|http://recursos.giffmex.org]]\n\n* Preparar una presentación visual de datos, usando tiddlers como fuente de datos. Un buen ejemplo lo tienes [[en esta página| https://tiddlywiki.com/plugins/tiddlywiki/d3/]]\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Spelling.tid",
    "content": "caption: Ortografía\ncreated: 20150110182900000\nes-title: Ortografía\nmodified: 20160418162314298\ntags: [[Improving TiddlyWiki Documentation]]\ntitle: Spelling\ntype: text/vnd.tiddlywiki\n\nAl ser de origen británico, ~TiddlyWiki prefiere, para su documentación en inglés, el [[uso ortográfico británico frente al americano |http://en.wikipedia.org/wiki/American_and_British_English_spelling_differences]].\n\nPor ese motivo, palabras como <<.word colour>> siguen la norma británica, salvo en aquellos casos en que por motivos técnicos es obligado el uso de la norma americana (p.ej., código en CSS o JavaScript).\n\nEn esta edición en castellano, nos remitimos al [[uso ortográfico y estilístico peninsular|http://www.wikilengua.org/index.php/Portada]], a la vez que invitamos a los usuarios hispanohablantes del resto de países a contribuir con este proyecto aportando el material que consideren necesario para que ~TiddlyWiki y su documentación se adapte a la rica variedad de dialectos de nuestra lengua.\n\nFuera de eso, los acrónimos técnicos estándar se escriben en mayúscula y sin puntos: <<.word HTML>>\n\nConviene evitar abreviar arbitrariamente palabras y frases, aunque las siguientes son aceptables:\n\n|!Abreviatura |!Significado |!Observaciones |\n|p.ej. |por ejemplo |punto detrás de cada letra, aunque le sigan coma o dos puntos |\n|i.e. |esto es, es decir, |punto detrás de cada letra |\n|...etc |etcétera |puntos suspensivos delante y sin punto detrás |\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Structuring_TiddlyWiki.tid",
    "content": "caption: Estructurar ~TiddlyWiki\ncreated: 20131128090536894\nes-title: Estructurar TiddlyWiki\nmodified: 20160422205446418\ntags: [[Working with TiddlyWiki]]\ntitle: Structuring TiddlyWiki\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki5 proporciona varias herramientas útiles para estructurar información en forma de  [[tiddlers|Tiddlers]] y estructurar las diferentes relaciones que se establecen entre ellos:\n\n* [[Enlaces|TiddlerLinks]]\n* [[Etiquetas|Tagging]]\n* [[Listas|Title List]]\n* [[Tiddlers de datos|DataTiddlers]]\n"
  },
  {
    "path": "editions/es-ES/tiddlers/TW2Parser_Plugin.tid",
    "content": "caption: Intérprete TW2\ncreated: 20160107223340750\nes-title: Intérprete TW2\nlist: \nmodified: 20160504142710275\ntags: [[Plugin Editions]]\ntitle: TW2Parser Plugin\ntype: text/vnd.tiddlywiki\n\nEste es un plugin experimental que añade la funcionalidad de mostrar WikiText escrito para la primera versión <<.word Classic>> de ~TiddlyWiki.\n\nEstá disponible en: https://tiddlywiki.com/plugins/tiddlywiki/tw2parser/\n"
  },
  {
    "path": "editions/es-ES/tiddlers/TagTiddlers.tid",
    "content": "caption: ~TagTiddlers\ncreated: 20141228094500000\nes-title: Tiddlers etiqueta\nmodified: 20160426090824254\ntags: Tagging\ntitle: TagTiddlers\ntype: text/vnd.tiddlywiki\n\nUn <<.def ~TagTiddler>> o <<.word \"tiddler etiqueta\">> es un tiddler cuyo título se usa para etiquetar a otros.\n\nLa pestaña <<.info-tab Tagging>> del InfoPanel muestra qué tiddlers usan el título del actual como etiqueta. \n\nSe pueden usar etiquetas sin correspondencia con un ~TagTiddler."
  },
  {
    "path": "editions/es-ES/tiddlers/Tagging.tid",
    "content": "caption: Etiquetas\ncreated: 20140904075400000\nes-title: Organizarse con etiquetas\nmodified: 20160414162409272\ntags: [[Working with TiddlyWiki]] Concepts\ntitle: Tagging\ntype: text/vnd.tiddlywiki\n\nPoner etiquetas es una forma de organizar tiddlers en categorías.\n\nPor ejemplo, si tuvieras una serie de tiddlers que representa a un grupo de gente que conoces, podrías etiquetarlos como ''amigo'', ''familiar'', ''colega''...etc, para indicar tu relación con ellos.\n\nUna etiqueta es, de hecho, un tiddler (o un tiddler en potencia) y también puede tener sus propias etiquetas. Además puedes añadir cualquier número de etiquetas a un mismo tiddler.\n\nEn [[Crear y editar tiddlers |Creating and editing tiddlers]] te decimos cómo etiquetar tiddlers.\n\nAl etiquetar tiddlers, puedes ver, buscar y organizar la información de múltiples maneras:\n\n* Haciendo clic en las píldoras de colores de un tiddler tienes acceso inmediato a cualquiera de los tiddlers que tienen misma etiqueta, así como al tiddler que representa esa etiqueta y que contiene, en forma de índice, una lista de todos esos tiddlers etiquetados igual.\n\n* Si un tiddler sirve como etiqueta, la pestaña ''Etiquetado'' en el InfoPanel te mostrará qué tiddlers son los que llevan el título de ese tiddler como etiqueta.\n\n* La pestaña ''Más'' de la barra lateral presenta una vista general, organizada por solapas, que te permite acceder a todos los tiddlers etiquetados.\n\n* Puedes usar [[filtros |Filters]] para crear listas de tiddlers basadas en sus etiquetas. Puedes mostrar cualquier combinación de [[campos|TiddlerFields]] de esos tiddlers. Por ejemplo, puedes confeccionar un glosario haciendo una lista de los campos \"título\" y \"texto\" de todos los tiddlers con la etiqueta \"Glosario\". Tales listas pueden formatearse como prefieras con viñetas, números, o separadas por comas.\n\n* Hay un número de etiquetas especiales ''de sistema'' que controlan tanto el layout de los tiddlers, como el de toda la página. Más información en [[Diseño de tiddlers y de página|Page and tiddler layout customisation]]\n\nHay un par más de cosas que se pueden hacer con etiquetas:\n\n!!Ponerles color e icono\n\nSe puede usar el [[gestor de etiquetas|$:/TagManager]] de la pestaña ''Más'' de la barra lateral para cambiarles el color o para añadirles un icono.\n\n* Para cambiar el color, haz clic en el botón de la columna ''Color'' y  selecciona uno nuevo en la rueda. También puedes hacer clic en el icono de la columna ''Información'' e introducir un valor CSS en el campo ''Color''\n\n* Para añadir un icono a la etiqueta, haz clic en el botón {{$:/core/images/down-arrow}} de la columna ''Icono'' y selecciona uno de entre los disponibles. También, si sabes el nombre del tiddler que contiene el icono que quieres usar, puedes introducirlo directamente en el campo correspondiente de la columna ''Información''\n\n* To change the icon, click the {{$:/core/images/down-arrow}} button in the ''Icon'' column and choose from the list of available icons\n\n!! Cambiar el orden de etiquetado\n\nPor defecto, los tiddlers se muestran en orden alfabético.\n\nSi quieres cambiarlo, añade el campo <<.flink ListField>> al tiddler y como valor enumera los tiddlers según  el orden que quieras que tengan en la [[lista|Title List]].\n\nEl campo ''list'' no necesita enumerarlos a todos. En [[Orden de los tiddlers etiquetados|Order of Tagged Tiddlers]] se especifican más concretamente las reglas que sigue ~TiddlyWiki para ordenarlos.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/TaskManagementExample.tid",
    "content": "caption: Administración de tareas\ncreated: 20130825213300000\nes-title: Ejemplo de administración de tareas\nmodified: 20160416115204535\ntags: Learning\ntitle: TaskManagementExample\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki5 sirve también como sencillo sistema de administración de tareas, sin necesidad de mayores complicaciones. La idea consiste en etiquetar las tareas como `task`, de modo que una vez hechas se etiqueten también como `done`. Así resulta bastante sencillo generar listas de tareas. \n\nAquí tienes un ejemplo:\n\n! Tareas pendientes\n\n<$list filter=\"[!has[draft.of]tag[task]!tag[done]sort[created]]\">\n\n<$checkbox tag=\"done\"> <$link to={{!!title}}><$view field=\"caption\"/></$link></$checkbox>\n\n</$list>\n\n! Tareas completadas\n\n<$list filter=\"[!has[draft.of]tag[task]tag[done]sort[created]]\">\n\n<$checkbox tag=\"done\"> ~~<$link to={{!!title}}><$view field=\"caption\"/></$link>~~</$checkbox>\n\n</$list>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Technical_Prose_Style.tid",
    "content": "caption: Estilo: Redacción técnica\ncreated: 20150110182900000\nes-title: Estilo de redacción técnica\nmodified: 20160419090557219\ntags: [[Improving TiddlyWiki Documentation]]\ntitle: Technical Prose Style\ntype: text/vnd.tiddlywiki\n\nAl redactar [[material didáctico|Instruction Tiddlers]], empieza por planificar la información que quieres presentar como un itinerario: debe ser una progresión sencilla, lógica y directa de ideas, sin retrocesos ni saltos. Aplica este enfoque incluso en frases sueltas, de modo que el discurso vaya de la causa al efecto y de lo viejo conocido a lo nuevo desconocido.\n\nUsa frases cortas y sencillas. Una frase en estilo técnico y claro raramente contiene más de una idea, por eso se evita el uso de paréntesis. De igual manera, haz que la estructura de los párrafos sea sencilla. Una presentación lisa y llana suele ser más fácil de comprender que una una exposición jerarquizada de conceptos.\n\nA menudo se puede simplificar una frase sin necesidad de cambiar su significado, tanto como para ajustar su vocabulario o estructura gramatical. <<.word \"Se realiza la ejecución de la macro\">> sólo significa <<.word \"Macro en ejecución\">>. <<.word \"Tus expectativas podrían ser...\">> es lo mismo que <<.word \"puedes esperar que...\">>.\n\nUsa preferentemente la voz activa: <<.word \"Fulano crea un tiddler\">> es mejor que <<.word \"un tiddler es creado por Fulano\">> o <<.word \"se crea un tiddler por Fulano\">>. \nEl uso de oraciones pasivas o impersonales puede ser útil cuando se quiere que el lector se centre en una acción o en su resultado: <<.word \"se crea un tiddler\">>, pero en general es más claro partir de una causa y explicar su efecto y decir algo del estilo de <<.word \"esta acción crea un tiddler\">>, de la forma más natural y sencilla posible.\n\nEn la documentación generalmente se presentan conceptos paralelos, bien por su parecido, bien por su diferencia. Al lector puede serle más fácil comprenderlo si se usan las mismas frases o la misma estructura de exposición, pero debe de hacerse de manera equilibrada para que no resulte monótono.\n\nSon preferibles las instrucciones claras y precisas a una larga e intrincada explicación. Si algo tiene nombre, úsalo. Si no lo tiene, ponlo en un tiddler.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Ten_reasons_to_switch_to_TiddlyWiki.tid",
    "content": "caption: Diez motivos para cambiar\ncreated: 20140904085700000\nes-title: Diez razones para cambiar a TiddlyWiki\nmodified: 20160416063351852\ntags: HelloThere\ntitle: Ten reasons to switch to TiddlyWiki\ntype: text/vnd.tiddlywiki\n\n@@.tc-double-spaced-list\n\n# Con ~TiddlyWiki puedes organizar tus notas a tu manera, no a la suya. Tus notas se adaptan a tu forma de pensar, en lugar de ponerte un corsé estructurado jerárquicamente en cuadernos y pestañas\n\n# El enfoque no linear de~TiddlyWiki's te hará ver tu información de formas nuevas y más útiles\n\n# Encontrar tus notas en ~TiddlyWiki es cosa de un segundo\n\n# Hay muchas maneras de personalizar y adaptar cada aspecto de ~TiddlyWiki\n\n# ~TiddlyWiki es libre y gratuito y es compatible, además, con cualquier plataforma. Funciona en cualquier navegador web y no necesitas comprar ningún programa ni pagar suscripción alguna para usarlo como se te antoje. \n\n# ~TiddlyWiki promueve el libre intercambio de información. Hay muchas formas de compartir información en ~TiddlyWiki\n\n# Con ~TiddlyWiki, tu información es tuya y sólo tuya y puedes guardarla donde te dé la gana: en el ordenador, en el móvil, en la tablet, en un pendrive, en Dropbox, en un servidor... Tú mandas.\n\n# ~TiddlyWiki cuenta con un número creciente de plugins, temas, widgets e idiomas en permanente desarrollo\n\n# La comunidad ~TiddlyWiki es amable y hará siempre lo que pueda para proporcionarte la ayuda que necesitas\n\n# Si además eres programador, encontrarás incluso más formas de jugar con ~TiddlyWiki, porque cuanto más aprendes de ~TiddlyWiki, más te diviertes con él. \n@@\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Text-Slicer_Edition.tid",
    "content": "caption: Cortatextos\ncreated: 20150718123139133\nes-title: Cortatextos\nmodified: 20160605040709346\ntags: Editions\ntitle: Text-Slicer Edition\ntype: text/vnd.tiddlywiki\n\nEl <<.def \" Cortatextos\">> es una edición especial que contiene herramientas para dividir largos textos en tiddlers individuales.\n\nhttps://tiddlywiki.com/editions/text-slicer/\n"
  },
  {
    "path": "editions/es-ES/tiddlers/The_First_Rule_of_Using_TiddlyWiki.tid",
    "content": "caption: Primera regla de uso\ncreated: 20140419132828051\nes-title: Primera regla al usar TiddlyWiki\nmodified: 20160421134758270\ntags: [[Working with TiddlyWiki]]\ntitle: The First Rule of Using TiddlyWiki\ntype: text/vnd.tiddlywiki\n\n!! Historias de terror\n\nCada tanto se cuentan en los grupos de discusión historias que parten el corazón sobre usuarios que por uno u otro motivo han perdido los datos guardados en TiddlyWiki:\n\n>Mi TiddlyWiki acaba de ser borrado por completo durante un cuelgue de Firefox cuando guardaba...\n\nhttps://groups.google.com/d/topic/tiddlywiki/oG2L7OXhUoI/discussion\n\n> La última vez que lo usé fue anoche, en casa, en mi ordenador con Windows 7. Le di a <<.button save>> para guardar la última entrada y se guardó via TiddlyFox. Expulsé el USB, llegué al trabajo esta mañana, enchufé el USB, metí la contraseña y, como se negaba a abrir, después de varios intentos busqué el archivo html de TW5. Fue entonces cuando me di cuenta de que el tamaño del archivo ya no es de 3Mb, sino de 80Kb. Me parece que lo he perdido todo.\n\nhttps://groups.google.com/d/topic/tiddlywiki/SXStDJ0ntGI/discussion\n\n¡Que no te pase a ti!!\n\n!!! La primera regla de uso de TiddlyWiki es:\n\n<p style=\"font-size:40pt;line-height:48pt;font-weight:700;color:red;\">\n¡¡Haz copia de seguridad!!\n</p>\n\nTiddlyWiki es un sistema altamente flexible y customizable que te pone firmemente a cargo de tus datos. En el desarrollo de TiddlyWiki se pone todo el cuidado posible para garantizar que es un lugar seguro donde guardar tus datos más preciados. Sin embargo y en última instancia, la responsibilidad de reducir el riesgo de pérdida de datos recae sobre sus usuarios.\n\nLa mejor manera de asegurarse de que tus datos están seguros es mediante un riguroso sistema de <<.word backup>> o copia de seguridad.\n\n*Usa servicios del estilo de Dropbox para tener siempre una copia de seguridad online. Dropbox tiene además una [[característica especial|https://www.dropbox.com/help/11]], que guarda y permite recuperar versiones anteriores de un archivo.\n\n* Haz copia de seguridad antes de actualizar TiddlyWiki a una nueva versión\n\n* Piensa siempre en cómo protegerte en el peor de los casos: ¿qué pasa si falla el USB o se rompe el disco duro? ¿Qué pasa si el ordenador se bloquea por un virus?\n\n* Actúa de manera defensiva y redundante: haz varias copias de seguridad y mantenlas en distintos sitios\n"
  },
  {
    "path": "editions/es-ES/tiddlers/TiddlerLinks.tid",
    "content": "caption: Enlaces\ncreated: 20130825202900000\nes-title: Enlaces - TiddlerLinks\nmodified: 20160414061639029\ntags: Concepts\ntitle: TiddlerLinks\ntype: text/vnd.tiddlywiki\n\nUn enlace es la región de un tiddler sobre la que se puede hacer clic para navegar a otro. El comportamiento de navegación lo determina el StoryView actual. La vista \"classic\" muestra la historia como una secuencia lineal de tiddlers.\n\nSi se mantiene pulsada la tecla ''Ctrl'' o ''command'' al hacer clic en un enlace, se abre el tiddler de destino, pero no se navega hasta él. Esta es una forma muy útil de //poner en cola// una serie de tiddlers para su lectura.\n\nLos enlaces o //links// son útiles para modelar relaciones orgánicas entre tiddlers y, más particularmente, para iterar la navegación entre tiddlers.\n\nEl [[Panel de información|InfoPanel]] muestra en la pestaña ''Referencias'' una lista de los links que //llegan// al tiddler.\n\nEn [[Filtros|Filters]] se pueden incluir los siguientes operadores para trabajar con enlaces:\n\n* `[links[]]` - devuelve el título de los tiddlers enlazados desde el tiddler o selección actual de tiddlers.\n\n* `[backlinks[]]` - devuelve el título de los tiddlers que enlazan con el tiddler o selección actual de tiddlers.\n\nTiddlyWiki5 modifica la apariencia de los enlaces para dar información adicional sobre el tipo de tiddler al que se enlaza:\n\n|!Descripción del link |!Apariencia |\n|A un tiddler existente |[[TalCual|TiddlerLinks]] |\n|A un tiddler que no existe (faltante) |[[TalCual|ATiddlerThatDoesntExist]] |\n|A un tiddler oculto que no ha sido anulado |[[TalCual|$:/core/copyright.txt]] |\n|A un tiddler oculto que ha sido anulado por un tiddler común  |[[TalCual|$:/SiteTitle]] |\n\nLos enlaces externos se muestran así: https://tiddlywiki.com/ o [[así|https://tiddlywiki.com/]].\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Tiddler_Structure.tid",
    "content": "caption: Estilo: Estructura de tiddlers\ncreated: 20150110183300000\nes-title: Estructura de tiddlers\nmodified: 20160418155732287\ntags: [[Improving TiddlyWiki Documentation]]\ntitle: Tiddler Structure\ntype: text/vnd.tiddlywiki\n\nConforme a nuestra [[filosofía|Philosophy of Tiddlers]], los tiddlers de la documentación son breves y están interrelacionados.\n\nCuando parece que un tiddler necesita subapartardos, es señal de que quizá convendría dividirlo en tiddlers más pequeños. Es razonable, sin embargo, que un tiddler [[de referencia|Reference Tiddlers]] vaya encabezado por una sección introductoria general, seguido de una serie de secciones.\n\nCoherencia terminológica es esencial para no confundir al lector. \n\nConsistencia tipográfica y de puntuación dan calidad profesional a la documentación. El uso de macros se recomienda por razones de consistencia del texto y de mantenimiento de futuras revisiones.\n\nSe aconseja el uso de listas numeradas para intrucciones paso-a-paso y el de viñetas para listas cuyo orden es arbitrario. Se prefiere el uso de listas de definición sobre el de listas con viñetas si cada elemento de la lista comienza con un término y dos puntos. En la medida de lo posible conviene evitar niveles excesivos de anidamiento de listas.\n\nConviene usar tablas cuando la información encaja naturalmente en tres o cuatro columnas y para listas de parámetros, atributos... etc \n\nLa documentación describe la realidad actual de ~TiddlyWiki y debe evitarse discutir futuras aspiraciones del proyecto.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Tiddler_Title_Policy.tid",
    "content": "caption: Estilo: Títulos\ncreated: 20150110183300000\nes-title: Estilo de los títulos\nmodified: 20160418153611550\ntags: [[Improving TiddlyWiki Documentation]]\ntitle: Tiddler Title Policy\ntype: text/vnd.tiddlywiki\n\nMuchos tiddlers de la documentación, especialmente [[los de referencia|Reference Tiddlers]], hacen referencia a un único concepto. Sus títulos debieran ser sintagmas nominales simples y claros como <<.tid \"List Widget\">>, <<.tid \"~TiddlerFields\">> o <<.tid \"Material de referencia\">>.\n\nEn la edición original inglesa, cada sustantivo del título se escribe con mayúscula, mientras que artículos, preposiciones y conjunciones se escriben con minúscula. Ej:<<.tid \"Ejemplo de Título de la Edición en Inglés\">>\n\nEn la presente edición en castellano, sólo lleva mayúscula la palabra inicial del título y el resto se escribe en minúscula y termina sin punto: <<.tid \"Ejemplo de título de la edición en castellano\">>\n\nLas etiquetas siguen también este mismo patrón.\n\nLos títulos de este tipo son en plural si se refieren a una categoría de elementos: ---Ej: <<.tid \"Atajos de teclado\">>---, ya que etiquetan tiddlers más específicos dentro de su categoría.\n\nCuando el objeto del título sea un concepto más que una categoría, se enuncia en singular. Ej:<<.tid \"List Widget\">>, <<.tid \"Operador de etiqueta\">>\n\nEn la edición inglesa, los títulos comienzan enunciando su parte más distintiva. Por ejemplo, los tiddlers que documentan operadores de filtro tienen títulos del estilo  <<.tid \"addprefix Operator\">>. De este modo, en teoría, el lector puede identificar rápidamente un tiddler particular en una lista de enlaces. \n\nEn la presente edición en castellano, sin embargo y por coherencia gramatical, los títulos se enuncian en el orden lógico y acostumbrado en nuestra lengua. El ejemplo anterior sería, por tanto: <<.tid \"Operador addprefix\">>. Nótese, sin embargo, lo siguiente:\n\n*Con el fin de mantener la integridad del código de ~TiddlyWiki y las referencias de su documentación, así como de facilitar futuras actualizaciones, estamos obligados a dejar los títulos de de la documentación original en inglés sin traducir. Esto, que podría ser un inconveniente, nos da la ventaja de poder explotar las funcionalidades de TiddlyWiki y así ofrecer al lector un doble juego de títulos para cada tiddler:\n\n** Un ''título completo'', que es el que corresponde a la traducción del título original, que se muestra en el encabezamiento de cada tiddler (en el presente: <<.tid \"Estilo de los títulos\">>)\n** Un ''título abreviado'', que es una descripción esquemática del contenido del tiddler, lo que resulta útil para identificar un tiddler en particular en una lista de enlaces o en el índice de la barra lateral (en el presente: <<.tid \"Estilo: Títulos\">>)\n\nAl redactar material de referencia debe evitarse que el título comience con artículo y en general debe evitarse el abuso de determinantes.\n\nEn anteriores ediciones, muchos títulos se escribían en CamelCase. Para hacerlos más legibles, se ha ido abandonando gradualmente esta práctica y se desaconseja su uso, salvo en casos como TiddlyWiki o JavaScript, ya que tal es su forma estándar. "
  },
  {
    "path": "editions/es-ES/tiddlers/Tiddlers.tid",
    "content": "created: 20130825213500000\nmodified: 20160412173931392\ntags: Concepts\ntitle: Tiddlers\ntype: text/vnd.tiddlywiki\n\nLos Tiddlers son las unidades fundamentales de información en TiddlyWiki.\n\nFuncionan mejor cuanto más pequeños son, de modo que puedan entretejerse más fácilmente de las más diferentes formas posibles.\n\nOtros sistemas tienen conceptos análogos con nombres genéricos como \"items\", \"entradas\", \"entidades\", \"nodos\" o \"records\". TiddlyWiki es de la opinión de que es preferible ser vagamente preciso a ser vagamente genérico; de ahí que nos guste «Tiddler», que en origen es una palabra coloquial inglesa, usada para referirse a un pez pequeño. \n\nInternamente, los tiddlers se componen de una lista de valores únicos llamados campos. El único campo obligatorio es `título`, pero los tiddlers útiles tienen también un campo `texto` y todos o algunos de los campos estándar que se muestran en TiddlerFields.\n\nEn TiddlyWiki, los tiddlers están por todas partes. Sirven para guardarlo todo, desde módulos en código de JavaScript, a ajustes y configuraciones asociadas a la interfaz de usuario.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/TiddlyDesktop.tid",
    "content": "caption: TiddlyDesktop\ncreated: 20140126125259638\nes-title: TiddlyDesktop\nmodified: 20160422202937418\ntags: Definitions Saving Platforms\ntitle: TiddlyDesktop\ntype: text/vnd.tiddlywiki\n\n~TiddlyDesktop es una aplicación de escritorio para trabajar con archivos de ~TiddlyWikii, tanto del veterano [[TiddlyWiki Classic|TiddlyWikiClassic]], como del nuevo TiddlyWiki5. Se puede instalar en ,Windows, Mac OS X o Linux. \n\nAquí hay un video de [[introducción a TiddlyDesktop|Introducing TiddlyDesktop Video]]\n\n! Instrucciones\n\n# Descarga la última versión de TiddlyDesktop de https://github.com/TiddlyWiki/TiddlyDesktop/releases\n\n# Ejecuta TiddlyDesktop\n\n# Usa el botón <<.def browse>> para abrir archivos de TiddlyWiki \n\n# Guarda los cambios como habitualmente\n\n! Fuente\n\n~TiddlyDesktop se basa en [[NW.js]], proyecto [[de código abierto|OpenSource]] y la fuente se encuentra en GitHub:\n\nhttps://github.com/TiddlyWiki/TiddlyDesktop/\n\nConsulta las [[versiones de TiddlyDesktop|TiddlyDesktop Releases]]\n"
  },
  {
    "path": "editions/es-ES/tiddlers/TiddlySpace.tid",
    "content": "caption: TiddlySpace\ncreated: 20130830084200000\nes-title: TiddlySpace\nmodified: 20160429051351375\ntags: Definitions\ntitle: TiddlySpace\ntype: text/vnd.tiddlywiki\n\nTiddlySpace es un entorno web para ~TiddlyWiki, construido desde TiddlyWeb.\n\nTiddlySpace fue originalmente esponsorizado por [[Osmosoft]] en [[BT]].\n"
  },
  {
    "path": "editions/es-ES/tiddlers/TiddlySpot.tid",
    "content": "caption: ~TiddlySpot\ncreated: 20160422203510605\nes-title: TiddlySpot\nmodified: 20160423054916462\ntitle: TiddlySpot\ntype: text/vnd.tiddlywiki\n\n~TiddlySpot es un servicio de alojamiento gratuito para documentos de TiddlyWiki hecho por Simon y Daniel Baird. La manera más sencilla de empezar a usarlo es registrarse en http://tiddlyspot.com. Por defecto muestra la última versión de [[TiddlyWiki Classic|TiddlyWikiClassic]], pero es totalmente compatible con [[TW5|TiddlyWiki5]]\n"
  },
  {
    "path": "editions/es-ES/tiddlers/TiddlyWeb.tid",
    "content": "caption: TiddlyWeb\ncreated: 20130830084100000\nes-title: TiddlyWeb\nmodified: 20160429051929031\ntags: Definitions\ntitle: TiddlyWeb\ntype: text/vnd.tiddlywiki\n\nTiddlyWeb es una aplicación de servidor que publica [[Tiddlers]] en la web:\n\nhttp://tiddlyweb.com/\n\nTiddlyWeb puede usarse para alojar wikis hechos en ~TiddlyWiki Classic  y TiddlyWiki5, de modo que los tiddlers individuales estén disponibles en una API HTTP flexible. \n\nTiddlyWeb fue originalmente esponsorizada por Osmosoft en BT, junto con TiddlySpace."
  },
  {
    "path": "editions/es-ES/tiddlers/TiddlyWiki.tid",
    "content": "created: 20130822170700000\nmodified: 20160412092500740\ntags: Concepts\ntitle: TiddlyWiki\ntype: text/vnd.tiddlywiki\n\n~TiddlyWiki es una potente herramienta interactiva para la manipulación de información compleja con estructura que no encaja fácilmente en las herramientas tradicionales, como hojas de cálculo o procesadores de texto.\n\n~TiddlyWiki está diseñado para adaptarse a tu forma de pensar y ayudarte a manejar todo aquello que no acaba de encajar. La [[idea fundamental |Philosophy of Tiddlers]] es que la información es más útil y está más a mano si la dividimos en unidades mínimas, semánticamente significativas --[[tiddlers|Tiddlers]]-- y le damos títulos que permitan  [[estructurarlas|Structuring TiddlyWiki]] mediante [[enlaces|TiddlerLinks]], [[etiquetas|Tagging]], [[listas|ListField]] y [[macros|Macros]].\n\nLos tiddlers se valen de una notación especial que llamamos WikiText para explotar, de forma sencilla, una amplia variedad de opciones de formato de texto y enlace hipertextual.  ~TiddlyWiki tiene como objetivo proporcionar una interfaz fluida de trabajo que permita agregar tiddlers y componer así narraciones más largas.\n\nLa gente adora ~TiddlyWIki. Primero, porque puede usarse tal cual, sin necesidad de complicadas infrastructuras de servidor y, porque al ser de [[código abierto|OpenSource]], brinda una libertad sin precedentes para que cualquiera pueda mantener su información más preciada bajo su propio control.\n\n~TiddlyWiki fue creado originalmente por JeremyRuston y es en la actualidad un próspero proyecto open source, con una animada [[comunidad|Community]] de desarrolladores independientes.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/TiddlyWiki5.tid",
    "content": "created: 20130825213600000\nmodified: 20160412165205300\ntags: Concepts\ntitle: TiddlyWiki5\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki5 es la nueva reencarnación de TiddlyWiki para los próximos 25 años. Es un wiki completamente interactivo, escrito en JavaScript, que puedes ejecutar localmente en el navegador o en un servidor, mediante [[Node.js]]."
  },
  {
    "path": "editions/es-ES/tiddlers/TiddlyWikiClassic.tid",
    "content": "created: 20131222152210279\nmodified: 20160416061337351\ntags: Definitions\ntitle: TiddlyWikiClassic\ntype: text/vnd.tiddlywiki\n\n\"~TiddlyWiki Classic\" se refiere a las versiones de TiddlyWiki anteriores a la 5.0, cuando se decidió reescribir ~TiddlyWiki por completo y empezando de cero.  \n\nTiddlyWiki Classic recibe aún mantenimiento y está disponible en:\n\nhttps://classic.tiddlywiki.com/\n\nMario Pietsch ha publicado una página que compara la  sintaxis y otras diferencias entre la versión [[Classic|TiddlyWikiClassic]] y la [[actual|TiddlyWiki5]]:\n\nhttp://compare-tw2-tw5.tiddlyspace.com\n"
  },
  {
    "path": "editions/es-ES/tiddlers/TiddlyWikiFolders.tid",
    "content": "caption: WikiFolders\ncreated: 20130825214200000\nes-title: WikiFolders\nmodified: 20160506092009086\ntags: [[TiddlyWiki on Node.js]]\ntitle: TiddlyWikiFolders\ntype: text/vnd.tiddlywiki\n\n[[Node.js|TiddlyWiki on Node.js]] soporta, además de wikis de archivo único, wikis estructurados en carpetas que llamamos <<.def ~WikiFolders>>. Dichas carpetas contienen, lógicamente, tiddlers y las distinguimos según el tipo de tiddlers que contengan.\n\n! ~WikiFolders y archivos\n\nLos ~WikiFolders contienen los siguientes archivos y carpetas:\n\n* <<.tid tiddlywiki.info>> - Archivo .JSON que contiene metadatos necesarios para construir el wiki\n\n* <<.place \\tiddlers>> - Carpeta que contiene los tiddlers que forman parte del contenido del wiki\n\n* <<.place \\plugins>> - Carpeta que contiene los diferentes [[plugins folders|PluginMechanism]] que se incluyen en el wiki\n\nSólo el archivo <<.em tiddlywiki.info>> es obligatoriamente necesario. Todas las demás carpetas son opcionales. \n\n!! Contenido del archivo <<.em tiddlywiki.info>>\n\nEste archivo contiene un objeto JSON que consta de los siguientes campos:\n\n* <<.field plugins>> - nombres de los plugins que se incluyen en el wiki\n\n* <<.field themes>> - nombres de los temas que se incluyen en el wiki\n\n* <<.field languages>> - nombres de los idiomas que se incluyen en el wiki\n\n* <<.field includeWikis>> - referencias a carpetas externas que se incluyen en el wiki\n\n* <<.field build>> - hashmap de targets de compilación, definidos como símbolos de comandos. (ver BuildCommand para más información)\n\n* <<.field config>> - hashmap opcional de opciones de configuración\n\n!!! <<.def includeWikis>>\n\nLos valores de <<.field includeWikis>> pueden ser bien una cadena con la ruta relativa al wiki, o un objeto con los siguientes campos:\n\n* <<.field path>> - ruta relativa al ~WikiFolder\n\n* <<.field read-only>> - con el valor <<.em true>>, previene la modificación de los tiddlers del wiki que se incluye. Toda modificación que se haga en estos se guardará en el directorio definido como  <<.em default-tiddler-location>>, que se describe más abajo\n\n!!! <<.def build>>\n\nLos tiddlers objeto de este comando cuyo origen no se defina en el archivo <<.em tiddlywiki.info>> se combinarán con los del wiki actual.\n\n!!! <<.def config>>\n\nLas opciones de configuración incluyen:\n\n* <<.em default-tiddler-location>> - ruta relativa a la localización por defecto de la carpeta en que se almacenan los tiddlers nuevos. \n\n* <<.em retain-original-tiddler-path>> - si se define como <<.em true>>, el servidor generará el tiddler <<.tid ~$:/config/OriginalTiddlerPaths>>, que contiene la ruta original de cada tiddler contenido en el wiki. \n\n!!! Ejemplo:\n\n```\n{\n\t\"plugins\": [\n\t\t\"tiddlywiki/tiddlyweb\",\n\t\t\"tiddlywiki/filesystem\"\n\t],\n\t\"includeWikis\": [\n\t\t\"../tw5.com\"\n\t],\n\t\"build\": {\n\t\t\"index\": [\n\t\t\t\"--rendertiddler\",\"$:/core/save/all\",\"index.html\",\"text/plain\"],\n\t\t\"favicon\": [\n\t\t\t\"--savetiddler\",\"$:/favicon.ico\",\"favicon.ico\",\n\t\t\t\"--savetiddler\",\"$:/green_favicon.ico\",\"static/favicon.ico\"]\n\t},\n\t\"config\": {\n\t\t\"retain-original-tiddler-path\": true\t\n\t}\n}\n```\n\n!! Contenido de la carpeta <<.em tiddlers>> \n\nToddos los archivos <<.em .tid>> de la carpeta <<.em tiddlers>> se leen cuando se genera el wiki. Las subcarpetas se escanean recursivamente en busca de cualquier otro archivo <<.em .tid>> durante el proceso.\n\nLos tiddlers nuevos se guardan en la raíz de la carpeta <<.em tiddlers>>, salvo que se [[configure|Customizing Tiddler File Naming]] de otro modo.\n\nLas subcarpetas de <<.em tiddlers>> también pueden contener un archivo JSON que puentee el proceso por defecto para esa carpeta. En este ejemplo se ilustra el formato de este tipo de archivos:\n\n```\n{\n\t\"tiddlers\": [\n\t\t{\n\t\t\t\"file\": \"d3.min.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/d3/d3.js\",\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t},\n\t\t\t\"prefix\": \"var d3;if($tw.browser){\\n\",\n\t\t\t\"suffix\": \"}\\nexports.d3 = d3;\\n\"\n\t\t},\n\t\t{\n\t\t\t\"file\": \"cloud/d3.layout.cloud.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/d3/d3.layout.cloud.js\",\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"file\": \"local/mytiddler.tid\",\n\t\t\t\"isTiddlerFile\": true,\n\t\t\t\"fields\": {\n\t\t\t\t\"title\": \"A different title\"\n\t\t\t}\n\t\t}\n\t],\n\t\"directories\": [\n\t\t\"../../mytiddlers/store\"\n\t]\n}\n```\nUn elemento JSON es un objeto con la propiedad <<.em tiddlers>>, que a su vez contiene una matriz de información sobre cada tiddler que se carga en el wiki. Esta información es:\n\n\n* Ruta, absoluta o relativa, al archivo que se incluye, bien como \n\n** `file`: nombre del archivo que contiene el tiddler\n\n** `isTiddlerFile`: si su valor es `true`, se extraen los tiddlers de su contenido. En caso contrario, se asigna el contenido en bruto del archivo al campo <<.field text>>, sin interpretación alguna. \n\n* `fields`: objet que contiene campos que puentean los proporcionados por el archivo\n\n* `prefix` & `suffix`: (opcional) especifica cadenas usadas como prefijo o sufijo del del contenido de un tiddler\n\nLa propiedad <<.em directories>> permite definir una lista de directorios de los que se cargarán recursivamente los tiddlers"
  },
  {
    "path": "editions/es-ES/tiddlers/TiddlyWiki_Hangouts.tid",
    "content": "caption: VIdeo: \"Hangouts\"\ncreated: 20130823091700000\nes-title: \"Hangouts\" de TiddlyWiki\nmodified: 20160421094239570\ntags: Community Videos\ntitle: TiddlyWiki Hangouts\ntype: text/vnd.tiddlywiki\n\nLa comunidad TiddlyWiki mantiene reuniones periódicas online con Google Hangouts. Normalmente, los martes, de 17:00 a 19:00 hs (hora central europea). \n\nDe todos modos, se anuncian debidamente en el [[Grupo de TiddlyWiki|https://groups.google.com/d/forum/tiddlywiki]] y en la cuenta [[@TiddlyWiki|https://twitter.com/TiddlyWiki]] de Twitter.\n\nLos últimos //Hangouts// están archivados en este canal de ~YouTube:\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/videoseries?list=PLVT_2PPd-1p34gGCQ5qpwC8QdykxVAI3u\" frameborder=\"0\" allowfullscreen></iframe>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/TiddlyWiki_Video_Tutorials_by_Francis_Meetze.tid",
    "content": "caption: Videotutoriales\ncreated: 20150926170842677\nes-title: Tutoriales en video de Francis Meetze\nmodified: 20160416055058359\ntags: Resources\ntitle: TiddlyWiki Video Tutorials by Francis Meetze\ntype: text/vnd.tiddlywiki\nurl: https://www.youtube.com/playlist?list=PLzZCajspPU_UjFn0uy-J9URz0LP4zhxRK\n\nExhaustiva y recomendada serie de tutoriales para empezar a moverte cómodamente con TiddlyWiki. \n{{!!url}}\n\n<<<\nEstos tutoriales están pensados para darte las nociones básicas que te permitan empezar de inmediato a usar ~TiddlyWiki. Echamos una rápida mirada a la tecnología detrás de ~TiddlyWiki y a cómo instalarlo y crear tu primer Tiddler. \n<<<\n"
  },
  {
    "path": "editions/es-ES/tiddlers/TiddlyWiki_in_the_Sky_for_TiddlyWeb.tid",
    "content": "caption: TiddlyWiki in the Sky\ncreated: 20131129100250644\nes-title: TiddlyWiki in the Sky para TiddlyWeb\nmodified: 20160506043944286\ntags: [[Hosting your TiddlyWiki on the web]] Platforms\ntitle: TiddlyWiki in the Sky for TiddlyWeb\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki in the Sky para TiddlyWeb permite sincronizar contenidos entre ~TiddlyWiki en el navegador y el servidor de TiddlyWeb (o TiddlySpace). Sus características incluyen:\n\n* Carga diferida\n\n* Sincronización de dos vías entre navegador y servidor\n\n** La sincronización del servidor se realiza por <<.word polling>> (cada 60 segundos)\n\n* <<.word Throttling>>, para que los tiddlers que cambian rápidamente no saturen el servidor\n\nPara probar ~TiddlyWiki in the Sky para TiddlyWeb:\n\n# Crea, si es necesario, una cuenta en http://tiddlyspace.com/\n\n# Crea un nuevo espacio\n\n# Incluye el espacio `tw5tiddlyweb`\n\n# Visita `http://<mi_espacio>.tiddlyspace.com/tw5`\n"
  },
  {
    "path": "editions/es-ES/tiddlers/TiddlyWiki_on_Firefox_for_Android_Video.tid",
    "content": "caption: Video: TiddlyWIki en Firefox Android\ncreated: 20140104134947485\nes-title: Video sobre TiddlyWiki en Firefox para Android\nmodified: 20160426085737997\ntags: Videos [[Saving with TiddlyFox]]\ntitle: TiddlyWiki on Firefox for Android Video\ntype: text/vnd.tiddlywiki\n\nEste breve //screencast// muestra cómo configurar Firefox para Android para guardar cambios en TiddlyWiki:\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/iikkv9orGGI\" frameborder=\"0\" allowfullscreen></iframe>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/TiddlyWiki_on_Node.js.tid",
    "content": "caption: Node.js\ncreated: 20160506044956173\nes-title: TiddlyWiki en Node.js\nmodified: 20160506045028538\ntags: Platforms\ntitle: TiddlyWiki on Node.js\ntype: text/vnd.tiddlywiki\n\nEjecutar ~TiddlyWiki en [[Node.js]] tiene una serie de importantes ventajas sobre la versión de archivo único:\n\n* Puedes editar contenidos en cualquier navegador compatible con HTML5 browser, incluso en smartphones y tablets.\n\n* Los tiddlers individuales se guardan como archivos separados, que puedes organizar a tu gusto\n\n* Puedes construir múltiples wikis con diferentes combinaciones de contenido único y compartido\n\nPara mayor información, consulta:\n\n* [[Instalación en Node.js|Installing TiddlyWiki on Node.js]]\n* [[Uso en Node.js|Using TiddlyWiki on Node.js]]\n* [[Actualización en Node.js|Upgrading TiddlyWiki on Node.js]]\n"
  },
  {
    "path": "editions/es-ES/tiddlers/TitleField.tid",
    "content": "created: 20160422101108721\nmodified: 20160422101121578\ntags: \ntitle: TitleField\ntype: text/vnd.tiddlywiki\n\nsdfasdfasdfadf"
  },
  {
    "path": "editions/es-ES/tiddlers/Title_List.tid",
    "content": "caption: Listas\ncreated: 20150117152418000\nes-title: Listas\nmodified: 20160415042010368\ntags: Concepts\ntitle: Title List\ntype: text/vnd.tiddlywiki\n\nUna <<.def \"lista\">> es una línea de texto que presenta el título de uno o más tiddlers como una cadena de títulos separados por espacios.\n\nSi un título <<.em \"contiene\">> espacios, se enuncia con corchetes dobles:\n\n`EnMarcha [[Descubre TiddlyWiki]] Actualizaciones`\n\nLa función de creación de listas se usa en varios lugares, incluyendo PermaLinks y el campo [[lista|ListField]]\n\nSon, de hecho, la forma más simple de [[filtro|Filters]] y una de las maneras que hay de presentar una [[selección de títulos|Title Selection]].\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Title_Selection.tid",
    "content": "caption: Selección de títulos\ncreated: 20150117152418000\nes-title: Selección de títulos\nmodified: 20160419163955922\ntags: Concepts\ntitle: Title Selection\ntype: text/vnd.tiddlywiki\n\nUna <<.def \"selección de títulos\">> es una lista ordenada de títulos (o cadenas similares), en que cada elemento aparece sólo una vez.\n\nLa selección de títulos es importante en operaciones de [[búsqueda|Filters]]\n\nLa manera más sencilla de obtener una es escribiendo una [[lista|Title List]]."
  },
  {
    "path": "editions/es-ES/tiddlers/Tutorials.tid",
    "content": "caption: Tutoriales\ncreated: 20140908125300000\nes-title: Tutoriales\nmodified: 20160605054416164\ntags: Community\ntitle: Tutorials\ntype: text/vnd.tiddlywiki\n\nPáginas con tutoriales y consejos relacionados con ~TiddlyWiki.\n\nEnvía más tutoriales que encuentres para ampliar esta lista via [[GitHub|https://github.com/TiddlyWiki/TiddlyWiki5]] o [[Twitter|https://twitter.com/tiddlywiki]], o publícalas en el [[foro|https://talk.tiddlywiki.org/]]\n\n<div class=\"tc-link-info\">\n\n<$list filter=\"[tag[Tutorials]!sort[modified]]\">\n\n<div class=\"tc-link-info-item\">\n\n! <$link><$view field=\"title\"/></$link>\n\n<div class=\"tc-subtitle\">Posted <$view field=\"modified\" format=\"relativedate\"/></div>\n\n<$transclude/>\n\n</div>\n\n</$list>\n\n</div>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Typography.tid",
    "content": "caption: Tipografía\ncreated: 20141226192500000\nes-title: Estilo: Tipografía\nmodified: 20160418170133348\ntags: documenting\ntitle: Typography\ntype: text/vnd.tiddlywiki\n\nSe recomienda el uso de las [[macros de documentación|Documentation Macros]] para facilitar las futuras tareas de mantenimiento del texto frente a nuevos cambios y actualizaciones. \n\nSe recomienda precaución en el uso arbitrario de estilos directos de formato (''negrita'', //cursiva// ...etc). Si se puede usar una macro, conviene usarla. Si no existe la macro adecuada, se puede crear o, si no se sabe cómo, pedir su creación en el [[Foro de TiddlyWiki|https://talk.tiddlywiki.org/]].\n\nPor el mismo motivo, se aconseja el uso de acentos graves <code>&#96;...&#96;</code> para transcribir fragmentos de código y ~WikiText, pero no para nombres de cosas tales como campos, operadores, variables o widgets. Estas tienen su macro correspondiente.\n\nPara mantener cierto orden y evitar colisiones de código al usar distintos sistemas operativos:\n\n* Apóstrofos y comillas deben ser del tipo recto `'` `\"`\n\n* Las elipsis se señalan con tres puntos individuales `...`, en lugar de con <<.word \"puntos suspensivos\">> `…`.\n\n* Se recomienda evitar el uso de un único guión como signo de puntuación. En su lugar, debe usarse guión doble `--` --que ~TiddlyWiki interpreta como guión corto o <<.word en-dash>>--.\n\n*Los elementos de una lista o tabla llevan punto al final <<.em únicamente>> si se trata de frases completas. Si no es así, no llevan puntuación alguna.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Uninstalling_a_plugin.tid",
    "content": "caption: Desinstalar plugins\ncreated: 20160107222504269\nes-title: Cómo desinstalar un plugin\nmodified: 20160504154335550\ntags: Plugins\ntitle: Uninstalling a plugin\ntype: text/vnd.tiddlywiki\n\n# Sólo [[por si acaso|The First Rule of Using TiddlyWiki]], haz copia de seguridad de tu archivo HTML de ~TiddlyWiki\n\n# Abre la pestaña <<.controlpanel-tab Plugins>> del [[Panel de control|$:/ControlPanel]]\n\n# Pincha el nombre del plugin que quieres desinstalar para abrir el tiddler que lo contiene. \n\n# Pincha el botón <<.button edit>>\n\n# Pincha el botón <<.button delete>>\n\n# Guarda los cambios con el botón <<.button save-wiki>>\n\n# Recarga la página\n\n# El plugin se ha desinstalado por completo"
  },
  {
    "path": "editions/es-ES/tiddlers/Upgrading.tid",
    "content": "caption: Actualizaciones\ncreated: 20131202102427114\nes-title: Actualizar TiddlyWiki a la última versión\nmodified: 20160421152501155\ntags: Features [[Working with TiddlyWiki]]\ntitle: Upgrading\ntype: text/vnd.tiddlywiki\n\nSe publican con regularidad nuevas versiones de TiddlyWiki que incorporan correcciones de <<.word bugs>> y mejoras. Es buena idea mantenerse al día actualizándolo a la última versión.\n\n<<.tip \"\nEl procedimiento que aquí se describe es para actualizar un Tiddlywiki autónomo como ''archivo único en html''. Para actualizar [[TiddlyWiki en Node.js|TiddlyWiki on Node.js]], el procedimiento [[es otro|Upgrading TiddlyWiki on Node.js]].\n\">>\n\n<<.tip \"\nAl actualizar, recuerda la [[primera regla de uso de TiddlyWiki|The First Rule of Using TiddlyWiki]] y que ''tú eres el responsable de velar por tus datos''. Asegúrate de hacer copias de seguridad con regularidad y, muy especialmente, antes de actualizar el núcleo de ~TiddlyWiki\n\">>\n\n!! Actualización online\n\nEste procedimiento funcionará en la mayoría de navegadores. Ni uno solo de tus datos personales saldrá de tu ordenador durante todo el proceso.\n\n# Localiza el archivo HTML de ~TiddlyWiki en tu disco duro\n\n# Abre el navegador y ve a https://tiddlywiki.com/upgrade.html. Ahí encontrarás el <<.word Upgrader>>: asistente de actualización de ~TiddlyWiki. Tiene una gran flecha en el centro y, debajo de ella, el número de versión al que corresponde\n\n# Arrastra el archivo HTML de TiddlyWiki a la ventana del navegador donde tienes el Upgrader y suéltalo sobre la flecha\n\n#* Si tu archivo está cifrado, se te pedirá la contraseña\n\n# Se te mostrará una tabla de tiddlers\n\n#* Son <<.em \"absolutamente todos\">> los tiddlers que forman parte de tu versión de ~TiddlyWiki\n\n#* En la columna <<.def Select>>, verás <<.em marcados>> los tiddlers que formarán parte de la nueva versión.\nGuarda los cambios de la nueva versión\n#* Los tiddlers que <<.def NO>> se actualizarán aparecen <<.em desmarcados>> y una nota en la columna <<.def status>> te dice el motivo. Si todo te parece bien...\n\n# ...haz clic en el botón <<.def Upgrade>>, que tienes arriba del todo\n\n# Haz clic en el botón verde <<.def \"Save upgraded ~TiddlyWiki file\">>\n\nEl navegador te pedirá que descargues un archivo llamado <<.word \"upgrade.thml\">>. Este archivo es la versión actualizada de tu archivo. Localízalo en tu disco duro, cambia el nombre por el de tu wiki y sustituye en su localización el viejo archivo por el nuevo.\n\n!! Actualización offline\n\nPuedes descargar el <<.def Upgrader>> a tu disco duro y realizar el proceso anterior de arrastra-y-suelta para actualizar tu archivo localmente, sin necesidad de conexión de red.\n\n!! Problemas conocidos durante la actualización\n\n!!! Firefox Security Restrictions\n\nSe han dado casos del siguiente error al intentar actualizar en Firefox: \n\n<<<\nError while saving:\n\nError:NS_ERROR_DOM_BAD_URI: Access to restricted URI denied\n<<<\n\n* La actualización falla o se interrumpe por restricciones de seguridad de Firefox. \n\n* Comprueba si la versión de Firefox instalada en tu ordenador es la última disponible. En caso negativo, actualiza el navegador y vuelve a intentarlo.\n\n* Si el error persiste, sugerimos usar otro navegador o actualizar ~TiddlyWiki offline \n\n!!! Customizaciones incompatibles\n\nEs posible --y se han dado casos de ello-- que customizaciones de versiones anteriores de ~Tiddlywiki dejen de funcionar después actualizar el núcleo a la última versión. \n\nHay dos maneras maneras en que puedes diagnosticar y solucionar los problemas que se presenten: \n\n* Repite la actualización deseleccionando manualmente los tiddlers de tu versión que aplican customizaciones a ~TiddlyWiki\n* Desactiva las customizaciones abriendo ~TiddlyWiki en [[Modo seguro|SafeMode]]\n\n<<.tip\n\"Puedes ver una lista de tiddlers ocultos modificados en la pestaña ''Filtro'' de la [[Búsqueda avanzada|$:/AdvancedSearch]]. En el desplegable, selecciona 'Tiddlers ocultos anulados' \">>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Upgrading_TiddlyWiki_on_Node.js.tid",
    "content": "caption: Actualizar en Node.js\ncreated: 20131219100544073\nes-title: Actualizar TiddlyWiki a la última versión en Node.js\nmodified: 20160506045433452\ntags: [[TiddlyWiki on Node.js]]\ntitle: Upgrading TiddlyWiki on Node.js\ntype: text/vnd.tiddlywiki\n\nSi has instalado [[TiddlyWiki en Node.js|TiddlyWiki on Node.js]] de la forma habitual, puedes actualizarlo a la última versión con este comando:\n\n```\nnpm update -g tiddlywiki\n```\n\nEn Mac o Linux necesitas añadir <<.word sudo>>:\n\n```\nsudo npm update -g tiddlywiki\n```\n"
  },
  {
    "path": "editions/es-ES/tiddlers/UsingSVG.tid",
    "content": "caption: Uso de SVG's\ncreated: 20131028132700000\nes-title: Uso de imágenes SVG\nmodified: 20160503054238164\ntags: Features\ntitle: UsingSVG\ntype: text/vnd.tiddlywiki\n\n~Tiddlywiki permite el uso de imágenes SVG de dos maneras:\n\n* Los tiddlers de tipo `image/svg+xml` se interpretan como imágenes SVG, es decir que se muestran como elementos `<img>` con el SVG incrustado en el atributo `src`.\n\n** Como ejemplos de imagen SVG, véanse [[Motovun Jack.svg]] y [[Tiddler Fishes.svg]]\n\n* También pueden incluirse elementos SVG directamente con WikiText. \n\n! Transclusión de tiddlers SVG\n\nSe pueden incrustar SVG's mediante transclusión\n\n```\n{{Motovun Jack.jpg}}\n```\n\n! Incrustación de elementos SVG\n\nLa otra forma de usar un SVG es incrustándolo directamente.\n\nAl incrustar un SVG en el texto como elemento `<img>`, este permanece en un entorno restringido y contenido. No puede, por ejemplo, usar los estilos CSS del documento padre, por ejemplo, ni se puede hacer una transclusión aislada del SVG.\n\nTambién puede incluirse el `<svg>` directamente.\n\nEste es el código...\n\n```\n<svg width=\"150\" height=\"100\">\n  <circle cx=\"100\" cy=\"50\" r=\"40\" stroke=\"black\" stroke-width=\"2\" fill=\"red\" />\n</svg>\n```\n...y este el resultado:\n\n<svg width=\"150\" height=\"100\">\n  <circle cx=\"100\" cy=\"50\" r=\"40\" stroke=\"black\" stroke-width=\"2\" fill=\"red\" />\n</svg>\n\nPara hacerlo, no necesitamos la directiva `<?xml version=\"1.0\"?>`.\n\n! Inclusión de contenido HTML o ~WikiText en imágenes SVG\n\nSe pueden incluir sencillas cadenas de texto en un SVG mediante el elemento `<text>`\n\nEste es el código...\n\n```\n<svg width=\"300px\" height=\"30px\" viewBox=\"0 0 1000 300\"><text x=\"250\" y=\"150\" font-family=\"Verdana\" font-size=\"200\">Hello, out there</text><rect x=\"1\" y=\"1\" width=\"998\" height=\"298\" fill=\"none\" stroke-width=\"2\" /></svg>\n```\n\n...y este el resultado\n\n<svg width=\"300px\" height=\"30px\" viewBox=\"0 0 1000 300\"><text x=\"250\" y=\"150\" font-family=\"Verdana\" font-size=\"200\">Hello, out there</text><rect x=\"1\" y=\"1\" width=\"998\" height=\"298\" fill=\"none\" stroke-width=\"2\" /></svg>\n\nSe puede incluir HTML o ~WikiText <<.def dentro>> de imágenes SVG incrustadas en el texto mediante el elemento `<foreignObject>`. Por ejemplo:\n\n```\n<svg width=\"260px\" height=\"260px\"><circle cx=\"150\" cy=\"150\" r=\"100\" fill=\"blue\" stoke=\"red\"/><foreignObject x=\"70\" y=\"110\" width=\"150\" height=\"180\"><body>Esto es un poco de texto que incluye un [[enlace a otro tiddler|HelloThere]].</body></foreignObject></svg>\n```\n<svg width=\"260px\" height=\"260px\"><circle cx=\"150\" cy=\"150\" r=\"100\" fill=\"blue\" stoke=\"red\"/><foreignObject x=\"70\" y=\"110\" width=\"150\" height=\"180\"><body>Esto es un poco de texto que incluye un [[enlace a otro tiddler|HelloThere]].</body></foreignObject></svg>\n\n!! Incrustación y transclusión combinadas\n\nAl definiri elementos SVG podemos jugar con algunos de sus parámetros mediante transclusión. Como ejemplo, veamos el caso de este círculo SVG que podemos modificar mediante transclusión del valor de su radio desde el tiddler [[$:/SVGExampleRadius]]:\n\nEste es el código...\n\n```\n<svg width=\"150\" height=\"150\"><circle cx=\"75\" cy=\"75\" r={{$:/SVGExampleRadius}} stroke=\"black\" stroke-width=\"2\" fill=\"green\"/></svg>\n```\n...y este el resultado:\n\n<svg width=\"150\" height=\"150\"><circle cx=\"75\" cy=\"75\" r={{$:/SVGExampleRadius}} stroke=\"black\" stroke-width=\"2\" fill=\"green\"/></svg>\n\nPodemos variar el radio del círculo (como podríamos variar cualquier otro parámetro con la misma técnica) editando el siguiente valor, alojado en otro tiddler:\n\n <$edit-text tiddler=\"$:/SVGExampleRadius\" tag=\"input\"/>\n\n! Texto curvo en SVG's\n\n{{Making curved text with SVG}}"
  },
  {
    "path": "editions/es-ES/tiddlers/Using_Stylesheets.tid",
    "content": "caption: Hojas de estilos\ncreated: 20140305091244145\nes-title: Uso de hojas de estilos\nmodified: 20160428095328970\ntags: [[Customise TiddlyWiki]]\ntitle: Using Stylesheets\ntype: text/vnd.tiddlywiki\n\nEl primer paso para cambiar la apariencia de ~TiddlyWiki es elegir y aplicar uno de los temas disponibles o modificar la [[paleta de colores|ColourPalettes]].\n\nAdemás, pueden definirse [[hojas de estilos CSS|http://www.w3schools.com/css]] mediante la etiqueta <<.tag ~$:/Stylesheet>>. Intenta crear una hoja de estilos con el siguiente contenido para cambiar el actual color de fondo a rojo:\n\n```\nhtml body.tc-body {\n\tbackground: red;\n}\n```\n\n! Puentear estilos del tema\n\nLas hojas personales de estilos se aplican independientemente de los estilos definidos por el tema. Por ello, a menudo es necesario que las reglas CSS de tu hoja de estilos sean más específicas que las del tema que quieres puentear. Por ejemplo, `html body.tc-body` es más específco que `body.tc-body`.\n\n! Tipo <<.word \"estilos\">>\n\nNormalmente es mejor definir como <<-field type>> el valor <<.place text/css>>. Así te aseguras de que ~TiddlyWiki entienda el contenido como hoja de estilos en texto plano y no aplique reglas de WikiText en su interpretación.\n\nSi necesitas usar macros y transclusiones en tu hoja de estilos, tendrás que usar el <<.field type>> por defecto `text/vnd.tiddlywiki`, permitiendo así el proceso de WikiText. Ahí va un ejemplo:\n\n```\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline html\n\nbody.tc-body pre {\n\t<<box-shadow \"inset 0 1px 0 #fff\">>\n}\n```\nLa directiva `\\rules` al inicio restringe la aplicación de reglas WikiText a exclusivamente macros y transclusiones, lo que impide que accidentalmente se active cualquier otro proceso indeseado.\n\nUn tiddler de estilos se procesa de tal manera que primero se procesa como WikiText y, entonces, el resultado se aplica como CSS. Por lo tanto, se ignora todo tag HTML usado en los estilos. Así, por ejemplo, aquellos elementos HTML generados por RevealWidget no afectarán en absoluto al resultado. Por ese motivo pueden //envolverse// las reglas CSS en tags `<pre>` para mostrarlos como bloques de código, sin que afecten al proceso.\n\n```\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline html\n\n<pre>body.tc-body pre {\n\t<<box-shadow \"inset 0 1px 0 #fff\">>\n}\n</pre>\n```\n\n! Stylesheet Macros\n\nEl núcleo de ~TiddlyWiki proporciona una serie de [[macros globales|Stylesheet Macros]], útiles para la construcción de hojas de estilos. "
  },
  {
    "path": "editions/es-ES/tiddlers/Using_TiddlyWiki_on_Node.js.tid",
    "content": "caption: Uso en Node.js\ncreated: 20131219100520659\nes-title: Uso de TiddlyWiki en Node.js\nmodified: 20160506051541044\ntags: [[TiddlyWiki on Node.js]]\ntitle: Using TiddlyWiki on Node.js\ntype: text/vnd.tiddlywiki\n\n~TiddlyWiki se puede usar desde la línea de comandos para ejecutar una larga lista de operaciones basadas en [[carpetas|TiddlyWikiFolders]], [[tiddlers|TiddlerFiles]] y archivos HTML de ~Tiddlywiki.\n\nPor ejemplo, el siguiente comando carga tiddlers de un archivo HTML de ~TiddlyWIki y guarda uno de ellos (~ReadMe) como HTML estático (readme.html):\n\n```\ntiddlywiki --verbose --load mi_wiki.html --rendertiddler ReadMe ./readme.html\n```\nEjecutar ~TiddlyWiki desde la línea de comandos pone en marcha el núcleo, carga los plugins y establece un <<.word almacén>> de tiddlers en blanco. A partir de entonces procesa los argumentos de la línea de comandos de izquierda a derecha. Los argumentos se separan con espacios.\n\nEl primer argumento es la ruta opcional al [[WikiFolder|TiddlyWikiFolders]] que se va a cargar. Si no se especifica, se usa el directorio actual.\n\nLe siguen uno o varios comandos con sus respectivos argumentos. Los comandos se identifican con el prefijo `--`.\n\n```\ntiddlywiki [<ruta>] [--<comando> [<argumento>[,<argumento>]]]\n```\n\nLos comandos disponibles son:\n\n<<list-links \"[tag[Commands]]\">>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Using_links_to_navigate_between_tiddlers.tid",
    "content": "caption: Desplazarse con enlaces\ncreated: 20140908093600000\nes-title: Usar enlaces para desplazarse entre tiddlers\nmodified: 20160422093819943\ntags: [[Working with TiddlyWiki]]\ntitle: Using links to navigate between tiddlers\ntype: text/vnd.tiddlywiki\n\nPara moverte de un tiddler a otro puedes usar enlaces (generalmente de color azul). Pinchar cualquier enlace te llevará automáticamente al tiddler en cuestión. Si está cerrado, lo abrirá. Lo fabuloso de ~TiddlyWiki es que hace los enlaces a tiddlers tan accesibles como sea posible. ¡Hay enlaces por todos lados! Estos son los lugares clave donde puedes encontrar enlaces a otros tiddlers en ~TiddlyWiki:\n\n* En el cuerpo de cualquier tiddler puedes <<.def \"crear un link\">> a otro tiddler, tanto si ya existe como si no. [[Enlaces en WikiText|Linking in WikiText]] te muestra varias formas sencillas de crear enlaces entre tiddlers.\n\n* Cada <<.def pastilla>> que veas en un tiddler (como la que hay bajo el título de este tiddler, que dice <<.def \"Working with ~TiddlyWiki\">>, contiene un enlace al tiddler de su correspondiente etiqueta. \n\n* El <<.def InfoPanel>> de un tiddler te muestra cuatro pestañas que contienen listas adicionales de enlaces relacionados con este. \n\n** La pestaña <<.info-tab References>> te da una lista de los enlaces que apuntan al tiddler actual\n\n** <<.info-tab Tagging>> muestra una lista de enlaces de tiddlers etiquetados con el título del actual. \n\n** <<.info-tab List>> muestra una lista de enlaces de tiddlers mencionados en el campo <<.flink ListField>> del tiddler actual. \n\n** <<.info-tab Listed>> muestra una lista de enlaces de tiddlers que incluyen el actual en sus respectivos <<.flink ListField>> \n\n* Las <<.def \"pestañas\">> de la barra lateral también contienen innumerables enlaces a tiddlers:\n\n** <<.sidebar-tab Open>> muestra una lista de tiddlers actualmente abiertos. Es decir, a la vista. \n\n** <<.sidebar-tab Recent>> enumera los últimos 100 tiddlers modificados, por orden ascendente de antigüedad.\n\n** <<.sidebar-tab More>> ofrece ocho listas adicionales de enlaces:\n\n*** <<.more-tab All>> contiene la lista alfabética de todos los tiddlers del wiki.\n\n*** <<.more-tab Tags>> contiene la lista alfabética de todas las etiquetas del wiki. Pinchando en cualquiera de ellas, además, obtienes una lista alfabética de todos los tiddlers etiquetados con ella\n\n*** <<.more-tab Missing>> contiene la lista de enlaces vacíos, es decir, que enlazan con tiddlers que aún no existen. Función muy útil para encontrar aquellos tiddlers que uno planeó escribir cuando redacta\n\n*** <<.more-tab Drafts>> contiene la lista de tiddlers que actualmente están en borrador. ~TiddlyWiki considera que, mientras esté en edición, un borrador es un tiddler aparte del original, de modo que mientras se edita, existen dos tiddlers iguales e independientes, lo que por un lado conserva intacto el contenido original hasta que se pulse el botón <<.button save>> y, por otro, nos permite trabajar tranquilamente en un borrador sin mostrar tiddlers inacabados ni perder cambios\n\n*** <<.more-tab Orphans>> contiene la lista de aquellos tiddlers que no enlazan a ningún otro ni mediante links, ni etiquetas ni listas. Muestra qué tiddlers necesitan integrarse con el resto, algo muy útil a la hora de editar un wiki\n\n*** <<.more-tab Types>> contiene una lista por tipo de contenido de tiddlers con contenido especial, como imágenes, audio, código, archivo PDF ...etc\n\n*** <<.more-tab System>> contiene la lista de todos los [[tiddlers de sistema|SystemTiddlers]]\n\n*** <<.more-tab Shadows>> contiene la lista de todos los [[tiddlers ocultos|ShadowTiddlers]].\n\n* FInalmente, también puedes crear tus propias listas de enlaces, usando varios métodos:\n\n** Por [[transclusión|Transclusion in WikiText]] de [[filtros|Filters]]: si escribimos `{{{[tag[Contents]]}}}` en un tiddler, nos mostrará la lista de tiddlers que llevan la etiqueta <<.em Contents>>. \n\n** Puedes usar ListWidget. Es algo más complejo que la transclusión de filtros, pero a cambio te da más flexibilidad a la hora de diseñar la lista para que se muestre tal y como quieres."
  },
  {
    "path": "editions/es-ES/tiddlers/Videos.tid",
    "content": "caption: Videos\ncreated: 20140912150153512\nes-title: Videos\nmodified: 20160417153908323\ntags: Learning\ntitle: Videos\ntype: text/vnd.tiddlywiki\n\nEstán disponibles los siguientes videos sobre TiddlyWiki:\n\n<<list-links \"[tag[Videos]]\">>\n\nLa finalidad es mantener una serie de videos que sirvan de guía para la puesta en marcha de ~TiddlyWiki. Toda [[contribución|Contributing]] es bienvenida."
  },
  {
    "path": "editions/es-ES/tiddlers/What_happened_to_the_original_TiddlyWiki_.tid",
    "content": "caption: ¿Y el original?\ncreated: 20140904085100000\nes-title: ¿Qué pasó con el TiddlyWiki original?\nmodified: 20160605052442495\ntags: HelloThere\ntitle: What happened to the original TiddlyWiki?\ntype: text/vnd.tiddlywiki\n\n<a class=\"tc-float-right tc-bordered-image\" href=\"https://classic.tiddlywiki.com/\" target=\"_blank\" rel=\"noopener noreferrer\">[img width=\"200\" [TiddlyWiki Classic.png]]</a>\n\nLa versión original de TiddlyWiki, que llamamos [[Classic|TiddlyWikiClassic]], sigue disponible en:\n\nhttps://classic.tiddlywiki.com.\n\nTen en cuenta que la [[versión actual|TiddlyWiki5]] de ~TiddlyWiki no es totalmente compatible con la versión [[Classic|TiddlyWikiClassic]]. Se pueden importar contenidos, pero necesitan algo de //masaje// para adaptarse al nuevo formato de escritura, WikiText.\n\nActualmente está en desarrollo un plugin: ''tw2parser'', intérprete que permita reproducir fielmente y sin mayor complicación los contenidos creados por TiddlyWikiClassic.\n\nhttps://tiddlywiki.com/plugins/tiddlywiki/tw2parser/\n"
  },
  {
    "path": "editions/es-ES/tiddlers/WidgetMessage__tm-add-field.tid",
    "content": "caption: tm-add-field\ncreated: 20140908185153663\nes-title: Mensaje: tm-add-field\nmodified: 20160416051117201\ntags: Messages\ntitle: WidgetMessage: tm-add-field\ntype: text/vnd.tiddlywiki\n\nEl mensaje `tm-add-field` define un determinado campo y lo añade con valor en blanco, si dicho campo no existe. \n\n|!Nombre |!Descripción |\n|param |Nombre del campo |\n\nEste mensaje lo genera normalmente ButtonWidget y lo procesa FieldManglerWidget.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/WidgetMessage__tm-add-tag.tid",
    "content": "caption: tm-add-tag\ncreated: 20140908185153663\nes-title: Mensaje: tm-add-tag\nmodified: 20160415060517606\ntags: Messages\ntitle: WidgetMessage: tm-add-tag\ntype: text/vnd.tiddlywiki\n\nEL mensaje `tm-add-tag` añade la etiqueta que se especifique.\n\n|!Name |!Description |\n|param |Nombre de la etiqueta |\n\nEste mensaje lo genera normalmente ButtonWidget y lo procesa FieldManglerWidget.\n\n"
  },
  {
    "path": "editions/es-ES/tiddlers/WidgetMessage__tm-auto-save-wiki.tid",
    "content": "caption: tm-auto-save-wiki\ncreated: 20160416050650782\nes-title: Mensaje: tm-auto-save-wiki\nmodified: 20160416051042641\ntags: Messages\ntitle: WidgetMessage: tm-auto-save-wiki\ntype: text/vnd.tiddlywiki\n\nEl mensaje `tm-auto-save-wiki` realiza, siempre que sea necesario, el guardado en segundo plano de TiddlyWiki.\n\nEl mensaje ''autosave wiki'' se genera siempre que se producen cambios en el TiddlerStore. Por ejemplo: [[tm-save-tiddler|WidgetMessage: tm-save-tiddler]], [[tm-delete-tiddler|WidgetMessage: tm-delete-tiddler]] y [[tm-perform-import|WidgetMessage: tm-perform-import]] guardan, borran y añaden tiddlers respectivamente, lo que tiene como resultado que, al ser procesados, NavigatorWidget genere el mensaje `auto-save-widget`.\n\nLo procesa SyncMechanism en el  núcleo de ~TiddlyWiki, invocando el [[SaverModule|SaverModules]] actual. No todos los SaverModules tienen capacidad para hacerlo."
  },
  {
    "path": "editions/es-ES/tiddlers/WidgetMessage__tm-browser-refresh.tid",
    "content": "caption: tm-browser-refresh\ncreated: 20140819110529062\nes-title: Mensaje: tm-browser-refresh\nmodified: 20160415091241622\ntags: Messages\ntitle: WidgetMessage: tm-browser-refresh\ntype: text/vnd.tiddlywiki\n\nEl mensaje `tm-browser-refresh` recarga la página, causando el reinicio de todos los plugins. No necesita ninguna propiedad del objeto `event`. \n\nEste mensaje se genera con el ButtonWidget y se procesa en el núcleo.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/WidgetMessage__tm-cancel-tiddler.tid",
    "content": "caption: tm-cancel-tiddler\ncreated: 20140226193622350\nes-title: Mensaje: tm-cancel-tiddler\nmodified: 20160416050616634\ntags: Messages navigator-message\ntitle: WidgetMessage: tm-cancel-tiddler\ntype: text/vnd.tiddlywiki\n\nEl mensaje `tm-cancel-tiddler` cancela la edición de un tiddler y abandona los cambios realizados en el borrador.\n\nRequiere de las siguientes propiedades del objeto `event`:\n\n|!Nombre |!Descripción |\n|param |Título del tiddler cuya edición se cancela |\n|tiddlerTitle |Título alternativo usado si no se especifica ''param'' (asignado automáticamente por ButtonWidget)  |\n\nEste mensaje lo genera normalmente ButtonWidget y lo procesa NavigatorWidget.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/WidgetMessage__tm-clear-password.tid",
    "content": "caption: tm-clear-password\ncreated: 20140226084018038\nes-title: Mensaje: tm-clear-password\nmodified: 20160416050300855\ntags: Messages\ntitle: WidgetMessage: tm-clear-password\ntype: text/vnd.tiddlywiki\n\nEl mensaje `tm-clear-password`borra la contraseña actual del depósito de claves y cambia el valor de [[$:/isEncrypted]]. Consulta EncryptionMechanism para más información.\n\nEste mensaje lo genera normalmente ButtonWidget y lo procesa el propio núcleo.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/WidgetMessage__tm-close-all-tiddlers.tid",
    "content": "caption: tm-close-all-tiddlers\ncreated: 20140226194242809\nes-title: Mensaje: tm-close-all-tiddlers\nmodified: 20160416045312918\ntags: Messages navigator-message\ntitle: WidgetMessage: tm-close-all-tiddlers\ntype: text/vnd.tiddlywiki\n\nEl mensaje `tm-close-all-tiddlers` vacía la StoryList.\n\nEste mensaje lo genera normalmente ButtonWidget y lo procesa NavigatorWidget.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/WidgetMessage__tm-close-other-tiddlers.tid",
    "content": "caption: tm-close-other-tiddlers\ncreated: 20140302183306544\nes-title: Mensaje: tm-close-other-tiddlers\nmodified: 20160416045151243\ntags: Messages navigator-message\ntitle: WidgetMessage: tm-close-other-tiddlers\ntype: text/vnd.tiddlywiki\n\nEl mensaje `tm-close-other-tiddlers` elimina de la StoryList todos los tiddlers menos el que se indica. \n\nRequiere las siguientes propiedades del objeto `event`:\n\n|!Nombre |!Descripción |\n|param |Título del tiddler que no se cerrará |\n|tiddlerTitle |Título alternativo usado si no se especifica ''param'' (asignado automáticamente por ButtonWidget)  |\n\nEste mensaje lo genera normalmente ButtonWidget y lo procesa NavigatorWidget.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/WidgetMessage__tm-close-tiddler.tid",
    "content": "caption: tm-close-tiddler\ncreated: 20140226193940778\nes-title: Mensaje: tm-close-tiddler\nmodified: 20160416044845312\ntags: Messages navigator-message\ntitle: WidgetMessage: tm-close-tiddler\ntype: text/vnd.tiddlywiki\n\nEl mensaje `tm-close-tiddler` elimina de la StoryList el tiddler que se indique. \n\nRequiere las siguientes propiedades del objeto `event`:\n\n|!Nombre |!Descripción |\n|param |Título del tiddler que se quiere cerrar |\n|tiddlerTitle |Título alternativo usado si no se especifica ''param'' (asignado automáticamente por ButtonWidget)  |\n\nEste mensaje normalmente lo genera ButtonWidget y lo procesa NavigatorWidget.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/WidgetMessage__tm-delete-tiddler.tid",
    "content": "caption: tm-delete-tiddler\ncreated: 20140226090324129\nes-title: Mensaje: tm-delete-tiddler\nmodified: 20160416044521502\ntags: Messages navigator-message\ntitle: WidgetMessage: tm-delete-tiddler\ntype: text/vnd.tiddlywiki\n\nEl mensaje `tm-delete-tiddler` borra el tiddler especificado y lo elimina de la StoryList actual. Si se trata de un borrador, elimina también el tiddler especificado en el campo `draft.of`.\n\nRequiere las siguientes propiedades del objeto `event`:\n\n|!Nombre |!Descripción |\n|param |Título del tiddler para borrar |\n|tiddlerTitle |Título alternativo usado si no se especifica ''param'' (asignado automáticamente por ButtonWidget)  |\n\nEste mensaje lo genera normalmente ButtonWidget y lo procesa NavigatorWidget."
  },
  {
    "path": "editions/es-ES/tiddlers/WidgetMessage__tm-download-file.tid",
    "content": "caption: tm-download-file\ncreated: 20140811112201235\nes-title: Mensaje: tm-download-file\nmodified: 20160416044054991\ntags: Messages\ntitle: WidgetMessage: tm-download-file\ntype: text/vnd.tiddlywiki\n\nEl mensaje `tm-download-file` hace que el [[SaverModule|SaverModules]] actual indique al usuario que descargue como archivo el resultado de la interpretación de un determinado tiddler.\n\nRequiere las siguientes propiedades del objeto `event`:\n\n|!Nombre |!Descripción |\n|param |Título del tiddler usado como plantilla del nuevo tiddler |\n|paramObject |HashMap opcional de valores de variable que se usará para la conversión |\n\nEste mensaje lo genera normalmente ButtonWidget y lo procesa SyncMechanism en el núcleo de TiddlyWiki, que invoca el [[SaverModule|SaverModules]] actual.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/WidgetMessage__tm-edit-tiddler.tid",
    "content": "caption: tm-edit-tiddler\ncreated: 20140226085529797\nes-title: Mensaje: tm-edit-tiddler\nmodified: 20160416043352274\ntags: Messages navigator-message\ntitle: WidgetMessage: tm-edit-tiddler\ntype: text/vnd.tiddlywiki\n\nEl mensaje `tm-edit-tiddler` sustituye en la StoryList el tiddler especificado por un borrador de sí mismo. \n\nRequiere las siguientes propiedades del objeto `event`:\n\n|!Nombre |!Descripción |\n|param |Título del tiddler que pasa a modo edición |\n|tiddlerTitle |Título alternativo usado si no se especifica ''param'' (asignado automáticamente por ButtonWidget)  |\n\nEste mensaje normalmente lo generan ButtonWidget o ActionSendMessageWidget y loprocesa NavigatorWidget.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/WidgetMessage__tm-full-screen.tid",
    "content": "caption: tm-full-screen\ncreated: 20140811112400855\nes-title: Mensaje: tm-full-screen\nmodified: 20160416042755269\ntags: Messages\ntitle: WidgetMessage: tm-full-screen\ntype: text/vnd.tiddlywiki\n\nEl mensaje `tm-full-screen` alterna el modo de vista en pantalla completa, si el navegador lo permite. \n\nEste mensaje lo procesa el núcleo de ~TiddlyWiki."
  },
  {
    "path": "editions/es-ES/tiddlers/WidgetMessage__tm-home.tid",
    "content": "caption: tm-home\ncreated: 20140819110529062\nes-title: Mensajes: tm-home\nmodified: 20160416042553510\ntags: Messages\ntitle: WidgetMessage: tm-home\ntype: text/vnd.tiddlywiki\n\nEl mensaje `tm-home` cierra cualquier tiddler que se haya abierto y abre los tiddlers por defecto definidos en [[$:/DefaultTiddlers]]. \n\nTambién elimina cualquier [[permalink|PermaLinks]] de la barra de dirección del navegador\n\nNo requiere propiedad alguna del objeto `event`.\n\nEste mensaje normalmente lo genera ButtonWidget y lo procesa el núcleo de ~TiddlyWiki.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/WidgetMessage__tm-import-tiddlers.tid",
    "content": "caption: tm-import-tiddlers\ncreated: 20140716084658099\nes-title: Mensaje: tm-import-tiddlers\nmodified: 20160416051305474\ntags: Messages navigator-message\ntitle: WidgetMessage: tm-import-tiddlers\ntype: text/vnd.tiddlywiki\n\nEl mensaje `tm-import-tiddlers` añade una lista de tiddlers a [[$:/Import]], señalando así que están pendientes de importación. También aplica cualquier módulo ''upgrader'' activo a cada tiddler según llega. Consulta UpgradeMechanism para mayor información.\n\n|!Nombre |!Descripción |\n|param |texto JSON de la matriz de tiddlers para importar |\n\nEste mensaje lo generan normalmente DropzoneWidget o BrowseWidget y lo procesa NavigatorWidget.\n\n!! Variables de configuración\n\n* <<.vlink tv-auto-open-on-import>>\n"
  },
  {
    "path": "editions/es-ES/tiddlers/WidgetMessage__tm-login.tid",
    "content": "caption: tm-login\ncreated: 20140811112445887\nes-title: Mensajes: tm-login\nmodified: 20160415160229935\ntags: Messages\ntitle: WidgetMessage: tm-login\ntype: text/vnd.tiddlywiki\n\nEl mensaje `tm-login` pide al usuario que introduzca un nombre de usuario y contraseña e intenta iniciar sesión en el servidor. El tiddler [[$:/status/IsLoggedIn]] informa del actual estado de inicio de sesión con los valores \"yes\" o \"no\" y [[$:/status/UserName]] indica el nombre de usuario actual.\n\nEste mensaje lo procesa SyncMechanism en el núcleo de ~TiddlyWiki invocando el [[SyncAdaptorModule|SyncAdaptorModules]] actual, (generalmente, el plugin  ''tiddlywiki/tiddlywebadaptor'')."
  },
  {
    "path": "editions/es-ES/tiddlers/WidgetMessage__tm-logout.tid",
    "content": "caption: tm-logout\ncreated: 20140811112457311\nes-title: Mensaje: tm-logout\nmodified: 20160415160213368\ntags: Messages\ntitle: WidgetMessage: tm-logout\ntype: text/vnd.tiddlywiki\n\nEl mensaje `tm-logout` desconecta al usuario de su sesión actual en el servidor. \nEl tiddler [[$:/status/IsLoggedIn]] indica el estado actual de inicio de sesión con los valores \"yes\" o \"no\" y [[$:/status/UserName]] indica el nombre de usuario actual\n\nEste mensaje lo procesa SyncMechanism en el núcleo de ~TiddlyWiki invocando el [[SyncAdaptorModule|SyncAdaptorModules]] actual, (generalmente, el plugin  ''tiddlywiki/tiddlywebadaptor'').\n"
  },
  {
    "path": "editions/es-ES/tiddlers/WidgetMessage__tm-modal.tid",
    "content": "caption: tm-modal\ncreated: 20140811112133701\nes-title: Mensaje: tm-modal\nmodified: 20160415153537297\ntags: Messages\ntitle: WidgetMessage: tm-modal\ntype: text/vnd.tiddlywiki\n\nEl mensaje `tm-modal` muestra determinado tiddler sobre una ventana modal que atenúa la página principal. Requiere de las siguientes propiedades en el objeto `event`:\n\n|!Nombre |!Descripción |\n|param |Título del tiddler que se quiere mostrar |\n|paramObject |HashMap de variables que se le suministra al modal |\n\nLa variable <<.def \"current tiddler\">> se asigna al tiddler modal, pero puede anularse especificando un valor diferente en `paramObject`.\n\nEste mensaje se genera normalmente con ButtonWidget y lo procesa el núcleo de ~TiddlyWiki.\n\n!! Ejemplo\n\nEste es un ejemplo de modal y de cómo se le pasan parámetros:\n\n\n<$macrocall $name='wikitext-example-without-html' \n\nsrc='Escribe tu nombre: <$edit-text tiddler=\"$:/temp/yourName\" tag=\"input\" default=\"Nombre\"/>\n\nEscribe tu mensaje:\n<$edit-text tiddler=\"$:/temp/yourMessage\" default=\"Mensaje\"/>\n\n<$button>\n<$action-sendmessage $message=\"tm-modal\" $param=\"SampleModal\" yourName={{$:/temp/yourName}} yourMessage={{$:/temp/yourMessage}}/>\n¡Haz clic!\n</$button>'/>"
  },
  {
    "path": "editions/es-ES/tiddlers/WidgetMessage__tm-navigate.tid",
    "content": "caption: tm-navigate\ncreated: 20140226085215941\nes-title: Mensaje: tm-navigate\nmodified: 20160415144216276\ntags: Messages\ntitle: WidgetMessage: tm-navigate\ntype: text/vnd.tiddlywiki\n\nEl mensaje `tm-navigate` inserta el tiddler que se indica en la StoryList y lo coloca al inicio de la HistoryList. Si el tiddler no está ya en la StoryList, se colocará inmediatamente después del que se especifique en `event.navigateFromTitle`.\n\nEste mensaje precisa de las siguientes propiedades del objeto `event`:\n\n|!Nombre |!Descripción |\n|navigateTo |Título del tiddler al que se navega |\n|navigateFromTitle |Título del tiddler desde el que se inicia la navegación |\n|navigateFromClientRect |Coordenadas en la página cliente del cuadro del elemento que inicia la navegación |\n|navigateSuppressNavigation |''true'' hace que el nuevo tiddler se añada a la StoryList, sin sumarse a la HistoryList. Esto suprime el desplazamiento asociado con la navegación a un tiddler |\n\nEste mensaje pueden generarlo LinkWidget, ActionNavigateWidget y ButtonWidget, pero lo procesa NavigatorWidget.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/WidgetMessage__tm-new-tiddler.tid",
    "content": "caption: tm-new-tiddler\ncreated: 20140226194405353\nes-title: Mensaje: tm-new-tiddler\nmodified: 20160415130948422\ntags: Messages navigator-message\ntitle: WidgetMessage: tm-new-tiddler\ntype: text/vnd.tiddlywiki\n\nEl mensaje `tm-new-tiddler` crea un nuevo borrador y lo añade a la StoryList actual. Precisa de las siguientes propiedades del objeto `event`:\n\n\n|!Nombre |!Descripción |\n|param |Título opcional de un tiddler que sirva de plantilla para el nuevo tiddler |\n|paramObject |HashMap opcional de TiddlerFields adicionales |\n|navigateFromTitle |Título del tiddler desde el que se inició la navegación hacia el nuevo tiddler |\n\nEl título del borrador se elige conforme a las siguientes reglas:\n\n* Si se usó un HashMap y se definió un campo `title`, usa su valor\n\n* Si se usó plantilla, usa el título y un sufijo numérico para hacerlo único\n\n* Si no, genera un nuevo título basándose en el nuevo título por defecto y un sufijo numérico para hacerlo único.\n\nEl mensaje `tm-new-tiddler` se genera normalmente con ButtonWidget o  ActionSendMessageWidget y lo procesa NavigatorWidget.\n\n!! Ejemplos\n\nSi queremos hacer un botón que cree nuevos tiddlers con la etiqueta \"tarea\", tendremos que crear un tiddler llamado por ejemplo \"~PlantillaTarea\" con las etiquetas que se quieren asignar (\"tarea\", en este caso) y entonces definir el botón de esta forma: \n\n```\n<$button message=\"tm-new-tiddler\" param=\"PlantillaTarea\">Nueva Tarea </$button>\n```\n\nSi en lugar de a partir de una plantilla, queremos un botón que cree tiddlers a partir de una serie de atributos:\n\n```\n<$button>\n<$action-sendmessage $message=\"tm-new-tiddler\" title=\"This is newly created tiddler\" tags=\"OneTag [[Another Tag]]\" text=<<now \"Today is DDth, MMM YYYY\">>/>\nNew Tiddler\n</$button>\n```\n"
  },
  {
    "path": "editions/es-ES/tiddlers/WidgetMessage__tm-notify.tid",
    "content": "caption: tm-notify\ncreated: 20140811112304772\nes-title: Mensaje: tm-notify\nmodified: 20160415114838901\ntags: Messages\ntitle: WidgetMessage: tm-notify\ntype: text/vnd.tiddlywiki\n\nEl mensaje `tm-notify` muestra un tiddler determinado como una pequeña alerta en la esquina superior derecha de la página. Requiere las siguientes propiedades del objeto `event`:\n\n|!Nombre |!Descripción |\n|param |Título del tiddler que se mostrará |\n\nEste mensaje lo procesa el núcleo de ~TiddlyWiki\n"
  },
  {
    "path": "editions/es-ES/tiddlers/WidgetMessage__tm-perform-import.tid",
    "content": "caption: tm-perform-import\ncreated: 20140716084242809\nes-title: Mensajes: tm-perform-import\nmodified: 20160415113056593\ntags: Messages navigator-message\ntitle: WidgetMessage: tm-perform-import\ntype: text/vnd.tiddlywiki\n\nEl mensaje `tm-perform-import` toma tiddlers de un plugin específico y los copia en el TiddlerStore principal. Consulta UpgradeMechanism para tener una idea general de cómo el núcleo usa este mensaje.\n\n|!Nombre |!Descripción |\n|param |Título del tiddler pendiente de importar. (Por defecto, ''$:/Import'' |\n\nPara seleccionar los tiddlers que van a importarse, se usan campos con nombres formados por `selection-` más el título del tiddler. El valor ''unchecked'' omite el tiddler durante la importación.\n\nEste mensaje normalmente lo genera ButtonWidget y lo procesa NavigatorWidget.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/WidgetMessage__tm-permalink.tid",
    "content": "caption: tm-permalink\ncreated: 20140723103751357\nes-title: Mensaje: tm-permalink\nmodified: 20160415111836727\ntags: Messages\ntitle: WidgetMessage: tm-permalink\ntype: text/vnd.tiddlywiki\n\nEl mensaje `tm-permalink` cambia la dirección de la barra del navegador para formar un  [[permalink|PermaLinks]]: dirección web que lleva hasta un tiddler específico (por defecto, el tiddler actual).\n\nEste mensaje permite las siguientes propiedades del objeto `event`:\n\n|!Nombre |!Descripción |\n|param |Título del tiddler para el permalink |\n|tiddlerTitle |El tiddler actual (usado por defecto si no se especifica otro en el `param`) |\n\nEste mensaje puede generarse con el ButtonWidget y lo procesa el mecanismo StoryMechanism"
  },
  {
    "path": "editions/es-ES/tiddlers/WidgetMessage__tm-permaview.tid",
    "content": "caption: tm-permaview\ncreated: 20140723103751357\nes-title: Mensaje: tm-permaview\nmodified: 20160415110056356\ntags: Messages\ntitle: WidgetMessage: tm-permaview\ntype: text/vnd.tiddlywiki\n\nEl mensaje `tm-permaview` cambia la dirección del navegador para formar una [[permaview|PermaLinks]]: dirección web que especifica qué tiddlers aparecerán abiertos en el StoryRiver y entre estos, cuál se muestra primero en pantalla (por defecto, el tiddler actual).\n\nEste mensaje permite las siguientes propiedades del objeto `event`:\n\n|!Nombre |!Descripción |\n|param |Título del tiddler de la permaview que primero se mostrará en pantalla |\n|tiddlerTitle |Tiddler actual (usado por defecto si no se especifica otro en el `param`) |\n\nEste mensaje puede generarse con el ButtonWidget y lo procesa el mecanismo StoryMechanism\n"
  },
  {
    "path": "editions/es-ES/tiddlers/WidgetMessage__tm-remove-field.tid",
    "content": "caption: tm-remove-field\ncreated: 20140908185153663\nes-title: Mensaje: tm-remove-field\nmodified: 20160415103257754\ntags: Messages\ntitle: WidgetMessage: tm-remove-field\ntype: text/vnd.tiddlywiki\n\nEl mensaje `tm-remove-field` elimina el campo especificado. \n\n|!Nombre |!Descripción |\n|param |Nombre del campo para eliminar |\n\nEste mensaje se genera normalmente con ButtonWidget y lo procesa FieldManglerWidget.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/WidgetMessage__tm-remove-tag.tid",
    "content": "caption: tm-remove-tag\ncreated: 20140908185153663\nes-title: Mensaje: tm-remove-tag\nmodified: 20160415102953003\ntags: Messages\ntitle: WidgetMessage: tm-remove-tag\ntype: text/vnd.tiddlywiki\n\nEl mensaje `tm-remove-tag` elimina la etiqueta especificada.\n\n|!Name |!Description |\n|param |Nombre de etiqueta para borrar |\n\nEste mensaje normalmente se genera con ButtonWidget y lo procesa FieldManglerWidget.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/WidgetMessage__tm-save-tiddler.tid",
    "content": "caption: tm-save-tiddler\ncreated: 20140226090544323\nes-title: Mensaje: tm-save-tiddler\nmodified: 20160415101900363\ntags: Messages navigator-message\ntitle: WidgetMessage: tm-save-tiddler\ntype: text/vnd.tiddlywiki\n\nEl mensaje `tm-save-tiddler` se aplica a los tiddlers en borrador. Sobreescribe el tiddler identificado en el campo `draft.of` y elimina el borrador. Este mensaje requere las siguientes propiedades del objeto `event`\n\n|!Nombre |!Descripción |\n|param |Título del tiddler que se sobreescribe |\n|tiddlerTitle |Tídulo alternativo si no se especifica ''param'' (asignado automáticamente por ButtonWidget)  |\n\nEste mensaje normalmente lo genera ButtonWidget y lo procesa NavigatorWidget.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/WidgetMessage__tm-save-wiki.tid",
    "content": "caption: tm-save-wiki\ncreated: 20140811112325641\nes-title: Mensaje: tm-save-wiki\nmodified: 20160415095926978\ntags: Messages\ntitle: WidgetMessage: tm-save-wiki\ntype: text/vnd.tiddlywiki\n\nEl mensaje `tm-save-wiki`hace que el SaverModule actual realice una operación de guardado de todo el wiki. Dicha operación puede requerir intervención del usuario. Precisa de las siguientes propiedades en el objeto `event`:\n\n|!Nombre |!Descripción |\n|param |Título del tiddler que sirve de plantilla para generar el wiki. (por defecto `$:/core/save/all`) |\n|paramObject |HashMap opcional de valores de variable para usar al generar el wiki |\n\nEste mensaje lo genera habitualmente ButtonWidget.\n\nThe save wiki message is usually generated by the ButtonWidget.\n\nEl SyncMechanism del núcleo es quien procesa este mensaje invocando el [[SaverModule|SaverModules]] actual."
  },
  {
    "path": "editions/es-ES/tiddlers/WidgetMessage__tm-server-refresh.tid",
    "content": "caption: tm-server-refresh\ncreated: 20160415093830059\nes-title: Mensaje: tm-server-refresh\nmodified: 20160415093852680\ntags: Messages\ntitle: WidgetMessage: tm-server-refresh\ntype: text/vnd.tiddlywiki\n\nEl mensaje `tm-server-refresh` intenta sincronizar con el servidor los últimos cambios del cliente. \n\nEl SyncMechanism del núcleo es quien procesa este mensaje invocando el  [[Módulo de sincronización|SyncAdaptorModules]] actual, (normalmente, el plugin ''tiddlywiki/tiddlywebadaptor'').\n\n"
  },
  {
    "path": "editions/es-ES/tiddlers/WidgetMessage__tm-set-password.tid",
    "content": "caption: tm-set-password\ncreated: 20140226084623977\nes-title: Mensaje: tm-set-password\nmodified: 20160415092319425\ntags: Messages\ntitle: WidgetMessage: tm-set-password\ntype: text/vnd.tiddlywiki\n\nEl mensaje `tm-set-password`pide al usuario que establezca una contraseña y la guarda en el depósito, sustituyendo cualquier otra contraseña que se hubiera guardado anteriormente. Como consecuencia, establece también el valor de [[$:/isEncrypted]] \n\nMás detalles en EncryptionMechanism.\n\nEste mensaje lo genera habitualmente ButtonWidget y se procesa en el propio núcleo.\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Windows_HTA_Hack.tid",
    "content": "created: 20131212223146250\nes-title: Ejecutar como aplicación HTA\nmodified: 20160413103922670\ntags: [[Saving on InternetExplorer]]\ntitle: Windows HTA Hack\ntype: text/vnd.tiddlywiki\n\nEn Windows es posible convertir TiddlyWiki en aplicación local cambiando la extensión `.html` por `.hta` (HTML-Application).\n\nCon este cambio se permite que el módulo ''fsosaver'' use el ~FileSystemObject de ~ActiveX para guardar los cambios.\n\nHay que tener presente que con este enfoque el archivo TiddlyWiki se guarda codificado en formato UTF-16, que tiene la desventaja de hacerlo el doble de grande que con la codificación habitual en UTF-8. SIn embargo, abrir el archivo y guardarlo por otro medio lo vuelve a codificar como UTF-8.\n\nEn la Wikipedia encontrarás más detalles sobre las aplicaciones HTML o HTA: \n\nhttp://en.wikipedia.org/wiki/HTML_Application\n"
  },
  {
    "path": "editions/es-ES/tiddlers/Working_with_TiddlyWiki.tid",
    "content": "caption: Trabajar con TiddlyWiki\ncreated: 20140904101100000\nes-title: Trabajar con TiddlyWiki\nlist: [[The First Rule of Using TiddlyWiki]] GettingStarted [[Getting Started Video]] Upgrading [[Navigating between open tiddlers]] [[Using links to navigate between tiddlers]] [[Searching in TiddlyWiki]] [[Creating and editing tiddlers]] [[Creating journal tiddlers]] Saving [[Formatting text in TiddlyWiki]] [[Structuring TiddlyWiki]] Tagging [[Images in WikiText]] KeyboardShortcuts Encryption\nmodified: 20160421093840593\ntags: TableOfContents\ntitle: Working with TiddlyWiki\ntype: text/vnd.tiddlywiki\n\nInformación de ayuda para empezar a usar ~TiddlyWiki:\n\n<<list-links \"[tag[Working with TiddlyWiki]]\">>\n\n"
  },
  {
    "path": "editions/es-ES/tiddlers/_A_Thesis_Notebook__by_Alberto_Molina.tid",
    "content": "caption: \"A Thesis Notebook\", de Alberto Molina\ncreated: 20130302085406905\nes-title: \"A Thesis Notebook\", de Alberto Molina\nmodified: 20160417093653037\ntags: Examples\ntitle: \"A Thesis Notebook\" by Alberto Molina\ntype: text/vnd.tiddlywiki\nurl: http://tesis.tiddlyspot.com/\n\nCuaderno de tesis basado en TiddlyWiki\n\n{{!!url}}\n\n<<<\nEste es un ejemplo de cuaderno de tesis, construido sobre TiddlyWiki 5.0.8-beta.\n\nTiddlyWiki es un gran programa creado por Jeremy Ruston. Te permite, entre otras cosas, tomar notas, organizar ideaas, guardar información y ver todas tus cosas de la forma que queres. Es una herramiente increíblemente flexible que puedes adaptar para que satisfaga casi todas tus necesidades. \n\nEste TiddlyWiki ha sido adaptado para servir de cuaderno de notas de filosofía, centrado en autores, libros y artículos, conceptos y teorías, además de notas personales. Lo uso junto con Zotero, que es un programa de bibliografía. Ambos son proyectos gratuitos de código abierto. TiddlyWiki se puede descargar de https://tiddlywiki.com\n<<<\n"
  },
  {
    "path": "editions/es-ES/tiddlers/_PETTIL_-_Forth_for_the_Commodore_PET__by_Charlie_Hitselberger.tid",
    "content": "caption: \"PETTIL - Forth for the Commodore PET\", de Charlie Hitselberger\ncreated: 20140716085406905\nest-title: \"PETTIL - Forth for the Commodore PET\", de Charlie Hitselberger\nmodified: 20160417094349850\ntags: Examples\ntitle: \"PETTIL - Forth for the Commodore PET\" by Charlie Hitselberger\ntype: text/vnd.tiddlywiki\nurl: http://chitselb.com/files/tiddlypettil.html\n\nIntérprete rápido de de Forth para el [[Commodore PET|http://en.wikipedia.org/wiki/Commodore_PET]], escrito en lenguaje ensamblador 6502. El ~TiddlyWiki que contiene documentación del programa se genera automáticamente de la fuente: ver: https://github.com/chitselb/pettil.\n\n{{!!url}}\n\n<<<\nLos objetivos del proyecto son, sin ningún orden en particular: \n\n*hacer un Forth que funcione en mi Commodore PET 2001\n\n*divertirme\n\n* desarrollar mi pericia con el \"6502 assembly golf\"\n\n*encontrar otra gente interesada en este proyecto\n<<<\n"
  },
  {
    "path": "editions/es-ES/tiddlers/_TiddlyWiki_for_Scholars__by_Alberto_Molina.tid",
    "content": "caption: TiddlyWiki for Scholars\ncreated: 20140720085406905\nes-title: \"TiddlyWiki for Scholars\", por Alberto Molina\nmodified: 20160412171901066\ntags: Resources\ntitle: \"TiddlyWiki for Scholars\" by Alberto Molina\ntype: text/vnd.tiddlywiki\nurl: http://tw5.scholars.tiddlyspot.com/\n\nEdición de una versión anterior de TiddlyWiki, adaptada para la toma rigurosa de notas académicas. \n\n{{!!url}}\n\n<<<\n''~TiddlyWiki for Scholars'' es una customización personal de TiddlyWiki 5.0.13-beta que hice para tomar notas de lectura, pero que puede servir también a otros fines La idea subyacente en esta adaptación es la de poder crear y mostrar información relacionada con el tiddler que se visualiza, sin tener que salir de él para hacerlo. \n<<<\n"
  },
  {
    "path": "editions/es-ES/tiddlers/images/favicon.png.meta",
    "content": "title: $:/favicon.ico\ntype: image/png\n"
  },
  {
    "path": "editions/es-ES/tiddlers/images/green_favicon.png.meta",
    "content": "title: $:/green_favicon.ico\ntype: image/png\n"
  },
  {
    "path": "editions/es-ES/tiddlers/prueba.tid",
    "content": "created: 20160422133907806\nmodified: 20160422133919726\ntags: \ntitle: prueba\ntype: text/vnd.tiddlywiki\n\nblablabla"
  },
  {
    "path": "editions/es-ES/tiddlers/system/download-empty-button.tid",
    "content": "title: $:/editions/es-ES/snippets/download-empty-button\n\n<$button class=\"tc-btn-big-green\">\n<$action-sendmessage $message=\"tm-download-file\" $param=\"$:/editions/es-ES/download-empty\" filename=\"empty_es.html\"/>\nDescargar un wiki en blanco {{$:/core/images/save-button}}\n</$button>"
  },
  {
    "path": "editions/es-ES/tiddlers/system/download-empty.tid",
    "content": "title: $:/editions/es-ES/download-empty\ntype: text/vnd.tiddlywiki\n\n\\define saveTiddlerFilter()\n[[$:/core]] [[$:/isEncrypted]] [[$:/themes/tiddlywiki/snowwhite]] [[$:/themes/tiddlywiki/vanilla]] [[$:/languages/es-ES]] [[$:/language]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] -[has[plugin-type]field:platform[server]] +[sort[title]]\n\\end\n\\define savingEmpty()\nyes\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
  },
  {
    "path": "editions/es-ES/tiddlers/system/language.tid",
    "content": "created: 20160411180834313\nmodified: 20160412080831472\ntitle: $:/language\ntype: text/vnd.tiddlywiki\n\n$:/languages/es-ES"
  },
  {
    "path": "editions/es-ES/tiddlers/task.tid",
    "content": "color: #8d9ac3\ncreated: 20130825213200000\nlist: [[Make the beds]]\nmodified: 20160603152407526\ntitle: task\n\n//Tarea de muestra para el [[Ejemplo de administración de tareas|TaskManagementExample]]//\n"
  },
  {
    "path": "editions/es-ES/tiddlers/tv-auto-open-on-import_Variable.tid",
    "content": "caption: tv-auto-open-on-import\ncreated: 20150228120919000\nes-title: Variable: tv-auto-open-on-import\nmodified: 20160416040705105\ntags: Variables [[Core Variables]] [[Configuration Variables]]\ntitle: tv-auto-open-on-import Variable\ntype: text/vnd.tiddlywiki\n\nLa [[variable|Variables]] <<.def tv-auto-open-on-import>> controla si el mensaje `tm-import-tiddlers` abre en el StoryRiver el tiddler [[$:/Import]] (que muestra la lista de tiddlers pendientes de importación).\n\nPor defecto, el tiddler se abre, pero si la variable tiene valor <<.value no>>, no lo hace.\n\nUn ejemplo de ajuste de esta variable con valor <<.value no>> puede verse en el plugin de actualización en el [[asistente de actualización de TiddlyWiki|https://www.tiddlywiki.com/upgrade.html]], donde el usuario arrastra los archivos que quiera actualizar pero en pantalla no se muestra la importación del modo habitual."
  },
  {
    "path": "editions/es-ES/tiddlywiki.info",
    "content": "{\n\t\"description\": \"Spanish (Spain) edition\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/internals\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\",\n\t\t\"tiddlywiki/starlight\",\n\t\t\"tiddlywiki/seamless\",\n\t\t\"tiddlywiki/centralised\",\n\t\t\"tiddlywiki/tight\",\n\t\t\"tiddlywiki/readonly\"\n\t],\n\t\"languages\": [\n\t\t\"es-ES\"\n\t],\n\t\"includeWikis\": [\n\t\t{\"path\": \"../tw5.com\", \"read-only\": true}\n\t],\n\t\"build\": {\n\t\t\"index\": [\n\t\t\t\"--savetiddlers\",\"[tag[external-image]]\",\"images\",\n\t\t\t\"--rendertiddlers\",\"[tag[external-text]]\",\"$:/core/templates/tid-tiddler\",\"text\",\"text/plain\",\".tid\",\n\t\t\t\"--setfield\",\"[tag[external-image]]\",\"_canonical_uri\",\"$:/core/templates/canonical-uri-external-image\",\"text/plain\",\n\t\t\t\"--setfield\",\"[tag[external-text]]\",\"_canonical_uri\",\"$:/core/templates/canonical-uri-external-text\",\"text/plain\",\n\t\t\t\"--setfield\",\"[tag[external-image]] [tag[external-text]]\",\"text\",\"\",\"text/plain\",\n\t\t\t\"--rendertiddler\",\"$:/core/save/all\",\"index.html\",\"text/plain\"],\n\t\t\"empty\": [\n\t\t\t\"--rendertiddler\",\"$:/editions/es-ES/download-empty\",\"empty.html\",\"text/plain\"],\n\t\t\"favicon\": [\n\t\t\t\"--savetiddler\",\"$:/favicon.ico\",\"favicon.ico\",\n\t\t\t\"--savetiddler\",\"$:/green_favicon.ico\",\"static/favicon.ico\"],\n\t\t\"static\": [\n\t\t\t\"--rendertiddler\",\"$:/core/templates/static.template.html\",\"static.html\",\"text/plain\",\n\t\t\t\"--rendertiddler\",\"$:/core/templates/alltiddlers.template.html\",\"alltiddlers.html\",\"text/plain\",\n\t\t\t\"--rendertiddlers\",\"[!is[system]]\",\"$:/core/templates/static.tiddler.html\",\"static\",\"text/plain\",\n\t\t\t\"--rendertiddler\",\"$:/core/templates/static.template.css\",\"static/static.css\",\"text/plain\"]\n\t},\n\t\"config\": {\n\t\t\"retain-original-tiddler-path\": true\n\t}\n}\n"
  },
  {
    "path": "editions/es-ES-server/tiddlers/config-Navigation-UpdateAddressBar.tid",
    "content": "created: 20140910212049455\ntitle: $:/config/Navigation/UpdateAddressBar\ntype: text/vnd.tiddlywiki\nnote: <!-- TODO: Remove before end of beta -->\n\npermaview"
  },
  {
    "path": "editions/es-ES-server/tiddlers/config-more-button.tid",
    "content": "created: 20140912140419093\nmodified: 20140912140418015\ntitle: $:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/more-page-actions\ntype: text/vnd.tiddlywiki\nnote: <!-- TODO: Remove before end of beta -->\n\nshow"
  },
  {
    "path": "editions/es-ES-server/tiddlers/system/favicon.png.meta",
    "content": "title: $:/favicon.ico\ntype: image/png\n"
  },
  {
    "path": "editions/es-ES-server/tiddlywiki.info",
    "content": "{\n\t\"description\": \"Configuración en modo servidor de la edición es-ES\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/tiddlyweb\",\n\t\t\"tiddlywiki/filesystem\",\n\t\t\"tiddlywiki/highlight\",\n\t\t\"tiddlywiki/internals\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\"\n\t],\n\t\"includeWikis\": [\n\t\t\"../es-ES\"\n\t],\n\t\"config\": {\n\t\t\"retain-original-tiddler-path\": true,\n\t\t\"default-tiddler-location\": \"../es-ES/tiddlers\"\n\t}\n}\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/$ _config_ViewTemplateTitleFilters_fr-default.tid",
    "content": "created: 20220219141117559\nlist-before: $:/config/ViewTemplateTitleFilters/default\nmodified: 20220220192507247\ntags: $:/tags/ViewTemplateTitleFilter\ntitle: $:/config/ViewTemplateTitleFilters/fr-default\n\n[has[fr-title]then[$:/core/ui/ViewTemplate/title/fr-default]]"
  },
  {
    "path": "editions/fr-FR/tiddlers/$ _core_ui_ViewTemplate_title_fr-default.tid",
    "content": "created: 20220219134855444\nmodified: 20220220192530872\ntitle: $:/core/ui/ViewTemplate/title/fr-default\n\n\\whitespace trim\n<h2 class=\"tc-title\">\n<$view field=\"fr-title\"/>\n</h2>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/$__Acknowledgements.tid",
    "content": "created: 20141115220312678\nmodified: 20141115220543951\ntitle: $:/Acknowledgements\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki intègre du code provenant de ces excellents projets OpenSource<<dp>>\n\n* [[The Stanford Javascript Crypto Library|http://bitwiseshiftleft.github.io/sjcl/]]\n* [[The Jasmine JavaScript Test Framework|https://jasmine.github.io/]]\n* [[Normalize.css by Nicolas Gallagher|http://necolas.github.io/normalize.css/]]\n\nEt des contenus provenenant de ces sources<<dp>>\n\n* Icônes des drapeaux du monde de [[Wikipedia|http://commons.wikimedia.org/wiki/Category:SVG_flags_by_country]]\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/$__ContributionBanner.tid",
    "content": "created: 20141123120637390\nlist-after: $:/core/ui/EditTemplate/title\nmodified: 20141123162403315\ntags: $:/tags/EditTemplate\ntitle: $:/ContributionBanner\ntype: text/vnd.tiddlywiki\n\n\\define base-github()\nhttps://github.com/TiddlyWiki/TiddlyWiki5/edit/master/editions/fr-FR/tiddlers/\n\\end\n\n<$set name=\"draft-of\" value={{{ [<currentTiddler>get[draft.of]] }}}>\n<$list filter=\"[[$:/config/OriginalTiddlerPaths]getindex<draft-of>]\" variable=\"target\" >\n<div class=\"tc-improvement-banner\">\n{{$:/core/images/star-filled}} Pouvez-vous nous aider à améliorer cette documentation ? [[Voyez comment|Improving TiddlyWiki Documentation]] éditer\n<a href={{{ [<target>addprefix<base-github>] }}} class=\"tc-tiddlylink-external\" target=\"_blank\" rel=\"noopener noreferrer\">ce tiddler sur ~GitHub</a>\n</div>\n</$list>\n</$set>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/$__CurvedText.tid",
    "content": "created: 20141116131524391\nmodified: 20150620165526918\ntitle: $:/CurvedText\ntype: text/vnd.tiddlywiki\n\nSur Firefox/Mac, suit seulement la dernière colline "
  },
  {
    "path": "editions/fr-FR/tiddlers/$__DefaultTiddlers.tid",
    "content": "created: 20131127215321439\nmodified: 20141129081225712\ntitle: $:/DefaultTiddlers\ntype: text/vnd.tiddlywiki\n\nHelloThere\nGettingStarted\nCommunity\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/$__SiteSubtitle.tid",
    "content": "created: 20141115234557425\nmodified: 20141115234636070\ntitle: $:/SiteSubtitle\ntype: text/vnd.tiddlywiki\n\nun carnet de notes web personnel et non linéaire\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/$__core_ui_DefaultSearchResultList.tid",
    "content": "caption: {{$:/language/Search/DefaultResults/Caption}}\ncreated: 20141117081621387\nmodified: 20141203175833281\ntags: $:/tags/SearchResults\ntitle: $:/core/ui/DefaultSearchResultList\ntype: text/vnd.tiddlywiki\n\n\\define searchResultList()\n//<small>{{$:/language/Search/Matches/Title}}</small>//\n\n<$list filter=\"[!is[system]search:title{$(searchTiddler)$}sort[caption]limit[250]] [!is[system]search:fr-title{$(searchTiddler)$}sort[title]limit[250]][!is[system]search:en-title{$(searchTiddler)$}sort[title]limit[250]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n//<small>{{$:/language/Search/Matches/All}}</small>//\n\n<$list filter=\"[!is[system]search{$(searchTiddler)$}sort[title]limit[250]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n\\end\n<<searchResultList>>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/$__core_ui_ListItemTemplate.tid",
    "content": "created: 20141117221740337\nmodified: 20141203175714604\ntitle: $:/core/ui/ListItemTemplate\ntype: text/vnd.tiddlywiki\n\n<div class=\"tc-menu-list-item\">\n<$link to={{!!title}}>\n<$view field=\"fr-title\">\n<$view field=\"title\"/>\n</$view>\n</$link>\n</div>"
  },
  {
    "path": "editions/fr-FR/tiddlers/$__deprecated.tid",
    "content": "created: 20170126143833588\nfr-title: obsolète\nmodified: 20220303000909524\ntitle: $:/deprecated\ntype: text/vnd.tiddlywiki\n\n<<<\nL'obsolescence est, dans le domaine du développement logiciel, la situation où une ancienne fonctionnalité est considérée comme dépassée au regard d'un nouveau standard, et où, bien qu'elle soit conservée dans les versions plus récentes (par souci de rétro-compatibilité, et pour donner aux développeurs le temps de mettre leur code source en conformité), elle pourrait disparaître à l'avenir, si bien qu'il est recommandé d'en abandonner l'usage.\n<<< [[wikipedia|https://fr.wikipedia.org/wiki/Obsolescence_(informatique)]]\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/$__editions_fr-FR_CSS Stylesheets_mesStyles.tid",
    "content": "created: 20141017093648366\nmodified: 20141116084637091\ntags: $:/tags/Stylesheet\ntitle: $:/editions/fr-FR/CSS Stylesheets/mesStyles\ntype: text/css\n\n.monStyle {\n  color:#ff0000;\n  background-color:#ffff00;\n}\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/$__editions_fr-FR_CSS Stylesheets_utils.tid",
    "content": "created: 20141128135102023\nmodified: 20141128135233410\ntags: $:/tags/Stylesheet\ntitle: $:/editions/fr-FR/CSS Stylesheets/utils\ntype: text/css\n\n.inline-button {\n  height: 13px; \n  width: 13px; \n  vertical-align:-1ex; \n  display:inline-block; \n  fill:grey;\n}\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/$__editions_fr-FR_CSS stylesheets_latex.tid",
    "content": "created: 20141005182628123\nmodified: 20141115214429648\ntags: $:/tags/Stylesheet\ntitle: $:/editions/fr-FR/CSS stylesheets/latex\ntype: text/css\n\n/* adapted from http://edward.oconnor.cx/2007/08/tex-poshlet */\n\n.latex {\n  text-transform: uppercase;\n}\n\n.latex sub {\n  font-size: 1em;\n  margin-left: -0.1667em;\n  margin-right: -0.125em;\n}\n\n.latex sup {\n  vertical-align: -0.4ex;\n  font-size: 0.85em;\n  margin-left: -0.36em;\n  margin-right: -0.15em;\n}\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/$__editions_fr-FR_Macros_list.tid",
    "content": "created: 20141127091159720\nmodified: 20141221122727114\ntags: $:/tags/Macro\ntitle: $:/editions/fr-FR/Macros/list\ntype: text/vnd.tiddlywiki\n\n\\define list-links(filter,type:\"ul\",subtype:\"li\",class:\"\")\n<!-- Essentially overriding $:/core/macros/list\n\t so that the list item is rather labeled with fr-title\n     when present. -->\n<$type$ class=\"$class$\">\n<$list filter=\"$filter$\">\n<$subtype$>\n<$link to={{!!title}}>\n<$transclude field=\"caption\">\n<$view field=\"fr-title\">\n<$view field=\"title\"/>\n</$view>\n</$transclude>\n</$link>\n</$subtype$>\n</$list>\n</$type$>\n\\end\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/$__editions_fr-FR_Macros_timeline-title.tid",
    "content": "created: 20141212105632762\nmodified: 20141212105822388\ntags: $:/tags/Macro\ntitle: $:/editions/fr-FR/Macros/timeline-title\ntype: text/vnd.tiddlywiki\n\n\\define timeline-title()\n<$view field=\"fr-title\">\n<$view field=\"title\"/>\n</$view>\n\\end"
  },
  {
    "path": "editions/fr-FR/tiddlers/$__editions_fr-FR_Macros_toc-caption.tid",
    "content": "created: 20141212090228728\nmodified: 20141212090606825\ntags: $:/tags/Macro\ntitle: $:/editions/fr-FR/Macros/toc-caption\ntype: text/vnd.tiddlywiki\n\n\\define toc-caption()\n<$set name=\"tv-wikilinks\" value=\"no\">\n<$transclude field=\"caption\">\n<$view field=\"fr-title\">\n<$view field=\"title\"/>\n</$view>\n</$transclude>\n</$set>\n\\end\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/$__editions_fr-FR_Macros_wikitexte-exemple.tid",
    "content": "created: 20141017091409980\nmodified: 20141116084827059\ntags: $:/tags/Macro\ntitle: $:/editions/fr-FR/Macros/wikitexte-exemple\ntype: text/vnd.tiddlywiki\n\n\\define wikitexte-exemple(src)\n```\n$src$\n```\n<div class=\"tc-message-box\">\n\n$src$\n</div>\n\\end\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/$__editions_tw5.com_doc-macros.tid",
    "content": "created: 20150117152607000\nmodified: 20220304140636794\ntags: $:/tags/Macro\ntitle: $:/editions/tw5.com/doc-macros\ntype: text/vnd.tiddlywiki\n\n\\define .concat(1,2,3,4,5) $1$$2$$3$$4$$5$\n\n\\define .def(_) <dfn class=\"doc-def\">$_$</dfn>\n\\define .em(_) <em class=\"doc-em\">$_$</em>\n\\define .strong(_) <strong class=\"doc-strong\">$_$</strong>\n\\define .place(_) <code class=\"doc-place\">$_$</code>\n\\define .word(_) \"$_$\"\n\n\\define .preamble(_) :.doc-preamble $_$\n\\define .note(_)\n@@.doc-note\n;Note\n: $_$\n@@\n\\end\n\n\\define .tid(_) <code class=\"doc-tiddler\">$_$</code>\n\\define .tag(_) <code class=\"doc-tag\">$_$</code>\n\\define .field(_) <code class=\"doc-field\">$_$</code>\n\\define .value(_) <code class=\"doc-value\">$_$</code>\n\\define .op(_) <code class=\"doc-operator\">$_$</code>\n\\define .var(_) <code class=\"doc-var\">$_$</code>\n\\define .wid(_) <code class=\"doc-widget\">$$_$</code>\n\\define .attr(_) <code class=\"doc-attr\">$_$</code>\n\\define .param(_) <code class=\"doc-param\">$_$</code>\n\n\\define .mtitle(_) Macro $_$\n\\define .otitle(_) Opérateur $_$\n\\define .vtitle(_) Variable $_$\n\n\\define .link(_,to) <$link to=\"$to$\">$_$</$link>\n\\define .clink(_,to) <span class=\"doc-clink\"><<.link \"\"\"$_$\"\"\" \"$to$\">></span>\n\\define .dlink(_,to) <$macrocall $name=\".link\" _=<<.def \"$_$\">> to=\"$to$\">/>\n\\define .dlink-ex(_,to) <a href=\"$to$\" class=\"tc-tiddlylink-external\" target=\"_blank\" rel=\"noopener noreferrer\"><<.def \"$_$\">></a>\n\\define .flink(to) <$macrocall $name=\".link\" _=<<.field {{$to$!!caption}}>> to=\"$to$\"/>\n\\define .mlink(_,to) <$macrocall $name=\".link\" _=<<.var \"$_$\">> to=<<.mtitle \"$_$\">>/>\n\\define .mlink2(_,to) <$macrocall $name=\".link\" _=<<.var \"$_$\">> to=\"$to$\"/>\n\\define .olink(_) <$macrocall $name=\".link\" _=<<.op \"$_$\">> to=<<.otitle \"$_$\">>/>\n\\define .olink2(_,to) <$macrocall $name=\".link\" _=<<.op \"$_$\">> to=<<.otitle \"$to$\">>/>\n\\define .vlink(_,to) <$macrocall $name=\".link\" _=<<.var \"$_$\">> to=<<.vtitle \"$_$\">>/>\n\\define .vlink2(_,to) <$macrocall $name=\".link\" _=<<.var \"$_$\">> to=\"$to$\"/>\n\\define .wlink(to) <$macrocall $name=\".link\" _=<<.wid {{$to$!!caption}}>> to=\"$to$\"/>\n\\define .wlink2(_,to) <$macrocall $name=\".link\" _=\"$_$\" to=\"$to$\"/>\n\n\\define .key(_) <span class=\"doc-key\">$_$</span>\n\\define .combokey(_) <$macrocall $name=\".if\" cond=\"$_$\" then=<<.key '$_$'>>/>\n\\define .keycombo(1,2,3,4) <<.combokey \"$1$\">><<.if \"$2$\" +>><<.combokey \"$2$\">><<.if \"$3$\" +>><<.combokey \"$3$\">><<.if \"$4$\" +>><<.combokey \"$4$\">>\n\n\\define .tab(_) <span class=\"doc-tab\">{{$_$!!caption}}</span>\n\\define .sidebar-tab(_) <<.tab \"$:/core/ui/SideBar/$_$\">>\n\\define .more-tab(_) <<.tab \"$:/core/ui/MoreSideBar/$_$\">>\n\\define .info-tab(_) <<.tab \"$:/core/ui/TiddlerInfo/$_$\">>\n\\define .controlpanel-tab(_) <<.tab \"$:/core/ui/ControlPanel/$_$\">>\n\\define .advancedsearch-tab(_) <<.tab \"$:/core/ui/AdvancedSearch/$_$\">>\n\\define .toc-tab() <<.tab \"TableOfContents\">>\n\\define .example-tab(_) <span class=\"doc-tab\">$_$</span>\n\n\\define .button(_) <span class=\"doc-button\">{{$:/core/ui/Buttons/$_$!!caption}}</span>\n\n\\define .icon(_) <span class=\"doc-icon\">{{$_$}}</span>\n\n\\define .tip(_) <div class=\"doc-icon-block\"><div class=\"doc-block-icon\">{{$:/core/images/tip}}</div> $_$</div>\n\\define .warning(_) <div class=\"doc-icon-block\"><div class=\"doc-block-icon\">{{$:/core/images/warning}}</div> $_$</div>\n\n\\define .state-prefix() $:/state/editions/tw5.com/\n\n\\define .lorem()\nLorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n\\end\n\n\\define .toc-lorem()\nC'est un exemple de tiddler. Voir [[Macros Table des matières (Exemples)|Table-of-Contents Macros (Examples)]].\n\n<<.lorem>>\n\\end\n\n\\define .example(n,eg,egvar:NO-SUCH-VAR)\n<div class=\"doc-example\">\n<$reveal default=\"$egvar$\" type=\"match\" text=\"NO-SUCH-VAR\">\n\t<$macrocall $name=\"copy-to-clipboard-above-right\" src=\"\"\"$eg$\"\"\"/>\n\t<$codeblock code=\"\"\"$eg$\"\"\"/>\n</$reveal>\n<$reveal default=\"$egvar$\" type=\"nomatch\" text=\"NO-SUCH-VAR\">\n\t<!-- allow an example to contain \"\"\" -->\n\t<$macrocall $name=\"copy-to-clipboard-above-right\" src=<<$egvar$>>/>\n\t<$codeblock code=<<$egvar$>>/>\n</$reveal>\n<$list filter=\"[title<.state-prefix>addsuffix{!!title}addsuffix[/]addsuffix[$n$]]\" variable=\".state\">\n<$reveal state=<<.state>> type=\"nomatch\" text=\"show\">\n\t<dl>\n\t<dd><$button set=<<.state>> setTo=\"show\">Essayez</$button></dd>\n\t</dl>\n</$reveal>\n<$reveal state=<<.state>> type=\"match\" text=\"show\">\n\t<dl>\n\t<dd><$button set=<<.state>> setTo=\"\">Cachez</$button></dd>\n\t</dl>\n\t<blockquote class=\"doc-example-result\">\n\t<$reveal default=\"$egvar$\" type=\"match\" text=\"NO-SUCH-VAR\">\n\t\t$eg$\n\t</$reveal>\n\t<$reveal default=\"$egvar$\" type=\"nomatch\" text=\"NO-SUCH-VAR\">\n\t\t<<$egvar$>>\n\t</$reveal>\n\t</blockquote>\n</$reveal>\n</$list>\n\\end\n\n\\define .bad-example(eg)\n<table class=\"doc-bad-example\">\n<tbody>\n<tr class=\"evenRow\">\n<td><span style=\"font-size:1.5em;\">&#9888;</span> Attention&nbsp;:<br> Ne faites pas comme ça !</td>\n<td>\n\n$eg$\n</td>\n</tr>\n</tbody>\n</table>\n\\end\n\n\\define .link-badge(text,link,colour)\n<a href=<<__link__>> class=\"doc-link-badge\" style=\"background-color:$colour$;\" target=\"_blank\" rel=\"noopener noreferrer\"><$text text=<<__text__>>/></a>\n\\end\n\n\n\\define .link-badge-added(link,colour:#ffe246) <<.link-badge \"ajouté\" \"\"\"$link$\"\"\" \"\"\"$colour$\"\"\">>\n\\define .link-badge-addendum(link,colour:#fcc84a) <<.link-badge \"addendum\" \"\"\"$link$\"\"\" \"\"\"$colour$\"\"\">>\n\\define .link-badge-extended(link,colour:#f9a344) <<.link-badge \"étendu\" \"\"\"$link$\"\"\" \"\"\"$colour$\"\"\">>\n\\define .link-badge-fixed(link,colour:#ffa86d) <<.link-badge \"corrigé\" \"\"\"$link$\"\"\" \"\"\"$colour$\"\"\">>\n\\define .link-badge-here(link,colour:#d88e63) <<.link-badge \"ici\" \"\"\"$link$\"\"\" \"\"\"$colour$\"\"\">>\n\\define .link-badge-hide(link,colour:#9d959f) <<.link-badge \"cacher\" \"\"\"$link$\"\"\" \"\"\"$colour$\"\"\">>\n\\define .link-badge-improved(link,colour:#7593c7) <<.link-badge \"amélioré\" \"\"\"$link$\"\"\" \"\"\"$colour$\"\"\">>\n\\define .link-badge-modified(link,colour:#7f99c9) <<.link-badge \"modifié\" \"\"\"$link$\"\"\" \"\"\"$colour$\"\"\">>\n\\define .link-badge-removed(link,colour:#a9aabc) <<.link-badge \"retiré\" \"\"\"$link$\"\"\" \"\"\"$colour$\"\"\">>\n\\define .link-badge-renamed(link,colour:#b4b995) <<.link-badge \"renommé\" \"\"\"$link$\"\"\" \"\"\"$colour$\"\"\">>\n\\define .link-badge-updated(link,colour:#91ba66) <<.link-badge \"mis à jour\" \"\"\"$link$\"\"\" \"\"\"$colour$\"\"\">>\n\n\\define .tiddler-fields(tiddler)\n<$tiddler tiddler=<<__tiddler__>>>\n<div class=\"doc-tiddler-fields\">\n<h2>\n<$link>\n<span class=\"tc-tiddler-title-icon\">{{||$:/core/ui/TiddlerIcon}}</span><$text text=<<currentTiddler>>/>\n</$link>\n</h2>\n<table class=\"tc-view-field-table\">\n<tbody>\n<$list filter=\"[all[current]fields[]sort[title]] -title\" template=\"$:/core/ui/TiddlerFieldTemplate\" variable=\"listItem\"/>\n</tbody>\n</table>\n</div>\n</$tiddler>\n\\end\n\n\\define .banner-credits(credit,url)\n<img src=<<__url__>> width=\"140\" style=\"float:left;margin-right:0.5em;\"/>\n\n$credit$\n\n<div style=\"clear:both;\">\n\n</div>\n\\end\n\n<pre><$view field=\"text\"/></pre>"
  },
  {
    "path": "editions/fr-FR/tiddlers/$__editions_tw5.com_macro-examples_say-hi-using-variables.tid",
    "content": "created: 20150221145447000\nmodified: 20150601194637381\ntitle: $:/editions/tw5.com/macro-examples/say-hi-using-variables\ntype: text/vnd.tiddlywiki\n\n\\define say-hi-using-variables()\nSalut, je suis $(name)$ et je vis à $(address)$.\n\\end\n\n\\define name() Bugs\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/$__editions_tw5.com_macro-examples_say-hi.tid",
    "content": "created: 20150221145803000\nmodified: 20150601194542856\ntitle: $:/editions/tw5.com/macro-examples/say-hi\ntype: text/vnd.tiddlywiki\n\n\\define sayhi(name:\"Bugs Bunny\" address:\"Rabbit Hole Hill\")\nSalut, Je suis $name$ et je vis à $address$.\n\\end\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/$__editions_tw5.com_operator-macros.tid",
    "content": "created: 20150117152607000\nmodified: 20150602113928466\ntags: $:/tags/Macro\ntitle: $:/editions/tw5.com/operator-macros\ntype: text/vnd.tiddlywiki\n\n\\define .operator-examples(op,text:\"Examples\") <$link to=\"$op$ Operator (Examples)\">$text$</$link>\n\n\\define .operator-example(n,eg,ie)\n<div class=\"doc-example\">\n`$eg$`\n<$macrocall $name=\".if\" cond=\"\"\"$ie$\"\"\" then=\"\"\"<dd>&rarr; $ie$</dd>\"\"\"/>\n<$list filter=\"[title<.state-prefix>addsuffix{!!title}addsuffix[/]addsuffix[$n$]]\" variable=\".state\">\n<$reveal state=<<.state>> type=\"nomatch\" text=\"show\">\n\t<dl>\n\t<dd><$button set=<<.state>> setTo=\"show\">Essayez</$button></dd>\n\t</dl>\n</$reveal>\n<$reveal state=<<.state>> type=\"match\" text=\"show\">\n\t<dl>\n\t<dd><$button set=<<.state>> setTo=\"\">Hide</$button></dd>\n\t</dl>\n\t<blockquote class=\"doc-example-result\">\n\t<ul><$list filter=\"$eg$\" emptyMessage=\"(empty)\">\n\t<li><$link><$view field=\"title\"/></$link></li>\n\t</$list></ul>\n\t</blockquote>\n</$reveal>\n</$list>\n\\end\n\n\\define .this-is-operator-example() This example tiddler is used to illustrate some of the [[Filter Operators]].\n\\define .using-days-of-week() These examples make use of the [[Days of the Week]] tiddler.\n\\define .s-matching-is-case-sensitive() In looking for matches for <<.place S>>, capital and lowercase letters are treated as different.\n\n\\define .node-only-operator()\n\n<$macrocall $name=\".note\" _=\"This operator is <<.em not>> available when ~TiddlyWiki is running in a web browser.\"/>\n\n\\end\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/$__editions_tw5.com_railroad_macro-parameter-value.tid",
    "content": "created: 20150220191009000\nmodified: 20150602092431500\ntitle: $:/editions/tw5.com/railroad/call-parameter-value\ntype: text/vnd.tiddlywiki.railroad\n\n( '\"\"\"' [:{/'tout sauf \"\"\"'/}] '\"\"\"'\n| '\"'   [:{/'tout sauf \"'/}]   '\"'\n| \"'\"   [:{/\"tout sauf '\"/}]   \"'\"\n| \"[[\"  [:{/\"tout sauf ]\"/}]   \"]]\"\n| \"`\"   [:{/\"tout sauf `\"/}]   \"`\"\n| \"```\"   [:{/\"tout sauf ```\"/}]   \"```\"\n| {/\"\"\"tout sauf ' \" ou espacevierge\"\"\"/}\n)\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/$__editions_tw5.com_variable-macros.tid",
    "content": "created: 20150228114241000\nmodified: 20150619161043143\ntags: $:/tags/Macro\ntitle: $:/editions/tw5.com/variable-macros\ntype: text/vnd.tiddlywiki\n\n\\define .variable-examples(v,text:\"Exemples\") <$link to=\"$v$ Variable (Examples)\">$text$</$link>\n\\define .macro-examples(m,text:\"Exemples\") <$link to=\"$m$ Macro (Examples)\">$text$</$link>\n\n\\define .js-macro-link(_) [[$_$|https://tiddlywiki.com/dev/index.html#JavaScript%20Macros]]\n\n\\define .this-is-static-link-variable() <<.tip \"This variable has no useful effect when ~TiddlyWiki is running in a browser, as the `href` attribute is ignored there -- links between tiddlers are performed by JavaScript instead. The variable comes into play when one is using the [[Node.js configuration|TiddlyWiki on Node.js]] to [[generate a static version|RenderTiddlersCommand]] of a wiki.\">>\n\n\\define .this-is-toolbar-config-variable(configTiddler)\n\nIt can be set to <<.value yes>> or <<.value no>> prior to transcluding such a button.\n\nThe standard page template sets it to the value found in [[$configTiddler$]], with the result that this becomes the default for the whole page. The user can adjust this default by using a tickbox on the <<.controlpanel-tab Settings>> tab of the [[Control Panel|$:/ControlPanel]].\n\\end\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/$__editions_tw5.com_version-macros.tid",
    "content": "created: 20161008085627406\nmodified: 20220303000119560\ntags: $:/tags/Macro\ntitle: $:/editions/tw5.com/version-macros\ntype: text/vnd.tiddlywiki\n\n\\define .from-version(version)\n<span class=\"doc-from-version\">{{$:/core/images/warning}} Depuis<<:>> $version$</span>\n\\end\n\n\\define .deprecated-since(version, superseded:\"TODO-Link\")\n<$button to=\"Deprecated - What does it mean\" class=\"doc-deprecated-version tc-btn-invisible\">{{$:/core/images/warning}} Obsolète depuis<<:>> $version$ </$button>. <%if [<__superseded__>else[]!match[]] %>Utilisez [[$superseded$]] à la place<%endif%>\n\\end\n\n<pre><$view field=\"text\"/></pre>"
  },
  {
    "path": "editions/fr-FR/tiddlers/$__language_Help_build.tid",
    "content": "created: 20141115223004311\ndescription: Lance automatiquement les commandes configurées\nmodified: 20141115223009538\ntitle: $:/language/Help/build\ntype: text/vnd.tiddlywiki\n\nCompile le wiki courant à partir des cibles spécifiées. Si aucune cible n'est spécifiée, toutes les cibles seront compilées.\n\n```\n--build <target> [<target> ...]\n```\n\nLes cibles de compilation sont définies dans le fichier `tiddlywiki.info` du [[dossier associé au wiki|TiddlyWikiFolders]].\n\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/$__plugins_tiddlywiki_railroad_readme.tid",
    "content": "created: 20150102163222184\nmodified: 20150621144340024\ntitle: $:/plugins/tiddlywiki/railroad/readme\ntype: text/vnd.tiddlywiki\n\nCe plugin propose le widget `<$railroad>` pour générer des diagrammes chemin de fer en images SVG.\n\nDe plus, le [[diagramme de notation|$:/plugins/tiddlywiki/railroad/syntax]] peut être stocké dans un tiddler dédié avec son champ `type` réglé sur `text/vnd.tiddlywiki.railroad`, ce tiddler pourra être ainsi simplement transclu partout où il sera nécessaire.\n\nLe plugin est basé sur [[une bibliothèque de Tab Atkins|https://github.com/tabatkins/railroad-diagrams]] qui a été étendue pour la rendre plus malléable, notamment par la possibilité des composant d'un diagramme de fonctionner comme des liens ou d'être transclus à partir d'autres tiddlers.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/$__plugins_tiddlywiki_railroad_syntax-string.tid",
    "content": "created: 20150103184022184\nmodified: 20150621144904727\ntitle: $:/plugins/tiddlywiki/railroad/syntax-string\ntype: text/vnd.tiddlywiki\n\n('\"' texte '\"' | \"'\" texte \"'\" | '\"\"\"' texte '\"\"\"')"
  },
  {
    "path": "editions/fr-FR/tiddlers/$__plugins_tiddlywiki_railroad_syntax.tid",
    "content": "created: 20150103184022184\nmodified: 20150621143842068\ntitle: $:/plugins/tiddlywiki/railroad/syntax\ntype: text/vnd.tiddlywiki\n\nLe widget railroad utilise une notation spéciale pour construire les composants définis çi-après.\n\nIci, `x` et `y` remplacent tout composant.\n\nLes noms (contrairement aux chaines cotées) ne sont composés que de valeurs débutant par une lettre et contenant seulement lettres, chiffres, soulignements, points et traits d'union.\n\n---\n\n; série\n: <$railroad text=\"\"\" [\"<-\"] {x} [\"->\"] \"\"\"/>\n* Une série de composants\n* Les délimiteurs `<-` et `->` permettent d'obliger un composant unique à être traité comme une série. C'est parfois utile pour mettre en valeur un diagramme\n---\n\n; optionnel\n: <$railroad text=\"\"\" \"[\" [\":\"] x \"]\" \"\"\"/>\n* Un composant qui peut être omis\n* Les deux points font qu'`x` soit en tout premier\n\n---\n\n; répété\n: <$railroad text=\"\"\" \"{\" x [:\"+\" y] \"}\" \"\"\"/>\n* Une liste d'un ou plusieurs `x`\n* Le suffixe `+` ajoute `y` comme séparateur entre tout `x` et le suivant\n\n---\n\n; répétition optionnelle\n: <$railroad text=\"\"\" \"[{\" [\":\"] x [:\"+\" y] \"}]\" \"\"\"/>\n* Une liste optionnelle de `x`, i.e. une liste de zéro ou plusieurs `x`\n\n---\n\n; choix\n: <$railroad text=\"\"\" \"(\" {[:\":\"] x +\"|\"} \")\" \"\"\"/>\n* Un ensemble d'alternatives\n* Les deux points indiquent quelle branche arrive en tout premier. Par défaut, c'est la première branche\n\n---\n\n; chaine / terminal\n: <$railroad text={{$:/plugins/tiddlywiki/railroad/syntax-string}}/>\n* Un composant littéral ou terminal\n* Ci-après les règles ~TiddlyWiki normales pour les chaines cotées\n---\n\n; nonterminal\n: <$railroad text=\"\"\" (nom | \"<\" chaine \">\") \"\"\"/>\n* Un composant nonterminal, i.e. le nom d'un autre diagramme\n\n---\n\n; commentaire\n: <$railroad text=\"\"\" \"/\" chaine \"/\" \"\"\"/>\n* Un commentaire\n\n---\n\n; dummy\n: <$railroad text=\"\"\" \"-\" \"\"\"/>\n* L'absence de composant\n\n---\n\n; lien\n: <$railroad text=\"\"\" \"[[\" x \"|\" (nom|chaine) \"]]\" \"\"\"/>\n* Un lien vers le titre d'un tiddler ou l'URI donné par la chaine ou le nom\n\n---\n\n; transclusion\n: <$railroad text=\"\"\" \"{{\" (nom|chaine) \"}}\" \"\"\"/>\n* Interprète le contenu d'un autre tiddler comme un diagramme syntaxique et le transclut dans le diagramme courant\n\n---\n\n; pragma arrow\n: <$railroad text=\"\"\" \"\\flêche\" (\"oui\" | \"non\") \"\"\"/>\n* Contrôle si les chemins répétés ont une flêche ou pas\n* Peut être réglé sur oui ou non dans un diagramme intermédiaire, si désiré\n---\n\n; pragma debug\n: <$railroad text=\"\"\" \"\\debug\" \"\"\"/>\n* Provoque l'affichage du diagramme syntaxique d'un diagramme\n\n---\n\n; pragma start/end\n: <$railroad text=\"\"\" (\"\\start\" |: \"\\end\") (\"aucun\" |: \"simple\" | \"double\") \"\"\"/>\n* Règle le style des diagrammes startpoint ou endpoint\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/About.tid",
    "content": "caption: À propos\ncreated: 20140912145139340\nfr-title: À propos\nmodified: 20150531183154009\ntags: TableOfContents\ntitle: About\ntype: text/vnd.tiddlywiki\n\nInformations sur le développement de <<tw>> :\n\n<<list-links \"[tag[About]]\">>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Acknowledgements.tid",
    "content": "fr-title: Remerciements\ncreated: 20140129204112515\nmodified: 20141115225702483\ntags: About\ntitle: Acknowledgements\ntype: text/vnd.tiddlywiki\n\n<<tw>> n'aurait pas été possible sans le soutien constant de la [[Communauté|Community]]. Son attention et ses retours ont permis de comprendre ce qui était attendu de cet outil, et sa passion pour le projet m'a appris que le jeu en valait la chandelle.\n\n{{$:/Acknowledgements}}\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Adding_a_Twitter_Follow_button.tid",
    "content": "created: 20140103091348509\nfr-title: Ajouter un bouton suivre sur twitter\nmodified: 20150614104441104\ntags: Learning\ntitle: Adding a Twitter Follow button\ntype: text/vnd.tiddlywiki\n\nVoici une macro qui propose un Bouton suivre sur twitter pour un utilisateur particulier<<:>>\n\n```\n\\define twitterFollowButton(username)\n<iframe allowtransparency=\"true\" frameborder=\"0\" scrolling=\"no\" src=\"//platform.twitter.com/widgets/follow_button.html?screen_name=$username$\"  style=\"width:300px; height:20px;\"></iframe>\n\\end\n```\n\nLa seule modification à la version publiée sur https://dev.twitter.com/docs/follow-button est la suppression des nouvelles lignes.\n\nNotez que l'URL src est passée sans protocole (ie \"http\" or \"https\"). De cette façon, cela fonctionne que les sites soient sur un domaine en HTTP ou en HTTPS. Si vous voulez aussi que le bouton Twitter fonctionne en utilisant TiddlyWiki horsligne par une URL \"file://\", vous devrez ajouter manuellement le protocole. Par exemple:\n\n```\n<iframe allowtransparency=\"true\" frameborder=\"0\" scrolling=\"no\" src=\"http://platform.twitter.com/widgets/follow_button.html?screen_name=jermolene\"  style=\"width:300px; height:20px;\"></iframe>\n```\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Adopt a Titles Policy.tid",
    "content": "created: 20130825103300000\nfr-title: Adoptez une politique pour vos titres\nmodified: 20150620095126583\ntags: Learning\ntitle: Adopt a Titles Policy\ntype: text/vnd.tiddlywiki\n\nÀ mesure que les structures à l'intérieur de vos documents <<tw>> se complexifient, il peut être difficile de conserver la cohérence des titres des tiddlers. Par exemple, faut-il définir les termes au pluriel ou au singulier ? Avec la convention <<gf \"//Camel case//\">> ou en séparant les mots<<pi>>\n\nFixer une politique formelle concernant les titres peuvent aider à réduire les risques de confusion. Par exemple, la politique de titres de ce wiki sont<<dp>>\n\n* Utilisation de mots simples en minuscules pour les tags\n** exemples : [[tâche|task]], [[demo]]\n* Utilisation de la convention CamelCase pour les définitions et les concepts\n** exemples : TiddlerFields, DeveloperDocs\n* Utilisation de mots séparés pour les titres qui sont des expressions ou des phrases complètes, comme des FAQ, des howtos ou des tâches\n** exemple : [[Comment construire un TiddlyWiki5 à partir de tiddlers isolés|How to build a TiddlyWiki5 from individual tiddlers]]\n* Là où TiddlyWiki or TiddlyWiki5 est utilisé comme qualifieur au début du titre, toujours utiliser des mots séparés\n** exemple : [[TiddlyWiki sur Node.js|TiddlyWiki on Node.js]]\n\nUne politique qui inclurait la règle ci-dessous pourrait s'appliquer à vos propres wikis<<dp>>\n\n* Utliisation du préfixe `$:/_` pour tous les tiddlers système que vous créez pour être sûr de les retrouver en haut de la liste des tiddlers système de la barre latérale.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/AllTiddlers.tid",
    "content": "created: 20140225211938920\nmodified: 20140921085748634\ntitle: AllTiddlers\ntype: text/vnd.tiddlywiki\n\nListe des tiddlers non système contenus dans ce wiki :\n\n<$list filter=\"[!is[system]sort[title]]\" />\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Articles.tid",
    "content": "created: 20140320230543190\nmodified: 20160603043917787\ntags: Community\ntitle: Articles\ntype: text/vnd.tiddlywiki\n\nIci quelques articles récents rédigés sur ~TiddlyWiki. Soumettez les nouveaux articles via GitHub, Twitter ou en postant dans les [[groupes de discussion TiddlyWiki|Forums]].\n\n<div class=\"tc-link-info\">\n\n<$list filter=\"[tag[Articles]!sort[modified]]\">\n\n<div class=\"tc-link-info-item\">\n\n! <$link><$view field=\"title\"/></$link>\n\n<div class=\"tc-subtitle\">Posted <$view field=\"modified\" format=\"relativedate\"/></div>\n\n<$transclude/>\n\n</div>\n\n</$list>\n\n</div>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/AutoSave.tid",
    "content": "created: 20140206211715540\nfr-title: Sauvegarde automatique\nmodified: 20150601094452510\ntags: Features\ntitle: AutoSave\ntype: text/vnd.tiddlywiki\n\nS'il y a un ~ModuleSauvegarde qui l'accepte, <<tw>> déclenche automatiquement celle du document courant au clic sur {{$:/core/images/done-button}} ''valide'' ou sur {{$:/core/images/delete-button}} ''supprime'' lors de la saisie d'un tiddler.\n\nVous apercevrez une notification jaune en haut à droite de la fenêtre confirmant qu'une sauvegarde automatique à eu lieu.\n\nLa sauvegarde automatique peut être activée ou non via l'onglet ''Paramétrage'' du [[panneau de contrôle |$:/ControlPanel]]. En arrière plan, elle est contrôlé par le tiddler de paramétrage [[$:/config/AutoSave]], qui doit avoir la valeur ''yes'' pour activer la sauvegarde automatique.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/BT Acquisition.tid",
    "content": "fr-title: Acquisition par //British Telecom//\ncreated: 20140923201232223\nmodified: 20141005141434026\ntitle: BT Acquisition\ntype: text/vnd.tiddlywiki\n\nEn mai 2007, [[British Telecom|BT]] a acquis [[Osmosoft]], ma société de consultant. Acquérir une société avec un seul employé et un minuscule filet de revenu relevait d'une décision inhabituelle, [[Osmosoft]] ne détenant même pas la propriété intellectuelle de <<tw>>, puisque je l'avais transférée à //~UnaMesa// pour assurer son avenir pour la communauté.\n\nLa motivation de [[British Telecom|BT]] était de mieux comprendre les écosystèmes basés sur les communautés. Je rejoignis la société en tant que <<gf \"Head of Open Source Innovation\">>, responsable de la gouvernance //open source//, et fournissant des conseils et de l'expertise sur la manière de participer à des communautés //open source//.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/BT.tid",
    "content": "created: 20131101091100000\nmodified: 20131101091100000\ntitle: BT\ntype: text/vnd.tiddlywiki\n\nBT (née British Telecom) is the UK's largest telecommunications company. In 2007, [[Osmosoft]] was acquired by BT. JeremyRuston subsequently left BT in 2011.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Base64.tid",
    "content": "caption: Base64\ncreated: 20150221180826000\nfr-title: Base64\nmodified: 20150623062107074\ntags: Definitions\ntitle: Base64\ntype: text/vnd.tiddlywiki\n\n<<.dlink-ex Base64 \"http://en.wikipedia.org/wiki/Base64\">> est une façon de représenter des données binaires telles que des images, comme une chaine de texte.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/BrowserCompatibility.tid",
    "content": "created: 20150530180205275\nfr-title: Navigateurs compatibles\nmodified: 20150531184355238\ntags: [[Working with TiddlyWiki]]\ntitle: BrowserCompatibility\ntype: text/vnd.tiddlywiki\n\n<<tw>> est conçu pour fonctionner avec des navigateurs HTML5-compatibles.\n\nLe tableau suivant récapitule les versions de navigateur qui sont connues pour fonctionner avec TiddlyWiki\n\n|!Navigateurs |!Status |\n|Internet Explorer |Version 10 et suivantes |\n|Chrome |Toutes les récentes versions |\n|Firefox |Toutes les récentes versions |\n|Firefox for Android |Toutes les récentes versions |\n|Safari |Version 6 et suivantes |\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/BuildCommand.tid",
    "content": "caption: build\ncreated: 20140425085548209\nmodified: 20141115223038555\ntags: Commands\ntitle: BuildCommand\ntype: text/vnd.tiddlywiki\n\n{{$:/language/Help/build}}\n\nVoir TiddlyWikiFolders pour des détails sur la définition de cibles de compilation.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/ButtonWidget.tid",
    "content": "caption: button\ncreated: 20131024141900000\ncreator: 127.0.0.1\nmodified: 20141217211239522\nmodifier: 127.0.0.1\ntags: Widgets\ntitle: ButtonWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nThe button widget displays an HTML `<button>` element that can perform a combination of optional actions when clicked:\n\n* Executing any ActionWidgets that are immediate children of the button widget\n* Execute any integrated actions:\n** Navigate to a specified tiddler\n** Dispatch a user defined [[widget message|Messages]]\n** Trigger a user defined [[popup|PopupMechanism]]\n** Assign new text to a specified tiddler\n\nThe integrated actions are provided as a shortcut for invoking common actions. The same functionality is available via ActionWidgets, with the exception of the support for highlighting selected popups.\n\n! Content and Attributes\n\nThe content of the `<$button>` widget is displayed within the button.\n\n|!Attribute |!Description |\n|to |The title of the tiddler to navigate to |\n|message |The name of the [[widget message|Messages]] to send when the button is clicked |\n|param |The optional parameter to the message |\n|set |A TextReference to which a new value will be assigned |\n|setTo |The new value to assign to the TextReference identified in the `set` attribute |\n|popup |Title of a state tiddler for a popup that is toggled when the button is clicked |\n|aria-label |Optional [[Accessibility]] label |\n|tooltip |Optional tooltip |\n|class |An optional CSS class name to be assigned to the HTML element|\n|style |An optional CSS style attribute to be assigned to the HTML element |\n|selectedClass |An optional additional CSS class to be assigned if the popup is triggered or the tiddler specified in `set` already has the value specified in `setTo`  |\n|default |Default value if `set` tiddler is missing for testing against `setTo` to determine `selectedClass` |\n\n''Tip:'' Set ''class'' to `tc-btn-invisible tc-tiddlylink` to have a button look like an internal link."
  },
  {
    "path": "editions/fr-FR/tiddlers/CamelCase.tid",
    "content": "caption: CamelCase\ncreated: 20130828185300000\nfr-title: Notation chameau\nmodified: 20220304015529727\ntags: Definitions\ntitle: CamelCase\ntype: text/vnd.tiddlywiki\n\nLa <<gf \"notation chameau\">> (en anglais <<gf \"//Camel Case//\">>) est une convention de casse formée en passant en majuscule l'initiale de chaque mot d'une phrase et en supprimant les espaces entre les mots, ce qui forme un long mot composé. De nombreux wikis utilisent la <<fr CamelCase>> pour marquer les phrases qui produisent automatiquement un lien.\n\nExemple&nbsp;:\nExempleDeNotationChameauQuiProduitUnLienVersUnNouveauTiddlerPortantCeNom\n\nNDT<<:>> Visuellement, l'alternance des lettres en majuscules et en minuscules dans les phrases en notation chameau produit une sorte d'ondulation, comme les bosses d'un chameau."
  },
  {
    "path": "editions/fr-FR/tiddlers/Cascading_Style_Sheets.tid",
    "content": "caption: CSS\ncreated: 20150221120651000\nfr-title: CSS, les Feuilles de Style\nmodified: 20150623073602769\ntags: Definitions\ntitle: Cascading Style Sheets\ntype: text/vnd.tiddlywiki\n\nLe <<.dlink-ex CSS \"http://fr.wikipedia.org/wiki/Cascading_Style_Sheets\">> est un format de texte brut standard employé pour définir le style de présentation d'éléments variés sur une page web.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Changes to filters in 5.0.9-beta.tid",
    "content": "created: 20140403223413403\nmodified: 20141008171634188\ntags: [[Release 5.0.9-beta]]\ntitle: Changes to filters in 5.0.9-beta\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nCette version résoud un certain nombre d'incohérences dans la manière dont les filtres sont gérés. Ces changements impliquent que les filtres préexistants peuvent nécessiter des mises à jour — en particulier ceux qui s'exercent potentiellement sur des tiddlers manquants ou //shadow//.\n\n! Changements à ''is'' et ajout de ''all''\n\nLa plupart des opérateurs de filtres agissent en réagençant tout ou partie des titres source. Ceux qui ajoutent de nouvelles entrées qui ne faisaient pas partie de la liste sur laquelle ils agissent sont nommés sélecteurs. Avant la version 5.0.9-beta, quelques nouveaux opérateurs de filtres étaient incohérents dans leur manière de filtrer la liste source ou d'y ajouter de nouvelles entrées. \n\nLes changements spécifiques sont les suivants<<dp>>\n\n* L'opérateur [[is|FilterOperator: is]] se contente à présent de filtrer à partir de la liste de tiddlers déjà sélectionnée\n* Le nouvel opérateur [[all|FilterOperator: all]] agit comme //sélecteur// en remplaçant la liste en cours avec une combinaison de tidddlers issus des sources spécifiques suivantes<<dp>>\n\n** ''current'' pour le tiddler courant\n** ''missing'' pour tous les tiddlers manquants\n** ''orphans'' pour tous les tiddlers orphelins\n** ''shadows'' pour tous les tiddlers shadow\n** ''tiddlers'' pour tous les tidders non-//shadow// (comprenant à la fois les tiddlers système et non système)\n\nLes sources de l'opérateur ''all'' peuvent être combinées à l'aide du caractère `+`. Par exemple, `[all[shadows+tiddlers]]` renvoie tous les tidders //shadow// ainsi que tous les tiddlers ordinaires.\n\nPrécédemment, il n'était pas rare d'avoir `[is[shadow]]` au début d'une chaîne de filtre pour sélectionner tous les tidders //shadow//. À partir de 5.0.9, au lieu de renvoyer tous les tiddlers //shadow//, cela renverra seulement les tiddlers ordinaires qui s'avèrent être ''aussi'' un tiddler //shadow// (par la grâce d'en avoir écrasé un). La solution consiste à utiliser le nouvel opérateur ''all''. Par exemple, si l'on considère ce filtre tiré de 5.0.8<<dp>>\n\n```\n[is[shadow]!has[draft.of]tag[$:/tags/AdvancedSearch]] [!is[shadow]!has[draft.of]tag[$:/tags/AdvancedSearch]] +[tag[$:/tags/AdvancedSearch]]\n```\n\nAvec 5.0.9, ce filtre a été changé en<<dp>>\n\n```\n[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch]!has[draft.of]]\n```\nOn remarque comment l'opérateur ''all'' permet d'effectuer des opérations sur des tiddlers à partir de combinaisons de sources.\n\n!! Changements pour `[is[current]]`\n\nUne conséquence de ces changements est que `[is[current]]` est à présent un pur filtre sur les tiddlers source<<pv>> du coup, si le tiddler courant est un tiddler manquant qui ne se trouve pas dans la liste source, `[is[current]]` renverra une liste vide.\n\nGénéralement, la solution consiste plutôt à utiliser `[all[current]]`. Ce n'est pas aussi naturel à lire, mais ça a le comportement attendu de retourner systématiquement le tiddler courant, qu'il se trouve ou non parmi les tiddlers sources.\n\n! Changements concernant ''title'' et ''field''\n\nIl y a des changements mineurs sur la façon dont fonctionnent les opérateurs [[title|FilterOperator: title]] et [[field|FilterOperator: field]].\n\nL'opérateur ''title'' est un //sélecteur//<<dp>> il renvoie le titre spécifié, qu'il se trouve ou non dans la source courante. ''title'' est utilisé comme opérateur par défaut si aucun opérateur n'est spécifié.\n\nL'opérateur ''field'' est un filtre<<dp>> il se contente de retourner un sous-ensemble des tiddlers source. ''field'' est utilisé comme opérateur par défaut si l'opérateur fourni n'est pas défini (l'opérateur fourni est alors passé comme suffixe de l'opérateur ''field'', de sorte que `[description[Missing]]` est équivalent à `[field:description[Missing]]`).\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Chinese (Simplified) Edition.tid",
    "content": "caption: Chinois (simplifié)\ncreated: 20140919215640174\nfr-title: Édition en Chinois (simplifié)\nmodified: 20141203174809830\ntags: Languages\ntitle: Chinese (Simplified) Edition\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki 的简体中文翻译版本：\n\n<!-- * ''文件'': https://tiddlywiki.com/languages/zh-Hans/index.html -->\n* ''空白版本'': https://tiddlywiki.com/languages/zh-Hans/empty.html\n\n另请参阅 [[中文 (正體) 版|Chinese (Traditional) Edition]]。\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Chinese (Traditional) Edition.tid",
    "content": "caption: Chinois (traditionnel)\ncreated: 20140919215743298\nfr-title: Édition en Chinois (traditionnel)\nmodified: 20141203174923002\ntags: Languages\ntitle: Chinese (Traditional) Edition\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki 的正體中文翻譯版本：\n\n<!-- * ''文件'': https://tiddlywiki.com/languages/zh-Hant/index.html -->\n* ''空白版本'': https://tiddlywiki.com/languages/zh-Hant/empty.html\n\n另請參閱 [[中文 (简体) 版|Chinese (Simplified) Edition]]。\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/CodeMirror_Plugin.tid",
    "content": "created: 20150615065518374\nfr-title: Plugin CodeMirror\nmodified: 20150615065622608\ntags: Plugins\ntitle: CodeMirror Plugin\ntype: text/vnd.tiddlywiki\n\nCe plugin offre l'intégration d'un éditeur web sophistiqué au sein de TiddlyWiki.\n\nVoir https://tiddlywiki.com/plugins/tiddlywiki/codemirror/\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Codes HTML.tid",
    "content": "created: 20141017153525252\nmodified: 20141017153531657\ntags: Lexique\ntitle: Codes HTML\ntype: text/vnd.tiddlywiki\n\n<<wikitexte-exemple \"&lt;chevrons&gt;\">>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/ColourPalettes.tid",
    "content": "created: 20140216102454178\nfr-title: Palettes de couleurs\nmodified: 20150624092544660\ntags: Concepts\ntitle: ColourPalettes\ntype: text/vnd.tiddlywiki\n\nUne palette de couleur est un [[tiddler data|DataTiddlers]] qui affecte une valeur de couleur [[CSS]], comme ''yellow'' ou ''#fe0'', à chacun des multiples noms de couleur, de cette façon<<:>>\n\n```\npage-background: #fe0\ntable-border: #ccc\n...\n```\n\nPlusieurs palettes font partie du noyau. le tiddler système [[$:/palette]] contient toujours le titre du tiddler en cours de la palette sélectionnée.\n\nPour récupérer la valeur du nom d'une couleur dans la palette courante, ex<<:>> à employer dans un tiddler stylesheet, faites appel à la macro <<.mlink colour>><<:>>\n\n```\n<<colour page-background>>\n```\n\nLes tiddlers palette tiddlers contiennent les champs suivants<<:>>\n\n|!Nom |!Valeur |\n|title |Débute typiquement  par `$:/` |\n|type |`application/x-tiddler-dictionary` |\n|tags |`$:/tags/Palette` |\n|description |Affichée à l'exploration de la palette |\n|text |`name: value` définition des couleurs |\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Comma-Separated_Values.tid",
    "content": "caption: CSV\ncreated: 20150221120117000\nfr-title: CSV (Valeurs séparées par des virgules)\nmodified: 20150624091518147\ntags: Definitions\ntitle: Comma-Separated Values\ntype: text/vnd.tiddlywiki\n\nLe <<.dlink-ex CSV \"http://fr.wikipedia.org/wiki/Comma-separated_values\">> est un format de texte brut standard pour stocker des tableaux de données.\n\nChaque ligne d'une table est appelé un <<.def enregistrement>> (record) et n'occupe qu'une seule ligne.\n\nLes colonnes sont appelées <<.def champs>> (field). Chaque champ d'une ligne est séparée du suivant par une virgule, et souvent encadré par des balises double-cote.\n\nLa macro <<.mlink csvtiddlers>> renvoie le contenu d'un tiddler dans ce format.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Commands.tid",
    "content": "fr-title: Commandes\ncreated: 20141025215106555\nmodified: 20141115215857164\ntags: Reference\ntitle: Commands\ntype: text/vnd.tiddlywiki\n\nLes commandes sont utilisées avec [[TiddlyWiki sur Node.js|Using TiddlyWiki on Node.js]].\n\n<<list-links \"[tag[Commands]]\">>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Community Links Aggregator.tid",
    "content": "created: 20210322151848025\nfr-title: Agrégateur de liens communautaire\nmodified: 20220402105820520\ntags: Community\ntitle: Community Links Aggregator\n\nL'Agrégateur de liens communautaire est une collection fréquemment mise à jour de liens vers des ressources utiles et intéressantes sur <<tw>>, dénichées par notre équipe d'éditeurs communautaires. Le site agrège les liens soigneusement sélectionnés par les membres de la communauté <<tw>>. Il permet de visualiser les liens les plus récents, et de les explorer par catégorie et chronologiquement.\n\nhttps://links.tiddlywiki.org/\n\nPlus les contributeurs sont nombreux, et mieux le site fonctionne<<!>> Comme chacun n'est pas tenu de recenser chaque lien qui passe, la pression individuelle sur les contributeurs est réduite. L'agrégation des liens réduit aussi l'impact d'une erreur, par exemple d'une erreur de catégorisation<<:>> si un contributeur catégorise un lien dans la mauvaise rubrique, le site permet de voir qu'une seule personne a utilisé cette rubrique, alors que la majorité utilise la catégorie appropriée. Ainsi, nous espérons qu'une sorte d'//intelligence collective// émergera, avec un consensus sur la manière la plus utile de décrire et de catégoriser les liens.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Community.tid",
    "content": "created: 20130909151600000\nfr-title: Communauté\nmodified: 20220217155910582\ntags: TableOfContents\ntitle: Community\ntype: text/vnd.tiddlywiki\n\n<<.tip \"Les liens les plus utiles et les plus récents sont maintenant regroupés dans [[l’Agrégateur de liens communautaire|Community Links Aggregator]].\">>\n\nLorsque tous les liens pertinents auront été transférés, ces entrées seront retirées du site tiddlywiki.com.\n\n<<tabs \"Forums Latest Tutorials [[Community Editions]] [[Community Plugins]] [[Community Themes]] [[Community Palettes]] [[Other Resources]] Examples Articles Meetups\" \"Latest\">>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Compose ballad.tid",
    "content": "fr-title: Composer une ballade\ncreated: 20130825143000000\nmodified: 20141119225542290\ntags: task\ntitle: Compose ballad\ntype: text/vnd.tiddlywiki\n\n//Il s'agit de l'une des tâches pour l'[[exemple de gestion de tâches|TaskManagementExample]]//\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Concepts.tid",
    "content": "color: #FF8383\ncreated: 20130825144700000\nmodified: 20150623062227456\ntags: Reference\ntitle: Concepts\ntype: text/vnd.tiddlywiki\n\nCe sont les concepts qui sous-tendent TiddlyWiki. Comprendre comment ces idées s'articulent est la clé pour tirer le parti maximum de ~TiddlyWiki.\n\n<<list-links \"[tag[Concepts]sort[caption]]\">>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Configurations.tid",
    "content": "created: 20150412185300152\nmodified: 20150602164626087\ntags: TableOfContents\ntitle: Configurations\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki peut fonctionner dans différentes configurations distinctes<<:>>\n\n<<list-links \"[tag[Configurations]]\">>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/ContentType.tid",
    "content": "created: 20130828185900000\nfr-title: Type de contenu\nmodified: 20150624091440971\ntags: Definitions\ntitle: ContentType\ntype: text/vnd.tiddlywiki\n\nUtilisé dans les protocoles Internet pour spécifier le type d'interprétation à appliquer au contenu d'une ressource web.\n\nDans TiddlyWiki, le champ `type` contient le type d'interprétation à appliquer au contenu du champ principal `text`.\n\n!! Liste des Types de contenu (ContentType) courants\n\n|!Groupe |!Type |!Contenu des champs `type` |\n|^''Développeur'' |Éléments d'un Dictionnaire |application/x-tiddler-dictionary|\n|~|code ~JavaScript |application/javascript|\n|~|Éléments JSON |application/json|\n|~|Feuille de style Statique |text/css|\n|^''Image''|image GIF |image/gif|\n|~|fichier au format icone ICO |image/x-icon|\n|~|image JPEG |image/jpeg|\n|~|image PDF |application/pdf|\n|~|image PNG |image/png|\n|~|image Structured Vector Graphics |image/svg+xml|\n|^''Texte''|balisage HTML |text/html|\n|~|Feuille de style Cascade |text/css|\n|~|Valeurs séparées par des virgules |text/csv|\n|~|Texte brut |text/plain|\n|~|~TiddlyWiki 5 |text/vnd.tiddlywiki|\n|~|~TiddlyWiki Classic |text/x-tiddlywiki|\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Contents.tid",
    "content": "created: 20141115211411136\nlist: First Second Third Fourth\ntitle: Contents\ntype: text/vnd.tiddlywiki\n\nSample data for TableOfContentsMacro.\n\nLorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Contributing.tid",
    "content": "created: 20131101111400000\nfr-title: Contribuer\nmodified: 20150601172431960\ntags: Community\ntitle: Contributing\ntype: text/vnd.tiddlywiki\n\nNous accueillons les contributions au code et à la documentation de TiddlyWiki de plusieurs manières<<dp>>\n\n* [[SignalerBugs|ReportingBugs]]\n* Aider à [[améliorer notre documentation|Improving TiddlyWiki Documentation]]\n* Contribuer au code via [[GitHub|https://github.com/TiddlyWiki/TiddlyWiki5]]\n** Voir https://tiddlywiki.com/dev pour plus de détails\n\nIl existe encore plusieurs façons d'[[aider TiddlyWiki|HelpingTiddlyWiki]].\n\n! Accord de Licence des Contributeurs\n\nÀ l'instar d'autres projets OpenSource, TiddlyWiki5 a besoin que ses contributeurs signent un accord de licence pour leurs contributions. C'est un accord contractuel qui permet aux contributeurs de confirmer qu'ils sont propriétaires des droits d'auteur de leurs contributions, et qu'ils acceptent de les licencier à l'Association UnaMesa (l'entité juridique qui possède TiddlyWiki au nom de la communauté).\n\n* Pour les licences individuelles<<dp>> [[licenses/CLA-individuelle|https://github.com/TiddlyWiki/TiddlyWiki5/tree/master/licenses/cla-individual.md]]\n* Pour les licences d'organisation<<dp>> [[licenses/CLA-organisation|https://github.com/TiddlyWiki/TiddlyWiki5/tree/master/licenses/cla-entity.md]]\n\n! Comment signer la CLA\n\nProposez une contribution (PullRequest) sur GitHub en ajoutant à `cla-individual.md` ou `cla-entity.md`, votre nom suivi de la date au format (YYYY/MM/DD).\n\n''pas à pas''\n\n# Cliquez [[licenses/CLA-individuelle|https://github.com/TiddlyWiki/TiddlyWiki5/tree/master/licenses/cla-individual.md]] ou [[licenses/CLA-organisation|https://github.com/TiddlyWiki/TiddlyWiki5/tree/master/licenses/cla-entity.md]]\n# Dans le document `cla-individual.md` ou le `cla-entity.md` cliquez sur l'icone dans le coin en haut à droite, ce qui créera une copie modifiable du projet, un ''fork'', dans votre espace de propositions et vous permettra de modifier ses différents documents\n# Modifiez la licence en ajoutant votre nom en bas comme dans l'exemple, eg<<:>> `Jeremy Ruston, @Jermolene, 2011/11/22`\n# Validez par un PullRequest\n\n---\n\n//Les documents de CLA utilisés pour ce projets ont été créés en utilisant les [[modèles du projet Harmony|http://www.harmonyagreements.org]]. \"HA-CLA-I-LIST Version 1.0\" pour la \"CLA-individuelle\" et \"HA-CLA-E-LIST Version 1.0\" pour la \"CLA-organisation\".//\n\n''Remarque''\n\n* Au cas où vous ne soyez pas propriétaire des droits d'auteurs de toutes vos propositions<<pe>><br><br>Veuillez le mentionner clairement, ou nous vous considérerons comme le détenteur légal des droits d'auteur de la contribution<<pe>> Aussi, veuillez fournir les liens et informations additionnelles décrivant sous quelle licence le reste du code est diffusé.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/ContributingTemplate.tid",
    "content": "created: 20130825144900000\nmodified: 20130825144900000\ntitle: ContributingTemplate\ntype: text/vnd.tiddlywiki\n\n\\define tv-wikilink-template() https://tiddlywiki.com/static/$uri_doubleencoded$.html\n! Contributing to TiddlyWiki5\n\n{{Contributing}}\n\n//This file was automatically generated by TiddlyWiki5//\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Contributors.tid",
    "content": "fr-title: Contributeurs\ncreated: 20140916132828137\nmodified: 20141105143410484\ntags: About\ntitle: Contributors\ntype: text/vnd.tiddlywiki\n\nLes personnes ci-dessous ont généreusement donné de leur temps pour [[contribuer au développement de TiddlyWiki|https://github.com/TiddlyWiki/TiddlyWiki5/graphs/contributors]]:\n\n* Jeremy Ruston ([[@Jermolene|https://github.com/Jermolene]])\n* Dave Gifford ([[@giffmex|https://github.com/giffmex]])\n* Bram Chen ([[@BramChen|https://github.com/BramChen]])\n* Mario Pietsch ([[@pmario|https://github.com/pmario]])\n* Xavier Cazin ([[@xcazin|https://github.com/xcazin]])\n* Eric Shulman ([[@ericshulman|https://github.com/ericshulman]])\n* Stephan Hradek ([[@Skeeve|https://github.com/Skeeve]])\n* ~BuggyJef ([[@buggyj|https://github.com/buggyj]])\n* Nathan Cain ([[@natecain|https://github.com/natecain]])\n* Ton Gerner ([[@gernert|https://github.com/gernert]])\n* Devin Weaver ([[@sukima|https://github.com/sukima]])\n* João Bolila ([[@jbolila|https://github.com/jbolila]])\n* David Johnston ([[@Brennall|https://github.com/Brennall]])\n* David Jade ([[@davidjade|https://github.com/davidjade]])\n* Bob Robison ([[@grayeul|https://github.com/grayeul]])\n* [[@nameanyone|https://github.com/nameanyone]]\n* Maurizio Pollio ([[@mpollio|https://github.com/mpollio]])\n* Ogoshi Masayuki ([[@ogoshima|https://github.com/ogoshima]])\n* Chris Sugden ([[@csugden|https://github.com/csugden]])\n* [[@asampal|https://github.com/asampal]]\n* Bow Yi Jang ([[@Eucaly|https://github.com/Eucaly]])\n* Mal Gamble ([[@malgam|https://github.com/malgam]])\n* Michael Fogleman ([[@mwfogleman|https://github.com/mwfogleman]])\n* Daniel Barrett ([[@shendaras|https://github.com/shendaras]])\n* Simon Baird ([[@simonbaird|https://github.com/simonbaird]])\n* James Anderson ([[@welford|https://github.com/welford]])\n* Jon Lister ([[@jayfresh|https://github.com/jayfresh]])\n* [[@TheDiveO|https://github.com/TheDiveO]]\n* Danielo Rodríguez ([[@danielo515|https://github.com/danielo515]])\n* [[@willover|https://github.com/willover]]\n* [[@slotik|https://github.com/slotik]]\n* Irene Knapp ([[@IreneKnapp|https://github.com/IreneKnapp]])\n* Brian Shaver ([[@shakerlxxv|https://github.com/shakerlxxv]])\n* Tobi Beer ([[@tobibeer|https://github.com/tobibeer]])\n* Craig Cook ([[@BoyCook|https://github.com/BoyCook]])\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Copying_tiddlers_between_TiddlyWiki_files.tid",
    "content": "created: 20140908131700000\nfr-title: Copier des tiddlers entre fichiers TiddlyWiki\nmodified: 20150614102819487\ntags: Learning\ntitle: Copying tiddlers between TiddlyWiki files\ntype: text/vnd.tiddlywiki\n\nVous pouvez copier un tiddler particulier d'un fichier TiddlyWiki à un autre en glissant un vers le tiddler d'une fenêtre du navigateur à une autre.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Core_Variables.tid",
    "content": "created: 20150220161908000\nfr-title: Variables du noyau\nmodified: 20150619163609033\ntitle: Core Variables\ntype: text/vnd.tiddlywiki\n\nLes [[variables|Variables]] suivantes sont intégrées dans le noyau de ~TiddlyWiki<<:>>\n\n<<list-links \"[tag[Core Variables]] -[tag[Configuration Variables]]\">>\n\nLe noyau utilise aussi diverses configurations de variables et macros si vous les définissez<<:>>\n\n<<list-links \"[tag[Configuration Variables]]\">>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Creating and editing tiddlers.tid",
    "content": "created: 20140904140300000\nfr-title: Créer et modifier des tiddlers\nmodified: 20220221002250215\ntags: [[Working with TiddlyWiki]]\ntitle: Creating and editing tiddlers\ntype: text/vnd.tiddlywiki\n\n! Créer des tiddlers\n\nVous créez un tiddler soit en cliquant sur le bouton <<.icon $:/core/images/new-button>> du menu latéral, soit en cliquant sur un lien vers un tiddler absent. Les liens vers les tiddlers absents sont affichés en [[italique bleu]].\n\nVoir aussi<<:>>\n\n* [[Créer des tiddlers journaux|Creating journal tiddlers]]\n\n! Modifier des tiddlers\n\nPour modifier un tiddler existant, cliquez sur le bouton <<.icon $:/core/images/edit-button>> en haut et à droite du tiddler.\n\n!! Mode ébauche\n\nQuand vous créez un nouveau tiddler ou modifiez un existant, le tiddler passe en mode ébauche. Ce mode propose un panneau de contrôle pour apporter différents types de modifications. Il a plusieurs parties, de bas en haut<<:>>\n\n*''Le champ titre'' - pour modifier le titre du tiddler\n*''Le sélecteur de tags'' - pour ajouter ou supprimer des tags. Lors de la saisie d'un tag, une liste déroulante affiche les tags correspondant sous forme de complétions. Vous pouvez choisir dans cette liste ou créer un tag entièrement nouveau. Puis cliquez sur le bouton ''ajouter'' ou utilisez la touche <kbd>Entrée</kbd> pour ajouter le tag au tiddler. Chaque tag est affiché sous forme d'une pilule colorée. Cliquez le &quot;×&quot; d'une pilule pour supprimer le tag\n*''La zone de texte'' - pour modifier le contenu principal du tiddler. Cliquez sur le bouton ''afficher la prévisualiation'' (<<.icon $:/core/images/preview-closed>> / <<.icon $:/core/images/preview-open>>) pour visualiser l'apparence des modifications\n*''Le sélecteur de type'' - pour afficher vos tiddlers dans un format spécial, comme une image. Voir ContentType pour la liste des options. Le choix par défaut est `text/vnd.tiddlywiki`, qui indique que le tiddler contient du <<fr WikiText>>\n*''Le sélecteur de champ'' - pour ajouter ou supprimer des champs du tiddler. Par exemple, si vous modifiez un tiddler utilisé comme tag par d'autres tiddlers, vous pouvez ajouter un [[champ ''list''|ListField]] pour modifier l'ordre dans lequel ces tiddlers seront listés\n\n\n! Confirmer, annuler ou supprimer\n\nQuand vous avez terminé les modifications, cliquez sur le bouton en haut et à droite du tiddler<<:>>\n\n*Le bouton ''confirmer'' (<<.icon $:/core/images/done-button>>) mémorise vos modifications dans le tiddler et quitte le mode ébauche. Si votre wiki est configuré en <<fr AutoSave>>, vos modifications seront enregistrées de façon permanente. Autrement elles sont mémorisées temporairement dans votre navigateur web, et vous les perdrez si vous fermez votre page ~TiddlyWiki sans avoir cliqué sur le bouton principal pour ''Enregistrer'' (<<.icon $:/core/images/save-button>>) dans le menu latéral.\n*Le bouton ''annuler'' (<<.icon $:/core/images/cancel-button>>) ignore vos modifications (après demande de confirmation) et quitte le mode ébauche.\n*Le bouton ''supprimer'' (<<.icon $:/core/images/delete-button>>) supprime tout le tiddler (après demande de confirmation).\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Creating_SubStories.tid",
    "content": "created: 20140214215718317\nfr-title: Créer des déroulés imbriqués\nmodified: 20150614100236622\ntags: Learning\ntitle: Creating SubStories\ntype: text/vnd.tiddlywiki\n\nCet exemple montre comment créer un déroulé imbriqué avec un tiddler indépendant du déroulé principal.\n\nVoilà le code<<:>>\n\n```\n<$navigator story=\"MySubStoryList\" history=\"MySubHistoryList\">\n\nCliquez sur ce lien pour commencer: HelloThere\n\n<$list filter=\"[list[MySubStoryList]]\" history=\"MySubHistoryList\">\n<div>\n\n! <$button message=\"tm-close-tiddler\" class=\"tc-btn-invisible\">{{$:/core/images/close-button}}</$button> <$view field=\"title\"/>\n\n<$transclude/>\n</div>\n</$list>\n\n</$navigator>\n```\n\nNotez comment vous pouvez ouvrir le tiddler [[Bienvenue|HelloThere]]\ndans un déroulé imbriqué en cliquant sur le lien suivant. Les liens du déroulé imbriqué s'ouvre indépendament du déroulé principal.\n\n<$navigator story=\"MySubStoryList\" history=\"MySubHistoryList\">\n\nCliquez sur ce lien pour commencer<<:>> [[Bienvenue|HelloThere]]\n\n<$list filter=\"[list[MySubStoryList]]\" history=\"MySubHistoryList\">\n<div>\n\n! <$button message=\"tm-close-tiddler\" class=\"tc-btn-invisible\">{{$:/core/images/close-button}}</$button> <$view field=\"title\"/>\n\n<$transclude/>\n\n</div>\n</$list>\n\n</$navigator>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Creating_a_custom_export_format.tid",
    "content": "created: 20141124173526227\nfr-title: Générer un format d'export personnalisé\nmodified: 20150614151429037\ntags: [[Customise TiddlyWiki]]\ntitle: Creating a custom export format\ntype: text/vnd.tiddlywiki\n\nPour créer un format d'export personnalisé qui exporte les tiddlers comme du contenu textuel brut<<:>>\n\n# Créer un tiddler avec les champs suivant<<:>>\n#* ''tags'': [[$:/tags/Exporter]]\n#* ''description'': Description de l'export\n#* ''extension'': l'extension fichier par défaut pour ce format d'export (incluant le point<<;>> par exemple `.tid`)\n# Intégrer le contenu suivant<<:>>\n\n```\n\\define renderContent()\n{{{ $(exportFilter)$ ||$:/core/templates/plain-text-tiddler}}}\n\\end\n<<renderContent>>\n```\n\nLa variable `exportFilter` contient un filtre définissant quels tiddlers seront exportés.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Creating_journal_tiddlers.tid",
    "content": "created: 20141010093214683\nfr-title: Créer des tiddlers journaux\nmodified: 20150620061841984\ntags: [[Working with TiddlyWiki]]\ntitle: Creating journal tiddlers\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nLes tiddlers journaux sont des tiddlers dont le titre est composé d'une date et/ou d'une heure. Ils sont très utiles à l'enregistrement d'informations horodatées.\n\nVous pouvez ajouter des tags à votre tiddler journal pour le relier à d'autres tiddlers ce qui aidera à établir des relations entre les éléments d'information.\n\nPar exemple, vous pourriez utiliser un tiddler journal appelé ''10 Octobre 2014'' pour enregistrer les idées et les informations capturées en ce jour particulier. Les tags ''Shopping'' et ''Londres'' mentionnant ce qui concerne le shopping à Londres.\n\n! Création d'un tiddler journal\n\nLa façon la plus simple de créer un tiddler journal est un clic sur le bouton ''nouveau journal'' dans l'onglet ''Outils'' du menu latéral. Si vous utilisez souvent le bouton, cliquez sur la case à cocher proche ce qui le placera juste au dessus de la zone de recherche.\n\nLe bouton ''nouveau journal'' génère un journal correspondant à un tiddler vierge avec un tag ''Journal'' et un titre mentionnant la date du jour. Si un tiddler journal avec cette date existe déjà, il sera ouvert pour modification.\n\n! Création d'un tiddler journal tagué\n\nUne suite d'actions courante sera la création (ou la réouverture) d'un tiddler journal du jour tagué avec le titre d'un autre tiddler. Cela pourra être effectué par le bouton ''nouveau journal ici'' de la barre d'outil du tiddler autre. Vous trouverez ce bouton dans l'onglet ''Outils'' du panneau d'information du tiddler.\n\nPar exemple, lors de la révision d'un tiddler appelé '' Oxford Street '', vous pourriez vous rendre compte de sa pertinence pour la préparation de votre tournée des magasins. Cliquer sur le bouton ''nouveau journal, ici'' dans le tiddler ''Oxford Street'' pour générer une entrée du journal étiquetée du tag ''Oxford Street''.\n\n! Personnalisation des tiddlers journaux\n\nPour régler la façon dont les nouvelles entrées des journaux sont créés, rendez-vous à l'onglet  ''Fondamentaux'' sous ''Info'' dans le [[panneau de contrôle|$:/ControlPanel]]:\n\n* ''Gabarit pour les titres des tiddlers journaux'' spécifie la façon dont ces tiddlers seront nommés, par une [[chaine de format date|DateFormat]]. Le réglage par défaut sur `DDth MMM YYYY` permet aux nouvelles entrées d'avoir des titres de la forme &quot;10 Octobre 2014&quot; \n\n* ''Tags pour les nouveaux tiddlers journaux'' [[spécifie|Title List]] les tags que contiendront automatiquement les nouveaux journaux. Par exemple: `Journal [[Vacances d'été]]`\n\nAstuce: si vous souhaitez créer un tiddler journal différent à chaque fois que vous cliquerez sur '' nouveau journal '' (et ce plusieurs fois dans la même journée), vous pourriez inclure l'heure dans le format du titre, par exemple de cette façon `AAAA-0MM-0DD au 0hhh0mm'0ss''`.\n\nUne autre astuce utile est d'inclure `$(currentTiddler)$` quelque part dans le format du titre. Ainsi, si vous cliquez sur ''nouveau journal ici'' dans plusieurs tiddlers différents, les titres de chacun de ces tiddlers feront partie du nom des entrées de journal qui en résultera."
  },
  {
    "path": "editions/fr-FR/tiddlers/Current_Tiddler.tid",
    "content": "created: 20130825144900000\nfr-title: Tiddler courant\nmodified: 20150624092603762\ntags: Concepts\ntitle: Current Tiddler\ntype: text/vnd.tiddlywiki\n\nLe <<.def \"tiddler courant\">> fournit le contexte dans lequel plusieurs aspects de Wikitext sont interprétés.\n\nPar exemple, `{{!!title}}` se réfère à la valeur du champ <<.field title>> du tiddler devenu courant, quel que soit-il. Cette technique peut être utilisée pour créer des [[tiddlers gabarit|TemplateTiddlers]] d'usage général.\n\nLe titre du tiddler courant peut toujours être trouvé dans la variable <<.vlink currentTiddler>>.\n\nLes deux façons les plus communes de modifier le tiddler courant sont<<:>>\n\n* le widget <<.wlink TiddlerWidget>>\n* le widget <<.wlink ListWidget>> (quand son attribut <<.attr variable>> n'a pas été modifié)\n\nLe tiddler courant n'est cependant <<.em pas>> souvent  le même que le [[tiddler en cours d'affichage ou d'édition|storyTiddler Variable]].\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Customise TiddlyWiki.tid",
    "content": "caption: Personnaliser TiddlyWiki\ncreated: 20140904101600000\nfr-title: Personnaliser TiddlyWiki\nlist: [[Initial customisation]]\nmodified: 20141129092851178\ntags: TableOfContents\ntitle: Customise TiddlyWiki\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Customising_search_results.tid",
    "content": "created: 20141027151552783\nfr-title: Une recherche aux résultats personnalisés\nmodified: 20150616103121307\ntags: [[Customise TiddlyWiki]]\ntitle: Customising search results\ntype: text/vnd.tiddlywiki\n\nPar défaut les résultats de la recherche du menu latéral sont affichés comme une simple liste de titres de tiddler. Ce résultat de recherche peut être personnalisé en ajoutant des plugins de visualisation qui les montreront de différentes façons. (les onglets sont affichés automatiquement si un résultat de recherche additionnel est détecté).\n\nLes visualisations des résultats de recherche sont mémorisés dans les tiddlers étiquetés [[$:/tags/SearchResults]]. La liste de résultats de recherche par défaut est implémentée dans le tiddler système [[$:/core/ui/DefaultSearchResultList]].\n\nPour créer un nouvel affichage de liste de recherche<<:>>\n\n# Créez un nouveau tiddler étiqueté [[$:/tags/SearchResults]]\n# Utilise la variable widget ''searchTiddler'' pour accéder au titre de chaque tiddler contenant les termes de la recherche en cours\n\nSi vous voulez faire du nouvel affichage celui du résultat de recherche par défaut, créez un tiddler appelé [[$:/config/SearchResults/Default]] contenant le titre de cet affichage.\n\nVoici un exemple d'affichage montrant les résultats dans l'ordre chronologique inverse<<:>>\n\n```\n\\define searchResults()\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[!is[system]search{$(searchTiddler)$}]\"/>\"\"\">\n\n{{$:/language/Search/Matches}}\n\n</$set>\n<<timeline subfilter:\"!is[system]search{$(searchTiddler)$}\">>\n\\end\n<<searchResults>>\n```\n\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/D3_Plugin.tid",
    "content": "created: 20150615064627500\nfr-title: Plugin D3\nmodified: 20150615065115037\ntags: Plugins\ntitle: D3 Plugin\ntype: text/vnd.tiddlywiki\n\nCe plugin intègre la célèbre bibliothèque de visualisation D3 au sein de TiddlyWiki.\n\nVoir https://tiddlywiki.com/plugins/tiddlywiki/d3/\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/DataTiddlers.tid",
    "content": "caption: Tiddlers Data\ncreated: 20130829164700000\nfr-title: Tiddlers Data\nmodified: 20150622102612386\ntags: Concepts\ntitle: DataTiddlers\ntype: text/vnd.tiddlywiki\n\nUn tiddler data est une mini-base de donnée contenue dans un tiddler.\n\nIl existe deux formats standard<<:>>\n\n* [[Les tiddlers dictionnaire|DictionaryTiddlers]]\n* [[Les tiddlers JSON|JSONTiddlers]]\n\nD'autres formats de tiddler peuvent aussi être utilisés pour produire des blocs de données qui se comporteront comme des tiddlers data.\n\nUtilisez TextReference pour rechercher une valeur par son nom. Par exemple, si un [[Tddler Dictionaire|DictionaryTiddlers]] appelé `JoursMois` contient<<:>>\n\n```\noct:31\nnov:30\ndec:31\n```\n\n... alors `{{JoursMois##nov}}` retournera la valeur `30`.\n\nC'est aussi vrai si `MonthDays` est un [[Tiddler JSON|JSONTiddlers]] avec le contenu suivant<<:>>\n\n```\n{\"oct\":31,\"nov\":30,\"dec\":31}\n```\n\nNote: //Il est actuellement possible de récupérer des données uniquement à partir des propriétés immédiates de l'objet racine d'un Tiddler JSON.//"
  },
  {
    "path": "editions/fr-FR/tiddlers/Data_URI.tid",
    "content": "caption: Data URI\ncreated: 20150221161803000\nmodified: 20150623071754135\ntags: Definitions\ntitle: Data URI\ntype: text/vnd.tiddlywiki\n\nUne <<.dlink-ex \"data URI\" \"http://fr.wikipedia.org/wiki/Data_URI_scheme\">> est un moyen de stocker des données (telles qu'une image) d'une façon compatible avec les adresses utilisées par les pages web et les [[feuilles de styles|Cascading Style Sheets]] pour accéder à des ressources externes.\n\nLa macro <<.mlink datauri>> peut être employée pour générer des data URIs via ~TiddlyWiki.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/DateFormat.tid",
    "content": "created: 20140418142957325\nfr-title: Format des dates\nmodified: 20150620074639900\ntags: Features\ntitle: DateFormat\ntype: text/vnd.tiddlywiki\n\nLe [[WidgetView|ViewWidget]] accepte un attribut `template` qui permet de spécifier le format d'affichage des dates. A la chaine formatée se substituent les valeurs suivantes&nbsp;:\n\n|!Format |!Valeur de Substitution |\n|`DDD` |Jour de la semaine en entier (ex, \"Monday\") |\n|`ddd` |Jour de la semaine abrégé (ex, \"Mon\") |\n|`DD` |N° du jour dans le mois |\n|`0DD` |Éventuel préfixe d'un zéro |\n|`DDth` |Ajout d'un suffixe |\n|`WW` |ISO-8601 n° de la semaine |\n|`0WW` |Éventuel préfixe d'un zéro |\n|`MMM` |Mois en entier (ex, \"July\") |\n|`mmm` |Mois abrégé (ex, \"Jul\") |\n|`MM` |N° du mois |\n|`0MM` |Éventuel préfixe d'un zéro |\n|`YYYY` |Année en entier |\n|`YY` |Année sur 2 chiffres |\n|`wYYYY` |Année complète avec numéro de la semaine |\n|`wYY` |Année abrégée avec numéro de la semaine |\n|`hh` |Heures |\n|`0hh` |Éventuel préfixe d'un zéro |\n|`hh12` |Heures au format 12 heures |\n|`0hh12` |Éventuel préfixe d'un zéro |\n|`mm` |Minutes |\n|`0mm` |Éventuel préfixe d'un zéro |\n|`ss` |Secondes |\n|`0ss` |Éventuel préfixe d'un zéro |\n|`am`/`pm` |Indicateur AM/PM en minuscule |\n|`AM`/`PM` |Indicateur AM/PM en majuscule |\n|`TZD` |Zone horaire |\n|`\\x` |Utilisation du caractère d'échappement pour insérer des caractères sans interpréter le formatage |\n\nNotez que tout autre texte sera affiché sans générer de modification, ce qui permet d'utiliser des virgules, les deux points ou tout séparateur utile.\n\n! Exemples\n\n|!Modèles |!Résultats formatés |\n|`DDth MMM wYYYY` |16 Février 2011 |\n|`DDth MMM \\M\\M\\M YYYY` |16 Février MMM 2011 |\n|`DDth mmm hh:mm:ss` |16 Fév 2011 11:38:42 |\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Date_Fields.tid",
    "content": "created: 20150117190213631\nfr-title: Champs date\nmodified: 20150624094818070\ntags: Concepts\ntitle: Date Fields\ntype: text/vnd.tiddlywiki\n\nCertains [[champs|TiddlerFields]] de tiddler servent à mémoriser dates et heures.\n\nLes deux champs dates standard sont <<.field created>> et <<.field modified>>.\n\nLes valeurs des champs date sont des chaine de 17-caractères<<:>>\n\n* 4 chiffres pour l'année\n* 2 chiffres pour le mois\n* 2 chiffres pour le jour\n* 2 chiffres pour l'heure\n* 2 chiffres pour la minute\n* 2 chiffres pour la seconde\n* 3 chiffres pour la milliseconde\n\nPour éviter les problèmes découlant des différences de fuseau horaire, TiddlyWiki utilise toujours l'[[UTC|http://fr.wikipedia.org/wiki/Coordinated_Universal_Time]].\n\nÀ titre d'exemple, le champ <<.field created>> de ce tiddler a la valeur <<.value \"\"\"<$view field=\"created\"/>\"\"\">>.\n\nLes dates peuvent être [[converties en d'autres formats|DateFormat]] d'affichage<<:>>\n\n<$macrocall $name=\"wikitext-example-without-html\"\nsrc=\"\"\"<$view field=\"created\" format=\"date\" template=\"DDD DDth MMM YYYY\"/>\"\"\">\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Definitions.tid",
    "content": "color: #7bb95d\ncreated: 20130825145100000\nfr-title: Définitions\nmodified: 20150623062320889\ntags: Reference\ntitle: Definitions\ntype: text/vnd.tiddlywiki\n\nVoici les définitions des mots et phrases techniques employés dans cette  documentation. (elles se distinguent des [[Concepts]] propres à TiddlyWiki).\n\n<<list-links \"[tag[Definitions]sort[caption]]\">>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Deprecated - What does it mean.tid",
    "content": "created: 20170126142116898\nfr-title: Obsolète - définition\nmodified: 20220303002330037\ntitle: Deprecated - What does it mean\ntype: text/vnd.tiddlywiki\n\nAvant tout<<:>> ''Restez calme<<!>>''\n\n{{$:/deprecated}}\n\nPour <<tw>>, cela signifie que vous ne devriez plus utiliser ce mécanisme pour du nouveau contenu, ''et que vous devriez mettre à jour votre contenu existant''<<!>>\n\nLes fonctionnalités obsolètes sont identifiées avec un style particulier. Voir<<:>> <<fr  \"How to apply custom styles by tag\">>\n\n''Tiddlers étiquetés `$:/deprecated`'' :\n\n><<list-links \"[tag[$:/deprecated]else[(aucun)]]\">>"
  },
  {
    "path": "editions/fr-FR/tiddlers/Developers.tid",
    "content": "created: 20150412191004348\nfr-title: Développeurs\nmodified: 20220217174800697\ntags: Community\ntitle: Developers\ntype: text/vnd.tiddlywiki\n\nPlusieurs ressources permettent aux développeurs d'en apprendre plus sur <<tw>>, de collaborer et de discuter de son développement.\n\n* [[tiddlywiki.com/dev|https://tiddlywiki.com/dev]] est la documentation officielle des développeurs\n* Vous pouvez vous impliquer dans le développement de <<tw>> sur [[GitHub|https://github.com/TiddlyWiki/TiddlyWiki5]]\n** Les [[discussions|https://github.com/TiddlyWiki/TiddlyWiki5/discussions]] sont disponibles pour les questions ouvertes et les questions/réponses.\n** Les [[problèmes|https://github.com/TiddlyWiki/TiddlyWiki5/issues]] permettent de signaler les bogues et de proposer de nouvelles idées spécifiques, réalistes et raisonnables\n* L'ancien groupe ~TiddlyWikiDev sur Google Group est maintenant fermé, et remplacé par les [[discussions GitHub|https://github.com/TiddlyWiki/TiddlyWiki5/discussions]], mais une archive reste disponible<<:>> https://groups.google.com/group/TiddlyWikiDev\n** Une fonctionnalité de recherche étendue du groupe est disponible sur [[mail-archive.com|https://www.mail-archive.com/tiddlywikidev@googlegroups.com/]]\n* Pour les dernières nouvelles, suivez [[@TiddlyWiki sur Twitter|http://twitter.com/#!/TiddlyWiki]]\n* Tchatchez sur https://gitter.im/TiddlyWiki/public (une salle dédiée au développement arrive bientôt)\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Development of TiddlyWiki5.tid",
    "content": "created: 20141005122238133\nfr-title: Développement de TiddlyWiki5\nmodified: 20141221121217987\ntitle: Development of TiddlyWiki5\ntype: text/vnd.tiddlywiki\n\nJ'ai travaillé sur une nouvelle version de <<tw>> à partir de novembre 2011. En tant que programmeur, travailler à une <<gf \"version 2.0\">> de quelque chose que j'avais déjà écrit était une projet très séduisant. Cela signifiait que les besoins étaient bien compris, et je pouvais dès lors me concentrer sur l'architecture et ses évolutions nécessaires à la mise en œuvre des fonctionnalités désirées.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/DictionaryTiddlers.tid",
    "content": "caption: Tiddlers Dictionnaire\ncreated: 20141228094500000\nfr-title: Tiddlers Dictionnaire\nmodified: 20150622102745886\ntags: Concepts\ntitle: DictionaryTiddlers\ntype: text/vnd.tiddlywiki\n\nUn tiddler dictionnaire est un [[tiddler de données|DataTiddlers]] contenant une simple liste de paires nom/valeur.\n\nSon [[type de contenu|ContentType]] est `application/x-tiddler-dictionary`.\n\nLe champ `text` contient une ou plusieurs lignes de la  forme <code>//name//: //value//</code>.\n\nLes [[palettes de couleurs|ColourPalettes]], comme la [[palette par défault, Vanilla|$:/palettes/Vanilla]], sont des tiddlers dictionnaires."
  },
  {
    "path": "editions/fr-FR/tiddlers/Discover TiddlyWiki.tid",
    "content": "created: 20140904121000000\nfr-title: Découvrez TiddlyWiki\nmodified: 20150620082733997\ntags: HelloThere\ntitle: Discover TiddlyWiki\ntype: text/vnd.tiddlywiki\n\nÀ moins que vous n'ayez déjà observé <<tw>> en action, nous pouvons vous garantir que vous n'avez jamais //rien// vu de semblable.  <<tw>> est :\n\n:: un outil, \n:: une boîte à outils, \n:: une communauté, \n:: et une philosophie. \n\n! <<tw>> est un outil\n\n''<<tw>> est d'abord et avant tout un outil'' : un outil libre et gratuitement téléchargeable, qui sert à conserver et organiser du contenu, qu'il provienne du Web, de vos documents, ou de votre cerveau. Il s'agit d'un outil de prise de notes, d'annotation, de gestion de signets et de mémos, d'écriture, de gestion de projets et de listes de choses à faire, de collaboration, de blog, et d'édition.\n\nAvec <<tw>>, vous créez ou collez du contenu dans des notes appelées //tiddlers//, puis vous connectez vos tiddlers avec des hyperliens et des tags. Vous pouvez ensuite retrouver vos notes facilement grâce à des fonctions comme des nuages de tags, des onglets latéraux, ou la fenêtre de recherche ultra rapide de <<tw>>. Vous pouvez même inclure dynamiquement le contenu d'un tiddler dans un autre — comme on assemble un jeu de construction — pour créer des articles, des listes, des présentations, etc.\n\n! <<tw>> est une boîte à outils\n\nEn plus d'être un outil multi-fonctions, ''<<tw>> est aussi une boîte à outils''.\n\nLà où d'autres produits de prises de notes commencent par vous attirer avec l'application de base, pour vous faire ensuite payer les fonctions réellement utiles, <<tw>> contient une collection de thèmes, palettes, plugins, widgets et macros, entièrement gratuits et en constante augmentation. Vous pouvez les combiner dans tous les sens pour corriger et remodeler votre <<tw>> à votre guise. \n\n! <<tw>> est aussi une communauté\n\nNous sommes une [[communauté|Community]] d'utilisateurs et de développeurs qui s'aident mutuellement, imaginent de nouvelles façons de penser et d'organiser les connaissances, et créent de nouvelles solutions, afin d'adapter constamment <<tw>> aux besoins des utilisateurs. Les utilisateurs et les développeurs de <<tw>> partagent questions et conseils sur un forum Google dédié. Ils créent également des tutoriels, des adaptations et des plugins qui amélioreront votre expérience de <<tw>>. Rendez-vous à la section ''Communité'' de la [[table des matières|TableOfContents]] pour plus de détails.\n\n! Enfin, <<tw>> est une philosophie\n\nPrendre des notes et les organiser (et conserver toutes sortes de contenu) n'a d'intérêt que si vous êtes en mesure de les retrouver plus tard. Sinon, l'acte de prendre des notes n'est qu'une colossale perte de temps.\n\nLa [[philosophie de TiddlyWiki|Philosophy of Tiddlers]] soutient que le meilleur moyen de prendre des notes consiste à les séparer en //tiddlers//, les plus petites unités sémantiques possibles. Un tiddler peut être une image, un lien sur une page web, la définition d'un terme, ou du code de personnalisation, comme une macro.\n\nCes //tiddlers// peuvent être ensuite combinés pour créer des unités plus longues : déroulés, articles, listes, galeries d'images, etc. Les fonctions de <<tw>> comme l'étiquetage, les références croisées et les filtres, sont conçues spécifiquement pour vous aider à associer et connecter les tiddlers de plusieurs manières, afin de faciliter la récupération de vos notes, voire vous aider à découvrir des relations inattendues entre vos tiddlers et l'information qu'ils contiennent.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Document_Object_Model.tid",
    "content": "caption: DOM\ncreated: 20150228133106000\nfr-title: DOM, Modèle d'Objet Document\nmodified: 20150623073527614\ntags: Definitions\ntitle: Document Object Model\ntype: text/vnd.tiddlywiki\n\nLe <<.dlink-ex DOM \"http://fr.wikipedia.org/wiki/Document_Object_Model\">> d'une page web est une représentation arborescente de son contenu, maintenue en interne pas le navigateur web pendant que l'utilisateur interagit avec ce contenu. Chaque intersection de l'arbre est appelée <<.def nœud>> (node).\n\nQuand ~TiddlyWiki s'exécute dans un navigateur web, ses [[widgets|Widgets]] interprètent les nœuds du DOM pour les afficher.\n\nQuand ~TiddlyWiki est exécuté sur [[Node.js|TiddlyWiki on Node.js]], il utilise un faux DOM pour simuler le comportement du navigateur.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Documentation Style Guide.tid",
    "content": "created: 20140904164608166\nfr-title: Manuel de style pour la documentation TiddlyWiki\nmodified: 20141128170624843\ntags: Improving TiddlyWiki Documentation\ntitle: Documentation Style Guide\ntype: text/vnd.tiddlywiki\n\nLa documentation de ~TiddlyWiki tente de suivre les règles suivantes. L'objectif est de s'assurer que la documentation issue d'auteurs différents se lira de façon aussi homogène que possible.\n\n# Adressez-vous au lecteur directement en disant \"vous\"\n# Évitez la [[voix passive|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=2950]] dans vos tutoriels et vos présentations\n# Lorsque vous écrivez en Anglais, utilisez [[l'Anglais britannique de préférence à l'Anglais des États-Unis|http://en.wikipedia.org/wiki/American_and_British_English_spelling_differences]]. En Français, si vous utilisez des expressions qui ne sont pas employées en France, reliez-les à un tiddler qui les replace dans leur contexte.\n\nVoir aussi les règles pour [[les titres des tiddlers|Adopt a Titles Policy]].\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Documentation pour les traducteurs.tid",
    "content": "created: 20141218115015914\ncreator: 127.0.0.1\nlist-before: \nmodified: 20141218141257060\nmodifier: 127.0.0.1\ntags: $:/tags/TopRightBar\ntitle: Documentation pour les traducteurs\ntype: text/vnd.tiddlywiki\n\n<$button to=\"Informations pour les traducteurs\">Documentation pour les traducteurs</$button>"
  },
  {
    "path": "editions/fr-FR/tiddlers/Documentation_Macros.tid",
    "content": "created: 20150110182600000\nfr-title: Macros de documentation\nmodified: 20150624093314089\ntags: [[Improving TiddlyWiki Documentation]]\ntitle: Documentation Macros\ntype: text/vnd.tiddlywiki\n\nLes macros suivantes sont utilisées tout au long de la documentation de ~TiddlyWiki. Leurs noms commencent par un point pour les séparer de celles que les utilisateurs ont l'habitude d'expérimenter.\n\n!Général\n\n|!Macro |!Utilisé pour |!Exemple |\n|.def |l'occurrence d'un terme défini |<<.def widget>> |\n|.em |mise en valeur mineur dans une phrase |<<.em non>> |\n|.place |un emplacement à saisir par l'utilisateur |<<.place nomtag>> |\n|.strong |mise en valeur majeur dans un tiddler |<<.strong Important!>> |\n|.word |la mention d'un mot ou une phrase ordinaire |<<.word \"Salut à tous\">> |\n\n!Avis\n\n|!Macro |!Utilisé pour |!Exemple |\n|^.tip |^Astuces & infos |<<.tip \"Allumez votre écran, ou<br>vous n'en verrez pas plus.\">> |\n|^.warning |^Avertissement |<<.warning \"Sauvegardez vos fichiers<br>avant la mise à jour.\">> |\n\n!Blocs\n\n|!Macro |!Utilisé pour |\n|.preamble |Un préambule qui se démarque du reste du tiddler |\n\n!Tiddlers et champs\n\n|!Macro |!Utilisé pour |!Exemple |\n|.tid |un titre de tiddler |<<.tid Exemple>> |\n|.tag |un tag |<<.tag Exemple>> |\n|.field |un nom de champ |<<.field exemple>> |\n|.value |la valeur d'un champ |<<.value \"exemple de valeur\">> |\n|.op |un opérateur de filtre |<<.op backlinks>> |\n|.var |un nom de variable ou de macro |<<.var currentTiddler>> |\n|.wid |un nom de widget |<<.wid list>> |\n|.attr |un nom d'attribut |<<.attr filter>> |\n|.param |un nom de paramètre de macro |<<.param text>> |\n\n!Le carnaval des liens (cliquez pour essayer)\n\n|!Macro |!Utilisé pour |!Exemple |\n|.link |un lien avec du WikiText |<<.link \"^^an^^ ~~exemple~~\" Exemple >> |\n|.clink |un lien en code |<<.clink `<$list>` ListWidget>> |\n|.dlink |un lien vers l'occurrence d'un terme défini |<<.dlink widget Widgets>> |\n|.dlink-ex |un lien externe vers une occurrence définie |<<.dlink-ex Exemple \"http://example.com/\">> |\n|.flink |un lien vers un champ |<<.flink ListField>> |\n|.mlink |un lien vers une macro |<<.mlink qualify>> |\n|.mlink2 |un lien vers une macro, avec cible spécifiée |<<.mlink2 foo \"Examples of Macros\">> |\n|.olink |un lien vers un opérateur |<<.olink prefix>> |\n|.olink2 |un lien vers un opérateur, avec cible spécifiée |<<.olink2 foo prefix>> |\n|.vlink |un lien vers une variable |<<.vlink currentTiddler>> |\n|.vlink2 |un lien vers une variable, avec cible spécifiée |<<.vlink2 foo \"Examples of Variables\">> |\n|.wlink |un lien vers un widget |<<.wlink ButtonWidget>> |\n|.wlink2 |un lien vers un widget, avec texte spécifié |<<.wlink2 foo ButtonWidget>> |\n\n!Interface utilisateur\n\n|!Macro |!Utilisé pour |!Exemple |\n|.key |une touche du clavier |<<.key Escape>> |\n|.keycombo |une combinaison de touches |<<.keycombo Ctrl Enter>> |\n\n!Onglets\n\n|!Macro |!Utilisé pour |!Exemple |\n|.sidebar-tab |le nom d'onglet du menu latéral |<<.sidebar-tab More>> |\n|.more-tab |le nom d'une option de l'onglet Plus |<<.more-tab Shadows>> |\n|.info-tab |le nom d'un tiddler de l'onglet info |<<.info-tab Fields>> |\n|.controlpanel-tab |the name of a Control Panel tab |<<.controlpanel-tab Settings>> |\n|.advancedsearch-tab |the name of an Advanced Search tab |<<.advancedsearch-tab Filter>> |\n|.toc-tab |name of the tw5.com TOC tab |<<.toc-tab>> |\n|.example-tab |an example tab name |<<.example-tab \"Notes\">> |\n\n!!Paramètres de .sidebar-tab (menu latéral)\n\n|Open |<<.sidebar-tab Open>> |\n|Recent |<<.sidebar-tab Recent>> |\n|Tools |<<.sidebar-tab Tools>> |\n|More |<<.sidebar-tab More>> |\n\n!!Paramètres de .more-tab (onglet plus)\n\n|All |<<.more-tab All>> |\n|Recent |<<.more-tab Recent>> |\n|Tags |<<.more-tab Tags>> |\n|Missing |<<.more-tab Missing>> |\n|Drafts |<<.more-tab Drafts>> |\n|Orphans |<<.more-tab Orphans>> |\n|Types |<<.more-tab Types>> |\n|System |<<.more-tab System>> |\n|Shadows |<<.more-tab Shadows>> |\n\n!!Paramètres de .info-tab (panneau d'info)\n\n|Tools |<<.info-tab Tools>> |\n|References |<<.info-tab References>> |\n|Tagging |<<.info-tab Tagging>> |\n|List |<<.info-tab List>> |\n|Listed |<<.info-tab Listed>> |\n|Fields |<<.info-tab Fields>> |\n|Advanced |<<.info-tab Advanced>> |\n\n!!Paramètres de .controlpanel-tab (panneau de contrôle)\n\n|Info |<<.controlpanel-tab Info>> |\n|Appearance |<<.controlpanel-tab Appearance>> |\n|Settings |<<.controlpanel-tab Settings>> |\n|Saving |<<.controlpanel-tab Saving>> |\n|Plugins |<<.controlpanel-tab Plugins>> |\n\n!!Paramètres de .advancedsearch-tab (Recherche avancée)\n\n|Standard |<<.advancedsearch-tab Standard>> |\n|System |<<.advancedsearch-tab System>> |\n|Shadows |<<.advancedsearch-tab Shadows>> |\n|Filter |<<.advancedsearch-tab Filter>> |\n\n!Boutons\n\n|!Macro |!Utilisé pour |!Exemple |\n|.button |un bouton standard et son icone |<<.button \"new-tiddler\">> |\n\n!!Paramètres de .button\n\n!!!Barre d'outils de Tiddler\n\n|clone |<<.button \"clone\">> |\n|close |<<.button \"close\">> |\n|close-others |<<.button \"close-others\">> |\n|edit |<<.button \"edit\">> |\n|export-tiddler |<<.button \"export-tiddler\">> |\n|info |<<.button \"info\">> |\n|more-tiddler-actions |<<.button \"more-tiddler-actions\">> |\n|new-here |<<.button \"new-here\">> |\n|new-journal-here |<<.button \"new-journal-here\">> |\n|permalink |<<.button \"permalink\">> |\n\n!!!Barre d'outil du mode Edition\n\n|cancel |<<.button \"cancel\">> |\n|delete |<<.button \"delete\">> |\n|save |<<.button \"save\">> |\n\n!!!Page des outils\n\n|advanced-search |<<.button \"advanced-search\">> |\n|close-all |<<.button \"close-all\">> |\n|control-panel |<<.button \"control-panel\">> |\n|encryption |<<.button \"encryption\">> |\n|export-page |<<.button \"export-page\">> |\n|full-screen |<<.button \"full-screen\">> |\n|home |<<.button \"home\">> |\n|import |<<.button \"import\">> |\n|language |<<.button \"language\">> |\n|more-page-actions |<<.button \"more-page-actions\">> |\n|new-journal |<<.button \"new-journal\">> |\n|new-tiddler |<<.button \"new-tiddler\">> |\n|permaview |<<.button \"permaview\">> |\n|refresh |<<.button \"refresh\">> |\n|save-wiki |<<.button \"save-wiki\">> |\n|storyview |<<.button \"storyview\">> |\n|tag-manager |<<.button \"tag-manager\">> |\n|theme |<<.button \"theme\">> |\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Dominant_Append.tid",
    "content": "caption: Ajout prépondérant\ncreated: 20150123220223000\nfr-title: Ajout prépondérant\nmodified: 20150622102941461\ntags: Concepts\ntitle: Dominant Append\ntype: text/vnd.tiddlywiki\n\nLes [[filtres|Filters]] manipulent des [[sélections de titres|Title Selection]] où aucun titre n'apparait plus d'une fois. En outre, ils ont souvent besoin d'ajouter tel ensemble à un autre.\n\nCet ajout s'effectue d'une façon telle que, si un titre vient à être dupliqué, la copie antérieure de ce titre est éliminé. Les titres ajoutés sont ''prépondérants''.\n\nPar exemple, si une sélection contient `Andrew Becky Clara Daniel` et que `Andrew Barney Clara Daisy` lui est ajouté, le résultat sera `Becky Daniel Andrew Barney Clara Daisy`.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/DraftMechanism.tid",
    "content": "created: 20150619170122415\nfr-title: Mécanisme pour les ébauches\nmodified: 20150624091226014\ntags: Mechanisms\ntitle: DraftMechanism\ntype: text/vnd.tiddlywiki\n\nLes Tiddlers qui ont un champ `draft.of` sont traités comme les ébauches en suspens des tiddlers indiqués dans le champ. Les tiddlers d'ébauche ont aussi un champ `draft.title` spécifiant le titre qui sera donné au tiddler après validation.\n\nPlusieurs fonctionnalités fonctionnent de concert afin d'obtenir le comportement souhaité des tiddlers d'ébauche<<:>>\n\n* Le ListWidget peut éventuellement afficher les tiddlers ébauche via un gabarit différent\n* Le NavigatorWidget inclut des particularismes concernant les événements suivants<<:>>\n** `tm-new-tiddler` pour créer un nouveau tiddler en mode ébauche\n** `tm-edit-tiddler` pour mettre un tiddler en mode édition \n** `tm-cancel-tiddler` pour annuler un tiddler en mode édition\n** `tm-save-tiddler` pour confirmer un tiddler d'ébauche\n* Les tiddlers en cours d'ébauche sont exclus automatiquement du champ des recherche\n\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/EditTextWidget.tid",
    "content": "caption: edit-text\ncreated: 20131024141900000\nmodified: 20141025085449609\ntags: Widgets\ntitle: EditTextWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nThe edit text widget provides a user interface in the browser for editing text tiddler fields. The editing element is dynamically bound to the underlying tiddler value: changes to the tiddler are instantly reflected, and any edits are instantly propogated.\n\nBy default, the edit text widget generates a `<textarea>` as the HTML editing element when the `text` field is edited, and a `<input type=\"text\">` element otherwise. This behaviour can be overridden with the `tag` and `type` attributes.\n\n! Content and Attributes\n\nThe content of the `<$edit-text>` widget is ignored.\n\n|!Attribute |!Description |\n|tiddler |The tiddler to edit (defaults to the CurrentTiddler) |\n|field |The field to edit (defaults to `text`). Takes precedence over the `index` attribute |\n|index |The index to edit |\n|default |The default text to be provided when the target tiddler doesn't exist |\n|class |A CSS class to be assigned to the generated HTML editing element |\n|placeholder |Placeholder text to be displayed when the edit field is empty |\n|focusPopup |Title of a state tiddler for a popup that is displayed when the editing element has focus  |\n|tag |Overrides the generated HTML editing element tag. Use `textarea` for a multi-line editor |\n|type |Overrides the generated HTML editing element `type` attribute |\n|size |The size of the input field (in characters) |\n|autoHeight |Either \"yes\" or \"no\" to specify whether to automatically resize `textarea` editors to fit their content (defaults to \"yes\") |\n|minHeight |Minimum height for automatically resized `textarea` editors, specified in CSS length units such as \"px\", \"em\" or \"%\" |\n\n! Notes\n\nOne trap to be aware of is that the edit text widget cannot be used to edit a field of the tiddler that contains it. Each keypress results in the tiddler being re-rendered, which loses the cursor position within the text field.\n\nInstead, place the edit text widget in a [[template|TemplateTiddlers]] that references the tiddler you want to modify.\n\nFor example, if you wanted to edit the value of the \"myconfig\" field of the tiddler \"AppSettings\", you might do so by creating a separate tiddler \"ChangeAppSettings\" that contains the following:\n\n```\n<$edit-text tiddler=\"AppSettings\" field=\"myconfig\"/>\n```\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Editing_Tiddlers_with_Emacs.tid",
    "content": "created: 20140406210404245\nfr-title: Edition des tiddlers avec Emacs\nmodified: 20150614111708037\ntags: Learning\ntitle: Editing Tiddlers with Emacs\ntype: text/vnd.tiddlywiki\n\nMichael Fogleman a rédigé un mode  [[Emacs|http://www.gnu.org/software/emacs/]] majeur appelé [[tid-mode|https://github.com/mwfogleman/tid-mode]], qui permet de modifier des fichiers TiddlyWiki .tid. C'est une variante du mode-texte qui utilise les modes mineurs org-struct et subword, et met à jour les modifications à chaque sauvegarde du fichier .tid .\n\nIl a aussi écrit deux fonction aidant à l'utilisation de TiddlyWiki sur Emacs. La première ouvre un dossier de tiddlers dans Dired<<;>> la seconde ouvre TiddlyWiki dans le navigateur.\n\n```\n(defun open-wiki ()\n  \"Opens a TiddlyWiki directory in Dired.\"\n  (interactive)\n  (dired \"~/Dropbox/wiki/tiddlers/\"))\n```\n  \n```\n(defun browse-wiki ()\n  \"Opens TiddlyWiki in the browser.\"\n  (interactive)\n  (browse-url \"127.0.0.1:8080/\"))\n```\n\nCette fonction ultérieure  nécessite un navigateur spécifique<<:>>\n\n```\n(setq browse-url-browser-function 'browse-url-generic\n      browse-url-generic-program \"chromium\")\n```\n\nVous pouvez créer un raccourci clavier vers chacune de ces fonctions avec la fonction global-set-key<<:>>\n\n```\n(global-set-key (kbd \"C-c w\") 'open-wiki)\n```\n\nÀ ce jour, cela n'est pas intégré dans tid-mode.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Editions.tid",
    "content": "caption: Éditions\ncreated: 20140908125500000\nfr-title: Éditions\nlist: [[Empty Edition]] [[TiddlyWiki in the Sky for TiddlyWeb]]\nmodified: 20141127090932793\ntags: TableOfContents\ntitle: Editions\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki est publié sous différentes éditions adaptées à des objectifs spécifiques. Chacune est constituée des mêmes composants <<tw>> principaux, associés aux plugins nécessaires, à la documentation et au contenu d'exemple.\n\nVous pouvez mélanger les composants de ces éditions à votre gré pour créer une solution unique pour votre application dédiée.\n\n<<list-links \"[tag[Editions]]\">>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Empty Edition.tid",
    "content": "created: 20140916213421041\nfr-title: Édition « basique »\nmodified: 20160526132027359\ntags: Editions\ntitle: Empty Edition\ntype: text/vnd.tiddlywiki\n\nL'édition <<gf \"basique\">> de ~TiddlyWiki est une distribution minimale, sans plugin additionnel ni configuration au-delà du code principal.\n\nL'édition //basique// peut être récupérée à l'adresse<<dp>>\n\n> {{$:/editions/fr-FR/snippets/download-empty-button}}\n> Si le bouton ne fonctionne pas, enregistrez ce lien<<dp>> https://tiddlywiki.com/languages/fr-FR/empty.html\n> Votre navigateur vous demandera peut-être d'accepter explicitement l'enregistrement avant qu'il démarre\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Encryption.tid",
    "content": "caption: Cryptage\ncreated: 20130825160900000\nfr-title: Cryptage\nmodified: 20150603142918663\ntags: Features [[Working with TiddlyWiki]]\ntitle: Encryption\ntype: text/vnd.tiddlywiki\n\nLorsqu'il est utilisé comme un fichier HTML unique, TiddlyWiki5 permet de crypter le contenu à l'aide de la [[Stanford JavaScript Crypto Library|http://bitwiseshiftleft.github.io/sjcl/]].\n\n# Allez à l'onglet ''Outils'' sur la barre latérale, et cherchez le bouton avec une icône de cadenas\n\n# Si le bouton a pour intitulé <<gf \"//affecter un mot de passe//\">>, c'est que le wiki en cours n'est pas crypté. Cliquer sur le bouton vous demandera un mot de passe qui sera utilisé pour les prochains enregistrements\n\n# Si le bouton est intitulé <<gf \"//résilier le mot de passe//\">>, cela signifie que le wiki en cours est déjà crypté. Cliquer sur le bouton supprimera le mot de passe de sorte que les enregistrements suivants ne seront pas cryptés\n\n# Si vous voulez vérifier que vos données sont bien cryptées, vous pouvez ouvrir le fichier enregistré dans un éditeur de texte (faites attention de ne pas le modifier !)\n\n# Ouvrez le fichier dans votre navigateur. Avant d'afficher le contenu, un mot de passe vous sera demandé.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Environment Variables on Node.js.tid",
    "content": "created: 20140617211749290\nfr-title: Variables d'environment sur Node.js\nmodified: 20150624094749654\ntags: [[TiddlyWiki on Node.js]]\ntitle: Environment Variables on Node.js\ntype: text/vnd.tiddlywiki\n\n[[TiddlyWiki pour Node.js|TiddlyWiki on Node.js]] reconnaît les variables d'environnement système ci-dessous pour spécifier une liste de chemins (séparés par des deux-points), où chercher les différents plugins et <<gf éditions>><<dp>>\n\n* `TIDDLYWIKI_PLUGIN_PATH` — Chemin de recherche pour les plugins ordinaires\n* `TIDDLYWIKI_THEME_PATH` — Chemin de recherche pour les thèmes\n* `TIDDLYWIKI_LANGUAGE_PATH` — Chemin de recherche pour les langues\n* `TIDDLYWIKI_EDITION_PATH` — Chemin de recherche pour les éditions (utilisé par la [[commande Init|InitCommand]]).\n\nCes chemins supplémentaires doivent tous pointer vers des dossiers structurés comme leurs répertoires équivalents de l'arborescence TiddlyWiki5 sous GitHub<<dp>> les répertoires de plugins, thèmes et langues contiennent `publisher/nomduplugin/<fichiers>` tandis que les répertoires des <<gf éditions>> contiennent `nomedition/<fichiers>`\n\nExemple<<dp>>\n\n```\nTIDDLYWIKI_PLUGIN_PATH=~/MonMagasinDePlugins\ntiddlywiki monwiki --build index\n```\n\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Example_Table_of_Contents__Expandable.tid",
    "content": "caption: Développable\ncreated: 20150221201816000\nfr-title: Exemple Table des matières: Développable\nmodified: 20150621091932087\norder: 2\ntags: table-of-contents-example\ntitle: Example Table of Contents: Expandable\ntype: text/vnd.tiddlywiki\n\n<$macrocall $name=\".example\" n=\"1\"\neg=\"\"\"<div class=\"tc-table-of-contents\">\n<<toc-expandable \"Contents\">>\n</div>\"\"\"/>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Examples.tid",
    "content": "created: 20140320230543190\nfr-title: Exemples d'utilisation\nmodified: 20160603043913891\ntags: HelloThere Community\ntitle: Examples\ntype: text/vnd.tiddlywiki\n\nCette compilation montre des exemples intéressants et inspirants d'utilisation de ~TiddlyWiki qu'on peut trouver dans la nature. Proposez de nouvelles entrées pour cette collection via GitHub, Twitter ou en postant sur les  [[groupes de discussion TiddlyWiki|Forums]].\n\n<div class=\"tc-link-info\">\n\n<$list filter=\"[tag[Examples]!sort[modified]]\">\n\n<div class=\"tc-link-info-item\">\n\n! <$link><$transclude field=\"caption\"><$view field=\"title\"/></$transclude></$link>\n\n!!! <a href={{!!url}} target=\"_blank\"><$text text={{!!url}}/></a>\n\n<div class=\"tc-subtitle\">Posted <$view field=\"modified\" format=\"relativedate\"/></div>\n\n<$transclude/>\n\n</div>\n\n</$list>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Exporter un sous-ensemble de tiddlers.tid",
    "content": "created: 20141128103901173\nmodified: 20141128170659622\ntags: Saving\ntitle: Exporter un sous-ensemble de tiddlers\ntype: text/vnd.tiddlywiki\n\nLe mécanisme d'exportation qui a fait son apparition avec la version [[5.1.5]] de <<tw>> permet de sélectionner facilement un sous-ensemble de tiddlers afin de le sauvegarder dans un fichier.\n\nSi par exemple vous souhaitez sauvegarder dans un fichier tous les tiddlers ayant un tag `WikiText` et contenant un champ `fr-title`, entrez le [[filtre|Filters]] `[tag[WikiText]has[fr-title]]` dans l'onglet //Filtre// de la [[Recherche avancée|$:/AdvancedSearch]] et choisissez //Fichier de tiddlers au format JSON// après avoir cliqué sur @@.inline-button {{$:/core/images/export-button}}@@\n\nVous obtenez alors un fichier nommé `tiddlers.json`, qui contient tous les tiddlers sélectionnés et qui pourra être réutilisé plus tard via un simple glissé-déposé sur un <<tw>> ouvert.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/ExternalImages.tid",
    "content": "created: 20140610213500000\nfr-title: Images externes\nmodified: 20150624092640854\ntags: Concepts Features\ntitle: ExternalImages\ntype: text/vnd.tiddlywiki\n\nLes images externes dans <<tw>> sont des tiddlers qui pointent sur l'URI d'une image, plutôt que d'avoir à incorporer toutes les données de l'image. Ils fonctionnent mieux que l'affichage d'images incorporées, notamment avec les images de grande taille. Cependant, leur utilisation détourne <<tw>> de sa vocation de fichier unique.\n\nLes images externes sont utilisées dans le navigateur. Elles peuvent être créées soit par la configuration Node.js lors de la production d'un <<tw>>, soit manuellement en éditant un <<tw>> dans le navigateur .\n\n! Qu'est-ce qu'une image externe\n\nUne image externe est un tiddler image ordinaire avec un champ ''_canonical_uri'' contenant l'URI de l'image. L'URI pointe de façon absolue ou relative vers le document HTML. Si le champ ''_canonical_uri'' est renseigné, alors le champ ''text'' du tiddler est ignoré et peut être omis.\n\n! Création manuelle d'Images Externes\n\nPour créer manuellement une image externe, il suffit juste de créer un tiddler avec le type de contenu image approprié, puis d'ajouter un champ ''_canonical_uri'' dont l'URI pointe vers l'emplacement de stockage de l'image.\n\n''IMPORTANT&nbsp;:'' Revérifiez votre orthographe. ``_canonical_uri`` s'épelle [[URI|https://en.wikipedia.org/wiki/URI#The_relationship_between_URIs.2C_URLs.2C_and_URNs]], et pas URL.\n\n! Création d'images externes sous Node.js\n\nSuivre les étapes suivantes pour créer une version HTML statique d'un fichier wiki accompagné d'un dossier '' images '' contenant les références des images externes&nbsp;:\n\n# Créer des Tiddlers image dans votre TiddlyWikiFolders de façon habituelle\n# Sauvegardez les images en fichiers séparées (par convention, dans le sous-répertoire nommé ''images'')\n# Externalisez les Tiddlers image en leur attribuant un champ ''_canonical_uri'' \n# Sauvegardez le fichier HTML principal\n\nNotez que les fichiers images doivent être sauvegardés avant d'être externalisés. Leur externalisation écrasera les champs ''text'' de la mémoire de votre wiki, ce qui signifie que toute tentative de sauvegarde échouera.\n\nPour un exemple, voir la génération de la cible ''externalimages'' dans la demo ''tw5.com'' wiki&nbsp;:\n\n```\n--savetiddlers [is[image]] images\n--setfield [is[image]] _canonical_uri $:/core/templates/canonical-uri-external-image text/plain\n--setfield [is[image]] text \"\" text/plain\n--rendertiddler $:/core/save/all externalimages.html text/plain\n```\n\n!!  Sauvegardez les images en fichiers séparées\n\nLa commande `--savetiddlers` suivante peut être utilisée pour sauvegarder les images d'un wiki dans un sous-répertoire ''images''&nbsp;:\n\n```\n--savetiddlers [is[image]] images\n```\n\n!! Externalisez les Tiddlers Image\n\nDeux commandes `--setfield` sont utilisées&nbsp;: la première affecte au champ ''_canonical_uri'' l'URI correspondant au titre du tiddler, et la deuxième efface le champ text.\n\n```\n--setfield [is[image]] _canonical_uri $:/core/templates/canonical-uri-external-image text/plain\n--setfield [is[image]] text \"\" text/plain\n```\n\nLe tiddler gabarit [[$:/core/templates/canonical-uri-external-image]] contient&nbsp;:\n\n<pre>\n\n<$view tiddler=\"$:/core/templates/canonical-uri-external-image\" field=\"text\" format=\"text\"/>\n\n</pre>\n\nNotez que ces opérations modifient les tiddlers dans la mémoire du wiki et peuvent donc affecter le fonctionnement de commandes ultérieures.\n\n! Utilisation d'Images Externes\n\nVous ne pouvez pas éditer une image externe directement dans le navigateur, sauf en changeant le champ URI pour pointer vers une image différente.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Features.tid",
    "content": "created: 20130822172800000\nfr-title: Fonctionnalités\nmodified: 20150531185159561\ntags: TableOfContents\ntitle: Features\ntype: text/vnd.tiddlywiki\n\n\\define alert-demo()\n<$fieldmangler tiddler=\"SampleAlert\"><$set name=\"currentTiddler\" value=\"SampleAlert\"><$button message=\"tm-add-tag\" param=\"$:/tags/Alert\">alerts</$button></$set></$fieldmangler>\n\\end\n\nPlus d'informations sur les fonctionnalités spécifiques de <<tw>><<dp>>\n\n<<list-links \"[tag[Features]]\">>\n\n----\n\n* Des outils d'interface utilisateur conviviaux comme <<alert-demo>>, <$button message=\"tm-modal\" param=\"SampleWizard\">wizards</$button> et <$button message=\"tm-notify\" param=\"SampleNotification\">notifications</$button>\n* Essayez le <$button message=\"tm-full-screen\">mode plein-écran</$button>\n* Explorez le [[plugin de visualisation D3.js|https://tiddlywiki.com/plugins/tiddlywiki/d3/index.html]]\n* Accédez à [[CodeMirror par plugin|https://tiddlywiki.com/plugins/tiddlywiki/codemirror/index.html]]\n* Notez avec [[Markdown par  plugin|https://tiddlywiki.com/plugins/tiddlywiki/markdown/index.html]]\n* Conservez le marquage [[TiddlyWiki Classic par plugin|https://tiddlywiki.com/plugins/tiddlywiki/tw2parser/index.html]]\n* Enfin, mais non des moindres, TiddlyWiki est un des rares exemples d'utilisation d'une [[quine|Quine]] au quotidien."
  },
  {
    "path": "editions/fr-FR/tiddlers/Federatial.tid",
    "content": "created: 20130825154900000\nmodified: 20220219164816011\ntags: Definitions\ntitle: Federatial\ntype: text/vnd.tiddlywiki\n\nFederatial Limited est une entreprise de consultants en logiciel fondée par JeremyRuston, le créateur de <<tw>>.\n\nFederatial aide les organisations à explorer de nouveaux concepts d'interaction utilisateur grâce au prototypage rapide d'outils sophistiqués basés sur le web.\n\nPour plus d'informations, visitez [[https://federatial.com/]] et [[https://twitter.com/federatial]].\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/FederatialLimited.tid",
    "content": "caption: Federatial Limited\ncreated: 20130825154900000\nmodified: 20150623063402343\ntags: Definitions\ntitle: FederatialLimited\ntype: text/vnd.tiddlywiki\n\nFederatial Limited est une entreprise de consulting fondée par JeremyRuston et spécialisée dans la compréhension des impacts du web sur le travail collaboratif.\n\nVisitez http://federatial.com/ et http://twitter.com/federatial pour plus d'information."
  },
  {
    "path": "editions/fr-FR/tiddlers/Filter Expression.tid",
    "content": "created: 20150124182421000\nfr-title: Expression d'un filtre\nmodified: 20150621103316084\ntags: [[Filter Syntax]]\ntitle: Filter Expression\ntype: text/vnd.tiddlywiki\n\n<$railroad text=\"\"\"\n[{:\n  [: [[Espacevierge|\"Filter Whitespace\"]] ]\n  (\"+\"|:-|\"-\")\n  [[sequence|\"Filter Run\"]]\n}]\n\"\"\"/>\n\nL'<<.def \"expression d'un filtre\">> est le plus haut niveau de la [[syntaxe d'un filtre|Filter Syntax]].Elle est composée d'une ou plusieurs [[séquences|Filter Run]].\n\nUne entrée de séquence est souvent une liste de tous les titres des tiddlers non-[[shadow|ShadowTiddlers]] du wiki (sans tri particulier). Mais le préfixe `+` peut modifier cela.\n\n* Si une séquence ne comporte pas de préfixe `+` ou `-`, ces titres en sortie sont [[ajoutés par prépondérance|Dominant Append]] au résultat du filtre.\n* Si une séquence comporte un préfixe `-`, les titres en sortie sont <<.em extraits>> du résultat du filtre (s'ils y étaient).\n* Si une séquence comporte un préfixe `+`, elle compare les sorties du filtre à ses entrées. La sortie du filtre est alors entièrement <<.em remplacée>> par les séquences qui se recoupent. Toutes séquences de titres de tiddler suivantes sont traitées comme des entrées, à moins qu'elles n'aient aussi un préfixe ` +`.\n\nEn termes techniques plus concis<<dp>>\n\n|!Séquence |!Interpretation |!Output |\n|`séquence` |réunion |... OR séquence |\n|`+séquence` |intersection |... AND séquence |\n|`-séquence` |exclusion |... AND NOT séquence |"
  },
  {
    "path": "editions/fr-FR/tiddlers/Filter Parameter.tid",
    "content": "created: 20160515060000000\nfr-title: Paramètre d'un filtre\nmodified: 20150621111345608\ntags: [[Filter Syntax]]\ntitle: Filter Parameter\ntype: text/vnd.tiddlywiki\n\n<$railroad text=\"\"\"\n( \"[\" [:{/\"tout sauf ]\"/}] \"]\"\n  |\n  \"{\" [:{/\"tout sauf }\"/}] \"}\"\n  |\n  \"<\" [:{/\"tout sauf >\"/}] \">\"\n)\n\"\"\"/>\n\nLe paramètre de l'[[opérateur de filtre|Filter Operators]] peut être<<:>>\n\n;<<.def dur>>\n: `[comme ceci]`\n: Le paramètre est le texte exact tel qu'il apparait entre les crochets.\n;<<.def souple>>\n: <<.def indirect>>\n:: `{comme ceci}`\n:: Le paramètre est le texte mentionné par la [[Référence Textuelle|TextReference]] dont le nom apparaît entre les accolades, c'est à dire un [[champ|TiddlerFields]] d'un tiddler spécifique, ou la valeur d'une propriété d'un [[tiddler de données|DataTiddlers]].\n: <<.def variable>>\n:: `<comme ceci>`\n:: Le paramètre est la valeur actuelle de la [[variable|Variables]] dont le nom apparaît entre les chevrons. Les paramètres Macro ne sont <<.em pas>> supportés.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Filter Run.tid",
    "content": "created: 20150124182117000\nfr-title: Séquence d'un filtre\nmodified: 20150621104254554\ntags: [[Filter Syntax]]\ntitle: Filter Run\ntype: text/vnd.tiddlywiki\n\n<$railroad text=\"\"\"\n( \"[\" { [[etape|\"Filter Step\"]] } \"]\"\n  |\n  [:{/\"tout sauf [ ] ou Espacevierge\"/}]\n  |\n  '\"' [:{/'tout sauf \"'/}] '\"'\n  |\n  \"'\" [:{/\"tout sauf '\"/}] '\"'\n)\n\"\"\"/>\n\nUne <<.def séquence>> se compose d'[[étapes|Filter Step]]. Elle génère une [[sélection|Title Selection]]. Un ensemble de séquences forme une vaste [[expression filtre|Filter Expression]].\n\nLes étapes sont traitées de gauche à droite. Ce qui entre dans la première étape correspond à ce qui entre dans la séquence. Pour chaque étape suivante, l'entrée provient de la sortie de l'étape précédente.\n\n{{Selection Constructors}}\n\nLes trois options basses du diagramme correspondent aux syntaxes `SalutàTous`, `\"SalutàTous\"`, `'SalutàTous'` et `\"Opérateurs de Filtre\"`. Ce sont des abrégés de `[title[...]]`.\n\nLes options cotées existent pour tenir compte des titres contenant des crochets, comme, `\"Un Tiddler [[[[Peucourant]]]]\"`.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Filter Step.tid",
    "content": "created: 20150124182127000\nfr-title: Étape d'un filtre\nmodified: 20150621105911393\ntags: [[Filter Syntax]]\ntitle: Filter Step\ntype: text/vnd.tiddlywiki\n\n<$railroad text=\"\"\"\n[:\"!\"]\n[: [[operateur|\"Filter Operators\"]] [:\":\" suffixe] ]\n[[parametre|\"Filter Parameter\"]]\n\"\"\"/>\n\nUne <<.def étape>> correspond à une opération unique au sein d'un [[filtre|Filter Syntax]].\n\nEn termes de développement, cela s'apparente à l'appel d'une fonction où l'[[entrée d'une étape|Filter Run]] est passée comme un paramètre implicite. La sortie d'une étape est une [[sélection|Title Selection]] qui contribue à former une [[séquence|Filter Run]] et donc aussi à l'[[expression du filtre|Filter Expression]] entière qui la contient.\n\nL'<<.def opérateur>> d'étape est issu d'une liste de [[motsclés prédéfinis|Filter Operators]], et qui peut être étendue par des plugins. Tout opérateur inconnu est traité comme s'il était le suffixe de l'opérateur <<.olink field>>. Si un opérateur d'étape est omis, sa valeur par défaut est `title`.\n\nLe <<.def suffixe>> est un texte additionnel, souvent le nom d'un [[field|TiddlerFields]], qui étend la signification de certains opérateurs.\n\nPlusieurs étapes requièrent une valeur de <<.def paramètre>> explicite, aussi connue sous le nom d'<<.def opérande>>, qui définit ce que l'étape doit faire."
  },
  {
    "path": "editions/fr-FR/tiddlers/Filter Syntax.tid",
    "content": "created: 20140210141217955\nfr-title: Syntaxe d'un filtre\nlist: [[Filter Expression]] [[Filter Run]] [[Filter Step]] [[Filter Parameter]] [[Filter Whitespace]]\nmodified: 20150621095832048\ntags: Filters\ntitle: Filter Syntax\ntype: text/vnd.tiddlywiki\n\n<<.preamble \"\"\"Les [[Filtres]] suivent une grammaire représentée ici par des [[diagrammes en chemin de fer|Railroad Diagrams]], pour ceux qui trouvent utile une description formelle de la syntaxe. Cependant, vous pouvez [[apprendre à écrire des filtres|Introduction to filter notation]] sans avoir besoin de comprendre ces tiddlers modèle de description.\"\"\">>\n\nUn <<.def filtre>> est un tube qui transforme une <<.def entrée>> en <<.def sortie>>. Les entrées et les sorties sont des [[ensembles ordonnés de titres|Title Selection]] de tiddlers ou de champs.\n\nLes Filtres sont des [[expressions|Filter Expression]] construites à partir de plus petits blocs, appelés [[séquences|Filter Run]] ou [[étapes|Filter Step]], chacun d'entre eux transformant une entrée en sortie.\n\nUn filtre débute avec un sortie vide. Il s'exécute de gauche à droite, puis progressivement modifie et compose la sortie finale. \n\nCi-dessous, les détails des différents blocs de construction impliqués<<:>>\n\n<<list-links \"[tag[Filter Syntax]]\">>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Filter Whitespace.tid",
    "content": "created: 20150124182304000\nfr-title: Espacevierge\nmodified: 20150621111324842\ntags: [[Filter Syntax]]\ntitle: Filter Whitespace\ntype: text/vnd.tiddlywiki\n\n<$railroad text=\"\"\"\n{( \"espace\" | \"tab\" | \"sautligne\" | \"retour\" | \"tab verticale\" | \"sautpage\" )}\n\"\"\"/>\n\nDes espaces vierges peuvent exister entre chaque [[séquence|Filter Run]] ou [[expression filtre|Filter Expression]].\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/FilterOperator_ fields.tid",
    "content": "created: 20140924115616653\nmodified: 20141006103216206\ntags: Filters\ntitle: FilterOperator: fields\ntype: text/vnd.tiddlywiki\n\nL'opérateur de filtre ''fields'' est un sélecteur qui renvoie les noms de tous les champs utilisés dans les tiddlers sélectionnés.\n\n|!Chaîne de filtre |!Description |\n|`[[HelloThere]fields[]]` |Renvoie les champs présents dans le tiddler `HelloThere` |\n|`[tag[monTag]fields[]]` |Renvoie l'ensemble de tous les champs présents dans les tiddlers ayant pour tag `monTag` |\n\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/FilterOperators.tid",
    "content": "created: 20140410103123179\nfr-title: Opérateurs de filtre\nmodified: 20150619185306096\ntags: Concepts Filters\ntitle: FilterOperators\ntype: text/vnd.tiddlywiki\n\n\\define .operator-rows(filter)\n<$list filter=\"$filter$\"><tr>\n<td><$link to={{!!title}}>{{!!caption}}</$link></td>\n<td>{{!!op-purpose}} <$list filter=\"[all[current]tag[Common Operators]]\">{{$:/core/images/done-button}}</$list></td>\n<td align=\"center\"><$list filter=\"[all[current]tag[Negatable Operators]]\">`!`</$list></td>\n</tr></$list>\n\\end\n\n\\define .group-heading(_)\n<tr class=\"doc-table-subheading\"><th colspan=\"3\" align=\"center\">$_$</th></tr>\n\\end\n\nUn <<.def \"opérateur de filtre\">> est un motclé prédéfini attaché à une [[étape|Filter Step]] individuelle d'un [[filtre|Filters]]. Il définit une action particulière de cette étape.\n\nLe tableau suivant liste tous les opérateurs du noyau. Les plus communs sont côchés. La troisième colonne indique quels opérateurs acceptent <$link to=\"Filter Step\">le <code>!</code> préfixe</$link> pour inverser leur expression.\n\n<table>\n<tr>\n<th align=\"left\">Opérateur</th>\n<th align=\"left\">Propose</th>\n<th align=\"left\">Neg</th>\n</tr>\n<<.operator-rows \"[tag[Filter Operators]!tag[Order Operators]!tag[String Operators]!tag[Tag Operators]!tag[Special Operators]sort[]]\">>\n<<.group-heading \"Opérateurs de classement\">>\n<<.operator-rows \"[tag[Filter Operators]tag[Order Operators]!tag[String Operators]!tag[Tag Operators]!tag[Special Operators]sort[]]\">>\n<<.group-heading \"Opérateurs de chaine\">>\n<<.operator-rows \"[tag[Filter Operators]!tag[Order Operators]tag[String Operators]!tag[Tag Operators]!tag[Special Operators]sort[]]\">>\n<<.group-heading \"Opérateurs de tag\">>\n<<.operator-rows \"[tag[Filter Operators]!tag[Order Operators]!tag[String Operators]tag[Tag Operators]!tag[Special Operators]sort[]]\">>\n<<.group-heading \"Opérateurs Spéciaux\">>\n<<.operator-rows \"[tag[Filter Operators]!tag[Order Operators]!tag[String Operators]!tag[Tag Operators]tag[Special Operators]sort[]]\">>\n</table>\n\nLa rédaction d'une étape typique s'écrit `[opérateur[paramètre]]`, même si tous les opérateurs ne nécessitent pas de [[paramètre|Filter Parameter]].\n\nLa plupart des étapes agissent sur les [[titres d'une sélection|Title Selection]] qu'ils ont en entrée, mais quelques uns [[construisent une sélection entièrement neuve|Selection Constructors]] à la place. Pour des règles précises, voir [[Syntaxe des filtres|Filter Syntax]].\n\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Filter_Operators.tid",
    "content": "caption: Filtre, Opérateurs\ncreated: 20140410103123179\nfr-title: Filtre, Opérateurs\nmodified: 20150622105929780\ntags: Concepts Filters\ntitle: Filter Operators\ntype: text/vnd.tiddlywiki\n\n\\define .operator-rows(filter)\n<$list filter=\"$filter$\"><tr>\n<td><$link to={{!!title}}>{{!!caption}}</$link></td>\n<td>{{!!op-purpose}} <$list filter=\"[all[current]tag[Common Operators]]\">{{$:/core/images/done-button}}</$list></td>\n<td align=\"center\"><$list filter=\"[all[current]tag[Negatable Operators]]\">`!`</$list></td>\n</tr></$list>\n\\end\n\n\\define .group-heading(_)\n<tr class=\"doc-table-subheading\"><th colspan=\"3\" align=\"center\">$_$</th></tr>\n\\end\n\nUn <<.def \"opérateur de filtre\">> est un motclé prédéfini attaché à une [[étape|Filter Step]] individuelle d'un [[filtre|Filters]]. Il définit une action particulière de cette étape.\n\nLe tableau suivant liste tous les opérateurs du noyau. Les plus communs sont côchés. La troisième colonne indique quels opérateurs acceptent <$link to=\"Filter Step\">le <code>!</code> préfixe</$link> pour inverser leur expression.\n\n<table>\n<tr>\n<th align=\"left\">Opérateur</th>\n<th align=\"left\">Propose</th>\n<th align=\"left\">Neg</th>\n</tr>\n<<.operator-rows \"[tag[Filter Operators]!tag[Order Operators]!tag[String Operators]!tag[Tag Operators]!tag[Special Operators]sort[]]\">>\n<<.group-heading \"Opérateurs de classement\">>\n<<.operator-rows \"[tag[Filter Operators]tag[Order Operators]!tag[String Operators]!tag[Tag Operators]!tag[Special Operators]sort[]]\">>\n<<.group-heading \"Opérateurs de chaine\">>\n<<.operator-rows \"[tag[Filter Operators]!tag[Order Operators]tag[String Operators]!tag[Tag Operators]!tag[Special Operators]sort[]]\">>\n<<.group-heading \"Opérateurs de tag\">>\n<<.operator-rows \"[tag[Filter Operators]!tag[Order Operators]!tag[String Operators]tag[Tag Operators]!tag[Special Operators]sort[]]\">>\n<<.group-heading \"Opérateurs Spéciaux\">>\n<<.operator-rows \"[tag[Filter Operators]!tag[Order Operators]!tag[String Operators]!tag[Tag Operators]tag[Special Operators]sort[]]\">>\n</table>\n\nLa rédaction d'une étape typique s'écrit `[opérateur[paramètre]]`, même si tous les opérateurs ne nécessitent pas de [[paramètre|Filter Parameter]].\n\nLa plupart des étapes agissent sur les [[titres d'une sélection|Title Selection]] qu'ils ont en entrée, mais quelques uns [[construisent une sélection entièrement neuve|Selection Constructors]] à la place. Pour des règles précises, voir [[Syntaxe des filtres|Filter Syntax]].\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Filters.tid",
    "content": "caption: Filtres\ncreated: 20130827080000000\nfr-title: Filtres\nmodified: 20150622110050866\ntags: Reference Concepts\ntitle: Filters\ntype: text/vnd.tiddlywiki\n\nVous pouvez vous représenter TiddlyWiki comme une base de données où tous les enregistrements sont des tiddlers. Une base de données propose typiquement un moyen de découvrir quels enregistrements satisfont à des critères donnés, avec ~TiddlyWiki c'est effectué par les filtres.\n\nUn <<.def filtre>> est une notation notation concise pour sélectionner un [[ensemble de tiddlers|Title Selection]] particuliers, envoyé dans une <<.def \"output\">>. Quand ~TiddlyWiki rencontre un filtre, il calcule l'output (la sortie). D'autres tâches peuvent être réalisées avec ces tiddlers, comme le [[dénombrement|CountWidget]] ou leur [[listage|ListWidget]].\n\nL'exemple qui suit envoie la sortie d'un filtre à la macro <<.mlink list-links>> pour afficher la liste des tiddlers qui commencent par la lettre H<<:>>\n\n> `<<list-links \"[prefix[H]]\">>`\n\nLa sortie d'un filtre peut changer selon que des tiddlers sont ajoutés ou supprimés du wiki. ~TiddlyWiki recalcule à la volée, actualisant automatiquement aussi bien les dénombrements basés sur des filtres que les listages.\n\nLa [[Recherche Avancée|$:/AdvancedSearch]] a un onglet <<.advancedsearch-tab Filter>> qui facilite l'expérimentation et l'apprentissage des filtres.\n\n;En savoir plus<<:>>\n* [[Introduction à la rédaction d'un filtre|Introduction to filter notation]] -- un didacticiel pas à pas\n* [[Syntaxe des Filtres|Filter Syntax]] -- les règles techniques détaillées\n* [[Opérateurs des Filtres|Filter Operators]] -- les méthodes de filtrages disponibles"
  },
  {
    "path": "editions/fr-FR/tiddlers/First.tid",
    "content": "created: 20150221194349000\nfr-title: Premier\nlist: FirstOne FirstTwo FirstThree\nmodified: 20150620172337211\ntags: Contents\ntitle: First\ntype: text/vnd.tiddlywiki\n\n<<.toc-lorem>>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/FirstOne.tid",
    "content": "caption: PremierUn\ncreated: 20150221194354000\nfr-title: PremierUn\nmodified: 20150620172525765\ntags: First\ntitle: FirstOne\ntype: text/vnd.tiddlywiki\n\n<<.toc-lorem>>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/FirstThree.tid",
    "content": "caption: PremierTrois\ncreated: 20150221194357000\nfr-title: PremierTrois\nmodified: 20150620172704968\ntags: First\ntitle: FirstThree\ntype: text/vnd.tiddlywiki\n\n<<.toc-lorem>>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/FirstTwo.tid",
    "content": "caption: PremierDeux\ncreated: 20150221194401000\nfr-title: PremierDeux\nmodified: 20150620172624233\ntags: First\ntitle: FirstTwo\ntype: text/vnd.tiddlywiki\n\n<<.toc-lorem>>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Formatting text in TiddlyWiki.tid",
    "content": "created: 20140908131500000\nfr-title: Formater du texte dans TiddlyWiki\nmodified: 20141203151407522\ntags: [[Working with TiddlyWiki]]\ntitle: Formatting text in TiddlyWiki\ntype: text/vnd.tiddlywiki\n\nAu sein d'un tiddler, vous pouvez utiliser un formatage spécifique appelé WikiText, afin de contrôler la manière dont le texte sera affiché.\n\n! Formatage simple\n\nDans sa plus simple expression, WikiText vous permet d'appliquer des fonctions de traitement de texte familières comme le gras, l'italique, les listes et les tableaux. Par exemple<<dp>>\n\n```\nPortez ce //vieux// whisky au ''juge'' ~~brun~~ blond qui `fume`\n```\n\nS'affiche ainsi<<dp>>\n\nPortez ce //vieux// whisky au ''juge'' ~~brun~~ blond qui `fume`\n\n! Travailler avec les tiddlers\n\nWikiText vous permet de [[pointer vers d'autres tiddlers|Linking in WikiText]] à l'aide des doubles crochets droits, ou grâce aux liens automatiques engendrés par les mots en CamelCase<<dp>>\n\n```\nVoici un lien vers HelloThere, et un autre vers l'[[histoire de TiddlyWiki|History of TiddlyWiki]]\n```\n\nS'affiche comme<<dp>>\n\nVoici un lien vers HelloThere, et un autre vers l'[[histoire de TiddlyWiki|History of TiddlyWiki]]\n\n! Macros\n\nLes macros vous permettent d'assembler des bouts de WikiText répétitifs, afin de les réutiliser facilement.\n\nPar exemple, voici la définition d'une macro qui génère une URL vidéo ~YouTube à partir de son identifiant unique<<dp>>\n\n```\n\\define youtube(video)\nhttps://www.youtube.com/watch?v=$video$\n\\end\n```\n\nUne fois cette définition mise en place, `<<youtube 1g66s7UbyuU>>` génèrera l'URL https://www.youtube.com/watch?v=1g66s7UbyuU\n\n! ~WikiText avancé\n\nLes fonctionnalités avancées de WikiText permettent de produire des listes automatisées et des fonctions interactives comme des menus déroulants. En fait, toute l'interface de TiddlyWiki est elle-même écrite en WikiText<<pv>> autrement dit, toutes les fonctionnalités que vous voyez dans TiddlyWiki peuvent être adaptées pour être utilisées dans vos propres wikis.\n\nCertaines fonctionnalités avancées nécessitent un codage complexe. <<tw>> inclut plusieurs macros prédéfinies, qui simplifient les fonctions usuelles d'interface utilisateur, comme les onglets, les tables des matières, et les listes de tiddlers.\n\n! En savoir plus\n\nVoir [[WikiText]] pour une introduction détaillée à l'écriture de ~WikiText.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Forums.tid",
    "content": "caption: Forum\ncreated: 20140721121924384\nfr-title: Forum\nmodified: 20220217174719926\ntags: Community\ntitle: Forums\ntype: text/vnd.tiddlywiki\n\n! Forum en français\n\nLa communauté francophone sur <<tw>> a son forum, venez contribuer<<!>>\n\nhttps://forum.tiddlywiki.fr/\n\n! Forums officiels\n\nLe nouveau forum officiel pour discuter de <<tw>><<:>> demandes d'aide, annonces de nouvelles version et plugins, échanges sur les nouvelles fonctionnalités, ou simples partages d'expériences. Vous pouvez participer via le site web associé, ou souscrire par email.\n\nhttps://talk.tiddlywiki.org/\n\nNotez que talk.tiddlywiki.org est un service communautaire que nous hébergeons et maintenons nous-mêmes. Les modestes frais de mise à disposition du site sont couverts par les contributions de la communauté.\n\nPour le confort de la communauté, l'ancien groupe <<tw>>, hébergé sur Google Groups depuis 2005, reste fonctionnel.\n\nhttps://groups.google.com/group/TiddlyWiki\n\n! Forums des développeurs\n\n{{Developers}}\n\n! Autres forums\n\n* [[TiddlyWiki Subreddit|https://www.reddit.com/r/TiddlyWiki5/]]\n* Tchatchez avec Gitter sur https://gitter.im/TiddlyWiki/public<<!>>\n* Tchatchez avec Discord sur https://discord.gg/HFFZVQ8\n\n!! Documentation\n\nIl existe un groupe de discussion spécialement dédié aux initiatives d'amélioration de la documentation<<:>> https://groups.google.com/group/tiddlywikidocs\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/French (France) Edition.tid",
    "content": "caption: Français (France)\ncreated: 20140919215540827\nen-title: French (France) Edition\nmodified: 20141203175944610\ntags: Languages\ntitle: Édition en Français (France)\ntype: text/vnd.tiddlywiki\n\nLa traduction en Français (France) de TiddlyWiki démarre ici :\n\n* ''documentation'' : https://tiddlywiki.com/languages/fr-FR/index.html\n* ''empty'' : https://tiddlywiki.com/languages/fr-FR/empty.html\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Full_Edition.tid",
    "content": "created: 20150310103210459\nfr-title: Édition complète\nmodified: 20160602055513646\ntags: Editions\ntitle: Full Edition\ntype: text/vnd.tiddlywiki\n\nL'édition <<gf complète>> de <<tw>> intègre toutes les langues, thèmes et plugins  disponible de la distribution officielle de <<tw>>. Elle est destinée aux tests de <<tw>> — et notamment, pour basculer entre tous les plugins linguistiques disponibles.\n\nL'édition complète peut être téléchargée via<<:>>\n\nhttps://tiddlywiki.com/editions/full/\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Future.tid",
    "content": "fr-title: L'avenir\ncaption: L'avenir\ncreated: 20141005122306855\nmodified: 20141005181504007\ntitle: Future\ntype: text/vnd.tiddlywiki\n\nÀ présent que ~TiddlyWiki5 a enfin quitté son statut de <<gf beta>>, j'ai bon espoir qu'il vivra longtemps. Comme il n'utilise que des fonctionnalités standard de HTML5 et Node.js, il n'y a aucune raison pour qu'il ne reste pas entièrement opérationnel dans les années qui viennent. Mon but est qu'il survive au moins 25 ans.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Future_Proof.tid",
    "content": "created: 20131213101024997\nfr-title: Pérénité\nmodified: 20150531185954136\ntags: Features\ntitle: Future Proof\ntype: text/vnd.tiddlywiki\n\n<<tw>> a été conçu avec le besoin à long terme des utilisateurs à l'esprit. Comme il est OpenSource et ne nécessite pas d'infrastructure, nous pouvons être sûrs que tout ce dont nous aurons besoin pour accéder à un fichier <<tw>> même dans un futur éloigné est un simple navigateur HTML. Si vous commencez à utiliser <<tw>> au début de votre carrière, vous pouvez être certain qu'il vous accompagnera jusqu'à la retraite.\n\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/German (Austria) Edition.tid",
    "content": "caption: Allemand (Autriche)\ncreated: 20140919214900580\nen-title: German (Austria) Edition\nfr-title: Édition en Allemand (Autriche)\nmodified: 20141203175142914\ntags: Languages\ntitle: Deutsch (Österreich) Edition\ntype: text/vnd.tiddlywiki\n\nDie österreichische Übersetzung von TiddlyWiki ist verfügbar unter:\n\n* ''Dokumentation'': https://tiddlywiki.com/languages/de-AT/index.html\n* ''Leer'': https://tiddlywiki.com/languages/de-AT/empty.html\n\nSiehe auch: [[Deutsch (Deutschland) Edition]].\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/German (Germany) Edition.tid",
    "content": "caption: Allemand (Allemagne)\ncreated: 20140919215410238\nen-title: German (Germany) Edition\nfr-title: Édition en Allemand (Allemagne)\nmodified: 20141203175121759\ntags: Languages\ntitle: Deutsch (Deutschland) Edition\ntype: text/vnd.tiddlywiki\n\nDie deutsche Übersetzung von TiddlyWiki ist verfügbar unter:\n\n* ''Dokumentation'': https://tiddlywiki.com/languages/de-DE/index.html\n* ''Leer'': https://tiddlywiki.com/languages/de-DE/empty.html\n\nSiehe auch: [[Deutsch (Österreich) Edition]].\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Get the Ring.tid",
    "content": "fr-title: Ramener l'Anneau\ncreated: 20130825143100000\nmodified: 20141119225552824\ntags: task\ntitle: Get the Ring\ntype: text/vnd.tiddlywiki\n\n//Il s'agit de l'une des tâches pour l'[[exemple de gestion de tâches|TaskManagementExample]]//\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Getting Started Video.tid",
    "content": "fr-title: Bien démarrer en vidéo\ncreated: 20140104134911101\nmodified: 20141030100458780\ntags: Videos [[Working with TiddlyWiki]]\ntitle: Getting Started Video\ntype: text/vnd.tiddlywiki\n\nCe rapide tutoriel vous explique brièvement comment enregistrer vos modifications avec un fichier TiddlyWiki autonome.\n\n//Notez que cette vidéo est un peu ancienne, et qu'elle sera mise à jour bientôt !//\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/1g66s7UbyuU\" frameborder=\"0\" allowfullscreen></iframe>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/GettingStarted - Android.tid",
    "content": "caption: Android\ncreated: 20140811171036268\nmodified: 20140928130227913\ntitle: GettingStarted - Android\nfr-title: Bien démarrer — Android\ntype: text/vnd.tiddlywiki\n\nDeux options s'offrent à vous pour utiliser <<tw>> sur Android :\n\n! Firefox et TiddlyFox\n\n{{Saving with TiddlyFox on Android}}\n\n! L'application ~AndTidWiki\n\n{{Saving on Android}}\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/GettingStarted - Chrome.tid",
    "content": "caption: Chrome\ncreated: 20140811165935523\nmodified: 20140928170054684\ntitle: GettingStarted - Chrome\nfr-title: Bien démarrer — Chrome\ntype: text/vnd.tiddlywiki\n\nSous Google Chrome, <<tw>> ne parvient à sauvegarder les modifications qu'à l'aide de la solution de repli standard : le module de sauvegarde compatible HTML5.\n\n{{Saving with the HTML5 saver}}\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/GettingStarted - Firefox.tid",
    "content": "caption: Firefox\ncreated: 20140811170425199\nmodified: 20140928131601803\ntitle: GettingStarted - Firefox\nfr-title: Bien démarrer — Firefox\ntype: text/vnd.tiddlywiki\n\nC'est Firefox qui fournit la meilleure expérience d'utilisation de <<tw>>, grâce à l'extension TiddlyFox.\n\n{{Saving with TiddlyFox}}\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/GettingStarted - Internet Explorer.tid",
    "content": "caption: Internet Explorer\ncreated: 20140811172058274\nmodified: 20140928095623552\ntitle: GettingStarted - Internet Explorer\nfr-title: Bien démarrer — Internet Explorer\ntype: text/vnd.tiddlywiki\n\n{{Saving with TiddlyIE}}\n\nLe [[hack Windows HTA|Windows HTA Hack]] décrit une autre manière d'utiliser <<tw>> avec Internet Explorer.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/GettingStarted - Node.js.tid",
    "content": "caption: Node.js\ncreated: 20140811172010003\nmodified: 20140811172012677\ntitle: GettingStarted - Node.js\nfr-title: Bien démarrer — Node.js\ntype: text/vnd.tiddlywiki\n\n{{Installing TiddlyWiki on Node.js}}\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/GettingStarted - Safari.tid",
    "content": "caption: Safari\ncreated: 20140811171121022\nmodified: 20140928170105875\ntitle: GettingStarted - Safari\ntype: text/vnd.tiddlywiki\n\nSous Safari, <<tw>> ne parvient à sauvegarder les modifications qu'à l'aide de la solution de repli standard : le module de sauvegarde compatible HTML5.\n\n{{Saving on Safari}}\n\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/GettingStarted - iOS.tid",
    "content": "caption: iPad/iPhone\ncreated: 20140811170918707\nmodified: 20140811170921731\ntitle: GettingStarted - iOS\nfr-title: Bien démarrer — iOS\ntype: text/vnd.tiddlywiki\n\n{{Saving on iPad/iPhone}}\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/GettingStarted.tid",
    "content": "created: 20131129090249275\nfr-title: La mise en route\nmodified: 20220217175123712\ntags: [[Working with TiddlyWiki]]\ntitle: GettingStarted\ntype: text/vnd.tiddlywiki\n\n\nTéléchargez un <<tw>> vide en cliquant sur ce bouton<<:>> {{$:/editions/fr-FR/snippets/download-empty-button}}\n\nL'étape suivante consiste à choisir une solution d'enregistrement des modifications. De nombreuses méthodes sont disponibles, chacune avec ses atouts et ses limites. Cliquez sur la fiche d'une méthode pour voir plus d'informations la concernant. Vous pouvez aussi cocher une case de plateformes et de navigateur pour afficher les solutions qui fonctionnent pour cette combinaison.\n\n<<.warning \"N'utilisez pas le menu ''Fichier''/''Enregistrer'' du navigateur internet pour enregistrer vos modifications (ça ne marche pas)<<!>>\">><br/><br/>\n\n{{Saving}}\n\n\n\nAutres informations<<:>>\n\n* [[Protéger le contenu avec un mot de passe|Encryption]] grâce au système de chiffrement intégré à <<tw>><<;>>\n* [[Enregistrer avec Tiddlyspot|Saving on TiddlySpot]], un service gratuit qui vous permet d'utiliser <<tw>> en ligne<<;>>\n* Sauvegarde avec TiddlyDesktop, une application de bureautique dédiée au travail avec <<tw>><<;>>\n* Vous pouvez aussi télécharger ce <<tw>> complet, avec toute sa documentation<<:>><div>\n\n<<<\n{{$:/snippets/download-wiki-button}}\n\nSi le bouton ne fonctionne pas, sauvegardez ce lien<<:>>\n\n<a href=\"https://tiddlywiki.com/languages/fr-FR/index.html\" download=\"index.html\">~https://tiddlywiki.com/languages/fr-FR/index.html</a>\n\nVotre navigateur vous demandera sans doute confirmation avant de démarrer le téléchargement.\n<<<\n</div>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/GitHub.tid",
    "content": "caption: GitHub\ncreated: 20140910212609354\nmodified: 20150623073212931\ntags: Definitions\ntitle: GitHub\ntype: text/vnd.tiddlywiki\n\n~GitHub est une société qui propose un service d'hébergement de code incluant des fonctions collaboratives puissantes.\n\nLe code et la documentation de ~TiddlyWiki est hébergé sur ~GitHub à l'adresse<<dp>>\n\nhttps://github.com/TiddlyWiki/TiddlyWiki5\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Glossaire en-GB -_ fr-FR.tid",
    "content": "created: 20141217193625476\nmodified: 20220402105820520\ntitle: Glossaire en-GB -> fr-FR\ntype: text/vnd.tiddlywiki\n\n|en-GB |fr-FR |Commentaire |h\n|added|ajouté||\n|background|arrière plan||\n|bug|bogue||\n|core |noyau ||\n|dominant append|ajout prépondérant|//ajouté par prépondérance//|\n|draft|ébauche||\n|empty édition |édition basique ||\n|encryption|cryptage||\n|filter run|séquence de filtre||\n|fixed|corrigé||\n|flexible|souple|maléable |\n|improved|amélioré||\n|introduce|intègrer|ex (eng)<<:>> Introduce plugin|\n|keyword|motclé||\n|layout|mise en page||\n|lazy loading|téléconsigne ||\n|no *|sauf * |hormis * |\n|non-linear|3D ? ||\n|placeholder|zoneréservée||\n|pull request|proposer une contribution||\n|run|séquence||\n|~SafeMode|~ModeSansÉchec |~ModeSecours ?|\n|~SandBox|~BacàSable|=> ~ZoneBrouillon/Protégée ?|\n|sequence|suite /série||\n|a set|un ensemble||\n|shadow|shadow|(ombre, *latent*, fantôme ?)|\n|single file wiki|wiki mono-fichier||\n|snippet|portion||\n|step|étape||\n|story river|déroulé||\n|tagging |étiquet(er/age) |tag=> tag/étiquette|\n|template|gabarit||\n|tweak|régl(er/age)||\n|upgrade |mettre à niveau |actualiser/Obtenir la dernière version |\n|view|visualisation |abr.<<:>> 'Visu'|\n|Whitespace|Espacevierge||\n|widget |widget ||\n\n---\n\n!!AVERTISSEMENT - Mots et références réservés pour le système<<:>>\n\n* Les noms de `champ` et leurs références (nom du champ sans séparateur suivi de Field, ex<<:>> ListField)\n* Les noms des widgets, ex<<dp>> NavigatorWidget"
  },
  {
    "path": "editions/fr-FR/tiddlers/Go to Mordor.tid",
    "content": "fr-title: Aller à Mordor\ncreated: 20130825143100000\nmodified: 20141119230009078\ntags: task done\ntitle: Go to Mordor\ntype: text/vnd.tiddlywiki\n\n//Il s'agit de l'une des tâches pour l'[[exemple de gestion de tâches|TaskManagementExample]]//\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/GroupedLists.tid",
    "content": "caption: Listes groupées\ncreated: 20150106180000000\nfr-title: Listes groupées\nmodified: 20150619151106553\ntags: ListWidget\ntitle: GroupedLists\ntype: text/vnd.tiddlywiki\n\nLes onglets suivants du menu latéral offrent un exemple de listes groupées créées par imbrication.\n\n!! Option 'types' (de l'onglet plus)\n\nPour l'option [[Types|$:/core/ui/MoreSideBar/Types]], la sortie de liste filtrée sélectionne chaque valeur trouvée dans le champ `type`, comme exposé çi-dessous. Le filtre d'entrée filtre les tiddlers (non-système) de ce type.\n\n<<tw-code \"$:/core/ui/MoreSideBar/Types\">>\n\n!! Onglet 'récent'\n\nDans l'onglet [[Récent|$:/core/ui/SideBar/Recent]] la liste est générée en utilisant la macro <<.mlink timeline>>. Ici, la sortie de liste filtre chaque jour trouvé dans le champ `modifié`, tandis que l'entrée de liste filtre tous les tiddlers datés du même jour dans le champ `modifié`.\n\n<<tw-code-link \"$:/core/macros/timeline\">>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Growth of TiddlyWiki.tid",
    "content": "fr-title: Croissance de <<tw>>\ncreated: 20140923201018111\nmodified: 20140924100147304\ntitle: Growth of TiddlyWiki\ntype: text/vnd.tiddlywiki\n\nUne étape majeure dans la croissance de <<tw>> fut la création de //~GTDTiddlyWiki// par Nathan Bowers. Il partit du <<tw>> de base et l'adapta spécifiquement pour la gestion et le suivi de tâches à l'aide de la méthodologie bien connue //Getting Things Done//. //~GTDTiddlyWiki// fut un succès immédiat, salué avec enthousiasme par des sites comme ~LifeHacker.\n\nDans les années qui suivirent, <<tw>> continua à croître en popularité, et s'enrichit de nouvelles fonctions et possibilités. En un an, je pus trouver une indépendance financière en proposant du développement sur mesure autour de <<tw>>, notamment en travaillant avec un pionnier du wiki, //~SocialText//, sur la possibilité de synchroniser des modifications avec un serveur en ligne.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/HTML in WikiText.tid",
    "content": "caption: HTML\ncreated: 20141017141153174\nfr-title: HTML dans le WikiTexte\nmodified: 20220227020401008\ntags: WikiText\ntitle: HTML in WikiText\ntype: text/vnd.tiddlywiki\n\n! Balises HTML et commentaires\n\nLes balises et les commentaires HTML peuvent être utilisées directement en [[WikiTexte|WikiText]]. Par exemple<<:>>\n\n<<wikitexte-exemple \"<article class='hello'>\nCeci est un simple bloc de texte. HelloThere\n<!-- Ce commentaire n'apparaîtra pas. -->\n</article>\">>\n\n; Remarque\n: Par conséquent, un mot écrit entre \"chevrons\" `< >` sera interprété comme une balise HTML, ce qui peut entraîner des effets de bord (notamment à cause de l'inexistence de la balise fermante).<br>À la place, mieux vaut utiliser le [[code HTML|Codes HTML]] des caractères \"chevrons\" : `&lt;` et `&gt;`\n\n!! Commentaires //Pragma//\n\n<<.from-version 5.2.0>> Les commentaires peuvent maintenant être librement entremêlés avec les pragmas ou bien à l'intérieur du corps d'un bloc de wikitexte.\n\n```\n<!-- NOUVEAU ! : Commentaire qui décrit la macro -->\n\\define test()\nUn peu de texte <!-- commentaire en ligne -->\n\\end\n\n<<test>>\n```\n\n! Important\n\n<<.tip \"\"\"[[Les Widgets utilisent la même syntaxe que les balises HTML|Widgets in WikiText]], donc les informations suivantes s'appliquent aussi à eux.\"\"\">>\n\n! Mode //bloc// ou mode //texte// ? \n\nPour que le contenu d'un élément HTML soit [[interprété|WikiText Parser Modes]] en [[mode bloc|Block Mode WikiText]], la balise ouvrante doit être suivie par deux retours à la ligne.\n\nSans les deux retours à la ligne, le contenu des balises sera [[interprété|WikiText Parser Modes]] en [[mode texte|Inline Mode WikiText]], ce qui signifie que les formatages de mode bloc tels que les tableaux, les listes et les titres ne seront pas reconnus.\n\nVoir aussi <<fr \"WikiText parser mode: HTML examples\">> et <<fr \"WikiText parser mode transitions\">>.\n\n! Éléments auto-fermants\n\nLes balises suivantes sont traitées comme si elles étaient vides, ce qui signifie que `<balise>` est traitée comme si c'était `<balise/>`, et qu'aucune balise de fermeture `</balise>` n'est nécessaire. Mais si la balise fermante existe elle est ignorée et traitée comme du texte.\n\n* `<area>`, `<base>`, `<br>`, `<col>`, `<command>`, `<embed>`, `<hr>`, `<img>`, `<input>`, `<keygen>`, `<link>`, `<meta>`, `<param>`, `<source>`, `<track>`, `<wbr>`\n\nSi vous ne fermez pas n'importe quelle autre balise HTML, <<tw>> se comportera comme si les balises manquantes étaient déportées à la fin du tiddler. \n\n! Attributs\n\nPar extension à la syntaxe conventionnelle HTML, les attributs des éléments ou widgets peuvent être écrits de différentes façons<<:>>\n\n* en tant que chaîne littérale\n* en tant que transclusion de <<fr TextReference>>\n* en tant que transclusion de [[macro ou de variable|Macros in WikiText]]\n* en tant que résultat d'une [[expression de filtre|Filter Expression]]\n\n!! Valeurs littérales d'attributs\n\nLes valeurs littérales d'attribut peuvent utiliser différents styles de ponctuation<<:>>\n\n* Guillemets simples (c-à-d `attribut='valeur'`)\n* Guillemets doubles (c-à-d `attribut=\"valeur\"`)\n* Triples guillemets doubles (c-à-d `attribut=\"\"\"valeur\"\"\"`)\n* Aucune ponctuation n'est nécessaire pour les valeurs qui ne contiennent pas d'espace (c-à-d `attribut=valeur`)\n\nLes valeurs littérales d'attribut peuvent contenir des retours à la ligne. Par exemple<<:>>\n\n```\n<div data-address=\"Maison Souris,\n3 rue des rongeurs,\nRatville\"/>\n```\n\nL'utilisation des triples guillemets doubles `\"\"\"` permet de spécifier des valeurs d'attributs qui contiennent des caractères \"guillemet double\"<<:>>\n\n```\n<div data-address=\"\"\"Maison \"Souris\",\n3 rue des rongeurs,\nRatville\"\"\"/>\n```\n\n!! Valeurs d'attributs par transclusion\n\nLes valeurs d'attributs par transclusion sont encadrées par des doubles accolades autour d'une <<fr TextReference>>, par exemple<<:>>\n\n```\nattr={{tiddler}}\nattr={{!!field}}\nattr={{tiddler!!field}}\n```\n<<.warning \"La valeur de l'attribut sera le résultat exact de la transclusion, sans aucune interprétation supplémentaire de <<fr WikiText>>. Toute syntaxe de wiki dans ce résultat sera laissée en l'état.\">>\n\n!! Valeur d'attribut par variable\n\nLes valeurs d'attributs par variable sont encadrées par des doubles crochets autour d'un [[appel de macro|Macro Calls in WikiText]], par exemple<<:>>\n\n```\n<div title=<<MaMacro \"Jacques\">>>\n...\n</div>\n```\n<<.warning \"Le texte de la définition de la macro est retrouvé et la substitution des arguments a lieu (c-à-d la syntaxe <<.param $param$>> et <<.param  &#36;(...)&#36;>>). Le texte résultant est affecté à la valeur de l'attribut. Toute syntaxe wiki dans ce texte, y-compris d'autres appels de macros ou des références de variables, sera laissée en l'état.\">>\n\n!! Valeurs d'attributs par filtre\n\nLes valeurs d'attributs par filtre sont encadrées par des accolades triples autour d'une [[expression de filtre|Filter Expression]]. Le premier élément de la liste renvoyée par le filtre est affecté à l'attribut, ou une chaîne vide si la liste est vide.\n\nCet exemple montre comment ajouter un préfixe à une valeur<<:>>\n\n```\n<$text text={{{ [<currentTiddler>addprefix[$:/myprefix/]] }}} />\n```\n<<.warning \"La valeur de l'attribut sera le résultat exact du premier élément de la liste renvoyée par le filtre, sans aucune interprétation du <<fr WikiText>>. Toute syntaxe de wiki dans ce résultat sera laissée telle quelle.\">>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Hard_and_Soft_Links.tid",
    "content": "caption: Liens durs et souples\ncreated: 20150123220237000\nfr-title: Liens durs et souples\nmodified: 20150622105726090\ntags: Concepts\ntitle: Hard and Soft Links\ntype: text/vnd.tiddlywiki\n\nUn <<.def \"lien dur\">> peut être détecté par un examen superficiel du WikiText.\n\nUn lien est <<.def \"souple\">> s'il est<<:>>\n\n* contenu dans un texte [[tranclus|Transclusion]] de quelque part\n* fourni par une [[macro|Macros]] ou une [[variable|Variables]]\n* généré par le lien d'un widget dont l'attribut <<.attr to>> est une transclusion, est une macro ou une variable\n\n<$macrocall $name=\".warning\" _=\"\"\"les liens souples ne sont pas détectés par les opérateurs de filtre link-related tels que <<.olink backlinks>>, <<.olink links>>, <<.olink all>> and <<.olink is>>.\"\"\"/>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/HelloThere.tid",
    "content": "caption: Bienvenue !\ncreated: 20130822170200000\nfr-title: Bienvenue !\nlist: [[Discover TiddlyWiki]] [[Some of the things you can do with TiddlyWiki]] [[Ten reasons to switch to TiddlyWiki]] Examples [[History of TiddlyWiki]] [[What happened to the original TiddlyWiki?]]\nmodified: 20220217174842374\ntags: TableOfContents\ntitle: HelloThere\ntype: text/vnd.tiddlywiki\n\n''N'avez-vous jamais eu la sensation que votre tête était trop petite pour contenir tout ce que vous avez besoin de mémoriser<<?>>''\n\nBienvenue sur TiddlyWiki, un carnet de notes web [[non-linéaire|Philosophy of Tiddlers]] pour [[saisir|Creating and editing tiddlers]], [[organiser|Structuring TiddlyWiki]] et [[partager|Sharing your tiddlers with others]] des informations simples ou complexes.\n\nUtilisez-le pour gérer votre [[liste de tâches|TaskManagementExample]], faire le plan d'un [[essai ou d'une nouvelle|\"TiddlyWiki for Scholars\" by Alberto Molina]], ou pour organiser votre mariage. Enregistrez tout ce qui vous traverse l'esprit, ou construisez un site web flexible et réactif.\n\n<div style=\"font-size:0.7em;text-align:center;margin-top:2em;margin-bottom:2em;\">\n<<list-thumbnails filter:\"[tag[HelloThumbnail]]\" width:\"168\" height:\"95\">>\n</div>\n\nContrairement aux services en ligne classiques, TiddlyWiki vous permet de choisir où conserver vos informations, et garantit que, dans les décennies à venir, vous pourrez toujours utiliser les notes que vous prenez aujourd'hui.\n\n<div style=\"font-size:0.7em;text-align:center;margin:3em auto;\">\n<a href=\"https://talk.tiddlywiki.org/\" class=\"tc-btn-big-green\" style=\"border-radius:4px;background-color:#FF8C19;\" target=\"_blank\" rel=\"noopener noreferrer\">\n{{$:/core/images/help}} ~TalkTW\n</a>\n<a href=\"https://www.youtube.com/c/JeremyRuston\" class=\"tc-btn-big-green\" style=\"border-radius:4px;background-color:#e52d27;\" target=\"_blank\" rel=\"noopener noreferrer\">\n{{$:/core/images/video}} ~YouTube\n</a>\n<a href=\"https://twitter.com/TiddlyWiki\" class=\"tc-btn-big-green\" style=\"border-radius:4px;background-color:#5E9FCA;\" target=\"_blank\" rel=\"noopener noreferrer\">\n{{$:/core/images/twitter}} Twitter\n</a>\n<a href=\"https://github.com/TiddlyWiki/TiddlyWiki5\" class=\"tc-btn-big-green\" style=\"border-radius:4px;background-color:#444;\" target=\"_blank\" rel=\"noopener noreferrer\">\n{{$:/core/images/github}} ~GitHub\n</a>\n<a href=\"https://gitter.im/TiddlyWiki/public\" class=\"tc-btn-big-green\" style=\"border-radius:4px;background-color:#753a88;background-image:linear-gradient(to left,#cc2b5e,#753a88);\" target=\"_blank\" rel=\"noopener noreferrer\">\n{{$:/core/images/gitter}} Gitter\n</a>\n</div>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/HelloThumbnail - Classic.tid",
    "content": "caption: ~TiddlyWiki Classique\ncolor: #D5B7EA\ncreated: 20160603124228260\nfr-title: BonjourLaVignette - Classique\nimage: TiddlyWiki Classic.png\nlink: TiddlyWikiClassic\nmodified: 20160603124229945\ntags: HelloThumbnail\ntitle: HelloThumbnail - Classic\n\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/HelloThumbnail - Developers.tid",
    "content": "background-color: #EAE57D\ncaption: Développeurs\ncolor: #6B6E98\ncreated: 20160603123918392\nfr-title: BonjourLaVignette - Développeurs\nimage: Dev Thumbnail.jpg\nlink: Developers\nmodified: 20160603123922744\ntags: HelloThumbnail\ntitle: HelloThumbnail - Developers\n\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/HelloThumbnail - Gentle Guide.tid",
    "content": "background-color: #EDB431\ncaption: Un mini-guide\ncolor: #fff\ncreated: 20150325172634195\nfr-title: BonjourLaVignette - Mini-guide\nimage: Motovun Jack.jpg\nlink: A Gentle Guide to TiddlyWiki\nmodified: 20160603123748899\ntags: HelloThumbnail\ntitle: HelloThumbnail - Gentle Guide\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/HelloThumbnail - HelpingTiddlyWiki.tid",
    "content": "background-color: #fff\ncaption: Aider ~TiddlyWiki\ncolor: #B7D5EA\ncreated: 20160603123826290\nfr-title: BonjourLaVignette - AiderTiddlyWiki\nimage: Tiddler Poster.png\nlink: HelpingTiddlyWiki\nmodified: 20160603123845024\ntags: HelloThumbnail\ntitle: HelloThumbnail - HelpingTiddlyWiki\n\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/HelloThumbnail - Introduction Video.tid",
    "content": "background-color: #fff\ncaption: Introduction à ~TiddlyWiki\ncolor: red\ncreated: 20160603123154767\nfr-title: BonjourLaVignette - Introduction Vidéo\nicon: {{$:/core/images/video}}\nimage: Introduction Video Thumbnail.jpg\nlink: Introduction Video\nmodified: 20160603123557963\ntags: HelloThumbnail\ntitle: HelloThumbnail - Introduction Video\n\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/HelloThumbnail - Latest Version.tid",
    "content": "caption: Quoi de neuf dans <<version>>\ncolor: #fff\ncreated: 20160603124050989\nfr-title: BonjourLaVignette - Dernière Version\nimage: New Release Banner\nlink: Releases\nmodified: 20160603124131122\ntags: HelloThumbnail\ntitle: HelloThumbnail - Latest Version\n\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/HelpingTiddlyWiki.tid",
    "content": "created: 20130825160500000\nfr-title: AiderTiddlyWiki\nmodified: 20160606102438250\ntags: Community\ntitle: HelpingTiddlyWiki\ntype: text/vnd.tiddlywiki\n\nSi vous appréciez l'utilité de TiddlyWiki, il y a plusieurs façons d'aider à l'améliorer et à assurer son avenir.\n\n! Former et Promouvoir\n\nLes Projets OpenSource comme << tw >> prospèrent grâce aux réactions et à l'engagement des utilisateurs. Plus ~TiddlyWiki deviendra d'autant plus utile à tous que nous serons de plus en plus nombreux à l'utiliser. Aussi, Si vous appréciez l'utilité de ~TiddlyWiki, faites le savoir. Le meilleur moyen de garantir son avenir est de devenir des centaines de fois plus populaire qu'auparavant.\n\n* [img[https://img.shields.io/twitter/url/http/tiddlywiki.com.svg?style=social]]\n* Tweeter sur ~TiddlyWiki: [[I love TiddlyWiki because...|https://twitter.com/intent/tweet?text=I+love+TiddlyWiki+because...&source=tiddlywiki5]]\n* [img[https://img.shields.io/github/stars/jermolene/tiddlywiki5.svg?style=social&label=Star]]\n* [[Etoiler le référentiel TiddlyWiki5 sur GitHub|https://github.com/TiddlyWiki/TiddlyWiki5]]\n* [[Afficher la bannière TiddlyWiki|https://tiddlywiki.com/poster]]\n\n[img width=232 [Tiddler Poster.png]]\n\n! Aider à améliorer le code et la documentation\n\nVous pouvez contribuer à ~TiddlyWiki de plusieurs façons<<dp>>\n\n* Rédiger des didacticiels\n* Contribuer à la documentation sur tiddlywiki.com\n* Réaliser des vidéocaptures d'écran\n* Relever les liens, trucs et astuces pertinents au sein d'un wiki\n\nLe code et la documentation principal de ~TiddlyWiki se trouvent sur GitHub, où sont accueillies les différentes [[contributions|Contributing]]:\n\n* https://github.com/TiddlyWiki/TiddlyWiki5\n\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Highlight_Plugin.tid",
    "content": "created: 20150615064355390\nfr-title: Plugin Highlight\nmodified: 20150615064530146\ntags: Plugins\ntitle: Highlight Plugin\ntype: text/vnd.tiddlywiki\n\nCe plugin propose la coloration syntaxique.\n\nVoir https://tiddlywiki.com/plugins/tiddlywiki/highlight/\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/History of TiddlyWiki.tid",
    "content": "created: 20140908114400000\nfr-title: Histoire de TiddlyWiki\nlist: [[Origins of Tiddlywiki]] [[Launch of TiddlyWiki]] [[Growth of TiddlyWiki]] [[BT Acquisition]] [[Osmosoft and TiddlySpace]] [[Leaving BT]] [[Development of TiddlyWiki5]] Future\nmodified: 20141221121128877\ntags: About HelloThere\ntitle: History of TiddlyWiki\ntype: text/vnd.tiddlywiki\n\n//Il s'agit de réflexions personnelles sur l'histoire et le développement de <<tw>>, par son créateur  JeremyRuston//.\n\n<$list filter=\"[list[]]\">\n<$link>\n<h1><$transclude field=\"fr-title\"><$view field=\"title\"/></$transclude></h1>\n</$link>\n<$transclude mode=\"block\"/>\n</$list>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/HistoryMechanism.tid",
    "content": "created: 20140213171818824\nfr-title: Mécanisme d'historique\nmodified: 20150624090945769\ntags: Mechanisms\ntitle: HistoryMechanism\ntype: text/vnd.tiddlywiki\n\nLe tiddler système [[$:/HistoryList]] garde la trace d'une liste de tiddlers composé de l'historique de navigation. Chaque fois que vous cliquez sur un lien vers un tiddler, le titre du tiddler cible est ajouté au sommet de la pile.\n\nLa liste historique est mémorisée en JSON qui permettent des détails additionnels au sujet des coordonnées du nœud DOM initialisant la navigation. Ce champ peut être utilisé comme suit<<:>>\n\n```\n<$list filter=\"[list[$:/StoryList]]\" history=\"$:/HistoryList\" storyview=\"pop\">\n\n<$button message=\"tm-close-tiddler\" class=\"tc-btn-invisible tc-btn-mini\">&times;</$button> <$link to={{!!title}}><$view field=\"title\"/> <$reveal type=\"match\" state=\"$:/HistoryList!!current-tiddler\" text=<<currentTiddler>>>&#x2713;</$reveal></$link>\n\n</$list>\n```\n\nce qui affichera de façon semblable à l'onglet \"Ouvert\" du menu latéral, avec en sus, une coche contre le tiddler objet de la dernière navigation.\n\n<$list filter=\"[list[$:/StoryList]]\" history=\"$:/HistoryList\" storyview=\"pop\">\n\n<$button message=\"tm-close-tiddler\" class=\"tc-btn-invisible tc-btn-mini\">&times;</$button> <$link to={{!!title}}><$view field=\"title\"/> <$reveal type=\"match\" state=\"$:/HistoryList!!current-tiddler\" text=<<currentTiddler>>>&#x2713;</$reveal></$link>\n\n</$list>\n\n!! Déroulé vide\n\nPour afficher un contenu lorsque le déroulé est vide, créez un $:/config/EmptyStoryMessage et entrez le contenu souhaité. Le cas suivant montrerait le tiddler GettingStarted quand tous les autres sont fermés.\n\n```\n{{GettingStarted||$:/core/ui/ViewTemplate}}\n```"
  },
  {
    "path": "editions/fr-FR/tiddlers/How to add a banner for GitHub contributions.tid",
    "content": "created: 20141123094403948\nfr-title: Ajouter une bannière d'appel aux contributions GitHub\nmodified: 20141127214536062\ntags: Learning\ntitle: How to add a banner for GitHub contributions\ntype: text/vnd.tiddlywiki\n\nLorsque vous éditez un tiddler sur https://tiddlywiki.com, vous voyez un petit bandeau qui vous invite à éditer la source du tiddler sur ~GitHub.\n\nSi vous utilisez Node.js, vous pouvez répliquer cette fonction pour votre propre site basé sur TiddlyWiki de la manière suivante<<dp>>\n\n# Assurez-vous que la configuration suivante est incluse dans le fichier `tiddlywiki.info` de votre [[dossier TiddlyWiki|TiddlyWikiFolders]]\n#> <pre><code>\t\"config\": {\n\t\t\"retain-original-tiddler-path\": true\n\t}</code></pre>\n# Copiez le tiddler [[$:/ContributionBanner]] vers votre wiki\n# Effectuez les changements suivants<<dp>>\n## Ajuster le lien GitHub https://github.com/TiddlyWiki/TiddlyWiki5/edit/master/editions/tw5.com/tiddlers/ pour le faire pointer vers votre propre répertoire GitHub.\n## Assurez-vous que le texte commençant par \"Can you help us improve this documentation?\" est approprié pour vos visiteurs\n## Remplacez le lien vers [[Améliorer la documentation de TiddlyWiki|Improving TiddlyWiki Documentation]] par un lien vers le tiddler qui contient vos instructions pour votre propre procédure de contributions.\n\n\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/How to add a new tab to the sidebar.tid",
    "content": "created: 20141117000000000\nfr-title: Un nouvel onglet dans le menu latéral\nmodified: 20150620095945625\ntags: Learning [[Customise TiddlyWiki]]\ntitle: How to add a new tab to the sidebar\ntype: text/vnd.tiddlywiki\n\nPour créer un nouvel onglet dans le menu latéral<<dp>>\n\n# Créez un tiddler et étiquetez-le avec le [[tag système|SystemTags]] [[$:/tags/SideBar]]\n#* Si vous souhaitez créer un onglet de table des matières, vous pouvez peupler ce nouveau tiddler à l'aide de la [[Macro TableOfContents|TableOfContentsMacro]]. Regardez par exemple comment fonctionne [[Table des matières|TableOfContents]]\n# Par défault, libellé de l'onglet correspond au titre du tiddler, mais vous pouvez le remplacer en remplissant le champ `caption`.\n# Pour définir l'ordre des onglets, servez-vous des champs `list-after` ou `list-before`, comme expliqué dans [[Étiquetez par tags|Tagging]]\n#* Par exemple<<dp>> donnez à `list-after` la valeur [[$:/core/ui/SideBar/Open]] pour placer un onglet de barre latérale juste après l'onglet <<gf \"Open\">> (//{{$:/language/SideBar/Open/Caption}}//)\n\nNotez qu'il est possible de créer de la même manière de nouveaux onglets sous l'onglet <<gf \"More\">> (//{{$:/language/SideBar/More/Caption}}//), en utilisant le tag ``$:/tags/MoreSideBar``.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/How to build a TiddlyWiki5 from individual tiddlers.tid",
    "content": "fr-title: Comment construire un TiddlyWiki5 à partir de tiddlers isolés\ncreated: 20131124220600000\nmodified: 20141124151300809\ntags: [[TiddlyWiki on Node.js]] [[à commiter]]\ntitle: How to build a TiddlyWiki5 from individual tiddlers\ntype: text/vnd.tiddlywiki\n\nCommencez par installer <<tw>> comme indiqué dans [[Installer TiddlyWiki sur Node.js|Installing TiddlyWiki on Node.js]].\n\n# Créez un [[dossier TiddlyWiki|TiddlyWikiFolders]] vide\n#* Le plus simple pour ce faire est d'utiliser la [[commande init|InitCommand]]<<dp>> <div>\n\n```\ntiddlywiki ~/MonDossierWiki --init empty\n```\n</div>\n#* Vous pouvez aussi vous contenter de copier le dossier `editions/empty` à partir du répertoire source TiddlyWiki5\n#*Ou encore, ex-nihilo<<dp>>\n#*# Créez un nouveau dossier dans un endroit pratique (par exemple `~/MonDossierWiki`)\n#*# Créez un fichier appelé `tiddlywiki.info` contenant le texte ci-dessous<<dp>>\n#*#* `{\"themes\": [\"tiddlywiki/vanilla\",\"tiddlywiki/snowwhite\"]}`\n#*# Créez un sous-dossier appelé `tiddlers`\n# Ajoutez des [[fichiers de tiddlers|TiddlerFiles]] individuels dans le répertoire `~/MonDossierWiki/tiddlers`\n# Exécutez la commande ci-dessous depuis le répertoire racine de TiddlyWiki5 pour construire un fichier TiddlyWiki5 complet à partir des tiddlers<<dp>><div>\n\n```\ntiddlywiki ~/MonDossierWiki --rendertiddler $:/core/save/all index.html text/plain\n```\n</div>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/How to export tiddlers.tid",
    "content": "created: 20151006145934884\nfr-title: Exporter des tiddlers\nmodified: 20220222182612947\ntags: Learning\ntitle: How to export tiddlers\ntype: text/vnd.tiddlywiki\n\n! Sélectionner tous les tiddlers pour l'exportation\n\nPour exporter ''tous'' les tiddlers, cliquez sur l'onglet ''Outils'' de la barre latérale. Trouvez le bouton <<.icon $:/core/images/export-button>> ''exporter tout'' et cliquez dessus. Un menu flottant vous permet alors de choisir l'un des nombreux formats d'exportation des tiddlers.\n\n! Exporter un tiddler\n\nPour exporter un tiddler particulier, commencez par l'afficher, puis cliquez sur le bouton <<.icon $:/core/images/down-arrow>> ''plus'' situé vers le haut du tiddler. Dans la liste qui apparaît, sélectionnez <<.icon $:/core/images/export-button>> ''exporter ce tiddler''. Un menu flottant vous permet alors de choisir l'un des nombreux formats d'exportation des tiddlers.\n\n! Exporter des tiddlers selon un critère (filtre)\n\nPour exporter une sélection de tiddlers, cliquez sur le symbole de loupe <<.icon $:/core/images/advanced-search-button>> à proximité de la zone de recherche de la barre latérale, ce qui va ouvrir le tiddler de [[recherche avancée|$:/AdvancedSearch]]. Choisissez l'onglet ''Filtrer'' car c'est le seul qui permet d'exporter une sélection de tiddlers. Les [[filtres|Filters]] utilisent une syntaxe particulière, cliquez sur [[ce lien|Filters]] pour découvrir comment concevoir des filtres.\n\nLorsque vous aurez rédigé un filtre, la liste des tiddlers correspondants apparaîtra. Vous pourrez alors cliquer sur le bouton <<.icon $:/core/images/export-button>> ''Exporte ces tiddlers'' situé à droite de la zone de saisie du filtre. Un menu flottant vous permettra alors de choisir l'un des nombreux formats d'exportation des tiddlers.\n\n! Formats d'exportation\n\nActuellement, les formats d'exportation disponibles sont<<:>>\n\n* Le fichier au format CSV\n* Le fichier au format JSON\n* Le fichier HTML statique\n* Le fichier au format <<gf \".tid\">>\n\nLe format <<gf \".tid\">> est particulier en ce qu'il ne permet d'exporter qu'un seul tiddler à la fois, même si vous essayer d'en exporter plusieurs à l'aide d'un filtre ou avec le bouton ''exporter tout''.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/How_to_apply_custom_styles_by_tag.tid",
    "content": "created: 20141001132300000\nfr-title: Des styles personnalisés selon les tags\nmodified: 20150620100032895\ntags: Learning\ntitle: How to apply custom styles by tag\ntype: text/vnd.tiddlywiki\n\nVous pouvez appliquer des styles personnalisés aux tiddlers ayant un tag particulier en définissant une classe CSS nommée `tc-tagged-<Nom du tag>`.\n\nPar exemple, pour coloriser les tiddlers étiquetés \"NightReader\" d'une façon spéciale, [[Créer une feuille de style |Using Stylesheets]] définissant la classe `tc-tagged-NightReader` comme suit<<:>>\n\n```\n.tc-tagged-NightReader {\n\tbackground-color:black;\n\tcolor: orange;\n\tpadding: 35px 35px;\n}\n\n.tc-tagged-NightReader .tc-tiddler-body {\n\tfont-size: 1.5em;\n}\n```\n\nLa classe `tc-tagged-NightReader` s'applique au tiddler tou entier et pas seulement au texte du tiddler. Si vous désirez l'appliquer à une portion plus réduite du tiddler vous pouvez ajuster le sélecteur CSS, comme ici avec `.tc-tagged-NightReader .tc-tiddler-body`.\n\nNotez que les tags contenant des espaces et des caractères non-alphanumériques seront convertis en utilisant le codage URI, rendant le nom de classe CSS généré difficile à prévoir. Par exemple<<:>>\n\n|!Tag |!Nom généré pour la classe |\n|`$:/mytag` |`tc-tagged-%24%3A%2Fmytag` |\n|`one two` |`tc-tagged-one%20two` |\n|`£35.23` |`tc-tagged-%C2%A335.23` |\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/How_to_put_the_last_modification_date_in_a_banner.tid",
    "content": "created: 20141020111002211\nfr-title: Une bannière avec la date de la dernière modification\nmodified: 20150614114633948\ntags: Learning\ntitle: How to put the last modification date in a banner\ntype: text/vnd.tiddlywiki\n\nVoici comment afficher la date de la dernière modification dans une bannière du wiki dans un coin de la fenêtre<<:>>\n\n# Copiez le plugin [[$:/plugins/tiddlywiki/github-fork-ribbon]] dans votre TiddlyWiki\n# Sauvegardez et rechargez votre wiki\n# Créez un nouveau tiddler appelé [[$:/_MyRibbon]] étiqueté [[$:/tags/PageControls]] et contenant<<:>><div>\n\n```\n<div class=\"github-fork-ribbon-wrapper right\">\n<div class=\"github-fork-ribbon\" style=\"background-color:#DF4848;\">\n<$list filter=\"[!is[system]!has[draft.of]!sort[modified]limit[1]]\">\n<$link>\n<$view field=\"modified\" format=\"date\" template=\"DD mmm YYYY at 0hh:0mm\"/>\n</$link>\n</$list>\n</div>\n</div>\n```\n</div>\n# Si nécessaire, modifier la valeur background-color à votre convenance\n# Vous pouvez aussi essayer de modifier le positionnement de la classe de `right` à `right-bottom`\n## Pour faire apparaitre la bannière dans le coins supérieur gauche vous devrez étiqueter le [[$:/tags/PageTemplate]] au lieu de  [[$:/tags/PageControls]] et changer la position de la classe à `left`\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/HyperText_Markup_Language.tid",
    "content": "caption: HTML\ncreated: 20150228132723000\nfr-title: HTML, Langage Marquage HyperTexte\nmodified: 20150623073548320\ntags: Definitions\ntitle: HyperText Markup Language\ntype: text/vnd.tiddlywiki\n\n<<.dlink-ex HTML \"http://en.wikipedia.org/wiki/HTML\">> is a standard plain-text format used for defining the content of a web page.\n\nIt consists of a tree of elements expressed using a system of special <<.def tags>> enclosed in angle brackets.\n\nAlmost the whole of HTML can be used unchanged in the WikiText of a tiddler.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/ImageGallery Example.tid",
    "content": "created: 20140809113603449\nfr-title: Exemple de galerie d'images\nmodified: 20150624092225313\ntags: Learning\ntitle: ImageGallery Example\ntype: text/vnd.tiddlywiki\n\nVoici un exemple d'utilisation des widgets [[List|ListWidget]] et [[Transclude|TranscludeWidget]] pour afficher une grille de toutes les images //système// (autrement dit, les tiddlers tagués avec [[$:/tags/Image]]).\n\n<style>\n.my-gallery svg {\nwidth: 6em;\nheight: 6em;\nmargin: 1em;\n}\n</style>\n<div class=\"my-gallery\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/Image]]\">\n<$transclude/>\n</$list>\n</div>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/ImageWidget.tid",
    "content": "caption: image\ncreated: 20140416160234142\nfr-title: Widget Image\nmodified: 20220303235644269\ntags: Widgets\ntitle: ImageWidget\n\n! Introduction\n\nLe widget image affiche des images qui peuvent être désignées par une URL distante ou le titre d'un tiddler local qui contient l'image.\n\n! Contenu et attributs\n\nLe contenu du widget `<$image>` est ignoré.\n\n|!Attribut |!Description |\n|source |L'URL de l'image, ou le titre d'un tiddler image |\n|width |La largeur de l'image |\n|height |La hauteur de l'image |\n|tooltip |L'info-bulle à afficher au survol de l'image |\n|alt |Le texte alternatif associé à l'image |\n|class |Les classes CSS à assigner à l'élément `<img>` |\n\nLa valeur de la largeur et de la hauteur peut être attribuée en pixels (c-à-d \"23\" ou \"23px\") ou en pourcentages (c-à-d \"23%\"). Ces deux attributs sont optionnels et s'ils sont absents le navigateur utilisera des règles CSS pour retailler l'image.\n\n! Images externes et champ ''_canonical_uri''\n\nLorsqu'il est utilisé pour afficher des images contenues dans des tiddlers, le widget opère dans deux modes distincts<<:>>\n\n* Si le champ ''_canonical_uri'' est présent, il est utilisé en tant qu'attribut ''src'' de la balise `<img>` générée et le champ ''text'' est ignoré.\n* En l'absence du champ ''_canonical_uri'', le widget image génère une balise `<img>` qui encode les données de l'image directement dans une URI de type `data:`. \n\nPlus de détails ici<<:>> <<fr ExternalImages>>.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Images in WikiText.tid",
    "content": "caption: Images\ncreated: 20131205160221762\nfr-title: Images en WikiTexte\nmodified: 20220304132738271\ntags: WikiText [[Working with TiddlyWiki]]\ntitle: Images in WikiText\ntype: text/vnd.tiddlywiki\n\n! Intégration d'image\n\nLes images peuvent être affichées avec la syntaxe <<fr WikiText>> suivante, selon que l'image soit déjà incluse dans un tiddler ou pointe vers une source externe&nbsp;:\n\n```\n[img[Motovun Jack.jpg]] \nou [img[https://tiddlywiki.com/favicon.ico]]\n```\n\nIl est également possible d'insérer des tiddlers d'images grâce à la barre d'outils d'édition. Cliquez sur ''Image'' (<<.icon $:/core/images/picture>>) et choisissez une image.\n\nSi la source de l'image correspond au titre d'un tiddler, alors le tiddler est affiché directement. Autrement elle est interprétée comme une URL et la balise HTML `<img>` est générée avec l'URL dans l'attribut `src`.\n\nUne info-bulle, visible au survol par la souris, peut être ajoutée<<:>>\n\n```\n[img[Et voilà l'info-bulle|Motovun Jack.jpg]]\n```\n\nLes attributs `width` (largeur) et `height` (hauteur) ainsi que `class` pour les classes CSS sont disponibles<<:>>\n\n```\n[img width=32 [Motovun Jack.jpg]]\n[img width=32 class=\"tc-image\" [Motovun Jack.jpg]]\n```\n\nNotez que les attributs peuvent être spécifiés par des transclusions ou des références à des variables<<:>>\n\n```\n[img width={{!!ma_largeur}} class=<<image-classes>> [Motovun Jack.jpg]]\n```\n\nLa syntaxe d'image est un raccourci d'appel au <<fr ImageWidget>>.\n\n! Affichage des images par transclusion\n\nVous pouvez aussi afficher l'image incluse dans un tiddler en transcluant ce tiddler. L'inconvénient de cette méthode est qu'il n'y a alors pas de moyen direct pour contrôler la taille de l'image.\n\n```\n{{Motovun Jack.jpg}}\n```\n\nAffichera<<:>>\n\n{{Motovun Jack.jpg}}\n\n! Images en lien\n```\n<$link to=\"HelloThere\" tooltip=\"Info-bulle personnalisée\">{{$:/core/icon}}</$link>\n```\n\nAffichera<<:>>\n\n<$link to=\"HelloThere\" tooltip=\"Info-bulle personnalisée\">{{$:/core/icon}}</$link>\n\n! Import d'images\n\nUtilisez le bouton <<.button import>> (dans l'onglet <<.sidebar-tab Outils>> de la barre latérale), ou directement un glisser-déposer pour importer une image.\nVoir les détails ici<<:>> <<fr \"Importing Tiddlers\">>\n\n<<.from-version \"5.2.0\">> Vous pouvez aussi importer des images par copier-coller ou glisser-déposer dans l'éditeur de tiddler.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Importing Tiddlers.tid",
    "content": "created: 20130825162000000\nfr-title: Importer des tiddlers\nmodified: 20220222173231214\ntags: Features\ntitle: Importing Tiddlers\ntype: text/vnd.tiddlywiki\n\nVous  pouvez importer des tiddlers dans un <<tw>> à partir de fichiers externes ou directement depuis un autre <<tw>>.\n\n!! Importer du contenu de fichiers externes\n\nIl existe plusieurs méthodes pour importer du contenu (tel que du texte, des images, des documents pdf, etc.) à partir de fichiers externes<<:>>\n\n* Utiliser le bouton <<.icon $:/core/images/import-button>> ''Importer'' (dans l'onglet ''Outils'' de la barre latérale) pour choisir un fichier<<;>>\n* Gisser-déposer des fichiers depuis l'Explorateur Windows, ou le Finder MacOS, etc. directement dans la fenêtre de navigateur de <<tw>><<;>>\n* Copier-coller du contenu directement depuis le presse-papiers en utilisant le menu ou le raccourci clavier (<kbd>ctrl-V</kbd> ou <kbd>cmd-V</kbd>)\n** Actuellement disponible avec Chrome, Firefox et Edge (mais pas Internet Explorer)\n\nPour la plupart, les fichiers sont importés en tant que tiddlers individuels. Les exceptions sont<<:>>\n\n* les fichiers ''.html'' qui sont reconnus comme des fichiers <<tw>> sont interprétés pour en extraire les tiddlers qu'ils contiennent<<;>>\n* les fichiers ''.json'' sont interprétés pour en extraire les tiddlers qu'ils contiennent. Ils peuvent être créés en les [[exportant|How to export tiddlers]] d'un autre <<tw>>. <<tw>> reconnaît les fichiers JSON qui contiennent un unique tiddler, ou un tableau de tiddlers.\n\n!! Importer du contenu depuis des <<tw>> dans d'autres fenêtres\n\nLes tiddlers peuvent être importés depuis des <<tw>> affichés dans d'autres fenêtres de navigateurs grâce au [[glisser-déposer|Drag and Drop]]. Faites glisser un lien interne <<tw>> ou un tag d'un <<tw>> à un autre, entre fenêtres de navigateurs. Faire glisser un lien interne importera un tiddler unique, alors que faire glisser une pilule de tag importera tous les tiddlers qui portent ce [[tag|Tagging]].\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Improving TiddlyWiki Documentation.tid",
    "content": "created: 20140820151051019\nfr-title: Améliorer la documentation de TiddlyWiki\nmodified: 20150623063157355\ntags: Community\ntitle: Improving TiddlyWiki Documentation\ntype: text/vnd.tiddlywiki\n\n(''NB''<<dp>> si vous souhaitez travailler sur la traduction française, reportez-vous plutôt aux [[infos traducteurs|Informations pour les traducteurs]].)\n\nN'importe qui peut proposer des améliorations à la documentation ~TiddlyWiki présente sur https://tiddlywiki.com<<dp>>\n\n# Lisez et suivez le [[Manuel de style pour la documentation TiddlyWiki|Documentation Style Guide]]\n# Si vous n'en n'avez pas déjà un, créez un compte sur https://github.com\n# Sur https://tiddlywiki.com, cliquez sur le bouton \"edit\" du tiddler que vous souhaitez améliorer\n# Vous devriez voir un bandeau rose avec le texte suivant<<dp>>  //Pouvez-vous nous aider à améliorer cette documentation ? Voyez comment éditer ce tiddler sur ~GitHub//.\n# Cliquez sur le lien externe ...''ce tiddler sur ~GitHub''\n## Une alerte va s'afficher comme quoi <<gf \"you need to fork this repository to propose changes\">> (<<gf \"vous devez cloner ce répertoire avant de pouvoir proposer des modifications\">>). Un //fork// est votre propre exemplaire du répertoire, qui intègrera les modifications que vous proposez\n# Un nouvel onglet devrait s'ouvrir sur votre navigateur, pour permettre d'éditer le tiddler sur github.com. La dernière vidéo montre le contenu attendu dans cette zone.\n# Sous la boîte d'édition du texte du tiddler, vous devriez voir une boîte indiquant ''Propose file change''\n# Entrez un titre bref expliquant la modification (par ex., \"Clarifier l'instabilité de la syntaxe des attributs\")\n# Si nécessaire, entrez également une description plus détaillée\n# Cliquez sur le bouton vert intitulé ''Propose file change''\n# Sur l'écran suivant, cliquez sur le bouton vert intitulé ''Create pull request''\n\n[[Jermolene|https://github.com/Jermolene]] ou l'un des autres développeurs principaux sera alors en mesure de fusionner votre //pull request// de façon à l'intégrer à la prochaine version de https://tiddlywiki.com.\n\nMario Pietsch a créé pour vous ces tutoriels vidéos<<dp>>\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/L4zTkMYcri8\" frameborder=\"0\" allowfullscreen></iframe>\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/6ElUruH92tc\" frameborder=\"0\" allowfullscreen></iframe>\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/axFCk9KsMFc\" frameborder=\"0\" allowfullscreen></iframe>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/InfoPanel.tid",
    "content": "caption: Panneau d'information\ncreated: 20150530180848897\nfr-title: Panneau d'information\nmodified: 20150622110305004\ntags: Concepts Features\ntitle: InfoPanel\ntype: text/vnd.tiddlywiki\n\nChaque tiddler a un panneau d'informations additionnelles. Pour l'afficher, cliquez dans la barre d'outils du tiddler, sur l'icone{{$:/core/images/down-arrow}}, puis sur {{$:/core/images/info-button}} ''info'' dans la liste déroulante.\n\nLe panneau d'information comporte les onglets suivants&nbsp;:\n\n* ''Outils'' - propose des boutons pour diverses actions à effectuer sur un tiddler. Cocher la case en regard de chaque bouton l'ajoutera dans la barre d'outils du tiddler - Ceci affectera tous les tiddlers de votre wiki.\n* ''Références'', ''Étiqueté'', ''Liste'' et ''Listé'' - Listent différents types de tiddlers connexes. Voir [[Utiliser des liens pour naviguer entre les tiddlers|Using links to navigate between tiddlers]]\n* ''Champs'' - récapitule tous les [[champs|TiddlerFields]] du tiddler, hormis le champ ''text''\n* ''Avancé'' - indique si le tiddler est [[shadow|ShadowTiddlers]]. S'il l'est, mentionne aussi quel plugin le génère et s'il a été remplacé par un tiddler ordinaire.\n\nPour fermer le panneau d'information, cliquez n'importe où ailleurs.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Informations pour les traducteurs.tid",
    "content": "created: 20141115212945847\nlist-after: RoadMap\nmodified: 20141218212448109\ntags: $:/tags/SideBar About\ntitle: Informations pour les traducteurs\ntype: text/vnd.tiddlywiki\n\nPour contribuer à cette traduction de la documentation //tiddlywiki.com//, commencez par repérer sur [[fr-edition.tiddlyspot.com|http://fr-edition.tiddlyspot.com]] quelques tiddlers non traduits, pas mis à jour, voire mal traduits. Évitez seulement ceux qui sont <a href=\"http://fr-edition.tiddlyspot.com#:[tag[en cours]]\" target=\"_blank\">tagués  en cours</a> car comme leur tag l'indique, ils ont été réservés. Ensuite<<:>>\n\n* si vous travaillez en mode Node.js sur un //clone git// de l'édition `fr-FR`, vous pouvez traduire à partir de votre clone en respectant les quelques indications ci-dessous, puis proposer un pull request sur ~GitHub en vous aidant si besoin de la [[documentation|Improving TiddlyWiki Documentation]]\n* sinon, traduisez directement, soit en ligne, soit sur une [[sauvegarde du site|https://tiddlywiki.com/prerelease/languages/fr-FR/#%24%3A%2Fcore%2Fui%2FButtons%2Fsave-wiki]] (c'est plus prudent). Puis<<:>>\n** exportez votre travail [[dans un fichier JSON|Exporter un sous-ensemble de tiddlers]]\n** envoyez ce fichier à une personne susceptible d'effectuer un //pull request// sur ~GitHub, ou directement sur la liste de diffusion.\nNous ne disposons pas encore de mécanismes très évolués pour gérer le travail de traduction en parallèle, donc ne gardez pas vos traductions sous le coude trop longtemps<<:>> il vaut mieux envoyer un tiddler à la fois que s'apercevoir trop tard que quelqu'un d'autre l'a traduit en parallèle. \n\n; Les titres des tiddlers sont conservés en anglais \n: de sorte que les tiddlers traduits soient écrasent la version d'origine au moment d'être servis, et que les références croisées soient maintenues. Pour faire apparaître les titres traduits, utilisez le champ `fr-title`, ainsi que le paramètre de libellé dans les [[liens wikitext|Linking in WikiText]].\n: Pour disposer d'un libellé réduit, utile pour les onglets notamment, vous pouvez aussi traduire le champ `caption`.\n; Un glossaire est en cours de constitution\n: Si vous suivez [[ses propositions|Glossaire en-GB -> fr-FR]], cela augmentera la cohérence de notre traduction. N'hésitez pas à le compléter ou à le critiquer publiquement !\n; Quelques raccourcis sont à votre disposition \n: sous forme de macros dans le tiddler [[$:/editions/fr-FR/util-macros]]. Ils facilitent la saisie des chaînes de caractères typiquement françaises (comme les <<gf guillemets>>, mais aussi de mots fréquents (comme <<tw>>) ou compliqués comme <<latex>> (qui a sa propre [[feuille de style|$:/editions/fr-FR/CSS stylesheets/latex]]). N'hésitez pas à en ajouter<<pe>>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Instruction_Tiddlers.tid",
    "content": "created: 20150110101500000\nfr-title: Tiddlers d'apprentissage\nmodified: 20150624094350435\ntags: [[Improving TiddlyWiki Documentation]]\ntitle: Instruction Tiddlers\ntype: text/vnd.tiddlywiki\n\nLes <<.def \"Tiddlers d'apprentissage\">> s'adressent directement aux lecteurs et les guident à travers un processus. Le lecteur est aussi bien un débutant qu'un utilisateur moyen.\n\nCes tiddlers peuvent se subdiviser en<<:>>\n\n;Bienvenue\n* Qu'est-ce que ~TiddlyWiki et pourquoi m'en soucier?\n* Démonstration des points clés et avantages\n* Questions fréquemment posées\n* Exemples de ~TiddlyWiki en action\n* Information sur le projet lui-même\n\n;Tutoriel\n* Une présentation ordonnée de matériaux pour débutants\n* Chaque tiddler introduit une nouveauté ou un concept\n* Son contenu principal contient très peu de liens\n* Une section <<.word \"En savoir plus\">> accessible à la fin peut proposer des liens connexes\n\n;Exercice\n* Accompagne un tiddler tutoriel\n* Solution obtenue sur demande\n\n;Comment<<?>>\n* Une liste d'étapes numérotées pour effectuer une petite tâche spécifique\n* Concis, avec des liens vers les tiddlers référents si besoin\n* Toujours avec un préambule pour clarifier la nature de la tache\n\n;Exemple\n* Accompagne un [[tiddler référence|Reference Tiddlers]]\n* Peut contenir explications et commentaires similaires\n* Reste indépendant pour préserver la sobriété du tiddler référence\n\nLes tiddlers d'apprentissage s'adressent directement au lecteur par l'emploie du <<.word vous>>. Ils peuvent être raisonnablement cordiaux.\n\nMais ils évitent l'excès de langage académique, culturel, les références à l'actualité et les tentatives de l'humour,car ils peuvent dérouter ou même offenser le lectorat international. Ils évitent aussi de frustrer potentiellement le lecteur par des descriptions caractérisées de commodes ou faciles."
  },
  {
    "path": "editions/fr-FR/tiddlers/Introducing TiddlyDesktop Video.tid",
    "content": "fr-title: Vidéo d'introduction à TiddlyDesktop\ncreated: 20140126124827076\nmodified: 20141115225354053\ntags: Videos TiddlyDesktop\ntitle: Introducing TiddlyDesktop Video\ntype: text/vnd.tiddlywiki\n\nCette courte introduction montre comment installer et utiliser TiddlyDesktop<<dp>>\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/i3Bggkm7paA\" frameborder=\"0\" allowfullscreen></iframe>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Introduction Video.tid",
    "content": "created: 20141126153016142\nfr-title: Introduction Vidéo\nmodified: 20141203144531777\ntags: Videos [[Working with TiddlyWiki]]\ntitle: Introduction Video\ntype: text/vnd.tiddlywiki\n\nCette rapide présentation explique les principes de base de TiddlyWiki.\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/KtCUr83XgyE\" frameborder=\"0\" allowfullscreen></iframe>\n\nOn peut trouver le ~TiddlyWiki utilisé pour produire cette vidéo ici<<dp>>\n\nhttps://tiddlywiki.com/editions/introduction/\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Introduction to Filters.tid",
    "content": "created: 20140410101941871\nfr-title: Introduction à la rédaction d'un filtre\nmodified: 20150619210516062\ntags: Learning Filters\ntitle: Introduction to filters notation \ntype: nq\n\n<<.preamble \"\"\"Ceci décrit les bases de l'écriture d'un [[filtre|Filters]] de sélection d'un ensemble de tiddlers. Pour une présentation plus technique, voir [[Syntaxe d'un filtre|Filter Syntax]].\"\"\">>\n\n<$macrocall $name=\".tip\" _=\"\"\"Les filtres ne font rien par eux-même si vous vous contentez de les intégrer dans un tiddler. Il faut un contexte. Une manière facile d'expérimenter les filtres est de les saisir dans l'option <<.advancedsearch-tab Filter>> de l'onglet [[Recherche avancée|$:/AdvancedSearch]].\"\"\"/>\n\nLe plus simple des cas se présente lorsque vous savez exactement quels tiddlers vous recherchez. Saisissez chaque titre entre une paire de double crochets, un espace entre chacun<<:>>\n\n> `[[Livre de recettes]] [[OeufsBrouillés]] [[Gateau aux pommes de moman]]`\n\nVous pouvez omettre les crochets quand un titre ne contient aucun espace<<:>>\n\n> `[[Livre de recettes]] OeufsBrouillés [[Gateau aux pommes de moman]]`\n\nLa paire de double crochets est une abréviation de<<:>>\n\n> `[title[OeufsBrouillés]]`\n\n... qui offre une syntaxe du <<.def \"modèle général\">> de tous les filtres<<:>>\n\n> `[operateur[paramètre]]`\n\nEn l'occurence, voici comment sélectionner tous les tiddlers étiquetés <<.tag Recipe>><<:>>\n\n> `[tag[Recette]]`\n\nVous pouvez inverser la sélection en ajoutant le point d'exclamation `!` juste avant l'opérateur. Par exemple, nous pouvons sélectionner tous les tiddlers <<.em sans>> l'étiquette <<.tag Recette>><<:>>\n\n> `[!tag[Recette]]`\n\nLes tiddlers peuvent être filtrés par d'autres champs que les titres ou les étiquettes<<:\n>>\n\n> `[field:convive[4]]`\n\nCette exemple sélectionnera tous les tiddlers qui ont <<.value 4>> dans leur champ <<.field convive>>.\n\nComme le mot \"convive\" n'est pas un opérateur filtre standard (et n'est pas près de le devenir), vous pouvez omettre le préfixe `field:` en toute sécurité<<:>>\n\n> `[convive[4]]`\n\n!Combinaisons\n\nLes filtres que nous avons examinés jusqu'à présent ont chacun une étape. Mais vous pouvez <<.def exécuter>> plusieurs étapes ensemble comme ceci<<dp>>\n\n> `[tag[Végétarien]!tag[soupe]convive[4]]`\n\nNotez que la séquence entière est contenue dans une seule paire de crochets.\n\nUn tiddler doit correspondre à <<.em toutes>> les étapes de la séquence. Ainsi l'exemple supra renvoie à toutes les recettes végétariennes (autre que soupes) pour 4 convives.\n\nUne série de séquences séparée sélectionnera les tiddlers qui correspondent à l'<<.em une>> des séquences. Nous pouvons réutiliser ceci pour trouver les recettes pour 3, 4 or 5 convives<<:>>\n\n> `[convive[3]] [convive[4]] [convive[5]]`\n\nSi nous voulons ignorer les recettes végétariennes pour 4 convives, nous formulerons ainsi<<:>>\n\n> `[convive[3]] [convive[4]!tag[Végétarien]] [convive[5]]`\n\nPar défaut, chaque séquence prend en compte tous les tiddlers du wiki. Mais on peut utiliser le signe `+` pour ne tenir compte que des seuls tiddlers sélectionnés par les précédentes séquences<<:>>\n\n> `[convive[3]] [convive[4]] [convive[5]] +[tag[Végétarien]] +[sort[titre]]`\n\nCeci sélectionne les recettes pour 3, 4 ou 5 convives, puis filtre <<.em celles>> qui correspondent uniquement aux végétariennes, et enfin trie ce qui reste dans l'ordre alphabétique des titres.\n\nD'une façon similaire, nous pouvons utiliser le signe `-` pour <<.em extraire>> une séquence de tiddlers du résultat précédent. Ici nous sélectionnons toutes les recettes végétariennes exceptées deux<<:>>\n\n> `[tag[Végétarien]] -[title[OeufsBrouillés]] -HaricotsSurToast`\n\n!Paramètres spéciaux\n\nLe paramètre de chaque étape que nous avons vu jusqu'à présent s'insérait entre crochets, signifiant un traitement littéral par ~TiddlyWiki. Mais deux autres formes de parenthèses sont possibles<<:>>\n\n<<.def \"Les accolades\">> `{}` indiquent que le paramètre est une [[Référence textuelle|TextReference]], et que sa valeur doit être recherchée dans un tiddler spécial. Par exemple, si nous avons un tiddler nommé <<.tid Préférence>> dont le texte apparait être le mot <<.value Végétarien>>, nous pouvons dire\n\n> `[tag{Préférence}]`\n\nest une alternative à `[tag[Végétarien]]`. Ce qui permet à 'préférence' d'évoluer dans le temps.\n\n<<.def \"Les chevrons\">> `<>` indiquent que le paramètre est le nom d'une [[variable|Variables]] dont la valeur sera utilisée en lieu et place. Ici, nous utilisons la variable intégrée <<.vlink currentTiddler>> au sein d'un filtre qui sélectionne tous les tiddlers dont le texte contient le titre du tiddler en cours<<:>>\n\n> `[search<currentTiddler>]`\n\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Introduction_to_filter_notation.tid",
    "content": "created: 20140410101941871\nfr-title: Introduction à la rédaction d'un filtre\nmodified: 20150621094618461\ntags: Learning Filters\ntitle: Introduction to filter notation\ntype: nq \n\n<<.preamble \"\"\"Ceci décrit les bases de l'écriture d'un [[filtre|Filters]] de sélection d'un ensemble de tiddlers. Pour une présentation plus technique, voir [[Syntaxe d'un filtre|Filter Syntax]].\"\"\">>\n\n<$macrocall $name=\".tip\" _=\"\"\"Les filtres ne font rien par eux-même si vous vous contentez de les intégrer dans un tiddler. Il faut un contexte. Une manière facile d'expérimenter les filtres est de les saisir dans l'option <<.advancedsearch-tab Filter>> de l'onglet [[Recherche avancée|$:/AdvancedSearch]].\"\"\"/>\n\nLe plus simple des cas se présente lorsque vous savez exactement quels tiddlers vous recherchez. Saisissez chaque titre entre une paire de double crochets, un espace entre chacun<<:>>\n\n> `[[Livre de recettes]] [[OeufsBrouillés]] [[Gateau aux pommes de moman]]`\n\nVous pouvez omettre les crochets quand un titre ne contient aucun espace<<:>>\n\n> `[[Livre de recettes]] OeufsBrouillés [[Gateau aux pommes de moman]]`\n\nLa paire de double crochets est une abréviation de<<:>>\n\n> `[title[OeufsBrouillés]]`\n\n... qui offre une syntaxe du <<.def \"modèle général\">> de tous les filtres<<:>>\n\n> `[operateur[paramètre]]`\n\nEn l'occurence, voici comment sélectionner tous les tiddlers étiquetés <<.tag Recipe>><<:>>\n\n> `[tag[Recette]]`\n\nVous pouvez inverser la sélection en ajoutant le point d'exclamation `!` juste avant l'opérateur. Par exemple, nous pouvons sélectionner tous les tiddlers <<.em sans>> l'étiquette <<.tag Recette>><<:>>\n\n> `[!tag[Recette]]`\n\nLes tiddlers peuvent être filtrés par d'autres champs que les titres ou les étiquettes<<:\n>>\n\n> `[field:convive[4]]`\n\nCette exemple sélectionnera tous les tiddlers qui ont <<.value 4>> dans leur champ <<.field convive>>.\n\nComme le mot \"convive\" n'est pas un opérateur filtre standard (et n'est pas près de le devenir), vous pouvez omettre le préfixe `field:` en toute sécurité<<:>>\n\n> `[convive[4]]`\n\n!Combinaisons\n\nLes filtres que nous avons examinés jusqu'à présent ont chacun une étape. Mais vous pouvez <<.def exécuter>> plusieurs étapes ensemble comme ceci<<dp>>\n\n> `[tag[Végétarien]!tag[soupe]convive[4]]`\n\nNotez que la séquence entière est contenue dans une seule paire de crochets.\n\nUn tiddler doit correspondre à <<.em toutes>> les étapes de la séquence. Ainsi l'exemple supra renvoie à toutes les recettes végétariennes (autre que soupes) pour 4 convives.\n\nUne série de séquences séparée sélectionnera les tiddlers qui correspondent à l'<<.em une>> des séquences. Nous pouvons réutiliser ceci pour trouver les recettes pour 3, 4 or 5 convives<<:>>\n\n> `[convive[3]] [convive[4]] [convive[5]]`\n\nSi nous voulons ignorer les recettes végétariennes pour 4 convives, nous formulerons ainsi<<:>>\n\n> `[convive[3]] [convive[4]!tag[Végétarien]] [convive[5]]`\n\nPar défaut, chaque séquence prend en compte tous les tiddlers du wiki. Mais on peut utiliser le signe `+` pour ne tenir compte que des seuls tiddlers sélectionnés par les précédentes séquences<<:>>\n\n> `[convive[3]] [convive[4]] [convive[5]] +[tag[Végétarien]] +[sort[titre]]`\n\nCeci sélectionne les recettes pour 3, 4 ou 5 convives, puis filtre <<.em celles>> qui correspondent uniquement aux végétariennes, et enfin trie ce qui reste dans l'ordre alphabétique des titres.\n\nD'une façon similaire, nous pouvons utiliser le signe `-` pour <<.em extraire>> une séquence de tiddlers du résultat précédent. Ici nous sélectionnons toutes les recettes végétariennes exceptées deux<<:>>\n\n> `[tag[Végétarien]] -[title[OeufsBrouillés]] -HaricotsSurToast`\n\n!Paramètres spéciaux\n\nLe paramètre de chaque étape que nous avons vu jusqu'à présent s'insérait entre crochets, signifiant un traitement littéral par ~TiddlyWiki. Mais deux autres formes de parenthèses sont possibles<<:>>\n\n<<.def \"Les accolades\">> `{}` indiquent que le paramètre est une [[Référence textuelle|TextReference]], et que sa valeur doit être recherchée dans un tiddler spécial. Par exemple, si nous avons un tiddler nommé <<.tid Préférence>> dont le texte apparait être le mot <<.value Végétarien>>, nous pouvons dire\n\n> `[tag{Préférence}]`\n\nest une alternative à `[tag[Végétarien]]`. Ce qui permet à 'préférence' d'évoluer dans le temps.\n\n<<.def \"Les chevrons\">> `<>` indiquent que le paramètre est le nom d'une [[variable|Variables]] dont la valeur sera utilisée en lieu et place. Ici, nous utilisons la variable intégrée <<.vlink currentTiddler>> au sein d'un filtre qui sélectionne tous les tiddlers dont le texte contient le titre du tiddler en cours<<:>>\n\n> `[search<currentTiddler>]`\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/JSONTiddlers.tid",
    "content": "caption: Tiddlers JSON\ncreated: 20141228094500000\nfr-title: Tiddlers JSON\nmodified: 20150622105752646\ntags: Concepts\ntitle: JSONTiddlers\ntype: text/vnd.tiddlywiki\n\nUn tiddler JSON tiddler est un [[tiddler data|DataTiddlers]] contenant une structure [[JSON|JavaScript Object Notation]] dans son champ `text`.\n\nSon [[ContentType]] est `application/json`.\n\n[[history list|$:/HistoryList]] est un bon exemple de tiddler JSON.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/JavaScript.tid",
    "content": "caption: JavaScript\ncreated: 20130825142100000\nmodified: 20150623071952200\ntags: Definitions\ntitle: JavaScript\ntype: text/vnd.tiddlywiki\n\n~JavaScript est un langage de programmation introduit initialement sur les navigateurs comme une façon de scripter des pages web. Il était considéré au début comme un jouet pas très bien conçu, mais avec les années, il finit par être reconnu comme un langage puissant en tant que tel, et est très largement adopté dans les navigateurs et au-delà.\n\n~JavaScript ressemble à ça<<dp>>\n\n```\nfunction surfaceDuCercle(rayon) {\n\treturn rayon * 2 * 3.141592653;\n}\n```\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/JavaScript_Object_Notation.tid",
    "content": "caption: JSON\ncreated: 20150221152904000\nfr-title: JSON, Notation Objet JavaScript\nmodified: 20150623074108882\ntags: Definitions\ntitle: JavaScript Object Notation\ntype: text/vnd.tiddlywiki\n\n<<.dlink-ex JSON \"http://en.wikipedia.org/wiki/JSON\">> est un format de texte brut employé pour modéliser objets de structures hiérarchique contenant des champs nommés (fields).\n\nLes [[Tiddlers Data|DataTiddlers]] peuvent avoir un contenu JSON.\n\nLa macro <<.mlink jsontiddlers>> renvoie le contenu d'un tiddler au format JSON.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/JeremyRuston.tid",
    "content": "caption: Jeremy Ruston\ncreated: 20130825162500000\nmodified: 20220219163924300\ntags: Definitions\ntitle: JeremyRuston\ntype: text/vnd.tiddlywiki\n\nJe suis l'inventeur original de TiddlyWiki. Vous pouvez m'engager sur [[Federatial]], et me retrouver sur ces services<<:>>\n\n* jeremy (at) jermolene (dot) com\n* [[Jermolene sur GitHub|https://github.com/Jermolene]]\n* [[Jermolene sur GitTip|https://www.gittip.com/Jermolene/]], un service de micropaiements\n* [[@Jermolene sur Twitter|http://twitter.com/#!/jermolene]]\n* [[Jermy sur LinkedIn|http://www.linkedin.com/in/jermy]]\n* [[Jermy sur Flickr|http://www.flickr.com/photos/jermy/]]\n\nInformations supplémentaires<<:>>\n\n* Une [[interview de moi sur The Inquirer|http://www.theinquirer.net/inquirer/feature/2105529/bt-software-engineer-tells-telco-source]] par Wendy Grossman\n* Une [[interview hilarante avec moi|https://www.youtube.com/watch?v=auyIhw8MTmQ]] de la télévision britanique en 1983\n* Ici, une vidéo de présentation que j'ai réalisée en 2007 intitulée [[\"How to Start an Open Source Project\"|http://vimeo.com/856110]].\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Jermolene.tid",
    "content": "caption: Jermolene\ncreated: 20130828190200000\nmodified: 20150623063519924\ntags: Definitions\ntitle: Jermolene\ntype: text/vnd.tiddlywiki\n\nAlias de JeremyRuston."
  },
  {
    "path": "editions/fr-FR/tiddlers/KaTeX_Plugin.tid",
    "content": "created: 20150615065148276\nfr-title: Plugin KaTeX\nmodified: 20150615065256393\ntags: Plugins\ntitle: KaTeX Plugin\ntype: text/vnd.tiddlywiki\n\nCe plugin ajoute la possibilité d'afficher les notations mathématiques écrites en in ~LaTeX.\n\nVoir https://tiddlywiki.com/plugins/tiddlywiki/katex/\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/KeyboardShortcuts.tid",
    "content": "created: 20140526204527418\nfr-title: Raccourcis clavier\nmodified: 20150601094524295\ntags: Features [[Working with TiddlyWiki]]\ntitle: KeyboardShortcuts\ntype: text/vnd.tiddlywiki\n\nLa prise en compte des raccourcis clavier est actuellement très limitée mais s'accroîtra dans les versions futures.\n\n! Raccourcis de saisie\n\n|Touches |Description du raccourci|\n|<kbd>ctrl-enter</kbd> |Valide les modifications effectuées dans le tiddler en cours de saisie |\n|<kbd>escape</kbd> |Annule les modification effectuées dans le tiddler en cours de saisie |\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Kill the Dragon.tid",
    "content": "fr-title: Tuer le Dragon\ncreated: 20130825143100000\nmodified: 20141119225830641\ntags: task\ntitle: Kill the Dragon\ntype: text/vnd.tiddlywiki\n\n//Il s'agit de l'une des tâches pour l'[[exemple de gestion de tâches|TaskManagementExample]]//\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Languages.tid",
    "content": "created: 20141202125500000\nfr-title: Langues\nmodified: 20141203120501320\ntags: TableOfContents\ntitle: Languages\ntype: text/vnd.tiddlywiki\n\nLes plugins de langue fournissent des traductions pour l'interface principale de TiddlyWiki.\n\nLes langues ci-dessous sont disponibles<<dp>>\n\n<<list-links \"[tag[Languages]]\">>\n\nVous pouvez contribuer en suivant les instructions pour [[traduire TiddlyWiki dans votre langue|Translate TiddlyWiki into your language]].\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Latest.tid",
    "content": "caption: Tout récent\ncreated: 20140321090511826\nmodified: 20141115220848210\ntags: Community\ntitle: Latest\ntype: text/vnd.tiddlywiki\n\nLes informations, articles, ressources et exemples les plus récents.\n\n<div class=\"tc-link-info\">\n\n<$list filter=\"[tag[Articles]] [tag[Examples]] [tag[Resources]] [tag[Tutorials]] +[!sort[modified]limit[8]]\">\n\n<div class=\"tc-link-info-item\">\n\n! <$link><$transclude field=\"caption\"><$view field=\"title\"/></$transclude></$link>\n\n!!! <a href={{!!url}} target=\"_blank\"><$text text={{!!url}}/></a>\n\n<div class=\"tc-subtitle\">Posted <$view field=\"modified\" format=\"relativedate\"/></div>\n\n<$transclude/>\n\n</div>\n\n</$list>\n\n</div>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Launch of TiddlyWiki.tid",
    "content": "created: 20140923200804020\nfr-title: Lancement de TiddlyWiki\nmodified: 20141217193442167\ntitle: Launch of TiddlyWiki\ntype: text/vnd.tiddlywiki\n\nEn septembre 2004, j'ai donc publié une [[version préliminaire de TiddlyWiki|https://classic.tiddlywiki.com/firstversion.html]]. Il s'agissait de la plus petite  application possible démontrant le concept : un simple fichier HTML de 48KB qui s'auto-engendrait.\n\nL'inconvénient d'avoir écrit de cette manière la première version de <<tw>>, c'est que ça la rendait complètement impraticable pour l'édition — quand vous cliquiez sur <<gf \"enregistrer les modifications\">>, elle faisait apparaître une fenêtre montrant les données qui auraient été enregistrées s'il avait été possible d'écrire sur le système de fichiers depuis une page HTML.\n\nUn grande partie des premiers commentaires sur <<tw>> étaient que c'était un outil sympathique, mais qu'il aurait été plus utile si on avait pu enregistrer correctement les modifications. J'étais plutôt frustré, car je tenais pour certaine l'impossibilité pour un fichier HTML tournant dans un navigateur d'enregistrer des modifications sur le système de fichiers local.\n\nQuelques mois plus tard, j'ai repéré une extension Firefox expérimentale qui permettait à <<tw>> de sauvegarder les modifications depuis le navigateur. En examinant le code, je réalisai que l'API utilisée pour écrire sur le système de fichiers était en fait disponible pour les fichiers HTML ordinaires — pourvu qu'ils soient chargés depuis une URI de type `file://`.\n\nJ'adaptai le code Firefox dans le noyau de <<tw>> et j'ajoutai bientôt une fonctionnalité similaire pour Internet Explorer (en utilisant un ancien contrôle ~ActiveX que Microsoft distribuait avec Internet Explorer).\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/LazyLoading.tid",
    "content": "created: 20140206214608586\nfr-title: Chargement différé (Lazy Loading)\nmodified: 20150624094207694\ntags: Features\ntitle: LazyLoading\ntype: text/vnd.tiddlywiki\n\nHabituellement, avec <<tw>>, le contenu complet de tous les tiddlers est intégré dans le fichier HTML principal. Le <<.def LazyLoading>> (chargement différé) fait référence à une  technique qui intègre seulement les métadonnées dans le tiddler (en d'autres termes, tous les champs hormis le champ ''text''), et demande le contenu au serveur quand il est requis.\n\nLe //Lazy Loading// peut être utilisée dans deux configurations:\n\n* À l'exécution de [[TiddlyWiki sous Node.js|TiddlyWiki on Node.js]], les tiddlers images peuvent être soumis au Chargement Allégé\n* À l'exécution de [[TiddlyWiki au Ciel pour TiddlyWeb|TiddlyWiki in the Sky for TiddlyWeb]], tous les tiddlers sont soumis au Chargement Allégé\n\nVoir le LazyLoadingMechanism pour plus de détails sur la façon dont le <<.def LazyLoading>> est implémentée.\n\n! Le <<.def LazyLoading>> sous Node.js\n\nPour exécuter le chargement différé des images par TiddlyWiki, lancer le serveur par cette [[ServerCommand|commande serveur]]&nbsp;:\n\n```\ntiddlywiki --server 8080 $:/core/save/lazy-images\n```\n\n! Le <<.def LazyLoading>> sous TiddlyWeb\n\nDans la configuration actuelle, le <<.def LazyLoading>> est activée par défaut.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Learning.tid",
    "content": "fr-title: Apprendre TiddlyWiki\ncaption: Apprendre\ncreated: 20140912140047779\nlist: Videos [[Introduction to Filters]] [[Sharing a TiddlyWiki on Dropbox]] [[Sharing your tiddlers with others]] [[Copying tiddlers between TiddlyWiki files]] [[Creating SubStories]] [[Editing Tiddlers with Emacs]] [[Exemple d'une galerie d'images]] [[Making curved text with SVG]] TaskManagementExample [[Adding a Twitter Follow button]] [[Philosophy of Tiddlers]] [[Adopt a Titles Policy]]\nmodified: 20141115212016554\ntags: TableOfContents\ntitle: Learning\ntype: text/vnd.tiddlywiki\n\nEn savoir plus sur l'utilisation de <<tw>><<dp>>\n\n<<list-links \"[tag[Learning]]\">>\n\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Leaving BT.tid",
    "content": "created: 20140923201802377\nmodified: 20140925122738366\ntitle: Leaving BT\nfr-title: Départ de //British Telecom//\ntype: text/vnd.tiddlywiki\n\nFin 2011, j'ai progressivement senti que j'aurais plus de latitude hors de l'enceinte de [[British Telecom|BT]] pour réaliser le potentiel de <<tw>>. D'un commun accord, je suis parti et j'ai commencé à travailler comme développeur indépendant, en me concentrant principalement sur une réincarnation de <<tw>>, qui pris la forme de TiddlyWiki5.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Lexique.tid",
    "content": "created: 20141116085922327\nmodified: 20141116085922327\ntags: TableOfContents\ntitle: Lexique\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Linking in WikiText.tid",
    "content": "caption: Liens\ncreated: 20131205155230596\nfr-title: Liens en WikiTexte\nmodified: 20220304013852623\nmon_texte: Ceci est le contenu du champ `mon_texte`\ntags: WikiText\ntitle: Linking in WikiText\ntype: text/vnd.tiddlywiki\n\nL'une des aptitudes clés du <<fr WikiText>> est sa capacité à créer des liens vers d'autres mémos (appelés tiddlers) ou vers des sites externes. Il existe plusieurs moyens de les mettre en œuvre.\n\n! Liens manuels\n\nLien vers un tiddler par son titre<<:>>\n\n```\n[[Titre de Tiddler]]\n```\n\nPour changer le texte affiché par le lien<<:>>\n\n```\n[[Texte à afficher|Titre du Tiddler]]\n```\n\nLes liens peuvent aussi être créés à l'aide de la barre d'outils d'édition. Cliquez sur le bouton <<.icon $:/core/images/link>> ''lien'', puis recherchez et sélectionnez un tiddler.\n\n! Lien en <<gf \"notation chameau\">>\n\nPour les tiddlers dont le titre respecte les règles de la [[notation chameau|CamelCase]], saisir leur titre sans l'encadrer entre doubles crochets suffit à créer automatiquement un lien.\n\nIl est possible de neutraliser un lien en le préfixant avec le symbole `~`. Par exemple<<:>>\n\n<<wikitext-example src:\"* ~HelloThere n'est pas un lien\n* ~http://google.com/ n'est pas un lien\">>\n\n! Liens externes\n\nPour inclure un lien vers une [[ressource Web externe|https://fr.wikipedia.org/wiki/Ressource_du_World_Wide_Web]] comme un site ou un fichier, il est nécessaire de saisir son [[URL|https://fr.wikipedia.org/wiki/Uniform_Resource_Locator]] //complète//,  en incluant son [[sigle URI|https://fr.wikipedia.org/wiki/Uniform_Resource_Identifier]], par exemple un protocole comme `http://`, `file://` ou `mailto:`<<:>>\n\n```\nhttps://tiddlywiki.com/\n\n[[TW5|https://tiddlywiki.com/languages/fr-FR/index.html]]\n\n[[Envoyez-moi un courriel|mailto:moi@ici.net]]\n\n[[Ouvrez le fichier|file:///c:/users/moi/index.html]]\n```\n\nPour que cette syntaxe fonctionne, l'URL doit être reconnaissable en tant qu'URL. Dans le cas contraire elle est interprétée comme un titre de tiddler. Par conséquent, pour créer un lien vers une ressource localisée avec un chemin relatif, il faut utiliser la syntaxe étendue<<:>>\n\n```\n[ext[Ouvrir le fichier|index.html]]\n\n[ext[Ouvrir le fichier|./index.html]]\n\n[ext[Ouvrir le fichier|../README.md]]\n\n[ext[Ouvrir le fichier|c:\\users\\moi\\index.html]]\n```\n\nLa syntaxe étendue fonctionne aussi avec les URL complètes, même si dans ce cas elle n'est pas nécessaire<<:>>\n\n```\n[ext[https://tiddlywiki.com/]]\n\n[ext[TW5|https://tiddlywiki.com/languages/fr-FR/index.html]]\n\n[ext[Envoyez-moi un courriel|mailto:moi@ici.net]]\n\n[ext[Ouvrez le fichier|file:///c:/users/moi/index.html]]\n```\n\nVous pouvez aussi utiliser la syntaxe étendue pour forcer l'interprétation en tant que lien externe<<:>>\n\n```\n[ext[Donnez|bitcoin:1aabbdd....?amount=0.001]]\n```\n\n! Personnalisation des liens\n\nVoir le <<fr LinkWidget>> pour plus de détails sur le widget sous-jacent utilisé pour implémenter les liens des tiddlers, et notamment les macros qui peuvent être utilisées pour personnaliser son comportement.\n\n! Génération de liens dynamiques\n\nLes <<fr \"Linking in WikiText\">> ne se prêtent pas bien à la création de liens dynamiques. C'est parce que ce lien <<fr WikiText>><<:>>\n\n\n```\n[[lien vers moi-même|Linking in WikiText]]\n```\nest un raccourci qui utilise le <<fr LinkWidget>> et le <<fr TextWidget>> ainsi<<:>>\n\n```\n<$link to=\"Linking in WikiText\">\n  <$text text=\"lien vers moi-même\"/>\n</$link>\n```\nComme le titre du lien (\"lien vers moi-même\") et la cible du lien (\"Linking in WikiText\") sont utilisés en tant qu'attributs de widgets, aucune expansion de <<fr WikiText>> ne peut avoir lieu.\n\nPar exemple, une tentative d'utilisation d'une [[référence|TextReference]] et d'une [[variable|Variables]] pour générer un lien dynamique comme ceci<<:>>\n\n<<.bad-example \"`[[{{!!mon_texte}}|<<currentTiddler>>]]`\">>\n\nrevient à essayer d'utiliser les widgets Lien et Texte ainsi<<:>>\n\n<<.bad-example \"\"\"```\n<$link to=\"<<currentTiddler>>\">\n  <$text text=\"{{!!mon_texte}}\"/>\n</$link>\n```\"\"\">>\n\nce qui ne fonctionnera pas comme espéré. Le contenu des attributs est placé entre guillemets et donc [[traité comme une valeur littérale|HTML in WikiText]] protégée contre l'expansion <<fr WikiText>>. Il sera donc affiché ainsi<<:>>\n\n>[[{{!!mon_texte}}|<<currentTiddler>>]]\n\nAfin d'obtenir l'effet désiré, le <<fr LinkWidget>> peut être utilisé explicitement ainsi<<:>>\n\n<<wikitext-example-without-html src:\"<$link to=<<currentTiddler>>>{{!!mon_texte}}</$link>\">>\n\nAutre exemple de [[construction dynamique de liens|Concatenating text and variables using macro substitution]].\n\n! Liens internes aux tiddlers - <<gf \"liens ancrés\">>\n\nDans <<tw>> les liens ancrés peuvent cibler des points particuliers et des sections distinctes à l'intérieur même de tiddlers, qui aident le lecteur à naviguer dans le contenu des tiddlers les plus longs.\n\nVoir <<fr \"Anchor Links using HTML\">> pour plus d'informations.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/ListField.tid",
    "content": "caption: list\ncreated: 20130830092500000\nfr-title: Champ liste\nmodified: 20220219194303634\ntags: Fields\ntitle: ListField\ntype: text/vnd.tiddlywiki\n\nLe [[champ de tiddler|TiddlerFields]] `list` est une fonctionnalité optionnelle qui peut vous aider à structurer votre contenu. Sa valeur est une [[liste de titres|Title List]], qui peut être utilisée de différentes façons<<:>>\n\n* Le champ `list` d'un tiddler utilisé comme tag détermine l'ordre des tiddlers portant ce tag -- voir [[Étiqueter|Tagging]] pour plus de détails\n* Le [[filtre|Filters]] `list` sélectionne les entrées d'une liste -- voir <<fr \"list Operator\">>\n* Le [[filtre|Filters]] `listed` sélectionne les tiddlers listant le(s) tiddler(s) sélectionné(s) -- voir <<fr \"listed Operator\">>\n* Le widget <<.wlink NavigatorWidget>> manipule un tiddler $:/StoryList dont le champ `list` contient les tiddlers affichés dans la vue principale\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/ListWidget.tid",
    "content": "caption: list\ncreated: 20131024141900000\nfr-title: Widget list\nmodified: 20150620080305968\ntags: Widgets\ntitle: ListWidget\ntype: b\n\nLe widget ~ListWidget affiche la suite de tiddlers qui correspondent au [[tiddler filtre|Filters]]. Il répond à de nombreux cas d'utilisation<<:>>\n\n* Affichage de listes personnalisées de liens, comme le menu latéral de TiddlyWiki5\n* Listes personnalisées, comme \"tous les tiddlers étiquetés 'task' et non-étiquetés 'fait'\"\n* Lister chacun des tags appliqués au tiddler\n* Manipuler le déroulé principal\n\nLes tiddlers sont affichés en transcluant chacun tour à tour via un gabarit. Il existe plusieurs façons de spécifier le gabarit et de contrôler le comportement de la liste.\n\n! Exemples\n\n''Liste brute''\n\n```\n<$list filter=\"[tag[ListWidget]sort[title]]\"/>\n```\n\nAffichera <<:>>\n\n<<<\n<$list filter=\"[tag[ListWidget]sort[title]]\"/>\n\n<<<\n\n''Sorties personnalisées''\n\n```\n<$list filter=\"[tag[ListWidget]sort[title]]\">\n<<currentTiddler>>\n{{||$:/core/ui/ViewTemplate/tags}}\n</$list>\n```\n\nAffichera <<:>>\n\n<<<\n<$list filter=\"[tag[ListWidget]sort[title]]\">\n<<currentTiddler>>\n{{||$:/core/ui/ViewTemplate/tags}}\n</$list>\n<<<\n\n''Gabarit personnalisé''\n\n```\n<$list filter=\"[tag[ListWidget]sort[title]]\" template=\"$:/core/ui/ViewTemplate/subtitle\"/>\n```\n\nAffichera <<:>>\n\n<<<\n<$list filter=\"[tag[ListWidget]sort[title]]\" template=\"$:/core/ui/ViewTemplate/subtitle\"/>\n\n<<<\n\n!! Listes Groupées\n\nSe reporter à [[Listes imbriquées|GroupedLists]] pour voir comment générer des listes groupées et imbriquées en utilisant le [[widget list|ListWidget]].\n\n! Contenu et Attributs\n\nLe contenu du widget `<$list>` est un gabarit optionnel à utiliser pour l'affichage de chaque tiddler de la liste. Autrement, le gabarit peut être spécifié comme titre du tiddler dans le ``gabarit`` attribut. En l'absence de directive, le gabarit par défaut affiche juste le titre du tiddler.\n\n|!Attribut |!Description |\n|filter |Le [[filtre du tiddler|Filters]] à afficher |\n|template |Le titre du tiddler gabarit pour transclure chaque tiddler de la liste. Si aucun gabarit n'est spécifié, Le corps du widget list sert de gabarit. En l'absence de corps, un simple lien vers le tiddler est renvoyé. |\n|editTemplate |Un gabarit différent pour la modification des [[Ébauches de Tiddlers|DraftMechanism]] en mode édition |\n|variable |Le nom d'une [[variable|Variables]] dans laquelle le titre de chaque tiddler listé est mémorisé. Par défaut ''currentTiddler'' |\n|emptyMessage |Message à afficher quand la liste est vide |\n|storyview |Nom optionnel du module responsable de l'animation/traitement de la liste |\n|history |Le titre du tiddler contenant l'historique de navigation |\n\n!! Mode édition\n\nLe widget `<$list>` peut afficher de façon optionnelle les tiddlers ébauche via un gabarit différent lors de l'édition, voir [[Mécanisme d'Ébauche|DraftMechanism]].\n\n!! attribut `storyview`\n\nL'attribut optionnel `storyview` indique le nom du module qui anime les changements dans la liste (incluant la navigation). Le noyau intègre les animations (storyview) suivantes<<:>>\n\n* `classic`<<:>> affiche la liste comme une séquence ordonnée de tiddlers\n* `zoomin`<<:>> affiche juste le tiddler courant dans la liste, avec une animation zoom à la navigation entre les tiddlers\n* `pop`<<:>> rétrécit les éléments sur place\n\nAfin que les storyviews s'animent correctement, chaque entrée de la liste doit être un élément du DOM en mode bloc unique.\n\n!! Historique et navigation\n\nL'attribut optionnel `history` indique le nom du tiddler utilisé pour tracer le tiddler en cours pour les besoins de la navigation. Quand le tiddler history change, l'affichage de la liste répond en demandant à listview de diriger la navigation jusqu'au nouveau tiddler. Voir [[Mécanisme Historique|HistoryMechanism]] pour les détails."
  },
  {
    "path": "editions/fr-FR/tiddlers/MacroCallWidget.tid",
    "content": "caption: macrocall\ncreated: 20131024141900000\nfr-title: Widget macrocall\nmodified: 20150619120744916\ntags: Widgets\ntitle: MacroCallWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nLe widget d'appel de macro propose une syntaxe alternative pour invoquer des macros. L'avantage de la forme de ce widget est de passer des paramètres de macro en attributs de widget, ce qui permet d'utiliser des indirections et d'affecter des valeurs de macro.\n\nPar exemple, une macro appelée `italicise` ayant pour seul paramètre `texte` peut être invoquée de ces différentes façons<<:>>\n\n```\n<<italicise \"Texte à mettre en italiques\">>\n<<italicise text:\"Texte à mettre en italiques\">>\n<$macrocall $name=\"italicise\" text=\"Texte à mettre en italiques\"/>\n<$macrocall $name=\"italicise\" text={{Titre du tiddler contenant le Texte à mettre en italiques}}/>\n<$macrocall $name=\"italicise\" text=<<textMaker \"Une autre macro pour générer du texte à italiciser\">>/>\n```\n\nVous pouvez examiner plusieurs exemples du widget d'appel de macro dans le noyau<<:>>\n\n* Liste les informations du module<<:>> [[$:/snippets/modules]]\n* Liste les informations du champ<<:>> [[$:/snippets/allfields]]\n* Génère les URIs `data:`<<:>> [[$:/themes/tiddlywiki/starlight/styles.tid]]\n\n! Contenu et Attributs\n\nLe contenu du widget `<$macrocall>` est ignoré.\n\n|!Attribut |!Description |\n|$name |Nom de la macro appelée |\n|$type |[[Type de contenu|ContentType]] par lequel le texte entrée sera analysé (par défault `text/vnd.tiddlywiki`) |\n|$output |[[Type de contenu|ContentType]] affiché en sortie (par défaut `text/html`, peut aussi être `text/plain`) |\n|//parameters// |Paramètres de macro spécifiés comme attributs |\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Macro_Call_Syntax.tid",
    "content": "created: 20150221105732000\nfr-title: Syntaxe de l'appel de Macro\nmodified: 20150602121747838\ntags: [[Macro Syntax]]\ntitle: Macro Call Syntax\ntype: text/vnd.tiddlywiki\n\n<<.preamble \"\"\"What follows is a formal presentation of the syntax of the WikiText syntax for macro calls, using [[railroad diagrams|Railroad Diagrams]]. A [[simpler overview|Macro Calls in WikiText]] is also available.\"\"\">>\n\n<$railroad text=\"\"\"\n\"<<\" nom [: espace [:{param-valeur}] ]\">>\"\n\"\"\"/>\n\n<<.place espace>> denotes a sequence of [[whitespace characters|Filter Whitespace]].\n\nThe [[macro|Macros]]'s <<.place name>> is a sequence of non-whitespace characters autre que `(` or `>`.\n\nEach individual <<.place param-value>> has the following syntax:\n\n<$railroad text=\"\"\"\n[: param-nom [:espace] \":\" [:espace] ] valeur [: espace]\n\"\"\"/>\n\nThe <<.place param-nom>> is a sequence of letters (`A`--`Z`, `a`--`z`), digits (`0`--`9`), hyphens (`-`) and underscores (`_`).\n\nThe <<.place valeur>> is specified as follows<<dp>>\n\n<$railroad text={{$:/editions/tw5.com/railroad/call-parameter-value}}/>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Macro_Calls_in_WikiText_(Examples).tid",
    "content": "created: 20150220182252000\nfr-title: L'appel de macro dans WikiText (Exemples)\nmodified: 20150621151749838\ntags: [[WikiText Examples]]\ntitle: Macro Calls in WikiText (Examples)\ntype: text/vnd.tiddlywiki\n\n\\define sayhi-example-1() <<sayhi>>\n\\define sayhi-example-2() <<sayhi Bugs>>\n\\define sayhi-example-3() <<sayhi \"Donald Duck\" Disneyland>>\n\\define sayhi-example-4() <<sayhi \"Mickey Mouse\" \"Mouse House\">>\n\\define sayhi-example-5() <<sayhi name:'Minnie Mouse' address:[[Mouse House]]>>\n\\define sayhi-example-6() <<sayhi address:\"Quacky Towers\" name:\"Donald Duck\">>\n\n\\define sayhi-example-7()\n<<sayhi \"Mickey Mouse\" \"\"\"\"Mouse House\",\nRodent's Lane,\nSqueaksville,\nRatland\"\"\">>\n\\end\n\n<$importvariables filter=\"$:/editions/tw5.com/macro-examples/say-hi\">\n<$codeblock code={{$:/editions/tw5.com/macro-examples/say-hi}}/>\n<$macrocall $name=\".example\" n=\"1\" eg=<<sayhi-example-1>>/>\n<$macrocall $name=\".example\" n=\"2\" eg=<<sayhi-example-2>>/>\n<$macrocall $name=\".example\" n=\"3\" eg=<<sayhi-example-3>>/>\n<$macrocall $name=\".example\" n=\"4\" eg=<<sayhi-example-4>>/>\n<$macrocall $name=\".example\" n=\"5\" eg=<<sayhi-example-5>>/>\n<$macrocall $name=\".example\" n=\"6\" eg=<<sayhi-example-6>>/>\n<$macrocall $name=\".example\" n=\"7\" egvar=\"sayhi-example-7\"/>\n</$importvariables>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Macro_Definition_Syntax.tid",
    "content": "created: 20150220200255000\nfr-title: Syntaxe de la définition d'une macro\nmodified: 20150604094513400\ntags: [[Macro Syntax]]\ntitle: Macro Definition Syntax\ntype: text/vnd.tiddlywiki\n\n<<.preamble \"\"\"Ce qui suit est la description formelle de la syntaxe du pragma `\\define`, par des [[diagrammes en chemin de fer|Railroad Diagrams]]. Une [[présentation simplifiée|Macro Definitions in WikiText]] est aussi disponible.\"\"\">>\n\n<$railroad text=\"\"\"\n\"\\define\" espace nom parametres [:espace] suite\n\"\"\"/>\n\n<<.place espace>> représente une série d'[[espaces vierges|Filter Whitespace]].\n\nLe <<.place nom>> de [[macro|Macros]] est une série de caractères sans espace, autres que `(` ou `>`.\n\nLa liste de déclaration de paramètre (<<.place parametres>>) a la syntaxe suivante<<dp>>\n<$railroad text=\"\"\"\n\"(\" [:sep] [:{ parametre sep }] \")\"\n\"\"\"/>\n\nLe séparateur de paramètres (<<.place sep>>) est toute série de caractères différente d'un nom de paramètre (<<.place parametre.nom>>). Entre autre chose, cela comprend les virgules, les espaces et les sautsdeligne.\n\nUn <<.place parametre.nom>> est une suite de lettres (`A`--`Z`, `a`--`z`), de chiffres (`0`--`9`), de tirets (`-`) de soulignés (`_`).\n\nChaque <<.place parametre>> a, respectivement, la syntaxe suivante<<dp>>\n\n<$railroad text=\"\"\"\nparametre.nom [: [:espace] \":\" [:espace] defaut ]\n\")\"\n\"\"\"/>\n\nLa valeur par <<.place défaut>> d'un paramètre est spécifiée comme suit<<:>>\n\n<$railroad text={{$:/editions/tw5.com/railroad/call-parameter-value}}/>\n\nLa définition de la <<.place suite>> se fait comme suit<<:>>\n\n<$railroad text=\"\"\"\n( code.extrait | Si code.extrait Si \"\\end\" [:espace] ) Si\n\"\"\"/>\n\n<<.place Si>> marque un saut de ligne.\n\nUn <<.place code.extrait>> correspond à toute suite de caractère qui ne termine pas la définition de la macro. Ce qui veut dire qu'un extrait de code, s'il comporte une ligne unique, ne peut comporter de sautdeligne ou s'il occupe plusieurs lignes ne peut comporter de `\\end`.\n\nL'extrait de code peut contenir des [[ZoneRéservée|PlaceHolder]] en utilisant la syntaxe suivante:\n\n<$railroad text=\"\"\"\n( \"$\" nom \"$\" | \"$\" \"(\" nom \")\" \"$\" )\n\"\"\"/>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Macro_Definitions_in_WikiText.tid",
    "content": "caption: Définitions de macros\ncreated: 20150220181617000\nfr-title: Définitions de macros en WikiText\nmodified: 20150624094918963\ntitle: Macro Definitions in WikiText\ntype: text/vnd.tiddlywiki\n\nUne [[macro|Macros]] est définie par l'utilisation du [[pragma|Pragma]] `\\define`. Comme tout pragma, il peut seulement prendre place au début d'un tiddler.\n\nLa première ligne de la définition indique le nom de la macro suivi de ses paramètres. Chaque paramètre a un nom, et de façon optionnelle une valeur par défaut utilisée si aucune valeur n'est passée lors de l'appel de la macro. Les lignes qui suivent contiennent le texte de la macro (càd l'extrait de code représenté par le nom de la macro), jusqu'à l'apparition du `\\end`<<:>>\n\n<$codeblock code={{$:/editions/tw5.com/macro-examples/say-hi}}/>\n\nVous pouvez éviter l'utilisation du marqueur final `\\end`, en rédigeant toute la définition sur une seule ligne<<:>>\n\n```\n\\define sayhi(name:\"Bugs Bunny\") Salut, Je suis $name$.\n```\n\nUne [[présentation|Macro Definition Syntax]] plus formelle de cette syntaxe est aussi disponible.\n\n!! [[ZoneRéservée|PlaceHolder]]\n\nLes extraits de code peuvent utiliser des [[Zones Réservées|PlaceHolder]] en paramètres. Il suffira de placer le nom du paramètre entre les signes dollar, comme `$ceci$`.\n\nIl est aussi possible d'utiliser des [[Zones Réservées|PlaceHolder]] comme [[variables|Variables]]. Il suffira de placer le nom de la variable (ou du nom de la macro)  entre les signes dollar entourés de parenthèses, comme `$(ceci)$`.\n\nÀ la valeur actuelle du paramètre ou de la variable se substituera celle portée par le [[ZoneRéservée|PlaceHolder]] lors de l'appel de la macro<<dp>>\n\n<$importvariables filter=\"$:/editions/tw5.com/macro-examples/say-hi-using-variables\">\n<$codeblock code={{$:/editions/tw5.com/macro-examples/say-hi-using-variables}}/>\n<$macrocall $name=\".example\" n=\"1\"\neg=\"\"\"<$set name=\"address\" value=\"Rabbit Hole Hill\">\n<<say-hi-using-variables>>\n</$set>\"\"\"/>\n</$importvariables>\n\n!! Étendue\n\nLes macros peuvent être utilisées dans le tiddler où elles sont définies, ainsi que tous les tiddlers qui le transclus.\n\nPour étendre l'utilisation d'une macro à tous les tiddlers, définissez-la dans un tiddler étiqueté <<.tag $:/tags/Macro>>.\n\nIl est aussi possible de développer une macro dans un [[module JavaScript|https://tiddlywiki.com/dev/index.html#JavaScript%20Macros]]. Les macros ~JavaScript sont disponibles dans tous les tiddlers, et offrent un maximum de flexibilité.\n\nOn peut importer dans un tiddler les définitions de macros d'une [[sélection|Title Selection]] d'autres tiddlers en utilisant le widget <<.wlink ImportVariablesWidget>>.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Macro_Syntax.tid",
    "content": "created: 20150221222254000\nfr-title: Syntaxe des Macro\nmodified: 20150602122739721\ntags: Macros\ntitle: Macro Syntax\ntype: text/vnd.tiddlywiki\n\n<<list-links filter:\"[tag[Macro Syntax]]\">>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Macros in WikiText.tid",
    "content": "caption: Macros\ncreated: 20131205160746466\nfr-title: Macros en WikiTexte\nmodified: 20220219191257167\ntags: WikiText\ntitle: Macros in WikiText\ntype: text/vnd.tiddlywiki\n\nL'utilisation des [[macros|Macros]] en [[WikiTexte|WikiText]] recouvre deux aspects distincts<<:>>\n\n* [[La définition des macros|Macro Definitions in WikiText]]\n* [[L'appel des macros|Macro Calls in WikiText]]\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Macros.tid",
    "content": "caption: Macros\ncreated: 20140211171341271\nmodified: 20220219192959452\ntags: Concepts Reference\ntitle: Macros\ntype: text/vnd.tiddlywiki\n\nUne <<.def macro>> est un //bout de texte// auquel on donne un nom. Le <<fr WikiText>> utilise ce nom comme raccourci pour [[transclure|Transclusion]] le //bout de texte//. Ces [[transclusions|Transclusion]] particulières s'appellent des <<.def \"appels de macro\">>, et chaque appel peut transmettre un ensemble différent d'arguments, qui se substituent à leur emplacement dans le //bout de texte//.\n\nPour une description de la syntaxe, voir <<fr \"Macros in WikiText\">>.\n\nLa plupart des macros sont en fait des [[variables|Variables]] paramétrées.\n\nElles sont définies en utilisant le [[pragma|Pragma]] `\\define`. (En coulisses, cette syntaxe est transformé en <<fr SetWidget>>, donc les macros et les variables sont bien les deux faces de la même pièce.)\n\nLe //bout de texte// et ses arguments sont traités comme de simple chaînes de caractères, sans interprétation du <<fr WikiText>>, au moins jusqu'à ce que le dernier emplacement ait été rempli et que l'appel de macro soit terminé. Cela signifie qu'une macro peut assembler et renvoyer la syntaxe complète d'un composant <<fr WikiText>>, comme un [[lien|Linking in WikiText]] par exemple. (Voir <<fr \"Transclusion and Substitution\">> pour une discussion plus approfondie sur ce sujet.)\n\nA l'intérieur d'un //bout de texte// lui-même, le seul balisage détecté est `$nom$` (un emplacement pour le paramètre `nom` qui sera substitué par l'argument correspondant reçu au moment d'un appel de macro) et `$(nom)$` (un emplacement pour une [[variable|Variables]]).\n\nLa macro <<.mlink dumpvariables>> liste toutes les variables (y-compris les macros) qui sont disponibles à cet endroit de l'arborescence des widgets.\n\nUn widget <<.wlink ImportVariablesWidget>> peut être utilisé pour copier une définition de macro vers une autre branche de [[l'arbre des widgets|Widgets]]. <<tw>> utilise cette technique en interne pour implémenter des macros globales -- c'est-à-dire des macros définies dans des tiddlers étiquetés <<.tag $:/tags/Macro>>. (Le tag <<.tag $:/tags/Macro/View>> est quant à lui utilisé pour définir des macros qui ne doivent être disponibles que dans le modèle de vue principal et le panneau de prévisualisation.)\n\nPour un maximum de flexibilité, les macros peuvent aussi être <<.js-macro-link \"écrites en tant que modules JavaScript\">>.\n\nUn effet similaire à l'utilisation de macros paramétrées peut être obtenu en encadrant une [[transclusion|Transclusion]] par une définition de [[variables|Variables]].\n\n<<tw>> intègre [[plusieurs macros|Core Macros]] dans son cœur.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Make the beds.tid",
    "content": "fr-title: Faire les lits\ncreated: 20130825143100000\nmodified: 20141119225914571\ntags: task\ntitle: Make the beds\ntype: text/vnd.tiddlywiki\n\n//Il s'agit de l'une des tâches pour l'[[exemple de gestion de tâches|TaskManagementExample]]//\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/MakeLibraryCommand.tid",
    "content": "caption: makelibrary\ncreated: 20140903085210479\nmodified: 20141115222324590\ntags: Commands\ntitle: MakeLibraryCommand\ntype: text/vnd.tiddlywiki\n\n{{$:/language/Help/makelibrary}}\n\nVoir le [[mécanisme de mise à jour|UpgradeMechanism]] pour plus de détails.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Making curved text with SVG.tid",
    "content": "created: 20140324223413403\nfr-title: Tracer un texte incurvé avec SVG\nmodified: 20150622054404265\ntags: Learning\ntitle: Making curved text with SVG\ntype: text/vnd.tiddlywiki\n\n\\define textOnPath(text)\n$$$.svg\n<svg width=\"100%\" height=\"100%\" viewBox=\"0 0 1000 300\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n<defs>\n<path id=\"MyPath\" d=\"M 100 200 C 200 100 300 0 400 100 C 500 200 600 300 700 200 C 800 100 900 100 900 100\"/>\n</defs>\n<use xlink:href=\"#MyPath\" fill=\"none\" stroke=\"#ddd\"/>\n<text font-family=\"'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif\" font-size=\"42.5\">\n<textPath xlink:href=\"#MyPath\">\n$text$\n</textPath>\n</text>\n</svg>\n$$$\n\\end\nCette démonstration montre comment utiliser SVG pour faire suivre un chemin incurvé à un texte transclu. Entrez du texte dans la zone çi-dessous pour essayer<<;>> visualiser le code source pour voir examiner le fonctionnement.\n\n<$edit-text tiddler=\"$:/CurvedText\" tag=\"input\" placeholder=\"Type text here\" default=\"\"/>\n\n<$macrocall $name=\"textOnPath\" text={{$:/CurvedText}}/>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Markdown Plugin.tid",
    "content": "caption: Plugin Markdown\ncreated: 20141116085424505\nfr-title: Plugin Markdown\nmodified: 20150615065405212\ntags: Plugins\ntitle: Markdown Plugin\ntype: text/vnd.tiddlywiki\n\nLe plugin Markdown permet d'utiliser des tiddlers écrits avec les conventions de balisage [[Markdown]] standard.\n\nVoir https://tiddlywiki.com/plugins/tiddlywiki/markdown/\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Markdown.tid",
    "content": "created: 20141016140235476\nmodified: 20141116085843396\ntags: Lexique\ntitle: Markdown\ntype: text/vnd.tiddlywiki\n\n<<<\nMarkdown est un langage de balisage léger créé par John Gruber et Aaron Swartz en 2004. Son but est d'offrir une syntaxe facile à lire et à écrire.\n<<< Wikipedia : http://fr.wikipedia.org/wiki/Markdown\n\nSite web officiel : http://daringfireball.net/projects/markdown/\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/MathML.tid",
    "content": "caption: MathML\ncreated: 20130901213100000\nfr-title: MathML\nmodified: 20150623071911891\ntags: Definitions Features\ntitle: MathML\ntype: text/vnd.tiddlywiki\n\nMathML est un langage de notation pour équations mathématiques qui peut être utilisé en HTML.\n\nSi votre navigateur le supporte, les balises MathML peuvent être manipulées par WikiText comme du HTML.\n\nVoici un exemple d'équation MathML issue du [[W3C|http://www.w3.org/Math/XSL/csmall2.xml]]:\n\n```\n<math><mrow><mo>[</mo><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr></mtable><mo>]</mo></mrow></math>\n```\nCe qui s'affiche ainsi&nbsp;:\n\n<math><mrow><mo>[</mo><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr></mtable><mo>]</mo></mrow></math>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Mechanisms.tid",
    "content": "color: #9fa3cb\ncreated: 20130825153800000\nfr-title: Mécanismes\nmodified: 20150620140246724\ntags: Reference\ntitle: Mechanisms\ntype: text/vnd.tiddlywiki\n\nVoici les mécanimes internes qui concourent au fonctionnement de TiddlyWiki.\n\n<<list-links \"[tag[Mechanisms]]\">>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Meetups.tid",
    "content": "caption: Rencontres\ncreated: 20140721121924384\nfr-title: Rencontres\nmodified: 20150614155807605\ntags: Community\ntitle: Meetups\ntype: text/vnd.tiddlywiki\n\nRencontres locales d'enthousiastes de ~TiddlyWiki  tout autour du monde<<:>>\n\n* [[OXTWIG]], le ''groupe d'intérêt ~TiddlyWiki d'Oxford'' des rencontres mensuelles à Oxford, UK pour partager des expériences sur l'utilisation de TiddlyWiki\n\n//Si vous êtes un enthousiaste de ~TiddlyWiki veuillez réfléchir  au lancement d'un TWIG local, c'est un excellent moyen de faire part au monde de l'utilisation de TiddlyWiki//\n\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Messages.tid",
    "content": "caption: Messages\ncreated: 20140226083311937\nmodified: 20150622112612112\ntags: Concepts Reference\ntitle: Messages\ntype: text/vnd.tiddlywiki\n\nLes messages Widget sont générés par les widgets en réponse aux actions utilisateur. Ils parcourent l'arbre widget jusqu'à ce qu'ils soient traités par un ascendant widget.\n\nLes messages suivants sont implémentés dans le noyau<<:>>\n\n<<list-links \"[tag[Messages]]\">>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/ModuleType.tid",
    "content": "caption: Module, Type\ncreated: 20131129162847412\nmodified: 20150622110153803\ntags: Concepts\ntitle: ModuleType\ntype: text/vnd.tiddlywiki\n\n\\define describe() {{$:/language/Docs/ModuleTypes/$(type)$}}\n\nLe champ `module-type` d'un [[module JavaScript|Modules]] est une chaine identifiant le type de module. Ci-après la liste des types de module utilisés dans ce wiki<<:>>\n\n<dl>\n<$list filter=\"[moduletypes[]]\">\n<dt>{{!!title}}</dt>\n<$set name=type value=<<currentTiddler>>>\n<dd><<describe>></dd>\n</$set>\n</$list>\n</dl>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Modules.tid",
    "content": "caption: Modules\ncreated: 20131129162919588\nmodified: 20150622105359611\ntags: Concepts\ntitle: Modules\ntype: text/vnd.tiddlywiki\n\nUn //module// dans TiddlyWiki5 est un tiddler contenant du JavaScript exécutable, de type `application/javascript` et dont le champ `module-type` correspond au ModuleType du module.\n\nVoir dans l'onglet <<.controlpanel-tab Info>> du <<.button control-panel>>, l'option Avancé, puis cliquer sur <<.wlink $:/core/ui/ControlPanel/LoadedModules>> pour les listes des modules chargés.\n\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Motovun Jack.svg.tid",
    "content": "created: 20140920205946684\nmodified: 20140920205946684\ntags: picture\ntitle: Motovun Jack.svg\ntype: image/svg+xml\n\n<?xml version=\"1.0\"?>\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xl=\"http://www.w3.org/1999/xlink\" version=\"1.1\" viewBox=\"34 107 510 317\" width=\"510pt\" height=\"317pt\"><metadata xmlns:dc=\"http://purl.org/dc/elements/1.1/\"><dc:date>2012-05-10 07:32Z</dc:date><!-- Produced by OmniGraffle Professional 5.3.6 --></metadata><defs></defs><g stroke=\"none\" stroke-opacity=\"1\" stroke-dasharray=\"none\" fill=\"none\" fill-opacity=\"1\"><title>Canvas 1</title><g><title>Layer 1</title><path d=\"M 204.10294 372.67294 L 206.91333 373.50204 C 210.44484 371.92197 217.54364 374.36401 221.30923 375.55795 C 214.37523 367.871 203.92865 356.58286 196.40225 349.4665 C 193.93185 340.85104 194.98593 332.1817 195.51744 323.3866 L 195.62405 322.659 C 192.65733 329.6997 188.89246 336.5437 186.86893 343.95477 C 184.50095 353.95294 197.39323 364.74045 202.39233 370.92294 Z M 419.00293 414.95798 C 399.65295 414.411 391.14194 414.45804 381.28735 398.25296 L 373.60684 398.473 C 364.66696 398.076 368.39264 398.25595 362.42844 397.95901 C 352.45654 397.57098 354.05396 388.09604 352.29965 383.09003 C 349.49335 366.09698 356.01324 349.01611 355.80756 332.01971 C 355.73474 325.98639 347.19724 304.63062 344.14716 296.99548 C 334.58554 298.79572 324.97205 299.13895 315.27176 299.62231 C 292.91254 299.56754 270.70496 296.8295 248.65794 293.35248 C 244.36153 311.10052 231.59093 335.94183 242.14684 353.9793 C 254.95975 372.63696 263.95123 377.80597 277.88824 378.93094 C 291.8251 380.055 294.97214 395.78998 291.60031 401.40997 C 288.61584 405.294 283.37045 405.99902 278.91385 406.94 L 269.99945 407.35898 C 262.98456 407.12299 256.71454 405.229 250.46393 402.30798 C 240.02545 396.48102 229.24443 384.36703 221.23434 375.67001 C 223.09915 379.143 224.21146 385.92294 222.52005 389.07803 C 217.78415 395.78699 197.30133 395.746 187.92093 391.577 C 177.26495 386.84198 151.51596 353.59503 147.53493 328.69455 C 158.12593 308.66583 173.55493 291.2196 181.36093 269.41132 C 164.34593 258.55438 155.23293 240.88019 156.41594 220.8598 L 156.84294 218.5423 C 140.10095 221.67648 148.78296 220.51039 130.772964 221.87279 C 73.41696 221.6973 22.976959 182.80795 51.378967 122.367004 C 53.225952 118.787964 54.982956 115.534 58.113968 117.08801 C 60.626953 118.33496 60.265976 123.33699 59.001953 128.88399 C 42.766968 201.10277 122.11395 201.65552 170.88995 188.29181 C 175.73093 186.96521 185.35893 178.03061 192.02843 175.0687 C 202.93033 170.22757 214.76323 168.2634 226.50644 166.84811 C 255.71411 163.51997 290.81815 178.90649 308.65442 179.4089 C 326.4909 179.91129 351.86395 175.13808 367.43942 176.14308 C 378.74075 176.66016 389.83795 178.70007 400.74194 181.6059 C 407.79996 147.215 408.29895 121.867996 425.03094 116 C 434.85095 117.550995 442.4179 130.93298 448.01895 138.08301 L 448.04193 138.07898 C 459.4489 137.62897 470.30396 140.52301 481.09692 143.73497 C 500.63696 140.962006 517.03394 129.989 534.28992 121.45299 C 534.23596 121.721985 533.95398 121.81297 533.78595 121.99397 C 516.80396 135.72798 514.4319 158.952 516.42993 180.42822 C 517.17297 191.57237 514.02393 203.67166 510.13098 215.08179 C 502.84595 233.67169 488.77692 253.26677 472.44794 252.26176 C 466.27496 252.0665 462.68893 248.57117 458.10095 244.83946 C 457.21094 252.39809 453.71295 259.14267 450.34094 265.82758 C 442.55396 280.64941 422.20496 287.18097 403.36292 303.00763 C 384.52216 318.83453 409.39194 375.35904 415.42194 385.65802 C 421.45096 395.95798 438.28192 399.72598 431.75095 409.02194 C 429.75296 412.09198 426.69794 413.19 423.43292 414.38098 Z\" fill=\"black\"/></g></g></svg>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/NW.js.tid",
    "content": "caption: NW.js\ncreated: 20150310165059118\nmodified: 20150623074910223\ntags: Definitions\ntitle: NW.js\ntype: text/vnd.tiddlywiki\n\nNW.js est une application OpenSource qui étend les fonctionnalités d'un navigateur web avec celles de [[Node.js]]. Il permet l'utilisation d'application web d'une façon similaire aux applications natives, avec tous les accès au système de fichier et autres commodités natives. Allez plus loin sur le [[site officiel|https://github.com/nwjs/nw.js]] ou avec [[ce blog d'introduction (eng)|this introductory blog post|http://net.tutsplus.com/tutorials/javascript-ajax/introduction-to-html5-desktop-apps-with-node-webkit/]].\n\nVoir [[TiddlyWiki sur NW.js|TiddlyWiki on NW.js]] pour plus de détails à ce sujet.\n\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Navigating between open tiddlers.tid",
    "content": "fr-title: Navigation parmi les tiddlers ouverts\ncreated: 20140908092600000\nmodified: 20141022201649218\ntags: [[Working with TiddlyWiki]]\ntitle: Navigating between open tiddlers\ntype: text/vnd.tiddlywiki\n\nDans le mode de déroulé par défaut <<gf \"classic\">>, les tiddlers ouverts sont affichés verticalement dans une colonne appelée <<gf \"cours du déroulé\">>. Il existe plusieurs façons de parcourir le déroulé — autrement dit, de rebondir d'un tiddler ouvert à l'autre.\n\n* Une façon évidente consiste à ''faire défiler la page de bas en haut'' à l'aide de la barre de défilement du déroulé sur la droite.\n\n** On notera que lorsque le cours du déroulé et la barre latérale s'étendent l'un et l'autre sous l'écran visible, //deux// barre de défilement apparaissent. La barre de défilement extérieure, soit la plus à droite, contrôle le cours du déroulé. La barre de déroulement intérieure contrôle la barre latérale.\n\n* Une manière de procéder un peu maladroite mais souvent tentée par les nouveaux utilisateurs consiste à ''fermer les tiddlers un par un'' jusqu'à retrouver le tiddler qu'ils cherchent. \n\n** Fermer un tiddler quelconque en haut ou au milieu du déroulé fera que tous les tiddlers situés en dessous remonteront le cours du déroulé. Le tiddler situé juste en dessous de celui que vous venez de fermer remontera d'un cran pour prendre sa place.\n\n** Fermer le tiddler tout en bas du déroulé amènera le bas du tiddler situé juste au-dessus de lui dans le champ de vision.\n\n* La meilleure approche consiste à ''utiliser l'onglet Ouverts'' dans la barre latérale pour cliquer directement sur le tiddler ouvert vers lequel vous souhaitez vous déplacer.\n\n** L'onglet 'Ouverts' contient la liste de tous les tiddlers ouverts. Vous pouvez cliquer sur n'importe quel tiddler de la liste pour rebondir vers lui, ou cliquer sur le 'x' situé à côté pour le fermer. Il existe également un bouton 'Tout fermer' au bas de la liste des tiddlers ouverts.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Node.js.tid",
    "content": "caption: Node.js\ncreated: 20131129094739786\nmodified: 20150623063324750\ntags: Definitions\ntitle: Node.js\ntype: text/vnd.tiddlywiki\n\n''Node.js'' est une application téléchargeable sur votre ordinateur PC, Mac ou Linux, qui vous permet d'exécuter des programmes JavaScript. Contrairement aux programmes ~JavaScript s'exécutant dans un navigateur, le code tournant sur Node.js dispose d'un accès complet au système de fichiers et aux autres ressources de l'ordinateur, ce qui lui permet mener à bien des tâches traditionnellement dévolues à des langages comme Java, PHP et Python. Voir http://nodejs.org pour plus de détails.\n\nDans le cas de ~TiddlyWiki, Node.js permet de profiter d'un même code principal capable de tourner aussi bien dans le navigateur que sur le serveur, ce qui accroît encore sa souplesse d'utilisation.\n\nPour les utilisateurs finaux, le mode Node.js n'est pas plus compliqué à utiliser que le mode intégré au navigateur web, mais il donne accès à des fonctions puissantes, notamment la possibilité d'exécuter  ~TiddlyWiki en tant que serveur web auquel vous pouvez vous connecter depuis d'autres appareils.\n\nVoir [[TiddlyWiki sur Node.js|TiddlyWiki on Node.js]] pour plus de détails.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/NowMacro.tid",
    "content": "caption: now\ncreated: 20141008141616791\nmodified: 20141018163834163\ntags: Macros\ntitle: NowMacro\ntype: text/vnd.tiddlywiki\n\nLa macro ''now'' renvoie la date et l'heure courantes, formatées d'après chaîne de caractères optionnelle.\n\n! Paramètres\n\n|!Position |!Nom |!Description |!Défaut |\n| 1 |format |Chaîne de type DateFormat spécifiant le format pour la date et l'heure |`0hh:0mm, DDth MMM YYYY` |\n\n! Exemples\n\nPar exemple<<dp>>\n\n```\n* <<now>>\n* <<now \"DDth MMM YYYY\">>\n```\n\nRenvoie<<dp>>\n\n* <<now>>\n* <<now \"DDth MMM YYYY\">>\n\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Obadiah_TOC.tid",
    "content": "created: 20131207085406905\nfr-title: Un sommaire pour Obadiah\nmodified: 20150614045703807\ntags: Examples\ntitle: Obadiah TOC\ntype: text/vnd.tiddlywiki\nurl: http://giffmex.org/experiments/obadiah.html\n\nUne introduction à la bible d'Obadiah par Dave Gifford utilisant la macro sommaire et différents réglages personnalisés de ~TiddlyWiki<<:>> un bouton ''nouveau, ici'', modifié [[ajout d'un viewtemplate personnalisé|http://giffmex.org/experiments/obadiah.html#%24%3A%2F_aa%2FViewTemplate%2FNoteList]] pour intégrer des notes ou des images dans tout tiddler, et un tiddler transcluant tout contenu, adapté pour faciliter l'impression ([[ce tiddler|http://giffmex.org/experiments/obadiah.html#An%20introduction%20to%20Obadiah]]).\n\n{{!!url}}\n\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/OpenSource.tid",
    "content": "caption: Open Source\ncreated: 20130825130700000\nmodified: 20150623063237528\ntags: Definitions\ntitle: OpenSource\ntype: text/vnd.tiddlywiki\n\nL'Open Source est [[définie par Wikipedia|http://fr.wikipedia.org/wiki/Open_source]] comme une //philosophie, ou comme méthodologie éprouvée qui promeut la diffusion gratuite et l'accès libre à la conception et au code détaillé d'un produit fini//.\n\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Order_of_Tagged_Tiddlers.tid",
    "content": "created: 20150124125646000\nfr-title: Ordre des tiddlers tagués\nmodified: 20150624092720866\ntags: Concepts\ntitle: Order of Tagged Tiddlers\ntype: text/vnd.tiddlywiki\n\nQuand ~TiddlyWiki génère une liste de tiddlers portant un tag particulier (ex<<:>> la liste déroulante d'un tag pilule), it trie les tiddlers selon les règles suivantes<<:>>\n\n# Commencer par tout tiddler [[declaré|Title List]] dans le champ <<.field list>> du tiddler, en suivant l'ordre donné.\n\n# Pour chaque tiddler <<.place T>> restant, chercher un champ <<.field list-before>>. s'il a le titre du tiddler comme valeur, placer le tiddler <<.place T>> juste <<.em avant>> celle-ci.\n#* Au cas particulier, où le champ existe mais que sa valeur soit vide, placer <<.place T>> au tout début de la liste.\n\n# Pour chaque tiddler <<.place T>> restant, chercher un champ <<.field list-after>> field. S'il a le titre du tiddler title comme valeur, placer le tiddler <<.place T>> juste <<.em après>> ce dernier.\n\n# Si des tiddlers restent encore, les placer en queue de liste dans l'ordre alphabétique croissant des titres. Les différences entre majuscule et minuscule sont ignorées.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Origins of Tiddlywiki.tid",
    "content": "created: 20140923200251427\nfr-title: Origines de TiddlyWiki\nmodified: 20141128151255002\ntags: [[à commiter]]\ntitle: Origins of Tiddlywiki\ntype: text/vnd.tiddlywiki\n\nEn 1997, un collègue me montra [[le wiki original de Ward Cunningham|http://c2.com/cgi/wiki]]. Que quelque chose d'aussi puissant puisse être écrit en seulement 700 lignes de Perl m'impressionna  à l'époque, et j'étais aussi fasciné par la manière radicale dont la sécurité et le système de permissions avaient été repensés. Comme beaucoup d'autres développeurs, je me suis jeté sur tous les types de wiki qui me passaient sous la main, afin d'explorer leur utilisation en environnement de travail.\n\nLe principal attrait du wiki pour moi était le sentiment qu'il pouvait remettre en question le paradigme qui prévalait jusqu'alors, à savoir les documents conçus pour être imprimés, et les emails.\n\nAprès avoir observé pendant quelques années la manière dont les gens utilisaient les wikis, j'ai remarqué que les utilisateurs avancés faisait grand usage de la possibilité d'ouvrir plusieurs pages de wiki à la fois dans les onglets de leur navigateur, pour se faciliter la comparaison et la révision des pages, la recopie de texte d'une page à l'autre, et pour se constituer une sorte de file de pages en attente d'être lues.\n\nJ'ai eu le sentiment que cette capacité à manipuler plusieurs pages en même temps était centrale dans la capacité à réorganiser un wiki, et on considère généralement qu'un wiki réorganisé avec amour a tendance à être plus utile. Pourtant, les interfaces utilisateur des wiki ont toujours été exclusivement conçues pour la présentation et la manipulation d'une seule page à la fois.\n\nToutes ces réflexions se sont synthétisées lorsque j'ai vu l'interface de Gmail en avril 2004, qui utilisait Ajax de manière ingénieuse pour assembler des mails individuels dans des fils de conversations.\n\nJ'ai commencer à expérimenter avec HTML et JavaScript pour pousser l'idée. Je n'avais eu jusqu'à présent pratiquement aucune expérience de l'un ou de l'autre, à part composer quelques pages statiques et des sites ASP simples dans des vies précédentes. Se plonger dans ces techniques orientées client a été une expérience douloureuse ; comme tout le monde, j'étais horrifié de découvrir l'atrocité des incompatibilités et incohériences de la programmation web.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Osmosoft and TiddlySpace.tid",
    "content": "created: 20140923201646576\nfr-title: Osmosoft et TiddlySpace\nmodified: 20150624092502365\ntitle: Osmosoft and TiddlySpace\ntype: text/vnd.tiddlywiki\n\nJe constituais une équipe chez [[BT]] sous le nom [[Osmosoft]]. Nous avions comme objectif d'évangéliser les bénéfices de l'//open source// et d'aider d'autres équipes à réaliser ces bénéfices en pratique. Nous nous sommes aussi rendu compte qu'il était nécessaire d'évangéliser l'usage du Web en général, et les standards web en particullier.\n\nNotre approche était de privilégier la démonstration sur le discours. Nous avons travaillé avec la communauté <<tw>> pour étendre l'écosystème, et nous avons construit de nombreux systèmes internes pour BT (certains basés sur <<tw>>, d'autres non).\n\nLa principale contribution d'[[Osmosoft]] à la communauté <<tw>> fut la création de TiddlyWeb et TiddlySpace. TiddlyWeb était un serveur robuste, capable de servir des tiddlers sur l'Internet, mais aussi de composer des vues <<tw>> à partir de ces tiddlers. Quant à TiddlySpace, il s'agissait d'une tentative pour packager TiddlyWeb de façon plus directement utilisable.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Osmosoft.tid",
    "content": "created: 20131101091300000\nmodified: 20131101092400000\ntitle: Osmosoft\ntype: text/vnd.tiddlywiki\n\nFounded in 2004 by JeremyRuston, Osmosoft was originally a consultancy for software services around TiddlyWiki. Notable engagements included working with Socialtext on [[Socialtext Unplugged|https://www.socialtext.net/open/socialtext_unplugged]].\n\nIn 2007, Osmosoft was acquired by [[BT]] and became the champions for open source within the enterprise. As part of BT, Osmosoft has worked on a diverse range of projects within BT and for BT's customers.\n\nSee http://osmosoft.com/\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/PESpot_Lesson_Planner_by_Patrick_Detzner.tid",
    "content": "created: 20150403104722092\nfr-title: PESpot Un planificateur de cours par Patrick Detzner\nmodified: 20150614095142426\ntags: Examples\ntitle: PESpot Lesson Planner by Patrick Detzner\ntype: text/vnd.tiddlywiki\nurl: http://pespot.tiddlyspot.com\n\nUn développement pour planifier les cours créés avec TiddlyWiki.\n\n{{!!url}}\n\n<<<\nJ'ai développé un logiciel pour assister dans la saisie et la mémorisation des information de planification des cours et ainsi faciliter/automatiser un ennuyeux travail lors de à la création du document actuel de planification des leçons.\n<<<\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Page and tiddler layout customisation.tid",
    "content": "created: 20141120125300000\nfr-title: Personnalisation poussée de la page et des tiddlers\nmodified: 20150620081142936\ntags: [[Customise TiddlyWiki]]\ntitle: Page and tiddler layout customisation\ntype: text/vnd.tiddlywiki\n\nUne caractéristique majeure dont plusieurs nouveaux utilisateurs ignorent le degré, est le point jusqu'auquel TiddlyWiki peut être personnalisé, juste par l'ajout, la suppression de [[tags système|SystemTags]] au sein de tiddlers shadow bien choisis ou dans vos propres tiddlers personnalisés. \n\n* Vous pouvez ajouter et retrancher les fonctionnalités par défaut des tiddlers aussi bien en mode édition que visualisation (au cas où vous trouveriez un sous titre de tiddler distrayant ou que vous souhaitiez avoir un aide-mémoire à visualiser lors de l'édition de tiddler)\n* Vous pouvez ajouter et retrancher les fonctionnalités par défaut de la mise en page globale (peut-être souhaitez-vous ajouter une horloge au menu latéral, ou remplacer les boutons de contrôle de la page par les vôtres\n* Vous pouvez aussi revoir l'ordre dans lequel les fonctionnalités sont affichées (comme mettre les tags au dessus des titres des tiddlers, ou le sous-titre de votre TiddlyWiki sous les boutons de contrôles de la page)\n\nUne fois que vous saurez ce que vous faites, tout cela sera vraiment plutôt facile à réaliser.\n\n! Ajout de tiddlers sur-mesure dans l'interface utilisateur\n\nVous pouvez aussi créer tout tiddler de votre choix avec le [[TagSystème|SystemTag]] approprié, il apparaitra en son lieu et place. Par exemple, si vous créez un tiddler 'Rappel automatique', ajouter le texte 'C'est un aide-mémoire' et étiquetez le `$:/tags/EditTemplate`, la phrase 'C'est un aide-mémoire' apparaitra dans chaque tiddler lors de son édition.\n\nQuand vous afficherez de nouveaux tiddlers dans des tiddlers ou dans la mise en page générale, vous aurez probablement à les repositionner de sorte qu'ils apparaissent exactement où vous le souhaitez. Pour ce faire, modifiez le bon tiddler shadow muni du préfixe `$:/tags/`, et insérez-y le titre de votre tiddler dans le champ list, au bon endroit. Par exemple, si la phrase 'C'est un aide-mémoire', de l'exemple au-dessus, doit s'afficher au-dessus de l'éditeur de tags dans le mode édition, modifiez le tiddler $:/tags/EditTemplate, sélectionnez le champ 'list' field, et insérez `[[Rappel automatique]]` juste avant `$:/core/ui/EditTemplate/tags`. \n\n! Création de nouveaux boutons pour le [[MenuOutilVisu|ViewToolbar]] et les contrôles de page\n\nImaginons que vous ayez un tiddler squelette appelé 'Modèle Recette', et que vous souhaitiez un bouton dans le tiddler [[MenuOutilVisu|ViewToolbar]] pour créer des tiddlers 'nouvelle recette' à la demande. Cela nécessite les étapes suivantes<<:>>\n\n# Pour illustrer votre bouton, si aucune des images du noyau (tiddlers shadow préfixés par $:/core/images/ ) n'est à votre convenance, vous devrez la créer ou en obtenir une au format SVG (par exemple, une de celles de http://flaticon.com), glissez-la dans votre fichier pour la transformer en tiddler, modifiez le tiddler et ajustez sa hauteur et sa largeur à 22px\n#Passons au tiddler contenant votre tiddler. Créez-le, titrez-le et ajoutez le code du bouton (voir le code ci-dessous par exemple, en l'adaptant à vos besoins si nécessaire) Étiquetez-le par [[$:/tags/ViewToolbar]]\n#Contrôlons la visibilité de votre tiddler dans la barre d'outil par la création d'un tiddler à titrer [[$:/config/ViewToolbarButtons/Visibility/Recette]]. Saisissez `show`dans la zone texte et sauvegardez.\n#Enfin, positionnons le bouton proprement. Ouvrez le tiddler $:/tags/ViewToolbar et insérez le titre de votre tiddler bouton (cf. titre étape précédente) dans le champ field au bon endroit.\n\n```\n\\define newHereButtonTags()\n[[$(currentTiddler)$]]\n\\end\n\\define newHereButton()\n<$button class=<<tv-config-toolbar-class>>>\n<$action-sendmessage\n  $message=\"tm-new-tiddler\"\n$param=\"TITLE DE VOTRE BOUTON SQUELETTE\"\ntitle=\"New tiddler\"\n  tags=<<newHereButtonTags>> />\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{TITRE DE VOTRE TIDDLER IMAGE SVG}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text=\"CAPTION DE VOTRE BOUTON\"/></span>\n</$list>\n</$button>\n\\end\n\n<<newHereButton>>\n```\n\n! Supprimer les tiddlers shadows de l'interface utilisateur\n\nDans l'onglet 'Plus' > option 'Shadows' sont listés tous les tiddlers shadows. Dans cette liste se trouvent plusieurs tiddlers préfixés `$:/core/ui/`. Ce sont les tiddlers du noyau définissant l'interface utilisateur. Ces tiddlers sont étiquetés par des [[Tags système|SystemTags]], supprimer ou ajouter ces tags modifie la présentation de la page et des tiddlers.\n\nPar exemple, $:/core/ui/SideBar/More est le tiddler correspondant à l'onglet 'plus' du menu latéral, étiqueté par le [[Tag système|SystemTags]] `$:/tags/SideBar` de façon à apparaître dans le menu latéral. Supprimer ce tag de ce tiddler supprime le tag du menu, et lui réajouter ce tag le fera y réapparaître. \n\nVous pouvez suivre le même procédé pour tout tiddler du noyau définissant l'interface utilisateur et donc préfixé par $:/core/ui/. Ainsi encore, supprimer le [[Tag Système|SystemTags]] `$:/tags/ViewTemplate` du tiddler `$:/core/ui/ViewTemplate/subtitle` fera disparaître les sous-titres  de tous les tiddlers.\n\nModifier un tiddler shadow de cette façon remplacera la valeur par défaut. Pour réinitialiser, il suffit de supprimer le tiddler modifié pour restaurer le tiddler shadow sous-jacent.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Percent_Encoding.tid",
    "content": "created: 20150228131248000\nfr-title: Encodage PourCent (%)\nmodified: 20150624085737801\ntags: Definitions\ntitle: Percent Encoding\ntype: text/vnd.tiddlywiki\n\n<<.dlink-ex \"L'encodage ~PourCent\" \"http://en.wikipedia.org/wiki/Percent-encoding\">> est une notation qui permet d'inclure des caractères invalides dans une [[URI]].\n\nCe type de caractère est représenté par le signe `%` suivi de deux caractères additionnels.\n\nPar exemple, l'espace est représenté par `%20` et le signe pourcent est représenté ainsi `%25`.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/PermaLinks.tid",
    "content": "caption: Permaliens\ncreated: 20140502213500000\nfr-title: Permaliens\nmodified: 20220223144222832\ntags: Features Concepts\ntitle: PermaLinks\ntype: text/vnd.tiddlywiki\n\nLes permaliens sont des liens directs vers des tiddlers individuels à l'intérieur d'un TiddlyWiki.\n\n! La forme simple des permaliens\n\nLa forme la plus simple d'un permalien (<<.icon $:/core/images/permalink-button>>) vers un tiddler cible unique est son nom précédé de \"#\" accolé au lien URL de base <<:>>\n\nhttps://tiddlywiki.com/#HelloThere\n\nLe titre du tiddler peut contenir des espaces si nécessaire<<:>>\n\n[[https://tiddlywiki.com/#Using TiddlyWiki on Node.js]]\n\nRemarquez que les doubles crochets ne sont pas requis autour du titre du tiddler cible<<;>> cependant, s'ils sont présents ils seront supprimés automatiquement.\n\n(NDT<<:>> Attention en cas de traduction, le lien doit pointer vers le titre original `title` et pas vers le titre traduit affiché qui ne reflète que le contenu du champ `fr-title`)\n\n! Permaliens vers un déroulé\n\nLe permalien peut aussi spécifier la liste de tiddlers qui seront ouverts dans le déroulé en plus du tiddler cible, à l'aide d'un [[filtre|Filters]]<<:>>\n\n[[https://tiddlywiki.com/#TiddlerFields:Tiddlers TiddlerTags TiddlerFields ContentType]]\n\nSi le tiddler cible est absent de la liste, il est alors automatiquement inséré au début du déroulé. Ce qui veut dire que les exemples suivants désignent tous les deux le tiddler `Tiddlers` dans le déroulé `Tiddlers`, `Tags`, `TiddlerFields`<<:>>\n\n[[https://tiddlywiki.com/#Tiddlers:Tags TiddlerFields]]\n\n[[https://tiddlywiki.com/#Tiddlers:Tiddlers Tags TiddlerFields]]\n\nIl est aussi possible de spécifier un filtre sans spécifier de tiddler cible de navigation<<:>>\n\n<a href=\"https://tiddlywiki.com/#:[tags[task]]\" rel=\"noopener noreferrer\">~https://tiddlywiki.com/#:[tags[task]]</a>\n\n! Concernant le codage URL\n\nIl existe des restrictions techniques aux caractères autorisés dans un adressage URL. Afin de permettre à tous les titres de tiddler d'être adressés, les caractères illégaux font l'objet d'un processus appelé <<gf \"codage URL\">> où les caractères problématiques sont remplacés par leurs codes numériques. Par exemple, le caractère espace est remplacé par `%20`.\n\nAussi bien le tiddler cible que le déroulé filtre devraient être encodés (mais pas le séparateur <<gf \":\">>). <<tw>> génère des URLs encodées correctement qui peuvent paraître un peu \"moche\". Cependant, dans la pratique les navigateurs parviennent heureusement à interpréter parfaitement des caractères arbitraires dans les extraits URL. De ce fait, quand vous créez des permaliens manuellement vous pouvez choisir d'ignorer le codage URL.\n\n! Comportement de <<tw>> avec les Permaliens\n\nDeux aspects importants du comportement de <<tw>> avec les permaliens peuvent être réglés avec les options de l'onglet ''Réglages avancés'' du <<.icon $:/core/images/options-button>> $:/ControlPanel <<:>>\n\n* d'une part la mise à jour automatique de la zone d'adresse à chaque navigation, et dans ce cas s'il faut inclure la séquence du déroulé aussi bien que le tiddler cible\n* d'autre part si les mises à jour de la zone d'adresse doivent affecter l'historique du navigateur. Par défaut, c'est ''non''<<;>> mais lorsque ''oui'' est sélectionné, vous pouvez reprendre votre navigation entre les tiddlers en utilisant les boutons avancer et reculer du navigateur\n\nNotez que saisir un permalien ou s'y rendre causera toujours le traitement du permalien, ainsi que l'ouverture et la fermeture des tiddlers appropriés en fonction de son contenu.\n\n!! Détails techniques\n\nQuand <<tw>> se lance il traite les permaliens selon les étapes ci-dessous<<;>> ces même étapes sont répétées dynamiquement lors des modifications du permalien (ce qui survient en réaction à l'édition de la barre d'adresse par l'utilisateur, par exemple).\n\n# Si le permalien contient un <<gf \":\">>, traiter la chaine précédente comme la ''cible'' et la chaine qui suit comme le ''filtre du déroulé''\n# Si <<gf \":\">> est absent, traiter toute la chaine comme la ''cible'' et marquer le ''filtre du déroulé'' comme //non-spécifié//\n# Si le ''filtre du déroulé'' est //non-spécifié// pendant le processus de lancement, alors mettre une chaine vide dans le ''filtre du déroulé'' si la ''cible'' est spécifiée, ou les tiddlers par défaut si la ''cible'' n'est pas spécifiée\n# Si le ''filtre du déroulé'' est //non-spécifié// hors du processus de lancement, alors affecter le ''filtre du déroulé'' au déroulé actuel\n# Évaluer le ''filtre du déroulé'' comme ''liste du déroulé''\n# Si la ''cible'' est spécifiée et absente de la ''liste du déroulé'' alors l'ajouter au début\n# Si la ''cible'' est spécifiée alors s'y rendre, autrement naviguer au premier tiddler de la ''liste du déroulé''\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Philosophy of Tiddlers.tid",
    "content": "created: 20131128075743966\nfr-title: Philosophie des tiddlers\nmodified: 20220220004339779\ntags: Learning\ntitle: Philosophy of Tiddlers\ntype: text/vnd.tiddlywiki\n\nLorsqu'on enregistre et organise des informations, on se donne pour objectif de pouvoir les réutiliser plus tard. La valeur d'une information conservée est directement proportionnelle à la facilité avec laquelle on peut la réutiliser.\n\nLa philosophie des [[tiddlers|Tiddlers]] consiste à maximiser les possibilités de réutilisation en découpant l'information en unités sémantiques aussi petites que possible, grâce à une [[modélisation riche des relations entre elles|Structuring TiddlyWiki]]. On utilise ensuite l'agrégation et la composition pour tisser les fragments entre eux afin de construire des déroulés cohérents.\n\n<<tw>> a pour ambition de proposer une algèbre pour les tiddlers<<dp>> une manière concise d'exprimer et d'explorer les relations entre les diverses bribes d'information.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Platforms.tid",
    "content": "created: 20150412185300152\nfr-title: Plates-formes\nmodified: 20150624091626424\ntags: TableOfContents\ntitle: Platforms\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki peut être utilisé sur plusieurs plates-formes<<:>>\n\n<<list-links \"[tag[Platforms]]\">>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Plugins.tid",
    "content": "caption: Plugins\ncreated: 20140910215514237\nmodified: 20150623055132307\ntags: Concepts TableOfContents\ntitle: Plugins\ntype: text/vnd.tiddlywiki\n\n! Plugins Disponibles\n\nCes plugins sont distribués sur tiddlywiki.com comme des éléments de la distribution principale à part entière.\n\n<<list-links \"[tag[Plugins]]\">>\n\n! Qu'est-ce qu'un plugin?\n\nUn plugin, dans TiddlyWiki5, est un ensemble de tiddlers empaquetés dans un seul tiddler. Les Plugins sont utilisés pour distribuer des composants optionnels et personnalisés de TiddlyWiki.\n\nLes tiddlers d'un plugin deviennent des [[tiddlers shadow|ShadowTiddlers]].\n\nLes Plugins peuvent contenir des modules JavaScript, des feuilles de styles, et des gabarits pour étendre les fonctionnalités de TiddlyWiki lui-même. Les plugins peuvent aussi être employés pour diffuser du texte oridinaire, des images ou tout autre contenu. \nLeurs mise à jour depuis leur source les traite comme une simple unité.\n\nSe reporter au [[Mécanisme du Plugin|PluginMechanism]] pour plus de détail sur la façon dont les plugins sont implémentés en interne.\n\n! Installation d'un plugin à partir d'une bibliothèque de plugins\n\n# Faites une sauvegarde du fichier HTML TiddlyWiki ([[voir à ce propos|The First Rule of Using TiddlyWiki]])\n# Ouvrez votre TiddlyWiki dans un navigateur\n# Ouvrez le [[Panneau de contrôle|$:/ControlPanel]], cliquez sur l'onglet ''Plugins'', et à nouveau sur un nouvel onglet ''Plugins''\n# Cliquez sur le bouton ''Installez un plugin''\n# À l'affichage de la bibliothèque officielle<<:>>\n## Choisir entre ''plugins'', ''thèmes'' et ''langages''\n## Utilisez la ''recherche'' et cliquez sur le ''chevron'' d'un plugin pour obtenir des détails\n# Cliquez sur le bouton ''installez''\n# Une barre d'alerte vous propose de cliquer sur ''Sauvegarder'' puis de ''Rafraichir'' la page afin que les modifications soient prises en compte par TiddlyWiki\n# Le plugin est maintenant prêt à être utilisé\n\n! Installation manuelle d'un plugin\n\n# Faites une sauvegarde du fichier HTML TiddlyWiki ([[voir à ce propos|The First Rule of Using TiddlyWiki]])\n# Ouvrez votre TiddlyWiki dans un navigateur\n# Cherchez le lien vers le plugin, de type [[$:/plugins/tiddlywiki/exemple]]. Vous trouverez habituellement ce lien sur la page d'accueil du plugin (voir par exemple, https://tiddlywiki.com/plugins/tiddlywiki/katex/)\n# Glissez le lien de type [[$:/plugins/tiddlywiki/exemple]] vers la fenêtre du navigateur affichant votre TiddlyWiki\n# Sauvegardez votre TiddlyWiki\n# ''Rafraichir'' la page afin que les modifications soient prises en compte\n# Le plugin est maintenant prêt à être utilisé\n\n! Comment désinstaller/ supprimer un plugin\n\n# Faites une sauvegarde du fichier HTML TiddlyWiki ([[voir à ce propos|The First Rule of Using TiddlyWiki]])\n# # Ouvrez le [[Panneau de contrôle|$:/ControlPanel]], cliquez sur l'onglet ''Plugins'', et à nouveau sur un nouvel onglet ''Plugins''\n# Cliquez sur le plugin que vous voule supprimer pour ouvrir son tiddler\n# Cliquez sur l'icone d'édition, puis sur l'icone de suppression du tiddler\n# Sauvegardez votre TiddlyWiki\n# ''Rafraichir'' la page afin que les modifications soient prises en compte\n# Le plugin est maintenant désinstallé\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Preserving_open_tiddlers_at_startup.tid",
    "content": "created: 20140101192052333\nfr-title: Préserver les tiddlers ouverts au redémarrage\nmodified: 20150614152501460\ntags: [[Customise TiddlyWiki]]\ntitle: Preserving open tiddlers at startup\ntype: text/vnd.tiddlywiki\n\nOrdinairement, le lancement de TiddlyWiki affiche les tiddlers spécifiés par le filtre du tiddler [[$:/DefaultTiddlers]].\n\nQuelquefois il est utile de réouvrir les mêmes tiddlers ouverts au moment de la sauvegarde du fichier. Pour cela, régler [[$:/DefaultTiddlers]] à ce filtre<<:>>\n\n```\n[list[$:/StoryList]]\n```\n\nCe filtre renvoie les filtres spécifiés dans le tiddler [[$:/StoryList]], le tiddler système que TiddlyWiki utilise pour mémoriser la suite de tiddlers du déroulé actuel.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Quine.tid",
    "content": "caption: Quine\ncreated: 20150623080048791\nmodified: 20150623080948454\ntags: Definitions\ntitle: Quine\ntype: text/vnd.tiddlywiki\n\nUne [[Quine|http://fr.wikipedia.org/wiki/Quine_(computing)]] est un programme d'ordinateur qui se programme lui-même.\n\nTiddlyWiki est un exemple inhabituel de quine<<:>> c'est lié à la capacité de son noyau à produire une copie de son propre code source pour sauver indépendamment ses propres modifications."
  },
  {
    "path": "editions/fr-FR/tiddlers/Railroad_Plugin.tid",
    "content": "created: 20150615070041946\nfr-title: Plugin Railroad\nmodified: 20150615070041946\ntags: Plugins\ntitle: Railroad Plugin\ntype: text/vnd.tiddlywiki\n\n{{$:/plugins/tiddlywiki/railroad/readme}}\n\n{{$:/plugins/tiddlywiki/railroad/syntax}}"
  },
  {
    "path": "editions/fr-FR/tiddlers/ReadMe.tid",
    "content": "created: 20131129094758194\nmodified: 20141012191051894\ntitle: ReadMe\ntype: text/vnd.tiddlywiki\n\n\\define tv-wikilink-template() https://tiddlywiki.com/static/$uri_doubleencoded$.html\n\n<$importvariables filter={{$:/core/config/GlobalImportFilter}}>\n\nBienvenue sur <<tw>>, un carnet de notes personnel web et non-linéaire que tout le monde peut utiliser et conserver, sans dépendre d'une quelconque entreprise.\n\n<<tw>> est un wiki interactif en JavaScript. Il peut être utilisé dans le navigateur sous forme de fichier HTML autonome ou comme une puissante application Node.js. Il est extrêmement personnalisable : l'interface utilisateur dans son intégralité est elle-même implémentée en WikiText recomposable à volonté.\n\nPlus d'informations et démonstrations sur https://tiddlywiki.com\n\n! Installation de <<tw>> sur Node.js\n\n{{Installing TiddlyWiki on Node.js}}\n\n! Utilisation de <<tw>> sur Node.js\n\n{{Using TiddlyWiki on Node.js}}\n\n! Mise à niveau de <<tw>> sur Node.js\n\n{{Upgrading TiddlyWiki on Node.js}}\n\n! Voir aussi\n\n<<list-links \"[tag[TiddlyWiki on Node.js]] -[[Installing TiddlyWiki on Node.js]] -[[Using TiddlyWiki on Node.js]] -[[Upgrading TiddlyWiki on Node.js]]\">>\n\n//Ce fichier readme a été généré automatiquement par <<tw>>//\n\n</$importvariables>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/ReadMeBinFolder.tid",
    "content": "created: 20140908150853120\nmodified: 20140908150853120\ntitle: ReadMeBinFolder\ntype: text/vnd.tiddlywiki\n\n\\define tv-wikilink-template() https://tiddlywiki.com/static/$uri_doubleencoded$.html\n{{Scripts for TiddlyWiki on Node.js}}\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Reference.tid",
    "content": "caption: Référence\ncreated: 20140910212931897\nlist: Concepts Definitions WikiText Macros Widgets Filters Messages Commands Mechanisms\nmodified: 20141115215625622\ntags: TableOfContents\ntitle: Reference\ntype: text/vnd.tiddlywiki\n\nLes sujets suivants fournissent la documentation de référence officielle pour TiddlyWiki<<dp>>\n\n<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'Reference'>>\n\n</div>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Reference_Tiddlers.tid",
    "content": "created: 20141226192500000\nfr-title: Tiddlers de référence\nmodified: 20150624094247677\ntags: [[Improving TiddlyWiki Documentation]]\ntitle: Reference Tiddlers\ntype: text/vnd.tiddlywiki\n\nLes <<.def \"Tiddlers référents\">> proposent une information sobre d'une façon compréhensible et interconnectée. Le lecteur peut être, aussi bien, un utilisateur moyen ou un expert.\n\nIl existe plusieurs subdivisions<<:>>\n\n;Concepts\n* Définitions, dont l'ensemble forme un glossaire\n\n;Manuel utilisateur\n* Présente les détails techniques des fonctionnalités ~WikiTexte\n* Subdivisions<<:>> messages, opérateurs, widgets, etc\n\n;Manuel dévelopeur\n* Présente les détails techniques de l'architecture interne de ~TiddlyWiki\n\nLe matériel de référence est rédigé à la troisième personne, un style formel qui évite de s'adresser au lecteur, pour se focaliser sur la façon dont se comporte ~TiddlyWiki lui-même. La voix passive est souvent appropriée<<:>>\n\n* <<.word \"Le gabarit spécifié via un tiddler\">> plutôt que <<.word \"spécifiez le gabarit via un tiddler\">>\n* <<.word \"Le widget peut être employé à divers usages\">> plutôt que <<.word \"vous pouvez employer le the widget à divers usages\">>\n* Mais <<.word \"Ce widget offre plusieurs utilisation possibles\">> est meilleur, car moins alambiqué et plus succinct\n\nLes double négations, les négations contractées et les expressions pouvant conduire à ignorer une négation ou à faire un contresens accidentel par omission doivent être évitées dans les tiddlers référents."
  },
  {
    "path": "editions/fr-FR/tiddlers/Release 5.1.2.tid",
    "content": "caption: 5.1.2\ncreated: 20140922124011558\nmodified: 20141006075221929\nreleased: 20140927162659979\ntags: ReleaseNotes\ntitle: Release 5.1.2\nfr-title: Version 5.1.2\ntype: text/vnd.tiddlywiki\n\n//[[Voir GitHub pour un historique détaillé des modifications apportées par de cette version|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.1.1...v5.1.2]]//\n\nUne nouvelle version mineure avec des mises à jour de la documentation, quelques corrections de bugs, et quelques améliorations.\n\n!! Améliorations d'usage\n\n* [[Amélioration|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b3df07ae3e190cfb6fc23dbe31c6229fe5e39087]] de la gestion des erreurs liées au [[plugin KaTeX|KaTeX Plugin]] pour les cas où le contenu <<latex>> est malformé ou non reconnu.\n\n!! Améliorations pour les bricoleurs\n\n* [[Amélioration|https://github.com/TiddlyWiki/TiddlyWiki5/commit/42abef6fbf79342ccbd90b142d48f64ab5c1c38a]] du style du séparateur avant l'article //sans étiquette// dans la liste des tags de la barre latérale\n* [[Amélioration|https://github.com/TiddlyWiki/TiddlyWiki5/commit/23c2d90ee8e28f8c68f9ba58fcbc13a56f838d61]] de la gestion d'erreur lors pour l'enregistreur de type //dépôt// (qui est utilisé pour enregistrer vers TiddlySpot)\n* [[Amélioration|https://github.com/TiddlyWiki/TiddlyWiki5/commit/115245a632e80e9d033957327dfec909a3cd1fc8]] de la détection d'erreurs dans la vue sur le déroulé\n\n!! Correction d'erreurs\n\n* [[Correction|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b1fb0a2a070a6abc78564e56fdb4244076ac44ac]] des crashs causé par des plugins mal formatés\n* [[Correction|https://github.com/TiddlyWiki/TiddlyWiki5/commit/eacb9e53ebf2a814d61bf005d68f449f7b9e63b5]] d'un problème faisant que les informations sur un tiddler n'étaient pas supprimées par le plugin de synchronisation après la suppression d'un tiddler\n* [[Correction|https://github.com/TiddlyWiki/TiddlyWiki5/commit/e2046ce4ffb6b8232a4ad5e7f51c431798917787]] de la gestion HTTP pour considérer le code de réponse 201 comme un succès.\n\n!! Contributeurs\n\n[[@Jermolene|https://github.com/Jermolene]] aimerait remercier les contributeurs de cette version, qui ont généreusement donné de leur temps pour aider à améliorer <<tw>><<dp>>\n\n* [[@Evolena|https://github.com/Evolena]]\n* [[@pmario|https://github.com/pmario]]\n* [[@simonbaird|https://github.com/simonbaird]]\n* [[@TheDiveO|https://github.com/TheDiveO]]\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/ReleaseTemplate.tid",
    "content": "created: 20141115211411211\ntitle: ReleaseTemplate\ncode-body: yes\ntype: text/vnd.tiddlywiki\n\n<h2><$link to=<<currentTab>>><$view tiddler=<<currentTab>> field=\"title\"/></$link></h2>\n\n^^Released <$view tiddler=<<currentTab>> field=\"released\" format=\"date\" template=\"DDth MMM YYYY at 0hh:0mm\">TBA</$view>^^\n\n<$transclude tiddler=<<currentTab>> />\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Release_5.1.8.tid",
    "content": "caption: 5.1.8\ncreated: 20150417163307227\nfr-title: Version 5.1.8\nmodified: 20150621141419790\nreleased: 2015041716307227\ntags: ReleaseNotes\ntitle: Release 5.1.8\ntype: text/vnd.tiddlywiki\n\n//[[Rendez-vous sur GitHub pour l'historique détaillé des évolutions de cette version|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.1.7...v5.1.8]]//\n\nCette version intègre plusieurs améliorations à la documentation de TiddlyWiki. Tous mes remerciements à tous ceux qui y ont contribué, et spécialement à notre prodigieux nouveau contributeur Astrid Elocson.\n\n!! Améliorations linguistiques\n\n* Amélioration des traductions Française, Danoise, Chinoise et Japonaise\n* [[Ajout|https://github.com/TiddlyWiki/TiddlyWiki5/commit/cb8caf6a01aeeac480bf28661888961657b0dbd8]] de la traduction Tchèque\n* [[Ajout|https://github.com/TiddlyWiki/TiddlyWiki5/commit/d6918d737f5d1b663346ad9a35421a5ae0ffb9a7]]  de la traduction [[Interlingua|http://en.wikipedia.org/wiki/Interlingua]]\n* [[Ajout|https://github.com/TiddlyWiki/TiddlyWiki5/commit/6721a5eb1b77935226ccc8559008af3a0a05d0cb]]  de la traduction Portugaise\n* [[Ajout|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b845751d3c549366adb2f6e5c58b0114fa95ba30]] de la traduction Indou et Punjabe\n* [[Ajout|https://github.com/TiddlyWiki/TiddlyWiki5/commit/49a9a2c44ca3a71fff3062709f06940aaca4a574]]  de la traduction Slovaque\n* [[Ajout|https://github.com/TiddlyWiki/TiddlyWiki5/commit/5d947ed582fb9d68c01d82a334ab75498a8724ef]] de la traduction Espagnole\n* [[Ajout|https://github.com/TiddlyWiki/TiddlyWiki5/commit/2c367c5476da70ce9c2b37838febcdf437b9aca4]] localisation de l'invite de cryptage\n\n!! Améliorations ergonomiques\n\n* [[Ajoute|https://github.com/TiddlyWiki/TiddlyWiki5/commit/987bfcfd5b49b992e5fd45f3428497f6f55cae53]] une d'interface utilisateur pour [[régler l'image d'arrière plan|Setting a page background image]]\n* [[Corrige|https://github.com/TiddlyWiki/TiddlyWiki5/commit/3df341621d30b205775288e324cef137c48e9f6e]] un problème avec un défilement inutile au démarrage\n* [[Actualise|https://github.com/TiddlyWiki/TiddlyWiki5/commit/ae001a19e5b3e43cf5388fd4e8d99788085649fe]] le [[Plugin KaTeX|KaTeX Plugin]] vers le [[KaTeX v0.2.0|https://github.com/Khan/KaTeX/releases/tag/v0.2.0]], pour un meilleur support des symboles\n* [[Ajoute|https://github.com/TiddlyWiki/TiddlyWiki5/commit/70e419824fab107aab58f87780dbb5a1de70c248]] l'affichage d'un panneau d'aide flottant au [[Plugin Help|$:/plugins/tiddlywiki/help]]\n* [[Ajoute|https://github.com/TiddlyWiki/TiddlyWiki5/commit/8643278a452d1a300cec8d3425c1b18699a17dca]] le support d'une bibliothèque de plugins en ligne\n* [[Ajoute|https://github.com/TiddlyWiki/TiddlyWiki5/commit/ea6e60e66983ee1184f09c5796ef6c8bceae703a]] la sélection automatique de la zone de recherche au démarrage\n* [[Intègre|https://github.com/TiddlyWiki/TiddlyWiki5/commit/4f3cb8b9aebfc4f65f40c96ef99730887d746b41]] le [[Plugin Railroad|Railroad Plugin]] par Astrid Elocson (le voir en action dans la nouvelle documentation de la [[Syntaxe des filtres|Filter Syntax]])\n* [[Migre|https://github.com/TiddlyWiki/TiddlyWiki5/commit/230066eeae9ace8336612e02c78f8cdaa3f717e4]] la fonctionnalité \"Titres Stickés\", par un réglage optionnel, des thèmes \"Vanilla\"/\"Snow White\". Ainsi les titres des tiddlers collent au haut de la fenêtre pendant le défilement pour les navigateurs qui l'acceptent `position: sticky` (comme Safari et Firefox)\n* [[Ajoute|https://github.com/TiddlyWiki/TiddlyWiki5/commit/8cb7090c40489c81e8c5dfb8cbbdee2c60998c3e]] des icones à [[RechercheAvancée|$:/AdvancedSearch]], [[PanneauDeContrôle|$:/ControlPanel]] et [[GestionDesÉtiquettes|$:/TagManager]]\n* [[Change|https://github.com/TiddlyWiki/TiddlyWiki5/commit/21b6ce71ffc617f61d4da0065a3ee695be535e2a]] le libellé du bouton du tiddler \"save\" pour \"confirm\"\n* [[Ajoute|https://github.com/TiddlyWiki/TiddlyWiki5/issues/1103]] la liaison automatique à des tiddlers système tels que $:/ControlPanel\n* [[Améliore|https://github.com/TiddlyWiki/TiddlyWiki5/commit/9c7936413a8c50817044eb409661a575f7f97563]] le déroulé des listes de titres correspondant à l'étiquette\n* [[Ajoute|https://github.com/TiddlyWiki/TiddlyWiki5/commit/aae56f20af35e7be6f3839a8c727e3f43174efe9]] une bannière avertissant l'utilisateur quand la modification de plugins demande la réactualisation de la page\n* [[Ajoute|https://github.com/TiddlyWiki/TiddlyWiki5/commit/0bd2ec50e1514ef247182816f9f9e421f52f67bb]] une première passe à la vue du déroulé \"empilé\"\n* [[Change|https://github.com/TiddlyWiki/TiddlyWiki5/commit/421ac16389cf07e8c00611ef5a858da0b89f7584]] les entêtes et pieds de page modaux afin d'être analysés par défaut dans le mode enligne (en évitant les balises `<p>` inutiles)\n\n!! Améliorations Technologiques\n\n* [[Ajoute|https://github.com/TiddlyWiki/TiddlyWiki5/commit/d340277cb219ffebd212fbf409e8ea804121d105]] la [[Macro ResolvePath|resolvepath Macro]]\n* [[Ajoute|https://github.com/TiddlyWiki/TiddlyWiki5/commit/718ce3e4aa04f7af5e9310f90d3415c0d82bee6f]] l'attribut ''class'' au CheckboxWidget\n* [[Ajoute|https://github.com/TiddlyWiki/TiddlyWiki5/commit/bb10e2b02900ece4701c44c3a7e7c03304e813b7]] le support d'affichage de message spécial si le déroulé principal est vide\n* [[Améliore|https://github.com/TiddlyWiki/TiddlyWiki5/commit/6e0c7d90221771ae384d620984f08a2090c500dc]] le rendu des polices sous Mac OS X\n* [[Ajoute|https://github.com/TiddlyWiki/TiddlyWiki5/commit/a2493f80a973b24ad3d3affda945c437b98c2d2e]] le support d'inclusion des fichiers ZIP\n* [[Ajoute|https://github.com/TiddlyWiki/TiddlyWiki5/commit/1808b1597e5a61379e4e5381d6d78bb73fa3a523]] le support d'éléments personnalisés par le RevealWidget\n* [[Ajoute|https://github.com/TiddlyWiki/TiddlyWiki5/commit/bd6472c1d10bc86eaf1b317c35b86f84086ee3c8]] l'attribut ''style'' au RevealWidget\n* [[Corrige|https://github.com/TiddlyWiki/TiddlyWiki5/commit/0b4ed3c72de16148ffe62abf1c5c06f2d2ce47f1]] l'utilisation de palette de couleurs dans les entrées de texte\n* Plusieurs nouveaux [[icones au noyau|ImageGallery Example]]: <span style=\"fill:#aaa;\"><span title=\"$:/core/images/github\">{{$:/core/images/github}}</span> <span title=\"$:/core/images/help\">{{$:/core/images/help}}</span> <span title=\"$:/core/images/mail\">{{$:/core/images/mail}}</span> <span title=\"$:/core/images/tip\">{{$:/core/images/tip}}</span> <span title=\"$:/core/images/warning\">{{$:/core/images/warning}}</span> <span title=\"$:/core/images/twitter\">{{$:/core/images/twitter}}</span> <span title=\"$:/core/images/video\">{{$:/core/images/video}}</span> <span title=\"$:/core/images/up-arrow\">{{$:/core/images/up-arrow}}</span> <span title=\"$:/core/images/left-arrow\">{{$:/core/images/left-arrow}}</span></span>\n\n!! Corrections de Bogues\n\n* [[Corrige|https://github.com/TiddlyWiki/TiddlyWiki5/pull/1520]] les opérateurs [[sameday|sameday Operator]] et [[eachday|eachday Operator]] pour accepter les chaines de date TW5\n* [[Corrige|https://github.com/TiddlyWiki/TiddlyWiki5/pull/1249]] les tests de compatibilité des numéros de version pour lesplugins\n* [[Corrige|https://github.com/TiddlyWiki/TiddlyWiki5/commit/1adfe20508116da0ee4b5c9e72ea9742f24b60c9]] un problème avec l'annulation répétée d'une ébauche\n* [[Améliore|https://github.com/TiddlyWiki/TiddlyWiki5/commit/050b643948e24d1d93a83766a23a0d693616d01e]] la mise au bacasable des éléments `<iframe>` générés\n* [[Corrige|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b166632bbb76a7a033cd8fc3af14e5dadddfc631]] un problème avec le mode arrière plan sur Firefox\n* [[Corrige|https://github.com/TiddlyWiki/TiddlyWiki5/commit/1b87d9134bd0b45be671eebfdcac1d7acadcecf4]] un problème de glissé accidentel d'un tiddler dans sa fenêtre originale\n* [[Corrige|https://github.com/TiddlyWiki/TiddlyWiki5/commit/c9ab873ba393753647f2b0b3b3aa1a8bcf6b1c28]] un problème avec le glissé de certains plugins avec Safari\n* [[Corrige en partie|https://github.com/TiddlyWiki/TiddlyWiki5/commit/2f8837a44508687223c4d78e718cf82a9b35c97b]] un problème avec les icones SVG coupées d'1 pixel sur la droite et en bas\n* [[Corrige|https://github.com/TiddlyWiki/TiddlyWiki5/commit/f3ed9bf7e4936dd9bbe3e237673828bbe89326f9]] un problème avec les doubles cotes dans la valeur d'un nouveau champ\n\n!! Modification de Node.js\n\n//Ces modifications affectent seulement les utilisateurs de TiddlyWiki sous Node.js//\n\n* [[Corrige|https://github.com/TiddlyWiki/TiddlyWiki5/commit/cc85368fd48f1e5878018a4e00b6c17d436e67a9]] le [[Plugin Highlight|Highlight Plugin]] pour fonctionner pendant la génération de fichiers statiques sous Node.js\n* [[Corrige|https://github.com/TiddlyWiki/TiddlyWiki5/commit/c296f14210545374124df5d4ae9ffb402ed73561]] un problème avec l'insensibilité à la casse sous certains systèmes (par exemple, Windows)\n* [[Ajoute|https://github.com/TiddlyWiki/TiddlyWiki5/pull/1354]] un metada mobile aux gabarits de pages statiques\n* [[Ajoute|https://github.com/TiddlyWiki/TiddlyWiki5/pull/1352]] un paramètre \"noclean\"  au RenderTiddlersCommand\n* [[Ajoute|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b768dc332b2d5d7ac1f731953cafb5fd1b30dad9]] les opérateurs [[editions|editions Operator]] et [[editiondescription|editiondescription Operator]] pour énumérer les éditions disponibles\n\n!! Contributeurs\n\n[[@Jermolene|https://github.com/Jermolene]] tient à remercier tous les contributeurs de cette version qui ont généreusement donné de leur temps pour aider à l'amélioration de TiddlyWiki:\n\n* [[@aelocson|https://github.com/aelocson]]\n* [[@andreasabeck|https://github.com/andreasabeck]]\n* [[@alexhough|https://github.com/alexhough]]\n* [[@Arlen22|https://github.com/Arlen22]]\n* [[@BramChen|https://github.com/BramChen]]\n* [[@danielo515|https://github.com/danielo515]]\n* [[@dpdannemiller|https://github.com/dpdannemiller]]\n* [[@Drakor|https://github.com/Drakor]]\n* [[@evgeniy-gryaznov|https://github.com/evgeniy-gryaznov]]\n* [[@felixhayashi|https://github.com/felixhayashi]]\n* [[@gernert|https://github.com/gernert]]\n* [[@Infurnoape|https://github.com/Infurnoape]]\n* [[@Jc-L|https://github.com/Jc-L]]\n* [[@le-pako|https://github.com/le-pako]]\n* [[@Mathobal|https://github.com/Mathobal]]\n* [[@ng110|https://github.com/ng110]]\n* [[@pmario|https://github.com/pmario]]\n* [[@reflectionist|https://github.com/reflectionist]]\n* [[@roma0104|https://github.com/roma0104]]\n* [[@simonbaird|https://github.com/simonbaird]]\n* [[@Spangenhelm|https://github.com/Spangenhelm]]\n* [[@sukima|https://github.com/sukima]]\n* [[@tobibeer|https://github.com/tobibeer]]\n* [[@twMat|https://github.com/twMat]]\n* [[@welford|https://github.com/welford]]\n* [[@xcazin|https://github.com/xcazin]]\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Releases.tid",
    "content": "created: 20150419144523070\nfr-title: Versions\nmodified: 20150531191133892\ntags: About\ntitle: Releases\ntype: text/vnd.tiddlywiki\n\n<<tabs \"[[TiddlyWiki Releases]] [[TiddlyDesktop Releases]]\" \"TiddlyWiki Releases\" \"$:/state/tab\">>"
  },
  {
    "path": "editions/fr-FR/tiddlers/ReportingBugs.tid",
    "content": "created: 20140604204709181\nfr-title: Signaler les bogues\nmodified: 20150621191807096\ntags: Community\ntitle: ReportingBugs\ntype: text/vnd.tiddlywiki\n\nVous pouvez signaler les bogues et les problèmes rencontrés avec TiddlyWiki sur nos [[groupes de discussions|Forums]]. Si vous avez un compte GitHub vous pouvez aussi le faire là<<:>>\n\nhttps://github.com/TiddlyWiki/TiddlyWiki5/issues/new\n\nÀ moins que vous ne soyez un familier de GitHub, nos forums restent, en général, la façon la plus simple de faire part d'un problème.\n\n! TiddlyWiki sur GitHub\n\nNous utilisons le processus de questions sur GitHub pour gérer les rapports de bugs et demandes de fonctionnalités pour TiddlyWiki. Pour maintenir leur efficacité nous nous efforçons d'avoir aussi peu de questions en suspens que possible.\n\n!! Politique de gestion des questions\n\nLes questions en suspens se traduisent généralement<<:>> soit par un rapport de bogue reproductible, soit par une demande de fonctionnalité spécifique. Du point de vue des développeurs du noyau, la liste des questions se présente comme une liste de tâches partagée. Chaque élément de la liste demande un peu d'attention à chaque fois que nous vérifions la liste.\n\nLes questionnements GitHub ne sont pas très efficaces pour gérer les idées qui ne sont pas réalisables immédiatement. Mieux vaut utiliser les  [[forum TiddlyWiki |Forums]] pour les questions ouvertes, ou les discussions spéculatives sur de nouvelles fonctionnalités.\n\n!! Soumettre une question\n\nAvant de soumettre une question sur GitHub, il est de bon ton de chercher dans les questions existantes pour déterminer si le problème n'aurait pas déjà été posé. Si la recherche ne vous semble pas pratique, ne vous inquiétez pas trop<<;>> Avec GitHub, il est facile de fusionner les questions existantes.\n\nLorsque vous devez soumettre un problème, gardez en mémoire que nous avons besoin du plus d'informations possibles pour une résolution efficace. Au minimum, veuillez essayer d'inclure<<:>>\n\n* Un titre descriptif\n* Un résumé\n* Étapes à reproduire\n* Comportement attendu\n* Contexte (OS, Navigateur, etc.)\n\nPensez également à ajouter des captures d'écran si cela peut rendre les choses plus claires.\n\nIl y a beaucoup de bon matériel sur le web au sujet du signalement des bogues<<:>>\n\n* http://mhay68.tumblr.com/post/1648223018/what-makes-a-good-bug-report\n* [[http://www.chiark.greenend.org.uk/~sgtatham/bugs.html]]\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Resources.tid",
    "content": "caption: Ressources\ncreated: 20140320230543190\nmodified: 20160603043905955\ntags: Community\ntitle: Resources\ntype: text/vnd.tiddlywiki\n\nVoici quelques sites contenant des ressources créées par la [[communauté|Community]] ~TiddlyWiki, pour vous aider à tirer le meilleur de ~TiddlyWiki : plugins, macros etc. N'hésitez pas à proposer de nouvelles ressources via GitHub, Twitter ou en postant sur les [[groupes de discussion TiddlyWiki|Forums]].\n\n<div class=\"tc-link-info\">\n\n<$list filter='[tag[Resources]!sort[modified]]'>\n\n<div class=\"tc-link-info-item\">\n\n! <$link><$view field=\"caption\"><$view field=\"title\"/></$view></$link>\n\n!!! <a href={{!!url}} target=\"_blank\"><$text text={{!!url}}/></a>\n\n<div class=\"tc-subtitle\">Posted <$view field=\"modified\" format=\"relativedate\"/></div>\n\n<$transclude/>\n\n</div>\n\n</$list>\n\n</div>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/RevealWidget.tid",
    "content": "caption: reveal\ncreated: 20131024141900000\ncreator: 127.0.0.1\nmodified: 20150125180643053\nmodifier: 127.0.0.1\ntags: Widgets\ntitle: RevealWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nThe reveal widget hides or shows its content depending upon the value of a [[state tiddler|StateTiddlers]]. The type of the widget determines the condition for the content being displayed:\n\n* type=''match'': the content is displayed if the state tiddler matches a specified value\n* type=''nomatch'': the content is displayed if the state tiddler doesn't match a specified value\n* type=''popup'': the content is displayed as a popup as described in the PopupMechanism\n\n! Content and Attributes\n\nThe content of the `<$reveal>` widget is displayed according to the rules given above.\n\n|!Attribute |!Description |\n|state |The title of the tiddler containing the state |\n|type |The type of matching performed: ''match'', ''nomatch'' or ''popup'' |\n|text |The text to match when the type is ''match'' and ''nomatch'' |\n|position |The position used for the popup when the type is ''popup''. Can be ''left'', ''above'', ''aboveright'', ''right'', ''belowleft'' or ''below'' |\n|default |Default value to use when the state tiddler is missing |\n|animate |Set to \"yes\" to animate opening and closure (defaults to \"no\") |\n|retain |Set to \"yes\" to force the content to be retained even when hidden (defaults to \"no\")|\n\nRetaining the content when hidden can give poor performance since the hidden content requires refresh processing even though it is not displayed. On the other hand, the content can be revealed much more quickly. Note that setting ''animate=\"yes\"'' will also force ''retain=\"yes\"''.\n\n! Examples\n\n!! Simple content reveal\n\nHere's a simple example of showing and hiding content with buttons:\n\n<<wikitext-example-without-html '<$button set=\"$:/state/SampleReveal1\" setTo=\"show\">Show me</$button>\n<$button set=\"$:/state/SampleReveal1\" setTo=\"hide\">Hide me</$button>\n\n<$reveal type=\"match\" state=\"$:/state/SampleReveal1\" text=\"show\">\n\n! This is the revealed content\nAnd this is some text\n\n</$reveal>'>>\n\n!! \"Slider\"\n\nA slider appears as a single button that can be used to toggle the display of the contained content.\n\n<<wikitext-example-without-html '<$reveal type=\"nomatch\" state=\"$:/state/SampleReveal2\" text=\"show\" animate=\"yes\">\n\n<$button set=\"$:/state/SampleReveal2\" setTo=\"show\">Show me</$button>\n\n</$reveal>\n<$reveal type=\"match\" state=\"$:/state/SampleReveal2\" text=\"show\" animate=\"yes\">\n\n<$button set=\"$:/state/SampleReveal2\" setTo=\"hide\">Hide me</$button>\n\n! This is the revealed content\nAnd this is some text\n\n</$reveal>'>>\n\n!! Popup\n\nHere is a simple example of a popup built with the RevealWidget:\n\n<<wikitext-example-without-html '<$button popup=\"$:/SamplePopupState\">Pop me up!</$button>\n\n<$reveal type=\"popup\" state=\"$:/SamplePopupState\">\n<div class=\"tc-drop-down\">\n\n! This is the popup\nAnd this is some text\n\n</div>\n</$reveal>'>>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/RoadMap.tid",
    "content": "created: 20130823203800000\nfr-title: Feuille de route\nmodified: 20150531191057009\ntags: About\ntitle: RoadMap\ntype: text/vnd.tiddlywiki\n\nMême si <<tw>> n'est plus en version béta, il y a plusieurs évolutions de prévues pour les mois à venir&nbsp;:\n\n* Remédier aux vestiges de TiddlyWikiClassic\n* Un format de fichier <<tw>> (pour éviter les noms d'attributs illégaux)\n* Des Alias (titres alternatifs pour les tiddlers)\n* Chercher et remplacer\n* Prise en compte du renommage d'un Tiddler\n* Infobulles étendues, incorporant une prévisualisation\n* Augmenter les raccourcis clavier\n* Accès au clavier étendu dans l'éditeur de texte\n* Éditeur de liste par glisser-déposer\n* Recherche sélective selon les titres, les contenus ou les champs\n* Notation Mathématiques\n\nSe reporter aussi à la liste des problèmes sur GitHub&nbsp;: https://github.com/TiddlyWiki/TiddlyWiki5\n\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/SafeMode.tid",
    "content": "created: 20140419082845576\nfr-title: Mode Sans Échec\nmodified: 20150617072959172\ntags: Features\ntitle: SafeMode\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nLe Mode Sans Échec permet de désactiver la plupart des personnalisations de <<tw>>. Il est nécessaire car certaines personnalisations incorrectes de  <<tw>> peuvent le rendre inutilisable. Dans un cas particulier, certaines personnalisations  échouaient lors du passage à une nouvelle version du noyau de <<tw>> (notamment lors de la version beta).\n\n! Activer le Mode Sans Échec\n\nLe Mode Sans Échec est activé en faisant précéder le lien URL de <<tw>> dans le navigateur par la chaine `#:safe`. Par exemple&nbsp;:\n\nhttps://tiddlywiki.com/#:safe\n\n! Comment fonctionne le Mode Sans Échec\n\nLe Mode Sans Échec déclenche 2 modifications&nbsp;:\n\n* Tous les plugins sont momentanément désactivés. Vous pouvez alors utiliser le control panel pour désactiver des plugins.\n* Les tiddlers qui modifient les tiddlers shadows sont renommés avec le préfixe `SAFE: `, ce qui a pour effet de restaurer les tiddlers shadows sous-jacents.\n\nUn tiddler rapport est affiché pour vous permettre d'examiner les tiddlers renommés.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Sainte_Anastasie.png.tid",
    "content": "created: 20150531165200889\nmodified: 20150531190228864\nsource: https://flic.kr/p/6g7bvZ\ntitle: Sainte Anastasie.png\ntype: image/png\n\niVBORw0KGgoAAAANSUhEUgAAAHgAAAChCAYAAAAMVXs1AAAAAXNSR0IArs4c6QAAAAlwSFlzAAAXEgAAFxIBZ5/SUgAAABl0RVh0U29mdHdhcmUATWljcm9zb2Z0IE9mZmljZX/tNXEAAFbgSURBVHhe3d0FtG5V1f/xR8Xu7u7u7kQUAxUDCxEdiKSCQ8WBgmIhqCgGKBYYYGN3d3d3d3f8/5/18j1jc95zT91z7z333WM844m991pzzd+sNddc+9nmP//5z39n/4eOU5ziFCcbzX//+z/D6/e//OUvs1Oe8pSzU5/61DOfz3CGM4xzveazovu3VhZts7USPp/uAPz/AjsA/Mc//jH75z//OTv96U8/++tf/zrbZpttZt/4xjdmX//612eXuMQlZpe97GVn//rXv0Yzf/zjH8frD3/4w+yMZzzj7LznPe/sN7/5zeysZz3rEIAEZGsE+/8MwH//+98HQD/84Q8HoJe73OUGyH733fHrX/96drrTnW72i1/8YgAJZPc4fvCDH8zOcY5zDAEgIJ/97GdnpzrVqWa3v/3tZ//+97/H6zSnOc24dmsCeqsGOK3985//PPvoRz86O/OZzzzA/NWvfjW74AUvODv/+c8/APzZz342APUbrf3ud787++UvfzkA/clPfjK70pWuNLv4xS8+wKfJv/3tb2dXvOIVh4D86U9/mtNibQGdVZia/fVsBbcqgAE69amY/5WvfGV2nvOcZ2jXT3/609l1rnOd2TnPec4BDk0F6FnOcpZxn89nOtOZZpe+9KVnf/vb3wZYF73oRcfv5zvf+WYE5exnP/v4/dznPvcAl1lnDZhqWgx8fdHy+f5+PQK9VQAcI4GWmQTGu9/97jnA+F4gvv/9759d4xrXGJrsvrOd7WwDwN///vcDHForwKKpgKf5tNt1pz3taYffdZ7/1h+t/93vfjfuZxGAr6+CtLR5PYKLpnUNcMAC5tvf/vbwr8wpBjOX/CttFA0DR3BEoz/84Q/Prne9643v+Uza7R4aeYUrXGFo8Dvf+c7ha1kA5l3wRUj4an3R3Mtc5jIDaNfTftfRZN9p8XoPwNYtwIH7rW99a/bGN75xaA8f+fOf/3xoJ82iPV/60peG9l372tcegZIDELST7+Vr3ffBD35wAMPnMt3uITRMsjaB6n7C5LuXey5wgQsM4dHfJS95ydm5znWuIVjM9+Uvf/nRJlovdKELrcvga10CjGHM6he/+MUB4HWve90RBGEsDbzyla88zgP1q1/96mAyMJ2nWcAAFrMKYEEXcJhaWuy7e1772tfObnSjGw2rQGMJE2vwox/9aPwO/E984hOjrR122GH2yU9+cliPa17zmsPff+c735ld9apXHW3RZsKw3iLsdQdw4AKDFjGzN7zhDYcp/fSnPz276U1vOoCiVUxnkfOPf/zjcT1BYLZNdwAg4Mrvfv/73x/t0VICwlTTZNbhYx/72LAMvnun3cx8wRafzO/rg5++4x3vOPvUpz41O/zww2c3uclNhnlfj+Z6XQFM+iUYaAnNAx4QHMysAAeTncdwjGZuXfO9731vaBBGFwV//OMfH/dlZmkaDWZeXXO1q11tXH/ssceO9miqgAuwQPcd4Ne61rVm733ve8c5gqFPfp7AERrvn/vc5wbot73tbUdSZTnz5emsYFMFaesG4AbLrDK3GE5bHV/+8pfHC9PLOgGfNtFW/pN55pOZSgCY9tzlLncZzAc0TeaXtaMPoPvOxJsC+UxwROCup/UXu9jFZt/85jeHRu+7776zr33ta8MqoOFtb3vb8OeEjLZr833ve9947bLLLkPojCnzvRCAhGW5wrBaAVg3AGMukJhfPhQgDszkB5lk0a5rnPeSsMBAAQ5GM9OYBgQM9xlQtO3Nb37z0EZAapMP5c9pM1D5W9pt+nOPe9xj+FL+mCDx65///OdHH8D27lrCxV8L6vRnTv2FL3xhdvTRR48MmGQJoVxIm4FPQLkLwVoR+WqB3NB96wZgBAKEycRUJhST3/Wudw3mYQLmMpOEANNpSaYV8LQBuO71XZBGMADvPlqNsd5pOy1mLfxG64FOiAiCz7Tdtcw84IBA2wM/nzydPxNUpp3JJkAXuchFZre5zW3G/B2tzvusDRH5Zz7zmUGb2GFTBGjrBmADBwxwOwRWzO8NbnCD4ZuZU1oiUKJdmTfaTBNoM+0R5bqPVgKXP7/whS88gMREgGWSaZ9gTftAp6kCNPNf1xAuv5fk0JZouzhAe84BC+DaYzXe8pa3DGEgQKzHAQccMK4pA+Y+grHddtsNwfa9qeFaAr1uADY45tFRDvg973nPYDRGYR4NYJYxhvYCCjMw1TX8IqAISgGSTBVhCCyCwLdifCaeltI0vwX2hz70oRFsFfDRbNZFVM0X64+WEhzpURaFudePKZmxoAfYrMpRRx01u//97z/OoTkQCakXkAWKzq9l8LVuAM4kYyhGAYpGMse0kd/DPNrE/DKjGMEXApxW8a3muDQ//+0aFoCfftOb3jTaZI7dQ6OAzRw7B0CfWRE08P0shusBT2jKWxMG99JogMt6XepSlxpmn+CYvzPFWQtpVe3ttttus1vc4hZz+fGptr7jHe8Y1z/gAQ9YM5DXDcBTE0XqmTKBFgABjMH8MG2kNQ7CQJP81hKgpAXTzKfRMBohymV6mVvfCQmNAxhA+EB9AReDnQOOdt1DsHxHCzolRQBd36UvAcvvEkDnaTtatEv4tHHkkUcOWrfddtshPFNNfuADHzh77nOfOzvmmGNm973vfed89cYEXusGYIOgxZlogNBKmaLmtbQT8PkyADNvzK4AzJSGZjpoFqFw/fWvf/0RzLAKvtNigNJC0yggEgjaTnO9WA5mWRsErIPLAJYADoD8PW1961vfOkAlQGhmblvwaOUKvaJumiyyBzb3AmTuB+2mdhIoa3WsG4AxFwMwExiknpRjNjAC8upXv/rQOEwBFtCc8xtNav2XtgAIeLSKELhHZEyDaScAaJjfXVOOW1s+EwDtaJ/WAco5QdVee+01LIQgzv3Spj57EUBTKOdZD0LhXkLjM/BZhec///kDUP5fGzTfZy/CylIlsKsFfN0A3KTfdETWCCMkEki2gdNifhdomEEYmjvLJgGKCRfQYJ4gjI8EHMZiagBpC/AYqaqDZSBI+tEWMy1I0hd3QSB81w6zrl+fgZBAAb0FDj5Zlgw497znPefm5kw4Dab5aDBWArT77ruPd5aFxUDbK1/5ytnOO+88QN6YqHpdANz0wHTCEh7TXPBEC5qy8K8EAeitywq+vBIQplZARbOr5LjrXe86GE4TmVca1soRjTPNYmYBB1A+FqABIYLHeH00nxXho1Nb6EMP60MoAEdYbne72825BH0DEO2syFWucpUhAB/4wAeG5QFmqVjauscee8xZqtVqr/vWBcAIoV0YY8qCcbQKGBgOBNrstzvd6U6D+cCI6cwmc82smyPTFL6w3DEwmUJtM73uaw2ZZjO/NBcAwDWHBZY+mVgrS7STEPhdX7SaYPlebRdrQft914e2fDcetHAvxmQ1DC2mUQItQi2Ct2ihH3Sgr2njxkyb1g3AQL7xjW88pNp0w4BJd2a1BQIM6wAyf82MYSAG0wbaQZNoXlkqhQAY53wv7bgWIwFCg6QPH/SgBw3mv/71rx8BkTkxxnu19ivpon9tWjcGCBoSViDrx/Sp5AlLIqgiOAT3Zje72Rgn0Pfbb7/ZCSecMADXZm0zz2gr7lipNq8bgDHXQABD0g0U84uu+SVAZOr8zlwCl6aImi0S7LjjjoM5NBWo/DamYhpL0CH/PG2PVmrbtAmITKSpykc+8pHZk570pAGi/oAMTAAx2aU13d+0jXvga/l4Lsa1gOKb03zCxwKwNoSBm3jhC184O/jggwftXAATrw98qXx3qwUYcw2+uiuD5IfTYCbN0epM2SD3SGzwt84xtYItppWwsAiY2WoTv8qUM60+V5FRfjhz6B0AUok3v/nNZ294wxtmb3/728c7ayKo0gYgCYr70S7YQ6vxGAPBpcUEVH/uIxSve93rhstBS2VHBEDA5X4zCHRrmyUD8K1udauV4rtlfPB8n5LGGThAmWERKrNUcp72YQ6JBhom+00qssoKfpc/tXh/4oknjjmqSJopdK25p3tViFQ0R1CA0Bxc/5ipX325Dj1WmO585zsPrTrooINGXrxzuC54cgigxAH8tr60oc0SJgQP4LSWAHFLXNKLXvSiMaaXvexls/3333/0KSdOcCybor+i/pWgvEVMdFEwoL18Bwp/ZBD8IM1iLktmNB9MUwyYf5RgkAvO9AGc9tA6c18msPkx02m+6lrWAfgt06GBRtH6onoA5gMJABrudre7DXD23nvvMZ2jtcx2sYG+CBlwRPPlwVkYyRFLiHyugy9uTRodAObvRdSEnWYbg89eq5kubRGAMQVDYiQpF+liggOomMhkSfjPF4giXX4KWHwdLQGIpTm/56uZScJjKkNzZZlomPoq0S1Amgf7zLxXZZmmaJeJRy+gRcGveMUrZnvuuecIjPhYYwIcerTvusYDVED5DehAJJSmbkw+wZGfJrTMsekikNEuxsCPeLUS7XXtFgF4fkRo8EDEqGlNFobRSIxokxhT5zcaAhBmWPSsTRpAcDCYFlX/TDtovvYd/DSzzscxiRhMoARq7mVJ+F79ZmUy1wmg617+8pcPLWNFAGxOjE6/ocW0D+BoZmYFfUAzV5ciJWx8NmvVShL6aXoJkUx/S6NbBcDzTU2gAgFzZXEAJ/rl6xTdGSgtpTnAxRyAtLjP3GIqoRCkuB7Dq2GuD9dgJrCrpQZ2a7eEzXlTpHvf+96z+93vfkOQ8sutQ5fCPOSQQ0ZsIO1IcETDwPHKrLJO2iCE5dNF8YI0woBeAkkQuQ6RO8tlzm98xuCYLsgsF+gtosFT4hANKNMi5shgAWPAzBjz5BoMNVUxFcJk92AYcw0sftt3DJG7dh7IghqMpgEiVoLDpLf+LFo1T+VPpR8FQADXJhehzzvc4Q6DBokO5pNgEEQv5tqUCjhHHHHEAJb28618flMcQZ9+mX9TJ20I/iogECsAvX5ZFoLdtA29JT9KgCwH5M0K8EJRIMZlWitSb521KQ//52jHn+sN1nyZUJTW9DnhYBZZACZQXhrDges7xhOY2jX94HuBw9yXg9ZWOxOBz5ezEHw3y3LrW996mHnrzaY3+jvssMPGapBKTP5UPy1IoJNpdtBoSRrWiBmvbIeAElrt24YjA0cYqgBpy+tywN2sPnhaxRBxpJLZBSzAaAQNBQLNAdLDHvaw8TvTSQMxyIAFK1VXtMJDizEcIwkTUGkE88p0ymUD8TWvec0wjfxikbLzqiElN/wOSMzXFzqYVvNgbQOSEDDlhJDg7bTTTuNefSkbYgWYYICwKJXhGrP7+WFAcjV4YCz4wDyj29RJ262yeWeFVhpsbTYNLgKdb54BRzscAgwMxRjXy2R1H60wNwZYa6cYgPmEh1ZqC6O04Vw5aczefvvtB7OzIiJZDCsv7Bw3QStNXzCY9hIIwsdUWhkSALEgtBgYhA8NgFWJYa6MTvNaAtDKVDsS0e431gOdriHQWZ5qt4EOaDQam/arDV/JdGmzAbyQSSlbVUDCX/ksQhXgAIum0BolNRIDtIH5aiXHNYSAr6UlrqF9JRks9tPqNoRrGyD8oDkxk4xhNLjFCSZVG3e/+90HgGhgOn2XCqVptJBPPv7444f/p+2sj6kYX0uoCJN2+Gf9chViC787D1h0tmkdmC07GjNhQntZNnQlwOvORE8JAghJZR5Ju4O2Ip7/Ja0CHGZY0AUEWSiMEng4z1wDBKOroGgfL43DTD4Z8BhEILSnTyCZspiDEiSA0yiWA3jVXVVtgb5qqQkYULQpCATIoYceOn6TeDGOAEGD3/naXIX5uPEYQwFi/TR3bo+yrBjBETvQYnQ6ZwzLraPeIhrMJFfHxNwZAKk2CKAwjyTXgJk0ZgzQtJvZNVD3Yx4TW8UHP4mRzCktZ/aALYqW2HAQAi8mm/ZZquNz3SNpgQZzYgAw41aA0EFA+H/X0fxqpNFr9YmweElR6k/igp+n3cZDoNBdsTtBdp4A0lxzbnzhzzPt3s35BZPMNYEgaFPBW0qTtwjAmIdpzJUBM48Yiwktu2Gk+WNRqCjXNQaJIbSnJUHafMtb3nKYXWYT81kD31us0AeXQHBoPs1lDUS6fLdDlIx5omKaTHCqICGI+qZRhA092qbthIx/5LuZVuMz5QGWMRFgfaJb27kFGg5UvKCZ6CBcZb0IcM8Q0Y8Xy7fufPB0gu6zgfaO8UwYwJhJJowGOPi/isIFQCJrDKbtrhF4AYDW0O5qukowSBHyY5hI8luowNBy0TTQeSWr2iJEUp0ibsJGSHzWv4OPBxrrwFoQLoDS0gMPPHAIpDk1QSJoNJW/ZXmMzXXaZZm4He3Im1e5iRaLJuih4doyjWN1fMcjY5luEFhMizeLBmN8qzWAxehKbmxNMWgSTusMsEcqYBazJuXHRNIYpozpYi6B4+WcazDcwCvIMxVhBVzPN9IoDKWZNA5dtKX9SqwJ5hEM5wkOxtIkwLqXZtNmdc6AAGAVJgIp8YU+C8QIHq3jq1kQQAPJb1kl7qTabQKsL5ZEu0BlObybLxNYgu/8cqZMmxzgMlFNC0g1hgHLVAaYTHVRMSZiAjPYlAizMMrAMZGGVvzW9INJB5ZIXJ8iTgGciNb1tN9nZtT3ApVoQZ97MY720VLfWZZKdGwoE/zx9YSGMBJWNJWMMC50lqwBBjr4UTSKtDO3AKoaVJuCQNaCdqM1AYwumk94qxxZyv9u8kSHAdAI0WkmTqcIL2GAgZlRAzFIgUdajNk0D2Mxn5YzWcwpn8lEWrUhDBhbLVRPxaHxBMb9mE9r0FK5bMEerdVnAkfD0C6bZA24IjxgNo81viLmFgX0oaaL0KKVBWL2fUdnftZ92meejUO7vhNcvnmfffYZvpq1aYmRBtN0IKNvOQsQm1yDpxUSU4krqKDFgKuUlSQ3F3Q9za3wnVRjtIiYeXQfHw5UDGxHA1OIkRhCY3q+FVNn/25gtVMQjT03C+PRRIBE1x7zoD0pQwylza0slRP2vUyToI1AAZMVYYkIDcvhfhoKIMGUui/CS+ABLKYQnBkbgakYwdhof4X0+l2Oed7kGqwDhGIakIr+WoIT8SKeVBqkz0DrEYTevWhCqTvmlTlkrorEAYiRrcbwpW0fqZ7ZPX7DaH3ky2g9rWNGtRl4BX/A0oaEib5pJKB6gh7GE6Q0WYCW9WGWWQhxApPuGn2xNugVfYslCCahJYDu1dezn/3scb1rMuM9egLQLZgsFVFvcg0GAr86JaTPiKQ5BlIZa4XefksQnEsrSr4zubSBpgl6MJofx3gaUOUH8AUxAiZ0tF/IPTSGua8syD00sCCLq+BeMNh8VN++88+CHm2jXzDH6jSXJwAWG/xOaAHnPkJKgASEBM51zLHAiiYXZD7+8Y8fwkTLCQa6U5aeFSK6524I12Igb1KAm7Nh3PwDUZnptlSKZplHy2gY0NaUNp9hgIS/52AQhCb9wFLE5jz/CPwWCWiQTBdtKjCjhYSHv6dR/DwhMp2pLgzQ2vLdPDa/R+MJpoMlqH6bxss8EYRiARpnmuNgelkJfZku0VzgiNK1Zwy+C9zQwjcbPxdDwIypwJBgLLfKcpMCTKKTvOk0ye/5L1Je1sq1TFL3+Y7JBtxnQKVZBIdmY0Q1TZhagh/gzDXGERzBVXtxBS+AKCIGpPZoZk8YME9tQ7fsVUXzrnUN328crIf++XcaS4BoHcHM/9NaAqkNWiu45C5cS8NppnFyV4TTfmKWpAwef06wXavf9i1tMRNNQxAv2GBqWsXxTmsMIjPD5JFIgNDiltkwHFgG5FXKz/2YSjMrbbEoz4/RIj4Og0l++4xFw4QDLcB2vspKYIm2mU+Aa4eJbc3Yg9hyB0DiBtzr1YoP96AKhOAQWGOglWjQFz4YH4EhBGXVWknqiUEiZzSYZrUoYQGjJ/u5j2XUR4WIWyTRQSIFUQaMEWWkaDLQ+EV+x3lM4MuYOabR4NJaYLZK1JIZJgGOVAOT1mJMCQnnaSogtQ+QhI32YDxBAI42aTYamUqCUOIEg4Gibct/D3/4w8f1gC+SLZq1dGiuTeNYAW3xrSwMrSQwKkeyXAQAncZQZC51qh080gcQjc27e21tIQh4C2htGN9m98Et5AsQBEGI6XELZbUqB6URgMWAIm5mm8YCzP2Z1QIgDGCiAGPgDmaYkPB12haJ+g1gfK8+8q+SD230BrwX1+Aaa7pMYbVfACVwgrHqo+bHFGgVA7AQNJVpJ6Dunfp+7TvKZ9NKAsrv4hFae8IAwTI21gW9xRRtiOOmtFch4Ya0eJP5YGABoCU6BAC++mPS7nwbrp0n3YCm0e2yByTtT1pdz0SR/kpbmDAMahpCojGKdtBe/o9ppgkBy2ymfRjdFA0dLIZKEjRoF1AY7H7f8/nd30PR0OQcxrepXAzAIlTork33TU0sdxMN+KM/Qu1FUAB/r3vda9yH7jJhhH+pY5MATEsxuCW1Mi6IBw7fiwE0gl/FBGupPRsLyNUeecc4fpq/Iu0EoZUmAxasFHVXRcmPMZM9CimgCU8lP9ppqwzBYf7KlTtHGCporyZqOpZ8oEjZdYSZ62FFaN1LX/rSMV4rXawLQatCU8QOdAAaFyGgjWX52igHeC+Vpsy/qBsf2y672QEmZQDjI3sIGCJaUaK5VkpIrUEzm4Au34uBmG2gJJmZNfASIADyu+8GXOSJCZgi6OrBpaYl/LBpmBdGYpCAye8AwahWlloi7BnQU9/mugoD2ntkXO61bszV0ErXAQsdzrEqVssA21MAjIHw5U8FdYSlKB0/0Mc1aJPWs0aEvK01Ml+5vsWyWmuuwWkAwkrtYQRNAaK8K8IBTKtcx6S1NSQge46VgQuMBCt8qzZd2/OfmSnAtLvP/e7FYO3zra6vUuO4444btIiaaTdhoRE0z3y3lCLXUNVES5vtEmynhXYFipXWeCc0AHYNENBS34SeO6G9xixGQWd7ihPQNuLxwa0qKSAgnNoiHO6pOrQp6ELavOYA64S0GRhCMKnyHJkjk3xAIbx9PCX2+eSi1LS6ou/Sk5hN8k2RROl+F3n2FAARLMmmhZjc+imh0ifB4DO9A19/hMxyIuAxFX1+l7mKDuNIU2KotlVx9DhC2kq7CS9BSYADmSmv+kT/LInx+SyRwbQTWN9TFMJgFQt9BEwf3JNxGx+rtNmmSRiQz0RAa74IwERrqEwMZiGWycpnkmZaYwDlgwu2Kh9Ne3soGv9LS0Sq+iLRBo2JJUtEtV3X1hQMF5FzBfw9beI6BG2yaGIEiwwESUapdGDjw3w+ujJXgtzqEGsDWJGya5hp5wGvP+7JuJl7gSM+GXfBlXdC5vpoYb2MgetpioYm7S3li9dcgw0IADEZowFDqw0IICTUq62izGUZGkAhOj/IR9PKnnuhLFU7/Fa7BN3D32NU2kWLBDEtwjObBUpiBNosDYhhPgPTNcDmT5lA2ST90h4aDaiqTAitMdB6/p25JywEQl208QOLILM22kN3AkgL86cE2BgJebEFYQI+y4Sn+Wf3aLuYJWXY0Fx4TQEGJo2pJiqzhljMAAhCSSfAM7GmKJhHm2nhNPzXBqaKtlsq7PEHgg59al97ZZZ6Ih7TiTkYAnABmetpHuahA9hAtC2UuXMtOtFirqnixPquPgGpdJYfddB6ByEioMbuWu5AtA907aCzPDK3ZPsLwIGJLtosUDMOgkpTuTN0mQ1QEBaBSSfAJVkIF35N19rnm+s1AxhxiMFA5qTlQQDxI9J9pDR/jIlMWc+9cK4FCKA0nTGYcs5A0QepxfB27esbk2WMCEvTsIBusQJz2/VflE8wgKHu2oYvbdM4fXqMf/VjwCvhYgzGKWDsgWquJ6QEuM3awGNugdZ4teO7gI7m9sxrZpjlQ79DW82F2/ssdpDDbuZh3CnHhvzwmgGsg7JJtG16GGSRJ6Kdb2mPMACuGqMebFYEXlLD4AkAgDC1/1eghS1JshLVDtNSGsykkfSSFAREf+7nwwBSwRthAg7tIpCCG20TDELABKMnS0N4nddHQV1Wwj0i6rbGEsbWxbWvT+MgJLJTAiw84h6MwTkWzpgBSoAFbnipT1pr7Nosz79Jo+gWESqJbd7bA8NKuNt519YU0scXyfWKWMtYGUwAl4sm0SSeBDNfGImBzZdpgnuqjQaiKUj/bIYZ2kIXcwhMZhVdpjroJFxF07kQTPM7/4jR/Hy0sUxoBjRaaKc12ragolfKlHbStlwWHrkmn+x38UL7h1kvbbunp+RJBNF6wlAemlK4dpPnohHSYjc/gXl1ahCkVCDlJTjCBIQhlLQaIDBIdalNv5FoQPHBQNcmZvfgEj4T8wwa4P2NTs+a0nd+tuicANBEbVXI3l5koNJ22kjgmNKeI43RrTM7D3BjqG652iuCAjz0o4e599m4e6pBj5SYuihtoxsNfC8e0uKezFNOOs0tlkBf21kWSnismYmuoHy+RNFOk/SmLRhMUgEGTAOy7okB1R8XSTfNwtB8uQHqg+YzlQrYSbeAiHkDnnM9niih6AGjhKoqSH+iUTKCINhcBjDBVAxl6oHXHBkz0WMcBKiEToFZ11crbY6eQBNCFoV22tytH8LKKgBT8FU5bcusbZVxn+lVG+PKHTQf3tDS4ZoAzNTSQFMMHVdoF0AGDWTAtIzIvIgWSbwAi5Y3pfLeokK5W0wgrSU8WletBrlndDC7bXXhrzHE6hAg+nvZFuU9z4OmZnHEBhheIgYd2vBCN/Odma84kLmfXqMtgsrsC7Kca3NdTxcgrOjXPjNeuS8auSIW5RnPeMZQBAJLKPHJWJzLCro/l0T7FzLVGw0wMAFpIKTbUUIA80tSFBmTQuaS1hEIvocmEADt0EJzUkAGWhWLTRGYTm0ITFRR9Eh9DMRgffSfSyX6CYffAIXBImR90XTTHlqKYTS5v7jjX/1WiWopS9pcqS6LYuzadm0rWMyv36QXCTaQmV5AWNdtNyRw+6MutPRUHtc5JFyMG9AelEYwCCaexQd85q5akp0GWxsFcL4XY3WAcQVXPveHE4BwLX/Sw7RJKh/o+VOuE8DIAvkMdO21cpPEG2gg0WxMY1ZJNBAwssUDmqgvWS7g0ijMqSiAENEK/aGNryzzVPkOAUPDdP0XLdpwj/65GRqWxekfWfSpygSA6PM7QSAEBKRHK1ZkSCBKi5pLA7q/uDUmYys9OxVOtLQRgCVcs3lwZpjEkv6qCnWAIBNzg+vxDK23YpjwX9BiqsIsMY0lLBBMumkG/1PgYN4LAMx0jcETGMxn6t3PNAOFEDCnQGdBejALJhftEkSpwNaZ23lBgwuSKqOlhQmb+4As+vaubX3T+tKVxkSYtEMQjYOWusd3GTTj0D4rZqGDFvLJ+KgPbfLrhL6N72KGynXcZ3GDIHEJrg2TNdFgps7EG0MqZtO5QWMy5pNUfgPIPgPVoJjEUnyYwrRXniILhGiH+zJVJBgTMQZTC3aYaBmjdiiSYvcInvRhSoVhLQT0vAwZquqsMJ0Aade9BKjSGkKjj6wK4Bw9ltD5Injg6NdBGwk+ujw1QL0WnhEU4zA2gRja9c+iEWy/c2eSLpSCJaL5hNjjmvCHoKowKVeN3oKtBDGQV2WiSUoZKZ3rMN/bOYBgKob1qAMSzCQSAAxiPgMRcDGAyamKokl8FYqVrrAQNEObTfh91ycBafuLvjC5QjlBSs/fsDfYihKG8osY5roKzQlnjyZ82tOeNkyhf05p2tbCiv5LuAAFPwhsJtlY0Ab8BMdvTZOA2O4IWs89pZHeKZB3Y2HaCQ9agYmHLeDkHqfB1qoATiNM4hEG7EwcDbElo+p+Eu6cl8EjCGgV1bm+1R4ap70qKYGeoACNdai4DiMEOgSIdAPcta3jMtOYWLJen+imVW1K8zkL0zKloMy17mceaa/rmVAVGuqe73Of+4yECxqYfEKibYKD6W2Aa6xMKdqNxwEQ4+zJeoRDerWFDm2yFEy2NoFrloFnxkoAKAotB7b+8NE9WbaN0uCpttJY4GGKAdAKEbKpkWgvP4MZlgs9l6rtHqSR6ava30Ad1SQVeOiDCaVBBoVhgDFYg/LZNTSR5hp0Jo/ZxND+dg4QJVVoO+Y4etwgtwMwgqkttGEmoUNfy578ssjWb5jK+uiHdhMOlkasQfjTTvPfnq3FdbBeFR32H4porxqE4LdFhTD0X8naIxASR7mMUsGVOm00wDVAMitV4dc88c0TVAGnU4xBpIEwUYAnkV402u+CLJqIMVVhthxGI8rRYqAEgXcM6WFnVT2IijNlBMqhD2BgJiHQFg3xjm5MRKOVIaDSYMC5nlVAEyFphUzfNIhQ9add6NBWzw0hjH5zLyE0NsDyn6wOK0B4jbUdhejpUcOifyATPjQTeALY75QErdV1ZcZLuqxJkKWRTK13WRjzNFrWbgTEVf1IMlsUwHDEkm6g9KT2anxpRI8vapkNY4ClnBXzSTSm+0yLROTawyjX+i0/xye29YMGN0UjBBjvOpEtppciBUqP6idMonJMFQ2jWTtcAgBbAAB8uyG1I+CrsI/l8Rufjj7WAa3aaaUKQABniZzDP4JEKwkP3vrOZaClZ2L6Xdtl+PA3P7wqH5yEIACYojt7hvJvgCx16QElFYHHCAx3LY1GvMGUd64EBYAY7vc+Y6w+MZ/p14ZBeWdumX4A1D5GERYPW9EXOvSHSWjUFy2lOdrAKO33YDYaYg6LWdxL1Zv8vHuZc/0TLO2jgbC2HQdw+mklqnIeANH+HltYAMla9TQdJt5sQ5kPIWF1evywCktj9OC1SpKMtS00TTnhtGqAm58yN/6tiwYZCC3EIJJIu9QsGQyC+ucTQPeMqArcMRGQAGDaDKr1UL7d55IfzGQ1zi3Ml81yHdMnDtA2Le1BL6QcoBgs+aINmpB1QQOBLdDzWXRtrMDGRDQInlgmfrTH8Tsv0GmlidthFZjPVtRcY4z4Q/C8AArodngAG2joFqziA/oEWW3rMVb9VkBPk3sagjE3wxmZt6m9Xu5nA8Z0Zo9kawiY5pU9HQcz+yft5rIIFSiUxGBySWqROOZUgUFAWiuuOJ52YlApOfdpG1AS+kytdB/ailJb4GcS/U7Q8sn54PwyxqFf3wkw4dAfbaKZaCl7ViUHzQSi61xTarKVLLxoccQ2Vv2xGOrCjJ/G6Tt+lJWbrm3rF/C02Djwut2VcHOO8Hl3rNpEG7iGBSVyqy2TtWQlJcgUSquJdhEDWFMAACWxBoXZfIvfSSGA23lg4BXkxZCIL1DzvXv4tnYdFGC5n9l0TYsgfGSBGK1Bl2geDQTSOfcDrEcuAJI2EYgnP/nJc4sJVXG0x7nN3sYEMLyg1QCvwI7g6Sv/6zPBZFXEJVXEdL613yyePtwjt2Bc/Y2BPoynfVmrAjipZnb5BkQjCrgkC+A0xnWt8wLZABDIVBtAQURZLGYFcQQB8bSg0lFM1h5Novn6q/jNVCFTXY7YOSBijJcpDprcCwhCUSUHSQcmf45xhNbct8CJ/9UuRjpPc02hHMZT2Wu79JnT1oxb1C9Hj26fuQS8IXC++4weCRjCbbzopghAc+g74FgY9Mhzu47gsQ7O+3NLM4CK+gftKzHLpILPffGLXzwIwJiCCqCVk8ZIkSfgMJw2SBgwczSTf/KbQbbNs/Ia9PTsxuqXgO4FZAezzA9rA5MTJu/MHDeg3IYAmro1lcNAGuo6mkS7aKfYoKfnGI+2q3okkGiWB5Y9al0bQ7XVlEcQVEUGIUArgHIr/HbVkU39jN1YmXIC7btrANSjGPl5fKRExlNwSFBLk+66667DJOvfWFhYvHXtsgBOc/kx2RxawZdY9dCwzhDR/I95qZxTR4DqEUDysiSW9opGCQPCzPMwttUYbZSmpJHOacvR37jTStpWYEboXEszbNgqwRBI+SrvBq89YAPDOw20TVS7hNDL2My9JW3KVLnfOUmdNqALggQ9IvEK7IzNq73PeICXQCek2iMEBBBvWSOf9e+zewkhDUYf8AviXEdh8A34zumXwJTdGu5pKQ1GUL4I0/JnfmvxHeEGRgIxrfVJ/o0AkE6duY6vQRwiegqNxAhz45zBFHC4F3Oe85znDKY4qrLUt3aYaSCbz2pfu/1Zlu+0w7WA0jZNLWdLq9DA2tBu50XN+qdBPV7B2DCY1rIaeIAO/TinbdqVpWBB9EtY8a8tsDTbk9z1pX3Xl+wphim7VWDZnJ+Aow9PjUuhgf3KYg8gFxs5l6Dg15IAuwiTSRiGFDEyZbQW8RWXk+AWnvkC15BCnfdglMphRd/8MyZMH1HUVIoAGZDpToXqzZ0xB5AVszU94cfbsQfEAqvKW2SSWJmCHmOSwJBTV3AAOKa2SB6ABI9VaCN5UzfCDHBto8/3/sC6AAldBAAPWmlDtzx2/3WcwuAzwNHXEic6i1mcJxjaIwyuM90UN7BcuQxaTODLom0Q4JLzCOAfKyI33yU97SSIWZjvWmCTOszrEb6tjbbGqYRGSpDWYWYbtt0PNIJTeYzUZyUtPZqBEJB8TDU42kOwtO/F9LUiw3KglVshqAQUEO6loZgGPFG8a/XVJmu00U7CwtzTohb/gUHQzBZYIMKKruquMsfVahmThFA7Gwmv9lzXCplr8KoVo54FVnULugiGvgR8BAePKYOnA6hkEcgmhItqsAFgFpPExIooe2IrKWzLo+ivYCgGOs905l90hEiDwkBEtS4KUH3Q1HbnGzjmksIqKN2jXW1gFMuRSe4fTAR0wBZ8oAWDmCva43r0oJfwAAZABJOGChwtBeoXPe2kQHtbU5ufAplVco22zB4Ia39Z6xzLRHiY8umaL4EkLC2lZtYJXAmilhuNucxee6LRC2izGNbFOAmNJwzgGxdDqKrRWlCDC6qA8fSnP31u3sW0YAxTZ9A+t5GqbZw9UMzgWoQGDK3GAL8DxLSKX20KQyPVH2nbDgVMlv5kkgCJmS3eAw5DDcirbaBoIgCeUFfUTav0790Uw3mf8+UYyCwDX6RvTM2T3ec65yrdoc0tXQKCK5KHB46j5Uo0A6LcNuvjHN62Lwstrcbpky8twqY0wANiy6l8O3qBh39ZgWYWwJfGtL2mTWoLAkxS+U9//ERbEFcgQ6uaw1WSo0MmGeMNjJlh2kS7ZZ3aPU9bRJxN4F1XtMhCeLnW/C7rYc7X365iTvt60KQ/dACiIjnnmWX09DQdnx3MoEgTAzC1AJI2i0rLfzfV6F9d/I7hBTGYy9dmpiU1Wnhn8vGjpUgCwqwShipWjJmwcGk9qCVXVpVngWFZLGPQB5qrykQnpdKeGMg9lI7LGQUU86NoEiWH6p9JaAwpJFmcef8ZhAANkfz+o6/cM6kn4d4xxHRKIsBnR4sKhAQj2okIWOfMK/l4kW01VO1NSgN9Zw0EGaU3Mc5RRQnw+VrXVmyH7kpz0E0gCFH7gYr6gVfpLYEGhPG0x8lYMNq7Nu145OPxgMUhcGh3PfrQ1NotmlsJMgYazrXQztKw7kEz64ZeikIovdDYIgb+VeRPs/vPYgFsj14cAGeSfRb58UcY73H2/bePa1q5MSgaJeynkSSM1PT8JwNlQhBTvrdqBkJBC4HVY/5afvO9LRyuw0AM8PxH5td3GuXoGRztaiAwonym2zn0YnYMaKFAH7QQ8whp6dBqrjFWP+4HVI/c5+e4HFrZbgbahz4uh2ln4vECjWXLgIZXxgUg2kYYW5hvbxQl0DeesSwpChrz2y0fElp8rfSJAFRsSCAkeQRqBHwAbMBUXEM0lwRhXOWwpKN6IsAZAOnELEwAmPM6IZ20h2kUJFRKQyhcr83mwICotKdkuXZ7RrPpQmZMwIcufVWG6zc0Y6L35n/RjqEEBdD9m5lrW04ryc/MlihooSG/V+6XIAOpXLXftUlQCJEEDi0kHALGit5pm7HLHQOVmXUNRaoYEQ+4FLzlXlhM96UIeEC4gEcgjaf7K2mCIQvIchA6QsACb0MqMEZWhsnQKEB9xnSNGYwOdEqSSR3wTA906BxgXGvAPYdKYoRpwjxgCpTaumHQGFN+WkqRpKOHJBMMg8CMfGsM4rMwpDpoz3MGFhp6sFhahHZ0NQMg1S2QABPtBI+AAk/b+sesfB9aW7YjnOh2DTAInb5t/LYjEd8cBEI/GG5cZh1o0T/BRScLSLESjPz79A+xgMs6iNSBln/XPxxgwnJVHAg797h+LhdtYAgElooJxGE8KQQ+BvWAEQDSVDYeE5Ok9uu4VhCFOeVPEVOO1HnnaAPmMIGIMnjgt1FbHw7+CbP9bnAGazDaboGC9mof6No2MHSZ5wKxPURAEjwCW7uVGrVoTrj04yhyLkh0PfNMAVoGdE5b7jMWyZIHP/jB4zqgCtoINnqMD+NNHwGJ9gQHHZUKc4n4gWf6xG+45JNZDbxu6ub3/jZAe/hC0NwnxbpNAQR1FlBgPKa72DvC/E57DFrjDqamLEspQeAxTyUIGoDraSTQMNu9iMbYTEv7miqDrdyVOTZgUj71UeZ9BiBhoua4/3AIEGYXPTSyZTSC4qBN/GC7Enp0Q4VzhMRnAJWmRG+rXlWgtNG7CJ3vs6IjR0/TAS++0L4DL0vxohN/zctZEcARRvcBh7Yad/XixQo0vv9AbnNB8QN3ib+mSWgUqA4fDDQrJZgoWpZpIkmIAyqpEHZr3G/MJqkpaiTV5qwA97vJP2kGgnuasyWN+bmWzZg8wALVvYQE0f7ald/BKEC7Hl0tBrgGY2R1qsmqzrpyHcxgUVq5Qns+DBPy05jP5KG3dGz/8at/wVFpWcAwtbSdOWUVSowAWKRsNkC4KnOlycw3fra2q13BEEF3f9k5gqddY6BwrCf6jdF1+KddVqOnKWjDYyia1bDEc0FWgQw/pAEEa7hHAWGkzyQYGPwKQjGLhGF80widIihtxbRMGVPVFMr9zCpJFYAQnIrHLc2V2DcwAlhelqbz8Yh3D6YRikpeCuaYcXQCk6lrlwD6mHLjKONFyEk+msUi6shKpBiX/oFZyhBtrs134wtaHMAhmL4TPtaPgjS1qrBQG4SpKo6WAtHfggN+4B3l8m6s6DCu1s3xzzjwIBpgJXfAOszNg6sAKNAhfZWk0EwmmnSQHIR7N/AiUcAZRGY86UV41ZdMhgHQHNd5R5S5cpExTWpBwrUYZKAEhTaSVL8x7T0bi6Sjj4QDk/kl2cAtkWJ8PQA8F4HBAMQ4YyI0fKjf3dsii7FmdQrG2pgNMEdRuPYEfdrgCwkobTYudAHUb8ZTgKoNVhAghB4v0Yo3NLxaboJJodDDmriHIBIAwOMB8PG7XP//SnRUVmqgzK0XkGg1QGghafLyO+nsr2Ne/epXD/MJIAxwvc75KiaHuSXtpB8DaROz0mZwphmRbdZqv1FgttdJO9pg4gyGNrYGSvrdjzYCRSgMvienN71Jk4wX4zGvdVuMba5JiBPcSlmBWWVna8TAcl/137vtttsQQplA+4gA29y34NV0SCQtr8xq0cIsifZbOBFPPPShDx1CiIasYvNyPNeX9vFSTkJO2rFgqrL1UlLk5ZAfRogHeTHfrXy0NNVfwJBc/kobiCxq1gZByJ/TWJpIm0TjtLUMUlWG+tA+cIBAIPo7OAAYKEluQ3flOsyz+2JGQtvzOipQKOomHO0ERJN20aNt78wh5gHW+IwL6MA0bgcGuzargW+2xrbsWbzQGjELQ/DRyULpqymk9vh5dBNyfGl1imA3vSPgBFUb3GR/hM0iOhatqsxku1BDAgPrtoBhCmVteqh3VQQG1/If5pFGHWNGfyIJBARhBu0CGuZNn3SOiSwEEDEEo7iHkgruQR/tagrknN96ei1JBqSAh2awPKUWMaklQH0QkJYa21ZT/NFCOqGrpHa6I984CVLFhq7DK78B0fOn8cuYfAeYvgR+BBudhH4kJU7a10SYCX7/NNPv+iKMeOle7VA2Aoef6OsIv2Ut+E/B1rkX7ZLzBADpQjgzTNrbZF1RGe0HvoHwm5jqGgyvBrgFCqBV/+waAlFaEtN8Z6r4JnN3ZpFZdh8L4Rqg00RM0EdPfscg9/ZwFdqVqS5d63ptoZXgarsyGd8L5jAaH4zLvRhccQLttbBgbIACYsmbonwg9Z9JgKpQQlttESWUlAB/jROvmV7tcYNomB5TnPp9WQDPbwQR/EcRt8XmNmtjDsIqEMcoHRe5YqDvBoxA77ScFPbYYAwq2nZNGTVBBfAEQwaLWa37muIZeCtNzQ1pTTMA97QA7zMBEGARujJagpj8bv5Vf9rQF5ArHqzIHD/Q7l5g+J2ZH1HsSZmukj1oFvU23UFfhXlZHRaiQHS6Eb4cxFKgTs+vGOBuRgwmtR5rIMxs2kxyY0CPAQQif1N9FQ2izcy6a7ShvVKTfgOo+yocB3Y7D4BPOPgoplV7zvXYXZ9NwQiG+/ojjxI5PYMy/0oI0WAMCVXjFWzmK5srAwvweAEQgRJwjImF4cIy+XhBAMwuCDBg5Rs60KBvh74rKjiZip7kV+f/ttj3VQMMJJJIYwxCgoQWMz09bo9mMKnMV8GFQdIW4LRCBMDKgsrdAi6JLaVoIG3GYsYsXzKRBIGkV7oroo1BrIXfaTQAnav8RtrQb01ZmEw+jeY6gFZaUQ6e9up3uu7bX+LgQWW46E0bCUYPSWVWAat9PKlaQ1+B6zP+zPelKwF1TTSYWRJAtNGLOWKaBVAtuGN6TC1rU8VlZSuyRQ3QwFsTJSxZgHKzgMA811R10Z4k5wDifOW23EO12pXt9JiEaqcKcghB68XoL7ukzVa/3COJAzA+kSZyVZXdosWhrWKTHv5dXsG9gq4ezNKDTRfyn6sFdaMBLny3XuyY1jVX8GX+izGuBTxzBQSgtcxYUNQitu8EoVQgxmEWiW6/UYUFNIPvx6i2ijLRGA8oPg9TabddgE1HAEa7+cAKBNGJRgLBzeR+CAdtrcYJmK0WAY77ADKavca05KTFejRU42wMaAOu8bsHXapWjMf0pkWOtQZ61Sa6aQZtYSZ9R2QJiKTIwDGK5JddyjxXXgr8nntBe6qUpBHAwSxMd79Ah0bLDjF5/GuJB8D5rRJS15pD85WmWWmz36Oh9en8cMuTJROaGlVPhg7tVHLDBdHWUowlgrTfKlkLNYSvonh8ka8nxJb2mhMb41qZ52EZN8YMND8Dcisg/Gk704HeQj3QinxplpUgmqpAznt/ogUkgoLBGCJ1J3FyzDHHzPbcc88BdGm9qkRkzfTfahGAmXECIk7QL43z2T0shnuA6xz/DxDCyQcXyLXUWJ1YBfmEyBpsdVtALZ/vt/x2ETQFAJxxEEbnjUOf5d8BjD5tM9vNSjZWozcKYMJhcGW7fAcWphkQ4rwQXUWhc8ygp9YAUFqNqRW0SUporyDNdeaBtaPqUhIdcxy0AZAYSYBoUc/ueMELXjB8naBo5513HmaeK8G4aTUGUNGaJarInoYBtnpriQmaSHhMmwDTEp722u/UNNH9tL7lUe24h+YDuSJ3IDPXxthyn5Ug/VCCFvBXq4irBriwvoWIokAmrv3ABSiYiLF8jr1NJLVDmadEiCW/Bkqzepwg0GjU7rvvPgCj4b631IgxLb9hNOm3IvTUpz51dOF62Tf+tQQCYLxYispcBGcErm0vQDdGYzE2/+fL3Due+cxnzuW423+UlUgr3QvELBrBQYvz2mNJCIBAVExSvt/00uyDlWOpEuDVavKyAM7fYrbPGOxzUw5El2mhXX4v4GhBgJ9hZgVH04OAqKLkI1UnKgMqei4gwxx9CIzaSUGQ+Ed9pbltpSk/rB+/MX+tRbcHqTkpOtHO/NIsAOuDJfASWIkR2nOsTffo01gIjja1gSZC2jM3Kl0lBACkwfrwYrbL2cdXStBKEqFFe3+UOZ1GrUSblwTYYIBUWqyI0YAxoqM5aytOfu9a5lGuNXAxgqkloXa5O2ikgMVBUw3ewGmSgRsgBuXrCo5YBCbe+YruCIlFEe3zlaJUgkT4qpis+I4Wo8tYuBoFBUXCNK6/35umBQk4kNzD7AOVIFSeA/D2TfXEADwomtZW67v8sSlmgRvNTyAIVr4+67YScF27KMAV5CFuKkE+B2SlLCUWqlhs2pDETzXAVsxHPepRAxA7B4Fx4IEHDu01UEztMcHMF4a0JNlqDZPIT6lEIQgYgdkYpl7sKU95ytxiOnNYWSn3AGgMA3LTKuDoo9Wv9lFZmSJwBXTGgx8FlcZvCuZwv3k9LTSGZhRZGAEjgWW63SfWIITaJ7x4CmABYXNyvr8p1ErBXRLgomASW43RuOkkbTKAFu67xnlENrfMVE8DMdJdXZRAwnyafzTwVqEAph2ZIo9naisKwdGnFSbgPuEJTxiMof2CKczFNAEZJgFQhYW0pKmV6k3g8dV77733CPYEhrQGI5W/mr6UaHnJS14yYgcmtuPYY48dQrnffvvNPYAUQEqO/bmHCJ1AoBVd2vQCLoGt6KGkDhrxT4qV0AO4lS9+f/vtt18NtuOeRTUYOExvy3NNHxDYb62DtlTlXOZ5ShXAOkTL/qfe03mYT4Pm7wDXWjCzqX8PxrZqNf+QVjTF6q9tSDoLQLOYb6AkjBhUlYZYwKE/bqO/p/UbTeIylPsq/idsZeCm/bvPQcCU92iTBaqCY3otV4N+rsTzPawy6VtckZUjyOgGOKtEQGk4wSVsCy0yLBfxJQFmMpktRylABBVomfe1/AdcEgio5oYRYmqhsoEGOZjgRz/60bNHPvKRc8AKhgwGyKYodvsBrkO7TDPtYPIB0eF3+eI2v6GpGrL8KOA7aLoXQdWucRifA40AfsQjHjE35aNlVWREB1qZcE8FUGDYoT9jILjG5OA+jJdgE1y08smWGIHLtJtNoNE9+quwbrrOu1xgu25RgIHUipFBAZDUAbflrNKRGOWz61sNao21zgBMMlWGOGiP5MUTn/jEcQ9NMBjmkSZNwRWUAZxWMdsicmayAz094W4KJAsD9LZnThmEgf7zAZ0sBvPaLkEZNOvIaps8fWf//fef03b+XakROoyBMDgA/pCHPGRoNSFkarXHjQBNMoeb8F/AbXrjl5l/4zfepkMV1bdNZqXALgtgA2/pjOloOa+icEwFeoBmwgFd6F9wJjBhekyFXGcZz8G3kuyDDz54+Elg0DyT/Q4M5u+qlDCV2WuvveYeZeA6fWJUgVOMIlDaNJ1pt5/rjU2QU0Km6ogAJiTSq/o0vrJk7mUdysc/73nPm6OT+SXE7ZxsgwDBPOyww8a4CZFFGsFeNectbhCyFlLawM4Xt4a+GpCXnCZhCuY1t/UZUEV5gMOUEh7OtdUTEwrOAM1sYRR/dfjhh89pIJAPOeSQEUwZLMYyaR3WTQkVRnMBmE+yFZr3RLuK9VzHv7E+Dv1yD/NdhqBP4IMeproKi/oEkjFV3tPOA+edE5ihO3/sd2ZW0XkChyZ8ap+033s0MTq1WQUKBRLk4Z92AE2wp0+bX3OAAVRONL9byaroMKYxTa7FjMptEJNQ+Oz6dhsCx1+oA1Ng4mDCSLnItgUHv2OOCJX0tw5Lg3vKfJWFNBLDXSefnAYDmI9rr1VMQhvBdE6mi8+bHtqr6qM1Z2bVgT7WxgNVWjv2O2u31AFQQqHcqEWIImfngMz0G6Ox9GS71WrxkkEWKU4LDaBHMWSySDNmkmhMVNGH8Bb1Y7SgyPyTdmImBvOrLIRdEa6jtdoACqZWato+Jz6R5PNlhMV5THDoUx+lAevXOzBakA8AGsM8y3oZIwYCuwNdfq/oP4sAeALKxBpjAShN5X4IuLERAvejSdzQniaC7FrtS0tSIMkVZh9/tS3qL3ZobryU4Gzo/JKJjnxoi+k936lnQBhwAUHRqHmuNF3nDJjPlR/GWCYXIMykqQaAHdNSFUmDisTNL/k2IGFY2nziiSfO+dUSLc01i4i9C+pErSUksgzMIN/MQgCmBXvnExTaBYwAJjBmFvpjKRIKY5RKZYEIu2oRAPKrzfG5KHNkVpCwtrwKdO06b2zFPXjc44k3CcAajVEGSForSCuabvC00wtjaGgL5e4zDxQ5OlgDhPeffuaraRszjkmEge8pihZ5imItSBAQYFikaMrV4IGLPteULdIfjfcdMNPDeAgSUy0anuawaRKgaCnByFK4n0XpMRDmqe3LOuKIIwZtLJPdDUDWjlkC8PqnNde437hYF2Mukq58iDuowmX+bGQlYC9pojPBbScBaE96qfapLBagqlCYLvwbBA3qEfdqqSwwVH0YwbJaJLbUnBxtJT1WiEydaJz+ina7Fy0FYnyx7w6ahuHyus1J/V4BOSsiCQNcZrqjhQMC0xJg58rBExq+0pTphBNOGAGgubN5MWtgLEx50TthNmWq4J6AtWGe0KCF32+zd4s8WY+VANu1S0bRLYq7obRjfqeKjJbBaC6NJwDlr0vyP+5xjxtbK9Oi+drEVGMW0619ZpOfPe644+aibcBOV6OYQFrmaGnSVEVGKsvTlsw2zTVwflB/TCUL0yMRpgLTTkQATeejBZJMrXZtKyEwXIaDMHlND+CZ87dLsjVoPO0pAFbUWMHcQgmj1QC7LIB1XnVGNzAXzX3L7JAwn/nMNkFhbObceSZZAkBqsb2wfhdkKOYm2RhG+5gvJhrAj33sY8dKDa13rhUe90hzygvrFwPb5gIACQQCh96ey8W3tZ3GvVU3Ak/7BKYg0X3apW3Ghp4qJWk7006IBYXeBVj6Z5kIb307Z74tYaJ9vOO3K77Xdosh3Bta9I3OHre0yUy0hgsiWjZMk1ttYQpd13aT1n/bHlke1YD5JfPNhIGGtHGK9LqXZFdam9/bZZddRt6Z9s4vcvMXN0wvQDGFNrhOsAOgFkPatwwYvt5iQ3VavrMuvstnG5vIFp2V70q0tEYsaDIuVqNqTt9ZBO6gx0Z47xkihNZ2H0JAUNBGuLXRyhTeCiJbUPE+fyVvpdq8pInOLE8TBU0VgAog5/zmHSgYRNMwwvd8SVkjZp9gAJjPobkYZNC0VmKiRzvQvhIGwOppckp52lYimtWO6N01vjPxhKwEBY2hPfK9QDElAywQ+PmWMwkCF+H6ignlm1kmNAMHkPojiC1t0jxmmQl2XTscjDEgCTmLiCdtjykWiB+qOdBWgJW/LxBdU4AB1Ty4dd5poMFktnqEmZiU9hXkpPEGjwlMXeWkPaYIIzGCUDQtKIPkmuqtBF0AcR2mA7m9UK6hyegAPGHym/vbNI0m7iHr0jwXSNoqVWhM/ZmlNkvQoDOL5d4qLwk34FwnGqalrnOexWhzd8Ej06st78wyYaDFBN24aS0aaH1VK+X81xRghDe/ZEoQ0xIXIjCxBf9WWxCEeINzPTDbs0sKqzPSjukBk9qDXLzTDFo7TQAozDNATARakXQJezRgUPNwTHBtyRU00RjnK3fNfLIywNKvOSr/mn/0mUvQN3oIx3RTfFUagWp8hKT0JP6U+SOQ/V7lJt6m1d61DWCuQGRP8KY58JWC6/olV5MwDwPS1GknGMeUABGgTSm6x+8tH/oNA5kggykX65oK33xu2wZtZ0INGFitlWImMDCzR+kz4RhbW5W39BSe5sCtOZdSpFFcQSbVOGmyd/QRIP00jwYwYcMLgBkLrdVfWlebfkMfVyH/XDGigNFvaAKwVSt0tsvReLu3Jwlt0iCr6slpTVYAOgfgHgkE/Pb1Vh9Mm/PJwDYommEQ1Tg7zxy1/1fSoacIaJPP6h59M/cAx1Sg0UqaqE805Y+d15+++OemdW0pbcmzQFK7rE3ZJEGbz80SvEtO0OqK4vCFySe8snd+R0cZsv4fiVAbv0MbQGYpCIQxoDULx/L0oNbp/qU112AdNp+s8XxPi/uYaeDVKPudhmAizWslBWA9Ekhb7URs6pAFaMEAo1towEDzW1qNUcD12b392RYtEZxhnv5pYDsdgG6aYmGDizBtQY8+2z1vrO7JP1ZWk7k2FjTQXFaknZEsh1UtmufeNLMoGV/Q4d2YLDQw3YSk+MA9aG4JEl1MNMHEx/krYSsBelETnWmuQr/AqT20CPIbBpbVMgjMqDLDdwS2vUNiAWC0HvNIeo9oAB5pNjBmsedVlHbURrRUVVnxHAuAyW1LwVQv1/PpaMJYUbgotQi4zFyRPsFBFzqNwXW+02Raapx+ZzEIoM/6ZqloIyERZNFsloXlyHwbc49WZC3aPmMMVYBIb7axnJDMz6KtBNxl+eC0mB9oVSnzhKEkfZqfbu9NgU6RuPce79uEnolszxLGaheYVR9iaCWs6BBgAdbclAYCnIAAjC9EH+aUr+6pAUyteS2frsSWILWDIWHFfDQ2lwZOQaVpUVEuAIAkUEKD64BPsEpYtKPf9xYUipaNA90lkAr2KpjXf0X42sUfyZcKKNYMYIACUCcGgvGtLHmvlgmxLY1hUBLueiaocwVQLUJgMgaQ+J4VxezRNsACyjkMqCzWYGmDNtzLzPNlQC+KBiqNaj6uDUJQtSXml0xAGyHTH6b2RxmYz4y3FisBQnBpaUES60LretwyfgC73floBpb2EzT8MW0yW2i7Czq1WzlUEX95gf5WZ6Egdzlgb9BEkzQvZg6RpSg16nPgIJqJpoHMUQ/9xLAChKJsUkr7ptUZaY52W7Ljy/TZszUAixZ+qoQEa4DJruUbgcAf6lewA2RaRtsKpgCnUK9pkfd22/P9CueA0VpziwGAJFSmLQIoYy0SLjJHH5609aVHTPHZpoOtkbsXT33vkf2E0+9oZ2W0ZeyOCgOWA+ZC1yzqgzNRgSrsp20ORJF4DG/LRYFCgRWm0Ji0H+MAYRkQmFUs6Ie0810GWpKgP7mgzYAk3e6nNQKqBDBmOE/SWRUFfPx4VgAd6ANgBQf+wc20p+RH21PbKgNg9JSB06aomADxobTMtApNBVLejYXbSCv5fSbcuGiwdgqe1HQRQIv8SnQIIUtmDOgUPLIaqz2WTFWSynKy1jNJrMMSIAY5h2kIFvnRBIzBFMQWgAEdwzHIQL0sGCQwwFEM7z7tGaRzVXZoV/64fxArxUdISH4LDj0ri1AAlVbTINYD2AkWDTMHVgTnkMKU1+bv+ssBQmUJs01vTDDaSp0SsKZRhNTvMmCApe2sVZvM++sfNWRZECU/LYdSFIKLPvfrpyRHizqrAXlRgIHQ7gWL2oGrI1Jofbb/G8qf9W4QiAxAA8k/l+RAOCBJNS336rG9gpN2E9AUWtO8Fk35cEKUCW5Xf5kumg0AGpY10i6LQyim6dQWKdJ6fbtWcMYc5xN70BvBQy/AWB6Aute4EyL0EjBj6pGM1XXpe7qm3QNkWAwAt3LGHTZ/XnOAMacSWQva8w+P2t9pp50GASU4mCMDzocz5UwjZvRHU8AyQMERjXFP0xPBkHtJNNNU1sugLY5X6ZAZRyOtxkjaIzgqf843t0nOuZjl3aLAtK4aYFwITat6E02VrfaPJ8bpfnQRAkJkGpWWV4AoRjAW9DY3Rn/7jYFvy476buO1X8uBV2jggnqcYQUD04zWchcfFtVgfsBB+6xzzj+sofYYIecAZmCV2SKMT8LkFrUxwAAwCiMRSlppmACGdpJsWu1wHVOqHfQ0VaOlvud/MY6mAJeZJxAV5aEDoAlOgZQ2OwCG6RY0zMt91jdhbAFFH+7xmwNdO+yww6DD58xxVaGEr2CRoAvWjBnPAGnpVD2436ePl3KtceBbz6Jug7m2KV1gLwX0kj7YQGzkam1W1FnJDGBkh/bYY4+57FERM7DVP7fcZxWJpopuK6ajMT2pvekWqRf99nwN0wQmViwAGMAr2pPB4iIIhEDJWnOPQwCQQrse2aAtRXv+El1gaF0WzdMdEATw0EMPHXXNrACGFlkzw/0jKuBZBsGVObG/HmJNBEmARytBpfGARAMwWSNaqq6s7UCqVdBKMNBv3FVs9mcjon79oA/fga9/G+rUdbf4syHzvSTAmKCqscNOewDZFOY4/vjjx+776pkSBN8Vz5kmOGitaHV6kFAMkUY0HTC4fPirXvWqITzT1RSM0Y4I1XXVWBEO6UJaC3Q7AqdFcrTT5i9pTAX2GA6w6eE3tORiWApxh6fFTg/azLQDvWd0OC9gpIlAFny2+a17CaQXHihg4N+LkkXKBLiqU0Ks8uWoo46ae6pP7VAA83bC4c8pbWhbbClxSYBpgoE7TM6roFBByIyIOAUipAoYVXrQLBrXEbj8c4sL3t1DEPji0n0i26lQMd/9iyhJnm7ljC6mX3uK8wKXbyQI5ueO8ttoE83TsLSY2cN0wZK2+EZtTY+2k7gPONODcOmXNlcGjO4SPa1gEUDlS2XNaqNlV35XAOsxEQVh+GIG4RwsnGeabX1Ft3q3DR1LAqw8tYOmCZT4OICSYgDRYt8r0CsingYFfmNe7MshoTZsVfbqPgOnhSRZux2AtUFMVWYLFqYX052F+dYCIPcCySYxEbPnaxAM5hFIwNUG/yeOcDDLKiL1TyOmW1L4SgVzLAwtpeUEoGdmuZ8VMT6aF/gEzL4kQNsqayy0twe4TBdyjIFlImT9FYJ2uRT39vxnv+GdnSEsoDF6CrBp60L+eIMAA4fk+4MJh++IjXn8WUDw0QcccMAAoE5oyXT+Jirkh/vvAxEkk8nkGSifwx8Dmv9yYDTfVDsY5lrFe2iLwfrUN3+f1aBN9jrpF7Aknc/3Tgv4xpZA9eX3kjZMcBkz7anvokWlJvlMNPlfx6Yw+gMskLknGsuV4RHFAAiT7hwz20a6BBn9hJDy9LAX12633XZDk1lAWo7mbbfddtR+cTv47EHsAF7oWFSD+cCkkelKSzFUmatBOy+CZM4kBRxtWKO1HRhNS2SA+KJKd5x3HakGGMb7DkgMLc2H4ZjdkwNExQFMQ1gSjEcXZrAKtNxLHCDaZdoxkpbM98OtwVZKE920nTWg2fwrAQWumEGZbBvIJUUAqH8xCfMJdMJiBsIFATrBLz9dP3hKW3u6n9/d7+91xTvTXPSUr67jIvFroWXFBQGmrQYxnfuSIsS3RNjWjggUFCkAd18+cGqizVUxC/gEoj063U86BT4Yn+kSsTOPgBFJAq2lNYzqwKxWdvh4OwkwpgCP2WRy99lnnyFk+jCeaaIDiGjHrCyI9sUdpl/AkxNHm/sJwvRgUZzrr3JEuf7uh1l3PaBpphgmcz6tteZfafXUt5cr0M+U1vmaWu6+apjp+Q1qMIZkKtzAFFVkvpApoME0h381V8SQAPbO/ORDTQeY5ClBAKNZIsQOJq7SXQxgYvvLm2lWrYeB8rcYJE4ApgBQNEuYaKDdi+qvWSKC5voO55nE6sj6ndAZS49V7DFLLM10SynBAyS60KxO2rsEjBQsMM0CKI1tOAVs9VMyqHk+RWIxWB79o3nKz3INgG/L0Ip8sMBp6kPzrxrMXDjfNAbx7vFIhvkdtZhOO4BUyjEf6LwByx8Lpnr8AmBMOQQZ+TR90pYSHBikb4x3TUVvfBmzKKjDUP6+RD4wMWUa5NBIlgAtzXG1TTC5Av0yoXxs1o3mdBBO82Z0oB+gHgrDmhm3qJggElp0lBfvfjxhsZx3P4HnNvhWSiPyXuzYUMLjf2kwKdGwwKlDkCLnzA/TpJ4xhYhnPetZIyJ1kE7BhDaq9KgNPliCgnnquYwJSn1qj9Tyb001JBIwtcIC5lZQMd36Qusqo6FBzLMCdi5jPiPRQyi9eiJfNHIjtFIsYTsLYSE0Bx100EgsACAzLj6ZKgCesABiBrstCLvkiszYtGZNXwAG5FRIaSkBcS1eC259f8xjHjOUBtB4YJzmwFyiWYfEjHhmQ4V5C5po5rbOmZ5dd911mC4SzLROD8+k8LgFgzU/E1AAaLqRy/UCAOAx48ChGWk/6WvrJMGwaiX6rM5acqLltubaUxowl1aS/P4aFxOaARQRF8wlfNNkCOaVhdIHX90+KJpqOmLsxll7UxoIJ18tqEOvQ0CGNpYq38pKAb5nZtYGFyAOwOM2ruEnV2Dvk0CLsKKJJXBwo3A6+uijTzYjmNJ1MoBJgcEdeeSRc9cghkQZVFX5mFHExqSWvzV480OmscrEGiKhBgxg1zGPTTEA7LuUo6iUuaMFpif971+JAu2lEa3M5AIIiXRgT7yZD8SOO+44hKxy1PmrNNyHuIMAyBLx99Nd/NPVn4rhA47QUgL3mu4JCh3TJwCwGObT5eOj33V4ShONn5Xbd999R8zQjsxpbBJPLfTIZOl32SYaI5mqNnDzYYDHPIMhAD2EREc+SxBg6nTFCMEEw30OoGOKQ/DjvP1GGGBApLNSFqZQcIN45tjUqqI+UbVonlbRFhqSnyIkTBoGy4a1KwGg5pP8PCD6a3haitloIaQA50P173fzbW6Fm+D3S3QQImORqKG5aJNrpqm0Dz9k57z47/5tRrKif0RFKxPL9+vLuJpqFWh5jomFHtE7TW3zHHfXHmT8XGzB4WQa7EJSVp45SfE7kAFIi6tGKIxHqGyKg6l00GD+AfNb/BYwVfeEkc4TEAGGtnq+o4FUzegJPMySVZWWL53zmUaihaYyZU11FNZxEwIrCfl8NOHUVzXbgiB+zvSLoBCqlvv4SCaXtTCvrRwYf3qwKUb7He0AMMtggvlxAoUGfQnoTBErnCieoDyydIREu9pprRrNLFkmOyuV9ZxiMzXJ8z8vmapMOgK/mqRKQUXXmE0AgI8wEpj5MyUCDv+GOIMskuzBIgbFr2jTb8yRwVVBSVva6NZzHFs2a5VFBFz0apA0g/sgLDS3/U3AAarfAw3dPZAFk1u+pLEAN2aa3/YdvChjVfkruo1Vu+j1vWVGgRGNRVMVlcba1IhwAbiie2Ni+RqPz+iYZt6WWiYM6AUB3tDNVU3SZFKnw1YyAGxQLbYjSCRbXTSTTxBIuoH6vZ3uPYbJ4N1PuwGGsWippqttMFmS1kyBXV0xLWIGvWujvxEApusIF19Pu3t+Bmagt1LZ9kgZG+YX9QK19VmWCj35XX0BrA1prX8Dsqkdayb5QisrvHPOZ/fqB420nVlnnlm/1ZbMGteSGjxVeSBiAo3DkEp6MKFqibZg9EiEomNAuYdmYjr/VepQOwIa7WIMf0wICAwGVMGpjaY4hKFCPAxyX2bNO5+qXQl8PlfbWQiCQQgwFYiuAZ7z+gaW/nsoGR4w3+jWNuExN8V42loGrlxzFgeNxsCU45vrtI1XbWhjrbTrO3DR4DpuhyD3OIrFAqmNMtHzAcY0wFTdYFCBivkIne5saDtHRXiVuKggFIBgJAANRlsYkFbQ+P4BpR0Cgd+yYaWs7QDwLhjsj5fboY/BAYYGJtcYzJvbQEeYWA8vNFTQBxAgAYt2+156ECiCMmMpUUJw2jtFmIBE27XfsqbfE9BmFb4DVj9KjPAF/Yut9y4G7oo1mAb1p4g+N23ih2gEbeVL+TumsLXQ5sQEoWJwgDJ3BTwtJmjX9QV1gG23RLXG1qgxX1vOY16pT/d5tZjQ9CXXISLNFPbIiXZIAGK6t4nwEagSMsCtcJDVyCf6TBDd3z+05a4IPfpbD3cNd8Vco814q3KRJPHZWIwBwMz1arV3xQC7oR3nPaQMUMwMjSLlEhQ9X4Im9dzlHr1QdWNbQIEOaO2WX80SVHCvXwAVzWNAdLQFJO3Jp7m+eX0+TN9+9+qzdrTbjgl9dn0rNC2sdF+rOQkh0P3mvcWYfG/XtEbeSltpUu9+804QKr91f0K53IBqIW3+f7IOqNW9VdpJAAAAAElFTkSuQmCC"
  },
  {
    "path": "editions/fr-FR/tiddlers/SampleNotification.tid",
    "content": "created: 20140912145543340\nmodified: 20140912145610020\ntitle: SampleNotification\ntype: text/vnd.tiddlywiki\n\n{{$:/core/images/done-button}} This is a notification!\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/SampleTabFour.tid",
    "content": "caption: ~OngletQuatre\ncreated: 20141211133915113\nmodified: 20141211134626996\ntags: sampletab\ntitle: SampleTabFour\ntype: text/vnd.tiddlywiki\n\nVoici le quatrième de nos onglets d'exemple. "
  },
  {
    "path": "editions/fr-FR/tiddlers/SampleTabOne.tid",
    "content": "caption: ~OngletUn\ncreated: 20141211110121033\nmodified: 20141211134650836\ntags: sampletab\ntitle: SampleTabOne\ntype: text/vnd.tiddlywiki\n\nVoici le premier de nos onglets d'exemple. "
  },
  {
    "path": "editions/fr-FR/tiddlers/SampleTabThree.tid",
    "content": "caption: ~OngletTrois\ncreated: 20141211134223579\nmodified: 20141211134854238\ntags: sampletab\ntitle: SampleTabThree\ntype: text/vnd.tiddlywiki\n\nVoici le troisième de nos onglets d'exemple. "
  },
  {
    "path": "editions/fr-FR/tiddlers/SampleTabTwo.tid",
    "content": "caption: ~OngletDeux\ncreated: 20141211133820329\nmodified: 20141211134639089\ntags: sampletab\ntitle: SampleTabTwo\ntype: text/vnd.tiddlywiki\n\nVoici le deuxième de nos onglets d'exemple."
  },
  {
    "path": "editions/fr-FR/tiddlers/SampleWizard.tid",
    "content": "created: 20140912145537860\nfooter: <$button message=\"tm-close-tiddler\">Fermer</$button>\nfr-title: Exemple d'assistant \nmodified: 20150620085917613\nsubtitle: Je suis un assistant modale\ntitle: SampleWizard\ntype: text/vnd.tiddlywiki\n\nVoici un dialogue d'assistant modale, mémorisé dans le tiddler [[Exemple d'assistant|SampleWizard]].\n\n{{Motovun Jack.jpg}}\n\nVous pouvez <$button message=\"tm-modal\" param=\"SampleWizard2\">dénicher les assistants</$button>.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/SampleWizard2.tid",
    "content": "created: 20140912145532856\nfooter: <$button message=\"tm-close-tiddler\">Fermer</$button>\nfr-title: Exemple d'assistant 2\nmodified: 20150620090110881\nsubtitle: Je suis un autre assistant modale\ntitle: SampleWizard2\ntype: text/vnd.tiddlywiki\n\nVoici un autre dialogue d'assistant modale, mémorisé dans le tiddler [[Exemple d'assistant 2|SampleWizard2]].\n\nVous pouvez <$button message=\"tm-modal\" param=\"SampleWizard\">dénicher les assistants</$button>.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Saving with the HTML5 saver.tid",
    "content": "created: 20131129092604900\nfr-title: Sauvegarder avec l'enregistreur HTML 5 par défaut\nmodified: 20160526130128327\ntags: Saving\ntitle: Saving with the HTML5 saver\ntype: text/vnd.tiddlywiki\n\nCette manière d'enregistrer les modifications est assez pénible, car elle requiert une intervention manuelle à chaque enregistrement. Elle a l'avantage de fonctionner avec pratiquement tous les navigateurs tournant sur les ordinateurs de bureaux, et de nombreux navigateurs tournant sur appareils mobiles.\n\n# [[Téléchargez|Download]] un TiddlyWiki en cliquant sur ce bouton<<dp>>\n#> {{$:/editions/fr-FR/snippets/download-empty-button}}\n#> Si le bouton ne fonctionne pas, enregistrez ce lien<<dp>> https://tiddlywiki.com/languages/fr-FR/empty.html\n#> Votre navigateur vous demandera peut-être d'accepter explicitement l'enregistrement avant qu'il démarre\n# Localisez le fichier que vous venez de télécharger\n#* Vous pouvez le renommer, mais assurez-vous de conserver l'extension `.html` ou `.htm`\n# Ouvrez le fichier dans votre navigateur\n# Essayez de créer un nouveau tiddler à l'aide du bouton ''nouveau tiddler'' {{$:/core/images/new-button}} de la barre latérale. Ajouter du contenu dans le tiddler, et cliquez sur le bouton ''terminé'' {{$:/core/images/done-button}}\n# Enregistrez vos modifications en cliquant sur le bouton ''enregistrer les modifications'' {{$:/core/images/save-button}} de la barre latérale\n# Votre navigateur téléchargera alors un nouvel exemplaire du wiki, avec vos modifications à l'intérieur\n# Localisez ce nouveau fichier et ouvrez-le dans votre navigateur\n# Vérifiez que vos modifications ont correctement été enregistrées\n\n''Truc'': la plupart des navigateurs peuvent être configurés pour proposer un chemin d'enregistrement à chaque téléchargement. Cela vous permet de sélectionner la version précédente du fichier et ainsi de la remplacer.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Scalability.tid",
    "content": "created: 20130822173400000\nfr-title: Adaptabilité\nmodified: 20150602103603959\ntags: Features\ntitle: Scalability\ntype: text/vnd.tiddlywiki\n\nVous pourriez vous demander si l'architecture de TiddlyWiki en tant que SinglePageApplication serait adaptée pour de gros volume de d'information. En réalité, les utilisateurs de TiddlyWiki travaillent souvent avec des fichiers de 20 or 30 mégaoctets sans problème - et des expérience traitant des gigaoctets ont aussi été couronnées de succès."
  },
  {
    "path": "editions/fr-FR/tiddlers/Searching_in_TiddlyWiki.tid",
    "content": "created: 20140210160125905\nfr-title: Chercher avec TiddlyWiki \nmodified: 20150617073048971\ntags: Features [[Working with TiddlyWiki]]\ntitle: Searching in TiddlyWiki\ntype: text/vnd.tiddlywiki\n\nUne recherche rapide et maléable avec ~TiddlyWiki. \n\n''Recherche standard''\n\nSaisir du texte dans la case recherche du menu latéral listera une liste de tous les tiddlers contenant ce texte.\n\n://(Notez que les onglets du menu latéral seront masqués par les résultats de la recherche jusqu'à ce que vous cliquiez sur le 'x' à droite de la case de recherche pour les faire disparaitre)//\n\n''Recherche avancée''\n\nCliquer sur l'icone loupe à droit de la case de recherche ouvrira [[$:/AdvancedSearch]], un tiddler contenant 4 onglets<<dp>>\n\n* L'onglet ''standard'' est un autre présentation de la case recherche du menu classique\n* L'onglet ''système'' étend la recherche aux tiddlers système\n* L'onglet ''shadows''  étend la recherche aux tiddlers shadows\n* L'onglet ''filtre'' n'est pas une case de recherche, en soi, mais juste un moyen d'avoir une liste de tous les tiddlers selon les critères définis par le [[filtre|Filters]], par exemple, \"Toutes les étiquettes hormis les tags système\"\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Selection_Constructors.tid",
    "content": "created: 20150117204109000\nfr-title: Constructeurs de sélection\nmodified: 20150624092756192\ntags: Concepts\ntitle: Selection Constructors\ntype: text/vnd.tiddlywiki\n\nLe résultat du [[filtre|Filters]] d'une étape dépend de son [[opérateur|Filter Operators]]:\n\n* La plupart des opérateurs forment leurs résultats à partir de leurs entrées. Par exemple, la plupart produisent un sous-ensemble de leur entrée, et se faisant, méritent vraiment leur nom de <<.word filtres>>,car ils réduisent la taille du résultat généré par la [[séquence|Filter Run]]. Ces opérateurs sont nommés <<.def \"modifieurs de sélection\">>.\n\n* Quelques opérateurs ignorent leurs entrées et génèrent un résultat indépendant. Ils sont appelés <<.def \"constructeurs de sélection\">><<:>> Ils construisent une [[sélection|Title Selection]] entièrement nouvelle.\n\nUn bon exemple de constructeur est l'opérateur <<.olink title>>. Le résultat de `[title[A]title[B]]` est juste <<.tid B>>. Mais l'ajout de l'opérateur modifieur <<.olink field>>, `[title[A]field:title[B]` ne produit plus rien du tout.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/SetVariableWidget.tid",
    "content": "caption: setvariable\ncreated: 20131024141900000\nmodified: 20141029091544273\ntags: Widgets\ntitle: SetVariableWidget\ntype: text/vnd.tiddlywiki\n\nLe widget `<$setvariable>` est un synonyme de `<$set/>`; voir SetWidget pour plus de détails.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/SetWidget.tid",
    "content": "caption: set\ncreated: 20131115182700000\nfr-title: Widget set\nmodified: 20150620061155802\ntags: Widgets\ntitle: SetWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nLe widget set variable affecte une valeur à une [[variable|Variables]] spécifiée. La nouvelle valeur est alors disponible par le contenu dans le cadre défini du widget.\n\n! Contenu et Attributs\n\nLe contenu du widget `<$set>` forme le cadre de la valeur affectée à la variable.\n\n|!Attribut |!Description |\n|name |Le nom de la variable à affecter (par défaut du \"Tiddlercourant\") |\n|value |La valeur à affecter à la variable si le filtre est manquant ou non vide |\n|filter |Un filtre optionnel à évaluer et à affecter à la variable (voir ci-dessous) |\n|emptyValue |La valeur à affecter à la variable si le filtre évalue une liste vide (voir ci-dessous) |\n\n!! Affectation simple d'une variable\n\nL'utilisation la plus simple du widget set variable affecte une chaine à une variable. L'exemple suivant affecte une chaine littérale\n\n```\n<$set name=\"maVariable\" value=\"du texte\">\n<$text text=<<maVariable>>/>\n</$set>\n```\n\nLes attributs nom et valeur peuvent tous deux être transclus. Par exemple<<:>>\n\n```\n<$set name=<<autreVariable>> value={{gabarit!!texte}}>\n<$text text=<<maVariable>>/>\n</$set>\n```\n\n!! Affectation conditionnel d'une variable\n\nCette forme du widget set variable choisit une des deux valeurs spécifiées selon que le résultat du filtre soit une liste vide ou pas. Voici un exemple affectant une variable selon que le tiddler courant se nomme \"monTitreMagique\" ou pas<<:>>\n\n```\n<$set name=\"maVariable\" filter=\"[all[current]field:title[monTitreMagique]]\" value=\"C'est magique\" emptyValue=\"Ce n'est pas magique\">\n<$text text=<<maVariable>>/>\n</$set>\n```\n\n!! Affectation d'une liste filtrée de variable\n\n\nCette forme du widget set variable évalue le filtre et affecte le résultat à la variable sous forme de liste séparée par des espaces (utilisation des double crochets pour les titres contenant des espaces).\n\n```\n<$set name=\"maVariable\" filter=\"[tag[Introduction]]\">\n<$text text=<<maVariable>>/>\n</$set>\n```\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Setting a favicon.tid",
    "content": "fr-title: Choisir un « favicon »\ncreated: 20131224074240979\nmodified: 20141115212933955\ntags: [[Customise TiddlyWiki]]\ntitle: Setting a favicon\ntype: text/vnd.tiddlywiki\n\nLes <<gf \"favicons\">> sont de petites icones que la plupart des navigateurs web affichent pour aider les utilisateurs à identifier les sites web.\n\n! favicons dans le Navigateur\n\nLorsque TiddlyWiki démarre dans le navigateur, il cherche un tiddler nommé [[$:/favicon.ico]] et l'utilise dynamiquement comme //favicon// de la page. Si vous modifiez l'image, le //favicon// change instantanément pour en tenir compte.\n\n! favicons sur le Serveur\n\nSur le serveur, la commande [[server|ServerCommand]] servira le tiddler [[$:/favicon.ico]] sur le chemin `/favicon.ico`.\n\n\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Setting_a_page_background_image.tid",
    "content": "created: 20150417155912612\nfr-title: Mettre une image de fond de page\nmodified: 20150615110349432\ntags: [[Customise TiddlyWiki]]\ntitle: Setting a page background image\ntype: text/vnd.tiddlywiki\n\n# Importer votre image comme tiddler (voir [[Images dans WikiText|Images in WikiText]])\n#* Vous pouvez aussi faire appel à une [[image externe|ExternalImages]]\n# Ouvrez le $:/ControlPanel et sélectionnez  ''réglage thème'' dans l'onglet ''Apparence''\n# Choisissez votre image à partir de la liste déroulante \"Page background image\"\n# Réglez \"Fixation de l'image de fond de page\" à \"Fixée à la fenêtre\" pour un fond d'écran figé avec le contenu se déroulant au dessus, ou \"Défile avec les tiddlers\" pour le faire se déplacer (notez que les iPhone/iPad [[n'acceptent pas le réglage fixé|http://stackoverflow.com/a/20444219]] pour des raisons de performance)\n# Réglez \"Taille de l'image de fond de page\" comme suit<<:>>\n#* ''Auto'' permet à l'image de dépasser le cadre du fond de page\n#* ''Élargie'' étend l'image jusqu'à ce que sa taille couvre complètement la page. Une partie de l'image peut être tronquée\n#* ''Contenue'' ajuste l'image de façon à ce qu'elle s'inscrive complètement dans la page\n\nNotez que la palette ''DarkPhotos'' est proposée pour rendre le menu latéral plus lisible avec les images de fond sombres.\n\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/ShadowTiddlers.tid",
    "content": "created: 20150622123550638\nfr-title: Tiddlers shadow\nmodified: 20150624092044177\ntags: Concepts\ntitle: ShadowTiddlers\ntype: text/vnd.tiddlywiki\n\nLes tiddlers shadow sont des tiddlers chargés à partir d'un [[Plugins]]. Contrairement aux tiddlers ordinaires, ils n'apparaissent pas dans de multiple listes.\n\nLes tiddlers shadow peuvent être remplacés par un tiddler ordinaire de même nom. Si ce tiddler est supprimé, le tiddler shadow est alors automatiquement restauré.\n\nLes tiddlers shadow actuels sont<<:>>\n\n<$list filter=\"[all[shadows]sort[title]]\"/>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Share Plugin.tid",
    "content": "created: 20201228143125000\nfr-title: Plugin de partage\nmodified: 20220221010033461\ntags: OfficialPlugins\ntitle: Share Plugin\ntype: text/vnd.tiddlywiki\n\n<div class=\"tc-message-box\">N'installez ce plugin que si vous comprenez ce qu'il fait !</div>\n\nCe plugin expérimental fournit des outils pour partager des tiddlers via des URLs, comme<<:>>\n\n* La possibilité de charger un groupe de tiddlers grâce à une //adresse hachée// au démarrage\n* Un assistant et des modèles pour créer des URLs à partir d'un groupe de tiddlers\n\nDans la [[bibliothèque des plugins|Installing a plugin from the plugin library]], vous trouverez le plugin de partage sous le nom <<gf \"Share Plugin\">>.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Sharing a TiddlyWiki on Dropbox.tid",
    "content": "created: 20140122085818089\nfr-title: Partager un TiddlyWiki avec Dropbox\nmodified: 20220222195202852\ntags: Learning\ntitle: Sharing a TiddlyWiki on Dropbox\ntype: text/vnd.tiddlywiki\n\nVous pouvez travailler sur un fichier TiddlyWiki dans Dropbox et publier un lien que chacun pourra visualiser en lecture seule.\n\n# Mettez votre fichier TiddlyWiki dans un répertoire Dropbox\n# Choisir l'option \"Partager lien\" de Dropbox pour avoir un lien d'accès publique au fichier\n#* Dans l'interface web de Dropbox, c'est possible en cliquant sur l'icone du lien qui apparait au survol du fichier. Dropbox ajoute aussi un élément \"Lien Partagé\" au menu contextuel du Finder sur OS X et de l'Explorateur Windows\n# L'URL générée par Dropbox aura cette forme<<:>>\n#> `https://www.dropbox.com/s/<gobbledegook>/mywiki.html`\n# Modifier l'URL ainsi, en préservant soigneusement le //gobbledegook//<<:>>\n#> `https://dl.dropboxusercontent.com/s/<gobbledegook>/mywiki.html`\n\nLe résultat est une URL \"secrète\" que vous pouvez envoyer à d'autres personnes qui auront alors la capacité de découvrir le wiki.\n\n----\n\nEntrez une URL générée par Dropbox ci-dessous et vous pourrez copier-coller l'URL secrète correspondante, ou l'ouvrir en cliquant sur <<gf open>><<:>>\n\n<$edit-text tiddler=\"$:/temp/dropboxurl\" default=\"https://www.dropbox.com/s/<gobbledegook>/mywiki.html\" tag=\"input\" type=\"text\" size=\"60\"/>\n\n<$macrocall $name=\"dropbox-url\" url={{$:/temp/dropboxurl}}/>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Sharing your tiddlers with others.tid",
    "content": "created: 20140908163900000\nfr-title: Partager vos tiddlers avec d'autres\nmodified: 20220221004623008\ntags: Learning\ntitle: Sharing your tiddlers with others\ntype: text/vnd.tiddlywiki\n\nIl existe plusieurs façons de partager des [[tiddlers|Tiddlers]] ou votre <<tw>> complet<<:>>\n\n*Vous pouvez joindre un <<tw>> à un courriel\n*Vous pouvez publier votre <<tw>> en ligne, et envoyer le lien dans un message<<:>>\n**un lien vers l'URL du fichier lui-même\n**un [[permalien|PermaLinks]] (<<.icon $:/core/images/permalink-button>>) vers un tiddler spécifique\n**Un lien [[permaview|PermaView]] (<<.icon $:/core/images/permaview-button>>) de tous les tiddlers ouverts\n* Vous pouvez [[partager un lien Dropbox vers votre TiddlyWiki|Sharing a TiddlyWiki on Dropbox]]\n* Vous pouvez [[exporter des tiddlers|How to export tiddlers]] (<<.icon $:/core/images/export-button>>) dans plusieurs formats de fichiers tels que texte (.TID), HTML statique, JSON et CSV (valeurs séparées par des virgules, compatibles avec les tableurs)\n* Vous pouvez aussi partager des tiddlers simplement  en rendant votre <<tw>> accessible aux autres, par exemple en le publiant en ligne, ce qui leur permettra [[d'importer des tiddlers|Importing Tiddlers]] qu'il contient\n* Il y a un [[plugin de partage|Share Plugin]] expérimental que vous pouvez utiliser pour partager des tiddlers grâce à une URL spécialement conçue à cet effet.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Simple_Zork-like_Game_by_Jed_Carty.tid",
    "content": "created: 20141118143636664\nfr-title: Une \"histoire dont vous êtes le héros\" par Jed Carty\nmodified: 20150614041634588\ntags: Examples\ntitle: Simple Zork-like Game by Jed Carty\ntype: text/vnd.tiddlywiki\nurl: http://zorklike.tiddlyspot.com\n\nUn jeu simple développé avec TiddlyWiki et présenté dans [[cet article (eng)|https://groups.google.com/d/topic/tiddlywiki/4aRpZht1vOs/discussion]].\n\n{{!!url}}\n\n<<<\nJ'ai voulu évaluer la possibilité de créer un certain type de jeu en utilisant seulement le noyau de tiddlywiki sans plugins ou code javascript. J'ai réalisé un jeu de fiction interactif de type zork réduit à l'essentiel. C'est le jeu le plus simple que je puisse faire à ce jour, mais je pourrai faire quelques ajouts à l'avenir. il utiliser la préversion 5.1.5 car le widget action-setfield  épargne un gros travail d'élaboration de macros.\n\nLe but était de n'utiliser que les fonctions du noyau de tiddlywiki, aussi il n'y a ni plugins, ni javascript.\n<<<\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Some of the things you can do with TiddlyWiki.tid",
    "content": "created: 20140904090300000\nfr-title: Certaines choses que vous pouvez faire avec TiddlyWiki\nmodified: 20160602061707749\ntags: HelloThere\ntitle: Some of the things you can do with TiddlyWiki\ntype: text/vnd.tiddlywiki\n\n* Prendre des notes, et servez-vous des tags et des références croisées pour les lier entre elles ;\n* Utiliser les onglets, les tableaux, les listes de tiddlers partageant les mêmes tags, et les tables des matières, pour organiser vos notes ;\n* Sauvegarder des signets pour vos sites web préférés (un exemple sur http://giffmex.org/experiments/tidmarks.html)<<;>>\n* Garder trace de vos tâches et rendez-vous, et organisez-les à l'aide de tags multiples (voir notre [[exemple de gestion de tâches|TaskManagementExample]])<<;>>\n* Inventorier tout ce qui vous passe par la tête : vos recettes, votre bibliothèque personnelle, vos contacts, votre collection de morceaux de musique, etc.<<;>>\n* Créer un blog ou un site web<<;>>\n* Écrire un livre<<;>>\n* Organiser vos images en galeries (voir notre [[exemple de galerie d'images|ImageGallery Example]])<<;>>\n* Partager les informations contenues dans votre <<tw>> avec d'autres, sous forme de fichier en ligne, de pièce jointe dans un email, d'un fichier tiddler, ou d'un lien vers un tiddler en ligne précis (essayez de cliquer sur un lien de tiddler et de le transporter depuis un <<tw>> vers un autre, pour voir)<<;>>\n* Faire une esquisse de dessin (éditez [[Motovun Jack.jpg]] et commencez à dessiner sur l'image, pour visualiser)<<;>>\n* Créer un assistant modal (on parle aussi de //lightbox//) — voir [[Exemple d'assistant|SampleWizard]]<<;>>\n* Créer une présentation de type « transparents »<<;>>\n* Créer une base de connaissance complète en local ou en ligne, à partir d'un fichier <<tw>> central pointant vers d'autres fichiers <<tw>> (un exemple est visible à l'adresse http://recursos.giffmex.org)<<;>>\n* Créer une infographie en utilisant des tiddlers comme données (voir les infographies à l'adresse https://tiddlywiki.com/plugins/tiddlywiki/d3/).\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Spelling.tid",
    "content": "created: 20150110182900000\nfr-title: Orthographe\nmodified: 20150621215034075\ntags: [[Improving TiddlyWiki Documentation]]\ntitle: Spelling\ntype: text/vnd.tiddlywiki\n\nDu fait des origines britanniques de ~TiddlyWiki, sa documentation anglaise emploie [[l'orthographe britannique de préférence à l'orthographe US|http://en.wikipedia.org/wiki/American_and_British_English_spelling_differences]].\n\nLes mots comme <<.word customise>> sont orthographiés <<.word -ise>> et pas <<.word -ize>>.\n\nLes acronymes techniques standard sont écrits en majuscules, sans points<<:>> <<.word HTML>>, et pas <<.word html>> ou <<.word H.T.M.L.>>\n\nÉviter les abréviations arbitraires de mots ou de phrases. Mais les abréviations suivantes sont acceptables<<:>>\n\n|!Abbréviation |!Signification |!Notes |\n|e.g. |par exemple |avec un point après chaque lettre |\n|i.e. |c'est à dire |avec un point après chaque lettre  |\n|etc |ainsi de suite |sans point |\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Structuring TiddlyWiki.tid",
    "content": "created: 20131128090536894\nfr-title: Structurer TiddlyWiki\nmodified: 20220220003638545\ntags: [[Working with TiddlyWiki]]\ntitle: Structuring TiddlyWiki\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki5 fournit plusieurs fonctionnalités qui vous aideront à structurer les informations sous forme de [[tiddlers|Tiddlers]], et à modéliser les relations entre eux<<:>>\n\n* <<fr TiddlerLinks>>\n* <<fr Tagging>>\n* <<fr \"Title List\">>\n* <<fr DataTiddlers>>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Styles and Classes in WikiText.tid",
    "content": "caption: Styles et Classes\ncreated: 20131205160532119\nfr-title: Styles et Classes en WikiTexte\nmodified: 20220304133607415\ntags: WikiText\ntitle: Styles and Classes in WikiText\ntype: text/vnd.tiddlywiki\n\nVous pouvez utiliser cette structure pour affecter un style ou des classes CSS au contenu encadré<<:>>\n\n<<wikitext-example src:\"@@.monStyle\n* Liste Une\n* Liste Deux\n@@\n\">>\n\nUne syntaxe similaire permet d'affecter des styles. Par exemple<<:>>\n\n<<wikitext-example src:\"@@background-color:red;\n* Liste Une\n* Liste Deux\n@@\n\">>\n\nPlusieurs styles et classes peuvent être affectés en même temps<<:>>\n\n<<wikitext-example src:\"@@.tc-tiddler-frame\n@@width:400px;\nDu texte\n@@\n\">>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/SystemTags.tid",
    "content": "created: 20130822080600000\nfr-title: Tags système\nmodified: 20150624091907085\ntags: Concepts\ntitle: SystemTags\ntype: text/vnd.tiddlywiki\n\n<style>.symb svg {width: 1em; height: 1em; margin: 0em;}</style>\nLes tags système sont employés pour donner un comportement particulier aux tiddlers.\n\n! Tags système disponibles\n\nListe des tags système disponibles\n\n* {{$:/tags/AboveStory||$:/core/ui/TagTemplate}} Éléments à placer au sommet du déroulé\n* {{$:/tags/AdvancedSearch||$:/core/ui/TagTemplate}}Recherche Avancée +/- d'Onglets\n* {{$:/tags/Alert||$:/core/ui/TagTemplate}} Créer un Gabarit d'Alerte\n* {{$:/tags/BelowStory||$:/core/ui/TagTemplate}} Éléments à placer en queue de déroulé\n* {{$:/tags/ControlPanel||$:/core/ui/TagTemplate}}<<.button \"control-panel\">> +/- Onglets\n* <div class=\"symb\">{{$:/tags/ControlPanel/Advanced||$:/core/ui/TagTemplate}}<$transclude tiddler=\"$:/core/images/options-button\" /> /<<.controlpanel-tab Advanced>> +/- Options</div>\n* <div class=\"symb\">{{$:/tags/ControlPanel/Appearance||$:/core/ui/TagTemplate}}<$transclude tiddler=\"$:/core/images/options-button\" /> /<<.controlpanel-tab Appearance>> +/- Options</div>\n* <div class=\"symb\">{{$:/tags/ControlPanel/Info||$:/core/ui/TagTemplate}}<$transclude tiddler=\"$:/core/images/options-button\" /> /<<.controlpanel-tab Info>> +/- Options</div>\n* <div class=\"symb\">{{$:/tags/ControlPanel/Settings||$:/core/ui/TagTemplate}}<$transclude tiddler=\"$:/core/images/options-button\" /> /<<.controlpanel-tab Settings>> +/- Options</div>\n* <div class=\"symb\">{{$:/tags/ControlPanel/Toolbars||$:/core/ui/TagTemplate}}<$transclude tiddler=\"$:/core/images/options-button\" /> /<<.controlpanel-tab Toolbars>> +/- Options</div>\n* {{$:/tags/EditTemplate||$:/core/ui/TagTemplate}}Tiddlers, Édition Gabarit +/- zones\n* {{$:/tags/EditToolbar||$:/core/ui/TagTemplate}} Tiddlers, Édition +/- de boutons accessibles\n* {{$:/tags/Exporter||$:/core/ui/TagTemplate}} Créer un Gabarit d'[[Export|Creating a custom export format]]\n* {{$:/tags/Filter||$:/core/ui/TagTemplate}} Ajout au choix déroulant des ex. de filtres en recherche avancée\n* {{$:/tags/Image||$:/core/ui/TagTemplate}} Ajouter des images (noyau)\n* {{$:/tags/Macro||$:/core/ui/TagTemplate}} Ajouter des macros globales\n* {{$:/tags/MoreSideBar||$:/core/ui/TagTemplate}}Menu latéral/<<.sidebar-tab More>> +/- Options\n* {{$:/tags/PageControls||$:/core/ui/TagTemplate}}Menu latéral/<<.sidebar-tab Tools>> +/- Options\n* {{$:/tags/PageTemplate||$:/core/ui/TagTemplate}}Page, Gabarit +/- de zones\n* {{$:/tags/Palette||$:/core/ui/TagTemplate}} Couleur +/- de palettes \n* {{$:/tags/PluginLibrary||$:/core/ui/TagTemplate}} Plugin +/- de bibliothèques \n* {{$:/tags/RawMarkup||$:/core/ui/TagTemplate}} Intégrer les balises brutes à la génération du fichier HTML\n* {{$:/tags/SearchResults||$:/core/ui/TagTemplate}} Créer un Gabarit pour les résultats de recherche\n* {{$:/tags/SideBar||$:/core/ui/TagTemplate}}Menu latéral +/- d'Onglets\n* {{$:/tags/Stylesheet||$:/core/ui/TagTemplate}} Ajout d'un tiddler [[feuille de style CSS|Using Stylesheets]]\n* {{$:/tags/TiddlerInfo||$:/core/ui/TagTemplate}}Tiddler <<.button \"info\">> +/-  Onglets\n* {{$:/tags/TiddlerInfo/Advanced||$:/core/ui/TagTemplate}}Tiddler <<.button \"info\">>/<<.info-tab Tools>> +/- Options \n* {{$:/tags/TopLeftBar||$:/core/ui/TagTemplate}} +/- Menu Haut-Gauche\n* {{$:/tags/TopRightBar||$:/core/ui/TagTemplate}} +/- Menu Haut-Droit\n* {{$:/tags/ViewTemplate||$:/core/ui/TagTemplate}} Tiddlers, Affichage Gabarit +/- zones\n* {{$:/tags/ViewToolbar||$:/core/ui/TagTemplate}} Tiddlers, Affichage +/- de boutons accessibles\n\n! Tags système utilisés\n\nListes des tags système en cours d'utilisation dans ce wiki<<:>>\n\n<ul>\n<$list filter=\"[all[shadows+tiddlers]tags[]prefix[$:/]sort[title]]\">\n<li>{{||$:/core/ui/TagTemplate}}</li>\n</$list>\n</ul>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/SystemTiddlers.tid",
    "content": "created: 20150622122359427\nfr-title: Tiddlers système\nmodified: 20150624092833623\ntags: Concepts\ntitle: SystemTiddlers\ntype: text/vnd.tiddlywiki\n\nUn tiddler système correspond à tout tiddler dont le titre commence par `$:/`<<;>> de tels tiddlers sont automatiquement ignorés de plusieurs opérations. Ils n'apparaissent pas dans les listes des résultats de recherche, mais une liaison directe vers l'un d'eux fonctionne de façon classique.\n\nTiddlyWiki considère tout comme un [[tiddler | Tiddlers]], y compris ses composants internes et sa configuration. Ainsi, même un TiddlyWiki, apparemment vide, contient, en fait, des dizaines de tiddlers nécessaires à son bon fonctionnement. L'emploie de tiddlers système évite les méprises des utilisateurs occasionnels.\n\nLes tiddlers système actuels sont<<:>>\n\n<$list filter=\"[is[system]sort[title]]\"/>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/TW2Parser_Plugin.tid",
    "content": "created: 20150615065648378\nfr-title: Plugin TW2Parser\nmodified: 20150615065907518\ntags: Plugins\ntitle: TW2Parser Plugin\ntype: text/vnd.tiddlywiki\n\nCe plugin, pour l'instant expérimental, permet d'afficher le WIkiText écrit pour la version classique originelle de TiddlyWiki.\n\nVoir https://tiddlywiki.com/plugins/tiddlywiki/tw2parser/\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/TabbedExampleType.tid",
    "content": "created: 20150104221950944\nmodified: 20150127173526102\nmodifier: 127.0.0.1\ntitle: TabbedExampleType\ntype: text/vnd.tiddlywiki\n\ntoc-tabbed-external-nav"
  },
  {
    "path": "editions/fr-FR/tiddlers/Table-of-Contents_Macros.tid",
    "content": "created: 20140919155729620\nfr-title: Macros Tables des matières\nmodified: 20150621092350072\ntags: Macros [[Core Macros]]\ntitle: Table-of-Contents Macros\ntype: text/vnd.tiddlywiki\n\n~TiddlyWiki fournit plusieurs macros permettant de générer une arborescence de liens vers des tiddlers à partir de l'analyse des  [[tags|Tagging]]<<:>>\n\n;<<.var toc>>\n: Un arbre simple\n;<<.var toc-expandable>>\n: Un arbre dont les branches peuvent être déployées ou rétractées\n;<<.var toc-selective-expandable>>\n: Un arbre dont les branches non-vides peuvent être déployées ou rétractées\n;<<.var toc-tabbed-internal-nav>> et <<.var toc-tabbed-external-nav>>\n: Une navigation en deux panneaux<<:>>\n:* sur la gauche, une arborescence extensible sélectivement se comportant comme un ensemble d'onglets verticaux\n:* sur la droite, le contenu du tiddler sélectionné par l'utilisateur dans l'arborescence\n\nLa différence entre ces deux derniers provient de ce qu'il advient lors d'un clic de l'utilisateur sur un lien du panneau droit<<:>>\n\n;<<.var toc-tabbed-internal-nav>>\n: Le tiddler cible s'affiche dans le panneau droit, remplaçant le tiddler contenant le lien\n;<<.var toc-tabbed-external-nav>>\n: Le tiddler cible s'affiche de façon classique (selon la configuration de l'affichage du déroulé par l'utilisateur)\n\n!! Structure\n\nLe premier niveau de l'arborescence est constitué de tiddlers qui portent une étiquette particulière, appelée <<.def \"tag racine\">>. Les tiddlers marqués par l'un de ceux-là forment le niveau suivant, et ainsi de suite.\n\nÀ chaque niveau, les tidllers peuvent être [[ordonnés|Order of Tagged Tiddlers]] \nvia le champ <<.field list>> de leur tiddler tag parent. Ils peuvent aussi être triés en paramétrant la macro <<.param sort>>\n\nL'arborescence affiche le champ <<.field caption>> du tiddler s'il en a un, sinon son titre.\n\nChaque tiddler est affiché comme un lien, mais vous pouvez règler ceci en affectant la valeur <<.value no>> au champ <<.field toc-link>> du tiddler. Ainsi dans cet [[exemple|Table-of-Contents Macros (Examples)]], le tiddler SecondThree est affecté de la sorte. Cliquer sur un tel tiddler dans l'arborescence permettra de déployer ou rétracter sa branche.\n\nLa table des matières génère une liste HTML ordonnée. Les balises `<ol>` ont toujours la classe `tc-toc`. Les éléments d'arborescences déployables ont la classe additionnelle `tc-toc-expandable`. Les arborescence déployables sélectivement (dont celles du deuxième panneau de navigation) sont munies de `tc-toc-selective-expandable`.\n\nPour intégrer une table des matières dans le menu latéral, voir [[un nouvel onglet dans le menu latéral|How to add a new tab to the sidebar]].\n\n!! Paramètres\n\n;tag\n: Le tag racine indiquant le premier niveau de l'arborescence\n;sort\n: Une extra [[étape de filtre|Filter Step]] optionelle, e.g. `sort[title]`\n\nCes deux paramètres sont combinés en une seule [[expression de filtre|Filter Expression]] de cette façon<<:>>\n\n> `[tag[$tag$]$sort$]`\n\n<<.var toc-tabbed-internal-nav>> et <<.var toc-tabbed-external-nav>> ont, en sus, d'autres paramètres<<:>>\n\n;selectedTiddler\n: Le titre du [[tiddler d'état|StateMechanism]] attribué au tiddler en cours sélectionné, par défaut `$:/temp/toc/selectedTiddler`. Il est recommandé d'employer un [[tiddler système|SystemTiddlers]]\n;unselectedText\n: Le texte affiché quand aucun tiddler n'est sélectionné dans l'arborescence\n;missingText\n: Le texte affiché si le tiddler sélectionné est manquant\n;template\n: De manière optionnelle, le titre du tiddler [[gabarit|TemplateTiddlers]] lors de la transclusion du tiddler sélectionné dans le panneau de droite\n\n[[Exemples|Table-of-Contents Macros (Examples)]]\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Table-of-Contents_Macros_(Examples).tid",
    "content": "created: 20150221193056000\nfr-title: Macros Tables des matières (Exemples)\nmodified: 20150621092418122\ntags: [[Table-of-Contents Macros]] [[Macro Examples]]\ntitle: Table-of-Contents Macros (Examples)\ntype: text/vnd.tiddlywiki\n\nCet exemple découle de tables des matières issues du tag racine <<.tag Contents>>.\nVous pourrez découvrir leurs structures en cliquant sur ces tags pilules<<:>>\n\n* {{Contents||$:/core/ui/TagTemplate}}\n** {{First||$:/core/ui/TagTemplate}}\n** {{Second||$:/core/ui/TagTemplate}}\n*** {{SecondThree||$:/core/ui/TagTemplate}}\n** {{Third||$:/core/ui/TagTemplate}}\n** {{Fourth||$:/core/ui/TagTemplate}}\n\nCet autre exemple avec onglets emploie, en plus, la [[table des matières|TableOfContents]] réelle de cette documentation.\n\n<<tabs \"[tag[table-of-contents-example]nsort[order]]\" \"Example Table of Contents: Simple\">>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/TableOfContents.tid",
    "content": "caption: {{$:/language/SideBar/Contents/Caption}}\ncreated: 20140809114010378\nfr-title: Table des matières\nlist: HelloThere [[Working with TiddlyWiki]] Learning [[Customise TiddlyWiki]] Features Languages Editions Plugins Configurations Reference Community About\nlist-after: $:/core/ui/SideBar/Open\nmodified: 20150621092517273\ntags: $:/tags/SideBar\ntitle: TableOfContents\ntype: text/vnd.tiddlywiki\n\n<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'TableOfContents'>>\n\n</div>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/TableOfContentsMacro Expandable Example.tid",
    "content": "caption: Développable\ncreated: 20150221201816000\nmodified: 20150621082656629\ntags: table-of-contents-example\ntitle: TableOfContentsMacro Expandable Example\ntype: text/vnd.tiddlywiki\norder: 2\nfr-title: Exemple Table des matières: Développable\n\n<$macrocall $name=\".example\" n=\"1\"\neg=\"\"\"<div class=\"tc-table-of-contents\">\n<<toc-expandable \"Contents\">>\n</div>\"\"\"/>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/TableOfContentsMacro Selective Expandable Example.tid",
    "content": "caption: Sélective\ncreated: 20150221201907000\nfr-title: Exemple Table des matières: Sélective étendue\nmodified: 20150621091909265\norder: 4\ntags: table-of-contents-example\ntitle: Example Table of Contents: Selectively Expandable\ntype: text/vnd.tiddlywiki\n\n<$macrocall $name=\".example\" n=\"1\"\neg=\"\"\"<div class=\"tc-table-of-contents\">\n<<toc-selective-expandable \"Contents\">>\n</div>\"\"\"/>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/TableOfContentsMacro Simple Example.tid",
    "content": "caption: Simple\ncreated: 20150221201838000\nfr-title: Exemple Table des matières: Simple\nmodified: 20150621080848198\norder: 1\ntags: table-of-contents-example\ntitle: Example Table of Contents: Simple\ntype: text/vnd.tiddlywiki\n\n<$macrocall $name=\".example\" n=\"1\"\neg=\"\"\"<div class=\"tc-table-of-contents\">\n<<toc \"Contents\">>\n</div>\"\"\"/>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/TableOfContentsMacro Sorted Expandable Example.tid",
    "content": "caption: Triée\ncreated: 20150221201942000\nfr-title: Exemple Table des matières: Triée étendue\nmodified: 20150621084211641\norder: 3\ntags: table-of-contents-example\ntitle: Example Table of Contents: Sorted Expandable\ntype: text/vnd.tiddlywiki\n\n<$macrocall $name=\".example\" n=\"1\"\neg=\"\"\"<div class=\"tc-table-of-contents\">\n<<toc-expandable \"Contents\" \"sort[title]\">>\n</div>\"\"\"/>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/TableOfContentsMacro Tabbed Example.tid",
    "content": "caption: Onglets internes\ncreated: 20150221203607000\nfr-title: Exemple Table des matières: Onglets internes\nmodified: 20150621091852105\norder: 5\ntags: table-of-contents-example\ntitle: Example Table of Contents: Tabbed Internal\ntype: text/vnd.tiddlywiki\n\n<$macrocall\n\t$name=\"toc-tabbed-internal-nav\"\n\ttag=\"TableOfContents\"\n\tselectedTiddler=\"$:/temp/toc/selectedTiddler\"\n\tunselectedText=\"<p>Choisir un article dans la table des matières. Cliquer sur la flêche pour le développer.</p>\"\n\tmissingText=\"<p>Tiddler manquant.</p>\"\n/>\n\n```\n<$macrocall\n\t$name=\"toc-tabbed-internal-nav\"\n\ttag=\"TableOfContents\"\n\tselectedTiddler=\"$:/temp/toc/selectedTiddler\"\n\tunselectedText=\"<p>Choisir un article dans la table des matières. Click the arrow to expand a topic.</p>\"\n\tmissingText=\"<p>Tiddler manquant.</p>\"\n/>\n```\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/TableOfContentsMacro Tabbed External Example.tid",
    "content": "caption: Onglets Externes\ncreated: 20150221205834000\nfr-title: Exemple Table des matères: Onglets externes\nmodified: 20150621091831154\norder: 6\ntags: table-of-contents-example\ntitle: Example Table of Contents: Tabbed External\ntype: text/vnd.tiddlywiki\n\n<$macrocall\n\t$name=\"toc-tabbed-external-nav\"\n\ttag=\"TableOfContents\"\n\tselectedTiddler=\"$:/temp/toc/selectedTiddler\"\n\tunselectedText=\"<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>\"\n\tmissingText=\"<p>Missing tiddler.</p>\"\n/>\n\n```\n<$macrocall\n\t$name=\"toc-tabbed-external-nav\"\n\ttag=\"TableOfContents\"\n\tselectedTiddler=\"$:/temp/toc/selectedTiddler\"\n\tunselectedText=\"<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>\"\n\tmissingText=\"<p>Missing tiddler.</p>\"\n/>\n```\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/TableOfContentsMacro.tid",
    "content": "caption: toc\ncreated: 20140919155729620\nmodified: 20150105102807522\ntags: Macros\ntitle: TableOfContentsMacro\ntype: text/vnd.tiddlywiki\n\nLa macro //~TableOfContents// (Table des Matières) produit une arborescence hiérarchique de tiddlers, en se basant sur leurs tags.\n\nLes entrées de premier niveau de la table des matières sont définies par un tag racine. Les sous-entrées de chacune de ces entrées sont taguées avec le titre de l'entrée. Les entrées peuvent être triées à l'aide du champ `list` du tiddler de tag correspondant, comme décrit dans [[Tagging]].\n\nLe libellé utilisé pour chaque entrée est tiré du champ ''caption'' s'il est présent<<;>> dans le cas contraire, c'est le titre (champ ''title'') qui est utilisé.\n\nLes entrées sont affichées sous forme de liens vers le tiddler correspondant, à moins que le tiddler contienne un champ ''toc-link'' avec la valeur ''no''. Dans les exemples ci-dessous, l'entrée SecondThree est configurée ainsi, de manière à ne pas apparaître comme un lien.\n\nIl existe plusieurs variantes de cette macro<<:>>\n\n* `<<toc>>` produit une arborescence hiérarchique de liens simple\n* `<<toc-expandable>>` produit une arborescence de liens développable\n* `<<toc-selective-expandable>>` produit une arborescence de liens développable où les boutons développer / contracter ne sont affichés que pour les entrées qui possèdent des nœuds fils\n\nLes macros génèrent des listes HTML ordonnées. Les éléments `<ol>` bénéficient de la classe `tc-toc`, ceux de la variante //expandable// bénéficiant également de la classe `tc-toc-expandable` tandis que ceux de la variante //selective expandable// bénéficient de la classe `tc-toc-selective-expandable`.\n\n! Paramètres\n\n|!Position |!Nom |!Description |!Défaut |\n|1^^re^^ |tag |Le tag racine qui identifie le premier niveau de la hiérachie | |\n|2^^e^^ |sort |Sous-fitre optionnel de tri (par exemple `sort[title]`) | |\n\nLes paramètres ''tag'' et ''sort'' sont combinés pour construire une expression de filtre de la forme<<:>>\n\n```\n[tag[$tag$]$sort$]\n```\n\n! Exemples\n\nDans les exemples suivants, les entrées de premier niveau de la table des matières sont définies par leur tag racine ''Contents''. Les sous-entrées sous chacune de ces entrées sont taguées avec le titre de leur parent, ici ''First'', ''Second'', ''Third'', et ''Fourth''. Au niveau du dessous, seul ''~SecondThree'' comporte des sous-entrées.\n\nVoici la structure des tags, affichée à l'aide de pastilles de tag cliquables<<:>>\n\n{{Contents||$:/core/ui/TagTemplate}}\n*{{First||$:/core/ui/TagTemplate}}\n*{{Second||$:/core/ui/TagTemplate}}\n**{{SecondThree||$:/core/ui/TagTemplate}}\n*{{Third||$:/core/ui/TagTemplate}}\n*{{Fourtth||$:/core/ui/TagTemplate}}\n\nPour des instructions sur la manière d'ajouter une table des matières dans la barre latérale, voyez<<:>> [[Comment ajouter un nouvel onglet dans la barre latérale|How to add a new tab to the sidebar]].\n\n<<tabs \"[tag[table-of-contents-example]]\" \"TableOfContentsMacro Simple Example\">>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/TabsMacro.tid",
    "content": "caption: La macro tabs\ncreated: 20131228162203521\nfr-title: La macro tabs\nmodified: 20150624091834029\ntags: Macros\ntitle: TabsMacro\ntype: text/vnd.tiddlywiki\n\nLa macro tabs affiche une liste de tiddlers sous forme d'onglets. L'utilisateur peut passer d'un onglet à l'autre en cliquant. Les onglets sont étiquetés avec le titre du tiddler correspondant, sauf si un champ `caption` est présent, auquel cas c'est celui-ci qui est utilisé.\n\nPar défaut, les onglets sont disposés horizontalement, le contenu étant affiché en-dessous. Vous pouvez aussi disposer les onglets verticalement en passant en paramètre la classe `tc-vertical`.\n\n! Paramètres\n\n|!Position |!Nom |!Description |!Défaut |\n|1re |tabsList |Filtre indiquant les tiddlers à afficher | |\n|2e |default |Nom du tiddler contenant l'onglet qui s'affichera par défaut | |\n|3e |state |Chaîne de caractères permettant de distinguer plusieurs ensembles d'onglets présents dans le même tiddler (l'utilisation du préfixe des tiddlers système est recommandée) |$:/state/tab |\n|4e |class |Classes CSS supplémentaires pour les trois DIVs imbriquées qui construisent les onglets (vous pouvez indiquer plusieurs classes en les séparant avec des espaces) | |\n|5e |template |Un tiddler template optionnel via lequel le contenu de l'onglet doit être rendu | |\n\nÀ l'intérieur du template, le titre de l'onglet courant est accessible via la variable ''currentTab''. La variable ''currentTiddler'' n'est pas modifiée par la macros tabs.\n\n! Exemples\n\nVoici quelques exemples d'utilisation de la macro tabs. Notez que l'édition française de la documentation utilise le champ `caption` pour faire apparaître le titre de l'onget en Français<<dp>>\n\n```\n<<tabs \"SampleTabOne SampleTabTwo SampleTabThree SampleTabFour\" \"SampleTabThree\" \"$:/state/tab1\">>\n\n<<tabs \"[tag[sampletab]]\" \"SampleTabTwo\" \"$:/state/tab2\" \"tc-vertical\">>\n```\n\n<<tabs \"SampleTabOne SampleTabTwo SampleTabThree SampleTabFour\" \"SampleTabThree\" \"$:/state/tab1\">>\n\n<<tabs \"[tag[sampletab]]\" \"SampleTabTwo\" \"$:/state/tab2\" \"tc-vertical\">>\nExercice : comment faire en sorte que cette deuxième liste soit triée<<pi>> Indice<<dp>> lisez le tiddler [[Tagging]] jusqu'au bout."
  },
  {
    "path": "editions/fr-FR/tiddlers/TagTiddlers.tid",
    "content": "caption: Tiddlers Tag\ncreated: 20141228094500000\nfr-title: Tiddlers Tag\nmodified: 20150622122213606\ntags: Concepts\ntitle: TagTiddlers\ntype: text/vnd.tiddlywiki\n\nUn tiddler tag correspond à tout tiddler utilisé comme tag.\n\nPour connaître quels tiddlers sont étiquetés par un tiddler tag sélectionné. Aller dans son [[panneau d'information|InfoPanel]] et choisir <<.info-tab Tagging>>, ou cliquez<<:>>\n\n# <<.button more-tiddler-actions>>, \n# <<.button info>>\n# puis <<.info-tab Tagging>>\n\nUn tag peut être utilisé sans nécessairement correspondre à un tiddler tag.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Tagging.tid",
    "content": "created: 20140904075400000\nfr-title: Étiqueter par tag\nmodified: 20220220002448916\ntags: [[Working with TiddlyWiki]] Concepts\ntitle: Tagging\ntype: text/vnd.tiddlywiki\n\nL'étiquetage des tiddlers permet de les organiser en catégories. Par exemple, les tiddlers représentant des individus pourraient être étiquetés avec les tags ''ami'', ''famille'', ''collègue'', etc. pour indiquer leur relation avec l'auteur.\n\nUn tag est en fait un simple tiddler (ou un tiddler potentiel), qui peut lui-même avoir ses propres tags. Plusieurs tags peuvent être appliqués au même tiddler.\n\nVoir <<fr \"Creating and editing tiddlers\">> pour des instructions sur la façon d'étiqueter les tiddlers.\n\nLe fait d'étiqueter les tiddlers vous procure de nombreux moyens supplémentaires de visualiser, parcourir, et organiser vos informations<<:>>\n\n* Les pastilles colorées pour chaque tag d'un tiddler vous donnent accès à tous les autres tiddlers portant le même tag, ainsi qu'au tiddler correspondant au tag lui-même.\n\n* Lorsqu'un tiddler est utilisé pour étiqueter d'autres tiddlers, l'onglet ''Étiquetage'' dans son [[panneau d'informations|InfoPanel]] liste tous les tiddlers tagués avec le titre du tiddler courant.\n\n* L'onglet ''Plus'' de la barre latérale contient un onglet ''Tags'' qui permet de visualiser tous vos tags et d'accéder à vos tiddlers étiquetés.\n\n* Vous pouvez utiliser des [[filtres|Filters]] pour créer des listes de tiddlers selon leurs tags, puis afficher toute combinaison de [[champs|TiddlerFields]] souhaitée. Par exemple, vous pouvez créer un glossaire en listant le titre et le texte de tous les tiddlers étiquetés //Glossaire//. De telles listes peuvent être formatées à votre goût<<:>> avec des puces, des nombres, ou séparées par des virgules, etc.\n\n* Les <<gf \"tags système\">> contrôlent la mise en forme des tiddlers et de la page <<tw>> dans son ensemble. Voir les instructions correspondantes dans <<fr \"Page and tiddler layout customisation\">>.\n\nEncore deux choses que les tags permettent de faire<<:>>\n\n! Affecter des couleurs et des icônes à un tag\n\nVous pouvez utiliser le <<.icon $:/core/images/tag-button>> [[gestionnaire de tags|$:/TagManager]], présent dans l'onglet ''Tags'' de l'onglet ''Plus'' de la barre latérale, pour affecter une couleur de fond et/ou une icône à un tag.\n\n* Les couleurs peuvent être affectées à un tag en cliquant sur le bouton de la colonne des couleurs et en sélectionnant une proposition. Sinon, spécifiez la valeur [[CSS]] de la couleur dans la zone de saisie accessible en cliquant sur le bouton <<.icon $:/core/images/info-button>>.\n* Les icônes peuvent être affectées à un tag en cliquant sur le bouton <<.icon $:/core/images/down-arrow>> dans la colonne des icônes et en choisissant une des icônes proposées.\n\n! Changer l'ordre dans lequel les tiddlers sont listés\n\nPar défaut, les tiddlers tagués sont listés dans l'ordre alphabétique.\n\nSi vous voulez un ordre différent, ajoutez un champ `list` au tiddler du tag, et affectez lui comme valeur la [[liste de ses tiddlers|Title List]] dans l'ordre choisi.\n\nLe champ `list` n'a pas besoin de contenir tous les tiddlers. <<tw>> utilise des [[règles précises|Order of Tagged Tiddlers]] pour trier les tiddlers tagués.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/TaskManagementExample.tid",
    "content": "created: 20130825213300000\nfr-title: Exemple de gestion de tâches\nmodified: 20220226174224424\ntags: Learning\ntitle: TaskManagementExample\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki5 peut servir de système de gestion de tâches simple sans personnalisation supplémentaires. L'idée est que les tâches soient taguées avec `task`, celles étant terminées portant également le tag `done`. De cette manière, il est très simple de générer des listes de tâches.\n\n<<.tip \"\"\"Il y a [[une version améliorée de cet exemple|TaskManagementExample (Draggable)]] qui ajoute la possibilité de réordonner les tâches par glisser-déposer.\"\"\">>\n\n! Tâches à effectuer\n\n<$list filter=\"[!has[draft.of]tag[task]!tag[done]sort[created]]\">\n\n<$checkbox tag=\"done\"> <$link to={{!!title}}><$view field=\"fr-title\"><$view field=\"title\"/></$view></$link></$checkbox>\n\n</$list>\n\n! Tâches terminées\n\n<$list filter=\"[!has[draft.of]tag[task]tag[done]sort[created]]\">\n\n<$checkbox tag=\"done\"> ~~<$link to={{!!title}}><$view field=\"fr-title\"><$view field=\"title\"/></$view></$link>~~</$checkbox>\n\n</$list>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Technical_Prose_Style.tid",
    "content": "created: 20150110182900000\nfr-title: Style technique rédactionnel\nmodified: 20150621210510651\ntags: [[Improving TiddlyWiki Documentation]]\ntitle: Technical Prose Style\ntype: text/vnd.tiddlywiki\n\nLors de la rédaction d'un [[tiddler d'apprentissage|Instruction Tiddlers]], commencez par planifier la route des informations que vous souhaitez présenter. Ce doit être un cheminement simple, logique, progressif, sans retour en arrière ou référence à suivre.\n\nEmployez cette méthode, même lors d'expressions indépendantes<<:>> toujours aller de la cause à l'effet, de l'ancien ou connu vers le nouveau ou l'inconnu. Une phrase technique claire contient rarement plus d'une idée. Elle évite donc les informations entre parenthèses. De même, garder une structure de paragraphe simple. Une présentation linéaire est souvent plus facile à comprendre que si elle est hiérarchisée.\n\nIl est souvent possible de simplifier une phrase sans changer sa signification, simplement en ajustant son vocabulaire ou sa structure grammaticale. <<.word \"le processus de la macro est exécutée\">> signifie simplement <<.word \"La macro s'exécute\">>. <<.word \"Votre attente pourrait être ...\">> signifie simplement <<.word \"Vous pourriez attendre ...\">>.\n\nPréférez la voix active par défaut<<:>> <<.word \"Jane créé un tiddler\">> plutôt que <<.word \"un tiddler est créé par Jane\">>. La voix passive  peut être utile si vous voulez focaliser l'attention du lecteur sur l'action elle-même ou sur son résultat<<:>> <<.word \"un tiddler est créé\">>. Mais il est souvent plus clair d'aller de la cause à l'effet et dire en voix active, <<.word \"Cela créé un tiddler\">>.\n\nLa documentation présente souvent deux éléments en parallèle par similarité ou par différence. Le lecteur pourra plus facilement appréhender des concepts si vous employez la même structure de phrase pour chacun. Mais c'est contrebalancé par la nécessité de rompre la monotonie.\n\nPréférez les instructions précises aux discours verbeux. Si quelque chose a un nom, l'utiliser. Si quelque chose n'a pas de nom, lui attribuer un tiddler."
  },
  {
    "path": "editions/fr-FR/tiddlers/TemplateTiddlers.tid",
    "content": "created: 20140107114355828\nfr-title: Tiddlers gabarits\nmodified: 20150624092849464\ntags: Concepts\ntitle: TemplateTiddlers\ntype: text/vnd.tiddlywiki\n\nUn tiddler gabarit n'est pas vraiment un type de tiddler, c'est un rôle dans lequel un tiddler peut être utilisé.\n\nLes gabarits sont un moyen de réutiliser différentes portions de [[WikiTexte|WikiText]].\n\nTransclure par un gabarit étend les fonctionnalités de base de la [[Transclusion]] en combinant deux tiddlers<<:>>\n\n* Un tiddler gabarit contenant le ~WikiTexte à afficher. Il peut contenir des transclusions se référant aux champs du [[tiddler en cours|Current Tiddler]]\n* Un tiddler cible qui indique quel tiddler sera considéré comme en cours lors des calculs de références des champs\n\nLe meilleur exemple de modélisation est le flux principal des tiddlers ouverts de TiddlyWiki. Chaque tiddler du déroulé principal est affiché via un [[Gabarit d'affichage|ViewTemplate]] qui spécifie le rendu de chaque champ.\n\nVoir la [[Transclusion par Gabarits|Transclusion with Templates]] pour plus de détails."
  },
  {
    "path": "editions/fr-FR/tiddlers/Ten reasons to switch to TiddlyWiki.tid",
    "content": "fr-title: Dix raisons de passer à TiddlyWiki\ncreated: 20140904085700000\nmodified: 20141115223448436\ntags: HelloThere\ntitle: Ten reasons to switch to TiddlyWiki\ntype: text/vnd.tiddlywiki\n\n@@.doublespacedlist\n# Avec <<tw>>, vous pouvez organiser vos notes selon vos préférences, pas selon celle des autres. Vos notes se conforment à votre façon de penser et personne ne vous impose une hiérarchie prédéfinie de carnets de notes ou d'onglets. \n# L'approche non-linéaire de <<tw>> vous donnera l'occasion de penser à vos informations d'une façon effectivement nouvelle et utile.\n# Retrouver ses notes dans <<tw>> est ultra-rapide.\n# Il existe de nombreux moyens de personnaliser et d'adapter tous les aspects de <<tw>>.\n# <<tw>> est libre et gratuit, et compatible avec toutes les plates-formes. N'importe quel navigateur web pourra l'ouvrir. Pour l'utiliser, il n'est pas nécessaire d'acquérir une application coûteuse, ni de payer un abonnement.\n# Les fichiers <<tw>> facilitent le partage d'informations. Il existe une multitude de manières de partager vos informations depuis <<tw>>.\n# Avec <<tw>>, vos informations vous appartiennent, et vous les stockez où vous voulez — sur notre appareil, sur une clé USB, dans Dropbox, sur votre serveur.\n# <<tw>> propose un nombre toujours croissant de plugins, thèmes, widgets, et langages.\n# La communauté en ligne de <<tw>> est bienveillante, et fera de son mieux pour vous apporter l'aide dont vous avez besoin.\n# Si vous êtes programmeur, vous trouverez encore plus de façons de faire joujou avec <<tw>>. Avec <<tw>>, plus on en sait, plus on s'amuse.\n@@\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/TextReference.tid",
    "content": "created: 20130827075900000\nfr-title: Référence texte\nmodified: 20150624093008844\ntags: Concepts\ntitle: TextReference\ntype: text/vnd.tiddlywiki\n\nUne [[RéférenceTexte|TextReference]] identifie le bloc de texte d'un tiddler qui peut être récupéré ou modifié selon le contexte.\n\nLes références texte sont composées de multiple parties, dont plusieurs peuvent être optionnelles<<:>>\n\n* `tiddlerTitle` - Le [[champ|TiddlerFields]] texte d'un tiddler spécifié\n* `tiddlerTitle!!field` - un [[champ de tiddler|TiddlerFields]] (eg, `modified`, `modifier`, `type` etc)\n* `!!field` - un [[champ|TiddlerFields]] du tiddler en cours\n* `tiddlerTitle##propertyIndex` - extrait la propriété nommée d'un [[Tiddler Data|DataTiddlers]]\n\nLes références texte peuvent être utilisées à plusieurs endroits<<:>>\n\n* Comme [[paramètres indirectes|Filter Parameter]] dans les [[Filtres]] (eg, `<$list filter=\"[tag{MonTag!!nom}]\"/>`)\n* Comme [[attributs indirects|IndirectAttributes]] d'un élément ou d'un widget (eg, `<$widget attrib={{Title!!description}}/>`)\n* comme l'opérateur d'une transclusion (eg, `{{MyTiddler!!title}}`)\n* Comme attribut `state` du RevealWidget et du LinkCatcherWidget\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/The First Rule of Using TiddlyWiki.tid",
    "content": "fr-title: La première règle d'utilisation de TiddlyWiki\ncreated: 20140419132828051\nmodified: 20141116114839786\ntags: [[Working with TiddlyWiki]]\ntitle: The First Rule of Using TiddlyWiki\ntype: text/vnd.tiddlywiki\n\n! Histoires épouvantables\n\nIl arrive régulièrement que des utilisateurs de <<tw>> nous rapportent des histoires à tordre le cœur concernant des pertes de données personnelles dans les groupes de discussion<<dp>>\n\n> Tout mon <<tw>> s'est volatilisé lorsque Firefox a crashé pendant l'enregistrement d'un tiddler.\n\nhttps://groups.google.com/d/topic/tiddlywiki/oG2L7OXhUoI/discussion\n\n> La dernière fois que je l'ai utilisé, c'était hier soir à la maison sur mon ordinateur Windows 7 ; j'ai cliqué sur la coche de validation pour terminer d'éditer ma dernière note, ce qui a déclenché l'enregistrement via TiddlyFox, et j'ai éjecté ma clé USB. Je suis arrivé au bureau ce matin, j'ai branché ma clé USB, entré mon mot de passe TW5, mais il n'a pas voulu s'ouvrir après plusieurs tentatives. J'ai exploré mes répertoires à la recherche de mon fichier html TW5 et j'ai remarqué qu'il ne pesait plus 3Mo, mais 80Ko. Ce qui me conduit à penser que j'ai tout perdu.\n\nhttps://groups.google.com/d/topic/tiddlywiki/SXStDJ0ntGI/discussion\n\nArrangez-vous pour que cela ne vous arrive jamais !\n\n!! La première règle d'utilisation de <<tw>> est\n\n<p style=\"font-size:40pt;line-height:48pt;font-weight:700;color:red;\">\nSauvegardez vos données !\n</p>\n\nTiddlyWiki est un système très souple et personnalisable, qui vous rend responsable de vos données. Un grand soin est porté lors du développement de <<tw>> à s'assurer que c'est un lieu sûr pour préserver vos données les plus précieuses, mais au bout du compte, c'est aux utilisateurs que revient la responsabilité de limiter les risques d'une perte de données.\n\nLa meilleure façon de s'assurer que vos données sont en sécurité est de mettre en œuvre une procédure de sauvegarde rigoureuse<<dp>>\n\n* Pensez à utiliser des services du type Dropbox pour sauvegarder continuellement vos données personnelles sur le //cloud//. (Dropbox dispose d'une [[fonctionnalité intéressante|https://www.dropbox.com/help/11]] grâce à laquelle vous pouvez garder la trace des versions précédentes de vos fichiers)\n* Faites des sauvegardes avant de passer à une nouvelle version de <<tw>>\n* Protégez-vous des pires scénarios imaginables<<dp>> que ce passerait-il si votre clé USB ou votre disque dur tombe en panne. Et si votre ordinateur est attaqué par un virus de la pire espèce ?\n* Soyez sur vos gardes et pratiquez la redondance<<dp>> par exemple, ayez plusieurs exemplaires de vos sauvegardes, et conservez-les dans des endroits physiquement séparés.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Third.tid",
    "content": "created: 20150221194436000\nfr-title: Troisième\nlist: ThirdOne ThirdTwo ThirdThree\nmodified: 20150620172404036\ntags: Contents\ntitle: Third\ntype: text/vnd.tiddlywiki\n\n<<.toc-lorem>>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/TiddlerFields.tid",
    "content": "created: 20130825213300000\nfr-title: Champs de tiddler\nmodified: 20150624092901510\ntags: Concepts\ntitle: TiddlerFields\ntype: text/vnd.tiddlywiki\n\n\\define lingo-base() $:/language/Docs/Fields/\nLes champs de tiddlers sont les couples ''nom:valeur'' qui constituent un [[tiddler|Tiddlers]]. Les noms de champ peuvent être composés de lettres minuscules non accentuées, chiffres, ou caractères `-` (tiret), `_` (souligné) et `.` (point).\n\nLes champs standard sont<<dp>>\n\n|!Nom du champ |!Référence |!Description |\n|`title` |TitleField |<<lingo title>> |\n|`text` |TextField |<<lingo text>> |\n|`modified` |ModifiedField |<<lingo modified>> |\n|`modifier` |ModifierField |<<lingo modifier>> |\n|`created` |CreatedField |<<lingo created>> |\n|`creator` |CreatorField |<<lingo creator>> |\n|`tags` |TagsField |<<lingo tags>> |\n|`type` |TypeField |<<lingo type>> |\n|`list` |ListField |<<lingo list>> |\n\nLes autres champs utilisés par le noyau sont<<dp>>\n\n|!Nom du champ |!Référence |!Description |\n|`color` |ColorField |<<lingo color>> |\n|`description` |DescriptionField |<<lingo description>> |\n|`draft.of` |DraftOfField |<<lingo draft.of>> |\n|`draft.title` |DraftTitleField |<<lingo draft.title>> |\n|`footer` |FooterField |<<lingo footer>> |\n|`library` |LibraryField |<<lingo library>> |\n|`name` |NameField |<<lingo name>> |\n|`plugin-priority` |PluginPriorityField |<<lingo plugin-priority>> |\n|`plugin-type` |PluginTypeField |<<lingo plugin-type>> |\n|`source` |SourceField |<<lingo source>> |\n|`subtitle` |SubtitleField |<<lingo subtitle>> |\n\nLe TiddlyWebAdaptor utilise quelques champs supplémentaires<<dp>>\n\n|!Nom du champ |!Référence |!Description |\n|`bag` |BagField |<<lingo bag>> |\n|`revision` |RevisionField |<<lingo revision>> |\n\nVoir l'onglet ''Avancé > Champs'' du [[panneau de contrôle|$:/ControlPanel]] pour des détails sur les champs utilisés dans ce wiki.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/TiddlerFiles.tid",
    "content": "created: 20130825150000000\nmodified: 20141019101433897\ntags: [[TiddlyWiki on Node.js]]\ntitle: TiddlerFiles\ntype: text/vnd.tiddlywiki\n\nLes tiddlers peuvent être conservés dans des fichiers texte dans plusieurs formats différents. Les fichiers contenant un seul tiddler peuvent aussi avoir un fichier .meta auxiliaire formaté comme une suite de paires //nom:valeur//<<dp>>\n\n```\ntitle: LeTitre\n```\n\n!! Fichiers `.tid` à la ~TiddlyWeb\n\nCes fichiers consistent en une séquence de paires //nom:valeur//, suivie d'une ligne blanche, puis du texte du tiddler. Par exemple<<dp>>\n\n```\ntitle: MonTiddler\n\nVoici le texte de mon tiddler.\n```\n\nNotez que de nombreux éditeurs de texte imposent que les fichiers se terminent par un caractère de <<gf \"nouvelle ligne\">>. Si vous voulez éviter qu'une ligne soit ajoutée à la fin de votre texte, vous pouvez utiliser cette autre syntaxe<<dp>>\n\n```\ntitle: MonTiddler\ntext: Voici le texte de mon tiddler.\n```\n\n//Le ContentType `application/x-tiddler` est utilisé en interne pour ces fichiers//\n\n!! Fichiers `<DIV>` avec l'extension //.tiddler//\n\nLes fichiers `*.tiddler` modernes ressemblent à ça<<dp>>\n\n```\n<div title=\"AnotherExampleStyleSheet\" modifier=\"blaine\" created=\"201102111106\" modified=\"201102111310\" tags=\"examples\" creator=\"psd\">\n<pre>Notez qu'il y a une balise <pre> embarquée, et que les retours à la ligne ne sont pas échappés.\n\nEt bizarrement, aucun codage HTML dans le corps du tiddler.</pre>\n</div>\n```\n\nCes fichiers `*.tiddler` ne sont donc pas vraiment similaires aux tiddlers trouvés à l'intérieur d'un fichier HTML <<tw>>, dans lequel le corps du texte est encodé en HTML comme attendu.\n\nLes anciens fichiers `*.tiddler` étaient plus proches du format de stockage utilisé par <<tw>> à l'époque<<dp>>\n\n```\n<div tiddler=\"AnotherExampleStyleSheet\" modifier=\"JeremyRuston\" modified=\"200508181432\" created=\"200508181432\" tags=\"examples\">Voici un fichier tiddler à l'ancienne, sans balise &lt;pre&gt; embarquée. \\nVoyez comme le corps du tiddler est &quot;codé en HTML&quot; et les sauts de ligne échappés par \\\\n</div>\n```\n\n//Le ContentType `application/x-tiddler-html-div` est utilisé en interne pour ces fichiers//\n\n!! Fichiers JSON de type ~TiddlyWeb\n\nCes fichiers sont des tableaux de hachages sans fioritures contenant des champs sous la forme name:value. À présent seuls ces champs standards sont traités<<dp>> `title`, `text`, `created`, `creator`, `modified`, `modifier`, `type` et `tags`.\n\n//Le ContentType `application/json` est utilisé en interne pour ces fichiers//\n\n{{TiddlyWikiFiles}}\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/TiddlerLinks.tid",
    "content": "created: 20130825202900000\nfr-title: Liens dans un Tiddler\nmodified: 20220219170847313\ntags: Concepts\ntitle: TiddlerLinks\ntype: text/vnd.tiddlywiki\n\nLes liens sont des éléments d'un tiddler où cliquer engendre la navigation vers un tiddler différent. Le comportement d'une navigation est déterminé par le StoryView (la vue) en cours<<:>> par défaut, la vue classique de TiddlyWiki montre son déroulé comme une suite linéaire de tiddlers.\n\nPresser la touche ''control'' ou ''command'' en cliquant sur le lien d'un link ouvre le tiddler cible sans s'y déplacer. Cela peut-être un moyen pratique de dresser une suite de tiddlers à lire plus tard.\n\nLes liens sont utiles pour modéliser des relations organiques entre tiddlers, et notamment pour décrire les chemins de navigations entre tiddlers.\n\nLe [[panneau d'information|InfoPanel]] liste la provenance des liens vers un tiddler dans l'onglet ''References''.\n\nLes [[filtres|Filters]] peuvent inclure les opérateur de filtrage suivant qui fonctionnent avec les liens<<:>>\n\n* `[links[]]` - renvoie les titres des tiddlers dont les liens proviennent de la sélection des tiddler(s) en cours\n* `[backlinks[]]` - renvoie les titres des tiddlers destination des liens des tiddler(s) en cours sélectionnés\n\nTiddlyWiki5 modifie l'apparence des liens des tiddlers pour donner plus d'informations sur la cible du lien<<:>>\n\n|!Description lien |!Affichage lien |\n|Vers tiddler existant |[[Ainsi|TiddlerLinks]] |\n|Vers tiddler inexistant |[[Ainsi|ATiddlerThatDoesntExist]] |\n|Vers tiddler shadow non remplacé |[[Ainsi|$:/core/copyright.txt]] |\n|Vers tiddler shadow remplacé par un tiddler ordinaire|[[Ainsi|$:/SiteTitle]] |\n\nLes liens externes sont affichés comme ceci<<:>> https://tiddlywiki.com/ ou [[comme ça|https://tiddlywiki.com/]].\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Tiddler_Structure.tid",
    "content": "created: 20150110183300000\nfr-title: Structure d'un tiddler\nmodified: 20150624094454650\ntags: [[Improving TiddlyWiki Documentation]]\ntitle: Tiddler Structure\ntype: text/vnd.tiddlywiki\n\nSuivant la [[Philosophie des tiddlers|Philosophy of Tiddlers]], la documentation des tiddlers est typiquement courte et interconnectée. \n\nQuand un tiddler semble nécessiter des subdivisions, c'est souvent le signe qu'il devrait être fractionné en plusieurs tiddlers. Mais il est raisonnable pour un [[tiddler de référence|Reference Tiddlers]] de se décomposer en une section d'introduction non titrée, suivie d'une section titrée pour les détails.\n\nLa cohérence de la terminologie est essentielle pour éviter la confusion du lecteur. La cohérence de la typographie et de la ponctuation offrent une qualité professionnelle à la documentation. Les macros peuvent participer à l'amélioration de la cohérence du texte et de sa maintenabilité .\n\nUtilisez les listes numérotées pour les instructions pas-à-pas, et les puces pour les listes dont l'ordre est arbitraire. Utilisez une liste de définitions de préférence à une liste à puces si chaque élément de la liste débute par un terme suivi d'une virgule. Autant que possible, évitez de surcharger le lecteur avec une liste hiérarchisée.\n\nUtilisez une table lorsque l'information se divise naturellement en trois colonnes ou plus, ainsi que pour les listes de paramètres, d'attributs, etc., au sein des [[tiddlers de référence|Reference Tiddlers]].\n\nLa documentation reflète la réalité actuelle de ~TiddlyWiki. Elle évite les discussions sur ses aspirations.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Tiddler_Title_Policy.tid",
    "content": "created: 20150110183300000\nfr-title: Règles de rédaction des titres des tiddlers\nmodified: 20150621223956064\ntags: [[Improving TiddlyWiki Documentation]]\ntitle: Tiddler Title Policy\ntype: text/vnd.tiddlywiki\n\nPlusieurs tiddlers documentaires, particulièrement [[les référents|Reference Tiddlers]], sont concernés par un seul concept. Leurs titres doivent correspondre à un groupe nominal succinct comme <<.tid \"List Widget\">> ou <<.tid \"Champs de Tiddler\">>.\n\nChacun des mots principaux d'un tel titre commence avec une majuscule. Les mots mineurs comme <<.word et>>, <<.word ou>>, <<.word le>>, <<.word de>> and <<.word avec>> n'en ont pas.\n\nLes Tags suivent aussi ce modèle.\n\nLes titres de ce genre sont au pluriel s'ils représentent une catégorie d'articles, comme. <<.tid \"Raccourcis Clavier\">> ou <<.tid \"Champs de Tiddler\">>. Cette forme est utilisée pour étiqueter des tiddlers plus spécifiques dans une catégorie.\n\nQuand un concept est un article plus qu'une catégorie, son tiddler a titre particulier, comme<<:>> <<.tid \"List Widget\">>, <<.tid \"tag Operator\">>.\n\nCommencer un titre avec sa partie la plus distinctive. Par exemple, les tiddlers documents, les opérateurs de filtre ont des titres comme <<.tid \"addprefix Operateur\">>. Cela aide le lecteur a parcourir une liste de liens pour trouver un tiddler particulier.\n\nÉviter de commencer un titre avec un article comme <<.word \"le, la, les\">> ou <<.word \"un, une, des\">>.\n\nPar le passé, plusieurs tiddlers avaient des titres CamelCase. C'est progressivement abandonné pour accroître la lisibilité. Les titres ~CamelCase ne seront plus employés, même pour les tags, exceptés pour les cas comme <<.tid ~JavaScript>> où il existe une orthographe standard.\n\nLes [[tiddlers d'apprentissage|Instruction Tiddlers]] ont souvent des titres long un peu plus élaborés qu'un simple groupe nominal, comme<<:>> <<.tid \"Dix raisons de passer à ~TiddlyWiki\">>. Ces titres suivent la règle de la phrase, où seul le premier mot (ainsi que tous noms propres) commence par une majuscule.\n\nLes tiddlers Comment<<?>> ont des titres qui débutent par <<.word \"Comment ?\">>, de type<<:>> <<.tid \"Comment éditer un tiddler\">>. Éviter les titres comme<<:>><<.tid \"Tiddlers Edition\">>, car un locuteur moyen pourrait ne pas l'interpréter comme le nom d'une catégorie de  tiddlers.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Tiddlers.tid",
    "content": "caption: Tiddlers\ncreated: 20130825213500000\nmodified: 20150622110941886\ntags: Concepts\ntitle: Tiddlers\ntype: text/vnd.tiddlywiki\n\nLes tiddlers représentent l'unité d'information fondamentale dans <<tw>>. Plus les tiddlers sont petits mieux ils fonctionnent, car il est alors plus facile de les réutiliser en les assemblant de différentes manières.\n\nD'autres systèmes disposent de concepts analogues nommés de façon confusément générique, du style <<gf items>>, <<gf entrées>>, <<gf entités>> ou <<gf enregistrements>>. <<tw>> considère qu'il est préférable d'être confusément distinct.\n\nLes tiddlers sont représentés en interne par des listes de valeurs nommées appelées <<gf champs>>. Le seul champ obligatoire est le champ `title`, mais pour être utiles, les tiddlers comportent aussi un champ `text`, et tout ou partie des champs standard énumérés dans TiddlerFields.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/TiddlyFox Apocalypse.tid",
    "content": "created: 20171109170823847\nfr-title: L'apocalypse de TiddlyFox\nmodified: 20220217174448054\ntags: TiddlyFox\ntitle: TiddlyFox Apocalypse\ntype: text/vnd.tiddlywiki\n\n! Résumé\n\nLe 14 novembre 2017 Mozilla [[a publié Firefox 57|https://blog.mozilla.org/blog/2017/09/26/firefox-quantum-beta-developer-edition/]], une nouvelle version majeure comprenant de nombreuses améliorations et correctifs de sécurité. Toutefois, ces améliorations comportaient ''des changements fondamentaux du modèle de sécurité qui ont eu comme effet indésirable d'empêcher ~TiddlyFox de fonctionner''.\n\nTiddlyFox restera disponible pour les [[utilisateurs d'anciennes versions de Firefox|https://groups.google.com/d/topic/tiddlywiki/OJQ0yRq4zog/discussion]], mais ceux qui passeront à une version plus récente devront choisir une autre façon de gérer la sauvegarde des modifications avec TiddlyWiki.\n\nHeureusement, il existe de nouvelles façons de travailler avec TiddlyWiki et les utilisateurs ont de nombreux choix alternatifs (voir les détails dans <<fr GettingStarted>>). La disparition de TiddlyFox a provoqué plusieurs de ces développements récents et pourrait finalement être bénéfique pour la communauté.\n\nCes développements font l'objet d'une [[discussion|https://groups.google.com/d/topic/tiddlywiki/LcldXzPlTK0/discussion]] sur les forums TiddlyWiki.\n\n! Contexte\n\nFirefox a été initialement publié en novembre 2004, quelques mois après la première version de TiddlyWiki. C'était très comparable au Faucon Millénium pour l'Étoile de la Mort de Microsoft (incarnée par Internet Explorer). IE écrasait depuis 5 ans le marché des navigateurs, provoquant la frustration de nombreux développeurs web face aux extensions au HTML de Microsoft qui étaient devenus des standards //de facto// au détriment d'une innovation qui aurait pu bénéficier à l'ensemble de la communauté web.\n\nFirefox a vite eu du succès car il réussissait à afficher les pages web avec un rendu assez proche d'Internet Explorer tout en offrant une meilleure expérience utilisateur. Ses avantages résidaient en grande partie dans la possibilité offerte à l'utilisateur de modifier chaque aspect du navigateur. Deux innovations étaient à l'origine de cette capacité<<:>>\n\n* L'intégralité de l'interface utilisateur du navigateur était écrite en [[XUL|https://en.wikipedia.org/wiki/XUL]], une extension au HTML qui lui permettait d'afficher des interface utilisateur conventionnelles (à l'époque, le HTML était limité à un simple rendu de documents structurés). Ajuster quelques lignes de code en XUL pouvait radicalement transformer l'interface du navigateur.\n* L'architecture d'extensions de Mozilla donnait les pleins pouvoirs aux extensions, leur permettant d'observer et d'interagir profondément avec le moteur du navigateur lui-même, ainsi qu'avec le système de fichiers de l'ordinateur sur lequel il s'exécutait.\n\nCes deux conditions permirent l'épanouissement d'un large écosystème d'extensions autour de Firefox, pour certaines extrêmement populaires. Dans de nombreux cas, les innovations apportées par des extensions furent ensuite intégrées dans le navigateur, en particulier le débogueur [[Firebug|https://en.wikipedia.org/wiki/Firebug_(software)]] qui fut par la suite cloné par tous les éditeurs de navigateurs.\n\nFirefox resta très populaire jusqu'à ce que Google rejoigne le développement du moteur rival ~WebKit pour développer Chome. Google choisit une approche très différente des compromis au cœur d'un navigateur, se concentrant sur l'amélioration de la sécurité au détriment de toute autre considération. Ils innovèrent avec l'isolation de chaque onglet dans un processus dédié, qui fut rapidement repris par les principaux navigateurs concurrents.\n\nL'orientation de Google les empêcha d'adopter l'approche libertaire de Mozilla pour les extensions. Au lieu d'avoir accès à tout l'environnement du navigateur et au système, les extensions de Chrome ne voient qu'une petite partie de ce qui se passe dans le navigateur, et n'ont qu'un accès minimal aux ressources de l'hôte.\n\nLe ralliement de Mozilla à l'approche de la [[sécurité des extensions de navigateurs|https://support.mozilla.org/en-US/kb/firefox-add-technology-modernizing]] de Google était inévitable. A ce point, Mozilla aurait été irresponsable de publier un navigateur construit sur un modèle de sécurité notoirement inférieur à celui du leader du marché.\n\n! Leçons\n\nUne partie de la fécondité de l'écosystème autour de TiddlyWiki provient de l'adoption des deux principes de Firefox cités précédemment<<:>>\n\n* Construire l'interface utilisateur de l'application avec les mêmes primitives que son contenu\n* Permettre aux extensions d'accéder et interagir librement avec la logique interne de l'application.\n\nCes deux caractéristiques confrontent TiddlyWiki aux mêmes défis de sécurité que Firefox en son temps. Un TiddlyWiki orienté principalement vers la sécurité serait contraint de réduire ces possibilités.\n\n! Le futur\n\nDans le domaine des interfaces basées sur les navigateurs et des interactions utilisateur, l'innovation a maintenant quitté les extensions pour migrer vers une nouvelle génération d'environnements qui simplifient la créations de navigateurs sur-mesure basés sur des moteurs de rendu HTML libres sur étagère. Ainsi, TiddlyDesktop utilise [[nwjs|https://nwjs.io]], et [[Beaker Browser]] utilise une alternative nommée [[Electron|https://electron.atom.io/]].\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/TiddlyFox.tid",
    "content": "created: 20130825161100000\nmodified: 20220217174534558\ntags: Definitions\ntitle: TiddlyFox\ntype: text/vnd.tiddlywiki\n\n//~TiddlyFox// est une extension pour Firefox qui permet aux fichiers <<tw>> autonomes d'enregistrer leurs modifications directement sur le système de fichiers. //~TiddlyFox// fonctionne aussi bien sur les versions station de travail que mobile de [[Firefox]]. Voir [[Enregistrer avec TiddlyFox|Saving with TiddlyFox]] ou [[Enregistrer avec TiddlyFox pour Android|Saving with TiddlyFox on Android]] pour des instructions détaillées.\n\n~TiddlyFox est maintenant obsolète car il n'est plus compatible avec les dernières versions de Firefox (voir <<fr \"TiddlyFox Apocalypse\">>). Il existe de nombreuses alternatives à ~TiddlyFox, mais aucune ne fonctionne exactement de la même façon. Voir <<fr GettingStarted>> pour plus d'informations.\n\n\n//~TiddlyFox// peut être téléchargé depuis le site //Mozilla Addons//<<:>>\n\nhttps://addons.mozilla.org/fr/firefox/addon/tiddlyfox/\n\n<<<\nVous pouvez également installer la dernière version de développement de ~TiddlyFox directement depuis GitHub<<:>>\n\nhttps://github.com/TiddlyWiki/TiddlyFox/raw/master/tiddlyfox.xpi\n<<<\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/TiddlyWiki Hangouts.tid",
    "content": "created: 20130823091700000\nfr-title: Les Vidéo-conférences TiddlyWiki\nmodified: 20150620092508885\ntags: Community Videos\ntitle: TiddlyWiki Hangouts\ntype: text/vnd.tiddlywiki\n\nLa communauté TiddlyWiki tient régulièrement salon sur Google Hangouts, en général tous les mardi de 17h à 19h (heure de Paris). Ces rencontres sont annoncées sur [[le group Google de TiddlyWiki|https://groups.google.com/d/forum/tiddlywiki]] et sur le [[compte Twitter de TiddlyWiki|https://twitter.com/TiddlyWiki]].\n\nLes échanges précédents sont archivés sur cette playlist YouTube<<dp>>\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/videoseries?list=PLVT_2PPd-1p34gGCQ5qpwC8QdykxVAI3u\" frameborder=\"0\" allowfullscreen></iframe>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/TiddlyWiki on Firefox for Android Video.tid",
    "content": "fr-title: Vidéo de TiddlyWiki sur Firefox pour Android\ncreated: 20140104134947485\nmodified: 20141115225239665\ntags: Videos [[Saving with TiddlyFox]]\ntitle: TiddlyWiki on Firefox for Android Video\ntype: text/vnd.tiddlywiki\n\nCe court screencast montre comment configurer Firefox pour Android afin de pouvoir sauvegarder les modification de TiddlyWiki<<dp>>\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/iikkv9orGGI\" frameborder=\"0\" allowfullscreen></iframe>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/TiddlyWiki.tid",
    "content": "caption: TiddlyWiki\ncreated: 20130822170700000\nmodified: 20220219162827424\ntags: Concepts\ntitle: TiddlyWiki\ntype: text/vnd.tiddlywiki\n\n<<tw>> est un outil riche et interactif, capable de manipuler des données complexes dont la structure n'est pas adaptée aux outils conventionnels comme les traitements de texte ou les feuilles de calcul.\n\n<<tw>> est conçu pour s'adapter à votre cerveau, en vous aidant à gérer ce qui s'adapte mal. L'[[idée fondamentale|Philosophy of Tiddlers]] est que les informations sont plus utiles et plus facilement réutilisables quand on les découpe en morceaux sémantiques aussi petits que possible -- [[les tiddlers|Tiddlers]] -- en leur donnant des titres à partir desquels le wiki pourra se [[structurer|Structuring TiddlyWiki]] à l'aide de [[liens|TiddlerLinks]], d'[[étiquettes|Tagging]], de [[listes|ListField]] et de [[macros|Macros]]. Les tiddlers utilisent une notation [[WikiTexte|WikiText]] qui permet de représenter de façon concise une grande panoplie de fonctions hypertexte et de formatage. Le but de <<tw>> est de fournir une interface de travail fluide, à même de faciliter l'agrégation des tiddlers et leur recomposition en textes plus long.\n\nLes gens adorent utiliser <<tw>>. Comme on peut l'utiliser en l'absence d'infrastructure de serveurs compliquée, et qu'il est [[open source|OpenSource]], il a apporté une liberté inédite à ceux qui veulent garder le contrôle de leurs précieuses informations.\n\n<<tw>> a été créé initialement par JeremyRuston et est maintenant devenu un projet //open source// qui s'épanouit grâce à une [[communauté|Community]] active de développeurs indépendants.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/TiddlyWiki2ReadMe.tid",
    "content": "created: 20141115211411530\ntitle: TiddlyWiki2ReadMe\ntype: text/vnd.tiddlywiki\n\n\\define tv-wikilinks() no\n! Building TiddlyWikiClassic\n{{Building TiddlyWikiClassic}}\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/TiddlyWiki5.tid",
    "content": "caption: TiddlyWiki5\ncreated: 20130825213600000\nmodified: 20150622113254756\ntags: Concepts\ntitle: TiddlyWiki5\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki5 est une réincarnation de TiddlyWiki armée pour les 25 prochaines années. Il s'agit d'une wiki interactif complet, écrit en JavaScript et qui peut s'exécuter soit dans un navigateur web, soit en mode serveur sous [[Node.js]].\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/TiddlyWiki5_Versioning.tid",
    "content": "created: 20131202081424080\nfr-title: La gestion des versions de TiddlyWiki\nmodified: 20150603130355371\ntags: Releases\ntitle: TiddlyWiki5 Versioning\ntype: text/vnd.tiddlywiki\n\nChaque évolution publiée de TiddlyWiki5 est identifiée par un numéro conforme au standard décrit par la [[Gestion sémantique de Version 2.0.0|http://semver.org/lang/fr/]]\n\n! TiddlyWiki Version du noyau\n\nConformément au standard<<:>>\n\n```\nÉtant donné un numéro de version MAJOR.MINOR.PATCH. Incrémenter le :\n\nMAJOR, quand vos modifications rendent l'API incompatible,\nMINOR,  quand l'ajout des fonctionnalités respecte la compatibilité,\nPATCH, lorsque vos modifications compatibles corrigent des bogues.\nPour les pré-versions et l'ajout de métadonnées, des extensions disponibles peuvent s'ajouter au numéro de version MAJOR.MINOR.PATCH.\n```\n\n!! Versions Alpha et Beta\n\nQuand TiddlyWiki5 était en version alpha, il utilisait l'extension de pre-version \"alpha\", par exemple<<:>>\n\n```\n5.0.1-alpha\n```\n\nChaque nouvelle version alpha ou bêta impactera le `numéro de version PATCH`. \nC'est une rupture par rapport au strict respect du standard car l'incrément des `PATCH` est supposé réservé aux modifications compatibles.\n\n//Noter que lors des versions précédant la ''5.0.1-alpha'', TiddlyWiki5 utilisait des n° de version formulés ainsi ''5.0.0-alpha.19''. Le changement fut effectué pour permettre au processus de mise à jour d'identifier l'évolution des plugins à partir de l'information donnée par le n° de version.//\n\n!! Versions intermédiaires\n\nEn phase de développement, quand une nouvelle version est proposée, l'extension de `préversion` lui est ajoutée.\n\n! Version des Plugin\n\nNuméro de Version\n\nTiddlyWiki5 utilise le n° de version lié aux plugins pour déterminer quel est le plus récent au moment de la phase de mise à jour ou d'import. L'extension pre-release est ignoré quand les comparaisons sont effectuées.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/TiddlyWikiFiles.tid",
    "content": "created: 20141019101221547\nmodified: 20150603145904203\ntitle: TiddlyWikiFiles\ntype: text/vnd.tiddlywiki\n\n!! Fichiers <<tw>> HTML\n\nLes fichiers <<tw>> HTML contiennent une collection de tiddlers encodés au format `<DIV>`.\n\nPour qu'un fichier HTML soit importable comme un fichier TW non crypté, il faut au minimum qu'il contienne un `<div id=\"storeArea\">` juste avant les DIVs des tiddlers, eux-mêmes suivis immédiatement par un `</div>`. Par exemple<<dp>>\n\n```\n<div id=\"storeArea\">\n<div created=\"20130302085406905\" modified=\"20130302084548184\" tags=\"Exemples\" title=\"Un titre de tiddler\">\n<pre>Texte d'un tiddler encodé en HTML\n</pre>\n</div>\n<div created=\"20140315085406905\" modified=\"20140321084548184\" tags=\"Un Deux [[Trois avec espace]]\" title=\"Un autre titre\" champperso=\"valeur du champ\">\n<pre>Texte de ce tiddler\n</pre>\n</div>\n```\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/TiddlyWikiFolders.tid",
    "content": "created: 20130825214200000\nmodified: 20141115212205884\ntags: [[TiddlyWiki on Node.js]]\ntitle: TiddlyWikiFolders\ntype: text/vnd.tiddlywiki\n\nEn plus des wikis contenus dans un seul fichier, [[TiddlyWiki on Node.js]] reconnaît les wikis conservés dans un dossier contenant un fichier pour chaque tiddler.\n\n! Fichiers et répertoires dans les dossiers ~TiddlyWiki\n\nLes dossiers ~TiddlyWiki peuvent contenir les fichiers et répertoires ci-dessous<<dp>>\n\n* ''tiddlywiki.info'' — fichier JSON contenant les métadonnées du wiki\n* ''\\tiddlers'' — répertoire contenant les fichiers de tiddlers constituant le wiki\n* ''\\plugins'' — répertoire contenant les [[dossiers de plugins|PluginMechanism]] à inclure dans le wiki.\n\nSeul le fichier ''tiddlywiki.info'' est obligatoire, les dossiers ''tiddlers'' et ''plugins'' étant optionnels. Les autres fichiers et dossiers éventuellement présents à la racine d'un dossier ~TiddlyWiki sont ignorés.\n\n!! Contenu du fichier `tiddlywiki.info`\n\nLe fichier `tiddlywiki.info` présent dans un dossier wiki contient un objet JSON contenant les champs suivants<<dp>>\n\n* ''plugins'' - un tableau de noms de plugins à inclure dans le wiki\n* ''themes'' - un tableau de noms de thèmes à inclure dans le wiki\n* ''languages'' - un tableau de noms de langues à inclure dans le wiki\n* ''includeWikis'' - un tableau de chemins relatifs vers des dossiers wikis externes à inclure dans le wiki\n* ''build'' - une table de hachage de noms de cibles de compilation, chacune étant définie par un tableau de jetons de commande (voir BuildCommand)\n* ''config'' - une table de hachage optionnelle d'options de configuration (voir ci-dessous)\n\n!!! ''includeWikis''\n\nLes entrées du tableau ''includeWikis'' peuvent être soit une chaîne indiquant le chemin relatif vers le wiki à inclure, soit un object contenant les champs suivants<<dp>>\n\n* ''path'' - chemin relatif vers le répertoire du wiki\n* ''read-only'' - donner une valeur //true// pour éviter que les tiddlers du wiki inclus soient modifiés. Les modifications seront écrites dans le répertoire spécifié dans l'option de configuration ''default-tiddler-location'', décrite ci-dessous.\n\n!!! ''build''\n\nNotez que les cibles de compilation des wikis à inclure sont fusionnées si aucune cible du même nom n'est définie dans le fichier `tiddlywiki.info` courant.\n\n!!! ''config''\n\nLes options de configuration comprennent<<dp>>\n\n* ''default-tiddler-location'' — une chaîne de caractères indiquant le chemin vers la localisation par défaut de l'adaptateur //système de fichiers// utilisé pour enregistrer de nouveaux tiddlers (le chemin est résolu relativement au dossier wiki)\n\n* ''retain-original-tiddler-path'' — si la valeur est à `true`, le serveur génèrera un tiddler [[$:/config/OriginalTiddlerPaths]] contenant les chemins de fichiers d'origine de chaque tiddler dans le wiki.\n\nPar exemple<<dp>>\n\n```\n{\n\t\"plugins\": [\n\t\t\"tiddlywiki/tiddlyweb\",\n\t\t\"tiddlywiki/filesystem\"\n\t],\n\t\"includeWikis\": [\n\t\t\"../tw5.com\"\n\t],\n\t\"build\": {\n\t\t\"index\": [\n\t\t\t\"--rendertiddler\",\"$:/core/save/all\",\"index.html\",\"text/plain\"],\n\t\t\"favicon\": [\n\t\t\t\"--savetiddler\",\"$:/favicon.ico\",\"favicon.ico\",\n\t\t\t\"--savetiddler\",\"$:/green_favicon.ico\",\"static/favicon.ico\"]\n\t},\n\t\"config\": {\n\t\t\"retain-original-tiddler-path\": true\t\n\t}\n}\n```\n\n!! Contenu du dossier `tiddlers`\n\nTous les [[fichiers de tiddler|TiddlerFiles]] présents dans le dossier `tiddlers` et ses sous-dossiers sont interprétés dans le wiki au démarrage. Les éventuels sous-dossiers sont explorés récursivement.\n\nLes sous-dossiers contenus dans le dossier `tiddlers` peuvent également contenir un fichier JSON nommé `tiddlywiki.files` qui modifiera le traitement par défaut de ce dossier. Le format de ce fichier est illustré par cet exemple tiré du plugin D3<<dp>>\n\n```\n{\n\t\"tiddlers\": [\n\t\t{\n\t\t\t\"file\": \"d3.min.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/d3/d3.js\",\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t},\n\t\t\t\"prefix\": \"var d3;if($tw.browser){\\n\",\n\t\t\t\"suffix\": \"}\\nexports.d3 = d3;\\n\"\n\t\t},\n\t\t{\n\t\t\t\"file\": \"cloud/d3.layout.cloud.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/d3/d3.layout.cloud.js\",\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t}\n\t\t}\n\t]\n}\n```\n\nLes données JSON consistent en un objet ayant une propriété `tiddlers` qui contient un tableau d'informations sur chaque tiddler à charger dans le wiki. Cette information est constituée de<<dp>>\n\n* `file`: le chemin de fichier relatif ou absolu du fichier de tiddler à inclure\n* `fields`: un objet contenant des champs qui surchargent ceux éventuellement fournis dans le fichier de tiddler\n* `prefix` & `suffix` (optionnels)<<dp>> chaînes de caractères à utiliser pour préfixer et suffixer le contenu texte du fichier de tiddler.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/TiddlyWiki_Releases.tid",
    "content": "caption: ~TiddlyWiki\ncreated: 20131109105400007\nfr-title: Versions de TiddlyWiki\nmodified: 20150601094644380\ntags: Releases\ntitle: TiddlyWiki Releases\ntype: text/vnd.tiddlywiki\n\nVoici la description des récentes mise à jour de TiddlyWiki5. Voir [[TiddlyWiki5 Versioning]] pour plus de détails sur la nomination des versions.\n\n(Les versions [[Bêta|BetaReleases]] et [[Alpha|AlphaReleases]] sont listées séparément).\n\n<$list filter=\"[tag[ReleaseNotes]!sort[created]limit[1]]\">\n  <$macrocall $name=\"tabs\" tabsList=\"[tag[ReleaseNotes]!sort[created]]\" default={{!!title}} class=\"tc-vertical\" template=\"ReleaseTemplate\" />\n</$list>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/TiddlyWiki_in_the_Sky_for_TiddlyWeb.tid",
    "content": "created: 20131129100250644\nfr-title: TiddlyWiki in the Sky pour TiddlyWeb\nmodified: 20150624094721882\ntags: [[Hosting your TiddlyWiki on the web]] Configurations\ntitle: TiddlyWiki in the Sky for TiddlyWeb\ntype: text/vnd.tiddlywiki\n\n//~TiddlyWiki in the Sky pour ~TiddlyWeb// permet la synchronisation du contenu entre le TiddlyWiki s'exécutant dans un navigateur et un serveur TiddlyWeb (ou TiddlySpace). \n\nLes fonctionnalités incluent<<:>>\n\n* Le [[chargement différé|LazyLoading]]\n* Deux modes de synchronisation entre le navigateur et le serveur\n** Une synchronisation du serveur par polling (actuellement toutes les 60 secondes)\n* Des goulots d'étranglement qui évitent de submerger le serveur avec l'évolution rapide des tiddlers\n\nPour expérimenter //~TiddlyWiki in the Sky pour ~TiddlyWeb//<<:>>\n\n# Si besoin, créer un compte sur http://tiddlyspace.com/\n# Créez un nouvel espace, ex<<:>> `<myspace>`\n# Inclure un espace `tw5tiddlyweb`\n# Rendez-vous à `http://<myspace>.tiddlyspace.com/tw5`\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Tirets.tid",
    "content": "created: 20141016155212150\nmodified: 20141116090049122\ntags: Lexique\ntitle: Tirets\ntype: text/vnd.tiddlywiki\n\n<<<\nLe tiret est un signe de ponctuation. Il ne doit pas être confondu avec le trait d’union et le signe moins. Il existe trois types de tirets, en fonction de leur longueur : le tiret court, le tiret moyen et le tiret long.\n<<< Wikipedia : http://fr.wikipedia.org/wiki/Tiret\n\n| Caractère | CP1252 | Code HTML | Noms | Usages |h\n|- |Alt 45 |`&#x002d;` |trait d'union-signe moins (celui du clavier) |trait d'union, signe moins |\n|‐ | |`&#x2010;` |trait d'union, tiret court, tiret quart de cadratin |trait d'union |\n|− | |`&minus;` |signe moins |signe moins |\n|– |Alt 0150 |`&ndash;` |tiret moyen, tiret demi-cadratin |tiret d'incise, tiret d'énumération, tiret de liste |\n|— |Alt 0151 |`&mdash;` |tiret long, tiret cadratin |tiret de dialogue |\n\nIllustration : − – + (signe moins, tiret moyen et signe plus)\n\nVoir aussi l'Atelier typographique : http://monsu.desiderio.free.fr/atelier/tiret.html\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Title_List.tid",
    "content": "created: 20150117152418000\nfr-title: Liste de titres\nmodified: 20150624092929542\ntags: Concepts\ntitle: Title List\ntype: text/vnd.tiddlywiki\n\nUne <<.def \"liste de titre\">> est une liste de texte contenant un ou plusieurs titres de tiddlers, reliés par un espace entre chacun d'eux et le suivant.\n\nSi un de ses titres <<.em contient>> un espace, il devra être entouré de double crochets<<:>>\n\n`PourDémarrer [[Découvrir TiddlyWiki]] Communauté`\n\nLes listes de titres sont utilisées en des endroits variés, dont les [[PermaLiens|PermaLinks]] et les [[Champs list|ListField]].\n\nElles sont en fait la plus simple expression d'un [[filtre|Filters]], et donc un moyen d'exprimer une [[sélection de titres|Title Selection]].\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Title_Selection.tid",
    "content": "created: 20150117152418000\nfr-title: Sélection de titre\nmodified: 20150624093025320\ntags: Concepts\ntitle: Title Selection\ntype: text/vnd.tiddlywiki\n\nUne <<.def \"sélection de titre\">> est une suite ordonnée de titres de tiddlers (ou chaines similaires), dans laquelle aucun titre n'apparait plus d'une fois.\n\nLes sélections de titres sont importantes dans les processus de [[filtre|Filters]].\n\nLa façon la plus simple d'en écrire une est une [[liste de titres|Title List]].\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Transclusion.tid",
    "content": "caption: Transclusion\ncreated: 20141129194651420\nmodified: 20150622112927685\ntags: Concepts\ntitle: Transclusion\ntype: text/vnd.tiddlywiki\n\nLa <a href=\"http://fr.wikipedia.org/wiki/Transclusion\">Transclusion</a> est le procédé de référencement d'un tiddler \"A\" à partir d'un autre tiddler \"B\" de sorte que le contenu de \"A\" apparait être une partie de \"B\".\n\nCopier / coller du contenu crée des copies multiples d'un même contenu en différents endroits. Avec la transclusion, il peut y avoir une seule copie et une instruction spéciale dans \"B\" qui mentionne le point à partir duquel doit être inséré le contenu du tiddler \"A\".\n\nNotez que si le contenu de \"A\" est modifié, alors la modification apparait immédiatement dans \"B\". Cela rend aisé la maintenance de contenu répétitif, en permettant l'écriture d'éléments à un seul endroit, mais l'affichage en de multiple lieux.\n\nLe concept de transclusion joue un rôle important dans la [[Philosophie des Tiddlers|Philosophy of Tiddlers]] car c'est la première façon de combiner le contenu de petits articles.\n\nEn savoir plus<<:>>\n\n* [[Transclusion grâce à WikiText|Transclusion in WikiText]]\n* [[Transclusion - utilisation basique|Transclusion Basic Usage]]\n* [[Transclusion par Gabarits|Transclusion with Templates]]\n* [[Référence textuelle|TextReference]]\n* [[Tiddlers Gabarits|TemplateTiddlers]]\n* [[Widget Transclude|TranscludeWidget]]\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Transclusion_Basic_Usage.tid",
    "content": "caption: Utilisation basique\ncreated: 20141129201509859\nfr-title: Transclusion — utilisation basique\nmodified: 20160517071012115\ntags: [[Transclusion in WikiText]]\ntitle: Transclusion Basic Usage\ntype: text/vnd.tiddlywiki\n\n! Transclusion Simple\n\nPour inclure le contenu d'un [[TiddlerA]] dans un [[TiddlerB]], modifier le précédent pour y inclure le texte suivant<<:>> \n\n```\n\nVoici le contenu de TiddlerA: {{TiddlerA}}\n```\n\nLe résultat permet au contenu du champ ''text'' (c.à.d le contenu principal) du [[TiddlerA]] de s'afficher dans le [[TiddlerB]]. \n\n! Utilisation\n\nLa notation ``{{TiddlerA}}`` est une abréviation de ``{{TiddlerA!!text}}``, puisque le champ de transclusion par défaut est ''text'', mais tout autre [[champ|TiddlerFields]] peut être spécifié. Par exemple, vous pouvez visualiser la dernière fois que le TiddlerA fut modifié par<<:>>\n\n```\n\nTiddlerA a été modifié le {{TiddlerA!!modified}}\n```\n\nEn omettant le titre du tiddler, la notation de transclusion peut aussi être utilisé pour afficher le contenu d'un champ du tiddler en cours, par exemple<<:>>\n\n```\n\nLe tiddler en cours a été modifié le {{!!modified}}\n```\n\n! Erreurs Récursives\n\nNotez que l'utilisation de ``{{!!text}}`` ou ``{{}}`` engendre le message d'erreur (//Erreur dans le widget transclude : transclusion récursive//), car il n'y a aucun sens à inclure le contenu du tiddler courant dans le contenu du tiddler courant (c.à.d, en lui-même). Chaque fois que vous rencontrez ce message d'erreur, cela voudra dire que vous essayez d'inclure quelque chose en lui-même, directement ou indirectement (par exemple si le tiddler A transclut le tiddler B qui transclut le tiddler C qui, à son tour, transclut le tiddler A).\n\n! En savoir plus\n\nDans TiddlyWiki, les transclusions ne sont pas limitées à l'inclusion de contenu brut comme ci-dessus. Pour en apprendre plus au sujet de modes d'utilisation plus poussées, voir [[Transclusion par Gabarits|Transclusion with Templates]].\n\nVoir aussi<<:>>\n\n* [[Transclusion]]\n* [[Transclusion par Gabarits|Transclusion with Templates]]\n* [[Transclusion grâce à WikiText|Transclusion in WikiText]]\n* [[Référence de texte|TextReference]]\n* [[Champs de Tiddler|TiddlerFields]].\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Tutorials.tid",
    "content": "caption: Tutoriels\ncreated: 20140908125300000\nfr-title: Tutoriels\nmodified: 20150614160111460\ntags: Community\ntitle: Tutorials\ntype: text/vnd.tiddlywiki\n\nVoici quelques pages web contenant des astuces et des tutoriels liés à ~TiddlyWiki :\n\n<div class=\"tc-link-info\">\n\n<$list filter=\"[tag[Tutorials]!sort[modified]]\">\n\n<div class=\"tc-link-info-item\">\n\n! <$link><$view field=\"title\"/></$link>\n\n!!! <a href={{!!url}} target=\"_blank\"><$text text={{!!url}}/></a>\n\n<div class=\"tc-subtitle\">Posted <$view field=\"modified\" format=\"relativedate\"/></div>\n\n<$transclude/>\n\n</div>\n\n</$list>\n\n</div>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/URI.tid",
    "content": "caption: URI\ncreated: 20150228113450000\nmodified: 20150623065502688\ntags: Definitions\ntitle: URI\ntype: text/vnd.tiddlywiki\n\nUne <<.dlink-ex \"URI\" \"http://fr.wikipedia.org/wiki/Uniform_resource_identifier\">> (souvent aussi connue comme <<.def URL>>) est une chaine de caractère utilisée pour spécifier la localisation d'une ressource telle qu'une page web.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Upgrading TiddlyWiki on Node.js.tid",
    "content": "created: 20131219100544073\nfr-title: Mettre à niveau pour Node.js\nmodified: 20141129081501675\ntags: [[TiddlyWiki on Node.js]]\ntitle: Upgrading TiddlyWiki on Node.js\ntype: text/vnd.tiddlywiki\n\nSi vous avez installé [[TiddlyWiki sur Node.js|TiddlyWiki on Node.js]] de manière standard, vous pouvez le mettre à jour dès qu'une nouvelle version est publiée, à l'aide de la commande suivante<<dp>>\n\n```\nnpm update -g tiddlywiki\n```\n\nSur Mac ou Linux, vous devrez ajouter ''sudo''<<dp>>\n\n```\nsudo npm update -g tiddlywiki\n```\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Upgrading.tid",
    "content": "created: 20131202102427114\nfr-title: Obtenir la dernière version\nmodified: 20150620090746011\ntags: Features [[Working with TiddlyWiki]]\ntitle: Upgrading\ntype: text/vnd.tiddlywiki\n\nDe nouvelles versions de <<tw>> sont publiées régulièrement, avec des améliorations et des corrections de bogues. Il est recommandé de rester à jour en hissant votre wiki au niveau de la dernière version.\n\n! Introduction\n\nLa procédure décrite ici est réservée à la mise à niveau de fichiers <<tw>> autonomes. Pour mettre à niveau [[TiddlyWiki sur Node.js|TiddlyWiki on Node.js]], il existe une [[méthode différente|Upgrading TiddlyWiki on Node.js]].\n\n<<<\nQuand vous mettez à niveau, n'oubliez pas [[la première règle d'utilisation de Tiddlywiki|The First Rule of Using TiddlyWiki]] :\n\n//Il est de votre responsabilité de vous occuper de vos données ; prenez soin d'effectuer des sauvegardes, surtout quand vous mettez à niveau le noyau de <<tw>>.//\n<<<\n\n! Mise à niveau en ligne\n\nCette procédure fonctionnera sur la plupart des navigateurs de bureau. Notez que vos données personnelles ne quittent pas votre navigateur pendant la procédure.\n\n# Localisez votre fichier <<tw>> sur le système de fichiers (à l'aide de Windows Explorer, du Finder sur Mac OS X, ou de votre gestionnaire de fichiers sur Linux)\n# Visitez la page https://tiddlywiki.com/upgrade.html dans votre navigateur\n# Faites glisser votre ancien fichier <<tw>> HTML sur la fenêtre du navigateur\n#* Si le fichier est crypté, un mot de passe vous sera demandé\n# Passez en revue la liste des tiddlers qui seront mis à niveau\n# Cliquez sur ''Upgrade''\n# Enregistrer les changements pour sauvegarder la nouvelle version\n\nCela aura pour résultat de télécharger sur votre ordinateur un fichier nommé ''upgrade.html''. Ce fichier constitue la version à niveau de votre ancien fichier. Il se peut que vous deviez vous rendre là où ''upgrade.html'' a été téléchargé, renommer ''upgrade.html'' avec le nom de l'ancien fichier que vous mettez à niveau, et remplacer l'ancien fichier en déplaçant le nouveau à sa place.\n\n! Mise à niveau hors ligne\n\nVous pouvez également télécharger le fichier https://tiddlywiki.com/upgrade.html localement et effectuer la même procédure de glisser-déposer pour mettre vos fichiers à niveau.\n\n! Problèmes avec les mises à niveau\n\nIl est possible qu'une personnalisation appliquée dans une version précédente devienne inopérante une fois la mise à niveau effectuée. Deux techniques peuvent être employées pour vous aider à retrouver l'origine du problème :\n\n* Essayez de répéter la mise à niveau en décochant tous les tiddlers qui pourraient contenir des personnalisations de <<tw>>\n* Utilisez le [[ModeSansÉchec|SafeMode]] pour désactiver toutes les adaptations personnalisées des tiddlers //shadow//\n\nVous pouvez voir quels tiddlers //shadow// ont été modifiés dans l'onglet ''Filtres'' de la [[recherche avancée|$:/AdvancedSearch]]. Choisir \"Les tidders shadow modifiés\" depuis le menu déroulant.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Using TiddlyWiki on Node.js.tid",
    "content": "created: 20131219100520659\nfr-title: Utiliser TiddlyWiki sur Node.js\nmodified: 20150622001543110\ntags: [[TiddlyWiki on Node.js]]\ntitle: Using TiddlyWiki on Node.js\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki5 peut être utilisé depuis la ligne de commande, dans le but d'effectuer un ensemble d'opérations qui manipulent [[dossiers TiddlyWiki|TiddlyWikiFolders]], [[fichiers de tiddlers|TiddlerFiles]] et [[fichiers TiddlyWiki|TiddlyWikiFiles]].\n\nPar exemple, la commande ci-dessous charge les tiddlers d'un fichier <<tw>> HTML, et enregistre l'un d'eux dans un fichier HTML statique<<dp>>\n\n```\ntiddlywiki --verbose --load monwiki.html --rendertiddler LisezMoi ./lisezmoi.html\n```\n\nL'exécution du programme `tiddlywiki` depuis la ligne de commande démarre le noyau <<tw>>, charge les plugins de base et met en place une structure de wiki vide. Puis les arguments de la ligne de commande sont traités à la suite, de gauche à droite. Les arguments sont séparés par des espaces.\n\nLe premier argument est un chemin optionnel vers le [[dossier|TiddlyWikiFolders]] à charger. Si absent, le répertoire courant est utilisé.\n\nSuivent les commandes proprement dites, avec leurs arguments spécifiques, chaque commande étant annoncée par le préfixe `--`.\n\n```\ntiddlywiki [<cheminverslewiki>] [--<commande> [<arg>[,<arg>]]]\n```\n\nLes commandes disponibles sont<<dp>>\n\n<<list-links \"[tag[Commands]]\">>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/UsingSVG.tid",
    "content": "created: 20131028132700000\nfr-title: SVG, son Utilisation\nmodified: 20150622062645411\ntags: Features\ntitle: UsingSVG\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki5 propose d'afficher les illustrations vectorielles SVG de deux façons<<:>>\n\n* Les Tiddlers avec le type `image/svg+xml` sont interprétés comme des images SVG, et affichés et transclus des éléments `<img>` autonomes avec du code SVG intégré (le lien URI vers les données source est dans l'attribut `src`)\n** Exemples d'images SVG, voir [[Motovun Jack.svg]] et [[Tiddler Fishes.svg]]\n* WikiText peut aussi inclure directement des éléments SVG en ligne. Voir ci-dessous pour un exemple.\n\n! Intégration de tiddlers SVG\n\nVous pouvez intégrer un tiddler image SVG en utilisant la syntaxe ordinaire de transclusion<<:>>\n\n```\n{{Motovun Jack.jpg}}\n```\n\nDe même, vous pouvez faire appel aux [[blocs typés|Typed Blocks in WikiText]] pour intégrer un tiddler SVG en mode ligne.\n\nToutefois, le rendu de l'image par l'élément `<img>` fait qu'elle passe par un <<.def \"bac à sable\">>, et ne peut pas récupérer les styles CSS du document parent, par exemple. L'image, en elle-même, ne peut pas utiliser de fonctionnalités WikiText comme la transclusion.\n\n! Intégration d'éléments SVG\n\nL'autre façon d'utiliser SVG est d'intégrer des éléments `<svg>` directement. Par exemple<<:>>\n\n<svg width=\"150\" height=\"100\">\n  <circle cx=\"100\" cy=\"50\" r=\"40\" stroke=\"black\" stroke-width=\"2\" fill=\"red\" />\n</svg>\n\nNotez que les éléments SVG en mode ligne ne nécessitent pas de directive `<?xml version=\"1.0\"?>`.\n\n! Inclure du contenu HTML ou WikiText dans des images SVG\n\nVous pouvez inclure de simples chaine de texte dans des images SVG par l'emploie de l'élément `<text>` <<:>>\n\n<svg width=\"100px\" height=\"30px\" viewBox=\"0 0 200 400\"><text x=\"250\" y=\"150\" font-family=\"Verdana\" font-size=\"100\">Salut d'ici</text><rect x=\"1\" y=\"1\" width=\"998\" height=\"298\" fill=\"none\" stroke-width=\"2\" /></svg>\n\nLe contenu HTML or WikiText peut être inclu dans des images en mode ligne via l'élément `<foreignObject>`. Par exemple<<:>>\n\n<svg width=\"260px\" height=\"260px\"><circle cx=\"150\" cy=\"150\" r=\"100\" fill=\"blue\" stoke=\"red\"/><foreignObject x=\"70\" y=\"110\" width=\"150\" height=\"180\"><body>Voici du texte qui réclame un retour à la ligne, et intègre un [[lien vers un tiddler|HelloThere]].</body></foreignObject></svg>\n\n! Transclusion d'éléments SVG\n\nLors de l'intégration d'éléments SVG vous pouvez faire appel à des fonctionnalités WikiText comme la transclusion. Par exemple, voici un cercle SVG dont la valeur du rayon est réglée dans le tiddler [[$:/SVGExampleRadius]]<<:>>\n\n<svg width=\"150\" height=\"150\"><circle cx=\"75\" cy=\"75\" r={{$:/SVGExampleRadius}} stroke=\"black\" stroke-width=\"2\" fill=\"green\"/></svg>\n\nVous pouvez modifier la valeur du rayon<<:>> <$edit-text tiddler=\"$:/SVGExampleRadius\" tag=\"input\"/>\n\n! Tracer un texte incurvé avec SVG\n\n{{Making curved text with SVG}}"
  },
  {
    "path": "editions/fr-FR/tiddlers/Using_Stylesheets.tid",
    "content": "created: 20140305091244145\nfr-title: Utilisation des feuilles de style\nmodified: 20150622183256721\ntags: [[Customise TiddlyWiki]]\ntitle: Using Stylesheets\ntype: text/vnd.tiddlywiki\n\nLes premières étapes pour changer l'apparence de TiddlyWiki sont de choisir et d'appliquer un des thèmes disponibles, ou de modifier la [[palette de couleurs|ColourPalettes]].\n\nDe plus, les [[feuilles de style CSS|http://www.w3schools.com/css]] personnalisées peuvent être définies en taguant un tiddler par `$:/tags/Stylesheet`. Essayez de créer  une feuille de style maintenant avec le contenu suivant pour modifier la couleur de fond de la page à rouge<<:>>\n\n```\nhtml body.tc-body {\n\tbackground: red;\n}\n```\n\n! Outrepasser les réglages du thème\n\nLes feuilles de style personnalisées sont appliquées indépendamment de celles du thème. Toutefois, il est souvent nécessaire aux règles css de votre feuille de style d'être plus spécifiques que celles du thème auquel vous désirez vous substituer. Ainsi, `html body.tc-body` sera plus pointu que `body.tc-body`.\n\n! Les types de feuille de style\n\nIl est en général bien mieux de faire appel au `text/css` pour les feuilles de styles. Cela les interprète comme des feuilles de style à part entière, et assure que TiddlyWiki ne leur applique aucun processus wiki.\n\nSi vous souhaitez utiliser macros et transclusions au sein de vos feuilles de style vous devrez y substituer le type WikiTexte par défaut `text/vnd.tiddlywiki`. Ce qui permettra a une interprétation WikiTexte d'être complètement appliquée. Voilà un exemple<<:>>\n\n```\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline html\n\nbody.tc-body pre {\n\t<<box-shadow \"inset 0 1px 0 #fff\">>\n}\n```\n\nLe pragma `\\rules` au début du tiddler restreint l'application WikiTexte aux seules macros et transclusions. Sont ainsi évités les déclenchements de processus WikiTexte erronés indésirables.\n\nUn tiddler feuille de style est interprété de façon telle qu'il est, dans un premier temps wikifié et la portion de texte en résultant est extraite pour être considéré comme du CSS. Toute balise HTML que vous utiliseriez dans votre feuille de style est ainsi ignorée. Par exemple, les éléments HTML générés par le RevealWidget n'affecteront pas le résultat en sortie. Comme dans l'exemple suivant, vous pouvez entourer les règles de balises `<pre>` pour les afficher comme des blocs de code sans affecter leur interprétation, incluant la prise en compte de la macro entourée.\n\n```\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline html\n\n<pre>body.tc-body pre {\n\t<<box-shadow \"inset 0 1px 0 #fff\">>\n}\n</pre>\n```\n\n!! Macros feuille de style\n\nLe noyau de ~TiddlyWiki offre plusieurs [[macros globales that are helpful dans l'élaboration des feuilles de style |Stylesheet Macros]].\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Using_links_to_navigate_between_tiddlers.tid",
    "content": "created: 20140908093600000\nfr-title: Utiliser des liens pour naviguer entre les tiddlers\nmodified: 20150620091824246\ntags: [[Working with TiddlyWiki]]\ntitle: Using links to navigate between tiddlers\ntype: text/vnd.tiddlywiki\n\nVous pouvez utiliser des liens (habituellement affichés en bleu)pour naviguer d'un tiddler à l'autre. Cliquer sur le lien vers un tiddler vous amène à ce tiddler. Si le tiddler est fermé, il sera ouvert. La particularité de TiddlyWiki est de rendre les liens vers tiddlers aussi accessible que possible. Il y a des liens partout&nbsp;! Voici les principaux endroits où vous pourrez trouver des liens vers d'autres tiddlers dans TiddlyWiki&nbsp;:\n\n* Vous pouvez ''créer un lien'' vers un tiddler, qu'il existe déjà ou pas, dans le contenu de tout tiddler. Voir [[ Liens avec WikiTexte|Linking in WikiText]] pour consulter les différentes façons de créer simplement des liens entre tiddlers.\n\n* Chaque ''tag'' de votre tiddler (comme par exemple le tag ''Working with ~TiddlyWiki'' sous le titre de ce tiddler) contient un lien vers ce tiddler tag,  ainsi que la liste de tous les tiddlers avec ce tag. Ce qui vous permet d'ouvrir un de ces tiddlers.\n\n* Le ''Panneau d'information'' de chaque tiddler vous donne l'accès à 4 onglets contenant un liste additionnelle de tiddlers connexes&nbsp;:\n\n** L'onglet ''Références'' liste tous les tiddlers avec un lien //vers// le tiddler en cours.\n\n** L'onglet ''Étiqueté'' liste tous les tiddlers tagués avec le titre du tiddler en cours.\n\n** L'onglet ''Liste'' liste tous les tiddlers (ou les tiddlers potentiels) mentionnés dans le [[champ liste|ListField]] du tiddler en cours.\n\n** L'onglet ''Listé'' liste tous les tiddlers qui mentionnent le tiddler en cours dans //leurs// champs liste.\n\n* Les ''onglets de la barre de menu'' contiennent plusieurs listes de liens vers des tiddlers&nbsp;:\n\n** L'onglet ''Récents'' liste les 100 tiddlers récemment modifiés, en commençant pas la modification la plus récente.\n\n** L'onglet ''Plus'' propose 8 listes supplémentaires de tiddlers<<:>>\n\n*** ''Tout'' liste tous les tiddlers dans l'ordre alphabétique.\n\n*** ''Tags'' liste tous les tags. Vous pouvez cliquer sur la pilule de tout tag pour accéder à la liste des tiddlers étiquetés par ce tag.\n\n*** ''Manquants'' liste tous les tiddlers qui n'existent pas encore, mais auquels sont liés à d'autres tiddlers. Utile pour trouver les tiddlers que vous aviez prévu de créer, sans en avoir jamais eu le temps.\n\n*** ''Ébauches'' liste tous les tiddlers actuellement en mode ébauche. ~TiddlyWiki considère l'ébauche d'un tiddler comme un tiddler séparé de l'original aussi longtemps que vous le modifiez, aussi, tant que vous modifierez le tiddler titré ''Australie'', il y aura deux tiddlers, ''Australie'' et ''Draft of 'Australie'''. Quand vous clôturerez l'ébauche en confirmant les modifications, ces modifications seront apportées au tiddler original ''Australie''. Aussi, traitez l'onglet ''Ébauches'' comme un moyen de retrouver toutes les ébauches que vous avez commencé.\n\n*** ''Orphelins'' liste tous les tiddlers non connectés à un autre tiddler par des lien, tag ou liste. C'est une assistance utile à l'organisation de vos fichiers - qui montre quels tiddlers doivent y faire l'objet d'une intégration plus soigneuse.\n\n*** ''Types'' liste tous les tiddlers à contenu spécial, comme les images ou l'audio.\n\n*** ''Système'' liste tous les SystemTiddlers.\n\n*** ''Shadows'' liste tous les ShadowTiddlers.\n\n* ''Résultats de la recherche'' est une liste des tiddlers contenant le texte que vous avez saisi dans la zone de recherche.\n\n* Enfin, vous pouvez créer vos propres tiddlers de listes personnalisées par différents moyens<<:>>\n\n** Vous pouvez transclure un [[filtre|Filters]] (voir [[Transclusion grâce à WikiText|Transclusion in WikiText]]). Par exemple, l'ajout de `{{{ [tag[montagne]] }}}` à un tiddler insèrera une liste de tiddlers avec le tag ''montagne''.\n\n** Vous pouvez utiliser le ListWidget. C'est plus compliqué que transclure un [[filtre|Filters]], mais offre plus de souplesse dans l'affichage et la mise en forme d'une liste exactement de la façon dans laquelle vous désirez qu'elle s'affiche.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Variables.tid",
    "content": "caption: Variables\ncreated: 20141002133113496\nmodified: 20150622112706947\ntags: Concepts Reference\ntitle: Variables\ntype: text/vnd.tiddlywiki\n\nUne <<.def variable>> est une portion de texte accessible par son nom via une branche particulière de l'[[arbre widget|Widgets]]. La portion reconnue est la <<.def valeur>> de la\nvariable.\n\nUne nouvelle variable est définie par le widget <<.wlink SetWidget>>, et ainsi accessible à tous les descendants du widget, incluant les contenus tranclus. Un widget <<.wid set>> peut utiliser un nom existant et relier ainsi, une portion différente à ce nom pour cette génération de descendants du widget.\n\nLe widget <<.wlink ListWidget>> affecte aussi une variable particulière (par défaut <<.var currentTiddler>>), tour à tour, à chaque titre listé.\n\nPour une vue d'ensemble quand à l'utilisation des variables, se reporter à  [[variables dans Wikitexte |Variables in WikiText]].\n\nMalgré le mot <<.word variable>>, chaque portion contient une chaine constante. L'apparente variabilité est actuellement reflétée par la présence de plusieurs variables portant le même nom en différents endroits de l'arbre widget.\n\n[[WikiTexte|WikiText]] n'analyse pas les portions en elles-mêmes. Cependant la référence à une variable peut être transcluse dans un contexte où une analyse ~WikiText parsing <<.em may>> pourrait s'effectuer. Dans une portion de code, le seul marquage détecté est `$name$` pour le paramètre de transclusion d'une macro  et `$(name)$` pour une variable à transclure.\n\nLa macro <<.mlink dumpvariables>> liste toutes les variables (y  compris les macros) disponibles à une position donnée de l'[[arbre widget|Widgets]].\n\nLe noyau de ~TiddlyWiki intègre [[plusieurs variables|Core Variables]].\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/ViewWidget.tid",
    "content": "caption: view\ncreated: 20131024141900000\nfr-title: Widget view\nmodified: 20150620075635746\ntags: Widgets\ntitle: ViewWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nLe widget view affiche le contenu du champ d'un tiddler dans un format spécifié.\n\n! Contenu et Attributs\n\nLe contenu du widget `<$view>` est affiché si le champ ou une propriété est vide ou manquante.\n\n|!Attribut |!Description |\n|tiddler |Le titre du tiddler (par défaut du [[tiddler courant|Current Tiddler]]) |\n|field |Le nom du champ à afficher (par défaut \"texte\") |\n|index |Le nom de l'index à afficher |\n|format |Le format d'affichage du champ (voir ci-dessous) |\n|template |Une chaine de gabarit optionnelle utilisée avec certains formats comme les dates |\n|subtiddler |Le titre d'un SubTiddler optionnel quand le tiddler cible est un [[plugin|Plugins]] (voir ci-dessous) |\n\n!! Formats\n\nLes formats suivants peuvent être spécifiés dans l'attribut `format` <<:>>\n\n|!Format |!Description |\n|''text'' |text brut |\n|''htmlwikified'' |Le champ est wikifié et la résultante HTML retourné comme du texte brut |\n|''htmlencoded'' |Le champ est affiché jusqu'à l'encodage HTML |\n|''date'' |Le champ est interprété comme une date UTC date et affiché selon le [[format de date|DateFormat]] spécifié dans l'attribut `template` |\n|''relativedate'' |Le champ est interprété comme une date UTC date et affiché comme un intervalle au moment présent |\n|''stripcomments'' |Le champ est considéré comme du code source JavaScript et toutes les lignes commençant par `\\\\#` sont écartées |\n|''jsencoded'' |Le champ est affiché comme une chaine encodée en JavaScript |\n\n! Accès au SubTiddler\n\nLe widget view permet l'accès aux tiddlers individuels stockés dans un [[plugin|Plugins]].\n\nL'exemple suivant montre la version originale du tiddler [[$:/DefaultTiddlers]] même s'il a été remplacé<<:>>\n\n<<wikitext-example-without-html '\n<$view tiddler=\"$:/core\" subtiddler=\"$:/DefaultTiddlers\"/>\n\n'>>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/What happened to the original TiddlyWiki_.tid",
    "content": "created: 20140904085100000\nfr-title: Qu'est-il arrivé au TiddlyWiki d'origine ?\nmodified: 20160603043618380\ntags: HelloThere\ntitle: What happened to the original TiddlyWiki?\ntype: text/vnd.tiddlywiki\n\n<a class=\"tc-float-right tc-bordered-image\" href=\"https://classic.tiddlywiki.com/\" target=\"_blank\" rel=\"noopener noreferrer\">[img width=\"200\" [TiddlyWiki Classic.png]]</a>\n\nLa version [[originale|TiddlyWikiClassic]] de TiddlyWiki est toujours disponible à l'adresse :\n\nhttps://classic.tiddlywiki.com.\n\nIl faut savoir que la [[version courante|TiddlyWiki5]] de TiddlyWiki n'est pas entièrement rétro-compatible avec TiddlyWikiClassic. Le contenu peut être importé mais devra être ajusté pour s'adapter au nouveau format WikiText. Un plugin ''tw2parser'' permettant d'afficher fidèlement la plupart des contenus créés avec TiddlyWikiClassic est en cours de développement<<dp>>\n\nhttps://tiddlywiki.com/plugins/tiddlywiki/tw2parser/\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/WidgetMessage_ tm-home.tid",
    "content": "caption: tm-home\ncreated: 20140819110529062\nmodified: 20141217193002043\ntags: Messages\ntitle: WidgetMessage: tm-home\ntype: text/vnd.tiddlywiki\n\nLe message `tm-home` ferme tous les tiddlers ouverts et réouvre les tiddlers par défaut définis dans [[$:/DefaultTiddlers]]. Il élimine aussi toute trace de [[permalien|PermaLinks]] de la barre d’adresse du navigateur internet. Il ne requiert aucune propriété dans l’objet `event`.\n\nLe message est habituellement lancé à travers le ButtonWidget et est pris en charge par le noyau.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Widgets.tid",
    "content": "caption: Widgets\ncreated: 20140908130500000\nmodified: 20150622112829584\ntags: Concepts Reference\ntitle: Widgets\ntype: text/vnd.tiddlywiki\n\nL'affichage de ~TiddlyWiki est piloté par un ensemble de <<.def widgets>> sous-jacents. Ceux-ci sont organisés dans une structure arborescente<<:>> chaque widget a un widget parent et zéro ou plusieurs widgets enfants.\n\n~TiddlyWiki génère cet <<.def \"arbre widget\">> par l'analyse WikiText des tiddlers. Chaque composant de la syntaxe WikiText, y compris le cas trivial du texte ordinaire, génère le widget correspondant. L'arborescence widget est une représentation intermédiaire, rendue, par la suite, dans l'affichage réel final.\n\nLes Widgets sont similaires aux éléments HTML d'un document. En fait, les balises HTML dans Wikitext génèrent des <<.def \"éléments widgets\">> dédiés. \n\nChaque classe de widget contribue a une aptitude spécifique de la fonctionnalité globale, comme l'aptitude à <<.wlink2 \"afficher une image\" ImageWidget>>, <<.wlink2 \"un bouton\" ButtonWidget>>, pour <<.wlink2 \"appeler une macro\" MacroCallWidget>>, <<.wlink2 \"transclure un texte externe\" TranscludeWidget>>, ou pour [[marquer une partie du texte comme titre|HTML in WikiText]].\n\nLes widget plus spécialisés utilisent une [[syntaxe de widget|Widgets in WikiText]] polyvalente comme seule représentation WikiText possible.\n\nLes classes de widget suivantes sont intégrées au noyau<<:>>\n\n<<list-links \"[tag[Widgets]]\">>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/Wiki.tid",
    "content": "caption: Wiki\ncreated: 20150622124426731\nmodified: 20150622203849923\ntags: Concepts\ntitle: Wiki\ntype: text/vnd.tiddlywiki\n\nLes groupes de tiddlers à intitulé unique sont contenus dans des objets WikiStore.\n\nLe WikiStore gère également les modules de plugin utilisés pour les widgets, les opérations comme la sérialisation, la désérialisation, l'analyse et le rendu tiddlers."
  },
  {
    "path": "editions/fr-FR/tiddlers/Working with TiddlyWiki.tid",
    "content": "created: 20140904101100000\nfr-title: Travailler avec TiddlyWiki\nlist: [[The First Rule of Using TiddlyWiki]] GettingStarted [[Getting Started Video]] Upgrading [[Navigating between open tiddlers]] [[Using links to navigate between tiddlers]] [[Searching in TiddlyWiki]] [[Creating and editing tiddlers]] [[Creating journal tiddlers]] Saving [[Formatting text in TiddlyWiki]] [[Structuring TiddlyWiki]] Tagging [[Images in WikiText]] KeyboardShortcuts Encryption\nmodified: 20141127151557971\ntags: TableOfContents\ntitle: Working with TiddlyWiki\ntype: text/vnd.tiddlywiki\n\nInformations pour vous mettre le pied à l'étrier<<dp>>\n\n<<list-links \"[tag[Working with TiddlyWiki]]\">>\n\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/_A Thesis Notebook_ by Alberto Molina.tid",
    "content": "created: 20130302085406905\nfr-title: \"Un carnet de thèse\" par Alberto Molina\nmodified: 20150620160704838\ntags: Examples\ntitle: \"A Thesis Notebook\" by Alberto Molina\ntype: text/vnd.tiddlywiki\nurl: http://tesis.tiddlyspot.com/\n\nUn carnet de thèse, basé sur TiddlyWiki.\n\n<<<\nVoici un exemple de carnet de thèse réalisé avec TiddlyWiki 5.0.8-beta.\n\nTiddlyWiki est un très beau logiciel de Jeremy Ruston. Il vous permet, entre autres choses, de prendre des notes, de gérer vos idées, de garder des informations, et d'afficher un tas de choses de la façon que vous choisirez. C'est un outil incroyablement malléable que vous pouvez adapter à la plupart de vos besoins.\n\nCe TiddlyWiki a été personnalisé pour être utilisé comme un carnet de notes sur la philosophie, récapitulant auteurs, ouvrages, articles, concepts, théories, et notes personnelles. Je l'utilise avec Zotero, un logiciel spécialisé de bibliographie. Les deux sont des projets libres et ouverts. TiddlyWiki peut-être téléchargé sur https://tiddlywiki.com.\n<<<\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/_BJTools_ by buggyj.tid",
    "content": "fr-title: \"BJTools\" par buggyj\ncreated: 20140315085406905\nmodified: 20141012155701038\ntags: Resources\ntitle: \"BJTools\" by buggyj\ntype: text/vnd.tiddlywiki\nurl: http://bjtools.tiddlyspot.com\n\nbuggyj a créé plusieurs plugins utiles, notamment un éditeur HTML WYSIWYG, un calendrier configurable et des listes de tags réagençables par simple glisser-déplacer.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/_BrainTest - tools for a digital brain_ by Danielo Rodriguez.tid",
    "content": "fr-title: \"BrainTest - tools for a digital brain\" par Danielo Rodriguez\ncreated: 20140315085406905\nmodified: 20141012155529904\ntags: Resources\ntitle: \"BrainTest - tools for a digital brain\" by Danielo Rodriguez\ntype: text/vnd.tiddlywiki\nurl: http://braintest.tiddlyspot.com/\n\nUne collection de diverses personnalisations et macros, par Danielo Rodriguez.\n\n<<<\nCeci est mon fichier tiddlywiki de test personnel.\n\nIci, je posterai les outils et macros que je développe pour ce merveilleux outil. Ainsi, toute l'aide que j'ai reçue de la communauté retourne à la communauté.\n<<<\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/_Briefcase_ by Roma Hicks.tid",
    "content": "fr-title: \"Briefcase\" par Roma Hicks\ncreated: 20140916203526273\nmodified: 20141119193443127\ntags: Resources\ntitle: \"Briefcase\" by Roma Hicks\ntype: text/vnd.tiddlywiki\nurl: http://gsd5.tiddlyspot.com/\n\nUne adaptation pour ~TiddlyWiki version 5 du [[système GTD® adapté pour TiddlyWiki, connu précédemment sous le nom de MonkeyGTD|http://mgsd.tiddlyspot.com/]].\n\n<<<\nBriefcase est un outil Getting-Thing-Done pour ~TiddlyWiki5 basé sur le mGSD classique pour ~TiddlyWiki.\n<<<\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/_CouchDB Adaptor_ by William Shallum.tid",
    "content": "fr-title: \"CouchDB Adaptor\", par William Shallum\ncreated: 20140927155929149\nmodified: 20141118215458410\ntags: Resources\ntitle: \"CouchDB Adaptor\" by William Shallum\ntype: text/vnd.tiddlywiki\nurl: https://github.com/wshallum/couchadaptor\n\nUn adaptateur qui permet à <<tw>> de synchroniser les modifications avec une base de données [[CouchDB|http://couchdb.apache.org]].\n\n<<<\nL'adaptateur CouchDB pour TiddlyWiki 5. Nécessite une version de <<tw>> >= 5.1.2.\n\nFonctionne après des tests limités. Difficile de garantir qu'il gère les conflits correctement.\n<<<\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/_PETTIL - Forth for the Commodore PET_ by Charlie Hitselberger.tid",
    "content": "created: 20140716085406905\nfr-title: \"PETTIL - Forth pour Commodore PET\" par Charlie Hitselberger\nmodified: 20150620161608242\ntags: Examples\ntitle: \"PETTIL - Forth for the Commodore PET\" by Charlie Hitselberger\ntype: text/vnd.tiddlywiki\nurl: http://chitselb.com/files/tiddlypettil.html\n\nUn interprète Forth véloce pour le [[Commodore PET|http://en.wikipedia.org/wiki/Commodore_PET]], écrit en langage assembleur 6502. Le TiddlyWiki contenant la documentation du programme est automatiquement engendré à partir du code source<<dp>> voir https://github.com/chitselb/pettil.\n\n<<<\nLes objectifs du projet étaient, sans ordre particulier<<:>>\n\n* faire un interpréteur Forth exécutable sur mon Commodore PET 2001\n* prendre du plaisir\n* développer mes compétences en \"assembleur 6502\"\n* trouver d'autres personnes intéressées par le projet\n<<<\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/_TiddlyWiki for Scholars_ by Alberto Molina.tid",
    "content": "created: 20140720085406905\nfr-title: \"TiddlyWiki for Scholars\" par Alberto Molina\nmodified: 20220226175137835\ntags: Resources\ntitle: \"TiddlyWiki for Scholars\" by Alberto Molina\ntype: text/vnd.tiddlywiki\nurl: http://tw5.scholars.tiddlyspot.com/\n\nUne version préliminaire d'une //édition// de TiddlyWiki adaptée à une rigoureuse prise de notes universitaire.\n\n{{!!url}}\n\n<<<\n//<<tw>> for Scholars// est une personnalisation de ~TiddlyWiki 5.0.13-beta, que j'ai écrite en pensant à la prise de notes à partir de lectures, mais qui peut servir à d'autres choses. L'idée est de montrer et de faciliter la création des données liées au tiddler courant sans quitter le tiddler.\n<<<\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/_TiddlyWiki guide FR_ by Sylvain Naudin.tid",
    "content": "fr-title: \"TiddlyWiki guide FR\" par Sylvain Naudin\ncreated: 20141031210213087\nmodified: 20141115220804653\ntags: Resources\ntitle: \"TiddlyWiki guide FR\" by Sylvain Naudin\ntype: text/vnd.tiddlywiki\nurl: http://sylvain.naud.in/public/TiddlyWiki/tiddlywiki-guide-fr-CCbysa.html\n\nUne collection de trucs et astuces en Français, introduits par ce post de blog<<dp>>\n\nhttp://sylvain.naud.in/post/2014/10/29/Ressources-pour-TiddlyWiki-5-%28FR%29\n\n<<<\nCe guide de prise en main de TiddlyWiki vous permettra de débuter sur ce logiciel : rédiger du texte avec la syntaxe wiki, insérer des images, créer des Tiddler, faire une recherche, ajouter des fonctionnalités, et bien d'autres choses.. Bonne lecture ! Sylvain\n<<<\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/_TiddlyWiki5 Bourbon_ by mkt_memory.tid",
    "content": "fr-title: \"TiddlyWiki5 Bourbon\" par mkt_memory\ncreated: 20141020072708790\nmodified: 20141105150529039\ntags: Resources\ntitle: \"TiddlyWiki5 Bourbon\" by mkt_memory\ntype: text/vnd.tiddlywiki\nurl: http://bacchus.ivory.ne.jp/bourbon/\n\nUne collection importante de trucs et ressources pour les utilisateurs de <<tw>> en Japonais.\n\n<<<\nTiddlyWikiをHTML5にしたTiddlyWiki5が正式にリリースされました。このTiddlyWiki5の使い方について、自分で試した機能を中心に解説します。\n\nTiddlyWiki5は、非常に多機能なローカルWikiです。このブログに書いてあることは、TiddlyWiki5で出来ることのごく一部です。\n<<<\n\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/_Un wiki sur votre BiblioBox avec TiddlyWiki.tid",
    "content": "created: 20140716085406905\nfr-title: \"Un wiki sur votre BiblioBox avec TiddlyWiki\" par A Penguin à Redmond\nmodified: 20150620164753643\ntags: Tutorials\ntitle: \"Un wiki sur votre BiblioBox avec TiddlyWiki\" from A Penguin in Redmond\ntype: text/vnd.tiddlywiki\nurl: http://bibliobox.net/blog/post/2014/07/16/un-wiki-sur-votre-bibliobox-avec-tiddlywiki\n\nUn manuel d'utilisation de TiddlyWiki (en Français) sur [[BiblioBox|http://bibliobox.net/]], une des variations de la [[PirateBox|http://daviddarts.com/piratebox/]], système mobile de transfert et partage de fichiers.\n\n{{!!url}}\n\n<<<\nJ'ai connu TiddlyWiki à ses débuts en 2004. Je l'utilisais régulièrement comme bloc-notes de façon personnelle ou professionnelle en 2007 et 2012. Mais j'admets avoir ignoré cet outil pendant les deux dernières années. Et voilà que je me suis dit hier<<:>> mais pourquoi ne pas mettre TiddlyWiki sur une BiblioBox<<?>> puisque c'est un simple fichier HTML avec du javascript. De plus je connaissais l'existence d'une version serveur pour sauvegarder les modifications en ligne.\n<<<\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/community/editions/_Noteself_ by Danielo Rodriguez.tid",
    "content": "caption: Noteself\ncolor: #29B6F6\ncommunity-author: Danielo Rodríguez\ncreated: 20141122093837330\ndelivery: Web Service\ndescription: Service en ligne gratuit que vous pouvez aussi héberger vous-même\nfr-title: \"Noteself\" par Danielo Rodríguez\nmethod: sync\nmodified: 20220402105820520\ntags: Android Chrome Firefox [[Internet Explorer]] Linux Mac Opera PHP Safari Saving Windows iOS Edge [[Community Editions]] [[Other Resources]]\ntitle: \"Noteself\" by Danielo Rodríguez\ntype: text/vnd.tiddlywiki\nurl: https://noteself.github.io/\n\n~NoteSelf est votre version personnelle, privée, et personnalisable de l'expérience utilisateur d'Evernote. \nVous voulez du cloud<<?>> Bien<<!>> Vous n'en voulez pas<<?>> C'est bien aussi<<!>> C'est à vous, c'est votre choix<<!>>\nPourquoi ne seriez-vous pas un peu égoïste<<?>>\n\nhttps://noteself.github.io/\n\n<<<\n~NoteSelf est le support parfait pour vos idées, vos notes, vos pensées, vos astuces, vos recettes... tout ce que vous voulez<<!>> \n~NoteSelf les stockera, les indexera et les rendra faciles à rechercher, pour que vous les trouviez instantanément quand vous en avez besoin<<!>>\n\nVous connaissez déjà Evernote et vous l'adorez, nous le savons bien. Il est confortable, il se synchronise, il permet la recherche...\nOuah<<!>> Il est presque parfait, mais que pensez-vous de<<:>>\n\n* La vie privée<<:>> tout est stocké sur les serveurs d'Evernote<<!>>\n* La personnalisation<<:>> si vous n'aimez pas l'interface d'Evernote, il n'y a rien à faire.\n\n~NoteSelf est construit sur la base de <<tw>>, un logiciel libre de wiki personnel puissant, gratuit et hautement personnalisable.\nNous en avons tiré le meilleur, son système puissant de personnalisation, et l'avons combiné avec une des meilleures\nbases de données embarquées disponibles, [[PouchDb|http://www.pouchdb.com]], pour y apporter les capacités de synchronisation dont vous avez besoin.\n<<<\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/community/resources/TW5-firebase_ TiddlyWiki5 for Google Firebase by Peter Neumark.tid",
    "content": "caption: TW5-firebase\ncolor: #FFEB3B\ncommunity-author: Peter Neumark\ncreated: 20210115121027582\ndelivery: Google Firebase backend\ndescription: Plateforme Google Firebase pour TiddlyWiki\nfr-title: TW5-firebase: TiddlyWiki5 sur Google Firebase par Peter Neumark\nmethod: save\nmodified: 20220402105820520\ntags: Chrome Firefox [[Internet Explorer]] Linux Mac Opera [[Other Resources]] Safari Saving Windows plugins Edge\ntitle: TW5-firebase: TiddlyWiki5 for Google Firebase by Peter Neumark\ntype: text/vnd.tiddlywiki\nurl: https://github.com/neumark/tw5-firebase\n\nUne version de TiddlyWiki5 hébergée sur Google-Firebase.\n\n{{!!url}}\n\n<<<\nJ'utilise TiddlyWiki5 avec Google Firebase depuis plus d'un an. C'est suffisamment stable pour l'utiliser au quotidien. Il y a un accompagnement détaillé sur la façon de créer sa propre instance avec de nombreuses captures d'écran. Le processus complet prend moins de 30 minutes<<:>> https://neumark.github.io/tw5-firebase/\n\nMerci de considérer cette version comme une preuve de concept plus qu'un produit fini<<!>> Je me suis concentré sur la collaboration multi-appareils ou en petites équipes<<:>>\n\n* Authentification de base (les sacs ont une politique d'accès qui détermine qui peut les lire ou les écrire).\n* De multiples wikis peuvent être hébergés avec le même compte Firebase.\n* Utilise l'authentification sociale intégrée à Firebase pour identifier les utilisateurs.\n* Les tiddlers sont verrouillés individuellement en écriture, pour éviter que les utilisateurs écrasent mutuellement leurs modifications.\n<<< Traduction de [[l'annonce de publication par Peter Neumark|https://groups.google.com/g/tiddlywikidev/c/2WN2b6uCxJ8]]\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/community/resources/TiddlyDrive Add-on for Google Drive by Joshua Stubbs.tid",
    "content": "caption: ~TiddlyDrive\ncolor: #FFEB3B\ncommunity-author: Joshua Stubbs\ncreated: 20171109172705241\ndelivery: Google Drive Add-on\ndescription: Extension Google Drive pour utiliser les fichiers TiddlyWiki\nfr-title: Extension TiddlyDrive pour Google Drive par Joshua Stubbs\nmethod: save\nmodified: 20220402105820520\ntags: Android Chrome Firefox [[Internet Explorer]] Linux Mac Opera PHP [[Other Resources]] Safari Saving Windows iOS plugins Edge\ntitle: TiddlyDrive Add-on for Google Drive by Joshua Stubbs\ntype: text/vnd.tiddlywiki\nurl: https://github.com/tiddlydrive/tiddlydrive.github.io\n\nUne extension pour Google Drive qui permet d'ouvrir et d'enregistrer directement les fichiers <<tw>> qui y sont stockés. \n\nPour plus d'informations, consultez la page ~GitHub du projet<<:>>\n{{!!url}}\n\n<<<\nJ'ai créé une appli qui permet d'éditer les fichiers <<tw>> stockés sur Google Drive et de les ré-enregistrer automagiquement. La page est ici<<:>> https://chrome.google.com/webstore/detail/tiddly-drive/oaphhjhbbabdjnpjpiliepphpmnioolo mais je crois que vous devez ajouter l'appli depuis l'interface web Google Drive.\n\nJ'ai même intégré une option pour enregistrer avec le raccourci standard ctrl+s.\n<<< Traduction du [[message de lancement de Joshua|https://groups.google.com/d/topic/tiddlywiki/7pNJizR57e8/discussion]]\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/community/resources/TiddlyServer by Arlen Beiler.tid",
    "content": "caption: ~TiddlyServer\ncolor: #f06292\ncommunity-author: Arlen Beiler\ncreated: 20171109171415540\ndelivery: DIY\ndescription: Une extension du serveur Node.js de TiddlyWiki\nfr-title: TiddlyServer par Arlen Beiler\nmethod: sync\nmodified: 20220402105820520\ntags: Linux Mac Windows Saving [[Other Resources]]\ntitle: TiddlyServer by Arlen Beiler\ntype: text/vnd.tiddlywiki\nurl: https://github.com/Arlen22/TiddlyServer\n\nUne extension à la configuration du serveur Node.js de <<tw>> qui ajoute la prise en charge des contenus statiques et permet de travailler avec de multiples wikis simultanément.\n\n{{!!url}}\n\n<<<\nTiddlyServer prend la commande `server` de <<tw>> sur Node.js, et l'ajoute à un serveur de fichiers statiques. Ça signifie que vous pouvez charger et héberger n'importe quel //dossier de données// <<tw>> de la même façon qu'un <<tw>> mono-fichier.\n\nMais vous n'êtes pas limité à un seul emplacement pour vos fichiers et dossiers partagés, vous pouvez les partager depuis n'importe où sur votre disque (littéralement n'importe quel chemin sur lequel NodeJS peut lancer un //stat//, un //readdir// et un //readFile//). Vous pouvez même les organiser en dossiers virtuels (comme les //alias// d'Apache et les //mounts// d'Express).\n\nÉvidemment, vous pouvez modifier vos fichiers, pas seulement les consulter<<!>> Les <<tw>> mono-fichier utilisent l'enregistreur PUT, qui a besoin d'être patché en utilisant un //bookmarlet// disponible sur la page d'accueil. Les instructions correspondantes sont disponibles juste sous le titre \"One thing that needs to be noted\".\n\nEt vous pouvez évidemment modifier vos <<tw>> multi-fichiers comme si vous exécutiez `node tiddlywiki.js data --server`, sauf que vous l'exécutez depuis le chemin où vous l'avez ouvert (p.ex. http://localhost/personal/notes/). Vous pouvez avoir autant de dossier de données ouverts que vous voulez, ils n'entrent pas en conflit entre eux (même si chacun consomme de la mémoire).\n\nLes dossiers de données stockent des tiddlers individuels, pas des wikis entiers. Ils occupent moins de place car ils ne contiennent ni le noyau ni les plugins. La conséquence est qu'ils s'enregistrent beaucoup plus rapidement, surtout à travers internet. Ils s'enregistrent aussi immédiatement (en 10s environ) et enregistrent aussi les brouillons.\n<<<\n\n!!! NDT\n; <<tw>> mono-fichier\n:Il s'agit d'un wiki contenu dans un seul fichier HTML, comme le fichier //empty.html// que vous pouvez télécharger [[ici|https://tiddlywiki.com/languages/fr-FR/empty.html]]. Vous utilisez le wiki en ouvrant le fichier avec un navigateur.\n; <<tw>> multi-fichiers\n:Lorsqu'un wiki est hébergé sur Node.js, chaque tiddler est stocké dans son propre fichier `.tid` et ces fichiers sont organisés dans un //dossier de données//. Pour utiliser le wiki il faut saisir l'URL correspondante dans le navigateur. Plus d'informations [[ici|TiddlyWiki on Node.js]]."
  },
  {
    "path": "editions/fr-FR/tiddlers/community/resources/Twexe_ Single File Tiddlywiki5 executable.tid",
    "content": "caption: Twexe\ncolor: #ff8a65\ncommunity-author: ihm4u\ncreated: 20200507214737998\ndelivery: App\ndescription: Un Tiddlywiki5 mono-fichier exécutable\nfr-title: Twexe : un Tiddlywiki5 mono-fichier exécutable\nmethod: save\nmodified: 20220402105820520\ntags: Firefox [[Internet Explorer]] Opera [[Other Resources]] Safari Saving Windows Edge Linux\ntitle: Twexe: Single File Tiddlywiki5 executable\ntype: text/vnd.tiddlywiki\nurl: https://ihm4u.github.io/twexe/\n\n{{!!description}}\n{{!!url}}\n\n!! Fonctionnalités\n\n* Sauvegardes automatiques\n* Enregistrement automatique\n* Aucune extension de navigateur requise<<!>>\n* Fonctionne sous Linux et Windows\n* Fichier exécutable autonome, peut être déplacé, copié, etc.\n* Le wiki est compressé, il occupe moins d'espace disque (parfois même seulement un tiers de l'espace<<!>>)\n* Convertit //n'importe quel// fichier Tiddlywiki5 en fichier exécutable //twexe//, pas besoin de plugin pour <<tw>>\n* Utilise automatiquement l'onglet ''Sauvegarde'' du panneau de contrôle, où vous pouvez préciser un dossier pour les sauvegardes si celui par défaut ne vous plaît pas.\n* Récupérez facilement le fichier HTML du wiki à partir du //twexe// exécutable si vous en avez besoin\n* Ouvre la possibilité de lancer des exécutables externes à partir de votre wiki (pour dessiner des graphiques, etc.) - restez à l'écoute<<!>>\n* Reconnaît les images externes (c-à-d avec un champ _canonical_uri)\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/community/resources/_Timimi_ Extension and executable by Riz.tid",
    "content": "caption: Timimi\ncolor: #4db6ac\ncommunity-author: Riz\ncreated: 20180830194141190\ndelivery: Browser Extension & Native host\ndescription: Extension de navigateur & hôte natif pour le bureau\nfr-title: Timimi : web-extension et hôte natif par Riz\nmethod: save\nmodified: 20220402105820520\ntags: Windows Linux Chrome Firefox Saving [[Other Resources]] plugins Mac Opera Edge\ntitle: Timimi: WebExtension and Native Host by Riz\ntype: text/vnd.tiddlywiki\nurl: https://ibnishak.github.io/Timimi/\n\nTimimi est une web-extension accompagnée d'un hôte natif qui permet d'enregistrer et sauvegarder vos <<tw>> mono-fichier HTML ''n'importe-où sur votre disque''. Une fois installée, vous pouvez enregistrer les fichiers <<tw>> sans autre formalité, comme le plugin original Tiddlyfox.\n\n{{!!url}}\n\nDepuis la version 2.1, Timimi est compatible avec ces navigateurs<<:>>\n\n* Chrome/Chromium\n* Firefox\n* Opera\n* Microsoft Edge (Chromium)\n\nIl a été constaté que Timimi fonctionnait aussi sans encombre sur les navigateurs dérivés de Chrome comme //Brave// ou //Vivaldi//.\n\nTimimi fournit aussi aux utilisateurs 4 stratégies de sauvegarde, à savoir<<:>>\n\n* Créer une sauvegarde tous les n enregistrements\n* Créer une sauvegarde toutes les n minutes\n* Tours de Hanoï personnalisée\n* Premier entré, premier sorti"
  },
  {
    "path": "editions/fr-FR/tiddlers/community/resources/_file-backups_ Extension for Firefox by pmario.tid",
    "content": "caption: file-backups\ncolor: #4DB6AC\ncommunity-author: Mario Pietsch\ncreated: 20171116165500000\ndelivery: Browser Extension\ndescription: Extension pour le navigateur Firefox\nfr-title: Extension \"file-backups\" pour Firefox, par pmario\nmethod: save\nmodified: 20220402105820520\ntags: Firefox Saving [[Other Resources]] plugins Windows Linux Mac\ntitle: \"file-backups\" Extension for Firefox by pmario\ntype: text/vnd.tiddlywiki\nurl: https://github.com/pmario/file-backups\n\nUne extension pour Mozilla Firefox qui fluidifie l'utilisation de [[l'enregistreur HTML5 par défaut|Saving with the HTML5 fallback saver]] de <<tw>>, et le rend presque aussi convivial que ~TiddlyFox. L'extension est conçue pour fonctionner immédiatement, sans configuration.\n\nhttps://github.com/pmario/file-backups contient des liens vers la documentation et des vidéos de présentation.\n\nUne version pour Chrome est prévue !"
  },
  {
    "path": "editions/fr-FR/tiddlers/community/resources/_savetiddlers_ Extension for Firefox by buggyj.tid",
    "content": "caption: savetiddlers\ncolor: #4DB6AC\ncommunity-author: buggyj\ncreated: 20171109171935039\ndelivery: Browser Extension\ndescription: Extension pour les navigateur Firefox\nfr-title:\nmethod: save\nmodified: 20250809092435788\ntags: Firefox Saving [[Other Resources]] plugins\ntitle: savetiddlers: Extension for Firefox by buggyj\ntype: text/vnd.tiddlywiki\nurl: https://github.com/buggyj/savetiddlers\n\nUne extension Mozilla Firefox qui fluidifie l'utilisation de [[l'enregistreur HTML5 par défaut|Saving with the HTML5 fallback saver]] de <<tw>>, et le rend presque aussi convivial que [[TiddlyFox]] une fois configurée.\n\n{{!!url}}"
  },
  {
    "path": "editions/fr-FR/tiddlers/concepts/Pragma.tid",
    "content": "caption: Pragma\ncreated: 20150219175930000\nmodified: 20220421233711464\ntags: Concepts [[WikiText Parser Modes]]\ntitle: Pragma\ntype: text/vnd.tiddlywiki\n\nUn <<.def pragma>> est un composant spécial du <<fr WikiText>> qui permet de contrôler la façon dont la suite du texte est analysée.\n\nLes ''pragmas'' occupent des lignes débutant par un `\\`. Ils ne peuvent être placés qu'au début d'un texte, mais des lignes vides sont autorisées entre eux. Si une ligne de pragma apparaît plus loin dans le corps du texte, il n'est pas pris en compte et apparaît comme du texte ordinaire.\n\n''NDT''<<:>> <<.from-version \"5.2.0\">> Les commentaires HTML `<!--  texte de commentaire -->` sont aussi autorisés avant et entre les ''pragmas'', ce qui facilite la documentation du code <<fr WikiText>>.\n\nLes ''pragmas'' suivants sont disponibles<<:>>\n\n;`\\define`\n: introduit une définition de [[macro|Macros]]\n;`\\rules`\n: permet d'ajuster l'ensemble des règles d'analyse du texte\n;`\\whitespace trim` ou `\\whitespace notrim`\n: <<.from-version \"5.1.15\">> contrôle si les caractères d'espacement sont retirés du début et de la fin de morceaux de texte (la valeur par défaut ''notrim'' n'entraîne aucun retrait). Ce paramètre est utile lorsque l'indentation ou les caractères d'espacement générés par les retours à la ligne perturbent la mise en forme du résultat.\n;`\\import <expression-de-filtre>`\n: <<.from-version \"5.1.18\">> permet d'importer des définitions de macros à partir des tiddlers sélectionnés par une expression de filtre.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/concepts/WikiText.tid",
    "content": "caption: WikiText\ncreated: 20141016134519861\nfr-title: WikiTexte\nmodified: 20220422222111475\ntags: Concepts Reference\ntitle: WikiText\ntype: text/vnd.tiddlywiki\n\nLe WikiTexte est le langage de balisage de TiddlyWiki, qui permet d'écrire de manière concise et expressive une grande variété de formatages de texte, de liens hypertextes et de fonctionnalités interactives. Il permet de se concentrer sur l'écriture, sans l'interférence d'une interface complexe. Il est conçu pour être familier aux utilisateurs de [[Markdown]], tout en étant plus focalisé sur les liens et les fonctionnalités interactives.\n\nLa <<fr \"Editor toolbar\">> permet d'insérer des balises de ~WikiTexte dans le texte du tiddler en cours d'édition.\n\nVoir <<fr \"Formatting text in TiddlyWiki\">> pour une introduction au ~WikiTexte.\n\nLes syntaxes suivantes sont intégrées nativement dans <<tw>><<:>>\n\n<<list-links \"[tag[WikiText]]\">>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/currentTiddler_Variable.tid",
    "content": "caption: currentTiddler\ncreated: 20141001232824187\nfr-title: Variable currentTiddler \nmodified: 20150622083613965\ntags: Variables [[Core Variables]]\ntitle: currentTiddler Variable\ntype: text/vnd.tiddlywiki\n\nLa [[variable|Variables]] <<.def currentTiddler>> contient le titre du [[tiddler en cours|Current Tiddler]].\n\nPlusieurs aspects de WikiText ont ce tiddler en contexte. Comme résultat, dans un widget <<.wlink ListWidget>> ou via un [[tiddler gabarit|TemplateTiddlers]], il n'est pas souvent nécessaire de spécifier explicitement le titre du tiddler.\n\nComparer avec <<.vlink storyTiddler>>.\n\n<<.variable-examples \"currentTiddler\">>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/currentTiddler_Variable_(Examples).tid",
    "content": "created: 20150221140726000\nfr-title: Variable currentTiddler (Exemples)\nmodified: 20150621135946717\ntags: [[currentTiddler Variable]] [[Variable Examples]]\ntitle: currentTiddler Variable (Examples)\ntype: text/vnd.tiddlywiki\n\nLes exemples suivants ont une signification identique<<:>>\n\n<$macrocall $name=\".example\" n=\"1\" eg=\"\"\"<$view field=title/>\"\"\"/>\n<$macrocall $name=\".example\" n=\"2\" eg=\"\"\"<$view tiddler=<<currentTiddler>> field=title/>\"\"\"/>\n\nCet exemple montre comment le widget <<.wlink ListWidget>> modifie le tiddler en cours<<:>>\n\n<$macrocall $name=\".example\" n=\"3\"\neg=\"\"\"<ol>\n<$list filter=\"[prefix[J]]\">\n<li><<currentTiddler>></li>\n</$list>\n</ol>\"\"\"/>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/definitions/TiddlyDesktop.tid",
    "content": "created: 20140126125259638\nmodified: 20220402105820520\ntags: Definitions Platforms\ntitle: TiddlyDesktop\ntype: text/vnd.tiddlywiki\n\nTiddlyDesktop est une application pour travailler avec les fichiers <<tw>> (TiddlyWikiClassic et <<tw>> version 5). Il peut être installé sur Windows, Mac OS X or Linux. Il est compatible avec  TiddlyWiki version 5 ou l'ancien TiddlyWikiClassic.\n\n{{Saving on TiddlyDesktop}}\n\n{{Introducing TiddlyDesktop Video}}\n\n! Source\n\nTiddlyDesktop est basé sur le projet OpenSource [[NW.js]]. Les sources sont sur GitHub<<:>>\n\nhttps://github.com/TiddlyWiki/TiddlyDesktop/\n\nVoir les [[Versions de TiddlyDesktop|TiddlyDesktop Releases]] et <<fr \"How to Customize TiddlyDesktop\">>"
  },
  {
    "path": "editions/fr-FR/tiddlers/done.tid",
    "content": "color: #2dbe37\ncreated: 20141115211411120\nicon: $:/core/images/done-button\nmodified: 20130705102700000\ntitle: done\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/dumpvariables_Macro.tid",
    "content": "caption: dumpvariables\ncreated: 20140908104107181\nfr-title: Macro dumpvariables\nmodified: 20150619161005590\ntags: Macros [[Core Macros]]\ntitle: dumpvariables Macro\ntype: text/vnd.tiddlywiki\n\nLa [[macro|Macros]] <<.def dumpvariables>> renvoie un tableau affichant les valeurs de toutes les [[variables|Variables]] et [[macros|Macros]] présentes à une position donnée de l'[[arbre widget|Widgets]].\n\nUtile pour déboguer et explorer le fonctionnement interne de ~TiddlyWiki.\n\nLes zones réservées sont remplacées par des valeurs de façon normale, mais en utilisant les valeurs par défaut pour tous les paramètres de macro.\n\n!! Paramètres\n\n(aucun)\n\n<<.macro-examples \"dumpvariables\">>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/dumpvariables_Macro_(Examples).tid",
    "content": "created: 20150221151358000\nfr-title: Macro dumpvariables (Exemples)\nmodified: 20150619161448208\ntags: [[dumpvariables Macro]] [[Macro Examples]]\ntitle: dumpvariables Macro (Examples)\ntype: text/vnd.tiddlywiki\n\n<$macrocall $name=\".example\" n=\"1\"\neg=\"\"\"<$set name=\"EXEMPLE\" value=\"123.$(EXAMPLE2)$.789\">\n<$set name=\"EXEMPLE2\" value=\"456\">\n\n<<dumpvariables>>\n\n</$set>\n</$set>\"\"\"/>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/gettingstarted/GettingStarted - Internet Explorer.tid",
    "content": "caption: Internet Explorer\ncreated: 20140811172058274\nfr-title: Mise en route - Internet Explorer\nmodified: 20220411154801615\ntags: GettingStarted\ntitle: GettingStarted - Internet Explorer\ntype: text/vnd.tiddlywiki\n\n{{Saving with TiddlyIE}}\n\nLe [[hack Windows HTA|Windows HTA Hack]] décrit une autre manière d'utiliser <<tw>> avec Internet Explorer.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/gettingstarted/GettingStarted - Safari.tid",
    "content": "caption: Safari\ncreated: 20140811171121022\nfr-title: Mise en route - Safari\nmodified: 20220411154240809\ntags: GettingStarted\ntitle: GettingStarted - Safari\ntype: text/vnd.tiddlywiki\n\nSous Safari, <<tw>> ne parvient à sauvegarder les modifications qu'à l'aide de la solution de repli standard : le module de sauvegarde compatible HTML5.\n\n{{Saving on Safari}}\n\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/hellothere/A Gentle Guide to TiddlyWiki.tid",
    "content": "caption: Un mini-guide de TiddlyWiki\ncreated: 20150325170720682\nfr-title: Un mini-guide de TiddlyWiki\nmodified: 20220417204641215\ntags: HelloThere\ntitle: A Gentle Guide to TiddlyWiki\ntype: text/vnd.tiddlywiki\n\n<<tw>> est un outil incroyablement souple et polyvalent, conçu et mis au point d'une façon très différente de la plupart des logiciels. Cela peut paraître très difficile à comprendre, jusqu'à ce qu'en un claquement de doigts, il devienne une extension directe de votre cerveau.\n\nPour commencer par les bases, <<tw>> est une application web dédiée à la prise de notes, que vous pouvez obtenir gratuitement,  stocker n'importe où, et personnaliser selon vos souhaits. Elle vous servira à conserver, organiser, et partager vos notes de manière inédite en comparaison des traitements de texte et autres outils habituels de prise de notes.\n\n<<tw>> privilégie la non-linéarité<<:>> le contenu se structure à l'aide de déroulés, de tags, d'hyperliens, et d'autres fonctionnalités spécifiques. Vous pouvez organiser vos notes et y accéder selon votre manière de penser, sans vous sentir contraint par une structure d'organisation prédéfinie.\n\nVous pouvez utiliser <<tw>> sous forme de fichier autonome, affichable et éditable depuis n'importe quel navigateur web, que vous soyez connecté ou déconnecté. Vous pouvez aussi vous en servir comme une [[application Node.js|TiddlyWiki on Node.js]], à même de synchroniser chacune de vos notes dans un fichier séparé.\n\nComment faire fonctionner <<tw>> chez vous ? Notre conseil est de commencer par lire les textes de présentation ci-dessous, puis de naviguer dans la <<fr TableOfContents>> présente dans l'onglet //{{TableOfContents!!caption}}// de la barre latérale. Ou si vous préférez, vous pouvez suivre [[nos instructions de démarrage|GettingStarted]] et vous jeter à l'eau !\n\n<<list-links \"[tag[HelloThere]]\">>\n\nVoir aussi<<:>>\n\n* <<fr '\"Grok TiddlyWiki\" by Soren Bjornstad'>>\n* <<fr \"TiddlyWiki Video Tutorials by Francis Meetze\">>\n* [ext[Developer Documentation|https://tiddlywiki.com/dev/index.html]] (en anglais)\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/howtos/How to Customize TiddlyDesktop.tid",
    "content": "created: 20171118194518819\nfr-title: Personnaliser TiddlyDesktop\nmodified: 20220402105820520\ntags: Learning\ntitle: How to Customize TiddlyDesktop\ntype: text/vnd.tiddlywiki\n\n!! Avertissement<<:>>\n\nAvant d'expérimenter avec les entrailles de TiddlyDesktop, vous devriez noter l'emplacement du <<gf \"dossier de configuration utilisateur\">><<:>> cliquez sur le bouton <<gf Settings>> de la fenêtre principale de TiddlyDesktop, puis cliquez sur le bouton <<gf \"Open user config folder\">>. Ensuite, remontez d'un niveau pour localiser le dossier parent, qui devrait s'appeler <<gf TiddlyDesktop>>. Si quelque chose se passe mal, vous pouvez restaurer l'état d'origine de TiddlyDesktop en supprimant ce dossier et son contenu.\n\nCliquez sur le bouton <<gf Backstage>> de la fenêtre principale de TiddlyDesktop pour ouvrir le //wiki d'infrastructure// qui tourne en coulisses. C'est une pseudo-instance de <<tw>> sous Node.js qui fournit l'interface utilisateur et la mécanique de TiddlyDesktop.\n\n!! Comment me débarrasser du bouton <<gf \"Add a ~TiddlyWiki Folder\">><<?>>\n\nDans le //wiki d'infrastructure//, localisez le tiddler `WikiListToolbar` (il y a un lien dans HelloThere). Passez en mode d'édition, et vous verrez le WikiTexte des boutons de barre d'outils. Si vous faites des modifications et les enregistrez, elles seront immédiatement prises en compte dans la fenêtre principale de TiddlyDesktop.\n\n!! Comment changer le bouton <<gf advanced>> en bouton <<gf \"reveal backups\">><<?>>\n\nVous pouvez copier le code du bouton <<gf \"reveal backups\">> disponible dans le tiddler `$:/TiddlyDesktop/Settings`, et le coller dans `WikiListToolbar`.\n\n!! Comment modifier les couleurs<<?>>\n\nComme d'habitude dans <<tw>><<:>> vous pouvez utiliser la palette, ou définir vos propres CSS.\n\n!! Comment changer l'ordre d'apparition des tiddlers (qui semble alphabétique)<<?>>\n\nOuvrez le tiddler `WikiList` en mode édition, naviguez jusqu'en bas du code, et modifiez le widget `<$list>` à l'intérieur de la macro <<gf wikilist>><<:>>\n\n```\n<$list filter=\"[tag[wikilist]sort[title]!has[draft.of]]\" emptyMessage=\"Add a ~TiddlyWiki file or folder to get started. Click the buttons above to browse, or drag and drop from your file Explorer/Finder\" storyview=\"pop\">\n```\n\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/howtos/Windows HTA Hack.tid",
    "content": "caption: Astuce HTA\ncolor: #F06292\ncreated: 20131212223146250\ndelivery: DIY\ndescription: Méthode manuelle pour laisser Internet Explorer enregistrer les modifications directement\nfr-title: Astuce Windows HTA\nmethod: save\nmodified: 20220402105820520\ntags: Saving Windows\ntitle: Windows HTA Hack\ntype: text/vnd.tiddlywiki\n\nSous Windows il est possible de convertir <<tw>> en une vraie application locale en renommant le fichier HTML pour lui donner l'extension `*.hta`. Le module ''fsosaver'' peut alors utiliser l'~ActiveX ~FileSystemObject pour enregistrer les modifications.\n\nNotez qu'un inconvénient de cette méthode est que le fichier <<tw>> est enregistré avec l'encodage de caractères UTF-16, ce qui double quasiment sa taille par rapport au format UTF-8 habituel. Toutefois, ouvrir puis enregistrer le fichier avec une autre méthode le ré-encodera en UTF-8.\n\nVoir Wikipedia pour plus de détails<<:>> https://fr.wikipedia.org/wiki/HTML_Application\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/images/favicon.png.meta",
    "content": "title: $:/favicon.ico\ntype: image/png\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/images/green_favicon.png.meta",
    "content": "title: $:/green_favicon.ico\ntype: image/png\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/list-links_Macro.tid",
    "content": "caption: list-links\ncreated: 20140917083515996\nfr-title: Macro list-links\nmodified: 20150619211731171\ntags: Macros [[Core Macros]]\ntitle: list-links Macro\ntype: text/vnd.tiddlywiki\n\nLa macro [[macro|Macros]] <<.def list-links>> renvoie une liste formatée de liens vers une [[sélection de tiddlers|Title Selection]].\n\nSi un tiddler a un champ <<.field caption>>, il est affiché au lieu du titre du tiddler.\n\n!! Paramètres\n\n;filter\n: Un [[filtre|Filters]] indiquant quels tiddlers inclure\n;type\n: un élément HTML à utiliser pour une liste globale, par défaut `ul`\n;subtype\n: un élément HTML à utiliser chaque élément d'une liste, par défaut `li`\n;class\n: Une classe [[CSS|Cascading Style Sheets]] pour une liste globale\n\n<<.macro-examples \"list-links\">>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/list-links_Macro_(Examples).tid",
    "content": "created: 20150221160534000\nfr-title: Macro list-links (Exemples)\nmodified: 20150619202538863\ntags: [[list-links Macro]] [[Macro Examples]]\ntitle: list-links Macro (Examples)\ntype: text/vnd.tiddlywiki\n\nCet exemple liste tous les tiddlers dont les titres commencent par J<<:>>\n\n<$macrocall $name=\".example\" n=\"1\" eg=\"\"\"<<list-links filter:\"[prefix[J]]\">>\"\"\"/>\n\nCet exemple liste la documentation des tiddlers des macros du noyau, chacune ayant un champ <<.field caption>><<:>>\n\n<$macrocall $name=\".example\" n=\"2\" eg=\"\"\"<<list-links filter:\"[tag[Core Macros]]\">>\"\"\"/>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/nodejs/Installing TiddlyWiki on Node.js.tid",
    "content": "caption: Node.js\ncolor: #f06292\ncreated: 20131219100608529\ndelivery: DIY\ndescription: Hébergement flexible sur votre machine ou dans le cloud\nfr-title: Installer TiddlyWiki sur Node.js\nmethod: sync\nmodified: 20220402105820520\ntags: [[TiddlyWiki on Node.js]] Linux Mac Saving Windows\ntitle: Installing TiddlyWiki on Node.js\ntype: text/vnd.tiddlywiki\n\n# Installez [[Node.js]]\n#* Linux\n#*> //Debian/Ubuntu//<<:>><br/>`apt install node.js`<br/>Et éventuellement<<:>><br/>`apt install npm`\n#*> //Arch Linux//<br/>`pacman -S tiddlywiki` <br/>(installe node et tiddlywiki)\n#* Mac\n#*> `brew install node`\n#* Android\n#*> [[Termux pour Android|Serving TW5 from Android]]\n#* Autres\n#*> Voir https://nodejs.org\n# Ouvrez un terminal de ligne de commande et saisissez<<:>>\n#> `npm install -g tiddlywiki`\n#> En cas d'erreur, il faudra peut-être relancer la commande en tant qu'administrateur<<:>>\n#> `sudo npm install -g tiddlywiki` (Mac/Linux)\n# Vérifiez que <<tw>> est bien installé en tapant<<dp>>\n#> `tiddlywiki --version`\n# En réponse, vous devriez voir <<tw>> renvoyer la version en cours (par exemple <<version>> ;  d'autres informations de débogage peuvent aussi apparaître).\n# Faites l'essai<<dp>>\n## `tiddlywiki monnouveauwiki --init server` pour créer un dossier pour un nouveau wiki qui inclura des composants orientés serveur\n## `tiddlywiki monnouveauwiki --listen` pour démarrer <<tw>>\n## Positionnez votre navigateur sur l'adresse http://127.0.0.1:8080/\n## Essayez d'éditer et de créer de nouveaux tiddlers\n# Eventuellement, créez une copie hors-ligne<<:>>\n#* Cliquez sur le bouton <<.icon $:/core/images/save-button>> ''Enregistrer les modifications'' de la barre latérale, ''OU''\n#* `tiddlywiki monnouveauwiki --build index`\n\n\nL'option `-g` demande à Node.js d'installer <<tw>> globalement. Sans elle, <<tw>> sera disponible seulement dans le répertoire où vous l'avez installé.\n\nSi vous utilisez Debian ou une distribution Linux dérivée de Debian et que vous recevez une erreur `node: command not found` alors que le paquet node.js est installé, vous devrez peut-être créer un lien symbolique entre `nodejs` et `node`. Consultez le manuel de votre distribution et de `whereis` pour créer un lien correctement. Voir le [[rapport d'erreur 1434|http://github.com/TiddlyWiki/TiddlyWiki5/issues/1434]] sur github.\n\nExemple pour Debian 8.0<<:>> `sudo ln -s /usr/bin/nodejs /usr/bin/node`\n\nVous pouvez aussi installer d'anciennes versions de <<tw>> ainsi<<:>>\n\n> `npm install -g tiddlywiki@5.1.13`\n\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/nodejs/Serving TW5 from Android.tid",
    "content": "caption: Node.js sur Termux\ncolor: #F06292\ncreated: 20200501120322327\ndelivery: App with DIY steps\ndescription: Utiliser Node.js pour partager/créer des wikis\nfr-title: Partager TW5 depuis Android\nmethod: sync\nmodified: 20220402105820520\ntags: Saving [[TiddlyWiki on Node.js]] Android\ntitle: Serving TW5 from Android\ntype: text/vnd.tiddlywiki\n\n[[Termux|https://termux.com/]] est une application Android open source qui fournit un environnement Unix suffisant pour installer [[Node.js]] et des modules npm sur Android. Les utilisateurs peuvent installer et exécuter <<fr \"TiddlyWiki on Node.js\">> grâce à [[Termux|https://termux.com/]].\n\n!! Instructions \n\n* Téléchargez et installez Termux sur le [Google Play Store|https://play.google.com/store/apps/details?id=com.termux]] ou sur [[Fdroid|https://f-droid.org/en/packages/com.termux/]]\n* Ouvrez Termux et exécutez les commandes suivantes une par une<<:>>\n\n  ```bash\napt update\napt upgrade\napt install nodejs\nnpm install -g tiddlywiki\n```\n\n* Si vous avez besoin de créer/partager ''~TiddlyWiki sur Node.js'' à partir de la mémoire interne, vous devez accorder à Termux les autorisations d'accès au stockage en exécutant la commande suivante dans Termux<<:>>\n\n```\ntermux-setup-storage\n```\n* Vous pouvez maintenant créer et partager ''~TiddlyWiki sur Node.js'' à partir de la mémoire interne. Dans les exemples ci-dessous, l'utilisateur crée un nouveau wiki nommé ''monnouveauwiki'' dans son dossier interne<<:>>\n\n```\ncd storage/shared\ntiddlywiki monnouveauwiki --init server\ntiddlywiki monnouveauwiki --listen\n```\n* Naviguez vers http://127.0.0.1:8080/ avec votre navigateur web\n* A partir de là, tant que Termux fonctionne vous pouvez accéder à votre wiki à votre convenance depuis votre navigateur favori en le faisant pointer vers l'adresse et le port attendus.\n\n---\n\n* Pour plus d'informations sur ~TiddlyWiki sur Node.js, consultez <<fr \"Installing TiddlyWiki on Node.js\">>\n* Pour plus d'informations et d'astuces sur Termux, consultez [[le wiki Termux|https://wiki.termux.com/wiki/Main_Page]]\n\n<<.tip \"Dans //Termux//, vous pouvez aussi installer //git//, //emacs// ou //vi//, afin d'éditer et maintenir les fichiers des tiddlers individuels. Vous aurez probablement besoin d'un meilleur clavier pour votre appareil, comme l'application [[Hacker's Keyboard|https://github.com/klausw/hackerskeyboard/]] ou un périphérique externe Bluetooth.\">>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/nodejs/TiddlyWiki on Node.js.tid",
    "content": "created: 20131129094353704\nfr-title: TiddlyWiki sur Node.js\nmodified: 20220417143845088\ntags: Platforms\ntitle: TiddlyWiki on Node.js\ntype: text/vnd.tiddlywiki\n\nExécuter <<tw>> avec [[Node.js]] comporte plusieurs avantages par rapport à la version s'exécutant dans un seul fichier<<dp>>\n\n* Vous pouvez éditer le contenu du wiki dans n'importe quel navigateur compatible HTML5, y compris s'il tourne sur des smartphones ou des tablettes\n* Les tiddlers sont stockés dans des fichiers séparés, que vous pouvez organiser comme vous le souhaitez\n* Vous avez la possibilité de construire plusieurs wikis différents à partir de contenu partagé entre eux ou spécifique à un seul wiki.\n\n<<.warning \"\"\"Notez que <<tw>> sur Node.js ne permet pas de modifier directement les fichiers de tiddlers sur le disque en dehors de <<tw>> tant qu'il est en cours de fonctionnement. Toute modification ne sera prise en compte qu'après un redémarrage du serveur. La méthode recommandée pour interagir avec un wiki actif est à travers l'API HTTP ou JavaScript.\"\"\">>\n\nPour plus d'informations, voir :\n\n<<list-links \"[tag[TiddlyWiki on Node.js]]\">>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/sampletag1.tid",
    "content": "created: 20141115211411431\ntitle: sampletag1\ntype: text/vnd.tiddlywiki\n\nThis is `sampletag1`.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/sampletag2.tid",
    "content": "created: 20141115211411422\ntitle: sampletag2\ntype: text/vnd.tiddlywiki\n\nThis is `sampletag2`.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/saving/Emergency Tiddler Export.tid",
    "content": "caption: Export d'urgence\ncolor: #7986CB\ncreated: 20180309211328412\ndelivery: Saver\ndescription: Une technique embarassante mais utile d'enregistrement d'urgence des tiddlers\nfr-title: Export d'urgence des tiddlers\nmethod: save\nmodified: 20220402105820520\ntags: Android Chrome Firefox [[Internet Explorer]] Linux Mac Opera Safari Saving Windows Edge\ntitle: Emergency Tiddler Export\ntype: text/vnd.tiddlywiki\n\nCette méthode est utile si, pour une raison ou une autre, vous n'arrivez pas à enregistrer votre <<tw>> (si un plugin ou un serveur ne marchent plus). Elle devrait fonctionner sur n'importe quelle plateforme.\n\n* Ouvrez la Recherche avancée {{$:/core/ui/Buttons/advanced-search}}\n** Choisissez l'onglet <<gf Filtrer>>\n** Saisissez le code de filtre suivant<<:>>\n\n```\n[!is[system]!sort[modified]limit[25]]\n```\n* Vérifiez la liste des tiddlers\n* Ajustez le nombre <<gf 25>> dans le filtre pour que tous les tiddlers que vous avez modifiés depuis le dernier enregistrement soient visibles dans la liste\n* Cliquez sur le bouton [<button class=\"tc-btn-invisible\" disabled><<.icon $:/core/images/export-button>></button>] qui s'affiche à droite de la zone de saisie, et choisissez le format de fichier JSON\n* Une fenêtre du navigateur va vous demander de choisir un emplacement pour enregistrer un fichier nommé `tiddler.json` ou, selon votre configuration, juste vous notifier que le fichier va être téléchargé. Cliquez sur //Enregistrer//.\n* Le fichier `tiddlers.json` peut être importé (onglet Outils de la barre latérale) ou glissé-déposé sur la ligne supérieure du déroulé des tiddlers ''d'un autre <<tw>>''.\n** Vous pouvez (dé)sélectionner des tiddlers particuliers.\n** Finalement, cliquez sur `Importer`.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/saving/Example config-tiddlyweb-host for IIS.tid",
    "content": "created: 20180328145039530\nfr-title: Exemple de config-tiddlyweb-host pour IIS\nmodified: 20220402105820520\ntags: Saving\ntitle: Example config-tiddlyweb-host for IIS\ntype: text/plain\n\ntitle: $:/config/tiddlyweb/host\ntext: $protocol$//$host$/MonAppli/\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/saving/Example package.json for IIS.tid",
    "content": "created: 20180328145039530\nfr-title: Exemple de package.json pour IIS\nmodified: 20220402105820520\ntags: Saving\ntitle: Example package.json for IIS\ntype: text/plain\n\n{\n    \"name\": \"MesAffaires\",\n    \"description\": \"La description de ce wiki\",\n    \"dependencies\": {\n        \"sax\": \"1.2.4\",\n        \"tiddlywiki\": \"*\"\n    }\n}"
  },
  {
    "path": "editions/fr-FR/tiddlers/saving/Example tiddlywiki.info for IIS.tid",
    "content": "created: 20180328151124878\nfr-title: Exemple de tiddlywiki.info pour IIS\nmodified: 20220402105820520\ntags: Saving\ntitle: Example tiddlywiki.info for IIS\ntype: text/plain\n\n{\n\t\"description\": \"Mon wiki\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/tiddlyweb\",\n\t\t\"tiddlywiki/filesystem\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\"\n\t]\n}\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/saving/Example web.config for IIS.tid",
    "content": "created: 20180328145259455\nfr-title: Exemple de web.config pour IIS\nmodified: 20220402105820520\ntags: Saving\ntitle: Example web.config for IIS\ntype: text/plain\n\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<configuration>\n    <system.webServer>\n        <handlers>\n            <add \n                name=\"httpplatformhandler\"\n                path=\"*\"\n                verb=\"*\"\n                modules=\"httpPlatformHandler\"\n                resourceType=\"Unspecified\"\n                requireAccess=\"Script\" />\n        </handlers>\n        <httpPlatform \n           stdoutLogEnabled=\"true\"\n           stdoutLogFile=\".\\node.log\"\n           startupTimeLimit=\"20\"\n           processPath=\"C:\\Program Files\\nodejs\\node.exe\"\n           arguments=\".\\node_modules\\tiddlywiki\\tiddlywiki.js ./wiki --listen port=PORT path-prefix=/MonAppli\">\n            <environmentVariables>\n                <environmentVariable name=\"PORT\" value=\"%HTTP_PLATFORM_PORT%\" />\n                <environmentVariable name=\"NODE_ENV\" value=\"Production\" />\n            </environmentVariables>            \n        </httpPlatform>\n    </system.webServer>\n</configuration>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/saving/Installing TiddlyWiki on Microsoft Internet Information Server.tid",
    "content": "caption: Internet Information Services (IIS)\ncolor: #F06292\ncreated: 20180328120356008\ndelivery: DIY\ndescription: Serveur Web intégré à Windows\nfr-title: Installer TiddlyWiki sur Microsoft Internet Information Server\nmethod: sync\nmodified: 20220402105820520\ntags: Saving [[TiddlyWiki on Node.js]] Windows\ntitle: Installing TiddlyWiki on Microsoft Internet Information Server\ntype: text/vnd.tiddlywiki\n\n\\define example-file(title)\n<$transclude tiddler=\"$title$\" mode=\"block\"/> <$macrocall $name=\"copy-to-clipboard\" src={{$title$}}/>\n\\end\n\n[[Internet Information Server|https://fr.wikipedia.org/wiki/Internet_Information_Services]] (IIS) de Microsoft est le serveur web intégré de Windows. Il peut s'avérer utile d'héberger <<tw>> dans IIS afin de bénéficier des fonctionnalités de réécriture d'URL, d'hébergement de fichiers statiques ou de redémarrage automatique après un crash.\n\n! 1. Activer IIS\n\n# Dans la barre de recherche Windows, saisir <<gf \"Activer ou désactiver les fonctionnalités Windows\">>.\n# Cliquer sur l'icône <<gf \"Activer ou désactiver les fonctionnalités Windows\">> qui apparaît dans les résultats de recherche.\n# Cocher la case ''Internet Information Services (IIS)'' puis cliquer sur le bouton Ok.\n# L'installation prend quelques minutes. Une fois terminée, cliquer sur le bouton ''Fermer''\n\n! 2. Installer les outils requis\n\n# Installer le module IIS ~HttpPlatformHandler à partir de https://www.iis.net/downloads/microsoft/httpplatformhandler\n# Installer [[Node.js]] à partir de https://nodejs.org/\n# Installer Git à partir de https://git-scm.com/\n#* //optionnel<<;>> uniquement nécessaire pour utiliser la dernière version de <<tw>> à partir de ~GitHub -- voir ci-dessous//\n\n! 3. Installer <<tw>> et paramétrer un nouveau wiki\n\n# Créer un répertoire approprié pour le wiki, par exemple `C:\\MesAffaires`\n# A  l'intérieur, créer un fichier `C:\\MesAffaires\\package.json` contenant<<:>>\n#> <<example-file \"Example package.json for IIS\">>\n# Créer un fichier `C:\\MesAffaires\\web.config` contenant<<:>>\n#> <<example-file \"Example web.config for IIS\">>\n# Créer un sous-répertoire <<gf \"wiki\">><<:>> `C:\\MesAffaires\\wiki`\n# A l'intérieur, créer un fichier `C:\\MesAffaires\\wiki\\tiddlywiki.info` contenant<<:>>\n#> <<example-file \"Example tiddlywiki.info for IIS\">>\n# Créer un sous-répertoire <<gf \"tiddlers\">><<:>> `C:\\MesAffaires\\wiki\\tiddlers`\n# A l'intérieur, créer un fichier `C:\\MesAffaires\\wiki\\tiddlers\\config-tiddlyweb-host.tid` contenant<<:>>\n#> <<example-file \"Example config-tiddlyweb-host for IIS\">>\n#* (Voir [[la documentation|https://docs.microsoft.com/en-us/iis/extensions/httpplatformhandler/httpplatformhandler-configuration-reference]] pour les détails des champs de configuration de ~HttpPlatformHandler)\n# Exécuter la commande `npm install` depuis le répertoire `C:/MesAffaires`\n\n! 4.  Paramétrer l'application dans IIS\n\n* Dans la barre de recherche Windows, saisir <<gf \"IIS\">> puis cliquer sur l'icone du <<gf \"Gestionnaire des services internet (IIS)\">>\n* Localiser le serveur dans la colonne <<gf Connexions>> à gauche, et cliquer sur le triangle pour développer son contenu.\n* Ouvrir le dossier <<gf \"''Sites''\">>\n* Faire un clic droit sur <<gf \"''Default Web Site''\">> et sélectionner <<gf \"''Ajouter une application''\">> dans le menu déroulant\n* Saisir les informations suivantes dans le formulaire<<:>>\n*# ''Alias''<<:>> `MonAppli`\n*# ''Chemin physique''<<:>> `C:\\MesAffaires`\n* Cliquer sur ''OK''\n\n! 5. Tester l'application\n\nPour tester l'application, il suffit de visiter http://localhost/MonAppli/ avec un navigateur internet.\n\n! Notes\n\n* Si vous voulez de l'authentification, spécifiez un nom d'utilisateur et un mot de passe dans la commande `--listen` du fichier `web.config`. Par exemple<<:>>\n** `arguments=\".\\node_modules\\tiddlywiki\\tiddlywiki.js ./wiki-server --listen username=jacques &quot;password=MonMotDePasse&quot; port=PORT path-prefix=/MonAppli\">`\n** Notez l'emploi des guillemets autour du mot de passe, sous forme de codes HTML<<:>> `&quot;`\n* Pour prendre en compte une modification des paramètres dans le fichier `web.config` ou une modification du code de l'application, vous devrez redémarrer le serveur IIS à l'aide du <<gf \"Gestionnaire des services internet (IIS)\">>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/saving/Saving on Android.tid",
    "content": "caption: Tiddloid et Tiddloid Lite\ncolor: #ff8a65\ncommunity-author: donmor\ncreated: 20130825161400000\ndelivery: App\ndescription: Applis Android pour enregistrer dans la mémoire de l'appareil\nfr-title: Enregistrer sur Android\nmethod: save\nmodified: 20220402105820520\ntags: Saving Android\ntitle: Saving on Android\ntype: text/vnd.tiddlywiki\nurl: https://github.com/donmor/Tiddloid\n\nLes applications Tiddloid et Tiddloid Lite sont des applis Android qui permettent d'éditer des wikis et d'enregistrer les changements au format HTML de <<tw>>.\n\n* Pour plus d'informations<<:>> [[Tiddloid|https://github.com/donmor/Tiddloid]] [[Tiddloid Lite|https://github.com/donmor/TiddloidLite]].\n* Téléchargement des APK<<:>> [[Tiddloid|https://github.com/donmor/Tiddloid/releases]], [[TiddloidLite|https://github.com/donmor/TiddloidLite/releases]]\n\n\n!!! Fonctionnalités\n\n* Créez des nouveaux wikis à partir de la dernière version de <<tw>> publiée sur internet\n* Importez des <<tw>> existants stockés sur la mémoire interne de l'appareil. ([[TiddloidLite|https://github.com/donmor/TiddloidLite/releases]] permet aussi le stockage sur carte SD externe)\n* Copiez et personnalisez des <<tw>> intéressants à partir d'internet (fonctionne avec TW5 uniquement)\n* Détection de <<tw>>\n* Les <<tw>> stockés localement sont mis à jour en même temps que l'enregistrement des modifications dans les <<tw>> importés dans l'appli.\n* Système de sauvegarde compatible avec celui de TiddlyDesktop\n* Raccourcis vers vos wikis sur la page d'accueil d'Android\n* [[TiddloidLite|https://github.com/donmor/TiddloidLite/releases]] est compatible avec le stockage en nuage comme GDrive ou ~OneDrive.\n\n!!! Notes\n\n* Tiddloid Lite fonctionne mieux sur les appareils munis d'Android Q ou ultérieur. Il permet aussi le stockage en nuage dans GDrive ou ~OneDrive, alors que Tiddloid conserve la compatibilité avec //~TiddlyWiki Classic//. Pour en apprendre plus sur les différences entre Tiddloid et Tiddloid Lite, consultez [[la page d'accueil de Tiddloid|https://github.com/donmor/Tiddloid]].\n* Pour que l'importation fonctionne correctement, conservez l'extension `.html` ou `.htm` de vos fichiers <<tw>>.\n\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/saving/Saving on Browser with File System Access API.tid",
    "content": "caption: Enregistreur TW5 natif du navigateur (experimental)\ncolor: #FF8A65\ncreated: 20220206035734757\ndelivery: Saver\ndescription: Enregistrez avec les nouvelles versions des navigateurs dérivés de Chromium\nfr-title: Enregistrer avec l'API File System Access du navigateur\nmethod: save\nmodified: 20220402105820520\ntags: Chrome Edge Opera Saving Linux Mac Windows\ntitle: Saving on Browser with File System Access API\ntype: text/vnd.tiddlywiki\n\n<<tw>> peut enregistrer les modifications sur le système de fichiers sans [[télécharger un nouveau fichier à chaque fois|Saving with the HTML5 fallback saver]] en utilisant [[l'API File System Access|https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API]] des navigateurs.\n\n<<.warning \"Cette API n'est pas complètement standardisée, cette méthode d'enregistrement est par conséquent assez expérimentale.\">>\n\nL'API utilisée par cet enregistreur fonctionne avec la plupart des navigateurs basés sur Chromium. Voir [[caniuse|https://caniuse.com/native-filesystem-api]] pour les informations actualisées sur sa disponibilité dans les navigateurs.\n\n* [[Wiki du plugin|https://slaymaker1907.github.io/tiddlywiki/plugin-library.html]]\n* [[Dépôt GitHub|https://github.com/slaymaker1907/TW5-browser-nativesaver]]\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/saving/Saving on TidGi Desktop.tid",
    "content": "caption: ~TidGi Desktop\ncolor: #FF8A65\ncommunity-author: LinOnetwo\ncreated: 20220221080637764\ndelivery: App\ndescription: Application de bureau pour présenter et synchroniser TiddlyWiki\nfr-title: Enregistrer avec TidGi Desktop\nmethod: save\nmodified: 20220402105820520\ntags: Saving Mac Windows Linux\ntitle: Saving on TidGi Desktop\ntype: text/vnd.tiddlywiki\nurl: https://github.com/tiddly-gittly/TidGi-Desktop/releases/latest\n\nLes détails sur les choix de conception de TidGi sont disponibles ici<<:>> [[Lisez-moi !|https://github.com/tiddly-gittly/TidGi-Desktop#readme]]. En voici un bref résumé<<:>>\n\n# TidGi est basé sur <<fr \"TiddlyWiki on Node.js\">> alors que [[TiddlyDesktop|Saving on TiddlyDesktop]] se concentre sur les wikis mono-fichier HTML\n# TidGi intègre un script de synchronisation de sauvegarde git-sync\n# TidGi fournit des fonctionnalités basées sur electron, telles qu'une mini-fenêtre de menu et une console de ligne de commande.\n\n!!! Installation\n\n# Installez la dernière version de TidGi Desktop disponible sur {{!!url}}\n# Ouvrez TidGi\n# Créez un nouveau wiki, ou ouvrez un dossier hébergeant un wiki nodejs existant\n# Les modifications sont enregistrées automatiquement, et vous pouvez éventuellement configurer TidGi pour les synchroniser sur github toutes les 30 minutes\n\n[img[https://github.com/tiddly-gittly/TidGi-Desktop/raw/master/docs/images/preference.png]]\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/saving/Saving on TiddlyDesktop.tid",
    "content": "caption: ~TiddlyDesktop\ncolor: #FF8A65\ncommunity-author: Jeremy Ruston\ncreated: 20171112085137764\ndelivery: App\ndescription: Application personnalisée pour travailler avec TiddlyWiki\nfr-title: Enregistrer avec TiddlyDesktop\nmethod: save\nmodified: 20220402105820520\ntags: Saving Mac Windows Linux\ntitle: Saving on TiddlyDesktop\ntype: text/vnd.tiddlywiki\nurl: https://github.com/TiddlyWiki/TiddlyDesktop/releases\n\nRegardez la <<fr \"Introducing TiddlyDesktop Video\">><<!>>\n\n# Installez la dernière version de TiddlyDesktop disponible sur https://github.com/TiddlyWiki/TiddlyDesktop/releases\n# Ouvrez TiddlyDesktop\n# Utilisez le bouton de navigation pour ouvrir des fichiers <<tw>>\n# Enregistrez les modifications dans <<tw>> comme d'habitude\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/saving/Saving on TiddlyHost.tid",
    "content": "caption: ~TiddlyHost\ncolor: #29B6F6\ncommunity-author: Simon Baird\ncreated: 20210422191232572\ndelivery: Service\ndescription: Service en ligne pour créer et héberger des TiddlyWikis\nfr-title: Enregistrer sur TiddlyHost\nmethod: save\nmodified: 20220402105820520\ntags: Android Chrome Firefox [[Internet Explorer]] Linux Mac Opera PHP Safari Saving Windows iOS Edge\ntitle: Saving on TiddlyHost\ntype: text/vnd.tiddlywiki\n\n[img width=140 [https://github.com/simonbaird/tiddlyhost/raw/main/rails/app/assets/images/logo-800.png]]\n\n[[TiddlyHost.com|https://tiddlyhost.com/]] est un service d'hébergement pour <<tw>> créé par Simon Baird. Après vous être inscrit et avoir confirmé votre courriel vous pourrez créer des <<gf sites>> (c-à-d des <<tw>>), que vous pourrez enregistrer en ligne. Les sites peuvent être privés ou publics, et vous pouvez éventuellement les référencer, les taguer et rechercher sur le [[Hub TiddlyHost|https://tiddlyhost.com/hub]] où ils seront accessibles aux autres.\n\nContrairement à [[TiddlySpot|Saving on TiddlySpot]], [[TiddlyHost|https://tiddlyhost.com]] est sécurisé, open source, et compatible avec TiddlyWiki5. Il permet aussi de téléverser des fichier <<tw>> existants, est compatible avec TiddlyWikiClassic, et vous permet de revendiquer la propriété de vos sites ~TiddlySpot . Pour plus d'informations lisez la [[FAQ|https://github.com/simonbaird/tiddlyhost/wiki/FAQ]] et la page  [[A propos|https://tiddlyhost.com/about]].\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/saving/Saving on TiddlySpot.tid",
    "content": "caption: ~TiddlySpot\ncolor: #29b6f6\ncommunity-author: Simon Baird & Daniel Baird\ncreated: 20130825213500000\ndelivery: Service\ndescription: Hébergement TiddlyWiki en ligne. (Remplacé par TiddlyHost)\nfr-title: Enregistrer sur Tiddlyspot\nmethod: save\nmodified: 20220402105820520\ntags: Android Chrome Firefox [[Internet Explorer]] Linux Mac Opera PHP Safari Saving Windows iOS Edge\ntitle: Saving on TiddlySpot\ntype: text/vnd.tiddlywiki\n\n----\n<<.warning \"''Attention<<!>> ~TiddlySpot est passé en mode maintenance et ne permet plus de créer de nouveau site. Vous pouvez maintenant utiliser [[TiddlyHost|Saving on TiddlyHost]] à la place, un nouveau service proposé par le créateur de ~TiddlySpot.''\">>\n----\n[img[https://raw.githubusercontent.com/simonbaird/tiddlyhost/main/rails/app/assets/images/tiddlyspot-banner-logo.png]]\n\n//~TiddlySpot// est un service d'hébergement gratuit pour les documents TiddlyWiki, mis à disposition par Simon et Daniel Baird. Le plus simple pour commencer est de créer un nouveau wiki sur http://tiddlyspot.com -- par défaut, vous obtiendrez la dernière version de [[TiddlyWiki Classic|TiddlyWikiClassic]].\n\nVous pouvez publier un document TiddlyWiki depuis votre disque local vers ~TiddlySpot en suivant les étapes ci-dessous<<:>>\n\n# Demandez la création d'un nouveau wiki sur http://tiddlyspot.com/, et rappelez-vous son nom et son mot de passe\n# Ouvrez le fichier ~TiddlyWiki conservé localement dans votre navigateur\n# Remplissez le nom et le mot de passe ~TiddlySpot dans l'onglet //Sauvegarde// du panneau de contrôle\n# Cliquez sur le bouton <<gf \"Enregistrer les modifications\">> dans la barre latérale. Vous devriez voir un message de confirmation en haut à droite de la barre latérale indiquant ''Wiki enregistré''. Cela peut durer plusieurs secondes si vous avez une connexion lente ou si vous travaillez avec un wiki volumineux.\n# Ouvrez votre wiki ~TiddlySpot à l'URL `http://<nom-du-wiki>.tiddlyspot.com/`\n\nNotez que lorsque vous utilisez ~TiddlySpot, votre mot de passe est envoyé non-crypté. Extrait de http://faq.tiddlyspot.com/<<:>>\n\n<<<\n''Tiddlyspot est-il sûr ?''\n\nNon. Tiddlyspot n'utilise pas SSL/https. Votre mot de passe est envoyé en clair lorsque vous enregistrez votre wiki et au moment où vous vous authentifiez pour accéder à un site privé. Autrement dit, votre Tiddlyspot est ouvert aux renifleurs de paquets et votre mot de passe peut être découvert par un tiers malveillant. De même, vos données sont transmises non \n-cryptées lorsque vous vous affichez votre site, même s'il s'agit d'un site privé. C'est pourquoi nous vous prions instamment de ne pas conserver d'informations sensibles comme des données bancaires dans votre Tiddlyspot et de ne pas utiliser un mot de passe que vous utilisez pour d'autres sites plus sensibles.\n<<<\n\n! Problèmes lors de la sauvegarde sur Tiddlyspot\n\nSi vous rencontrez l'erreur suivante au moment de déposer un nouveau TiddlyWiki (ou [[mis à niveau|Upgrading]]) vers Tiddlyspot à partir d'un fichier local<<:>>\n\n<<<\nError while saving:\n\nError:NS_ERROR_DOM_BAD_URI: Access to restricted URI denied\n<<<\n\nL'opération tombe sous le coup d'une restriction de sécurité propre à Firefox. En attendant que cela puisse être résolu, nous suggérons d'utiliser Chrome pour effectuer cette opération<<:>>\n\n*# Utilisez Chrome pour ouvrir le document TiddlyWiki local que vous voulez déposer sur TiddlySpot et suivez les étapes 1 à 5 ci-dessus\n*# Après avoir vérifié que le ~TiddlyWiki hébergé sur ~TiddlySpot se chargeait correctement dans Chrome, vous devriez à nouveau pouvoir y accéder, le modifier et [[l'enregistrer avec TiddlyFox|Saving with TiddlyFox]]\n* Lorsque vous aurez réussi à déposer une première fois votre document local, les modifications et enregistrements suivants de la version en ligne hébergée sur Tiddlyspot devraient fonctionner avec le navigateur récent de votre choix.\n** N'oubliez pas de remplir le nom du wiki ~TiddlySpot et son mot de passe dans l'onglet //Sauvegarde// de votre [[panneau de contrôle|$:/ControlPanel]] pour chaque nouveau navigateur que vous souhaitez utiliser pour enregistrer vos modifications.\n\n* //Voir aussi// : [[Mise à niveau|Upgrading]]\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/saving/Saving on a PHP Server.tid",
    "content": "caption: Serveur PHP\ncreated: 20140111091844267\nfr-title: Enregistrer sur serveur PHP\nmodified: 20220417143800691\ntags: Saving PHP\ntitle: Saving on a PHP Server\ntype: text/vnd.tiddlywiki\n\nL'enregistreur intégré TiddlySpot peut aussi être utilisé pour enregistrer vos modifications vers un simple script PHP que vous pouvez exécuter sur la plupart des hébergeurs PHP.\n\n//Ce code n'a pas été mis à jour depuis de nombreuses années. Si vous rencontrez des difficultés, considérez l'utilisation de [[TW Receiver|Saving with TW Receiver]] à la place//\n\n# Téléchargez une copie de `TiddlyHome_0.1.2.zip`' sur https://code.google.com/archive/p/bidix/downloads\n# Décompressez l'archive ZIP\n# Extrayez une copie de  `store.php` du sous-répertoire `_th\\lib`\n# Éditez votre copie de ''store.php'' pour ajouter vos nom d'utilisateur et mot de passe. Trouvez la ligne `$USERS = array( 'UserName1'=>'Password1', etc)` et remplacez `Username1` et `Password1` par vos propres nom d'utilisateur et mot de passe.\n#* Assurez vous de laisser intacts le code et la ponctuation, comme les simple cotes (`'`)\n# Enregistrez le fichier\n# A l'aide de FTP ou de votre interface web, téléversez le fichier ''store.php'' sur votre serveur. Assurez-vous que le nom de fichier est correct.\n#* Si tout est conforme vous devriez pouvoir accéder au fichier dans votre navigateur (p.ex. `http://example.com/store.php`)\n# Dans <<tw>>, affichez l'onglet ''Sauvegarde'' du <<.icon $:/core/images/options-button>> ''panneau de contrôle'' et saisissez les informations suivantes<<:>>\n#* Votre nom d'utilisateur en tant que nom de wiki\n#* Votre mot de passe\n#* l'URL du fichier ''store.php'' (//''pas'' l'URL du wiki, mais l'URL complète d'accès au fichier ''store.php''//)\n\nL'onglet ''Sauvegarde'' du panneau de contrôle inclut les paramètres suivants<<:>>\n\n|!Nom |!Description |\n|URL du serveur |URL complète du fichier ''store.php'' sur votre serveur |\n|Nom du fichier téléversé |Le nom de fichier utilisé pour enregistrer le <<tw>> (''index.html'' par défaut) |\n|Dossier de téléversement |Le chemin relatif entre ''store.php'' et le dossier d'enregistrement du fichier |\n|Dossier de sauvegarde |Le chemin relatif entre ''store.php'' et le dossier de sauvegarde |\n\n!!! Note sur la taille maximale\n\nQuand la taille de votre fichier TW augmentera, vous devrez modifier le fichier `.htaccess` (ou `htaccess` selon le système) pour augmenter la taille maximale de téléversement et/ou de POST. Vérifiez avec votre hébergeur les réglages possibles. Assurez-vous de disposer de sauvegardes avant d'expérimenter avec les réglages. Exemple de réglages<<:>>\n\n```\nphp_value upload_max_filesize 4M\nphp_value post_max_size 6M\n```\n!!! Note sur les messages d'erreur possibles\n\nSi vous rencontrez un message d'erreur concernant `split()`, vous pourriez avoir à remplacer les appels à `split()` dans ''store.php'' par la fonction `explode`.\n\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/saving/Saving on iPad_iPhone.tid",
    "content": "caption: Quine\ncolor: #FF8A65\ncommunity-author: Chris Hunt\ncreated: 20131129101027725\ndelivery: App\ndescription: Appli iPad/iPhone pour travailler avec TiddlyWiki\nfr-title: Enregistrer sur iPad/iPhone\nmethod: save\nmodified: 20220402105820520\ntags: Saving iOS\ntitle: Saving on iPad/iPhone\ntype: text/vnd.tiddlywiki\n\nL'application ''Quine 2'' pour iPad/iPhone permet d'éditer et d'enregistrer les modifications de wikis TiddlyWiki5 sur iOS. Vous pouvez la [[télécharger ici|https://apps.apple.com/us/app/quine-2/id1450128957]].\n\nInstructions d'utilisation<<:>>\n\n# Ouvrez Quine 2\n# Tapez sur le bouton + de la barre d'outils pour créer et ouvrir un nouveau <<tw>>\n# Dans la liste des fichiers tapez sur un fichier <<tw>> existant pour l'ouvrir\n# Éditez le <<tw>> comme d'habitude, et enregistrez-le normalement avec Autosave ou le <<.icon $:/core/images/save-button>> bouton enregistrer\n# Utilisez le bouton de barre d'outil ''Documents'' à gauche pour fermer un <<tw>> ouvert\n\n* Quine 2 fonctionne nativement sous iOS avec des fichiers locaux ou stockés dans iCloud\n* Quine 2 permet aussi d'ouvrir, modifier et enregistrer des fichiers <<tw>> stockés chez d'autres fournisseurs de service Cloud\n* Quine 2 permet de suivre des liens Wikitexte embarqués ou des liens canoniques externes vers des fichiers accessibles comme sur le Cloud via des services compatibles avec le ''//folder level sharing//''\n** Parmi les applications compatibles, citons ''Secure Shellfish'' et ''Working Copy''. La plupart des services ne permet toutefois pas aux applis comme Quine 2 d'utiliser ce type de liens\n** Si vous voulez activer cette fonctionnalité pour les services <<gf collaboratifs>>, basculez le commutateur ''Autoriser la sélection de dossiers pour les liens hors bac-à-sable'' dans les paramètres iOS de Quine 2\n\n//Notez que Quine 2 est publié indépendamment de <<tw>>//\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/saving/Saving to a Git service.tid",
    "content": "caption: Service Git en ligne\ncolor: #29B6F6\ncreated: 20190408173002622\ndelivery: Service\ndescription: Enregistrez directement dans un dépôt Git en ligne (sur GitHub, GitLab)\nfr-title: Enregistrer avec un service Git\nmethod: save\nmodified: 20220402105820520\ntags: Android Chrome Firefox [[Internet Explorer]] Linux Mac Opera Safari Saving Windows iOS Edge\ntitle: Saving to a Git service\ntype: text/vnd.tiddlywiki\n\n<<tw>> peut enregistrer les modifications d'un wiki mono-fichier directement dans un dépôt GitHub.\n\nL'enregistrement vers un service Git  se configure dans le [[Panneau de contrôle|$:/ControlPanel]], dans l'onglet ''Enregistrement''. Selon le service cible souhaité, choisissez parmi les onglets ''Enregistreur ~GitHub'', ''Enregistreur ~GitLab'' ou ''Enregistreur ~Gitea''. Les paramètres suivants sont disponibles<<:>>\n\n* ''Nom d'utilisateur'' - (obligatoire) le nom d'utilisateur du compte à utiliser sur le service Git choisi\n* ''Mot de passe'' - (obligatoire) le mot de passe, le jeton OAUTH ou le //personal access token// (jeton d'accès personnel) associé. Notez que GitHub a déprécié l'authentification par mot de passe, les methodes d'authentification permises sont décrites dans la [[documentation de l'API|https://developer.github.com/v3/#authentication]].\n* ''Dépôt cible'' - (obligatoire) le nom du dépôt à utiliser. Il faut préciser le nom de l'utilisateur suivi du nom du dépôt, séparés par un `/`, par exemple `Jermolene/TiddlyWiki5`\n* ''Branche'' - (optionnel) le nom de la branche dans laquelle enregistrer le wiki. Valeur par défaut<<:>> `main` dans ~GitHub et `master` dans ~GitLab.\n* ''Chemin'' - (optionnel) le chemin pour atteindre le fichier cible. Valeur par défaut<<:>> `/`\n* ''Nom du fichier cible'' - (obligatoire) le nom de fichier de votre wiki\n\nNotes<<:>>\n\n* Le mot de passe ou le jeton d'accès sont enregistrés dans le stockage local du navigateur de façon persistante. Assurez-vous de nettoyer le mot de passe si vous utilisez une machine publique ou partagée. L'utilisation d'un jeton d'accès personnel pour l'authentification offre une couche de sécurité supplémentaire<<:>> si le jeton est compromis, il peut être révoqué sans réinitialiser le mot de passe principal du compte.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/saving/Saving via WebDAV.tid",
    "content": "caption: ~WebDAV\ncolor: #f48fb1\ncreated: 20160216191710789\ndelivery: Protocol\ndescription: Protocole web standard disponible sur les produits comme Sharepoint\nfr-title: Enregistrer avec WebDav\nmethod: save\nmodified: 20220402105820520\ntags: Android Chrome Firefox [[Internet Explorer]] Linux Mac Opera PHP Safari Saving Windows iOS Edge\ntitle: Saving via WebDAV\ntype: text/vnd.tiddlywiki\n\nLorsqu'il est hébergé sur un serveur [[WebDAV|https://fr.wikipedia.org/wiki/WebDAV]], un fichier <<tw>> créé après 2016 enregistre automatiquement ses modifications en HTTP. Si vous avez créé votre wiki avant le 16 février 2016 vous devez le [[mettre à jour|Upgrading]] pour activer ~WebDAV.\n\n\n!! Serveurs légers et multi-plateformes\n\nSolutions légères, portables et faciles d'emploi<<:>>\n\n* [[rclone|https://rclone.org/commands/rclone_serve_webdav/]]\n**  Démarrer rclone est aussi facile que<<:>> <br/>`rclone serve webdav un_dossier_contenant_des_fichiers_tiddlywiki`\n* [[micromata dave - le serveur webdav simple|https://github.com/micromata/dave]]\n* [[dav-server|https://github.com/edrex/dav-server]] est un moyen rapide de présenter un dossier de fichiers <<tw>> HTML.\n* [[serveur webdav hacdias|https://github.com/hacdias/webdav/]]\n    ** Guide d'utilisation de ce serveur ~WebDAV, rédigé par Mohammad [[Scripts pour Tiddlywiki — codes, macros, et solutions pour TW|https://kookma.github.io/TW-Scripts/#Easy%20Local%20Saving%20with%20WebDav]]\n\n\n!! Windows\n\n*   IIS\n    **   Guide vidéo par [[pmario|https://talk.tiddlywiki.org/u/pmario]]: [[01 Intro - Utiliser TiddlyWiki avec IIS et WebDAV - YouTube|https://www.youtube.com/watch?v=tpkQhKyqPzc&list=PLuiC_HFhI4OwoVDb-B-VK0ydj-mBPNn-1]]\n    **  Vidéo pas-à-pas par ~MagoArcade pour utiliser un <<gf vrai>> serveur IIS  + SSL + ~WindowsAuth avec certificat auto-signé<<:>> [[Installer TiddlyWiki - Méthode Windows IIS WebDAV - YouTube|https://youtu.be/VMQ3Lfko8uQ]]\n\n*   ~SharePoint / ~OneDrive pour Windows\n** Enregistrez votre fichier ~TiddlyWiki avec une extension `.aspx`\n** Copiez-le vers une bibliothèque synchronisée ~SharePoint/~OneDrive for Business\n** Tant que ~WebDAV est actif, renommer un wiki mono-fichier de `.html` à `.aspx` fonctionne lorsqu'il est stocké dans l'un de ces dossiers\n** Ça //pourrait// aussi fonctionner avec un Mac.\n\n!! OSX\n*   ~WebDavNav Server sur l'App store du Mac.\n\n!! Android\n\n* RCX est un gestionnaire de fichiers open source pour Android basé sur //rclone//. Il est disponible aussi bien sur //F-Droid// que //Google Play//. Grâce à son serveur ~WebDAV intégré, il permet d'éditer les wikis que vous gardez dans la poche, et de les partager sur le réseau local.\n\n!! Serveurs\n\nDe nombreux serveurs [[NAS|https://fr.wikipedia.org/wiki/Serveur_de_stockage_en_r%C3%A9seau]] ou [[Subversion|https://fr.wikipedia.org/wiki/Apache_Subversion]] disposent de ~WebDAV nativement. Le paramétrage de votre propre serveur imposera toutefois quelques efforts<<:>>\n\n\n\n!! Hébergement gratuit\n\nPlusieurs hébergeurs ~WebDAV testés (~~box.com~~, ~~swissdisk.com~~) ne permettent pas l'accès aux fichiers HTML dans un navigateur, ils ne peuvent donc pas être utilisés pour <<tw>>. Néanmoins, le serveur multimédia GMX (www.gmx.net) a été déclaré compatible ~WebDav avec un compte gratuit.\n\n\n!!! Koofr\n\n//''Koofr''// est un service cloud qui met en avant le respect de la vie privée. Pour utiliser leur service ~WebDav, créez un compte sur `koofr.eu`, puis ouvrez les `preferences` sur leur appli web, puis `password` dans le menu à gauche. Descendez jusqu'à la rubrique `App Passwords`. Choisissez un nom comme `tiddlywiki` et générez un mot de passe. Contrairement à leurs recommandations, gardez en sécurité une copie du mot de passe. Téléversez votre fichier dans un dossier sur leur site, si possible sans espace dans le chemin d'accès. Ensuite, dans le navigateur saisissez l'adresse du fichier, qui ressemblera à<<:>>\n\n```\nhttps://app.koofr.net/dav/Koofr/monfichier.html\n\n```\nA ce moment-là, une demande d'authentification apparaîtra. Utilisez votre adresse mail de connexion et le mot de passe que vous venez de générer.\n\nVous devriez être en mesure de charger le wiki et d'enregistrer les modifications dedans. \n\n!! Hébergement payant\n\n!!! pCloud\n\n//''pCloud''// est un service cloud qui dispose de serveurs en Europe et aux États-Unis. Lors de l'inscription, vous devez choisir l'emplacement qui vous convient. Ensuite, avec votre navigateur, connectez-vous au service. Utilisez l'interface pour téléversez le fichier auquel vous voulez accéder. Il sera accessible soit sur<<:>>\n\n```\nhttps://webdav.pcloud.com\n```\n\nsi vous avez choisi des serveurs aux États-Unis, ou sur<<:>>\n\n```\nhttps://ewebdav.pcloud.com\n```\n\npour des serveurs en Europe.\n\nUn page de navigation dans les fichiers devrait s'afficher. Sélectionnez votre wiki et ouvrez-le dans le navigateur. Vous devriez pouvoir le modifier et enregistrer les modifications.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/saving/Saving via a Minimal Ruby Server.tid",
    "content": "caption: Serveur Ruby\ncolor: #78909C\ncommunity-author: Jim Foltz\ncreated: 20180514011710789\ndelivery: Server-side Script\ndescription: Un script maison utilisable comme serveur\nfr-title: Enregistrer avec un serveur Ruby minimal\nmethod: save\nmodified: 20220402105820520\ntags: Android Chrome Firefox [[Internet Explorer]] Linux Mac Opera Safari Saving Windows iOS Edge\ntitle: Saving via a Minimal Ruby Server\ntype: text/vnd.tiddlywiki\n\nUn serveur Ruby minimal qui utilise Webrick. Il présente les fichiers du dossier courant et permet l'enregistrement.\n\nLancez le script, puis naviguez vers l'adresse http://localhost:8000 pour voir le contenu du dossier choisi, et cliquez sur le fichier HTML de votre wiki.\n\nLe script est disponible ici<<:>>\n\nhttps://gist.github.com/jimfoltz/ee791c1bdd30ce137bc23cce826096da\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/saving/Saving with Polly.tid",
    "content": "caption: Polly\ncolor: #29B6F6\ncommunity-author: TiddlyTweeter\ncreated: 20220223153410510\ndelivery: Service\ndescription: Script pour enregistrer les fichiers TiddlyWiki téléchargés.\nfr-title: Enregistrer avec Polly\nmethod: save\nmodified: 20220402105820520\ntags: Chrome Firefox [[Internet Explorer]] Linux Mac Opera Safari Saving Windows Edge\ntitle: Saving with Polly\ntype: text/vnd.tiddlywiki\n\n[[Polly|https://github.com/Marxsal/polly]] est un script Windows écrit en //~PowerShell// utilisé pour restaurer le chemin de fichiers <<tw>> sélectionnés, depuis le dossier des téléchargements vers leur emplacement d'origine. \n\nConcrètement, ça devient une nouvelle façon d'enregistrer vos fichiers, mais avec des fonctionnalités supplémentaires<<:>>\n\n* Pas d'exécutable binaire\n* Script lisible par un humain\n* Pas de plugin particulier dans votre fichier <<tw>>\n* Pas besoin d'un navigateur en particulier\n* Pas besoin d'extension pour le navigateur\n* Pas besoin de faire tourner nodejs en tâche de fond\n* Taille totale du script décompressé<<:>> environ 100 ko\n* Sauvegarde vers des dossiers paramétrables, en tant que fichiers standards ou archives ZIP\n* Capacité de <<gf cloner>> des copies supplémentaires vers des dossiers cibles (p.ex. un dossier Dropbox)\n\nFonctionne partout où //~PowerShell// est disponible, en particulier Windows, Linux et Mac.\n\nhttps://github.com/Marxsal/polly"
  },
  {
    "path": "editions/fr-FR/tiddlers/saving/Saving with TW Receiver.tid",
    "content": "caption: TW Receiver\ncreated: 20200612233356021\ndelivery: DIY\ndescription: Script maison que vous pouvez installer sur votre propre serveur\nfr-title: Enregistrer avec TW Receiver\nmethod: save\nmodified: 20220402105820520\ntags: Saving PHP\ntitle: Saving with TW Receiver\ntype: text/vnd.tiddlywiki\n\nTW Receiver est un plugin ~TiddlyWiki et un script PHP utilisés pour enregistrer sur un serveur PHP.\n\nParmi ses fonctionnalités, on trouve la sauvegarde automatisée, la protection d'écriture sur instance figée, l'authentification par challenge de hachage (sécurité améliorée), et la signature d'intégrité des données (sécurité améliorée).\n\n* Visitez [[TW-Receiver|https://github.com/sendwheel/tw-receiver]] pour accéder à plus d'informations, au plugin et à son code."
  },
  {
    "path": "editions/fr-FR/tiddlers/saving/Saving with TiddlyFox on Android.tid",
    "content": "created: 20140103134551508\nfr-title: Enregistrer avec TiddlyFox sur Android\nmodified: 20220417143919185\ntags: [[Saving with TiddlyFox]]\ntitle: Saving with TiddlyFox on Android\ntype: text/vnd.tiddlywiki\n\n(Vous pouvez aussi regarder le [[tutoriel vidéo|TiddlyWiki on Firefox for Android Video]]).\n\n# Assurez-vous d'avoir installé la dernière version de [[Firefox pour Android|Firefox for Android]]\n#* http://getfirefox.com\n# Installez la dernière version de l'extension TiddlyFox depuis<<dp>>\n#* https://addons.mozilla.org/fr/firefox/addon/tiddlyfox/\n# Installez aussi cette extension qui vous permettra de sauvegarder le fichier <<tw>> localement<<dp>>\n#* https://addons.mozilla.org/fr/android/addon/save-link-menus/\n# [[Téléchargez|Download]] un fichier <<tw>> vide en enregistrant ce lien<<dp>>\n#* https://tiddlywiki.com/languages/fr-FR/empty.html\n#> (pour enregistrer le lien, assurez-vous d'avoir installé l'extension \"save-link-menus\", appuyez quelques secondes sur le lien, puis choisissez \"Save link\")\n# Une fois le fichier téléchargé, cliquez dessus depuis la zone de notification ou l'application de gestion des téléchargements\n# Choisissez d'ouvrir le fichier avec Firefox (et non l'application par défaut proposée par Android)\n# Cliquez ''OK'' en réponse à la demande de TiddlyFox qui vous demande s'il faut activer l'enregistrement pour ce fichier\n# Essayez de créer un nouveau tiddler à l'aide du bouton <<.icon $:/core/images/new-button>> ''nouveau tiddler'' de la barre latérale. Ajouter du contenu dans le tiddler, et cliquez sur le bouton <<.icon $:/core/images/done-button>> ''terminé''\n# Enregistrez vos modifications en cliquant sur le bouton <<.icon $:/core/images/save-button>> ''enregistrer les modifications'' de la barre latérale\n#* Attendez l'indication jaune ''Wiki enregistré'' en haut à droite de la fenêtre\n# Rafraîchissez la fenêtre du navigateur pour vérifier que vos modifications ont été correctement enregistrées\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/saving/Saving with TiddlyFox.tid",
    "content": "caption: ~TiddlyFox\ncolor: #4db6ac\ncommunity-author: Jeremy Ruston\ncreated: 20131221085742684\ndelivery: Browser Extension\ndescription: Extension pour les anciennes versions de Firefox\nfr-title: Enregistrer avec TiddlyFox\nmethod: save\nmodified: 20220417143943429\ntags: Saving Firefox\ntitle: Saving with TiddlyFox\ntype: text/vnd.tiddlywiki\n\nSi vous utilisez [[Firefox pour Android|Firefox for Android]], reportez-vous aux instructions pour [[enregistrer avec TiddlyFox sur Android|Saving with TiddlyFox on Android]].\n\n# Assurez-vous d'avoir une version de [[Firefox]] antérieure à 57. ~TiddlyFox ne fonctionne plus sur les versions 57 et ultérieures. Pour Firefox 57 et au-delà, pensez plutôt à utiliser<<:>> <<list-links filter:\"[tag[Firefox]delivery[Browser Extension]] -[[Saving with TiddlyFox]]\">>\n# Installez la dernière version de l'extension TiddlyFox à partir de<<dp>>\n#* https://addons.mozilla.org/fr/firefox/addon/tiddlyfox/\n# Redémarrez [[Firefox]]\n# [[Téléchargez|Download]] un <<tw>> vide en cliquant sur ce bouton<<dp>>\n#> {{$:/editions/fr-FR/snippets/download-empty-button}}\n# Localisez le fichier que vous venez de télécharger\n#* Vous pouvez le renommer, mais assurez-vous de conserver l'extension `.html` ou `.htm`\n# Ouvrez le fichier dans [[Firefox]]\n#* Si vous utilisez TiddlyFox v1.x.x, cliquez ''OK'' en réponse à la demande de TiddlyFox d'activer l'enregistrement pour ce fichier\n#* Si vous utilisez TiddlyFox v2.x.x cliquez sur l’icône de chat sur un globe bleu pour activer l'enregistrement. Il n'y a pas de demande en v2.0.1.\n#** Pour TiddlyFox v2.0.1, vous ne  pouvez pas utiliser le mode Navigation Privée, ni activer l'option <<gf \"Ne jamais conserver l'historique\">>.\n# Essayez de créer un nouveau tiddler à l'aide du bouton <<.icon $:/core/images/new-button>> ''nouveau tiddler'' de la barre latérale. Ajouter du contenu dans le tiddler, et cliquez sur le bouton <<.icon $:/core/images/done-button>> ''terminé''\n# Enregistrez vos modifications en cliquant sur le bouton <<.icon $:/core/images/save-button>> ''enregistrer les modifications'' de la barre latérale\n#* Attendez l'indication jaune ''Wiki enregistré'' en haut à droite de la fenêtre\n# Rafraîchissez la fenêtre du navigateur pour vérifier que vos modifications ont été correctement enregistrées\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/saving/Saving with TiddlyIE.tid",
    "content": "caption: ~TiddlyIE\ncolor: #4db6ac\ncommunity-author: David Jade\ncreated: 20131211220000000\ndelivery: Browser Extension\ndescription: Extension pour Internet Explorer\nfr-title: Enregistrer avec TiddlyIE\nmethod: save\nmodified: 20220402105820520\ntags: Saving [[Internet Explorer]]\ntitle: Saving with TiddlyIE\ntype: text/vnd.tiddlywiki\n\n# Installez l'extension TiddlyIE depuis<<dp>>\n#* https://github.com/davidjade/TiddlyIE/releases\n# Redémarrez Internet Explorer. IE vous demandera si vous voulez activer l'extension TiddlyIE.\n#> Il se peut aussi que vous ayez à activer le //Microsoft Scripting Runtime//\n# [[Téléchargez|Download]] un <<tw>> vide en enregistrant ce lien<<dp>>\n#> https://tiddlywiki.com/languages/fr-FR/empty.html\n# Localisez le fichier que vous venez de télécharger\n#* Vous pouvez le renommer, mais assurez-vous de conserver l'extension `.html` ou `.htm`\n# Ouvrez le fichier dans Internet Explorer\n# Essayez de créer un nouveau tiddler à l'aide du bouton <<.icon $:/core/images/new-button>> ''nouveau tiddler'' de la barre latérale. Ajouter du contenu dans le tiddler, et cliquez sur le bouton <<.icon $:/core/images/done-button>> ''terminé''\n# Enregistrez vos modifications en cliquant sur le bouton <<.icon $:/core/images/save-button>> ''enregistrer les modifications'' de la barre latérale. Internet Explorer vous demandera votre assentiment pour enregistrer le fichier localement en vous présentant un dialogue ''Enregistrer sous...''.\n# Rafraîchissez la fenêtre du navigateur pour vérifier que vos modifications ont été correctement sauvegardées.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/saving/Saving with the HTML5 fallback saver.tid",
    "content": "created: 20131129092604900\nfr-title: Enregistreur HTML5 par défaut\nmodified: 20220402105820520\ntitle: Saving with the HTML5 fallback saver\ntype: text/vnd.tiddlywiki\n\n[[Saving with the HTML5 saver]]"
  },
  {
    "path": "editions/fr-FR/tiddlers/saving/Saving.tid",
    "content": "created: 20140912140651119\nfr-title: Enregistrer les modifications\nmodified: 20220402105820520\nsaving-browser: Firefox Chrome Edge [[Internet Explorer]] Safari Opera\nsaving-os: Windows Mac Linux Android iOS\ntags: [[Working with TiddlyWiki]]\ntitle: Saving\ntype: text/vnd.tiddlywiki\n\n\n\\define alltagsfilter()  \n<$vars tag1=\"tag[\" tag2=\"]\" lb=\"[\" rb=\"tag[Saving]sort[delivery]]\">\n<$set filter=\"[list<stateTiddler>addprefix<tag1>addsuffix<tag2>]+[join[]addprefix<lb>addsuffix<rb>]\" name=\"alltags\" select=0>\n<$text text=<<alltags>>/>\n</$set>\n</$vars>\n\\end\n\n\\define saverssidebaritem(item:\"Linux\")\n<$checkbox tiddler=<<qualify $:/temp/$item$>> field=\"status\" checked=\"selected\" checkactions=<<checkactions \"$item$\">> uncheckactions=<<uncheckactions \"$item$\">> default=\"closed\"> $item$</$checkbox><br/>\n\\end\n\n\\define saverssidebaritemlist(fieldname:\"os\")\n<$list filter=\"[enlist{!!$fieldname$}]\" variable=\"currentItem\">\n<$macrocall $name=\"saverssidebaritem\" item=<<currentItem>>/>\n</$list>\n\\end\n\n\\define uncheckactions(item:\"Linux\")\n<$action-listops  $tiddler=<<stateTiddler>> $subfilter=\"-[[$item$]]\"/>\n\\end\n\n\\define checkactions(item:\"Linux\")\n<$action-listops $tiddler=<<stateTiddler>>  $subfilter=\"[[$item$]]\"/>\n\\end\n<$vars stateTiddler=<<qualify \"$:/state/gettingstarted\">> >\n\nMéthodes disponibles pour enregistrer les modifications avec <<tw>><<:>>\n\n<div class=\"tc-wrapper-flex\">\n<div class=\"tc-saving-sidebar\">\n  <div class=\"tc-saving-sidebar-category\">\n      <div class=\"tc-saving-sidebar-category-title\">Plateforme</div>\n     <div class=\"tc-saving-sidebar-category-item\">\n                <<saverssidebaritemlist \"saving-os\">>\n      </div>\n   </div>\n   <div class=\"tc-saving-sidebar-category\">\n       <div class=\"tc-saving-sidebar-category-title\">Navigateur internet</div>\n        <div class=\"tc-saving-sidebar-category-item\">\n               <<saverssidebaritemlist \"saving-browser\">>\n        </div>\n  </div>\n  \n</div>\n\n<!-- Page content -->\n<div class=\"content\">\n<$wikify text=<<alltagsfilter>> name=\"alltagsfilterwikified\">\n<$list filter=<<alltagsfilterwikified>>>\n{{||$:/_tw5.com-card-template}}\n</$list>\n</$wikify>\n\n</div>\n</div>\n</$vars>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/saving/TiddlyWiki Cloud.tid",
    "content": "caption: ~TiddlyWiki Cloud Connectors\ncolor: #29B6F6\ncreated: 20171113135053055\ndelivery: Web Service\ndescription: Service en ligne pour éditer des documents TiddlyWiki dans Dropbox\nmethod: save\nmodified: 20220402105820520\ntags: Android Chrome Firefox [[Internet Explorer]] Linux Mac Opera PHP Safari Saving Windows iOS Edge\ntitle: TiddlyWiki Cloud\ntype: text/vnd.tiddlywiki\nurl: https://twcloud.github.io/tw5-dropbox/\n\nInitialement conçu par Jeremy Ruston et depuis maintenu par Arlen Beiler, TiddlyWiki Cloud (précédemment appelé //TiddlyWiki in the Sky for Dropbox//) est un service en ligne qui vous permet d'éditer vos documents <<tw>> directement dans votre Dropbox en utilisant juste un navigateur.\n\nIl fonctionne avec <<tw>> //5//. En ce qui concerne <<tw>> //Classic//, le chargeur actuel ne fonctionne pas, mais un chargeur ultérieur pourrait fonctionner.\n\nhttps://twcloud.github.io/\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/storyTiddler_Variable.tid",
    "content": "caption: storyTiddler\ncreated: 20141001232753952\nmodified: 20150622085159253\ntags: Variables [[Core Variables]]\ntitle: storyTiddler Variable\ntype: text/vnd.tiddlywiki\n\n=> tiddler en cours d'affichage ou d'édition. \n\nWhen a tiddler is viewed or edited, then within its branch of the [[widget tree|Widgets]], the <<.def storyTiddler>> [[variable|Variables]] contains the title of that tiddler.\n\nThe default [[view template|$:/core/ui/ViewTemplate]] and [[edit template|$:/core/ui/EditTemplate]] initialise <<.var storyTiddler>> to the value of the <<.vlink currentTiddler>> variable. This in turn will have been set by a <<.wlink ListWidget>> widget in [[the relevant part of the page template|$:/core/ui/PageTemplate/story]].\n\n<<.var storyTiddler>> is undefined outside the story river, such as in the sidebar.\n\n<<.variable-examples \"storyTiddler\">>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/system/$__core_macros_list.tid",
    "content": "created: 20220830224607117\nmodified: 20220830224638865\ntags: $:/tags/Macro\ntitle: $:/core/macros/list\n\n\\define list-links(filter,type:\"ul\",subtype:\"li\",class:\"\",emptyMessage)\n\\whitespace trim\n<$type$ class=\"$class$\">\n<$list filter=\"$filter$\" emptyMessage=<<__emptyMessage__>>>\n<$subtype$>\n<$link to={{!!title}}>\n<$let tv-wikilinks=\"no\">\n<$transclude field=\"caption\">\n<$view field=\"title\"/>\n</$transclude>\n</$let>\n</$link>\n</$subtype$>\n</$list>\n</$type$>\n\\end\n\n\\define list-links-draggable-drop-actions()\n<$action-listops $tiddler=<<targetTiddler>> $field=<<targetField>> $subfilter=\"+[insertbefore<actionTiddler>,<currentTiddler>]\"/>\n\\end\n\n\\define list-links-draggable(tiddler,field:\"list\",emptyMessage,type:\"ul\",subtype:\"li\",class:\"\",itemTemplate)\n\\whitespace trim\n<span class=\"tc-links-draggable-list\">\n<$vars targetTiddler=\"\"\"$tiddler$\"\"\" targetField=\"\"\"$field$\"\"\">\n<$type$ class=\"$class$\">\n<$list filter=\"[list[$tiddler$!!$field$]]\" emptyMessage=<<__emptyMessage__>>>\n<$droppable actions=<<list-links-draggable-drop-actions>> tag=\"\"\"$subtype$\"\"\" enable=<<tv-enable-drag-and-drop>>>\n<div class=\"tc-droppable-placeholder\"/>\n<div>\n<$transclude tiddler=\"\"\"$itemTemplate$\"\"\">\n<$link to={{!!title}}>\n<$let tv-wikilinks=\"no\">\n<$transclude field=\"caption\">\n<$view field=\"title\"/>\n</$transclude>\n</$let>\n</$link>\n</$transclude>\n</div>\n</$droppable>\n</$list>\n<$tiddler tiddler=\"\">\n<$droppable actions=<<list-links-draggable-drop-actions>> tag=\"div\" enable=<<tv-enable-drag-and-drop>>>\n<div class=\"tc-droppable-placeholder\">\n{{$:/core/images/blank}}\n</div>\n<div style=\"height:0.5em;\"/>\n</$droppable>\n</$tiddler>\n</$type$>\n</$vars>\n</span>\n\\end\n\n\\define list-tagged-draggable-drop-actions(tag)\n\\whitespace trim\n<!-- Save the current ordering of the tiddlers with this tag -->\n<$set name=\"order\" filter=\"[<__tag__>tagging[]]\">\n<!-- Remove any list-after or list-before fields from the tiddlers with this tag -->\n<$list filter=\"[<__tag__>tagging[]]\">\n<$action-deletefield $field=\"list-before\"/>\n<$action-deletefield $field=\"list-after\"/>\n</$list>\n<!-- Save the new order to the Tag Tiddler -->\n<$action-listops $tiddler=<<__tag__>> $field=\"list\" $filter=\"+[enlist<order>] +[insertbefore<actionTiddler>,<currentTiddler>]\"/>\n<!-- Make sure the newly added item has the right tag -->\n<!-- Removing this line makes dragging tags within the dropdown work as intended -->\n<!--<$action-listops $tiddler=<<actionTiddler>> $tags=<<__tag__>>/>-->\n<!-- Using the following 5 lines as replacement makes dragging titles from outside into the dropdown apply the tag -->\n<$list filter=\"[<actionTiddler>!contains:tags<__tag__>]\">\n<$fieldmangler tiddler=<<actionTiddler>>>\n<$action-sendmessage $message=\"tm-add-tag\" $param=<<__tag__>>/>\n</$fieldmangler>\n</$list>\n</$set>\n\\end\n\n\\define list-tagged-draggable(tag,subFilter,emptyMessage,itemTemplate,elementTag:\"div\",storyview:\"\")\n\\whitespace trim\n<span class=\"tc-tagged-draggable-list\">\n<$set name=\"tag\" value=<<__tag__>>>\n<$list filter=\"[<__tag__>tagging[]$subFilter$]\" emptyMessage=<<__emptyMessage__>> storyview=<<__storyview__>>>\n<$elementTag$ class=\"tc-menu-list-item\">\n<$droppable actions=\"\"\"<$macrocall $name=\"list-tagged-draggable-drop-actions\" tag=<<__tag__>>/>\"\"\" enable=<<tv-enable-drag-and-drop>>>\n<$elementTag$ class=\"tc-droppable-placeholder\"/>\n<$elementTag$>\n<$transclude tiddler=\"\"\"$itemTemplate$\"\"\">\n<$link to={{!!title}}>\n<$view field=\"fr-title\">\n<$view field=\"title\"/>\n</$view>\n</$link>\n</$transclude>\n</$elementTag$>\n</$droppable>\n</$elementTag$>\n</$list>\n<$tiddler tiddler=\"\">\n<$droppable actions=\"\"\"<$macrocall $name=\"list-tagged-draggable-drop-actions\" tag=<<__tag__>>/>\"\"\" enable=<<tv-enable-drag-and-drop>>>\n<$elementTag$ class=\"tc-droppable-placeholder\"/>\n<$elementTag$ style=\"height:0.5em;\">\n</$elementTag$>\n</$droppable>\n</$tiddler>\n</$set>\n</span>\n\\end\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/system/$__core_macros_tag.tid",
    "content": "created: 20220830190922373\nmodified: 20220830191056761\ntags: $:/tags/Macro\ntitle: $:/core/macros/tag\n\n\\define tag-pill-styles()\nbackground-color:$(backgroundColor)$;\nfill:$(foregroundColor)$;\ncolor:$(foregroundColor)$;\n\\end\n\n<!-- This has no whitespace trim to avoid modifying $actions$. Closing tags omitted for brevity. -->\n\\define tag-pill-inner(tag,icon,colour,fallbackTarget,colourA,colourB,element-tag,element-attributes,actions)\n<$vars\n\tforegroundColor=<<contrastcolour target:\"\"\"$colour$\"\"\" fallbackTarget:\"\"\"$fallbackTarget$\"\"\" colourA:\"\"\"$colourA$\"\"\" colourB:\"\"\"$colourB$\"\"\">>\n\tbackgroundColor=\"\"\"$colour$\"\"\"\n><$element-tag$\n\t$element-attributes$\n\tclass=\"tc-tag-label tc-btn-invisible\"\n\tstyle=<<tag-pill-styles>>\n>$actions$<$transclude tiddler=\"\"\"$icon$\"\"\"/><$view tiddler=<<__tag__>> field=\"fr-title\" format=\"text\"><$view tiddler=<<__tag__>> field=\"title\" format=\"text\" /></$view></$element-tag$>\n\\end\n\n\\define tag-pill-body(tag,icon,colour,palette,element-tag,element-attributes,actions)\n<$macrocall $name=\"tag-pill-inner\" tag=<<__tag__>> icon=\"\"\"$icon$\"\"\" colour=\"\"\"$colour$\"\"\" fallbackTarget={{$palette$##tag-background}} colourA={{$palette$##foreground}} colourB={{$palette$##background}} element-tag=\"\"\"$element-tag$\"\"\" element-attributes=\"\"\"$element-attributes$\"\"\" actions=\"\"\"$actions$\"\"\"/>\n\\end\n\n\\define tag-pill(tag,element-tag:\"span\",element-attributes:\"\",actions:\"\")\n\\whitespace trim\n<span class=\"tc-tag-list-item\" data-tag-title=<<__tag__>>>\n<$let currentTiddler=<<__tag__>>>\n<$macrocall $name=\"tag-pill-body\" tag=<<__tag__>> icon={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerIconFilter]!is[draft]get[text]] }}} colour={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerColourFilter]!is[draft]get[text]] }}} palette={{$:/palette}} element-tag=\"\"\"$element-tag$\"\"\" element-attributes=\"\"\"$element-attributes$\"\"\" actions=\"\"\"$actions$\"\"\"/>\n</$let>\n</span>\n\\end\n\n\\define tag(tag)\n{{$tag$||$:/core/ui/TagTemplate}}\n\\end\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/system/$__core_ui_SideBar_Open.tid",
    "content": "caption: {{$:/language/SideBar/Open/Caption}}\ncreated: 20141119223515194\nmodified: 20220417143300015\ntags: $:/tags/SideBar\ntitle: $:/core/ui/SideBar/Open\ntype: text/vnd.tiddlywiki\n\n\\whitespace trim\n\\define lingo-base() $:/language/CloseAll/\n\n\\define drop-actions()\n<$action-listops $tiddler=<<tv-story-list>> $subfilter=\"+[insertbefore<actionTiddler>,<currentTiddler>]\"/>\n\\end\n\n\\define placeholder()\n<div class=\"tc-droppable-placeholder\"/>\n\\end\n\n\\define droppable-item(button)\n\\whitespace trim\n<$droppable actions=<<drop-actions>> enable=<<tv-allow-drag-and-drop>> tag=\"div\">\n<<placeholder>>\n<div>\n$button$\n</div>\n</$droppable>\n\\end\n\n<div class=\"tc-sidebar-tab-open\">\n<$list filter=\"[list<tv-story-list>]\" history=<<tv-history-list>> storyview=\"pop\">\n<div class=\"tc-sidebar-tab-open-item\">\n<$macrocall $name=\"droppable-item\" button=\"\"\"<$button message=\"tm-close-tiddler\" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class=\"tc-btn-invisible tc-btn-mini tc-small-gap-right\">{{$:/core/images/close-button}}</$button><$link to={{!!title}}><$transclude field=\"fr-title\"><$view field=\"title\"/></$transclude></$link>\"\"\"/>\n</div>\n</$list>\n<$tiddler tiddler=\"\">\n<div>\n<$macrocall $name=\"droppable-item\" button=\"\"\"<$button message=\"tm-close-all-tiddlers\" class=\"tc-btn-invisible tc-btn-mini\"><<lingo Button>></$button>\"\"\"/>\n</div>\n</$tiddler>\n</div>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/system/$__core_ui_TagPickerTagTemplate.tid",
    "content": "created: 20220830194301860\nmodified: 20220830194658750\ntitle: $:/core/ui/TagPickerTagTemplate\n\n\\whitespace trim\n<$button class=<<button-classes>> tag=\"a\" tooltip={{$:/language/EditTemplate/Tags/Add/Button/Hint}}>\n<$list filter=\"[<saveTiddler>minlength[1]]\">\n<$action-listops $tiddler=<<saveTiddler>> $field=<<tagField>> $subfilter=\"[<tag>]\"/>\n</$list>\n<$set name=\"currentTiddlerCSSEscaped\" value={{{ [<saveTiddler>escapecss[]] }}}>\n<$action-sendmessage $message=\"tm-focus-selector\" $param=<<get-tagpicker-focus-selector>> preventScroll=\"true\"/>\n</$set>\n<<delete-tag-state-tiddlers>>\n<$list filter=\"[<refreshTitle>minlength[1]]\">\n<$action-setfield $tiddler=<<refreshTitle>> text=\"yes\"/>\n</$list>\n<<actions>>\n<$set name=\"backgroundColor\" value={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerColourFilter]!is[draft]get[text]] }}}>\n<$wikify name=\"foregroundColor\" text=\"\"\"<$macrocall $name=\"contrastcolour\" target=<<backgroundColor>> fallbackTarget=<<fallbackTarget>> colourA=<<colourA>> colourB=<<colourB>>/>\"\"\">\n<span class=\"tc-tag-label tc-btn-invisible\" style=<<tag-pill-styles>>>\n{{||$:/core/ui/TiddlerIcon}}<$view field=\"fr-title\" format=\"text\"><$view field=\"title\" format=\"text\"/></$view>\n</span>\n</$wikify>\n</$set>\n</$button>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/system/$__editions_fr-FR_util-macros.tid",
    "content": "created: 20141108184809586\nmodified: 20220419215154259\ntags: $:/tags/Macro\ntitle: $:/editions/fr-FR/util-macros\ntype: text/vnd.tiddlywiki\n\n\\define tw() //~TiddlyWiki//\n\\define latex() <span class=\"latex\">L<sup>a</sup>T<sub>e</sub>X</span>\n\\define dp()\n&#160;:<!-- NO-BREAK SPACE Unicode: U+00A0, UTF-8: C2 A0, ISO-8859-1: A0 -->\n\\end\n\\define :()\n&#160;:<!-- NO-BREAK SPACE Unicode: U+00A0, UTF-8: C2 A0, ISO-8859-1: A0 -->\n\\end\n\\define pv()\n&#160;;<!-- NO-BREAK SPACE Unicode: U+00A0, UTF-8: C2 A0, ISO-8859-1: A0 -->\n\\end\n\\define ;()\n&#160;;<!-- NO-BREAK SPACE Unicode: U+00A0, UTF-8: C2 A0, ISO-8859-1: A0 -->\n\\end\n\\define pi()\n&#160;?<!-- NO-BREAK SPACE Unicode: U+00A0, UTF-8: C2 A0, ISO-8859-1: A0 -->\n\\end\n\\define ?()\n&#160;?<!-- NO-BREAK SPACE Unicode: U+00A0, UTF-8: C2 A0, ISO-8859-1: A0 -->\n\\end\n\\define pe()\n&#160;!<!-- NO-BREAK SPACE Unicode: U+00A0, UTF-8: C2 A0, ISO-8859-1: A0 -->\n\\end\n\\define !()\n&#160;!<!-- NO-BREAK SPACE Unicode: U+00A0, UTF-8: C2 A0, ISO-8859-1: A0 -->\n\\end\n\\define gf(text) \n<!-- NO-BREAK SPACE Unicode: U+00A0, UTF-8: C2 A0, ISO-8859-1: A0 -->\n«&#160;$text$&#160;»\n\\end\n\\define fr(cible) <$link to=\"\"\"$cible$\"\"\"><$view tiddler=\"\"\"$cible$\"\"\" field=\"fr-title\">{{$cible$!!title}}</$view></$link>\n\n<pre><$view field=\"text\"/></pre>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/system/$__editions_tw5.com_wikitext-macros.tid",
    "content": "created: 20150531155638729\nmodified: 20220417224935943\ntags: $:/tags/Macro\ntitle: $:/editions/tw5.com/wikitext-macros\ntype: text/vnd.tiddlywiki\n\n\\define wikitext-example(src)\n<div class=\"doc-example\">\n\n<$macrocall $name=\"copy-to-clipboard-above-right\" src=<<__src__>>/>\n\n```\n$src$\n```\n\nAffichera ceci&nbsp;:\n\n$$$text/vnd.tiddlywiki\n$src$\n$$$\n\nCode HTML correspondant&nbsp;:\n\n$$$text/vnd.tiddlywiki>text/html\n$src$\n$$$\n</div>\n\\end\n\n\\define wikitext-example-without-html(src)\n<div class=\"doc-example\">\n\n<$macrocall $name=\"copy-to-clipboard-above-right\" src=<<__src__>>/>\n\n```\n$src$\n```\n\nAffichera ceci&nbsp;:\n\n$$$text/vnd.tiddlywiki\n$src$\n$$$\n</div>\n\\end\n\n\\define wikitext-example-table-header() <thead><tr><th/><th>ce [[WikiTexte|WikiText]]</th><th>affichera ceci</th></tr></thead>\n\n\\define wikitext-example-table-row(id, code)\n <tr>\n<th><<__id__>></th><td><$codeblock code=<<__code__>>/></td><td>\n\n<<__code__>>\n</td>\n</tr>\n\\end\n\n\\define tw-code(tiddler)\n<$codeblock language={{$tiddler$!!type}} code={{$tiddler$}}/>\n\\end\n\n\\define tw-code-link(tiddler)\n[[$tiddler$]]&nbsp;:\n\n<<tw-code $tiddler$>>\n\\end\n\n<pre><$view field=\"text\"/></pre>"
  },
  {
    "path": "editions/fr-FR/tiddlers/system/download-empty-button.tid",
    "content": "title: $:/editions/fr-FR/snippets/download-empty-button\n\n<$button class=\"tc-btn-big-green\">\n<$action-sendmessage $message=\"tm-download-file\" $param=\"$:/editions/fr-FR/download-empty\" filename=\"empty_fr.html\"/>\nTélécharger un wiki vide {{$:/core/images/save-button}}\n</$button>"
  },
  {
    "path": "editions/fr-FR/tiddlers/system/download-empty.tid",
    "content": "title: $:/editions/fr-FR/download-empty\ntype: text/vnd.tiddlywiki\n\n\\define saveTiddlerFilter()\n[[$:/core]] [[$:/isEncrypted]] [[$:/themes/tiddlywiki/snowwhite]] [[$:/themes/tiddlywiki/vanilla]] [[$:/languages/fr-FR]] [[$:/language]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] -[has[plugin-type]field:platform[server]] +[sort[title]]\n\\end\n\\define savingEmpty()\nyes\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/system/language.tid",
    "content": "title: $:/language\n\n$:/languages/fr-FR"
  },
  {
    "path": "editions/fr-FR/tiddlers/system/tw5.com-card-template.tid",
    "content": "created: 20200507002521489\nmodified: 20220402105820520\ntags: \ntitle: $:/_tw5.com-card-template\ntype: text/vnd.tiddlywiki\n\n\\define tw-card-template(bordercolor:\"\")\n<div class=\"tc-card\" style=\"border-top: 5px solid $bordercolor$;\">\n<$link>\n        <div class=\"tc-card-title\"><$transclude field=\"caption\"><$view field=\"title\"/></$transclude></div>\n       <div class=\"tc-card-author\"> <$list filter=\"[is[current]has[community-author]]\">par {{!!community-author}}</$list></div>\n        <p><$view field=\"description\"/></p>\n </$link>\n</div>\n\\end\n\n<$macrocall $name=\"tw-card-template\" bordercolor={{!!color}}/>"
  },
  {
    "path": "editions/fr-FR/tiddlers/task.tid",
    "content": "color: #8d9ac3\ncreated: 20130825213200000\nlist: [[Make the beds]]\nmodified: 20160602061511598\ntitle: task\n\n//Il s'agit de tâches pour l'[[exemple de gestion de tâches|TaskManagementExample]]//\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/tiddlydesktop/TiddlyDesktop_Releases.tid",
    "content": "caption: ~TiddlyDesktop\ncreated: 20150419144649101\nfr-title: Versions de TiddlyDesktop\nmodified: 20220402105820520\ntags: Releases\ntitle: TiddlyDesktop Releases\ntype: text/vnd.tiddlywiki\n\nLa dernière version de TiddlyDesktop est disponible sur https://github.com/TiddlyWiki/TiddlyDesktop/releases/latest, et vous pouvez consulter la [[liste de toutes les versions|https://github.com/TiddlyWiki/TiddlyDesktop/releases]].\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/widgets/TranscludeWidget.tid",
    "content": "caption: transclude\ncreated: 20130824142500000\nfr-title: Widget Transclude\nmodified: 20220418115006451\ntags: Widgets\ntitle: TranscludeWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nLe Widget Transclude importe dynamiquement le contenu d'un autre tiddler.\n\n! Attributs\n\n|!Attribut |!Description |\n|tiddler |Le titre du tiddler à transclure (par défaut le tiddler courant) |\n|field |Le nom du champ du tiddler (par défaut \"text\"<<;>> si présent, a priorité sur l'attribut index) |\n|index |L'index d'une propriété d'un [[Tiddler Data|DataTiddlers]] |\n|subtiddler |Titre optionnel d'un sous-tiddler quand le tiddler cible est un [[plugin|Plugins]] (voir infra) |\n|mode |Force le mode d'analyse du texte transclus à \"block\" ou à \"inline\" (voir infra) |\n\nLe Widget Transclude traite son propre contenu comme cible par défaut si la cible de transclusion n'est pas complètement définie (ex<<:>> un tiddler ou un champ manquant)\n\n! Modes d'analyse\n\n<<tw>> analyse le <<fr WikiText>> dans [[deux modes|WikiText Parser Modes]]<<:>>\n\n* le [[mode « en ligne »|Inline Mode WikiText]] (//inline//) reconnaît les formats de ''caractères'', tels que l'emphase, les liens\n* le [[mode « bloc »|Block Mode WikiText]] (//block//) reconnaît tous les formats ''en ligne'', et ajoute les formats de ''blocs'' comme les tableaux, les listes et les titres\n\nHabituellement, le mode bloc ou en ligne est déduit automatiquement du mode dans lequel le Widget Transclude lui-même a été analysé. Il peut toutefois être ajusté avec l'attribut `mode`.\n\nPar exemple, considérons un tiddler <<gf \"A\">> avec ce contenu<<:>>\n\n```\n# Article un\n#<$transclude tiddler=\"B\"/>\n# Article deux\n```\n\nEt un tiddler <<gf \"B\">> avec ce contenu<<:>>\n\n```\n# Article un - a\n# Article un - b\n```\n\nLe résultat donnera quelque chose comme<<:>>\n\n# Article un\n# # Article un - a # Article un - b\n# Article deux\n\nCela peut être corrigé en modifiant le tiddler <<gf \"A\">><<:>>\n\n```\n# Article un\n#<$transclude tiddler=\"B\" mode=\"block\"/>\n# Article deux\n```\nVoir aussi ces [[autres exemples|WikiText parser mode: transclusion examples]].\n\n! Accès aux sous-tiddlers\n\nLe Widget Transclude permet l'accès aux tiddlers individuels inclus dans un [[plugin|Plugins]].\n\nL'exemple suivant transclura la version initiale du tiddler noyau [[$:/DefaultTiddlers]] même s'il a été modifié<<:>>\n\n<<wikitext-example-without-html '\n<$transclude tiddler=\"$:/core\" subtiddler=\"$:/DefaultTiddlers\"/>\n\n'>>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/wikitext/Block Quotes in WikiText.tid",
    "content": "caption: Citations en bloc\ncreated: 20131206154636572\nfr-title: Citations en bloc en WikiTexte\nmodified: 20220417214816463\ntags: WikiText\ntitle: Block Quotes in WikiText\ntype: text/vnd.tiddlywiki\n\nIl existe deux manières de produire des éléments HTML de type citation en bloc avec <<tw>>, l'une pour du contenu qui pourra s'afficher sur plusieurs lignes, et l'autre pour du contenu qui ne devra s'afficher que sur une seule ligne.\n\n! Citation en bloc multi-lignes\n\nLa syntaxe pour les blocs multi-lignes est<<:>>\n\n<<wikitext-example src:\"<<<\nCeci est un paragraphe de type citation en bloc\nécrit en français\n<<<\n\">>\n\n!! Attribution\n\nUne attribution peut-être ajoutée au bloc comme ceci<<:>>\n\n<<wikitext-example src:\"<<<\nLes ordinateurs sont des vélos pour nos neurones\n<<< Steve Jobs\n\">>\n\n!! Classes CSS\n\nLes blocs peuvent hériter des propriétés de classes CSS<<:>>\n\n<<wikitext-example src:\"<<<.myClass.another-class\nLes systèmes d'exploitation sont des murs pour notre esprit\n<<< Personne\n\">>\n\nLe cœur de <<tw>> inclut la classe `tc-big-quote` qui représente les citations avec des guillemets géants<<:>>\n\n<<wikitext-example src:\"<<<.tc-big-quote\nUne citation dramatique\n<<< Quelqu'un d'important\n\">>\n\n! Bloc uniligne\n\nLa syntaxe des citations uniligne est une extension de la syntaxe des [[listes avec WikiText|Lists in WikiText]]. Par exemple<<:>>\n\n<<wikitext-example src:\"> Bloc de citation uniligne\n> Un autre bloc uniligne\n\">>\n\nVous pouvez imbriquer des blocs unilignes comme ceci<<:>>\n\n```\n> Un bloc de niveau 1\n>> Un bloc de niveau 2\n> Un autre bloc de niveau 1\n\">>\n```\n\nCe qui affichera<<:>>\n\n> Un bloc de niveau 1\n>> Un bloc de niveau 2\n> Un autre bloc de niveau 1\n\nVous pouvez aussi mixer les citations en bloc avec d'autres types de listes. Par exemple<<:>>\n\n<<wikitext-example src:\"* Liste une\n** Liste deux\n**> Un bloc uniligne\n**> Un autre bloc uniligne\n* Liste trois\n\">>\n\n!! Pour aller plus loin\n* les [[blocs en HTML5|http://www.alsacreations.com/tuto/lire/530-La-structure-des-balises-bloc-et-en-ligne.html]]\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/wikitext/Code Blocks in WikiText.tid",
    "content": "caption: Blocs de code\ncreated: 20141016143834720\nfr-title: Blocs de code en WikiTexte\nmodified: 20220420233001221\ntags: WikiText\ntitle: Code Blocks in WikiText\ntype: text/vnd.tiddlywiki\n\nUn bloc de code (<<.icon $:/core/images/mono-block>>) est délimité par trois caractères <<gf \"accent grave\">> <code>&#96;&#96;&#96;</code> (connus en anglais sous le nom de <<gf \"backticks\">>)<<:>>\n\n<pre>\n&#96;&#96;&#96;\nCe texte aura une chasse fixe et ne sera pas &#96;formaté&#96;.\n&#96;&#96;&#96;\n</pre>\n\nDonnera le résultat suivant<<:>>\n\n```\nCe texte aura une chasse fixe et ne sera pas `formaté`.\n```\n\nPour être interprétés correctement, les trois accents graves doivent être placés au début d'une ligne et immédiatement suivis d'un retour à la ligne.\n\nSouvenez-vous que le paragraphe précédent doit s'être terminé correctement, à l'aide de deux retours à la ligne. L'exemple suivant est donc ''faux''<<:>>\n\n<pre>\nCeci est un paragraphe ordinaire.\n&#96;&#96;&#96;\nCe texte aura une chasse fixe et ne sera pas &#96;formaté&#96;.\n&#96;&#96;&#96;\n</pre>\n\nLa version correcte est<<:>>\n\n<pre>\nCeci est un paragraphe ordinaire.\n\n&#96;&#96;&#96;\nCe texte aura une chasse fixe et ne sera pas &#96;formaté&#96;.\n&#96;&#96;&#96;\n</pre>\n\nCertains claviers traitent l'accent grave comme une [[touche morte|http://fr.wikipedia.org/wiki/Touche_morte]], le rendant difficile à saisir tout seul. L'astuce consiste à saisir 3 <code>&#96;</code> suivis d'un espace. Une autre méthode consiste à saisir 6 <code>&#96;</code> d'affilée, puis de bouger le curseur en arrière trois fois pour saisir ou coller le contenu du bloc.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/wikitext/Dashes in WikiText.tid",
    "content": "caption: Tirets\ncreated: 20141016153634338\nfr-title: Tirets en WikiTexte\nmodified: 20220422135611636\ntags: WikiText\ntitle: Dashes in WikiText\ntype: text/vnd.tiddlywiki\n\nEn <<fr WikiText>>, les [[tirets|Tirets]] se font avec :\n\n* deux caractères \"moins\" `--` pour le tiret moyen ou semi-cadratin : --\n* trois caractères \"moins\" `---` pour le tiret long ou cadratin : ---\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/wikitext/Definitions in WikiText.tid",
    "content": "caption: Définitions\ncreated: 20131205160424246\nfr-title: Définitions en WikiTexte\nmodified: 20220422000443083\ntags: WikiText\ntitle: Definitions in WikiText\ntype: text/vnd.tiddlywiki\n\nLes définitions utilisables en HTML sont créées en utilisant successivement `;` et `:`&nbsp;:\n\n<<wikitext-example src:\"; Terme à définir\n: Définition du terme\n; Un autre terme\n: Une autre définition\n\">>"
  },
  {
    "path": "editions/fr-FR/tiddlers/wikitext/Formatting in WikiText.tid",
    "content": "caption: Formatage\ncreated: 20141016142259705\nfr-title: Mise en forme en WikiTexte\nmodified: 20220420234926288\ntags: WikiText\ntitle: Formatting in WikiText\ntype: text/vnd.tiddlywiki\n\nVoici les formats de caractères disponibles en <<fr WikiText>><<:>>\n\n|Format |Résultat |Icône |h\n|<code>&#96;code&#96;</code><br><code>&#96;&#96;code contenant du &#96;code&#96; &#96;&#96;</code> |`code`<br>``code contenant du `code` `` |<<.icon $:/core/images/mono-line>> |\n|`''gras''` |texte en ''gras'' |<<.icon $:/core/images/bold>> |\n|`//italique//` |texte en //italique// |<<.icon $:/core/images/italic>> |\n|`__souligné__` |texte __souligné__ |<<.icon $:/core/images/underline>> |\n|`~~barré~~` |texte ~~barré~~ |<<.icon $:/core/images/strikethrough>> |\n|`^^exposant^^` |texte en ^^exposant^^ |<<.icon $:/core/images/superscript>> |\n|`,,indice,,` |texte en ,,indice,, |<<.icon $:/core/images/subscript>> |\n\nVoir aussi<<:>> <<fr \"Code Blocks in WikiText\">>\n\n<<.tip \"\"\"Dans l'exemple de <code>&#96;&#96;code contenant du &#96;code&#96; &#96;&#96;</code>, notez qu'à la fin, l'espace entre le <code>&#96;</code> et les <code>&#96;&#96;</code> est obligatoire.\"\"\">>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/wikitext/Hard Linebreaks in WikiText.tid",
    "content": "caption: Fins de lignes forcées\ncreated: 20141017123553069\nfr-title: Fins de lignes forcées en WikiTexte\nmodified: 20220422010528643\ntags: WikiText\ntitle: Hard Linebreaks in WikiText\ntype: text/vnd.tiddlywiki\n\nLe traitement habituel des [[paragraphes en WikiTexte|Paragraphs in WikiText]] implique que les retours à la ligne simples sont ignorés, tandis que deux retours à la ligne sont interprétés comme la fin d'un paragraphe.\n\nCe comportement n'est pas pratique pour du texte qui intègre des retours à la ligne -- par exemple, pour de la poésie.\n\n! Syntaxe en bloc\n\nUn bloc de contenu délimité par trois caractères \"guillemets doubles\" `\"\"\"` permet d'indiquer que les fins de ligne doivent y être forcées :\n\n<<wikitext-example-without-html '\"\"\"\nCeci est une ligne\net ceci est une nouvelle ligne\ntandis que cela est encore une autre ligne\net ceci est la dernière\n\nexcepté celle-ci\n\"\"\"'>>\n\n; Remarque\n* Contrairement à d'autres syntaxes en bloc, celle-ci ne requière pas que ses marqueurs soient seuls sur une ligne : ils pourraient être placés n'importe où, même au milieu du texte.\n\n! Syntaxe HTML\n\nLes fins de lignes ne devraient pas être forcées dans un texte courant, car cela peut déformer l'affichage sur des terminaux mobiles.\n\nCependant, dans des cas exceptionnels, la balise [[HTML|HTML in WikiText]] `<br>` peut être utilisée pour revenir à la ligne sans créer de nouveau paragraphe :\n\n<<wikitext-example-without-html \"Ceci est une première ligne.<br>\nCeci est une deuxième ligne.<br>Et cela est une troisième ligne.\">>\n\n; Remarque\n* Plusieurs `<br>` d'affilée permettent de créer artificiellement un espacement de plusieurs lignes.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/wikitext/Headings in WikiText.tid",
    "content": "caption: Titres de rubriques\ncreated: 20141017093039992\nfr-title: Titres de rubriques en WikiTexte\nmodified: 20220422010744063\ntags: WikiText\ntitle: Headings in WikiText\ntype: text/vnd.tiddlywiki\n\nUn titre de rubrique est codé par un à 6 caractères <<gf \"point d'exclamation\">> `!` au début d'une ligne<<:>>\n\n<<wikitext-example-without-html \"! Titre de niveau 1\n!! Titre de niveau 2\n!!! Titre de niveau 3\n!!!! Titre de niveau 4\n!!!!! Titre de niveau 5\n!!!!!! Titre de niveau 6\">>\n\nDes [[styles et des classes CSS|Styles and Classes in WikiText]] peuvent être assignés individuellement aux titres :\n\n<<wikitext-example-without-html \"!! Titre\n!!@@background-color:#00ffff; Titre stylisé@@\n!!.monStyle Titre stylisé avec une classe\">>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/wikitext/Horizontal Rules in WikiText.tid",
    "content": "caption: Ligne horizontale\ncreated: 20141017091105859\nfr-title: Lignes horizontales en WikiTexte\nmodified: 20220421000313978\ntags: WikiText\ntitle: Horizontal Rules in WikiText\ntype: text/vnd.tiddlywiki\n\nVous pouvez insérer une ligne horizontale à l'aide d'une série d'au moins trois tirets tout seuls sur une ligne<<:>>\n\n<<wikitext-example-without-html \"Paragraphe précédent.\n\n---\nParagraphe suivant.\">>\n\n; Remarque\n* La ligne vide avant les `---` est nécessaire pour que la ligne horizontale soit interprétée correctement, et pas comme un [[tiret|Dashes in WikiText]].\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/wikitext/Lists in WikiText.tid",
    "content": "caption: Listes\ncreated: 20131205160257619\nfr-title: Listes en WikiTexte\nmodified: 20220417215924211\ntags: Lists WikiText\ntitle: Lists in WikiText\ntype: text/vnd.tiddlywiki\n\n! Listes à puces\n\nVous pouvez créer des listes à puces à l'aide du caractère `*` (<<.icon $:/core/images/list-bullet>>)<<:>>\n\n<<wikitext-example src:\"* Premier élément d'une liste\n* Deuxième éléments d'un liste\n** Un sous-élément\n* Troisième élément d'une liste\n\">>\n\n! Listes ordonnées\n\nLes listes ordonnées utilisent `#` au lieu de  `*` (<<.icon $:/core/images/list-number>>)<<:>>\n\n<<wikitext-example src:\"# Premier élément\n# Deuxième élément\n# Troisième élément\n\">>\n\nVous pouvez combiner des listes à puces et des listes ordonnées&nbsp;:\n\n<<wikitext-example src:\"* À faire ce jour\n*# Manger\n* À faire faire\n*# Ceci\n*# Cela\n*## Et le reste\n\">>\n\nL'exemple inverse, avec les nombres en premier niveau<<:>>\n\n<<wikitext-example src:\"# À faire ce jour\n#* Manger\n# À faire faire\n#* Ceci\n#* Cela\n#** Et le reste\n\">>\n\n! Les classes CSS\n\nVous pouvez affecter une classe CSS à l'un des membres de la liste en procédant ainsi<<:>>\n\n<<wikitext-example src:\"* Liste Un\n*.MaClasse Liste Deux\n* Liste Trois\n\">>\n\n! Combiner listes et citations en blocs\n\nNoter que les <<fr \"Block Quotes in WikiText\">> peuvent être combinées aux listes. Par exemple<<:>>\n\n<<wikitext-example src:\"* Liste Une \n** Liste deux\n**> Un bloc\n**> Un autre bloc\n* Liste trois\n\">>\n\n! Les paragraphes dans les listes\n\nLes entrées d'une liste sont séparées par des sauts de ligne, rendant impossible d'y inclure des sauts de lignes sans passer à l'entrée suivante. Deux contournements sont possibles.\n\nEn un, vous pouvez transclure dans le paragraphe le contenu d'un autre tiddler. Par exemple<<:>>\n\n```\n* Première entrée\n* <$transclude tiddler=\"MonTiddler\" mode=\"block\"/>\n* Troisième\n```\n\nEn deux, vous pouvez utiliser la balise HTML \"div\" pour inclure un contenu multiligne. Par exemple<<:>>\n\n```\n# Étape 1\n# Étape 2\n# Étape 3<div>\n\nIci, le premier parmi plusieurs paragraphes. Notez que le double saut de ligne précédant ce paragraphe est pris en compte.\n\nEt ici, le deuxième parmi plusieurs paragraphes.\n</div>\n# Étape 4\n# Étape 5\n# Étape 6\n```\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/wikitext/Macro Calls in WikiText.tid",
    "content": "caption: Appel de Macro\ncreated: 20150220182252000\nfr-title: Appel de macro en WikiTexte\nmodified: 20220422225844802\ntags: WikiText\ntitle: Macro Calls in WikiText\ntype: text/vnd.tiddlywiki\n\nPour appeler une [[macro|Macros]], placez des `<<`doubles parenthèses en équerre`>>` autour de son nom et des valeurs de ses paramètres. ex<<:>> `<<maMacro val1 val2 ... valn>>`\n\nPar défaut, les paramètres sont passés dans l'ordre fixé lors de la définition de la macro. Un paramètre peut être identifié par son nom, pour plus de clarté ou pour pouvoir les utiliser dans le désordre.\n\nSi aucune valeur n'est fournie pour un paramètre, la valeur par défaut fixée lors de la définition de la macro est utilisée (si aucune valeur par défaut n'est définie, le paramètre est tout simplement vide).\n\nChaque valeur de paramètre peut être délimitée par des `'`simples cotes`'`, des `\"`doubles cotes`\"`,  des `\"\"\"`doubles cotes triplées`\"\"\"` ou des  `[[`doubles crochets`]]`. Les doubles cotes triplées permettent de passer à peu près toutes les valeurs. Si une valeur ne contient ni espace, ni simple ou double cotes, les délimiteurs sont inutiles.\n\nUne [[description|Macro Call Syntax]] plus formelle de cette syntaxe est aussi disponible.\n\nCette syntaxe est une forme abrégée du widget <<.wlink MacroCallWidget>>. Le widget en lui-même permet une plus grande flexibilité, incluant la capacité de [[transclure|Transclusion]] des valeurs de paramètres ou de les générer via des macros additionnelles.\n\nComme les macros sont de simples [[variables|Variables]] paramétrées, des valeurs de variables peuvent être insérées en faisant appel aux mêmes techniques.\n\n[[Des exemples|Macro Calls in WikiText (Examples)]] et [[d'autres exemples|WikiText parser mode: macro examples]] sont à votre disposition.\n\n!! Paramètres nommés ou anonymes\n\nEn <<fr WikiText>>, nommer les paramètres lors de l'appel aux macros est toujours le choix le plus sûr par rapport à l'utilisation de valeurs anonymes. Ne pas utiliser le nom des paramètres peut avoir des effets indésirables perturbants. Imaginez par exemple que le premier paramètre d'une macro serve à spécifier le nom d'un [[tiddler d'état|StateMechanism]], et que le second soit destiné à préciser un [[tiddler gabarit|Transclusion with Templates]]. Si vous deviez par mégarde oublier de définir la valeur du premier paramètre ou vous tromper dans l'ordre des paramètres, au prochain appel de la macro (qui pourrait même avoir lieu en prévisualisant votre tiddler) votre gabarit pourrait être malencontreusement écrasé avec le contenu destiné au tiddler d'état.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/wikitext/Paragraphs in WikiText.tid",
    "content": "caption: Paragraphes\ncreated: 20141017122121853\nfr-title: Paragraphes en WikiTexte\nmodified: 20220422011108016\ntags: WikiText\ntitle: Paragraphs in WikiText\ntype: text/vnd.tiddlywiki\n\nPour marquer la fin d'un paragraphe, il faut appuyer deux fois sur la touche `Entrée` pour créer deux retours à la ligne<<:>>\n\n<<wikitext-example-without-html \"Ceci est un premier paragraphe.\n\nEt ceci est un deuxième paragraphe.\">>\n\n; Remarque\n* Peu importe le nombre de retours à la lignes supplémentaires, l'espacement entre les paragraphes reste le même.\n\nAu sein d'un paragraphe, un retour à la ligne seul est ignoré<<:>>\n\n<<wikitext-example-without-html \"Ceci est un\nparagraphe constitué\nde plusieurs\nlignes courtes.\">>\n\nPour les situations où ce comportement n'est pas pratique, voir aussi<<:>> <<fr \"Hard Linebreaks in WikiText\">>.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/wikitext/Tables in WikiText.tid",
    "content": "caption: Tableaux\ncreated: 20130914132100000\nfr-title: Tableaux en WikiTexte\nmodified: 20220422134839855\ntags: WikiText\ntitle: Tables in WikiText\ntype: text/vnd.tiddlywiki\n\n! Concepts de base\n\nTiddlyWiki5 forme les tableaux au moyen du signe barre verticale `|`, de cette façon<<:>>\n\n```\n|!Cell1 |!Cell2 |\n|Cell3 |Cell4 |\n```\n\nLe point d'exclamation marque les cellules d'entête<<:>>\n\n|!Cell1 |!Cell2 |\n|Cell3 |Cell4 |\n\n! L'alignement horizontal\n\nL’alignement horizontal des cellules du tableau est contrôlé par l'insertion d'un espace avant/après le contenu de la cellule. Par exemple:\n\n<<wikitext-example-without-html \n\"\"\"|Contenu aligné à gauche |\n| Contenu aligné à droite|\n| Contenu centré |\n|+++ Une très grande cellule pour vous montrer l'alignement dans la colonne +++|\"\"\">>\n\n! L'alignement vertical\n\nL’alignement vertical des cellules du tableau est contrôlé par l'insertion, comme premier caractère de la cellule, soit d'un `^` pour un alignement en haut ou un `,` pour un alignement en bas. La combinaison avec l'alignement horizontal reste valable.\n\nExemple<<:>>\n\n<<wikitext-example-without-html \n\"\"\"| ::<br>:: |^haut gauche |^ haut centré |^ haut droit|\n| ::<br>::<br>:: |milieu gauche | milieu centré | milieu droit|\n| ::<br>::|,bas gauche |, bas centré |, bas droit|\"\"\">>\n\nSi vous voulez afficher un `^`ou un `,` comme premier caractère d'une cellule alignée à gauche, vous devez utiliser la technique de l'<<gf \"échappement html\">>. Voir, à ce sujet<<:>> <<fr \"Formatting in WikiText\">>.\n\n| `^` | &amp;#94; |\n| `,` | &amp;#44; |\n\n! La fusion des cellules\n\nPour fusionner le contenu de la cellule située au dessus utiliser `~`. Pour fusionner avec celle de gauche `<` et `>` pour celle de droite. Par exemple<<:>>\n\n<<wikitext-example-without-html \n\"\"\"|Cell1 |Cell2 |Cell3 |Cell4 |\n|Cell5 |Cell6 |Cell7 |<|\n|Cell5 |~|Cell7 |Cell8 |\n|>|Cell9 |Cell10 |Cell11 |\"\"\">>\n\n! Classes de tableau, légendes, en-têtes et pieds de tableau\n\nDes classes CSS, des légendes, des en-têtes et pieds de tableau peuvent être spécifiés comme pseudo-lignes spéciales<<:>>\n\n<<wikitext-example-without-html \n\"\"\"|maclasse autreClass|k\n|Ceci est une légende |c\n|Cell1 |Cell2 |\n|Cell3 |Cell4 |\n|Entête|Entête|h\n|Pied|Pied|f\"\"\">>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/wikitext/Transclusion and Substitution.tid",
    "content": "created: 20141018090608643\nfr-title: Transclusion et substitution\nmodified: 20220419002739469\ntags: WikiText\ntitle: Transclusion and Substitution\ntype: text/vnd.tiddlywiki\n\nLa puissance du <<fr WikiText>> vient de sa capacité à utiliser le contenu d'un tiddler dans un autre. Cette capacité prend plusieurs formes qu'on peut facilement confondre.\n\nLa principale différence réside entre la transclusion et la substitution de texte<<:>>\n\n* Une transclusion est remplacée dynamiquement avec l'une ou l'autre de ces valeurs<<:>>\n** un champ de tiddler\n** une variable\n* Une substitution de texte est réalisée dans le texte de la définition de la macro avant son utilisation.\n\n! Transclusion de champ de tiddler\n\n<<fr \"Transclusion in WikiText\">> décrit les bases de la transclusion. Par exemple<<:>>\n\n```\n{{MonTiddler}}\n```\n\nComme décrit dans <<fr \"HTML in WikiText\">>, vous pouvez aussi transclure des valeurs de champs de tiddlers dans des attributs de balises HTML et de widgets. Par exemple<<:>>\n\n```\n<$text text={{MonTiddler}}/>\n```\n\nComme décrit dans <<fr \"Introduction to filter notation\">>, vous pouvez aussi transclure des valeurs de champs de tiddlers dans des opérandes de filtres. Par exemple<<:>>\n\n```\n{{{ [tag{TiddlerContenantMonTag}] }}}\n```\n\n! Transclusion de variable/macro\n\nLes définitions de variables qui comportent des paramètres ou des substitutions sont nommées des <<gf macros>>. Vous pouvez transclure la valeur d'une variable/macro grâce à la syntaxe<<:>>\n\n```\n<<maMacro param:\"Valeur d'attribut\">>\n```\n\nComme décrit dans <<fr \"HTML in WikiText\">>, vous pouvez aussi transclure des valeurs de variables dans des attributs de balises HTML et de widgets. Par exemple<<:>>\n\n```\n<$text text=<<myMacro>>/>\n```\n\nComme décrit dans <<fr \"Introduction to filter notation\">>, vous pouvez aussi transclure des valeurs de variables dans des opérandes de filtres. Par exemple<<:>>\n\n```\n{{{ [tag<maMacro>] }}}\n```\n\n! Substitution de texte\n\nLa substitution de texte a lieu quand la valeur d'une macro/variable est utilisée. Ce mécanisme est décrit dans <<fr \"Macros in WikiText\">>.\n\nLa différence principale entre la substitution et la transclusion est que la substitution a lieu ''avant'' l'analyse du <<fr WikiText>>, ce qui signifie que vous pouvez utiliser la substitution pour construire des assemblages de <<fr WikiText>>. Au contraire, les transclusions sont traitées indépendamment et ne peuvent pas être combinées avec du texte adjacent pour construire des assemblages de <<fr WikiText>>.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/wikitext/Transclusion in WikiText.tid",
    "content": "caption: Transclusion\ncreated: 20131205160146648\nfr-title: Transclusion en WikiTexte\nmodified: 20220417223717492\ntags: WikiText\ntitle: Transclusion in WikiText\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nVous pouvez insérer le contenu d'un tiddler dans un autre en utilisant les marques de <<fr Transclusion>><<:>>\n\n* `{{MonTiddler}}` transclut un seul tiddler\n* `{{MonTiddler||TitreDuGabarit}}` affiche un tiddler via un format spécifié par un [[Gabarit de Tiddler|TemplateTiddlers]]\n* `{{||TitreDuGabarit}}` affiche le gabarit spécifié sans altérer le [[Tiddler en cours|currentTiddler Variable]]\n\n!! Transclure les Références de Texte\n\nVous pouvez aussi utiliser une [[Référence de Texte|TextReference]] à la place du titre d'un tiddler<<:>>\n\n* `{{MonTiddler!!champ}}` transclut un champ spécifique d'un tiddler quelconque\n* `{{!!champ}}` transclut le champ spécifique du tiddler courant\n* `{{MonTiddler##index}}` transclut une propriété indexée spécifique d'un [[Tiddler Data|DataTiddlers]]\n* `{{##index}}` transclut une propriété indéxée spécifique du [[Tiddler Data|DataTiddlers]] courant\n\n!! Transclusion Filtrée\n\nUne syntaxe similaire peut être mise en œuvre pour transclure une liste de tiddlers définie par un [[filtre|Filters]]<<:>>\n\n```\n{{{ [tag[mécanisme]] }}}\n{{{ [tag[mécanisme]] ||TitreDuGabarit}}}\n```\n\n! Widgets Générés\n\nLa syntaxe de transclusion en <<fr WikiText>> génère un <<fr TiddlerWidget>> enveloppé dans un <<fr TranscludeWidget>>. Par exemple, `{{MonTiddler||MonGabarit!!monChamp}}` génère cette paire de widgets<<:>>\n\n{{MonTiddler||MonGabarit!!monChamp}}\n\n```\n<$tiddler tiddler=\"MonTiddler\">\n<$transclude tiddler=\"MonGabarit\" field=\"monChamp\"/>\n</$tiddler>\n```\n\nVoir Aussi&nbsp;:\n\n* <<fr \"Transclusion Basic Usage\">>\n* <<fr \"Transclusion with Templates\">>\n* <<fr \"TemplateTiddlers\">>\n* <<fr \"TranscludeWidget\">>\n* <<fr \"Transclusion and Substitution\">>\n* <<fr \"WikiText parser mode: transclusion examples\">>"
  },
  {
    "path": "editions/fr-FR/tiddlers/wikitext/Transclusion with Templates.tid",
    "content": "caption: Par Gabarits\ncreated: 20141129210304238\nfr-title: Transclusion par gabarits\nmodified: 20220417224336239\ntags: [[Transclusion in WikiText]]\ntitle: Transclusion with Templates\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nDans [[Transclusion, utilisation basique|Transclusion Basic Usage]] nous avons découvert comment inclure le contenu d'un tiddler A dans un tiddler B. Alors, supposons que le tiddler A contienne<<:>>\n\n```\n\n@@background-color:yellow;\nSalut, mon titre est {{!!title}}\n@@\n```\n\nCeci fait afficher au tiddler A son titre sur fond jaune (voir [[Les styles et les classes avec WikiText|Styles and Classes in WikiText]] pour les styles CSS). Imaginez que vous vouliez afficher le titre du tiddler B de la même façon. Mais que vous ne souhaitiez pas copier/coller les instructions de style, car vous désirez changer la couleur du fond plus tard et que vous vioulez maintenir une cohérence entre les tiddlers. Cela ressemble à un cas typique de transclusion, aussi essayons de transclure le tiddler A en tiddler B par la voie classique par ``{{A}}``. Vous verriez alors le contenu suivant dans le tiddler B<<:>>\n\n<<<\n@@background-color:yellow;\nSalut, mon fr-titre est {{!!fr-title}}\n@@\n<<<\n\nLe stype est appliqué comme attendu, mais le titre est faux<<:>> nous voulons que ``{{!!title}}`` se réfère au tiddler B, cible, et pas au tiddler A, source.\n\nLa solution est dans l'utilisation d'un //gabarit//. Dans ce cas, le tiddler A, source, est appelé le [[Tiddler Gabarit|TemplateTiddlers]], et est //appliqué// au tiddler B par l'utilisation de la notation ``{{||A}}``. La différence est que toute [[Référence texte|TextReference]] qui ne se réfère pas explicitement à  un tiddler spécifique est affectée au [[tiddler courant|Current Tiddler]], qui est, le tiddler cible. En conséquence, le tiddler B a maintenant l'aspect attendu<<:>>\n\n<<<\n@@background-color:yellow;\nSalut, mon titre est B\n@@\n<<<\n\n! Utilisation\n\nLa Transclusion par gabarit est comparable à un masque<<:>> en supposant que le tiddler source contienne les références génériques (comme les trous des yeux dans un masque), celles-ci seront remplacées par les valeurs des tiddlers cible (comme les yeux d'une personne qui porte le masque).\n\nUn gabarit peut être appliqué à tout tiddler, pas seulement au tiddler en cours,  en utilisant la notation complète ``{{<cible>||<gabarit>}}``. La ``<cible>`` par défaut est le [[tiddler courant|Current Tiddler]] (qui a été utilisé dans l'exemple supra).\n\n! Exemples\n\n!! Un gabarit prédéfini pour un bel affichage des tags\n\nVous pouvez appliquer le gabarit système ``$:/core/ui/TagTemplate`` à un tag pour lui donner le style d'une pilule avec menu déroulant<<:>>\n\n```\n{{Transclusion||$:/core/ui/TagTemplate}}\n```\n\na pour rendu<<:>> {{Transclusion||$:/core/ui/TagTemplate}}\n\nVoir aussi<<:>>\n\n* [[Transclusion grâce à WikiText|Transclusion in WikiText]]\n* [[Transclusion, Utilisation basique|Transclusion Basic Usage]]\n* [[Référence textuelle|TextReference]]\n* [[Tiddlers Gabarit|TemplateTiddlers]]\n* [[Widget Transclude|TranscludeWidget]]\n* [[Tiddler Courant|Current Tiddler]]\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/wikitext/Typed Blocks in WikiText.tid",
    "content": "caption: Blocs typés\ncreated: 20131205161051792\nfr-title: Blocs typés en WikiTexte\nmodified: 20220422133134883\ntags: WikiText\ntitle: Typed Blocks in WikiText\ntype: text/vnd.tiddlywiki\n\nLe <<fr WikiText>> peut inclure des blocs de texte qui seront interprétés selon le type de leur contenu, aussi appelé <<gf \"type MIME\">>. Ces blocs sont déclarés ainsi<<:>>\n\n```\n$$$image/svg+xml\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"150\" height=\"100\">\n  <circle cx=\"100\" cy=\"50\" r=\"40\" stroke=\"black\" stroke-width=\"2\" fill=\"green\" />\n</svg>\n$$$\n```\naffichera ceci<<:>>\n\n$$$image/svg+xml\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"150\" height=\"100\">\n  <circle cx=\"100\" cy=\"50\" r=\"40\" stroke=\"black\" stroke-width=\"2\" fill=\"green\" />\n</svg>\n$$$\n\n\nIl est aussi possible de remplacer la déclaration du type de contenu par l'extension de fichier correspondante. Exemple<<:>>\n\n```\n$$$.svg\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"150\" height=\"100\">\n  <circle cx=\"100\" cy=\"50\" r=\"40\" stroke=\"black\" stroke-width=\"2\" fill=\"red\" />\n</svg>\n$$$\n```\n\naffichera ceci<<:>>\n\n$$$.svg\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"150\" height=\"100\">\n  <circle cx=\"100\" cy=\"50\" r=\"40\" stroke=\"black\" stroke-width=\"2\" fill=\"red\" />\n</svg>\n$$$\n\nLes types inconnus s'afficheront comme du texte brut<<:>>\n\n```\n$$$text/unknown\nDu texte brut, qui ne sera pas //mis en forme//.\n$$$\n```\n\naffichera ceci<<:>>\n\n$$$text/unknown\nDu texte brut, qui ne sera pas //mis en forme//.\n$$$\n\nUn format de rendu peut être indiqué en complément, qui sélectionnera un format différent pour le résultat. Par exemple<<:>>\n\n```\n$$$text/vnd.tiddlywiki>text/html\nCeci est un ''peu'' de wikitext\n$$$\n```\net\n\n```\n$$$text/vnd.tiddlywiki>text/plain\nCeci est un ''peu'' de wikitext\n$$$\n```\n\nafficheront respectivement<<:>>\n\n$$$text/vnd.tiddlywiki>text/html\nCeci est un ''peu'' de wikitext\n$$$\n\net<<:>>\n\n$$$text/vnd.tiddlywiki>text/plain\nCeci est un ''peu'' de wikitext\n$$$"
  },
  {
    "path": "editions/fr-FR/tiddlers/wikitext/Variables in WikiText.tid",
    "content": "caption: Variables\ncreated: 20141002141231992\nfr-title: Les variables en WikiTexte\nmodified: 20220422140804855\ntags: WikiText\ntitle: Variables in WikiText\ntype: text/vnd.tiddlywiki\n\nVoir aussi une [[introduction au concept de variables|Variables]].\n\nPour transclure la valeur d'une variable, utilisez la [[syntaxe d'appel de macro|Macro Calls in WikiText]] sans paramètres. Vous pouvez aussi utiliser un widget <<.wlink MacroCallWidget>>.\n\nLe ''code de définition'' d'une [[macro|Macros]] peut contenir une [[ZoneRéservée|Macro Definitions in WikiText]] `$(nom)$` où la valeur d'une variable remplacera son nom.\n\nLa valeur d'une variable peut être utilisée comme [[paramètre de filtre|Filter Parameter]], ou comme [[attribut de widget|Widgets in WikiText]]. Ce dernier cas prend en charge les paramètres de macro.\n\n!! Exemple<<:>> définition d'une variable\n\n<$macrocall $name=\".example\" n=\"1\"\neg=\"\"\"<$set name=animal value=zèbre>\n<<animal>>\n</$set>\"\"\"/>\n\n!! Exemple<<:>> définition d'une macro\n\nLe pragma `\\define` ci-dessous [[définit une macro|Macros in WikiText]] nommée <<.var tags-of-current-tiddler>>. La macro renvoie la valeur du champ <<.field tags>> du tiddler, et peut être appelé partout dans le tiddler (ou dans tout tiddler qui l'[[importe|ImportVariablesWidget]]).\n\n<$importvariables filter=\"$:/editions/tw5.com/macro-examples/tags-of-current-tiddler\">\n<$codeblock code={{$:/editions/tw5.com/macro-examples/tags-of-current-tiddler}}/>\n<$macrocall $name=\".example\" n=\"2\" eg=\"\"\"Les tags sont<<:>> <<tags-of-current-tiddler>>\"\"\"/>\n</$importvariables>\n\n!! Exemple<<:>> utilisation de variables comme paramètres de filtre\n\nCet exemple utilise l'[[opérateur|Filter Operators]] <<.olink backlinks>> pour lister tous les tiddlers contenant des liens vers celui-ci.\n\n<$macrocall $name=\".example\" n=\"3\" eg=\"\"\"<<list-links filter:\"[<currentTiddler>backlinks[]]\">>\"\"\"/>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/wikitext/Widgets in WikiText.tid",
    "content": "caption: Widgets\ncreated: 20131205160840915\nfr-title: Widgets en WikiTexte\nmodified: 20220422141848039\ntags: WikiText\ntitle: Widgets in WikiText\ntype: text/vnd.tiddlywiki\n\nLes widgets enrichissent les fonctionnalités du <<fr WikiText>>. Ils ont la même syntaxe que les [[éléments HTML|HTML in WikiText]], mais leur nom de balise commence toujours par `$`. Par exemple<<:>>\n\n```\n<$button message=\"tm-close-tiddler\">Fermez Moi !</$button>\n```\n\nNotez que les widgets héritent de toutes les caractéristiques du <<fr \"HTML in WikiText\">><<:>>\n\n* Les attributs des widgets peuvent être spécifiés via<<:>>\n** Des chaînes non-cotées (si elles ne contiennent pas d'espace)\n** Des chaînes cotées par simple `'` ou double `\"` cotes\n** Des chaînes cotées par des doubles cotés triplées `\"\"\"`\n** Des appels de Macro (c-à-d `attr=<<maMacro>>`)\n** Des transclusions (eg, `attr={{MonTiddler!!champ}}`)\n* Le contenu d'un widget est [[analysé|WikiText Parser Modes]] en [[mode en ligne|Inline Mode WikiText]] sauf si la balise d'ouverture est suivie par deux sauts de ligne, ce qui force le [[mode bloc|Block Mode WikiText]].\n** Le [[mode en ligne|Inline Mode WikiText]] signifie que les règles d'analyse en [[mode bloc|Block Mode WikiText]] comme les rubriques, les tables, les listes, ... ne sont pas reconnues.\n\nVoir <<fr \"HTML in WikiText\">> pour plus de détails.\n\nLes widgets disponibles incluent<<:>>\n\n<<list-links \"[tag[Widgets]]\">>\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/wikitext/parser/Block Mode WikiText (Examples).tid",
    "content": "created: 20220115152811251\nfr-title: WikiTexte en mode bloc (exemples)\nmodified: 20220422215120630\ntags: [[Block Mode WikiText]]\ntitle: Block Mode WikiText (Examples)\ntype: text/vnd.tiddlywiki\n\nLes [[paragraphes|Paragraphs in WikiText]] sont la forme la plus courante de <<fr WikiText>>. Il est important de comprendre qu'ils ne se terminent pas avant d'avoir rencontré une ligne vide. Dès qu'un paragraphe commence, l'interpréteur passe en ''mode en ligne''. Jusqu'à ce que cette ligne vide soit rencontrée, les syntaxes de <<fr WikiText>> en ''mode bloc'' sont ignorées<<:>>\n\n<<<\n<<wikitext-example-without-html src:'Voici un paragraphe.\nSeule la syntaxe du __//mode en ligne//__ est reconnue ici.\nLa syntaxe du mode bloc est <b>ignorée</b> entre le début\net la fin du paragraphe (c-à-d la prochaine ligne vide).\nPar exemple :\n* Les listes sont ignorées\n* Tout comme cette ligne horizontale<<:>>\n---\n|les tableaux|sont|ignorés|\n! les titres sont ignorés\n<<<\nles citations multi-lignes sont ignorées\n<<<\n'>>\n<<<\n\nPour que le <<fr WikiText>> en mode bloc soit reconnu, il faut insérer une ligne vide après la ligne <<gf \"Par exemple :\">>. La ligne vide constituera une fin de paragraphe, et l'interpréteur commencera à reconnaître la syntaxe du mode bloc à nouveau. Comme ceci<<:>>\n\n<<<\n<<wikitext-example-without-html src:'Voici un paragraphe.\nSeule la syntaxe du __//mode en ligne//__ est reconnue ici.\nLa syntaxe de mode bloc est <b>ignorée</b> entre le début\net la fin du paragraphe (c-à-d la prochaine ligne vide).\nPar exemple, voici une ligne vide :\n\n* grâce à la ligne vide ci-dessus,\n* les listes fonctionnent\n* Tout comme cette ligne horizontale<<:>>\n---\n|!les tableaux|!fonctionnent|\n|cellule 1| cellule 2|\n! les titres fonctionnent\n<<<\nles citations multi-lignes fonctionnent\n<<<\n; Terme\n: Définition de ce terme\nUn autre paragraphe peut commencer ici, mais il ne finira pas avant une ligne vide.\n'>>\n<<<\n\nÀ part le paragraphe, tous les exemples de <<fr WikiText>> en mode bloc ci-dessus sont écrits une ligne après l'autre sans ligne vide intermédiaire. Ces types de <<fr WikiText>> n'ont pas besoin de ligne vide pour en marquer la fin."
  },
  {
    "path": "editions/fr-FR/tiddlers/wikitext/parser/Block Mode WikiText.tid",
    "content": "caption: analyse en mode bloc\ncreated: 20220110234234616\nfr-title: WikiTexte en mode bloc\nmodified: 20220422210106782\ntags: [[WikiText Parser Modes]]\ntitle: Block Mode WikiText\ntype: text/vnd.tiddlywiki\n\nUne partie du <<fr WikiText>> n'est reconnue que quand l'interpréteur est en mode <<gf \"bloc\">>.\n\nCaractéristiques communes de ce <<fr WikiText>> en mode bloc<<:>>\n\n* Il occupe au moins une ligne entière.\n* Le marqueur de fermeture doit être situé en fin de ligne (dans certains cas la fin de ligne <<.em est>> le marqueur de fermeture)\n\n|!~WikiTexte|!Marqueurs|\n|<<fr \"Block Quotes in WikiText\">> |Les citations multi-lignes sont encadrées par le texte `<<<` tout seul sur sa ligne<<;>> les citations mono-ligne sont aussi possibles.|\n|<<fr \"Code Blocks in WikiText\">>|Les blocs de code sont encadrés par le texte <code>&#96;&#96;&#96;</code> tout seul sur sa ligne.|\n|<<fr \"Definitions in WikiText\">>|Chaque terme est sur sa propre ligne, et chaque définition est sur sa propre ligne.|\n|<<fr \"Hard Linebreaks in WikiText\">>|Encadrées par le texte `\"\"\"` tout seul sur sa ligne.|\n|<<fr \"Headings in WikiText\">>|Lignes complètes commençant par `!`.|\n|<<fr \"Horizontal Rules in WikiText\">>|Une ligne ne contenant que le texte `---`.|\n|<<fr \"Lists in WikiText\">>|Chaque élément de liste est sur sa propre ligne.|\n|<<fr \"Paragraphs in WikiText\">>|Tout autre texte que le marqueur de début d'une des autres expressions <<fr WikiText>> en mode bloc constitue le début d'un paragraphe. Même un marqueur de début d'expression <<fr WikiText>> en mode en ligne constitue le début d'un paragraphe. L’interpréteur inclut toutes les lignes suivantes dans le paragraphe jusqu'à rencontrer une ligne vide.|\n|<<fr \"Styles and Classes in WikiText\">>|Encadrés par des lignes commençant par `@@`.|\n|<<fr \"Tables in WikiText\">>|Chaque ligne du tableau est une ligne de texte qui commence et se termine par `|`.|\n|<<fr \"Typed Blocks in WikiText\">>|Encadrés par des lignes commençant par `$$`.|\n\nLes expressions <<fr WikiText>> ci-dessus ne sont reconnues qu'en ''mode bloc''. Par contre, le texte <<.em contenu>> à l'intérieur sera interprété en ''mode en ligne'' (les <<fr \"Block Quotes in WikiText\">> et les <<fr \"Styles and Classes in WikiText\">> sont les deux expressions pour lesquelles l'interpréteur poursuit l'analyse en ''mode bloc''). L'analyse en ''mode en ligne'' peut amener l'interpréteur à rencontrer un contenu qui le fait [[basculer en mode bloc|WikiText parser mode transitions]].\n\nÀ la fin de la dernière ligne du bloc, l'interpréteur retourne en ''mode bloc''.\n\n<<.tip 'Note: Les [[fins de ligne forcées|Hard Linebreaks in WikiText]] nécessitent une ligne vide supplémentaire après le `\"\"\"` final pour que l&apos;interpréteur retourne en <b>mode bloc</b>.'>>\n\nSi le marqueur de début d'une des expressions de bloc ci-dessus est rencontré alors que l'interpréteur est en ''mode en ligne'', il sera //ignoré// et apparaîtra tel quel dans le résultat.\n\n[[Exemples|Block Mode WikiText (Examples)]]"
  },
  {
    "path": "editions/fr-FR/tiddlers/wikitext/parser/Inline Mode WikiText.tid",
    "content": "caption: mode d'analyse en ligne\ncreated: 20220111000108618\nfr-title: WikiTexte en mode « en ligne »\nmodified: 20220421231003677\ntags: [[WikiText Parser Modes]]\ntitle: Inline Mode WikiText\ntype: text/vnd.tiddlywiki\n\nUne partie du <<fr WikiText>> n'est reconnue que quand l'interpréteur est en mode <<gf \"en ligne\">>.\n\nCes expressions en <<fr WikiText>> n'ont pas besoin d'occuper toute une ligne de texte. Elles n'ont pas besoin non plus de tenir en entier sur une seule ligne, mais <<.em peuvent>> couvrir une ligne complète. De ce fait, plusieurs de ces expressions peuvent apparaître au sein de la même ligne. En d'autres termes, les fins de lignes ne sont pas prises en compte quand l'interpréteur cherche à trouver le début et la fin de ces expressions <<fr WikiText>>. Quand l'interpréteur est en mode <<gf \"en ligne\">>, il reconnaît les syntaxes des expressions <<fr WikiText>> suivantes<<:>>\n\n* <<fr \"Dashes in WikiText\">>\n* <<fr \"Formatting in WikiText\">>\n* <<fr \"HTML in WikiText\">>\n* <<fr \"Images in WikiText\">>\n* <<fr \"Linking in WikiText\">>\n* <<fr \"Macro Calls in WikiText\">>\n* <<fr \"Styles and Classes in WikiText\">> (version mono-ligne seulement)\n* <<fr \"Transclusion in WikiText\">>\n* <<fr \"Variables in WikiText\">>\n* <<fr \"Widgets in WikiText\">>\n\n<<.tip \"\"\"Un [[appel de macro|Macro Calls in WikiText]] ou une  [[transclusion en WikiTexte|Transclusion in WikiText]] sont reconnus en ''mode bloc'' si l'appel de macro ou la transclusion occupent une ligne complète.\"\"\">>\n\n<<.tip \"\"\"Techniquement, les autres expressions <<fr WikiText>> en ''mode en ligne'' ne sont reconnues <<.em que>> quand l'interpréteur est en ''mode en ligne''. Toutefois, leurs balises d'ouverture vont déclencher le début d'un [[paragraphe|Paragraphs in WikiText]], ce qui va automatiquement faire basculer l'interpréteur en ''mode en ligne''. De ce fait, en pratique il est aussi simple de considérer que ces expressions sont reconnues par l'interpréteur aussi bien en ''mode bloc'' qu'en ''mode en ligne''.\"\"\">>\n\nPendant le traitement du texte //inclus// dans certaines de ces expressions <<fr WikiText>>, l'interpréteur [[ignorera les syntaxes WikiTexte|Places where the parser ignores WikiText]]. Mais pour le reste de ces expressions <<fr WikiText>>, l'interpréteur continuera l'analyse en ''mode en ligne'' du texte //inclus//, ce qui peut l'amener à rencontrer un contenu qui le fait [[basculer en mode bloc|WikiText parser mode transitions]].\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/wikitext/parser/Places where the parser ignores WikiText.tid",
    "content": "caption: mode d'analyse ignoré\ncreated: 20220111000929700\nfr-title: Endroits où le WikiTexte est ignoré\nmodified: 20220421200127071\ntags: [[WikiText Parser Modes]]\ntitle: Places where the parser ignores WikiText\ntype: text/vnd.tiddlywiki\n\nLe texte contenu dans les constructions suivantes est survolé par l'interpréteur sans analyse du <<fr WikiText>><<:>>\n\n|<<fr \"Code Blocks in WikiText\">>|L'une des fonctions principales des blocs de code est de supprimer l'analyse du <<fr WikiText>>. Dès que le bloc de code commence l'interpréteur arrête l'analyse du <<fr WikiText>> jusqu'à la fin du bloc.|\n|<<fr \"Images in WikiText\">>|`[[img|texte littéral de lien image]]` - le texte inclus entre crochets est ignoré, ce qui signifie par exemple que ni les [[transclusions|Transclusion in WikiText]] ni les [[appels de macros|Macro Calls in WikiText]] ne peuvent être utilisés pour construire le lien dynamiquement.|\n|<<fr \"Linking in WikiText\">>|`[[cible littérale du lien|intitulé littéral du lien]]` - le texte inclus entre crochets est ignoré, ce qui signifie par exemple que ni les [[transclusions|Transclusion in WikiText]] ni les [[appels de macros|Macro Calls in WikiText]] ne peuvent être utilisés pour construire la cible ou l'intitulé du lien dynamiquement.|\n|<<fr \"Macro Calls in WikiText\">>|`<<maMacro ''pas-en-gras'' \"texte littéral\" \"<<expansion-de-macro-ignorée>>\" {{transclusion-ignorée}}>>` - pour traiter le texte inclus dans un appel de macro, l'interpréteur suit des règles particulières de détection des arguments de macros. Ces règles ne permettent pas d'analyser le <<fr WikiText>>, mais après la substitution des arguments dans la définition de la macro, le résultat est analysé à l'aide des [[règles normales|WikiText Parser Modes]]. Le <<fr WikiText>> sera donc interprété ultérieurement dans le résultat.|\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/wikitext/parser/WikiText Parser Modes.tid",
    "content": "created: 20220110233944530\nfr-title: Modes d'analyse du WikiTexte\nmodified: 20220419233657896\ntags: WikiText\ntitle: WikiText Parser Modes\ntype: text/vnd.tiddlywiki\n\nPour afficher les tiddlers (généralement le champ <<.field text>>), l'interpréteur de <<fr WikiText>> lit et analyse le contenu, et applique les règles de conversion du <<fr WikiText>>. L'interpréteur a trois modes d'analyse<<:>>\n\n* Le ''mode pragma'' - l'analyseur ne reconnaît que la syntaxe [[WikiTexte du mode pragma|Pragma]]\n* Le ''mode bloc'' - l'analyseur ne reconnaît que la syntaxe [[WikiTexte du mode bloc|Block Mode WikiText]]\n* Le ''mode en ligne'' - l'analyseur ne reconnaît que la syntaxe [[WikiTexte du mode en ligne|Inline Mode WikiText]]\n\nL'interpréteur [[bascule entre ces modes d'analyse|WikiText parser mode transitions]] selon le texte qu'il rencontre. De plus, il existe des [[emplacements où le WikiTexte est ignoré|Places where the parser ignores WikiText]].\n\n<<.tip \"\"\"Le concept de modes <<gf bloc>> et <<gf \"en ligne\">> existe aussi pour les éléments HTML standards. En HTML, ces [[deux modes de mise en page|https://www.w3schools.com/html/html_blocks.asp]] ,,(en anglais),, déterminent si le résultat est disposé sur une même ligne ou pas.\n<p>La majorité du <<fr \"Block Mode WikiText\">> correspond aux [[éléments de bloc HTML|https://developer.mozilla.org/fr-FR/docs/Web/HTML/Block-level_elements]], et la majorité du <<fr \"Inline Mode WikiText\">> correspond aux [[éléments en ligne HTML|https://developer.mozilla.org/fr-FR/docs/Web/HTML/Inline_elements]]. Néanmoins, en ~WikiTexte les deux modes sont aussi importants pour déterminer la syntaxe utilisable que pour déterminer la présentation du résultat.</p>\"\"\">>"
  },
  {
    "path": "editions/fr-FR/tiddlers/wikitext/parser/WikiText parser mode HTML examples.tid",
    "content": "created: 20220122153235162\nfr-title: Modes d'analyse du WikiTexte : exemples de HTML\nmodified: 20220422205843467\ntags: [[WikiText parser mode transitions]]\ntitle: WikiText parser mode: HTML examples\ntype: text/vnd.tiddlywiki\n\n<<wikitext-example-without-html \"<div>\n\n* La ligne vide après la balise ouvrante permet\n* aux marqueurs de mode bloc (comme cette liste)\n* d'être reconnus\n</div>\n\">>\n\n---\n\nL'astuce de la ligne vide fonctionne aussi au sein des syntaxes reconnues seulement en mode en ligne (comme <<fr \"Formatting in WikiText\">>)<<:>>\n\n<<wikitext-example-without-html \"''<div>\n\n* premier élément de la liste\n* deuxième élément de la liste\n</div>''\">>\n\n---\n\n<<wikitext-example-without-html \"<div>\n* Une balise ouvrante non suivie d'une ligne vide\n* signifie que la syntaxe en mode bloc (cette liste)\n* ne sera PAS reconnue.\n\nLes paragraphes ne sont reconnus qu'en mode bloc. Même avec des lignes vides, aucun nouveau paragraphe n'est reconnu.\n\nCeci n'est pas un nouveau paragraphe non plus.\n</div>\">>\n\n---\n\nLes <<fr \"Tables in WikiText\">> sont des éléments pour lesquels l'astuce de la ligne vide ne fonctionne pas. Pour que l'interpréteur reconnaisse une ligne de tableau, elle doit remplir exactement une ligne de texte.\n\nAjouter une ligne blanche après une balise ouvrante au sein d'une cellule de tableau répartit la ligne de tableau sur plusieurs lignes de texte, et l'interpréteur ne peut plus reconnaître ce texte en tant que ligne de tableau.\n\n<<wikitext-example-without-html \"|la ligne de tableau|entièrement sur|une ligne de texte|est reconnue|\">>\n\n<<wikitext-example-without-html \"|Avec une ligne vide après une balise ouvrante|<div>\n\n* la liste est reconnue\n* mais pas le tableau autour\n</div>|\">>\n\n---\n\nLe seul moyen de faire reconnaître la syntaxe de [[mode bloc|Block Mode WikiText]] dans des [[tableaux en WikiTexte|Tables in WikiText]] est d'utiliser un widget <<.wlink TranscludeWidget>> avec l'attribut <<.attr mode>>=<<.value block>>.\n\n<<wikitext-example-without-html '|Tableau imbriqué<<:>>|<$transclude tiddler=\"table-example\" mode=block/>|'>>\n\nNotez que le widget <<.wlink MacroCallWidget>> ne dispose pas d'un attribut <<.attr mode>> similaire, et le contenu des définitions de macros ne peut être analysé qu'en [[mode en ligne|Inline Mode WikiText]].\n\n---\n\nBien que moins pratiques, les balises html `<table>`, `<tr>`, `<td>` peuvent être utilisées comme un moyen sûr de faire reconnaître les syntaxes en [[mode bloc|Block Mode WikiText]] à l'intérieur d'un tableau.\n\n<<wikitext-example-without-html \"<table>\n<tr><td>\n\n* premier élément de la liste\n* deuxième élément de la liste\n</td><td>\n\n|tableau|imbriqué|\n</td></tr>\n</table>\">>"
  },
  {
    "path": "editions/fr-FR/tiddlers/wikitext/parser/WikiText parser mode transitions.tid",
    "content": "created: 20220110235808139\nfr-title: Changements de mode d'analyse du WikiTexte\nmodified: 20220421003504381\ntags: [[WikiText Parser Modes]]\ntitle: WikiText parser mode transitions\ntype: text/vnd.tiddlywiki\n\nVoici un diagramme <<.em approximatif>> dont les lignes correspondent globalement aux transitions entre modes d'analyse de l'interpréteur décrites ci-dessous<<:>>\n<$railroad text=\"\"\"\n{<\"mode pragma\" >\n{(\n  {<\"mode en ligne\"> +} |\n  ({<\"mode bloc\">\n    +(\"<<<\" | \"@@\" | \"$$\")\n  }\n  \"autre syntaxe de début de bloc\")\n  {<\"mode en ligne\"> +}\n  )\n  +(\n    \"syntaxe de fin de bloc\" |\n    (\"ligne vide\" \"balise ouvrante html\")\n  )}\n  +(\"widget transclude\" | \"appel de macro\")\n}\n\"\"\"/>\n\n!! Mode de démarrage\n\nPar défaut, l'interpréteur démarre en [[mode bloc|Block Mode WikiText]]. Néanmoins, un tiddler peut être transclus en [[mode en ligne|Inline Mode WikiText]] auquel cas le [[WikiTexte du mode bloc|Block Mode WikiText]] ne sera pas reconnu.\n\nAu début du texte seulement, l'interpréteur reconnaît aussi le [[WikiTexte du mode pragma|Pragma]].\n\n!! Transitions depuis le mode pragma\n\nAu début du texte, l'interpréteur cherche des [[pragmas|Pragma]]. S'il n'en trouve aucun il bascule en [[mode en ligne|Inline Mode WikiText]] ou en [[mode bloc|Block Mode WikiText]], en fonction du mode de transclusion. S'il a trouvé un [[pragma|Pragma]], il continue à en chercher d'autres jusqu'à ce qu'il rencontre une ligne vide non suivie par le début d'un nouveau pragma.\n\n!! Transitions depuis le mode bloc\n\nQuand l'interpréteur rencontre la plupart des syntaxes de début de [[mode bloc|Block Mode WikiText]], il bascule en [[mode en ligne|Inline Mode WikiText]], ce qui signifie que le texte compris entre des balises de début et de fin de [[bloc|Block Mode WikiText]] sera interprété en [[mode en ligne|Inline Mode WikiText]].\n\n<<.tip \"\"\"La <<gf balise>> de début de paragraphe est <<gf invisible>>. Même au sein des paragraphes l'interpréteur bascule en [[mode en ligne|Inline Mode WikiText]].\"\"\">>\n\nIl y a toutefois quelques balises de blocs dont le contenu est interprété en [[mode bloc|Block Mode WikiText]]<<:>>\n\n* Les [[citations multi-lignes|Block Quotes in WikiText]]\n* Les [[styles multi-lignes|Styles and Classes in WikiText]]\n* Les [[blocs typés|Typed Blocks in WikiText]]\n\nPour ces cas particuliers, lorsque la syntaxe de début de bloc est rencontrée, l'interpréteur continue à analyser le texte en [[mode bloc|Block Mode WikiText]].\n\nLes [[lignes horizontales|Horizontal Rules in WikiText]] sont un autre cas particulier<<:>> elles n'incluent pas de texte, donc l'interpréteur n'a pas l'opportunité de basculer en [[mode en ligne|Inline Mode WikiText]].\n\nLes balises d'ouverture de [[widgets|Widgets in WikiText]] ou de [[HTML|HTML in WikiText]] peuvent conduire l'interpréteur à changer de mode. Quand une de ces balises <<.em \"n'est pas\">> suivie d'une ligne vide, le texte compris entre les balises sera interprété en [[mode en ligne|Inline Mode WikiText]]. Voir les [[exemples HTML|WikiText parser mode: HTML examples]].\n\n!! Transitions depuis le mode en ligne\n\n* L'interpréteur retourne en [[mode bloc|Block Mode WikiText]] après la fin d'une ligne qui termine du [[WikiTexte de mode bloc|Block Mode WikiText]]. En d'autres termes, quand la balise de fin de bloc est rencontrée.\n* Quand une balise d'ouverture de [[widget|Widgets in WikiText]] ou de [[HTML|HTML in WikiText]] est suivie d'une ligne vide, le contenu est analysé en [[mode bloc|Block Mode WikiText]]. Voir les [[exemples HTML|WikiText parser mode: HTML examples]].\n* Le texte transclus et le texte substitué via un appel de macro peuvent faire quitter le [[mode en ligne|Inline Mode WikiText]] à l'interpréteur. Voir les [[exemples de transclusions|WikiText parser mode: transclusion examples]] et les  [[exemples de macros|WikiText parser mode: macro examples]] pour plus de détails.\n"
  },
  {
    "path": "editions/fr-FR/tiddlers/wikitext/parser/WikiText parser mode_ macro examples.tid",
    "content": "created: 20220122144742419\nfr-title: Modes d'analyse du WikiTexte : exemples de macros\nmodified: 20220419224009995\ntags: [[WikiText parser mode transitions]]\ntitle: WikiText parser mode: macro examples\ntype: text/vnd.tiddlywiki\n\n\\define tablebanale()\n|cellule une|cellule deux|\n|cellule trois|cellule quatre|\n\\end\nEn utilisant la macro `tablebanale` définie ainsi<<:>>\n<$codeblock code=<<tablebanale>>/>\ndans une transclusion, alors<<:>>\n<table><<wikitext-example-table-header>><tbody>\n<<wikitext-example-table-row 1 \"* <<tablebanale>>\">>\n<<wikitext-example-table-row 2 \"\"\"* <div>\n\n<<tablebanale>>\n</div>\n\"\"\">>\n<<wikitext-example-table-row 3 \"* <$macrocall $name=tablebanale/>\">>\n<<wikitext-example-table-row 4 \"* <$macrocall $name=tablebanale></$macrocall>\">>\n<<wikitext-example-table-row 5 \"\"\"* <$macrocall $name=tablebanale>\n\n</$macrocall>\"\"\">>\n</tbody></table>\n\nDans le code ci-dessus, la syntaxe de liste à puce est reconnue en [[mode bloc|Block Mode WikiText]], puis son contenu est interprété en [[mode en ligne|Inline Mode WikiText]]. Quand l'interpréteur rencontre un [[appel de macro en WikiTexte|Macro Calls in WikiText]] il utilise le mode courant pour analyser le contenu de la macro. La macro d'exemple contient une définition de table qui n'est reconnue qu'en [[mode bloc|Block Mode WikiText]].\n\nDe ce fait, dans la ligne n°1 ci-dessus, la syntaxe de table n'est pas reconnue. Dans la ligne n°2, la ligne vide après la balise `<div>` bascule l'interpréteur en [[mode bloc|Block Mode WikiText]] et le contenu de la macro en hérite, donc la table est reconnue.\n\nEn utilisant le <<fr MacroCallWidget>>, le mode d'analyse reste le mode en ligne (exemples des lignes n°3 et 4 ci-dessus) jusqu'à ce que la balise ouvrante soit suivie d'une ligne vide (exemple n°5 ci-dessus).\n\n<<.tip \"\"\"Voir aussi <<fr \"WikiText parser mode: transclusion examples\">> pour d'autres exemples similaires.\"\"\">>\n\n---\n\nDans les exemples suivants, les appels de macros sont directs, au lieu d'être inclus dans des listes à puces<<:>>\n<table><<wikitext-example-table-header>><tbody>\n<<wikitext-example-table-row 1 \"<<tablebanale>>\">>\n<<wikitext-example-table-row 2 \"\"\"<div>\n\n<<tablebanale>>\n</div>\n\"\"\">>\n<<wikitext-example-table-row 3 \"<$macrocall $name=tablebanale/>\">>\n<<wikitext-example-table-row 4 \"<$macrocall $name=tablebanale></$macrocall>\">>\n<<wikitext-example-table-row 5 \"\"\"<$macrocall $name=tablebanale>\n\n</$macrocall>\"\"\">>\n</tbody></table>\n\nParmi ces exemples, seuls les deux widgets <<.wlink MacroCallWidget>> dont la balise d'ouverture n'est pas suivie d'une ligne vide (lignes n°3 et 4) sont analysés en [[mode en ligne|Inline Mode WikiText]].\n\n<<.tip \"\"\"Voir aussi <<fr \"WikiText parser mode: transclusion examples\">> pour d'autres exemples similaires.\"\"\">>"
  },
  {
    "path": "editions/fr-FR/tiddlers/wikitext/parser/WikiText parser mode_ transclusion examples.tid",
    "content": "created: 20220122145022547\nfr-title: Modes d'analyse du WikiTexte : exemples de transclusions\nmodified: 20220419224014907\ntags: [[WikiText parser mode transitions]]\ntitle: WikiText parser mode: transclusion examples\ntype: text/vnd.tiddlywiki\n\n\nEn utilisant le tiddler  [[table-example]] qui contient<<:>>\n<$codeblock code={{table-example}}/>\ndans une transclusion, alors<<:>>\n<table><<wikitext-example-table-header>><tbody>\n<<wikitext-example-table-row 1 \"* {{table-example}}\">>\n<<wikitext-example-table-row 2 \"\"\"* <div>\n\n{{table-example}}\n</div>\n\"\"\">>\n<<wikitext-example-table-row 3 \"* <$transclude tiddler=table-example/>\">>\n<<wikitext-example-table-row 4 \"* <$transclude tiddler=table-example></$transclude>\">>\n<<wikitext-example-table-row 5 \"\"\"* <$transclude tiddler=table-example>\n\n</$transclude>\"\"\">>\n<<wikitext-example-table-row  6 \"* <$transclude tiddler=table-example mode=block/>\">>\n</tbody></table>\n\nDans le code ci-dessus, la syntaxe de liste à puce est reconnue en [[mode bloc|Block Mode WikiText]], puis son contenu est interprété en [[mode en ligne|Inline Mode WikiText]]. Quand l'interpréteur rencontre une <<fr \"Transclusion in WikiText\">> il utilise le mode courant pour analyser le contenu du tiddler transclus. Le tiddler d'exemple contient une définition de table qui n'est reconnue qu'en [[mode bloc|Block Mode WikiText]].\n\nDe ce fait, dans la ligne n°1 ci-dessus, la syntaxe de table n'est pas reconnue. Dans la ligne n°2, la ligne vide après la balise `<div>` bascule l'interpréteur en [[mode bloc|Block Mode WikiText]] et le contenu transclus en hérite, donc la table est reconnue.\n\nEn utilisant le <<fr TranscludeWidget>>, le mode d'analyse reste le mode en ligne (exemples des lignes n°3 et 4 ci-dessus) jusqu'à ce que la balise ouvrante soit suivie d'une ligne vide (exemple n°5 ci-dessus).\n\n<<.tip \"\"\"Pour voir d'autres exemples similaires, consultez <<fr \"WikiText parser mode: macro examples\">>. La seule différence est qu'ici l'exemple de la ligne n°6 utilise l'attribut <<.attr mode>> du widget <<.wlink TranscludeWidget>> pour forcer explicitement le mode d'analyse plutôt que de de laisser le contenu de la balise le déterminer.\"\"\">>\n\n---\n\nDans les exemples suivants, les transclusions sont directes, au lieu d'être incluses dans des listes à puces<<:>>\n\n<table><<wikitext-example-table-header>><tbody>\n<<wikitext-example-table-row 1 \"{{table-example}}\">>\n<<wikitext-example-table-row 2 \"\"\"<div>\n\n{{table-example}}\n</div>\n\"\"\">>\n<<wikitext-example-table-row 3 \"<$transclude tiddler=table-example/>\">>\n<<wikitext-example-table-row 4 \"<$transclude tiddler=table-example></$transclude>\">>\n<<wikitext-example-table-row 5 \"\"\"<$transclude tiddler=table-example>\n\n</$transclude>\"\"\">>\n<<wikitext-example-table-row  6 \"<$transclude tiddler=table-example mode=inline/>\">>\n</tbody></table>\n\nParmi ces exemples, seuls les deux widgets <<.wlink TranscludeWidget>> dont la balise d'ouverture n'est pas suivie d'une ligne vide ainsi que l'appel qui comporte l'attribut <<.attr mode>>=<<.value inline>> (lignes n°3, 4 et 6) sont analysés en [[mode en ligne|Inline Mode WikiText]].\n\n<<.tip \"\"\"Voir aussi <<fr \"WikiText parser mode: macro examples\">> pour d'autres exemples similaires.\"\"\">>"
  },
  {
    "path": "editions/fr-FR/tiddlers/wikitext/parser/table-example.tid",
    "content": "created: 20220118023452157\nmodified: 20220419184729921\ntags: [[WikiText parser mode transitions (Examples)]]\ntitle: table-example\ntype: text/vnd.tiddlywiki\n\n|cellule une|cellule deux|\n|cellule trois|cellule quatre|"
  },
  {
    "path": "editions/fr-FR/tiddlywiki.info",
    "content": "{\n\t\"description\": \"French (France) edition\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/internals\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\",\n\t\t\"tiddlywiki/starlight\",\n\t\t\"tiddlywiki/seamless\",\n\t\t\"tiddlywiki/centralised\",\n\t\t\"tiddlywiki/tight\",\n\t\t\"tiddlywiki/readonly\"\n\t],\n\t\"languages\": [\n\t\t\"fr-FR\"\n\t],\n\t\"includeWikis\": [\n\t\t{\"path\": \"../tw5.com\", \"read-only\": true}\n\t],\n\t\"build\": {\n\t\t\"index\": [\n\t\t\t\"--savetiddlers\",\"[tag[external-image]]\",\"images\",\n\t\t\t\"--rendertiddlers\",\"[tag[external-text]]\",\"$:/core/templates/tid-tiddler\",\"text\",\"text/plain\",\".tid\",\n\t\t\t\"--setfield\",\"[tag[external-image]]\",\"_canonical_uri\",\"$:/core/templates/canonical-uri-external-image\",\"text/plain\",\n\t\t\t\"--setfield\",\"[tag[external-text]]\",\"_canonical_uri\",\"$:/core/templates/canonical-uri-external-text\",\"text/plain\",\n\t\t\t\"--setfield\",\"[tag[external-image]] [tag[external-text]]\",\"text\",\"\",\"text/plain\",\n\t\t\t\"--rendertiddler\",\"$:/core/save/all\",\"index.html\",\"text/plain\"],\n\t\t\"empty\": [\n\t\t\t\"--rendertiddler\",\"$:/editions/fr-FR/download-empty\",\"empty.html\",\"text/plain\"],\n\t\t\"favicon\": [\n\t\t\t\"--savetiddler\",\"$:/favicon.ico\",\"favicon.ico\",\n\t\t\t\"--savetiddler\",\"$:/green_favicon.ico\",\"static/favicon.ico\"],\n\t\t\"static\": [\n\t\t\t\"--rendertiddler\",\"$:/core/templates/static.template.html\",\"static.html\",\"text/plain\",\n\t\t\t\"--rendertiddler\",\"$:/core/templates/alltiddlers.template.html\",\"alltiddlers.html\",\"text/plain\",\n\t\t\t\"--rendertiddlers\",\"[!is[system]]\",\"$:/core/templates/static.tiddler.html\",\"static\",\"text/plain\",\n\t\t\t\"--rendertiddler\",\"$:/core/templates/static.template.css\",\"static/static.css\",\"text/plain\"]\n\t},\n\t\"config\": {\n\t\t\"retain-original-tiddler-path\": true\n\t}\n}\n"
  },
  {
    "path": "editions/fr-FR-server/tiddlers/config-Navigation-UpdateAddressBar.tid",
    "content": "created: 20140910212049455\ntitle: $:/config/Navigation/UpdateAddressBar\ntype: text/vnd.tiddlywiki\nnote: <!-- TODO: Remove before end of beta -->\n\npermaview"
  },
  {
    "path": "editions/fr-FR-server/tiddlers/config-more-button.tid",
    "content": "created: 20140912140419093\nmodified: 20140912140418015\ntitle: $:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/more-page-actions\ntype: text/vnd.tiddlywiki\nnote: <!-- TODO: Remove before end of beta -->\n\nshow"
  },
  {
    "path": "editions/fr-FR-server/tiddlers/system/favicon.png.meta",
    "content": "title: $:/favicon.ico\ntype: image/png\n"
  },
  {
    "path": "editions/fr-FR-server/tiddlywiki.info",
    "content": "{\n\t\"description\": \"Configuration en mode serveur de l'édition fr-FR\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/tiddlyweb\",\n\t\t\"tiddlywiki/filesystem\",\n\t\t\"tiddlywiki/highlight\",\n\t\t\"tiddlywiki/internals\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\"\n\t],\n\t\"includeWikis\": [\n\t\t\"../fr-FR\"\n\t],\n\t\"config\": {\n\t\t\"retain-original-tiddler-path\": true,\n\t\t\"default-tiddler-location\": \"../fr-FR/tiddlers\"\n\t}\n}\n"
  },
  {
    "path": "editions/full/tiddlers/DefaultTiddlers.tid",
    "content": "created: 20131127215321439\nmodified: 20140912135951542\ntitle: $:/DefaultTiddlers\ntype: text/vnd.tiddlywiki\n\nHelloThere\n"
  },
  {
    "path": "editions/full/tiddlers/HelloThere.tid",
    "content": "title: HelloThere\n\nThe \"full\" edition of TiddlyWiki consists of all the available languages, themes and plugins for TiddlyWiki.\n\nIt is intended for use in testing TiddlyWiki - in particular, for switching between all the available language plugins.\n\n{{$:/language/ControlPanel/Basics/Language/Prompt}} {{$:/snippets/minilanguageswitcher}}\n\n---\n\n{{$:/core/ui/ControlPanel/Plugins}}\n\n"
  },
  {
    "path": "editions/full/tiddlers/Startup-SetLanguage.tid",
    "content": "title: $:/_Startup/SetLanguage\ntags: $:/tags/StartupAction\n\n<$action-setfield $tiddler=\"$:/language\" text={{{ [[$:/languages/en-GB]] [plugin-type[language]sort[description]removeprefix[$:/languages/]] +[prefix{$:/info/browser/language}] ~[[en-GB]] +[addprefix[$:/languages/]] }}}/>\n"
  },
  {
    "path": "editions/full/tiddlywiki.info",
    "content": "{\n\t\"description\": \"Full edition, containing all languages, themes and plugins\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/bibtex\",\n\t\t\"tiddlywiki/browser-sniff\",\n\t\t\"tiddlywiki/browser-storage\",\n\t\t\"tiddlywiki/classictools\",\n\t\t\"tiddlywiki/codemirror\",\n\t\t\"tiddlywiki/comments\",\n\t\t\"tiddlywiki/github-fork-ribbon\",\n\t\t\"tiddlywiki/help\",\n\t\t\"tiddlywiki/highlight\",\n\t\t\"tiddlywiki/innerwiki\",\n\t\t\"tiddlywiki/internals\",\n\t\t\"tiddlywiki/jszip\",\n\t\t\"tiddlywiki/katex\",\n\t\t\"tiddlywiki/markdown\",\n\t\t\"tiddlywiki/powered-by-tiddlywiki\",\n\t\t\"tiddlywiki/qrcode\",\n\t\t\"tiddlywiki/railroad\",\n\t\t\"tiddlywiki/stacked-view\",\n\t\t\"tiddlywiki/text-slicer\",\n\t\t\"tiddlywiki/twitter\",\n\t\t\"tiddlywiki/xlsx-utils\",\n\t\t\"tiddlywiki/sax\",\n\t\t\"tiddlywiki/xmldom\"\n\t],\n\t\"languages\": [\n\t\t\"ar-PS\",\n\t\t\"ca-ES\",\n\t\t\"cs-CZ\",\n\t\t\"da-DK\",\n\t\t\"de-AT\",\n\t\t\"de-DE\",\n\t\t\"el-GR\",\n\t\t\"en-PH\",\n\t\t\"en-US\",\n\t\t\"es-ES\",\n\t\t\"fa-IR\",\n\t\t\"fr-FR\",\n\t\t\"he-IL\",\n\t\t\"hi-IN\",\n\t\t\"ia-IA\",\n\t\t\"it-IT\",\n\t\t\"ja-JP\",\n\t\t\"ko-KR\",\n\t\t\"mk-MK\",\n\t\t\"nl-NL\",\n\t\t\"pa-IN\",\n\t\t\"pl-PL\",\n\t\t\"pt-PT\",\n\t\t\"pt-BR\",\n\t\t\"ru-RU\",\n\t\t\"sk-SK\",\n\t\t\"sl-SI\",\n\t\t\"sv-SE\",\n\t\t\"zh-Hans\",\n\t\t\"zh-Hant\",\n\t\t\"zh-HK\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/centralised\",\n\t\t\"tiddlywiki/tight\",\n\t\t\"tiddlywiki/heavier\",\n\t\t\"tiddlywiki/tight-heavier\",\n\t\t\"tiddlywiki/readonly\",\n\t\t\"tiddlywiki/seamless\",\n\t\t\"tiddlywiki/snowwhite\",\n\t\t\"tiddlywiki/starlight\",\n\t\t\"tiddlywiki/vanilla\"\n\t],\n\t\"build\": {\n\t\t\"index\": [\n\t\t\t\"--rendertiddler\",\"$:/core/save/all\",\"index.html\",\"text/plain\"]\n\t}\n}\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/$__coreURL.tid",
    "content": "title: $:/coreURL\ntags: $:/tags/Global\n\n\\function coreURL() [[../../../tiddlywikicore-$(version)$.js]substitute[]]\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/DefaultTiddlers.tid",
    "content": "title: $:/DefaultTiddlers\n\nHelloThere\n$:/plugins/tiddlywiki/geospatial"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/Features.tid",
    "content": "title: GeoFeatures\ntags: $:/tags/GeospatialDemo\n\nThis is a list of all the tiddlers containing ~GeoJSON feature collections in this wiki (identified by the tag <<tag \"$:/tags/GeoFeature\">>). A ~GeoJSON feature collection is a list of features, each of which consists of a geometry and associated metadata.\n\n<ul>\n\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/GeoFeature]sort[caption]]\">\n\t\t<li>\n\t\t\t<$checkbox\n\t\t\t\ttiddler={{{ [[$:/config/GeospatialDemo/FeatureVisibility/]addsuffix<currentTiddler>] }}}\n\t\t\t\tfield=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"\n\t\t\t>\n\t\t\t\t<<lingo Description>>\n\t\t\t</$checkbox>\n\t\t\t<$link>\n\t\t\t\t<$transclude field=\"caption\"><$view field=\"title\"/></$view>\n\t\t\t</$link>\n\t\t</li>\n\t</$list>\n</ul>\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/Flickr Demo.tid",
    "content": "title: Flickr Demo\ncaption: Flickr\ntags: $:/tags/GeospatialDemo\n\n! Retrieve Geotagged Flickr Photos\n\nThis demo will not work until you have set a Flickr API key in the [[Geospatial plugin settings|$:/plugins/tiddlywiki/geospatial/settings]].\n\n<$button>\n<$macrocall $name=\"flickr-get-album-items\" albumID={{$:/config/flickr-param/album-id}}/>\nGet Flickr album\n</$button> <$edit-text tiddler=\"$:/config/flickr-param/album-id\" tag=\"input\"/> (parameter should be an album ID, e.g. 72157630297432522)\n\n<$button>\n<$macrocall $name=\"flickr-get-interesting-items\"/>\nGet Flickr interesting items\n</$button>\n\n<$button>\n<$macrocall $name=\"flickr-get-photos-of-user-items\" userID={{$:/config/flickr-param/user-id}}/>\nGet Flickr photos of user\n</$button> <$edit-text tiddler=\"$:/config/flickr-param/user-id\" tag=\"input\"/> (parameter should be a user ID, e.g. 35468148136@N01)\n\n<$button>\n<$macrocall $name=\"flickr-get-group-items\" groupID={{$:/config/flickr-param/group-id}}/>\nGet Flickr group\n</$button> <$edit-text tiddler=\"$:/config/flickr-param/group-id\" tag=\"input\"/> (parameter should be an group ID, e.g. 22075379@N00)\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/Geospatial Plugin Logo.png.meta",
    "content": "title: Geospatial Plugin Logo\ntype: image/png\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/HelloThere.tid",
    "content": "title: HelloThere\n\n//The latest build of the Geospatial Plugin can be found at:// https://tiddlywiki5-git-geospatial-plugin-jermolene.vercel.app/plugins/tiddlywiki/geospatial/index.html\n\n!! Introduction\n\n{{$:/plugins/tiddlywiki/geospatial/readme}}\n\n!! Prerequisites\n\nThis demo requires that the API keys needed to access external services be obtained by the end user and manually configured. These keys are stored in the browser and so only need to be set up once. See the ''Settings'' tab of [[the plugin|$:/plugins/tiddlywiki/geospatial]] for details.\n\n!! Demos\n\n* Visit the ~GeoFeatures and ~GeoMarkers tabs to see the data loaded into this wiki\n* Click on a link to a layer or marker to open the corresponding tiddler that includes a map\n* Use the Flickr tab to retrieve geotagged photographs from Flickr\n* Visit a ~GeoMarker tiddler and use the \"Call ~TravelTime\" button to calculate an isochrone from that location using the ~TravelTime API\n\n! Map Showing All Features and Markers\n\n<$geomap\n\tstate=<<qualify \"$:/state/demo-map\">>\n\tstartPosition=\"bounds\"\n>\n\t<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/GeoBaseLayer]]\">\n\t\t<$geobaselayer title=<<currentTiddler>>/>\n\t</$list>\n\t<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/GeoMarker]]\">\n\t\t<$geolayer lat={{!!lat}} long={{!!long}} alt={{!!alt}} color={{!!color}} name={{!!caption}} properties={{{ [[{}]jsonset[title],<currentTiddler>] }}} \n\tpopupTemplate=\"ui/PopupTemplate\"/>\n\t</$list>\n\t<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/GeoFeature]] :filter[[$:/config/GeospatialDemo/FeatureVisibility/]addsuffix<currentTiddler>get[text]else[show]match[show]]\">\n\t\t<$geolayer json={{!!text}} color={{!!color}} name={{!!caption}} popupTemplate={{!!popup-template}}/>\n\t</$list>\n</$geomap>\n\n<<tabs tabsList:\"[all[tiddlers+shadows]tag[$:/tags/GeospatialDemo]]\" default:\"GeoFeatures\">>\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/Markers.tid",
    "content": "title: GeoMarkers\ntags: $:/tags/GeospatialDemo\n\n\n\n\\procedure onsuccess()\n\t<$action-setfield\n\t\t$tiddler=\"CurrentLocation\"\n\t\ttags=\"$:/tags/GeoMarker\"\n\t\ttimestamp=<<timestamp>>\n\t\tlat=<<latitude>>\n\t\tlong=<<longitude>>\n\t\talt=<<altitude>>\n\t\taccuracy=<<accuracy>>\n\t\taltitudeAccuracy=<<altitudeAccuracy>>\n\t\theading=<<heading>>\n\t\tspeed=<<speed>>\n\t/>\n\\end\n\\procedure onerror()\n\t<$action-setfield\n\t\t$tiddler=\"CurrentLocation\"\n\t\t$field=\"text\"\n\t\t$value=<<error>>\n\t/>\n\\end\n\\procedure onclick()\n\t<$action-sendmessage\n\t\t$message=\"tm-request-geolocation\"\n\t\tactionsSuccess=<<onsuccess>>\n\t\tactionsError=<<onerror>>\n\t/>\n\\end\n\nThis is a list of all the tiddlers containing ~GeoJSON markers in this wiki (identified by the tag <<tag \"$:/tags/GeoMarker\">>). A ~GeoJSON marker identifies a location via latitude and longitude (and optional altitude) and may also contain associated metadata in JSON format.\n\nClick this button to create a marker from the current location. Your browser will ask for permission before granting the request. On some browsers it takes a couple of seconds for the location to appear.\n\n<$button actions=<<onclick>>>\nRequest location\n</$button>\n\n{{CurrentLocation}}\n\n<ul>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/GeoMarker]sort[caption]]\">\n<li>\n<$link>\n<$view field=\"caption\"><$view field=\"title\"/></$view>\n</$link>\n</li>\n</$list>\n</ul>\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\nGeographic Data Features for ~TiddlyWiki"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\n[img width=200 [Geospatial Plugin Logo]]<br>Geospatial Plugin"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/cascades/ViewTemplateBodyFilters.tid",
    "content": "title: $:/plugins/geospatial/demo/ViewTemplateBodyFilters\ntags: $:/tags/ViewTemplateBodyFilter\nlist-before: $:/config/ViewTemplateBodyFilters/stylesheet\n\n[tag[$:/tags/GeoFeature]then[ui/geofeature]]\n[tag[$:/tags/GeoMarker]then[ui/geomarker]]\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/cities/LimehouseTownHall-image.jpeg.meta",
    "content": "title: cities/LimehouseTownHall/image\ntype: image/jpeg\ntags: $:/tags/Demo/Cities\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/cities/LimehouseTownHall.tid",
    "content": "title: cities/LimehouseTownHall\ntags: $:/tags/GeoMarker $:/tags/Demo/Cities\ncaption: Limehouse Town Hall\nlat: 51.51216651476898\nlong: -0.03138562132137639\nalt: 0\n\n{{cities/LimehouseTownHall/image}}\n\nThis is Limehouse Town Hall!\n\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/cities/Motovun-image.jpeg.meta",
    "content": "title: cities/Motovun/image\ntype: image/jpeg\ntags: $:/tags/Demo/Cities\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/cities/Motovun.tid",
    "content": "title: cities/Motovun\ntags: $:/tags/GeoMarker $:/tags/Demo/Cities\nicon: Motovun Jack.svg\ncaption: Motovun\nlat: 45.336453407749225\nlong: 13.828231379455806\nalt: 0\n\n{{cities/Motovun/image}}\n\nThis is Motovun!\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/cities/NewYork-image.jpeg.meta",
    "content": "title: cities/NewYork/image\ntype: image/jpeg\ntags: $:/tags/Demo/Cities\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/cities/NewYork.tid",
    "content": "title: cities/NewYork\ntags: $:/tags/GeoMarker $:/tags/Demo/Cities\ncaption: New York\nlat: 40.712778\nlong: -74.006111\nalt: 0\n\n{{cities/NewYork/image}}\n\nThis is New York!\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/cities/Oxford-image.jpeg.meta",
    "content": "title: cities/Oxford/image\ntype: image/jpeg\ntags: $:/tags/Demo/Cities\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/cities/Oxford.tid",
    "content": "title: cities/Oxford\ntags: $:/tags/GeoMarker $:/tags/Demo/Cities\ncaption: Oxford\nlat: 51.751944\nlong: -1.257778\nalt: 0\n\n{{cities/Oxford/image}}\n\nThis is Oxford!\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/cities/Toronto-image.jpeg.meta",
    "content": "title: cities/Toronto/image\ntype: image/jpeg\ntags: $:/tags/Demo/Cities\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/cities/Toronto.tid",
    "content": "title: cities/Toronto\ntags: $:/tags/GeoMarker $:/tags/Demo/Cities\ncaption: Toronto\nlat: 43.651070\nlong: -79.347015\nalt: 0\n\n{{cities/Toronto/image}}\n\nThis is Toronto!\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/cities/Winchester-image.jpeg.meta",
    "content": "title: cities/Winchester/image\ntype: image/jpeg\ntags: $:/tags/Demo/Cities\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/cities/Winchester.tid",
    "content": "title: cities/Winchester\ntags: $:/tags/GeoMarker $:/tags/Demo/Cities\ncaption: Winchester\nlat: 51.0632\nlong: -1.308\nalt: 0\n\n{{cities/Winchester/image}}\n\nThis is Winchester!\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/config/FeatureVisbility.multids",
    "content": "title: $:/config/GeospatialDemo/FeatureVisibility/$:/\n\ngeospatialdemo/features/harvard-volcanoes-of-the-world: hide\ngeospatialdemo/features/natural-earth-countries-low-res: hide\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/config/flickr-param.multids",
    "content": "title: $:/config/flickr-param/\n\nalbum-id: 72157630297432522\nuser-id: 35468148136@N01\ngroup-id: 22075379@N00\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/default-import-spec.tid",
    "content": "title: $:/config/plugins/tiddlywiki/xlsx-utils/default-import-spec\ntype: text/vnd.tiddlywiki\n\n$:/_importspec/RealEstate/"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/favicon.png.meta",
    "content": "title: $:/favicon.ico\ntype: image/png\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/features/canada-census-subdivision-millesime-popuptemplate.tid",
    "content": "title: $:/geospatialdemo/features/canada-census-subdivision-millesime/popupTemplate\n\n!!! Canadian Census Subdivision Boundary\n\n|!Field |!English |!French |\n|Year |<$text text={{{ [<feature>jsonget[properties],[year]] }}}/> |<|\n|Province Code |<$text text={{{ [<feature>jsonget[properties],[prov_code]join[,]] }}}/> |<|\n|Province Name |<$text text={{{ [<feature>jsonget[properties],[prov_name_en]join[,]] }}}/> |<$text text={{{ [<feature>jsonget[properties],[prov_name_fr]join[,]] }}}/> |\n|Census Division Code |<$text text={{{ [<feature>jsonget[properties],[cd_code]join[,]] }}}/> |<|\n|Census Division Name |<$text text={{{ [<feature>jsonget[properties],[cd_name_en]join[,]] }}}/> |<$text text={{{ [<feature>jsonget[properties],[cd_name_fr]join[,]] }}}/> |\n|Census Subdivision Code |<$text text={{{ [<feature>jsonget[properties],[csd_area_code]join[,]] }}}/> |<|\n|Census Subdivision Name |<$text text={{{ [<feature>jsonget[properties],[csd_name_en]join[,]] }}}/> |<$text text={{{ [<feature>jsonget[properties],[csd_name_fr]join[,]] }}}/> |\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/features/canada-census-subdivision-millesime.geojson",
    "content": "{\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.62596507161261,45.59946912211409],[-62.611426154996344,45.61104582448316],[-62.61677589159902,45.62562596914748],[-62.65119492206585,45.62446720350155],[-62.64324303349855,45.60599424515699],[-62.62596507161261,45.59946912211409]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.6304223277398,\"lat\":45.61444190041802},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1212\"],\"cd_name_en\":[\"Pictou\"],\"csd_code\":[\"1212016\"],\"csd_name_en\":[\"Trenton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Pictou\",\"csd_name_fr\":\"Trenton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.90606022570287,45.38241347568513],[-65.90389197088942,45.389921575293656],[-65.93622503601686,45.4042638229238],[-65.96695977775856,45.40022417262442],[-65.97400167146417,45.40766963830201],[-66.00283267957754,45.41725743776542],[-66.00367968344956,45.38918429884373],[-66.01418851639605,45.358134892080585],[-66.03032009899131,45.34509862559215],[-65.92392756659581,45.3774825096219],[-65.91585006201841,45.37309055377381],[-65.90606022570287,45.38241347568513]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.96864905236966,\"lat\":45.38361236793657},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1305\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1305045\"],\"csd_name_en\":[\"Rothesay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town \\/ Ville\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Rothesay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.69706924261344,46.02536075112711],[-64.70755174783658,46.04933592760893],[-64.73008599268931,46.06290961177218],[-64.76093263010146,46.055153102056714],[-64.7661016799731,46.043996245866495],[-64.78632941306266,46.04123305093462],[-64.81899195637884,46.02629822734669],[-64.82158690600721,46.03295112501809],[-64.86816727281986,46.02346783468082],[-64.88739305717763,46.0395945311195],[-64.89070909281125,46.05096056293453],[-64.89756612824485,46.049209539479506],[-64.9152463389493,46.05795081295987],[-64.94037446789805,46.055665889868976],[-64.95496973339291,46.049995006424965],[-64.99814079660125,46.049838610559604],[-64.99850772257253,46.03817317733132],[-65.01091434801029,46.03538112456157],[-65.03427642019486,46.02206045986631],[-65.03432238628787,45.92696869058528],[-64.9778211032064,45.93667150291812],[-64.94998721674499,45.94340579285677],[-64.78518630809182,45.975975520439064],[-64.69328902251932,45.993203435969875],[-64.70121104791454,46.00766935226729],[-64.69706924261344,46.02536075112711]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.88641212915846,\"lat\":46.00020269872399},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1306\"],\"cd_name_en\":[\"Albert\"],\"csd_code\":[\"1306014\"],\"csd_name_en\":[\"Coverdale\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Albert\",\"csd_name_fr\":\"Coverdale\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.49146739730031,46.270129717574015],[-65.41643782022979,46.25676548082679],[-65.16046105861113,46.26257187045904],[-65.12133243499693,46.262972306741055],[-65.07357351704677,46.26445715993471],[-65.14337267899012,46.347743286307995],[-65.09821115772044,46.37366466193501],[-65.1499152214207,46.41265002583978],[-65.16991302065084,46.42577974509151],[-65.26212126019387,46.49273153841942],[-65.5798259935395,46.491866657849066],[-65.71400254661081,46.49230761457654],[-65.79758923465116,46.39752991433062],[-65.85166108405355,46.33650435230393],[-65.56951646757692,46.2847946365653],[-65.49146739730031,46.270129717574015]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.44822892520983,\"lat\":46.37651039906628},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1308\"],\"cd_name_en\":[\"Kent\"],\"csd_code\":[\"1308010\"],\"csd_name_en\":[\"Harcourt\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kent\",\"csd_name_fr\":\"Harcourt\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.05889800099594,46.92639772210036],[-65.20933332089133,47.003932799015175],[-65.20055705571781,47.01351496202052],[-65.22259804885267,47.02635016261569],[-65.21354875006348,47.04169011622771],[-65.19487200052497,47.05164334118904],[-65.16959736762318,47.075606049239454],[-65.16251516860487,47.12391961366005],[-65.23558198481504,47.102845745301465],[-65.29315881656207,47.088453723490076],[-65.29118653349151,47.07362671915462],[-65.30498727736357,47.05959252025537],[-65.32092388476657,47.060355445323246],[-65.3435635931045,47.04138579625177],[-65.3697083386903,47.03720768493379],[-65.38662685011514,47.02907566065144],[-65.40864432063164,47.010880494550605],[-65.44758448057937,46.98885548726623],[-65.48255740928977,46.98091995334709],[-65.47799480892427,46.964843467625776],[-65.50261278166273,46.95762622003562],[-65.48461228676646,46.9363570745527],[-65.40131933835504,46.86772191446737],[-65.3473265032164,46.82329081728852],[-65.30972330429208,46.849746006995],[-65.2598870501407,46.86957317818595],[-65.23962760817892,46.82555780214695],[-65.20433885953267,46.84487760156727],[-65.05889800099594,46.92639772210036]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.28471173838736,\"lat\":46.95543269225973},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1309\"],\"cd_name_en\":[\"Northumberland\"],\"csd_code\":[\"1309004\"],\"csd_name_en\":[\"Glenelg\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Northumberland\",\"csd_name_fr\":\"Glenelg\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.78101769267627,45.95857213888764],[-66.78280541466036,45.97152389629567],[-66.74788659799027,45.967233000396746],[-66.68924479858941,45.96671939963201],[-66.69565771379342,45.977276306525674],[-66.73372491792244,45.97664098471532],[-66.77850057945756,45.986515636215366],[-66.80373523227136,45.980334362147566],[-66.82054722396867,45.964472399398396],[-66.84863963021549,45.96204729034837],[-66.85706075717908,45.95706367732559],[-66.85263451969203,45.95660821725494],[-66.8074860034612,45.893568741076194],[-66.81334429027459,45.89418758547077],[-66.86046121455355,45.95539927313961],[-66.87544118625537,45.94392457217048],[-66.88515775578912,45.92633063935055],[-66.91605108550054,45.89405055809085],[-66.92207832629697,45.87709490410833],[-66.9310079236054,45.87520657668967],[-66.99481123826797,45.80020796164114],[-66.91806142384618,45.77070521693359],[-66.90974519320291,45.77449996213044],[-66.90955966754255,45.78942241566176],[-66.86249679406932,45.83872791650621],[-66.85214157085119,45.83437942433997],[-66.80667148974035,45.89260654007628],[-66.79390800717269,45.88967508273098],[-66.78210625981517,45.90497342362734],[-66.79218709890068,45.93719810309258],[-66.78101769267627,45.95857213888764]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.87031740100252,\"lat\":45.879865972341676},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1310\"],\"cd_name_en\":[\"York\"],\"csd_code\":[\"1310018\"],\"csd_name_en\":[\"Kingsclear\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"York\",\"csd_name_fr\":\"Kingsclear\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.9266968717376,47.20774012944676],[-67.9631755503569,47.232401782504034],[-67.95444098161335,47.23927403762251],[-67.97778102422092,47.255528482113206],[-67.96009899493981,47.27778300900574],[-67.94656420689601,47.28042277463445],[-67.92726888393491,47.298381830701935],[-67.91696580116353,47.29730571146569],[-67.89213940777304,47.31421708281527],[-67.89921575971621,47.31870717510329],[-67.6886530017549,47.53563141962077],[-67.68853540123908,47.56853973673969],[-67.76409592193758,47.59373849538724],[-67.79029506911372,47.56778399137268],[-67.90035093760937,47.45389335556768],[-67.94752254849834,47.40590765310344],[-67.92325923869579,47.39494965771003],[-67.98125969379474,47.35174713689457],[-68.00678855690586,47.33496098705695],[-68.02664997627969,47.33081400771691],[-68.03892189620032,47.338081204376955],[-68.07781394429779,47.30979817055864],[-68.10250922921672,47.28008109297166],[-68.08194441317109,47.27100000046042],[-68.07400000552232,47.25916670231948],[-68.04292425878211,47.24811365657848],[-68.0467086947487,47.265520606730696],[-68.03497684545988,47.27350016021894],[-67.9917437621835,47.25082151959144],[-68.0154132965969,47.23396972833299],[-67.98969438813882,47.21002780079958],[-67.95722219748016,47.199611092177754],[-67.95104169100418,47.19084720953109],[-67.9266968717376,47.20774012944676]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.8816620994639,\"lat\":47.40381917371523},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1313\"],\"cd_name_en\":[\"Madawaska\"],\"csd_code\":[\"1313011\"],\"csd_name_en\":[\"Sainte-Anne\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Madawaska\",\"csd_name_fr\":\"Sainte-Anne\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-68.24772994166126,47.61881171031339],[-68.2330707704446,47.63025791174397],[-68.23215031755458,47.6570477899103],[-68.20622962453447,47.66242329086912],[-68.19437539865604,47.67489754316695],[-68.1802925079677,47.67608638031662],[-68.17718585853605,47.69343497628388],[-68.19506446900154,47.71572275558259],[-68.18359275652041,47.72741947672537],[-68.38254959166072,47.79078376525888],[-68.38259970296366,47.778316321001064],[-68.35669799425048,47.75530171061453],[-68.35789265459721,47.74647884306816],[-68.34498057212367,47.73418681488343],[-68.34318588425114,47.719591997078005],[-68.32058161601954,47.70146809566198],[-68.32355241533418,47.68561120234633],[-68.30316380661392,47.651199291648624],[-68.2613387730034,47.63523087926842],[-68.24772994166126,47.61881171031339]]],[[[-68.33456689582391,47.424184705115046],[-68.36179584848358,47.44892850270489],[-68.34877048360883,47.456803601184816],[-68.3684030866211,47.47083162334791],[-68.35538863222467,47.47942568546128],[-68.38373499562324,47.50010599453075],[-68.36138103063502,47.50197964223841],[-68.37051166963055,47.51787322948922],[-68.36802442970843,47.53404960875485],[-68.38651856324661,47.551006590529774],[-68.57234270822691,47.425712171581985],[-68.5831845279988,47.42240119815121],[-68.56854457152878,47.41734445041769],[-68.55898014248767,47.3970581711041],[-68.53839725302593,47.392220599657875],[-68.51422181775987,47.39353660624133],[-68.40732393586335,47.37262595547643],[-68.38877285923557,47.38632837319404],[-68.43027881111132,47.42645962209531],[-68.44269366311391,47.434130947308695],[-68.41316613610093,47.45047163962856],[-68.39309048907113,47.444389708365364],[-68.35934171264006,47.40706980589638],[-68.33456689582391,47.424184705115046]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.36952796040906,\"lat\":47.56383309531521},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1313\"],\"cd_name_en\":[\"Madawaska\"],\"csd_code\":[\"1313024\"],\"csd_name_en\":[\"Saint-Jacques\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Madawaska\",\"csd_name_fr\":\"Saint-Jacques\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.29357998700036,47.35396839177809],[-65.33412008650106,47.43602223769898],[-65.17873639737509,47.47216492868381],[-65.20758666591301,47.52936991103411],[-65.1743271512317,47.53721614820888],[-65.1899410796653,47.56758868821167],[-65.32715978189718,47.53381634559925],[-65.37098549200178,47.52550863184447],[-65.38066806911785,47.522973017629674],[-65.39598928718428,47.55292929784146],[-65.62985218936626,47.495118353416665],[-65.62139764291638,47.47303340898654],[-65.62471721653652,47.27622335273657],[-65.46734609357884,47.31314814662603],[-65.29357998700036,47.35396839177809]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.43839383695389,\"lat\":47.4319165861279},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1315\"],\"cd_name_en\":[\"Gloucester\"],\"csd_code\":[\"1315006\"],\"csd_name_en\":[\"Allardville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Gloucester\",\"csd_name_fr\":\"Allardville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.05325362896063,48.00005835890163],[-65.12663191387124,48.069904927264446],[-65.18627729636705,48.1479939292826],[-65.24263563447127,48.128272860942346],[-65.18208622599113,48.04399421808338],[-65.1480322394678,48.00008072732814],[-65.05325362896063,48.00005835890163]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.15667666172143,\"lat\":48.065640509410876},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2405\"],\"cd_name_en\":[\"Bonaventure\"],\"csd_code\":[\"2405020\"],\"csd_name_en\":[\"Hope Town\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Bonaventure\",\"csd_name_fr\":\"Hope Town\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.01807967360628,48.0110706446966],[-66.99696419492204,48.02800943258558],[-66.97395778894312,48.01392860547212],[-66.95595059558322,48.02708765126548],[-66.93332224627548,48.03296575358928],[-66.9258401712322,48.018742078358336],[-66.89331656060006,48.02754403974145],[-66.89115135204864,48.04343210426154],[-66.86872505177837,48.049258929025214],[-66.91613473923124,48.127941599016694],[-67.09720645854335,48.08545542678627],[-67.0976296593931,48.07893557784041],[-67.10550118559222,48.063022819127305],[-67.10182387790098,48.046330386934315],[-67.08094807412517,48.03910490483608],[-67.06972920866994,48.03004826781574],[-67.0456270764939,48.03447915614754],[-67.01807967360628,48.0110706446966]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.98307352761897,\"lat\":48.06687332729119},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2406\"],\"cd_name_en\":[\"Avignon\"],\"csd_code\":[\"2406040\"],\"csd_name_en\":[\"Saint-Andr\\u00e9-de-Restigouche\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Avignon\",\"csd_name_fr\":\"Saint-Andr\\u00e9-de-Restigouche\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.77741752509735,48.45162526901944],[-67.79691817587099,48.45775225268024],[-67.82324695567877,48.481683890217205],[-67.84878464031338,48.46511114074252],[-67.87763160750217,48.484180693135556],[-67.91118596524414,48.46603662207508],[-68.00263235520116,48.397595610899394],[-67.9424368894807,48.36234121080353],[-67.91581437123288,48.37037697453594],[-67.85867288792693,48.37910570333662],[-67.81885440501581,48.404988590583585],[-67.83349153057996,48.41453611836789],[-67.77741752509735,48.45162526901944]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.89073893141713,\"lat\":48.42196440884079},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2409\"],\"cd_name_en\":[\"La Mitis\"],\"csd_code\":[\"2409005\"],\"csd_name_en\":[\"La R\\u00e9demption\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Mitis\",\"csd_name_fr\":\"La R\\u00e9demption\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.9166632901823,48.631073968171144],[-67.94854993236457,48.64930123554854],[-67.9701888487661,48.632683684641165],[-67.9537333962234,48.623054178235016],[-68.00339773909661,48.583573518288944],[-68.02000406563488,48.59332305145261],[-68.03798767561146,48.58685458661213],[-68.06177526017997,48.57172640789245],[-68.04349815181621,48.56092452464413],[-68.02418079197115,48.554226600155985],[-68.0104259755154,48.557331804932595],[-67.98087601644527,48.545497283265135],[-67.94686546179328,48.53952391405357],[-67.90561233733712,48.56998735841588],[-67.92001974385789,48.58458497926548],[-67.89798699991785,48.60056571455636],[-67.90590299204524,48.614538193507585],[-67.92421567984924,48.6252691395631],[-67.9166632901823,48.631073968171144]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.96471381698596,\"lat\":48.58524375347291},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2409\"],\"cd_name_en\":[\"La Mitis\"],\"csd_code\":[\"2409040\"],\"csd_name_en\":[\"Padoue\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Mitis\",\"csd_name_fr\":\"Padoue\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.50542627833907,47.96361318859489],[-68.40602998380807,48.02923754872195],[-68.41156332566432,48.033315743327265],[-68.55907824266635,48.13228589202305],[-68.65926341977017,48.06587857361314],[-68.65942513174876,48.06577265064403],[-68.5816144415087,48.013822260770205],[-68.50542627833907,47.96361318859489]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.53259055314979,\"lat\":48.047813051974885},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2410\"],\"cd_name_en\":[\"Rimouski-Neigette\"],\"csd_code\":[\"2410005\"],\"csd_name_en\":[\"Esprit-Saint\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Rimouski-Neigette\",\"csd_name_fr\":\"Esprit-Saint\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.46438321664404,47.84655497963909],[-68.57143572701807,47.91758021077082],[-68.62825444219568,47.87847311408562],[-68.6899308687587,47.91963937920667],[-68.75320246816257,47.961751932066974],[-68.7696614547762,47.95044481342377],[-68.85026551300002,47.89534704009546],[-68.86854233228834,47.898897958861156],[-68.91089975310102,47.89221528324464],[-68.88763638315139,47.8894384746471],[-68.85970958742625,47.87682029786778],[-68.84754908328152,47.86418189666592],[-68.85626569339371,47.832472598274116],[-68.84956901875715,47.81749022804704],[-68.85666715253578,47.813276276005126],[-68.8604285178212,47.79447921366926],[-68.86870845913126,47.7730560749952],[-68.90203259596667,47.727499399653844],[-68.90040245717628,47.71364170184666],[-68.87516502192268,47.69247770361762],[-68.8557313064755,47.68585807723358],[-68.76791936934968,47.73230047108093],[-68.76690439263895,47.76858388967212],[-68.7588358115523,47.78696870838829],[-68.74030331959426,47.805581980663064],[-68.73063833833535,47.82351460261306],[-68.71971970198452,47.829289154380774],[-68.71756724809111,47.7961151577435],[-68.67579800627753,47.82478354937384],[-68.62887263633046,47.85580488950452],[-68.5861581390197,47.826621203568436],[-68.56858650231062,47.83851727237513],[-68.52185210905314,47.8079036121718],[-68.46438321664404,47.84655497963909]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.73243404371318,\"lat\":47.838407789351216},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2413\"],\"cd_name_en\":[\"T\\u00e9miscouata\"],\"csd_code\":[\"2413065\"],\"csd_name_en\":[\"Saint-Michel-du-Squatec\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscouata\",\"csd_name_fr\":\"Saint-Michel-du-Squatec\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-69.50247571308432,47.18823463463679],[-69.39087385658277,47.297623983382074],[-69.5886023647136,47.43126561304431],[-69.67943923904274,47.3667683676899],[-69.68523756992465,47.362597864586334],[-69.57424196143218,47.28936391840905],[-69.56854289686454,47.272210229289485],[-69.54794033996376,47.25873709208873],[-69.57776211277356,47.238880279370264],[-69.50247571308432,47.18823463463679]]],[[[-69.56521660656178,47.44811565686705],[-69.45362416053965,47.52630120140586],[-69.30452348149342,47.626304733840215],[-69.33312921998959,47.64583254509167],[-69.43936071605059,47.71783777069172],[-69.49371749506433,47.66577310215774],[-69.50327198402691,47.65794853435225],[-69.53970279547951,47.596204815821686],[-69.5446377702349,47.587703594371234],[-69.53231477692985,47.579390926579094],[-69.60749246181747,47.52485214325286],[-69.64988054288536,47.55384324472359],[-69.65994456945005,47.54281716130423],[-69.6362049850324,47.52714309119132],[-69.65785402248838,47.51010797449424],[-69.56521660656178,47.44811565686705]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.50331199454004,\"lat\":47.45926870930146},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2414\"],\"cd_name_en\":[\"Kamouraska\"],\"csd_code\":[\"2414902\"],\"csd_name_en\":[\"Picard\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Kamouraska\",\"csd_name_fr\":\"Picard\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.34173557935584,47.7183553182755],[-70.34783191434501,47.72033788915203],[-70.37288041123314,47.75789978300213],[-70.38604871299913,47.76234837863392],[-70.44045636315606,47.76823323332725],[-70.47779145457821,47.76791569710571],[-70.4902753933424,47.759358193729476],[-70.4862610833259,47.746969472675595],[-70.49338470127665,47.73824044958915],[-70.46996100825183,47.72252097731671],[-70.42080694139798,47.71791531749097],[-70.42078748633023,47.710168458324716],[-70.37846989704242,47.70696067085175],[-70.3839916498709,47.684201293376226],[-70.36453318620195,47.68122381306782],[-70.36037942636273,47.665509808801026],[-70.30961558997194,47.66344541983596],[-70.28973580495311,47.678021270057556],[-70.26629794093827,47.663876379827876],[-70.24494265259126,47.67901052975355],[-70.29997275360205,47.71650916285518],[-70.31473486474141,47.72014202485673],[-70.34173557935584,47.7183553182755]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.37514124734889,\"lat\":47.717155848652496},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2415\"],\"cd_name_en\":[\"Charlevoix-Est\"],\"csd_code\":[\"2415030\"],\"csd_name_en\":[\"Saint-Aim\\u00e9-des-Lacs\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Charlevoix-Est\",\"csd_name_fr\":\"Saint-Aim\\u00e9-des-Lacs\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.5294914877782,47.71677232721554],[-70.52882939327915,47.78686026073336],[-70.52556855969434,48.000200781640096],[-70.53065242558769,48.000201652949464],[-70.74194478343523,48.00003852550226],[-70.91385663838437,47.9999093713477],[-71.22027294483213,47.99995079755073],[-71.40838721187149,48.00007555916312],[-71.41176812202737,47.995226026053885],[-71.40926276103521,47.97682606061247],[-71.37436891564022,47.97160841273834],[-71.3797917377786,47.9502629102089],[-71.40372459987373,47.95008458853672],[-71.39316230921135,47.9412634216079],[-71.30611832991973,47.85611993337684],[-71.1472244905638,47.700765392305115],[-70.9956163218161,47.54798986146474],[-70.8788615359036,47.4317067152998],[-70.85535126574582,47.47127661847011],[-70.81765993274497,47.50003213615449],[-70.74829486934703,47.55201231513147],[-70.5294914877782,47.71677232721554]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.90257145530492,\"lat\":47.798012178711325},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2416\"],\"cd_name_en\":[\"Charlevoix\"],\"csd_code\":[\"2416902\"],\"csd_name_en\":[\"Lac-Pikauba\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Charlevoix\",\"csd_name_fr\":\"Lac-Pikauba\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.1814974698248,47.235860623788405],[-70.15528436814982,47.27069464681799],[-70.13194149170896,47.28967692919324],[-70.1344323022097,47.29799562128512],[-70.07222458936208,47.32316753970122],[-70.09603323517703,47.340773737524586],[-70.20334275147246,47.410986173553916],[-70.2514622772644,47.37105776268902],[-70.31076814663112,47.32171799282218],[-70.1814974698248,47.235860623788405]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.19540796128332,\"lat\":47.3256225625591},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2417\"],\"cd_name_en\":[\"L'Islet\"],\"csd_code\":[\"2417065\"],\"csd_name_en\":[\"Saint-Roch-des-Aulnaies\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"L'Islet\",\"csd_name_fr\":\"Saint-Roch-des-Aulnaies\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.82707434254331,47.12038916415963],[-70.8517335760951,47.114133859755974],[-70.85878786517966,47.09134079279562],[-70.87785567561849,47.072006841691966],[-70.89010253233823,47.06662820869225],[-70.8524048223079,47.03413929143545],[-70.82455067944382,47.03688393178866],[-70.79133382139723,47.034209224218756],[-70.76400876802042,47.039168864897945],[-70.71976023930459,47.0600467933851],[-70.77359646747603,47.10741468959172],[-70.80344567408898,47.08165892207574],[-70.82128992303127,47.094674179235284],[-70.82707434254331,47.12038916415963]],[[-70.80132855124705,47.06592986783303],[-70.80100174755259,47.061625296513235],[-70.80634575795877,47.056875061605616],[-70.80839074536954,47.0661322217186],[-70.80132855124705,47.06592986783303]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.80838748779138,\"lat\":47.06881979634626},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2421\"],\"cd_name_en\":[\"La C\\u00f4te-de-Beaupr\\u00e9\"],\"csd_code\":[\"2421020\"],\"csd_name_en\":[\"Saint-Joachim\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La C\\u00f4te-de-Beaupr\\u00e9\",\"csd_name_fr\":\"Saint-Joachim\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.17248069788323,47.08781477511516],[-71.17908111260944,47.10180656731982],[-71.21901320761667,47.126848680885004],[-71.23943311412698,47.11767998840179],[-71.23961876269388,47.134145584394176],[-71.26184724469633,47.13703859358127],[-71.26754103287399,47.14660730527071],[-71.2511433837186,47.15383459937203],[-71.32629175329565,47.22435134411157],[-71.41257950442595,47.30731277202168],[-71.52945891864378,47.253870986261106],[-71.64447230289193,47.198824082542735],[-71.63153725314554,47.19118397073826],[-71.42148344435415,46.98193772076818],[-71.41242989847848,46.97284555238792],[-71.3984933335891,46.95941323555619],[-71.3740386947636,46.93261708578115],[-71.33598146734118,46.95543593848334],[-71.36461981422006,46.983883902876975],[-71.28582035109515,47.03325220610149],[-71.26996369013163,47.01765164992307],[-71.20445268972884,47.049181671656015],[-71.21388568403079,47.05756217958456],[-71.18313361344768,47.07175597095164],[-71.19171320279396,47.08734652087477],[-71.17248069788323,47.08781477511516]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.40572620539979,\"lat\":47.132795297235134},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2422\"],\"cd_name_en\":[\"La Jacques-Cartier\"],\"csd_code\":[\"2422035\"],\"csd_name_en\":[\"Stoneham-et-Tewkesbury\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton unis (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Jacques-Cartier\",\"csd_name_fr\":\"Stoneham-et-Tewkesbury\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.76377468622246,46.22447154572362],[-71.77906061865362,46.229698775365584],[-71.7923766274989,46.22037826415224],[-71.77504906114244,46.20709560262869],[-71.75638944517517,46.21914619616766],[-71.76377468622246,46.22447154572362]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.77474559102637,\"lat\":46.219101297056866},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2432\"],\"cd_name_en\":[\"L'\\u00c9rable\"],\"csd_code\":[\"2432040\"],\"csd_name_en\":[\"Plessisville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"L'\\u00c9rable\",\"csd_name_fr\":\"Plessisville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.55310362398438,46.78418435489765],[-71.5703053329124,46.796445807149134],[-71.58327335652045,46.794797442793275],[-71.59826138223669,46.80610563816683],[-71.63886814145944,46.80061991185852],[-71.69936980332926,46.84370407823938],[-71.72942010579486,46.83712271454147],[-71.71469104039498,46.81497907727888],[-71.74772041013026,46.80349300847439],[-71.7374429989152,46.78953409720911],[-71.75236290246615,46.78346279210631],[-71.76294720681837,46.790730807361555],[-71.8041833319918,46.77478467496834],[-71.7811106864171,46.75690943468758],[-71.7963112249965,46.75204589818292],[-71.77349565976746,46.735591748860024],[-71.75852044444862,46.742472447098656],[-71.7140555888084,46.711360674417826],[-71.70981669955296,46.71634539247294],[-71.69086651115009,46.7313813437983],[-71.66795581237747,46.740328414626845],[-71.64203047306549,46.745796826362046],[-71.5901771255345,46.76421869608942],[-71.60630704295028,46.77589454184271],[-71.55310362398438,46.78418435489765]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.6905666690878,\"lat\":46.77608697663276},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2434\"],\"cd_name_en\":[\"Portneuf\"],\"csd_code\":[\"2434017\"],\"csd_name_en\":[\"Pont-Rouge\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Portneuf\",\"csd_name_fr\":\"Pont-Rouge\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.6712369136924,46.652946307739256],[-71.64383413366431,46.66109780701834],[-71.70981669955296,46.71634539247294],[-71.7140555888084,46.711360674417826],[-71.73516336074907,46.70174792882522],[-71.7480101769599,46.67565022456893],[-71.74265703494213,46.649145088313254],[-71.70434299917594,46.64844881729885],[-71.6712369136924,46.652946307739256]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.70483431768956,\"lat\":46.67544906662653},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2434\"],\"cd_name_en\":[\"Portneuf\"],\"csd_code\":[\"2434025\"],\"csd_name_en\":[\"Donnacona\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Portneuf\",\"csd_name_fr\":\"Donnacona\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.88859466627375,46.66952745574505],[-71.9174651530513,46.69098431486864],[-71.92185164450298,46.688126709417354],[-71.96421941213033,46.719536195690836],[-71.98464780875203,46.69400374601401],[-71.99959499198135,46.69352853261785],[-72.02242426531359,46.68396022829901],[-72.00140805587247,46.668828921007254],[-72.0411923368306,46.648908581394984],[-72.05056266965066,46.6637560688889],[-72.06786373586496,46.676006197719104],[-72.09417077575218,46.66920083135614],[-72.10893693175728,46.657722673230055],[-72.11805002174935,46.63001769608838],[-72.14683005181587,46.617273723005546],[-72.08144371704445,46.570025463080206],[-72.05669321309813,46.57198062155046],[-72.01224394923972,46.587273934221585],[-71.96741607107269,46.619475692283046],[-71.91802299622447,46.638011462695246],[-71.88859466627375,46.66952745574505]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.01790306306124,\"lat\":46.63895252660616},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2434\"],\"cd_name_en\":[\"Portneuf\"],\"csd_code\":[\"2434058\"],\"csd_name_en\":[\"Deschambault-Grondines\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Portneuf\",\"csd_name_fr\":\"Deschambault-Grondines\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.1237640986591,46.715719056008716],[-72.19656972984572,46.76596104365849],[-72.25795597910998,46.72434174071184],[-72.2566590624558,46.71797972982758],[-72.23086519673951,46.700087669916485],[-72.22099827653992,46.707053899126564],[-72.17926375801737,46.67627864734159],[-72.13618979616908,46.70333099897476],[-72.1237640986591,46.715719056008716]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.19056424654266,\"lat\":46.720646361345814},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2434\"],\"cd_name_en\":[\"Portneuf\"],\"csd_code\":[\"2434085\"],\"csd_name_en\":[\"Saint-Thuribe\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Portneuf\",\"csd_name_fr\":\"Saint-Thuribe\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.49201859334183,46.74598571713769],[-72.50976616559765,46.75274078417454],[-72.56523277262767,46.788808620121046],[-72.58804118120253,46.7822040296499],[-72.64028217620218,46.7440700421671],[-72.63202057946333,46.73756337907254],[-72.65076220440214,46.72416005826858],[-72.62659495788742,46.708294483552386],[-72.61623373557588,46.71506391182705],[-72.60094847432248,46.70511191502241],[-72.59602217233696,46.69163001808097],[-72.57849842895791,46.704142491434894],[-72.5576703092928,46.67343426397447],[-72.50839977267755,46.69026227102117],[-72.50335378304918,46.68775102771432],[-72.47606872082592,46.707214601515794],[-72.50585943010282,46.7285776259425],[-72.49201859334183,46.74598571713769]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.56158498513592,\"lat\":46.73064038116054},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2435\"],\"cd_name_en\":[\"M\\u00e9kinac\"],\"csd_code\":[\"2435027\"],\"csd_name_en\":[\"Saint-Tite\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"M\\u00e9kinac\",\"csd_name_fr\":\"Saint-Tite\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.75239282519811,45.901708692338666],[-71.8187587155645,45.935696030683985],[-71.82748196477604,45.92724894355371],[-71.86785432077632,45.88732741871214],[-71.85267772923143,45.87935253387956],[-71.88310008550518,45.8492026701322],[-71.86647662302532,45.841465850717945],[-71.90514530736094,45.80406178755802],[-71.87365131101556,45.79869852613117],[-71.86180995698884,45.79897181180989],[-71.83227415823774,45.82610509204368],[-71.76996406628203,45.885296089712995],[-71.75239282519811,45.901708692338666]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.82948966838696,\"lat\":45.86946406847057},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2439\"],\"cd_name_en\":[\"Arthabaska\"],\"csd_code\":[\"2439020\"],\"csd_name_en\":[\"Saint-R\\u00e9mi-de-Tingwick\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Arthabaska\",\"csd_name_fr\":\"Saint-R\\u00e9mi-de-Tingwick\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.71295374150534,46.08741292747373],[-71.81711791139875,46.13886623365567],[-71.90719020860213,46.10235632159104],[-71.89381605055709,46.09534711704363],[-71.91636877074939,46.072826279785936],[-71.86802043161762,46.04723984699383],[-71.85543215047264,46.059161336684866],[-71.80927119448212,46.035130318487106],[-71.80589155065832,46.033189461155715],[-71.76041042301506,46.07800994260355],[-71.72355110162579,46.058585831249395],[-71.7114508218891,46.06897220599788],[-71.69981796961568,46.062903326740326],[-71.68853026033753,46.07468780968804],[-71.71295374150534,46.08741292747373]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.8148461457424,\"lat\":46.08644917802031},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2439\"],\"cd_name_en\":[\"Arthabaska\"],\"csd_code\":[\"2439043\"],\"csd_name_en\":[\"Saint-Norbert-d'Arthabaska\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Arthabaska\",\"csd_name_fr\":\"Saint-Norbert-d'Arthabaska\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.25343921172463,45.54359101701489],[-71.27170517334297,45.530743555544895],[-71.28729012455148,45.5401331493768],[-71.32005418180252,45.51647454844012],[-71.30472184636052,45.506681632635846],[-71.29748313778879,45.51095265461306],[-71.25399789518343,45.51212486410829],[-71.25343921172463,45.54359101701489]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.28215871193426,\"lat\":45.52283094786919},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2441\"],\"cd_name_en\":[\"Le Haut-Saint-Fran\\u00e7ois\"],\"csd_code\":[\"2441080\"],\"csd_name_en\":[\"Scotstown\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Saint-Fran\\u00e7ois\",\"csd_name_fr\":\"Scotstown\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.6016746491163,45.15940412489931],[-71.60511380575696,45.238594378488465],[-71.60557778559807,45.24796617817836],[-71.64336373035032,45.24743410397707],[-71.73634855795461,45.246498507801356],[-71.73549497802807,45.159279756240636],[-71.67317628603924,45.15937213065887],[-71.6016746491163,45.15940412489931]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.66959065630368,\"lat\":45.20310558787047},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2444\"],\"cd_name_en\":[\"Coaticook\"],\"csd_code\":[\"2444055\"],\"csd_name_en\":[\"Sainte-Edwidge-de-Clifton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Coaticook\",\"csd_name_fr\":\"Sainte-Edwidge-de-Clifton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.92827946331903,45.16018080549287],[-71.91728909286029,45.16011844702652],[-71.91876378948034,45.24035311957982],[-71.99810360243114,45.23860457403797],[-71.9964802398776,45.220201890861176],[-72.00461844246057,45.19974576210631],[-72.0125274623219,45.19292133050623],[-72.03828349846751,45.18985212201304],[-72.03258520906857,45.1831096541752],[-72.03232532324103,45.16053509969836],[-72.00314315452098,45.16034662840485],[-71.92827946331903,45.16018080549287]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.96700693725104,\"lat\":45.19627127168789},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2445\"],\"cd_name_en\":[\"Memphr\\u00e9magog\"],\"csd_code\":[\"2445043\"],\"csd_name_en\":[\"Hatley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Memphr\\u00e9magog\",\"csd_name_fr\":\"Hatley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.1016153293547,45.16087023889531],[-72.1031681163687,45.27349806998067],[-72.08890122382138,45.27906541115254],[-72.06032400200341,45.279023330243554],[-72.04901401147033,45.28595046488288],[-72.04270029472964,45.29974976724533],[-72.10883727713171,45.30152115488988],[-72.23128203246395,45.30588123843881],[-72.2313085774399,45.22543511541878],[-72.2013054551214,45.22497179923426],[-72.20852724845628,45.212648183220345],[-72.2427990082319,45.172736214101015],[-72.24889030534915,45.16182520015761],[-72.1016153293547,45.16087023889531]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.16056127782954,\"lat\":45.23585495581748},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2445\"],\"cd_name_en\":[\"Memphr\\u00e9magog\"],\"csd_code\":[\"2445072\"],\"csd_name_en\":[\"Magog\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Memphr\\u00e9magog\",\"csd_name_fr\":\"Magog\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.47979267045513,45.15760323101496],[-72.55776554203094,45.159353551109696],[-72.58582617756468,45.1596710117732],[-72.64489443719522,45.16137106716711],[-72.69030384510086,45.16442450328903],[-72.69448918422816,45.07592597646908],[-72.69455834911464,45.06870775808665],[-72.66464298171638,45.06766603554955],[-72.63334702968555,45.06106597981842],[-72.63257593986745,45.01458549013364],[-72.55540163827553,45.00806034697689],[-72.4858008055286,45.008715544907446],[-72.47979267045513,45.15760323101496]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.57904559423638,\"lat\":45.090937315682396},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2446\"],\"cd_name_en\":[\"Brome-Missisquoi\"],\"csd_code\":[\"2446058\"],\"csd_name_en\":[\"Sutton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Brome-Missisquoi\",\"csd_name_fr\":\"Sutton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.21787455110699,46.19520494561204],[-72.24565189870863,46.20266129833839],[-72.26782524809819,46.18550487732628],[-72.25311903958276,46.17452660903178],[-72.27175776736877,46.16080853787093],[-72.25593264837995,46.15026379470135],[-72.26546247989629,46.14347621710145],[-72.2496985416953,46.1322133259409],[-72.21634540414928,46.15595729214565],[-72.1776969695958,46.16376142755954],[-72.17917065550918,46.17836150779396],[-72.21856026575554,46.1703854249731],[-72.21787455110699,46.19520494561204]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.233218844689,\"lat\":46.16894195847564},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2450\"],\"cd_name_en\":[\"Nicolet-Yamaska\"],\"csd_code\":[\"2450013\"],\"csd_name_en\":[\"Aston-Jonction\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nicolet-Yamaska\",\"csd_name_fr\":\"Aston-Jonction\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.81581799442343,46.06747208770947],[-72.79387249455378,46.07982254674511],[-72.80881196884879,46.0853729814862],[-72.84239531068319,46.077195558205794],[-72.81581799442343,46.06747208770947]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.8165143496226,\"lat\":46.07699570061193},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2450\"],\"cd_name_en\":[\"Nicolet-Yamaska\"],\"csd_code\":[\"2450802\"],\"csd_name_en\":[\"Odanak\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nicolet-Yamaska\",\"csd_name_fr\":\"Odanak\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.83597262493063,45.85241956467178],[-72.85261328415272,45.86438382339228],[-72.85440222472468,45.87800280348025],[-72.89844129223773,45.90799327862978],[-72.90859714212957,45.883354408650845],[-72.92599547703583,45.88627512075354],[-72.93878250356279,45.868768093841204],[-72.9484629554445,45.8488663293701],[-72.92062734184702,45.83048826267539],[-72.87836607911285,45.80177013632028],[-72.86252709895405,45.83813224497422],[-72.83597262493063,45.85241956467178]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.89364892268311,\"lat\":45.85581366928424},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2454\"],\"cd_name_en\":[\"Les Maskoutains\"],\"csd_code\":[\"2454125\"],\"csd_name_en\":[\"Saint-Marcel-de-Richelieu\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Maskoutains\",\"csd_name_fr\":\"Saint-Marcel-de-Richelieu\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.38944150100711,47.22571529030254],[-74.41215945912438,47.21971569446779],[-74.37054918664546,47.1875265468162],[-74.35909067160875,47.19290706109831],[-74.37329909023549,47.21895770966472],[-74.38944150100711,47.22571529030254]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.38259499697101,\"lat\":47.20864464130237},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2462\"],\"cd_name_en\":[\"Matawinie\"],\"csd_code\":[\"2462802\"],\"csd_name_en\":[\"Communaut\\u00e9 Atikamekw de Manawan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Matawinie\",\"csd_name_fr\":\"Communaut\\u00e9 Atikamekw de Manawan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.61531355856438,47.57610782791748],[-74.58262888883222,47.54359400198839],[-74.56062241311717,47.53735000389782],[-74.55557210541845,47.5241927449207],[-74.53859059935833,47.51004380565026],[-74.5077422923379,47.50275399238262],[-74.61531355856438,47.57610782791748]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.55714488319472,\"lat\":47.53187489699039},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2462\"],\"cd_name_en\":[\"Matawinie\"],\"csd_code\":[\"2462919\"],\"csd_name_en\":[\"Lac-Cabasta\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Matawinie\",\"csd_name_fr\":\"Lac-Cabasta\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.63924052371088,45.18461720870489],[-73.61533844705586,45.22102229326144],[-73.60243037486582,45.23116169791078],[-73.58070582423832,45.26145445479344],[-73.58271107154113,45.27210350404817],[-73.57651528309876,45.291051593643225],[-73.56812363867736,45.29578017358392],[-73.56943035374526,45.296191114773734],[-73.63399554845476,45.31469644527849],[-73.65090432760323,45.301638661243224],[-73.67822433325938,45.26677034933761],[-73.68626814023784,45.25006591660673],[-73.67748310554914,45.24740837570906],[-73.69821215296163,45.2290052868352],[-73.66848712457245,45.20652680826615],[-73.63924052371088,45.18461720870489]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.6342986455742,\"lat\":45.2551842754876},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2468\"],\"cd_name_en\":[\"Les Jardins-de-Napierville\"],\"csd_code\":[\"2468055\"],\"csd_name_en\":[\"Saint-R\\u00e9mi\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Jardins-de-Napierville\",\"csd_name_fr\":\"Saint-R\\u00e9mi\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.66848712457245,45.20652680826615],[-73.69821215296163,45.2290052868352],[-73.7343497345152,45.25594736216882],[-73.73814519840313,45.258796934277164],[-73.778683440221,45.23088685089826],[-73.7630995195567,45.21913007948776],[-73.79355557434091,45.19707071029392],[-73.78304911192534,45.18966297772801],[-73.76109042393021,45.17323093349834],[-73.75528237032282,45.168215550985344],[-73.73808843941421,45.17781136902685],[-73.72640304889549,45.16891261469151],[-73.66848712457245,45.20652680826615]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.73382941056686,\"lat\":45.20967527570358},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2470\"],\"cd_name_en\":[\"Beauharnois-Salaberry\"],\"csd_code\":[\"2470005\"],\"csd_name_en\":[\"Saint-Urbain-Premier\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Beauharnois-Salaberry\",\"csd_name_fr\":\"Saint-Urbain-Premier\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.9512339788715,45.25598243936777],[-73.95160663307387,45.257185261087635],[-74.00820323803424,45.240732326179184],[-74.0049640895822,45.235219226093946],[-74.03758130722434,45.22714202825497],[-74.03577641227275,45.22092347205843],[-74.07887238836636,45.21887026780405],[-74.09814500539466,45.210352884960265],[-74.02590895850895,45.15471575687603],[-73.97281983187854,45.17963348736892],[-73.95045159604553,45.16246344945066],[-73.91046897811084,45.196500141559596],[-73.94323904633157,45.220129162163666],[-73.93636112897342,45.23046386843388],[-73.9478535196429,45.23842885277568],[-73.9512339788715,45.25598243936777]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.99732319594698,\"lat\":45.20331208179368},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2470\"],\"cd_name_en\":[\"Beauharnois-Salaberry\"],\"csd_code\":[\"2470035\"],\"csd_name_en\":[\"Saint-Louis-de-Gonzague\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Beauharnois-Salaberry\",\"csd_name_fr\":\"Saint-Louis-de-Gonzague\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.88510794420033,45.54376387360818],[-73.90090262327863,45.55586647868738],[-73.92574970581066,45.543175527101496],[-73.90106651858991,45.52530860690098],[-73.89536610156722,45.52658260053769],[-73.88093342564052,45.53612146132683],[-73.88510794420033,45.54376387360818]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.90166245049059,\"lat\":45.54035892804828},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2472\"],\"cd_name_en\":[\"Deux-Montagnes\"],\"csd_code\":[\"2472010\"],\"csd_name_en\":[\"Deux-Montagnes\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Deux-Montagnes\",\"csd_name_fr\":\"Deux-Montagnes\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.44162019093183,45.905576318195216],[-74.33353474509906,45.8921248427804],[-74.29639504526145,45.88906219951499],[-74.27458261881586,45.95527629386103],[-74.27283113775243,45.96637210370797],[-74.26959516065757,45.981619257925665],[-74.264066979676,46.000219059626964],[-74.34971979172145,46.01243641343532],[-74.40788710400298,46.018689468376515],[-74.41262979684848,46.01892375493351],[-74.44162019093183,45.905576318195216]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.35329463430502,\"lat\":45.95371857237709},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2477\"],\"cd_name_en\":[\"Les Pays-d'en-Haut\"],\"csd_code\":[\"2477065\"],\"csd_name_en\":[\"Saint-Adolphe-d'Howard\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Pays-d'en-Haut\",\"csd_name_fr\":\"Saint-Adolphe-d'Howard\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.5347709563792,46.33370609520086],[-75.59908935217554,46.33373300334054],[-75.59921388063373,46.371344923053],[-75.68404854250772,46.37176718323636],[-75.68213737934336,46.43823632308419],[-75.70582159060216,46.43831635439321],[-75.70784933786219,46.368204796641294],[-75.70647624660924,46.30861827846488],[-75.81609575069584,46.306278273500205],[-75.78810489771328,46.29390932625433],[-75.78472283717585,46.285146634204466],[-75.80831134157096,46.23627546221159],[-75.81222996651209,46.223968214927055],[-75.80241900152201,46.21750740460433],[-75.8105931134055,46.193767773618895],[-75.79262398540982,46.16996097997479],[-75.7687609532787,46.17505050613057],[-75.70177609239333,46.17477403541398],[-75.67723900151336,46.176450857167644],[-75.6816096889428,46.19902102146476],[-75.66321970855493,46.21503272569326],[-75.66912344713027,46.23018769436484],[-75.54022866898299,46.230661230605435],[-75.54109536104201,46.25134081277163],[-75.56624740141281,46.25136566334434],[-75.56640682832844,46.28068837762818],[-75.58791343566494,46.28085965820523],[-75.55221686318703,46.30659400378464],[-75.5347709563792,46.33370609520086]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.68280735497714,\"lat\":46.276645411851256},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2479\"],\"cd_name_en\":[\"Antoine-Labelle\"],\"csd_code\":[\"2479010\"],\"csd_name_en\":[\"Notre-Dame-de-Pontmain\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Antoine-Labelle\",\"csd_name_fr\":\"Notre-Dame-de-Pontmain\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-74.62055703680808,46.314461924389065],[-74.59336021012575,46.31433517425611],[-74.61985929982839,46.332460503338844],[-74.62055703680808,46.314461924389065]]],[[[-74.94013288727686,46.61025394557897],[-74.95190315650518,46.621672762481175],[-74.9544019837255,46.674458102770494],[-74.98975550550081,46.665927883471774],[-74.98728869492282,46.726992804507304],[-75.01296959539364,46.738538906084074],[-75.016250442114,46.748233085636556],[-75.0366151937138,46.758282240152404],[-75.04725658734775,46.74519281164097],[-75.05636331703727,46.710987046376545],[-75.05988404917099,46.6843564439221],[-75.0659642165504,46.67018632675556],[-75.06628796311439,46.64887823643098],[-75.09248731274988,46.636348707032695],[-75.09513013239192,46.63434351275072],[-75.09469303563584,46.51844580453383],[-75.09320649849681,46.48737041033943],[-75.0705414145546,46.4867317542908],[-75.07160737568934,46.47250389072126],[-75.03160123271873,46.472339995092796],[-74.94347218157728,46.47565253364053],[-74.94388281873572,46.3501602273012],[-74.94314540568242,46.31366691579651],[-74.87104935942672,46.31498787509141],[-74.78855691702513,46.315235951751326],[-74.79203731559407,46.32634714800456],[-74.78225452714082,46.35778526602664],[-74.80372569730184,46.358389329524705],[-74.81767060561582,46.36540340212018],[-74.8201850590395,46.37610958119125],[-74.80742369202952,46.38303935551917],[-74.81956216945761,46.39357738526169],[-74.78462869372832,46.412393576075125],[-74.8078180143425,46.43105264326064],[-74.78674174240922,46.44152867419836],[-74.80661471059278,46.454744207419594],[-74.88392382027514,46.50550626089259],[-74.98712450077839,46.577450247489175],[-74.94013288727686,46.61025394557897]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.95466141513879,\"lat\":46.506847653579726},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2479\"],\"cd_name_en\":[\"Antoine-Labelle\"],\"csd_code\":[\"2479037\"],\"csd_name_en\":[\"Rivi\\u00e8re-Rouge\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Antoine-Labelle\",\"csd_name_fr\":\"Rivi\\u00e8re-Rouge\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-75.09248731274988,46.636348707032695],[-75.06628796311439,46.64887823643098],[-75.0659642165504,46.67018632675556],[-75.05988404917099,46.6843564439221],[-75.05636331703727,46.710987046376545],[-75.07973144492648,46.6964112125554],[-75.10146455890914,46.690083488219976],[-75.11303210434353,46.67711566452366],[-75.13007137751912,46.67365530646992],[-75.1231983265992,46.655537743627356],[-75.09248731274988,46.636348707032695]]],[[[-74.79449382631458,46.85121535324514],[-75.04599172595022,47.02141445985834],[-75.09018111452558,47.05229104659864],[-75.16410794443699,47.10127635254165],[-75.24137523551401,47.15370661637829],[-75.29846237470139,47.19015868122863],[-75.41322800369139,47.26779253613264],[-75.46483220078967,47.30391753126064],[-75.46759848288279,47.2919313788002],[-75.48041001204052,47.27580189987448],[-75.49146378822682,47.27331118648758],[-75.52296384097455,47.24686918382296],[-75.55909060356153,47.20755050749615],[-75.57142821994236,47.207244764958055],[-75.59685149799682,47.18446438407369],[-75.62577944426879,47.18115635276989],[-75.62898850125652,47.21874130402751],[-75.62233553859988,47.22824442128012],[-75.64674108209218,47.253688398279735],[-75.64853661793242,47.28262300097248],[-75.6635472312953,47.286523221003705],[-75.68632761461735,47.27940730453051],[-75.70814820430617,47.28406700241993],[-75.7123538580819,47.26894104707587],[-75.72580222781394,47.26800480237597],[-75.74135651279613,47.2766632880457],[-75.74006119155469,47.28958148573722],[-75.79709583113943,47.3171421459896],[-75.8385625062484,47.310277465224516],[-75.88157190274622,47.28263366086292],[-75.9024539112089,47.266615145011635],[-75.92368053599864,47.24513376255945],[-75.95259847978114,47.22913383467684],[-75.96753448704719,47.21295239626213],[-75.85622767034178,47.13683034878735],[-75.74916876570683,47.06504983416085],[-75.67138529759549,47.017180172630134],[-75.54937121893016,46.92999044958041],[-75.54328783669989,46.93899405619162],[-75.55652349284333,46.97060638761131],[-75.54870118512386,46.977414787418496],[-75.50930265313497,46.99444792454932],[-75.50369302493846,46.98391719326849],[-75.4732408914548,46.98015449621152],[-75.45695679761175,46.99355558596845],[-75.43955340760805,46.993980391078956],[-75.41792460722627,47.004402489555254],[-75.39024221064176,46.97582659547508],[-75.3658414838021,46.96802169550677],[-75.36023249741672,46.99449568938105],[-75.36657411134064,47.00424759430919],[-75.347060209881,47.010889797493626],[-75.33263099215588,47.004896186916284],[-75.1956299649423,46.9108858862814],[-75.15816389181933,46.88555441350965],[-75.1010870935787,46.847866847969236],[-75.02176375794761,46.795327578402386],[-75.04452997566102,46.77893516394726],[-75.0366151937138,46.758282240152404],[-75.016250442114,46.748233085636556],[-75.01296959539364,46.738538906084074],[-74.98728869492282,46.726992804507304],[-74.98975550550081,46.665927883471774],[-74.9544019837255,46.674458102770494],[-74.95190315650518,46.621672762481175],[-74.94013288727686,46.61025394557897],[-74.84260873832015,46.675547275477314],[-74.9465565585893,46.74772888909608],[-74.79449382631458,46.85121535324514]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.367663963052,\"lat\":47.04237973342998},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2479\"],\"cd_name_en\":[\"Antoine-Labelle\"],\"csd_code\":[\"2479922\"],\"csd_name_en\":[\"Lac-Douaire\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Antoine-Labelle\",\"csd_name_fr\":\"Lac-Douaire\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.80831134157096,46.23627546221159],[-75.86379842393256,46.237242967380546],[-75.88542291064022,46.229979429288576],[-75.89646162252228,46.239390179723095],[-75.89902007819971,46.25405263985712],[-75.93669180453693,46.25365183817315],[-75.9310210112908,46.26452191170023],[-75.94342809401242,46.27380605661076],[-75.93978855448367,46.28283815790308],[-75.9804425253426,46.28085837827468],[-75.97962767394024,46.226067033989],[-75.99835138671749,46.22511774028827],[-75.99742205601298,46.20985503852133],[-76.02056844132824,46.20988977162483],[-76.02054971909901,46.20236889255519],[-75.99692886767632,46.20283374793006],[-75.99733106077444,46.16265975558438],[-75.95321159120691,46.16316627450407],[-75.94731605284137,46.14978354500088],[-75.9312311776662,46.14932899889634],[-75.93141318031479,46.16454016391193],[-75.87439728936452,46.163239465839645],[-75.8325434130071,46.164376782935484],[-75.80055558365291,46.15858169160057],[-75.79262398540982,46.16996097997479],[-75.8105931134055,46.193767773618895],[-75.80241900152201,46.21750740460433],[-75.81222996651209,46.223968214927055],[-75.80831134157096,46.23627546221159]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.90866432409928,\"lat\":46.20697487740604},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2483\"],\"cd_name_en\":[\"La Vall\\u00e9e-de-la-Gatineau\"],\"csd_code\":[\"2483050\"],\"csd_name_en\":[\"Bouchette\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-de-la-Gatineau\",\"csd_name_fr\":\"Bouchette\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-78.90530332085376,49.00000243108694],[-79.0550955547497,48.99982804066656],[-79.0127339447004,48.99584220289316],[-79.01355525456702,48.966605905565515],[-79.05345898879442,48.96653862127152],[-79.0532062218166,48.93790452415424],[-79.02350780890028,48.93726638020275],[-79.02380242980634,48.90834958381092],[-78.97696462229648,48.90807138424607],[-78.97818772417563,48.878657739432114],[-78.94956794309083,48.87886061818201],[-78.94854855355858,48.92386631840961],[-78.90283119231007,48.92341377251361],[-78.90530332085376,49.00000243108694]]],[[[-78.64357187998928,48.719780955782205],[-78.64315557087563,48.9277443907014],[-78.64378761635213,49.00024742984539],[-78.75483708367408,48.999960837491436],[-78.75298058472603,48.89717562308529],[-78.7526512663541,48.82125780572008],[-78.80597953223902,48.82127245598417],[-78.80614933660621,48.79208696040499],[-78.7522620228524,48.792149741007705],[-78.7527377770628,48.71915360159062],[-78.64357187998928,48.719780955782205]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.77342694848046,\"lat\":48.882532165933576},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2487\"],\"cd_name_en\":[\"Abitibi-Ouest\"],\"csd_code\":[\"2487904\"],\"csd_name_en\":[\"Rivi\\u00e8re-Ojima\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi-Ouest\",\"csd_name_fr\":\"Rivi\\u00e8re-Ojima\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.27179605012232,48.56089513645462],[-72.24877608280342,48.5403521417189],[-72.21210763626112,48.559117398003075],[-72.22504122025116,48.5858201769184],[-72.27078122822921,48.590777979703425],[-72.29246424577231,48.579457600483146],[-72.27179605012232,48.56089513645462]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.24952954207765,\"lat\":48.56900579288265},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2491\"],\"cd_name_en\":[\"Le Domaine-du-Roy\"],\"csd_code\":[\"2491802\"],\"csd_name_en\":[\"Mashteuiatsh\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Domaine-du-Roy\",\"csd_name_fr\":\"Mashteuiatsh\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.71856043225962,48.45841965680497],[-71.73168556757524,48.445660545232435],[-71.7723944364797,48.454153906332124],[-71.77797459639633,48.43933452667652],[-71.74423038337855,48.43226367869257],[-71.80482268392731,48.28519388457646],[-71.74212091151912,48.275625646104],[-71.61138808811316,48.250081049944846],[-71.5710337758472,48.34747607529681],[-71.54370379434597,48.34197999552303],[-71.54004988435577,48.34991694133725],[-71.56368749834871,48.36348537487157],[-71.55383661945785,48.38679655812905],[-71.57717403481658,48.3912160450444],[-71.57014499559904,48.40720034358485],[-71.65252392959718,48.421481224252254],[-71.67814309381902,48.42086674941917],[-71.67294015620095,48.435161572077476],[-71.72429531672928,48.44493198081537],[-71.71856043225962,48.45841965680497]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.67826130612487,\"lat\":48.34739724745594},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2493\"],\"cd_name_en\":[\"Lac-Saint-Jean-Est\"],\"csd_code\":[\"2493020\"],\"csd_name_en\":[\"H\\u00e9bertville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Lac-Saint-Jean-Est\",\"csd_name_fr\":\"H\\u00e9bertville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.59551190866537,48.656007554736945],[-71.43488347901821,48.62807365169382],[-71.42932133956329,48.642056901675595],[-71.38934383950782,48.74018970171282],[-71.5509019766955,48.76921292715995],[-71.5943497506558,48.658950240575024],[-71.59551190866537,48.656007554736945]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.49275826538205,\"lat\":48.69847313448875},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2493\"],\"cd_name_en\":[\"Lac-Saint-Jean-Est\"],\"csd_code\":[\"2493055\"],\"csd_name_en\":[\"Labrecque\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Lac-Saint-Jean-Est\",\"csd_name_fr\":\"Labrecque\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.64917224705806,48.1922819531839],[-70.77445815058061,48.26319201942302],[-70.78874617695594,48.25234795933151],[-70.81106891110046,48.264351406991025],[-70.84700307941264,48.2344053544765],[-70.8899542877861,48.199494977449355],[-70.98557805690349,48.11359777887967],[-70.91472826332948,48.11332139560109],[-70.91385663838437,47.9999093713477],[-70.74194478343523,48.00003852550226],[-70.74274787388191,48.10990074599005],[-70.75402198697114,48.10963357229909],[-70.64917224705806,48.1922819531839]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.81542519742771,\"lat\":48.12787531042095},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2494\"],\"cd_name_en\":[\"Le Saguenay-et-son-Fjord\"],\"csd_code\":[\"2494220\"],\"csd_name_en\":[\"Ferland-et-Boilleau\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Saguenay-et-son-Fjord\",\"csd_name_fr\":\"Ferland-et-Boilleau\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.47887053620056,49.589876363622885],[-67.38047572227397,49.58973712463718],[-67.23629375138236,49.5871611242541],[-66.99999998831207,49.59028019288512],[-66.56638716483167,49.5878950653094],[-66.50857752466337,49.61569834923759],[-66.45518817627871,49.633015221169934],[-66.32988092911366,49.66089940924209],[-66.13123955781677,49.702367089638805],[-66.4787094942828,49.893400823346504],[-66.67470533339878,49.99989616540825],[-66.71819690038234,50.05746892100059],[-66.72377996477317,50.079714057281684],[-66.7256082995688,50.175572333841096],[-66.72378313021682,50.21218901432022],[-67.10485127718624,50.00946664112734],[-67.1263233378252,50.00006524578118],[-67.37686595841599,49.83918223353082],[-67.37726055364155,49.69408896955736],[-67.4472148738167,49.692768999213506],[-67.44982080332754,49.676168801361975],[-67.46847156753188,49.64533164987374],[-67.48625634151911,49.63707717593897],[-67.48433358710508,49.60713757404261],[-67.47887053620056,49.589876363622885]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.86569764845568,\"lat\":49.80258224986178},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2497\"],\"cd_name_en\":[\"Sept-Rivi\\u00e8res--Caniapiscau\"],\"csd_code\":[\"2497022\"],\"csd_name_en\":[\"Port-Cartier\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Sept-Rivi\\u00e8res--Caniapiscau\",\"csd_name_fr\":\"Port-Cartier\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.8257282241388,54.80637602659932],[-66.81784236988801,54.80906489899053],[-66.82483825466625,54.813156461538306],[-66.82814945820773,54.81125297232043],[-66.8257282241388,54.80637602659932]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.82379573982053,\"lat\":54.80974322004247},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2497\"],\"cd_name_en\":[\"Sept-Rivi\\u00e8res--Caniapiscau\"],\"csd_code\":[\"2497808\"],\"csd_name_en\":[\"Matimekosh\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Sept-Rivi\\u00e8res--Caniapiscau\",\"csd_name_fr\":\"Matimekosh\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-61.5646811871799,50.23926954762257],[-61.69318030963093,50.23928238683397],[-61.712653031213144,50.28815978483398],[-61.72785885635237,50.29367511665582],[-61.7897154811164,50.273474323901944],[-61.82152462183302,50.27124715269227],[-61.82781003217948,50.28195795971759],[-61.81271410559657,50.29309661132006],[-61.79296027886644,50.31626487208712],[-61.784345798861686,50.34963487152288],[-61.76453158608669,50.37057679971612],[-61.765491221039895,50.382387088323135],[-61.77865100951672,50.39497756230703],[-61.785770139601084,50.42114845471521],[-61.79426201967635,50.42511858704015],[-62.186933997993016,50.42171970704697],[-62.19516688991994,50.4130754833583],[-62.18627351413682,50.40327430621208],[-62.18291387422885,50.385824903514134],[-62.15446040861796,50.35476311173512],[-62.14904908944803,50.321706786046775],[-62.14167779748913,50.311390085488256],[-62.15228438382458,50.28823320475668],[-62.174057605631575,50.279801298919715],[-62.16982970291314,50.268479113831724],[-62.17863539486526,50.26032698717827],[-62.128473423021234,50.25674887984836],[-61.906061280054,50.26096483072434],[-61.900314775658785,50.246389755714276],[-61.92303973077532,50.23528151973551],[-61.92718431234516,50.216270924184045],[-61.99352913876061,50.15990499147154],[-62.02267274363122,50.13250752933589],[-62.14741537713844,50.00242670710335],[-62.18390075517451,49.953502196039196],[-62.28316429367949,49.82369450132465],[-62.33440504330685,49.75242906893343],[-62.3828513624984,49.692486606927616],[-62.46098721322846,49.58481455642348],[-62.40619153488464,49.55560541566195],[-62.31607299941432,49.51127621215109],[-62.23363791093625,49.65342431387919],[-62.13621778492081,49.82111621846459],[-62.060580218346985,49.949629459171334],[-62.02120537998415,50.00461186485553],[-61.904916245810234,50.07356765072499],[-61.845325576961216,50.10374736998938],[-61.811632595580505,50.11333021743811],[-61.745638472641545,50.12314352169734],[-61.68249120769876,50.144900432742396],[-61.648361501779675,50.14565978294164],[-61.60633041740513,50.15448776446655],[-61.59387010126607,50.16949855426456],[-61.59288004300253,50.20082804652977],[-61.5812332697134,50.220121001477125],[-61.57082861534155,50.22751784688014],[-61.5646811871799,50.23926954762257]],[[-61.80648744832475,50.12842302365622],[-61.80498950161768,50.14811731006092],[-61.79246793455489,50.141420579844734],[-61.80648744832475,50.12842302365622]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.030795392689576,\"lat\":50.07218030490984},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2498\"],\"cd_name_en\":[\"Minganie--Le Golfe-du-Saint-Laurent\"],\"csd_code\":[\"2498025\"],\"csd_name_en\":[\"Natashquan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Minganie--Le Golfe-du-Saint-Laurent\",\"csd_name_fr\":\"Natashquan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.59498419454133,45.084348201834516],[-75.61859693626432,45.1020687480324],[-75.63479268564626,45.090013921091],[-75.63963288804437,45.07268985464716],[-75.64778829948486,45.06457655789348],[-75.68860743448072,45.047552830634295],[-75.70588637392892,45.02524196218129],[-75.72548531003652,45.02043809016474],[-75.75702030906777,45.00396629840164],[-75.77010411976066,44.989664931671776],[-75.81009875359608,44.97668327635046],[-75.81804366924867,44.96831597431394],[-75.69578482301972,44.845647511262506],[-75.64575519691567,44.87645985582206],[-75.64709499325649,44.878121196950254],[-75.58330910648533,44.913257890118686],[-75.5328160913567,44.93936791885342],[-75.48560441281718,44.9565106989266],[-75.52163418046224,45.00120258081559],[-75.56157269866392,45.04482239643242],[-75.59498419454133,45.084348201834516]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.65103025747601,\"lat\":44.96986013367708},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3507\"],\"cd_name_en\":[\"Leeds and Grenville\"],\"csd_code\":[\"3507065\"],\"csd_name_en\":[\"North Grenville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Leeds and Grenville\",\"csd_name_fr\":\"North Grenville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.19008382974317,44.57140666299804],[-77.20750505847428,44.56701640736983],[-77.24499744092576,44.64239921526079],[-77.28834560925213,44.7322316351411],[-77.31383684095633,44.72568340174883],[-77.40763615471062,44.8994996115468],[-77.55622766372177,44.85863281708614],[-77.56819855997844,44.8553190278807],[-77.4756991053719,44.68501082083756],[-77.46550384902645,44.68702799069501],[-77.3818300151843,44.52226843034505],[-77.41291689833831,44.514668944147076],[-77.3308753865781,44.3493550090766],[-77.13960796813849,44.39848573318819],[-77.05544043544742,44.41985627807885],[-77.19008382974317,44.57140666299804]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.32824936391677,\"lat\":44.60476659910792},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3512\"],\"cd_name_en\":[\"Hastings\"],\"csd_code\":[\"3512030\"],\"csd_name_en\":[\"Tweed\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Hastings\",\"csd_name_fr\":\"Tweed\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.43695571469091,43.911942567116604],[-78.48458123764159,44.0206056292247],[-78.50869780954282,44.081278003590185],[-78.51629230628808,44.09875771123711],[-78.69270051766338,44.058402255030835],[-78.70324310331102,44.08044551104363],[-78.87187710498979,44.040532197527924],[-78.79619656202833,43.867031218538344],[-78.78493995249524,43.86965499772141],[-78.71166954966591,43.867674603818095],[-78.67600833084572,43.88512560419666],[-78.65261144599826,43.89225498557735],[-78.61757545089473,43.89854319300948],[-78.5976632372733,43.895821191209535],[-78.54138134530305,43.89594759995253],[-78.50292663846503,43.9005975978928],[-78.4819549468109,43.89655490353998],[-78.43695571469091,43.911942567116604]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.65488057500161,\"lat\":43.979304571311374},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3518\"],\"cd_name_en\":[\"Durham\"],\"csd_code\":[\"3518017\"],\"csd_name_en\":[\"Clarington\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Durham\",\"csd_name_fr\":\"Clarington\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.8888708961116,43.67489059371548],[-79.9690347088406,43.73445100022692],[-80.08575470536442,43.62911000420274],[-80.08559119969696,43.628977205117955],[-79.93908260779632,43.52464740060794],[-79.89546684129441,43.5637117708264],[-79.86842931244982,43.54432939784594],[-79.85913481137638,43.544530008610415],[-79.81025270722003,43.58851261993117],[-79.79035675145577,43.60223143766928],[-79.8888708961116,43.67489059371548]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.94166951583338,\"lat\":43.62378381002847},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3524\"],\"cd_name_en\":[\"Halton\"],\"csd_code\":[\"3524015\"],\"csd_name_en\":[\"Halton Hills\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Halton\",\"csd_name_fr\":\"Halton Hills\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.67072093483388,41.676964327692694],[-82.66950331324635,41.70166024301556],[-82.65075457223934,41.70717629143556],[-82.64838296090763,41.727041361364485],[-82.62834288222368,41.729698425814234],[-82.60210994386058,41.74372632070501],[-82.6004543572071,41.75143707249839],[-82.61129340019724,41.777827558107845],[-82.6066784708407,41.8008953797458],[-82.61456910006012,41.82486668353119],[-82.62396235994531,41.84070908080562],[-82.64064891730095,41.847278307402675],[-82.66057590248187,41.83473685186773],[-82.66826734282257,41.82628571376618],[-82.68243957095166,41.83055773547546],[-82.70260276756733,41.82486307980678],[-82.71733402997576,41.81160150527487],[-82.7429807973583,41.80891884007263],[-82.76101405726287,41.81207831938702],[-82.83846455570416,41.83281302169157],[-82.92389295897713,41.85070042552796],[-82.95870736209338,41.85528644205207],[-82.99999984375674,41.855434725926365],[-83.00000000011265,41.830582201650415],[-82.68019868147097,41.67694922037317],[-82.67072093483388,41.676964327692694]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.76548241097115,\"lat\":41.78074258642815},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3537\"],\"cd_name_en\":[\"Essex\"],\"csd_code\":[\"3537001\"],\"csd_name_en\":[\"Pelee\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Essex\",\"csd_name_fr\":\"Pelee\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.48455890110782,42.34415444269809],[-82.55083188931204,42.39761382353437],[-82.70162521697362,42.39753357754955],[-82.80345512830161,42.39814781426729],[-82.82801827639558,42.37348841040747],[-82.853964854494,42.367630968384276],[-82.84303211325201,42.31994563958353],[-82.84612169367507,42.30831628541219],[-82.86922570331409,42.31070599960004],[-82.87740998801804,42.17977750676507],[-82.80395049276767,42.17726410849203],[-82.63573758526249,42.171681096094154],[-82.45789981706531,42.165361490501326],[-82.45592880590775,42.19448519858771],[-82.43702309771841,42.19371310880218],[-82.43299029266133,42.24700020173964],[-82.44750291420156,42.26762124138443],[-82.43373664079556,42.27308068946579],[-82.4299194113726,42.29712949597071],[-82.48455890110782,42.34415444269809]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.6574012444556,\"lat\":42.2779959512626},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3537\"],\"cd_name_en\":[\"Essex\"],\"csd_code\":[\"3537064\"],\"csd_name_en\":[\"Lakeshore\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Essex\",\"csd_name_fr\":\"Lakeshore\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.37683628567564,42.92191025599721],[-82.37657269481178,42.936093689494946],[-82.41840800401708,42.93703939772458],[-82.4169061477901,42.92963911604643],[-82.43360510281386,42.922223390374945],[-82.45110176755598,42.9328158316816],[-82.45847407704467,42.91712448597468],[-82.4480896136682,42.91243590535565],[-82.43765842840592,42.912353312917006],[-82.41705130401122,42.9121753928306],[-82.37692140627698,42.91171768771934],[-82.37683628567564,42.92191025599721]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.41143024226538,\"lat\":42.9227638161112},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3538\"],\"cd_name_en\":[\"Lambton\"],\"csd_code\":[\"3538025\"],\"csd_name_en\":[\"Sarnia 45\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Lambton\",\"csd_name_fr\":\"Sarnia 45\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.4173135806344,43.92183040740742],[-81.52026325015605,43.96295806764547],[-81.76576406595227,44.06224640727089],[-81.76433131551866,44.046005840170224],[-81.74672228250151,44.00194889942002],[-81.74499461356336,43.96489347690354],[-81.74065011910625,43.94073809100109],[-81.73499198203794,43.882166595595436],[-81.74032638872518,43.81549285073707],[-81.73940790673474,43.790803900920906],[-81.73254138173151,43.74985599341958],[-81.73048476658654,43.74845618532045],[-81.70258736652961,43.754148193755576],[-81.68503474980676,43.736933936013344],[-81.66885188714825,43.73757169026291],[-81.66701875401225,43.72401789612622],[-81.63550706638789,43.709352267820606],[-81.62783579869233,43.71751839912709],[-81.60807848012264,43.70007600767238],[-81.6212153999272,43.6859279489823],[-81.60121313793854,43.66283588804609],[-81.58150208469017,43.68118014260406],[-81.59043095136282,43.69152054074224],[-81.55831444310881,43.71732988591002],[-81.55185525898408,43.73537748611196],[-81.57182199744197,43.74092548915445],[-81.57418794595483,43.755216392133164],[-81.55724009154434,43.75609264869257],[-81.53306691772096,43.77143719211583],[-81.4173135806344,43.92183040740742]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.61790220413899,\"lat\":43.87317111609177},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3540\"],\"cd_name_en\":[\"Huron\"],\"csd_code\":[\"3540063\"],\"csd_name_en\":[\"Ashfield-Colborne-Wawanosh\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Huron\",\"csd_name_fr\":\"Ashfield-Colborne-Wawanosh\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.53476682033661,44.85430845714497],[-79.60012883467034,44.87294584778382],[-79.61716367886125,44.88278989647123],[-79.62742496089768,44.895570919537555],[-79.63884660036065,44.89701665470304],[-79.65792704994095,44.89442373900851],[-79.69388357589062,44.87346690309303],[-79.70393856125135,44.85556107167592],[-79.69425847485147,44.83962382764927],[-79.67993973031832,44.82616298985424],[-79.68858259569296,44.81926140318618],[-79.71206869314886,44.82009510048674],[-79.72249379905082,44.799962656825905],[-79.70770729370462,44.7948913101057],[-79.69224310913259,44.776977289588345],[-79.7021421131925,44.74678630919188],[-79.66646241681255,44.709949300046084],[-79.67718768869965,44.70520408620145],[-79.64518312546453,44.670004164589386],[-79.57830007279517,44.698039118131994],[-79.51142769280486,44.620891587903735],[-79.49851911708423,44.615275292241144],[-79.45708371948162,44.612160307788734],[-79.44591399499292,44.6163549912272],[-79.42151252040688,44.64376158577611],[-79.40117800677615,44.64034351610558],[-79.39596933014673,44.6569066803924],[-79.36938218066207,44.68067246316488],[-79.34909350656619,44.725258133726044],[-79.3261589611452,44.75688193430173],[-79.31104080681753,44.752966311175],[-79.29674519644563,44.77537037043139],[-79.29356331973293,44.78384881820265],[-79.32880616816192,44.77906558928465],[-79.3527389441843,44.772739265375066],[-79.39459336249614,44.77605058072174],[-79.3900642582104,44.79105829225634],[-79.39403242964508,44.82515416434036],[-79.40819879801836,44.843331923316654],[-79.43432083549446,44.84254048596446],[-79.45114279447178,44.838093898433776],[-79.47404068122177,44.84725990732085],[-79.52611836975464,44.84956635683564],[-79.53476682033661,44.85430845714497]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.52691326698033,\"lat\":44.75713172371928},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3543\"],\"cd_name_en\":[\"Simcoe\"],\"csd_code\":[\"3543015\"],\"csd_name_en\":[\"Severn\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Simcoe\",\"csd_name_fr\":\"Severn\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.63297180468837,46.37292964265352],[-79.63370262993043,46.44749510854566],[-79.75873324608574,46.44711347471116],[-79.75934160728652,46.48360428759525],[-79.75567963207023,46.62429767473842],[-80.03972061585979,46.6249198650824],[-80.03736658950893,46.7079589154774],[-80.29161303366003,46.711312034429135],[-80.35508179219754,46.711230729829126],[-80.35860929882455,46.62516527093312],[-80.29170829547883,46.62540208741337],[-80.29248159693374,46.56583185535649],[-80.29331808434681,46.507420171909395],[-80.29064850832688,46.362922191374174],[-80.30698560748,46.36292729310802],[-80.30644687029759,46.2502012343939],[-80.30621522158707,46.105064283044754],[-80.17579653609049,46.1052217926626],[-80.1620033590736,46.1105706086408],[-80.12501467264232,46.1179172172142],[-80.09789760537849,46.115762528324424],[-80.08563192388698,46.126592726915874],[-80.11314181975932,46.13561142997344],[-80.11799689693603,46.13959061727953],[-80.11146484085637,46.14773435679609],[-80.08542757691474,46.14347618916248],[-80.07611101162256,46.14593429480686],[-80.05266271389716,46.150032907840334],[-80.02915991716863,46.15183383888286],[-80.01538236196915,46.14473647564317],[-79.9950506529994,46.14745694365765],[-79.94644725984593,46.170149415128286],[-79.8920911925205,46.19082734908085],[-79.83694744776156,46.20561261891622],[-79.79885192700533,46.206259404082395],[-79.66148461069416,46.21386369165786],[-79.62994859375408,46.21570146607403],[-79.63212031125659,46.35027058413939],[-79.66722344504159,46.3561825015509],[-79.70177624455826,46.36811929188724],[-79.72885084504517,46.367299698403365],[-79.74774564419845,46.36085500014459],[-79.77644445723242,46.33949379311337],[-79.78208733973386,46.322958194094554],[-79.80405484869762,46.329490006058236],[-79.82582484001996,46.32454630251268],[-79.83225885038242,46.30942359434067],[-79.85652065247639,46.30685180812796],[-79.88390078077497,46.32468940278369],[-79.88395260174408,46.36552208666121],[-79.71064471141437,46.370256746100814],[-79.63297180468837,46.37292964265352]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.02680678102742,\"lat\":46.405172205024954},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3548\"],\"cd_name_en\":[\"Nipissing\"],\"csd_code\":[\"3548055\"],\"csd_name_en\":[\"West Nipissing \\/ Nipissing Ouest\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality \\/ Municipalit\\u00e9\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Nipissing\",\"csd_name_fr\":\"West Nipissing \\/ Nipissing Ouest\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.00150100004183,45.34278418445572],[-80.01202725661504,45.3624483125786],[-80.02403449224713,45.37395433924483],[-80.0563720194189,45.36790983644075],[-80.07467258640887,45.36028746425517],[-80.0554808860563,45.33622077870445],[-80.05056975300612,45.33009155386311],[-80.04751111492712,45.32621855004006],[-80.01505345874399,45.33044888562561],[-80.00150100004183,45.34278418445572]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.03601089229392,\"lat\":45.35017205931202},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3549\"],\"cd_name_en\":[\"Parry Sound\"],\"csd_code\":[\"3549032\"],\"csd_name_en\":[\"Parry Sound\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Parry Sound\",\"csd_name_fr\":\"Parry Sound\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.35520024498692,45.83724680762503],[-79.36463701638937,45.85435926837252],[-79.39867028068235,45.84564521842846],[-79.37982375024606,45.83067368605687],[-79.35520024498692,45.83724680762503]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.37499053943377,\"lat\":45.84238992373689},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3549\"],\"cd_name_en\":[\"Parry Sound\"],\"csd_code\":[\"3549056\"],\"csd_name_en\":[\"South River\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Parry Sound\",\"csd_name_fr\":\"South River\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.4136432992851,45.95034976723997],[-79.36270591387077,45.965806903651334],[-79.25768678035968,45.9940771364959],[-79.23342415073076,46.00089831015578],[-79.26029546114482,46.05454965004166],[-79.2715932833588,46.07204130115248],[-79.31376209198201,46.14802278788053],[-79.45008317818436,46.10867989084697],[-79.41528761634953,46.045854198262674],[-79.40915520953172,46.031647399832345],[-79.45208418910558,46.019987111823184],[-79.4136432992851,45.95034976723997]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.35049156829858,\"lat\":46.04696473903017},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3549\"],\"cd_name_en\":[\"Parry Sound\"],\"csd_code\":[\"3549060\"],\"csd_name_en\":[\"Powassan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Parry Sound\",\"csd_name_fr\":\"Powassan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.4136432992851,45.95034976723997],[-79.45208418910558,46.019987111823184],[-79.40915520953172,46.031647399832345],[-79.41528761634953,46.045854198262674],[-79.45008317818436,46.10867989084697],[-79.51337049798676,46.22197138665197],[-79.62994859375408,46.21570146607403],[-79.66148461069416,46.21386369165786],[-79.66241051478366,46.18308436306893],[-79.61250854988994,46.09342306365142],[-79.68226402534032,46.07432044455481],[-79.65474841736265,46.02374919621872],[-79.63883285135654,46.00060484426816],[-79.58621894297849,45.90574953716056],[-79.43868371846729,45.942912346807574],[-79.41626291241768,45.94966810726842],[-79.4136432992851,45.95034976723997]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.54608286765767,\"lat\":46.065765165782025},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3549\"],\"cd_name_en\":[\"Parry Sound\"],\"csd_code\":[\"3549071\"],\"csd_name_en\":[\"Nipissing\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Parry Sound\",\"csd_name_fr\":\"Nipissing\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.87701855496195,47.84130194870077],[-79.87558813799043,47.870114514189474],[-79.8833214484196,47.8836233124912],[-79.87734741799977,47.90072350386044],[-79.88821493004798,47.92274902754706],[-79.88865065109236,47.93865202868904],[-80.01744990460472,47.940388694915875],[-80.0174448917265,47.841543500524956],[-79.88831828429304,47.84127448604672],[-79.87701855496195,47.84130194870077]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.9492774726149,\"lat\":47.88962614891441},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3554\"],\"cd_name_en\":[\"Timiskaming\"],\"csd_code\":[\"3554054\"],\"csd_name_en\":[\"Chamberlain\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Timiskaming\",\"csd_name_fr\":\"Chamberlain\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-83.07786359509493,49.5798115403393],[-83.07798109617897,49.44957771359923],[-82.76322450320201,49.450082827250796],[-82.76236639725927,49.50790390020989],[-82.76369185469159,49.58086649446291],[-82.95995269691127,49.5807007747372],[-83.07786359509493,49.5798115403393]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.92033826365446,\"lat\":49.51518417882294},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3556\"],\"cd_name_en\":[\"Cochrane\"],\"csd_code\":[\"3556073\"],\"csd_name_en\":[\"Opasatika\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Cochrane\",\"csd_name_fr\":\"Opasatika\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-88.13107970098272,49.435211894955046],[-88.133938162676,49.44240806501173],[-88.13557424441487,49.43592531847873],[-88.13107970098272,49.435211894955046]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-88.1335307026912,\"lat\":49.4378484261485},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3558\"],\"cd_name_en\":[\"Thunder Bay\"],\"csd_code\":[\"3558069\"],\"csd_name_en\":[\"Rocky Bay 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Thunder Bay\",\"csd_name_fr\":\"Rocky Bay 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-88.13666126174984,49.45550631092623],[-88.10063789912358,49.45266004575051],[-88.09165458986801,49.46444010028315],[-88.09641772448458,49.479713038394834],[-88.13497308149158,49.47799704687508],[-88.14378454839819,49.46987341829677],[-88.13666126174984,49.45550631092623]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-88.11663024671302,\"lat\":49.466587601789804},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3558\"],\"cd_name_en\":[\"Thunder Bay\"],\"csd_code\":[\"3558074\"],\"csd_name_en\":[\"Sand Point First Nation\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Thunder Bay\",\"csd_name_fr\":\"Sand Point First Nation\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-87.71657305594742,51.614278946553476],[-87.69016105249598,51.65958998355818],[-87.9103032133402,51.70860754434354],[-87.97253659864342,51.601705382349046],[-87.95015904374252,51.59009021297501],[-87.96787845164938,51.57518912141523],[-87.94756471695518,51.56779451519274],[-87.9255152231239,51.57584612748995],[-87.90944825327156,51.56808173715307],[-87.92362393327716,51.55461181985446],[-87.89248691860166,51.557020618565495],[-87.86973591849775,51.54442753063594],[-87.84753302951259,51.54448233380205],[-87.83883962211846,51.53179343215928],[-87.81081183420854,51.52826111329297],[-87.77997253762645,51.51915341167101],[-87.76241691899845,51.52432992263368],[-87.741621541614,51.570977613153815],[-87.71657305594742,51.614278946553476]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-87.83478136956926,\"lat\":51.61631777414761},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560053\"],\"csd_name_en\":[\"Fort Hope 64\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Fort Hope 64\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-94.36177988068687,49.74354707894031],[-94.48490523525257,49.74525006777086],[-94.47233806857592,49.72436583200924],[-94.45251117322545,49.73275683065942],[-94.43959903819717,49.71801344290616],[-94.40806334080098,49.72563334116929],[-94.39948006152889,49.71810062654865],[-94.37315730531823,49.72823626932975],[-94.38015274718947,49.735570294300146],[-94.36177988068687,49.74354707894031]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-94.4248237397314,\"lat\":49.73421770956187},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560066\"],\"csd_name_en\":[\"Kenora 38B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Kenora 38B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-96.64597400774834,49.53218799044023],[-96.67630761842013,49.545107903630594],[-96.67622296412881,49.567155882983634],[-96.71046154955948,49.56734487359947],[-96.71070470214875,49.55267000112642],[-96.7334648179889,49.552824458368356],[-96.73391358908816,49.53233430134618],[-96.72243732467408,49.53235030267331],[-96.71402819077628,49.51744150439744],[-96.71391520557803,49.49549780337534],[-96.66862026867952,49.49547343492938],[-96.64596830384244,49.502671998569184],[-96.64597400774834,49.53218799044023]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-96.68868557552139,\"lat\":49.528390360723144},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4602\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4602044\"],\"csd_name_en\":[\"Steinbach\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Steinbach\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-98.06933820012377,49.26620579342318],[-98.27297551393995,49.266416404033635],[-98.27320034449578,49.1777520795443],[-98.26766470808376,49.177526489819215],[-98.2679648970914,49.00029214229212],[-98.033078963009,49.00041219248409],[-97.86329509376505,49.00060816841875],[-97.86345229914811,49.17772789417247],[-97.86611418573129,49.17772059047086],[-97.8658865115758,49.26629479252431],[-98.06933820012377,49.26620579342318]],[[-98.11428551681823,49.20709059594684],[-98.06932210769135,49.20710580696744],[-98.06909821543614,49.19270228925854],[-98.08668399975494,49.19230529480816],[-98.08834799924593,49.17217100383038],[-98.11087269854208,49.177667090277076],[-98.14940634615796,49.17756932614814],[-98.14922707359158,49.19231117681542],[-98.13705418704795,49.20296401114247],[-98.11428551681823,49.20709059594684]],[[-97.97857163754269,49.199926676834636],[-97.90113768444002,49.19990370767246],[-97.9010369256645,49.17771824195306],[-97.90862959538906,49.16305109603761],[-97.96456698475403,49.16291661146341],[-97.96455387946578,49.176260735001684],[-97.97850451816282,49.177723508597786],[-97.97857163754269,49.199926676834636]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-98.06938711578445,\"lat\":49.131162828512124},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4603\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4603047\"],\"csd_name_en\":[\"Stanley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Stanley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-98.92105100554642,49.38408399151531],[-98.89659291439112,49.369576947350026],[-98.88526717437166,49.376789384043214],[-98.8606411091918,49.37672968663141],[-98.83973190395609,49.38411679819905],[-98.83974401410694,49.41430399075449],[-98.930447296065,49.4136115987336],[-98.93042000795013,49.38415299167692],[-98.92105100554642,49.38408399151531]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-98.88484237358483,\"lat\":49.395737249227665},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4604\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"4604068\"],\"csd_name_en\":[\"Swan Lake 7\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Swan Lake 7\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.73509119694995,50.06380348850486],[-97.80989650912021,50.0638209044536],[-97.83075080987557,50.07721878820245],[-97.8743362778878,50.077558029255975],[-97.90200959036505,50.08322120009162],[-97.92991580930432,50.08357170655637],[-97.94737052973728,50.076801361221015],[-97.9499811434253,50.04186677571603],[-97.93317375025268,50.049662077033055],[-97.91417602312336,50.0456813449407],[-97.90701765956567,50.05445322761587],[-97.87056794484702,50.04683908360482],[-97.83689639756422,50.03366943043588],[-97.80756766404473,50.005394785124416],[-97.78264896419343,50.00999743121614],[-97.74271945428039,50.0095536863445],[-97.72625709220507,50.00138252694573],[-97.70820793352354,50.00091902798325],[-97.69364107005981,49.99243465174464],[-97.68193362431431,49.97400025572423],[-97.65782519700227,49.967780331443784],[-97.63966109434766,49.95177889672611],[-97.61208548694984,49.95315003039575],[-97.58035519839329,49.922164025449646],[-97.55501889056563,49.91308051786048],[-97.51835040710563,49.89316877288104],[-97.50948875228488,49.87369111416421],[-97.4493376356822,49.8707379930241],[-97.44411542807754,49.923295334726355],[-97.47052475155078,49.9235535331901],[-97.48785921440181,49.941763967904706],[-97.52848145378535,49.96413065882326],[-97.5282263637521,49.96810589697333],[-97.56217698809674,49.99016669916176],[-97.59688709286108,50.00492019593421],[-97.60257581905688,50.012332591009056],[-97.64255837234285,50.0162216607682],[-97.6519041976529,49.99642470242295],[-97.6969694595755,50.02993163572465],[-97.73207176463849,50.04318245742857],[-97.73509119694995,50.06380348850486]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.6670115194415,\"lat\":49.988437075604175},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4610\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4610052\"],\"csd_name_en\":[\"St. Fran\\u00e7ois Xavier\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"St. Fran\\u00e7ois Xavier\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.07018813966467,49.96282085303332],[-97.07301123298495,49.959872044135444],[-97.14939858607227,49.99386720320967],[-97.16097439917637,49.99037358894207],[-97.16102868444169,49.97541590009437],[-97.18387300801923,49.97546110780632],[-97.22938190747783,49.97550819588058],[-97.22956598218641,49.91650460113717],[-97.2638108214789,49.916020286268086],[-97.2625287003999,49.93121885280722],[-97.29826659627338,49.93125950305407],[-97.32039954831824,49.927257640622805],[-97.3219525080731,49.89883648773917],[-97.34488601320092,49.89844361587441],[-97.34660601776793,49.87802131094485],[-97.32578854773148,49.86893046343991],[-97.3244850095315,49.838967000126246],[-97.34680580469956,49.83738070197542],[-97.34912125489592,49.80914449010556],[-97.29955451918784,49.80903739677173],[-97.22216478658865,49.81399411117014],[-97.21385638928895,49.797308809809955],[-97.2137489944342,49.75361369508548],[-97.21938579905643,49.75285489190691],[-97.21987008887737,49.71363749049418],[-97.12832729006563,49.74548803818452],[-97.12206389778513,49.74046586395065],[-97.08291711718152,49.753013870727216],[-97.08365398138066,49.76235566752868],[-97.0480662959999,49.774575593204354],[-97.04866290273574,49.79251280214305],[-97.02616317823723,49.797578655243996],[-97.02691961759392,49.87106184894265],[-96.98129700092538,49.87107859617253],[-96.98127418510065,49.885974187390694],[-96.95599652497643,49.88596129281352],[-96.9560317372555,49.90055706797371],[-96.96476944524777,49.91557861485112],[-97.02251800598155,49.915775398145435],[-97.02484397716194,49.93064194723745],[-96.99770478274903,49.93044049375969],[-97.07018813966467,49.96282085303332]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.15739790729295,\"lat\":49.86368306006812},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4611\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4611040\"],\"csd_name_en\":[\"Winnipeg\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Winnipeg\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-99.85233549288749,50.94845752445551],[-99.85233578374928,51.153215988564206],[-99.83833194640901,51.17336015124789],[-99.83973757415632,51.18970734131529],[-99.85036504747777,51.19527773617003],[-99.84791024835407,51.20695424386621],[-99.85678406919678,51.218431342857315],[-99.85237376815276,51.25007213588075],[-99.85531096629796,51.425685829385124],[-99.8731112617167,51.44976841779354],[-99.97130978035176,51.44884939510789],[-100.27599189394189,51.44914830018795],[-100.27744834978306,51.41727384668665],[-100.27598979082522,51.36177848816738],[-100.2731450973444,51.166539804229906],[-100.27409798516561,51.09595080400447],[-100.27345795710751,50.94861881793434],[-99.85233549288749,50.94845752445551]],[[-100.05305095002046,51.16745184938815],[-100.02755948562337,51.16375767591028],[-100.01640480671692,51.1550199971011],[-100.02821950969886,51.13706717890818],[-100.07494516376674,51.137296595553195],[-100.07588631979374,51.16257853719075],[-100.05305095002046,51.16745184938815]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.06368696105359,\"lat\":51.198920456375944},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4617\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4617048\"],\"csd_name_en\":[\"Dauphin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Dauphin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-98.44431980699093,51.56789238628938],[-98.48018610996476,51.62653955690162],[-98.52851977042023,51.69799589136477],[-98.53934308447315,51.71134522342501],[-98.55508145403253,51.69863422818325],[-98.55298144253356,51.686334832083894],[-98.56063075466636,51.6664789397418],[-98.5806458532856,51.66142693019514],[-98.5744209454099,51.65025414595135],[-98.57148487142317,51.63481033219894],[-98.57669094885816,51.619597532885756],[-98.59007095508596,51.602277644060614],[-98.60119413803552,51.60332753401416],[-98.63416656544857,51.631156033375724],[-98.62968705398497,51.648963250054635],[-98.64399929429885,51.66492621398786],[-98.65300126114535,51.69246783730523],[-98.66915715345024,51.69506804812481],[-98.69010827599527,51.68647993441734],[-98.68122393871123,51.665182235794795],[-98.65601436522529,51.65855633289368],[-98.65187574640358,51.648689449207076],[-98.63496086306945,51.642549061342905],[-98.63702595475931,51.627698646441125],[-98.60624098015506,51.60497655120722],[-98.59599826895503,51.60063473242041],[-98.5890758403892,51.58534744953722],[-98.6049593723247,51.58209754739221],[-98.59029248724912,51.550888754044735],[-98.58971687500976,51.54060253615673],[-98.57105244254248,51.52278613038084],[-98.55690544311653,51.5168259501933],[-98.54088355816492,51.52357113457775],[-98.52892337366065,51.51485114102799],[-98.52706106516979,51.50332973600827],[-98.50981735436463,51.486997253181904],[-98.49248455123707,51.490169542351616],[-98.49756366604211,51.50966313455213],[-98.4905235807475,51.52330934397968],[-98.47233677829269,51.53046284861171],[-98.45568103883572,51.56108903984981],[-98.44431980699093,51.56789238628938]]],[[[-98.62770498670795,50.92292827181426],[-98.61921087591247,50.90987252653573],[-98.6458329556184,50.890806445110286],[-98.65167477400034,50.90438494181126],[-98.67542195991317,50.89468284029117],[-98.70866946850238,50.886173535550505],[-98.70960678081448,50.901184648504575],[-98.73685938206013,50.90154153507615],[-98.75898845006999,50.91098213093593],[-98.77178584857458,50.92783762831707],[-98.77025935290168,50.958989437653166],[-98.79245495878051,50.980311948913325],[-98.7794281510534,50.9922391284262],[-98.76774947818004,50.98830922800398],[-98.74987334745217,50.99540344458623],[-98.78446427136177,51.01856514431497],[-98.78568518448996,51.0413452505011],[-98.7762427640243,51.05164192820772],[-98.74668745155547,51.06099664840468],[-98.73279767566204,51.038336233961985],[-98.71905287802299,51.043461148624246],[-98.71760116728082,51.05934282882065],[-98.73673646828458,51.06185594978424],[-98.76220577840218,51.07498094880231],[-98.75897736530742,51.089182348104465],[-98.74090186732859,51.09288901605349],[-98.77290935556513,51.12058005101086],[-98.78731940799186,51.104886130908305],[-98.78905605756496,51.08585034073763],[-98.82236075862646,51.07408074396991],[-98.83677864438135,51.0615663495311],[-98.85172667700935,51.05928862713832],[-98.84309114804167,51.043145052030646],[-98.85103168289098,51.02686105052036],[-98.83553967201044,50.988325436525734],[-98.83259325081559,50.96302600084174],[-98.85381756414462,50.954874937455365],[-98.86905196714966,50.93697533532617],[-98.8608210649058,50.898072649100676],[-98.86749685611693,50.89075583551445],[-98.86206976124632,50.87489543832478],[-98.8477185663366,50.86932463892661],[-98.8356791582864,50.85587323300874],[-98.82089106175123,50.857308232763316],[-98.80940147307739,50.82832893590334],[-98.78443697556433,50.81046172632853],[-98.76266735382272,50.78041044986504],[-98.7394450750278,50.77320253499225],[-98.73869045011244,50.758452549602495],[-98.72140927015099,50.74030524228221],[-98.71410705773141,50.709437339856784],[-98.69264356653018,50.68013292869719],[-98.66749947942527,50.663993441056434],[-98.63501615848371,50.61791003141131],[-98.64399419027528,50.59488648648697],[-98.6384671638416,50.576156529187806],[-98.60660254799427,50.559582228284846],[-98.59643025635371,50.52239622769371],[-98.595858377762,50.50749082234372],[-98.58367924325782,50.495749129043666],[-98.57807336568426,50.477715344772854],[-98.56268514188535,50.47215462842094],[-98.56190625795955,50.462650146831066],[-98.5307898774325,50.424954344045865],[-98.52055798294569,50.400972047629146],[-98.53155885445732,50.37623973203872],[-98.56430815511831,50.370620151217125],[-98.5808953479592,50.36249704277872],[-98.59706297812325,50.33601424867532],[-98.60212157258138,50.30655964524647],[-98.58716907683208,50.25285494232571],[-98.57067595222713,50.24686013411571],[-98.55993857247272,50.235568871612756],[-98.500350681948,50.20475812671268],[-98.44984865643144,50.191237143299],[-98.38234817452718,50.18450773066063],[-98.31996924970514,50.187792833891166],[-98.26582217442055,50.19863814728557],[-98.19966608064813,50.21587874957511],[-98.10768515433321,50.249916138393715],[-98.07659958048134,50.27436594876297],[-98.06947666584246,50.29312422818204],[-98.01451624715185,50.30710988371068],[-97.97623954101029,50.32941885405642],[-97.94809368306495,50.35289644635707],[-97.95680266693081,50.37050374051269],[-97.94943084365588,50.38497582740895],[-97.96227325626361,50.40722014429102],[-97.959790344571,50.41842202708345],[-97.9796882562517,50.44851562929249],[-98.01822205138568,50.485428437492615],[-98.04266821493943,50.5053619800623],[-98.05284134856859,50.52460323802007],[-98.0826113447101,50.53102913117497],[-98.09251386932209,50.52233363982075],[-98.11859596313793,50.52774564292323],[-98.12477894497493,50.554250943929105],[-98.1200680719179,50.587009725097495],[-98.13493927454569,50.619600524661365],[-98.14792834938245,50.62401743329257],[-98.19890257446949,50.66178643478111],[-98.20552805474097,50.675393529696976],[-98.21822355346364,50.676225730382235],[-98.23955477777999,50.710666737107225],[-98.26531264580146,50.70830034158652],[-98.27437325757931,50.72275054850124],[-98.29095826289513,50.7296378459472],[-98.27977637016993,50.739034445042535],[-98.29516815926688,50.7521863335652],[-98.29883856858159,50.76507304927444],[-98.33633935738382,50.76442463062502],[-98.33547971741764,50.77114920916134],[-98.34189374725402,50.78088624088787],[-98.37249155740254,50.805677448312764],[-98.38020096342595,50.81938794614747],[-98.39542718063504,50.8286809369515],[-98.45298644575931,50.84540844737496],[-98.45892087731637,50.85671303651345],[-98.48161216483541,50.8738528511458],[-98.49862637603853,50.87835613851058],[-98.53754897139223,50.87433074406608],[-98.54808174955143,50.88304995127801],[-98.5723272653807,50.88915743821807],[-98.59136905507407,50.884562949396795],[-98.60958505583292,50.8907313334928],[-98.61223766452166,50.91373443014622],[-98.62770498670795,50.92292827181426]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-98.41056616859045,\"lat\":50.605769073800566},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4618\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4618093\"],\"csd_name_en\":[\"Division No. 18\",\"Unorganized\",\"West Part\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Division No. 18, Unorganized, West Part\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.50947268922896,51.39170849631857],[-97.50933381584568,51.41302698646698],[-97.55605961680216,51.41329449395581],[-97.55521396325527,51.39174605054973],[-97.50947268922896,51.39170849631857]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.53256139984822,\"lat\":51.4024820317092},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4619\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4619058\"],\"csd_name_en\":[\"Fisher River 44A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Fisher River 44A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-99.21548947015843,51.55104883868263],[-99.23504467889826,51.553457028151556],[-99.24707257137709,51.52925363234116],[-99.26176374420966,51.52322884178974],[-99.26462078066783,51.47399396762679],[-99.20451958722201,51.47425286884979],[-99.20492476565678,51.502427920307454],[-99.19307375095443,51.50262699035659],[-99.19269472656609,51.531928474796764],[-99.20151007673485,51.55181994829754],[-99.21548947015843,51.55104883868263]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-99.22790861280474,\"lat\":51.51084371224587},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4619\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4619068\"],\"csd_name_en\":[\"Crane River 51\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Crane River 51\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-99.60106474058765,54.947048240682605],[-99.59827664868916,55.00006737400779],[-99.74999999868395,55.00000001168487],[-100.14383782376885,55.00006901193117],[-100.14296173584839,54.91484614769886],[-100.1689256925897,54.901023447390585],[-100.19862946453397,54.878881342823554],[-100.17849176164017,54.86292504168642],[-100.18521877713007,54.84785061488846],[-100.22800584855459,54.84585225621301],[-100.24642153758674,54.82964733822959],[-100.26653424812453,54.829236655265255],[-100.30563563105451,54.79846315384759],[-100.27509295087371,54.78648075731674],[-100.2901301281498,54.77549974083309],[-100.27682994800797,54.77050155327097],[-100.28460994999877,54.748649045309904],[-100.31545513315935,54.74602934416182],[-100.28498022898583,54.71708373241474],[-100.26815697276912,54.712758851283986],[-100.26451213538515,54.69894174098329],[-100.24554466878777,54.68155433839077],[-100.26857176685338,54.67595054705859],[-100.25824405563553,54.6647694436143],[-100.26631700542714,54.656754653698805],[-100.26483609382605,54.633148857633415],[-100.23807351590666,54.625662734756595],[-100.18886945405441,54.64268945817757],[-100.20287763805345,54.621876636675275],[-100.18817353628489,54.58503736308637],[-100.0376944160321,54.583275034091805],[-99.8642914141309,54.5835676162009],[-99.77713551088883,54.582540096053194],[-99.78097941307144,54.60271790406544],[-99.7891005146425,54.61280289025619],[-99.78304708242032,54.64108010421537],[-99.8195140682388,54.645298152363985],[-99.83245245417558,54.63828704289869],[-99.85978954296925,54.63951714894578],[-99.87417466012552,54.65139264198634],[-99.83889955289689,54.67073933783739],[-99.83631953403177,54.689773741231186],[-99.87909055523474,54.722988150944126],[-99.92386665516975,54.7163705503112],[-99.96055895682625,54.70245514830196],[-99.96501485335484,54.70857694235415],[-99.91739803047487,54.72252524959229],[-99.89908435925564,54.7446370359362],[-99.90366515899248,54.779300753076996],[-99.91434835937028,54.790774157497594],[-99.9646204650287,54.79496684100932],[-99.97614914842326,54.810381752751326],[-99.94684713200498,54.82044386084311],[-99.91302316762085,54.8385211335343],[-99.8783233400721,54.86866145029058],[-99.86089164817452,54.86588915280037],[-99.82088546392006,54.88007805761264],[-99.80059482785344,54.89095223992757],[-99.77077503685662,54.89566274963196],[-99.7623324642061,54.890024650515585],[-99.79471854189066,54.880137451901916],[-99.79861356613732,54.87390003570878],[-99.83486554143519,54.868513343904766],[-99.8572942698036,54.86000755159332],[-99.85506186724432,54.85121085484703],[-99.82949103978441,54.83633674940035],[-99.81649075797891,54.80990313808978],[-99.80001952949051,54.803042538875346],[-99.7664764409185,54.80875174160819],[-99.73288763736983,54.828705349476714],[-99.71882513876174,54.84888624730801],[-99.71765505477936,54.86771523780704],[-99.72923823984952,54.879279260555066],[-99.69123565593304,54.90558665381423],[-99.67733303493927,54.89752193865621],[-99.62814273866097,54.92539115793449],[-99.60106474058765,54.947048240682605]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-99.9911219296274,\"lat\":54.80291728780052},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4621\"],\"cd_name_en\":[\"Division No. 21\"],\"csd_code\":[\"4621071\"],\"csd_name_en\":[\"Snow Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 21\",\"csd_name_fr\":\"Snow Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.79544213432112,54.59428374813837],[-97.78057249628175,54.609063040272375],[-97.78836415738051,54.62729033668175],[-97.82038616423046,54.64276143439385],[-97.85585855482823,54.62514875024724],[-97.88063125051113,54.59679074838898],[-97.85262762444026,54.59480453847424],[-97.82376663323593,54.587953038861215],[-97.79544213432112,54.59428374813837]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.82563660947474,\"lat\":54.61256767880415},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4622\"],\"cd_name_en\":[\"Division No. 22\"],\"csd_code\":[\"4622051\"],\"csd_name_en\":[\"Cross Lake 19\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 22\",\"csd_name_fr\":\"Cross Lake 19\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.67008303618533,57.881948972926544],[-101.62118716005268,57.88358324506878],[-101.60736633822476,57.89715545232688],[-101.61149276354271,57.91191565710707],[-101.58982284418447,57.91817176041297],[-101.58787713082214,57.89378266729031],[-101.55419412761694,57.903409154280595],[-101.54862664260432,57.926063248059094],[-101.51675262317002,57.931125164138265],[-101.49732395758863,57.9448128593557],[-101.67101648286945,57.94320377684865],[-101.67008303618533,57.881948972926544]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.60752982183787,\"lat\":57.91958840125295},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4623\"],\"cd_name_en\":[\"Division No. 23\"],\"csd_code\":[\"4623065\"],\"csd_name_en\":[\"Brochet 197\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 23\",\"csd_name_fr\":\"Brochet 197\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.40939831838611,48.999004903200145],[-102.41029378493498,49.08211079196876],[-102.40875074167883,49.11689059540981],[-102.41014330580792,49.26085338581336],[-102.81371829872498,49.26077008865982],[-102.8124373844488,49.14665540503376],[-102.79045870794329,49.139769935202544],[-102.81243895277854,49.13211683762073],[-102.81245294030249,49.0773353995888],[-102.79043518608017,49.07294252123366],[-102.79005608911372,49.05864987585407],[-102.81254826075904,49.0580727614464],[-102.81229792218839,48.99935197239086],[-102.56607613905472,48.99912202618588],[-102.56610938437608,49.013880998544764],[-102.54369420707346,49.013837606459155],[-102.54377800592054,48.99907568522989],[-102.40939831838611,48.999004903200145]],[[-102.42325495637103,49.20268911690883],[-102.43248921683157,49.20266780146276],[-102.43253187240197,49.21857597780512],[-102.4214223027309,49.218733631724824],[-102.42325495637103,49.20268911690883]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.61057853514158,\"lat\":49.130531639938845},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701016\"],\"csd_name_en\":[\"Coalfields No. 4\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Coalfields No. 4\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.63245898566663,49.78475118936719],[-104.03696409393949,49.78480768686478],[-104.03892268237902,49.78481500512342],[-104.03874999314986,49.522750100090896],[-104.0243243913435,49.52276429740813],[-103.63239048032946,49.52273894832755],[-103.63245898566663,49.78475118936719]],[[-103.99983518816276,49.726567611881194],[-104.01629169408028,49.72653760638596],[-104.01635585868037,49.73569620352338],[-103.99983518816276,49.726567611881194]],[[-103.85818881000888,49.68902679936903],[-103.83562135774841,49.68968638366164],[-103.8130579441859,49.67529464871136],[-103.8130547019442,49.66104598929897],[-103.82460320284596,49.646683193356886],[-103.84638063080733,49.646861150549505],[-103.86343890465935,49.639202355756936],[-103.88072327167602,49.647049467839466],[-103.88076670809262,49.675467098861446],[-103.85818881000888,49.68902679936903]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.83518133823215,\"lat\":49.653423087399325},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4702\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4702044\"],\"csd_name_en\":[\"Weyburn No. 67\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Weyburn No. 67\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.22346534880222,49.78613298872522],[-107.26898049106325,49.78564210887842],[-107.63065338919527,49.785682887905956],[-107.63079421696382,49.523845295733686],[-107.62090473697025,49.52369794275273],[-107.23887843634338,49.52370637456193],[-107.22383351273794,49.524055020992314],[-107.22245457511247,49.61034681129684],[-107.2239441953603,49.66914960841703],[-107.22346534880222,49.78613298872522]],[[-107.49497518609691,49.74993139047145],[-107.48293827280426,49.749174236236925],[-107.4779052703798,49.74131369496572],[-107.48873792495488,49.74120356698439],[-107.49497518609691,49.74993139047145]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.4270043359794,\"lat\":49.65457749493662},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4703\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4703054\"],\"csd_name_en\":[\"Auvergne No. 76\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Auvergne No. 76\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.56775602559077,49.88162267209911],[-106.5685778105651,49.865480569221994],[-106.5520126195875,49.865455651921565],[-106.53968888845947,49.88188366301443],[-106.56775602559077,49.88162267209911]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.55670300857565,\"lat\":49.87430469438876},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4703\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4703071\"],\"csd_name_en\":[\"Gravelbourg\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Gravelbourg\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.8090371126142,49.523465881078415],[-108.80873440069573,49.50944094171331],[-108.8291936186727,49.50908772266075],[-108.83074426797641,49.52339747084211],[-108.85093190612251,49.52384565584015],[-108.85108201045618,49.698465477699024],[-109.25762702382421,49.69842686373252],[-109.25756561996373,49.52420891728846],[-109.16738500078905,49.52502800648094],[-109.16717852994576,49.50940845596794],[-109.12230216971865,49.50956203438321],[-109.1223591860171,49.36428356329685],[-109.12079601675337,49.296565016519025],[-109.12241209222155,49.262263143593636],[-109.08506231297581,49.26081738252336],[-108.9324174201808,49.261642280711236],[-108.56187070610744,49.261664889786616],[-108.42726620823817,49.26173099120329],[-108.42753948660658,49.436483901674976],[-108.42703370848567,49.52382584012296],[-108.44432371300964,49.523795995047976],[-108.8090371126142,49.523465881078415]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.85391830809021,\"lat\":49.45401882989289},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4704\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"4704024\"],\"csd_name_en\":[\"White Valley No. 49\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"White Valley No. 49\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.35455341292143,50.80576438187705],[-102.33119001648484,50.79958356790559],[-102.33114129634066,50.81146918961108],[-102.35455341292143,50.80576438187705]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.33896157524897,\"lat\":50.805605713131236},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705054\"],\"csd_name_en\":[\"Bangor\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Bangor\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.52386704297352,50.85665702795997],[-102.8425479991507,50.857048089229636],[-102.84255249744292,50.761110429295925],[-102.81929873322213,50.761160191657055],[-102.81927326329954,50.74632784948353],[-102.8425785927596,50.74633282180448],[-102.84235687141067,50.638314738156296],[-102.8091834189583,50.63945478888179],[-102.79759108857913,50.63589704738873],[-102.72703559330999,50.636200167685566],[-102.72707620904701,50.61577622251954],[-102.72323757110567,50.615734934467085],[-102.72708658094368,50.61321103915948],[-102.72710437745094,50.60885495522413],[-102.70835048673996,50.61254080912618],[-102.68976242857711,50.6064469971803],[-102.66447539482304,50.58702518811211],[-102.63585925673955,50.58041685004247],[-102.62920415506768,50.56951604714765],[-102.60860102248856,50.56764826316828],[-102.58384486760282,50.56335243961462],[-102.54278626573169,50.54975005568817],[-102.51596559143543,50.53503903402297],[-102.49809959905788,50.53437523162416],[-102.47607182891454,50.52987781389475],[-102.43209280349886,50.536124373731994],[-102.41831328018715,50.545393748533684],[-102.41864674947293,50.54837853377888],[-102.4189026552877,50.55078896054095],[-102.42444598595335,50.59176599626915],[-102.42441188782915,50.85560760656254],[-102.50423829572563,50.85645108499955],[-102.5036824230146,50.844661430071355],[-102.52388909946349,50.84959242585054],[-102.52386704297352,50.85665702795997]],[[-102.48239868670524,50.68072019273864],[-102.4823610989864,50.686578286569],[-102.47101109262047,50.68641950336732],[-102.47093468303882,50.67947678893379],[-102.48239868670524,50.68072019273864]],[[-102.6459682502245,50.711788266050945],[-102.65671687999368,50.724484488650376],[-102.63354970581356,50.72447510109523],[-102.6459682502245,50.711788266050945]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.61548729311114,\"lat\":50.71650502163688},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705057\"],\"csd_name_en\":[\"Grayson No. 184\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Grayson No. 184\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.10071488611915,51.09572901000549],[-104.28665271027333,51.09568938946734],[-104.51981386978285,51.09573378581166],[-104.51935130584249,50.92111810485198],[-104.50096346310319,50.921103964577306],[-104.50086069526117,50.818952560847855],[-104.4760535722986,50.81282691115149],[-104.46437209612691,50.79743588350387],[-104.37398680902629,50.796694861360066],[-104.36175672894645,50.781612583492375],[-104.33169669219996,50.78266274485673],[-104.3275408612323,50.77541484537326],[-104.30304489473255,50.7841537469271],[-104.25131066591945,50.790388750941915],[-104.2351400637876,50.78539605524956],[-104.22392629318963,50.792093849354096],[-104.22380889513502,50.83382560882469],[-104.08526628942015,50.83378409303351],[-104.08526098232002,50.9211772050526],[-104.10097436973147,50.92118920989187],[-104.10071488611915,51.09572901000549]],[[-104.36784621212018,50.935773796602994],[-104.36774785898245,50.943398058743234],[-104.35653672321754,50.943381393988346],[-104.35648892078116,50.93580170571852],[-104.36784621212018,50.935773796602994]],[[-104.21720161675493,50.95026569120077],[-104.20568908601611,50.950270283024885],[-104.20551836940038,50.94283627012757],[-104.21720213363919,50.94264374124186],[-104.21720161675493,50.95026569120077]],[[-104.49604658555754,50.935651009596455],[-104.50780876213881,50.9356133267331],[-104.50813657382568,50.950249799312466],[-104.49699439863409,50.95028030853037],[-104.49604658555754,50.935651009596455]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.3083451295757,\"lat\":50.950561826289444},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706091\"],\"csd_name_en\":[\"Cupar No. 218\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Cupar No. 218\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.64592594698277,51.00413988356032],[-103.64576756443437,51.01938544538596],[-103.66717285089071,51.01911984823837],[-103.64592594698277,51.00413988356032]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.6529554541026,\"lat\":51.014215059061556},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706828\"],\"csd_name_en\":[\"Star Blanket 83C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Star Blanket 83C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.60953246645037,50.72527588431098],[-105.63263335183234,50.739720406968196],[-105.68360566595037,50.76353256138668],[-105.80117398944061,50.773921842421174],[-105.83702977182551,50.786276359207534],[-105.84455966692398,50.796243359246084],[-105.86203856206487,50.79562913923791],[-105.88714208519679,50.81866844775535],[-105.93847028709874,50.84058026176009],[-105.94570048852007,50.85064245930532],[-105.96507299696259,50.852330647379645],[-105.98292656515947,50.867090951644855],[-106.00464560340473,50.878574522787254],[-106.00423813135887,50.83411341311427],[-106.0045612802564,50.746729695087964],[-106.00454818914628,50.73220579426049],[-106.00459761287897,50.57203449456083],[-105.98344859590948,50.57163940112801],[-105.71790269433416,50.571744286581634],[-105.58623170263506,50.5717709959337],[-105.58623530566733,50.578884687194616],[-105.57430069495908,50.57889010190993],[-105.57408374093953,50.57176008545286],[-105.34152739365278,50.571594099810525],[-105.38151514792267,50.58569560258337],[-105.45364370097931,50.62325244848951],[-105.51131049814228,50.64782758293766],[-105.53909530643239,50.66944896226851],[-105.54703056699574,50.673743748178914],[-105.55577382051723,50.673305548301116],[-105.53822014128436,50.65930189441049],[-105.55117574688245,50.65926080145971],[-105.56416887116096,50.664325896659435],[-105.56514328822335,50.67341416800738],[-105.57564063998751,50.68676166795719],[-105.59784835187097,50.689110869611504],[-105.59764321970238,50.71694970245677],[-105.60953246645037,50.72527588431098]],[[-105.72310229905406,50.615434346971604],[-105.72494139394126,50.62272849740167],[-105.7136889041292,50.622913694368485],[-105.7137263237601,50.61568917303619],[-105.72310229905406,50.615434346971604]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.77871824272277,\"lat\":50.67463517794537},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707042\"],\"csd_name_en\":[\"Marquis No. 191\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Marquis No. 191\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-104.31564670584709,51.48163239228019],[-104.31520788203613,51.49620110294281],[-104.29149337555165,51.48925429939757],[-104.29147963300416,51.49737297177876],[-104.29396094049548,51.53806917812234],[-104.33745947788056,51.53804701328426],[-104.33632673704658,51.48818356712444],[-104.31564670584709,51.48163239228019]]],[[[-104.31564670584709,51.48163239228019],[-104.32676499622092,51.47442669513287],[-104.32550300217372,51.45115493787407],[-104.33562263948583,51.44528211475846],[-104.44433292817457,51.44531876208052],[-104.44450958945106,51.48213719462194],[-104.46773859002582,51.48220091274425],[-104.48954550653893,51.48901585933735],[-104.49124801473508,51.503570886708786],[-104.46770528962833,51.50359230605366],[-104.46769432820975,51.518374419149254],[-104.44429174349703,51.51832309932536],[-104.44441103391426,51.532878433303694],[-104.47959900191135,51.53265254185875],[-104.49031458828252,51.53265839817086],[-104.53795230514967,51.5326546967876],[-104.53832261007216,51.61983634908893],[-104.55710860255994,51.61984547939414],[-104.95978661678907,51.619823084295234],[-104.95993008273602,51.3580464915746],[-104.81936918263224,51.35802200149817],[-104.81955458920136,51.270565791415244],[-104.79838231484457,51.27054929190211],[-104.79837633474743,51.13876668023699],[-104.65886490338232,51.138791672594024],[-104.65892200915356,51.1830289000835],[-104.51925159325621,51.182961006590254],[-104.51924231213583,51.270455207065005],[-104.53783429590663,51.270476111833716],[-104.53798890392495,51.3579246986423],[-104.27026669681847,51.35776800792285],[-104.2705642527445,51.38715789443308],[-104.12896935289656,51.386752883646096],[-104.12883501082767,51.56377098565084],[-104.27039968979385,51.564306155841486],[-104.27007479692892,51.53849125907387],[-104.17605672695721,51.53819519908513],[-104.17606251479282,51.49866020298004],[-104.18796473046596,51.4830698212259],[-104.22331916823828,51.4976610136913],[-104.24692352361093,51.497554205468084],[-104.24670856439181,51.49024880476313],[-104.29149337555165,51.48925429939757],[-104.31564670584709,51.48163239228019]],[[-104.30332961385076,51.37000068738772],[-104.3032407114227,51.37534355577985],[-104.29216110735443,51.374124104956984],[-104.29168020996235,51.36744947716088],[-104.30332961385076,51.37000068738772]],[[-104.4093210704641,51.379276124033936],[-104.4093604073861,51.38283825311886],[-104.39743270374622,51.38704080431716],[-104.39740605919961,51.37923035216039],[-104.4093210704641,51.379276124033936]],[[-104.7237510914752,51.411297022017926],[-104.72396920313896,51.402256187256214],[-104.74157568328371,51.40691321926488],[-104.7237510914752,51.411297022017926]],[[-104.19961270570795,51.416618510447016],[-104.19920277836836,51.43120128653738],[-104.17687101003379,51.4312392064054],[-104.18755771166103,51.416685681227825],[-104.19961270570795,51.416618510447016]],[[-104.53781871933744,51.41620100723708],[-104.51455140697927,51.41619680605474],[-104.51456125925777,51.40127143702317],[-104.5423208306986,51.401587389257124],[-104.53781871933744,51.41620100723708]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.62621787938183,\"lat\":51.420063025104625},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710024\"],\"csd_name_en\":[\"Mount Hope No. 279\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Mount Hope No. 279\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.55671330247237,51.8816410945935],[-104.98163579846832,51.881512808700805],[-104.98171633785469,51.61983838393134],[-104.95978661678907,51.619823084295234],[-104.55710860255994,51.61984547939414],[-104.55689398179557,51.78544661648686],[-104.53091837487759,51.79004343705088],[-104.52175726276388,51.80265143899927],[-104.53221788253887,51.81787684935556],[-104.52742447667936,51.83335474112318],[-104.5062424736036,51.8408324506268],[-104.49215256136307,51.857891157531306],[-104.49708678605077,51.86697124890095],[-104.48439347492891,51.8814467815164],[-104.55671330247237,51.8816410945935]],[[-104.72208687672934,51.784783737791464],[-104.72204967821155,51.7907403132573],[-104.7039870266063,51.79058364051191],[-104.7105493098103,51.78261010001899],[-104.72208687672934,51.784783737791464]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.76083785318156,\"lat\":51.75401568204114},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710052\"],\"csd_name_en\":[\"Prairie Rose No. 309\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Prairie Rose No. 309\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.7199516990664,52.14399020731742],[-104.14888978437713,52.14399049979297],[-104.14877659997018,51.96884281109084],[-104.1308156613687,51.9689350324362],[-104.13239482498095,51.88194288786392],[-103.70707720835615,51.881621690864286],[-103.70682851661743,51.96921530684615],[-103.71933611077962,51.96919236617039],[-103.7199516990664,52.14399020731742]],[[-103.80149097032911,51.954474269127914],[-103.78890557285322,51.95728885043884],[-103.78743471519535,51.936005528654064],[-103.81237791338785,51.93992761699379],[-103.80149097032911,51.954474269127914]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.92965348829941,\"lat\":52.01337838524797},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710066\"],\"csd_name_en\":[\"Lakeview No. 337\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Lakeview No. 337\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-103.9551541174785,51.38730725685794],[-103.98743941193224,51.387308804417415],[-103.98741314213532,51.379319452134204],[-103.96470577394155,51.37256574586267],[-103.95404102983413,51.37256194988152],[-103.9551541174785,51.38730725685794]]],[[[-103.95182613745871,51.35786279126165],[-103.9643068562216,51.36556091419357],[-103.98739101744601,51.37257009099733],[-103.98745669770175,51.35786840952567],[-103.95182613745871,51.35786279126165]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.97152727384746,\"lat\":51.37324013203015},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710847\"],\"csd_name_en\":[\"Muskowekwan 85-10\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Muskowekwan 85-10\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.98436931667604,51.16118818769768],[-104.99400935935616,51.16110621004901],[-104.99612554084888,51.15213997282657],[-104.9844289999711,51.15394049542223],[-104.98436931667604,51.16118818769768]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.98991958786347,\"lat\":51.156961655589384},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711002\"],\"csd_name_en\":[\"Duval\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Duval\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.27407868775978,51.50928861752211],[-106.27392769609402,51.49621639917947],[-106.26119836402842,51.496932325631704],[-106.26411699717734,51.50376998812652],[-106.27407868775978,51.50928861752211]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.26895658720674,\"lat\":51.50141170907944},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711036\"],\"csd_name_en\":[\"Kenaston\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Kenaston\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.40459460116631,51.71860855204813],[-105.439384129036,51.72194660278047],[-105.45205001425226,51.71355466605234],[-105.4043941328692,51.713253524762095],[-105.40459460116631,51.71860855204813]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.42696051890712,\"lat\":51.71678219427907},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711054\"],\"csd_name_en\":[\"Manitou Beach\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Resort village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Manitou Beach\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.4568767887799,51.33892262248894],[-107.45687120439034,51.32464980191108],[-107.43344117758001,51.32476258290331],[-107.433459540135,51.33923815019069],[-107.4568767887799,51.33892262248894]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.44513462917114,\"lat\":51.33189289642093},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4712\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4712016\"],\"csd_name_en\":[\"Dinsmore\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Dinsmore\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.24584414364512,51.52543684156939],[-107.23464665676931,51.52527754452758],[-107.23479587572459,51.53278319869948],[-107.25488659681689,51.53275028379616],[-107.24584414364512,51.52543684156939]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.24272426809378,\"lat\":51.52941841365781},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4712\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4712022\"],\"csd_name_en\":[\"Conquest\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Conquest\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.27035630947483,52.69931818646632],[-108.28115495880384,52.704775252971935],[-108.29126186374803,52.70336186446057],[-108.28915707770642,52.696271630101336],[-108.27035630947483,52.69931818646632]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.28269789000721,\"lat\":52.70060044011888},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4712\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4712870\"],\"csd_name_en\":[\"Poundmaker 114-18B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Poundmaker 114-18B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.57398508432293,52.143448313104344],[-110.00503681872273,52.143042805848516],[-110.00500162052376,52.05557009996649],[-110.00442949292919,51.88161372732577],[-109.77212923524144,51.88080820817851],[-109.69162014212927,51.88161240004725],[-109.61910249891508,51.88163829795811],[-109.60788402017621,51.881649463612085],[-109.5482268024679,51.881693197794434],[-109.54845521668386,51.96897429384736],[-109.5729064110021,51.96899029851501],[-109.57398769462638,51.991329598664294],[-109.57398508432293,52.143448313104344]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.78492592794817,\"lat\":52.010622966893564},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713046\"],\"csd_name_en\":[\"Heart's Hill No. 352\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Heart's Hill No. 352\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.45508571303984,52.19452118829997],[-108.44353670996333,52.19434938093876],[-108.44360903617367,52.20172591540715],[-108.46041125473802,52.20196655873326],[-108.45508571303984,52.19452118829997]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.450742854562,\"lat\":52.19836972750954},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713067\"],\"csd_name_en\":[\"Landis\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Landis\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.7451788106401,52.667320391451135],[-103.86102640246025,52.66722639197253],[-104.16512308173405,52.66738529443078],[-104.16513038343241,52.63119374517262],[-104.16516912864645,52.58721717531536],[-104.16536948960773,52.40563199560376],[-103.94826768918102,52.40495043803122],[-103.7346320115786,52.40567229274379],[-103.73463286398203,52.49247997077561],[-103.73469258035186,52.66727979304449],[-103.7451788106401,52.667320391451135]],[[-103.861953219609,52.44339402806106],[-103.85460030825037,52.434739986688136],[-103.86756753956472,52.4348324962407],[-103.861953219609,52.44339402806106]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.95000468709702,\"lat\":52.53633086511094},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714034\"],\"csd_name_en\":[\"Barrier Valley No. 397\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Barrier Valley No. 397\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.87901084941785,52.650246035050216],[-104.88501530324868,52.63645075408443],[-104.87250805235412,52.636321413123106],[-104.87901084941785,52.650246035050216]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.87884473500688,\"lat\":52.641006067419255},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715049\"],\"csd_name_en\":[\"St. Brieux\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"St. Brieux\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.77856090593215,52.929493385327305],[-106.8026270338541,52.92917424033438],[-106.80264490399327,52.92222549078855],[-106.77851641568236,52.92223859904495],[-106.77856090593215,52.929493385327305]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.79050065606573,\"lat\":52.925782008855286},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716014\"],\"csd_name_en\":[\"Marcelin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Marcelin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.02566488056914,53.19236887634257],[-107.00305417866575,53.18729467289493],[-106.99948003471762,53.19225811216108],[-107.02566488056914,53.19236887634257]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.00939969798418,\"lat\":53.19064055379953},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716043\"],\"csd_name_en\":[\"Pebble Baye\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Resort village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Pebble Baye\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.30209716501155,55.09723023935625],[-105.329771659189,55.094711770903466],[-105.3611522736421,55.09840098954666],[-105.37127417124667,55.084188347481884],[-105.33247572647662,55.08114571207497],[-105.33139456670293,55.07503199972307],[-105.32562523021461,55.081302808133316],[-105.29885253314504,55.08117151445065],[-105.29598073200233,55.09899410026652],[-105.30209716501155,55.09723023935625]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.3313907573462,\"lat\":55.08890964593092},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718042\"],\"csd_name_en\":[\"Air Ronge\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Northern village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Air Ronge\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-110.80101480637015,50.0526311444486],[-110.77696159050085,50.0543012626],[-110.75521988601709,50.06224778920377],[-110.75530125028271,50.09743218021498],[-110.7780557354321,50.09747041754278],[-110.80087060128011,50.09118411179518],[-110.8123915515005,50.07720170014263],[-110.81204878304862,50.05635804704294],[-110.80101480637015,50.0526311444486]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-110.7826739256861,\"lat\":50.074814480371444},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4801\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4801018\"],\"csd_name_en\":[\"Redcliff\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Redcliff\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.87497977741351,49.40168594514439],[-112.85246509894708,49.40674501014345],[-112.85262500910991,49.4328157074343],[-112.88579920580823,49.42122308793192],[-112.87497977741351,49.40168594514439]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.86633712522713,\"lat\":49.41649118762372},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4803\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4803002\"],\"csd_name_en\":[\"Magrath\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Magrath\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.16352075723573,50.73607619156491],[-113.14412338704562,50.73403758687112],[-113.14412908864368,50.74071387240753],[-113.16352075723573,50.73607619156491]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.15059107764168,\"lat\":50.736942550281185},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4805\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4805011\"],\"csd_name_en\":[\"Arrowwood\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Arrowwood\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.134334814872,51.241552220546374],[-113.14747891081689,51.23664553709774],[-113.13332361738573,51.22771712334972],[-113.134334814872,51.241552220546374]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.13837911435822,\"lat\":51.235304960331284},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4805\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4805022\"],\"csd_name_en\":[\"Rockyford\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Rockyford\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.56012281377143,50.92136739421742],[-114.62412424774105,50.92127044657284],[-114.62503140312258,50.892296586758896],[-114.55601122822831,50.892770245479284],[-114.5562243822154,50.819258660645914],[-114.53289044097123,50.819259621828074],[-114.53403099417598,50.76523007988028],[-114.53302758332877,50.703273769716226],[-114.46373169325192,50.703050431721564],[-114.4637964746189,50.601305108210404],[-114.4405970417507,50.60116122991489],[-114.44068794676195,50.57194780266076],[-114.48368045414911,50.57236938415892],[-114.48330214870559,50.54387455272133],[-114.52938097624782,50.5454943229584],[-114.52893985961825,50.45532361147582],[-114.50589360251905,50.45519963392477],[-114.50611886168797,50.41049602322155],[-114.52891839642737,50.41035996881725],[-114.51660158346805,50.397001992115065],[-114.47524780154704,50.419836464479765],[-114.44986800077064,50.429716269665214],[-114.4304183004715,50.44474264799159],[-114.41401394488585,50.463138996673635],[-114.41428248374771,50.42653392261183],[-114.43697739649947,50.42647868374125],[-114.48301990219757,50.39724234280575],[-114.50588014576496,50.39710072826226],[-114.5060274791985,50.36821164423856],[-114.4601710453882,50.3681507848589],[-114.46036312742763,50.32461107662726],[-114.39142621160745,50.32434456849297],[-114.39155315537894,50.30989947752886],[-114.34535703929089,50.309777280932195],[-114.20776967888249,50.3096103153748],[-114.20803158180871,50.39718921714406],[-114.13937229367941,50.396962642298305],[-113.82699600913703,50.39722610247054],[-113.82811454648802,50.41142776545231],[-113.71310677616141,50.41077813639991],[-113.56280517099862,50.41156519085207],[-113.56424420240208,50.42088811503622],[-113.58068226188676,50.43568111385343],[-113.5781256084957,50.44638375386423],[-113.59826565773821,50.45550360399221],[-113.59843849310461,50.57205979530276],[-113.49042370303543,50.572070796401945],[-113.49024665781974,50.79884561256574],[-113.51715330265225,50.80160564574976],[-113.53638410986397,50.81029955744504],[-113.56468909783763,50.79524024723843],[-113.60615880559338,50.794706895913954],[-113.636496222976,50.802197063926315],[-113.65777839077731,50.800971067533006],[-113.67931920887314,50.80875675018509],[-113.69922298625225,50.80366416302368],[-113.75967349555388,50.81916895163978],[-113.79522189604138,50.8195662508234],[-113.80597381524386,50.82425614352593],[-113.81847149039481,50.84523135999335],[-113.84472840168633,50.84088895603047],[-113.86021384682074,50.85532660630335],[-113.89442222309732,50.859313561290776],[-113.91260538733741,50.852759648892594],[-113.9410875998522,50.850988658950946],[-113.94984610278459,50.84333155319386],[-113.9751137800416,50.84847627141842],[-114.07099225756873,50.848859547717396],[-114.0838603783697,50.86308349211359],[-114.0935975566589,50.8629120706449],[-114.09394812258408,50.89048952899814],[-114.11718708817375,50.88478470989915],[-114.14026751446943,50.89218000890945],[-114.20967988359295,50.892271799887986],[-114.20982577194026,50.921358228356304],[-114.43658936912587,50.92087951098444],[-114.56012281377143,50.92136739421742]],[[-114.23473918567683,50.523350228573385],[-114.24253797659006,50.53577010743154],[-114.22719779254939,50.5351682433948],[-114.23473918567683,50.523350228573385]],[[-114.23093120232323,50.484516999702215],[-114.23084098593206,50.46990650819405],[-114.21891890724707,50.46131716943491],[-114.23432050038164,50.4549671007427],[-114.25193320393416,50.45569049907355],[-114.25395887005034,50.477288464576255],[-114.23093120232323,50.484516999702215]],[[-114.25526881211093,50.67734041068763],[-114.23258639215885,50.698004155215],[-114.21802764725885,50.68819029558073],[-114.20956558916829,50.67397427885772],[-114.25534207016032,50.67398630071514],[-114.25588659449862,50.65936000635048],[-114.29040498788834,50.65934259371725],[-114.29008563916301,50.68175106443477],[-114.25526881211093,50.67734041068763]],[[-113.90533039094149,50.601198389892],[-113.8328205811145,50.6012310896921],[-113.82856590179968,50.59746628733598],[-113.82814808948278,50.564710197895415],[-113.89677321313798,50.56461440567015],[-113.91630560308177,50.57992597305437],[-113.91678356408138,50.598496447901425],[-113.90533039094149,50.601198389892]],[[-113.9519115088621,50.76114630905859],[-113.92324874432151,50.76093010499117],[-113.90669281162914,50.747038329009186],[-113.91790134606526,50.74042061764462],[-113.91770937612972,50.72539500701077],[-113.9287043919127,50.71764459109292],[-113.9287390292072,50.69562590676748],[-113.99980263205403,50.69626282406048],[-114.01330699568642,50.71176460876186],[-114.00166275270023,50.72683091426346],[-113.9990173255545,50.74272132470598],[-113.98584129082926,50.74267973630533],[-113.9519115088621,50.76114630905859]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.0685945833368,\"lat\":50.629794479714434},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4806\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4806001\"],\"csd_name_en\":[\"Foothills County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Foothills County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.23473918567683,50.523350228573385],[-114.22719779254939,50.5351682433948],[-114.24253797659006,50.53577010743154],[-114.23473918567683,50.523350228573385]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.23482498493877,\"lat\":50.531429526466574},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4806\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4806008\"],\"csd_name_en\":[\"Longview\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Longview\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.30251493807621,52.462394490011995],[-111.32304034722766,52.451787511678084],[-111.33514066037907,52.438007702781036],[-111.35403390103787,52.42621840963419],[-111.38494643335711,52.415291298981344],[-111.40519128884311,52.39957529726414],[-111.44097082949507,52.39964110685823],[-111.4702072753155,52.38572191425844],[-111.53511130266462,52.386075759927834],[-111.55560989338537,52.35677964875328],[-111.5732954068241,52.35006405213354],[-111.57867298970874,52.334943511112556],[-111.60830364915869,52.32299695002235],[-111.66731366197897,52.33860485647965],[-111.70632543004527,52.3558247113206],[-111.72210773379221,52.37399341426131],[-111.73651972692531,52.379750310915675],[-111.73974829168917,52.393952317441844],[-111.78683328037893,52.40947047140641],[-111.819393982041,52.40999596636938],[-111.84176622449345,52.43418510995909],[-111.86771094465253,52.443891110209236],[-111.89780303476726,52.44547642800995],[-111.9016174559394,52.45108635577479],[-111.9393332129562,52.44993936873825],[-111.96526704361204,52.44135296722729],[-111.99374850417594,52.467146970166944],[-112.01683940847994,52.46859017025459],[-112.03366507748771,52.45797948952613],[-112.05885878953102,52.4565892525865],[-112.06826887638748,52.46311815056156],[-112.11381836520691,52.46924272879253],[-112.17011581539013,52.48520790497491],[-112.20971956171793,52.49040291798949],[-112.25994105303087,52.50751792449636],[-112.2602149121319,52.31765199958267],[-112.24324020111034,52.3176609967086],[-112.24316310016738,52.14297561047489],[-112.21922549122142,52.14298931109475],[-112.21932210120356,52.08479169151038],[-112.08512118707118,52.08466226245122],[-112.05967629968204,52.05779396918308],[-112.04039540610681,52.02177565119588],[-112.03819958944172,52.00928985751224],[-112.01989319570602,52.00494796298401],[-112.003650895683,51.96913968976827],[-111.85610333589605,51.967507553982095],[-111.85270490932811,51.96867029195997],[-111.56018981709548,51.96870780372696],[-111.3585930957951,51.96877490764296],[-111.29068143277787,51.967711538268944],[-111.29050715137976,51.98286915970028],[-111.2423147416017,51.982921744437974],[-111.24292870233036,52.14297209744943],[-111.19392964639579,52.142972240375954],[-111.19376095957735,52.17219774126683],[-111.14578975073672,52.172227153917426],[-111.1476595109996,52.23024629675311],[-111.00417538840918,52.230123212656906],[-111.0041064024132,52.259314078158326],[-111.05229960277937,52.259280103922805],[-111.0525172754956,52.28836512919966],[-111.14770911521752,52.2884813944193],[-111.1475299465957,52.31761254777977],[-111.15668080123604,52.31761969359727],[-111.15658989905882,52.40443454385729],[-111.30044338229419,52.404860804561395],[-111.30251493807621,52.462394490011995]],[[-112.14996271750539,52.28031530917095],[-112.15898757449943,52.28076462334467],[-112.15889727093904,52.28847461469995],[-112.14776991391804,52.28860648522991],[-112.14996271750539,52.28031530917095]],[[-111.90971498609576,52.22648911436968],[-111.89643744867072,52.21043806150515],[-111.91594137779417,52.208554232922566],[-111.92097891552716,52.22313823942882],[-111.90971498609576,52.22648911436968]],[[-111.45721301020167,52.09018928925528],[-111.46863988195784,52.09955955876596],[-111.43337211480639,52.09930178831135],[-111.43700010696907,52.084654696663065],[-111.45721301020167,52.09018928925528]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.7070052534497,\"lat\":52.211887938223725},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4807\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4807011\"],\"csd_name_en\":[\"Paintearth County No. 18\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Paintearth County No. 18\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.07033189726457,52.32683770149602],[-114.07369723115717,52.341460137924365],[-114.08357360476529,52.34043017250532],[-114.07593987821286,52.335928155206666],[-114.07202489920446,52.326201258404005],[-114.07347999453462,52.323834866159935],[-114.07033189726457,52.32683770149602]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.07504154561805,\"lat\":52.335636957673316},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4808\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4808005\"],\"csd_name_en\":[\"Jarvis Bay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Jarvis Bay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.6320223084728,52.843384392198615],[-114.05016500214121,52.843430398882845],[-114.05079000201248,52.857812436875555],[-114.0627120461573,52.86524037295226],[-114.09858878657785,52.86524778834997],[-114.09856972000499,52.87247265335149],[-114.14659090615623,52.87260580197043],[-114.1470270167364,52.88788061351798],[-114.19483080690631,52.887128486869436],[-114.53369291398548,52.8873682668882],[-114.53340732302384,52.84376660481595],[-114.5824590563752,52.843915811040425],[-114.58360168898876,52.785730306994765],[-114.58305211476146,52.712653661055725],[-114.6559606352605,52.71299753640702],[-114.65507252604142,52.66855959145706],[-114.64986138564721,52.668554977734246],[-114.64948238150805,52.59515030861008],[-114.57773024675312,52.595346719365345],[-114.57752178743505,52.58126440365984],[-114.5055800956739,52.5814092896813],[-114.50556658526675,52.566908195954305],[-114.4662462629769,52.56660403071233],[-114.44597505926538,52.566563887002275],[-114.44603087911942,52.58141182879239],[-114.32605934568284,52.58144271518049],[-114.32608961435145,52.55257100244762],[-114.1817459071467,52.552376307803634],[-114.16974937995657,52.566744863420354],[-114.16976820135491,52.581498395048285],[-114.07418850660504,52.581520892095845],[-114.00147712464394,52.580042185073985],[-114.0015052724766,52.566141538667814],[-113.91529776767982,52.56506538959331],[-113.91519878915723,52.57952909203293],[-113.7348174028537,52.57955308480221],[-113.73455162374508,52.57110137239953],[-113.68527793147815,52.571055299398125],[-113.68552398662435,52.579579395080245],[-113.42357794252406,52.57943606157111],[-113.42356208856587,52.56487509899513],[-113.38744476803124,52.56483403051943],[-113.36077301067989,52.54717524406002],[-113.33958410723554,52.54737761658918],[-113.33963077946738,52.56483197609244],[-113.31548278742663,52.564896553233794],[-113.31547851505934,52.57946239188624],[-113.14771161294864,52.57926910546935],[-113.1477486993283,52.622737511775405],[-113.05156692914807,52.62342627497417],[-113.05178787206995,52.72322174455591],[-113.0756158956454,52.73610697223301],[-113.08849081292314,52.755801164999184],[-113.22942052709169,52.75557265686937],[-113.24930227040115,52.75967562269014],[-113.24541488637371,52.738745671320935],[-113.27727079165837,52.72888866100574],[-113.29691879327697,52.730544352504474],[-113.34004861006369,52.74203315511506],[-113.38978895285459,52.74283629498655],[-113.3905600841231,52.71183193132042],[-113.46370007511062,52.71241884204444],[-113.4869064948928,52.71923721383051],[-113.48626392079527,52.76212591450308],[-113.48600163173369,52.778617669205715],[-113.50253826847786,52.778249719037625],[-113.45560837258404,52.82137603311718],[-113.47510123457329,52.82482752214533],[-113.47508887679805,52.81429719491483],[-113.51115188857732,52.81428559517463],[-113.52329495081577,52.8288631988441],[-113.54753289100384,52.82867873826288],[-113.547338026467,52.8433667905059],[-113.6320223084728,52.843384392198615]],[[-114.07248279562225,52.6032891040925],[-114.07376668876533,52.610628407619814],[-114.05751967805914,52.61060509382391],[-114.05699328487441,52.6033811375988],[-114.07248279562225,52.6032891040925]],[[-114.22436437987899,52.661471101920164],[-114.20617386919812,52.6477379694421],[-114.20969871940837,52.624648634151356],[-114.2660244897272,52.625197998241525],[-114.26598760958119,52.6396638972481],[-114.25414680079378,52.654307130757],[-114.2254856585346,52.6535706957952],[-114.22436437987899,52.661471101920164]],[[-113.63224078709666,52.66780059339599],[-113.60768693503542,52.69093824696233],[-113.558891183657,52.68981906140468],[-113.55548568612413,52.65303339835897],[-113.57491875957955,52.6605862230171],[-113.61509023188287,52.657623442143276],[-113.63224078709666,52.66780059339599]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.93311019144025,\"lat\":52.70711281957343},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4808\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4808038\"],\"csd_name_en\":[\"Ponoka County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Ponoka County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-116.21209901934945,52.38678876189237],[-116.20515011777363,52.406747775045915],[-116.25383449264811,52.40779636442147],[-116.280372414537,52.387176293659856],[-116.29289461583507,52.368401552022206],[-116.27842930423381,52.35356681207309],[-116.27560203172176,52.341354664989446],[-116.2464350123867,52.3496181704037],[-116.24508151397146,52.37418925075298],[-116.21209901934945,52.38678876189237]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-116.25278586965699,\"lat\":52.379855439733085},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4809\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4809810\"],\"csd_name_en\":[\"Big Horn 144A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Big Horn 144A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.78451048883478,53.102447110803155],[-111.77019671421083,53.089055956971414],[-111.76017350282198,53.095902509540856],[-111.78451048883478,53.102447110803155]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.77162690195586,\"lat\":53.09580185910513},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4810\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4810022\"],\"csd_name_en\":[\"Viking\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Viking\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.05384540065562,53.234927001132554],[-114.062881640267,53.23108767107445],[-114.05059317804205,53.2214674963917],[-114.03850419229096,53.228715538428915],[-114.05384540065562,53.234927001132554]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.05104887618289,\"lat\":53.22870098597386},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811021\"],\"csd_name_en\":[\"Thorsby\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Thorsby\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.39796951533039,53.832704795612884],[-113.40401837991429,53.84742528869953],[-113.4336275337187,53.846564086657],[-113.43411681949537,53.832684598179135],[-113.39796951533039,53.832704795612884]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.41721080132595,\"lat\":53.83961662274662},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811066\"],\"csd_name_en\":[\"Bon Accord\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Bon Accord\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.70933347807815,54.60340205686056],[-112.69897047166683,54.60265716428325],[-112.68899814921825,54.594695829200944],[-112.68378463568696,54.60144713742313],[-112.70256439471899,54.60361739864691],[-112.70252029329187,54.61211044824441],[-112.71210719365936,54.60740386291929],[-112.70933347807815,54.60340205686056]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.6984632510204,\"lat\":54.60325450448016},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4813\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4813053\"],\"csd_name_en\":[\"Bondiss\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Bondiss\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-118.40108856689174,52.840507813370714],[-118.1608947599974,52.84100869072945],[-118.16090463090087,52.755412336931464],[-117.87804364678807,52.753039670413564],[-117.87336848884694,52.892663386245374],[-117.86796632849361,53.02056044324256],[-118.07766240412445,53.02200916225512],[-118.34246562813621,53.022375423928935],[-118.34112518543556,52.9360544340316],[-118.55818349972307,52.93568238870457],[-118.59877071995534,52.93494371980045],[-118.59651368820198,52.88104410860748],[-118.57544070832483,52.885241922982146],[-118.56193560645953,52.90121345949996],[-118.54378774498998,52.908454633134205],[-118.52223976601434,52.89821683693068],[-118.5001423710584,52.90638195122561],[-118.47685812891294,52.90096964032807],[-118.44827945001762,52.88528679187128],[-118.46120485778289,52.869352106066856],[-118.44446262459722,52.852225129781786],[-118.40316593576202,52.850763363494046],[-118.40108856689174,52.840507813370714]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-118.1312047485757,\"lat\":52.901243698930166},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4815\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4815033\"],\"csd_name_en\":[\"Jasper\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Specialized municipality\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Jasper\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.70448663978368,51.357100278782546],[-114.73776722345667,51.35818400618845],[-114.73690395440197,51.377605384044614],[-114.76323371593237,51.380941002630415],[-114.76701048985427,51.355144525345864],[-114.84355519949894,51.361435171374794],[-114.85022169540888,51.31378802436284],[-114.79470631798098,51.31492325424531],[-114.79437258538373,51.28240669040124],[-114.76449643159758,51.282596783764006],[-114.75156742342192,51.30023934435471],[-114.72770774120451,51.299512911571696],[-114.70333126811693,51.29951210772496],[-114.70448663978368,51.357100278782546]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.77052183267847,\"lat\":51.330683313561806},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4815\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4815815\"],\"csd_name_en\":[\"Stoney 142B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Stoney 142B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.11905110851964,57.79606547894174],[-117.11333628364986,57.81261456457281],[-117.07988939405956,57.82292548742949],[-117.03419077819288,57.82448227964684],[-117.01281957253562,57.83764936990888],[-117.0204671912592,57.85234847742508],[-117.05577590798849,57.870850167199016],[-117.07758428581363,57.8871136810719],[-117.1248956202577,57.91431587823618],[-117.14449258182934,57.935199678334214],[-117.13415141346961,57.959383781164696],[-117.13521759858429,57.97342235898262],[-117.10865331237216,57.99159606198608],[-117.10950439699226,58.0094170760078],[-117.09231879502823,58.03492586910515],[-117.05883957754989,58.04516777498693],[-117.03864078479143,58.04409129017641],[-117.02673918234726,58.05143156322823],[-116.97525920782167,58.054051373322174],[-116.95050319536827,58.06846156651289],[-116.94190270589583,58.07973586307936],[-117.30178932691133,58.079015999208856],[-117.74087629956465,58.08074046951863],[-117.9494794472775,58.08096505700695],[-118.26696109784929,58.07895535613134],[-118.72469325421244,58.07991997095992],[-119.04801900373188,58.07955399343354],[-119.56423830397127,58.0794321371457],[-120.00000003642833,58.0794695009417],[-120.00002255688672,58.00000005006396],[-119.99995870437459,57.75000003081743],[-119.99991909212015,57.592973995866394],[-120.00000001064922,57.38062883165178],[-119.5578945283394,57.38309548316249],[-119.27514226203402,57.38380282767961],[-118.93290706892462,57.38375088256362],[-118.60773721650281,57.38278017517694],[-118.16414895543215,57.38007965376056],[-118.1625654349846,57.2427804939403],[-118.16042533533783,57.05717246178329],[-118.15726335348349,56.77002916635341],[-118.15741746240485,56.67736382061333],[-118.15969288375508,56.593221490530574],[-118.15531032937598,56.4217692332216],[-118.0000253221583,56.42181440007252],[-118.00042560259844,56.24738999536726],[-117.61108738328984,56.24748989609697],[-117.35854367899661,56.24816865588494],[-117.32063585655192,56.24830081021156],[-117.29845928762263,56.25672448995379],[-117.27525839564292,56.27413149120627],[-117.26496781897264,56.29662746043613],[-117.26710590944889,56.31736566115284],[-117.24736551811948,56.33750627650116],[-117.19767308652693,56.34904617048966],[-117.16479759367765,56.37152037401203],[-117.16612388609354,56.39089197350035],[-117.159723893542,56.4081271696834],[-117.13589799371985,56.43026306199033],[-117.11691791435793,56.44135427948614],[-117.11176231716156,56.45965095850655],[-117.09632710491242,56.48102316643348],[-117.09196191072488,56.500000080372466],[-117.08949951465036,56.54515607664067],[-117.07710071691301,56.56006046903227],[-117.07986598762507,56.57659478573096],[-117.12849628459936,56.58117767644112],[-117.14843690709031,56.59827606716572],[-117.13790310334115,56.61568998002713],[-117.12050719029006,56.630289679067204],[-117.12260218420035,56.648166377507536],[-117.16044258099315,56.66301606674248],[-117.17456422351553,56.67268477472546],[-117.23375501484296,56.69711536930123],[-117.2351817948883,56.71654696531509],[-117.21479540084722,56.72137476071411],[-117.18682109598096,56.72062585849832],[-117.16642678623711,56.731770775303566],[-117.1649529086,56.74202816905851],[-117.18517882542966,56.75344807627568],[-117.20356539343561,56.752853574783124],[-117.25586560951265,56.74106997188107],[-117.2692534105591,56.75425287380303],[-117.25605560815826,56.768110478371376],[-117.25593401908995,56.779160361060136],[-117.27237482362929,56.7977134736826],[-117.27447950049924,56.80918006902554],[-117.24681550630126,56.8313894555654],[-117.25824938151843,56.8463131620313],[-117.30517601347243,56.8551105797567],[-117.31515288710705,56.870474460668696],[-117.29811550073369,56.87536546031824],[-117.26339799538701,56.87637056647447],[-117.25083599773316,56.882031269723896],[-117.24228681804853,56.8985227618189],[-117.25007308906363,56.919161463899044],[-117.24226517971145,56.936189265211475],[-117.22353841033537,56.94848197830481],[-117.21850301001996,56.96660695457341],[-117.22402710140662,56.97601668380121],[-117.21185338115771,57.023594480448374],[-117.21695181733857,57.03214227388044],[-117.2113952747782,57.05803226927003],[-117.17454030081572,57.06836026130609],[-117.16226511506444,57.06686678251341],[-117.15059239189496,57.08179538130326],[-117.15837317614789,57.08971726501552],[-117.21021519659888,57.09714617936091],[-117.25330618855035,57.093882269677025],[-117.27060377179181,57.101331265169584],[-117.27145631588476,57.111930779905876],[-117.2570108076877,57.12043855881425],[-117.22500660450164,57.126952584617015],[-117.19012540275503,57.12793776841378],[-117.14001541091156,57.13405095625897],[-117.10046258777801,57.148996483541474],[-117.09187081342323,57.16284477260387],[-117.09470221947973,57.19313807414025],[-117.10221038011727,57.1978833723394],[-117.09205091875373,57.23104497399133],[-117.06745458198273,57.24923128262015],[-117.06143028937939,57.26078916845668],[-117.07533161103733,57.28318507511361],[-117.12087719100747,57.286023277032164],[-117.15098469824362,57.294004775034956],[-117.1404298027861,57.311051378931914],[-117.1234974095095,57.32124397511723],[-117.13032098924742,57.345642486243136],[-117.10162340851916,57.38190180034696],[-117.07273188251237,57.415031477989416],[-117.03783889988746,57.42972886400028],[-117.02639251609746,57.44143587537661],[-117.03004151993365,57.47526787852034],[-117.06269949380565,57.491163172928275],[-117.11389398154564,57.497588578148395],[-117.12216818364696,57.50399048739069],[-117.11021132022591,57.519859671243964],[-117.02535971062447,57.53204867955001],[-116.9794063912491,57.52974678091539],[-116.95017158635046,57.53184377784547],[-116.92430567720352,57.54143716461624],[-116.91389547929644,57.563030979932044],[-116.92243838720337,57.57663747670166],[-116.95145018705009,57.591918777179906],[-117.00504617820935,57.598139669972],[-117.02725491795539,57.59156917645976],[-117.081457805274,57.60880825791433],[-117.09564768430731,57.624356563498594],[-117.0936719785874,57.63481307791929],[-117.07363688746169,57.6569559740953],[-117.04438660331282,57.6759809780435],[-117.04147478901274,57.68952168627351],[-117.05549799242469,57.70234206835291],[-117.12011882567676,57.72497117944106],[-117.11408809144784,57.74238498006476],[-117.09323280692035,57.74925377446494],[-117.06044410019321,57.74533567351078],[-117.02896590461722,57.734687874963676],[-117.0047347006628,57.73785496101969],[-116.99031911498358,57.75114197523483],[-116.99308830800031,57.76731226011435],[-117.01799447584014,57.77963177329782],[-117.05835397934634,57.785933674258516],[-117.09796938211078,57.786284157214595],[-117.11905110851964,57.79606547894174]],[[-117.61207727558784,56.930767592490184],[-117.61163931038097,56.91538499295299],[-117.63740673239137,56.91519464874677],[-117.63855404203278,56.937256829213354],[-117.61207727558784,56.930767592490184]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-118.22572525311537,\"lat\":57.41951844318629},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817076\"],\"csd_name_en\":[\"Northern Lights County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Northern Lights County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.80656791722107,56.19184226149957],[-113.86919475716817,56.19260174990034],[-113.86942876829086,56.13648026521617],[-113.848605177102,56.12650046847273],[-113.84174359734561,56.10219608843349],[-113.80648654105997,56.10099084784609],[-113.80656791722107,56.19184226149957]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.8351163978281,\"lat\":56.15128720455787},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817822\"],\"csd_name_en\":[\"Wabasca 166C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Wabasca 166C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.89371468672229,55.325852763727475],[-114.91110500894042,55.31735604318353],[-114.9121949198958,55.29418286469373],[-114.82401300075114,55.29415818882536],[-114.83302448258095,55.30555176835273],[-114.85893660802638,55.309111975991904],[-114.89371468672229,55.325852763727475]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.87740342557368,\"lat\":55.30539645548626},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817833\"],\"csd_name_en\":[\"Sawridge 150H\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Sawridge 150H\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.43733656120071,55.21562372335836],[-119.44216504337788,55.19972247029884],[-119.40323933508762,55.199676268035894],[-119.41034569508822,55.221590302621586],[-119.43733656120071,55.21562372335836]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.42221492274582,\"lat\":55.20869484934204},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4819\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4819009\"],\"csd_name_en\":[\"Beaverlodge\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Beaverlodge\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-118.40529370001515,56.08718348108572],[-118.40489968108855,56.05846118735796],[-118.39195907551299,56.05067239376984],[-118.36592450296284,56.050786794111225],[-118.35286890084708,56.06525697355849],[-118.35345583246367,56.087218450708555],[-118.40529370001515,56.08718348108572]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-118.37962318603796,\"lat\":56.070124739380404},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4819\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4819068\"],\"csd_name_en\":[\"Fairview\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Fairview\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-116.08181594498305,50.64644940274097],[-116.0947037703726,50.63703693827432],[-116.09597550248287,50.62020815010327],[-116.06949085584903,50.60924944807548],[-116.06509221413572,50.63386614106669],[-116.08181594498305,50.64644940274097]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-116.08040021420209,\"lat\":50.62794621588885},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5901\"],\"cd_name_en\":[\"East Kootenay\"],\"csd_code\":[\"5901040\"],\"csd_name_en\":[\"Radium Hot Springs\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"East Kootenay\",\"csd_name_fr\":\"Radium Hot Springs\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-116.89093827622351,49.69053127025523],[-117.06230905521294,49.690198046414864],[-117.08179347272325,49.69208448287046],[-117.11270088264743,49.70402692462447],[-117.1282011096644,49.73655157451753],[-117.13991823666878,49.74475629928107],[-117.17472282353681,49.757056825010686],[-117.18425925254964,49.756453348985346],[-117.16900913333512,49.734243150407735],[-117.15281039662146,49.72009075858139],[-117.15821751828025,49.697155370428696],[-117.14127750959995,49.67523105062704],[-117.15307920016572,49.64620846027366],[-117.1488239052529,49.62740606039241],[-117.12595836136575,49.61540090986717],[-117.12656279650079,49.596905205842],[-117.14736625889435,49.60218126686135],[-117.16499280584526,49.599138192126084],[-117.22688418230639,49.56625880032957],[-117.24588007713461,49.55332859672333],[-117.25729610635877,49.52937889533395],[-117.27105593088197,49.51806570459452],[-117.26509147618981,49.50407774492664],[-117.27912043901797,49.49332376675037],[-117.28287536416275,49.472864392948125],[-117.31081086316938,49.4759981900924],[-117.33437078923878,49.494244686129825],[-117.3590268904439,49.50037369285195],[-117.37910961640952,49.49628760648037],[-117.3899004805981,49.48742019778186],[-117.42011438038723,49.483209099196074],[-117.44430198559166,49.48580970707451],[-117.46254982838587,49.4761346526735],[-117.45889110245865,49.46698503273922],[-117.47004849455753,49.45126377538429],[-117.48175094518051,49.451347456271364],[-117.48273157997761,49.43592212627692],[-117.51695940987396,49.43592331791632],[-117.51501004841843,49.391973229930215],[-117.52571815989377,49.39172492074081],[-117.55459107733361,49.355822955292396],[-117.55493492584093,49.348707889736],[-117.49087380396627,49.34899073505648],[-117.49121921591279,49.33745224202128],[-117.461001215864,49.33872286501865],[-117.45143963195696,49.35267955599327],[-117.4328926556194,49.36109988882294],[-117.43020144758204,49.37500032966731],[-117.4133772617729,49.382572583723864],[-117.41692343393164,49.39353178994888],[-117.39049898339756,49.392341657583074],[-117.37277308413366,49.39587748877607],[-117.33481889556536,49.41229809232516],[-117.31989783507127,49.41014528638547],[-117.30649753575366,49.418053525730365],[-117.27593068013891,49.42071634278875],[-117.25017552619022,49.41152145694821],[-117.22904354589897,49.41141658926943],[-117.22963811888293,49.43629400477017],[-117.11966147647651,49.43779470371825],[-117.11769366359881,49.448239189311344],[-117.1008805549307,49.46434994564179],[-117.0794922912176,49.47374933218322],[-117.06866817331789,49.47276283353118],[-116.83545392237642,49.473854221927226],[-116.80563814049847,49.47495746414408],[-116.81221064293655,49.51109057686877],[-116.813385991178,49.54421759112933],[-116.83637739666736,49.58795440279195],[-116.86597608461726,49.613610107612715],[-116.90174335909971,49.62687250585887],[-116.90820942944767,49.63721105140775],[-116.89767348828406,49.6611938699063],[-116.89093827622351,49.69053127025523]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.1242375911344,\"lat\":49.532215944930094},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5903\"],\"cd_name_en\":[\"Central Kootenay\"],\"csd_code\":[\"5903041\"],\"csd_name_en\":[\"Central Kootenay E\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Central Kootenay\",\"csd_name_fr\":\"Central Kootenay E\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.73894673611254,49.471470611955276],[-119.90013561542695,49.4717042532444],[-119.89518703329422,49.39166346003572],[-119.91244022654533,49.40427620974378],[-119.93485655500571,49.40087341720435],[-119.93228161188615,49.36983314210584],[-119.89431597816036,49.37151582159464],[-119.89115002200302,49.314358257700654],[-119.84187588443761,49.314082358985125],[-119.797659745579,49.30960407097383],[-119.79747661144006,49.30126314326932],[-119.74085560908627,49.29962142859658],[-119.6704488931085,49.29946142711431],[-119.61401264003113,49.29898589224564],[-119.61389685339974,49.28481086874085],[-119.55395263233628,49.28230384941458],[-119.54151459770443,49.273699920907646],[-119.54742329546714,49.30501335707317],[-119.5856960496479,49.334085868487634],[-119.59146679057801,49.35617575014827],[-119.57426651605886,49.35810638042766],[-119.57187121804621,49.38950019393298],[-119.5879454128689,49.42113052204161],[-119.57789778514238,49.42363073514136],[-119.5866830359582,49.450754638756905],[-119.59744797511824,49.45242855273945],[-119.61468523184028,49.43942472198343],[-119.60589545542018,49.42316189251665],[-119.60552165752999,49.38097864451603],[-119.6797914017614,49.38072790830908],[-119.67974685789099,49.36633516893115],[-119.69915226240462,49.36073790977617],[-119.69870347874128,49.395108843376924],[-119.7207147278594,49.39524691672112],[-119.72023955525717,49.43149000348493],[-119.73952359798311,49.431750579614686],[-119.73894673611254,49.471470611955276]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.75199675089999,\"lat\":49.373566068874155},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5907\"],\"cd_name_en\":[\"Okanagan-Similkameen\"],\"csd_code\":[\"5907048\"],\"csd_name_en\":[\"Okanagan-Similkameen I\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Okanagan-Similkameen\",\"csd_name_fr\":\"Okanagan-Similkameen I\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-119.64860125979193,49.517108649069726],[-119.64861575476858,49.50131314927327],[-119.634015086142,49.5007818897747],[-119.63693018104013,49.51744466574926],[-119.64860125979193,49.517108649069726]]],[[[-119.61038017247704,49.50544709629961],[-119.59612488106907,49.52987259969962],[-119.60274070658204,49.54961139102059],[-119.60350331032224,49.57365439676235],[-119.62560618740939,49.60167750502971],[-119.62557948917156,49.60916759913532],[-119.6425080901999,49.6334476152736],[-119.67401521627099,49.6578492927452],[-119.69780818813778,49.685556094278006],[-119.72866460602638,49.712062957493075],[-119.77174190336883,49.712442908234564],[-119.77151895092321,49.690586789749716],[-119.76117632019043,49.6794418035832],[-119.72105645075244,49.678876454118125],[-119.72027588408243,49.66018428309929],[-119.69092461622893,49.65300533000096],[-119.67891929907411,49.63736316825832],[-119.65597436197413,49.62168518434804],[-119.64315921107108,49.58689200490011],[-119.6165228376051,49.57204377045023],[-119.62105381544401,49.56341176503257],[-119.64683220989176,49.5580908391104],[-119.66414827652017,49.56174714332863],[-119.64845756531054,49.55395405236246],[-119.61822124347125,49.53098856648749],[-119.63140012323912,49.51379777614022],[-119.63081660626632,49.49028970367069],[-119.61366602324797,49.501305169972014],[-119.61038017247704,49.50544709629961]]],[[[-119.79408026479975,49.712410910990656],[-119.83590596512109,49.712625812231764],[-119.83699338047178,49.76565883206087],[-119.97953153291452,49.76625090091305],[-119.97958400968308,49.710395561493314],[-119.99831505842123,49.71094566129139],[-120.00346217003253,49.69646696700021],[-119.97519060380694,49.69621568262603],[-119.97519402463897,49.66763259391134],[-119.98990334923866,49.66467178732153],[-120.00711549665894,49.67152584168925],[-120.03024758549095,49.670248229566184],[-120.05197103256391,49.678049566587596],[-120.060184971229,49.664072453907394],[-120.07475064621458,49.66018229268614],[-120.09922463326423,49.64614119594459],[-120.06602600526583,49.62464389858901],[-120.03160981115855,49.594839700745645],[-120.04845731800745,49.572971580515315],[-120.03287185319272,49.56604261754309],[-120.02221537169817,49.55263056531254],[-120.03452756891828,49.53956695933813],[-120.03328156805509,49.52151541118415],[-120.0010777224985,49.50582775860749],[-119.98944405852492,49.507426752104095],[-119.94961917247294,49.52888517388224],[-119.90809104805327,49.500089718517934],[-119.90013561542695,49.4717042532444],[-119.73894673611254,49.471470611955276],[-119.74993692416732,49.478960452017866],[-119.74897643116441,49.50060235068347],[-119.76785331630798,49.500769954081754],[-119.7773172823857,49.51491202035272],[-119.77604940168894,49.56583476742979],[-119.75371723531313,49.56595992646352],[-119.75322851505285,49.58358153583338],[-119.76344708561317,49.59850636309394],[-119.74919813431777,49.608035024596724],[-119.72710822930966,49.6094213830302],[-119.71625250687586,49.61609272656962],[-119.71454057089322,49.63850371975165],[-119.74105661032466,49.64494004558815],[-119.74853217134256,49.65654121110757],[-119.78902890310442,49.68317924974147],[-119.78886916517959,49.69356038266994],[-119.80564761601399,49.70826086733756],[-119.79408026479975,49.712410910990656]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.87275303500809,\"lat\":49.61494402219439},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5907\"],\"cd_name_en\":[\"Okanagan-Similkameen\"],\"csd_code\":[\"5907051\"],\"csd_name_en\":[\"Okanagan-Similkameen F\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Okanagan-Similkameen\",\"csd_name_fr\":\"Okanagan-Similkameen F\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.46147846461116,49.17132706297204],[-122.51724278406628,49.16722400526996],[-122.54119100165575,49.17104050022536],[-122.55320991297761,49.177877108174144],[-122.57502711305364,49.184107993832576],[-122.6023904877368,49.20890919798299],[-122.62380029313196,49.209802214731795],[-122.66792100493227,49.19622640516579],[-122.67883718360788,49.187549867767956],[-122.67968071649724,49.11393040405331],[-122.64715955080626,49.1149263587993],[-122.63773391508609,49.10826744279182],[-122.63750798659983,49.0895142533731],[-122.6471366385538,49.08200731328108],[-122.6800258057965,49.083880304260035],[-122.67965808574444,49.01660839724666],[-122.6816286361218,49.00220808774093],[-122.47943735323136,49.00229785633211],[-122.47905694795581,49.00816874962099],[-122.47336345961226,49.00822103748541],[-122.47336119314815,49.002302203316006],[-122.45915453446993,49.002256446015046],[-122.45955817397534,49.080422958169315],[-122.46147846461116,49.17132706297204]],[[-122.65024660893046,49.198112753153666],[-122.6482973238464,49.19332622408643],[-122.654785435407,49.191051866102335],[-122.65832075735014,49.19443194393064],[-122.65024660893046,49.198112753153666]],[[-122.56951882529145,49.179738678582666],[-122.55468844457025,49.17626495866048],[-122.54859823684724,49.16873805503805],[-122.57554041404782,49.17241189491334],[-122.56951882529145,49.179738678582666]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.57174949528499,\"lat\":49.09410540948095},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5915\"],\"cd_name_en\":[\"Greater Vancouver\"],\"csd_code\":[\"5915001\"],\"csd_name_en\":[\"Langley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Greater Vancouver\",\"csd_name_fr\":\"Langley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.99126420747416,49.308750639733326],[-122.97800365013661,49.306877158787316],[-122.96893925296257,49.31258298064393],[-122.99119620326414,49.31286931593245],[-122.99126420747416,49.308750639733326]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.98158972915837,\"lat\":49.31039710799756},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5915\"],\"cd_name_en\":[\"Greater Vancouver\"],\"csd_code\":[\"5915806\"],\"csd_name_en\":[\"Burrard Inlet 3\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Greater Vancouver\",\"csd_name_fr\":\"Burrard Inlet 3\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.68935475756453,49.186644683180475],[-122.68926474119289,49.19145392462432],[-122.70080144371359,49.191494749887156],[-122.70109558208318,49.18473862322372],[-122.68935475756453,49.186644683180475]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.69545398426762,\"lat\":49.18855119070215},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5915\"],\"cd_name_en\":[\"Greater Vancouver\"],\"csd_code\":[\"5915809\"],\"csd_name_en\":[\"Barnston Island 3\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Greater Vancouver\",\"csd_name_fr\":\"Barnston Island 3\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.3951587146359,48.614009777366846],[-123.44379619811123,48.61154819643401],[-123.4813759517707,48.61333030755881],[-123.48389181435252,48.603803643201886],[-123.47502051520149,48.57985236196633],[-123.4743523174632,48.561177692094425],[-123.45837630158229,48.55890774121735],[-123.42983094178658,48.550485412090794],[-123.35984048394104,48.55052542123466],[-123.36181948509028,48.57429389341162],[-123.36927918408634,48.582575811092134],[-123.36921429387615,48.600321172174276],[-123.3951587146359,48.614009777366846]],[[-123.46464135135186,48.59019995597074],[-123.44370748975427,48.59071272402538],[-123.4443599838314,48.58142818203462],[-123.4658377630096,48.583041865646614],[-123.46464135135186,48.59019995597074]],[[-123.40350029915344,48.59332664106199],[-123.3908890218282,48.5940475413716],[-123.3712535130214,48.582833227279345],[-123.40344455402007,48.58327789805774],[-123.40350029915344,48.59332664106199]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.42108710477476,\"lat\":48.58170351969181},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5917\"],\"cd_name_en\":[\"Capital\"],\"csd_code\":[\"5917015\"],\"csd_name_en\":[\"Central Saanich\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Capital\",\"csd_name_fr\":\"Central Saanich\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-123.68470505558255,48.772483030555286],[-123.69874301909284,48.77196325859435],[-123.6987305172405,48.769610728684846],[-123.6984585647969,48.769609858289364],[-123.68470505558255,48.772483030555286]]],[[[-123.61024201369787,48.75525948406163],[-123.60964711368712,48.76675061760491],[-123.6291969578221,48.769801481433774],[-123.64400692017828,48.75938140998369],[-123.61024201369787,48.75525948406163]]],[[[-123.72345170270279,48.936153040003624],[-123.77290075709351,48.93622972078964],[-123.78332593221295,48.93627997759746],[-123.78310326347771,48.90008516261788],[-123.78394412678676,48.81425169495979],[-123.78292344067428,48.76239043359932],[-123.76765052692043,48.76317526714915],[-123.75441218479857,48.776996956495616],[-123.71899449598348,48.78025662603096],[-123.68494038366289,48.78051660521423],[-123.64376346410094,48.780358220063896],[-123.62922280990242,48.7737425443688],[-123.56952974439812,48.773627889513534],[-123.555248963671,48.78092506803383],[-123.5605575394217,48.80017812830478],[-123.60529732896664,48.815916202453515],[-123.58236757562085,48.82090806888337],[-123.58920593322803,48.84965258043052],[-123.63554194320096,48.865549353116215],[-123.64083650146421,48.881482078109876],[-123.65864486185036,48.884620077119784],[-123.67003338713992,48.89760407536167],[-123.69427305257824,48.90972188061774],[-123.70224244267578,48.92926369519617],[-123.72345170270279,48.936153040003624]],[[-123.67441356395452,48.88189627983835],[-123.67820724113732,48.88252442571804],[-123.67849380772505,48.88498512391715],[-123.67326213637726,48.88505995691309],[-123.67441356395452,48.88189627983835]],[[-123.69533034610045,48.89958854368629],[-123.7008199385647,48.903299262696635],[-123.69193156138346,48.903475759586826],[-123.69533034610045,48.89958854368629]],[[-123.69398800241748,48.870840384765586],[-123.69963188401933,48.88184828445694],[-123.68731462089941,48.881465352399935],[-123.69398800241748,48.870840384765586]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.69489936767243,\"lat\":48.8404414580211},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5919\"],\"cd_name_en\":[\"Cowichan Valley\"],\"csd_code\":[\"5919008\"],\"csd_name_en\":[\"North Cowichan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cowichan Valley\",\"csd_name_fr\":\"North Cowichan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.67441356395452,48.88189627983835],[-123.67326213637726,48.88505995691309],[-123.67849380772505,48.88498512391715],[-123.67820724113732,48.88252442571804],[-123.67441356395452,48.88189627983835]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.67597886080277,\"lat\":48.88367843958753},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5919\"],\"cd_name_en\":[\"Cowichan Valley\"],\"csd_code\":[\"5919803\"],\"csd_name_en\":[\"Tsussie 6\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cowichan Valley\",\"csd_name_fr\":\"Tsussie 6\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.6663524261816,48.813672664944654],[-124.67629860615746,48.80846007357096],[-124.66326330057746,48.80411482865258],[-124.6663524261816,48.813672664944654]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.66863811097218,\"lat\":48.80874918905607},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5919\"],\"cd_name_en\":[\"Cowichan Valley\"],\"csd_code\":[\"5919814\"],\"csd_name_en\":[\"Malachan 11\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cowichan Valley\",\"csd_name_fr\":\"Malachan 11\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.04508303532279,49.43856997570487],[-124.12155227061758,49.43883406690505],[-124.14227143956398,49.4680536082223],[-124.16105890842974,49.48670148745262],[-124.19543688180502,49.51013065549218],[-124.23569832538719,49.523201010166865],[-124.26943221250362,49.52863750351069],[-124.30526468012424,49.54046638849678],[-124.36267046217907,49.550270811843916],[-124.4875881112564,49.550772352145756],[-124.50063090643563,49.54868770645227],[-124.50035088132333,49.499874428996854],[-124.46536673440677,49.46977996591827],[-124.43092052700976,49.44192665575099],[-124.3971439588043,49.423976476865306],[-124.34094092106253,49.40532012172358],[-124.26313449703709,49.39077246185688],[-124.16303900885285,49.377815156901754],[-124.04004447082157,49.36500137760259],[-124.03849532729495,49.40256627795239],[-124.04508303532279,49.43856997570487]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.27955401888264,\"lat\":49.4610703106002},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5927\"],\"cd_name_en\":[\"Powell River\"],\"csd_code\":[\"5927020\"],\"csd_name_en\":[\"qathet E\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Powell River\",\"csd_name_fr\":\"qathet E\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.47628741728666,50.88977969863493],[-121.52298981578144,50.89002407369082],[-121.52237174332615,50.86956096626138],[-121.49844493628113,50.86962962937475],[-121.49894276487632,50.87910649098444],[-121.44517462372934,50.87864040863464],[-121.44531361383,50.88953329452602],[-121.47628741728666,50.88977969863493]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.48965084868584,\"lat\":50.88224976933594},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933836\"],\"csd_name_en\":[\"Lower Hat Creek 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Lower Hat Creek 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.33712182576497,50.60889830633698],[-121.33464586275133,50.589482615207686],[-121.31022090931,50.58979811159148],[-121.30398391163435,50.60184586680856],[-121.31555471618945,50.610149420060566],[-121.31866363573809,50.610086997427],[-121.33023609925571,50.60928391384157],[-121.33712182576497,50.60889830633698]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.32178309890497,\"lat\":50.5996147628487},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933846\"],\"csd_name_en\":[\"Oregon Jack Creek 5\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Oregon Jack Creek 5\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.3993339791629,50.26695316125414],[-121.41254216806225,50.2628027126586],[-121.41118922704987,50.25993175434343],[-121.39336226573495,50.26198198955586],[-121.3993339791629,50.26695316125414]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.40322269056112,\"lat\":50.26303811571443},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933851\"],\"csd_name_en\":[\"Nicomen 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Nicomen 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.31555471618945,50.610149420060566],[-121.31820207673029,50.62068481740172],[-121.32110078871632,50.62171829956919],[-121.31866363573809,50.610086997427],[-121.31555471618945,50.610149420060566]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.31837299716159,\"lat\":50.61551677537123},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933854\"],\"csd_name_en\":[\"Paska Island 3\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Paska Island 3\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.24330283334949,50.315471784684675],[-121.24420470763198,50.28268754660482],[-121.21078296177869,50.28263800391624],[-121.2104026747805,50.271790802324894],[-121.18568526741501,50.26437899960692],[-121.143951181753,50.26410615242858],[-121.13805893571951,50.28729527864281],[-121.196448194605,50.30224645024095],[-121.19922369469336,50.307385649915055],[-121.24330283334949,50.315471784684675]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.19360291633305,\"lat\":50.287000292301116},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933859\"],\"csd_name_en\":[\"Shackan 11\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Shackan 11\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.13618563733162,50.55026765601551],[-119.12501740582576,50.55963946335208],[-119.13204724184102,50.56585186037762],[-119.15570309288164,50.55461841422375],[-119.15415474260556,50.54329025556386],[-119.13618563733162,50.55026765601551]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.14160390090662,\"lat\":50.55484993198036},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5937\"],\"cd_name_en\":[\"North Okanagan\"],\"csd_code\":[\"5937033\"],\"csd_name_en\":[\"Enderby\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"North Okanagan\",\"csd_name_fr\":\"Enderby\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.49826883900556,53.224792416300694],[-123.51734443097872,53.22551499438081],[-123.51755658449626,53.20081904880947],[-123.49391650902804,53.20276674108563],[-123.49826883900556,53.224792416300694]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.5069258894211,\"lat\":53.21303126120968},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941866\"],\"csd_name_en\":[\"Euchinico Creek 17\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Euchinico Creek 17\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-130.43971985815475,54.563388388741664],[-130.43383425434715,54.558689784991074],[-130.45069014504332,54.529503477891694],[-130.44435304775055,54.4900941655552],[-130.42531025325584,54.47387237325218],[-130.39268294810964,54.47565510106314],[-130.40136523847156,54.463743466448],[-130.3924534428248,54.4543820819104],[-130.42259504382835,54.44902428315588],[-130.44788187287895,54.45710087888193],[-130.47366723471458,54.439235676068435],[-130.4780139421389,54.4146685000497],[-130.32864156084145,54.414366584698115],[-130.33368590996557,54.55044291933869],[-130.4306588022418,54.552237844052165],[-130.43022259988533,54.56154677340205],[-130.43971985815475,54.563388388741664]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-130.39064812199481,\"lat\":54.480832266151275},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5947\"],\"cd_name_en\":[\"Skeena-Queen Charlotte\"],\"csd_code\":[\"5947809\"],\"csd_name_en\":[\"Lax Kw'alaams 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Skeena-Queen Charlotte\",\"csd_name_fr\":\"Lax Kw'alaams 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-128.58586313718573,54.49388335317655],[-128.5858692898554,54.491553335898104],[-128.58299606238538,54.491506289103974],[-128.58357419597468,54.49492111724564],[-128.58586313718573,54.49388335317655]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-128.58448340787206,\"lat\":54.492939561159154},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5949\"],\"cd_name_en\":[\"Kitimat-Stikine\"],\"csd_code\":[\"5949807\"],\"csd_name_en\":[\"Kulspai 6\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kitimat-Stikine\",\"csd_name_fr\":\"Kulspai 6\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-127.33066585710594,55.0232836240993],[-127.33073336934146,55.033901011566094],[-127.34777259359777,55.03324079191961],[-127.34231365955432,55.02366931372289],[-127.33066585710594,55.0232836240993]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-127.3378448508931,\"lat\":55.028856920208},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5949\"],\"cd_name_en\":[\"Kitimat-Stikine\"],\"csd_code\":[\"5949819\"],\"csd_name_en\":[\"Babine 17\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kitimat-Stikine\",\"csd_name_fr\":\"Babine 17\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.29968919346811,62.53930280606121],[-114.29967776427236,62.54122730694264],[-114.4319167590161,62.5412518327593],[-114.43177500809608,62.49983865379221],[-114.51793081055419,62.4995790964853],[-114.51831183257435,62.40851319892079],[-114.33326542120751,62.408563456044085],[-114.33204709533632,62.45665639523988],[-114.30017255795298,62.45754260421559],[-114.29968919346811,62.53930280606121]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.40528657144604,\"lat\":62.4708443875887},\"year\":\"2021\",\"prov_code\":[\"61\"],\"prov_name_en\":[\"Northwest Territories\"],\"cd_code\":[\"6106\"],\"cd_name_en\":[\"Region 6\"],\"csd_code\":[\"6106023\"],\"csd_name_en\":[\"Yellowknife\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Territoires du Nord-Ouest\",\"cd_name_fr\":\"Region 6\",\"csd_name_fr\":\"Yellowknife\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.180726738205244,47.437284982782785],[-53.20570621289643,47.43706939304607],[-53.2737977771737,47.39147797464864],[-53.26516449544517,47.374130403568145],[-53.228307531088966,47.3581893259359],[-53.21525038154578,47.36994031854445],[-53.20344455597778,47.39522962896066],[-53.17648789479748,47.43374361462786],[-53.180726738205244,47.437284982782785]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.22600831126784,\"lat\":47.39860312045585},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001464\"],\"csd_name_en\":[\"Avondale\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Avondale\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-52.78286465260535,47.634006779683716],[-52.793739803921305,47.67561080652655],[-52.80984791251309,47.67146609924135],[-52.82681709442952,47.685010075610286],[-52.850548291093055,47.692419813787545],[-52.854785172467736,47.655586237850294],[-52.858853191789315,47.62894150363232],[-52.877602207235256,47.61132128748376],[-52.896704189903666,47.58407940331354],[-52.88445595634788,47.57041120683762],[-52.881628485009145,47.55800163516968],[-52.85752042103436,47.56743547371097],[-52.827786283610955,47.587456683278205],[-52.82286413036747,47.60783363813519],[-52.793106825861166,47.604825632533355],[-52.80659559181344,47.62390745182279],[-52.78286465260535,47.634006779683716]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-52.838048037067836,\"lat\":47.62561802406359},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001504\"],\"csd_name_en\":[\"Portugal Cove-St. Philip's\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Portugal Cove-St. Philip's\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-52.71726450049252,47.73181738510648],[-52.71008028388778,47.75021339728617],[-52.71397949806541,47.75844898579806],[-52.76288408320202,47.762791303895085],[-52.76040738670437,47.778429399204335],[-52.78063760834513,47.80022178782282],[-52.806060398651375,47.8035126047843],[-52.81451520978302,47.78560981062521],[-52.81803719018212,47.757334199388],[-52.83103809849968,47.729925994484894],[-52.80491186010215,47.72769981065482],[-52.80490020993397,47.70506669738621],[-52.794485419924975,47.685165473059186],[-52.790310591659754,47.689439985461945],[-52.77323870281343,47.694440431253454],[-52.75011676490418,47.71931881324485],[-52.72847350871228,47.73236601008231],[-52.71726450049252,47.73181738510648]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-52.777688615497304,\"lat\":47.746237867169874},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001505\"],\"csd_name_en\":[\"Pouch Cove\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Pouch Cove\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-56.67437534429998,49.15258469555685],[-56.637044899719335,49.165171794987394],[-56.64046692657907,49.18341911342436],[-56.657279167844536,49.1976857133752],[-56.69272619504768,49.20578832963724],[-56.7244962029882,49.20719732127993],[-56.76023475019169,49.202792408478054],[-56.767372416585566,49.21322856930241],[-56.82445828311769,49.2085639862714],[-56.89336979020065,49.21251660714451],[-56.955902049765804,49.227160033128726],[-56.98219775182461,49.23872444687867],[-57.01266700270379,49.231628208679325],[-57.03102046553806,49.232443979662804],[-57.05580595213693,49.24394255749405],[-57.07874328682754,49.24409094550208],[-57.09429219579621,49.22747484174736],[-57.13438529566856,49.20780833052667],[-57.15864078350486,49.17612299578218],[-57.16634013193633,49.183577062926815],[-57.19128712561625,49.189296063488236],[-57.20650916589958,49.18672282452866],[-57.23389225867885,49.19957013723566],[-57.25594488869695,49.198428495851545],[-57.27869980331577,49.195578812473144],[-57.310993013001664,49.177506606930365],[-57.33857140754965,49.17084669009069],[-57.36135880904305,49.18065301444423],[-57.39206749459076,49.177049884394215],[-57.42388190038608,49.160094893405436],[-57.467801280020936,49.159183207706846],[-57.50000480597964,49.14095078661424],[-57.530201782392545,49.130691558357015],[-57.40934559715301,49.10040842403768],[-57.388895157728555,49.09663509768301],[-57.365528503162494,49.07797049713647],[-57.359694700353174,49.058922589425116],[-57.34660260839661,49.045204787587274],[-57.30240645239687,49.02580812082395],[-57.338175668410024,49.00006526518802],[-57.35315143352942,49.000069598991],[-57.37748813091175,48.96790938502344],[-57.4114333145532,48.941351133294575],[-57.45207665584637,48.923953609970916],[-57.49191773104393,48.91484352083051],[-57.53308282153802,48.911393884568184],[-57.572075857455495,48.896858776659265],[-57.6439022514217,48.861868626886725],[-57.7018107828448,48.82687934978256],[-57.76978704891767,48.772618647634275],[-57.871397400775386,48.69629230716109],[-57.95274663424455,48.65123853998025],[-57.94404217508919,48.63499968696816],[-57.95088749714636,48.6225435253855],[-57.90922472827496,48.621198591605044],[-57.900108557796536,48.609514267771324],[-57.873290557368335,48.59855052278103],[-57.86254190170951,48.586929677544745],[-57.78419341873612,48.570809724560306],[-57.754819038725906,48.56242464212764],[-57.6971698404423,48.55750760366794],[-57.695447005636986,48.551180751554654],[-57.66816958825752,48.53855303456428],[-57.629128483216384,48.533863845692814],[-57.56303725535556,48.50938641008404],[-57.51239260283177,48.5137327376396],[-57.472436252453726,48.520827432586124],[-57.424814395457425,48.51980149173874],[-57.40456919363866,48.53215647590253],[-57.43771079464796,48.54228113759551],[-57.412504650259116,48.55533442881],[-57.40510789858124,48.573019149447944],[-57.42744219239976,48.57887813324802],[-57.47805224298759,48.571309945581994],[-57.49308479344889,48.582214128241226],[-57.42833222375632,48.59886746412612],[-57.44498002821265,48.611333172745276],[-57.44648263738137,48.631612986196906],[-57.45730824486881,48.64590798827395],[-57.49277815948893,48.65242442227294],[-57.502766664656534,48.66957380124261],[-57.486316256701635,48.69871464141232],[-57.46889982819258,48.70598173178846],[-57.41945786357578,48.716851372443394],[-57.42320476024082,48.74276833564866],[-57.41819779678446,48.763053729154436],[-57.393094532633775,48.79538588879273],[-57.395828150354035,48.80445997802777],[-57.382346210783204,48.8384638790725],[-57.33616757824796,48.85726969288238],[-57.30033688547625,48.85979824533792],[-57.24820629341777,48.8911612377461],[-57.23345191230996,48.8741551835299],[-57.204452630266445,48.88436993550274],[-57.17940030679899,48.88805933837501],[-57.14924792279236,48.880063253475285],[-57.14397051720518,48.85469273397836],[-57.093179733632546,48.85680785897179],[-57.10366165901526,48.835977819979824],[-57.06045847447765,48.851768079497695],[-57.05059791723215,48.84559493942451],[-57.02789847232024,48.85882752205611],[-56.99458526340797,48.8718676751125],[-56.975171377725054,48.86500390828374],[-56.95165278899439,48.875452940722376],[-56.95355362918867,48.89586898425732],[-56.93624746655014,48.91137630784832],[-56.882444465514915,48.90681212970692],[-56.848091692942724,48.927882627225685],[-56.84754125505941,48.94492793051771],[-56.82735824171316,48.95090779234782],[-56.80286741807647,48.96462241345649],[-56.7796419395275,48.98212405115059],[-56.74449161903713,49.00076748265841],[-56.694648177101385,49.03518129448656],[-56.6933739483548,49.047000993265485],[-56.72048387855798,49.06170361072886],[-56.71821185187525,49.07803277618507],[-56.702978596800044,49.08800423571263],[-56.687066884430806,49.10555883915501],[-56.69008972307932,49.123896912702726],[-56.698615797763296,49.12763974072843],[-56.67437534429998,49.15258469555685]],[[-57.066169097746915,49.154859284504475],[-57.06556364824234,49.13721003742276],[-57.15233045273972,49.137148682439765],[-57.12266370021102,49.15730119139717],[-57.12959520178025,49.172585092081114],[-57.06697812509485,49.17741991862133],[-57.066169097746915,49.154859284504475]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-57.27898824106152,\"lat\":48.91643589855612},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1005\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"1005001\"],\"csd_name_en\":[\"Division No.  5\",\"Subd. A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Division No.  5, Subd. A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-56.91491068519189,49.55327581262308],[-56.91368167680765,49.51645025307832],[-56.88665395696307,49.50562482747395],[-56.84771688250623,49.5049184608222],[-56.842544428624414,49.54848516354475],[-56.8719524012423,49.5436114057421],[-56.85485620663945,49.56828179631186],[-56.84440792052174,49.575271486827134],[-56.914155200251805,49.575921973198575],[-56.91491068519189,49.55327581262308]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-56.88131056484432,\"lat\":49.54027955736594},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1005\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"1005008\"],\"csd_name_en\":[\"Hampden\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Hampden\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-58.04222649083975,49.024208185718365],[-58.06062090382784,49.02041328675714],[-58.08172434793305,49.0357009134905],[-58.10244298069666,49.03145889683822],[-58.07161980079737,49.016813498942156],[-58.06780191293693,48.999723702722704],[-58.052775858038025,49.0064758419828],[-58.04222649083975,49.024208185718365]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-58.06900193918426,\"lat\":49.01944168124058},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1005\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"1005015\"],\"csd_name_en\":[\"Gillams\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Gillams\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.06796585747754,48.61741139007246],[-53.08815206256809,48.59766938162859],[-53.09021570603516,48.58837330475604],[-53.14089148090447,48.5948592509148],[-53.13934966258443,48.57662360928535],[-53.125195410275545,48.57998182763543],[-53.1171996258795,48.568467088577485],[-53.136275632839336,48.56362498629329],[-53.14221938514417,48.54948765889144],[-53.160614961917,48.54817249351015],[-53.170597178766954,48.53564993171609],[-53.17300401763877,48.51886377382974],[-53.16858752323875,48.5012061996206],[-53.17332807615479,48.49121501909728],[-53.193632383065236,48.48385930246019],[-53.211716692789054,48.485181641808545],[-53.22978096856789,48.49391146037667],[-53.24932061387839,48.4885513687297],[-53.22586700672005,48.48346692715943],[-53.21254520644326,48.46592221448985],[-53.18758540355844,48.464313196596436],[-53.19131110770495,48.44447890755104],[-53.18214934313953,48.43879368247929],[-53.17180433961606,48.41090739543348],[-53.163852802916594,48.406850899568774],[-53.15556095134214,48.38241817232015],[-53.13986487103859,48.36243261522165],[-53.065791818939054,48.27586357122059],[-53.000000002560874,48.27869974663804],[-53.00000001330939,48.5000982381724],[-52.99463444717323,48.52913444685626],[-52.99164123437498,48.57024433236054],[-52.99575790660992,48.628914369148696],[-52.99787237511105,48.71355105225552],[-52.99999599369805,48.73233347572488],[-53.012264815485665,48.73754520614958],[-53.090024345032774,48.67710620475397],[-53.08248451925361,48.664196145260696],[-53.089440936460356,48.636101104117394],[-53.06796585747754,48.61741139007246]],[[-53.06796585747754,48.61741139007246],[-53.07742930167777,48.64024939258354],[-53.02890969040637,48.64934053300732],[-53.04417360610003,48.63616952162824],[-53.019577907681395,48.62829500228416],[-53.01272477167942,48.616610843277535],[-53.06796585747754,48.61741139007246]],[[-53.09009802972751,48.48515552729901],[-53.07234898886917,48.478374488370726],[-53.06820677631015,48.46666311397691],[-53.098521900592,48.469077721664135],[-53.09009802972751,48.48515552729901]],[[-53.063023209880186,48.56348143752243],[-53.03413409664579,48.56483510208273],[-53.03830517685859,48.54537849954586],[-53.0577990462624,48.5351951028145],[-53.058772350750345,48.50445379597439],[-53.08131147918959,48.490237926037636],[-53.10524968956745,48.489341583610184],[-53.104818686366485,48.513905366653646],[-53.07993902357378,48.537446897819464],[-53.09197057941334,48.552012987528656],[-53.063023209880186,48.56348143752243]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.071983846619574,\"lat\":48.47971935253194},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1007\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"1007018\"],\"csd_name_en\":[\"Division No.  7\",\"Subd. I\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Division No.  7, Subd. I\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.360789974752024,48.61718597952526],[-53.38956348532806,48.60631409896856],[-53.42611850285568,48.605221100470324],[-53.42552101714962,48.619845857726375],[-53.43579280394021,48.59956461747375],[-53.423371024039284,48.58588941084583],[-53.39023841005587,48.59903138919261],[-53.360789974752024,48.61718597952526]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.41027829662739,\"lat\":48.60049475013807},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1007\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"1007025\"],\"csd_name_en\":[\"Keels\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Keels\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-56.06762748536511,50.79510790192406],[-56.071497715567006,50.79572419570188],[-56.0650194754022,50.85002289697381],[-56.077053104897416,50.85080828472551],[-56.09939263794494,50.88781857672592],[-56.098611397475594,50.92291610983568],[-56.11252244940863,50.92250980262623],[-56.12300117931512,50.898667901262506],[-56.11958121282373,50.878891862299994],[-56.13094898843557,50.87469308852582],[-56.129016365836115,50.85981278945339],[-56.13858807068252,50.848796888438685],[-56.133206295213185,50.83354890652022],[-56.14394851490043,50.80255239937636],[-56.144106051457456,50.79043830405976],[-56.10049628773202,50.78685580715279],[-56.079346990986615,50.783783786001045],[-56.06762748536511,50.79510790192406]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-56.10504722404492,\"lat\":50.83828890448314},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1009\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"1009007\"],\"csd_name_en\":[\"Roddickton-Bide Arm\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Roddickton-Bide Arm\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.41378115848155,51.22974062909367],[-55.39473866431365,51.2670641311259],[-55.34729473792244,51.37584399771479],[-55.29949518161945,51.48008622439855],[-55.275599694550934,51.59209352117951],[-55.23844029859842,51.758591553026214],[-55.17789178328612,52.019524138188196],[-55.5069697304083,52.016530281609306],[-55.50697879685925,51.99785050853537],[-55.67627620645454,51.83000935632664],[-55.767885205048266,51.7417912115727],[-55.9758088324147,51.73548766058198],[-56.123950880354776,51.65731639827189],[-56.01717164061215,51.5867184863421],[-55.982824917335684,51.56909455017215],[-56.01637112912705,51.55227359802932],[-56.024031178007675,51.5357448728027],[-56.04199815835281,51.51748054916548],[-56.05775218478324,51.50996820492092],[-56.07607650118389,51.49356864011684],[-56.094452516578116,51.470474167039576],[-56.11175083601381,51.46139515217168],[-56.12369766886608,51.44521959169915],[-56.12256714503337,51.413191720837844],[-56.11742487292079,51.40581355057304],[-56.14014815441373,51.39163777716217],[-56.12181742454619,51.37236436706992],[-56.08135641389997,51.3389679617075],[-55.983087959990236,51.31104804050659],[-55.9355735119467,51.29929756561358],[-55.8697618941148,51.286506275130975],[-55.80472412611904,51.28150448325233],[-55.63485287276816,51.260621332938015],[-55.41378115848155,51.22974062909367]],[[-55.87332639612749,51.59355431100047],[-55.87447918303004,51.60306929647219],[-55.860001298307395,51.617885107140225],[-55.853784388153336,51.609215604459],[-55.86261319424923,51.60756888592885],[-55.87332639612749,51.59355431100047]],[[-55.64315261679625,51.30536304436349],[-55.61831459827593,51.31171280088152],[-55.58620634646702,51.30734777605257],[-55.591073935710874,51.29956743431432],[-55.617878040775125,51.29691198397106],[-55.64315261679625,51.30536304436349]],[[-55.73174441152717,51.58442719271381],[-55.743490395392186,51.561734385534415],[-55.732416643399276,51.555427427801106],[-55.713637817779954,51.56996539061514],[-55.69152511487428,51.560279903019854],[-55.710583117731424,51.54844780523048],[-55.71468148900275,51.53891458702284],[-55.73657469915824,51.539709492957215],[-55.745195097902126,51.552744913088446],[-55.762141396560466,51.56340839900272],[-55.752566379614265,51.57936170604368],[-55.73174441152717,51.58442719271381]],[[-55.511284496219304,51.500965830549504],[-55.49333303118753,51.53068345198144],[-55.493813898454405,51.55435831026937],[-55.47967589108163,51.55380411518992],[-55.46715561261494,51.5434328166718],[-55.439679972845106,51.533632192646834],[-55.439001064697365,51.516245335405145],[-55.45182290739139,51.49009418976395],[-55.48267516944388,51.49960359577119],[-55.50647057941081,51.49398527697338],[-55.511284496219304,51.500965830549504]],[[-55.58512147918834,51.38462710028795],[-55.56301200497381,51.36571918875499],[-55.56150860482219,51.345087199036655],[-55.586045799867804,51.336176911642255],[-55.603394782200354,51.34495089557164],[-55.6251346283367,51.342693871686556],[-55.6626706346612,51.364060337118296],[-55.66192944451301,51.408369746180036],[-55.62522993736555,51.42147372175335],[-55.58512147918834,51.38462710028795]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.61628847215288,\"lat\":51.601446479414946},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1009\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"1009031\"],\"csd_name_en\":[\"Division No.  9\",\"Subd. D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Division No.  9, Subd. D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.511284496219304,51.500965830549504],[-55.50647057941081,51.49398527697338],[-55.48267516944388,51.49960359577119],[-55.45182290739139,51.49009418976395],[-55.439001064697365,51.516245335405145],[-55.439679972845106,51.533632192646834],[-55.46715561261494,51.5434328166718],[-55.47967589108163,51.55380411518992],[-55.493813898454405,51.55435831026937],[-55.49333303118753,51.53068345198144],[-55.511284496219304,51.500965830549504]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.47281975149967,\"lat\":51.51972539996017},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1009\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"1009032\"],\"csd_name_en\":[\"St. Lunaire-Griquet\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"St. Lunaire-Griquet\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.52111873365633,46.01662991720246],[-62.54743197865623,46.011628236899476],[-62.54268004637312,46.00214355211213],[-62.52606318056886,45.99286393326353],[-62.512976573930786,46.001048499184435],[-62.52111873365633,46.01662991720246]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.52921085558739,\"lat\":46.00551511215045},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1101\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1101002\"],\"csd_name_en\":[\"Murray Harbour\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Murray Harbour\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.50000001355947,45.86127181322381],[-62.500000009198814,45.96849648227706],[-62.44117033014749,45.997906674279626],[-62.420163821902584,46.0237523327053],[-62.46627121270669,46.026566076090404],[-62.492808839321164,46.01826239717227],[-62.51175987552537,46.021188388285154],[-62.542047022615385,46.03193311023205],[-62.564508537118726,46.026577096308884],[-62.58391409151478,46.01633879849199],[-62.57936397494177,46.00367278321966],[-62.59850312017733,45.99504601984185],[-62.558886470440484,45.903680515193756],[-62.553715520429414,45.90379945813567],[-62.550047057320164,45.86056097497857],[-62.50000001355947,45.86127181322381]],[[-62.52111873365633,46.01662991720246],[-62.512976573930786,46.001048499184435],[-62.52606318056886,45.99286393326353],[-62.54268004637312,46.00214355211213],[-62.54743197865623,46.011628236899476],[-62.52111873365633,46.01662991720246]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.525368487869095,\"lat\":45.960080810854265},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1101\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1101003\"],\"csd_name_en\":[\"Murray Harbour\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Fire District\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Murray Harbour\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.74215156740358,46.29720351413874],[-62.75157750171622,46.30597675673117],[-62.765307905988344,46.34185255954153],[-62.752618183438294,46.348418918650154],[-62.76322790390472,46.37240063541687],[-62.77595094809696,46.386497480541294],[-62.83204143629123,46.42178284563349],[-62.834749385360695,46.438233405221524],[-62.86539983614596,46.4373035166592],[-62.80878526538049,46.28667263119905],[-62.80236861303184,46.28235045065663],[-62.773070742377215,46.28909173450996],[-62.76946133993629,46.27894167908204],[-62.74294729034066,46.28429039074182],[-62.74215156740358,46.29720351413874]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.80112499565258,\"lat\":46.35333971721425},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1101\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1101052\"],\"csd_name_en\":[\"East River\",\"Part 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Fire District\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"East River, Part 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.035505834835064,46.21596613723309],[-63.04539833802273,46.228997135034824],[-63.070119703781785,46.223275802006086],[-63.08391979759765,46.248046024626696],[-63.089882332506505,46.250062992056485],[-63.10102751843491,46.23865833122095],[-63.13634820618861,46.21714351071657],[-63.14467792602919,46.210901884912936],[-63.12292509583013,46.191679839148215],[-63.11260087723322,46.14199942262739],[-63.05537749670346,46.14584137605311],[-63.05510535643974,46.206406059299184],[-63.0331754833053,46.210304936863025],[-63.035505834835064,46.21596613723309]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.0886439706445,\"lat\":46.193335787498135},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1102\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1102080\"],\"csd_name_en\":[\"Stratford\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Stratford\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.13634820618861,46.21714351071657],[-63.15827165148763,46.237418452586326],[-63.17734654088027,46.249969565736876],[-63.18575739769573,46.26170063479427],[-63.21726555592981,46.25487593172389],[-63.22196081560481,46.26416567486834],[-63.24538124087043,46.26217543682517],[-63.250862437861635,46.27550161081538],[-63.255597529817855,46.27477536998454],[-63.245621382007535,46.24756398946694],[-63.25486719277599,46.24588278537018],[-63.241384753804304,46.245851153179565],[-63.23172575366797,46.21658165425177],[-63.21620882154991,46.215769037925284],[-63.187906805446644,46.203868155332565],[-63.154854479204815,46.211705460460294],[-63.14467792602919,46.210901884912936],[-63.13634820618861,46.21714351071657]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.19801310134859,\"lat\":46.23423617455684},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1102\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1102085\"],\"csd_name_en\":[\"Cornwall\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Cornwall\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.01664706375361,46.938152424401544],[-64.0134435473883,46.94249777065858],[-64.01314519301359,46.9614919873892],[-64.03896588788791,46.96229379849904],[-64.04909318143213,46.941493946630544],[-64.02528819430721,46.9425955938113],[-64.01664706375361,46.938152424401544]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.02858503017397,\"lat\":46.951125248141686},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1103\"],\"cd_name_en\":[\"Prince\"],\"csd_code\":[\"1103059\"],\"csd_name_en\":[\"Tignish\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Prince\",\"csd_name_fr\":\"Tignish\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.12963701900364,43.57278196496783],[-66.12029869177351,43.61206737544533],[-66.10819465793554,43.64231311991554],[-66.08779144182733,43.67020202997816],[-66.0426788637395,43.697861703494176],[-66.03165698922928,43.70952438878738],[-66.03204903106145,43.72294774219514],[-66.04209725375021,43.7383175525903],[-66.05895181997533,43.74015284271779],[-66.0453239163106,43.774734992524856],[-66.02717122152407,43.78203280098961],[-66.03048051974011,43.799072633857755],[-66.00529835425411,43.86646842971896],[-65.97541788931187,43.87062764935991],[-65.9704047662465,43.887915766584634],[-65.92152395031289,43.90965917293095],[-65.87109877962398,43.92384681164651],[-65.88028703196188,43.947974757951684],[-65.86265093956015,43.964582010151545],[-65.82516089940553,43.921239008326346],[-65.81412605330061,43.94151198418864],[-65.80217587980461,43.944560460949056],[-65.81976631635223,43.97751681912708],[-65.81579177112717,43.99032940886749],[-65.82178504753855,43.99967817612436],[-65.81495665353356,44.01436745118302],[-65.83325323401759,44.05134504343115],[-65.82468284669162,44.06105179167244],[-65.83299396710744,44.08210837602038],[-65.88874608522097,44.13807761613416],[-65.9994351162939,44.08039596410739],[-66.15701837957535,44.000082844974365],[-66.21775474826596,43.962928146287034],[-66.20168036939387,43.7793036243392],[-66.20052522767037,43.74887994962793],[-66.17561084070547,43.626849745971874],[-66.12963701900364,43.57278196496783]],[[-66.07541905198792,43.83814138493445],[-66.08358730143993,43.832279698090225],[-66.08716769583533,43.83503149413525],[-66.08088802475069,43.839535083834555],[-66.07541905198792,43.83814138493445]],[[-66.1257225121623,43.82089451240026],[-66.11642846351049,43.856548021488365],[-66.09076316049722,43.855771694711976],[-66.0893718063882,43.837118179524566],[-66.09708167543421,43.81845790930359],[-66.1257225121623,43.82089451240026]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.04362880956363,\"lat\":43.90215175913872},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1202\"],\"cd_name_en\":[\"Yarmouth\"],\"csd_code\":[\"1202004\"],\"csd_name_en\":[\"Yarmouth\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Yarmouth\",\"csd_name_fr\":\"Yarmouth\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.84816548137937,45.74473984534124],[-63.815778790054345,45.76136335972139],[-63.794569438951186,45.77686236906843],[-63.78132288823679,45.777107557610655],[-63.7754116987021,45.79584715567198],[-63.760366553557944,45.805122260135356],[-63.75416461067564,45.84979119366955],[-63.73949090404185,45.85113616789613],[-63.71835470668104,45.862996418785784],[-63.7124041765248,45.873549950446275],[-63.70794497888568,45.924228036953025],[-63.69297761570295,45.95169710769419],[-63.682350788230146,45.98376013288307],[-63.65973876657765,46.08413134638001],[-63.73217642471491,46.07748346340125],[-63.9577776187741,46.035842918074],[-64.02874427989676,46.021371612272034],[-64.03670803083574,46.015334075617915],[-64.04631449609916,45.9913391971028],[-64.04680352920026,45.97681801071708],[-64.14942368761501,45.98014747199192],[-64.15914514354326,45.97530769486694],[-64.16460980416215,45.96082053655081],[-64.20623719984971,45.91613459519497],[-64.21659228926005,45.91116949515654],[-64.22770576509512,45.89523273619744],[-64.25449609170614,45.879785007172224],[-64.27258192539121,45.85384106249662],[-64.26938275464924,45.844823568659436],[-64.28648198251702,45.83071746058014],[-64.28181236147171,45.81472240264699],[-64.28974130463081,45.80142385986804],[-64.32302602742323,45.78259651812268],[-64.33570724301592,45.768543170391666],[-64.32785345664547,45.756542945340385],[-64.29913984090999,45.77124996434957],[-64.25495179827242,45.76217380404408],[-64.23889928443933,45.77832548139646],[-64.21566544062145,45.77716831512182],[-64.17608486897015,45.80134263077733],[-64.13830179858095,45.77903008679387],[-64.11970400009255,45.75847158563785],[-64.08777748784914,45.74565599400616],[-64.06758848925638,45.73391049068261],[-64.02077840773573,45.696273902592345],[-64.00772491868116,45.6915426006521],[-63.977331606343746,45.69611255876156],[-63.91981192499488,45.69037290413932],[-63.88613652323777,45.693815248159474],[-63.87374158295955,45.705661297691336],[-63.87637200613394,45.713839405840076],[-63.89809976368122,45.71516588574548],[-63.88607300605099,45.7274358800755],[-63.87030282625275,45.75481577967654],[-63.84816548137937,45.74473984534124]],[[-64.20652154991446,45.84288096328786],[-64.19320428150498,45.84411852222501],[-64.17874020846938,45.82055853537773],[-64.2085542936477,45.80355189554493],[-64.2324667875689,45.81742290721397],[-64.22030049897121,45.83641548000268],[-64.20652154991446,45.84288096328786]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.95296036395531,\"lat\":45.886683922191175},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1211\"],\"cd_name_en\":[\"Cumberland\"],\"csd_code\":[\"1211009\"],\"csd_name_en\":[\"Cumberland\",\"Subd. C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of county municipality \\/ Subdivision municipalit\\u00e9 de comt\\u00e9\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Cumberland\",\"csd_name_fr\":\"Cumberland, Subd. C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-61.3983408015592,45.629498907994],[-61.40280337834871,45.63299677778865],[-61.44005917090577,45.622521611904475],[-61.41899734663191,45.576595625682586],[-61.38325907154039,45.58624044936029],[-61.388445103375474,45.61667579847641],[-61.3983408015592,45.629498907994]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-61.40957583650857,\"lat\":45.60549900304404},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1213\"],\"cd_name_en\":[\"Guysborough\"],\"csd_code\":[\"1213008\"],\"csd_name_en\":[\"Mulgrave\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Guysborough\",\"csd_name_fr\":\"Mulgrave\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.8811745879426,45.57038528215375],[-65.89793018001544,45.57534619298121],[-65.91749368012766,45.60145193815969],[-65.96737829283055,45.572650327564006],[-65.9784291169108,45.561562521972974],[-66.00027499865779,45.54888008861884],[-66.02298425336915,45.55200485244267],[-66.0489770257052,45.53129816511113],[-66.07408696449423,45.49968877110815],[-66.16607042038656,45.425218866995785],[-66.15833883798146,45.41790328661635],[-66.10344308497713,45.39545156535664],[-66.12659291776298,45.36612376207884],[-66.05733880056886,45.33808018298086],[-66.03032009899131,45.34509862559215],[-66.01418851639605,45.358134892080585],[-66.00367968344956,45.38918429884373],[-66.00283267957754,45.41725743776542],[-65.99568920293649,45.4394598091223],[-65.97871488310413,45.45333020374671],[-65.96067370475156,45.459081992565274],[-65.94272860375193,45.45721189442382],[-65.93601179373972,45.47572650425308],[-65.9203281977693,45.48452380952468],[-65.90903562405255,45.504330505636496],[-65.89919752328662,45.510326754306526],[-65.90583711565675,45.51298854488347],[-65.93516679045628,45.52406694869498],[-65.9311940747995,45.532562987055336],[-65.86301040723455,45.56251205292774],[-65.8811745879426,45.57038528215375]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.02196182364608,\"lat\":45.46621298151119},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1305\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1305014\"],\"csd_name_en\":[\"Kingston\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Kingston\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.16059981418637,45.71062810757853],[-65.22382088562495,45.843719805321456],[-65.25977554273311,45.91883576313263],[-65.38378887807953,45.82755110098058],[-65.46121735316304,45.76901680347946],[-65.45111908603162,45.741990250259505],[-65.443785466443,45.75010854281834],[-65.42660453559529,45.706131983820306],[-65.33831426709553,45.72314835995738],[-65.21050063271069,45.69907588761958],[-65.16059981418637,45.71062810757853]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.3037416865118,\"lat\":45.78487072909817},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1305\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1305026\"],\"csd_name_en\":[\"Cardwell\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Cardwell\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.22754526307601,46.22494653007949],[-64.22946300018985,46.22847058843144],[-64.26894979309873,46.235294408308214],[-64.33114768720131,46.22903661302347],[-64.32104459661598,46.20207627781922],[-64.3107319814058,46.197632006852096],[-64.27912045399759,46.204402553845085],[-64.27344946184735,46.19216455321712],[-64.24413089499849,46.2066063412868],[-64.24779626835148,46.22051081253012],[-64.22754526307601,46.22494653007949]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.283190364759,\"lat\":46.21690025088209},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1307\"],\"cd_name_en\":[\"Westmorland\"],\"csd_code\":[\"1307007\"],\"csd_name_en\":[\"Cap-Pel\\u00e9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Westmorland\",\"csd_name_fr\":\"Cap-Pel\\u00e9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.85991434079013,46.511349192439745],[-64.88298244244126,46.56218329715464],[-64.90234955208139,46.572086662531945],[-64.91693017763578,46.58847647475186],[-64.93385961524432,46.593222129049046],[-64.94693240050161,46.58295776937761],[-64.99900001521618,46.58186233782941],[-65.03137969976987,46.57795578885782],[-65.03490930647152,46.58687753859214],[-64.96721202134431,46.61125202535896],[-65.05169130475639,46.610746445504816],[-65.24511698132393,46.6097126837668],[-65.3860882125472,46.610048005635576],[-65.4235167512779,46.60926627704601],[-65.26212126019387,46.49273153841942],[-65.16991302065084,46.42577974509151],[-65.1499152214207,46.41265002583978],[-65.09821115772044,46.37366466193501],[-64.99665120786692,46.43166093960088],[-64.85991434079013,46.511349192439745]],[[-64.97621911706567,46.58067270274924],[-64.96764069624146,46.581622405064245],[-64.9562809069903,46.55544959996549],[-64.9654908195527,46.553908010740194],[-64.97621911706567,46.58067270274924]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.11232272899527,\"lat\":46.52188660295564},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1308\"],\"cd_name_en\":[\"Kent\"],\"csd_code\":[\"1308014\"],\"csd_name_en\":[\"Weldford\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kent\",\"csd_name_fr\":\"Weldford\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.3860882125472,46.610048005635576],[-65.14511189409953,46.72986936075384],[-65.20433885953267,46.84487760156727],[-65.23962760817892,46.82555780214695],[-65.29771008825116,46.79245916730702],[-65.41038224061035,46.73061600478196],[-65.42083802913845,46.72440458020254],[-65.5135696722973,46.67292728529955],[-65.4235167512779,46.60926627704601],[-65.3860882125472,46.610048005635576]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.3158926967067,\"lat\":46.71521946466},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1308\"],\"cd_name_en\":[\"Kent\"],\"csd_code\":[\"1308024\"],\"csd_name_en\":[\"Acadieville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kent\",\"csd_name_fr\":\"Acadieville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.14511189409953,46.72986936075384],[-65.07000107322494,46.767186818268],[-65.0363759542384,46.77808079026372],[-65.02881593983217,46.775446887826185],[-64.99353806462038,46.782604377518695],[-64.98615320047242,46.796971273326605],[-64.96672050528835,46.7891177461177],[-64.86354120621102,46.81167222615595],[-64.85178651288716,46.868001310542354],[-64.77981376710035,46.976872783355496],[-64.76253945736426,47.00783591456312],[-64.77855869310767,47.082681092871795],[-64.80151715454167,47.06645343398594],[-64.82706750269514,47.05643209110565],[-64.89933622276695,47.01663133215598],[-65.05889800099594,46.92639772210036],[-65.20433885953267,46.84487760156727],[-65.14511189409953,46.72986936075384]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.97088678858982,\"lat\":46.89068250074972},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1308\"],\"cd_name_en\":[\"Kent\"],\"csd_code\":[\"1308026\"],\"csd_name_en\":[\"Carleton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kent\",\"csd_name_fr\":\"Carleton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.23962760817892,46.82555780214695],[-65.2598870501407,46.86957317818595],[-65.30972330429208,46.849746006995],[-65.3473265032164,46.82329081728852],[-65.40131933835504,46.86772191446737],[-65.4871352110036,46.81826415616502],[-65.635791809101,46.73382950088074],[-65.66339074576973,46.718974272527795],[-65.56876877262027,46.64096306008924],[-65.5135696722973,46.67292728529955],[-65.42083802913845,46.72440458020254],[-65.43395972333919,46.721700324567564],[-65.45352082633794,46.74416386361167],[-65.42644358698999,46.75161977214636],[-65.41038224061035,46.73061600478196],[-65.29771008825116,46.79245916730702],[-65.23962760817892,46.82555780214695]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.46183331870967,\"lat\":46.76359022660996},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1309\"],\"cd_name_en\":[\"Northumberland\"],\"csd_code\":[\"1309016\"],\"csd_name_en\":[\"Rogersville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Northumberland\",\"csd_name_fr\":\"Rogersville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.79500318192146,47.04549593663834],[-65.7935830269307,47.04006222435295],[-65.82942270824533,47.03220063597226],[-65.83676521626575,47.014161481108225],[-65.81349317919737,47.01356621876173],[-65.75370161724314,47.026533076154514],[-65.76553672442527,47.05205087895554],[-65.79500318192146,47.04549593663834]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.79329661840416,\"lat\":47.03032881237665},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1309\"],\"cd_name_en\":[\"Northumberland\"],\"csd_code\":[\"1309034\"],\"csd_name_en\":[\"Big Hole Tract 8 (South Half)\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Northumberland\",\"csd_name_fr\":\"Big Hole Tract 8 (South Half)\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.49999920938093,45.68756093445444],[-67.503506009864,45.72083879032757],[-67.53185839232485,45.75195049847509],[-67.54038709620045,45.76775213729619],[-67.55856965480638,45.773331979343126],[-67.60640536553176,45.77779672900242],[-67.6266848210316,45.795595682914744],[-67.65485882503037,45.81437565348478],[-67.66363466352571,45.844007743088966],[-67.6718237010232,45.85630298905742],[-67.66890495046141,45.894713804418195],[-67.69699190124051,45.91575666600273],[-67.69930322921039,45.92538548403807],[-67.71573330562974,45.942733802941895],[-67.78123223553025,45.94345403718524],[-67.75115992122211,45.91781440451682],[-67.76392366919691,45.91063227919561],[-67.76883788600058,45.8988946046491],[-67.78438841588644,45.89573159357541],[-67.8039167080242,45.88288890747033],[-67.80430560748371,45.86913889168396],[-67.7872778000839,45.84955559251216],[-67.7719444090185,45.84155560817649],[-67.75533328656918,45.82336110398676],[-67.7814722062357,45.815472202990094],[-67.80211109239188,45.803027803794414],[-67.80930561101641,45.76736110726445],[-67.80627779610296,45.755249987214434],[-67.79316670409064,45.750500008697905],[-67.78200000595864,45.73108330143987],[-67.80972219052403,45.729444397693676],[-67.80311110734947,45.69602780084249],[-67.81811107713692,45.69372220549462],[-67.80363890244342,45.67763888939631],[-67.76872218894964,45.677472183164014],[-67.75427781311981,45.667555594650906],[-67.7130832937306,45.68119440336488],[-67.70138890466941,45.66905561398914],[-67.69241670558173,45.65005560191953],[-67.67522220753548,45.63074999616364],[-67.64558329967801,45.613333302789954],[-67.63911109384067,45.62511110977227],[-67.60838890953659,45.60613891238123],[-67.5898611041672,45.606777806553396],[-67.57364692243665,45.59890574041101],[-67.49999920938093,45.68756093445444]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.67282380394232,\"lat\":45.75273275659393},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1310\"],\"cd_name_en\":[\"York\"],\"csd_code\":[\"1310008\"],\"csd_name_en\":[\"North Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"York\",\"csd_name_fr\":\"North Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.86046121455355,45.95539927313961],[-66.81334429027459,45.89418758547077],[-66.8074860034612,45.893568741076194],[-66.85263451969203,45.95660821725494],[-66.85706075717908,45.95706367732559],[-66.86046121455355,45.95539927313961]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.83549222796593,\"lat\":45.92767129724897},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1310\"],\"cd_name_en\":[\"York\"],\"csd_code\":[\"1310019\"],\"csd_name_en\":[\"Kingsclear 6\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"York\",\"csd_name_fr\":\"Kingsclear 6\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.73038091398027,47.067027001173805],[-67.70793313084557,47.075967470322894],[-67.70901984604123,47.0930738350448],[-67.69673508559205,47.105691294267935],[-67.6739273629247,47.14444457642197],[-67.66956922904023,47.16788638074241],[-67.68888770078846,47.173546252567526],[-67.68917367915338,47.231698194946986],[-67.76196165358941,47.209598881497776],[-67.7523354357925,47.18552201099768],[-67.7733567733467,47.18079113846001],[-67.78573707896501,47.159745438055914],[-67.81728799357502,47.115928002443525],[-67.82696050982176,47.11162173284732],[-67.84533527822029,47.09149761037691],[-67.82111112106743,47.0834166980358],[-67.79019416412802,47.06714672784283],[-67.77034302689816,47.06722008828156],[-67.7515029642618,47.06192618405385],[-67.73038091398027,47.067027001173805]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.744611548969,\"lat\":47.136662749416224},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1313\"],\"cd_name_en\":[\"Madawaska\"],\"csd_code\":[\"1313002\"],\"csd_name_en\":[\"Saint-Andr\\u00e9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural community \\/ Communaut\\u00e9 rurale\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Madawaska\",\"csd_name_fr\":\"Saint-Andr\\u00e9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.26738665209979,48.420066257572195],[-67.33981568340674,48.4551686608691],[-67.35460329744011,48.455463113509445],[-67.36616717218548,48.441769246125084],[-67.38599173485,48.44463392381157],[-67.42516365535161,48.43393335055088],[-67.41412690117578,48.41533064840794],[-67.4345232908113,48.410238689498286],[-67.45837409551231,48.41033588800282],[-67.42434094538142,48.35236407662766],[-67.32191459025765,48.379289054761294],[-67.33544851954304,48.4035213641049],[-67.31548874501834,48.40887680975727],[-67.30912706185018,48.39825471965485],[-67.28407894596339,48.405473996801895],[-67.26738665209979,48.420066257572195]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.36985940015867,\"lat\":48.40626937204091},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2407\"],\"cd_name_en\":[\"La Matap\\u00e9dia\"],\"csd_code\":[\"2407057\"],\"csd_name_en\":[\"Lac-au-Saumon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Matap\\u00e9dia\",\"csd_name_fr\":\"Lac-au-Saumon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.30882300700488,48.629674005452124],[-67.35711904953536,48.660837192571655],[-67.42294942156478,48.700198229425794],[-67.53644162468252,48.61573002844677],[-67.47893821891388,48.58644142812336],[-67.44401967123069,48.58239690483975],[-67.41115554732573,48.56023724893239],[-67.3910599016399,48.54544065375225],[-67.33308205125084,48.59775018960118],[-67.30250302720559,48.62559107444442],[-67.30882300700488,48.629674005452124]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.41478091195262,\"lat\":48.62344667812506},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2407\"],\"cd_name_en\":[\"La Matap\\u00e9dia\"],\"csd_code\":[\"2407075\"],\"csd_name_en\":[\"Saint-Vianney\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Matap\\u00e9dia\",\"csd_name_fr\":\"Saint-Vianney\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.47058108075902,48.53097245158755],[-67.50814326351025,48.53398622818281],[-67.61678736618155,48.57530715672663],[-67.63090089051258,48.55180855795205],[-67.63765965589484,48.55038569262902],[-67.65266504123161,48.526287362919284],[-67.64223724967765,48.522112842327616],[-67.66842226401545,48.50455317403285],[-67.63980237089213,48.48618229609537],[-67.62342171884698,48.475039828890345],[-67.60295696945279,48.489077247408844],[-67.58731140579818,48.478883193004634],[-67.56834336362832,48.49205959213407],[-67.55814471878624,48.49004296426356],[-67.53510894528083,48.47354662073749],[-67.51440966376069,48.48777108944192],[-67.47058108075902,48.53097245158755]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.57771118138636,\"lat\":48.51951454521914},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2407\"],\"cd_name_en\":[\"La Matap\\u00e9dia\"],\"csd_code\":[\"2407080\"],\"csd_name_en\":[\"Val-Brillant\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Matap\\u00e9dia\",\"csd_name_fr\":\"Val-Brillant\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.10641780226834,48.59417247454906],[-68.08457680403937,48.600971976818805],[-68.06838148888296,48.616020832205514],[-68.04206015893293,48.63366620547864],[-68.06675075094448,48.6469175971054],[-68.06060970409047,48.65170148369872],[-68.0721477484567,48.66546302549513],[-68.20497796650777,48.839788010819035],[-68.22853847069574,48.87092468403575],[-68.27448727700335,48.84512388358555],[-68.32507927581639,48.81665667521235],[-68.24517910900983,48.743314241077115],[-68.14549584345137,48.654474890187444],[-68.13116463996838,48.62574972918538],[-68.13934377426725,48.612812224344104],[-68.10641780226834,48.59417247454906]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.18187545367549,\"lat\":48.73803272797667},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2409\"],\"cd_name_en\":[\"La Mitis\"],\"csd_code\":[\"2409060\"],\"csd_name_en\":[\"Grand-M\\u00e9tis\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Mitis\",\"csd_name_fr\":\"Grand-M\\u00e9tis\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.64499228594808,48.16438911912507],[-67.68624705751591,48.190950018822235],[-67.8306812679664,48.286555672531776],[-67.9424368894807,48.36234121080353],[-67.96776284930029,48.34621935156181],[-67.97348041810284,48.32722764535251],[-68.01237529024412,48.300496843965284],[-68.02852380108305,48.31101781295027],[-68.08727663061534,48.265045622132384],[-68.13545195848802,48.29685783393357],[-68.16666849765427,48.31741837072323],[-68.1900196971358,48.29993197767276],[-68.21870389423493,48.322025927660746],[-68.25705119392019,48.293514762285554],[-68.18665165707725,48.25177812087599],[-68.1212157568804,48.21087927775888],[-68.0077458696747,48.14161961630371],[-67.94791733766085,48.10405089125321],[-67.94956501331532,47.99994379731419],[-67.60423481617144,47.99995132758395],[-67.59650263975219,47.998064270201205],[-67.58590825093762,48.037779903977516],[-67.58739494006102,48.04938064885561],[-67.63059158781867,48.07744654129228],[-67.6495559209886,48.08128649697455],[-67.64955570594631,48.09048769334071],[-67.6668393975665,48.11713210152024],[-67.67672759491924,48.13347900245803],[-67.67584440670163,48.15020859250112],[-67.65759209779394,48.15468718797604],[-67.64493675566617,48.16435126694498],[-67.64499228594808,48.16438911912507]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.87799391503094,\"lat\":48.16362955443495},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2409\"],\"cd_name_en\":[\"La Mitis\"],\"csd_code\":[\"2409902\"],\"csd_name_en\":[\"Lac-des-Eaux-Mortes\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Mitis\",\"csd_name_fr\":\"Lac-des-Eaux-Mortes\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.84758882277663,47.29939850920196],[-69.83294844327222,47.31785405214985],[-69.79136920885009,47.377444584319335],[-69.80911168484288,47.38891859003096],[-69.81836668385809,47.37749326305339],[-69.8395526522686,47.390863767171524],[-69.85050247382766,47.38347190653678],[-69.86620441722393,47.40150280806533],[-69.89344982961198,47.414813294331],[-69.90870087932505,47.402848044749824],[-69.93151869200715,47.39341782813983],[-69.9463283821449,47.37745259928469],[-69.94423240941738,47.36200548012706],[-69.89636927316838,47.32919906972758],[-69.84758882277663,47.29939850920196]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.8714395516111,\"lat\":47.36097609358719},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2414\"],\"cd_name_en\":[\"Kamouraska\"],\"csd_code\":[\"2414075\"],\"csd_name_en\":[\"Saint-Gabriel-Lalemant\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Kamouraska\",\"csd_name_fr\":\"Saint-Gabriel-Lalemant\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.81188862764718,46.88134288859204],[-69.87513815495313,46.920433366685295],[-69.89444551073476,46.91814090831178],[-69.91268710711736,46.92730353272349],[-69.94568674360508,46.90429804073424],[-69.95283144130974,46.90884891656284],[-70.08327649821926,46.81990621486685],[-70.06993542996311,46.8105578444118],[-69.97857455938083,46.746202217088715],[-69.95973445373576,46.733284310034456],[-69.81188862764718,46.88134288859204]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.94530861088808,\"lat\":46.83748828962589},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2417\"],\"cd_name_en\":[\"L'Islet\"],\"csd_code\":[\"2417015\"],\"csd_name_en\":[\"Saint-Adalbert\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"L'Islet\",\"csd_name_fr\":\"Saint-Adalbert\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.13702927807658,47.20591454801467],[-70.17984687495168,47.2347408358491],[-70.1914974254548,47.20779239255091],[-70.25236090133507,47.15486305835997],[-70.27736746638219,47.127213739734636],[-70.23308547235163,47.096162007442],[-70.20458029686202,47.07647493131123],[-70.17280884621987,47.108228763609006],[-70.15636689571313,47.119241419255395],[-70.13559189025703,47.13644390461966],[-70.11561270949821,47.160484603335924],[-70.1620061780095,47.190118494859206],[-70.13702927807658,47.20591454801467]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.19398441457415,\"lat\":47.15001292780853},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2417\"],\"cd_name_en\":[\"L'Islet\"],\"csd_code\":[\"2417055\"],\"csd_name_en\":[\"Saint-Aubert\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"L'Islet\",\"csd_name_fr\":\"Saint-Aubert\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.282444881912,46.66667630493814],[-70.19576269146732,46.72451092648823],[-70.29689025314053,46.79587827726348],[-70.33139495202005,46.81874675544195],[-70.3880467760489,46.78017619396088],[-70.37102408330169,46.768696635004986],[-70.42534706698493,46.72943860728709],[-70.4448932985663,46.741545035899144],[-70.32419647101156,46.657879180650106],[-70.29648599056024,46.67665288088869],[-70.282444881912,46.66667630493814]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.31458501781043,\"lat\":46.733932568300716},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2418\"],\"cd_name_en\":[\"Montmagny\"],\"csd_code\":[\"2418030\"],\"csd_name_en\":[\"Saint-Paul-de-Montminy\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Montmagny\",\"csd_name_fr\":\"Saint-Paul-de-Montminy\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.10726263155631,46.85930600700176],[-71.13845019929651,46.875873019812246],[-71.1500127674743,46.85683892455445],[-71.16790419386477,46.84407538083867],[-71.13334500364977,46.837933578440975],[-71.07970456768854,46.839634361211175],[-71.07840574867303,46.83977673029587],[-71.10726263155631,46.85930600700176]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.12580982827849,\"lat\":46.851558910331136},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2420\"],\"cd_name_en\":[\"L'\\u00cele-d'Orl\\u00e9ans\"],\"csd_code\":[\"2420030\"],\"csd_name_en\":[\"Sainte-P\\u00e9tronille\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"L'\\u00cele-d'Orl\\u00e9ans\",\"csd_name_fr\":\"Sainte-P\\u00e9tronille\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.80132855124705,47.06592986783303],[-70.80839074536954,47.0661322217186],[-70.80634575795877,47.056875061605616],[-70.80100174755259,47.061625296513235],[-70.80132855124705,47.06592986783303]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.80467938314713,\"lat\":47.06256694624283},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2421\"],\"cd_name_en\":[\"La C\\u00f4te-de-Beaupr\\u00e9\"],\"csd_code\":[\"2421015\"],\"csd_name_en\":[\"Saint-Louis-de-Gonzague-du-Cap-Tourmente\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La C\\u00f4te-de-Beaupr\\u00e9\",\"csd_name_fr\":\"Saint-Louis-de-Gonzague-du-Cap-Tourmente\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.05209994198515,45.57429792454604],[-71.05184855916357,45.59752817078387],[-71.08540228907054,45.617074739994486],[-71.07789611203678,45.62345508579927],[-71.09465887449805,45.633134074039276],[-71.08695095027086,45.639800396769814],[-71.10931562080377,45.65278100714276],[-71.12410468905276,45.64016057924205],[-71.14170868429596,45.65024320883876],[-71.1549414177035,45.638695597831976],[-71.18264873587161,45.65600663168227],[-71.20726319730223,45.64248205157448],[-71.23422029858959,45.62170614388393],[-71.20439644516512,45.60292927643127],[-71.23255949112826,45.58074206785369],[-71.21625854079687,45.569816440929024],[-71.16524707021219,45.53565755528401],[-71.15857453078578,45.52285681942696],[-71.11595163328792,45.522730728402145],[-71.11592889190382,45.55519516850235],[-71.09536143660476,45.55550045989082],[-71.09478617702896,45.5648569073183],[-71.05240956595533,45.565230155197355],[-71.05209994198515,45.57429792454604]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.14417793915817,\"lat\":45.59290549224548},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2430\"],\"cd_name_en\":[\"Le Granit\"],\"csd_code\":[\"2430040\"],\"csd_name_en\":[\"Milan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Granit\",\"csd_name_fr\":\"Milan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.41291579375039,45.97763414935267],[-71.44241212452854,45.993489200541354],[-71.58300315716802,46.066607966113914],[-71.62573227717381,46.02505841797718],[-71.62869152684209,46.02232756041602],[-71.54954202764,45.98172378030359],[-71.53547853548314,45.97439303170784],[-71.51229719383197,45.98054748900084],[-71.48827053940234,45.96681772901155],[-71.47533015099751,45.978175679509086],[-71.43394136690165,45.95691833007821],[-71.41291579375039,45.97763414935267]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.5294881050201,\"lat\":46.00886199695754},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2431\"],\"cd_name_en\":[\"Les Appalaches\"],\"csd_code\":[\"2431035\"],\"csd_name_en\":[\"Saint-Julien\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Appalaches\",\"csd_name_fr\":\"Saint-Julien\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.55473379720651,46.1762688982762],[-71.56134430696989,46.18662681321847],[-71.55978341665309,46.20044329185475],[-71.52646340066937,46.21890400747278],[-71.52284545307191,46.22708125349096],[-71.6008237045374,46.265860399141744],[-71.62112026497779,46.24646531369528],[-71.64128605195671,46.23636539360637],[-71.6571073886242,46.246586591418904],[-71.68020677063842,46.22434028705334],[-71.66957264589188,46.218109788608494],[-71.68081642312303,46.207358899074016],[-71.66066085789278,46.19726533956235],[-71.6722994195551,46.18649812921196],[-71.65336311498216,46.17718725218957],[-71.66445402905318,46.1661429123528],[-71.64147176117102,46.154511061671904],[-71.60383150460515,46.18581190188813],[-71.57763724610759,46.171161682387655],[-71.5657620208669,46.18189418761215],[-71.55473379720651,46.1762688982762]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.6082344379171,\"lat\":46.21237682568175},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2432\"],\"cd_name_en\":[\"L'\\u00c9rable\"],\"csd_code\":[\"2432050\"],\"csd_name_en\":[\"Saint-Pierre-Baptiste\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"L'\\u00c9rable\",\"csd_name_fr\":\"Saint-Pierre-Baptiste\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.49463637869098,46.33082850883707],[-71.49981367621224,46.324671768267464],[-71.52002100310405,46.32791791833166],[-71.55594795101723,46.34562123119552],[-71.58982279154883,46.31426427651189],[-71.62499160089443,46.27866580862008],[-71.6008237045374,46.265860399141744],[-71.52284545307191,46.22708125349096],[-71.52646340066937,46.21890400747278],[-71.55978341665309,46.20044329185475],[-71.56134430696989,46.18662681321847],[-71.55473379720651,46.1762688982762],[-71.5294772689596,46.163134416921785],[-71.48397962752708,46.206011823499054],[-71.4854536191743,46.213766834825094],[-71.4668210144919,46.23119424207485],[-71.4454879525561,46.220212975223205],[-71.4335199011035,46.231068390681244],[-71.4114238749132,46.23075504410914],[-71.3881611639954,46.252499634374956],[-71.3723681222088,46.26826159138574],[-71.4132565381703,46.289639338167675],[-71.49463637869098,46.33082850883707]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.50469984112442,\"lat\":46.26582808031795},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2432\"],\"cd_name_en\":[\"L'\\u00c9rable\"],\"csd_code\":[\"2432058\"],\"csd_name_en\":[\"Inverness\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"L'\\u00c9rable\",\"csd_name_fr\":\"Inverness\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.20263154064602,46.458176245243756],[-71.2688877925507,46.448170949668885],[-71.27382183633036,46.46071502869891],[-71.3011018492434,46.45594881759416],[-71.33096650191318,46.44649568231305],[-71.3577239938949,46.41778255422818],[-71.33912254510768,46.40134497921004],[-71.31609129704768,46.40080271254507],[-71.31426641560535,46.39348420712129],[-71.30770571818907,46.38685901769493],[-71.26167950510317,46.38537261803148],[-71.26156311433245,46.39253531128294],[-71.2139992625148,46.3924674954955],[-71.16996130162093,46.41120654446716],[-71.16628670231948,46.42454168078425],[-71.20263154064602,46.458176245243756]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.26112238517086,\"lat\":46.422617048624886},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2433\"],\"cd_name_en\":[\"Lotbini\\u00e8re\"],\"csd_code\":[\"2433025\"],\"csd_name_en\":[\"Saint-Patrice-de-Beaurivage\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Lotbini\\u00e8re\",\"csd_name_fr\":\"Saint-Patrice-de-Beaurivage\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-72.05360782054949,46.88754763647599],[-72.120170017787,46.93181251352212],[-72.13020232732262,46.91781395853905],[-72.13659888236572,46.89683354621315],[-72.15374754961529,46.87858927145969],[-72.16569596109775,46.872936531107996],[-72.12711265255291,46.84710219614633],[-72.05360782054949,46.88754763647599]]],[[[-71.84327638964031,46.71976346728736],[-71.88835688366107,46.767958023539485],[-71.92274808949757,46.793873530279306],[-71.96083804661319,46.76747986398688],[-71.99151135012971,46.75312696674755],[-71.95557447662998,46.72633337040847],[-71.96421941213033,46.719536195690836],[-71.92185164450298,46.688126709417354],[-71.9174651530513,46.69098431486864],[-71.88859466627375,46.66952745574505],[-71.87120279895609,46.67793474199714],[-71.84139560242538,46.677100737446466],[-71.8686982740667,46.706580180133635],[-71.84327638964031,46.71976346728736]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.974634078341,\"lat\":46.780114928593626},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2434\"],\"cd_name_en\":[\"Portneuf\"],\"csd_code\":[\"2434048\"],\"csd_name_en\":[\"Portneuf\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Portneuf\",\"csd_name_fr\":\"Portneuf\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.89256247312574,45.78091790249048],[-71.92639158625708,45.754086489373755],[-71.95238424959126,45.76176852768887],[-71.9775081129781,45.7388990077194],[-72.01201263271231,45.76071271851638],[-71.99664459518839,45.77573241645585],[-71.98582749760592,45.770142790623915],[-71.96420445139861,45.78207982057055],[-71.96247324420095,45.788717203860855],[-71.9353988263536,45.787902397241304],[-71.92135708601012,45.79637455934168],[-72.02537706384844,45.85162289587516],[-72.02927658304408,45.85373399191562],[-72.09323179404912,45.79709553531258],[-72.13371125528549,45.76068151993749],[-72.01441997562485,45.69870280288809],[-72.0012842797912,45.71038934135226],[-71.99018895700195,45.7045618104826],[-71.97878328195287,45.71506798732822],[-71.96172247065657,45.70656016330056],[-71.9112805529598,45.75344413312523],[-71.90504848662069,45.750173997395564],[-71.88021830981324,45.77422216795667],[-71.89256247312574,45.78091790249048]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.01853946225846,\"lat\":45.77182792802572},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2440\"],\"cd_name_en\":[\"Les Sources\"],\"csd_code\":[\"2440047\"],\"csd_name_en\":[\"Danville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Sources\",\"csd_name_fr\":\"Danville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.34906053986424,45.41039000710778],[-72.37233866472866,45.416348378958276],[-72.37591709270292,45.449980759964184],[-72.40389188822725,45.44919725018816],[-72.45467898644088,45.45087280634443],[-72.46180473011604,45.383128132288235],[-72.46302090620769,45.375178198327596],[-72.3546332376113,45.37705759884786],[-72.34906053986424,45.41039000710778]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.41045598593143,\"lat\":45.41039812038479},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2442\"],\"cd_name_en\":[\"Le Val-Saint-Fran\\u00e7ois\"],\"csd_code\":[\"2442050\"],\"csd_name_en\":[\"Sainte-Anne-de-la-Rochelle\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Val-Saint-Fran\\u00e7ois\",\"csd_name_fr\":\"Sainte-Anne-de-la-Rochelle\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.00635071026593,45.0071828860102],[-71.93015794114035,45.008123702595],[-71.93030050210325,45.05730936057438],[-71.92827946331903,45.16018080549287],[-72.00314315452098,45.16034662840485],[-72.00515936611916,45.02991715055166],[-72.00635071026593,45.0071828860102]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.96703735821417,\"lat\":45.08386621690937},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2444\"],\"cd_name_en\":[\"Coaticook\"],\"csd_code\":[\"2444045\"],\"csd_name_en\":[\"Barnston-Ouest\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Coaticook\",\"csd_name_fr\":\"Barnston-Ouest\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.73634855795461,45.246498507801356],[-71.73864519622398,45.30511297215469],[-71.81572839847294,45.30641021631921],[-71.84431685993094,45.306802321114084],[-71.8432401179666,45.279241758497385],[-71.86058946592107,45.27500430478291],[-71.86190049851666,45.263855685404934],[-71.90071940440693,45.26498458327003],[-71.91973149333045,45.27035529702785],[-71.91876378948034,45.24035311957982],[-71.91728909286029,45.16011844702652],[-71.73549497802807,45.159279756240636],[-71.73634855795461,45.246498507801356]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.82086107590271,\"lat\":45.22631566761292},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2444\"],\"cd_name_en\":[\"Coaticook\"],\"csd_code\":[\"2444071\"],\"csd_name_en\":[\"Compton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Coaticook\",\"csd_name_fr\":\"Compton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.86386886870837,45.35051782847204],[-71.87632469702888,45.36053413939315],[-71.92954759275464,45.36046047750774],[-71.949302389125,45.333998393811626],[-71.94866637807445,45.30774289721526],[-72.01108583855773,45.308018954783776],[-72.01125913118022,45.27253507886188],[-71.99623076606458,45.2719709259445],[-71.99654690561006,45.28199660994685],[-71.96855572184839,45.281897747106],[-71.96533235468858,45.26477123870277],[-71.9871053918196,45.264403579090605],[-71.99810360243114,45.23860457403797],[-71.91876378948034,45.24035311957982],[-71.91973149333045,45.27035529702785],[-71.92037856565307,45.301124061211105],[-71.91279340025798,45.303171722442286],[-71.87267372589388,45.33472638394063],[-71.86386886870837,45.35051782847204]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.9402652649499,\"lat\":45.29945501113784},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2445\"],\"cd_name_en\":[\"Memphr\\u00e9magog\"],\"csd_code\":[\"2445055\"],\"csd_name_en\":[\"Hatley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Memphr\\u00e9magog\",\"csd_name_fr\":\"Hatley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.50924622763564,45.58748391586972],[-72.53494833592205,45.58864660958871],[-72.53897344602298,45.566042272644665],[-72.512405803353,45.56543790174752],[-72.50924622763564,45.58748391586972]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.52395930125711,\"lat\":45.57684968263781},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2448\"],\"cd_name_en\":[\"Acton\"],\"csd_code\":[\"2448010\"],\"csd_name_en\":[\"Roxton Falls\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Acton\",\"csd_name_fr\":\"Roxton Falls\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.66609673590247,46.08722247072214],[-72.68814610666776,46.10364510282378],[-72.72444533738887,46.08275098950946],[-72.73592563741964,46.08448111309783],[-72.71843808262817,46.071616185485134],[-72.73211074791726,46.044681568035756],[-72.7322935059132,46.03166219294338],[-72.695943705512,46.017699996318136],[-72.67317465150587,46.01259411517634],[-72.6555495570019,46.007331763051866],[-72.64302156030675,46.01562883118681],[-72.68218991694144,46.044831557915366],[-72.66495818311239,46.058806582702594],[-72.67351713044074,46.064962247455014],[-72.65475409102412,46.07950886036205],[-72.66609673590247,46.08722247072214]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.69287247712336,\"lat\":46.054153068522076},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2450\"],\"cd_name_en\":[\"Nicolet-Yamaska\"],\"csd_code\":[\"2450095\"],\"csd_name_en\":[\"Saint-Elph\\u00e8ge\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nicolet-Yamaska\",\"csd_name_fr\":\"Saint-Elph\\u00e8ge\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.00502463563473,45.569700322167975],[-73.05111805360944,45.56797442700688],[-73.06251202870358,45.538310902496235],[-73.07901790542732,45.505798824374814],[-73.06226821424451,45.49356552267626],[-73.07263307252855,45.47595263827326],[-73.04003273109402,45.47681340068812],[-73.03457811127718,45.49189754899062],[-73.00797554040362,45.47414741570848],[-73.00347141435758,45.479361304681795],[-72.9581189955877,45.47501578920619],[-72.96287759108947,45.47879068865251],[-72.95400367138265,45.51695603231814],[-72.94504493182238,45.52938841549081],[-72.95971138530024,45.538854351146625],[-72.96447690719579,45.550254778361676],[-72.97921358551662,45.56108680639872],[-73.00319049879073,45.563244125580255],[-73.00502463563473,45.569700322167975]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.01288899243141,\"lat\":45.520417955557065},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2454\"],\"cd_name_en\":[\"Les Maskoutains\"],\"csd_code\":[\"2454017\"],\"csd_name_en\":[\"Saint-Damase\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Maskoutains\",\"csd_name_fr\":\"Saint-Damase\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.87625836333785,45.284440575077404],[-72.84582000380405,45.36843804326764],[-72.84115241826619,45.38170859216523],[-72.92540090283451,45.394964549941896],[-72.94194348685862,45.39152251239908],[-72.94985131336144,45.36692516207482],[-72.96686145773025,45.37573930918538],[-72.97808346441312,45.33341487138884],[-72.8823784095505,45.26455296945999],[-72.87625836333785,45.284440575077404]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.9079458322621,\"lat\":45.341130950510696},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2455\"],\"cd_name_en\":[\"Rouville\"],\"csd_code\":[\"2455008\"],\"csd_name_en\":[\"Ange-Gardien\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Rouville\",\"csd_name_fr\":\"Ange-Gardien\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.46569478467792,46.226663850282364],[-73.47432780551489,46.2342183794844],[-73.44328414248422,46.25436330737852],[-73.46966163091362,46.271889621827626],[-73.45326583815348,46.28249925677735],[-73.47844627000218,46.30159290989698],[-73.50704648423138,46.283502543576226],[-73.52232895374395,46.291960661538475],[-73.531857608796,46.28414910921959],[-73.55617716365875,46.29996009992507],[-73.58939530258797,46.275164641161595],[-73.60005537206317,46.28285784561576],[-73.64048969311177,46.265897243053054],[-73.60673086110425,46.2357035453813],[-73.56721607142856,46.20367105090207],[-73.5485070753916,46.19460798808035],[-73.53281688296111,46.195166856055295],[-73.50741516819838,46.18585202945402],[-73.45744507947897,46.22050008367892],[-73.46569478467792,46.226663850282364]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.53336903539066,\"lat\":46.24686504244027},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2462\"],\"cd_name_en\":[\"Matawinie\"],\"csd_code\":[\"2462015\"],\"csd_name_en\":[\"Saint-Jean-de-Matha\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Matawinie\",\"csd_name_fr\":\"Saint-Jean-de-Matha\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.64048969311177,46.265897243053054],[-73.60005537206317,46.28285784561576],[-73.58939530258797,46.275164641161595],[-73.55617716365875,46.29996009992507],[-73.60762580326721,46.33865855706597],[-73.68253220386255,46.38917221337065],[-73.67961944981327,46.39122824049178],[-73.72244016896616,46.41840523914225],[-73.82154963215132,46.34852869000332],[-73.80656818426688,46.338419127876584],[-73.78139695622167,46.32136427034272],[-73.76042999869904,46.33468809237539],[-73.71455286430191,46.30622082890283],[-73.6776607499591,46.27847549483591],[-73.66491936938411,46.28679113028566],[-73.64048969311177,46.265897243053054]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.68804152959109,\"lat\":46.33797558337504},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2462\"],\"cd_name_en\":[\"Matawinie\"],\"csd_code\":[\"2462070\"],\"csd_name_en\":[\"Sainte-\\u00c9m\\u00e9lie-de-l'\\u00c9nergie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Matawinie\",\"csd_name_fr\":\"Sainte-\\u00c9m\\u00e9lie-de-l'\\u00c9nergie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.91576112683204,47.09961716325965],[-74.0284756612791,47.176134149899404],[-74.10695817130839,47.23114712539665],[-74.17585118905164,47.27671037682205],[-74.23730588979863,47.234201527706226],[-74.22840311931635,47.229469750638444],[-74.41170476916503,47.10399566304493],[-74.3402341856048,47.049537635824045],[-74.19395000426357,46.952084458564535],[-74.03939077589122,46.84291445532549],[-73.97547234042278,46.80042135305104],[-73.90824808027308,46.75490845587897],[-73.88039822901797,46.77827500735302],[-73.87069107369045,46.792351712437814],[-73.8515224459216,46.79548647496758],[-73.83470289156192,46.78552432283024],[-73.82136433473137,46.78892888001619],[-73.79326034680264,46.787306579196986],[-73.78210433094162,46.797082974415744],[-73.75072557707581,46.80293625914719],[-73.73430943900547,46.80099655867629],[-73.60090684094433,46.70867908592719],[-73.67520286797487,46.655801373840305],[-73.72052714040812,46.62618061066598],[-73.56293554524242,46.51784941790524],[-73.45538461710643,46.58621207071475],[-73.33336477810074,46.49844114473602],[-73.28319771800587,46.53343189774488],[-73.3030307480254,46.55062004483768],[-73.31022788525897,46.56706202422182],[-73.33765988659992,46.603470422999884],[-73.36140955812144,46.61815015140569],[-73.39909002915093,46.60074712188353],[-73.43569303781055,46.59863117234024],[-73.43756718261831,46.66981135444706],[-73.46273919111866,46.707099675127374],[-73.45085758270037,46.74604249190119],[-73.44143120706407,46.76645912761282],[-73.45389016775009,46.78373442189086],[-73.58143695633761,46.87059064117814],[-73.6021485433082,46.87169503631318],[-73.60607118384591,46.85825149395387],[-73.62857769332108,46.865620296388244],[-73.65626408638502,46.86339722467688],[-73.6740683691063,46.87474441212076],[-73.66481969634242,46.901373909876376],[-73.66491923952756,46.927627622775695],[-73.91576112683204,47.09961716325965]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.88178533458499,\"lat\":46.91054084617414},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2462\"],\"cd_name_en\":[\"Matawinie\"],\"csd_code\":[\"2462906\"],\"csd_name_en\":[\"Baie-de-la-Bouteille\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Matawinie\",\"csd_name_fr\":\"Baie-de-la-Bouteille\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.83933353947396,46.01250614864349],[-73.87308820972363,46.02812660795915],[-73.89820528860187,46.01027160740774],[-73.92085607938309,46.01936453495307],[-73.9757753530978,45.979103122586125],[-73.94761172415534,45.95851104986875],[-73.93575747276503,45.945329272356645],[-73.95084735309516,45.934024096839515],[-73.88338655816115,45.88952570684842],[-73.88085209345846,45.88870179095404],[-73.77602518786995,45.911965739500744],[-73.76087550517977,45.92064389834155],[-73.82738856412188,45.96654134126772],[-73.79876381045068,45.98575781067842],[-73.83933353947396,46.01250614864349]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.8727756612368,\"lat\":45.95622141250988},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2463\"],\"cd_name_en\":[\"Montcalm\"],\"csd_code\":[\"2463055\"],\"csd_name_en\":[\"Saint-Calixte\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Montcalm\",\"csd_name_fr\":\"Saint-Calixte\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.92541936182609,45.441180822589075],[-73.93685105600913,45.450473073103126],[-73.97290303009392,45.46140408484745],[-73.99868834669654,45.44984657349949],[-73.98668843838402,45.423200356258604],[-73.97103694270709,45.41228162581319],[-73.9605515361148,45.405180649167576],[-73.94984335528933,45.416950925707624],[-73.95787840438754,45.42650338092911],[-73.94651404434704,45.43704649446971],[-73.92541936182609,45.441180822589075]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.96690329429588,\"lat\":45.437605636750504},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2466\"],\"cd_name_en\":[\"Montr\\u00e9al\"],\"csd_code\":[\"2466127\"],\"csd_name_en\":[\"Senneville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Montr\\u00e9al\",\"csd_name_fr\":\"Senneville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.25828914514409,45.339621858945705],[-74.39639141720708,45.40488460090408],[-74.42833921783654,45.420104971831094],[-74.43837861840503,45.39379269141358],[-74.45237797090921,45.355902114731606],[-74.47118010515447,45.304921241092536],[-74.40452548059615,45.33042516812481],[-74.33697816066989,45.35669748641827],[-74.26615641880012,45.306884776523106],[-74.25828914514409,45.339621858945705]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.38227364706674,\"lat\":45.358914428652405},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2471\"],\"cd_name_en\":[\"Vaudreuil-Soulanges\"],\"csd_code\":[\"2471115\"],\"csd_name_en\":[\"Sainte-Justine-de-Newton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Vaudreuil-Soulanges\",\"csd_name_fr\":\"Sainte-Justine-de-Newton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.90106651858991,45.52530860690098],[-73.92574970581066,45.543175527101496],[-73.9686054196482,45.53794161821188],[-73.97322278733786,45.53390921465],[-73.95278162692478,45.51847155964623],[-73.93231723446061,45.50405528835079],[-73.90106651858991,45.52530860690098]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.93587316483519,\"lat\":45.52652175498748},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2472\"],\"cd_name_en\":[\"Deux-Montagnes\"],\"csd_code\":[\"2472015\"],\"csd_name_en\":[\"Sainte-Marthe-sur-le-Lac\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Deux-Montagnes\",\"csd_name_fr\":\"Sainte-Marthe-sur-le-Lac\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.15398779216757,45.913187587090704],[-74.17695477353283,45.921527399625276],[-74.19196238583908,45.91098733664443],[-74.26287592101174,45.85975953594851],[-74.18831298292415,45.834525717516506],[-74.13340476831053,45.87350226609121],[-74.1489375377792,45.88872773235521],[-74.14219561855872,45.898660246709554],[-74.15398779216757,45.913187587090704]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.19060818041844,\"lat\":45.87560800869708},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2477\"],\"cd_name_en\":[\"Les Pays-d'en-Haut\"],\"csd_code\":[\"2477043\"],\"csd_name_en\":[\"Saint-Sauveur\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Pays-d'en-Haut\",\"csd_name_fr\":\"Saint-Sauveur\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.26627893652105,46.11448932925428],[-74.32051020142617,46.15311866463688],[-74.33898802409698,46.139782680503565],[-74.3678251265009,46.158544139583064],[-74.3794752137846,46.12742658912254],[-74.38640956010721,46.10920604311425],[-74.32662263367433,46.09844305576384],[-74.3445620770941,46.04132367410482],[-74.37254729027057,46.04606857226372],[-74.37527971767467,46.03919061195471],[-74.40163263427303,46.04275608242602],[-74.40788710400298,46.018689468376515],[-74.34971979172145,46.01243641343532],[-74.264066979676,46.000219059626964],[-74.25957758784317,46.0130149918222],[-74.23460170573976,46.03016376644525],[-74.2494292386491,46.04110484910383],[-74.2010595795877,46.06880209924419],[-74.21258659553581,46.07728469109073],[-74.26627893652105,46.11448932925428]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.30535615179286,\"lat\":46.0710500187422},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2478\"],\"cd_name_en\":[\"Les Laurentides\"],\"csd_code\":[\"2478032\"],\"csd_name_en\":[\"Sainte-Agathe-des-Monts\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Laurentides\",\"csd_name_fr\":\"Sainte-Agathe-des-Monts\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.11197918717286,46.09368340121148],[-74.07615946430789,46.11785742603909],[-74.03338363378033,46.15062558681951],[-74.11352905647607,46.20344171387739],[-74.19473390994607,46.14298367776964],[-74.11197918717286,46.09368340121148]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.11332068034807,\"lat\":46.147742628162064},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2478\"],\"cd_name_en\":[\"Les Laurentides\"],\"csd_code\":[\"2478802\"],\"csd_name_en\":[\"Doncaster\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Laurentides\",\"csd_name_fr\":\"Doncaster\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.11083614493296,45.719025503423154],[-75.17851354482248,45.71518309857367],[-75.17986985073897,45.73796260080171],[-75.22109817986355,45.734216883301094],[-75.27174333954551,45.72955858871915],[-75.26232256290925,45.6669232068794],[-75.2623874379223,45.65487778821244],[-75.12962098942698,45.66104072377059],[-75.11083614493296,45.719025503423154]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.19820570619468,\"lat\":45.694097919057526},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2480\"],\"cd_name_en\":[\"Papineau\"],\"csd_code\":[\"2480070\"],\"csd_name_en\":[\"Saint-Sixte\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Papineau\",\"csd_name_fr\":\"Saint-Sixte\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.91242060240938,45.90170869052855],[-75.91753442843886,45.92341066826276],[-75.92794198028811,45.9314090311342],[-75.98322116961025,45.95178025868528],[-76.0206617696702,45.97349894968219],[-76.01955044265037,45.98611885659254],[-76.0354433730009,46.00171834280981],[-76.01462811666468,46.01785750022973],[-76.01240551299797,46.02482625631764],[-76.15239237119154,46.02177072183816],[-76.15079003218052,45.89763176052168],[-76.08936713554978,45.89820524779856],[-75.91242060240938,45.90170869052855]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.06098756101142,\"lat\":45.95259863331307},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2483\"],\"cd_name_en\":[\"La Vall\\u00e9e-de-la-Gatineau\"],\"csd_code\":[\"2483015\"],\"csd_name_en\":[\"Kazabazua\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-de-la-Gatineau\",\"csd_name_fr\":\"Kazabazua\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.76469438874183,46.02258350134425],[-75.7687609532787,46.17505050613057],[-75.79262398540982,46.16996097997479],[-75.80055558365291,46.15858169160057],[-75.8325434130071,46.164376782935484],[-75.87439728936452,46.163239465839645],[-75.93141318031479,46.16454016391193],[-75.9312311776662,46.14932899889634],[-75.94731605284137,46.14978354500088],[-75.95321159120691,46.16316627450407],[-75.99733106077444,46.16265975558438],[-76.02923093996876,46.162688046603186],[-76.03324600171621,46.15589800129769],[-76.10121753063738,46.15427317571108],[-76.10114580158834,46.160920737180994],[-76.15407066048444,46.1596117142079],[-76.15242408801703,46.02266362859014],[-76.15239237119154,46.02177072183816],[-76.01240551299797,46.02482625631764],[-75.93603665326987,46.02576962821975],[-75.76469438874183,46.02258350134425]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.9578552638876,\"lat\":46.092669445927015},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2483\"],\"cd_name_en\":[\"La Vall\\u00e9e-de-la-Gatineau\"],\"csd_code\":[\"2483032\"],\"csd_name_en\":[\"Gracefield\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-de-la-Gatineau\",\"csd_name_fr\":\"Gracefield\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.66767878711728,45.57385356178604],[-76.64457488128346,45.603756010862554],[-76.64997649692003,45.606581149949186],[-76.67036529715286,45.61405060015071],[-76.67343312520313,45.59170244990107],[-76.66767878711728,45.57385356178604]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.6622469094848,\"lat\":45.596766646411886},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2484\"],\"cd_name_en\":[\"Pontiac\"],\"csd_code\":[\"2484020\"],\"csd_name_en\":[\"Portage-du-Fort\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Pontiac\",\"csd_name_fr\":\"Portage-du-Fort\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.15079003218052,45.89763176052168],[-76.15239237119154,46.02177072183816],[-76.15242408801703,46.02266362859014],[-76.31937172249994,46.024767742207274],[-76.31796686053772,45.99902508859828],[-76.31653006711421,45.896722188978416],[-76.32788642649727,45.89671176803416],[-76.32568536980536,45.82177103643826],[-76.32515676491386,45.800314359418806],[-76.22366412986756,45.80170959188313],[-76.15098478733971,45.804156068662095],[-76.15079003218052,45.89763176052168]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.2367648309346,\"lat\":45.911296476598096},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2484\"],\"cd_name_en\":[\"Pontiac\"],\"csd_code\":[\"2484050\"],\"csd_name_en\":[\"Alleyn-et-Cawood\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Pontiac\",\"csd_name_fr\":\"Alleyn-et-Cawood\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.35863180954784,48.76353245588714],[-79.39402609937106,48.763712560520894],[-79.3940290625823,48.792374722509614],[-79.43729236577256,48.792393871243064],[-79.51739290596335,48.792256859639785],[-79.51767131655531,48.66890739685074],[-79.46664593262061,48.659066226501935],[-79.40347051860829,48.677875970422846],[-79.37131068508107,48.6776766707934],[-79.35892115893789,48.67753594653959],[-79.35863180954784,48.76353245588714]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.44369868825946,\"lat\":48.728217687159706},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2487\"],\"cd_name_en\":[\"Abitibi-Ouest\"],\"csd_code\":[\"2487075\"],\"csd_name_en\":[\"Clerval\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi-Ouest\",\"csd_name_fr\":\"Clerval\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.77761448898698,48.430498512871594],[-77.77682008125724,48.57528232539565],[-77.76943821172321,48.5752040234644],[-77.76943686841756,48.58824369238629],[-77.80100800841228,48.58813051419651],[-77.98658216964988,48.58872235450593],[-77.99577061978552,48.57524845858049],[-77.99597756859256,48.56150437141702],[-78.01437469883912,48.56144432637415],[-78.01393587639441,48.5317430641381],[-77.99635932633646,48.53214298686524],[-77.99593335188456,48.517702080244355],[-77.99541096316848,48.47412204834777],[-77.96763004866176,48.47375102177859],[-77.96813845531244,48.43058435111696],[-77.77761448898698,48.430498512871594]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.8845309195627,\"lat\":48.512245455134995},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2488\"],\"cd_name_en\":[\"Abitibi\"],\"csd_code\":[\"2488035\"],\"csd_name_en\":[\"Landrienne\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi\",\"csd_name_fr\":\"Landrienne\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.04719990485987,48.4301728879327],[-78.08338389236566,48.44617031524202],[-78.09755895622907,48.465476117893594],[-78.13400819433373,48.466395518311394],[-78.12930021951578,48.47503185238796],[-78.10493017727829,48.48746885872059],[-78.10811939901193,48.500092900090216],[-78.10277369027469,48.51613382460396],[-78.20222226471665,48.51647470529634],[-78.20253593725033,48.50225795958157],[-78.22408600070872,48.503698536212056],[-78.25534646444756,48.50378603172523],[-78.2563651697925,48.47409286922582],[-78.27007068914843,48.47423105190082],[-78.270787752396,48.430220516205296],[-78.22398512919831,48.42995488257144],[-78.04719990485987,48.4301728879327]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.17762789509497,\"lat\":48.46811100613408},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2488\"],\"cd_name_en\":[\"Abitibi\"],\"csd_code\":[\"2488050\"],\"csd_name_en\":[\"Saint-Mathieu-d'Harricana\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi\",\"csd_name_fr\":\"Saint-Mathieu-d'Harricana\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.88425302143196,48.297574298948625],[-71.92739854326446,48.30434111741108],[-71.90518395588279,48.35131946457728],[-71.90228963128362,48.367099929715685],[-71.94891335100587,48.3765924671702],[-71.96526835781563,48.37958950645983],[-71.98303802719836,48.3784008479697],[-71.9994152685831,48.371163760100956],[-72.02985926998021,48.377100347015805],[-72.04310689306915,48.34958553747597],[-72.06939298290571,48.28403192237567],[-72.0750405010363,48.26959979098257],[-71.95815799821324,48.25018834675248],[-71.9088095341611,48.241468955288724],[-71.88425302143196,48.297574298948625]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.97751227770726,\"lat\":48.310745031564885},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2491\"],\"cd_name_en\":[\"Le Domaine-du-Roy\"],\"csd_code\":[\"2491010\"],\"csd_name_en\":[\"Saint-Andr\\u00e9-du-Lac-Saint-Jean\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Domaine-du-Roy\",\"csd_name_fr\":\"Saint-Andr\\u00e9-du-Lac-Saint-Jean\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.97278505873194,49.691132541139424],[-75.96518860305275,49.70492898316197],[-75.94874099965911,49.717845883945316],[-75.89935780958794,49.7392013298581],[-75.90455923285532,49.769192525186774],[-75.98669979879963,49.76889489938822],[-75.98663563724996,49.75335796575644],[-76.01910036085609,49.75459548171953],[-76.01973330373043,49.76181567823521],[-76.04827468559252,49.76127228118794],[-76.04862845371798,49.77069263465076],[-76.26318554423504,49.771853972613485],[-76.4290904480691,49.77298234918586],[-76.4293203083038,49.73633909657804],[-76.43446142082666,49.71851815472294],[-76.47514206799627,49.71902799749591],[-76.48423162434868,49.71262497575635],[-76.47275688376564,49.69908015765984],[-76.44337914502115,49.709470956784536],[-76.4248069722025,49.70957183280522],[-76.41449386233691,49.721013577298265],[-76.39542627624088,49.726116036197936],[-76.36116731835054,49.72121484653482],[-76.31732315653305,49.718990027459256],[-76.2962273601504,49.715113087641974],[-76.27244749062397,49.72066360034743],[-76.23655015650563,49.72184980292593],[-76.22691551063919,49.72891904860347],[-76.20845915030715,49.72190460388186],[-76.17913672052067,49.72205888297112],[-76.13806827435347,49.728536416434864],[-76.12538904100641,49.721986421880565],[-76.11118882560912,49.73215691532416],[-76.07988216515407,49.72455042543512],[-76.06870008682648,49.7172344510462],[-76.04220624831743,49.71256527754188],[-76.01063408749498,49.71538444114732],[-75.98163835827144,49.71344900255039],[-75.9835824439428,49.692519778506075],[-75.97278505873194,49.691132541139424]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.17841469201693,\"lat\":49.74381928881934},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499010\"],\"csd_name_en\":[\"Waswanipi\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village cri\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Waswanipi\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.5367104125267,58.03675250370781],[-68.53191809376939,58.03328563667816],[-68.4315398538754,58.02078395567621],[-68.24345929469192,58.06514832102448],[-68.2369923695614,58.1250545299071],[-68.22391919638987,58.24376759602886],[-68.22135873424327,58.26938160055659],[-68.29651778044384,58.2629551077958],[-68.35969183011257,58.25676714062591],[-68.45546825793032,58.25003790873622],[-68.53921202137991,58.089564978791344],[-68.5367104125267,58.03675250370781]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.37415554733603,\"lat\":58.142890003514836},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499095\"],\"csd_name_en\":[\"Kuujjuaq\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village nordique\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Kuujjuaq\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.45009910995944,56.40595722077359],[-76.45444360345289,56.417288204482226],[-76.42975129332812,56.423774310334785],[-76.41821419459804,56.44088929185426],[-76.38883007703788,56.45216210640278],[-76.39414849080242,56.464741986759634],[-76.38222450945352,56.470571608360636],[-76.41362499957444,56.48839821060455],[-76.39950661201888,56.502076811131985],[-76.39828108600406,56.52267989597634],[-76.4225951888186,56.52615730860583],[-76.43004341699282,56.53741829227184],[-76.39187450244462,56.54501248912766],[-76.38132060006706,56.536597489570525],[-76.38557492264454,56.52290539256633],[-76.35634328979768,56.51266919860102],[-76.3554001907099,56.50511419571626],[-76.32805201957443,56.499999999382],[-76.33555370232871,56.48297329938334],[-76.36445218088824,56.49042939915751],[-76.3753083166438,56.478560095395444],[-76.34672489930314,56.47279909561421],[-76.33834328431628,56.447343901935845],[-76.29351388794545,56.44669410880951],[-76.30695432548242,56.47468337626584],[-76.29775592904551,56.50444100761551],[-76.31625010136914,56.57022406435485],[-76.38446478697583,56.64135437492621],[-76.53261050335894,56.6380936429371],[-76.54920202214971,56.602884101380184],[-76.5342930924807,56.597705295719656],[-76.54443442564443,56.568845911594465],[-76.45315438807332,56.56767542153773],[-76.45520392756453,56.5226319375337],[-76.55190189117549,56.52375639088903],[-76.55444728346762,56.51327729981886],[-76.54416668989856,56.50097817701126],[-76.55158090261172,56.47522828061733],[-76.51862466867115,56.458898284211735],[-76.52658368393814,56.44604737325762],[-76.52267959298918,56.42772447361651],[-76.53343700082962,56.40721058985609],[-76.45009910995944,56.40595722077359]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.43332631930534,\"lat\":56.5313326703666},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499878\"],\"csd_name_en\":[\"Umiujaq\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Terre inuite\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Umiujaq\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.1101001975575,60.915096966724604],[-78.10871040737062,60.91408441197459],[-78.05792864727549,60.91545778688854],[-78.0646485820186,60.793621115330986],[-78.04379428396118,60.79700500081415],[-78.02629168797718,60.790375993154576],[-77.99055960646845,60.78904510529881],[-77.98055349771715,60.78336400911107],[-77.94891518276724,60.78448569660433],[-77.87726247895104,60.79243180525926],[-77.8699080896268,60.785275596502025],[-77.89092159421031,60.777047302137646],[-77.88348658657914,60.769305902350496],[-77.8545174109905,60.76521231122091],[-77.82821028011556,60.77041738799312],[-77.78400511109272,60.78748040057409],[-77.76655838953413,60.7837603044322],[-77.72715887879713,60.792696589472904],[-77.77318315236603,60.845749449874525],[-77.70442281019596,60.860143206099835],[-77.69591692255995,60.85345010361498],[-77.61399439393227,60.874386605223236],[-77.55291299083044,60.88083560493567],[-77.47925398479092,60.90495658533991],[-77.40659760951549,60.93148689991044],[-77.40182426149693,60.93742840775355],[-77.44917229169063,60.973594725626725],[-77.50949848326502,61.00527730425551],[-77.54075449338467,61.01611811556463],[-77.80832724572254,60.93244108196296],[-77.81032831554123,60.92058489269692],[-77.85190509386801,60.91435210465552],[-77.96163467409497,60.88873312491625],[-78.00597849620524,60.93696149836805],[-77.98632328622672,60.95795754854089],[-78.01368990654339,60.956863399655674],[-78.04488461537045,60.94138770207737],[-78.07551199559035,60.93125550435151],[-78.1101001975575,60.915096966724604]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.76802812200673,\"lat\":60.88901333643409},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499883\"],\"csd_name_en\":[\"Akulivik\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Terre inuite\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Akulivik\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.11816285345353,44.77700955475373],[-77.168060004743,44.76356496427919],[-77.19603453802043,44.85109947143687],[-77.22135925820831,44.91954195623499],[-77.06578720493036,44.96253200100915],[-77.09911701548123,45.02220070136223],[-77.12011966742031,45.06710467307607],[-77.13748229534758,45.09926047733425],[-77.16890580448538,45.150062193059036],[-77.21580353145879,45.23703755093651],[-77.34003949609102,45.20092367300095],[-77.35478653007758,45.19582105622217],[-77.445981489638,45.17147120934817],[-77.5414334350261,45.14424706972793],[-77.52484185948383,45.106381858754084],[-77.51952697667782,45.102588992086964],[-77.48071442062952,45.03368991112569],[-77.40763615471062,44.8994996115468],[-77.31383684095633,44.72568340174883],[-77.28834560925213,44.7322316351411],[-77.24499744092576,44.64239921526079],[-77.20750505847428,44.56701640736983],[-77.19008382974317,44.57140666299804],[-77.03219156421642,44.611959620435954],[-77.11816285345353,44.77700955475373]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.27040055522188,\"lat\":44.93937544470479},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3511\"],\"cd_name_en\":[\"Lennox and Addington\"],\"csd_code\":[\"3511035\"],\"csd_name_en\":[\"Addington Highlands\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Lennox and Addington\",\"csd_name_fr\":\"Addington Highlands\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.2089660151175,44.21249026983436],[-78.21996543660586,44.21063496377295],[-78.21214159128895,44.19481758793347],[-78.24150887624911,44.187233343893],[-78.23725142544276,44.17680103539833],[-78.21943538840611,44.1681721999467],[-78.19199432055721,44.18959583627472],[-78.20389425808408,44.19617351527474],[-78.2089660151175,44.21249026983436]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.21677611386123,\"lat\":44.187207545860296},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3515\"],\"cd_name_en\":[\"Peterborough\"],\"csd_code\":[\"3515008\"],\"csd_name_en\":[\"Hiawatha First Nation\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Peterborough\",\"csd_name_fr\":\"Hiawatha First Nation\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.88911811420444,44.18481710406107],[-78.87484359244446,44.18807989173917],[-78.88073760823924,44.20020499829008],[-78.89436595227028,44.197064115811436],[-78.88911811420444,44.18481710406107]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.8847428992844,\"lat\":44.192495810922125},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3518\"],\"cd_name_en\":[\"Durham\"],\"csd_code\":[\"3518022\"],\"csd_name_en\":[\"Mississaugas of Scugog Island\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Durham\",\"csd_name_fr\":\"Mississaugas of Scugog Island\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.18786940605982,43.554198989165414],[-80.2250121781867,43.584107833926026],[-80.24383459823885,43.57692371134419],[-80.26751518232453,43.594247579936976],[-80.27527055822321,43.585894788540756],[-80.2765941003044,43.57075853102348],[-80.31975128358884,43.54247220660185],[-80.32694355724972,43.53437290360299],[-80.30715877469957,43.5196627445822],[-80.29753380311276,43.523390762669834],[-80.27814846815129,43.51087282164209],[-80.26120845655471,43.525372611027386],[-80.25204769663037,43.51782409751739],[-80.25478671518862,43.50515612891963],[-80.24499511212922,43.494408052748746],[-80.23353671191458,43.49645210025299],[-80.22680448953004,43.478257207278084],[-80.20156440456856,43.483004206861374],[-80.18913031429757,43.473821500619096],[-80.15339190248955,43.500526999384626],[-80.20288305964246,43.536811983500996],[-80.18786940605982,43.554198989165414]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.23709920176272,\"lat\":43.53257437693648},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3523\"],\"cd_name_en\":[\"Wellington\"],\"csd_code\":[\"3523008\"],\"csd_name_en\":[\"Guelph\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Wellington\",\"csd_name_fr\":\"Guelph\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.38851610786023,43.85817510351379],[-80.39857728958333,43.856044601803305],[-80.42161350942521,43.95772030965652],[-80.43842851805898,44.02598939149643],[-80.56856991469832,43.998160391581145],[-80.71634769340568,43.981290003747766],[-80.74728903029555,44.00187208995702],[-80.75571481221289,43.99498639719472],[-80.74573870835552,43.98882431078808],[-80.75426888523032,43.976652208874],[-80.77136924026767,43.974567707362716],[-80.74186360696292,43.84402810428518],[-80.56358231154243,43.8302868058384],[-80.56482268477971,43.823898890147305],[-80.5315014810823,43.81019840594622],[-80.51883888572132,43.812441804640315],[-80.50121753603108,43.806692685517895],[-80.47033810769162,43.783937293519465],[-80.38791321197779,43.85771139624698],[-80.38851610786023,43.85817510351379]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.5709714158288,\"lat\":43.91107705186729},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3523\"],\"cd_name_en\":[\"Wellington\"],\"csd_code\":[\"3523050\"],\"csd_name_en\":[\"Wellington North\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Wellington\",\"csd_name_fr\":\"Wellington North\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.22788516964872,43.11876111887615],[-80.21553588483759,43.11994460350392],[-80.2155925796626,43.14216271682044],[-80.19420552063714,43.14862534085837],[-80.20814600802879,43.15821641275223],[-80.22099121037016,43.20359207614887],[-80.25057401878267,43.198322187458444],[-80.26125729431938,43.20830490360421],[-80.31924900651477,43.198525310719674],[-80.33670471878014,43.19099044676046],[-80.33133013991004,43.17766921111967],[-80.3529567504286,43.17380315878339],[-80.35396714666909,43.15664136689575],[-80.33444709475012,43.145986895279584],[-80.31350642300832,43.14993205101806],[-80.30629280193978,43.13752489328838],[-80.32780410447505,43.10981569895025],[-80.28405540358067,43.09455711001631],[-80.26064573036982,43.09907197978579],[-80.2626720626809,43.10737068794623],[-80.23402777412902,43.11722460699161],[-80.22788516964872,43.11876111887615]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.27410412365961,\"lat\":43.15553286411137},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3529\"],\"cd_name_en\":[\"Brant\"],\"csd_code\":[\"3529006\"],\"csd_name_en\":[\"Brantford\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Brant\",\"csd_name_fr\":\"Brantford\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.4728754259932,42.756869393830414],[-81.49151153971953,42.75398479564817],[-81.50902544027112,42.76427969483908],[-81.5327962706772,42.76028745233542],[-81.53518025265531,42.741506580253876],[-81.56955552732981,42.73452451334006],[-81.58979396113294,42.72609290489402],[-81.60108898651737,42.710563690119066],[-81.61394290095363,42.71003034657653],[-81.61649213712016,42.69525099938329],[-81.62688440642799,42.683952493348954],[-81.64406088275605,42.68481640853241],[-81.65280751482163,42.69713565570396],[-81.6720475706616,42.70255258057929],[-81.58851521386049,42.63750070833872],[-81.49307624742217,42.56054482155891],[-81.43157932317843,42.50975588299686],[-81.33185827776698,42.51781697026254],[-81.22023809643268,42.524199776917236],[-81.21891289156106,42.56288714094126],[-81.2350303346836,42.57186144362995],[-81.2976566762731,42.623232745027735],[-81.35505528538572,42.66652369284807],[-81.4728754259932,42.756869393830414]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.43347331897444,\"lat\":42.62572228236769},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3534\"],\"cd_name_en\":[\"Elgin\"],\"csd_code\":[\"3534030\"],\"csd_name_en\":[\"Dutton\\/Dunwich\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Elgin\",\"csd_name_fr\":\"Dutton\\/Dunwich\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.82141117779531,45.15534751556672],[-80.90264488260406,45.22346587894439],[-81.07103149630173,45.36070211309288],[-81.49160525877787,45.36194123805752],[-81.81676315828473,45.36155552120023],[-81.81677262865213,45.34300140248747],[-81.80208785691772,45.309389394421046],[-81.74523011927305,45.25021139305655],[-81.74479261895773,45.21721443028667],[-81.72211263926712,45.182061488501155],[-81.69009762619594,45.138350517775756],[-81.65249978416556,45.0973404744592],[-81.60295765015144,45.04687442630338],[-81.57194272759877,45.01831644677009],[-81.55432721862582,45.01020164410356],[-81.49746342632491,45.00238081763665],[-81.45319757882122,44.999455466373526],[-81.44744066272071,44.99375361389197],[-81.44820462033088,44.96495681697832],[-81.444392577497,44.95043223133217],[-81.42898825696747,44.92395738361868],[-81.41388025146051,44.87698476740037],[-81.39815812159799,44.84711106794241],[-81.34100875413124,44.862084137148116],[-81.24459070927367,44.88548386060954],[-81.14284166405585,44.91174560140432],[-81.00000000547918,45.01756218205294],[-80.82141117779531,45.15534751556672]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.31597202289959,\"lat\":45.15686491145695},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3541\"],\"cd_name_en\":[\"Bruce\"],\"csd_code\":[\"3541069\"],\"csd_name_en\":[\"Northern Bruce Peninsula\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Bruce\",\"csd_name_fr\":\"Northern Bruce Peninsula\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.67168918832805,44.98056378794479],[-79.74467115154654,44.96087341174968],[-79.77364301934766,44.99468691668214],[-79.76593905621431,44.99827710629413],[-79.79229397348368,45.0449571344783],[-79.71765813896526,45.065629584881705],[-79.77487713701298,45.168692421586705],[-79.78357151518884,45.16654139629488],[-79.97989291538892,45.112812533304925],[-80.04976700920494,45.09592950991576],[-80.05754059324269,45.092221783651084],[-80.12007734194229,45.100570965124845],[-80.33739191022407,45.019268742667315],[-80.60010963069618,44.97353016626512],[-80.59918520750243,44.97271742249658],[-80.52070802891413,44.90434300823004],[-80.00000001311942,44.94109799828841],[-79.98429570336337,44.942558021225416],[-79.88491898597857,44.82978802091226],[-79.87706954071199,44.81957993162637],[-79.84160960969336,44.80297637242371],[-79.8099494250268,44.79098792863423],[-79.74513492774473,44.77200629233943],[-79.73015316227605,44.77284305083066],[-79.72249379905082,44.799962656825905],[-79.71206869314886,44.82009510048674],[-79.68858259569296,44.81926140318618],[-79.67993973031832,44.82616298985424],[-79.69425847485147,44.83962382764927],[-79.70393856125135,44.85556107167592],[-79.69388357589062,44.87346690309303],[-79.65792704994095,44.89442373900851],[-79.63884660036065,44.89701665470304],[-79.62960534473133,44.9080379699556],[-79.63755568670997,44.91641565544697],[-79.67168918832805,44.98056378794479]],[[-80.04668625465621,45.09099810634253],[-80.0342226152301,45.08745586794958],[-80.03189147750277,45.079710385572156],[-80.04456270411316,45.077246570359144],[-80.04668625465621,45.09099810634253]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.01447905914378,\"lat\":44.9795105082383},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3544\"],\"cd_name_en\":[\"Muskoka\"],\"csd_code\":[\"3544065\"],\"csd_name_en\":[\"Georgian Bay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Muskoka\",\"csd_name_fr\":\"Georgian Bay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-80.12382861945623,45.30999658330557],[-80.10355018341389,45.30938165011299],[-80.08649713550545,45.31956931143723],[-80.12382861945623,45.30999658330557]]],[[[-80.20844155964393,45.549899185544525],[-80.23020964032646,45.59358186568795],[-80.23403107794333,45.59446472204986],[-80.28087762490229,45.68234533154126],[-80.39740085508718,45.65006281764774],[-80.41903536310517,45.68388977993332],[-80.46533282788042,45.67112506649185],[-80.50471320006784,45.64928078327298],[-80.5055301046681,45.66106272377478],[-80.53852386903898,45.656103792241],[-80.58559964468331,45.63788540684151],[-80.65103355629017,45.62045433078657],[-80.86221075065424,45.56948018050713],[-81.07237356858504,45.51873827181719],[-81.07103149630173,45.36070211309288],[-80.90264488260406,45.22346587894439],[-80.82141117779531,45.15534751556672],[-80.60010963069618,44.97353016626512],[-80.33739191022407,45.019268742667315],[-80.12007734194229,45.100570965124845],[-80.05754059324269,45.092221783651084],[-80.04976700920494,45.09592950991576],[-79.97989291538892,45.112812533304925],[-79.78357151518884,45.16654139629488],[-79.79833717281248,45.171470659885266],[-79.8104923383191,45.18724295191097],[-79.83161900771125,45.181804601731784],[-79.87547030347739,45.25967962039419],[-80.00341482176472,45.225596368727736],[-80.01238616386367,45.24560728253655],[-80.04858215658547,45.31390810487801],[-80.08146634502025,45.29684020180966],[-80.08885553804176,45.281425590302405],[-80.10060905455425,45.283193099662206],[-80.11806994687434,45.27557139895806],[-80.13561083510182,45.278208398509506],[-80.14725893575957,45.26757619742954],[-80.16444166193453,45.23471379206555],[-80.19476434017672,45.2431748037862],[-80.20379284189457,45.26756359841589],[-80.22254175284584,45.27913808876518],[-80.21632413659133,45.28614572027964],[-80.2492394838208,45.27673324170008],[-80.2560823101162,45.28704531146676],[-80.27764970432762,45.27026101768206],[-80.33180723576987,45.25561995414313],[-80.43544375829867,45.22530117215779],[-80.46262325933672,45.28350102569955],[-80.50000000251,45.37859355050359],[-80.54284055576723,45.37861098501843],[-80.54382133412489,45.41113620128892],[-80.47712160730748,45.430171872973],[-80.39991497883722,45.44997311170558],[-80.3047933808189,45.47592672419575],[-80.31744670116899,45.501438963349436],[-80.33853812401081,45.50233232717528],[-80.33747495789382,45.5541735035159],[-80.30911073202105,45.55208010618005],[-80.26364165908711,45.54353451185559],[-80.26267607871465,45.53631058434845],[-80.20844155964393,45.549899185544525]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.54036713694803,\"lat\":45.3170999094256},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3549\"],\"cd_name_en\":[\"Parry Sound\"],\"csd_code\":[\"3549005\"],\"csd_name_en\":[\"The Archipelago\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Parry Sound\",\"csd_name_fr\":\"The Archipelago\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.0300517920829,46.151187562910046],[-80.05524186869962,46.1495354494427],[-80.08518379024089,46.14076836766872],[-80.11047739767488,46.147546747709896],[-80.11321812637028,46.13588578914697],[-80.08276114919644,46.12618651239554],[-80.0969302567328,46.11458071262314],[-80.14035814662594,46.11479840915217],[-80.17452592805206,46.10509589118689],[-80.15032284348582,46.09206609093257],[-80.13985436205165,46.09310389588273],[-80.1403212341012,46.08137099570977],[-80.14515942195376,46.07292901021482],[-80.14857973026659,46.06999339207006],[-80.15087561527962,46.07266180697278],[-80.18275923956797,46.078550207625725],[-80.17248014315442,46.065398800548586],[-80.20053064646008,46.05336690095424],[-80.19762173778346,46.04803630418977],[-80.12397405187527,46.03227386071091],[-80.05816103549336,46.024687289930235],[-80.04952184726427,46.0289449936473],[-80.02371234194361,46.02632449576321],[-80.00239473172604,46.03844439382665],[-79.98060032387046,46.037334309330056],[-79.95270904266032,46.042960597363106],[-79.93286043791369,46.0541716048921],[-79.93377306444232,46.067325869438434],[-79.91381324770461,46.07619611193619],[-79.92743003729997,46.083588212132774],[-79.99743244722971,46.099155012875],[-80.01926434753997,46.10830870977295],[-80.04317262866,46.10632301094397],[-80.07643692846183,46.090989108721196],[-80.07857672692039,46.097657707923716],[-80.02376142993228,46.124043704374294],[-80.0100028321991,46.12618441212394],[-80.01746865081778,46.14454630210682],[-80.0300517920829,46.151187562910046]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.06024788247939,\"lat\":46.07750850682766},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3549\"],\"cd_name_en\":[\"Parry Sound\"],\"csd_code\":[\"3549077\"],\"csd_name_en\":[\"Dokis 9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Parry Sound\",\"csd_name_fr\":\"Dokis 9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.72146799898815,46.09291885791483],[-81.74087813984319,46.08206439639661],[-81.75733024418327,46.08303661248915],[-81.7928297313289,46.06107789979927],[-81.77894493648677,46.04734879175505],[-81.77111683780716,46.029122096005125],[-81.77664313110877,46.01776219828871],[-81.77421754224281,46.002252901769204],[-81.75496684894746,46.008375995645046],[-81.74400384602231,46.022092593648345],[-81.7310421453229,46.04927640493769],[-81.75514634153105,46.06043319428249],[-81.66628193015603,46.066440090643304],[-81.6471942377442,46.063993705536056],[-81.65349354680765,46.07954640167438],[-81.67187557672604,46.09240244278505],[-81.72146799898815,46.09291885791483]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.7312726903517,\"lat\":46.0603905796758},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3551\"],\"cd_name_en\":[\"Manitoulin\"],\"csd_code\":[\"3551040\"],\"csd_name_en\":[\"Whitefish River 4\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Manitoulin\",\"csd_name_fr\":\"Whitefish River 4\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.07585820509544,49.2766160230526],[-82.07708091169144,49.45064280036889],[-82.2766284161875,49.45078617447575],[-82.27583456668019,49.320275584855715],[-82.22154175300217,49.32000614269383],[-82.21843566636487,49.27753541646419],[-82.07585820509544,49.2766160230526]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.17092814751327,\"lat\":49.36875223036965},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3556\"],\"cd_name_en\":[\"Cochrane\"],\"csd_code\":[\"3556056\"],\"csd_name_en\":[\"Moonbeam\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Cochrane\",\"csd_name_fr\":\"Moonbeam\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-83.7268779825717,46.108704331021876],[-83.7278586812401,46.179445800270905],[-83.75394410694771,46.23244751083499],[-83.83226573850173,46.26919262023127],[-83.8607958091235,46.277856949772186],[-83.89515511918556,46.26739976818118],[-83.87696781864368,46.25580609443172],[-83.88847543381502,46.24346000694549],[-83.89837324807412,46.26684021262581],[-83.96596676903145,46.23785713319851],[-83.89533860059966,46.159934398142084],[-83.89041975009638,46.16205292627595],[-83.84055118268802,46.108117031188584],[-83.82633313674867,46.118861111015825],[-83.75986094118595,46.102722202373684],[-83.7268779825717,46.108704331021876]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-83.82903209238962,\"lat\":46.19117796271609},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3557\"],\"cd_name_en\":[\"Algoma\"],\"csd_code\":[\"3557004\"],\"csd_name_en\":[\"Hilton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Algoma\",\"csd_name_fr\":\"Hilton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.31261033334064,46.1858458000931],[-82.31286081849363,46.27681751759713],[-82.43665720035922,46.2773107090021],[-82.43675971385355,46.218037126265195],[-82.41066746334546,46.2174916869864],[-82.41083676373094,46.189006197933445],[-82.43593225652404,46.18440541555846],[-82.43438220879986,46.14307846846353],[-82.45878393300987,46.13898380703081],[-82.47633944004048,46.12974000964063],[-82.43382246329327,46.128193958216805],[-82.42974729547619,46.019084114962894],[-82.36114039047585,46.01998360901906],[-82.35030820095163,46.02542021844741],[-82.31423486401675,46.04257076303355],[-82.31378819415144,46.140341819363066],[-82.34989345115876,46.15522660193388],[-82.35394565056212,46.17047911388675],[-82.33572845549254,46.1660673100269],[-82.31506763670411,46.17096011123104],[-82.32625042511638,46.179705114501836],[-82.31261033334064,46.1858458000931]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.37573979903645,\"lat\":46.150422686367},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3557\"],\"cd_name_en\":[\"Algoma\"],\"csd_code\":[\"3557039\"],\"csd_name_en\":[\"Spanish\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Algoma\",\"csd_name_fr\":\"Spanish\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.43593225652404,46.18440541555846],[-82.41083676373094,46.189006197933445],[-82.41066746334546,46.2174916869864],[-82.43675971385355,46.218037126265195],[-82.51057343687282,46.212769517183595],[-82.54728504441239,46.207544408687916],[-82.56660443795958,46.20859531463811],[-82.59108444540423,46.203820316376266],[-82.61006914263291,46.2089639011818],[-82.63519933275157,46.19958020321476],[-82.64239935884127,46.201969998085104],[-82.68205333522918,46.187631999935476],[-82.67844134517615,46.15793920275478],[-82.64200005362159,46.157667401774184],[-82.62718715480811,46.16570040132333],[-82.57055305350252,46.16884141720488],[-82.55566694073488,46.16557089255883],[-82.50260314613593,46.18104100442129],[-82.4685213318117,46.199853315785184],[-82.44699835055151,46.196635908050716],[-82.45869353302592,46.18456200623491],[-82.45384645191311,46.172734600714364],[-82.43593225652404,46.18440541555846]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.55390931676499,\"lat\":46.18992978232158},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3557\"],\"cd_name_en\":[\"Algoma\"],\"csd_code\":[\"3557072\"],\"csd_name_en\":[\"Serpent River 7\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Algoma\",\"csd_name_fr\":\"Serpent River 7\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-84.88383495403477,49.19556465141505],[-84.88403720726649,49.18637296894366],[-84.76373900200348,49.1886976101158],[-84.6849185819591,49.1866765602874],[-84.6836324205,49.22880455678994],[-84.68516214682808,49.318970688887745],[-84.8844061322378,49.31863952881586],[-84.8831390569186,49.25821269128594],[-84.88383495403477,49.19556465141505]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-84.78405243380999,\"lat\":49.25317803204937},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3557\"],\"cd_name_en\":[\"Algoma\"],\"csd_code\":[\"3557096\"],\"csd_name_en\":[\"Hornepayne\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Algoma\",\"csd_name_fr\":\"Hornepayne\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-89.63251540905426,48.3253908096681],[-89.63554312813253,48.32544617306619],[-89.63505095583554,48.406284995915094],[-89.63818575717416,48.41319274121744],[-89.76593771553779,48.41243292554416],[-89.76544610079128,48.31120671126055],[-89.6720725483182,48.31105943665988],[-89.63225860858321,48.31324603104576],[-89.63251540905426,48.3253908096681]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-89.70040718206637,\"lat\":48.36201117453055},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3558\"],\"cd_name_en\":[\"Thunder Bay\"],\"csd_code\":[\"3558016\"],\"csd_name_en\":[\"O'Connor\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Thunder Bay\",\"csd_name_fr\":\"O'Connor\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-88.32593214736835,49.070412949975946],[-88.32158408454745,49.05860473685091],[-88.28959764470983,49.061127031397824],[-88.3110834914108,49.07231061097441],[-88.32593214736835,49.070412949975946]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-88.31115558232949,\"lat\":49.06496837515892},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3558\"],\"cd_name_en\":[\"Thunder Bay\"],\"csd_code\":[\"3558092\"],\"csd_name_en\":[\"Red Rock 53\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Thunder Bay\",\"csd_name_fr\":\"Red Rock 53\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-94.30005829613076,49.07917635202044],[-94.30045953612229,49.08936356767422],[-94.30563358502842,49.089304683438385],[-94.30531188558561,49.07929308894384],[-94.30005829613076,49.07917635202044]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-94.30285786452532,\"lat\":49.08427255401746},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3559\"],\"cd_name_en\":[\"Rainy River\"],\"csd_code\":[\"3559052\"],\"csd_name_en\":[\"Big Island Mainland 93\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Rainy River\",\"csd_name_fr\":\"Big Island Mainland 93\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-93.02551172379961,52.51148452709026],[-93.04936682919084,52.50164043603687],[-93.0300218553046,52.48230143528719],[-93.0345542515579,52.466971220519305],[-92.99999983840308,52.46475703337413],[-92.9671281507866,52.49007534183661],[-92.9959553225735,52.49570314159989],[-93.00548884416963,52.50488702852562],[-93.02551172379961,52.51148452709026]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-93.01175713881914,\"lat\":52.487164495543084},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560080\"],\"csd_name_en\":[\"North Spirit Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"North Spirit Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-89.61969432580935,53.80661544853946],[-89.51412001508533,53.80665564018073],[-89.53266073066345,53.8279960296796],[-89.54886180736176,53.83888233146023],[-89.51898542822579,53.84134642854778],[-89.49894042284636,53.849767442271705],[-89.55177843656296,53.850915928750794],[-89.59297301498371,53.8540349299824],[-89.6160564316851,53.84805722286163],[-89.61969432580935,53.80661544853946]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-89.57094023728877,\"lat\":53.82902549539456},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560088\"],\"csd_name_en\":[\"Wapekeka 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Wapekeka 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-96.06811160098349,50.25107399477154],[-96.06279437221922,50.2410353296179],[-96.05469755379495,50.25018583722104],[-96.06811160098349,50.25107399477154]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-96.06186784233255,\"lat\":50.247431720536824},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4601\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4601060\"],\"csd_name_en\":[\"Lac du Bonnet\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Lac du Bonnet\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-100.55564830809143,49.00004779180111],[-100.5558268401065,49.17364225429183],[-100.57908708643602,49.17764240097513],[-100.5789112978469,49.26693681086511],[-100.58037888603968,49.31113949605892],[-100.57903969301515,49.35530820640503],[-100.64020525774754,49.35474204301425],[-100.85020600733085,49.35529690990015],[-100.85011951097202,49.26668939549413],[-100.85162303976813,49.25007796651391],[-100.85081900951984,49.177681658058226],[-100.82447241829216,49.177659799980546],[-100.82460970020482,49.00006767422376],[-100.55564830809143,49.00004779180111]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.70270484317709,\"lat\":49.17787907742595},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4605\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4605044\"],\"csd_name_en\":[\"Brenda-Waskada\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Brenda-Waskada\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-99.34845983511688,49.78385636641892],[-99.34733434275614,49.749528953457414],[-99.3694157263823,49.73971630427129],[-99.32523921944642,49.739016281720986],[-99.32586868758322,49.72406549348389],[-99.31316148278711,49.7237419122378],[-99.31373990239565,49.73915413709637],[-99.2803875293279,49.73916876727078],[-99.2799520138805,49.782918088829604],[-99.34845983511688,49.78385636641892]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-99.31576849373391,\"lat\":49.75905623469478},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4607\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4607040\"],\"csd_name_en\":[\"Swan Lake 7A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Swan Lake 7A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-99.65999906133146,49.88660591973558],[-99.66016660487344,50.063404002400816],[-99.9352682854642,50.06357299391749],[-100.07206599276076,50.063609587490156],[-100.07245289265835,49.88687948836724],[-100.04913478882982,49.886876901672345],[-99.98472101249743,49.8868696924985],[-99.92531201867088,49.88687240997002],[-99.65999906133146,49.88660591973558]],[[-99.9371078240855,49.89868129161419],[-99.93495441630893,49.898684750392256],[-99.9349543677506,49.89656235320641],[-99.9370445364082,49.89655188425507],[-99.9371078240855,49.89868129161419]],[[-99.95757199066482,49.91611719392417],[-99.93454470543823,49.916144610443965],[-99.9349531036156,49.90156898802175],[-99.95804411560222,49.901399897501385],[-99.95757199066482,49.91611719392417]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-99.86577810917692,\"lat\":49.975448742417164},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4607\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4607071\"],\"csd_name_en\":[\"Elton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Elton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-98.49435128606873,49.79782709237983],[-98.50584463352043,49.80524183480762],[-98.50582569419002,49.79817129738993],[-98.49435128606873,49.79782709237983]]],[[[-97.94737052973728,50.076801361221015],[-97.97370341098203,50.066815205425186],[-98.01002908295709,50.06771530945082],[-98.01037298950784,50.24096738921228],[-98.01458661832515,50.24096750558818],[-98.01451624715185,50.30710988371068],[-98.06947666584246,50.29312422818204],[-98.07659958048134,50.27436594876297],[-98.10768515433321,50.249916138393715],[-98.19966608064813,50.21587874957511],[-98.26582217442055,50.19863814728557],[-98.31996924970514,50.187792833891166],[-98.38234817452718,50.18450773066063],[-98.44984865643144,50.191237143299],[-98.500350681948,50.20475812671268],[-98.55993857247272,50.235568871612756],[-98.56064662781363,50.15579678224812],[-98.54899488089883,50.152203802317864],[-98.56005759736234,50.13187510417193],[-98.55998361077422,50.06361970888218],[-98.56033909069194,49.8869223076401],[-98.5512903116447,49.88695059321464],[-98.5513488790892,49.797960690668354],[-98.52855948246217,49.79806810374359],[-98.52859060126714,49.80517799538715],[-98.52870408155829,49.8275433942193],[-98.52903952743021,49.87178482413741],[-98.48922197941381,49.872015902962886],[-98.49411840339039,49.88694862187364],[-98.482234644196,49.88695106905168],[-98.48183753161621,49.87208823314723],[-98.41413423087619,49.87190568879401],[-98.41467701583288,49.85764049980431],[-98.45305561902376,49.85756845844185],[-98.467103763206,49.841596240789926],[-98.45410689602298,49.826005458587275],[-98.46377307197658,49.817343012860135],[-98.48402516853366,49.81291605319861],[-98.4833294155867,49.797860884176124],[-98.41479317889727,49.7984668656305],[-98.27833051825291,49.798084200800766],[-97.86883098783282,49.79791361244439],[-97.86879681357549,49.88640209491766],[-97.87252500670355,49.88646070879957],[-97.87245750733892,50.02670600465387],[-97.94120667301657,50.026563065749954],[-97.9499811434253,50.04186677571603],[-97.94737052973728,50.076801361221015]],[[-98.32066960287723,49.964762501629544],[-98.3197234496996,49.99709452168792],[-98.27530259378344,49.99693910762515],[-98.25736685525438,49.98057951153029],[-98.25744707604876,49.950205688937636],[-98.2629563472339,49.93746339492548],[-98.28274307433173,49.935222027231966],[-98.30887563720376,49.958437821974115],[-98.32066960287723,49.964762501629544]],[[-98.34116243008053,49.95100003511512],[-98.33954572393547,49.94764675221261],[-98.34489458838723,49.94618512848013],[-98.34500728385072,49.95316942043326],[-98.34116243008053,49.95100003511512]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-98.22534603481984,\"lat\":50.0029649305917},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4609\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4609024\"],\"csd_name_en\":[\"Portage la Prairie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Portage la Prairie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-96.7044608969586,50.0623569998859],[-96.85330508809886,50.06297558890436],[-96.86505409996548,50.048242594324414],[-96.8993702776974,50.02668710867015],[-96.93961862824015,50.00824185713848],[-96.95673430673955,49.99460159584948],[-96.96176330793064,49.97430680916341],[-96.99010800361977,49.974558694216974],[-97.00148129123326,49.967343291585685],[-96.99770478274903,49.93044049375969],[-97.02484397716194,49.93064194723745],[-97.02251800598155,49.915775398145435],[-96.96476944524777,49.91557861485112],[-96.9560317372555,49.90055706797371],[-96.95599652497643,49.88596129281352],[-96.98127418510065,49.885974187390694],[-96.98129700092538,49.87107859617253],[-97.02691961759392,49.87106184894265],[-97.02616317823723,49.797578655243996],[-96.98106668667623,49.79746651033914],[-96.49999929285093,49.79580070821291],[-96.36571089003905,49.79605492545214],[-96.36571438169432,49.88484886313407],[-96.35674850236728,49.88509940236668],[-96.36097914581293,49.97294583418447],[-96.63651202041295,49.973243007128765],[-96.63553499844305,50.06196220349877],[-96.7044608969586,50.0623569998859]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-96.70045583217265,\"lat\":49.90759700516065},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4612\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4612047\"],\"csd_name_en\":[\"Springfield\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Springfield\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-100.95014561568668,50.62392320453184],[-100.88843794611199,50.62339611787811],[-100.8811789738815,50.64027545194876],[-100.86213897141698,50.652192536120474],[-100.8560492607231,50.690599452108124],[-100.85737011735903,50.72725089497319],[-100.9505903032214,50.72717621051374],[-100.99684584650221,50.72716749660937],[-100.99705530756385,50.63155040401868],[-100.9505127074374,50.63165036071158],[-100.95014561568668,50.62392320453184]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.92874637692252,\"lat\":50.67873601912173},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4616\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4616017\"],\"csd_name_en\":[\"Waywayseecappo First Nation\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Waywayseecappo First Nation\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-100.18961499065082,51.99685898756327],[-100.14424733448715,51.99602166234022],[-100.13357695204313,52.02217394721221],[-100.1655693805548,52.04101335440186],[-100.16542577416934,52.057913948130725],[-100.15357865244302,52.08014913223669],[-100.154305942829,52.114124335355115],[-100.25044247255136,52.11417382628888],[-100.24951710075393,52.01261699056983],[-100.24400873998384,52.004056779168224],[-100.18778031753499,52.004055491930124],[-100.18961499065082,51.99685898756327]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.19991352450417,\"lat\":52.055972836159135},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4619\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4619070\"],\"csd_name_en\":[\"Pine Creek 66A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Pine Creek 66A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-94.21078029885545,56.503044398452424],[-94.20799792979108,56.500029408894676],[-94.1946076033982,56.504541129365556],[-94.19677841593632,56.50778514410452],[-94.21078029885545,56.503044398452424]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-94.20254402650204,\"lat\":56.50386411481482},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4623\"],\"cd_name_en\":[\"Division No. 23\"],\"csd_code\":[\"4623027\"],\"csd_name_en\":[\"Fox Lake 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 23\",\"csd_name_fr\":\"Fox Lake 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.79766962406549,49.168709407285284],[-101.78400243545488,49.16893451375421],[-101.78184932137077,49.17987668455968],[-101.79900820380402,49.17929999543528],[-101.79766962406549,49.168709407285284]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.79059358994476,\"lat\":49.174408638190236},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701008\"],\"csd_name_en\":[\"Carnduff\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Carnduff\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.60700691364296,49.45624849623775],[-104.59568145928364,49.45772503579924],[-104.59585878269125,49.4645123937872],[-104.60703262068022,49.46453890333446],[-104.60700691364296,49.45624849623775]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.60158034510948,\"lat\":49.46073466125821},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4702\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4702028\"],\"csd_name_en\":[\"Ceylon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Ceylon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.30529504832059,49.468313311685066],[-104.31502909427859,49.457343509719934],[-104.29333538367062,49.45267050345064],[-104.28738156641356,49.467265499972285],[-104.30529504832059,49.468313311685066]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.30007716130507,\"lat\":49.461048768544664},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4702\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4702031\"],\"csd_name_en\":[\"Radville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Radville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.03696409393949,49.78480768686478],[-104.03896298909999,49.78699199998388],[-104.0389280133176,49.87225980279339],[-104.05379131443172,49.87225619976077],[-104.0538213985051,50.047133094983266],[-104.46339839266993,50.04707808915013],[-104.46343258945979,49.87215040273807],[-104.44534120320965,49.87212820048131],[-104.44547284746993,49.78459545363412],[-104.03892268237902,49.78481500512342],[-104.03696409393949,49.78480768686478]],[[-104.36737700240566,49.91602599053396],[-104.37806946426133,49.91602003639422],[-104.37830898984649,49.92321317214088],[-104.36715622444505,49.923344313440175],[-104.36737700240566,49.91602599053396]],[[-104.1744083826686,49.80039459705363],[-104.17438771971895,49.81386830465288],[-104.1520779211711,49.813878109410844],[-104.15211452384895,49.79896047373097],[-104.1744083826686,49.80039459705363]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.25335463413147,\"lat\":49.916446048700806},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4702\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4702069\"],\"csd_name_en\":[\"Scott No. 98\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Scott No. 98\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.58664127579627,49.95276513933688],[-103.57594364197332,49.95279185562308],[-103.57598489630537,49.959926610520014],[-103.58738603006455,49.95992372731715],[-103.58664127579627,49.95276513933688]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.58149423400936,\"lat\":49.956389673770516},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4702\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4702077\"],\"csd_name_en\":[\"Osage\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Osage\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.72430256466488,49.24629406808328],[-107.73265061746628,49.24925465637612],[-107.73268759327115,49.24012540937887],[-107.72430256466488,49.24629406808328]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.72988025846743,\"lat\":49.24522471127943},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4704\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"4704002\"],\"csd_name_en\":[\"Val Marie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Val Marie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.67969044630799,50.597337349343945],[-101.67875081282513,50.60534799007177],[-101.69477760969679,50.60866730613573],[-101.69468709142708,50.60122109259012],[-101.67969044630799,50.597337349343945]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.68684152238941,\"lat\":50.60315358137803},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705043\"],\"csd_name_en\":[\"Spy Hill\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Spy Hill\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.32641204507934,50.54217874017879],[-102.3042649320061,50.542534811260126],[-102.292154143527,50.53410686524059],[-102.29258943417629,50.515201572598],[-102.28064765797713,50.50791174105063],[-102.24514710508309,50.5003150237762],[-102.18610496833234,50.51252116603629],[-102.1535488738577,50.52553705484069],[-102.13959736335845,50.53735803978772],[-102.11583026487975,50.54465775700187],[-102.08769775349802,50.547959437557886],[-102.06890066504054,50.55517473421369],[-102.03481568941973,50.55116954579194],[-102.0183236605448,50.553299249923235],[-102.0056901810964,50.5464133844218],[-102.00597610414243,50.679244589981565],[-102.00699094042366,50.781373732022345],[-102.00589147843252,50.85569689653976],[-102.42441188782915,50.85560760656254],[-102.42444598595335,50.59176599626915],[-102.4189026552877,50.55078896054095],[-102.40732487671268,50.55044423984236],[-102.41555815685571,50.547199455935115],[-102.41864674947293,50.54837853377888],[-102.41831328018715,50.545393748533684],[-102.36349622731534,50.539308232863284],[-102.31044607841316,50.52511694622973],[-102.32602339661129,50.53121518582882],[-102.32641204507934,50.54217874017879]],[[-102.34315220616074,50.73791578255782],[-102.34328921465479,50.745295982437426],[-102.33158719046594,50.745388934668],[-102.33142741417987,50.73803188334154],[-102.34315220616074,50.73791578255782]],[[-102.36281707400263,50.54992674924939],[-102.37048346123024,50.54530973372463],[-102.36979260242401,50.54898631196661],[-102.36281707400263,50.54992674924939]],[[-102.35455341292143,50.80576438187705],[-102.33114129634066,50.81146918961108],[-102.33119001648484,50.79958356790559],[-102.35455341292143,50.80576438187705]],[[-102.30019249699829,50.664182405365274],[-102.29497183315583,50.64948470775999],[-102.30807739483065,50.64950779488145],[-102.30019249699829,50.664182405365274]],[[-102.21514008128784,50.77038358835918],[-102.2383821622522,50.774752904556536],[-102.23837689639102,50.78203370030866],[-102.21512130104088,50.7821576002959],[-102.21514008128784,50.77038358835918]],[[-102.27337687807149,50.745807118783986],[-102.26221024645429,50.73070835898064],[-102.29626401156003,50.730739560456165],[-102.27337687807149,50.745807118783986]],[[-102.07317519555014,50.64158613606928],[-102.09906407976347,50.649543691305034],[-102.08717694107054,50.66432781387912],[-102.05228429606085,50.66388018714388],[-102.05236421699766,50.64970219928575],[-102.07317519555014,50.64158613606928]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.21718473815602,\"lat\":50.69348827016875},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705051\"],\"csd_name_en\":[\"Fertile Belt No. 183\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Fertile Belt No. 183\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.42757821361683,51.12180358701887],[-102.69114859419737,51.12162247551006],[-102.84871388477019,51.12175139828723],[-102.84857375638619,50.945154178611496],[-102.84255832576147,50.94503680963438],[-102.77279858298301,50.94512909530598],[-102.77263499314738,50.9162467213971],[-102.84249067737038,50.9160166939526],[-102.8425479991507,50.857048089229636],[-102.52386704297352,50.85665702795997],[-102.50423829572563,50.85645108499955],[-102.42441188782915,50.85560760656254],[-102.42473726803483,50.9450507556038],[-102.42797965079401,50.945051230972346],[-102.4273907969716,51.025923389822935],[-102.42729380191086,51.03327960405917],[-102.42757821361683,51.12180358701887]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.63326841871839,\"lat\":50.990512116181705},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705073\"],\"csd_name_en\":[\"Cana No. 214\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Cana No. 214\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.13488389446934,50.28761565133489],[-105.12217195731587,50.28762189669393],[-105.12217829658937,50.30215770816868],[-105.14509181909304,50.30210222363171],[-105.13488389446934,50.28761565133489]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.1313222739488,\"lat\":50.295567691785024},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706019\"],\"csd_name_en\":[\"Drinkwater\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Drinkwater\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.91736638057056,50.798681663949445],[-104.95142170245715,50.79874401972249],[-104.9165183359876,50.78775577878981],[-104.9103127042283,50.789954936086005],[-104.91736638057056,50.798681663949445]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.92627416486688,\"lat\":50.794598400868516},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706072\"],\"csd_name_en\":[\"Saskatchewan Beach\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Resort village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Saskatchewan Beach\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.13634122080329,50.98938113284413],[-107.13885521699362,50.97997740106475],[-107.12836425140537,50.979835974919474],[-107.12834020511441,50.98585118121639],[-107.13634122080329,50.98938113284413]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.13337240517525,\"lat\":50.98370602139209},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707059\"],\"csd_name_en\":[\"Lucky Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Lucky Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.81937106372402,51.159509448519515],[-106.82109714925926,51.1695710330798],[-106.83018000387773,51.164287214935165],[-106.81937106372402,51.159509448519515]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.82354940562034,\"lat\":51.16445589884483},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707068\"],\"csd_name_en\":[\"Coteau Beach\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Resort village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Coteau Beach\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.8700986811198,50.907261111235634],[-106.8770184812781,50.89961582472365],[-106.85882708255521,50.8995206985816],[-106.85883082540965,50.90734545608378],[-106.8700986811198,50.907261111235634]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.86630269290146,\"lat\":50.90312931928351},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707072\"],\"csd_name_en\":[\"Riverhurst\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Riverhurst\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.53889266161946,51.07794494065221],[-106.53746395636846,51.06683227648755],[-106.52287139494099,51.057166735805595],[-106.5171723404619,51.063922060305345],[-106.53889266161946,51.07794494065221]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.52898798892045,\"lat\":51.06672834929968},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707074\"],\"csd_name_en\":[\"Mistusinne\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Resort village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Mistusinne\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.80521345030374,50.679132579867925],[-107.8323517155578,50.68479342993838],[-107.90872443789436,50.68787734608308],[-107.93240644007832,50.677530620335546],[-107.96055117540655,50.65373100460355],[-107.99283623343648,50.65099221434563],[-108.01043061412015,50.65415222677599],[-108.04165399928836,50.67232032096102],[-108.08210006316996,50.679394708463796],[-108.08220989695779,50.57218519523408],[-108.06691208951271,50.57218750086056],[-108.0669977188549,50.46316380291053],[-108.06701361207963,50.455671293425596],[-108.06705452104431,50.397380800591925],[-107.65452368416591,50.39729849730118],[-107.65442416300286,50.48923039043976],[-107.68268100619024,50.51854374916923],[-107.68733869061546,50.53387245140611],[-107.69931199766201,50.543278051005174],[-107.69555898852472,50.556353242226635],[-107.70387068817313,50.56405464842141],[-107.71682977301653,50.593363562453305],[-107.72873187968672,50.606470664497785],[-107.73662869996414,50.650419337388655],[-107.74611532726159,50.661914824721514],[-107.77369919593953,50.6719544913349],[-107.80521345030374,50.679132579867925]],[[-107.809071347304,50.59463252122182],[-107.81646762611719,50.60141278301142],[-107.79826800209516,50.60139753519267],[-107.79824518170327,50.59385257848417],[-107.809071347304,50.59463252122182]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.87920032180381,\"lat\":50.529813220583016},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4708\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4708038\"],\"csd_name_en\":[\"Saskatchewan Landing No. 167\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Saskatchewan Landing No. 167\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.00706014897237,51.386925147447926],[-102.17110662519325,51.38691033112295],[-102.4307916871148,51.387064302050554],[-102.43087519261445,51.298556499822695],[-102.42760649213767,51.24735164093076],[-102.42759007480429,51.23248649319872],[-102.42758849929785,51.224921906263724],[-102.404102088175,51.22484381165955],[-102.4041931112615,51.21024827244767],[-102.42760275736488,51.21221953068101],[-102.42757020121932,51.195456792964755],[-102.44070432838117,51.19503187489949],[-102.42752430286492,51.18728909616785],[-102.42757821361683,51.12180358701887],[-102.0061569298665,51.12176924556218],[-102.00612239468211,51.37221829943249],[-102.00706014897237,51.386925147447926]],[[-102.19475293165306,51.34756337766896],[-102.2008297986117,51.35758960554006],[-102.1826131147158,51.35756748279488],[-102.18308029544781,51.35022919522057],[-102.19475293165306,51.34756337766896]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.21715857300148,\"lat\":51.25457251957068},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709006\"],\"csd_name_en\":[\"Wallace No. 243\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Wallace No. 243\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.85722490617749,51.65220580598207],[-103.28034108324155,51.65214704920138],[-103.28020029415138,51.38701180379962],[-103.02085111067792,51.386996457504765],[-102.92650940893019,51.38584490990646],[-102.855758396808,51.38693638719055],[-102.85562071227356,51.65219450453673],[-102.85722490617749,51.65220580598207]],[[-102.92897112692849,51.43260035764851],[-102.9142041094205,51.43106278749271],[-102.91286986751703,51.416562208920915],[-102.92653770171856,51.416368307996414],[-102.92897112692849,51.43260035764851]],[[-103.22107403300143,51.578317651901436],[-103.22111520692924,51.59071995847172],[-103.19764783039176,51.57884559150022],[-103.22107403300143,51.578317651901436]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.0679500810133,\"lat\":51.519591162790896},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709023\"],\"csd_name_en\":[\"Insinger No. 275\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Insinger No. 275\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.90805319653633,51.6673347973337],[-101.90829429523065,51.74956508121615],[-101.93150979152176,51.75551021681375],[-101.93415807104107,51.755416535575726],[-101.97220356167139,51.75554972522934],[-101.99017933806076,51.74412030725503],[-101.99157878247343,51.73419290614924],[-101.97306137278147,51.71528640864184],[-101.97701022278689,51.709612074305554],[-101.95672965249449,51.69537997826201],[-101.95563548068353,51.68417495237538],[-101.94332115038709,51.66657097927618],[-101.90805319653633,51.6673347973337]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.94147208326422,\"lat\":51.71636553501554},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709820\"],\"csd_name_en\":[\"Keeseekoose 66\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Keeseekoose 66\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.87056294549426,51.28470900376646],[-103.88240015690998,51.29186464069647],[-103.8823139209215,51.28494605442321],[-103.87056294549426,51.28470900376646]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.8784256744419,\"lat\":51.28717323296205},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710011\"],\"csd_name_en\":[\"Leross\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Leross\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.59377280809841,51.22732791558387],[-106.59632508416517,51.234424990187456],[-106.60137252279277,51.234298904332185],[-106.60117859860411,51.227335190993536],[-106.59377280809841,51.22732791558387]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.59810799083311,\"lat\":51.23062781987327},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711021\"],\"csd_name_en\":[\"Loreburn\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Loreburn\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.76266043948203,52.682118844026675],[-108.61664368217754,52.68218379715336],[-108.61508556698256,52.75059982733991],[-108.61621184792115,52.82075207144031],[-108.66376869790886,52.82015730552719],[-108.66320753450384,52.82758419758003],[-108.73598624112077,52.82724566677511],[-108.73676162538042,52.841982513025734],[-108.76275011887707,52.841989196627196],[-108.76178590109552,52.78389960890231],[-108.76413790118015,52.75480208720791],[-108.76266043948203,52.682118844026675]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.69118445819926,\"lat\":52.75505864073581},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4712\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4712833\"],\"csd_name_en\":[\"Sweet Grass 113\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Sweet Grass 113\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.61910249891508,51.88163829795811],[-109.69162014212927,51.88161240004725],[-109.6899449095049,51.79419429270411],[-109.69008441329515,51.62002168323469],[-109.66038438849517,51.62002829796427],[-109.40646654622073,51.62022799272948],[-109.40630589118037,51.88160980873347],[-109.5482268024679,51.881693197794434],[-109.60788402017621,51.881649463612085],[-109.59548956348746,51.86670685287858],[-109.63057846938673,51.86706945709513],[-109.61910249891508,51.88163829795811]],[[-109.46503941171963,51.63097233629109],[-109.47729383613074,51.62762676701513],[-109.47730401919249,51.6341801972841],[-109.46503941171963,51.63097233629109]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.54808914286548,\"lat\":51.75048482222202},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713019\"],\"csd_name_en\":[\"Prairiedale No. 321\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Prairiedale No. 321\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.14550709804344,52.14350351195766],[-109.14546069825214,52.289035012306115],[-109.14626198946192,52.31789605981009],[-109.16938229720263,52.31752709395293],[-109.16906701122797,52.40524197687962],[-109.19744761283852,52.405795205942326],[-109.456794900648,52.40580628583164],[-109.60049236480499,52.406441952350896],[-109.59951935936458,52.31838044204947],[-109.57400179168692,52.31838319499764],[-109.57398508432293,52.143448313104344],[-109.14550709804344,52.14350351195766]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.36820548436931,\"lat\":52.27483630800728},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713056\"],\"csd_name_en\":[\"Grass Lake No. 381\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Grass Lake No. 381\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.70127730012894,52.492171287149716],[-109.71304534311182,52.49664106698927],[-109.71330871558467,52.48939901301118],[-109.70127730012894,52.492171287149716]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.7092104529418,\"lat\":52.49273712238339},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713078\"],\"csd_name_en\":[\"Senlac\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Senlac\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.05975667770761,52.86329705725107],[-104.07251308521687,52.85001841480263],[-104.0716865152414,52.83428734832009],[-104.04218343928676,52.83456678658721],[-104.03550858462788,52.84172720121037],[-104.03556179738725,52.86344750458687],[-104.05975667770761,52.86329705725107]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.05305842366303,\"lat\":52.84837071727924},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714044\"],\"csd_name_en\":[\"Tisdale\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Tisdale\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.66854290086891,53.10950728867448],[-103.66935022843485,53.10374465007277],[-103.65181402714485,53.10225290526008],[-103.65219893527834,53.109560920466684],[-103.66854290086891,53.10950728867448]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.66015537401947,\"lat\":53.10621287418839},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714062\"],\"csd_name_en\":[\"Arborfield\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Arborfield\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.45900008189474,52.40552028959988],[-105.89049190072254,52.40566500487075],[-105.89051524373394,52.342242341386964],[-105.89048349095063,52.33293950570804],[-105.89054321622784,52.31837409442092],[-105.86010011480802,52.318365891201616],[-105.86009468161193,52.143835390945725],[-105.71733288779723,52.143828105753414],[-105.43229469406462,52.143814692501074],[-105.43223267713725,52.31833279320395],[-105.45905118865785,52.318339499330655],[-105.45900008189474,52.40552028959988]],[[-105.52712239343775,52.2700006080633],[-105.51528388801766,52.26770631187247],[-105.51514107470479,52.260537089351786],[-105.52713868878317,52.26025459680704],[-105.52712239343775,52.2700006080633]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.65589854407736,\"lat\":52.27496644255781},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715011\"],\"csd_name_en\":[\"Bayne No. 371\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Bayne No. 371\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.09927269968401,52.31469669191792],[-106.08125760411787,52.314484519038594],[-106.08814228469706,52.33247678171341],[-106.10565822979592,52.33257712288509],[-106.09927269968401,52.31469669191792]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.09355951318031,\"lat\":52.32352005966186},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715017\"],\"csd_name_en\":[\"Vonda\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Vonda\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.22064509113115,53.16625761286155],[-105.23345555542208,53.14071273565588],[-105.26038747514879,53.13660810724885],[-105.28438010056009,53.12655562586878],[-105.30334743825942,53.1339117949811],[-105.31880018420594,53.15121325505513],[-105.3346672557486,53.15973746652786],[-105.41826312311241,53.17208930138917],[-105.43134225313415,53.162853616178445],[-105.42749553143065,53.14942646414239],[-105.44074336644157,53.13962567682027],[-105.39320673882622,53.13981540600089],[-105.39492088062863,53.06586984420712],[-105.44031457639373,53.06615458713217],[-105.43991380813213,53.05231828562743],[-105.50876059171699,53.05123650349993],[-105.51234899006731,53.040436338783906],[-105.52655856706168,53.03392504502393],[-105.54357876512915,53.00695064058234],[-105.56168949254258,53.00531146567346],[-105.56728016105149,53.015860342494626],[-105.61338178301804,53.02767117470793],[-105.65522071296665,53.02398328586066],[-105.69520591989611,53.00492233793741],[-105.72242808151934,53.002593003982824],[-105.72471117967861,52.98824816035598],[-105.73972628456134,52.978594131350995],[-105.76947230927584,52.97539174086361],[-105.76818143463233,52.96709579618404],[-105.74913952394141,52.949668768049094],[-105.75340568834307,52.93988489460723],[-105.79096222357082,52.936044085182296],[-105.80081399279678,52.928483863705054],[-105.79392130771083,52.929202994664834],[-105.48681821040591,52.92901498903819],[-105.21988988691082,52.929242307413986],[-105.22060158959235,52.97849461356759],[-105.19608343772346,52.978193905577704],[-105.1963929165554,53.01640059109783],[-105.22127180541479,53.01639289346773],[-105.22064509113115,53.16625761286155]],[[-105.4423235461004,52.984714432457835],[-105.42764378919598,52.99174359999646],[-105.4252239603997,52.979978032566706],[-105.4423235461004,52.984714432457835]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.42568021207487,\"lat\":53.012759864307235},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715067\"],\"csd_name_en\":[\"Birch Hills No. 460\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Birch Hills No. 460\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.93833881984153,52.562082375112894],[-105.91434386756629,52.558519087098],[-105.91432453131473,52.5653590981829],[-105.93833881984153,52.562082375112894]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.92233573957417,\"lat\":52.561986853464596},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715857\"],\"csd_name_en\":[\"One Arrow 95-1C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"One Arrow 95-1C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.05318488816292,54.27396377452188],[-109.08516828155527,54.27803236351709],[-109.10980079293397,54.26978525587005],[-109.15698990460285,54.2777185159019],[-109.19663829750894,54.27326545642547],[-109.22770207995978,54.25658289854514],[-109.24512332402094,54.232968803200855],[-109.27236476525623,54.2279378689668],[-109.28298573975239,54.23148085261598],[-109.29746363578813,54.24906171016548],[-109.32796227226957,54.25838660203329],[-109.37208948905005,54.25396176430134],[-109.37504214426887,54.24043495402886],[-109.40523505675236,54.235721665445666],[-109.43380624330713,54.258753358458115],[-109.41904597321776,54.27441906374983],[-109.4346580947401,54.28585621056899],[-109.47391593878713,54.288805604039766],[-109.50134897797429,54.312748069322964],[-109.56772499286899,54.31247826854625],[-109.5758937799361,54.316879017272285],[-109.60315033999687,54.313764219646885],[-109.60216135234042,54.128736205520724],[-109.60252463396661,54.063189451286284],[-109.54905080976124,54.063633703819704],[-109.54865813557021,54.03557996631501],[-109.59772817379086,54.03529013609378],[-109.60932708195232,54.02874935381063],[-109.62845856347612,54.0322213642049],[-109.65551837856597,54.0467373667171],[-109.662238273321,54.03819986592215],[-109.6555915746024,54.02264204817722],[-109.6883511733089,54.03001926727054],[-109.7138784738784,54.00991916928776],[-109.70007938349502,54.00504824699488],[-109.67838857409292,53.98373317356351],[-109.64924080848824,53.999069127944786],[-109.64881317210809,53.97690221340008],[-109.77320926810667,53.977062639447865],[-109.77455099078868,54.05025200764214],[-109.80138532171125,54.05028922346207],[-109.80202369595338,54.06369769636896],[-110.0056632278999,54.063949558452336],[-110.00655137382377,53.88932259074703],[-110.0057010724111,53.784891585642505],[-110.0071312340091,53.76981437391222],[-109.99569872997229,53.78357243806445],[-109.97162894268529,53.78400025642085],[-109.97069845624115,53.76636512762907],[-109.81556785612592,53.76583058117751],[-109.81551102303305,53.78359779959453],[-109.80336770793446,53.78383342005185],[-109.80363949632842,53.80196782940298],[-109.59913964478072,53.802040583238856],[-109.12889608840672,53.80208369955674],[-108.68303049371522,53.80205104392372],[-108.68294619697333,54.063977703122546],[-108.85305049391839,54.06393101242959],[-108.85292021953964,54.10988834071496],[-108.86558685862518,54.09849905119869],[-108.88158607059606,54.07435834979429],[-108.90304540086278,54.06944210815904],[-108.90266462235142,54.15093140750897],[-109.05314370612096,54.1508335880354],[-109.05318488816292,54.27396377452188]],[[-108.9060565894235,54.00238669839396],[-108.91141070828364,54.00986336416264],[-108.90036252830824,54.009962806990124],[-108.9060565894235,54.00238669839396]],[[-109.10420543997901,54.03510461163442],[-109.10421993997808,54.05063957025763],[-109.09151910640294,54.04968062980895],[-109.09169685531252,54.034995643593604],[-109.10420543997901,54.03510461163442]],[[-109.16613668245806,54.019849158757786],[-109.17861575706125,54.02018270589112],[-109.16754507749394,54.043410350630666],[-109.17641447164341,54.05619344921437],[-109.1931566923647,54.063263111624714],[-109.12857385812659,54.06384447025679],[-109.12905471187437,54.020586346923075],[-109.1534583667014,54.020587719878364],[-109.15695989517563,54.018391620574604],[-109.16613668245806,54.019849158757786]],[[-109.27729339732181,54.02953694698569],[-109.2909234661759,54.04713565337906],[-109.27840369893224,54.074784168609575],[-109.26767669720658,54.06508265863846],[-109.21883779227029,54.057038256351554],[-109.18642726004234,54.04243705456103],[-109.23511207119934,54.031766653907574],[-109.24310124861444,54.0206854480159],[-109.27731218836742,54.020934078859206],[-109.27734746760967,54.004780195055055],[-109.30571954127467,53.98395552517732],[-109.35035566408129,53.9841084712021],[-109.3504143175966,54.005386060817344],[-109.32621980049977,54.00534376956556],[-109.32628010156813,54.01966324073001],[-109.31486266484538,54.03382628387308],[-109.27729339732181,54.02953694698569]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.33186630526299,\"lat\":53.99084545740055},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717056\"],\"csd_name_en\":[\"Loon Lake No. 561\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Loon Lake No. 561\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.57947114709451,55.53832675409197],[-106.5891581853196,55.53396976540937],[-106.58800654568842,55.518870922781375],[-106.6249716922092,55.51712178491899],[-106.62191521431551,55.50138900607275],[-106.59772761070718,55.50234642260902],[-106.56862888441077,55.517060264696156],[-106.57947114709451,55.53832675409197]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.59577031196379,\"lat\":55.5155348717168},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718065\"],\"csd_name_en\":[\"Pinehouse\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Northern village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Pinehouse\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.00000001273933,59.99999999726299],[-102.50000000549595,60.000000005638746],[-102.74999997876142,60.00000000389544],[-103.25000000675897,59.99999999635571],[-103.74999998096615,59.99999999559264],[-104.00000001764329,59.999999985409175],[-104.50000000466625,60.00000001142096],[-104.99999998272204,59.9999999914361],[-105.50000001034634,59.99999999962973],[-105.99999999867597,60.00000000505796],[-106.49999997858461,60.000000004703104],[-106.75000000766751,60.0000000019185],[-107.25000002000202,59.99999998649083],[-107.49999998469823,59.99999999153056],[-108.00000001585,59.999999990312126],[-108.49999998075212,59.99999998837465],[-108.75000001261975,59.99999999478793],[-109.24999999803664,60.00000000438417],[-109.5000000198823,59.9999999987209],[-110.00000001796549,59.99999999847859],[-110.00032719866543,59.71937971190855],[-109.99964501397132,59.484997217556305],[-109.99999999152047,59.250000008493345],[-109.99999998331283,59.000000005408424],[-109.99971791203544,58.861410428026396],[-110.00035230971936,58.70194702850847],[-110.00033550552803,58.507378259155296],[-110.00034782603416,58.29571213134822],[-110.00033729315962,58.13756663046651],[-110.00019449288398,57.94231562182124],[-110.00012707359578,57.75000000443963],[-110.00006040743004,57.557478033211716],[-110.00000001197044,57.25000000073837],[-110.00000005417468,57.12434415995929],[-110.00000001774731,56.92908280291551],[-109.99999998129574,56.75000000984386],[-109.99999998513282,56.57388154016331],[-110.00000001695895,56.28715035103455],[-110.00581396270078,56.28216442500276],[-110.00032601181191,56.24261799175394],[-109.99999997557369,55.98595421466345],[-109.99992783687989,55.725204557404595],[-110.00001031570066,55.549277976003395],[-110.00011148410972,55.331232726754756],[-110.00292557781655,55.035697986496885],[-110.00567348965434,54.747727662182314],[-110.00569222639339,54.64980749919723],[-109.93579635944928,54.65045508547855],[-109.91152554849688,54.645204593420154],[-109.89818525187944,54.63080457038552],[-109.89650108501833,54.61518556213724],[-109.88434063831996,54.60200520301182],[-109.85930522604386,54.601898810441654],[-109.85778001768962,54.58546582588101],[-109.78431298738464,54.58528983400824],[-109.78406110714204,54.557879719923086],[-109.63345459549991,54.55825889592349],[-109.63317760398964,54.528693729989605],[-109.60840476319491,54.5288151623126],[-109.60737221159094,54.51451684349449],[-109.53241697838294,54.51428786702853],[-109.53208438614331,54.500185436244735],[-109.15441496212237,54.49989061283014],[-109.15485773032947,54.48519075810115],[-109.03998044722309,54.484637470381095],[-108.87902782079635,54.48634084988438],[-108.80215161719876,54.48613411068721],[-108.80189335765353,54.51582779960907],[-108.64886399164345,54.51581725593111],[-108.64825445879156,54.58797053142718],[-108.59964983683088,54.588014152946215],[-108.59882865021964,54.67497999670998],[-108.42339514988831,54.67424961916617],[-108.42376549027693,54.58727871478871],[-108.09222100014414,54.58708097999894],[-107.97004424108086,54.587255078294994],[-107.96894499225607,54.413575725661026],[-107.95182383215663,54.41340632858655],[-107.95337167470937,54.161051616034264],[-107.95458228252484,54.15059435633571],[-107.80273955116802,54.149933589743426],[-107.44875091220996,54.15059021346304],[-107.35301127163063,54.149355319840126],[-107.0513743172723,54.14951898829143],[-106.7513912924196,54.14884894544936],[-106.75327346129443,54.25028762710415],[-106.75289338592965,54.324942862182844],[-106.5962373739327,54.32601340796182],[-106.58720909451401,54.34513666371657],[-106.55251462032213,54.32615243437473],[-106.33930051327148,54.327298424384026],[-106.01418688234799,54.329057603812174],[-105.9999999100422,54.31222490978354],[-106.00402014741934,54.22758617306207],[-106.00406363653391,53.97629600610103],[-105.87415971618604,53.97645591277251],[-105.7434896901496,53.97668868082415],[-105.75595385493699,53.99236245374045],[-105.77140945407304,54.000591207020626],[-105.80346084088089,54.00126924455335],[-105.82158926264252,54.02943371913181],[-105.82157973847488,54.05830275565099],[-105.83654210570131,54.05859735892442],[-105.8367878371234,54.08209673059658],[-105.8500778584219,54.0845769467259],[-105.84984121227713,54.11642623142566],[-105.86181531735006,54.116477482152085],[-105.86199698530217,54.1460413286682],[-105.7994443128329,54.146967985776335],[-105.80884517173057,54.12132116347166],[-105.81333777655507,54.06811424230863],[-105.78137255273694,54.06099334694339],[-105.77511376520563,54.05230915924392],[-105.74189780401083,54.047835501185446],[-105.74122285392974,53.976689334876944],[-105.42963720582503,53.976646656876476],[-105.12671048764925,53.97754919592721],[-105.1295607763514,53.93373092876075],[-105.1297482358409,53.80214549054559],[-104.99934270670786,53.80157104507956],[-104.65862439106748,53.8017709497022],[-104.53498570430979,53.80199017674603],[-104.40670172343842,53.80056530847087],[-104.3328381318893,53.801344859092325],[-103.92691329224103,53.80148542316657],[-103.64281810999738,53.80154919342357],[-103.64154920981433,53.71434374566981],[-103.62713322092263,53.71391674396238],[-103.62826744719787,53.62840388810587],[-103.56810329640025,53.637375282325976],[-103.4995044884797,53.63756559692895],[-103.43251989214964,53.64076859753909],[-103.41237623749709,53.64645978860512],[-103.39677615576423,53.65958426820293],[-103.40097622988316,53.680163418810956],[-103.38984669077294,53.68652264221397],[-103.32017318236322,53.694955225089195],[-103.29625571873237,53.713079404840094],[-103.26306193483691,53.71813722964675],[-103.24544064448288,53.71349847812867],[-103.22058610295828,53.71927805492314],[-103.21090028305981,53.72839680992071],[-103.18814301973414,53.726991286340436],[-103.15727710877756,53.71951829957449],[-103.11683094354296,53.731632055762155],[-103.08887953763956,53.74795058167211],[-103.0760977083413,53.763249365330786],[-103.0543330319547,53.77321360099547],[-103.03655110796133,53.77494622661887],[-103.03783081246407,53.74953103405918],[-103.03499653448735,53.7141396834035],[-102.7473336188467,53.71328050189351],[-102.52261920686877,53.71330129260956],[-102.29583821534291,53.71349913910898],[-102.06844551213636,53.71372070217142],[-102.00000002000363,53.71260832697355],[-102.00094649694168,53.708611081518086],[-101.77066399919583,53.71091002548052],[-101.77124559080804,53.74646299683454],[-101.77132275803069,54.06440246114992],[-101.81043452049781,54.06440581813879],[-101.81114596350152,54.20473085251687],[-101.81038717439793,54.27763050495993],[-101.81728544626557,54.277753101678236],[-101.83024913885373,54.26480745398544],[-101.87902471971063,54.261552258225784],[-101.88524945455978,54.26834918618905],[-101.88517468139001,54.31815283470619],[-101.86401594727631,54.322071678543765],[-101.819150275831,54.312972345903674],[-101.82535349839961,54.302958478430874],[-101.82207635784272,54.28273178677749],[-101.8103790174583,54.28279789065803],[-101.81046130903624,54.41353989396375],[-101.84748426351908,54.41356389822826],[-101.84746387609322,54.5302002613383],[-101.84723079072947,54.742325114346265],[-101.84748923509122,54.75064019041937],[-101.86906432990774,54.75076672763493],[-101.8974610881271,54.74834975580992],[-101.89725476702323,54.73387751175851],[-101.92560692733505,54.73460030543254],[-101.9227745923823,54.7917453571058],[-101.88534712489987,54.79122896442452],[-101.88528899262421,54.93831157333161],[-101.88526563857572,55.11159665535117],[-101.92436060643084,55.11209058995163],[-101.9237909599566,55.196869165454466],[-101.92422703066082,55.46021659132771],[-101.96395494363104,55.46042008989317],[-101.96366510858893,55.62400200127284],[-101.96387163013296,55.80946849711828],[-102.00412938852956,55.809350074241244],[-102.00405225979709,55.999840261499244],[-102.00635711025382,56.32559570944238],[-102.00760914169027,56.500154617418474],[-102.00739109778443,57.08348720691971],[-102.00502447835595,57.17805422418108],[-102.00522942175768,57.41685932917863],[-102.00574161488807,57.999933099989164],[-102.00602442499559,58.31370962426344],[-102.0062864995188,58.81456941733949],[-102.00666187385048,59.00053857790347],[-102.0073897479384,59.75177941224119],[-102.00000001273933,59.99999999726299]],[[-103.25406964258346,56.32602366086287],[-103.25852497153946,56.3072663423768],[-103.27395645543689,56.31005295179404],[-103.2750415483622,56.32395870831095],[-103.25406964258346,56.32602366086287]],[[-102.02231472326304,57.08142831592273],[-102.02420186398294,57.081440557669836],[-102.02325870110523,57.08148348957581],[-102.02231472326304,57.08142831592273]],[[-104.79266495759566,55.27600985564107],[-104.79447065271829,55.27488555529005],[-104.79621435374804,55.275444966138274],[-104.79409374068157,55.27660290113425],[-104.79266495759566,55.27600985564107]],[[-105.17242612335265,55.28553281764945],[-105.16497578873867,55.284496164465295],[-105.1665623518144,55.27906046917543],[-105.1717310800531,55.27825054779255],[-105.17242612335265,55.28553281764945]],[[-103.7549226558794,56.1157083140528],[-103.76048677298765,56.12376364402085],[-103.74532943906044,56.122860451742234],[-103.7549226558794,56.1157083140528]],[[-109.43701612130334,56.36718064646448],[-109.43854324388842,56.36268574082567],[-109.45044568263023,56.36423606244166],[-109.4467666541561,56.37172865277834],[-109.43701612130334,56.36718064646448]],[[-105.42230407199207,55.029332357584614],[-105.40315173844627,55.02267609851824],[-105.41828343931623,55.013873553933706],[-105.43174000004018,55.024895238166046],[-105.42230407199207,55.029332357584614]],[[-108.67315657014527,56.47267945770615],[-108.6565290875841,56.4708337661],[-108.66222355958462,56.45334646033021],[-108.67147417050985,56.46324657190871],[-108.67315657014527,56.47267945770615]],[[-107.92956983404629,55.38060439028643],[-107.93604101765641,55.36151915613476],[-107.95761392163398,55.363937944045595],[-107.9418862128067,55.38097743608795],[-107.92956983404629,55.38060439028643]],[[-104.57890635490259,55.414406242460515],[-104.56202892703291,55.414361180575256],[-104.5620029432227,55.392234018350074],[-104.5790210181598,55.392239957592494],[-104.57890635490259,55.414406242460515]],[[-102.14004844215228,54.4482677510778],[-102.14031359487402,54.42416397127905],[-102.1709128595887,54.427426245286604],[-102.17034206371909,54.43837597447878],[-102.14004844215228,54.4482677510778]],[[-107.71693350922394,55.90137484675432],[-107.74577754922117,55.915288460732086],[-107.73681329224777,55.925400965641444],[-107.71875365477467,55.922439651416454],[-107.70924236578081,55.90146930590052],[-107.68975839560154,55.88548696419855],[-107.69127154714775,55.87824301436696],[-107.7125929803941,55.899701674331176],[-107.71693350922394,55.90137484675432]],[[-105.82124149346679,54.44259383573443],[-105.79864674351253,54.443168588536246],[-105.79702140205421,54.43329403257659],[-105.77586582146334,54.43095452940692],[-105.77557273706337,54.42130282518738],[-105.83263162961724,54.42604380748339],[-105.82124149346679,54.44259383573443]],[[-105.41983277956967,55.04292254123236],[-105.42776508448706,55.037018159572796],[-105.4479649405735,55.041436646670306],[-105.4332437844151,55.05025286155203],[-105.41983277956967,55.04292254123236]],[[-105.66800947248583,54.17429878985293],[-105.64943073011878,54.166596031079514],[-105.67598148610699,54.14018334977828],[-105.69862988048858,54.144591654192034],[-105.68859314205953,54.16061651057457],[-105.66800947248583,54.17429878985293]],[[-108.69250169546146,56.46324635689579],[-108.72708599996099,56.457068379133105],[-108.71863727785741,56.4800742709416],[-108.69179492810458,56.47759511631344],[-108.69250169546146,56.46324635689579]],[[-106.57947114709451,55.53832675409197],[-106.56862888441077,55.517060264696156],[-106.59772761070718,55.50234642260902],[-106.62191521431551,55.50138900607275],[-106.6249716922092,55.51712178491899],[-106.58800654568842,55.518870922781375],[-106.5891581853196,55.53396976540937],[-106.57947114709451,55.53832675409197]],[[-102.08233875585243,54.674394847152385],[-102.06399146537386,54.67262235738069],[-102.06404824998931,54.656250890038905],[-102.08654384873712,54.64894404112384],[-102.09656377147279,54.66029804852875],[-102.08233875585243,54.674394847152385]],[[-107.45743358847776,54.622668611290635],[-107.4217123568974,54.63789745447785],[-107.40479119025487,54.63612625924165],[-107.39916678761269,54.62165448168321],[-107.43169648584582,54.6055118227494],[-107.45743358847776,54.622668611290635]],[[-102.94364689290835,55.18508942850482],[-102.95086051771388,55.1936753386398],[-102.91681328071819,55.19375679474181],[-102.91680449099496,55.18298239139938],[-102.88511910756422,55.18299038563145],[-102.88513517014088,55.16484756132522],[-102.91215425593818,55.173997741282676],[-102.93087047822848,55.16555784890455],[-102.93361671822763,55.16573470312131],[-102.93596160683671,55.16613982759056],[-102.94294892342796,55.166161668531934],[-102.94393982746416,55.16668369239826],[-102.94380037314954,55.16776793934117],[-102.94312157907277,55.1682351498309],[-102.94153773736984,55.174327359233885],[-102.94027250578227,55.17541830032066],[-102.93993520735054,55.17605141047259],[-102.94364689290835,55.18508942850482]],[[-103.36441295519937,54.92426075206969],[-103.34516626098848,54.92325055901236],[-103.3247010663728,54.915007339280024],[-103.33691806887906,54.89356439292884],[-103.36497112401675,54.89922964391079],[-103.3861486542549,54.911142765254255],[-103.36441295519937,54.92426075206969]],[[-103.2412250455167,56.290668462864126],[-103.25477817109159,56.294500558014796],[-103.2435010512852,56.33220926537613],[-103.21665655658775,56.334242255801435],[-103.21278195989119,56.308966057687044],[-103.2412250455167,56.290668462864126]],[[-108.69877285091725,56.09008774509017],[-108.67664704555749,56.083334923157786],[-108.72489332110042,56.032567372977326],[-108.74403802115616,56.044085861316596],[-108.69877285091725,56.09008774509017]],[[-102.32105828335021,55.534181321852124],[-102.32464435553798,55.541179864453085],[-102.31115127440188,55.543411253439984],[-102.30216955790728,55.54062145596417],[-102.30392746028758,55.52457951220765],[-102.29358760248789,55.451471188001705],[-102.3349353975229,55.447729307409546],[-102.3238830276551,55.45845209713827],[-102.32934267128039,55.47115917079394],[-102.31567876246878,55.47917762545319],[-102.30856054081802,55.51617739337741],[-102.30856036228619,55.517081281900154],[-102.30843434919059,55.51727420829989],[-102.30967847329369,55.51802933931864],[-102.322531581755,55.53233568857485],[-102.32105828335021,55.534181321852124]],[[-107.75730214264169,56.0008682734934],[-107.71532372474915,56.00058401990607],[-107.712198764965,55.96138884863633],[-107.73010137263032,55.95731294732022],[-107.71547825668857,55.94094535297567],[-107.70869646678909,55.91909976999787],[-107.73642463995571,55.934131616968536],[-107.75730214264169,56.0008682734934]],[[-107.93148837664839,55.495481767005295],[-107.89180007757147,55.47059546360922],[-107.89361276839658,55.45429865848216],[-107.90816490686777,55.436451547844094],[-107.95671168696639,55.49646049227579],[-107.97498544620309,55.495761850163106],[-107.97862001377587,55.525119672555526],[-107.93148837664839,55.495481767005295]],[[-106.78700582595494,59.359153814383184],[-106.75922916410985,59.36005824191375],[-106.75878515280377,59.32570763811226],[-106.78924314153217,59.318446759942816],[-106.8140464525796,59.32481685855204],[-106.83121956514212,59.31896957086348],[-106.89730896380462,59.3178148615416],[-106.89818065229004,59.32845476187474],[-106.85742024290394,59.33815535537979],[-106.83928585359077,59.34734706327702],[-106.78700582595494,59.359153814383184]],[[-103.1652694537769,56.39500316353992],[-103.16482998337369,56.28446171076914],[-103.21507939643865,56.284442878140204],[-103.20169265789369,56.304414255507005],[-103.1972930725209,56.32390644190147],[-103.23182703893148,56.34549004762739],[-103.22122465956596,56.364238954899],[-103.19669393948121,56.37357126373156],[-103.18315913378034,56.38923915472796],[-103.1652694537769,56.39500316353992]],[[-105.30502129752051,55.101016996450696],[-105.32444039161504,55.12704766000664],[-105.27892960471607,55.13872141937549],[-105.2719084383888,55.16620116441811],[-105.25004428023217,55.1618447037254],[-105.2601723834116,55.132609445153456],[-105.27321207148255,55.13102281657767],[-105.25594121569686,55.10891861822655],[-105.29598073200233,55.09899410026652],[-105.29885253314504,55.08117151445065],[-105.28645681896552,55.05986437054253],[-105.32872543350283,55.05984566446072],[-105.33139456670293,55.07503199972307],[-105.33247572647662,55.08114571207497],[-105.37127417124667,55.084188347481884],[-105.3611522736421,55.09840098954666],[-105.329771659189,55.094711770903466],[-105.30502129752051,55.101016996450696]],[[-102.28517310777205,53.92510230460922],[-102.30139006577261,53.91797764209227],[-102.34060246630229,53.924880759939406],[-102.34376619159383,53.937095419305486],[-102.30897601208794,53.95527805300747],[-102.27687467430854,53.958672300936705],[-102.26551094237676,53.966761962617966],[-102.2477018562625,53.967407373574886],[-102.24535770757926,53.95234276950049],[-102.27277767275068,53.943044422035605],[-102.24767658730475,53.94295490710442],[-102.20641083914094,53.955227248694655],[-102.19591529428973,53.95070770646401],[-102.1942176219756,53.921756577259266],[-102.28517310777205,53.92510230460922]],[[-108.12805470983601,55.13454328647944],[-108.1592413339045,55.13463096592545],[-108.15939044972225,55.11860161699014],[-108.18071201174351,55.11805753593874],[-108.18132435146143,55.10603257508409],[-108.2060603699228,55.10635479402889],[-108.20841428570034,55.09309671956751],[-108.2562489154428,55.093745895046126],[-108.27773197417689,55.09899845410579],[-108.31831198109435,55.09148636185094],[-108.34499656184941,55.09489744989866],[-108.33867138508634,55.10649374403032],[-108.30503857625384,55.097082155988446],[-108.27914149195527,55.0999412546127],[-108.28042907915253,55.10987675194459],[-108.25460805435313,55.117924348753704],[-108.23166397341399,55.1098163582114],[-108.17982366893088,55.13251046037936],[-108.18203416427964,55.158787656483106],[-108.16838918772245,55.166241646204774],[-108.14495758209509,55.167839668963595],[-108.15002287381706,55.153240261259334],[-108.1280899265433,55.149319777884955],[-108.09324218879861,55.16364675512933],[-108.08107030496242,55.147219849231774],[-108.10756671686767,55.13735515179959],[-108.12805470983601,55.13454328647944]],[[-109.44778588439347,56.51402239071862],[-109.46207708783636,56.522624771736936],[-109.47889185661242,56.52017126914607],[-109.50266619658466,56.52897765835943],[-109.50068946015263,56.54906276172607],[-109.53932406444495,56.558416567718965],[-109.5398166957061,56.565764136418004],[-109.48649164764143,56.56529917536269],[-109.47833088731528,56.55144256335425],[-109.38445085978732,56.54809745222281],[-109.39528828595391,56.53458491056965],[-109.39385806139012,56.51904936714184],[-109.40360030848358,56.51461679664775],[-109.42106899807314,56.498995663953465],[-109.41175536614072,56.48662865271145],[-109.38743733242929,56.50145703733942],[-109.38533653243748,56.46691200423793],[-109.42264697217998,56.4604500558704],[-109.43184418882049,56.47871005919114],[-109.45318198874371,56.49218764920874],[-109.44778588439347,56.51402239071862]],[[-108.21997440273562,54.967669337173724],[-108.1100683532778,54.96107376548689],[-108.11254127441316,54.94707175868598],[-108.13000517372419,54.94321894886678],[-108.16137720060603,54.94855286377026],[-108.2005827705882,54.93385375181131],[-108.21092509084122,54.91603054908891],[-108.21248078127022,54.89902087111495],[-108.19449949386829,54.87507674811915],[-108.21349897018666,54.865322957473545],[-108.21852095803979,54.82577106756125],[-108.26491513273756,54.82763977309609],[-108.26250582681186,54.86600411748443],[-108.23959511546582,54.86545433835252],[-108.21997440273562,54.967669337173724]],[[-104.68646143586918,55.63447394828634],[-104.51666103586895,55.63523787994086],[-104.51597839785133,55.58239961797419],[-104.56043355504269,55.57720204962018],[-104.58345117809645,55.581919862668],[-104.5697682434499,55.5975894632654],[-104.542263281603,55.598110864367335],[-104.53386094623733,55.61578925882165],[-104.54338228304242,55.62242126273486],[-104.57338285019708,55.600812152654015],[-104.59202248509415,55.60819646519692],[-104.60354854768013,55.60158425877669],[-104.63386306045547,55.59955305863626],[-104.63392224574486,55.589503646192384],[-104.68605864495727,55.59817425746699],[-104.69651597360132,55.61443524415924],[-104.67583016187639,55.61321734198086],[-104.65302468365333,55.625554453858534],[-104.68045785841213,55.62932715953987],[-104.69153887210454,55.61675094912501],[-104.71348108616384,55.62733776240776],[-104.68646143586918,55.63447394828634]],[[-108.54204317402247,55.89664852754676],[-108.48488436282933,55.89743006658511],[-108.47205536842067,55.866728773600265],[-108.47733576730079,55.854934349004424],[-108.45555995957513,55.84596066597841],[-108.42490608220892,55.85155495941825],[-108.4088297652095,55.84226225788025],[-108.42309265547725,55.830984568644084],[-108.41485917997812,55.80915305893052],[-108.44584922960487,55.80971419762078],[-108.44733498031457,55.81889284832751],[-108.46537668331595,55.833721369043076],[-108.48428495819977,55.83847937411037],[-108.54494517832727,55.87539515401864],[-108.57541708975222,55.880162854925715],[-108.57426125962117,55.86936805529846],[-108.5880325848477,55.854997968057326],[-108.61877836014934,55.844820453166804],[-108.62007588111702,55.83651745931245],[-108.63967665972406,55.828545655963524],[-108.65954199349714,55.84042637070088],[-108.6489232902625,55.86922886612837],[-108.59907697808607,55.905619848022646],[-108.58800717040067,55.91976220724774],[-108.55269912864819,55.92398832098518],[-108.54282150911884,55.91144553030989],[-108.54204317402247,55.89664852754676]],[[-109.10257833982686,55.9900899922378],[-109.10853087606144,56.000067631558416],[-109.12599248776333,56.000068827387715],[-109.13199141041889,56.0274814324845],[-109.11294553878773,56.02370414422108],[-109.09701046763648,55.99023131052662],[-109.08802468508647,55.96407485899642],[-109.07358128363451,55.952938364708736],[-109.03053098232336,55.942057661872084],[-109.01626886719562,55.92332615777422],[-108.99151965609265,55.91791557108343],[-108.98744319781711,55.902824753566684],[-108.95119593917454,55.898449006927656],[-108.93013260770593,55.91040500803373],[-108.93752637142272,55.93070885107765],[-108.9150302886547,55.92768205154302],[-108.87785057453377,55.935471928661286],[-108.88221010891553,55.882601892096545],[-108.94792242029294,55.882705362274336],[-108.95256323012056,55.87222914177199],[-108.97993607910549,55.88263790952943],[-108.98010532967996,55.89726152344049],[-109.13901019702396,55.89719233336737],[-109.13936829620684,55.984750982454685],[-109.10309379557687,55.98385477797769],[-109.10257833982686,55.9900899922378]],[[-107.2642105576138,59.3653433478621],[-106.98028885985478,59.36998193803419],[-106.7601584071608,59.37439066087967],[-106.7593309699796,59.36260476667579],[-106.7894016568773,59.36289390231079],[-106.82776884640336,59.3556086706256],[-106.87398874940625,59.34150636359318],[-106.88350253943632,59.34486085485053],[-106.92490134822579,59.33112657393976],[-106.93331274843088,59.33556096408537],[-106.99463854648141,59.32786825249537],[-106.99697887482425,59.33757846294435],[-107.07860516938152,59.3282744556158],[-107.11560015243427,59.32018065666332],[-107.1402548426625,59.32324576258099],[-107.19964844007455,59.31878456536574],[-107.24208267161843,59.33289585575777],[-107.26295418914268,59.3358697316037],[-107.2642105576138,59.3653433478621]],[[-107.60535407175547,55.16729355416283],[-107.59624668392934,55.180746745068014],[-107.6146588585699,55.21197735141537],[-107.6133769821167,55.22468979521371],[-107.6358652588395,55.233199531583416],[-107.64412701559392,55.242285729415805],[-107.63543099168953,55.27103135246028],[-107.63559277616883,55.28507857058685],[-107.5580157944063,55.28564429302194],[-107.55785457924873,55.197261083436096],[-107.54022837109332,55.1971907689438],[-107.54287089628387,55.110846700179806],[-107.5280752279739,55.10926321187314],[-107.52702492317538,55.09723060594151],[-107.60545590573612,55.096429423752404],[-107.60557029096451,55.11093264349507],[-107.66237089824999,55.11443922798896],[-107.68292314433054,55.12686300936195],[-107.64721538445272,55.13950945257433],[-107.60535407175547,55.16729355416283]],[[-105.92590105675927,55.17591734525308],[-105.78106589904154,55.176444411086415],[-105.77880604498715,55.12658195487848],[-105.68069822055674,55.12773083409903],[-105.68183099641283,55.041450542026666],[-105.77403662723073,55.03869374676158],[-105.77601699730502,55.10648090610102],[-105.92503854438806,55.10719073416687],[-105.92590105675927,55.17591734525308]],[[-107.8355220584201,54.3821473523976],[-107.85402426039771,54.4042061080163],[-107.85667474522303,54.41569121325764],[-107.8236478914641,54.413618397019896],[-107.80345523388092,54.40005710055895],[-107.78143089125278,54.395310202542774],[-107.75492256799629,54.38356721051491],[-107.75461176597308,54.36713765510074],[-107.73078486402156,54.36196880154049],[-107.72304472119306,54.23992585383327],[-107.85269944608783,54.23980069210157],[-107.85361552164024,54.32967202715676],[-107.83547793225308,54.331277701591],[-107.83140358472949,54.35145771657826],[-107.84561235696677,54.36930005730216],[-107.8355220584201,54.3821473523976]],[[-103.15929996841996,58.12255948147794],[-103.12671083134238,58.14171816920356],[-103.09116655508852,58.17166191823164],[-103.09421394302404,58.18174581146126],[-103.12467742579342,58.19263808264743],[-103.1120763905888,58.229281451196805],[-103.09453745837119,58.245076755832976],[-103.0230992810028,58.26874294177338],[-102.99602344254143,58.28616292862918],[-102.8584295648955,58.20852183971418],[-102.93198094751173,58.17241666342205],[-102.9294612582562,58.164534055297196],[-102.95711882529541,58.14432506553459],[-102.99980405475235,58.128163949568616],[-103.0233115638833,58.112884145843815],[-103.05117395163873,58.11354586571865],[-103.05571332108062,58.101930051152564],[-103.08539055500262,58.0971306563094],[-103.09638738106841,58.090377904102276],[-103.14699518919747,58.091629367218154],[-103.16455312219541,58.112625451475964],[-103.15929996841996,58.12255948147794]],[[-105.79882449209222,59.26628324121189],[-105.78828146121225,59.311377500576874],[-105.71493542476395,59.30671586405088],[-105.72287713140312,59.26196843685567],[-105.71090812747772,59.260053412514985],[-105.47504431218748,59.25872816040131],[-105.47592754028949,59.24515431448015],[-105.37786103491788,59.24767798681203],[-105.37603475215671,59.236760382943835],[-105.4437170308682,59.21058097568874],[-105.48439392788032,59.18305467343558],[-105.5199435296338,59.1479626665233],[-105.5671983659464,59.1301419483785],[-105.64855956970017,59.12264295890912],[-105.70642277408959,59.09406748274942],[-105.80391796360469,59.24787597474177],[-105.82196394174578,59.25085756778558],[-105.85988392589614,59.24583156725593],[-105.86931944822514,59.263871462154725],[-105.8222682107978,59.25882143361673],[-105.79882449209222,59.26628324121189]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.85748789771841,\"lat\":57.02403556926074},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718090\"],\"csd_name_en\":[\"Division No. 18\",\"Unorganized\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Division No. 18, Unorganized\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-107.70924236578081,55.90146930590052],[-107.71875365477467,55.922439651416454],[-107.73681329224777,55.925400965641444],[-107.74577754922117,55.915288460732086],[-107.71693350922394,55.90137484675432],[-107.70924236578081,55.90146930590052]]],[[[-107.75730214264169,56.0008682734934],[-107.73642463995571,55.934131616968536],[-107.70869646678909,55.91909976999787],[-107.71547825668857,55.94094535297567],[-107.73010137263032,55.95731294732022],[-107.712198764965,55.96138884863633],[-107.71532372474915,56.00058401990607],[-107.75730214264169,56.0008682734934]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.73015177593777,\"lat\":55.95917263851446},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718814\"],\"csd_name_en\":[\"Wapachewunak 192D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Wapachewunak 192D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.43599540484757,49.46494158881648],[-111.43615569090325,49.47924116346145],[-111.46311281859656,49.4803521946905],[-111.46314295077586,49.471607221027],[-111.44071678144536,49.47241129504582],[-111.43599540484757,49.46494158881648]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.44924054901082,\"lat\":49.47547557735874},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4801\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4801009\"],\"csd_name_en\":[\"Foremost\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Foremost\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.21776395853225,49.611042510187914],[-112.30766790297073,49.61122010191468],[-112.30771697325078,49.56739502329048],[-112.55601708408525,49.56704870385853],[-112.55585856471153,49.523785822632895],[-112.5787654299112,49.523211844287566],[-112.57846966678886,49.538229602050095],[-112.7348777820699,49.537811492253965],[-112.73477881021535,49.552380597834045],[-112.77964019581067,49.55231308800365],[-112.78008101742272,49.523213398106805],[-112.76318009585178,49.523237693542235],[-112.76310800145085,49.44929962536252],[-112.75182819991605,49.43586399215281],[-112.75235611941748,49.33381130960502],[-112.69620605635677,49.33402894806217],[-112.69540589270133,49.1739516239873],[-112.40848223291917,49.173538204862446],[-112.41075318715718,48.99865423023817],[-111.97283123529786,48.998439842114244],[-111.9692738194893,49.00651991945826],[-111.953310238772,49.006546567048474],[-111.95337759998569,48.99840551625428],[-111.77887629523528,48.99759736064545],[-111.54607776518745,48.99673996327993],[-111.34095455849113,48.997152335800784],[-111.34188010308864,49.013835999693775],[-111.34162008993025,49.13588183649965],[-111.3789325606386,49.12084770794048],[-111.3893663479357,49.129305938927565],[-111.41017007770424,49.13503648069817],[-111.43069937940608,49.13275991854344],[-111.43104674974916,49.17217353836415],[-111.4409797795811,49.172043091338054],[-111.44076289625941,49.261080507427806],[-111.75451618876144,49.26104081476823],[-111.75453041011967,49.34845670018215],[-111.8890232930842,49.34989343123145],[-111.8890976054801,49.52364360249374],[-111.90151379213528,49.52364420435238],[-111.90162975324232,49.56726267699777],[-111.96893059647508,49.56747355800499],[-111.9688396362111,49.57459308563575],[-112.03694388540285,49.57576429640878],[-112.03697803620135,49.582108925881776],[-112.07173724272273,49.582381506998665],[-112.08198584507593,49.596641226756596],[-112.18449287639237,49.59650062385827],[-112.18480269380741,49.604929475485235],[-112.21781736611663,49.6049262299222],[-112.21776395853225,49.611042510187914]],[[-112.20902389901953,49.28932537185708],[-112.2027567929447,49.27577441271992],[-112.21396099616234,49.2757286984685],[-112.20902389901953,49.28932537185708]],[[-112.07623559874713,49.148254297765156],[-112.09354209755294,49.15269188742266],[-112.09738960416236,49.162826965100855],[-112.0763907715479,49.16273858082823],[-112.07623559874713,49.148254297765156]],[[-112.52969607543208,49.51196890137397],[-112.51668150091615,49.50853489679128],[-112.5166575892916,49.49410659000114],[-112.53910289792076,49.49411598610753],[-112.53908650975401,49.508562694698036],[-112.52969607543208,49.51196890137397]],[[-112.65991811492113,49.47561320845908],[-112.64698255351529,49.46543746670752],[-112.62868680899882,49.464963493072275],[-112.62865520296924,49.448991844666686],[-112.67343512044063,49.45041625795257],[-112.67509894610143,49.471784285206176],[-112.65991811492113,49.47561320845908]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.11336432343697,\"lat\":49.26982466855852},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4802\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4802001\"],\"csd_name_en\":[\"Warner County No. 5\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Warner County No. 5\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.88756510114419,49.626878341961344],[-112.87399761338354,49.636383648781525],[-112.86106560325224,49.63481104522282],[-112.84694068921513,49.64763296197926],[-112.82638890094321,49.65099795075883],[-112.7804304056012,49.64731456161584],[-112.75672230158239,49.639835210336955],[-112.75676341196909,49.683435887552],[-112.77818382796278,49.683694631222956],[-112.7782171987773,49.756336906004044],[-112.84746469987871,49.75572920030282],[-112.85436042088024,49.73030385565381],[-112.86478020668424,49.71865364798586],[-112.88096597033565,49.7139218040394],[-112.91456259249266,49.722225355469334],[-112.92570489785786,49.71321577474076],[-112.92529119731633,49.65468414905942],[-112.93125963695226,49.65457933060728],[-112.93235692472133,49.64345414042974],[-112.91472859207653,49.6237983323656],[-112.91458156672878,49.625954822091586],[-112.90714723042497,49.62559002973538],[-112.90371185239304,49.6189720536277],[-112.88756510114419,49.626878341961344]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.844621565128,\"lat\":49.68785867902328},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4802\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4802012\"],\"csd_name_en\":[\"Lethbridge\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Lethbridge\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.77970820019523,49.880495550926916],[-112.79023451967939,49.86575338673712],[-112.77261533085722,49.865696095838764],[-112.77970820019523,49.880495550926916]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.78085268357728,\"lat\":49.870648344500935},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4802\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4802018\"],\"csd_name_en\":[\"Picture Butte\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Picture Butte\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.52624665420737,49.36502255081303],[-113.50775949993388,49.361761190985185],[-113.50781998829804,49.370784701955905],[-113.52624665420737,49.36502255081303]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.51394204747977,\"lat\":49.36585614791804},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4803\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4803006\"],\"csd_name_en\":[\"Glenwood\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Glenwood\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-115.59738131104658,52.843434893115464],[-115.80487587895891,52.84391717865888],[-116.13398254462388,52.844311285024204],[-116.45958911130576,52.84266982789162],[-116.61268368945909,52.84237365044331],[-116.61243493582033,52.75568820803321],[-116.8295312773444,52.756873974106625],[-116.81451652467588,52.721629003912774],[-116.81387760692766,52.69563011364432],[-116.79893789115354,52.68576585747375],[-116.79717587380131,52.67195746210825],[-116.81878447088341,52.66087095245131],[-116.80951614893719,52.64742686169952],[-116.82275920965924,52.63647172733189],[-116.8172416096084,52.624934904770925],[-116.8276375458002,52.61679982346744],[-116.84593987689748,52.61518522241722],[-116.86317070822867,52.58184491741593],[-116.88800740229443,52.56766936096336],[-116.88945555327648,52.551106505520664],[-116.90271826742492,52.53637791094175],[-116.87211880377698,52.50976535174732],[-116.86941820239349,52.48739347702539],[-116.8927854732805,52.47897811283868],[-116.90448961493999,52.45702180553003],[-116.91943609134701,52.452462416599865],[-116.9846522029533,52.39419411518461],[-116.99200332409342,52.37804015404906],[-117.00906355152073,52.367065250899024],[-117.00957145955384,52.3425061682807],[-117.03021422348473,52.30225490743456],[-117.06494909631826,52.270947986343636],[-117.09115621738346,52.25923410901104],[-117.08422473361334,52.24907464285066],[-117.03377411551715,52.24246380658995],[-117.02428165016805,52.21176128459435],[-117.00256020127544,52.2081957084976],[-116.99966112523379,52.19461150858521],[-116.96297991480192,52.176485634780015],[-116.9764466239792,52.169696307371034],[-116.971299662817,52.14946813566926],[-116.91810172045281,52.13089946982384],[-116.90432897091993,52.13300159403106],[-116.89127129100403,52.120479938205406],[-116.86830813028108,52.11144835764885],[-116.82323925897386,52.10367078988339],[-116.8182531493347,52.09030191550602],[-116.79829168687546,52.07528685754799],[-116.77229412062164,52.07435794500326],[-116.76872034401323,52.05892454676657],[-116.7565143668908,52.05402593748309],[-116.71989917171797,52.0621636802872],[-116.70563788599729,52.05690702212662],[-116.70552514422273,52.03851715546809],[-116.67060998514214,52.02404365219474],[-116.67052646652026,52.006485494479115],[-116.6596334454646,51.990629170918986],[-116.64484716452661,51.98280000701264],[-116.61444576674262,51.98292246999432],[-116.60425538981364,51.96888930150333],[-116.6146469649092,51.948188834036486],[-116.61404164703222,51.9270681114015],[-116.60130256154235,51.921054660285336],[-116.59547009027065,51.90879603950816],[-116.60865517026919,51.900459265191245],[-116.60604123764185,51.88259916781542],[-116.59224824521642,51.87435957638317],[-116.57974754691095,51.87802705359327],[-116.54696383101025,51.8665628711528],[-116.55235875279614,51.856210632878415],[-116.53679406979897,51.8448403986245],[-116.5289896559345,51.8300513612566],[-116.5090355095472,51.81463592999351],[-116.49508769939857,51.81326138876941],[-116.46787761051536,51.82200421310563],[-116.46400689190587,51.84002752589289],[-116.44595908317687,51.832188103457455],[-116.41019298387465,51.834253801963996],[-116.35115227820378,51.80342697133966],[-116.34913719956697,51.79645476203469],[-116.32467282245375,51.78683046554094],[-116.30086151536152,51.7962474701414],[-116.28766069826197,51.80980032533204],[-116.29814991814838,51.81918571510333],[-116.27734148694057,51.82545504665899],[-116.24974732512068,51.823641761787904],[-116.24155874920365,51.83675500865479],[-116.21774626967434,51.832574459486345],[-116.19675429549639,51.833748328601594],[-116.1804443539559,51.84169592341052],[-116.17746827844492,51.854677304508776],[-116.16117353683393,51.8674995027991],[-116.14208667330062,51.873537904755246],[-116.13811172871478,51.886175323949885],[-116.10799917739185,51.89282293982131],[-116.1035381494227,51.90810674362774],[-116.0797981502675,51.913162187009256],[-116.05179837462994,51.894562738587496],[-116.02168958348418,51.89429970972784],[-116.01103803892117,51.87070789351943],[-115.9857187710204,51.84456633820567],[-115.96559206683588,51.852383585320936],[-115.93768684870773,51.855045212163795],[-115.94764705451084,51.80684392156885],[-115.92110999593805,51.79447400653262],[-115.93739673375099,51.773303819850355],[-115.92257659170873,51.75405248434206],[-115.89196889973046,51.74962949378207],[-115.87765436102339,51.74311966212988],[-115.83697465891886,51.761533427800885],[-115.81505141950699,51.759212510796196],[-115.80334879166948,51.74134518941727],[-115.76854312757328,51.7381761545176],[-115.74328032340581,51.71082727090279],[-115.66873435404783,51.694344268104764],[-115.65615440361958,51.68230470972184],[-115.6308436072003,51.67012768105443],[-115.5740978178569,51.61910749238738],[-115.28972381460486,51.619684004749125],[-115.06566227131638,51.619941862133714],[-114.99317848166741,51.62084834392427],[-114.99438284523747,51.65350721049899],[-114.9730631821038,51.65633523088489],[-114.9696849774478,51.680291903046204],[-114.96073157637015,51.69100323520229],[-114.933911492795,51.69082887828224],[-114.90496958409899,51.682001325512736],[-114.86897590701705,51.692017343851354],[-114.84295763630327,51.707381233069036],[-114.8516250790883,51.706699491839736],[-114.85157725486138,51.76428490644932],[-114.92302691050871,51.76441962219866],[-114.92278879036782,51.795002504762046],[-114.94641278275125,51.794949695114425],[-114.94642360757909,51.80939209251547],[-114.96967337131576,51.80901670256556],[-114.96965831269249,51.867564979195976],[-114.99365410460797,51.86799256724554],[-114.99439924352842,51.88917764124353],[-114.8687723493911,51.88928675661491],[-114.86385693275719,51.89637911894088],[-114.79314552042912,51.89672152333169],[-114.7929308185619,51.90423086328825],[-114.75797855116062,51.926146421528344],[-114.67339629451199,51.925306748485944],[-114.67242814710553,51.91870471578171],[-114.56796764916372,51.918398579986],[-114.56779466918987,51.90359216163195],[-114.54526977045381,51.912417285546525],[-114.51815526404087,51.91565217034316],[-114.50494171257557,51.9243838140969],[-114.49756188707993,51.93974221674399],[-114.50156794286781,51.969827902629845],[-114.50152016954912,52.072158894695946],[-114.57267613188931,52.071943820779104],[-114.57187372307602,52.129967969626016],[-114.42994093702698,52.1297447603034],[-114.4300448150631,52.27525210338879],[-114.44151464018088,52.275601542092524],[-114.44127002871579,52.31910302495536],[-114.45754007813056,52.31912419922312],[-114.45736431376822,52.37744930076822],[-114.48149308570207,52.37756767399477],[-114.48142835628373,52.399724387054796],[-114.4934271482221,52.399879525154226],[-114.49441711703616,52.43484045006549],[-114.52958324958453,52.44932833346622],[-114.52939031062914,52.508662498574765],[-114.46523309471839,52.509065838304906],[-114.4662462629769,52.56660403071233],[-114.50556658526675,52.566908195954305],[-114.5055800956739,52.5814092896813],[-114.57752178743505,52.58126440365984],[-114.57773024675312,52.595346719365345],[-114.64948238150805,52.59515030861008],[-114.64986138564721,52.668554977734246],[-114.65507252604142,52.66855959145706],[-114.6559606352605,52.71299753640702],[-114.58305211476146,52.712653661055725],[-114.58360168898876,52.785730306994765],[-114.5824590563752,52.843915811040425],[-114.7266182873163,52.84373509737404],[-114.9652556573112,52.844066247898056],[-115.01591113707293,52.84354966851175],[-115.0163611705265,53.018347974010055],[-115.02500981502867,53.01831329723246],[-115.02373478771091,53.06231259786076],[-115.04365770308462,53.05910515915018],[-115.07909350878704,53.06883536257863],[-115.08700849699082,53.055469068407206],[-115.10764141948668,53.05306326363941],[-115.14042880803228,53.05709336238674],[-115.15909160660998,53.05196887545586],[-115.19463519058668,53.05501626190327],[-115.20988071530542,53.05060576410558],[-115.22606909612263,53.03318165936905],[-115.20434860827673,53.00636975169167],[-115.21385579582565,52.994941976584464],[-115.2127841035465,52.98294736288482],[-115.19811962159845,52.96541496399616],[-115.2090768060414,52.95415976438679],[-115.20710600289557,52.938002251586894],[-115.22092648866557,52.928265769123605],[-115.22630472476665,52.913379457293445],[-115.20004750070271,52.8990434573061],[-115.17807038895913,52.895587470498675],[-115.17950911592007,52.880138247717596],[-115.14750938565636,52.857279761214905],[-115.14520648672406,52.84315102966678],[-115.28250212700041,52.842952712196244],[-115.28192810512544,52.71200189776711],[-115.25970099260105,52.7125817813385],[-115.25901909112156,52.69740518006396],[-115.23392742548785,52.69710967982063],[-115.23311739550148,52.68266729148655],[-115.20977275566146,52.682121059662265],[-115.20969870407191,52.66803329987471],[-115.28251877725977,52.66922033775075],[-115.32021391160498,52.66834463852613],[-115.31982972013267,52.65394096795049],[-115.34114676130118,52.6535246640267],[-115.34480440607132,52.624692747344334],[-115.39620015375453,52.62480653493751],[-115.39294214393898,52.653527500405744],[-115.36907286205901,52.65448469568051],[-115.38023969938929,52.668652045229564],[-115.3784683074333,52.712495404157025],[-115.35424531156745,52.71181905126902],[-115.35399087765175,52.72599342872798],[-115.35666045385487,52.81347280195846],[-115.44992603760174,52.81382203137434],[-115.4511316862433,52.79863267153929],[-115.47519887278777,52.79950566356013],[-115.47487100653376,52.82764811157848],[-115.50143990096632,52.82823025449277],[-115.50218919794298,52.8433347085138],[-115.59738131104658,52.843434893115464]],[[-114.89839241616882,51.98902370765573],[-114.88668639491173,51.991415289824666],[-114.88560261260378,51.98982875342977],[-114.89805584610603,51.98706057899813],[-114.89839241616882,51.98902370765573]],[[-114.74701998019736,52.09750329388478],[-114.72375683632283,52.100456721755215],[-114.7303898036713,52.08956142354513],[-114.74701998019736,52.09750329388478]],[[-114.94648401972086,52.39402780981515],[-114.93599757715675,52.405249897494755],[-114.91304729926784,52.38514425945883],[-114.88932101235973,52.38489520395575],[-114.8747199426155,52.37824286088542],[-114.88824842817466,52.3630091757375],[-114.94887733591294,52.36306356179078],[-114.93643699101543,52.38278336714139],[-114.94648401972086,52.39402780981515]],[[-116.21209901934945,52.38678876189237],[-116.24508151397146,52.37418925075298],[-116.2464350123867,52.3496181704037],[-116.27560203172176,52.341354664989446],[-116.27842930423381,52.35356681207309],[-116.29289461583507,52.368401552022206],[-116.280372414537,52.387176293659856],[-116.25383449264811,52.40779636442147],[-116.20515011777363,52.406747775045915],[-116.21209901934945,52.38678876189237]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-115.6600282560781,\"lat\":52.30728427629974},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4809\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4809002\"],\"csd_name_en\":[\"Clearwater County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Clearwater County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.0520089919276,53.04688123453122],[-114.03826347073095,53.04821937330079],[-114.03858423316134,53.054398558076755],[-114.07259600806132,53.065256215620394],[-114.07620511969147,53.06486361725961],[-114.0520089919276,53.04688123453122]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.05431811345649,\"lat\":53.05511062904554},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811023\"],\"csd_name_en\":[\"Golden Days\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Golden Days\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.68892488840731,53.45402690591724],[-113.68893038662152,53.512238590557914],[-113.7134260022138,53.51221130714912],[-113.81169677968845,53.512082401189375],[-113.81164958985278,53.453965890072034],[-113.68892488840731,53.45402690591724]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.75028327178349,\"lat\":53.48308108068585},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811804\"],\"csd_name_en\":[\"Enoch Cree Nation\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Enoch Cree Nation\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.05139159702155,53.853985228484724],[-114.14978065795083,53.8538676828893],[-114.15069129073129,53.89030829274042],[-114.28718128090993,53.890285303926234],[-114.28686162857045,53.919113024442915],[-114.29927345212184,53.93391441691959],[-114.34969703902837,53.933993942200985],[-114.34930257038592,53.97774106824189],[-114.42855774179137,53.97748747097497],[-114.43063697753756,53.964303661113924],[-114.44930968617564,53.964871110649845],[-114.48835291799561,53.94930941995691],[-114.51106594411765,53.95410672935463],[-114.54042439471343,53.94030085471609],[-114.57107151122726,53.942867106703005],[-114.60421150020602,53.93287660518277],[-114.63200397888593,53.940907613219345],[-114.7065023440173,53.91889455886589],[-114.72842045953634,53.92548550430339],[-114.73150589210715,53.933404724933354],[-114.73347391221937,53.97703670041031],[-114.79546620897368,53.97551079789342],[-114.79346035400897,54.03521801289336],[-114.82052820505709,54.035247608979695],[-114.82000704539627,54.065039526459316],[-114.82730284367739,54.065213876138934],[-114.82684326194767,54.12296858526836],[-115.00226645062567,54.122653621865354],[-115.00220720405375,54.15214766156047],[-115.20182104056141,54.15212254549772],[-115.2003658158548,54.06472115922022],[-115.3371618984981,54.06393645824123],[-115.33927178502111,54.021177191199634],[-115.33933389144778,53.81436369621216],[-115.33733919754376,53.80278240812154],[-115.19183231741057,53.80246759502731],[-115.19183251958285,53.787712924853736],[-115.0679785123864,53.78601067659708],[-115.04317253800893,53.78887544128942],[-114.97506031352682,53.788161623954124],[-114.96965735601641,53.77825720192801],[-114.9443124423863,53.7612048588123],[-114.94359686850403,53.741104659915436],[-114.92371027727737,53.74151416412631],[-114.90898960094545,53.72855771178992],[-114.91202640386831,53.71515295516412],[-114.88682964779625,53.71446727741649],[-114.81253979113598,53.716389763603004],[-114.81279849102464,53.60600936111747],[-114.80190018816657,53.59923475980217],[-114.77078251480162,53.60999667142715],[-114.77599099314307,53.621604756371674],[-114.7580397126037,53.62818545899334],[-114.68795974333342,53.62940684473475],[-114.69000512017543,53.62511396594179],[-114.67224449337056,53.63545365708809],[-114.66189140891007,53.63571405266488],[-114.65278100438404,53.62840670143761],[-114.67721278836903,53.62838151384001],[-114.68962041851127,53.62302960413252],[-114.68968471455689,53.61382438562297],[-114.569403273702,53.613467329522464],[-114.24731643498345,53.613892560012],[-114.24764536909146,53.59926716527788],[-114.12308159060164,53.59929217482701],[-114.12447362133268,53.656951304024275],[-114.02647010920016,53.65756580319078],[-114.02650857941782,53.77532545576095],[-114.02954386663164,53.79598717525466],[-114.05299915711963,53.79740073500017],[-114.04167942310129,53.784645667306094],[-114.04302481712747,53.77419646511338],[-114.05158881606728,53.773688241187216],[-114.05146058004692,53.791386091420506],[-114.06071651459935,53.795090789342595],[-114.0584149085507,53.80292418709337],[-114.03608239371795,53.803906651178586],[-114.02956556157858,53.81739273468166],[-114.02926681985461,53.84749039792342],[-114.05139159702155,53.853985228484724]],[[-114.3392251877056,53.70786535310868],[-114.34321200911484,53.70845277255436],[-114.3407956984948,53.70985917601943],[-114.3392251877056,53.70786535310868]],[[-114.38561735792439,53.73587066083163],[-114.37320939075634,53.73437490698296],[-114.37323813559857,53.73122607891935],[-114.38611317454972,53.733705721784084],[-114.38561735792439,53.73587066083163]],[[-114.36988249213572,53.95724339709708],[-114.36436177760972,53.953526164149885],[-114.37426783979504,53.953631919674194],[-114.36988249213572,53.95724339709708]],[[-114.21389962263704,53.87918710403358],[-114.22515107790575,53.88047289816781],[-114.22490810053772,53.884793443682284],[-114.21389962263704,53.87918710403358]],[[-114.65275220858872,53.65555763637762],[-114.65399119419494,53.65041326621113],[-114.66373105739818,53.65217168259602],[-114.65275220858872,53.65555763637762]],[[-114.40432009405599,53.73119577506253],[-114.41538470468134,53.73176075313318],[-114.41438156552842,53.737741920298824],[-114.40045727495617,53.73727228153748],[-114.40432009405599,53.73119577506253]],[[-114.50469131381759,53.70609855272808],[-114.49277731624586,53.700921606395006],[-114.50773880920362,53.69785585189703],[-114.50469131381759,53.70609855272808]],[[-114.17342771564566,53.70989643521009],[-114.17347981826546,53.70114409861881],[-114.1982556697905,53.700635512013434],[-114.19811441748111,53.71562229776541],[-114.17342771564566,53.70989643521009]],[[-114.35035158292774,53.68239660470649],[-114.34731070595542,53.697549465675344],[-114.33841430051653,53.69195842355959],[-114.34486149274576,53.68254320128011],[-114.33260862490032,53.67238470163365],[-114.37016628528171,53.66823190391392],[-114.37299684031092,53.66614990754898],[-114.38127554532875,53.66797493749576],[-114.37008941246707,53.669549450619925],[-114.35035158292774,53.68239660470649]],[[-115.15050912540552,53.96209360265932],[-115.1292420931251,53.95926468002187],[-115.11737650351915,53.94790409871372],[-115.1175209505,53.935687337122744],[-115.14225142906047,53.93670784996135],[-115.15050912540552,53.96209360265932]],[[-114.54828723244243,53.78875952369507],[-114.54856573009542,53.78324684974085],[-114.44371708363474,53.78306319996487],[-114.44366388169378,53.74032300338233],[-114.45220098102065,53.741491161522994],[-114.48084518497168,53.72913685623385],[-114.53799890907945,53.72225067113904],[-114.54517220653688,53.69175296104428],[-114.56120939914567,53.68774465262604],[-114.57997136565393,53.69473619991645],[-114.58365748868144,53.7834893048105],[-114.57200918485863,53.78902753949095],[-114.54828723244243,53.78875952369507]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.71287294722116,\"lat\":53.85024382734336},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4813\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4813001\"],\"csd_name_en\":[\"Lac Ste. Anne County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Lac Ste. Anne County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-115.22173875165605,51.023119464056705],[-115.24426217122762,50.99984774904584],[-115.25731892753478,51.00863033462545],[-115.30525326768449,51.00861975304844],[-115.30483161986798,51.02321068250537],[-115.32846421771299,51.023115034409564],[-115.32804035404048,51.037566531565155],[-115.35193973191299,51.03764035590399],[-115.35172331949124,51.052971348488924],[-115.37495180534543,51.05315404185743],[-115.3750338198903,51.06779722635524],[-115.40885805631427,51.06756231182067],[-115.40964927235927,51.082589114430355],[-115.37897090850842,51.082637407290925],[-115.38400330183059,51.101824851442785],[-115.43176820542733,51.13284124957626],[-115.4691550950972,51.124509104714235],[-115.4300128437885,51.08367024513516],[-115.45772095154683,51.03908905801588],[-115.44718269046078,51.01679969532576],[-115.43333180039005,51.00604215355964],[-115.43514768396074,50.99646252848296],[-115.41657386062045,50.97746742374649],[-115.39937866782249,50.977541510959924],[-115.38307316787251,50.9528046271953],[-115.37069731962072,50.943841171642454],[-115.3633194883587,50.929023237589554],[-115.36963566883432,50.89916159215481],[-115.39415768380101,50.90806969301578],[-115.39979113084296,50.88536510257852],[-115.433256173922,50.846362216157786],[-115.38686478877828,50.80836474656785],[-115.38505130428094,50.79748935195372],[-115.36716273187311,50.78496154495258],[-115.38383517813027,50.7723770373174],[-115.36829589147472,50.74571814188002],[-115.34739904706976,50.7464885602151],[-115.33595071889658,50.72344082803378],[-115.3151244963227,50.72582574662967],[-115.314354448569,50.71540882007971],[-115.30161449445328,50.700563491874945],[-115.29837565653517,50.68333123204102],[-115.2822540813287,50.663192893178085],[-115.28545559391688,50.638849215666376],[-115.31194342546969,50.63823694768561],[-115.2980158456409,50.624753084537176],[-115.29362560549144,50.61110757932827],[-115.27191762671664,50.59788698542758],[-115.2396506122672,50.589196791294434],[-115.23018058760609,50.57750726614023],[-115.24190913390433,50.57121854936877],[-115.22982360553122,50.55917129810778],[-115.23098413968027,50.544878636022844],[-115.20594986274489,50.528255618463646],[-115.1837428784519,50.54403207131199],[-115.19088996216836,50.55405180751668],[-115.17355277079285,50.567588659327896],[-115.13613999276446,50.574378382512094],[-115.11752465045205,50.569751299071676],[-115.08527384255353,50.58974905852454],[-115.07369248650215,50.58844190849464],[-115.04953647793731,50.575156364077884],[-115.02053142205445,50.584688412465276],[-115.01369673096396,50.57085909943497],[-114.97745672983869,50.52958848575233],[-114.93231547941419,50.47352159394801],[-114.91216702399157,50.451372321867915],[-114.8730115189773,50.43019068958922],[-114.86361254153444,50.41733959442282],[-114.86538756488015,50.39887375859734],[-114.85689168089063,50.39252401330108],[-114.82481884610884,50.39332468138723],[-114.81389205223165,50.38193076307649],[-114.81916447899256,50.36905778190533],[-114.76621722955242,50.350742251210306],[-114.79224578811028,50.33581349510914],[-114.7976059645555,50.326122019450956],[-114.78042338534802,50.315271897944974],[-114.78156895997361,50.30160057774354],[-114.75512376760065,50.29923869823207],[-114.75166705991876,50.27528703311904],[-114.7641034795898,50.26520663039206],[-114.77022537721736,50.249994997999416],[-114.76292841763829,50.234667108997],[-114.74530015557592,50.222250017450406],[-114.73887392378165,50.20266766405851],[-114.72467038891772,50.190177189509356],[-114.73262697420732,50.16930061729609],[-114.72631622852407,50.160738465424394],[-114.69199336893888,50.174967876430166],[-114.64384669269454,50.18428196061715],[-114.60476167717054,50.18469532807255],[-114.60443299024591,50.16699827494262],[-114.59485410398706,50.15803798681067],[-114.55700329935927,50.166473161131684],[-114.56809601788333,50.18890426400836],[-114.5524157681509,50.19342302975925],[-114.50887659938827,50.18351079408068],[-114.4767199194958,50.18361690357248],[-114.46180189328855,50.17900139626696],[-114.44211508016838,50.186597401184194],[-114.4461219078209,50.20170620749358],[-114.43467441310479,50.21204889139333],[-114.41262592118122,50.21574760022935],[-114.40022348099441,50.22841749682482],[-114.35201470359274,50.241364286507],[-114.32127835994035,50.2658396565676],[-114.32174290925217,50.29508722902915],[-114.34510205811895,50.295174828327994],[-114.34535703929089,50.309777280932195],[-114.39155315537894,50.30989947752886],[-114.39142621160745,50.32434456849297],[-114.46036312742763,50.32461107662726],[-114.4601710453882,50.3681507848589],[-114.5060274791985,50.36821164423856],[-114.50588014576496,50.39710072826226],[-114.51660158346805,50.397001992115065],[-114.52891839642737,50.41035996881725],[-114.50611886168797,50.41049602322155],[-114.50589360251905,50.45519963392477],[-114.52893985961825,50.45532361147582],[-114.52938097624782,50.5454943229584],[-114.48330214870559,50.54387455272133],[-114.48368045414911,50.57236938415892],[-114.44068794676195,50.57194780266076],[-114.4405970417507,50.60116122991489],[-114.4637964746189,50.601305108210404],[-114.46373169325192,50.703050431721564],[-114.53302758332877,50.703273769716226],[-114.53403099417598,50.76523007988028],[-114.53289044097123,50.819259621828074],[-114.5562243822154,50.819258660645914],[-114.55601122822831,50.892770245479284],[-114.62503140312258,50.892296586758896],[-114.62412424774105,50.92127044657284],[-114.65285489077237,50.92123179113995],[-114.6522455779599,50.93605307508473],[-114.67626651128475,50.935973804845055],[-114.67603981567193,50.96514035630564],[-114.69944437608136,50.96504544985424],[-114.69866959883831,51.008446558436866],[-114.72129942414573,51.00853552999218],[-114.72169296831179,51.057317577620914],[-114.72946340748801,51.049085292224724],[-114.76207576507174,51.059824628269965],[-114.77988816145977,51.05284493039263],[-114.83415684729371,51.06050866223172],[-114.84028413928024,51.076375302038336],[-114.86962835387791,51.07885083214488],[-114.92538784697332,51.07772268004866],[-114.9429475161585,51.064590696534395],[-114.96075736055373,51.05926181852263],[-114.97721659285227,51.06833795460529],[-115.01180348354845,51.05816051109632],[-115.02854657800644,51.07074142699108],[-115.02509404883065,51.07315835794857],[-115.02274544910657,51.07622446613724],[-115.04723977600162,51.08456850509471],[-115.06134180414966,51.093061578164736],[-115.08784901263091,51.092032470004526],[-115.11490330113908,51.076331060859935],[-115.1149328106294,51.037876852197684],[-115.21076422996079,51.03837290432448],[-115.22173875165605,51.023119464056705]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.87636188798848,\"lat\":50.689874187565444},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4815\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4815013\"],\"csd_name_en\":[\"Kananaskis\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Improvement district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Kananaskis\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.84492059424124,51.28793525000142],[-114.8452931462419,51.279997984307485],[-114.84003930030612,51.280628249337035],[-114.83941262044586,51.28416396831517],[-114.84492059424124,51.28793525000142]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.8427414812197,\"lat\":51.2833328725284},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4815\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4815030\"],\"csd_name_en\":[\"Waiparous\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Waiparous\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.18412591295368,58.70568500559441],[-111.18058457414976,58.70670059500991],[-111.18062560519077,58.71341513997933],[-111.19134231831761,58.71350339944386],[-111.19140459426083,58.71041458192152],[-111.18423445399686,58.710448524710955],[-111.18412591295368,58.70568500559441]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.18488987623536,\"lat\":58.71078575563211},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4816\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4816852\"],\"csd_name_en\":[\"Dog Head 218\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Dog Head 218\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.61207727558784,56.930767592490184],[-117.63855404203278,56.937256829213354],[-117.63740673239137,56.91519464874677],[-117.61163931038097,56.91538499295299],[-117.61207727558784,56.930767592490184]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.62569104493798,\"lat\":56.92476953446335},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817078\"],\"csd_name_en\":[\"Manning\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Manning\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.89573522191128,55.938952140024696],[-113.89470833741733,55.92678697613226],[-113.94708188246221,55.92533666006064],[-113.94724588257152,55.883015058876964],[-113.92245937229636,55.88317617591611],[-113.92106500814752,55.86748728177486],[-113.81599539555506,55.86754365715731],[-113.81502786823316,55.888479760394965],[-113.82792747493278,55.9033518567391],[-113.8259156882354,55.923023748017485],[-113.8461367242776,55.92315997541701],[-113.84158317964459,55.94675835323595],[-113.84479498727661,55.96359137016605],[-113.87013849887262,55.955293655037416],[-113.89329650585344,55.95615522875992],[-113.89573522191128,55.938952140024696]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.87906056798981,\"lat\":55.905693674527214},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817823\"],\"csd_name_en\":[\"Wabasca 166D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Wabasca 166D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.46352668389918,55.141826401513434],[-117.48465564249078,55.14009888048785],[-117.488597709224,55.130940076851786],[-117.46852121031405,55.112632101410746],[-117.42946506269139,55.112552151598095],[-117.43035887152111,55.1261972774339],[-117.44444888401324,55.1266814312999],[-117.4438249228918,55.14196545597939],[-117.46352668389918,55.141826401513434]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.45897975742795,\"lat\":55.12685064539686},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4818\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4818818\"],\"csd_name_en\":[\"Sturgeon Lake 154A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Sturgeon Lake 154A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.1410843451531,55.17060445296123],[-119.1538973098187,55.17059528458209],[-119.15424357411474,55.14859566668922],[-119.1282661084018,55.14157428354487],[-119.12778182774014,55.17061185095907],[-119.1410843451531,55.17060445296123]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.14044828737183,\"lat\":55.15776591439212},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4819\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4819011\"],\"csd_name_en\":[\"Wembley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Wembley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-116.88875127267607,55.7010567157859],[-116.88450147835256,55.72004904175692],[-116.92449234961846,55.701176291094626],[-116.88875127267607,55.7010567157859]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-116.89924836688235,\"lat\":55.70742734954582},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4819\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4819042\"],\"csd_name_en\":[\"McLennan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"McLennan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.46357228748316,49.76290579636515],[-117.46452197391102,49.77220856756741],[-117.47482891582952,49.76839430323266],[-117.46357228748316,49.76290579636515]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.46764105907455,\"lat\":49.76783622238841},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5903\"],\"cd_name_en\":[\"Central Kootenay\"],\"csd_code\":[\"5903019\"],\"csd_name_en\":[\"Slocan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Central Kootenay\",\"csd_name_fr\":\"Slocan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.42488833987753,49.56096105707849],[-121.42147283175291,49.56142677508444],[-121.42128408375804,49.563206560467016],[-121.42618980051505,49.56284190922195],[-121.42488833987753,49.56096105707849]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.42352047046873,\"lat\":49.5621564221112},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909818\"],\"csd_name_en\":[\"Yale Town 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Yale Town 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.43278591604229,49.83081502671446],[-121.43069578939156,49.82268823930717],[-121.42674617606579,49.82259470435211],[-121.4267886376521,49.83430440531709],[-121.43154139717035,49.83426159808182],[-121.43278591604229,49.83081502671446]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.42934393436414,\"lat\":49.828731907197195},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909836\"],\"csd_name_en\":[\"Boston Bar 1A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Boston Bar 1A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.53366263160102,50.04887525959815],[-122.53779913645847,50.05454924857768],[-122.54221234771134,50.0490574454763],[-122.53366263160102,50.04887525959815]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.5378913719236,\"lat\":50.05082731788404},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909875\"],\"csd_name_en\":[\"Q'alatk\\u00fa7em\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Q'alatk\\u00fa7em\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.40996471191187,49.35295039719845],[-122.4541379309332,49.35359430730385],[-122.57539780212866,49.352431714833266],[-122.59303157737828,49.33857826894557],[-122.60054689435292,49.324753598524644],[-122.6005900618284,49.25711101910433],[-122.62226068675614,49.249839117274014],[-122.64474272440474,49.24937835377441],[-122.664401899628,49.23198266271097],[-122.67175284926643,49.205785855936966],[-122.66946905993818,49.19974165343588],[-122.66792100493227,49.19622640516579],[-122.62380029313196,49.209802214731795],[-122.6023904877368,49.20890919798299],[-122.57502711305364,49.184107993832576],[-122.55320991297761,49.177877108174144],[-122.54119100165575,49.17104050022536],[-122.51724278406628,49.16722400526996],[-122.46147846461116,49.17132706297204],[-122.42580430075782,49.168830604910696],[-122.42458299238417,49.18450265287301],[-122.42378878619432,49.19110275930646],[-122.4242856320035,49.26407878609659],[-122.40914346739002,49.26426971657111],[-122.40996471191187,49.35295039719845]],[[-122.46547601479712,49.17668749736611],[-122.45522962405205,49.17778249739678],[-122.45506754744927,49.17358030576376],[-122.46625920714233,49.172766431939365],[-122.46547601479712,49.17668749736611]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.51618790566978,\"lat\":49.261838942046374},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5915\"],\"cd_name_en\":[\"Greater Vancouver\"],\"csd_code\":[\"5915075\"],\"csd_name_en\":[\"Maple Ridge\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Greater Vancouver\",\"csd_name_fr\":\"Maple Ridge\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.63371501920513,48.72190896843192],[-123.63664021751387,48.71913826300778],[-123.89300489141047,48.71985271767503],[-123.8896960057758,48.68911442321991],[-123.898662206299,48.688980078659675],[-123.89827857394103,48.667498943078925],[-123.87629404822754,48.667602809213314],[-123.87606533365859,48.639016789816154],[-123.85320326028277,48.63956733649904],[-123.85360056766139,48.603294384946174],[-123.83105870778597,48.60572320816315],[-123.82079635257338,48.58840091236692],[-123.82103809604432,48.57498020968992],[-123.77948947865157,48.57464299364115],[-123.79028655014964,48.59364964546957],[-123.77132082234895,48.59379756408496],[-123.76573577016815,48.6046065137869],[-123.74444040163989,48.60555938519867],[-123.74566667626831,48.622889683366026],[-123.72261050732139,48.62279550732199],[-123.71459309560444,48.61310551804164],[-123.69289178981678,48.61645395965707],[-123.68820876529901,48.602820961042916],[-123.64757391132602,48.59665326679949],[-123.64568074056436,48.56196971640757],[-123.6346190479667,48.56180109534333],[-123.62747427723883,48.532370504896114],[-123.61683217910503,48.529124972516215],[-123.60866236654758,48.52170682788047],[-123.58643615584204,48.52121152825676],[-123.57926329854592,48.53567663896666],[-123.58112481741452,48.5734753321611],[-123.56393530568062,48.57487713269082],[-123.56444397172122,48.6001520676968],[-123.54848297173612,48.611035198955875],[-123.5593289778271,48.618886847975716],[-123.58921461443941,48.61887900317683],[-123.58890592562267,48.672482609926654],[-123.57499670044588,48.679640791068664],[-123.61631088379498,48.67895592081646],[-123.61621751380875,48.712234356199744],[-123.61615005464628,48.71345951333783],[-123.61619951268656,48.71835680335558],[-123.63371501920513,48.72190896843192]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.72027969584559,\"lat\":48.647738389165376},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5919\"],\"cd_name_en\":[\"Cowichan Valley\"],\"csd_code\":[\"5919046\"],\"csd_name_en\":[\"Cowichan Valley B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cowichan Valley\",\"csd_name_fr\":\"Cowichan Valley B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.82692797220713,49.26949389167436],[-124.82845012126927,49.26120130286202],[-124.82261385029587,49.260175391790966],[-124.8256012069239,49.26946492123957],[-124.82692797220713,49.26949389167436]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.82581045725728,\"lat\":49.264165530923854},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5923\"],\"cd_name_en\":[\"Alberni-Clayoquot\"],\"csd_code\":[\"5923801\"],\"csd_name_en\":[\"Ahahswinis 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Alberni-Clayoquot\",\"csd_name_fr\":\"Ahahswinis 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.35160869557859,49.66567098141773],[-123.37310357320258,49.64962432973099],[-123.44328472967022,49.65542194050024],[-123.4577014376034,49.64573803235413],[-123.44989795792966,49.63152961731738],[-123.45775249760311,49.61903142033286],[-123.48051874619854,49.61588148179107],[-123.51983389783591,49.625470237362386],[-123.53140196740091,49.632833343682634],[-123.56276555463549,49.63116035728294],[-123.57834446649295,49.610966821170244],[-123.56844657711885,49.595362734827035],[-123.57075456398921,49.58331180814169],[-123.58652077944554,49.57898627788576],[-123.59379236721477,49.56737479239839],[-123.58962578611461,49.542911184665094],[-123.59959128974434,49.520586087601295],[-123.59855634074825,49.49084733980158],[-123.62853872791344,49.490369202632756],[-123.62800971185308,49.47592743117984],[-123.56612388599343,49.475362155965264],[-123.57285618813313,49.45560099503639],[-123.52931573172997,49.45549841866184],[-123.52789054521526,49.42501267109059],[-123.51372304109779,49.41421686604249],[-123.50124380186104,49.408098570808654],[-123.50130330990147,49.41066629813065],[-123.49629191366847,49.41112816451418],[-123.50109923379381,49.40571508428272],[-123.4993097393617,49.39070585779406],[-123.51102009458621,49.385592794518246],[-123.51151896368,49.30909011902223],[-123.47454509349575,49.30717770573677],[-123.44670770894152,49.336647896335556],[-123.4394525439831,49.33772297145804],[-123.42921986965521,49.351879063559174],[-123.43513513305787,49.36472982071414],[-123.42853158795553,49.37604053441536],[-123.39588983997119,49.396938172950904],[-123.39307287903758,49.408377252296454],[-123.35794219295757,49.41886044760476],[-123.30295103267717,49.41910523497682],[-123.28891323172172,49.43986379777524],[-123.27486868816247,49.48110287112881],[-123.27009203498618,49.52106405996887],[-123.24501630733718,49.57628971813421],[-123.27636205988686,49.569097538742156],[-123.27689368983012,49.59075742864389],[-123.28744114016538,49.5947356463016],[-123.29406499836286,49.610063211187125],[-123.3190366093276,49.63152380263754],[-123.3362542220485,49.65377815827913],[-123.35160869557859,49.66567098141773]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.43092522628912,\"lat\":49.511620069537486},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5929\"],\"cd_name_en\":[\"Sunshine Coast\"],\"csd_code\":[\"5929028\"],\"csd_name_en\":[\"Sunshine Coast F\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Sunshine Coast\",\"csd_name_fr\":\"Sunshine Coast F\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.57368022341522,50.17316983472719],[-121.5783757658754,50.1725202661824],[-121.58094425215701,50.17552162401221],[-121.58205317076944,50.17118801057462],[-121.57553128791308,50.17078743197536],[-121.57368022341522,50.17316983472719]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.57860205451594,\"lat\":50.172348528558615},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933865\"],\"csd_name_en\":[\"Skuppah 4\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Skuppah 4\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.33574128404025,50.42563492939683],[-121.33605073558036,50.430534257990175],[-121.3386021583575,50.430564718622534],[-121.33864733162964,50.42543419933234],[-121.33574128404025,50.42563492939683]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.33726889608572,\"lat\":50.42798651622711},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933893\"],\"csd_name_en\":[\"Twoyqhalsht 16\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Twoyqhalsht 16\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.24819192027691,50.245431633597505],[-119.25168113511606,50.23847166566935],[-119.28252623270062,50.23804642174293],[-119.29005183686485,50.223248450928544],[-119.27595833131133,50.2102440283473],[-119.26298502820465,50.21509441221067],[-119.23156338061699,50.21572274782282],[-119.2272602560319,50.19489724316493],[-119.21726409326924,50.198316441013006],[-119.18211134128259,50.195619853671396],[-119.18191762847894,50.20296735596485],[-119.1536510946222,50.20249444806317],[-119.14764895532417,50.21043520735552],[-119.11398514193817,50.2089138885444],[-119.10800007000637,50.21605000924048],[-119.08241549053278,50.216176009458394],[-119.0688289733001,50.2234895949223],[-119.06984042987227,50.235662367169205],[-119.05644645104091,50.242126677798],[-119.07929833719768,50.25289579376295],[-119.13518845269137,50.25281821191449],[-119.1352097026426,50.24545362971264],[-119.16986825427097,50.245513387345284],[-119.16966460381298,50.25279873170706],[-119.21699762638441,50.25312909515319],[-119.21646694564986,50.24540630719357],[-119.24819192027691,50.245431633597505]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.17308603913246,\"lat\":50.228047762850565},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5937\"],\"cd_name_en\":[\"North Okanagan\"],\"csd_code\":[\"5937010\"],\"csd_name_en\":[\"Coldstream\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"North Okanagan\",\"csd_name_fr\":\"Coldstream\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.34835956940005,50.24827396405709],[-119.34581302499156,50.245626849517244],[-119.33066218070952,50.2457300456885],[-119.33083920645338,50.24844973988202],[-119.34835956940005,50.24827396405709]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.33890869881681,\"lat\":50.24705317383085},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5937\"],\"cd_name_en\":[\"North Okanagan\"],\"csd_code\":[\"5937803\"],\"csd_name_en\":[\"Priest's Valley 6\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"North Okanagan\",\"csd_name_fr\":\"Priest's Valley 6\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.04405962925554,52.24219160764571],[-122.04202707904209,52.263458786426526],[-122.07555889393532,52.26423640726626],[-122.07501706812313,52.27102224090487],[-122.12250673782941,52.27199459872016],[-122.12189571979343,52.28164586119295],[-122.14613282080629,52.28227768240273],[-122.14486172719013,52.25980514200778],[-122.09206127462774,52.258144985394175],[-122.09457820872606,52.24303664029911],[-122.04405962925554,52.24219160764571]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.0926024000665,\"lat\":52.26066850912051},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941805\"],\"csd_name_en\":[\"Deep Creek 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Deep Creek 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.21621841901478,51.59123906851491],[-122.21156821647673,51.58280294130104],[-122.1936833086951,51.58296518455785],[-122.19406189243495,51.59125795323401],[-122.21621841901478,51.59123906851491]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.2039595586754,\"lat\":51.58721315987666},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941806\"],\"csd_name_en\":[\"Dog Creek 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Dog Creek 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.30545410337892,52.486038085322434],[-125.30540723553841,52.49323874447201],[-125.34138201498749,52.493432077890745],[-125.34314303751866,52.48874386880205],[-125.30513371579546,52.479849214526],[-125.30545410337892,52.486038085322434]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.32097774108672,\"lat\":52.48841787053794},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941845\"],\"csd_name_en\":[\"Thomas Squinas Ranch 2A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Thomas Squinas Ranch 2A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.52687012515311,53.18097328950526],[-123.5157972885576,53.18719108162776],[-123.53818744788434,53.18785238021502],[-123.5376285758368,53.1806253197644],[-123.52687012515311,53.18097328950526]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.52947838434645,\"lat\":53.18457899264244},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941852\"],\"csd_name_en\":[\"Trout Lake Alec 16\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Trout Lake Alec 16\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-127.38554274000435,50.69992977772367],[-127.38977050841537,50.698121594781085],[-127.38568536426632,50.69687832313393],[-127.38554274000435,50.69992977772367]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-127.386999537562,\"lat\":50.69830989854622},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5943\"],\"cd_name_en\":[\"Mount Waddington\"],\"csd_code\":[\"5943826\"],\"csd_name_en\":[\"Thomas Point 5A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Mount Waddington\",\"csd_name_fr\":\"Thomas Point 5A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-130.4147388512609,54.31544476760577],[-130.43629117769413,54.32999307394655],[-130.45802744862655,54.316636889931274],[-130.45071474945644,54.30541698119978],[-130.4002501875989,54.306009248124546],[-130.4147388512609,54.31544476760577]]],[[[-130.48663214244303,54.40468751147614],[-130.47427877188028,54.390143179420704],[-130.48292657275968,54.36775597379498],[-130.46172345383786,54.354980887274536],[-130.4613431608951,54.335588777242315],[-130.41892307286616,54.34277398193146],[-130.41690407493144,54.327903780938705],[-130.40091093767643,54.330166203217246],[-130.40097208099385,54.377899799174045],[-130.4480868105117,54.37839924381638],[-130.44913021887422,54.40463408641629],[-130.48663214244303,54.40468751147614]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-130.43986569365785,\"lat\":54.35670302430432},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5947\"],\"cd_name_en\":[\"Skeena-Queen Charlotte\"],\"csd_code\":[\"5947810\"],\"csd_name_en\":[\"S1\\/2 Tsimpsean 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Skeena-Queen Charlotte\",\"csd_name_fr\":\"S1\\/2 Tsimpsean 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-129.21728317117714,59.19195771158862],[-129.2301850050441,59.190862967554175],[-129.22957207712219,59.185385109712406],[-129.21535640871664,59.18595227950111],[-129.21728317117714,59.19195771158862]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-129.22297188100262,\"lat\":59.18850507181676},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5957\"],\"cd_name_en\":[\"Stikine\"],\"csd_code\":[\"5957804\"],\"csd_name_en\":[\"Good Hope Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian settlement \\/ \\u00c9tablissement indien\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Stikine\",\"csd_name_fr\":\"Good Hope Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-132.74044907861494,60.16435023981051],[-132.7208148459361,60.16578917977462],[-132.69459626120744,60.17698285033769],[-132.726340089703,60.184168143087795],[-132.73179099825572,60.17651470335393],[-132.74044907861494,60.16435023981051]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-132.7200949798817,\"lat\":60.17394490492679},\"year\":\"2021\",\"prov_code\":[\"60\"],\"prov_name_en\":[\"Yukon\"],\"cd_code\":[\"6001\"],\"cd_name_en\":[\"Yukon\"],\"csd_code\":[\"6001006\"],\"csd_name_en\":[\"Teslin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Yukon\",\"cd_name_fr\":\"Yukon\",\"csd_name_fr\":\"Teslin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.49035444336607,64.9509233376136],[-125.52785190369435,64.93869407837573],[-125.53887257029986,64.92922377933192],[-125.5951467940426,64.91358474416174],[-125.59782701523321,64.89269113961537],[-125.35310291727414,64.88775636456633],[-125.3706878134028,64.9569135564734],[-125.4606507530262,64.95520767618295],[-125.49035444336607,64.9509233376136]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.46073773153215,\"lat\":64.91869994065242},\"year\":\"2021\",\"prov_code\":[\"61\"],\"prov_name_en\":[\"Northwest Territories\"],\"cd_code\":[\"6102\"],\"cd_name_en\":[\"Region 2\"],\"csd_code\":[\"6102005\"],\"csd_name_en\":[\"Tulita\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Hamlet\",\"prov_name_fr\":\"Territoires du Nord-Ouest\",\"cd_name_fr\":\"Region 2\",\"csd_name_fr\":\"Tulita\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-86.36214043417453,66.58748495774486],[-86.36815526889073,66.62574929863848],[-86.90075061690858,66.63810072308972],[-86.76651384142298,66.51696965299223],[-86.71669521864155,66.51129811956629],[-86.65673840819346,66.49307709637206],[-86.57896594022631,66.49966051844949],[-86.50535873391985,66.51041569632933],[-86.42207291122432,66.50656876818034],[-86.20243488148931,66.48566766798464],[-86.1165145764629,66.47138703526943],[-86.02949851382391,66.47329889617231],[-85.97687694420385,66.46753830899229],[-85.86264269091252,66.4738599134695],[-85.80672294847942,66.48021774490427],[-85.73575729530293,66.49923318049488],[-85.6829285328443,66.50885178195566],[-85.66761967636322,66.51557352995964],[-85.59361475873472,66.53609040305207],[-85.52506051227869,66.54457402268902],[-85.48245759713346,66.56087171976756],[-85.95951338804672,66.57448437235584],[-86.36172606339952,66.58484452856571],[-86.36214043417453,66.58748495774486]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-86.27378412955679,\"lat\":66.54891106557018},\"year\":\"2021\",\"prov_code\":[\"62\"],\"prov_name_en\":[\"Nunavut\"],\"cd_code\":[\"6205\"],\"cd_name_en\":[\"Kivalliq\"],\"csd_code\":[\"6205027\"],\"csd_name_en\":[\"Naujaat\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Hamlet\",\"prov_name_fr\":\"Nunavut\",\"cd_name_fr\":\"Kivalliq\",\"csd_name_fr\":\"Naujaat\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-52.934254464114325,46.972609094494466],[-52.94468904895783,46.99124966394122],[-52.986092112065265,46.99918845816307],[-53.044332975456584,46.99961324518781],[-53.044229808861616,46.96679556556916],[-52.95175559807692,46.95286539675069],[-52.89911867415048,46.93487998712925],[-52.894659904822085,46.95400388972095],[-52.934254464114325,46.972609094494466]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-52.97593527659873,\"lat\":46.97298486027514},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001136\"],\"csd_name_en\":[\"Fermeuse\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Fermeuse\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.48975269001683,46.777141192162475],[-53.50002049233514,46.783228517819104],[-53.54933989070753,46.830491029152405],[-53.585892597069716,46.81385853922486],[-53.6010451069248,46.81354582595225],[-53.623951405475786,46.79114773956431],[-53.64192551069157,46.79680606047298],[-53.62037871841814,46.814238001145654],[-53.603257202534074,46.83493594025375],[-53.651139198815635,46.83566489598763],[-53.66083948949641,46.82340109608565],[-53.65786089998793,46.815027186358634],[-53.66527239470235,46.7923917993268],[-53.647622407991044,46.794374098767186],[-53.63237159741867,46.784984598421104],[-53.61079049374108,46.75632699292729],[-53.64360948135058,46.72535139973587],[-53.65042586824663,46.70143340713697],[-53.48975269001683,46.777141192162475]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.58477434795466,\"lat\":46.7798691686874},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001169\"],\"csd_name_en\":[\"St. Vincent's-St. Stephen's-Peter's River\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"St. Vincent's-St. Stephen's-Peter's River\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-52.849426196156934,47.744153714985146],[-52.83827737166214,47.76957893614112],[-52.99455037994231,47.795284842571135],[-53.089717865486,47.81548103751181],[-53.144263113604566,47.81655300731136],[-53.15568760962937,47.8109724939079],[-53.17981047327607,47.81101557293952],[-53.193388903120564,47.80164570878352],[-53.209859887796995,47.79867659087622],[-53.24372569835569,47.80150681277068],[-53.2684376489042,47.814041771416704],[-53.29412879911129,47.80588256279904],[-53.31386019679571,47.78578337617216],[-53.33384270490109,47.76406770970825],[-53.31954144023239,47.75713625178897],[-53.33809159878867,47.74672950830961],[-53.33386708086349,47.7384008646563],[-53.30534763391235,47.738862756482135],[-53.26362163813438,47.73360557639908],[-53.238808576555414,47.74486500011979],[-53.21965907777251,47.74772425997531],[-53.167454189572865,47.745373810655806],[-52.849426196156934,47.744153714985146]],[[-53.197877199720736,47.77905691690043],[-53.17565897843281,47.788855475193216],[-53.14770541784894,47.78994163914298],[-53.147914573036,47.7813682969269],[-53.18402256529965,47.76950789839427],[-53.240776087646964,47.752194887838264],[-53.27135940485242,47.75308879619481],[-53.272396669823735,47.7890465048975],[-53.25374723394791,47.79161101088855],[-53.222392685903486,47.78707061728844],[-53.197877199720736,47.77905691690043]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.095680207781584,\"lat\":47.77262454714275},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001357\"],\"csd_name_en\":[\"Division No.  1\",\"Subd. H\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Division No.  1, Subd. H\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.18113433316906,46.80059450720845],[-55.193515121743296,46.86742078774965],[-55.209030370368914,46.88648594038192],[-55.28580129033559,46.933943802896025],[-55.284239594864296,46.93986818542361],[-55.31529817339528,46.953218769673356],[-55.312574304536376,46.984763488256704],[-55.3027096806867,47.00474900392036],[-55.29836710808725,47.03462909511468],[-55.30194369155911,47.051939089909624],[-55.288824291157354,47.05974499620332],[-55.28693141456077,47.07992099238813],[-55.29322859671248,47.09305148528709],[-55.284378503488,47.10040180825281],[-55.32274200490157,47.10984919081247],[-55.34044517035336,47.11995124143022],[-55.36899579628338,47.11470123893689],[-55.392647483007835,47.083814584429874],[-55.391136985238646,47.07109089197308],[-55.405484414070656,47.06061749777241],[-55.39584968019288,47.04428887096985],[-55.40502402505726,47.02648229582216],[-55.410010291298164,47.008930605597826],[-55.43493200041451,46.99138970135564],[-55.44367995988532,46.99031925467548],[-55.44511348633719,46.948956294947926],[-55.473893941047486,46.932795554071646],[-55.51318641151923,46.881019974363475],[-55.527172310253675,46.841063846374084],[-55.528020758568985,46.79967369616634],[-55.22753182047954,46.80017260028379],[-55.18113433316906,46.80059450720845]],[[-55.389960134753686,46.937375777670454],[-55.37681049532277,46.93672846592283],[-55.35425350015588,46.91240249040882],[-55.350656992586416,46.898460291494736],[-55.37118559441914,46.89319910180888],[-55.37734839212626,46.87690949164598],[-55.44214350793913,46.879227027134974],[-55.44145042494657,46.93659410158128],[-55.389960134753686,46.937375777670454]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.35679832167175,\"lat\":46.913551744416644},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1002\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"1002006\"],\"csd_name_en\":[\"Division No.  2\",\"Subd. F\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Division No.  2, Subd. F\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.09625112015119,47.80614744459572],[-54.12148532245191,47.824449314899404],[-54.17863401883419,47.85727487313581],[-54.19445649130269,47.831685435579196],[-54.23183271968892,47.842818117504095],[-54.25875617590641,47.83857985787234],[-54.270248858622956,47.828577201745176],[-54.30385408435128,47.82048537477768],[-54.310688047823376,47.827657168232506],[-54.310652798569386,47.851513657150875],[-54.34254811542418,47.85874660120524],[-54.36052929982161,47.87385941176916],[-54.36352569348936,47.88637935540167],[-54.41041821636528,47.91176227806225],[-54.436321451849864,47.94442657453223],[-54.47023000920855,47.9314266721433],[-54.47963549836589,47.93839529519607],[-54.516627099034345,47.97823095770169],[-54.51371609206834,47.999981492325595],[-54.54906108176662,48.01810310095337],[-54.572876966041385,48.033289110014586],[-54.5929288302312,48.020092282440274],[-54.629612373767074,48.010049588790444],[-54.66268483261617,48.010703441079826],[-54.65365571403311,47.99716527862547],[-54.65427903772515,47.980250118363],[-54.66559089036292,47.966315862549614],[-54.63753296179612,47.96302267446831],[-54.63111691152064,47.95032514792113],[-54.63676220569559,47.940743539906194],[-54.631396771213105,47.91342445082105],[-54.63362669372839,47.89543503470773],[-54.60047804090255,47.883694062306674],[-54.58317959898082,47.85445066210107],[-54.56994321294286,47.848589499763925],[-54.54647906437068,47.85578569509228],[-54.53199308452993,47.85162194990851],[-54.5349861998571,47.83200909193779],[-54.517241904961644,47.82182662058953],[-54.491278987647156,47.81979119857728],[-54.48032666743703,47.8102522895891],[-54.486383073485506,47.799680300152225],[-54.44345234402513,47.75178946755807],[-54.45298984341857,47.74495233714023],[-54.43164325574093,47.726844372350996],[-54.43723474733136,47.68943631410284],[-54.39893389665279,47.68635882862271],[-54.39791614094498,47.654917983504305],[-54.38452758125798,47.62924417523181],[-54.39392064060045,47.59224431324605],[-54.40604787424511,47.57654235530212],[-54.41068005230505,47.55509566790705],[-54.48546299887253,47.491392477621325],[-54.46930916622414,47.479055099172946],[-54.47584736332678,47.457896975714576],[-54.500125492973616,47.444046585129136],[-54.496789549821635,47.432777620289684],[-54.52440930213126,47.42464679902842],[-54.54122779597043,47.40381127674132],[-54.57791483803854,47.39111661225184],[-54.60309798437517,47.36739494435727],[-54.580851481369244,47.3546498966554],[-54.611972892055825,47.33733259544204],[-54.61933521926754,47.27342549523757],[-54.62158668823319,47.22779934622058],[-54.62721335313101,47.17652856781217],[-54.41686240340676,47.170730643093925],[-54.10950661926905,47.161403136476686],[-54.10882363532289,47.161779992894076],[-54.05305233594038,47.23270297448332],[-54.05638999537609,47.24902829421301],[-54.094911017803945,47.34289422402759],[-54.09381550380913,47.37137891099755],[-54.05757355970386,47.433399193321144],[-54.03465977105358,47.46669659886589],[-54.0218308185335,47.49968138796238],[-54.02901674188713,47.56821645240952],[-54.02793154194782,47.630384150455626],[-54.01646968175492,47.64796044163169],[-54.01339573011438,47.667228208307975],[-54.01851929676754,47.69298773320685],[-54.0465241416168,47.74764189549786],[-54.07468892556395,47.78707679868154],[-54.09625112015119,47.80614744459572]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.30961266425749,\"lat\":47.52244071437882},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1002\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"1002044\"],\"csd_name_en\":[\"Division No.  2\",\"Subd. L\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Division No.  2, Subd. L\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-58.48438904574295,48.54332115157556],[-58.55751673791273,48.578278902369675],[-58.61258256395808,48.57800127152994],[-58.6121666130842,48.56232268254689],[-58.60272590150062,48.55876758624126],[-58.60131241723678,48.54377989147373],[-58.58413791064397,48.54266819235071],[-58.558588987688125,48.531214992292405],[-58.53433119445431,48.53937511134693],[-58.5231235893825,48.52684300722758],[-58.53771219527592,48.50928569231235],[-58.531500599731295,48.50050052886014],[-58.495373861211725,48.52521270221782],[-58.48438904574295,48.54332115157556]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-58.548864971564065,\"lat\":48.54912627322682},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1004\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"1004019\"],\"csd_name_en\":[\"Stephenville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Stephenville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-58.08172434793305,49.0357009134905],[-58.09166691318929,49.057383730110054],[-58.11525789311775,49.07547571608659],[-58.09905773721538,49.0923866140323],[-58.13876071693859,49.084280039270155],[-58.11504178492905,49.06385040039833],[-58.119204187528496,49.04169940713196],[-58.10244298069666,49.03145889683822],[-58.08172434793305,49.0357009134905]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-58.107866051331754,\"lat\":49.058975354566094},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1005\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"1005022\"],\"csd_name_en\":[\"McIvers\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"McIvers\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-56.88144196854233,48.82080113247917],[-56.82745210451792,48.8120318560921],[-56.82709132416306,48.820422722261235],[-56.849710313323286,48.8278149733578],[-56.88144196854233,48.82080113247917]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-56.84876314458742,\"lat\":48.82018740682117},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1006\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"1006031\"],\"csd_name_en\":[\"Buchans\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Buchans\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.87279599667881,49.64833548884482],[-55.90967709014225,49.647861681591706],[-55.896902209116035,49.63524909188123],[-55.87279599667881,49.64833548884482]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.8931250986457,\"lat\":49.64381542077259},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008066\"],\"csd_name_en\":[\"Beachside\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Beachside\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.70475233688762,49.9430558758275],[-55.713562120231224,49.943990209189195],[-55.719801666797075,49.93485048500625],[-55.70552250295108,49.9345001264371],[-55.70475233688762,49.9430558758275]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.711133823772116,\"lat\":49.93877710819806},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008077\"],\"csd_name_en\":[\"Brent's Cove\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Brent's Cove\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-56.851189118362655,51.5225051383404],[-56.839812200412965,51.51580028746643],[-56.814457436527555,51.53278053538767],[-56.838443087015996,51.534016409835424],[-56.851189118362655,51.5225051383404]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-56.83494957915675,\"lat\":51.526400759678864},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1010\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"1010002\"],\"csd_name_en\":[\"L'Anse au Loup\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"L'Anse au Loup\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.23631401284091,46.293368709646074],[-63.262661106378374,46.29229623013108],[-63.26819420963097,46.30557582471461],[-63.29245183866976,46.306458475600365],[-63.30921277371508,46.27827395065301],[-63.29324549519189,46.2746970147459],[-63.255597529817855,46.27477536998454],[-63.250862437861635,46.27550161081538],[-63.23067019081034,46.2800446889156],[-63.23631401284091,46.293368709646074]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.27275210518643,\"lat\":46.28771712493035},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1102\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1102021\"],\"csd_name_en\":[\"Hampshire\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Hampshire\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.14415551287698,46.20417675635513],[-63.14139736431057,46.20307565065792],[-63.141248699499236,46.20485739630712],[-63.14415551287698,46.20417675635513]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.14226719222893,\"lat\":46.20403660110672},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1102\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1102030\"],\"csd_name_en\":[\"Rocky Point 3\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Rocky Point 3\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.56032278623486,46.514847204505415],[-63.55410483079841,46.517389752061895],[-63.5634141197202,46.53960409975964],[-63.55642832372184,46.54129190615147],[-63.563792489613235,46.56992277308991],[-63.598260312208474,46.57752126941117],[-63.6921666674935,46.57738098679753],[-63.7239949867698,46.55826672850325],[-63.74985303756397,46.55435498639247],[-63.76977049151937,46.561505111504324],[-63.79701364420001,46.54664997592],[-63.80521772255509,46.53721311407333],[-63.8066813549016,46.5122022704921],[-63.80047057806716,46.50100975878861],[-63.763066440081914,46.4670356289601],[-63.7587459458698,46.459885869490414],[-63.74358207199596,46.4531150358091],[-63.711367041541024,46.46083795258697],[-63.69485106446104,46.4564950065664],[-63.67732126666196,46.4614409589013],[-63.66424780354053,46.45858689309415],[-63.60375493231323,46.47734976852463],[-63.609571772693336,46.49168975842726],[-63.59843637856044,46.49755048199662],[-63.6039718969498,46.51111578618244],[-63.58939296176683,46.51449210036354],[-63.58904930263921,46.52717264510225],[-63.56775827747199,46.531975304640774],[-63.56032278623486,46.514847204505415]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.68463220944281,\"lat\":46.51983335755891},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1103\"],\"cd_name_en\":[\"Prince\"],\"csd_code\":[\"1103007\"],\"csd_name_en\":[\"Malpeque Bay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Prince\",\"csd_name_fr\":\"Malpeque Bay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.07301750950235,46.72881188343308],[-64.09246466772493,46.72160383950941],[-64.12753996070758,46.72867768029847],[-64.11211113819186,46.74098597443549],[-64.13378141007621,46.762622010638275],[-64.15517171460823,46.748983374771086],[-64.16626089699338,46.7536491112195],[-64.16708771729544,46.765020634431245],[-64.18043122285724,46.77396693486053],[-64.23456440770346,46.780619189679236],[-64.25126834920358,46.79094944167427],[-64.2745516367693,46.79435782029035],[-64.30661280469408,46.79229626649647],[-64.31602673317548,46.80976700303375],[-64.38859674058318,46.7586592482604],[-64.44601613054752,46.67965637440425],[-64.4387134613297,46.64763683856666],[-64.40657708696119,46.64977072189241],[-64.36345898327791,46.664491922625025],[-64.3399818206227,46.669199788430966],[-64.33573716277483,46.658664005074414],[-64.3140818268575,46.64252837990023],[-64.31825322039137,46.62426684033982],[-64.30890238263294,46.597720189028564],[-64.21255717706893,46.59151020604197],[-64.14525268814653,46.584440377402075],[-64.11306590885654,46.578304858110165],[-64.10091719601421,46.587150181234335],[-64.0837075512411,46.62693037560969],[-64.07113380481412,46.63224967270566],[-64.07651831681018,46.64477762971358],[-64.06594030278453,46.68809956324532],[-64.07300394862736,46.70767510184713],[-64.06305620578406,46.72192355421934],[-64.07301750950235,46.72881188343308]],[[-64.21969175377953,46.71146050859441],[-64.23637486196581,46.69902322286368],[-64.23961846084738,46.70784566409605],[-64.21969175377953,46.71146050859441]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.24149885165298,\"lat\":46.68905563708549},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1103\"],\"cd_name_en\":[\"Prince\"],\"csd_code\":[\"1103065\"],\"csd_name_en\":[\"O'Leary\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Fire District\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Prince\",\"csd_name_fr\":\"O'Leary\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.99943320983547,44.15917045858877],[-64.98861618542955,44.174632516881736],[-64.99507201496647,44.17653984814759],[-65.00548753280889,44.16299798830215],[-64.99943320983547,44.15917045858877]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.99720194638942,\"lat\":44.16816397919095},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1204\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1204009\"],\"csd_name_en\":[\"Ponhook Lake 10\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Ponhook Lake 10\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.9567509327281,44.96696516262407],[-65.03647106211851,45.09461543910363],[-65.03926316491642,45.093530859703684],[-65.08320693718525,45.07574671941842],[-65.20578121878567,45.014229878935794],[-65.16583699783662,44.95253170617896],[-65.13423230727827,44.92524510867739],[-65.10741391407542,44.88544299148721],[-65.091092682338,44.87858554306581],[-65.08088909495515,44.86203028939124],[-65.06515281333944,44.853326191960235],[-65.04379998843326,44.83751770815819],[-65.02286278265667,44.8568941265475],[-65.02392440070425,44.86994995886044],[-65.01492580907673,44.88527329775283],[-65.02237088032885,44.88911711236796],[-65.02967278541624,44.9125724970763],[-65.03931442411303,44.92434286629766],[-65.035728792412,44.936691499499645],[-65.06316536550162,44.93842748332549],[-65.08396842765612,44.93074492139929],[-65.08544714324144,44.95185574727379],[-65.06354288191554,44.96038260864109],[-65.05386697933831,44.94655841748318],[-65.01375668105125,44.9497400809732],[-64.97320546158352,44.96677861789103],[-64.9567509327281,44.96696516262407]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.07838099164552,\"lat\":44.9794156703605},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1205\"],\"cd_name_en\":[\"Annapolis\"],\"csd_code\":[\"1205014\"],\"csd_name_en\":[\"Annapolis\",\"Subd. C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of county municipality \\/ Subdivision municipalit\\u00e9 de comt\\u00e9\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Annapolis\",\"csd_name_fr\":\"Annapolis, Subd. C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-61.71137722180915,45.600119771441754],[-61.723475218317,45.60435009903762],[-61.724481171509474,45.59660838803485],[-61.71137722180915,45.600119771441754]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-61.71977787054521,\"lat\":45.60035941950474},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1214\"],\"cd_name_en\":[\"Antigonish\"],\"csd_code\":[\"1214010\"],\"csd_name_en\":[\"Paqtnkek-Niktuek No. 23\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Antigonish\",\"csd_name_fr\":\"Paqtnkek-Niktuek No. 23\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.836533835635,44.83069868939013],[-66.81137491675892,44.896277708730544],[-66.80488680611937,44.93043761994919],[-66.81501048311615,45.00107670471474],[-66.8144457701157,45.016055666206796],[-66.84115069962395,44.999846746856065],[-66.92762455106862,44.950428518688454],[-66.95568639214267,44.92822844432731],[-66.96874199716348,44.910411303031225],[-66.98213809115093,44.86725923197871],[-66.97486029635778,44.84162033875658],[-66.96530477798105,44.82887031574639],[-66.93258248619293,44.825509237711174],[-66.89209291332311,44.79863926851153],[-66.836533835635,44.83069868939013]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.88558788017735,\"lat\":44.89818483010867},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1302\"],\"cd_name_en\":[\"Charlotte\"],\"csd_code\":[\"1302004\"],\"csd_name_en\":[\"Campobello Island\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural community \\/ Communaut\\u00e9 rurale\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Charlotte\",\"csd_name_fr\":\"Campobello Island\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.74907498880721,46.05193281037803],[-65.49146739730031,46.270129717574015],[-65.56951646757692,46.2847946365653],[-65.60182076869161,46.25661099725256],[-65.69589438401108,46.18204400817784],[-65.74695825175837,46.16472864616753],[-65.75069921729673,46.152728369953664],[-65.78510026769727,46.1384158020292],[-65.80630507666126,46.12573923090947],[-65.81101685568973,46.117765808063425],[-65.85924849184265,46.102585029592156],[-65.88125857414693,46.09229359654491],[-65.88492347935912,46.085532666508996],[-65.91945128021754,46.07284584749302],[-66.00190306391912,46.04047911769591],[-66.00681492740327,46.020088968052754],[-66.01956541786808,46.00007056948416],[-66.04384561046291,45.92184402537922],[-66.05174987057683,45.88945474633468],[-66.0204389088633,45.881590274862035],[-66.00309000827805,45.88332100765455],[-65.96616934100594,45.874460951868954],[-65.95001489586892,45.8913228812656],[-65.94096950843331,45.887287994004495],[-65.74907498880721,46.05193281037803]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.82032699955555,\"lat\":46.061288539163236},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1304\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1304018\"],\"csd_name_en\":[\"Waterborough\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Waterborough\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.08541975807364,46.05822083446304],[-66.06139846799704,46.0622083042246],[-66.04958146448591,46.05741617473027],[-66.02437208081766,46.08695233503185],[-66.02124552557508,46.11447159525429],[-66.0374373357027,46.11699373156745],[-66.05778177343026,46.120868215261986],[-66.0901777822424,46.1152545167677],[-66.08970496516545,46.105796284932175],[-66.1042969222112,46.08927157262461],[-66.08741395869053,46.08079636600186],[-66.08033224877543,46.06773529204642],[-66.08541975807364,46.05822083446304]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.05962957750383,\"lat\":46.091852998662475},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1304\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1304022\"],\"csd_name_en\":[\"Minto\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Minto\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.8582312933121,46.19251488521178],[-65.87250857062611,46.19007619656503],[-65.89098941785231,46.19658198961887],[-65.89606892112245,46.18822106865336],[-65.91391077968602,46.183665584785366],[-65.91871578198048,46.17020687645087],[-65.89491064796039,46.15864492613851],[-65.89980554127598,46.15316680734654],[-65.87712441580507,46.143708904930314],[-65.84701122311847,46.16708682826371],[-65.8582312933121,46.19251488521178]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.881242112563,\"lat\":46.17158849842773},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1304\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1304025\"],\"csd_name_en\":[\"Chipman\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Chipman\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.75074707700261,45.42655701919811],[-65.55109337431061,45.484569974406554],[-65.59035503137414,45.589286007361224],[-65.63657271320743,45.58739482669114],[-65.65429814912358,45.58427896989021],[-65.70429165478647,45.554437096766854],[-65.74597713236041,45.524594017541155],[-65.75712772393075,45.52006291229815],[-65.76073759125443,45.51734057641416],[-65.74222786450868,45.46798113574015],[-65.74070310720504,45.45823919221812],[-65.7923957941628,45.43901378860384],[-65.76205200078176,45.42192598755589],[-65.75074707700261,45.42655701919811]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.6615392791567,\"lat\":45.508430339636625},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1305\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1305004\"],\"csd_name_en\":[\"Upham\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Upham\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.66292094382054,45.90223176299951],[-64.62484097382402,45.90506333961296],[-64.63651578806554,45.93324660502959],[-64.65275260781871,45.94508324801697],[-64.67782188901765,45.93121846243872],[-64.66408945204462,45.91603925597336],[-64.66292094382054,45.90223176299951]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.6505588804688,\"lat\":45.921783289452435},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1306\"],\"cd_name_en\":[\"Albert\"],\"csd_code\":[\"1306025\"],\"csd_name_en\":[\"Hillsborough\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Albert\",\"csd_name_fr\":\"Hillsborough\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.56453747935812,46.474894826055476],[-64.6821278398944,46.56095234442605],[-64.681850548621,46.58258904694099],[-64.7350964826426,46.580525848680985],[-64.74296329337028,46.56964087465902],[-64.76178670175645,46.566323195378075],[-64.85534204996989,46.51411115973076],[-64.85645679028126,46.495942517067384],[-64.83772434480166,46.459406190165055],[-64.82225600297214,46.44816901209787],[-64.78049272163538,46.437139612557836],[-64.75385500290291,46.413216595411804],[-64.77426483531856,46.402817418856976],[-64.75017292901906,46.39383016378912],[-64.7659281972669,46.3787065851805],[-64.73590262924168,46.36459338596126],[-64.66143725124063,46.403378066877934],[-64.67346653590894,46.43652527813477],[-64.64561669320943,46.43914070180625],[-64.56453747935812,46.474894826055476]],[[-64.76141299016123,46.45509699568595],[-64.75283278043624,46.44861960343723],[-64.75740205934873,46.44766669136338],[-64.76141299016123,46.45509699568595]],[[-64.69920630175864,46.48116388887657],[-64.71316300642614,46.476240988230366],[-64.68993739122675,46.46049820421385],[-64.69965059199198,46.444766975481954],[-64.72628244056972,46.46145595046602],[-64.75004241221939,46.45545590557493],[-64.78095410327396,46.465419602216386],[-64.78807532352855,46.47315529988797],[-64.76891498566862,46.48325135702732],[-64.73563511756912,46.48947364253856],[-64.72114767291282,46.48284579061172],[-64.69920630175864,46.48116388887657]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.72129283691721,\"lat\":46.48386735849213},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1308\"],\"cd_name_en\":[\"Kent\"],\"csd_code\":[\"1308004\"],\"csd_name_en\":[\"Wellington\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kent\",\"csd_name_fr\":\"Wellington\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.24772994166126,47.61881171031339],[-68.2613387730034,47.63523087926842],[-68.30316380661392,47.651199291648624],[-68.32355241533418,47.68561120234633],[-68.32058161601954,47.70146809566198],[-68.34318588425114,47.719591997078005],[-68.34498057212367,47.73418681488343],[-68.35789265459721,47.74647884306816],[-68.35669799425048,47.75530171061453],[-68.38259970296366,47.778316321001064],[-68.38354933490588,47.55309228997397],[-68.38651856324661,47.551006590529774],[-68.36802442970843,47.53404960875485],[-68.37051166963055,47.51787322948922],[-68.36138103063502,47.50197964223841],[-68.38373499562324,47.50010599453075],[-68.35538863222467,47.47942568546128],[-68.3684030866211,47.47083162334791],[-68.34877048360883,47.456803601184816],[-68.36179584848358,47.44892850270489],[-68.33456689582391,47.424184705115046],[-68.31331360804364,47.40449100071421],[-68.28907436612838,47.39642728120197],[-68.25952658207834,47.43591160595041],[-68.21856322205986,47.450029887180186],[-68.22522580434504,47.46652984807816],[-68.22037700058422,47.476858408622654],[-68.20069927506177,47.481054458679466],[-68.19927043960692,47.5054153688257],[-68.20522158536886,47.52239330479327],[-68.21698695340417,47.534971565160596],[-68.2206938078616,47.55816901116303],[-68.23610444703105,47.57386011428191],[-68.22763590782415,47.58854456777255],[-68.25055829258518,47.60309531374221],[-68.24772994166126,47.61881171031339]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.30830088739509,\"lat\":47.5581243085605},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1313\"],\"cd_name_en\":[\"Madawaska\"],\"csd_code\":[\"1313022\"],\"csd_name_en\":[\"Saint-Joseph\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Madawaska\",\"csd_name_fr\":\"Saint-Joseph\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.69442072914137,47.659522682944534],[-64.5754279991289,47.71955364408784],[-64.5444383586268,47.75989829167244],[-64.51133033752575,47.81300241046707],[-64.47118689596614,47.91962119290188],[-64.45958803195553,47.95647622635884],[-64.46691611382597,47.9855645226683],[-64.48399501289173,48.012373336342144],[-64.50931361716549,48.023624755850705],[-64.53168298372535,48.025019440803995],[-64.55021959688997,48.01162063989408],[-64.55963224408384,47.99338842081087],[-64.60151595974317,47.974977139161545],[-64.74574350998611,47.871776166508255],[-64.72469322310128,47.80479557093328],[-64.72496752218386,47.787446645292995],[-64.73285291164112,47.7793224925688],[-64.77648271323457,47.76000848375698],[-64.78005877920185,47.73197405399454],[-64.77193493477974,47.70922955994727],[-64.77590304754074,47.697075748369706],[-64.73409939682291,47.688202838290074],[-64.69442072914137,47.659522682944534]],[[-64.66857075885957,47.722321531126376],[-64.6865374121173,47.706730610027414],[-64.71658875558522,47.69561626571499],[-64.72456260967333,47.70761574179434],[-64.71224522959388,47.72182875370399],[-64.69003918995249,47.71488583409678],[-64.66857075885957,47.722321531126376]],[[-64.7034242032224,47.74769338868026],[-64.6990891987842,47.73999178756843],[-64.70823081989745,47.72369127443101],[-64.72497918681677,47.72855965717182],[-64.73542193631314,47.71559136142808],[-64.75845240137275,47.7172072916376],[-64.74341786063123,47.74039097693315],[-64.7034242032224,47.74769338868026]],[[-64.5954264221295,47.82615132539584],[-64.59595928427409,47.820279710027364],[-64.62819689469154,47.794666101669065],[-64.65400417147762,47.79036981481412],[-64.65477739522294,47.80266870607716],[-64.6406877650269,47.808839397566544],[-64.64412440952061,47.82052084740573],[-64.6233999398178,47.8349156784275],[-64.5954264221295,47.82615132539584]],[[-64.56520092907837,47.82087131403359],[-64.54961082320992,47.813131815675156],[-64.55012674280373,47.801217372331166],[-64.56348898728046,47.78317620741525],[-64.58567580600298,47.763740503095484],[-64.60507603506399,47.78128039449389],[-64.58494758614901,47.79457706325239],[-64.60677659724102,47.79812657749185],[-64.5828838833535,47.82330634506974],[-64.56520092907837,47.82087131403359]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.61304913790585,\"lat\":47.84419350628868},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1315\"],\"cd_name_en\":[\"Gloucester\"],\"csd_code\":[\"1315029\"],\"csd_name_en\":[\"Shippagan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Gloucester\",\"csd_name_fr\":\"Shippagan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.84147907194863,48.15310554097939],[-66.76954707070816,48.178580243124074],[-66.56254064983318,48.2437526227995],[-66.49677460339606,48.24317465850939],[-66.27526813533866,48.2364481881687],[-66.22603629514211,48.23538312265477],[-66.22519745446645,48.24174171057231],[-66.22239352458539,48.283889040395806],[-66.21922591126936,48.37675900493135],[-66.27984060838446,48.48323139309319],[-66.56687887805147,48.41130205814061],[-66.74944655371397,48.364079327887254],[-66.97540515124248,48.30266964635773],[-66.92937421933044,48.24887588143854],[-66.85850017923478,48.169535658161976],[-66.84147907194863,48.15310554097939]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.5532626293206,\"lat\":48.31504733282714},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2406\"],\"cd_name_en\":[\"Avignon\"],\"csd_code\":[\"2406902\"],\"csd_name_en\":[\"Rivi\\u00e8re-Nouvelle\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Avignon\",\"csd_name_fr\":\"Rivi\\u00e8re-Nouvelle\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.08561030154974,48.89762787329953],[-67.11663140790597,48.91878042000846],[-67.04602987459168,48.93896503802931],[-67.08496967857562,48.96368349808066],[-67.2796490341754,49.09809457182241],[-67.44070398364276,49.100506490634935],[-67.31026977282549,49.00005914591692],[-67.21835092727883,48.92764202951646],[-67.21180392699172,48.91869888366419],[-67.17930979042929,48.89861455114228],[-67.19952350543191,48.89240903419639],[-67.16818607754475,48.87138821246355],[-67.08561030154974,48.89762787329953]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.2291021435563,\"lat\":48.997472852384696},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2408\"],\"cd_name_en\":[\"La Matanie\"],\"csd_code\":[\"2408015\"],\"csd_name_en\":[\"Grosses-Roches\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Matanie\",\"csd_name_fr\":\"Grosses-Roches\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.56092098890394,47.6638876529085],[-68.5441298821147,47.65623747340448],[-68.52046124981787,47.635835700219005],[-68.41155422270339,47.710063099906925],[-68.48750993145305,47.76187220896286],[-68.38266118498792,47.83252065881745],[-68.38262282125918,47.880048447224425],[-68.39882294343056,47.890697365256734],[-68.46438321664404,47.84655497963909],[-68.52185210905314,47.8079036121718],[-68.56858650231062,47.83851727237513],[-68.5861581390197,47.826621203568436],[-68.62887263633046,47.85580488950452],[-68.67579800627753,47.82478354937384],[-68.65771468838528,47.80119267408093],[-68.63171444343533,47.789120367349575],[-68.62242480138798,47.775168447739695],[-68.59920221735284,47.75525436154773],[-68.59682730799973,47.73699507583626],[-68.6042831079747,47.71805452934149],[-68.59228290809462,47.702732705586506],[-68.58051467994115,47.67846010277113],[-68.56092098890394,47.6638876529085]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.52032792667272,\"lat\":47.76563762955178},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2413\"],\"cd_name_en\":[\"T\\u00e9miscouata\"],\"csd_code\":[\"2413050\"],\"csd_name_en\":[\"Lejeune\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscouata\",\"csd_name_fr\":\"Lejeune\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.49371749506433,47.66577310215774],[-69.53914238026691,47.697137582988404],[-69.54658068612864,47.706860038784086],[-69.52715048897974,47.72421144804693],[-69.55194779576036,47.72975298450677],[-69.57458278761234,47.736956101707776],[-69.60372012790009,47.73527087482376],[-69.62548178930794,47.716425757449635],[-69.64047760060745,47.71265999375819],[-69.65270684208022,47.71130957265158],[-69.66883830730357,47.6966654073813],[-69.64681322317587,47.68243969110908],[-69.6597877913071,47.67012303923319],[-69.67832201361384,47.64439458521225],[-69.65160756109285,47.62805034567314],[-69.6420837197199,47.63663306754815],[-69.62050218034257,47.63830471850898],[-69.60614708058858,47.64940855020603],[-69.5713121914615,47.629108387681036],[-69.57623913068133,47.62083031532242],[-69.53970279547951,47.596204815821686],[-69.50327198402691,47.65794853435225],[-69.49371749506433,47.66577310215774]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.58411044757075,\"lat\":47.67317048941688},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2414\"],\"cd_name_en\":[\"Kamouraska\"],\"csd_code\":[\"2414035\"],\"csd_name_en\":[\"Saint-Alexandre-de-Kamouraska\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Kamouraska\",\"csd_name_fr\":\"Saint-Alexandre-de-Kamouraska\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.63964468616457,46.875519192534746],[-71.68280320171895,46.905429881568175],[-71.70166609426644,46.91297167942823],[-71.67817292275173,46.94073385452983],[-71.68497336010755,46.95197439346001],[-71.71975655733866,46.928320261543796],[-71.70949393955463,46.918611555627976],[-71.73356122784554,46.90307563602268],[-71.70569948783876,46.88369292535412],[-71.71308607475795,46.878283858883506],[-71.70682245893225,46.86552775155127],[-71.71475962406456,46.85398740853405],[-71.69936980332926,46.84370407823938],[-71.63886814145944,46.80061991185852],[-71.59826138223669,46.80610563816683],[-71.58327335652045,46.794797442793275],[-71.5703053329124,46.796445807149134],[-71.55310362398438,46.78418435489765],[-71.5032660247905,46.79297130809248],[-71.49207449151068,46.80264125286457],[-71.5408551914251,46.8367615053922],[-71.5494450945211,46.85107644038055],[-71.53130594256979,46.854425997263235],[-71.57117165337857,46.87897858327696],[-71.60432227028727,46.86538471294411],[-71.62285934088386,46.86239671202008],[-71.63964468616457,46.875519192534746]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.62048110139548,\"lat\":46.847338045924666},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2422\"],\"cd_name_en\":[\"La Jacques-Cartier\"],\"csd_code\":[\"2422005\"],\"csd_name_en\":[\"Sainte-Catherine-de-la-Jacques-Cartier\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Jacques-Cartier\",\"csd_name_fr\":\"Sainte-Catherine-de-la-Jacques-Cartier\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.23199313420604,46.81398795083945],[-71.23185951770023,46.81515073268178],[-71.23482503590787,46.81505904366689],[-71.23461836407165,46.813424636767905],[-71.23199313420604,46.81398795083945]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.23340930260994,\"lat\":46.81440927290949},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2423\"],\"cd_name_en\":[\"Qu\\u00e9bec\"],\"csd_code\":[\"2423015\"],\"csd_name_en\":[\"Notre-Dame-des-Anges\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Qu\\u00e9bec\",\"csd_name_fr\":\"Notre-Dame-des-Anges\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.61833451427177,46.19242777602903],[-70.61444187932369,46.19661348243473],[-70.62849184378108,46.21905626531044],[-70.62116426560449,46.22410782680618],[-70.67309010642806,46.26269997630705],[-70.71619365874051,46.23452339105327],[-70.70637228899965,46.226757718959504],[-70.70348251422496,46.21233616147834],[-70.69057027453663,46.19384372313851],[-70.67735850109406,46.19632834091835],[-70.67521955435556,46.18108592262569],[-70.67788543984155,46.16621329549774],[-70.67036076093004,46.156222027234485],[-70.61833451427177,46.19242777602903]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.66377524546928,\"lat\":46.21309010395932},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2429\"],\"cd_name_en\":[\"Beauce-Sartigan\"],\"csd_code\":[\"2429125\"],\"csd_name_en\":[\"Saint-Simon-les-Mines\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Beauce-Sartigan\",\"csd_name_fr\":\"Saint-Simon-les-Mines\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.01265424994011,45.5200298570049],[-71.01225719210167,45.5305545430587],[-71.05375605683197,45.53114142188641],[-71.05240956595533,45.565230155197355],[-71.09478617702896,45.5648569073183],[-71.09536143660476,45.55550045989082],[-71.11592889190382,45.55519516850235],[-71.11595163328792,45.522730728402145],[-71.15857453078578,45.52285681942696],[-71.16026560494204,45.45825940923555],[-71.13300290623305,45.45825699516073],[-71.13233477157208,45.438679584178715],[-71.08270555388813,45.43882447656492],[-71.0830320557532,45.455817532775306],[-71.0134674745906,45.45564981081273],[-71.01365081160604,45.461749441989184],[-71.01265424994011,45.5200298570049]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.08539367184612,\"lat\":45.49746947672224},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2430\"],\"cd_name_en\":[\"Le Granit\"],\"csd_code\":[\"2430015\"],\"csd_name_en\":[\"Val-Racine\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Granit\",\"csd_name_fr\":\"Val-Racine\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.0905494895607,46.47082703589916],[-72.10739879831439,46.48311431588175],[-72.12891177876334,46.49863932809362],[-72.16151596170128,46.47429270319945],[-72.16978264826551,46.457575459456095],[-72.18189997758002,46.418559384660405],[-72.18721475077433,46.410180366838254],[-72.16641853827926,46.394667313161385],[-72.16128650299375,46.402281105421885],[-72.14831400926987,46.44232819725784],[-72.12838367330703,46.43584856003797],[-72.12329490933823,46.44841552512566],[-72.0905494895607,46.47082703589916]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.14403121604502,\"lat\":46.453366280709936},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2438\"],\"cd_name_en\":[\"B\\u00e9cancour\"],\"csd_code\":[\"2438060\"],\"csd_name_en\":[\"Sainte-C\\u00e9cile-de-L\\u00e9vrard\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"B\\u00e9cancour\",\"csd_name_fr\":\"Sainte-C\\u00e9cile-de-L\\u00e9vrard\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.01711344452005,45.881518511199694],[-72.0225587769749,45.87637333620364],[-72.05902808396102,45.89375444336805],[-72.07552512860521,45.87927636067627],[-72.09124828879804,45.888273097155135],[-72.11315778090425,45.86785402880471],[-72.14846617954775,45.88513562800198],[-72.17145759777202,45.86247984983385],[-72.13455379962554,45.84136375434004],[-72.1492980598885,45.82973014042669],[-72.09323179404912,45.79709553531258],[-72.02927658304408,45.85373399191562],[-72.02537706384844,45.85162289587516],[-72.00264448233388,45.87287944056555],[-72.01711344452005,45.881518511199694]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.08968530658109,\"lat\":45.851282566084016},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2439\"],\"cd_name_en\":[\"Arthabaska\"],\"csd_code\":[\"2439097\"],\"csd_name_en\":[\"Kingsey Falls\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Arthabaska\",\"csd_name_fr\":\"Kingsey Falls\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.89256247312574,45.78091790249048],[-71.87365131101556,45.79869852613117],[-71.90514530736094,45.80406178755802],[-71.92135708601012,45.79637455934168],[-71.9353988263536,45.787902397241304],[-71.96247324420095,45.788717203860855],[-71.96420445139861,45.78207982057055],[-71.98582749760592,45.770142790623915],[-71.99664459518839,45.77573241645585],[-72.01201263271231,45.76071271851638],[-71.9775081129781,45.7388990077194],[-71.95238424959126,45.76176852768887],[-71.92639158625708,45.754086489373755],[-71.89256247312574,45.78091790249048]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.94355478321602,\"lat\":45.77322578794996},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2440\"],\"cd_name_en\":[\"Les Sources\"],\"csd_code\":[\"2440043\"],\"csd_name_en\":[\"Val-des-Sources\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Sources\",\"csd_name_fr\":\"Val-des-Sources\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.13233477157208,45.438679584178715],[-71.13300290623305,45.45825699516073],[-71.16026560494204,45.45825940923555],[-71.25871841268024,45.46074072503756],[-71.34391106296395,45.46026232658902],[-71.34040384236332,45.35037542199478],[-71.23313757054771,45.35152291642931],[-71.23239885540995,45.343165343809225],[-71.13163688590075,45.34330692439823],[-71.13233477157208,45.438679584178715]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.23582355438386,\"lat\":45.403527736275905},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2441\"],\"cd_name_en\":[\"Le Haut-Saint-Fran\\u00e7ois\"],\"csd_code\":[\"2441027\"],\"csd_name_en\":[\"La Patrie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Saint-Fran\\u00e7ois\",\"csd_name_fr\":\"La Patrie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.27844461621666,45.51931901839451],[-72.2796705639953,45.54368649875307],[-72.23819176715907,45.54075602304468],[-72.23951310170983,45.56015026706322],[-72.29884289452757,45.589320744035064],[-72.31440104755347,45.59707233749292],[-72.34359582144519,45.598437289104076],[-72.35969105412318,45.588907913382855],[-72.36076320870461,45.567317571122274],[-72.37810595196147,45.566450401338976],[-72.37860762257964,45.52970987048651],[-72.2976605907515,45.53080624475613],[-72.29712122476256,45.52102586400777],[-72.27844461621666,45.51931901839451]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.31537144923601,\"lat\":45.55870876271393},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2442\"],\"cd_name_en\":[\"Le Val-Saint-Fran\\u00e7ois\"],\"csd_code\":[\"2442065\"],\"csd_name_en\":[\"Maricourt\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Val-Saint-Fran\\u00e7ois\",\"csd_name_fr\":\"Maricourt\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.53524364459095,45.388201672233684],[-72.52480811210651,45.36949911778794],[-72.49577824808044,45.36827330975038],[-72.49123286949043,45.38511590738946],[-72.53524364459095,45.388201672233684]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.51203401331811,\"lat\":45.37838337701176},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2447\"],\"cd_name_en\":[\"La Haute-Yamaska\"],\"csd_code\":[\"2447030\"],\"csd_name_en\":[\"Warden\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Haute-Yamaska\",\"csd_name_fr\":\"Warden\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.37860762257964,45.52970987048651],[-72.37810595196147,45.566450401338976],[-72.36076320870461,45.567317571122274],[-72.35969105412318,45.588907913382855],[-72.34359582144519,45.598437289104076],[-72.31440104755347,45.59707233749292],[-72.41948055589043,45.658759901953545],[-72.44583284204752,45.674401624521856],[-72.47137112477004,45.67356615819592],[-72.47335024072117,45.63027514746982],[-72.49555193790785,45.63024774256388],[-72.49663437520711,45.604106451725166],[-72.43945995565541,45.60369017970385],[-72.44191768521375,45.57383992593018],[-72.39943809852163,45.570990018934914],[-72.40232496263945,45.52826357802172],[-72.37860762257964,45.52970987048651]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.41481360041574,\"lat\":45.61093197292709},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2448\"],\"cd_name_en\":[\"Acton\"],\"csd_code\":[\"2448020\"],\"csd_name_en\":[\"Sainte-Christine\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Acton\",\"csd_name_fr\":\"Sainte-Christine\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.40916758604035,45.767007412606446],[-72.43118668038368,45.781049866914856],[-72.51434326781946,45.82808370528037],[-72.57578254111745,45.7772377640368],[-72.56272566031755,45.764992302650974],[-72.57793921983618,45.752514367960075],[-72.55188566643909,45.73729552388081],[-72.49012642144105,45.70078226711526],[-72.40916758604035,45.767007412606446]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.4989879926291,\"lat\":45.764649051354255},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2449\"],\"cd_name_en\":[\"Drummond\"],\"csd_code\":[\"2449040\"],\"csd_name_en\":[\"Wickham\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Drummond\",\"csd_name_fr\":\"Wickham\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.92130007047554,46.336262484325886],[-72.91966094405507,46.34679286296615],[-72.93023439413356,46.35361167610594],[-72.9306684251109,46.36728322362633],[-72.9523972485055,46.39005793201421],[-72.99123795347012,46.368520135441315],[-73.0064393456451,46.37950165632772],[-73.02093400060069,46.376234398784774],[-73.00301216180412,46.370351309923855],[-73.03689831902379,46.34474385113669],[-73.02976503770344,46.32496236306062],[-72.99611487763396,46.302604160385854],[-72.99506374197067,46.293962599251934],[-72.96144545301176,46.279869325279584],[-72.95316082521114,46.29151432442366],[-72.92460289448306,46.294585334768094],[-72.89583025508728,46.2743896641623],[-72.91302397572905,46.29575893889053],[-72.90643877842442,46.32370061697408],[-72.92130007047554,46.336262484325886]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.9678078573326,\"lat\":46.332922118385724},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2451\"],\"cd_name_en\":[\"Maskinong\\u00e9\"],\"csd_code\":[\"2451035\"],\"csd_name_en\":[\"Saint-L\\u00e9on-le-Grand\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Maskinong\\u00e9\",\"csd_name_fr\":\"Saint-L\\u00e9on-le-Grand\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.99682156743793,46.11232866178249],[-72.96580200154085,46.115121643778465],[-72.95734996161968,46.13485069842061],[-72.95842009137905,46.150247162706],[-72.97923126411675,46.16822133410918],[-72.9932638062406,46.16396120255824],[-73.01122748852255,46.15046405197153],[-73.03329519610556,46.14559456661136],[-73.08409807747321,46.124476576212174],[-73.09324674000669,46.10749565179029],[-73.10619207748351,46.102369693491696],[-73.12724936179711,46.08604496980202],[-73.1286522800764,46.07454019873999],[-73.15225907078435,46.06062290932209],[-73.1567966960984,46.04814188484589],[-73.15539003420902,46.04479035601655],[-73.12416873646416,46.05516792797557],[-73.0942541566164,46.05725717269709],[-73.04378191010227,46.10725183866104],[-72.99682156743793,46.11232866178249]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.04905823394202,\"lat\":46.11063776291877},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2452\"],\"cd_name_en\":[\"D'Autray\"],\"csd_code\":[\"2452045\"],\"csd_name_en\":[\"Saint-Ignace-de-Loyola\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"D'Autray\",\"csd_name_fr\":\"Saint-Ignace-de-Loyola\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.39204338648766,45.90523480185209],[-73.4212584806124,45.92619716679005],[-73.42991705509895,45.9244224845218],[-73.45054191600977,45.93964062898713],[-73.45637001561487,45.943759954961976],[-73.46280144091044,45.90468562135567],[-73.48163240966785,45.89637607321897],[-73.44814093794895,45.87325237969246],[-73.44455927864175,45.851764186597016],[-73.46164575303136,45.8516102579598],[-73.47995548709676,45.84014030564467],[-73.46944542238552,45.830800293102435],[-73.4975149272461,45.81312717252625],[-73.45813417060198,45.78123205478034],[-73.41600521379323,45.79546241158157],[-73.39506512216019,45.819873913575144],[-73.3863117453392,45.84336877549402],[-73.36366570173276,45.85598583507337],[-73.3448338652849,45.871344362918094],[-73.39204338648766,45.90523480185209]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.42648796394501,\"lat\":45.857782407678904},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2460\"],\"cd_name_en\":[\"L'Assomption\"],\"csd_code\":[\"2460028\"],\"csd_name_en\":[\"L'Assomption\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"L'Assomption\",\"csd_name_fr\":\"L'Assomption\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.23370925904011,46.055081215259094],[-73.25579463172772,46.0706585551905],[-73.2823322390579,46.075288975495134],[-73.29144470701095,46.0650021446044],[-73.32173341503443,46.055184407891545],[-73.3429534901466,46.05984920325884],[-73.35204939104455,46.056163400612654],[-73.39154860040604,46.06714868979197],[-73.38719805831099,46.03734027013956],[-73.40349063311079,46.033328129406264],[-73.40602707236009,46.00735437283207],[-73.37149927790556,45.982040613613144],[-73.37989026483315,45.97706147954322],[-73.37992894372182,45.95861146716943],[-73.3616648311594,45.94706368420749],[-73.3602745018689,45.9618673835584],[-73.35093385669292,45.96848963780917],[-73.32884749741237,45.95272110520513],[-73.33328529932878,45.961221506358626],[-73.31337233205393,45.976051264208515],[-73.3219426887325,45.98236565359695],[-73.27880862125413,46.01393371303066],[-73.26135955549438,46.04496324286136],[-73.23370925904011,46.055081215259094]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.3334250319454,\"lat\":46.02092423889034},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2461\"],\"cd_name_en\":[\"Joliette\"],\"csd_code\":[\"2461027\"],\"csd_name_en\":[\"Saint-Thomas\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Joliette\",\"csd_name_fr\":\"Saint-Thomas\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.41393750435032,46.33527953192269],[-73.39449157092594,46.34807755968489],[-73.47007658571279,46.402235870826146],[-73.44017067738103,46.423230565211746],[-73.49980041163079,46.46459711436165],[-73.49194275212868,46.46968288317009],[-73.51799679122547,46.48753923011463],[-73.64979333807291,46.41226640740783],[-73.67961944981327,46.39122824049178],[-73.68253220386255,46.38917221337065],[-73.60762580326721,46.33865855706597],[-73.55617716365875,46.29996009992507],[-73.531857608796,46.28414910921959],[-73.52232895374395,46.291960661538475],[-73.50704648423138,46.283502543576226],[-73.47844627000218,46.30159290989698],[-73.45326583815348,46.28249925677735],[-73.42659918252474,46.30129582736156],[-73.44047531672147,46.3109109486702],[-73.41393750435032,46.33527953192269]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.53121022987929,\"lat\":46.37778907235916},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2462\"],\"cd_name_en\":[\"Matawinie\"],\"csd_code\":[\"2462075\"],\"csd_name_en\":[\"Saint-Damien\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Matawinie\",\"csd_name_fr\":\"Saint-Damien\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.55003490619045,45.88895351243849],[-73.58796779363088,45.898837902368214],[-73.61274457301668,45.89072592097535],[-73.63540453522138,45.888540260834695],[-73.62534874702581,45.873580677282426],[-73.64911742580516,45.87572074124147],[-73.64275006964841,45.85840706825811],[-73.62452840448799,45.85799637554655],[-73.62603489861824,45.843484920533776],[-73.64137381038606,45.84811568098255],[-73.67689146904827,45.834908965464514],[-73.67649511675386,45.81743988408713],[-73.6985334664133,45.80453739630891],[-73.68731891700112,45.79476622333946],[-73.67076636186638,45.78764398441387],[-73.6514582545526,45.7984850750007],[-73.64489516710434,45.8141637916876],[-73.618304416887,45.79638622508834],[-73.59086279609619,45.8171389044122],[-73.57857016123573,45.8212845275045],[-73.55942036823379,45.824922621001356],[-73.55711264249237,45.836351312218646],[-73.5387124820504,45.84207337714656],[-73.53251306050065,45.87657593613513],[-73.55003490619045,45.88895351243849]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.6071695634019,\"lat\":45.845703113023795},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2463\"],\"cd_name_en\":[\"Montcalm\"],\"csd_code\":[\"2463035\"],\"csd_name_en\":[\"Saint-Roch-de-l'Achigan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Montcalm\",\"csd_name_fr\":\"Saint-Roch-de-l'Achigan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.89536610156722,45.52658260053769],[-73.86498968507341,45.5200205199172],[-73.80418274047766,45.51656903682714],[-73.76777613696913,45.51092728988251],[-73.69668116405207,45.54909604439335],[-73.67698307830106,45.55539160280196],[-73.66810222876563,45.57395053330435],[-73.64678771460419,45.59917950203494],[-73.63615670781245,45.62368663148841],[-73.60898187611103,45.645385757575156],[-73.53985500279913,45.67852479092058],[-73.52387253251807,45.69922319068586],[-73.55824534115135,45.70019375326903],[-73.59831216934518,45.68933487966786],[-73.61415814039854,45.69278056780869],[-73.65032234029657,45.6883562134477],[-73.68083786291258,45.694209096315376],[-73.69915737350233,45.683802346252236],[-73.7233542498376,45.68074527438019],[-73.74507631086621,45.66848239626233],[-73.76490623676986,45.65152405669614],[-73.76784545152506,45.64872150244062],[-73.78701167341531,45.63110535907063],[-73.79452239264528,45.6161927918344],[-73.80796546746612,45.61074046122766],[-73.82581123668247,45.60557080679905],[-73.83221601829572,45.58793395314549],[-73.84319804810661,45.57890046611031],[-73.86937208452379,45.56281427836363],[-73.88451200187826,45.55862646999094],[-73.88510794420033,45.54376387360818],[-73.88093342564052,45.53612146132683],[-73.89536610156722,45.52658260053769]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.72486408629359,\"lat\":45.60540773352817},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2465\"],\"cd_name_en\":[\"Laval\"],\"csd_code\":[\"2465005\"],\"csd_name_en\":[\"Laval\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Laval\",\"csd_name_fr\":\"Laval\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.39035226575558,45.35529854483078],[-73.39451610942581,45.372346026324735],[-73.38556142758078,45.398366988984336],[-73.38665189964664,45.413199942402315],[-73.43838281202943,45.41701484975867],[-73.4617701886819,45.42162248426836],[-73.48433316259639,45.4320699989365],[-73.52161447484555,45.4376513303657],[-73.54120003420466,45.420789792716945],[-73.53129126783507,45.41325999654423],[-73.50274962947937,45.4004878952467],[-73.48657923355549,45.38806868088049],[-73.47754090872807,45.39370225531449],[-73.44648460249849,45.37883540109514],[-73.39035226575558,45.35529854483078]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.45339604956614,\"lat\":45.40231819186128},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2467\"],\"cd_name_en\":[\"Roussillon\"],\"csd_code\":[\"2467015\"],\"csd_name_en\":[\"La Prairie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Roussillon\",\"csd_name_fr\":\"La Prairie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.46558429473376,45.100527072923484],[-74.4930057647962,45.06612706429449],[-74.55483946747925,45.04446922846354],[-74.59651067430198,45.041425760660445],[-74.65303922676085,45.01919770198155],[-74.66856844811268,45.004355079514035],[-74.66121368193012,44.999444398225904],[-74.64272203583089,44.99939379236526],[-74.6375402021639,44.99931973970421],[-74.61939958935221,45.00280308761279],[-74.60182109514737,45.018146698964564],[-74.57470510648882,45.0194220062987],[-74.54849901045345,45.03167960818858],[-74.52032258875246,45.03512050773441],[-74.51706818888775,45.02551138494733],[-74.53056381316497,45.019504903440605],[-74.54560389015536,44.998294268426754],[-74.49959700419485,44.997995939420264],[-74.35229963056956,44.99271597168748],[-74.38951873909745,45.02709515515947],[-74.46558429473376,45.100527072923484]],[[-74.61129519090363,45.02975378444717],[-74.63769081317626,45.00920069860425],[-74.6601247167218,45.01195380363788],[-74.61129519090363,45.02975378444717]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.48573235424374,\"lat\":45.03051864638245},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2469\"],\"cd_name_en\":[\"Le Haut-Saint-Laurent\"],\"csd_code\":[\"2469075\"],\"csd_name_en\":[\"Dundee\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Saint-Laurent\",\"csd_name_fr\":\"Dundee\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.3794752137846,46.12742658912254],[-74.4730394598518,46.13951453424101],[-74.485550922603,46.12602684779344],[-74.52829766090926,46.13142769380833],[-74.55478414386023,46.03814629269488],[-74.44641705064328,46.02688585653719],[-74.42834512544763,46.026815267024205],[-74.41262979684848,46.01892375493351],[-74.40788710400298,46.018689468376515],[-74.40163263427303,46.04275608242602],[-74.39884163561162,46.05382862376948],[-74.4174001473835,46.05586710786853],[-74.41366352822025,46.07141996598997],[-74.39784609807697,46.069066725548666],[-74.38640956010721,46.10920604311425],[-74.3794752137846,46.12742658912254]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.46676716386915,\"lat\":46.08125137568492},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2478\"],\"cd_name_en\":[\"Les Laurentides\"],\"csd_code\":[\"2478047\"],\"csd_name_en\":[\"Saint-Faustin--Lac-Carr\\u00e9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Laurentides\",\"csd_name_fr\":\"Saint-Faustin--Lac-Carr\\u00e9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.52829766090926,46.13142769380833],[-74.51844204745684,46.17187059215422],[-74.51309383532815,46.22213294115876],[-74.50407663117021,46.253094939635126],[-74.59336021012575,46.31433517425611],[-74.61337325436908,46.26185994896974],[-74.62828477335066,46.21686713075833],[-74.63758696863796,46.22144691375859],[-74.66019267253587,46.22078058186595],[-74.67755500080439,46.17378694556852],[-74.67257696753204,46.16255981946213],[-74.6441827686049,46.16301470496465],[-74.65935501927369,46.118045849519795],[-74.66406500886212,46.100134777172],[-74.64535319997532,46.096993215074775],[-74.64834334742216,46.084311525936826],[-74.62153505435603,46.08049910824332],[-74.63733694621673,46.05312887909092],[-74.61653263593823,46.050063159963756],[-74.56940606859636,46.03798727573801],[-74.55499439264938,46.03746271899489],[-74.55478414386023,46.03814629269488],[-74.52829766090926,46.13142769380833]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.5859477903563,\"lat\":46.169958810515496},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2478\"],\"cd_name_en\":[\"Les Laurentides\"],\"csd_code\":[\"2478102\"],\"csd_name_en\":[\"Mont-Tremblant\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Laurentides\",\"csd_name_fr\":\"Mont-Tremblant\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.32115983647358,46.66859928194747],[-75.3059452252105,46.6585661858069],[-75.28583339635347,46.67333240313678],[-75.25438328986529,46.69008151636856],[-75.24836006646177,46.686093743894006],[-75.22068213482626,46.72765203726366],[-75.18632031497238,46.75917674193055],[-75.1010870935787,46.847866847969236],[-75.15816389181933,46.88555441350965],[-75.16896254722245,46.858985798286845],[-75.18398875774625,46.85008261177738],[-75.18969588421518,46.82806720689791],[-75.21176022929224,46.808387345859494],[-75.22717698154513,46.81441391420934],[-75.23533992984423,46.80452349823812],[-75.27034339272886,46.78714617245467],[-75.30307949555208,46.801612847817786],[-75.3222916895522,46.78102356731432],[-75.30646165292087,46.76994739548078],[-75.31948216339973,46.75868534940106],[-75.36073930487723,46.73113376643737],[-75.35118869047608,46.724729656279635],[-75.3744818622333,46.707233486912436],[-75.32115983647358,46.66859928194747]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.24400725348941,\"lat\":46.762532684037964},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2479\"],\"cd_name_en\":[\"Antoine-Labelle\"],\"csd_code\":[\"2479105\"],\"csd_name_en\":[\"Lac-Saint-Paul\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Antoine-Labelle\",\"csd_name_fr\":\"Lac-Saint-Paul\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.2220065411841,45.81924337953944],[-75.24986997631966,45.81759223608718],[-75.25170242625184,45.86902905499455],[-75.39229802651414,45.85246744628423],[-75.51060208109234,45.84595348269022],[-75.5000000097646,45.79155432755736],[-75.48785505836045,45.707069074817156],[-75.37178163183908,45.71130608998537],[-75.37292246580058,45.719798885976864],[-75.27174333954551,45.72955858871915],[-75.22109817986355,45.734216883301094],[-75.21782165238123,45.74874190575259],[-75.2220065411841,45.81924337953944]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.36554112520867,\"lat\":45.786624298246295},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2480\"],\"cd_name_en\":[\"Papineau\"],\"csd_code\":[\"2480085\"],\"csd_name_en\":[\"Mulgrave-et-Derry\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Papineau\",\"csd_name_fr\":\"Mulgrave-et-Derry\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.35871220201781,45.6321393770637],[-75.36352719474345,45.67658220278548],[-75.37178163183908,45.71130608998537],[-75.48785505836045,45.707069074817156],[-75.52916695859862,45.7042936910168],[-75.55682400182216,45.701447322604416],[-75.54254150216883,45.60345054579071],[-75.53712155808822,45.57593688002819],[-75.53185795939372,45.539998651273656],[-75.43895096603205,45.54637731933856],[-75.44562260247471,45.5910416794685],[-75.35528320255887,45.59713808971406],[-75.35871220201781,45.6321393770637]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.46094117105449,\"lat\":45.63582680954323},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2482\"],\"cd_name_en\":[\"Les Collines-de-l'Outaouais\"],\"csd_code\":[\"2482005\"],\"csd_name_en\":[\"L'Ange-Gardien\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Collines-de-l'Outaouais\",\"csd_name_fr\":\"L'Ange-Gardien\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.69758671081485,45.8227715067529],[-76.71224408264021,45.815174735559616],[-76.73489187717762,45.81125450234515],[-76.74889976472758,45.81351270165828],[-76.76725642463832,45.80638920371319],[-76.7813928209274,45.785282115068085],[-76.77072307223287,45.758160461276105],[-76.76959413776048,45.733499030789275],[-76.74471078896077,45.723147004484765],[-76.7035978128168,45.72080990114452],[-76.69278273782557,45.708651525231545],[-76.69542608722801,45.69896735352633],[-76.6864629983307,45.68701191221917],[-76.7051148249888,45.67588736568094],[-76.71194453958194,45.6654822574895],[-76.69385452456325,45.647873641514614],[-76.66453159738441,45.658557546531036],[-76.63919530950974,45.65258857071302],[-76.63150007359664,45.659740989280785],[-76.6234230369759,45.68295599116189],[-76.60617660696224,45.70642222589961],[-76.60781852448558,45.723486141724315],[-76.60839400581887,45.73753091165061],[-76.62783741840576,45.76285603780011],[-76.66345781272302,45.77507848788702],[-76.68856526805541,45.80387739936366],[-76.69758671081485,45.8227715067529]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.68964111369219,\"lat\":45.73869002173504},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2484\"],\"cd_name_en\":[\"Pontiac\"],\"csd_code\":[\"2484035\"],\"csd_name_en\":[\"L'\\u00cele-du-Grand-Calumet\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Pontiac\",\"csd_name_fr\":\"L'\\u00cele-du-Grand-Calumet\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.37251953522421,47.30570979195138],[-79.392968280946,47.305150812390124],[-79.39278160453865,47.41497180919862],[-79.4142885729747,47.41019687352478],[-79.48648323964369,47.411109463390346],[-79.56679828253952,47.39887155740462],[-79.54013103079079,47.36616874393553],[-79.50907537992019,47.3370101539287],[-79.44854855511478,47.337552880612996],[-79.42817866039164,47.34220028234514],[-79.41510413405518,47.33737221648901],[-79.41513630012015,47.32086375408477],[-79.49314857712353,47.32074482408934],[-79.47784122822284,47.29847422885905],[-79.45035856457525,47.27723956717301],[-79.37219807956295,47.275267269128356],[-79.37251953522421,47.30570979195138]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.45415972919992,\"lat\":47.35321408035179},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2485\"],\"cd_name_en\":[\"T\\u00e9miscamingue\"],\"csd_code\":[\"2485030\"],\"csd_name_en\":[\"Duhamel-Ouest\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscamingue\",\"csd_name_fr\":\"Duhamel-Ouest\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.22141331271588,48.763539580925],[-79.27795721762284,48.76314889894173],[-79.278747524747,48.78213599443716],[-79.29913311605573,48.792346948976366],[-79.33714796862469,48.792469313250635],[-79.33731460999779,48.7632790558004],[-79.35863180954784,48.76353245588714],[-79.35892115893789,48.67753594653959],[-79.31201753762244,48.690630624126804],[-79.22974197892027,48.71551307746428],[-79.23904478089854,48.72306118723773],[-79.23533275504201,48.73426614683369],[-79.22141331271588,48.763539580925]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.30226098225367,\"lat\":48.73664473168286},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2487\"],\"cd_name_en\":[\"Abitibi-Ouest\"],\"csd_code\":[\"2487070\"],\"csd_name_en\":[\"Sainte-H\\u00e9l\\u00e8ne-de-Mancebourg\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi-Ouest\",\"csd_name_fr\":\"Sainte-H\\u00e9l\\u00e8ne-de-Mancebourg\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.99593335188456,48.517702080244355],[-78.00564428153739,48.515853082400504],[-78.10277369027469,48.51613382460396],[-78.10811939901193,48.500092900090216],[-78.10493017727829,48.48746885872059],[-78.12930021951578,48.47503185238796],[-78.13400819433373,48.466395518311394],[-78.09755895622907,48.465476117893594],[-78.08338389236566,48.44617031524202],[-78.04719990485987,48.4301728879327],[-78.0417315220744,48.41558951877377],[-78.04426416297557,48.400035602012885],[-77.99530963156822,48.4006651140555],[-77.99579812739448,48.430361264950115],[-77.96813845531244,48.43058435111696],[-77.96763004866176,48.47375102177859],[-77.99541096316848,48.47412204834777],[-77.99593335188456,48.517702080244355]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.03871913711006,\"lat\":48.46626745492403},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2488\"],\"cd_name_en\":[\"Abitibi\"],\"csd_code\":[\"2488040\"],\"csd_name_en\":[\"Saint-Marc-de-Figuery\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi\",\"csd_name_fr\":\"Saint-Marc-de-Figuery\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.20627651731014,48.63156086114391],[-78.06129806564257,48.632387846527934],[-78.05909979322894,48.66130820416678],[-78.02900481763699,48.661415536450725],[-78.03951488860854,48.675800613638216],[-78.03653833516903,48.719692912650686],[-78.18529639195604,48.71940910120311],[-78.18560298179973,48.70501515181478],[-78.20589701155662,48.70532867708337],[-78.20578225421303,48.67577801812471],[-78.20627651731014,48.63156086114391]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.1235785948736,\"lat\":48.67634411356515},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2488\"],\"cd_name_en\":[\"Abitibi\"],\"csd_code\":[\"2488060\"],\"csd_name_en\":[\"Saint-F\\u00e9lix-de-Dalquier\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi\",\"csd_name_fr\":\"Saint-F\\u00e9lix-de-Dalquier\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.7723944364797,48.454153906332124],[-71.79250966791587,48.46124233721069],[-71.795500059785,48.48634876355581],[-71.90218421377591,48.49270037510741],[-71.94891335100587,48.3765924671702],[-71.90228963128362,48.367099929715685],[-71.90518395588279,48.35131946457728],[-71.92739854326446,48.30434111741108],[-71.88425302143196,48.297574298948625],[-71.80482268392731,48.28519388457646],[-71.74423038337855,48.43226367869257],[-71.77797459639633,48.43933452667652],[-71.7723944364797,48.454153906332124]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.84794927984434,\"lat\":48.39284020869618},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2493\"],\"cd_name_en\":[\"Lac-Saint-Jean-Est\"],\"csd_code\":[\"2493012\"],\"csd_name_en\":[\"M\\u00e9tabetchouan--Lac-\\u00e0-la-Croix\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Lac-Saint-Jean-Est\",\"csd_name_fr\":\"M\\u00e9tabetchouan--Lac-\\u00e0-la-Croix\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.17231960473471,48.12473736486602],[-70.21631871008518,48.13831186311205],[-70.13392915518139,48.255682280395725],[-70.16804971896913,48.2648093372106],[-70.21002288329763,48.28191048885082],[-70.24545738653899,48.29968148188297],[-70.32902542867208,48.16986994526372],[-70.3592791728241,48.18093004725071],[-70.43345077054609,48.18499107605504],[-70.4375832744719,48.129878731800225],[-70.45876988711123,48.13073389852687],[-70.45959159786966,48.10147540779106],[-70.52989276504806,48.1016146442538],[-70.53065242558769,48.000201652949464],[-70.52556855969434,48.000200781640096],[-70.25939834749317,48.00001193086573],[-70.17231960473471,48.12473736486602]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.32831668434358,\"lat\":48.11577272725799},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2494\"],\"cd_name_en\":[\"Le Saguenay-et-son-Fjord\"],\"csd_code\":[\"2494210\"],\"csd_name_en\":[\"L'Anse-Saint-Jean\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Saguenay-et-son-Fjord\",\"csd_name_fr\":\"L'Anse-Saint-Jean\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-78.98517410474217,53.89992069015217],[-79.00520851620307,53.889942189676795],[-79.02777321517505,53.89299619894187],[-79.04305039463075,53.902587204803645],[-79.10158078616601,53.893096586419695],[-79.07774548826043,53.87941469057331],[-79.08414961762566,53.86269240483711],[-79.05902511928548,53.841184203856145],[-79.00761029646857,53.84647009646337],[-78.94012469012317,53.83824670620063],[-78.91459060064315,53.82468589004411],[-78.87012823797674,53.78850703456212],[-78.85021348826828,53.79661447580749],[-78.95212846630815,53.87992977140166],[-78.98517410474217,53.89992069015217]]],[[[-78.5135648740419,53.53239731549958],[-78.4679826180408,53.536307640616805],[-78.43213915245735,53.54370911425226],[-78.40655344083851,53.541664580352595],[-78.2553787949844,53.5421731852405],[-78.25489920560885,53.60450958474064],[-78.15621058910415,53.60228675555013],[-78.15176754568326,53.73082992748485],[-78.17273748316636,53.73351640594914],[-78.22331221723034,53.72618550140445],[-78.26885981710278,53.7226285043939],[-78.28580051407661,53.73021919835451],[-78.33709721286507,53.73524079411989],[-78.35480409359194,53.72772598878579],[-78.38862809861496,53.73776899876996],[-78.46856387781042,53.72189680204751],[-78.51516940475206,53.7224651881147],[-78.5135648740419,53.53239731549958]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.43009098061795,\"lat\":53.669447684525345},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499055\"],\"csd_name_en\":[\"Chisasibi\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village cri\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Chisasibi\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.82358870535795,45.54690800490841],[-74.77968901604974,45.63799245129012],[-74.80765163889473,45.63842198924677],[-74.82992031341266,45.635913179991476],[-74.8734579096186,45.641102424073075],[-74.92376779043866,45.64546924355962],[-74.94921690222819,45.64018775790995],[-74.96071575742164,45.63025602814902],[-74.98062738669744,45.61547401328918],[-75.00631197065344,45.60257702319337],[-75.03546627068302,45.59380818719842],[-75.0874644203751,45.58799787577038],[-75.11350228867788,45.57861828825651],[-75.15351674104294,45.578399666688405],[-75.16331473933194,45.577818535101756],[-75.1275256083606,45.50939994047671],[-75.09469251015855,45.442032765020954],[-74.9137667965802,45.49083569534465],[-74.88814647672854,45.44634976119963],[-74.86845381120703,45.452380090173705],[-74.82358870535795,45.54690800490841]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.96569469921953,\"lat\":45.547364995640294},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3502\"],\"cd_name_en\":[\"Prescott and Russell\"],\"csd_code\":[\"3502023\"],\"csd_name_en\":[\"Alfred and Plantagenet\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Prescott and Russell\",\"csd_name_fr\":\"Alfred and Plantagenet\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.51957087097803,44.732101359272505],[-75.60691138344414,44.83019732004929],[-75.64575519691567,44.87645985582206],[-75.69578482301972,44.845647511262506],[-75.78544097030938,44.793587107874984],[-75.7088263171021,44.69703440118897],[-75.63528182817802,44.609103997555],[-75.61833978917706,44.619643848699184],[-75.50490927280698,44.70536488110696],[-75.50079376026844,44.70752239425783],[-75.50271434630231,44.70978248969665],[-75.5218720340452,44.7011420204564],[-75.53918661655023,44.72086577678697],[-75.51957087097803,44.732101359272505]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.64389301392352,\"lat\":44.74533752457896},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3507\"],\"cd_name_en\":[\"Leeds and Grenville\"],\"csd_code\":[\"3507006\"],\"csd_name_en\":[\"Augusta\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Leeds and Grenville\",\"csd_name_fr\":\"Augusta\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.5414334350261,45.14424706972793],[-77.56148415869168,45.17551534936977],[-77.63600440493342,45.312476080824226],[-77.78042841360154,45.27366796582445],[-77.70594291028681,45.13623512937621],[-77.68269888644355,45.09520717472366],[-77.6301598790939,44.99558878244443],[-77.48071442062952,45.03368991112569],[-77.51952697667782,45.102588992086964],[-77.52484185948383,45.106381858754084],[-77.5414334350261,45.14424706972793]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.63159461219493,\"lat\":45.153272585880146},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3512\"],\"cd_name_en\":[\"Hastings\"],\"csd_code\":[\"3512065\"],\"csd_name_en\":[\"Carlow\\/Mayo\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Hastings\",\"csd_name_fr\":\"Carlow\\/Mayo\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.97393221844247,44.147764788149615],[-78.03051413797039,44.27219428844393],[-78.04503932693346,44.26191954305771],[-78.06147791708236,44.25991221514069],[-78.08183201108551,44.25449460932099],[-78.1452053454133,44.19387524343055],[-78.17854700875623,44.1712951222802],[-78.11821009781713,44.04622673150403],[-78.06530063909557,43.93087082267655],[-78.00187906331797,43.93836263865485],[-77.88993132859437,43.961413322681224],[-77.97393221844247,44.147764788149615]],[[-78.10526457329222,44.17149366205087],[-78.14059210261684,44.16237879037966],[-78.14385610439034,44.170149330568016],[-78.10892022475417,44.1791371323432],[-78.10526457329222,44.17149366205087]],[[-78.0694694931349,44.185698891802794],[-78.06225755919988,44.16693096864901],[-78.09166390730095,44.160000642023874],[-78.09977080863162,44.1815654898856],[-78.0694694931349,44.185698891802794]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.03719655680958,\"lat\":44.08617786012067},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3514\"],\"cd_name_en\":[\"Northumberland\"],\"csd_code\":[\"3514024\"],\"csd_name_en\":[\"Alnwick\\/Haldimand\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Northumberland\",\"csd_name_fr\":\"Alnwick\\/Haldimand\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.49949149997964,44.016470498375156],[-79.41142457598518,44.035510097357914],[-79.42024281629729,44.06846680423461],[-79.42237516855296,44.08392497118972],[-79.50940675604701,44.063640380667216],[-79.49949149997964,44.016470498375156]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.46077392876113,\"lat\":44.04980515626607},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3519\"],\"cd_name_en\":[\"York\"],\"csd_code\":[\"3519048\"],\"csd_name_en\":[\"Newmarket\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"York\",\"csd_name_fr\":\"Newmarket\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.16911470666864,43.041634821285186],[-79.17499179359895,43.058901685652664],[-79.17607461142445,43.14121505403479],[-79.17744441587885,43.140798455754535],[-79.24868356199734,43.11529763941176],[-79.27439202745244,43.10457848836732],[-79.2872838102264,43.10869648640867],[-79.28571753433239,43.05887981711045],[-79.26768335166346,43.05433297742906],[-79.26745108371017,43.02667953433529],[-79.20561833643502,43.028710566419825],[-79.20225191192175,43.03959137846817],[-79.18673662550623,43.03608296928754],[-79.16911470666864,43.041634821285186]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.22517915595301,\"lat\":43.078337233844344},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3526\"],\"cd_name_en\":[\"Niagara\"],\"csd_code\":[\"3526037\"],\"csd_name_en\":[\"Thorold\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Niagara\",\"csd_name_fr\":\"Thorold\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.87143715025184,43.0483311749099],[-80.88024121117206,43.05266370912662],[-80.9081658870278,43.044611495150626],[-80.90838099579906,43.027345253913715],[-80.88048251764778,43.01058339375753],[-80.85676450388524,43.02581979900748],[-80.85671920908551,43.038088352143404],[-80.87143715025184,43.0483311749099]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.88280317606623,\"lat\":43.03285044301048},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3532\"],\"cd_name_en\":[\"Oxford\"],\"csd_code\":[\"3532018\"],\"csd_name_en\":[\"Ingersoll\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Oxford\",\"csd_name_fr\":\"Ingersoll\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.49487880510124,43.41632780846748],[-81.5341452429517,43.60553756404589],[-81.54632369850916,43.59300540933025],[-81.56693773859753,43.581721853480836],[-81.58717465857595,43.582114891689734],[-81.58063355528805,43.55618919665452],[-81.60075560833295,43.54772485268871],[-81.61303003315692,43.553255807053745],[-81.63930184233755,43.55507033934372],[-81.65852376165071,43.56878724238711],[-81.67484283752252,43.57411715797297],[-81.6901802350953,43.56558747079887],[-81.70793683052207,43.572138650763854],[-81.70710101086584,43.548915080974574],[-81.72204721734394,43.54858699188377],[-81.71850321437726,43.497185049610266],[-81.73496616398428,43.452709557116236],[-81.7398025636785,43.3960163854187],[-81.7527429760719,43.34519706616229],[-81.73673541616141,43.335352804476756],[-81.49639193986518,43.36033837694251],[-81.48430052201033,43.36543198568986],[-81.49487880510124,43.41632780846748]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.61883233561025,\"lat\":43.45205158132778},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3540\"],\"cd_name_en\":[\"Huron\"],\"csd_code\":[\"3540010\"],\"csd_name_en\":[\"Bluewater\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Huron\",\"csd_name_fr\":\"Bluewater\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.59788257551777,45.35437754721907],[-79.66369484286307,45.47480607279709],[-79.73414067851076,45.453631082829375],[-79.90497123564393,45.40832795965378],[-79.88621578333193,45.373888990844264],[-80.00150100004183,45.34278418445572],[-80.01505345874399,45.33044888562561],[-80.04751111492712,45.32621855004006],[-80.05056975300612,45.33009155386311],[-80.04858215658547,45.31390810487801],[-80.01238616386367,45.24560728253655],[-80.00341482176472,45.225596368727736],[-79.87547030347739,45.25967962039419],[-79.83161900771125,45.181804601731784],[-79.8104923383191,45.18724295191097],[-79.79833717281248,45.171470659885266],[-79.78357151518884,45.16654139629488],[-79.77487713701298,45.168692421586705],[-79.60629071707147,45.21488970347281],[-79.62080863234495,45.23110501688251],[-79.62449414730797,45.24486639730126],[-79.67258686824141,45.33436495005457],[-79.59788257551777,45.35437754721907]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.79455584779869,\"lat\":45.31508421314161},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3549\"],\"cd_name_en\":[\"Parry Sound\"],\"csd_code\":[\"3549003\"],\"csd_name_en\":[\"Seguin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Parry Sound\",\"csd_name_fr\":\"Seguin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.56625560544633,46.27941576869749],[-81.56710680644301,46.36624593477542],[-81.59748146044032,46.365966168723524],[-81.5972910868681,46.39611413425454],[-81.5670037620384,46.39649824648706],[-81.5678666091145,46.45316800426524],[-81.69413564443816,46.452047451936664],[-81.69168313574103,46.365432863815215],[-81.6905967240934,46.27849279293073],[-81.56625560544633,46.27941576869749]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.63158297461113,\"lat\":46.365366962930636},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3552\"],\"cd_name_en\":[\"Sudbury\"],\"csd_code\":[\"3552031\"],\"csd_name_en\":[\"Nairn and Hyman\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Sudbury\",\"csd_name_fr\":\"Nairn and Hyman\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-86.43678056815418,49.752667522226574],[-86.43679061468954,49.762479151736265],[-86.49957058320058,49.76236830358061],[-86.51065244772963,49.767119221833035],[-86.54474484723053,49.76228985339751],[-86.58115303473502,49.73832510667612],[-86.5979886557252,49.718012020683624],[-86.61665468396666,49.70400206922046],[-86.53024224901573,49.70327448233386],[-86.43742056427446,49.70441844023561],[-86.43678056815418,49.752667522226574]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-86.51154930372012,\"lat\":49.73122816717555},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3558\"],\"cd_name_en\":[\"Thunder Bay\"],\"csd_code\":[\"3558067\"],\"csd_name_en\":[\"Ginoogaming First Nation\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Thunder Bay\",\"csd_name_fr\":\"Ginoogaming First Nation\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-93.42929550106827,49.885990592953405],[-93.46940315327632,49.88622011225846],[-93.46942289597388,49.8226416733508],[-93.45783371364392,49.82443072747405],[-93.4363441284596,49.80947493974812],[-93.41621430320953,49.80896433241544],[-93.39702653782864,49.81479712743044],[-93.39908387061193,49.84351823890844],[-93.3763622675684,49.853101338421055],[-93.3549314694832,49.848285028499156],[-93.34495566837232,49.8322961177801],[-93.3348994354387,49.83391762013446],[-93.33676899248468,49.88692813188416],[-93.42929550106827,49.885990592953405]]],[[[-93.05738418107349,49.77386171223993],[-93.07074288154678,49.78387689350005],[-93.07101882789144,49.88719388649331],[-93.10759096474867,49.888108395552784],[-93.20452941270165,49.886815594424775],[-93.20315891376346,49.799851082481126],[-93.37838673636108,49.80006602311721],[-93.37855382221566,49.7132062257921],[-93.17255909315494,49.71429661833262],[-93.07057451616792,49.71395271095163],[-93.06935676053197,49.73755602984712],[-93.09238862666568,49.74719505129556],[-93.08145274179478,49.77019215360161],[-93.05738418107349,49.77386171223993]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-93.23485279254999,\"lat\":49.79580057807303},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560021\"],\"csd_name_en\":[\"Machin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Machin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-81.63911430057462,52.28757761139593],[-81.64580093401526,52.28094122342672],[-81.67931180746275,52.27760122441038],[-81.68652081642901,52.273104103325956],[-81.68646781354899,52.26520721775055],[-81.6619989258056,52.26601131418406],[-81.64622363497678,52.274490126282316],[-81.63911430057462,52.28757761139593]]],[[[-81.5519787937086,52.30277491086642],[-81.51129411713787,52.323685299175416],[-81.54392051154583,52.36340700734685],[-81.54465560491798,52.388075912040726],[-81.53272293331442,52.40034032644088],[-81.56662257040941,52.40101741659631],[-81.80001724213022,52.399832835005746],[-81.8027404474045,52.385739989157194],[-81.87100521923568,52.38665241352642],[-81.86997913675359,52.32243879785194],[-81.88771313954675,52.31323613770047],[-81.89249151536829,52.29974071783139],[-81.91542623018557,52.282831117972755],[-81.92414244091778,52.257708939814414],[-81.94097249979652,52.23154662412286],[-81.95695552514944,52.22310751312185],[-81.96696480133035,52.195942208500256],[-81.93342081760616,52.20184592515897],[-81.9096977295029,52.21848022557842],[-81.88153613098612,52.23183071639537],[-81.87235512409387,52.24061541365157],[-81.83343093738269,52.23985830837721],[-81.818737135023,52.247111923363704],[-81.77472833065333,52.25138120540974],[-81.73987113022679,52.25958100934876],[-81.70919903406474,52.25894900542029],[-81.69535613050769,52.26403272694112],[-81.6876265059064,52.27603621254623],[-81.6800419173119,52.27846781685792],[-81.6530689035683,52.28034791182989],[-81.64499201858814,52.28636600643365],[-81.62770131881044,52.29428352349504],[-81.58632081070415,52.29555421044156],[-81.5519787937086,52.30277491086642]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.73534214699552,\"lat\":52.3225869693807},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560050\"],\"csd_name_en\":[\"Fort Albany (Part) 67\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Fort Albany (Part) 67\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-95.12937595358574,49.600053544305965],[-95.11021316903606,49.607583125834715],[-95.13000635409219,49.60854941722792],[-95.12937595358574,49.600053544305965]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-95.12319849223799,\"lat\":49.6053953624562},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560064\"],\"csd_name_en\":[\"Shoal Lake 34B2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Shoal Lake 34B2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-94.29518905413899,52.119367044591954],[-94.32085152622612,52.11472283634322],[-94.32143693237342,52.103940823690785],[-94.2993189319971,52.097287242312134],[-94.27646303307573,52.0982473257279],[-94.26577665413161,52.11667871126883],[-94.29518905413899,52.119367044591954]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-94.29431239303229,\"lat\":52.10861029747501},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560067\"],\"csd_name_en\":[\"Poplar Hill\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Poplar Hill\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-94.08465969462004,52.65405332895138],[-94.1395244548182,52.64641113660779],[-94.13258895204739,52.638736245125095],[-94.10508854472275,52.63110523628842],[-94.08500172582892,52.63295182785937],[-94.06849162433193,52.62595294556345],[-94.0592260597908,52.61459413415918],[-94.03584452677765,52.62289934440272],[-94.04997923836567,52.64252378369141],[-94.06377903616277,52.6507033447762],[-94.08465969462004,52.65405332895138]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-94.08193753668478,\"lat\":52.638097905217705},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560070\"],\"csd_name_en\":[\"Deer Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Deer Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-89.68082172725205,53.730068723409445],[-89.68927164540179,53.72480952264879],[-89.6843852420486,53.70757674253743],[-89.65586563666797,53.714692034256416],[-89.65366794925347,53.72549121817873],[-89.68082172725205,53.730068723409445]]],[[[-89.64316182384323,53.709238624826426],[-89.67810704644992,53.706669144027295],[-89.6978724137755,53.69577203765363],[-89.68057034164065,53.68923432830516],[-89.6652503356185,53.69946153807978],[-89.63973571164796,53.699037427499505],[-89.64316182384323,53.709238624826426]]],[[[-89.61969432580935,53.80661544853946],[-89.6938049290386,53.83504238095447],[-89.69752721636603,53.82242892121875],[-89.71295553516522,53.823703633307076],[-89.7330257413242,53.8124244392269],[-89.75423334674319,53.81751304182259],[-89.76937284675492,53.83863523480642],[-89.75856931575368,53.84966962625417],[-89.99756333551754,53.91163471390911],[-90.03656144637887,53.910928015233964],[-90.14506972811347,53.900892437535504],[-90.18278781258573,53.88999743072762],[-90.19290334590524,53.89066102409884],[-90.2764981359163,53.88132682842679],[-90.27001583309733,53.86676367985759],[-90.25594252425365,53.85824633773818],[-90.26452231690091,53.842538322336694],[-90.25701383088101,53.820581744377655],[-90.14496298348811,53.779308751521405],[-90.01285229397253,53.7251763123793],[-89.93956804516709,53.719436451425295],[-89.74467837836532,53.70221967160842],[-89.71181158602992,53.7222869161728],[-89.6776102234656,53.75037203764991],[-89.65564483462497,53.75235572197589],[-89.63868342258627,53.743831236121366],[-89.60865420704978,53.768331124608565],[-89.59535683211932,53.771655326283636],[-89.58144841615966,53.758923531626195],[-89.56145081896011,53.762179027462736],[-89.54429214674981,53.78228761967663],[-89.61969432580935,53.80661544853946]],[[-89.88144982573581,53.83227115663478],[-89.86639019778218,53.82083070590756],[-89.90575706627567,53.8035987022233],[-89.91710509831697,53.82002428689913],[-89.88929932022764,53.82338152914127],[-89.88144982573581,53.83227115663478]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-89.93397673794892,\"lat\":53.806614826395204},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560075\"],\"csd_name_en\":[\"Kitchenuhmaykoosib Aaki 84\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Kitchenuhmaykoosib Aaki 84\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-87.62151301870999,56.00977315770245],[-87.67836775896838,56.05944750025647],[-87.72302446592663,56.04442971491226],[-87.67605416880569,55.99739007525889],[-87.79280620183998,55.96360317503593],[-87.78078852323212,55.94818814012822],[-87.75927002393985,55.95767933833818],[-87.716888331792,55.96148273939506],[-87.68353710457056,55.979028035997096],[-87.64843621784796,55.98328884327814],[-87.61081069400569,56.00053126852173],[-87.62151301870999,56.00977315770245]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-87.68853189858189,\"lat\":56.00323783805359},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560078\"],\"csd_name_en\":[\"Fort Severn 89\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Fort Severn 89\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-95.69765848616159,49.413928173779986],[-95.69780272750768,49.5324740506214],[-95.56402870028494,49.53499130976837],[-95.40759407161187,49.5321577198647],[-95.40788896019612,49.66480937107982],[-95.54386329844384,49.66490695545792],[-95.54394985302008,49.812232517657705],[-95.49851796220966,49.812313987435495],[-95.4991174883653,49.9010831006052],[-95.52582401466877,49.90097650825743],[-95.55166714049625,49.88594192219708],[-95.63974077486071,49.886041668706056],[-95.63976184310944,49.90135854576029],[-95.66246604740728,49.9013620370513],[-95.66248096343256,49.91589661337371],[-95.68519493287621,49.915913442559706],[-95.68531549057646,50.105179691717055],[-95.82069812176684,50.105019810141805],[-95.82037810497144,50.032945908487136],[-95.82346964215579,50.00032378705404],[-95.82142980055073,49.977953906099664],[-95.82043205351054,49.88618410446224],[-95.81569878271246,49.886120516438986],[-95.8156662834464,49.79741448905733],[-96.09207654191744,49.79591613402787],[-96.09219919006863,49.884578506391286],[-96.08625910266774,49.884518985652306],[-96.0856872900835,50.061262410987965],[-96.3604725191477,50.061526009781964],[-96.36097914581293,49.97294583418447],[-96.35674850236728,49.88509940236668],[-96.36571438169432,49.88484886313407],[-96.36571089003905,49.79605492545214],[-96.36717337477805,49.70727105539208],[-96.36567008440366,49.66359499607534],[-96.3675403533986,49.53214023289177],[-96.37538718177872,49.532171174655424],[-96.37469991619261,49.41389301035568],[-96.1033074924959,49.41395841667389],[-95.69765848616159,49.413928173779986]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-95.96157857089784,\"lat\":49.704408623446156},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4601\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4601043\"],\"csd_name_en\":[\"Reynolds\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Reynolds\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-95.82119160192381,50.129361595845296],[-95.82085957302503,50.14129844468256],[-95.83963704129982,50.124013439101795],[-95.87273163439532,50.13435663546798],[-95.86281106470392,50.11490402839493],[-95.8440710424284,50.11139093854147],[-95.82119160192381,50.129361595845296]]],[[[-95.82108750084542,50.19240698149629],[-95.82121798381897,50.22161202388489],[-95.81002556618884,50.22157266078757],[-95.809340570416,50.33633424831988],[-95.81440885673534,50.36685459110968],[-95.8097057194912,50.39589298040161],[-95.96651985685303,50.39624842169425],[-96.07534625101705,50.39712621386971],[-96.0752542683098,50.415086044858995],[-96.21525287158956,50.414734463973566],[-96.3532902149287,50.415161287364974],[-96.35315818449247,50.326833887509615],[-96.35295451469909,50.2827070921169],[-96.35286130996653,50.23859160149685],[-96.36086120535899,50.23849478763012],[-96.36017202039642,50.199942696817274],[-96.3604725191477,50.061526009781964],[-96.0856872900835,50.061262410987965],[-96.08742365826993,50.13426324983758],[-96.04341517354712,50.134620764671546],[-96.02325387482828,50.11667582333615],[-95.99887454436396,50.13244752386552],[-95.98799418166912,50.13439351354769],[-96.03206106372298,50.13455658014688],[-96.0489321655185,50.14136903269372],[-96.05880187841439,50.16439977977955],[-96.09780299507084,50.164627511861646],[-96.09761013459867,50.194581243181304],[-96.06321814399973,50.193297923646924],[-96.06333488585041,50.207958184094366],[-95.95851396359166,50.20861333138373],[-95.9585376028019,50.194138044327126],[-95.93143771674163,50.196626583885525],[-95.92749938084656,50.20803084208509],[-95.84397370489863,50.20779198090367],[-95.84394124186025,50.159137540601414],[-95.82091140354905,50.152924238117286],[-95.82108750084542,50.19240698149629]],[[-96.06811160098349,50.25107399477154],[-96.05469755379495,50.25018583722104],[-96.06279437221922,50.2410353296179],[-96.06811160098349,50.25107399477154]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-96.12108964908866,\"lat\":50.25773754163494},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4601\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4601057\"],\"csd_name_en\":[\"Lac du Bonnet\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Lac du Bonnet\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-95.28157817888457,48.9988635329764],[-95.26457132172557,49.00141309741729],[-95.23241296869946,48.99949053420989],[-95.22132676817087,49.01722313356815],[-95.21961515833561,49.03555052888407],[-95.24817330757789,49.03593391771744],[-95.284119132377,49.023573195549424],[-95.30558175746503,49.02347394810813],[-95.30571809085613,49.015227250387944],[-95.29641874968765,48.9988879413903],[-95.28157817888457,48.9988635329764]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-95.2596143276794,\"lat\":49.016221431425855},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4601\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4601070\"],\"csd_name_en\":[\"Buffalo Point 36\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Buffalo Point 36\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-99.49267051606358,50.24052010827869],[-99.66080999511563,50.239960001911314],[-99.65971030907284,50.16633360089706],[-99.66016660487344,50.063404002400816],[-99.65999906133146,49.88660591973558],[-99.644444940468,49.8865468913463],[-99.64340593028112,49.797927072795616],[-99.50482857792979,49.79778089915381],[-99.23451232001611,49.79785652796982],[-99.2344377078489,49.75361621796739],[-99.09757826841084,49.753565016781536],[-99.09786461181238,49.79806829290119],[-99.09768883711723,49.88654778947207],[-99.11039031223896,49.89846928757215],[-99.11044730902185,50.06351980673649],[-99.24804192594262,50.06342617189524],[-99.24919053574848,50.15533479371472],[-99.24799619106619,50.24038260972482],[-99.40071847414362,50.24052389745201],[-99.43113909510383,50.24052640792411],[-99.43166128325748,50.211384705198085],[-99.48857827285161,50.21040446035451],[-99.49267051606358,50.24052010827869]],[[-99.35243087524769,49.873777474209774],[-99.31595400297734,49.87131789739601],[-99.3152142231728,49.86186098936991],[-99.38340308748762,49.86738563030638],[-99.36059840267748,49.88051239287477],[-99.35243087524769,49.873777474209774]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-99.398153696413,\"lat\":49.99686093008578},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4607\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4607066\"],\"csd_name_en\":[\"North Cypress-Langford\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"North Cypress-Langford\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-99.9371078240855,49.89868129161419],[-99.9370445364082,49.89655188425507],[-99.9349543677506,49.89656235320641],[-99.93495441630893,49.898684750392256],[-99.9371078240855,49.89868129161419]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-99.93601596494337,\"lat\":49.89762533906481},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4607\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4607072\"],\"csd_name_en\":[\"Waywayseecappo Highway 10\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Waywayseecappo Highway 10\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-96.35295451469909,50.2827070921169],[-96.6039353054975,50.28159416610359],[-96.62825570707066,50.28365238923881],[-96.62710306586655,50.2393508418347],[-96.6799162827528,50.239486708068966],[-96.68000411218654,50.150633694197005],[-96.7030214005651,50.15065330060514],[-96.70391580020075,50.091320001170025],[-96.71705176637465,50.090642174519346],[-96.7166099982135,50.069445710392465],[-96.7044608969586,50.0623569998859],[-96.63553499844305,50.06196220349877],[-96.63651202041295,49.973243007128765],[-96.36097914581293,49.97294583418447],[-96.3604725191477,50.061526009781964],[-96.36017202039642,50.199942696817274],[-96.36086120535899,50.23849478763012],[-96.35286130996653,50.23859160149685],[-96.35295451469909,50.2827070921169]],[[-96.52098959215346,50.06719018799272],[-96.52093900796282,50.0768412082094],[-96.49792201314453,50.076482089089325],[-96.5089944931663,50.0535149923306],[-96.52678054808655,50.05109174716969],[-96.52098959215346,50.06719018799272]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-96.51522473653279,\"lat\":50.12918938021918},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4612\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4612054\"],\"csd_name_en\":[\"Brokenhead\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Brokenhead\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.22956161560529,50.59433660126787],[-101.22966468524525,50.85971058889804],[-101.50884240637453,50.859814687312834],[-101.50879368039081,50.68310989452072],[-101.50872882326924,50.59439335052608],[-101.47699491379564,50.59438750561971],[-101.41575743193651,50.59411390546726],[-101.39589775460718,50.59428395972073],[-101.3927461948212,50.59430050557701],[-101.39277656677832,50.60214901934111],[-101.36948636656568,50.60215688690766],[-101.36941652738807,50.59430740720656],[-101.22956161560529,50.59433660126787]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.3691875875246,\"lat\":50.72735198110917},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4616\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4616030\"],\"csd_name_en\":[\"Russell-Binscarth\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Russell-Binscarth\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-99.27524221248399,50.86015746410721],[-99.27557606226557,50.94895158811853],[-99.2897502601269,50.948968571829845],[-99.289703581312,51.03690525424544],[-99.35988211285765,51.037130735552005],[-99.36013300943397,51.12567290880712],[-99.43029540005762,51.125597588237255],[-99.43001303484395,51.184545195591],[-99.54759920747328,51.184618587302786],[-99.54727822232874,51.12535024838849],[-99.59395636106815,51.12558407310132],[-99.59347774718775,50.94863592807072],[-99.57874641431121,50.94873039212311],[-99.57857529811857,50.86035949992513],[-99.27524221248399,50.86015746410721]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-99.44979705085152,\"lat\":51.000038052650176},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4617\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4617041\"],\"csd_name_en\":[\"Ste. Rose\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Ste. Rose\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-100.27598979082522,51.36177848816738],[-100.60377001847347,51.361895197050174],[-100.60197539716704,51.3026215030524],[-100.60173595420378,51.03027119983463],[-100.60097196153339,50.948285122800684],[-100.27345795710751,50.94861881793434],[-100.27409798516561,51.09595080400447],[-100.2731450973444,51.166539804229906],[-100.27598979082522,51.36177848816738]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.43804249908976,\"lat\":51.15509256306566},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4617\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4617054\"],\"csd_name_en\":[\"Gilbert Plains\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Gilbert Plains\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.46205753365984,51.30403475377165],[-97.4621905927729,51.2151005917515],[-97.74335939021262,51.2151576929139],[-97.74268851886033,51.28705518762785],[-97.74363008200933,51.303521590092906],[-97.88429893618158,51.30352619463904],[-97.88380170355379,51.21517178591383],[-97.88405795918048,51.12654203002952],[-97.95322458606219,51.12647845737427],[-97.95347799958219,51.03812918163291],[-97.88410233770551,51.038343649360996],[-97.88390759771464,50.94989946348658],[-97.8783067039553,50.9498538195479],[-97.87850480449502,50.86058442193124],[-97.72905354669973,50.860355226000344],[-97.46284078173711,50.860645391382626],[-97.4629010855076,50.96459970387765],[-97.46155715080162,51.03830889570362],[-97.39156949266292,51.03825589674025],[-97.39173169269219,51.06775569925659],[-97.368324414007,51.06773698644017],[-97.36777433250455,51.17106745249502],[-97.3688050920243,51.22277489509394],[-97.36827137265021,51.303184790367766],[-97.46205753365984,51.30403475377165]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.6571656400994,\"lat\":51.071237049707705},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4618\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4618068\"],\"csd_name_en\":[\"Fisher\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Fisher\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-100.8463349430137,52.498813875895934],[-100.85055350074028,52.529067332506614],[-100.86058815578139,52.52910064163364],[-100.8793512159703,52.51162841598531],[-100.8778116424642,52.49890251848072],[-100.8463349430137,52.498813875895934]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.86168789233322,\"lat\":52.51169077577646},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4619\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4619071\"],\"csd_name_en\":[\"Swan Lake 65C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Swan Lake 65C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-95.00263702525196,53.80233834414363],[-94.98814473317553,53.78818763769219],[-94.96030575428132,53.78555184897786],[-94.94899693833737,53.76983663639546],[-94.95974399741297,53.74044144754833],[-94.99299993867028,53.746178024788904],[-95.00230258911452,53.7348961411652],[-94.9619070234131,53.722118438277874],[-94.98113646795832,53.7121798271115],[-94.97381497120045,53.70217384074311],[-95.09332803859019,53.69026176263283],[-95.06577413603846,53.678381344959234],[-95.02907422112817,53.68752392933394],[-95.0014909584394,53.6805005383571],[-94.96111624619616,53.7022878345726],[-94.97350542526625,53.71380074136341],[-94.94522934532228,53.73104381729365],[-94.93812733480036,53.75494265057579],[-94.91885483163163,53.75670982947412],[-94.92092792726015,53.77444783667026],[-94.91250553868464,53.78459232706989],[-94.89461253199599,53.788821232377856],[-94.89408912933483,53.8104751428548],[-94.87611734303482,53.81086683991438],[-94.8713811329262,53.820036428599664],[-94.88709142730292,53.82926603613989],[-94.88762485874753,53.8418569493077],[-94.91381393615801,53.83931554799981],[-94.94013423721694,53.82971955016081],[-94.98598514800496,53.83320463954652],[-94.99060341098638,53.841011978399195],[-94.98780350989418,53.79890286962086],[-95.00263702525196,53.80233834414363]]],[[[-94.86055394474904,53.806429146522845],[-94.84619233102953,53.81447992545917],[-94.84765234672147,53.83109814748652],[-94.8653759457616,53.829560636245844],[-94.86405493329805,53.80647925077179],[-94.8806870541694,53.79995322888309],[-94.89815203492785,53.768367231770526],[-94.89058074262147,53.76506443093718],[-94.90697542230338,53.73935703080858],[-94.9277584280829,53.72435813477747],[-94.95423603848383,53.71897854632528],[-94.9432647515714,53.70854093424147],[-94.96331993031524,53.68214614821481],[-94.97341045611654,53.652097149269586],[-95.02854622480002,53.63996883399195],[-95.06715003424401,53.622239636674976],[-95.10634063560764,53.61276601880736],[-95.08160843342954,53.6020465228097],[-95.02486649282075,53.63543934223228],[-94.98674477814899,53.634197706336046],[-94.96206012257062,53.623786409085625],[-94.92336114375247,53.692349626795504],[-94.90200431166997,53.68823529992533],[-94.88648476880968,53.67181118543224],[-94.86387584587608,53.69820173916006],[-94.86109302751365,53.714654147355674],[-94.84642732477087,53.72663653139097],[-94.82104195974041,53.72779293992904],[-94.82728764921298,53.7453192457777],[-94.8105799339566,53.7514524446887],[-94.8115390409777,53.76600453797531],[-94.82100075914434,53.77213684583191],[-94.84175824874035,53.75731754987412],[-94.8571661251205,53.784669932146166],[-94.86055394474904,53.806429146522845]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-94.92926096973612,\"lat\":53.74042843087678},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4622\"],\"cd_name_en\":[\"Division No. 22\"],\"csd_code\":[\"4622801\"],\"csd_name_en\":[\"St. Theresa Point\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 22\",\"csd_name_fr\":\"St. Theresa Point\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.36198980041668,48.999474101661335],[-101.3621111191101,49.17777859713763],[-101.39148032187208,49.17784702923027],[-101.3921172968764,49.26639510888335],[-101.46005000023126,49.26685083359518],[-101.6181483037491,49.26615053783249],[-101.66440548919364,49.26683259649482],[-101.66443067464242,49.17788292475181],[-101.63078047976644,49.177887589158516],[-101.60933056216871,49.17790265068535],[-101.60923446264566,49.1693049353466],[-101.63076734897126,49.16876749981558],[-101.63070303759766,48.99951460574001],[-101.36198980041668,48.999474101661335]],[[-101.45407106043962,49.18233590761974],[-101.44081679975372,49.18231032687539],[-101.44045939719403,49.17626932642181],[-101.45657771363912,49.17322659366582],[-101.45407106043962,49.18233590761974]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.50678559438083,\"lat\":49.13325924290347},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701001\"],\"csd_name_en\":[\"Argyle No. 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Argyle No. 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.0063054818565,49.202701199757946],[-102.00631436318582,49.21829765117014],[-102.0288139878731,49.21728230151131],[-102.02879668201093,49.202688694691005],[-102.0063054818565,49.202701199757946]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.01743311453832,\"lat\":49.21024582615161},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701012\"],\"csd_name_en\":[\"Glen Ewen\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Glen Ewen\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.53748581426171,49.82781029286883],[-101.5157323101628,49.827785227694505],[-101.51583758045162,49.84259557450205],[-101.53850569581162,49.842529142368015],[-101.53748581426171,49.82781029286883]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.52688092497762,\"lat\":49.83523092678671},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701096\"],\"csd_name_en\":[\"Maryfield\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Maryfield\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.16630544451392,49.893941553768954],[-103.134186943149,49.89411450778831],[-103.13400759216519,49.90179379712513],[-103.16630238822196,49.901588106854334],[-103.16630544451392,49.893941553768954]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.15018944703175,\"lat\":49.89786304465301},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701810\"],\"csd_name_en\":[\"Ocean Man 69A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Ocean Man 69A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.94345426104069,49.84926359953183],[-102.932859939043,49.849244733974025],[-102.93296006115827,49.85657406330154],[-102.9436907430241,49.85659908021682],[-102.94345426104069,49.84926359953183]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.9382421417061,\"lat\":49.85292817734369},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701815\"],\"csd_name_en\":[\"Ocean Man 69G\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Ocean Man 69G\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.92169262880513,49.857563809000965],[-102.9081563407759,49.857451043437855],[-102.90745530723044,49.87226910397058],[-102.92128508696196,49.8722751978019],[-102.92169262880513,49.857563809000965]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.91463802871415,\"lat\":49.864915779111094},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701816\"],\"csd_name_en\":[\"Ocean Man 69I\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Ocean Man 69I\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.2257623210367,49.78469660475889],[-103.63245898566663,49.78475118936719],[-103.63239048032946,49.52273894832755],[-103.62042156657634,49.522695010004526],[-103.22590870559536,49.522711102175414],[-103.2257623210367,49.78469660475889]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.42913882243889,\"lat\":49.65372522335579},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4702\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4702042\"],\"csd_name_en\":[\"Griffin No. 66\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Griffin No. 66\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.00467386380166,50.047271853760144],[-106.41434690731388,50.047696507326194],[-106.4143634086098,50.047577797062466],[-106.41253627321237,50.0000720309525],[-106.41489245348626,49.872941791792826],[-106.41047431018858,49.87294289822636],[-106.41051818016055,49.78553119853951],[-106.13941099225657,49.78556419982189],[-106.00679142483764,49.78576108251174],[-106.00397470091313,49.843914407223615],[-106.00522778652663,49.90222858297644],[-106.00467409388946,50.04722372867527],[-106.00467386380166,50.047271853760144]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.20886367678746,\"lat\":49.91675450320953},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4703\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4703074\"],\"csd_name_en\":[\"Sutton No. 103\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Sutton No. 103\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.953060490612,49.94360631719914],[-105.96445290907877,49.94523189906906],[-105.97783517278178,49.93709926617801],[-105.95719899173157,49.93395693187179],[-105.953060490612,49.94360631719914]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.96354537476675,\"lat\":49.939537597357614},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4703\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4703092\"],\"csd_name_en\":[\"Mossbank\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Mossbank\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.89165365834089,50.310090248295126],[-109.09856813379879,50.31032287536274],[-109.26932030178773,50.30964444850674],[-109.30394808737445,50.31019860685499],[-109.30463120248385,50.222607590241246],[-109.28034178480314,50.22272137280503],[-109.28132320342205,50.04786060103939],[-109.28126330259182,49.874134009683324],[-109.25856236321741,49.87299607527334],[-109.25809900682074,49.77202959948993],[-109.25742096456649,49.73881995993343],[-109.2573873237301,49.727537709131475],[-109.25762702382421,49.69842686373252],[-108.85108201045618,49.698465477699024],[-108.85096180056527,49.78558330180995],[-108.85145549976323,49.87050719961754],[-108.87150667798271,49.873154575165884],[-108.87160934811044,50.04803595293171],[-108.87175363147446,50.22272248233639],[-108.89200106367377,50.22271216377715],[-108.89165365834089,50.310090248295126]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.0732798075697,\"lat\":50.004912479587894},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4704\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"4704050\"],\"csd_name_en\":[\"Piapot No. 110\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Piapot No. 110\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.32806242580948,50.3309163003461],[-102.34056230586332,50.330653705107935],[-102.34059244999602,50.323187153522824],[-102.32819332381962,50.3232454488589],[-102.32806242580948,50.3309163003461]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.33432474356431,\"lat\":50.327006005650254},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705828\"],\"csd_name_en\":[\"Kahkewistahaw No. 72-Q\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Kahkewistahaw No. 72-Q\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.884723094156,50.54589031168811],[-103.87342198714822,50.535190072946996],[-103.86197581223331,50.54984366581535],[-103.88477035130416,50.55711128137119],[-103.884723094156,50.54589031168811]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.87515142143708,\"lat\":50.54707544075938},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706036\"],\"csd_name_en\":[\"Qu'Appelle\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Qu'Appelle\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.79466730448638,50.77547620294733],[-103.80573460145068,50.78985708778927],[-103.80679427203668,50.80503746775217],[-103.82970786706547,50.805803065062904],[-103.7972850453258,50.77784973296589],[-103.79466730448638,50.77547620294733]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.81279980133029,\"lat\":50.797093346940095},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706045\"],\"csd_name_en\":[\"Fort San\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Resort village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Fort San\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.39158482739997,50.13103579956103],[-106.3795886404042,50.131167319240724],[-106.37996533506335,50.13962258280011],[-106.39160441973843,50.13965577148823],[-106.39158482739997,50.13103579956103]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.38570412711087,\"lat\":50.13534856294948},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707008\"],\"csd_name_en\":[\"Coderre\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Coderre\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.41434690731388,50.047696507326194],[-106.41433748289515,50.22203379636355],[-106.41725158360633,50.25176889813532],[-106.48615192922277,50.25167269792258],[-106.48611156768371,50.26623617532798],[-106.5091207124679,50.26620784584998],[-106.50902413345376,50.28078517340117],[-106.53197731340191,50.28072602659133],[-106.53190108717085,50.29533741598886],[-106.55422638891422,50.295333638636734],[-106.55409697647632,50.30977923497204],[-106.80679178456377,50.3100181041871],[-106.82983115699005,50.30945677823479],[-106.82988301979037,50.22254549885964],[-106.82395318744769,50.222557800069325],[-106.82337135476807,50.04770116430327],[-106.4143634086098,50.047577797062466],[-106.41434690731388,50.047696507326194]],[[-106.62957234537774,50.16435046764365],[-106.61972520627356,50.164359907279604],[-106.61900665082449,50.15690793402107],[-106.62988103891963,50.16047936098283],[-106.62957234537774,50.16435046764365]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.62920097775662,\"lat\":50.17279727991222},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707011\"],\"csd_name_en\":[\"Shamrock No. 134\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Shamrock No. 134\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.65452368416591,50.39729849730118],[-108.06705452104431,50.397380800591925],[-108.06712442127332,50.310052405958],[-108.06737088860253,50.222709788477395],[-108.0514465967657,50.22224477564457],[-108.05229442013147,50.04783954679399],[-107.96654140277306,50.04714736620371],[-107.64292572014038,50.04784730267998],[-107.64280520479198,50.22262450483472],[-107.65455579114467,50.222644311198586],[-107.6545476957497,50.31004368739226],[-107.65452368416591,50.39729849730118]],[[-107.75635325343046,50.321355119984524],[-107.75631146705835,50.29199648063328],[-107.76229145954413,50.28085885480026],[-107.75770281241962,50.26630110720524],[-107.78063718762206,50.25900147694538],[-107.81490387145675,50.25822418099519],[-107.81501094047586,50.273466040169524],[-107.83789407712379,50.280899792128515],[-107.8378583086324,50.31001950547031],[-107.79236825376412,50.30981104766242],[-107.78099415231752,50.324530942207126],[-107.75635325343046,50.321355119984524]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.85592202265141,\"lat\":50.22087604411277},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4708\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4708001\"],\"csd_name_en\":[\"Swift Current No. 137\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Swift Current No. 137\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.91328719374873,50.57216646420851],[-109.0981552787034,50.57238973067228],[-109.09856813379879,50.31032287536274],[-108.89165365834089,50.310090248295126],[-108.47953789105306,50.31009730209129],[-108.47956466209617,50.57219389714311],[-108.49795943072158,50.57219090643636],[-108.91328719374873,50.57216646420851]],[[-108.59556879890513,50.396133548156776],[-108.59966991070837,50.40260834987285],[-108.58820011360052,50.40267516725952],[-108.59556879890513,50.396133548156776]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.78899305964646,\"lat\":50.4411639718796},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4708\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4708028\"],\"csd_name_en\":[\"Pittville No. 169\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Pittville No. 169\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.809071347304,50.59463252122182],[-107.79824518170327,50.59385257848417],[-107.79826800209516,50.60139753519267],[-107.81646762611719,50.60141278301142],[-107.809071347304,50.59463252122182]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.80551533743652,\"lat\":50.598143460137734},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4708\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4708039\"],\"csd_name_en\":[\"Stewart Valley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Stewart Valley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.4307916871148,51.387064302050554],[-102.6196162880399,51.38692621109942],[-102.855758396808,51.38693638719055],[-102.85562731462173,51.300237994598746],[-102.84750626024068,51.29856642228164],[-102.84897328848365,51.23971589282984],[-102.84871388477019,51.12175139828723],[-102.69114859419737,51.12162247551006],[-102.42757821361683,51.12180358701887],[-102.42752430286492,51.18728909616785],[-102.44070432838117,51.19503187489949],[-102.46274202829363,51.18850527891474],[-102.47428201243592,51.19538680115891],[-102.50412357979873,51.19757449385748],[-102.49805742102495,51.2229151092687],[-102.52112570666117,51.224837096403924],[-102.52127559913323,51.23963529090602],[-102.45099781595786,51.23960909601826],[-102.42760649213767,51.24735164093076],[-102.43087519261445,51.298556499822695],[-102.4307916871148,51.387064302050554]],[[-102.4544757133227,51.37239080590424],[-102.44034960950582,51.37233665424824],[-102.44043206133995,51.36666264374727],[-102.45447581755236,51.36672402395676],[-102.4544757133227,51.37239080590424]],[[-102.73751415400584,51.3398598047074],[-102.74952161188952,51.347449695447935],[-102.73758665294805,51.35065355121256],[-102.73751415400584,51.3398598047074]],[[-102.45554468962614,51.271438993590365],[-102.45097411917831,51.254286805861234],[-102.47467001936877,51.25447689509974],[-102.47458049768657,51.269180190244704],[-102.45554468962614,51.271438993590365]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.64674670616391,\"lat\":51.25567372094527},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709011\"],\"csd_name_en\":[\"Orkney No. 244\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Orkney No. 244\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.00627609927454,51.6522109027283],[-102.43123389157103,51.65217301004266],[-102.41993807746603,51.630201909211706],[-102.43100351560496,51.61468144834998],[-102.43157550615632,51.54944101324201],[-102.4307916871148,51.387064302050554],[-102.17110662519325,51.38691033112295],[-102.00706014897237,51.386925147447926],[-102.00621319515649,51.40164201013204],[-102.00627609927454,51.6522109027283]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.21831964712331,\"lat\":51.51938519946206},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709033\"],\"csd_name_en\":[\"Sliding Hills No. 273\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Sliding Hills No. 273\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.70629868637769,51.65229400600746],[-104.12877248583442,51.65228579545322],[-104.12883501082767,51.56377098565084],[-104.12896935289656,51.386752883646096],[-103.98743941193224,51.387308804417415],[-103.9551541174785,51.38730725685794],[-103.84590870715083,51.38722330145314],[-103.77618165555,51.386081141163885],[-103.70428651582726,51.387289491557766],[-103.70434718342989,51.65229039558697],[-103.70629868637769,51.65229400600746]],[[-103.89500261754137,51.40779650234358],[-103.89714722888279,51.423702099263345],[-103.88237751676961,51.43139757602183],[-103.8830950851633,51.40772138876935],[-103.89500261754137,51.40779650234358]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.9166009083113,\"lat\":51.51986792975661},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710031\"],\"csd_name_en\":[\"Emerald No. 277\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Emerald No. 277\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.29139728325711,52.14381049807859],[-103.7199516990664,52.14399020731742],[-103.71933611077962,51.96919236617039],[-103.70682851661743,51.96921530684615],[-103.70707720835615,51.881621690864286],[-103.70736599050798,51.86700752742366],[-103.59668095090439,51.86591733413612],[-103.56818848322038,51.859806351527105],[-103.52227088716401,51.854423451490625],[-103.49893977073744,51.83022416094914],[-103.4717368671498,51.81477175949145],[-103.47139083594978,51.79490994894114],[-103.28231537603783,51.79420308539852],[-103.28227189164268,51.881455803054166],[-103.28228211592968,51.96879558760382],[-103.29204603020975,51.96880716466327],[-103.29093736706083,51.99812590694743],[-103.29139728325711,52.14381049807859]],[[-103.34116390090094,51.82846550126695],[-103.32952723475054,51.830581659818144],[-103.32948398297644,51.823291507429154],[-103.34334656025543,51.82329476413461],[-103.34116390090094,51.82846550126695]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.48900603647512,\"lat\":51.985196774732216},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710071\"],\"csd_name_en\":[\"Sasman No. 336\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Sasman No. 336\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.02233909707203,51.342706095405084],[-104.04606301581038,51.34299240712897],[-104.1291785261607,51.343151790717485],[-104.19941501576147,51.34310669483786],[-104.1995930801651,51.31393684644724],[-104.16507241361066,51.31389512255183],[-104.14271744910643,51.31388128506469],[-104.14262718604525,51.29884955708638],[-104.11839535403213,51.29928158744096],[-104.06928441295308,51.29735460838112],[-103.98724712077102,51.29896690312055],[-103.98745669770175,51.35786840952567],[-104.01104059591493,51.357835790175294],[-104.02233909707203,51.342706095405084]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.08141712002268,\"lat\":51.32352369906514},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710822\"],\"csd_name_en\":[\"Muskowekwan 85\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Muskowekwan 85\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.9984439122472,51.503646914554785],[-104.99577054113522,51.51830308581845],[-105.01875935754768,51.5178458031579],[-105.01871568827734,51.50367460549826],[-104.9984439122472,51.503646914554785]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.00785149626773,\"lat\":51.5110167279225},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711044\"],\"csd_name_en\":[\"Nokomis\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Nokomis\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.4311750957347,52.14357290613512],[-108.40113998721309,52.14153256492097],[-108.38731809985273,52.14717864351187],[-108.36501806876517,52.142236949010645],[-108.33100807455574,52.14358134650355],[-108.32261708339576,52.13358685270321],[-108.26878037180538,52.135403447683935],[-108.27458540499642,52.125999761975656],[-108.21580709214705,52.12171034514546],[-108.19306290111564,52.11726795271789],[-108.16190138845873,52.10443954176655],[-108.14567953758,52.104550563258215],[-108.1453784990629,52.23097869627444],[-108.14516588482635,52.31842471232005],[-108.16246849343817,52.31841929535694],[-108.16232090657851,52.40595548488124],[-108.36263127820591,52.405302070000815],[-108.45019501729827,52.405720490207706],[-108.45022148992842,52.318303399225286],[-108.43158431089337,52.31831309625121],[-108.4311750957347,52.14357290613512]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.29038604095203,\"lat\":52.26779651524218},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4712\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4712072\"],\"csd_name_en\":[\"Rosemount No. 378\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Rosemount No. 378\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.69162014212927,51.88161240004725],[-109.77212923524144,51.88080820817851],[-110.00442949292919,51.88161372732577],[-110.00558614143105,51.707083801604234],[-110.0049212952894,51.61986629170461],[-109.69008441329515,51.62002168323469],[-109.6899449095049,51.79419429270411],[-109.69162014212927,51.88161240004725]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.84773424698909,\"lat\":51.750445654070866},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713016\"],\"csd_name_en\":[\"Antelope Park No. 322\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Antelope Park No. 322\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.65016957528854,51.77998327153679],[-108.63835947068179,51.78012251598862],[-108.63843614523908,51.78695071918015],[-108.65019410738125,51.78674464881407],[-108.65016957528854,51.77998327153679]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.64428003894662,\"lat\":51.78344795068354},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713031\"],\"csd_name_en\":[\"Plenty\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Plenty\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.60049236480499,52.406441952350896],[-109.7441110886266,52.405773412468726],[-109.8814863985705,52.40584930027071],[-110.00494638756533,52.404948011110825],[-110.0053780348788,52.33031051020046],[-110.00300693395866,52.27373817673912],[-110.00502690093333,52.25944838783887],[-110.00379477833903,52.18154271328328],[-110.00503681872273,52.143042805848516],[-109.57398508432293,52.143448313104344],[-109.57400179168692,52.31838319499764],[-109.59951935936458,52.31838044204947],[-109.60049236480499,52.406441952350896]],[[-109.65801314956379,52.2240392139268],[-109.6583839539051,52.230817179929694],[-109.64539780619711,52.230813505639965],[-109.64755693199936,52.22406540375885],[-109.65801314956379,52.2240392139268]],[[-109.82184620501975,52.258933598606546],[-109.83584138553972,52.259953605012164],[-109.8356310515208,52.266827677384654],[-109.8114507664196,52.26675544739579],[-109.82184620501975,52.258933598606546]],[[-109.94887288801455,52.347232752607894],[-109.93588898300197,52.34734510781943],[-109.92383961598887,52.3259286901986],[-109.94861628300595,52.32558894621339],[-109.94887288801455,52.347232752607894]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.7928699212947,\"lat\":52.27258064914956},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713049\"],\"csd_name_en\":[\"Eye Hill No. 382\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Eye Hill No. 382\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.7451788106401,52.667320391451135],[-103.74523349742012,52.92904170977664],[-104.18049150646341,52.929146098987836],[-104.18048178595167,52.85637331240322],[-104.18054946574911,52.84859457066451],[-104.18020685970285,52.66737298704321],[-104.16512308173405,52.66738529443078],[-103.86102640246025,52.66722639197253],[-103.7451788106401,52.667320391451135]],[[-104.05975667770761,52.86329705725107],[-104.03556179738725,52.86344750458687],[-104.03550858462788,52.84172720121037],[-104.04218343928676,52.83456678658721],[-104.0716865152414,52.83428734832009],[-104.07251308521687,52.85001841480263],[-104.05975667770761,52.86329705725107]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.96204478685804,\"lat\":52.79778600618895},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714043\"],\"csd_name_en\":[\"Tisdale No. 427\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Tisdale No. 427\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.73087773013977,52.51913170901274],[-106.723766814575,52.52937778867266],[-106.73825910029011,52.5296201242661],[-106.73087773013977,52.51913170901274]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.73096788166829,\"lat\":52.52604320731717},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715027\"],\"csd_name_en\":[\"Hepburn\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Hepburn\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.13856976481064,53.00233931466133],[-105.13569867478726,53.00917081890596],[-105.15291446132626,53.01365091864839],[-105.14810475628411,53.00305592806986],[-105.13856976481064,53.00233931466133]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.14416371782636,\"lat\":53.00751488102835},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715072\"],\"csd_name_en\":[\"Weldon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Weldon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.5289572892531,53.17014087696575],[-106.53991162713578,53.165007295316066],[-106.52774391590214,53.162437292573365],[-106.5289572892531,53.17014087696575]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.53220427743035,\"lat\":53.16586182161839},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716044\"],\"csd_name_en\":[\"Parkside\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Parkside\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-107.63920317047821,53.533834816130216],[-107.62778451523435,53.54061830293702],[-107.63988055032077,53.540631077692105],[-107.63920317047821,53.533834816130216]]],[[[-107.82373933545688,53.67918065876601],[-107.8119090099922,53.6861489132452],[-107.82424315271666,53.68614211474917],[-107.82373933545688,53.67918065876601]]],[[[-107.92262985391558,53.71511800152633],[-107.92314086063641,53.62785411061077],[-107.92288731766484,53.54030242509887],[-107.7759741551646,53.54060721780121],[-107.77411428086388,53.45851958597145],[-107.77520311185152,53.36562309170195],[-107.75973094024472,53.36566512036621],[-107.76005879334144,53.190774806743555],[-107.62676532075947,53.19223089779501],[-107.31781052914572,53.19214504194225],[-107.17192264858005,53.19230768401914],[-107.14765228878298,53.19232608910266],[-107.13400948774334,53.20676723524621],[-107.12810302711975,53.2140860620452],[-107.12448050425164,53.20668354057182],[-107.13192264467271,53.19238326193796],[-107.02566488056914,53.19236887634257],[-107.02620321410248,53.3664714034473],[-107.03804711228697,53.366458508822035],[-107.03862168171825,53.45335040738778],[-107.18537498241724,53.45343570877838],[-107.18519515577542,53.54972341568824],[-107.20573776043231,53.549996007846026],[-107.20606845031776,53.63431396770922],[-107.21865258926765,53.63441046970317],[-107.21864879261888,53.67808751209681],[-107.18512704422992,53.67783972854635],[-107.18531815201847,53.71520303397191],[-107.4664794837697,53.71547336843008],[-107.6783492581815,53.714218253342146],[-107.67761903783307,53.700035882369534],[-107.66336424209221,53.70048598337815],[-107.66365466846085,53.685988735966404],[-107.68888169120294,53.685841825773835],[-107.7008430937888,53.67827133932986],[-107.70103422592383,53.65670092484969],[-107.72563569348418,53.65611495445393],[-107.72589840996086,53.68074373316805],[-107.74977527477591,53.67769210985329],[-107.75307126458686,53.664786663564556],[-107.76736092780631,53.661741815688956],[-107.78757141534655,53.67171988446349],[-107.80096342623965,53.686144064508206],[-107.81121332199606,53.67228136370945],[-107.8113687360817,53.658178465642315],[-107.83553982278575,53.65809390382192],[-107.85974749028027,53.66522433242317],[-107.85934640426586,53.643713513913816],[-107.89588036597273,53.650539127380895],[-107.89640675261008,53.68332945894374],[-107.88495590946872,53.68696952702709],[-107.88506771486307,53.70147780337421],[-107.8729069641761,53.71515092498082],[-107.92262985391558,53.71511800152633]],[[-107.70145195771286,53.57696338392603],[-107.6889643400386,53.58482928036135],[-107.66476292966584,53.58493457267547],[-107.66463352586024,53.56970994808176],[-107.70145571271574,53.56965479953494],[-107.70145195771286,53.57696338392603]],[[-107.66476292966584,53.58493457267547],[-107.67689984215563,53.59209317332378],[-107.67695150415251,53.61350510757354],[-107.66460644968474,53.613352514622115],[-107.64030710161694,53.59899272647462],[-107.64130627177266,53.58484443698279],[-107.66476292966584,53.58493457267547]],[[-107.55405745802402,53.63606968208892],[-107.54157448403951,53.63628876500567],[-107.54099570821552,53.62797414069992],[-107.56091038562177,53.627962788761884],[-107.55405745802402,53.63606968208892]],[[-107.06815887546965,53.30771995564899],[-107.056813161319,53.31019515687499],[-107.05539135022012,53.29992430568159],[-107.07365597676699,53.299166981540566],[-107.06815887546965,53.30771995564899]],[[-107.50487279005829,53.51151870133937],[-107.50488154796699,53.532615902097646],[-107.49315076274253,53.53277169796359],[-107.49375356777357,53.51150642810049],[-107.50487279005829,53.51151870133937]],[[-107.52933270839252,53.3679878072493],[-107.50048217096624,53.36657988277268],[-107.50010297798921,53.35923650931764],[-107.53696539870421,53.35891046434115],[-107.52933270839252,53.3679878072493]],[[-107.6278517851171,53.66315040752054],[-107.65694499471248,53.65689361911561],[-107.6563144810685,53.67280928916033],[-107.62769904763086,53.67251160769794],[-107.6278517851171,53.66315040752054]],[[-107.75412398468734,53.52465736197309],[-107.71415570862462,53.52633119033644],[-107.72602391488121,53.51153280328498],[-107.75271730998251,53.51153467347699],[-107.75412398468734,53.52465736197309]],[[-107.65232707410087,53.53399271054842],[-107.64746150479921,53.548553596230434],[-107.62812845817015,53.55560153519168],[-107.62747509030154,53.57830759903122],[-107.60441280932744,53.57807787187914],[-107.6032018689319,53.52475879813907],[-107.57716579293891,53.52475684327591],[-107.57725967713647,53.49885595356356],[-107.60035349178374,53.480367552939235],[-107.6062873672586,53.44610954472472],[-107.62320589075212,53.42551085933192],[-107.6137237776326,53.403068248712835],[-107.60231041246777,53.39962270679494],[-107.60296725623688,53.38008886500645],[-107.62778506580973,53.38797639272572],[-107.67674939970259,53.383859906553326],[-107.67675552803752,53.38769840818438],[-107.7013933103251,53.39510200441031],[-107.70141027336702,53.417923979683785],[-107.67689666242333,53.424513712903845],[-107.67668199498043,53.438502243225095],[-107.63998661453888,53.43953699166107],[-107.63999069449093,53.45340381098929],[-107.67968980004403,53.4753468238598],[-107.64043585780696,53.47496783790522],[-107.62718874687162,53.48243912915689],[-107.62758190484143,53.49760998932722],[-107.63992360024751,53.49729251637999],[-107.6523761938817,53.50420809176398],[-107.65235309950228,53.51975646278511],[-107.65232707410087,53.53399271054842]]],[[[-107.86044117520336,53.69390556004096],[-107.87296070456333,53.69448517491372],[-107.87308292527266,53.67220607991959],[-107.85991814034135,53.67196203210406],[-107.86044117520336,53.69390556004096]]],[[[-107.72565203557062,53.70775349759267],[-107.71320208370426,53.707613493531305],[-107.71304623267476,53.68616855006888],[-107.69028098086183,53.70779418418708],[-107.70147648437502,53.71408350913849],[-107.71788691265127,53.714182583226446],[-107.72565203557062,53.70775349759267]]],[[[-107.86044117520336,53.69390556004096],[-107.84793893772655,53.69388747371713],[-107.84811200065636,53.715158723342626],[-107.86087464724046,53.715155412632946],[-107.86044117520336,53.69390556004096]]],[[[-107.81841206704242,53.715160534262886],[-107.82351785950138,53.70612234367817],[-107.78308940554349,53.70780689263637],[-107.78110738111394,53.71478728331015],[-107.81841206704242,53.715160534262886]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.45048421654899,\"lat\":53.443383117942716},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716056\"],\"csd_name_en\":[\"Spiritwood No. 496\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Spiritwood No. 496\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.86854608216849,53.19186220697962],[-106.86748670576512,53.10461417196794],[-106.72399508913489,53.104336397543925],[-106.72322442655545,53.19189540969744],[-106.72270963989003,53.22103919488165],[-106.8684678085053,53.22163420748712],[-106.86854608216849,53.19186220697962]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.79582725176206,\"lat\":53.1630634175201},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716855\"],\"csd_name_en\":[\"Mistawasis 103\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Mistawasis 103\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.09701046763648,55.99023131052662],[-109.11294553878773,56.02370414422108],[-109.13199141041889,56.0274814324845],[-109.12599248776333,56.000068827387715],[-109.10853087606144,56.000067631558416],[-109.10257833982686,55.9900899922378],[-109.09701046763648,55.99023131052662]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.11662039170159,\"lat\":56.010449269023596},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718072\"],\"csd_name_en\":[\"Michel Village\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Northern hamlet\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Michel Village\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.74122285392974,53.976689334876944],[-105.74189780401083,54.047835501185446],[-105.77511376520563,54.05230915924392],[-105.78137255273694,54.06099334694339],[-105.81333777655507,54.06811424230863],[-105.80884517173057,54.12132116347166],[-105.7994443128329,54.146967985776335],[-105.86199698530217,54.1460413286682],[-105.86181531735006,54.116477482152085],[-105.84984121227713,54.11642623142566],[-105.8500778584219,54.0845769467259],[-105.8367878371234,54.08209673059658],[-105.83654210570131,54.05859735892442],[-105.82157973847488,54.05830275565099],[-105.82158926264252,54.02943371913181],[-105.80346084088089,54.00126924455335],[-105.77140945407304,54.000591207020626],[-105.75595385493699,53.99236245374045],[-105.7434896901496,53.97668868082415],[-105.74122285392974,53.976689334876944]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.80227669030687,\"lat\":54.064338840183154},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718802\"],\"csd_name_en\":[\"Montreal Lake 106\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Montreal Lake 106\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.92590105675927,55.17591734525308],[-105.92503854438806,55.10719073416687],[-105.77601699730502,55.10648090610102],[-105.77403662723073,55.03869374676158],[-105.68183099641283,55.041450542026666],[-105.68069822055674,55.12773083409903],[-105.77880604498715,55.12658195487848],[-105.78106589904154,55.176444411086415],[-105.92590105675927,55.17591734525308]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.79683032962866,\"lat\":55.11569319833868},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718808\"],\"csd_name_en\":[\"Morin Lake 217\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Morin Lake 217\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-110.80101480637015,50.0526311444486],[-110.80082519233342,50.033440292910704],[-110.77798970354688,50.03290986514837],[-110.77798410431487,50.018825110887406],[-110.74351536233843,50.01880583386713],[-110.74370081690178,49.98929670800871],[-110.6208398073794,49.990405491056315],[-110.6182095303822,50.01892298042987],[-110.63029256980073,50.026056505895546],[-110.63009287190866,50.0403442317226],[-110.64948380870773,50.05362753777837],[-110.62187580664514,50.064535862782456],[-110.62847470720779,50.07453563935681],[-110.65143968442639,50.07227826215888],[-110.65679048873072,50.079761753846896],[-110.64259759588651,50.092060356334365],[-110.66369400078139,50.09706564653401],[-110.67497409934641,50.08972105620832],[-110.69209300531601,50.09789644468292],[-110.6901555757595,50.113163008772],[-110.75523464945353,50.11317653950833],[-110.75530125028271,50.09743218021498],[-110.75521988601709,50.06224778920377],[-110.77696159050085,50.0543012626],[-110.80101480637015,50.0526311444486]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-110.70170034833612,\"lat\":50.04567144560403},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4801\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4801006\"],\"csd_name_en\":[\"Medicine Hat\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Medicine Hat\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-110.67378577052465,48.998701922234616],[-110.6745819099547,49.1715099616328],[-110.67946281340798,49.17150407864956],[-110.67972259765799,49.229319100838964],[-110.54491702009898,49.23127753510175],[-110.54410011548109,49.36554668636037],[-110.54239790955614,49.40889255190005],[-110.54420559427433,49.45026198831187],[-110.54415390496452,49.522582676958514],[-110.56921547574272,49.52252705946101],[-110.56912132354734,49.61084552603895],[-110.61422062118078,49.61128710791666],[-110.61439619499605,49.669627176685815],[-110.77324008989002,49.66944681040222],[-110.77256784213425,49.72695793064904],[-110.81744369236905,49.72779141200025],[-110.81851228598623,49.784667686591824],[-110.9858198295113,49.78569450181198],[-110.98604954909231,49.873415970320075],[-110.9914157330885,49.873420125990286],[-110.99119095252358,49.99991582336122],[-110.99372198731382,50.01821497901936],[-111.04150779789853,50.0147099518296],[-111.04872929986975,50.031386558069826],[-111.07293430804327,50.03527734764869],[-111.08409200920637,50.04775836282843],[-111.13143118784349,50.069473343253826],[-111.15285459069209,50.06001234783316],[-111.20353400534678,50.05117514897715],[-111.21817908645434,50.0525705433309],[-111.28511048533056,50.048384359384656],[-111.29206670439788,50.02505305821574],[-111.30342160357654,50.015551456519404],[-111.32890721451993,50.01594634577427],[-111.34182699137361,49.999297266210924],[-111.35857251736215,49.98786585651969],[-111.36420880021087,49.970646360842345],[-111.38464200285516,49.96481586530583],[-111.40169109268412,49.97821045458604],[-111.41244258008236,49.97346945601705],[-111.40984680864268,49.955489749290486],[-111.42384340859596,49.939966260212145],[-111.4179920927309,49.921386367295206],[-111.44463221373461,49.90360905022516],[-111.4803426111164,49.90475375657298],[-111.51073489523124,49.91755115597246],[-111.54247840677695,49.923958545267276],[-111.56400000671307,49.92028656148941],[-111.59302202133718,49.9014972586188],[-111.61565519747549,49.896732641813074],[-111.64201256308611,49.89629063067225],[-111.64207328226635,49.87307878980256],[-111.6302800942585,49.8730549899187],[-111.63023581211803,49.6404210060624],[-111.63054815147828,49.53024703223778],[-111.67567178480965,49.5304445768201],[-111.67556131845956,49.53787853813261],[-111.69816886214815,49.545199364992634],[-111.76583512328808,49.545515407196994],[-111.78837665774797,49.5521779011542],[-111.78823662967265,49.559694017446866],[-111.83362362714074,49.55985908867726],[-111.83361611960328,49.56690477872183],[-111.90162975324232,49.56726267699777],[-111.90151379213528,49.52364420435238],[-111.8890976054801,49.52364360249374],[-111.8890232930842,49.34989343123145],[-111.75453041011967,49.34845670018215],[-111.75451618876144,49.26104081476823],[-111.44076289625941,49.261080507427806],[-111.4409797795811,49.172043091338054],[-111.43104674974916,49.17217353836415],[-111.43069937940608,49.13275991854344],[-111.41017007770424,49.13503648069817],[-111.3893663479357,49.129305938927565],[-111.3789325606386,49.12084770794048],[-111.34162008993025,49.13588183649965],[-111.34188010308864,49.013835999693775],[-111.34095455849113,48.997152335800784],[-110.99314952343352,48.99787348420546],[-110.67378577052465,48.998701922234616]],[[-111.43599540484757,49.46494158881648],[-111.44071678144536,49.47241129504582],[-111.46314295077586,49.471607221027],[-111.46311281859656,49.4803521946905],[-111.43615569090325,49.47924116346145],[-111.43599540484757,49.46494158881648]],[[-111.38020996721691,49.886907603961916],[-111.36919173883054,49.88707022273482],[-111.35929238337664,49.87095450289436],[-111.36927996463076,49.859898803640384],[-111.39243319162267,49.86563123518156],[-111.39192339491906,49.88044440079615],[-111.38020996721691,49.886907603961916]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.1617063914504,\"lat\":49.48163716594458},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4801\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4801008\"],\"csd_name_en\":[\"Forty Mile County No. 8\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Forty Mile County No. 8\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.65991811492113,49.47561320845908],[-112.67509894610143,49.471784285206176],[-112.67343512044063,49.45041625795257],[-112.62865520296924,49.448991844666686],[-112.62868680899882,49.464963493072275],[-112.64698255351529,49.46543746670752],[-112.65991811492113,49.47561320845908]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.65359695167244,\"lat\":49.46004910177037},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4802\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4802008\"],\"csd_name_en\":[\"Raymond\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Raymond\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.92026820788293,50.73671338802247],[-111.91442846676101,50.724806385061015],[-111.89738689528313,50.72594076776419],[-111.89735609983222,50.7370590804511],[-111.92026820788293,50.73671338802247]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.90757214238427,\"lat\":50.73139442037021},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4802\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4802036\"],\"csd_name_en\":[\"Duchess\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Duchess\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.003650895683,51.96913968976827],[-112.01043561391313,51.95522296113654],[-112.00890278620244,51.9249928545632],[-112.01516948483422,51.91147406587658],[-111.99953527694596,51.90315444951634],[-111.98943187802962,51.881795896656676],[-112.1546258200052,51.88181039590782],[-112.15463599077422,51.85271348759173],[-112.20257181084884,51.85300107054696],[-112.20088438522741,51.838792919115996],[-112.17849209510743,51.838762626848194],[-112.17832001644877,51.808878094485905],[-112.15500216427841,51.80927258165269],[-112.15491591796405,51.79436757609597],[-112.1310867123546,51.795422790683745],[-112.13109039757707,51.76542640288353],[-112.10746393421832,51.76474975091021],[-112.10750479150016,51.61988470915896],[-112.11454018329387,51.619908004971826],[-112.11462027996379,51.590746296476624],[-112.2553264996263,51.59070150552487],[-112.2553073083565,51.44584669934548],[-112.25389506754271,51.41614019061275],[-112.44353693994374,51.41588595879645],[-112.44384787237955,51.401208930438834],[-112.51327702423022,51.401380004534495],[-112.51310009970054,51.37228741517699],[-112.47803545519403,51.372292856898305],[-112.47780021141197,51.35791639095469],[-112.45352056161478,51.35055602235025],[-112.45321030939684,51.32346516299722],[-112.41934691403505,51.30823645994829],[-112.36089661273095,51.29630566694123],[-112.32373571110848,51.27378034412977],[-112.30206670328766,51.26529566289974],[-112.2968864887759,51.25192065207049],[-112.27737980665167,51.248063927201464],[-112.26803298147352,51.228576760337766],[-112.24431368385386,51.22714186054548],[-112.23729791945526,51.2133007996145],[-112.21116540458388,51.204795652530606],[-112.20350949836028,51.19480894281391],[-112.16716091979033,51.17743505727795],[-112.15699970719818,51.165825646278705],[-112.12429351167293,51.15714464633066],[-112.1155387145068,51.145939253202364],[-112.10004048135919,51.14091174879031],[-112.09355360692835,51.12715264222452],[-112.06570429472951,51.11214296848876],[-112.03189530141852,51.1073642476072],[-112.02307769335805,51.09678045031118],[-112.00067579897622,51.093968550140154],[-111.96788690292635,51.05879245671596],[-111.96813039915278,51.043757361023786],[-111.95159771171055,51.031612548905194],[-111.9483227995233,51.016068657760194],[-111.93412590071107,51.00412345608025],[-111.93546509566566,50.99159815840675],[-111.9170806987398,50.97367435274922],[-111.93163359824543,50.963972356611656],[-111.92555001821368,50.9538716636122],[-111.95452737579677,50.95302625062574],[-111.97132628856416,50.92822266583139],[-111.96525061247988,50.921314045528675],[-111.92053720860939,50.91122654717991],[-111.90560569529832,50.918422548707206],[-111.85456789691324,50.9070803532046],[-111.83521279994284,50.885565346136055],[-111.83868910221757,50.87772956270833],[-111.818749118991,50.852023253745436],[-111.81610249347676,50.840016261217045],[-111.803827999949,50.83565044956491],[-111.76537661302379,50.84397224399972],[-111.74135040070466,50.84456855114473],[-111.72024281085646,50.854465160111886],[-111.70600759900552,50.850197369222485],[-111.68434860828401,50.85975665505988],[-111.61972819261685,50.8504031671071],[-111.62026630990307,50.841412248113535],[-111.60536349505446,50.833723947359594],[-111.61516478579335,50.81703057001726],[-111.60600977675867,50.80433394615046],[-111.57368770130184,50.784880355809655],[-111.5696277963658,50.77150166525769],[-111.52353648500669,50.761829660457224],[-111.50185468092923,50.77258705315204],[-111.47372297565332,50.77634384721902],[-111.46140658467426,50.772019243905184],[-111.45155829822464,50.757649262060156],[-111.41626730927406,50.75339314283521],[-111.38834801708806,50.768341542275714],[-111.38922398231297,50.70315570260061],[-111.06445770099384,50.702946431862365],[-111.00010275603636,50.703616006009106],[-110.8152784433327,50.707639995895995],[-110.69819254843175,50.705447080422736],[-110.5171759112272,50.70389008847217],[-110.282147518187,50.703405727633665],[-110.27821510862806,50.61812933990111],[-110.24401617182531,50.625863045504424],[-110.1962023001671,50.63135564996572],[-110.1809879789099,50.646174463004854],[-110.16543938794004,50.651147450573845],[-110.13038058934696,50.67855955102605],[-110.12880901116148,50.701391055204795],[-110.13954990843814,50.71903334643571],[-110.12751728047184,50.72715045046086],[-110.09736008930868,50.73713765552353],[-110.06433669872136,50.72917193995492],[-110.05342029335075,50.73277935605154],[-110.0517628137061,50.75130155384977],[-110.06974079103004,50.781964258532795],[-110.08113620166043,50.79340985257104],[-110.0562547070819,50.81643956313803],[-110.00303586778176,50.8346704089509],[-110.00499419329391,50.95029629378883],[-110.02825598103892,50.9503212906801],[-110.02816940250055,50.95760831097154],[-110.00507551352341,50.9585998688464],[-110.00469277386571,50.96455210192106],[-110.0561804146889,50.9670870596016],[-110.06742849400996,50.96398526078617],[-110.06683480576675,50.949546640426014],[-110.09214148371119,50.95033174853538],[-110.11276608848594,50.93985736643348],[-110.13674979856377,50.939118758536296],[-110.15362600103714,50.931546662702395],[-110.19623049098576,50.919566348175614],[-110.22094898129875,50.93331266313647],[-110.23630539071335,50.93065495166243],[-110.22994928663614,50.909011042374274],[-110.24585869301728,50.896332057980906],[-110.28128911604975,50.89479116189949],[-110.30874910274534,50.910301153696096],[-110.35039309745206,50.92225045383324],[-110.38162097936785,50.92644954542041],[-110.42285992929502,50.94968668607564],[-110.43023809684661,50.90840414662],[-110.44153548534263,50.887090367538384],[-110.46262191532351,50.86867775671333],[-110.48366950846764,50.86391745808244],[-110.54131790773947,50.84280594589926],[-110.56968239514171,50.84449915895015],[-110.59855309160302,50.85737465067944],[-110.62450417810632,50.857356049475726],[-110.65009979141092,50.85015546729256],[-110.6872390898165,50.84483134854261],[-110.7298280865404,50.84797364959327],[-110.76413198327211,50.85780384572057],[-110.78249780872221,50.870116553435025],[-110.80405020533972,50.86108436042987],[-110.8188251117101,50.86988824401575],[-110.82039607399082,50.89089974831179],[-110.8395660814672,50.89524315719698],[-110.83956320742617,50.91106555798233],[-110.86231638570892,50.915578064589475],[-110.87759008070634,50.9268128659519],[-110.91274369119897,50.94282844294524],[-110.93603220932049,50.9455510569507],[-110.98284370685664,50.927175652074894],[-111.0490494940118,50.9142788660358],[-111.07071257700264,50.901854745801316],[-111.1118505779056,50.90175855822761],[-111.12494410921146,50.88766435216881],[-111.14877308419702,50.87328306249349],[-111.13797441657378,50.86362945979804],[-111.13794698723972,50.85184375501721],[-111.1685519052945,50.83726794675389],[-111.1931182970689,50.8397687533639],[-111.21351667897949,50.855063253735615],[-111.2196575017636,50.868360348784414],[-111.25171791994005,50.88105324677277],[-111.25411895349811,50.90734828461558],[-111.26095328075361,50.921597199745094],[-111.259577169621,51.212438820688966],[-111.26111099206217,51.270582429667094],[-111.2708830975416,51.27060160033336],[-111.27073609563283,51.357695587926834],[-111.26852004990903,51.36717868955101],[-111.270860114521,51.445234707232046],[-111.26943747845306,51.534624483695836],[-111.2709925974654,51.61996489830351],[-111.28051827164113,51.6199601397883],[-111.27970897889435,51.70680006023755],[-111.28189944816593,51.73565458873744],[-111.2799562551246,51.828214584068604],[-111.27737395024853,51.849950546771424],[-111.28068620159534,51.88187569981965],[-111.27967766172279,51.96779139336589],[-111.29068143277787,51.967711538268944],[-111.3585930957951,51.96877490764296],[-111.56018981709548,51.96870780372696],[-111.85270490932811,51.96867029195997],[-111.85610333589605,51.967507553982095],[-112.003650895683,51.96913968976827]],[[-111.90685361453184,51.65621328113017],[-111.90703656640305,51.63449374752076],[-111.9538739260112,51.63342146563863],[-111.9450729941531,51.64896100605434],[-111.95436768469906,51.65604795102289],[-111.90685361453184,51.65621328113017]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.49692288068474,\"lat\":51.28372651418641},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4804\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"4804004\"],\"csd_name_en\":[\"Special Area No. 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Special area\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Special Area No. 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.87545081540661,50.56471631370828],[-112.87884685849042,50.5721649508456],[-112.89111580155472,50.57215939553388],[-112.89109552742701,50.56401497046262],[-112.87545081540661,50.56471631370828]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.88418200541722,\"lat\":50.56809827759124},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4805\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4805009\"],\"csd_name_en\":[\"Milo\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Milo\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.86541836948035,51.015775861825716],[-113.86541990365247,51.00878520348692],[-113.81892490785026,51.008765710260185],[-113.81898510421915,50.99518240494264],[-113.79571614529354,50.995310042933866],[-113.78405971381909,51.00876839570332],[-113.78405471528151,51.03784260577168],[-113.77238034577896,51.05270370578021],[-113.81443461061338,51.0527207857609],[-113.82677110790888,51.066745609026526],[-113.86537048901153,51.06674959163939],[-113.86536524483282,51.05998634142658],[-113.86541836948035,51.015775861825716]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.82461390802706,\"lat\":51.03253125945287},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4806\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4806017\"],\"csd_name_en\":[\"Chestermere\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Chestermere\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-110.26878619200343,52.36393509345489],[-110.27450436704562,52.35019632623099],[-110.244836182075,52.346603802359766],[-110.23315180229119,52.36117619536316],[-110.26878619200343,52.36393509345489]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-110.25494890782282,\"lat\":52.35563883212728},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4807\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4807002\"],\"csd_name_en\":[\"Provost\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Provost\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.78696312865364,52.78876743955266],[-112.79094640708311,52.7843400036051],[-112.78194436103396,52.78511667286023],[-112.78696312865364,52.78876743955266]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.78661796559021,\"lat\":52.78607470533933},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4810\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4810006\"],\"csd_name_en\":[\"Edberg\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Edberg\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-110.05427261247596,53.30712879403307],[-110.0054059069824,53.30713588647396],[-110.00571375740115,53.601912346156304],[-110.0053356661412,53.6354175761698],[-110.06828126453547,53.63580801932419],[-110.06871235400811,53.720557710598946],[-110.00545010186326,53.71743241083959],[-110.0071312340091,53.76981437391222],[-110.0057010724111,53.784891585642505],[-110.00655137382377,53.88932259074703],[-110.1541751887301,53.88953313904159],[-110.15424082116112,53.87504394915083],[-110.25925073484343,53.874822508918264],[-110.25904391312461,53.83133466026136],[-110.26805339317231,53.8219395502919],[-110.35733033657446,53.82229644976877],[-110.364272821114,53.80229303470883],[-110.3769691437439,53.80216609618898],[-110.37661431312299,53.71602830997941],[-110.41228023634743,53.71495742090867],[-110.41852577394418,53.73090785445923],[-110.45494376409592,53.75099885982647],[-110.5082148744661,53.75765287392967],[-110.54049802808971,53.7735045991163],[-110.59599534761817,53.77277678604418],[-110.797011083223,53.773322406065994],[-110.793460165731,53.71511101603782],[-110.7928162822203,53.58447702373574],[-110.94030838244262,53.58450597140013],[-110.9401043269061,53.526116850450066],[-111.03857927635643,53.52611056664084],[-111.03873161739712,53.370377901562335],[-111.02937979926213,53.36555348669359],[-111.02887190491867,53.10283888740964],[-111.02961768900464,53.074073999813784],[-111.02887126143986,53.06008563712774],[-110.8553673800256,53.05948899827352],[-110.69320455403846,53.05965088079494],[-110.69212723814175,53.06498964204568],[-110.64078202540423,53.08522378613936],[-110.6161716631641,53.08788535928921],[-110.59385624352261,53.07029950590365],[-110.59543380499979,53.041477534026924],[-110.58351305658219,53.03205407789625],[-110.50188346128238,53.040880035052105],[-110.47919184670901,53.02848754580321],[-110.45625695870325,53.006723534928305],[-110.45420555899207,52.982829929374844],[-110.46467603872362,52.96663168957171],[-110.45666259588728,52.95815076268171],[-110.42347304099854,52.957135699851015],[-110.41255638739548,52.94547945632069],[-110.34229823665149,52.92694420545515],[-110.33630932017422,52.91898400617595],[-110.29210791767115,52.90814770966125],[-110.24895680761253,52.904883611397494],[-110.20080661433465,52.908291503893544],[-110.1538803022228,52.89099070470015],[-110.12996570832253,52.88601064665933],[-110.12956347187554,52.87339623712033],[-110.111561116585,52.86425706591156],[-110.0689566309757,52.865450940538615],[-110.06758578325454,52.857985890527246],[-110.0236857994526,52.85556170442561],[-110.00516260005787,52.85733784466667],[-110.00602655043274,52.886481779407845],[-110.00463884210335,52.987233674956954],[-110.00565140556915,53.04520251098365],[-110.00547084304866,53.243396553013106],[-110.00545301022785,53.24890300798567],[-110.05426788069134,53.24891369986434],[-110.05427261247596,53.30712879403307]],[[-110.05427261247596,53.30712879403307],[-110.09105830360684,53.307091208698616],[-110.09110580665269,53.31440851251372],[-110.05424738278901,53.31438300654808],[-110.05427261247596,53.30712879403307]],[[-110.30558381807435,53.03786423727111],[-110.29785961646357,53.037838000408996],[-110.29373750202407,53.031975687155736],[-110.29488589114352,53.02822716041047],[-110.30558381807435,53.03786423727111]],[[-110.3313823099362,53.34614807894296],[-110.32231970386351,53.34335607613311],[-110.32188158404594,53.33334890462948],[-110.3466429085457,53.340338811133215],[-110.3313823099362,53.34614807894296]],[[-110.33708910391097,53.50577150222467],[-110.33747438415648,53.526094608012386],[-110.3184899496026,53.511732442388194],[-110.33708910391097,53.50577150222467]],[[-110.80992270321858,53.34317612227189],[-110.88300712083355,53.34332410621669],[-110.89554378965217,53.35043618918922],[-110.89172637387499,53.3655536287977],[-110.80973720467074,53.36556733876733],[-110.80992270321858,53.34317612227189]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-110.45331826596251,\"lat\":53.37377138390223},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4810\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4810036\"],\"csd_name_en\":[\"Vermilion River County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Vermilion River County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.75632555658294,53.36078769644668],[-113.80472678392705,53.35486995879686],[-113.83167859927204,53.361013262235595],[-113.87531358377981,53.34251396841198],[-113.92186349255111,53.336367565127524],[-113.96911458455942,53.34102935396019],[-113.99702339111867,53.32488125773131],[-114.04562490860974,53.32558517150524],[-114.05981700527462,53.348393665609166],[-114.09041880408326,53.35038596408412],[-114.1256348872588,53.34571936277276],[-114.16171609335727,53.354924076584794],[-114.22127267931491,53.358054563825405],[-114.25561219259858,53.37183887128558],[-114.27299518268109,53.3703768677846],[-114.27873068001918,53.3828428530109],[-114.30026551176691,53.39604275349269],[-114.29160250651906,53.40655045164148],[-114.31542220267997,53.42126437534267],[-114.37332589902054,53.42252875146577],[-114.36074041449692,53.407301959093935],[-114.38942009532174,53.382133765222655],[-114.4006198968306,53.38509315785999],[-114.41949840513107,53.36344825884867],[-114.39765668834414,53.36245825289542],[-114.39872379907341,53.34984896405128],[-114.41421569475428,53.34367907049392],[-114.44663370712769,53.34468397407142],[-114.4798560060701,53.34036295704863],[-114.50522188940427,53.315245265062416],[-114.52025412328753,53.30963906982747],[-114.54593742274557,53.31467996205477],[-114.56187315838766,53.312077758648975],[-114.5608568616379,53.25053046051109],[-114.53755148930651,53.250611697479236],[-114.537948658323,53.221096295887676],[-114.48918450508194,53.22149470316382],[-114.48879513512638,53.192412015289555],[-114.44043507339295,53.19225048701887],[-114.44046441661094,53.14577138316104],[-114.39642353067318,53.1456966421976],[-114.39639814617999,53.13595090130218],[-114.3627306609416,53.13573926600034],[-114.3636131062868,53.061910860187815],[-114.19681134157275,53.061533004937736],[-114.19680117923848,53.05411851643948],[-114.14837160498874,53.05419927434648],[-114.14837655556086,53.046958239230165],[-114.0520089919276,53.04688123453122],[-114.07620511969147,53.06486361725961],[-114.08263810471485,53.0747249672721],[-114.07861219986826,53.07593789603451],[-114.07721684210615,53.07067495266816],[-114.07259600806132,53.065256215620394],[-114.03858423316134,53.054398558076755],[-114.03843443087464,53.0543995638962],[-114.03880092513995,53.105076106427255],[-114.00184178742032,53.105107696015],[-114.00184941342926,53.1341901964331],[-113.94338231122975,53.133980238624275],[-113.93356427609669,53.121341154453276],[-113.90721791188037,53.112104053320124],[-113.84947178706786,53.11508795591328],[-113.82484125440715,53.10509596096972],[-113.5859430887363,53.10502499421047],[-113.56178004499537,53.103302725744825],[-113.56142629571303,53.11953192577398],[-113.17169680948892,53.11975688542912],[-113.17060804212855,53.16757673607715],[-113.18407519418832,53.167914163539216],[-113.18428929255244,53.21260373073213],[-113.17173696212696,53.21276481045345],[-113.17175658054941,53.235945708164905],[-113.0498413226695,53.23565369439153],[-113.0499141559047,53.294171054293344],[-113.00000000750009,53.294139766542145],[-112.99999998157585,53.33768735781798],[-113.02563305863946,53.33763389717152],[-113.0257125229658,53.352163256383726],[-113.05007558715651,53.35214291669826],[-113.04986959344197,53.36399942606545],[-113.04975500918653,53.36674339248907],[-113.3443056988399,53.36683990196829],[-113.39113040009751,53.36682770889243],[-113.3910457542619,53.32990827448601],[-113.4398068465416,53.33002241219073],[-113.46415709301625,53.337858694946426],[-113.46417729889141,53.36690569755843],[-113.46730989497775,53.39586479756854],[-113.50976394095429,53.39588246692723],[-113.54974544739089,53.337901729224356],[-113.68402048388754,53.33829342131753],[-113.75689749444763,53.337768110192485],[-113.75632555658294,53.36078769644668]],[[-114.09955038598571,53.07560708351977],[-114.11216652579505,53.08165136157972],[-114.10607108734447,53.08253431856775],[-114.09947430686431,53.0794001038195],[-114.09955038598571,53.07560708351977]],[[-114.33043524100036,53.17385905826326],[-114.33091593205675,53.192382751160615],[-114.30520311987198,53.192370695758854],[-114.30598581182886,53.179504939220486],[-114.33043524100036,53.17385905826326]],[[-114.05384540065562,53.234927001132554],[-114.03850419229096,53.228715538428915],[-114.05059317804205,53.2214674963917],[-114.062881640267,53.23108767107445],[-114.05384540065562,53.234927001132554]],[[-113.8037381731493,53.272258041703424],[-113.79278831784161,53.25755989581647],[-113.8298140395205,53.25406476181064],[-113.83037060878111,53.265046093468634],[-113.8037381731493,53.272258041703424]],[[-113.5465546937927,53.307438409959865],[-113.51290561334076,53.308802901475154],[-113.512890585273,53.27967089011359],[-113.48851289875462,53.27967889006843],[-113.48850059126539,53.250546097148934],[-113.49986616159153,53.23578542605099],[-113.56167020553175,53.23603830583125],[-113.56223707698764,53.24327475765193],[-113.61044547816259,53.24286618232098],[-113.6103780941084,53.279724601810535],[-113.54805668580566,53.279714991535464],[-113.5465546937927,53.307438409959865]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.82343233295497,\"lat\":53.23369204785456},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811012\"],\"csd_name_en\":[\"Leduc County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Leduc County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.4975654237993,52.901627067028336],[-113.54092389846818,52.90326628623334],[-113.55775738370205,52.907283905737835],[-113.59754659186262,52.90659990607032],[-113.63136792658096,52.91617798819048],[-113.63074917797111,52.87218587928927],[-113.52250943995763,52.87215653655819],[-113.49732583981914,52.88696710132621],[-113.4975654237993,52.901627067028336]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.57075459929027,\"lat\":52.89001355373518},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811803\"],\"csd_name_en\":[\"Louis Bull 138B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Louis Bull 138B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-110.3086896204373,55.55159603215887],[-110.67778607967263,55.55385230761902],[-111.09100347958422,55.55496593169735],[-111.4013364820542,55.55475221818934],[-111.40330570264618,55.62074869243524],[-111.3996535723638,55.72652651275647],[-111.39882844346846,55.81017654027888],[-111.4126273653774,55.81009385996609],[-111.41273463476497,55.98444053230666],[-111.88477130306758,55.988270548711924],[-111.88313399499717,55.941218319612865],[-111.92870207994031,55.940765202715724],[-112.03872765595983,55.943319789954636],[-112.03944342591788,55.98721037754822],[-112.29443822409876,55.98664977594948],[-112.63637737984314,55.98507802937212],[-112.63018672340864,55.97214466834471],[-112.65359465360538,55.961665475468976],[-112.61882766199899,55.9431896500488],[-112.6314126336791,55.92224917361255],[-112.6572658720378,55.920626659059664],[-112.67737284568942,55.906719277308966],[-112.6745611257866,55.896236417980596],[-112.64890102470042,55.8892606554284],[-112.66182328296966,55.875687012813486],[-112.63292744503826,55.86358485565023],[-112.63150243379835,55.855100436285895],[-112.64822969226098,55.84174473866826],[-112.63065462259252,55.825951977702935],[-112.63032651823734,55.79225033015202],[-112.61684304675786,55.7770313488466],[-112.63684267984098,55.765160670385974],[-112.61319514959841,55.75203209454008],[-112.59721326003647,55.727035578236894],[-112.64299219835864,55.71772798801923],[-112.67359193541279,55.695114759846014],[-112.72244601513827,55.69335046229514],[-112.74933106766348,55.676920652632305],[-112.75384041592464,55.66583492043953],[-112.78576887790842,55.649461466709376],[-112.79100140231535,55.64143023854838],[-112.7727947421246,55.62958199697614],[-112.7897400555806,55.608793523091485],[-112.7892594882192,55.59700003428657],[-112.75979420375826,55.5784354773238],[-112.76600316433303,55.557360442472515],[-112.75815464131014,55.53794390542334],[-112.76605188090743,55.528532050213826],[-112.78820164324213,55.52617447730302],[-112.79960138930622,55.51829827672127],[-112.79126875538877,55.505088544253],[-112.75912795311359,55.499213535631384],[-112.75201647907242,55.49056355855615],[-112.77702253779388,55.47308114305227],[-112.75109748097805,55.46088428231539],[-112.31353038314617,55.46057316391541],[-112.31257283854244,55.28790780731985],[-112.31175587100589,55.11172499578244],[-112.34493358674656,55.11150655235776],[-112.34448496285533,55.023953293469425],[-112.4458757992055,55.02396308708248],[-112.44656174478072,55.000076613890066],[-112.44614206540827,54.76217982737116],[-112.42529155588889,54.762187925210576],[-112.4251432761435,54.587470813590855],[-112.12283700089104,54.58733029015895],[-112.12282058798756,54.50007266698004],[-111.99937489760947,54.499510492154066],[-111.99694080121563,54.413137002883595],[-111.97619053294173,54.41308076982867],[-111.97615163907398,54.398557426180034],[-111.94968961592973,54.398599560145655],[-111.94787724803027,54.35490752376113],[-111.85212907296045,54.3552547976825],[-111.86225663515528,54.369770520779255],[-111.86210800749744,54.393952908689975],[-111.8525706459683,54.406134920500065],[-111.82841478082184,54.39322639651419],[-111.82905029132604,54.413270279574],[-111.46680071339459,54.41283306421154],[-111.46071257304763,54.43440225347341],[-111.44029338097064,54.4395928745065],[-111.44080716655513,54.50005217852594],[-111.44519144445262,54.603926083628224],[-111.3149591959437,54.60441120220176],[-111.31389165982223,54.66011260297062],[-111.23939089567831,54.66048216988412],[-111.2418256405414,54.76220039685833],[-111.30110876199522,54.76213430701211],[-111.30137925841402,54.84965018742087],[-111.30384843078261,55.07885211519322],[-111.30489296856877,55.110876753733464],[-111.30428233079832,55.330962190786686],[-110.85043980396352,55.332705566309194],[-110.46885591895256,55.33284616094124],[-110.4687467211316,55.34108036436728],[-110.44322954860449,55.34070884075546],[-110.44176832795722,55.37646675402162],[-110.30925300682891,55.37698773923795],[-110.3086896204373,55.55159603215887]],[[-111.41881827300362,55.0834086625547],[-111.49148907154913,55.042996270371994],[-111.50543508914961,55.06188545805297],[-111.5381807686327,55.028387964110635],[-111.54765667346862,55.02381247727011],[-111.5471533873627,55.00051407162075],[-111.53098648035555,54.99838400881235],[-111.53173539894087,54.965991498140305],[-111.58216233093326,54.96578155644811],[-111.58186249744793,54.9949237994194],[-111.55652081321851,54.994944224343406],[-111.55796576638396,55.05328444532842],[-111.58377282606945,55.053508937585015],[-111.58397118665414,55.08306898628105],[-111.41881827300362,55.0834086625547]],[[-111.91748577148186,54.71859817298786],[-111.85827519590553,54.70386579345746],[-111.84444517364068,54.71380155594443],[-111.82142948542177,54.69963857159456],[-111.82048661437024,54.61661150169303],[-111.87087413738259,54.61663566702626],[-111.87134133764836,54.631201744057],[-111.92104699059199,54.630422424198905],[-111.91748577148186,54.71859817298786]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.79542227805928,\"lat\":55.27688629562089},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4812\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4812037\"],\"csd_name_en\":[\"Lac la Biche County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Specialized municipality\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Lac la Biche County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-110.00567348965434,54.747727662182314],[-110.00292557781655,55.035697986496885],[-110.00011148410972,55.331232726754756],[-110.00001031570066,55.549277976003395],[-110.3086896204373,55.55159603215887],[-110.30925300682891,55.37698773923795],[-110.44176832795722,55.37646675402162],[-110.44322954860449,55.34070884075546],[-110.4687467211316,55.34108036436728],[-110.46885591895256,55.33284616094124],[-110.85043980396352,55.332705566309194],[-111.30428233079832,55.330962190786686],[-111.30489296856877,55.110876753733464],[-111.30384843078261,55.07885211519322],[-111.30137925841402,54.84965018742087],[-111.30110876199522,54.76213430701211],[-111.2418256405414,54.76220039685833],[-110.91231165385885,54.76188497242473],[-110.45948684376764,54.762218073567595],[-110.08139582860197,54.76227763826369],[-110.08142128333255,54.74776221450262],[-110.05619911860987,54.74048812082991],[-110.03095713713279,54.74774147855754],[-110.00567348965434,54.747727662182314]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-110.60878461230766,\"lat\":55.08191315598643},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4812\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4812038\"],\"csd_name_en\":[\"Improvement District No. 349\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Improvement district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Improvement District No. 349\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.91748577148186,54.71859817298786],[-111.92104699059199,54.630422424198905],[-111.87134133764836,54.631201744057],[-111.87087413738259,54.61663566702626],[-111.82048661437024,54.61661150169303],[-111.82142948542177,54.69963857159456],[-111.84444517364068,54.71380155594443],[-111.85827519590553,54.70386579345746],[-111.91748577148186,54.71859817298786]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.86930921464729,\"lat\":54.66624644633868},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4812\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4812828\"],\"csd_name_en\":[\"Beaver Lake 131\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Beaver Lake 131\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.41881827300362,55.0834086625547],[-111.58397118665414,55.08306898628105],[-111.58377282606945,55.053508937585015],[-111.55796576638396,55.05328444532842],[-111.55652081321851,54.994944224343406],[-111.58186249744793,54.9949237994194],[-111.58216233093326,54.96578155644811],[-111.53173539894087,54.965991498140305],[-111.53098648035555,54.99838400881235],[-111.5471533873627,55.00051407162075],[-111.54765667346862,55.02381247727011],[-111.5381807686327,55.028387964110635],[-111.50543508914961,55.06188545805297],[-111.49148907154913,55.042996270371994],[-111.41881827300362,55.0834086625547]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.52787042605091,\"lat\":55.04333718716813},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4812\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4812840\"],\"csd_name_en\":[\"Heart Lake 167\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Heart Lake 167\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-110.7043381345333,55.967432354419884],[-110.7378594093535,55.95591301390087],[-110.76338485187019,55.956053965095286],[-110.76207383284006,55.9149195968604],[-110.7313745149905,55.91509080900463],[-110.72513990971974,55.90086854716858],[-110.70704605582556,55.898880297673074],[-110.69853158348991,55.91559236273237],[-110.65498187002774,55.93060887258883],[-110.65565910573393,55.93673050554307],[-110.69324345184685,55.93626082427644],[-110.7043381345333,55.967432354419884]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-110.72033811134186,\"lat\":55.933231042314624},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4816\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4816817\"],\"csd_name_en\":[\"Janvier 194\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Janvier 194\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.58897571563284,59.80855991050449],[-111.5861984637994,59.83485851596743],[-111.61434518249797,59.84044424749263],[-111.59695434610724,59.84882256418628],[-111.60207742912648,59.86010450854458],[-111.5900962536334,59.87302206150266],[-111.65301314946034,59.87519036650576],[-111.66828137046784,59.890444368408865],[-111.65320936178223,59.915760376654326],[-111.68247086976943,59.92405638290938],[-111.6897857563624,59.937621675536114],[-111.71894894132313,59.933553567761315],[-111.74111279188561,59.94977977950327],[-111.7634342436885,59.95187748081695],[-111.75989302429343,59.92706002911139],[-111.7332235045297,59.92315464779827],[-111.6887777923723,59.90175767300859],[-111.69196372828046,59.88683832384067],[-111.71996308901882,59.87567831456058],[-111.71441736203901,59.820470677954596],[-111.60560898565599,59.82296940161489],[-111.60927897000032,59.8078611918872],[-111.58897571563284,59.80855991050449]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.67089921689107,\"lat\":59.86932320432323},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4816\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4816860\"],\"csd_name_en\":[\"Thebathi 196\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Thebathi 196\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-115.36415390087082,55.42079756122376],[-115.38610679288794,55.4178261868827],[-115.36036351530595,55.403901824136064],[-115.31050674821866,55.40352142143996],[-115.30496349834287,55.42224997701513],[-115.331628504024,55.4114023682779],[-115.36415390087082,55.42079756122376]]],[[[-115.36045746988611,55.396931907106605],[-115.38608399231181,55.396577112636606],[-115.41151911260806,55.39002316130043],[-115.41143503742856,55.368407049223904],[-115.43726140814336,55.36776988932549],[-115.43721054015147,55.35352073226476],[-115.47577819523248,55.34528320930757],[-115.47623611782883,55.3317541774563],[-115.46293716575367,55.32317556849892],[-115.38609256765307,55.32447562668169],[-115.38810968652479,55.362540872817625],[-115.37322558036675,55.37424909099509],[-115.36030168993284,55.374373340711045],[-115.36045746988611,55.396931907106605]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-115.4023048491674,\"lat\":55.36375791906687},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817831\"],\"csd_name_en\":[\"Swan River 150E\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Swan River 150E\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.34040444652251,55.758193943852625],[-117.34066069395708,55.750722974702],[-117.33225127017245,55.752289853559994],[-117.3305426815757,55.75754479823681],[-117.34040444652251,55.758193943852625]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.33622457210116,\"lat\":55.75477899858573},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4819\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4819048\"],\"csd_name_en\":[\"Girouxville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Girouxville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-118.71560188679503,55.763806768894476],[-118.72122048430022,55.752379398829675],[-118.68552267003857,55.75396477383288],[-118.71560188679503,55.763806768894476]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-118.7074483470446,\"lat\":55.756716980519},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4819\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4819056\"],\"csd_name_en\":[\"Rycroft\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Rycroft\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.70300448273004,49.0000499391504],[-119.69753614067515,49.01883856020781],[-119.71143882806412,49.03203526764504],[-119.70851163891221,49.049152856627686],[-119.71617432820315,49.073983951323946],[-119.72975434673499,49.0805930259492],[-119.73495187572705,49.059103175889334],[-119.736879691363,49.00008374846988],[-119.70300448273004,49.0000499391504]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.72096153298106,\"lat\":49.03346971436392},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5907\"],\"cd_name_en\":[\"Okanagan-Similkameen\"],\"csd_code\":[\"5907805\"],\"csd_name_en\":[\"Chopaka 7 & 8\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Okanagan-Similkameen\",\"csd_name_fr\":\"Chopaka 7 & 8\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.54268209552515,50.05240793208374],[-121.59013256224411,50.049588591585376],[-121.60975134458276,50.04188198106048],[-121.635635765221,50.05757086376881],[-121.66124885540161,50.06497188783156],[-121.66626607834645,50.08080475284633],[-121.70266746713799,50.074947158243546],[-121.71457896512857,50.08620817117932],[-121.75876280349085,50.09196251262882],[-121.79362151349727,50.09002396528457],[-121.8011968399624,50.08514745370253],[-121.84939080300482,50.075296355730394],[-121.85091021316742,50.05274993938098],[-121.89580230551168,50.04964998716786],[-121.91036864267403,50.05477301230744],[-121.9199063086321,50.071762852282085],[-121.9593924193798,50.08469144706474],[-121.9811774897997,50.08007353280463],[-122.0236312700526,50.085840471547336],[-122.05696731518738,50.10941596701138],[-122.07006993723608,50.1263701322907],[-122.09592233972194,50.1247475997114],[-122.11636732115254,50.107311729794226],[-122.15321760917134,50.11444164200884],[-122.17601602038843,50.1095927230407],[-122.22991522865198,50.11051206971429],[-122.24458418801987,50.093914751460616],[-122.2746918415539,50.08405548489599],[-122.28883609699916,50.05152526268958],[-122.26061581816188,50.04328823094592],[-122.25533078935193,50.03529088825321],[-122.26139283859635,50.00305455462581],[-122.2493874651411,49.97969351205908],[-122.26495513842094,49.97496044288222],[-122.27129206828607,49.96310098253728],[-122.2400426921148,49.9408122449186],[-122.23535301282924,49.92610895399701],[-122.20791517266318,49.91223982621253],[-122.1636463462239,49.90939290599292],[-122.13527489358441,49.883957848091676],[-122.13069093053777,49.87355378823775],[-122.10469559550428,49.84843215868419],[-122.06955062567356,49.831545712582596],[-122.05213053499499,49.837539156444905],[-122.03925626179921,49.81705534039776],[-121.99200675184645,49.820200445983566],[-121.98766737354356,49.83227685497605],[-121.96866204083634,49.83651437665191],[-121.97259681070742,49.84979788033316],[-121.96033333799178,49.86042478828539],[-121.94795982071793,49.855957948218204],[-121.92657594580739,49.867895904149755],[-121.90581019089986,49.87372903621733],[-121.87589890787197,49.87012855067724],[-121.85806001725814,49.88038748086423],[-121.83668589549407,49.86758983503879],[-121.84413971559484,49.85894940259982],[-121.81325524676443,49.85383631600303],[-121.79332897266502,49.84092617205509],[-121.77800987091649,49.857011972389586],[-121.77283657973504,49.87097159740671],[-121.75548299942206,49.864425270033564],[-121.75850511394897,49.8522793047479],[-121.73153456495432,49.85018571917993],[-121.72828959111831,49.83709165553692],[-121.71268605267092,49.82363384214905],[-121.73132101448492,49.813062934222714],[-121.72919688039754,49.7978442225819],[-121.70980232904913,49.793746760214304],[-121.70479602111149,49.77433170698581],[-121.7133795697718,49.770744590055344],[-121.71022619934425,49.745576512701156],[-121.73379572619722,49.73560660214661],[-121.69947504774431,49.71558146356956],[-121.70143846138986,49.701587999035766],[-121.51058770879669,49.703101165296815],[-121.34778264858811,49.702347508821774],[-121.14440262704315,49.70015953813995],[-121.155357556301,49.716138765509044],[-121.18570331991754,49.726605804720975],[-121.19367362624193,49.73615538910238],[-121.19714658898384,49.75478486857047],[-121.21182554628788,49.77926963595587],[-121.18776105980045,49.79853328707815],[-121.18826639802711,49.813049486145594],[-121.1802266803239,49.82187052738434],[-121.15518228802101,49.82140163043919],[-121.12435089450446,49.82564067234034],[-121.10324784156862,49.835101806084],[-121.11733606364368,49.84613353850843],[-121.09196723488827,49.85649639308749],[-121.0980446399436,49.87333026156967],[-121.14705088068868,49.8598307878145],[-121.17262562840556,49.86204626684562],[-121.16426153998125,49.88125809491546],[-121.19610728537141,49.886783100771844],[-121.22015741929802,49.89448188496823],[-121.23063972008492,49.882265327868375],[-121.2860351109753,49.87226310313267],[-121.29974292656121,49.88354727112262],[-121.31781598057295,49.8827774265615],[-121.32425906778234,49.89942365700732],[-121.31283549213633,49.912767114980305],[-121.29988962994618,49.91127723891289],[-121.286554996184,49.926950354306975],[-121.28797551181019,49.9470585515803],[-121.28083316467546,49.96117980779601],[-121.2691639139884,49.962255647616104],[-121.27331005004042,49.98860019520614],[-121.29254717704357,49.999994572950804],[-121.29050095363975,50.0111285201323],[-121.32832074076312,50.03779896889534],[-121.31532813930744,50.05246633438642],[-121.54210692180143,50.05238788010108],[-121.54268209552515,50.05240793208374]],[[-121.48762345788006,49.96453365722716],[-121.48246681010146,49.96486229966923],[-121.48248263102575,49.95967036547653],[-121.48774943797558,49.95972751297834],[-121.48762345788006,49.96453365722716]],[[-121.44821121705176,49.90842967000072],[-121.44529154422575,49.912526464651684],[-121.43945301602119,49.90940806648434],[-121.44821121705176,49.90842967000072]],[[-121.43278591604229,49.83081502671446],[-121.4369971306262,49.838614953990444],[-121.42969478258803,49.839111801484236],[-121.43154139717035,49.83426159808182],[-121.4267886376521,49.83430440531709],[-121.42674617606579,49.82259470435211],[-121.43069578939156,49.82268823930717],[-121.43278591604229,49.83081502671446]],[[-121.49561768188036,49.99429894225522],[-121.4846812326856,49.99408297423273],[-121.48425638103568,49.98455552077275],[-121.49516404539352,49.98655904371696],[-121.49561768188036,49.99429894225522]],[[-121.45207956473766,49.85993464358292],[-121.45848264729972,49.87973732373504],[-121.44424155584463,49.878795694996555],[-121.45207956473766,49.85993464358292]],[[-121.46245355856317,49.92922812499372],[-121.4834247471644,49.93211493583589],[-121.48385970036114,49.95174807809728],[-121.46245355856317,49.92922812499372]],[[-121.50499699976889,50.01463478812049],[-121.50187412741633,50.00084106689894],[-121.51524623702652,49.99904647379498],[-121.51983831884121,50.00953311279616],[-121.50499699976889,50.01463478812049]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.68630368833689,\"lat\":49.91401135766754},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909014\"],\"csd_name_en\":[\"Fraser Valley A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Fraser Valley A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.61459081933172,49.35685832525256],[-121.6179495319838,49.362894630518255],[-121.68960910611902,49.36063790754411],[-121.7652376084027,49.359368300538065],[-121.7638736272492,49.33399358405036],[-121.79917509804413,49.31389292554743],[-121.77140793832262,49.30936496247825],[-121.76602979441442,49.280437854379805],[-121.78862469440377,49.28068934856984],[-121.79701426012296,49.30188243747019],[-121.81393020211615,49.304120907199966],[-121.87765029888055,49.29535021228897],[-121.89259297306808,49.29043504494676],[-121.91585741274763,49.27717476799758],[-121.91541476176789,49.26797513736009],[-121.930685921572,49.26185519898738],[-121.94170361109387,49.24961309396596],[-121.96244258108136,49.2421097970057],[-121.94896101012934,49.232880107254395],[-121.94490492307652,49.21558967532734],[-121.9344482975213,49.22462660839731],[-121.85416878094534,49.222486200120436],[-121.83996920357565,49.22850211211967],[-121.8310534985034,49.219751105370605],[-121.80165889850325,49.2140371888914],[-121.78829624046332,49.20691396385541],[-121.77293399932898,49.2046224015239],[-121.73208468546383,49.21444145771178],[-121.71551031855195,49.22757515380282],[-121.71019639797066,49.24370549389616],[-121.69439300740963,49.25479440675483],[-121.67921424685973,49.27219241254063],[-121.66863924511006,49.29641594108945],[-121.66677349142593,49.312306814248636],[-121.65416014311445,49.31802485405923],[-121.62947041554388,49.31975830436024],[-121.60717430840307,49.35130049522718],[-121.61345230866242,49.35652144161298],[-121.61459081933172,49.35685832525256]],[[-121.9337667142806,49.23366690268475],[-121.94167924626954,49.22930258289156],[-121.95266130747804,49.236211141597046],[-121.9337667142806,49.23366690268475]],[[-121.76605247591148,49.212216382079184],[-121.76557506590288,49.222330021773125],[-121.7527951540475,49.22237375570858],[-121.75249063402552,49.21422875160935],[-121.76605247591148,49.212216382079184]],[[-121.67595738623424,49.31285821926184],[-121.68532592909912,49.28266905366505],[-121.70084414727089,49.276124855421905],[-121.69494304829462,49.261099454385565],[-121.70167652964935,49.253249175286356],[-121.72529632435804,49.24215069072996],[-121.74327342604494,49.25816276839763],[-121.73695868996175,49.27509981200058],[-121.7236403924047,49.281448503597304],[-121.71654703908891,49.297718771110176],[-121.69798718522438,49.300412103800966],[-121.67595738623424,49.31285821926184]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.77888431944945,\"lat\":49.281827156973506},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909032\"],\"csd_name_en\":[\"Kent\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Kent\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.60545025109984,49.346986243100105],[-121.61873075095502,49.33213880116846],[-121.59859439787057,49.33334919761228],[-121.60545025109984,49.346986243100105]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.60759179997515,\"lat\":49.33749141396029},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909807\"],\"csd_name_en\":[\"Ohamil 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Ohamil 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.4383516895015,49.45762333626941],[-121.44180514897594,49.432364168587576],[-121.42725969420344,49.44301900561059],[-121.42742289428135,49.457559930372746],[-121.4383516895015,49.45762333626941]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.4342492721682,\"lat\":49.44706182290428},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909808\"],\"csd_name_en\":[\"Puckatholetchin 11\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Puckatholetchin 11\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.3598822994415,49.11918548581165],[-122.35995373038246,49.1039613342722],[-122.3384169476604,49.109050987249475],[-122.3598822994415,49.11918548581165]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.35275099249479,\"lat\":49.11073260244444},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909878\"],\"csd_name_en\":[\"Matsqui Main 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Matsqui Main 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.22157442344542,49.23699892626281],[-123.25261593266073,49.25104025106915],[-123.25635695408525,49.25636297803527],[-123.29942268192691,49.259175471198134],[-123.30496920349745,49.10396836777896],[-123.29990187388017,49.10371895637877],[-123.24620641380686,49.12580688108162],[-123.22920643484518,49.13060038403162],[-123.1934950274811,49.119657631928725],[-123.14529237258432,49.10891509126142],[-123.12675678678934,49.08867267580742],[-123.0966464286051,49.09013644268286],[-123.08583662661383,49.11811065430469],[-123.07501460321663,49.121969804003456],[-123.03439229389056,49.14668419524561],[-122.98864081836611,49.15573780005048],[-122.98223059617668,49.163597608083606],[-122.95690884107356,49.175171880178624],[-122.95742637302172,49.19012082749938],[-122.96974183155518,49.18190544388797],[-122.9871508128919,49.18298091994643],[-123.02313950746276,49.19974447006916],[-123.07625867769187,49.20828221321665],[-123.11350605485802,49.204760958797436],[-123.13242289107654,49.198534897007974],[-123.1635435391065,49.2135876345496],[-123.19129597659891,49.21943970492989],[-123.22594391104604,49.228871504782255],[-123.22157442344542,49.23699892626281]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.16836834889733,\"lat\":49.17005821641582},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5915\"],\"cd_name_en\":[\"Greater Vancouver\"],\"csd_code\":[\"5915015\"],\"csd_name_en\":[\"Richmond\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Greater Vancouver\",\"csd_name_fr\":\"Richmond\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.39193939027643,48.44259012014102],[-123.42315598892016,48.452050907624084],[-123.42475053446003,48.45103194617263],[-123.41235505389315,48.44659132030083],[-123.43189462149228,48.43942387437356],[-123.44202315582241,48.43081612527051],[-123.42027414100042,48.413473907915304],[-123.39421423061935,48.41434845890026],[-123.39193939027643,48.44259012014102]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.41308102473302,\"lat\":48.43034554353774},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5917\"],\"cd_name_en\":[\"Capital\"],\"csd_code\":[\"5917040\"],\"csd_name_en\":[\"Esquimalt\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Capital\",\"csd_name_fr\":\"Esquimalt\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.8637316404857,49.12674892721258],[-123.87855235800257,49.13339838855825],[-123.88566545023969,49.12310593561207],[-123.8637316404857,49.12674892721258]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.87598314957596,\"lat\":49.12775108379431},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5921\"],\"cd_name_en\":[\"Nanaimo\"],\"csd_code\":[\"5921807\"],\"csd_name_en\":[\"Nanaimo River\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Nanaimo\",\"csd_name_fr\":\"Nanaimo River\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.44310768257458,50.014407103014996],[-124.49798208941114,49.993885720847295],[-124.53109643308055,49.98682453108463],[-124.53863520517523,49.98132531173463],[-124.53925350641023,49.96310310793517],[-124.53321289116386,49.92612141475049],[-124.53439971437734,49.91257410760359],[-124.5267849572023,49.88733315547778],[-124.5183249148336,49.87498796675871],[-124.49843364424547,49.87365110680379],[-124.50387408918516,49.85865249911747],[-124.4927784368566,49.83342243143889],[-124.50366380926643,49.82960249151853],[-124.50997771701101,49.79257292765273],[-124.51388006280095,49.765807823925044],[-124.48728616517869,49.75707092544608],[-124.44203264367322,49.748762440965805],[-124.4329061427104,49.7487318241289],[-124.43174070994279,49.77643029816356],[-124.43752401328294,49.779767686321556],[-124.43776986635388,49.802733885509014],[-124.40979644098485,49.80291364445116],[-124.40837332782195,49.840152341559794],[-124.43157100596363,49.84009519915697],[-124.44226523939999,49.856349324784645],[-124.44122279082382,49.875165725048596],[-124.43256861802462,49.89420670062503],[-124.41980321997335,49.90360267050012],[-124.41585316181502,49.95228711477671],[-124.43505193694152,49.95597263757423],[-124.4336840704546,49.97849761223913],[-124.44514245569368,49.987794869303286],[-124.44310768257458,50.014407103014996]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.4733417444363,\"lat\":49.88506608794953},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5927\"],\"cd_name_en\":[\"Powell River\"],\"csd_code\":[\"5927012\"],\"csd_name_en\":[\"qathet B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Powell River\",\"csd_name_fr\":\"qathet B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.57285618813313,49.45560099503639],[-123.56612388599343,49.475362155965264],[-123.62800971185308,49.47592743117984],[-123.62853872791344,49.490369202632756],[-123.59855634074825,49.49084733980158],[-123.59959128974434,49.520586087601295],[-123.58962578611461,49.542911184665094],[-123.59379236721477,49.56737479239839],[-123.58652077944554,49.57898627788576],[-123.57075456398921,49.58331180814169],[-123.56844657711885,49.595362734827035],[-123.57834446649295,49.610966821170244],[-123.62715066529343,49.599733531265244],[-123.6462037070281,49.59080584514742],[-123.64010019663247,49.582052468519166],[-123.65516859279002,49.57491910333948],[-123.6636391852495,49.55186137008914],[-123.67483911088493,49.540211259735706],[-123.68208160824845,49.5003124655691],[-123.70755271205888,49.50019104235134],[-123.7354782191438,49.487187538343534],[-123.73548843154394,49.48629747511017],[-123.73513049152393,49.4672111444336],[-123.70880736108464,49.47127911540539],[-123.69935019839393,49.459994084339215],[-123.68131169191552,49.45275277771902],[-123.68046509487672,49.434127720357786],[-123.709956898081,49.43869405011998],[-123.72328989740234,49.43884834286286],[-123.74090186023118,49.45240995809801],[-123.74333038679534,49.46437345017558],[-123.75340726184346,49.47075210695941],[-123.77171886232543,49.464224022105455],[-123.76699266926536,49.319392649668195],[-123.73837752680708,49.31233839977494],[-123.57130823319761,49.3108814591227],[-123.56908086659305,49.405718513276135],[-123.56259118498221,49.40594357218476],[-123.56742382797633,49.453780951061695],[-123.57285618813313,49.45560099503639]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.65868309741847,\"lat\":49.42704220473642},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5929\"],\"cd_name_en\":[\"Sunshine Coast\"],\"csd_code\":[\"5929024\"],\"csd_name_en\":[\"Sunshine Coast D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Sunshine Coast\",\"csd_name_fr\":\"Sunshine Coast D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.15932527083808,51.473061341180774],[-122.15163071300755,51.465139888423565],[-122.1427869638826,51.473290523198806],[-122.15932527083808,51.473061341180774]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.15124764924273,\"lat\":51.470497250934386},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933814\"],\"csd_name_en\":[\"Canoe Creek 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Canoe Creek 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.98840120296323,52.0877822680049],[-121.95711080188393,52.08756756437502],[-121.95402939071636,52.11804048515545],[-121.97641785269475,52.12430313902336],[-122.02934507242107,52.124268394313965],[-122.02908101559964,52.10836902000352],[-122.006506426524,52.10141250468831],[-122.00032938598241,52.08778321558978],[-121.98840120296323,52.0877822680049]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.98828614400435,\"lat\":52.107621350274414},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941812\"],\"csd_name_en\":[\"Williams Lake 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Williams Lake 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.05644720208167,51.42880696609407],[-124.14204497584181,51.42778461320696],[-124.12491332822026,51.41623983885483],[-124.10490414124165,51.41110442379957],[-124.08566724711432,51.41119507516973],[-124.07891410663923,51.420265186448596],[-124.06306894878868,51.42077223193804],[-124.05630301975539,51.42481687982414],[-124.05644720208167,51.42880696609407]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.09879832767987,\"lat\":51.42156764888721},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941829\"],\"csd_name_en\":[\"Chilco Lake 1A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Chilco Lake 1A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.17194558744433,51.96063324088859],[-123.171133635597,51.91121496517285],[-123.11255728266872,51.911257721781936],[-123.11824779530997,51.937583304500066],[-123.13425769310308,51.933789212635],[-123.14504909888836,51.95683071142714],[-123.17194558744433,51.96063324088859]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.14769547129883,\"lat\":51.93130731086285},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941841\"],\"csd_name_en\":[\"Stone 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Stone 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.10496885115822,51.84119455638649],[-122.12407555274108,51.84530723690877],[-122.12304424155843,51.837428040922894],[-122.10496885115822,51.84119455638649]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.11736288181925,\"lat\":51.84130994473939},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941872\"],\"csd_name_en\":[\"Swan Lake 3\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Swan Lake 3\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-129.3599764941474,54.902289394242004],[-129.3370596817352,54.92105681170378],[-129.34798037694458,54.932425348601654],[-129.38104754892944,54.9326297147099],[-129.4086782746105,54.95055430877806],[-129.41493170908328,54.97151986739859],[-129.43032287683144,54.977920557864294],[-129.42299049796137,54.99500763410334],[-129.39613653874872,55.01142808581773],[-129.29025349742716,55.048769519935355],[-129.30274656219947,55.06734131629699],[-129.20250064490295,55.10918948439832],[-129.18132026952205,55.111012467799014],[-129.11874277953933,55.10209548113721],[-129.08395999964375,55.0918645672192],[-129.02641788718256,55.13279660721236],[-129.01936294904363,55.150016786715796],[-129.05708501565258,55.16592890932872],[-129.0782523234945,55.170325021304485],[-129.1197570320984,55.19377898326497],[-129.1413394228133,55.18722966745179],[-129.14438103856904,55.175640447586666],[-129.17567328130406,55.17153090467806],[-129.1980223200991,55.1607203123638],[-129.2441852224837,55.16360878650227],[-129.24823716578192,55.17185522449794],[-129.22767797045287,55.18293445285601],[-129.14525336817118,55.21431317323694],[-129.10876855455007,55.21864152725437],[-129.09723383549377,55.20339267257114],[-129.0711554575258,55.18456196457712],[-129.01565993105004,55.1704507040321],[-129.00334676018423,55.15960979803347],[-128.95895399248775,55.17722796386036],[-128.97631415436783,55.20631095033493],[-128.9031556787603,55.22392715375704],[-128.88695134278822,55.230304384161826],[-128.90227622341035,55.24360840933722],[-128.89850657477575,55.25652432663779],[-128.86985030869408,55.26617114038565],[-128.86844819313595,55.295435470585],[-128.88561780178034,55.30862043117439],[-128.8627379671793,55.327577804536546],[-128.86642117424248,55.33460867310244],[-128.92293407777106,55.337526542427],[-128.9351180784247,55.3528595425124],[-128.90913856509312,55.37460831623596],[-128.89548713312837,55.394436538485394],[-128.9245937535398,55.45524060410738],[-128.91021213875467,55.488288258837116],[-128.91682875904135,55.50588485261561],[-128.94466926936644,55.51582163177947],[-128.95996201798874,55.547576990958554],[-128.96995657406958,55.54259706759906],[-128.95559940405084,55.51864695913059],[-128.96761551083242,55.51144050406287],[-129.00931519530263,55.5105532470812],[-129.01015388461988,55.497658470151244],[-129.00048165360863,55.483495197856726],[-128.99510423395006,55.456761952275514],[-128.99799373995953,55.42898842293816],[-129.0452485887064,55.402956201464285],[-129.07362423643343,55.383083300295596],[-129.1583668361313,55.34439794705023],[-129.21568228187212,55.323294952617395],[-129.2207901371839,55.30704042296646],[-129.24934599064414,55.295482753762556],[-129.24681163489026,55.28763216802542],[-129.437221200948,55.21626735091001],[-129.52783948180374,55.21960021845596],[-129.57067649067685,55.22466389209094],[-129.63113348546878,55.21050619498519],[-129.6625794058781,55.19553708457511],[-129.70524432507844,55.2009381406385],[-129.72512907929612,55.185120670808],[-129.7408593890422,55.179637853746556],[-129.93008341404246,55.0327324908098],[-129.961377356546,55.057716105457864],[-129.98789706412808,55.05741084528292],[-129.98565996958243,55.04468557824591],[-129.99821576629338,55.022178781140425],[-130.01080961885881,55.01133951944289],[-130.00169333301002,55.000001925686135],[-129.98059946330937,55.000401066038556],[-129.94096509949983,54.97875597169729],[-129.92618282687033,54.97810313344713],[-129.8891484568961,54.95714957539398],[-129.84023435654413,54.924478616536845],[-129.81538277998717,54.87549895773435],[-129.82775438021602,54.857198864911766],[-129.8267791387318,54.84107098434148],[-129.80614866056322,54.810032063657765],[-129.7597028412246,54.805620561423275],[-129.74212023198706,54.816779289101746],[-129.60001369772124,54.824997041758195],[-129.56121348307403,54.823863320154],[-129.48172534063787,54.81633180803423],[-129.47782919490365,54.819978291737684],[-129.46414772126127,54.84500015473458],[-129.42999204603547,54.853959497796815],[-129.45177151025666,54.87617268209452],[-129.4413615230181,54.8837765830072],[-129.39403453064352,54.89262623630109],[-129.37392199850188,54.90743965977003],[-129.3599764941474,54.902289394242004]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-129.4297339738043,\"lat\":55.10760496814246},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5949\"],\"cd_name_en\":[\"Kitimat-Stikine\"],\"csd_code\":[\"5949035\"],\"csd_name_en\":[\"Nisga'a\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Nisga\\u2019a land\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kitimat-Stikine\",\"csd_name_fr\":\"Nisga'a\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.16183344568076,54.88280847666902],[-125.15090942294907,54.87585547983698],[-125.11504492915672,54.86853938471585],[-125.10002202036752,54.87868766986075],[-125.10465250868124,54.88830416956224],[-125.16183344568076,54.88280847666902]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.12624797325375,\"lat\":54.879210274474495},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951814\"],\"csd_name_en\":[\"Dzitline Lee 9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Dzitline Lee 9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-126.63023604165956,55.316861856256416],[-126.60960122577903,55.316065768624064],[-126.61190177316095,55.33064051740942],[-126.63283053328584,55.3306449099475],[-126.63023604165956,55.316861856256416]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-126.62104891947526,\"lat\":55.323575945383865},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951828\"],\"csd_name_en\":[\"Babine 6\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Babine 6\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.92859770905602,56.78689144302397],[-124.88011644467512,56.78873587073432],[-124.90831453945297,56.811940917651796],[-124.92372310659194,56.804379120538606],[-124.92859770905602,56.78689144302397]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.90807472346862,\"lat\":56.79671650107723},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5955\"],\"cd_name_en\":[\"Peace River\"],\"csd_code\":[\"5955812\"],\"csd_name_en\":[\"Ingenika Point\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian settlement \\/ \\u00c9tablissement indien\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Peace River\",\"csd_name_fr\":\"Ingenika Point\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-136.22611175966384,62.126307989876175],[-136.26239672914429,62.12967063707046],[-136.27546552394176,62.12568499182586],[-136.32514733181017,62.12554225631768],[-136.32486302577652,62.06745969094107],[-136.23449167012978,62.067537504386166],[-136.23478546501272,62.093970444387395],[-136.15159368402226,62.0949588434431],[-136.1545389798682,62.114132838065295],[-136.1745419155683,62.11496851479516],[-136.22611175966384,62.126307989876175]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-136.2568296582356,\"lat\":62.10000081420778},\"year\":\"2021\",\"prov_code\":[\"60\"],\"prov_name_en\":[\"Yukon\"],\"cd_code\":[\"6001\"],\"cd_name_en\":[\"Yukon\"],\"csd_code\":[\"6001012\"],\"csd_name_en\":[\"Carmacks\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Yukon\",\"cd_name_fr\":\"Yukon\",\"csd_name_fr\":\"Carmacks\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-134.2055950339318,60.6793191815358],[-134.26131740546816,60.70779045890898],[-134.47183989362034,60.81954448932369],[-134.4790224325734,60.83637612328087],[-134.5284035664657,60.86014546296452],[-134.6564207954882,60.93892773742497],[-134.67677549497677,61.03507784196022],[-134.73194717808767,61.1377168747273],[-134.85539643899975,61.20955412985801],[-134.98770150041892,61.24902724117426],[-134.98967239337884,61.04360236002526],[-134.98102399718286,60.82536009881924],[-134.96487655374207,60.7496360659419],[-134.9414411611053,60.70297498553981],[-134.90032895233242,60.65825587914905],[-134.8613235220963,60.6458250310437],[-134.8567286522038,60.58982273673412],[-134.9227974722859,60.565897676906324],[-134.98087883465595,60.55717318712328],[-135.02641809248126,60.55364071727719],[-135.1228791752389,60.618612676943435],[-135.17808379738946,60.663569629552114],[-135.24699261795308,60.74928517356149],[-135.27180754853532,60.7832210168448],[-135.2728763275945,60.791732269281496],[-135.3703814129918,60.79258607380031],[-135.38886067699877,60.786285838103076],[-135.4378805780056,60.78576494646053],[-135.46492090281257,60.79986339269319],[-135.44017971662345,60.81558087177313],[-135.45001529313643,60.83213271250824],[-135.71672669551444,60.83399334972773],[-135.71912581807612,60.82800112935355],[-135.75653498853927,60.8268364186599],[-135.76351567027132,60.83901018512061],[-135.7820124653877,60.84099288435333],[-135.83067723839343,60.83135978704295],[-135.83902926914183,60.82378799514571],[-135.86887438434476,60.817120378852294],[-135.91939394249547,60.81525308377841],[-135.9416734756702,60.77433833810047],[-135.76061703180335,60.68699260716568],[-135.48610293644853,60.55604020438434],[-135.48273160026358,60.360572553843355],[-135.53645371536473,60.18415799969757],[-135.59802245193995,60.000058644764785],[-135.24999997512802,59.99999999241035],[-134.98622754904167,60.00001281904278],[-134.9904624835013,60.08846180821721],[-134.98613769533733,60.19360406326367],[-134.726011525186,60.24005498955239],[-134.49997176656584,60.27639338390118],[-134.62885459331045,60.55523157078733],[-134.67622864110862,60.570231220123425],[-134.68792176538057,60.585140593996435],[-134.65677205836704,60.581522628743],[-134.56414503646363,60.59290763888703],[-134.5083315867798,60.56352037145728],[-134.49773250109118,60.56690407203972],[-134.47975810754255,60.60700855468761],[-134.44956261642957,60.62815833188153],[-134.45573403398123,60.65621305453946],[-134.38004850705295,60.65889963637729],[-134.3646517774721,60.61792014458],[-134.43652477258146,60.60390698924658],[-134.45991311276677,60.56999126760665],[-134.41904115943575,60.56631417986306],[-134.40110393074153,60.55907707948082],[-134.37086731181154,60.537972965483654],[-134.33381851608084,60.53152592811897],[-134.2055950339318,60.6793191815358]],[[-134.88399872031795,60.4802839943206],[-134.91143012766767,60.498475984323385],[-134.89520121170779,60.51261308101947],[-134.92702606932264,60.54961430907072],[-134.89687934023144,60.56784929045912],[-134.81433781373454,60.573309840598874],[-134.83789587015227,60.54874500931864],[-134.8241364522468,60.487019648679315],[-134.82340207754484,60.466375365684065],[-134.8027710780226,60.43609962327409],[-134.85415176149363,60.42872647983874],[-134.86632480554604,60.4045874752709],[-134.88624973803627,60.390407263152504],[-134.89377285285894,60.37072918759065],[-134.9310204026012,60.356920693686384],[-134.94208261565137,60.34158440234279],[-134.99450728753263,60.33796885397704],[-134.97822573390408,60.3258990831538],[-134.9714028579274,60.30938029117966],[-134.97360934734732,60.27754027818409],[-135.01294960729373,60.28577913010792],[-135.03457968662204,60.28161999077038],[-135.06621782752484,60.266718264658536],[-135.07501295511528,60.27755721807453],[-135.05816560065173,60.29283212672202],[-135.05829022624272,60.31749384707084],[-135.04799375553247,60.327457311480934],[-135.04926195503944,60.35056403201765],[-135.03467827261602,60.37148387906722],[-135.0176837449798,60.38602945045209],[-134.98524441686519,60.40004327570544],[-134.9676354844168,60.41493058814337],[-134.93583579848874,60.43050954166114],[-134.9171474078523,60.45919940998551],[-134.90209112638289,60.468256379696186],[-134.87958941218466,60.468479930239276],[-134.88399872031795,60.4802839943206]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-135.0457638079022,\"lat\":60.546771217309896},\"year\":\"2021\",\"prov_code\":[\"60\"],\"prov_name_en\":[\"Yukon\"],\"cd_code\":[\"6001\"],\"cd_name_en\":[\"Yukon\"],\"csd_code\":[\"6001060\"],\"csd_name_en\":[\"Whitehorse\",\"Unorganized\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Yukon\",\"cd_name_fr\":\"Yukon\",\"csd_name_fr\":\"Whitehorse, Unorganized\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-115.87065111897311,62.79061107035004],[-115.82002541928938,62.79445667928308],[-115.59923986939481,62.822533974278244],[-115.34724155082284,63.08901994707244],[-115.25103670039333,63.18935843865383],[-115.06495342706702,63.17039685688367],[-114.95087377291922,63.18769802071078],[-114.8570849370368,63.22930014371208],[-114.88814396000677,63.23561772690937],[-114.85840608730537,63.26159992364559],[-114.8183019031965,63.256810517273685],[-114.75789834302363,63.48067760097572],[-114.79033028757394,63.48218375979011],[-114.66358999737888,63.68126551550118],[-114.40613370624324,64.07687748925001],[-113.94751696222846,64.10401158069432],[-112.9440170743487,64.37961194810514],[-112.59145441004243,64.47353220786331],[-112.53201604072619,64.62205295462877],[-113.03050833664422,64.70300428965471],[-113.1495959122919,64.7106433362911],[-113.25724525348484,64.7106996819805],[-113.36837869527017,64.67560510068479],[-113.57686168878746,64.60252650328168],[-113.71534648422323,64.55593439927938],[-113.82547079544882,64.49506286622876],[-113.95915797928465,64.4372817678852],[-113.98061129108761,64.45010383660842],[-114.02489752453732,64.4454768440477],[-114.02233470290713,64.42969556650468],[-113.98026415524065,64.41779942073114],[-114.26639658578449,64.32631347528725],[-114.54133511718024,64.33549140409933],[-114.55017435108815,64.32710661980802],[-114.58910816060796,64.26049979260833],[-114.98993995633344,64.20244850101203],[-115.31319692608741,64.15464943540098],[-115.72355797155436,64.31358307994049],[-115.72111266483587,64.65496159452368],[-115.53391940931111,64.64673756444991],[-115.53045868877992,64.72662145366178],[-115.70012412506173,64.74489321383295],[-116.02321969976326,64.71588816442485],[-116.0430648169397,64.68441986543992],[-116.03281405012449,64.59726005349177],[-117.41977264365988,64.54428661009153],[-117.73331031995045,64.6876125894891],[-117.98918593809894,64.87950092873719],[-118.19056088038364,65.13392900211156],[-118.4123352402787,65.0713037072477],[-118.44634482200414,65.03403084757743],[-118.42337620107095,65.03358453770083],[-118.401476560581,65.02342861748158],[-118.3859002305788,64.99783072309937],[-118.38870524601528,64.9307671568422],[-118.46515334456458,64.90210864870419],[-118.78216135853997,64.86802537456606],[-118.6551110800625,64.65180600427743],[-118.3797161648406,64.65917791364134],[-117.94288538082667,64.43079184803302],[-117.82786183058998,63.73553087898411],[-118.30525551313103,63.723131213456774],[-118.31935587567912,63.668700217425965],[-118.33473099762084,63.64786366021284],[-118.37573656607812,63.63267101047682],[-118.71165339279464,63.61958566330104],[-118.76871826414843,63.233496424928745],[-118.20917354125821,63.1161998853926],[-117.87287567427666,63.05569539870523],[-116.86303238076952,63.081565599945684],[-116.86536510412482,62.962039670815884],[-116.4155448249165,62.9677940255186],[-116.18110362891213,62.697691385510254],[-116.0680183839482,62.75538655998917],[-116.09808584517486,62.794689448528615],[-116.0573521735159,62.80241600446858],[-116.09794746513327,62.85675673454346],[-115.9465726397354,62.882757855319234],[-115.87065111897311,62.79061107035004]],[[-114.16410979367997,64.1647042771696],[-114.19770574600014,64.16305957912797],[-114.22050935001378,64.16701582558146],[-114.24479127359724,64.18087099526716],[-114.24726873408378,64.19261706696906],[-114.22418958498855,64.2100339032745],[-114.19155340814807,64.21545862984192],[-114.16149005950473,64.21310036927825],[-114.1330559140125,64.20103086530798],[-114.12640862304809,64.18885727431736],[-114.13925846025822,64.17289823338652],[-114.16410979367997,64.1647042771696]],[[-117.25161473905371,64.10385701703643],[-117.26579948539705,64.09023004310019],[-117.32456695584237,64.0845547857485],[-117.36041479726512,64.09591342096164],[-117.37295063843817,64.1283780961489],[-117.32201422143692,64.14429016950744],[-117.26415508142996,64.13463935236389],[-117.24629740257382,64.1089614449844],[-117.25161473905371,64.10385701703643]],[[-117.30583565442579,63.18769524482605],[-117.16257697411667,63.187696316230834],[-117.14365641159885,63.17390490689016],[-117.1276246007405,63.1782455997035],[-117.11789423180507,63.191864671194125],[-117.001428729248,63.19186672892271],[-117.00142750114081,63.16686647204211],[-117.10143057180126,63.166864368109835],[-117.10142969870523,63.15853074323743],[-117.15976497038514,63.15852954884884],[-117.15975831804938,63.132389502077004],[-117.20322409634107,63.116591613133195],[-117.22504383617986,63.11727700570941],[-117.27755047191576,63.14391590046444],[-117.27891491421936,63.15919518606569],[-117.31560201980487,63.17698268928857],[-117.30583565442579,63.18769524482605]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-116.31619229415475,\"lat\":63.85466552776854},\"year\":\"2021\",\"prov_code\":[\"61\"],\"prov_name_en\":[\"Northwest Territories\"],\"cd_code\":[\"6103\"],\"cd_name_en\":[\"Region 3\"],\"csd_code\":[\"6103097\"],\"csd_name_en\":[\"Region 3\",\"Unorganized\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Territoires du Nord-Ouest\",\"cd_name_fr\":\"Region 3\",\"csd_name_fr\":\"Region 3, Unorganized\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.29776590682141,62.4040832120567],[-114.29849763360319,62.42050254757031],[-114.32344072601208,62.416943738140134],[-114.31648069888693,62.40428891228755],[-114.29776590682141,62.4040832120567]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.30874717515462,\"lat\":62.41187848911963},\"year\":\"2021\",\"prov_code\":[\"61\"],\"prov_name_en\":[\"Northwest Territories\"],\"cd_code\":[\"6106\"],\"cd_name_en\":[\"Region 6\"],\"csd_code\":[\"6106021\"],\"csd_name_en\":[\"Dettah\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Settlement\",\"prov_name_fr\":\"Territoires du Nord-Ouest\",\"cd_name_fr\":\"Region 6\",\"csd_name_fr\":\"Dettah\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.52327781777042,64.23962379641311],[-76.54675590860283,64.23166759238168],[-76.58262169942768,64.22865739171947],[-76.58071388345967,64.21440080656323],[-76.56624818036008,64.20833210433382],[-76.49679881611523,64.21696628090439],[-76.49668577581757,64.23649969732166],[-76.52327781777042,64.23962379641311]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.53749014498307,\"lat\":64.2235107752783},\"year\":\"2021\",\"prov_code\":[\"62\"],\"prov_name_en\":[\"Nunavut\"],\"cd_code\":[\"6204\"],\"cd_name_en\":[\"Qikiqtaaluk\"],\"csd_code\":[\"6204007\"],\"csd_name_en\":[\"Cape Dorset\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Hamlet\",\"prov_name_fr\":\"Nunavut\",\"cd_name_fr\":\"Qikiqtaaluk\",\"csd_name_fr\":\"Cape Dorset\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-89.82812290244956,68.52068930116936],[-89.7840154957001,68.52208189951314],[-89.78760895576416,68.5447718268352],[-89.86033275599212,68.5437400114413],[-89.8590955639297,68.52005028270716],[-89.82812290244956,68.52068930116936]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-89.82301169814265,\"lat\":68.53254110318716},\"year\":\"2021\",\"prov_code\":[\"62\"],\"prov_name_en\":[\"Nunavut\"],\"cd_code\":[\"6208\"],\"cd_name_en\":[\"Kitikmeot\"],\"csd_code\":[\"6208047\"],\"csd_name_en\":[\"Kugaaruk\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Hamlet\",\"prov_name_fr\":\"Nunavut\",\"cd_name_fr\":\"Kitikmeot\",\"csd_name_fr\":\"Kugaaruk\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.26513152830783,46.99785477599127],[-53.25866314787251,47.025378161234215],[-53.237924091821874,47.03800279603932],[-53.22201475406602,47.05902517329726],[-53.206963817063766,47.0680116137144],[-53.21601797698533,47.07482379108126],[-53.23538239679328,47.07221298801145],[-53.22687940511373,47.11270379076419],[-53.24798053104625,47.12015535320038],[-53.241365608061564,47.13345185568762],[-53.22868711031568,47.136837670653605],[-53.22300595431004,47.148218193984306],[-53.17298917790701,47.15487251248934],[-53.142463778690185,47.17220703519455],[-53.09891641098016,47.20993131690142],[-53.09495232655999,47.220856863751465],[-53.14115582643693,47.24314744705511],[-53.12660066722359,47.253950098883195],[-53.12421234478504,47.27469009086828],[-53.14756662675395,47.27576337976536],[-53.194604666237325,47.27324657159678],[-53.21324490546716,47.27936684457028],[-53.24529521343947,47.28156808910882],[-53.272171869989656,47.293622508640865],[-53.27051004387574,47.30583468190029],[-53.28502836607238,47.32534106013264],[-53.32332984331856,47.299494852332764],[-53.35273987925993,47.293359918392305],[-53.364367989220945,47.28295128614323],[-53.40225496152023,47.263693510160294],[-53.43387396500053,47.230543318358784],[-53.46416297916152,47.215161799254574],[-53.48736269879534,47.20672642319601],[-53.49529889888534,47.192083099553635],[-53.57989660385388,47.129854567084124],[-53.749901078073165,47.00000165247647],[-53.76186511057922,46.98703294344578],[-53.78467002356133,46.910705471656996],[-53.83439677365385,46.75399464312757],[-53.825899090296936,46.74605314923003],[-53.75648496497678,46.65887546327611],[-53.75149180590595,46.65600634944378],[-53.65042586824663,46.70143340713697],[-53.64360948135058,46.72535139973587],[-53.61079049374108,46.75632699292729],[-53.63237159741867,46.784984598421104],[-53.647622407991044,46.794374098767186],[-53.66527239470235,46.7923917993268],[-53.65786089998793,46.815027186358634],[-53.66083948949641,46.82340109608565],[-53.651139198815635,46.83566489598763],[-53.624258093035564,46.86934910516861],[-53.609633493181974,46.881169900904],[-53.60634865608061,46.89803759813239],[-53.61028360288039,46.912074391675795],[-53.58888649832604,46.92417069559353],[-53.576346792272574,46.91568369179568],[-53.550693197567284,46.92521749900682],[-53.52540718848598,46.941754100782994],[-53.524721103281635,46.95537831393124],[-53.560527698814,46.93971079248617],[-53.57815158884815,46.93894219228636],[-53.57145560705071,46.96009901392585],[-53.55871428315136,46.982139373975755],[-53.50120941718802,47.03455903247235],[-53.46268655398341,47.06135310370675],[-53.50039985052292,47.069693804794085],[-53.58084572834365,47.092624681377316],[-53.54645301451668,47.11307769886746],[-53.49934732097352,47.12091579823637],[-53.49237877125046,47.10200767622469],[-53.46887709163646,47.09135890312803],[-53.45803163691375,47.06938337944501],[-53.46017545085147,47.06073767930311],[-53.417112709638445,47.0541993235526],[-53.411409208981276,47.030163500658475],[-53.417778213379485,47.01777490211279],[-53.42091999650067,46.99377429235402],[-53.43001752174314,46.98811906212468],[-53.435152257023276,46.965040021894666],[-53.45314690659962,46.953266707922715],[-53.463093562421726,46.933735249028054],[-53.48374368430378,46.908420800672474],[-53.50322919293066,46.89372110550779],[-53.52495170847881,46.886916490235265],[-53.54457151079959,46.893457606808525],[-53.55735066055652,46.88753451912755],[-53.58162337524797,46.864756401481216],[-53.603257202534074,46.83493594025375],[-53.62037871841814,46.814238001145654],[-53.64192551069157,46.79680606047298],[-53.623951405475786,46.79114773956431],[-53.6010451069248,46.81354582595225],[-53.585892597069716,46.81385853922486],[-53.54933989070753,46.830491029152405],[-53.50002049233514,46.783228517819104],[-53.48975269001683,46.777141192162475],[-53.461223341251284,46.81182184225358],[-53.43804985103245,46.83615368915978],[-53.40971673812315,46.848626357999606],[-53.39864763837706,46.84620174322506],[-53.35857997934997,46.88593401041634],[-53.33110077083222,46.89701698488074],[-53.33024065453084,46.913070768193464],[-53.31850610219987,46.927370223280136],[-53.328182894276075,46.931284381237134],[-53.31369361707948,46.949036081897276],[-53.32270785126872,46.96758272988395],[-53.31049115763774,46.98234349835587],[-53.26778238903769,46.993849126697924],[-53.26513152830783,46.99785477599127]],[[-53.599517900833305,47.042649884903604],[-53.5415304758423,47.041672241505026],[-53.59672353025687,46.991435321581235],[-53.625809316131864,46.998904993295405],[-53.65258649509731,46.982375889743395],[-53.64531920200403,47.00417081362752],[-53.62539838997456,47.018221500614445],[-53.599517900833305,47.042649884903604]],[[-53.37208545071139,47.17562912947654],[-53.39708339654479,47.16418898319774],[-53.411353479180384,47.17465140293001],[-53.459717698071465,47.16682299734236],[-53.47222001405855,47.15257449528153],[-53.49914981235491,47.13036050087562],[-53.53939348778459,47.12541159828531],[-53.553560108707636,47.127881711792156],[-53.45760156884304,47.18971817080722],[-53.372106045636286,47.24809465686833],[-53.33718135955441,47.19678218837838],[-53.37208545071139,47.17562912947654]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.49031395759341,\"lat\":46.999918561359884},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001155\"],\"csd_name_en\":[\"Division No.  1\",\"Subd. W\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Division No.  1, Subd. W\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.08485979820685,47.43333547272659],[-53.09345269639215,47.4359964892713],[-53.09582454345113,47.45678594225937],[-53.105514705602126,47.44627589418254],[-53.11828579121255,47.4191579946148],[-53.12811471045296,47.385963499537695],[-53.139916101628216,47.399762304511775],[-53.150875992754116,47.40036370845989],[-53.12722121471136,47.42883628221676],[-53.15130158685694,47.409640725774935],[-53.16950836882993,47.40442380005661],[-53.1856081064018,47.37722250359743],[-53.2172883097785,47.35826299442273],[-53.207232983356825,47.34646515702582],[-53.22088359274368,47.33657271020031],[-53.24591353280195,47.29677355874964],[-53.24529521343947,47.28156808910882],[-53.21324490546716,47.27936684457028],[-53.194604666237325,47.27324657159678],[-53.14756662675395,47.27576337976536],[-53.12546776027486,47.291173583068094],[-53.11039131516756,47.3264243900913],[-53.08013918766589,47.32899409872278],[-53.07124860027469,47.34112829863486],[-53.07261435847986,47.37171339005197],[-53.09210500342023,47.40167169940546],[-53.08366206578747,47.41083528083438],[-53.08485979820685,47.43333547272659]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.15142511482847,\"lat\":47.344922360215556},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001472\"],\"csd_name_en\":[\"Holyrood\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Holyrood\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-57.97208854990038,48.20179130592588],[-58.00300738474498,48.21576810673693],[-58.023756555581,48.21303152957344],[-58.11334797255107,48.217599104139225],[-58.15476867867418,48.231007027595986],[-58.16443148775879,48.22741740798185],[-58.21153032962145,48.23389673536385],[-58.23428228934197,48.23433435234277],[-58.26044301701555,48.25141689255895],[-58.27704942188766,48.253613094928276],[-58.29313469170711,48.247932775048604],[-58.31171037505788,48.25676250171426],[-58.333686299671996,48.24701522341639],[-58.35238610562733,48.24458914942995],[-58.39063638544066,48.23177315535953],[-58.40451700691866,48.250000012606975],[-58.413005597095086,48.25316059167786],[-58.41055850597723,48.269723687541315],[-58.41822851039877,48.274304306337356],[-58.426074800260295,48.29761828736968],[-58.45531278719409,48.30050960835607],[-58.47208618561614,48.29414360299936],[-58.49917581154688,48.293424006502946],[-58.52484689391658,48.298721748851165],[-58.571875030594015,48.296274652674796],[-58.62531564022159,48.304922604747574],[-58.66053516317472,48.29821461449172],[-58.67996200799256,48.30935785594002],[-58.694976718696104,48.31168675384591],[-58.7077649226325,48.32227425184493],[-58.78272399702374,48.3612226952522],[-58.886705056961326,48.41656392969989],[-58.9955783856176,48.490040490659325],[-59.037727174762416,48.49090920106735],[-59.07142641593367,48.48679949662915],[-59.22090600330013,48.451169108508665],[-59.268844577828716,48.44799331815048],[-59.28841446546876,48.450666391246905],[-59.2763324992712,48.415452469888116],[-59.24869017121739,48.38002366843464],[-59.21917759313806,48.35988499935151],[-59.145312040327255,48.30262822679289],[-59.091176903360534,48.269915754273285],[-59.0654759708763,48.247057639092596],[-59.2534606620747,48.163648565420615],[-59.30454380245632,48.13344729747039],[-59.37376746837888,48.08833820916213],[-59.41867033668732,48.053866950090885],[-59.459269637950655,48.01156405870733],[-59.462131783100325,48.00004238665233],[-59.42057957383163,47.94890031231519],[-59.430005056451634,47.91720142639891],[-59.382669600730246,47.91429194237307],[-59.37138204660759,47.89687778289327],[-59.33051662762752,47.90479893356329],[-59.29386925847927,47.89858752158608],[-59.271960980172835,47.90721697774012],[-59.2564855848701,47.94359464761743],[-59.22795033757207,47.951506844975796],[-59.22175753145819,47.97058278032208],[-59.207364300515394,47.98161365846269],[-59.20569200430036,48.000608603371276],[-59.152260677577814,48.00014891867303],[-59.125480728517346,48.02132625159296],[-59.1064435842099,48.02189859680153],[-59.09367634435431,48.038349888197615],[-59.069337108764806,48.033002680601484],[-59.041557363175585,48.05500321033505],[-59.024830875296146,48.04006037493538],[-59.007285971502746,48.03949383298172],[-58.976789420924355,48.04925334818535],[-58.97696661821904,48.07545232440318],[-58.907563059775924,48.10381391687605],[-58.890472796014436,48.10780800356165],[-58.8630400621945,48.07942978870074],[-58.83036279656834,48.07037568427045],[-58.82339156128198,48.05356682652888],[-58.79043114298534,48.03384890281978],[-58.7602477750849,48.033994578151926],[-58.73976042920742,48.01578569510759],[-58.73067334619093,47.99440213184353],[-58.67685263245684,47.960598743751966],[-58.67730222860786,47.9350708437121],[-58.649314584759026,47.93580970679255],[-58.64090748385934,47.92380130901775],[-58.66039003837099,47.91255880790905],[-58.657182783760376,47.90447330226506],[-58.633788238859054,47.89834305344616],[-58.516272756998184,47.91926616779478],[-58.4978652301952,47.94309748749886],[-58.51472983842669,47.960550646460746],[-58.50414424960414,47.969366649757745],[-58.482485303663616,47.962469674529146],[-58.460334193967256,47.94346059519912],[-58.41274398050259,47.96122753796438],[-58.39660818625668,47.9781741062174],[-58.37900998111447,47.983650498446174],[-58.33043800861686,47.99190235059107],[-58.32624272335543,48.000069887646625],[-58.35831321478178,48.000080965176984],[-58.35921062595778,48.016325811086716],[-58.350041400153984,48.028137991315134],[-58.3546257466131,48.041993679723284],[-58.34905202220986,48.05645000129871],[-58.37072340091206,48.059572912102816],[-58.38318551484719,48.07192752383279],[-58.376152736256294,48.078106573288714],[-58.316346663438644,48.09977770179774],[-58.315142179039704,48.11059701271558],[-58.28791243191972,48.11457898959958],[-58.273153354698636,48.097809542239474],[-58.227314699923504,48.0874491174888],[-58.18960629029266,48.09862592621065],[-58.158891726118064,48.09700240611156],[-58.162454430663324,48.116455783399495],[-58.147232083964866,48.13321419482484],[-58.152373078523695,48.14664462971817],[-58.119431890074054,48.139542630892784],[-58.120157551968234,48.15877551758838],[-58.07970864027062,48.15795445221302],[-58.076966568974946,48.16864074410772],[-58.09961111865975,48.19455637580023],[-58.0921057361668,48.19675024176053],[-58.057291489455906,48.182465559873535],[-58.01833728456109,48.182096857103],[-57.99408376556465,48.16983104126055],[-57.97208854990038,48.20179130592588]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-58.80758278428663,\"lat\":48.17126771473338},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1004\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"1004006\"],\"csd_name_en\":[\"Division No.  4\",\"Subd. B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Division No.  4, Subd. B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-58.4691699140593,48.43874309016819],[-58.477158704715876,48.43112130480777],[-58.5006675035434,48.42830909325116],[-58.519968806872,48.42095990928754],[-58.552256205367115,48.41590178965335],[-58.54174510924789,48.39040129803624],[-58.49121091241835,48.39711279733039],[-58.48445459827156,48.40193870632948],[-58.45244119229125,48.40677158323702],[-58.445059597904645,48.414900696145764],[-58.455601040257946,48.43428046073579],[-58.4691699140593,48.43874309016819]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-58.49749893996434,\"lat\":48.412859624783394},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1004\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"1004013\"],\"csd_name_en\":[\"St. George's\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"St. George's\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-59.007785340358474,48.65115508051535],[-59.00973190302427,48.641665774822],[-58.98258260430805,48.641155200933255],[-58.971296323959635,48.65292610109243],[-58.96811241817528,48.66988591171392],[-59.007785340358474,48.65115508051535]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-58.987499006714394,\"lat\":48.652237710882154},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1004\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"1004037\"],\"csd_name_en\":[\"Lourdes\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Lourdes\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.38796571794473,49.152600304910095],[-55.40440452175569,49.11064933551685],[-55.37211062290303,49.11166015398947],[-55.35647662116065,49.13088869771394],[-55.33530579821707,49.14718478474274],[-55.356608912724134,49.158651390391036],[-55.38796571794473,49.152600304910095]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.37311171629852,\"lat\":49.13513388091313},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1006\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"1006022\"],\"csd_name_en\":[\"Botwood\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Botwood\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.743294266901614,48.63288453981302],[-53.74883445251169,48.64499206380537],[-53.76460005945974,48.646717845901264],[-53.809728783913336,48.64445718010377],[-53.81420212885347,48.62585989122197],[-53.7726992108455,48.62178350161584],[-53.76099429632841,48.63104580044478],[-53.743294266901614,48.63288453981302]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.78105743002953,\"lat\":48.63533509742892},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1007\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"1007041\"],\"csd_name_en\":[\"Happy Adventure\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Happy Adventure\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.12206062125312,48.84792729787467],[-54.27370347512707,48.84766743306214],[-54.272931516032926,48.79874884801631],[-54.275035543501886,48.72403135600261],[-54.19911170979476,48.72366842497994],[-54.20098188490391,48.75906264645131],[-54.217827210089,48.76835489426304],[-54.21081649227866,48.78361939937619],[-54.189243799435154,48.79090489336233],[-54.2046128109775,48.80523939115551],[-54.17978418668205,48.806234295333766],[-54.15472009676789,48.82448851073901],[-54.13558551487229,48.82636010696306],[-54.12780378076198,48.816879399390004],[-54.10578918883271,48.81849869467291],[-54.08389452922923,48.831816940887265],[-54.082906819324,48.84768391132244],[-54.12206062125312,48.84792729787467]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.21252674084672,\"lat\":48.798967082208186},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1007\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"1007047\"],\"csd_name_en\":[\"Gambo\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Gambo\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.000103392381355,48.89132387248829],[-54.00690715795031,48.89422314903687],[-54.07967450457687,48.86822427508743],[-54.082906819324,48.84768391132244],[-54.08389452922923,48.831816940887265],[-54.03995339984705,48.83051381100324],[-54.01064009537509,48.83827730103811],[-54.01451259081847,48.823146608796236],[-53.995218800821945,48.82567848552572],[-53.98134420861432,48.84425809436313],[-53.99686798122849,48.84636320140141],[-54.00781919786146,48.85695580302542],[-53.983500208615034,48.86456930687326],[-54.000103392381355,48.89132387248829]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.03254953046877,\"lat\":48.856671701845244},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1007\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"1007049\"],\"csd_name_en\":[\"Hare Bay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Hare Bay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.247606903833166,49.41648460297893],[-54.26553368340066,49.39746129935148],[-54.28727239787559,49.40101180499091],[-54.303212107141874,49.41014477731729],[-54.34240211265346,49.35384847649937],[-54.315883864372225,49.32678201404353],[-54.23027982158309,49.3442818410277],[-54.2647623529484,49.37311042402507],[-54.247606903833166,49.41648460297893]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.29096505743678,\"lat\":49.36473318749667},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008011\"],\"csd_name_en\":[\"Carmanville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Carmanville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-56.75649024861404,50.75050195272155],[-56.76346304148702,50.770383347148105],[-56.756859412531846,50.78169420807113],[-56.740962642079964,50.79142048282042],[-56.699697218339836,50.80864420132802],[-56.6947102683396,50.819857986443715],[-56.66302367952713,50.823491569581584],[-56.65673311118651,50.85244020977553],[-56.600314379368854,50.86889145748244],[-56.578087363820316,50.879171589516154],[-56.56716336480844,50.91198183984835],[-56.59263570199825,50.92801869450328],[-56.6245780952913,50.92979156150611],[-56.6411468172819,50.93774075123809],[-56.63456789401265,50.944991295362826],[-56.58061172554401,50.94926863779978],[-56.57416791719218,50.958714045883475],[-56.60298183747714,50.96929814041342],[-56.60932552151676,50.97680829976577],[-56.607624236167545,50.99791854646216],[-56.618962087702705,51.003170759439826],[-56.628595442840876,51.02148901037806],[-56.6118350838776,51.03459964951285],[-56.57633467107967,51.05063287991483],[-56.502590074491714,51.07744254970624],[-56.48095139288977,51.09488218805709],[-56.46247989721787,51.09986769712031],[-56.413061703580546,51.12671935846436],[-56.38777532895932,51.148452487668884],[-56.35629652038222,51.157279349371336],[-56.32516331712695,51.1513083706828],[-56.27646467171315,51.12776060346736],[-56.26189278760101,51.12779740881503],[-56.24537281296843,51.153725911593234],[-56.19933975763189,51.1501179702239],[-56.17591120593584,51.16129481422146],[-56.17494668841176,51.17325506840595],[-56.26104576244593,51.19813319951924],[-56.27925561251902,51.19560990624545],[-56.300393517777366,51.19933250096604],[-56.3123635932428,51.20963571389524],[-56.36754682388388,51.20462724698108],[-56.3690490234102,51.220998492564625],[-56.352327962532854,51.24517066895835],[-56.34970014675327,51.26911597282062],[-56.329221355540696,51.28861658861364],[-56.31302140654435,51.31300560644185],[-56.28084926177821,51.31658329355793],[-56.26384802609204,51.33096327769348],[-56.23177596587489,51.33860372073919],[-56.22012804020391,51.348919322424685],[-56.14014815441373,51.39163777716217],[-56.11742487292079,51.40581355057304],[-56.12256714503337,51.413191720837844],[-56.12369766886608,51.44521959169915],[-56.11175083601381,51.46139515217168],[-56.094452516578116,51.470474167039576],[-56.07607650118389,51.49356864011684],[-56.05775218478324,51.50996820492092],[-56.04199815835281,51.51748054916548],[-56.024031178007675,51.5357448728027],[-56.01637112912705,51.55227359802932],[-55.982824917335684,51.56909455017215],[-56.01717164061215,51.5867184863421],[-56.123950880354776,51.65731639827189],[-56.35130482252147,51.54169785371323],[-56.61262179404009,51.407362015793915],[-56.8500218967447,51.283994024795255],[-56.866902201078695,51.250241116461126],[-57.01338407578327,51.30766183581774],[-57.109571464582466,51.287163263272774],[-57.49999999723551,51.20281600388842],[-57.52378277279475,51.19724250534472],[-57.29663157782391,51.11265805819332],[-57.25510887885457,51.094247084130416],[-57.19540755733019,51.052576044431525],[-57.166855711087535,51.02210903380991],[-57.16796653829756,50.99948566822914],[-57.30567581193651,50.88266814939202],[-57.050988790342764,50.836001639824225],[-57.03134565076892,50.824805148448256],[-57.00860433150367,50.823848813842574],[-56.97032908205596,50.829927290297206],[-56.955178597397364,50.82749130516633],[-56.90459568144048,50.7935414308551],[-56.882779940795636,50.797478729589784],[-56.86516203828672,50.825827356149105],[-56.84215627646193,50.82750683607496],[-56.83934555677767,50.810746084864135],[-56.8512564621932,50.79809224184093],[-56.841891281448696,50.77145787433497],[-56.844134490091356,50.76038941587723],[-56.8177811420645,50.75519265131565],[-56.80866993666695,50.7481338392879],[-56.80643854650628,50.731594607349386],[-56.79699025473631,50.72595193601795],[-56.77656714564799,50.74412423858628],[-56.75649024861404,50.75050195272155]],[[-56.81036708192791,51.230617914175824],[-56.80552441189718,51.24383094743623],[-56.79256783870797,51.248562723428996],[-56.7744205114361,51.2364371814008],[-56.784951728219696,51.22728227210812],[-56.81036708192791,51.230617914175824]],[[-56.72230161150232,51.30969279958579],[-56.68270219312486,51.309652301917716],[-56.72937901322978,51.27356839898921],[-56.74727537069161,51.289921327871774],[-56.72230161150232,51.30969279958579]],[[-56.913829490325625,51.05668532307402],[-56.90474164623118,51.05036493181802],[-56.911229092183966,51.034138100929574],[-56.93172099458373,51.03123410376676],[-56.962180186307656,51.04932009070383],[-56.913829490325625,51.05668532307402]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-56.7293956207061,\"lat\":51.17388645067936},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1009\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"1009021\"],\"csd_name_en\":[\"Division No.  9\",\"Subd. C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Division No.  9, Subd. C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-57.06897359925022,52.10741055129263],[-57.080792714124016,52.095924547446906],[-57.112916728394474,52.079033734594844],[-57.13415240946745,52.06201346470119],[-57.1806437526678,52.057267572410474],[-57.213905714556326,52.071795505905484],[-57.27086616849644,52.0928046792913],[-57.28751204726342,52.08436189109949],[-57.33012408373487,52.05526392907503],[-57.34055850244354,52.05126610449539],[-57.40285046634845,52.06998907098186],[-57.41438701301709,52.08728858364008],[-57.4200667955978,52.133037425762126],[-57.45159620413291,52.1512939556098],[-57.46738647868505,52.166691539113856],[-57.48500765157807,52.20485316286161],[-57.52315375196028,52.23409211790665],[-57.5698487716909,52.27366509349701],[-57.622095181582225,52.30735355002603],[-57.64442373634571,52.31400163211348],[-57.68123945265522,52.312218731481735],[-57.6936305957161,52.364637427051115],[-57.72200581141114,52.38396503227309],[-57.766268414756446,52.41907514180734],[-57.76689810795892,52.434619883020126],[-57.75818740491158,52.45086357658882],[-57.74146757407593,52.46291783136105],[-57.73150150623799,52.48128815041415],[-57.77107510592589,52.48460430399719],[-57.77963364168935,52.50052047912088],[-57.82475233402365,52.50671404266409],[-57.850261633195935,52.50655667673097],[-57.85353836397649,52.496330599373785],[-57.81877770710643,52.48249050791371],[-57.83537953446486,52.46795837951781],[-57.83611926321871,52.45478672835751],[-57.87192103541984,52.43668826399418],[-57.8656096381627,52.42350586101642],[-57.92032999392751,52.413647003830825],[-57.94622933756359,52.42072256052298],[-57.98214124203946,52.43975669997307],[-58.01723166856688,52.46568788656543],[-58.04686015699624,52.481402994213035],[-58.05478117253159,52.50804531242815],[-58.08436133540181,52.53380431349423],[-58.08379370585505,52.55004221423267],[-58.106606195052066,52.57489254825926],[-58.15305359866257,52.57668647806889],[-58.17739951215511,52.60535274101362],[-58.19818499292083,52.61225217891364],[-58.24377978898102,52.61191564870269],[-58.250949463551414,52.62002484952199],[-58.23852239700398,52.629510888288145],[-58.246078415916365,52.641549134038975],[-58.26056717561453,52.64593639126546],[-58.31235172893207,52.67731208406171],[-58.32198027189843,52.68678431153073],[-58.35791547708241,52.70656406213189],[-58.38643051062049,52.711960286412456],[-58.44295945459819,52.70891615109539],[-58.4521893368017,52.695763102540596],[-58.445783449054595,52.6859360502628],[-58.4205232184952,52.6732448551292],[-58.42561975584368,52.66747075413324],[-58.47373553589615,52.652259622151036],[-58.523766187008846,52.65372531314403],[-58.53006247498999,52.64055853401673],[-58.573885725975586,52.649400027787735],[-58.57736638356942,52.641800758555235],[-58.55071559625478,52.61706407494437],[-58.53132026839186,52.611755261750886],[-58.53511131892095,52.59380402575523],[-58.53008200990557,52.57816887900044],[-58.56862172411551,52.576356297411365],[-58.5935267002935,52.5662141061319],[-58.62991646668948,52.564888093306756],[-58.66667294585973,52.57979192389429],[-58.68983774324174,52.57670247338284],[-58.684799403226364,52.54875952205878],[-58.6655844477695,52.536737159957184],[-58.671619475482736,52.527274079110704],[-58.660033755693064,52.50936368052231],[-58.64743755298324,52.50040916572693],[-58.634713504881596,52.467110244948955],[-58.64128963008449,52.46363243681633],[-58.678046604796045,52.46748673484812],[-58.69105552815846,52.472053257042745],[-58.71751337379508,52.47152089243845],[-58.74655511525629,52.482702289589525],[-58.781623773517026,52.47913046703786],[-58.79854937741134,52.48391608274598],[-58.8100202926833,52.49496246740355],[-58.83622271699092,52.50787778260558],[-58.84247857176351,52.488446249791224],[-58.85564242382523,52.475699324193094],[-58.88933192958195,52.48191504205757],[-58.90534593565845,52.4898771817175],[-58.9369243320603,52.49483401984657],[-58.96900765466072,52.48865760292037],[-58.98912043408607,52.49664271218698],[-59.00218187324251,52.50822835014774],[-59.01922756050865,52.53403593942114],[-59.05950551896808,52.54463442831805],[-59.10873082330328,52.52741989472115],[-59.14684095440985,52.52349541250652],[-59.1675012858938,52.524670322497826],[-59.171105908137456,52.539823186675925],[-59.186850673225265,52.55163685192147],[-59.232809546159075,52.56053492021923],[-59.267220963147516,52.579454880907136],[-59.30005293804711,52.62065382776415],[-59.31278508074401,52.627200453429055],[-59.33150064764743,52.624115369623375],[-59.34789836551476,52.613683637799326],[-59.39245693350079,52.612633361119705],[-59.42227533787904,52.61744288286428],[-59.44196607841527,52.63414517599667],[-59.50907645233893,52.61084541013041],[-59.50722360940536,52.56724510305108],[-59.516095629821606,52.56323299080907],[-59.55767361278582,52.56149713454944],[-59.58481934553955,52.569868144444925],[-59.587057605567026,52.596477609816766],[-59.59266784541635,52.61008778214664],[-59.61094085961333,52.61880535916002],[-59.58584140813588,52.625184157685794],[-59.58944097487761,52.633282657458274],[-59.62800737979388,52.624643973512924],[-59.644712155330346,52.614904339671384],[-59.66474595748404,52.6131843857017],[-59.654657682017024,52.63065876696641],[-59.6345649870456,52.64595098516255],[-59.63677100965878,52.651355182376726],[-59.68979009466273,52.66061043958772],[-59.73735188145364,52.67634946859491],[-59.800844503819846,52.683696921879466],[-59.85542264462456,52.69860804089645],[-59.85515023981816,52.705246070667464],[-59.834617556911105,52.71657343191289],[-59.84798207331915,52.726278154190936],[-59.9108083185022,52.72948564556759],[-59.9593715050365,52.73404074196518],[-59.9367802226586,52.75125272399949],[-59.92323341860938,52.77265440307712],[-59.90814331517235,52.77761617463255],[-59.876276416738456,52.777999991677625],[-59.86498566136789,52.78272552874569],[-59.85034936362561,52.802692359902025],[-59.813479345174414,52.812877288948904],[-59.784915706832635,52.831573204562204],[-59.80506476207456,52.836242184649414],[-59.79768796770664,52.85177687351708],[-59.80172414614823,52.86473053531745],[-59.767203544051654,52.87560659267519],[-59.75150481384199,52.88556245184623],[-59.74888600929463,52.902294247966495],[-59.78650068164481,52.945302258995376],[-59.78546568162959,52.95335943860982],[-59.75247594608523,52.96756952574577],[-59.69783892153249,53.002970883599225],[-59.67184329638302,53.02472035600082],[-59.64731191719413,53.03283601170518],[-59.59002840643331,53.039985924678476],[-59.56338281249311,53.05353984442603],[-59.558289863833686,53.071281945965005],[-59.5355768984719,53.08798169504721],[-59.52836592441142,53.125450815568826],[-59.4816396296554,53.145297985911725],[-59.47763352829663,53.15222742697164],[-59.51071289616097,53.15845585320039],[-59.53311653188068,53.1508799865499],[-59.57487069162825,53.142482568978025],[-59.59141273187037,53.14558278253809],[-59.58933104684285,53.182815192336136],[-59.56086495929205,53.19518952860171],[-59.521452319052955,53.20535982472337],[-59.52208038879951,53.216032112440935],[-59.54601910810599,53.21382041264248],[-59.550265090626624,53.224969734644915],[-59.53874921315349,53.23912342605488],[-59.52863755924782,53.26834800638806],[-59.4964618050805,53.29507465211528],[-59.47020834924537,53.2935975963475],[-59.44456091615737,53.28014030184751],[-59.41353222945756,53.31163470582057],[-59.3478968976856,53.315683224928804],[-59.34614386593156,53.32971956834904],[-59.30672956030489,53.34134221311688],[-59.25742317422779,53.34523640134812],[-59.23305399541135,53.366793669404935],[-59.2266286251087,53.39440241137824],[-59.167477668992625,53.41205715897624],[-59.126335463731955,53.447754344415706],[-59.12109846455145,53.456736261188084],[-59.138979205501315,53.471565812105744],[-59.130630374960646,53.50197787928071],[-59.06766424579529,53.5242350570151],[-59.0423758752705,53.54821403645908],[-59.013089162456964,53.55739285765642],[-59.02017126865997,53.57495402632111],[-58.97302881550505,53.582989097320976],[-58.95969779634759,53.60295265685834],[-58.928230942015574,53.617758903785685],[-58.90852793608686,53.61940837348881],[-58.86389028708473,53.646157965284566],[-58.82062066816474,53.659404833614865],[-58.77298102867008,53.664291912857706],[-58.65862801859812,53.65866362157603],[-58.574030267215335,53.65893098008973],[-58.53066930391917,53.637171500041376],[-58.45073343105337,53.637698006283344],[-58.45264426718648,53.61622377591324],[-58.41644851071659,53.606690216414805],[-58.374254525279405,53.61007499440823],[-58.36408261307439,53.621324227166745],[-58.3970769454995,53.66126521208825],[-58.38282007840194,53.67160325429278],[-58.31563329008242,53.70206757323444],[-58.3187992609507,53.71744557868089],[-58.280683172733895,53.73087236984649],[-58.28859034900547,53.73804112618595],[-58.31422323013313,53.73901593814698],[-58.34246688848083,53.724633602378965],[-58.35595650719121,53.72781087788756],[-58.36829324701423,53.74486655163031],[-58.3606810839384,53.76193882853769],[-58.32474321599816,53.78328659530162],[-58.288268717079326,53.78991496379494],[-58.29044733798188,53.80545067436762],[-58.317804376793156,53.8267111644293],[-58.267455504819814,53.8270858004338],[-58.22088130425687,53.831208321462334],[-58.22638477581355,53.86023351330105],[-58.20301161059429,53.86867868079555],[-58.19208297938985,53.8856195181502],[-58.180340394099545,53.89241386912923],[-58.15226506399479,53.87776478368305],[-58.13732379818808,53.878512543366845],[-58.12730732294601,53.8928125245737],[-58.10707474612992,53.88036907467006],[-58.06718065664518,53.89022896799332],[-58.05380208312429,53.880148741726366],[-58.034949837250096,53.87557176164775],[-57.995152902231034,53.88445494989077],[-57.996039878934155,53.904533555663136],[-57.98841571029064,53.917203334853916],[-57.99564015756825,53.93009683124101],[-57.99349645062587,53.945663538773125],[-57.96659930850269,53.94322884910453],[-57.96149490953078,53.95084708286106],[-57.915907805213365,53.94362235966077],[-57.84943703852462,53.944666201710405],[-57.84350395830009,53.958928068417535],[-57.8041740519737,53.96547630910292],[-57.79518996304305,53.97273292211481],[-57.80845789394623,53.988764381857024],[-57.761669272368685,53.9976565119102],[-57.71255173992075,53.99382327472869],[-57.67257739384651,53.98177204231003],[-57.61190622130393,53.97853275207435],[-57.58678686896622,53.99250879343604],[-57.550103173117506,53.997939869776445],[-57.52282642274744,53.99575959287206],[-57.49270169175837,53.99802818418755],[-57.406303703598404,53.991784826796035],[-57.3738557853522,54.02315373904762],[-58.12002468729795,54.0422972290051],[-58.609344211350994,53.907089868142855],[-58.663306302042514,53.90066283642048],[-58.71032382433858,53.88352094516126],[-58.74257242367944,53.88384206762674],[-58.76559168401443,53.878686331696265],[-58.79467283687029,53.881246027913036],[-58.826704801760364,53.7745289412064],[-58.85738600505676,53.734088180852495],[-59.4244440093137,53.5447729837183],[-59.484516585840545,53.5694239284953],[-59.70700231898578,53.67466534986887],[-59.97057352069494,53.7980296712311],[-60.121336124886135,53.84970980878762],[-60.1335302766106,53.86457462748028],[-60.087454854267826,53.873058220348234],[-60.096355029518044,53.89416117954503],[-60.08051055331299,53.91531282378534],[-60.03262061144344,53.92832150949526],[-59.88689687328415,53.97319792320392],[-59.8321602756731,54.22167050387601],[-59.852358729652614,54.218540408016004],[-59.87437215855639,54.248361415204876],[-60.15712008751494,54.33290777456489],[-60.21043139585711,54.321410730292605],[-60.264028390686654,54.314327136554134],[-60.32305236001854,54.31680472974678],[-60.35910579344456,54.32236707192197],[-60.36818385255511,54.327867252215164],[-60.34344555978941,54.33999830626891],[-60.33809343247148,54.35900680516334],[-60.31504349812376,54.39501546907258],[-60.33490034810322,54.398648436546196],[-60.36415013945616,54.397710851570494],[-60.39169494391072,54.404882317506804],[-60.43735939314209,54.410592714772065],[-60.47521404406729,54.390520016357314],[-60.505363797133285,54.381561436783414],[-60.52718102207357,54.38934028564968],[-60.553795932537405,54.384900399277655],[-60.58219048385569,54.3750029666715],[-60.599491788615495,54.379285743346365],[-60.57729534425179,54.392252803267255],[-60.59074669528621,54.402842986468926],[-60.60964776350379,54.40048457810862],[-60.663174933870124,54.384897239732574],[-60.70975424803779,54.37614011467166],[-60.789958117255736,54.336757491207536],[-60.80291985593837,54.32391361285745],[-60.834375335806996,54.31681147862311],[-60.86420905834526,54.29946061772189],[-60.89098297332668,54.30101415560097],[-60.89162805294231,54.31657116710524],[-60.92952015749885,54.30938154391319],[-60.97760990867992,54.323485389113],[-61.00006158209725,54.319181215394806],[-61.062040208882884,54.328535728423645],[-61.07507882743395,54.33965016741782],[-61.053943498896956,54.349613243718416],[-61.02447434951178,54.354993604342276],[-61.02230536782877,54.3700949250126],[-61.003691019452624,54.38300521312835],[-61.00104199275277,54.396209890503556],[-61.02658929056481,54.40481367412062],[-61.045859741181204,54.40194027219866],[-61.0819439493873,54.40815062833957],[-61.1412548861484,54.40350671470111],[-61.159347572426725,54.416891187402484],[-61.184012617605894,54.40798124252801],[-61.207343869255936,54.39268368101142],[-61.25626413550876,54.39882470533654],[-61.280784745246365,54.39359440835299],[-61.32259786291851,54.37335381324671],[-61.36133061553977,54.37075143454397],[-61.410408668587166,54.38593458718958],[-61.462594250289406,54.41496515105412],[-61.463852514282095,54.45673967442832],[-61.47425286408658,54.468082338667834],[-61.50829611092002,54.48020704191837],[-61.57069792816312,54.470465232585845],[-61.62600194784276,54.46434233841927],[-61.676626015842096,54.46275291418002],[-61.70122680232306,54.4660178535473],[-61.71200348559539,54.50311135385642],[-61.73364833753621,54.50975786043934],[-61.805918056122515,54.5111953751392],[-61.86212213216095,54.49666259221118],[-61.904681490098845,54.51151755190089],[-61.92131945648402,54.51440219114611],[-61.93388678395673,54.50660364203866],[-61.998875315799744,54.52360516754094],[-62.03935371751113,54.52555706322319],[-62.08751225386979,54.52307904419983],[-62.137489479836375,54.514070959010574],[-62.15735068215448,54.51398509168068],[-62.13840831961837,54.531460424222],[-62.09657372316948,54.54148111191109],[-62.06128756802617,54.557874593763515],[-62.084078451552266,54.56107292674533],[-62.18966128579278,54.55430418539515],[-62.22817604397101,54.548183357090586],[-62.281473375637106,54.536007955301564],[-62.32289556746752,54.52201476700565],[-62.35958169655147,54.500900408989615],[-62.40791814893555,54.464694705169684],[-62.42985227782782,54.411769601210494],[-62.480243512935154,54.35809526240766],[-62.50616642407932,54.33812531688122],[-62.53526620503014,54.327759105992534],[-62.567669395985554,54.33437715666549],[-62.61660560338876,54.355189562581586],[-62.65498769693653,54.35486420208627],[-62.697902289432314,54.36133044180238],[-62.72576024663627,54.343611470958024],[-62.72997237530039,54.31576451690946],[-62.73639513858213,54.30529123928761],[-62.75615149695132,54.29848469913806],[-62.833815547514504,54.293688146831286],[-62.853046132972935,54.28745555716978],[-62.8393264398249,54.276189628250194],[-62.83798238857547,54.263679296805435],[-62.852595693929985,54.25317784011655],[-62.961416422987185,54.24424981302426],[-62.97668406486553,54.24717605185801],[-63.023319953532,54.245127321891694],[-63.04519517191144,54.248468500839984],[-63.075187476412786,54.23829304709734],[-63.0815114620375,54.218688661397266],[-63.100232729866875,54.18994900047016],[-63.11759816789823,54.18177494437582],[-63.157850715415876,54.17753159881166],[-63.11144341102777,54.14986961222873],[-63.06435107722822,54.13666025469261],[-63.027876884449974,54.13383043413988],[-63.057326478695025,54.097354599259994],[-63.04722280300307,54.08732624607453],[-63.04681949341461,54.07362694479308],[-63.00000001629973,54.05256449388398],[-62.96641361803633,54.04220977864832],[-62.91757121955275,54.03083802537029],[-62.88098375944067,54.01791752303757],[-62.86274084674107,54.0149263050637],[-62.83391830278306,54.020257486285644],[-62.80953831316399,54.011039994612666],[-62.842507379141175,53.99413644144614],[-62.83221915265252,53.98226101016645],[-62.804348387556864,53.96880231901083],[-62.77396900609596,53.963578764982415],[-62.743210937346674,53.966306763885704],[-62.73104600685863,53.96006865784689],[-62.73349359155314,53.93557357701418],[-62.710394589619185,53.92022451296721],[-62.70896516749229,53.90812502149895],[-62.72528525173693,53.88812046272247],[-62.70205221941634,53.87249507849122],[-62.645239572706394,53.87390541491265],[-62.61959525867643,53.88546900816822],[-62.58082201789235,53.89159979429962],[-62.54709636721826,53.892706414944385],[-62.531308043442074,53.88516327185995],[-62.56565857327126,53.85989811975574],[-62.58950361562163,53.847853983855515],[-62.66234743830715,53.842940259386104],[-62.702702465504,53.82196610192532],[-62.717068661846625,53.805759672551204],[-62.66718882171504,53.79762865023125],[-62.639701849238236,53.77775704930088],[-62.661158115950116,53.75997713954002],[-62.72851562182945,53.74032818099294],[-62.72595517140092,53.72381142184402],[-62.69382752879558,53.71432456386284],[-62.684270000973164,53.689789977770545],[-62.655402850392186,53.67593805503527],[-62.62831386237303,53.675012169012966],[-62.60077225106765,53.682961668889895],[-62.58196822600157,53.67682244975165],[-62.53237626353324,53.68758875122843],[-62.48811487559636,53.693419144979096],[-62.463537138552525,53.69226172489641],[-62.449585131392396,53.68452229783783],[-62.45593459971649,53.67583910657384],[-62.47794605742408,53.67251190725299],[-62.4937269055231,53.66409959403569],[-62.536964998808585,53.658350151220645],[-62.59457063486159,53.633622875912444],[-62.61378662228037,53.631288003714296],[-62.64889321753381,53.63623031195974],[-62.672519209011526,53.63082830133135],[-62.673274138698694,53.60654527500247],[-62.70581061424368,53.60148810927377],[-62.7678284195123,53.57619854303911],[-62.74575384087805,53.57260304001789],[-62.770931151308595,53.55757272728491],[-62.73935971113067,53.55604943574065],[-62.713555434879495,53.55088886090291],[-62.72840589341138,53.54245159283087],[-62.76694701773155,53.53227919126236],[-62.78837603087922,53.530372208669135],[-62.78106468670881,53.51406351449855],[-62.796242186542166,53.50524234019009],[-62.77657707919301,53.49452976791681],[-62.73633210054152,53.500627708137614],[-62.69224858298,53.49637056051102],[-62.67057558006167,53.49961200873163],[-62.64993649498859,53.48720993311121],[-62.589838050632935,53.492770370867426],[-62.58981476430931,53.4792018809782],[-62.64316080647054,53.465465051375375],[-62.65304211875069,53.45661561650351],[-62.639275978980194,53.449764909234],[-62.60271922743721,53.45252980128385],[-62.55311724473696,53.46616399474566],[-62.53400307350553,53.460518315039515],[-62.456058006029416,53.461357025032605],[-62.437504523944526,53.45882999879625],[-62.408685145684,53.44673333115097],[-62.38968689340326,53.447062629845725],[-62.3357069466211,53.46143813589465],[-62.29290009145991,53.458841646332154],[-62.269366856019374,53.44660800664258],[-62.1942587353519,53.436077236685286],[-62.18824586888565,53.42070179828018],[-62.171082882611344,53.4084480734553],[-62.14330044484798,53.40181327599858],[-62.10752346363742,53.399330250298995],[-62.11510087171651,53.38389744237308],[-62.10168253628055,53.37221668472839],[-62.081174859796725,53.36591325600417],[-62.09334858021079,53.34922180244399],[-62.085789871091315,53.32795040454332],[-62.056891649423164,53.31410122881498],[-62.023607939728905,53.29311648593718],[-61.99079359305735,53.295117565873774],[-61.98046954773008,53.27365899036118],[-61.964463552195994,53.26002522651821],[-61.93683275601091,53.251395071078925],[-61.85482560551629,53.25244509782324],[-61.82002925200879,53.248510646264236],[-61.76851521452334,53.238842049578075],[-61.74470481486507,53.22480447907681],[-61.769740628724215,53.21696292596628],[-61.75383382123029,53.20266577136637],[-61.7582360027376,53.19360276675947],[-61.78820688836437,53.19495494188221],[-61.800895004796004,53.189700885564186],[-61.800231448268896,53.16931071325852],[-61.817976166178454,53.150869746407935],[-61.820399207634516,53.13707893762915],[-61.80543450494684,53.123249798456605],[-61.828183226091355,53.10845379847573],[-61.82964941276144,53.07843131587743],[-61.85299910943027,53.07988279942174],[-61.9042110936345,53.09619848322444],[-61.98695145998103,53.10178364138138],[-62.04722216300783,53.09378793884842],[-62.07815072266976,53.08123006527764],[-62.094186279603456,53.090045551223994],[-62.11030286705269,53.08824064227055],[-62.1189329205475,53.05917845666612],[-62.10114281159282,53.03965362218372],[-62.10528280050107,53.01732354341845],[-62.081988439450726,53.00073733941191],[-62.070111529706544,52.974211500194706],[-62.08969116225713,52.97325116025306],[-62.116369827791665,52.980961794733155],[-62.13542246066134,52.97124246179017],[-62.167409120707156,52.9654955976173],[-62.185028478568654,52.95768353675803],[-62.257470015313224,52.95384558630904],[-62.28889762690724,52.96773626008916],[-62.30688217232505,52.960688336249255],[-62.30998101909318,52.98316618698539],[-62.32479095320876,53.00573780874252],[-62.35134643234626,53.00686691984872],[-62.37715288122077,52.99810059643005],[-62.38816525687894,52.98619229455552],[-62.38189171939176,52.97114735681968],[-62.40344889034517,52.96957479344461],[-62.41661143780856,52.9827698456554],[-62.449961541849106,52.98727461618674],[-62.465241401687344,52.98033988400323],[-62.46521344481549,52.96834060223002],[-62.44928483653725,52.953400469103244],[-62.482901216538764,52.95152572066594],[-62.482363853827124,52.935943799410666],[-62.45405340514519,52.926024267411506],[-62.44696741057537,52.90850850502924],[-62.4593810590643,52.89094651706569],[-62.4819387166966,52.88092992526046],[-62.50054943991872,52.881463737976574],[-62.52553515710616,52.913177920030115],[-62.53638476716802,52.9157463283764],[-62.57201845755722,52.89787611447133],[-62.59018137180795,52.89848716971709],[-62.595621892612385,52.916011006771555],[-62.607436246844145,52.925768884871076],[-62.64643881102758,52.93444470448479],[-62.69550247731801,52.93827712706301],[-62.720536120996286,52.923779988508095],[-62.706819785927166,52.90909907501213],[-62.70764228267778,52.895929425319764],[-62.68649075641523,52.88608394869545],[-62.70130418875617,52.86650243357192],[-62.679255114656,52.85920735941762],[-62.65257798592362,52.857582904458525],[-62.65649272247377,52.84922040660293],[-62.64820756906074,52.83508656778273],[-62.60440581444907,52.82018734173026],[-62.59169855033413,52.8043613412256],[-62.63345496737065,52.79676636864771],[-62.67165147392096,52.814219038999234],[-62.68496871072528,52.81432256549553],[-62.684537695658,52.78983722273731],[-62.67765302754852,52.77542104328304],[-62.70145898128855,52.775492021378064],[-62.73868206426982,52.78768497834432],[-62.778673454296175,52.79433430274687],[-62.79665390257003,52.79440575181452],[-62.91166415896124,52.78666577271813],[-62.93307695961074,52.79830346405131],[-62.94584676444816,52.79328109452975],[-62.948105327238395,52.77246278274677],[-62.96215250098285,52.76007210390855],[-63.01581409150827,52.78514071741741],[-63.040178058125655,52.77649404334664],[-63.06592509802556,52.79359337162388],[-63.09968676022298,52.78840871489415],[-63.14433557664977,52.81455702052559],[-63.16317944787851,52.810593379190244],[-63.175886492387995,52.79251687506109],[-63.1759005453358,52.77071522556832],[-63.208668529163106,52.74271360079315],[-63.21893949673582,52.72182355845206],[-63.23137311726224,52.7149280506349],[-63.26867386176204,52.73570039165653],[-63.30049475178084,52.7597649563843],[-63.28710883315497,52.77587423175561],[-63.29914281053233,52.80082077090295],[-63.32059239151032,52.81832236002327],[-63.37446475069696,52.83225931465218],[-63.39189185734132,52.85488324735153],[-63.38966367460014,52.86354036626368],[-63.40476342268794,52.872666065414066],[-63.39364763826486,52.88594059992053],[-63.43147307578215,52.89094512450748],[-63.45594304904551,52.88276474172857],[-63.466646371015365,52.88463570164927],[-63.475340344656345,52.90627841490491],[-63.45270320366833,52.93851267805206],[-63.4700935503353,52.95652916459742],[-63.52067272341047,52.95200932097369],[-63.54402688530591,52.9386123469566],[-63.560226628068435,52.94114010118301],[-63.568378236373455,52.930213154613625],[-63.5949648937602,52.91746025340158],[-63.59977589593868,52.906858248601644],[-63.593895871751315,52.8927502377156],[-63.60928021551449,52.870490078810036],[-63.6107776124916,52.858279491409355],[-63.58491527947255,52.84140452637738],[-63.59974758284293,52.824318908293186],[-63.59204748404326,52.80905122373708],[-63.59539896652578,52.79427750033454],[-63.615956947818795,52.79063792183731],[-63.61769892290555,52.77166965863166],[-63.57586122238545,52.76096405939689],[-63.55096281533559,52.738018085064056],[-63.526349961149435,52.72537495261156],[-63.49708777902775,52.72424000064665],[-63.45932498880424,52.71791360972892],[-63.43857594302469,52.698726056692124],[-63.39853726941603,52.68191355753786],[-63.38068613572807,52.665175944336404],[-63.41354430135027,52.659423696074406],[-63.41943159581254,52.649774268228626],[-63.44416290522726,52.64469539412977],[-63.48228710794831,52.6504700000244],[-63.52908030394835,52.650727386681616],[-63.56524689401184,52.64621049877875],[-63.59727339456635,52.64794530507253],[-63.64023179339233,52.64364478300679],[-63.66813719379008,52.6366157919648],[-63.688172286321375,52.63736169767716],[-63.71645749677402,52.630933506505265],[-63.772179413765386,52.63246070525965],[-63.80311380942173,52.62971330902191],[-63.83007070652613,52.62354260336143],[-63.85040171229078,52.625849907627334],[-63.90100168644921,52.61382579454425],[-63.92202285284281,52.59842619615092],[-63.93586545871518,52.6055501845471],[-63.9504906279353,52.59613997898357],[-63.96755817792069,52.59496184357265],[-63.97906500878012,52.58574613745747],[-64.0157375188593,52.577143135226564],[-64.04673513753903,52.55895808943527],[-64.04700622319149,52.5441620274586],[-64.07189729683957,52.51313008676167],[-64.0876772339697,52.50651419282307],[-64.09686665530869,52.47436166332854],[-64.0973547584267,52.454338032306914],[-64.0897002673864,52.44592801519895],[-64.05125486830211,52.42781884924662],[-64.02592013178963,52.405781067857724],[-64.03740906365583,52.39211714973633],[-64.01456000775494,52.363727093223815],[-63.97781437406139,52.35514610517344],[-63.96591089779265,52.35730059111482],[-63.935235176372004,52.34273390396505],[-63.909740984250504,52.34076610527186],[-63.906175912334625,52.33412589273697],[-63.86103900457792,52.31905299195945],[-63.82803109477878,52.33445170511613],[-63.76811901580021,52.32788740582872],[-63.74448621469004,52.31523269470789],[-63.76479538683164,52.3079618998917],[-63.77630990265242,52.31344659926805],[-63.80035917950901,52.31014820401019],[-63.803742189703954,52.30138199728359],[-63.7716778877313,52.28277540270965],[-63.77812750658227,52.27387080924282],[-63.75060370229737,52.258355989728294],[-63.755719278877926,52.242737101610636],[-63.74859169878047,52.23024169385791],[-63.728022923321596,52.21890249610226],[-63.711915708414736,52.19787810085458],[-63.71752748420351,52.18603339789866],[-63.69884530703598,52.16535020324074],[-63.70695942094271,52.16058060022921],[-63.69077070864255,52.12302059756711],[-63.695284193329925,52.104436888475746],[-63.707994190815214,52.0933343985379],[-63.66214241611111,52.06642829807428],[-63.65703270168687,52.05383821406399],[-63.66283637946497,52.041200295809105],[-63.681477488695755,52.05401808322885],[-63.70000682615954,52.044805794294696],[-63.72353740643983,52.060298700740304],[-63.73916160740731,52.06329108767544],[-63.77013059157645,52.07929129988552],[-63.821041121163056,52.08673329417538],[-63.83587189042279,52.0816705877988],[-63.841138362287786,52.05649827456063],[-63.827465408938046,52.039806467096206],[-63.81243371649178,52.032027623217076],[-63.80038991830375,52.00978241315725],[-63.80146264007816,51.99784367602042],[-63.53300431197396,51.99728463594501],[-63.22552843749317,51.997398488152164],[-62.844182289211744,51.99695712266408],[-62.500000011528634,51.99730664359541],[-62.147280155442125,51.99712797685649],[-61.8065216585819,51.995808708099574],[-61.36860047535834,51.99660118160527],[-61.12988609220474,51.99624936949341],[-60.786813890253605,51.99729109145935],[-60.441692060585346,51.99651187513826],[-60.20170730492833,51.99723227884231],[-59.034409549861,51.99698112069568],[-58.78662989583799,51.99760209411472],[-58.32292644669302,51.99706981163042],[-57.96473498778516,51.99644928338541],[-57.58816538734985,51.99777281281789],[-57.31938168497622,51.99787579144521],[-57.107759373027335,51.998494771108014],[-57.106858714672015,51.83967506783434],[-57.098724076697486,51.846941590893415],[-57.06449193722398,51.85246061655966],[-57.05385437711709,51.861667809148905],[-57.06074487135283,51.9037853584861],[-57.05185680259895,51.92349520817187],[-57.06683871722885,51.937427618405735],[-57.04437158888532,51.96662305016079],[-57.040876732045746,51.985767526314916],[-57.02770213080288,51.991624998389305],[-56.97988041768523,51.976140416402224],[-56.945650652380436,51.98410118296777],[-56.94116832361589,51.994327986392044],[-56.97889321812646,52.01854186281516],[-56.98209686116701,52.05287614017713],[-57.00206902193444,52.07500122901992],[-57.01418414279146,52.08242657847687],[-57.046016809917006,52.09062271846824],[-57.065522554724794,52.091280317013904],[-57.06897359925022,52.10741055129263]],[[-60.153661516931415,53.54550790129045],[-60.13718087006539,53.54890652064372],[-60.1365293900662,53.52568390216534],[-60.14587909810212,53.52342019392521],[-60.153661516931415,53.54550790129045]],[[-60.14357511810363,53.521887493378884],[-60.14980178922346,53.51159665297756],[-60.22611588886797,53.51607437349378],[-60.198902217104575,53.52565759226865],[-60.17724869135781,53.51906948699739],[-60.14357511810363,53.521887493378884]],[[-60.191169598403526,53.363164385979836],[-60.18418369397184,53.34922370943866],[-60.189284483344466,53.32946150064226],[-60.225539316686444,53.311158884835216],[-60.243291916031595,53.31334779011323],[-60.27310625144152,53.30077015431389],[-60.28848177719103,53.28847572217222],[-60.3363579790884,53.27601833676695],[-60.44168469241137,53.27512992981563],[-60.489688246104784,53.26595410113073],[-60.55646723967656,53.26458369413115],[-60.601290909441616,53.260917133323794],[-60.60198211531636,53.34389927898323],[-60.60580900299399,53.39083551066971],[-60.60566104451431,53.42130609728732],[-60.52751978331568,53.424574606199144],[-60.411920293015775,53.42568880651784],[-60.40563189226221,53.40071569870529],[-60.36958182143592,53.373834395351544],[-60.36127844716534,53.347559883243726],[-60.305542614726086,53.34408550705622],[-60.27212991442117,53.356385101067886],[-60.25766001790905,53.35063269909337],[-60.218325204603005,53.36122800683702],[-60.191169598403526,53.363164385979836]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-60.96219267691435,\"lat\":53.01928596247025},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1010\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"1010020\"],\"csd_name_en\":[\"Division No. 10\",\"Subd. C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Division No. 10, Subd. C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-60.191169598403526,53.363164385979836],[-60.218325204603005,53.36122800683702],[-60.25766001790905,53.35063269909337],[-60.27212991442117,53.356385101067886],[-60.305542614726086,53.34408550705622],[-60.36127844716534,53.347559883243726],[-60.36958182143592,53.373834395351544],[-60.40563189226221,53.40071569870529],[-60.411920293015775,53.42568880651784],[-60.52751978331568,53.424574606199144],[-60.60566104451431,53.42130609728732],[-60.60580900299399,53.39083551066971],[-60.60198211531636,53.34389927898323],[-60.601290909441616,53.260917133323794],[-60.55646723967656,53.26458369413115],[-60.489688246104784,53.26595410113073],[-60.44168469241137,53.27512992981563],[-60.3363579790884,53.27601833676695],[-60.28848177719103,53.28847572217222],[-60.27310625144152,53.30077015431389],[-60.243291916031595,53.31334779011323],[-60.225539316686444,53.311158884835216],[-60.189284483344466,53.32946150064226],[-60.18418369397184,53.34922370943866],[-60.191169598403526,53.363164385979836]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-60.44666728644588,\"lat\":53.33958630700067},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1010\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"1010025\"],\"csd_name_en\":[\"Happy Valley-Goose Bay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Happy Valley-Goose Bay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-61.748914322404566,56.481001665655455],[-61.666656639590364,56.48040561536978],[-61.6199543555641,56.55091885827979],[-61.700744218942916,56.58958489823829],[-61.807718042656965,56.57926983886582],[-61.87221019663218,56.521414786488194],[-61.860164312194755,56.47813898289909],[-61.748914322404566,56.481001665655455]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-61.748237197226565,\"lat\":56.52949595999898},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1011\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"1011035\"],\"csd_name_en\":[\"Nain\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Nain\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.98725681266916,46.274743289107526],[-63.00897007288693,46.28822217856794],[-63.00497126981824,46.305758439409736],[-63.03727520002195,46.289055083371295],[-63.02439341439065,46.27895592600771],[-63.01141576559987,46.24712713372578],[-62.98950993956512,46.24955187433887],[-62.99273097285849,46.263493394260685],[-62.98725681266916,46.274743289107526]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.009282389398486,\"lat\":46.27405024454663},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1102\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1102015\"],\"csd_name_en\":[\"Johnstons River\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Fire District\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Johnstons River\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.3327781708406,46.46017108143188],[-63.3165504123352,46.4520899084615],[-63.30092269638331,46.463605356568756],[-63.3327781708406,46.46017108143188]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.316750426519704,\"lat\":46.45862211548738},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1102\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1102046\"],\"csd_name_en\":[\"North Rustico\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"North Rustico\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.457178343874844,46.3373540742591],[-63.47744203389827,46.35539767695455],[-63.48787020133437,46.374235215205026],[-63.5006553084248,46.36304318191841],[-63.52090050404387,46.362477169117334],[-63.51627665986001,46.33931664851198],[-63.504140410085505,46.33832668445613],[-63.46878619082249,46.33524235659639],[-63.457178343874844,46.3373540742591]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.492885716578094,\"lat\":46.35043866635337},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1102\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1102051\"],\"csd_name_en\":[\"Breadalbane\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Breadalbane\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-63.97189912067012,46.920020576909685],[-64.01044860391752,46.91843913415125],[-64.01627815215252,46.90939863115546],[-64.01229627778305,46.89822705861122],[-63.998610628089985,46.891126969065866],[-63.97306312480677,46.888649576806394],[-63.97189912067012,46.920020576909685]]],[[[-63.9714715219554,46.95220730247934],[-63.97275956481722,47.065967795419134],[-64.00204972591276,47.06546061769163],[-64.06987395668041,47.0116139432003],[-64.15748307073214,46.964214198487134],[-64.1223632917658,46.929579993621864],[-64.11145201104956,46.90357128185851],[-64.1018266222282,46.89480767294031],[-64.08493560198387,46.89649630082426],[-64.06532758866437,46.894834109935815],[-64.06027260687478,46.90213592134342],[-64.02998615264168,46.90696090421109],[-64.04675327610234,46.9192689789341],[-64.04240837318578,46.93090783711835],[-64.04909318143213,46.941493946630544],[-64.03896588788791,46.96229379849904],[-64.01314519301359,46.9614919873892],[-64.0134435473883,46.94249777065858],[-63.99316390204149,46.9506344738645],[-63.9714715219554,46.95220730247934]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.04590912231028,\"lat\":46.972107308198794},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1103\"],\"cd_name_en\":[\"Prince\"],\"csd_code\":[\"1103061\"],\"csd_name_en\":[\"Tignish\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Fire District\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Prince\",\"csd_name_fr\":\"Tignish\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.5768882519448,45.085176331253145],[-64.5681215153695,45.09111429467728],[-64.57454719759103,45.12824910611241],[-64.60964929173574,45.15021439090167],[-64.66774545281562,45.2366124062343],[-64.74506154409733,45.20025679644431],[-64.76704189681575,45.19357244412149],[-64.8400176979926,45.17760406840941],[-65.03647106211851,45.09461543910363],[-64.9567509327281,44.96696516262407],[-64.82633040728274,44.759589728799114],[-64.77323753855983,44.663584573347414],[-64.67458054801938,44.735485533272104],[-64.56991744096317,44.81184174694731],[-64.58760717773025,44.84710070832842],[-64.58450878516958,44.86329669308124],[-64.572100908047,44.87490091497814],[-64.57067537560137,44.88765922598611],[-64.58890719911061,44.90502009304291],[-64.59360727829437,44.92840111089913],[-64.61437998565648,44.91303210008185],[-64.61474748954141,44.940296386379025],[-64.59613121012566,44.94952051406068],[-64.60382918198816,44.96055739749414],[-64.58782619183815,44.974988297889986],[-64.57553278970695,44.96803459745557],[-64.56021519647484,44.98004768831198],[-64.5777897697167,45.000074704864],[-64.57713171263771,45.013380793712535],[-64.56335329732738,45.03058028505274],[-64.58217268903927,45.04709959540956],[-64.58829101284618,45.06339259318122],[-64.5768882519448,45.085176331253145]],[[-64.65829523819542,45.07080357155101],[-64.64780098477254,45.07268140344077],[-64.643683416333,45.06650740932035],[-64.65422797459227,45.06398685886392],[-64.65829523819542,45.07080357155101]],[[-64.73868307911721,45.05834910449287],[-64.7155277096687,45.06060479371937],[-64.71036904701698,45.04882348975766],[-64.74441586519423,45.032706039715364],[-64.75520530100148,45.05586084980985],[-64.73868307911721,45.05834910449287]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.76216070525825,\"lat\":44.97530071180849},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1207\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1207001\"],\"csd_name_en\":[\"Kings\",\"Subd. A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of county municipality \\/ Subdivision municipalit\\u00e9 de comt\\u00e9\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Kings, Subd. A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.65254915468458,45.570902834998975],[-62.6679033167209,45.576157085063016],[-62.69554551202176,45.57255229991322],[-62.686000105292784,45.55958511478716],[-62.69034450880622,45.54316978650061],[-62.66177933285221,45.548364723722834],[-62.65088237328155,45.555266631826186],[-62.65254915468458,45.570902834998975]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.6720432414266,\"lat\":45.560956918363736},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1212\"],\"cd_name_en\":[\"Pictou\"],\"csd_code\":[\"1212009\"],\"csd_name_en\":[\"Stellarton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Pictou\",\"csd_name_fr\":\"Stellarton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.63062046195132,45.26919319442784],[-65.69007033076568,45.34540690992845],[-65.75074707700261,45.42655701919811],[-65.76205200078176,45.42192598755589],[-65.84538461337338,45.39942844266837],[-65.90606022570287,45.38241347568513],[-65.91585006201841,45.37309055377381],[-65.8477774366855,45.336473384842094],[-65.8388317562682,45.33414635310526],[-65.86145451191393,45.315411163717016],[-65.8794063904678,45.31589118625396],[-65.88925811948917,45.29654919862893],[-65.88286519063537,45.284266695565385],[-65.90730950436249,45.254005510372295],[-65.92223501246585,45.24595056222394],[-65.94971672864222,45.24023796206319],[-65.95432382362824,45.22685291471419],[-65.9664027720821,45.21349357102305],[-65.95065963314578,45.208121501940724],[-65.94301789784033,45.19530230318852],[-65.92287389384148,45.187514322524265],[-65.89362534112747,45.19194782895161],[-65.83432054033351,45.2118419278591],[-65.78023940321218,45.24195800741277],[-65.72796384250324,45.249009382056315],[-65.63062046195132,45.26919319442784]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.79929815631672,\"lat\":45.30432442394949},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1301\"],\"cd_name_en\":[\"Saint John\"],\"csd_code\":[\"1301004\"],\"csd_name_en\":[\"Simonds\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Saint John\",\"csd_name_fr\":\"Simonds\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.97696291487243,46.359691258846745],[-65.99940383304293,46.36498916539016],[-66.10571230503001,46.3850935906148],[-66.16451905901549,46.396486057291064],[-66.20096874113679,46.354649223196105],[-66.2710898680413,46.273439034448785],[-66.40090333191671,46.12420132513545],[-66.58189614048085,45.91319112757345],[-66.55141613217636,45.90087015207967],[-66.51691084559432,45.8794442065662],[-66.49972811167267,45.86468390786155],[-66.47429442842957,45.85745800723722],[-66.4636453019178,45.857298740061516],[-66.43185929348199,45.87461709499133],[-66.41130848331298,45.88486187990482],[-66.39255886117942,45.87999563238113],[-66.27737885366767,46.01364177094546],[-66.15746665631661,46.15310632510937],[-66.1000968571873,46.22063533974823],[-65.97696291487243,46.359691258846745]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.28587462739517,\"lat\":46.129997633833355},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1303\"],\"cd_name_en\":[\"Sunbury\"],\"csd_code\":[\"1303016\"],\"csd_name_en\":[\"Maugerville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Sunbury\",\"csd_name_fr\":\"Maugerville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.88135463054594,45.62266217248372],[-64.90902509930486,45.60512950185359],[-64.93359220904264,45.59957760075692],[-64.948360598519,45.60049942074366],[-64.9693832990789,45.6262206508364],[-64.95359989731847,45.638518090742544],[-64.93357443208932,45.64628453015868],[-64.94136070194914,45.6728067137253],[-64.94922370265,45.677767405230725],[-64.95534172641179,45.70905042870457],[-64.92577730403386,45.71878463376888],[-64.9402161811322,45.75151069698106],[-65.13247609030152,45.64923534967436],[-65.13112771809655,45.64571887941061],[-65.11935466660965,45.61508978811409],[-65.07681487219597,45.51328974659483],[-65.02990173357028,45.52432859262347],[-64.9532436748194,45.53291977813512],[-64.84095239517539,45.53701781351097],[-64.88135463054594,45.62266217248372]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.0000369512479,\"lat\":45.611607348466514},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1306\"],\"cd_name_en\":[\"Albert\"],\"csd_code\":[\"1306007\"],\"csd_name_en\":[\"Alma\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Albert\",\"csd_name_fr\":\"Alma\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.11524679421291,47.21892906545526],[-65.12638662028036,47.246466688052465],[-65.16202073318009,47.241640246529236],[-65.12735655465765,47.19822126279611],[-65.11334812025795,47.206707495768676],[-65.11524679421291,47.21892906545526]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.1335065852217,\"lat\":47.22546237425953},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1309\"],\"cd_name_en\":[\"Northumberland\"],\"csd_code\":[\"1309044\"],\"csd_name_en\":[\"Esgeno\\u00f4petitj 14\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Northumberland\",\"csd_name_fr\":\"Esgeno\\u00f4petitj 14\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.84533527822029,47.09149761037691],[-67.82696050982176,47.11162173284732],[-67.81728799357502,47.115928002443525],[-67.78573707896501,47.159745438055914],[-67.7733567733467,47.18079113846001],[-67.7523354357925,47.18552201099768],[-67.76196165358941,47.209598881497776],[-67.68917367915338,47.231698194946986],[-67.68922365014942,47.44935496210585],[-67.78189779154121,47.35354738793892],[-67.85419868869722,47.2809890599273],[-67.8995022633592,47.249631443223706],[-67.91492778592786,47.212664611931615],[-67.9266968717376,47.20774012944676],[-67.95104169100418,47.19084720953109],[-67.93893779271959,47.17109701577545],[-67.91374390633285,47.18801066300882],[-67.89976840534432,47.17298741160577],[-67.9270771690971,47.15486118038528],[-67.91238889364179,47.148777790861445],[-67.89072219067188,47.12649999375579],[-67.88291670745883,47.10441670292542],[-67.84533527822029,47.09149761037691]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.79669771629092,\"lat\":47.249820990350464},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1313\"],\"cd_name_en\":[\"Madawaska\"],\"csd_code\":[\"1313004\"],\"csd_name_en\":[\"Saint-L\\u00e9onard\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Madawaska\",\"csd_name_fr\":\"Saint-L\\u00e9onard\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.37175784229552,47.98401642808605],[-66.33722964132873,47.971394622893634],[-66.31908125119577,47.972665575467296],[-66.27757974826788,47.95812088053718],[-66.26081177558696,47.960308272206916],[-66.24710273233337,47.97891609093369],[-66.26191514436279,47.99133263894312],[-66.28262271073467,47.99701310001412],[-66.30518221215505,47.99748330107218],[-66.340345297632,48.00572310765167],[-66.35975257892667,48.01371230275043],[-66.3721918766436,48.03203224440031],[-66.37137612419482,48.00391850509927],[-66.37686583687139,47.98938574874072],[-66.37175784229552,47.98401642808605]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.3146504785753,\"lat\":47.986063523273025},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1314\"],\"cd_name_en\":[\"Restigouche\"],\"csd_code\":[\"1314004\"],\"csd_name_en\":[\"Charlo\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Restigouche\",\"csd_name_fr\":\"Charlo\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.38322472632932,48.03795761079891],[-66.3851103401838,48.04054622806061],[-66.4010740002123,48.03676599774841],[-66.40094687569267,48.03358320450108],[-66.38322472632932,48.03795761079891]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.3926555281047,\"lat\":48.037169086276755},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1314\"],\"cd_name_en\":[\"Restigouche\"],\"csd_code\":[\"1314026\"],\"csd_name_en\":[\"Indian Ranch\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Restigouche\",\"csd_name_fr\":\"Indian Ranch\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.64301962142929,47.682922772038076],[-65.68173797801853,47.75005607778287],[-65.70378857970073,47.80754224300302],[-65.72271678072586,47.84309661127489],[-65.72251676390195,47.85385969198169],[-65.70974764579536,47.86921456176005],[-65.6873238891231,47.88272458675292],[-65.58225455189135,47.931623287247106],[-65.53649456394047,47.95783032421617],[-65.51189610259888,47.978795182125914],[-65.50464636321563,48.00000601936168],[-65.54292278166643,48.00005312550894],[-65.63300171407879,48.00008208173823],[-65.72933647708662,48.00002500514195],[-65.79396334078454,47.880457727694655],[-65.764778150683,47.86413981146611],[-65.73982484210828,47.832952629913905],[-65.7661143779543,47.82669009652721],[-65.7770682730918,47.8300051072197],[-65.78617056502166,47.84626739336438],[-65.8074167695951,47.85561649436629],[-65.81689102710018,47.84890071678448],[-65.87325599369545,47.832744342933964],[-65.91529924755083,47.827501439415876],[-65.9877435906769,47.73331810387669],[-66.0327966394718,47.67084094237673],[-66.06178178382555,47.63332676844871],[-66.10768866240439,47.57730572687448],[-65.70449059278448,47.673335312618384],[-65.72825596704827,47.694410030449255],[-65.74417016302205,47.72556379214767],[-65.74962180634297,47.74393210269917],[-65.71022062628299,47.75342265025244],[-65.7057311909943,47.73493353291489],[-65.69883434830973,47.71170092574972],[-65.65647536125456,47.67793410206243],[-65.65455581340983,47.678713640944174],[-65.64301962142929,47.682922772038076]],[[-65.73872511827817,47.795341504616445],[-65.72551602204699,47.801707656877525],[-65.71481647520636,47.78725335349754],[-65.7104550351831,47.770405800225134],[-65.72341036669447,47.767174624276684],[-65.73872511827817,47.795341504616445]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.80888944406652,\"lat\":47.78408804537817},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1315\"],\"cd_name_en\":[\"Gloucester\"],\"csd_code\":[\"1315012\"],\"csd_name_en\":[\"Beresford\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Gloucester\",\"csd_name_fr\":\"Beresford\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.14155205295283,47.78064663416294],[-65.17316571442662,47.778987027165414],[-65.20682192481544,47.7708145864398],[-65.18621163605205,47.73576481688423],[-65.16487601132167,47.73391836078511],[-65.14608255412877,47.738441803840736],[-65.13658724314143,47.773261099972565],[-65.14155205295283,47.78064663416294]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.16861311161848,\"lat\":47.75856074116975},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1315\"],\"cd_name_en\":[\"Gloucester\"],\"csd_code\":[\"1315017\"],\"csd_name_en\":[\"Saint-L\\u00e9olin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Gloucester\",\"csd_name_fr\":\"Saint-L\\u00e9olin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.87849147562295,47.800316538348106],[-64.88773671375323,47.80412930062791],[-64.91279818960305,47.79613268272755],[-64.9646226043075,47.79263499001124],[-64.98734080442846,47.78461360644827],[-65.00098819174559,47.773160296129035],[-65.03439560104891,47.77826961169247],[-65.04267218661923,47.77514867914233],[-65.01774999461153,47.72976700018996],[-65.01317295424244,47.72151324076488],[-64.94713256496351,47.74031833901395],[-64.85690413493111,47.76219369330569],[-64.87849147562295,47.800316538348106]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.95085168101139,\"lat\":47.765182126503916},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1315\"],\"cd_name_en\":[\"Gloucester\"],\"csd_code\":[\"1315028\"],\"csd_name_en\":[\"Caraquet\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town \\/ Ville\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Gloucester\",\"csd_name_fr\":\"Caraquet\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.65172799713864,48.69449928323051],[-64.65179957355434,48.80685920404607],[-64.65044627782083,48.836872452614124],[-64.66168108058214,48.831297555415354],[-64.70219906600089,48.828849705205776],[-64.70668896448241,48.967586651020326],[-64.69489134885123,48.9924003498146],[-64.71767627751618,48.99453047010555],[-64.73991081253418,49.01644207752637],[-64.74333454384545,49.09796852269191],[-64.70758097707517,49.090037191570524],[-64.70772766795577,49.1844784490203],[-64.75267867853852,49.200162231458414],[-64.77883142602451,49.20342638336569],[-64.78266571738416,49.10716912872032],[-65.05459309654078,49.10795180056264],[-65.0543256452604,49.09495473478738],[-65.0538999448528,48.82361102676509],[-65.50195068491969,48.824742801317406],[-65.50168580981722,48.67922007782234],[-65.50119084206064,48.67903369204897],[-65.05359866051108,48.67945160519039],[-65.0531964990591,48.69444459650001],[-64.65172799713864,48.69449928323051]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.98908414368006,\"lat\":48.85743110243068},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2403\"],\"cd_name_en\":[\"La C\\u00f4te-de-Gasp\\u00e9\"],\"csd_code\":[\"2403902\"],\"csd_name_en\":[\"Rivi\\u00e8re-Saint-Jean\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La C\\u00f4te-de-Gasp\\u00e9\",\"csd_name_fr\":\"Rivi\\u00e8re-Saint-Jean\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.26403333128769,48.03710534469137],[-66.26392112924961,48.10141022538007],[-66.26132671314706,48.15136325682265],[-66.28537970103531,48.151802185328236],[-66.28403336802388,48.1917176611026],[-66.27842104748478,48.191620994206296],[-66.27526813533866,48.2364481881687],[-66.49677460339606,48.24317465850939],[-66.56254064983318,48.2437526227995],[-66.56403579173617,48.19022501958228],[-66.4956467127992,48.189203310384194],[-66.41637427339174,48.165405697130566],[-66.42668276190429,48.153816761731015],[-66.41217718442877,48.12901044261622],[-66.37265000364746,48.12621650082612],[-66.382272001896,48.088183853007344],[-66.34890009269417,48.07714990544461],[-66.31075493210943,48.050894242616955],[-66.26403333128769,48.03710534469137]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.37667956772607,\"lat\":48.168833874537135},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2406\"],\"cd_name_en\":[\"Avignon\"],\"csd_code\":[\"2406020\"],\"csd_name_en\":[\"Nouvelle\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Avignon\",\"csd_name_fr\":\"Nouvelle\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-66.72305516860222,48.00906595156261],[-66.746295783902,48.013168492855016],[-66.74734671977149,48.02921734919447],[-66.7609632001989,48.02638770545829],[-66.74638054003185,48.00309768061998],[-66.72305516860222,48.00906595156261]]],[[[-66.5679427063709,48.038206595302114],[-66.56403579173617,48.19022501958228],[-66.56254064983318,48.2437526227995],[-66.76954707070816,48.178580243124074],[-66.84147907194863,48.15310554097939],[-66.87428406818454,48.17303111339548],[-66.90715940939232,48.197689368338146],[-66.94267920508753,48.17818574826752],[-66.88363829486025,48.136198552956245],[-66.91613473923124,48.127941599016694],[-66.86872505177837,48.049258929025214],[-66.82561068981275,48.057859907507805],[-66.82260120460332,48.04497430182388],[-66.8038268938692,48.03967218646057],[-66.7805599495379,48.057133257117336],[-66.80591934574437,48.09590814011956],[-66.74541844251125,48.11355451284498],[-66.72228396361405,48.07475332014422],[-66.73018177974862,48.06875449190085],[-66.7133304271471,48.04295605213089],[-66.72262358663805,48.02936294856904],[-66.67665892705381,48.01216834134436],[-66.61949895513095,48.025305340390005],[-66.5679427063709,48.038206595302114]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.71048782678488,\"lat\":48.1222819838415},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2406\"],\"cd_name_en\":[\"Avignon\"],\"csd_code\":[\"2406030\"],\"csd_name_en\":[\"Pointe-\\u00e0-la-Croix\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Avignon\",\"csd_name_fr\":\"Pointe-\\u00e0-la-Croix\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.62265053136987,48.6340594590506],[-67.67678136636819,48.665979103160055],[-67.72068552452079,48.63319017613781],[-67.79527638253894,48.57784792657955],[-67.76311587035141,48.58389011422353],[-67.77375574049107,48.54435228092292],[-67.75468699602807,48.52625273047962],[-67.72404834301351,48.54636380788457],[-67.69280595373104,48.52428969518583],[-67.65266504123161,48.526287362919284],[-67.63765965589484,48.55038569262902],[-67.63090089051258,48.55180855795205],[-67.61678736618155,48.57530715672663],[-67.57655057865831,48.586486205550685],[-67.57953101933676,48.60254669270339],[-67.60620980677825,48.62436249112636],[-67.62265053136987,48.6340594590506]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.68307558305594,\"lat\":48.589076695596106},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2407\"],\"cd_name_en\":[\"La Matap\\u00e9dia\"],\"csd_code\":[\"2407085\"],\"csd_name_en\":[\"Sayabec\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Matap\\u00e9dia\",\"csd_name_fr\":\"Sayabec\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.33783983460106,48.285402613706104],[-67.41756477936865,48.26585346980977],[-67.44725007550231,48.31647909754671],[-67.50926100682912,48.30172302189465],[-67.52833741026622,48.29503392451157],[-67.50958271817869,48.26124877064612],[-67.59044586058383,48.24010214976246],[-67.60481036913345,48.26417416129142],[-67.64573109013361,48.253542704047916],[-67.61781145856955,48.20707541795105],[-67.61921230013827,48.194764903899866],[-67.63117953276489,48.17460142818988],[-67.64499228594808,48.16438911912507],[-67.64493675566617,48.16435126694498],[-67.60187731767677,48.13495780903078],[-67.37501008602746,48.195308235810565],[-67.29820968466785,48.214702257829515],[-67.33783983460106,48.285402613706104]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.48353548659715,\"lat\":48.22323273467161},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2407\"],\"cd_name_en\":[\"La Matap\\u00e9dia\"],\"csd_code\":[\"2407904\"],\"csd_name_en\":[\"Rivi\\u00e8re-Vaseuse\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Matap\\u00e9dia\",\"csd_name_fr\":\"Rivi\\u00e8re-Vaseuse\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.0972377476372,48.78669211117884],[-67.1460952868677,48.81646803156817],[-67.17886098285517,48.795045187044494],[-67.21237997418068,48.81683316862177],[-67.24263714815183,48.79515660257585],[-67.25849933105813,48.80508008986353],[-67.27026601045581,48.800941488097685],[-67.31096797447655,48.76346033157503],[-67.33146573560312,48.774180028331536],[-67.35736335002935,48.753406847582596],[-67.38811079284368,48.77036770358349],[-67.45125204440525,48.7233162281194],[-67.48440194152111,48.74164895499769],[-67.50728422136703,48.7217373649159],[-67.49157303284635,48.711620150579776],[-67.4783651844872,48.72175149248468],[-67.45435430347428,48.71785961028116],[-67.42294942156478,48.700198229425794],[-67.35711904953536,48.660837192571655],[-67.30882300700488,48.629674005452124],[-67.1466238589935,48.7562682994207],[-67.0972377476372,48.78669211117884]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.28676002432276,\"lat\":48.731988085867684},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2408\"],\"cd_name_en\":[\"La Matanie\"],\"csd_code\":[\"2408035\"],\"csd_name_en\":[\"Saint-Ren\\u00e9-de-Matane\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Matanie\",\"csd_name_fr\":\"Saint-Ren\\u00e9-de-Matane\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.70426150727766,48.68222899555109],[-67.57232449463541,48.78512825664823],[-67.66030723997739,48.83505006085245],[-67.98331177361155,49.01312992607284],[-68.02599477455024,48.985881916988355],[-67.79770680613034,48.757973958338205],[-67.78624344857393,48.749019153532196],[-67.79365132643748,48.73506374174243],[-67.77816820240484,48.72604992264349],[-67.79161923879768,48.71606521324303],[-67.77471680550873,48.70502862480892],[-67.76098546278276,48.71538341595316],[-67.70426150727766,48.68222899555109]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.78963987436103,\"lat\":48.838351383430236},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2408\"],\"cd_name_en\":[\"La Matanie\"],\"csd_code\":[\"2408073\"],\"csd_name_en\":[\"Saint-Ulric\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Matanie\",\"csd_name_fr\":\"Saint-Ulric\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.13545195848802,48.29685783393357],[-68.08727663061534,48.265045622132384],[-68.02852380108305,48.31101781295027],[-68.01237529024412,48.300496843965284],[-67.97348041810284,48.32722764535251],[-67.96776284930029,48.34621935156181],[-67.9424368894807,48.36234121080353],[-68.00263235520116,48.397595610899394],[-68.07796346414179,48.3396884032621],[-68.07473682703001,48.33798236320786],[-68.13545195848802,48.29685783393357]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.03606410420983,\"lat\":48.331753508029664},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2409\"],\"cd_name_en\":[\"La Mitis\"],\"csd_code\":[\"2409010\"],\"csd_name_en\":[\"Saint-Charles-Garnier\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Mitis\",\"csd_name_fr\":\"Saint-Charles-Garnier\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.91739216873451,47.46065265350747],[-69.94174716862084,47.47186547604112],[-69.95794389990705,47.462911876750525],[-69.98522883949121,47.47394071123236],[-69.97103831876466,47.4839507934797],[-69.97281167370582,47.493591235855064],[-70.0009257927415,47.51341349198733],[-70.06938261853668,47.5577118992425],[-70.08310024479822,47.54679959970887],[-70.10564923485633,47.51911758660879],[-70.13172625152642,47.4726093272398],[-70.15756852479903,47.447992100442875],[-70.09045311937223,47.40649227573118],[-70.0214861698713,47.411248918107155],[-70.0019668868407,47.40038897271638],[-69.99079299817987,47.393044698987865],[-69.97817905756256,47.40660770284041],[-69.99181953421225,47.41477133670623],[-69.96872587551232,47.42104385741636],[-69.93268893864604,47.44216484138258],[-69.92041135908349,47.44800324836412],[-69.91739216873451,47.46065265350747]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.04470996323523,\"lat\":47.466980803840784},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2414\"],\"cd_name_en\":[\"Kamouraska\"],\"csd_code\":[\"2414065\"],\"csd_name_en\":[\"Rivi\\u00e8re-Ouelle\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Kamouraska\",\"csd_name_fr\":\"Rivi\\u00e8re-Ouelle\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.1814974698248,47.235860623788405],[-70.31076814663112,47.32171799282218],[-70.36475278790893,47.302468434230825],[-70.43077987826987,47.282779714563674],[-70.46422036428181,47.26032870089051],[-70.4709720494444,47.2425204830549],[-70.46425625146532,47.204643383356725],[-70.44158730184631,47.17846613422269],[-70.41669198092838,47.187085595832194],[-70.40106726275398,47.182959776045784],[-70.35552300534681,47.18358521383038],[-70.27736746638219,47.127213739734636],[-70.25236090133507,47.15486305835997],[-70.1914974254548,47.20779239255091],[-70.17984687495168,47.2347408358491],[-70.1814974698248,47.235860623788405]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.326634210081,\"lat\":47.23059143238192},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2417\"],\"cd_name_en\":[\"L'Islet\"],\"csd_code\":[\"2417070\"],\"csd_name_en\":[\"Saint-Jean-Port-Joli\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"L'Islet\",\"csd_name_fr\":\"Saint-Jean-Port-Joli\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.1709015432779,46.92679470534689],[-70.21504865382937,46.95716678125271],[-70.24343824752214,46.939245261704215],[-70.27329784579015,46.91656273635414],[-70.33030868363657,46.87958934817132],[-70.2868437480726,46.84914009644852],[-70.33139495202005,46.81874675544195],[-70.29689025314053,46.79587827726348],[-70.19576269146732,46.72451092648823],[-70.14722823225902,46.757809324351385],[-70.11034419079182,46.781075619336484],[-70.06993542996311,46.8105578444118],[-70.08327649821926,46.81990621486685],[-70.2037703005454,46.904846720243356],[-70.1709015432779,46.92679470534689]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.21135754846826,\"lat\":46.83477741877179},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2418\"],\"cd_name_en\":[\"Montmagny\"],\"csd_code\":[\"2418025\"],\"csd_name_en\":[\"Sainte-Apolline-de-Patton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Montmagny\",\"csd_name_fr\":\"Sainte-Apolline-de-Patton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.78383688193341,46.127669890545455],[-70.75890484653391,46.144438600263975],[-70.78611972075265,46.170597295231765],[-70.80886825392803,46.17433200044148],[-70.81462861473679,46.18666421738941],[-70.83019241274945,46.17620809555424],[-70.85466215372617,46.196394251561884],[-70.85974498757844,46.193241341443],[-70.87615896657773,46.18102562547829],[-70.84952468290199,46.15835765178217],[-70.87476494963263,46.1412826645134],[-70.8451793499936,46.11548502792898],[-70.82342679128364,46.11611327733664],[-70.79254119101265,46.13508247301443],[-70.78383688193341,46.127669890545455]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.82365795566469,\"lat\":46.15211562809174},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2427\"],\"cd_name_en\":[\"Robert-Cliche\"],\"csd_code\":[\"2427015\"],\"csd_name_en\":[\"Saint-Alfred\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Robert-Cliche\",\"csd_name_fr\":\"Saint-Alfred\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.72738839902719,45.78140376692409],[-70.73114470882939,45.914268832827624],[-70.85756925835702,45.912480037298494],[-70.87336021278115,45.91716022976512],[-70.8958523830752,45.89077453718159],[-70.89891039680766,45.88731499516577],[-70.89810937827198,45.841193608631805],[-70.89259801355546,45.780068002122796],[-70.80208032333928,45.781529447306184],[-70.72738839902719,45.78140376692409]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.81229241496055,\"lat\":45.846727128887274},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2429\"],\"cd_name_en\":[\"Beauce-Sartigan\"],\"csd_code\":[\"2429020\"],\"csd_name_en\":[\"Saint-Hilaire-de-Dorset\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Beauce-Sartigan\",\"csd_name_fr\":\"Saint-Hilaire-de-Dorset\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.00461658668362,45.99061156284782],[-71.04649651826739,46.00634971358212],[-71.10680416382417,45.94609731485482],[-71.07062231405406,45.92827257859344],[-71.05867982752082,45.937918984693496],[-71.00538073195185,45.91112907778067],[-70.99913957287029,45.91706623419322],[-70.96817805666261,45.901046757964174],[-70.95011773902063,45.91584943321363],[-70.8958523830752,45.89077453718159],[-70.87336021278115,45.91716022976512],[-70.85756925835702,45.912480037298494],[-70.8572551139398,45.92450588540547],[-70.87823026932976,45.924906915299715],[-70.87775257959206,45.94532847234204],[-70.89892062942431,45.945303588157955],[-70.91576921182401,45.958045882357396],[-70.92277226007943,45.95062135852479],[-70.94533560255302,45.95684081333786],[-70.94799724100261,45.9630192060447],[-71.00461658668362,45.99061156284782]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.98771432650244,\"lat\":45.94571256555964},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2429\"],\"cd_name_en\":[\"Beauce-Sartigan\"],\"csd_code\":[\"2429025\"],\"csd_name_en\":[\"Saint-\\u00c9variste-de-Forsyth\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Beauce-Sartigan\",\"csd_name_fr\":\"Saint-\\u00c9variste-de-Forsyth\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.7711913856653,46.01155934226715],[-70.76994052468285,46.020086121107745],[-70.72760871840968,46.04557078220719],[-70.74829998056748,46.06141003278908],[-70.72760929673817,46.07521742021597],[-70.77583993669575,46.11881091030888],[-70.78383688193341,46.127669890545455],[-70.79254119101265,46.13508247301443],[-70.82342679128364,46.11611327733664],[-70.8451793499936,46.11548502792898],[-70.83029305154578,46.10275829675086],[-70.8593317970913,46.08397050117328],[-70.84613329064992,46.071843512220035],[-70.85406212748025,46.06682765886478],[-70.85372313902671,46.03469380204981],[-70.8119667945727,46.03511193080702],[-70.81185727304391,46.01170083390479],[-70.7711913856653,46.01155934226715]],[[-70.81035132500034,46.09497200719197],[-70.82942030279504,46.09941527248224],[-70.81377101876176,46.10740368190434],[-70.81035132500034,46.09497200719197]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.79459928518457,\"lat\":46.068865013943636},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2429\"],\"cd_name_en\":[\"Beauce-Sartigan\"],\"csd_code\":[\"2429100\"],\"csd_name_en\":[\"Saint-Beno\\u00eet-Labre\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Beauce-Sartigan\",\"csd_name_fr\":\"Saint-Beno\\u00eet-Labre\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.89810937827198,45.841193608631805],[-70.93539251108716,45.84704356382131],[-70.9476028500974,45.8353183549767],[-70.97910468275445,45.85076269497774],[-70.99010743471304,45.83981399255886],[-71.04486842560064,45.787784248423335],[-70.98678707074095,45.75839238594279],[-70.93451601097966,45.731172304585485],[-70.9337979750427,45.739839691855586],[-70.9103479585466,45.763707757283484],[-70.9095669967998,45.77976871861182],[-70.89259801355546,45.780068002122796],[-70.89810937827198,45.841193608631805]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.95772195190445,\"lat\":45.79654471490186},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2430\"],\"cd_name_en\":[\"Le Granit\"],\"csd_code\":[\"2430085\"],\"csd_name_en\":[\"Saint-S\\u00e9bastien\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Granit\",\"csd_name_fr\":\"Saint-S\\u00e9bastien\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.31426641560535,46.39348420712129],[-71.31609129704768,46.40080271254507],[-71.33912254510768,46.40134497921004],[-71.3577239938949,46.41778255422818],[-71.39111910560433,46.44113432409043],[-71.40950649628911,46.41177208704902],[-71.45223643117569,46.44135301137155],[-71.53757864899737,46.443510373067234],[-71.5308404594308,46.43400471689548],[-71.47845963911126,46.396044775741345],[-71.50724567152822,46.376933963402045],[-71.48211374721551,46.356477223526085],[-71.5084931352468,46.33838945814095],[-71.49463637869098,46.33082850883707],[-71.4132565381703,46.289639338167675],[-71.3220834785673,46.348990440622046],[-71.33613242911765,46.359079752362],[-71.33204180511538,46.37858346289412],[-71.33617375012298,46.39302850631015],[-71.31426641560535,46.39348420712129]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.42192542543908,\"lat\":46.37280357701517},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2433\"],\"cd_name_en\":[\"Lotbini\\u00e8re\"],\"csd_code\":[\"2433017\"],\"csd_name_en\":[\"Sainte-Agathe-de-Lotbini\\u00e8re\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Lotbini\\u00e8re\",\"csd_name_fr\":\"Sainte-Agathe-de-Lotbini\\u00e8re\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.97459973867927,46.3867264440839],[-71.88115693814585,46.45075228096689],[-71.95997351425008,46.50671165108723],[-72.05210892495798,46.44299968560104],[-72.02026406455417,46.42004084093776],[-71.97459973867927,46.3867264440839]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.96682612595944,\"lat\":46.4467995064609},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2438\"],\"cd_name_en\":[\"B\\u00e9cancour\"],\"csd_code\":[\"2438035\"],\"csd_name_en\":[\"Sainte-Fran\\u00e7oise\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"B\\u00e9cancour\",\"csd_name_fr\":\"Sainte-Fran\\u00e7oise\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.71608633720928,45.61740437145487],[-71.693770354377,45.63417794075467],[-71.70923721538489,45.64462980521256],[-71.66539341444191,45.676172684489664],[-71.61184871682302,45.712251587074796],[-71.68684301147678,45.75130055522916],[-71.76531427705918,45.676486887970924],[-71.75295711598861,45.67003545996115],[-71.77528794266982,45.6503055871433],[-71.71608633720928,45.61740437145487]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.69987703315981,\"lat\":45.68715202387273},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2440\"],\"cd_name_en\":[\"Les Sources\"],\"csd_code\":[\"2440025\"],\"csd_name_en\":[\"Saint-Camille\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Sources\",\"csd_name_fr\":\"Saint-Camille\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.34906053986424,45.41039000710778],[-72.32548133985513,45.41718062173171],[-72.31424884295276,45.4305296106956],[-72.31828779850815,45.45099549731843],[-72.37591709270292,45.449980759964184],[-72.37233866472866,45.416348378958276],[-72.34906053986424,45.41039000710778]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.34606687580784,\"lat\":45.43269168947193},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2442\"],\"cd_name_en\":[\"Le Val-Saint-Fran\\u00e7ois\"],\"csd_code\":[\"2442045\"],\"csd_name_en\":[\"Lawrenceville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Val-Saint-Fran\\u00e7ois\",\"csd_name_fr\":\"Lawrenceville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.15956261258857,45.66897324315908],[-72.17053739653906,45.668950757448364],[-72.1929017825254,45.688529023754626],[-72.23717422872907,45.64620720199549],[-72.29884289452757,45.589320744035064],[-72.23951310170983,45.56015026706322],[-72.18234904065366,45.529695437412876],[-72.14887328489702,45.509114564493636],[-72.14324414717649,45.51440264166031],[-72.05236266990495,45.600380525673],[-72.06906954802727,45.60596038473874],[-72.08642846158001,45.61126440932449],[-72.11482619927445,45.62738768490067],[-72.1406038208852,45.64865710643294],[-72.16585370210498,45.658105159564975],[-72.15956261258857,45.66897324315908]],[[-72.13643698951982,45.59669613483608],[-72.12098743866103,45.58759639953065],[-72.11819513493653,45.57591203640918],[-72.14741696474948,45.54885943999706],[-72.15487433942607,45.55259165046703],[-72.13444541430688,45.578426553685944],[-72.14865028887895,45.58586677837381],[-72.13643698951982,45.59669613483608]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.17785635695084,\"lat\":45.596712790619456},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2442\"],\"cd_name_en\":[\"Le Val-Saint-Fran\\u00e7ois\"],\"csd_code\":[\"2442075\"],\"csd_name_en\":[\"Melbourne\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Val-Saint-Fran\\u00e7ois\",\"csd_name_fr\":\"Melbourne\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.71618455293171,45.105532511691926],[-71.71647677471942,45.132311936152185],[-71.67282942070811,45.13226874872864],[-71.67317628603924,45.15937213065887],[-71.73549497802807,45.159279756240636],[-71.91728909286029,45.16011844702652],[-71.92827946331903,45.16018080549287],[-71.93030050210325,45.05730936057438],[-71.93015794114035,45.008123702595],[-71.90869717532566,45.00773265112139],[-71.79871711465081,45.01051783771338],[-71.79692087460539,45.10459332839505],[-71.71618455293171,45.105532511691926]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.83763921587719,\"lat\":45.095424742146335},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2444\"],\"cd_name_en\":[\"Coaticook\"],\"csd_code\":[\"2444037\"],\"csd_name_en\":[\"Coaticook\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Coaticook\",\"csd_name_fr\":\"Coaticook\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.84239531068319,46.077195558205794],[-72.86881031973974,46.093064833458946],[-72.90486725286236,46.101455407788514],[-72.93867135298616,46.10455059901648],[-72.9296617248832,46.12843627600239],[-72.94731562854561,46.15489654786863],[-72.95842009137905,46.150247162706],[-72.95734996161968,46.13485069842061],[-72.96580200154085,46.115121643778465],[-72.99682156743793,46.11232866178249],[-72.95292896081243,46.08430904327619],[-72.94113051368548,46.08524159795705],[-72.93636012676915,46.0725404302714],[-72.88887468090209,46.04019093251178],[-72.86852804014313,46.03361779181826],[-72.86086191831043,46.04270473044273],[-72.83033431380336,46.02091684188375],[-72.82725791689472,46.03209368207483],[-72.81977666090945,46.0276387181178],[-72.8002086740712,46.01330150063634],[-72.76812002453474,46.00927584678606],[-72.73395050380728,46.03254214417556],[-72.76192844214681,46.03540919712059],[-72.7847180035641,46.05242675899031],[-72.81581799442343,46.06747208770947],[-72.84239531068319,46.077195558205794]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.87030393092836,\"lat\":46.0682277782487},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2450\"],\"cd_name_en\":[\"Nicolet-Yamaska\"],\"csd_code\":[\"2450128\"],\"csd_name_en\":[\"Saint-Fran\\u00e7ois-du-Lac\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nicolet-Yamaska\",\"csd_name_fr\":\"Saint-Fran\\u00e7ois-du-Lac\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.8847830622214,46.47476103790353],[-72.89950776968797,46.48208526442075],[-72.90694455882725,46.47268972051904],[-72.92974153820916,46.45854066827886],[-72.94142298511841,46.467562175095246],[-72.97478389284784,46.44649145555257],[-72.98766345511777,46.45527103537021],[-72.98292600332125,46.43643436216136],[-72.96953315227405,46.42345528773624],[-72.9523972485055,46.39005793201421],[-72.93675808513169,46.40127809794776],[-72.91466352139443,46.39997820573532],[-72.93827846683382,46.41766228657265],[-72.91520696336912,46.43290224101064],[-72.89239464958982,46.439364555132265],[-72.88330239845206,46.433133342703286],[-72.85676331358904,46.456573549751496],[-72.8847830622214,46.47476103790353]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.926318003595,\"lat\":46.441391726476056},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2451\"],\"cd_name_en\":[\"Maskinong\\u00e9\"],\"csd_code\":[\"2451080\"],\"csd_name_en\":[\"Charette\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Maskinong\\u00e9\",\"csd_name_fr\":\"Charette\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.1567966960984,46.04814188484589],[-73.15225907078435,46.06062290932209],[-73.1286522800764,46.07454019873999],[-73.12724936179711,46.08604496980202],[-73.10619207748351,46.102369693491696],[-73.09324674000669,46.10749565179029],[-73.08409807747321,46.124476576212174],[-73.03329519610556,46.14559456661136],[-73.01122748852255,46.15046405197153],[-72.9932638062406,46.16396120255824],[-73.00655774051549,46.16515325516394],[-73.0387442668417,46.15607544665021],[-73.10178768490935,46.13664847664946],[-73.12287636564542,46.11965146564823],[-73.15458322727889,46.103007810453796],[-73.17568991262591,46.05986031062222],[-73.17481537912245,46.05063721732167],[-73.1567966960984,46.04814188484589]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.10786722183133,\"lat\":46.109610382195925},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2452\"],\"cd_name_en\":[\"D'Autray\"],\"csd_code\":[\"2452050\"],\"csd_name_en\":[\"La Visitation-de-l'\\u00cele-Dupas\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"D'Autray\",\"csd_name_fr\":\"La Visitation-de-l'\\u00cele-Dupas\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.87342907643105,45.103855300325534],[-73.95045159604553,45.16246344945066],[-73.97281983187854,45.17963348736892],[-74.02590895850895,45.15471575687603],[-74.12410519474892,45.14548596761254],[-74.08835327545863,45.11591281161685],[-73.9961369357742,45.040917116212945],[-73.9343919335591,45.08024644159049],[-73.9021718999903,45.09464169409819],[-73.89624900239426,45.0899171537913],[-73.87342907643105,45.103855300325534]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.99347164058378,\"lat\":45.11446562637387},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2469\"],\"cd_name_en\":[\"Le Haut-Saint-Laurent\"],\"csd_code\":[\"2469037\"],\"csd_name_en\":[\"Ormstown\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Saint-Laurent\",\"csd_name_fr\":\"Ormstown\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.84357149760457,45.24150036508109],[-73.87438690911193,45.264734915933076],[-73.88244478939203,45.25244174321243],[-73.91140785951858,45.271086611590796],[-73.92308911033702,45.25950659684846],[-73.9512339788715,45.25598243936777],[-73.9478535196429,45.23842885277568],[-73.93636112897342,45.23046386843388],[-73.94323904633157,45.220129162163666],[-73.91046897811084,45.196500141559596],[-73.85767168437849,45.21815650786889],[-73.84357149760457,45.24150036508109]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.89969978873984,\"lat\":45.23446089540002},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2470\"],\"cd_name_en\":[\"Beauharnois-Salaberry\"],\"csd_code\":[\"2470030\"],\"csd_name_en\":[\"Saint-\\u00c9tienne-de-Beauharnois\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Beauharnois-Salaberry\",\"csd_name_fr\":\"Saint-\\u00c9tienne-de-Beauharnois\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.1854426300214,45.244271711587615],[-74.214379574287,45.26918878600446],[-74.23559835785957,45.29222341300718],[-74.24583857992282,45.29238122723951],[-74.26234870045145,45.28220731598741],[-74.26439606722292,45.264066527739026],[-74.24555088071496,45.25680979571884],[-74.22306650224675,45.2663581939213],[-74.1974581918909,45.23409215554977],[-74.18958071985541,45.240166241726364],[-74.1854426300214,45.244271711587615]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.23110024758975,\"lat\":45.26772911063881},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2471\"],\"cd_name_en\":[\"Vaudreuil-Soulanges\"],\"csd_code\":[\"2471033\"],\"csd_name_en\":[\"Les Coteaux\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Vaudreuil-Soulanges\",\"csd_name_fr\":\"Les Coteaux\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.03304743246697,45.84801504613391],[-74.04164856779859,45.85471823808872],[-74.02086099984804,45.87817740502642],[-74.04586302154985,45.89465272375111],[-74.05084114665888,45.90490374049313],[-74.07389496895358,45.88992519448448],[-74.079681370701,45.881132559571526],[-74.09976329878918,45.88273929740358],[-74.09744426836701,45.86526819958772],[-74.10466182639121,45.848168796564984],[-74.09073067243372,45.84704933249955],[-74.06774621748164,45.85046121779826],[-74.06504887856444,45.83848263330059],[-74.049929359378,45.8177332023755],[-74.02694978120277,45.82027980852411],[-74.03237806933844,45.83439109534852],[-74.02306863334009,45.84081053023065],[-74.03304743246697,45.84801504613391]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.05892621102487,\"lat\":45.86184032484825},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2475\"],\"cd_name_en\":[\"La Rivi\\u00e8re-du-Nord\"],\"csd_code\":[\"2475040\"],\"csd_name_en\":[\"Pr\\u00e9vost\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Rivi\\u00e8re-du-Nord\",\"csd_name_fr\":\"Pr\\u00e9vost\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.20841934750324,45.68696200179382],[-74.20391180365014,45.70507608878421],[-74.32796910175065,45.738786010369026],[-74.34756904359712,45.667640982196865],[-74.36718069119249,45.67027427975134],[-74.37992005921456,45.629289646050324],[-74.36876626784421,45.62758204954253],[-74.36100362251436,45.62132072620669],[-74.33291060097953,45.61791403015908],[-74.31680018545221,45.621955784337146],[-74.28782689498948,45.616562475219865],[-74.27920147517334,45.60535332310871],[-74.2294945002665,45.60052585925578],[-74.222827952793,45.62598456538916],[-74.26752011566212,45.632304226621365],[-74.26296973229745,45.64941098544414],[-74.24536240273461,45.64693137029151],[-74.24885809191109,45.66322836577475],[-74.26556699594161,45.68174038472994],[-74.2400910546017,45.687136156508544],[-74.23523183264642,45.69692076389692],[-74.2117785796924,45.70052694743123],[-74.20841934750324,45.68696200179382]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.29669030273271,\"lat\":45.66679117672237},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2476\"],\"cd_name_en\":[\"Argenteuil\"],\"csd_code\":[\"2476020\"],\"csd_name_en\":[\"Lachute\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Argenteuil\",\"csd_name_fr\":\"Lachute\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.40735430507064,46.61478660218484],[-75.40744981120127,46.62633422960946],[-75.44837799267685,46.62514703568173],[-75.44900673601587,46.64463775445312],[-75.47619925362105,46.64211847642047],[-75.59627752263769,46.641748140062084],[-75.59754779944134,46.7085218514777],[-75.74953880912932,46.70898560521793],[-75.74891047691803,46.57653621822288],[-75.74723902422912,46.55225195289656],[-75.74511711863536,46.43825800265482],[-75.70582159060216,46.43831635439321],[-75.68213737934336,46.43823632308419],[-75.45935695200826,46.43941336376171],[-75.44309594161028,46.438191068655144],[-75.44234113900713,46.443415006495414],[-75.46095317936359,46.46550506358958],[-75.48216126967486,46.47189957991177],[-75.5038534217445,46.49398871323075],[-75.49767798682538,46.50000312547854],[-75.40648202022751,46.501103399185254],[-75.40265118025066,46.514850997793445],[-75.41452883577479,46.5225690581406],[-75.4183774718975,46.535343037219285],[-75.39991968915945,46.54617622429598],[-75.40787418284667,46.55859548823748],[-75.42694804424735,46.55897607418842],[-75.42733689589836,46.57274870425566],[-75.4073721264019,46.57296590613191],[-75.40735430507064,46.61478660218484]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.59994086103382,\"lat\":46.56173599054667},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2479\"],\"cd_name_en\":[\"Antoine-Labelle\"],\"csd_code\":[\"2479088\"],\"csd_name_en\":[\"Mont-Laurier\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Antoine-Labelle\",\"csd_name_fr\":\"Mont-Laurier\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.29102538210991,46.61539311315517],[-75.34513309709554,46.65114586242559],[-75.32115983647358,46.66859928194747],[-75.3744818622333,46.707233486912436],[-75.35118869047608,46.724729656279635],[-75.36073930487723,46.73113376643737],[-75.43846218593735,46.78472838764395],[-75.38629549975168,46.821439789723215],[-75.49999998887321,46.89548350238353],[-75.54937121893016,46.92999044958041],[-75.67138529759549,47.017180172630134],[-75.74916876570683,47.06504983416085],[-75.75015086484252,46.83902655122479],[-75.74953880912932,46.70898560521793],[-75.59754779944134,46.7085218514777],[-75.59627752263769,46.641748140062084],[-75.47619925362105,46.64211847642047],[-75.44900673601587,46.64463775445312],[-75.44837799267685,46.62514703568173],[-75.40744981120127,46.62633422960946],[-75.40735430507064,46.61478660218484],[-75.29102538210991,46.61539311315517]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.57370805858517,\"lat\":46.80452075582891},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2479\"],\"cd_name_en\":[\"Antoine-Labelle\"],\"csd_code\":[\"2479097\"],\"csd_name_en\":[\"Ferme-Neuve\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Antoine-Labelle\",\"csd_name_fr\":\"Ferme-Neuve\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.1956299649423,46.9108858862814],[-75.33263099215588,47.004896186916284],[-75.347060209881,47.010889797493626],[-75.36657411134064,47.00424759430919],[-75.36023249741672,46.99449568938105],[-75.3658414838021,46.96802169550677],[-75.39024221064176,46.97582659547508],[-75.41792460722627,47.004402489555254],[-75.43955340760805,46.993980391078956],[-75.45695679761175,46.99355558596845],[-75.4732408914548,46.98015449621152],[-75.50369302493846,46.98391719326849],[-75.50930265313497,46.99444792454932],[-75.54870118512386,46.977414787418496],[-75.55652349284333,46.97060638761131],[-75.54328783669989,46.93899405619162],[-75.54937121893016,46.92999044958041],[-75.49999998887321,46.89548350238353],[-75.38629549975168,46.821439789723215],[-75.36993208551891,46.81080165137371],[-75.34873017568435,46.825528946282894],[-75.33257369463475,46.81550697525459],[-75.1956299649423,46.9108858862814]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.37897828925992,\"lat\":46.917284646652625},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2479\"],\"cd_name_en\":[\"Antoine-Labelle\"],\"csd_code\":[\"2479115\"],\"csd_name_en\":[\"Sainte-Anne-du-Lac\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Antoine-Labelle\",\"csd_name_fr\":\"Sainte-Anne-du-Lac\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.63003541353592,47.58609379235723],[-74.65595593084288,47.61803355228572],[-74.69855291533125,47.63342619863564],[-74.63003541353592,47.58609379235723]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.66151475323667,\"lat\":47.612517847759534},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2479\"],\"cd_name_en\":[\"Antoine-Labelle\"],\"csd_code\":[\"2479906\"],\"csd_name_en\":[\"Lac-Wagwabika\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Antoine-Labelle\",\"csd_name_fr\":\"Lac-Wagwabika\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.25794067498937,45.60888140419439],[-75.26241303108162,45.638658810129606],[-75.35871220201781,45.6321393770637],[-75.35528320255887,45.59713808971406],[-75.34526944745275,45.53680516152383],[-75.34251440313743,45.536983992126096],[-75.31699439219358,45.54617074480118],[-75.30032717843629,45.558272771819034],[-75.25412789660265,45.580179899807895],[-75.25794067498937,45.60888140419439]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.30942241121244,\"lat\":45.5952397550982},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2480\"],\"cd_name_en\":[\"Papineau\"],\"csd_code\":[\"2480060\"],\"csd_name_en\":[\"Lochaber-Partie-Ouest\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Papineau\",\"csd_name_fr\":\"Lochaber-Partie-Ouest\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.48785505836045,45.707069074817156],[-75.5000000097646,45.79155432755736],[-75.51060208109234,45.84595348269022],[-75.5392963385731,45.8441218683483],[-75.55836017349897,45.83931484449293],[-75.64116811542917,45.83390703587377],[-75.62886795679734,45.813299829813694],[-75.60618739399769,45.79182688661533],[-75.58849622581963,45.7613797401148],[-75.57846988718855,45.756368106112944],[-75.57831023241741,45.743529717319],[-75.58898967758502,45.733870705949975],[-75.58756212190704,45.71959135188334],[-75.5592910407201,45.71392705595683],[-75.52916695859862,45.7042936910168],[-75.48785505836045,45.707069074817156]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.55023644748556,\"lat\":45.779105692585006},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2482\"],\"cd_name_en\":[\"Les Collines-de-l'Outaouais\"],\"csd_code\":[\"2482010\"],\"csd_name_en\":[\"Notre-Dame-de-la-Salette\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Collines-de-l'Outaouais\",\"csd_name_fr\":\"Notre-Dame-de-la-Salette\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.93432793595947,45.76922584706393],[-75.94756135257877,45.79004277324777],[-75.93157215177723,45.794798159968515],[-75.93103000656114,45.81077220571889],[-75.91180908597751,45.820272374263446],[-75.90626407297822,45.831663532784916],[-75.91503433710876,45.837781678608955],[-75.91316727840862,45.86467227659372],[-75.89850252744938,45.866354625494345],[-75.91557675691787,45.88955869046228],[-75.91242060240938,45.90170869052855],[-76.08936713554978,45.89820524779856],[-76.15079003218052,45.89763176052168],[-76.15098478733971,45.804156068662095],[-76.15190163798744,45.7493956840665],[-76.09482865833407,45.755166060540276],[-75.93432793595947,45.76922584706393]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.03741363890425,\"lat\":45.83125900192638},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2483\"],\"cd_name_en\":[\"La Vall\\u00e9e-de-la-Gatineau\"],\"csd_code\":[\"2483010\"],\"csd_name_en\":[\"Low\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-de-la-Gatineau\",\"csd_name_fr\":\"Low\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.7052480133305,47.25622270498775],[-76.70261378514616,47.261876604581786],[-76.70431480252522,47.26437439894522],[-76.7097711730698,47.25504757446857],[-76.7052480133305,47.25622270498775]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.7057011252686,\"lat\":47.25925765273509},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2483\"],\"cd_name_en\":[\"La Vall\\u00e9e-de-la-Gatineau\"],\"csd_code\":[\"2483804\"],\"csd_name_en\":[\"Lac-Rapide\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-de-la-Gatineau\",\"csd_name_fr\":\"Lac-Rapide\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.1578132039586,46.70999690616068],[-76.15984704884687,46.76705473577374],[-76.15984376463734,46.87463687101063],[-76.15823724293425,47.00742989205666],[-76.15747982864102,47.19396811130943],[-76.15960674675715,47.33727993603516],[-76.31234594933484,47.43767941888441],[-76.42422667372175,47.5129528237768],[-76.57344931657529,47.6008267538207],[-76.57499385798978,47.46467384430797],[-76.57521350510449,47.28801119740173],[-76.78062224164132,47.28914336415932],[-77.00294301137231,47.289188634800965],[-77.00371361301552,47.14546061841584],[-76.99987223788054,47.00000016125413],[-76.79677029762588,47.0000511216771],[-76.79578172773205,46.92434202290366],[-76.79905735909811,46.80319600730345],[-76.79525190244922,46.709605595548794],[-76.7968589475329,46.64021876328704],[-76.7822363330656,46.643045827475504],[-76.75952611042246,46.65484483628833],[-76.740845050155,46.636478307646186],[-76.72496766175448,46.655119513846735],[-76.70005350024823,46.64790611987108],[-76.66272876213507,46.66749722365778],[-76.64883644044625,46.664217957731644],[-76.6304682533892,46.652099917938294],[-76.61171819559843,46.645805556494466],[-76.6176778120533,46.63289196338021],[-76.67369078915615,46.628243028503775],[-76.67323742105509,46.60339056055248],[-76.66320020781234,46.59193726352408],[-76.67882072187327,46.580530773676266],[-76.65681455672998,46.570321814835694],[-76.64205239338034,46.54385630899878],[-76.6610082569825,46.52067869282777],[-76.65950881310106,46.5151241396434],[-76.61493432073026,46.50006443585],[-76.59911714756699,46.473210329007905],[-76.57470745862054,46.45203472377967],[-76.55541775580127,46.44617082666934],[-76.5438230350224,46.42791545713378],[-76.51980941862543,46.415470354814005],[-76.53229860716223,46.39929883876255],[-76.51357674413995,46.38268149457814],[-76.5042365681395,46.34470447981236],[-76.55214346635152,46.325836987727506],[-76.57621453938214,46.33051036867985],[-76.59390551275717,46.32565089683565],[-76.59289032958623,46.31575541357173],[-76.55310540935626,46.28872826485565],[-76.52409970663405,46.25246493680306],[-76.49899969515297,46.243837229353915],[-76.48000683712803,46.24168853409608],[-76.45509600163032,46.24879915064022],[-76.43453646603596,46.26176410244376],[-76.40783501476294,46.255301074568614],[-76.3937108849702,46.259083127040256],[-76.36295690115517,46.2846360272187],[-76.34318334432038,46.28345709506152],[-76.31749704481742,46.26586799710916],[-76.316157742131,46.31705965418],[-76.23861139228903,46.315631585362866],[-76.20148641935573,46.33769409543037],[-76.17433365838387,46.36936364038588],[-76.16647662698438,46.394394843897196],[-76.15613705873949,46.394615959473086],[-76.15810709603312,46.48392434225538],[-76.15728354774919,46.57636986296268],[-76.1578132039586,46.70999690616068]],[[-76.7052480133305,47.25622270498775],[-76.7097711730698,47.25504757446857],[-76.70431480252522,47.26437439894522],[-76.70261378514616,47.261876604581786],[-76.7052480133305,47.25622270498775]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.4871867227991,\"lat\":46.92107384227261},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2483\"],\"cd_name_en\":[\"La Vall\\u00e9e-de-la-Gatineau\"],\"csd_code\":[\"2483902\"],\"csd_name_en\":[\"Lac-Pythonga\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-de-la-Gatineau\",\"csd_name_fr\":\"Lac-Pythonga\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.57004270103674,47.58265091004815],[-78.57471391471047,47.58313841045068],[-78.57860584333768,47.580251945719716],[-78.56783844642572,47.58024922487368],[-78.57004270103674,47.58265091004815]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.57301718782233,\"lat\":47.58140991884178},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2485\"],\"cd_name_en\":[\"T\\u00e9miscamingue\"],\"csd_code\":[\"2485804\"],\"csd_name_en\":[\"Winneway\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian settlement \\/ \\u00c9tablissement indien\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscamingue\",\"csd_name_fr\":\"Winneway\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.95617108978182,48.676407209559045],[-74.95071148424381,48.65559239873614],[-74.90155150409004,48.66569861139759],[-74.90483942363751,48.679529692199985],[-74.95458612056645,48.67984479303824],[-74.95617108978182,48.676407209559045]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.93076270830848,\"lat\":48.66992140868072},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2490\"],\"cd_name_en\":[\"La Tuque\"],\"csd_code\":[\"2490804\"],\"csd_name_en\":[\"Obedjiwan 28\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Tuque\",\"csd_name_fr\":\"Obedjiwan 28\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.26140357966058,49.00623759588132],[-72.24359517230458,49.014948467686004],[-72.28732593325968,49.05272945332274],[-72.2331257786587,49.08014142002633],[-72.2538357194977,49.09779626947447],[-72.2772379274593,49.11741967369299],[-72.28751989096912,49.165390436351274],[-72.28427849221076,49.171216262812344],[-72.29306768115052,49.20162610233336],[-72.29294847272115,49.21539207175246],[-72.31074498689416,49.21895902590678],[-72.4025510929968,49.172178618077744],[-72.59419365512228,49.07589037872591],[-72.59925049090089,49.07473985111548],[-72.59527858343522,49.064923703177946],[-72.56889445405008,49.05010750746741],[-72.54754033111716,49.0431803878923],[-72.49825292159318,49.03543262280765],[-72.48522415475499,49.00849102986907],[-72.43459938044886,48.99282896394982],[-72.4111591661787,48.99248739397332],[-72.39139681579088,48.99844107367254],[-72.32782736191326,49.03219137592159],[-72.33129333307494,49.047710009713335],[-72.31109399824054,49.052671442168986],[-72.26140357966058,49.00623759588132]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.3971844052596,\"lat\":49.091856542028744},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2492\"],\"cd_name_en\":[\"Maria-Chapdelaine\"],\"csd_code\":[\"2492060\"],\"csd_name_en\":[\"Notre-Dame-de-Lorette\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Maria-Chapdelaine\",\"csd_name_fr\":\"Notre-Dame-de-Lorette\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.92299569468452,48.58196708027274],[-70.9132116129909,48.58426583281893],[-70.93755579129855,48.60834037464442],[-70.93250398034485,48.618739017935724],[-70.90779911015743,48.61944174131819],[-70.86922593389863,48.633136182007725],[-70.81810777353229,48.68337633207505],[-71.209908884583,48.75248825296846],[-71.26580897504306,48.61482537123674],[-71.24598645836458,48.601757974052965],[-71.23206626721961,48.579463546230606],[-71.19762338754848,48.573740013977734],[-71.18602161561493,48.602156366086206],[-71.04610488010154,48.580485740022006],[-71.0495673581665,48.571896997400046],[-70.99920612197818,48.562031355280396],[-70.97743456025732,48.565672108794175],[-70.96130501320314,48.578253682465316],[-70.96650268174439,48.59339197761848],[-70.92299569468452,48.58196708027274]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.06776395534963,\"lat\":48.655178169367154},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2494\"],\"cd_name_en\":[\"Le Saguenay-et-son-Fjord\"],\"csd_code\":[\"2494245\"],\"csd_name_en\":[\"Saint-David-de-Falardeau\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Saguenay-et-son-Fjord\",\"csd_name_fr\":\"Saint-David-de-Falardeau\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.36450068431867,48.4814591982929],[-71.3473210174987,48.52328298612509],[-71.37752737527423,48.52912138785557],[-71.36742472037355,48.55660452524957],[-71.45806456539842,48.57320151175473],[-71.48325906632186,48.51341581507937],[-71.463183383158,48.50681214732489],[-71.4061373014512,48.48561683403969],[-71.36450068431867,48.4814591982929]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.41526185956084,\"lat\":48.52636152783384},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2494\"],\"cd_name_en\":[\"Le Saguenay-et-son-Fjord\"],\"csd_code\":[\"2494260\"],\"csd_name_en\":[\"Saint-Charles-de-Bourget\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Saguenay-et-son-Fjord\",\"csd_name_fr\":\"Saint-Charles-de-Bourget\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.2745550599911,48.85495163155535],[-68.27719554056401,49.11003787770751],[-68.28820296704257,49.109766561835436],[-68.28939838557746,49.136803096369235],[-68.32962692530518,49.1366015294656],[-68.34930634358714,49.1409861649443],[-68.34969668744071,49.15614615607468],[-68.3707168914766,49.15582181021978],[-68.38324430081936,49.17025629089254],[-68.38328579072432,49.18512598155144],[-68.43920039507621,49.185283173279764],[-68.40073261169731,49.16548724002337],[-68.40054589341447,49.14374726996531],[-68.38821362170575,49.14296055015419],[-68.37110499473377,49.13212025782599],[-68.39044445311839,49.103889501416155],[-68.39395155091758,49.09242042006294],[-68.40823524097905,49.07802258093482],[-68.4670546269271,49.059979297516485],[-68.46678895223539,49.0382146420908],[-68.45939000933566,48.966414556793154],[-68.2745550599911,48.85495163155535]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.35557110714116,\"lat\":49.017072864418594},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2496\"],\"cd_name_en\":[\"Manicouagan\"],\"csd_code\":[\"2496030\"],\"csd_name_en\":[\"Pointe-aux-Outardes\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Manicouagan\",\"csd_name_fr\":\"Pointe-aux-Outardes\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.50000000721816,50.36972833376886],[-65.49915370314407,50.63481315769966],[-65.4999357868579,50.75795801554261],[-65.49888751741402,50.821101417709926],[-65.50075784614477,50.95635156418117],[-65.49999998963983,50.99999999406459],[-65.50000000600802,51.21988974474487],[-65.49999998315329,51.389916314986664],[-65.500000001541,51.547789950370415],[-65.50000000035095,51.86055715853328],[-65.49999998495949,52.11034883477045],[-65.50175527678616,52.0980223844831],[-65.51375657105328,52.08281057883806],[-65.53066908843692,52.070800161135864],[-65.53109352698345,52.060633954914735],[-65.54844953117794,52.038933609720765],[-65.56418832653506,52.03385050220114],[-65.59828362816951,52.03489703686151],[-65.62054217180703,52.04301065543859],[-65.63672876765075,52.01165798514265],[-65.63404965869296,51.99996239075006],[-65.64680353178768,51.9872990428961],[-65.66864741472774,51.99436024457814],[-65.6781709906674,52.01349817487509],[-65.66869484935373,52.02634909502393],[-65.67991005156014,52.04150752952792],[-65.65123518326331,52.055258650583916],[-65.64856187220188,52.080920729732505],[-65.66242760079614,52.09235917403164],[-65.67482355736931,52.11763988615951],[-65.6865664629077,52.103754778177645],[-65.71392459909188,52.09616682709561],[-65.73834008846319,52.08521836645708],[-65.74942732296635,52.10990331331498],[-65.76160652846595,52.10429020060349],[-65.79736159707564,52.1056979126376],[-65.84204213469074,52.11647204048824],[-65.87698899843008,52.110405411755956],[-65.88901964024888,52.097060289396296],[-65.89771003767378,52.07606689486919],[-65.91928945261867,52.09113806214606],[-65.95478012925395,52.09987883851922],[-65.96785109372456,52.09309988936584],[-65.96143562973491,52.07741612574671],[-65.97040149108976,52.05650258191908],[-65.99619616193418,52.054737390492534],[-66.01563419368685,52.07992534501299],[-66.04959094202022,52.085429395722585],[-66.06631061415908,52.09777031339683],[-66.09691930298725,52.090728709708195],[-66.09636477143877,52.107808372161614],[-66.0781914415971,52.12465970446461],[-66.07716232326435,52.16226273251335],[-66.09793725449325,52.19545202943871],[-66.12797546324447,52.210192984925996],[-66.13841427494275,52.22457897667401],[-66.1600216618864,52.23165324844152],[-66.17697176714098,52.21329356477214],[-66.20835924411523,52.234093129463986],[-66.20572772810642,52.243875479867015],[-66.2181247724072,52.25712892774718],[-66.23728672139836,52.262841192127176],[-66.24964732384504,52.27398367878257],[-66.24869345563378,52.2895562064017],[-66.26004358503933,52.30927289227172],[-66.28961233690349,52.29674649835163],[-66.28346522621807,52.28537311844401],[-66.31256915131101,52.28551795314238],[-66.29824632529053,52.26131684032177],[-66.29939673188457,52.243243518644235],[-66.28669802684946,52.20853102731609],[-66.26411703867298,52.16518140764651],[-66.2694203700917,52.14920444782134],[-66.25705228284467,52.14869792646294],[-66.25342780372486,51.996053155502885],[-66.503232736213,51.99639946610122],[-66.50266803530438,51.94287493897205],[-66.50676849334694,51.850674822539844],[-66.51956268577197,51.85054710560691],[-66.48618970497522,51.80838808809127],[-66.49354829888428,51.7903335935516],[-66.48561837516074,51.77886241039233],[-66.45949695115186,51.76228970086981],[-66.44730820324325,51.7461061941251],[-66.44776333477951,51.73651273133797],[-66.4277828516474,51.71573372207003],[-66.38978081387559,51.69849763727795],[-66.36565221502023,51.679052095896544],[-66.3481398707414,51.672678841007226],[-66.35250000844498,51.6628206690753],[-66.34635640211933,51.64820339423082],[-66.34851504035323,51.63325414422589],[-66.38351519145517,51.61221352562998],[-66.36875463691092,51.596813062019955],[-66.37689302919674,51.58031107490664],[-66.37622841484419,51.56349446826778],[-66.36532263287752,51.53590314730161],[-66.34389928573052,51.515495358811336],[-66.32606479095166,51.51319271076124],[-66.31826363092229,51.500481561327],[-66.30074431011909,51.49382252056179],[-66.29557915549158,51.47884640822223],[-66.27736609052161,51.470536798621715],[-66.28029130379267,51.43539618020938],[-66.30324123488471,51.42066313395157],[-66.2995588119034,51.404952927867576],[-66.28435567467997,51.386445343146974],[-66.31865801309813,51.341172057375815],[-66.3171705887868,51.33221304164791],[-66.29564609660919,51.324597495565456],[-66.29353000829947,51.30782568575554],[-66.27985617289016,51.280965727113504],[-66.28940974392546,51.257387904711166],[-66.27346011931756,51.23844910517302],[-66.25080377093136,51.2266885098244],[-66.24688229642356,51.21887513030837],[-66.26706082709534,51.16796708433341],[-66.25866586407209,51.145454817598036],[-66.26268556250247,51.13455703779309],[-66.3012603046273,51.104825399533084],[-66.29232037264545,51.09330262567533],[-66.33757853644201,51.04857192981207],[-66.35660466152932,51.037692230944266],[-66.34688145606265,51.01522783557632],[-66.36649680269532,50.98661461791338],[-66.34836084273131,50.95682176640187],[-66.37429965219803,50.944390606405],[-66.37704240018995,50.928413723453545],[-66.41544389934369,50.923477430670374],[-66.42745110869723,50.912956613247914],[-66.43235568009075,50.89912405824221],[-66.44773368859768,50.882600958757116],[-66.46831476880766,50.87333317421704],[-66.46338251411339,50.85525629658292],[-66.44461390131376,50.85581300537751],[-66.40399834763991,50.839201467857634],[-66.38928122944534,50.827705527606135],[-66.38441554594296,50.79573958944556],[-66.39020680305936,50.779261363529166],[-66.34882450007834,50.75823848341307],[-66.33196292036945,50.76025322159649],[-66.29626465638844,50.731239350845264],[-66.26138166937558,50.72375396546158],[-66.24092040682503,50.73166720479047],[-66.2032105719821,50.69726550355172],[-66.20945502360375,50.67158419746558],[-66.20129593931787,50.660645975863616],[-66.19344905359762,50.61965577038371],[-66.19738636991782,50.60370003238501],[-66.19121067155166,50.593945981524115],[-66.16965696575687,50.58275419089739],[-66.15307059671304,50.59005839162693],[-66.14097243791747,50.57495253958762],[-66.1465421813932,50.56669186160142],[-66.11749603935219,50.527993394078806],[-66.11571513148662,50.51045668220645],[-66.10082832552499,50.50655904727204],[-66.09794798134081,50.49508548417183],[-66.00071351839762,50.49380907265193],[-66.00009384098176,50.50017471540017],[-65.83213240974777,50.49780170905051],[-65.62580896122905,50.496198542350065],[-65.54630517720007,50.49396843081402],[-65.54889595867812,50.470536123530955],[-65.5272480342438,50.445478343797326],[-65.53155523835085,50.4163480520449],[-65.51518782480683,50.36781588912776],[-65.50000000721816,50.36972833376886]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.92941143272695,\"lat\":51.33666871382329},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2497\"],\"cd_name_en\":[\"Sept-Rivi\\u00e8res--Caniapiscau\"],\"csd_code\":[\"2497902\"],\"csd_name_en\":[\"Rivi\\u00e8re-Nipissis\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Sept-Rivi\\u00e8res--Caniapiscau\",\"csd_name_fr\":\"Rivi\\u00e8re-Nipissis\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.2694203700917,52.14920444782134],[-66.29168236316262,52.14682974295945],[-66.3068118092247,52.13682456381585],[-66.33011323811337,52.135934659861846],[-66.33322185520088,52.150705987246894],[-66.35797671906666,52.14657759992301],[-66.37636585958278,52.15281604387561],[-66.37979047517653,52.16261116408671],[-66.35683973888719,52.17660317849237],[-66.37134425352716,52.18736177270742],[-66.38960484308093,52.21256935246882],[-66.4232644072535,52.2197577712885],[-66.43996809006781,52.23783838761508],[-66.47042344300176,52.25565522685371],[-66.432891634386,52.26617430573274],[-66.43937042611297,52.27724105164582],[-66.46876521584875,52.28466948246428],[-66.44622819595428,52.297472129365396],[-66.46467200494394,52.30647299434066],[-66.48070999316991,52.32129250847214],[-66.4905172545247,52.34163746277879],[-66.4672675063296,52.35452290342344],[-66.45332710465324,52.34838050298935],[-66.43659865317397,52.3588100045198],[-66.44110647691288,52.375809543297834],[-66.41987651394759,52.383023052196904],[-66.40980326087174,52.37452290433258],[-66.3871224359751,52.36983392910358],[-66.37018806908709,52.353940676396086],[-66.34404217533552,52.360415400985254],[-66.34649203714947,52.380764049601055],[-66.34171210642002,52.397210296418145],[-66.37290982018881,52.413038883062576],[-66.35881704527095,52.430757620569615],[-66.39080671530704,52.46593752919496],[-66.3725096830619,52.47317978597117],[-66.35558376464536,52.47322058085752],[-66.35812269629928,52.48825124413395],[-66.37025347130107,52.51301723291694],[-66.39546650659287,52.52439962571656],[-66.3901136306666,52.53153586556184],[-66.36518466133624,52.5311232234694],[-66.36524570801123,52.554171194938455],[-66.37467289157667,52.57275099624563],[-66.4057939052375,52.60491869346547],[-66.44027591727271,52.63640042637976],[-66.41636229033084,52.64204421317907],[-66.41757012225798,52.651200752675955],[-66.4022429929703,52.67453544653812],[-66.38865738287429,52.682284200892965],[-66.36613167109978,52.66739658082681],[-66.36317412798876,52.66001460282282],[-66.34077234957711,52.64544991004398],[-66.31997617368818,52.61343655000396],[-66.30930252235723,52.60459012162563],[-66.284572225226,52.604219325424964],[-66.2773800726315,52.63444974441337],[-66.31149895986209,52.65895089756043],[-66.313717164648,52.669667307403266],[-66.33877266814834,52.68461678292936],[-66.33736627590365,52.70140422458297],[-66.30833176111956,52.72859107462274],[-66.33183213316357,52.741474436470504],[-66.33084112624955,52.7611395817784],[-66.35126947169464,52.78410375112438],[-66.34427681871009,52.79540127566214],[-66.35417960033972,52.802558547607084],[-66.38145855311438,52.79444318091295],[-66.37747347483949,52.81407482848847],[-66.41388278172221,52.84867394454346],[-66.41071410327108,52.872388683215554],[-66.39856235699379,52.87886757792098],[-66.3794204528507,52.877468193818395],[-66.36874556983348,52.86311035645825],[-66.33963909540428,52.86375694760827],[-66.32054977755213,52.85663787269886],[-66.3049981704691,52.84101289294179],[-66.28323641247825,52.833379512515734],[-66.27371611186904,52.846060506663854],[-66.29462932391732,52.860120140979156],[-66.27018721798103,52.86582391094988],[-66.26085965710868,52.87431188148426],[-66.27615948520203,52.883789828868586],[-66.27274461286865,52.896016794759454],[-66.2950528953207,52.9185517419548],[-66.31162677148447,52.92668523406846],[-66.32195414162432,52.93893308962127],[-66.32668273947131,52.972628907250254],[-66.35489398501676,53.00005714742936],[-66.36077104399116,53.01439036606385],[-66.3935261853852,53.02117107256396],[-66.43183464116832,53.04820259590278],[-66.47498908910207,53.042520024575616],[-66.47432089316932,53.02231707804567],[-66.46190149724448,53.00011528096224],[-66.4696120902836,52.9909716637982],[-66.48872690441372,52.98572262379217],[-66.48832063798453,52.96043569141974],[-66.50700827762492,52.95012304256365],[-66.53054426105915,52.94837695657182],[-66.54777945064001,52.94106194612986],[-66.57699597269048,52.936786870957214],[-66.60174082177886,52.94979803519786],[-66.62555377300188,52.95424326297334],[-66.63291108706676,52.931343681429915],[-66.65028770692835,52.92187629414399],[-66.63210200621529,52.900833246987965],[-66.64930278634209,52.899643506160416],[-66.66369843112764,52.88546428307917],[-66.64508110739507,52.87263119122023],[-66.65561728284571,52.86638889068244],[-66.64504509706731,52.852819153034275],[-66.66477961403028,52.83089156361128],[-66.66486418451275,52.814678534622736],[-66.64606237877021,52.788923467313694],[-66.65081208044684,52.780625945622106],[-66.68019121184511,52.79104668874197],[-66.6863689402211,52.78350715440752],[-66.6863117951891,52.76370009424803],[-66.71935735975879,52.76356219315123],[-66.74624048210332,52.77333089814978],[-66.77286556579648,52.79726762420296],[-66.78679535428029,52.7974189322407],[-66.77494047180625,52.775239966926904],[-66.7537463136731,52.7514881015778],[-66.75548259822162,52.72047451583512],[-66.74757526912914,52.70304430451858],[-66.77212673750932,52.69620359775902],[-66.7575388190811,52.67332728092101],[-66.76467600821302,52.666235003830295],[-66.78604788187982,52.673027940339814],[-66.8010373877668,52.70865265126206],[-66.81683540626416,52.71125696373791],[-66.8361944611376,52.7457963226275],[-66.85986494575893,52.76836278754847],[-66.86610568370472,52.76400175151428],[-66.85370000649013,52.721144817430734],[-66.86676240882178,52.71870190854955],[-66.89116726555524,52.73255023524683],[-66.89758103252672,52.72744309716739],[-66.87653011195289,52.71345220614794],[-66.84908448361753,52.677877744744734],[-66.87233838831696,52.68097207215586],[-66.89446011479197,52.67666170529195],[-66.91731068029428,52.715208980581544],[-66.94387519736887,52.73689325339633],[-66.94926524160962,52.75958268545348],[-66.97641218193716,52.75357418396718],[-66.97846047621645,52.700854927294635],[-67.44884273778221,52.69967219815159],[-67.44679792415324,52.866305656167576],[-67.25242135877069,52.86786253965283],[-67.26853269607587,52.87771071401852],[-67.29984503539382,52.884475991107216],[-67.31682445995955,52.875447679155535],[-67.34185734656495,52.896214035486864],[-67.3329086077508,52.90721964055516],[-67.3421157264093,52.9160631227908],[-67.65952175632019,52.917557519056466],[-67.83938632440737,52.91854751375863],[-68.19749385598067,52.91734177195346],[-68.37642769508292,52.91766196828999],[-68.55417019248638,52.918337095282496],[-68.89833676329556,52.91713500141481],[-69.37343479422644,52.916169586325374],[-69.67367523810658,52.91613840785698],[-69.82249998256505,52.91668046727391],[-69.89344505819338,52.91495722083252],[-70.0000000082574,52.91838484634391],[-70.02476184740031,52.91883026575252],[-70.02391715732794,52.69636036173543],[-70.02447521580235,52.453824133527036],[-70.02596450014829,52.169343749332],[-70.02511732171047,52.05322827664431],[-70.02440214919937,51.8215179051565],[-70.02255738423155,51.663316223107834],[-70.02485800804408,51.56248782738822],[-69.834240868102,51.566199976048274],[-69.59230058539411,51.5655237944825],[-69.3508881468746,51.567195654038805],[-69.11752153486,51.56736810047873],[-68.908331758967,51.57176060059222],[-68.74039864166173,51.567240937271066],[-68.56549987030813,51.57015615287164],[-68.39639029907924,51.567008050536685],[-68.22897042295611,51.5625602920145],[-67.92475638712271,51.56353233194854],[-67.69042105106143,51.56412500390045],[-67.53848117417705,51.56578492087529],[-67.18654377955667,51.56811041970923],[-66.98866755153708,51.56721169211405],[-66.9898190426386,51.69290264954416],[-66.98780792194094,51.850949739828096],[-66.67245343428631,51.848897630720394],[-66.51956268577197,51.85054710560691],[-66.50676849334694,51.850674822539844],[-66.50266803530438,51.94287493897205],[-66.503232736213,51.99639946610122],[-66.25342780372486,51.996053155502885],[-66.25705228284467,52.14869792646294],[-66.2694203700917,52.14920444782134]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.2867434702853,\"lat\":52.247954585586875},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2497\"],\"cd_name_en\":[\"Sept-Rivi\\u00e8res--Caniapiscau\"],\"csd_code\":[\"2497906\"],\"csd_name_en\":[\"Rivi\\u00e8re-Mouchalagane\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Sept-Rivi\\u00e8res--Caniapiscau\",\"csd_name_fr\":\"Rivi\\u00e8re-Mouchalagane\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-58.06642313988782,51.250060148990094],[-58.073851108829686,51.29428480093379],[-58.06444899425332,51.31058388623017],[-58.055496695470836,51.35680940013806],[-58.02900532064427,51.37520589364389],[-58.01817628076756,51.39017399976595],[-58.024958701137095,51.399811203005925],[-58.05049071836315,51.40473020165301],[-58.048255808467516,51.42150438960467],[-58.0749257084486,51.43706560281359],[-58.074451392101686,51.44476760850697],[-58.42981853452518,51.44252526326187],[-58.430579020117776,51.36434278837339],[-58.52184512385386,51.365009022537855],[-58.86425608713608,51.36550408354767],[-58.86678536846558,51.17014201602461],[-58.86037191347214,51.17024324145203],[-58.834827615129726,51.1418678951747],[-58.87394571913791,51.103574795316305],[-58.855813026899376,51.09094004520213],[-58.841520088641495,51.09047259195449],[-58.825970918688995,51.059198555676424],[-58.80620563920587,51.05882269713005],[-58.80778640499086,51.025602845668445],[-58.80375774745947,50.984451297864695],[-58.807710333420395,50.90348864772415],[-58.74671601068899,50.92980057398747],[-58.58961202570664,50.99970965293357],[-58.452133491826395,51.05646662115408],[-58.06425699174814,51.219123290110566],[-58.06642313988782,51.250060148990094]],[[-58.69085960460776,51.213119369368016],[-58.6960650844921,51.22570094519407],[-58.67080557711992,51.234883386399986],[-58.66218990797988,51.21966868026155],[-58.69085960460776,51.213119369368016]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-58.489624174536985,\"lat\":51.224861626559594},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2498\"],\"cd_name_en\":[\"Minganie--Le Golfe-du-Saint-Laurent\"],\"csd_code\":[\"2498012\"],\"csd_name_en\":[\"Saint-Augustin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Minganie--Le Golfe-du-Saint-Laurent\",\"csd_name_fr\":\"Saint-Augustin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-60.67393381035168,50.21800348202233],[-60.66736256447131,50.21138822985881],[-60.648136364948996,50.217958384949846],[-60.67393381035168,50.21800348202233]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-60.66314424659066,\"lat\":50.215783365610335},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2498\"],\"cd_name_en\":[\"Minganie--Le Golfe-du-Saint-Laurent\"],\"csd_code\":[\"2498804\"],\"csd_name_en\":[\"Romaine 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Minganie--Le Golfe-du-Saint-Laurent\",\"csd_name_fr\":\"Romaine 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.70839921750778,45.08554136600746],[-74.75715104380507,45.14470379554705],[-74.75243989258226,45.15068096921147],[-74.7862008951187,45.18819269257165],[-74.843299194945,45.16456596165313],[-74.94753701036888,45.123453390158744],[-74.96953989470168,45.11300139550946],[-74.99986899105329,45.1477348786526],[-75.05858115385496,45.12412468349193],[-75.15661996633087,45.08697020473953],[-75.1147259866458,45.027764497061646],[-75.04322396278017,44.94055864489384],[-75.00481793921165,44.95861429560247],[-74.99282148546862,44.97745529836836],[-74.97248787014252,44.98346551362614],[-74.90801379008397,44.9835038150935],[-74.88753438651705,45.00006705626791],[-74.86633199645631,45.00045830220382],[-74.83370434722227,45.01478414886835],[-74.8444020099016,45.03086548072619],[-74.79909379734451,45.04829850832026],[-74.70839921750778,45.08554136600746]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.93779785116439,\"lat\":45.06917719082794},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3501\"],\"cd_name_en\":[\"Stormont\",\"Dundas and Glengarry\"],\"csd_code\":[\"3501011\"],\"csd_name_en\":[\"South Stormont\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Stormont, Dundas and Glengarry\",\"csd_name_fr\":\"South Stormont\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.10370131192441,45.30923274213961],[-75.08654304048191,45.29611653506461],[-75.07380762822116,45.299912302484834],[-75.0852432035249,45.327994476172925],[-75.11063609572356,45.32093350851436],[-75.10370131192441,45.30923274213961]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.09090111198576,\"lat\":45.31234780723852},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3502\"],\"cd_name_en\":[\"Prescott and Russell\"],\"csd_code\":[\"3502044\"],\"csd_name_en\":[\"Casselman\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Prescott and Russell\",\"csd_name_fr\":\"Casselman\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.2334983116261,44.305228481488506],[-76.2362625061133,44.35591581013575],[-76.23958310139395,44.372708310406374],[-76.25210899439351,44.48028449807448],[-76.26812404803871,44.47353414173301],[-76.28053845970959,44.45839597910275],[-76.29572090094649,44.4481570415211],[-76.30772072498903,44.42742760704793],[-76.31821852586556,44.399891872884574],[-76.33461175432359,44.378721677103805],[-76.35679914083164,44.36403142556882],[-76.38746425986419,44.35621766029665],[-76.3982848172831,44.346074513896724],[-76.56820027455736,44.338689152226465],[-76.56821225230817,44.357325476036564],[-76.6480711968227,44.355757011150686],[-76.71279459664213,44.35179371049682],[-76.7012005858697,44.33325389377906],[-76.64409809975102,44.250323105957236],[-76.59028334907376,44.16161063536936],[-76.54470869562657,44.18330345961026],[-76.508392639822,44.187662765296],[-76.49048899661389,44.18222310442426],[-76.47342023000935,44.19027663166135],[-76.47680529580286,44.20041190538975],[-76.4688613015955,44.21314757390657],[-76.41828693756001,44.22511263980063],[-76.39192663836042,44.235067418819106],[-76.3804149311043,44.250088123383975],[-76.3617504377099,44.25614381988691],[-76.29045169468787,44.29671524357446],[-76.26452024446948,44.30395574568165],[-76.2334983116261,44.305228481488506]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.46181689104858,\"lat\":44.30048179283372},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3510\"],\"cd_name_en\":[\"Frontenac\"],\"csd_code\":[\"3510010\"],\"csd_name_en\":[\"Kingston\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Frontenac\",\"csd_name_fr\":\"Kingston\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.60849872224345,44.85779917268889],[-76.63248644681487,44.89957085940836],[-76.75581615444733,44.86762774056246],[-76.80894037178042,44.855858076649724],[-76.91653611042403,44.82451762522489],[-76.97864411314852,44.80824851118485],[-76.99900870492387,44.80832280628618],[-77.11816285345353,44.77700955475373],[-77.03219156421642,44.611959620435954],[-76.92464823183401,44.63847999764062],[-76.84072867484346,44.52356558497959],[-76.76750506172715,44.52081193412857],[-76.7179620023392,44.52205171111433],[-76.63602334897996,44.530183416860616],[-76.66687877342765,44.656261288893646],[-76.67742990067514,44.703154675723766],[-76.64054264199528,44.71272558291745],[-76.54459715744127,44.74069487934262],[-76.60849872224345,44.85779917268889]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.81308270282054,\"lat\":44.71245590893089},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3510\"],\"cd_name_en\":[\"Frontenac\"],\"csd_code\":[\"3510035\"],\"csd_name_en\":[\"Central Frontenac\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Frontenac\",\"csd_name_fr\":\"Central Frontenac\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.75449185256193,44.23869047328767],[-77.7723854533814,44.23750260167919],[-77.83065295142976,44.22097696099501],[-77.8123522922213,44.1878246927396],[-77.85154287943494,44.17789133380962],[-77.78385058142642,44.02663150325257],[-77.75402232045735,43.96364082942463],[-77.64124997200034,43.99289602957799],[-77.66410822211336,44.037961842748004],[-77.68879781715252,44.09125508451606],[-77.68507901564384,44.09217089216818],[-77.71142705756108,44.14648427572158],[-77.75449185256193,44.23869047328767]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.75069143338524,\"lat\":44.09760547200382},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3514\"],\"cd_name_en\":[\"Northumberland\"],\"csd_code\":[\"3514004\"],\"csd_name_en\":[\"Brighton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Northumberland\",\"csd_name_fr\":\"Brighton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.05900159230305,42.67053683199963],[-80.08719892536669,42.667799681341926],[-80.1249637418102,42.78920960568841],[-80.13358290851987,42.78953120879209],[-80.16220326215624,42.86867373585257],[-80.17337832021873,42.86686584914703],[-80.17017680262332,42.88667079455049],[-80.17586580472293,42.9038232067166],[-80.14705229628498,42.908243808822256],[-80.1850082019517,43.011092406089354],[-80.24309798564408,43.03193429645174],[-80.37072849453195,43.01316629473397],[-80.37003349496102,43.01153259422174],[-80.54342299281667,42.98486320070132],[-80.50538490877898,42.88408129034426],[-80.70102660135544,42.85514998994221],[-80.70069863599628,42.848348923685045],[-80.71478819756229,42.83027046419256],[-80.72701699200414,42.845801565400315],[-80.74463614616927,42.823983762753805],[-80.71713209265545,42.78820722854091],[-80.71781140236358,42.73589799007812],[-80.72369444844708,42.50780935324754],[-80.43025981764221,42.50664240761331],[-80.24864289181127,42.50737628016592],[-80.15560221015306,42.52147021229977],[-80.05044687801296,42.535748819779094],[-80.0261207015651,42.5450562355021],[-80.01767554995102,42.559373017769545],[-80.05900159230305,42.67053683199963]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.39230648990258,\"lat\":42.730201588810274},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3528\"],\"cd_name_en\":[\"Haldimand-Norfolk\"],\"csd_code\":[\"3528052\"],\"csd_name_en\":[\"Norfolk County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Haldimand-Norfolk\",\"csd_name_fr\":\"Norfolk County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.29583380802517,44.315285902876504],[-81.5064016890134,44.40043840060706],[-81.55310248470457,44.42083423970144],[-81.62829565672972,44.34576263992063],[-81.64050640616566,44.32200566713999],[-81.65963549954743,44.252830377862516],[-81.68326571891815,44.197653343709675],[-81.69906903618356,44.17772176413897],[-81.65734722454397,44.16042326046398],[-81.47718089402237,44.088977791113464],[-81.43056780348968,44.14888521026899],[-81.37605930667142,44.22183879979726],[-81.29583380802517,44.315285902876504]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.51001077425319,\"lat\":44.256887039155835},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3541\"],\"cd_name_en\":[\"Bruce\"],\"csd_code\":[\"3541024\"],\"csd_name_en\":[\"Kincardine\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Bruce\",\"csd_name_fr\":\"Kincardine\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.2934698403056,44.69776830057572],[-81.30682654731572,44.6910988002677],[-81.30309525008211,44.67979309435888],[-81.28786525140512,44.66952510288564],[-81.27268138199265,44.66831970439742],[-81.27920990101983,44.69057363582104],[-81.2934698403056,44.69776830057572]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.28942034280055,\"lat\":44.682776027150375},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3541\"],\"cd_name_en\":[\"Bruce\"],\"csd_code\":[\"3541056\"],\"csd_name_en\":[\"Chief's Point No. 28\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Bruce\",\"csd_name_fr\":\"Chief's Point No. 28\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.73609480697095,45.87161654922429],[-80.73389073228631,45.8571161100276],[-80.71045414590068,45.85805809018224],[-80.71202642940436,45.840330601205444],[-80.72521094041461,45.832910502647245],[-80.71454123699695,45.821867302292745],[-80.67781915711225,45.81184171114031],[-80.66815554094295,45.79753285221175],[-80.55794612581772,45.85017541638671],[-80.56232841277726,45.87208801748669],[-80.55624637948722,45.892023626641205],[-80.6071700306595,45.89088089590652],[-80.6250818493354,45.887718895382726],[-80.66695873975087,45.889613103631696],[-80.6949786536218,45.885029005826425],[-80.69362226189686,45.872344767726375],[-80.73609480697095,45.87161654922429]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.64345708548056,\"lat\":45.85302033451323},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3549\"],\"cd_name_en\":[\"Parry Sound\"],\"csd_code\":[\"3549075\"],\"csd_name_en\":[\"Henvey Inlet 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Parry Sound\",\"csd_name_fr\":\"Henvey Inlet 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.1953155341278,45.87051897045864],[-79.19062755313179,45.87167746525499],[-79.22797387241012,45.94209414866765],[-79.25768678035968,45.9940771364959],[-79.36270591387077,45.965806903651334],[-79.4136432992851,45.95034976723997],[-79.41626291241768,45.94966810726842],[-79.36463701638937,45.85435926837252],[-79.35520024498692,45.83724680762503],[-79.35082199726682,45.82880282624259],[-79.1953155341278,45.87051897045864]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.30354195765662,\"lat\":45.91140761448205},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3549\"],\"cd_name_en\":[\"Parry Sound\"],\"csd_code\":[\"3549095\"],\"csd_name_en\":[\"Parry Sound\",\"Unorganized\",\"North East Part\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Parry Sound\",\"csd_name_fr\":\"Parry Sound, Unorganized, North East Part\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.42752610196116,45.82355232816538],[-82.4936032693672,45.825056854453074],[-82.55205564932753,45.82390987124076],[-82.5753455229249,45.831208760556464],[-82.57537100476642,45.851056972458],[-82.62247215069115,45.87615434898114],[-82.67919727886616,45.88090686520165],[-82.74742863608378,45.88266258036501],[-82.7503236302466,45.831321697278554],[-82.75133822303854,45.781761833891075],[-82.75092382808343,45.70921733754246],[-82.74726648340587,45.60753863018941],[-82.74196036807052,45.50328263109703],[-82.55676470996802,45.50431853105246],[-82.55950239998218,45.75440477676812],[-82.54899234500525,45.7469992004317],[-82.53591283389926,45.75291840984129],[-82.50871094645349,45.74021161334218],[-82.51248043509088,45.73033279716345],[-82.47990454114512,45.720300504280445],[-82.48383965200999,45.70779219365251],[-82.45389494120778,45.69797021587516],[-82.4289688568641,45.69496470795134],[-82.42752610196116,45.82355232816538]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.62839591098438,\"lat\":45.702082844475406},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3551\"],\"cd_name_en\":[\"Manitoulin\"],\"csd_code\":[\"3551028\"],\"csd_name_en\":[\"Burpee and Mills\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Manitoulin\",\"csd_name_fr\":\"Burpee and Mills\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.00185053876336,45.96938625179837],[-82.01409766397795,45.966560794836354],[-82.01540201278227,45.95133861203812],[-81.97837938073786,45.950821632776076],[-81.97300002178697,45.96968359198469],[-82.00185053876336,45.96938625179837]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.99462176928962,\"lat\":45.960235793579606},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3551\"],\"cd_name_en\":[\"Manitoulin\"],\"csd_code\":[\"3551041\"],\"csd_name_en\":[\"Sucker Creek 23\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Manitoulin\",\"csd_name_fr\":\"Sucker Creek 23\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-86.50000001953494,48.74999998796178],[-86.49999999080863,48.69225421082101],[-86.31447081908564,48.69223404556506],[-86.240069429277,48.69274533675844],[-86.23971145382019,48.74797087456968],[-86.24176163217798,48.80105969045326],[-86.50142928718871,48.79949363116363],[-86.50000001953494,48.74999998796178]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-86.37006884505632,\"lat\":48.746288696119514},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3558\"],\"cd_name_en\":[\"Thunder Bay\"],\"csd_code\":[\"3558059\"],\"csd_name_en\":[\"Marathon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Thunder Bay\",\"csd_name_fr\":\"Marathon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-95.69765848616159,49.413928173779986],[-96.1033074924959,49.41395841667389],[-96.37469991619261,49.41389301035568],[-96.37642041433807,49.355114364943766],[-96.37614444358991,49.2714963572901],[-96.37447498700178,49.267020193036544],[-96.23959146596486,49.266090352679306],[-96.23921539611484,49.17823359854563],[-96.24724520523571,49.17823000444074],[-96.24739843008139,49.00018185594539],[-95.93408605592022,48.99989698114911],[-95.57402168294232,48.99936445608941],[-95.30590949340875,48.99891711105131],[-95.30571809085613,49.015227250387944],[-95.30558175746503,49.02347394810813],[-95.30606285378148,49.088889663855525],[-95.44139492761393,49.089023260547975],[-95.44203735549453,49.177895809779315],[-95.6972436446127,49.17729584938004],[-95.69765848616159,49.413928173779986]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-95.90831992378213,\"lat\":49.19085866194515},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4601\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4601039\"],\"csd_name_en\":[\"Piney\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Piney\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.07018813966467,49.96282085303332],[-97.06033659093187,49.97794598195512],[-97.03885056137075,49.99895654030466],[-97.04260229404089,50.018418440082336],[-97.03224663863466,50.02865676186599],[-97.11508689342861,50.063835489120976],[-97.18391818674044,50.063853791855145],[-97.18387300801923,49.97546110780632],[-97.16102868444169,49.97541590009437],[-97.16097439917637,49.99037358894207],[-97.14939858607227,49.99386720320967],[-97.07301123298495,49.959872044135444],[-97.07018813966467,49.96282085303332]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.11573433924922,\"lat\":50.0172047623177},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4613\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4613037\"],\"csd_name_en\":[\"West St. Paul\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"West St. Paul\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-100.33409789460946,50.53541166511138],[-100.31234467791778,50.5281282054026],[-100.27733050927513,50.53702799854867],[-100.26544499778424,50.55026390861797],[-100.26555345421946,50.56560899454205],[-100.27736229613801,50.5791292079445],[-100.33475836752406,50.579463117810675],[-100.33409789460946,50.53541166511138]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.30243935232474,\"lat\":50.55601556807056},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4615\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4615067\"],\"csd_name_en\":[\"Keeseekoowenin 61\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Keeseekoowenin 61\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-99.81548070892944,50.244364792328184],[-99.81521039130674,50.26303816051166],[-99.88444230202225,50.26257054647012],[-99.88451319945025,50.24050759485483],[-99.87604691330309,50.23284530125165],[-99.8207597824212,50.23326499876992],[-99.81548070892944,50.244364792328184]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-99.84991082686281,\"lat\":50.24829739960421},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4615\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4615075\"],\"csd_name_en\":[\"Minnedosa\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Minnedosa\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.29676905737298,51.91382664630194],[-97.31067701628179,51.926791187161434],[-97.34090752650918,51.91903349377659],[-97.30953286398602,51.88380482072205],[-97.26862247065263,51.88514800624833],[-97.27279395054241,51.89578522967072],[-97.28740235171334,51.89918644936506],[-97.29676905737298,51.91382664630194]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.3060443118467,\"lat\":51.903183317710344},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4619\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4619061\"],\"csd_name_en\":[\"Jackhead 43\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Jackhead 43\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.25892682150825,52.12151378629049],[-101.27946650256993,52.11448859056483],[-101.27535190287367,52.09310593658589],[-101.24646039483126,52.10395629669882],[-101.24318168684024,52.1112200556524],[-101.25892682150825,52.12151378629049]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.26307593614295,\"lat\":52.1082080878613},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4620\"],\"cd_name_en\":[\"Division No. 20\"],\"csd_code\":[\"4620048\"],\"csd_name_en\":[\"Swan River\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 20\",\"csd_name_fr\":\"Swan River\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-99.21076204161378,53.191611737369556],[-99.21257855351031,53.18010335515587],[-99.24412456514803,53.181846846027284],[-99.25938586328142,53.17417213812573],[-99.26090393860096,53.15903944399367],[-99.2735522597973,53.145082821713835],[-99.26077189572301,53.137084603241306],[-99.22773383582472,53.13568925995163],[-99.2070154557485,53.17529205584767],[-99.21076204161378,53.191611737369556]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-99.23890334820176,\"lat\":53.159329905799076},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4621\"],\"cd_name_en\":[\"Division No. 21\"],\"csd_code\":[\"4621027\"],\"csd_name_en\":[\"Grand Rapids 33\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 21\",\"csd_name_fr\":\"Grand Rapids 33\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-95.56740250869693,56.0745988679307],[-95.58109201083967,56.08498044409051],[-95.60284325851491,56.089944273953535],[-95.62265166609924,56.08243035428883],[-95.62075662291745,56.06541965160146],[-95.63687126348636,56.053881639194586],[-95.61386787887456,56.04891440407334],[-95.56723262216039,56.058187142681746],[-95.56740250869693,56.0745988679307]],[[-95.59482693699293,56.06932371963335],[-95.5996490307333,56.06679371630852],[-95.60111115169347,56.0688102679945],[-95.5967631030997,56.068903869514465],[-95.59592863351524,56.06908482630002],[-95.59482693699293,56.06932371963335]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-95.5986866945552,\"lat\":56.06845656856799},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4622\"],\"cd_name_en\":[\"Division No. 22\"],\"csd_code\":[\"4622064\"],\"csd_name_en\":[\"Ilford\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian settlement \\/ \\u00c9tablissement indien\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 22\",\"csd_name_fr\":\"Ilford\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-99.47030748489313,56.333267610933746],[-99.35774782596383,56.33358785914914],[-99.36040816448424,56.50907392534993],[-99.37753810559359,56.50889567158664],[-99.3780507297285,56.595121096726146],[-99.91637960584026,56.59488583018715],[-99.93605079740654,56.59391600831381],[-100.17346393562994,56.594872815721295],[-100.17487283455769,56.50485844658496],[-100.15011868974152,56.50463919594498],[-100.14899190300785,56.330483430359074],[-100.00915121095531,56.32830541562374],[-99.74133179532939,56.33112941862998],[-99.56573734135027,56.33316302084528],[-99.47030748489313,56.333267610933746]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-99.76280929676138,\"lat\":56.463182189156825},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4623\"],\"cd_name_en\":[\"Division No. 23\"],\"csd_code\":[\"4623034\"],\"csd_name_en\":[\"Leaf Rapids\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 23\",\"csd_name_fr\":\"Leaf Rapids\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-92.08991368891706,55.83418765805091],[-92.06535657809083,55.826131622938924],[-92.03372623839726,55.85620278323523],[-92.13048808077936,55.887956825930004],[-92.16130444223116,55.857432765968255],[-92.08991368891706,55.83418765805091]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-92.09772565804923,\"lat\":55.85697794348831},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4623\"],\"cd_name_en\":[\"Division No. 23\"],\"csd_code\":[\"4623071\"],\"csd_name_en\":[\"Shamattawa 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 23\",\"csd_name_fr\":\"Shamattawa 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.49794006090207,49.13557206276088],[-103.4757147809619,49.137757482162826],[-103.47572150923651,49.14486959181289],[-103.49792150837551,49.1448817018867],[-103.49794006090207,49.13557206276088]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.48731961340228,\"lat\":49.14074525670446},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4702\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4702002\"],\"csd_name_en\":[\"Torquay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Torquay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.91966889846549,49.580764708709964],[-104.91973258153791,49.566550361217345],[-104.90901450772857,49.566582098549034],[-104.90841517744879,49.58098126501092],[-104.91966889846549,49.580764708709964]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.9141950125062,\"lat\":49.57377741841958},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4702\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4702058\"],\"csd_name_en\":[\"Ogema\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Ogema\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.46339839266993,50.04707808915013],[-104.8729696870742,50.04704381437204],[-104.87256846378244,49.98891453483647],[-104.87410426270355,49.87170566853261],[-104.85123996473912,49.871584197475],[-104.85173619650867,49.78472109625454],[-104.44547284746993,49.78459545363412],[-104.44534120320965,49.87212820048131],[-104.46343258945979,49.87215040273807],[-104.46339839266993,50.04707808915013]],[[-104.52753469572227,50.0000964706831],[-104.50889470744697,50.00000756182161],[-104.50888868077999,49.98650368800412],[-104.5276594475018,49.98660671734079],[-104.52753469572227,50.0000964706831]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.66204716978875,\"lat\":49.91589883907137},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4702\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4702066\"],\"csd_name_en\":[\"Caledonia No. 99\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Caledonia No. 99\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.49316136442198,50.06372726098192],[-101.49326378313867,50.07847990534978],[-101.50445913630213,50.07139723439539],[-101.5039409855724,50.06389214343654],[-101.49316136442198,50.06372726098192]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.49812733055145,\"lat\":50.06960854876331},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705002\"],\"csd_name_en\":[\"Fleming\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Fleming\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.79227169143792,50.396857720514724],[-104.06808051229793,50.396860100737676],[-104.06775929924062,50.222198298200595],[-104.05374078954102,50.222201888178034],[-104.0538213985051,50.047133094983266],[-103.64424810839826,50.04721760087365],[-103.64419078846933,50.19286180376947],[-103.64597794604147,50.22211903966704],[-103.65589450146437,50.22211200559637],[-103.65631185906099,50.39690564148039],[-103.79227169143792,50.396857720514724]],[[-103.86469719481994,50.09855154491611],[-103.87186007381268,50.09845586688872],[-103.87188200371143,50.10546279855063],[-103.86069763122323,50.10545245361532],[-103.86469719481994,50.09855154491611]],[[-103.94273398741797,50.330925412642486],[-103.95421889310086,50.330825525691004],[-103.95413600679214,50.33828659972129],[-103.94259878873532,50.33828109603706],[-103.94273398741797,50.330925412642486]],[[-103.77773325582524,50.27975827466472],[-103.79324920849007,50.27978244633524],[-103.79321853819773,50.28698891676074],[-103.77367932217471,50.287117881940084],[-103.77773325582524,50.27975827466472]],[[-104.01965171676248,50.16368000982434],[-104.0196996371636,50.178727258387624],[-104.00839139108989,50.17822089222724],[-104.00835678131598,50.16365019475387],[-104.01965171676248,50.16368000982434]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.85537808053958,\"lat\":50.222251935087094},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706004\"],\"csd_name_en\":[\"Francis No. 127\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Francis No. 127\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.98468763421094,50.41134890591655],[-104.97070820301433,50.411549846336825],[-104.97066898128556,50.418694151835474],[-104.99357396306632,50.41862834869524],[-104.98468763421094,50.41134890591655]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.98012803023968,\"lat\":50.415341896420166},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706023\"],\"csd_name_en\":[\"Pense\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Pense\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.80885547128184,50.7733329986706],[-103.81993597042143,50.77297805204249],[-103.8410133737131,50.783161247987536],[-103.83992849289709,50.77950553850491],[-103.82559922148094,50.77556690274449],[-103.81280570121834,50.76884529946124],[-103.80867084615932,50.76863540831389],[-103.80885547128184,50.7733329986706]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.82228441827986,\"lat\":50.77464795056689},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706052\"],\"csd_name_en\":[\"B-Say-Tah\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Resort village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"B-Say-Tah\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.71752492309017,50.93449518045675],[-104.70530997494346,50.928330313146894],[-104.70533373113624,50.94263907676061],[-104.7172394406992,50.94279167856707],[-104.71752492309017,50.93449518045675]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.71082654607123,\"lat\":50.93689684810015},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706079\"],\"csd_name_en\":[\"Earl Grey\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Earl Grey\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.75984739390027,51.157307189291636],[-108.76628818303246,51.14851386706501],[-108.75990728321685,51.13914260599893],[-108.74824119545572,51.137781415001825],[-108.74821331016601,51.150689190220206],[-108.75984739390027,51.157307189291636]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.75623785874608,\"lat\":51.14682253258611},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4708\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4708076\"],\"csd_name_en\":[\"Eston\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Eston\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.43100351560496,51.61468144834998],[-102.41993807746603,51.630201909211706],[-102.43123389157103,51.65217301004266],[-102.44271930287225,51.652182845633966],[-102.45470700266823,51.645172069715905],[-102.45451201831311,51.62274959557507],[-102.43270904265076,51.622763669671905],[-102.43100351560496,51.61468144834998]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.4386740166562,\"lat\":51.63549858511773},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709032\"],\"csd_name_en\":[\"Canora\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Canora\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.55214785017404,51.94671140466431],[-102.53541009849194,51.93130814277529],[-102.52644979614912,51.94738753774498],[-102.55214785017404,51.94671140466431]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.538002581605,\"lat\":51.9418023617282},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709066\"],\"csd_name_en\":[\"Sturgis\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Sturgis\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.92928586542197,51.278599385240504],[-103.92989715379042,51.28677609044274],[-103.94221844837004,51.286581321026446],[-103.92928586542197,51.278599385240504]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.93380048919414,\"lat\":51.283985598903236},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710845\"],\"csd_name_en\":[\"Muskowekwan 85-22\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Muskowekwan 85-22\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.67126241695934,52.231213690914686],[-106.70649848575812,52.231216669519306],[-106.71779337496467,52.22446319700239],[-106.71778579252138,52.21187899405915],[-106.6957871723345,52.18729605628373],[-106.72990341001251,52.184947352149116],[-106.72974830807814,52.17298141071393],[-106.71157190936891,52.172980278725426],[-106.71182861674544,52.158604370863536],[-106.76547897921931,52.15855226959629],[-106.76549133007853,52.15046470047435],[-106.82439136303678,52.150890071269636],[-106.8239604814568,52.122107959882165],[-106.78926847090878,52.121883985758465],[-106.78928894832355,52.099985655914985],[-106.74012311216644,52.09870529385946],[-106.72172233830898,52.085773933855755],[-106.70443616869986,52.092091441654865],[-106.670418246639,52.08943440040076],[-106.6703489675748,52.0706295850356],[-106.64650820506307,52.070997891563],[-106.64653574154791,52.081472896082296],[-106.60287248008522,52.069526084921115],[-106.59833852687915,52.08957061092608],[-106.56517119111331,52.0862411915995],[-106.51741047236831,52.08614335923346],[-106.53178090462949,52.09547356860881],[-106.52755946539129,52.111539388862894],[-106.50791290702377,52.11468493607406],[-106.50370505246578,52.12265586645225],[-106.50371920774758,52.17291919473758],[-106.53894103319892,52.19454774756633],[-106.57511114529738,52.194463694092036],[-106.59883917204196,52.20785859514493],[-106.61119887039995,52.2231074020819],[-106.6338510781855,52.22298629911285],[-106.67329510838238,52.21089089899031],[-106.67126241695934,52.231213690914686]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.64432623003549,\"lat\":52.144806861836116},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711066\"],\"csd_name_en\":[\"Saskatoon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Saskatoon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.52724402642727,51.47683968488049],[-107.518462334717,51.47712510843599],[-107.5184843963597,51.48540541713277],[-107.52723659513738,51.489238189679796],[-107.52724402642727,51.47683968488049]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.52314828949743,\"lat\":51.48220787975104},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4712\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4712012\"],\"csd_name_en\":[\"Milden\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Milden\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.71474369095444,52.23089058779661],[-108.1453784990629,52.23097869627444],[-108.14567953758,52.104550563258215],[-108.16190138845873,52.10443954176655],[-108.19306290111564,52.11726795271789],[-108.21580709214705,52.12171034514546],[-108.27458540499642,52.125999761975656],[-108.26878037180538,52.135403447683935],[-108.32261708339576,52.13358685270321],[-108.33100807455574,52.14358134650355],[-108.36501806876517,52.142236949010645],[-108.38731809985273,52.14717864351187],[-108.40113998721309,52.14153256492097],[-108.4311750957347,52.14357290613512],[-108.43251040632616,52.05630680951297],[-108.43095478219091,51.968985702311684],[-108.41424350569008,51.968990893017484],[-108.41396539083524,51.88168470435482],[-108.1303011824494,51.8816244073013],[-107.70520892590993,51.88153213064581],[-107.70480690109208,51.96899422845813],[-107.71720970084678,51.96898538856396],[-107.71722581078322,52.070942903181525],[-107.71439178773564,52.08772678829425],[-107.71767891731098,52.11288676411132],[-107.71633212151617,52.14351293739274],[-107.71645832653488,52.20744099022886],[-107.71474369095444,52.23089058779661]],[[-107.97892291889511,52.0416140512715],[-108.00285340927206,52.04159757022756],[-108.00388121947286,52.08534404489559],[-107.95521744706977,52.0853288215306],[-107.95510305666573,52.041514535089775],[-107.97892291889511,52.0416140512715]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.04394558161968,\"lat\":52.04024763489244},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4712\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4712042\"],\"csd_name_en\":[\"Biggar No. 347\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Biggar No. 347\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.20073562404001,52.46495373394637],[-108.20076395780823,52.5226574711614],[-108.20045300960012,52.55295229290087],[-108.34124880866484,52.55145713908659],[-108.34335348851965,52.46535378979758],[-108.20073562404001,52.46495373394637]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.2712447664992,\"lat\":52.508581861414015},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4712\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4712830\"],\"csd_name_en\":[\"Mosquito 109\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Mosquito 109\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.66047650483719,51.358389807081814],[-109.66038438849517,51.62002829796427],[-109.69008441329515,51.62002168323469],[-110.0049212952894,51.61986629170461],[-110.00499680728548,51.50338539807677],[-110.00300837139571,51.46137862383861],[-110.00495230547624,51.44520630101061],[-110.0050214886932,51.35788380477195],[-109.66047650483719,51.358389807081814]],[[-109.78306019912712,51.485002569270314],[-109.7776458636731,51.474655868365765],[-109.79178787272961,51.47487408391463],[-109.78306019912712,51.485002569270314]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.83266889969559,\"lat\":51.48906670168231},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713011\"],\"csd_name_en\":[\"Milton No. 292\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Milton No. 292\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.55596875360085,51.62001179130475],[-108.55562059398189,51.86398518893358],[-108.55481064993842,51.881324922011196],[-108.76834349700175,51.881622807786066],[-108.98101519393241,51.88191336528112],[-108.98061510788047,51.62000490001031],[-108.81753613436169,51.61982650294414],[-108.55596875360085,51.62001179130475]],[[-108.65016957528854,51.77998327153679],[-108.65019410738125,51.78674464881407],[-108.63843614523908,51.78695071918015],[-108.63835947068179,51.78012251598862],[-108.65016957528854,51.77998327153679]],[[-108.83173027587063,51.79424799170647],[-108.85167238770065,51.794256801658584],[-108.85163230227445,51.80893722408504],[-108.82610209799994,51.80901205116848],[-108.83173027587063,51.79424799170647]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.76824444396297,\"lat\":51.75063901577494},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713028\"],\"csd_name_en\":[\"Winslow No. 319\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Winslow No. 319\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.94887288801455,52.347232752607894],[-109.94861628300595,52.32558894621339],[-109.92383961598887,52.3259286901986],[-109.93588898300197,52.34734510781943],[-109.94887288801455,52.347232752607894]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.93898978669903,\"lat\":52.33540081092235},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713051\"],\"csd_name_en\":[\"Macklin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Macklin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.82184620501975,52.258933598606546],[-109.8114507664196,52.26675544739579],[-109.8356310515208,52.266827677384654],[-109.83584138553972,52.259953605012164],[-109.82184620501975,52.258933598606546]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.82571401406429,\"lat\":52.263408689865265},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713053\"],\"csd_name_en\":[\"Primate\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Primate\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.65801314956379,52.2240392139268],[-109.64755693199936,52.22406540375885],[-109.64539780619711,52.230813505639965],[-109.6583839539051,52.230817179929694],[-109.65801314956379,52.2240392139268]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.65232651483197,\"lat\":52.22755567254146},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713054\"],\"csd_name_en\":[\"Denzil\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Denzil\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.99941226545933,52.88592634193723],[-109.00256586904194,52.91678837279799],[-109.00094076834304,52.958304412705886],[-109.1244505898113,52.95828576872634],[-109.12422842446377,52.935669147751],[-109.12443456496372,52.886066229186135],[-109.02776320112682,52.88499421100665],[-108.99941226545933,52.88592634193723]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.06277313780102,\"lat\":52.9218407107724},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713836\"],\"csd_name_en\":[\"Little Pine 116\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Little Pine 116\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.85683930529723,53.46102292966076],[-102.88549026046311,53.46587578101433],[-102.88580020147784,53.434394235553384],[-102.90609514612224,53.4337550571437],[-102.9052433759777,53.41432618935097],[-102.8709323154154,53.41440427595959],[-102.87087745132703,53.43410301879379],[-102.85867269601538,53.44629047100926],[-102.83383236988233,53.44806692757402],[-102.83452786998487,53.46171933398367],[-102.85683930529723,53.46102292966076]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.87394170282909,\"lat\":53.44076711888013},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714840\"],\"csd_name_en\":[\"Red Earth 29\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Red Earth 29\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.27999608350777,52.318302396257394],[-106.27978676786397,52.33296316488066],[-106.302922516168,52.332980539187105],[-106.27999608350777,52.318302396257394]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.28756845584658,\"lat\":52.32808203344172},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715019\"],\"csd_name_en\":[\"Aberdeen\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Aberdeen\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.53685480122498,53.23434069110311],[-105.5681624168784,53.236200179626195],[-105.59984218567244,53.243047554215934],[-105.63296587893284,53.235334332379544],[-105.6525046174266,53.20979837924774],[-105.67035674336687,53.20617548552865],[-105.6852999491235,53.210937472706746],[-105.69367638304816,53.19850877768007],[-105.69340475475461,53.17954637736289],[-105.71578317875894,53.18036300019004],[-105.71685616434921,53.17111169633791],[-105.75257710668669,53.169217230433766],[-105.76204140733081,53.173102709448024],[-105.80729251895845,53.17317972122871],[-105.80681836162368,53.20459679033907],[-105.81811292858136,53.206505596177266],[-105.85059128780465,53.20477337010634],[-105.8683880263453,53.19436099787336],[-105.87527819518633,53.17621795033843],[-105.89408898988165,53.16538196828493],[-105.97651598721534,53.15153517212602],[-106.00530845759629,53.15242351906572],[-106.00414918529263,53.14299789971606],[-106.0042609904587,52.93908085473512],[-106.00336543453835,52.913344382313845],[-105.98867544761669,52.91813251187334],[-105.96105895172104,52.91213005094432],[-105.94357253021867,52.91402089240732],[-105.92704791658389,52.90168574941144],[-105.90071598312048,52.91054706933586],[-105.85462538968918,52.91543257097101],[-105.8310614834774,52.92590144621866],[-105.80081399279678,52.928483863705054],[-105.79096222357082,52.936044085182296],[-105.75340568834307,52.93988489460723],[-105.74913952394141,52.949668768049094],[-105.76818143463233,52.96709579618404],[-105.76947230927584,52.97539174086361],[-105.73972628456134,52.978594131350995],[-105.72471117967861,52.98824816035598],[-105.72242808151934,53.002593003982824],[-105.69520591989611,53.00492233793741],[-105.65522071296665,53.02398328586066],[-105.61338178301804,53.02767117470793],[-105.56728016105149,53.015860342494626],[-105.56168949254258,53.00531146567346],[-105.54357876512915,53.00695064058234],[-105.52655856706168,53.03392504502393],[-105.51234899006731,53.040436338783906],[-105.50876059171699,53.05123650349993],[-105.50681070579795,53.058752547188035],[-105.56131544440765,53.058956938878644],[-105.58573648002071,53.051519003631654],[-105.58943356768827,53.06610703724434],[-105.5900836220705,53.12507600738399],[-105.49224037026477,53.124606496211435],[-105.46348014442592,53.12120396677422],[-105.44074336644157,53.13962567682027],[-105.42749553143065,53.14942646414239],[-105.43134225313415,53.162853616178445],[-105.41826312311241,53.17208930138917],[-105.3346672557486,53.15973746652786],[-105.31880018420594,53.15121325505513],[-105.30334743825942,53.1339117949811],[-105.28438010056009,53.12655562586878],[-105.26038747514879,53.13660810724885],[-105.23345555542208,53.14071273565588],[-105.22064509113115,53.16625761286155],[-105.2055510089279,53.175598951680456],[-105.17062402901321,53.17882647131473],[-105.14627161548222,53.18656313963964],[-105.11926266079996,53.18304583070716],[-105.08819236284472,53.19366392293208],[-105.1128373345792,53.209734299384074],[-105.1121787648023,53.21766250459414],[-105.07788937800095,53.22149301616837],[-105.08082665946004,53.23686013478175],[-105.09395541658307,53.2488234500152],[-105.1372107307534,53.24485895433113],[-105.16975531938918,53.24900836157331],[-105.19276502437928,53.26386172758307],[-105.20152763195051,53.25768246769429],[-105.23030770400982,53.26714929440316],[-105.2683284213799,53.25401458957086],[-105.28379370690365,53.26010848000233],[-105.32106241631098,53.24194799268303],[-105.36719688527184,53.23239551651139],[-105.40426621409453,53.22916310301877],[-105.42251906109892,53.23375398119229],[-105.43317458481113,53.24426635979084],[-105.47063883721597,53.24436399119178],[-105.50137787275938,53.24781759988547],[-105.51303802799065,53.24111952709225],[-105.53685480122498,53.23434069110311]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.65844368861468,\"lat\":53.108599843709186},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715064\"],\"csd_name_en\":[\"Prince Albert No. 461\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Prince Albert No. 461\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.05543588531842,53.20326096230513],[-106.06693667606149,53.203639558930384],[-106.07802367303444,53.197152126865916],[-106.03977168469505,53.19727022308098],[-106.05543588531842,53.20326096230513]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.0600470756828,\"lat\":53.19976782870272},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715820\"],\"csd_name_en\":[\"Kiskaciwan No. 208\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Kiskaciwan No. 208\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.87593780250121,52.82508550303003],[-106.87777975664511,52.834817077482796],[-106.88903328711544,52.83446572107845],[-106.88677867456434,52.81948020901536],[-106.87593780250121,52.82508550303003]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.88275816875498,\"lat\":52.82831810669283},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716016\"],\"csd_name_en\":[\"Blaine Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Blaine Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.74751878139134,53.02429956910746],[-106.74748098218343,53.01699265311871],[-106.73534577837111,53.01701768969409],[-106.7352791835811,53.0242740064981],[-106.74751878139134,53.02429956910746]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.7414132281937,\"lat\":53.02065118243535},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716042\"],\"csd_name_en\":[\"Leask\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Leask\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.18519515577542,53.54972341568824],[-107.17628679787256,53.531601604178334],[-107.135314414197,53.530953025936704],[-107.1347035626823,53.51098577474372],[-107.04684902809765,53.51029341210334],[-107.04728117398106,53.55805711325448],[-107.08326611141277,53.5585137985771],[-107.08424939784689,53.596239046236725],[-107.13370259666881,53.596732122581955],[-107.13324551771922,53.63394392981505],[-107.15752516119727,53.63406558366287],[-107.15642670441731,53.67769031902227],[-107.18512704422992,53.67783972854635],[-107.21864879261888,53.67808751209681],[-107.21865258926765,53.63441046970317],[-107.20606845031776,53.63431396770922],[-107.20573776043231,53.549996007846026],[-107.18519515577542,53.54972341568824]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.14383210191826,\"lat\":53.583150539988885},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716858\"],\"csd_name_en\":[\"Big River 118\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Big River 118\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.62541208977629,53.132492295800695],[-109.62545133318669,53.11744153131447],[-109.60091529340623,53.11708874512766],[-109.60092548214759,53.13250855075981],[-109.62541208977629,53.132492295800695]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.61312662018227,\"lat\":53.124879862774755},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717024\"],\"csd_name_en\":[\"Lashburn\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Lashburn\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.7840244976138,53.18988174070095],[-109.77129776671755,53.19209779849454],[-109.772411789602,53.19854652259452],[-109.79015840585231,53.19845058887528],[-109.7840244976138,53.18988174070095]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.77995750466984,\"lat\":53.194871544797095},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717026\"],\"csd_name_en\":[\"Marshall\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Marshall\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.35620842214533,53.35042792538604],[-108.3379270614388,53.35411236831794],[-108.34159736878787,53.36512166140022],[-108.356744108617,53.35804579753783],[-108.35620842214533,53.35042792538604]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.34748259485639,\"lat\":53.357021871242104},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717048\"],\"csd_name_en\":[\"Glaslyn\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Glaslyn\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.97260342321059,53.63593143699482],[-109.809110981628,53.634902698517394],[-109.80873621962162,53.76594600574211],[-109.81556785612592,53.76583058117751],[-109.97069845624115,53.76636512762907],[-109.97116204987358,53.717668501779116],[-109.97260342321059,53.63593143699482]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.89017668140013,\"lat\":53.700645541503334},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717801\"],\"csd_name_en\":[\"Seekaskootch 119\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Seekaskootch 119\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-106.78700582595494,59.359153814383184],[-106.83928585359077,59.34734706327702],[-106.85742024290394,59.33815535537979],[-106.89818065229004,59.32845476187474],[-106.89730896380462,59.3178148615416],[-106.83121956514212,59.31896957086348],[-106.8140464525796,59.32481685855204],[-106.78924314153217,59.318446759942816],[-106.75878515280377,59.32570763811226],[-106.75922916410985,59.36005824191375],[-106.78700582595494,59.359153814383184]]],[[[-107.2642105576138,59.3653433478621],[-107.26295418914268,59.3358697316037],[-107.24208267161843,59.33289585575777],[-107.19964844007455,59.31878456536574],[-107.1402548426625,59.32324576258099],[-107.11560015243427,59.32018065666332],[-107.07860516938152,59.3282744556158],[-106.99697887482425,59.33757846294435],[-106.99463854648141,59.32786825249537],[-106.93331274843088,59.33556096408537],[-106.92490134822579,59.33112657393976],[-106.88350253943632,59.34486085485053],[-106.87398874940625,59.34150636359318],[-106.82776884640336,59.3556086706256],[-106.7894016568773,59.36289390231079],[-106.7593309699796,59.36260476667579],[-106.7601584071608,59.37439066087967],[-106.98028885985478,59.36998193803419],[-107.2642105576138,59.3653433478621]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.0056273121591,\"lat\":59.34763524590501},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718824\"],\"csd_name_en\":[\"Fond du Lac 227\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Fond du Lac 227\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.59543204642544,50.04970127043573],[-113.59545210259802,49.99408200302845],[-113.58132582327974,49.99410106023954],[-113.57476448027485,50.01140610035746],[-113.56175660248655,50.01131136252112],[-113.5616240189711,50.033822419634824],[-113.58685540340367,50.03875711780286],[-113.59543204642544,50.04970127043573]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.58154905167159,\"lat\":50.01970949039991},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4803\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4803022\"],\"csd_name_en\":[\"Claresholm\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Claresholm\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.78185143356673,50.35825696045888],[-113.79315920944208,50.35359500452271],[-113.79337566228043,50.33900570956423],[-113.7589922807955,50.33836064903968],[-113.75469944633396,50.35826574546335],[-113.78185143356673,50.35825696045888]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.77436077449198,\"lat\":50.34833947517507},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4803\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4803026\"],\"csd_name_en\":[\"Nanton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Nanton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-112.88756510114419,49.626878341961344],[-112.90371185239304,49.6189720536277],[-112.89123062449475,49.618289078569674],[-112.88756510114419,49.626878341961344]]],[[[-113.03821767180898,49.76820036476321],[-113.05034260293772,49.76886466312485],[-113.07133664847508,49.74493574496313],[-113.09183648671981,49.750372762756214],[-113.10395809413772,49.73126970760913],[-113.1427916070415,49.73245080823917],[-113.17039376846564,49.728235658375354],[-113.19165930331572,49.70755416119856],[-113.19665925833637,49.683118397546835],[-113.2191943022451,49.68020046199446],[-113.23797851396547,49.663691415354464],[-113.28762442066403,49.64963516653428],[-113.29270261671331,49.63192986736633],[-113.27489205969091,49.62583971598369],[-113.28261191955501,49.61289174886386],[-113.25678790556644,49.600248899530484],[-113.2438511167158,49.60149440836961],[-113.23747476447934,49.58191140132977],[-113.25428345152415,49.57026936136481],[-113.25237056170182,49.56018020888385],[-113.26694367196689,49.55284371447289],[-113.27190061683531,49.52865793921709],[-113.2757180893199,49.50766066050402],[-113.29199810996165,49.48738215280094],[-113.31277467720183,49.472877910289434],[-113.31202904400975,49.46382969733723],[-113.33390428872038,49.45304735074663],[-113.33064853408287,49.42702070856104],[-113.34599389897511,49.426321558266125],[-113.39385065190707,49.407264996538096],[-113.40107234164451,49.39757565990287],[-113.42336649272642,49.387773118545816],[-113.42116241146417,49.38059584317052],[-113.45245767396192,49.36800335509679],[-113.46858494941807,49.351532500382554],[-113.50011756396769,49.35203466219164],[-113.55397771685966,49.34263636631419],[-113.56782056757127,49.3343352513472],[-113.57024484740771,49.3139582059042],[-113.5481644220174,49.29384734935926],[-113.54956673801541,49.280372051119066],[-113.56135836631782,49.26530191275224],[-113.5889307562052,49.25726876654633],[-113.58381781167648,49.245220746296184],[-113.60251560624181,49.24247196196364],[-113.62522999563001,49.22719994469338],[-113.63308293029694,49.20381141094775],[-113.49913617402555,49.20376677662223],[-113.34011809118451,49.20236489167652],[-113.28635944971721,49.202895730427585],[-113.23182484639815,49.20304651557245],[-113.26139472215394,49.214212856035495],[-113.26900386785006,49.235965696356764],[-113.26645041132839,49.25232396488654],[-113.27918969260038,49.26390066112038],[-113.26587890156863,49.27203035813998],[-113.2734708057543,49.28134715735042],[-113.25518479439717,49.294969147475804],[-113.26540392097534,49.299453553623856],[-113.23136260620947,49.31572546519833],[-113.22778509609547,49.32584705047161],[-113.20732221218296,49.32858476009269],[-113.18839192072095,49.347051448851204],[-113.14600660097548,49.35680576430795],[-113.13540328390194,49.36512285180296],[-113.11267921974118,49.37150652745069],[-113.08401246224004,49.36055522408138],[-113.07107724889248,49.371073960166456],[-113.02695085387421,49.36376573929431],[-113.01426877958654,49.380989317687714],[-113.01083944177738,49.39411612098248],[-113.02149420039694,49.419366566409884],[-113.01837757548785,49.44841597520844],[-113.00437462568429,49.459767337223354],[-112.99857121850526,49.47952714699294],[-112.95798458227269,49.494120765054596],[-112.9368826957623,49.51794375922315],[-112.90596110847555,49.51962269213356],[-112.87491064919189,49.525717915769576],[-112.87785878624798,49.535253884735184],[-112.85607686750103,49.540014011922736],[-112.83220058511678,49.55046705969851],[-112.83265050014425,49.56570868466825],[-112.89501061494929,49.59311038452096],[-112.90906777604948,49.61093354371568],[-112.91472859207653,49.6237983323656],[-112.93235692472133,49.64345414042974],[-112.96019879383712,49.659088248208484],[-112.9497539990754,49.66462476679394],[-112.99124740555828,49.67823377311969],[-112.97980551242155,49.689087533040976],[-112.9897808204012,49.71168404207951],[-112.98736439551017,49.722262648243664],[-112.96856151664542,49.729491641755565],[-112.99937451933225,49.75000079458841],[-113.03313609298428,49.75245626276674],[-113.01980604697621,49.76909604050259],[-113.03821767180898,49.76820036476321]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.20479994082004,\"lat\":49.46370393447699},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4803\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4803802\"],\"csd_name_en\":[\"Blood 148\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Blood 148\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.7193054631006,52.3038040423061],[-112.69548480842744,52.31038020618446],[-112.6799607585492,52.32018628691826],[-112.68400118315373,52.33220009257251],[-112.76370601039517,52.332243085218565],[-112.76384606471431,52.31756770457084],[-112.74289531172772,52.31760889109054],[-112.7193054631006,52.3038040423061]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.72037658289497,\"lat\":52.32153196282627},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4807\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4807026\"],\"csd_name_en\":[\"Stettler\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Stettler\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.97992479373785,52.030417193704714],[-113.99058600242125,52.027990894547756],[-113.99203868771141,52.00607966240454],[-113.96714963191408,51.99918286604476],[-113.901102281168,52.04999342294356],[-113.98046081547496,52.049743499075284],[-113.97992479373785,52.030417193704714]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.95645304521278,\"lat\":52.02935821571233},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4808\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4808008\"],\"csd_name_en\":[\"Innisfail\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Innisfail\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.43533752132349,52.47076700325819],[-113.43530809452365,52.48516429349904],[-113.45942888467881,52.47755009088599],[-113.43533752132349,52.47076700325819]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.44335816684199,\"lat\":52.4778271292144},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4808\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4808032\"],\"csd_name_en\":[\"Clive\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Clive\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.65723701472139,53.35932490538919],[-112.64365866118592,53.366892705429855],[-112.64455077309692,53.381312062105],[-112.68071700749461,53.38601962176187],[-112.68067310000946,53.37415868651295],[-112.65723701472139,53.35932490538919]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.66146216387949,\"lat\":53.374089331202},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4810\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4810018\"],\"csd_name_en\":[\"Tofield\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Tofield\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.22385850696666,53.65474420721198],[-111.20626363060983,53.666326672858155],[-111.24325715274033,53.66637808151441],[-111.24282652969369,53.65719529789384],[-111.22385850696666,53.65474420721198]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.22796176023677,\"lat\":53.661608383520466},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4810\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4810051\"],\"csd_name_en\":[\"Myrnam\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Myrnam\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.97611099778645,52.96738238565094],[-113.94716367996597,52.98085259963286],[-113.95580561145269,52.982228148548735],[-113.97611099778645,52.96738238565094]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.95969342973504,\"lat\":52.97682104461085},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811008\"],\"csd_name_en\":[\"Ma-Me-O Beach\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Ma-Me-O Beach\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.40432009405599,53.73119577506253],[-114.40045727495617,53.73727228153748],[-114.41438156552842,53.737741920298824],[-114.41538470468134,53.73176075313318],[-114.40432009405599,53.73119577506253]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.40855457535916,\"lat\":53.73460275594391},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4813\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4813008\"],\"csd_name_en\":[\"Ross Haven\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Ross Haven\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.40608481035825,53.368089294537796],[-119.43201015982812,53.39509716821],[-119.47286064730365,53.40541191792284],[-119.52410488793348,53.42285658274887],[-119.54140985657375,53.43313946964404],[-119.50904005827131,53.441522176178054],[-119.50025577943605,53.452886594249684],[-119.4785459402614,53.45532488116762],[-119.47027714318365,53.47507341663738],[-119.45481058096526,53.47657047885371],[-119.41588765174961,53.464108477229445],[-119.4051528163339,53.47599465536862],[-119.36054767195021,53.462803796881055],[-119.3355926236975,53.4726436807658],[-119.27985689563748,53.46971890643291],[-119.27446496116261,53.47694414708301],[-119.23708401048708,53.474112539131426],[-119.21461473263452,53.46194220199609],[-119.17001812737354,53.44879148495294],[-119.15509346447897,53.43623982942895],[-119.13892551820581,53.4359041817633],[-119.10270247683404,53.44617928706925],[-119.05300590808675,53.437945838419566],[-119.0417109688745,53.420743881402196],[-119.01879434810783,53.42499552887934],[-118.99913881944543,53.44397644955193],[-119.00103469651431,53.4569083000474],[-119.01384167812184,53.46154126324633],[-118.99891052601392,53.48022541394686],[-118.96451725445925,53.479458723647056],[-118.88325524462908,53.443522079191126],[-118.85754518591189,53.445620581247844],[-118.81621163840663,53.43207353022929],[-118.7916533788268,53.4161767759151],[-118.77415707687003,53.43549252907558],[-118.75109376756296,53.433399505673854],[-118.76251505103691,53.44987348290821],[-118.73904004084058,53.455583707869415],[-118.71900150870772,53.47487136372066],[-118.6838744459688,53.46158616949688],[-118.66731034782177,53.468582640888314],[-118.58103632819773,53.43502209966665],[-118.52469636584297,53.47121203044742],[-118.51880131798691,53.461545457102126],[-118.4754595631216,53.449018271719986],[-118.45671794241143,53.45930853878351],[-118.44457506327852,53.458292083174705],[-118.411489219724,53.44440646444813],[-118.36014304264184,53.45699690208344],[-118.31314881562396,53.42334455498583],[-118.29294297195553,53.417666079721286],[-118.29477031107703,53.54233492393694],[-118.1465743902954,53.54150156267313],[-118.14627149124101,53.62944733750641],[-118.29370777890081,53.62931770452712],[-118.2948239279248,53.643735370527196],[-118.44195645300783,53.64337876943687],[-118.4443794301103,53.760816023217885],[-118.89020489476674,53.760784881958244],[-118.89056375778831,53.805600890078566],[-118.99934049695601,53.8049364542608],[-118.9978090829893,53.844786668074285],[-119.14154140164217,53.84447556132562],[-119.19588517164642,53.845266718210304],[-119.48502507462257,53.84654557001333],[-119.4833512253892,53.95045636704881],[-119.48410249273228,54.024883632403636],[-119.51314684384919,54.02214661363656],[-119.53167725327188,54.01386134468458],[-119.55590606801697,54.01972015333352],[-119.6223370549789,53.984644236078914],[-119.64576263363152,53.95377158386882],[-119.66291225120325,53.94582819818557],[-119.67807831544893,53.929714315014174],[-119.72681051681086,53.924782347954796],[-119.77622572065881,53.89404824754347],[-119.81336191755179,53.894740745862705],[-119.84580014965404,53.908863342257625],[-119.86406736164183,53.91042300814276],[-119.87109911700608,53.92326182869136],[-119.90454570832983,53.92932134065713],[-119.91922898701898,53.943258156989046],[-119.94287975374984,53.94748590414943],[-119.96775841735837,53.94681160218903],[-120.00000000311599,53.93741038431441],[-119.99999997842916,53.80621976296581],[-119.95916548337041,53.781063712413214],[-119.94234051951926,53.775861900530046],[-119.88823655626443,53.77948461703774],[-119.88743039821745,53.750019396343056],[-119.90212529837437,53.738423866036115],[-119.90081872563253,53.72301753735686],[-119.90798088649748,53.71060103523053],[-119.84432779434387,53.71473925207621],[-119.83955321372414,53.69740058277536],[-119.7973807609446,53.707772196404356],[-119.78669668366831,53.70130973785179],[-119.76839701177558,53.67497493806923],[-119.75561708102063,53.66492072668732],[-119.73452921953967,53.66319085118632],[-119.73721403821956,53.63683200563751],[-119.71340854121951,53.6145799246129],[-119.74872565869954,53.59336587551843],[-119.77623786178415,53.5911629118723],[-119.79306383548752,53.60238475443048],[-119.8294141516719,53.60906653524265],[-119.85406621146876,53.60770663019238],[-119.87941046675063,53.61682955122066],[-119.90269758020686,53.62015876055376],[-119.93037889499642,53.61039968358425],[-119.91071278358194,53.60125461596505],[-119.89150100595056,53.577670833154194],[-119.86328963466717,53.56163559715606],[-119.86225650779885,53.54850858696944],[-119.90034337646944,53.532971918385165],[-119.89947701022167,53.51912780614278],[-119.87544476352346,53.50633898748773],[-119.85385753138111,53.49993203103624],[-119.84653123533786,53.511700425737494],[-119.830157805324,53.51473382510122],[-119.81252348225962,53.49994953982674],[-119.78035083947671,53.4917968391595],[-119.79063326841163,53.479265906944356],[-119.77148981683152,53.44580290581478],[-119.75852050211061,53.440203176318725],[-119.75836744599067,53.426371265998846],[-119.73930351610693,53.41180362041558],[-119.72542263011707,53.388754319312454],[-119.69544782045422,53.39060992446414],[-119.68276713181353,53.38426263371804],[-119.66890020525767,53.367828191709606],[-119.63753573407475,53.36905953644045],[-119.62527071719435,53.36345538181069],[-119.59834073421452,53.36571569657922],[-119.60452763392126,53.38342980784025],[-119.54847957744254,53.367491447564056],[-119.51753424652837,53.37006846251101],[-119.45924030972694,53.357219363011986],[-119.4367448990992,53.35762602004184],[-119.40608481035825,53.368089294537796]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.18793409026011,\"lat\":53.64972870395919},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4814\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4814028\"],\"csd_name_en\":[\"Improvement District No. 25 Willmore Wilderness\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Improvement district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Improvement District No. 25 Willmore Wilderness\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.15185318989354,56.44173463862535],[-111.15167285170723,56.428903795593065],[-111.18791687271789,56.42793501813015],[-111.19014199885075,56.39149675884548],[-111.11082044084124,56.391848655771426],[-111.11054476150534,56.4354588769712],[-111.15185318989354,56.44173463862535]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.14777578214579,\"lat\":56.41298093968472},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4816\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4816821\"],\"csd_name_en\":[\"Gregoire Lake 176\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Gregoire Lake 176\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.40160694647284,55.90861715654044],[-113.59118291009597,55.90884129786579],[-113.63773727333145,55.910245059626014],[-113.63382059333007,55.88120477855059],[-113.63980238348725,55.851292516365014],[-113.55556962800095,55.850534071588655],[-113.54671010187137,55.85599395648429],[-113.5193358871707,55.85127427378734],[-113.43715909097166,55.851077666123984],[-113.43057831162066,55.85792506730695],[-113.40064089401767,55.859738704583506],[-113.40160694647284,55.90861715654044]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.5208962945369,\"lat\":55.88056363527357},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817818\"],\"csd_name_en\":[\"Wabasca 166\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Wabasca 166\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-114.62101541251121,56.62481316741033],[-114.62986558838539,56.59229467310919],[-114.61813099818256,56.572943155349535],[-114.60212049655608,56.56535480982925],[-114.60350269662013,56.594126389851766],[-114.62101541251121,56.62481316741033]]],[[[-114.66955830941612,56.60152716027768],[-114.7168228957729,56.62305405387726],[-114.74499671827522,56.6210195974561],[-114.72212275944678,56.60766698102822],[-114.72228667297657,56.593551959901085],[-114.69700166273573,56.59453145419354],[-114.69641282960708,56.553894352695515],[-114.66420959672894,56.55298225740013],[-114.66380799196811,56.53686963933169],[-114.58803557311852,56.53954915993018],[-114.58443094295822,56.509603525746314],[-114.55183742015507,56.51107100823241],[-114.6008958593373,56.55706612641874],[-114.61738757300562,56.559700965757926],[-114.64314198952398,56.55362396833964],[-114.68452857733973,56.5814106796591],[-114.66264109633643,56.59350666740225],[-114.66955830941612,56.60152716027768]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.64930240526229,\"lat\":56.571336345407026},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817834\"],\"csd_name_en\":[\"Peerless Trout 238\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Peerless Trout 238\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-116.09322538541987,56.42036819356621],[-116.09460613389749,56.44494229063696],[-116.11723622783322,56.45232340464872],[-116.16385332024345,56.45503442060977],[-116.163402137279,56.41810298103798],[-116.09322538541987,56.42036819356621]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-116.1307537321352,\"lat\":56.435691738220314},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817853\"],\"csd_name_en\":[\"Little Buffalo\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian settlement \\/ \\u00c9tablissement indien\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Little Buffalo\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.54930808507515,55.31600561024837],[-119.53848630435296,55.330547493908384],[-119.55105577127934,55.337722390902286],[-119.57888921313484,55.33760330087991],[-119.57739495315164,55.32337918776335],[-119.55437626196215,55.32346509618148],[-119.54930808507515,55.31600561024837]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.55956488967908,\"lat\":55.32967106538528},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4819\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4819008\"],\"csd_name_en\":[\"Hythe\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Hythe\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-115.4949259752154,50.7800164558387],[-115.53240758234527,50.78819245126222],[-115.55086991513846,50.79706590243994],[-115.56647598427098,50.814704678047725],[-115.56077912154895,50.826532940114554],[-115.57813602188203,50.84050376173514],[-115.60734837739159,50.84403911487694],[-115.62697943716154,50.83343282650068],[-115.6429827765386,50.84220648940808],[-115.64892946164211,50.874147601306895],[-115.5926461810912,50.89264113792538],[-115.57785544988386,50.88834486102272],[-115.5620827642977,50.894251124418204],[-115.58417582074142,50.91575449582614],[-115.60980043021338,50.926280245428],[-115.59703971864997,50.93986026857173],[-115.61459585404106,50.95118767908765],[-115.62201372441865,50.96548218631029],[-115.64883405703623,50.99752045740849],[-115.66935394961594,50.999272615047865],[-115.7037924220782,51.021285962498524],[-115.72675961535698,51.01868790378271],[-115.76703563342805,51.03938827476743],[-115.77358692079028,51.057719056746755],[-115.78923190003925,51.072417684626444],[-115.8028069178012,51.069604318938225],[-115.8166251428665,51.08475483891581],[-115.83337151353199,51.075927045115534],[-115.8577330557994,51.07913191666106],[-115.86793338086918,51.08929039744406],[-115.92360697933792,51.083109564727984],[-115.93255564756728,51.09675678975485],[-115.94849259858073,51.0992634868396],[-115.95726326494118,51.115181610785754],[-115.98476922987221,51.12601821019752],[-116.00446487359835,51.1246812898061],[-116.01561048810164,51.13809901847466],[-116.01750606604085,51.15613718288261],[-116.03684494216769,51.170045526298175],[-116.02388938777828,51.176195735982795],[-116.02135649572922,51.187078625402854],[-116.000022592268,51.19394746719994],[-116.007603752432,51.22201215367823],[-116.02667715166291,51.219883935986275],[-116.0492664008908,51.22743706592426],[-116.06517334826947,51.24793008944195],[-116.11167621797136,51.25335291584386],[-116.14414695028186,51.26473380323537],[-116.1591331552323,51.27581199551717],[-116.1515662900853,51.287160208380186],[-116.16413114324516,51.29779006660924],[-116.18850879928108,51.30147963988823],[-116.21908456179578,51.29450376047018],[-116.26801739505161,51.31193316990846],[-116.28260412393536,51.331501844362656],[-116.30519403539432,51.32538442344286],[-116.30081494440275,51.30232664685195],[-116.2902360916115,51.290845093800904],[-116.29657160518892,51.2616938801774],[-116.26223483101361,51.24300750682652],[-116.26336505937677,51.22179893467541],[-116.30109276470715,51.208655637658545],[-116.32709523727391,51.21461224906751],[-116.34646836511426,51.207781315441416],[-116.3433977539374,51.192204355255],[-116.33211584891788,51.18060959156684],[-116.29754153332244,51.179967730135],[-116.28241473345392,51.14964461758772],[-116.25645367098664,51.14078913677952],[-116.26216188010682,51.126552238542345],[-116.31847068437476,51.09546201337449],[-116.33978378657682,51.06435332563616],[-116.39105889912028,51.05558194843026],[-116.41847237086908,51.03658640396449],[-116.40361014451777,51.020109292971554],[-116.3845892058248,51.01186562990038],[-116.38077241792601,50.99923780764513],[-116.33703893109545,50.97547700539157],[-116.3183234808001,50.94907748264877],[-116.44436274062882,50.94982226762956],[-116.44365167312218,50.93519713756101],[-116.48818534014208,50.940516922561876],[-116.49972248481899,50.934927566965364],[-116.53538045949412,50.935136723132025],[-116.53571241534496,50.92097309188314],[-116.62872660508808,50.920674279073076],[-116.640245919691,50.90845475144825],[-116.67215888172261,50.88978323196004],[-116.69247513362679,50.890257672138645],[-116.71315571191617,50.8801012034088],[-116.73346219408349,50.87637915496985],[-116.72320610936072,50.85401706866981],[-116.76398757191296,50.847311383156544],[-116.74588396532083,50.81621239659339],[-116.73763347873602,50.81323181050923],[-116.74807793921056,50.79617446906271],[-116.74535170313752,50.77129568884785],[-116.77195356746861,50.766737958770676],[-116.77520217542735,50.75115992332258],[-116.78997463351696,50.745529339894205],[-116.79654643996021,50.729302739875216],[-116.79525274758608,50.71254983089045],[-116.78039618589942,50.69901011566727],[-116.76895160894786,50.70207864055107],[-116.74994589069912,50.69317837449758],[-116.74435872474545,50.678093906603664],[-116.69920200422219,50.67081486594408],[-116.67807038846516,50.67212568353398],[-116.666997267706,50.681481934864635],[-116.65281736297628,50.67083595968342],[-116.6254285571636,50.66572042773627],[-116.60761921218696,50.66855061599877],[-116.60227581304802,50.653329434326764],[-116.5796138326163,50.64727593675566],[-116.57866254999668,50.634552384232336],[-116.59411881990272,50.619337770757475],[-116.61438937798808,50.63085076351145],[-116.63134136370867,50.59742882668297],[-116.6541312007466,50.59860330875128],[-116.66740480614156,50.56854559753722],[-116.65952913983172,50.56373756967169],[-116.67285699901394,50.53099321104191],[-116.69918692399898,50.518496639436385],[-116.68919403140751,50.49236998616407],[-116.72243351369123,50.46150912211554],[-116.70368749437772,50.45308153090492],[-116.68322683723827,50.43047810984393],[-116.65232234103344,50.420224498114685],[-116.63007189388667,50.43045850541875],[-116.61684646141848,50.43065276193812],[-116.56259934628467,50.405117473119546],[-116.50701219563469,50.411271119360784],[-116.49020712589848,50.40773521650577],[-116.45320625973677,50.41622818819684],[-116.46406500043443,50.43903337708601],[-116.43720729397488,50.46674910517311],[-116.40837893723523,50.46567944960032],[-116.39070611885198,50.451659984993725],[-116.36335513526514,50.45097385769762],[-116.31781205862501,50.46306623389526],[-116.31672336953014,50.473990097575495],[-116.26571414228312,50.49933867207239],[-116.22153263307935,50.51233171595936],[-116.12066333977187,50.51293936490024],[-116.12155283462774,50.5378772074402],[-116.03884358889833,50.53784386852605],[-116.04624541176048,50.561382664673275],[-116.0225697426134,50.56076634594991],[-116.0120544122412,50.54799862560091],[-115.98894201740076,50.547757800447165],[-115.9528304272346,50.56259146767527],[-115.91531990796531,50.583356225685755],[-115.89866657641045,50.601301186664685],[-115.86934774865705,50.596437898073894],[-115.84289673494982,50.61078326013142],[-115.80348237309364,50.61057932351291],[-115.79834205813003,50.61635506032338],[-115.81709997735942,50.6390326666773],[-115.79638198729762,50.6397648986865],[-115.79063110918422,50.67442778954771],[-115.76040660894643,50.69529819814608],[-115.73772261215179,50.697710806958035],[-115.66968392166314,50.73582120676768],[-115.62125968623518,50.71225625226519],[-115.59972843095363,50.71110089728686],[-115.57402880542868,50.720610595748205],[-115.54873840121668,50.741989462932494],[-115.51854370965648,50.74576505698785],[-115.4935479128607,50.77066165694701],[-115.4949259752154,50.7800164558387]],[[-116.08181594498305,50.64644940274097],[-116.06509221413572,50.63386614106669],[-116.06949085584903,50.60924944807548],[-116.09597550248287,50.62020815010327],[-116.0947037703726,50.63703693827432],[-116.08181594498305,50.64644940274097]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-116.18220974702517,\"lat\":50.81444086150526},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5901\"],\"cd_name_en\":[\"East Kootenay\"],\"csd_code\":[\"5901048\"],\"csd_name_en\":[\"East Kootenay G\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"East Kootenay\",\"csd_name_fr\":\"East Kootenay G\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-115.58956551884403,49.536329181955104],[-115.58915152821554,49.55371210503129],[-115.61129551923258,49.55429731936105],[-115.61153081326702,49.54317910819066],[-115.58956551884403,49.536329181955104]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-115.59957706568379,\"lat\":49.54674503672962},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5901\"],\"cd_name_en\":[\"East Kootenay\"],\"csd_code\":[\"5901802\"],\"csd_name_en\":[\"Isidore's Ranch 4\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"East Kootenay\",\"csd_name_fr\":\"Isidore's Ranch 4\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.9729965873177,49.18064909722311],[-121.98727848697263,49.17906273664581],[-121.98841057414796,49.1716637238796],[-121.96947956392835,49.17197078781036],[-121.96407067176277,49.17974824027919],[-121.9729965873177,49.18064909722311]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.97700162107196,\"lat\":49.17605878691995},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909824\"],\"csd_name_en\":[\"Skwah 4\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Skwah 4\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.96209760943259,49.112626368852354],[-121.92956844022446,49.108883839453206],[-121.92945861882095,49.11848960652091],[-121.96232333407248,49.11840336743993],[-121.96209760943259,49.112626368852354]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.94449845629211,\"lat\":49.11453170045229},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909830\"],\"csd_name_en\":[\"Tzeachten 13\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Tzeachten 13\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.98777790685826,49.24628062158404],[-122.00785460555288,49.24626971056172],[-122.00852236240576,49.23356538474395],[-121.98777790685826,49.24628062158404]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.0013849582723,\"lat\":49.242038572296565},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909882\"],\"csd_name_en\":[\"Squawkum Creek 3\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Squawkum Creek 3\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.67883718360788,49.187549867767956],[-122.69308721667436,49.18405250680342],[-122.71581301678465,49.184669193324055],[-122.72500718228359,49.19259210368619],[-122.73066970958745,49.21109798939875],[-122.75139305338132,49.21577173678069],[-122.77020558207748,49.21338121412917],[-122.80472516951849,49.21933914902369],[-122.87594385263728,49.22020822568058],[-122.88550404289013,49.217661045379074],[-122.91219619899155,49.19406260704101],[-122.92332576807243,49.177210256894995],[-122.89011005913078,49.177143052926674],[-122.89036223277952,49.06220802116698],[-122.9589030964308,49.009553929557924],[-122.95891751027295,49.00242343666602],[-122.84558783054312,49.00233577249359],[-122.84541310845937,49.03122780295145],[-122.77917710356344,49.03106558536543],[-122.77926811413637,49.016562589499806],[-122.76257130050881,49.01658280659555],[-122.75772828046328,49.01238076651007],[-122.76001939670643,49.00540827992682],[-122.77195884413409,49.0111461717692],[-122.78876133775493,49.015989614180995],[-122.78908379658381,49.002462694041334],[-122.6816286361218,49.00220808774093],[-122.67965808574444,49.01660839724666],[-122.6800258057965,49.083880304260035],[-122.67968071649724,49.11393040405331],[-122.67883718360788,49.187549867767956]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.7954447948805,\"lat\":49.1075555186578},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5915\"],\"cd_name_en\":[\"Greater Vancouver\"],\"csd_code\":[\"5915004\"],\"csd_name_en\":[\"Surrey\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Greater Vancouver\",\"csd_name_fr\":\"Surrey\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.6251055833822,48.889467091941704],[-123.68766108380571,48.93559611461764],[-123.72345170270279,48.936153040003624],[-123.70224244267578,48.92926369519617],[-123.69427305257824,48.90972188061774],[-123.67003338713992,48.89760407536167],[-123.65864486185036,48.884620077119784],[-123.64083650146421,48.881482078109876],[-123.63554194320096,48.865549353116215],[-123.58920593322803,48.84965258043052],[-123.58236757562085,48.82090806888337],[-123.60529732896664,48.815916202453515],[-123.5605575394217,48.80017812830478],[-123.555248963671,48.78092506803383],[-123.56952974439812,48.773627889513534],[-123.57680836487732,48.76781523243161],[-123.56956889977921,48.75367668364599],[-123.59434592013999,48.75907244621736],[-123.61024201369787,48.75525948406163],[-123.64400692017828,48.75938140998369],[-123.67131034874116,48.75050954121109],[-123.63371501920513,48.72190896843192],[-123.61619951268656,48.71835680335558],[-123.56123570619646,48.71906968273691],[-123.53390610373343,48.725787805713814],[-123.565037844978,48.754156118422934],[-123.57084339136854,48.76624146072083],[-123.55289269818824,48.77824848748899],[-123.55915681024767,48.80459648761545],[-123.57515756454994,48.82030494465153],[-123.5773960840505,48.84602324813181],[-123.59480729825964,48.865144885730835],[-123.6251055833822,48.889467091941704]],[[-123.61239153894364,48.740455464239645],[-123.60905274227565,48.73717578671376],[-123.61575070784357,48.73741284470343],[-123.61239153894364,48.740455464239645]],[[-123.63022333665205,48.74381377368656],[-123.63001435970457,48.740956732383445],[-123.6437828945289,48.74077151583355],[-123.643856939128,48.744210744472284],[-123.63022333665205,48.74381377368656]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.61631473504886,\"lat\":48.804591325881304},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5919\"],\"cd_name_en\":[\"Cowichan Valley\"],\"csd_code\":[\"5919013\"],\"csd_name_en\":[\"Cowichan Valley D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cowichan Valley\",\"csd_name_fr\":\"Cowichan Valley D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.50843039311322,48.67935189349578],[-123.57499670044588,48.679640791068664],[-123.58890592562267,48.672482609926654],[-123.58921461443941,48.61887900317683],[-123.5593289778271,48.618886847975716],[-123.54848297173612,48.611035198955875],[-123.56444397172122,48.6001520676968],[-123.56393530568062,48.57487713269082],[-123.58112481741452,48.5734753321611],[-123.57926329854592,48.53567663896666],[-123.54494412564166,48.53569411856419],[-123.54313555202697,48.55070891049791],[-123.51246123001965,48.561174275847364],[-123.50001643807104,48.575594647598145],[-123.49998417685092,48.63794253310478],[-123.50843039311322,48.67935189349578]],[[-123.52392052654052,48.610608845732536],[-123.5371665123636,48.610768433162036],[-123.5293982273844,48.63198627191987],[-123.5185425259867,48.61489715083092],[-123.52392052654052,48.610608845732536]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.54290652639943,\"lat\":48.61539187245209},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5919\"],\"cd_name_en\":[\"Cowichan Valley\"],\"csd_code\":[\"5919043\"],\"csd_name_en\":[\"Cowichan Valley A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cowichan Valley\",\"csd_name_fr\":\"Cowichan Valley A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.50000187401457,49.21473496754862],[-123.50000181170307,49.21256497393867],[-123.83713417145567,49.21159348621813],[-123.84801445563218,49.210123070697726],[-123.8937752089086,49.19312838326143],[-123.90252331155759,49.185082679046175],[-123.8654451758041,49.152487014490816],[-123.8280391154,49.144463018033456],[-123.80512774776906,49.126859981096715],[-123.79482555935567,49.118635192002834],[-123.74042660229857,49.05705366529003],[-123.73766601016604,49.07661544995618],[-123.71573947091504,49.09328443329738],[-123.71926315929358,49.10738733438232],[-123.73064256783528,49.12153179825782],[-123.71248224684952,49.12919769118954],[-123.68073994717845,49.12463665060086],[-123.4348002950749,49.129358854319236],[-123.46822061147883,49.183581613955646],[-123.50000187401457,49.21473496754862]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.67128925262902,\"lat\":49.16419679582479},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5921\"],\"cd_name_en\":[\"Nanaimo\"],\"csd_code\":[\"5921014\"],\"csd_name_en\":[\"Nanaimo B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Nanaimo\",\"csd_name_fr\":\"Nanaimo B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.52997843812386,48.937309777176985],[-125.52159254377534,48.93491081314449],[-125.52165207891426,48.9442604696049],[-125.53477214284918,48.94419280333014],[-125.52997843812386,48.937309777176985]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.52676513998195,\"lat\":48.94048730234793},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5923\"],\"cd_name_en\":[\"Alberni-Clayoquot\"],\"csd_code\":[\"5923807\"],\"csd_name_en\":[\"Ittatsoo 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Alberni-Clayoquot\",\"csd_name_fr\":\"Ittatsoo 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-126.06482565851559,49.278342670952],[-126.05770546577473,49.26654730442531],[-126.04702614497303,49.27048075742579],[-126.05782553456383,49.2821378554438],[-126.06482565851559,49.278342670952]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-126.05653683013145,\"lat\":49.27409377588903},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5923\"],\"cd_name_en\":[\"Alberni-Clayoquot\"],\"csd_code\":[\"5923808\"],\"csd_name_en\":[\"Marktosis 15\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Alberni-Clayoquot\",\"csd_name_fr\":\"Marktosis 15\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.75821747490323,50.88346399214995],[-123.75870693273436,50.9050174458285],[-123.80459000264946,50.91118003322391],[-123.82355681570235,50.90428795148071],[-123.83510537916483,50.91279235438576],[-123.82724221839956,50.92409390150282],[-123.83829662214049,50.93441544239112],[-123.86498751493396,50.93996940222842],[-123.88187565262668,50.94860085447902],[-123.89420855066021,50.94005205465318],[-123.9366551480512,50.93618494589851],[-123.94344192820655,50.94634474051879],[-123.9827146248136,50.96265502486339],[-123.99579815672352,50.96271144263831],[-124.0276964735825,50.94437187795774],[-124.05994498581431,50.958892056702105],[-124.0734255975108,50.98507374943566],[-124.0906314068886,50.991710284645386],[-124.08714760676375,51.00969932361545],[-124.11390114136803,51.01497609186621],[-124.1376832211082,51.0306625155265],[-124.1552040243606,51.036632669892114],[-124.17316800610236,51.06148374504955],[-124.15989144661354,51.077776445024945],[-124.17026127551793,51.08811629503376],[-124.17482056602269,51.118220021404035],[-124.1680281074249,51.126024133137],[-124.18532611043514,51.13529324129548],[-124.24527098416738,51.14852771734544],[-124.26897006611378,51.139178564136515],[-124.29731995627125,51.13743392124945],[-124.35088365988182,51.14692466809792],[-124.37597315014284,51.142674119520635],[-124.37604214669675,51.17317311755905],[-124.36640592982705,51.19603047223394],[-124.40248995359144,51.188115045080984],[-124.42984090983181,51.168873245896556],[-124.41984269589891,51.157271073508916],[-124.43378308315984,51.14839911071161],[-124.49840249133157,51.16654172814206],[-124.52453079669048,51.1698538645005],[-124.54480489931305,51.17954292167599],[-124.5808260539096,51.181084987398926],[-124.60357256494932,51.187781136937915],[-124.61244702999755,51.1956175996796],[-124.65581761374123,51.207150088093954],[-124.67675497345581,51.21924759818128],[-124.68661496602925,51.20445219775651],[-124.71469104915623,51.225604613713486],[-124.76203153469957,51.238223843384816],[-124.76679851562584,51.243487543614776],[-124.78226459900762,51.28908924234411],[-124.79976342171618,51.30542415964032],[-124.8402982927418,51.31075290063331],[-124.87908656615392,51.32092700459487],[-124.88787485614019,51.33039189594755],[-124.91262876197443,51.332506179606554],[-124.93031073001161,51.32850737307765],[-124.96529312931656,51.328250530363235],[-124.9750140600268,51.34130828783997],[-125.00900702949681,51.34971769623187],[-125.04170365212435,51.35213287035329],[-125.06192941082985,51.35739127072659],[-125.07569885501644,51.35252851450486],[-125.0938315460599,51.35923793038456],[-125.13118588449427,51.364069327746215],[-125.16076936842394,51.37586433233011],[-125.1771115835742,51.39857993897598],[-125.19726497410547,51.39963736980626],[-125.21460040354457,51.3922946360909],[-125.2510043459237,51.393740654261244],[-125.26666799255864,51.37685835117752],[-125.24645912606485,51.36309514296728],[-125.20366249196893,51.3231859023937],[-125.22512010998994,51.30185761876673],[-125.2839986629721,51.28297736197837],[-125.29477874566466,51.27024494131593],[-125.32864381144702,51.24964934165681],[-125.32243942591944,51.225556574912595],[-125.33151444172492,51.19974378643625],[-125.30544537314407,51.19694329527266],[-125.2974294582506,51.18125457720137],[-125.28264808515803,51.16881522832554],[-125.26233850181919,51.164705294385165],[-125.29842866767294,51.147273675217534],[-125.2864976223506,51.13153460596289],[-125.28680779204828,51.11916848476052],[-125.29669077476022,51.103468280902135],[-125.2530515633491,51.082830746867344],[-125.24289831000658,51.06422050740734],[-125.28356204769614,51.04756431691292],[-125.32507918239936,51.045933845240675],[-125.32190326158444,51.02594869791138],[-125.30896836130043,51.00702760398532],[-125.27997002788568,51.010721586465586],[-125.27403242009797,50.997300823599396],[-125.2547970207347,50.9882251546606],[-125.25277052316598,50.96273254916098],[-125.27197235917679,50.956802892184896],[-125.28520437760159,50.95929011347518],[-125.33830332445598,50.95182004963229],[-125.37453561915925,50.94072851887841],[-125.41156265035933,50.94382463486992],[-125.4431181373824,50.93064269125533],[-125.47143488124671,50.90995248842291],[-125.4970487445419,50.90067378664838],[-125.50340087528515,50.87581817167214],[-125.50489279254693,50.842941734302634],[-125.51113811408975,50.83714838179049],[-125.54395937580497,50.832934307531076],[-125.53046424497337,50.810726108414265],[-125.50323068078505,50.79422526762462],[-125.5231318712705,50.77988079469645],[-125.54991005411489,50.77410968734575],[-125.54901412374738,50.744205442634126],[-125.53758688001699,50.73508967694642],[-125.57570697492154,50.709520201674714],[-125.5616173428385,50.68454886548925],[-125.58545493165452,50.66741769823584],[-125.58278397498589,50.65690424528988],[-125.59760693210585,50.63412420462659],[-125.60521203186464,50.60936302871577],[-125.62164348034494,50.60251993400668],[-125.6628755701612,50.59633688001681],[-125.69308304933332,50.60293284977158],[-125.74043896310724,50.60512438051204],[-125.7989152699331,50.58791321486659],[-125.81431180337046,50.574668567969574],[-125.82782836879605,50.57369026053924],[-125.84625592976441,50.59830284094383],[-125.84850746903612,50.6211689816612],[-125.85968756510657,50.64112573574202],[-125.8742755477072,50.63398819357606],[-125.92669082015092,50.63391214552195],[-126.06187813631755,50.614439697265105],[-126.20224872338318,50.57277592915849],[-126.19161446275692,50.537301678829685],[-126.22809690433178,50.543154374059164],[-126.25059636197493,50.53464466907637],[-126.28049553470785,50.53251544322595],[-126.31099820548356,50.51808448436592],[-126.31954430903508,50.49895620619622],[-126.19238296006039,50.478550725368926],[-126.10896461989047,50.471170318636425],[-126.03352749502875,50.45381835072011],[-126.01433707621695,50.44594093009006],[-125.9874788512205,50.42767678017504],[-125.95690570846222,50.4139456461275],[-125.902061704268,50.39541941503182],[-125.8557087065654,50.38599831542795],[-125.82080864774268,50.38939404116738],[-125.77075373982488,50.37186880418009],[-125.7259818306501,50.36790831422274],[-125.64663358094732,50.374263503037234],[-125.58327951984381,50.376786460924635],[-125.51908430435452,50.355318782156615],[-125.46244472871294,50.338829168214794],[-125.43387242343157,50.34371605272811],[-125.40069649491778,50.27539156804703],[-125.37907278537106,50.251662898372835],[-125.3610954373833,50.166927704410824],[-125.3505075868729,50.12398596567797],[-125.33201828833494,50.12317505760483],[-125.29492255255923,50.097638569893675],[-125.31221419229742,50.09509028272682],[-125.26785704907337,50.07747575755087],[-125.24435041899243,50.04644323470477],[-125.23963273558155,50.0312689183041],[-125.2288264979523,50.01572167376628],[-125.22827788873074,50.00033719260676],[-125.21950271569702,49.98276642465713],[-125.19135746793312,49.95087511444205],[-125.12356654731494,49.967444346856354],[-125.07171819923205,49.95515442383232],[-125.03651191661001,49.94358519413411],[-125.0014329878601,49.93737229976938],[-124.93989181291727,49.9401700876884],[-125.02585259887887,49.96604307371714],[-125.10757453271151,50.010898447506825],[-125.12063836247583,50.056090981745854],[-125.09846948080208,50.11527213276908],[-125.08184813208119,50.13113556831641],[-125.00708603411682,50.174102292825495],[-125.00334972436859,50.18582637462465],[-125.01131836332203,50.23212253280982],[-125.00959331522098,50.2598413652562],[-124.98077157323702,50.23823568099643],[-124.9540320151965,50.209230512307386],[-124.93922410544975,50.19860979389532],[-124.89004037141112,50.15120395880614],[-124.87745071629566,50.13446331735155],[-124.87813801770297,50.11359306140941],[-124.86589947199121,50.085268691988865],[-124.84145570786308,50.09418661800153],[-124.76334219956362,50.1334684769628],[-124.72455368205739,50.154490278481596],[-124.68573368327756,50.16497094233968],[-124.64260844212474,50.19135775695664],[-124.62906521728938,50.21230320515435],[-124.62532025854041,50.24998037430938],[-124.64022190934357,50.27753701268564],[-124.6583290387969,50.292030088993855],[-124.70465850419347,50.31032221664101],[-124.72896283726287,50.31401112814704],[-124.76002249321353,50.31284759809419],[-124.76848182326647,50.321926129159166],[-124.69940326669506,50.36905250034868],[-124.66717398298212,50.406118107337306],[-124.64822499819056,50.41390588941586],[-124.57522816509304,50.41391935228124],[-124.5740662879456,50.46258943358638],[-124.55010799445708,50.483447603571754],[-124.52460978164886,50.49019595232594],[-124.51335591551444,50.498701560412],[-124.5155735931072,50.526141133079705],[-124.53083982104894,50.529410024920246],[-124.54943018159506,50.54086550544629],[-124.56142721893124,50.559699621247155],[-124.58127529874228,50.5740761716504],[-124.5839837023427,50.59110747394744],[-124.56871143182597,50.60456916725281],[-124.58911882884075,50.63219459219586],[-124.60334244529322,50.63900061866405],[-124.59133108888828,50.66166644199038],[-124.53630721225318,50.680830220358935],[-124.5220180752808,50.6915170856016],[-124.49788412570767,50.69998468656909],[-124.47848669624248,50.69944759242365],[-124.44045005600073,50.71218813844892],[-124.42878138699372,50.72248235444371],[-124.38702100708406,50.7208520088072],[-124.36815445245024,50.737055020779984],[-124.34835663624881,50.74647294603715],[-124.35208356310562,50.75747866692611],[-124.38216357500993,50.77300833729611],[-124.37760316634846,50.77981476966879],[-124.35212776482182,50.785818080394854],[-124.36186134233391,50.79791220233305],[-124.32747612626811,50.818348464557225],[-124.33130095695606,50.831932117771544],[-124.32349533854233,50.85360290291787],[-124.29467483370209,50.863501888323704],[-124.26108614686325,50.85709159032988],[-124.2523187036056,50.84769557873467],[-124.26211806799704,50.82442268919146],[-124.2456996183653,50.81834504949933],[-124.22625392537518,50.822475068105746],[-124.20486573991755,50.81647322467765],[-124.19060475224276,50.80079804245471],[-124.15309152512519,50.796370922200694],[-124.10926966662613,50.78745897286635],[-124.0976938082084,50.788489944437806],[-124.09189306371987,50.808176263475374],[-124.0692616293967,50.84046601543886],[-124.03858929022753,50.83176096306682],[-124.03235191347963,50.81144322287641],[-123.97426442771152,50.80398205056604],[-123.94817176615742,50.77512822168413],[-123.93036489284972,50.766775508890035],[-123.91924491542565,50.742415069641886],[-123.86428154753351,50.7107696818202],[-123.83205492675306,50.713938256212955],[-123.82767845170795,50.72170535587857],[-123.84941097468537,50.74067091584513],[-123.86728277894295,50.747763614373824],[-123.84704458699886,50.76104805316572],[-123.83723359809728,50.77701394248726],[-123.81158725729902,50.795134175201866],[-123.80119101862063,50.79718197493424],[-123.81203871500955,50.81931252213662],[-123.82871162055498,50.82877045458046],[-123.82350806971311,50.839802845238616],[-123.79530284087605,50.833680937769195],[-123.76947251676482,50.84083657527516],[-123.7295082823491,50.84286088094488],[-123.71761931833446,50.85119669553328],[-123.71823179450918,50.871269521032715],[-123.74606044567423,50.872790420988316],[-123.75821747490323,50.88346399214995]],[[-125.19641935557712,50.0110966640228],[-125.1774293730666,50.01904515626796],[-125.17750071249415,49.99624307389862],[-125.19307194703464,49.99676765612589],[-125.19641935557712,50.0110966640228]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.98660227297265,\"lat\":50.7154347035017},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5924\"],\"cd_name_en\":[\"Strathcona\"],\"csd_code\":[\"5924054\"],\"csd_name_en\":[\"Strathcona C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Strathcona\",\"csd_name_fr\":\"Strathcona C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.09972009934718,50.2268582635622],[-121.14031733582723,50.22721568211138],[-121.14558595370929,50.19977707873522],[-121.1910037657742,50.189696688528954],[-121.22030518298774,50.18899131058044],[-121.21943050401272,50.17935567207335],[-121.23255208642313,50.17146398294058],[-121.24817964104281,50.14537679619372],[-121.27911642741293,50.15651281736877],[-121.29324832012514,50.15063050383852],[-121.29915586135115,50.13390174197383],[-121.32132902289322,50.12686742819517],[-121.31974190847465,50.1155071502878],[-121.30756845070394,50.103307238828016],[-121.31698171649735,50.08241479488072],[-121.30874517170126,50.0672970729361],[-121.31532813930744,50.05246633438642],[-121.32832074076312,50.03779896889534],[-121.29050095363975,50.0111285201323],[-121.29254717704357,49.999994572950804],[-121.27331005004042,49.98860019520614],[-121.2691639139884,49.962255647616104],[-121.28083316467546,49.96117980779601],[-121.28797551181019,49.9470585515803],[-121.286554996184,49.926950354306975],[-121.29988962994618,49.91127723891289],[-121.31283549213633,49.912767114980305],[-121.32425906778234,49.89942365700732],[-121.31781598057295,49.8827774265615],[-121.29974292656121,49.88354727112262],[-121.2860351109753,49.87226310313267],[-121.23063972008492,49.882265327868375],[-121.22015741929802,49.89448188496823],[-121.19610728537141,49.886783100771844],[-121.16426153998125,49.88125809491546],[-121.17262562840556,49.86204626684562],[-121.14705088068868,49.8598307878145],[-121.0980446399436,49.87333026156967],[-121.09196723488827,49.85649639308749],[-121.11733606364368,49.84613353850843],[-121.10324784156862,49.835101806084],[-121.12435089450446,49.82564067234034],[-121.15518228802101,49.82140163043919],[-121.1802266803239,49.82187052738434],[-121.18826639802711,49.813049486145594],[-121.18776105980045,49.79853328707815],[-121.21182554628788,49.77926963595587],[-121.19714658898384,49.75478486857047],[-121.19367362624193,49.73615538910238],[-121.18570331991754,49.726605804720975],[-121.155357556301,49.716138765509044],[-121.14440262704315,49.70015953813995],[-121.12568326393853,49.68044775867891],[-121.1322883745683,49.66746716571656],[-121.17078915662884,49.648364579616135],[-121.1687921288575,49.63436960457346],[-121.15583339068336,49.61715655036909],[-121.13514804102304,49.62252487315269],[-121.12004056554753,49.61035503675406],[-121.0995325521153,49.625395049328574],[-121.06329129677663,49.62696000786753],[-121.05187804871113,49.63690282474172],[-121.01882394278387,49.63699736005438],[-121.00755165320899,49.64442940289474],[-121.00714552978144,49.65851548163549],[-120.98531158626122,49.658464274918416],[-120.98507416393781,49.67326887231453],[-120.96240832746012,49.67347949598367],[-120.96162165672628,49.696102678624236],[-120.95419675497051,49.711976440771664],[-120.95959002017094,49.744117151746124],[-120.948452298514,49.7605805529817],[-120.83415138607131,49.76007395638419],[-120.83236158151917,49.76377007754837],[-120.77179116853846,49.7633910958258],[-120.75988518888956,49.74972609316595],[-120.60433288796683,49.74957950682011],[-120.60376780027912,49.77077050104353],[-120.57172851662234,49.77286844495655],[-120.57041678196094,49.81549916320863],[-120.56181930051183,49.91106034454726],[-120.55437216566953,49.916215856588565],[-120.55553391177303,49.946134941237375],[-120.5669191477078,49.97485537285217],[-120.57821715548819,49.974891917911144],[-120.57931922348969,50.02198301732977],[-120.57847716432532,50.13200949627915],[-120.65068721481857,50.13146186516891],[-120.65035837908033,50.15687135846127],[-120.68804060176548,50.15425239693512],[-120.71507603060972,50.13094815005311],[-120.73378726288682,50.12760531783042],[-120.73957798020794,50.12067630922988],[-120.73989682836263,50.09527026499253],[-120.75236726672192,50.085712495553196],[-120.76322035065068,50.098621654514815],[-120.77679787528946,50.09194245025658],[-120.79594621644752,50.091570891322995],[-120.80782947894373,50.10572759308826],[-120.82325954210037,50.10833951257227],[-120.82333729981188,50.11832010590846],[-120.83569971427463,50.1231718472965],[-120.85878091964399,50.125382821109014],[-120.86430275600996,50.13737119114109],[-120.88611640087925,50.144059298400045],[-120.91980698092723,50.146601592539874],[-120.93342711264513,50.13759199595064],[-120.95378072381686,50.14102580275617],[-120.97152508957724,50.13654680169946],[-121.00568454673736,50.138664954224716],[-121.00441955171954,50.17858496229459],[-120.99975673693332,50.17847998682536],[-120.99955238451722,50.227742755194946],[-121.09117961985113,50.227139782038336],[-121.08250718019431,50.225240040805836],[-121.0805301083719,50.2073961857411],[-121.09184030373049,50.20695022010663],[-121.09972009934718,50.2268582635622]],[[-120.94082787734878,49.98729482697823],[-120.941148530771,49.97692901646833],[-120.96209288842302,49.97669345678888],[-120.97790064874503,49.99122121961667],[-120.94082787734878,49.98729482697823]],[[-120.85393300190435,50.055646270103935],[-120.81454369532086,50.05521003669288],[-120.81448528430084,50.03317111731843],[-120.83137747254123,50.03331471584983],[-120.83235471100387,50.0224847875644],[-120.8546188139303,50.02379201595303],[-120.88315537403281,50.01397864189789],[-120.90236927363361,50.01437130783003],[-120.90240196077879,50.03221561942854],[-120.89053144579252,50.03966038295922],[-120.86834377388946,50.039421493239445],[-120.86795047679473,50.05010912495679],[-120.85393300190435,50.055646270103935]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-120.94365092231739,\"lat\":49.944967361808395},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933012\"],\"csd_name_en\":[\"Thompson-Nicola N (Beautiful Nicola Valley - South)\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Thompson-Nicola N (Beautiful Nicola Valley - South)\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.59235269489214,51.10434832953615],[-121.59984006082433,51.09081854353857],[-121.59696335574597,51.080088769336705],[-121.57428244977746,51.07938407581422],[-121.55997818380513,51.091697441202136],[-121.56258066699526,51.10653237869496],[-121.59235269489214,51.10434832953615]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.57998848914558,\"lat\":51.092927581107794},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933028\"],\"csd_name_en\":[\"Clinton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Clinton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.70672272382198,50.447033954192875],[-121.72511781387223,50.44266832952389],[-121.70007763301436,50.43750775875548],[-121.69732617419633,50.443184795129895],[-121.70672272382198,50.447033954192875]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.70843084282018,\"lat\":50.44244439000544},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933839\"],\"csd_name_en\":[\"Lytton 4A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Lytton 4A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.6156165713973,50.27491144019116],[-121.63322040901853,50.291435158067856],[-121.6427402449066,50.29384926236942],[-121.64156191639974,50.29799189190798],[-121.65045579411344,50.297676164489644],[-121.63531860828144,50.27403957974875],[-121.6156165713973,50.27491144019116]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.6339974146456,\"lat\":50.284172102088064},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933873\"],\"csd_name_en\":[\"Stryen 9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Stryen 9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.45948306650239,50.23123764330253],[-119.4716809871789,50.23489268031333],[-119.53192473092865,50.23513753278555],[-119.66796207666505,50.232507457391],[-119.76180443064712,50.232820985095046],[-119.76816593698436,50.21653859221935],[-119.7804816783606,50.20577591008249],[-119.8052409115239,50.203665816324204],[-119.80804646289677,50.195556869334084],[-119.8278869984594,50.179824315493484],[-119.81312346926045,50.1768523618613],[-119.79859896030037,50.14976990502315],[-119.77965493844385,50.14773306860208],[-119.77720625831446,50.11997287916019],[-119.76506197030427,50.12331677604455],[-119.74113075242803,50.116046887640756],[-119.74717052208429,50.089695626031556],[-119.76462945719152,50.08510218140233],[-119.75764190363684,50.05883157669801],[-119.76910767278152,50.04315125525346],[-119.79659962209838,50.03863022595136],[-119.81010751429262,50.03092723340103],[-119.80053805844649,50.017241167230594],[-119.82768690984177,49.99742921303319],[-119.83228512994357,49.98051641304784],[-119.8620452628566,49.969196338848036],[-119.89308444723197,49.963881767181135],[-119.93576648540969,49.9364649285304],[-119.9509386811893,49.92023997849444],[-119.9774861257252,49.93140631411227],[-119.9971761023897,49.92811050601495],[-120.0295267914982,49.911890116821105],[-120.02764004360341,49.89468475029375],[-120.04101171311419,49.877463207567686],[-120.05322893062971,49.87299536005366],[-120.05479757827862,49.85570622338706],[-120.03890738783036,49.85658535692616],[-120.01346656039027,49.83940675614923],[-119.99164524938509,49.83388413910292],[-119.9687922022135,49.819585244378224],[-119.96700729744315,49.8122089599406],[-119.98432026261366,49.78963277965893],[-119.97953153291452,49.76625090091305],[-119.83699338047178,49.76565883206087],[-119.83590596512109,49.712625812231764],[-119.79408026479975,49.712410910990656],[-119.77174190336883,49.712442908234564],[-119.72866460602638,49.712062957493075],[-119.74157461057845,49.72482060868914],[-119.73694980306978,49.743363093903604],[-119.719551911423,49.76524900232028],[-119.69745585995102,49.77516161850759],[-119.64828082492271,49.787830701730144],[-119.6622994605338,49.79944081410732],[-119.69797454276683,49.792619264997114],[-119.7097705456806,49.78177836380683],[-119.7282602767325,49.77991058909715],[-119.75637618695674,49.750316616895034],[-119.7990206197702,49.748930936664124],[-119.78214437559718,49.76632671949253],[-119.76545524303694,49.773561327304236],[-119.74849938576098,49.77380668492344],[-119.74516439790543,49.78461495187146],[-119.7205550933899,49.80239280556667],[-119.70672400956134,49.80255376660225],[-119.72589870426052,49.805690996221024],[-119.72492715690447,49.859091413137655],[-119.71417555228271,49.85879923800901],[-119.66275026958643,49.879851916687606],[-119.6198425284443,49.884972616160304],[-119.61591334805134,49.89808732991295],[-119.63785568620999,49.90456166615129],[-119.61727889126728,49.914725704041025],[-119.61800309773511,49.938230812380894],[-119.53344709866349,49.93981111989952],[-119.53053579428742,49.924555555215164],[-119.50698170862607,49.917952283726805],[-119.48451281072282,49.94093750762611],[-119.47898409141229,49.966718074828215],[-119.46289518659296,50.00436034184074],[-119.47382015028958,50.04064131155761],[-119.46978023394938,50.04892290848108],[-119.47259275548669,50.10807796796571],[-119.47647474597898,50.12740531245972],[-119.47431653510567,50.149953005047855],[-119.4752973873852,50.17505122741534],[-119.46075721894688,50.21119038524712],[-119.45948306650239,50.23123764330253]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.71385975752588,\"lat\":49.99172292580788},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5935\"],\"cd_name_en\":[\"Central Okanagan\"],\"csd_code\":[\"5935020\"],\"csd_name_en\":[\"Central Okanagan West\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Central Okanagan\",\"csd_name_fr\":\"Central Okanagan West\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.40288223707964,50.00540458063751],[-119.39163022844302,50.007586035936356],[-119.3991406314323,50.02011463317419],[-119.40288223707964,50.00540458063751]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.39788436565165,\"lat\":50.01103508324935},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5935\"],\"cd_name_en\":[\"Central Okanagan\"],\"csd_code\":[\"5935801\"],\"csd_name_en\":[\"Duck Lake 7\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Central Okanagan\",\"csd_name_fr\":\"Duck Lake 7\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.32892854352538,50.469983349042366],[-119.32990842839672,50.484756200875744],[-119.34374882519111,50.4850992028289],[-119.34585371797327,50.47372685035986],[-119.36022873986713,50.46037636037068],[-119.36397631712217,50.42613511559919],[-119.35239100234091,50.41617074052406],[-119.31786342611008,50.416146245596984],[-119.3173753798669,50.44078940989287],[-119.32821861889117,50.441066089360625],[-119.32892854352538,50.469983349042366]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.34114760887779,\"lat\":50.444536469103575},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5939\"],\"cd_name_en\":[\"Columbia-Shuswap\"],\"csd_code\":[\"5939804\"],\"csd_name_en\":[\"Okanagan (Part) 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Columbia-Shuswap\",\"csd_name_fr\":\"Okanagan (Part) 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-130.24659564227454,54.26193403600194],[-130.24628640580622,54.29939375987859],[-130.25556931113186,54.31089739738446],[-130.23629060887876,54.339534955833464],[-130.23615743316273,54.38264844067431],[-130.2532387703647,54.38436143533907],[-130.28349970213424,54.33857848744767],[-130.36549576395197,54.31441449116643],[-130.36538259693634,54.273708656929436],[-130.3507586851659,54.25536015707673],[-130.34864714052122,54.20098464886572],[-130.3064297161711,54.20148861204312],[-130.29047817067644,54.214059780064545],[-130.28601359798466,54.23212555545728],[-130.28855850478203,54.249140790875295],[-130.24631364024373,54.256770151451136],[-130.24659564227454,54.26193403600194]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-130.3006535758858,\"lat\":54.285099986209566},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5947\"],\"cd_name_en\":[\"Skeena-Queen Charlotte\"],\"csd_code\":[\"5947012\"],\"csd_name_en\":[\"Prince Rupert\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Skeena-Queen Charlotte\",\"csd_name_fr\":\"Prince Rupert\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-127.64608398205509,55.24884363423715],[-127.62826405118886,55.2526138030455],[-127.64142211900803,55.2576717415694],[-127.6533642975157,55.272362488696416],[-127.65369189873287,55.24824200965361],[-127.64608398205509,55.24884363423715]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-127.64611277429066,\"lat\":55.256615504543674},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5949\"],\"cd_name_en\":[\"Kitimat-Stikine\"],\"csd_code\":[\"5949022\"],\"csd_name_en\":[\"Hazelton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kitimat-Stikine\",\"csd_name_fr\":\"Hazelton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.94836471156168,57.99987025305091],[-124.92421781238379,57.984327400115994],[-124.98234871716552,57.98142477376542],[-125.00524372656294,57.98739160745501],[-125.0344638261695,58.001882573720515],[-125.09470079818068,58.01910197995903],[-125.14533989808642,58.02368459652421],[-125.2039071216588,58.022356291798495],[-125.25083079397781,58.00541789196301],[-125.32955118617151,57.99460034655386],[-125.38658025491164,57.98871411508348],[-125.45103236313152,57.971562700550464],[-125.46353466225256,57.96070867850912],[-125.49160167511465,57.94892153303433],[-125.48897578289302,57.941191504759594],[-125.5635336604696,57.91821575568857],[-125.59382799487828,57.91425245504594],[-125.60868849764101,57.933023871454985],[-125.61997218803269,57.93704760497624],[-125.65344340332025,57.92222100357709],[-125.67469368611752,57.88837160738173],[-125.69960128177408,57.86827013678149],[-125.73614868732272,57.86203743279016],[-125.74735831650445,57.8655487267122],[-125.7664037828603,57.889776914836645],[-125.76677161095897,57.9081598891469],[-125.78964937730393,57.92259719534838],[-125.78515130872425,57.93131002450295],[-125.79773781606502,57.943511585949416],[-125.7973561603639,57.966046466795326],[-125.80740004561379,57.97396909229872],[-125.83745973242829,57.97939419097559],[-125.87590619466714,57.97385557810226],[-125.91639514807451,57.98068269470776],[-125.97473640625579,57.96703257670572],[-125.99142899649623,57.97142021622568],[-126.04409116648816,57.96693863093876],[-126.0689426015163,57.952324112721804],[-126.05395820718222,57.93021112205491],[-126.07794258643194,57.91366828205003],[-126.14009412366404,57.92236739697468],[-126.16316277053748,57.93865432566986],[-126.1829092620949,57.94455961672054],[-126.21417991004651,57.943494980131796],[-126.22874815912746,57.93374019781578],[-126.22968375883974,57.9116955569949],[-126.2435034502053,57.90146183241333],[-126.25740061980322,57.867207052820376],[-126.2687118124238,57.855704310239496],[-126.28894833960106,57.85451888891528],[-126.31593371748458,57.86191574620357],[-126.36547510288692,57.91438633300956],[-126.3852507944324,57.926192123964846],[-126.42217744142368,57.9236218343187],[-126.43475692201308,57.93452196646768],[-126.4982196047358,57.94245125217378],[-126.51803226322481,57.94094655517243],[-126.55855165375182,57.95231328628518],[-126.60412412325726,57.960207412452704],[-126.66290597411921,57.99082239270512],[-126.68321168363153,58.00611216980387],[-126.69225550264953,58.023191857027506],[-126.70305576113398,58.027104219171925],[-126.73221483701164,58.01829425837076],[-126.77301503608936,58.01106945655417],[-126.81589496377953,58.009304087039325],[-126.8680079854426,58.00336082667034],[-126.90754676725396,57.994432767211194],[-126.95093980402464,57.989446759869104],[-126.95394124694124,57.9756776247912],[-126.98002797722398,57.96122368010072],[-126.97012559253822,57.949063908665366],[-126.97059238666226,57.933119859484485],[-126.93353711070831,57.9060038596117],[-126.88795656467417,57.86731939352394],[-126.87860264982749,57.82983122226423],[-126.85650418891505,57.80509992540724],[-126.85141825970643,57.791704187463104],[-126.86915363009429,57.785327600558794],[-126.93400841804774,57.79734354273908],[-126.95909120290038,57.79708139724182],[-126.9797190570835,57.77795700700912],[-126.9812672375927,57.76080983050723],[-126.95398488135396,57.74413033005723],[-126.94550556558607,57.716494926814704],[-126.91819229356234,57.698720763983594],[-126.85251346213386,57.68816644751691],[-126.83666198788384,57.66821923454067],[-126.87013022968404,57.64011713084417],[-126.86830506838396,57.633370812617514],[-126.8365095486678,57.61113688984464],[-126.80229566813249,57.592714679017774],[-126.78429763337924,57.576054358877876],[-126.79613810572351,57.565860741075205],[-126.87662994632662,57.54905110764891],[-126.98797135294814,57.52995722227146],[-127.02184758343398,57.51466519291688],[-127.05704518574962,57.50727249859882],[-127.07565094551619,57.51235063340603],[-127.0930788235751,57.528133242970156],[-127.13453622067082,57.530552657995266],[-127.15014627342167,57.53589891074127],[-127.13820846154847,57.56251393273054],[-127.14525016911797,57.57754610275056],[-127.18140489294294,57.59766067993483],[-127.24674568086881,57.60546914560022],[-127.27191057780878,57.603187167840986],[-127.27248003356617,57.58768226070256],[-127.28342402304764,57.57559924286987],[-127.30482794614605,57.57992073765159],[-127.34188682545265,57.54904730106093],[-127.34306129391483,57.531435205642346],[-127.32936865371845,57.50929635529147],[-127.29340076193503,57.498202171410114],[-127.32508630386808,57.482248883949126],[-127.30496343847668,57.46192982318234],[-127.3029031329018,57.446671942208404],[-127.34625828149153,57.42425314333881],[-127.37426531915764,57.418194279735445],[-127.41118872947571,57.382975061954205],[-127.48027220143011,57.335693040716876],[-127.48909706269394,57.32266134359317],[-127.49123615890278,57.30344307548504],[-127.47860338961695,57.26177133284599],[-127.46726998070545,57.21003140574682],[-127.47645866458771,57.196078250970125],[-127.52153611260925,57.17068136899169],[-127.55828474632047,57.15998433144768],[-127.60237561575724,57.1516457126469],[-127.6969556402724,57.14090119354798],[-127.7165054991695,57.13259468242848],[-127.7303493754962,57.10996591954708],[-127.73841250518132,57.06165909475932],[-127.7381979873165,57.03552769192378],[-127.73286907871747,57.019632087095566],[-127.706427306678,56.99076503381798],[-127.67709542173283,56.9767776621279],[-127.6058556593202,56.97850691345598],[-127.56117430689231,56.977174579115356],[-127.54107735544119,56.968996514929316],[-127.53631622861408,56.95397089167411],[-127.54478789812437,56.931354699418215],[-127.5974783343149,56.901284020085086],[-127.60380666995502,56.88877957465501],[-127.56399081974301,56.86165542258177],[-127.57224333732867,56.85375503398254],[-127.61081582339854,56.853275150831585],[-127.61774707536026,56.846469557042866],[-127.60335234314124,56.833985183954745],[-127.57454852675613,56.82153690279624],[-127.56659094533754,56.804016114436905],[-127.52331490084094,56.773049565021815],[-127.51400579125576,56.75009162877903],[-127.53273830708572,56.74067010539877],[-127.45416623103067,56.69317054256915],[-127.41585663280442,56.676814717881946],[-127.4053842723078,56.67646110479098],[-127.36228685471946,56.689962620779625],[-127.33309179724203,56.70603649085722],[-127.26923129257838,56.73276750115497],[-127.22228546377107,56.74590304050535],[-127.207523499537,56.72988606928533],[-127.18803925200832,56.696539675084765],[-127.12886368133778,56.62639718236888],[-127.1010753415934,56.61353576068999],[-127.06588896548193,56.61317800029847],[-127.03791141050566,56.61797288595361],[-126.99288282207378,56.63222467526293],[-126.93111278135085,56.667868295096945],[-126.927680591258,56.68459576831505],[-126.9022749718439,56.69247664336345],[-126.85668220182238,56.677331136730785],[-126.81148711071684,56.68032254027607],[-126.76610426252829,56.72454020903695],[-126.71722302855076,56.76634251503262],[-126.69268649033961,56.77495052356466],[-126.67483776965257,56.77175921034285],[-126.57092956673031,56.713595613111075],[-126.48831323541309,56.6646942088388],[-126.44919942501286,56.65499563430829],[-126.41767038361738,56.654778543252704],[-126.37834117861992,56.67123477580011],[-126.33150951256525,56.67736953298613],[-126.29613353594932,56.671215748274896],[-126.23126880821559,56.64730084171763],[-126.18894245444162,56.625320260130955],[-126.17041023827464,56.612160548281985],[-126.15963602053684,56.59159957602765],[-126.14302735297828,56.57667750368188],[-126.1608147955228,56.56316997794573],[-126.14223253341785,56.5389413815946],[-126.14192543268356,56.52950095106442],[-126.19308306150405,56.48104665064231],[-126.18245635248061,56.464897347460756],[-126.10187289898445,56.42543834034634],[-126.09105213679807,56.40403142683882],[-126.10036232692713,56.39261806000405],[-126.13330166986358,56.376355143662856],[-126.19583645209973,56.350355421215035],[-126.19474717310258,56.34238175144191],[-126.11632286831002,56.271922216278945],[-126.09841317703591,56.265740467349026],[-126.04321730493434,56.25431402193723],[-125.98062199638194,56.245629394437934],[-125.9829104527314,56.21433887005939],[-125.97263084547868,56.18569836588841],[-125.97172873867083,56.166341184491046],[-125.95550025483509,56.14292791201176],[-125.93197340753201,56.14710181979637],[-125.86563951842994,56.14520393723921],[-125.80405021391432,56.16971562480008],[-125.73761841824033,56.19057509748566],[-125.65662760228427,56.22858523772123],[-125.64551600893793,56.226011554109384],[-125.65318908835462,56.169164351252995],[-125.64992452003077,56.157296966287596],[-125.63517965857052,56.151264129160964],[-125.6084877943295,56.15328890327336],[-125.57478856211846,56.168991647706655],[-125.45768812660125,56.23335394762308],[-125.40377374737645,56.25294838642072],[-125.37786405201959,56.25308643632024],[-125.32462936236386,56.24399149538499],[-125.24546383747587,56.250564309133864],[-125.23443173803014,56.265331707434584],[-125.18902778044966,56.294742849881246],[-125.15828041459083,56.30046123858041],[-125.11909586907309,56.30359588615635],[-125.09050736634063,56.276647173540304],[-125.06366117060783,56.26306861478362],[-125.05348947589482,56.22895005354347],[-125.06026626215433,56.2078963562232],[-125.04165338959716,56.20310438607496],[-124.98554131991345,56.21519880472607],[-124.98018059227768,56.22941030766399],[-124.92350692055065,56.24437289987409],[-124.8946419997626,56.24223294167699],[-124.83285271718228,56.223537575767374],[-124.79519949988983,56.200003742965485],[-124.76884605036277,56.17031888952371],[-124.71546395694232,56.1338002747243],[-124.6610171600011,56.11611630733481],[-124.62355813636188,56.116149688460524],[-124.59020604853018,56.12205558679793],[-124.53213193960319,56.12701350407917],[-124.50424725727098,56.13244818986394],[-124.48399810155561,56.13000291424693],[-124.47541608699439,56.11887599832955],[-124.493201125388,56.089179009419375],[-124.4976322199731,56.06725261174548],[-124.48505734286988,56.04299607720691],[-124.44068574746872,55.998926234495066],[-124.44425666408462,55.98736735300329],[-124.43128966898843,55.96898151913819],[-124.4315819392136,55.95481746297988],[-124.39912690529853,55.950548524241846],[-124.40123338840486,55.938546021122974],[-124.38342125856946,55.91834698369464],[-124.38142825599913,55.89605186104856],[-124.37402457896972,55.8789788510207],[-124.35980897036812,55.86970076991597],[-124.33754557874133,55.84350499835515],[-124.33361620127224,55.83215662572685],[-124.34984561497411,55.817169739464426],[-124.35726747652389,55.78670896239254],[-124.34685438236608,55.7687055732877],[-124.32778279866903,55.75375401236081],[-124.33485547812037,55.740400582682355],[-124.3222746353649,55.73374611854275],[-124.30833268413646,55.705863720104055],[-124.29692738570915,55.69564020990111],[-124.26715092775511,55.68661339761396],[-124.24788780013671,55.689326922663454],[-124.23206137274913,55.684257164188686],[-124.19229073060059,55.68315440054483],[-124.18168858947104,55.670993747279596],[-124.16743464972876,55.66898378643287],[-124.15308318699292,55.64910693535337],[-124.12301102811315,55.63971952572078],[-124.09262898216477,55.5688139599082],[-124.05035329167046,55.5413167596998],[-124.01854231330239,55.53603717296806],[-123.99360752439414,55.54988991503167],[-123.92837814181846,55.55437952745788],[-123.94225055119098,55.57491446508207],[-123.95346221248504,55.602729429798],[-123.97505617096249,55.60945447558561],[-123.95218480817269,55.63463681324742],[-123.91643917693695,55.65676960313874],[-123.84614106389664,55.68240240423588],[-123.82091184042612,55.70317965849026],[-123.81798465252032,55.71695681196091],[-123.78431008226093,55.73486469625329],[-123.7603970824182,55.73173369268666],[-123.76177856959715,55.74558427086553],[-123.80589264305762,55.75797342844576],[-123.82226033942493,55.77460036647351],[-123.81913013449623,55.79044402061452],[-123.83581111089757,55.80511863515794],[-123.8580131824454,55.80629734509828],[-123.88025256774428,55.8254546791637],[-123.90382160839258,55.85599241350631],[-123.9126568610934,55.874970840151775],[-123.93675620251986,55.89480762191938],[-123.93272521090086,55.909708396265444],[-123.87467401129176,55.92697663631826],[-123.86870920032962,55.93439064957968],[-123.85712056973794,55.97203722127153],[-123.84226992148162,55.982795629613825],[-123.81528805427031,55.98018934143764],[-123.82714882112077,55.993409103175864],[-123.79382620505051,56.03189023493189],[-123.76408744580124,56.05003268555425],[-123.73684374526245,56.04265917325639],[-123.69514028630458,56.050677700189716],[-123.65828542817182,56.04719813925206],[-123.64185026235184,56.039485630716044],[-123.57871939445636,56.035916702035045],[-123.50066681895734,56.02810966953587],[-123.46860537920202,56.02169809284082],[-123.3948123182703,56.01844000547375],[-123.364389530984,56.015291069350305],[-123.33621776602342,56.00774888090206],[-123.3206151590684,55.99611548946586],[-123.28268017234564,55.9833217332099],[-123.24736330225709,55.97973974875352],[-123.20216009228632,55.981422532784194],[-123.16271447350451,55.98636311336829],[-123.12992432490059,55.99427040103439],[-123.07684783528454,56.03193559418485],[-123.06238114490165,56.061136968651915],[-123.03347771676437,56.07596687813789],[-123.00553743551761,56.082572207797284],[-122.90472089654169,56.09385170262212],[-122.78098455937368,56.08932277934869],[-122.74037097068965,56.090509194894445],[-122.70014605676688,56.0982958274174],[-122.67064799844736,56.10950484754176],[-122.62861564816849,56.131105437573],[-122.59044424692712,56.14289156596709],[-122.55555446842686,56.14484601727006],[-122.53164885972791,56.141394009150375],[-122.5084558593038,56.13242876193173],[-122.43789236890538,56.11275291075853],[-122.34258065267396,56.094051717855834],[-122.30446550044584,56.08310554115748],[-122.28799509652929,56.09514215838069],[-122.28873113642314,56.11404299327813],[-122.25145940265985,56.115642041647],[-122.23340530779744,56.13979670565076],[-122.15634271982297,56.144650387316844],[-122.09201886634638,56.142680245778195],[-121.95922813878538,56.14144983158682],[-121.95821292058994,56.15889391478912],[-121.75793044673817,56.159406783290315],[-121.75629517248747,56.1138745410957],[-121.74249202061183,56.117973897111845],[-121.7163540721242,56.11511409502354],[-121.67425667106286,56.11987099293223],[-121.66408957774121,56.127661396970275],[-121.60730510217216,56.1464539123781],[-121.58395481033499,56.163765109507],[-121.54961097441982,56.17746889662591],[-121.4908037928908,56.191625511650635],[-121.4671352061162,56.20724618284387],[-121.43446139148605,56.21080959162022],[-121.40848738837474,56.22778899180855],[-121.33503748718589,56.235479811984504],[-121.32055339277716,56.232635615062875],[-121.26533432244236,56.24242709639311],[-121.25129850870911,56.25449438712387],[-121.22661388354578,56.264979407551806],[-121.20691388763235,56.26743329490566],[-121.1784101236092,56.25819880538716],[-121.16260893832099,56.24820170809358],[-121.16440256909773,56.28975128449289],[-121.16063369690437,56.306460208562775],[-121.16422964596813,56.33387411690581],[-120.9884660631496,56.33276808178419],[-120.9554588101152,56.33369508680905],[-120.70653962177681,56.33353073937067],[-120.70879970692566,56.32197199713771],[-120.72604391046603,56.312640592329224],[-120.74048660424783,56.28609899719242],[-120.73024512067197,56.27860340656548],[-120.68118838258657,56.27555699781102],[-120.66952792676378,56.26567730472991],[-120.63967291746626,56.265845305876915],[-120.57644289846309,56.25885529415334],[-120.54585890572423,56.248918608483976],[-120.47790451768066,56.21814859168623],[-120.47525028799897,56.20388939440226],[-120.45329759360773,56.19800030403454],[-120.43867980618357,56.172187910138774],[-120.4266170258284,56.16807909908019],[-120.3964675799831,56.135010301356644],[-120.38462690402818,56.13125610742328],[-120.3769997710696,56.09718329524315],[-120.33872660946584,56.100570095369726],[-120.23238720719566,56.10477718636806],[-120.20792170834883,56.09334509356621],[-120.1707667872076,56.090862693574664],[-120.14324918673788,56.09793566124491],[-120.10490855569255,56.10118154065452],[-120.0735085591888,56.11430406751202],[-120.0574559616668,56.12572296086213],[-120.03667658526274,56.127116610732244],[-119.99999999001159,56.14553507320785],[-120.00269820228584,56.217219727119186],[-119.99999999579632,56.319394148014595],[-120.00000001166728,56.546331412325415],[-120.00003494370904,56.80414554972102],[-120.0000218791129,57.00000002480468],[-120.00000365619756,57.20842988751051],[-120.00000001064922,57.38062883165178],[-119.99991909212015,57.592973995866394],[-119.99995870437459,57.75000003081743],[-120.00002255688672,58.00000005006396],[-120.5060013910456,57.99979321890643],[-120.75210097972644,58.00030703162368],[-121.0031103294777,58.000832007925624],[-121.27382340826563,58.001412300085384],[-121.5090677078632,58.00003897848093],[-121.75329355634804,57.999121155813974],[-121.87249945111179,58.000180436088975],[-122.25516314445281,58.00002496100031],[-122.50635151885209,58.00013170717076],[-122.73982288775274,58.00058234152617],[-122.75770082258404,57.997565813850755],[-123.00643787436488,57.999798201019104],[-123.25397591594614,57.999669080107886],[-123.50300322865236,57.99954480154474],[-123.75202882558702,57.99942452851383],[-124.00105266965743,57.999308329278335],[-124.25101009374565,57.99944490011546],[-124.50096983748892,57.99958172409965],[-124.94836471156168,57.99987025305091]],[[-125.61558529558354,57.423877484676716],[-125.62003189251162,57.418714613266964],[-125.65475739845938,57.42569459365332],[-125.63883027877661,57.43496140137684],[-125.61886211194863,57.43576780666784],[-125.61558529558354,57.423877484676716]],[[-125.4458082779537,56.378715461463955],[-125.40961576996507,56.37320797622618],[-125.38883813229529,56.35641836528403],[-125.39427303729596,56.350676972001],[-125.4458082779537,56.378715461463955]],[[-124.92859770905602,56.78689144302397],[-124.92372310659194,56.804379120538606],[-124.90831453945297,56.811940917651796],[-124.88011644467512,56.78873587073432],[-124.92859770905602,56.78689144302397]],[[-124.97516266531099,56.923430883760425],[-124.95605963062819,56.925318472766186],[-124.95037251887908,56.91084138085572],[-124.95741275708517,56.892786678545484],[-124.97174044427939,56.878363681353996],[-124.99337333755172,56.89231399347436],[-124.99376515772741,56.917183796782986],[-124.97516266531099,56.923430883760425]],[[-120.47839986564293,56.603691055524884],[-120.48522890805698,56.59528433154867],[-120.48449983286419,56.57537201450377],[-120.47237472599262,56.56534361562286],[-120.47152440817112,56.551364547812504],[-120.49902423796888,56.550379713829095],[-120.51455779704085,56.55887759706836],[-120.51268995234275,56.59490772422389],[-120.49289411832295,56.59509158636994],[-120.47839986564293,56.603691055524884]],[[-121.05004210911403,56.727043199856425],[-121.0469231314351,56.70336959887409],[-121.07711833930439,56.702944273199385],[-121.08625875105245,56.69034110634484],[-121.11224878260016,56.68915197129196],[-121.12342571739337,56.67826133155522],[-121.13897803015361,56.67824560119354],[-121.1303291485734,56.7051441676365],[-121.11318644473647,56.711660662571205],[-121.08364771811435,56.71253889548798],[-121.0819787139211,56.726605966605206],[-121.05004210911403,56.727043199856425]],[[-121.90158137236413,56.52133749374173],[-121.90079139708408,56.487841979906236],[-121.83311800118094,56.487177825041954],[-121.832518308099,56.47291801388959],[-121.77775819459801,56.47217629975447],[-121.77960622526764,56.42453778435387],[-121.81456901185614,56.436628063235446],[-121.83148489519425,56.446672972795845],[-121.83989591214888,56.459725865771624],[-121.88625320840372,56.474409471311645],[-121.94790118899493,56.501535463484466],[-121.97803480314255,56.497825605169254],[-121.9776793081701,56.523102291253885],[-121.90158137236413,56.52133749374173]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.51833617018396,\"lat\":57.06888201372033},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5955\"],\"cd_name_en\":[\"Peace River\"],\"csd_code\":[\"5955040\"],\"csd_name_en\":[\"Peace River B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Peace River\",\"csd_name_fr\":\"Peace River B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.65260824142152,55.88341808356658],[-121.65286522438574,55.869029624023646],[-121.67870907989952,55.8688190806703],[-121.6788448021057,55.83989500490652],[-121.65344812666605,55.82443446710976],[-121.6792688671704,55.8112350209994],[-121.60058391968897,55.81113080603769],[-121.60057105875575,55.86885479598727],[-121.62775559311044,55.86893250125438],[-121.62770558204394,55.88347442326173],[-121.65260824142152,55.88341808356658]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.63727587314588,\"lat\":55.84412579531677},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5955\"],\"cd_name_en\":[\"Peace River\"],\"csd_code\":[\"5955801\"],\"csd_name_en\":[\"East Moberly Lake 169\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Peace River\",\"csd_name_fr\":\"East Moberly Lake 169\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.4458082779537,56.378715461463955],[-125.39427303729596,56.350676972001],[-125.38883813229529,56.35641836528403],[-125.40961576996507,56.37320797622618],[-125.4458082779537,56.378715461463955]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.41231903657635,\"lat\":56.365871403707516},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5955\"],\"cd_name_en\":[\"Peace River\"],\"csd_code\":[\"5955850\"],\"csd_name_en\":[\"Mesilinka 7\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Peace River\",\"csd_name_fr\":\"Mesilinka 7\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-133.67794247157656,59.51624157781204],[-133.68227226009628,59.50807659132889],[-133.66455506021177,59.48876716969611],[-133.6460690871553,59.4771797334274],[-133.60966874556746,59.48375863297329],[-133.61649995130753,59.49417557013279],[-133.63882025735157,59.495424539698575],[-133.63824511564783,59.51259965662971],[-133.6637333565449,59.50821190113752],[-133.67794247157656,59.51624157781204]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-133.64802528715254,\"lat\":59.49517755029518},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5957\"],\"cd_name_en\":[\"Stikine\"],\"csd_code\":[\"5957803\"],\"csd_name_en\":[\"Five Mile Point 3\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Stikine\",\"csd_name_fr\":\"Five Mile Point 3\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.57380950619388,58.82528760519608],[-122.6157724555517,58.80707673017404],[-122.63779677800649,58.80748939143545],[-122.6392122053939,58.793291394093195],[-122.65370340149983,58.78599653159843],[-122.66785473937325,58.76760051018146],[-122.67401704051548,58.744143679544685],[-122.64398871003068,58.74386919798622],[-122.62422648543263,58.73783953517039],[-122.58982368012802,58.75076177717406],[-122.45452122059174,58.7496283813002],[-122.45363992807759,58.81561121773618],[-122.42547508109965,58.8163508305927],[-122.42424216344727,58.846534325836544],[-122.50449460778168,58.84469419022996],[-122.50796471570256,58.80594739390872],[-122.57207295451438,58.807012765702375],[-122.57380950619388,58.82528760519608]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.54283108007816,\"lat\":58.78670561023709},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5959\"],\"cd_name_en\":[\"Northern Rockies\"],\"csd_code\":[\"5959806\"],\"csd_name_en\":[\"Fort Nelson 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Northern Rockies\",\"csd_name_fr\":\"Fort Nelson 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.94976232409426,67.63953870007025],[-63.96500917081554,67.62952500242818],[-63.97341062537026,67.58506050351635],[-63.98415153272118,67.57289680186388],[-64.01922270647667,67.5667672134083],[-64.04366706323104,67.54458220605784],[-64.02888683156665,67.52546030338004],[-64.03636949242056,67.5056226000119],[-64.02280677816456,67.49157798998425],[-63.99999999967787,67.48673100457302],[-63.87362767107601,67.4887454954717],[-63.826347434056814,67.49819499111493],[-63.75022679569599,67.49869459406945],[-63.72739223098989,67.51794479862446],[-63.76443126607784,67.54984290525364],[-63.84710787839733,67.58221689761578],[-63.877729942746576,67.58943779448512],[-63.89402710096093,67.61825558818238],[-63.91268180613005,67.63559941220251],[-63.94976232409426,67.63953870007025]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.90259410567977,\"lat\":67.54438058262706},\"year\":\"2021\",\"prov_code\":[\"62\"],\"prov_name_en\":[\"Nunavut\"],\"cd_code\":[\"6204\"],\"cd_name_en\":[\"Qikiqtaaluk\"],\"csd_code\":[\"6204010\"],\"csd_name_en\":[\"Qikiqtarjuaq\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Hamlet\",\"prov_name_fr\":\"Nunavut\",\"cd_name_fr\":\"Qikiqtaaluk\",\"csd_name_fr\":\"Qikiqtarjuaq\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.95281166615038,67.6908860035207],[-114.80495484160915,67.80902949817839],[-115.01054187929887,67.91060575099003],[-115.3732524837615,67.94028348888745],[-115.55054581941529,67.953553088325],[-115.8527934973173,67.91577810716433],[-115.7077919705645,67.85342391459753],[-115.30722048867958,67.68116139375415],[-114.95281166615038,67.6908860035207]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-115.2769178085505,\"lat\":67.8240809765731},\"year\":\"2021\",\"prov_code\":[\"62\"],\"prov_name_en\":[\"Nunavut\"],\"cd_code\":[\"6208\"],\"cd_name_en\":[\"Kitikmeot\"],\"csd_code\":[\"6208059\"],\"csd_name_en\":[\"Kugluktuk\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Hamlet\",\"prov_name_fr\":\"Nunavut\",\"cd_name_fr\":\"Kitikmeot\",\"csd_name_fr\":\"Kugluktuk\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-52.91453103404757,47.114753279809236],[-52.92646233028306,47.10857739559303],[-52.968783659252146,47.10760615760688],[-52.96446058136536,47.087762006116144],[-52.95167202646139,47.07226940834717],[-52.935547512087645,47.071446747565],[-52.92709240805528,47.09151023790474],[-52.90758980363302,47.10712561559482],[-52.91453103404757,47.114753279809236]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-52.941884513757934,\"lat\":47.094267306794926},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001126\"],\"csd_name_en\":[\"Cape Broyle\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Cape Broyle\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.35199902745341,47.37469393352522],[-53.37258076068613,47.38077754700007],[-53.37762011161537,47.404768259740045],[-53.39629173094239,47.40091367534875],[-53.4045659007175,47.40839377449306],[-53.39349232157656,47.41789680257693],[-53.41921064075099,47.43270823750492],[-53.42656103822712,47.42691531129484],[-53.45704942155328,47.42693643915458],[-53.46115951019541,47.41308505214414],[-53.48957515607908,47.41156093980332],[-53.50645571919372,47.41584704667105],[-53.504800818625604,47.4040740133698],[-53.54032290148101,47.40580195668405],[-53.58550728985594,47.403377495404506],[-53.587563514524994,47.39203120411441],[-53.64760595635526,47.37201532438561],[-53.666170904253896,47.38095114145868],[-53.677562158789264,47.342297577109484],[-53.67558338798891,47.324037921534696],[-53.68795511712749,47.28972563766699],[-53.66511953741421,47.28539618390159],[-53.663744191555494,47.27590995343325],[-53.696941359556696,47.24960485588079],[-53.70137406608469,47.2408387137816],[-53.680103218234386,47.2303884642085],[-53.68553944021064,47.21251959753945],[-53.70688978846791,47.202963762146766],[-53.729448811308956,47.18337795433412],[-53.73818012739013,47.166367891255284],[-53.74892863344904,47.159644412202866],[-53.731316998869566,47.12348288920975],[-53.74810010809235,47.07807282886671],[-53.73893953418925,47.06838357627289],[-53.73836779791971,47.050371872512365],[-53.75251566536573,47.03443145080671],[-53.749901078073165,47.00000165247647],[-53.57989660385388,47.129854567084124],[-53.49529889888534,47.192083099553635],[-53.48736269879534,47.20672642319601],[-53.46416297916152,47.215161799254574],[-53.43387396500053,47.230543318358784],[-53.40225496152023,47.263693510160294],[-53.364367989220945,47.28295128614323],[-53.35273987925993,47.293359918392305],[-53.35179219887091,47.305954473790266],[-53.32710721163745,47.311187310363344],[-53.340557251777575,47.33225580535309],[-53.34213647451881,47.344771020757435],[-53.360945551977025,47.35423226755513],[-53.36454036298745,47.36916093816348],[-53.35199902745341,47.37469393352522]],[[-53.54814790713708,47.23529601069589],[-53.52973758864751,47.21966369908659],[-53.536816262829454,47.202994953192324],[-53.556141144507514,47.20586895122221],[-53.55440860852217,47.21514289915714],[-53.570187699509816,47.228342699533606],[-53.54814790713708,47.23529601069589]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.56123570364679,\"lat\":47.25764329330681},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001203\"],\"csd_name_en\":[\"Division No.  1\",\"Subd. X\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Division No.  1, Subd. X\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.40174122920105,47.5580778814555],[-53.384753512464506,47.58068889528558],[-53.40904478476149,47.569247799854544],[-53.48174509621284,47.52947959680464],[-53.50440591650935,47.52711669059162],[-53.518082833240086,47.540945555717904],[-53.548607834144725,47.539041881545984],[-53.6434079593108,47.63669722900652],[-53.65449511492241,47.52321010325514],[-53.61935168119879,47.47967563993403],[-53.62115991013313,47.4627920113207],[-53.66314896691526,47.47767069481484],[-53.658241208805315,47.44614122083882],[-53.67820892107845,47.41181788942351],[-53.66328047712438,47.38781904449384],[-53.666170904253896,47.38095114145868],[-53.64760595635526,47.37201532438561],[-53.587563514524994,47.39203120411441],[-53.58550728985594,47.403377495404506],[-53.57486247741908,47.437302703802814],[-53.56272249528982,47.450344682515926],[-53.52753459529673,47.44743549108638],[-53.51053545648292,47.4525187467638],[-53.4850962520259,47.45476523983534],[-53.48069896945639,47.460385507191916],[-53.430278087815054,47.482456014538435],[-53.43637409003135,47.50755738274606],[-53.391121628744344,47.538067949306075],[-53.40174122920105,47.5580778814555]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.56500914710403,\"lat\":47.49571313729336},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001293\"],\"csd_name_en\":[\"Division No.  1\",\"Subd. Y\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Division No.  1, Subd. Y\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.27409559708355,47.46498452730496],[-53.253846300967886,47.496870750263305],[-53.240290378331395,47.509419527527626],[-53.24371771926959,47.51616984863857],[-53.26031653488007,47.518997732070275],[-53.264798900010724,47.52403979294745],[-53.28587979883822,47.51147058893715],[-53.29536039179858,47.51881380584994],[-53.30111915968141,47.51246331778338],[-53.339753342559966,47.509150736060384],[-53.334049510108734,47.52312689530869],[-53.3356460866854,47.53584478537329],[-53.40245818198798,47.49469221068945],[-53.444629764728944,47.46670009732193],[-53.48069896945639,47.460385507191916],[-53.4850962520259,47.45476523983534],[-53.51053545648292,47.4525187467638],[-53.50645571919372,47.41584704667105],[-53.48957515607908,47.41156093980332],[-53.46115951019541,47.41308505214414],[-53.45704942155328,47.42693643915458],[-53.42656103822712,47.42691531129484],[-53.41921064075099,47.43270823750492],[-53.39349232157656,47.41789680257693],[-53.4045659007175,47.40839377449306],[-53.39629173094239,47.40091367534875],[-53.37762011161537,47.404768259740045],[-53.37258076068613,47.38077754700007],[-53.35199902745341,47.37469393352522],[-53.339051687630544,47.378051026955],[-53.34244623984018,47.39161755410008],[-53.28029456583504,47.449575232435144],[-53.27409559708355,47.46498452730496]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.36704793924894,\"lat\":47.45735738999688},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001421\"],\"csd_name_en\":[\"Division No.  1\",\"Subd. M\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Division No.  1, Subd. M\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-52.65936980543797,47.610460399642086],[-52.66524811592112,47.61881254823494],[-52.688571388955054,47.61313899078883],[-52.711530429976094,47.62879361683858],[-52.74136753136894,47.62721525631287],[-52.75490508190893,47.63083514951719],[-52.780863436047966,47.62560548478301],[-52.78286465260535,47.634006779683716],[-52.80659559181344,47.62390745182279],[-52.793106825861166,47.604825632533355],[-52.82286413036747,47.60783363813519],[-52.827786283610955,47.587456683278205],[-52.85752042103436,47.56743547371097],[-52.881628485009145,47.55800163516968],[-52.86407882267703,47.53743596654751],[-52.83752595943387,47.545010417734574],[-52.8218916053785,47.53570731184524],[-52.80163463526743,47.54038402445063],[-52.78513881332242,47.53446197706211],[-52.778043296315,47.52307289851746],[-52.79862772684111,47.512204549618694],[-52.78851536715801,47.50389373383031],[-52.81013941165875,47.497627202034074],[-52.830495310442636,47.51140449777195],[-52.85435919467553,47.50982410878385],[-52.89310890297464,47.502693912516776],[-52.91684456657789,47.50696171211167],[-52.93191450894962,47.48059013668645],[-52.97619609661073,47.47058027689935],[-53.01215766938154,47.47623937184264],[-53.03786824632416,47.46352074865302],[-53.03652229867253,47.4500113114415],[-52.964582894785444,47.427537696588374],[-52.93565971836551,47.39201640310837],[-52.91738809864329,47.37983310677207],[-52.906272721076,47.37851751145573],[-52.88792587070998,47.40178885993423],[-52.87329362999384,47.40351449869296],[-52.85568002211968,47.391638708669525],[-52.82846986993683,47.38118197303352],[-52.82946409910463,47.36218284004015],[-52.810100682678524,47.35924664830294],[-52.74030282190062,47.331042314815335],[-52.717920784491106,47.3899386927341],[-52.70382220100084,47.40791488902147],[-52.68572060856793,47.42169780878537],[-52.65983160203062,47.43522200804713],[-52.67864230228477,47.44303579772826],[-52.696884213901015,47.4594114918393],[-52.72106798968916,47.46588690548201],[-52.72115397810754,47.481903819351984],[-52.68839174996505,47.482207075516705],[-52.689146617441644,47.4700983964292],[-52.63583757768592,47.49554069930541],[-52.62752649530314,47.51277599486088],[-52.64400899534342,47.53292060008682],[-52.67181821853171,47.527929798351224],[-52.67664567958427,47.54115719922383],[-52.68718500934797,47.544142709655915],[-52.66201421269927,47.59546739562789],[-52.65936980543797,47.610460399642086]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-52.797202293736895,\"lat\":47.48253734307315},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001519\"],\"csd_name_en\":[\"St. John's\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"St. John's\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-52.696884213901015,47.4594114918393],[-52.689146617441644,47.4700983964292],[-52.68839174996505,47.482207075516705],[-52.72115397810754,47.481903819351984],[-52.72106798968916,47.46588690548201],[-52.696884213901015,47.4594114918393]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-52.704855156449,\"lat\":47.47250107813914},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001551\"],\"csd_name_en\":[\"Petty Harbour-Maddox Cove\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Petty Harbour-Maddox Cove\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.78686212941704,47.07377144032573],[-55.72453711649167,47.077654795788476],[-55.70638942932417,47.09586339906023],[-55.71762689503001,47.10236809775424],[-55.747146385209554,47.09855170220311],[-55.77813260657656,47.10701351127278],[-55.79905258059957,47.089307504208286],[-55.78686212941704,47.07377144032573]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.755479631849965,\"lat\":47.08921614029614},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1002\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"1002019\"],\"csd_name_en\":[\"Grand Bank\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Grand Bank\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-57.84316869500362,48.9497649025246],[-57.82276937880255,48.95029020026666],[-57.82835571222798,48.957045308587524],[-57.843337888495775,48.950072417139666],[-57.84316869500362,48.9497649025246]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-57.831702053730524,\"lat\":48.95236393660088},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1005\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"1005011\"],\"csd_name_en\":[\"Steady Brook\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Steady Brook\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.40883467883719,48.53358003377187],[-53.41971842038888,48.53078536757498],[-53.41900734157999,48.560778592769154],[-53.423371024039284,48.58588941084583],[-53.43579280394021,48.59956461747375],[-53.42552101714962,48.619845857726375],[-53.39485560488353,48.687950875539876],[-53.49818077640809,48.66535370915251],[-53.51791579292143,48.66549040863343],[-53.53443427689822,48.62532951394971],[-53.57258571584796,48.57841404295649],[-53.603842466515474,48.564046280228126],[-53.61651909680687,48.51925871498104],[-53.63386218254305,48.48718028107025],[-53.664874169434974,48.436347201080025],[-53.6740330971247,48.4266486295712],[-53.7125801043501,48.41592420407348],[-53.73264790715116,48.407634903357426],[-53.74407417738874,48.39335307692974],[-53.741797744580005,48.382666774693654],[-53.7637269709372,48.36167232764271],[-53.76153489598382,48.32878336667697],[-53.78461615118552,48.30568845435664],[-53.778137768492584,48.28497909548546],[-53.779843113018046,48.270745683768105],[-53.76107220919393,48.275235527806636],[-53.74347425717736,48.292760856073876],[-53.71598390435457,48.29824822076418],[-53.687562899976236,48.31663188388567],[-53.681834915396514,48.32545220052935],[-53.641860109154166,48.32786259125625],[-53.636399211395144,48.33813739103661],[-53.6193598056066,48.344792947948385],[-53.57234042795744,48.35187726216824],[-53.51178810412074,48.43404758630789],[-53.500049513653096,48.4404583795875],[-53.47630695580308,48.44242661684981],[-53.42993478626761,48.44223284612936],[-53.4278361882266,48.46208880920144],[-53.43198339014887,48.48627423575347],[-53.426203576345074,48.50590527686878],[-53.41577599624892,48.515199100522324],[-53.40883467883719,48.53358003377187]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.565964944358754,\"lat\":48.47905969269002},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1007\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"1007028\"],\"csd_name_en\":[\"Division No.  7\",\"Subd. F\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Division No.  7, Subd. F\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.51791579292143,48.66549040863343],[-53.53901604087234,48.67979631891048],[-53.54440305302042,48.69848064651943],[-53.542639686428636,48.80602348869487],[-53.54303564801615,48.84921523358336],[-53.53486971107614,48.91570887440567],[-53.59607177193254,48.92021501288906],[-53.662476874376296,48.91273943389272],[-53.714932638237215,48.90343619571001],[-53.77855647054711,48.87967852120298],[-53.81272481120667,48.86986883543264],[-53.8481801271529,48.862920481367524],[-53.87277212524901,48.86234870670495],[-53.89180439446961,48.87355775183126],[-53.9498939953603,48.8445613703744],[-54.00000448330592,48.81593881464543],[-53.99999999836143,48.807903529468305],[-54.019684658201655,48.79932792271163],[-54.048043606523834,48.79529943303165],[-54.07316778425723,48.7829882980809],[-54.112473929849756,48.777360349061944],[-54.13463643150053,48.76843664664895],[-54.15180012443579,48.75289291883045],[-54.14044812438184,48.7327950224565],[-54.17807510001824,48.71909964541504],[-54.20181674647086,48.69245822542257],[-54.22345217271849,48.67809233929629],[-54.25142227299485,48.67381855947393],[-54.30188515392752,48.642363809170746],[-54.34654840412672,48.617029048364216],[-54.39105694888525,48.58681842660706],[-54.42324181306348,48.56771867367542],[-54.45129318100242,48.53402117171726],[-54.464412003909096,48.52627399664165],[-54.48502777336314,48.52512948660617],[-54.53040231398244,48.53447437658061],[-54.55384406751867,48.512308234211055],[-54.58298105196409,48.49453572691312],[-54.62930279034469,48.48317093875397],[-54.655496438270234,48.484585693580755],[-54.661396844255016,48.49699653774834],[-54.619144268147224,48.53507076049966],[-54.69499389916494,48.55003586472582],[-54.720104680160105,48.550748540592146],[-54.74171967177507,48.546320458693124],[-54.762143399025845,48.5331118145945],[-54.77581396150444,48.49733600428883],[-54.8218554959709,48.47141751655052],[-54.829460947750206,48.46147699657086],[-54.866965652653036,48.47162696336312],[-54.905452905477425,48.46229287950547],[-54.937402583776766,48.464654671446695],[-54.951843648884804,48.46946662652133],[-54.97169869164379,48.4895989447096],[-55.027928948407336,48.476611822142175],[-55.0393091848416,48.47109891111854],[-55.048906544590864,48.452847456898304],[-55.082519421469755,48.432917724681886],[-55.10956001988596,48.404359229862536],[-55.12729227988962,48.39013189304196],[-55.148502738111176,48.38350913376787],[-55.180380964153315,48.387836882180906],[-55.19979254368189,48.37671050113382],[-55.196909489190666,48.35679837260881],[-55.213996510365355,48.343168920179956],[-55.26126971088851,48.32237667211433],[-55.28379009695208,48.326137267268656],[-55.30018238124702,48.29353794957803],[-55.27854411593278,48.26855685107106],[-55.26154582759481,48.24858863684798],[-55.258711196825615,48.227867035712286],[-55.247915661562175,48.215216941552335],[-55.21475727415987,48.24299647685241],[-55.19651540454475,48.23233204706681],[-55.18732563474884,48.237685482546986],[-55.16316408590995,48.264873634761585],[-55.15198768185424,48.28760166597154],[-55.12521370996441,48.26852667302055],[-55.109432869931595,48.246838687507484],[-55.0625523320916,48.24123148408939],[-55.04237514083108,48.228873809534065],[-55.036175541277515,48.21632374796659],[-55.044982109395825,48.19500880885678],[-55.06648948017839,48.1789090824615],[-55.029985505923555,48.172525011084005],[-55.02207183821695,48.18718211915095],[-54.992590265168495,48.18712064173895],[-54.99348470160088,48.20877372551069],[-55.0038837839292,48.222171759715145],[-54.99873773722659,48.23766127812027],[-54.98445381809533,48.24593428013385],[-54.945896481342984,48.24405291076337],[-54.91615167891001,48.24537442675696],[-54.90296209483577,48.23993324730139],[-54.8854131543479,48.224026516552414],[-54.88173090017056,48.243232870501195],[-54.90153792426165,48.257872542479106],[-54.85043273926916,48.27581365705087],[-54.84771617155192,48.29307775421784],[-54.82268720851628,48.319760422613506],[-54.7872366502191,48.31847861352956],[-54.76376511622249,48.302359131550496],[-54.6942884749263,48.31901446627116],[-54.56323261932921,48.30548250328634],[-54.550778798568544,48.3082025283079],[-54.499841656255185,48.343898487714],[-54.4571597925428,48.34631757698873],[-54.45258511491076,48.3732833177043],[-54.42980802832254,48.38809592402094],[-54.381971978982506,48.396179452314406],[-54.29875835594449,48.43719221212512],[-54.24846570593577,48.436809267382884],[-54.21515830560567,48.428415215629784],[-54.21351638987028,48.41163259224612],[-54.186538089157146,48.40355929976741],[-54.18660987284297,48.39215251261593],[-54.17032839910849,48.389286104982055],[-54.123559299002686,48.42334741357068],[-54.112823287123696,48.42844389015101],[-54.087980387158645,48.4147205913468],[-54.06611169533793,48.41137390024008],[-54.04743498866479,48.41779379746585],[-54.01962721280608,48.41972635074834],[-54.02042237898289,48.44447025979272],[-53.9598951609024,48.44488133323724],[-53.88267288264034,48.47336114439378],[-53.75234190228909,48.5063416693031],[-53.693835212076515,48.54552687037781],[-53.67030559660424,48.55429898660542],[-53.64196978765454,48.56017923858466],[-53.603842466515474,48.564046280228126],[-53.57258571584796,48.57841404295649],[-53.53443427689822,48.62532951394971],[-53.51791579292143,48.66549040863343]],[[-54.222858104390816,48.498761193512955],[-54.22340955708238,48.51027125043258],[-54.201897849485434,48.51102651886855],[-54.197307508391575,48.49998533417883],[-54.222858104390816,48.498761193512955]],[[-53.636776807887664,48.871510210201535],[-53.631900812085924,48.86114689564868],[-53.649150994478305,48.85736080998493],[-53.666331318922786,48.846054501629496],[-53.68455750876228,48.84329825025962],[-53.679568110422835,48.86906829404954],[-53.636776807887664,48.871510210201535]],[[-53.715909867602235,48.66029728310868],[-53.68543350890845,48.67808289547114],[-53.648082504959056,48.69573700246062],[-53.622335699682,48.693175804746055],[-53.63470050222452,48.66535769881856],[-53.65658731980807,48.66193010075838],[-53.66386049705215,48.651672902760026],[-53.698361910347415,48.638884494892],[-53.72946391018787,48.64089618881811],[-53.743294266901614,48.63288453981302],[-53.76099429632841,48.63104580044478],[-53.7726992108455,48.62178350161584],[-53.81420212885347,48.62585989122197],[-53.809728783913336,48.64445718010377],[-53.867544288831304,48.64871639957254],[-53.80226348958397,48.68247379330718],[-53.80493380503741,48.66813185655277],[-53.74257469266719,48.69368222983054],[-53.725625086840736,48.683929398040995],[-53.76019899734191,48.664130195081775],[-53.74915171896343,48.65097870014142],[-53.715909867602235,48.66029728310868]],[[-53.94698350100537,48.7111728062372],[-53.95675120439635,48.680912801212784],[-53.96838759388842,48.668761705220916],[-53.94659888383549,48.65374986181225],[-54.01545861448917,48.63755060418442],[-54.03351530251007,48.635219300242134],[-54.05460509475455,48.64376720456305],[-54.08112168664544,48.64088317057593],[-54.09140202065983,48.66937884730359],[-54.08879999427126,48.71189878476208],[-54.05171341037278,48.74056410188121],[-54.030216211126856,48.73384369159446],[-54.003960011479684,48.73419949402866],[-53.99072050012932,48.73936029881221],[-53.978512682492834,48.72826260358929],[-53.95686930327728,48.71898208474557],[-53.96459551540575,48.70294299348557],[-54.0011642198023,48.70296329723558],[-54.01901791816713,48.695429497770775],[-54.03106099010924,48.6771110938377],[-54.00265119772991,48.67231040633352],[-53.98486790480699,48.68607540619268],[-53.95940181967954,48.69117089810924],[-53.958665191001664,48.70403569566993],[-53.94698350100537,48.7111728062372]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.27701217377212,\"lat\":48.54281724458743},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1007\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"1007038\"],\"csd_name_en\":[\"Division No.  7\",\"Subd. D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Division No.  7, Subd. D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.12206062125312,48.84792729787467],[-54.14764748717048,48.86491116687546],[-54.1696368767977,48.89019564557228],[-54.21130120907018,48.887336163620155],[-54.230578343746224,48.892437969213944],[-54.233970344436344,48.90941360741953],[-54.21212174255044,48.916996993866015],[-54.21516091400894,48.93980789514108],[-54.23480454474299,48.951690502706],[-54.24017835270667,48.94699746836814],[-54.29896924654371,48.93156088750008],[-54.353932135814766,48.894444497132575],[-54.36902321594962,48.879569568167426],[-54.34834530106889,48.86357710194197],[-54.330166370315155,48.86153907977844],[-54.32253638806544,48.848364802693524],[-54.33202208158067,48.84032262032313],[-54.38462011642187,48.82330672178267],[-54.42650806189932,48.803555373796144],[-54.45855985503477,48.80116124111308],[-54.47632706557916,48.803749959823975],[-54.52150597219808,48.818449017977706],[-54.54304721589163,48.82984098151893],[-54.595887711163655,48.838631016622664],[-54.68366864626057,48.84734857944008],[-54.71473901479483,48.837966070859466],[-54.73125301387045,48.8165752421833],[-54.76892339767947,48.796960060119396],[-54.76780181428436,48.77416745908201],[-54.80183127975839,48.76850341511336],[-54.80619149636649,48.758852636083304],[-54.78285750261605,48.75663133903634],[-54.75631178864052,48.73616565196613],[-54.75945198703127,48.73132458771876],[-54.814293218180865,48.70756021895815],[-54.818482178558774,48.6941159945971],[-54.792671087330646,48.698376699815086],[-54.760910217469316,48.67885456141418],[-54.75022062484218,48.66474056671003],[-54.76035247247955,48.64873894191411],[-54.77885742149458,48.64577669860844],[-54.829096129052715,48.64555670422944],[-54.85512735514185,48.64084042251615],[-54.86694771543347,48.62477884768026],[-54.89058044645083,48.57300821398228],[-54.916576869434614,48.549566316853195],[-54.963836542640166,48.543458245165155],[-54.96826550346994,48.536573420791846],[-54.97169869164379,48.4895989447096],[-54.951843648884804,48.46946662652133],[-54.937402583776766,48.464654671446695],[-54.905452905477425,48.46229287950547],[-54.866965652653036,48.47162696336312],[-54.829460947750206,48.46147699657086],[-54.8218554959709,48.47141751655052],[-54.77581396150444,48.49733600428883],[-54.762143399025845,48.5331118145945],[-54.74171967177507,48.546320458693124],[-54.720104680160105,48.550748540592146],[-54.69499389916494,48.55003586472582],[-54.619144268147224,48.53507076049966],[-54.661396844255016,48.49699653774834],[-54.655496438270234,48.484585693580755],[-54.62930279034469,48.48317093875397],[-54.58298105196409,48.49453572691312],[-54.55384406751867,48.512308234211055],[-54.53040231398244,48.53447437658061],[-54.48502777336314,48.52512948660617],[-54.464412003909096,48.52627399664165],[-54.45129318100242,48.53402117171726],[-54.42324181306348,48.56771867367542],[-54.39105694888525,48.58681842660706],[-54.34654840412672,48.617029048364216],[-54.30188515392752,48.642363809170746],[-54.25142227299485,48.67381855947393],[-54.22345217271849,48.67809233929629],[-54.20181674647086,48.69245822542257],[-54.17807510001824,48.71909964541504],[-54.14044812438184,48.7327950224565],[-54.15180012443579,48.75289291883045],[-54.13463643150053,48.76843664664895],[-54.112473929849756,48.777360349061944],[-54.07316778425723,48.7829882980809],[-54.048043606523834,48.79529943303165],[-54.019684658201655,48.79932792271163],[-53.99999999836143,48.807903529468305],[-54.00000448330592,48.81593881464543],[-54.0000055714046,48.81875603402346],[-54.084734773065925,48.819877646990555],[-54.08389452922923,48.831816940887265],[-54.10578918883271,48.81849869467291],[-54.12780378076198,48.816879399390004],[-54.13558551487229,48.82636010696306],[-54.15472009676789,48.82448851073901],[-54.17978418668205,48.806234295333766],[-54.2046128109775,48.80523939115551],[-54.189243799435154,48.79090489336233],[-54.21081649227866,48.78361939937619],[-54.217827210089,48.76835489426304],[-54.20098188490391,48.75906264645131],[-54.19911170979476,48.72366842497994],[-54.275035543501886,48.72403135600261],[-54.272931516032926,48.79874884801631],[-54.27370347512707,48.84766743306214],[-54.12206062125312,48.84792729787467]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.534980280124415,\"lat\":48.687505069403116},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1007\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"1007045\"],\"csd_name_en\":[\"Division No.  7\",\"Subd. N\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Division No.  7, Subd. N\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.53486971107614,48.91570887440567],[-53.525222437950475,48.95266719292435],[-53.498579911659185,49.000001828126166],[-53.48659754856403,49.010878780218256],[-53.46473994193832,49.02147521535693],[-53.431333861477185,49.0317828732162],[-53.38553057408209,49.04105354841379],[-53.29037869851821,49.05670209415839],[-53.283124184067695,49.07739556917705],[-53.3338561671271,49.092223412290124],[-53.53997423846278,49.087722470954375],[-53.60087656012149,49.087639411927995],[-53.707315521082045,49.075394751949226],[-53.70940026501981,49.07798724109851],[-53.84788835681337,49.074739833384626],[-53.849367242396404,49.02590793904353],[-53.87544751046313,49.03436820967877],[-53.86124741180875,49.02552729194097],[-53.85687360513894,49.01489200392143],[-53.90967390859978,48.993025704283816],[-53.90478761122232,48.9853871964015],[-53.91825032591293,48.97313949619866],[-53.90033921687242,48.96983474231386],[-53.91359531576289,48.95056456966895],[-53.93105842252631,48.94429438256181],[-53.945157807549656,48.94592096010172],[-53.95166239216714,48.95667942383325],[-53.94202180854751,49.0066609190181],[-53.96544279227811,49.00654581152416],[-53.96951027018145,49.032849125480915],[-54.06954019273917,49.03217483516317],[-54.069246698044644,49.09114907246971],[-53.982905947101706,49.091004020128864],[-53.93719711680499,49.09285989132823],[-53.89806999934829,49.091191741490924],[-53.93605918587565,49.13300260765337],[-53.93043193065051,49.14247120618245],[-53.95091414971083,49.15430619149504],[-53.99211785497144,49.15257180861613],[-54.017479941989585,49.15947245872781],[-54.066998507731974,49.15622516352779],[-54.09103227388572,49.16260802574001],[-54.122203452486936,49.15188299986019],[-54.17576086735789,49.14358284162834],[-54.19812447669332,49.14538636167761],[-54.218871827038356,49.154859408558806],[-54.23187359704561,49.14445680606697],[-54.25025738303749,49.14308461835142],[-54.26370165754066,49.14866385525739],[-54.27841182918315,49.151355722267205],[-54.287041346056625,49.167364361127646],[-54.313179726580245,49.186367566775374],[-54.34197299693584,49.16868583348189],[-54.36406913675135,49.16557123330775],[-54.38870441490408,49.152282786966104],[-54.4079684910155,49.134420241017565],[-54.41813937915299,49.11572787926627],[-54.41334470615482,49.10969660175979],[-54.3862905641575,49.09908489445502],[-54.39400511809291,49.08254643029952],[-54.380013093496544,49.06140788822283],[-54.34681054400827,49.02634166029532],[-54.33886303709654,49.01015203180246],[-54.34153498725578,48.99440750252165],[-54.31489563201144,48.986504367186434],[-54.28318962508702,48.962787747019945],[-54.23480454474299,48.951690502706],[-54.21516091400894,48.93980789514108],[-54.21212174255044,48.916996993866015],[-54.233970344436344,48.90941360741953],[-54.230578343746224,48.892437969213944],[-54.21130120907018,48.887336163620155],[-54.1696368767977,48.89019564557228],[-54.14764748717048,48.86491116687546],[-54.12206062125312,48.84792729787467],[-54.082906819324,48.84768391132244],[-54.07967450457687,48.86822427508743],[-54.00690715795031,48.89422314903687],[-54.000103392381355,48.89132387248829],[-53.9668128921331,48.887916092243046],[-53.93963888416868,48.90068659580165],[-53.906610303933356,48.8996064036622],[-53.94204160467535,48.88349309007773],[-53.962915506275024,48.88225831493549],[-53.96878001552472,48.87133350057714],[-53.983500208615034,48.86456930687326],[-54.00781919786146,48.85695580302542],[-53.99686798122849,48.84636320140141],[-53.98134420861432,48.84425809436313],[-53.995218800821945,48.82567848552572],[-54.01451259081847,48.823146608796236],[-54.01064009537509,48.83827730103811],[-54.03995339984705,48.83051381100324],[-54.08389452922923,48.831816940887265],[-54.084734773065925,48.819877646990555],[-54.0000055714046,48.81875603402346],[-54.00000448330592,48.81593881464543],[-53.9498939953603,48.8445613703744],[-53.89180439446961,48.87355775183126],[-53.87277212524901,48.86234870670495],[-53.8481801271529,48.862920481367524],[-53.81272481120667,48.86986883543264],[-53.77855647054711,48.87967852120298],[-53.714932638237215,48.90343619571001],[-53.662476874376296,48.91273943389272],[-53.59607177193254,48.92021501288906],[-53.53486971107614,48.91570887440567]],[[-53.58709939748744,49.06684053552723],[-53.590297246208216,49.0797073358894],[-53.57502935177574,49.08326186537867],[-53.56007234550318,49.069510702869785],[-53.57743986547037,49.06236779008089],[-53.58709939748744,49.06684053552723]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.93695674686694,\"lat\":49.01011357701532},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1007\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"1007051\"],\"csd_name_en\":[\"Division No.  7\",\"Subd. B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Division No.  7, Subd. B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.74701906039987,49.569102276016764],[-55.71816592553133,49.5641236086937],[-55.63844313148772,49.57061901979093],[-55.60122758732374,49.57764897209149],[-55.57599840986358,49.593177655865276],[-55.58456328173813,49.60413953679111],[-55.624577933914715,49.620761839678465],[-55.67569528195814,49.63210307163645],[-55.71093595635073,49.62895967564583],[-55.7304576369519,49.61472867552237],[-55.73008437561253,49.59139674524656],[-55.74701906039987,49.569102276016764]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.66710562635069,\"lat\":49.59651850386932},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008056\"],\"csd_name_en\":[\"Lushes Bight-Beaumont-Beaumont North\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Lushes Bight-Beaumont-Beaumont North\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.576171486151445,49.92707529302123],[-55.58453749723902,49.938908209965305],[-55.56635194303786,49.94487058026822],[-55.566336704475056,49.98408200149493],[-55.576331412099506,49.98521150560327],[-55.61132989498874,49.96406919737147],[-55.65373483427816,49.975485570310035],[-55.65435253504692,49.91766678993393],[-55.61977881873973,49.92782981887862],[-55.61063851578371,49.91677097485976],[-55.576171486151445,49.92707529302123]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.610738366363876,\"lat\":49.949108126926745},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008076\"],\"csd_name_en\":[\"LaScie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"LaScie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-57.09534196755796,50.229541499469036],[-57.06588223448433,50.21540298630244],[-57.04529155254038,50.2112340853869],[-57.02782795260244,50.21960246667085],[-57.00504374866662,50.23809740707939],[-56.97755805104091,50.23787718706355],[-56.98061258868377,50.248844987278076],[-56.994639113907645,50.256115033342404],[-56.97158836784643,50.27284831974674],[-56.96591378286533,50.292060051221675],[-56.985093044253844,50.29812447654061],[-56.98682780689651,50.30957063957241],[-56.95884052164947,50.31765533846528],[-56.96305450415568,50.33303861924647],[-56.95755196452442,50.34276301742043],[-56.964259122955724,50.37248730635928],[-56.929326033208405,50.37344355215347],[-56.92551017242881,50.395494636126145],[-56.914994055372745,50.42678682015369],[-56.904041406525025,50.434487915285125],[-56.93457017293397,50.43449662503065],[-56.982847050215256,50.450219154613386],[-57.04274050029266,50.45189808121233],[-57.09664615861,50.44166520760923],[-57.14390269001279,50.436146716648224],[-57.18189576723287,50.42844605033611],[-57.204290028947135,50.431030646806555],[-57.20780697966038,50.442144318312344],[-57.229484861568864,50.450536123472695],[-57.24037936526689,50.473839040794836],[-57.289678494911925,50.49268477025292],[-57.34761316173167,50.4885988615663],[-57.405240950878664,50.47743495852949],[-57.437915227040996,50.47749878407323],[-57.45860929284178,50.473036463075296],[-57.4999999871839,50.475613674355145],[-57.63241918435069,50.3396935669442],[-57.71235004209113,50.261948157823085],[-57.79051362366382,50.08519502977057],[-57.82709507318363,50.06045997429237],[-57.91060921041574,50.007701618191575],[-57.92998418032125,49.96475670106881],[-57.97898301619805,49.848442663284864],[-57.830593387694556,49.849215282249915],[-57.824997997375284,49.86574578897613],[-57.83596883297825,49.88122621255746],[-57.79911734199737,49.879010152619664],[-57.77947820871426,49.86649508496112],[-57.79778097499207,49.85518231525157],[-57.799158946165576,49.840491385589615],[-57.73412383513702,49.82693234317909],[-57.69835986371406,49.82230506928798],[-57.66638934648358,49.82639960084492],[-57.66371776804083,49.81937262082707],[-57.642926547278,49.81573960653758],[-57.58559391024695,49.83129671041665],[-57.55870941133931,49.8435265115809],[-57.534470111028774,49.84651780401484],[-57.51285766115831,49.82828915326636],[-57.475386528577765,49.83132499301881],[-57.45169678748168,49.8486863609197],[-57.41653180215172,49.84812585859844],[-57.41540166903163,49.85747760814904],[-57.45017735832797,49.85788419714976],[-57.441772170747555,49.87332300837601],[-57.41002814926538,49.88126730527703],[-57.401184190139794,49.906160581999615],[-57.407052521789865,49.91613720234224],[-57.431059392802844,49.93805214422025],[-57.44758150881144,49.942019402294385],[-57.44797562315223,49.95265814421454],[-57.41472847564648,49.97289622755659],[-57.37205914700238,49.99179846994674],[-57.34165885374688,50.0001013747666],[-57.32380099201692,50.00012114242649],[-57.26418661520375,50.008427296269645],[-57.242160321247226,50.01798552666384],[-57.19930515833016,50.03103538166198],[-57.19691823934726,50.05091925270886],[-57.22680521538659,50.058262750619235],[-57.204426195287134,50.073448360336],[-57.19150173386679,50.08789571451245],[-57.17329957521606,50.12709386824032],[-57.18282977007093,50.143107144571594],[-57.159549787332075,50.16418845907102],[-57.10720776966946,50.18807897586886],[-57.09760405607802,50.200060324974196],[-57.11375000531024,50.21413525915848],[-57.10886081258264,50.22786205794982],[-57.09534196755796,50.229541499469036]],[[-57.559702319364696,50.26178229582582],[-57.571847828621415,50.22110187885402],[-57.59164040600843,50.2090786062686],[-57.60696769827265,50.212510095108314],[-57.589824484981825,50.229968401990405],[-57.5918065041279,50.23939221317179],[-57.57765081224414,50.248558402437375],[-57.57116341298579,50.26312400118345],[-57.559702319364696,50.26178229582582]],[[-57.549214484724004,50.314841590569564],[-57.5281980979722,50.350141589851724],[-57.503937084498666,50.34049260547579],[-57.53095290030742,50.30210799697181],[-57.549214484724004,50.314841590569564]],[[-57.68938239654126,50.01145850263081],[-57.732242800581915,50.01051790507959],[-57.710607599982715,50.04530210040118],[-57.700393290256386,50.068738978620644],[-57.67615833799935,50.068484534052075],[-57.67549704720446,50.02759561177114],[-57.68938239654126,50.01145850263081]],[[-57.780209591521,49.93514740213355],[-57.76698998384478,49.936246804320305],[-57.74899308627652,49.94782770810742],[-57.724221102437184,49.92971874569162],[-57.778675373599334,49.89573140348277],[-57.787771346859024,49.88720043309512],[-57.81327616914109,49.902738724885445],[-57.786012422631686,49.91617949363382],[-57.77647390417455,49.925637903753916],[-57.780209591521,49.93514740213355]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-57.449644760553355,\"lat\":50.16450477465581},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1009\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"1009041\"],\"csd_name_en\":[\"Division No.  9\",\"Subd. H\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Division No.  9, Subd. H\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.420163821902584,46.0237523327053],[-62.355968440395465,46.11367871062725],[-62.446514027477804,46.09358083522456],[-62.47579561003764,46.10069314529456],[-62.510811075251965,46.09073881142996],[-62.542181474835594,46.11367388498386],[-62.55005056570043,46.107412183272054],[-62.57694618617458,46.100132057977426],[-62.713354699772886,46.0747274864245],[-62.66744970358402,45.9585276700809],[-62.63042412280318,45.85881977061309],[-62.550047057320164,45.86056097497857],[-62.553715520429414,45.90379945813567],[-62.558886470440484,45.903680515193756],[-62.59850312017733,45.99504601984185],[-62.57936397494177,46.00367278321966],[-62.58391409151478,46.01633879849199],[-62.564508537118726,46.026577096308884],[-62.542047022615385,46.03193311023205],[-62.51175987552537,46.021188388285154],[-62.492808839321164,46.01826239717227],[-62.46627121270669,46.026566076090404],[-62.420163821902584,46.0237523327053]],[[-62.612760884819444,46.01781302162894],[-62.60381594399097,46.00728886794581],[-62.6222479805568,46.00608560220448],[-62.612760884819444,46.01781302162894]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.569914936739735,\"lat\":46.01535210740079},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1101\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1101005\"],\"csd_name_en\":[\"Murray River\",\"Part 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Fire District\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Murray River, Part 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.59253353150271,46.34227728764332],[-62.596314387629356,46.34564999618616],[-62.67341381947568,46.33142289229706],[-62.68199959015105,46.31335656519462],[-62.70564251128415,46.30916283687129],[-62.71721846877556,46.30264444614693],[-62.702690236708584,46.299344169938834],[-62.66941392795845,46.284494797110575],[-62.65720211459861,46.26709804407487],[-62.620732955170645,46.259856996687894],[-62.62515851924384,46.283819229914776],[-62.586468407544075,46.29870491810441],[-62.59315721787503,46.31591309120559],[-62.58302410562483,46.317883594081046],[-62.59253353150271,46.34227728764332]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.63913317221214,\"lat\":46.30665165837403},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1101\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1101020\"],\"csd_name_en\":[\"Cardigan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Fire District\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Cardigan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.3327781708406,46.46017108143188],[-63.30092269638331,46.463605356568756],[-63.25585223728948,46.48798036062501],[-63.33123590025607,46.50885380813444],[-63.41574068150545,46.51944554911125],[-63.47888567773456,46.53565852055401],[-63.481963210429484,46.508240132971245],[-63.44973745822901,46.495600127948556],[-63.461679342034536,46.47803263308049],[-63.45712449223747,46.46267988698855],[-63.44582661032304,46.45709079323616],[-63.4222312048201,46.46188254765938],[-63.3766437270221,46.468955434578184],[-63.34807619425491,46.47843455028721],[-63.344122669698855,46.46752615685428],[-63.3327781708406,46.46017108143188]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.384245253726355,\"lat\":46.49171633041352},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1102\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1102045\"],\"csd_name_en\":[\"Stanley Bridge\",\"Hope River\",\"Bayview\",\"Cavendish and North Rustico\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Resort Municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Stanley Bridge, Hope River, Bayview, Cavendish and North Rustico\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.65318361124102,46.265020150418664],[-63.65036196626225,46.27477366787234],[-63.669117259276234,46.28194566151518],[-63.695925827031424,46.27666006216483],[-63.70216621687852,46.268515595371156],[-63.70124560231008,46.251502907457436],[-63.683495206544414,46.241215892260854],[-63.66217768821658,46.25437777205329],[-63.65318361124102,46.265020150418664]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.67848766534857,\"lat\":46.26357296387474},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1103\"],\"cd_name_en\":[\"Prince\"],\"csd_code\":[\"1103005\"],\"csd_name_en\":[\"Borden-Carleton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Prince\",\"csd_name_fr\":\"Borden-Carleton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.63280081634436,44.56616538004522],[-65.63359292873604,44.56644762748229],[-65.63626559036582,44.55681492083301],[-65.6122698490264,44.53421241201781],[-65.60214235225237,44.53992656471256],[-65.63280081634436,44.56616538004522]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.62052207003397,\"lat\":44.5492166078116},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1203\"],\"cd_name_en\":[\"Digby\"],\"csd_code\":[\"1203009\"],\"csd_name_en\":[\"Bear River (Part) 6\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Digby\",\"csd_name_fr\":\"Bear River (Part) 6\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.50540552243498,44.70728714798658],[-65.50182199667783,44.70176600218046],[-65.49867173329572,44.70507632374062],[-65.50110709819988,44.70895553389104],[-65.50540552243498,44.70728714798658]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.50186756895091,\"lat\":44.705703916218006},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1205\"],\"cd_name_en\":[\"Annapolis\"],\"csd_code\":[\"1205006\"],\"csd_name_en\":[\"Bear River 6B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Annapolis\",\"csd_name_fr\":\"Bear River 6B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.52463252512102,44.74005544061054],[-65.50869040064892,44.73467027994966],[-65.50011346700217,44.742670587313604],[-65.51405289277866,44.75469690002898],[-65.52463252512102,44.74005544061054]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.51231809701162,\"lat\":44.74351138563215},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1205\"],\"cd_name_en\":[\"Annapolis\"],\"csd_code\":[\"1205008\"],\"csd_name_en\":[\"Annapolis Royal\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Annapolis\",\"csd_name_fr\":\"Annapolis Royal\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.47524834579,45.073040386384534],[-64.48223100496126,45.088805309370066],[-64.49970410647481,45.08731190943782],[-64.50443240569446,45.07962729252169],[-64.52230119527871,45.08389350031632],[-64.5399428984928,45.077833398559726],[-64.56502920072343,45.08358958595576],[-64.55218788941369,45.06083509960423],[-64.54234789964727,45.058780897926596],[-64.49927084332064,45.060883075828706],[-64.47816934182421,45.05658250780422],[-64.47524834579,45.073040386384534]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.51472379178506,\"lat\":45.07163445420423},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1207\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1207012\"],\"csd_name_en\":[\"Kentville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Kentville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.394859347546486,45.129588789077374],[-63.35694191217957,45.111552098775505],[-63.33795729349922,45.12165138677236],[-63.32587561396994,45.117284004042176],[-63.31277520867316,45.12272591410148],[-63.32180148058424,45.14339048287514],[-63.31818978359162,45.15451070721237],[-63.33561448998941,45.15843940357417],[-63.34849264716698,45.14321822165721],[-63.370092323639156,45.1464918102119],[-63.382296027676375,45.14030858042278],[-63.394859347546486,45.129588789077374]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.349258836832774,\"lat\":45.13330524991815},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1210\"],\"cd_name_en\":[\"Colchester\"],\"csd_code\":[\"1210002\"],\"csd_name_en\":[\"Stewiacke\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Colchester\",\"csd_name_fr\":\"Stewiacke\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.69034450880622,45.54316978650061],[-62.686000105292784,45.55958511478716],[-62.69554551202176,45.57255229991322],[-62.725601113034315,45.57740441790549],[-62.737570090088916,45.574729303877206],[-62.722607380610135,45.536315401449315],[-62.70129438869091,45.52832929119683],[-62.69034450880622,45.54316978650061]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.710479273583765,\"lat\":45.55540538812696},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1212\"],\"cd_name_en\":[\"Pictou\"],\"csd_code\":[\"1212008\"],\"csd_name_en\":[\"Westville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Pictou\",\"csd_name_fr\":\"Westville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.63997680564339,45.67668271445143],[-62.657991683898366,45.67473113479882],[-62.65330719827712,45.6652773037791],[-62.642071376379086,45.66711070478284],[-62.63997680564339,45.67668271445143]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.64848159690102,\"lat\":45.67130004336515},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1212\"],\"cd_name_en\":[\"Pictou\"],\"csd_code\":[\"1212019\"],\"csd_name_en\":[\"Fisher's Grant 24\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Pictou\",\"csd_name_fr\":\"Fisher's Grant 24\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.45845592070665,45.02287083863086],[-66.46054923902558,45.18484809529038],[-66.45948747041216,45.221930443440854],[-66.45973958577055,45.31260902302465],[-66.45974307533118,45.31273338995463],[-66.59303717855221,45.312786626649896],[-66.59212424271652,45.23032014681119],[-66.59228721615847,45.12054978021526],[-66.57034202239858,45.11551718493255],[-66.57919375285793,45.104099307623166],[-66.55849104354591,44.97288552269984],[-66.50705643037658,45.00000957322867],[-66.45845592070665,45.02287083863086]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.52348624823476,\"lat\":45.16168411717683},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1302\"],\"cd_name_en\":[\"Charlotte\"],\"csd_code\":[\"1302008\"],\"csd_name_en\":[\"Lepreau\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Charlotte\",\"csd_name_fr\":\"Lepreau\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.0374373357027,46.11699373156745],[-66.03487873613119,46.119981795578795],[-65.94781646751323,46.22363864607799],[-65.8537675293194,46.33658050382143],[-65.97696291487243,46.359691258846745],[-66.1000968571873,46.22063533974823],[-66.15746665631661,46.15310632510937],[-66.10021183429284,46.041432774461676],[-66.08541975807364,46.05822083446304],[-66.08033224877543,46.06773529204642],[-66.08741395869053,46.08079636600186],[-66.1042969222112,46.08927157262461],[-66.08970496516545,46.105796284932175],[-66.0901777822424,46.1152545167677],[-66.05778177343026,46.120868215261986],[-66.0374373357027,46.11699373156745]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.01837907539894,\"lat\":46.22557402727456},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1303\"],\"cd_name_en\":[\"Sunbury\"],\"csd_code\":[\"1303018\"],\"csd_name_en\":[\"Northfield\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Sunbury\",\"csd_name_fr\":\"Northfield\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.91159169609217,45.77941270510099],[-65.92844462848714,45.78663278427203],[-65.94196510661455,45.76484181675553],[-65.98057944861964,45.78045488028643],[-66.00288683371383,45.76491600739205],[-66.01564346633384,45.733370743233934],[-66.04477171509537,45.724622244752304],[-66.06477805535258,45.70973618879683],[-66.07773892591933,45.723115235769086],[-66.08994939114712,45.726513266335736],[-66.1008685355824,45.695489397860555],[-66.08928396212372,45.6804514254405],[-66.08761275482334,45.64921541085948],[-66.08038491688401,45.626287251027534],[-66.06418764788435,45.61844445041538],[-66.05098775541113,45.60445422634853],[-65.9446272625023,45.6784650741213],[-65.8588800177158,45.737934993844824],[-65.89077450075521,45.766793676034],[-65.91159169609217,45.77941270510099]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.9914794735361,\"lat\":45.702766959441114},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1304\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1304008\"],\"csd_name_en\":[\"Wickham\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Wickham\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.81435373379375,45.617145088624724],[-65.81820788382107,45.62999753842911],[-65.81400566476105,45.642854189687284],[-65.79068089685843,45.65611460433613],[-65.76412772031213,45.68051049040941],[-65.68766519606872,45.702091701123216],[-65.70081299902374,45.73282673552586],[-65.66513902050544,45.749760847857075],[-65.65681413714148,45.76764749762717],[-65.75836791590407,45.80855171275631],[-65.80802781653782,45.7752864092215],[-65.8588800177158,45.737934993844824],[-65.9446272625023,45.6784650741213],[-65.91083308643925,45.650751756975],[-65.88876262969565,45.62336769140313],[-65.91749368012766,45.60145193815969],[-65.89793018001544,45.57534619298121],[-65.8811745879426,45.57038528215375],[-65.81435373379375,45.617145088624724]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.80749936921633,\"lat\":45.700952116293685},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1305\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1305034\"],\"csd_name_en\":[\"Springfield\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Springfield\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.86180890205051,46.666553165274124],[-64.85661120282798,46.701690904530686],[-64.87064846372009,46.69972015502453],[-64.91121532725232,46.67884827084458],[-64.90304043019034,46.67552023779595],[-64.89695999741286,46.65654508289536],[-64.86180890205051,46.666553165274124]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.8799047527274,\"lat\":46.67881195391139},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1308\"],\"cd_name_en\":[\"Kent\"],\"csd_code\":[\"1308018\"],\"csd_name_en\":[\"Richibucto\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town \\/ Ville\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kent\",\"csd_name_fr\":\"Richibucto\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.71499278932869,45.75598914020567],[-66.61917380458019,45.86835709142675],[-66.64069182863116,45.88339335355665],[-66.66408841037818,45.85409828699408],[-66.71971092521913,45.89177904113923],[-66.8462450978325,45.74360366967166],[-66.97100006828674,45.60001807921519],[-67.05675166272474,45.50357014162628],[-66.93627043814462,45.502670841387584],[-66.81140645501334,45.644272069352226],[-66.71499278932869,45.75598914020567]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.8348047121241,\"lat\":45.6884672963499},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1310\"],\"cd_name_en\":[\"York\"],\"csd_code\":[\"1310001\"],\"csd_name_en\":[\"New Maryland\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"York\",\"csd_name_fr\":\"New Maryland\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.72933647708662,48.00002500514195],[-65.75949408260185,48.00001204162498],[-65.81626339597084,48.00458621693444],[-65.91640185468073,48.01075200502782],[-66.00300682644955,48.0163519930348],[-66.0034111082573,48.03056805207945],[-66.07916627177563,48.036650797503036],[-66.1148368472784,47.97087637997475],[-66.16388367745176,47.97827009283363],[-66.1626995474412,47.797994665150156],[-66.16389182440011,47.74252448509029],[-66.16403278776495,47.56427963290711],[-66.10768866240439,47.57730572687448],[-66.06178178382555,47.63332676844871],[-66.0327966394718,47.67084094237673],[-65.9877435906769,47.73331810387669],[-65.91529924755083,47.827501439415876],[-65.96723262144899,47.83927723548737],[-65.98428359157829,47.846183556626926],[-65.99413014320831,47.830364553021624],[-66.03275193533604,47.84439576877177],[-66.03859865210713,47.825702447825144],[-66.06173292974405,47.82309228283217],[-66.07055891637262,47.827515914344986],[-66.0872720235388,47.81639706605024],[-66.09691749919324,47.799937284638204],[-66.11599873435199,47.80484101266357],[-66.10229056797384,47.836495101961276],[-66.04732021095089,47.92756456921685],[-66.0155665488944,47.927933842694586],[-65.98926081107774,47.920168418706034],[-65.93816726603976,47.917402830875034],[-65.89938841185267,47.9212417980805],[-65.87517384413941,47.91042304540478],[-65.82669281888465,47.9005325489545],[-65.79396334078454,47.880457727694655],[-65.72933647708662,48.00002500514195]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.02124152942498,\"lat\":47.84784668257543},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1314\"],\"cd_name_en\":[\"Restigouche\"],\"csd_code\":[\"1314001\"],\"csd_name_en\":[\"Durham\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Restigouche\",\"csd_name_fr\":\"Durham\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.63091189869574,47.982663870250455],[-66.60393053372589,47.988389763020066],[-66.61949895513095,48.025305340390005],[-66.67665892705381,48.01216834134436],[-66.70693649200147,48.00778138248741],[-66.68720142751795,47.974744103504506],[-66.64460576112873,47.98472232828059],[-66.63091189869574,47.982663870250455]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.65334262671955,\"lat\":47.99934895686903},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1314\"],\"cd_name_en\":[\"Restigouche\"],\"csd_code\":[\"1314014\"],\"csd_name_en\":[\"Campbellton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City \\/ Cit\\u00e9\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Restigouche\",\"csd_name_fr\":\"Campbellton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.05617826653067,49.18451835458612],[-65.01981125862866,49.17667792894631],[-65.02260939259136,49.1597503197148],[-64.9658780053214,49.1485183772495],[-64.96175805820631,49.16239972200479],[-64.9656751642271,49.22726891770471],[-64.99433580584996,49.23089219356873],[-65.05954656276546,49.23485721162749],[-65.05617826653067,49.18451835458612]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.00649047024717,\"lat\":49.19653206548717},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2403\"],\"cd_name_en\":[\"La C\\u00f4te-de-Gasp\\u00e9\"],\"csd_code\":[\"2403015\"],\"csd_name_en\":[\"Petite-Vall\\u00e9e\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La C\\u00f4te-de-Gasp\\u00e9\",\"csd_name_fr\":\"Petite-Vall\\u00e9e\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.18757377570567,49.098590530355544],[-65.19639934786828,49.242028530543266],[-65.2924572271651,49.25125256041986],[-65.36398509971637,49.255577659446566],[-65.49698393464334,49.255861601798074],[-65.4968640180809,49.15154818170841],[-65.36200074258423,49.16327157316379],[-65.29517049908044,49.15181504971913],[-65.29581010075697,49.096139687229794],[-65.24322819334184,49.099410080272726],[-65.18757377570567,49.098590530355544]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.33041240214371,\"lat\":49.19097695399021},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2404\"],\"cd_name_en\":[\"La Haute-Gasp\\u00e9sie\"],\"csd_code\":[\"2404005\"],\"csd_name_en\":[\"Sainte-Madeleine-de-la-Rivi\\u00e8re-Madeleine\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Haute-Gasp\\u00e9sie\",\"csd_name_fr\":\"Sainte-Madeleine-de-la-Rivi\\u00e8re-Madeleine\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.9047548105452,48.20584295750831],[-65.90001734292359,48.213095953993715],[-65.87055450095224,48.206290638719615],[-65.85673665962018,48.224097546404884],[-65.81349126387626,48.29194695847444],[-65.93347347391068,48.32830875653476],[-65.96982636850558,48.307675421636766],[-65.99073780208771,48.30766791274082],[-65.99962324599029,48.313914650729835],[-66.02570040768708,48.31050451193882],[-66.06958689615004,48.31537609098774],[-66.09696474926234,48.31045408178821],[-66.10009818245629,48.275837401036355],[-66.03918604780019,48.274549004922534],[-66.03947781958233,48.259191893304425],[-66.03180722267992,48.26416531236542],[-65.98127516506382,48.22771766177953],[-65.95570345234773,48.22015543925639],[-65.92976671714511,48.22097392162489],[-65.93399649619967,48.21188952379516],[-65.9047548105452,48.20584295750831]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.94421089304699,\"lat\":48.271840012733},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2405\"],\"cd_name_en\":[\"Bonaventure\"],\"csd_code\":[\"2405077\"],\"csd_name_en\":[\"Cascap\\u00e9dia--Saint-Jules\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Bonaventure\",\"csd_name_fr\":\"Cascap\\u00e9dia--Saint-Jules\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.9047548105452,48.20584295750831],[-65.93399649619967,48.21188952379516],[-65.92976671714511,48.22097392162489],[-65.95570345234773,48.22015543925639],[-65.98127516506382,48.22771766177953],[-66.03180722267992,48.26416531236542],[-66.03947781958233,48.259191893304425],[-66.08541199838989,48.22969325498768],[-66.08901708983018,48.165505520383],[-66.03039903267607,48.134962597664],[-66.00400622624721,48.09646553517918],[-66.0034111082573,48.03056805207945],[-66.00300682644955,48.0163519930348],[-65.91640185468073,48.01075200502782],[-65.91742873585954,48.13315561291685],[-65.91897212639648,48.15878783880095],[-65.9047548105452,48.20584295750831]],[[-65.93613757545144,48.20696812937797],[-65.91163071947832,48.20182843252768],[-65.92124149923146,48.19333690918705],[-65.93613757545144,48.20696812937797]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.98728528043941,\"lat\":48.14373231052027},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2406\"],\"cd_name_en\":[\"Avignon\"],\"csd_code\":[\"2406005\"],\"csd_name_en\":[\"Maria\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Avignon\",\"csd_name_fr\":\"Maria\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.01807967360628,48.0110706446966],[-67.0456270764939,48.03447915614754],[-67.06972920866994,48.03004826781574],[-67.08094807412517,48.03910490483608],[-67.13638677489658,47.99062948841573],[-67.08650150113868,47.9640069978078],[-67.09749236026948,47.954180096619936],[-67.06394669524194,47.93291611161449],[-67.04734483727191,47.932127195662325],[-67.02903155083777,47.91905609675972],[-67.00843022558189,47.93663254048321],[-66.99166761646316,47.92770169660577],[-66.9867869098306,47.955264524209696],[-66.97720171637225,47.964188524458095],[-67.01335816335921,47.9840612515516],[-66.99958545984808,47.996981381054105],[-67.01807967360628,48.0110706446966]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.05308842714564,\"lat\":47.979914597444925},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2406\"],\"cd_name_en\":[\"Avignon\"],\"csd_code\":[\"2406050\"],\"csd_name_en\":[\"Saint-Alexis-de-Matap\\u00e9dia\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Avignon\",\"csd_name_fr\":\"Saint-Alexis-de-Matap\\u00e9dia\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.13332348499837,48.25920463817823],[-67.16726262251352,48.31197035863814],[-67.16934075488189,48.323501916958286],[-67.24268396142214,48.30366996870215],[-67.27657011401664,48.30019118450812],[-67.33783983460106,48.285402613706104],[-67.29820968466785,48.214702257829515],[-67.13332348499837,48.25920463817823]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.23715487522753,\"lat\":48.269625293049465},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2407\"],\"cd_name_en\":[\"La Matap\\u00e9dia\"],\"csd_code\":[\"2407010\"],\"csd_name_en\":[\"Sainte-Florence\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Matap\\u00e9dia\",\"csd_name_fr\":\"Sainte-Florence\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.41115554732573,48.56023724893239],[-67.44401967123069,48.58239690483975],[-67.47893821891388,48.58644142812336],[-67.53644162468252,48.61573002844677],[-67.55180140140926,48.6236489887701],[-67.56300372764942,48.615060197966486],[-67.58065369588289,48.62450149552812],[-67.60620980677825,48.62436249112636],[-67.57953101933676,48.60254669270339],[-67.57655057865831,48.586486205550685],[-67.61678736618155,48.57530715672663],[-67.50814326351025,48.53398622818281],[-67.47058108075902,48.53097245158755],[-67.45554470216783,48.53067078700305],[-67.44866171338752,48.5217058925691],[-67.41115554732573,48.56023724893239]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.51245750604112,\"lat\":48.57189935186975},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2407\"],\"cd_name_en\":[\"La Matap\\u00e9dia\"],\"csd_code\":[\"2407914\"],\"csd_name_en\":[\"Lac-Matap\\u00e9dia\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Matap\\u00e9dia\",\"csd_name_fr\":\"Lac-Matap\\u00e9dia\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.1980985306399,48.529760610818585],[-68.23433770193131,48.54840729777218],[-68.2353302368805,48.54797186167222],[-68.24961701996752,48.53364961402897],[-68.28674624310413,48.51796959473223],[-68.27907505718301,48.506587124491276],[-68.30601346409817,48.50235756458055],[-68.32203552084299,48.50564427179237],[-68.35290590779529,48.48535491087618],[-68.2716855752865,48.435876348465655],[-68.26089827337987,48.44761334031575],[-68.20053752974027,48.46143894455202],[-68.15069866847016,48.48579206878718],[-68.13788868429639,48.49303157971193],[-68.1980985306399,48.529760610818585]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.2446937148691,\"lat\":48.49058845731191},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2409\"],\"cd_name_en\":[\"La Mitis\"],\"csd_code\":[\"2409030\"],\"csd_name_en\":[\"Saint-Donat\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Mitis\",\"csd_name_fr\":\"Saint-Donat\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.15865831523111,48.04484608827369],[-69.188549411981,48.0619556446239],[-69.19273427097703,48.07897624377929],[-69.23755720262558,48.07361044134146],[-69.24459797937219,48.067967935317085],[-69.25571575832925,48.050655759408166],[-69.27592444041666,48.03715230917001],[-69.2535465969977,48.01883092622354],[-69.20662010500169,47.98918533134411],[-69.16553283451154,48.017604923986795],[-69.11385659876757,47.98287386878536],[-69.11309179052351,47.9870747825235],[-69.10039881078431,48.002068439199164],[-69.102267196308,48.010975272233686],[-69.12111121619287,48.01591830433254],[-69.13627126650434,48.031842430926865],[-69.15865831523111,48.04484608827369]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.19552744862689,\"lat\":48.03116970407981},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2411\"],\"cd_name_en\":[\"Les Basques\"],\"csd_code\":[\"2411035\"],\"csd_name_en\":[\"Saint-\\u00c9loi\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Basques\",\"csd_name_fr\":\"Saint-\\u00c9loi\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.36037942636273,47.665509808801026],[-70.36453318620195,47.68122381306782],[-70.3839916498709,47.684201293376226],[-70.37846989704242,47.70696067085175],[-70.42078748633023,47.710168458324716],[-70.42080694139798,47.71791531749097],[-70.46996100825183,47.72252097731671],[-70.43430394952865,47.68716346993331],[-70.42555603507861,47.68323107664345],[-70.42489307022622,47.668407834001826],[-70.45068790623367,47.64982242643865],[-70.47147893390796,47.64589754950683],[-70.4874765085548,47.621436872058794],[-70.46889502726113,47.61139540645401],[-70.37026112568242,47.64210698230857],[-70.36037942636273,47.665509808801026]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.41875151224193,\"lat\":47.66456644415487},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2415\"],\"cd_name_en\":[\"Charlevoix-Est\"],\"csd_code\":[\"2415025\"],\"csd_name_en\":[\"Notre-Dame-des-Monts\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Charlevoix-Est\",\"csd_name_fr\":\"Notre-Dame-des-Monts\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.4100301669926,47.423722705434855],[-70.42906009425528,47.43921362908144],[-70.43827041939376,47.465455751283834],[-70.4481286806752,47.471510608673775],[-70.4355206732806,47.52556956801833],[-70.46755400830833,47.5255725962894],[-70.5057384619766,47.52304182842606],[-70.54304381923896,47.53096962665355],[-70.55695903076487,47.526414618397204],[-70.64281021858459,47.518470833079775],[-70.81765993274497,47.50003213615449],[-70.85535126574582,47.47127661847011],[-70.8788615359036,47.4317067152998],[-70.74799423029741,47.294652810118656],[-70.711112336576,47.25822889609359],[-70.64548219969906,47.33868151895732],[-70.6408814978069,47.336930995873665],[-70.6001619316813,47.3877099889428],[-70.5766689543178,47.37848151797664],[-70.56248483569799,47.39717648776102],[-70.52979649279006,47.38306984209757],[-70.46005035531847,47.405247577014215],[-70.4100301669926,47.423722705434855]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.65738371377954,\"lat\":47.42811948896753},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2416\"],\"cd_name_en\":[\"Charlevoix\"],\"csd_code\":[\"2416013\"],\"csd_name_en\":[\"Baie-Saint-Paul\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Charlevoix\",\"csd_name_fr\":\"Baie-Saint-Paul\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.80862532542933,46.840607059817984],[-70.8368402852671,46.860177636556685],[-70.86691148909901,46.830538950529345],[-70.8803582675834,46.80484399104584],[-70.8956942295916,46.776602334146546],[-70.8751658908546,46.76467225408155],[-70.86173461179277,46.766395994357616],[-70.8414930484283,46.7774495226227],[-70.811671753681,46.79965312637603],[-70.84046886867797,46.81879577397507],[-70.80862532542933,46.840607059817984]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.85178565420489,\"lat\":46.8075040361976},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2419\"],\"cd_name_en\":[\"Bellechasse\"],\"csd_code\":[\"2419090\"],\"csd_name_en\":[\"La Durantaye\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Bellechasse\",\"csd_name_fr\":\"La Durantaye\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.93521965464069,46.88112873595584],[-70.9828951838096,46.91637208535263],[-70.99591964060136,46.90931132344795],[-71.0134786542028,46.90134753608705],[-71.04007435791993,46.8828715660506],[-71.10726263155631,46.85930600700176],[-71.07840574867303,46.83977673029587],[-71.0042641273492,46.84993376757289],[-70.96604804324156,46.865672598041094],[-70.93521965464069,46.88112873595584]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.01576403395052,\"lat\":46.873261149933434},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2420\"],\"cd_name_en\":[\"L'\\u00cele-d'Orl\\u00e9ans\"],\"csd_code\":[\"2420020\"],\"csd_name_en\":[\"Saint-Laurent-de-l'\\u00cele-d'Orl\\u00e9ans\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"L'\\u00cele-d'Orl\\u00e9ans\",\"csd_name_fr\":\"Saint-Laurent-de-l'\\u00cele-d'Orl\\u00e9ans\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.66563685460312,46.27869066357199],[-70.5579193188359,46.3499633983813],[-70.62163278072693,46.394207364768285],[-70.66213223772027,46.424510973890236],[-70.68881240670324,46.407079374846475],[-70.75796286304858,46.362079258759074],[-70.76129145686116,46.350561527604114],[-70.72674971454633,46.324714496353536],[-70.66563685460312,46.27869066357199]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.66315916060701,\"lat\":46.35180096388254},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2427\"],\"cd_name_en\":[\"Robert-Cliche\"],\"csd_code\":[\"2427035\"],\"csd_name_en\":[\"Saint-Odilon-de-Cranbourne\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Robert-Cliche\",\"csd_name_fr\":\"Saint-Odilon-de-Cranbourne\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.58508927912408,45.94039498588754],[-70.62345311833776,45.989861211385424],[-70.64061521156665,45.984406148572084],[-70.63648045181453,46.045400306380515],[-70.66445813848881,46.0473680922438],[-70.66453555274059,46.035369575783484],[-70.68333424193412,46.03514616531534],[-70.6848597194606,45.98763714547971],[-70.7290760971465,45.9864968937533],[-70.73114470882939,45.914268832827624],[-70.64558418205664,45.91523393737558],[-70.63495712254104,45.90575487145396],[-70.63256642570528,45.88276976490008],[-70.56174542838684,45.908704888229394],[-70.58508927912408,45.94039498588754]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.65521502939674,\"lat\":45.955815250471005},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2429\"],\"cd_name_en\":[\"Beauce-Sartigan\"],\"csd_code\":[\"2429045\"],\"csd_name_en\":[\"Saint-Martin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Beauce-Sartigan\",\"csd_name_fr\":\"Saint-Martin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.84700480179022,45.45314290770709],[-70.8811981271117,45.45309870068695],[-70.88248384022911,45.52489607689516],[-70.9262317465507,45.52560927104358],[-70.92602840862592,45.520839274934126],[-71.01265424994011,45.5200298570049],[-71.01365081160604,45.461749441989184],[-70.99580414000631,45.46085684730178],[-70.9980009012422,45.428329151065654],[-70.96938486781166,45.42763819745248],[-70.84728559637543,45.4264720078242],[-70.84700480179022,45.45314290770709]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.93818329888782,\"lat\":45.47348041767857},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2430\"],\"cd_name_en\":[\"Le Granit\"],\"csd_code\":[\"2430020\"],\"csd_name_en\":[\"Piopolis\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Granit\",\"csd_name_fr\":\"Piopolis\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.5294772689596,46.163134416921785],[-71.55473379720651,46.1762688982762],[-71.5657620208669,46.18189418761215],[-71.57763724610759,46.171161682387655],[-71.60383150460515,46.18581190188813],[-71.64147176117102,46.154511061671904],[-71.63192881268219,46.14961922109639],[-71.65442831591342,46.126321672937664],[-71.67780426682324,46.120048152740225],[-71.71295374150534,46.08741292747373],[-71.68853026033753,46.07468780968804],[-71.69981796961568,46.062903326740326],[-71.62573227717381,46.02505841797718],[-71.58300315716802,46.066607966113914],[-71.51512813658617,46.132326770442674],[-71.50970189550428,46.137171903930145],[-71.5338857912228,46.149151308834625],[-71.5294772689596,46.163134416921785]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.61132408059754,\"lat\":46.108044504393014},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2432\"],\"cd_name_en\":[\"L'\\u00c9rable\"],\"csd_code\":[\"2432013\"],\"csd_name_en\":[\"Saint-Ferdinand\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"L'\\u00c9rable\",\"csd_name_fr\":\"Saint-Ferdinand\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.38469806515806,46.60853889548405],[-71.44451442687624,46.648501729132725],[-71.49003393595503,46.63377555362628],[-71.50566293161499,46.64455626512726],[-71.54369773212025,46.64004804384393],[-71.56397273706266,46.632331166601695],[-71.5538584935954,46.62467660067699],[-71.58281455234405,46.60706838434529],[-71.56104541887947,46.592191618236356],[-71.57078564328118,46.588098086765534],[-71.56118486850453,46.57538663979649],[-71.5620704230249,46.56140412221027],[-71.54569408873672,46.56442332706328],[-71.52814859391829,46.55241086098554],[-71.51201305382963,46.56215110336961],[-71.4993194065716,46.55449251176252],[-71.46495108847323,46.57754223349488],[-71.4071584741479,46.596297246899496],[-71.40110250362476,46.592153810403595],[-71.38469806515806,46.60853889548405]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.49188141648192,\"lat\":46.60413125247473},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2433\"],\"cd_name_en\":[\"Lotbini\\u00e8re\"],\"csd_code\":[\"2433090\"],\"csd_name_en\":[\"Saint-Apollinaire\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Lotbini\\u00e8re\",\"csd_name_fr\":\"Saint-Apollinaire\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.14683005181587,46.617273723005546],[-72.24744784336045,46.68904826186405],[-72.28668791252794,46.71760887923367],[-72.31160307477622,46.70055957997148],[-72.22607123911258,46.6425499331243],[-72.22615502156664,46.6336984242511],[-72.26122768023833,46.61218940912031],[-72.24226068782491,46.59882359302894],[-72.28374108673422,46.572052861678465],[-72.2802640570523,46.56900666200684],[-72.21341064769686,46.521529581861195],[-72.19052494919414,46.54127540573478],[-72.16578421258208,46.55521044222392],[-72.13777086469415,46.56471653080212],[-72.08144371704445,46.570025463080206],[-72.14683005181587,46.617273723005546]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.20597674051831,\"lat\":46.6043692670329},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2437\"],\"cd_name_en\":[\"Francheville\"],\"csd_code\":[\"2437205\"],\"csd_name_en\":[\"Sainte-Anne-de-la-P\\u00e9rade\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Francheville\",\"csd_name_fr\":\"Sainte-Anne-de-la-P\\u00e9rade\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.44428323872967,46.45256304511353],[-72.48210520160087,46.478630941101805],[-72.45732872549922,46.4922852080614],[-72.49919853131179,46.521671692785226],[-72.51107157665959,46.53047705971538],[-72.52935525586521,46.5176051761359],[-72.55387666505322,46.534995299323995],[-72.59420717726897,46.50680862771886],[-72.61924542600782,46.49594627998592],[-72.58915534054566,46.47472297058794],[-72.5969995917984,46.4690587813507],[-72.52956308862811,46.42130314741299],[-72.48588585158689,46.449907798198105],[-72.46964245369102,46.43919841114801],[-72.44428323872967,46.45256304511353]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.5306508939369,\"lat\":46.48013258990444},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2437\"],\"cd_name_en\":[\"Francheville\"],\"csd_code\":[\"2437230\"],\"csd_name_en\":[\"Saint-Maurice\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Francheville\",\"csd_name_fr\":\"Saint-Maurice\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.64597530554639,45.47865099105172],[-71.6422522373236,45.494822528330054],[-71.67918789017874,45.49464179407557],[-71.67813143161409,45.46816580391883],[-71.64121674888582,45.46844831145061],[-71.64597530554639,45.47865099105172]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.66127642698699,\"lat\":45.48157559991511},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2441\"],\"cd_name_en\":[\"Le Haut-Saint-Fran\\u00e7ois\"],\"csd_code\":[\"2441060\"],\"csd_name_en\":[\"East Angus\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Saint-Fran\\u00e7ois\",\"csd_name_fr\":\"East Angus\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.42361023087403,45.16021726408006],[-71.42477970222791,45.16579390935337],[-71.39745409586794,45.20298828853301],[-71.40195659035614,45.21413848758706],[-71.41590379050777,45.21841599919596],[-71.44050849480278,45.23498049673659],[-71.41769793364085,45.23481643851464],[-71.40724472479194,45.24160730518171],[-71.45908483874265,45.24018147538082],[-71.60511380575696,45.238594378488465],[-71.6016746491163,45.15940412489931],[-71.57024365927755,45.15965951880348],[-71.42361023087403,45.16021726408006]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.507979300243,\"lat\":45.19985379039325},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2444\"],\"cd_name_en\":[\"Coaticook\"],\"csd_code\":[\"2444003\"],\"csd_name_en\":[\"Saint-Malo\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Coaticook\",\"csd_name_fr\":\"Saint-Malo\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.99224532712806,45.19175616486215],[-73.0112012286563,45.192819870851984],[-73.01175642550791,45.20255750175754],[-73.03264721567578,45.20194451091325],[-73.04082911071602,45.21141793352765],[-73.05783051102394,45.21419733486461],[-73.091588429412,45.196402123068836],[-73.08570372603253,45.17183158340567],[-73.0853436354707,45.15108273849224],[-73.0457654193303,45.14897295764973],[-73.01130172335164,45.149968421123475],[-72.991547216181,45.15000731743908],[-72.99224532712806,45.19175616486215]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.04187986854569,\"lat\":45.177494763782825},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2446\"],\"cd_name_en\":[\"Brome-Missisquoi\"],\"csd_code\":[\"2446100\"],\"csd_name_en\":[\"Notre-Dame-de-Stanbridge\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Brome-Missisquoi\",\"csd_name_fr\":\"Notre-Dame-de-Stanbridge\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.57578254111745,45.7772377640368],[-72.60188568299381,45.792358603444825],[-72.61825594515672,45.778881541340674],[-72.64609401981514,45.75585683602901],[-72.6801634455686,45.775487145845055],[-72.70444443271444,45.75911127565077],[-72.68257235216362,45.74368917926632],[-72.68864637993488,45.7241835826657],[-72.68857582606468,45.713469927610156],[-72.64978163225047,45.71310210892416],[-72.64938953551403,45.724822672036424],[-72.55181097444603,45.72428478361859],[-72.55188566643909,45.73729552388081],[-72.57793921983618,45.752514367960075],[-72.56272566031755,45.764992302650974],[-72.57578254111745,45.7772377640368]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.62583090320508,\"lat\":45.74786110863053},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2448\"],\"cd_name_en\":[\"Acton\"],\"csd_code\":[\"2448050\"],\"csd_name_en\":[\"Saint-Nazaire-d'Acton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Acton\",\"csd_name_fr\":\"Saint-Nazaire-d'Acton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.6555495570019,46.007331763051866],[-72.67317465150587,46.01259411517634],[-72.75260547568193,45.94304599067693],[-72.75357285983979,45.942196668497466],[-72.7170052263472,45.917474258459904],[-72.69660688854266,45.91703080376131],[-72.66626214748392,45.90547893069962],[-72.65612755803507,45.91543275900925],[-72.62987781597936,45.940444185731344],[-72.58409838020164,45.979082192471],[-72.61557074163474,45.98905575804232],[-72.6555495570019,46.007331763051866]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.67141350109601,\"lat\":45.958700283947536},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2449\"],\"cd_name_en\":[\"Drummond\"],\"csd_code\":[\"2449125\"],\"csd_name_en\":[\"Saint-Bonaventure\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Drummond\",\"csd_name_fr\":\"Saint-Bonaventure\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.14031318119336,46.30347438596849],[-73.12380557328417,46.318399305484355],[-73.10472362148717,46.31373346556483],[-73.0907159265658,46.32401268136635],[-73.16184337324823,46.37798815958786],[-73.16914069242796,46.382096886884575],[-73.1694142325686,46.37372107465627],[-73.18807616705499,46.369768470484246],[-73.20439769729612,46.357928772025495],[-73.19226776482527,46.34977441291975],[-73.20311586112311,46.34248176213933],[-73.17647448154467,46.32331374946572],[-73.2150868567503,46.32430152254025],[-73.22657966406759,46.3161958300151],[-73.19592128163536,46.29424722593198],[-73.1744907475553,46.27899116703604],[-73.14031318119336,46.30347438596849]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.16219097584585,\"lat\":46.32927582027272},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2451\"],\"cd_name_en\":[\"Maskinong\\u00e9\"],\"csd_code\":[\"2451050\"],\"csd_name_en\":[\"Saint-\\u00c9douard-de-Maskinong\\u00e9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Maskinong\\u00e9\",\"csd_name_fr\":\"Saint-\\u00c9douard-de-Maskinong\\u00e9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.77508605834376,46.50658336007651],[-72.77148126264332,46.52039148599521],[-72.77824006705775,46.53171450720084],[-72.76642906750604,46.54612514139697],[-72.83089691099717,46.59199345195036],[-72.84583946705469,46.58545293070128],[-72.9340267027273,46.53072600294428],[-72.89362686191865,46.48732051020684],[-72.8847830622214,46.47476103790353],[-72.85676331358904,46.456573549751496],[-72.85185104450305,46.45317523480197],[-72.77508605834376,46.50658336007651]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.84497514964659,\"lat\":46.52426838484872},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2451\"],\"cd_name_en\":[\"Maskinong\\u00e9\"],\"csd_code\":[\"2451085\"],\"csd_name_en\":[\"Saint-Boniface\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Maskinong\\u00e9\",\"csd_name_fr\":\"Saint-Boniface\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.24044228028694,45.89222587113607],[-73.32884749741237,45.95272110520513],[-73.35093385669292,45.96848963780917],[-73.3602745018689,45.9618673835584],[-73.3616648311594,45.94706368420749],[-73.36021462220641,45.93523908938803],[-73.39204338648766,45.90523480185209],[-73.3448338652849,45.871344362918094],[-73.312503087409,45.84763826417801],[-73.2694379017057,45.857264692185055],[-73.24044228028694,45.89222587113607]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.31772117985567,\"lat\":45.90136970972993},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2452\"],\"cd_name_en\":[\"D'Autray\"],\"csd_code\":[\"2452007\"],\"csd_name_en\":[\"Lavaltrie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"D'Autray\",\"csd_name_fr\":\"Lavaltrie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.82725791689472,46.03209368207483],[-72.83033431380336,46.02091684188375],[-72.86086191831043,46.04270473044273],[-72.86852804014313,46.03361779181826],[-72.88887468090209,46.04019093251178],[-72.90176659832797,46.03281381107193],[-72.87541392066,46.0080562504487],[-72.88875223195969,46.002338433797256],[-72.88352367758075,45.974512511646694],[-72.87110566680175,45.979879448937176],[-72.86114127789835,45.97414285495866],[-72.81025068356008,45.9847899121192],[-72.80501596090886,45.98116607441068],[-72.79087698804489,45.99187156723426],[-72.80356349013437,45.99736271543068],[-72.8002086740712,46.01330150063634],[-72.81977666090945,46.0276387181178],[-72.82725791689472,46.03209368207483]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.84853261224912,\"lat\":46.00607194732385},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2453\"],\"cd_name_en\":[\"Pierre-De Saurel\"],\"csd_code\":[\"2453085\"],\"csd_name_en\":[\"Saint-G\\u00e9rard-Majella\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Pierre-De Saurel\",\"csd_name_fr\":\"Saint-G\\u00e9rard-Majella\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.1247233571887,45.05682530771992],[-73.17281080378177,45.05776311190463],[-73.1735536055214,45.09643635559204],[-73.25697437949974,45.095826243229],[-73.25657083169179,45.06331499517483],[-73.26713530767994,45.05565787426558],[-73.26641240759668,45.01213267201815],[-73.16012848939728,45.01403427540602],[-73.1247233571887,45.05682530771992]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.20855299317907,\"lat\":45.05132697497101},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2456\"],\"cd_name_en\":[\"Le Haut-Richelieu\"],\"csd_code\":[\"2456010\"],\"csd_name_en\":[\"Saint-Georges-de-Clarenceville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Richelieu\",\"csd_name_fr\":\"Saint-Georges-de-Clarenceville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.348653018981,45.072391197385066],[-73.35796798794071,45.091633574012064],[-73.3562667141781,45.13232688491728],[-73.37743366847661,45.13282585150733],[-73.39141023876319,45.12206821615299],[-73.39979750135232,45.10742864580104],[-73.39139971711606,45.09225333431284],[-73.39106213126085,45.04245215544575],[-73.41194521975548,45.04209184255993],[-73.41070972566376,45.00978857369318],[-73.34362256133653,45.01070828654706],[-73.34247116662934,45.02621536481083],[-73.33123021601622,45.04530777987796],[-73.32915932675256,45.06555845921435],[-73.348653018981,45.072391197385066]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.37129033312179,\"lat\":45.06147859182741},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2456\"],\"cd_name_en\":[\"Le Haut-Richelieu\"],\"csd_code\":[\"2456023\"],\"csd_name_en\":[\"Lacolle\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Richelieu\",\"csd_name_fr\":\"Lacolle\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.29977766207983,45.09623967706235],[-73.27653968965167,45.108351110483476],[-73.25907936204275,45.123177457933345],[-73.25322162352661,45.13457889206658],[-73.2573416565019,45.16880175784265],[-73.25585036258964,45.183990664175646],[-73.28633691854705,45.18349844273458],[-73.28750626726202,45.16998299840227],[-73.3092084753673,45.16412022123584],[-73.30756283245579,45.14387541522903],[-73.28960008097707,45.14336961055411],[-73.2903938247283,45.12798657285697],[-73.31468770168047,45.12682340402606],[-73.31532130248586,45.10600559885956],[-73.33655315514295,45.09219300002662],[-73.348653018981,45.072391197385066],[-73.32915932675256,45.06555845921435],[-73.319879618094,45.08247239843751],[-73.29977766207983,45.09623967706235]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.29061136193123,\"lat\":45.13075652229642},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2456\"],\"cd_name_en\":[\"Le Haut-Richelieu\"],\"csd_code\":[\"2456035\"],\"csd_name_en\":[\"Saint-Paul-de-l'\\u00cele-aux-Noix\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Richelieu\",\"csd_name_fr\":\"Saint-Paul-de-l'\\u00cele-aux-Noix\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.2743699995039,46.20315266399235],[-74.2582176075498,46.198007350173654],[-74.23189432852713,46.21648087111838],[-74.18409663634151,46.250051290811875],[-74.04008205358042,46.3493884510999],[-74.09912054795171,46.385979181897646],[-74.15127156747796,46.42282785625849],[-74.19051080641655,46.4485003744472],[-74.26826736336295,46.398105779054276],[-74.33400991964606,46.352462233775974],[-74.41182411148671,46.2976984600069],[-74.34413795426013,46.25008002461301],[-74.2743699995039,46.20315266399235]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.2273786815601,\"lat\":46.32264156571677},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2462\"],\"cd_name_en\":[\"Matawinie\"],\"csd_code\":[\"2462060\"],\"csd_name_en\":[\"Saint-Donat\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Matawinie\",\"csd_name_fr\":\"Saint-Donat\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.85833191540425,45.00176911302964],[-73.74724659188131,45.003077421760906],[-73.69493733526281,45.00278288003433],[-73.69431492257799,45.04629190222089],[-73.68630983806415,45.046316671581984],[-73.68352853903505,45.094483496084656],[-73.81923613788832,45.04694199574813],[-73.85823198713166,45.03113698237834],[-73.85833191540425,45.00176911302964]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.75996524842685,\"lat\":45.036147461066136},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2469\"],\"cd_name_en\":[\"Le Haut-Saint-Laurent\"],\"csd_code\":[\"2469005\"],\"csd_name_en\":[\"Havelock\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Saint-Laurent\",\"csd_name_fr\":\"Havelock\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.07887238836636,45.21887026780405],[-74.09838271327297,45.22047887681571],[-74.13956091597106,45.22905085809601],[-74.17574738479838,45.228609237627886],[-74.18958071985541,45.240166241726364],[-74.1974581918909,45.23409215554977],[-74.21362083291812,45.22278007620532],[-74.14716728583858,45.16538528731236],[-74.12410519474892,45.14548596761254],[-74.02590895850895,45.15471575687603],[-74.09814500539466,45.210352884960265],[-74.07887238836636,45.21887026780405]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.12345186370791,\"lat\":45.18981859131829},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2470\"],\"cd_name_en\":[\"Beauharnois-Salaberry\"],\"csd_code\":[\"2470040\"],\"csd_name_en\":[\"Saint-Stanislas-de-Kostka\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Beauharnois-Salaberry\",\"csd_name_fr\":\"Saint-Stanislas-de-Kostka\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.84319804810661,45.57890046611031],[-73.84075599330899,45.58301779057042],[-73.8969058375125,45.61740747508161],[-73.91656349767425,45.605781639354475],[-73.93287496141885,45.616556897499535],[-73.9511607342081,45.61653157338481],[-73.95294941942248,45.60539369488069],[-73.98104508827548,45.60204898237729],[-73.97797980105179,45.581539896881104],[-73.98746510918124,45.57337058790131],[-74.01134030165599,45.57962799624614],[-74.02581786096873,45.56748180941499],[-74.01877956574232,45.566897212349765],[-73.97322278733786,45.53390921465],[-73.9686054196482,45.53794161821188],[-73.92574970581066,45.543175527101496],[-73.90090262327863,45.55586647868738],[-73.88510794420033,45.54376387360818],[-73.88451200187826,45.55862646999094],[-73.86937208452379,45.56281427836363],[-73.84319804810661,45.57890046611031]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.93071794348164,\"lat\":45.57643573871469},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2472\"],\"cd_name_en\":[\"Deux-Montagnes\"],\"csd_code\":[\"2472005\"],\"csd_name_en\":[\"Saint-Eustache\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Deux-Montagnes\",\"csd_name_fr\":\"Saint-Eustache\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.81303965631837,45.64294264633221],[-73.83377395200604,45.653559895575974],[-73.84521296946004,45.647052209751024],[-73.86992609547474,45.663129522246436],[-73.88071245298332,45.6552331402882],[-73.86390910104919,45.64373353568218],[-73.84670750236764,45.63187504695923],[-73.8284672834388,45.63021688524446],[-73.81303965631837,45.64294264633221]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.84589177433519,\"lat\":45.64478065198067},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2473\"],\"cd_name_en\":[\"Th\\u00e9r\\u00e8se-De Blainville\"],\"csd_code\":[\"2473010\"],\"csd_name_en\":[\"Sainte-Th\\u00e9r\\u00e8se\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Th\\u00e9r\\u00e8se-De Blainville\",\"csd_name_fr\":\"Sainte-Th\\u00e9r\\u00e8se\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.80831134157096,46.23627546221159],[-75.78472283717585,46.285146634204466],[-75.78810489771328,46.29390932625433],[-75.81609575069584,46.306278273500205],[-75.93490570602215,46.3063784286797],[-75.92554624128027,46.2969670167979],[-75.93978855448367,46.28283815790308],[-75.94342809401242,46.27380605661076],[-75.9310210112908,46.26452191170023],[-75.93669180453693,46.25365183817315],[-75.89902007819971,46.25405263985712],[-75.89646162252228,46.239390179723095],[-75.88542291064022,46.229979429288576],[-75.86379842393256,46.237242967380546],[-75.80831134157096,46.23627546221159]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.8619117237138,\"lat\":46.27325710655366},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2483\"],\"cd_name_en\":[\"La Vall\\u00e9e-de-la-Gatineau\"],\"csd_code\":[\"2483055\"],\"csd_name_en\":[\"Sainte-Th\\u00e9r\\u00e8se-de-la-Gatineau\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-de-la-Gatineau\",\"csd_name_fr\":\"Sainte-Th\\u00e9r\\u00e8se-de-la-Gatineau\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.86272259560042,45.891823234080135],[-76.80050951956757,45.96907879828937],[-76.82265301894958,45.97854804741462],[-76.81904519696356,46.163566171584364],[-76.93204472563922,46.16496418262847],[-77.00591087726295,46.16492981056624],[-77.00587921607918,46.054694267473565],[-76.94951372039573,46.03054431290636],[-77.04893944592163,45.91344598936964],[-77.02186426913072,45.91352011662373],[-76.98436553975894,45.9043075471639],[-76.97763841433986,45.91258211120656],[-76.95087094816492,45.90550215627066],[-76.93372468644058,45.90617183589953],[-76.92114780510825,45.89422582842495],[-76.8948386007748,45.898146175333615],[-76.86272259560042,45.891823234080135]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.91173982201657,\"lat\":46.033018953030854},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2484\"],\"cd_name_en\":[\"Pontiac\"],\"csd_code\":[\"2484070\"],\"csd_name_en\":[\"Waltham\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Pontiac\",\"csd_name_fr\":\"Waltham\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.65942636237608,46.191790707795604],[-77.57026029759541,46.29898025387477],[-77.56574588601252,46.304600856214115],[-77.7285081402401,46.36883434333221],[-77.85138496962131,46.22425867013997],[-77.85016760210638,46.207969685052376],[-77.81607648257821,46.20347581442802],[-77.7839261855539,46.195910532323474],[-77.73877011036927,46.19349475311642],[-77.722059580059,46.19200294912455],[-77.69780869227321,46.182930639146846],[-77.68043604936193,46.19831844243621],[-77.65942636237608,46.191790707795604]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.71033155994216,\"lat\":46.268097286376836},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2484\"],\"cd_name_en\":[\"Pontiac\"],\"csd_code\":[\"2484100\"],\"csd_name_en\":[\"Rapides-des-Joachims\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Pontiac\",\"csd_name_fr\":\"Rapides-des-Joachims\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.25971777450268,47.12834064351028],[-79.25923204464785,47.2482032473327],[-79.3677863996175,47.2483778446276],[-79.37219807956295,47.275267269128356],[-79.45035856457525,47.27723956717301],[-79.42684265021018,47.250069239231024],[-79.42655002439767,47.23682187666787],[-79.43748171174798,47.21926620448566],[-79.4319694853423,47.17998594084349],[-79.44098810567439,47.150114925676405],[-79.44342929410661,47.10745084166928],[-79.36695933734256,47.10794196638867],[-79.36603391432617,47.07836430511285],[-79.354022352941,47.0829950306634],[-79.35272517662553,47.108826028253326],[-79.32402975107709,47.10860352255593],[-79.32401648979318,47.12812350392723],[-79.25971777450268,47.12834064351028]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.35522055042016,\"lat\":47.18527722138537},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2485\"],\"cd_name_en\":[\"T\\u00e9miscamingue\"],\"csd_code\":[\"2485015\"],\"csd_name_en\":[\"Saint-\\u00c9douard-de-Fabre\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscamingue\",\"csd_name_fr\":\"Saint-\\u00c9douard-de-Fabre\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.30163378821219,47.85115119179633],[-79.38631304472521,47.85127326195478],[-79.3871442892838,47.90821280851388],[-79.51748151198484,47.90828161662813],[-79.51801531007044,47.75437837497427],[-79.51754972796705,47.667814247024616],[-79.5175615440464,47.66008093787281],[-79.50433285793639,47.64823716602947],[-79.44299046027932,47.64863145412593],[-79.4427320234139,47.63051605854748],[-79.37968403120627,47.62997591938739],[-79.379757933214,47.7410724443858],[-79.30143642538783,47.74172039353061],[-79.30163378821219,47.85115119179633]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.42769031509336,\"lat\":47.77751234082687},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2485\"],\"cd_name_en\":[\"T\\u00e9miscamingue\"],\"csd_code\":[\"2485100\"],\"csd_name_en\":[\"N\\u00e9d\\u00e9lec\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscamingue\",\"csd_name_fr\":\"N\\u00e9d\\u00e9lec\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.20676383525084,48.617173523238584],[-79.25419635154242,48.61742925157901],[-79.25336189765156,48.63670950235116],[-79.2596591063336,48.65051247156801],[-79.27243015101541,48.65036211306905],[-79.31201753762244,48.690630624126804],[-79.35892115893789,48.67753594653959],[-79.37131068508107,48.6776766707934],[-79.35552116235645,48.648652514363846],[-79.35595858816744,48.61847408529739],[-79.3229419317939,48.61811888641352],[-79.32289362642244,48.574400770242285],[-79.2992361242056,48.57463226011605],[-79.29874076306861,48.56182758630369],[-79.20891792067196,48.56166484034869],[-79.20676383525084,48.617173523238584]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.2876394222925,\"lat\":48.61866482560161},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2487\"],\"cd_name_en\":[\"Abitibi-Ouest\"],\"csd_code\":[\"2487020\"],\"csd_name_en\":[\"Gallichan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi-Ouest\",\"csd_name_fr\":\"Gallichan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.00723222997634,48.587653173138335],[-79.00570915068784,48.616715130259045],[-79.04543728909871,48.616766982128965],[-79.04483065106095,48.64607538360979],[-79.08107287267958,48.646185712550135],[-79.14304250041864,48.646415403990254],[-79.14392951359459,48.61710879346086],[-79.20676383525084,48.617173523238584],[-79.20891792067196,48.56166484034869],[-79.08264099729608,48.56120335713434],[-79.02739637136644,48.56111238397932],[-79.02713738519978,48.57483636968655],[-79.02691618013108,48.587859109491355],[-79.00723222997634,48.587653173138335]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.10808391402128,\"lat\":48.59874763239736},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2487\"],\"cd_name_en\":[\"Abitibi-Ouest\"],\"csd_code\":[\"2487030\"],\"csd_name_en\":[\"Sainte-Germaine-Boul\\u00e9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi-Ouest\",\"csd_name_fr\":\"Sainte-Germaine-Boul\\u00e9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.56104213937193,48.503406168329704],[-77.5611586786625,48.547323646439374],[-77.58988386840596,48.54742010857493],[-77.5830560495099,48.55987516124006],[-77.58613867574988,48.57492970998583],[-77.76943821172321,48.5752040234644],[-77.77682008125724,48.57528232539565],[-77.77761448898698,48.430498512871594],[-77.77840992288044,48.28751794109196],[-77.67505902672835,48.287178067655525],[-77.56056126431166,48.287969436384714],[-77.56104213937193,48.503406168329704]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.67033944474844,\"lat\":48.42960561052739},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2488\"],\"cd_name_en\":[\"Abitibi\"],\"csd_code\":[\"2488022\"],\"csd_name_en\":[\"Barraute\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi\",\"csd_name_fr\":\"Barraute\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.22398512919831,48.42995488257144],[-78.270787752396,48.430220516205296],[-78.27007068914843,48.47423105190082],[-78.64571056851246,48.47380438912719],[-78.64588873973562,48.43025083464874],[-78.5391547362952,48.43047287956552],[-78.5434434516932,48.240876227950714],[-78.42919192408398,48.241068359788486],[-78.42804446222733,48.28358805700138],[-78.38941924956109,48.297041879177264],[-78.35509242284105,48.3166950401907],[-78.32148610700922,48.34525077728134],[-78.29841810813075,48.343059688060755],[-78.27691904737925,48.3359305889102],[-78.28236820939985,48.320929051582795],[-78.27205448291959,48.298310076991974],[-78.22383277879278,48.29784800118293],[-78.22398512919831,48.42995488257144]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.416858870362,\"lat\":48.379650204833595},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2488\"],\"cd_name_en\":[\"Abitibi\"],\"csd_code\":[\"2488090\"],\"csd_name_en\":[\"Preissac\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi\",\"csd_name_fr\":\"Preissac\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.1431040906315,48.48690320751177],[-72.1589489539355,48.493622771914396],[-72.16293537138871,48.51698603227221],[-72.18970160151122,48.512780083357555],[-72.21210763626112,48.559117398003075],[-72.24877608280342,48.5403521417189],[-72.27179605012232,48.56089513645462],[-72.3413499508886,48.52526546330275],[-72.31894737378936,48.50536541772487],[-72.34401727463369,48.49277284944196],[-72.25735678593455,48.41421432085367],[-72.28521280237622,48.39980095447143],[-72.17177557406357,48.3758796136894],[-72.16819192173861,48.39491185416935],[-72.15268264332198,48.400658034006376],[-72.16799696107469,48.42323291110402],[-72.17609581168597,48.424997035377466],[-72.1431040906315,48.48690320751177]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.23721078117472,\"lat\":48.47274551688631},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2491\"],\"cd_name_en\":[\"Le Domaine-du-Roy\"],\"csd_code\":[\"2491025\"],\"csd_name_en\":[\"Roberval\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Domaine-du-Roy\",\"csd_name_fr\":\"Roberval\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.97641218193716,52.75357418396718],[-66.98983719592862,52.762168653981924],[-67.03430408222707,52.747015631035275],[-67.03961664451002,52.767495955005586],[-67.06700674305895,52.77511624801296],[-67.05784719094864,52.80640063794367],[-67.06225284532023,52.81816110644269],[-67.04767168771015,52.837240206552366],[-67.05592523186286,52.857267125002934],[-67.05412877522888,52.86807761860873],[-67.07425222907817,52.875451808872945],[-67.12259782425997,52.86238076269384],[-67.13418765345526,52.85104259120025],[-67.15555165052743,52.84982530010341],[-67.15490018639109,52.822823139397215],[-67.17541067285565,52.821394337225726],[-67.18552486531831,52.83198920170408],[-67.22747230011291,52.84177083297748],[-67.25242135877069,52.86786253965283],[-67.44679792415324,52.866305656167576],[-67.44884273778221,52.69967219815159],[-66.97846047621645,52.700854927294635],[-66.97641218193716,52.75357418396718]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.23935774291814,\"lat\":52.77683347366252},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2497\"],\"cd_name_en\":[\"Sept-Rivi\\u00e8res--Caniapiscau\"],\"csd_code\":[\"2497035\"],\"csd_name_en\":[\"Fermont\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Sept-Rivi\\u00e8res--Caniapiscau\",\"csd_name_fr\":\"Fermont\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.5257955377539,59.330584347459805],[-69.54916379269584,59.325364805958955],[-69.5804477773804,59.326051702632284],[-69.59953389533344,59.31744040475268],[-69.6088262153745,59.298845398081355],[-69.62816581758396,59.294440733905866],[-69.63127438799921,59.26071756829357],[-69.57492608605537,59.26038383353812],[-69.57014048583392,59.27849877003977],[-69.5275035691583,59.27793196021929],[-69.5257955377539,59.330584347459805]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.57624156388844,\"lat\":59.29394669746167},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499105\"],\"csd_name_en\":[\"Aupaluk\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village nordique\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Aupaluk\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.0670940140487,61.7436714964862],[-72.08249661472641,61.761503409546805],[-72.12915671075615,61.76674068899123],[-72.15790239234227,61.7453051872],[-72.2024545143938,61.750716808940524],[-72.22609800726455,61.75821029107231],[-72.21185700625684,61.77009098981682],[-72.19193131805591,61.77498859491778],[-72.18948080358506,61.78476611135266],[-72.14498719466832,61.799214205819744],[-72.14045579499883,61.81031259752211],[-72.16326698430642,61.827985985871855],[-72.18887620787059,61.837129706769645],[-72.18029631624324,61.85371328935131],[-72.21338858108508,61.87589410397301],[-72.25755258956525,61.882960293244864],[-72.26733551838734,61.88986770727867],[-72.33315811452738,61.888015388961854],[-72.34927410825826,61.89576900676559],[-72.39335983212759,61.89770569417903],[-72.4231044800994,61.90578009982146],[-72.4411164803415,61.89839449267381],[-72.45391099990954,61.91549980030812],[-72.48951353240156,61.9300076947244],[-72.52112670202129,61.92415119039164],[-72.55386601767391,61.93665889093652],[-72.55899129881531,61.94680250056639],[-72.57985798207376,61.95167080887059],[-72.60056698933235,61.98313099692267],[-72.56951388440966,62.013382872270924],[-72.56516987694336,62.07272849561309],[-72.57667184455742,62.09733081448659],[-72.61270228392242,62.12360992071814],[-72.68041746347683,62.14439826224293],[-72.72692096183067,62.15333999267831],[-72.81117938203232,62.14487321923957],[-72.8475799429038,62.148920995560104],[-72.91655644985484,62.17499331263303],[-73.11806625084836,62.242752237479394],[-73.14779290550649,62.258772558275965],[-73.15396936605454,62.270538942559675],[-73.15416382736605,62.29910545604623],[-73.16862496350141,62.312344469468506],[-73.28850750153583,62.353114909257236],[-73.37376618965548,62.37695429535991],[-73.44794906756495,62.39267082902858],[-73.52627912802879,62.40564805506047],[-73.57940958561859,62.43249538457387],[-73.61941193553187,62.47271880425694],[-73.67135056367276,62.490655541607865],[-73.73512911412166,62.48629167204641],[-73.85650033612536,62.47231126407276],[-74.00000001496691,62.37876218470714],[-74.1561065247544,62.36214551837346],[-74.22243349845056,62.34451165257608],[-74.37741326794334,62.27982231632214],[-74.4497125370047,62.26862989095616],[-74.5065396063227,62.26603923212668],[-74.64449814692297,62.27029274770786],[-74.72031300978311,62.265463171302684],[-74.75739064557915,62.25589959267402],[-74.80848826455585,62.25082067607007],[-74.88384726732714,62.258829890285554],[-74.82388118431273,62.21664457719542],[-74.74625067075696,62.17777864042077],[-74.73300057475358,62.161392998825825],[-74.75109302052189,62.14162175976673],[-74.75095609430151,61.91784964369078],[-74.75085468037557,61.750000799079565],[-74.75073530250116,61.549871538652084],[-74.75064521327053,61.39717581254252],[-74.75054233408602,61.220972535057435],[-74.75039152670986,60.95892113629315],[-74.75025589632769,60.7193908371666],[-74.75014699193552,60.524475413912285],[-74.75006361796441,60.373556726994956],[-74.74994335890125,60.153337810197286],[-74.74981803469956,59.92064335574912],[-74.74969466364207,59.68833316565466],[-74.74959595810739,59.50000038811264],[-74.74950930109746,59.332820485974715],[-74.74940241159226,59.124375801523286],[-74.74933926746867,59.00000066386781],[-74.50000000620639,59.00000000461409],[-74.24999999947175,58.9999999996869],[-74.00000000648716,58.99999999971121],[-73.7501123285961,59.000000105398996],[-73.74994504119907,58.83075224481241],[-73.7497920003703,58.67438327003618],[-73.74961978822752,58.496710086377625],[-73.74936920076597,58.234824408927864],[-73.74908060184723,57.92819676041784],[-73.74879451520394,57.6187780665272],[-73.7486245127356,57.43227464379082],[-73.74841415903697,57.19880610176908],[-73.74827614124922,57.04392577294388],[-73.7480156186633,56.747881716480805],[-73.74780074965241,56.50000236660127],[-73.74766897343714,56.3462900860919],[-73.74744385010742,56.080657760611864],[-73.7472947350578,55.90260764900815],[-73.74707215909302,55.633562082739154],[-73.74691491141213,55.44116011717986],[-73.74670283136817,55.17850789251409],[-73.74656033825813,55.000003831497374],[-73.5000000252554,54.99999999273037],[-73.26331989877254,55.00001424029104],[-72.9999999942344,55.00000000181267],[-72.75000001427934,54.9999999931469],[-72.5000000153544,55.0000000096262],[-72.2499999767978,55.00000000029085],[-71.99999998117237,54.99999999662963],[-71.74999999445468,54.99999999032742],[-71.52157329673203,55.000022259091864],[-71.24999999825852,54.99999999529804],[-70.99999999254352,54.99999999132263],[-70.74999997447901,55.0000000039348],[-70.4999999968968,55.000000002216204],[-70.24999999720112,54.9999999963414],[-70.00000001343388,54.99999999764843],[-69.74999999763467,55.00000000871584],[-69.4999999757296,55.00000000030672],[-69.25000000114021,54.99999998577705],[-69.00000002559284,54.999999993770125],[-68.74999998973641,55.00000000301434],[-68.49999997844438,55.00000000420241],[-68.24999997539102,55.000000002914796],[-68.00000002300165,54.99999999855621],[-67.75000001992495,54.99999999489405],[-67.42248808346903,55.00006040577005],[-67.44587182125696,55.00850382724267],[-67.43964904663028,55.03249084927241],[-67.4706344550869,55.04901162443556],[-67.46370387188601,55.06285691633867],[-67.443216741931,55.064868945606],[-67.43801746553765,55.077829667762536],[-67.40963252886563,55.08863323653561],[-67.39526360520574,55.08433088731095],[-67.36843859239268,55.09130281055535],[-67.34586127482869,55.08669465677965],[-67.32283786754576,55.08906531354371],[-67.27281181618103,55.07642725276325],[-67.24373025697385,55.05963544880864],[-67.2362838269861,55.04403082897647],[-67.26329640476962,55.045517654095384],[-67.2574846089391,55.021274194337664],[-67.21924254161861,55.00003048266286],[-67.00000001783525,55.00000000512266],[-66.76599037157186,55.00001691522533],[-66.68601355335717,55.00005379091603],[-66.64813560680439,54.97713491317791],[-66.62705751430312,54.98486015783726],[-66.65640742119957,55.00793588055633],[-66.6596553177531,55.015937604297896],[-66.68206866572692,55.0297467268269],[-66.69788038609019,55.0279270797185],[-66.73503765266354,55.044052675730725],[-66.73287204744197,55.058571055570084],[-66.74591397415028,55.06610299590204],[-66.75555010035197,55.08675119829484],[-66.74678826121584,55.09207488953503],[-66.69925068607698,55.0632493440411],[-66.69486279912105,55.069517365629764],[-66.73283840658466,55.0927491097773],[-66.75494165324787,55.11357128916543],[-66.78867299169328,55.11841379215717],[-66.76760260707456,55.13513895784205],[-66.76769444023962,55.149696384020764],[-66.7467350473728,55.15853104347796],[-66.76062702748555,55.18781189793394],[-66.73940857397044,55.19408299539871],[-66.75531366290994,55.20569603117569],[-66.74890041761971,55.21569894170141],[-66.71971727183082,55.20954196648498],[-66.68358412348417,55.18506205763815],[-66.68941205398781,55.2097274330154],[-66.70723085962905,55.22712308680574],[-66.72653192886088,55.235538502785595],[-66.74023220235969,55.24802997827553],[-66.78635720705319,55.27314058514835],[-66.8237258224467,55.30696976374336],[-66.82843769582946,55.32681719159053],[-66.80067150364073,55.322952079782084],[-66.81500510243178,55.34089427881081],[-66.81874149041126,55.35531398237814],[-66.77846228213934,55.35238815066062],[-66.72761458348657,55.31844525659405],[-66.70854774235438,55.31661578898271],[-66.69694018258873,55.30532309121711],[-66.70063362623672,55.28995062868851],[-66.66977348310992,55.26944473071088],[-66.65863745630448,55.25514478885818],[-66.64442669273414,55.267101020642585],[-66.60279262793436,55.26898138246146],[-66.565688941989,55.23839930647656],[-66.54559502013076,55.2353798942248],[-66.51641656769581,55.19532212876717],[-66.49533797570845,55.205106901553904],[-66.46642624676421,55.16026240785626],[-66.44470741937924,55.140947493612856],[-66.41965700243159,55.13116486901591],[-66.4021026650687,55.113143694495086],[-66.35499499954798,55.08320920243898],[-66.32171971308908,55.05691284099498],[-66.30359716611038,55.035503166018586],[-66.28290240539977,55.032105100993455],[-66.25940477894676,54.99974965446287],[-66.03084946784632,54.99974674878447],[-65.74999998505544,54.99999999729125],[-65.49999998680923,55.00000000903115],[-65.24999999566396,54.99999999062604],[-64.99999998488939,55.00000000197038],[-64.7500000200936,54.99999999234394],[-64.50000000950085,54.99999999363108],[-64.25000000035486,54.99999999641995],[-63.99999999882134,54.99999998935472],[-63.55875020215381,55.00005077871545],[-63.60612983872996,55.0083917199189],[-63.59598391499367,55.02140752462726],[-63.55639199955496,55.03444391185216],[-63.57549985644898,55.042247946226915],[-63.57343102824843,55.05398810135837],[-63.60648809048511,55.06119066255702],[-63.6028631167298,55.07636095812619],[-63.61136686487374,55.09080377554697],[-63.59160212504918,55.09532416955343],[-63.58607527317953,55.11585637567646],[-63.602296465066935,55.12873327717441],[-63.57369935312296,55.133051138332945],[-63.56513086017243,55.14026433699593],[-63.57340971327915,55.15575312979176],[-63.54154997279904,55.16009783879564],[-63.531385752701986,55.17459540964265],[-63.55595642279546,55.17285350087147],[-63.562918355718004,55.18761637836373],[-63.48992066338878,55.2003900637873],[-63.452611406637565,55.20194459822627],[-63.43187119056764,55.21134265552767],[-63.42581408249486,55.22623776981415],[-63.41252616281693,55.23363303876424],[-63.422663455790705,55.24303469583766],[-63.40283444256464,55.2490064571818],[-63.40256235171332,55.25776388166629],[-63.44589500936504,55.25142031946457],[-63.46263560822977,55.255264694074896],[-63.474806226410536,55.24535151311774],[-63.490362741418615,55.24445490457601],[-63.5084184603377,55.23210488951682],[-63.5474104727441,55.22546900279983],[-63.5633125153637,55.243403835120574],[-63.57814550756779,55.2364186210887],[-63.62250312360411,55.242608248076664],[-63.63050341071952,55.25617082630304],[-63.65269844584476,55.251911758436634],[-63.67947505774644,55.26688687858075],[-63.644078306040214,55.287775631412714],[-63.58788475095929,55.30264833432818],[-63.56950984855332,55.29765222375295],[-63.542063903023994,55.309667193943405],[-63.52255552153891,55.30986952980613],[-63.53268119221595,55.32549689840637],[-63.55387971659193,55.32097093452341],[-63.59083135910577,55.32072294175208],[-63.590728489065526,55.33319139464022],[-63.55192238432237,55.344887355575125],[-63.529947842386974,55.34185144097442],[-63.48201025507989,55.3497580212814],[-63.44224958007437,55.3440597306277],[-63.39983435457307,55.35454953391403],[-63.32484869471314,55.366046934573774],[-63.333660382034296,55.38393125548915],[-63.319786893706855,55.411806345210074],[-63.33695631777177,55.40987880576172],[-63.35179572877551,55.418359715612546],[-63.39303829326413,55.40478095937898],[-63.449078571702195,55.41197586559622],[-63.47097176789475,55.41977956169227],[-63.478566698584444,55.42920555833958],[-63.510657230194646,55.420274501566276],[-63.53437644801329,55.42745375175123],[-63.5490392135664,55.42076906498821],[-63.56634354114992,55.427118035850796],[-63.5783912285315,55.42045725449287],[-63.60398088977901,55.42849249491211],[-63.630931702960126,55.4302716495495],[-63.64452359492624,55.42328933921524],[-63.665397051740776,55.423050567053586],[-63.736706707830386,55.4382392864854],[-63.74935057623935,55.45486154562247],[-63.76738048151962,55.454935754738614],[-63.78059143480916,55.46546079698496],[-63.77547135873239,55.481709008537955],[-63.756121471240284,55.481652209666514],[-63.7259558852705,55.49300744083397],[-63.71644083078542,55.504406418794375],[-63.69148271059612,55.50871130631804],[-63.68403189235671,55.53775394779958],[-63.66547280641644,55.54598758279086],[-63.66493324783435,55.5675261851657],[-63.68147601259659,55.57565121431242],[-63.66264618030101,55.5988875333288],[-63.682687465313094,55.609052230828446],[-63.68774641912867,55.62547894691986],[-63.68022476282094,55.635220516902294],[-63.64369009546077,55.64157943712951],[-63.668497502769114,55.652288106294],[-63.715982406033035,55.65767367543237],[-63.73830269083988,55.65042444815696],[-63.75202273532916,55.65887243386055],[-63.751192389164395,55.67150833673129],[-63.72310299860798,55.67942369136809],[-63.71004328846712,55.688788869193175],[-63.72791069765969,55.695408813502624],[-63.71960193538171,55.70531243930271],[-63.7251386603534,55.726637914163426],[-63.674200580505335,55.75932511027032],[-63.679475556226905,55.77397240621655],[-63.675384568152076,55.79199680771766],[-63.705533196322705,55.78718842234032],[-63.71714346744385,55.780365209698324],[-63.7406921139576,55.78260861509528],[-63.76128270043467,55.79691837742662],[-63.77702275380527,55.80147876027373],[-63.77281241307445,55.8220357779257],[-63.755354681728605,55.82106161457647],[-63.752921214721155,55.83327566331789],[-63.766628212026006,55.83949730573198],[-63.7736125811711,55.856054024324905],[-63.81301610465445,55.86358458120437],[-63.8450986950057,55.87907340509989],[-63.84373495495595,55.88771059847835],[-63.82510995001712,55.904446957698546],[-63.8544416706948,55.910012437572476],[-63.849428229748895,55.91676579211196],[-63.809707661454524,55.92277468228912],[-63.79258279943667,55.9314617061811],[-63.77157878151335,55.92919584561637],[-63.750834820740764,55.933610951486216],[-63.733941897011455,55.928018481204504],[-63.68809197760204,55.9481768940115],[-63.66807243854894,55.96951189975602],[-63.63558975708871,55.9652699433622],[-63.627140336609585,55.973686671975166],[-63.598275710177376,55.982176071301495],[-63.563009934906255,56.00588593972135],[-63.5266491648541,56.00536860496527],[-63.50503655160924,56.001423916971376],[-63.48736042276337,55.98747859635931],[-63.47019454926221,55.998346711491926],[-63.46716172752018,56.01190143676785],[-63.44354512001461,56.02951640328752],[-63.4957718266385,56.04001295677831],[-63.52096581811787,56.03901859814111],[-63.577584038270864,56.0250557488593],[-63.60327625208504,56.031172694724546],[-63.63672129297658,56.023522706640605],[-63.690424939343025,56.043873458048196],[-63.68303386010491,56.05956759620545],[-63.731262805357915,56.07015237459752],[-63.77419947999828,56.05357674582417],[-63.83787376076453,56.04504493823178],[-63.82137289562877,56.06383905581359],[-63.81105063818524,56.08463485911865],[-63.83537491172285,56.08774482652694],[-63.83962808068701,56.10062507148954],[-63.882550282464415,56.08712972707368],[-63.88758056675952,56.092861413898234],[-63.83826689531684,56.12249882897265],[-63.856178766730615,56.13713617819896],[-63.88369470704723,56.137032386226764],[-63.92959718741967,56.111628798629575],[-63.95308818710756,56.088227135277265],[-63.972654489082785,56.086063942445676],[-64.01805375278508,56.06726349572194],[-64.03466693136215,56.07014457820914],[-64.03575981554779,56.082171900365886],[-64.01428132616586,56.10077174594592],[-64.00213330872648,56.10273030723638],[-64.01418494759447,56.12753785258443],[-64.0085504964132,56.13817637418703],[-64.02393427166736,56.14256452714373],[-64.03596331636594,56.15488104128318],[-64.01952820803488,56.159580488561964],[-64.00470346357241,56.17332580153813],[-63.95004446075236,56.18509815925706],[-63.89998348139195,56.19916214622151],[-63.86293385959009,56.212588881893645],[-63.8743902568047,56.224782688439575],[-63.895384848587,56.22257179156368],[-63.911492365182255,56.23083330940258],[-63.91291131366496,56.263534159914315],[-63.93489276699699,56.27111928951125],[-63.96710988016565,56.25639668296043],[-64.0221504726529,56.26781327452707],[-64.07557809841205,56.25602423999547],[-64.08737718210753,56.25688925999552],[-64.09049584957614,56.27989780426259],[-64.11126211924109,56.28895569684987],[-64.14343811378927,56.31196638974752],[-64.10943435924584,56.32260235938756],[-64.09819240650913,56.333631752191565],[-64.10748966402586,56.343012489998834],[-64.09935213338636,56.35191260354139],[-64.1278439229055,56.36992821417725],[-64.11040281334917,56.38596402343414],[-64.11535587273552,56.40210628278018],[-64.1436945997045,56.40539260926821],[-64.15810630554192,56.41975107338492],[-64.17798487310178,56.42524356959156],[-64.15274016987556,56.441112115888],[-64.13731483305752,56.43346361831378],[-64.09550086338497,56.42412867276024],[-64.06435733155885,56.424144807437855],[-64.02057364256028,56.41793663246817],[-63.99301597801821,56.408211267662416],[-63.965755076234,56.41067526295969],[-63.95201221002099,56.42142826421042],[-63.901841630251646,56.44070406698296],[-63.886471095148195,56.43302194215464],[-63.872916543129705,56.448970441097345],[-63.89769343788736,56.46902877747269],[-63.91275342519469,56.46302541961006],[-63.930632407098656,56.466207039558014],[-63.9443294556889,56.49310197286746],[-63.93106298739599,56.533757549345566],[-63.955887733991865,56.54681280762669],[-63.96417992706768,56.55741371315531],[-64.00157088096496,56.5792158677663],[-64.00401615212559,56.591236680713294],[-64.05046139806629,56.60634805647139],[-64.05332970785665,56.61553454197437],[-64.03365057860984,56.633233894821274],[-64.03994851709076,56.64073450612258],[-64.02485801886367,56.653007984285395],[-64.05101748665662,56.657543563581],[-64.09083627875172,56.653832973192884],[-64.09452209514387,56.662858486621914],[-64.12823340044592,56.68289506682496],[-64.14531439704764,56.699754842154235],[-64.09944313168161,56.74362206047638],[-64.0762820309161,56.74649568092648],[-64.07890733950762,56.7670031722764],[-64.01275954499755,56.778676861562126],[-64.00197869158038,56.797588697888756],[-64.00891854502727,56.80672247715777],[-64.01297796071886,56.84984641745155],[-64.0034786754171,56.86174373666341],[-63.98387685494362,56.861123452000335],[-63.91881146732186,56.87123860033215],[-63.89949884830088,56.87730095073096],[-63.85714684157983,56.872637142195835],[-63.86739598819667,56.88337611078763],[-63.863890620562586,56.89682290337263],[-63.8786193713539,56.90393009607535],[-63.91809396700575,56.90415758603168],[-63.90809982896887,56.9275211032531],[-63.91436254809443,56.93979909817355],[-63.91412947392155,56.97763062535462],[-63.88699988832589,56.980964500956915],[-63.8577740130801,56.999212411128546],[-63.891934772551025,57.01277354822176],[-63.89008339998801,57.08608305826613],[-63.88168426378757,57.08797920355017],[-63.82014840874355,57.07549891031007],[-63.81180978969164,57.07887881331865],[-63.79871868499515,57.106447854244195],[-63.76488551051103,57.13992562629719],[-63.77974826451829,57.16179655139526],[-63.77936574578715,57.179380849924705],[-63.770985000238504,57.196018312010466],[-63.73713740355821,57.22159558084935],[-63.741466856619525,57.24076556846545],[-63.779599706771045,57.25938760051961],[-63.80913637705285,57.26215970734296],[-63.82612401675768,57.241090382395825],[-63.844717048982346,57.22595895276893],[-63.84160061354139,57.21080029790324],[-63.87238562473151,57.19253197392113],[-63.8840748713414,57.19625585588453],[-63.86697540137642,57.22612496554278],[-63.88337348279676,57.277620958720014],[-63.86938414025596,57.297618918819694],[-63.855820776774294,57.3343012153461],[-63.82433510175739,57.33916405672599],[-63.80172588859358,57.332287117813436],[-63.78549882977052,57.35319741967188],[-63.76819247571808,57.35817241843493],[-63.74197855506656,57.35773451491542],[-63.70130115943801,57.368333581111806],[-63.70827208353764,57.38449926998578],[-63.72344094234378,57.39833599838979],[-63.710305510239074,57.42263000296991],[-63.73145719439918,57.426561914529316],[-63.761260859453174,57.43933166774627],[-63.758275835490466,57.454420915194326],[-63.775221383538884,57.4935727938894],[-63.76750313083082,57.51483145678666],[-63.75339404612653,57.51529490767902],[-63.751168606382215,57.53574357159899],[-63.76549026018921,57.560770260214014],[-63.77191590578981,57.59244977073746],[-63.7326203782891,57.58873202328427],[-63.73061361288703,57.60112928974693],[-63.69950572745561,57.61534625936101],[-63.68460204424697,57.60343556787946],[-63.670277839086936,57.62118546559201],[-63.6499514874176,57.62006388936453],[-63.644923051911356,57.63428153194054],[-63.62296620422308,57.641969171488064],[-63.598727324354265,57.6638404795467],[-63.59449942280846,57.685652698180284],[-63.609486066728024,57.69205859326284],[-63.59695994858792,57.70769522197724],[-63.59677043641735,57.74124764948489],[-63.623196061897055,57.739482251669514],[-63.63256587765022,57.728945389584624],[-63.652505717940926,57.73290821854859],[-63.668055702603624,57.723942296732226],[-63.659417218732,57.70181797640988],[-63.68544531028038,57.68334252510898],[-63.70277740317905,57.66376632876771],[-63.73529089840921,57.662801880184254],[-63.74855105830561,57.67427957395386],[-63.7448141666422,57.68863726859443],[-63.75363048562311,57.72074436862958],[-63.78987306490005,57.68751282016528],[-63.81335574899811,57.68976580079292],[-63.82071151307293,57.70563213550847],[-63.847476419076045,57.71902289690772],[-63.86608395889504,57.711185677723535],[-63.88342166302799,57.71260734435826],[-63.90717835685755,57.75137585953322],[-63.90114153438066,57.7629369402219],[-63.90818767408751,57.77686561102011],[-63.903845254716266,57.798249067216034],[-63.93859625197025,57.78855100811892],[-63.953635501212226,57.79968801005977],[-63.97234789335887,57.799587808477206],[-63.99724891398102,57.812078690197936],[-64.01187753323954,57.80248192701381],[-64.02983357565992,57.80402382252934],[-64.03396867525859,57.791437374927675],[-64.02328432627007,57.778460386520926],[-64.02595187768327,57.76440357432451],[-64.07200128989282,57.77002034235822],[-64.09207101832637,57.794343025487734],[-64.09223245647279,57.80268298507675],[-64.11667541154387,57.81113939765503],[-64.12136701438459,57.82628559736422],[-64.15659653847648,57.890208814909016],[-64.16252538540175,57.92294178367979],[-64.19043132462116,57.93074790583495],[-64.20466183561653,57.97362970857961],[-64.2274386477499,57.98954348196741],[-64.22803282566377,58.00550027266067],[-64.23866798555603,58.0250323399564],[-64.21850764073463,58.03698329299727],[-64.25096032508598,58.03871851752389],[-64.2777333381723,58.046952083242786],[-64.29926608883535,58.04451940953304],[-64.320507802158,58.06148799230041],[-64.35391074853949,58.06929929684285],[-64.38714769866947,58.06934377952169],[-64.41228320587707,58.061159166384705],[-64.43309144126654,58.06990809207962],[-64.42688320405763,58.088222651269426],[-64.4353948791788,58.09837531889307],[-64.42506915667875,58.13019425838508],[-64.43089150341436,58.15621593040357],[-64.42173251779366,58.18667366546672],[-64.38953435366435,58.19647133271116],[-64.37356281601913,58.208380595929626],[-64.3191178128081,58.21807812675869],[-64.27119704840194,58.22108041883306],[-64.24750382108967,58.227421441394725],[-64.24128269314434,58.23766821804634],[-64.21777697694944,58.24773219886851],[-64.2085437168043,58.275637866801986],[-64.21698542589628,58.28745172704478],[-64.1969095000981,58.2935781068067],[-64.19819133834336,58.31192055586328],[-64.18456914080777,58.317051614415206],[-64.17222267077577,58.36187326626938],[-64.15850712819099,58.37103375780605],[-64.1192487284527,58.36473816541744],[-64.0979964326319,58.37683651381521],[-64.06166824430795,58.36092611854624],[-64.02253893429769,58.37101921473894],[-64.02856524059672,58.38944892472748],[-64.01320100613624,58.42399525725268],[-63.99847704553592,58.42553691790229],[-63.986578551327796,58.444357917482336],[-63.964103658000646,58.438831650237084],[-63.924239382768484,58.44487115733586],[-63.88111327541136,58.42943966041184],[-63.84715403897292,58.45001090180993],[-63.843096540228025,58.46782622664264],[-63.822267385499565,58.473749511684254],[-63.80785005026311,58.48974610197759],[-63.82357677938643,58.49732337268645],[-63.858691899614136,58.504514406955124],[-63.85915159122967,58.52123132676557],[-63.8488470920607,58.53345078571792],[-63.849714389335894,58.54657988054998],[-63.86255549941941,58.552694909468364],[-63.85819406325022,58.563797645883376],[-63.9073660722165,58.57349208709904],[-63.94669281056436,58.55880516469489],[-63.95186170097848,58.54126772136791],[-63.97357898669465,58.52963608385641],[-64.00877476313161,58.53125899444817],[-64.03408168089197,58.52345041606338],[-64.04693980752353,58.53507082875544],[-64.06718447785816,58.53449228834337],[-64.07469590600179,58.547379027717106],[-64.10494346754028,58.56323000763774],[-64.11105037793855,58.581660751440815],[-64.09278539427258,58.58789316616326],[-64.11585187167101,58.602350556067336],[-64.1079267339001,58.639650686277804],[-64.07886977790255,58.65394939380332],[-64.07661882444279,58.665928968496274],[-64.04722219126714,58.70262847046116],[-63.98421670541356,58.68764247303203],[-63.95025377006222,58.68524732824975],[-63.93105999336538,58.70102569460197],[-63.90996517656195,58.710253499310056],[-63.87502919881995,58.70575844857069],[-63.85509666425747,58.69644306289471],[-63.83561540479448,58.71011866594645],[-63.81102069558802,58.71220210085911],[-63.794276597342744,58.70328744464754],[-63.754373873481384,58.71673706043594],[-63.7183553455791,58.70638521388186],[-63.69491958484957,58.719633169662984],[-63.669554001032395,58.717066711323],[-63.66068426386429,58.72522472495623],[-63.629845241540906,58.714643017305626],[-63.61928353160787,58.723860621441396],[-63.506793949486635,58.74257462780816],[-63.49482844169237,58.754034544069086],[-63.467504073522754,58.76204707852545],[-63.49215735582921,58.76854521261301],[-63.512786047891815,58.79568611134367],[-63.53451353048477,58.81624278861616],[-63.55027983809146,58.82236580098031],[-63.550785079866756,58.8365501151833],[-63.595341144194315,58.85717575946108],[-63.635955096123375,58.84869967712794],[-63.66112103513938,58.85471218471675],[-63.68032427757009,58.866459324949915],[-63.67993827488496,58.878562728775535],[-63.70999684130291,58.88705319159589],[-63.725463078729966,58.87717467565534],[-63.77768332719866,58.88405875867696],[-63.79928598313895,58.85647383932226],[-63.81213795872539,58.847062793487176],[-63.83528335752838,58.84903031341417],[-63.86218603455759,58.83197721088436],[-63.89787131077198,58.83736530519332],[-63.957161639400695,58.826905558835506],[-63.975472285428,58.83025324751707],[-63.99540275279224,58.813709142305996],[-64.01973875741002,58.81667159633713],[-64.04533757307291,58.8103503722267],[-64.0385860987921,58.80207684206886],[-64.04630107210431,58.78957349259003],[-64.07187374953244,58.783246950112485],[-64.06970878391098,58.769086194347494],[-64.09409640097299,58.756945710722555],[-64.13779286316445,58.74616687479916],[-64.1582670339125,58.75811917806903],[-64.1787849750283,58.78903958946297],[-64.20012574025614,58.77946166990588],[-64.2297045684555,58.7836484747135],[-64.23752849247649,58.805042062099396],[-64.22657324254556,58.84584385369192],[-64.23365670918133,58.86411334398885],[-64.28741774895805,58.883458354288116],[-64.28761262204456,58.896753129459015],[-64.33254016408911,58.90456275971273],[-64.35026167089892,58.891877467493615],[-64.37870236523236,58.903819115003195],[-64.40029422601364,58.90271816657594],[-64.45580099018427,58.90821667066945],[-64.47643347522369,58.90338282961552],[-64.50891046709516,58.88758137415442],[-64.5501825199371,58.88745542873791],[-64.55717880504378,58.89719402498847],[-64.57962855436806,58.90471364172775],[-64.61476816373596,58.907515591212196],[-64.63242770650658,58.933345719889424],[-64.65165020089911,58.943752041021064],[-64.7025895783378,58.946386100683746],[-64.73066993038792,58.95078403578721],[-64.75623163118806,58.940278213691315],[-64.76573278641075,58.92380281458186],[-64.82071351239631,58.91689271888498],[-64.83926968204165,58.936999026995174],[-64.86853784886691,58.9416407868158],[-64.87944046483197,58.95188249617496],[-64.83291357337279,58.95640768898911],[-64.84209843179075,58.96698601601829],[-64.84035012753128,58.980324315701985],[-64.8622185471106,58.986162858472895],[-64.87008844980481,58.998261212786986],[-64.86501590226436,59.01540497252741],[-64.82944091313934,59.02030371070378],[-64.83200657823548,59.03520113818305],[-64.8217485759904,59.04930727872606],[-64.77923880788735,59.074957440187134],[-64.75249503446368,59.070541974025545],[-64.72487106187268,59.076003591451034],[-64.68325693103239,59.074695387756485],[-64.67927314259953,59.04696682010867],[-64.67027521120038,59.03861442858551],[-64.63068488537355,59.04068963872583],[-64.5706195398508,59.027274786811354],[-64.54495562765635,59.00964432832429],[-64.5227607607029,59.00256015968694],[-64.49778082576496,59.019432695715714],[-64.47127167839069,59.00000012379626],[-64.48129214416501,58.9883306778674],[-64.46030109112064,58.981514252414925],[-64.43678779982672,58.99431380234325],[-64.42417100622117,58.99168476577981],[-64.38770532323046,59.00618381348842],[-64.29438255046146,59.00049868226065],[-64.2617911545203,59.01295656469252],[-64.27361664428855,59.0220402665662],[-64.31517598856993,59.06562976233451],[-64.36084068750905,59.06729534845612],[-64.36351405836244,59.087428948572935],[-64.37602788740959,59.092607558433215],[-64.41696135693219,59.08760377139592],[-64.45045783130898,59.1028892670691],[-64.49030914093572,59.099075067681355],[-64.49804875547521,59.10641597690614],[-64.48398560810217,59.118165982100855],[-64.4912719636024,59.13642703838141],[-64.47271469843052,59.18039119806768],[-64.50342181867316,59.19571334817563],[-64.52184746056443,59.196741120020654],[-64.51135058679232,59.23893037625866],[-64.48860346888317,59.25711006883472],[-64.51696419164912,59.27994693801579],[-64.5435362748266,59.310435057954095],[-64.52779200849899,59.319978386298736],[-64.49330274791804,59.349576142126864],[-64.52571750319304,59.36158039833316],[-64.5383389667596,59.37078193308013],[-64.52405126379163,59.38508449730531],[-64.5282681098162,59.39562821059683],[-64.51650034482206,59.40390538858242],[-64.49599457638531,59.40425569449901],[-64.46072548888294,59.41217710753565],[-64.47255907094096,59.418258940011334],[-64.51159836477588,59.42297985196002],[-64.46684551057453,59.4502049217722],[-64.45802468860245,59.459174816434995],[-64.42607625491823,59.46493694337822],[-64.40719904183513,59.477806104747756],[-64.3808216225256,59.483764755065486],[-64.3496558875647,59.50295234611079],[-64.32785207239236,59.49746276469769],[-64.3240693104039,59.51277412637311],[-64.38580589720424,59.52376072711294],[-64.41903937904576,59.53264385543478],[-64.43376621240358,59.541973596877995],[-64.46290009082799,59.52339608110065],[-64.50309258980857,59.521373385452456],[-64.50530119361794,59.50129640659527],[-64.53224263244496,59.499488832935604],[-64.56146241404745,59.48791493037823],[-64.5896726250367,59.46618266028429],[-64.62676722614252,59.481970389786156],[-64.6428141706913,59.45924760653263],[-64.67983493043612,59.44690514255413],[-64.69443275307961,59.45800092446302],[-64.72855256355608,59.466635402790054],[-64.73692466023397,59.48068567920897],[-64.7630926073688,59.496640749313364],[-64.76414507291888,59.514868003520604],[-64.80419947788712,59.5250158500701],[-64.80313145084952,59.53431028221136],[-64.82275527126298,59.54065926281773],[-64.83962958358593,59.55334198671784],[-64.86919130613698,59.546923113427844],[-64.89220584889063,59.562468700051376],[-64.93943923730748,59.5670460086051],[-64.92705977174248,59.59317888196236],[-64.86870656689167,59.58642417359974],[-64.8598083900134,59.591537325264284],[-64.88253972247924,59.610681971938554],[-64.89825949014251,59.64178327647507],[-64.88950805434466,59.662155488546176],[-64.87165597858674,59.668345995982094],[-64.82492099235282,59.6759975926649],[-64.76048544967358,59.70655815772315],[-64.7494318972033,59.71723937310679],[-64.7743083089919,59.72514576057954],[-64.8015349639327,59.724773686294675],[-64.78998669481747,59.76030405332862],[-64.81395766556271,59.783033487883785],[-64.81398919506975,59.795152233251244],[-64.78847380192268,59.80327346192208],[-64.79211546805799,59.812181153747204],[-64.8252245292095,59.82560797783973],[-64.81673182555691,59.83504942339566],[-64.77808564162294,59.8528478896998],[-64.73694446300392,59.85556836477914],[-64.76655410833914,59.869675435062774],[-64.75616629327115,59.88603159200671],[-64.74152160062972,59.889298936909285],[-64.683776123057,59.87719841536137],[-64.6664149706237,59.88828700605145],[-64.65873127469476,59.90159292606956],[-64.64097704952714,59.90744806163355],[-64.62679818796762,59.930294629256856],[-64.63405885498938,59.93600095775388],[-64.66357922623484,59.927690510935804],[-64.66223046203349,59.95255396329666],[-64.6931205955891,59.95887638327855],[-64.73219127727594,59.95052452094096],[-64.74742055907595,59.95472974117161],[-64.74709978056306,59.97448882710444],[-64.78277649938347,59.98040141103148],[-64.80683057343518,59.97081400394967],[-64.84022843760762,59.97031907616402],[-64.86097697098269,59.9952063134652],[-64.88767148653805,60.04197513799791],[-64.92364329453663,60.06146512207157],[-64.89587553674966,60.066209292440334],[-64.81980617249256,60.05048211468003],[-64.7832354988353,60.0576153335058],[-64.7427139867587,60.05613112948168],[-64.71785690060813,60.06407425262207],[-64.70798684742267,60.08460914381501],[-64.7267120244967,60.0947409987677],[-64.75747643879784,60.101353146275564],[-64.7353045632884,60.10954853849574],[-64.68119134045818,60.10754625172035],[-64.67203212812174,60.113548497356845],[-64.63307286102437,60.10541501144762],[-64.60339538024787,60.109678931937914],[-64.59371586445995,60.11703127235852],[-64.60247105314822,60.16701462090774],[-64.66156694811028,60.170160366503644],[-64.68249380707509,60.1811588258794],[-64.69889752005469,60.171282232973645],[-64.73322997340536,60.16436623575748],[-64.74556250617546,60.16862804539624],[-64.74987957301424,60.18815558295697],[-64.78024134026126,60.196119308769426],[-64.78414652785071,60.20397899536742],[-64.84065923840751,60.22295954837347],[-64.86394126676501,60.22819680228919],[-64.87338806419531,60.237293780331306],[-64.85276567948554,60.25266469447367],[-64.85377782467283,60.26941146104373],[-64.80726078902008,60.27584242158167],[-64.72342587286523,60.29147830069251],[-64.70741220570957,60.303297109100704],[-64.68097948840652,60.29659028013075],[-64.59727115376957,60.30061384179893],[-64.58122474581573,60.308375185099464],[-64.52974308799334,60.29667785380982],[-64.51747589882685,60.304398201059435],[-64.57279786992675,60.330496184802094],[-64.62707168427762,60.34648327160814],[-64.70118878738715,60.35658481850775],[-64.72774556736911,60.3663129086838],[-64.74065048706218,60.35270202035839],[-64.79684692539944,60.37083419992464],[-64.84500182291099,60.37513330781216],[-64.86294157162854,60.361462462006635],[-64.84540320026564,60.34156431968843],[-64.84387542046144,60.322058590062184],[-64.86315210513791,60.301228266678066],[-64.89530780106111,60.285694243383944],[-64.92275334953561,60.28324782610644],[-64.96542781578378,60.257446503811316],[-64.9732554712164,60.225924987442774],[-64.96728468806762,60.21633873261949],[-64.93721360761523,60.20662582224677],[-64.94012290115627,60.19654843054564],[-64.97084698079978,60.18749185185371],[-64.97318313252323,60.165046769247354],[-65.00335194911318,60.16502626419914],[-65.01311466871607,60.150083057586166],[-65.01238227904135,60.13290388420537],[-65.05073488161946,60.12549234224979],[-65.07916443239621,60.10231889699866],[-65.07036891682579,60.07120989700346],[-65.08301618646058,60.05883248138072],[-65.09969575001891,60.066500845660435],[-65.14353943109955,60.070310485574986],[-65.17203705088848,60.06885591203656],[-65.19496709434868,60.052030573039126],[-65.201050285242,60.036801590238724],[-65.18977801748113,60.00803963175828],[-65.2013001077247,59.98732462123691],[-65.25506571804615,59.93798073158443],[-65.29916560967168,59.911123008088936],[-65.3686688733877,59.878751331818016],[-65.47460406480779,59.824509590902174],[-65.57932456442944,59.76483468439869],[-65.59801593230688,59.73443358912863],[-65.59057333141598,59.70248820742446],[-65.57351049180217,59.560599505983575],[-65.59223397568817,59.527971897639276],[-65.62026861607566,59.50653675693729],[-65.88461242447143,59.36591309548512],[-65.95490679833341,59.31137899746157],[-65.96690198356528,59.2651068757875],[-65.9255791948514,59.156525015318564],[-65.9259979372525,59.10588407111482],[-65.9419308967012,59.06072728994163],[-65.94735347926931,58.98902363954286],[-65.92070544755872,58.9660756428353],[-65.92842659271015,58.95508280075766],[-65.9739034131848,58.930368063763964],[-66.01739181315605,58.91979646879543],[-66.11125036323402,58.88787524878902],[-66.15144664564524,58.877522364408186],[-66.28577355624545,58.86646739642998],[-66.30969195208039,58.88094181089021],[-66.33126122542845,58.88517608039079],[-66.46616487204255,58.88526185965676],[-66.48537777664343,58.878537861253704],[-66.50487204621241,58.86121019497566],[-66.51337671020713,58.8338696971701],[-66.51327650920625,58.77190479337633],[-66.52197102306997,58.75756059914847],[-66.55002992472477,58.7289256221572],[-66.60517624616222,58.65573236818397],[-66.6840746067254,58.59961651013913],[-66.76308251899222,58.5582403155651],[-66.82658151237483,58.53180731179815],[-66.9274945770518,58.52113050777184],[-66.99006339080009,58.50932026471556],[-67.05947314831486,58.49178841136407],[-67.13672894773833,58.46560406151784],[-67.23173086522326,58.409059620273695],[-67.36997818221896,58.350662034110016],[-67.44950417423159,58.324283513759525],[-67.57953673458552,58.26703030098271],[-67.61091153408711,58.26615188873647],[-67.67400546822017,58.28387235477527],[-67.68578709283904,58.32037698355046],[-67.68353827151424,58.35960200430632],[-67.64292036471294,58.44156169375096],[-67.64844037900893,58.46124950924972],[-67.67653370059142,58.49011726242533],[-67.7189649388488,58.52327620440953],[-67.79243689228294,58.55039264128252],[-67.89843835594012,58.5807590349265],[-67.95931107437549,58.59489303365401],[-68.00000061816063,58.60001116201402],[-68.06460913806863,58.59401347652674],[-68.16415234458292,58.59341914528863],[-68.209612507393,58.60137661144487],[-68.24313032807417,58.62336306552863],[-68.2565688169515,58.64139612506609],[-68.25881632438548,58.72622088387793],[-68.25658765142403,58.75001144787177],[-68.24428254833184,58.80599038574154],[-68.25752400420572,58.836742167759446],[-68.31616741464569,58.88488099096628],[-68.41172152955018,58.92528786935761],[-68.49999997387486,58.94584055965647],[-68.53254067242882,58.94660384903902],[-68.59251817084561,58.952127908027556],[-68.6722960363496,58.94752568367386],[-68.7975181929767,58.947981997159985],[-68.86193313537098,58.9559066352041],[-68.91518677117196,58.98311460346073],[-68.97297932758595,59.03859795190954],[-69.0000010748533,59.054401130330454],[-69.0252855775006,59.09147352265532],[-69.10511731601198,59.1710304903769],[-69.12333234643785,59.18589895942826],[-69.15709985518444,59.18384998900398],[-69.2008466336071,59.225205429943436],[-69.17467573144081,59.239293717036276],[-69.17750876347819,59.26597397479463],[-69.20683713473886,59.331879677893156],[-69.22970730256989,59.35632895041357],[-69.32536925637686,59.40654153083537],[-69.41585953537097,59.44802955384664],[-69.46945989067508,59.495529508897924],[-69.49842498242289,59.56559946668032],[-69.49627631728585,59.600251745388526],[-69.47279848250542,59.64030998994653],[-69.4715381424581,59.66677965006161],[-69.48263974392438,59.70658404663444],[-69.48140454203664,59.75720377953786],[-69.46367439624872,59.808066116578594],[-69.47214391187829,59.84752462866957],[-69.48507363072976,59.885018934354036],[-69.52725769667595,59.93209437648552],[-69.5860928242037,59.984149400876184],[-69.58347307234678,60.000000134333646],[-69.55735574652569,60.05755403153893],[-69.5380337276316,60.07727362150159],[-69.53202758848829,60.09390189287193],[-69.55087129045161,60.13693177370346],[-69.54409690172857,60.166596046234524],[-69.5474667615264,60.186889999510306],[-69.53801160683388,60.21046228861769],[-69.58027208344289,60.25005322823949],[-69.5882051927836,60.2624748578131],[-69.66066050946084,60.323387070307504],[-69.65424497247054,60.36008562710928],[-69.70456177093494,60.42513124460897],[-69.70751501159779,60.46365482287553],[-69.68753893989995,60.49992433473701],[-69.65643296214532,60.52991651006554],[-69.61754293223304,60.56161988627767],[-69.60601253656009,60.59001224388862],[-69.63773657568427,60.637207641750216],[-69.64499012160631,60.6559107086681],[-69.64256319579957,60.67020448376022],[-69.62121549810888,60.692498002221754],[-69.59871853855164,60.702534856858854],[-69.47664544025233,60.7332191934006],[-69.38017541937076,60.76678115774633],[-69.33785569681633,60.788308084375366],[-69.29963497137166,60.820637001838556],[-69.27091937739243,60.853013010295555],[-69.26979668576534,60.87528843135502],[-69.30417353755286,60.90431017176258],[-69.37646081481199,60.94884447261196],[-69.42834695615791,61.000011577484905],[-69.45983386147653,61.051250852618224],[-69.4906387951099,61.071487809966904],[-69.56325587472132,61.08705601793711],[-69.62037914461416,61.083762572638186],[-69.66490276565737,61.063160375936505],[-69.68453569040746,61.04251927106551],[-69.69727143682597,61.01631288115311],[-69.70441509536765,60.98545766837883],[-69.73846429157132,60.941875919002044],[-69.75093348710527,60.930060522351354],[-69.7925792412117,60.91659457223329],[-69.83995718555346,60.89388047645497],[-69.87582392913188,60.858935349121104],[-69.86513291183712,60.8367857534147],[-69.89367417325971,60.816855253418275],[-69.90776815080947,60.81686296729155],[-69.96504942650425,60.84353275923927],[-70.05039631614959,60.87816610406035],[-70.07000391340263,60.91933674351769],[-70.08190944967299,60.95760415288872],[-70.09845358878874,60.98410004218278],[-70.14592692763443,61.01033442434103],[-70.13869487289517,61.02678222690917],[-70.09603095945114,61.05114103173233],[-70.09115744933953,61.06633021388629],[-70.12941093466192,61.09570040239437],[-70.16529746211756,61.09690660055953],[-70.18556445131922,61.09201860851221],[-70.22713267069032,61.09097509693985],[-70.25249713980439,61.10275644602933],[-70.32148242040327,61.10543882481172],[-70.4044238199659,61.09474409921412],[-70.42606668490929,61.08725766504509],[-70.43859563601453,61.075636169529886],[-70.4745631742147,61.071528749214735],[-70.50101845293065,61.076813249915105],[-70.55259216698153,61.06159801660929],[-70.64052988271156,61.058204699591386],[-70.70461652947372,61.08298589454421],[-70.74161098510399,61.092058922127706],[-70.82563014945762,61.08172176126009],[-70.85815129229846,61.08630120252155],[-70.89459187605004,61.10100315443249],[-70.92795827273234,61.11889140609171],[-70.96247561358038,61.13036031034706],[-71.02755361221882,61.14062720482437],[-71.14602781529722,61.1474338345462],[-71.1874339098311,61.15230323124526],[-71.23014487757757,61.17419279398675],[-71.37245942278864,61.17758026977798],[-71.40970771888315,61.19063022894725],[-71.42668851565188,61.22245345144636],[-71.44201862302133,61.23045490739258],[-71.48544006882875,61.232742976270785],[-71.52116371016787,61.238216511306106],[-71.5529972977013,61.25362940122668],[-71.57594444408001,61.272649763886214],[-71.6489277594399,61.299803735791656],[-71.64821007286278,61.31181719832852],[-71.62405833900303,61.32664521441954],[-71.59615402834893,61.36289617912274],[-71.55815144508234,61.402446067026155],[-71.56782491763498,61.42253710843657],[-71.55879286719194,61.500042227672274],[-71.54529395503869,61.54992505366253],[-71.500002585019,61.57701198623121],[-71.49645721354973,61.58794279707123],[-71.50489804894691,61.617578505149595],[-71.52336531213751,61.62941983024706],[-71.55088497827339,61.6389087670365],[-71.69317039896359,61.673806566057074],[-71.8346877495562,61.70224292586359],[-71.99792511898335,61.7240558744439],[-72.00659519536758,61.726225102982156],[-72.01816400525907,61.708014386306814],[-72.0177477164781,61.69001741552478],[-71.99566591309258,61.68758399448731],[-71.98054202020079,61.678458011959876],[-71.9798293076175,61.66430928707889],[-71.99563440568154,61.656524508442494],[-72.00005342765203,61.644121100407965],[-72.02102176285611,61.62962843472717],[-72.03932707776237,61.62833799353584],[-72.0582723873368,61.617588205777814],[-72.06190500933927,61.60419758849353],[-72.09799052906394,61.60088159180596],[-72.12990418104793,61.604278296413945],[-72.1620283995819,61.617224712810064],[-72.1858498858601,61.618743095836116],[-72.20999511666592,61.60967060697498],[-72.23786531175361,61.60879240003176],[-72.2460654901179,61.625052479973306],[-72.21239170146032,61.628074904961096],[-72.1693141048612,61.64412301783986],[-72.09485397669158,61.68401417672901],[-72.12492314538166,61.7109046999388],[-72.0670940140487,61.7436714964862]],[[-66.14860121801,58.74365949943867],[-66.10121601815713,58.71733510198741],[-66.11254950455161,58.7016236083357],[-66.10316113062434,58.68969589404414],[-66.08114887430266,58.6803301070176],[-66.06435000723788,58.66107889718392],[-66.0648528053446,58.65001069434915],[-66.03045689419804,58.64784538562679],[-66.01414147910006,58.66875949700787],[-65.98777960483113,58.666132196671136],[-65.97580561408343,58.65319131069484],[-65.99752753894535,58.636758560893526],[-66.01595272137772,58.63471958027226],[-66.08669991971179,58.63992090369529],[-66.15938066118704,58.727154538347634],[-66.14860121801,58.74365949943867]],[[-65.71399016475377,58.89246605233137],[-65.68738965084623,58.8851056186809],[-65.62592005123369,58.83359925737374],[-65.61227691253609,58.78088000951791],[-65.63486438385304,58.781547489991894],[-65.64462691164172,58.79959830399145],[-65.69374777850544,58.818098894501325],[-65.73519241554528,58.81578210555372],[-65.74354547954985,58.82668609539362],[-65.77541960359696,58.838654407794344],[-65.78444441834685,58.84860189825302],[-65.77324329913866,58.85894050587447],[-65.74893969661221,58.86641349114318],[-65.72954678872928,58.878665307055584],[-65.74950681392227,58.89503360918426],[-65.71399016475377,58.89246605233137]],[[-69.62353222152616,58.91707820550347],[-69.61572580089597,58.89931208934252],[-69.59380249965409,58.90047955611108],[-69.57024457762516,58.881743569216056],[-69.55495134474715,58.851341526887516],[-69.53516659524732,58.848302090511545],[-69.53818787489904,58.81930719599661],[-69.546397689547,58.809524887198904],[-69.60265478041077,58.80186759669265],[-69.62082381512107,58.79597771332578],[-69.63641039051909,58.803019190539],[-69.66043600529551,58.79764458902419],[-69.6871019197435,58.81975960572121],[-69.68327548272576,58.83930119855633],[-69.69668210160222,58.86898878990772],[-69.6866569958007,58.891905010998144],[-69.66021773072984,58.88352239663142],[-69.65680796612718,58.8984681227046],[-69.62232134453318,58.89879153814204],[-69.62353222152616,58.91707820550347]],[[-69.5257955377539,59.330584347459805],[-69.48910107852957,59.341798198694484],[-69.45235741642587,59.36007730513821],[-69.43715383057918,59.354302692320445],[-69.39171399903054,59.35159071231455],[-69.36898640015292,59.340817401152584],[-69.3493582247463,59.340383198071585],[-69.35463900535055,59.315833596554185],[-69.53116814195387,59.24507993396863],[-69.67846008553717,59.189836678197175],[-69.75096791895237,59.15710619247861],[-69.76640744708558,59.17533905750991],[-69.68734060092663,59.22031594376661],[-69.63541629004423,59.29633062323864],[-69.62816581758396,59.294440733905866],[-69.6088262153745,59.298845398081355],[-69.59953389533344,59.31744040475268],[-69.5804477773804,59.326051702632284],[-69.54916379269584,59.325364805958955],[-69.5257955377539,59.330584347459805]],[[-69.71888151671827,59.96553050219917],[-69.70794496940843,59.95295250557837],[-69.70575267428323,59.927292800982265],[-69.71557790172434,59.91621519968954],[-69.7535920799875,59.916853201326845],[-69.70363998415739,59.88754918347189],[-69.68149818299102,59.88824069120791],[-69.64090119944373,59.8769580887061],[-69.61062360889935,59.88230570883762],[-69.58508038936978,59.87870070233553],[-69.54660760000745,59.86273669653839],[-69.58251200398843,59.842696388357545],[-69.59149661523875,59.81500459252194],[-69.82350409755416,59.80935404193327],[-69.82155067859524,59.85530583600696],[-69.83905310213687,59.866758799902726],[-69.91521804608698,59.90712252326816],[-69.98736007415158,59.96649329857047],[-69.95110057953386,59.961204706315776],[-69.923536578516,59.96382839511749],[-69.87965207304607,59.95386400365738],[-69.82938751775673,59.962765901652446],[-69.82268269220798,59.968296408280146],[-69.76609828980098,59.96540528584961],[-69.71888151671827,59.96553050219917]],[[-69.81263107279462,59.29734715883462],[-69.82452032357045,59.250052654565245],[-69.94624953875312,59.13021703130313],[-70.07351928245154,59.0922240664834],[-70.1225703451894,59.076226307071],[-70.19017263184531,59.069399136902085],[-70.20202403189428,59.09456975933954],[-70.16757216858218,59.12544460681766],[-70.08065330847593,59.17154309000853],[-70.06037468975642,59.19515219960985],[-70.00174977177392,59.221147007626904],[-69.99190828013217,59.238024216022154],[-69.91331491388273,59.29629729724781],[-69.8599306940348,59.30077270253579],[-69.81263107279462,59.29734715883462]],[[-69.50437761311083,59.675712797865316],[-69.50868581097289,59.650931805565044],[-69.50409868322653,59.63611330821435],[-69.5175908081939,59.61728539030634],[-69.53650080140211,59.61326299287688],[-69.55639652539901,59.594588497429825],[-69.59147729570499,59.58988901055585],[-69.63804129078676,59.587796090754644],[-69.66257412485923,59.57308639451767],[-69.67939870728314,59.55024380495893],[-69.73051319574616,59.52273799959093],[-69.74675861968856,59.50899679489528],[-69.7398675997533,59.48255860078972],[-69.69373988668124,59.48621010971254],[-69.68588862033744,59.46246710105608],[-69.65786641198842,59.46319509498148],[-69.65107320474287,59.45171620886991],[-69.65643012073909,59.43363019601654],[-69.63381711013913,59.421377903877854],[-69.65219739847781,59.39651699983134],[-69.66909602678898,59.396601077224354],[-69.75552967044065,59.48147849794693],[-69.81356350099385,59.53393353520004],[-69.74959430865418,59.67471837907695],[-69.71599369585874,59.6821029991892],[-69.67965889786916,59.68432509833171],[-69.54059510855528,59.672622252101604],[-69.50437761311083,59.675712797865316]],[[-67.00000001686496,55.18802949932714],[-67.05811964671292,55.2312156685287],[-67.05726900438465,55.25000001410753],[-66.96844293688207,55.250030945937525],[-66.92805241418336,55.253263588725396],[-66.92729009998888,55.29489680056934],[-66.86448056468831,55.28618187278074],[-66.85027069021871,55.288617577671204],[-66.8339368912708,55.30184172148396],[-66.76501050532441,55.2492969917804],[-66.77413728691455,55.20839506972134],[-66.77910876144476,55.199409395397346],[-66.76468707286836,55.184624705118225],[-66.7643101883949,55.16622440666398],[-66.78498446657538,55.17288723357143],[-66.7924894429459,55.11991077839852],[-66.74735154542243,55.06502401912673],[-66.75641007412199,55.042628119788034],[-66.77876858983657,55.03657547043068],[-66.86211750389175,55.09238975647447],[-66.97934495258741,55.17264506836692],[-67.00000001686496,55.18802949932714]],[[-70.16630786526227,60.018369566437585],[-70.21570349954933,60.021597302333554],[-70.24603739833263,60.02760760236603],[-70.29767271156764,60.027135207523024],[-70.29241198992077,60.00730999177964],[-70.34488749885065,60.005820390079144],[-70.37294308169241,60.008690097058],[-70.43366381469039,60.004121688547116],[-70.44468759782272,59.99936858534033],[-70.48736271419705,59.9963077012713],[-70.48016464934895,60.01944555037939],[-70.43344265856354,60.03651559264305],[-70.41930056235434,60.12222785059705],[-70.3089180944023,60.12697325834131],[-70.30881765915356,60.149215603417666],[-70.26821176380852,60.15505863570661],[-70.14482982491656,60.153681776790506],[-70.05823803691433,60.15390624805707],[-70.00348560490175,60.13545559465933],[-70.00326457288402,60.093681377854416],[-69.87589935737044,60.04769701557218],[-69.84342516328678,60.03421334316809],[-69.8380112232361,60.0235325907762],[-69.79892800592046,60.01399461378536],[-69.775845307799,60.014553714273504],[-69.77426829822483,59.996573303179346],[-69.82245450937232,59.99824210309926],[-69.83754191233642,59.99239250873386],[-69.86022342018104,59.99475360550283],[-69.91223912420618,60.008460300047574],[-69.94837110809064,60.0144038919646],[-70.00403768898211,60.0122737104333],[-70.0166175031448,60.019171797625965],[-70.10890340627545,60.01631848729941],[-70.16630786526227,60.018369566437585]],[[-71.95890379880228,61.61196258506071],[-71.94490189227758,61.623523384610436],[-71.94828188360988,61.63821558978488],[-71.91130561607761,61.65758299821661],[-71.91414149115799,61.68948060402095],[-71.9406469051582,61.690084709327095],[-71.95163941126715,61.701538408995965],[-71.93965868916095,61.707461497992014],[-71.89594589274552,61.70526980849061],[-71.89883261744467,61.69445391319585],[-71.8498779335071,61.70014084101172],[-71.85007700810397,61.66437964729065],[-71.83343050151983,61.63309801793656],[-71.79183402554952,61.606888831490465],[-71.7179338481316,61.588234034294096],[-71.67043274217885,61.61040060756978],[-71.58038868824615,61.607723200859226],[-71.55019506119704,61.608436353226885],[-71.54301360471693,61.593362397991655],[-71.52410801617039,61.57853780520079],[-71.54952317026137,61.56391110558747],[-71.56878199818217,61.57421730582815],[-71.60569660712038,61.55285210801963],[-71.63203820276605,61.55449110807858],[-71.69183379104689,61.55168558827948],[-71.7173191889578,61.54631770056999],[-71.72876692052542,61.55172800540356],[-71.77018438755128,61.542204106342204],[-71.80099910911156,61.54296299833144],[-71.77621916822986,61.51845940331821],[-71.74517730860009,61.5071739138154],[-71.80499977628443,61.49611730925746],[-71.73273881801018,61.47262070025697],[-71.76973769482639,61.46569298558304],[-71.78929461655775,61.45159191211036],[-71.83636547562834,61.44726569622206],[-71.9001953410913,61.47288563369254],[-71.9568790995951,61.4758914001577],[-72.01776018026746,61.499541393185865],[-72.08164645613039,61.51766072915853],[-72.23225730618152,61.53563562694433],[-72.29949273643663,61.53540261180525],[-72.43897081260953,61.54905276185306],[-72.47595475097441,61.52701303440652],[-72.57081240899142,61.50993482076283],[-72.61394249860142,61.52172739603342],[-72.6740875835103,61.5101059466715],[-72.65276087166177,61.54808693579331],[-72.58531440942224,61.54833027624542],[-72.52821943008193,61.55379598359084],[-72.52300624741335,61.57484164254299],[-72.47445566570744,61.58033607286524],[-72.4249334547895,61.58072515479718],[-72.36081849393305,61.57312426306524],[-72.27005335095242,61.56864039987408],[-72.22880141849042,61.59138179006082],[-72.19277767779411,61.60483139660506],[-72.16624779800465,61.601633289893975],[-72.11770659653568,61.584450000453444],[-72.07916290868764,61.58844251030812],[-72.01709210640858,61.58592780558119],[-72.00602618967966,61.597783785002505],[-71.97157791239569,61.59534697317027],[-71.95890379880228,61.61196258506071]],[[-66.03134863207839,58.724033374359955],[-66.02171978243429,58.7350244911022],[-66.0319228886365,58.74433729603082],[-66.03257601486767,58.764040614010916],[-66.05668170788216,58.77503589838519],[-66.07480629058362,58.76653308476133],[-66.10243947348563,58.774080503788674],[-66.07516329676051,58.8008116007626],[-66.08541970708103,58.81205481360136],[-66.06422648152702,58.81766199428767],[-66.0458185227644,58.83410760218357],[-66.0273787239299,58.84159349608365],[-66.02379192837026,58.85238869486452],[-65.99384442195979,58.86545599545227],[-65.97537189550071,58.860318900985554],[-65.97200008922638,58.84186428391138],[-65.96113648665666,58.827099981382865],[-65.94194762015452,58.82715270802455],[-65.93217632100901,58.844082396706995],[-65.85037667555052,58.82431579832001],[-65.84813131087898,58.813963107161705],[-65.81681390286197,58.79380671372691],[-65.8179260965811,58.81164700566284],[-65.83630220909276,58.82754180207393],[-65.80089818017511,58.85730250824585],[-65.79107039030204,58.83339860585754],[-65.76580781998261,58.832278797982724],[-65.74798820467574,58.820829996542216],[-65.7392787082116,58.80668590505069],[-65.70108910129699,58.815922708888834],[-65.69867469698227,58.805254395574394],[-65.66736591466864,58.795909304760634],[-65.66344148651244,58.784096194177884],[-65.64340272733538,58.772116295568836],[-65.61583579086728,58.771417689220335],[-65.59893421737837,58.75990629049221],[-65.60457709007139,58.74899579098306],[-65.59299402189042,58.736477704940654],[-65.56469629825969,58.72621469629072],[-65.52040782124834,58.72013269450588],[-65.52407962741601,58.70653429851224],[-65.61358299350925,58.704185800066654],[-65.59684910715737,58.67397341356682],[-65.62462071912432,58.67499760027736],[-65.63685242144933,58.687774695310715],[-65.71733937593238,58.71027079694056],[-65.75080359955896,58.70588411372559],[-65.75402883022231,58.61273639883132],[-65.80358739868691,58.55481495602234],[-65.90139902241694,58.50855680975299],[-65.9371530708367,58.4810435536852],[-65.96864810242788,58.46672881018757],[-66.00094801217584,58.488551089397724],[-65.96347489524948,58.50503229356186],[-65.93823121241836,58.512189207929985],[-65.92651410082173,58.52258870564896],[-65.90975891679888,58.519087710702294],[-65.89624858334696,58.52874829927492],[-65.90050181861267,58.538565905593195],[-65.88318650298582,58.55581829438506],[-65.89141149068725,58.57830071063754],[-65.89147872313609,58.59648459783693],[-65.85748770534167,58.58734800858661],[-65.83367988407592,58.571571495982575],[-65.81819818093129,58.575082806475734],[-65.84486769043086,58.59401649464608],[-65.85941851104434,58.598246409908896],[-65.87458867761707,58.62467710573756],[-65.89199889879879,58.634073005520925],[-65.93239277731291,58.645289496326114],[-65.93807329626722,58.67076060736645],[-65.93935757465273,58.68224769887618],[-65.97703560289314,58.684294386752896],[-66.0071216186853,58.69090020245817],[-66.03747299597323,58.69253329500658],[-66.02935619552696,58.70321411075369],[-66.03918330767863,58.713776800536905],[-66.03134863207839,58.724033374359955]],[[-69.78736578272486,58.711757711989634],[-69.78045029888139,58.69797669207902],[-69.79841171538185,58.683251096342275],[-69.83458800122013,58.67666740419115],[-69.86529571921095,58.644076397669664],[-69.8504040962291,58.632735888600656],[-69.85827318228974,58.61825669483471],[-69.82135540447318,58.60328990847613],[-69.81168248852183,58.589030189578295],[-69.7900424793842,58.59984219861012],[-69.77940969504263,58.61340868707298],[-69.75341542017058,58.62635770699727],[-69.73006881600642,58.659859995461765],[-69.72441339080505,58.67945930926697],[-69.70090530487457,58.68810769216621],[-69.70396208401118,58.69831608699792],[-69.69050768541713,58.70981429419093],[-69.6539923966009,58.6939084919329],[-69.6572549800603,58.67777889666532],[-69.64271672892343,58.66515177426577],[-69.68766300298373,58.63637225922313],[-69.80672991678698,58.545016889045726],[-69.82374311422446,58.53375019446612],[-69.8488353030108,58.50612058678686],[-69.84107020711905,58.49965971232741],[-69.87070039782985,58.47729189271765],[-69.8747467216237,58.46286820273488],[-69.85581680888573,58.428821893605736],[-69.92783529663028,58.41795825634875],[-69.95129341644733,58.42203459308829],[-69.93120650165471,58.46316788770557],[-69.95566801723942,58.44867540202582],[-69.9656187668808,58.417967427540766],[-70.06775946504925,58.4112536504151],[-70.12303015661274,58.40921769997308],[-70.23837009060135,58.45187559114023],[-70.18422917416588,58.48843836025694],[-70.17982792915647,58.526268390806685],[-70.1699744152829,58.5530127913831],[-70.16147051556896,58.56177759191645],[-70.06411205447418,58.57545829184219],[-69.98345819713344,58.56217268001339],[-69.98469725851061,58.646093640814634],[-69.98185031134254,58.699962325373264],[-69.98215126323257,58.75382082396476],[-69.94512478717778,58.772293899797496],[-69.90726639712825,58.78368900703173],[-69.89881412749024,58.77300219328394],[-69.91291172125972,58.743463197966335],[-69.90985707459525,58.73748930039938],[-69.92758130381823,58.71060810886695],[-69.92622179836329,58.692000996094215],[-69.91302738701783,58.687175492518065],[-69.88468231694345,58.691076194042545],[-69.83677299426256,58.71162159683922],[-69.794388697245,58.70664948642775],[-69.78736578272486,58.711757711989634]],[[-69.62365443795208,61.05870283429345],[-69.60581510564768,61.07299520658391],[-69.6113874975814,61.07939068515719],[-69.55138281027844,61.079095891031436],[-69.50372891321969,61.068118091035636],[-69.48200973047118,61.0305129958581],[-69.48105880749405,61.0107492145598],[-69.4701658063653,61.00771229824643],[-69.45710298673714,60.98750758450478],[-69.44607757135981,60.95808900824861],[-69.41451798974173,60.946944103747114],[-69.43877580021675,60.93664630873243],[-69.41909351815876,60.92988270451288],[-69.38831679179049,60.92778629257753],[-69.37242831063806,60.91311869034237],[-69.39258249983386,60.8922467950309],[-69.38825399311082,60.86672790760536],[-69.39579490943409,60.84926950271327],[-69.36161791471687,60.819699394177626],[-69.37652422135795,60.808959694987585],[-69.42394661448434,60.81648040297129],[-69.43009610063142,60.80516511290306],[-69.41364741216842,60.791905107351184],[-69.42337700658847,60.78192759165314],[-69.4594046005512,60.772344792821094],[-69.47629430231376,60.77518808926727],[-69.50099929552839,60.76139190541635],[-69.53434127808328,60.75931900259506],[-69.5363044262529,60.75095559832294],[-69.56758704686523,60.75004742326377],[-69.62247877424123,60.824156677595234],[-69.63020876690258,60.82782411983362],[-69.75903087241164,60.82803452619036],[-69.81967866223755,60.824776353521905],[-69.88140777652255,60.78626771522291],[-70.07105288772125,60.80708777659154],[-70.11873524788322,60.83374254488271],[-70.16946225952209,60.875299272072894],[-70.14093893662869,60.911566034161574],[-70.16132758323498,60.951294232005736],[-70.1884671383614,60.955352728366435],[-70.17135861243898,60.972437310326555],[-70.17932121328697,60.977120781867114],[-70.15937454460631,60.99932173039959],[-70.14532818553987,61.00185475119975],[-70.11505489863538,60.98637458935921],[-70.11346620386658,60.95950149341181],[-70.08656319801722,60.961781601451904],[-70.08068353029205,60.93428089096563],[-70.09410589278161,60.92802909427404],[-70.07741140211063,60.898903409024165],[-70.07961047125153,60.88914640376089],[-70.12530159592954,60.89118660493726],[-70.143993330202,60.88140619218048],[-70.12824418101944,60.873014589444296],[-70.09091858441725,60.88195338242525],[-70.05470602041993,60.870298005144974],[-70.07442427389478,60.85826289997868],[-70.06034608125498,60.84108359235982],[-70.02134160718138,60.845168309567974],[-69.98715517198258,60.84404550180009],[-69.9626113137879,60.82226260327148],[-69.93375997973399,60.81616728681319],[-69.91292591818667,60.80331540762807],[-69.88212708044902,60.80178269163211],[-69.87938100309363,60.81888450054885],[-69.85729101720989,60.828013611891826],[-69.84261597972217,60.844070795808676],[-69.8692454901705,60.8554602872046],[-69.84664651630929,60.86164610763553],[-69.82720730620524,60.881414206736125],[-69.80536158763803,60.888623495795],[-69.78749571090756,60.90377609213443],[-69.77268810919504,60.90365218776615],[-69.75558518641128,60.91697709654859],[-69.7334100060572,60.90905198986023],[-69.74934478237758,60.89573098913145],[-69.73639979414918,60.87435508795019],[-69.68544809022664,60.87216280302175],[-69.6484850184236,60.874456604715554],[-69.63162079540795,60.89213399255285],[-69.63930950371565,60.904904286910664],[-69.63058819096833,60.91291298776198],[-69.66400940119772,60.93000308698869],[-69.68436091142104,60.955213313198456],[-69.66450370973214,60.96862921021245],[-69.68242832508602,60.98365369403338],[-69.67532532305236,60.995457995042294],[-69.65808520336087,61.00038850103857],[-69.67923488280955,61.01302130720361],[-69.67610540305117,61.02333198583283],[-69.64743494177392,61.024329880568544],[-69.63669229513135,61.034377089870986],[-69.64744779823653,61.041779591122236],[-69.64155482851524,61.05846879652996],[-69.62365443795208,61.05870283429345]],[[-68.5367104125267,58.03675250370781],[-68.60271554532537,58.107847452578845],[-68.58986549713893,58.12410519230398],[-68.5966586196267,58.133309803442245],[-68.6174800073569,58.13627880036903],[-68.6143204104502,58.153993107859755],[-68.60011999263041,58.15704828627914],[-68.59130220667763,58.173971187645265],[-68.64160902379255,58.17251910201444],[-68.63520410353692,58.21148090308336],[-68.61506541376829,58.25093499196733],[-68.59216899903018,58.25000000893914],[-68.57358010320594,58.270044410397524],[-68.56960400150884,58.29978578764854],[-68.54076884587725,58.30116221896596],[-68.53112809456167,58.25539925572614],[-68.49939187221764,58.24314440512837],[-68.4694766860275,58.255454800448355],[-68.45123496928902,58.3066071508425],[-68.46486571543912,58.349215485107315],[-68.44417271641298,58.38456242892481],[-68.40945701378209,58.38884619678488],[-68.40016714108187,58.374976509682156],[-68.26028197892002,58.41863174280311],[-68.21538134688915,58.41683119809773],[-68.22084218530375,58.37463959732125],[-68.23159959740173,58.34719508593679],[-68.2707374952568,58.30822408613325],[-68.27976308981529,58.29135419006061],[-68.27863419044733,58.27714248430069],[-68.29651778044384,58.2629551077958],[-68.22135873424327,58.26938160055659],[-68.22391919638987,58.24376759602886],[-68.200914495826,58.2340931928878],[-68.22079015894887,58.16119851489555],[-68.20333911654596,58.150894597028056],[-68.21171289192195,58.13516439970786],[-68.2369923695614,58.1250545299071],[-68.24345929469192,58.06514832102448],[-68.4315398538754,58.02078395567621],[-68.53191809376939,58.03328563667816],[-68.5367104125267,58.03675250370781]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.74049027630566,\"lat\":57.903074871179115},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499902\"],\"csd_name_en\":[\"Rivi\\u00e8re-Koksoak\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Rivi\\u00e8re-Koksoak\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.23561659099454,44.149928728422516],[-77.25919625920564,44.197487400419284],[-77.33330629377942,44.34878258766736],[-77.47339242521825,44.315586639356354],[-77.4728893083964,44.31417934326561],[-77.41149128515983,44.18832349969558],[-77.44725260461676,44.17967870181468],[-77.42324955372565,44.13077194038524],[-77.38707932493718,44.14707866186347],[-77.33114118156145,44.154201019843825],[-77.31555796611454,44.1510501223398],[-77.23561659099454,44.149928728422516]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.36054470664538,\"lat\":44.23671143140202},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3512\"],\"cd_name_en\":[\"Hastings\"],\"csd_code\":[\"3512005\"],\"csd_name_en\":[\"Belleville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Hastings\",\"csd_name_fr\":\"Belleville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-78.10526457329222,44.17149366205087],[-78.10892022475417,44.1791371323432],[-78.14385610439034,44.170149330568016],[-78.14059210261684,44.16237879037966],[-78.10526457329222,44.17149366205087]]],[[[-78.0694694931349,44.185698891802794],[-78.09977080863162,44.1815654898856],[-78.09166390730095,44.160000642023874],[-78.06225755919988,44.16693096864901],[-78.0694694931349,44.185698891802794]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.09502302510087,\"lat\":44.172616216388484},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3514\"],\"cd_name_en\":[\"Northumberland\"],\"csd_code\":[\"3514027\"],\"csd_name_en\":[\"Alderville First Nation\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Northumberland\",\"csd_name_fr\":\"Alderville First Nation\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.16354219261221,43.817389398650356],[-81.15124899159193,43.83406328758881],[-81.18643829011629,43.958670390757675],[-81.36810978753923,43.927406008901734],[-81.38354250493603,43.90799339540932],[-81.3201398880864,43.88144474580535],[-81.31104270848624,43.89909379719777],[-81.29594148676325,43.892861694397936],[-81.30068943207564,43.87933057914198],[-81.31768048320069,43.88035479707133],[-81.4215151271253,43.74659115290254],[-81.42308567190115,43.72699397528854],[-81.33617940867715,43.6912546933788],[-81.30208500369643,43.67737569906746],[-81.1856168141841,43.82635040869542],[-81.16354219261221,43.817389398650356]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.28375058542588,\"lat\":43.82542341664758},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3540\"],\"cd_name_en\":[\"Huron\"],\"csd_code\":[\"3540050\"],\"csd_name_en\":[\"Morris-Turnberry\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Huron\",\"csd_name_fr\":\"Morris-Turnberry\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.37322631558023,45.14088180825789],[-79.41510762773822,45.22054910013669],[-79.50097758757543,45.38032930025516],[-79.59788257551777,45.35437754721907],[-79.67258686824141,45.33436495005457],[-79.62449414730797,45.24486639730126],[-79.62080863234495,45.23110501688251],[-79.60629071707147,45.21488970347281],[-79.77487713701298,45.168692421586705],[-79.71765813896526,45.065629584881705],[-79.67168918832805,44.98056378794479],[-79.63755568670997,44.91641565544697],[-79.62960534473133,44.9080379699556],[-79.63884660036065,44.89701665470304],[-79.62742496089768,44.895570919537555],[-79.61716367886125,44.88278989647123],[-79.60012883467034,44.87294584778382],[-79.53476682033661,44.85430845714497],[-79.49696068460183,44.972799974545715],[-79.48719042091268,45.00039829955428],[-79.47103552641639,45.00432229987503],[-79.4526770134144,44.994665817102025],[-79.44030574091329,45.00004831236599],[-79.4449877130629,45.04555135151031],[-79.41004879708665,45.04396084028578],[-79.35283941674601,45.05861930326033],[-79.3945575304436,45.13610435779818],[-79.37322631558023,45.14088180825789]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.55804152842268,\"lat\":45.125968653188266},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3544\"],\"cd_name_en\":[\"Muskoka\"],\"csd_code\":[\"3544053\"],\"csd_name_en\":[\"Muskoka Lakes\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Muskoka\",\"csd_name_fr\":\"Muskoka Lakes\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.03580644362385,45.04862747897143],[-78.07068623899276,45.11203626171796],[-78.23417620947025,45.054496409479036],[-78.39945930099313,45.006171687660654],[-78.50184914580666,44.97874040861824],[-78.55102096049526,44.964437627053165],[-78.49975099269726,44.86571958596465],[-78.48541513277642,44.83403853247786],[-78.33292103392726,44.86993138121913],[-78.18731002177171,44.90301703627244],[-78.14101068116284,44.91676919602081],[-78.11888740219821,44.875676513050266],[-77.9611981100963,44.91147640008755],[-77.99974391813417,44.97725408446001],[-78.00982089912723,45.00108191978293],[-78.03580644362385,45.04862747897143]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.24571504843581,\"lat\":44.96188001485318},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3546\"],\"cd_name_en\":[\"Haliburton\"],\"csd_code\":[\"3546005\"],\"csd_name_en\":[\"Highlands East\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Haliburton\",\"csd_name_fr\":\"Highlands East\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.61489448416916,45.072680216880045],[-78.66384316077111,45.16483082177],[-78.74056276159047,45.31082696658789],[-78.57083513142274,45.35475356152893],[-78.37488007572392,45.40721158582502],[-78.24801600190007,45.44037363555551],[-78.27336463560346,45.487071077925044],[-78.31481451502296,45.56107503100713],[-78.54634574958105,45.49839941149882],[-78.85986447943445,45.41462434995936],[-78.97140736865734,45.38445851624838],[-78.95704077380346,45.37076299948847],[-78.94997589851333,45.351444710368334],[-78.9355036241175,45.32720238807062],[-78.93533943118169,45.313996536503964],[-78.90718471700842,45.272731888951384],[-78.89538548572325,45.2406065344701],[-78.88589977504496,45.23020824003793],[-78.87440227364866,45.20691949487188],[-78.86725212045094,45.18194667820741],[-78.85623641683642,45.17457416152359],[-78.84490279219892,45.157660110086],[-78.84319645181833,45.14503004045156],[-78.84113420577567,45.13549870079887],[-78.81120252506562,45.08422351085047],[-78.78147074706213,45.026295524198886],[-78.61489448416916,45.072680216880045]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.65933777591191,\"lat\":45.33131163661445},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3546\"],\"cd_name_en\":[\"Haliburton\"],\"csd_code\":[\"3546018\"],\"csd_name_en\":[\"Algonquin Highlands\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Haliburton\",\"csd_name_fr\":\"Algonquin Highlands\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-83.38083914363428,45.98777269946198],[-83.40372536306879,45.98462861544404],[-83.43540316067089,45.96770142069056],[-83.43438463391308,45.95418560935188],[-83.44556126219483,45.94278570951633],[-83.46088793220008,45.940440714502074],[-83.47390343838134,45.93141111031052],[-83.48279775839765,45.905269117196795],[-83.47563644666995,45.89296721066423],[-83.45234053381492,45.895530101995455],[-83.43202975831763,45.88295780452226],[-83.35711944063182,45.84959581762733],[-83.33562805906038,45.86356510872381],[-83.32862814376901,45.8613048119206],[-83.30344744413092,45.8723371133633],[-83.29093165090806,45.89292141662125],[-83.26251384493054,45.90858211008081],[-83.26842674224204,45.931219316221956],[-83.26289103810997,45.945424796369764],[-83.26568605938083,45.9579620028939],[-83.28808704397733,45.95289819726849],[-83.30616955305206,45.96573960624855],[-83.32635286482892,45.960118901294315],[-83.34064724839666,45.97836960288441],[-83.33998316360093,45.98772659802355],[-83.36173794367106,45.99374141849957],[-83.38083914363428,45.98777269946198]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-83.3680175257163,\"lat\":45.92203724515708},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3551\"],\"cd_name_en\":[\"Manitoulin\"],\"csd_code\":[\"3551034\"],\"csd_name_en\":[\"Cockburn Island\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Manitoulin\",\"csd_name_fr\":\"Cockburn Island\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.14040781077458,45.76849089955655],[-82.14067651487652,45.832364494317325],[-82.15490172246898,45.826896110538016],[-82.17190281803724,45.83403475383445],[-82.17632454695355,45.851123486526056],[-82.21404240637094,45.85059250368999],[-82.20934327109742,45.8325264476357],[-82.21360545871578,45.81430187635372],[-82.21417109856432,45.78601311003783],[-82.19391415503104,45.800488516213896],[-82.17599143580526,45.79696609334459],[-82.15443893201392,45.7795712125893],[-82.15385313182716,45.768727204494354],[-82.14040781077458,45.76849089955655]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.17681556986962,\"lat\":45.81446215571294},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3551\"],\"cd_name_en\":[\"Manitoulin\"],\"csd_code\":[\"3551045\"],\"csd_name_en\":[\"M'Chigeeng 22\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Manitoulin\",\"csd_name_fr\":\"M'Chigeeng 22\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-83.3806545123442,47.84660043636149],[-83.38176608240687,47.85772725993404],[-83.43022300913883,47.85487048738595],[-83.42943429184646,47.818819044225116],[-83.42548110422669,47.80812385034162],[-83.41567675485646,47.808223892562474],[-83.3954597287631,47.80933372055422],[-83.39224721237909,47.825191962165434],[-83.39086206949905,47.84415721045839],[-83.3806545123442,47.84660043636149]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-83.409121785156,\"lat\":47.83425874685539},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3552\"],\"cd_name_en\":[\"Sudbury\"],\"csd_code\":[\"3552092\"],\"csd_name_en\":[\"Chapleau\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Sudbury\",\"csd_name_fr\":\"Chapleau\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.5176553747883,47.58104742149565],[-79.5175615440464,47.66008093787281],[-79.51754972796705,47.667814247024616],[-79.63147080710377,47.66773899273252],[-79.63129041503888,47.58084310132604],[-79.5176553747883,47.58104742149565]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.57450632056423,\"lat\":47.62437898517584},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3554\"],\"cd_name_en\":[\"Timiskaming\"],\"csd_code\":[\"3554029\"],\"csd_name_en\":[\"Casey\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Timiskaming\",\"csd_name_fr\":\"Casey\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-79.63163419311775,47.49301595199523],[-79.67635593628374,47.493242406208054],[-79.66633093392463,47.47865571054873],[-79.65112572056981,47.47225660355112],[-79.62831354526764,47.44412080836814],[-79.59077124381182,47.40575905256934],[-79.63215104615519,47.406294675535534],[-79.63143144054662,47.30716955915377],[-79.63269598860438,47.231827394841105],[-79.63038971394946,47.16550342275018],[-79.63193557950707,47.153027092655],[-79.63179815460774,47.058460315644126],[-79.51960641729003,47.05968544061401],[-79.41019500205252,47.059845863050185],[-79.43498594045882,47.08422994106165],[-79.44342929410661,47.10745084166928],[-79.44098810567439,47.150114925676405],[-79.4319694853423,47.17998594084349],[-79.43748171174798,47.21926620448566],[-79.42655002439767,47.23682187666787],[-79.42684265021018,47.250069239231024],[-79.45035856457525,47.27723956717301],[-79.47784122822284,47.29847422885905],[-79.49314857712353,47.32074482408934],[-79.50907537992019,47.3370101539287],[-79.54013103079079,47.36616874393553],[-79.56679828253952,47.39887155740462],[-79.5810343613752,47.41511400906064],[-79.58687808419488,47.43311495811506],[-79.58421958479283,47.45123666322566],[-79.63125580705857,47.48049989935017],[-79.63163419311775,47.49301595199523]]],[[[-79.88831863749017,48.189187757773844],[-80.01714903514072,48.188843659057135],[-80.01772466055198,48.10199472334587],[-80.1468432331208,48.101793162965386],[-80.14611716079254,48.27582283908621],[-80.27597963851495,48.276859472421066],[-80.40460458950281,48.27698685665809],[-80.81279868381759,48.27715858262934],[-80.84960258702738,48.27815413592381],[-81.07520788515764,48.276925850371484],[-81.42191543291527,48.27687433167851],[-81.51395958516765,48.27835957776584],[-81.59687230055012,48.27690953592019],[-81.72681628884206,48.276916828835375],[-81.85595390622323,48.277436126069226],[-81.8559684494683,48.14554593184927],[-81.85689418208865,48.10390039826456],[-81.77897106125056,48.10327296287964],[-81.61871436086483,48.103512985444866],[-81.45558112400033,48.1028363637792],[-81.28881248367259,48.10280000848499],[-81.2449778954423,48.10068194105399],[-81.23114055053657,48.10252371416256],[-81.07363982685465,48.10345089908477],[-81.07327918554311,47.928149611759935],[-80.79050632698745,47.92844160380261],[-80.79000964612054,48.016382466579714],[-80.5314334154362,48.01643214984482],[-80.53292665949203,47.94068850753161],[-80.53088040031962,47.89927208718993],[-80.51207760616752,47.89216576061472],[-80.50643469472787,47.87478381675522],[-80.48518678864788,47.86113764435438],[-80.4618464780427,47.862405195292396],[-80.45405842636931,47.848279503971476],[-80.46749281904067,47.84036957783241],[-80.80446742241175,47.84183640670423],[-81.07370043909896,47.842095029976235],[-81.07347095007988,47.683576192291774],[-81.07425117236801,47.490340176271594],[-81.07343468711126,47.32176116960087],[-80.89763540063748,47.3222255206332],[-80.71512230512305,47.32182949480096],[-80.47106238755683,47.321280585154156],[-80.466080647242,47.32033851379861],[-80.27206538123836,47.320211847626155],[-80.27018205005652,47.234821905891884],[-80.20307946507235,47.23503304676585],[-80.15467999797562,47.23264640957114],[-80.13146017189611,47.234942732988976],[-79.78982266834264,47.234348683077044],[-79.85436012132372,47.30420743697695],[-79.8624808960681,47.30029843337409],[-79.87368765285045,47.32240430300884],[-79.87997342736992,47.32353898363378],[-79.91856902225926,47.3582417918583],[-79.9162560467315,47.36319601384585],[-79.8770705180446,47.38274565496407],[-79.88579544747549,47.39022210352582],[-79.90379482348682,47.3905757997482],[-79.91435222498826,47.40707377393388],[-79.7596120675011,47.40651003038938],[-79.75990740706843,47.49400992824257],[-79.8878507085977,47.494125907936876],[-79.88846395167623,47.5807440504225],[-79.88844058821286,47.667655284944146],[-79.88843340441021,47.75450199781691],[-80.01697934654634,47.75382138231999],[-80.0174448917265,47.841543500524956],[-80.01744990460472,47.940388694915875],[-79.88865065109236,47.93865202868904],[-79.88821493004798,47.92274902754706],[-79.87734741799977,47.90072350386044],[-79.8833214484196,47.8836233124912],[-79.87558813799043,47.870114514189474],[-79.87701855496195,47.84130194870077],[-79.76005482684882,47.842155539893064],[-79.75999530044108,47.754544699411596],[-79.63089753138571,47.75456686164803],[-79.51801531007044,47.75437837497427],[-79.51748151198484,47.90828161662813],[-79.51775207308323,48.10141647858737],[-79.62766537164943,48.10183907397504],[-79.6322522854039,47.926783456613116],[-79.76137536902942,47.928049005598986],[-79.7620812941516,47.99305058592437],[-79.75988160961273,48.101641577115764],[-79.89126670166232,48.1016211773144],[-79.88883990250008,48.11235771022033],[-79.88831863749017,48.189187757773844]],[[-80.68074556446899,48.058039964574924],[-80.6804145972792,48.09168801817215],[-80.5960699059158,48.092646454172986],[-80.59433165266346,48.03436122658207],[-80.68096008752597,48.03438843594998],[-80.68074556446899,48.058039964574924]],[[-80.27632542838452,47.74580983472801],[-80.27558046694486,47.66804253766753],[-80.40165593833238,47.66737600224867],[-80.40439384827916,47.753110669372546],[-80.27631644781894,47.7521568389536],[-80.27632542838452,47.74580983472801]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.47240787677791,\"lat\":47.78633055169947},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3554\"],\"cd_name_en\":[\"Timiskaming\"],\"csd_code\":[\"3554094\"],\"csd_name_en\":[\"Timiskaming\",\"Unorganized\",\"West Part\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Timiskaming\",\"csd_name_fr\":\"Timiskaming, Unorganized, West Part\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-84.08577281247317,49.83941485324426],[-84.1683030241953,49.83877046625132],[-84.17710997965256,49.79983923698441],[-84.15954399944592,49.7894846916047],[-84.1335628194232,49.788894414289004],[-84.13331902058952,49.79609587590154],[-84.08501762238305,49.79381403130709],[-84.08577281247317,49.83941485324426]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-84.1297417231668,\"lat\":49.81562440534014},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3556\"],\"cd_name_en\":[\"Cochrane\"],\"csd_code\":[\"3556095\"],\"csd_name_en\":[\"Constance Lake 92\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Cochrane\",\"csd_name_fr\":\"Constance Lake 92\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-83.8607958091235,46.277856949772186],[-83.90486184015323,46.291439372483225],[-83.92486733847906,46.31432718634114],[-83.95372660336848,46.321666169480785],[-83.99446748632322,46.31659852680673],[-84.03492321483817,46.30539251360897],[-84.06047024433737,46.308026327330104],[-84.07817667040851,46.31665270059276],[-84.10594424092643,46.32197221996487],[-84.11944422991864,46.31488890612446],[-84.11541653621362,46.26802780051287],[-84.09763873704574,46.256361100683804],[-84.1082498447208,46.24144439622888],[-84.08580546706773,46.21013890302311],[-84.07778045475393,46.1890226197081],[-83.96596676903145,46.23785713319851],[-83.89837324807412,46.26684021262581],[-83.89515511918556,46.26739976818118],[-83.8607958091235,46.277856949772186]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-84.01629332698842,\"lat\":46.26842878084419},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3557\"],\"cd_name_en\":[\"Algoma\"],\"csd_code\":[\"3557008\"],\"csd_name_en\":[\"St. Joseph\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Algoma\",\"csd_name_fr\":\"St. Joseph\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-84.22952962312621,46.55668369869347],[-84.24751924393222,46.54819012066726],[-84.2436408156551,46.53567680804281],[-84.26653108799955,46.525635107995484],[-84.27055147723472,46.53238243141846],[-84.26814460658574,46.56502254938178],[-84.24230819351989,46.596960583855726],[-84.22839910676842,46.59687123682578],[-84.22869618964366,46.612548032752144],[-84.47043601433442,46.60815296557412],[-84.46561559499675,46.52041979481543],[-84.55884969332665,46.52065001874747],[-84.62800596859618,46.5209424449158],[-84.55683314477311,46.46080560499403],[-84.47650552766417,46.45287773352629],[-84.44522206528231,46.489083301707424],[-84.421138746747,46.50058331600004],[-84.39552766500599,46.498611100294376],[-84.37413873128288,46.509166708703084],[-84.34188875224848,46.50750000556437],[-84.32516655828198,46.49983331278232],[-84.29374985746782,46.49288890802707],[-84.26547205368605,46.49441670874678],[-84.25476035112199,46.50085313644504],[-84.22832560077534,46.53126551982476],[-84.22952962312621,46.55668369869347]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-84.40001584146462,\"lat\":46.538998945798525},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3557\"],\"cd_name_en\":[\"Algoma\"],\"csd_code\":[\"3557061\"],\"csd_name_en\":[\"Sault Ste. Marie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Algoma\",\"csd_name_fr\":\"Sault Ste. Marie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-86.55092463058621,49.78479997655697],[-86.54925826629628,49.79708313915038],[-86.57870359311437,49.79653065489246],[-86.57815288183107,49.78260255009448],[-86.55092463058621,49.78479997655697]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-86.56457250915035,\"lat\":49.79032705641412},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3558\"],\"cd_name_en\":[\"Thunder Bay\"],\"csd_code\":[\"3558068\"],\"csd_name_en\":[\"Long Lake 58\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Thunder Bay\",\"csd_name_fr\":\"Long Lake 58\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-86.16814049934126,49.64582396607763],[-86.17070350753771,49.591151009461406],[-86.08264176038644,49.58962335071495],[-86.08273804319875,49.64584416872744],[-86.16814049934126,49.64582396607763]]],[[[-86.54872120378468,50.09909768161118],[-86.54859286072337,50.230908712839934],[-86.75863054783979,50.23107052601283],[-86.9002454753682,50.22965869375906],[-86.88086079886752,50.20499340068121],[-86.85437140956019,50.17886329179753],[-86.82746838829982,50.162907391961404],[-86.78604611340273,50.17408979719413],[-86.77481360459748,50.18032819988749],[-86.75241256312636,50.18118309500757],[-86.75351559263281,50.10094631953081],[-86.55342836740692,50.10023259956367],[-86.54872120378468,50.09909768161118]]],[[[-86.43678056815418,49.752667522226574],[-86.39042923180965,49.75125719727812],[-86.34048755299618,49.75201027029375],[-86.20567614771478,49.75093141687255],[-86.14236941173039,49.75146669244714],[-86.14595491768563,49.78453998803027],[-86.14634386636963,49.83929855713722],[-86.33978380672998,49.83955677865808],[-86.70047143084685,49.83876165595382],[-86.95004036331387,49.83889585151945],[-86.96717385713742,49.8399667028983],[-87.26205827229306,49.84050560347653],[-87.48559582055317,49.84059785275271],[-87.4861302385857,49.75393616279475],[-87.71524546953904,49.75386767399948],[-87.81699549141548,49.75161985676188],[-87.94916802471347,49.753254246698226],[-88.1006875450654,49.751870832251406],[-88.08608253600659,49.74252802847474],[-88.08559793393337,49.732008621353835],[-88.10385992728449,49.70629971770536],[-88.10390625989214,49.69548752655832],[-88.08206613508547,49.69110612093591],[-88.10902054769173,49.6661241319875],[-88.09674114880106,49.66361462843821],[-88.08942893337816,49.650784926835534],[-88.09006425555712,49.63331971796785],[-88.11050895658296,49.61458681341959],[-88.12932807472552,49.61725864692208],[-88.13366624963193,49.60615916864556],[-88.16220094014977,49.587207078954854],[-88.15230292450441,49.575220924786095],[-88.1657233364056,49.550359019604535],[-88.15112316254249,49.54386672160608],[-88.14367823589362,49.52280202643311],[-88.1689085712207,49.490283018797356],[-88.15664155104419,49.469565620223904],[-88.14378454839819,49.46987341829677],[-88.13497308149158,49.47799704687508],[-88.09641772448458,49.479713038394834],[-88.09165458986801,49.46444010028315],[-88.10063789912358,49.45266004575051],[-88.13666126174984,49.45550631092623],[-88.133938162676,49.44240806501173],[-88.13107970098272,49.435211894955046],[-88.12716944004798,49.409228626062166],[-88.1309489451397,49.38591181220304],[-88.13353583526664,49.34072388762326],[-88.16064761069953,49.339989964964204],[-88.16142409426321,49.29186888271429],[-88.03574228653436,49.293168216292706],[-88.0350452366804,49.38107150126167],[-88.03261423771217,49.48965113946149],[-87.99612457096714,49.48957060294831],[-87.8962343555455,49.49255088944089],[-87.89589399138269,49.57938131575624],[-87.63126414710932,49.58228614184502],[-87.63134044036276,49.66678315346556],[-87.34404243985011,49.665572096981805],[-87.08195824956728,49.66590799021953],[-87.08228834187278,49.606278158517604],[-87.08037549422416,49.57937632488281],[-86.95309550263826,49.57959759360125],[-86.94903499712045,49.66578285802974],[-86.67213230077358,49.666127780534765],[-86.65985241999937,49.66942342918449],[-86.64293672618733,49.68379100894479],[-86.65697764731067,49.69591312125078],[-86.63493312967675,49.708510115906556],[-86.63804963665201,49.716543106222815],[-86.600968256197,49.740391810951955],[-86.57815288183107,49.78260255009448],[-86.57870359311437,49.79653065489246],[-86.54925826629628,49.79708313915038],[-86.55092463058621,49.78479997655697],[-86.55378335348743,49.76571921286065],[-86.54474484723053,49.76228985339751],[-86.51065244772963,49.767119221833035],[-86.49957058320058,49.76236830358061],[-86.43679061468954,49.762479151736265],[-86.43678056815418,49.752667522226574]],[[-87.34056084237183,49.728632316607275],[-87.33316947265561,49.72823700908654],[-87.32480492259394,49.69831405789732],[-87.36022711582262,49.70879238711194],[-87.40161459492451,49.70266561337588],[-87.43932588466137,49.705596102546224],[-87.43535617336161,49.716280692132806],[-87.4033607404905,49.71844682491989],[-87.37756764804304,49.71617713241231],[-87.34056084237183,49.728632316607275]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-87.24786565897195,\"lat\":49.73627376539805},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3558\"],\"cd_name_en\":[\"Thunder Bay\"],\"csd_code\":[\"3558075\"],\"csd_name_en\":[\"Greenstone\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Thunder Bay\",\"csd_name_fr\":\"Greenstone\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-90.23821285272358,51.125033219571826],[-90.27364853992196,51.101688028441686],[-90.29926425767663,51.09284773314167],[-90.28522036031212,51.08364461426566],[-90.31456781887607,51.07847522985974],[-90.31023506562414,51.065906980249494],[-90.31472110708575,51.03270255860183],[-90.22233801683574,51.0314553141531],[-90.21085514693054,51.09370636569588],[-90.21125823540739,51.116450934569706],[-90.22701044780295,51.10946822481455],[-90.23821285272358,51.125033219571826]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-90.25874118699335,\"lat\":51.07044713808855},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3558\"],\"cd_name_en\":[\"Thunder Bay\"],\"csd_code\":[\"3558085\"],\"csd_name_en\":[\"Osnaburgh 63A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Thunder Bay\",\"csd_name_fr\":\"Osnaburgh 63A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-89.04768528682095,50.30350509459326],[-89.03014310480383,50.3124568988313],[-89.04383701141629,50.32306541988787],[-89.06365330070349,50.31681350828987],[-89.04768528682095,50.30350509459326]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-89.04659605329641,\"lat\":50.31379450842971},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3558\"],\"cd_name_en\":[\"Thunder Bay\"],\"csd_code\":[\"3558097\"],\"csd_name_en\":[\"Whitesand\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Thunder Bay\",\"csd_name_fr\":\"Whitesand\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-94.30531188558561,49.07929308894384],[-94.33787374038293,49.07871325375508],[-94.34346154970206,49.09295104181427],[-94.36055716853883,49.08895442921625],[-94.36649476485229,49.07838174851824],[-94.34395237147487,49.07714852845497],[-94.35036517559253,49.06036793566204],[-94.36295685786497,49.05607272668487],[-94.36241904631694,49.03957044172339],[-94.25385312511459,49.03691888883539],[-94.25361930884648,49.07981504767177],[-94.30005829613076,49.07917635202044],[-94.30531188558561,49.07929308894384]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-94.30694089944525,\"lat\":49.059658930702504},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3559\"],\"cd_name_en\":[\"Rainy River\"],\"csd_code\":[\"3559051\"],\"csd_name_en\":[\"Big Grassy River 35G\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Rainy River\",\"csd_name_fr\":\"Big Grassy River 35G\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-92.13709382454289,50.12677652597457],[-92.151789945494,50.1420569276473],[-92.12806386588133,50.144190617241094],[-92.1218425661383,50.15299392608332],[-92.11997528781042,50.19946862149495],[-92.11977277459724,50.27383663135336],[-92.12264957566128,50.33587590721466],[-92.20259544429626,50.33675551569103],[-92.21679373713286,50.31743729014055],[-92.2525580409199,50.31026716669053],[-92.30270751582674,50.31371922922216],[-92.34643403129022,50.30303166193447],[-92.4603775224541,50.31810996113307],[-92.47384317375187,50.321829074441474],[-92.51868686999221,50.307609831505204],[-92.53820288103789,50.30937167468481],[-92.53978478421443,50.24305826409499],[-92.25816848480295,50.23812092159299],[-92.26233179549251,50.10884718085647],[-92.2521020485404,50.10229722527547],[-92.2177568316427,50.11358342522546],[-92.18025443601572,50.1121827208163],[-92.13545013891556,50.11394816589134],[-92.13709382454289,50.12677652597457]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-92.27412480950301,\"lat\":50.24344488790523},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560056\"],\"csd_name_en\":[\"Lac Seul 28\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Lac Seul 28\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-98.81750630090967,49.354714991983805],[-98.92874096869193,49.35418954240016],[-98.93729715610206,49.35015563385938],[-98.95262406228503,49.324346703503764],[-98.96465236066132,49.325122625751895],[-98.96482691810897,49.29564789970374],[-98.97553433245822,49.2796489365791],[-98.99812894946037,49.27988980141743],[-99.02031633589633,49.25129586919479],[-99.02014611895243,49.21455760864957],[-99.06528268647514,49.214893204101465],[-99.0879449282845,49.20777590210345],[-99.08792982337329,49.17776035061031],[-99.07823625148278,49.177723940630074],[-99.07747981414725,49.088681086256024],[-99.07551889914274,49.014811000306295],[-99.07662323242383,49.000068718212844],[-98.6725514169274,49.000069128135664],[-98.67174699949712,49.0150435056257],[-98.67231077823104,49.17746922949707],[-98.68030083079137,49.177554642199645],[-98.68049238484363,49.19990830987355],[-98.70311085420975,49.199788291575345],[-98.70375864076853,49.25138285362639],[-98.72531056819294,49.25139821406216],[-98.72483234659472,49.29564354254893],[-98.73782436620584,49.29565806306271],[-98.7379220545117,49.31051751275086],[-98.77185403174913,49.310316965823596],[-98.77186407693267,49.32509214397911],[-98.79452904693237,49.32503151627999],[-98.79454503032832,49.339794771074146],[-98.81592277830924,49.3401766142108],[-98.81750630090967,49.354714991983805]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-98.8727613823863,\"lat\":49.15383037674751},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4604\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"4604040\"],\"csd_name_en\":[\"Louise\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Louise\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-100.05384618742357,49.533797376783056],[-100.05313871431458,49.543466207929285],[-100.05276752540733,49.709679847323955],[-100.46277578316655,49.71007700661597],[-100.46278529810533,49.559251486262546],[-100.46420432253161,49.53240484562227],[-100.06511468501895,49.53288640956924],[-100.05384618742357,49.533797376783056]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.25812369425047,\"lat\":49.621269688663375},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4607\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4607052\"],\"csd_name_en\":[\"Souris-Glenwood\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Souris-Glenwood\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-100.97678711643614,51.1255070049151],[-101.12517679919664,51.12509537461783],[-101.42896641477806,51.12494080465053],[-101.5390436916405,51.125060905248496],[-101.53898869893347,50.94849531104212],[-101.50869461731347,50.94848512980243],[-101.50884240637453,50.859814687312834],[-101.22966468524525,50.85971058889804],[-101.22956161560529,50.59433660126787],[-101.19975340233513,50.5943378610548],[-100.95030869196248,50.5943748038072],[-100.95014561568668,50.62392320453184],[-100.9505127074374,50.63165036071158],[-100.99705530756385,50.63155040401868],[-100.99684584650221,50.72716749660937],[-100.9505903032214,50.72717621051374],[-100.95050499613747,50.85736379517393],[-100.94874056140368,50.85972450005806],[-100.95057279269832,50.87149699302486],[-100.95035464198848,50.94818372452925],[-100.97583222207632,50.947946505757045],[-100.97811986471412,51.07009281974391],[-100.97678711643614,51.1255070049151]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.20035285087447,\"lat\":50.90888208801016},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4616\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4616020\"],\"csd_name_en\":[\"Riding Mountain West\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Riding Mountain West\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-100.27599189394189,51.44914830018795],[-100.2753272193599,51.62367476954788],[-100.29733746867205,51.62354182697369],[-100.29712996350042,51.71113159916061],[-100.47326479647953,51.71106886723783],[-100.65159412299975,51.711378688724395],[-100.72262534177193,51.711100986152616],[-100.72240134386416,51.62401159473222],[-100.697185593553,51.62387153323244],[-100.69786937559472,51.362280033612066],[-100.60377001847347,51.361895197050174],[-100.27598979082522,51.36177848816738],[-100.27744834978306,51.41727384668665],[-100.27599189394189,51.44914830018795]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.49257690054236,\"lat\":51.53686127730189},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4617\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4617064\"],\"csd_name_en\":[\"Ethelbert\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Ethelbert\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-99.71474409462154,51.5368814885727],[-99.7148549756232,51.60304244538151],[-99.7288616760009,51.61460054808261],[-99.74808836235461,51.58577794002809],[-99.7641622546122,51.57641284350695],[-99.80679848247131,51.56987814857362],[-99.81077237561458,51.57467482909546],[-99.8044035831917,51.60095224188043],[-99.8255511539133,51.60305343278708],[-99.84440855283091,51.62247634570445],[-99.86945116180895,51.63537665416329],[-99.86619407709784,51.64568725374607],[-99.89599807870968,51.64723954705233],[-99.91794885649232,51.65382724983346],[-99.92997927284375,51.6642260311983],[-99.92883318201623,51.67429233685419],[-99.94730438175392,51.67720204805804],[-99.95629648477494,51.7003547540536],[-99.95427517971596,51.71914134937779],[-99.93865276834596,51.75712653754515],[-99.93977426619074,51.76788053355203],[-99.9636300801292,51.77646765399101],[-99.95907854927427,51.79594464280137],[-99.93733286709663,51.79833195411373],[-99.91558886681041,51.79518993081935],[-99.90699584071957,51.824753132810976],[-99.89416515199616,51.8348364453476],[-99.90541025345813,51.84264943110465],[-99.89948208104816,51.85292724433906],[-99.91639715272476,51.86971855562936],[-99.91601257224643,51.88867994350699],[-99.93701765144678,51.89115355502541],[-99.95156965243926,51.93956323300188],[-99.95335317384385,51.96399175047046],[-99.94026125761478,51.975147335270115],[-99.96193925543082,52.002660954201396],[-99.95914294926467,52.0139407513612],[-99.97331064945257,52.023867737952905],[-99.98228717313916,52.058710636197],[-100.01493926005855,52.038482449881215],[-100.02924598304584,52.03961264864528],[-100.04314406746022,51.99715934132034],[-100.02597366306293,51.99442844919873],[-100.00915655308181,51.945759855477725],[-100.01214046205328,51.928039146168416],[-99.9777067431342,51.9226206410254],[-99.96648997222898,51.91392414492319],[-99.96507205011845,51.8922080444161],[-99.98387337389747,51.87708163879277],[-99.98467627216972,51.85797253204028],[-99.97386187858791,51.85647104769617],[-99.97933096676248,51.828471048595205],[-99.9917621625622,51.83186454439234],[-100.00609628417422,51.784757344162735],[-99.98830847651331,51.77882095468802],[-99.98397567483121,51.76222725464491],[-99.98961544373992,51.745131739649906],[-99.98002526731143,51.742065031488536],[-99.98521366470663,51.716903337673244],[-100.01797985062097,51.70594183284198],[-100.0382280490309,51.71134477763813],[-100.29712996350042,51.71113159916061],[-100.29733746867205,51.62354182697369],[-100.2753272193599,51.62367476954788],[-100.27599189394189,51.44914830018795],[-99.97130978035176,51.44884939510789],[-99.8731112617167,51.44976841779354],[-99.71472589490187,51.449138693534714],[-99.71307914645381,51.50003943529647],[-99.71474409462154,51.5368814885727]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.02300053418662,\"lat\":51.61039957099875},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4617\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4617072\"],\"csd_name_en\":[\"Mossey River\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Mossey River\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-96.95262230355031,50.49162415077091],[-96.96591555073137,50.49896844069197],[-96.97356444250337,50.52730850205602],[-96.97564051950285,50.506613094189085],[-96.98639198905116,50.50666549449283],[-96.98648909147524,50.49172389431887],[-96.95262230355031,50.49162415077091]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-96.97397827773537,\"lat\":50.501155486873614},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4618\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4618034\"],\"csd_name_en\":[\"Winnipeg Beach\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Winnipeg Beach\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-96.23331175360734,50.57369979673003],[-96.25541673888416,50.57889034497757],[-96.27160478911706,50.58941720932509],[-96.30104213676206,50.570749131905146],[-96.30700545257761,50.57498049108065],[-96.27748900914075,50.5939719999896],[-96.29701260984626,50.61341755454084],[-96.34102867736135,50.62444033907694],[-96.3748844718934,50.620069298667836],[-96.37524648369585,50.596960540944885],[-96.32954758450049,50.59665124814637],[-96.32929123955262,50.5531973904864],[-96.21542927293963,50.55341295045461],[-96.21541624532327,50.55507425281529],[-96.23336868324573,50.56071141741777],[-96.23331175360734,50.57369979673003]]],[[[-96.21465950417863,50.59181062826108],[-96.21391294317918,50.65461138162787],[-96.30639508666569,50.65526298593295],[-96.34412835682842,50.659267722489425],[-96.3327767638343,50.64468814389336],[-96.30437134672499,50.632196629777155],[-96.3104561740587,50.624457740676675],[-96.27861497291211,50.61485774480657],[-96.27978664137524,50.60533232510983],[-96.25827917563431,50.599646633959644],[-96.2454757639046,50.58099423093734],[-96.21534886251679,50.57552619830721],[-96.21465950417863,50.59181062826108]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-96.28064478829351,\"lat\":50.6066267798203},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4619\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4619050\"],\"csd_name_en\":[\"Fort Alexander 3\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Fort Alexander 3\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-101.34239460836467,54.616393419891445],[-101.39727572363546,54.610303738085435],[-101.3988676703248,54.6005723396428],[-101.42080155838676,54.601757860971226],[-101.41927466382378,54.585105160395415],[-101.38543904546975,54.58222655511282],[-101.39178473770988,54.57082305212499],[-101.43211425592058,54.562734454410645],[-101.4352251009124,54.547385211757145],[-101.41628826482062,54.55038623570879],[-101.39079330957355,54.56213653597618],[-101.36725289039732,54.56193498943374],[-101.36638388486101,54.57369247352313],[-101.34000192713181,54.57362739607568],[-101.34239460836467,54.616393419891445]]],[[[-101.17700533371301,53.86846138655711],[-101.17629729957969,53.8893494855255],[-101.29269088092136,53.88870020167632],[-101.29844001383597,53.878687320554775],[-101.32724029708363,53.859498704964935],[-101.32619049158768,53.851262604184846],[-101.26801391744608,53.841251779151754],[-101.2589887546277,53.83484716876452],[-101.25209912151223,53.852095995253336],[-101.25152100510965,53.87654493453237],[-101.20194965345621,53.876499733799996],[-101.17700533371301,53.86846138655711]]],[[[-101.33693812976924,54.21940318884485],[-101.33672224259702,54.23987172568806],[-101.4101809192448,54.23809649649814],[-101.40713603624162,54.18199685066895],[-101.39394034288806,54.17519205316949],[-101.39574493598748,54.16320095227913],[-101.4091851465378,54.15201347900405],[-101.3386794081968,54.15195893404816],[-101.33693812976924,54.21940318884485]]],[[[-101.73714527569892,53.61011851833467],[-101.70255907125501,53.595496250904915],[-101.66672865245148,53.58771684626406],[-101.63449991733133,53.60982534093818],[-101.61580194783028,53.615184987059195],[-101.59516335927124,53.60750099470518],[-101.54002975210807,53.61040328640607],[-101.5111379574713,53.59766693240664],[-101.51173981208365,53.575857756849864],[-101.43851455427358,53.57659485817266],[-101.41349771180684,53.58571509239876],[-101.37344603754163,53.58694435981359],[-101.35428109779663,53.590835313296836],[-101.35484102702591,53.60280757478566],[-101.32090826112272,53.627835838056434],[-101.26565578504119,53.64972402483394],[-101.23405656009203,53.669442950330776],[-101.20679817526245,53.699377217773055],[-101.20402949323862,53.708953701039526],[-101.17629057585556,53.70875472688967],[-101.17562229711666,53.79281350077681],[-101.0605377622077,53.79713319016039],[-101.0577434660846,53.83606473754026],[-101.03706945209592,53.85308845362302],[-101.04491865506445,53.86838553816403],[-101.0822883474873,53.861586444549516],[-101.15540398412692,53.85593966923745],[-101.21766284683659,53.83899120004889],[-101.23429410621249,53.839798757417654],[-101.26538125214763,53.82766995263673],[-101.32545137539668,53.83822787896021],[-101.35786471938214,53.83213675708108],[-101.3735952187831,53.821604438636854],[-101.42371932676838,53.830634730614875],[-101.4233412185748,53.81231801475889],[-101.46492676897518,53.778954554531744],[-101.49435429250651,53.76693641975388],[-101.52255617241033,53.769914114748005],[-101.5471509058111,53.76817794541933],[-101.62106981923415,53.78578762337192],[-101.62116913309582,53.77191908789733],[-101.63340958103245,53.76386232723406],[-101.67088318878359,53.7629236053129],[-101.69047290125856,53.75210850602139],[-101.69212260212815,53.741947480013536],[-101.71320113362619,53.7238632592442],[-101.75503852317557,53.72229283371076],[-101.7550319443219,53.7108160175063],[-101.735430943838,53.71070651627837],[-101.73546038653238,53.62542021171909],[-101.73714527569892,53.61011851833467]],[[-101.3728348436904,53.79512026296562],[-101.39751697560254,53.79141955448255],[-101.40294072666995,53.7983647754475],[-101.37951792214886,53.79843802307923],[-101.3728348436904,53.79512026296562]],[[-101.31084957806479,53.832307364653694],[-101.3129735068864,53.81315478254041],[-101.32405515675242,53.8183237409561],[-101.32049505205299,53.83023205701483],[-101.31084957806479,53.832307364653694]],[[-101.23363170360234,53.83406053200782],[-101.21313515705873,53.83156459497104],[-101.19850058560635,53.79729612411316],[-101.21262913627311,53.79413549548018],[-101.22881864702163,53.78479052784011],[-101.25482422634431,53.80321213146422],[-101.2567096481843,53.82352613811873],[-101.28113503812823,53.823239489455396],[-101.3053564889752,53.82701269121593],[-101.30046915900455,53.83224614290149],[-101.27683735674985,53.82449494039932],[-101.25874977285197,53.82556255251154],[-101.23363170360234,53.83406053200782]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.41763335487569,\"lat\":53.76534625830225},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4621\"],\"cd_name_en\":[\"Division No. 21\"],\"csd_code\":[\"4621052\"],\"csd_name_en\":[\"Kelsey\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 21\",\"csd_name_fr\":\"Kelsey\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.49999998270185,55.984146962068856],[-97.8016162645735,55.9851238276453],[-97.809098009597,55.970552848765344],[-97.82542514308348,55.95906574126572],[-97.84357522364448,55.95435469173253],[-97.88967987295057,55.95076794492153],[-97.90128451815048,55.93415010025103],[-97.94152295718071,55.922085800124194],[-97.9802318906376,55.92570239372184],[-98.02235866851235,55.910727338518136],[-98.06896686087354,55.9004969998244],[-98.08645824379437,55.8916810990387],[-98.10984678963966,55.89472189809375],[-98.06582799814106,55.86420309342086],[-98.07313589370006,55.80112593598825],[-98.06644742400104,55.800866076081654],[-98.0714416754694,55.7515882337487],[-98.08509885011473,55.65357523529649],[-98.08995353213697,55.642811245206886],[-98.11909516163125,55.62348747439584],[-98.23963796089117,55.62221771702984],[-98.24175327739137,55.45120265533696],[-98.33115970803253,55.44974712332722],[-98.53474573689549,55.448099178011745],[-98.53629867460816,55.278861351205386],[-98.68943240337104,55.27808606836459],[-98.69213453184965,55.10632255008461],[-98.50634889909631,55.105879652956546],[-98.5071227369951,55.123098613478966],[-98.48115708537394,55.123112411425204],[-98.48102731809692,55.105628185562104],[-98.3371429284209,55.10450049862976],[-98.2400599550926,55.10457535615829],[-98.23932695938701,55.189374338093266],[-98.07742479015823,55.19250029242401],[-98.07642252482428,55.28555830048708],[-97.91721059705709,55.28609224085806],[-97.91486300023037,55.42869725626329],[-97.9458397291411,55.415606717428176],[-97.9482160726277,55.40696462249366],[-97.98057820745983,55.39613607470038],[-98.07288432091113,55.39472264710884],[-98.0753841995197,55.45508588194424],[-98.0842647215882,55.48900923520205],[-98.0991944680401,55.488617588653334],[-98.10648208894554,55.5099661907467],[-98.09477621988364,55.51496640997125],[-98.06045136672941,55.498280920663696],[-98.04116299965125,55.500042940679116],[-97.98865160379187,55.53118069832988],[-97.91690454213872,55.53198170006869],[-97.91631320343534,55.56187723650436],[-97.77074246932011,55.562741187501764],[-97.77140583852805,55.52218102114185],[-97.79767564988849,55.50004303113241],[-97.85340720565954,55.45914235548786],[-97.60757855217226,55.45886046563824],[-97.60590745233611,55.41686389037542],[-97.37601434325664,55.416587461218626],[-97.37472915930795,55.42694726854772],[-97.37651473109514,55.54441601515687],[-97.45405283080429,55.54384029103514],[-97.45499720906345,55.650305445504415],[-97.45019151506825,55.92042006351557],[-97.41692298515285,55.931749098943115],[-97.37494627132608,55.937263775980036],[-97.29310335966781,55.959434207827876],[-97.27608495392826,55.96025924389533],[-97.22139619683949,55.97462030041835],[-97.22498670919916,55.98273274658044],[-97.49999998270185,55.984146962068856]],[[-97.7946345372472,55.78129634604592],[-97.80426002712566,55.7683603387293],[-97.83214597888119,55.75039461793289],[-97.82690027676216,55.7443523497467],[-97.86869490432663,55.72568830964779],[-97.88863014281311,55.733496177862435],[-97.89876583828703,55.74413474482404],[-97.891815829514,55.75446227155779],[-97.85873351365805,55.759169917765284],[-97.83855601728627,55.77615249904847],[-97.81148799086628,55.79228956878194],[-97.7946345372472,55.78129634604592]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.95926381677747,\"lat\":55.55329078635598},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4622\"],\"cd_name_en\":[\"Division No. 22\"],\"csd_code\":[\"4622017\"],\"csd_name_en\":[\"Mystery Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Local government district\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 22\",\"csd_name_fr\":\"Mystery Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-94.49371584929985,53.96687421269404],[-94.4998528530397,53.95833403714839],[-94.52365446145186,53.96209504172982],[-94.55000635957009,53.95767814286106],[-94.5423182439659,53.949362143417595],[-94.58769783383494,53.940960448748974],[-94.63482321778973,53.92916672829089],[-94.64082045783827,53.92341524754086],[-94.68815414573608,53.91725233002396],[-94.70539436190298,53.91237863258867],[-94.69501272062827,53.90131853273343],[-94.66440353422756,53.88492774178741],[-94.65527575478417,53.863970544707726],[-94.6128510511004,53.84651442738633],[-94.59354792066664,53.835322534768615],[-94.56292594886582,53.824447134799755],[-94.52245583575572,53.81540073459957],[-94.52925509059313,53.82879610556933],[-94.57921192707153,53.84420800170568],[-94.57962580709749,53.85604320112256],[-94.56801520458177,53.87687857205333],[-94.53927013422516,53.886754868341995],[-94.50684270017878,53.9271669630047],[-94.4979158884405,53.93265196763536],[-94.47455812710163,53.96504930977896],[-94.49371584929985,53.96687421269404]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-94.58760210590319,\"lat\":53.90079681021018},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4622\"],\"cd_name_en\":[\"Division No. 22\"],\"csd_code\":[\"4622048\"],\"csd_name_en\":[\"Garden Hill First Nation\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 22\",\"csd_name_fr\":\"Garden Hill First Nation\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.09676170708904,49.59496154780271],[-102.07413810711516,49.59521917735076],[-102.07416029939861,49.61001590816768],[-102.0967694056203,49.61000091078988],[-102.09676170708904,49.59496154780271]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.08548802110876,\"lat\":49.60254839129555},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701054\"],\"csd_name_en\":[\"Manor\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Manor\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.49720400551674,49.649453943945964],[-102.50311659801662,49.62858030677722],[-102.48050504120515,49.62799624018809],[-102.48042891925114,49.6466111989185],[-102.49720400551674,49.649453943945964]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.49060929676214,\"lat\":49.63772713350603},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701059\"],\"csd_name_en\":[\"Arcola\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Arcola\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.25831826065371,49.65124691303295],[-106.25907299334943,49.654783221557466],[-106.2749637953744,49.6549497997074],[-106.27496822437342,49.65037035797208],[-106.25831826065371,49.65124691303295]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.26717149690367,\"lat\":49.65281235772261},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4703\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4703041\"],\"csd_name_en\":[\"Limerick\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Limerick\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.28237168912784,50.04701269710282],[-105.6923378286493,50.046736173639545],[-105.69152821072045,49.878876003613016],[-105.69076869389039,49.869669141744744],[-105.71577000226424,49.84815854239204],[-105.73119783221584,49.824384626722996],[-105.73362371017109,49.8134409252101],[-105.71524912231523,49.78505144019243],[-105.66526569495743,49.78475018654808],[-105.25782796305968,49.78460989694966],[-105.25780214268866,49.78501901585908],[-105.2581122833684,49.87181850714341],[-105.28271572687842,49.872069530432185],[-105.28237168912784,50.04701269710282]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.48766888344078,\"lat\":49.91212116028788},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4703\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4703096\"],\"csd_name_en\":[\"Terrell No. 101\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Terrell No. 101\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.6766383880558,50.15475179418387],[-101.68840914036085,50.1520278706005],[-101.68843174524513,50.12995489997708],[-101.65368232254981,50.13357509927458],[-101.65371751801071,50.15954393779321],[-101.6766383880558,50.15475179418387]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.67059821274123,\"lat\":50.1438893524307},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705004\"],\"csd_name_en\":[\"Moosomin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Moosomin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.52386704297352,50.85665702795997],[-102.52388909946349,50.84959242585054],[-102.5036824230146,50.844661430071355],[-102.50423829572563,50.85645108499955],[-102.52386704297352,50.85665702795997]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.51309691126409,\"lat\":50.85171693464369},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705061\"],\"csd_name_en\":[\"Waldron\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Waldron\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.19876911598047,50.72432750867533],[-103.19154260271546,50.73905540818207],[-103.21471108559786,50.73917869393499],[-103.21472028863978,50.72440199794794],[-103.19876911598047,50.72432750867533]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.20482583999753,\"lat\":50.73219471495652},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705066\"],\"csd_name_en\":[\"Lemberg\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Lemberg\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.05536982571792,50.571570045363146],[-105.30566855909348,50.57154097332616],[-105.30545218660914,50.30947421251544],[-104.89301449595546,50.309493392320036],[-104.89308570806756,50.571623305726256],[-105.05536982571792,50.571570045363146]],[[-104.98468763421094,50.41134890591655],[-104.99357396306632,50.41862834869524],[-104.97066898128556,50.418694151835474],[-104.97070820301433,50.411549846336825],[-104.98468763421094,50.41134890591655]],[[-105.16795915845405,50.3894441779343],[-105.16799071433539,50.39687419456228],[-105.14507829051573,50.39699062175695],[-105.14507667086883,50.3894019799015],[-105.16795915845405,50.3894441779343]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.09935400288404,\"lat\":50.440642189182746},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706021\"],\"csd_name_en\":[\"Pense No. 160\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Pense No. 160\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.05513641363737,50.63713639628085],[-105.0437094924457,50.63718414393335],[-105.04374989339378,50.64444027608272],[-105.05515830702203,50.64441021821983],[-105.05513641363737,50.63713639628085]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.04944083088648,\"lat\":50.64079176540446},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706054\"],\"csd_name_en\":[\"Disley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Disley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.89820821728648,50.44415140553578],[-106.88638355119704,50.441057768098595],[-106.88701616366384,50.455817302004085],[-106.89758036476793,50.45578680050061],[-106.89820821728648,50.44415140553578]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.89208840517792,\"lat\":50.4490509918664},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707028\"],\"csd_name_en\":[\"Ernfold\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Ernfold\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.47953789105306,50.31009730209129],[-108.89165365834089,50.310090248295126],[-108.89200106367377,50.22271216377715],[-108.87175363147446,50.22272248233639],[-108.87160934811044,50.04803595293171],[-108.84578284907583,50.047796363757065],[-108.46195768848155,50.0476596786999],[-108.46192970943889,50.22264019258306],[-108.4796514204792,50.22264840535676],[-108.47953789105306,50.31009730209129]],[[-108.47725003094436,50.10412770506183],[-108.47331251026138,50.08776713605348],[-108.49665907500368,50.087580791572805],[-108.4958209836484,50.09957728959272],[-108.47725003094436,50.10412770506183]],[[-108.80338208224184,50.05510485510943],[-108.80339478728379,50.06872480758614],[-108.78061139647565,50.07032410562449],[-108.78060687906012,50.05493784471795],[-108.80338208224184,50.05510485510943]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.67327127613038,\"lat\":50.17969388988358},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4708\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4708009\"],\"csd_name_en\":[\"Gull Lake No. 139\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Gull Lake No. 139\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.00479816861233,51.76146773305468],[-103.00456290085471,51.754469952645145],[-102.9933656205365,51.75470158000023],[-102.99380135194114,51.761151858417044],[-103.00479816861233,51.76146773305468]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.99920685324182,\"lat\":51.757936563494304},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709056\"],\"csd_name_en\":[\"Rama\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Rama\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.71301762246199,51.88092837389339],[-101.71262876205095,51.888355960406386],[-101.72521007523619,51.88840087171767],[-101.72540358811644,51.88089889441214],[-101.71301762246199,51.88092837389339]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.71907497675794,\"lat\":51.8846559101185},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709076\"],\"csd_name_en\":[\"Arran\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Arran\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.72076799923771,51.315727169970536],[-101.72317118472456,51.30150713102682],[-101.71197165998956,51.301560738418424],[-101.71213423890886,51.31581139322292],[-101.72076799923771,51.315727169970536]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.71703264765169,\"lat\":51.30834424166582},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709828\"],\"csd_name_en\":[\"Keeseekoose 66-CA-06\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Keeseekoose 66-CA-06\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.16644842956724,51.77579388193769],[-104.19101474067361,51.77976040892685],[-104.19033200695478,51.7579890958202],[-104.16755468451014,51.75794798727386],[-104.16644842956724,51.77579388193769]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.17921159600604,\"lat\":51.76803219223205},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710047\"],\"csd_name_en\":[\"Wynyard\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Wynyard\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.24816738432844,52.06749412179949],[-104.24358396726788,52.075292534802266],[-104.26809321512151,52.074485861210405],[-104.26811027156845,52.06781859780593],[-104.24816738432844,52.06749412179949]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.25667436733872,\"lat\":52.07139026589717},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710064\"],\"csd_name_en\":[\"Quill Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Quill Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.16507241361066,51.31389512255183],[-104.1995930801651,51.31393684644724],[-104.35046795092998,51.31423178906495],[-104.35004965948315,51.212220387767665],[-104.16600660910596,51.21279794216078],[-104.16507241361066,51.31389512255183]],[[-104.28292794879712,51.29262489025411],[-104.28348192266327,51.277673951787605],[-104.30510211889118,51.278021007217305],[-104.30498761378789,51.292705209231315],[-104.28292794879712,51.29262489025411]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.25740669258462,\"lat\":51.26295782437321},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710823\"],\"csd_name_en\":[\"Gordon 86\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Gordon 86\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.9399513087136,51.37255519878954],[-103.94007630209468,51.364696465791035],[-103.92971898081127,51.36484421207098],[-103.9296024867953,51.372551967600195],[-103.9399513087136,51.37255519878954]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.93485400635376,\"lat\":51.36866145851212},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710851\"],\"csd_name_en\":[\"Muskowekwan 85-2A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Muskowekwan 85-2A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.00425333386153,51.26704409267294],[-106.00425410812481,51.273663596244866],[-106.0042778909069,51.35820909372859],[-106.28535689052165,51.35824991054897],[-106.42586970229492,51.35825149707836],[-106.42580088630679,51.27087109954899],[-106.42114602367454,51.27086898375318],[-106.42304471410007,51.183459199063336],[-106.42308969225793,51.096128800637246],[-106.00432960332104,51.09608791199938],[-106.00425333386153,51.26704409267294]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.2139779625672,\"lat\":51.22735723356401},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711016\"],\"csd_name_en\":[\"Willner No. 253\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Willner No. 253\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.40415950278843,51.62004250929026],[-105.80377449420119,51.619807368045535],[-105.8036892911316,51.3580483124133],[-105.66305491037153,51.35811039228796],[-105.38185740884954,51.358015487053216],[-105.38179929213898,51.620045401135066],[-105.40415950278843,51.62004250929026]],[[-105.43754820155158,51.445415610735],[-105.45220209888537,51.445400604969755],[-105.4521764499531,51.46069024976709],[-105.4396292339807,51.46073531933083],[-105.43754820155158,51.445415610735]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.59301753958293,\"lat\":51.489075485729934},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711039\"],\"csd_name_en\":[\"Wood Creek No. 281\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Wood Creek No. 281\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.50246033012571,51.81332678321703],[-106.5118319128599,51.813065602706665],[-106.51214591925716,51.804809399567965],[-106.5000948708089,51.804852292107384],[-106.50246033012571,51.81332678321703]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.5065848235782,\"lat\":51.808841564246535},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711063\"],\"csd_name_en\":[\"Dundurn\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Dundurn\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.12671594751092,51.939740704109866],[-107.14269797538098,51.92926534153159],[-107.14229954486827,51.914718674994184],[-107.1264174274368,51.9143481017516],[-107.12671594751092,51.939740704109866]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.13381822382338,\"lat\":51.92477499341458},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4712\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4712056\"],\"csd_name_en\":[\"Delisle\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Delisle\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.40646654622073,51.62022799272948],[-109.66038438849517,51.62002829796427],[-109.66047650483719,51.358389807081814],[-109.3791162860658,51.35839529737596],[-108.95745789066139,51.358320790607024],[-108.69939192168144,51.35808020312402],[-108.535261410793,51.35820901046425],[-108.53528260493924,51.61976161037395],[-108.55596875360085,51.62001179130475],[-108.81753613436169,51.61982650294414],[-108.98061510788047,51.62000490001031],[-109.40646654622073,51.62022799272948]],[[-108.71017894542362,51.44559532312966],[-108.71012598550081,51.43823795901341],[-108.72278300370375,51.438288311987336],[-108.72283690458039,51.445591896817284],[-108.71017894542362,51.44559532312966]],[[-108.85151110702772,51.46723803132576],[-108.86345335272237,51.46650058777029],[-108.86346289131704,51.4747970094727],[-108.85200997984413,51.47478360049726],[-108.85151110702772,51.46723803132576]],[[-109.60485342063775,51.47498098219311],[-109.61387930814514,51.4831267076775],[-109.59358871430142,51.48340250092252],[-109.59345010363158,51.47497874577062],[-109.60485342063775,51.47498098219311]],[[-109.14480409286942,51.45281294729225],[-109.17892906229407,51.45291843725926],[-109.19166316484487,51.467229340412615],[-109.19164692500249,51.48211081430887],[-109.13311731867118,51.48199054891515],[-109.1213600080831,51.474879023334495],[-109.12130251960461,51.46017938645979],[-109.14480409286942,51.45281294729225]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.09744813136608,\"lat\":51.489323914107004},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713006\"],\"csd_name_en\":[\"Kindersley No. 290\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Kindersley No. 290\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.39384459792498,52.87137790081585],[-102.40580476029541,52.86404422559605],[-102.40559573000394,52.842262454712184],[-102.36995783817021,52.84228953617069],[-102.36958787251032,52.81849897968921],[-102.33398509098916,52.81446845425844],[-102.33305567136343,52.83498664357132],[-102.34614494741744,52.834846622609234],[-102.34544912218595,52.864426639518356],[-102.36938622409822,52.86455320920859],[-102.39384459792498,52.87137790081585]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.36789829108557,\"lat\":52.844951723417324},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714004\"],\"csd_name_en\":[\"Hudson Bay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Hudson Bay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.81197756644815,52.298850561944626],[-103.81539362802768,52.28381320549654],[-103.80633179834132,52.28353689694857],[-103.8024293220772,52.296992928289676],[-103.81197756644815,52.298850561944626]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.80908532171638,\"lat\":52.29091827227727},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714024\"],\"csd_name_en\":[\"Rose Valley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Rose Valley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.48630928660107,52.75473866608701],[-105.77619389807431,52.75468228944152],[-105.7761939811972,52.711076964142286],[-105.77619269994716,52.667038000675774],[-105.74628630893388,52.66706265520222],[-105.74670971961132,52.65428117339439],[-105.72257680707342,52.65294779101068],[-105.72257401505021,52.63842869503585],[-105.74673309362854,52.633046592666425],[-105.74666419330929,52.499322187383086],[-105.72261611510038,52.49667737531465],[-105.72328875778318,52.48561294108613],[-105.74654330461614,52.484647806802194],[-105.75021908486725,52.49290179965481],[-105.89048681271078,52.49296319256803],[-105.89049190072254,52.40566500487075],[-105.45900008189474,52.40552028959988],[-105.45875321275564,52.66750499171897],[-105.48670180891845,52.6675103864504],[-105.48630928660107,52.75473866608701]],[[-105.62541108999716,52.64695244904336],[-105.6269610180782,52.642416725573234],[-105.64808404804785,52.638371190084555],[-105.64675445845069,52.6409217482524],[-105.62822408688446,52.64434745947817],[-105.62541108999716,52.64695244904336]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.63240585624568,\"lat\":52.56572127471877},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715039\"],\"csd_name_en\":[\"Hoodoo No. 401\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Hoodoo No. 401\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.29637954133428,52.7567465432963],[-106.29566094062294,52.80183991206444],[-106.2716439229952,52.802347713862886],[-106.27267105047378,52.88886746672345],[-106.34551035517948,52.889208789523984],[-106.34521075413409,52.87284827452049],[-106.34400985198856,52.85282434391667],[-106.34443990534635,52.83077699069858],[-106.35791278008755,52.83060045891041],[-106.36889852161634,52.83064130792399],[-106.44232404839282,52.83044046254988],[-106.44251213505319,52.81286432323127],[-106.44254140050134,52.79788925628928],[-106.44186606208703,52.75679275561894],[-106.29637954133428,52.7567465432963]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.34909451570809,\"lat\":52.81250107836605},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715845\"],\"csd_name_en\":[\"Beardy's 97 and Okemasis 96\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Beardy's 97 and Okemasis 96\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.70943220927256,52.688195603389474],[-107.69630221470271,52.68853483820409],[-107.69725809749772,52.696480893412875],[-107.70904031653458,52.69648178835474],[-107.70943220927256,52.688195603389474]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.7030467860488,\"lat\":52.692348933540515},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716026\"],\"csd_name_en\":[\"Richard\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Richard\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.71693350922394,55.90137484675432],[-107.7125929803941,55.899701674331176],[-107.69127154714775,55.87824301436696],[-107.68975839560154,55.88548696419855],[-107.70924236578081,55.90146930590052],[-107.71693350922394,55.90137484675432]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.70039664599229,\"lat\":55.89077512054943},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718069\"],\"csd_name_en\":[\"Patuanak\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Northern hamlet\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Patuanak\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.8222682107978,59.25882143361673],[-105.86931944822514,59.263871462154725],[-105.85988392589614,59.24583156725593],[-105.82196394174578,59.25085756778558],[-105.80391796360469,59.24787597474177],[-105.8222682107978,59.25882143361673]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.84270722480674,\"lat\":59.254700779455426},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718100\"],\"csd_name_en\":[\"Stony Rapids\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Northern hamlet\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Stony Rapids\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.08365759053753,49.98969590046895],[-113.07358880894002,49.99552063546108],[-113.0856377908266,50.00027839110706],[-113.08365759053753,49.98969590046895]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.08096139676805,\"lat\":49.995164975679025},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4802\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4802016\"],\"csd_name_en\":[\"Barons\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Barons\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.10605050657308,50.06222127819766],[-112.09747430704003,50.0770370922672],[-112.12006010653715,50.07709309832259],[-112.1200980630359,50.06243518630668],[-112.10605050657308,50.06222127819766]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.11073187542664,\"lat\":50.07026463862305},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4802\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4802029\"],\"csd_name_en\":[\"Vauxhall\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Vauxhall\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.99399322850061,51.10233457365472],[-112.97344837799591,51.10526087946535],[-112.9745255279622,51.11850865167468],[-112.99529106800834,51.118228375236455],[-112.99399322850061,51.10233457365472]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.98462719951065,\"lat\":51.11105914810488},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4805\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4805021\"],\"csd_name_en\":[\"Standard\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Standard\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-112.62312932829094,50.67405915467015],[-112.63588485357548,50.659465954128834],[-112.61327660316677,50.65932189766341],[-112.62312932829094,50.67405915467015]]],[[[-113.2826587216529,50.78996775296163],[-113.25981393989512,50.79062320877577],[-113.25954432527823,50.8055035635877],[-113.28265429103809,50.80525118808304],[-113.2826587216529,50.78996775296163]]],[[[-112.56705996379787,50.67360214914826],[-112.56729160222864,50.659030846933796],[-112.54364432218223,50.6587620492746],[-112.54380020464015,50.67350606573614],[-112.56705996379787,50.67360214914826]]],[[[-112.61342939372832,50.81301498672381],[-112.6329823954869,50.817005738085626],[-112.70628957808538,50.814639744454865],[-112.73852725736262,50.80419236007369],[-112.78701320413488,50.80634342368994],[-112.80621162589732,50.813149128197836],[-112.83000043030836,50.81551511925569],[-112.89347845367789,50.846211630179134],[-112.95193575632327,50.85348762154179],[-113.00750947958807,50.853476198354834],[-113.06686242061663,50.86691314869606],[-113.08358516925567,50.877595298142616],[-113.12171844402424,50.88451649289058],[-113.17858310677059,50.92195157987926],[-113.23776763895798,50.928778636041976],[-113.2715480304563,50.94876375805262],[-113.31314862624157,50.848274173925695],[-113.29921610354643,50.83669350087174],[-113.2703775037351,50.83366078766857],[-113.23986821589592,50.82116420747445],[-113.23917430517938,50.80517689278592],[-113.20823191367445,50.781707501667945],[-113.211757500212,50.775848404601156],[-113.18697130502802,50.76692608761412],[-113.1190227118464,50.76333133832674],[-113.08847705452683,50.75854750445105],[-113.0736898414801,50.76002960526588],[-113.0384441177468,50.75241529921113],[-113.02718712652444,50.74069715039346],[-113.00860501012038,50.74377461894056],[-112.9603785869472,50.72414760239032],[-112.93632259051174,50.703311791211696],[-112.93630028781484,50.65962681043516],[-112.91324990366672,50.65960289686544],[-112.91275642057066,50.70288242214162],[-112.79839887004385,50.70362149474377],[-112.6719109689381,50.702934868966864],[-112.51910633286724,50.703309817890286],[-112.52409448431426,50.71511245211266],[-112.54217968849667,50.71495776329938],[-112.56137419369831,50.74137925620199],[-112.54846237169802,50.74953880551245],[-112.49829877987625,50.74671869353096],[-112.49749177167722,50.79110511689891],[-112.54740716000887,50.79883135212942],[-112.61342939372832,50.81301498672381]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.92329993179341,\"lat\":50.79249015123195},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4805\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4805802\"],\"csd_name_en\":[\"Siksika 146\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Siksika 146\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.60341073923772,51.3322654253996],[-113.61490440748187,51.328823893892185],[-113.61465447771998,51.31425989475565],[-113.59146420292342,51.314352499745],[-113.59132578753314,51.33249411087533],[-113.60341073923772,51.3322654253996]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.6026914045945,\"lat\":51.32295934471123},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4806\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4806022\"],\"csd_name_en\":[\"Irricana\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Irricana\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.20982577194026,50.921358228356304],[-114.1407258479932,50.92134213371701],[-114.14075336960643,50.979716808635054],[-114.16426556990127,50.98542302134992],[-114.16028018438796,50.99802940336957],[-114.14110673774114,50.9939748612544],[-114.14088078778552,51.007567000290244],[-114.16432148191883,51.00956575082115],[-114.23429474857906,51.00896884292819],[-114.55874456673183,51.00837119075448],[-114.56044727989912,50.98699969255441],[-114.56012281377143,50.92136739421742],[-114.43658936912587,50.92087951098444],[-114.20982577194026,50.921358228356304]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.35188043795985,\"lat\":50.96474843960109},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4806\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4806804\"],\"csd_name_en\":[\"Tsuu T'ina Nation 145\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Tsuu T'ina Nation 145\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.67583526175706,52.78523195243032],[-111.70364106498769,52.78517986515484],[-111.69704591437721,52.76724978837546],[-111.67583526175706,52.78523195243032]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.69217408037397,\"lat\":52.77922053532021},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4807\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4807044\"],\"csd_name_en\":[\"Sedgewick\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Sedgewick\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.09955038598571,53.07560708351977],[-114.09947430686431,53.0794001038195],[-114.10607108734447,53.08253431856775],[-114.11216652579505,53.08165136157972],[-114.09955038598571,53.07560708351977]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.10447021249608,\"lat\":53.07967211254054},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811020\"],\"csd_name_en\":[\"Sundance Beach\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Sundance Beach\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.42414732288425,53.54121702340893],[-114.44382331276158,53.547572533441205],[-114.4424244542963,53.54092765052866],[-114.42414732288425,53.54121702340893]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.43679836331404,\"lat\":53.54323906912626},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811807\"],\"csd_name_en\":[\"Wabamun 133B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Wabamun 133B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-110.20279249838256,54.500041412029745],[-110.19895980922718,54.51480666780354],[-110.20832178355431,54.53081916371268],[-110.23827419967773,54.5361902576591],[-110.24727581297684,54.54421453015948],[-110.30944297974885,54.544127354471314],[-110.3082872643487,54.47867421898824],[-110.23234975165722,54.479206707964195],[-110.20842996189491,54.50002929598517],[-110.20279249838256,54.500041412029745]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-110.26078789179687,\"lat\":54.51114806132551},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4812\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4812815\"],\"csd_name_en\":[\"Cold Lake 149B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Cold Lake 149B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-116.39624282351086,56.558805564336666],[-116.36585590619828,56.550306777234105],[-116.37125957964426,56.544253371236934],[-116.42239683194946,56.54944361606975],[-116.41701614078724,56.53089627958626],[-116.3966636060709,56.53709140700675],[-116.3546037841689,56.540693335988486],[-116.3592496285704,56.561677782594785],[-116.39624282351086,56.558805564336666]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-116.38655773963856,\"lat\":56.54604761596098},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817850\"],\"csd_name_en\":[\"Woodland Cree 227\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Woodland Cree 227\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-116.97570748145748,55.89851828297568],[-116.97630208257812,55.94150863962113],[-117.28980908406696,55.941566099117836],[-117.28981519344083,55.98523340020196],[-117.52844290020657,55.98557237335764],[-117.52962618624879,55.96265176951892],[-117.5222015079774,55.94084141670917],[-117.51291000585262,55.93549128431764],[-117.50334378384322,55.90309167471421],[-117.51567233777689,55.878971681083414],[-117.49512328377995,55.86163136801438],[-117.51774221493763,55.84685903081179],[-117.5183338333645,55.824673267291246],[-117.54719567321433,55.81129392548533],[-117.55973833225839,55.78954697372417],[-117.5861291839392,55.7931180357786],[-117.60221339008758,55.78763475723811],[-117.60250993861226,55.77188536347547],[-117.62567922359085,55.7670894870632],[-117.64382606924502,55.741236338424955],[-117.60818023185459,55.724519044379996],[-117.60900325995641,55.71488712627306],[-117.63631844175673,55.71433928015228],[-117.63700873258831,55.69584519641897],[-117.65688974089262,55.688025364886876],[-117.68775473586125,55.687457028529735],[-117.68474777503954,55.67440621069461],[-117.66935240948412,55.669024065705955],[-117.64693173677028,55.67411073310735],[-117.63002616708974,55.67150837321985],[-117.58804370405548,55.680413264642226],[-117.56876335846862,55.67026354497168],[-117.57085878203162,55.53005077427258],[-117.57094821803489,55.46153640859737],[-117.5394825409066,55.461625483407545],[-117.53865779446922,55.374931103848],[-117.38934188874877,55.37458380739141],[-116.97566711108257,55.374644101350434],[-116.92031889719121,55.373881766665605],[-116.76986959227074,55.37462470172947],[-116.76771117255116,55.46118728965531],[-116.79338624050756,55.46202780420401],[-116.79608889446627,55.58539881165775],[-116.79372118951494,55.62530134191879],[-116.7932858545312,55.723115399435976],[-116.84373951740724,55.72313326417828],[-116.84523024534974,55.73794632687424],[-116.91958503686574,55.7375496386688],[-116.92171798123307,55.810735891333636],[-116.9726983753333,55.811655537682554],[-116.97570748145748,55.89851828297568]],[[-117.34040444652251,55.758193943852625],[-117.3305426815757,55.75754479823681],[-117.33225127017245,55.752289853559994],[-117.34066069395708,55.750722974702],[-117.34040444652251,55.758193943852625]],[[-117.11253190810625,55.72947339553016],[-117.10112876390677,55.73295386905391],[-117.09899111880068,55.724811246507294],[-117.11847747137718,55.72321865462306],[-117.11253190810625,55.72947339553016]],[[-117.20900159007421,55.73760609724649],[-117.19004800842454,55.741874156092486],[-117.18315257649944,55.73018970121291],[-117.20898448373757,55.72324038957049],[-117.20900159007421,55.73760609724649]],[[-116.88875127267607,55.7010567157859],[-116.92449234961846,55.701176291094626],[-116.88450147835256,55.72004904175692],[-116.88875127267607,55.7010567157859]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.20894132249342,\"lat\":55.647748384902194},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4819\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4819041\"],\"csd_name_en\":[\"Smoky River No. 130\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Smoky River No. 130\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.74783051213454,49.08806048369978],[-117.74770576235204,49.10225447576478],[-117.76210529319198,49.095171380346166],[-117.74783051213454,49.08806048369978]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.75254718922618,\"lat\":49.095162113270234},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5905\"],\"cd_name_en\":[\"Kootenay Boundary\"],\"csd_code\":[\"5905018\"],\"csd_name_en\":[\"Warfield\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kootenay Boundary\",\"csd_name_fr\":\"Warfield\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.80679339436755,49.12324026764188],[-117.83753273008125,49.14529286832433],[-117.83380025029373,49.15599331892951],[-117.86692150215931,49.18609426321044],[-117.8954860716137,49.18616391766962],[-117.89506908264484,49.16183269761751],[-117.8820416411125,49.09651595820935],[-117.84218034248461,49.08007504049972],[-117.82458091225944,49.07722600211084],[-117.82567868569373,49.06637751647445],[-117.76977774895751,49.063776608666295],[-117.76865729676452,49.08053270549015],[-117.78102613975773,49.0879281398003],[-117.80357033254874,49.087936740964146],[-117.80510565721465,49.10267328407412],[-117.81969585064127,49.1071485156494],[-117.80679339436755,49.12324026764188]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.84555352564871,\"lat\":49.12092129303381},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5905\"],\"cd_name_en\":[\"Kootenay Boundary\"],\"csd_code\":[\"5905023\"],\"csd_name_en\":[\"Rossland\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kootenay Boundary\",\"csd_name_fr\":\"Rossland\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.4488465711462,49.123791674868244],[-119.44882186139887,49.24075736485338],[-119.5373018801465,49.24085739514675],[-119.53718898596965,49.204577361497044],[-119.53703632089224,49.175944872537556],[-119.53655219643187,49.15397319471572],[-119.55941689863803,49.15369952371795],[-119.56001729379054,49.131772719052925],[-119.53744850264921,49.12487333303148],[-119.5264679562634,49.10947149087593],[-119.52617070306908,49.09434935722923],[-119.50750462135755,49.07048615371802],[-119.47980300212518,49.06830425392352],[-119.47506291549351,49.061371156774236],[-119.44769120722965,49.04676876283375],[-119.44506231759975,49.03678738223755],[-119.43701124095865,49.0363243394816],[-119.42151686140694,49.03639211908981],[-119.42186421650877,49.06659775154309],[-119.44911459206901,49.06667307953237],[-119.4488465711462,49.123791674868244]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.48962221885863,\"lat\":49.15030890304258},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5907\"],\"cd_name_en\":[\"Okanagan-Similkameen\"],\"csd_code\":[\"5907802\"],\"csd_name_en\":[\"Osoyoos 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Okanagan-Similkameen\",\"csd_name_fr\":\"Osoyoos 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.40204372196015,48.63397544674875],[-123.38960645080368,48.64594526975752],[-123.38836940068074,48.66211127836187],[-123.40737399503259,48.6721733317843],[-123.41678799707394,48.666153873151195],[-123.41709415920457,48.63538806603051],[-123.40204372196015,48.63397544674875]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.40422198194385,\"lat\":48.65249273067422},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5917\"],\"cd_name_en\":[\"Capital\"],\"csd_code\":[\"5917010\"],\"csd_name_en\":[\"Sidney\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Capital\",\"csd_name_fr\":\"Sidney\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-123.61683217910503,48.529124972516215],[-123.6403562205046,48.52595408479611],[-123.63622650320553,48.50090714672689],[-123.75065812481378,48.50080607684039],[-123.74618139101601,48.47401685001813],[-123.73333870623634,48.449831446901925],[-123.70671731967732,48.42810529904497],[-123.6456909448844,48.42825248321747],[-123.64559248170444,48.42435512747537],[-123.57483070104205,48.42590420092464],[-123.55820536956826,48.45565312380896],[-123.5604984273033,48.465537687603415],[-123.55708422843232,48.50783365601969],[-123.54449841627597,48.5092877825621],[-123.53917203788366,48.52223197888166],[-123.542328746184,48.54640161620406],[-123.50501706257214,48.55857649180564],[-123.49378189109645,48.55803901595654],[-123.47778643559627,48.54414406839562],[-123.45837630158229,48.55890774121735],[-123.4743523174632,48.561177692094425],[-123.47502051520149,48.57985236196633],[-123.50001643807104,48.575594647598145],[-123.51246123001965,48.561174275847364],[-123.54313555202697,48.55070891049791],[-123.54494412564166,48.53569411856419],[-123.57926329854592,48.53567663896666],[-123.58643615584204,48.52121152825676],[-123.60866236654758,48.52170682788047],[-123.61683217910503,48.529124972516215]]],[[[-123.74160828086606,48.44253244532063],[-123.74744676137686,48.4385619589967],[-123.74494370497614,48.41893861462423],[-123.83737541112443,48.387933859679364],[-123.86626191757216,48.38982306757748],[-123.86562097943855,48.40293689739657],[-123.94008365859852,48.406128315519915],[-123.97134071732562,48.40397532367104],[-123.98167513658511,48.416663755394616],[-124.0151013906086,48.418895695690054],[-124.0148373064394,48.43001488785127],[-124.05146033280887,48.430690283851995],[-124.05513381238336,48.42085158650136],[-124.13203663109952,48.3437907937099],[-123.9999999909917,48.306316676583585],[-123.99999999637296,48.29501443704716],[-123.75567936261302,48.252835790053176],[-123.61647462830557,48.25385182558739],[-123.50000000645352,48.2499999969407],[-123.24999999142804,48.2500000099431],[-123.2472333140235,48.28410825821093],[-123.11380916149477,48.4231177454782],[-123.15852219269507,48.45363495112075],[-123.18901178379173,48.50283690064466],[-123.3432487394353,48.503602028859646],[-123.30910781721103,48.49898096642889],[-123.29865378731736,48.4894630594891],[-123.30198427848381,48.47745313172309],[-123.28354712961391,48.46977766994279],[-123.26299356707993,48.45502785609596],[-123.28693368105534,48.449628542292096],[-123.30057092431015,48.39323727909854],[-123.32667491486781,48.41124637800071],[-123.34916435133229,48.40604545878516],[-123.39421423061935,48.41434845890026],[-123.42027414100042,48.413473907915304],[-123.44202315582241,48.43081612527051],[-123.45702951305675,48.42620574960817],[-123.4814309831388,48.39934642494329],[-123.47292706227778,48.38470901517225],[-123.50979532902387,48.381601171438994],[-123.5318709030749,48.35935622033608],[-123.53650936736366,48.3473938722579],[-123.523780230987,48.340054718031595],[-123.53710077220626,48.327556346503755],[-123.53301660993002,48.31440318692309],[-123.54509827173904,48.307043861433925],[-123.59148984798821,48.308588165988596],[-123.60276952724197,48.31897066873251],[-123.58870541560039,48.342426797182576],[-123.60781755907801,48.333994662864015],[-123.61328471480094,48.345972404135395],[-123.60307392319721,48.359478847314186],[-123.62629587673177,48.35861442462246],[-123.62784110770205,48.37237358561108],[-123.63883857731565,48.38625126917452],[-123.65095205750657,48.37602998166463],[-123.70504862940075,48.376760464000306],[-123.72570449906868,48.366413962709444],[-123.70772099449054,48.359767294538045],[-123.70522654629704,48.341580559062976],[-123.74167675004244,48.35152758096437],[-123.75364514089625,48.35919602531823],[-123.75484679372732,48.36340408518526],[-123.78484716981842,48.37381605617318],[-123.75491497473548,48.38070024800541],[-123.76357453069805,48.39284177298446],[-123.727995307901,48.40271067307053],[-123.71744406775989,48.41300407754429],[-123.71811914240914,48.42861393266031],[-123.72872636447423,48.44188885385135],[-123.74160828086606,48.44253244532063]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.58344101344557,\"lat\":48.36100159160759},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5917\"],\"cd_name_en\":[\"Capital\"],\"csd_code\":[\"5917054\"],\"csd_name_en\":[\"Juan de Fuca (Part 1)\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Capital\",\"csd_name_fr\":\"Juan de Fuca (Part 1)\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.46562414463041,48.62626096020762],[-123.47141791576202,48.61587395887392],[-123.44371652670567,48.615799911664695],[-123.44414481980206,48.63001390480051],[-123.46562414463041,48.62626096020762]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.4555641167091,\"lat\":48.621742526421585},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5917\"],\"cd_name_en\":[\"Capital\"],\"csd_code\":[\"5917801\"],\"csd_name_en\":[\"Cole Bay 3\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Capital\",\"csd_name_fr\":\"Cole Bay 3\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-123.71899449598348,48.78025662603096],[-123.75441218479857,48.776996956495616],[-123.76765052692043,48.76317526714915],[-123.76772712553726,48.759752163472974],[-123.71273929251566,48.758935886845855],[-123.6987305172405,48.769610728684846],[-123.69874301909284,48.77196325859435],[-123.71899449598348,48.78025662603096]]],[[[-123.56952974439812,48.773627889513534],[-123.62922280990242,48.7737425443688],[-123.64376346410094,48.780358220063896],[-123.68494038366289,48.78051660521423],[-123.68470505558255,48.772483030555286],[-123.6984585647969,48.769609858289364],[-123.6971399665995,48.76600182291488],[-123.68302849376745,48.75897994050338],[-123.67131034874116,48.75050954121109],[-123.64400692017828,48.75938140998369],[-123.6291969578221,48.769801481433774],[-123.60964711368712,48.76675061760491],[-123.61024201369787,48.75525948406163],[-123.59434592013999,48.75907244621736],[-123.56956889977921,48.75367668364599],[-123.57680836487732,48.76781523243161],[-123.56952974439812,48.773627889513534]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.67194942347898,\"lat\":48.76773859578159},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5919\"],\"cd_name_en\":[\"Cowichan Valley\"],\"csd_code\":[\"5919822\"],\"csd_name_en\":[\"Cowichan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cowichan Valley\",\"csd_name_fr\":\"Cowichan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.8637316404857,49.12674892721258],[-123.88566545023969,49.12310593561207],[-123.88643556289902,49.12313914099343],[-123.8891837413078,49.114707395260055],[-123.91914399534234,49.110011668575495],[-123.91994778402511,49.102010971871685],[-123.9094338143311,49.094042408717634],[-123.90931181168996,49.082673987518035],[-123.89246288484898,49.08255431059656],[-123.89230223718879,49.04733444561867],[-123.87772533722769,49.03703268405996],[-123.86759951186312,49.042955742918735],[-123.86445159670302,49.05733387050843],[-123.74042660229857,49.05705366529003],[-123.79482555935567,49.118635192002834],[-123.80512774776906,49.126859981096715],[-123.8637316404857,49.12674892721258]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.83707153066587,\"lat\":49.087546251662445},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5921\"],\"cd_name_en\":[\"Nanaimo\"],\"csd_code\":[\"5921010\"],\"csd_name_en\":[\"Nanaimo A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Nanaimo\",\"csd_name_fr\":\"Nanaimo A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-123.76699266926536,49.319392649668195],[-123.8352733120238,49.33506904388724],[-123.91732414784867,49.349832333971236],[-124.04004447082157,49.36500137760259],[-124.05698358467423,49.26836573537647],[-124.11354986021702,49.25849727614935],[-124.07842888228292,49.25842728122769],[-124.05707081574214,49.25150894764467],[-124.03661027330597,49.25167418251377],[-124.00134643278598,49.240313354937946],[-123.96212946593477,49.237770880079175],[-123.9423423401931,49.2271631193353],[-123.9329056830411,49.21009866198899],[-123.90252331155759,49.185082679046175],[-123.8937752089086,49.19312838326143],[-123.84801445563218,49.210123070697726],[-123.83713417145567,49.21159348621813],[-123.50000181170307,49.21256497393867],[-123.50000187401457,49.21473496754862],[-123.547807442572,49.242964199753466],[-123.61505892074632,49.273302204083194],[-123.69350096646868,49.300834402386414],[-123.73837752680708,49.31233839977494],[-123.76699266926536,49.319392649668195]]],[[[-124.23627130018883,49.25282000756558],[-124.24590975585201,49.22632820025819],[-124.30715310292432,49.226344082406904],[-124.29216658243959,49.21894825062607],[-124.30720703665007,49.20858011434616],[-124.32675469812794,49.2302052594749],[-124.38885986257515,49.2305828457154],[-124.4477741246917,49.236339879804575],[-124.44701613577577,49.22311487015108],[-124.49286075776331,49.23074532624061],[-124.52524005759658,49.241145903034706],[-124.52949424620655,49.25262510109825],[-124.55925437256612,49.25701476879666],[-124.5700458280015,49.27270528721655],[-124.60533827494783,49.28406883726516],[-124.62041943909433,49.273579270228396],[-124.64315523048374,49.27203679400607],[-124.66221790777722,49.28142903669841],[-124.64467758929335,49.24992697246213],[-124.63344612061482,49.23622607519348],[-124.63961754375563,49.21961944204089],[-124.6576350635002,49.23408724732669],[-124.67423772814229,49.23389255021996],[-124.67417516296673,49.22416832447301],[-124.692948770877,49.205473951843885],[-124.69731781603397,49.191286968728214],[-124.6882921800145,49.171556278590316],[-124.64064393814078,49.17189392773535],[-124.62927253279038,49.15824522337194],[-124.59046684505257,49.15966509337611],[-124.58255508490153,49.14005755432641],[-124.58059828989721,49.14857498294381],[-124.54987176453365,49.141713436612825],[-124.54820893732274,49.128099814130785],[-124.5282151892442,49.124178776459196],[-124.5314903719258,49.10896711207622],[-124.52723887942528,49.08013248893326],[-124.51654885665644,49.06855632560549],[-124.51576559226875,49.05105693433461],[-124.49045916893249,49.056328204957644],[-124.46328844899884,49.05017865998443],[-124.48840691659771,49.042303312529626],[-124.47922931295604,49.021481805434455],[-124.41543148502679,49.02436330612795],[-124.40176536395177,49.0137640059659],[-124.40025913320756,49.00334943434991],[-124.38493180811595,48.98205762267415],[-124.36457092716505,48.982185822756755],[-124.38195274711734,48.98756018608767],[-124.37645684725656,48.99965877568539],[-124.3137886215622,48.99974836098495],[-124.29209043597511,48.997234640410376],[-124.29456462360658,49.0132726012127],[-124.28242449352042,49.013111055247414],[-124.2771646682175,48.99977028326851],[-124.24955568445493,48.999777944600375],[-124.23815929576597,49.003926014548455],[-124.20458775824386,49.00444119943186],[-124.17293757879935,49.0089135578491],[-124.17283353423196,49.00152380793092],[-124.13633826949574,49.00220416456098],[-124.10254772389924,48.99816314439575],[-124.09858560263618,48.981267109331135],[-124.0807480712377,48.984737447219544],[-124.08076622395953,49.00318550716035],[-124.05460283880964,49.005934119334064],[-124.02784463776037,48.9974815955249],[-124.0103618209193,48.99958973699312],[-124.02970718024766,49.01234513133134],[-124.03594849234996,49.02574451581664],[-123.99417404215633,49.0321962474244],[-123.9554670178043,49.020696084891235],[-123.95319336433994,49.031427527010145],[-123.9209413670339,49.032243190038685],[-123.88530511111671,49.02414078465466],[-123.87772533722769,49.03703268405996],[-123.89230223718879,49.04733444561867],[-123.89246288484898,49.08255431059656],[-123.90931181168996,49.082673987518035],[-123.9094338143311,49.094042408717634],[-123.91994778402511,49.102010971871685],[-123.93314070142414,49.09722707493021],[-123.93318556874614,49.133664699932154],[-123.97063261955648,49.1330055658423],[-123.9804707222732,49.14817788832195],[-124.01386574615249,49.15626902427589],[-124.02234407168085,49.1743031859171],[-123.9997956871081,49.18015770502851],[-123.99932683870324,49.18698694805654],[-124.05442669460335,49.20283018959325],[-124.05424910399161,49.222461614018535],[-124.06461513289547,49.229764703178795],[-124.08195893251728,49.19920587331539],[-124.13540407448211,49.20290417150043],[-124.17769266961753,49.200384042668446],[-124.18455481557801,49.21352975296564],[-124.21311893898282,49.22367687994609],[-124.22690660669356,49.224090213027424],[-124.22495540499858,49.24697195973551],[-124.23627130018883,49.25282000756558]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.15777756743269,\"lat\":49.16460373795044},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5921\"],\"cd_name_en\":[\"Nanaimo\"],\"csd_code\":[\"5921016\"],\"csd_name_en\":[\"Nanaimo C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Nanaimo\",\"csd_name_fr\":\"Nanaimo C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.916637252618,49.17348205370327],[-125.90633273935413,49.17281557614058],[-125.90199168759858,49.17910981999094],[-125.91864129963025,49.17938104826073],[-125.916637252618,49.17348205370327]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.91074302451409,\"lat\":49.176427976199086},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5923\"],\"cd_name_en\":[\"Alberni-Clayoquot\"],\"csd_code\":[\"5923813\"],\"csd_name_en\":[\"Opitsat 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Alberni-Clayoquot\",\"csd_name_fr\":\"Opitsat 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.19641935557712,50.0110966640228],[-125.19307194703464,49.99676765612589],[-125.17750071249415,49.99624307389862],[-125.1774293730666,50.01904515626796],[-125.19641935557712,50.0110966640228]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.18554855107325,\"lat\":50.00628075009037},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5924\"],\"cd_name_en\":[\"Strathcona\"],\"csd_code\":[\"5924817\"],\"csd_name_en\":[\"Cape Mudge 10\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Strathcona\",\"csd_name_fr\":\"Cape Mudge 10\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.57285618813313,49.45560099503639],[-123.56742382797633,49.453780951061695],[-123.56259118498221,49.40594357218476],[-123.56908086659305,49.405718513276135],[-123.57130823319761,49.3108814591227],[-123.51151896368,49.30909011902223],[-123.51102009458621,49.385592794518246],[-123.52073501656955,49.392250721685436],[-123.51372304109779,49.41421686604249],[-123.52789054521526,49.42501267109059],[-123.52931573172997,49.45549841866184],[-123.57285618813313,49.45560099503639]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.54213335823836,\"lat\":49.376207411182065},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5929\"],\"cd_name_en\":[\"Sunshine Coast\"],\"csd_code\":[\"5929026\"],\"csd_name_en\":[\"Sunshine Coast E\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Sunshine Coast\",\"csd_name_fr\":\"Sunshine Coast E\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.63079851016171,50.31052320687531],[-122.6401670961313,50.32310704233034],[-122.63811028057368,50.34120608748151],[-122.68459389335995,50.34407281848432],[-122.68699800407944,50.3524482306215],[-122.70854920462341,50.35309094978201],[-122.71177325488229,50.320179857582424],[-122.72816558881827,50.30985162258559],[-122.73289572277443,50.31022833910913],[-122.71687213091215,50.3032532725299],[-122.6817609256648,50.3013364596479],[-122.6597944074366,50.31088548310512],[-122.63079851016171,50.31052320687531]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.68045612860001,\"lat\":50.32486096925059},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5931\"],\"cd_name_en\":[\"Squamish-Lillooet\"],\"csd_code\":[\"5931843\"],\"csd_name_en\":[\"Mount Currie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Squamish-Lillooet\",\"csd_name_fr\":\"Mount Currie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.14254549439083,52.87674077578408],[-120.16526810836551,52.861974028745564],[-120.17725338382988,52.86003454741283],[-120.21214278647919,52.87633176809711],[-120.23254268582436,52.86347904101179],[-120.25953702305515,52.85961601987577],[-120.28273102750761,52.86866898826416],[-120.3129225740879,52.85871318516134],[-120.33422840079746,52.83313909803514],[-120.30243816152856,52.815110168492055],[-120.33969642445898,52.78823364020552],[-120.33423831427051,52.78133859015237],[-120.30827383875823,52.78011251195091],[-120.2903627008046,52.771992904820394],[-120.29362712172424,52.763473526182864],[-120.27378052742317,52.74592322282795],[-120.2936941492979,52.72560440485187],[-120.26911949849487,52.71288046637819],[-120.28689765872582,52.70501263121676],[-120.254383523472,52.6773509943649],[-120.2897276618271,52.65775472848972],[-120.23527869557962,52.6347139318352],[-120.23769455793548,52.62076561930904],[-120.25150749748282,52.61962004015523],[-120.26789366898038,52.60830988820249],[-120.29367798390496,52.60762654381557],[-120.29158060281952,52.58735904296742],[-120.31617003503581,52.566356655323844],[-120.33321015323257,52.56675289378218],[-120.36301267232386,52.52814209569241],[-120.38965116004417,52.5370876161669],[-120.40767781794666,52.534483467497324],[-120.44110695249384,52.5171846163903],[-120.50940186011252,52.49474459262114],[-120.5327633737125,52.47898582688029],[-120.5421505490952,52.466116494843575],[-120.50900902017116,52.45119748493882],[-120.4592203884972,52.42124218329561],[-120.45980344845681,52.41171815849954],[-120.49115489337267,52.40039123950039],[-120.52109016274525,52.37975308524671],[-120.5269443333832,52.349805881185674],[-120.51754912369758,52.34396586005691],[-120.5348509734951,52.32940096234168],[-120.50784911289065,52.32511877978902],[-120.4664727559977,52.30441953406306],[-120.49150006778994,52.288514461977265],[-120.42075196432218,52.21002364224402],[-120.39509968441862,52.204225682513965],[-120.38695603520722,52.17854878831645],[-120.40144705692248,52.166189594862246],[-120.40761227696656,52.144257949698876],[-120.38754754617437,52.13744511708389],[-120.3753706208447,52.13394446334816],[-120.34744252903576,52.155816629126235],[-120.3199265238209,52.15334660094721],[-120.30811630106685,52.14033126558691],[-120.31667644815153,52.12095304469561],[-120.3028059860377,52.105280154993764],[-120.29367224148528,52.08261658717435],[-120.31678271330632,52.064339160068236],[-120.32033813511566,52.03916878651645],[-120.31698963962722,52.027651090436926],[-120.28870377841595,52.019735471568545],[-120.30579458203157,52.012912507185],[-120.3300115266359,51.99507467684202],[-120.32886200551772,51.98471928266382],[-120.34531317084607,51.97548100788864],[-120.33101527936002,51.96812455168621],[-120.31631459130344,51.97612493989783],[-120.29831805971446,51.96857206812668],[-120.27801714200183,51.97771451027378],[-120.26846433904602,51.95084453821362],[-120.2502757088437,51.94025309367445],[-120.24797662208005,51.91233157138925],[-120.27316147090343,51.89260567680543],[-120.25744969970741,51.87261996311249],[-120.22396288941343,51.86659424705926],[-120.22887708096991,51.85074810807434],[-120.21914268441292,51.83553595425277],[-120.22664968764181,51.82542980589349],[-120.27578179540981,51.83219694151357],[-120.3076944914856,51.82695360067986],[-120.31952507458452,51.819912552724425],[-120.32155884665531,51.78372446482908],[-120.33660636550026,51.770897597338056],[-120.37576003557915,51.76950315784689],[-120.37936263791315,51.762382760663264],[-120.34992458604668,51.752667313278074],[-120.33852336049962,51.732974919447656],[-120.37243255544595,51.722067029419094],[-120.39127080532734,51.70400897362374],[-120.43297467045572,51.71216244700424],[-120.45935552901456,51.70988075512815],[-120.50363374659972,51.69666218100065],[-120.5286565972312,51.684997884176894],[-120.5442337906107,51.66958069676481],[-120.5128133249772,51.67145871548047],[-120.49392033031545,51.659725318262815],[-120.48432170524148,51.665857303668346],[-120.45272024141876,51.67383237171583],[-120.41833466381487,51.67550607285164],[-120.40202220677831,51.66869922249729],[-120.36179269228282,51.66202460961668],[-120.3487296292371,51.664152753347906],[-120.33006080010283,51.65359991133295],[-120.32165507527291,51.636948342632735],[-120.29177075134967,51.631547218623],[-120.28864354815445,51.64722432231977],[-120.26096132827266,51.63259426947648],[-120.24097700762249,51.606047904509445],[-120.23544110339806,51.585571705758866],[-120.20223549697519,51.57575248324382],[-120.18589262778612,51.55286812359898],[-120.20280485160539,51.5307088706853],[-120.19624553087476,51.51823030855311],[-120.20487695437697,51.493639293682676],[-120.19859489528433,51.47194080204724],[-120.16844491001459,51.47142442869895],[-120.14978517422095,51.47912212697771],[-120.11429905383758,51.47849600207823],[-119.99973353630143,51.480402834338776],[-119.70011546393563,51.48226382206402],[-119.69611338387672,51.55457092323931],[-119.70176523892123,51.56900335598521],[-119.69813389992203,51.58539191479285],[-119.67486040212887,51.601632295918016],[-119.68525629990219,51.608981212987324],[-119.6783297877715,51.61823280855388],[-119.68818669561587,51.62717690290609],[-119.68386111315583,51.64695340366094],[-119.65507831253205,51.65794549383311],[-119.65684088723683,51.66806020253019],[-119.61494033650129,51.678587362704526],[-119.69569662753983,51.67984632204246],[-119.67006038104566,51.694722351028965],[-119.62971557765634,51.73492332295452],[-119.62491846205354,51.74988691639037],[-119.60039858601753,51.79061274960474],[-119.5889643109945,51.80249912206909],[-119.57248254199186,51.79986677951815],[-119.55238779593418,51.80470157397346],[-119.53963475599268,51.81538590853285],[-119.51628034506673,51.81720435638017],[-119.51154589477005,51.82874881381228],[-119.48191540541933,51.83425381528588],[-119.47374582744537,51.84786245536628],[-119.4752559314858,51.8687290578198],[-119.48751017572552,51.877280241307936],[-119.47106802565331,51.89791220272663],[-119.46178129281427,51.900682852850395],[-119.45149956036688,51.9211069478533],[-119.43707721329226,51.92904305707149],[-119.42613806371081,51.95188653735599],[-119.46267951429358,51.945344202111364],[-119.47368815939245,51.95739027802954],[-119.4465898410614,51.97366968076518],[-119.44814175731538,51.98923972164744],[-119.43802667271972,52.00013661531297],[-119.43126859025803,52.025282754991494],[-119.46298741839148,52.017509566733814],[-119.48181214701886,52.03291975106014],[-119.507448263139,52.029632900073814],[-119.53585027685929,52.03498432744466],[-119.55651009505932,52.03174919678695],[-119.55319648501614,52.06227665090035],[-119.52792996041515,52.09200361117127],[-119.50597124751292,52.09086202626434],[-119.48419186138611,52.101904856134524],[-119.48320357091006,52.11060314119225],[-119.51970352731918,52.133646358133994],[-119.51176621371961,52.145096020382674],[-119.49430954536415,52.14704478637128],[-119.4916959750298,52.17018060084933],[-119.50783350537179,52.18530186595199],[-119.4830185644279,52.204583194782714],[-119.4899189613609,52.21779689107928],[-119.5156795576316,52.22223017504159],[-119.50172587514611,52.24355324843974],[-119.50386289499261,52.263173706336914],[-119.4885683275719,52.26660561788441],[-119.4822234651399,52.27881453736296],[-119.52021944620859,52.28286006853115],[-119.51680066181243,52.300469060797404],[-119.52955139637884,52.309872570372384],[-119.50501900067349,52.32349839313339],[-119.50085248524786,52.33735598399707],[-119.4780778737077,52.34663225798771],[-119.46396788329702,52.36247814300466],[-119.5015454480337,52.36903819292767],[-119.51708157823835,52.384386919979484],[-119.5395927888696,52.393469994241855],[-119.57072907843542,52.38635195463039],[-119.56645554372444,52.40348550045471],[-119.58352366198724,52.42099473020151],[-119.59346646781445,52.43929173241694],[-119.62077400546485,52.47412991035993],[-119.63985487612332,52.47850537155346],[-119.6539019827823,52.48984912830943],[-119.65214518772228,52.506523525717],[-119.66603371190747,52.53366888886704],[-119.70105685822628,52.537477230327255],[-119.70594296002693,52.55313748066342],[-119.6958130971696,52.57268649685632],[-119.72353398279493,52.60399194489923],[-119.7635222704512,52.61045635308771],[-119.76918460998128,52.64289776197207],[-119.768405977507,52.66031932069511],[-119.81735675665581,52.67441187456841],[-119.84953579740213,52.69114486852852],[-119.87217045498114,52.68438170182651],[-119.8903516611114,52.706690861293346],[-119.90677600777566,52.70848758472225],[-119.92030191003342,52.719197118930275],[-119.95115890087506,52.71008095178428],[-119.9737811534395,52.737325253918065],[-120.00251185811265,52.74475212202994],[-120.0247460353654,52.75757772816632],[-120.04270564837351,52.79439679126321],[-120.06033842603084,52.80873517288306],[-120.06142917336307,52.82429429489569],[-120.08142585002336,52.82788908853275],[-120.1114813386262,52.84314212418255],[-120.11560234648277,52.861753054527256],[-120.14254549439083,52.87674077578408]],[[-120.0130005786558,51.68744747182775],[-120.00171475589045,51.68650898746852],[-119.99652654304757,51.671766858051186],[-119.96510050267301,51.67129288922907],[-119.97453422057626,51.65812887239645],[-119.96080922010928,51.63695022662407],[-119.94216235835255,51.62729295360169],[-119.94015669830848,51.60783254976391],[-119.95346201604258,51.60436701626027],[-120.0228766386662,51.62884267455902],[-120.08150441975053,51.63266875271946],[-120.12305835910878,51.63048250195716],[-120.10039819932437,51.652312316182645],[-120.1009470967178,51.66064088455836],[-120.07126974721062,51.67358426350739],[-120.04125966199724,51.66771576205757],[-120.0130005786558,51.68744747182775]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.97796441710972,\"lat\":52.140356085468866},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933068\"],\"csd_name_en\":[\"Thompson-Nicola A (Wells Gray Country)\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Thompson-Nicola A (Wells Gray Country)\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-118.80320419853614,52.17722257400103],[-118.82862665957373,52.20101663606853],[-118.84719132366848,52.206799127936094],[-118.8476523543666,52.21760661548712],[-118.83290281829042,52.22165479969604],[-118.839832425669,52.23281109263444],[-118.87561785128676,52.238757793134475],[-118.89073208531072,52.245679572153264],[-118.8821237481863,52.26408955766972],[-118.85217705614055,52.27588182445765],[-118.84538224683821,52.28473380772285],[-118.81337271348353,52.29908934355878],[-118.78802059778064,52.30529402627462],[-118.79214274558512,52.317419623181756],[-118.86844898706418,52.34430522496931],[-118.90937638347437,52.345438360321815],[-118.9263772037914,52.353597998267475],[-118.93812142101453,52.380654194197874],[-118.94793457668874,52.391212690583444],[-118.92631717319506,52.404319361853375],[-118.92162942231695,52.422119587653036],[-118.94169566717319,52.439708178264766],[-118.92426376533554,52.4631567164777],[-118.88632215435284,52.47415478210626],[-118.88568609278316,52.48254798929258],[-118.90461853561317,52.49878656352027],[-118.90293543532438,52.51870954741227],[-118.90934763691082,52.53102983818395],[-118.93188428951362,52.54577667713894],[-118.93548914021987,52.55652644437436],[-118.92755699142704,52.56878594085348],[-118.96414979540425,52.57831264247034],[-118.99329993423402,52.59039431199341],[-119.00004035781946,52.59977772164834],[-119.03363497457812,52.59450823729773],[-119.05608806683742,52.63329783055958],[-119.15506660780883,52.633791576363585],[-119.19256750031987,52.63689036762571],[-119.21787003318956,52.6321873622235],[-119.24279751110086,52.634155663944824],[-119.26936658524134,52.63090314522114],[-119.36440142129895,52.63250937836778],[-119.3618565103008,52.65334690320549],[-119.3694796150536,52.65611080530539],[-119.44258646208658,52.6387638018246],[-119.46491103194981,52.649211970572736],[-119.50594490035972,52.63117758970236],[-119.53111838977571,52.63154157548282],[-119.54444735906311,52.65702485904934],[-119.57795469385309,52.64799119057398],[-119.60353737131625,52.67204172622003],[-119.61606006916409,52.68913509532651],[-119.6179038215866,52.706044993386314],[-119.66042897854044,52.700681092443794],[-119.6774833929841,52.69561343264292],[-119.70800343854526,52.678172055608485],[-119.74291933912546,52.68189794041203],[-119.75202805830331,52.67933762799998],[-119.768405977507,52.66031932069511],[-119.76918460998128,52.64289776197207],[-119.7635222704512,52.61045635308771],[-119.72353398279493,52.60399194489923],[-119.6958130971696,52.57268649685632],[-119.70594296002693,52.55313748066342],[-119.70105685822628,52.537477230327255],[-119.66603371190747,52.53366888886704],[-119.65214518772228,52.506523525717],[-119.6539019827823,52.48984912830943],[-119.63985487612332,52.47850537155346],[-119.62077400546485,52.47412991035993],[-119.59346646781445,52.43929173241694],[-119.58352366198724,52.42099473020151],[-119.56645554372444,52.40348550045471],[-119.57072907843542,52.38635195463039],[-119.5395927888696,52.393469994241855],[-119.51708157823835,52.384386919979484],[-119.5015454480337,52.36903819292767],[-119.46396788329702,52.36247814300466],[-119.4780778737077,52.34663225798771],[-119.50085248524786,52.33735598399707],[-119.50501900067349,52.32349839313339],[-119.52955139637884,52.309872570372384],[-119.51680066181243,52.300469060797404],[-119.52021944620859,52.28286006853115],[-119.4822234651399,52.27881453736296],[-119.4885683275719,52.26660561788441],[-119.50386289499261,52.263173706336914],[-119.50172587514611,52.24355324843974],[-119.5156795576316,52.22223017504159],[-119.4899189613609,52.21779689107928],[-119.4830185644279,52.204583194782714],[-119.50783350537179,52.18530186595199],[-119.4916959750298,52.17018060084933],[-119.49430954536415,52.14704478637128],[-119.51176621371961,52.145096020382674],[-119.51970352731918,52.133646358133994],[-119.48320357091006,52.11060314119225],[-119.48419186138611,52.101904856134524],[-119.50597124751292,52.09086202626434],[-119.52792996041515,52.09200361117127],[-119.55319648501614,52.06227665090035],[-119.55651009505932,52.03174919678695],[-119.53585027685929,52.03498432744466],[-119.507448263139,52.029632900073814],[-119.48181214701886,52.03291975106014],[-119.46298741839148,52.017509566733814],[-119.43126859025803,52.025282754991494],[-119.43802667271972,52.00013661531297],[-119.44814175731538,51.98923972164744],[-119.4465898410614,51.97366968076518],[-119.47368815939245,51.95739027802954],[-119.46267951429358,51.945344202111364],[-119.42613806371081,51.95188653735599],[-119.43707721329226,51.92904305707149],[-119.45149956036688,51.9211069478533],[-119.46178129281427,51.900682852850395],[-119.47106802565331,51.89791220272663],[-119.48751017572552,51.877280241307936],[-119.4752559314858,51.8687290578198],[-119.47374582744537,51.84786245536628],[-119.48191540541933,51.83425381528588],[-119.51154589477005,51.82874881381228],[-119.51628034506673,51.81720435638017],[-119.53963475599268,51.81538590853285],[-119.55238779593418,51.80470157397346],[-119.57248254199186,51.79986677951815],[-119.5889643109945,51.80249912206909],[-119.60039858601753,51.79061274960474],[-119.62491846205354,51.74988691639037],[-119.62971557765634,51.73492332295452],[-119.67006038104566,51.694722351028965],[-119.69569662753983,51.67984632204246],[-119.61494033650129,51.678587362704526],[-119.65684088723683,51.66806020253019],[-119.65507831253205,51.65794549383311],[-119.68386111315583,51.64695340366094],[-119.68818669561587,51.62717690290609],[-119.6783297877715,51.61823280855388],[-119.68525629990219,51.608981212987324],[-119.67486040212887,51.601632295918016],[-119.69813389992203,51.58539191479285],[-119.70176523892123,51.56900335598521],[-119.69611338387672,51.55457092323931],[-119.70011546393563,51.48226382206402],[-119.64615371636245,51.48272970668416],[-119.65893688293353,51.503835875553335],[-119.611134904909,51.509303337602766],[-119.59783099411726,51.52394512996789],[-119.59493491318527,51.55333053425903],[-119.58306286818666,51.56752789311936],[-119.56054304496709,51.57567439871389],[-119.54377967751277,51.599725780902624],[-119.50036851366042,51.60255798713329],[-119.47818094856282,51.58187292110426],[-119.4706896352821,51.56806464219006],[-119.45544849310146,51.5674310504357],[-119.41889638491786,51.58054337868553],[-119.39106418132214,51.576204946720324],[-119.33022996454979,51.59006560983373],[-119.32478476161597,51.606596043047475],[-119.30510373260645,51.63368656307388],[-119.28717806038509,51.63847098815173],[-119.2775908591573,51.64812432074224],[-118.97798879549991,51.64407000227665],[-118.9757039275387,51.65948004937751],[-118.9944890241672,51.669456320626175],[-119.00994132172315,51.687260331795045],[-118.97909924518952,51.69228366391735],[-118.96106303859385,51.70151564040717],[-118.93782763499192,51.70272153474947],[-118.92386926889019,51.68956225211715],[-118.9160251747684,51.719188396401194],[-118.88550715385679,51.73310306642999],[-118.8973962286903,51.76345104880111],[-118.88681284570195,51.7750449336348],[-118.88884886056012,51.7858100611985],[-118.90599980847922,51.78617118920445],[-118.92409896300417,51.794311622802404],[-118.94207143819224,51.793319262088744],[-118.9613926496334,51.81057019801279],[-118.96503369463477,51.824340814141834],[-118.94966395122009,51.831091947227904],[-118.95028877691648,51.84948141682526],[-118.99013456256455,51.86455306858364],[-118.97262124845095,51.87283547531334],[-118.96595103459693,51.88711097535229],[-118.98775403623618,51.93130247601258],[-118.97660297930742,51.93456253196798],[-118.9443170532216,51.927548631367614],[-118.9085192825515,51.928060240006324],[-118.89102988450458,51.954074183777315],[-118.9160126010718,51.965653414871326],[-118.93058918767697,51.966624797719675],[-118.97185248201436,51.977219586851376],[-118.97192049278085,51.98814246550004],[-118.94939046743178,52.006844926752215],[-118.94425761882322,52.02619783672693],[-118.91948808112289,52.03950077526734],[-118.9093943276625,52.03619044564116],[-118.85593896296875,52.04563434865206],[-118.8482252787196,52.058144718881884],[-118.86860145240733,52.06781999054017],[-118.87280812185531,52.07601766827151],[-118.85455329833893,52.08801607175625],[-118.86668975957167,52.10241775850007],[-118.83778310316927,52.1461557149776],[-118.83366979070992,52.164311897583474],[-118.80320419853614,52.17722257400103]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.25942539118854,\"lat\":52.13606742551018},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933070\"],\"csd_name_en\":[\"Thompson-Nicola B (Thompson Headwaters)\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Thompson-Nicola B (Thompson Headwaters)\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.30023174025679,50.22824046148701],[-120.30562305921555,50.21181782801872],[-120.33367325247015,50.21104830793994],[-120.33183761561553,50.18945627348055],[-120.34123074111982,50.18966723351922],[-120.33647371247686,50.13642157294875],[-120.32185486800176,50.13637986041848],[-120.31040652296545,50.12779579737794],[-120.31022948768509,50.09922603978385],[-120.2242016515717,50.09860526423438],[-120.2267410357325,50.14408076202892],[-120.2678077259855,50.145136160235296],[-120.2410908054049,50.157410317777305],[-120.24486915667862,50.21330844177267],[-120.2445786938944,50.242738412194434],[-120.30028391503609,50.243320115010015],[-120.30023174025679,50.22824046148701]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-120.28163321769024,\"lat\":50.16647957172061},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933802\"],\"csd_name_en\":[\"Douglas Lake 3\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Douglas Lake 3\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.58973715820338,50.19800852908544],[-121.59634571951749,50.18746352417944],[-121.58343823881026,50.18729843388879],[-121.58634183112886,50.1980996236164],[-121.58973715820338,50.19800852908544]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.58913303424593,\"lat\":50.19167553495287},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933866\"],\"csd_name_en\":[\"Skwayaynope 26\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Skwayaynope 26\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.59163736294852,50.82604332282064],[-121.59163770452808,50.80804343714668],[-121.60595413225937,50.79724900359803],[-121.57471761276952,50.79705466409635],[-121.5603650709551,50.80818363300178],[-121.56619738512374,50.82608779244382],[-121.59163736294852,50.82604332282064]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.57970723127684,\"lat\":50.8110827211356},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933875\"],\"csd_name_en\":[\"Upper Hat Creek 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Upper Hat Creek 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.5785026089763,50.156988822477544],[-121.57876307461778,50.15131166570151],[-121.57359102330321,50.15150584829098],[-121.57260535463917,50.15700817953844],[-121.5785026089763,50.156988822477544]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.57587412728816,\"lat\":50.154266138093014},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933879\"],\"csd_name_en\":[\"Zacht 5\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Zacht 5\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-126.60012116037284,50.69481965960081],[-126.59823975449031,50.69036475282685],[-126.59434361856583,50.69083365928698],[-126.59460250795256,50.69780058272474],[-126.60012116037284,50.69481965960081]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-126.59674061834386,\"lat\":50.693697850772864},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5943\"],\"cd_name_en\":[\"Mount Waddington\"],\"csd_code\":[\"5943808\"],\"csd_name_en\":[\"Gwayasdums 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Mount Waddington\",\"csd_name_fr\":\"Gwayasdums 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-128.1574554619214,52.178063380856294],[-128.16660264346817,52.171249318322666],[-128.16787795466647,52.1425625539615],[-128.14465761092174,52.13948626476986],[-128.1435371379415,52.175375063390916],[-128.1574554619214,52.178063380856294]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-128.15528620309897,\"lat\":52.15844476493737},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5945\"],\"cd_name_en\":[\"Central Coast\"],\"csd_code\":[\"5945801\"],\"csd_name_en\":[\"Bella Bella 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Central Coast\",\"csd_name_fr\":\"Bella Bella 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-132.15930263728012,54.03897152025993],[-132.18517137427372,54.04944097526932],[-132.1966202706077,54.04280406548424],[-132.16056839682818,54.02192689652323],[-132.15930263728012,54.03897152025993]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-132.17472794900678,\"lat\":54.037435076751805},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5947\"],\"cd_name_en\":[\"Skeena-Queen Charlotte\"],\"csd_code\":[\"5947803\"],\"csd_name_en\":[\"Masset 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Skeena-Queen Charlotte\",\"csd_name_fr\":\"Masset 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-128.65800576418292,54.52281574413575],[-128.64987296414495,54.53704113974405],[-128.68881884778347,54.53884469632106],[-128.68049892563792,54.51807520564765],[-128.66125765220497,54.52116339375381],[-128.65800576418292,54.52281574413575]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-128.67030041265411,\"lat\":54.52973887509555},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5949\"],\"cd_name_en\":[\"Kitimat-Stikine\"],\"csd_code\":[\"5949804\"],\"csd_name_en\":[\"Kitsumkaylum 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kitimat-Stikine\",\"csd_name_fr\":\"Kitsumkaylum 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.78378938794678,54.23033475939419],[-125.78763000645131,54.23103905534482],[-125.78993691049956,54.223519884205025],[-125.78650262278703,54.225453264295226],[-125.78378938794678,54.23033475939419]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.78701575781365,\"lat\":54.227787518784325},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951844\"],\"csd_name_en\":[\"Poison Creek 17A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Poison Creek 17A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-134.96487655374207,60.7496360659419],[-135.00168157662665,60.78296751050785],[-135.0814351060113,60.84013736236991],[-135.18971041243375,60.8421356023595],[-135.22017614330665,60.83165181843142],[-135.25539950618727,60.84179004950951],[-135.27865032669402,60.838681079110664],[-135.2728763275945,60.791732269281496],[-135.27180754853532,60.7832210168448],[-135.24699261795308,60.74928517356149],[-135.17808379738946,60.663569629552114],[-135.1228791752389,60.618612676943435],[-135.02641809248126,60.55364071727719],[-134.98087883465595,60.55717318712328],[-134.9227974722859,60.565897676906324],[-134.8567286522038,60.58982273673412],[-134.8613235220963,60.6458250310437],[-134.90032895233242,60.65825587914905],[-134.9414411611053,60.70297498553981],[-134.96487655374207,60.7496360659419]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-135.0690392090596,\"lat\":60.70287778775979},\"year\":\"2021\",\"prov_code\":[\"60\"],\"prov_name_en\":[\"Yukon\"],\"cd_code\":[\"6001\"],\"cd_name_en\":[\"Yukon\"],\"csd_code\":[\"6001009\"],\"csd_name_en\":[\"Whitehorse\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Yukon\",\"cd_name_fr\":\"Yukon\",\"csd_name_fr\":\"Whitehorse\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-139.38788787217732,64.10646125027613],[-139.4058696041725,64.12652810872093],[-139.4681215549674,64.11456153088228],[-139.4477353800747,64.09152437519859],[-139.38239484776022,64.10032499701386],[-139.38788787217732,64.10646125027613]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-139.42533070323154,\"lat\":64.10833991039952},\"year\":\"2021\",\"prov_code\":[\"60\"],\"prov_name_en\":[\"Yukon\"],\"cd_code\":[\"6001\"],\"cd_name_en\":[\"Yukon\"],\"csd_code\":[\"6001031\"],\"csd_name_en\":[\"Moosehide Creek 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Self-government \\/ Autonomie gouvernementale\",\"prov_name_fr\":\"Yukon\",\"cd_name_fr\":\"Yukon\",\"csd_name_fr\":\"Moosehide Creek 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-133.4819225820294,68.32845464314107],[-133.63658717711962,68.34749578763402],[-133.73081606358448,68.396725752402],[-133.72970472118814,68.41660388441608],[-133.8012292331284,68.41660064287151],[-133.7934698055582,68.39885111300674],[-133.772313895604,68.38971811380438],[-133.77316127759866,68.377520103324],[-133.75784515339788,68.36530159626012],[-133.72084849355568,68.34975168736844],[-133.6743585992079,68.32344399010434],[-133.67945772834022,68.31495081755924],[-133.57162436337694,68.30762438480205],[-133.5351697997205,68.29728978383369],[-133.48384641506334,68.2957097103631],[-133.3835629879865,68.29830950708835],[-133.38708003197561,68.31666193080122],[-133.4819225820294,68.32845464314107]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-133.61073355873268,\"lat\":68.34072802475467},\"year\":\"2021\",\"prov_code\":[\"61\"],\"prov_name_en\":[\"Northwest Territories\"],\"cd_code\":[\"6101\"],\"cd_name_en\":[\"Region 1\"],\"csd_code\":[\"6101017\"],\"csd_name_en\":[\"Inuvik\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Territoires du Nord-Ouest\",\"cd_name_fr\":\"Region 1\",\"csd_name_fr\":\"Inuvik\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.22467540264148,61.73692309519177],[-121.200050819467,61.7699282691222],[-121.21183953577219,61.786457728853286],[-121.24347280107605,61.79539069619385],[-121.27560273102291,61.8106419545643],[-121.31096999412169,61.83596077146986],[-121.32655932422621,61.857753301207055],[-121.35830197331141,61.874859507296826],[-121.39501776690994,61.886116924302584],[-121.4555289512102,61.862992540213156],[-121.25657342897588,61.72617469881146],[-121.22467540264148,61.73692309519177]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.32072724402295,\"lat\":61.80866836241901},\"year\":\"2021\",\"prov_code\":[\"61\"],\"prov_name_en\":[\"Northwest Territories\"],\"cd_code\":[\"6104\"],\"cd_name_en\":[\"Region 4\"],\"csd_code\":[\"6104038\"],\"csd_name_en\":[\"Fort Simpson\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Territoires du Nord-Ouest\",\"cd_name_fr\":\"Region 4\",\"csd_name_fr\":\"Fort Simpson\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.46559871415894,72.71655218665668],[-77.536853688137,72.73680446779571],[-77.59582501240537,72.75968259863869],[-77.62235108171677,72.74605669538764],[-77.71419568325999,72.73103220374509],[-77.7891248306091,72.70764068943103],[-77.85390686910424,72.70082139162768],[-77.95962070910542,72.7028070057564],[-78.0251099255807,72.67808159729381],[-78.13791457445761,72.65875744693115],[-78.11159863921353,72.64508552702942],[-77.99172076969614,72.63498350015347],[-77.94482300023994,72.62856595385647],[-77.88992025022893,72.63042307157428],[-77.78043197914498,72.63853056953926],[-77.6966330988858,72.63453402040712],[-77.61108719526193,72.64252413501868],[-77.482128099023,72.67069599969146],[-77.45590295343878,72.6998128106746],[-77.46559871415894,72.71655218665668]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.75003620152367,\"lat\":72.68063734199367},\"year\":\"2021\",\"prov_code\":[\"62\"],\"prov_name_en\":[\"Nunavut\"],\"cd_code\":[\"6204\"],\"cd_name_en\":[\"Qikiqtaaluk\"],\"csd_code\":[\"6204020\"],\"csd_name_en\":[\"Pond Inlet\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Hamlet\",\"prov_name_fr\":\"Nunavut\",\"cd_name_fr\":\"Qikiqtaaluk\",\"csd_name_fr\":\"Pond Inlet\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-94.09546013711397,61.06328560721691],[-93.9387045381114,61.07197660866606],[-93.9665641281819,61.146063082189706],[-94.14643428082081,61.17011508239515],[-94.2722860497835,61.13614499838627],[-94.29479899936483,61.085909899976386],[-94.24840885587439,61.02859241247876],[-94.16059473618033,61.00483457197776],[-94.09546013711397,61.06328560721691]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-94.13099451955175,\"lat\":61.09762715687073},\"year\":\"2021\",\"prov_code\":[\"62\"],\"prov_name_en\":[\"Nunavut\"],\"cd_code\":[\"6205\"],\"cd_name_en\":[\"Kivalliq\"],\"csd_code\":[\"6205015\"],\"csd_name_en\":[\"Arviat\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Hamlet\",\"prov_name_fr\":\"Nunavut\",\"cd_name_fr\":\"Kivalliq\",\"csd_name_fr\":\"Arviat\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.00190551235018,67.680516667844],[-107.73599473271739,67.59484665207692],[-107.73620415156952,67.75459581909975],[-108.12499161028494,67.75751623228881],[-108.12352909830499,67.71935976940092],[-108.00190551235018,67.680516667844]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.89023510625985,\"lat\":67.70012508246658},\"year\":\"2021\",\"prov_code\":[\"62\"],\"prov_name_en\":[\"Nunavut\"],\"cd_code\":[\"6208\"],\"cd_name_en\":[\"Kitikmeot\"],\"csd_code\":[\"6208068\"],\"csd_name_en\":[\"Umingmaktok\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Settlement\",\"prov_name_fr\":\"Nunavut\",\"cd_name_fr\":\"Kitikmeot\",\"csd_name_fr\":\"Umingmaktok\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.599517900833305,47.042649884903604],[-53.62539838997456,47.018221500614445],[-53.64531920200403,47.00417081362752],[-53.65258649509731,46.982375889743395],[-53.625809316131864,46.998904993295405],[-53.59672353025687,46.991435321581235],[-53.5415304758423,47.041672241505026],[-53.599517900833305,47.042649884903604]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.5980657025442,\"lat\":47.017558575080216},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001186\"],\"csd_name_en\":[\"Admirals Beach\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Admirals Beach\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-52.971522430378464,48.116900829498235],[-53.00156614036761,48.11570485598784],[-53.02775918742468,48.1017129442477],[-53.011345913413244,48.089697089711215],[-53.02153579743178,48.08103360126784],[-53.02088732588618,48.06051059543469],[-52.99589586770329,48.05917476980956],[-52.971854375796596,48.09046576365809],[-52.971522430378464,48.116900829498235]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-52.997784747532855,\"lat\":48.089858230461964},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001343\"],\"csd_name_en\":[\"Old Perlican\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Old Perlican\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.269015052272145,47.64326959892458],[-53.29025036280136,47.653693833319956],[-53.333813759785706,47.656835132340916],[-53.38677190611944,47.646992018978096],[-53.38705032436068,47.62922786675415],[-53.39978663447207,47.625855515732525],[-53.407969489017624,47.60429022620869],[-53.392361239137024,47.59732045766448],[-53.384753512464506,47.58068889528558],[-53.40174122920105,47.5580778814555],[-53.34201195319255,47.578070968657656],[-53.3204324605852,47.59531950623628],[-53.27499201949175,47.598375376711346],[-53.27401440685131,47.60369949876112],[-53.234057624035465,47.623039066363965],[-53.25272771881765,47.63260146216549],[-53.2627163020234,47.638118415155795],[-53.269015052272145,47.64326959892458]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.33308385645706,\"lat\":47.617236656765456},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001396\"],\"csd_name_en\":[\"Spaniard's Bay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Spaniard's Bay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.24627197131222,47.560804083408826],[-53.254570335374574,47.55734851274396],[-53.26753761663264,47.54961974637903],[-53.27805850989483,47.53215455196366],[-53.29536039179858,47.51881380584994],[-53.28587979883822,47.51147058893715],[-53.264798900010724,47.52403979294745],[-53.26515733530406,47.52878406521594],[-53.23813483892316,47.555728186250306],[-53.24627197131222,47.560804083408826]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.266582866916714,\"lat\":47.536611900130694},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001434\"],\"csd_name_en\":[\"South River\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"South River\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-52.914117282175134,47.65609149614462],[-52.95949459751758,47.65153409675735],[-52.993077994696115,47.6316749024165],[-52.97789256981806,47.6229831279009],[-52.95181407674885,47.63405632033313],[-52.941093724427766,47.620446275526696],[-52.91446850891794,47.63642369711133],[-52.914117282175134,47.65609149614462]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-52.94739870586905,\"lat\":47.639265815538295},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001494\"],\"csd_name_en\":[\"Wabana\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Wabana\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.2323571728878,47.11241582133676],[-55.22906942910276,47.07219123119128],[-55.20294448353049,47.06813481691954],[-55.21367930789875,47.08684318885107],[-55.20718968612684,47.09416891063953],[-55.2323571728878,47.11241582133676]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.22039066000136,\"lat\":47.087407389816896},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1002\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"1002002\"],\"csd_name_en\":[\"Lewin's Cove\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Lewin's Cove\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-58.633788238859054,47.89834305344616],[-58.657182783760376,47.90447330226506],[-58.66039003837099,47.91255880790905],[-58.64090748385934,47.92380130901775],[-58.649314584759026,47.93580970679255],[-58.67730222860786,47.9350708437121],[-58.67685263245684,47.960598743751966],[-58.73067334619093,47.99440213184353],[-58.73976042920742,48.01578569510759],[-58.7602477750849,48.033994578151926],[-58.79043114298534,48.03384890281978],[-58.82339156128198,48.05356682652888],[-58.83036279656834,48.07037568427045],[-58.8630400621945,48.07942978870074],[-58.890472796014436,48.10780800356165],[-58.907563059775924,48.10381391687605],[-58.97696661821904,48.07545232440318],[-58.976789420924355,48.04925334818535],[-59.007285971502746,48.03949383298172],[-59.024830875296146,48.04006037493538],[-59.041557363175585,48.05500321033505],[-59.069337108764806,48.033002680601484],[-59.09367634435431,48.038349888197615],[-59.1064435842099,48.02189859680153],[-59.125480728517346,48.02132625159296],[-59.152260677577814,48.00014891867303],[-59.20569200430036,48.000608603371276],[-59.207364300515394,47.98161365846269],[-59.22175753145819,47.97058278032208],[-59.22795033757207,47.951506844975796],[-59.2564855848701,47.94359464761743],[-59.271960980172835,47.90721697774012],[-59.29386925847927,47.89858752158608],[-59.33051662762752,47.90479893356329],[-59.37138204660759,47.89687778289327],[-59.382669600730246,47.91429194237307],[-59.430005056451634,47.91720142639891],[-59.42346813296635,47.88718834770391],[-59.371944349384655,47.790029035688896],[-59.34837728882073,47.75705514796738],[-59.34956325076873,47.72177061533219],[-59.34270181540723,47.651416595099136],[-59.32198489712425,47.659598628840925],[-59.30420496421036,47.661399747346195],[-59.280681832417976,47.700415932225454],[-59.249005422172424,47.69599933056475],[-59.199219518951196,47.72439200526643],[-59.17817642368553,47.73157232515354],[-59.17751906245862,47.75328150720548],[-59.158136154877724,47.754652608805785],[-59.13060496520029,47.766020219958094],[-59.1169264087896,47.76048113596948],[-59.10034149255545,47.76457556580352],[-59.07738808334413,47.75290780037949],[-59.04201147144678,47.75545284442075],[-59.017921832091986,47.78112948766265],[-58.996226868604595,47.78831245371499],[-59.004900069421396,47.80111621611189],[-58.989378420182355,47.81479138262134],[-58.99126462015309,47.82751024950764],[-58.9283849890523,47.83618951764561],[-58.92384159994906,47.844298094349405],[-58.89886934499807,47.846775291891056],[-58.897713854360916,47.83917009206054],[-58.872370861901075,47.83896597123615],[-58.800669847141364,47.82936349441055],[-58.793336196067564,47.83817774893097],[-58.802699242248174,47.860133300064845],[-58.7813818069047,47.87364948733614],[-58.74260437018529,47.88632127365524],[-58.73680126117009,47.89552401819284],[-58.69953179986238,47.89425262274566],[-58.69327349585172,47.87781053760625],[-58.671379548435276,47.868048412657245],[-58.65591774325223,47.868083325211444],[-58.633788238859054,47.89834305344616]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-59.05107550531363,\"lat\":47.89698766322163},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1004\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"1004001\"],\"csd_name_en\":[\"Division No.  4\",\"Subd. A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Division No.  4, Subd. A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-58.09905773721538,49.0923866140323],[-58.11525789311775,49.07547571608659],[-58.09166691318929,49.057383730110054],[-58.08172434793305,49.0357009134905],[-58.06062090382784,49.02041328675714],[-58.04222649083975,49.024208185718365],[-58.0314130952666,49.022700687187516],[-57.982304837260685,49.03273559596539],[-57.93372265142282,49.03652489163257],[-57.902487218371654,49.09611315533033],[-57.87730133675928,49.10577157171218],[-57.81860563325992,49.11745486104554],[-57.78627770120818,49.109213897136115],[-57.692835117294685,49.109417340419455],[-57.667140657767895,49.13196226151993],[-57.680392283913484,49.14488827376328],[-57.668348462870746,49.15070977196232],[-57.651340198777895,49.17318693578263],[-57.614511361050425,49.197070281667166],[-57.61040415457939,49.22487344162865],[-57.6255901957825,49.23913748426514],[-57.62723281021824,49.25400326782466],[-57.61477472445599,49.26594733227575],[-57.60351118647239,49.29514239551683],[-57.6140831002836,49.30713010421379],[-57.619650922020554,49.31070245108319],[-57.6723386053302,49.312488515264896],[-57.716867648457836,49.290898577990134],[-57.75203659167738,49.29173483558918],[-57.74899574922063,49.30245809698441],[-57.73305194429781,49.31787954419573],[-57.81519038696291,49.31343868967836],[-57.81936016612817,49.29564251688325],[-57.84371071062778,49.294125895773846],[-57.89393841585874,49.281970726052634],[-57.935136729348486,49.28664352444972],[-57.98229866422749,49.28734360027205],[-57.990618010428804,49.292428588513964],[-58.003856742026315,49.3143784973219],[-58.033631465608046,49.333342448071654],[-58.0855926735963,49.30957628987633],[-58.11866355878426,49.3057211883459],[-58.15017617952548,49.324360721704494],[-58.13607576944397,49.33581945384874],[-58.15673710586325,49.34154775440273],[-58.18964573523973,49.32667392193969],[-58.22355545215861,49.32185199339308],[-58.23968855034722,49.323022874979735],[-58.37162091567444,49.3433539358437],[-58.4432248663827,49.25119503230141],[-58.468610440864765,49.21647077095875],[-58.4999963780335,49.183343398076005],[-58.49999636006269,49.007738089372815],[-58.583459396910214,48.94731815357199],[-58.50577429510796,48.94115890311238],[-58.45046175147191,48.944829707870035],[-58.433702873672274,48.96072761643826],[-58.41642052476918,48.94607822379097],[-58.41126496971161,48.93028888522037],[-58.357951084270255,48.912408845855516],[-58.33899154228435,48.895753194147645],[-58.2879165707895,48.90224206634579],[-58.260572494384526,48.89146154201455],[-58.214304361555826,48.88096815591953],[-58.200218207353274,48.88362421963037],[-58.18307091525726,48.87434529965157],[-58.17487439391645,48.84794149898636],[-58.15903909721999,48.84375990327447],[-58.131208422657906,48.84745299711442],[-58.09792560846919,48.84974366524456],[-58.07377770401238,48.86730574951182],[-58.06060719274614,48.892611391430556],[-58.05650151921572,48.92420920127088],[-58.06516688295908,48.936425308775114],[-58.11013803732556,48.95058059839392],[-58.24595420350167,49.03557490042301],[-58.25264557983595,49.04936170059494],[-58.24220399158892,49.05973805184612],[-58.269283116265086,49.06276974130873],[-58.35258939782167,49.044292387538945],[-58.379393389033574,49.046576118828845],[-58.396990667265094,49.07512094352799],[-58.3847892639304,49.084218166654324],[-58.42678686111238,49.103159571791544],[-58.4093586091626,49.11249489479546],[-58.40412684772723,49.130333964150715],[-58.37745210912928,49.113781234403156],[-58.35128408198688,49.11389166024671],[-58.36342397306958,49.1020717034956],[-58.38314060380647,49.0997733876218],[-58.372921608590325,49.07856019158379],[-58.37771290312477,49.06379858690886],[-58.36412218428724,49.05408549427041],[-58.33804890144262,49.056144013779246],[-58.29528857858906,49.06472070373797],[-58.27790349124766,49.07191160159088],[-58.23924097494922,49.06595060190033],[-58.188828090398324,49.06336940105961],[-58.17578120688864,49.056004101715914],[-58.162409190235266,49.06079998500991],[-58.144820311902194,49.03651468921456],[-58.14069289451779,49.018950688475215],[-58.09886521859625,48.995823697929396],[-58.08431899963862,48.98116280155522],[-58.06736328473948,48.97393809279016],[-58.048470293720506,48.97414240482631],[-58.03303138246323,48.96808090472247],[-57.98681631013067,48.95836249712264],[-57.94472910430397,48.956756696886025],[-57.93504749272436,48.96438878441061],[-57.90129131530951,48.974300476526565],[-57.90844272248564,48.98551737481395],[-57.900177875657334,48.995117942025445],[-57.91660149367156,48.98509429759089],[-57.94164858292435,48.98199380189241],[-57.966289596876024,48.97404048470498],[-58.025731050066284,48.986595753428055],[-58.060895615487254,48.99237379513526],[-58.06780191293693,48.999723702722704],[-58.07161980079737,49.016813498942156],[-58.10244298069666,49.03145889683822],[-58.119204187528496,49.04169940713196],[-58.11504178492905,49.06385040039833],[-58.13876071693859,49.084280039270155],[-58.09905773721538,49.0923866140323]],[[-58.09905773721538,49.0923866140323],[-58.099815685481595,49.1126719589664],[-58.0897657168242,49.127798573892086],[-58.06594968915311,49.11637880062863],[-58.04483222291104,49.113100240172294],[-58.09905773721538,49.0923866140323]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-58.12643753469493,\"lat\":49.13524148200082},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1005\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"1005019\"],\"csd_name_en\":[\"Division No.  5\",\"Subd. D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Division No.  5, Subd. D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.89239475206534,48.979402024376654],[-54.89664360275522,48.95936796039496],[-54.87662140113674,48.95672170454208],[-54.88032220371889,48.97475130009359],[-54.86948439945701,48.98616448418462],[-54.86489601544742,49.001309075155135],[-54.88782132899141,49.00320350810626],[-54.89239475206534,48.979402024376654]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.88229824376915,\"lat\":48.98173552542943},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1006\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"1006012\"],\"csd_name_en\":[\"Glenwood\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Glenwood\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.222858104390816,48.498761193512955],[-54.197307508391575,48.49998533417883],[-54.201897849485434,48.51102651886855],[-54.22340955708238,48.51027125043258],[-54.222858104390816,48.498761193512955]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.211382372314176,\"lat\":48.504844932565675},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1007\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"1007040\"],\"csd_name_en\":[\"Terra Nova\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Terra Nova\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.87332639612749,51.59355431100047],[-55.86261319424923,51.60756888592885],[-55.853784388153336,51.609215604459],[-55.860001298307395,51.617885107140225],[-55.87447918303004,51.60306929647219],[-55.87332639612749,51.59355431100047]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.86546306374455,\"lat\":51.60703584307988},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1009\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"1009034\"],\"csd_name_en\":[\"Cook's Harbour\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Cook's Harbour\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-56.42937917827881,51.728229936129274],[-56.415159034085576,51.72385665945825],[-56.40988587023975,51.74048706509061],[-56.42487954375393,51.748495933626884],[-56.42937917827881,51.728229936129274]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-56.41997860511131,\"lat\":51.735514881862024},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1010\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"1010003\"],\"csd_name_en\":[\"Red Bay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Red Bay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-56.39063384632255,52.5424968477788],[-56.3818204835045,52.53358388896716],[-56.30911682324389,52.51462667077601],[-56.27415057761581,52.52067538191274],[-56.26680287184061,52.52665134946506],[-56.28295062317776,52.545697641160565],[-56.31380375893727,52.566327500436024],[-56.336018515190915,52.5721408698992],[-56.36252480087085,52.571594950154434],[-56.39232983291981,52.56430016526383],[-56.39063384632255,52.5424968477788]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-56.333020636860155,\"lat\":52.544005960356856},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1010\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"1010009\"],\"csd_name_en\":[\"Port Hope Simpson\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Port Hope Simpson\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.49744086395507,46.211653735464296],[-63.48787624985775,46.223955526777054],[-63.49977217199467,46.221840070076254],[-63.49744086395507,46.211653735464296]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.495029761935825,\"lat\":46.2191497774392},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1102\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1102032\"],\"csd_name_en\":[\"Victoria\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Victoria\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.21895306864114,46.3566256654365],[-63.23669708702411,46.35538302347529],[-63.229867617017355,46.342207615249706],[-63.23994316864662,46.33020922021006],[-63.27376301651393,46.32147510383973],[-63.29473862991572,46.314075425084866],[-63.29245183866976,46.306458475600365],[-63.26819420963097,46.30557582471461],[-63.262661106378374,46.29229623013108],[-63.23631401284091,46.293368709646074],[-63.216626352022864,46.29095690690808],[-63.21454581290388,46.283627375269056],[-63.19649257325836,46.27656193545223],[-63.187808705255186,46.28664681332143],[-63.187752897331535,46.301635409763506],[-63.199719190759815,46.33772092201753],[-63.21895306864114,46.3566256654365]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.22847999953578,\"lat\":46.3141380339539},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1102\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1102040\"],\"csd_name_en\":[\"Miltonvale Park\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Miltonvale Park\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.07101843621936,46.80046522704125],[-64.07004686193538,46.78460704883895],[-64.05212663045616,46.78208262187652],[-64.05392369872185,46.80363431152875],[-64.07101843621936,46.80046522704125]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.06133158261524,\"lat\":46.79266955735025},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1103\"],\"cd_name_en\":[\"Prince\"],\"csd_code\":[\"1103050\"],\"csd_name_en\":[\"Northport\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Prince\",\"csd_name_fr\":\"Northport\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.07541905198792,43.83814138493445],[-66.08088802475069,43.839535083834555],[-66.08716769583533,43.83503149413525],[-66.08358730143993,43.832279698090225],[-66.07541905198792,43.83814138493445]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.08166716272561,\"lat\":43.836201434691326},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1202\"],\"cd_name_en\":[\"Yarmouth\"],\"csd_code\":[\"1202040\"],\"csd_name_en\":[\"Yarmouth 33\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Yarmouth\",\"csd_name_fr\":\"Yarmouth 33\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.044229808861616,46.96679556556916],[-53.04316438869786,46.81657100898398],[-52.93767337924523,46.815611001905175],[-52.946955088900324,46.84519889696155],[-52.93876349102219,46.87353320150324],[-52.923226580884325,46.890791199205026],[-52.916985598100375,46.9060981132835],[-52.920658286217396,46.918253302251884],[-52.90925798161689,46.92172239539346],[-52.89911867415048,46.93487998712925],[-52.95175559807692,46.95286539675069],[-53.044229808861616,46.96679556556916]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-52.98691705873738,\"lat\":46.89087668757711},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001131\"],\"csd_name_en\":[\"Renews-Cappahayden\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Renews-Cappahayden\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.74892863344904,47.159644412202866],[-53.76007035516937,47.15563238613501],[-53.79887515897188,47.16204543645131],[-53.80874401252494,47.175239966821984],[-53.83029223513053,47.17770404868612],[-53.87521745203831,47.15097526063791],[-53.999976309612926,47.14793378874318],[-54.10882363532289,47.161779992894076],[-54.10950661926905,47.161403136476686],[-54.13904806056366,47.11071416843677],[-54.1814710068866,47.01010429357141],[-54.18322719379881,47.00006579665739],[-54.21678656598327,46.912180670094365],[-54.22516237168098,46.87172500604687],[-54.22832196696935,46.83344747304874],[-54.21574539893142,46.805493126999274],[-54.19796932411692,46.79253598757908],[-54.14101805421243,46.766540773169766],[-54.061353432353066,46.760562804766195],[-53.99813615526158,46.754236852127605],[-53.85952341722029,46.75796323703894],[-53.83439677365385,46.75399464312757],[-53.78467002356133,46.910705471656996],[-53.76186511057922,46.98703294344578],[-53.749901078073165,47.00000165247647],[-53.75251566536573,47.03443145080671],[-53.73836779791971,47.050371872512365],[-53.73893953418925,47.06838357627289],[-53.74810010809235,47.07807282886671],[-53.731316998869566,47.12348288920975],[-53.74892863344904,47.159644412202866]],[[-54.19161271854472,46.93675560593085],[-54.17935382457766,46.942332588456246],[-54.16026532030408,46.92880586393378],[-54.16037062380095,46.91300969186901],[-54.18153955415878,46.906977643669876],[-54.19161271854472,46.93675560593085]],[[-54.01760660233686,46.87037959892952],[-54.00015434417659,46.88956177072152],[-53.91403300122513,46.90099459859851],[-53.913800992870776,46.886218291919796],[-53.93262648503594,46.87978819647924],[-53.94694219648364,46.88261529211894],[-53.95254448377925,46.86726909327073],[-54.00755418900915,46.87533840870837],[-54.01760660233686,46.87037959892952]],[[-54.0543523890177,46.848386270367065],[-54.037844181034394,46.84839405058987],[-54.0625098701106,46.78928161808961],[-54.07232049343739,46.807750196545975],[-54.08834539532817,46.80934760851322],[-54.10281651177589,46.79812380881088],[-54.1129762015556,46.80959780961183],[-54.133714875476045,46.8153465024028],[-54.11687857301265,46.84835792266048],[-54.0543523890177,46.848386270367065]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.97531742957149,\"lat\":46.963028030385495},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001214\"],\"csd_name_en\":[\"Division No.  1\",\"Subd. C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Division No.  1, Subd. C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.65449511492241,47.52321010325514],[-53.671907198755385,47.521876305235516],[-53.66783502900548,47.539845629211065],[-53.70400331528698,47.53795780551101],[-53.713777633139074,47.5173985547927],[-53.66314896691526,47.47767069481484],[-53.62115991013313,47.4627920113207],[-53.61935168119879,47.47967563993403],[-53.65449511492241,47.52321010325514]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.666182240399046,\"lat\":47.50388307815783},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001289\"],\"csd_name_en\":[\"Chapel Arm\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Chapel Arm\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.18402256529965,47.76950789839427],[-53.147914573036,47.7813682969269],[-53.14770541784894,47.78994163914298],[-53.17565897843281,47.788855475193216],[-53.197877199720736,47.77905691690043],[-53.18402256529965,47.76950789839427]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.17163884576673,\"lat\":47.7810588571652},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001361\"],\"csd_name_en\":[\"Salmon Cove\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Salmon Cove\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-56.226936442013375,47.56081396049746],[-56.215503009798674,47.58593395790473],[-56.23280254444903,47.62627603014551],[-56.24467016782164,47.63732340527276],[-56.28535199975797,47.650174552296626],[-56.27443078922612,47.66195735587367],[-56.27800314649287,47.67294718255496],[-56.248828538190686,47.700895052483844],[-56.22846962415364,47.71233814918707],[-56.23269220492724,47.72233353538365],[-56.194073110407814,47.749585779857625],[-56.19167175253528,47.76553881385049],[-56.20267298957994,47.79063606009518],[-56.23354045376398,47.79383664333463],[-56.25109196863102,47.80727224401428],[-56.26521747336981,47.81013477007503],[-56.281765735484136,47.82204097509864],[-56.302076863815856,47.82640896450914],[-56.321755500536746,47.842537622053065],[-56.32349950836786,47.87098602884589],[-56.33221632112182,47.901273839760854],[-56.35666979510777,47.91464639150729],[-56.35986865507398,47.923464146436665],[-56.340433967205044,47.93882627662482],[-56.34014229500994,47.951104568599135],[-56.38129371376643,47.982767796764115],[-56.38739384758005,47.99899660172655],[-56.36944383457357,48.00661260795009],[-56.358581303135644,48.027047103560534],[-56.365808639958516,48.04995440561582],[-56.391769743315905,48.0577163404196],[-56.40954862891831,48.06843022814091],[-56.41052555212339,48.08141925820586],[-56.39124133567594,48.08430268103941],[-56.39003744858909,48.10021367887777],[-56.366188234631586,48.10301267104725],[-56.36206226840832,48.12409267022704],[-56.38691965725655,48.13484421085211],[-56.384855661868656,48.15167744512458],[-56.41021436351085,48.15605801113929],[-56.40702267689312,48.12408625934679],[-56.43348875994465,48.115253860940584],[-56.461203520106544,48.11003789279602],[-56.478187220835316,48.090871825632284],[-56.516835972470645,48.082916802769596],[-56.52441277024923,48.08588726029867],[-56.532889888313306,48.11928319554543],[-56.54549914680292,48.12270117884648],[-56.556535157858924,48.10579664435083],[-56.57752424667985,48.11014177758176],[-56.59787747152869,48.09401284382742],[-56.62104110796434,48.08687677478009],[-56.629352371138665,48.063758251595004],[-56.62454553208608,48.05485115017977],[-56.63332167146909,48.025928650202815],[-56.65252280624695,48.01097732969095],[-56.68422546070074,48.023935349345756],[-56.702172161675776,48.02445813012481],[-56.7184115007625,48.03626671279987],[-56.731964692684585,48.10821328806458],[-56.77012377676613,48.13058338727794],[-56.78202832286786,48.154073254637204],[-56.791108127455054,48.16277977222408],[-56.842699773603144,48.1473746012226],[-56.86503233805874,48.13374619384177],[-56.90630140432635,48.102199179567705],[-56.91967214046912,48.088875050983255],[-56.936402776638204,48.08087743423071],[-56.94520560037393,48.06575829837254],[-56.937887337778285,48.02393240626405],[-56.93059974867758,48.00850653026425],[-56.94529026360352,47.98403354133849],[-56.961320606836345,47.94472736317246],[-56.97860394204299,47.91142899868447],[-56.98047115647984,47.88445067159326],[-56.99234106306441,47.85195744534999],[-57.00152790881362,47.83880335818833],[-56.99263533385601,47.81783800870108],[-56.96005991736975,47.81918243872232],[-56.94091406687771,47.8024626476061],[-56.91788108162188,47.79186338895141],[-56.930443556798714,47.761769994919796],[-56.93288013963868,47.742948205490734],[-56.98444015538814,47.709058339855645],[-57.06841111165465,47.631756725619304],[-57.05867253309447,47.611451450620095],[-57.023333168904756,47.60737301375772],[-57.000000021938575,47.58123583009756],[-56.999999975539346,47.4793233620263],[-57.01520799072957,47.44988390643678],[-57.048179332556266,47.416165958379324],[-57.07684980704728,47.39336099269555],[-57.009835906804874,47.37435839058713],[-56.95017077457675,47.359278447297214],[-56.83878639390606,47.35412374897516],[-56.82078972709585,47.354578434494684],[-56.70323945370233,47.381870487368516],[-56.624894062454565,47.398697710761226],[-56.560002570459545,47.41443137672097],[-56.50713021975009,47.42103697890421],[-56.49004174651491,47.42800273886412],[-56.438736070668966,47.43927942382966],[-56.35791385117875,47.48164266578718],[-56.30556327497984,47.51189647818846],[-56.226936442013375,47.56081396049746]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-56.65165638385327,\"lat\":47.73169348437503},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1003\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"1003021\"],\"csd_name_en\":[\"Division No.  3\",\"Subd. E\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Division No.  3, Subd. E\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.23480454474299,48.951690502706],[-54.28318962508702,48.962787747019945],[-54.31489563201144,48.986504367186434],[-54.34153498725578,48.99440750252165],[-54.39959090594242,48.98152660114791],[-54.41901190201133,48.99342450459861],[-54.47738922142543,49.01052064322077],[-54.53122850291715,49.01639794937735],[-54.51806498871326,49.03611579410649],[-54.543986882682866,49.070511689803375],[-54.576994942827945,49.08502358148588],[-54.589566651827866,49.07985517097719],[-54.61081032957514,49.08161666478413],[-54.63101661000076,49.07755250089175],[-54.646190112828954,49.082477099644414],[-54.65460484010454,49.09359318066834],[-54.660392823253815,49.084847651864145],[-54.68724932472984,49.075166451133555],[-54.706383378135335,49.07550559210866],[-54.71637295291806,49.068535134310416],[-54.7506023903772,49.06827383936315],[-54.78056298912869,49.042201199291966],[-54.79220869106481,49.04010822261158],[-54.80829293290296,49.01861410996777],[-54.85604271602274,49.01366062779258],[-54.86489601544742,49.001309075155135],[-54.86948439945701,48.98616448418462],[-54.88032220371889,48.97475130009359],[-54.87662140113674,48.95672170454208],[-54.89664360275522,48.95936796039496],[-54.89239475206534,48.979402024376654],[-54.91373518949817,48.97451832046047],[-54.94235874225305,48.96214397177161],[-54.95205227088279,48.97607080029594],[-54.98851488247742,48.95950837990473],[-55.01800037811492,48.937656415358205],[-55.03853516771348,48.92635550244245],[-55.10302715450068,48.94466057203732],[-55.12783548807997,48.94178960557357],[-55.13793558618626,48.92819955080191],[-55.105900357282295,48.8930485872383],[-55.12990700298722,48.89047500434062],[-55.18949606961209,48.89530768557676],[-55.204127883891324,48.89117252391085],[-55.20606610994337,48.8780175944306],[-55.188724657609924,48.856033634105415],[-55.16073736933528,48.85045067216967],[-55.165525492255654,48.81249969803711],[-55.20462198723351,48.80720035819657],[-55.22979598562227,48.80011074867811],[-55.25000391037537,48.817441954316266],[-55.29176918523336,48.80291577678745],[-55.301402951077506,48.7949077121173],[-55.29700733656588,48.78203935498654],[-55.30586796195193,48.761563183896804],[-55.28409214697293,48.756576925012276],[-55.25674048543208,48.75609200378267],[-55.24981085530044,48.746217609499226],[-55.26327062042403,48.73998198626623],[-55.30100290312224,48.738531921436085],[-55.30712397328522,48.72991566837091],[-55.292196028165534,48.711255288467484],[-55.29383599266913,48.70327376123764],[-55.31967461205461,48.68396242456462],[-55.31630692742306,48.64049113114673],[-55.346702099331516,48.60631582275613],[-55.33929152957685,48.59453064071595],[-55.322342760138845,48.58454883609601],[-55.26948439715589,48.58724115736734],[-55.21026763176312,48.61232370119463],[-55.22813364902298,48.56311008349614],[-55.25068907373907,48.53030657282592],[-55.249459736664214,48.51828514900078],[-55.234667549640314,48.50156191837308],[-55.23118821158378,48.488494445751655],[-55.24172201641582,48.46479116462625],[-55.26214671715883,48.44249570577488],[-55.23614004545981,48.44229803980054],[-55.22772714523024,48.43358682486793],[-55.251905327448796,48.39792026360814],[-55.30303099849173,48.36001804694344],[-55.29105201927277,48.330151973231295],[-55.28379009695208,48.326137267268656],[-55.26126971088851,48.32237667211433],[-55.213996510365355,48.343168920179956],[-55.196909489190666,48.35679837260881],[-55.19979254368189,48.37671050113382],[-55.180380964153315,48.387836882180906],[-55.148502738111176,48.38350913376787],[-55.12729227988962,48.39013189304196],[-55.10956001988596,48.404359229862536],[-55.082519421469755,48.432917724681886],[-55.048906544590864,48.452847456898304],[-55.0393091848416,48.47109891111854],[-55.027928948407336,48.476611822142175],[-54.97169869164379,48.4895989447096],[-54.96826550346994,48.536573420791846],[-54.963836542640166,48.543458245165155],[-54.916576869434614,48.549566316853195],[-54.89058044645083,48.57300821398228],[-54.86694771543347,48.62477884768026],[-54.85512735514185,48.64084042251615],[-54.829096129052715,48.64555670422944],[-54.77885742149458,48.64577669860844],[-54.76035247247955,48.64873894191411],[-54.75022062484218,48.66474056671003],[-54.760910217469316,48.67885456141418],[-54.792671087330646,48.698376699815086],[-54.818482178558774,48.6941159945971],[-54.814293218180865,48.70756021895815],[-54.75945198703127,48.73132458771876],[-54.75631178864052,48.73616565196613],[-54.78285750261605,48.75663133903634],[-54.80619149636649,48.758852636083304],[-54.80183127975839,48.76850341511336],[-54.76780181428436,48.77416745908201],[-54.76892339767947,48.796960060119396],[-54.73125301387045,48.8165752421833],[-54.71473901479483,48.837966070859466],[-54.68366864626057,48.84734857944008],[-54.595887711163655,48.838631016622664],[-54.54304721589163,48.82984098151893],[-54.52150597219808,48.818449017977706],[-54.47632706557916,48.803749959823975],[-54.45855985503477,48.80116124111308],[-54.42650806189932,48.803555373796144],[-54.38462011642187,48.82330672178267],[-54.33202208158067,48.84032262032313],[-54.32253638806544,48.848364802693524],[-54.330166370315155,48.86153907977844],[-54.34834530106889,48.86357710194197],[-54.36902321594962,48.879569568167426],[-54.353932135814766,48.894444497132575],[-54.29896924654371,48.93156088750008],[-54.24017835270667,48.94699746836814],[-54.23480454474299,48.951690502706]],[[-54.84389458995365,49.00007580746364],[-54.85266363819837,48.95727456736824],[-54.8690015968467,48.96961959949179],[-54.86411663132144,49.002359419284026],[-54.84389458995365,49.00007580746364]],[[-54.500000221117226,48.97619358665718],[-54.499722533021284,48.95644072912339],[-54.53204874134215,48.88506584405799],[-54.572691717881675,48.907004603784294],[-54.60553491392778,48.93713569630158],[-54.633127718452606,48.9509029995876],[-54.661557994780544,48.9538543910542],[-54.6838401846249,48.94673480332154],[-54.717717007907325,48.944634626730014],[-54.719007115086754,48.96701932629402],[-54.70428720954498,48.972110605825485],[-54.62311244802861,49.0072663980279],[-54.59970380798493,49.006602311233905],[-54.55191102691212,48.99358960845308],[-54.500000221117226,48.97619358665718]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.90865214173213,\"lat\":48.766359950651044},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1006\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"1006008\"],\"csd_name_en\":[\"Division No.  6\",\"Subd. E\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Division No.  6, Subd. E\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-60.23286273175632,55.44916534724278],[-60.22051352384295,55.44584036677049],[-60.19496618604095,55.458572041774254],[-60.212335724996706,55.468652275565866],[-60.22942917372412,55.46251926009336],[-60.23286273175632,55.44916534724278]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-60.216444647998664,\"lat\":55.45721948372461},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1011\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"1011030\"],\"csd_name_en\":[\"Hopedale\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Hopedale\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.596314387629356,46.34564999618616],[-62.631532266376084,46.4293845617041],[-62.64573191392687,46.42765168231449],[-62.68699765857164,46.43182461564748],[-62.73169293564097,46.44339461442393],[-62.732356298510254,46.45274206297314],[-62.80277543402778,46.43921020559206],[-62.834749385360695,46.438233405221524],[-62.83204143629123,46.42178284563349],[-62.77595094809696,46.386497480541294],[-62.76322790390472,46.37240063541687],[-62.752618183438294,46.348418918650154],[-62.765307905988344,46.34185255954153],[-62.75157750171622,46.30597675673117],[-62.74215156740358,46.29720351413874],[-62.71721846877556,46.30264444614693],[-62.70564251128415,46.30916283687129],[-62.68199959015105,46.31335656519462],[-62.67341381947568,46.33142289229706],[-62.596314387629356,46.34564999618616]],[[-62.71618528811641,46.358646790531274],[-62.712535891433625,46.362984600769074],[-62.69864830543429,46.35785314300203],[-62.69969438392738,46.35266272487021],[-62.71618528811641,46.358646790531274]],[[-62.712891066567416,46.41672076953232],[-62.70090826710624,46.42251980126447],[-62.697880848271964,46.40973368664951],[-62.709729459146516,46.40704843196457],[-62.712891066567416,46.41672076953232]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.70888956699124,\"lat\":46.382173746644796},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1101\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1101043\"],\"csd_name_en\":[\"Morell\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Fire District\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Morell\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.38861668720608,46.22674821474393],[-62.42301940137784,46.25756085018016],[-62.4408782543271,46.25729352627282],[-62.47167059562378,46.27152909410353],[-62.49110284179163,46.27085312468442],[-62.5500412928843,46.25805320409125],[-62.56382122474851,46.275372881418306],[-62.57920183870342,46.30261362435883],[-62.586468407544075,46.29870491810441],[-62.62515851924384,46.283819229914776],[-62.620732955170645,46.259856996687894],[-62.65720211459861,46.26709804407487],[-62.66941392795845,46.284494797110575],[-62.702690236708584,46.299344169938834],[-62.71721846877556,46.30264444614693],[-62.74215156740358,46.29720351413874],[-62.74294729034066,46.28429039074182],[-62.76946133993629,46.27894167908204],[-62.77594704724455,46.277678864204354],[-62.755507066692026,46.22421229094457],[-62.760959875004666,46.2104672813495],[-62.75652959878886,46.199354190325494],[-62.76274672253688,46.18913871851995],[-62.78465093813081,46.18479033196931],[-62.7776553443331,46.16788128243256],[-62.78906499154101,46.160130801355955],[-62.807926784508915,46.156681299009435],[-62.796852117571106,46.14507949600016],[-62.77913760200775,46.14913390469886],[-62.741134292895225,46.11204425161356],[-62.72707308525699,46.108527906165854],[-62.714371341562334,46.07723842351761],[-62.713354699772886,46.0747274864245],[-62.57694618617458,46.100132057977426],[-62.55005056570043,46.107412183272054],[-62.542181474835594,46.11367388498386],[-62.510811075251965,46.09073881142996],[-62.47579561003764,46.10069314529456],[-62.446514027477804,46.09358083522456],[-62.355968440395465,46.11367871062725],[-62.300388348200315,46.18954638511379],[-62.38861668720608,46.22674821474393]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.56831123352522,\"lat\":46.18443985985154},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1101\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1101045\"],\"csd_name_en\":[\"Three Rivers\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Three Rivers\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.71618528811641,46.358646790531274],[-62.69969438392738,46.35266272487021],[-62.69864830543429,46.35785314300203],[-62.712535891433625,46.362984600769074],[-62.71618528811641,46.358646790531274]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.706821460241095,\"lat\":46.35797809341209},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1101\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1101050\"],\"csd_name_en\":[\"Morell 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Morell 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.892757593453965,46.60455317162851],[-63.92073791340628,46.62376123254743],[-63.96188055678529,46.61648902261743],[-63.962382994119636,46.63413969292617],[-63.96881285029698,46.649820098233015],[-64.00504751023662,46.64274829344875],[-64.0244226890452,46.652453238251226],[-64.0253362925894,46.67216836018152],[-64.05581429722801,46.66566756962133],[-64.06594030278453,46.68809956324532],[-64.07651831681018,46.64477762971358],[-64.07113380481412,46.63224967270566],[-64.0837075512411,46.62693037560969],[-64.10091719601421,46.587150181234335],[-64.11306590885654,46.578304858110165],[-64.10340635816853,46.56590253770369],[-64.11726388732019,46.5296589920773],[-64.10754537457184,46.526272012275285],[-64.07973400279067,46.52844100904847],[-64.05423135745667,46.51239552955416],[-64.00846530880142,46.52065096981832],[-63.997659107287035,46.53210309416822],[-64.00027979097052,46.543656456188714],[-63.98189663108484,46.55334789050504],[-63.974075081275046,46.567826153781596],[-63.980439381600185,46.584632838229545],[-63.913217066346,46.59709581632047],[-63.899629481100774,46.59129587515083],[-63.892757593453965,46.60455317162851]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.02763749563839,\"lat\":46.590858363248394},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1103\"],\"cd_name_en\":[\"Prince\"],\"csd_code\":[\"1103043\"],\"csd_name_en\":[\"Central Prince\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Prince\",\"csd_name_fr\":\"Central Prince\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.06515281333944,44.853326191960235],[-65.08088909495515,44.86203028939124],[-65.091092682338,44.87858554306581],[-65.10741391407542,44.88544299148721],[-65.13423230727827,44.92524510867739],[-65.16583699783662,44.95253170617896],[-65.20578121878567,45.014229878935794],[-65.36046763446039,44.94064828220105],[-65.41586705141886,44.9135481751989],[-65.39481743957815,44.88440329887498],[-65.39207994547773,44.87539347930818],[-65.35610319118433,44.82086159212451],[-65.34367387874589,44.808948430728606],[-65.31828408845736,44.7981446060597],[-65.29775270586555,44.78078329014414],[-65.28692819851949,44.75004408950079],[-65.24199888669028,44.77013747366402],[-65.24028070172136,44.76081638844535],[-65.20494519831146,44.758609493431116],[-65.08145617794574,44.82987201384474],[-65.08558421150695,44.83983210111391],[-65.06515281333944,44.853326191960235]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.2414236505002,\"lat\":44.87535091656609},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1205\"],\"cd_name_en\":[\"Annapolis\"],\"csd_code\":[\"1205009\"],\"csd_name_en\":[\"Annapolis\",\"Subd. B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of county municipality \\/ Subdivision municipalit\\u00e9 de comt\\u00e9\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Annapolis\",\"csd_name_fr\":\"Annapolis, Subd. B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.67458054801938,44.735485533272104],[-64.77323753855983,44.663584573347414],[-64.94501319357629,44.53710476538981],[-64.90316377425366,44.50016679595962],[-64.85450554439066,44.45945919718074],[-64.86333976327079,44.42424780690384],[-64.8736377712705,44.41791563876178],[-64.7829625895154,44.34083465677866],[-64.70335470570441,44.27171427813595],[-64.62205156688319,44.20280539571084],[-64.60900036999323,44.19395671313248],[-64.56533366160812,44.15666766677994],[-64.53098477993377,44.13506135933783],[-64.52573794407806,44.13760474574287],[-64.45950533595824,44.089085391755596],[-64.30908233932537,44.17166030735786],[-64.23271958473345,44.25119920925246],[-64.03268239374519,44.388156527904464],[-64.08121327488617,44.452477462572645],[-64.12591814606593,44.4804259388149],[-64.16215976218552,44.480269328079444],[-64.27842055401467,44.45687167773424],[-64.340443017244,44.49016684011938],[-64.35281887632601,44.49978704511815],[-64.55388807032014,44.63040018459056],[-64.59397207354105,44.646921662586],[-64.60581896998143,44.66450318983586],[-64.60936343872906,44.685618305584704],[-64.62818571708262,44.70515866095205],[-64.67458054801938,44.735485533272104]],[[-64.3808636488409,44.46151527030844],[-64.37438087718448,44.436234664609024],[-64.39713968685932,44.44856260533884],[-64.3808636488409,44.46151527030844]],[[-64.30609435494951,44.38195269017622],[-64.31878749126321,44.36508084318968],[-64.3343756434614,44.37499969705849],[-64.33446722376388,44.38627630704774],[-64.30609435494951,44.38195269017622]],[[-64.51865290980838,44.397144516312224],[-64.48883936301081,44.379223710643494],[-64.51650871571965,44.35767667995727],[-64.56492106103816,44.392851313981225],[-64.54758779017416,44.40562186720004],[-64.52932253047653,44.38975649500292],[-64.51865290980838,44.397144516312224]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.5178713487669,\"lat\":44.40541529134483},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1206\"],\"cd_name_en\":[\"Lunenburg\"],\"csd_code\":[\"1206001\"],\"csd_name_en\":[\"Lunenburg\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Lunenburg\",\"csd_name_fr\":\"Lunenburg\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.51865290980838,44.397144516312224],[-64.52932253047653,44.38975649500292],[-64.54758779017416,44.40562186720004],[-64.56492106103816,44.392851313981225],[-64.51650871571965,44.35767667995727],[-64.48883936301081,44.379223710643494],[-64.51865290980838,44.397144516312224]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.52612311762817,\"lat\":44.382097694933265},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1206\"],\"cd_name_en\":[\"Lunenburg\"],\"csd_code\":[\"1206004\"],\"csd_name_en\":[\"Bridgewater\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Lunenburg\",\"csd_name_fr\":\"Bridgewater\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.28244465555793,45.32769632343766],[-63.28675350615309,45.336198258399875],[-63.304828630484124,45.33924065684864],[-63.31678746028772,45.32237744961205],[-63.28244465555793,45.32769632343766]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.29920869180639,\"lat\":45.33075849681078},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1210\"],\"cd_name_en\":[\"Colchester\"],\"csd_code\":[\"1210003\"],\"csd_name_en\":[\"Millbrook 27\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Colchester\",\"csd_name_fr\":\"Millbrook 27\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.95062668773055,45.44662973195632],[-63.008499067381074,45.486083429470675],[-63.14384226035895,45.73460657200372],[-63.18755433041852,45.809902694779524],[-63.29842520978699,45.7582574550452],[-63.346934553773,45.750211467184016],[-63.40402183889105,45.76102082029532],[-63.460013206354446,45.699052023324164],[-63.47374660715914,45.69704450085414],[-63.479990045262795,45.68416992083111],[-63.45244163475456,45.62924396157619],[-63.47848879344567,45.607915815379954],[-63.44579431033918,45.583577592410556],[-63.439398304742475,45.57101291079954],[-63.44385271236658,45.552138704152156],[-63.43841470315925,45.51694311005142],[-63.44377958630414,45.50926759450632],[-63.43870239431601,45.48905050006888],[-63.45256731286238,45.47386020773055],[-63.45809100805941,45.44129021435222],[-63.48102359474888,45.42495680924068],[-63.48059922133799,45.414813294249136],[-63.504534408934006,45.40060779227243],[-63.51221439251753,45.39142630492501],[-63.537024063574115,45.382061054404254],[-63.55624114840002,45.36075294246248],[-63.56447353238502,45.33904282962115],[-63.51318723815426,45.33939050905868],[-63.48947581400572,45.34448403136998],[-63.404656940759345,45.355221366202876],[-63.346882965378676,45.37151315960729],[-63.326467438568734,45.36930160137713],[-63.31434465172554,45.379441722826094],[-63.30364678260379,45.37619668050203],[-63.28053142201493,45.37635292064979],[-63.27745274359754,45.36870081979423],[-63.25815192355551,45.36952281126413],[-63.23018849067862,45.372173174914934],[-63.21279863815078,45.368843297932976],[-63.1619308670806,45.39969445456115],[-63.14070989621441,45.40143168681369],[-63.13087529507189,45.39649663465188],[-63.09447425635148,45.40593673105509],[-63.08796080394868,45.41352627830278],[-63.05160938254003,45.421526202959065],[-63.03220369635086,45.430478289975376],[-63.025263696744375,45.44744110915359],[-63.002452297766325,45.451090489019684],[-62.96542518607109,45.445287693559436],[-62.95062668773055,45.44662973195632]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.26949448501952,\"lat\":45.553878656137435},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1210\"],\"cd_name_en\":[\"Colchester\"],\"csd_code\":[\"1210008\"],\"csd_name_en\":[\"Colchester\",\"Subd. B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of county municipality \\/ Subdivision municipalit\\u00e9 de comt\\u00e9\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Colchester\",\"csd_name_fr\":\"Colchester, Subd. B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-61.52140195097564,45.08876358935373],[-61.58018262416681,45.10420665246148],[-61.681024816657136,45.13239607437561],[-61.72064416079685,45.14444577821045],[-61.82290026853165,45.18962380457189],[-61.9381874722614,45.222681950193326],[-61.927347304104444,45.24024133826012],[-62.01296572499019,45.26405722528306],[-61.987584342750374,45.30585061236031],[-61.961481063446115,45.291648946816395],[-61.94641889470118,45.29958537108114],[-61.90597234012997,45.30217492855398],[-61.906009174778546,45.35861745502687],[-61.911493777852485,45.373097290418414],[-61.92570190119971,45.38983639974672],[-61.94382363123993,45.39976923159735],[-62.09143867116106,45.38366021921527],[-62.19850231265584,45.36669516940948],[-62.320433286974946,45.34854099314121],[-62.42014299328809,45.33240363296731],[-62.63852679885327,45.29891918533725],[-62.648501940763964,45.29089254974499],[-62.677079041496945,45.2908271993889],[-62.71454585538158,45.276067166876715],[-62.71410969835632,45.27587224189204],[-62.65844503943605,45.24985614659213],[-62.56126960641933,45.19501941278728],[-62.46152970056534,45.14178919814047],[-62.38452230534533,45.095939899499335],[-62.35001476995395,45.08833964254322],[-62.334694325209284,45.073059509143214],[-62.19515429382952,44.99747693507391],[-62.1761617511872,44.98842909903653],[-62.166692609818725,44.97820227040314],[-62.14707106063443,44.946294002993135],[-62.073180167717894,44.87948809788418],[-61.997543880694266,44.91400569546162],[-61.99612061890073,44.97592480196337],[-61.91276894244313,44.97553284842149],[-61.780851683298245,45.00871247847688],[-61.56260879705444,45.061157099417166],[-61.52140195097564,45.08876358935373]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.12100300327299,\"lat\":45.16625214357067},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1213\"],\"cd_name_en\":[\"Guysborough\"],\"csd_code\":[\"1213001\"],\"csd_name_en\":[\"St. Mary's\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Guysborough\",\"csd_name_fr\":\"St. Mary's\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-60.8099917967541,45.850147778629854],[-60.92797695962196,45.8916185059413],[-60.960526104306346,45.90131992492848],[-60.985301681678045,45.91849140119223],[-60.989160010847826,45.95104891706621],[-60.995944966893,45.974335449857556],[-61.05578782191099,45.96075488309586],[-61.095230109359065,45.95349988929405],[-61.116600781261724,45.94422161774132],[-61.1552314887557,45.94133840586632],[-61.19370070233662,45.95480138749878],[-61.22681111825423,45.95693569174051],[-61.247008152716184,45.94671456343323],[-61.2585782191153,45.95258029274435],[-61.27194099518549,45.96885720600901],[-61.2930539901827,45.950487704933764],[-61.317486911712,45.954003003584],[-61.336352303074,45.94797528594085],[-61.3500611155582,45.953285503846956],[-61.37255640425153,45.95438310289482],[-61.40126321486104,45.93799070534704],[-61.41274652141718,45.9368293808646],[-61.44181216298024,45.950696526757206],[-61.47738674785059,45.946646456974904],[-61.49989359708427,45.93898619321516],[-61.528708705575895,45.94069223111471],[-61.60818367631807,45.92602982981677],[-61.568706926792714,45.86457901341985],[-61.53468572762491,45.81294588223614],[-61.488204878720566,45.73917025664207],[-61.470331584745985,45.70272798207393],[-61.45277778916805,45.67385136191518],[-61.432069556920894,45.65020563909598],[-61.39183694738507,45.63309180234084],[-61.38058337735798,45.61145915572103],[-61.353687291853035,45.60688299561521],[-61.36829482033381,45.614199783790156],[-61.37792635488265,45.631742458655275],[-61.357611988139844,45.642484193749816],[-61.326962814418565,45.61626026725632],[-61.289856457405065,45.640543396585414],[-61.253488915361274,45.66160408384728],[-61.15572540571135,45.715102434297336],[-61.06816299522795,45.74849897421509],[-61.03187045053376,45.77105193420895],[-61.00166708191817,45.78686680328467],[-60.96106788791745,45.79822561242666],[-60.9099080449175,45.80813111630433],[-60.87703847140561,45.82035781919746],[-60.8099917967541,45.850147778629854]],[[-60.96516410447449,45.90122629641221],[-60.95715339352998,45.874776687637485],[-60.977954291022776,45.87852690257227],[-60.98232859203309,45.88922279962789],[-60.99557338580495,45.89749720129441],[-60.98106819491417,45.90424500250343],[-60.96516410447449,45.90122629641221]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-61.255634608034846,\"lat\":45.82309163480435},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1215\"],\"cd_name_en\":[\"Inverness\"],\"csd_code\":[\"1215001\"],\"csd_name_en\":[\"Inverness\",\"Subd. C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of county municipality \\/ Subdivision municipalit\\u00e9 de comt\\u00e9\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Inverness\",\"csd_name_fr\":\"Inverness, Subd. C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.63062046195132,45.26919319442784],[-65.50072972082785,45.28967197700716],[-65.37763993919802,45.3620565889733],[-65.22964623883539,45.47711816077503],[-65.07681487219597,45.51328974659483],[-65.11935466660965,45.61508978811409],[-65.2986903084524,45.5591563876059],[-65.4168510790968,45.523620683899736],[-65.55109337431061,45.484569974406554],[-65.75074707700261,45.42655701919811],[-65.69007033076568,45.34540690992845],[-65.63062046195132,45.26919319442784]],[[-65.5327028904904,45.362231288818975],[-65.53887942665203,45.34906804521175],[-65.5605860022521,45.34889099628821],[-65.5327028904904,45.362231288818975]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.43305147714047,\"lat\":45.43761162311123},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1301\"],\"cd_name_en\":[\"Saint John\"],\"csd_code\":[\"1301001\"],\"csd_name_en\":[\"Saint Martins\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Saint John\",\"csd_name_fr\":\"Saint Martins\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.81367315059676,45.03703784639667],[-66.77794687089579,45.04077638122523],[-66.75940038735722,45.048639882127745],[-66.77128616581808,45.081145675286045],[-66.79087311153388,45.078507637270825],[-66.8222586383951,45.05306868559306],[-66.81367315059676,45.03703784639667]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.7893112747719,\"lat\":45.05702149666749},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1302\"],\"cd_name_en\":[\"Charlotte\"],\"csd_code\":[\"1302012\"],\"csd_name_en\":[\"Blacks Harbour\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Charlotte\",\"csd_name_fr\":\"Blacks Harbour\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.48901059899543,45.82175795791644],[-66.48116278243599,45.830309868855046],[-66.46346203191678,45.822609068326294],[-66.457339000972,45.82967699967504],[-66.4399703139667,45.82707228827607],[-66.44074984345616,45.85854483464595],[-66.46162963021754,45.856433485724565],[-66.46773371141613,45.85528868770932],[-66.47514717698171,45.85496633712672],[-66.50139669560706,45.856396111525115],[-66.51609318801715,45.848880598803966],[-66.53459858663422,45.831091698850315],[-66.52959308583704,45.82543730235749],[-66.49796362895316,45.81135341048406],[-66.4922821454995,45.81799194459367],[-66.48901059899543,45.82175795791644]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.4848593214439,\"lat\":45.83811837074004},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1303\"],\"cd_name_en\":[\"Sunbury\"],\"csd_code\":[\"1303012\"],\"csd_name_en\":[\"Oromocto\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town \\/ Ville\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Sunbury\",\"csd_name_fr\":\"Oromocto\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.76758073456176,46.27287125135475],[-64.50647723481774,46.280418903335196],[-64.50944242608428,46.41350727610337],[-64.58286878674996,46.36512895185395],[-64.60614545891843,46.33320324447074],[-64.601762579228,46.30231963635495],[-64.6144038359148,46.29587425131401],[-64.63900371858138,46.295033452132564],[-64.6595829133529,46.28144058343164],[-64.66819097769226,46.286367955122564],[-64.65496996749391,46.312812066474756],[-64.65794316225397,46.32442507200694],[-64.68928912657358,46.32040329027913],[-64.68475148137013,46.33087341288463],[-64.68737775106423,46.35555135608074],[-64.66360406338308,46.357165271860225],[-64.66453183064662,46.40148677242133],[-64.66143725124063,46.403378066877934],[-64.73590262924168,46.36459338596126],[-64.75435269135085,46.35477411728514],[-64.78521700129026,46.33866087929914],[-64.78101843994534,46.333392980420975],[-64.87921714208555,46.29386582285588],[-64.85954024519681,46.2707407147699],[-64.76758073456176,46.27287125135475]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.66622685886449,\"lat\":46.320812797792016},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1308\"],\"cd_name_en\":[\"Kent\"],\"csd_code\":[\"1308001\"],\"csd_name_en\":[\"Dundas\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kent\",\"csd_name_fr\":\"Dundas\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.96249874403406,46.731500463346634],[-64.97046213529016,46.7447931854123],[-64.98228682655348,46.740970719031864],[-64.9727848894606,46.72480781800091],[-64.96249874403406,46.731500463346634]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.97217551681237,\"lat\":46.7354203247291},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1308\"],\"cd_name_en\":[\"Kent\"],\"csd_code\":[\"1308022\"],\"csd_name_en\":[\"Saint-Louis de Kent\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kent\",\"csd_name_fr\":\"Saint-Louis de Kent\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.58875201960798,46.96956281573516],[-65.60593347273772,46.969036232090936],[-65.60421153233698,46.96558164810775],[-65.6308130494928,46.95934242659901],[-65.65288588741089,46.96183365438407],[-65.68265237463532,46.95702725805039],[-65.7050734985833,46.96580706727146],[-65.75405330262276,46.953824429787026],[-65.79068933170039,46.933766547566485],[-65.82365306623936,46.94372871563059],[-65.8540729088163,46.95492884210663],[-66.01760370436,47.0060381004948],[-66.25435449712676,47.08107025184518],[-66.30282690971487,47.097247826261544],[-66.52414746647467,47.166253315119334],[-66.63959973754665,47.200536917367586],[-66.75724304093053,47.23690038537258],[-67.01615635202526,47.31502649791533],[-66.9434956909001,47.21318253256622],[-66.86266486479515,47.09630114956048],[-66.79594395766063,47.00355059910578],[-66.76162714956325,46.95270449822666],[-66.744648449152,46.92735566730413],[-66.68408459405121,46.83640562423265],[-66.62423195704218,46.73555525641978],[-66.29710150324877,46.807633915924704],[-66.01267435304585,46.87021322812314],[-65.8801792776516,46.89993835923427],[-65.81826046892938,46.8481265956649],[-65.75203409289414,46.87250358575211],[-65.73399346642829,46.88501642511241],[-65.7079412543345,46.88624725192015],[-65.66540160119422,46.9179597236574],[-65.63893562467821,46.92751263908272],[-65.6276387851367,46.953747596964924],[-65.6124361666628,46.95103786429233],[-65.58875201960798,46.96956281573516]],[[-65.9322156590363,46.91813538387741],[-65.9256932920817,46.921346491435834],[-65.84833446353133,46.94044860115411],[-65.8386441403333,46.923116177272384],[-65.85936864022248,46.9160717407529],[-65.92547499404039,46.90194909541482],[-65.9322156590363,46.91813538387741]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.43320733662058,\"lat\":46.9900255285448},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1309\"],\"cd_name_en\":[\"Northumberland\"],\"csd_code\":[\"1309026\"],\"csd_name_en\":[\"Southesk\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Northumberland\",\"csd_name_fr\":\"Southesk\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.10571230503001,46.3850935906148],[-66.1741192146752,46.534411425094206],[-66.17873330507615,46.546389212189],[-66.29710150324877,46.807633915924704],[-66.62423195704218,46.73555525641978],[-66.49826635873339,46.52086620751418],[-66.51503149304887,46.51555378710299],[-66.54928350968936,46.55950290163341],[-66.57010161330825,46.56267520331901],[-66.57239861512589,46.575008793255236],[-66.58627568942585,46.59273779267024],[-66.64767218690129,46.60017930931242],[-66.66370938676735,46.594621805661184],[-66.68938049736984,46.60063929667539],[-66.69150339008317,46.58741368371446],[-66.73429090789374,46.578298505621326],[-66.7476391927626,46.58250219158714],[-66.77046832146281,46.58154749392158],[-66.77950459077276,46.573376502234176],[-66.80241869065416,46.56960429590528],[-66.8152535150735,46.57504820092336],[-66.83212320087645,46.556133108572574],[-66.85308648675237,46.55300568935948],[-66.85592589416648,46.541675785667024],[-66.8721382076752,46.54177200788447],[-66.88739291246654,46.52791908889354],[-66.90652378750772,46.528923327904856],[-66.85544164007848,46.41638640577083],[-66.8337991176066,46.420435393891815],[-66.79678999394697,46.439688489618014],[-66.75555170869781,46.45538980967866],[-66.7261168812707,46.4523995045628],[-66.71029078733407,46.43888284989567],[-66.69131657944284,46.43694127002588],[-66.67748154695597,46.42528446346672],[-66.65293812128512,46.420811611309084],[-66.63046898454695,46.411776266700535],[-66.60541239356593,46.42553274826479],[-66.58036275272596,46.43168430237279],[-66.54589704150825,46.415905706761905],[-66.54669681298597,46.40611112091383],[-66.52656240525955,46.40519753228274],[-66.51785045438214,46.38865685934041],[-66.53679210541029,46.38350353745304],[-66.54759853733066,46.370265828473116],[-66.57894594392366,46.38310162407135],[-66.5981692958092,46.348790065993036],[-66.5693130251814,46.34036928809214],[-66.58421689268614,46.315388868455074],[-66.50983720890275,46.29401603511587],[-66.20096874113679,46.354649223196105],[-66.16451905901549,46.396486057291064],[-66.10571230503001,46.3850935906148]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.45268991308501,\"lat\":46.532253415695976},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1309\"],\"cd_name_en\":[\"Northumberland\"],\"csd_code\":[\"1309027\"],\"csd_name_en\":[\"Upper Miramichi\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural community \\/ Communaut\\u00e9 rurale\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Northumberland\",\"csd_name_fr\":\"Upper Miramichi\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.7235478372484,46.30502641441791],[-66.74939140748741,46.30728612179311],[-66.7610377934096,46.28943908948795],[-66.76173410414937,46.27610227042533],[-66.75341374265182,46.26220310760532],[-66.7367398943678,46.260676310750426],[-66.69057845643131,46.277555876182475],[-66.7235478372484,46.30502641441791]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.73255099510655,\"lat\":46.28341523003411},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1310\"],\"cd_name_en\":[\"York\"],\"csd_code\":[\"1310037\"],\"csd_name_en\":[\"Stanley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"York\",\"csd_name_fr\":\"Stanley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.51115256168417,46.284229469573695],[-67.4710449921455,46.29403800743705],[-67.49202409709397,46.313208910919734],[-67.53332248492882,46.30600858130822],[-67.53006024286469,46.296352636879966],[-67.51115256168417,46.284229469573695]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.50370427546208,\"lat\":46.29899315804743},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1311\"],\"cd_name_en\":[\"Carleton\"],\"csd_code\":[\"1311012\"],\"csd_name_en\":[\"Hartland\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town \\/ Ville\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Carleton\",\"csd_name_fr\":\"Hartland\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.42397001980164,46.43592899827331],[-67.46771088634831,46.43559193673187],[-67.47740779701792,46.45289107809366],[-67.5467920112378,46.45360300388593],[-67.60429173350654,46.45305610782057],[-67.60510727204192,46.438551768527844],[-67.61366124446863,46.41693950527598],[-67.5994179639299,46.39283778127118],[-67.56695810198832,46.378483068634964],[-67.55299215716829,46.34020368435375],[-67.48155619939142,46.35437054708095],[-67.45763699882492,46.39297799682558],[-67.46515379956399,46.40577919628146],[-67.45149828195223,46.41081510725625],[-67.44661789841196,46.42744338870208],[-67.42397001980164,46.43592899827331]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.5284777823174,\"lat\":46.40617187715754},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1311\"],\"cd_name_en\":[\"Carleton\"],\"csd_code\":[\"1311024\"],\"csd_name_en\":[\"Peel\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Carleton\",\"csd_name_fr\":\"Peel\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.7637089887396,47.596775584196536],[-64.82009324909606,47.623040694693806],[-64.85054040630533,47.62053910938438],[-64.85966181170386,47.630859310682496],[-64.88414667347736,47.620744736881],[-64.90325100080837,47.625025132541964],[-64.90925055011094,47.638242581811944],[-64.93680312122828,47.640747673556206],[-64.93479790942236,47.651160063113],[-65.0060838701849,47.6497699585806],[-65.02566398003626,47.64068642560162],[-65.05189460495914,47.63247964953274],[-65.03752406714412,47.61369998115703],[-65.02492889589047,47.61340024705933],[-65.01860071230396,47.60048260917578],[-65.00466854705944,47.599682761832085],[-64.99633635443286,47.57977533306379],[-64.98485657339309,47.55570283809007],[-65.01794591573217,47.54819507822503],[-65.00363189501373,47.51740162668681],[-65.02061190563087,47.514818702226506],[-65.03337131710249,47.492965701544215],[-65.06029229108535,47.48350720784252],[-65.08700900441796,47.48648968652095],[-65.1189666008553,47.481702610795026],[-65.128233843691,47.483812529053125],[-65.17873639737509,47.47216492868381],[-65.33412008650106,47.43602223769898],[-65.29357998700036,47.35396839177809],[-65.04127239977934,47.41251001742799],[-65.02615203640822,47.38068811066536],[-65.00760734319918,47.37083650224019],[-65.01118589454123,47.35926687275775],[-64.99111128702367,47.356640381678055],[-64.97140430845519,47.36085320487551],[-64.9515589996102,47.35886177180571],[-64.91676061430753,47.38055760266003],[-64.85086687249466,47.37839191626794],[-64.83283529693273,47.45967510034426],[-64.82100755758229,47.46270286311726],[-64.82294058383887,47.491694991913064],[-64.83080456715422,47.500789222491946],[-64.7637089887396,47.596775584196536]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.00191885108777,\"lat\":47.48347664983848},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1315\"],\"cd_name_en\":[\"Gloucester\"],\"csd_code\":[\"1315002\"],\"csd_name_en\":[\"Tracadie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional Municipality \\/ Municipalit\\u00e9 r\\u00e9gionale\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Gloucester\",\"csd_name_fr\":\"Tracadie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.99633635443286,47.57977533306379],[-65.00466854705944,47.599682761832085],[-65.01860071230396,47.60048260917578],[-65.02492889589047,47.61340024705933],[-65.03752406714412,47.61369998115703],[-65.05189460495914,47.63247964953274],[-65.14390753876378,47.61132404055167],[-65.13805499814664,47.598815429550164],[-65.19857513673576,47.5851626807078],[-65.1899410796653,47.56758868821167],[-65.1743271512317,47.53721614820888],[-65.20758666591301,47.52936991103411],[-65.17873639737509,47.47216492868381],[-65.128233843691,47.483812529053125],[-65.1189666008553,47.481702610795026],[-65.08700900441796,47.48648968652095],[-65.06029229108535,47.48350720784252],[-65.03337131710249,47.492965701544215],[-65.02061190563087,47.514818702226506],[-65.00363189501373,47.51740162668681],[-65.01794591573217,47.54819507822503],[-65.08923320207653,47.53178695604214],[-65.10094276653724,47.554615649051854],[-64.99633635443286,47.57977533306379]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.10480957666461,\"lat\":47.54910083331917},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1315\"],\"cd_name_en\":[\"Gloucester\"],\"csd_code\":[\"1315021\"],\"csd_name_en\":[\"Saint-Isidore\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Gloucester\",\"csd_name_fr\":\"Saint-Isidore\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.69032038586624,48.32550166206514],[-67.69424638984566,48.32281296817341],[-67.75503973256943,48.362753085226096],[-67.80772240230414,48.375338088601524],[-67.79214073552565,48.38721550784568],[-67.81885440501581,48.404988590583585],[-67.85867288792693,48.37910570333662],[-67.91581437123288,48.37037697453594],[-67.9424368894807,48.36234121080353],[-67.8306812679664,48.286555672531776],[-67.68624705751591,48.190950018822235],[-67.64499228594808,48.16438911912507],[-67.63117953276489,48.17460142818988],[-67.61921230013827,48.194764903899866],[-67.61781145856955,48.20707541795105],[-67.64573109013361,48.253542704047916],[-67.69032038586624,48.32550166206514]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.75947657098942,\"lat\":48.29419364839512},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2409\"],\"cd_name_en\":[\"La Mitis\"],\"csd_code\":[\"2409904\"],\"csd_name_en\":[\"Lac-\\u00e0-la-Croix\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Mitis\",\"csd_name_fr\":\"Lac-\\u00e0-la-Croix\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.69849476646637,47.382942805599505],[-68.5831845279988,47.42240119815121],[-68.57234270822691,47.425712171581985],[-68.71638915262776,47.49454782002349],[-68.73305678306531,47.48232530821184],[-68.71070102995154,47.468032493514436],[-68.80121205780819,47.403774547682254],[-68.74503135309729,47.36749093930022],[-68.73534934272296,47.370753318380665],[-68.69849476646637,47.382942805599505]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.69580864392348,\"lat\":47.42520306950526},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2413\"],\"cd_name_en\":[\"T\\u00e9miscouata\"],\"csd_code\":[\"2413010\"],\"csd_name_en\":[\"Saint-Jean-de-la-Lande\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscouata\",\"csd_name_fr\":\"Saint-Jean-de-la-Lande\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.97874253129243,47.58975040449157],[-69.0245590721849,47.62057783261498],[-69.03633025637023,47.630826051424144],[-69.07111599365359,47.651714600655374],[-69.167331731151,47.58774738183698],[-69.13590289928844,47.56603469301445],[-69.15131990424071,47.55597749537995],[-69.12825452669814,47.54038109535681],[-69.1435761132364,47.529380416668815],[-69.07746086872491,47.48419004659604],[-69.01849965028703,47.52518322886384],[-68.9733673040204,47.556341009921915],[-68.9990702816944,47.57351574909919],[-68.97874253129243,47.58975040449157]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.07029751266359,\"lat\":47.569241721015096},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2413\"],\"cd_name_en\":[\"T\\u00e9miscouata\"],\"csd_code\":[\"2413085\"],\"csd_name_en\":[\"Saint-Elz\\u00e9ar-de-T\\u00e9miscouata\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscouata\",\"csd_name_fr\":\"Saint-Elz\\u00e9ar-de-T\\u00e9miscouata\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.91268710711736,46.92730353272349],[-69.85243739494368,46.97143182179106],[-69.88314726136004,46.99115018343935],[-69.87059301647714,47.00017655357908],[-69.90192829054673,47.01979441367827],[-69.94264118588087,46.991048779669626],[-69.97424215255843,47.010949968624],[-70.03966096279731,46.96569144844289],[-69.95283144130974,46.90884891656284],[-69.94568674360508,46.90429804073424],[-69.91268710711736,46.92730353272349]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.94343487666359,\"lat\":46.96497141870067},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2417\"],\"cd_name_en\":[\"L'Islet\"],\"csd_code\":[\"2417025\"],\"csd_name_en\":[\"Sainte-F\\u00e9licit\\u00e9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"L'Islet\",\"csd_name_fr\":\"Sainte-F\\u00e9licit\\u00e9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.32419647101156,46.657879180650106],[-70.4448932985663,46.741545035899144],[-70.4777602237439,46.719050558911995],[-70.5009299517678,46.70317516865016],[-70.51973728122799,46.70148821710672],[-70.527726526484,46.684905467379764],[-70.55736521149075,46.66473394027223],[-70.54273217002721,46.654608030952865],[-70.50684850320222,46.67889191043761],[-70.45976966431911,46.64801722296469],[-70.49646419152113,46.62367807467275],[-70.4949529915914,46.610617528236034],[-70.44520554688386,46.575869854553964],[-70.32419647101156,46.657879180650106]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.43435032579552,\"lat\":46.66084190307985},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2419\"],\"cd_name_en\":[\"Bellechasse\"],\"csd_code\":[\"2419005\"],\"csd_name_en\":[\"Saint-Phil\\u00e9mon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Bellechasse\",\"csd_name_fr\":\"Saint-Phil\\u00e9mon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.92805174483998,46.665824922629646],[-70.97201032775318,46.68272341701995],[-71.00144963664137,46.66600741897004],[-71.06032630148441,46.62386375965422],[-71.05458472043314,46.613416838825195],[-71.03919015273735,46.6084769923912],[-71.04199751127459,46.59032259929603],[-71.0192016506157,46.5869005106245],[-70.98247681971334,46.58585299489939],[-70.96096421177609,46.59367496951758],[-70.91327863733898,46.61277601423138],[-70.93028348488706,46.631731891576464],[-70.94360203035995,46.63344545139515],[-70.91249376735873,46.65367276563106],[-70.92805174483998,46.665824922629646]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.98327140055169,\"lat\":46.62962670975097},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2419\"],\"cd_name_en\":[\"Bellechasse\"],\"csd_code\":[\"2419062\"],\"csd_name_en\":[\"Saint-Anselme\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Bellechasse\",\"csd_name_fr\":\"Saint-Anselme\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.57117165337857,46.87897858327696],[-71.60796257890422,46.907832913518185],[-71.61709912562122,46.9074796604694],[-71.63075055976961,46.90242167604344],[-71.62319189823985,46.89225395903794],[-71.62643867431999,46.88175007624362],[-71.63964468616457,46.875519192534746],[-71.62285934088386,46.86239671202008],[-71.60432227028727,46.86538471294411],[-71.57117165337857,46.87897858327696]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.60782395729687,\"lat\":46.88380169187989},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2422\"],\"cd_name_en\":[\"La Jacques-Cartier\"],\"csd_code\":[\"2422010\"],\"csd_name_en\":[\"Fossambault-sur-le-Lac\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Jacques-Cartier\",\"csd_name_fr\":\"Fossambault-sur-le-Lac\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.17139234857821,46.54921416920688],[-71.1607846137574,46.5603841844776],[-71.17911664220124,46.565296249719495],[-71.18869563390986,46.58121419242101],[-71.11919407895911,46.63004361216751],[-71.15201152061995,46.65238118711948],[-71.214769353813,46.60764383263605],[-71.21697374019135,46.63352150266072],[-71.22460940512848,46.651387227955034],[-71.26634790057102,46.61787133234676],[-71.3312495528762,46.572174313568794],[-71.2683855732802,46.52872508689606],[-71.24283942641442,46.546811584379306],[-71.23144724627332,46.52977917634103],[-71.21527623538213,46.5408603848492],[-71.1925967774305,46.53575263675016],[-71.17139234857821,46.54921416920688]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.22750558241368,\"lat\":46.587198877258004},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2426\"],\"cd_name_en\":[\"La Nouvelle-Beauce\"],\"csd_code\":[\"2426070\"],\"csd_name_en\":[\"Saint-Lambert-de-Lauzon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Nouvelle-Beauce\",\"csd_name_fr\":\"Saint-Lambert-de-Lauzon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.23597249601126,46.41385395218664],[-70.32108549695685,46.471151857253616],[-70.35888289341975,46.44549290597665],[-70.3918150175676,46.46404347959382],[-70.40534164565906,46.45525744443501],[-70.42575469613986,46.44089554227957],[-70.4148028045833,46.428853902742965],[-70.43073030154483,46.413201845765464],[-70.41749312023167,46.40453280651057],[-70.42794779494028,46.39710071663286],[-70.40131305678794,46.37769309866266],[-70.41226671928884,46.369984057754486],[-70.37538921325982,46.34504141722529],[-70.35302962055209,46.36123941556033],[-70.33229866875935,46.34657210833403],[-70.23597249601126,46.41385395218664]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.34286724393712,\"lat\":46.40885973904421},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2428\"],\"cd_name_en\":[\"Les Etchemins\"],\"csd_code\":[\"2428045\"],\"csd_name_en\":[\"Sainte-Justine\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Etchemins\",\"csd_name_fr\":\"Sainte-Justine\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.96938486781166,45.42763819745248],[-70.9980009012422,45.428329151065654],[-70.99580414000631,45.46085684730178],[-71.01365081160604,45.461749441989184],[-71.0134674745906,45.45564981081273],[-71.0830320557532,45.455817532775306],[-71.08270555388813,45.43882447656492],[-71.13233477157208,45.438679584178715],[-71.13163688590075,45.34330692439823],[-71.13146210317683,45.24671605829346],[-71.09756368165866,45.30183190626594],[-71.06501701350689,45.312638244158755],[-71.04059243774186,45.31295857847372],[-71.0088829408536,45.319248848856844],[-71.01038287445115,45.34748744143374],[-70.97990185849325,45.33193896043911],[-70.9688106105074,45.33238031493916],[-70.97158978947917,45.41058240931343],[-70.96938486781166,45.42763819745248]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.05808862795207,\"lat\":45.37696496720639},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2430\"],\"cd_name_en\":[\"Le Granit\"],\"csd_code\":[\"2430010\"],\"csd_name_en\":[\"Notre-Dame-des-Bois\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Granit\",\"csd_name_fr\":\"Notre-Dame-des-Bois\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.10680416382417,45.94609731485482],[-71.12984262905536,45.957379085403254],[-71.16222395769091,45.92484853086393],[-71.15731603205967,45.914890383872596],[-71.15857543566345,45.88642279860555],[-71.152535934763,45.87337585537884],[-71.1368358132187,45.8563560447248],[-71.14874731677843,45.84035421318969],[-71.04486842560064,45.787784248423335],[-70.99010743471304,45.83981399255886],[-71.03006813381742,45.859288005677364],[-71.018426071582,45.869869417023],[-71.09348887143275,45.907766451895334],[-71.07062231405406,45.92827257859344],[-71.10680416382417,45.94609731485482]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.08835644572534,\"lat\":45.86807823138939},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2430\"],\"cd_name_en\":[\"Le Granit\"],\"csd_code\":[\"2430095\"],\"csd_name_en\":[\"Lambton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Granit\",\"csd_name_fr\":\"Lambton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.6571073886242,46.246586591418904],[-71.65602926402457,46.24785669962357],[-71.74927131874504,46.31698893845566],[-71.80036808747592,46.28401540395912],[-71.80060197746951,46.27802385982304],[-71.86930441653311,46.253323234198355],[-71.86939367666731,46.22426596751895],[-71.82918906941426,46.238862849499704],[-71.80094399465258,46.219499691248004],[-71.7989568530196,46.14809584294396],[-71.73370089596185,46.174159960340326],[-71.68020677063842,46.22434028705334],[-71.6571073886242,46.246586591418904]],[[-71.76377468622246,46.22447154572362],[-71.75638944517517,46.21914619616766],[-71.77504906114244,46.20709560262869],[-71.7923766274989,46.22037826415224],[-71.77906061865362,46.229698775365584],[-71.76377468622246,46.22447154572362]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.75765127887152,\"lat\":46.238115181673976},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2432\"],\"cd_name_en\":[\"L'\\u00c9rable\"],\"csd_code\":[\"2432045\"],\"csd_name_en\":[\"Plessisville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"L'\\u00c9rable\",\"csd_name_fr\":\"Plessisville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.788457573409,46.38451297345696],[-71.85750973453541,46.43378818394238],[-71.88115693814585,46.45075228096689],[-71.97459973867927,46.3867264440839],[-71.89168968172768,46.326629161435],[-71.88493187515924,46.32160799743367],[-71.788457573409,46.38451297345696]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.88202398722723,\"lat\":46.385995091564425},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2432\"],\"cd_name_en\":[\"L'\\u00c9rable\"],\"csd_code\":[\"2432085\"],\"csd_name_en\":[\"Villeroy\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"L'\\u00c9rable\",\"csd_name_fr\":\"Villeroy\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.74058193491958,45.870220856069466],[-71.6659281055693,45.9402562134112],[-71.66269702947235,45.956122566377964],[-71.68611830323623,45.96670799225215],[-71.75239282519811,45.901708692338666],[-71.76996406628203,45.885296089712995],[-71.74058193491958,45.870220856069466]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.71297649327887,\"lat\":45.91830112926756},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2439\"],\"cd_name_en\":[\"Arthabaska\"],\"csd_code\":[\"2439015\"],\"csd_name_en\":[\"Notre-Dame-de-Ham\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Arthabaska\",\"csd_name_fr\":\"Notre-Dame-de-Ham\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.90719020860213,46.10235632159104],[-71.92170043084197,46.12296318967792],[-71.94742996799845,46.10107459452127],[-71.96227216530548,46.09538524648645],[-71.96757729356877,46.12140937973496],[-71.97609333267938,46.11850734785134],[-72.00460643983752,46.10921342368819],[-72.00319332089055,46.07989215605909],[-72.02469552686138,46.075229442222906],[-72.01776427133998,46.06227326174804],[-72.04526939376812,46.03775410092842],[-72.02988375526384,46.029664996036274],[-72.04346138098072,46.0171390629758],[-72.02866069635984,46.00954898882556],[-72.01408418694484,46.001160509172365],[-71.9866760667829,46.02627670631121],[-71.97215246905353,46.018062010035806],[-71.94894730420332,46.03773495963235],[-71.93118740856148,46.03874123865774],[-71.91337818342288,46.02230587827354],[-71.89183152859646,46.04256748775125],[-71.92701671029144,46.06230076079342],[-71.91636877074939,46.072826279785936],[-71.89381605055709,46.09534711704363],[-71.90719020860213,46.10235632159104]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.96892654452283,\"lat\":46.06303719546076},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2439\"],\"cd_name_en\":[\"Arthabaska\"],\"csd_code\":[\"2439062\"],\"csd_name_en\":[\"Victoriaville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Arthabaska\",\"csd_name_fr\":\"Victoriaville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.00635071026593,45.0071828860102],[-72.00515936611916,45.02991715055166],[-72.00314315452098,45.16034662840485],[-72.03232532324103,45.16053509969836],[-72.06503115237646,45.161083474772866],[-72.0980053099403,45.16095858355934],[-72.09710988900557,45.086795160395944],[-72.09641086840794,45.03321717294104],[-72.07713925898051,45.032705963715486],[-72.0774245884169,45.02207443629125],[-72.04068264378003,45.022668409488006],[-72.04026508132962,45.006474017549884],[-72.00635071026593,45.0071828860102]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.04906962847102,\"lat\":45.089894566781105},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2444\"],\"cd_name_en\":[\"Coaticook\"],\"csd_code\":[\"2444050\"],\"csd_name_en\":[\"Stanstead-Est\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Coaticook\",\"csd_name_fr\":\"Stanstead-Est\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.24889030534915,45.16182520015761],[-72.2427990082319,45.172736214101015],[-72.27134499189145,45.17331595816942],[-72.28016650639108,45.16313225086652],[-72.24889030534915,45.16182520015761]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.26071790645523,\"lat\":45.16765447297841},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2445\"],\"cd_name_en\":[\"Memphr\\u00e9magog\"],\"csd_code\":[\"2445080\"],\"csd_name_en\":[\"Saint-Beno\\u00eet-du-Lac\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Memphr\\u00e9magog\",\"csd_name_fr\":\"Saint-Beno\\u00eet-du-Lac\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.47978164393498,45.15791005681265],[-72.47824482103177,45.30734740863279],[-72.587993657849,45.30731494951284],[-72.5948563963553,45.28351750598809],[-72.62118545954236,45.28707272393279],[-72.62399636802911,45.27138374294697],[-72.63294688281563,45.2615142407237],[-72.64967151921928,45.26201814839591],[-72.65019927677793,45.251423179678326],[-72.68394305495289,45.2530117603224],[-72.6867372473658,45.22469117452866],[-72.68770221362801,45.196804902755595],[-72.69030384510086,45.16442450328903],[-72.64489443719522,45.16137106716711],[-72.58582617756468,45.1596710117732],[-72.58553623439659,45.206977571501604],[-72.55734224926584,45.20701252782099],[-72.55776554203094,45.159353551109696],[-72.47979267045513,45.15760323101496],[-72.47978164393498,45.15791005681265]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.57288761818478,\"lat\":45.228437251594166},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2446\"],\"cd_name_en\":[\"Brome-Missisquoi\"],\"csd_code\":[\"2446075\"],\"csd_name_en\":[\"Lac-Brome\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Brome-Missisquoi\",\"csd_name_fr\":\"Lac-Brome\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.57933727194607,45.49811237101552],[-72.58637355630103,45.49847559953573],[-72.58436197791352,45.525456216652735],[-72.60611150281332,45.52602647698742],[-72.62052015176148,45.53789893999482],[-72.67618476396916,45.538812080649755],[-72.67559851748946,45.530950610182366],[-72.69084718854526,45.52384672466353],[-72.68950337830366,45.5097250804722],[-72.69277950833506,45.470097185121396],[-72.70184164353901,45.45724325834119],[-72.70052018370777,45.448671645462646],[-72.66280881277108,45.44709384774646],[-72.66440923090953,45.42056026397023],[-72.6345491931018,45.418520343024575],[-72.6345470330923,45.40558434916764],[-72.59768795308848,45.40391496310906],[-72.59396780111231,45.472062811205554],[-72.58011041896407,45.471606666979625],[-72.57933727194607,45.49811237101552]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.63727725597565,\"lat\":45.4776317801387},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2447\"],\"cd_name_en\":[\"La Haute-Yamaska\"],\"csd_code\":[\"2447047\"],\"csd_name_en\":[\"Roxton Pond\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Haute-Yamaska\",\"csd_name_fr\":\"Roxton Pond\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.30507419581025,46.03299314783752],[-72.35444809059001,46.05879846704998],[-72.36922158609802,46.04820465523461],[-72.39686088189262,46.02310214043958],[-72.40734090065304,46.029808805536916],[-72.4205702632275,46.017134068749215],[-72.4369677676702,45.98950297351354],[-72.32544478108706,45.92714280433022],[-72.30973517649542,45.938384799985734],[-72.29665313562924,45.95091693987876],[-72.3272063804389,45.96863588337375],[-72.2860847930254,46.000585519773594],[-72.2978248541843,46.00897521015494],[-72.28407223118703,46.02156333410757],[-72.30507419581025,46.03299314783752]],[[-72.32557724925623,46.01261936671381],[-72.35103089748003,45.986798304345946],[-72.37052322077751,45.9993074103321],[-72.36193442827475,46.00733824804379],[-72.32557724925623,46.01261936671381]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.35513859444647,\"lat\":45.99563013444339},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2449\"],\"cd_name_en\":[\"Drummond\"],\"csd_code\":[\"2449080\"],\"csd_name_en\":[\"Notre-Dame-du-Bon-Conseil\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Drummond\",\"csd_name_fr\":\"Notre-Dame-du-Bon-Conseil\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.60872868800362,45.889984938435816],[-72.65612755803507,45.91543275900925],[-72.66626214748392,45.90547893069962],[-72.69660688854266,45.91703080376131],[-72.7222972942317,45.89713817307102],[-72.70888256890993,45.88776345402681],[-72.71935570532486,45.87972496544211],[-72.7067285237002,45.87166448039723],[-72.72169378851402,45.859132386871956],[-72.67282427509772,45.83231978323566],[-72.64743942656244,45.85828130364853],[-72.60872868800362,45.889984938435816]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.67241120735808,\"lat\":45.87912753992154},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2449\"],\"cd_name_en\":[\"Drummond\"],\"csd_code\":[\"2449100\"],\"csd_name_en\":[\"Saint-Edmond-de-Grantham\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Drummond\",\"csd_name_fr\":\"Saint-Edmond-de-Grantham\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.1302129372009,45.589209387922224],[-73.18564922037818,45.62964151632207],[-73.1847371771937,45.6211626291886],[-73.18978021780232,45.58745701127361],[-73.20917145393454,45.54927512628186],[-73.18545471098689,45.54541374932589],[-73.21344087234873,45.52226760508925],[-73.19637068815683,45.510680040302574],[-73.17206834556107,45.52872261061221],[-73.16042635398595,45.52034886567252],[-73.14744764709246,45.53569967885869],[-73.12998364196508,45.54718599492395],[-73.12985968106149,45.55883575754885],[-73.13876544071918,45.574398245235116],[-73.1302129372009,45.589209387922224]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.16923831749966,\"lat\":45.56547929266601},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2457\"],\"cd_name_en\":[\"La Vall\\u00e9e-du-Richelieu\"],\"csd_code\":[\"2457035\"],\"csd_name_en\":[\"Mont-Saint-Hilaire\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-du-Richelieu\",\"csd_name_fr\":\"Mont-Saint-Hilaire\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.3901449673249,45.537363733917935],[-73.4106667710081,45.5526831894585],[-73.42028494415116,45.54603872063052],[-73.47051502365007,45.58479731125895],[-73.50057442313567,45.58837613217083],[-73.49958481324178,45.57683681764107],[-73.52919391710246,45.53459621830173],[-73.52570479855272,45.51891005718845],[-73.49802314234039,45.50961342688774],[-73.50045302021395,45.495299766359],[-73.4750177790332,45.477148807940424],[-73.45942833175278,45.485584864564736],[-73.37994957832758,45.43298269375082],[-73.36312334260845,45.44471716382593],[-73.33882909243545,45.48195180423029],[-73.37196951526998,45.50784297796805],[-73.37707939317846,45.49724355846209],[-73.39420998503567,45.50957887820908],[-73.37709869090173,45.527485655027796],[-73.3901449673249,45.537363733917935]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.43749978525125,\"lat\":45.51214308398644},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2458\"],\"cd_name_en\":[\"Longueuil\"],\"csd_code\":[\"2458227\"],\"csd_name_en\":[\"Longueuil\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Longueuil\",\"csd_name_fr\":\"Longueuil\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.48163240966785,45.89637607321897],[-73.50135574766288,45.898053628092136],[-73.53251306050065,45.87657593613513],[-73.5387124820504,45.84207337714656],[-73.55711264249237,45.836351312218646],[-73.55942036823379,45.824922621001356],[-73.57857016123573,45.8212845275045],[-73.54946725476617,45.81632481662947],[-73.55047603648761,45.793407770526535],[-73.52612015594019,45.79374793257032],[-73.52417024653028,45.81401402024791],[-73.50832688679803,45.81939411065398],[-73.4975149272461,45.81312717252625],[-73.46944542238552,45.830800293102435],[-73.47995548709676,45.84014030564467],[-73.46164575303136,45.8516102579598],[-73.44455927864175,45.851764186597016],[-73.44814093794895,45.87325237969246],[-73.48163240966785,45.89637607321897]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.50532292876106,\"lat\":45.84926271071026},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2460\"],\"cd_name_en\":[\"L'Assomption\"],\"csd_code\":[\"2460037\"],\"csd_name_en\":[\"L'\\u00c9piphanie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"L'Assomption\",\"csd_name_fr\":\"L'\\u00c9piphanie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.40349063311079,46.033328129406264],[-73.41530182428747,46.03960248018784],[-73.43341985862811,46.033548129595154],[-73.44203378196868,46.03835420977969],[-73.45531314507083,46.0370009419782],[-73.46839328395109,46.02687767345952],[-73.454666892814,46.013072638078754],[-73.41922864455269,45.99201120067885],[-73.37989026483315,45.97706147954322],[-73.37149927790556,45.982040613613144],[-73.40602707236009,46.00735437283207],[-73.40349063311079,46.033328129406264]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.42286993205978,\"lat\":46.012832855308275},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2461\"],\"cd_name_en\":[\"Joliette\"],\"csd_code\":[\"2461025\"],\"csd_name_en\":[\"Joliette\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Joliette\",\"csd_name_fr\":\"Joliette\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.39035226575558,45.35529854483078],[-73.44648460249849,45.37883540109514],[-73.47754090872807,45.39370225531449],[-73.48657923355549,45.38806868088049],[-73.49738039733931,45.358820635584415],[-73.49291711030817,45.34903411004821],[-73.51133818725879,45.33399881069064],[-73.49263049062806,45.29692261037548],[-73.47598150161446,45.280792487865405],[-73.46382661837148,45.29424979354531],[-73.44378959217401,45.30373020746298],[-73.44376895721736,45.310678647067405],[-73.40842818829582,45.32890358377355],[-73.40500776976474,45.34588615091515],[-73.39035226575558,45.35529854483078]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.45919561474464,\"lat\":45.34031241814198},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2467\"],\"cd_name_en\":[\"Roussillon\"],\"csd_code\":[\"2467010\"],\"csd_name_en\":[\"Saint-Philippe\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Roussillon\",\"csd_name_fr\":\"Saint-Philippe\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.67106650064439,45.09934027833929],[-73.70620659080481,45.12509358076637],[-73.69856881316855,45.130779675790826],[-73.75528237032282,45.168215550985344],[-73.76109042393021,45.17323093349834],[-73.77274816999774,45.16595339616029],[-73.87079681734743,45.10185136615469],[-73.85294602350145,45.08857996398318],[-73.83212856947533,45.10209459382964],[-73.82919454361952,45.089862555846516],[-73.79551654914343,45.066977390839725],[-73.81923613788832,45.04694199574813],[-73.68352853903505,45.094483496084656],[-73.67106650064439,45.09934027833929]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.76872216825366,\"lat\":45.11143356813927},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2469\"],\"cd_name_en\":[\"Le Haut-Saint-Laurent\"],\"csd_code\":[\"2469017\"],\"csd_name_en\":[\"Saint-Chrysostome\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Saint-Laurent\",\"csd_name_fr\":\"Saint-Chrysostome\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.85104212699117,45.191802051720195],[-73.85899912065294,45.19758987675538],[-73.8630916551454,45.19594449130961],[-73.85179680332453,45.18747052128683],[-73.85145548975362,45.18133412662838],[-73.84491274151148,45.183121628825475],[-73.85104212699117,45.191802051720195]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.85317924783254,\"lat\":45.189727324123936},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2469\"],\"cd_name_en\":[\"Le Haut-Saint-Laurent\"],\"csd_code\":[\"2469025\"],\"csd_name_en\":[\"Howick\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Saint-Laurent\",\"csd_name_fr\":\"Howick\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.13636030656475,45.5262265396952],[-74.1232476907571,45.53499198855784],[-74.14841232845596,45.54894307541283],[-74.19117426537403,45.57927341902615],[-74.23813473288786,45.548741764458185],[-74.24090006309349,45.551825736334706],[-74.26294448471597,45.551485986027586],[-74.2748003295088,45.54490042995548],[-74.2798822092394,45.52326658957987],[-74.24712917831208,45.52458767369193],[-74.24497964237757,45.506438677605516],[-74.21203326066392,45.49581167570802],[-74.18967709093202,45.49072078741957],[-74.14297191177197,45.521806173568116],[-74.14131218892258,45.52291597813067],[-74.13636030656475,45.5262265396952]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.20145185292868,\"lat\":45.53279227119832},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2472\"],\"cd_name_en\":[\"Deux-Montagnes\"],\"csd_code\":[\"2472043\"],\"csd_name_en\":[\"Saint-Placide\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Deux-Montagnes\",\"csd_name_fr\":\"Saint-Placide\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.85001125061602,45.72406851278444],[-73.91202087137813,45.76605130599443],[-73.94755008367298,45.78940606461489],[-73.9765009081942,45.764340111667806],[-73.9682093071811,45.75874864462316],[-73.9816891232495,45.74569059711871],[-73.99795361673142,45.75515458664541],[-74.01439583509702,45.75338799135473],[-74.03077365554411,45.74363687045582],[-74.05210968780518,45.75782337356267],[-74.07362489652522,45.748218391259655],[-74.05696382423335,45.7371030671692],[-74.09040799508298,45.71812256467143],[-74.09183873300097,45.71186539261741],[-74.11346674975113,45.6999776845022],[-74.13150140473925,45.70053862617679],[-74.16693043822625,45.688519245310786],[-74.18120879739202,45.69091911699279],[-74.20841934750324,45.68696200179382],[-74.2117785796924,45.70052694743123],[-74.23523183264642,45.69692076389692],[-74.2400910546017,45.687136156508544],[-74.26556699594161,45.68174038472994],[-74.24885809191109,45.66322836577475],[-74.24536240273461,45.64693137029151],[-74.26296973229745,45.64941098544414],[-74.26752011566212,45.632304226621365],[-74.222827952793,45.62598456538916],[-74.2294945002665,45.60052585925578],[-74.24090006309349,45.551825736334706],[-74.23813473288786,45.548741764458185],[-74.19117426537403,45.57927341902615],[-74.14841232845596,45.54894307541283],[-74.1232476907571,45.53499198855784],[-74.13636030656475,45.5262265396952],[-74.1210269715894,45.51474454866085],[-74.11355005050731,45.51821296026288],[-74.09121344983627,45.53457722698547],[-74.07402580623223,45.52193938347811],[-74.06748355441755,45.526534921249414],[-74.08071227917982,45.5412050897786],[-74.049030650914,45.56239864882544],[-74.02581786096873,45.56748180941499],[-74.01134030165599,45.57962799624614],[-73.98746510918124,45.57337058790131],[-73.97797980105179,45.581539896881104],[-73.98104508827548,45.60204898237729],[-73.95294941942248,45.60539369488069],[-73.9511607342081,45.61653157338481],[-73.93287496141885,45.616556897499535],[-73.91656349767425,45.605781639354475],[-73.8969058375125,45.61740747508161],[-73.92030056647293,45.633858663589464],[-73.86390910104919,45.64373353568218],[-73.88071245298332,45.6552331402882],[-73.92567298059294,45.68530536576243],[-73.8909344771418,45.71438736013336],[-73.85001125061602,45.72406851278444]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.06016530946603,\"lat\":45.65199007105229},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2474\"],\"cd_name_en\":[\"Mirabel\"],\"csd_code\":[\"2474005\"],\"csd_name_en\":[\"Mirabel\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Mirabel\",\"csd_name_fr\":\"Mirabel\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.11197918717286,46.09368340121148],[-74.19473390994607,46.14298367776964],[-74.11352905647607,46.20344171387739],[-74.18409663634151,46.250051290811875],[-74.23189432852713,46.21648087111838],[-74.21770705603582,46.202763951852596],[-74.24178224216938,46.19053159257637],[-74.2204860552907,46.18692797228951],[-74.20560819307204,46.176789364241],[-74.2165937943059,46.168977865936775],[-74.20179447063163,46.15883080616788],[-74.21591398151908,46.151949958363005],[-74.20086111263112,46.1417330881098],[-74.21505429708215,46.13106238917071],[-74.23108384005107,46.14154365154036],[-74.26627893652105,46.11448932925428],[-74.21258659553581,46.07728469109073],[-74.19842994049397,46.08620668791714],[-74.15931365557405,46.061249735504845],[-74.11197918717286,46.09368340121148]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.18488612468789,\"lat\":46.152520642859514},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2478\"],\"cd_name_en\":[\"Les Laurentides\"],\"csd_code\":[\"2478020\"],\"csd_name_en\":[\"Sainte-Lucie-des-Laurentides\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Laurentides\",\"csd_name_fr\":\"Sainte-Lucie-des-Laurentides\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.41262979684848,46.01892375493351],[-74.42834512544763,46.026815267024205],[-74.44641705064328,46.02688585653719],[-74.55478414386023,46.03814629269488],[-74.55499439264938,46.03746271899489],[-74.56082527299657,46.018520617319986],[-74.54959032988164,46.00926822604064],[-74.51751179271751,46.004803081872495],[-74.51597061038666,46.01204487908606],[-74.49036941524365,46.008576363934026],[-74.50735823562664,45.98191491862251],[-74.52445323439836,45.96952463132753],[-74.55369661180619,45.97352655968194],[-74.55609582862722,45.98812943031563],[-74.57119218450627,45.98291080192486],[-74.58806313331282,45.91975505252261],[-74.50163287622227,45.91157773859673],[-74.4873314981702,45.91344808195893],[-74.4761570387432,45.92928966437153],[-74.45297233474311,45.92689686181491],[-74.44938433585877,45.90642346866372],[-74.44162019093183,45.905576318195216],[-74.41262979684848,46.01892375493351]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.49569420392126,\"lat\":45.97072036676015},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2478\"],\"cd_name_en\":[\"Les Laurentides\"],\"csd_code\":[\"2478055\"],\"csd_name_en\":[\"Montcalm\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Laurentides\",\"csd_name_fr\":\"Montcalm\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.45930431218697,46.23068665973844],[-75.45932158629684,46.35794105762184],[-75.50686224719104,46.354176921518885],[-75.5347709563792,46.33370609520086],[-75.55221686318703,46.30659400378464],[-75.58791343566494,46.28085965820523],[-75.56640682832844,46.28068837762818],[-75.56624740141281,46.25136566334434],[-75.54109536104201,46.25134081277163],[-75.54022866898299,46.230661230605435],[-75.45930431218697,46.23068665973844]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.50647557864283,\"lat\":46.28923512254386},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2479\"],\"cd_name_en\":[\"Antoine-Labelle\"],\"csd_code\":[\"2479015\"],\"csd_name_en\":[\"Lac-du-Cerf\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Antoine-Labelle\",\"csd_name_fr\":\"Lac-du-Cerf\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.79449382631458,46.85121535324514],[-74.70303740958198,46.91328211267752],[-74.57592812123781,46.997857391213316],[-74.86760805089192,47.198939031750584],[-74.93415299056927,47.242122805119536],[-74.98259086623632,47.277470816440946],[-75.11076200853171,47.364538865912216],[-75.33555614081668,47.516121331882474],[-75.33581004466484,47.51629423606907],[-75.35518062749455,47.49409197738164],[-75.3678930216656,47.48545509105282],[-75.38228799916325,47.46054070714917],[-75.38904362008311,47.42792711784021],[-75.42141672627365,47.403284501711084],[-75.43027124776184,47.389539505838236],[-75.45962744069165,47.36925250141164],[-75.47383608283776,47.33976662384877],[-75.45731636005412,47.31820186980449],[-75.46483220078967,47.30391753126064],[-75.41322800369139,47.26779253613264],[-75.29846237470139,47.19015868122863],[-75.24137523551401,47.15370661637829],[-75.16410794443699,47.10127635254165],[-75.09018111452558,47.05229104659864],[-75.04599172595022,47.02141445985834],[-74.79449382631458,46.85121535324514]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.04716511109405,\"lat\":47.17355804539799},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2479\"],\"cd_name_en\":[\"Antoine-Labelle\"],\"csd_code\":[\"2479914\"],\"csd_name_en\":[\"Lac-Oscar\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Antoine-Labelle\",\"csd_name_fr\":\"Lac-Oscar\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.80765163889473,45.63842198924677],[-74.80057927887063,45.66289004376543],[-74.84244640936302,45.66007854714318],[-74.87399812615395,45.66500983002113],[-74.8734579096186,45.641102424073075],[-74.82992031341266,45.635913179991476],[-74.80765163889473,45.63842198924677]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.838553712747,\"lat\":45.6502007715321},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2480\"],\"cd_name_en\":[\"Papineau\"],\"csd_code\":[\"2480005\"],\"csd_name_en\":[\"Fassett\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Papineau\",\"csd_name_fr\":\"Fassett\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.94799504741862,45.72155120161746],[-74.93219450703808,45.79864002374899],[-74.89990679686932,45.79482409603611],[-74.88418782068361,45.86066922103056],[-74.9234439139382,45.86757800367768],[-74.9778789807371,45.852053224008856],[-75.02749285609478,45.836601787117225],[-75.0382189079404,45.79493059357635],[-75.00910844134224,45.79057809485433],[-75.0206452377281,45.7729426122625],[-75.01509126900537,45.76796501936666],[-75.01828093262864,45.7504779783677],[-74.99125059360989,45.756473704757674],[-74.96903643796263,45.74612586159823],[-74.96943293554943,45.729729547998346],[-74.94799504741862,45.72155120161746]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.96176293907912,\"lat\":45.80740682928808},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2480\"],\"cd_name_en\":[\"Papineau\"],\"csd_code\":[\"2480020\"],\"csd_name_en\":[\"Notre-Dame-de-la-Paix\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Papineau\",\"csd_name_fr\":\"Notre-Dame-de-la-Paix\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.35871220201781,45.6321393770637],[-75.26241303108162,45.638658810129606],[-75.2623874379223,45.65487778821244],[-75.26232256290925,45.6669232068794],[-75.27174333954551,45.72955858871915],[-75.37292246580058,45.719798885976864],[-75.37178163183908,45.71130608998537],[-75.36352719474345,45.67658220278548],[-75.35871220201781,45.6321393770637]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.3149928132008,\"lat\":45.680513144062616},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2480\"],\"cd_name_en\":[\"Papineau\"],\"csd_code\":[\"2480065\"],\"csd_name_en\":[\"Mayo\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Papineau\",\"csd_name_fr\":\"Mayo\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.74953880912932,46.70898560521793],[-75.75015086484252,46.83902655122479],[-75.81433633854911,46.83888224564397],[-75.82414145601608,46.82604391689422],[-75.86716326139037,46.81213614437854],[-75.88715825674015,46.81673742314804],[-75.91254545210832,46.81072585081396],[-75.95929534376053,46.78228588641254],[-75.97338448397714,46.77884629805508],[-76.0108156045294,46.74448875211111],[-75.99997278588292,46.7331501285022],[-75.99978671448717,46.682045840883134],[-76.00196836985553,46.57669944621294],[-75.93345365087148,46.57689312874299],[-75.8719866273273,46.576163641474004],[-75.74891047691803,46.57653621822288],[-75.74953880912932,46.70898560521793]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.86821986188568,\"lat\":46.69521145580224},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2483\"],\"cd_name_en\":[\"La Vall\\u00e9e-de-la-Gatineau\"],\"csd_code\":[\"2483095\"],\"csd_name_en\":[\"Grand-Remous\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-de-la-Gatineau\",\"csd_name_fr\":\"Grand-Remous\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.99342595423958,46.90544239803098],[-78.99878279365797,46.92277135259764],[-78.98944209418134,46.942972525784846],[-79.01106293591414,46.96279312222802],[-79.01434854174472,46.98334515148571],[-79.04192067864304,47.00002377993223],[-79.04348032616326,47.01122887685586],[-79.0573372053764,47.02659364182535],[-79.06571364634371,47.04688923030038],[-79.06502161201063,47.07314527018151],[-79.07457038401698,47.096047780303884],[-79.06181008641356,47.12850171150451],[-79.25971777450268,47.12834064351028],[-79.32401648979318,47.12812350392723],[-79.32402975107709,47.10860352255593],[-79.35272517662553,47.108826028253326],[-79.354022352941,47.0829950306634],[-79.36603391432617,47.07836430511285],[-79.36695933734256,47.10794196638867],[-79.44342929410661,47.10745084166928],[-79.43498594045882,47.08422994106165],[-79.41019500205252,47.059845863050185],[-79.3767462731262,47.02885473796754],[-79.35378336357881,47.01443705898143],[-79.34350774421802,47.0000668167902],[-79.27229768007298,47.00018611375153],[-79.27359272925435,46.98728819723288],[-79.25617450984792,46.96276063444787],[-79.27269127065289,46.93804852740544],[-79.25808871170675,46.922081875175785],[-79.24739840842666,46.90127295239749],[-79.24664546464258,46.887574012090575],[-79.23552765197537,46.8776090534866],[-79.07700939991777,46.941061212503506],[-79.03070843615008,46.91889064963182],[-78.99342595423958,46.90544239803098]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.1981641580171,\"lat\":47.02470818464957},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2485\"],\"cd_name_en\":[\"T\\u00e9miscamingue\"],\"csd_code\":[\"2485905\"],\"csd_name_en\":[\"Laniel\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscamingue\",\"csd_name_fr\":\"Laniel\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-78.20580755193983,48.86416405800161],[-77.98774113621668,48.86352104105131],[-77.98703932952657,49.00001587923065],[-78.20633349561074,49.00036192368123],[-78.20580755193983,48.86416405800161]]],[[[-78.42474707402418,48.71931004507726],[-78.42484609538137,48.76361544242923],[-78.40771740405584,48.7633969320174],[-78.40782276785458,48.7925355654946],[-78.42505225163436,48.79256162559147],[-78.4250319041148,48.999616652281794],[-78.64378761635213,49.00024742984539],[-78.64315557087563,48.9277443907014],[-78.64357187998928,48.719780955782205],[-78.42474707402418,48.71931004507726]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.39107161129209,\"lat\":48.88283287399228},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2488\"],\"cd_name_en\":[\"Abitibi\"],\"csd_code\":[\"2488904\"],\"csd_name_en\":[\"Lac-Chicobi\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi\",\"csd_name_fr\":\"Lac-Chicobi\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.74194478343523,48.00003852550226],[-70.53065242558769,48.000201652949464],[-70.52989276504806,48.1016146442538],[-70.53027463306695,48.1122250812713],[-70.65756100707182,48.111750970777074],[-70.74274787388191,48.10990074599005],[-70.74194478343523,48.00003852550226]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.63598825988728,\"lat\":48.055890532557605},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2494\"],\"cd_name_en\":[\"Le Saguenay-et-son-Fjord\"],\"csd_code\":[\"2494926\"],\"csd_name_en\":[\"Lalemant\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Saguenay-et-son-Fjord\",\"csd_name_fr\":\"Lalemant\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.3421157264093,52.9160631227908],[-67.3557429004987,52.92862777662558],[-67.33266569926239,52.95981815403641],[-67.30692401824946,52.96888667096895],[-67.27583213787689,52.96381433679481],[-67.248487623538,52.97600567939908],[-67.28330021063587,52.98424268945322],[-67.30830199739546,52.97787879640918],[-67.34536261572575,52.98119546064844],[-67.36886174302974,53.00232756643885],[-67.35537138390895,53.00896117159061],[-67.3807860791216,53.0462559587143],[-67.39054266694345,53.076835371757525],[-67.39233682881792,53.12085503704988],[-67.38537895814723,53.13197943326983],[-67.37141237870203,53.13530658718962],[-67.34639793040623,53.132090145540616],[-67.33206747440683,53.124102886147604],[-67.2872146026477,53.143921347400294],[-67.30266983154316,53.158925026351106],[-67.2739089455128,53.18011770656103],[-67.25436854669091,53.17822330132755],[-67.24899501641241,53.16567912152912],[-67.21769474601913,53.149663773971064],[-67.15422798034288,53.14722547997593],[-67.13444653878703,53.13786062035753],[-67.11527901184064,53.111946970232694],[-67.08866713957488,53.125926804934295],[-67.07525539546407,53.139312898383224],[-67.06117802862414,53.14193667350785],[-67.04678598499109,53.11846429980027],[-67.06897385754809,53.100829929407],[-67.06849067441324,53.078874635766034],[-67.04160760975122,53.07607214046401],[-66.98442990896616,53.08790930022131],[-66.99087320734257,53.117461081557494],[-66.95996500747687,53.1329261802117],[-66.99518234751557,53.13845061810918],[-67.01412280674951,53.152139595234836],[-67.0061330133011,53.168475255194615],[-66.98264783736056,53.17776082261087],[-66.95961727029923,53.18169279960389],[-66.97806167144357,53.21326331212926],[-66.9761924520448,53.2455862270221],[-66.96472538822086,53.27393089481215],[-66.95432675891587,53.28357473482713],[-66.95841549869569,53.306450334469886],[-66.99234959511257,53.32289477397785],[-67.01881419950492,53.32008052537501],[-67.02705061694665,53.334646126743664],[-67.02129783458768,53.34222841108652],[-66.99695178689768,53.35262092456285],[-67.01367585869299,53.36188744814874],[-66.99604663379937,53.37265246889627],[-66.96610332272344,53.364621761092316],[-66.95414208194262,53.37260180109267],[-66.9463196664456,53.39093165833373],[-66.92287244918727,53.399934857200016],[-66.90670779154442,53.39529421980643],[-66.89053683993977,53.4093106127058],[-66.92444786028231,53.41866087699384],[-66.93500637049048,53.44153529979266],[-66.92495217748161,53.454496118579755],[-66.94452408696272,53.476053398179154],[-66.97107643985377,53.466511409513174],[-66.99582222429166,53.46423999922801],[-66.99629644456584,53.48461751779266],[-66.98384275396732,53.49249017229228],[-67.0066531774634,53.50000758173683],[-67.03030823871187,53.526737052796975],[-67.05370980647346,53.52957936286511],[-67.06202481720362,53.537081778433816],[-67.09990848531184,53.52674105274208],[-67.12988668986283,53.53020865891693],[-67.15768545007182,53.53763360903802],[-67.18001528643191,53.55303438953618],[-67.1891323768394,53.55075586485071],[-67.18907995615687,53.53275260101278],[-67.21876905944808,53.53034033518528],[-67.2574058811269,53.55738857481475],[-67.2862965408844,53.543522821412424],[-67.30815176461782,53.546248647264854],[-67.32370718629969,53.55900107508262],[-67.3135497733386,53.58415205977248],[-67.33496728499826,53.586760713416716],[-67.3533678598012,53.59537650606131],[-67.37693580742406,53.59720978971535],[-67.37369386445324,53.60830265574477],[-67.39473092293795,53.6146543061287],[-67.38719555812398,53.62888562631575],[-67.38942149845283,53.64225865269377],[-67.41314778357531,53.66689844918035],[-67.41421138496779,53.674855738281195],[-67.39684971288172,53.68287930054054],[-67.43374213953727,53.70649941906331],[-67.46510927710291,53.708882592350335],[-67.50631906432345,53.71906153276098],[-67.51752694393629,53.73521031571091],[-67.49999998232443,53.74603589835467],[-67.50000001395223,53.75726735018253],[-67.5922190285935,53.757497823074765],[-67.59929029170081,53.7662325246168],[-67.56747609737432,53.77085005360953],[-67.55728254201253,53.78028929257816],[-67.60419506873389,53.79016160921849],[-67.60222661528628,53.79546535490083],[-67.5450972658703,53.798235488370906],[-67.52206765502089,53.816167376416445],[-67.49960831515928,53.8268564037646],[-67.50938724788844,53.83400006782351],[-67.53664793018118,53.84017030051405],[-67.55590572511014,53.83737282376603],[-67.57148974325165,53.84556676128782],[-67.56425882700071,53.85860341097366],[-67.59276684159731,53.86216330063531],[-67.60911892719214,53.869247366091216],[-67.61424164587163,53.884891577435916],[-67.60916460779235,53.901968571026536],[-67.59630593997036,53.92169476523856],[-67.63713029881706,53.93039137063465],[-67.66260854199679,53.9280730549908],[-67.67755545728335,53.941568911483905],[-67.66195152994504,53.9522856586119],[-67.69983932893479,53.97660448225932],[-67.72516326326009,53.97775410477189],[-67.74337598777882,53.98620102489062],[-67.78732437417173,54.000036750545426],[-67.78312868648987,54.0086668088886],[-67.81600639376192,54.01476277875526],[-67.82168528783797,54.02570234616153],[-67.79103001429156,54.04128011248361],[-67.79408220296621,54.054492065365245],[-67.77881526127561,54.071430324271994],[-67.78835837498153,54.085521197823006],[-67.76183525767233,54.08604609211511],[-67.76770536298088,54.099921348532774],[-67.79187310866878,54.09563722799811],[-67.80546108351936,54.106183164513745],[-67.79816490856997,54.1185806272231],[-67.81025241624637,54.12813290872949],[-67.7650365716553,54.15700019186891],[-67.72959282117033,54.15127514008694],[-67.70595361051134,54.16113210050053],[-67.675321973747,54.15876122098784],[-67.65345441843694,54.16998949945457],[-67.65335475006286,54.18857483018333],[-67.62830265204599,54.212751464454655],[-67.6517623445851,54.22152268118061],[-67.67733039852212,54.24168031183458],[-67.68820142045475,54.27313318534284],[-67.67227965737143,54.28511177284491],[-67.67902436455456,54.30082852027808],[-67.67636616713145,54.31852430180932],[-67.69701630294104,54.33064500834167],[-67.7250984384132,54.338854470279514],[-67.74803672392133,54.350260854730806],[-67.73195822116139,54.364161886797255],[-67.72469836607354,54.38685578639306],[-67.75102276995834,54.411908753009115],[-67.76896791507754,54.419553374439836],[-67.77639035065565,54.435279848066585],[-67.76391626406782,54.444253093878814],[-67.73431809241848,54.444338621217305],[-67.72749666128765,54.45739927877583],[-67.70546690383696,54.456252831233996],[-67.70665340946333,54.444590192293376],[-67.68576093789575,54.44614613647159],[-67.66781166997052,54.45384196290735],[-67.6623963121964,54.46895314204466],[-67.66641817934723,54.493629800486545],[-67.64270200022118,54.508032273351745],[-67.6278774602044,54.47358685710424],[-67.60947444059414,54.465766180224506],[-67.5926396325567,54.469003145159256],[-67.58168284311286,54.48287129944104],[-67.58165785494359,54.494108526961895],[-67.5508713701395,54.485943596132365],[-67.53193609169423,54.49018474379602],[-67.50040551931676,54.4815065530838],[-67.5000000178452,54.50694097004134],[-67.47311297794629,54.520101921456906],[-67.4847025550708,54.54543045003425],[-67.49762165972074,54.545339830822094],[-67.5160038757887,54.55595914557721],[-67.52688242248364,54.57095109600911],[-67.49174875482508,54.58490951370564],[-67.46763612430453,54.58376152585352],[-67.4290252618353,54.569234384709546],[-67.42309606465574,54.55787141242568],[-67.40607889130078,54.552905098242],[-67.34923525258061,54.516991951294685],[-67.33530584205218,54.521103009902156],[-67.32407091992735,54.50541797138533],[-67.30351356081462,54.511979006316416],[-67.28790136070928,54.503456408368095],[-67.28660898028156,54.49027677071062],[-67.24494465165479,54.50003390906575],[-67.24458754906236,54.51475819704857],[-67.22781202609009,54.525266564017116],[-67.25950908487684,54.533748151608485],[-67.27782181033534,54.54870729129954],[-67.29710682799363,54.55359044390532],[-67.26850265999678,54.56517305812544],[-67.27991824561595,54.5852571395516],[-67.26822747404772,54.590863244554164],[-67.23117571894743,54.58756692532475],[-67.23489286821555,54.61227748194585],[-67.22022556601348,54.61814409789709],[-67.17577872737633,54.609538169135384],[-67.1385510099759,54.62453865893809],[-67.1425863931702,54.63613165541291],[-67.12345684250575,54.64512102399986],[-67.12900346540046,54.65771941771479],[-67.10546550734331,54.666629201880696],[-67.07673091887584,54.67107587904452],[-67.0827922659862,54.68057867767064],[-67.06290081383705,54.69293310928389],[-67.07322385459516,54.705063353000995],[-67.13771561927688,54.75003541048655],[-67.17746409279125,54.763956018300114],[-67.18018115936306,54.775877898631734],[-67.21341853149157,54.79274881335532],[-67.22588878251781,54.80825537509028],[-67.22137195682069,54.82491291520218],[-67.24361437822905,54.82660672642632],[-67.25917646375962,54.833811909626284],[-67.28272327034952,54.86769285794576],[-67.31065288408968,54.88036346832485],[-67.31569946638795,54.895395492953554],[-67.33514320388626,54.90348976473415],[-67.33993207652846,54.91652580061781],[-67.35772691131103,54.9396844396474],[-67.37032059306839,54.94165820964601],[-67.39975567350949,54.95785895771948],[-67.4143657973762,54.97607044555971],[-67.40194049025929,54.98895486412853],[-67.42248808346903,55.00006040577005],[-67.75000001992495,54.99999999489405],[-68.00000002300165,54.99999999855621],[-68.24999997539102,55.000000002914796],[-68.49999997844438,55.00000000420241],[-68.74999998973641,55.00000000301434],[-69.00000002559284,54.999999993770125],[-69.25000000114021,54.99999998577705],[-69.4999999757296,55.00000000030672],[-69.74999999763467,55.00000000871584],[-70.00000001343388,54.99999999764843],[-69.99999999316752,54.73119050531273],[-69.99999997256889,54.429855983572516],[-69.99999997886663,54.21299472179279],[-70.00000001296719,53.909213097674694],[-70.00000001747088,53.76427365077027],[-69.99999998937139,53.558805674895254],[-70.00000000871871,53.385628770627164],[-70.00000000263768,53.203929870518614],[-70.0000000082574,52.91838484634391],[-69.89344505819338,52.91495722083252],[-69.82249998256505,52.91668046727391],[-69.67367523810658,52.91613840785698],[-69.37343479422644,52.916169586325374],[-68.89833676329556,52.91713500141481],[-68.55417019248638,52.918337095282496],[-68.37642769508292,52.91766196828999],[-68.19749385598067,52.91734177195346],[-67.83938632440737,52.91854751375863],[-67.65952175632019,52.917557519056466],[-67.3421157264093,52.9160631227908]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.675398091125,\"lat\":53.93995852914785},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2497\"],\"cd_name_en\":[\"Sept-Rivi\\u00e8res--Caniapiscau\"],\"csd_code\":[\"2497908\"],\"csd_name_en\":[\"Caniapiscau\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Sept-Rivi\\u00e8res--Caniapiscau\",\"csd_name_fr\":\"Caniapiscau\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.93807329626722,58.67076060736645],[-65.8966412872065,58.671813759275146],[-65.90113859258504,58.726291062634346],[-66.03134863207839,58.724033374359955],[-66.03918330767863,58.713776800536905],[-66.02935619552696,58.70321411075369],[-66.03747299597323,58.69253329500658],[-66.0071216186853,58.69090020245817],[-65.97703560289314,58.684294386752896],[-65.93935757465273,58.68224769887618],[-65.93807329626722,58.67076060736645]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.95922518633267,\"lat\":58.70289305155878},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499090\"],\"csd_name_en\":[\"Kangiqsualujjuaq\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village nordique\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Kangiqsualujjuaq\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.88384726732714,62.258829890285554],[-75.00987169846042,62.276759488567016],[-75.06549310101983,62.28069649586895],[-75.13453440621225,62.298620600215024],[-75.23735933123125,62.30684658065279],[-75.31650693950773,62.323220724632705],[-75.35752012873472,62.326753260161915],[-75.40041351244945,62.3236727373481],[-75.45999670385682,62.309812665752496],[-75.5000000190669,62.2913447356633],[-75.56315362043442,62.29945901252144],[-75.59548079352679,62.29856780927145],[-75.62797038411135,62.3046366884144],[-75.75911140235075,62.31881586521354],[-75.81006734723952,62.326076864205646],[-75.8504039521891,62.334887313225614],[-75.90149091261544,62.35249297663457],[-75.93619229915231,62.35719086861155],[-75.99999998292951,62.35973249105076],[-76.11580615339193,62.38479411097862],[-76.30137365669866,62.42330727941545],[-76.45959995750282,62.44889289509329],[-76.54773744027155,62.467874523549206],[-76.6022934615201,62.486247635400396],[-76.64194132427892,62.49582841784514],[-76.72804604273837,62.52080799797281],[-76.77491184912535,62.529025824999565],[-76.84341627764549,62.53750883589315],[-77.04947508464544,62.549634994974895],[-77.22449240991885,62.562603709351755],[-77.31587162507914,62.57611486323194],[-77.32938456979436,62.545796884852976],[-77.45439747610011,62.45889011303617],[-77.7395451476733,62.33588142840576],[-77.78047644830403,62.32401169261103],[-77.870832892101,62.29370820689555],[-77.89840194944729,62.28958267250449],[-78.0915648713865,62.25378522537692],[-78.16761958122726,62.24326463132404],[-78.21885976053234,62.25032159090248],[-78.23312009620486,62.21402944055172],[-78.21289232097821,62.148979138108544],[-78.19432794705088,62.10073126471976],[-78.17963889213489,62.02489177447383],[-78.17822782703458,61.989134358225144],[-78.14450859775707,61.932522122310324],[-78.1183577643559,61.86762908702789],[-78.06383721101786,61.783084366402825],[-78.04826107202443,61.73452454917562],[-78.01877535736209,61.703159246060494],[-78.00878153627833,61.686274951384185],[-77.96637862173651,61.65886239702575],[-77.87608711692404,61.61093891996258],[-77.85075843343004,61.567271360335695],[-77.83202294102777,61.50403935006544],[-77.8462156586725,61.4591553826888],[-77.85469398959526,61.45356702076608],[-77.84607272906625,61.41643542812927],[-77.82122739491649,61.383779179270654],[-77.81113472477016,61.34110708545303],[-77.80231100888217,61.28697138945569],[-77.81837214552979,61.257592382252035],[-77.8179629943564,61.238313587457405],[-77.7998472879272,61.2250549160071],[-77.7999920705219,61.19695816814663],[-77.81378017221567,61.17676391312189],[-77.84473992045024,61.152967172487585],[-77.85862784045621,61.07246058425471],[-77.93661413269675,61.047533983481394],[-77.97290137012429,61.024308820250106],[-78.00000002339004,61.00000000853705],[-78.03775484724606,60.983830160679624],[-78.06346776324122,60.96850133365111],[-78.1260641079626,60.92488691369466],[-78.1101001975575,60.915096966724604],[-78.07551199559035,60.93125550435151],[-78.04488461537045,60.94138770207737],[-78.01368990654339,60.956863399655674],[-77.98632328622672,60.95795754854089],[-78.00597849620524,60.93696149836805],[-77.96163467409497,60.88873312491625],[-77.85190509386801,60.91435210465552],[-77.81032831554123,60.92058489269692],[-77.80832724572254,60.93244108196296],[-77.54075449338467,61.01611811556463],[-77.50949848326502,61.00527730425551],[-77.44917229169063,60.973594725626725],[-77.40182426149693,60.93742840775355],[-77.40659760951549,60.93148689991044],[-77.47925398479092,60.90495658533991],[-77.55291299083044,60.88083560493567],[-77.61399439393227,60.874386605223236],[-77.69591692255995,60.85345010361498],[-77.70442281019596,60.860143206099835],[-77.77318315236603,60.845749449874525],[-77.72715887879713,60.792696589472904],[-77.76655838953413,60.7837603044322],[-77.78400511109272,60.78748040057409],[-77.82821028011556,60.77041738799312],[-77.8545174109905,60.76521231122091],[-77.88348658657914,60.769305902350496],[-77.89092159421031,60.777047302137646],[-77.8699080896268,60.785275596502025],[-77.87726247895104,60.79243180525926],[-77.94891518276724,60.78448569660433],[-77.98055349771715,60.78336400911107],[-77.99055960646845,60.78904510529881],[-78.02629168797718,60.790375993154576],[-78.04379428396118,60.79700500081415],[-78.0646485820186,60.793621115330986],[-78.05514456848921,60.781774258059535],[-78.00000001745963,60.74374999623783],[-77.87064780776126,60.665271573103965],[-77.87821599094019,60.64867110962806],[-77.85529377010194,60.62755945034887],[-77.90313349207217,60.6111003956105],[-77.91107729060546,60.580600970957114],[-77.89727313993647,60.56929167945473],[-77.86662072190015,60.55486359620502],[-77.80192358343217,60.49993922880012],[-77.76887813205916,60.46839966047805],[-77.76429488331877,60.455162949201515],[-77.78041668360571,60.42783610879982],[-77.79555683719352,60.38818602949401],[-77.65804858048506,60.32009289184526],[-77.64484575082349,60.30474069228738],[-77.64682794060298,60.27938858897483],[-77.65531327214933,60.254533008722596],[-77.65478190172638,60.23833995760575],[-77.58993988679737,60.17434028044982],[-77.56725133024298,60.15617128368446],[-77.58957424182974,60.1337811179303],[-77.61651916376049,60.13039318850578],[-77.64536594986285,60.11335480895246],[-77.6582614146895,60.0878480349767],[-77.62995857676437,60.07444489686523],[-77.65425728663787,60.0639477437887],[-77.65574750932308,60.049533484044495],[-77.61793515355556,60.034667100403304],[-77.58379784939608,60.01573642627672],[-77.49999998487051,59.93606471934349],[-77.47357564221626,59.901482717987975],[-77.47284081087744,59.88838722871773],[-77.49339666894974,59.88022778445596],[-77.59414174567348,59.75994313374736],[-77.59731939418653,59.75774460287389],[-77.69278243805124,59.76784750058746],[-77.74548233004255,59.7658448565175],[-77.77189542128961,59.761034962660645],[-77.8315783318846,59.74287870765258],[-77.85450705724959,59.729202925177745],[-77.87639560339817,59.704395991135605],[-77.87815138118128,59.67714028177255],[-77.88812576904627,59.61870945499256],[-77.86306671978053,59.57032535424146],[-77.8690619374464,59.55449036051963],[-77.94154663706972,59.49314275213988],[-77.98677544800539,59.44626440127898],[-78.00000491512972,59.404339727115406],[-77.9927630375483,59.39294747194821],[-77.93698707242726,59.354185961300345],[-77.93912485744823,59.34326774057885],[-77.9759183648085,59.317185188885766],[-78.03862243543743,59.28231516373369],[-78.04884423074155,59.26794742116689],[-78.03176707900886,59.2455404191073],[-78.03823466939309,59.236761550853196],[-78.07217486068,59.22929206161601],[-78.13132715408028,59.22532736431789],[-78.1725239090489,59.208420414184594],[-78.1994363064588,59.19352650198248],[-78.19007056733746,59.17612847348437],[-78.23694305582325,59.12488040909338],[-78.27700351310163,59.11234140727251],[-78.29702193195256,59.07330825984035],[-78.34800089605517,59.0592247357718],[-78.33772636681327,59.0463063024976],[-78.47489684779865,58.976455127839365],[-78.54060898955659,58.953368353649175],[-78.54941620740374,58.91650490900332],[-78.57938959486204,58.91422099879533],[-78.58066548732532,58.89875289356073],[-78.55624068148504,58.88959430699487],[-78.56967581109964,58.87634310865453],[-78.55984674992284,58.86321027778352],[-78.6090020112911,58.837672542323915],[-78.64902658518496,58.82280922293749],[-78.64903483731716,58.80890168077218],[-78.62483045039882,58.7973457690288],[-78.6216363053331,58.78552395957696],[-78.63951985265356,58.774798400460725],[-78.64256699412644,58.73602162037013],[-78.61842958828724,58.72126019689598],[-78.60886864411692,58.6690081669512],[-78.61379099935203,58.639334464268266],[-78.62263337929677,58.61401700188029],[-78.60973071127374,58.598180341989696],[-78.56420882304894,58.581057750880056],[-78.22368833727697,58.45983524580141],[-78.1419368673559,58.42943416418709],[-78.07558105601444,58.39155391525413],[-78.0710871405032,58.382571894303574],[-78.04629494222438,58.36360381727928],[-77.98182241592039,58.34189281083652],[-77.91366610442854,58.32760354968641],[-77.80786902164598,58.29871272338212],[-77.77270286460977,58.28175602850236],[-77.71835533114893,58.26612129004281],[-77.6456184655177,58.23565392062002],[-77.53501842622109,58.18427856915596],[-77.5296988440519,58.17090478902766],[-77.54366023047241,58.15886257515352],[-77.49413531518924,58.14725869012181],[-77.44304162632022,58.13014327031028],[-77.38727279988115,58.09051527998807],[-77.34413386606397,58.08422085815816],[-77.31415253251556,58.06437869499257],[-77.21892559522374,58.020087671529154],[-77.1935754786407,58.02010588259583],[-77.21282409973352,57.997063882482585],[-77.15951920988583,57.95257823279764],[-77.09139938632941,57.888165890295554],[-77.02758198519729,57.832688338023914],[-76.98773893192713,57.79332042819412],[-76.9534192680681,57.755125540888656],[-76.90486775749727,57.70540704529157],[-76.89613084069573,57.681980678735904],[-76.8888212068792,57.63496198007562],[-76.87130421184618,57.6128527927977],[-76.8517406916069,57.57956727217207],[-76.82097985631057,57.539309574910305],[-76.80218960668525,57.49078864896083],[-76.74876629545417,57.441052366495086],[-76.7162594628054,57.40419393493929],[-76.71203198526526,57.391381795682676],[-76.68206637923178,57.349568222455694],[-76.63412688986986,57.2598851174141],[-76.60634067449661,57.189637331580684],[-76.57718424768522,57.094677884620715],[-76.57452001949126,57.080593713633306],[-76.58222344578053,57.051469763691586],[-76.58278230441758,57.0302183655632],[-76.57580650957522,57.000000304197336],[-76.55916457848983,56.98805539477256],[-76.56880669110359,56.9771915986861],[-76.56369286692022,56.958504811615256],[-76.56967657836458,56.93959300237404],[-76.55405749239821,56.91602689886986],[-76.53357036593728,56.82390369823531],[-76.53259735969803,56.79868889135441],[-76.53683705478967,56.76784629732362],[-76.5306969284675,56.7527765164065],[-76.53731818839395,56.7428154915593],[-76.53145909555109,56.72139601021501],[-76.54012671170446,56.65827010391205],[-76.53261050335894,56.6380936429371],[-76.38446478697583,56.64135437492621],[-76.31625010136914,56.57022406435485],[-76.29775592904551,56.50444100761551],[-76.30695432548242,56.47468337626584],[-76.29351388794545,56.44669410880951],[-76.33834328431628,56.447343901935845],[-76.34672489930314,56.47279909561421],[-76.3753083166438,56.478560095395444],[-76.36445218088824,56.49042939915751],[-76.33555370232871,56.48297329938334],[-76.32805201957443,56.499999999382],[-76.3554001907099,56.50511419571626],[-76.35634328979768,56.51266919860102],[-76.38557492264454,56.52290539256633],[-76.38132060006706,56.536597489570525],[-76.39187450244462,56.54501248912766],[-76.43004341699282,56.53741829227184],[-76.4225951888186,56.52615730860583],[-76.39828108600406,56.52267989597634],[-76.39950661201888,56.502076811131985],[-76.41362499957444,56.48839821060455],[-76.38222450945352,56.470571608360636],[-76.39414849080242,56.464741986759634],[-76.38883007703788,56.45216210640278],[-76.41821419459804,56.44088929185426],[-76.42975129332812,56.423774310334785],[-76.45444360345289,56.417288204482226],[-76.45009910995944,56.40595722077359],[-76.41735692386041,56.39383999475696],[-76.41041967608103,56.37637950435276],[-76.44776897507823,56.36723800130539],[-76.44454100313457,56.353631610813586],[-76.39236301582521,56.339816300470105],[-76.37939340938144,56.33243819298227],[-76.39686822301947,56.30354489248853],[-76.41358469003524,56.30455830026178],[-76.4250680739011,56.290945906772755],[-76.46614857697911,56.288066207603016],[-76.45473141943374,56.27517540479381],[-76.45488321524671,56.257965511648166],[-76.46471879817797,56.248278494870604],[-76.51015858794575,56.24031259227673],[-76.49744849351947,56.21398740942235],[-76.5418385030999,56.199787901542756],[-76.57690639959237,56.180771789953425],[-76.53436519582272,56.1767571042182],[-76.496400603258,56.181787611397],[-76.47138212170609,56.172585099044625],[-76.4757832797218,56.162636196676964],[-76.49926671203603,56.15804309892057],[-76.54692030709728,56.16494818737506],[-76.59521820296698,56.16100950110097],[-76.65378408506051,56.16821280209551],[-76.65657879869336,56.165230502658986],[-76.61710067598754,56.15901149862385],[-76.57839560089054,56.15808880728566],[-76.56938661419133,56.15117831016992],[-76.51611851135428,56.14931198969848],[-76.51383410700109,56.140346207908834],[-76.53162168310685,56.132470700074514],[-76.52366153738019,56.10625520170474],[-76.57351814090178,56.04799901338844],[-76.68262549517566,56.080547605559055],[-76.68419920307545,56.06148299596294],[-76.7200294010441,56.0222262942033],[-76.73839981792351,56.01311389870949],[-76.76940728386398,56.0116365046943],[-76.77370549665758,56.003659686095766],[-76.79862998209474,56.00086548560117],[-76.80741010140363,55.982054795698325],[-76.80807881667445,55.95811110303928],[-76.8197363017208,55.95047009423393],[-76.83052431804656,55.9296328056151],[-76.85952319267042,55.92498240495616],[-76.86152840926404,55.91758728792809],[-76.88476087448686,55.910348702493565],[-76.89433439359287,55.89174330803497],[-76.93269819858979,55.872182511510736],[-76.93920248255326,55.86125658571179],[-76.9611802014727,55.84776700630859],[-76.97926858537956,55.823416388849225],[-76.99367761443408,55.81668250237699],[-77.00464569756092,55.80161850361635],[-77.03501511677831,55.78500198850459],[-77.06294120743111,55.759761998654575],[-77.06671795522651,55.7489134757965],[-77.09274907949205,55.74486389665398],[-77.13900851184908,55.70609749318901],[-77.1845563887976,55.681719494157775],[-77.14789430529943,55.685316700252066],[-77.14275318989849,55.69346959644004],[-77.1159913818445,55.70139170699169],[-77.10585108251293,55.71674809369879],[-77.07760850875479,55.719220698998576],[-77.11672668674291,55.680388490196165],[-77.12371309160565,55.66165699023751],[-77.15946780809307,55.656625795573326],[-77.20084730867424,55.61171471275366],[-77.22193072140942,55.60294158863481],[-77.2528879914565,55.5776579056102],[-77.3027072216729,55.561445991525716],[-77.31688827254254,55.540803007326154],[-77.34357922122591,55.52863779020099],[-77.34547679767591,55.519841609452044],[-77.36617567439825,55.51431210897193],[-77.42730878295757,55.478887803416725],[-77.4621183087903,55.46416829302602],[-77.48984739011158,55.43830641021634],[-77.52280341270475,55.42278679253817],[-77.58084570156115,55.38262260866789],[-77.59002107903275,55.386697603950424],[-77.61628482481595,55.377434293468774],[-77.63779971980095,55.37817279089187],[-77.66119301102692,55.36400090350425],[-77.65986976521695,55.34998309015851],[-77.65477733687274,55.332388242645635],[-77.47281842533799,55.280099909989595],[-77.22643183499426,55.20802681273401],[-77.19347059624263,55.198403692592954],[-77.19054024030744,55.16428603369695],[-77.22140242972543,55.163800997086874],[-77.25005899778022,55.1583488096514],[-77.3046239951313,55.15623538795913],[-77.33459681135366,55.14962701395535],[-77.37697318846827,55.149147101577995],[-77.3944493212237,55.1592663969884],[-77.38814389090659,55.174047696274464],[-77.40021820713783,55.193303209767876],[-77.40787100255173,55.215485801723055],[-77.45403038020758,55.23170610559872],[-77.47062858465463,55.24212998446338],[-77.51267531599987,55.25287428963105],[-77.54216601783921,55.263360704044054],[-77.56691799834864,55.28028069313817],[-77.58905851238374,55.28855149125832],[-77.61999828653286,55.28700540128579],[-77.65538120835623,55.27964359708369],[-77.68059661583551,55.28274270420239],[-77.7141838209802,55.27361399085284],[-77.7603027134617,55.272258191640226],[-77.78881330143996,55.26897120946414],[-77.84228025566942,55.258216635172566],[-77.81097658385337,55.25699259319788],[-77.78141979090482,55.265099711586174],[-77.72040801201285,55.26840309727267],[-77.70090960239479,55.27626658889718],[-77.6598177030699,55.27761361464632],[-77.65829100359639,55.22292797959479],[-77.73002391212049,55.22286649055676],[-77.85453898894231,55.220613654481056],[-77.8503911333035,55.25299695686097],[-77.89718127908019,55.231574696701685],[-77.91484891590025,55.21829780018237],[-77.97123318012328,55.20582899976276],[-78.05692338876952,55.16786529470715],[-78.12679939881477,55.149785987843075],[-78.15749589149875,55.13521659785013],[-78.16080001742684,55.1274644949686],[-78.1899999974527,55.11665379537671],[-78.22831098380172,55.09316209123755],[-78.26427980075711,55.07753630588654],[-78.2703256174077,55.067260493558535],[-78.31657331547619,55.04201588904817],[-78.38764039315305,55.02038840327457],[-78.44098777346125,55.01184130865466],[-78.47468898201014,55.002394701518725],[-78.50478569076363,55.0000000020848],[-78.19999998852347,54.999999993264396],[-77.7499999986577,55.00000000017707],[-77.50000002271832,54.999999993419166],[-77.25000001545783,54.99999999899747],[-76.99999999990358,54.999999997521556],[-76.74999998877628,55.00000000396166],[-76.50000001604232,54.99999999132625],[-76.24999999481501,55.00000000506847],[-76.00000002532471,54.999999991200255],[-75.74999997589016,55.00000000576318],[-75.500000002724,54.99999999382227],[-75.24999998481861,55.00000000316445],[-74.99999997921081,55.00000000878885],[-74.74999999962543,54.999999987983365],[-74.49999997965263,54.99999999540577],[-74.24999998859562,55.00000000748803],[-74.00000000882753,54.99999999551329],[-73.74656033825813,55.000003831497374],[-73.74670283136817,55.17850789251409],[-73.74691491141213,55.44116011717986],[-73.74707215909302,55.633562082739154],[-73.7472947350578,55.90260764900815],[-73.74744385010742,56.080657760611864],[-73.74766897343714,56.3462900860919],[-73.74780074965241,56.50000236660127],[-73.7480156186633,56.747881716480805],[-73.74827614124922,57.04392577294388],[-73.74841415903697,57.19880610176908],[-73.7486245127356,57.43227464379082],[-73.74879451520394,57.6187780665272],[-73.74908060184723,57.92819676041784],[-73.74936920076597,58.234824408927864],[-73.74961978822752,58.496710086377625],[-73.7497920003703,58.67438327003618],[-73.74994504119907,58.83075224481241],[-73.7501123285961,59.000000105398996],[-74.00000000648716,58.99999999971121],[-74.24999999947175,58.9999999996869],[-74.50000000620639,59.00000000461409],[-74.74933926746867,59.00000066386781],[-74.74940241159226,59.124375801523286],[-74.74950930109746,59.332820485974715],[-74.74959595810739,59.50000038811264],[-74.74969466364207,59.68833316565466],[-74.74981803469956,59.92064335574912],[-74.74994335890125,60.153337810197286],[-74.75006361796441,60.373556726994956],[-74.75014699193552,60.524475413912285],[-74.75025589632769,60.7193908371666],[-74.75039152670986,60.95892113629315],[-74.75054233408602,61.220972535057435],[-74.75064521327053,61.39717581254252],[-74.75073530250116,61.549871538652084],[-74.75085468037557,61.750000799079565],[-74.75095609430151,61.91784964369078],[-74.75109302052189,62.14162175976673],[-74.73300057475358,62.161392998825825],[-74.74625067075696,62.17777864042077],[-74.82388118431273,62.21664457719542],[-74.88384726732714,62.258829890285554]],[[-77.19595839000897,55.15870209852001],[-77.19169159011255,55.15776984678884],[-77.18383620502435,55.10135494904668],[-77.28702348817566,55.101725499592476],[-77.372597097318,55.142692200512286],[-77.29770048441898,55.152340302395295],[-77.26584789729934,55.15263000455185],[-77.22559067734741,55.15852410056422],[-77.19595839000897,55.15870209852001]],[[-77.16870266839908,60.07373857664309],[-77.16188120186729,60.00000004190696],[-77.33016201773279,59.99999999027667],[-77.3469496731946,60.01910752913696],[-77.37025907971186,60.02098020506742],[-77.38978988675854,60.04026198857953],[-77.3852791769458,60.05343560695675],[-77.41693539640757,60.06093471620138],[-77.41765785028187,60.08384500327133],[-77.16978978999644,60.08545879628551],[-77.16870266839908,60.07373857664309]],[[-78.24032007942797,58.513454240680794],[-78.25727671188767,58.524921791001304],[-78.28686508441733,58.50865348933492],[-78.30856180336407,58.51267891109136],[-78.3132794021023,58.5345477963694],[-78.35465797727566,58.5676989023713],[-78.35198112527848,58.57576959312144],[-78.39334702384802,58.590861792028036],[-78.36754391776844,58.609683988763535],[-78.34124942228347,58.60654320570236],[-78.33764961725818,58.623018106689216],[-78.37624368757923,58.61579369558596],[-78.41752519320666,58.61152880485794],[-78.44280499506871,58.61995770442118],[-78.4542579818141,58.611847106656725],[-78.43548452184464,58.60299909126476],[-78.43064508823679,58.56462499514926],[-78.3963194823731,58.57094439429837],[-78.37169842442214,58.548441291786915],[-78.3628373950788,58.5307419881645],[-78.39664782158945,58.53951549881821],[-78.42654672139132,58.54135018950563],[-78.4405770982167,58.5484752063627],[-78.45882391930824,58.567439404999014],[-78.4618730890403,58.57941418700147],[-78.47892702235538,58.593418489602215],[-78.477799480021,58.603744299560056],[-78.49329739703688,58.62705690225717],[-78.51712009329951,58.63357157482867],[-78.49465826723846,58.65634429330594],[-78.41838043480237,58.65247563958603],[-78.31338442192471,58.65448060344756],[-78.26272537703693,58.643015996889574],[-78.25873058074545,58.63122981194171],[-78.21003169758028,58.61046080904883],[-78.10457204527552,58.56810926364523],[-77.99999997643934,58.52149582772693],[-77.96876112051596,58.5000281178046],[-77.92265175561407,58.45407156586778],[-77.90987012783873,58.43440339142698],[-77.91331480855602,58.42013271164077],[-77.89907895003365,58.417026458430925],[-77.87460047130222,58.37347027580676],[-77.8827700803863,58.37259429326486],[-77.70905471234414,58.318946203379795],[-77.62591787603544,58.29689243715962],[-77.5226300997494,58.2719844002232],[-77.51967703775375,58.262495917978406],[-77.55453891321133,58.223677703596444],[-77.5770501025509,58.22422248940857],[-77.60658448773597,58.231170484420055],[-77.5990706142014,58.24031650089063],[-77.62623640714517,58.24639000013716],[-77.65233477624793,58.257292600368274],[-77.64960979175832,58.263042594421556],[-77.69178240635543,58.273250013018306],[-77.71957879138553,58.275926704748905],[-77.76881078941331,58.28815080610295],[-77.77294819083542,58.29638668780965],[-77.80129642502061,58.30046019385361],[-77.82885600576614,58.31457390175754],[-77.84029021273916,58.311725991124156],[-77.86417088178656,58.32160309849211],[-77.86777498791874,58.33038569340928],[-77.91129051527778,58.338033406151865],[-77.9467506851426,58.33757129920966],[-78.0265154904486,58.362926285602256],[-78.03710851714516,58.37454468963855],[-78.0572652917822,58.37550619421568],[-78.05254768980949,58.38962629680279],[-78.02198339447477,58.394030685800395],[-78.05244268834772,58.41145778493026],[-78.04336687357026,58.42039840611377],[-78.07436474155432,58.43031888870809],[-78.10446120122438,58.44828371231788],[-78.13358119501977,58.45058959477894],[-78.16596118716755,58.448529204178534],[-78.16818941168742,58.462013196257026],[-78.22100280914474,58.4901588095469],[-78.22640089480423,58.50433530396074],[-78.24032007942797,58.513454240680794]],[[-75.57845831900201,62.23924051428851],[-75.52417528445216,62.25324838740606],[-75.51453311705696,62.27000749938377],[-75.45281068433768,62.30371020959222],[-75.44238879525474,62.29649270755836],[-75.42712721518198,62.26504000657615],[-75.40481452372148,62.250624629363],[-75.48501543457193,62.24352057236709],[-75.49410125643624,62.16166647525985],[-75.48950276008128,62.10409652113908],[-75.43616801333681,62.06125642062012],[-75.3440079159577,61.970791268989935],[-75.4296746441672,61.9475957945748],[-75.55503831385758,61.94292395971531],[-75.57150229588787,61.981064012119994],[-75.57482758916794,62.024943991564875],[-75.65984188566834,62.01561571780616],[-75.83705750646541,62.11763944843409],[-75.94327170069344,62.14633146702103],[-75.99201718774168,62.12681478973697],[-76.0170845100432,62.14766495660832],[-75.99280595005278,62.15463788810936],[-75.9505101999487,62.19650601793652],[-75.94364589988359,62.21535343273717],[-75.77344079378427,62.26994861082465],[-75.71441720274815,62.30348069500809],[-75.62254441389437,62.287389013205114],[-75.61321210408346,62.276761499765094],[-75.58922588088701,62.277510597223355],[-75.56185567928999,62.27070690525577],[-75.5718971018948,62.26198910111592],[-75.62107248761507,62.25256668698649],[-75.63370582609957,62.25332270008475],[-75.66482231791836,62.24033068985558],[-75.67945521493793,62.24131739054596],[-75.70043080284157,62.22236080493156],[-75.74255039982918,62.20534769171844],[-75.7900852939372,62.20382360975398],[-75.82327151217493,62.19407861278984],[-75.84398299345122,62.18032960444472],[-75.86348529335666,62.17732908929901],[-75.8684967748189,62.164033006824496],[-75.8524216216423,62.15789391377046],[-75.806349112553,62.16317719022938],[-75.79388339002234,62.168550407746906],[-75.78299752554537,62.187959189622056],[-75.7325720755319,62.18534340618937],[-75.69163519997431,62.20077838742664],[-75.6731982059267,62.20363399614033],[-75.63245922155299,62.22354839850834],[-75.59981521067836,62.229337309896806],[-75.57845831900201,62.23924051428851]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.89460647790652,\"lat\":58.64962358091761},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499904\"],\"csd_name_en\":[\"Baie-d'Hudson\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Baie-d'Hudson\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.78544097030938,44.793587107874984],[-75.84176528149749,44.758623007387975],[-75.91147651927413,44.81333398528121],[-75.97039549181825,44.862301388698725],[-75.97543939931,44.857424209497715],[-76.1099979996269,44.77788536466826],[-76.06315808798941,44.736047304266826],[-75.98381330722164,44.667388636027894],[-75.93338548363305,44.69997499935817],[-75.85198980160739,44.5971605052416],[-75.83196148988435,44.57346378534168],[-75.77760387099111,44.50382574084316],[-75.7669131448578,44.51525792531896],[-75.72096942477619,44.547417579803806],[-75.70118006957463,44.56412771597124],[-75.73635133491932,44.60757484135453],[-75.69416464448597,44.63502455685969],[-75.66658208578328,44.60125039533155],[-75.65591323932189,44.596114230990295],[-75.63528182817802,44.609103997555],[-75.7088263171021,44.69703440118897],[-75.78544097030938,44.793587107874984]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.86444588753967,\"lat\":44.699111984818856},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3507\"],\"cd_name_en\":[\"Leeds and Grenville\"],\"csd_code\":[\"3507014\"],\"csd_name_en\":[\"Elizabethtown-Kitley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Leeds and Grenville\",\"csd_name_fr\":\"Elizabethtown-Kitley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.59028334907376,44.16161063536936],[-76.64409809975102,44.250323105957236],[-76.7012005858697,44.33325389377906],[-76.71279459664213,44.35179371049682],[-76.72873541759185,44.374071274871845],[-76.90446959385838,44.288793745610334],[-76.86517200551081,44.23688279256396],[-76.80724409865479,44.14854874160018],[-76.83712357031365,44.13269646825593],[-76.75811651966785,44.011100752383136],[-76.63490549596303,44.03228068989664],[-76.52473737456343,44.05517251719347],[-76.59028334907376,44.16161063536936]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.72056012228316,\"lat\":44.178277396550754},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3511\"],\"cd_name_en\":[\"Lennox and Addington\"],\"csd_code\":[\"3511005\"],\"csd_name_en\":[\"Loyalist\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Lennox and Addington\",\"csd_name_fr\":\"Loyalist\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.72873541759185,44.374071274871845],[-76.77552478829926,44.43725719652697],[-76.82535499267522,44.50728650649095],[-76.84072867484346,44.52356558497959],[-76.92464823183401,44.63847999764062],[-77.03219156421642,44.611959620435954],[-77.19008382974317,44.57140666299804],[-77.05544043544742,44.41985627807885],[-76.96949270834452,44.3229818036676],[-76.92788256023147,44.27752707740283],[-76.90446959385838,44.288793745610334],[-76.72873541759185,44.374071274871845]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.94852630918844,\"lat\":44.46756948011379},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3511\"],\"cd_name_en\":[\"Lennox and Addington\"],\"csd_code\":[\"3511030\"],\"csd_name_en\":[\"Stone Mills\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Lennox and Addington\",\"csd_name_fr\":\"Stone Mills\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-77.40763615471062,44.8994996115468],[-77.48071442062952,45.03368991112569],[-77.6301598790939,44.99558878244443],[-77.55622766372177,44.85863281708614],[-77.40763615471062,44.8994996115468]]],[[[-77.63024409733835,44.645388733431474],[-77.58454731418192,44.66140650380273],[-77.5383317117205,44.67344240973108],[-77.4756991053719,44.68501082083756],[-77.56819855997844,44.8553190278807],[-77.72049088632815,44.81360190521017],[-77.63024409733835,44.645388733431474]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.56368709621663,\"lat\":44.83742736801812},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3512\"],\"cd_name_en\":[\"Hastings\"],\"csd_code\":[\"3512048\"],\"csd_name_en\":[\"Tudor and Cashel\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Hastings\",\"csd_name_fr\":\"Tudor and Cashel\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.55622766372177,44.85863281708614],[-77.6301598790939,44.99558878244443],[-77.67192751558026,44.98320089935219],[-77.78885863532561,44.952051580975606],[-77.78919485350664,44.95195505854013],[-77.77358219544524,44.91606390373308],[-77.7509695002107,44.881602311040204],[-77.74003519250581,44.852923697070025],[-77.72049088632815,44.81360190521017],[-77.56819855997844,44.8553190278807],[-77.55622766372177,44.85863281708614]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.67372390776521,\"lat\":44.90448097445961},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3512\"],\"cd_name_en\":[\"Hastings\"],\"csd_code\":[\"3512051\"],\"csd_name_en\":[\"Limerick\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Hastings\",\"csd_name_fr\":\"Limerick\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.20964553593151,44.55760994903969],[-78.21006454081554,44.56370549774231],[-78.23848755633695,44.62490325138257],[-78.27463385633521,44.706300138642376],[-78.24981514946039,44.71202081367447],[-78.2808362765786,44.766143760853616],[-78.31671652174992,44.84189587069812],[-78.33292103392726,44.86993138121913],[-78.48541513277642,44.83403853247786],[-78.65482845585237,44.793891706630795],[-78.56892151237801,44.60378160966495],[-78.54370784622472,44.55009663640927],[-78.52919023807632,44.55394236276162],[-78.51433374445509,44.52251577487964],[-78.51006548011016,44.497118628294366],[-78.4925877316439,44.47869764052393],[-78.48846548941079,44.467456523670954],[-78.46155231132015,44.47724325148624],[-78.42611322293384,44.46564751808756],[-78.40444834323587,44.45470412851599],[-78.38319769959635,44.46368910963726],[-78.38202692027347,44.47820592738815],[-78.36603238833774,44.51811354942303],[-78.35260565618992,44.53285871470783],[-78.34532022544586,44.55651802008631],[-78.3094290018411,44.55886067703408],[-78.27943796960642,44.555470115477576],[-78.26840955437603,44.54825336368421],[-78.24950347820241,44.54686273777193],[-78.23568663496614,44.55593396921806],[-78.20964553593151,44.55760994903969]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.42821773529167,\"lat\":44.67550240516672},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3515\"],\"cd_name_en\":[\"Peterborough\"],\"csd_code\":[\"3515044\"],\"csd_name_en\":[\"Trent Lakes\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Peterborough\",\"csd_name_fr\":\"Trent Lakes\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.38940409918783,43.095834693333984],[-79.51033204995126,43.092729938494905],[-79.51213761190743,43.13260600313033],[-79.64964000650859,43.16312998898839],[-79.65863482546928,43.143973510406624],[-79.70975309011554,43.15583932352125],[-79.7540796342317,43.05053396971242],[-79.58375075647707,42.98987309155949],[-79.57224734685678,42.99365683960434],[-79.54059095617191,42.9838834541924],[-79.51578335669446,43.00003010536915],[-79.488015061282,42.99796915758535],[-79.44503989754176,43.001526559222405],[-79.38617428689125,42.98609476528956],[-79.38940409918783,43.095834693333984]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.57033346389107,\"lat\":43.06774074300348},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3526\"],\"cd_name_en\":[\"Niagara\"],\"csd_code\":[\"3526021\"],\"csd_name_en\":[\"West Lincoln\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Niagara\",\"csd_name_fr\":\"West Lincoln\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.97072188554529,43.35012949977715],[-80.95356607483549,43.34965687395296],[-80.95281006825147,43.36420054552724],[-80.93782700349392,43.36703446398787],[-80.95308554797457,43.384594799845715],[-80.97296184143556,43.38895969169142],[-81.00149521411045,43.40175578412979],[-81.01404108273569,43.385738888548225],[-81.01323687122498,43.36362228841343],[-81.03039076464356,43.337738721018646],[-81.01593492587007,43.33218463508448],[-81.00224590625965,43.33705037663859],[-80.99692643470286,43.349126428443],[-80.97072188554529,43.35012949977715]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.98735199661526,\"lat\":43.36731046628194},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3531\"],\"cd_name_en\":[\"Perth\"],\"csd_code\":[\"3531011\"],\"csd_name_en\":[\"Stratford\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Perth\",\"csd_name_fr\":\"Stratford\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.18966120613086,43.069799942708],[-81.17885955900194,43.074343659701704],[-81.24215652670532,43.198181002369445],[-81.44009400011291,43.143109004053436],[-81.4643791128047,43.136349497885334],[-81.46337708921803,43.13066250981832],[-81.59451098614407,43.033928709992665],[-81.55507848855522,43.00488739791141],[-81.43802125684678,42.918953923983864],[-81.44010021510344,42.90933065975565],[-81.41896948617986,42.899888149507554],[-81.43320730149503,42.889469907739404],[-81.40556907039058,42.87025851665563],[-81.38788340542148,42.8684853576852],[-81.39872073259701,42.851893560002765],[-81.38650307064574,42.85513484328668],[-81.36725774599454,42.813416020637376],[-81.3731601097949,42.80610799816786],[-81.30110118573769,42.82451730319773],[-81.28519553151733,42.845743045853666],[-81.30106349027866,42.88149563766377],[-81.33656372330904,42.878853697417284],[-81.35006714293985,42.908553671744755],[-81.36249988162523,42.92395298515315],[-81.37214019513341,42.92230735164989],[-81.39061200077143,42.96276160984797],[-81.35267115329202,42.99013119088065],[-81.36879795835092,43.021898716309224],[-81.19304941370446,43.0732445572308],[-81.18966120613086,43.069799942708]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.3822441741404,\"lat\":43.03761964351772},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3539\"],\"cd_name_en\":[\"Middlesex\"],\"csd_code\":[\"3539033\"],\"csd_name_en\":[\"Middlesex Centre\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Middlesex\",\"csd_name_fr\":\"Middlesex Centre\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.11969615411492,42.89080406713756],[-81.126781703912,42.921664390658535],[-81.11554061293761,42.92275181416645],[-81.11088018732072,42.93524140581413],[-81.12006755962103,42.97601579839245],[-81.1317679908572,42.982829499487345],[-81.12029733675676,43.005832099721054],[-81.13582464707949,43.040518560114954],[-81.13195370344854,43.05326078784804],[-81.16670639477209,43.05055099370727],[-81.18966120613086,43.069799942708],[-81.19304941370446,43.0732445572308],[-81.36879795835092,43.021898716309224],[-81.35267115329202,42.99013119088065],[-81.39061200077143,42.96276160984797],[-81.37214019513341,42.92230735164989],[-81.36249988162523,42.92395298515315],[-81.35006714293985,42.908553671744755],[-81.33656372330904,42.878853697417284],[-81.30106349027866,42.88149563766377],[-81.28519553151733,42.845743045853666],[-81.30110118573769,42.82451730319773],[-81.20972341604481,42.8470404029952],[-81.11475685911726,42.870648339119334],[-81.11969615411492,42.89080406713756]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.23820900037126,\"lat\":42.95322729722831},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3539\"],\"cd_name_en\":[\"Middlesex\"],\"csd_code\":[\"3539036\"],\"csd_name_en\":[\"London\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Middlesex\",\"csd_name_fr\":\"London\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.52201825904945,45.47116764237927],[-77.50080457577677,45.472220887781695],[-77.36073529537356,45.509292444218325],[-77.39212802418612,45.56635103892542],[-77.45494537630294,45.68023445395015],[-77.46435809197452,45.701145689123074],[-77.49826478284974,45.76427344898628],[-77.6738333052384,45.71735630301182],[-77.64923200690518,45.67768759819374],[-77.63888631365275,45.655946783267375],[-77.57818203338336,45.54943847431906],[-77.54104717960722,45.478391892045096],[-77.52201825904945,45.47116764237927]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.51633874018701,\"lat\":45.61465663574314},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3547\"],\"cd_name_en\":[\"Renfrew\"],\"csd_code\":[\"3547033\"],\"csd_name_en\":[\"Killaloe\",\"Hagarty and Richards\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Renfrew\",\"csd_name_fr\":\"Killaloe, Hagarty and Richards\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.40688487000463,45.7635684770884],[-80.41652400844288,45.78013134209264],[-80.46652784606641,45.767009296973974],[-80.47871604408593,45.7729521141142],[-80.52304340885138,45.77058942983861],[-80.52173276797087,45.72663388448249],[-80.3985905334631,45.725951717136084],[-80.39896590773932,45.743158764872305],[-80.40688487000463,45.7635684770884]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.46114055035733,\"lat\":45.74912335632341},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3549\"],\"cd_name_en\":[\"Parry Sound\"],\"csd_code\":[\"3549078\"],\"csd_name_en\":[\"Magnetewan 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Parry Sound\",\"csd_name_fr\":\"Magnetewan 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.8154044410085,46.191990380655156],[-81.69015439084988,46.19183453360996],[-81.6905967240934,46.27849279293073],[-81.81550559163367,46.27859468953748],[-81.81691223382217,46.20590263902003],[-81.8154044410085,46.191990380655156]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.75328225521909,\"lat\":46.23515086119529},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3552\"],\"cd_name_en\":[\"Sudbury\"],\"csd_code\":[\"3552026\"],\"csd_name_en\":[\"Espanola\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Sudbury\",\"csd_name_fr\":\"Espanola\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.11658699714319,46.09586099961496],[-81.13269121594504,46.09494339767199],[-81.16245878728117,46.077444605567564],[-81.1839982890804,46.0697646084942],[-81.18373074040629,46.054987602791584],[-81.21234715602807,46.03466783782624],[-81.22654188209225,46.03634974949795],[-81.22044695617106,46.00686049862868],[-81.2048699283985,45.999851203680564],[-81.1555927382026,46.001567091312175],[-81.1447900619712,45.984570298050286],[-81.15634364797442,45.970199292160835],[-81.17531864926309,45.96078541354769],[-81.18283124881415,45.94718391360598],[-81.1780208412706,45.931808297824794],[-81.14215695291873,45.91966189476555],[-81.14248903810241,45.93342339723675],[-81.12987753657099,45.94543499683882],[-81.09474415957328,45.938198202193156],[-81.0761572551959,45.94037213949104],[-81.07713284892961,46.04792842711744],[-81.07234371192519,46.11623790896541],[-81.09023511075429,46.10405699107103],[-81.11658699714319,46.09586099961496]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.13215736547151,\"lat\":46.01753497172986},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3552\"],\"cd_name_en\":[\"Sudbury\"],\"csd_code\":[\"3552037\"],\"csd_name_en\":[\"Point Grondine 3\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Sudbury\",\"csd_name_fr\":\"Point Grondine 3\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.63176828533545,47.66773891251983],[-79.63089753138571,47.75456686164803],[-79.75999530044108,47.754544699411596],[-79.7598728120459,47.68217391073684],[-79.74750938159787,47.66771590836484],[-79.63176828533545,47.66773891251983]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.695143345246,\"lat\":47.711509672231045},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3554\"],\"cd_name_en\":[\"Timiskaming\"],\"csd_code\":[\"3554034\"],\"csd_name_en\":[\"Hilliard\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Timiskaming\",\"csd_name_fr\":\"Hilliard\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-83.5459712023544,46.27079320159029],[-83.56793665676742,46.26112860242265],[-83.56503103215435,46.25059139488709],[-83.54030754051527,46.256022195788994],[-83.5459712023544,46.27079320159029]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-83.55408313015823,\"lat\":46.25980954978934},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3557\"],\"cd_name_en\":[\"Algoma\"],\"csd_code\":[\"3557028\"],\"csd_name_en\":[\"Thessalon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Algoma\",\"csd_name_fr\":\"Thessalon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-84.5319499374447,46.72383460038618],[-84.51282685743176,46.727007905936674],[-84.51048866235992,46.738531853443405],[-84.5329011332079,46.737402715009466],[-84.5319499374447,46.72383460038618]]],[[[-84.5319499374447,46.72383460038618],[-84.54909160253834,46.7012685532345],[-84.52712423339436,46.70290698286758],[-84.51942653805644,46.716396004062496],[-84.5319499374447,46.72383460038618]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-84.52835612999235,\"lat\":46.71989497536663},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3557\"],\"cd_name_en\":[\"Algoma\"],\"csd_code\":[\"3557077\"],\"csd_name_en\":[\"Goulais Bay 15A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Algoma\",\"csd_name_fr\":\"Goulais Bay 15A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-93.30827706158307,48.633487121378295],[-93.31670383879721,48.65200011173903],[-93.35819614561922,48.63162267166556],[-93.360740783694,48.62877869970615],[-93.36519213036014,48.631626265800996],[-93.37489579186321,48.63718060876675],[-93.42014747262049,48.63676096285627],[-93.42090647078912,48.648662874108275],[-93.44998178375367,48.649003413963904],[-93.44986614667195,48.59296473513104],[-93.43477778810254,48.59536110644833],[-93.40350000807128,48.60997220243428],[-93.39863877540938,48.604416715767],[-93.37144424423694,48.605861133750075],[-93.3550831684084,48.61138892177467],[-93.34866656301179,48.62644441502766],[-93.30827706158307,48.633487121378295]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-93.39757454714938,\"lat\":48.6239807120434},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3559\"],\"cd_name_en\":[\"Rainy River\"],\"csd_code\":[\"3559012\"],\"csd_name_en\":[\"Fort Frances\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Rainy River\",\"csd_name_fr\":\"Fort Frances\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-93.7190488026473,48.73769546571443],[-93.71744348630048,48.70085120532882],[-93.71728624225074,48.61975158388655],[-93.72244829188445,48.517730383593474],[-93.6930277889774,48.51519440249533],[-93.64730561256121,48.51766671144414],[-93.62566670388186,48.53144440997779],[-93.61224999680682,48.522388891929275],[-93.58426685437318,48.52825860557209],[-93.58360316749595,48.64907494617549],[-93.58323743186982,48.73765163056575],[-93.7190488026473,48.73769546571443]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-93.65195898576202,\"lat\":48.628672381583705},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3559\"],\"cd_name_en\":[\"Rainy River\"],\"csd_code\":[\"3559016\"],\"csd_name_en\":[\"La Vallee\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Rainy River\",\"csd_name_fr\":\"La Vallee\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-93.9582106680884,49.41212257447141],[-93.96038207201833,49.451273017160595],[-93.9578136771985,49.626257744963326],[-94.0720473036838,49.62419319130549],[-94.07697479328237,49.639186891124695],[-94.10461861829496,49.63616690550986],[-94.1319563865214,49.641972507902224],[-94.15022358767779,49.65067940187934],[-94.16984459203708,49.652587591987015],[-94.2184241878912,49.66504819510231],[-94.22957951940447,49.6634256232485],[-94.23010046083675,49.625767431031875],[-94.30770161498934,49.625519836564834],[-94.31226934801973,49.62164312254139],[-94.37502967532012,49.634829720137326],[-94.39387636545486,49.630376526209844],[-94.38407136944616,49.616677828614655],[-94.3707638751032,49.616080640605844],[-94.35465036625128,49.62560731771188],[-94.34454887005606,49.61327593651669],[-94.31715315433736,49.612772422891624],[-94.28586986320475,49.60707954019519],[-94.3028755554679,49.594395228781444],[-94.3420526738052,49.60101754144664],[-94.37379906372445,49.58368912087519],[-94.38689346589537,49.59269893838078],[-94.38397864272542,49.60314121834714],[-94.41497886516575,49.60591452394637],[-94.43158597631813,49.59306304164489],[-94.3910639424143,49.58364472283762],[-94.38820553786829,49.573109741301856],[-94.36544593924512,49.56595962224485],[-94.34948515977256,49.553886427399696],[-94.32471525267329,49.549045543221375],[-94.32525121053196,49.54000918204152],[-94.22656680571403,49.53926178950929],[-94.22615416901873,49.36685578127975],[-94.20381521969864,49.272332306095976],[-94.20296885401095,49.20026295501241],[-94.09284924413753,49.20099194821084],[-94.09004585836314,49.18203604220151],[-94.09481327448958,49.10849572920393],[-94.11785367744011,49.119177830012504],[-94.14470175863937,49.09651501769092],[-94.1605056717974,49.099253819829116],[-94.17964335954582,49.089964932546316],[-94.20781925301043,49.102411629354066],[-94.22875128527824,49.096176703062824],[-94.22962141070938,49.00002419670272],[-94.09573534952946,49.00007638145518],[-93.92927450748327,49.00080090987621],[-93.83000854259018,49.00005988892931],[-93.82948609285116,49.107451107315356],[-93.72759016901193,49.106772066579126],[-93.7271904154159,49.19252200704875],[-93.90723470711822,49.192905812039974],[-93.9082723801366,49.16517544665927],[-93.93212858605517,49.1658276796354],[-93.9360497937537,49.17856911237588],[-93.91574056844371,49.19307616141189],[-93.93719436013927,49.19329631355572],[-93.95601695991598,49.203887335840335],[-93.95928445609051,49.33148517533497],[-93.95810385170667,49.34203585377184],[-93.96767276531722,49.343442195173424],[-93.96811409836084,49.363658190417475],[-93.99156661726501,49.36333457562089],[-93.98912569700019,49.38279118842642],[-93.97317285474597,49.38746683066692],[-93.96850027666937,49.39834012453448],[-93.95039606045059,49.40104166592867],[-93.97678973727432,49.39961593269175],[-93.98290775596004,49.41195952620437],[-93.9582106680884,49.41212257447141]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-94.062709429648,\"lat\":49.31138712590237},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560008\"],\"csd_name_en\":[\"Sioux Narrows-Nestor Falls\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Sioux Narrows-Nestor Falls\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-87.87165970598721,52.224325899294364],[-87.90545856133485,52.22540874525883],[-87.90900165047059,52.206392370357634],[-87.87283571730941,52.20493853152321],[-87.87165970598721,52.224325899294364]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-87.88970930758832,\"lat\":52.21515495380968},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560081\"],\"csd_name_en\":[\"Lansdowne House\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian settlement \\/ \\u00c9tablissement indien\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Lansdowne House\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-88.48539983079975,52.719909066145895],[-88.46333750860728,52.739361103524026],[-88.46580567208768,52.75636317404825],[-88.49694816865079,52.7694442663981],[-88.53010244183025,52.76500598559753],[-88.54366701627264,52.7478786482968],[-88.54135306942608,52.737839586837424],[-88.50951930731993,52.720669803532246],[-88.48539983079975,52.719909066145895]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-88.5025911653871,\"lat\":52.74494960163258},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560086\"],\"csd_name_en\":[\"Summer Beaver\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian settlement \\/ \\u00c9tablissement indien\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Summer Beaver\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-89.05179763150001,53.524396630661286],[-89.06354292904722,53.52157064028107],[-89.09325963587231,53.48449822813474],[-89.10314223200069,53.48780422387827],[-89.08455662667042,53.506267617994084],[-89.11557683741148,53.50868412469185],[-89.13470801064159,53.49819763246234],[-89.15590464191132,53.47665584205389],[-89.1565726252031,53.43594171719357],[-89.14374851791736,53.42960253833302],[-89.17046251338242,53.42023762290053],[-89.1783528430198,53.412190021903626],[-89.20119434114588,53.420583329033796],[-89.22555562751886,53.41584853202189],[-89.2514680072664,53.39876361675198],[-89.18366341514695,53.37539263888172],[-89.15998863065387,53.388524128411156],[-89.14582751792618,53.41714202321191],[-89.1228168442595,53.425240532821654],[-89.11899383908272,53.43742153912944],[-89.08991411001169,53.465211919453346],[-89.07277061465746,53.48978943452593],[-89.04712033206111,53.50850391663152],[-89.05179763150001,53.524396630661286]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-89.14403829580353,\"lat\":53.446060646840024},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560100\"],\"csd_name_en\":[\"Wawakapewin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Wawakapewin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-95.98799418166912,50.13439351354769],[-95.99887454436396,50.13244752386552],[-96.02325387482828,50.11667582333615],[-96.04341517354712,50.134620764671546],[-96.08742365826993,50.13426324983758],[-96.0856872900835,50.061262410987965],[-96.08625910266774,49.884518985652306],[-96.09219919006863,49.884578506391286],[-96.09207654191744,49.79591613402787],[-95.8156662834464,49.79741448905733],[-95.81569878271246,49.886120516438986],[-95.82043205351054,49.88618410446224],[-95.82142980055073,49.977953906099664],[-95.82346964215579,50.00032378705404],[-95.82037810497144,50.032945908487136],[-95.82069812176684,50.105019810141805],[-95.82119160192381,50.129361595845296],[-95.8440710424284,50.11139093854147],[-95.86281106470392,50.11490402839493],[-95.87273163439532,50.13435663546798],[-95.88850854958001,50.13438111596123],[-95.88853253005651,50.137774114419415],[-95.93099514403275,50.139470140022226],[-95.93626436943228,50.13433762107397],[-95.98799418166912,50.13439351354769]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-95.95435272229791,\"lat\":49.96230685042419},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4601\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4601046\"],\"csd_name_en\":[\"Whitemouth\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Whitemouth\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.04874297750447,49.59118752034386],[-97.02579780736339,49.59116349649461],[-97.02589845869458,49.6092861606299],[-97.04879430023281,49.609259577580225],[-97.04881056564669,49.620678622481016],[-97.0714607968407,49.62066511218851],[-97.07142018788734,49.591177309387824],[-97.04874297750447,49.59118752034386]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.05137520056935,\"lat\":49.603739647638015},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4602\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4602046\"],\"csd_name_en\":[\"Niverville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Niverville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-98.11428551681823,49.20709059594684],[-98.13705418704795,49.20296401114247],[-98.14922707359158,49.19231117681542],[-98.14940634615796,49.17756932614814],[-98.11087269854208,49.177667090277076],[-98.08834799924593,49.17217100383038],[-98.08668399975494,49.19230529480816],[-98.06909821543614,49.19270228925854],[-98.06932210769135,49.20710580696744],[-98.11428551681823,49.20709059594684]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-98.11050860599664,\"lat\":49.19196483275475},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4603\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4603053\"],\"csd_name_en\":[\"Morden\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Morden\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-100.3078652124531,49.35532180774378],[-100.57903969301515,49.35530820640503],[-100.58037888603968,49.31113949605892],[-100.5789112978469,49.26693681086511],[-100.57908708643602,49.17764240097513],[-100.5558268401065,49.17364225429183],[-100.55564830809143,49.00004779180111],[-100.28823067006111,49.000041871217114],[-100.28895941025718,49.07795084994492],[-100.28743058313398,49.09213309959387],[-100.28730020289883,49.1776120017224],[-100.30851575345076,49.17761777217228],[-100.30899401988268,49.26944120217523],[-100.3075433163072,49.28063672504005],[-100.3078652124531,49.35532180774378]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.4329643165679,\"lat\":49.178338461568536},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4605\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4605038\"],\"csd_name_en\":[\"Deloraine-Winchester\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Deloraine-Winchester\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-96.95673430673955,49.99460159584948],[-97.03224663863466,50.02865676186599],[-97.04260229404089,50.018418440082336],[-97.03885056137075,49.99895654030466],[-97.06033659093187,49.97794598195512],[-97.07018813966467,49.96282085303332],[-96.99770478274903,49.93044049375969],[-97.00148129123326,49.967343291585685],[-96.99010800361977,49.974558694216974],[-96.96176330793064,49.97430680916341],[-96.95673430673955,49.99460159584948]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.01532261564016,\"lat\":49.981650405203574},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4613\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4613032\"],\"csd_name_en\":[\"East St. Paul\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"East St. Paul\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-100.2306995890035,50.329021088329554],[-100.23009871813048,50.413983415105605],[-100.23188900498138,50.55017409375988],[-100.23054931214824,50.59467040239845],[-100.53126928789781,50.594459701511695],[-100.78441598586656,50.594389104585666],[-100.78457868877209,50.328943606156614],[-100.60360718394311,50.32896360087836],[-100.50667596386401,50.32811949654404],[-100.43820691221177,50.329004795460364],[-100.2306995890035,50.329021088329554]],[[-100.33409789460946,50.53541166511138],[-100.33475836752406,50.579463117810675],[-100.27736229613801,50.5791292079445],[-100.26555345421946,50.56560899454205],[-100.26544499778424,50.55026390861797],[-100.27733050927513,50.53702799854867],[-100.31234467791778,50.5281282054026],[-100.33409789460946,50.53541166511138]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.51194619388666,\"lat\":50.45963652728077},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4615\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4615063\"],\"csd_name_en\":[\"Yellowhead\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Yellowhead\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.31084957806479,53.832307364653694],[-101.32049505205299,53.83023205701483],[-101.32405515675242,53.8183237409561],[-101.3129735068864,53.81315478254041],[-101.31084957806479,53.832307364653694]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.3167742295518,\"lat\":53.823111958987816},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4621\"],\"cd_name_en\":[\"Division No. 21\"],\"csd_code\":[\"4621040\"],\"csd_name_en\":[\"Opaskwayak Cree Nation 21I\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 21\",\"csd_name_fr\":\"Opaskwayak Cree Nation 21I\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.15800212220381,49.733922509133095],[-103.13548742841918,49.73343099143727],[-103.14577546122428,49.739696051334676],[-103.15799741123664,49.741010692742094],[-103.15800212220381,49.733922509133095]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.14934154062065,\"lat\":49.736666380742214},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701067\"],\"csd_name_en\":[\"Heward\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Heward\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.41575770930376,50.04713659652534],[-102.41561911851511,49.872481753472485],[-102.41272150523729,49.87253674079581],[-102.41290226452449,49.78443172235966],[-102.33540729479441,49.784282793711185],[-102.33500265285092,49.80632829260499],[-102.16525705883132,49.80623526070527],[-102.16804709514388,49.784749523392584],[-102.00621251058169,49.78456399320388],[-102.00642726458825,50.04672129034958],[-102.02897849217662,50.04725608949972],[-102.41575770930376,50.04713659652534]],[[-102.28382267304606,49.83087813136642],[-102.28923745869865,49.83180974010031],[-102.28943216125725,49.83559626990476],[-102.27880767280821,49.83406129233931],[-102.28382267304606,49.83087813136642]],[[-102.02903528481946,49.91256681360212],[-102.0175813618777,49.901508124845606],[-102.03967258753714,49.90149563999974],[-102.02903528481946,49.91256681360212]],[[-102.35683755688846,50.00330817756411],[-102.3587385096344,50.01808400551784],[-102.34263941652301,50.015659064124044],[-102.35683755688846,50.00330817756411]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.20915669770524,\"lat\":49.92027185406444},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701076\"],\"csd_name_en\":[\"Wawken No. 93\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Wawken No. 93\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.93235929447137,49.81377049565504],[-102.92097931218868,49.81374312759987],[-102.92105510607837,49.84279569500914],[-102.93261929395753,49.842892909448835],[-102.93212140914473,49.828806400796466],[-102.94386709546667,49.82759673360079],[-102.94395846345229,49.813809896981645],[-102.93235929447137,49.81377049565504]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.93050026038728,\"lat\":49.82585663614586},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701813\"],\"csd_name_en\":[\"Ocean Man 69E\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Ocean Man 69E\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.12223108902023,49.40149563616141],[-105.13346391466524,49.40168716002029],[-105.13649925053049,49.39402517252456],[-105.12223171379338,49.3917821009624],[-105.12223108902023,49.40149563616141]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.12842766938088,\"lat\":49.39703777386727},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4702\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4702023\"],\"csd_name_en\":[\"Bengough\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Bengough\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.44410028375995,49.78588149561958],[-108.85096180056527,49.78558330180995],[-108.85108201045618,49.698465477699024],[-108.85093190612251,49.52384565584015],[-108.83074426797641,49.52339747084211],[-108.8090371126142,49.523465881078415],[-108.44432371300964,49.523795995047976],[-108.44413250688001,49.69838789963613],[-108.44410028375995,49.78588149561958]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.64760434492962,\"lat\":49.65469281472095},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4704\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"4704038\"],\"csd_name_en\":[\"Arlington No. 79\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Arlington No. 79\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-109.28014928252824,49.698399089715345],[-109.25762702382421,49.69842686373252],[-109.2573873237301,49.727537709131475],[-109.27958119877383,49.727807973426],[-109.28014928252824,49.698399089715345]]],[[[-109.25809900682074,49.77202959948993],[-109.28056887266784,49.76332300778403],[-109.2799760191007,49.738686539185345],[-109.25742096456649,49.73881995993343],[-109.25809900682074,49.77202959948993]]],[[[-109.70932810319137,49.84417059332571],[-109.69775088472097,49.82953794532813],[-109.6635952767282,49.829591182106405],[-109.66365173707294,49.82116404278497],[-109.64160688675038,49.81529710746839],[-109.64155798573022,49.82994899247067],[-109.59774365490009,49.83115719732935],[-109.59795247435197,49.8503634830057],[-109.65301386543867,49.8511466989486],[-109.66119548086454,49.84409723093834],[-109.70932810319137,49.84417059332571]]],[[[-109.79655466580252,49.62670938638382],[-109.77243681981291,49.622545871215166],[-109.78299061262958,49.61344507509792],[-109.7829001741427,49.59057611525386],[-109.77239237103636,49.5905986156361],[-109.77683306653431,49.55571828535026],[-109.75460796595812,49.553480347452066],[-109.74930000252309,49.58210083366794],[-109.72103464584484,49.58851962465374],[-109.71932995870984,49.62580954183712],[-109.726414361926,49.632575048598106],[-109.78512349766254,49.63388365580487],[-109.79655466580252,49.62670938638382]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.6326898011014,\"lat\":49.69702111812683},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4704\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"4704802\"],\"csd_name_en\":[\"Nekaneet Cree Nation\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Nekaneet Cree Nation\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.08818177716108,50.871598058657355],[-103.08646335787236,50.87612281508372],[-103.09806455488423,50.87358356539235],[-103.08818177716108,50.871598058657355]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.09090322997255,\"lat\":50.87376814637781},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705068\"],\"csd_name_en\":[\"Duff\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Duff\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.42259102485055,50.49175169725416],[-104.44626911693697,50.48436936513917],[-104.4464148490709,50.475421693968876],[-104.42217201528172,50.47587922825251],[-104.39975868109913,50.46948125114432],[-104.40048630605489,50.491218570855125],[-104.42259102485055,50.49175169725416]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.42008084472104,\"lat\":50.481998372359804},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706031\"],\"csd_name_en\":[\"Pilot Butte\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Pilot Butte\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.07799168695124,50.52119431240779],[-104.07864363769338,50.51323127718544],[-104.05592376464743,50.51336141392025],[-104.0560524655544,50.52052002220308],[-104.07799168695124,50.52119431240779]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.06735385769754,\"lat\":50.517057963086394},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706037\"],\"csd_name_en\":[\"McLean\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"McLean\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-103.60430431619118,50.66235738721439],[-103.62640767771796,50.67984367346136],[-103.6418156475391,50.679795285958726],[-103.62317217513237,50.66085925724211],[-103.60430431619118,50.66235738721439]]],[[[-103.59995819336449,50.65980404672016],[-103.63340705037227,50.65858674356253],[-103.63179500324499,50.66757449846466],[-103.64426948895901,50.67980136476425],[-103.67811120710464,50.679748089341075],[-103.67880878107576,50.6590441936919],[-103.80768804330847,50.65905523147181],[-103.80723114051044,50.57164405128394],[-103.79333054862441,50.57163348833017],[-103.79227169143792,50.396857720514724],[-103.65631185906099,50.39690564148039],[-103.58727274826606,50.39661322336312],[-103.3809882986174,50.39688079608556],[-103.38172182391953,50.564488991608215],[-103.39391235717702,50.56494344406448],[-103.45669077900315,50.58094364839126],[-103.47836167105368,50.588255546434716],[-103.48367199509354,50.59944385341153],[-103.53768197934667,50.6239348508174],[-103.55680478858571,50.626870294533425],[-103.59995819336449,50.65980404672016]],[[-103.7244865038007,50.53891198902627],[-103.72447420038503,50.527858686298465],[-103.74750079161639,50.52783890069909],[-103.74750044748079,50.54452791182366],[-103.7244865038007,50.53891198902627]],[[-103.67878880312071,50.50589189355378],[-103.70159797670651,50.49826010939162],[-103.70158300113258,50.513170808277444],[-103.67878880312071,50.50589189355378]],[[-103.44960370157567,50.46950679379465],[-103.46098790398104,50.48407641782184],[-103.43760158132203,50.48359450532102],[-103.44960370157567,50.46950679379465]],[[-103.67880799895774,50.53423860428145],[-103.67874971791939,50.54238619208264],[-103.65578781085124,50.54235718842546],[-103.65581540203873,50.526987294072775],[-103.67880799895774,50.53423860428145]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.60629510217652,\"lat\":50.51868574672125},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706038\"],\"csd_name_en\":[\"Indian Head No. 156\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Indian Head No. 156\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.67880799895774,50.53423860428145],[-103.65581540203873,50.526987294072775],[-103.65578781085124,50.54235718842546],[-103.67874971791939,50.54238619208264],[-103.67880799895774,50.53423860428145]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.66611564587532,\"lat\":50.53630380310144},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706039\"],\"csd_name_en\":[\"Indian Head\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Indian Head\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.11243654628821,50.87667753955436],[-105.11286860347391,50.87032698922868],[-105.10556892896517,50.87021243125413],[-105.11243654628821,50.87667753955436]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.11029135957575,\"lat\":50.87240565334573},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706069\"],\"csd_name_en\":[\"Grandview Beach\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Resort village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Grandview Beach\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.24212910503817,50.3099272965806],[-107.4652066285412,50.30988648860834],[-107.6545476957497,50.31004368739226],[-107.65455579114467,50.222644311198586],[-107.64280520479198,50.22262450483472],[-107.64292572014038,50.04784730267998],[-107.2328615899629,50.047766706413555],[-107.23330781354024,50.22264009685018],[-107.24216340427031,50.22432239027467],[-107.24212910503817,50.3099272965806]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.44143444712721,\"lat\":50.179046189523305},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707018\"],\"csd_name_en\":[\"Coulee No. 136\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Coulee No. 136\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.42014399746795,50.83401509859714],[-106.83578022143432,50.83422290565722],[-106.9496571299466,50.8342555101005],[-106.97372785905307,50.80932282346291],[-106.97537841076705,50.65955530998871],[-106.83474610201748,50.65997572231341],[-106.83583658409094,50.5720597015935],[-106.82923391183581,50.57208700261931],[-106.51003571364089,50.572027599813815],[-106.41956952746466,50.57228671222328],[-106.42021740682642,50.66874199617987],[-106.42014399746795,50.83401509859714]],[[-106.50083448647376,50.79053811465914],[-106.5125126953708,50.790576108795875],[-106.51776294285754,50.80504855867624],[-106.4894189110562,50.805011006277404],[-106.50083448647376,50.79053811465914]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.6780123234458,\"lat\":50.710596480608636},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707053\"],\"csd_name_en\":[\"Enfield No. 194\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Enfield No. 194\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.26027463154449,51.009393909238554],[-107.30640679988163,51.00878871118648],[-107.53917949787161,51.00890608723886],[-107.67776711337896,51.00921369572],[-107.81838320300952,51.00939776279971],[-107.81836339741915,50.92166414199825],[-107.80573306075556,50.92155303779193],[-107.8050132175048,50.88614421966673],[-107.80521345030374,50.679132579867925],[-107.77369919593953,50.6719544913349],[-107.74611532726159,50.661914824721514],[-107.65777286509875,50.66866393022279],[-107.62992463516285,50.668003737432116],[-107.60151138032164,50.6605908113976],[-107.58566189874733,50.644845656884925],[-107.55588423006866,50.636594200198985],[-107.52035225900201,50.638246988694995],[-107.48453395839933,50.64539239863111],[-107.47308335287006,50.653259990966404],[-107.46024301326871,50.67685025011538],[-107.43913430276608,50.69515217119308],[-107.41641325541036,50.70307572304813],[-107.39017180571642,50.703647884795664],[-107.36097028835987,50.69936420775836],[-107.32642395882306,50.69826261455978],[-107.28379363989366,50.708914412339574],[-107.25095016178496,50.72720817073409],[-107.25170148892762,50.92153530812252],[-107.26009549294996,50.92150800971308],[-107.26027463154449,51.009393909238554]],[[-107.3898011801613,50.879482308972776],[-107.3778478386014,50.88500528899626],[-107.37736361920959,50.87483764211419],[-107.3898011801613,50.879482308972776]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.53854515697867,\"lat\":50.84122799071368},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707063\"],\"csd_name_en\":[\"Victory No. 226\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Victory No. 226\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.87013429002508,50.79758128329424],[-108.86712320610121,50.80519078495471],[-108.89016028903885,50.80517820931992],[-108.8901448162829,50.798267382102196],[-108.87013429002508,50.79758128329424]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.87919027297524,\"lat\":50.80163230181322},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4708\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4708049\"],\"csd_name_en\":[\"Lancer\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Lancer\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.37616348732075,51.226048688866],[-109.39935556178051,51.2278308699146],[-109.40076670533524,51.2188630509642],[-109.37616903757596,51.219159177807505],[-109.37616348732075,51.226048688866]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.38864815908352,\"lat\":51.222958334127064},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4708\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4708068\"],\"csd_name_en\":[\"Eatonia\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Eatonia\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.85291793739225,51.653648585967964],[-101.86094389847793,51.668699504487314],[-101.90805319653633,51.6673347973337],[-101.94332115038709,51.66657097927618],[-101.93444212228765,51.65256141944379],[-101.99452539213722,51.65233662156104],[-101.99485997506883,51.635968125644155],[-101.98081948717117,51.60946788920437],[-101.97016662451796,51.609138038071436],[-101.95944722113515,51.59308082279959],[-101.78758660905335,51.5944131298239],[-101.78493991968278,51.624464411410216],[-101.83569256083663,51.62400237365529],[-101.85291793739225,51.653648585967964]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.89708968695321,\"lat\":51.62591610095362},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709819\"],\"csd_name_en\":[\"Cote 64\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Cote 64\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-103.98724712077102,51.29896690312055],[-104.06928441295308,51.29735460838112],[-104.11839535403213,51.29928158744096],[-104.11848913510038,51.270293342706275],[-104.10070929046769,51.27027250967855],[-104.10173335312636,51.153890303424554],[-104.10071488611915,51.09572901000549],[-103.6903994958775,51.0953419926241],[-103.69052504435939,51.12172656003334],[-103.69036638600403,51.29891830873405],[-103.70410859896742,51.298909391374295],[-103.70428651582726,51.387289491557766],[-103.77618165555,51.386081141163885],[-103.84590870715083,51.38722330145314],[-103.9551541174785,51.38730725685794],[-103.95404102983413,51.37256194988152],[-103.9399513087136,51.37255519878954],[-103.9296024867953,51.372551967600195],[-103.91637508861066,51.37254629199441],[-103.91649050282987,51.35004347374668],[-103.93028603780465,51.35781429059131],[-103.94098312166693,51.35786073304448],[-103.95182613745871,51.35786279126165],[-103.98745669770175,51.35786840952567],[-103.98724712077102,51.29896690312055]],[[-103.98724712077102,51.29896690312055],[-103.97581913304285,51.298884689404616],[-103.9759082875716,51.29094733772416],[-103.98800507420944,51.291211645450474],[-103.98724712077102,51.29896690312055]],[[-103.95263441897083,51.29205300144259],[-103.9302251111129,51.29345832190446],[-103.91768945861456,51.27854459393915],[-103.91465098689952,51.2551263153409],[-103.92540019154761,51.25510458237638],[-103.92928586542197,51.278599385240504],[-103.94221844837004,51.286581321026446],[-103.95263441897083,51.29205300144259]],[[-103.95263441897083,51.29205300144259],[-103.96112691743586,51.27034909329681],[-103.96112967272839,51.262638678898995],[-103.97230105214993,51.26282602350217],[-103.96469044743034,51.2703507228102],[-103.9650310847589,51.29210912264426],[-103.95263441897083,51.29205300144259]],[[-103.96389309960863,51.321342299316285],[-103.97567149324603,51.32173839466935],[-103.97565788583404,51.33623316204321],[-103.96409001568144,51.33548645047408],[-103.96389309960863,51.321342299316285]],[[-103.97596826728407,51.278095117315544],[-103.9843782170213,51.27036430784009],[-103.9847188036417,51.262714708060344],[-103.99621717340065,51.262344638065194],[-103.995701916094,51.270367292605286],[-103.98772432587654,51.2782164320792],[-103.97596826728407,51.278095117315544]],[[-103.89282119937849,51.34361349720387],[-103.89282244921759,51.35156144197282],[-103.8699479026768,51.35113316777048],[-103.86952223849863,51.343046832381305],[-103.89282119937849,51.34361349720387]],[[-103.75183188856869,51.25527683706604],[-103.75204617417869,51.270310440622744],[-103.72845062087961,51.27036409988665],[-103.72792964981201,51.25570828530542],[-103.75183188856869,51.25527683706604]],[[-103.87056294549426,51.28470900376646],[-103.87034121764356,51.27834311152055],[-103.90567501116792,51.277991720583884],[-103.88240015690998,51.29186464069647],[-103.87056294549426,51.28470900376646]]],[[[-103.98745669770175,51.35786840952567],[-103.98739101744601,51.37257009099733],[-103.9643068562216,51.36556091419357],[-103.96470577394155,51.37256574586267],[-103.98741314213532,51.379319452134204],[-103.98743941193224,51.387308804417415],[-104.12896935289656,51.386752883646096],[-104.1291785261607,51.343151790717485],[-104.04606301581038,51.34299240712897],[-104.03438498983455,51.35074923352063],[-104.02233909707203,51.342706095405084],[-104.01104059591493,51.357835790175294],[-103.98745669770175,51.35786840952567]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.89317976497317,\"lat\":51.235096730189504},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710008\"],\"csd_name_en\":[\"Kellross No. 247\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Kellross No. 247\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.54279409990015,51.648094708010305],[-103.55128483711,51.629941706765024],[-103.5157902460354,51.62997840858118],[-103.5157613053441,51.65216229895736],[-103.54279409990015,51.648094708010305]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.53091407783027,\"lat\":51.639576010234954},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710038\"],\"csd_name_en\":[\"Foam Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Foam Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.70707720835615,51.881621690864286],[-104.13239482498095,51.88194288786392],[-104.1320814043548,51.65228889840305],[-104.12877248583442,51.65228579545322],[-103.70629868637769,51.65229400600746],[-103.70703219949742,51.654963690949096],[-103.70715269875278,51.827312503753845],[-103.717939404784,51.82766439022235],[-103.71789969205435,51.8671587158494],[-103.70736599050798,51.86700752742366],[-103.70707720835615,51.881621690864286]],[[-103.87236359221123,51.73613740650418],[-103.87170835476023,51.750189785238376],[-103.84876579876509,51.74996920518346],[-103.84862901199384,51.73606908938708],[-103.87236359221123,51.73613740650418]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.920835228001,\"lat\":51.766769369385926},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710041\"],\"csd_name_en\":[\"Elfros No. 307\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Elfros No. 307\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.22531369673577,52.1293179022814],[-107.21752969935964,52.14204489950144],[-107.23454519623307,52.13979640518713],[-107.22531369673577,52.1293179022814]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.22579619744283,\"lat\":52.13705306898999},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4712\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4712059\"],\"csd_name_en\":[\"Asquith\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Asquith\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.32605126633767,52.76081145092974],[-108.36240501402918,52.78050004878991],[-108.36956812887992,52.793525675578415],[-108.36778925463463,52.81057159259238],[-108.35412566769718,52.83178502089654],[-108.35287320233502,52.846656725772235],[-108.40383634178865,52.872075694731684],[-108.44658731867048,52.895838710150464],[-108.48937989397585,52.90748026893784],[-108.51607875899786,52.91792625396805],[-108.53190080987359,52.93161065025437],[-108.57508985863099,52.943538963156314],[-108.61641741767053,52.96308274014811],[-108.65080847481711,52.976952655735694],[-108.6852430769938,52.98564252584721],[-108.7383737324731,52.99052616584003],[-108.76292765774875,52.99604354459964],[-108.76171478027214,52.98722229012942],[-108.76183139697137,52.88109757712456],[-108.76275011887707,52.841989196627196],[-108.73676162538042,52.841982513025734],[-108.73598624112077,52.82724566677511],[-108.66320753450384,52.82758419758003],[-108.66376869790886,52.82015730552719],[-108.61621184792115,52.82075207144031],[-108.61508556698256,52.75059982733991],[-108.61664368217754,52.68218379715336],[-108.76266043948203,52.682118844026675],[-108.7620077422146,52.66756521091876],[-108.59364470796274,52.667677106878436],[-108.59397451724696,52.580343705917144],[-108.34067001248722,52.580388707621736],[-108.23451788614207,52.58034941279246],[-108.23444032198532,52.55862174848227],[-108.16209014626834,52.5585187339363],[-108.1617444242806,52.522860110760455],[-108.08116207859388,52.523337935357496],[-108.08131198327135,52.50811281736812],[-108.05728384297612,52.50834923095268],[-108.05676952044098,52.49295806850317],[-108.01916390596938,52.496455909185215],[-108.0188468621219,52.57582802653702],[-108.05048324789095,52.58462939195828],[-108.07492124509419,52.60098221960034],[-108.10572836180488,52.626665542160794],[-108.12495344724431,52.637907085079114],[-108.15319577860019,52.66767350286155],[-108.19159575555888,52.679495185673474],[-108.22150918763272,52.69410738035979],[-108.24063383049366,52.710970909508404],[-108.27794204646264,52.73584511751314],[-108.2781415319237,52.70911438482132],[-108.29221676071094,52.71122325309084],[-108.35083971161936,52.71152966876704],[-108.35077903428771,52.76739919360781],[-108.32607978508054,52.7587340719546],[-108.32605126633767,52.76081145092974]],[[-108.27035630947483,52.69931818646632],[-108.28915707770642,52.696271630101336],[-108.29126186374803,52.70336186446057],[-108.28115495880384,52.704775252971935],[-108.27035630947483,52.69931818646632]],[[-108.55026337096933,52.79117158126119],[-108.56854296201507,52.78409114883577],[-108.56908509665152,52.79855022190555],[-108.55026337096933,52.79117158126119]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.44522769724473,\"lat\":52.73436733483943},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4712\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4712078\"],\"csd_name_en\":[\"Battle River No. 438\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Battle River No. 438\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.94347890586329,52.143497800653925],[-108.94336134454144,52.128925805638765],[-108.95500761360725,52.12888819284066],[-108.95501038110413,52.14350049471222],[-109.14550709804344,52.14350351195766],[-109.14589401545712,51.96898359449566],[-109.12280399108121,51.96899529153415],[-109.12282058632309,51.93233071555752],[-109.12288082827158,51.903112119331574],[-109.12287080120603,51.88165488976713],[-108.98101519393241,51.88191336528112],[-108.76834349700175,51.881622807786066],[-108.7675391480266,51.962696146105124],[-108.78825914292365,51.97461811702529],[-108.79516553552148,51.98575687099045],[-108.78210132690887,52.00225842148556],[-108.82548526790008,52.039098456799074],[-108.83171853093488,52.064938368361844],[-108.81798601285847,52.10650112911757],[-108.81984788865222,52.12745499542602],[-108.81285858834953,52.142548396486035],[-108.94347890586329,52.143497800653925]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.96734321924342,\"lat\":52.00936861909306},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713038\"],\"csd_name_en\":[\"Mariposa No. 350\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Mariposa No. 350\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.51616588585735,53.03812115447284],[-109.56639674247401,53.041398401718574],[-109.60308480083228,53.04652406182166],[-109.6211828892075,53.0426915978017],[-109.65942130261001,53.04102960093868],[-109.72615384692352,53.027586309669054],[-109.76455802187394,53.023805112172546],[-109.79749751417715,53.00598365898629],[-109.80579404659338,52.98582566905505],[-109.85115174179843,52.963844098099095],[-109.86524242527061,52.942793358297486],[-109.91327286098661,52.91029791286953],[-109.93279170817796,52.88630585927321],[-109.95525402824772,52.885563107500616],[-109.97842813759956,52.866628599979755],[-110.00516260005787,52.85733784466667],[-110.00540935375551,52.66714451312202],[-109.65710109130633,52.66709020679547],[-109.64502807624065,52.680199355210895],[-109.65028131097633,52.68904889968947],[-109.65136740114255,52.71510296286682],[-109.63624296751212,52.72220332903517],[-109.62913716589136,52.73859225732727],[-109.63290888134499,52.750163567250844],[-109.64696568746635,52.75424236688071],[-109.63108497346592,52.784447977947664],[-109.63247568428442,52.83462189226077],[-109.63247769163961,52.84529679096132],[-109.63250079755022,52.92922709193876],[-109.48779208001062,52.92943329152049],[-109.48993595233831,53.0168783980647],[-109.47298858712047,53.016416557777276],[-109.47599331850817,53.025898407799524],[-109.51616588585735,53.03812115447284]],[[-109.82587224094297,52.84478789630061],[-109.81972240554165,52.83731836144909],[-109.83344529218668,52.837684899616576],[-109.82587224094297,52.84478789630061]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.76843655768813,\"lat\":52.84599885282805},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713079\"],\"csd_name_en\":[\"Manitou Lake No. 442\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Manitou Lake No. 442\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.861953219609,52.44339402806106],[-103.86756753956472,52.4348324962407],[-103.85460030825037,52.434739986688136],[-103.861953219609,52.44339402806106]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.86137368914139,\"lat\":52.4376555036633},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714036\"],\"csd_name_en\":[\"Archerwill\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Archerwill\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.81067540097806,53.19100560835396],[-104.19712229892286,53.19087439463922],[-104.19703901052483,53.016486188493815],[-104.18050688774943,53.016499308972776],[-104.18049150646341,52.929146098987836],[-103.74523349742012,52.92904170977664],[-103.744772520137,53.016402307016925],[-103.75830798362608,53.019016602444886],[-103.75828457725588,53.059065928561694],[-103.75827510813983,53.06925373674851],[-103.75820908151134,53.19099160786728],[-103.7959692037196,53.19102861062371],[-103.81067540097806,53.19100560835396]],[[-104.14862446962192,53.05791716182401],[-104.14866761559875,53.05290019264513],[-104.16063785936879,53.05263787675386],[-104.16038217790239,53.060611900281536],[-104.14862446962192,53.05791716182401]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.97252579495914,\"lat\":53.060245883236554},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714056\"],\"csd_name_en\":[\"Connaught No. 457\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Connaught No. 457\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.95080684414016,53.67400645940983],[-101.96035464236036,53.663306035393084],[-101.98997633294809,53.66861499151628],[-102.00659604309116,53.66702941356117],[-102.00660438423127,53.62890739240282],[-101.98753570623609,53.62890210672716],[-101.98752289161504,53.63974028965175],[-101.96503280854337,53.642212486476964],[-101.93779439239705,53.65971521123126],[-101.95080684414016,53.67400645940983]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.97969612698242,\"lat\":53.652629820318424},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714846\"],\"csd_name_en\":[\"Opaskwayak Cree Nation 27A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Opaskwayak Cree Nation 27A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.82116288009514,52.91532956950956],[-105.80048724556347,52.91539291913271],[-105.80080841954384,52.92190200532569],[-105.82119903346424,52.92260912228565],[-105.82116288009514,52.91532956950956]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.81110658178751,\"lat\":52.9188028831679},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715059\"],\"csd_name_en\":[\"St. Louis\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"St. Louis\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.24837979128748,53.452634207125634],[-105.54333977934688,53.45274459001645],[-105.54336284807174,53.401703416329845],[-105.53023731951754,53.39337051481607],[-105.54338141074092,53.3866428027999],[-105.54344070527603,53.36504818551195],[-105.51278309261201,53.36502200911803],[-105.51303802799065,53.24111952709225],[-105.50137787275938,53.24781759988547],[-105.47063883721597,53.24436399119178],[-105.43317458481113,53.24426635979084],[-105.42251906109892,53.23375398119229],[-105.40426621409453,53.22916310301877],[-105.36719688527184,53.23239551651139],[-105.32106241631098,53.24194799268303],[-105.28379370690365,53.26010848000233],[-105.2683284213799,53.25401458957086],[-105.23030770400982,53.26714929440316],[-105.20152763195051,53.25768246769429],[-105.19276502437928,53.26386172758307],[-105.16975531938918,53.24900836157331],[-105.1372107307534,53.24485895433113],[-105.09395541658307,53.2488234500152],[-105.08082665946004,53.23686013478175],[-105.07469672207392,53.24333795253299],[-105.07448377168072,53.36573578884517],[-105.10055841469213,53.365572639611415],[-105.10110480272863,53.45266979854613],[-105.22971625116821,53.45263745808792],[-105.23011758522397,53.445075350062766],[-105.24837618489035,53.44734838454594],[-105.24837979128748,53.452634207125634]],[[-105.36714171318621,53.437820385796314],[-105.37395649864573,53.43781730374313],[-105.37265161178946,53.44231241485069],[-105.35892593147575,53.44276758223329],[-105.35882752098965,53.44070670453508],[-105.36709151633839,53.440158003189715],[-105.36714171318621,53.437820385796314]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.30818832192669,\"lat\":53.349518198620814},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715079\"],\"csd_name_en\":[\"Garden River No. 490\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Garden River No. 490\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.55466038588976,53.510881844861714],[-105.56784890779836,53.51090519158309],[-105.56785019521286,53.50370809723031],[-105.55559756797619,53.5038841321239],[-105.55466038588976,53.510881844861714]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.56151697575444,\"lat\":53.507388777983394},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715098\"],\"csd_name_en\":[\"Paddockwood\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Paddockwood\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.92830591308756,53.07868445990251],[-104.92900019582169,53.016523589706594],[-104.78216989399684,53.01671389201081],[-104.7819366105398,53.08285376074701],[-104.76436589737031,53.08263720732163],[-104.76417030228704,53.12833615063666],[-104.74562229673387,53.128198791185675],[-104.74601473488397,53.14991442454639],[-104.77175716968792,53.1495672237606],[-104.77132085747294,53.12809693084706],[-104.81470652639561,53.12837386446373],[-104.81349636717587,53.078738457377675],[-104.92830591308756,53.07868445990251]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.83788460685744,\"lat\":53.0630966715998},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715850\"],\"csd_name_en\":[\"Cumberland 100A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Cumberland 100A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.06864201985398,52.78651970208011],[-107.068713188954,52.79208410890113],[-107.08629771922189,52.79115353562349],[-107.08534528556132,52.78381761253062],[-107.06864201985398,52.78651970208011]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.077660993451,\"lat\":52.78837337247584},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716019\"],\"csd_name_en\":[\"Krydor\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Krydor\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.89065550325847,53.53362959432658],[-106.88706261755489,53.51724384402085],[-106.87474967908476,53.51774172389496],[-106.87411960952137,53.52990609018426],[-106.89065550325847,53.53362959432658]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.88199903465241,\"lat\":53.52498183159236},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716054\"],\"csd_name_en\":[\"Debden\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Debden\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-107.63996770983468,53.50431332307602],[-107.63992360024751,53.49729251637999],[-107.62758190484143,53.49760998932722],[-107.63996770983468,53.50431332307602]]],[[[-107.62778451523435,53.54061830293702],[-107.62812845817015,53.55560153519168],[-107.64746150479921,53.548553596230434],[-107.63988055032077,53.540631077692105],[-107.62778451523435,53.54061830293702]]],[[[-107.50487279005829,53.51151870133937],[-107.49375356777357,53.51150642810049],[-107.49315076274253,53.53277169796359],[-107.50488154796699,53.532615902097646],[-107.50487279005829,53.51151870133937]]],[[[-107.63996770983468,53.50431332307602],[-107.62778262849972,53.51981173208989],[-107.65235309950228,53.51975646278511],[-107.6523761938817,53.50420809176398],[-107.63996770983468,53.50431332307602]]],[[[-107.62718874687162,53.48243912915689],[-107.64043585780696,53.47496783790522],[-107.67968980004403,53.4753468238598],[-107.63999069449093,53.45340381098929],[-107.62674790442259,53.453431594336045],[-107.62718874687162,53.48243912915689]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.61970765572624,\"lat\":53.49554413935469},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716882\"],\"csd_name_en\":[\"Witchekan Lake 117D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Witchekan Lake 117D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.6374132176037,53.1907398067448],[-108.6363744451344,53.27799634758753],[-109.07650587903174,53.27784945770857],[-109.07666419232638,53.2405950608073],[-109.07228166429094,53.22483606321765],[-109.05639729866785,53.21006005214987],[-109.03916809033448,53.204264545259704],[-109.01230817808937,53.18151196430557],[-108.98114869036354,53.161520942558425],[-108.95545409027227,53.131550153712915],[-108.93772299861517,53.1035386433048],[-108.90818579188502,53.07949975365665],[-108.88470825994912,53.05574134804127],[-108.84831806751724,53.02602704741919],[-108.82943699719438,53.01681606651862],[-108.77983709160993,53.005995742744304],[-108.76292765774875,52.99604354459964],[-108.7383737324731,52.99052616584003],[-108.6852430769938,52.98564252584721],[-108.65080847481711,52.976952655735694],[-108.61641741767053,52.96308274014811],[-108.61717251823897,53.016213628840305],[-108.63744881599132,53.01618818883241],[-108.6366053308478,53.16155986490498],[-108.6374132176037,53.1907398067448]],[[-108.7752026655346,53.18581163124058],[-108.77307994958086,53.19175902251371],[-108.75707910900657,53.19072851828636],[-108.75722522978478,53.18337191645673],[-108.7752026655346,53.18581163124058]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.8075964263068,\"lat\":53.15474129112971},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717008\"],\"csd_name_en\":[\"Turtle River No. 469\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Turtle River No. 469\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.77933038821509,54.34823120009452],[-109.80119497476643,54.34853202822155],[-109.80141452074876,54.336287527632315],[-109.7737031792604,54.3362830992114],[-109.77933038821509,54.34823120009452]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.78891378484596,\"lat\":54.3420930245481},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717067\"],\"csd_name_en\":[\"Pierceland\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Pierceland\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.95458228252484,54.15059435633571],[-108.00514111526944,54.150686025374696],[-108.00484714301646,54.12185793508677],[-108.01633642162822,54.121761823332356],[-108.01598859030761,54.14174200898515],[-108.02856164617069,54.14163436973551],[-108.0290871963486,54.111255065859794],[-108.04836259818084,54.11498475299235],[-108.08034089682548,54.10628731638608],[-108.07508204585291,54.09836732577857],[-108.02205141305842,54.09835540632733],[-108.01580055895279,54.09159945865822],[-107.95255395977712,54.093243234883445],[-107.95458228252484,54.15059435633571]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.99752727315273,\"lat\":54.11772191479885},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717816\"],\"csd_name_en\":[\"Eagles Lake 165C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Eagles Lake 165C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.30856054081802,55.51617739337741],[-102.31567876246878,55.47917762545319],[-102.32934267128039,55.47115917079394],[-102.3238830276551,55.45845209713827],[-102.3349353975229,55.447729307409546],[-102.29358760248789,55.451471188001705],[-102.30392746028758,55.52457951220765],[-102.30216955790728,55.54062145596417],[-102.31115127440188,55.543411253439984],[-102.32464435553798,55.541179864453085],[-102.32105828335021,55.534181321852124],[-102.31016352010731,55.54186940346386],[-102.30406600412991,55.53762788765574],[-102.322531581755,55.53233568857485],[-102.30967847329369,55.51802933931864],[-102.30843434919059,55.51727420829989],[-102.30856036228619,55.517081281900154],[-102.30856054081802,55.51617739337741]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.31002244727156,\"lat\":55.484939465268155},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718058\"],\"csd_name_en\":[\"Sandy Bay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Northern village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Sandy Bay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.30209716501155,55.09723023935625],[-105.30502129752051,55.101016996450696],[-105.329771659189,55.094711770903466],[-105.30209716501155,55.09723023935625]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.31229670724035,\"lat\":55.097653002236804},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718812\"],\"csd_name_en\":[\"Kitsakie 156B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Kitsakie 156B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.79266495759566,55.27600985564107],[-104.79409374068157,55.27660290113425],[-104.79621435374804,55.275444966138274],[-104.79447065271829,55.27488555529005],[-104.79266495759566,55.27600985564107]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.79438779416967,\"lat\":55.27573016975269},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718813\"],\"csd_name_en\":[\"Four Portages 157C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Four Portages 157C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.61223447199251,49.74441864430608],[-112.63349243806694,49.734819871026126],[-112.65591161519738,49.734366425486115],[-112.65577210562499,49.7054951401333],[-112.62280079188403,49.70573631055808],[-112.60068860134021,49.71334727612488],[-112.60066141474594,49.74236690366053],[-112.61223447199251,49.74441864430608]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.6274544634233,\"lat\":49.72293467727544},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4802\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4802019\"],\"csd_name_en\":[\"Coaldale\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Coaldale\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.73324688821717,49.07284900825619],[-113.73112821531296,49.02139661714422],[-113.69048807679481,49.02079085386617],[-113.68263485344531,49.03964626019595],[-113.693158063392,49.05376649427449],[-113.69068910715887,49.072571569605486],[-113.73324688821717,49.07284900825619]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.71039158898284,\"lat\":49.04641878039947},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4803\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4803803\"],\"csd_name_en\":[\"Blood 148A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Blood 148A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-110.00507551352341,50.9585998688464],[-110.02816940250055,50.95760831097154],[-110.02825598103892,50.9503212906801],[-110.00499419329391,50.95029629378883],[-110.00507551352341,50.9585998688464]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-110.01637102725114,\"lat\":50.95420699572921},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4804\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"4804006\"],\"csd_name_en\":[\"Empress\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Empress\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.90533039094149,50.601198389892],[-113.91678356408138,50.598496447901425],[-113.91630560308177,50.57992597305437],[-113.89677321313798,50.56461440567015],[-113.82814808948278,50.564710197895415],[-113.82856590179968,50.59746628733598],[-113.8328205811145,50.6012310896921],[-113.90533039094149,50.601198389892]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.87050698251967,\"lat\":50.583452294521024},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4806\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4806006\"],\"csd_name_en\":[\"High River\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"High River\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.08068945641718,52.59484214458653],[-112.08011651272113,52.57978181038926],[-112.05540691867937,52.57190562743421],[-112.05656849424663,52.58687232377248],[-112.08068945641718,52.59484214458653]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.0682328663814,\"lat\":52.58333221165954},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4807\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4807036\"],\"csd_name_en\":[\"Forestburg\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Forestburg\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.2080017688545,51.99542584523201],[-113.1953572964185,51.98979078937703],[-113.19533372034117,52.00589957619234],[-113.20769722146527,52.00588505144514],[-113.2080017688545,51.99542584523201]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.20116089648315,\"lat\":51.99912113660568},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4808\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4808002\"],\"csd_name_en\":[\"Elnora\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Elnora\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.14771161294864,52.57926910546935],[-113.31547851505934,52.57946239188624],[-113.31548278742663,52.564896553233794],[-113.33963077946738,52.56483197609244],[-113.33958410723554,52.54737761658918],[-113.36077301067989,52.54717524406002],[-113.38744476803124,52.56483403051943],[-113.42356208856587,52.56487509899513],[-113.42357794252406,52.57943606157111],[-113.68552398662435,52.579579395080245],[-113.68527793147815,52.571055299398125],[-113.73455162374508,52.57110137239953],[-113.7348174028537,52.57955308480221],[-113.91519878915723,52.57952909203293],[-113.91529776767982,52.56506538959331],[-114.0015052724766,52.566141538667814],[-114.00147712464394,52.580042185073985],[-114.07418850660504,52.581520892095845],[-114.16976820135491,52.581498395048285],[-114.16974937995657,52.566744863420354],[-114.1817459071467,52.552376307803634],[-114.32608961435145,52.55257100244762],[-114.32605934568284,52.58144271518049],[-114.44603087911942,52.58141182879239],[-114.44597505926538,52.566563887002275],[-114.4662462629769,52.56660403071233],[-114.46523309471839,52.509065838304906],[-114.52939031062914,52.508662498574765],[-114.52958324958453,52.44932833346622],[-114.49441711703616,52.43484045006549],[-114.4934271482221,52.399879525154226],[-114.48142835628373,52.399724387054796],[-114.48149308570207,52.37756767399477],[-114.45736431376822,52.37744930076822],[-114.45754007813056,52.31912419922312],[-114.44127002871579,52.31910302495536],[-114.44151464018088,52.275601542092524],[-114.4300448150631,52.27525210338879],[-114.3348851607756,52.27554160970346],[-114.31144296709367,52.29005480170408],[-114.32589844015082,52.31365165725835],[-114.27732760034829,52.31930172772165],[-114.27715921868314,52.32680432814435],[-114.16952797667881,52.32648452462342],[-114.16959169694633,52.34452669065706],[-114.17235820818513,52.344665006998966],[-114.17338911466834,52.34639795312972],[-114.16966808766765,52.346877865075825],[-114.09961494550453,52.34847787477637],[-114.12259081795679,52.36464310236172],[-114.10913803665368,52.362929908749294],[-114.09741190912086,52.34870419570727],[-113.93902172135743,52.34766454109078],[-113.92452300156329,52.35181697498399],[-113.88070905149952,52.34706379370419],[-113.85134558860423,52.35597836057853],[-113.81487048780892,52.35787810933674],[-113.7954444124859,52.35345283856448],[-113.75718345286697,52.357679808651014],[-113.7240798027853,52.346994557344075],[-113.70925609804823,52.35221586006408],[-113.6893542977525,52.335395662572154],[-113.6960039872096,52.32534726428831],[-113.68603239837186,52.31714635423975],[-113.68124668145596,52.297431857612665],[-113.6706515903924,52.28954717110421],[-113.63160159426343,52.27639956426906],[-113.60130559503908,52.27774586266849],[-113.58587429744792,52.264427848552906],[-113.53775199064162,52.25851975539274],[-113.52077491241252,52.253112257102586],[-113.50104020825246,52.23937595640399],[-113.47955938312826,52.23455495705824],[-113.45633841787979,52.23516245502615],[-113.42754877758772,52.2420197502391],[-113.40703351560659,52.23909476311701],[-113.37792950939651,52.24196344483865],[-113.36431849111489,52.25147256830982],[-113.3204450012269,52.245105971356885],[-113.30983767898267,52.25273185973419],[-113.2782829103683,52.25000004859534],[-113.26933870953536,52.26203454678379],[-113.24908711153448,52.268489364213856],[-113.26032208549512,52.282976071087255],[-113.25354238632535,52.296828971330505],[-113.21602287319901,52.314528153550775],[-113.19671869157793,52.31448466795091],[-113.17896781516122,52.321805157513566],[-113.1595222834656,52.316463858946484],[-113.1127029090111,52.32207876135977],[-113.093215697757,52.31762801466544],[-113.07567908246548,52.31768250341996],[-113.07566737914456,52.37597499519724],[-113.0278854853711,52.375995662119614],[-113.02796801736972,52.41610778216801],[-113.01025109748252,52.418785125335106],[-112.99722071701763,52.43413376999764],[-113.00652418049549,52.45670975354974],[-112.97337522073232,52.46069096204918],[-112.96290311193924,52.471383853766554],[-112.94061491412394,52.47641016948549],[-112.932071025501,52.4921406642193],[-112.95624097986614,52.496573366235864],[-112.96661080725289,52.50562036174099],[-112.97098001131793,52.523516851054396],[-112.99063889018252,52.52676947527431],[-113.0000000166876,52.55030441937461],[-113.02775418962894,52.550398801922604],[-113.02768195308919,52.56467809922303],[-113.07578398927413,52.564818749341214],[-113.07563681048615,52.57945118517863],[-113.14771161294864,52.57926910546935]],[[-114.20356209747094,52.394228236231484],[-114.19370800800247,52.389852194733024],[-114.18251498568284,52.38719361264637],[-114.18278261579516,52.384967985069174],[-114.19847098579416,52.38968396141153],[-114.20356209747094,52.394228236231484]],[[-113.92795151045134,52.46956779676303],[-113.93109115859765,52.463951533993104],[-113.93757197077865,52.463983068835326],[-113.92795151045134,52.46956779676303]],[[-114.36730454141774,52.36657972822576],[-114.3597333148196,52.36588398454533],[-114.36160974969194,52.35551726209313],[-114.37933739953866,52.36294398551361],[-114.36730454141774,52.36657972822576]],[[-113.43533752132349,52.47076700325819],[-113.45942888467881,52.47755009088599],[-113.43530809452365,52.48516429349904],[-113.43533752132349,52.47076700325819]],[[-114.04981249701403,52.47072138955667],[-114.03948628650565,52.463088689934615],[-114.0476525962539,52.457434757857456],[-114.06199308802843,52.45780660080378],[-114.04981249701403,52.47072138955667]],[[-113.18812502023687,52.404856334878794],[-113.1740246962694,52.39262391253503],[-113.19574800447289,52.3835054933226],[-113.18812502023687,52.404856334878794]],[[-113.76954180975035,52.4047173691962],[-113.74729681368632,52.40462060247833],[-113.74724231132366,52.375592484620675],[-113.75988863361415,52.36807625287585],[-113.79517638069267,52.3681564928552],[-113.81932559569914,52.3794575057697],[-113.81932640211954,52.40485556741511],[-113.78898660954164,52.39842308362769],[-113.76954180975035,52.4047173691962]],[[-113.71153851613818,52.49215800298013],[-113.69937259831838,52.47758230405798],[-113.68732247336682,52.47783578537812],[-113.68678145773552,52.45591250552777],[-113.69935090979781,52.44851108481669],[-113.72331785244972,52.44841993557386],[-113.73561826668139,52.45550742066579],[-113.75893398878537,52.45596769387094],[-113.78067977979843,52.46314490021905],[-113.77054163685655,52.477156121267015],[-113.74643349208249,52.4813054089775],[-113.74734800842722,52.493780584483474],[-113.71171837648966,52.50355236776991],[-113.71153851613818,52.49215800298013]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.72602582022466,\"lat\":52.43938737811563},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4808\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4808022\"],\"csd_name_en\":[\"Lacombe County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Lacombe County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.42860804697106,53.301386738644844],[-112.42857659750595,53.29417794144607],[-112.41644248814222,53.28443101988419],[-112.41657318502774,53.30881370880546],[-112.42860804697106,53.301386738644844]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.42145523832424,\"lat\":53.297096050515236},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4810\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4810019\"],\"csd_name_en\":[\"Ryley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Ryley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.22624719332524,53.22429689334531],[-112.2213752926221,53.236294903009785],[-112.24135685067787,53.23596664760412],[-112.2457025448171,53.22884438280614],[-112.22624719332524,53.22429689334531]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.23289811546849,\"lat\":53.231194367573956},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4810\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4810021\"],\"csd_name_en\":[\"Holden\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Holden\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.97766104558899,53.243596399418124],[-115.01090434224997,53.24335617216077],[-115.01163291949284,53.17803547899733],[-114.96534149158363,53.178073707933265],[-114.96398648831028,53.20697184266229],[-114.95230889773124,53.20748013207441],[-114.95244127783953,53.22662275546347],[-114.92778252754042,53.22915674054235],[-114.92808347976357,53.25001279173988],[-114.97654181314847,53.250566809679064],[-114.97766104558899,53.243596399418124]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.97775554094635,\"lat\":53.217392911795294},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811031\"],\"csd_name_en\":[\"Drayton Valley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Drayton Valley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-116.69889801426052,54.12191990380154],[-116.73221195880569,54.11436770600721],[-116.7499098529634,54.10008306626026],[-116.77172751087463,54.06504402757117],[-116.77305661805916,54.04538431898691],[-116.78009671830559,54.03929636556754],[-116.80849251404662,54.03582666704526],[-116.83736862583373,54.01734237039038],[-116.83713493461477,54.006008267876105],[-116.88203509823116,54.00007781437752],[-116.90551690367916,54.007723758404374],[-116.91912026494306,54.00613442759786],[-116.95423880514491,54.016702865532025],[-117.00107905200241,54.002907756854384],[-117.03093648811063,54.003662444708304],[-117.03310252235826,53.99352971951422],[-117.0507115052433,53.99274956762342],[-117.05819065497077,53.97710427740236],[-117.08210716392335,53.985594191061445],[-117.09739712996118,53.97365797732219],[-117.11303635280326,53.975015022067105],[-117.12889451021857,53.98541701463365],[-117.16754482582819,53.9826038748564],[-117.1617901643208,53.99636686033099],[-117.17383736219932,54.00014831887438],[-117.18915713026523,53.99084061518286],[-117.216141157702,53.99664452860641],[-117.22719190726728,54.00847061868944],[-117.24234513218768,53.99037080859617],[-117.25404397444251,53.98584337743961],[-117.28931530256932,54.00636530623751],[-117.27694075928595,54.032066725910965],[-117.24641296147892,54.03562162168684],[-117.26431284412291,54.05208627641975],[-117.29708183102801,54.04807071807458],[-117.32896314187813,54.05140971559046],[-117.34064534994343,54.04004795794041],[-117.33492893090396,54.02356061248421],[-117.36141755728384,54.022518361551825],[-117.38037355395952,54.02745166309],[-117.39634305226222,54.02468922243943],[-117.48241812693333,54.03429880886844],[-117.49944079049358,54.0452064106318],[-117.52914079993695,54.05224602789447],[-117.57144742783446,54.03045352425119],[-117.59806361251248,54.02989936660244],[-117.64500904943047,54.02053841003511],[-117.68984733908582,54.0241993198295],[-117.69458417160888,54.01644806438628],[-117.73416081631382,53.999599863409124],[-117.73606406303288,53.98753951550678],[-117.75709124705365,53.981538581755444],[-117.78278100331826,53.95831986480553],[-117.79754720713272,53.95447850589199],[-117.82000203692868,53.957961271643406],[-117.83426660910817,53.965667317880076],[-117.87494961428024,53.9621198788616],[-117.88763910035682,53.94080982117836],[-117.91681453907334,53.93387996047578],[-118.01390941004843,53.92046060461448],[-118.02773536743346,53.9141384126102],[-118.04895294920264,53.92048111445283],[-118.0668773437721,53.91527647415621],[-118.06954763528314,53.90585361911437],[-118.09074446987444,53.895166965443536],[-118.11397964417478,53.87463761218733],[-118.12424152623166,53.854243259670824],[-118.1183992021414,53.822151812421],[-118.1250571154491,53.806717114451],[-118.51789360236766,53.80655469008903],[-118.89056375778831,53.805600890078566],[-118.89020489476674,53.760784881958244],[-118.4443794301103,53.760816023217885],[-118.44195645300783,53.64337876943687],[-118.2948239279248,53.643735370527196],[-118.29370777890081,53.62931770452712],[-118.14627149124101,53.62944733750641],[-118.1465743902954,53.54150156267313],[-118.29477031107703,53.54233492393694],[-118.29294297195553,53.417666079721286],[-118.26765494245019,53.40788889621421],[-118.24013445840426,53.39153154698724],[-118.21236901992457,53.38329940254654],[-118.21954167448935,53.356836984760974],[-118.23988353572163,53.35187570023015],[-118.2339250684797,53.339976099712885],[-118.20779855640035,53.32542520481655],[-118.18143806753974,53.33648520392957],[-118.16399963399745,53.337332046034966],[-118.1507378208055,53.34611910093946],[-118.11321918620912,53.358115733060835],[-118.09197793975125,53.368586829126706],[-118.06799247649391,53.35845759656496],[-118.04945006565512,53.364087706546364],[-118.00780307285467,53.35198255699666],[-117.95883168418705,53.330196642579935],[-117.9320422179621,53.29802484610029],[-117.90678185505979,53.290275208478114],[-117.88646933695135,53.2726078516757],[-117.88879547783061,53.25592211889757],[-117.86646628089238,53.230164998864154],[-117.80457391541731,53.22521723308207],[-117.78583127904525,53.201287740735054],[-117.74249901891712,53.17991623761899],[-117.69764782335749,53.18350503623737],[-117.67163500104068,53.12595169286011],[-117.65002737876235,53.11627642412076],[-117.61109357420496,53.08896301944673],[-117.60611758940784,53.074203826911],[-117.59530040561265,53.06721234265959],[-117.48951818147265,53.03860821800796],[-117.52074238244748,53.011224345263415],[-117.53964603779498,53.01456708767725],[-117.55304415783898,52.99136427384617],[-117.54573675631858,52.97027384058451],[-117.50709467697635,52.94993222397144],[-117.49149065579616,52.953948799982086],[-117.46244435135856,52.94715440810989],[-117.43591343521032,52.9315042913133],[-117.42054753928925,52.92734338513423],[-117.41840419741762,52.905431322076396],[-117.39117390213266,52.89054918142765],[-117.36369986558823,52.88588008238589],[-117.27683582453658,52.84575894176577],[-117.26674824999307,52.83682678951094],[-117.24790711353909,52.835201925988514],[-117.23002181853622,52.82036134600658],[-117.19289656691546,52.81091484777493],[-117.19696863946268,52.79174412616329],[-117.15047571041549,52.768699556622586],[-117.12738417201045,52.74388611484434],[-117.08054736519375,52.71644671690499],[-117.03586648128226,52.7199996698617],[-116.98160733593076,52.71495813520447],[-116.96803350478982,52.69562080641476],[-116.90444497425477,52.654103374854465],[-116.8745144891305,52.66718476750298],[-116.87371590367007,52.67840815443662],[-116.84703240816997,52.707604563094876],[-116.81451652467588,52.721629003912774],[-116.8295312773444,52.756873974106625],[-116.61243493582033,52.75568820803321],[-116.61268368945909,52.84237365044331],[-116.45958911130576,52.84266982789162],[-116.13398254462388,52.844311285024204],[-115.80487587895891,52.84391717865888],[-115.59738131104658,52.843434893115464],[-115.59725334727541,52.9237302861267],[-115.59502059157903,52.93969960805093],[-115.60484186111799,52.967176870706595],[-115.5975390589703,52.97369763137978],[-115.598196863641,53.01868929233224],[-115.61091383163343,53.01913569804932],[-115.6107297869473,53.19244478943716],[-115.61108821351029,53.3665751663386],[-115.23471105870938,53.36664034776118],[-115.10824409881972,53.366970771026004],[-115.11143642774523,53.384048612996594],[-115.09033497611263,53.4177381677466],[-115.10717642916669,53.42667337190077],[-115.09270667296593,53.43286211180824],[-115.04815184128628,53.4420748709421],[-115.03026319739811,53.462352179911],[-115.01219900054241,53.46332976582325],[-115.00181681495913,53.491627007618256],[-114.98950780466069,53.49672336732673],[-115.00815159421533,53.5256902702158],[-114.99649729515818,53.53516287903147],[-115.00291544930528,53.54693286370135],[-115.01924490262854,53.54755765189515],[-115.00292289750334,53.577473956901734],[-115.01011990391922,53.58795406934527],[-114.98315595863565,53.60594491220743],[-114.96922659801885,53.61039132226705],[-114.95639526229715,53.629109260699586],[-114.95856066346556,53.637244362946504],[-114.93407756871787,53.655929757782985],[-114.89682085420127,53.670911523737246],[-114.87312404819697,53.68897291239346],[-114.875825237389,53.7073400727263],[-114.88682964779625,53.71446727741649],[-114.91202640386831,53.71515295516412],[-114.90898960094545,53.72855771178992],[-114.92371027727737,53.74151416412631],[-114.94359686850403,53.741104659915436],[-114.9443124423863,53.7612048588123],[-114.96965735601641,53.77825720192801],[-114.97506031352682,53.788161623954124],[-115.04317253800893,53.78887544128942],[-115.0679785123864,53.78601067659708],[-115.19183251958285,53.787712924853736],[-115.19183231741057,53.80246759502731],[-115.33733919754376,53.80278240812154],[-115.48678478773888,53.803045935919094],[-115.48704629248132,53.818998885832265],[-115.7110033614439,53.818327871232086],[-115.78494669509415,53.8188370100722],[-115.78527738443525,53.89023509221703],[-115.87183109385911,53.89063845918524],[-115.85967368837711,53.89880235956506],[-115.85769183087314,53.91292635931478],[-115.87573421286947,53.9246199053957],[-115.86191572532695,53.94559927061519],[-115.84717820671717,53.95047121879493],[-115.86877337695583,53.97775770719738],[-116.03749819133633,53.97697382312562],[-116.21842158927377,53.97693114964162],[-116.52693355160528,53.97764723054468],[-116.52841772119339,54.06538439661084],[-116.70161438328242,54.06631975491067],[-116.69889801426052,54.12191990380154]],[[-116.4830254100066,53.59941025495715],[-116.48275679852651,53.603389554471356],[-116.37098461485229,53.602700195084005],[-116.37087454586856,53.583587056772004],[-116.39355918805242,53.57740147944859],[-116.43356892632188,53.57730734091754],[-116.44626369286463,53.56414506423611],[-116.47339426340905,53.56718199919765],[-116.50747675550753,53.560294215267874],[-116.50752431483487,53.5929579978636],[-116.4830254100066,53.59941025495715]],[[-117.53386810318477,53.43598237901231],[-117.51332922430315,53.4163864843625],[-117.52568009269747,53.406598681069205],[-117.57006754338673,53.39024543190144],[-117.56865292859261,53.36773387455828],[-117.60776564565406,53.3671283338659],[-117.61953382191797,53.351053187948764],[-117.63703289558265,53.380972403201746],[-117.59443979284661,53.4065323617441],[-117.57308689910676,53.42333295854569],[-117.53386810318477,53.43598237901231]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-116.7124501633031,\"lat\":53.454096572145815},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4814\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4814003\"],\"csd_name_en\":[\"Yellowhead County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Yellowhead County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.47930638140272,58.446659070795455],[-111.48284345885688,58.4314275609697],[-111.50805608274544,58.41953765730579],[-111.52451437340169,58.400365780387915],[-111.51844005280353,58.38527868778693],[-111.48397118186256,58.386450051143285],[-111.48746724075022,58.4207189794328],[-111.47037183813492,58.422058078907526],[-111.4688994372737,58.4336869371198],[-111.39293814122514,58.436119292851785],[-111.40846748520936,58.445221955889636],[-111.46528048598624,58.441285262991535],[-111.47930638140272,58.446659070795455]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.47897380959424,\"lat\":58.41757993127583},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4816\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4816849\"],\"csd_name_en\":[\"Old Fort 217\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Old Fort 217\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.63637737984314,55.98507802937212],[-112.64680043476484,56.00232910477851],[-112.60108692204133,56.017655344208826],[-112.62641759692778,56.03278917520413],[-112.6157077336584,56.05316482078586],[-112.61620301778053,56.06406791360299],[-112.63051764445811,56.074944759954725],[-112.62523168506925,56.08327843516615],[-112.59047978993621,56.08688286715718],[-112.5739767106332,56.11274798554143],[-112.57965943400411,56.12841137479362],[-112.55958232496263,56.145416521019946],[-112.55465338857407,56.160152846773116],[-112.53920895829742,56.16385889184577],[-112.51442829499153,56.18968837670328],[-112.51238249593773,56.19931136282575],[-112.53192589900274,56.21180866926077],[-112.53771729912327,56.24192805162769],[-112.56331033935824,56.26830300448632],[-112.57222997343504,56.2864345257904],[-112.59446880802435,56.31687526256827],[-112.62723287474738,56.33771191896186],[-112.63971243932342,56.35270529836196],[-112.6578923414626,56.3625031375866],[-112.6551074318607,56.37582266509348],[-112.67175667526284,56.39180467542346],[-112.66381987942086,56.4077625213326],[-112.6719146571972,56.41407394185973],[-112.70795216309631,56.420573358390676],[-112.71461774205433,56.43945664508901],[-112.69252735719016,56.45010540677963],[-112.69167699016293,56.50697000931879],[-112.71567526610312,56.50709051701885],[-112.71821403933967,56.77095600212872],[-112.72024159700221,56.85596381793093],[-112.74339749633258,56.856280448938094],[-112.74316639280994,57.0513309167298],[-112.73916716501937,57.20640314892679],[-112.76330407798217,57.207903287057775],[-112.76512002648894,57.29436750767512],[-113.09376462055835,57.294878037272916],[-113.09460263305087,57.38235287032793],[-113.25367110808256,57.38300078248156],[-113.60659761026503,57.38030473355211],[-114.00000001043465,57.3813033955197],[-114.30384398449162,57.3811269912223],[-114.554507898967,57.38135344104781],[-114.9751412467389,57.38059839604919],[-114.97866524668441,57.20596228123237],[-114.97043181601623,57.20478710410309],[-114.96888362866676,57.08957628822223],[-114.96520971763447,56.85583524689556],[-114.9586668373575,56.8554735931652],[-114.95833532611701,56.76879927224983],[-115.43733822969847,56.76966532839153],[-115.4357660621318,56.68165417664016],[-115.43837164822902,56.50005046967038],[-115.42713451555721,56.50006775489006],[-115.40328802646053,56.52522498721535],[-115.40181235077432,56.54218516563322],[-115.41228447865973,56.5528075732635],[-115.3980403062619,56.55855785875887],[-115.4050522990762,56.574202655685326],[-115.39762592883969,56.596307210028804],[-115.32918634342079,56.59712694639031],[-115.31156946286261,56.59451417526677],[-115.31180141029664,56.58118125935025],[-115.33038771443042,56.560664376485775],[-115.33156949011958,56.53748713986469],[-115.31887324626905,56.523600069370616],[-115.33227907237594,56.500052390892535],[-114.94975275997886,56.5000436357494],[-114.94958253726774,56.262663012559365],[-114.94950984870559,56.16036492353667],[-114.93877621474016,56.16097932343045],[-114.93855221923283,56.04938926090265],[-114.93817062132852,55.8094647509619],[-114.92976808399354,55.80949735835595],[-114.54364827205112,55.809627002754674],[-114.30985364127615,55.8101189540301],[-114.31214300903271,55.63559758868453],[-114.08020118733683,55.636054553156086],[-113.93787719359088,55.635460198384976],[-113.88022227591468,55.63617743418365],[-113.57397855262289,55.63552536124603],[-113.57309016556985,55.46077943892826],[-113.54394631532845,55.460770620635195],[-113.5446842214289,55.24747813678127],[-113.54641789080961,55.1602136616636],[-113.54578839740482,55.11015514285706],[-113.51985088940697,55.11043590847988],[-113.51409566626347,55.023971015319034],[-113.3613078121039,55.023859356077914],[-112.90388982743822,55.02410734259689],[-112.90380312764009,54.97036729146016],[-112.87551057307199,54.96515187042326],[-112.83546831393932,54.96436256450169],[-112.81150877875771,54.97181636229623],[-112.78765718941355,54.96891985217439],[-112.73644588165212,54.97390036250513],[-112.71594757413438,54.986215867776984],[-112.74402003974829,55.027648252600564],[-112.75849261634289,55.039291693447026],[-112.80137393079477,55.04854517637214],[-112.83593811961163,55.046041584205604],[-112.88021321121259,55.06730790767948],[-112.889397922628,55.07721014044357],[-112.87677150609319,55.104285900379566],[-112.84908031913638,55.12611801898732],[-112.83846392476154,55.157807453020204],[-112.81930700183042,55.17376924023046],[-112.81285980705607,55.22855721819946],[-112.78888911330719,55.241833617654116],[-112.78812927446486,55.259477952332205],[-112.74999700340365,55.27302412812236],[-112.7327640869473,55.289518267538774],[-112.70642269880297,55.282190401799475],[-112.69400666883162,55.293125352831545],[-112.6842590758084,55.312101387877675],[-112.70138770088427,55.351975900887574],[-112.72571397646917,55.38121543758487],[-112.72992907251546,55.41903837727846],[-112.75520623310922,55.4423830663315],[-112.75109748097805,55.46088428231539],[-112.77702253779388,55.47308114305227],[-112.75201647907242,55.49056355855615],[-112.75912795311359,55.499213535631384],[-112.79126875538877,55.505088544253],[-112.79960138930622,55.51829827672127],[-112.78820164324213,55.52617447730302],[-112.76605188090743,55.528532050213826],[-112.75815464131014,55.53794390542334],[-112.76600316433303,55.557360442472515],[-112.75979420375826,55.5784354773238],[-112.7892594882192,55.59700003428657],[-112.7897400555806,55.608793523091485],[-112.7727947421246,55.62958199697614],[-112.79100140231535,55.64143023854838],[-112.78576887790842,55.649461466709376],[-112.75384041592464,55.66583492043953],[-112.74933106766348,55.676920652632305],[-112.72244601513827,55.69335046229514],[-112.67359193541279,55.695114759846014],[-112.64299219835864,55.71772798801923],[-112.59721326003647,55.727035578236894],[-112.61319514959841,55.75203209454008],[-112.63684267984098,55.765160670385974],[-112.61684304675786,55.7770313488466],[-112.63032651823734,55.79225033015202],[-112.63065462259252,55.825951977702935],[-112.64822969226098,55.84174473866826],[-112.63150243379835,55.855100436285895],[-112.63292744503826,55.86358485565023],[-112.66182328296966,55.875687012813486],[-112.64890102470042,55.8892606554284],[-112.6745611257866,55.896236417980596],[-112.67737284568942,55.906719277308966],[-112.6572658720378,55.920626659059664],[-112.6314126336791,55.92224917361255],[-112.61882766199899,55.9431896500488],[-112.65359465360538,55.961665475468976],[-112.63018672340864,55.97214466834471],[-112.63637737984314,55.98507802937212]],[[-113.21219474709606,55.25998239489621],[-113.22438507799146,55.25733627862491],[-113.23741827876422,55.27132416594067],[-113.21212242435138,55.2720586027249],[-113.21219474709606,55.25998239489621]],[[-114.62101541251121,56.62481316741033],[-114.60350269662013,56.594126389851766],[-114.60212049655608,56.56535480982925],[-114.61813099818256,56.572943155349535],[-114.62986558838539,56.59229467310919],[-114.62101541251121,56.62481316741033]],[[-113.78755067586415,55.95031525459018],[-113.76397359831012,55.956383051277086],[-113.73660285431703,55.95658276950279],[-113.73705021860864,55.93478234329245],[-113.75639566335533,55.941949462208626],[-113.78755943759192,55.94164649998128],[-113.80344507117103,55.93934637283829],[-113.81183449307397,55.944223275951096],[-113.78755067586415,55.95031525459018]],[[-114.66955830941612,56.60152716027768],[-114.66264109633643,56.59350666740225],[-114.68452857733973,56.5814106796591],[-114.64314198952398,56.55362396833964],[-114.61738757300562,56.559700965757926],[-114.6008958593373,56.55706612641874],[-114.55183742015507,56.51107100823241],[-114.58443094295822,56.509603525746314],[-114.58803557311852,56.53954915993018],[-114.66380799196811,56.53686963933169],[-114.66420959672894,56.55298225740013],[-114.69641282960708,56.553894352695515],[-114.69700166273573,56.59453145419354],[-114.72228667297657,56.593551959901085],[-114.72212275944678,56.60766698102822],[-114.74499671827522,56.6210195974561],[-114.7168228957729,56.62305405387726],[-114.66955830941612,56.60152716027768]],[[-113.80656791722107,56.19184226149957],[-113.80648654105997,56.10099084784609],[-113.84174359734561,56.10219608843349],[-113.848605177102,56.12650046847273],[-113.86942876829086,56.13648026521617],[-113.86919475716817,56.19260174990034],[-113.80656791722107,56.19184226149957]],[[-113.89573522191128,55.938952140024696],[-114.00223440693696,55.94110129493237],[-114.00217872937395,55.984705988648436],[-113.96408878649532,55.985260479569135],[-113.93307518795713,55.95934777140373],[-113.90462889644223,55.96289547735835],[-113.89329650585344,55.95615522875992],[-113.87013849887262,55.955293655037416],[-113.84479498727661,55.96359137016605],[-113.84158317964459,55.94675835323595],[-113.8461367242776,55.92315997541701],[-113.8259156882354,55.923023748017485],[-113.82792747493278,55.9033518567391],[-113.81502786823316,55.888479760394965],[-113.81599539555506,55.86754365715731],[-113.92106500814752,55.86748728177486],[-113.92245937229636,55.88317617591611],[-113.94724588257152,55.883015058876964],[-113.94708188246221,55.92533666006064],[-113.89470833741733,55.92678697613226],[-113.89573522191128,55.938952140024696]],[[-113.40160694647284,55.90861715654044],[-113.40064089401767,55.859738704583506],[-113.43057831162066,55.85792506730695],[-113.43715909097166,55.851077666123984],[-113.5193358871707,55.85127427378734],[-113.54671010187137,55.85599395648429],[-113.55556962800095,55.850534071588655],[-113.63980238348725,55.851292516365014],[-113.63382059333007,55.88120477855059],[-113.63773727333145,55.910245059626014],[-113.59118291009597,55.90884129786579],[-113.40160694647284,55.90861715654044]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.76829572567547,\"lat\":56.39455424433468},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817031\"],\"csd_name_en\":[\"Opportunity No. 17\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Opportunity No. 17\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.56602906326901,58.48863787393933],[-114.57358187126351,58.48160768145663],[-114.5820431919077,58.448797163730596],[-114.6159970046803,58.42994561479705],[-114.61131059348281,58.398427948020434],[-114.45488640941954,58.398074585952024],[-114.45733739787102,58.53378326474275],[-114.48474950296247,58.52931997949311],[-114.53051648185152,58.50302878098878],[-114.56602906326901,58.48863787393933]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.52009028821044,\"lat\":58.45185908671464},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817835\"],\"csd_name_en\":[\"Fox Lake 162\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Fox Lake 162\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.29375270309605,55.083197198141235],[-117.29407002567157,55.04620039894257],[-117.25549470882238,55.04608763415953],[-117.25540668234507,55.08015707517678],[-117.29375270309605,55.083197198141235]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.27494595423948,\"lat\":55.06390506741363},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4818\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4818018\"],\"csd_name_en\":[\"Valleyview\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Valleyview\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-115.79047420732398,49.6036499487673],[-115.77750055246861,49.59577983422718],[-115.77834198056416,49.6243066173478],[-115.79027313967421,49.61969001300412],[-115.79047420732398,49.6036499487673]]],[[[-115.79037433807194,49.58813530414713],[-115.80581639087795,49.57187380119865],[-115.78624627887186,49.570213596396464],[-115.78973112441682,49.55120349090147],[-115.77685446094311,49.51455672333925],[-115.79606730176867,49.5125584994918],[-115.7967111366584,49.49735772149737],[-115.7841915542241,49.49120219424173],[-115.75738618320571,49.4904385720477],[-115.74132001694987,49.516730416005615],[-115.72819291103337,49.523969394216365],[-115.72869493662989,49.53757275892131],[-115.7546519520513,49.55902101008843],[-115.77481405765462,49.56678351419559],[-115.77483751309076,49.57747602790392],[-115.78095636831831,49.58042603583714],[-115.79037433807194,49.58813530414713]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-115.76789738104281,\"lat\":49.53774122292971},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5901\"],\"cd_name_en\":[\"East Kootenay\"],\"csd_code\":[\"5901022\"],\"csd_name_en\":[\"Cranbrook\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"East Kootenay\",\"csd_name_fr\":\"Cranbrook\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.19423618605421,49.75906281859552],[-122.18013184569027,49.750190069868474],[-122.1506714374177,49.75155908559772],[-122.15256204570514,49.7582605773167],[-122.19423618605421,49.75906281859552]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.17044239339312,\"lat\":49.75494199078839},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909842\"],\"csd_name_en\":[\"Douglas 8\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Douglas 8\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.45626185009996,49.98798008413365],[-122.45336759019399,49.98418140722036],[-122.44581620028231,49.984401645628665],[-122.44585485649014,49.9883468888239],[-122.45626185009996,49.98798008413365]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.45035410040258,\"lat\":49.986331168856246},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909883\"],\"csd_name_en\":[\"Sachteen\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Sachteen\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.06959017352564,48.823751538545466],[-124.09114482509236,48.8256419881352],[-124.09676757547135,48.82787349228497],[-124.11180874122927,48.825858327744726],[-124.11315596657822,48.81803934177637],[-124.09118443624955,48.815701447113995],[-124.03760601655787,48.818167152793286],[-124.02779493215282,48.82774895506645],[-124.03137155571811,48.837253818416784],[-124.05478777349688,48.84168166639011],[-124.05475709548223,48.83043880664826],[-124.06936968969,48.826611695392046],[-124.06959017352564,48.823751538545466]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.0641227224233,\"lat\":48.82517559445112},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5919\"],\"cd_name_en\":[\"Cowichan Valley\"],\"csd_code\":[\"5919016\"],\"csd_name_en\":[\"Lake Cowichan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cowichan Valley\",\"csd_name_fr\":\"Lake Cowichan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.90252331155759,49.185082679046175],[-123.9329056830411,49.21009866198899],[-123.9423423401931,49.2271631193353],[-123.96212946593477,49.237770880079175],[-124.00134643278598,49.240313354937946],[-124.03661027330597,49.25167418251377],[-124.05707081574214,49.25150894764467],[-124.05395723190689,49.23448454286512],[-124.06461513289547,49.229764703178795],[-124.05424910399161,49.222461614018535],[-124.05442669460335,49.20283018959325],[-123.99932683870324,49.18698694805654],[-123.9997956871081,49.18015770502851],[-124.02234407168085,49.1743031859171],[-124.01386574615249,49.15626902427589],[-123.9804707222732,49.14817788832195],[-123.97063261955648,49.1330055658423],[-123.93318556874614,49.133664699932154],[-123.93314070142414,49.09722707493021],[-123.91994778402511,49.102010971871685],[-123.91914399534234,49.110011668575495],[-123.8891837413078,49.114707395260055],[-123.88643556289902,49.12313914099343],[-123.88566545023969,49.12310593561207],[-123.87855235800257,49.13339838855825],[-123.8637316404857,49.12674892721258],[-123.80512774776906,49.126859981096715],[-123.8280391154,49.144463018033456],[-123.8654451758041,49.152487014490816],[-123.90252331155759,49.185082679046175]],[[-123.92739143023255,49.15539035350242],[-123.92830234438382,49.15132564899776],[-123.927221934237,49.146296954163056],[-123.93090963812169,49.14684662954088],[-123.93036367684171,49.15528069925589],[-123.92739143023255,49.15539035350242]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.95372303646738,\"lat\":49.17877166116071},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5921\"],\"cd_name_en\":[\"Nanaimo\"],\"csd_code\":[\"5921007\"],\"csd_name_en\":[\"Nanaimo\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Nanaimo\",\"csd_name_fr\":\"Nanaimo\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.91428443507655,49.665455104106954],[-124.8975197813219,49.674528133955825],[-124.89822526325351,49.69265832246761],[-124.89006849981837,49.70239228779364],[-124.87109220310562,49.70488529883759],[-124.88405438122257,49.72604339252319],[-124.91138918423417,49.72656874948102],[-124.90886702420482,49.71832350262934],[-124.92014039694551,49.703132253545824],[-124.94538184776411,49.69370193055559],[-124.95269746642863,49.688736781926],[-124.95640173135921,49.68438726714982],[-124.94978792021985,49.68246095762456],[-124.95022564414518,49.67402016744152],[-124.95188228808195,49.670378569229044],[-124.91428443507655,49.665455104106954]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.91357352405946,\"lat\":49.69402875775759},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5926\"],\"cd_name_en\":[\"Comox Valley\"],\"csd_code\":[\"5926005\"],\"csd_name_en\":[\"Comox\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Comox Valley\",\"csd_name_fr\":\"Comox\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.95188228808195,49.670378569229044],[-124.97589584977952,49.679423067328635],[-124.9630135868737,49.659417597814596],[-124.98163132792526,49.64986670042523],[-125.00847004010618,49.664897070837014],[-125.01001700159252,49.653364802333535],[-124.99425212068218,49.62538729047547],[-124.99419098895426,49.61208968490339],[-125.04266194286413,49.61220247071123],[-125.0409516558534,49.600369165067505],[-125.07717869620572,49.60077759826711],[-125.08729116168507,49.60708028309489],[-125.13025040113071,49.60450133847793],[-125.13085921928744,49.59549515208864],[-125.108321079683,49.58587802977652],[-125.1149423144749,49.573142084393645],[-125.14886188538767,49.57097138717398],[-125.16116748405841,49.56339731910677],[-125.1355457274746,49.54223508747462],[-125.11956674216792,49.536282651234096],[-125.12376724416954,49.52240592598735],[-125.11470643827988,49.51481257547578],[-125.10717847841006,49.50401154193202],[-125.09279889072329,49.50221301525294],[-125.06905560525256,49.477583457359714],[-125.05272185719956,49.47761765581845],[-125.03674738706692,49.493906894008305],[-125.02250708089814,49.49237605486553],[-125.00985553557436,49.459135330329445],[-124.98242081969282,49.453210019142404],[-124.9708356080144,49.43351325823819],[-124.96813235767269,49.43338667776203],[-124.91238544845457,49.427953796500425],[-124.90335082349341,49.43240278586118],[-124.85934462145121,49.43308701309076],[-124.85656044438726,49.419623188460676],[-124.82324564742503,49.419430618841886],[-124.82314066031182,49.40489815367689],[-124.73357320238365,49.40474425028296],[-124.73345424565458,49.439579451485024],[-124.75675572749353,49.44062403476868],[-124.75630832167967,49.470249737922124],[-124.51744554513553,49.46982078518735],[-124.46536673440677,49.46977996591827],[-124.50035088132333,49.499874428996854],[-124.50063090643563,49.54868770645227],[-124.53037124621943,49.57496983534866],[-124.56230605215951,49.59239753715722],[-124.65287531999276,49.63758412061784],[-124.69466622933031,49.66599558793341],[-124.77668479858488,49.65644558795039],[-124.82724061928288,49.65306468882255],[-124.89371049969944,49.65271128704519],[-124.92708894705669,49.65807276533143],[-124.91428443507655,49.665455104106954],[-124.95188228808195,49.670378569229044]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.81755170786997,\"lat\":49.543866824231905},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5926\"],\"cd_name_en\":[\"Comox Valley\"],\"csd_code\":[\"5926021\"],\"csd_name_en\":[\"Comox Valley A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Comox Valley\",\"csd_name_fr\":\"Comox Valley A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.15810223260806,49.76698034265641],[-123.1580300896189,49.77044770991173],[-123.16095874404145,49.77226276104914],[-123.164818134184,49.77100915022688],[-123.15810223260806,49.76698034265641]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.1606135980495,\"lat\":49.77002788813812},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5931\"],\"cd_name_en\":[\"Squamish-Lillooet\"],\"csd_code\":[\"5931808\"],\"csd_name_en\":[\"Waiwakum 14\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Squamish-Lillooet\",\"csd_name_fr\":\"Waiwakum 14\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.63079851016171,50.31052320687531],[-122.6597944074366,50.31088548310512],[-122.6817609256648,50.3013364596479],[-122.65250748091984,50.29907980293945],[-122.6396507900173,50.30370288508214],[-122.60929822774462,50.30166301548129],[-122.61479199621243,50.31298770358459],[-122.63079851016171,50.31052320687531]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.64311279610862,\"lat\":50.30580769633538},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5931\"],\"cd_name_en\":[\"Squamish-Lillooet\"],\"csd_code\":[\"5931812\"],\"csd_name_en\":[\"Nesuch 3\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Squamish-Lillooet\",\"csd_name_fr\":\"Nesuch 3\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.80370337466658,50.68798260440808],[-121.81206946341297,50.68879673967452],[-121.81202699975267,50.68424239355966],[-121.80337929256997,50.68430889230906],[-121.80370337466658,50.68798260440808]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.80794838596839,\"lat\":50.68632647675998},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5931\"],\"cd_name_en\":[\"Squamish-Lillooet\"],\"csd_code\":[\"5931820\"],\"csd_name_en\":[\"Fountain 12\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Squamish-Lillooet\",\"csd_name_fr\":\"Fountain 12\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.61493821898324,50.29929862118391],[-121.64023370508242,50.30025351412917],[-121.63827473021429,50.29338345521688],[-121.61441504102126,50.292359880883524],[-121.61493821898324,50.29929862118391]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.62693377196771,\"lat\":50.29635649521289},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933813\"],\"csd_name_en\":[\"Halhalaeden\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Halhalaeden\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.05568075157318,49.81232225443617],[-119.02217993843611,49.85223255349704],[-118.97675655231042,49.87865727485058],[-118.97683788324505,49.892868610661715],[-118.96421631951499,49.90367991670262],[-118.93485997082537,49.91566296549319],[-118.92304814158489,49.90610054646065],[-118.90731570657958,49.906664669195344],[-118.91096008467859,49.92076643585006],[-118.89329258711987,49.93752389601175],[-118.8645093268437,49.941233121789566],[-118.85232835802493,49.95790191718066],[-118.82617885185041,49.952403666042564],[-118.80803768947813,49.955614480703076],[-118.80099273845143,49.96655056437006],[-118.80209539001409,49.98098821103137],[-118.82274210795471,49.99996711386366],[-118.80988513040057,50.02183867849786],[-118.82308220792805,50.022447494156566],[-118.83503391001861,50.03576532913511],[-118.85908957043047,50.03653038331395],[-118.86889732155115,50.05279009643828],[-118.91290360156893,50.05247317397455],[-118.92330719941401,50.042844052192216],[-118.94687217704995,50.057035492685365],[-118.95823145671788,50.04763077494664],[-118.99780309343645,50.047653948217786],[-119.03041622342138,50.040782418189394],[-119.06430607466596,50.03705022617848],[-119.07235922131449,50.0460268654053],[-119.09677536948632,50.05208455338948],[-119.10546348676124,50.04531585966479],[-119.14334882472538,50.044951511165706],[-119.17338962863226,50.04974320184619],[-119.17768974747202,50.05972354491814],[-119.16528887283373,50.0932897677502],[-119.14099606048138,50.11926973479365],[-119.146108022664,50.151247564669504],[-119.32903588684951,50.15110066039968],[-119.34750089791531,50.151305159135454],[-119.34812668105303,50.12844348447495],[-119.33757548037687,50.11337981881085],[-119.32789685321062,50.113450010459765],[-119.32791126948182,50.09269341362674],[-119.33804018425583,50.092308450295526],[-119.33918290555353,50.066693299287685],[-119.31718050398186,50.066484134774505],[-119.31773480950376,50.034084985309406],[-119.28914975663182,50.026822508034776],[-119.28851089810948,50.01569692582189],[-119.32959652454956,50.01609469152173],[-119.37552530261513,50.0050541288123],[-119.37590956531216,49.96030592772827],[-119.36867740029051,49.94569871104422],[-119.37753149078469,49.94000319755982],[-119.37076198188831,49.92357286201457],[-119.35184990049054,49.91806112878341],[-119.33126149345584,49.91808342916018],[-119.33075318838235,49.87471082219233],[-119.32007735698915,49.87454665701488],[-119.31995739674484,49.852800838644164],[-119.34229700512334,49.85287964147024],[-119.34209080134444,49.83146696996955],[-119.35411739098754,49.8245081828291],[-119.4096129344747,49.82303017565718],[-119.42135908031615,49.80885752971869],[-119.44436785565443,49.80812833740224],[-119.44401717489568,49.793933331881526],[-119.4554958199196,49.78833529582757],[-119.5128448228136,49.788994533434426],[-119.51254498283579,49.781292351680946],[-119.54488319067546,49.78099342839451],[-119.54496629865145,49.77412142937768],[-119.5888443634451,49.773402742691296],[-119.5897711296186,49.801470753516],[-119.64828082492271,49.787830701730144],[-119.69745585995102,49.77516161850759],[-119.69708950553331,49.76073836522758],[-119.66098669371097,49.75900515311536],[-119.55662402031756,49.760186025195004],[-119.55631926374028,49.75314119585616],[-119.51902101433569,49.75290327891927],[-119.5153903314061,49.72790398237979],[-119.50130051827604,49.73046581102707],[-119.48589747745856,49.74639297461415],[-119.45876379597655,49.72547007854944],[-119.45389865468687,49.70227846827553],[-119.42703348079017,49.675387991723134],[-119.40552103967411,49.684050953138936],[-119.37590573758658,49.67903282660881],[-119.33182337916696,49.698454729024704],[-119.32586646978832,49.69706527596169],[-119.29568007077253,49.715192936110284],[-119.28658815245618,49.72630979877875],[-119.27182000723032,49.7302139819892],[-119.26293655998941,49.74478184409671],[-119.22855429089353,49.735152846391],[-119.20686180363262,49.737254060118666],[-119.20205610436051,49.75325313660991],[-119.1853548329663,49.75822712580905],[-119.16374501975693,49.757830224501355],[-119.15273066272161,49.76400540362948],[-119.15385029063196,49.79951502726437],[-119.13361191244014,49.79934634871994],[-119.11572153000213,49.79094718905135],[-119.08553121550509,49.79909352956302],[-119.06549876813362,49.79821374040277],[-119.05568075157318,49.81232225443617]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.19468050914628,\"lat\":49.91705383433732},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5935\"],\"cd_name_en\":[\"Central Okanagan\"],\"csd_code\":[\"5935012\"],\"csd_name_en\":[\"Central Okanagan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Central Okanagan\",\"csd_name_fr\":\"Central Okanagan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.38724767163588,50.725990626055136],[-119.40842551521757,50.72392004328571],[-119.41480931648968,50.74259352260209],[-119.43680112776147,50.74467487432768],[-119.44011926828216,50.73495378083924],[-119.48260913637743,50.71810417933524],[-119.50635541066359,50.72768005354256],[-119.52473385603027,50.74459590282901],[-119.52549805361696,50.57656516083],[-119.62882624392778,50.57611119197024],[-119.65150924325592,50.56897795219864],[-119.65139328119909,50.40205146558443],[-119.64448665191006,50.40210758142982],[-119.62844145877398,50.40215317302405],[-119.62860197342657,50.416447223776835],[-119.6061142651965,50.41628758354229],[-119.60610996382977,50.43100759119463],[-119.58166656727428,50.43080461306085],[-119.58186485203649,50.445701550771126],[-119.52581390888628,50.44521647612393],[-119.52493477467372,50.431032276972125],[-119.44636506457506,50.430853694181536],[-119.4457064548474,50.415957521012714],[-119.35239100234091,50.41617074052406],[-119.36397631712217,50.42613511559919],[-119.36022873986713,50.46037636037068],[-119.34585371797327,50.47372685035986],[-119.34374882519111,50.4850992028289],[-119.34902833259147,50.514984763538024],[-119.30811639755586,50.5145723787715],[-119.30846641971793,50.52860320799074],[-119.18337170821098,50.52781476928139],[-119.18353745063396,50.543866499966434],[-119.18082643341994,50.66403054358253],[-119.2492301997631,50.663697871505526],[-119.24939498792912,50.633988433052274],[-119.38788734405118,50.63429768815059],[-119.38724767163588,50.725990626055136]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.43209633881918,\"lat\":50.55956960549853},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5939\"],\"cd_name_en\":[\"Columbia-Shuswap\"],\"csd_code\":[\"5939039\"],\"csd_name_en\":[\"Columbia-Shuswap D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Columbia-Shuswap\",\"csd_name_fr\":\"Columbia-Shuswap D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.65601652641274,50.939064470829955],[-119.62402762317645,50.94862946978891],[-119.60371253266197,50.96522005673113],[-119.61589620731793,50.97237219033707],[-119.66906782293843,50.9582727000753],[-119.65601652641274,50.939064470829955]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.63736791051748,\"lat\":50.95644490494651},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5939\"],\"cd_name_en\":[\"Columbia-Shuswap\"],\"csd_code\":[\"5939802\"],\"csd_name_en\":[\"Hustalen 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Columbia-Shuswap\",\"csd_name_fr\":\"Hustalen 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.23378514637466,52.541685134929224],[-122.38743831236911,52.54300749870303],[-122.45271572113008,52.53936721827462],[-122.4432214025643,52.52602110422281],[-122.43578840493426,52.503099829535884],[-122.43460039747393,52.47791649578125],[-122.41024483644883,52.447636590510974],[-122.39893098029383,52.417711899268525],[-122.3913231018075,52.40882569031151],[-122.3897903978836,52.38811911383993],[-122.37611448493173,52.37859119894803],[-122.37449641945739,52.36232809474892],[-122.36096260450091,52.355486208050515],[-122.33523980944042,52.35207519266354],[-122.28944602228339,52.34111449794853],[-122.28264468920577,52.33384251014419],[-122.28201869889986,52.32664310424908],[-122.2755789943778,52.318757294033915],[-122.28883398287647,52.29693699003503],[-122.2723032181303,52.28181195603596],[-122.26396322064474,52.253921599695104],[-122.27976788934903,52.2194970052904],[-122.26965699484505,52.20032289966432],[-122.27455340154809,52.17131009429758],[-122.27238504659175,52.157696219633046],[-122.23896388373802,52.15706705970854],[-122.19196052644276,52.15160425777931],[-122.19377095214125,52.16392699805748],[-122.14707538621029,52.16738510954615],[-122.1442445335598,52.149799835968814],[-122.12956439869002,52.135769379679004],[-122.10647991093893,52.124419034789874],[-122.09089669450361,52.127830951727724],[-122.09060778983304,52.13557617717604],[-122.06890345841923,52.14181331789658],[-122.04460515256821,52.14149377308118],[-122.04347604438189,52.173411285046654],[-122.07732090950182,52.184567086701534],[-122.06835528060257,52.1963562573541],[-122.07006448051536,52.21465217468599],[-122.0445924915241,52.23527319970321],[-122.04405962925554,52.24219160764571],[-122.09457820872606,52.24303664029911],[-122.09206127462774,52.258144985394175],[-122.14486172719013,52.25980514200778],[-122.14613282080629,52.28227768240273],[-122.12189571979343,52.28164586119295],[-122.12250673782941,52.27199459872016],[-122.07501706812313,52.27102224090487],[-122.07555889393532,52.26423640726626],[-122.04202707904209,52.263458786426526],[-122.01581569204781,52.2627922476567],[-122.0115939099951,52.38981991821469],[-122.02405288382893,52.39042958761788],[-122.02364454414833,52.40711083868713],[-122.03925328328673,52.426807438035006],[-122.03992061315044,52.50047889170836],[-122.05931005110351,52.50615016981801],[-122.08542569092639,52.5034492418353],[-122.08607025146772,52.54038860018856],[-122.23378514637466,52.541685134929224]],[[-122.2754018544233,52.33411263510815],[-122.25534399075981,52.33278812144956],[-122.25556924272098,52.31075612201873],[-122.27791611516295,52.3105835848445],[-122.27472143816145,52.31877585547268],[-122.28078052711552,52.32687817638052],[-122.2754018544233,52.33411263510815]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.1982300600137,\"lat\":52.37123620217121},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941010\"],\"csd_name_en\":[\"Cariboo D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Cariboo D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.06482148851077,52.11537150225631],[-122.06419090733321,52.09976686584332],[-122.11764925999806,52.099764880576416],[-122.11978866970243,52.10681775361484],[-122.14772586023517,52.10716339510336],[-122.17049575661602,52.11451357087217],[-122.17813081271726,52.14338286336467],[-122.19196052644276,52.15160425777931],[-122.23896388373802,52.15706705970854],[-122.27238504659175,52.157696219633046],[-122.2699654988194,52.14914531361628],[-122.28310887335459,52.126100194627504],[-122.28439620262874,52.10635209996623],[-122.2751108080654,52.087636603054214],[-122.28006439587007,52.05288717897428],[-122.27044511229485,52.04203697230497],[-122.26509955052721,52.01427528260669],[-122.27501700551313,51.994553034457766],[-122.27266787800019,51.97201069311308],[-122.27701959697362,51.95936799351534],[-122.26906120528847,51.9400528950384],[-122.27881159472307,51.92178461451198],[-122.29651682277398,51.91486580040365],[-122.30377901846043,51.90203359974959],[-122.3288950053287,51.88503708540029],[-122.34545491310739,51.8807829943459],[-122.39600469084148,51.88019910210223],[-122.40095310505404,51.87137610563838],[-122.38664529853733,51.859557997424226],[-122.40161739342318,51.84967261093505],[-122.40009658825505,51.836527105772404],[-122.40866681025643,51.820239902561454],[-122.4057961108391,51.79297620489097],[-122.39338098850219,51.78384131175068],[-122.39086380373315,51.755143486720584],[-122.39939661063339,51.74236409932152],[-122.39353059958326,51.72880559198499],[-122.3629574065454,51.72028168929471],[-122.351507386112,51.70347320320938],[-122.35988110228242,51.6916053012777],[-122.32640602303333,51.649823198876334],[-122.32745479216605,51.634830609597344],[-122.30730590309803,51.611064802845455],[-122.30997397626273,51.60358629808355],[-122.29373720151288,51.58406751029568],[-122.29707740548109,51.562201586030135],[-122.29164348130861,51.55293902365157],[-122.21918772066786,51.552108438207256],[-122.21928073148872,51.54483239822729],[-122.17911171845053,51.5444462328211],[-122.17903912864374,51.516110266458504],[-122.00003091032205,51.51631552542604],[-121.94636410065043,51.5170016062985],[-121.94875205072918,51.57246286696908],[-121.94103842675153,51.63976940878309],[-121.94940648934993,51.69139432038219],[-121.95481125224619,51.70209281156143],[-121.95504477690719,51.73186089745185],[-121.97877671563596,51.73217845153904],[-121.97965557244231,51.80165615992691],[-121.9781360244479,51.87556377612523],[-121.83577249147686,51.8758187346776],[-121.83896407541125,51.98555110700279],[-121.8547686957861,51.9931220000805],[-121.88393985839294,51.99212075525553],[-121.87610220326337,52.014038637164894],[-121.90148232025547,52.0208831734201],[-121.90253728727264,52.03584653778339],[-121.92805627741272,52.05245607375869],[-121.95097821378775,52.05814886522319],[-121.952324747522,52.06691817786673],[-121.9871599455211,52.066881253488546],[-121.98840120296323,52.0877822680049],[-122.00032938598241,52.08778321558978],[-122.006506426524,52.10141250468831],[-122.02908101559964,52.10836902000352],[-122.06482148851077,52.11537150225631]],[[-122.10496885115822,51.84119455638649],[-122.12304424155843,51.837428040922894],[-122.12407555274108,51.84530723690877],[-122.10496885115822,51.84119455638649]],[[-122.21621841901478,51.59123906851491],[-122.19406189243495,51.59125795323401],[-122.1936833086951,51.58296518455785],[-122.21156821647673,51.58280294130104],[-122.21621841901478,51.59123906851491]],[[-122.07924740417685,51.59872366678021],[-122.0797277362976,51.589704887056435],[-122.10566689687364,51.59016313429177],[-122.1054125356918,51.60108039516673],[-122.07924740417685,51.59872366678021]],[[-122.23518654533142,51.794299916406175],[-122.20447070892828,51.79378226196976],[-122.20553764033063,51.78509469622604],[-122.24771962239986,51.784277957201056],[-122.23518654533142,51.794299916406175]],[[-122.1813716322155,51.842319583474236],[-122.15465897604962,51.84310840837163],[-122.15692153965702,51.828242309284526],[-122.18462497519344,51.82804495373016],[-122.1813716322155,51.842319583474236]],[[-122.11033831283618,51.81957619400072],[-122.13601069893481,51.82194973397264],[-122.13561135424257,51.82572582332784],[-122.10968374152307,51.82520064363679],[-122.08424694739351,51.82613657925125],[-122.08328562850588,51.81489994183645],[-122.11033831283618,51.81957619400072]],[[-122.07364685567427,51.85400962205094],[-122.07836787784427,51.84174203596343],[-122.10139282499102,51.84169496978689],[-122.10810197471325,51.86142642328158],[-122.07386307264625,51.86188762833198],[-122.07364685567427,51.85400962205094]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.12842814547655,\"lat\":51.82351530427759},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941012\"],\"csd_name_en\":[\"Cariboo E\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Cariboo E\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.11923112580823,52.71483714412872],[-122.18802339289132,52.71413394708736],[-122.19287073356318,52.704139091671024],[-122.2380072938463,52.69783685219583],[-122.24811324731213,52.688294901748925],[-122.24695380734873,52.6753062831173],[-122.2367987529974,52.66380490614511],[-122.23560813938062,52.63455860642733],[-122.22553991598218,52.61427267125818],[-122.2499320842651,52.60608007951635],[-122.21557815848358,52.58241488085535],[-122.20564451485707,52.568192165920834],[-122.23378514637466,52.541685134929224],[-122.08607025146772,52.54038860018856],[-122.08542569092639,52.5034492418353],[-122.05931005110351,52.50615016981801],[-122.03992061315044,52.50047889170836],[-122.03925328328673,52.426807438035006],[-122.02364454414833,52.40711083868713],[-122.02405288382893,52.39042958761788],[-122.0115939099951,52.38981991821469],[-122.01581569204781,52.2627922476567],[-122.04202707904209,52.263458786426526],[-122.04405962925554,52.24219160764571],[-122.0445924915241,52.23527319970321],[-122.07006448051536,52.21465217468599],[-122.06835528060257,52.1963562573541],[-122.04373807052654,52.180289915043815],[-122.04347604438189,52.173411285046654],[-122.04460515256821,52.14149377308118],[-122.06890345841923,52.14181331789658],[-122.09060778983304,52.13557617717604],[-122.09089669450361,52.127830951727724],[-122.06482148851077,52.11537150225631],[-122.02908101559964,52.10836902000352],[-122.02934507242107,52.124268394313965],[-121.97641785269475,52.12430313902336],[-121.95402939071636,52.11804048515545],[-121.95711080188393,52.08756756437502],[-121.98840120296323,52.0877822680049],[-121.9871599455211,52.066881253488546],[-121.952324747522,52.06691817786673],[-121.95097821378775,52.05814886522319],[-121.92805627741272,52.05245607375869],[-121.90253728727264,52.03584653778339],[-121.90148232025547,52.0208831734201],[-121.87610220326337,52.014038637164894],[-121.88393985839294,51.99212075525553],[-121.8547686957861,51.9931220000805],[-121.83896407541125,51.98555110700279],[-121.8294739972315,51.99224779662682],[-121.70793473432235,51.99127185552757],[-121.5549312283226,51.99194381307584],[-121.55551877890844,52.080391601270605],[-121.40902653307951,52.075499634666336],[-121.21035459979069,52.07086901285966],[-121.20399219545946,51.99232377661521],[-120.88371530878416,51.99160843277153],[-120.8861902929239,52.135930057539994],[-120.38754754617437,52.13744511708389],[-120.40761227696656,52.144257949698876],[-120.40144705692248,52.166189594862246],[-120.38695603520722,52.17854878831645],[-120.39509968441862,52.204225682513965],[-120.42075196432218,52.21002364224402],[-120.49150006778994,52.288514461977265],[-120.4664727559977,52.30441953406306],[-120.50784911289065,52.32511877978902],[-120.5348509734951,52.32940096234168],[-120.51754912369758,52.34396586005691],[-120.5269443333832,52.349805881185674],[-120.52109016274525,52.37975308524671],[-120.49115489337267,52.40039123950039],[-120.45980344845681,52.41171815849954],[-120.4592203884972,52.42124218329561],[-120.50900902017116,52.45119748493882],[-120.5421505490952,52.466116494843575],[-120.5327633737125,52.47898582688029],[-120.50940186011252,52.49474459262114],[-120.44110695249384,52.5171846163903],[-120.40767781794666,52.534483467497324],[-120.38965116004417,52.5370876161669],[-120.36301267232386,52.52814209569241],[-120.33321015323257,52.56675289378218],[-120.31617003503581,52.566356655323844],[-120.29158060281952,52.58735904296742],[-120.29367798390496,52.60762654381557],[-120.26789366898038,52.60830988820249],[-120.25150749748282,52.61962004015523],[-120.23769455793548,52.62076561930904],[-120.23527869557962,52.6347139318352],[-120.2897276618271,52.65775472848972],[-120.254383523472,52.6773509943649],[-120.28689765872582,52.70501263121676],[-120.26911949849487,52.71288046637819],[-120.2936941492979,52.72560440485187],[-120.27378052742317,52.74592322282795],[-120.29362712172424,52.763473526182864],[-120.2903627008046,52.771992904820394],[-120.30827383875823,52.78011251195091],[-120.33423831427051,52.78133859015237],[-120.33969642445898,52.78823364020552],[-120.30243816152856,52.815110168492055],[-120.33422840079746,52.83313909803514],[-120.3129225740879,52.85871318516134],[-120.28273102750761,52.86866898826416],[-120.25953702305515,52.85961601987577],[-120.23254268582436,52.86347904101179],[-120.21214278647919,52.87633176809711],[-120.17725338382988,52.86003454741283],[-120.16526810836551,52.861974028745564],[-120.14254549439083,52.87674077578408],[-120.165867507435,52.89850995459348],[-120.17036973019488,52.92495357843085],[-120.1878420250571,52.924017456682186],[-120.20128670952154,52.9325132092654],[-120.22712962425173,52.91831506852374],[-120.26935085495714,52.928866624436004],[-120.30083846560458,52.921198826560854],[-120.33843793729068,52.92738895883019],[-120.37676277498711,52.96476640988252],[-120.41123841279251,52.96430154788747],[-120.43420133345742,52.97262576378822],[-120.45312671157451,52.99325703672585],[-120.46718276626441,52.98879177615554],[-120.5022830449619,52.991078443371805],[-120.53606100179397,52.98384199626897],[-120.54490116561881,52.97613015580482],[-120.53518073199697,52.955869830152665],[-120.59257164746856,52.94630611593247],[-120.59458650550455,52.940249522213605],[-120.56980276176456,52.92018230789587],[-120.57984825350803,52.91192243063651],[-120.6111650103247,52.9136745834095],[-120.66339577886231,52.932186411013824],[-120.68221059243075,52.92813413629748],[-120.70178473183749,52.905519986996445],[-120.72283254988706,52.896953181723156],[-120.73765349709522,52.90796539033303],[-120.78959141786095,52.90846339269999],[-120.80786883303065,52.89950924270013],[-120.84365732539779,52.901920945073414],[-120.88723686914305,52.88674715262575],[-120.9345761194129,52.857649145417476],[-120.99526925749173,52.88042876465408],[-121.05719552973085,52.88307533362542],[-121.07250666880294,52.875311134471765],[-121.12041158459462,52.869753085648995],[-121.13186360670498,52.92578255491436],[-121.14276654218978,52.93947180129857],[-121.17495618240979,52.94285808275604],[-121.16913500191885,52.930643186641426],[-121.19201973068724,52.92529106843834],[-121.22735958648647,52.92899249388102],[-121.24198724727253,52.92615420693428],[-121.28183973525732,52.899067170397124],[-121.31057817911889,52.89498626243575],[-121.34381520814138,52.87114517353704],[-121.42273993990356,52.875637872792225],[-121.45255529280871,52.866541033992974],[-121.46781688057352,52.848844071180245],[-121.47858160177447,52.84667347204011],[-121.49102955836034,52.86127859603921],[-121.529645172193,52.8694085946876],[-121.56399928829168,52.86703622001034],[-121.57875159066434,52.85715512030805],[-121.6045400089244,52.86052157096306],[-121.6143819993953,52.849211695842776],[-121.62041125973296,52.82402534230068],[-121.59112838779829,52.80717268475877],[-121.61648326074169,52.785173913763785],[-121.59910314137699,52.75324298537479],[-121.58201725068102,52.739402924012836],[-121.59934326746058,52.72512876113593],[-121.65545049210196,52.73837834866777],[-121.69396349183067,52.71982518305458],[-121.71930169250493,52.73286499522436],[-121.75890678539827,52.74203746565539],[-121.93817449537933,52.743137332311534],[-121.94070448315593,52.714497849456656],[-122.11923112580823,52.71483714412872]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.20154964265527,\"lat\":52.478256908566635},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941014\"],\"csd_name_en\":[\"Cariboo F\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Cariboo F\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.1813716322155,51.842319583474236],[-122.18462497519344,51.82804495373016],[-122.15692153965702,51.828242309284526],[-122.15465897604962,51.84310840837163],[-122.1813716322155,51.842319583474236]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.16930846689334,\"lat\":51.835381157795226},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941811\"],\"csd_name_en\":[\"Johny Sticks 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Johny Sticks 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.4886788499525,53.08204938290248],[-124.46300028955397,53.090684308252854],[-124.46291372639271,53.09735829795298],[-124.51118099646291,53.09774889076807],[-124.51162177354948,53.08261260526936],[-124.4886788499525,53.08204938290248]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.48988135961824,\"lat\":53.090720388731306},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941833\"],\"csd_name_en\":[\"Kluskus 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Kluskus 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.11033831283618,51.81957619400072],[-122.08328562850588,51.81489994183645],[-122.08424694739351,51.82613657925125],[-122.10968374152307,51.82520064363679],[-122.11033831283618,51.81957619400072]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.09546001913407,\"lat\":51.82131101455481},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941868\"],\"csd_name_en\":[\"Sandy Harry 4\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Sandy Harry 4\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-127.30272567883476,55.00032701537637],[-127.31370566084134,55.02271979231829],[-127.33066585710594,55.0232836240993],[-127.34231365955432,55.02366931372289],[-127.3421411380029,55.00002635140056],[-127.30272567883476,55.00032701537637]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-127.32523646982453,\"lat\":55.01105937486321},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5949\"],\"cd_name_en\":[\"Kitimat-Stikine\"],\"csd_code\":[\"5949817\"],\"csd_name_en\":[\"Moricetown 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kitimat-Stikine\",\"csd_name_fr\":\"Moricetown 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.19292295075212,54.467750663756476],[-124.19169372288668,54.47514632907096],[-124.19339822520547,54.47519426861736],[-124.20201216865895,54.46770317534567],[-124.19292295075212,54.467750663756476]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.19556893920374,\"lat\":54.470607131322936},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951840\"],\"csd_name_en\":[\"Williams Prairie Meadow 1A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Williams Prairie Meadow 1A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.17790284341794,53.322953170006194],[-120.18410829191542,53.31572898774977],[-120.17475372288824,53.29502840154114],[-120.15097447149839,53.298651452581424],[-120.15733971317034,53.3146314574577],[-120.17790284341794,53.322953170006194]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-120.16836973050319,\"lat\":53.30808726005653},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5953\"],\"cd_name_en\":[\"Fraser-Fort George\"],\"csd_code\":[\"5953012\"],\"csd_name_en\":[\"McBride\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser-Fort George\",\"csd_name_fr\":\"McBride\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-135.88577292279044,63.59106125791149],[-135.89095986711808,63.60364505438113],[-135.9034189021445,63.60370103278909],[-135.9026623589042,63.59052069367636],[-135.88577292279044,63.59106125791149]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-135.89567620972645,\"lat\":63.596898283531395},\"year\":\"2021\",\"prov_code\":[\"60\"],\"prov_name_en\":[\"Yukon\"],\"cd_code\":[\"6001\"],\"cd_name_en\":[\"Yukon\"],\"csd_code\":[\"6001022\"],\"csd_name_en\":[\"Mayo\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Yukon\",\"cd_name_fr\":\"Yukon\",\"csd_name_fr\":\"Mayo\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-134.67399257608207,60.15824650691309],[-134.67385634437068,60.19899568795024],[-134.75470095711964,60.19928182991152],[-134.75550282221766,60.15322634614178],[-134.68329573989755,60.15328482735866],[-134.6914884009042,60.158746158561364],[-134.69148607772388,60.164386849125684],[-134.67399257608207,60.15824650691309]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-134.7156056693029,\"lat\":60.17676524350031},\"year\":\"2021\",\"prov_code\":[\"60\"],\"prov_name_en\":[\"Yukon\"],\"cd_code\":[\"6001\"],\"cd_name_en\":[\"Yukon\"],\"csd_code\":[\"6001048\"],\"csd_name_en\":[\"Carcross\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Settlement \\/ \\u00c9tablissement\",\"prov_name_fr\":\"Yukon\",\"cd_name_fr\":\"Yukon\",\"csd_name_fr\":\"Carcross\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.68903147875297,66.15293189936101],[-65.72264140838915,66.14812259346063],[-65.72870913144638,66.14099377419912],[-65.7075080756054,66.12652737255918],[-65.63342530246082,66.1461696346591],[-65.65712091031736,66.16061403889027],[-65.68903147875297,66.15293189936101]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.68374641139344,\"lat\":66.14402378231286},\"year\":\"2021\",\"prov_code\":[\"62\"],\"prov_name_en\":[\"Nunavut\"],\"cd_code\":[\"6204\"],\"cd_name_en\":[\"Qikiqtaaluk\"],\"csd_code\":[\"6204009\"],\"csd_name_en\":[\"Pangnirtung\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Hamlet\",\"prov_name_fr\":\"Nunavut\",\"cd_name_fr\":\"Qikiqtaaluk\",\"csd_name_fr\":\"Pangnirtung\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.6428949692055,70.44003727134033],[-68.62347452419638,70.36008327301947],[-68.41336162050197,70.37185484993304],[-68.36156517552314,70.39166019542894],[-68.29704184745194,70.44744521734724],[-68.25019764920759,70.49983113692],[-68.23198341599654,70.52821092818934],[-68.6574591500776,70.49959608779221],[-68.6428949692055,70.44003727134033]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.46655940795539,\"lat\":70.44773781529122},\"year\":\"2021\",\"prov_code\":[\"62\"],\"prov_name_en\":[\"Nunavut\"],\"cd_code\":[\"6204\"],\"cd_name_en\":[\"Qikiqtaaluk\"],\"csd_code\":[\"6204015\"],\"csd_name_en\":[\"Clyde River\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Hamlet\",\"prov_name_fr\":\"Nunavut\",\"cd_name_fr\":\"Qikiqtaaluk\",\"csd_name_fr\":\"Clyde River\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.99589880730888,60.00000395628322],[-61.99999999236857,60.432316773113776],[-60.00000001686161,60.62548032408264],[-60.00000002145673,60.850000004638446],[-60.00000002714544,60.99999999231646],[-60.00000000307186,61.99999998940228],[-59.99999999223018,62.19999999999699],[-59.99999998510362,62.32500000800859],[-59.999999966859704,62.549999999901196],[-60.000000027023816,62.73124999732272],[-60.000000026739144,62.97500000175974],[-60.00000000798255,63.14999998610855],[-59.999999980467216,63.37500000357817],[-59.999999972307286,63.51874999541526],[-60.000000028636244,63.74374999780497],[-59.99999997692759,64.02500000455632],[-60.000000023191326,64.25624999891531],[-59.99999997701065,64.40624999421391],[-59.99999997711313,64.68750000022204],[-60.000000026208426,64.93749999255849],[-59.999999988892824,65.0874999969211],[-59.99999996788803,65.35000000497892],[-59.99999997126251,65.60625000726075],[-59.99999999181948,65.80624999130158],[-60.00000003270523,66.05625000012752],[-60.00000002517561,66.24374999821507],[-60.00000001311095,66.39374999235784],[-59.99999998297711,66.59375000310085],[-59.99999997551819,66.8062500061428],[-59.999999984054064,66.94375000529163],[-60.000000010332556,67.18750000080088],[-60.00000003471684,67.38750000002362],[-59.99999999064392,67.52499999816979],[-60.000000030515736,67.75624999791246],[-60.00000003151852,67.92499999687082],[-59.99999998251843,68.1374999949292],[-60.00000001036194,68.37500000431156],[-59.99999995432616,68.59375000507686],[-60.00000001559736,68.74949396446854],[-60.283366709439235,68.89347134299912],[-60.715248896928166,69.1444234588451],[-61.00201449400965,69.34479090151888],[-61.04683157578176,69.45249093078931],[-61.142391245804426,69.6632691844917],[-61.22474507105677,69.98409610063936],[-61.34824263145553,70.26638610019432],[-61.48130822301613,70.49648759326556],[-61.8937812394952,70.80159493612794],[-62.143338588650856,71.00000032399151],[-62.39929028190294,71.19919473151991],[-63.06581931559662,71.72117944697854],[-63.23722538467117,71.76824268947192],[-63.68396805933076,72.00000034798605],[-64.00000001521714,72.16004861033319],[-64.24549277599364,72.2822072107179],[-64.57672700046726,72.44332671413798],[-65.77570887412423,73.00000004206106],[-66.49941436619542,73.31709011061481],[-68.05022579337046,73.502543800679],[-69.93666462602124,74.00000033170042],[-70.29655818240855,74.08998233020095],[-71.99999997934707,74.50659417672256],[-72.37629815757744,74.59424426666332],[-72.8913334314312,74.69812823412963],[-73.08986377442797,74.9194168614091],[-73.2294420256359,75.04964766007014],[-73.43987531618856,75.27964427882914],[-73.71058592594783,75.54299438632515],[-73.81236841713059,75.64528685818287],[-73.90656570534426,75.71509812550124],[-74.29059868024508,75.98863769541433],[-74.54867292335041,76.28104684015706],[-74.7281394882985,76.50305485321587],[-74.98469906827468,76.68524018853559],[-74.8850227225411,76.83670134882688],[-74.85554569365704,77.00652807301674],[-74.74977494731057,77.54119376052992],[-74.16622730630323,78.00000006441482],[-73.93315790236834,78.17411798115765],[-73.02238731777041,78.80134406381737],[-72.24213633438463,79.00000005120597],[-71.76012914607676,79.11852521258206],[-71.57684782662922,79.16557554203756],[-70.26045064429377,79.51125501114954],[-69.75740911292175,79.62848049168338],[-69.38708863137917,79.89712919163277],[-68.6146581816103,80.33932603003154],[-67.12719516151695,80.7613548033035],[-66.04236388444389,81.00026798197992],[-65.55402599558883,81.10310800570366],[-63.99999997753803,81.37228672980555],[-63.742410329173865,81.41487667968016],[-62.87611067866408,81.56603217379237],[-62.76120963099855,81.72803082352819],[-61.58525509841487,81.9705368695787],[-59.99126337526281,82.18438500428668],[-59.998203969190214,83.00000008909893],[-59.99994357118906,84.00000001056561],[-72.00803530124473,85.05113],[-119.48718936981416,85.05113],[-109.83527958154485,80.00000069990607],[-109.8350449854935,79.00000021760538],[-109.83233083447396,78.63026143164349],[-109.83121268698623,78.31374531470098],[-109.83116167239609,78.08920231065808],[-109.83113247533319,77.95725724889776],[-109.83104316163107,77.5350682885957],[-109.8346806889818,77.00000004629707],[-109.83619422067036,76.76435835540774],[-109.8353113503526,76.49948916658663],[-109.83455458498246,76.26433864004724],[-109.83386056121712,76.04180124304483],[-109.83217245495192,75.83778281102286],[-109.83130213961458,75.54709290664623],[-109.83167524526696,75.43500060705641],[-109.83222586061216,75.16067325187579],[-109.83057798761581,74.93114783422511],[-109.8305543233938,74.76260853730017],[-109.83183529986674,74.56859740920561],[-109.83155696836923,74.27479688920742],[-109.83090064984346,74.1691874548857],[-109.83106894089265,73.93239832191084],[-109.13422716151307,73.90225632773353],[-107.78951673519748,73.83574558286521],[-106.30879298525926,73.75276186127593],[-105.43654757826032,73.6920052337699],[-104.95776819669481,73.6572191702168],[-103.79986329559085,73.56891595046149],[-102.43031077407475,73.45251041933395],[-102.0323968106992,73.4248797675366],[-100.85919627630331,73.2870250548178],[-100.68589481768548,73.26594794902024],[-100.13418654036256,73.19604040235245],[-99.51726742394632,73.11556135068635],[-98.74591889128857,73.01340266232583],[-98.07520723835059,72.91882520861647],[-97.3282567195523,72.8098474081746],[-96.87998518357196,72.7426323377098],[-96.05438738222344,72.61504975451398],[-95.07684435960924,72.45855559029305],[-94.41886660396572,72.3491347420583],[-93.88267045001133,72.25934433871669],[-93.18901383168735,72.13983227226073],[-92.42152346346167,72.00000006298268],[-91.99999996811943,71.77623505449546],[-91.5524021427287,71.53184615996322],[-90.62490299857006,71.00000001243771],[-90.56311266794052,70.96338519310868],[-89.57275501841205,70.33923521137515],[-89.15828965577454,70.06676970252208],[-88.99717459301434,69.95867824689255],[-89.01224225033239,69.24316205628357],[-89.01551903701407,69.04559226129281],[-89.01992964941776,68.77401754918334],[-89.01901238490763,68.64061849444049],[-89.01767196737556,68.442820781937],[-89.01644113642081,68.2581371938732],[-89.0108169028581,68.0099147984134],[-89.0079735007508,67.88239102372475],[-89.00222797409559,67.62043092430933],[-88.99783000031317,67.43482200357202],[-88.99443005908329,67.28934607950067],[-88.98980829114113,67.08875095944862],[-88.98508998738126,67.00000008054289],[-88.52499997388512,66.99999998792092],[-87.96249997794351,66.99999998576085],[-87.58749996565383,67.00000000501477],[-87.02500001445144,66.99999998910742],[-86.537499980531,66.9999999873193],[-86.12499998919314,66.99999998644623],[-85.81250000529167,66.99999998746425],[-85.36249998436736,66.99999999748403],[-85.05718281370217,67.00000010756098],[-84.88433497707248,66.89217912558686],[-84.84405142388533,66.87098101918644],[-84.47299676465566,66.66660280924431],[-84.13728484112028,66.47800824767761],[-83.76898373125623,66.26697200755926],[-83.39462497545539,66.04791100333613],[-83.31174159095708,66.00000002103559],[-82.61136189228992,65.58607494245297],[-81.99999998928469,65.21102682224918],[-81.66712454726014,65.00000012465257],[-81.54631766779818,64.92296674767817],[-80.31285623105225,64.1083703917488],[-80.02076926179792,63.914810337209715],[-80.02163164899497,63.83858038728815],[-80.03170564302397,62.91637421740663],[-85.69940207755513,59.999999990679406],[-88.42091062615997,58.28276814432062],[-88.84507864392464,57.99190534791025],[-89.9920284233825,57.02569239011446],[-89.99999980721714,57.02105903262439],[-89.97713921318451,57.007978445164625],[-89.93681302450311,56.999137435024615],[-89.89240178751467,57.00000003729442],[-89.77676912744799,56.971874634530664],[-89.68200959375868,56.96117353388823],[-89.6191743010855,56.9476416431231],[-89.57573222517355,56.94074852343378],[-89.49865070638664,56.924377747156136],[-89.46236618854921,56.92250392151584],[-89.41011802869755,56.92379102380139],[-89.39151431760014,56.92028143120036],[-89.36360202718694,56.92371833759037],[-89.32032321332778,56.910144423953106],[-89.26428979274196,56.896171837735324],[-89.21158001070543,56.88010274135682],[-89.08596649826652,56.8620888272065],[-89.05068993425473,56.85353293495042],[-88.99999978720821,56.85408302424866],[-88.97957690400342,56.85114844620637],[-88.91855428625892,56.84804100287052],[-88.87827458612247,56.86145859311789],[-88.85820192161312,56.848362510218934],[-88.85883528546391,56.82828359367101],[-88.84058631241413,56.82804271230607],[-88.83311499749169,56.83920640691732],[-88.81677607737453,56.83785400138488],[-88.8075243797766,56.81942480012419],[-88.8195858227867,56.81040158863843],[-88.81297641833176,56.80118289468735],[-88.77343461373329,56.776664906011455],[-88.72564842342935,56.76340260389047],[-88.6903609237258,56.7454465901066],[-88.67455829462928,56.721770386611034],[-88.66893568221252,56.70195760708958],[-88.64302368124791,56.687916207968925],[-88.61896368126143,56.68299350902444],[-88.55946920509452,56.66271549029305],[-88.50806378019833,56.656761196309006],[-88.48488879178726,56.64255729008023],[-88.44391219191715,56.60874128708904],[-88.39622579366714,56.591906098322724],[-88.38184908193948,56.58038228826085],[-88.35219020437528,56.56735358876452],[-88.29012269124813,56.546107110272786],[-88.27718950933826,56.538476987048085],[-88.23781460713957,56.53007418623485],[-88.18078449750254,56.51208049979258],[-88.15807098852119,56.51372940048034],[-88.11393221833406,56.50583748750491],[-88.03444030926237,56.486607006575056],[-88.01274368049688,56.47865008738222],[-87.97910988212553,56.473071300759166],[-87.96186809734456,56.460229595653345],[-87.94495880289604,56.43310000610864],[-87.94145700518013,56.413607311104705],[-87.92367699497225,56.39165108610416],[-87.87013101380717,56.36077240451629],[-87.83213732382855,56.341600296285264],[-87.83498780219561,56.33030198627853],[-87.80412850159813,56.310550397878096],[-87.79470039752877,56.28976289229572],[-87.77669339402262,56.26664709095788],[-87.73212649186594,56.23618770666032],[-87.71296110982453,56.214908102252416],[-87.7130798234366,56.19305228945985],[-87.67158011732167,56.15000950728933],[-87.6662729956862,56.138966195341645],[-87.63740008891509,56.11231259925194],[-87.63924748265337,56.10263818659959],[-87.57853262083555,56.07631459584962],[-87.57152641392821,56.06458169317507],[-87.58124812027972,56.051839691764],[-87.52466170695327,56.05989720627268],[-87.50300688382573,56.052097207508844],[-87.47221989711606,56.048620298059205],[-87.46318189474493,56.03490430798804],[-87.48072600104338,56.01842150454912],[-87.43732990065412,56.00311460810834],[-87.41262198753633,56.00000000687279],[-87.37304039393736,55.98997510424398],[-87.34494321427012,55.96688980526496],[-87.32619158357977,55.96573649840677],[-87.25101870675789,55.94220420198763],[-87.22124841723172,55.94057981048782],[-87.2129886213077,55.93265129704187],[-87.16735460316224,55.93638670433281],[-87.06888598511046,55.922354288494965],[-87.04414671718781,55.92355090237056],[-87.02302038943073,55.91568599051101],[-86.98482877800019,55.91833911037775],[-86.90124549527674,55.91407229126768],[-86.86148141596306,55.89720159775701],[-86.76420680558888,55.8699309901445],[-86.67331841896176,55.83363119682051],[-86.64390638587874,55.828449902978164],[-86.62156451169115,55.82915479497897],[-86.58942620692684,55.82344059450103],[-86.55294869414925,55.80806210754871],[-86.51159730995643,55.799677411147144],[-86.37489790323363,55.76426071195634],[-86.30779749738188,55.72539011184305],[-86.26948968225078,55.7088568876816],[-86.21535942025838,55.69893709367198],[-86.14500423448227,55.689271094186424],[-86.10533825934242,55.68129018952165],[-86.0621415122135,55.675882791017074],[-86.04319540899448,55.669152498149714],[-86.00562687425182,55.67126741405445],[-85.96706261165207,55.66131250620339],[-85.93150230742349,55.660155597359434],[-85.89521690118777,55.654898193560875],[-85.8862767031686,55.63888320246834],[-85.84712539986147,55.61971801070982],[-85.82107858635953,55.618311003607836],[-85.77313640497226,55.59364850860162],[-85.72908157562539,55.593414407952544],[-85.67725820962521,55.56878908927469],[-85.67168400609837,55.56118689497728],[-85.64389328334566,55.55796701051535],[-85.6231740155571,55.53725360748036],[-85.60178522180537,55.52901819728637],[-85.5759944839555,55.50600260503348],[-85.55548801167777,55.49687659220161],[-85.53817390973036,55.48267910480604],[-85.50666939784425,55.46456980339666],[-85.49908760244337,55.45174260729155],[-85.47641231297324,55.44279339691695],[-85.43389350579872,55.417744292130266],[-85.38136290601773,55.3995758981068],[-85.35286280348443,55.38480768980062],[-85.31146557836642,55.379918096866184],[-85.29004997832008,55.371488998935604],[-85.2299420082798,55.372789398233664],[-85.22216268588528,55.35242588519279],[-85.20040481501456,55.34310280771114],[-85.18029969305432,55.347785209567014],[-85.16158900956673,55.34502998789236],[-85.13198571156286,55.331924489377045],[-85.11221479312412,55.310868608060794],[-85.11026399843244,55.29175609549695],[-85.133536910798,55.27259920440991],[-85.12918848750951,55.26380940491956],[-85.09576778427976,55.26038259685783],[-85.0491862864116,55.2732251098227],[-85.01154562187999,55.27250959698877],[-84.97230331320021,55.27969749804501],[-84.92417570204493,55.26413938836632],[-84.90208239012692,55.26905259951653],[-84.88290601959274,55.25858509656018],[-84.85629537898693,55.25211670037261],[-84.82615047826927,55.25019660565354],[-84.80056107635377,55.243148604119206],[-84.79457341593276,55.235328692102534],[-84.75606377761363,55.23871170792079],[-84.71109448721427,55.23281969168913],[-84.68211470703775,55.23606350314305],[-84.64599537970336,55.233765691439665],[-84.59505240493839,55.237235607369435],[-84.56282781732372,55.23651280170649],[-84.53645700879825,55.23017899010424],[-84.51219901176641,55.23212809079312],[-84.45428170598336,55.24794009177111],[-84.44178371914929,55.25429669909707],[-84.389206397327,55.26355031187219],[-84.35125270547677,55.259410898734096],[-84.30614200388762,55.27521248664245],[-84.27305341115398,55.265802304707165],[-84.22008289450325,55.2675079013514],[-84.1744251079621,55.27457330824373],[-84.14403879264746,55.262867300181654],[-84.10463501723623,55.252724395483845],[-84.07867290027131,55.250202310351185],[-83.99922688235498,55.27376949456622],[-83.97611540608017,55.28727930281527],[-83.93825518187154,55.29320149855108],[-83.88329239291694,55.29410620672164],[-83.87776168269295,55.28853389303083],[-83.83680208873326,55.278208489561436],[-83.81880807701916,55.277520804203476],[-83.7825394994217,55.26069690806735],[-83.74666730066048,55.25222829149595],[-83.69845871803756,55.25874258998328],[-83.69427748558776,55.267994306020576],[-83.6721633789144,55.26946590771022],[-83.6469507128216,55.26391119773292],[-83.62177210919505,55.2511104091124],[-83.55737118803195,55.24722288589499],[-83.48230048731014,55.21941030081976],[-83.44052478927274,55.21278470069383],[-83.41774951217118,55.222554108776045],[-83.3807040096154,55.213897291369115],[-83.36613957923481,55.20351710409396],[-83.33754678939621,55.19870890098601],[-83.2931314997624,55.20865458576904],[-83.26982870216175,55.204261006669086],[-83.22038870375093,55.211677794069175],[-83.19786301527056,55.199709002625035],[-83.15358597760044,55.19550509799643],[-83.12515022127916,55.20423820289532],[-83.114940687318,55.20168969126003],[-83.08328412389547,55.209412893609496],[-83.06624152427284,55.20750799304338],[-83.01792630607208,55.22091171037823],[-82.97331438329043,55.22634659474394],[-82.92166939094422,55.210460789770984],[-82.90897860769284,55.197367408105094],[-82.88046497896963,55.15738630402495],[-82.88039421697584,55.14569970449732],[-82.85238759687174,55.143217609792636],[-82.81331501607764,55.130178704662946],[-82.77838018322136,55.12890259006291],[-82.75138638154274,55.131516784471444],[-82.7176286003738,55.14367038869701],[-82.7152745990428,55.161540505350736],[-82.65665099636085,55.17435748632859],[-82.65980759432028,55.160411610633574],[-82.63815280176588,55.14571640406115],[-82.58893768166676,55.14932468759875],[-82.55345289145916,55.132155304931594],[-82.52985471104682,55.13455230847346],[-82.53346139988612,55.147849011168816],[-82.50991958112002,55.14967059379053],[-82.48917021646238,55.138535113864265],[-82.48337140770084,55.12872989140853],[-82.45509722034028,55.13324829690032],[-82.43997878780357,55.11291070603702],[-82.41529100481277,55.10876859388989],[-82.40764730079394,55.09233760995066],[-82.41300370004923,55.07985870354933],[-82.375040688775,55.06930089074589],[-82.36252840714107,55.0720689034006],[-82.30863068270077,55.05379438848017],[-82.31191429270854,55.071366196147466],[-82.32403791171768,55.078414903821425],[-82.33373200151877,55.10140890966568],[-82.30892920629168,55.10488020304221],[-82.308826079576,55.116585394906146],[-82.33421273449547,55.137234616053995],[-82.33099359807267,55.14996788740769],[-82.30302081169425,55.12670498848949],[-82.30268670727729,55.118321789664115],[-82.25258720009614,55.10965909214109],[-82.2459233137044,55.061829901398056],[-82.27176909943942,55.049919704264525],[-82.27692771607764,55.02388270244209],[-82.26448549263338,55.00643738963555],[-82.25514271438975,54.94211719503633],[-82.22889600310492,54.91596959154223],[-82.25565098736536,54.915515890750015],[-82.26326200626572,54.90597228731081],[-82.25158012076933,54.875975894744435],[-82.23553450730108,54.86291410727193],[-82.21290828608467,54.874474391994106],[-82.19681648545473,54.8422589082076],[-82.19536019778123,54.80431239126571],[-82.21514468151642,54.75826420801601],[-82.2285690970562,54.75035720786302],[-82.2562158164063,54.71580190097816],[-82.26693429675166,54.685589288844824],[-82.2883681000547,54.65442649759296],[-82.28455989012207,54.62704048969034],[-82.29591759879317,54.60933480188452],[-82.31636647666978,54.5235510077596],[-82.32349230379283,54.505709110235834],[-82.34337940634536,54.49939628861582],[-82.35885118878282,54.454317093406075],[-82.38348488000908,54.424766096607556],[-82.39073548197399,54.39782429737624],[-82.39765571760499,54.39322650977614],[-82.4080795225114,54.36383409321219],[-82.42392568771916,54.346034803852696],[-82.42261107844784,54.31673660270604],[-82.42765280127644,54.30862910056408],[-82.43242401763284,54.27709211349192],[-82.42990797946543,54.248739998639344],[-82.41957108758352,54.231317891145785],[-82.43055328387314,54.19939858489208],[-82.40764431309711,54.19254960809095],[-82.38980788016995,54.17622649094082],[-82.36478631793777,54.14450099848535],[-82.34611757632668,54.12757520843614],[-82.3066264860866,54.10463969683399],[-82.25524451428426,54.06374730259632],[-82.22351920350337,54.02482549338698],[-82.20421507657422,53.995810806943986],[-82.18596937860688,53.979754795627144],[-82.19535611090046,53.96789938951949],[-82.18434471406081,53.93885220829102],[-82.16492361540875,53.90132251023005],[-82.14603658949575,53.876193293128864],[-82.12431500237298,53.8273304962612],[-82.11985679663717,53.774720205066],[-82.12708838386473,53.75579749526637],[-82.14547428287862,53.74041201097338],[-82.17807718772755,53.69416339604174],[-82.18962048498527,53.66622169153275],[-82.20010158230167,53.65324189561304],[-82.20696728186832,53.62830428932319],[-82.20519399001063,53.602144609474124],[-82.21476682627983,53.590724925748724],[-82.20172272412141,53.57159008896134],[-82.20453898165934,53.550767493916915],[-82.19864659727325,53.52958638659875],[-82.20297008275959,53.517868790397294],[-82.1909993172604,53.512409511995564],[-82.16184718693557,53.45754718918731],[-82.16476560956814,53.44625719907576],[-82.14007880415092,53.3989341867412],[-82.12144161738244,53.34295521348987],[-82.11963849646584,53.320692189844074],[-82.11046490436841,53.306337487669936],[-82.12109711444154,53.296625588316395],[-82.10806579363738,53.274108686451825],[-82.11225051626602,53.265205791936374],[-82.16432858712555,53.24195200740726],[-82.199584898864,53.221330701295486],[-82.2160267529045,53.2167098725568],[-82.22157508292315,53.19996588918961],[-82.23805393879873,53.19345966670373],[-82.25206399806389,53.1804937886337],[-82.27310018368657,53.14322109591097],[-82.27132109290294,53.122547587697085],[-82.28302538584381,53.10019171068294],[-82.27878529110941,53.00968689887161],[-82.26414290225529,52.9947149081261],[-82.26013830212716,52.969118910666595],[-82.28095081985352,52.96655588955151],[-82.28315381391288,52.95769900172315],[-82.2627346893379,52.95443609133492],[-82.24772248498581,52.943114484315785],[-82.23588129102997,52.9259618882996],[-82.1813791869894,52.90605669821217],[-82.15984492000486,52.90267848981202],[-82.16802651313196,52.892080593909384],[-82.12695801378955,52.89855690940717],[-82.10967061128122,52.89111089851928],[-82.06154340653883,52.85570861218649],[-82.02284951911682,52.83045060573728],[-82.00388830373734,52.81241419492099],[-81.94339300375566,52.77720848673794],[-81.93512661192783,52.765516902490596],[-81.93237391633699,52.746934012549204],[-81.91792571599741,52.704006703661996],[-81.88190020328993,52.66802438819592],[-81.85981459509678,52.65311548793033],[-81.8097554927075,52.632596488940884],[-81.7601292111837,52.60633731235608],[-81.75139038857924,52.592918289091564],[-81.70791329673317,52.55462009043885],[-81.69506751094728,52.54006819180893],[-81.64280938680791,52.49562898754436],[-81.59938620402887,52.471459792426934],[-81.56238880613738,52.46264870034419],[-81.53197928113289,52.44259399350615],[-81.52526918846608,52.42316260684837],[-81.53272293331442,52.40034032644088],[-81.54465560491798,52.388075912040726],[-81.54392051154583,52.36340700734685],[-81.51129411713787,52.323685299175416],[-81.5519787937086,52.30277491086642],[-81.55759692952721,52.29332741107194],[-81.50054544765118,52.282843696944184],[-81.47019251306499,52.26101809141355],[-81.46917169966862,52.25349880734787],[-81.44633251597561,52.23278911124769],[-81.50000000322363,52.23855598796632],[-81.49999999950205,52.226933993200014],[-81.47451560617792,52.21836870572577],[-81.44300479196615,52.198487711782654],[-81.42958008963538,52.17419778802338],[-81.40603048042017,52.15483099449881],[-81.41676209596737,52.15016320497157],[-81.38381749643351,52.13093049583138],[-81.38220470071033,52.11950018766948],[-81.34038090470084,52.09893001250563],[-81.30839611923261,52.093744599489355],[-81.25662718214299,52.073708506992084],[-81.21946950357768,52.062656687616595],[-81.1782186166887,52.05646520874114],[-81.1612281128047,52.044586912090494],[-81.11309419078519,52.04525270721968],[-81.0945727872135,52.0575788007807],[-81.08218419999145,52.044713604484734],[-81.06211070816057,52.033471289742096],[-81.04440257914865,52.03445300527675],[-81.03273999698855,52.018682511219346],[-81.0014141858052,52.01125480844435],[-80.99276500122934,52.01517999839633],[-80.9723192005326,52.00169520055282],[-80.97310131526,51.989534896350385],[-80.94687378577703,51.969992608938625],[-80.93664119506633,51.95040200570679],[-80.91610159981015,51.923707491042336],[-80.89047730458167,51.90711441215849],[-80.88033690512867,51.89522680059891],[-80.83811618606713,51.87984429257902],[-80.82183051484411,51.87687190516077],[-80.79888281807843,51.88517659318245],[-80.78953718693093,51.86153509834731],[-80.73244249538703,51.83407939654435],[-80.71910881999018,51.819566695635196],[-80.69485520804325,51.82107589536297],[-80.6866394840063,51.799339110631706],[-80.65437291216426,51.790171891550806],[-80.6556550139055,51.78305289093258],[-80.64088531508273,51.76264039997053],[-80.58216017680408,51.71306630960674],[-80.57038071932774,51.70809009400505],[-80.563860511232,51.68840651182555],[-80.56648438172878,51.66779169158558],[-80.55813339500556,51.64407440839679],[-80.53828438610637,51.60398861101382],[-80.52422642286773,51.58565689098735],[-80.51263178953266,51.54764039485502],[-80.4992160961611,51.52750669682071],[-80.47732642220986,51.50412148836012],[-80.4502240858688,51.494702599875524],[-80.43187440517907,51.46534649445779],[-80.42792211436695,51.4488207034886],[-80.43561058956382,51.40719779651978],[-80.43335955969447,51.40131494743849],[-80.40717361090108,51.401646458988445],[-80.41596204165046,51.3729543103107],[-80.40344678105005,51.35353821607599],[-80.41804080311199,51.34437698797753],[-80.39654690748512,51.32932719776062],[-80.38513960248956,51.33866889627399],[-80.3655021901491,51.33569670070462],[-80.34486780248318,51.32669890942825],[-80.32423481031466,51.32536819806023],[-80.31436962010817,51.31534019068209],[-80.2771532965884,51.31106060838474],[-80.22068500600668,51.29784009796195],[-80.17978111644679,51.29274099629956],[-80.11342897921377,51.2908106093291],[-80.09565000089289,51.27634569522088],[-80.08183298993413,51.273931199646476],[-80.05165400534271,51.257018911224336],[-80.02046778113387,51.254723099655514],[-79.978088993858,51.238778497470676],[-79.9243520170616,51.192193398988245],[-79.88535670608681,51.17232060708627],[-79.85938930742424,51.165370488645],[-79.79017589168537,51.15987670525355],[-79.77207099423812,51.188182204188635],[-79.75069300812726,51.20346148900458],[-79.73034298282343,51.232788290437746],[-79.7074365128558,51.246087210826964],[-79.67332050417701,51.25302749099248],[-79.69356580881816,51.26688750941473],[-79.68990170090431,51.28549090734112],[-79.69452138990201,51.298594885695024],[-79.70632819277962,51.30110098742481],[-79.7454584903926,51.32919359209044],[-79.740912709071,51.34545290137308],[-79.72662118494951,51.35452690769814],[-79.72750268594292,51.37079880349148],[-79.68612838255467,51.348841990528506],[-79.67384808928855,51.350052187248835],[-79.68890280176292,51.3794095080785],[-79.68170158328147,51.40562809342308],[-79.6391569940492,51.40706651192769],[-79.63646521590195,51.41628839506103],[-79.6085090149227,51.42778860156215],[-79.60574671624589,51.438793902183065],[-79.5815465897434,51.447003502886446],[-79.56833650049828,51.46895989258887],[-79.54196509220422,51.46700059462903],[-79.52433063619179,51.47133183758491],[-79.53753651025399,51.48663857058214],[-79.58269525103547,51.530099441148096],[-79.58569483474858,51.566117241415746],[-79.58135546045241,51.592967022799655],[-79.56476058879313,51.613231613974314],[-79.54339585109531,51.629093228099364],[-79.50824607241857,51.649636483853634],[-79.4651703087069,51.66920042807304],[-79.42242496495851,51.68114656072633],[-79.37156572423653,51.69271258493024],[-79.29858124680082,51.6932200767167],[-79.26860418703374,51.6875728780901],[-79.242000740074,51.67468678985291],[-79.18275272667736,51.63072654926373],[-79.16930559853448,51.59732479917218],[-79.12721123585169,51.566198763922486],[-79.06098755630634,51.54340665625174],[-79.02983352930818,51.52641353568519],[-78.960186662421,51.45895051906116],[-78.85333007484255,51.451832757240666],[-78.82299141550307,51.46933736159794],[-78.82612731491975,51.49205634479383],[-78.8423961341355,51.50389837888744],[-78.85960527441172,51.58748563684659],[-78.88077032676242,51.613191754795075],[-78.90480866357076,51.6303269097571],[-78.94543984289186,51.645817545909104],[-78.96633082677513,51.672416102996394],[-79.01084807896916,51.69875520524979],[-79.02300048803701,51.723524478904174],[-79.05791266166798,51.750054279250755],[-79.05926462009775,51.768078279834874],[-79.04309320683518,51.78494932531052],[-78.98716732389447,51.81165945263894],[-78.96749979254986,51.81611819115092],[-78.92552356474668,51.842269952110854],[-78.90550915518195,51.88754280475347],[-78.91000096129991,51.90520342270765],[-78.89234201358475,51.95949584452192],[-78.87516877086172,51.96036709011516],[-78.8473596427196,51.94708121286023],[-78.80466332081473,51.963284446425014],[-78.79685293381891,51.97293792636141],[-78.77095099982085,51.980727726602375],[-78.75982026229437,51.9888385838785],[-78.754575463351,52.01629394753893],[-78.7474841113814,52.03189770758619],[-78.72516250862643,52.05266420637817],[-78.68077578568786,52.07222788299161],[-78.67369564002308,52.08420641719503],[-78.62842475689044,52.11303108664231],[-78.58963004092445,52.14705986473152],[-78.5835592087868,52.17453584636422],[-78.58342012182656,52.19445722344073],[-78.59228558616697,52.26323683320681],[-78.58418671838058,52.28970844799491],[-78.56832295985842,52.30236961567739],[-78.53275656958573,52.31758528723027],[-78.52143817584277,52.332117038746624],[-78.54578634468743,52.35834169460661],[-78.55234849198216,52.37852280348573],[-78.54729432403998,52.40659708469526],[-78.55743352376118,52.43792901253761],[-78.56632063518065,52.44530457636179],[-78.61160875619406,52.44797500620329],[-78.62648883906985,52.454559369418746],[-78.6202542284775,52.48323466740507],[-78.59403144284627,52.50007036120789],[-78.61780089695681,52.50438804039042],[-78.6706169442747,52.50637473261225],[-78.6849003804183,52.51754270112452],[-78.72239459197796,52.51301121523136],[-78.75003655723047,52.53759101068725],[-78.77126882847865,52.53888098982719],[-78.7696707363661,52.56282638275275],[-78.73131029407281,52.582757787677245],[-78.73849777935233,52.612425926313165],[-78.75286723420321,52.618182066137706],[-78.77446005249229,52.61345206882485],[-78.80554497169803,52.62323866860463],[-78.81635802885391,52.64054417611915],[-78.78282854756002,52.65712324372552],[-78.75719763808391,52.65350865440529],[-78.728421172207,52.66601815718478],[-78.75074401193315,52.67942877493976],[-78.8294367529831,52.676428972640345],[-78.83294916926961,52.70428803935928],[-78.7893061631311,52.70606123253481],[-78.86107257950357,52.73620431593164],[-78.88038959533738,52.74092188253395],[-78.87444152713218,52.75220848901611],[-78.84697246063133,52.76489508927956],[-78.83114259496604,52.783869862326625],[-78.77646655842108,52.782120417553784],[-78.77027068876295,52.7887741241267],[-78.80302539421425,52.810431351440826],[-78.79889940797588,52.816242413182714],[-78.75848824098725,52.84413981983127],[-78.76592556153318,52.851542065912355],[-78.83433062616874,52.85091292322652],[-78.84177905970901,52.85763716841225],[-78.87582778796867,52.86161113562555],[-78.88161941710203,52.87626213896202],[-78.89728290604033,52.88337068287969],[-78.88299149269976,52.89757711495646],[-78.9000744143671,52.899244132800085],[-78.91958345166667,52.91038714465784],[-78.92315723207393,52.91317857215975],[-78.88282883297623,52.93501227632704],[-78.86949912186,52.94651558600114],[-78.86071091875952,52.94999312372127],[-78.83481121112914,52.96844803245859],[-78.84380860933015,52.979506811035286],[-78.87145154914438,52.97656057994341],[-78.90028296238323,52.98575717949074],[-78.93100032410112,52.98163381521455],[-78.9655568513605,52.99236320721877],[-78.99747942258045,53.013496035258385],[-78.99516674049576,53.0344667493857],[-78.98676831551106,53.04365203282129],[-78.99348169770569,53.07202167867766],[-78.9732882473025,53.08233277834053],[-78.95949916640502,53.10679279682327],[-78.97311775680083,53.10691168226743],[-78.97697142472214,53.12325519798882],[-78.94658076604745,53.14018078617873],[-78.95407329222401,53.146457835913516],[-78.94471989617638,53.160903378703416],[-78.97695913536685,53.16994695375519],[-78.96008171748625,53.18876376439411],[-78.93009605826039,53.19388007733999],[-78.94484063699639,53.211445709222545],[-78.92450598479323,53.22872827498671],[-78.93568563372664,53.23740061335599],[-78.93141434489,53.259318888337624],[-78.98427941895876,53.267651207550934],[-78.98613586723174,53.27580957578378],[-78.96869605747108,53.287526179755346],[-78.95954632271243,53.31679905101533],[-78.99819519800869,53.32056020034747],[-79.00328074434155,53.34030688960803],[-78.99368457572997,53.35725511975549],[-78.99333634748965,53.388589843672776],[-79.02208156138194,53.403906597161416],[-79.04391616010557,53.39975965178968],[-79.06323046541878,53.40553984276895],[-79.04469060565205,53.41871256530231],[-79.04232934103383,53.43678277089335],[-79.07012470068503,53.42683539822377],[-79.08742778633636,53.45402658617899],[-79.1216437547405,53.472405851527256],[-79.10778838453166,53.485284292852256],[-79.1385782802321,53.50047475825746],[-79.127639961399,53.50914133486424],[-79.08927718734225,53.52260377912502],[-79.03377417020079,53.53470907974671],[-79.03247776534339,53.572785820905985],[-79.06877687346727,53.582555529748234],[-79.07749879987799,53.5965754946411],[-79.05101688410588,53.62785506999283],[-79.07168688108239,53.639746706300045],[-79.07043917960664,53.66532764937385],[-79.05257802340053,53.680034265547256],[-79.07245458323199,53.68129744686086],[-79.08105648097724,53.68901833943902],[-79.13387761564559,53.68566787540293],[-79.1592201660289,53.694123389181144],[-79.158237544574,53.70856541231928],[-79.14323017594224,53.716021711668745],[-79.09059857867197,53.7138305200621],[-79.08118163463223,53.73457576248963],[-79.08508313995445,53.76450894735613],[-79.0445576851788,53.76905539498351],[-79.04350198793034,53.78767648563596],[-79.06772758715364,53.789615894310984],[-79.0649033148912,53.82167069974879],[-79.05725423372645,53.82717436888116],[-79.05902511928548,53.841184203856145],[-79.08414961762566,53.86269240483711],[-79.07774548826043,53.87941469057331],[-79.10158078616601,53.893096586419695],[-79.04305039463075,53.902587204803645],[-79.02777321517505,53.89299619894187],[-79.00520851620307,53.889942189676795],[-78.98517410474217,53.89992069015217],[-79.01464121704585,53.90848450373855],[-79.0047445126863,53.91578040132441],[-79.04487928504152,53.92537550483655],[-79.08503368829112,53.93042180720845],[-79.11291062137822,53.94359469772075],[-79.08735119979264,53.95365759334524],[-79.05481062244377,53.95082178971218],[-79.03994718406206,53.955307201238355],[-79.03796710382944,53.966519793861025],[-79.0629006047288,53.977299595834],[-79.0587534902832,53.996350286054565],[-79.00197618364606,53.997039293343356],[-78.99002107789075,53.990324501775994],[-78.96780778534868,53.994387897131894],[-78.96364108082125,54.00501740859819],[-78.9912165864756,54.01344198741604],[-79.02420705115684,54.01406712087132],[-79.09664707750834,54.023826550558596],[-79.18815193618985,54.0394318328848],[-79.29752133600232,54.06103385189765],[-79.34864722822586,54.07349007737227],[-79.39672835829047,54.08824397082052],[-79.41436684692454,54.10727410425091],[-79.45908031137064,54.12013513655917],[-79.50827163329235,54.1390670685159],[-79.52027960599425,54.149376511362156],[-79.49846196809096,54.250001746436595],[-79.49702059305217,54.265581159277005],[-79.48647307158915,54.28867213117667],[-79.49239456242036,54.35255706927368],[-79.51539269447325,54.366580420084354],[-79.50654090755461,54.37924420715672],[-79.51749809987025,54.40329433103537],[-79.50993181443175,54.424370716262445],[-79.55460881112018,54.467848604164345],[-79.59331726596965,54.47520410690125],[-79.62060312531797,54.50001040519445],[-79.63341148946371,54.52124490408014],[-79.6689033984051,54.55024653216157],[-79.73894639545898,54.586839313202404],[-79.74096056572904,54.60704655437916],[-79.76355957606467,54.61239463719175],[-79.7707755860696,54.62605353476115],[-79.74855249580337,54.641479504596774],[-79.73138688443996,54.635172902445944],[-79.71426698912393,54.651908495467],[-79.6758837777818,54.66152019723271],[-79.65559578090495,54.67972400621036],[-79.5997537123233,54.699982197241496],[-79.57764188458263,54.71693118999957],[-79.55561059979206,54.724925898479235],[-79.53347467941965,54.72101450861029],[-79.47716760715363,54.73790139313018],[-79.43527651427682,54.74043940528557],[-79.40999998146653,54.750263392415754],[-79.38861749142085,54.76424220651752],[-79.37567521385051,54.75710251289616],[-79.34981670186032,54.757520087556145],[-79.32081139623223,54.76786319710039],[-79.24540709912385,54.788410402763574],[-79.2265505174054,54.79759509895626],[-79.18992580016572,54.79767850247002],[-79.11865328884856,54.811625196762456],[-79.09479408624588,54.819906290492945],[-79.06266028180085,54.82032018916233],[-79.02693941178951,54.82934929153812],[-79.01587571590413,54.83681930609232],[-78.9801697057112,54.83292059596031],[-78.95566009812408,54.843737997973406],[-78.93337928169133,54.87436750902913],[-78.9109712059824,54.882261411658305],[-78.89372658784922,54.882573796263465],[-78.87792371453344,54.894275692865385],[-78.82609509390856,54.90754919125308],[-78.7824177940955,54.90586100049099],[-78.73659109447986,54.91925400249426],[-78.71369039025745,54.933858603783094],[-78.69562769687991,54.93226979866617],[-78.66014299274708,54.94307470230007],[-78.58097341286845,54.96014851316903],[-78.54619052197805,54.98103448931427],[-78.5460363797108,54.98831319937733],[-78.50478569076363,55.0000000020848],[-78.47468898201014,55.002394701518725],[-78.44098777346125,55.01184130865466],[-78.38764039315305,55.02038840327457],[-78.31657331547619,55.04201588904817],[-78.2703256174077,55.067260493558535],[-78.26427980075711,55.07753630588654],[-78.22831098380172,55.09316209123755],[-78.1899999974527,55.11665379537671],[-78.16080001742684,55.1274644949686],[-78.15749589149875,55.13521659785013],[-78.12679939881477,55.149785987843075],[-78.05692338876952,55.16786529470715],[-77.97123318012328,55.20582899976276],[-77.91484891590025,55.21829780018237],[-77.89718127908019,55.231574696701685],[-77.8503911333035,55.25299695686097],[-77.84228025566942,55.258216635172566],[-77.78881330143996,55.26897120946414],[-77.74988610445367,55.298230602160196],[-77.73174019359686,55.31854729743894],[-77.68132580597272,55.34728209457502],[-77.66119301102692,55.36400090350425],[-77.63779971980095,55.37817279089187],[-77.61628482481595,55.377434293468774],[-77.59002107903275,55.386697603950424],[-77.58084570156115,55.38262260866789],[-77.52280341270475,55.42278679253817],[-77.48984739011158,55.43830641021634],[-77.4621183087903,55.46416829302602],[-77.42730878295757,55.478887803416725],[-77.36617567439825,55.51431210897193],[-77.34547679767591,55.519841609452044],[-77.34357922122591,55.52863779020099],[-77.31688827254254,55.540803007326154],[-77.3027072216729,55.561445991525716],[-77.2528879914565,55.5776579056102],[-77.22193072140942,55.60294158863481],[-77.20084730867424,55.61171471275366],[-77.15946780809307,55.656625795573326],[-77.12371309160565,55.66165699023751],[-77.11672668674291,55.680388490196165],[-77.07760850875479,55.719220698998576],[-77.10585108251293,55.71674809369879],[-77.1159913818445,55.70139170699169],[-77.14275318989849,55.69346959644004],[-77.14789430529943,55.685316700252066],[-77.1845563887976,55.681719494157775],[-77.13900851184908,55.70609749318901],[-77.09274907949205,55.74486389665398],[-77.06671795522651,55.7489134757965],[-77.06294120743111,55.759761998654575],[-77.03501511677831,55.78500198850459],[-77.00464569756092,55.80161850361635],[-76.99367761443408,55.81668250237699],[-76.97926858537956,55.823416388849225],[-76.9611802014727,55.84776700630859],[-76.93920248255326,55.86125658571179],[-76.93269819858979,55.872182511510736],[-76.89433439359287,55.89174330803497],[-76.88476087448686,55.910348702493565],[-76.86152840926404,55.91758728792809],[-76.85952319267042,55.92498240495616],[-76.83052431804656,55.9296328056151],[-76.8197363017208,55.95047009423393],[-76.80807881667445,55.95811110303928],[-76.80741010140363,55.982054795698325],[-76.79862998209474,56.00086548560117],[-76.77370549665758,56.003659686095766],[-76.76940728386398,56.0116365046943],[-76.73839981792351,56.01311389870949],[-76.7200294010441,56.0222262942033],[-76.68419920307545,56.06148299596294],[-76.68262549517566,56.080547605559055],[-76.67941131711243,56.0955317098487],[-76.64920940385376,56.124742590329795],[-76.64167434715726,56.146721818338584],[-76.65657879869336,56.165230502658986],[-76.65378408506051,56.16821280209551],[-76.65243260734997,56.194407178701844],[-76.62571901456755,56.19415948600771],[-76.61478672214315,56.202901595747186],[-76.62608271338557,56.22734658346788],[-76.61704764476767,56.24652920507772],[-76.5878248395616,56.261344112973745],[-76.56384083299436,56.27924819459408],[-76.54798501047847,56.30131859892835],[-76.54278291679708,56.35664029930549],[-76.52908591283754,56.37374811635581],[-76.53343700082962,56.40721058985609],[-76.52267959298918,56.42772447361651],[-76.52658368393814,56.44604737325762],[-76.51862466867115,56.458898284211735],[-76.55158090261172,56.47522828061733],[-76.54416668989856,56.50097817701126],[-76.55444728346762,56.51327729981886],[-76.55190189117549,56.52375639088903],[-76.54123267923454,56.5358491916429],[-76.55447750223306,56.554244680981455],[-76.54443442564443,56.568845911594465],[-76.5342930924807,56.597705295719656],[-76.54920202214971,56.602884101380184],[-76.53261050335894,56.6380936429371],[-76.54012671170446,56.65827010391205],[-76.53145909555109,56.72139601021501],[-76.53731818839395,56.7428154915593],[-76.5306969284675,56.7527765164065],[-76.53683705478967,56.76784629732362],[-76.53259735969803,56.79868889135441],[-76.53357036593728,56.82390369823531],[-76.55405749239821,56.91602689886986],[-76.56967657836458,56.93959300237404],[-76.56369286692022,56.958504811615256],[-76.56880669110359,56.9771915986861],[-76.55916457848983,56.98805539477256],[-76.57580650957522,57.000000304197336],[-76.58278230441758,57.0302183655632],[-76.58222344578053,57.051469763691586],[-76.57452001949126,57.080593713633306],[-76.57718424768522,57.094677884620715],[-76.60634067449661,57.189637331580684],[-76.63412688986986,57.2598851174141],[-76.68206637923178,57.349568222455694],[-76.71203198526526,57.391381795682676],[-76.7162594628054,57.40419393493929],[-76.74876629545417,57.441052366495086],[-76.80218960668525,57.49078864896083],[-76.82097985631057,57.539309574910305],[-76.8517406916069,57.57956727217207],[-76.87130421184618,57.6128527927977],[-76.8888212068792,57.63496198007562],[-76.89613084069573,57.681980678735904],[-76.90486775749727,57.70540704529157],[-76.9534192680681,57.755125540888656],[-76.98773893192713,57.79332042819412],[-77.02758198519729,57.832688338023914],[-77.09139938632941,57.888165890295554],[-77.15951920988583,57.95257823279764],[-77.21282409973352,57.997063882482585],[-77.1935754786407,58.02010588259583],[-77.21892559522374,58.020087671529154],[-77.31415253251556,58.06437869499257],[-77.34413386606397,58.08422085815816],[-77.38727279988115,58.09051527998807],[-77.44304162632022,58.13014327031028],[-77.49413531518924,58.14725869012181],[-77.54366023047241,58.15886257515352],[-77.5296988440519,58.17090478902766],[-77.53501842622109,58.18427856915596],[-77.6456184655177,58.23565392062002],[-77.71835533114893,58.26612129004281],[-77.77270286460977,58.28175602850236],[-77.80786902164598,58.29871272338212],[-77.91366610442854,58.32760354968641],[-77.98182241592039,58.34189281083652],[-78.04629494222438,58.36360381727928],[-78.0710871405032,58.382571894303574],[-78.07558105601444,58.39155391525413],[-78.1419368673559,58.42943416418709],[-78.22368833727697,58.45983524580141],[-78.56420882304894,58.581057750880056],[-78.60973071127374,58.598180341989696],[-78.62263337929677,58.61401700188029],[-78.61379099935203,58.639334464268266],[-78.60886864411692,58.6690081669512],[-78.61842958828724,58.72126019689598],[-78.64256699412644,58.73602162037013],[-78.63951985265356,58.774798400460725],[-78.6216363053331,58.78552395957696],[-78.62483045039882,58.7973457690288],[-78.64903483731716,58.80890168077218],[-78.64902658518496,58.82280922293749],[-78.6090020112911,58.837672542323915],[-78.55984674992284,58.86321027778352],[-78.56967581109964,58.87634310865453],[-78.55624068148504,58.88959430699487],[-78.58066548732532,58.89875289356073],[-78.57938959486204,58.91422099879533],[-78.54941620740374,58.91650490900332],[-78.54060898955659,58.953368353649175],[-78.47489684779865,58.976455127839365],[-78.33772636681327,59.0463063024976],[-78.34800089605517,59.0592247357718],[-78.29702193195256,59.07330825984035],[-78.27700351310163,59.11234140727251],[-78.23694305582325,59.12488040909338],[-78.19007056733746,59.17612847348437],[-78.1994363064588,59.19352650198248],[-78.1725239090489,59.208420414184594],[-78.13132715408028,59.22532736431789],[-78.07217486068,59.22929206161601],[-78.03823466939309,59.236761550853196],[-78.03176707900886,59.2455404191073],[-78.04884423074155,59.26794742116689],[-78.03862243543743,59.28231516373369],[-77.9759183648085,59.317185188885766],[-77.93912485744823,59.34326774057885],[-77.93698707242726,59.354185961300345],[-77.9927630375483,59.39294747194821],[-78.00000491512972,59.404339727115406],[-77.98677544800539,59.44626440127898],[-77.94154663706972,59.49314275213988],[-77.8690619374464,59.55449036051963],[-77.86306671978053,59.57032535424146],[-77.88812576904627,59.61870945499256],[-77.87815138118128,59.67714028177255],[-77.87639560339817,59.704395991135605],[-77.85450705724959,59.729202925177745],[-77.8315783318846,59.74287870765258],[-77.77189542128961,59.761034962660645],[-77.74548233004255,59.7658448565175],[-77.69278243805124,59.76784750058746],[-77.59731939418653,59.75774460287389],[-77.59414174567348,59.75994313374736],[-77.49339666894974,59.88022778445596],[-77.47284081087744,59.88838722871773],[-77.47357564221626,59.901482717987975],[-77.49999998487051,59.93606471934349],[-77.58379784939608,60.01573642627672],[-77.61793515355556,60.034667100403304],[-77.65574750932308,60.049533484044495],[-77.65425728663787,60.0639477437887],[-77.62995857676437,60.07444489686523],[-77.6582614146895,60.0878480349767],[-77.64536594986285,60.11335480895246],[-77.61651916376049,60.13039318850578],[-77.58957424182974,60.1337811179303],[-77.56725133024298,60.15617128368446],[-77.58993988679737,60.17434028044982],[-77.65478190172638,60.23833995760575],[-77.65531327214933,60.254533008722596],[-77.64682794060298,60.27938858897483],[-77.64484575082349,60.30474069228738],[-77.65804858048506,60.32009289184526],[-77.79555683719352,60.38818602949401],[-77.78041668360571,60.42783610879982],[-77.76429488331877,60.455162949201515],[-77.76887813205916,60.46839966047805],[-77.80192358343217,60.49993922880012],[-77.86662072190015,60.55486359620502],[-77.89727313993647,60.56929167945473],[-77.91107729060546,60.580600970957114],[-77.90313349207217,60.6111003956105],[-77.85529377010194,60.62755945034887],[-77.87821599094019,60.64867110962806],[-77.87064780776126,60.665271573103965],[-78.00000001745963,60.74374999623783],[-78.05514456848921,60.781774258059535],[-78.0646485820186,60.793621115330986],[-78.0936124771209,60.79465870275198],[-78.10397157512787,60.80840059675558],[-78.13113741082192,60.79790239979979],[-78.17888440730503,60.792922792543436],[-78.21420471478756,60.77980639142523],[-78.22678939468001,60.78998738746178],[-78.20615501820319,60.80013791108638],[-78.21118659204993,60.820723391737104],[-78.19143788776704,60.860469885399006],[-78.14674698208141,60.876118484461855],[-78.13924589311934,60.89396271082493],[-78.11784280233321,60.900122911421164],[-78.10871040737062,60.91408441197459],[-78.1101001975575,60.915096966724604],[-78.1260641079626,60.92488691369466],[-78.06346776324122,60.96850133365111],[-78.03775484724606,60.983830160679624],[-78.00000002339004,61.00000000853705],[-77.97290137012429,61.024308820250106],[-77.93661413269675,61.047533983481394],[-77.85862784045621,61.07246058425471],[-77.84473992045024,61.152967172487585],[-77.81378017221567,61.17676391312189],[-77.7999920705219,61.19695816814663],[-77.7998472879272,61.2250549160071],[-77.8179629943564,61.238313587457405],[-77.81837214552979,61.257592382252035],[-77.80231100888217,61.28697138945569],[-77.81113472477016,61.34110708545303],[-77.82122739491649,61.383779179270654],[-77.84607272906625,61.41643542812927],[-77.85469398959526,61.45356702076608],[-77.8462156586725,61.4591553826888],[-77.83202294102777,61.50403935006544],[-77.85075843343004,61.567271360335695],[-77.87608711692404,61.61093891996258],[-77.96637862173651,61.65886239702575],[-78.00878153627833,61.686274951384185],[-78.01877535736209,61.703159246060494],[-78.04826107202443,61.73452454917562],[-78.06383721101786,61.783084366402825],[-78.1183577643559,61.86762908702789],[-78.14450859775707,61.932522122310324],[-78.17822782703458,61.989134358225144],[-78.17963889213489,62.02489177447383],[-78.19432794705088,62.10073126471976],[-78.21289232097821,62.148979138108544],[-78.23312009620486,62.21402944055172],[-78.21885976053234,62.25032159090248],[-78.2240229443214,62.26259745374834],[-78.18055382481916,62.32724311411769],[-78.16232369838377,62.34185412626183],[-78.11392249391669,62.36852901395479],[-78.03029153297159,62.36959388543082],[-78.00000570168184,62.389845666246444],[-77.95022415098573,62.430352744988205],[-77.91453113921219,62.441330330789135],[-77.8496915154702,62.449562607471265],[-77.73503370918584,62.47739285110109],[-77.70064546994963,62.51527150320085],[-77.58252895100672,62.54731272264183],[-77.5554725152923,62.563654111052315],[-77.53376594486137,62.58394725496411],[-77.51549395588346,62.5935914036374],[-77.42550337381175,62.59222868025982],[-77.31587162507914,62.57611486323194],[-77.22449240991885,62.562603709351755],[-77.04947508464544,62.549634994974895],[-76.84341627764549,62.53750883589315],[-76.77491184912535,62.529025824999565],[-76.72804604273837,62.52080799797281],[-76.64194132427892,62.49582841784514],[-76.6022934615201,62.486247635400396],[-76.54773744027155,62.467874523549206],[-76.45959995750282,62.44889289509329],[-76.30137365669866,62.42330727941545],[-76.11580615339193,62.38479411097862],[-75.99999998292951,62.35973249105076],[-75.93619229915231,62.35719086861155],[-75.90149091261544,62.35249297663457],[-75.8504039521891,62.334887313225614],[-75.81006734723952,62.326076864205646],[-75.75911140235075,62.31881586521354],[-75.62797038411135,62.3046366884144],[-75.59548079352679,62.29856780927145],[-75.56315362043442,62.29945901252144],[-75.5000000190669,62.2913447356633],[-75.45999670385682,62.309812665752496],[-75.40041351244945,62.3236727373481],[-75.35752012873472,62.326753260161915],[-75.31650693950773,62.323220724632705],[-75.23735933123125,62.30684658065279],[-75.13453440621225,62.298620600215024],[-75.06549310101983,62.28069649586895],[-75.00987169846042,62.276759488567016],[-74.88384726732714,62.258829890285554],[-74.80848826455585,62.25082067607007],[-74.75739064557915,62.25589959267402],[-74.72031300978311,62.265463171302684],[-74.64449814692297,62.27029274770786],[-74.5065396063227,62.26603923212668],[-74.4497125370047,62.26862989095616],[-74.37741326794334,62.27982231632214],[-74.22243349845056,62.34451165257608],[-74.1561065247544,62.36214551837346],[-74.00000001496691,62.37876218470714],[-73.85650033612536,62.47231126407276],[-73.73512911412166,62.48629167204641],[-73.67135056367276,62.490655541607865],[-73.61941193553187,62.47271880425694],[-73.57940958561859,62.43249538457387],[-73.52627912802879,62.40564805506047],[-73.44794906756495,62.39267082902858],[-73.37376618965548,62.37695429535991],[-73.28850750153583,62.353114909257236],[-73.16862496350141,62.312344469468506],[-73.15416382736605,62.29910545604623],[-73.15396936605454,62.270538942559675],[-73.14779290550649,62.258772558275965],[-73.11806625084836,62.242752237479394],[-72.91655644985484,62.17499331263303],[-72.8475799429038,62.148920995560104],[-72.81117938203232,62.14487321923957],[-72.72692096183067,62.15333999267831],[-72.68041746347683,62.14439826224293],[-72.61270228392242,62.12360992071814],[-72.57667184455742,62.09733081448659],[-72.56516987694336,62.07272849561309],[-72.56951388440966,62.013382872270924],[-72.60056698933235,61.98313099692267],[-72.57985798207376,61.95167080887059],[-72.55899129881531,61.94680250056639],[-72.55386601767391,61.93665889093652],[-72.52112670202129,61.92415119039164],[-72.48951353240156,61.9300076947244],[-72.45391099990954,61.91549980030812],[-72.4411164803415,61.89839449267381],[-72.4231044800994,61.90578009982146],[-72.39335983212759,61.89770569417903],[-72.34927410825826,61.89576900676559],[-72.33315811452738,61.888015388961854],[-72.26733551838734,61.88986770727867],[-72.25755258956525,61.882960293244864],[-72.21338858108508,61.87589410397301],[-72.18029631624324,61.85371328935131],[-72.18887620787059,61.837129706769645],[-72.16326698430642,61.827985985871855],[-72.14045579499883,61.81031259752211],[-72.14498719466832,61.799214205819744],[-72.18948080358506,61.78476611135266],[-72.19193131805591,61.77498859491778],[-72.21185700625684,61.77009098981682],[-72.22609800726455,61.75821029107231],[-72.2024545143938,61.750716808940524],[-72.15790239234227,61.7453051872],[-72.12915671075615,61.76674068899123],[-72.08249661472641,61.761503409546805],[-72.0670940140487,61.7436714964862],[-72.00659519536758,61.726225102982156],[-71.99792511898335,61.7240558744439],[-71.8346877495562,61.70224292586359],[-71.69317039896359,61.673806566057074],[-71.55088497827339,61.6389087670365],[-71.52336531213751,61.62941983024706],[-71.50489804894691,61.617578505149595],[-71.49645721354973,61.58794279707123],[-71.500002585019,61.57701198623121],[-71.54529395503869,61.54992505366253],[-71.55879286719194,61.500042227672274],[-71.56782491763498,61.42253710843657],[-71.55815144508234,61.402446067026155],[-71.59615402834893,61.36289617912274],[-71.62405833900303,61.32664521441954],[-71.64821007286278,61.31181719832852],[-71.6489277594399,61.299803735791656],[-71.57594444408001,61.272649763886214],[-71.5529972977013,61.25362940122668],[-71.52116371016787,61.238216511306106],[-71.48544006882875,61.232742976270785],[-71.44201862302133,61.23045490739258],[-71.42668851565188,61.22245345144636],[-71.40970771888315,61.19063022894725],[-71.37245942278864,61.17758026977798],[-71.23014487757757,61.17419279398675],[-71.1874339098311,61.15230323124526],[-71.14602781529722,61.1474338345462],[-71.02755361221882,61.14062720482437],[-70.96247561358038,61.13036031034706],[-70.92795827273234,61.11889140609171],[-70.89459187605004,61.10100315443249],[-70.85815129229846,61.08630120252155],[-70.82563014945762,61.08172176126009],[-70.74161098510399,61.092058922127706],[-70.70461652947372,61.08298589454421],[-70.64052988271156,61.058204699591386],[-70.55259216698153,61.06159801660929],[-70.50101845293065,61.076813249915105],[-70.4745631742147,61.071528749214735],[-70.43859563601453,61.075636169529886],[-70.42606668490929,61.08725766504509],[-70.4044238199659,61.09474409921412],[-70.32148242040327,61.10543882481172],[-70.25249713980439,61.10275644602933],[-70.22713267069032,61.09097509693985],[-70.18556445131922,61.09201860851221],[-70.16529746211756,61.09690660055953],[-70.12941093466192,61.09570040239437],[-70.09115744933953,61.06633021388629],[-70.09603095945114,61.05114103173233],[-70.13869487289517,61.02678222690917],[-70.14592692763443,61.01033442434103],[-70.09845358878874,60.98410004218278],[-70.08190944967299,60.95760415288872],[-70.07000391340263,60.91933674351769],[-70.05039631614959,60.87816610406035],[-69.96504942650425,60.84353275923927],[-69.90776815080947,60.81686296729155],[-69.89367417325971,60.816855253418275],[-69.86513291183712,60.8367857534147],[-69.87582392913188,60.858935349121104],[-69.83995718555346,60.89388047645497],[-69.7925792412117,60.91659457223329],[-69.75093348710527,60.930060522351354],[-69.73846429157132,60.941875919002044],[-69.70441509536765,60.98545766837883],[-69.69727143682597,61.01631288115311],[-69.68453569040746,61.04251927106551],[-69.66490276565737,61.063160375936505],[-69.62037914461416,61.083762572638186],[-69.56325587472132,61.08705601793711],[-69.4906387951099,61.071487809966904],[-69.45983386147653,61.051250852618224],[-69.42834695615791,61.000011577484905],[-69.37646081481199,60.94884447261196],[-69.30417353755286,60.90431017176258],[-69.26979668576534,60.87528843135502],[-69.27091937739243,60.853013010295555],[-69.29963497137166,60.820637001838556],[-69.33785569681633,60.788308084375366],[-69.38017541937076,60.76678115774633],[-69.47664544025233,60.7332191934006],[-69.59871853855164,60.702534856858854],[-69.62121549810888,60.692498002221754],[-69.64256319579957,60.67020448376022],[-69.64499012160631,60.6559107086681],[-69.63773657568427,60.637207641750216],[-69.60601253656009,60.59001224388862],[-69.61754293223304,60.56161988627767],[-69.65643296214532,60.52991651006554],[-69.68753893989995,60.49992433473701],[-69.70751501159779,60.46365482287553],[-69.70456177093494,60.42513124460897],[-69.65424497247054,60.36008562710928],[-69.66066050946084,60.323387070307504],[-69.5882051927836,60.2624748578131],[-69.58027208344289,60.25005322823949],[-69.53801160683388,60.21046228861769],[-69.5474667615264,60.186889999510306],[-69.54409690172857,60.166596046234524],[-69.55087129045161,60.13693177370346],[-69.53202758848829,60.09390189287193],[-69.5380337276316,60.07727362150159],[-69.55735574652569,60.05755403153893],[-69.58347307234678,60.000000134333646],[-69.5860928242037,59.984149400876184],[-69.52725769667595,59.93209437648552],[-69.48507363072976,59.885018934354036],[-69.47214391187829,59.84752462866957],[-69.46367439624872,59.808066116578594],[-69.48140454203664,59.75720377953786],[-69.48263974392438,59.70658404663444],[-69.4715381424581,59.66677965006161],[-69.47279848250542,59.64030998994653],[-69.49627631728585,59.600251745388526],[-69.49842498242289,59.56559946668032],[-69.46945989067508,59.495529508897924],[-69.41585953537097,59.44802955384664],[-69.32536925637686,59.40654153083537],[-69.22970730256989,59.35632895041357],[-69.20683713473886,59.331879677893156],[-69.17750876347819,59.26597397479463],[-69.17467573144081,59.239293717036276],[-69.2008466336071,59.225205429943436],[-69.15709985518444,59.18384998900398],[-69.12333234643785,59.18589895942826],[-69.10511731601198,59.1710304903769],[-69.0252855775006,59.09147352265532],[-69.0000010748533,59.054401130330454],[-68.97297932758595,59.03859795190954],[-68.91518677117196,58.98311460346073],[-68.86193313537098,58.9559066352041],[-68.7975181929767,58.947981997159985],[-68.6722960363496,58.94752568367386],[-68.59251817084561,58.952127908027556],[-68.53254067242882,58.94660384903902],[-68.49999997387486,58.94584055965647],[-68.41172152955018,58.92528786935761],[-68.31616741464569,58.88488099096628],[-68.25752400420572,58.836742167759446],[-68.24428254833184,58.80599038574154],[-68.25658765142403,58.75001144787177],[-68.25881632438548,58.72622088387793],[-68.2565688169515,58.64139612506609],[-68.24313032807417,58.62336306552863],[-68.209612507393,58.60137661144487],[-68.16415234458292,58.59341914528863],[-68.06460913806863,58.59401347652674],[-68.00000061816063,58.60001116201402],[-67.95931107437549,58.59489303365401],[-67.89843835594012,58.5807590349265],[-67.79243689228294,58.55039264128252],[-67.7189649388488,58.52327620440953],[-67.67653370059142,58.49011726242533],[-67.64844037900893,58.46124950924972],[-67.64292036471294,58.44156169375096],[-67.68353827151424,58.35960200430632],[-67.68578709283904,58.32037698355046],[-67.67400546822017,58.28387235477527],[-67.61091153408711,58.26615188873647],[-67.57953673458552,58.26703030098271],[-67.44950417423159,58.324283513759525],[-67.36997818221896,58.350662034110016],[-67.23173086522326,58.409059620273695],[-67.13672894773833,58.46560406151784],[-67.05947314831486,58.49178841136407],[-66.99006339080009,58.50932026471556],[-66.9274945770518,58.52113050777184],[-66.82658151237483,58.53180731179815],[-66.76308251899222,58.5582403155651],[-66.6840746067254,58.59961651013913],[-66.60517624616222,58.65573236818397],[-66.55002992472477,58.7289256221572],[-66.52197102306997,58.75756059914847],[-66.51327650920625,58.77190479337633],[-66.51337671020713,58.8338696971701],[-66.50487204621241,58.86121019497566],[-66.48537777664343,58.878537861253704],[-66.46616487204255,58.88526185965676],[-66.33126122542845,58.88517608039079],[-66.30969195208039,58.88094181089021],[-66.28577355624545,58.86646739642998],[-66.15144664564524,58.877522364408186],[-66.11125036323402,58.88787524878902],[-66.01739181315605,58.91979646879543],[-65.9739034131848,58.930368063763964],[-65.92842659271015,58.95508280075766],[-65.92070544755872,58.9660756428353],[-65.94735347926931,58.98902363954286],[-65.9419308967012,59.06072728994163],[-65.9259979372525,59.10588407111482],[-65.9255791948514,59.156525015318564],[-65.96690198356528,59.2651068757875],[-65.95490679833341,59.31137899746157],[-65.88461242447143,59.36591309548512],[-65.62026861607566,59.50653675693729],[-65.59223397568817,59.527971897639276],[-65.57351049180217,59.560599505983575],[-65.59057333141598,59.70248820742446],[-65.59801593230688,59.73443358912863],[-65.57932456442944,59.76483468439869],[-65.47460406480779,59.824509590902174],[-65.3686688733877,59.878751331818016],[-65.29916560967168,59.911123008088936],[-65.25506571804615,59.93798073158443],[-65.2013001077247,59.98732462123691],[-65.18977801748113,60.00803963175828],[-65.201050285242,60.036801590238724],[-65.19496709434868,60.052030573039126],[-65.17203705088848,60.06885591203656],[-65.14353943109955,60.070310485574986],[-65.09969575001891,60.066500845660435],[-65.08301618646058,60.05883248138072],[-65.07036891682579,60.07120989700346],[-65.07916443239621,60.10231889699866],[-65.05073488161946,60.12549234224979],[-65.01238227904135,60.13290388420537],[-65.01311466871607,60.150083057586166],[-65.00335194911318,60.16502626419914],[-64.97318313252323,60.165046769247354],[-64.97084698079978,60.18749185185371],[-64.94012290115627,60.19654843054564],[-64.93721360761523,60.20662582224677],[-64.96728468806762,60.21633873261949],[-64.9732554712164,60.225924987442774],[-64.96542781578378,60.257446503811316],[-64.92275334953561,60.28324782610644],[-64.89530780106111,60.285694243383944],[-64.86315210513791,60.301228266678066],[-64.84387542046144,60.322058590062184],[-64.84540320026564,60.34156431968843],[-64.86294157162854,60.361462462006635],[-64.84500182291099,60.37513330781216],[-64.79684692539944,60.37083419992464],[-64.74065048706218,60.35270202035839],[-64.72774556736911,60.3663129086838],[-64.70118878738715,60.35658481850775],[-64.62707168427762,60.34648327160814],[-64.57279786992675,60.330496184802094],[-64.51747589882685,60.304398201059435],[-64.51801844255354,60.31498543304928],[-64.53398458557533,60.341061643945324],[-64.49140759120893,60.37260555891614],[-64.43310009029038,60.377744011835425],[-64.18486956706356,60.374676013557036],[-64.13862784066269,60.17216979893621],[-64.07252146728226,60.05935643196528],[-64.00011731860755,60.001060135987245],[-63.99589880730888,60.00000395628322]],[[-69.88527296342006,62.857867485505686],[-69.86138656748729,62.85895902664975],[-69.85912995910533,62.83866654722936],[-69.88371661452025,62.83759824042127],[-69.88527296342006,62.857867485505686]],[[-65.68903147875297,66.15293189936101],[-65.65712091031736,66.16061403889027],[-65.63342530246082,66.1461696346591],[-65.7075080756054,66.12652737255918],[-65.72870913144638,66.14099377419912],[-65.72264140838915,66.14812259346063],[-65.68903147875297,66.15293189936101]],[[-79.14192199605553,56.605385606316574],[-79.12229770617041,56.56714118779447],[-79.12330259795245,56.54934590627133],[-79.14329681962309,56.548974197254545],[-79.15378931024485,56.562819399753316],[-79.14277577650876,56.579965800729724],[-79.16300479287196,56.590228601058335],[-79.14192199605553,56.605385606316574]],[[-76.52327781777042,64.23962379641311],[-76.49668577581757,64.23649969732166],[-76.49679881611523,64.21696628090439],[-76.56624818036008,64.20833210433382],[-76.58071388345967,64.21440080656323],[-76.58262169942768,64.22865739171947],[-76.54675590860283,64.23166759238168],[-76.52327781777042,64.23962379641311]],[[-81.27902181713323,68.74947647704141],[-81.32848829387873,68.7981846393845],[-81.24467185732907,68.80907179058973],[-81.19982490845248,68.78481315863573],[-81.19309159229822,68.75588582442542],[-81.21478815631048,68.74350193582248],[-81.26603658392143,68.73665311747496],[-81.27902181713323,68.74947647704141]],[[-79.20495278424383,56.6846644084621],[-79.18104479533365,56.67518209178512],[-79.15693329629498,56.65401258701684],[-79.14222272042485,56.633443297614456],[-79.13472638365927,56.612888607474304],[-79.1707214000062,56.61730320812134],[-79.16614571801061,56.62584791249178],[-79.1844430105751,56.641529708807795],[-79.2208716900222,56.65138719333458],[-79.27166819156638,56.63361520328849],[-79.28284191868259,56.64996089621442],[-79.27928548137014,56.66647650315221],[-79.24227018457613,56.68572330270394],[-79.20495278424383,56.6846644084621]],[[-68.60896049194548,63.730017355726815],[-68.61606939476046,63.78394133918902],[-68.4288441293399,63.78923214263031],[-68.41745274018045,63.71951811852886],[-68.60672986019048,63.71309485627248],[-68.60896049194548,63.730017355726815]],[[-79.24344161345792,56.621306700416305],[-79.25564237876392,56.614753199641676],[-79.2599722997427,56.58654960707464],[-79.25566739516924,56.56302790517358],[-79.26302560857246,56.5543709080513],[-79.22273042047821,56.54643963424027],[-79.1864971016648,56.54970410673005],[-79.15421920149353,56.521684707498025],[-79.1350323850609,56.53686280387607],[-79.12244608541884,56.53127009472548],[-79.1183182192176,56.48604128171127],[-79.29791756465444,56.49726491094102],[-79.28630180415819,56.54408631036005],[-79.28372978343283,56.57443399417468],[-79.27193958539648,56.59950239636622],[-79.27949011569329,56.6187840940749],[-79.25273340524556,56.63006000986378],[-79.24344161345792,56.621306700416305]],[[-81.5177610006288,69.42826810783039],[-81.49709936330018,69.41819879842184],[-81.47064822296,69.41946849466865],[-81.45934932565414,69.39933759972176],[-81.50061732613541,69.39964820691532],[-81.48620111168283,69.37030619072718],[-81.46104410617,69.34858939014086],[-81.47646260838582,69.34153189523188],[-81.52215979612292,69.33702179027526],[-81.58067140805544,69.34061869373836],[-81.63485818608827,69.33924691150632],[-81.68251341136815,69.34794990270144],[-81.69181259406085,69.35869080590207],[-81.65447347657339,69.36825940309011],[-81.69767158201039,69.38673639220588],[-81.74449309507068,69.39559529640779],[-81.79960173290961,69.41236421394387],[-81.81415443204173,69.40536978946959],[-81.7771592131874,69.39293451339445],[-81.76042007666028,69.37669930312315],[-81.79810277840963,69.36920689730242],[-81.7711457795977,69.34892770538929],[-81.80044868443977,69.33958090815445],[-81.85773072897916,69.34196719262481],[-81.88545032280885,69.37860529817978],[-81.91379086470239,69.38464260382925],[-81.91677469834327,69.3978601932267],[-81.8620024179382,69.3914278120949],[-81.8609307206564,69.40108490078836],[-81.90569642954824,69.41888510528457],[-81.86190449061513,69.42831370494608],[-81.79069500969179,69.42201600206626],[-81.72771470319049,69.41363730257359],[-81.71219160148601,69.4205828947473],[-81.65832250411748,69.42002991108508],[-81.61179589670209,69.40552379844185],[-81.54559842671337,69.40188751427587],[-81.53051882795339,69.40958941214453],[-81.53879811358007,69.42280590897262],[-81.5177610006288,69.42826810783039]],[[-63.94976232409426,67.63953870007025],[-63.91268180613005,67.63559941220251],[-63.89402710096093,67.61825558818238],[-63.877729942746576,67.58943779448512],[-63.84710787839733,67.58221689761578],[-63.76443126607784,67.54984290525364],[-63.72739223098989,67.51794479862446],[-63.75022679569599,67.49869459406945],[-63.826347434056814,67.49819499111493],[-63.87362767107601,67.4887454954717],[-63.99999999967787,67.48673100457302],[-64.02280677816456,67.49157798998425],[-64.03636949242056,67.5056226000119],[-64.02888683156665,67.52546030338004],[-64.04366706323104,67.54458220605784],[-64.01922270647667,67.5667672134083],[-63.98415153272118,67.57289680186388],[-63.97341062537026,67.58506050351635],[-63.96500917081554,67.62952500242818],[-63.94976232409426,67.63953870007025]],[[-84.36271279905043,72.9782456528429],[-84.36803564647886,72.93730080411483],[-84.73040185791224,72.94535153459887],[-84.71600166197143,73.06818676020873],[-84.68268569967599,73.07679501164114],[-84.60575806165083,73.0731881028511],[-84.53255185776204,73.06558220974952],[-84.46002826760285,73.06582229871084],[-84.40549057787007,73.05773819991967],[-84.35319419109105,73.05549435378741],[-84.36271279905043,72.9782456528429]],[[-77.46559871415894,72.71655218665668],[-77.45590295343878,72.6998128106746],[-77.482128099023,72.67069599969146],[-77.61108719526193,72.64252413501868],[-77.6966330988858,72.63453402040712],[-77.78043197914498,72.63853056953926],[-77.88992025022893,72.63042307157428],[-77.94482300023994,72.62856595385647],[-77.99172076969614,72.63498350015347],[-78.11159863921353,72.64508552702942],[-78.13791457445761,72.65875744693115],[-78.0251099255807,72.67808159729381],[-77.95962070910542,72.7028070057564],[-77.85390686910424,72.70082139162768],[-77.7891248306091,72.70764068943103],[-77.71419568325999,72.73103220374509],[-77.62235108171677,72.74605669538764],[-77.59582501240537,72.75968259863869],[-77.536853688137,72.73680446779571],[-77.46559871415894,72.71655218665668]],[[-68.6428949692055,70.44003727134033],[-68.6574591500776,70.49959608779221],[-68.23198341599654,70.52821092818934],[-68.25019764920759,70.49983113692],[-68.29704184745194,70.44744521734724],[-68.36156517552314,70.39166019542894],[-68.41336162050197,70.37185484993304],[-68.62347452419638,70.36008327301947],[-68.6428949692055,70.44003727134033]],[[-94.68493107119738,74.62528518541204],[-95.10310327292927,74.6187572184476],[-95.13277907140656,74.76911543961512],[-94.7136054378582,74.76845371689696],[-94.70181724744293,74.72568693237221],[-94.68493107119738,74.62528518541204]],[[-85.20959751147046,73.13761880019484],[-85.20272381294487,73.14678400064743],[-85.16400008302587,73.14853321195524],[-85.0430558802814,73.14085150588309],[-84.96838803302398,73.11574259989922],[-84.82720802431581,73.08913749637489],[-84.86482709186178,72.95388649762684],[-84.92582880828546,72.97851388740249],[-84.99389713480954,72.97731861243761],[-85.05375190929848,72.99187371062537],[-85.08301003464133,73.03073361111507],[-85.13750013167532,73.0361815101716],[-85.16491139103229,73.0312094920024],[-85.14824359685909,73.01219169385153],[-85.38240660016098,73.02710219697073],[-85.44858702724918,73.02853349047008],[-85.49545676304132,73.02337789719988],[-85.52664357880417,73.02578008825598],[-85.53838772936948,73.04276449614049],[-85.49711330903429,73.05410629513771],[-85.48416770418463,73.073401794106],[-85.48183737216836,73.10010568701117],[-85.4258466297391,73.13592159066532],[-85.37414371271882,73.14175438714138],[-85.34619444205379,73.13002029947825],[-85.35527436233144,73.11958640016337],[-85.33213514524189,73.10181660243607],[-85.26491676353227,73.07168628555242],[-85.23643779818113,73.06341010391384],[-85.13394868972794,73.04865589598333],[-85.12757810946307,73.06501639083199],[-85.14974329754202,73.07099138841525],[-85.16824811533104,73.09781000365483],[-85.21506378849291,73.12244848726817],[-85.20959751147046,73.13761880019484]],[[-82.4574229034553,76.3682599389157],[-83.05286252166528,76.37776640249133],[-83.15136654338258,76.45318955786547],[-83.1332455599554,76.50977816440928],[-83.17690001394978,76.58118976004471],[-82.42740196391078,76.57838123174501],[-82.4574229034553,76.3682599389157]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-83.64082934434238,\"lat\":73.63838122641403},\"year\":\"2021\",\"prov_code\":[\"62\"],\"prov_name_en\":[\"Nunavut\"],\"cd_code\":[\"6204\"],\"cd_name_en\":[\"Qikiqtaaluk\"],\"csd_code\":[\"6204030\"],\"csd_name_en\":[\"Qikiqtaaluk\",\"Unorganized\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Nunavut\",\"cd_name_fr\":\"Qikiqtaaluk\",\"csd_name_fr\":\"Qikiqtaaluk, Unorganized\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.01910706915163,45.31554683725331],[-64.08925588016395,45.33144298707087],[-64.1068054288919,45.335777437487366],[-64.22244618895837,45.341151357683074],[-64.22259683678976,45.25007366144952],[-64.22136947945855,45.1945557647158],[-64.21967450785242,45.12023183184298],[-64.19419718611924,45.095237072622346],[-64.1698658868247,45.07810694602328],[-64.22383109656158,45.04098635808636],[-64.22579866571564,45.03975285842213],[-64.22864065672383,45.037749320253106],[-64.23250258888201,45.0353709383079],[-64.40807991051753,44.91522005181044],[-64.43221014168209,44.89931141334164],[-64.23714713532551,44.76086450604775],[-64.00780300016504,44.78277239697888],[-63.8780749908304,44.9427663966954],[-63.903656096299315,45.01119319313402],[-63.93161007102136,45.0934885173988],[-63.95537822619333,45.15205139294646],[-63.98338595336876,45.215851824461105],[-64.01595744693861,45.2342438766152],[-64.02227210335009,45.24981306728504],[-64.01910706915163,45.31554683725331]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.11850336039242,\"lat\":45.01476564991291},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1208\"],\"cd_name_en\":[\"Hants\"],\"csd_code\":[\"1208003\"],\"csd_name_en\":[\"West Hants\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Hants\",\"csd_name_fr\":\"West Hants\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-61.99940813492214,45.63082928690871],[-62.01512787243872,45.63011645050706],[-62.00384086725206,45.6133133065966],[-61.97805202089242,45.61381876441044],[-61.97133197712483,45.62401368668492],[-61.97896850760982,45.63252385232329],[-61.99940813492214,45.63082928690871]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-61.99199184947878,\"lat\":45.62294357679968},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1214\"],\"cd_name_en\":[\"Antigonish\"],\"csd_code\":[\"1214002\"],\"csd_name_en\":[\"Antigonish\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Antigonish\",\"csd_name_fr\":\"Antigonish\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-60.96516410447449,45.90122629641221],[-60.98106819491417,45.90424500250343],[-60.99557338580495,45.89749720129441],[-60.98232859203309,45.88922279962789],[-60.977954291022776,45.87852690257227],[-60.95715339352998,45.874776687637485],[-60.96516410447449,45.90122629641221]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-60.97368167768172,\"lat\":45.890578038630274},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1215\"],\"cd_name_en\":[\"Inverness\"],\"csd_code\":[\"1215005\"],\"csd_name_en\":[\"Malagawatch 4\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Inverness\",\"csd_name_fr\":\"Malagawatch 4\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-60.92367057957278,46.073499878369134],[-60.910352416576806,46.082897499298326],[-60.932368421730644,46.090239721034294],[-60.92367057957278,46.073499878369134]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-60.92213047262674,\"lat\":46.08221236623391},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1218\"],\"cd_name_en\":[\"Victoria\"],\"csd_code\":[\"1218003\"],\"csd_name_en\":[\"Wagmatcook 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Victoria\",\"csd_name_fr\":\"Wagmatcook 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.01460713076936,45.109797971761495],[-67.01605266466846,45.13984334272504],[-67.03858578854197,45.15003914444992],[-67.065024162552,45.16650502250592],[-67.07360840396802,45.167594841452086],[-67.09245029444618,45.16280535179161],[-67.0731175834728,45.137138508005656],[-67.09260649501944,45.1330939921365],[-67.08017499004188,45.112584003684574],[-67.10789958511862,45.10273837117588],[-67.09455561447959,45.07450000730968],[-67.06735161096682,45.029580260241616],[-67.03239492112836,45.053580237449715],[-67.02310789029504,45.06854702694398],[-67.01460713076936,45.109797971761495]],[[-67.0685739355077,45.09725347125546],[-67.06018888524993,45.10126424829453],[-67.03688600745757,45.074378706827424],[-67.04541559995258,45.068823010840156],[-67.06460419834238,45.0778525024066],[-67.08199399704763,45.075946489796806],[-67.08715937109206,45.091548768411414],[-67.0685739355077,45.09725347125546]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.05632988773944,\"lat\":45.10309051381788},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1302\"],\"cd_name_en\":[\"Charlotte\"],\"csd_code\":[\"1302024\"],\"csd_name_en\":[\"Saint Andrews\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Charlotte\",\"csd_name_fr\":\"Saint Andrews\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.15800072939426,45.161099006284374],[-67.15406790303548,45.17183481610661],[-67.1619853995786,45.17991937975228],[-67.19604200033389,45.18769625933385],[-67.22568919321519,45.18591630631933],[-67.24370401007461,45.201072007317165],[-67.25861284781871,45.1916943967026],[-67.25898239301296,45.18555271228703],[-67.22727711324693,45.16342597102458],[-67.20280488725518,45.17137037076663],[-67.1907492828718,45.16559257566671],[-67.15800072939426,45.161099006284374]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.20813659229209,\"lat\":45.17805676185003},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1302\"],\"cd_name_en\":[\"Charlotte\"],\"csd_code\":[\"1302031\"],\"csd_name_en\":[\"Dufferin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Charlotte\",\"csd_name_fr\":\"Dufferin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.5899153203113,46.116865375171415],[-64.58479785426752,46.151735986787145],[-64.60464220189729,46.15687916929062],[-64.63742247893948,46.15863099863349],[-64.68601537975006,46.124142809622896],[-64.70101414097775,46.11340786469225],[-64.76498200394695,46.099161003767186],[-64.76198988684521,46.09146736009181],[-64.75239892656589,46.090069507062886],[-64.73008599268931,46.06290961177218],[-64.70755174783658,46.04933592760893],[-64.69706924261344,46.02536075112711],[-64.67035988964545,46.029821493785676],[-64.67550711471401,46.04170156322858],[-64.66191308622395,46.045185766388876],[-64.66538800258596,46.06169650674843],[-64.68539147420137,46.078251690631966],[-64.66111417125674,46.082903405291596],[-64.6502757190908,46.09109898546019],[-64.64865235968647,46.106670119198824],[-64.61738853096685,46.099448807411484],[-64.5899153203113,46.116865375171415]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.67004631783615,\"lat\":46.10042602496273},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1307\"],\"cd_name_en\":[\"Westmorland\"],\"csd_code\":[\"1307045\"],\"csd_name_en\":[\"Dieppe\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City \\/ Cit\\u00e9\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Westmorland\",\"csd_name_fr\":\"Dieppe\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.681850548621,46.58258904694099],[-64.67868818447822,46.68610519180212],[-64.7584490903384,46.72791754412705],[-64.77984662421255,46.712811361122114],[-64.80082277285422,46.71264077508134],[-64.83804338786143,46.69646760821307],[-64.8587086779801,46.705443190144116],[-64.87064846372009,46.69972015502453],[-64.85661120282798,46.701690904530686],[-64.86180890205051,46.666553165274124],[-64.87522410066933,46.6560235023013],[-64.85597507692376,46.63798430530648],[-64.87289121032549,46.634333570037334],[-64.8919077029098,46.63770779814944],[-64.90404044894328,46.65190346622348],[-64.89695999741286,46.65654508289536],[-64.90304043019034,46.67552023779595],[-64.91121532725232,46.67884827084458],[-64.94093994063631,46.66556228511697],[-65.05169130475639,46.610746445504816],[-64.96721202134431,46.61125202535896],[-64.94693240050161,46.58295776937761],[-64.93385961524432,46.593222129049046],[-64.91693017763578,46.58847647475186],[-64.90234955208139,46.572086662531945],[-64.88298244244126,46.56218329715464],[-64.85991434079013,46.511349192439745],[-64.85534204996989,46.51411115973076],[-64.76178670175645,46.566323195378075],[-64.74296329337028,46.56964087465902],[-64.7350964826426,46.580525848680985],[-64.681850548621,46.58258904694099]],[[-64.78797728056966,46.69095120424763],[-64.78801537638742,46.68728836479909],[-64.79623745842117,46.68960986904558],[-64.79371760537192,46.69158950476588],[-64.78797728056966,46.69095120424763]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.81875702808335,\"lat\":46.62682956640241},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1308\"],\"cd_name_en\":[\"Kent\"],\"csd_code\":[\"1308016\"],\"csd_name_en\":[\"Richibucto\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kent\",\"csd_name_fr\":\"Richibucto\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.42083802913845,46.72440458020254],[-65.41038224061035,46.73061600478196],[-65.42644358698999,46.75161977214636],[-65.45352082633794,46.74416386361167],[-65.43395972333919,46.721700324567564],[-65.42083802913845,46.72440458020254]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.43102673757448,\"lat\":46.736666880842726},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1309\"],\"cd_name_en\":[\"Northumberland\"],\"csd_code\":[\"1309017\"],\"csd_name_en\":[\"Rogersville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Northumberland\",\"csd_name_fr\":\"Rogersville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.46071190866346,46.655192441090904],[-67.46611896811511,46.661193336696826],[-67.50323841447828,46.728725655848],[-67.50496591433463,46.7700971843166],[-67.51364288302129,46.78634145983024],[-67.52091631038614,46.812185321562204],[-67.63018644513099,46.8126215413952],[-67.63049807668962,46.78789071897605],[-67.66230012953827,46.79565689844796],[-67.68991354834378,46.79197427078832],[-67.70299611791934,46.76485290840914],[-67.69606428245521,46.75599368903428],[-67.69806869813883,46.741670623786476],[-67.68845864430148,46.73724707967325],[-67.70576660677325,46.72154239918514],[-67.72083613601099,46.714327728121546],[-67.72463161696975,46.67895349650426],[-67.72160943907446,46.65778589951369],[-67.7040664981868,46.62372966437017],[-67.72131912789982,46.601183046637345],[-67.51266363362795,46.644032950211496],[-67.46071190866346,46.655192441090904]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.604352182035,\"lat\":46.71000522412309},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1312\"],\"cd_name_en\":[\"Victoria\"],\"csd_code\":[\"1312004\"],\"csd_name_en\":[\"Perth\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Victoria\",\"csd_name_fr\":\"Perth\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.66857075885957,47.722321531126376],[-64.69003918995249,47.71488583409678],[-64.71224522959388,47.72182875370399],[-64.72456260967333,47.70761574179434],[-64.71658875558522,47.69561626571499],[-64.6865374121173,47.706730610027414],[-64.66857075885957,47.722321531126376]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.70307343524944,\"lat\":47.70983180814714},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1315\"],\"cd_name_en\":[\"Gloucester\"],\"csd_code\":[\"1315030\"],\"csd_name_en\":[\"Le Goulet\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Gloucester\",\"csd_name_fr\":\"Le Goulet\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.93875219855835,49.09015307385209],[-65.963187614669,49.18265007239257],[-65.98294235993092,49.18077669765418],[-65.9965067785653,49.24482752226173],[-66.1188207548572,49.23402922351817],[-66.09537981913026,49.14819608754181],[-66.13397131083205,49.1444767286138],[-66.11006207478063,49.05908257552297],[-65.93875219855835,49.09015307385209]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.0406225548838,\"lat\":49.14937154264454},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2404\"],\"cd_name_en\":[\"La Haute-Gasp\\u00e9sie\"],\"csd_code\":[\"2404025\"],\"csd_name_en\":[\"Marsoui\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Haute-Gasp\\u00e9sie\",\"csd_name_fr\":\"Marsoui\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.2017002310995,49.03603499133291],[-66.24244726027435,49.10328093361374],[-66.23640775643767,49.11998364247378],[-66.30271588773839,49.16720698448611],[-66.31451497150485,49.2091657316753],[-66.4278723261838,49.19246136053423],[-66.51455646795971,49.17452350985272],[-66.64621292347965,49.14000920441263],[-66.57748239507544,49.091725677039214],[-66.5936630911215,49.08676962954455],[-66.59487313103122,49.073415525869486],[-66.54725275118739,49.043039126822705],[-66.50962287400387,49.04944820216898],[-66.51925560261343,49.07559993860845],[-66.47275895233201,49.08210326768104],[-66.45852944103568,49.04209529634917],[-66.4280974531021,49.06222518350791],[-66.43555863586182,49.066993747908235],[-66.34514481846556,49.09178288393151],[-66.33472339828955,49.08014300570066],[-66.29289233288438,49.01162443349057],[-66.2017002310995,49.03603499133291]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.4099286713297,\"lat\":49.11615228561991},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2404\"],\"cd_name_en\":[\"La Haute-Gasp\\u00e9sie\"],\"csd_code\":[\"2404037\"],\"csd_name_en\":[\"Sainte-Anne-des-Monts\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Haute-Gasp\\u00e9sie\",\"csd_name_fr\":\"Sainte-Anne-des-Monts\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.08094807412517,48.03910490483608],[-67.10182387790098,48.046330386934315],[-67.10550118559222,48.063022819127305],[-67.0976296593931,48.07893557784041],[-67.2778670422496,48.03192162759212],[-67.23187206043839,47.95332602261884],[-67.22264167232049,47.93880981653182],[-67.21240978872997,47.94158279180854],[-67.18409495697846,47.9179004358778],[-67.17606800888615,47.904453911422635],[-67.19087721353058,47.900397699757946],[-67.18000311533775,47.88183893330649],[-67.16878968495664,47.89539820110164],[-67.15357358142273,47.890873081068094],[-67.1375156396108,47.8946357293152],[-67.13304694703223,47.914836427628714],[-67.10604882141828,47.91310065047747],[-67.09510796412506,47.91912665940036],[-67.0690087710323,47.923138408851344],[-67.06394669524194,47.93291611161449],[-67.09749236026948,47.954180096619936],[-67.08650150113868,47.9640069978078],[-67.13638677489658,47.99062948841573],[-67.08094807412517,48.03910490483608]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.16740864680538,\"lat\":47.98629200568695},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2406\"],\"cd_name_en\":[\"Avignon\"],\"csd_code\":[\"2406055\"],\"csd_name_en\":[\"Saint-Fran\\u00e7ois-d'Assise\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Avignon\",\"csd_name_fr\":\"Saint-Fran\\u00e7ois-d'Assise\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.34299370717135,48.835466719939056],[-67.35997175122162,48.85172484106469],[-67.38721706401478,48.86647300243515],[-67.61953547732789,49.0000838867279],[-67.77880835518603,49.091040401146124],[-67.8406812749122,49.07249205513574],[-67.91677849986877,49.04355295474827],[-67.94210735663195,49.033899136422235],[-67.97800024879908,49.01580927303799],[-67.98331177361155,49.01312992607284],[-67.66030723997739,48.83505006085245],[-67.57232449463541,48.78512825664823],[-67.55460625602421,48.774958664663345],[-67.56444109584201,48.76766706692334],[-67.53030051379496,48.7495648581059],[-67.54445612674121,48.738565229696405],[-67.51189735629292,48.717904271783986],[-67.50728422136703,48.7217373649159],[-67.48440194152111,48.74164895499769],[-67.45125204440525,48.7233162281194],[-67.38811079284368,48.77036770358349],[-67.36121355288088,48.79067379328674],[-67.40746630658106,48.81649023682753],[-67.34299370717135,48.835466719939056]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.64328338716537,\"lat\":48.913729800937695},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2408\"],\"cd_name_en\":[\"La Matanie\"],\"csd_code\":[\"2408053\"],\"csd_name_en\":[\"Matane\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Matanie\",\"csd_name_fr\":\"Matane\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.92369808551476,46.34448444099411],[-70.89923195565378,46.3615271761879],[-70.89613160400084,46.386372107361105],[-70.92995915723803,46.40987858872818],[-70.97802010635522,46.36991580031483],[-70.96490903502126,46.36052961214557],[-70.9470567665108,46.35450733427207],[-70.94840251223346,46.33877796167862],[-70.92369808551476,46.34448444099411]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.9321375935658,\"lat\":46.37359090137557},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2426\"],\"cd_name_en\":[\"La Nouvelle-Beauce\"],\"csd_code\":[\"2426015\"],\"csd_name_en\":[\"Vall\\u00e9e-Jonction\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Nouvelle-Beauce\",\"csd_name_fr\":\"Vall\\u00e9e-Jonction\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.32885983140149,46.32857485473173],[-70.34335628507083,46.33889771274305],[-70.33229866875935,46.34657210833403],[-70.35302962055209,46.36123941556033],[-70.37538921325982,46.34504141722529],[-70.41226671928884,46.369984057754486],[-70.46985331513142,46.35025133564042],[-70.51157800711695,46.320483983641914],[-70.54060040113264,46.300884011830476],[-70.51432681730812,46.281787892360505],[-70.50866700218123,46.272744889559775],[-70.51559826163316,46.256059635942485],[-70.49153412487242,46.259748697795786],[-70.46750347996716,46.27528495419436],[-70.44112421587892,46.25603095442036],[-70.42644869025969,46.25238768806561],[-70.43609143192867,46.259350827447584],[-70.37308358848458,46.29820919634544],[-70.32885983140149,46.32857485473173]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.43544595910774,\"lat\":46.3132381882362},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2428\"],\"cd_name_en\":[\"Les Etchemins\"],\"csd_code\":[\"2428030\"],\"csd_name_en\":[\"Sainte-Rose-de-Watford\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Etchemins\",\"csd_name_fr\":\"Sainte-Rose-de-Watford\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.42575469613986,46.44089554227957],[-70.44815135396554,46.45574004578918],[-70.47041075250071,46.440321009968876],[-70.52945881888056,46.478503897434656],[-70.55104559674255,46.47215350505674],[-70.55980790199713,46.459013812686294],[-70.5840421313055,46.44380912110759],[-70.56475340690113,46.43070340307203],[-70.62163278072693,46.394207364768285],[-70.5579193188359,46.3499633983813],[-70.51157800711695,46.320483983641914],[-70.46985331513142,46.35025133564042],[-70.41226671928884,46.369984057754486],[-70.40131305678794,46.37769309866266],[-70.42794779494028,46.39710071663286],[-70.41749312023167,46.40453280651057],[-70.43073030154483,46.413201845765464],[-70.4148028045833,46.428853902742965],[-70.42575469613986,46.44089554227957]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.50902884044966,\"lat\":46.40023882710841},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2428\"],\"cd_name_en\":[\"Les Etchemins\"],\"csd_code\":[\"2428053\"],\"csd_name_en\":[\"Lac-Etchemin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Etchemins\",\"csd_name_fr\":\"Lac-Etchemin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.57392258523033,46.09832211953779],[-70.59674642965616,46.107275564357536],[-70.58027040076084,46.11807347887466],[-70.6105995188695,46.139994428601696],[-70.56708581922973,46.169469041513416],[-70.56859041562862,46.17187242991562],[-70.58839637882046,46.2041650786952],[-70.59231307306776,46.2103935575001],[-70.61833451427177,46.19242777602903],[-70.67036076093004,46.156222027234485],[-70.67788543984155,46.16621329549774],[-70.67521955435556,46.18108592262569],[-70.70685426973442,46.157509960995014],[-70.71289806976762,46.16075111199359],[-70.74804616856352,46.13766473781993],[-70.77583993669575,46.11881091030888],[-70.72760929673817,46.07521742021597],[-70.74829998056748,46.06141003278908],[-70.72760871840968,46.04557078220719],[-70.76994052468285,46.020086121107745],[-70.7711913856653,46.01155934226715],[-70.77106157082929,45.98839758577104],[-70.7290760971465,45.9864968937533],[-70.6848597194606,45.98763714547971],[-70.68333424193412,46.03514616531534],[-70.66453555274059,46.035369575783484],[-70.66445813848881,46.0473680922438],[-70.63648045181453,46.045400306380515],[-70.63580180731084,46.06677749591399],[-70.60712397729621,46.07711710383366],[-70.62959879351085,46.08391567722731],[-70.61987071025906,46.091530707368605],[-70.58899402809068,46.08565780894359],[-70.57392258523033,46.09832211953779]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.67709364550517,\"lat\":46.09653074539729},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2429\"],\"cd_name_en\":[\"Beauce-Sartigan\"],\"csd_code\":[\"2429073\"],\"csd_name_en\":[\"Saint-Georges\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Beauce-Sartigan\",\"csd_name_fr\":\"Saint-Georges\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.93451601097966,45.731172304585485],[-70.98678707074095,45.75839238594279],[-71.05270243302107,45.70132744558451],[-71.02869851829365,45.68930165717467],[-70.89315883236998,45.611085376145226],[-70.88499871523952,45.61822094345843],[-70.85692336298142,45.60220609416782],[-70.86235208461237,45.6093112050455],[-70.85186919328014,45.62684727229492],[-70.82136083714211,45.63845119057847],[-70.80038163511279,45.65806187566238],[-70.93451601097966,45.731172304585485]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.92797662516574,\"lat\":45.68070050317196},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2430\"],\"cd_name_en\":[\"Le Granit\"],\"csd_code\":[\"2430050\"],\"csd_name_en\":[\"Sainte-C\\u00e9cile-de-Whitton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Granit\",\"csd_name_fr\":\"Sainte-C\\u00e9cile-de-Whitton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.14826059937693,46.16926505271855],[-71.17243755150113,46.19111011693108],[-71.19542168213674,46.17533076786131],[-71.22955032305794,46.20884524562034],[-71.25087332105142,46.194341212800204],[-71.26219093391417,46.2046447928007],[-71.34770787606601,46.14664032115091],[-71.35516530889068,46.15036748307331],[-71.3673638911446,46.13296497259334],[-71.36240653264949,46.121189052897165],[-71.38497644726112,46.100189779372386],[-71.37170030966234,46.09328043845595],[-71.39364728984631,46.07244053394583],[-71.43190172205979,46.03631854793654],[-71.4170385160569,46.029375733197234],[-71.40280852409134,46.03698514166797],[-71.37852833170095,46.02393417114555],[-71.36709756941062,46.03424905255181],[-71.35251764136427,46.03657411258754],[-71.32784215871483,46.03060272415935],[-71.31411548607637,46.04363252224585],[-71.27525989687292,46.02262982647699],[-71.23095390999701,46.023905791271616],[-71.19858255505747,46.04126160584369],[-71.25679988713927,46.09496518166113],[-71.14826059937693,46.16926505271855]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.28726227187305,\"lat\":46.107224751487855},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2431\"],\"cd_name_en\":[\"Les Appalaches\"],\"csd_code\":[\"2431084\"],\"csd_name_en\":[\"Thetford Mines\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Appalaches\",\"csd_name_fr\":\"Thetford Mines\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.71295374150534,46.08741292747373],[-71.67780426682324,46.120048152740225],[-71.65442831591342,46.126321672937664],[-71.63192881268219,46.14961922109639],[-71.64147176117102,46.154511061671904],[-71.66445402905318,46.1661429123528],[-71.65336311498216,46.17718725218957],[-71.6722994195551,46.18649812921196],[-71.66066085789278,46.19726533956235],[-71.68081642312303,46.207358899074016],[-71.66957264589188,46.218109788608494],[-71.68020677063842,46.22434028705334],[-71.73370089596185,46.174159960340326],[-71.7989568530196,46.14809584294396],[-71.81711791139875,46.13886623365567],[-71.71295374150534,46.08741292747373]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.71443094017151,\"lat\":46.14773293969424},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2432\"],\"cd_name_en\":[\"L'\\u00c9rable\"],\"csd_code\":[\"2432023\"],\"csd_name_en\":[\"Sainte-Sophie-d'Halifax\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"L'\\u00c9rable\",\"csd_name_fr\":\"Sainte-Sophie-d'Halifax\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.49463637869098,46.33082850883707],[-71.5084931352468,46.33838945814095],[-71.48211374721551,46.356477223526085],[-71.50724567152822,46.376933963402045],[-71.47845963911126,46.396044775741345],[-71.5308404594308,46.43400471689548],[-71.56546207009875,46.41342860715279],[-71.61751843976297,46.45213937196966],[-71.67017620118658,46.42050993679481],[-71.7420395801418,46.37597145766783],[-71.68412665210072,46.33588581321747],[-71.64964278316987,46.35909690257234],[-71.58982279154883,46.31426427651189],[-71.55594795101723,46.34562123119552],[-71.52002100310405,46.32791791833166],[-71.49981367621224,46.324671768267464],[-71.49463637869098,46.33082850883707]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.60033351731033,\"lat\":46.38177056561527},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2432\"],\"cd_name_en\":[\"L'\\u00c9rable\"],\"csd_code\":[\"2432065\"],\"csd_name_en\":[\"Lyster\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"L'\\u00c9rable\",\"csd_name_fr\":\"Lyster\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.89249524274315,47.164647768910285],[-71.96885527893627,47.21479572183326],[-72.03009061710554,47.25632326330915],[-72.02648816803378,47.2590954532422],[-72.15560333799199,47.346431342312485],[-72.18553344821217,47.36572575450774],[-72.20134884548337,47.360657053207724],[-72.2058680513261,47.32931584040857],[-72.21532132863864,47.31411920732069],[-72.2395413331765,47.28945548141701],[-72.25192269136812,47.28506502441157],[-72.24822296037223,47.27209032529203],[-72.25473599584704,47.261517928582414],[-72.25088928118666,47.228334835400425],[-72.27018710706402,47.2145546053361],[-72.07145902183146,47.07366671021753],[-72.055578000076,47.06289721735111],[-71.89249524274315,47.164647768910285]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.09942648153836,\"lat\":47.20645371998373},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2434\"],\"cd_name_en\":[\"Portneuf\"],\"csd_code\":[\"2434904\"],\"csd_name_en\":[\"Linton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Portneuf\",\"csd_name_fr\":\"Linton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.02047669774265,46.309013758682276],[-72.00538466455895,46.31898593326751],[-71.97492046282811,46.2946841032581],[-71.95922302587968,46.30469244937289],[-71.94480598708823,46.2929569928479],[-71.89168968172768,46.326629161435],[-71.97459973867927,46.3867264440839],[-72.02026406455417,46.42004084093776],[-72.06280345004149,46.392629900083605],[-72.07690012443209,46.356158923611986],[-72.04755404031852,46.33560817111961],[-72.04900641236907,46.33082902912825],[-72.02047669774265,46.309013758682276]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.99289453603802,\"lat\":46.35147239785568},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2438\"],\"cd_name_en\":[\"B\\u00e9cancour\"],\"csd_code\":[\"2438028\"],\"csd_name_en\":[\"Manseau\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"B\\u00e9cancour\",\"csd_name_fr\":\"Manseau\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.05902808396102,45.89375444336805],[-72.04350988062978,45.90756967908913],[-72.05903217487446,45.91787327831169],[-72.07910697973709,45.942906714133564],[-72.0648097009269,45.95635573364738],[-72.09301054576923,45.97159195110763],[-72.12061377071758,45.946803160549656],[-72.14819832668387,45.921162378972475],[-72.12958237718864,45.91061080305191],[-72.14846617954775,45.88513562800198],[-72.11315778090425,45.86785402880471],[-72.09124828879804,45.888273097155135],[-72.07552512860521,45.87927636067627],[-72.05902808396102,45.89375444336805]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.09945094505164,\"lat\":45.916147226880575},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2439\"],\"cd_name_en\":[\"Arthabaska\"],\"csd_code\":[\"2439090\"],\"csd_name_en\":[\"Sainte-\\u00c9lizabeth-de-Warwick\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Arthabaska\",\"csd_name_fr\":\"Sainte-\\u00c9lizabeth-de-Warwick\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.12061377071758,45.946803160549656],[-72.16459323119665,45.971636480326836],[-72.19198945387417,45.94736467590918],[-72.2163656578082,45.961146278291345],[-72.25710493691989,45.9268515967185],[-72.24073194802878,45.91806048724132],[-72.25586841277023,45.90534416338724],[-72.2612169634594,45.889599896076106],[-72.2342324861088,45.87919615010102],[-72.22106504937761,45.889543047734286],[-72.18663422320049,45.87107703096272],[-72.17145759777202,45.86247984983385],[-72.14846617954775,45.88513562800198],[-72.12958237718864,45.91061080305191],[-72.14819832668387,45.921162378972475],[-72.12061377071758,45.946803160549656]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.18996352078162,\"lat\":45.91765556024368},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2439\"],\"cd_name_en\":[\"Arthabaska\"],\"csd_code\":[\"2439105\"],\"csd_name_en\":[\"Sainte-S\\u00e9raphine\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Arthabaska\",\"csd_name_fr\":\"Sainte-S\\u00e9raphine\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.69532707036363,45.01132674905269],[-71.69349260414927,45.06497431892184],[-71.7166316003225,45.064766554847246],[-71.71618455293171,45.105532511691926],[-71.79692087460539,45.10459332839505],[-71.79871711465081,45.01051783771338],[-71.69532707036363,45.01132674905269]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.75020301529864,\"lat\":45.055205689483174},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2444\"],\"cd_name_en\":[\"Coaticook\"],\"csd_code\":[\"2444023\"],\"csd_name_en\":[\"Dixville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Coaticook\",\"csd_name_fr\":\"Dixville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.69660688854266,45.91703080376131],[-72.7170052263472,45.917474258459904],[-72.75357285983979,45.942196668497466],[-72.7935934506317,45.90678917775717],[-72.8317699868031,45.88615008740543],[-72.8399894906664,45.89042839050583],[-72.85440222472468,45.87800280348025],[-72.85261328415272,45.86438382339228],[-72.83597262493063,45.85241956467178],[-72.78539158110986,45.81693504796265],[-72.76622954382164,45.82630237805268],[-72.72169378851402,45.859132386871956],[-72.7067285237002,45.87166448039723],[-72.71935570532486,45.87972496544211],[-72.70888256890993,45.88776345402681],[-72.7222972942317,45.89713817307102],[-72.69660688854266,45.91703080376131]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.77360778615028,\"lat\":45.87742365020489},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2449\"],\"cd_name_en\":[\"Drummond\"],\"csd_code\":[\"2449113\"],\"csd_name_en\":[\"Saint-Guillaume\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Drummond\",\"csd_name_fr\":\"Saint-Guillaume\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.89583025508728,46.2743896641623],[-72.92460289448306,46.294585334768094],[-72.95316082521114,46.29151432442366],[-72.96144545301176,46.279869325279584],[-72.99506374197067,46.293962599251934],[-72.98760416984182,46.27496652817996],[-73.03243048483549,46.263708879187355],[-73.02857223133007,46.25633509627635],[-72.99263877272865,46.24648131572208],[-72.97649809749065,46.22739310862831],[-72.95544955992324,46.20939466149668],[-72.89620655131641,46.172370050554264],[-72.86788112473164,46.1817739305269],[-72.79078821578305,46.20648483791861],[-72.847208806036,46.241845883249965],[-72.89583025508728,46.2743896641623]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.91195215188762,\"lat\":46.23458908316668},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2451\"],\"cd_name_en\":[\"Maskinong\\u00e9\"],\"csd_code\":[\"2451015\"],\"csd_name_en\":[\"Louiseville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Maskinong\\u00e9\",\"csd_name_fr\":\"Louiseville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.17290997224228,46.09136832646113],[-73.19748340174917,46.09546361285047],[-73.20620018101687,46.073978947218905],[-73.1783954310633,46.06692092894699],[-73.17290997224228,46.09136832646113]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.18863236628454,\"lat\":46.081605409442446},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2452\"],\"cd_name_en\":[\"D'Autray\"],\"csd_code\":[\"2452035\"],\"csd_name_en\":[\"Berthierville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"D'Autray\",\"csd_name_fr\":\"Berthierville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.14057739200159,45.82969154505609],[-73.15349369080558,45.884114062110065],[-73.15024935850391,45.935307433545525],[-73.14658469655609,45.95530069994147],[-73.16487428582376,45.968836616353656],[-73.17967381487203,45.95083499137824],[-73.18810247095449,45.92282649200895],[-73.18749720725654,45.89199557390183],[-73.20387871012221,45.87540223970654],[-73.18470163895716,45.86185920115841],[-73.14057739200159,45.82969154505609]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.16809880202746,\"lat\":45.90076419570397},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2453\"],\"cd_name_en\":[\"Pierre-De Saurel\"],\"csd_code\":[\"2453040\"],\"csd_name_en\":[\"Saint-Roch-de-Richelieu\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Pierre-De Saurel\",\"csd_name_fr\":\"Saint-Roch-de-Richelieu\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.27590387366001,45.79010206501095],[-73.29829799822089,45.778976170044956],[-73.30157892405651,45.74153389701189],[-73.2618518791874,45.71109636304398],[-73.21937061301159,45.7489249645355],[-73.26365832167002,45.781141412597776],[-73.27590387366001,45.79010206501095]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.26670361858261,\"lat\":45.75131664141926},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2459\"],\"cd_name_en\":[\"Marguerite-D'Youville\"],\"csd_code\":[\"2459030\"],\"csd_name_en\":[\"Calixa-Lavall\\u00e9e\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Marguerite-D'Youville\",\"csd_name_fr\":\"Calixa-Lavall\\u00e9e\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.4975149272461,45.81312717252625],[-73.50832688679803,45.81939411065398],[-73.52417024653028,45.81401402024791],[-73.52612015594019,45.79374793257032],[-73.5294795044717,45.754234630922085],[-73.50186918050022,45.736475896022334],[-73.4834940817207,45.72951839543277],[-73.4871602844308,45.71231876749231],[-73.49723433112369,45.704743904207554],[-73.47361694222866,45.700409259857224],[-73.46023899258195,45.70428545034692],[-73.43682344956035,45.726029308520914],[-73.42152940402507,45.74534153831462],[-73.41997680396109,45.75242547176535],[-73.39432996995889,45.78053006925487],[-73.41600521379323,45.79546241158157],[-73.45813417060198,45.78123205478034],[-73.4975149272461,45.81312717252625]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.4714162848239,\"lat\":45.761715065435055},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2460\"],\"cd_name_en\":[\"L'Assomption\"],\"csd_code\":[\"2460013\"],\"csd_name_en\":[\"Repentigny\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"L'Assomption\",\"csd_name_fr\":\"Repentigny\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.6776607499591,46.27847549483591],[-73.71455286430191,46.30622082890283],[-73.76042999869904,46.33468809237539],[-73.78139695622167,46.32136427034272],[-73.80656818426688,46.338419127876584],[-73.83136140803171,46.32017786019203],[-73.86037571837416,46.3403633184876],[-73.90488503389707,46.31011306353899],[-73.87720066388107,46.291250564171854],[-73.91367296279894,46.26608289224883],[-73.8835604047892,46.24585689123549],[-73.8001816187242,46.19168703013086],[-73.72328730026831,46.246538774944305],[-73.6776607499591,46.27847549483591]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.80128950853194,\"lat\":46.27357602484266},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2462\"],\"cd_name_en\":[\"Matawinie\"],\"csd_code\":[\"2462065\"],\"csd_name_en\":[\"Saint-C\\u00f4me\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Matawinie\",\"csd_name_fr\":\"Saint-C\\u00f4me\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.43844550046263,46.61458771754672],[-74.5083015296828,46.66419988748225],[-74.49064307203643,46.62483671925012],[-74.49203569169315,46.60649926575269],[-74.43844550046263,46.61458771754672]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.4772787563281,\"lat\":46.62797431120974},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2462\"],\"cd_name_en\":[\"Matawinie\"],\"csd_code\":[\"2462916\"],\"csd_name_en\":[\"Lac-Sant\\u00e9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Matawinie\",\"csd_name_fr\":\"Lac-Sant\\u00e9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.63024033905407,47.248082194448216],[-74.65191498048213,47.25098734747335],[-74.65720732570652,47.23304102590626],[-74.6015308515251,47.229965583174554],[-74.63024033905407,47.248082194448216]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.634785854518,\"lat\":47.239168467214164},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2462\"],\"cd_name_en\":[\"Matawinie\"],\"csd_code\":[\"2462922\"],\"csd_name_en\":[\"Lac-du-Taureau\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Matawinie\",\"csd_name_fr\":\"Lac-du-Taureau\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.15024033542906,44.991143493218395],[-74.1675774360196,45.024821854606046],[-74.18524479736391,45.03021501711695],[-74.18031087477911,45.048120676060456],[-74.184048676487,45.073941765941996],[-74.21067253859788,45.05523104968561],[-74.25174270351654,45.05102711685984],[-74.29522627410897,45.03301327666096],[-74.29905757111678,45.01873066990689],[-74.31503774921414,45.00006072533291],[-74.33085304587863,44.99183530902912],[-74.25739852307402,44.99231573391593],[-74.15024033542906,44.991143493218395]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.2312068099951,\"lat\":45.0199753150724},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2469\"],\"cd_name_en\":[\"Le Haut-Saint-Laurent\"],\"csd_code\":[\"2469050\"],\"csd_name_en\":[\"Elgin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Saint-Laurent\",\"csd_name_fr\":\"Elgin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.02305408299688,45.426441192672065],[-74.03884766064803,45.429524545572406],[-74.04082101403336,45.419340544859296],[-74.03316730688219,45.41159901061628],[-74.02305408299688,45.426441192672065]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.03322832881895,\"lat\":45.42190665523017},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2471\"],\"cd_name_en\":[\"Vaudreuil-Soulanges\"],\"csd_code\":[\"2471090\"],\"csd_name_en\":[\"Vaudreuil-sur-le-Lac\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Vaudreuil-Soulanges\",\"csd_name_fr\":\"Vaudreuil-sur-le-Lac\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.76490623676986,45.65152405669614],[-73.76196575097202,45.665232883158346],[-73.78338084480511,45.680327263285946],[-73.78892839526071,45.68398808398213],[-73.8073619441436,45.669848070631936],[-73.79641309847158,45.66244984620383],[-73.76784545152506,45.64872150244062],[-73.76490623676986,45.65152405669614]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.78239775253503,\"lat\":45.66649501645539},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2473\"],\"cd_name_en\":[\"Th\\u00e9r\\u00e8se-De Blainville\"],\"csd_code\":[\"2473025\"],\"csd_name_en\":[\"Lorraine\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Th\\u00e9r\\u00e8se-De Blainville\",\"csd_name_fr\":\"Lorraine\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.02306863334009,45.84081053023065],[-74.03237806933844,45.83439109534852],[-74.02694978120277,45.82027980852411],[-74.049929359378,45.8177332023755],[-74.06504887856444,45.83848263330059],[-74.06774621748164,45.85046121779826],[-74.09073067243372,45.84704933249955],[-74.09277199493935,45.83121433084617],[-74.12613377135557,45.83144150676686],[-74.14195439544042,45.8193374315837],[-74.11424199276748,45.80978835864764],[-74.11860565192964,45.80402765648962],[-74.10495419394294,45.789571081192854],[-74.1200669523856,45.780789846122865],[-74.03916968745334,45.7636962162039],[-74.05210968780518,45.75782337356267],[-74.03077365554411,45.74363687045582],[-74.01439583509702,45.75338799135473],[-73.99795361673142,45.75515458664541],[-73.9816891232495,45.74569059711871],[-73.9682093071811,45.75874864462316],[-73.9765009081942,45.764340111667806],[-73.94755008367298,45.78940606461489],[-74.02306863334009,45.84081053023065]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.04063151679283,\"lat\":45.79608673386586},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2475\"],\"cd_name_en\":[\"La Rivi\\u00e8re-du-Nord\"],\"csd_code\":[\"2475017\"],\"csd_name_en\":[\"Saint-J\\u00e9r\\u00f4me\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Rivi\\u00e8re-du-Nord\",\"csd_name_fr\":\"Saint-J\\u00e9r\\u00f4me\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.22804022145347,45.58746412821528],[-75.2325856725373,45.626305516310744],[-75.2458063399136,45.61013118925094],[-75.25794067498937,45.60888140419439],[-75.25412789660265,45.580179899807895],[-75.22804022145347,45.58746412821528]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.24223870243804,\"lat\":45.59954380287971},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2480\"],\"cd_name_en\":[\"Papineau\"],\"csd_code\":[\"2480050\"],\"csd_name_en\":[\"Thurso\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Papineau\",\"csd_name_fr\":\"Thurso\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.06622439898827,47.50000295459725],[-79.03994429239528,47.504841335023144],[-79.02332341817801,47.51453167419468],[-78.99356827327819,47.5236086764225],[-78.9853743612988,47.542165574662135],[-78.97615538483765,47.54918963437838],[-78.97708772472315,47.6480819961358],[-79.19374059165806,47.649774680097096],[-79.197029154474,47.646705618348605],[-79.19602711336776,47.61375997536463],[-79.27139192195563,47.614991686135625],[-79.27163546955683,47.57399627818222],[-79.28611154296385,47.58980501870405],[-79.28509263501604,47.49463646713212],[-79.30730655092817,47.4941488366732],[-79.30751365834443,47.478022516672794],[-79.32766418608249,47.47805845886877],[-79.32779073266366,47.45288623069254],[-79.37335709591626,47.45314179004459],[-79.37274340408936,47.42221167174993],[-79.37272882140128,47.41492813849019],[-79.32846721731322,47.41256290209732],[-79.32915505400156,47.38677009305685],[-79.30724533617128,47.37963528941088],[-79.24194138934753,47.37946994470428],[-79.22126313432291,47.37944510075085],[-79.22090904868648,47.40794623048711],[-79.24051914116363,47.407806034366814],[-79.2406492369135,47.41947071142223],[-79.22033998585856,47.419560729931014],[-79.2212710414763,47.47174345265653],[-79.18185881891655,47.469900900678894],[-79.09276015223082,47.469874100827525],[-79.08840662556024,47.49170081664125],[-79.06622439898827,47.50000295459725]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.16472860080697,\"lat\":47.534593760451884},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2485\"],\"cd_name_en\":[\"T\\u00e9miscamingue\"],\"csd_code\":[\"2485052\"],\"csd_name_en\":[\"Laverloch\\u00e8re-Angliers\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscamingue\",\"csd_name_fr\":\"Laverloch\\u00e8re-Angliers\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.98963344991154,46.78554490857409],[-78.97978140234324,46.78632915295598],[-78.98799505238246,46.79221085329316],[-78.98963344991154,46.78554490857409]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.98580330154576,\"lat\":46.78802830494107},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2485\"],\"cd_name_en\":[\"T\\u00e9miscamingue\"],\"csd_code\":[\"2485802\"],\"csd_name_en\":[\"Kebaowek\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscamingue\",\"csd_name_fr\":\"Kebaowek\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.86197365087834,48.67528956722761],[-78.90609789824848,48.67525201082615],[-78.90637383325792,48.70498071247032],[-79.10152609925603,48.7046434427956],[-79.10198553203332,48.67516916630654],[-79.0811788974232,48.67492269370609],[-79.08107287267958,48.646185712550135],[-79.04483065106095,48.64607538360979],[-79.04543728909871,48.616766982128965],[-79.00570915068784,48.616715130259045],[-79.00723222997634,48.587653173138335],[-78.92695833111004,48.58845812968482],[-78.9263188865413,48.60142343916398],[-78.86142834803493,48.6018069703255],[-78.86197365087834,48.67528956722761]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.97161415655364,\"lat\":48.65240986420565},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2487\"],\"cd_name_en\":[\"Abitibi-Ouest\"],\"csd_code\":[\"2487035\"],\"csd_name_en\":[\"Poularies\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi-Ouest\",\"csd_name_fr\":\"Poularies\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.35800537116775,48.93719061596802],[-79.29888925856535,48.93696244926272],[-79.29939292563581,49.00945517262591],[-79.44558912695423,49.00843034776519],[-79.44480227443798,48.995250965754266],[-79.40813383647489,48.995350375732755],[-79.40771045571779,48.9662878809928],[-79.35868168020991,48.96636401457044],[-79.35800537116775,48.93719061596802]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.35242011516927,\"lat\":48.979640077874045},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2487\"],\"cd_name_en\":[\"Abitibi-Ouest\"],\"csd_code\":[\"2487115\"],\"csd_name_en\":[\"Norm\\u00e9tal\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi-Ouest\",\"csd_name_fr\":\"Norm\\u00e9tal\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.79994009022852,54.77644560469162],[-66.77323770383973,54.765994482225295],[-66.76880255294192,54.75617450575775],[-66.74986224012821,54.75848171135228],[-66.71702472143195,54.73514113079268],[-66.69631218004547,54.72595417895902],[-66.67529611189455,54.709229986020986],[-66.66281485730258,54.7288671263187],[-66.68624478813267,54.74943548095626],[-66.71809452954747,54.76078226359043],[-66.72793817148612,54.78004405061599],[-66.71693668208985,54.78843380194624],[-66.73288818253182,54.81149879196408],[-66.65942839757706,54.77021777364263],[-66.64461920953386,54.778824196429944],[-66.63822662843688,54.795047156973496],[-66.60962186898242,54.80341391053485],[-66.60265109790352,54.813506309810634],[-66.63200016598066,54.835697720527165],[-66.633284278604,54.846754873268225],[-66.65114194140334,54.85768261544236],[-66.66361196667289,54.88197685349206],[-66.68965363220686,54.897965049703615],[-66.6814081789889,54.92366778409904],[-66.71122268329364,54.94736934147355],[-66.71322623178605,54.95549537373316],[-66.74222369831516,54.96948020871087],[-66.74022852747197,54.98511539086405],[-66.76599037157186,55.00001691522533],[-67.00000001783525,55.00000000512266],[-67.21924254161861,55.00003048266286],[-67.20922818303336,54.984173487415234],[-67.18778552136838,54.98042531867572],[-67.15718459742766,54.956458348155806],[-67.13925519724069,54.95094361156515],[-67.1183617559856,54.93150165642887],[-67.05651050443083,54.89493770817836],[-67.04135335264259,54.88166530276977],[-67.03985465863406,54.868081493371605],[-66.99698736312959,54.8427309122512],[-66.94784667065808,54.822310512756175],[-66.92704515201424,54.802172964687635],[-66.91126566640858,54.809379241028836],[-66.87511912170393,54.81564707380987],[-66.84478740465146,54.836387406935074],[-66.87799435953013,54.85710878104459],[-66.84774399736565,54.863098508604374],[-66.78460107462166,54.82706732602963],[-66.78046514819813,54.81880002053289],[-66.77595458403505,54.80828486988187],[-66.77159066524523,54.79331998441055],[-66.79994009022852,54.77644560469162]],[[-66.87537930650824,54.92407937979469],[-66.87699256793144,54.94666840503343],[-66.86065709486411,54.95229758653578],[-66.7257832962384,54.88185494475614],[-66.72820453400912,54.84339125519378],[-66.74507416434072,54.84700128179195],[-66.86148248001807,54.91041603241627],[-66.87537930650824,54.92407937979469]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.87944255920512,\"lat\":54.901654588231175},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2497\"],\"cd_name_en\":[\"Sept-Rivi\\u00e8res--Caniapiscau\"],\"csd_code\":[\"2497914\"],\"csd_name_en\":[\"Lac-Vacher\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Sept-Rivi\\u00e8res--Caniapiscau\",\"csd_name_fr\":\"Lac-Vacher\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.0000000082574,52.91838484634391],[-70.00000000263768,53.203929870518614],[-70.00000000871871,53.385628770627164],[-69.99999998937139,53.558805674895254],[-70.00000001747088,53.76427365077027],[-70.00000001296719,53.909213097674694],[-69.99999997886663,54.21299472179279],[-69.99999997256889,54.429855983572516],[-69.99999999316752,54.73119050531273],[-70.00000001343388,54.99999999764843],[-70.24999999720112,54.9999999963414],[-70.4999999968968,55.000000002216204],[-70.74999997447901,55.0000000039348],[-70.99999999254352,54.99999999132263],[-71.24999999825852,54.99999999529804],[-71.52157329673203,55.000022259091864],[-71.74999999445468,54.99999999032742],[-71.99999998117237,54.99999999662963],[-72.2499999767978,55.00000000029085],[-72.5000000153544,55.0000000096262],[-72.75000001427934,54.9999999931469],[-72.9999999942344,55.00000000181267],[-73.26331989877254,55.00001424029104],[-73.5000000252554,54.99999999273037],[-73.74656033825813,55.000003831497374],[-74.00000000882753,54.99999999551329],[-74.24999998859562,55.00000000748803],[-74.49999997965263,54.99999999540577],[-74.74999999962543,54.999999987983365],[-74.99999997921081,55.00000000878885],[-75.24999998481861,55.00000000316445],[-75.500000002724,54.99999999382227],[-75.74999997589016,55.00000000576318],[-76.00000002532471,54.999999991200255],[-76.24999999481501,55.00000000506847],[-76.50000001604232,54.99999999132625],[-76.74999998877628,55.00000000396166],[-76.99999999990358,54.999999997521556],[-77.25000001545783,54.99999999899747],[-77.50000002271832,54.999999993419166],[-77.7499999986577,55.00000000017707],[-78.19999998852347,54.999999993264396],[-78.50478569076363,55.0000000020848],[-78.5460363797108,54.98831319937733],[-78.54619052197805,54.98103448931427],[-78.58097341286845,54.96014851316903],[-78.66014299274708,54.94307470230007],[-78.69562769687991,54.93226979866617],[-78.71369039025745,54.933858603783094],[-78.73659109447986,54.91925400249426],[-78.7824177940955,54.90586100049099],[-78.82609509390856,54.90754919125308],[-78.87792371453344,54.894275692865385],[-78.89372658784922,54.882573796263465],[-78.9109712059824,54.882261411658305],[-78.93337928169133,54.87436750902913],[-78.95566009812408,54.843737997973406],[-78.9801697057112,54.83292059596031],[-79.01587571590413,54.83681930609232],[-79.02693941178951,54.82934929153812],[-79.06266028180085,54.82032018916233],[-79.09479408624588,54.819906290492945],[-79.11865328884856,54.811625196762456],[-79.18992580016572,54.79767850247002],[-79.2265505174054,54.79759509895626],[-79.24540709912385,54.788410402763574],[-79.32081139623223,54.76786319710039],[-79.34981670186032,54.757520087556145],[-79.37567521385051,54.75710251289616],[-79.38861749142085,54.76424220651752],[-79.40999998146653,54.750263392415754],[-79.43527651427682,54.74043940528557],[-79.47716760715363,54.73790139313018],[-79.53347467941965,54.72101450861029],[-79.55561059979206,54.724925898479235],[-79.57764188458263,54.71693118999957],[-79.5997537123233,54.699982197241496],[-79.65559578090495,54.67972400621036],[-79.6758837777818,54.66152019723271],[-79.71426698912393,54.651908495467],[-79.73138688443996,54.635172902445944],[-79.74855249580337,54.641479504596774],[-79.7707755860696,54.62605353476115],[-79.76355957606467,54.61239463719175],[-79.74096056572904,54.60704655437916],[-79.73894639545898,54.586839313202404],[-79.6689033984051,54.55024653216157],[-79.63341148946371,54.52124490408014],[-79.62060312531797,54.50001040519445],[-79.59331726596965,54.47520410690125],[-79.55460881112018,54.467848604164345],[-79.50993181443175,54.424370716262445],[-79.51749809987025,54.40329433103537],[-79.50654090755461,54.37924420715672],[-79.51539269447325,54.366580420084354],[-79.49239456242036,54.35255706927368],[-79.48647307158915,54.28867213117667],[-79.49702059305217,54.265581159277005],[-79.49846196809096,54.250001746436595],[-79.52027960599425,54.149376511362156],[-79.50827163329235,54.1390670685159],[-79.45908031137064,54.12013513655917],[-79.41436684692454,54.10727410425091],[-79.39672835829047,54.08824397082052],[-79.34864722822586,54.07349007737227],[-79.29752133600232,54.06103385189765],[-79.18815193618985,54.0394318328848],[-79.09664707750834,54.023826550558596],[-79.02420705115684,54.01406712087132],[-78.9912165864756,54.01344198741604],[-78.96364108082125,54.00501740859819],[-78.96780778534868,53.994387897131894],[-78.99002107789075,53.990324501775994],[-79.00197618364606,53.997039293343356],[-79.0587534902832,53.996350286054565],[-79.0629006047288,53.977299595834],[-79.03796710382944,53.966519793861025],[-79.03994718406206,53.955307201238355],[-79.05481062244377,53.95082178971218],[-79.08735119979264,53.95365759334524],[-79.11291062137822,53.94359469772075],[-79.08503368829112,53.93042180720845],[-79.04487928504152,53.92537550483655],[-79.0047445126863,53.91578040132441],[-79.01464121704585,53.90848450373855],[-78.98517410474217,53.89992069015217],[-78.95212846630815,53.87992977140166],[-78.85021348826828,53.79661447580749],[-78.87012823797674,53.78850703456212],[-78.91459060064315,53.82468589004411],[-78.94012469012317,53.83824670620063],[-79.00761029646857,53.84647009646337],[-79.05902511928548,53.841184203856145],[-79.05725423372645,53.82717436888116],[-78.99321521406537,53.83517590343239],[-78.97733611010054,53.821267796326474],[-78.93364508460081,53.81710300477615],[-78.89715578205642,53.80015039650637],[-78.89599628496744,53.791250287836874],[-78.85441538061369,53.763397102569414],[-78.80729519637222,53.75720810679269],[-78.71116818478205,53.75105439849822],[-78.63997999662217,53.73655401016502],[-78.57695288741041,53.73579509093529],[-78.55770351649483,53.72793570581926],[-78.5323765008688,53.72824760304842],[-78.51516940475206,53.7224651881147],[-78.46856387781042,53.72189680204751],[-78.38862809861496,53.73776899876996],[-78.35480409359194,53.72772598878579],[-78.33709721286507,53.73524079411989],[-78.28580051407661,53.73021919835451],[-78.26885981710278,53.7226285043939],[-78.22331221723034,53.72618550140445],[-78.17273748316636,53.73351640594914],[-78.15176754568326,53.73082992748485],[-78.15621058910415,53.60228675555013],[-78.25489920560885,53.60450958474064],[-78.2553787949844,53.5421731852405],[-78.40655344083851,53.541664580352595],[-78.43213915245735,53.54370911425226],[-78.4679826180408,53.536307640616805],[-78.5135648740419,53.53239731549958],[-78.55421289222977,53.52702852672342],[-78.5930671879965,53.53866311387886],[-78.62007821906487,53.53223440775791],[-78.66009257327705,53.53055645594291],[-78.69814331456712,53.54277710015539],[-78.74538202535267,53.545422968152536],[-78.80218718455052,53.539139602680955],[-78.86028296103008,53.55829736648398],[-78.89690711129624,53.55765278564207],[-78.97816322215913,53.56642610160729],[-79.00000423662536,53.563925314771176],[-79.01314805626379,53.57231466941237],[-79.03247776534339,53.572785820905985],[-79.03377417020079,53.53470907974671],[-79.08927718734225,53.52260377912502],[-79.127639961399,53.50914133486424],[-79.1385782802321,53.50047475825746],[-79.10778838453166,53.485284292852256],[-79.1216437547405,53.472405851527256],[-79.08742778633636,53.45402658617899],[-79.07012470068503,53.42683539822377],[-79.04232934103383,53.43678277089335],[-79.04469060565205,53.41871256530231],[-79.06323046541878,53.40553984276895],[-79.04391616010557,53.39975965178968],[-79.02208156138194,53.403906597161416],[-78.99333634748965,53.388589843672776],[-78.99368457572997,53.35725511975549],[-79.00328074434155,53.34030688960803],[-78.99819519800869,53.32056020034747],[-78.95954632271243,53.31679905101533],[-78.96869605747108,53.287526179755346],[-78.98613586723174,53.27580957578378],[-78.98427941895876,53.267651207550934],[-78.93141434489,53.259318888337624],[-78.93568563372664,53.23740061335599],[-78.92450598479323,53.22872827498671],[-78.94484063699639,53.211445709222545],[-78.93009605826039,53.19388007733999],[-78.96008171748625,53.18876376439411],[-78.97695913536685,53.16994695375519],[-78.94471989617638,53.160903378703416],[-78.95407329222401,53.146457835913516],[-78.94658076604745,53.14018078617873],[-78.97697142472214,53.12325519798882],[-78.97311775680083,53.10691168226743],[-78.95949916640502,53.10679279682327],[-78.50830027256194,53.10675132649578],[-78.5157217278053,52.99344428816656],[-78.51659467566039,52.97185809939354],[-78.55791149532888,52.96325250038616],[-78.58586028687442,52.9508948964238],[-78.59544070567948,52.937208893644915],[-78.62503539082364,52.923818789100885],[-78.65552200998359,52.92448368950251],[-78.68087689189322,52.934128105318585],[-78.7026665066291,52.92517029025264],[-78.72198889979687,52.92839690716716],[-78.7320298937609,52.91268158921962],[-78.70814750639879,52.89717329314177],[-78.70528981374503,52.87318600715476],[-78.72649290844325,52.86437349498618],[-78.75830178960932,52.86100878997463],[-78.76592556153318,52.851542065912355],[-78.75848824098725,52.84413981983127],[-78.79889940797588,52.816242413182714],[-78.80302539421425,52.810431351440826],[-78.77027068876295,52.7887741241267],[-78.77646655842108,52.782120417553784],[-78.83114259496604,52.783869862326625],[-78.84697246063133,52.76489508927956],[-78.87444152713218,52.75220848901611],[-78.88038959533738,52.74092188253395],[-78.86107257950357,52.73620431593164],[-78.7893061631311,52.70606123253481],[-78.83294916926961,52.70428803935928],[-78.8294367529831,52.676428972640345],[-78.75074401193315,52.67942877493976],[-78.728421172207,52.66601815718478],[-78.75719763808391,52.65350865440529],[-78.78282854756002,52.65712324372552],[-78.81635802885391,52.64054417611915],[-78.80554497169803,52.62323866860463],[-78.77446005249229,52.61345206882485],[-78.75286723420321,52.618182066137706],[-78.73849777935233,52.612425926313165],[-78.73131029407281,52.582757787677245],[-78.7696707363661,52.56282638275275],[-78.77126882847865,52.53888098982719],[-78.75003655723047,52.53759101068725],[-78.72239459197796,52.51301121523136],[-78.6849003804183,52.51754270112452],[-78.6706169442747,52.50637473261225],[-78.61780089695681,52.50438804039042],[-78.59403144284627,52.50007036120789],[-78.6202542284775,52.48323466740507],[-78.62648883906985,52.454559369418746],[-78.61160875619406,52.44797500620329],[-78.56632063518065,52.44530457636179],[-78.55743352376118,52.43792901253761],[-78.54729432403998,52.40659708469526],[-78.55234849198216,52.37852280348573],[-78.54578634468743,52.35834169460661],[-78.52143817584277,52.332117038746624],[-78.53275656958573,52.31758528723027],[-78.56832295985842,52.30236961567739],[-78.58418671838058,52.28970844799491],[-78.59228558616697,52.26323683320681],[-78.58342012182656,52.19445722344073],[-78.5835592087868,52.17453584636422],[-78.58963004092445,52.14705986473152],[-78.62842475689044,52.11303108664231],[-78.67369564002308,52.08420641719503],[-78.68077578568786,52.07222788299161],[-78.72516250862643,52.05266420637817],[-78.7474841113814,52.03189770758619],[-78.754575463351,52.01629394753893],[-78.75982026229437,51.9888385838785],[-78.77095099982085,51.980727726602375],[-78.79685293381891,51.97293792636141],[-78.80466332081473,51.963284446425014],[-78.8473596427196,51.94708121286023],[-78.87516877086172,51.96036709011516],[-78.89234201358475,51.95949584452192],[-78.91000096129991,51.90520342270765],[-78.90550915518195,51.88754280475347],[-78.92552356474668,51.842269952110854],[-78.96749979254986,51.81611819115092],[-78.98716732389447,51.81165945263894],[-79.04309320683518,51.78494932531052],[-79.05926462009775,51.768078279834874],[-79.05791266166798,51.750054279250755],[-79.02300048803701,51.723524478904174],[-79.01084807896916,51.69875520524979],[-78.96633082677513,51.672416102996394],[-78.94543984289186,51.645817545909104],[-78.90480866357076,51.6303269097571],[-78.88077032676242,51.613191754795075],[-78.85960527441172,51.58748563684659],[-78.8423961341355,51.50389837888744],[-78.82612731491975,51.49205634479383],[-78.82299141550307,51.46933736159794],[-78.85333007484255,51.451832757240666],[-78.960186662421,51.45895051906116],[-79.02983352930818,51.52641353568519],[-79.06098755630634,51.54340665625174],[-79.12721123585169,51.566198763922486],[-79.16930559853448,51.59732479917218],[-79.18275272667736,51.63072654926373],[-79.242000740074,51.67468678985291],[-79.26860418703374,51.6875728780901],[-79.29858124680082,51.6932200767167],[-79.37156572423653,51.69271258493024],[-79.42242496495851,51.68114656072633],[-79.4651703087069,51.66920042807304],[-79.50824607241857,51.649636483853634],[-79.54339585109531,51.629093228099364],[-79.56476058879313,51.613231613974314],[-79.58135546045241,51.592967022799655],[-79.58569483474858,51.566117241415746],[-79.58269525103547,51.530099441148096],[-79.53753651025399,51.48663857058214],[-79.52433063619179,51.47133183758491],[-79.51584871321634,51.46067760678794],[-79.51783626123465,51.22444133072672],[-79.51895076269471,51.06228556217264],[-79.51791005121004,51.00963425874274],[-79.51792325935348,50.76196913736554],[-79.51793087046134,50.61741905307903],[-79.51794315587712,50.38283280251248],[-79.51795289382281,50.19472122528598],[-79.51754394700485,50.000020657859366],[-79.51785814378023,49.86501883460857],[-79.51769065461143,49.67698453139091],[-79.5177736699708,49.492189287109866],[-79.51785743121029,49.304061145109166],[-79.5180578824896,49.008060578973264],[-79.44558912695423,49.00843034776519],[-79.29939292563581,49.00945517262591],[-79.1770277597683,49.009310966912054],[-79.05352611853965,49.00931483627942],[-79.0550955547497,48.99982804066656],[-78.90530332085376,49.00000243108694],[-78.75483708367408,48.999960837491436],[-78.64378761635213,49.00024742984539],[-78.4250319041148,48.999616652281794],[-78.20633349561074,49.00036192368123],[-77.98703932952657,49.00001587923065],[-77.87863854765295,49.000080745431546],[-77.50000000485319,48.999999994336065],[-77.24999998506188,48.99999999546481],[-77.05946174277832,49.000106379746896],[-76.75000000080853,49.00000000978132],[-76.49999999276244,48.99999998487869],[-76.24999998971619,48.99999998972948],[-76.00000000260842,48.99999999586498],[-75.74999999535028,49.000000003351424],[-75.52506216655978,49.00002915213733],[-75.25000000415396,49.00000000461037],[-75.00000000544928,49.000000004909765],[-74.67628161310266,49.00006720054559],[-74.67626448928608,48.994764948917826],[-74.63050221487791,48.96624997378441],[-74.61101052343912,48.97330669546939],[-74.60417192158596,48.96435789463033],[-74.58286985488193,48.96323153325362],[-74.56805072464242,48.97419316829475],[-74.54094126312282,48.983009929989755],[-74.5154686671143,49.00001876488214],[-74.49310354218422,48.971190781918864],[-74.45892466383634,48.9577248817328],[-74.43766245675573,48.96002310675797],[-74.45545632149505,48.94041136709261],[-74.44389030549014,48.92928155593773],[-74.43111121266868,48.93577580742284],[-74.4098619547037,48.926581890674086],[-74.38532492525177,48.93897679334447],[-74.36227920048397,48.93726919170468],[-74.34098132994532,48.92784223799637],[-74.3274109532086,48.93649626137589],[-74.3265380877996,48.986981399217754],[-74.29722589568111,49.01366778540781],[-74.30601291417013,49.041726865175654],[-74.29053362530547,49.04171731247902],[-74.2914828770538,49.06052251490239],[-74.2738799733046,49.08676472382962],[-74.27520527233447,49.09955185701803],[-74.26925486437041,49.13424480600729],[-74.2500238102215,49.150819087618906],[-74.25414988669284,49.17528221837574],[-74.24395345919591,49.186024095483965],[-74.2461310892691,49.213082640031594],[-74.23902094658591,49.21887064358987],[-74.2415296627331,49.24837620886303],[-74.24070877524773,49.28345988593292],[-74.25641719418434,49.28823586302895],[-74.27599857670236,49.275183916530516],[-74.28542280722351,49.28743570608907],[-74.29777410725141,49.280883241759334],[-74.30767906417627,49.26074778101426],[-74.33669989525644,49.28265462501129],[-74.37327995384857,49.30332409277602],[-74.37506985092449,49.31896849198098],[-74.4148764872484,49.31496423163595],[-74.43025299092974,49.3255810473935],[-74.42420897611471,49.34195276728321],[-74.39908833221483,49.3663717268447],[-74.41240578592084,49.37503689867337],[-74.41179046861733,49.421547013866906],[-74.3801336366401,49.44241290152692],[-74.37865625158999,49.45133926619838],[-74.39299008039369,49.46914172673275],[-74.3675421142407,49.47792842894722],[-74.36252369733009,49.495016632985326],[-74.34993169691616,49.502030334541736],[-74.3280011772519,49.49021550223511],[-74.33142585096478,49.47866467086296],[-74.31097496877868,49.479039939152386],[-74.29680143036299,49.48601448431944],[-74.27574613915489,49.504706670967664],[-74.26032451266768,49.5119822276867],[-74.26561782619864,49.527301423232764],[-74.25268920142155,49.54403492419027],[-74.24949205018117,49.57099421505125],[-74.22146955442581,49.58329559970138],[-74.2117211633782,49.59861203115065],[-74.19319026151658,49.61316954577334],[-74.19190437558822,49.62716334492866],[-74.1987527896926,49.64324551956459],[-74.19480550209904,49.65623681030462],[-74.17733251958106,49.67668906533109],[-74.1438647139373,49.67899883803508],[-74.12319247590088,49.69241928009993],[-74.10017872997282,49.7344708060612],[-74.35265106941611,49.734401073965344],[-74.46838010057154,49.73579258132441],[-74.46798533288928,50.026217030862874],[-74.2170598945074,50.02486165382167],[-74.0189077416417,50.02460746787662],[-74.02039779360726,49.97263004827564],[-74.01977517766036,49.87999753962589],[-74.01708337463175,49.8799725529064],[-74.01610254226989,49.80181971537835],[-73.99043190199998,49.81857315469112],[-73.98499671031728,49.83099427050348],[-73.95809037397635,49.84119203633596],[-73.94047181529983,49.86600390423932],[-73.91276471230532,49.896054810459034],[-73.90925089831065,49.92154948675485],[-73.89601167534344,49.94083689223781],[-73.89242901026304,49.957265322532145],[-73.8696634306133,49.97009998626449],[-73.85339131436433,49.99820089030267],[-73.83969888368937,50.010173950313096],[-73.82180947146635,50.01573762622886],[-73.81532390963926,50.02605224317392],[-73.78556548211127,50.07426475429834],[-73.79144944851132,50.09839494036278],[-73.77868336961636,50.112588273242565],[-73.7787134032446,50.124107827868436],[-73.78845243042743,50.1374513362881],[-73.77651713857331,50.15790113784221],[-73.78879656245768,50.16799611473523],[-73.7910573125408,50.179258372562266],[-73.77206265882926,50.216342932682196],[-73.74953402219283,50.2344745759622],[-73.73703377083417,50.217895104179924],[-73.71217641574766,50.21220162891125],[-73.6855265286296,50.211584964716],[-73.67234500305608,50.23689043450862],[-73.640928967412,50.275369584306965],[-73.61906120390512,50.310233393719344],[-73.6119670902478,50.33941579672975],[-73.60241897142652,50.345752038745495],[-73.60951331550265,50.36829153083739],[-73.61090238717385,50.389415123207336],[-73.5842582689664,50.41949838679843],[-73.5749347274855,50.406370261110155],[-73.58320837201154,50.38045291905144],[-73.58333516071141,50.36181849079502],[-73.5630846944419,50.36833410536312],[-73.54043473756504,50.369132874527004],[-73.53055076651395,50.38015329247731],[-73.50235230976337,50.38430441535665],[-73.482406448428,50.40037057031119],[-73.4773876112475,50.37463818153241],[-73.45972729751725,50.37552003627327],[-73.45002164718457,50.39692516398357],[-73.45075748374909,50.42269738019103],[-73.43626768518585,50.4406506995361],[-73.40963353176387,50.45951756406511],[-73.38762418088162,50.484360884735544],[-73.39276562559562,50.50691175789287],[-73.38566468763969,50.51523985616953],[-73.35729285351304,50.53140156639799],[-73.35280539054239,50.55229230192741],[-73.33756638277433,50.57674059464921],[-73.3107268081155,50.58724803416409],[-73.30346876729729,50.60149752779978],[-73.30083284633818,50.62292143214195],[-73.29052676603769,50.63455099824668],[-73.26741198051482,50.6461106017299],[-73.27390416179422,50.65160368857705],[-73.25341480871212,50.68186173282746],[-73.239187506867,50.6881511367404],[-73.22104365450829,50.70661615668904],[-73.1877568207474,50.70056993511874],[-73.16916779745645,50.73732324999632],[-73.13765713575438,50.75219729237429],[-73.10931375567938,50.750314200394875],[-73.10728317632265,50.73494403455519],[-73.08217671710551,50.73248324883833],[-73.07489727079782,50.72528957313416],[-73.08732151139435,50.69824185662312],[-73.06433035449874,50.691414672482715],[-73.04562535655388,50.70282478800455],[-73.03354846640492,50.69316408649691],[-73.03264560545273,50.67944424859399],[-73.05474893277866,50.665790497827594],[-73.05445681396625,50.65438768814733],[-73.02849281732664,50.662898297238044],[-73.00725313546417,50.67653211283831],[-72.97282265012232,50.70554447149111],[-72.95437431102205,50.715690640970315],[-72.93515339791644,50.715747041290946],[-72.92912451856394,50.7385569725548],[-72.93659925234851,50.76122224765335],[-72.89466740102434,50.77744229289692],[-72.8747300709913,50.80627477244759],[-72.83669558923846,50.814320412681376],[-72.79334921981703,50.81972735842589],[-72.78227000011134,50.825096640919675],[-72.74875171578772,50.82060561186418],[-72.7457765570684,50.80235945606608],[-72.72531060562372,50.79809242832722],[-72.72573586146743,50.77998014441745],[-72.69706494916905,50.77647474723272],[-72.67321037294495,50.7476831120459],[-72.62786490411501,50.77298012415445],[-72.61027398054631,50.80698093799581],[-72.60695703936081,50.83256584260265],[-72.59698727110975,50.84933884399644],[-72.58045765651285,50.860529462748836],[-72.57209448396549,50.873588438499404],[-72.55775463198817,50.87850546741154],[-72.5505344601049,50.85942083206287],[-72.56135164510292,50.835851554889594],[-72.5602091997542,50.822768675134476],[-72.54063792142112,50.80763380647926],[-72.55711998993479,50.786267603447435],[-72.5610056964791,50.74847818951814],[-72.53934379973417,50.757293271586946],[-72.52210907147904,50.74690017957817],[-72.50540166588614,50.750803164181214],[-72.48532879512399,50.76233685750354],[-72.46572811649274,50.7853948289903],[-72.43779185815461,50.78222280245714],[-72.42833851874185,50.786538894373464],[-72.42032020982461,50.80411141455392],[-72.4029772968719,50.8111197567542],[-72.37567585522149,50.85244031667142],[-72.37375092082515,50.88586888736493],[-72.34785059078303,50.88611603657819],[-72.31263031546814,50.911372147862366],[-72.30269803880648,50.92320144324249],[-72.29908101950325,50.94274478166],[-72.2907907764101,50.95275734440943],[-72.26634632059367,50.94990131668704],[-72.26200012988242,50.97173188443316],[-72.24860322721327,50.975111765437994],[-72.24148895305842,51.00386562088911],[-72.2295645626632,51.007822334296506],[-72.22141042332758,51.025996932005135],[-72.2003523527946,51.029235660596825],[-72.18975520548179,51.021771568024164],[-72.19442386892929,50.98915331498962],[-72.18355870733059,50.98107225887444],[-72.15768606281594,50.978651125954045],[-72.15488963317402,51.00314216757646],[-72.15851427105906,51.0225742058706],[-72.15305494630444,51.036245659333474],[-72.13719031662478,51.05286656644148],[-72.14320430124845,51.06876405594558],[-72.127378055408,51.07856834188659],[-72.12069068144503,51.09461533810927],[-72.10275375302041,51.10998079760252],[-72.09500661792939,51.12516166465353],[-72.07761441376252,51.14227195087113],[-72.05993407725396,51.14980906757501],[-72.02745744643826,51.13772780576996],[-72.02500051573412,51.163443933177994],[-71.99638727959515,51.178148915682215],[-71.99192111104598,51.20668024847249],[-71.97850081754684,51.21573588713554],[-71.98931130448415,51.22954129830691],[-71.9568897582928,51.24031734357095],[-71.93700398020576,51.27148838762257],[-71.91921216011917,51.278754085634624],[-71.88559563875276,51.27325515439021],[-71.87351377219666,51.27813108154495],[-71.88108628415263,51.30548404711859],[-71.86741963735642,51.32129396906166],[-71.87470172049427,51.33623465820077],[-71.86427906107755,51.34916049040515],[-71.83639311459247,51.35938397024517],[-71.82911955868516,51.37711397960093],[-71.81606176373158,51.371022967542096],[-71.81699546151965,51.35346758410836],[-71.79937467899856,51.35427406070438],[-71.77216149955808,51.36315269519831],[-71.75950969587146,51.34844335474224],[-71.74906895044867,51.350466515235816],[-71.71113251134908,51.37586780370606],[-71.70636292994601,51.3941156682778],[-71.6864612899821,51.40778938231203],[-71.6940042732144,51.417299479978986],[-71.68665002362789,51.44641347092381],[-71.66544468371532,51.477222828893574],[-71.59137770576686,51.49520373617816],[-71.57922192768153,51.50667397108432],[-71.57930739421845,51.532314316328026],[-71.59315149501334,51.551102132835375],[-71.58321637968798,51.56095063481179],[-71.58111225466483,51.5868492515071],[-71.58965493044475,51.58795609139727],[-71.60956911075861,51.606507752225134],[-71.60331629845543,51.64812067278728],[-71.61318073904245,51.65908121123353],[-71.59974860751879,51.67972802645669],[-71.60406509802458,51.69475218028934],[-71.5781117895976,51.7482740999559],[-71.5835095641004,51.784659246235975],[-71.57224877446663,51.80186433131303],[-71.57111896571655,51.81382837567133],[-71.53053781955575,51.8342973845091],[-71.46702057347586,51.83963122915686],[-71.4501175379912,51.84396212058363],[-71.3997415920627,51.8413856851136],[-71.37797663049753,51.85446974645522],[-71.36356219420216,51.878516088717014],[-71.35358769388446,51.90527492367217],[-71.32873014105776,51.91886246161919],[-71.31365966833292,51.947180084904694],[-71.31511829229649,51.966866756482794],[-71.28073632115273,51.98646999699298],[-71.27372691450215,52.000824231630645],[-71.24610561362664,52.02146947729366],[-71.2099224483961,52.02580415963658],[-71.20535775413613,52.039634138150184],[-71.24722772183202,52.03569996170594],[-71.26879724715705,52.04009891332765],[-71.26256714327825,52.05440509776192],[-71.24500829384326,52.06348296404435],[-71.237050668895,52.07621255483259],[-71.20291025526765,52.090017434633786],[-71.19167980148616,52.11557738990602],[-71.16238307693898,52.12750811437985],[-71.1532679153667,52.1387504516877],[-71.15470467020528,52.15243590671144],[-71.14038844030493,52.16998206817965],[-71.09624560575745,52.181951351081025],[-71.08374306776659,52.18948663471829],[-71.08748628980095,52.201907498699015],[-71.08117166618149,52.21298582287547],[-71.0380637975827,52.211512559004625],[-70.96426818224957,52.2311554112413],[-70.94638441280146,52.240939787075874],[-70.92075778903778,52.243711322054224],[-70.91706238988272,52.251081054906834],[-70.88203857882525,52.279823431989755],[-70.87198753201133,52.2725725045436],[-70.83767471639895,52.27038270573287],[-70.80965087646192,52.27269505431463],[-70.82445630766804,52.246145912389586],[-70.80797578278624,52.233265999451696],[-70.78352800250933,52.2434135801997],[-70.74936421550386,52.248513172836276],[-70.72791430475694,52.25644313548953],[-70.71781652467286,52.27005890841659],[-70.69958551772321,52.279836399630966],[-70.6650233876519,52.284906311865036],[-70.65031816826834,52.282293244282116],[-70.63009576240668,52.290910680087705],[-70.61061389727769,52.29326077268213],[-70.56200387595477,52.31655590137364],[-70.53964302236224,52.307137985702205],[-70.52425560103833,52.306196544022505],[-70.4910412574194,52.31234877252568],[-70.48569609237178,52.30421037237055],[-70.46351276858823,52.308927954112],[-70.45293296229428,52.31933779149998],[-70.37930412658287,52.3386515163288],[-70.33997023038374,52.33936632890102],[-70.29183464580314,52.348522050651184],[-70.2704967810364,52.36156258696648],[-70.26203818049783,52.373740559390505],[-70.26352748209987,52.38602775037278],[-70.25102779838396,52.40229556876347],[-70.23537420872618,52.40708218442879],[-70.23171577874227,52.41752898341803],[-70.26553456275822,52.41228992292574],[-70.27352117951794,52.41664160097948],[-70.25904078904952,52.45408551837134],[-70.22911952680623,52.46469923759591],[-70.21974434531275,52.47303721376338],[-70.21545112512058,52.48992049647596],[-70.19160315784114,52.512651936399074],[-70.17638337093794,52.54499382577792],[-70.1579984303803,52.55825096348383],[-70.17098105706359,52.5655885846976],[-70.1752847277401,52.594419275674674],[-70.1478866503253,52.60807136778972],[-70.13604842698378,52.620121221126674],[-70.0797853762446,52.650169905728646],[-70.05295272540528,52.65370337795961],[-70.04919167545933,52.68549210714589],[-70.02391715732794,52.69636036173543],[-70.02476184740031,52.91883026575252],[-70.0000000082574,52.91838484634391]],[[-73.92338059691866,50.42199708971888],[-73.92791630468768,50.42871458887617],[-73.92249792004453,50.45090549909512],[-73.89882558434427,50.46749590423016],[-73.89379629246504,50.4860878048443],[-73.93754629642383,50.48549998702071],[-73.92562069385232,50.50232068522185],[-73.93940558007297,50.517328801486904],[-73.92311719260199,50.53451620614536],[-73.93094971477134,50.551920196263744],[-73.88037939294466,50.603414087147385],[-73.8805944029772,50.62131328651666],[-73.86700569474786,50.63304440473608],[-73.83709928639409,50.64557749162466],[-73.80926599778468,50.6768601996578],[-73.79800349965824,50.66790821212679],[-73.79577258581256,50.64831490593288],[-73.81325288759861,50.62960520565931],[-73.80671799258258,50.618025009328115],[-73.82713189922538,50.6049782996745],[-73.8394955095521,50.58956921017594],[-73.8434898981849,50.57565819152838],[-73.85647779442783,50.55867199795239],[-73.8593583090968,50.54028660969089],[-73.87217430713149,50.51772489343234],[-73.85613187978724,50.50899130205567],[-73.87537458493087,50.46784370315381],[-73.86537300719023,50.447700398916425],[-73.8777578536441,50.42184500498128],[-73.92338059691866,50.42199708971888]],[[-73.8777578536441,50.42184500498128],[-73.85447171090463,50.43598330629856],[-73.85549150849184,50.44809059649304],[-73.84576880212424,50.46644290561929],[-73.82639620359969,50.46112388146023],[-73.81315671160806,50.46599581244249],[-73.79588871678405,50.49102590339489],[-73.82150459604969,50.486022109124725],[-73.81776390798048,50.52708351043894],[-73.81205398957904,50.53170209272805],[-73.8275510987546,50.54732109031173],[-73.82070900097175,50.56621120079499],[-73.80982277901887,50.576516801125535],[-73.81402358175568,50.59250860667554],[-73.77815780163989,50.61307090837874],[-73.77873120769708,50.62881178926671],[-73.75540768545473,50.651988499181606],[-73.74993540351446,50.66538698691822],[-73.73515911474134,50.672196501560784],[-73.7157914074212,50.70618130047368],[-73.69398628247254,50.71246779458529],[-73.68091538566237,50.74149140950287],[-73.66451091714048,50.742180996254966],[-73.6549752013661,50.759275397126096],[-73.66272090727584,50.769423693880206],[-73.64664499778596,50.801342092812554],[-73.48992127839554,50.75742838135032],[-73.34198678309244,50.71416809687795],[-73.38093767403247,50.66792700164544],[-73.39205549531962,50.66100561754974],[-73.4066679862043,50.64586965131027],[-73.43631744287445,50.62626028296852],[-73.43880603646018,50.60921607796825],[-73.45453133267958,50.59866560349041],[-73.46787883753194,50.580915495659355],[-73.49399892339376,50.56885490683256],[-73.5195421762044,50.55021594030859],[-73.52943763360429,50.53839933960458],[-73.56766066449627,50.51997956477774],[-73.5801481404234,50.50438022413183],[-73.57967044951383,50.49446010663643],[-73.6057146912937,50.46293895345413],[-73.6501763278421,50.428479552641384],[-73.6699979442348,50.424126973376524],[-73.67656923406102,50.41349951904279],[-73.6792932197511,50.38757762437531],[-73.70297784032691,50.37085947799129],[-73.7229454565704,50.352178182732864],[-73.77223998658765,50.332374522181745],[-73.80776891132976,50.338582266613905],[-73.83248666827939,50.36750301402891],[-73.83146150786789,50.378019136804205],[-73.8777578536441,50.42184500498128]],[[-73.92338059691866,50.42199708971888],[-73.92180267512367,50.38104864859415],[-73.91368379544652,50.366981389232144],[-73.92079429657254,50.35880118890122],[-73.90752510362196,50.35035209436249],[-73.90950221572723,50.3416871023001],[-73.89718281494005,50.31829949187198],[-73.88851748883319,50.314687504285864],[-73.89399660599025,50.267493588258205],[-73.87243519938747,50.26909308914289],[-73.86155913566388,50.2612578006931],[-73.85964233615522,50.217244596545484],[-74.01700815272302,50.218902099755155],[-74.11913813210347,50.24405948265422],[-74.22735143826476,50.27303140424594],[-74.2152640778751,50.28432030704518],[-74.18014089157947,50.30300770516599],[-74.16413561007381,50.330055100565914],[-74.14060762160395,50.33831489230988],[-74.12495287574158,50.368978206234466],[-74.1261933912053,50.38312310834267],[-74.11798969712369,50.399988904822116],[-74.09235081487023,50.422887007983235],[-74.03858850288151,50.464820312665296],[-73.9934835852439,50.484844786740396],[-73.98244988958626,50.48623060313033],[-73.97001640296757,50.4687405891393],[-73.94511890381328,50.45156749495085],[-73.93528400570537,50.424830310146305],[-73.92338059691866,50.42199708971888]],[[-76.48546430431448,49.677506486918965],[-76.47915449477657,49.65655439912839],[-76.49498599651142,49.65616959637832],[-76.48546430431448,49.677506486918965]],[[-78.77625308104702,51.49307970249101],[-78.80689151587983,51.50000001245671],[-78.82749971399255,51.51555618866979],[-78.81504729224254,51.53548460715303],[-78.82315809413994,51.56486955585622],[-78.72006718056801,51.56383340988055],[-78.72038897399008,51.505977477077316],[-78.77625308104702,51.49307970249101]],[[-77.07350029744816,49.01994500664048],[-77.05728729899334,49.032379435119864],[-77.01614337298375,49.04952703536972],[-77.03630517479915,49.07129683290259],[-77.03647176119374,49.09469156262452],[-77.00483551959721,49.0949114256917],[-76.99579488270561,49.07824131831375],[-76.95094565180787,49.06388148919534],[-76.94797157859628,49.053101750006995],[-76.96138666365309,49.046384102919184],[-76.91513276035901,49.014232541612444],[-76.93740898782232,49.00229669872469],[-76.98056752834621,49.031588786945576],[-77.00991755631068,49.01221506137488],[-77.0259832805696,49.01283748159487],[-77.03500832198257,49.00469985134876],[-77.05527649772263,49.004206400442],[-77.07350029744816,49.01994500664048]],[[-74.91639865824487,49.80621644179387],[-74.73470650074051,49.80630259500568],[-74.73539092087798,49.76328762074941],[-74.9151846469472,49.759595988362285],[-74.91639865824487,49.80621644179387]],[[-78.38244750382503,52.27243628458675],[-78.38193978667493,52.23556201764013],[-78.41098071511055,52.23663541184686],[-78.45249889976516,52.259862102217596],[-78.52323748303753,52.256201692024355],[-78.5355923138751,52.25800310156343],[-78.5717725991216,52.2506274897149],[-78.5546561908551,52.26909130921147],[-78.56078089810424,52.28020229823006],[-78.5499823835844,52.29454612033308],[-78.53118374844698,52.29797625933622],[-78.50903795989916,52.313055986450195],[-78.46091285847915,52.31474132712869],[-78.38244750382503,52.27243628458675]],[[-77.85385671284149,49.81140966308885],[-77.79052481975488,49.81045013127876],[-77.79136737784587,49.784496739261584],[-77.76921849294085,49.783877182561525],[-77.76998988813233,49.7688903853169],[-77.74450922282442,49.76775094160933],[-77.74517495000569,49.75209099860152],[-77.72830974307708,49.752107062417046],[-77.72911130338571,49.74020216981098],[-77.70094035766677,49.73931956300339],[-77.68882197391108,49.74579922556141],[-77.68911458326866,49.757864546478544],[-77.65481498035962,49.758590118178944],[-77.65429516635373,49.77649918726463],[-77.59982328602051,49.77491577964637],[-77.59818399433735,49.746841895862495],[-77.65633083669063,49.74829396534927],[-77.65872090273413,49.731909698007144],[-77.6704042653584,49.73200412631663],[-77.67111939700868,49.71654098931754],[-77.69502639594366,49.71700272962778],[-77.69466505245911,49.69557823991906],[-77.7159727298746,49.702455323049165],[-77.75569821658381,49.70351005987175],[-77.75661530603693,49.734794798424225],[-77.7891668352436,49.73582937660124],[-77.78901573321104,49.74686498322571],[-77.80969773650799,49.746654752351986],[-77.80935738854568,49.764240962643974],[-77.82325791100958,49.76465917896608],[-77.82311399635579,49.779754895307505],[-77.85549915250522,49.78493970590931],[-77.85385671284149,49.81140966308885]],[[-74.68964378122011,49.99872761336434],[-74.65777330301896,50.011822253251744],[-74.63332793754556,50.03842829152594],[-74.60502640660022,50.03780464671048],[-74.63338953281627,50.010403479664326],[-74.64937777346707,50.003971477586425],[-74.65240511945957,49.979643037959335],[-74.68206000552179,49.95912719517174],[-74.6930534955142,49.94375548796204],[-74.69360791116637,49.91994850438693],[-74.71102449729277,49.905273102837654],[-74.74496328544934,49.89483379681703],[-74.79098638652694,49.91225129096543],[-74.80141632082916,49.90967989474471],[-74.81889651557272,49.919085793027136],[-74.8485125168968,49.92586670515346],[-74.85060831496642,49.93457350201444],[-74.8757542106208,49.92725520077302],[-74.87372118523128,49.945398003970055],[-74.90736970053338,49.96013690804769],[-74.88833099558306,49.97451557609662],[-74.8435518565105,49.96998354752002],[-74.826119935539,49.95412424649764],[-74.79330718151687,49.94724753216696],[-74.77365748943267,49.95513023125122],[-74.75921051264248,49.94791444943193],[-74.69152632443806,49.98930869034378],[-74.68964378122011,49.99872761336434]],[[-76.44680381489013,51.661481609024435],[-76.43966128757458,51.67917238574614],[-76.39564279469306,51.713285310435964],[-76.32966969660107,51.75006622097706],[-76.23644174131269,51.75428533019171],[-76.24550336410279,51.7332914778215],[-76.21557339069643,51.71996598451723],[-76.22227230264889,51.70506808585274],[-76.24233950029718,51.69502928796022],[-76.25924441219999,51.67550669504364],[-76.2741083952194,51.67858490526819],[-76.31557127605159,51.65433880739161],[-76.33402741435052,51.64950611260515],[-76.32710529111704,51.63462160167579],[-76.31449951916794,51.63257159785649],[-76.31252348147521,51.61291959137575],[-76.32736390422129,51.61610905589111],[-76.377252528333,51.608299145653724],[-76.4023949400315,51.60808501026975],[-76.41536248540869,51.62764480690034],[-76.42897460730747,51.632996297362965],[-76.46794669820541,51.638770900304],[-76.44325949010381,51.65317420642445],[-76.44680381489013,51.661481609024435]],[[-78.54068329795695,52.19743260615065],[-78.55405391632367,52.21204431341956],[-78.56090229808734,52.23179980704922],[-78.50640240256612,52.24629620031907],[-78.48900100098267,52.24681859996926],[-78.45046888567333,52.23970160434333],[-78.41846798980455,52.23019489062911],[-78.32060778646513,52.225226985627266],[-78.3064346963448,52.22833901198773],[-78.26100679236971,52.22979510962854],[-78.20722811287558,52.22608921410405],[-78.18458532350405,52.233523794114106],[-78.14928730263192,52.23353629536839],[-78.07848228885736,52.24485199794352],[-78.06693710152292,52.235806902642985],[-78.0404733158708,52.22912990097132],[-78.0000000157078,52.224189244377904],[-78.0000000050786,52.19752809223856],[-77.94374380735793,52.1973947481906],[-77.9416524621802,52.08790472897834],[-78.16808124915173,52.09014057580032],[-78.17098330455282,52.17066196290296],[-78.28810679795522,52.17031280371524],[-78.500000015311,52.167440663874636],[-78.50000002136936,52.15753101787983],[-78.54991101033048,52.15734469494757],[-78.54084340819736,52.18246349492965],[-78.54068329795695,52.19743260615065]],[[-75.98669979879963,49.76889489938822],[-75.9872799912924,49.90894993503606],[-75.88695820166119,49.90705320687015],[-75.67798334634097,49.90636450796441],[-75.68200633665388,49.815085653125294],[-75.72061663867423,49.81702123379352],[-75.742364568707,49.827516248584196],[-75.80588987923531,49.830483146105465],[-75.83255322199855,49.81687643022274],[-75.84968825984087,49.795429594871635],[-75.77907782705275,49.74964869205169],[-75.806131154927,49.74839086047517],[-75.82335032042143,49.74284299398615],[-75.82553109944135,49.72875646770278],[-75.8444841820278,49.72218639990346],[-75.84980503646216,49.71323773726182],[-75.83811507013631,49.699932987409554],[-75.8580067219034,49.687638060991254],[-75.88214740105789,49.68607239148893],[-75.89256689632869,49.665622185748305],[-75.92282551980239,49.666224419591806],[-75.95319968311244,49.67674405469856],[-76.00083063171013,49.676656125791354],[-76.03111931614289,49.685879547937084],[-76.3698717769937,49.688411434946985],[-76.39645941576379,49.663058815419255],[-76.38404108867256,49.70432525601806],[-76.37292647914448,49.71386152745175],[-76.34196895879141,49.71041883369217],[-76.31878257952636,49.71167377732165],[-76.29306325500858,49.70676031820134],[-76.24704143943389,49.709701267862776],[-76.23232387925593,49.71432842744352],[-76.19897493233641,49.71139478314983],[-76.11238653115849,49.71778021892838],[-76.08355435769684,49.709338148134364],[-76.03904331178478,49.703379389048685],[-76.00609100324209,49.70768223276303],[-75.98842093375728,49.701468009927886],[-75.98819595539896,49.689558591437226],[-75.97278505873194,49.691132541139424],[-75.9835824439428,49.692519778506075],[-75.98163835827144,49.71344900255039],[-76.01063408749498,49.71538444114732],[-76.04220624831743,49.71256527754188],[-76.06870008682648,49.7172344510462],[-76.07988216515407,49.72455042543512],[-76.11118882560912,49.73215691532416],[-76.12538904100641,49.721986421880565],[-76.13806827435347,49.728536416434864],[-76.17913672052067,49.72205888297112],[-76.20845915030715,49.72190460388186],[-76.22691551063919,49.72891904860347],[-76.23655015650563,49.72184980292593],[-76.27244749062397,49.72066360034743],[-76.2962273601504,49.715113087641974],[-76.31732315653305,49.718990027459256],[-76.36116731835054,49.72121484653482],[-76.39542627624088,49.726116036197936],[-76.41449386233691,49.721013577298265],[-76.4248069722025,49.70957183280522],[-76.44337914502115,49.709470956784536],[-76.47275688376564,49.69908015765984],[-76.48423162434868,49.71262497575635],[-76.47514206799627,49.71902799749591],[-76.43446142082666,49.71851815472294],[-76.4293203083038,49.73633909657804],[-76.4290904480691,49.77298234918586],[-76.26318554423504,49.771853972613485],[-76.04862845371798,49.77069263465076],[-76.04827468559252,49.76127228118794],[-76.01973330373043,49.76181567823521],[-76.01910036085609,49.75459548171953],[-75.98663563724996,49.75335796575644],[-75.98669979879963,49.76889489938822]],[[-78.91695504654405,51.26340103035997],[-78.90741630722647,51.28053329759631],[-78.90268981562787,51.304555909843074],[-78.87102181820963,51.330072005667404],[-78.8602053031602,51.35721428942417],[-78.88340920078804,51.36360090507661],[-78.89776199259833,51.37798730948897],[-78.89355379768654,51.391783390131394],[-78.86786198660488,51.40747598527912],[-78.8508232164822,51.412627197178004],[-78.81351088911616,51.446944406603535],[-78.77620960467986,51.47593130887383],[-78.74886650936344,51.49035200297989],[-78.69960078203286,51.4864113047954],[-78.6704805091943,51.470166789439396],[-78.62544560802064,51.46353121154034],[-78.58906579568425,51.45145448791416],[-78.5647064085454,51.439631500640765],[-78.5390678781511,51.43252280680037],[-78.52968129079036,51.416889991689196],[-78.5097284837079,51.39885650877599],[-78.49624238921646,51.298888088414095],[-78.6854895500372,51.302768138366254],[-78.68512355092118,51.265142060646184],[-78.68340680413529,51.08775190577131],[-78.71555458676909,51.08422908918691],[-78.74446411562666,51.09447659806918],[-78.75923309929782,51.11604930565051],[-78.79070151591313,51.12737330376365],[-78.79983560846809,51.147722611241214],[-78.84447401079083,51.155489209357924],[-78.85913741228454,51.16331020733261],[-78.86243491024558,51.18581450822117],[-78.87329218961743,51.19632499290114],[-78.9016394977671,51.2058395893579],[-78.91906478213683,51.21958110983167],[-78.92493699119602,51.25107169028802],[-78.91695504654405,51.26340103035997]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.21666284490286,\"lat\":52.34122969140491},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499060\"],\"csd_name_en\":[\"Eeyou Istchee Baie-James\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Gouvernement r\\u00e9gional\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Eeyou Istchee Baie-James\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.62365443795208,61.05870283429345],[-69.53659626146646,61.05612091714297],[-69.53602547675293,61.0301209422611],[-69.49754647524696,61.01051883800029],[-69.55524020514618,61.011146695591414],[-69.5554227667941,61.01994963625304],[-69.63874465263842,61.02058484440995],[-69.64743494177392,61.024329880568544],[-69.67610540305117,61.02333198583283],[-69.67923488280955,61.01302130720361],[-69.65808520336087,61.00038850103857],[-69.67532532305236,60.995457995042294],[-69.68242832508602,60.98365369403338],[-69.66450370973214,60.96862921021245],[-69.68436091142104,60.955213313198456],[-69.66400940119772,60.93000308698869],[-69.63058819096833,60.91291298776198],[-69.63930950371565,60.904904286910664],[-69.63162079540795,60.89213399255285],[-69.6484850184236,60.874456604715554],[-69.68544809022664,60.87216280302175],[-69.73639979414918,60.87435508795019],[-69.74934478237758,60.89573098913145],[-69.7334100060572,60.90905198986023],[-69.75558518641128,60.91697709654859],[-69.77268810919504,60.90365218776615],[-69.78749571090756,60.90377609213443],[-69.80536158763803,60.888623495795],[-69.82720730620524,60.881414206736125],[-69.84664651630929,60.86164610763553],[-69.8692454901705,60.8554602872046],[-69.84261597972217,60.844070795808676],[-69.85729101720989,60.828013611891826],[-69.87938100309363,60.81888450054885],[-69.88212708044902,60.80178269163211],[-69.91292591818667,60.80331540762807],[-69.93375997973399,60.81616728681319],[-69.9626113137879,60.82226260327148],[-69.98715517198258,60.84404550180009],[-70.02134160718138,60.845168309567974],[-70.06034608125498,60.84108359235982],[-70.07442427389478,60.85826289997868],[-70.05470602041993,60.870298005144974],[-70.09091858441725,60.88195338242525],[-70.12824418101944,60.873014589444296],[-70.143993330202,60.88140619218048],[-70.12530159592954,60.89118660493726],[-70.07961047125153,60.88914640376089],[-70.07741140211063,60.898903409024165],[-70.09410589278161,60.92802909427404],[-70.08068353029205,60.93428089096563],[-70.08656319801722,60.961781601451904],[-70.11346620386658,60.95950149341181],[-70.11505489863538,60.98637458935921],[-70.14532818553987,61.00185475119975],[-70.15937454460631,60.99932173039959],[-70.17932121328697,60.977120781867114],[-70.17135861243898,60.972437310326555],[-70.1884671383614,60.955352728366435],[-70.16132758323498,60.951294232005736],[-70.14093893662869,60.911566034161574],[-70.16946225952209,60.875299272072894],[-70.11873524788322,60.83374254488271],[-70.07105288772125,60.80708777659154],[-69.88140777652255,60.78626771522291],[-69.81967866223755,60.824776353521905],[-69.75903087241164,60.82803452619036],[-69.63020876690258,60.82782411983362],[-69.62247877424123,60.824156677595234],[-69.56758704686523,60.75004742326377],[-69.5363044262529,60.75095559832294],[-69.53434127808328,60.75931900259506],[-69.50099929552839,60.76139190541635],[-69.47629430231376,60.77518808926727],[-69.4594046005512,60.772344792821094],[-69.42337700658847,60.78192759165314],[-69.41364741216842,60.791905107351184],[-69.43009610063142,60.80516511290306],[-69.42394661448434,60.81648040297129],[-69.37652422135795,60.808959694987585],[-69.36161791471687,60.819699394177626],[-69.39579490943409,60.84926950271327],[-69.38825399311082,60.86672790760536],[-69.39258249983386,60.8922467950309],[-69.37242831063806,60.91311869034237],[-69.38831679179049,60.92778629257753],[-69.41909351815876,60.92988270451288],[-69.43877580021675,60.93664630873243],[-69.41451798974173,60.946944103747114],[-69.44607757135981,60.95808900824861],[-69.45710298673714,60.98750758450478],[-69.4701658063653,61.00771229824643],[-69.48105880749405,61.0107492145598],[-69.48200973047118,61.0305129958581],[-69.50372891321969,61.068118091035636],[-69.55138281027844,61.079095891031436],[-69.6113874975814,61.07939068515719],[-69.60581510564768,61.07299520658391],[-69.62365443795208,61.05870283429345]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.66618862905925,\"lat\":60.89184002398986},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499889\"],\"csd_name_en\":[\"Quaqtaq\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Terre inuite\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Quaqtaq\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.15661996633087,45.08697020473953],[-75.25902773044889,45.218234865506425],[-75.35318540996224,45.18207449276133],[-75.43532159859535,45.14759430597647],[-75.49592939625244,45.12676079812258],[-75.59498419454133,45.084348201834516],[-75.56157269866392,45.04482239643242],[-75.52163418046224,45.00120258081559],[-75.48560441281718,44.9565106989266],[-75.4018603978703,44.986846606832366],[-75.3671257965233,45.000688708836826],[-75.26541938963187,45.04425629577751],[-75.15661996633087,45.08697020473953]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.37454186778696,\"lat\":45.086707224730915},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3501\"],\"cd_name_en\":[\"Stormont\",\"Dundas and Glengarry\"],\"csd_code\":[\"3501030\"],\"csd_name_en\":[\"North Dundas\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Stormont, Dundas and Glengarry\",\"csd_name_fr\":\"North Dundas\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.47925020874165,43.50384352537428],[-80.49512464376747,43.50926124143936],[-80.46751201663929,43.52031949453961],[-80.48246441237225,43.53057344761736],[-80.62618420668595,43.479747092057906],[-80.57410382246914,43.4326598729146],[-80.54679991374,43.441560690586364],[-80.54112758155195,43.449262955341055],[-80.50521991668423,43.46145099853144],[-80.49576294156526,43.47049245295149],[-80.49797957351045,43.48006479439097],[-80.4810316967787,43.489418411403086],[-80.47925020874165,43.50384352537428]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.54443657582917,\"lat\":43.48061900482361},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3530\"],\"cd_name_en\":[\"Waterloo\"],\"csd_code\":[\"3530016\"],\"csd_name_en\":[\"Waterloo\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Waterloo\",\"csd_name_fr\":\"Waterloo\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-82.46016651881168,42.91196141196957],[-82.4480896136682,42.91243590535565],[-82.45847407704467,42.91712448597468],[-82.46016651881168,42.91196141196957]]],[[[-82.2337078941758,42.93262320094703],[-82.22662723565075,43.14292823467473],[-82.33841352930844,43.16286843978366],[-82.41374124679137,43.011531099537144],[-82.4225819183015,42.999877865346775],[-82.39560730579836,43.00248218855116],[-82.39986169182197,42.98556150510867],[-82.42193015647658,42.98677993981706],[-82.41303359761848,42.97744727817675],[-82.42860144213176,42.95222927824647],[-82.45110176755598,42.9328158316816],[-82.43360510281386,42.922223390374945],[-82.4169061477901,42.92963911604643],[-82.41840800401708,42.93703939772458],[-82.37657269481178,42.936093689494946],[-82.37683628567564,42.92191025599721],[-82.3567124809928,42.92353231132574],[-82.23411526155591,42.92087738963935],[-82.2337078941758,42.93262320094703]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.31454155098567,\"lat\":43.02900267713227},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3538\"],\"cd_name_en\":[\"Lambton\"],\"csd_code\":[\"3538030\"],\"csd_name_en\":[\"Sarnia\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Lambton\",\"csd_name_fr\":\"Sarnia\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.510428984333,42.8053968206672],[-81.50769619533573,42.80771669326512],[-81.487718446905,42.81486507615974],[-81.46128164641505,42.79601079154808],[-81.45895874801138,42.781134988604826],[-81.46522312089328,42.780166446277505],[-81.4579660363459,42.773490455912366],[-81.42876813595237,42.77245220066096],[-81.43636228508066,42.789005706477056],[-81.42425851202525,42.793995970533544],[-81.42353605390885,42.80912519125683],[-81.43567094981316,42.8154832346491],[-81.43384693623706,42.81985065508208],[-81.44097113621214,42.8291298245555],[-81.46065755826824,42.825973407398266],[-81.46866928879517,42.861429906957426],[-81.49148661131663,42.84167988881972],[-81.51546699842248,42.847013689440374],[-81.52140031478515,42.82490579145371],[-81.5405828873521,42.80802180989495],[-81.53455600136996,42.80348229169259],[-81.53135430696831,42.80109043428904],[-81.52875369541547,42.799152789132485],[-81.52584406409542,42.79695736412628],[-81.4728754259932,42.756869393830414],[-81.48677105229942,42.77747387823578],[-81.48141174583344,42.78382226260658],[-81.510428984333,42.8053968206672]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.47855583032602,\"lat\":42.81118856351009},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3539\"],\"cd_name_en\":[\"Middlesex\"],\"csd_code\":[\"3539017\"],\"csd_name_en\":[\"Chippewas of the Thames First Nation 42\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Middlesex\",\"csd_name_fr\":\"Chippewas of the Thames First Nation 42\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.42308567190115,43.72699397528854],[-81.53306691772096,43.77143719211583],[-81.55724009154434,43.75609264869257],[-81.57418794595483,43.755216392133164],[-81.57182199744197,43.74092548915445],[-81.55185525898408,43.73537748611196],[-81.55831444310881,43.71732988591002],[-81.59043095136282,43.69152054074224],[-81.58150208469017,43.68118014260406],[-81.60121313793854,43.66283588804609],[-81.6212153999272,43.6859279489823],[-81.60807848012264,43.70007600767238],[-81.62783579869233,43.71751839912709],[-81.63550706638789,43.709352267820606],[-81.66701875401225,43.72401789612622],[-81.66885188714825,43.73757169026291],[-81.68503474980676,43.736933936013344],[-81.69062781071034,43.72170653932066],[-81.72368163936343,43.72236770239548],[-81.7321868495875,43.73112784352205],[-81.73048476658654,43.74845618532045],[-81.73254138173151,43.74985599341958],[-81.7396889795356,43.73614383670417],[-81.7416870401049,43.7045872360316],[-81.73490520840812,43.6732446416823],[-81.72204721734394,43.54858699188377],[-81.70710101086584,43.548915080974574],[-81.70793683052207,43.572138650763854],[-81.6901802350953,43.56558747079887],[-81.67484283752252,43.57411715797297],[-81.65852376165071,43.56878724238711],[-81.63930184233755,43.55507033934372],[-81.61303003315692,43.553255807053745],[-81.60075560833295,43.54772485268871],[-81.58063355528805,43.55618919665452],[-81.58717465857595,43.582114891689734],[-81.56693773859753,43.581721853480836],[-81.54632369850916,43.59300540933025],[-81.5341452429517,43.60553756404589],[-81.52827611565795,43.61218399356274],[-81.43687999238956,43.572492401091964],[-81.33617940867715,43.6912546933788],[-81.42308567190115,43.72699397528854]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.55795919344504,\"lat\":43.65665760815923},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3540\"],\"cd_name_en\":[\"Huron\"],\"csd_code\":[\"3540025\"],\"csd_name_en\":[\"Central Huron\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Huron\",\"csd_name_fr\":\"Central Huron\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.33223341243446,46.04173733429746],[-77.3623793455783,46.05948608742354],[-77.3896296178567,46.06833597658921],[-77.44187511521552,46.09330891925701],[-77.51154135263488,46.129671442844405],[-77.52767072237077,46.111503678451655],[-77.49935779934954,46.091936713486476],[-77.49566308241499,46.08555870027389],[-77.46423632182082,46.073047773486955],[-77.43058900542312,46.013159566119576],[-77.37611463854809,46.02769227385418],[-77.33223341243446,46.04173733429746]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.43124085769263,\"lat\":46.06548579432647},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3547\"],\"cd_name_en\":[\"Renfrew\"],\"csd_code\":[\"3547096\"],\"csd_name_en\":[\"Deep River\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Renfrew\",\"csd_name_fr\":\"Deep River\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.50234392980747,45.771348184795215],[-77.58226552288389,45.918566044500466],[-77.6357888897368,46.01401816999706],[-77.66193051679932,46.05724335820448],[-77.6920302741319,46.11326386570681],[-77.89041399289454,46.06019738345164],[-77.91990558599096,46.11262538656084],[-78.08663104595907,46.0670407004334],[-78.132956645262,46.153015580747336],[-78.3186423176483,46.103620837179214],[-78.32823285282632,46.12145373565849],[-78.51297812207459,46.0716844384657],[-78.589353055098,46.21212205545526],[-78.76099772266706,46.16508889476955],[-78.79838123729115,46.234119643637435],[-78.97750994657781,46.187811237489036],[-78.98708639418093,46.20527649511591],[-79.09849818028894,46.17450782099705],[-79.15775050035289,46.15957663278604],[-79.09365732454076,46.03984969330692],[-79.23342415073076,46.00089831015578],[-79.25768678035968,45.9940771364959],[-79.22797387241012,45.94209414866765],[-79.19062755313179,45.87167746525499],[-79.1953155341278,45.87051897045864],[-79.15377409939472,45.796011549929034],[-79.13046644297049,45.75163894304851],[-79.06349443552902,45.77001215783654],[-79.04816191540077,45.75261694860938],[-78.9281738723487,45.5327136734777],[-78.92489615501964,45.533672985208085],[-78.85986447943445,45.41462434995936],[-78.54634574958105,45.49839941149882],[-78.31481451502296,45.56107503100713],[-78.27336463560346,45.487071077925044],[-78.23885985992177,45.58171033584323],[-78.05931183120056,45.62975749855293],[-78.05155236040017,45.615428201680416],[-77.84116678693289,45.67253313939467],[-77.6738333052384,45.71735630301182],[-77.49826478284974,45.76427344898628],[-77.50234392980747,45.771348184795215]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.44150474718319,\"lat\":45.85401038976651},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3548\"],\"cd_name_en\":[\"Nipissing\"],\"csd_code\":[\"3548091\"],\"csd_name_en\":[\"Nipissing\",\"Unorganized\",\"South Part\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Nipissing\",\"csd_name_fr\":\"Nipissing, Unorganized, South Part\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.34350774421802,47.0000668167902],[-79.35378336357881,47.01443705898143],[-79.3767462731262,47.02885473796754],[-79.41019500205252,47.059845863050185],[-79.51960641729003,47.05968544061401],[-79.63179815460774,47.058460315644126],[-79.6315239106506,46.9719100819734],[-79.62636762117076,46.798716869594166],[-79.75715711996189,46.79855027047429],[-79.75850834080424,46.71052946002969],[-79.88469493301514,46.711720221919585],[-79.8837852760169,46.798918231921654],[-80.22729003672139,46.79880584980279],[-80.22369870337039,46.97243671999028],[-80.29127414738213,46.97222393195918],[-80.28841876718616,46.93851783891914],[-80.29171044389054,46.90806725505937],[-80.29161303366003,46.711312034429135],[-80.03736658950893,46.7079589154774],[-80.03972061585979,46.6249198650824],[-79.75567963207023,46.62429767473842],[-79.75934160728652,46.48360428759525],[-79.75873324608574,46.44711347471116],[-79.63370262993043,46.44749510854566],[-79.63297180468837,46.37292964265352],[-79.63212031125659,46.35027058413939],[-79.62994859375408,46.21570146607403],[-79.51337049798676,46.22197138665197],[-79.49999999016097,46.22282554006117],[-79.50106639415489,46.308746648112084],[-79.50267570686631,46.325478678966334],[-79.5051679536341,46.44744179047062],[-79.2574005422023,46.44797516095176],[-79.25595889576567,46.31312812213877],[-79.23879641411375,46.30764665666058],[-79.215997072475,46.302926074232],[-79.17966070753974,46.301005074912055],[-79.16391244767638,46.31077963907486],[-79.17051043667423,46.32313208944728],[-79.13608898638658,46.34094323956322],[-79.08987066536432,46.317116754366744],[-79.07252303164968,46.30498885080251],[-79.04044887132811,46.30243015783861],[-79.02665211212914,46.289222803844396],[-79.0006735060049,46.28086482991717],[-78.97966592510232,46.27922684065053],[-78.97168395492224,46.30253751956661],[-78.93264690920913,46.303286261163],[-78.93520242912733,46.44116307820229],[-78.8529091443316,46.44118357616527],[-78.89272200030157,46.46191530858099],[-78.91709671216772,46.48216580304063],[-78.94654842011022,46.51328195980553],[-78.95551253218213,46.516725496024144],[-78.98987072497218,46.5488555267845],[-78.99720659469776,46.565942342478316],[-78.99567133092629,46.59089852013571],[-79.00916768006542,46.60440605089677],[-79.0152507391488,46.626852292940676],[-79.02738908091858,46.63818997011222],[-79.05314652587944,46.649939792908],[-79.07187724239348,46.66417224776574],[-79.09432289146402,46.68829571288064],[-79.09934454496373,46.70886695126014],[-79.12113641164802,46.73441798458416],[-79.12319442751385,46.744165319769564],[-79.14161182007261,46.777229974535054],[-79.14314277502814,46.78604163017189],[-79.17082153696376,46.82521851096522],[-79.21400810871306,46.83323556127915],[-79.23875242832389,46.862603075970775],[-79.27683105909118,46.895258267250185],[-79.32966575029461,46.957186777153495],[-79.33753040750089,46.97092472589467],[-79.34350774421802,47.0000668167902]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.4804484269425,\"lat\":46.6469641834022},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3548\"],\"cd_name_en\":[\"Nipissing\"],\"csd_code\":[\"3548094\"],\"csd_name_en\":[\"Nipissing\",\"Unorganized\",\"North Part\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Nipissing\",\"csd_name_fr\":\"Nipissing, Unorganized, North Part\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.34253361323249,45.42417700237799],[-79.3800273599541,45.494399050989536],[-79.40685417583393,45.54092041108915],[-79.56270690040397,45.49895430584946],[-79.66369484286307,45.47480607279709],[-79.59788257551777,45.35437754721907],[-79.50097758757543,45.38032930025516],[-79.47473648405429,45.38886190310218],[-79.34253361323249,45.42417700237799]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.50297574833523,\"lat\":45.44809571972284},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3549\"],\"cd_name_en\":[\"Parry Sound\"],\"csd_code\":[\"3549012\"],\"csd_name_en\":[\"McMurrich\\/Monteith\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Parry Sound\",\"csd_name_fr\":\"McMurrich\\/Monteith\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-80.3047933808189,45.47592672419575],[-80.18742033116584,45.50757461887715],[-80.20844155964393,45.549899185544525],[-80.26267607871465,45.53631058434845],[-80.2618263411914,45.50025377317787],[-80.31744670116899,45.501438963349436],[-80.3047933808189,45.47592672419575]]],[[[-79.58621894297849,45.90574953716056],[-79.63883285135654,46.00060484426816],[-79.65474841736265,46.02374919621872],[-79.68226402534032,46.07432044455481],[-79.61250854988994,46.09342306365142],[-79.66241051478366,46.18308436306893],[-79.66148461069416,46.21386369165786],[-79.79885192700533,46.206259404082395],[-79.83694744776156,46.20561261891622],[-79.8920911925205,46.19082734908085],[-79.94644725984593,46.170149415128286],[-79.9950506529994,46.14745694365765],[-80.01538236196915,46.14473647564317],[-80.02915991716863,46.15183383888286],[-80.05266271389716,46.150032907840334],[-80.07611101162256,46.14593429480686],[-80.08542757691474,46.14347618916248],[-80.11146484085637,46.14773435679609],[-80.11799689693603,46.13959061727953],[-80.11314181975932,46.13561142997344],[-80.08563192388698,46.126592726915874],[-80.09789760537849,46.115762528324424],[-80.12501467264232,46.1179172172142],[-80.1620033590736,46.1105706086408],[-80.17579653609049,46.1052217926626],[-80.16642609815156,46.097589676002784],[-80.15232245610086,46.09194999821285],[-80.14275945372728,46.09211489264851],[-80.14263600274474,46.08221501561102],[-80.14908646979273,46.07252985019954],[-80.15922587354608,46.07598773498571],[-80.1842365199845,46.0801531011272],[-80.17424600673152,46.06723148714389],[-80.18616048169679,46.06026337069207],[-80.20131564617,46.06532556328401],[-80.20799074188233,46.0548528994435],[-80.2492314137236,46.04859632811766],[-80.29706782592595,46.03626555181199],[-80.32246311337536,46.03922407204329],[-80.36191068679662,46.03157570052023],[-80.41363497782655,46.03701427826844],[-80.47512735276032,46.036654214172316],[-80.51538336997153,46.03354082315726],[-80.5211673670063,46.0246994458474],[-80.54037670581423,46.019727536424554],[-80.5830992119059,46.018398212700575],[-80.55624637948722,45.892023626641205],[-80.56232841277726,45.87208801748669],[-80.55794612581772,45.85017541638671],[-80.66815554094295,45.79753285221175],[-80.67781915711225,45.81184171114031],[-80.71454123699695,45.821867302292745],[-80.72521094041461,45.832910502647245],[-80.71202642940436,45.840330601205444],[-80.71045414590068,45.85805809018224],[-80.73389073228631,45.8571161100276],[-80.73609480697095,45.87161654922429],[-81.07548063605938,45.865499752933324],[-81.07346197653837,45.640765554959465],[-81.07237356858504,45.51873827181719],[-80.86221075065424,45.56948018050713],[-80.65103355629017,45.62045433078657],[-80.58559964468331,45.63788540684151],[-80.53852386903898,45.656103792241],[-80.5055301046681,45.66106272377478],[-80.50573312040353,45.679451176803035],[-80.46529410977871,45.69828147186602],[-80.46533282788042,45.67112506649185],[-80.41903536310517,45.68388977993332],[-80.39740085508718,45.65006281764774],[-80.28087762490229,45.68234533154126],[-80.29818936208251,45.714152455751346],[-80.2720732824102,45.71985074672126],[-80.10189140012253,45.76636558531729],[-79.89089525402785,45.82539562596546],[-79.75946292007316,45.86026081149538],[-79.69197775313584,45.7379970414555],[-79.52083486263909,45.78416878483525],[-79.54508790433819,45.82623940319599],[-79.58621894297849,45.90574953716056]],[[-80.5658298435522,45.996336200979634],[-80.54327823120758,45.98258549774873],[-80.52565600228453,45.98483071693666],[-80.52490518012242,45.95583565290307],[-80.5660678186949,45.95474406724585],[-80.5658298435522,45.996336200979634]],[[-80.50411475696819,46.03249389928486],[-80.48574543876684,46.02766080119686],[-80.490995043027,46.013120608866934],[-80.47792604164015,45.994789796039214],[-80.48370125467177,45.98890230083143],[-80.52699893175617,45.9900708066125],[-80.54288503868129,46.00533720734304],[-80.5245419348061,46.00860159903718],[-80.5338648234704,46.01975580838679],[-80.51398105771786,46.024309013186055],[-80.50411475696819,46.03249389928486]],[[-80.40688487000463,45.7635684770884],[-80.39896590773932,45.743158764872305],[-80.3985905334631,45.725951717136084],[-80.52173276797087,45.72663388448249],[-80.52304340885138,45.77058942983861],[-80.47871604408593,45.7729521141142],[-80.46652784606641,45.767009296973974],[-80.41652400844288,45.78013134209264],[-80.40688487000463,45.7635684770884]],[[-80.0300517920829,46.151187562910046],[-80.01746865081778,46.14454630210682],[-80.0100028321991,46.12618441212394],[-80.02376142993228,46.124043704374294],[-80.07857672692039,46.097657707923716],[-80.07643692846183,46.090989108721196],[-80.04317262866,46.10632301094397],[-80.01926434753997,46.10830870977295],[-79.99743244722971,46.099155012875],[-79.92743003729997,46.083588212132774],[-79.91381324770461,46.07619611193619],[-79.93377306444232,46.067325869438434],[-79.93286043791369,46.0541716048921],[-79.95270904266032,46.042960597363106],[-79.98060032387046,46.037334309330056],[-80.00239473172604,46.03844439382665],[-80.02371234194361,46.02632449576321],[-80.04952184726427,46.0289449936473],[-80.05816103549336,46.024687289930235],[-80.12397405187527,46.03227386071091],[-80.19762173778346,46.04803630418977],[-80.20053064646008,46.05336690095424],[-80.17248014315442,46.065398800548586],[-80.18275923956797,46.078550207625725],[-80.15087561527962,46.07266180697278],[-80.14857973026659,46.06999339207006],[-80.14515942195376,46.07292901021482],[-80.1403212341012,46.08137099570977],[-80.13985436205165,46.09310389588273],[-80.15032284348582,46.09206609093257],[-80.17452592805206,46.10509589118689],[-80.14035814662594,46.11479840915217],[-80.0969302567328,46.11458071262314],[-80.08276114919644,46.12618651239554],[-80.11321812637028,46.13588578914697],[-80.11047739767488,46.147546747709896],[-80.08518379024089,46.14076836766872],[-80.05524186869962,46.1495354494427],[-80.0300517920829,46.151187562910046]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.29823634809306,\"lat\":45.85889212596673},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3549\"],\"cd_name_en\":[\"Parry Sound\"],\"csd_code\":[\"3549096\"],\"csd_name_en\":[\"Parry Sound\",\"Unorganized\",\"Centre Part\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Parry Sound\",\"csd_name_fr\":\"Parry Sound, Unorganized, Centre Part\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.86727234171109,45.95010403394344],[-82.8722378578714,45.962048150863815],[-82.89334328904884,45.95841489358166],[-82.88851327300227,45.94950891739797],[-82.89454968179747,45.93110587821377],[-82.86864789111179,45.9308265819966],[-82.86727234171109,45.95010403394344]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.87976859795391,\"lat\":45.945221596936605},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3551\"],\"cd_name_en\":[\"Manitoulin\"],\"csd_code\":[\"3551100\"],\"csd_name_en\":[\"Zhiibaahaasing 19A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Manitoulin\",\"csd_name_fr\":\"Zhiibaahaasing 19A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.29248159693374,46.56583185535649],[-80.41874271071538,46.56591730998605],[-80.41888490041308,46.580704102726514],[-80.56614765340477,46.58193751248318],[-80.5667751268292,46.53702544432866],[-80.67795134338779,46.53684955183253],[-80.66727014561462,46.543511494869534],[-80.66092992818498,46.56259889967647],[-80.66133813482952,46.580873595948596],[-80.64954894252399,46.5874842903746],[-80.6599278982603,46.62473175541854],[-80.6940278548714,46.62476813874665],[-80.69254234489583,46.5115393592602],[-80.69274634898089,46.45006302580319],[-80.60949160695247,46.44995866809286],[-80.60959663472342,46.39376400810796],[-80.5815567310695,46.415408314571124],[-80.56705728585686,46.41394483213366],[-80.56665057197169,46.45012012037206],[-80.41583839746535,46.449826107853305],[-80.41613370004228,46.37004149963203],[-80.40553684191181,46.36231368081695],[-80.30698560748,46.36292729310802],[-80.29064850832688,46.362922191374174],[-80.29331808434681,46.507420171909395],[-80.29248159693374,46.56583185535649]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.47151647933985,\"lat\":46.491017376457606},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3552\"],\"cd_name_en\":[\"Sudbury\"],\"csd_code\":[\"3552013\"],\"csd_name_en\":[\"Markstay-Warren\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Sudbury\",\"csd_name_fr\":\"Markstay-Warren\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.43335955969447,51.40131494743849],[-80.67240149825003,51.399158269478754],[-80.86734328649322,51.40089585121119],[-80.8655025303004,51.31006284346617],[-80.86682677858884,51.141268520488744],[-80.82556347344233,51.14072417244798],[-80.77256868523874,51.136265819121284],[-80.70834349472696,51.15797146952248],[-80.67202537820295,51.17998025613355],[-80.64747447604672,51.24508371671924],[-80.6019981421936,51.2721076165328],[-80.55098522561404,51.29722849617082],[-80.46691125138538,51.319103160037926],[-80.41804080311199,51.34437698797753],[-80.40344678105005,51.35353821607599],[-80.41596204165046,51.3729543103107],[-80.40717361090108,51.401646458988445],[-80.43335955969447,51.40131494743849]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.69558904875241,\"lat\":51.297847979887685},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3556\"],\"cd_name_en\":[\"Cochrane\"],\"csd_code\":[\"3556106\"],\"csd_name_en\":[\"Moosonee\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town \\/ Ville\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Cochrane\",\"csd_name_fr\":\"Moosonee\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-83.64463599268808,46.35363840915643],[-83.64402380181015,46.38657979526627],[-83.65146930074596,46.43138537258127],[-83.6505493421515,46.44029277419475],[-83.77340202876528,46.43691074720118],[-83.83875672220604,46.43919044926325],[-83.83856895786907,46.43122810562793],[-83.83602052401376,46.364160792258275],[-83.8330951259891,46.362760667731244],[-83.83226573850173,46.26919262023127],[-83.75394410694771,46.23244751083499],[-83.7278586812401,46.179445800270905],[-83.7268779825717,46.108704331021876],[-83.65499984831656,46.121694412728665],[-83.64095879852306,46.11900963399611],[-83.65267160444783,46.272543338916215],[-83.65754572238761,46.35340311255289],[-83.64463599268808,46.35363840915643]],[[-83.76552281635797,46.30796669030512],[-83.7525740827305,46.29654088724189],[-83.76581514830205,46.27508500999001],[-83.80058555217613,46.27542979463362],[-83.80152923698434,46.307575811399836],[-83.76552281635797,46.30796669030512]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-83.72746886756491,\"lat\":46.304470412635595},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3557\"],\"cd_name_en\":[\"Algoma\"],\"csd_code\":[\"3557019\"],\"csd_name_en\":[\"Plummer Additional\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Algoma\",\"csd_name_fr\":\"Plummer Additional\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-88.99999999446977,48.11322107727788],[-89.00000001160466,48.2468362165612],[-89.04317625840312,48.24930471541004],[-89.04966144735957,48.26560971876885],[-89.08186913406584,48.27190503253716],[-89.11004445896528,48.26748641523036],[-89.06516123862737,48.357655564868075],[-89.10876227157452,48.357800553176126],[-89.10940430187381,48.31771774586432],[-89.2083950010477,48.318781121160264],[-89.19955421683015,48.306925272740216],[-89.21378038831138,48.3103761610863],[-89.2387639664974,48.304271925767665],[-89.23585325333725,48.286720709495235],[-89.25634341896696,48.26667039664865],[-89.31992027659187,48.27786892449316],[-89.33668426979085,48.28985258821428],[-89.38697330657337,48.289308639491296],[-89.52554952379307,48.2892596832244],[-89.52523115831352,48.325835594843774],[-89.63251540905426,48.3253908096681],[-89.63225860858321,48.31324603104576],[-89.6361163305817,48.30016294539773],[-89.63664749611434,48.224372195676956],[-89.76696090675038,48.22532363187208],[-89.76579385919584,48.15868009860875],[-89.70197972695948,48.15850702423072],[-89.70198132573306,48.105961397747045],[-89.70519269698272,48.091684703169825],[-89.70939044790936,48.01037616268825],[-89.70258809472547,48.00632171660917],[-89.67366864422588,48.011543220125475],[-89.65302765995322,48.004333311801126],[-89.62659117446667,48.01155638060023],[-89.58608256814281,48.00177788241849],[-89.56466656617009,48.002611120123866],[-89.48936096600167,48.01455563146498],[-89.33741654470792,47.974083332066385],[-88.99999999446977,48.11322107727788]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-89.37649773167276,\"lat\":48.1562349733509},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3558\"],\"cd_name_en\":[\"Thunder Bay\"],\"csd_code\":[\"3558001\"],\"csd_name_en\":[\"Neebing\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Thunder Bay\",\"csd_name_fr\":\"Neebing\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-87.2318988112819,48.756963759265574],[-87.23210710632193,48.82457830270859],[-87.23213522027788,48.83367232549087],[-87.29611623867913,48.83438854361096],[-87.29587147034148,48.79508647099317],[-87.2893560347027,48.78996332990088],[-87.30255623957542,48.768554829293166],[-87.26962485925998,48.75890301773871],[-87.26299293922276,48.76824722223074],[-87.2318988112819,48.756963759265574]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-87.26371452720774,\"lat\":48.798207392172515},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3558\"],\"cd_name_en\":[\"Thunder Bay\"],\"csd_code\":[\"3558051\"],\"csd_name_en\":[\"Schreiber\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Thunder Bay\",\"csd_name_fr\":\"Schreiber\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-85.63790792841517,48.69315691448618],[-85.64353032749014,48.690254424083854],[-85.64206225783353,48.688422673141645],[-85.63774274439446,48.69122071588695],[-85.63790792841517,48.69315691448618]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-85.6404387655441,\"lat\":48.69073289581366},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3558\"],\"cd_name_en\":[\"Thunder Bay\"],\"csd_code\":[\"3558061\"],\"csd_name_en\":[\"Pic Mobert South\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Thunder Bay\",\"csd_name_fr\":\"Pic Mobert South\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-90.61712949829582,50.43626191796909],[-90.63556424523131,50.4279915225319],[-90.65962333782983,50.42496122227358],[-90.69187277870887,50.42585752849852],[-90.6920755651552,50.39055803469885],[-90.64676870744108,50.38876118186122],[-90.64121359128416,50.40362069948033],[-90.61712949829582,50.43626191796909]]],[[[-90.63052044474013,50.46846602014231],[-90.77185117923098,50.46878591102328],[-90.77370744025671,50.43140212300122],[-90.76836825757887,50.42657131698344],[-90.72926504293554,50.42228512291045],[-90.69903183531353,50.429066615780904],[-90.66457152772428,50.43142002548884],[-90.655796160718,50.43744993452461],[-90.63233223282498,50.438291493096685],[-90.63052044474013,50.46846602014231]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-90.6948159510839,\"lat\":50.43809300243124},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3558\"],\"cd_name_en\":[\"Thunder Bay\"],\"csd_code\":[\"3558080\"],\"csd_name_en\":[\"Ojibway Nation of Saugeen (Savant Lake)\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Thunder Bay\",\"csd_name_fr\":\"Ojibway Nation of Saugeen (Savant Lake)\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-92.26233179549251,50.10884718085647],[-92.27792863564648,50.10878002137055],[-92.27593792224053,50.07067046465995],[-92.27592218800325,49.97346263472795],[-92.11466179512857,49.97352770389521],[-92.01516323499972,49.97201148676403],[-92.01987012216665,50.03543655609726],[-91.90252205096985,50.035594761501976],[-91.86325895473715,50.03050600011114],[-91.86121974833188,50.02201021254883],[-91.82828035614148,50.01565906849513],[-91.7641075763163,50.01983714281102],[-91.75434509524767,50.0231763765903],[-91.72259037573755,50.02126543349686],[-91.7248032903635,50.13516182536793],[-91.83453625919103,50.13546685398639],[-92.13799147103083,50.13396028628193],[-92.13709382454289,50.12677652597457],[-92.13545013891556,50.11394816589134],[-92.18025443601572,50.1121827208163],[-92.2177568316427,50.11358342522546],[-92.2521020485404,50.10229722527547],[-92.26233179549251,50.10884718085647]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-92.0165449492824,\"lat\":50.06283450774422},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560034\"],\"csd_name_en\":[\"Sioux Lookout\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Sioux Lookout\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-85.99005370273743,51.647018360476764],[-85.96419943668215,51.637920431623996],[-85.90008652057527,51.62241642017924],[-85.8500260747905,51.628961320197895],[-85.84812174188177,51.70585316223561],[-85.98773900017879,51.7080943712777],[-85.99005370273743,51.647018360476764]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-85.9163755190963,\"lat\":51.668574095939775},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560052\"],\"csd_name_en\":[\"Marten Falls 65\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Marten Falls 65\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-96.93427008206919,49.236766492872064],[-96.93963912364414,49.21465528659613],[-96.9623404240204,49.19985895577282],[-96.93777548052601,49.192541421071866],[-96.9380647278454,49.20733142706843],[-96.9167898141559,49.20731330899019],[-96.91681211068797,49.236829988325574],[-96.93427008206919,49.236766492872064]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-96.9331261940202,\"lat\":49.2155282501407},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4602\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4602026\"],\"csd_name_en\":[\"Roseau Rapids 2A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Roseau Rapids 2A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-99.64348931058638,49.709149998586284],[-99.8087444966448,49.70927552558916],[-100.05276752540733,49.709679847323955],[-100.05313871431458,49.543466207929285],[-100.05384618742357,49.533797376783056],[-100.02962250747143,49.53281188539918],[-99.90124638121478,49.532821690134476],[-99.64340398450874,49.53286068856805],[-99.64348931058638,49.709149998586284]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-99.84830043400586,\"lat\":49.62109397411841},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4607\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4607046\"],\"csd_name_en\":[\"Oakland-Wawanesa\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Oakland-Wawanesa\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-98.84717476795404,50.50628414612562],[-98.84680346746065,50.56510040346371],[-98.98504739720565,50.56480971018526],[-98.98504010560187,50.594770903608826],[-98.99656380406431,50.594777000250495],[-98.9968747297966,50.63937250200578],[-99.27537341276366,50.63897268262528],[-99.41516727491313,50.63921053951034],[-99.41512240938312,50.594647694634396],[-99.40051391512894,50.59468990016738],[-99.40044188782191,50.40275459615618],[-99.40071847414362,50.24052389745201],[-99.24799619106619,50.24038260972482],[-99.24919053574848,50.15533479371472],[-99.24804192594262,50.06342617189524],[-99.11044730902185,50.06351980673649],[-99.11028131473046,50.2407737759629],[-99.12347761516664,50.24079288906813],[-99.12346269623349,50.50600150401906],[-98.84717476795404,50.50628414612562]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-99.20988804194711,\"lat\":50.41629697332626},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4608\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4608055\"],\"csd_name_en\":[\"Glenella-Lansdowne\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Glenella-Lansdowne\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-96.94571452556796,50.42931444869978],[-96.95501635503696,50.4422124256562],[-96.94961194550304,50.45449813724368],[-96.94960976929752,50.47798890316528],[-96.95744197610053,50.47683771704511],[-96.95506764338697,50.45496506270652],[-96.96335931129273,50.43979097143673],[-96.94571452556796,50.42931444869978]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-96.95419902652915,\"lat\":50.45487665269354},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4613\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4613049\"],\"csd_name_en\":[\"Dunnottar\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Dunnottar\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.19983141200201,50.285415655382934],[-101.19277100279197,50.256920195942115],[-101.17027374739878,50.240307810221054],[-101.13009116983375,50.24025080273263],[-101.13111410086226,50.29955100765261],[-101.20051772317315,50.29946854134236],[-101.19983141200201,50.285415655382934]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.16237085575499,\"lat\":50.27183705924513},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4615\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4615042\"],\"csd_name_en\":[\"Birdtail Creek 57\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Birdtail Creek 57\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-100.04558488173014,50.49119969865702],[-100.02276002100693,50.491186707953624],[-100.02273958327645,50.50590929690705],[-99.96164322007883,50.506088441727265],[-99.95312391541923,50.51323738951509],[-99.95415724985759,50.59442714887361],[-99.83431748714791,50.59454181030202],[-99.83431272975075,50.65236851439969],[-99.90393276135164,50.65288273329368],[-99.90416365420671,50.66825895500477],[-99.95075652779519,50.665652433595234],[-99.95979941519235,50.64536745914291],[-99.98516041820564,50.646224901863974],[-99.98562129498485,50.65337256169769],[-100.02043378601691,50.65339896395182],[-100.01989440005708,50.663660891790656],[-100.05484363316651,50.66800168661618],[-100.05643423572593,50.69763717574144],[-100.07865921849594,50.697622439337025],[-100.0786545948596,50.71235779508886],[-100.25321617482587,50.71238629477234],[-100.25330187748314,50.68287678141341],[-100.36887715900853,50.68295041886973],[-100.36885669785684,50.72652135209049],[-100.53143844988912,50.727111262222145],[-100.53126928789781,50.594459701511695],[-100.23054931214824,50.59467040239845],[-100.23188900498138,50.55017409375988],[-100.23009871813048,50.413983415105605],[-100.2306995890035,50.329021088329554],[-99.95368829962895,50.32894311176199],[-99.95343653761242,50.37418980072139],[-99.97678516345702,50.38093091352632],[-99.99738944841572,50.39499480924965],[-99.97553938840241,50.40254352012238],[-100.01061366388294,50.40270175574484],[-100.01080882269231,50.41710533116653],[-100.02240184128246,50.42470885025018],[-100.02130906417578,50.475839292347175],[-100.04588151162302,50.4765375094755],[-100.04558488173014,50.49119969865702]],[[-100.04558488173014,50.49119969865702],[-100.07070013482682,50.490510238837594],[-100.07075194659282,50.520530410645996],[-100.04579829506433,50.520651696921746],[-100.04558488173014,50.49119969865702]]],[[[-99.97553938840241,50.40254352012238],[-99.95340404134568,50.40314443076346],[-99.95351457039213,50.40988581145423],[-99.97553938840241,50.40254352012238]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.16890715902238,\"lat\":50.55775013639042},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4615\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4615070\"],\"csd_name_en\":[\"Harrison Park\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Harrison Park\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.20435665072674,50.905846403645484],[-97.20444928438171,50.91561138796794],[-97.22794288347967,50.91582479854606],[-97.22780501897849,50.90235220715556],[-97.20435665072674,50.905846403645484]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.2167627035533,\"lat\":50.90986541950871},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4618\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4618074\"],\"csd_name_en\":[\"Arborg\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Arborg\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-93.53501515593013,54.17415734548555],[-93.57158571584797,54.1842062343549],[-93.59750465506316,54.187654830974374],[-93.62504518541586,54.181871142856615],[-93.62781274728562,54.20101194310795],[-93.63931692067217,54.199315177807684],[-93.63808584637552,54.179656124962825],[-93.62788861989068,54.16908336881712],[-93.59834361713459,54.17623489998326],[-93.57185333794585,54.172864772161404],[-93.53501515593013,54.17415734548555]]],[[[-93.53135894327879,54.15899003161178],[-93.51464447414332,54.14378561129911],[-93.4775673303479,54.13984529676113],[-93.42245562180746,54.113709193494195],[-93.42255907433052,54.137937831872705],[-93.4406650573645,54.151267066265895],[-93.46973503701042,54.15088917251654],[-93.52852248380324,54.16677745840223],[-93.53308128102672,54.1723715796705],[-93.54302095268037,54.169932215088906],[-93.54280192052178,54.166955988922666],[-93.53187016364753,54.16720447961489],[-93.53135894327879,54.15899003161178]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-93.51773237501298,\"lat\":54.15704136939827},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4622\"],\"cd_name_en\":[\"Division No. 22\"],\"csd_code\":[\"4622045\"],\"csd_name_en\":[\"Red Sucker Lake 1976A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 22\",\"csd_name_fr\":\"Red Sucker Lake 1976A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.35683755688846,50.00330817756411],[-102.34263941652301,50.015659064124044],[-102.3587385096344,50.01808400551784],[-102.35683755688846,50.00330817756411]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.35273849434864,\"lat\":50.012350415735334},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701077\"],\"csd_name_en\":[\"Kennedy\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Kennedy\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.9322837120182,49.804782789917766],[-102.9084060538333,49.791837702638425],[-102.90835880321579,49.8064494030098],[-102.9322837120182,49.804782789917766]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.91634952302243,\"lat\":49.801023298522},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701814\"],\"csd_name_en\":[\"Ocean Man 69F\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Ocean Man 69F\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.03874999314986,49.522750100090896],[-104.42769468340798,49.52266529601203],[-104.42763760123225,49.3770542866033],[-104.426153185176,49.31876728959151],[-104.42772268274071,49.26070657208546],[-104.40524403174598,49.261101784389275],[-104.02433599051713,49.26058130416863],[-104.0243243913435,49.52276429740813],[-104.03874999314986,49.522750100090896]],[[-104.30529504832059,49.468313311685066],[-104.28738156641356,49.467265499972285],[-104.29333538367062,49.45267050345064],[-104.31502909427859,49.457343509719934],[-104.30529504832059,49.468313311685066]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.22556388461251,\"lat\":49.39165696231087},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4702\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4702029\"],\"csd_name_en\":[\"Laurier No. 38\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Laurier No. 38\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.63727871778335,49.967631643844555],[-107.63697812177043,49.96038572139489],[-107.62014729054913,49.960463206346006],[-107.6201247811987,49.967754402356434],[-107.63727871778335,49.967631643844555]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.62862400053763,\"lat\":49.96407034029964},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4703\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4703061\"],\"csd_name_en\":[\"Neville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Neville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.12241209222155,49.262263143593636],[-109.23096159972741,49.26255214290927],[-109.23364303985521,49.261487754076136],[-109.2341082061457,49.17420765627009],[-109.21203300635882,49.17372977572872],[-109.21154663325474,49.00004208072507],[-109.0000000144632,49.00000000530485],[-108.69458959887238,49.000175821424804],[-108.40994687614193,48.99951876517925],[-108.41010499754938,49.17437699283089],[-108.4271077180105,49.174352494172794],[-108.42726620823817,49.26173099120329],[-108.56187070610744,49.261664889786616],[-108.9324174201808,49.261642280711236],[-109.08506231297581,49.26081738252336],[-109.12241209222155,49.262263143593636]],[[-108.56187678179316,49.200390681759835],[-108.57479471201916,49.208929876561896],[-108.55040614964689,49.20713329276517],[-108.56187678179316,49.200390681759835]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.81759110656273,\"lat\":49.13098111695115},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4704\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"4704011\"],\"csd_name_en\":[\"Frontier No. 19\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Frontier No. 19\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.36281707400263,50.54992674924939],[-102.36979260242401,50.54898631196661],[-102.37048346123024,50.54530973372463],[-102.36281707400263,50.54992674924939]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.3676977125523,\"lat\":50.5480742649802},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705055\"],\"csd_name_en\":[\"Bird's Point\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Resort village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Bird's Point\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.48239868670524,50.68072019273864],[-102.47093468303882,50.67947678893379],[-102.47101109262047,50.68641950336732],[-102.4823610989864,50.686578286569],[-102.48239868670524,50.68072019273864]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.47651629826471,\"lat\":50.6832836769139},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705058\"],\"csd_name_en\":[\"Dubuc\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Dubuc\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.0324372191328,50.80502915714893],[-105.04034908229437,50.80458155529863],[-105.0369459915124,50.80225833769718],[-105.0324372191328,50.80502915714893]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.03657743097988,\"lat\":50.80395635004824},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706082\"],\"csd_name_en\":[\"Pelican Pointe\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Resort village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Pelican Pointe\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.53788738854813,50.87967715285477],[-109.53724720903584,50.892503479035554],[-109.55963990748474,50.89235870762099],[-109.55965897352866,50.88464928804754],[-109.53788738854813,50.87967715285477]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.54768184810683,\"lat\":50.8872135860631},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4708\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4708058\"],\"csd_name_en\":[\"Leader\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Leader\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.24391660115005,52.07287490057427],[-103.25502786728129,52.06391725478714],[-103.23910467897268,52.06125170131745],[-103.24391660115005,52.07287490057427]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.24601638246801,\"lat\":52.06601461889296},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709061\"],\"csd_name_en\":[\"Lintlaw\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Lintlaw\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.00676952484005,52.31807220197754],[-102.07212048686786,52.31817709584844],[-102.09823345459324,52.31631436838359],[-102.14712375604653,52.31827446084664],[-102.43498552218347,52.317807479589284],[-102.43463847871256,52.17336999295594],[-102.43437441461259,51.96927590052203],[-102.43213239446659,51.9692719971187],[-102.43193272130472,51.882087299395394],[-102.10127739096492,51.88188360412419],[-102.07757781251895,51.88914853068716],[-102.06856672905961,51.881862132719746],[-102.00593693367183,51.882169020759605],[-102.00674101673056,52.02905660446619],[-102.00624595911985,52.18301399119096],[-102.00676952484005,52.31807220197754]],[[-102.26622588914141,51.89298848817325],[-102.26621894229288,51.897205139866244],[-102.2562618933364,51.89723889264421],[-102.25451813947622,51.892210177655265],[-102.26622588914141,51.89298848817325]],[[-102.39172908383976,51.90239007781511],[-102.3718580827929,51.902819245690765],[-102.3717263259808,51.89655013119059],[-102.38454809274089,51.89678130627251],[-102.39172908383976,51.90239007781511]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.22027720091502,\"lat\":52.10046790549279},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709067\"],\"csd_name_en\":[\"Clayton No. 333\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Clayton No. 333\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.63781265104966,52.318149463398925],[-101.67045301410302,52.31704619498456],[-101.76995921413895,52.31804056290886],[-102.00676952484005,52.31807220197754],[-102.00624595911985,52.18301399119096],[-102.00674101673056,52.02905660446619],[-102.00593693367183,51.882169020759605],[-101.90836454120085,51.881272599748684],[-101.72540358811644,51.88089889441214],[-101.72521007523619,51.88840087171767],[-101.71262876205095,51.888355960406386],[-101.71301762246199,51.88092837389339],[-101.57722332274514,51.880834907858706],[-101.57755508400508,51.96851810304954],[-101.60933504156245,51.96864354949242],[-101.60897509991183,52.22322318618573],[-101.60905476166917,52.31815801960636],[-101.63781265104966,52.318149463398925]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.80439863561375,\"lat\":52.09694053673858},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709075\"],\"csd_name_en\":[\"Livingston No. 331\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Livingston No. 331\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.36379646209568,51.12170446388842],[-103.36379181752696,51.13328661478173],[-103.38139931693712,51.12850863198252],[-103.36379646209568,51.12170446388842]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.36966253218657,\"lat\":51.12783323688423},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710002\"],\"csd_name_en\":[\"Hubbard\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Hubbard\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.49612696399039,51.161489755958925],[-103.49278421835052,51.16789049345545],[-103.48093778659744,51.16623540475991],[-103.48086791546424,51.17341843338783],[-103.50443304546937,51.17417518235711],[-103.50451009505353,51.16622439701768],[-103.49612696399039,51.161489755958925]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.49378419485879,\"lat\":51.169479132576456},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710004\"],\"csd_name_en\":[\"Ituna\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Ituna\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.87236359221123,51.73613740650418],[-103.84862901199384,51.73606908938708],[-103.84876579876509,51.74996920518346],[-103.87170835476023,51.750189785238376],[-103.87236359221123,51.73613740650418]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.86038928779313,\"lat\":51.743052127224274},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710043\"],\"csd_name_en\":[\"Elfros\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Elfros\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.91768945861456,51.27854459393915],[-103.9302251111129,51.29345832190446],[-103.92989715379042,51.28677609044274],[-103.92928586542197,51.278599385240504],[-103.91768945861456,51.27854459393915]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.92576635710277,\"lat\":51.28355627007169},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710846\"],\"csd_name_en\":[\"Muskowekwan 85-27\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Muskowekwan 85-27\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.42586970229492,51.35825149707836],[-106.42588279582763,51.44557750963256],[-106.70701950560894,51.44560639169072],[-106.70706058823127,51.358295002170145],[-106.96510351409933,51.35826970586977],[-106.98288293248434,51.358774768547256],[-106.96178148629495,51.321750200596874],[-106.92526288913213,51.31401252263501],[-106.90378444398732,51.302580576798356],[-106.86143525558482,51.273163098159266],[-106.84758972895452,51.25662478125346],[-106.8406551935959,51.23714253024122],[-106.81079807221936,51.188437738199305],[-106.78908993688259,51.16772295935028],[-106.74388063584544,51.13858768975099],[-106.71784408335866,51.12957766638094],[-106.65234044465714,51.114792120982514],[-106.63258842192116,51.106075599980734],[-106.62963854212049,51.09717866100395],[-106.58595850612713,51.09611899475987],[-106.42308969225793,51.096128800637246],[-106.42304471410007,51.183459199063336],[-106.42114602367454,51.27086898375318],[-106.42580088630679,51.27087109954899],[-106.42586970229492,51.35825149707836]],[[-106.59377280809841,51.22732791558387],[-106.60117859860411,51.227335190993536],[-106.60137252279277,51.234298904332185],[-106.59632508416517,51.234424990187456],[-106.59377280809841,51.22732791558387]],[[-106.59537538804658,51.32913641117464],[-106.60179038607623,51.33638123482892],[-106.59001532042302,51.336363405539174],[-106.59537538804658,51.32913641117464]],[[-106.59971397299276,51.410346472281375],[-106.6133221777679,51.41057906036818],[-106.61331748305052,51.416511394479656],[-106.58993260733965,51.41649829848936],[-106.59971397299276,51.410346472281375]],[[-106.58855277557826,51.110060087582966],[-106.60915665966098,51.110594348730785],[-106.6091173904966,51.132539194546446],[-106.58599240682868,51.131631423054955],[-106.58855277557826,51.110060087582966]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.62424316106534,\"lat\":51.27396401406412},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711018\"],\"csd_name_en\":[\"Loreburn No. 254\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Loreburn No. 254\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.71252320511897,51.70745671630018],[-106.8221797168634,51.70706302181663],[-106.85081583433613,51.69528599910852],[-106.93700098555712,51.675581566148885],[-106.96652036411666,51.66122585256346],[-106.98452108987493,51.64440985004358],[-107.00083382955381,51.6198463168344],[-107.04914324208298,51.58929079954586],[-107.06868429324601,51.562710137593406],[-107.06836815909334,51.512370878965626],[-107.07285863556143,51.487654965462816],[-107.0891302385696,51.44601994439068],[-107.07876677020629,51.42618186001486],[-106.99962256554409,51.40248505559189],[-106.99028892742759,51.38912752181516],[-106.98288293248434,51.358774768547256],[-106.96510351409933,51.35826970586977],[-106.70706058823127,51.358295002170145],[-106.70701950560894,51.44560639169072],[-106.70648227400731,51.532736529181854],[-106.70741678894899,51.61999360690019],[-106.71287739534819,51.61999500106492],[-106.71252320511897,51.70745671630018]],[[-106.91783618681171,51.49189377177764],[-106.90774745771077,51.485145017272984],[-106.9306636924102,51.48515193462091],[-106.91783618681171,51.49189377177764]],[[-106.81228973971666,51.448246469393766],[-106.81219656424757,51.45688104907118],[-106.80076063570547,51.45688056106266],[-106.80074955386763,51.44810792178055],[-106.81228973971666,51.448246469393766]],[[-107.05838640959412,51.47453148800418],[-107.06961378045693,51.48176894522803],[-107.06722406613471,51.50475485131208],[-107.0464581841495,51.49051409610295],[-107.03495759771317,51.47455389650088],[-107.05838640959412,51.47453148800418]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.87051516462823,\"lat\":51.52190887464003},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711026\"],\"csd_name_en\":[\"Rudy No. 284\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Rudy No. 284\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.00468637505884,51.88182653352103],[-106.28792638271963,51.881676595133385],[-106.28759337996338,51.70709529364138],[-106.2877231856819,51.61987150436249],[-106.28551319071741,51.61987780503556],[-106.00422740196424,51.6201030974],[-106.00373549449469,51.70938130474373],[-106.00468637505884,51.88182653352103]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.1459362009101,\"lat\":51.75084023698951},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711059\"],\"csd_name_en\":[\"Lost River No. 313\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Lost River No. 313\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.95189453643762,52.36947420188025],[-106.97401218271669,52.36196987716566],[-106.9464656862536,52.347854040511315],[-106.93977804413011,52.36212499598173],[-106.95189453643762,52.36947420188025]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.95403766031929,\"lat\":52.35978153539614},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711067\"],\"csd_name_en\":[\"Langham\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Langham\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.14480409286942,51.45281294729225],[-109.12130251960461,51.46017938645979],[-109.1213600080831,51.474879023334495],[-109.13311731867118,51.48199054891515],[-109.19164692500249,51.48211081430887],[-109.19166316484487,51.467229340412615],[-109.17892906229407,51.45291843725926],[-109.14480409286942,51.45281294729225]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.1569598845184,\"lat\":51.46822829292896},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713008\"],\"csd_name_en\":[\"Kindersley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Kindersley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.02673429352237,53.19160583859013],[-103.24995836939445,53.191693312203235],[-103.27036857707097,53.19113739477997],[-103.47701355956846,53.1910866622112],[-103.75820908151134,53.19099160786728],[-103.75827510813983,53.06925373674851],[-103.7535399864732,53.06476716410701],[-103.75828457725588,53.059065928561694],[-103.75830798362608,53.019016602444886],[-103.744772520137,53.016402307016925],[-103.74523349742012,52.92904170977664],[-103.42107360841877,52.92893423253573],[-103.16767076119564,52.929493715641826],[-103.02300878045722,52.92981212011622],[-103.02262251415803,53.016916963201986],[-103.02650650827461,53.016946943655306],[-103.02673429352237,53.19160583859013]],[[-103.66854290086891,53.10950728867448],[-103.65219893527834,53.109560920466684],[-103.65181402714485,53.10225290526008],[-103.66935022843485,53.10374465007277],[-103.66854290086891,53.10950728867448]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.38937947875488,\"lat\":53.060577939072644},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714059\"],\"csd_name_en\":[\"Arborfield No. 456\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Arborfield No. 456\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.89048349095063,52.33293950570804],[-105.89051524373394,52.342242341386964],[-105.90231558708055,52.338044913227456],[-105.89048349095063,52.33293950570804]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.89443810725506,\"lat\":52.33774225344082},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715016\"],\"csd_name_en\":[\"Prud'homme\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Prud'homme\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.58523008098197,52.72020719942192],[-106.58432660721178,52.827147064474374],[-106.58415763616827,52.83430889119295],[-106.60730408550751,52.814318981120834],[-106.62885839459013,52.80566425402449],[-106.65390893916,52.78637471928451],[-106.68597445672935,52.77655699575235],[-106.69206061045976,52.765680209106634],[-106.71916373687043,52.742576380343365],[-106.75572427388626,52.71898516262033],[-106.77285942859619,52.69789287973547],[-106.79023110485946,52.688318863440685],[-106.83537600462195,52.67263092542043],[-106.84588077791737,52.640054751980294],[-106.88069239718713,52.60314333671468],[-106.88127063276036,52.580297100648174],[-106.88294566930557,52.56683778039182],[-106.92477057322375,52.48503703781592],[-106.93134467172379,52.463472680490675],[-106.9516831644397,52.43383384943528],[-106.97877010477677,52.405992981013284],[-106.67580301086781,52.405601189951035],[-106.67574771579194,52.43477870562844],[-106.5798317199914,52.43476859645986],[-106.57987338575796,52.66751808847642],[-106.58536011116679,52.66751671037397],[-106.58525869645716,52.709648994391934],[-106.5965007238,52.70950918444064],[-106.59675997600239,52.72018759783896],[-106.58523008098197,52.72020719942192]],[[-106.73087773013977,52.51913170901274],[-106.73825910029011,52.5296201242661],[-106.723766814575,52.52937778867266],[-106.73087773013977,52.51913170901274]],[[-106.65176567889635,52.63160993002158],[-106.64609962017633,52.61334836122716],[-106.66391776048536,52.61269536647913],[-106.66392473978728,52.625753623022774],[-106.65176567889635,52.63160993002158]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.7308900996311,\"lat\":52.5699460217881},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715026\"],\"csd_name_en\":[\"Laird No. 404\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Laird No. 404\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.0281922876063,52.5149341869545],[-106.0161600223362,52.51555837749545],[-106.01927229510838,52.522174904587914],[-106.0281922876063,52.5149341869545]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.02120820168362,\"lat\":52.51755582301262},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715038\"],\"csd_name_en\":[\"Alvena\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Alvena\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.00301705421872,52.40574594549236],[-104.99952856531016,52.43483793695758],[-104.9527767627052,52.453615469923506],[-104.95641991498364,52.47314116389124],[-104.97052749501515,52.49514841160451],[-104.97047511547487,52.54092752676601],[-105.01419024489374,52.541137784852936],[-105.02753900816442,52.550017161739376],[-105.02771475128974,52.66735500606055],[-105.0515407109913,52.66749107491559],[-105.24417729936765,52.66738675961829],[-105.45875321275564,52.66750499171897],[-105.45900008189474,52.40552028959988],[-105.17214831367482,52.405458902951025],[-105.02794430829468,52.405769688838745],[-105.00301705421872,52.40574594549236]],[[-105.26635829116645,52.420010302335676],[-105.27599783654773,52.428638508243445],[-105.26438551988012,52.42785900323033],[-105.26635829116645,52.420010302335676]],[[-105.38885961891775,52.56018029005767],[-105.3991334802062,52.56559139730257],[-105.38715902080769,52.56775527370045],[-105.38885961891775,52.56018029005767]],[[-105.3048199174366,52.4874076034832],[-105.29625518379554,52.47958988892383],[-105.3155669176373,52.47864090680406],[-105.3048199174366,52.4874076034832]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.2283984835596,\"lat\":52.53318301999457},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715044\"],\"csd_name_en\":[\"Three Lakes No. 400\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Three Lakes No. 400\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.1297482358409,53.80214549054559],[-105.1295607763514,53.93373092876075],[-105.12671048764925,53.97754919592721],[-105.42963720582503,53.976646656876476],[-105.74122285392974,53.976689334876944],[-105.7434896901496,53.97668868082415],[-105.87415971618604,53.97645591277251],[-105.87390862804797,53.80198807781496],[-105.79953163990818,53.80202036241706],[-105.79911447790788,53.71481359820745],[-105.76449151648562,53.71454464687972],[-105.76446480680765,53.547275199974685],[-105.76444089113652,53.5318833858474],[-105.81361500866974,53.532634099544914],[-105.81354060714449,53.53988618985975],[-105.83801709106704,53.53989691248713],[-105.83819561222307,53.552749799307485],[-105.8675243020764,53.56158350422719],[-105.90613199667308,53.56507455297004],[-105.90492637817748,53.58512689710265],[-105.91203441615934,53.59803279695158],[-106.00178802344055,53.598024157160246],[-106.00397743067151,53.56875929127823],[-106.00411360522175,53.53988091266315],[-105.89986560316324,53.53977013334728],[-105.89945199607872,53.525521767189275],[-105.83838885530822,53.52577184110608],[-105.83862464985796,53.496028013661444],[-105.78918184218513,53.49612527195226],[-105.78919078729409,53.45251520938659],[-105.54333977934688,53.45274459001645],[-105.24837979128748,53.452634207125634],[-105.22971625116821,53.45263745808792],[-105.10110480272863,53.45266979854613],[-105.10095564667006,53.71477446057344],[-105.13041441603688,53.71502055535079],[-105.1297482358409,53.80214549054559]],[[-105.55466038588976,53.510881844861714],[-105.55559756797619,53.5038841321239],[-105.56785019521286,53.50370809723031],[-105.56784890779836,53.51090519158309],[-105.55466038588976,53.510881844861714]],[[-105.30637957859217,53.75574194215311],[-105.31547330266174,53.77289135748954],[-105.34030300516538,53.77310490994463],[-105.34052993036816,53.787572135968865],[-105.35303287596861,53.802109023995094],[-105.42728954128476,53.802210338989504],[-105.42712770927459,53.86052475033036],[-105.27830152407644,53.860473261993356],[-105.27807730500876,53.801741722093546],[-105.1413308965269,53.80201196968384],[-105.13421801370397,53.77643009811567],[-105.13707621298899,53.75944809667208],[-105.20855017963513,53.72290640171275],[-105.24792218386425,53.71482316953012],[-105.26646326718868,53.714975986937326],[-105.26645290677301,53.72942996320668],[-105.27861851565905,53.74384199677832],[-105.30637957859217,53.75574194215311]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.48770157588153,\"lat\":53.71132943166746},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715099\"],\"csd_name_en\":[\"Paddockwood No. 520\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Paddockwood No. 520\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.97040916561686,52.71063531660181],[-105.97968829835197,52.718123722638595],[-105.97969409738191,52.771856162386776],[-105.98321497054134,52.78380816177384],[-106.00416751002163,52.78526408840019],[-106.00512068178102,52.771932699545296],[-106.10433121740137,52.77189871280226],[-106.07681340384828,52.765258454989166],[-106.07698995600157,52.750538043758645],[-106.06491603808472,52.7403725203986],[-106.11009262303531,52.73963744003272],[-106.11281802081798,52.720155041986885],[-106.06466658262617,52.71932486526493],[-106.06475106050729,52.70620232784004],[-106.00396775259412,52.705668461427706],[-105.97040916561686,52.71063531660181]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.03243640411398,\"lat\":52.74057184985629},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715844\"],\"csd_name_en\":[\"One Arrow 95\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"One Arrow 95\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.40472168661002,52.46585425256318],[-107.40703758941306,52.456229389094496],[-107.38281834042002,52.45688926027187],[-107.3955175599401,52.47149384892631],[-107.40472168661002,52.46585425256318]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.39638457803625,\"lat\":52.46205324804503},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716009\"],\"csd_name_en\":[\"Radisson\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Radisson\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.35875431803679,52.729078092035714],[-107.35876705453107,52.71938370944262],[-107.34612695179803,52.717960105473],[-107.3464993181662,52.729765757733205],[-107.35875431803679,52.729078092035714]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.35233376593078,\"lat\":52.72401573710416},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716022\"],\"csd_name_en\":[\"Hafford\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Hafford\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.55405745802402,53.63606968208892],[-107.56091038562177,53.627962788761884],[-107.54099570821552,53.62797414069992],[-107.54157448403951,53.63628876500567],[-107.55405745802402,53.63606968208892]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.54946309637522,\"lat\":53.631756021471716},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716061\"],\"csd_name_en\":[\"Leoville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Leoville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.02329734828584,53.84127881793482],[-107.04375488011392,53.83552564560082],[-107.02326488828356,53.82752730484721],[-107.02329734828584,53.84127881793482]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.0301057055611,\"lat\":53.83477725612761},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716072\"],\"csd_name_en\":[\"Big River\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Big River\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.92938319620208,53.03561851073647],[-106.9060930767131,53.03553691737643],[-106.92932860075467,53.040350540799224],[-106.92938319620208,53.03561851073647]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.9216016245566,\"lat\":53.03716865630404},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716891\"],\"csd_name_en\":[\"Muskeg Lake 102D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Muskeg Lake 102D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.33227990851577,53.08353739351594],[-108.33935773613122,53.08180097669316],[-108.34782417097009,53.07099465161505],[-108.33651047603459,53.07226632068241],[-108.33247358244735,53.082287148998645],[-108.33227990851577,53.08353739351594]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.33910006050723,\"lat\":53.07671188753503},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717002\"],\"csd_name_en\":[\"Cochin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Resort village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Cochin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.40323717705171,54.13482136181842],[-108.35856567760389,54.13590410260702],[-108.35885522627065,54.19083817551199],[-108.44800162774624,54.190792276799186],[-108.4528974172897,54.180021502580956],[-108.44848172169658,54.143379076454714],[-108.44836354990075,54.13631400854486],[-108.40323717705171,54.13482136181842]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.40446311292447,\"lat\":54.163285138799004},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717805\"],\"csd_name_en\":[\"Flying Dust First Nation 105\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Flying Dust First Nation 105\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.29598073200233,55.09899410026652],[-105.25594121569686,55.10891861822655],[-105.27321207148255,55.13102281657767],[-105.2601723834116,55.132609445153456],[-105.25004428023217,55.1618447037254],[-105.2719084383888,55.16620116441811],[-105.27892960471607,55.13872141937549],[-105.32444039161504,55.12704766000664],[-105.30502129752051,55.101016996450696],[-105.30209716501155,55.09723023935625],[-105.29598073200233,55.09899410026652]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.28307819465356,\"lat\":55.12703100182767},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718041\"],\"csd_name_en\":[\"La Ronge\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"La Ronge\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.57890635490259,55.414406242460515],[-104.5790210181598,55.392239957592494],[-104.5620029432227,55.392234018350074],[-104.56202892703291,55.414361180575256],[-104.57890635490259,55.414406242460515]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.5704923498437,\"lat\":55.40329504604242},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718803\"],\"csd_name_en\":[\"Stanley 157\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Stanley 157\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.10257833982686,55.9900899922378],[-109.10309379557687,55.98385477797769],[-109.13936829620684,55.984750982454685],[-109.13901019702396,55.89719233336737],[-108.98010532967996,55.89726152344049],[-108.97993607910549,55.88263790952943],[-108.94792242029294,55.882705362274336],[-108.88221010891553,55.882601892096545],[-108.87785057453377,55.935471928661286],[-108.9150302886547,55.92768205154302],[-108.93752637142272,55.93070885107765],[-108.93013260770593,55.91040500803373],[-108.95119593917454,55.898449006927656],[-108.98744319781711,55.902824753566684],[-108.99151965609265,55.91791557108343],[-109.01626886719562,55.92332615777422],[-109.03053098232336,55.942057661872084],[-109.07358128363451,55.952938364708736],[-109.08802468508647,55.96407485899642],[-109.09701046763648,55.99023131052662],[-109.10257833982686,55.9900899922378]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.0351494138673,\"lat\":55.92299750203806},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718818\"],\"csd_name_en\":[\"Buffalo River Dene Nation\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Buffalo River Dene Nation\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.15929996841996,58.12255948147794],[-103.16455312219541,58.112625451475964],[-103.14699518919747,58.091629367218154],[-103.09638738106841,58.090377904102276],[-103.08539055500262,58.0971306563094],[-103.05571332108062,58.101930051152564],[-103.05117395163873,58.11354586571865],[-103.0233115638833,58.112884145843815],[-102.99980405475235,58.128163949568616],[-102.95711882529541,58.14432506553459],[-102.9294612582562,58.164534055297196],[-102.93198094751173,58.17241666342205],[-102.8584295648955,58.20852183971418],[-102.99602344254143,58.28616292862918],[-103.0230992810028,58.26874294177338],[-103.09453745837119,58.245076755832976],[-103.1120763905888,58.229281451196805],[-103.12467742579342,58.19263808264743],[-103.09421394302404,58.18174581146126],[-103.09116655508852,58.17166191823164],[-103.12671083134238,58.14171816920356],[-103.15929996841996,58.12255948147794]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.02236134742353,\"lat\":58.18711574731126},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718832\"],\"csd_name_en\":[\"Lac La Hache 220\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Lac La Hache 220\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.20042920113812,51.52505879848834],[-111.20042318027876,51.53259310278034],[-111.21298009483135,51.53257060573952],[-111.21218613039498,51.52505365680166],[-111.20042920113812,51.52505879848834]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.20650460065131,\"lat\":51.528860356486256},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4804\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"4804019\"],\"csd_name_en\":[\"Youngstown\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Youngstown\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.31314862624157,50.848274173925695],[-113.33700880543677,50.85424785961692],[-113.35269452241238,50.84336256190952],[-113.34868040182671,50.82792725156107],[-113.38633979653251,50.82003855267818],[-113.42197449414746,50.8316276613639],[-113.44228219277745,50.82418506902253],[-113.49024665781974,50.79884561256574],[-113.49042370303543,50.572070796401945],[-113.59843849310461,50.57205979530276],[-113.59826565773821,50.45550360399221],[-113.5781256084957,50.44638375386423],[-113.58068226188676,50.43568111385343],[-113.56424420240208,50.42088811503622],[-113.56280517099862,50.41156519085207],[-113.57071276589605,50.40506219339443],[-113.55788232566285,50.36852570564285],[-113.54538285058322,50.3541479489069],[-113.52652765800048,50.34122176817086],[-113.53308003278916,50.32988595595392],[-113.5031915674848,50.311268792240384],[-113.46921150244596,50.305821163473745],[-113.46931712550459,50.28263596365007],[-113.44982160976721,50.26640070707844],[-113.44272785393082,50.25149325253491],[-113.4152887169347,50.2451602104894],[-113.38585291876552,50.21160430949698],[-113.34126738975577,50.20139350625284],[-113.32117315549301,50.20023914912819],[-113.31532188451517,50.187050204018696],[-113.29908699390796,50.177126262570845],[-113.31153440751993,50.16268251635038],[-113.30227614918786,50.14384495324104],[-113.27663668901963,50.1356972306675],[-113.27676640515627,50.04835260319492],[-113.18813288928453,50.04807919566549],[-113.18811406223159,50.06266711652553],[-112.91641829189938,50.06247833340638],[-112.91631620750354,50.0769393016559],[-112.81409080927561,50.07701098845262],[-112.81242311746581,50.135276218549414],[-112.64347149368155,50.13528430647621],[-112.64341600819535,50.19346590800467],[-112.55236938924803,50.193576193523654],[-112.55240868755571,50.208105094329774],[-112.52968729815186,50.2080792057948],[-112.52464680386747,50.22274319584144],[-112.52476270859572,50.26593190902478],[-112.4329196606615,50.26630748704879],[-112.43300089104922,50.31007360019525],[-112.20439761855471,50.31012149577192],[-112.16916126155355,50.31104982111005],[-112.15731959007135,50.32147486332028],[-112.15837160856488,50.33255554020606],[-112.1803893036497,50.34211795570758],[-112.18383249757377,50.35623634580693],[-112.17409760089724,50.372689167057096],[-112.17852249512974,50.388398267675],[-112.16712887616866,50.41473604861412],[-112.1726006144062,50.42408325138519],[-112.19352720865001,50.43638955533792],[-112.21828148334721,50.43070145013444],[-112.26911230836093,50.42586024462717],[-112.30491099019967,50.43035176939665],[-112.2984597863825,50.448043051674524],[-112.32535927633447,50.45464144754393],[-112.33964560064258,50.47028106357487],[-112.36664119098856,50.48997856328264],[-112.36735620050527,50.517553868340066],[-112.35232979183353,50.53790336337988],[-112.36121019298001,50.546919163051705],[-112.39388460391262,50.55697316775425],[-112.38993860087876,50.576506354683055],[-112.3658788059599,50.59697875647992],[-112.37139850770885,50.60573316354827],[-112.42650500964905,50.62735164667855],[-112.45182661264913,50.62586526341875],[-112.4885881000171,50.636217651797395],[-112.49281111436244,50.65366245299982],[-112.48387609324234,50.66787616978247],[-112.50751821435418,50.66883294349825],[-112.52226769122392,50.67868565159734],[-112.51910633286724,50.703309817890286],[-112.6719109689381,50.702934868966864],[-112.79839887004385,50.70362149474377],[-112.91275642057066,50.70288242214162],[-112.91324990366672,50.65960289686544],[-112.93630028781484,50.65962681043516],[-112.93632259051174,50.703311791211696],[-112.9603785869472,50.72414760239032],[-113.00860501012038,50.74377461894056],[-113.02718712652444,50.74069715039346],[-113.0384441177468,50.75241529921113],[-113.0736898414801,50.76002960526588],[-113.08847705452683,50.75854750445105],[-113.1190227118464,50.76333133832674],[-113.18697130502802,50.76692608761412],[-113.211757500212,50.775848404601156],[-113.20823191367445,50.781707501667945],[-113.23917430517938,50.80517689278592],[-113.23986821589592,50.82116420747445],[-113.2703775037351,50.83366078766857],[-113.29921610354643,50.83669350087174],[-113.31314862624157,50.848274173925695]],[[-113.16352075723573,50.73607619156491],[-113.14412908864368,50.74071387240753],[-113.14412338704562,50.73403758687112],[-113.16352075723573,50.73607619156491]],[[-113.15427527990555,50.244268421864724],[-113.14316901061078,50.24445078723276],[-113.14315900136472,50.231093687402876],[-113.15462778598064,50.240673797616346],[-113.15427527990555,50.244268421864724]],[[-112.87545081540661,50.56471631370828],[-112.89109552742701,50.56401497046262],[-112.89111580155472,50.57215939553388],[-112.87884685849042,50.5721649508456],[-112.87545081540661,50.56471631370828]],[[-112.65214193235106,50.35371923845564],[-112.63908351387047,50.35367030113784],[-112.63910001093463,50.346035100488386],[-112.65079467467494,50.34606393638712],[-112.65214193235106,50.35371923845564]],[[-113.10861601329995,50.120779001254625],[-113.12163251708255,50.13545752406548],[-113.10384567637504,50.13545676346559],[-113.10861601329995,50.120779001254625]],[[-112.62312932829094,50.67405915467015],[-112.61327660316677,50.65932189766341],[-112.63588485357548,50.659465954128834],[-112.62312932829094,50.67405915467015]],[[-113.2826587216529,50.78996775296163],[-113.28265429103809,50.80525118808304],[-113.25954432527823,50.8055035635877],[-113.25981393989512,50.79062320877577],[-113.2826587216529,50.78996775296163]],[[-112.56705996379787,50.67360214914826],[-112.54380020464015,50.67350606573614],[-112.54364432218223,50.6587620492746],[-112.56729160222864,50.659030846933796],[-112.56705996379787,50.67360214914826]],[[-113.28887814448875,50.41171944387189],[-113.25547525744962,50.40444188243614],[-113.26170038248166,50.38999284421799],[-113.28908481838637,50.39532160109036],[-113.28887814448875,50.41171944387189]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.96899925684536,\"lat\":50.437455381483375},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4805\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4805001\"],\"csd_name_en\":[\"Vulcan County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Vulcan County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.26691868000988,51.71354524421088],[-113.28845790796791,51.70856207164954],[-113.2884117291275,51.69252137760683],[-113.24111701948857,51.69221092158591],[-113.24322108439567,51.70713960179706],[-113.26691868000988,51.71354524421088]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.26567792437802,\"lat\":51.7015257383577},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4805\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4805048\"],\"csd_name_en\":[\"Three Hills\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Three Hills\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.9519115088621,50.76114630905859],[-113.98584129082926,50.74267973630533],[-113.9990173255545,50.74272132470598],[-114.00166275270023,50.72683091426346],[-114.01330699568642,50.71176460876186],[-113.99980263205403,50.69626282406048],[-113.9287390292072,50.69562590676748],[-113.9287043919127,50.71764459109292],[-113.91770937612972,50.72539500701077],[-113.91790134606526,50.74042061764462],[-113.90669281162914,50.747038329009186],[-113.92324874432151,50.76093010499117],[-113.9519115088621,50.76114630905859]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.95944820024275,\"lat\":50.726209323616864},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4806\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4806012\"],\"csd_name_en\":[\"Okotoks\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Okotoks\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.07211298778898,51.329202207853584],[-114.07137789931723,51.24159421159162],[-113.99323929137495,51.24168419224406],[-113.99490629154333,51.256444903012884],[-113.9232965956716,51.25607884932624],[-113.93092943248206,51.27066148580076],[-113.93112707455926,51.30682360566284],[-113.95484970225387,51.30687100314208],[-113.95476338558716,51.328771303902826],[-114.07211298778898,51.329202207853584]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.00715849846888,\"lat\":51.2867281181844},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4806\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4806021\"],\"csd_name_en\":[\"Airdrie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Airdrie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-114.23093120232323,50.484516999702215],[-114.25395887005034,50.477288464576255],[-114.25193320393416,50.45569049907355],[-114.23432050038164,50.4549671007427],[-114.21891890724707,50.46131716943491],[-114.23084098593206,50.46990650819405],[-114.23093120232323,50.484516999702215]]],[[[-114.50588014576496,50.39710072826226],[-114.48301990219757,50.39724234280575],[-114.43697739649947,50.42647868374125],[-114.41428248374771,50.42653392261183],[-114.41401394488585,50.463138996673635],[-114.4304183004715,50.44474264799159],[-114.44986800077064,50.429716269665214],[-114.47524780154704,50.419836464479765],[-114.51660158346805,50.397001992115065],[-114.50588014576496,50.39710072826226]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.39049206382747,\"lat\":50.43621369584108},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4806\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4806803\"],\"csd_name_en\":[\"Eden Valley 216\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Eden Valley 216\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.40529114617546,52.92991395390499],[-111.4519192126536,52.93058218303138],[-111.79391749856889,52.93062329619895],[-111.79387308236126,52.94471946954992],[-111.89058109832807,52.94528150838313],[-111.89058002132595,52.959793297898614],[-111.98726008214827,52.95981169785159],[-111.98723571321227,53.017474794850635],[-112.31890339219025,53.017872310484826],[-112.32624707875426,53.01786600169242],[-112.32630109322645,52.727411510839566],[-112.36237133095636,52.726807529227635],[-112.3625490664783,52.68253558108234],[-112.39894909179738,52.68279805890493],[-112.39892108143685,52.667905780161874],[-112.38537459175119,52.65575289633664],[-112.39542499448366,52.645398555361155],[-112.39234416438812,52.62369774547557],[-112.36142616206303,52.59343855853001],[-112.3311713535382,52.55670317607272],[-112.31932447643857,52.55051614270223],[-112.31877244562354,52.53840478717871],[-112.2864548871627,52.517644552108166],[-112.25994105303087,52.50751792449636],[-112.20971956171793,52.49040291798949],[-112.17011581539013,52.48520790497491],[-112.11381836520691,52.46924272879253],[-112.06826887638748,52.46311815056156],[-112.05885878953102,52.4565892525865],[-112.03366507748771,52.45797948952613],[-112.01683940847994,52.46859017025459],[-111.99374850417594,52.467146970166944],[-111.96526704361204,52.44135296722729],[-111.9393332129562,52.44993936873825],[-111.9016174559394,52.45108635577479],[-111.89780303476726,52.44547642800995],[-111.86771094465253,52.443891110209236],[-111.84176622449345,52.43418510995909],[-111.819393982041,52.40999596636938],[-111.78683328037893,52.40947047140641],[-111.73974829168917,52.393952317441844],[-111.73651972692531,52.379750310915675],[-111.72210773379221,52.37399341426131],[-111.70632543004527,52.3558247113206],[-111.66731366197897,52.33860485647965],[-111.60830364915869,52.32299695002235],[-111.57867298970874,52.334943511112556],[-111.5732954068241,52.35006405213354],[-111.55560989338537,52.35677964875328],[-111.53511130266462,52.386075759927834],[-111.4702072753155,52.38572191425844],[-111.44097082949507,52.39964110685823],[-111.40519128884311,52.39957529726414],[-111.38494643335711,52.415291298981344],[-111.35403390103787,52.42621840963419],[-111.33514066037907,52.438007702781036],[-111.32304034722766,52.451787511678084],[-111.30251493807621,52.462394490011995],[-111.29471098154792,52.46960126974186],[-111.26769154031214,52.478733221489485],[-111.24332702603495,52.49660450262886],[-111.26824922786093,52.505210528266886],[-111.26728015698542,52.51890944429705],[-111.28685899098157,52.535706620700665],[-111.3037698834048,52.57017486205619],[-111.31332333386716,52.603133122180644],[-111.32187772536363,52.6124960614375],[-111.30804990111969,52.629675393830986],[-111.30954896261427,52.64381136626522],[-111.29196088483047,52.6470492055323],[-111.25069108247291,52.644415099874436],[-111.25153287954585,52.697359962664464],[-111.22905495742668,52.715636217482476],[-111.18929784397902,52.7308979613798],[-111.18910796846478,52.75528522236636],[-111.3099963923166,52.7560884950516],[-111.31000960482557,52.81427038687026],[-111.3342234906696,52.81419569048138],[-111.35839231065444,52.821272100530614],[-111.35697971995228,52.84218510001083],[-111.40689268283832,52.84340489165385],[-111.40529114617546,52.92991395390499]],[[-111.79233235831494,52.43920261377989],[-111.78024498953614,52.43935647326624],[-111.7806593896758,52.43001841791608],[-111.79233235831494,52.43920261377989]],[[-112.21612580672465,52.66973334668271],[-112.22947340607472,52.66760771138622],[-112.22658496144118,52.67633322507062],[-112.21612580672465,52.66973334668271]],[[-112.26543943245491,52.87520336032028],[-112.25353700637405,52.87247660765807],[-112.25351308316012,52.859613492018376],[-112.27771052242134,52.86738490152441],[-112.26543943245491,52.87520336032028]],[[-111.52770948814846,52.75610179511093],[-111.52870685993625,52.741758905782724],[-111.55187250986366,52.74154518480651],[-111.54031189965674,52.75537100650266],[-111.52770948814846,52.75610179511093]],[[-111.67583526175706,52.78523195243032],[-111.69704591437721,52.76724978837546],[-111.70364106498769,52.78517986515484],[-111.67583526175706,52.78523195243032]],[[-112.08068945641718,52.59484214458653],[-112.05656849424663,52.58687232377248],[-112.05540691867937,52.57190562743421],[-112.08011651272113,52.57978181038926],[-112.08068945641718,52.59484214458653]],[[-111.32208962812832,52.68643294285858],[-111.29298527193609,52.67009471431624],[-111.3154351029953,52.65590370973388],[-111.33402196631448,52.667638751895524],[-111.32208962812832,52.68643294285858]],[[-111.84212070731658,52.80332460555975],[-111.84210817303243,52.79253099877497],[-111.87840821707438,52.785170201374065],[-111.8785423971029,52.7997149711055],[-111.84212070731658,52.80332460555975]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.81858131433215,\"lat\":52.689126374621665},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4807\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4807031\"],\"csd_name_en\":[\"Flagstaff County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Flagstaff County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.84212070731658,52.80332460555975],[-111.8785423971029,52.7997149711055],[-111.87840821707438,52.785170201374065],[-111.84210817303243,52.79253099877497],[-111.84212070731658,52.80332460555975]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.86119565302464,\"lat\":52.795052208614884},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4807\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4807042\"],\"csd_name_en\":[\"Killam\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Killam\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.02961768900464,53.074073999813784],[-111.04087650210194,53.08869526085944],[-111.07760559766399,53.08872710556068],[-111.07764815061677,53.09620066313092],[-111.10214741686043,53.102909325294625],[-111.15063090867034,53.103184524550954],[-111.16132346876091,53.11740908957187],[-111.17522398184026,53.11742214017853],[-111.17519388496254,53.13222991241724],[-111.21077196236725,53.14657741221399],[-111.42940762687547,53.147080561716386],[-111.43094819192974,53.01687751050943],[-111.40675858253792,53.016892000713455],[-111.40695515896505,52.94288590639189],[-111.40529114617546,52.92991395390499],[-111.40689268283832,52.84340489165385],[-111.35697971995228,52.84218510001083],[-111.35839231065444,52.821272100530614],[-111.3342234906696,52.81419569048138],[-111.31000960482557,52.81427038687026],[-111.3099963923166,52.7560884950516],[-111.18910796846478,52.75528522236636],[-111.18929784397902,52.7308979613798],[-111.18932158075971,52.69769259580158],[-111.06780478589529,52.69780814527791],[-111.06792174976862,52.66761942004216],[-111.01200121500263,52.66804956545848],[-111.01283210546266,52.63822080687058],[-110.94053278310314,52.63823770559394],[-110.94049600814401,52.62385084450908],[-110.77329930692947,52.62341489122408],[-110.60481453327631,52.623536717470685],[-110.60533069193868,52.535974767913885],[-110.46089679608495,52.53472400220615],[-110.43677526458835,52.53559782897056],[-110.4306106078562,52.5504988029003],[-110.26881421345738,52.550460384244424],[-110.26883500418211,52.53591070649777],[-110.2212672928166,52.535859112975004],[-110.22137663427468,52.52171707331675],[-110.00444606508846,52.52138173637276],[-110.00540935375551,52.66714451312202],[-110.00516260005787,52.85733784466667],[-110.0236857994526,52.85556170442561],[-110.06758578325454,52.857985890527246],[-110.0689566309757,52.865450940538615],[-110.111561116585,52.86425706591156],[-110.12956347187554,52.87339623712033],[-110.12996570832253,52.88601064665933],[-110.1538803022228,52.89099070470015],[-110.20080661433465,52.908291503893544],[-110.24895680761253,52.904883611397494],[-110.29210791767115,52.90814770966125],[-110.33630932017422,52.91898400617595],[-110.34229823665149,52.92694420545515],[-110.41255638739548,52.94547945632069],[-110.42347304099854,52.957135699851015],[-110.45666259588728,52.95815076268171],[-110.46467603872362,52.96663168957171],[-110.45420555899207,52.982829929374844],[-110.45625695870325,53.006723534928305],[-110.47919184670901,53.02848754580321],[-110.50188346128238,53.040880035052105],[-110.58351305658219,53.03205407789625],[-110.59543380499979,53.041477534026924],[-110.59385624352261,53.07029950590365],[-110.6161716631641,53.08788535928921],[-110.64078202540423,53.08522378613936],[-110.69212723814175,53.06498964204568],[-110.69320455403846,53.05965088079494],[-110.8553673800256,53.05948899827352],[-111.02887126143986,53.06008563712774],[-111.02961768900464,53.074073999813784]],[[-111.23610764912401,52.919230889594935],[-111.22031280220429,52.91240173308983],[-111.23743677961963,52.90773419884126],[-111.23610764912401,52.919230889594935]],[[-110.46323291445219,52.76558319130575],[-110.43954919813774,52.76327258639975],[-110.43933449511294,52.750968198791206],[-110.46353449009307,52.7558730110833],[-110.46323291445219,52.76558319130575]],[[-110.1488436760659,52.70074889501405],[-110.12960367519915,52.69745264482568],[-110.12930250873791,52.68766205896103],[-110.15532041989549,52.68763473333302],[-110.1488436760659,52.70074889501405]],[[-110.85046887856187,52.8578013472252],[-110.82627924440959,52.85838251617328],[-110.82602879815656,52.821279528837],[-110.85044609472114,52.82159349004936],[-110.87468640727651,52.828827393189144],[-110.88620072129463,52.8506467088293],[-110.85046418330118,52.85072760310786],[-110.85046887856187,52.8578013472252]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-110.7118907096098,\"lat\":52.824675720060476},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4807\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4807049\"],\"csd_name_en\":[\"Wainwright No. 61\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Wainwright No. 61\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.10948255739555,52.317896245880085],[-114.13370836586213,52.32974379640711],[-114.12168395834355,52.32351094421463],[-114.1215412092188,52.319161302804524],[-114.10948255739555,52.317896245880085]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.11813859112009,\"lat\":52.32068469443817},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4808\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4808013\"],\"csd_name_en\":[\"Norglenwold\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Norglenwold\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.92795151045134,52.46956779676303],[-113.93757197077865,52.463983068835326],[-113.93109115859765,52.463951533993104],[-113.92795151045134,52.46956779676303]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.93220487994256,\"lat\":52.46583413319716},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4808\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4808028\"],\"csd_name_en\":[\"Gull Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Gull Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-110.3313823099362,53.34614807894296],[-110.3466429085457,53.340338811133215],[-110.32188158404594,53.33334890462948],[-110.32231970386351,53.34335607613311],[-110.3313823099362,53.34614807894296]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-110.33116868709429,\"lat\":53.34020993304882},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4810\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4810041\"],\"csd_name_en\":[\"Kitscoty\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Kitscoty\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.48057447881996,53.549464956117745],[-114.48779246428845,53.551227174492986],[-114.48630980566945,53.54960366057832],[-114.48045859686869,53.54805525731406],[-114.48057447881996,53.549464956117745]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.48374372091402,\"lat\":53.549601855352584},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811041\"],\"csd_name_en\":[\"Point Alison\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Point Alison\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.9591946853751,53.55588160416158],[-114.03863246280183,53.55573617927085],[-114.05099681504362,53.54128890316677],[-114.05099500765861,53.512090105875814],[-114.0018315033731,53.499984000864266],[-113.97126821457185,53.50002351212318],[-113.9471109339463,53.505594122612635],[-113.94689219595159,53.512068505207914],[-113.94691208903737,53.54135351496681],[-113.9591946853751,53.55588160416158]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.99749071417516,\"lat\":53.52881151186708},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811048\"],\"csd_name_en\":[\"Stony Plain\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Stony Plain\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.44029338097064,54.4395928745065],[-111.46071257304763,54.43440225347341],[-111.46680071339459,54.41283306421154],[-111.82905029132604,54.413270279574],[-111.82841478082184,54.39322639651419],[-111.82754055466972,54.355323322313204],[-111.80272531951906,54.35534292635351],[-111.80249684371614,54.34079639233038],[-111.77833918297061,54.33318220191204],[-111.77765367236206,54.297047376846976],[-111.76522580697079,54.28245488254268],[-111.72702561939884,54.28242937151402],[-111.72830060236817,54.23856630702422],[-111.75367678960944,54.23783846939159],[-111.75302646941209,54.20233446705137],[-111.72801042427199,54.20232048043704],[-111.70407595176782,54.195046505579185],[-111.70332221382832,54.16609599561866],[-111.69056419629814,54.16593469081706],[-111.69056759879182,54.107873044337914],[-111.65206986816372,54.10802754267861],[-111.6520488970919,54.08348869630667],[-111.66354810642379,54.06405541826187],[-111.6634234160139,54.03531099089899],[-111.61386121272737,54.035340608533176],[-111.61382079616786,53.962370011831794],[-111.49056201488462,53.96235778866735],[-111.49020422853101,53.90429016518961],[-111.60036225861283,53.90354420837941],[-111.59959472239369,53.84570245042015],[-111.51596867247022,53.84567321316287],[-111.51483430999077,53.81681831018897],[-111.49020938955765,53.816790695756985],[-111.48950574103954,53.798394690054614],[-111.46055899076718,53.78993166495997],[-111.42779019757353,53.78779205408101],[-111.41091500646134,53.77997885318593],[-111.4095183958159,53.75945544725997],[-111.38074267162892,53.74969685443659],[-111.34672450605512,53.75690786845418],[-111.31213357478136,53.75971255731485],[-111.15180856925384,53.750463359673184],[-111.08854509625421,53.77207264998249],[-111.07155958379094,53.78772986586436],[-111.04388658515825,53.8031831976412],[-111.01986170801402,53.8024967041955],[-111.01986191577333,53.77342968786965],[-110.797011083223,53.773322406065994],[-110.59599534761817,53.77277678604418],[-110.54049802808971,53.7735045991163],[-110.5082148744661,53.75765287392967],[-110.45494376409592,53.75099885982647],[-110.41852577394418,53.73090785445923],[-110.41228023634743,53.71495742090867],[-110.37661431312299,53.71602830997941],[-110.3769691437439,53.80216609618898],[-110.364272821114,53.80229303470883],[-110.35733033657446,53.82229644976877],[-110.35497098365865,53.83193881093774],[-110.43821826341727,53.83209176181756],[-110.43864289504427,53.88889782515831],[-110.44305058014544,53.89209735379521],[-110.51650564522538,53.89192862023433],[-110.51674648756625,54.013173630772776],[-110.45052581912532,54.01311188515279],[-110.45110316671378,54.06411185546064],[-110.75840697023507,54.06427562075067],[-110.75841762625795,54.06010034512103],[-110.8935871417504,54.05972982858648],[-110.93420811498783,54.06421238713896],[-111.21769720702501,54.06411430601908],[-111.2158687405291,54.0932739911054],[-111.21663671807829,54.195262188299345],[-111.30318200102629,54.1949412958718],[-111.3032817122822,54.23877618337154],[-111.31579390484825,54.23876630239038],[-111.31625481266825,54.32602090277661],[-111.32925724139741,54.333493554959446],[-111.39115947158801,54.33325232336362],[-111.38943576035682,54.425014129906124],[-111.42224347519563,54.422759864624155],[-111.44029338097064,54.4395928745065]],[[-111.372140090575,54.129567173156765],[-111.36203357671498,54.1255360644223],[-111.36800181225381,54.12029606690783],[-111.36263748521596,54.114530869918184],[-111.3781326822272,54.11443470442564],[-111.3781366903829,54.12215589320616],[-111.36628206546654,54.12213642508599],[-111.372140090575,54.129567173156765]],[[-110.90836655151122,53.91138598178325],[-110.88305427849431,53.91154599117874],[-110.8826408168377,53.89739057324056],[-110.89625689756072,53.88961689282783],[-110.92019470389447,53.88985550675534],[-110.9210449978058,53.904171892269105],[-110.90836655151122,53.91138598178325]],[[-111.32160957493997,53.998602592165966],[-111.25423782728163,53.9988239346946],[-111.25363377585464,53.98414272715379],[-111.2675181693046,53.97658081631386],[-111.29800063861694,53.976522448171345],[-111.32762929562297,53.99132279666451],[-111.32160957493997,53.998602592165966]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.17046024663738,\"lat\":54.019906887939406},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4812\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4812014\"],\"csd_name_en\":[\"St. Paul County No. 19\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"St. Paul County No. 19\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.49394421196017,54.10102909038176],[-112.47573279176838,54.108094798769855],[-112.45070634936691,54.10800851832213],[-112.45076870397291,54.12242100189149],[-112.48115970322077,54.11797410072],[-112.49394421196017,54.10102909038176]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.46864451899168,\"lat\":54.11311401108798},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4812\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4812029\"],\"csd_name_en\":[\"Smoky Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Smoky Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.53186127548702,54.82362705674968],[-113.53309639059164,54.829509462748035],[-113.5394777527567,54.83233811306843],[-113.53907458044532,54.82559811534737],[-113.53186127548702,54.82362705674968]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.53597586807244,\"lat\":54.82772993403854},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4813\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4813051\"],\"csd_name_en\":[\"Island Lake South\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Island Lake South\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.08839114275746,58.53779894516787],[-117.18134258521245,58.538122382264405],[-117.18208650284856,58.479307305475885],[-117.13936254936381,58.479125223692485],[-117.1391160333354,58.48978810281296],[-117.12106788856492,58.497392988125966],[-117.1010409154454,58.497461472596775],[-117.1015125657028,58.51473775772709],[-117.08749239071476,58.515058534877355],[-117.08839114275746,58.53779894516787]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.14147198412903,\"lat\":58.51272985567523},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817093\"],\"csd_name_en\":[\"High Level\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"High Level\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-115.38079379273066,55.48703397597651],[-115.40147527585768,55.48598386580508],[-115.39166039425437,55.48028217039468],[-115.38079379273066,55.48703397597651]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-115.39130982094757,\"lat\":55.48443333739209},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817826\"],\"csd_name_en\":[\"Kapawe'no First Nation 231\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Kapawe'no First Nation 231\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.43154139717035,49.83426159808182],[-121.42969478258803,49.839111801484236],[-121.4369971306262,49.838614953990444],[-121.43278591604229,49.83081502671446],[-121.43154139717035,49.83426159808182]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.43316944426454,\"lat\":49.83618870740867},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909817\"],\"csd_name_en\":[\"Tuckkwiowhum 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Tuckkwiowhum 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.49561768188036,49.99429894225522],[-121.49516404539352,49.98655904371696],[-121.48425638103568,49.98455552077275],[-121.4846812326856,49.99408297423273],[-121.49561768188036,49.99429894225522]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.48974050350661,\"lat\":49.9898627699044},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909850\"],\"csd_name_en\":[\"Boothroyd 13\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Boothroyd 13\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.65024660893046,49.198112753153666],[-122.65832075735014,49.19443194393064],[-122.654785435407,49.191051866102335],[-122.6482973238464,49.19332622408643],[-122.65024660893046,49.198112753153666]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.65288649441312,\"lat\":49.19435960896329},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5915\"],\"cd_name_en\":[\"Greater Vancouver\"],\"csd_code\":[\"5915813\"],\"csd_name_en\":[\"Katzie 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Greater Vancouver\",\"csd_name_fr\":\"Katzie 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-124.24431434821126,49.298657556167115],[-124.27275430788372,49.29997320287807],[-124.28386372233115,49.306947504642444],[-124.30149676239714,49.30519620326941],[-124.30713165479379,49.28826244425579],[-124.29195063709992,49.27114101313831],[-124.26650666961721,49.26772899491101],[-124.27172106378912,49.286683813665206],[-124.24431434821126,49.298657556167115]]],[[[-124.26313449703709,49.39077246185688],[-124.34094092106253,49.40532012172358],[-124.3971439588043,49.423976476865306],[-124.43092052700976,49.44192665575099],[-124.46536673440677,49.46977996591827],[-124.51744554513553,49.46982078518735],[-124.51585067026278,49.43434328558474],[-124.53626512755795,49.40549296751682],[-124.53556968576447,49.35901760968069],[-124.54175183605794,49.34215023978562],[-124.53054184574762,49.33319400198234],[-124.46512156776062,49.333940604408866],[-124.47613598274852,49.32319222549158],[-124.45359996297938,49.317211677655386],[-124.3883859644601,49.31716510704209],[-124.34703173598385,49.312676131811926],[-124.34904549659696,49.341154586441085],[-124.33449954699762,49.34066481669629],[-124.32039751990939,49.329258251896334],[-124.27512096019223,49.32996814553162],[-124.24855605693365,49.30652354470248],[-124.24682806274757,49.3229889846331],[-124.26313449703709,49.39077246185688]],[[-124.47803261497036,49.3607729495445],[-124.44721038418172,49.35666025736599],[-124.4210150445695,49.362148297035375],[-124.38185330080566,49.35856230882125],[-124.38764572594239,49.3354980696161],[-124.41001970252468,49.339344476755954],[-124.4099518963443,49.325915138419056],[-124.43982105332492,49.32601653314987],[-124.44440960069036,49.3375134118683],[-124.48243941840427,49.34532221755466],[-124.47803261497036,49.3607729495445]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.405582724769,\"lat\":49.37762041455997},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5921\"],\"cd_name_en\":[\"Nanaimo\"],\"csd_code\":[\"5921034\"],\"csd_name_en\":[\"Nanaimo G\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Nanaimo\",\"csd_name_fr\":\"Nanaimo G\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.12726255586642,48.79856008726426],[-125.11708715426559,48.7931188640752],[-125.11707233820235,48.80696211440591],[-125.12844310470487,48.807264967307056],[-125.12726255586642,48.79856008726426]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.12203234835444,\"lat\":48.80148823580969},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5923\"],\"cd_name_en\":[\"Alberni-Clayoquot\"],\"csd_code\":[\"5923803\"],\"csd_name_en\":[\"Anacla 12\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Alberni-Clayoquot\",\"csd_name_fr\":\"Anacla 12\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.78389028996062,49.07183900283953],[-125.78254904521671,49.07049465426369],[-125.77775649765337,49.0719649179888],[-125.78137491079153,49.0726689177576],[-125.78389028996062,49.07183900283953]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.78125694648027,\"lat\":49.07169519278187},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5923\"],\"cd_name_en\":[\"Alberni-Clayoquot\"],\"csd_code\":[\"5923823\"],\"csd_name_en\":[\"Esowista 3\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Alberni-Clayoquot\",\"csd_name_fr\":\"Esowista 3\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-127.37776527404323,50.25757587717643],[-127.41038573293771,50.2504750584824],[-127.42104082708231,50.25879552999095],[-127.44044184773853,50.25783790809992],[-127.4683456784131,50.26714837739103],[-127.52616174356527,50.27891655540394],[-127.54208904685837,50.29206463126737],[-127.59909156798793,50.281106648157284],[-127.5980794316502,50.26711466847244],[-127.62381569401909,50.25701586569932],[-127.63705526821936,50.24198828987433],[-127.66186314052989,50.23976784614868],[-127.6846195799748,50.21579354876491],[-127.6955294320611,50.211357265808616],[-127.701339296875,50.18933738448302],[-127.73472597135715,50.189646140626444],[-127.72708955736748,50.175705406581365],[-127.73622438928948,50.16379543449825],[-127.75777390462139,50.1644954184276],[-127.76537623584957,50.15155960911691],[-127.80337943408044,50.14159590966315],[-127.8279088591339,50.145312566612866],[-127.84349612650391,50.13723422477796],[-127.86085406617856,50.14223213277769],[-127.8954112881622,50.11540504900771],[-127.91732659487786,50.128660921052656],[-127.9674036108795,50.122168668928765],[-127.95201047194344,50.09080870230505],[-127.89796369808073,50.05544814519007],[-127.91418929117395,50.01183114771062],[-127.92337483710999,49.93464531255562],[-127.83256730598517,49.83394453291979],[-127.78316142102642,49.77306033035086],[-127.70477436438362,49.69929035000074],[-127.50000000975767,49.578701334957195],[-127.45207438672558,49.552620081215785],[-127.29490352167362,49.51378429525509],[-126.99999999626434,49.5212722763583],[-126.61445839254172,49.54044589057454],[-126.55891808391095,49.541483293451904],[-126.5065359722319,49.54037662639184],[-126.47418448951039,49.5703161984031],[-126.45852299439841,49.577148722699945],[-126.43442922041345,49.57806364903819],[-126.40399392092912,49.570015545462944],[-126.38318690132174,49.56072532217726],[-126.37692682604687,49.56925664557555],[-126.35439588305742,49.57815503472688],[-126.3466283182865,49.59876929818044],[-126.33465441626323,49.605887586965956],[-126.31821749481865,49.6042348068256],[-126.28390867604352,49.57417924564712],[-126.26021998402327,49.57362985242021],[-126.24906143520599,49.5549962881483],[-126.22121505332495,49.55972082178256],[-126.2068254679475,49.55122724209362],[-126.17448223742362,49.555013608458516],[-126.17886221955088,49.56796251317819],[-126.14574187783043,49.57236345167554],[-126.12253283250392,49.56539633229428],[-126.09428426557584,49.56913028529872],[-126.08234347211972,49.55714080127538],[-126.06414842047928,49.551227044415825],[-126.04638023661902,49.558949917272855],[-126.04356918721496,49.567839806642276],[-126.02564849762909,49.57673110942258],[-126.01170715357028,49.570263958426786],[-125.9696933407371,49.58488365171527],[-125.95419599187998,49.58123366160454],[-125.94669063811536,49.57084862852397],[-125.90287681966097,49.55852622343282],[-125.8886072115523,49.546963114330225],[-125.83631690563223,49.544239561018166],[-125.8075057181116,49.539387148167556],[-125.78460620813631,49.539842068734735],[-125.75613022294095,49.51369467328662],[-125.74113128368451,49.52248126499058],[-125.72753538145999,49.544273021547276],[-125.74847634761907,49.57264702621066],[-125.72779944754807,49.58046032310378],[-125.7212161192371,49.602421272583],[-125.68655397688543,49.60737284663144],[-125.70092494758192,49.630654678576306],[-125.72217529842565,49.62702594631659],[-125.73432914244123,49.64861721116295],[-125.75458214426766,49.65610725919198],[-125.77179469711382,49.653275666250806],[-125.80271162211979,49.66284958969106],[-125.80284223807057,49.688201641788986],[-125.83127803664642,49.70607310154001],[-125.85006145712656,49.73558222722284],[-125.86203776107584,49.74521255992034],[-125.87674790520519,49.742333410756004],[-125.89183495632028,49.74970899318708],[-125.91450811526056,49.77612018914798],[-125.91485697594246,49.83737676784932],[-125.9030419886304,49.84549509902818],[-125.8811596388581,49.87160636554901],[-125.88378568179725,49.898160340551414],[-125.89051569071472,49.90452059746293],[-125.91467729333179,49.90163431976575],[-125.91271323577581,49.91923529660911],[-125.9192555563795,49.92494249686281],[-125.92070265748482,49.94921023118281],[-125.90947417850276,49.95496031785919],[-125.90307583556138,49.9731315382511],[-125.8942896821384,49.977048753411616],[-125.90857087575695,49.999546905055055],[-125.77609745535011,49.99709040846026],[-125.70622445050674,49.999657996746286],[-125.63116477543188,49.99948404147591],[-125.63141927920746,49.99056092613108],[-125.60971593352001,49.989948642076676],[-125.59506099560316,49.999949738428754],[-125.57417901851247,50.00123250292977],[-125.5562487058665,50.01793420568663],[-125.53183820821708,50.01373868379198],[-125.48365809022509,50.026482288714966],[-125.44732364972911,50.01567924742254],[-125.41076554930521,50.00853301249461],[-125.40958706171932,50.02512292913235],[-125.38710259736698,50.04372680700234],[-125.36391344564692,50.05180499964564],[-125.31500972306532,50.0522504751115],[-125.32059603890701,50.059567374801006],[-125.31516188662118,50.087609765806846],[-125.386496568807,50.088488522309824],[-125.3628668653346,50.095386039110146],[-125.36148132151544,50.11148737673067],[-125.35191696581126,50.115195801498615],[-125.32065273978249,50.11061335673844],[-125.31221419229742,50.09509028272682],[-125.29492255255923,50.097638569893675],[-125.33201828833494,50.12317505760483],[-125.3505075868729,50.12398596567797],[-125.3610954373833,50.166927704410824],[-125.37907278537106,50.251662898372835],[-125.40069649491778,50.27539156804703],[-125.43387242343157,50.34371605272811],[-125.46244472871294,50.338829168214794],[-125.51908430435452,50.355318782156615],[-125.58327951984381,50.376786460924635],[-125.64663358094732,50.374263503037234],[-125.7259818306501,50.36790831422274],[-125.77075373982488,50.37186880418009],[-125.82080864774268,50.38939404116738],[-125.8557087065654,50.38599831542795],[-125.902061704268,50.39541941503182],[-125.95690570846222,50.4139456461275],[-125.9874788512205,50.42767678017504],[-126.01433707621695,50.44594093009006],[-126.03352749502875,50.45381835072011],[-126.10896461989047,50.471170318636425],[-126.11281868735928,50.40614923103561],[-126.11107797834849,50.397592790493604],[-126.08117717956257,50.39640248556159],[-126.05601051921617,50.40462226366634],[-126.02974469106532,50.38291266484031],[-126.0208036475068,50.366841117259526],[-126.00063268382137,50.36350752582958],[-125.99486138895372,50.34038787807927],[-126.03891693868306,50.344747835008285],[-126.05484599890832,50.33958637442145],[-126.04232363439338,50.31267295633929],[-126.03003222350027,50.303701925270154],[-126.01259183051187,50.305477260063554],[-126.01070237632956,50.29459815650238],[-125.99540286431905,50.28218961107071],[-126.02770807336807,50.259223158789155],[-126.02359735716686,50.25069674756372],[-126.0336265011027,50.23902910126122],[-126.02862729648113,50.23048456196997],[-126.04238706489949,50.22123402259526],[-126.03876273968744,50.20309759515143],[-126.04457971356734,50.180559709620816],[-126.09324273855015,50.178097790548215],[-126.10080977561974,50.159507397412966],[-126.11700104217446,50.15798126179868],[-126.12945008092188,50.1419505263028],[-126.14917130758896,50.14422279772042],[-126.16765934923248,50.131315983807035],[-126.16034493062355,50.12143450022005],[-126.22572837844602,50.12317255499274],[-126.21795178356697,50.10999999584379],[-126.2417126740617,50.10031967752627],[-126.2378609080008,50.08326431624891],[-126.25422616675796,50.06899605656227],[-126.23407362354136,50.05181329574333],[-126.22669355397097,50.03562171104576],[-126.23777430906866,50.02504691032254],[-126.22629216037333,50.01623011618611],[-126.24377159169897,50.00547792159824],[-126.26314101736291,50.000114603386606],[-126.30675557066957,49.97020513492226],[-126.32602606691239,49.95378312241784],[-126.34479100003733,49.951616396028705],[-126.35662089550561,49.94262293027465],[-126.34347040390958,49.9315482372701],[-126.3487575555831,49.92006381257222],[-126.3888294765869,49.90675499454566],[-126.43166824857586,49.91709290084363],[-126.4530920902855,49.90752249962309],[-126.4659881326733,49.908822148108776],[-126.46951983858217,49.9290411043566],[-126.49398552107954,49.96388654216434],[-126.51205382083424,49.96061896916653],[-126.52208013733194,49.97111587017197],[-126.5715692205315,49.99024488415343],[-126.55757521266172,49.998587498035235],[-126.5472161211932,50.013550196411025],[-126.56236061201064,50.02084658505692],[-126.5587448115338,50.02947015230202],[-126.59090008969144,50.02864166381477],[-126.61331988755167,50.02151223947643],[-126.6279153508139,50.02819738676982],[-126.65903491437938,50.01834551585322],[-126.69320557504236,50.03255048029404],[-126.69893733778792,50.0490652356271],[-126.69542462204372,50.061822377587696],[-126.67767877102308,50.07326109740796],[-126.65159566926079,50.07364136515067],[-126.64701800057863,50.09109493194123],[-126.67859232827946,50.09856314044649],[-126.68303069392785,50.10736498281348],[-126.714143605494,50.1148062960752],[-126.74711314716124,50.103447513102175],[-126.75641232506221,50.11212221860764],[-126.79100593542039,50.12479455859454],[-126.7864662179292,50.13943028326059],[-126.7664618427231,50.147739405621195],[-126.78134759735174,50.15673855927349],[-126.79618303572161,50.17654239406156],[-126.82193470443154,50.16974318595024],[-126.81616116166997,50.15675203632487],[-126.82008147736111,50.14336502171994],[-126.83962438778723,50.138759269032725],[-126.87190888373448,50.15949841131027],[-126.90366665968402,50.190153980536145],[-126.91818033257955,50.19414079677509],[-126.9406098387738,50.18257879445394],[-126.99052376203886,50.1816431324169],[-126.99247160128917,50.19743257699909],[-126.98849810488812,50.224923536932884],[-126.97294027294762,50.23111371716515],[-126.97280761442214,50.240270740217404],[-126.99881761110906,50.25008633369633],[-126.99842100921816,50.2779481543137],[-127.02454701354985,50.288305351619684],[-127.02960958650412,50.299983146976054],[-127.04394016403363,50.30676471379209],[-127.04682367539517,50.32315369692789],[-127.06491092461036,50.326717383538835],[-127.06695502521302,50.33598022357125],[-127.09477100459817,50.340295157468525],[-127.09559903773368,50.32417287483772],[-127.11237259925912,50.32413896410543],[-127.16147741894353,50.2874814113816],[-127.17871935449938,50.262810950726745],[-127.20155737473631,50.275296000138034],[-127.2254551070469,50.264463653546315],[-127.24523720530128,50.277464901874815],[-127.2655790970297,50.284328308016626],[-127.27577861015169,50.277109148171206],[-127.29692306413267,50.27680550093482],[-127.29109781811653,50.24011000156111],[-127.2957325960025,50.23408410042692],[-127.33392501516441,50.23200417411109],[-127.37776527404323,50.25757587717643]],[[-126.937951427428,49.98711726426814],[-126.94346255290544,49.98889318630642],[-126.9380215773479,49.99091137754751],[-126.937951427428,49.98711726426814]],[[-127.37780296521817,50.029595668296594],[-127.38101267133061,50.03251026474542],[-127.37454104863433,50.03283237515171],[-127.37780296521817,50.029595668296594]],[[-126.98017785056078,49.87652877390634],[-126.97435350334975,49.876958927280306],[-126.97478145495016,49.872108057425905],[-126.98029143353293,49.8738313649184],[-126.98017785056078,49.87652877390634]],[[-127.40471975999863,50.01455317128236],[-127.39769346122645,50.014275474282506],[-127.39589914345004,50.00906997325531],[-127.40495573722762,50.007413668955614],[-127.40471975999863,50.01455317128236]],[[-126.61626116262782,49.59088937205318],[-126.62775013981651,49.5936722560784],[-126.63720414904171,49.59275861341516],[-126.63715638944765,49.59882720700165],[-126.61993934351743,49.59549956746149],[-126.61626116262782,49.59088937205318]],[[-126.08821348866103,49.820588044816084],[-126.0806777938901,49.82629951376198],[-126.06667553962819,49.81104101007511],[-126.07903781671357,49.806516417815715],[-126.08821348866103,49.820588044816084]],[[-126.8593229876534,49.979914978223114],[-126.86390871166458,49.97973540970854],[-126.86445162026163,49.98514761352549],[-126.84414168431108,49.99342041434854],[-126.84514951780614,49.96927528387578],[-126.8593229876534,49.979914978223114]],[[-125.95319028075808,50.39197987197781],[-125.93461776647344,50.37321359252417],[-125.9255012522863,50.35764999989535],[-125.95106303934934,50.357650953870156],[-125.96590154120099,50.378264288839844],[-125.95319028075808,50.39197987197781]],[[-126.63761186223812,49.93758945408059],[-126.64915188913486,49.93148007173149],[-126.64875771509709,49.91762340416941],[-126.66241797478389,49.88967659447802],[-126.67163925794209,49.88969930372542],[-126.67190846789633,49.91074357985559],[-126.66082439521318,49.92659864937838],[-126.6598211736957,49.94509988642671],[-126.63761186223812,49.93758945408059]],[[-126.05704039179504,49.79370792222367],[-126.04185140230669,49.793463882028036],[-126.04301738772865,49.76725314495208],[-126.05407788838893,49.76707155885295],[-126.05617748796168,49.7514517904253],[-126.0722173585481,49.74705915844551],[-126.10125057377496,49.70868341688446],[-126.10291875651228,49.68380812305783],[-126.09771034645262,49.67141693771763],[-126.13873377701825,49.67197103772286],[-126.10317660635194,49.709040281956064],[-126.05810422887826,49.77107145444185],[-126.05704039179504,49.79370792222367]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-126.70756994726447,\"lat\":49.92234989932956},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5924\"],\"cd_name_en\":[\"Strathcona\"],\"csd_code\":[\"5924048\"],\"csd_name_en\":[\"Strathcona A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Strathcona\",\"csd_name_fr\":\"Strathcona A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-127.37780296521817,50.029595668296594],[-127.37454104863433,50.03283237515171],[-127.38101267133061,50.03251026474542],[-127.37780296521817,50.029595668296594]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-127.3777855617277,\"lat\":50.03164610273124},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5924\"],\"cd_name_en\":[\"Strathcona\"],\"csd_code\":[\"5924806\"],\"csd_name_en\":[\"Houpsitas 6\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Strathcona\",\"csd_name_fr\":\"Houpsitas 6\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.50997771701101,49.79257292765273],[-124.50366380926643,49.82960249151853],[-124.4927784368566,49.83342243143889],[-124.50387408918516,49.85865249911747],[-124.49843364424547,49.87365110680379],[-124.5183249148336,49.87498796675871],[-124.5267849572023,49.88733315547778],[-124.53327294080133,49.89735910158803],[-124.55238079917036,49.895310695120415],[-124.57685422469592,49.907974280548785],[-124.57701818358487,49.90046844658],[-124.59462465859302,49.88957090023266],[-124.60382755210394,49.88602705501017],[-124.56353839683068,49.86409661380753],[-124.54574744815118,49.84866538168257],[-124.536961014703,49.82064571544729],[-124.53794132182907,49.801193690404624],[-124.50997771701101,49.79257292765273]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.53692970570656,\"lat\":49.85637437878919},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5927\"],\"cd_name_en\":[\"Powell River\"],\"csd_code\":[\"5927008\"],\"csd_name_en\":[\"Powell River\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Powell River\",\"csd_name_fr\":\"Powell River\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.11365661681008,50.02465511976424],[-124.16578636716197,50.02285703453133],[-124.19876607728166,50.00751654388136],[-124.21258112570301,50.00820531907379],[-124.25113130869754,50.025012224814446],[-124.33678196855983,50.02566325544838],[-124.38111825888068,50.0242283552438],[-124.44310768257458,50.014407103014996],[-124.44514245569368,49.987794869303286],[-124.4336840704546,49.97849761223913],[-124.43505193694152,49.95597263757423],[-124.41585316181502,49.95228711477671],[-124.41980321997335,49.90360267050012],[-124.43256861802462,49.89420670062503],[-124.44122279082382,49.875165725048596],[-124.44226523939999,49.856349324784645],[-124.43157100596363,49.84009519915697],[-124.40837332782195,49.840152341559794],[-124.40979644098485,49.80291364445116],[-124.43776986635388,49.802733885509014],[-124.43752401328294,49.779767686321556],[-124.43174070994279,49.77643029816356],[-124.4329061427104,49.7487318241289],[-124.44203264367322,49.748762440965805],[-124.33320654182207,49.73009497127666],[-124.3094473465528,49.720183964012946],[-124.29188511813248,49.70156905372372],[-124.23708803674387,49.74845469043991],[-124.22054029404721,49.75726075544282],[-124.13707794608034,49.769426903081516],[-124.09082641135899,49.78440362310393],[-124.03499284137068,49.805472257160446],[-124.02550036012154,49.8252450230006],[-124.02516962382542,49.839999023805],[-124.04571924802121,49.86770632311759],[-124.03417666211985,49.92796671437674],[-124.06294401064476,49.933246146387916],[-124.06024381808379,49.96298168854179],[-124.06940256760842,49.96466752337913],[-124.06756337849534,50.000616941103665],[-124.0793491844389,50.000236745671025],[-124.09663919814446,50.01643983179871],[-124.11365661681008,50.02465511976424]],[[-124.32851002293306,49.77689315153648],[-124.33059611461928,49.77345860323705],[-124.33939044840315,49.772545293411305],[-124.33954844652735,49.77540014400534],[-124.32851002293306,49.77689315153648]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.24789641801178,\"lat\":49.883173061342845},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5927\"],\"cd_name_en\":[\"Powell River\"],\"csd_code\":[\"5927016\"],\"csd_name_en\":[\"qathet C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Powell River\",\"csd_name_fr\":\"qathet C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.57685422469592,49.907974280548785],[-124.57733306727114,49.91466495579223],[-124.63575114520246,49.914453246596],[-124.61990253019707,49.89610167483872],[-124.59462465859302,49.88957090023266],[-124.57701818358487,49.90046844658],[-124.57685422469592,49.907974280548785]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.6025857454405,\"lat\":49.9045936360515},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5927\"],\"cd_name_en\":[\"Powell River\"],\"csd_code\":[\"5927802\"],\"csd_name_en\":[\"Sliammon 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Tla'amin Lands\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Powell River\",\"csd_name_fr\":\"Sliammon 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.94407035286903,50.6942607673048],[-121.95528659041533,50.69208606261585],[-121.95658250896601,50.67185132410411],[-121.94564258801152,50.67228901352936],[-121.94039857951077,50.675441696604445],[-121.94407035286903,50.6942607673048]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.94898411177564,\"lat\":50.68227335288434},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5931\"],\"cd_name_en\":[\"Squamish-Lillooet\"],\"csd_code\":[\"5931821\"],\"csd_name_en\":[\"Lillooet 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Squamish-Lillooet\",\"csd_name_fr\":\"Lillooet 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.88482629076654,50.64949516504053],[-121.8905662391541,50.66247462977406],[-121.91712616125086,50.66598416195207],[-121.88482629076654,50.64949516504053]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.89750623039049,\"lat\":50.65931798558889},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5931\"],\"cd_name_en\":[\"Squamish-Lillooet\"],\"csd_code\":[\"5931823\"],\"csd_name_en\":[\"McCartney's Flat 4\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Squamish-Lillooet\",\"csd_name_fr\":\"McCartney's Flat 4\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.92154990607571,50.92464755153206],[-119.96148377789284,50.91441881638423],[-119.93079360017069,50.87216878810965],[-119.91881877347876,50.87321458966858],[-119.91390564731269,50.85854725925117],[-119.8725986441273,50.86012095614061],[-119.85576411343577,50.86572539797189],[-119.83017883944895,50.86621008657413],[-119.83232960679308,50.88863406840274],[-119.92154990607571,50.92464755153206]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.89589370425527,\"lat\":50.88927956231406},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933045\"],\"csd_name_en\":[\"Sun Peaks Mountain\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Sun Peaks Mountain\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.56432611450221,50.130529755150384],[-121.56818691486991,50.14276170262291],[-121.5742316984093,50.14273082642359],[-121.57309972153499,50.133718269239395],[-121.56432611450221,50.130529755150384]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.56974140229687,\"lat\":50.13715269663419},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933849\"],\"csd_name_en\":[\"Siska Flat\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Siska Flat\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.20970153701757,50.67306505985461],[-120.17857740173227,50.678201001289075],[-120.1761246138965,50.78023762108498],[-120.30088277216662,50.78150923651867],[-120.32417014780907,50.78192276826977],[-120.34023509115553,50.76144680642559],[-120.34331810305102,50.74876579416844],[-120.35578748724845,50.73677399186451],[-120.35172810217028,50.7006817126173],[-120.34033998597565,50.68684050242464],[-120.29595689432811,50.67465000542155],[-120.29237359428511,50.68088401423222],[-120.26600859138134,50.68175961219948],[-120.20970153701757,50.67306505985461]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-120.26079035941808,\"lat\":50.72915793503745},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933880\"],\"csd_name_en\":[\"Kamloops 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Kamloops 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-119.27788178506407,50.34037685783297],[-119.28694831725775,50.31544876144762],[-119.28475322052839,50.30326698508262],[-119.28658251964855,50.29553266782334],[-119.26013852200629,50.29048049380641],[-119.25376791951672,50.281921898336726],[-119.23315781370283,50.283162099880556],[-119.2311986035364,50.29961029643021],[-119.23539128617936,50.33464309637921],[-119.24279685031829,50.34023894878028],[-119.27788178506407,50.34037685783297]]],[[[-119.41898009405095,50.2528537102079],[-119.3996696096197,50.263892354379166],[-119.35799110631915,50.29650675472331],[-119.35892523503526,50.30148016440852],[-119.33062644032216,50.31552566266023],[-119.30595810895932,50.34021436773495],[-119.34449522941561,50.33305764655967],[-119.37037694215432,50.310637769650846],[-119.39218273861401,50.297876853805576],[-119.39226380381977,50.28329435673302],[-119.42714511754127,50.269698851479234],[-119.44321733417675,50.26974877060015],[-119.45086281083934,50.245625472638885],[-119.43684883836325,50.22580615510996],[-119.46075721894688,50.21119038524712],[-119.4752973873852,50.17505122741534],[-119.47431653510567,50.149953005047855],[-119.45316062829207,50.150748904886704],[-119.45400256810896,50.18656818409766],[-119.43290768902538,50.20063165947925],[-119.42012971114077,50.21702519217498],[-119.4301611352332,50.241746811808206],[-119.41898009405095,50.2528537102079]]],[[[-119.29005183686485,50.223248450928544],[-119.29685854425,50.21113208732432],[-119.31247670076662,50.202187808699755],[-119.33136897725674,50.20897993187431],[-119.35320837260772,50.20907455952384],[-119.35363854192956,50.181090058095215],[-119.40979220992884,50.180405146862185],[-119.42034542180909,50.17314310185315],[-119.4196278662286,50.151364341754636],[-119.34750089791531,50.151305159135454],[-119.32903588684951,50.15110066039968],[-119.28866916526268,50.17652568311824],[-119.2883253021407,50.18371525713441],[-119.24500609607121,50.18413043095487],[-119.22111550733113,50.180238375508644],[-119.2272602560319,50.19489724316493],[-119.23156338061699,50.21572274782282],[-119.26298502820465,50.21509441221067],[-119.27595833131133,50.2102440283473],[-119.29005183686485,50.223248450928544]]],[[[-119.35239100234091,50.41617074052406],[-119.4457064548474,50.415957521012714],[-119.44636506457506,50.430853694181536],[-119.52493477467372,50.431032276972125],[-119.52581390888628,50.44521647612393],[-119.58186485203649,50.445701550771126],[-119.58166656727428,50.43080461306085],[-119.60610996382977,50.43100759119463],[-119.6061142651965,50.41628758354229],[-119.62860197342657,50.416447223776835],[-119.62844145877398,50.40215317302405],[-119.64448665191006,50.40210758142982],[-119.65279359424277,50.3928523134219],[-119.63348270884104,50.376275622033425],[-119.66422074085902,50.35340550022037],[-119.68451336264465,50.348631556480534],[-119.66614416245368,50.33318892228465],[-119.71706745797724,50.31880585028193],[-119.69552606011106,50.30695851625732],[-119.68195333207318,50.30508829675186],[-119.69806757623944,50.285054943398656],[-119.6816867601543,50.26302289130717],[-119.69742125348549,50.25796287827061],[-119.73849554215683,50.26185351015237],[-119.75185425304845,50.25954996698874],[-119.76180443064712,50.232820985095046],[-119.66796207666505,50.232507457391],[-119.53192473092865,50.23513753278555],[-119.4716809871789,50.23489268031333],[-119.45948306650239,50.23123764330253],[-119.45913874079571,50.26022073711816],[-119.44941816980247,50.27468367098536],[-119.44865634568767,50.314297266899004],[-119.40343947077206,50.314318669653694],[-119.38096274816795,50.32502749126458],[-119.36933025464546,50.33920887341883],[-119.34184300355393,50.346904702065544],[-119.34149254200376,50.404706398089075],[-119.35239100234091,50.41617074052406]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.49679777587458,\"lat\":50.31128722527358},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5937\"],\"cd_name_en\":[\"North Okanagan\"],\"csd_code\":[\"5937017\"],\"csd_name_en\":[\"North Okanagan B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"North Okanagan\",\"csd_name_fr\":\"North Okanagan B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.3292114071863,50.79341382519463],[-119.34125797567407,50.785957081828855],[-119.30425303726457,50.77824448883099],[-119.30505040765686,50.79312346699727],[-119.3292114071863,50.79341382519463]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.31895233766124,\"lat\":50.78705046922742},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5939\"],\"cd_name_en\":[\"Columbia-Shuswap\"],\"csd_code\":[\"5939803\"],\"csd_name_en\":[\"North Bay 5\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Columbia-Shuswap\",\"csd_name_fr\":\"North Bay 5\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-122.04347604438189,52.173411285046654],[-122.04373807052654,52.180289915043815],[-122.06835528060257,52.1963562573541],[-122.07732090950182,52.184567086701534],[-122.04347604438189,52.173411285046654]]],[[[-122.09089669450361,52.127830951727724],[-122.10647991093893,52.124419034789874],[-122.12956439869002,52.135769379679004],[-122.1442445335598,52.149799835968814],[-122.14707538621029,52.16738510954615],[-122.19377095214125,52.16392699805748],[-122.19196052644276,52.15160425777931],[-122.17813081271726,52.14338286336467],[-122.17049575661602,52.11451357087217],[-122.14772586023517,52.10716339510336],[-122.11978866970243,52.10681775361484],[-122.11764925999806,52.099764880576416],[-122.06419090733321,52.09976686584332],[-122.06482148851077,52.11537150225631],[-122.09089669450361,52.127830951727724]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.12915985889173,\"lat\":52.13266357695967},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941009\"],\"csd_name_en\":[\"Williams Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Williams Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.2754018544233,52.33411263510815],[-122.28078052711552,52.32687817638052],[-122.27472143816145,52.31877585547268],[-122.27791611516295,52.3105835848445],[-122.25556924272098,52.31075612201873],[-122.25534399075981,52.33278812144956],[-122.2754018544233,52.33411263510815]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.26659626559399,\"lat\":52.322318126346666},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941810\"],\"csd_name_en\":[\"Soda Creek 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Soda Creek 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-127.50262019606113,50.73441470309164],[-127.52316365726774,50.734560501869865],[-127.52076569527732,50.70570380634946],[-127.495233559899,50.70582072457257],[-127.49482653871355,50.69082720608916],[-127.46616980676822,50.68375053138868],[-127.41811501998198,50.68240939705925],[-127.41772333361918,50.67688489746402],[-127.38372527495353,50.676118282157546],[-127.37225566383687,50.66586007459412],[-127.32803054228188,50.662673787302175],[-127.32773404572471,50.67617594741696],[-127.37241349331478,50.692846851012106],[-127.38131429471989,50.70336034796568],[-127.41102623651369,50.697015054220095],[-127.4207883120338,50.70507791935485],[-127.42883921563717,50.72646278489178],[-127.468509635938,50.72277907800353],[-127.49425005795068,50.73066847758243],[-127.50262019606113,50.73441470309164]],[[-127.40808910186996,50.69454904098011],[-127.40810487533655,50.69206882452226],[-127.41374808806464,50.69203735509762],[-127.41404267875801,50.69526820836745],[-127.40816768007548,50.69544777114678],[-127.40299363660317,50.69649565009971],[-127.40288957444378,50.69525379190085],[-127.40808910186996,50.69454904098011]],[[-127.38568536426632,50.69687832313393],[-127.38977050841537,50.698121594781085],[-127.38554274000435,50.69992977772367],[-127.38084716465998,50.69813807151776],[-127.38036341302117,50.6944115530883],[-127.3857985501401,50.69445597466079],[-127.38568536426632,50.69687832313393]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-127.43585494134781,\"lat\":50.698669469086205},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5943\"],\"cd_name_en\":[\"Mount Waddington\"],\"csd_code\":[\"5943023\"],\"csd_name_en\":[\"Port Hardy\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Mount Waddington\",\"csd_name_fr\":\"Port Hardy\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-131.98607317891944,53.28324794660073],[-131.96922610876095,53.28307649393449],[-131.96639129105517,53.3020986628078],[-131.9750573098652,53.30311599265788],[-131.98607317891944,53.28324794660073]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-131.97460362629653,\"lat\":53.29190324143674},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5947\"],\"cd_name_en\":[\"Skeena-Queen Charlotte\"],\"csd_code\":[\"5947804\"],\"csd_name_en\":[\"Skidegate 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Skeena-Queen Charlotte\",\"csd_name_fr\":\"Skidegate 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.9191987435562,54.03431690179199],[-124.89037149930755,54.03437380428305],[-124.88980858149439,54.04937134559445],[-124.90039582358025,54.05960697183373],[-124.88922406059453,54.07023186897551],[-124.9260528553488,54.069948133780315],[-124.92842448342842,54.0407043116513],[-124.9191987435562,54.03431690179199]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.90963516263717,\"lat\":54.05175685981074},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951807\"],\"csd_name_en\":[\"Stellaquo (Stella) 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Stellaquo (Stella) 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.64367928902651,54.01213565251264],[-122.72715327668715,54.01230630294782],[-122.72720366046669,54.03939731074058],[-122.8512307868268,54.03967207632185],[-122.85021645022121,53.9811837152213],[-122.90050876605787,53.97808582169872],[-122.891117606961,53.95232410096769],[-122.89116827447342,53.874262181528835],[-122.89674156672397,53.85253530858053],[-122.8819370511286,53.85192476312205],[-122.88149539362684,53.81588353584694],[-122.80394500889035,53.815984706249075],[-122.73352433007915,53.81294071238148],[-122.71438819867258,53.82245537903028],[-122.71817431967709,53.84176550818027],[-122.70579794032997,53.842048143291706],[-122.70600872524197,53.880045944931375],[-122.6276583073737,53.87657189261858],[-122.62907569336302,53.8912568273552],[-122.60508709105935,53.891299439788405],[-122.60403464970042,53.9132028622079],[-122.64194046577117,53.92786949284658],[-122.65012588188286,53.93189798238162],[-122.68812472521624,53.930584504349866],[-122.69002299419647,53.95271140682074],[-122.7041337946066,53.96461030302623],[-122.6556991852387,53.96216680909509],[-122.65245230668036,53.97400650758757],[-122.6741183977652,53.975458296947274],[-122.68542151335451,53.98620869965474],[-122.67955529733376,53.996177689008185],[-122.63060261210074,54.00184880548312],[-122.62456422809102,54.00626519799753],[-122.64367928902651,54.01213565251264]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.77498687534168,\"lat\":53.92403257244775},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5953\"],\"cd_name_en\":[\"Fraser-Fort George\"],\"csd_code\":[\"5953023\"],\"csd_name_en\":[\"Prince George\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser-Fort George\",\"csd_name_fr\":\"Prince George\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.3962628500456,54.536261340179095],[-121.43998168573329,54.523502035189786],[-121.4308227591672,54.5036168575063],[-121.41257999365456,54.49102851156856],[-121.4208477736536,54.468879870023386],[-121.41832077773829,54.45601930699671],[-121.44036831808394,54.449902190810484],[-121.46329157236922,54.43489793882004],[-121.46663275692218,54.413018904617466],[-121.47866465918871,54.41048510947727],[-121.50211790992104,54.425157610861476],[-121.56855579584455,54.43947683856627],[-121.58581857722507,54.43705209711918],[-121.58081655430681,54.41876606377927],[-121.6331722094706,54.422828834434526],[-121.64131732997744,54.404810018090814],[-121.65716449214109,54.391915978654104],[-121.68115787164102,54.409727050269936],[-121.71363529277836,54.40908750817273],[-121.76882786149163,54.418817962798045],[-121.84076614571099,54.4469949509002],[-121.86656104607978,54.45429247288701],[-121.87487708706989,54.431182385714926],[-121.86359696842081,54.404585750025745],[-121.88485664200597,54.398249893453645],[-121.92974726194194,54.41563541443273],[-121.95283442408555,54.43869275558607],[-121.99323776368313,54.44826149986502],[-122.00333037585123,54.44024578435709],[-122.04239009272001,54.4378651761773],[-122.0666120441153,54.44455971588362],[-122.07219360644433,54.463165661503176],[-122.06927467265308,54.47733245524475],[-122.08747645732326,54.488838745439764],[-122.11556192931027,54.471318082244494],[-122.13368492333204,54.473016991476506],[-122.13528711533942,54.48450948906727],[-122.1554841746017,54.48993370857232],[-122.18386590148491,54.47023007085807],[-122.2049024608196,54.483135690964204],[-122.23536531390641,54.49489044955149],[-122.23898038341656,54.484211001534064],[-122.22024069808138,54.46522997276261],[-122.22809751567588,54.45153414852394],[-122.22873064458321,54.20484074762654],[-122.2707998122939,54.20569088924608],[-122.30749521670856,54.22092419563836],[-122.31798698211017,54.23308700362065],[-122.35457819810604,54.24440591240042],[-122.37397729461645,54.25938250577098],[-122.38965949097062,54.251829603842175],[-122.44427840395369,54.23653559326453],[-122.46393761548296,54.22236488827602],[-122.49896790168536,54.22161779104361],[-122.5381985887143,54.20638930752604],[-122.54673899494557,54.182980908713],[-122.54092750278413,54.166130291974355],[-122.57556246739512,54.161426134376846],[-122.57262389538153,54.12933409158277],[-122.59809151143817,54.12122280312153],[-122.54173440884455,54.117263583392514],[-122.53307279159209,54.10479980474422],[-122.50986648578554,54.0933222111034],[-122.51027078828005,54.086073891433195],[-122.53827529891159,54.078367296459845],[-122.56977261238124,54.05294330670324],[-122.58495520092964,54.047860494259986],[-122.61420859780874,54.04620250552657],[-122.59606279360443,54.03224619135535],[-122.60715581393481,54.01591132004634],[-122.62456422809102,54.00626519799753],[-122.63060261210074,54.00184880548312],[-122.67955529733376,53.996177689008185],[-122.68542151335451,53.98620869965474],[-122.6741183977652,53.975458296947274],[-122.65245230668036,53.97400650758757],[-122.6556991852387,53.96216680909509],[-122.7041337946066,53.96461030302623],[-122.69002299419647,53.95271140682074],[-122.68812472521624,53.930584504349866],[-122.65012588188286,53.93189798238162],[-122.64194046577117,53.92786949284658],[-122.54315228614347,53.92746367112867],[-122.54327809805207,53.94175591307219],[-122.52106551012453,53.941586965038105],[-122.51816905129857,53.90729753429215],[-122.4623174191388,53.89202188756995],[-122.46154889909576,53.88050183707905],[-122.48801584812836,53.86626601659588],[-122.48408101768678,53.84306074393819],[-122.44829416839147,53.83392213782852],[-122.43018779511549,53.80939575983584],[-122.41391496877267,53.77856069271975],[-122.40473216501744,53.71839500322484],[-122.37971791149783,53.70970921732228],[-122.35856967210964,53.69200791537118],[-122.32507965906989,53.68316441334355],[-122.32209659853066,53.65796460419328],[-122.34010340720181,53.645535856653666],[-122.38810077117945,53.62753982859552],[-122.39714160562602,53.5914237257774],[-122.39519799379184,53.56160062846312],[-122.38304111113429,53.54161762191897],[-122.35740187959966,53.52446273023075],[-122.33901556311234,53.54324522723329],[-122.3186952927066,53.54540597969499],[-122.27349170873372,53.52735390890959],[-122.25845234709053,53.53190618036161],[-122.21509375221144,53.52423547890765],[-122.18252180646027,53.52526334478131],[-122.18054008337425,53.516661594322386],[-122.19230112995382,53.49135650713364],[-122.1734164266495,53.4803338984022],[-122.16290278269919,53.45678892625051],[-121.93100256394101,53.4561526746552],[-121.81402908543944,53.45691053152458],[-121.57134351828725,53.452549621481],[-121.55542567849943,53.43938651210761],[-121.28829575838661,53.44571377236641],[-121.28350798451824,53.42986378997423],[-121.26405345424196,53.40321596771028],[-121.22816378435293,53.384730096343375],[-121.1976924989188,53.37905527055519],[-121.17401827075334,53.39643052332136],[-121.1599810786083,53.381282819604074],[-121.14249477839634,53.379773461025486],[-121.1350022099719,53.394584591084076],[-121.11113258646174,53.39729439784913],[-121.07347708479367,53.39316147374082],[-121.05450707909692,53.40050395787529],[-121.02441456231108,53.4277142567333],[-121.00828606866168,53.43040327155395],[-121.00986840430477,53.441266500281024],[-121.02642901070173,53.452336853834964],[-121.01313359166068,53.48015149162996],[-121.01838055310967,53.49969836215477],[-121.00982585274386,53.519200801531994],[-121.04394595252033,53.53350916646301],[-121.10733408680579,53.51576796582823],[-121.11999970552722,53.53524025641598],[-121.18045045016473,53.563199558309265],[-121.21217707928875,53.56771449114794],[-121.2070654590128,53.58449880247776],[-121.18783443776142,53.59965751772143],[-121.17002024385958,53.636491084886316],[-121.144804746272,53.652369025594275],[-121.13766060082833,53.68749357404428],[-121.11783082733193,53.70004566568697],[-121.11325320671708,53.71383809666868],[-121.13008236030184,53.72566074026824],[-121.13233756110094,53.76695279273683],[-121.11165190536144,53.775264901070535],[-121.0960303257247,53.78845248620791],[-121.1038099947197,53.84696867868397],[-121.11256873828124,54.000755874258076],[-121.08553613456581,53.99740590991303],[-121.02868684980423,53.97768817154362],[-121.0068603909199,53.962870927593414],[-120.9926097696748,53.94511386350711],[-121.01167684823534,53.91029510981981],[-121.00047467690848,53.90318032391716],[-120.97535123331994,53.906327065100655],[-120.93310469630791,53.89422069784152],[-120.92018212778585,53.895588124565336],[-120.92123697785274,53.91314977095227],[-120.89668258233696,53.91286442630608],[-120.87901817921465,53.927604724714875],[-120.8562675391007,53.92829105431812],[-120.7903589036525,53.88157353677616],[-120.7589592767069,53.903654551218644],[-120.73755042804567,53.90553916148939],[-120.72018812842087,53.9010438873793],[-120.67968911416605,53.90093106717803],[-120.65544690784043,53.89202754449593],[-120.62551263097654,53.8697911252255],[-120.58300451832123,53.8628532962318],[-120.56160174557226,53.840134689060854],[-120.56739232873618,53.81820783353864],[-120.51327308537132,53.81148724776225],[-120.47012544984607,53.79515919854631],[-120.4400108158984,53.79037085158003],[-120.40643056729002,53.791135388937185],[-120.38705368771564,53.77747964983246],[-120.36930035786092,53.77666202283567],[-120.34072982362028,53.7856092724437],[-120.29499868652887,53.78188278168137],[-120.25740817884247,53.76401083718783],[-120.23173786563326,53.7571037941942],[-120.20979329911408,53.76845336895962],[-120.1811096113087,53.776899579403015],[-120.15051183560888,53.77302184956204],[-120.11627183700557,53.780674731344895],[-120.09703725951101,53.79230586385476],[-120.0596564389269,53.79194397960063],[-120.03708743688581,53.80465020285502],[-120.04979003740533,53.82900733332956],[-120.04296272383124,53.845896270187666],[-120.01598342628901,53.851744131298425],[-120.01742562559552,53.86419604213508],[-120.05282219380109,53.883247050947624],[-120.06758092622987,53.90882074351385],[-120.05545343245065,53.92084675678502],[-120.05838286107166,53.9406218247104],[-120.0693234154657,53.9531892423438],[-120.0639123921856,53.96431109745162],[-120.07449499417815,53.9777957288882],[-120.09681674025302,53.98457154295584],[-120.12290772206748,53.972032021956714],[-120.15551482060394,53.9381634709043],[-120.19181837243788,53.94000282229551],[-120.20788086229615,53.95504084065967],[-120.2095826300535,53.97282096202608],[-120.26000412146344,53.97662783203441],[-120.26290373239243,53.99962947065557],[-120.24958644111717,54.021084832793726],[-120.22962825077327,54.04154911476793],[-120.19654626641233,54.02980975934424],[-120.193633802463,54.04432740978759],[-120.17826547332308,54.04211993644232],[-120.14357943179088,54.064601060483334],[-120.14213498098687,54.074219084126156],[-120.15553786128167,54.086292834844954],[-120.15520418179679,54.107653062177526],[-120.16729661590642,54.12152147795512],[-120.19850604217717,54.114211595717805],[-120.23141488360345,54.1113385020886],[-120.28840340529318,54.1141655722026],[-120.3289981199751,54.10436139573187],[-120.3932197831698,54.121754974538526],[-120.44024543775105,54.1184191978145],[-120.46056123282402,54.13064383720717],[-120.47922711460116,54.13508028197595],[-120.50626694589498,54.1293712064619],[-120.53180825719683,54.136016892849014],[-120.55686660648817,54.16095433853941],[-120.58146975282438,54.17383642705222],[-120.56776971149375,54.190984460518244],[-120.5662528206723,54.218821283799144],[-120.58405894142003,54.22783639912693],[-120.57551026407862,54.23942843481242],[-120.58090793683915,54.256388427305865],[-120.60631240465877,54.289686629328],[-120.62406303498746,54.29217588045531],[-120.6311577108204,54.28115448020327],[-120.65286539173356,54.28873601687126],[-120.67664059821597,54.28229651024055],[-120.70687088662439,54.296043576311774],[-120.71338279311838,54.30516431815179],[-120.68312336644736,54.32295642560172],[-120.69901686901086,54.34636574474165],[-120.65962667730243,54.35502369422085],[-120.6680399519537,54.37432996991227],[-120.68897163703238,54.39181388435751],[-120.73219988544552,54.40861133167901],[-120.76073440660615,54.396393018065716],[-120.7759607921544,54.39713739916346],[-120.80207054665858,54.42798952011748],[-120.80004331707023,54.462066219714735],[-120.78989519697313,54.46874414915716],[-120.82507867380457,54.49371230846317],[-120.87517834579693,54.48894328095812],[-120.87684579298963,54.46516756688129],[-120.88641184790083,54.46013715410348],[-120.93417836601908,54.45197083625612],[-120.95407489758423,54.46285622592823],[-121.00468414786356,54.46369689376641],[-121.03779706020516,54.45385367202756],[-121.06301548982961,54.46730352843188],[-121.0741632486178,54.45119249742323],[-121.11945721543646,54.47496100199051],[-121.12126087522884,54.493346304043314],[-121.13426684736629,54.51360009353912],[-121.12244976065546,54.53690068843082],[-121.12452518879195,54.54896309836506],[-121.14502215056723,54.55275945486304],[-121.17338952121287,54.54786424534898],[-121.21991715328087,54.549641772752],[-121.24816519574712,54.54656786917655],[-121.26374096732519,54.534972129461934],[-121.27207452238889,54.51723735180407],[-121.3102198447924,54.51480391084444],[-121.3554547834239,54.535740044172435],[-121.3962628500456,54.536261340179095]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.49024822256604,\"lat\":53.98464907010044},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5953\"],\"cd_name_en\":[\"Fraser-Fort George\"],\"csd_code\":[\"5953048\"],\"csd_name_en\":[\"Fraser-Fort George F\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser-Fort George\",\"csd_name_fr\":\"Fraser-Fort George F\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.03699721524816,54.99288277642774],[-123.05271669622405,54.99484361913068],[-123.06435351239243,54.96884610131809],[-123.08844003049067,54.95067889895225],[-123.05713502232184,54.94263957549497],[-123.02538571385733,54.94898129248759],[-123.0431451145,54.96083913571749],[-123.03699721524816,54.99288277642774]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.05444668136163,\"lat\":54.96380042447539},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5953\"],\"cd_name_en\":[\"Fraser-Fort George\"],\"csd_code\":[\"5953802\"],\"csd_name_en\":[\"McLeod Lake 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser-Fort George\",\"csd_name_fr\":\"McLeod Lake 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-121.29589901349031,55.7414183044426],[-121.31925020567896,55.74919153805887],[-121.32100784376357,55.73542386187178],[-121.29589901349031,55.7414183044426]]],[[[-122.22653010365684,55.627914800458555],[-122.22605237313262,55.619325054013004],[-122.26476194905143,55.61228734174814],[-122.26451880018955,55.60089284844445],[-122.22584659035842,55.598845648257836],[-122.18708565074398,55.600293259911076],[-122.16947010066603,55.59692477942971],[-122.17662619534819,55.63140047712331],[-122.22653010365684,55.627914800458555]]],[[[-121.6897831992084,55.751667706583596],[-121.69953125090282,55.74059237443903],[-121.68232134777831,55.71590050592622],[-121.66508713887534,55.700393202002395],[-121.64382079358175,55.693129011329965],[-121.64467069556848,55.67683267334154],[-121.62072607124865,55.68530893913443],[-121.59672005585519,55.681480942151374],[-121.58570292260713,55.688501589985876],[-121.58545366135507,55.70855382093339],[-121.59698169782017,55.7157129310575],[-121.57040464780854,55.72475849219186],[-121.56489246662291,55.737113743012614],[-121.5962753604463,55.73743260210768],[-121.6036993615658,55.75015519434091],[-121.6897831992084,55.751667706583596]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.77635959951517,\"lat\":55.69287648062976},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5955\"],\"cd_name_en\":[\"Peace River\"],\"csd_code\":[\"5955010\"],\"csd_name_en\":[\"Chetwynd\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Peace River\",\"csd_name_fr\":\"Chetwynd\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.97516266531099,56.923430883760425],[-124.99376515772741,56.917183796782986],[-124.99337333755172,56.89231399347436],[-124.97174044427939,56.878363681353996],[-124.95741275708517,56.892786678545484],[-124.95037251887908,56.91084138085572],[-124.95605963062819,56.925318472766186],[-124.97516266531099,56.923430883760425]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.97295213727615,\"lat\":56.904318902852495},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5955\"],\"cd_name_en\":[\"Peace River\"],\"csd_code\":[\"5955840\"],\"csd_name_en\":[\"Finlay River 6\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Peace River\",\"csd_name_fr\":\"Finlay River 6\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-128.49319187198287,59.92303796680387],[-128.48436006433184,59.93226725250593],[-128.50228590540266,59.93976179245075],[-128.52502825235288,59.93209508301558],[-128.50262152534404,59.923637622078424],[-128.4939094081969,59.92567020808006],[-128.49319187198287,59.92303796680387]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-128.50285210867924,\"lat\":59.931410780178396},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5957\"],\"cd_name_en\":[\"Stikine\"],\"csd_code\":[\"5957814\"],\"csd_name_en\":[\"Liard River 3\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Stikine\",\"csd_name_fr\":\"Liard River 3\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-137.5291017789298,60.79333129751541],[-137.58090248697488,60.79088929357909],[-137.5900117250942,60.773056340418464],[-137.55581029068207,60.76330519083155],[-137.5389518284247,60.75183289064111],[-137.50973687326024,60.74238395663718],[-137.45134980738965,60.7406403040688],[-137.45240254222443,60.79280831188095],[-137.5291017789298,60.79333129751541]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-137.5091931457532,\"lat\":60.770166119619006},\"year\":\"2021\",\"prov_code\":[\"60\"],\"prov_name_en\":[\"Yukon\"],\"cd_code\":[\"6001\"],\"cd_name_en\":[\"Yukon\"],\"csd_code\":[\"6001018\"],\"csd_name_en\":[\"Haines Junction\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Yukon\",\"cd_name_fr\":\"Yukon\",\"csd_name_fr\":\"Haines Junction\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.83106894089265,73.93239832191084],[-109.83090064984346,74.1691874548857],[-109.83155696836923,74.27479688920742],[-109.83183529986674,74.56859740920561],[-109.8305543233938,74.76260853730017],[-109.83057798761581,74.93114783422511],[-109.83222586061216,75.16067325187579],[-109.83167524526696,75.43500060705641],[-109.83130213961458,75.54709290664623],[-109.83217245495192,75.83778281102286],[-109.83386056121712,76.04180124304483],[-109.83455458498246,76.26433864004724],[-109.8353113503526,76.49948916658663],[-109.83619422067036,76.76435835540774],[-109.8346806889818,77.00000004629707],[-109.83104316163107,77.5350682885957],[-109.83113247533319,77.95725724889776],[-109.83116167239609,78.08920231065808],[-109.83121268698623,78.31374531470098],[-109.83233083447396,78.63026143164349],[-109.8350449854935,79.00000021760538],[-109.83527958154485,80.00000069990607],[-119.48718936981416,85.05113],[-132.86194975056154,85.05113],[-141.0098061233408,74.76420827648063],[-141.01007774175042,69.99998587000748],[-141.01009129160732,69.6894274840654],[-140.69927958200017,69.65043498966287],[-140.4908654707433,69.6275089736633],[-140.31402229305976,69.62697703310029],[-140.22971946435501,69.63681366886901],[-140.12981399458343,69.6435129904187],[-140.04176436421974,69.65280699142949],[-139.96779287799143,69.65249315851429],[-139.8513200018732,69.63903039704505],[-139.7163440904458,69.61767875682405],[-139.4818835665246,69.58378125605125],[-139.41387234262356,69.58627291463752],[-139.35639143309683,69.59183859130097],[-139.31503947797046,69.60436659803749],[-139.19278288949488,69.65501476464263],[-139.13161815638827,69.66890583600335],[-139.05687554090426,69.67412554436521],[-138.99110350643898,69.66593839767027],[-138.91993095519598,69.65299450191827],[-138.83118234036792,69.62706049061117],[-138.7783208759392,69.59703432337477],[-138.7618999027931,69.57563349292046],[-138.80855799326184,69.55275143155724],[-138.89493127269355,69.54381173895253],[-138.95622559556267,69.52746676414812],[-138.98530689293267,69.50764350251497],[-138.97115783949565,69.48629563652433],[-138.94201967096052,69.46005936816184],[-138.8679299086973,69.42886082317054],[-138.7179158878992,69.38407861013047],[-138.61793176000447,69.34512855746067],[-138.53955306755017,69.32426781180276],[-138.4547740028829,69.32312272573081],[-138.3731856138454,69.31290731398397],[-138.29031603561913,69.28465456611242],[-138.22147876339346,69.25198792649881],[-138.17224729467154,69.21715193409527],[-138.09067497659123,69.17739359389385],[-137.98057138780607,69.13951532664076],[-137.6549166190451,69.0604447847896],[-137.37521310399643,69.01384996738734],[-137.24222057759562,69.00537801251087],[-137.17074828233035,68.99673683729402],[-137.05683537709805,68.97675877957073],[-136.9538427928032,68.94238326014643],[-136.90231986237717,68.92993605881514],[-136.83271023543227,68.90890800316461],[-136.74762093970517,68.90520635809733],[-136.672538302581,68.92507161114429],[-136.61387779874048,68.93437116315671],[-136.46861613302198,68.89430080418434],[-136.4674099290856,68.59566736574959],[-136.4653235066337,68.30347367476699],[-136.462800991036,68.12590970536893],[-136.45834903234768,67.81291203925119],[-136.45234257323094,67.71066146363297],[-136.44877269982553,67.64947145861274],[-136.41621270939575,67.64014396754762],[-136.37803911330383,67.63920811160911],[-136.3593798464239,67.62835245214923],[-136.2898931158754,67.6342333750797],[-136.2792676100327,67.62112683657466],[-136.24135357845554,67.61088653889405],[-136.19997975993536,67.56166209428072],[-136.21836174948135,67.53138104671372],[-136.2187148752832,67.51340307369276],[-136.16991973913602,67.50384397240184],[-136.20212473858595,67.48187737978914],[-136.17866768863928,67.45772956602562],[-136.20426766180526,67.43930558498218],[-136.2015452802093,67.41846045601947],[-136.22205360733622,67.40547162014404],[-136.18720781127337,67.39339611992506],[-136.1688759576914,67.3779751137533],[-136.14003434032222,67.36644118919104],[-136.14618790797758,67.3453772803948],[-136.1355103775831,67.32998899179684],[-136.08655748152285,67.30070614890366],[-136.12723619133672,67.27349961712531],[-136.13749607192835,67.23263415790672],[-136.23509607477857,67.17254237902476],[-136.22128786590451,67.15390106384004],[-136.19152465734982,67.14390383608553],[-136.2324495495807,67.1066966745717],[-136.20031587730554,67.06142300227074],[-136.21626476371426,67.05097776971343],[-136.1817909871963,67.03468117416621],[-136.1644135755467,67.00000005930191],[-135.82499999265121,66.9999999966952],[-135.51250001355655,66.99999998735046],[-135.10000000473883,66.99999998076589],[-134.57500000582945,66.9999999832652],[-134.16249998828613,66.99999999731936],[-133.8296349680312,67.00000011506164],[-133.8468833014374,66.98366510466309],[-133.90125870476362,66.98185005965162],[-134.01420963955204,66.98584103679461],[-134.06720306319608,66.9752045515656],[-134.1178470323086,66.95691748549521],[-134.0917092503735,66.93691039121849],[-134.00068758007626,66.90941465738018],[-133.9432901349395,66.90526295934995],[-133.8904670596115,66.88349918494393],[-133.88953185529562,66.86909966202207],[-133.85028021345593,66.85494752592349],[-133.85326108222486,66.84191505703626],[-133.8330250974587,66.82596101285512],[-133.7874714578372,66.81707239785612],[-133.75966391434665,66.80102695838123],[-133.7759311599197,66.76520894656727],[-133.80380366365375,66.7431910137441],[-133.83217790999697,66.73388885728522],[-133.84633012875406,66.72279629686405],[-133.80529396113857,66.70543488190698],[-133.7620755844036,66.69240119537443],[-133.74806657015378,66.67896361206189],[-133.76206586991484,66.66420839062432],[-133.79336846876924,66.64944320045112],[-133.76205391733336,66.63443313332895],[-133.71758327838293,66.6250019516451],[-133.69648595714224,66.595487716487],[-133.67677456274376,66.58317985231241],[-133.637253030334,66.5763768267077],[-133.5823658567018,66.56225197340946],[-133.58818740061116,66.54997897109224],[-133.690053046596,66.5279022416477],[-133.69344235953412,66.50348549563354],[-133.60982732929102,66.43606524655397],[-133.6393165022858,66.43002061041668],[-133.73419084094377,66.44035661676222],[-133.76637876875506,66.4177679333727],[-133.76806949413145,66.36618351709706],[-133.81131839724912,66.34121500149229],[-133.8354235602441,66.31721772521396],[-133.82190968925832,66.30303648662527],[-133.78575988043522,66.29538023784733],[-133.62622824154394,66.29861707176391],[-133.5805112115614,66.28613658845991],[-133.5535339614372,66.25700891613793],[-133.5663239998775,66.23588630309193],[-133.56795935320972,66.20899338842904],[-133.54891425072236,66.16998680456906],[-133.57116509920428,66.14979378990392],[-133.6016865882104,66.1343363412347],[-133.65785417506189,66.12180553880212],[-133.6796050315245,66.097641348648],[-133.6907059247646,66.07117328507002],[-133.68125471371937,66.05914564963342],[-133.63809111232362,66.06030270616074],[-133.59855620890656,66.05651530071589],[-133.60303552707643,66.03820035689476],[-133.63441906650718,65.9946965725125],[-133.6627924677332,65.98129681367557],[-133.65833087931267,65.95968098933425],[-133.62144560091235,65.9420662187675],[-133.59496403789953,65.93586952891874],[-133.55552832782118,65.95183782125319],[-133.52581134477748,65.95430641868091],[-133.44691950840564,65.9334674905525],[-133.40518518568297,65.93885850397268],[-133.3234460236262,65.97027075000995],[-133.26857884731305,65.99584664478215],[-133.19625465570542,66.00688032328712],[-133.15282932988805,66.01940712247644],[-133.12807023000863,66.03093969958172],[-133.05583826753283,66.01922278482537],[-133.00518058011252,66.01681656520603],[-132.92114750799882,66.02042157579498],[-132.91226351506313,66.00154363019008],[-132.96197149599902,65.96054898617582],[-133.02148482886523,65.91881242157648],[-132.99647092593597,65.90871184158722],[-132.90921597141207,65.88404408253889],[-132.83718650491764,65.90036712527724],[-132.8052854113564,65.92057653603071],[-132.79933805117486,65.95051457714726],[-132.70627442799085,65.98902116357068],[-132.65659687344058,66.0158315683838],[-132.6161479636281,66.02230455777442],[-132.56826273276835,66.02287513459653],[-132.54044428503832,66.01502464556151],[-132.5192074979896,65.99906342696808],[-132.49454186084287,65.97198877606851],[-132.46026019423164,65.97463303115241],[-132.37788832670168,65.98904025490455],[-132.3501222583167,65.95231643193975],[-132.46089617844888,65.93050311588786],[-132.53086336481812,65.90589662376252],[-132.57789965054315,65.8755528261164],[-132.59636896387065,65.85670413030755],[-132.5636795874387,65.83017019462666],[-132.5197025543002,65.81957471887357],[-132.48464637570197,65.80118944282219],[-132.41438779062523,65.78877613399233],[-132.37548300987365,65.76642581030453],[-132.35448261978826,65.74692299028507],[-132.31346095976534,65.73985755032822],[-132.28322502258712,65.7046974128489],[-132.29861619937793,65.68596226086954],[-132.24469789769446,65.66669527298474],[-132.19881288988145,65.61859464700156],[-132.16832125671328,65.60242731302954],[-132.19103123519707,65.57482282555254],[-132.2148737110536,65.55311516102483],[-132.28336851332847,65.50055332012951],[-132.27537032759724,65.45770074971229],[-132.3149576443819,65.4472405937086],[-132.34938715716606,65.42942357511093],[-132.37643655581982,65.40235899212561],[-132.44625313560658,65.38820830338054],[-132.5046174492736,65.36861202020951],[-132.53714817882636,65.35046437661619],[-132.5664242789276,65.28404347450841],[-132.6570047141945,65.27813046679256],[-132.66935429698512,65.25966253836584],[-132.7478971695247,65.22736689771273],[-132.7066870053334,65.19928629185331],[-132.76396469496822,65.19646475697446],[-132.7727212188439,65.18304327825864],[-132.72687157135783,65.15838083341147],[-132.65671034218627,65.14080905720378],[-132.59663193011693,65.14627614761362],[-132.5547642407996,65.17123814370422],[-132.5093371470214,65.17351212224597],[-132.53446207966908,65.12118301430297],[-132.542742072378,65.08990109529242],[-132.5193684480872,65.08151843343171],[-132.4594683194274,65.08111161927405],[-132.33610021975508,65.06071968338325],[-132.33772455273817,65.03830567757926],[-132.4055987491195,65.01000657228415],[-132.41418874135235,64.98438269167816],[-132.49031872826197,64.96240338470905],[-132.49127971377507,64.93556275853186],[-132.46229229622094,64.90157045199167],[-132.4816830619174,64.88402324452194],[-132.51113354978486,64.86622793728891],[-132.58689659994891,64.83458922162608],[-132.62764906689378,64.82968105969572],[-132.55922624922863,64.79612204926761],[-132.5460275717007,64.77024589950975],[-132.5119113709999,64.77448172438655],[-132.46423976066973,64.78869409683382],[-132.4220314588398,64.77779088101016],[-132.35696419976642,64.78316801314749],[-132.29909017112058,64.76121140197935],[-132.21624945642338,64.74287776354836],[-132.12426147762417,64.7037416585223],[-132.03771578882305,64.69642310250943],[-131.98199014007542,64.6318323064506],[-131.93809604765886,64.590343069648],[-131.89640780819528,64.56627335292262],[-131.8301025929144,64.54877270128243],[-131.85537225739128,64.53782495602744],[-131.8387201171057,64.52534494876222],[-131.80639067882953,64.53393424939628],[-131.684646179051,64.52137123565645],[-131.7074671330239,64.50818310356281],[-131.67603786713335,64.48550911984313],[-131.7160422671238,64.4754966795938],[-131.82485464401717,64.42469974599312],[-131.8283907084276,64.40114620777084],[-131.8583104745027,64.38127237242738],[-131.8084216335342,64.36881788598545],[-131.76544057145568,64.37984914074575],[-131.72137992666805,64.37029897516851],[-131.67632493710283,64.37719541822837],[-131.6235134305688,64.3536662520358],[-131.5787564396066,64.36992350273377],[-131.55946175675928,64.38333683128153],[-131.51798528708147,64.37919531921428],[-131.50355428010792,64.38975034037517],[-131.4510316084846,64.39186427293998],[-131.41960637745308,64.41145878001173],[-131.43195958556106,64.43792395474951],[-131.37236278590305,64.45087293845899],[-131.3804889778757,64.4356829232084],[-131.2955251210764,64.44678477086738],[-131.2251177170958,64.4216066037312],[-131.1473517402401,64.40379186106165],[-131.11038185515727,64.37646478510199],[-131.06817445469665,64.36131916917117],[-131.06286567932702,64.32825238992542],[-131.02661729161252,64.30469722231068],[-131.07911835878895,64.28497196297455],[-131.07634691276382,64.27877436668857],[-131.04776319427165,64.28093964985935],[-130.8238588228499,64.28764824505168],[-130.9450911577577,65.00000009976449],[-131.01927248537817,65.41792499378897],[-131.10054547018075,65.86101635566382],[-131.14514787239054,65.8633710465765],[-131.14999288652135,65.87181420630259],[-131.1871036973877,65.87280869773713],[-131.21335211078153,65.86751689253643],[-131.22825022080002,65.84981009865845],[-131.2536465922189,65.84693448896262],[-131.28762018561855,65.86768440016273],[-131.35093257776788,65.87269070035269],[-131.3839635080665,65.88314969809576],[-131.3786902085056,65.89288509504465],[-131.43924751291516,65.9142598003993],[-131.52041521965995,65.9127187951872],[-131.56801309771643,65.91458108701306],[-131.5885369312555,65.93501029431339],[-131.60697618532873,65.942009712087],[-131.66358010585893,65.9448471825787],[-131.69019128890304,65.950790087122],[-131.6913814109173,65.96337020325585],[-131.73430812619193,65.97187920218013],[-131.75890160399436,65.99957490840937],[-131.8804657104355,66.03038049157178],[-131.9177757943528,66.03644458756268],[-131.94573528827354,66.04859399854921],[-131.95238640446328,66.06167381093513],[-132.02573467356396,66.07278570189798],[-132.07487406021494,66.07060071598808],[-132.06503385881962,66.6092518064585],[-131.93030433620228,66.626349193294],[-131.07297309730393,66.71675574924608],[-130.38136599471534,66.78589850658066],[-130.409738445504,67.10475467858274],[-130.43369937548115,67.36770626047252],[-130.45083202077993,67.55227702545824],[-130.0139434968095,67.57211800444294],[-129.48196612903018,67.59468869472943],[-127.3459292244829,67.66789985343176],[-126.94786517753784,67.67848305377964],[-124.14410437127584,67.72605045626563],[-121.98644352857994,67.73066195414808],[-120.6307822227021,67.77995976362705],[-120.59360004254299,68.19225479908289],[-120.59071944123028,68.24910458111539],[-120.59376586905898,68.34860596090888],[-120.60553780673364,68.6233619476947],[-120.72344467486477,69.56370111443903],[-120.72492512289159,69.57501335764316],[-116.46558727436967,69.7027994378488],[-116.75519510184505,69.7864446395277],[-116.92415732199366,69.87989304603597],[-117.01353677805254,69.95657830181533],[-117.02283567333326,70.00025183024962],[-116.3540968545625,69.9992841246014],[-114.50012441595842,69.999957652362],[-113.86276233252782,69.99969395862936],[-113.84408787068347,70.00013679102027],[-112.93526151050466,70.00204399823687],[-112.82512696621268,70.0025451601952],[-112.8183473095342,69.84728348148788],[-112.51808770170558,69.84760223017443],[-112.51081721866437,70.00168575960838],[-111.99885949414002,70.00110970456477],[-109.86179891313603,69.99805420946694],[-109.8593532543519,70.3060712083112],[-109.85836539057418,70.47230847465346],[-109.85669700502834,70.75764234264142],[-109.8556097945546,70.91750258472658],[-109.85303494489064,71.17469992461514],[-109.85191760520351,71.45228926006996],[-109.8506614814123,71.58487145750101],[-109.84871462407995,71.78687156286568],[-109.84679859654186,72.07838314770271],[-109.84702353087768,72.32396677761619],[-109.84303592939686,72.60659044859908],[-109.84129565916787,72.84541905981224],[-109.84014418881797,73.00000007193296],[-109.8380113771128,73.27921229682441],[-109.8346729220719,73.54880786333143],[-109.83106894089265,73.93239832191084]],[[-134.99220891162827,68.22099080688726],[-135.0354510347463,68.20153608762101],[-135.08686211392927,68.21474787735302],[-135.10274512156832,68.21150744030174],[-135.154463100481,68.22404752214717],[-135.07926331181017,68.25764248148963],[-135.03706000308176,68.24252998590717],[-134.99220891162827,68.22099080688726]],[[-132.94668250266136,69.40746707993445],[-132.94668805830707,69.39872875831789],[-133.05247154414013,69.39866577024372],[-133.05289792272296,69.45978499693634],[-132.94693449578938,69.46015214707235],[-132.94668250266136,69.40746707993445]],[[-133.59348799425257,67.43203600928106],[-133.57042123061393,67.41480480124606],[-133.73867483887355,67.38465233208802],[-133.813635686991,67.44347516668046],[-133.64698533556745,67.47189236500044],[-133.59348799425257,67.43203600928106]],[[-134.77386530985103,67.38957288766845],[-134.77689435446288,67.38233984164071],[-134.91300677759133,67.39044354853434],[-134.91545413813904,67.41695377820997],[-134.87260497717463,67.46795355308997],[-134.866936754965,67.48609782733239],[-134.73705574923133,67.47712094102327],[-134.77386530985103,67.38957288766845]],[[-133.4819225820294,68.32845464314107],[-133.38708003197561,68.31666193080122],[-133.3835629879865,68.29830950708835],[-133.48384641506334,68.2957097103631],[-133.5351697997205,68.29728978383369],[-133.57162436337694,68.30762438480205],[-133.67945772834022,68.31495081755924],[-133.6743585992079,68.32344399010434],[-133.72084849355568,68.34975168736844],[-133.75784515339788,68.36530159626012],[-133.77316127759866,68.377520103324],[-133.772313895604,68.38971811380438],[-133.7934698055582,68.39885111300674],[-133.8012292331284,68.41660064287151],[-133.72970472118814,68.41660388441608],[-133.73081606358448,68.396725752402],[-133.63658717711962,68.34749578763402],[-133.4819225820294,68.32845464314107]],[[-123.87885678463358,69.3569809874425],[-123.86589624290917,69.28929815490125],[-124.11668596154713,69.29193197235844],[-124.10808776217125,69.3662575089948],[-123.8808977259396,69.36760145286443],[-123.87885678463358,69.3569809874425]],[[-117.90906629497593,70.8175421748071],[-117.89438282488952,70.83591010601585],[-117.56907593520879,70.80063878826317],[-117.67382852158705,70.62581882132],[-117.73929934088116,70.6308271699182],[-117.94773688007118,70.7690039696292],[-117.90906629497593,70.8175421748071]],[[-124.98193778769175,71.90724805592389],[-124.98838772487632,71.87635167956503],[-125.57306212838473,71.96480331771613],[-125.5883351675129,72.08759971231713],[-124.94465149857172,72.08392583782123],[-124.98193778769175,71.90724805592389]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.3483995283038,\"lat\":75.85448626717601},\"year\":\"2021\",\"prov_code\":[\"61\"],\"prov_name_en\":[\"Northwest Territories\"],\"cd_code\":[\"6101\"],\"cd_name_en\":[\"Region 1\"],\"csd_code\":[\"6101063\"],\"csd_name_en\":[\"Region 1\",\"Unorganized\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Territoires du Nord-Ouest\",\"cd_name_fr\":\"Region 1\",\"csd_name_fr\":\"Region 1, Unorganized\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.39886542017808,60.2106093885011],[-123.26226657888567,60.283051536785145],[-123.34251650014879,60.31475621814047],[-123.49910617635196,60.232785341667956],[-123.42703424559556,60.19561177364788],[-123.39886542017808,60.2106093885011]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.38257564229394,\"lat\":60.256283381944286},\"year\":\"2021\",\"prov_code\":[\"61\"],\"prov_name_en\":[\"Northwest Territories\"],\"cd_code\":[\"6104\"],\"cd_name_en\":[\"Region 4\"],\"csd_code\":[\"6104009\"],\"csd_name_en\":[\"Fort Liard\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Hamlet\",\"prov_name_fr\":\"Territoires du Nord-Ouest\",\"cd_name_fr\":\"Region 4\",\"csd_name_fr\":\"Fort Liard\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-96.01267306544206,64.37266546408539],[-96.03469456744924,64.3847888651199],[-96.10601335564947,64.38347402121896],[-96.18690329183458,64.37346447667618],[-96.3084099893375,64.3374872077787],[-96.24995208043636,64.30969680375837],[-96.22354579989454,64.28635790905614],[-96.21018847227062,64.28197130860661],[-96.13560919321043,64.28066248702842],[-96.07911319839398,64.2868366969282],[-96.0618667058649,64.31143968856905],[-96.04766292894121,64.31925655413417],[-95.94991980502824,64.30426838790459],[-95.93542659608985,64.29863360957168],[-95.88592042414602,64.2939260043407],[-95.80223298197451,64.27868670368593],[-95.74255967327318,64.27449518833974],[-95.72212060241198,64.27858559052156],[-95.7301512920222,64.29481320419927],[-95.76262696032765,64.30554566732664],[-95.75187932161305,64.31826866641455],[-95.79103781844925,64.3339742253301],[-95.85309240849485,64.3392173852676],[-95.872242353422,64.34961982265935],[-95.93803856671441,64.3627381288125],[-95.99974418186153,64.38177126659613],[-96.01267306544206,64.37266546408539]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-96.03200621676804,\"lat\":64.32874037716289},\"year\":\"2021\",\"prov_code\":[\"62\"],\"prov_name_en\":[\"Nunavut\"],\"cd_code\":[\"6205\"],\"cd_name_en\":[\"Kivalliq\"],\"csd_code\":[\"6205023\"],\"csd_name_en\":[\"Baker Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Hamlet\",\"prov_name_fr\":\"Nunavut\",\"cd_name_fr\":\"Kivalliq\",\"csd_name_fr\":\"Baker Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-95.81969763410356,68.61059452539155],[-95.7838762661671,68.65971729629003],[-95.94922401922084,68.67688739017393],[-95.9975302891389,68.61662035058359],[-95.82808617878655,68.59905933049387],[-95.81969763410356,68.61059452539155]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-95.88978436477937,\"lat\":68.63795004605927},\"year\":\"2021\",\"prov_code\":[\"62\"],\"prov_name_en\":[\"Nunavut\"],\"cd_code\":[\"6208\"],\"cd_name_en\":[\"Kitikmeot\"],\"csd_code\":[\"6208081\"],\"csd_name_en\":[\"Gjoa Haven\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Hamlet\",\"prov_name_fr\":\"Nunavut\",\"cd_name_fr\":\"Kitikmeot\",\"csd_name_fr\":\"Gjoa Haven\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-53.298167469027064,47.56040501568203],[-53.30298337678626,47.56061934131757],[-53.31312461806712,47.550194302890404],[-53.298167469027064,47.56040501568203]]],[[[-53.24627197131222,47.560804083408826],[-53.17989012108989,47.58728618990675],[-53.10622699477416,47.599387751547226],[-53.08380656643402,47.631170501393726],[-53.1802217912436,47.617606473970106],[-53.26149517323611,47.577146606276486],[-53.28308130998083,47.57183798998461],[-53.28784732966606,47.55961233449552],[-53.28615419910001,47.554757213694124],[-53.27118930885502,47.56481675821606],[-53.254570335374574,47.55734851274396],[-53.24627197131222,47.560804083408826]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.1819798493117,\"lat\":47.596136541315694},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001415\"],\"csd_name_en\":[\"Division No.  1\",\"Subd. L\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Division No.  1, Subd. L\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-52.752721716267935,47.23934347291439],[-52.752530736060834,47.25011423748289],[-52.72516036758309,47.27778048998613],[-52.76556239457077,47.28752449924816],[-52.79947187499274,47.29712118933459],[-52.82780127869501,47.300997397077886],[-52.8409808042936,47.30994420581828],[-52.85579514786755,47.27403032834339],[-52.85372338159171,47.26677766918889],[-52.82448734494581,47.25878509605736],[-52.79840514689182,47.24418810641563],[-52.752721716267935,47.23934347291439]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-52.795080972798324,\"lat\":47.27226846572958},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001559\"],\"csd_name_en\":[\"Witless Bay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Witless Bay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-52.76975538102249,47.81977768223084],[-52.81731721794674,47.81550296326096],[-52.835190125891,47.7831632193429],[-52.83827737166214,47.76957893614112],[-52.849426196156934,47.744153714985146],[-52.876777535429824,47.69597762418848],[-52.88481983744261,47.65986400796789],[-52.854785172467736,47.655586237850294],[-52.850548291093055,47.692419813787545],[-52.83103809849968,47.729925994484894],[-52.81803719018212,47.757334199388],[-52.81451520978302,47.78560981062521],[-52.806060398651375,47.8035126047843],[-52.78063760834513,47.80022178782282],[-52.76040738670437,47.778429399204335],[-52.76288408320202,47.762791303895085],[-52.71397949806541,47.75844898579806],[-52.71008028388778,47.75021339728617],[-52.71726450049252,47.73181738510648],[-52.69977298553132,47.72062060680907],[-52.709708982744104,47.70272920492335],[-52.69935368804535,47.695201501543444],[-52.716799934436445,47.677772028890466],[-52.72073020191414,47.66833319914365],[-52.703528282539494,47.66114520195851],[-52.69390410260042,47.650736684582625],[-52.670067585330585,47.66289969319585],[-52.660156579599175,47.647657004059226],[-52.666919203667796,47.626828998825424],[-52.651892605887575,47.62017111380215],[-52.65936980543797,47.610460399642086],[-52.66201421269927,47.59546739562789],[-52.68718500934797,47.544142709655915],[-52.67664567958427,47.54115719922383],[-52.67181821853171,47.527929798351224],[-52.64400899534342,47.53292060008682],[-52.62752649530314,47.51277599486088],[-52.63583757768592,47.49554069930541],[-52.689146617441644,47.4700983964292],[-52.696884213901015,47.4594114918393],[-52.67864230228477,47.44303579772826],[-52.65983160203062,47.43522200804713],[-52.68572060856793,47.42169780878537],[-52.70382220100084,47.40791488902147],[-52.717920784491106,47.3899386927341],[-52.74030282190062,47.331042314815335],[-52.74617610351571,47.3107339864966],[-52.766961496694556,47.3125877093545],[-52.79585131186446,47.309651102145914],[-52.77236148669222,47.29654259009928],[-52.76556239457077,47.28752449924816],[-52.72516036758309,47.27778048998613],[-52.71578142874375,47.285889337193474],[-52.582295821691275,47.50081110042578],[-52.59623660779326,47.52195399544992],[-52.62758610938745,47.553055659684546],[-52.65531819489847,47.56310142703819],[-52.62054361205598,47.689227406910085],[-52.76975538102249,47.81977768223084]]],[[[-52.810100682678524,47.35924664830294],[-52.82946409910463,47.36218284004015],[-52.82846986993683,47.38118197303352],[-52.85568002211968,47.391638708669525],[-52.87329362999384,47.40351449869296],[-52.88792587070998,47.40178885993423],[-52.906272721076,47.37851751145573],[-52.91738809864329,47.37983310677207],[-52.93565971836551,47.39201640310837],[-52.964582894785444,47.427537696588374],[-53.03652229867253,47.4500113114415],[-53.05331226318154,47.4503178068477],[-53.08485979820685,47.43333547272659],[-53.08366206578747,47.41083528083438],[-53.09210500342023,47.40167169940546],[-53.07261435847986,47.37171339005197],[-53.07124860027469,47.34112829863486],[-53.08013918766589,47.32899409872278],[-53.11039131516756,47.3264243900913],[-53.12546776027486,47.291173583068094],[-53.14756662675395,47.27576337976536],[-53.12421234478504,47.27469009086828],[-53.096977001322685,47.2734539946721],[-53.07820651587588,47.262192802860376],[-53.05646399966461,47.26018029801753],[-53.045849001998725,47.27295438748522],[-53.008191515862755,47.27850519659825],[-52.99368622425855,47.26732139608592],[-52.94351338010775,47.26377000224074],[-52.9333517890981,47.25525199237636],[-52.91944390521018,47.25904079218604],[-52.84174019799656,47.253830102848276],[-52.82448734494581,47.25878509605736],[-52.85372338159171,47.26677766918889],[-52.85579514786755,47.27403032834339],[-52.8409808042936,47.30994420581828],[-52.83878080465353,47.33025981980528],[-52.80796217925768,47.35354568648541],[-52.810100682678524,47.35924664830294]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-52.853340666147425,\"lat\":47.4349057508073},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001565\"],\"csd_name_en\":[\"Division No.  1\",\"Subd. D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Division No.  1, Subd. D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-57.641129793530325,47.97888180678984],[-57.64328050831876,47.995376494949475],[-57.653468561662315,48.00892521304247],[-57.673073205343556,47.99955563138877],[-57.66908349825267,47.98807347488638],[-57.68251909080002,47.977460180347],[-57.698032376584905,47.97414540339771],[-57.720238597429926,47.97745479529851],[-57.71783546951942,48.00037928035179],[-57.73771439536994,48.014780629217064],[-57.763564871701064,48.0103681980588],[-57.77701089322475,47.991293005622744],[-57.78379901232834,47.96996975012726],[-57.79740254716432,47.95457662255552],[-57.82700787001152,47.952199571159575],[-57.865212258748436,47.95610425787782],[-57.87113701008248,47.96861791272756],[-57.85509640791057,47.98059525952477],[-57.86599232358904,47.99156216607877],[-57.899456047535445,47.98208119804361],[-57.922114297521624,47.981213676797104],[-57.94367744739745,47.97005072225486],[-57.97595557394503,47.95972898453424],[-58.01530783444962,47.952559930474166],[-58.02713847333659,47.95670164355354],[-57.99938626169983,47.975273929887386],[-57.96865040069447,47.9865757841159],[-57.970214754526495,48.03127482386583],[-57.98358227639008,48.03369493303446],[-58.00841250121315,48.06016905335104],[-58.04117186005903,48.04009653360686],[-58.05782106361758,48.04308629821441],[-58.073331613271755,48.06535376975802],[-58.10309259169945,48.08214897178684],[-58.140125557468586,48.06857972700586],[-58.158891726118064,48.09700240611156],[-58.18960629029266,48.09862592621065],[-58.227314699923504,48.0874491174888],[-58.273153354698636,48.097809542239474],[-58.28791243191972,48.11457898959958],[-58.315142179039704,48.11059701271558],[-58.316346663438644,48.09977770179774],[-58.376152736256294,48.078106573288714],[-58.38318551484719,48.07192752383279],[-58.37072340091206,48.059572912102816],[-58.34905202220986,48.05645000129871],[-58.3546257466131,48.041993679723284],[-58.350041400153984,48.028137991315134],[-58.35921062595778,48.016325811086716],[-58.35831321478178,48.000080965176984],[-58.32624272335543,48.000069887646625],[-58.33043800861686,47.99190235059107],[-58.37900998111447,47.983650498446174],[-58.39660818625668,47.9781741062174],[-58.41274398050259,47.96122753796438],[-58.460334193967256,47.94346059519912],[-58.44886800550128,47.92443219331405],[-58.442088810360424,47.90260789378531],[-58.442113958585125,47.860827216403344],[-58.451547739179304,47.83512027989698],[-58.4753360403998,47.81860683068677],[-58.49295008524074,47.798713911064056],[-58.4906833165237,47.7907294309893],[-58.520079546170365,47.761272776983716],[-58.53160629016767,47.744570588354065],[-58.53673923725601,47.726199048562634],[-58.563379471932365,47.700737847728355],[-58.55649254612085,47.67880755955867],[-58.53336894608311,47.659008726593655],[-58.53328005832682,47.642387833507755],[-58.525889344365055,47.56812206821586],[-58.139496564086485,47.57833101055358],[-57.998066320206696,47.58137529620561],[-57.714488371688695,47.5062346912652],[-57.73716127659394,47.53120325294876],[-57.75264131081191,47.5655503810912],[-57.7504024695599,47.63889064926178],[-57.72317764188382,47.641753660357345],[-57.68273083677604,47.637797673768844],[-57.6720668799255,47.65042585947047],[-57.687122995478084,47.68733807803807],[-57.694416959294465,47.712536518317094],[-57.72770642057716,47.76674559639546],[-57.72655388611739,47.77909869825785],[-57.73844811864351,47.7958478023964],[-57.73809928905128,47.83606229774744],[-57.74077760945776,47.84309229508231],[-57.726982296496836,47.86990648910515],[-57.72558054881163,47.88461665890167],[-57.71440589815381,47.89632758635405],[-57.677951792542565,47.923197405985285],[-57.670367212407655,47.93969320624487],[-57.641129793530325,47.97888180678984]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-58.10697430071446,\"lat\":47.79620860241125},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1003\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"1003038\"],\"csd_name_en\":[\"Division No.  3\",\"Subd. I\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Division No.  3, Subd. I\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.01545861448917,48.63755060418442],[-53.94659888383549,48.65374986181225],[-53.96838759388842,48.668761705220916],[-53.95675120439635,48.680912801212784],[-53.94698350100537,48.7111728062372],[-53.95808921801534,48.691187717627066],[-53.98334432858597,48.66921105734761],[-54.01067646134042,48.66230683559598],[-54.01545861448917,48.63755060418442]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.98167496041672,\"lat\":48.660283035494},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1007\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"1007037\"],\"csd_name_en\":[\"Traytown\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Traytown\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.785220590455694,49.679316990256986],[-54.802589104131116,49.6902625881569],[-54.80959418404033,49.677324006939934],[-54.80243103560168,49.665460704864465],[-54.785220590455694,49.679316990256986]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.79910819309211,\"lat\":49.678153683380714},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008029\"],\"csd_name_en\":[\"Crow Head\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Crow Head\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.4420207577334,49.29446315670765],[-55.37673582323487,49.30059624393471],[-55.373439492320884,49.34083389932813],[-55.39835144193733,49.3236963266113],[-55.39700211900185,49.356589045732626],[-55.45770399951815,49.330532904023734],[-55.45148065601536,49.294251414651946],[-55.4420207577334,49.29446315670765]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.41612216253463,\"lat\":49.3199915782511},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008049\"],\"csd_name_en\":[\"Point Leamington\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Point Leamington\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.63765068208782,49.88262312294281],[-55.619883782364155,49.87700004494309],[-55.60117037959809,49.88560329651736],[-55.61532283385176,49.89619229567641],[-55.632906461556445,49.89221698492856],[-55.63765068208782,49.88262312294281]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.62041222431652,\"lat\":49.88656047888324},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008073\"],\"csd_name_en\":[\"Tilt Cove\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Tilt Cove\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-56.348015748703986,49.92307026229818],[-56.34325411530352,49.92754222708548],[-56.36937680659282,49.9504872126084],[-56.40280750806196,49.92770952209381],[-56.38629895742217,49.9165897489962],[-56.356379002743246,49.9154892729256],[-56.348015748703986,49.92307026229818]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-56.37181340770149,\"lat\":49.929727230336454},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008091\"],\"csd_name_en\":[\"Seal Cove (White Bay)\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Seal Cove (White Bay)\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.807926784508915,46.156681299009435],[-62.78906499154101,46.160130801355955],[-62.7776553443331,46.16788128243256],[-62.78465093813081,46.18479033196931],[-62.76274672253688,46.18913871851995],[-62.75652959878886,46.199354190325494],[-62.760959875004666,46.2104672813495],[-62.755507066692026,46.22421229094457],[-62.77594704724455,46.277678864204354],[-62.76946133993629,46.27894167908204],[-62.773070742377215,46.28909173450996],[-62.80236861303184,46.28235045065663],[-62.80878526538049,46.28667263119905],[-62.8438114523006,46.2764265328604],[-62.88377559986821,46.27323367111406],[-62.88860409485034,46.278637579812575],[-62.92498543692364,46.26673793891864],[-62.92176413702297,46.25977999929029],[-62.9430205232212,46.25227208965791],[-62.94007420823557,46.2453406629093],[-62.96582949820843,46.240283409661075],[-62.96449958843973,46.219288197843326],[-62.95814339158409,46.206137089253716],[-62.97945783042007,46.19305187956755],[-62.96619408362007,46.170593012708785],[-62.97998975260992,46.15561815305421],[-63.00641849168595,46.14928855715737],[-63.05537749670346,46.14584137605311],[-63.11260087723322,46.14199942262739],[-63.09972113040074,46.07901866635717],[-63.11606404328612,46.05634177417802],[-62.922849696233996,46.11214104778395],[-62.89602108853876,46.12134470083277],[-62.892680907632325,46.13971917309551],[-62.869037589749915,46.14028032145275],[-62.83508519313671,46.12912010962297],[-62.84351892528833,46.12260620320418],[-62.82007196393284,46.11496551955119],[-62.79244718588555,46.119546525773934],[-62.80622409377509,46.129780492489196],[-62.807926784508915,46.156681299009435]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.91154236891418,\"lat\":46.177988073030775},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1102\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1102016\"],\"csd_name_en\":[\"Vernon River\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Fire District\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Vernon River\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.59843637856044,46.49755048199662],[-63.609571772693336,46.49168975842726],[-63.60375493231323,46.47734976852463],[-63.66424780354053,46.45858689309415],[-63.67732126666196,46.4614409589013],[-63.69485106446104,46.4564950065664],[-63.711367041541024,46.46083795258697],[-63.74358207199596,46.4531150358091],[-63.7587459458698,46.459885869490414],[-63.75388976070355,46.4513710899196],[-63.74591759816178,46.42731672241376],[-63.753993813546906,46.42086499805591],[-63.75013405176039,46.410928782341955],[-63.72519928267612,46.412833418335055],[-63.72370825831092,46.39598505448104],[-63.76029118521227,46.39162660043455],[-63.77611715204955,46.3862439979813],[-63.7842698406841,46.36774731080093],[-63.7552789621788,46.35329888649144],[-63.74355320179807,46.35723823563506],[-63.722910089617464,46.350609910062495],[-63.694919893146725,46.357804878847034],[-63.66747334166532,46.340795303907235],[-63.641908124932606,46.36630333569195],[-63.624043386988674,46.369985900206785],[-63.61909029000746,46.361888685305765],[-63.58517011844568,46.36747840256581],[-63.57128056797817,46.354528083595056],[-63.56038911466664,46.35630279517925],[-63.555262393777575,46.337047795082164],[-63.54330254397746,46.33927787910463],[-63.55835847729509,46.379334862582546],[-63.55405619885371,46.38019420100791],[-63.571642295427495,46.428755309960025],[-63.57464095461335,46.436825829418765],[-63.59843637856044,46.49755048199662]],[[-63.626632782361646,46.44299343040654],[-63.628012985233056,46.42754251555782],[-63.64119875084559,46.426582191186945],[-63.64844643548751,46.44019077074689],[-63.626632782361646,46.44299343040654]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.658954652939066,\"lat\":46.40733536571948},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1103\"],\"cd_name_en\":[\"Prince\"],\"csd_code\":[\"1103067\"],\"csd_name_en\":[\"Kensington\",\"Part 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Fire District\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Prince\",\"csd_name_fr\":\"Kensington, Part 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.48787624985775,46.223955526777054],[-63.50275831240614,46.228468045708524],[-63.53716225198275,46.22203967320932],[-63.538797733071945,46.21336623063444],[-63.53214816235653,46.18120190012236],[-63.48959839761665,46.168328866856136],[-63.49122187063834,46.2024958462554],[-63.49744086395507,46.211653735464296],[-63.49977217199467,46.221840070076254],[-63.48787624985775,46.223955526777054]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.51291841093082,\"lat\":46.19995806780556},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1103\"],\"cd_name_en\":[\"Prince\"],\"csd_code\":[\"1103068\"],\"csd_name_en\":[\"Victoria\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Fire District\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Prince\",\"csd_name_fr\":\"Victoria\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.01420077813224,47.77077049392445],[-53.97676414480762,47.78823823052002],[-53.96371540448774,47.80338139865786],[-53.96849428813891,47.818555492066764],[-53.96046438559113,47.83874540511182],[-53.958697321428325,47.86076919473913],[-53.94973202472549,47.89756284307479],[-53.97591702989483,47.900157953697004],[-54.04790283093209,47.79351000210176],[-54.03533550669692,47.78100603167284],[-54.01420077813224,47.77077049392445]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.99332186825202,\"lat\":47.82952092876854},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001274\"],\"csd_name_en\":[\"Come By Chance\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Come By Chance\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.16908580741231,47.507857710674905],[-53.1773082977682,47.505235986454885],[-53.19368761927806,47.47373739506767],[-53.21035990974621,47.46152810101746],[-53.21467723580437,47.476555770187154],[-53.231454097540244,47.476471321889626],[-53.26499126613796,47.466178084351945],[-53.27409559708355,47.46498452730496],[-53.28029456583504,47.449575232435144],[-53.28253710926496,47.44122839013776],[-53.30426271754635,47.41498696087062],[-53.297113813868364,47.40698769217603],[-53.256768107665344,47.42006260080068],[-53.25216899831431,47.4353925994108],[-53.20488468493634,47.45672541395942],[-53.1818077289777,47.47451130771893],[-53.16908580741231,47.507857710674905]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.24681248858136,\"lat\":47.45041176980584},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001456\"],\"csd_name_en\":[\"Colliers\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Colliers\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-58.68210570608609,47.6351182023389],[-58.70223645827977,47.63462872366491],[-58.69657240987891,47.61022159412854],[-58.6771960125053,47.61675229052744],[-58.68210570608609,47.6351182023389]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-58.68996716905116,\"lat\":47.624035421877146},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1003\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"1003045\"],\"csd_name_en\":[\"Rose Blanche-Harbour le Cou\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Rose Blanche-Harbour le Cou\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-57.53193641537204,49.043388622862],[-57.57809541222814,49.04478126697147],[-57.60660571075998,49.02233831030255],[-57.642083400470426,49.01451008650866],[-57.64861991538698,49.007693299803165],[-57.63994262696665,48.98634844906756],[-57.561180911905026,48.98487191020302],[-57.50498458681232,48.99812025103404],[-57.500735139218655,49.01456990194039],[-57.53193641537204,49.043388622862]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-57.57111048177879,\"lat\":49.01143709973861},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1005\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"1005012\"],\"csd_name_en\":[\"Pasadena\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Pasadena\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.76245334338401,49.31315241017011],[-54.76584659693269,49.353034307410596],[-54.784960089152285,49.36047559439889],[-54.79697729335092,49.35519820675692],[-54.80666469405312,49.33234889126497],[-54.79838538532879,49.31163899843396],[-54.801395601376875,49.2980768504943],[-54.76195639861135,49.31092320804599],[-54.76245334338401,49.31315241017011]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.78377056800075,\"lat\":49.33023944436053},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008040\"],\"csd_name_en\":[\"Baytona\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Baytona\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.056411971278905,49.32365998843291],[-55.07461999769429,49.352243000212056],[-55.087998387711266,49.36425529662606],[-55.10196370300542,49.34952739645003],[-55.09361110976469,49.33320410123701],[-55.0780524901021,49.32840898829085],[-55.07676884348808,49.308183052851206],[-55.056411971278905,49.32365998843291]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.07949613408059,\"lat\":49.33806219263999},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008045\"],\"csd_name_en\":[\"Little Burnt Bay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Little Burnt Bay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.85550910737268,50.9097045866707],[-55.88968960973435,50.902475804901556],[-55.890656681184296,50.919472110096734],[-55.912276974646154,50.90772518294356],[-55.91192625418039,50.895042271259165],[-55.879893408113595,50.88255180402861],[-55.85550910737268,50.9097045866707]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.88883279301923,\"lat\":50.8997396410073},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1009\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"1009008\"],\"csd_name_en\":[\"Conche\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Conche\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-56.12969938862939,52.79604199521259],[-56.14638948625999,52.801999102978414],[-56.18636915004476,52.773325634451865],[-56.17481627600157,52.74613033726805],[-56.09825121177412,52.744474466215074],[-56.08388303182179,52.76741683968853],[-56.09762080165275,52.77564968764571],[-56.12110007633661,52.77442613621324],[-56.12969938862939,52.79604199521259]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-56.138719115240825,\"lat\":52.767309240765414},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1010\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"1010013\"],\"csd_name_en\":[\"Charlottetown (Labrador)\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Charlottetown (Labrador)\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.47888567773456,46.53565852055401],[-63.507984743058955,46.55309626837004],[-63.563792489613235,46.56992277308991],[-63.55642832372184,46.54129190615147],[-63.5634141197202,46.53960409975964],[-63.55410483079841,46.517389752061895],[-63.56032278623486,46.514847204505415],[-63.5694076113352,46.49916360604005],[-63.56819208947515,46.48425810080146],[-63.54112991286647,46.46733266876905],[-63.567058299242014,46.46369828187728],[-63.57464095461335,46.436825829418765],[-63.571642295427495,46.428755309960025],[-63.56450083662551,46.41977181858518],[-63.542207495849595,46.41018800853194],[-63.523708083167875,46.41351258854887],[-63.50686578718527,46.40657491784326],[-63.4856508472236,46.41173396041072],[-63.45440294731434,46.418201530697075],[-63.443934855640904,46.432144720017426],[-63.4484172269125,46.444858047793915],[-63.418349045275164,46.448680940243115],[-63.4222312048201,46.46188254765938],[-63.44582661032304,46.45709079323616],[-63.45712449223747,46.46267988698855],[-63.461679342034536,46.47803263308049],[-63.44973745822901,46.495600127948556],[-63.481963210429484,46.508240132971245],[-63.47888567773456,46.53565852055401]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.51190126273168,\"lat\":46.47728428963755},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1102\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1102071\"],\"csd_name_en\":[\"New London\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Fire District\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"New London\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.853175410408205,46.627220502343185],[-63.86917400509872,46.62168810883492],[-63.8578436111544,46.61156379328733],[-63.8563337096153,46.598706192451715],[-63.83271818005646,46.61113470146775],[-63.853175410408205,46.627220502343185]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.851169300161196,\"lat\":46.61422671896303},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1103\"],\"cd_name_en\":[\"Prince\"],\"csd_code\":[\"1103035\"],\"csd_name_en\":[\"Lennox Island 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Prince\",\"csd_name_fr\":\"Lennox Island 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.86652829962536,46.66686486478766],[-63.907515511262574,46.69355227288633],[-63.978147319976266,46.74539029083695],[-64.00280384960472,46.751417385457096],[-64.01740368419668,46.744200707508796],[-64.04762618102616,46.74956338981648],[-64.06828459708844,46.759514227581924],[-64.07301750950235,46.72881188343308],[-64.06305620578406,46.72192355421934],[-64.07300394862736,46.70767510184713],[-64.06594030278453,46.68809956324532],[-64.05581429722801,46.66566756962133],[-64.0253362925894,46.67216836018152],[-64.0244226890452,46.652453238251226],[-64.00504751023662,46.64274829344875],[-63.96881285029698,46.649820098233015],[-63.962382994119636,46.63413969292617],[-63.96188055678529,46.61648902261743],[-63.92073791340628,46.62376123254743],[-63.892757593453965,46.60455317162851],[-63.87482044335969,46.60149510058531],[-63.872461234343376,46.61383763538278],[-63.87909927736568,46.63049465101568],[-63.868093736119455,46.640919648483],[-63.884503605387565,46.651191492014156],[-63.86652829962536,46.66686486478766]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.973018543004315,\"lat\":46.683324877982876},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1103\"],\"cd_name_en\":[\"Prince\"],\"csd_code\":[\"1103039\"],\"csd_name_en\":[\"Lot 11 and Area\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Prince\",\"csd_name_fr\":\"Lot 11 and Area\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.97306312480677,46.888649576806394],[-63.998610628089985,46.891126969065866],[-64.02323386386692,46.88624788316182],[-64.03908512109562,46.874412375816554],[-64.02536730938752,46.84614380855895],[-64.04962554548973,46.84214182278233],[-64.05683159592185,46.85256547708307],[-64.07767271136622,46.846038191335516],[-64.08635452836079,46.86572027126104],[-64.06532758866437,46.894834109935815],[-64.08493560198387,46.89649630082426],[-64.1095310628815,46.882642847443144],[-64.17256775983583,46.87148943558498],[-64.15971487157044,46.83709865601722],[-64.20907790162691,46.82866187507313],[-64.20463926615417,46.818170283893615],[-64.25002328801679,46.81000791016486],[-64.25126834920358,46.79094944167427],[-64.23456440770346,46.780619189679236],[-64.18043122285724,46.77396693486053],[-64.16708771729544,46.765020634431245],[-64.16626089699338,46.7536491112195],[-64.15517171460823,46.748983374771086],[-64.13378141007621,46.762622010638275],[-64.11211113819186,46.74098597443549],[-64.12753996070758,46.72867768029847],[-64.09246466772493,46.72160383950941],[-64.07301750950235,46.72881188343308],[-64.06828459708844,46.759514227581924],[-64.04762618102616,46.74956338981648],[-64.01740368419668,46.744200707508796],[-64.00280384960472,46.751417385457096],[-63.978147319976266,46.74539029083695],[-63.97385350434462,46.82328482271002],[-63.97306312480677,46.888649576806394]],[[-64.07101843621936,46.80046522704125],[-64.08350027337912,46.820151677654124],[-64.05594311186042,46.82173430272935],[-64.04501662147692,46.816757395208434],[-64.05392369872185,46.80363431152875],[-64.05212663045616,46.78208262187652],[-64.07004686193538,46.78460704883895],[-64.07101843621936,46.80046522704125]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.08815378477605,\"lat\":46.81000307330677},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1103\"],\"cd_name_en\":[\"Prince\"],\"csd_code\":[\"1103064\"],\"csd_name_en\":[\"Alberton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Fire District\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Prince\",\"csd_name_fr\":\"Alberton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.45950533595824,44.089085391755596],[-64.52573794407806,44.13760474574287],[-64.53098477993377,44.13506135933783],[-64.56533366160812,44.15666766677994],[-64.60900036999323,44.19395671313248],[-64.62205156688319,44.20280539571084],[-64.70335470570441,44.27171427813595],[-64.7829625895154,44.34083465677866],[-64.8736377712705,44.41791563876178],[-64.86333976327079,44.42424780690384],[-64.85450554439066,44.45945919718074],[-64.90316377425366,44.50016679595962],[-64.94501319357629,44.53710476538981],[-65.06151124001262,44.454842276610016],[-65.15204547634313,44.4606101467704],[-65.17976745491836,44.42153296003721],[-65.33162633651143,44.31157764902051],[-65.39582100787018,44.23231761043061],[-65.12893319451459,44.00811181520226],[-64.9574250344144,43.85858250079136],[-64.92119413589019,43.79839813992545],[-64.9095996954119,43.75195709070232],[-64.76048545618885,43.75235118880144],[-64.66159481947359,43.92515773451838],[-64.61257355763031,44.002268481713585],[-64.52436325253065,44.05248695335314],[-64.46504287070796,44.08370939175423],[-64.45950533595824,44.089085391755596]],[[-64.84131769993819,44.26869639738649],[-64.84063589636393,44.266176304225695],[-64.84417910089961,44.26761780930752],[-64.84131769993819,44.26869639738649]],[[-64.99943320983547,44.15917045858877],[-65.00548753280889,44.16299798830215],[-64.99507201496647,44.17653984814759],[-64.98861618542955,44.174632516881736],[-64.99943320983547,44.15917045858877]],[[-64.93038572654893,44.35662346435314],[-64.92916319223541,44.36919295145573],[-64.90824253554293,44.367433813917096],[-64.91233589288987,44.33750231466416],[-64.93267699525188,44.34140226679682],[-64.93038572654893,44.35662346435314]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.93431565768964,\"lat\":44.147215298631544},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1204\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1204010\"],\"csd_name_en\":[\"Queens\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional municipality\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Queens\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.06316536550162,44.93842748332549],[-65.05386697933831,44.94655841748318],[-65.06354288191554,44.96038260864109],[-65.08544714324144,44.95185574727379],[-65.08396842765612,44.93074492139929],[-65.06316536550162,44.93842748332549]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.07149449118485,\"lat\":44.94600363739365},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1205\"],\"cd_name_en\":[\"Annapolis\"],\"csd_code\":[\"1205016\"],\"csd_name_en\":[\"Middleton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Annapolis\",\"csd_name_fr\":\"Middleton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.40807991051753,44.91522005181044],[-64.42586378868342,44.93702030812588],[-64.4608067652966,44.952488309521364],[-64.4693489073088,44.96854551295093],[-64.46555292936407,44.98048503808703],[-64.47677989575456,44.992114997036644],[-64.47494039964918,45.008166001607506],[-64.41109551921261,45.05120719636124],[-64.41912800527857,45.062560705614516],[-64.41915469618955,45.08153877081695],[-64.39905037262524,45.0859985493004],[-64.40687683171103,45.094506451062216],[-64.41541164223841,45.08499817085583],[-64.45069519424679,45.08255000945516],[-64.47524834579,45.073040386384534],[-64.47816934182421,45.05658250780422],[-64.49927084332064,45.060883075828706],[-64.54234789964727,45.058780897926596],[-64.55218788941369,45.06083509960423],[-64.56502920072343,45.08358958595576],[-64.5768882519448,45.085176331253145],[-64.58829101284618,45.06339259318122],[-64.58217268903927,45.04709959540956],[-64.56335329732738,45.03058028505274],[-64.57713171263771,45.013380793712535],[-64.5777897697167,45.000074704864],[-64.56021519647484,44.98004768831198],[-64.57553278970695,44.96803459745557],[-64.58782619183815,44.974988297889986],[-64.60382918198816,44.96055739749414],[-64.59613121012566,44.94952051406068],[-64.61474748954141,44.940296386379025],[-64.61437998565648,44.91303210008185],[-64.59360727829437,44.92840111089913],[-64.58890719911061,44.90502009304291],[-64.57067537560137,44.88765922598611],[-64.572100908047,44.87490091497814],[-64.58450878516958,44.86329669308124],[-64.58760717773025,44.84710070832842],[-64.56991744096317,44.81184174694731],[-64.5294338908615,44.84131621345917],[-64.52364039918436,44.83713696972249],[-64.43221014168209,44.89931141334164],[-64.40807991051753,44.91522005181044]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.51563537867275,\"lat\":44.9572401710139},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1207\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1207011\"],\"csd_name_en\":[\"Kings\",\"Subd. C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of county municipality \\/ Subdivision municipalit\\u00e9 de comt\\u00e9\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Kings, Subd. C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.87637200613394,45.713839405840076],[-63.86170551008304,45.71627703054703],[-63.85682461081002,45.728049290286506],[-63.8322117156046,45.72879569480978],[-63.84816548137937,45.74473984534124],[-63.87030282625275,45.75481577967654],[-63.88607300605099,45.7274358800755],[-63.89809976368122,45.71516588574548],[-63.87637200613394,45.713839405840076]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.86637755328448,\"lat\":45.731997429434145},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1211\"],\"cd_name_en\":[\"Cumberland\"],\"csd_code\":[\"1211012\"],\"csd_name_en\":[\"Oxford\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Cumberland\",\"csd_name_fr\":\"Oxford\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-61.30218608524399,45.539773752792065],[-61.22778284868059,45.54966380206685],[-61.13179927511171,45.56811136902197],[-61.08388515046593,45.57968086348587],[-61.05499148410843,45.59115381397678],[-61.01499013684982,45.596043147766196],[-60.9649559846733,45.605212040120755],[-60.887059953222455,45.60665709858095],[-60.88819918465227,45.63278812080761],[-60.877407425429105,45.648345576756526],[-60.859439208406876,45.65898576906217],[-60.85668287228476,45.6675631798645],[-60.83285136039437,45.67439905507993],[-60.822350492273124,45.68860874259834],[-60.79528780742022,45.69832005713762],[-60.78662865768287,45.705207165191226],[-60.796070244946236,45.7196687105793],[-60.80335283319414,45.735621667103324],[-60.81034625482806,45.75869696421081],[-60.80930095480445,45.80241079359446],[-60.80969703807935,45.85003696084622],[-60.8099917967541,45.850147778629854],[-60.87703847140561,45.82035781919746],[-60.9099080449175,45.80813111630433],[-60.96106788791745,45.79822561242666],[-61.00166708191817,45.78686680328467],[-61.03187045053376,45.77105193420895],[-61.06816299522795,45.74849897421509],[-61.15572540571135,45.715102434297336],[-61.253488915361274,45.66160408384728],[-61.289856457405065,45.640543396585414],[-61.326962814418565,45.61626026725632],[-61.353687291853035,45.60688299561521],[-61.38058337735798,45.61145915572103],[-61.37064487267921,45.591877891724536],[-61.330412503853005,45.55519423477975],[-61.30218608524399,45.539773752792065]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-61.04655579743058,\"lat\":45.67457912957007},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1216\"],\"cd_name_en\":[\"Richmond\"],\"csd_code\":[\"1216006\"],\"csd_name_en\":[\"Richmond\",\"Subd. A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of county municipality \\/ Subdivision municipalit\\u00e9 de comt\\u00e9\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Richmond\",\"csd_name_fr\":\"Richmond, Subd. A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.82020277238512,45.545665329688376],[-65.81123507439827,45.55885894828328],[-65.84790160828551,45.54715713926976],[-65.88513590973756,45.528720143625236],[-65.90583711565675,45.51298854488347],[-65.89919752328662,45.510326754306526],[-65.8630774243637,45.52065941033566],[-65.85778176368336,45.50669300315697],[-65.83207091531354,45.49486933472182],[-65.82260852003843,45.497299815967416],[-65.80218697839939,45.52762308002597],[-65.82246053719507,45.536996784365954],[-65.82020277238512,45.545665329688376]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.84380405343663,\"lat\":45.524567804508095},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1305\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1305007\"],\"csd_name_en\":[\"Hampton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town \\/ Ville\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Hampton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.89070909281125,46.05096056293453],[-64.88739305717763,46.0395945311195],[-64.86816727281986,46.02346783468082],[-64.82158690600721,46.03295112501809],[-64.81899195637884,46.02629822734669],[-64.78632941306266,46.04123305093462],[-64.7661016799731,46.043996245866495],[-64.76093263010146,46.055153102056714],[-64.73008599268931,46.06290961177218],[-64.75239892656589,46.090069507062886],[-64.76198988684521,46.09146736009181],[-64.7884519614952,46.0714261407371],[-64.8071074830204,46.06527766086149],[-64.8205166689103,46.06883073424387],[-64.84194808435728,46.05406860908229],[-64.85748594724325,46.05096820543755],[-64.89070909281125,46.05096056293453]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.80734422458282,\"lat\":46.05329322926264},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1306\"],\"cd_name_en\":[\"Albert\"],\"csd_code\":[\"1306020\"],\"csd_name_en\":[\"Riverview\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town \\/ Ville\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Albert\",\"csd_name_fr\":\"Riverview\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-64.55274128577797,46.08341486749947],[-64.55367513746467,46.0867232911588],[-64.5117598969004,46.106381276736336],[-64.50312748796667,46.12197983533565],[-64.51214841484409,46.13253935107236],[-64.5121031016228,46.151607196800406],[-64.53213079407243,46.162033991268515],[-64.53203917714426,46.172967949897206],[-64.55125606819168,46.20620713341964],[-64.59283901176109,46.20292033117317],[-64.58825272061863,46.192574189721846],[-64.60154277374949,46.17865132436339],[-64.60464220189729,46.15687916929062],[-64.58479785426752,46.151735986787145],[-64.5899153203113,46.116865375171415],[-64.55274128577797,46.08341486749947]]],[[[-64.33114768720131,46.22903661302347],[-64.26894979309873,46.235294408308214],[-64.27431600124595,46.25002879634647],[-64.4999999992535,46.24999775009717],[-64.50593459510961,46.25191154846292],[-64.50647723481774,46.280418903335196],[-64.76758073456176,46.27287125135475],[-64.74519981194683,46.25244336158176],[-64.63910104418626,46.16013822984944],[-64.59878451318919,46.19753271545866],[-64.59669462197148,46.21061129828654],[-64.57266561771121,46.223336627334014],[-64.55564801622315,46.21939939674757],[-64.53693389407246,46.22905849282552],[-64.51229814588649,46.233368865178434],[-64.50019893678643,46.22338582361832],[-64.49676433909382,46.2381299444889],[-64.41341669176096,46.23714730824765],[-64.39173099220199,46.223584588239014],[-64.36573207580031,46.22343033219667],[-64.33114768720131,46.22903661302347]],[[-64.53141100713117,46.25976679353598],[-64.54562349542968,46.25840169149817],[-64.54856278451516,46.27169509970192],[-64.53621569688885,46.27932639797918],[-64.53141100713117,46.25976679353598]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.57229993193609,\"lat\":46.214267451526084},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1307\"],\"cd_name_en\":[\"Westmorland\"],\"csd_code\":[\"1307016\"],\"csd_name_en\":[\"Shediac\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Westmorland\",\"csd_name_fr\":\"Shediac\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.4235167512779,46.60926627704601],[-65.5135696722973,46.67292728529955],[-65.56876877262027,46.64096306008924],[-65.58545036254824,46.63117337922977],[-65.71400254661081,46.49230761457654],[-65.5798259935395,46.491866657849066],[-65.26212126019387,46.49273153841942],[-65.4235167512779,46.60926627704601]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.50212962946922,\"lat\":46.555041755778326},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1308\"],\"cd_name_en\":[\"Kent\"],\"csd_code\":[\"1308012\"],\"csd_name_en\":[\"Huskisson\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kent\",\"csd_name_fr\":\"Huskisson\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.79758923465116,46.39752991433062],[-65.85550223560651,46.52612746163947],[-65.94733404281666,46.726069317698176],[-66.01267435304585,46.87021322812314],[-66.29710150324877,46.807633915924704],[-66.17873330507615,46.546389212189],[-66.15181676057958,46.55005577158969],[-66.15984884124946,46.566167774647155],[-66.12660722911258,46.57248351696833],[-66.10891846555641,46.58454714697451],[-66.07241430283948,46.59191446997239],[-66.05276243515887,46.56249715321801],[-66.08214503264824,46.554350148697445],[-66.10650118766976,46.54039138876484],[-66.1226158194215,46.54328548457254],[-66.16802909072311,46.530117255738155],[-66.1741192146752,46.534411425094206],[-66.10571230503001,46.3850935906148],[-65.99940383304293,46.36498916539016],[-65.97696291487243,46.359691258846745],[-65.8537675293194,46.33658050382143],[-65.85166108405355,46.33650435230393],[-65.79758923465116,46.39752991433062]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.04054616133058,\"lat\":46.60141786518902},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1309\"],\"cd_name_en\":[\"Northumberland\"],\"csd_code\":[\"1309021\"],\"csd_name_en\":[\"Blissfield\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Northumberland\",\"csd_name_fr\":\"Blissfield\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.48064015882568,45.91052479322371],[-67.4740952035539,45.90203896738195],[-67.48373237591629,45.89028352352442],[-67.4783234174351,45.88205087267139],[-67.46015432489952,45.87577566281751],[-67.45077416700065,45.89332089747937],[-67.45569620726106,45.90119971179929],[-67.48064015882568,45.91052479322371]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.46705912694276,\"lat\":45.89191781085936},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1310\"],\"cd_name_en\":[\"York\"],\"csd_code\":[\"1310012\"],\"csd_name_en\":[\"Canterbury\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"York\",\"csd_name_fr\":\"Canterbury\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.50498932742317,45.98326527695612],[-67.4688167561327,45.973133257698976],[-67.46033641682646,45.99561522149565],[-67.49871240406534,46.00076878566812],[-67.50498932742317,45.98326527695612]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.48242378994351,\"lat\":45.98805002637503},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1310\"],\"cd_name_en\":[\"York\"],\"csd_code\":[\"1310013\"],\"csd_name_en\":[\"Meductic\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"York\",\"csd_name_fr\":\"Meductic\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.1399699082588,46.438581214670606],[-67.10963713751008,46.477489559649705],[-67.03119010389725,46.573975225422224],[-67.25414056028815,46.570831523905134],[-67.44022649349246,46.56849341264443],[-67.4922390563563,46.55512945235134],[-67.48398194248581,46.54437569594722],[-67.47740779701792,46.45289107809366],[-67.46771088634831,46.43559193673187],[-67.42397001980164,46.43592899827331],[-67.37202390996626,46.435183996330025],[-67.32873550886976,46.43790959024961],[-67.1399699082588,46.438581214670606]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.28100148502395,\"lat\":46.50722691620964},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1311\"],\"cd_name_en\":[\"Carleton\"],\"csd_code\":[\"1311026\"],\"csd_name_en\":[\"Aberdeen\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Carleton\",\"csd_name_fr\":\"Aberdeen\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.31075493210943,48.050894242616955],[-66.34890009269417,48.07714990544461],[-66.382272001896,48.088183853007344],[-66.42921244256992,48.08865455295744],[-66.46975383201278,48.08557002348636],[-66.50243108387542,48.07702510342547],[-66.52484824183261,48.05010302809637],[-66.5679427063709,48.038206595302114],[-66.61949895513095,48.025305340390005],[-66.60393053372589,47.988389763020066],[-66.63091189869574,47.982663870250455],[-66.61830931762447,47.96166959915222],[-66.65444682228176,47.95013160822231],[-66.65139656143135,47.94192033673427],[-66.59484654129912,47.956585292824464],[-66.59008483714045,47.950733211448394],[-66.56907688735603,47.956375783517174],[-66.56505553655042,47.95735745726708],[-66.58849399882241,47.95879850786796],[-66.59607977799193,47.979284848418345],[-66.58060742475232,47.98917867273466],[-66.54562399486288,47.9964469996118],[-66.54764877078227,48.017892250347636],[-66.53540255734313,48.02269794179577],[-66.51792824800191,48.007941342005296],[-66.42396296434818,48.03388094563393],[-66.43002225755868,48.04429886322345],[-66.41229986709762,48.04880828536158],[-66.41783825596768,48.065872392910286],[-66.3810601918616,48.06669630993405],[-66.37669867596324,48.07281815013365],[-66.35115307123563,48.06181632335933],[-66.37144779664747,48.04637900293378],[-66.3712129886947,48.038014308552064],[-66.37444370660045,48.030275504595394],[-66.39571350368105,48.02928569382769],[-66.3971157148744,48.02863539546486],[-66.40346200678773,48.02710486571552],[-66.41022098278104,48.02357023908887],[-66.39404074187009,48.0249967605864],[-66.37137612419482,48.00391850509927],[-66.3721918766436,48.03203224440031],[-66.32753994562356,48.0426137166623],[-66.31075493210943,48.050894242616955]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.48970826635524,\"lat\":48.03520888927681},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1314\"],\"cd_name_en\":[\"Restigouche\"],\"csd_code\":[\"1314008\"],\"csd_name_en\":[\"Dalhousie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Restigouche\",\"csd_name_fr\":\"Dalhousie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.3712129886947,48.038014308552064],[-66.37144779664747,48.04637900293378],[-66.35115307123563,48.06181632335933],[-66.37669867596324,48.07281815013365],[-66.3810601918616,48.06669630993405],[-66.41783825596768,48.065872392910286],[-66.41229986709762,48.04880828536158],[-66.43002225755868,48.04429886322345],[-66.42396296434818,48.03388094563393],[-66.41022098278104,48.02357023908887],[-66.40346200678773,48.02710486571552],[-66.3971157148744,48.02863539546486],[-66.39571350368105,48.02928569382769],[-66.3712129886947,48.038014308552064]],[[-66.38322472632932,48.03795761079891],[-66.40094687569267,48.03358320450108],[-66.4010740002123,48.03676599774841],[-66.3851103401838,48.04054622806061],[-66.38322472632932,48.03795761079891]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.3929434358658,\"lat\":48.049533970906275},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1314\"],\"cd_name_en\":[\"Restigouche\"],\"csd_code\":[\"1314017\"],\"csd_name_en\":[\"Dalhousie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town \\/ Ville\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Restigouche\",\"csd_name_fr\":\"Dalhousie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.56819103763043,47.921510280272855],[-67.60808306170792,47.93680607700277],[-67.60652287833776,47.96193686637488],[-67.59653726188327,47.96983276826811],[-67.6134164108562,47.97980961456453],[-67.61029893434953,47.99137212499752],[-67.59650263975219,47.998064270201205],[-67.60423481617144,47.99995132758395],[-67.94956501331532,47.99994379731419],[-68.12259196754987,47.9997458075822],[-68.1227929297366,47.9164421948177],[-68.38233418321127,47.91611694459349],[-68.38262282125918,47.880048447224425],[-68.38266118498792,47.83252065881745],[-68.38254959166072,47.79078376525888],[-68.18359275652041,47.72741947672537],[-68.04849133103355,47.68347626331557],[-67.97684907952376,47.66039469162682],[-67.76409592193758,47.59373849538724],[-67.68853540123908,47.56853973673969],[-67.53485399697536,47.51761603950142],[-67.43496729041814,47.485110921405784],[-67.29440573438075,47.44067833162027],[-67.2065658123685,47.41321333961455],[-67.17062011829981,47.401728284408364],[-67.18919345766001,47.45550338628765],[-67.24051602455336,47.59716285612361],[-67.34404835940214,47.598645581852054],[-67.5695544189544,47.600565115663215],[-67.56851994961669,47.79560884632957],[-67.56819103763043,47.921510280272855]],[[-67.39250357883921,47.495216050860904],[-67.39723478006124,47.524779379323654],[-67.38010336956813,47.524258641676035],[-67.38135512675585,47.494960921417075],[-67.39250357883921,47.495216050860904]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.81524301822847,\"lat\":47.76485234275083},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1314\"],\"cd_name_en\":[\"Restigouche\"],\"csd_code\":[\"1314021\"],\"csd_name_en\":[\"Saint-Quentin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Restigouche\",\"csd_name_fr\":\"Saint-Quentin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.39250357883921,47.495216050860904],[-67.38135512675585,47.494960921417075],[-67.38010336956813,47.524258641676035],[-67.39723478006124,47.524779379323654],[-67.39250357883921,47.495216050860904]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.38786456450066,\"lat\":47.510840550502316},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1314\"],\"cd_name_en\":[\"Restigouche\"],\"csd_code\":[\"1314022\"],\"csd_name_en\":[\"Saint-Quentin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town \\/ Ville\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Restigouche\",\"csd_name_fr\":\"Saint-Quentin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.13934377426725,48.612812224344104],[-68.13116463996838,48.62574972918538],[-68.14549584345137,48.654474890187444],[-68.24517910900983,48.743314241077115],[-68.32507927581639,48.81665667521235],[-68.33498811994436,48.81107846780632],[-68.45892669131871,48.7411016133074],[-68.51858303540655,48.7124827583035],[-68.29461253556175,48.58310693851722],[-68.25331735911631,48.558658439598915],[-68.20301911587981,48.58073791035002],[-68.21719155733147,48.59119412900648],[-68.22029648447753,48.605001358827515],[-68.20105608354164,48.62001874223488],[-68.18147362562354,48.609913529870674],[-68.19274863479143,48.60266348749828],[-68.17524364120281,48.59235363263882],[-68.14486530566879,48.607048263316486],[-68.13934377426725,48.612812224344104]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.31169144059544,\"lat\":48.68502846911686},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2409\"],\"cd_name_en\":[\"La Mitis\"],\"csd_code\":[\"2409085\"],\"csd_name_en\":[\"Sainte-Flavie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Mitis\",\"csd_name_fr\":\"Sainte-Flavie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.83517617562099,47.74702728057868],[-69.76313958496051,47.83610415229391],[-69.71967791818982,47.89159810465108],[-69.67202556298317,47.941044129002925],[-69.65908967442341,47.95317078227706],[-69.74993582113026,47.98976813554593],[-70.00126415156,47.99369114358745],[-70.05138525973793,47.903456291088204],[-70.06679178514143,47.88592549783208],[-69.9881642191667,47.83736367232403],[-69.87966388654908,47.77434012266973],[-69.83517617562099,47.74702728057868]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.8694309596247,\"lat\":47.897753808403984},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2415\"],\"cd_name_en\":[\"Charlevoix-Est\"],\"csd_code\":[\"2415058\"],\"csd_name_en\":[\"Saint-Sim\\u00e9on\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Charlevoix-Est\",\"csd_name_fr\":\"Saint-Sim\\u00e9on\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.08327649821926,46.81990621486685],[-69.95283144130974,46.90884891656284],[-70.03966096279731,46.96569144844289],[-70.0766961464793,46.990263540299786],[-70.1709015432779,46.92679470534689],[-70.2037703005454,46.904846720243356],[-70.08327649821926,46.81990621486685]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.07889115077747,\"lat\":46.90563316878986},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2417\"],\"cd_name_en\":[\"L'Islet\"],\"csd_code\":[\"2417020\"],\"csd_name_en\":[\"Saint-Marcel\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"L'Islet\",\"csd_name_fr\":\"Saint-Marcel\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.8832281933212,47.230993936478946],[-69.97438869460132,47.29136768655982],[-70.00303332070445,47.27846873436754],[-70.05765868866395,47.254651184349164],[-70.09156242395414,47.24857339910821],[-70.10814852555843,47.24006825143654],[-70.13702927807658,47.20591454801467],[-70.1620061780095,47.190118494859206],[-70.11561270949821,47.160484603335924],[-70.13559189025703,47.13644390461966],[-70.15636689571313,47.119241419255395],[-70.14137318123431,47.106900757172404],[-70.09413792049492,47.07699140993003],[-69.97210485532369,47.164728996021275],[-69.8832281933212,47.230993936478946]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.03534634971118,\"lat\":47.19238992953962},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2417\"],\"cd_name_en\":[\"L'Islet\"],\"csd_code\":[\"2417040\"],\"csd_name_en\":[\"Saint-Damase-de-L'Islet\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"L'Islet\",\"csd_name_fr\":\"Saint-Damase-de-L'Islet\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.79851999029901,46.61768451617202],[-70.83713834647394,46.64588294102162],[-70.85192087755898,46.659518268071295],[-70.84737713321054,46.670085523233546],[-70.86462363383006,46.681597077593324],[-70.8906333339613,46.67352730271759],[-70.90814337188935,46.68539305209805],[-70.92805174483998,46.665824922629646],[-70.91249376735873,46.65367276563106],[-70.94360203035995,46.63344545139515],[-70.93028348488706,46.631731891576464],[-70.91327863733898,46.61277601423138],[-70.86311493422714,46.612308448010154],[-70.8416517509309,46.62396653471215],[-70.81537500014184,46.60589053939178],[-70.79851999029901,46.61768451617202]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.87681309568742,\"lat\":46.642265701603584},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2419\"],\"cd_name_en\":[\"Bellechasse\"],\"csd_code\":[\"2419070\"],\"csd_name_en\":[\"Honfleur\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Bellechasse\",\"csd_name_fr\":\"Honfleur\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.88759307858763,47.02473337956925],[-70.8524048223079,47.03413929143545],[-70.89010253233823,47.06662820869225],[-70.90454510978277,47.07854046800169],[-70.90600026575447,47.0895648998449],[-70.92923852406584,47.10995074165391],[-70.94794898124624,47.100861657556436],[-70.93583390007169,47.08649519278494],[-70.95471365135465,47.081644342673265],[-70.88759307858763,47.02473337956925]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.90750459149487,\"lat\":47.06452533095565},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2421\"],\"cd_name_en\":[\"La C\\u00f4te-de-Beaupr\\u00e9\"],\"csd_code\":[\"2421025\"],\"csd_name_en\":[\"Beaupr\\u00e9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La C\\u00f4te-de-Beaupr\\u00e9\",\"csd_name_fr\":\"Beaupr\\u00e9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.33598146734118,46.95543593848334],[-71.30355874477533,46.930291456915505],[-71.22346435019254,46.9696022031858],[-71.26996369013163,47.01765164992307],[-71.28582035109515,47.03325220610149],[-71.36461981422006,46.983883902876975],[-71.33598146734118,46.95543593848334]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.29444308296313,\"lat\":46.97979399547965},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2422\"],\"cd_name_en\":[\"La Jacques-Cartier\"],\"csd_code\":[\"2422040\"],\"csd_name_en\":[\"Lac-Beauport\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Jacques-Cartier\",\"csd_name_fr\":\"Lac-Beauport\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.49956686063175,45.82706808197195],[-70.56174542838684,45.908704888229394],[-70.63256642570528,45.88276976490008],[-70.63495712254104,45.90575487145396],[-70.64558418205664,45.91523393737558],[-70.73114470882939,45.914268832827624],[-70.72738839902719,45.78140376692409],[-70.72566877774673,45.78141065663172],[-70.66371492150041,45.78202858162942],[-70.64603370317232,45.80020799081351],[-70.63168758631265,45.77890751418851],[-70.49956686063175,45.82706808197195]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.63511561753936,\"lat\":45.8472807078276},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2429\"],\"cd_name_en\":[\"Beauce-Sartigan\"],\"csd_code\":[\"2429013\"],\"csd_name_en\":[\"Saint-G\\u00e9d\\u00e9on-de-Beauce\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Beauce-Sartigan\",\"csd_name_fr\":\"Saint-G\\u00e9d\\u00e9on-de-Beauce\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.58982279154883,46.31426427651189],[-71.64964278316987,46.35909690257234],[-71.68412665210072,46.33588581321747],[-71.7420395801418,46.37597145766783],[-71.76125011144497,46.36368969890749],[-71.7870467646528,46.34672599810047],[-71.74927131874504,46.31698893845566],[-71.65602926402457,46.24785669962357],[-71.6571073886242,46.246586591418904],[-71.64128605195671,46.23636539360637],[-71.62112026497779,46.24646531369528],[-71.6008237045374,46.265860399141744],[-71.62499160089443,46.27866580862008],[-71.58982279154883,46.31426427651189]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.6781663538432,\"lat\":46.31102366752344},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2432\"],\"cd_name_en\":[\"L'\\u00c9rable\"],\"csd_code\":[\"2432072\"],\"csd_name_en\":[\"Laurierville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"L'\\u00c9rable\",\"csd_name_fr\":\"Laurierville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.39317118108673,46.792105754311315],[-72.35335697332512,46.81686465259479],[-72.36227984611664,46.82236949293255],[-72.34383885034666,46.83942574479165],[-72.36678917633925,46.86070618904172],[-72.319059561017,46.89435745421784],[-72.35330696425274,46.91776337477523],[-72.41774669489979,46.9653321749521],[-72.35450126624517,47.00233529751076],[-72.43620450541016,47.057264109756304],[-72.43801945872856,47.05844889078991],[-72.50924806903664,47.00903797474297],[-72.56128252185734,46.97120063600282],[-72.51710534879052,46.944934289405474],[-72.54785546403338,46.92365320968954],[-72.56557692045695,46.90801981948064],[-72.43549517777352,46.82109800951189],[-72.39317118108673,46.792105754311315]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.44180477124979,\"lat\":46.92536850458194},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2435\"],\"cd_name_en\":[\"M\\u00e9kinac\"],\"csd_code\":[\"2435010\"],\"csd_name_en\":[\"Lac-aux-Sables\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"M\\u00e9kinac\",\"csd_name_fr\":\"Lac-aux-Sables\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.43144556277024,46.6750816718278],[-72.47606872082592,46.707214601515794],[-72.50335378304918,46.68775102771432],[-72.50839977267755,46.69026227102117],[-72.5576703092928,46.67343426397447],[-72.57539941782711,46.66281160352798],[-72.55147504325014,46.64567895719426],[-72.4924728098425,46.60745547045777],[-72.46669815684965,46.625752698549725],[-72.44749182153694,46.64478224475133],[-72.46508466367412,46.65866804502219],[-72.41966862126414,46.666590417265574],[-72.43144556277024,46.6750816718278]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.49670202203839,\"lat\":46.65883527596089},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2435\"],\"cd_name_en\":[\"M\\u00e9kinac\"],\"csd_code\":[\"2435020\"],\"csd_name_en\":[\"Saint-S\\u00e9verin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"M\\u00e9kinac\",\"csd_name_fr\":\"Saint-S\\u00e9verin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.0809974498057,46.1976840140263],[-72.08462815819294,46.21661217909903],[-72.09817337075691,46.20833780091554],[-72.1072065743238,46.19399241473034],[-72.13033405442891,46.20414150545629],[-72.14219680616912,46.21541477833457],[-72.16686524254642,46.213159085797905],[-72.19915142652567,46.199509769304015],[-72.21787455110699,46.19520494561204],[-72.21856026575554,46.1703854249731],[-72.17917065550918,46.17836150779396],[-72.1776969695958,46.16376142755954],[-72.16360658022386,46.151547505203176],[-72.16286569645797,46.12281265411388],[-72.14942399692676,46.12519022826451],[-72.1294680098995,46.129291549887526],[-72.10237638935745,46.13490434403949],[-72.1023692318189,46.164458133752966],[-72.08092580503566,46.16865638908713],[-72.0809974498057,46.1976840140263]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.14228765985936,\"lat\":46.17495460902112},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2439\"],\"cd_name_en\":[\"Arthabaska\"],\"csd_code\":[\"2439152\"],\"csd_name_en\":[\"Daveluyville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Arthabaska\",\"csd_name_fr\":\"Daveluyville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.03544876110101,45.4701165173413],[-72.08519230752536,45.495546964183056],[-72.0975559167045,45.48403704414154],[-72.10853363190209,45.4895676315046],[-72.13313151121153,45.47353039142783],[-72.1502808588592,45.44380816689282],[-72.14637525645023,45.428322108264],[-72.14095217895056,45.409774915445254],[-72.14435690163876,45.381465841267875],[-72.12557261023784,45.38657085353071],[-72.10531663198081,45.38522883898225],[-72.10503579775386,45.389811360601165],[-72.06670636439586,45.400502008813696],[-72.0684818300671,45.439833314226306],[-72.06038230808349,45.442350544096605],[-72.01355202996088,45.443235626900595],[-71.99467052086142,45.448637703819074],[-72.03544876110101,45.4701165173413]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.09293764883277,\"lat\":45.441315668311915},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2442\"],\"cd_name_en\":[\"Le Val-Saint-Fran\\u00e7ois\"],\"csd_code\":[\"2442025\"],\"csd_name_en\":[\"Saint-Denis-de-Brompton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Val-Saint-Fran\\u00e7ois\",\"csd_name_fr\":\"Saint-Denis-de-Brompton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.1406038208852,45.64865710643294],[-72.12890222077569,45.656911215726566],[-72.11057182416864,45.660369886672996],[-72.14810838614909,45.6792410628514],[-72.15956261258857,45.66897324315908],[-72.16585370210498,45.658105159564975],[-72.1406038208852,45.64865710643294]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.1422179388781,\"lat\":45.66315187379327},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2442\"],\"cd_name_en\":[\"Le Val-Saint-Fran\\u00e7ois\"],\"csd_code\":[\"2442098\"],\"csd_name_en\":[\"Richmond\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Val-Saint-Fran\\u00e7ois\",\"csd_name_fr\":\"Richmond\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.04150688125442,45.98867247687237],[-73.06025048334601,46.00489627081975],[-73.08153205546158,46.013064565365326],[-73.09025039031084,45.99521361647715],[-73.10419686567293,45.98056891571673],[-73.14528176308015,45.99576905628369],[-73.14211822634289,45.975173979626895],[-73.14658469655609,45.95530069994147],[-73.06638502980456,45.894596224524804],[-73.05934054516153,45.88909418132703],[-73.03113403890637,45.9069511798418],[-73.03708293807728,45.91118396517931],[-73.0227597651972,45.94577561836595],[-73.02194417129463,45.96107145784972],[-73.0500613126715,45.96684475313869],[-73.04150688125442,45.98867247687237]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.07960583669445,\"lat\":45.95251997885407},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2453\"],\"cd_name_en\":[\"Pierre-De Saurel\"],\"csd_code\":[\"2453025\"],\"csd_name_en\":[\"Sainte-Victoire-de-Sorel\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Pierre-De Saurel\",\"csd_name_fr\":\"Sainte-Victoire-de-Sorel\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.06251202870358,45.538310902496235],[-73.10076657277477,45.56806700011635],[-73.1023113906918,45.55532579726504],[-73.12057800606236,45.561960759857286],[-73.13876544071918,45.574398245235116],[-73.12985968106149,45.55883575754885],[-73.12998364196508,45.54718599492395],[-73.14744764709246,45.53569967885869],[-73.16042635398595,45.52034886567252],[-73.17206834556107,45.52872261061221],[-73.19637068815683,45.510680040302574],[-73.16806324577917,45.49043338228135],[-73.11581447022319,45.45392793360327],[-73.10005752735474,45.46596825082858],[-73.07953266512337,45.465567281273394],[-73.07263307252855,45.47595263827326],[-73.06226821424451,45.49356552267626],[-73.07901790542732,45.505798824374814],[-73.06251202870358,45.538310902496235]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.11788445035407,\"lat\":45.50994422625647},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2457\"],\"cd_name_en\":[\"La Vall\\u00e9e-du-Richelieu\"],\"csd_code\":[\"2457033\"],\"csd_name_en\":[\"Saint-Jean-Baptiste\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-du-Richelieu\",\"csd_name_fr\":\"Saint-Jean-Baptiste\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.20917145393454,45.54927512628186],[-73.18978021780232,45.58745701127361],[-73.1847371771937,45.6211626291886],[-73.20339645998419,45.62589728730852],[-73.20666586890228,45.601265545034316],[-73.22514109190622,45.6032523997627],[-73.243556172588,45.57110773698129],[-73.26513298241392,45.558449308755975],[-73.24916003620241,45.54721813419977],[-73.2317885313633,45.5579231258492],[-73.21506036014001,45.54559596391871],[-73.20917145393454,45.54927512628186]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.21693868056916,\"lat\":45.58049592405441},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2457\"],\"cd_name_en\":[\"La Vall\\u00e9e-du-Richelieu\"],\"csd_code\":[\"2457040\"],\"csd_name_en\":[\"Beloeil\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-du-Richelieu\",\"csd_name_fr\":\"Beloeil\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.11599466274447,45.685779889787156],[-73.14695270283927,45.706013185788386],[-73.14917430347955,45.69711953454208],[-73.19113269033684,45.72801305247553],[-73.18909607735591,45.686157012873466],[-73.19494796240834,45.66293758782842],[-73.20547312685022,45.646000961194424],[-73.18564922037818,45.62964151632207],[-73.1302129372009,45.589209387922224],[-73.14004612898198,45.61211893478845],[-73.13175614857208,45.63199029972842],[-73.09952796580923,45.61116893267815],[-73.09923601274426,45.612074808728735],[-73.10118930290305,45.66196873769902],[-73.11642315951049,45.67390140733692],[-73.11599466274447,45.685779889787156]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.15197072676222,\"lat\":45.658534541268025},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2457\"],\"cd_name_en\":[\"La Vall\\u00e9e-du-Richelieu\"],\"csd_code\":[\"2457057\"],\"csd_name_en\":[\"Saint-Charles-sur-Richelieu\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-du-Richelieu\",\"csd_name_fr\":\"Saint-Charles-sur-Richelieu\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.83933353947396,46.01250614864349],[-73.88190518081048,46.04047868286583],[-73.8369710132245,46.073303139913655],[-73.73257692967667,46.145096262396585],[-73.8001816187242,46.19168703013086],[-73.8835604047892,46.24585689123549],[-73.97969118746371,46.17931681607047],[-73.9549494255701,46.16134389657268],[-73.97612775835373,46.14604066266012],[-73.94930580859256,46.127279712923375],[-73.97598640454973,46.10849232668468],[-73.963471787092,46.0992497927644],[-73.98780408599139,46.08479579036163],[-73.96050325014687,46.06501446607313],[-73.98958866641752,46.043919416329274],[-73.99227481555955,46.0419228880069],[-74.00213022283971,46.03430982313891],[-74.00431124155357,46.03274561808588],[-73.97965919111047,46.014799057025826],[-74.00212522430115,45.99776529293639],[-73.9757753530978,45.979103122586125],[-73.92085607938309,46.01936453495307],[-73.89820528860187,46.01027160740774],[-73.87308820972363,46.02812660795915],[-73.83933353947396,46.01250614864349]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.88660953919248,\"lat\":46.12129190791384},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2462\"],\"cd_name_en\":[\"Matawinie\"],\"csd_code\":[\"2462047\"],\"csd_name_en\":[\"Chertsey\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Matawinie\",\"csd_name_fr\":\"Chertsey\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.67520286797487,46.655801373840305],[-73.60090684094433,46.70867908592719],[-73.73430943900547,46.80099655867629],[-73.75072557707581,46.80293625914719],[-73.78210433094162,46.797082974415744],[-73.79326034680264,46.787306579196986],[-73.82136433473137,46.78892888001619],[-73.83470289156192,46.78552432283024],[-73.8515224459216,46.79548647496758],[-73.87069107369045,46.792351712437814],[-73.88039822901797,46.77827500735302],[-73.90824808027308,46.75490845587897],[-73.97547234042278,46.80042135305104],[-74.04101930006175,46.75381546283743],[-74.13006857919132,46.69342490669517],[-74.0425813004292,46.63216341006821],[-73.938054088982,46.562047949887486],[-73.86148161935691,46.61976448792616],[-73.78706613491885,46.67166546996361],[-73.7553594702415,46.64999415598134],[-73.70949631655044,46.679931826867445],[-73.67520286797487,46.655801373840305]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.87746433907822,\"lat\":46.70104203541726},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2462\"],\"cd_name_en\":[\"Matawinie\"],\"csd_code\":[\"2462085\"],\"csd_name_en\":[\"Saint-Michel-des-Saints\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Matawinie\",\"csd_name_fr\":\"Saint-Michel-des-Saints\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.45637001561487,45.943759954961976],[-73.47094618351237,45.96002569727531],[-73.48006861744659,45.95663559314391],[-73.5045076620297,45.959738016084856],[-73.52291495214689,45.95102127276495],[-73.53155259097727,45.90739730058744],[-73.52072180925734,45.89662039122063],[-73.50135574766288,45.898053628092136],[-73.48163240966785,45.89637607321897],[-73.46280144091044,45.90468562135567],[-73.45637001561487,45.943759954961976]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.49375416860224,\"lat\":45.927368571449755},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2463\"],\"cd_name_en\":[\"Montcalm\"],\"csd_code\":[\"2463005\"],\"csd_name_en\":[\"Sainte-Marie-Salom\\u00e9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Montcalm\",\"csd_name_fr\":\"Sainte-Marie-Salom\\u00e9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.74674838615854,45.88932399835482],[-73.77602518786995,45.911965739500744],[-73.88085209345846,45.88870179095404],[-73.88338655816115,45.88952570684842],[-73.90160357711729,45.88540045357466],[-73.80677512143883,45.82083971497339],[-73.79727304037729,45.82680699893213],[-73.78043999176734,45.815700030033206],[-73.75537821242483,45.8134291224794],[-73.74192516998649,45.806036463603284],[-73.6985334664133,45.80453739630891],[-73.67649511675386,45.81743988408713],[-73.67689146904827,45.834908965464514],[-73.70552351298085,45.858559459795416],[-73.67921911115913,45.86536388457638],[-73.67248194461924,45.87294156934434],[-73.6862333936776,45.882662826784816],[-73.6957945912652,45.87775034781355],[-73.72658021971527,45.87476764979411],[-73.74674838615854,45.88932399835482]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.77390965736294,\"lat\":45.857434224841555},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2463\"],\"cd_name_en\":[\"Montcalm\"],\"csd_code\":[\"2463048\"],\"csd_name_en\":[\"Saint-Lin--Laurentides\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Montcalm\",\"csd_name_fr\":\"Saint-Lin--Laurentides\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.65824876327329,46.00979072195675],[-73.67781200191716,46.01807449927419],[-73.68259268189306,46.03271848295079],[-73.70805409738806,46.0313681462877],[-73.78801039444795,45.977858568172174],[-73.79876381045068,45.98575781067842],[-73.82738856412188,45.96654134126772],[-73.76087550517977,45.92064389834155],[-73.77602518786995,45.911965739500744],[-73.74674838615854,45.88932399835482],[-73.72951412970762,45.909650739552625],[-73.72875276000909,45.91838236181013],[-73.70084070050345,45.92581475536007],[-73.69605945351809,45.936830581315704],[-73.67948002697287,45.94598947791158],[-73.70004808144324,45.96056260687622],[-73.66085325186769,45.98828459406363],[-73.63000726655086,46.01043268353988],[-73.65824876327329,46.00979072195675]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.73176040772289,\"lat\":45.96826612011055},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2463\"],\"cd_name_en\":[\"Montcalm\"],\"csd_code\":[\"2463060\"],\"csd_name_en\":[\"Sainte-Julienne\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Montcalm\",\"csd_name_fr\":\"Sainte-Julienne\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.48655424124067,45.63190736093246],[-73.5221195746094,45.63801206424191],[-73.5453251173925,45.648084026948325],[-73.56759292821062,45.63459536556775],[-73.53617388316245,45.62003749705087],[-73.49977895182938,45.610131381264324],[-73.48655424124067,45.63190736093246]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.52512013208806,\"lat\":45.62917718940185},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2466\"],\"cd_name_en\":[\"Montr\\u00e9al\"],\"csd_code\":[\"2466007\"],\"csd_name_en\":[\"Montr\\u00e9al-Est\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Montr\\u00e9al\",\"csd_name_fr\":\"Montr\\u00e9al-Est\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.73815831945578,45.43357999591553],[-73.74415371414499,45.433855191692935],[-73.74062489447306,45.4305512077563],[-73.73815831945578,45.43357999591553]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.7409789760246,\"lat\":45.432662131788256},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2466\"],\"cd_name_en\":[\"Montr\\u00e9al\"],\"csd_code\":[\"2466092\"],\"csd_name_en\":[\"L'\\u00cele-Dorval\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Montr\\u00e9al\",\"csd_name_fr\":\"L'\\u00cele-Dorval\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.48657923355549,45.38806868088049],[-73.50274962947937,45.4004878952467],[-73.53129126783507,45.41325999654423],[-73.53599501565014,45.40091509624815],[-73.53620491783393,45.376473290653855],[-73.52100937670413,45.36887711960536],[-73.51989177203427,45.35364590092249],[-73.51634192172239,45.337309101607204],[-73.49291711030817,45.34903411004821],[-73.49738039733931,45.358820635584415],[-73.48657923355549,45.38806868088049]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.51263503745707,\"lat\":45.37823248964595},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2467\"],\"cd_name_en\":[\"Roussillon\"],\"csd_code\":[\"2467020\"],\"csd_name_en\":[\"Candiac\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Roussillon\",\"csd_name_fr\":\"Candiac\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.8142675993693,45.31592073921065],[-73.84446630069812,45.33925175388788],[-73.8519555612985,45.357149819349836],[-73.88668017601579,45.34116249283528],[-73.91737462306324,45.33671829687123],[-73.93419304847026,45.32577465531454],[-73.97607986096178,45.31856948481114],[-73.96416930480801,45.304093091854874],[-73.95160663307387,45.257185261087635],[-73.9512339788715,45.25598243936777],[-73.92308911033702,45.25950659684846],[-73.91140785951858,45.271086611590796],[-73.88244478939203,45.25244174321243],[-73.87438690911193,45.264734915933076],[-73.84357149760457,45.24150036508109],[-73.8195072637031,45.27759188744122],[-73.82506330645117,45.286057411958936],[-73.81128906271279,45.3137355385443],[-73.8142675993693,45.31592073921065]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.88722733865181,\"lat\":45.29864768530047},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2470\"],\"cd_name_en\":[\"Beauharnois-Salaberry\"],\"csd_code\":[\"2470022\"],\"csd_name_en\":[\"Beauharnois\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Beauharnois-Salaberry\",\"csd_name_fr\":\"Beauharnois\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-74.07402580623223,45.52193938347811],[-74.09121344983627,45.53457722698547],[-74.11355005050731,45.51821296026288],[-74.12098090881415,45.50388232134918],[-74.13777477719614,45.509417941493005],[-74.14297191177197,45.521806173568116],[-74.18967709093202,45.49072078741957],[-74.15026416790191,45.47957106241604],[-74.13217590604079,45.46639664362645],[-74.09344768640021,45.45089348537176],[-74.06933260208771,45.45381381446342],[-74.05987849412226,45.44949239178266],[-74.0194783238201,45.45110908936851],[-74.00624716232198,45.4505558760578],[-73.99868834669654,45.44984657349949],[-73.97290303009392,45.46140408484745],[-73.96505896446409,45.46877107706087],[-73.99788952173871,45.492826316438915],[-74.03279543500047,45.51919180867327],[-74.04105924356092,45.513075420548695],[-74.08071227917982,45.5412050897786],[-74.06748355441755,45.526534921249414],[-74.07402580623223,45.52193938347811]],[[-74.12685208835495,45.50080127387904],[-74.11966533684473,45.48829845136498],[-74.10484246130297,45.491179887551134],[-74.09128582593489,45.474464858733256],[-74.10296709749296,45.465228742396135],[-74.12565435605985,45.474011602391165],[-74.13279331382678,45.490790601799674],[-74.12685208835495,45.50080127387904]]],[[[-74.1210269715894,45.51474454866085],[-74.13636030656475,45.5262265396952],[-74.14131218892258,45.52291597813067],[-74.1210269715894,45.51474454866085]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.0695255636098,\"lat\":45.48681245260296},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2472\"],\"cd_name_en\":[\"Deux-Montagnes\"],\"csd_code\":[\"2472032\"],\"csd_name_en\":[\"Oka\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Deux-Montagnes\",\"csd_name_fr\":\"Oka\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.86390910104919,45.64373353568218],[-73.92030056647293,45.633858663589464],[-73.8969058375125,45.61740747508161],[-73.84075599330899,45.58301779057042],[-73.84319804810661,45.57890046611031],[-73.83221601829572,45.58793395314549],[-73.82581123668247,45.60557080679905],[-73.80796546746612,45.61074046122766],[-73.8284672834388,45.63021688524446],[-73.84670750236764,45.63187504695923],[-73.86390910104919,45.64373353568218]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.85969383033192,\"lat\":45.617349426671886},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2473\"],\"cd_name_en\":[\"Th\\u00e9r\\u00e8se-De Blainville\"],\"csd_code\":[\"2473005\"],\"csd_name_en\":[\"Boisbriand\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Th\\u00e9r\\u00e8se-De Blainville\",\"csd_name_fr\":\"Boisbriand\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.1200669523856,45.780789846122865],[-74.18225481017429,45.79510878695517],[-74.18339262410798,45.79165358677834],[-74.19506322718345,45.75008391744449],[-74.20391180365014,45.70507608878421],[-74.20841934750324,45.68696200179382],[-74.18120879739202,45.69091911699279],[-74.16693043822625,45.688519245310786],[-74.13150140473925,45.70053862617679],[-74.11346674975113,45.6999776845022],[-74.09183873300097,45.71186539261741],[-74.09040799508298,45.71812256467143],[-74.05696382423335,45.7371030671692],[-74.07362489652522,45.748218391259655],[-74.05210968780518,45.75782337356267],[-74.03916968745334,45.7636962162039],[-74.1200669523856,45.780789846122865]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.1385026602295,\"lat\":45.74032661128074},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2475\"],\"cd_name_en\":[\"La Rivi\\u00e8re-du-Nord\"],\"csd_code\":[\"2475005\"],\"csd_name_en\":[\"Saint-Colomban\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Rivi\\u00e8re-du-Nord\",\"csd_name_fr\":\"Saint-Colomban\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.65935501927369,46.118045849519795],[-74.6441827686049,46.16301470496465],[-74.67257696753204,46.16255981946213],[-74.67755500080439,46.17378694556852],[-74.66019267253587,46.22078058186595],[-74.6750222420949,46.21972366002967],[-74.8311264533087,46.21634355282641],[-74.83085251751176,46.13453750489982],[-74.77040081494523,46.1349089823021],[-74.74969131909847,46.127773148381586],[-74.7500250207528,46.10000608887823],[-74.71175036931199,46.09955325974224],[-74.7059044128229,46.11790859297324],[-74.65935501927369,46.118045849519795]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.74128785243946,\"lat\":46.1677197881744},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2478\"],\"cd_name_en\":[\"Les Laurentides\"],\"csd_code\":[\"2478115\"],\"csd_name_en\":[\"La Conception\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Laurentides\",\"csd_name_fr\":\"La Conception\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.119215521673,45.85391674132552],[-75.1327114300584,45.90364049090874],[-75.15027204486167,45.90303970644654],[-75.1510829305328,45.93522132417107],[-75.19822793960961,45.93507601404013],[-75.21376503515444,45.93939373344351],[-75.21425599758852,45.97380211558211],[-75.28259369501058,45.9726296916896],[-75.39232376221706,45.972690758460246],[-75.39229802651414,45.85246744628423],[-75.25170242625184,45.86902905499455],[-75.24986997631966,45.81759223608718],[-75.2220065411841,45.81924337953944],[-75.18187484660217,45.81977856783878],[-75.18177819180039,45.82527975224841],[-75.13993886536674,45.82558381898518],[-75.13848082041692,45.84670349013673],[-75.119215521673,45.85391674132552]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.26315891848586,\"lat\":45.9012862833156},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2480\"],\"cd_name_en\":[\"Papineau\"],\"csd_code\":[\"2480090\"],\"csd_name_en\":[\"Montpellier\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Papineau\",\"csd_name_fr\":\"Montpellier\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.83135521871027,45.97354184295705],[-74.83183063588837,46.002582468402544],[-74.8372079158595,46.01739231175466],[-74.85798974004702,46.016677798607425],[-74.85894223403922,46.063208144422646],[-74.94093017592628,46.06184424181761],[-74.93998378109032,46.10616000936526],[-75.01605370245483,46.10599917916793],[-75.02765631821984,46.10339401590097],[-75.02485948617272,46.07173016422663],[-75.02477791287393,45.9741491307829],[-74.97672745795286,45.974114501244735],[-74.85786894913504,45.97349418460395],[-74.83135521871027,45.97354184295705]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.94382502870349,\"lat\":46.02939435479123},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2480\"],\"cd_name_en\":[\"Papineau\"],\"csd_code\":[\"2480130\"],\"csd_name_en\":[\"Lac-des-Plages\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Papineau\",\"csd_name_fr\":\"Lac-des-Plages\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.97843401044686,48.48050442406255],[-71.010090106227,48.486825593422026],[-71.01454059524949,48.47812708947493],[-71.06717175957851,48.48836937042943],[-71.07457093940688,48.46781894796366],[-71.16213816051558,48.48467860453667],[-71.17819081539243,48.49097089743653],[-71.18235031439218,48.50852919393425],[-71.17446911780073,48.52818052149388],[-71.26205822951094,48.54354426285127],[-71.23712264722126,48.55984740173165],[-71.2817427060389,48.56719926644354],[-71.31393139621385,48.47436272934294],[-71.36450068431867,48.4814591982929],[-71.4061373014512,48.48561683403969],[-71.463183383158,48.50681214732489],[-71.46910008806155,48.49902329536399],[-71.48614642575458,48.45269003204487],[-71.37750906126895,48.431903714989296],[-71.38285424201382,48.41869296536935],[-71.47651797234988,48.43509410693942],[-71.48887802853345,48.39910803526278],[-71.51738655388364,48.40445037724247],[-71.52467584095186,48.38918027846714],[-71.55077410263193,48.39388893189457],[-71.55383661945785,48.38679655812905],[-71.56368749834871,48.36348537487157],[-71.54004988435577,48.34991694133725],[-71.45790924185216,48.332625019448],[-71.4050014701488,48.32345191536591],[-71.33109942406425,48.30854526017071],[-71.27178722700884,48.30201191006542],[-71.30801810347194,48.26679285705451],[-71.15494012098662,48.189331753321184],[-71.03355011355895,48.30578221708725],[-70.99629079533435,48.2886569652682],[-70.94447123297263,48.268543658316545],[-70.84700307941264,48.2344053544765],[-70.81106891110046,48.264351406991025],[-70.78874617695594,48.25234795933151],[-70.77445815058061,48.26319201942302],[-70.751298614415,48.28091439070687],[-70.78248507019937,48.28757778481553],[-70.74215775790188,48.31958581414285],[-70.69168933836815,48.362902742444724],[-70.71108084956357,48.36155718300958],[-70.72636688962895,48.36898319113399],[-70.73374984573829,48.38274703670431],[-70.73732815616079,48.395690921922615],[-70.75146581212199,48.408764456550024],[-70.77210267119689,48.41408648788305],[-70.83630728476521,48.41378231047773],[-70.87223109177398,48.424942912528046],[-70.90226780906131,48.430169432312894],[-70.94814074873135,48.44708553300291],[-70.98535240184484,48.453320338370425],[-70.97843401044686,48.48050442406255]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.13218768018268,\"lat\":48.37182842361258},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2494\"],\"cd_name_en\":[\"Le Saguenay-et-son-Fjord\"],\"csd_code\":[\"2494068\"],\"csd_name_en\":[\"Saguenay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Saguenay-et-son-Fjord\",\"csd_name_fr\":\"Saguenay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.91385663838437,47.9999093713477],[-70.91472826332948,48.11332139560109],[-70.98557805690349,48.11359777887967],[-70.8899542877861,48.199494977449355],[-70.84700307941264,48.2344053544765],[-70.94447123297263,48.268543658316545],[-70.99629079533435,48.2886569652682],[-71.03355011355895,48.30578221708725],[-71.15494012098662,48.189331753321184],[-71.30801810347194,48.26679285705451],[-71.27178722700884,48.30201191006542],[-71.33109942406425,48.30854526017071],[-71.4050014701488,48.32345191536591],[-71.45790924185216,48.332625019448],[-71.54004988435577,48.34991694133725],[-71.54370379434597,48.34197999552303],[-71.5710337758472,48.34747607529681],[-71.61138808811316,48.250081049944846],[-71.63985868547095,48.18753519207774],[-71.62569609034024,48.173238625196454],[-71.57452538501353,48.1347702432361],[-71.56725234161698,48.123567388377204],[-71.54590764896335,48.11552950136991],[-71.50763997907295,48.07149881261076],[-71.49199029399867,48.062372499646905],[-71.44685546588173,48.02310108402807],[-71.4269390718511,47.999987377780776],[-71.40838721187149,48.00007555916312],[-71.22027294483213,47.99995079755073],[-70.91385663838437,47.9999093713477]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.25996896267482,\"lat\":48.154978734427836},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2494\"],\"cd_name_en\":[\"Le Saguenay-et-son-Fjord\"],\"csd_code\":[\"2494928\"],\"csd_name_en\":[\"Lac-Ministuk\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Saguenay-et-son-Fjord\",\"csd_name_fr\":\"Lac-Ministuk\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.33498811994436,48.81107846780632],[-68.60946719527725,48.92668299104357],[-68.63022276911343,48.92989540648316],[-68.65613592712434,48.91975133052419],[-68.68701614880061,48.92979229415554],[-68.70019656452511,48.94222885222866],[-68.7465954984772,48.93892190001552],[-68.76373361818442,48.941265894019516],[-68.80457360719858,48.954099901933006],[-68.82687469953584,48.955176485748886],[-68.86614128188745,48.96486249505853],[-68.88946720614224,48.97556480939928],[-68.90749238708528,48.98836859723791],[-68.9215028144493,48.98272880515625],[-68.95112443971459,48.985870821751945],[-69.12683156792748,48.87084354798857],[-68.98528710620737,48.776969472082534],[-68.98172615075276,48.764213282634266],[-68.672634379639,48.63336637103662],[-68.64637044617514,48.64680986582001],[-68.51858303540655,48.7124827583035],[-68.45892669131871,48.7411016133074],[-68.33498811994436,48.81107846780632]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.7443934913857,\"lat\":48.81961697842467},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2495\"],\"cd_name_en\":[\"La Haute-C\\u00f4te-Nord\"],\"csd_code\":[\"2495050\"],\"csd_name_en\":[\"Colombier\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Haute-C\\u00f4te-Nord\",\"csd_name_fr\":\"Colombier\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.39044445311839,49.103889501416155],[-68.37110499473377,49.13212025782599],[-68.38821362170575,49.14296055015419],[-68.40054589341447,49.14374726996531],[-68.42585440830555,49.12022727961973],[-68.39044445311839,49.103889501416155]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.39671716204586,\"lat\":49.125192490849436},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2496\"],\"cd_name_en\":[\"Manicouagan\"],\"csd_code\":[\"2496035\"],\"csd_name_en\":[\"Chute-aux-Outardes\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Manicouagan\",\"csd_name_fr\":\"Chute-aux-Outardes\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.47887053620056,49.589876363622885],[-67.58374059247156,49.589757086603726],[-67.58985999737,49.630870500188706],[-67.5828528331364,49.65808840856406],[-67.60647359064487,49.71170518339168],[-67.57953641824278,49.7163868250062],[-67.57960002357918,49.7312846098542],[-67.56802456124717,49.74687469655705],[-67.53992359681816,49.75337680775339],[-67.5299898809279,49.764965898463345],[-67.54355187831858,49.769563426603305],[-67.55604045289435,49.78911983297316],[-67.54829015312963,49.79454632827685],[-67.52480533785862,49.79268368582303],[-67.50996763488897,49.79980694881456],[-67.51619560345677,49.82589578613149],[-67.53009995842594,49.84971888292939],[-67.56671037281745,49.85255710605585],[-67.58846932858376,49.87146907662494],[-67.58644384576678,49.87972219330223],[-67.62715227533911,49.88740884319622],[-67.66115524191845,49.89734825612889],[-67.73944771697724,49.87454425460269],[-67.71804989480086,49.93310338151864],[-67.71991236056083,49.97239671228508],[-67.61462644557076,50.03828658202821],[-67.66592836277114,50.180948157510706],[-67.71989939396772,50.31946853660982],[-67.77150830236778,50.46000487730002],[-67.78538482016161,50.499914687703935],[-67.83107200975195,50.499999992533795],[-67.81741810243426,50.530213091427434],[-67.82706488183251,50.55453280503741],[-67.80696488876508,50.56910720857717],[-67.77871779170464,50.58348209809108],[-67.7549618111202,50.60094198867934],[-67.74861280349447,50.62920360163707],[-67.75965541342961,50.66833258974688],[-67.76777682318372,50.67353759394462],[-67.75960869083363,50.69833340016721],[-67.7680093111011,50.71437100964042],[-67.74649508150743,50.73233600227128],[-67.72407719546686,50.739573483918996],[-67.7199533880706,50.76053738734307],[-67.74549511315877,50.80115800685704],[-67.74489399113554,50.83811749800099],[-67.73087538577207,50.85428320464953],[-67.72685169512359,50.873844396115885],[-67.70642359589499,50.89396598550966],[-67.72475459715129,50.901609601941715],[-67.73846078653021,50.91854640050633],[-67.72166709784614,50.922076605866636],[-67.69504690888044,50.90976299777223],[-67.69116801957406,50.95214779648583],[-67.69265279466158,50.96704158625208],[-67.65475619278658,50.99331230003307],[-67.64468908854532,51.00835620516526],[-67.66656308290646,51.024535595187636],[-67.67987449015683,51.042369597293906],[-67.69361469221168,51.04771450073738],[-67.71278630596247,51.095236713331175],[-67.73446509869808,51.09673250341527],[-67.74568960003388,51.108090406839096],[-67.77463051217268,51.12414441295381],[-67.7872206800434,51.12493230790638],[-67.82536419091306,51.15566669711415],[-67.85434658791056,51.20318220480492],[-67.83671018683775,51.210066306296795],[-67.83052080674231,51.233106100961066],[-67.87170469033461,51.28855519076699],[-67.91635770842393,51.29762810118838],[-67.92247115494293,51.3038665965525],[-67.89103113848836,51.337739915910305],[-67.88611714507003,51.36091669509712],[-67.86213023883838,51.385467830926856],[-67.85390861081575,51.4025444333228],[-67.87579657431598,51.42342494695988],[-67.87660625729809,51.44884254534085],[-67.92122525218717,51.44930139215736],[-67.92475638712271,51.56353233194854],[-68.22897042295611,51.5625602920145],[-68.39639029907924,51.567008050536685],[-68.56549987030813,51.57015615287164],[-68.74039864166173,51.567240937271066],[-68.908331758967,51.57176060059222],[-69.11752153486,51.56736810047873],[-69.3508881468746,51.567195654038805],[-69.59230058539411,51.5655237944825],[-69.834240868102,51.566199976048274],[-70.02485800804408,51.56248782738822],[-70.02502910907673,51.25002776441913],[-70.02515300515607,51.00002805099297],[-70.02530328633911,50.69271090218341],[-70.02541456621428,50.462368514515624],[-70.02555465964082,50.16890546033392],[-70.02563442161711,50.000029153141526],[-69.75000000384068,49.99999999763498],[-69.5113639668398,50.000013734138875],[-69.51347129591434,49.98666519727317],[-69.49833981511853,49.98063873498022],[-69.50429129517654,49.96572821821398],[-69.53917852589183,49.95031913187619],[-69.51423791150121,49.94007126035483],[-69.48526898721076,49.91988524376153],[-69.44021183028187,49.90728718835491],[-69.44315124256032,49.89547357880179],[-69.47143222519978,49.897566563109606],[-69.47264801377595,49.88099458845958],[-69.44249672531139,49.865943879579426],[-69.43739480979906,49.8446049494562],[-69.42335893819273,49.835280021123886],[-69.41640110089064,49.81648828092736],[-69.42774843102873,49.79063920005581],[-69.40030083990503,49.763967931846835],[-69.39073158569636,49.76086627337392],[-69.36077093386105,49.779542167456874],[-69.34843712889568,49.77686312732545],[-69.34219715903576,49.762039721576436],[-69.31904780963731,49.75404374536031],[-69.3092559114812,49.765298862276794],[-69.27199043675901,49.7628829307254],[-69.25889524345973,49.75347550045394],[-69.24950974545564,49.71012397148929],[-69.24296749142228,49.699567928023306],[-69.26084859363839,49.68591629587244],[-69.26723011436589,49.66595971373444],[-69.25452408759975,49.65446453970783],[-69.23749791942612,49.66151438026377],[-69.22411236875732,49.65012124081984],[-69.20855574535895,49.64581982507709],[-69.18188283437516,49.62875638827627],[-69.15512337397041,49.62281999935662],[-69.15443000652208,49.60359919376424],[-69.14331933104052,49.59982583820413],[-69.14422379199965,49.57284596052611],[-69.14511316386391,49.344948787267356],[-69.146124759203,49.08289531295015],[-69.11394734529284,49.08164103230581],[-68.95649203829099,49.080892599926344],[-68.87223077537426,49.08122433173428],[-68.8743682328317,49.03577283508928],[-68.83440567442227,49.059196085929365],[-68.78984673777863,49.08576262446556],[-68.60946631016937,49.176858205861876],[-68.51402076201344,49.225397093723714],[-68.50309860917888,49.2038240765916],[-68.3894263117271,49.20300196462556],[-68.39264867924226,49.23193880196884],[-68.40291328414531,49.23532120245261],[-68.40841409150674,49.251464996421205],[-68.38904741540935,49.26998769751889],[-68.38157879018544,49.282733493648486],[-68.3657261214269,49.29509239072557],[-68.3720199153142,49.3019154038619],[-68.34877330183109,49.322330806578506],[-68.36304399874588,49.33047128815034],[-68.38036350444527,49.33181539479132],[-68.38465662079162,49.34716889490069],[-68.31522731136242,49.34721238377371],[-68.04994705131618,49.3447133492292],[-68.05142495858662,49.44408156237837],[-67.87722243613437,49.443103194572345],[-67.6722294196873,49.443107569615144],[-67.52607411763626,49.44278160563086],[-67.45239389792134,49.442118060013264],[-67.45256961225196,49.49561928468053],[-67.49034565118315,49.5229752514212],[-67.4884812572708,49.54649534012276],[-67.48023301086673,49.569720197287204],[-67.47887053620056,49.589876363622885]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.79237625146428,\"lat\":50.475439861105336},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2496\"],\"cd_name_en\":[\"Manicouagan\"],\"csd_code\":[\"2496902\"],\"csd_name_en\":[\"Rivi\\u00e8re-aux-Outardes\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Manicouagan\",\"csd_name_fr\":\"Rivi\\u00e8re-aux-Outardes\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.70858107200968,49.69001714856229],[-65.5723287024296,49.80826819582738],[-65.53434610402971,50.03759187348181],[-65.53874002256077,50.12593317915776],[-65.54801776725299,50.362425724105606],[-65.51518782480683,50.36781588912776],[-65.53155523835085,50.4163480520449],[-65.5272480342438,50.445478343797326],[-65.54889595867812,50.470536123530955],[-65.54630517720007,50.49396843081402],[-65.62580896122905,50.496198542350065],[-65.83213240974777,50.49780170905051],[-66.00009384098176,50.50017471540017],[-66.00071351839762,50.49380907265193],[-66.09794798134081,50.49508548417183],[-66.31297964718097,50.49353711198985],[-66.31312389687824,50.34089934954378],[-66.24839469149028,50.33976162968585],[-66.24649305364478,50.257609019152994],[-66.41736433879633,50.34187426611706],[-66.65259085724333,50.21869927732927],[-66.661473787708,50.21330902774618],[-66.72378313021682,50.21218901432022],[-66.7256082995688,50.175572333841096],[-66.72377996477317,50.079714057281684],[-66.71819690038234,50.05746892100059],[-66.67470533339878,49.99989616540825],[-66.4787094942828,49.893400823346504],[-66.13123955781677,49.702367089638805],[-66.04014500374802,49.71013989279157],[-66.00030756809923,49.70837373923942],[-65.70858107200968,49.69001714856229]],[[-66.40069639485401,50.25032999142648],[-66.3879358323618,50.25326576013779],[-66.38303205383414,50.244238955514874],[-66.37636388455834,50.2420846769773],[-66.38374420309773,50.23580116504955],[-66.39664494525202,50.250794524616005],[-66.40069639485401,50.25032999142648]],[[-66.21078708529875,50.210903397405154],[-66.20959379835632,50.22698850994772],[-66.17468575565186,50.214844248376735],[-66.17641686419555,50.20467463277126],[-66.21078708529875,50.210903397405154]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.03748608846874,\"lat\":50.10696555557139},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2497\"],\"cd_name_en\":[\"Sept-Rivi\\u00e8res--Caniapiscau\"],\"csd_code\":[\"2497007\"],\"csd_name_en\":[\"Sept-\\u00celes\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Sept-Rivi\\u00e8res--Caniapiscau\",\"csd_name_fr\":\"Sept-\\u00celes\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.09794798134081,50.49508548417183],[-66.10082832552499,50.50655904727204],[-66.11571513148662,50.51045668220645],[-66.11749603935219,50.527993394078806],[-66.1465421813932,50.56669186160142],[-66.14097243791747,50.57495253958762],[-66.15307059671304,50.59005839162693],[-66.16965696575687,50.58275419089739],[-66.19121067155166,50.593945981524115],[-66.19738636991782,50.60370003238501],[-66.19344905359762,50.61965577038371],[-66.20129593931787,50.660645975863616],[-66.20945502360375,50.67158419746558],[-66.2032105719821,50.69726550355172],[-66.24092040682503,50.73166720479047],[-66.26138166937558,50.72375396546158],[-66.29626465638844,50.731239350845264],[-66.33196292036945,50.76025322159649],[-66.34882450007834,50.75823848341307],[-66.39020680305936,50.779261363529166],[-66.38441554594296,50.79573958944556],[-66.38928122944534,50.827705527606135],[-66.40399834763991,50.839201467857634],[-66.44461390131376,50.85581300537751],[-66.46338251411339,50.85525629658292],[-66.46831476880766,50.87333317421704],[-66.44773368859768,50.882600958757116],[-66.43235568009075,50.89912405824221],[-66.42745110869723,50.912956613247914],[-66.41544389934369,50.923477430670374],[-66.37704240018995,50.928413723453545],[-66.37429965219803,50.944390606405],[-66.34836084273131,50.95682176640187],[-66.36649680269532,50.98661461791338],[-66.34688145606265,51.01522783557632],[-66.35660466152932,51.037692230944266],[-66.33757853644201,51.04857192981207],[-66.29232037264545,51.09330262567533],[-66.3012603046273,51.104825399533084],[-66.26268556250247,51.13455703779309],[-66.25866586407209,51.145454817598036],[-66.26706082709534,51.16796708433341],[-66.24688229642356,51.21887513030837],[-66.25080377093136,51.2266885098244],[-66.27346011931756,51.23844910517302],[-66.28940974392546,51.257387904711166],[-66.27985617289016,51.280965727113504],[-66.29353000829947,51.30782568575554],[-66.29564609660919,51.324597495565456],[-66.3171705887868,51.33221304164791],[-66.31865801309813,51.341172057375815],[-66.28435567467997,51.386445343146974],[-66.2995588119034,51.404952927867576],[-66.30324123488471,51.42066313395157],[-66.28029130379267,51.43539618020938],[-66.27736609052161,51.470536798621715],[-66.29557915549158,51.47884640822223],[-66.30074431011909,51.49382252056179],[-66.31826363092229,51.500481561327],[-66.32606479095166,51.51319271076124],[-66.34389928573052,51.515495358811336],[-66.36532263287752,51.53590314730161],[-66.37622841484419,51.56349446826778],[-66.37689302919674,51.58031107490664],[-66.36875463691092,51.596813062019955],[-66.38351519145517,51.61221352562998],[-66.34851504035323,51.63325414422589],[-66.34635640211933,51.64820339423082],[-66.35250000844498,51.6628206690753],[-66.3481398707414,51.672678841007226],[-66.36565221502023,51.679052095896544],[-66.38978081387559,51.69849763727795],[-66.4277828516474,51.71573372207003],[-66.44776333477951,51.73651273133797],[-66.44730820324325,51.7461061941251],[-66.45949695115186,51.76228970086981],[-66.48561837516074,51.77886241039233],[-66.49354829888428,51.7903335935516],[-66.48618970497522,51.80838808809127],[-66.51956268577197,51.85054710560691],[-66.67245343428631,51.848897630720394],[-66.98780792194094,51.850949739828096],[-66.9898190426386,51.69290264954416],[-66.98866755153708,51.56721169211405],[-67.18654377955667,51.56811041970923],[-67.53848117417705,51.56578492087529],[-67.69042105106143,51.56412500390045],[-67.92475638712271,51.56353233194854],[-67.92122525218717,51.44930139215736],[-67.87660625729809,51.44884254534085],[-67.87579657431598,51.42342494695988],[-67.85390861081575,51.4025444333228],[-67.86213023883838,51.385467830926856],[-67.88611714507003,51.36091669509712],[-67.89103113848836,51.337739915910305],[-67.92247115494293,51.3038665965525],[-67.91635770842393,51.29762810118838],[-67.87170469033461,51.28855519076699],[-67.83052080674231,51.233106100961066],[-67.83671018683775,51.210066306296795],[-67.85434658791056,51.20318220480492],[-67.82536419091306,51.15566669711415],[-67.7872206800434,51.12493230790638],[-67.77463051217268,51.12414441295381],[-67.74568960003388,51.108090406839096],[-67.73446509869808,51.09673250341527],[-67.71278630596247,51.095236713331175],[-67.69361469221168,51.04771450073738],[-67.67987449015683,51.042369597293906],[-67.66656308290646,51.024535595187636],[-67.64468908854532,51.00835620516526],[-67.65475619278658,50.99331230003307],[-67.69265279466158,50.96704158625208],[-67.69116801957406,50.95214779648583],[-67.69504690888044,50.90976299777223],[-67.72166709784614,50.922076605866636],[-67.73846078653021,50.91854640050633],[-67.72475459715129,50.901609601941715],[-67.70642359589499,50.89396598550966],[-67.72685169512359,50.873844396115885],[-67.73087538577207,50.85428320464953],[-67.74489399113554,50.83811749800099],[-67.74549511315877,50.80115800685704],[-67.7199533880706,50.76053738734307],[-67.72407719546686,50.739573483918996],[-67.74649508150743,50.73233600227128],[-67.7680093111011,50.71437100964042],[-67.75960869083363,50.69833340016721],[-67.76777682318372,50.67353759394462],[-67.75965541342961,50.66833258974688],[-67.74861280349447,50.62920360163707],[-67.7549618111202,50.60094198867934],[-67.77871779170464,50.58348209809108],[-67.80696488876508,50.56910720857717],[-67.82706488183251,50.55453280503741],[-67.81741810243426,50.530213091427434],[-67.83107200975195,50.499999992533795],[-67.78538482016161,50.499914687703935],[-67.77150830236778,50.46000487730002],[-67.71989939396772,50.31946853660982],[-67.66592836277114,50.180948157510706],[-67.61462644557076,50.03828658202821],[-67.71991236056083,49.97239671228508],[-67.71804989480086,49.93310338151864],[-67.73944771697724,49.87454425460269],[-67.66115524191845,49.89734825612889],[-67.62715227533911,49.88740884319622],[-67.58644384576678,49.87972219330223],[-67.58846932858376,49.87146907662494],[-67.56671037281745,49.85255710605585],[-67.53009995842594,49.84971888292939],[-67.51619560345677,49.82589578613149],[-67.50996763488897,49.79980694881456],[-67.52480533785862,49.79268368582303],[-67.54829015312963,49.79454632827685],[-67.55604045289435,49.78911983297316],[-67.54355187831858,49.769563426603305],[-67.5299898809279,49.764965898463345],[-67.53992359681816,49.75337680775339],[-67.56802456124717,49.74687469655705],[-67.57960002357918,49.7312846098542],[-67.57953641824278,49.7163868250062],[-67.60647359064487,49.71170518339168],[-67.5828528331364,49.65808840856406],[-67.58985999737,49.630870500188706],[-67.58374059247156,49.589757086603726],[-67.47887053620056,49.589876363622885],[-67.48433358710508,49.60713757404261],[-67.48625634151911,49.63707717593897],[-67.46847156753188,49.64533164987374],[-67.44982080332754,49.676168801361975],[-67.4472148738167,49.692768999213506],[-67.37726055364155,49.69408896955736],[-67.37686595841599,49.83918223353082],[-67.1263233378252,50.00006524578118],[-67.10485127718624,50.00946664112734],[-66.72378313021682,50.21218901432022],[-66.661473787708,50.21330902774618],[-66.65259085724333,50.21869927732927],[-66.41736433879633,50.34187426611706],[-66.24649305364478,50.257609019152994],[-66.24839469149028,50.33976162968585],[-66.31312389687824,50.34089934954378],[-66.31297964718097,50.49353711198985],[-66.09794798134081,50.49508548417183]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.05638538340754,\"lat\":50.863622203257044},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2497\"],\"cd_name_en\":[\"Sept-Rivi\\u00e8res--Caniapiscau\"],\"csd_code\":[\"2497904\"],\"csd_name_en\":[\"Lac-Walker\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Sept-Rivi\\u00e8res--Caniapiscau\",\"csd_name_fr\":\"Lac-Walker\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-58.06642313988782,51.250060148990094],[-58.0482979609308,51.25004806834102],[-57.986594334274116,51.25646748445961],[-57.93878560456846,51.26392983925653],[-57.78524548151806,51.29419015995177],[-57.66286662963774,51.32225023379142],[-57.53049442351458,51.35497622646551],[-57.43257366178261,51.37002087570755],[-57.438802598427316,51.458922792942694],[-57.451863115035664,51.464191193192],[-57.45818181219714,51.48374550363033],[-57.47638417746747,51.485505899052555],[-57.4995915874711,51.50074529708278],[-57.50632678969923,51.52152291010946],[-57.477945598652184,51.54894820265106],[-57.45057630838117,51.552859694846326],[-57.446957415689035,51.56480479239698],[-57.454274105804274,51.57520870074685],[-57.44588501984736,51.58978779713997],[-57.58148293084812,51.589296345310046],[-57.92139198979485,51.589204672847146],[-57.91996423107262,51.45359544715812],[-58.057820039721534,51.4539307127555],[-58.074451392101686,51.44476760850697],[-58.0749257084486,51.43706560281359],[-58.048255808467516,51.42150438960467],[-58.05049071836315,51.40473020165301],[-58.024958701137095,51.399811203005925],[-58.01817628076756,51.39017399976595],[-58.02900532064427,51.37520589364389],[-58.055496695470836,51.35680940013806],[-58.06444899425332,51.31058388623017],[-58.073851108829686,51.29428480093379],[-58.06642313988782,51.250060148990094]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-57.75340770798031,\"lat\":51.432955581043935},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2498\"],\"cd_name_en\":[\"Minganie--Le Golfe-du-Saint-Laurent\"],\"csd_code\":[\"2498010\"],\"csd_name_en\":[\"Bonne-Esp\\u00e9rance\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Minganie--Le Golfe-du-Saint-Laurent\",\"csd_name_fr\":\"Bonne-Esp\\u00e9rance\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.519468715394,49.91971272796752],[-64.55356780462047,50.08728909281205],[-64.59212987637602,50.27526036194993],[-64.58280007443753,50.28798074985786],[-64.58354294617943,50.299381308883625],[-64.60615833722383,50.315451165681665],[-64.59536745773515,50.34870671680982],[-64.61248757921628,50.35823139958273],[-64.60657121488092,50.37091390414336],[-64.75354483097328,50.35534137237997],[-64.83398579706426,50.35967218390646],[-64.88905424354917,50.34949654697812],[-64.92548352356873,50.3562001210391],[-64.97282462676401,50.35030741193372],[-65.1163400875754,50.36828103975573],[-65.18093649226222,50.36858330767576],[-65.26974723449972,50.38099045335584],[-65.32128595151151,50.379758784984894],[-65.3817897515759,50.38838797560576],[-65.40139035171067,50.38290221977628],[-65.50000000721816,50.36972833376886],[-65.51518782480683,50.36781588912776],[-65.54801776725299,50.362425724105606],[-65.53874002256077,50.12593317915776],[-65.53434610402971,50.03759187348181],[-65.5723287024296,49.80826819582738],[-65.70858107200968,49.69001714856229],[-65.58834343607734,49.67864836620262],[-65.47534981467312,49.672036552754285],[-65.2530178337961,49.6659207643382],[-65.20226048393768,49.66180782106907],[-65.06549177092792,49.62667584847841],[-64.97554282923679,49.59826823449877],[-64.89064950398961,49.576516715921656],[-64.77813544615898,49.55493724810107],[-64.63700800037785,49.54757183160945],[-64.44152376146653,49.55724076818927],[-64.31938566262544,49.564498725025466],[-64.2211529371115,49.557827519684984],[-64.14585407528884,49.54422752723966],[-63.99989604733261,49.512421426021746],[-63.61664306023955,49.24467589627209],[-63.576113437138574,49.21798113185989],[-63.49525916654389,49.20529738956119],[-63.41273841278414,49.1895812564286],[-63.278957284363,49.160249319725864],[-63.02380760193659,49.115780748462235],[-62.772999727668406,49.078456374807445],[-62.476678834303954,49.035952387867184],[-62.42566961383543,49.031934758746466],[-62.33824619454655,49.02714974189664],[-62.22009056524833,49.01725530042387],[-62.07079120384902,49.006390305629864],[-61.98104975184038,49.005136821128914],[-61.7383617763247,49.0071162627003],[-61.69609790834136,49.010787815336215],[-61.65820653774074,49.02772127596043],[-61.62397082118055,49.04977351689064],[-61.67405864031841,49.068555808028385],[-61.81771956390003,49.04296130072759],[-62.25765743637484,49.04352258317236],[-62.391316420140136,49.075215545403594],[-62.50214570618692,49.102599820028146],[-62.80298321174237,49.146235085044815],[-62.95602380166453,49.176395800780156],[-63.01621465115533,49.19015872073653],[-63.200486303312374,49.235700495847354],[-63.34113579912276,49.30352467236842],[-63.38220688806455,49.31453811591579],[-63.557646448231196,49.358673044148695],[-63.61696697610699,49.37544555802093],[-63.67246334870023,49.51008658752308],[-63.89847573990802,49.639284908836416],[-63.94817566655912,49.66096564671076],[-63.99617603132506,49.67809840160845],[-64.03912967828255,49.68946471462689],[-64.10216771780925,49.700376391789206],[-64.1977789178789,49.71979995319155],[-64.43241742313089,49.78276725644464],[-64.55823092713244,49.86118040914817],[-64.519468715394,49.91971272796752]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.61014981441068,\"lat\":49.80809531923785},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2498\"],\"cd_name_en\":[\"Minganie--Le Golfe-du-Saint-Laurent\"],\"csd_code\":[\"2498055\"],\"csd_name_en\":[\"Rivi\\u00e8re-au-Tonnerre\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Minganie--Le Golfe-du-Saint-Laurent\",\"csd_name_fr\":\"Rivi\\u00e8re-au-Tonnerre\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-64.06875663035147,50.30676827027044],[-64.04911721662057,50.2873816977491],[-64.01807300661635,50.29045790639297],[-64.03927533330277,50.300913995395746],[-64.03217981260501,50.311943913022006],[-64.0452760028832,50.31728956463425],[-64.06875663035147,50.30676827027044]]],[[[-64.00060879305765,50.343466389451535],[-64.05591834948481,50.34245267263601],[-64.06660417815503,50.31779861464262],[-64.03791818886106,50.324543045130056],[-64.01569427650385,50.31168082367079],[-64.00000001358435,50.32221711623876],[-64.00060879305765,50.343466389451535]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.0347584100966,\"lat\":50.320599549575775},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2498\"],\"cd_name_en\":[\"Minganie--Le Golfe-du-Saint-Laurent\"],\"csd_code\":[\"2498808\"],\"csd_name_en\":[\"Mingan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Minganie--Le Golfe-du-Saint-Laurent\",\"csd_name_fr\":\"Mingan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.5157217278053,52.99344428816656],[-78.68776309910942,52.99518087352889],[-78.68668844520757,52.958160791160374],[-78.77977892194767,52.95720931485948],[-78.80149368841981,52.95153160031291],[-78.82703069416739,52.95830998972242],[-78.84673639828897,52.94567618974936],[-78.87114840713467,52.944908786304225],[-78.87094460399186,52.93456479766323],[-78.89066950422469,52.92098050005045],[-78.91958345166667,52.91038714465784],[-78.9000744143671,52.899244132800085],[-78.88299149269976,52.89757711495646],[-78.89728290604033,52.88337068287969],[-78.88161941710203,52.87626213896202],[-78.87582778796867,52.86161113562555],[-78.84177905970901,52.85763716841225],[-78.83433062616874,52.85091292322652],[-78.76592556153318,52.851542065912355],[-78.75830178960932,52.86100878997463],[-78.72649290844325,52.86437349498618],[-78.70528981374503,52.87318600715476],[-78.70814750639879,52.89717329314177],[-78.7320298937609,52.91268158921962],[-78.72198889979687,52.92839690716716],[-78.7026665066291,52.92517029025264],[-78.68087689189322,52.934128105318585],[-78.65552200998359,52.92448368950251],[-78.62503539082364,52.923818789100885],[-78.59544070567948,52.937208893644915],[-78.58586028687442,52.9508948964238],[-78.55791149532888,52.96325250038616],[-78.51659467566039,52.97185809939354],[-78.5157217278053,52.99344428816656]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.73663067586592,\"lat\":52.9261138934625},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499050\"],\"csd_name_en\":[\"Wemindji\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village cri\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Wemindji\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.68964378122011,49.99872761336434],[-74.69152632443806,49.98930869034378],[-74.75921051264248,49.94791444943193],[-74.77365748943267,49.95513023125122],[-74.79330718151687,49.94724753216696],[-74.826119935539,49.95412424649764],[-74.8435518565105,49.96998354752002],[-74.88833099558306,49.97451557609662],[-74.90736970053338,49.96013690804769],[-74.87372118523128,49.945398003970055],[-74.8757542106208,49.92725520077302],[-74.85060831496642,49.93457350201444],[-74.8485125168968,49.92586670515346],[-74.81889651557272,49.919085793027136],[-74.80141632082916,49.90967989474471],[-74.79098638652694,49.91225129096543],[-74.74496328544934,49.89483379681703],[-74.71102449729277,49.905273102837654],[-74.69360791116637,49.91994850438693],[-74.6930534955142,49.94375548796204],[-74.68206000552179,49.95912719517174],[-74.65240511945957,49.979643037959335],[-74.64937777346707,50.003971477586425],[-74.63338953281627,50.010403479664326],[-74.60502640660022,50.03780464671048],[-74.63332793754556,50.03842829152594],[-74.65777330301896,50.011822253251744],[-74.68964378122011,49.99872761336434]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.75420415749446,\"lat\":49.95066221217592},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499818\"],\"csd_name_en\":[\"Ouj\\u00e9-Bougoumou\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Terres r\\u00e9serv\\u00e9es aux Cris\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Ouj\\u00e9-Bougoumou\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.90446959385838,44.288793745610334],[-76.92788256023147,44.27752707740283],[-76.96949270834452,44.3229818036676],[-77.05544043544742,44.41985627807885],[-77.13960796813849,44.39848573318819],[-77.10612249857166,44.3281507975914],[-77.04472476675488,44.20898736365258],[-77.03307318435195,44.18850092937169],[-77.05120056145125,44.17323437148834],[-77.05611031959731,44.15226002543169],[-77.06927395046176,44.126915086911765],[-77.07077588516114,44.110472194850644],[-77.08516823290618,44.07854813320337],[-77.0832459663456,44.06230400206555],[-77.05408515874588,44.044329931091525],[-77.02055052116049,44.04467370151657],[-76.9710904128372,44.05709395066271],[-76.95788276882067,44.062392191348884],[-76.91407024605913,44.09442466812231],[-76.83712357031365,44.13269646825593],[-76.80724409865479,44.14854874160018],[-76.86517200551081,44.23688279256396],[-76.90446959385838,44.288793745610334]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.98534596154978,\"lat\":44.21536978031221},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3511\"],\"cd_name_en\":[\"Lennox and Addington\"],\"csd_code\":[\"3511015\"],\"csd_name_en\":[\"Greater Napanee\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Lennox and Addington\",\"csd_name_fr\":\"Greater Napanee\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.72737240824841,44.43647221004129],[-77.75915870690184,44.49436791254091],[-77.79739180873933,44.57250699466114],[-77.8293805858045,44.63061350659235],[-77.88747432537879,44.76910851179704],[-77.96122617659479,44.75190044013536],[-77.99242011865395,44.73567065917556],[-78.016007725922,44.72877197908495],[-78.05553883226557,44.72388142483358],[-78.06907085402895,44.72571120857143],[-78.01408049240436,44.612632080401916],[-78.00472301524849,44.58184769388977],[-77.99987826984531,44.565242978981054],[-77.95647280618049,44.47999920445832],[-77.92601675265014,44.41647745140992],[-77.91308041617165,44.389390896740515],[-77.86118520030624,44.40146217465933],[-77.80708051385396,44.41084229156324],[-77.76038830602884,44.427297091615756],[-77.72737240824841,44.43647221004129]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.8993839368866,\"lat\":44.575872143216685},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3515\"],\"cd_name_en\":[\"Peterborough\"],\"csd_code\":[\"3515030\"],\"csd_name_en\":[\"Havelock-Belmont-Methuen\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Peterborough\",\"csd_name_fr\":\"Havelock-Belmont-Methuen\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.17174139646654,44.084927902033165],[-80.122765911777,44.09374209469784],[-79.99396420453787,44.12324910673776],[-79.99250850321226,44.123596403720896],[-80.03400479854946,44.294871705516954],[-80.21266343553104,44.256905803391916],[-80.18857823233164,44.15830546765118],[-80.17174139646654,44.084927902033165]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.10258170124922,\"lat\":44.18961258443527},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3522\"],\"cd_name_en\":[\"Dufferin\"],\"csd_code\":[\"3522016\"],\"csd_name_en\":[\"Mulmur\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Dufferin\",\"csd_name_fr\":\"Mulmur\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.11782530626859,42.76035332603414],[-78.93544092733786,42.82836376300454],[-78.91885989409619,42.873606175737464],[-78.90614325937213,42.9001576145067],[-78.90589884672048,42.923775791532485],[-78.91956861189188,42.94720237444008],[-78.93301979645533,42.95616467149189],[-78.9619924451701,42.95785722148333],[-78.97511391299786,42.9687802356599],[-79.00576515359448,42.98254968782883],[-79.02919135289933,42.98248755776724],[-79.02905695490693,42.96740410368816],[-79.10762828828965,42.96726480973179],[-79.1151638416057,42.95965454570859],[-79.11782530626859,42.76035332603414]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.02479979999413,\"lat\":42.88201516726417},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3526\"],\"cd_name_en\":[\"Niagara\"],\"csd_code\":[\"3526003\"],\"csd_name_en\":[\"Fort Erie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Niagara\",\"csd_name_fr\":\"Fort Erie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-80.18155203515946,44.912611005769975],[-80.19613373923357,44.91168819450548],[-80.19794345227122,44.90090749845018],[-80.18310725064278,44.894951102891156],[-80.16373803890414,44.897907793727896],[-80.16279848964955,44.91141926121831],[-80.18155203515946,44.912611005769975]]],[[[-80.1225746350003,44.88550978803655],[-80.13817334890645,44.876302188062205],[-80.12841055983563,44.86045639295204],[-80.12868954035667,44.84112169091151],[-80.09984554681834,44.844057796658326],[-80.09989834720139,44.865852598398874],[-80.11985876343384,44.87013120021549],[-80.1225746350003,44.88550978803655]]],[[[-80.15677705982743,44.84387120750792],[-80.17464605415758,44.8711793104103],[-80.19509965371454,44.86058558918226],[-80.23324394006305,44.858993086214355],[-80.24738375806055,44.84232500143712],[-80.24523463604989,44.8334528030988],[-80.2163982484886,44.81510139417481],[-80.21603754250224,44.80532250828789],[-80.18917775300804,44.78918300534357],[-80.189930633569,44.80946150747257],[-80.17777023119608,44.818889995568796],[-80.15587283642037,44.82433869819833],[-80.15677705982743,44.84387120750792]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.18310974385584,\"lat\":44.846207781828866},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3543\"],\"cd_name_en\":[\"Simcoe\"],\"csd_code\":[\"3543069\"],\"csd_name_en\":[\"Christian Island 30\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Simcoe\",\"csd_name_fr\":\"Christian Island 30\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.07068623899276,45.11203626171796],[-78.17845589821553,45.30978877838771],[-78.24801600190007,45.44037363555551],[-78.37488007572392,45.40721158582502],[-78.57083513142274,45.35475356152893],[-78.74056276159047,45.31082696658789],[-78.66384316077111,45.16483082177],[-78.61489448416916,45.072680216880045],[-78.55102096049526,44.964437627053165],[-78.50184914580666,44.97874040861824],[-78.39945930099313,45.006171687660654],[-78.23417620947025,45.054496409479036],[-78.07068623899276,45.11203626171796]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.40485870045791,\"lat\":45.20424185297005},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3546\"],\"cd_name_en\":[\"Haliburton\"],\"csd_code\":[\"3546024\"],\"csd_name_en\":[\"Dysart et al\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Haliburton\",\"csd_name_fr\":\"Dysart et al\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.52201825904945,45.47116764237927],[-77.54104717960722,45.478391892045096],[-77.57818203338336,45.54943847431906],[-77.63888631365275,45.655946783267375],[-77.64923200690518,45.67768759819374],[-77.6738333052384,45.71735630301182],[-77.84116678693289,45.67253313939467],[-77.78054050969507,45.56271989530092],[-77.77410301956068,45.55322318251786],[-77.9098597403933,45.51577813915396],[-77.89521869573663,45.48594830653654],[-77.8475282873876,45.3956245647745],[-77.69095883045705,45.438119238920805],[-77.62356908141417,45.31547660041252],[-77.46780776674929,45.35675619641539],[-77.51898419931156,45.4512501045727],[-77.52799547426191,45.45303553748128],[-77.52201825904945,45.47116764237927]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.6884232862788,\"lat\":45.508771518118635},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3547\"],\"cd_name_en\":[\"Renfrew\"],\"csd_code\":[\"3547030\"],\"csd_name_en\":[\"Madawaska Valley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Renfrew\",\"csd_name_fr\":\"Madawaska Valley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.23868642101891,45.92290564102808],[-77.25747463056702,45.92922002630538],[-77.27840407101417,45.948889644004026],[-77.28639854289834,45.98322369587378],[-77.42352766951672,45.94682841539413],[-77.34815882941268,45.81062215782468],[-77.31491018788067,45.81809598833823],[-77.16461867131149,45.85804477590905],[-77.19032721643866,45.86386084600654],[-77.23043387121075,45.90554035315722],[-77.23620672549718,45.920549831223525],[-77.23868642101891,45.92290564102808]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.30985942624007,\"lat\":45.89439121510664},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3547\"],\"cd_name_en\":[\"Renfrew\"],\"csd_code\":[\"3547076\"],\"csd_name_en\":[\"Petawawa\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Renfrew\",\"csd_name_fr\":\"Petawawa\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.51154135263488,46.129671442844405],[-77.56608271063124,46.15922059018496],[-77.62054412981591,46.17486248757972],[-77.65942636237608,46.191790707795604],[-77.68043604936193,46.19831844243621],[-77.69780869227321,46.182930639146846],[-77.722059580059,46.19200294912455],[-77.73877011036927,46.19349475311642],[-77.6920302741319,46.11326386570681],[-77.66193051679932,46.05724335820448],[-77.6357888897368,46.01401816999706],[-77.58226552288389,45.918566044500466],[-77.50234392980747,45.771348184795215],[-77.34815882941268,45.81062215782468],[-77.42352766951672,45.94682841539413],[-77.28639854289834,45.98322369587378],[-77.27633418142675,46.008539648981404],[-77.28313885497691,46.01772538818743],[-77.31474349594217,46.02685141356149],[-77.33223341243446,46.04173733429746],[-77.37611463854809,46.02769227385418],[-77.43058900542312,46.013159566119576],[-77.46423632182082,46.073047773486955],[-77.49566308241499,46.08555870027389],[-77.49935779934954,46.091936713486476],[-77.52767072237077,46.111503678451655],[-77.51154135263488,46.129671442844405]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.51321590134835,\"lat\":45.98798797884541},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3547\"],\"cd_name_en\":[\"Renfrew\"],\"csd_code\":[\"3547090\"],\"csd_name_en\":[\"Laurentian Hills\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Renfrew\",\"csd_name_fr\":\"Laurentian Hills\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.72175255491732,46.311232450154904],[-78.70450825884187,46.32186244511794],[-78.70473272194137,46.323027986254125],[-78.71884726898135,46.33146542063019],[-78.72943336108831,46.348288962294],[-78.72250743191249,46.370840229547355],[-78.72710717255596,46.382872692109444],[-78.7581764133134,46.39342597623491],[-78.78636663190613,46.41363433013791],[-78.83743439362864,46.43691544780965],[-78.8529091443316,46.44118357616527],[-78.93520242912733,46.44116307820229],[-78.93264690920913,46.303286261163],[-78.90990703830784,46.29730869525512],[-78.86461258159463,46.30308259682317],[-78.83476755022652,46.3009568275132],[-78.82544225703758,46.300340642787845],[-78.78465839469928,46.31269072734528],[-78.75536043196834,46.31427524354462],[-78.72175255491732,46.311232450154904]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.84041265537608,\"lat\":46.36581634443152},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3548\"],\"cd_name_en\":[\"Nipissing\"],\"csd_code\":[\"3548019\"],\"csd_name_en\":[\"Mattawan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Nipissing\",\"csd_name_fr\":\"Mattawan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.1726482863154,45.470133218951965],[-79.21520489315765,45.54719810446913],[-79.22529333168036,45.544767216091074],[-79.23969750516001,45.56099709481745],[-79.22493586624435,45.56479057459474],[-79.23716690075054,45.58714791994589],[-79.39243534032553,45.544856468681],[-79.40685417583393,45.54092041108915],[-79.3800273599541,45.494399050989536],[-79.34253361323249,45.42417700237799],[-79.1726482863154,45.470133218951965]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.29020992977021,\"lat\":45.505110370670295},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3549\"],\"cd_name_en\":[\"Parry Sound\"],\"csd_code\":[\"3549014\"],\"csd_name_en\":[\"Perry\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Parry Sound\",\"csd_name_fr\":\"Perry\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.9281738723487,45.5327136734777],[-79.04816191540077,45.75261694860938],[-79.06349443552902,45.77001215783654],[-79.13046644297049,45.75163894304851],[-79.30158667415687,45.70616524339026],[-79.23716690075054,45.58714791994589],[-79.22493586624435,45.56479057459474],[-79.23969750516001,45.56099709481745],[-79.22529333168036,45.544767216091074],[-79.21520489315765,45.54719810446913],[-79.1726482863154,45.470133218951965],[-79.05365316573099,45.50414684678427],[-79.00274133956249,45.516559344882474],[-79.00098030230868,45.513338862485384],[-78.9281738723487,45.5327136734777]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.11578431496102,\"lat\":45.62032359770427},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3549\"],\"cd_name_en\":[\"Parry Sound\"],\"csd_code\":[\"3549018\"],\"csd_name_en\":[\"Kearney\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Parry Sound\",\"csd_name_fr\":\"Kearney\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.45733781045004,45.66413568211774],[-79.50379748183524,45.74953100333883],[-79.52083486263909,45.78416878483525],[-79.69197775313584,45.7379970414555],[-79.83760686636077,45.70019693117214],[-79.77303412338333,45.580147641177454],[-79.80047197088962,45.572678567048555],[-79.73414067851076,45.453631082829375],[-79.66369484286307,45.47480607279709],[-79.56270690040397,45.49895430584946],[-79.62712830282764,45.619208192313096],[-79.45733781045004,45.66413568211774]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.65941193965749,\"lat\":45.630873889673964},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3549\"],\"cd_name_en\":[\"Parry Sound\"],\"csd_code\":[\"3549043\"],\"csd_name_en\":[\"Magnetawan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Parry Sound\",\"csd_name_fr\":\"Magnetawan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.30158667415687,45.70616524339026],[-79.36594808026683,45.82499130657978],[-79.52083486263909,45.78416878483525],[-79.50379748183524,45.74953100333883],[-79.45733781045004,45.66413568211774],[-79.30158667415687,45.70616524339026]],[[-79.39751109953936,45.75976578172618],[-79.4058224033449,45.7758307928141],[-79.385327542344,45.77272850220914],[-79.39751109953936,45.75976578172618]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.41188516678238,\"lat\":45.74453416923163},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3549\"],\"cd_name_en\":[\"Parry Sound\"],\"csd_code\":[\"3549046\"],\"csd_name_en\":[\"Strong\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Parry Sound\",\"csd_name_fr\":\"Strong\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.0153336201273,45.50001988545603],[-82.01432354799314,45.55722293711842],[-82.00233870886824,45.57050254667038],[-81.9613509196612,45.59170441765083],[-81.96110655965906,45.67511282820569],[-82.11923654273689,45.673245016814846],[-82.11725561729256,45.50264039044736],[-82.11708590295679,45.500086021966546],[-82.0153336201273,45.50001988545603]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.04908667974459,\"lat\":45.595888628809284},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3551\"],\"cd_name_en\":[\"Manitoulin\"],\"csd_code\":[\"3551001\"],\"csd_name_en\":[\"Tehkummah\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Manitoulin\",\"csd_name_fr\":\"Tehkummah\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.78875637252382,45.72325188521322],[-81.78871260800811,45.73403663709879],[-81.81063167772406,45.777162040019775],[-81.7817029428099,45.84231641711168],[-81.93176954574527,45.84128380551018],[-81.93178581763057,45.832504485045064],[-81.95691384910717,45.832748022765614],[-81.95697528272159,45.84204731560937],[-82.03432603340296,45.84213337195358],[-82.03735394012372,45.82528510953882],[-82.03164285970067,45.80745211759177],[-81.98966214854599,45.79227909637651],[-81.97420332954208,45.79341111277915],[-81.95758833623468,45.78223357912489],[-81.96162313356184,45.72746729486579],[-81.96110655965906,45.67511282820569],[-81.9613509196612,45.59170441765083],[-81.89907233022639,45.617050473065724],[-81.87221845572607,45.63457199925989],[-81.78900822796584,45.6762692380522],[-81.7877574250256,45.691487596625876],[-81.79279595958795,45.713123978567985],[-81.78875637252382,45.72325188521322]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.89266179613026,\"lat\":45.741238534351346},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3551\"],\"cd_name_en\":[\"Manitoulin\"],\"csd_code\":[\"3551011\"],\"csd_name_en\":[\"Assiginack\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Manitoulin\",\"csd_name_fr\":\"Assiginack\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.30698560748,46.36292729310802],[-80.40553684191181,46.36231368081695],[-80.41613370004228,46.37004149963203],[-80.41583839746535,46.449826107853305],[-80.56665057197169,46.45012012037206],[-80.56705728585686,46.41394483213366],[-80.56712239681514,46.34626388852967],[-80.56876406765907,46.277755468680816],[-80.5086838506405,46.27887151133901],[-80.4809285275518,46.2728520112355],[-80.47105363487044,46.264571811738314],[-80.47111664687942,46.251224801994084],[-80.45225515838447,46.25758919865807],[-80.4240225478707,46.24999999991587],[-80.30644687029759,46.2502012343939],[-80.30698560748,46.36292729310802]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.44968593690056,\"lat\":46.34245510739224},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3552\"],\"cd_name_en\":[\"Sudbury\"],\"csd_code\":[\"3552004\"],\"csd_name_en\":[\"St.-Charles\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Sudbury\",\"csd_name_fr\":\"St.-Charles\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-83.3806545123442,47.84660043636149],[-83.36810990769976,47.8548423453477],[-83.38176608240687,47.85772725993404],[-83.3806545123442,47.84660043636149]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-83.37684350081695,\"lat\":47.85305668054774},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3552\"],\"cd_name_en\":[\"Sudbury\"],\"csd_code\":[\"3552058\"],\"csd_name_en\":[\"Chapleau 75\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Sudbury\",\"csd_name_fr\":\"Chapleau 75\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.8885360266815,47.820161227919286],[-79.86237223961842,47.81966009238472],[-79.863257662794,47.8345915684941],[-79.88849272373835,47.83415582672985],[-79.8885360266815,47.820161227919286]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.87552487382219,\"lat\":47.82709972472974},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3554\"],\"cd_name_en\":[\"Timiskaming\"],\"csd_code\":[\"3554052\"],\"csd_name_en\":[\"Englehart\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Timiskaming\",\"csd_name_fr\":\"Englehart\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.68074556446899,48.058039964574924],[-80.68096008752597,48.03438843594998],[-80.59433165266346,48.03436122658207],[-80.5960699059158,48.092646454172986],[-80.6804145972792,48.09168801817215],[-80.68074556446899,48.058039964574924]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.63782236108821,\"lat\":48.06314351606962},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3554\"],\"cd_name_en\":[\"Timiskaming\"],\"csd_code\":[\"3554057\"],\"csd_name_en\":[\"Matachewan 72\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Timiskaming\",\"csd_name_fr\":\"Matachewan 72\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.62766537164943,48.10183907397504],[-79.6535498072508,48.10187520702481],[-79.65301238475152,48.18739619329729],[-79.75938787282271,48.18875415899569],[-79.75988160961273,48.101641577115764],[-79.7620812941516,47.99305058592437],[-79.76137536902942,47.928049005598986],[-79.6322522854039,47.926783456613116],[-79.62766537164943,48.10183907397504]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.6986891110338,\"lat\":48.0521152376519},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3554\"],\"cd_name_en\":[\"Timiskaming\"],\"csd_code\":[\"3554062\"],\"csd_name_en\":[\"Larder Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Timiskaming\",\"csd_name_fr\":\"Larder Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.47747280065893,49.43571319812931],[-82.47803701100844,49.57973068736179],[-82.55107712512549,49.58138488209024],[-82.76369185469159,49.58086649446291],[-82.76236639725927,49.50790390020989],[-82.76322450320201,49.450082827250796],[-82.67822747145388,49.45002751408696],[-82.67675280274592,49.397699462558485],[-82.47738822570817,49.39862427655519],[-82.47747280065893,49.43571319812931]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.61115652202918,\"lat\":49.495638539408255},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3556\"],\"cd_name_en\":[\"Cochrane\"],\"csd_code\":[\"3556070\"],\"csd_name_en\":[\"Val Rita-Harty\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Cochrane\",\"csd_name_fr\":\"Val Rita-Harty\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.40460458950281,48.27698685665809],[-80.4044056285939,48.362937025798146],[-80.42059810934867,48.36293664760394],[-80.42078487602795,48.45060647049993],[-80.81319455708996,48.4505222244143],[-80.81279868381759,48.27715858262934],[-80.40460458950281,48.27698685665809]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.61270684203339,\"lat\":48.362956091500315},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3556\"],\"cd_name_en\":[\"Cochrane\"],\"csd_code\":[\"3556091\"],\"csd_name_en\":[\"Cochrane\",\"Unorganized\",\"South West Part\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Cochrane\",\"csd_name_fr\":\"Cochrane, Unorganized, South West Part\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.43665720035922,46.2773107090021],[-82.4444421041277,46.475385548108044],[-82.44353625167945,46.53615428062936],[-82.56822732359397,46.53538521536729],[-82.72457559186282,46.53572367145968],[-82.82719068201176,46.534909964258844],[-82.8291681108521,46.492346510667915],[-82.82108089663302,46.3561046638988],[-82.8084168855642,46.35616077659269],[-82.81347362884527,46.27202355652531],[-82.56570111332864,46.2762880007848],[-82.43665720035922,46.2773107090021]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.63189283325578,\"lat\":46.40612012377364},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3557\"],\"cd_name_en\":[\"Algoma\"],\"csd_code\":[\"3557041\"],\"csd_name_en\":[\"Elliot Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Algoma\",\"csd_name_fr\":\"Elliot Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-89.18260944470336,48.51459366029046],[-89.32859039164252,48.515133994364334],[-89.42895248326978,48.51432980723561],[-89.42766800390555,48.510438798069075],[-89.42674110334033,48.39911509791589],[-89.38856459727627,48.39897870557536],[-89.38877310547035,48.290274892842326],[-89.38697330657337,48.289308639491296],[-89.33668426979085,48.28985258821428],[-89.33353370649806,48.31687280051227],[-89.30629998639652,48.31752624571294],[-89.30622169921004,48.3439299017001],[-89.2863176421232,48.354633134122544],[-89.26346721103761,48.35707068870844],[-89.22542054376446,48.34784993515849],[-89.2127833892069,48.332602288264646],[-89.2083950010477,48.318781121160264],[-89.10940430187381,48.31771774586432],[-89.10876227157452,48.357800553176126],[-89.06516123862737,48.357655564868075],[-89.04456195502404,48.39941273697352],[-89.19559791668675,48.399327863517286],[-89.1426862153765,48.45816640900337],[-89.16768564992441,48.46470863071625],[-89.15124864573572,48.47559801992108],[-89.16267785850287,48.488015542333],[-89.18235387575717,48.489591931848096],[-89.18260944470336,48.51459366029046]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-89.27176708181099,\"lat\":48.41464201574098},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3558\"],\"cd_name_en\":[\"Thunder Bay\"],\"csd_code\":[\"3558004\"],\"csd_name_en\":[\"Thunder Bay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Thunder Bay\",\"csd_name_fr\":\"Thunder Bay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-86.54859286072337,50.230908712839934],[-86.54846664810262,50.452799778405755],[-86.54838852436177,50.6185433413425],[-86.5482983353619,50.80828437544251],[-86.54818391028891,51.04671113087319],[-86.54808527051321,51.25004788446844],[-86.54795249818741,51.51957651061497],[-86.57825606135428,51.51061525659447],[-86.58832279279376,51.503283694365635],[-86.63173900980102,51.500720373009884],[-86.70606825137116,51.478541229679976],[-86.73503669774844,51.463071025911376],[-86.73579273671214,51.446393313591145],[-86.72477959619223,51.445475333203795],[-86.72050083528057,51.43087031631968],[-86.75388145766274,51.416163387435994],[-86.77896513966434,51.420622455844764],[-86.7949654917336,51.40626176226744],[-86.81828055988287,51.39789650196427],[-86.86530455600386,51.39313252185861],[-86.8862761515176,51.40272671046123],[-86.89149035314132,51.412691582973906],[-86.95054955848991,51.42794857712217],[-87.01309723649199,51.40511741235609],[-87.02217620711211,51.38509028696964],[-87.04394973716073,51.38089366601993],[-87.04635883763044,51.36765293146931],[-87.0583736026335,51.355503571715154],[-87.08922037494604,51.35301706551707],[-87.10655145620328,51.34557771117943],[-87.13192941728124,51.3254483941754],[-87.17098595400303,51.32384279343777],[-87.19356501968994,51.31586322836464],[-87.21104415867362,51.300102556056466],[-87.24909457119817,51.283829235500825],[-87.27193648598164,51.28153615632091],[-87.29787144787299,51.284282804535984],[-87.3576138562921,51.27165924032601],[-87.39830805112378,51.26544214719693],[-87.4198050044381,51.26644653637554],[-87.44742585494237,51.260330077281765],[-87.475501078008,51.25002725838175],[-87.52148050660375,51.245109214739216],[-87.52466063902492,51.264206884818186],[-87.54780583736229,51.26166416607949],[-87.5645668507973,51.264928523408685],[-87.58922393157192,51.27674103169899],[-87.64152823355074,51.281532370243106],[-87.64260561912712,51.2937777989811],[-87.65770488573521,51.31339265062784],[-87.66798142475086,51.314031584157235],[-87.68977304591951,51.33521391855557],[-87.71092212129068,51.34332396993468],[-87.72799168842182,51.3442157948792],[-87.75045057007263,51.36454384866968],[-87.76979830766817,51.364706622534136],[-87.78187628942356,51.35851191948907],[-87.79915327294965,51.37353648855778],[-87.78519742788615,51.390969992557984],[-87.79315532559545,51.40141521065161],[-87.81926333042273,51.40777731701956],[-87.81674180374654,51.42408391824697],[-87.84239739100047,51.438353351861245],[-87.88663675248372,51.45371924738416],[-87.90352691757532,51.454590777569784],[-87.93325507638544,51.463177604062516],[-87.93917132575528,51.47411928417546],[-87.97287169794174,51.49129464744981],[-88.02512395528973,51.49868931092351],[-88.08836125108351,51.48054963910927],[-88.10211502759712,51.48608581194064],[-88.15108491018644,51.47935189746913],[-88.16251860015024,51.46899709372827],[-88.19395919263445,51.47265260037628],[-88.23854179794424,51.47372100277331],[-88.26996580732568,51.480326451660204],[-88.29252713495335,51.480739981773695],[-88.32460951722385,51.4862910411283],[-88.36708339270423,51.47817864366406],[-88.39807566240832,51.486812997872846],[-88.49759439464358,51.50678932135926],[-88.52812741855489,51.525067552086625],[-88.54159672197093,51.52741928022878],[-88.55913545329005,51.55007902250225],[-88.57438783552821,51.555279817447015],[-88.6073045559589,51.544582028790686],[-88.62701854347942,51.54576703667025],[-88.65257544483505,51.53861141742871],[-88.68784463851298,51.54789311412543],[-88.70432251624854,51.543824129113794],[-88.73467053854456,51.546967336137854],[-88.74614749090516,51.5572838112752],[-88.83127942395296,51.55758577039968],[-88.85107222922778,51.543156572960484],[-88.84698184602082,51.5352379506254],[-88.85750360058773,51.51284620604338],[-88.9495830182925,51.481894154264616],[-88.97081176480503,51.48095519495074],[-88.98792479347699,51.45424044936538],[-89.00664015338378,51.455380704786364],[-89.01499035549774,51.46307949189767],[-89.01328976961386,51.48503211320886],[-88.98768388458319,51.49835007124452],[-88.99463307390258,51.509972177846244],[-89.03296794571,51.50861976753927],[-89.05886134208836,51.5227881029784],[-89.10755147726667,51.52798875127749],[-89.13811609529148,51.51052706259229],[-89.14572557835518,51.495689454800115],[-89.15718386971183,51.490591149885525],[-89.18656687858626,51.45213456505568],[-89.18611069557497,51.43042124773254],[-89.21418366310793,51.42648918854445],[-89.2245798943466,51.43187417459425],[-89.25736701643237,51.430967896944146],[-89.28232727908218,51.41894287730279],[-89.30118016276343,51.43046069749444],[-89.32206100801616,51.42517270301459],[-89.32064826631655,51.416052390067186],[-89.35269836081076,51.39805458618083],[-89.40934066714657,51.37339453494519],[-89.48087940614214,51.3342192582376],[-89.49551573748263,51.31686293271114],[-89.55763210012407,51.279834531034574],[-89.57990498749137,51.27422087260907],[-89.57874415315098,51.25247922584887],[-89.59276382103349,51.24902812459701],[-89.6154014265196,51.257291363903505],[-89.63286218185318,51.2468719801006],[-89.6705479843747,51.23395817181633],[-89.6822797555916,51.226756024250136],[-89.70321632767381,51.2300308454253],[-89.71899446537644,51.21965758925975],[-89.74688901241629,51.21429725364762],[-89.79418179621963,51.2165729229697],[-89.80523453382092,51.20486230429356],[-89.81738138769077,51.20387130228342],[-89.87919044169048,51.17409761287687],[-89.89194784131067,51.176258520319884],[-89.91763978268335,51.16565838043644],[-89.94673424372634,51.17477071788537],[-89.96701112783644,51.168985519071995],[-89.97893924389436,51.15093143446217],[-90.02306765649458,51.1439575139535],[-90.04674955911626,51.13168403816906],[-90.06353763578375,51.1351236129364],[-90.07045722028917,51.15031792486423],[-90.09157410024595,51.14840237870318],[-90.11828950489628,51.13781043965479],[-90.14610454085447,51.14109427214493],[-90.19928774566485,51.11943862032267],[-90.22004565171972,51.1183782158566],[-90.23477672486852,51.131925608416935],[-90.26504952233508,51.12852031242056],[-90.2781711731439,51.11426364590131],[-90.30431263690384,51.09753457808403],[-90.3527565931854,51.08406176962788],[-90.39291646172178,51.06819523533765],[-90.41106761673826,51.07306263446718],[-90.40897021014447,51.082997083329985],[-90.44263876129932,51.09037205186557],[-90.45058741825248,51.10096741758488],[-90.47174817889066,51.10268424415636],[-90.48399235717487,51.11357292043619],[-90.52787154633688,51.10873491643515],[-90.55149905240935,51.09911133814494],[-90.59846908259915,51.0877423125368],[-90.60852327636361,51.09321487176348],[-90.59373912124937,51.121223395536376],[-90.60430746232821,51.12901246519065],[-90.62184275276552,51.13032376132553],[-90.66127923047168,51.11671265955191],[-90.6856560328149,51.093106968424465],[-90.71540645903147,51.07717432546375],[-90.73873974236466,51.08424223087056],[-90.7611358317191,51.07312891123267],[-90.84532950282028,51.04631428168245],[-90.91023800074571,51.03595575460019],[-90.93118452791037,51.02181717540573],[-90.94201379504089,50.9739969325789],[-90.96450024576497,50.95826593684014],[-90.96492133679156,50.71273788377963],[-90.96528227302576,50.50003746910017],[-90.96543890250878,50.30796432066859],[-90.96599461590387,50.07405909766239],[-90.96559735969737,49.85872674221204],[-90.9654965875357,49.63166008046542],[-90.96552050519911,49.342467873162114],[-90.96124271126628,49.32539069700939],[-90.96550330649606,49.22509853779863],[-90.96537228907673,49.019556817834186],[-90.96523381441216,48.77687912290646],[-90.96510392722456,48.52982937864714],[-90.96491020046666,48.22200390420946],[-90.9150831606682,48.230750024469465],[-90.88574985650808,48.24594442649821],[-90.86694425523311,48.238222233512204],[-90.84766657120444,48.244527813155926],[-90.83930544525693,48.23955561678895],[-90.83255544860914,48.173500023379766],[-90.80408314190501,48.17780561279218],[-90.80074984528414,48.163166718049],[-90.77616656070128,48.16188891440785],[-90.77899985962057,48.150527829667],[-90.79674984220976,48.13938891490873],[-90.77638873617363,48.124000017653984],[-90.7614165661917,48.0983889209609],[-90.7414442455963,48.094555615437464],[-90.70291654844064,48.096027823998014],[-90.6862776675428,48.10041673075877],[-90.64149983507926,48.10352783442059],[-90.62705545000736,48.11177781937523],[-90.57574984602373,48.120611125273264],[-90.56972205599935,48.10683332606895],[-90.55669425767444,48.0959167251957],[-90.51694425385783,48.099305625750496],[-90.4866942677288,48.099055609968765],[-90.46738875814295,48.108750017257165],[-90.43844426226576,48.09866673045215],[-90.4031665726163,48.1050833268636],[-90.37494155645601,48.091016632303514],[-90.34597206487769,48.093972233679025],[-90.33005545570241,48.10227783403215],[-90.30577763615855,48.10516671839227],[-90.28924987153485,48.0990833288696],[-90.25383316617258,48.10225000983879],[-90.22516653986311,48.1082500194495],[-90.18861096917323,48.10808332234647],[-90.14264416680862,48.11275312229336],[-90.11599985539897,48.104222220592476],[-90.09161096106243,48.10466673042652],[-90.05747203385755,48.09644442762137],[-90.02333316992923,48.08483331041804],[-89.99383313557868,48.049388932398784],[-89.99365399622593,48.02802786977453],[-89.97531531220382,48.02325348621601],[-89.95227970411855,48.01065337711651],[-89.93511626459153,48.015739777444544],[-89.92774854257117,48.002619216228666],[-89.89558191510507,47.98730711359168],[-89.87244598753912,47.98536268025887],[-89.83125790587327,47.99962253894256],[-89.81996321069646,48.01541134634643],[-89.80093209464093,48.01400077928072],[-89.76746834878925,48.02264627061884],[-89.73316470301711,48.021755973879756],[-89.70939044790936,48.01037616268825],[-89.70519269698272,48.091684703169825],[-89.70198132573306,48.105961397747045],[-89.70197972695948,48.15850702423072],[-89.76579385919584,48.15868009860875],[-89.76696090675038,48.22532363187208],[-89.76544610079128,48.31120671126055],[-89.76593771553779,48.41243292554416],[-89.76790620179169,48.4298112899637],[-89.76362364101227,48.55257537106644],[-89.62825741313395,48.52114230573168],[-89.59990238654115,48.529498035571486],[-89.59464898379693,48.51557004163057],[-89.42895248326978,48.51432980723561],[-89.32859039164252,48.515133994364334],[-89.18260944470336,48.51459366029046],[-89.18230335585443,48.56821115372002],[-89.18745736191639,48.60349639968602],[-88.87324969412919,48.6059663693686],[-88.80045472922193,48.6057227537664],[-88.80283992728198,48.64269914161767],[-88.77962005177572,48.64314836104433],[-88.77901545976687,48.73764837295344],[-88.77843641994181,48.83924554308744],[-88.60887405349786,48.83703379321408],[-88.6103753595184,48.86582913064234],[-88.58644758540854,48.86605931097101],[-88.58627176753578,48.8557767746227],[-88.56509804503091,48.85498134450822],[-88.56468935864646,48.83527739194206],[-88.4999010420594,48.839014923591996],[-88.4866419470326,48.831243026526586],[-88.48564235588964,48.81817511956824],[-88.52761754733162,48.79313810787289],[-88.54196203091335,48.77468421321334],[-88.55067408409928,48.73752550428925],[-88.53857585829866,48.72175803165753],[-88.51621765474268,48.713462722203005],[-88.5264364369276,48.69983281022878],[-88.54631933775207,48.691812625145616],[-88.55324305305035,48.67480571824949],[-88.54809863775368,48.64966630812807],[-88.5384866366562,48.64568372315333],[-88.54850583978153,48.63059691508641],[-88.5627360339659,48.63167312026873],[-88.58717135298494,48.61839261259772],[-88.61582485068784,48.62163761212185],[-88.63088104233314,48.59868141148807],[-88.62216205289964,48.58478641498489],[-88.63814839365659,48.5650975070905],[-88.75942071706046,48.56505594141355],[-88.77679324715989,48.57554961940046],[-88.81304985978906,48.568416431218694],[-88.82801564048017,48.55863391696903],[-88.84736424798521,48.55921562867876],[-88.87715604750062,48.5445813273238],[-88.90512415651388,48.54316802367143],[-88.92671433876684,48.5294030091915],[-88.95676543537982,48.52148242525365],[-88.97073351213741,48.50976798351356],[-88.96889713595243,48.49235449752519],[-88.99328399477923,48.49116708470029],[-89.00185940089835,48.51119681235046],[-89.05883494107647,48.491153528107255],[-89.12781365714748,48.48533682860621],[-89.15124864573572,48.47559801992108],[-89.16768564992441,48.46470863071625],[-89.1426862153765,48.45816640900337],[-89.19559791668675,48.399327863517286],[-89.04456195502404,48.39941273697352],[-89.06516123862737,48.357655564868075],[-89.11004445896528,48.26748641523036],[-89.08186913406584,48.27190503253716],[-89.04966144735957,48.26560971876885],[-89.04317625840312,48.24930471541004],[-89.00000001160466,48.2468362165612],[-88.99999999446977,48.11322107727788],[-88.67922205458962,48.24394441330585],[-88.36861094831353,48.30561111274482],[-87.99773711081045,48.16590947520116],[-87.30151350098201,47.897706778489066],[-86.49586383476989,47.576338326392836],[-86.3069078322768,47.49938950827761],[-85.99999986396232,47.373055410741316],[-85.76643984481062,47.27578320484],[-85.49999983861849,47.163612521600726],[-85.31348775869611,47.08432120049187],[-85.3133167765672,47.252309193479014],[-85.31839485651575,47.47319295553841],[-85.31837041488002,47.50006616150653],[-85.32513109255575,47.74019789477114],[-85.32903570252338,47.87777395993392],[-85.32970363387021,47.99597396977244],[-85.33366310385684,48.18904114039087],[-85.33242924911421,48.30914810201746],[-85.3336054348122,48.538669175890696],[-85.33256000351913,48.625614731485925],[-85.33149119874281,48.763628949572514],[-85.33294879398628,48.88675149963902],[-85.33224574110237,49.1028627074793],[-85.33196315017956,49.345098060546526],[-85.3326366250921,49.533951290615576],[-85.33310602330134,49.68116071517544],[-85.33157557273967,49.70986253185595],[-85.33290954139984,49.96954821054888],[-85.49174159906161,49.970074167394245],[-85.77187518806733,49.97148209677339],[-86.05383056620985,49.96875918876268],[-86.27241760254525,49.9698679656224],[-86.32371372303281,49.971305149498185],[-86.42126162397072,49.97017303765955],[-86.5491249762759,49.97004145703961],[-86.54872120378468,50.09909768161118],[-86.55342836740692,50.10023259956367],[-86.75351559263281,50.10094631953081],[-86.75241256312636,50.18118309500757],[-86.77481360459748,50.18032819988749],[-86.78604611340273,50.17408979719413],[-86.82746838829982,50.162907391961404],[-86.85437140956019,50.17886329179753],[-86.88086079886752,50.20499340068121],[-86.9002454753682,50.22965869375906],[-86.75863054783979,50.23107052601283],[-86.54859286072337,50.230908712839934]],[[-85.63790792841517,48.69315691448618],[-85.63774274439446,48.69122071588695],[-85.64206225783353,48.688422673141645],[-85.64353032749014,48.690254424083854],[-85.63790792841517,48.69315691448618]],[[-85.62672622075414,48.70856112294945],[-85.61232840833769,48.70866296300968],[-85.614613974831,48.698542161355356],[-85.62672622075414,48.70856112294945]],[[-87.56624414788995,48.89172805717043],[-87.54943750765176,48.89274633102879],[-87.55007594657,48.878438381708825],[-87.56846349956076,48.87812949241104],[-87.56624414788995,48.89172805717043]],[[-88.32593214736835,49.070412949975946],[-88.3110834914108,49.07231061097441],[-88.28959764470983,49.061127031397824],[-88.32158408454745,49.05860473685091],[-88.32593214736835,49.070412949975946]],[[-89.04768528682095,50.30350509459326],[-89.06365330070349,50.31681350828987],[-89.04383701141629,50.32306541988787],[-89.03014310480383,50.3124568988313],[-89.04768528682095,50.30350509459326]],[[-86.95884364115952,50.21678246754056],[-86.97725172583384,50.2247065630018],[-86.9648889599883,50.235123424680886],[-86.94702934324914,50.22803179170662],[-86.95884364115952,50.21678246754056]],[[-86.28634062151744,48.611893073892496],[-86.28458195216052,48.63541491362482],[-86.26464747447876,48.64290462155178],[-86.26577684935992,48.62397522324515],[-86.28634062151744,48.611893073892496]],[[-90.61712949829582,50.43626191796909],[-90.64121359128416,50.40362069948033],[-90.64676870744108,50.38876118186122],[-90.6920755651552,50.39055803469885],[-90.69187277870887,50.42585752849852],[-90.65962333782983,50.42496122227358],[-90.63556424523131,50.4279915225319],[-90.61712949829582,50.43626191796909]],[[-90.39138006312112,48.90018351205017],[-90.3237781441688,48.89740649083129],[-90.33871194683822,48.87759341864761],[-90.36703356525689,48.877001723739475],[-90.39664426059302,48.86181972697686],[-90.41468116935225,48.86990292261726],[-90.41506274888543,48.87909662110087],[-90.39138006312112,48.90018351205017]],[[-86.16814049934126,49.64582396607763],[-86.08273804319875,49.64584416872744],[-86.08264176038644,49.58962335071495],[-86.17070350753771,49.591151009461406],[-86.16814049934126,49.64582396607763]],[[-89.10450214318705,49.8001690215771],[-89.09689005331681,49.78031023421763],[-89.18685339963804,49.77968071437484],[-89.18685474465829,49.8379056126522],[-89.09557112689023,49.83729291022895],[-89.0865953529436,49.82199193207758],[-89.10450214318705,49.8001690215771]],[[-90.63052044474013,50.46846602014231],[-90.63233223282498,50.438291493096685],[-90.655796160718,50.43744993452461],[-90.66457152772428,50.43142002548884],[-90.69903183531353,50.429066615780904],[-90.72926504293554,50.42228512291045],[-90.76836825757887,50.42657131698344],[-90.77370744025671,50.43140212300122],[-90.77185117923098,50.46878591102328],[-90.63052044474013,50.46846602014231]],[[-90.23821285272358,51.125033219571826],[-90.22701044780295,51.10946822481455],[-90.21125823540739,51.116450934569706],[-90.21085514693054,51.09370636569588],[-90.22233801683574,51.0314553141531],[-90.31472110708575,51.03270255860183],[-90.31023506562414,51.065906980249494],[-90.31456781887607,51.07847522985974],[-90.28522036031212,51.08364461426566],[-90.29926425767663,51.09284773314167],[-90.27364853992196,51.101688028441686],[-90.23821285272358,51.125033219571826]],[[-88.43314973081975,48.966965121038136],[-88.4324139331485,49.03952139597977],[-88.34255809155414,49.03843790397303],[-88.25294301604232,49.03952940292437],[-88.23557154707444,49.032841686643444],[-88.23486706004319,49.0251620705382],[-88.23403270771641,48.94898705732493],[-88.23502603165464,48.92872981984555],[-88.34132210376063,48.924123570196585],[-88.43291766338194,48.92433829872976],[-88.43314973081975,48.966965121038136]],[[-86.50000001953494,48.74999998796178],[-86.50142928718871,48.79949363116363],[-86.24176163217798,48.80105969045326],[-86.23971145382019,48.74797087456968],[-86.240069429277,48.69274533675844],[-86.31447081908564,48.69223404556506],[-86.49999999080863,48.69225421082101],[-86.50000001953494,48.74999998796178]],[[-85.96049266624006,49.05345085225119],[-85.97710293848893,49.05345700800518],[-85.97612266688208,49.22668109365815],[-85.71251586981892,49.22730893272063],[-85.71434669447689,49.053025711328175],[-85.96049266624006,49.05345085225119]],[[-87.23210710632193,48.82457830270859],[-87.102163386832,48.82922640888326],[-87.07540732023044,48.82847177126461],[-87.07764435504505,48.85116757386475],[-87.05682492656304,48.85038732935605],[-87.0557715091019,48.8655338055703],[-86.99238493470484,48.86468611541803],[-86.99121889499946,48.72899889055787],[-86.92262820618018,48.728599412699445],[-86.92215245169155,48.57828926793579],[-86.92071081144182,48.53604643286772],[-86.99006228666178,48.53525877903059],[-86.98699571715595,48.49259367074847],[-87.22515426032595,48.49299461894172],[-87.2318988112819,48.756963759265574],[-87.26299293922276,48.76824722223074],[-87.26962485925998,48.75890301773871],[-87.30255623957542,48.768554829293166],[-87.2893560347027,48.78996332990088],[-87.29587147034148,48.79508647099317],[-87.29611623867913,48.83438854361096],[-87.23213522027788,48.83367232549087],[-87.23210710632193,48.82457830270859]],[[-88.14378454839819,49.46987341829677],[-88.15664155104419,49.469565620223904],[-88.1689085712207,49.490283018797356],[-88.14367823589362,49.52280202643311],[-88.15112316254249,49.54386672160608],[-88.1657233364056,49.550359019604535],[-88.15230292450441,49.575220924786095],[-88.16220094014977,49.587207078954854],[-88.13366624963193,49.60615916864556],[-88.12932807472552,49.61725864692208],[-88.11050895658296,49.61458681341959],[-88.09006425555712,49.63331971796785],[-88.08942893337816,49.650784926835534],[-88.09674114880106,49.66361462843821],[-88.10902054769173,49.6661241319875],[-88.08206613508547,49.69110612093591],[-88.10390625989214,49.69548752655832],[-88.10385992728449,49.70629971770536],[-88.08559793393337,49.732008621353835],[-88.08608253600659,49.74252802847474],[-88.1006875450654,49.751870832251406],[-87.94916802471347,49.753254246698226],[-87.81699549141548,49.75161985676188],[-87.71524546953904,49.75386767399948],[-87.4861302385857,49.75393616279475],[-87.48559582055317,49.84059785275271],[-87.26205827229306,49.84050560347653],[-86.96717385713742,49.8399667028983],[-86.95004036331387,49.83889585151945],[-86.70047143084685,49.83876165595382],[-86.33978380672998,49.83955677865808],[-86.14634386636963,49.83929855713722],[-86.14595491768563,49.78453998803027],[-86.14236941173039,49.75146669244714],[-86.20567614771478,49.75093141687255],[-86.34048755299618,49.75201027029375],[-86.39042923180965,49.75125719727812],[-86.43678056815418,49.752667522226574],[-86.43742056427446,49.70441844023561],[-86.53024224901573,49.70327448233386],[-86.61665468396666,49.70400206922046],[-86.5979886557252,49.718012020683624],[-86.58115303473502,49.73832510667612],[-86.54474484723053,49.76228985339751],[-86.55378335348743,49.76571921286065],[-86.55092463058621,49.78479997655697],[-86.57815288183107,49.78260255009448],[-86.600968256197,49.740391810951955],[-86.63804963665201,49.716543106222815],[-86.63493312967675,49.708510115906556],[-86.65697764731067,49.69591312125078],[-86.64293672618733,49.68379100894479],[-86.65985241999937,49.66942342918449],[-86.67213230077358,49.666127780534765],[-86.94903499712045,49.66578285802974],[-86.95309550263826,49.57959759360125],[-87.08037549422416,49.57937632488281],[-87.08228834187278,49.606278158517604],[-87.08195824956728,49.66590799021953],[-87.34404243985011,49.665572096981805],[-87.63134044036276,49.66678315346556],[-87.63126414710932,49.58228614184502],[-87.89589399138269,49.57938131575624],[-87.8962343555455,49.49255088944089],[-87.99612457096714,49.48957060294831],[-88.03261423771217,49.48965113946149],[-88.0350452366804,49.38107150126167],[-88.03574228653436,49.293168216292706],[-88.16142409426321,49.29186888271429],[-88.16064761069953,49.339989964964204],[-88.13353583526664,49.34072388762326],[-88.1309489451397,49.38591181220304],[-88.12716944004798,49.409228626062166],[-88.13107970098272,49.435211894955046],[-88.13557424441487,49.43592531847873],[-88.133938162676,49.44240806501173],[-88.13666126174984,49.45550631092623],[-88.14378454839819,49.46987341829677]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-88.18921274295239,\"lat\":49.532347509396516},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3558\"],\"cd_name_en\":[\"Thunder Bay\"],\"csd_code\":[\"3558090\"],\"csd_name_en\":[\"Thunder Bay\",\"Unorganized\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Thunder Bay\",\"csd_name_fr\":\"Thunder Bay, Unorganized\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-91.72746298134957,49.451796101180356],[-91.74230611012698,49.45184515222231],[-91.7422318601317,49.3672247142593],[-91.61189631321103,49.36605142904294],[-91.61120306964679,49.45158699583414],[-91.62783086908026,49.45071208633355],[-91.72746298134957,49.451796101180356]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-91.67689068825341,\"lat\":49.4090125843785},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560001\"],\"csd_name_en\":[\"Ignace\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Ignace\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-93.3147023187432,53.109634551320255],[-93.31680593709686,53.101682138998186],[-93.34115722468975,53.098940723646834],[-93.40013364858349,53.10676864308608],[-93.40070251786608,53.07620998168043],[-93.37504935052115,53.060420732112426],[-93.32897512460065,53.05815204169965],[-93.31070713868382,53.05216493274082],[-93.29462174740497,53.06081083199144],[-93.26377932820479,53.066313905740664],[-93.25907816870043,53.10562051008809],[-93.3147023187432,53.109634551320255]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-93.3282891538966,\"lat\":53.08265514755187},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560071\"],\"csd_name_en\":[\"Sandy Lake 88\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Sandy Lake 88\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-98.5513488790892,49.797960690668354],[-98.5512903116447,49.88695059321464],[-98.56033909069194,49.8869223076401],[-98.55998361077422,50.06361970888218],[-98.80473252868828,50.06359355333879],[-99.11044730902185,50.06351980673649],[-99.11039031223896,49.89846928757215],[-99.09768883711723,49.88654778947207],[-99.09786461181238,49.79806829290119],[-98.77929097796353,49.79810397153428],[-98.5513488790892,49.797960690668354]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-98.83154378333776,\"lat\":49.93105228723763},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4608\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4608046\"],\"csd_name_en\":[\"North Norfolk\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"North Norfolk\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-98.34116243008053,49.95100003511512],[-98.34500728385072,49.95316942043326],[-98.34489458838723,49.94618512848013],[-98.33954572393547,49.94764675221261],[-98.34116243008053,49.95100003511512]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-98.34290028343415,\"lat\":49.94932156260633},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4609\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4609027\"],\"csd_name_en\":[\"Dakota Tipi 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Dakota Tipi 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-98.49813450001481,51.76220961864865],[-98.49835866326377,51.7806594348389],[-98.5359685784586,51.780324338381575],[-98.53629355126877,51.76946237620977],[-98.52201730377213,51.76173462673616],[-98.4981932596462,51.76220846296683],[-98.49813450001481,51.76220961864865]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-98.51604317063813,\"lat\":51.771744034215054},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4618\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4618061\"],\"csd_name_en\":[\"Obushkudayang\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Obushkudayang\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-98.92021703731405,56.80991704976756],[-98.91422323279042,56.78883963798607],[-98.93388233706709,56.78136844392547],[-98.95739675366566,56.752813848223575],[-98.94330617966936,56.745353127441106],[-98.9165034604031,56.75239145356152],[-98.89912720200742,56.79486882920248],[-98.89889621504696,56.81070778621091],[-98.92021703731405,56.80991704976756]],[[-98.91958302415959,56.77990536893636],[-98.92094431079485,56.780294397367584],[-98.91997971737304,56.781572381573646],[-98.91825266785285,56.78110508098052],[-98.91958302415959,56.77990536893636]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-98.92362560202582,\"lat\":56.774169686522896},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4623\"],\"cd_name_en\":[\"Division No. 23\"],\"csd_code\":[\"4623037\"],\"csd_name_en\":[\"South Indian Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian settlement \\/ \\u00c9tablissement indien\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 23\",\"csd_name_fr\":\"South Indian Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.45407106043962,49.18233590761974],[-101.45657771363912,49.17322659366582],[-101.44045939719403,49.17626932642181],[-101.44081679975372,49.18231032687539],[-101.45407106043962,49.18233590761974]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.4484510912275,\"lat\":49.1783828791845},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701002\"],\"csd_name_en\":[\"Gainsborough\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Gainsborough\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.41760333805655,49.79833817543353],[-101.41754598208186,49.88667010666439],[-101.44837289873988,49.886711169227354],[-101.44721949092315,49.894369006702526],[-101.44730600459803,50.06400026366166],[-101.49316136442198,50.06372726098192],[-101.5039409855724,50.06389214343654],[-101.7225234919502,50.06356286008272],[-101.72328540984196,50.019432077825115],[-101.72229520058815,49.886604998501596],[-101.69130690635933,49.88478935743258],[-101.66837679368135,49.88426614923929],[-101.668299981909,49.86984504732859],[-101.69052512666966,49.8699099442998],[-101.69151297152024,49.84671817581283],[-101.69064359286173,49.70931150302071],[-101.53157201899583,49.7091259710659],[-101.41779808246244,49.70976529688776],[-101.41760333805655,49.79833817543353]],[[-101.53748581426171,49.82781029286883],[-101.53850569581162,49.842529142368015],[-101.51583758045162,49.84259557450205],[-101.5157323101628,49.827785227694505],[-101.53748581426171,49.82781029286883]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.56955969774533,\"lat\":49.88711906595639},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701094\"],\"csd_name_en\":[\"Maryfield No. 91\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Maryfield No. 91\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.85201861302608,49.522762788655726],[-105.23428329694696,49.52278209120694],[-105.233899744767,49.385819180128614],[-105.25447574813892,49.37955356602247],[-105.29025038981099,49.3862557708372],[-105.31694919644036,49.37476485825238],[-105.33286469184767,49.37486584217506],[-105.36855984237909,49.38866464120057],[-105.36892475706364,49.347987890409414],[-105.50380869791559,49.348041031589034],[-105.50318638944489,49.26107461966498],[-105.23435602934822,49.26080459520178],[-104.83114622320029,49.26063267766669],[-104.83086449783399,49.52276970444913],[-104.85201861302608,49.522762788655726]],[[-105.12223108902023,49.40149563616141],[-105.12223171379338,49.3917821009624],[-105.13649925053049,49.39402517252456],[-105.13346391466524,49.40168716002029],[-105.12223108902023,49.40149563616141]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.10051477669808,\"lat\":49.37551694334376},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4702\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4702024\"],\"csd_name_en\":[\"Bengough No. 40\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Bengough No. 40\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.03892268237902,49.78481500512342],[-104.44547284746993,49.78459545363412],[-104.44529769481123,49.52267010218334],[-104.42769468340798,49.52266529601203],[-104.03874999314986,49.522750100090896],[-104.03892268237902,49.78481500512342]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.24209373442146,\"lat\":49.65370574148092},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4702\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4702051\"],\"csd_name_en\":[\"Brokenshell No. 68\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Brokenshell No. 68\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.50318638944489,49.26107461966498],[-105.63766101044908,49.26079140244609],[-105.6378115859908,49.17858199254462],[-105.61213108769304,49.17346770428234],[-105.61245360243836,48.99975909591027],[-105.34453228726227,48.999420202011436],[-105.21159321284549,48.999407299030906],[-105.20814651344351,49.011395251759495],[-105.21133139943825,49.042996309727876],[-105.21117483117591,49.16912641370666],[-105.23443274283018,49.173730933464014],[-105.23435602934822,49.26080459520178],[-105.50318638944489,49.26107461966498]],[[-105.52892261602719,49.11387374791992],[-105.51172781410612,49.108955084665794],[-105.52303124711433,49.10128493910728],[-105.52892261602719,49.11387374791992]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.41963407252753,\"lat\":49.1302993782715},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4703\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4703001\"],\"csd_name_en\":[\"Hart Butte No. 11\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Hart Butte No. 11\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.8425479991507,50.857048089229636],[-103.05165639977533,50.856986202509916],[-103.26115359843587,50.85702230717579],[-103.26122681668048,50.59172639356593],[-103.25276051251946,50.571965895220615],[-103.24351908108437,50.571718888123876],[-103.24352935692372,50.52942168381148],[-103.21299916763618,50.528875735924444],[-103.20156708172301,50.52266504886766],[-103.152511672332,50.53032634083114],[-103.11786599428697,50.53063225071442],[-103.08898469261928,50.547974645240465],[-103.07471426720262,50.55100475103275],[-103.06795496502312,50.5631207414953],[-103.0537664825288,50.565876444731785],[-103.03358635597888,50.58452765271923],[-102.98284742926904,50.60124524187015],[-102.97380316688447,50.6141789374136],[-102.94852909017047,50.61698603684053],[-102.93592839120615,50.63009625419852],[-102.91678279460763,50.64116444775646],[-102.89350517661568,50.64196545018031],[-102.88526828149277,50.636502954512956],[-102.84235687141067,50.638314738156296],[-102.8425785927596,50.74633282180448],[-102.84255249744292,50.761110429295925],[-102.8425479991507,50.857048089229636]],[[-103.02007701757562,50.717376559222245],[-103.00509738596534,50.71789147360669],[-103.00533335636415,50.70223574223659],[-103.02103055021836,50.70218330794092],[-103.02007701757562,50.717376559222245]],[[-103.19876911598047,50.72432750867533],[-103.21472028863978,50.72440199794794],[-103.21471108559786,50.73917869393499],[-103.19154260271546,50.73905540818207],[-103.19876911598047,50.72432750867533]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.06884798844683,\"lat\":50.71401620436295},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705063\"],\"csd_name_en\":[\"McLeod No. 185\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"McLeod No. 185\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.05332640843972,51.01009635994224],[-103.0362009051686,51.005265204598395],[-103.03610099977182,51.01870158753337],[-103.05945350061525,51.018777098818965],[-103.05332640843972,51.01009635994224]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.04549785696247,\"lat\":51.0134589549668},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705071\"],\"csd_name_en\":[\"Fenwood\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Fenwood\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.60860102248856,50.56764826316828],[-102.62920415506768,50.56951604714765],[-102.63585925673955,50.58041685004247],[-102.66447539482304,50.58702518811211],[-102.68976242857711,50.6064469971803],[-102.70835048673996,50.61254080912618],[-102.72710437745094,50.60885495522413],[-102.75012834251638,50.60108805509795],[-102.75095973792716,50.48406009118237],[-102.60899597412836,50.48391865072271],[-102.60860102248856,50.56764826316828]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.68478089795148,\"lat\":50.53994238822921},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705803\"],\"csd_name_en\":[\"Cowessess 73\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Cowessess 73\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.45142498441741,50.22522874341109],[-103.46198718541409,50.21469437268181],[-103.4393651115505,50.21452033164264],[-103.45142498441741,50.22522874341109]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.45092576046069,\"lat\":50.21814781591184},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706002\"],\"csd_name_en\":[\"Montmartre\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Montmartre\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-104.45473152154119,50.688224509509844],[-104.45473728174875,50.67334563354502],[-104.44359370305688,50.65915384841146],[-104.50077219990274,50.65912214562037],[-104.5012385010485,50.57173760329578],[-104.48058859159313,50.56952511061837],[-104.48018239055514,50.309504790738984],[-104.20562704003869,50.30947751030296],[-104.2054447026501,50.39685420297532],[-104.20555023582918,50.57162575426672],[-104.22379039907206,50.571613107335814],[-104.22377977765564,50.70983677688389],[-104.22385099625879,50.74646808650303],[-104.31619801162205,50.74633538199428],[-104.31620490269313,50.73129938543068],[-104.3623614981947,50.7172980035364],[-104.47854410727201,50.71756485340568],[-104.45473152154119,50.688224509509844]],[[-104.25742008945566,50.63769011014923],[-104.24685929777776,50.637505404742726],[-104.24685257686812,50.62995998981241],[-104.25850386547012,50.629967025653954],[-104.25742008945566,50.63769011014923]],[[-104.27420322193446,50.49863255828746],[-104.2513894113339,50.498626540167166],[-104.25132829159112,50.48421581058293],[-104.27420521784391,50.484243693229125],[-104.28825051549337,50.47821490437348],[-104.29709239004661,50.488325958123944],[-104.27420429448186,50.49168751244786],[-104.27420322193446,50.49863255828746]],[[-104.42259102485055,50.49175169725416],[-104.40048630605489,50.491218570855125],[-104.39975868109913,50.46948125114432],[-104.42217201528172,50.47587922825251],[-104.4464148490709,50.475421693968876],[-104.44626911693697,50.48436936513917],[-104.42259102485055,50.49175169725416]],[[-104.37713658438037,50.44526890046836],[-104.34303891830439,50.448146851804864],[-104.34302505427137,50.43249853553017],[-104.3658085989152,50.43262231793957],[-104.3659282468994,50.41804149948373],[-104.39953277361188,50.41812473161945],[-104.3994949602646,50.43234543274229],[-104.3694015972189,50.4327455901373],[-104.37713658438037,50.44526890046836]]],[[[-104.50072103905717,50.67376537286931],[-104.48942954612028,50.68113294974516],[-104.49015494009679,50.70611904441293],[-104.50066842014833,50.706322422256996],[-104.50072103905717,50.67376537286931]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.34538800544335,\"lat\":50.51740259869023},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706029\"],\"csd_name_en\":[\"Edenwold No. 158\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Edenwold No. 158\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.37713658438037,50.44526890046836],[-104.3694015972189,50.4327455901373],[-104.3994949602646,50.43234543274229],[-104.39953277361188,50.41812473161945],[-104.3659282468994,50.41804149948373],[-104.3658085989152,50.43262231793957],[-104.34302505427137,50.43249853553017],[-104.34303891830439,50.448146851804864],[-104.37713658438037,50.44526890046836]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.37091703971598,\"lat\":50.432222193673745},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706030\"],\"csd_name_en\":[\"White City\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"White City\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.28448241919621,50.857071400161225],[-103.29037890847263,50.84230958578031],[-103.48923700516093,50.84245819590453],[-103.4890871960725,50.85714590498475],[-103.67684028608012,50.85650529959337],[-103.67683261102127,50.83368038639156],[-103.67697937551634,50.741078550217544],[-103.65895650392393,50.72904158883648],[-103.63931294847295,50.70721447770298],[-103.62640767771796,50.67984367346136],[-103.60430431619118,50.66235738721439],[-103.60217836966315,50.66878395331036],[-103.62799035990032,50.70296485338157],[-103.61669588392043,50.70365063416812],[-103.60048752968204,50.67548692501814],[-103.59995819336449,50.65980404672016],[-103.55680478858571,50.626870294533425],[-103.53768197934667,50.6239348508174],[-103.48367199509354,50.59944385341153],[-103.47836167105368,50.588255546434716],[-103.45669077900315,50.58094364839126],[-103.39391235717702,50.56494344406448],[-103.38172182391953,50.564488991608215],[-103.36680758994189,50.56771453347415],[-103.35696956515076,50.558811747426084],[-103.31610398656989,50.54865533142741],[-103.30435379313847,50.550669539193926],[-103.24598850406619,50.53456379705366],[-103.24352935692372,50.52942168381148],[-103.24351908108437,50.571718888123876],[-103.25276051251946,50.571965895220615],[-103.26122681668048,50.59172639356593],[-103.26115359843587,50.85702230717579],[-103.28448241919621,50.857071400161225]],[[-103.4239129136719,50.74825620566871],[-103.41246773090077,50.75000877907945],[-103.41233927885467,50.73922249013935],[-103.42385011097178,50.73915390957762],[-103.4239129136719,50.74825620566871]],[[-103.55038094426553,50.79713133969265],[-103.55192725688686,50.81286839506717],[-103.54002799985948,50.8128479089249],[-103.53639880633152,50.79816109733146],[-103.55038094426553,50.79713133969265]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.44326008437065,\"lat\":50.72049537051581},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706042\"],\"csd_name_en\":[\"Abernethy No. 186\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Abernethy No. 186\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.94452497871171,51.05918219775462],[-104.93795176618906,51.08107289664263],[-104.9724751080615,51.080958007710805],[-104.97271437994887,51.05908208387573],[-104.94452497871171,51.05918219775462]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.95686003959221,\"lat\":51.07044222288687},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706074\"],\"csd_name_en\":[\"Strasbourg\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Strasbourg\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.82923391183581,50.57208700261931],[-106.83583658409094,50.5720597015935],[-106.83474610201748,50.65997572231341],[-106.97537841076705,50.65955530998871],[-106.97372785905307,50.80932282346291],[-106.98892910071909,50.774433595794335],[-107.00539404495818,50.76360694375743],[-107.0453565592159,50.74768481652383],[-107.078460551142,50.74198203268215],[-107.09958032147959,50.74333811576772],[-107.17169705270582,50.767907060580676],[-107.20539755061161,50.75802844980073],[-107.25080714075196,50.72729603005441],[-107.2512356134573,50.572080902409425],[-107.24172758631926,50.57208822049144],[-107.24210460087087,50.45554360511923],[-107.24105721697292,50.43370478251745],[-107.20764487018133,50.434292017958896],[-107.2066896088965,50.419959571218804],[-107.2420449882449,50.41951119104206],[-107.24212910503817,50.3099272965806],[-106.85271918976274,50.31000559034822],[-106.82983115699005,50.30945677823479],[-106.82923391183581,50.57208700261931]],[[-106.89820821728648,50.44415140553578],[-106.89758036476793,50.45578680050061],[-106.88701616366384,50.455817302004085],[-106.88638355119704,50.441057768098595],[-106.89820821728648,50.44415140553578]],[[-107.03821150972132,50.4191614956829],[-107.02478338266614,50.419326408496175],[-107.02446156451262,50.4105043019754],[-107.0465800638212,50.41052564109613],[-107.03821150972132,50.4191614956829]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.04811876103498,\"lat\":50.51985040670173},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707024\"],\"csd_name_en\":[\"Morse No. 165\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Morse No. 165\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.69125009707759,51.35821318904696],[-108.11329960525741,51.35827010880701],[-108.37162697509503,51.358276001056474],[-108.37125033488539,51.27089065509312],[-108.35396529197676,51.270896599216314],[-108.35266562839668,51.24172512612085],[-108.35272807498262,51.09645520013257],[-108.09818624543738,51.09655341637175],[-108.09629369350489,51.07279225989302],[-108.0760472900714,51.04826364290263],[-108.08316660589466,51.01171516123032],[-108.07399480814941,51.0088566074253],[-107.87756436429638,51.00886763587745],[-107.81838320300952,51.00939776279971],[-107.67776711337896,51.00921369572],[-107.67863255858701,51.09645728749979],[-107.6777381652507,51.16279974864814],[-107.67891439320394,51.2708659958483],[-107.69128689867375,51.27084289793807],[-107.69125009707759,51.35821318904696]],[[-108.02810678847516,51.21134400245061],[-108.02055131395991,51.19392023719549],[-108.04520298183681,51.19415494976823],[-108.04443220986937,51.20894269250784],[-108.02810678847516,51.21134400245061]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.99760274587913,\"lat\":51.19836167882762},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4708\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4708092\"],\"csd_name_en\":[\"Monet No. 257\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Monet No. 257\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.89500261754137,51.40779650234358],[-103.8830950851633,51.40772138876935],[-103.88237751676961,51.43139757602183],[-103.89714722888279,51.423702099263345],[-103.89500261754137,51.40779650234358]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.889032943328,\"lat\":51.418149375262566},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710852\"],\"csd_name_en\":[\"Muskowekwan 85-31\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Muskowekwan 85-31\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.59971397299276,51.410346472281375],[-106.58993260733965,51.41649829848936],[-106.61331748305052,51.416511394479656],[-106.6133221777679,51.41057906036818],[-106.59971397299276,51.410346472281375]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.60378891595106,\"lat\":51.413743227896454},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711024\"],\"csd_name_en\":[\"Hawarden\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Hawarden\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.98171633785469,51.61983838393134],[-104.98163579846832,51.881512808700805],[-105.40452746833957,51.8815003359275],[-105.40449844359209,51.72013038566407],[-105.40459460116631,51.71860855204813],[-105.4043941328692,51.713253524762095],[-105.40415950278843,51.62004250929026],[-105.38179929213898,51.620045401135066],[-104.98171633785469,51.61983838393134]],[[-105.01535311095542,51.74361420885509],[-105.01687659654569,51.75084311159469],[-105.00533099158028,51.750619397362684],[-105.00534728194022,51.74305426088476],[-105.01535311095542,51.74361420885509]],[[-105.02222916643188,51.83801732592597],[-105.05239625000054,51.83791308498479],[-105.06156809592105,51.85968740208194],[-105.0052206558192,51.85965927344482],[-105.00555932271556,51.83997460523003],[-105.02222916643188,51.83801732592597]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.19478100749079,\"lat\":51.749759112562444},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711046\"],\"csd_name_en\":[\"Usborne No. 310\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Usborne No. 310\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.00468637505884,51.88182653352103],[-106.00304607352524,51.96906676042427],[-106.00275558186887,52.143841698893546],[-106.14693751768192,52.14383129635118],[-106.43231049738401,52.143803602248234],[-106.43244099583582,51.969140994843166],[-106.42939848728706,51.96914200070491],[-106.42933091181882,51.88186898936663],[-106.28792638271963,51.881676595133385],[-106.00468637505884,51.88182653352103]],[[-106.22819940636552,51.9446358944317],[-106.23406542073135,51.94950189759571],[-106.22258943934465,51.94930640893585],[-106.22819940636552,51.9446358944317]],[[-106.36127739925263,51.997751293239894],[-106.36917117079317,51.990781568212974],[-106.38532209794442,51.99697532472782],[-106.36127739925263,51.997751293239894]],[[-106.06613571393665,51.90157439418097],[-106.0452568508703,51.8996245078124],[-106.04538166140281,51.88713237375855],[-106.07105328989671,51.89633005512006],[-106.06613571393665,51.90157439418097]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.21750022975145,\"lat\":52.01333528902716},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711069\"],\"csd_name_en\":[\"Blucher No. 343\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Blucher No. 343\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.46503941171963,51.63097233629109],[-109.47730401919249,51.6341801972841],[-109.47729383613074,51.62762676701513],[-109.46503941171963,51.63097233629109]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.47321242234761,\"lat\":51.63092643353011},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713022\"],\"csd_name_en\":[\"Smiley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Smiley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.80910048887881,52.196497494044834],[-103.81520965535394,52.18964614696904],[-103.80949273321755,52.187684083450996],[-103.80910048887881,52.196497494044834]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.81126762581678,\"lat\":52.191275908154964},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714025\"],\"csd_name_en\":[\"Fosston\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Fosston\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.03499653448735,53.7141396834035],[-103.03783081246407,53.74953103405918],[-103.03655110796133,53.77494622661887],[-103.0543330319547,53.77321360099547],[-103.0760977083413,53.763249365330786],[-103.08887953763956,53.74795058167211],[-103.11683094354296,53.731632055762155],[-103.15727710877756,53.71951829957449],[-103.18814301973414,53.726991286340436],[-103.21090028305981,53.72839680992071],[-103.22058610295828,53.71927805492314],[-103.24544064448288,53.71349847812867],[-103.26306193483691,53.71813722964675],[-103.29625571873237,53.713079404840094],[-103.32017318236322,53.694955225089195],[-103.38984669077294,53.68652264221397],[-103.40097622988316,53.680163418810956],[-103.39677615576423,53.65958426820293],[-103.41237623749709,53.64645978860512],[-103.43251989214964,53.64076859753909],[-103.4995044884797,53.63756559692895],[-103.56810329640025,53.637375282325976],[-103.62826744719787,53.62840388810587],[-103.65170515277273,53.617677031374086],[-103.67782242332802,53.61226560105963],[-103.693247487182,53.589663783513075],[-103.68942703144445,53.57674603132273],[-103.67371722096719,53.56020357757205],[-103.67406666353843,53.54635272387757],[-103.70274068399927,53.533855174280234],[-103.74722912811208,53.532874803914794],[-103.76332505472493,53.52622220910987],[-103.77462753427032,53.51398113894265],[-103.77443611390628,53.36550379996012],[-103.75832509789265,53.3654991047457],[-103.75820908151134,53.19099160786728],[-103.47701355956846,53.1910866622112],[-103.27036857707097,53.19113739477997],[-103.24995836939445,53.191693312203235],[-103.02673429352237,53.19160583859013],[-102.91461381460647,53.192605632040454],[-102.9679481699671,53.23055064201806],[-103.00203137385952,53.27544644438804],[-103.01171256547667,53.29304504737321],[-103.02512272639834,53.29796430705657],[-103.02610697263162,53.36559324720271],[-103.0355260853682,53.365609258892576],[-103.03707397241719,53.45448747287819],[-103.03499653448735,53.7141396834035]],[[-103.59103739799396,53.27838289641142],[-103.59895239743136,53.28591677847676],[-103.57532518452365,53.28674954553068],[-103.57522871317731,53.27838378474833],[-103.59103739799396,53.27838289641142]],[[-103.72521431100246,53.51090429525642],[-103.75117737871884,53.51103654512408],[-103.7505327016965,53.525257276464],[-103.72573115231793,53.524969236133806],[-103.72521431100246,53.51090429525642]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.36540886861748,\"lat\":53.42983786874636},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714067\"],\"csd_name_en\":[\"Moose Range No. 486\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Moose Range No. 486\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.4298362679563,52.515250989424246],[-106.42719874778135,52.50782113713812],[-106.41234229617157,52.50626189218606],[-106.41809183439403,52.51595682705701],[-106.4298362679563,52.515250989424246]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.42152907080055,\"lat\":52.511204423105085},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715034\"],\"csd_name_en\":[\"Hague\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Hague\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-106.35806141130644,52.8532835655289],[-106.35791278008755,52.83060045891041],[-106.34443990534635,52.83077699069858],[-106.34400985198856,52.85282434391667],[-106.35806141130644,52.8532835655289]]],[[[-106.36892299028545,52.85339151881226],[-106.38124824680963,52.85337769346541],[-106.3822296228412,52.87312175368001],[-106.34521075413409,52.87284827452049],[-106.34551035517948,52.889208789523984],[-106.27267105047378,52.88886746672345],[-106.2716439229952,52.802347713862886],[-106.29566094062294,52.80183991206444],[-106.29637954133428,52.7567465432963],[-106.29625175116912,52.712825117098255],[-106.10367740096669,52.71278809742225],[-106.11895997674449,52.723141389886884],[-106.10980436978323,52.74251540172738],[-106.13614431259178,52.75646436814318],[-106.13803543433815,52.77622977337572],[-106.12912038649206,52.78552687413446],[-106.10458057738565,52.785772551382735],[-106.10621804371239,52.800821078863805],[-106.09116179143756,52.826664857649476],[-106.09032546664848,52.84690651374086],[-106.06734698173692,52.87083775166163],[-106.04158457801961,52.8782007138854],[-106.02927522857368,52.916645190505385],[-106.00336543453835,52.913344382313845],[-106.0042609904587,52.93908085473512],[-106.00414918529263,53.14299789971606],[-106.00530845759629,53.15242351906572],[-106.02029248946121,53.17178272141847],[-106.02198065840413,53.197139245064776],[-106.04060436144555,53.20433020925302],[-106.06511342868836,53.205071843022566],[-106.09724152860628,53.20093790559781],[-106.13014487491469,53.19111954702662],[-106.19198043980168,53.17654203708315],[-106.2280963979481,53.157661828695886],[-106.24212706657292,53.13332926529848],[-106.26814494607794,53.10353550676708],[-106.2897764205914,53.085244789614],[-106.31083021736096,53.07584303907361],[-106.38417137654838,53.032051038904946],[-106.40002314495922,53.01015759309098],[-106.4267481127233,52.964793801382854],[-106.4386286861391,52.93012083447972],[-106.46590461463637,52.913560239903276],[-106.49220124219569,52.88984552746822],[-106.56871864773963,52.86228864420557],[-106.58415763616827,52.83430889119295],[-106.58432660721178,52.827147064474374],[-106.5233394622671,52.82752620687721],[-106.5238030927297,52.8420281361481],[-106.44220170085964,52.84233041428413],[-106.44232404839282,52.83044046254988],[-106.36889852161634,52.83064130792399],[-106.36892299028545,52.85339151881226]],[[-106.05543588531842,53.20326096230513],[-106.03977168469505,53.19727022308098],[-106.07802367303444,53.197152126865916],[-106.06693667606149,53.203639558930384],[-106.05543588531842,53.20326096230513]],[[-106.2354136451994,52.80500818938822],[-106.23419558345809,52.811962206511126],[-106.21607421510586,52.815386772360355],[-106.22542333694005,52.801180937308835],[-106.22264021574907,52.79447327121168],[-106.24703036940942,52.794335017067404],[-106.2354136451994,52.80500818938822]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.20908559287233,\"lat\":52.95928587244931},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715061\"],\"csd_name_en\":[\"Duck Lake No. 463\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Duck Lake No. 463\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.76446480680765,53.547275199974685],[-105.78961121732858,53.54733877030843],[-105.81354060714449,53.53988618985975],[-105.81361500866974,53.532634099544914],[-105.76444089113652,53.5318833858474],[-105.76446480680765,53.547275199974685]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.78652473589518,\"lat\":53.53909182226922},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715076\"],\"csd_name_en\":[\"Christopher Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Christopher Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.8326240512706,53.167655752573374],[-104.90129225100524,53.1670698285892],[-104.92838874890712,53.173791134461034],[-104.92830591308756,53.07868445990251],[-104.81349636717587,53.078738457377675],[-104.81470652639561,53.12837386446373],[-104.8146579552916,53.167382714572085],[-104.8326240512706,53.167655752573374]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.87171573334412,\"lat\":53.12335438672303},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715849\"],\"csd_name_en\":[\"James Smith 100\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"James Smith 100\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.89069221622265,52.66762880548798],[-108.15319577860019,52.66767350286155],[-108.12495344724431,52.637907085079114],[-108.10572836180488,52.626665542160794],[-108.07492124509419,52.60098221960034],[-108.05048324789095,52.58462939195828],[-108.0188468621219,52.57582802653702],[-107.98798458104676,52.57097634192173],[-107.95190688711718,52.57462561662278],[-107.91396894233405,52.572136536233145],[-107.85149950123166,52.563165095250326],[-107.82969416582164,52.550860595137905],[-107.81716721936516,52.536824022533615],[-107.78879507394656,52.52067780795685],[-107.74492271391776,52.50776765863311],[-107.73083911429926,52.4998094969756],[-107.6845450572688,52.48616919570808],[-107.60271708210408,52.446930566492725],[-107.53919671201541,52.40608326775671],[-107.50031317294746,52.389579126901985],[-107.45492544449758,52.37798035291249],[-107.44370293085879,52.37215600797782],[-107.44342398183714,52.5804767894258],[-107.44339590342943,52.667746186236116],[-107.45528978485095,52.66777900878348],[-107.5683849128325,52.667538907856944],[-107.89069221622265,52.66762880548798]],[[-108.00421289425267,52.65623652880836],[-108.00579941868433,52.65442086262333],[-108.01845988117779,52.65816380463639],[-108.01843220574997,52.660959984746356],[-108.00594913205964,52.65895704581455],[-108.00421289425267,52.65623652880836]],[[-107.85127610816458,52.60228851004589],[-107.86191594336233,52.60173655537029],[-107.86226244107608,52.60939389148564],[-107.85094448192524,52.605408991396125],[-107.85127610816458,52.60228851004589]],[[-107.70504507527652,52.56693274653294],[-107.70100479833482,52.55907742404036],[-107.71114539316679,52.558958884360884],[-107.70504507527652,52.56693274653294]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.69477566447296,\"lat\":52.57236642136328},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716005\"],\"csd_name_en\":[\"Mayfield No. 406\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Mayfield No. 406\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.25400455248386,52.7234195378366],[-108.23670925468912,52.71159196242262],[-108.24171623739315,52.75463237498245],[-108.2294884341831,52.76217794106379],[-108.22941233083601,52.77620238910761],[-108.25374016850022,52.776320790947274],[-108.25376927147876,52.78787450621202],[-108.27783695840651,52.79098979083344],[-108.27777078298257,52.802123006595885],[-108.32738952306511,52.80243904289306],[-108.32605126633767,52.76081145092974],[-108.32607978508054,52.7587340719546],[-108.29131237860459,52.754797164029235],[-108.27338577305404,52.73998035992006],[-108.25418214505304,52.740239003447094],[-108.25400455248386,52.7234195378366]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.27926985653437,\"lat\":52.768486157948864},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716029\"],\"csd_name_en\":[\"North Battleford\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"North Battleford\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.17192264858005,53.19230768401914],[-107.31781052914572,53.19214504194225],[-107.62676532075947,53.19223089779501],[-107.76005879334144,53.190774806743555],[-107.76004809988873,53.016380691602656],[-107.74587207089347,53.0164147587417],[-107.74544943175401,52.929816326506334],[-107.45539299826264,52.92946071281497],[-107.16787929270828,52.929373896323206],[-107.16445911487142,52.98769087913898],[-107.31071344598958,52.98807114618203],[-107.31128367350084,53.01716709091633],[-107.17192957234943,53.01729675916485],[-107.17192264858005,53.19230768401914]],[[-107.43941184654932,53.08250126450039],[-107.4280049753416,53.06989959613368],[-107.42729185499941,53.03747276967717],[-107.45224521582385,53.038052465734246],[-107.4524506460981,53.08258502805425],[-107.43941184654932,53.08250126450039]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.46901464032452,\"lat\":53.062918385157026},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716038\"],\"csd_name_en\":[\"Meeting Lake No. 466\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Meeting Lake No. 466\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.95198789862377,52.989589528225736],[-106.95134657179632,52.93643889432143],[-106.89936273108023,52.93407758045537],[-106.85277553991641,52.934176918029735],[-106.85100667883162,53.01699959942541],[-106.85435699403256,53.034938818757894],[-106.9060930767131,53.03553691737643],[-106.92938319620208,53.03561851073647],[-106.95084369618648,53.03562102651836],[-106.95130962205646,53.01749174291723],[-106.95198789862377,52.989589528225736]],[[-106.88302331743695,53.00935659272455],[-106.88242527167374,53.0059193464132],[-106.88940875400708,53.00735119063318],[-106.88302331743695,53.00935659272455]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.90168096318067,\"lat\":52.98502930055656},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716854\"],\"csd_name_en\":[\"Muskeg Lake Cree Nation 102\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Muskeg Lake Cree Nation 102\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.16445911487142,52.98769087913898],[-107.16429380617886,53.01729734634364],[-107.17192957234943,53.01729675916485],[-107.31128367350084,53.01716709091633],[-107.31071344598958,52.98807114618203],[-107.16445911487142,52.98769087913898]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.23747252599112,\"lat\":53.00257031270959},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716870\"],\"csd_name_en\":[\"Lucky Man\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Lucky Man\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.86044117520336,53.69390556004096],[-107.86087464724046,53.715155412632946],[-107.8729069641761,53.71515092498082],[-107.88506771486307,53.70147780337421],[-107.88495590946872,53.68696952702709],[-107.89640675261008,53.68332945894374],[-107.89588036597273,53.650539127380895],[-107.85934640426586,53.643713513913816],[-107.85974749028027,53.66522433242317],[-107.83553982278575,53.65809390382192],[-107.8113687360817,53.658178465642315],[-107.81121332199606,53.67228136370945],[-107.80096342623965,53.686144064508206],[-107.8119090099922,53.6861489132452],[-107.82373933545688,53.67918065876601],[-107.82424315271666,53.68614211474917],[-107.84793893772655,53.69388747371713],[-107.86044117520336,53.69390556004096]],[[-107.86044117520336,53.69390556004096],[-107.85991814034135,53.67196203210406],[-107.87308292527266,53.67220607991959],[-107.87296070456333,53.69448517491372],[-107.86044117520336,53.69390556004096]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.85779146669913,\"lat\":53.67531562374948},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716894\"],\"csd_name_en\":[\"Pelican Lake 191A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Pelican Lake 191A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-108.198723995164,53.16161260389438],[-108.19872428503102,53.19076529040473],[-108.29609704467899,53.19111209962734],[-108.29615462170325,53.17591439374363],[-108.27196041166796,53.17580683539066],[-108.27150568306621,53.14707118736199],[-108.22125065457315,53.146989829270304],[-108.22212820704445,53.161467688335215],[-108.198723995164,53.16161260389438]]],[[[-108.320591436035,53.190938403155414],[-108.6374132176037,53.1907398067448],[-108.6366053308478,53.16155986490498],[-108.63744881599132,53.01618818883241],[-108.61717251823897,53.016213628840305],[-108.61641741767053,52.96308274014811],[-108.57508985863099,52.943538963156314],[-108.53190080987359,52.93161065025437],[-108.51607875899786,52.91792625396805],[-108.48937989397585,52.90748026893784],[-108.44658731867048,52.895838710150464],[-108.44709979968412,52.929382792119185],[-108.18086719356732,52.929322608437715],[-108.18114689786663,53.01634293814359],[-108.19966978300975,53.019856806909836],[-108.19892027549949,53.08873044644895],[-108.22082331816371,53.088993829171365],[-108.22095591925437,53.103289888447414],[-108.23517614029194,53.10333517624519],[-108.26071717865021,53.089207064708404],[-108.27199408915212,53.074742413328565],[-108.32079301782493,53.07761885279177],[-108.33247358244735,53.082287148998645],[-108.33651047603459,53.07226632068241],[-108.34782417097009,53.07099465161505],[-108.33935773613122,53.08180097669316],[-108.33227990851577,53.08353739351594],[-108.3444257788577,53.09604225568306],[-108.34515104059531,53.118038282540425],[-108.36944305813705,53.117913248324655],[-108.36960540172464,53.132454164684646],[-108.34546505501562,53.132234673610476],[-108.3448988201325,53.17555112384067],[-108.32065209482575,53.17566546811847],[-108.320591436035,53.190938403155414]],[[-108.43025211004836,53.13266568275944],[-108.43032271761797,53.13984549672733],[-108.40397588382045,53.14258605217676],[-108.43025211004836,53.13266568275944]],[[-108.4444731694445,53.030684759862616],[-108.46665441613087,53.03066338498478],[-108.46672209880964,53.041463999661545],[-108.4424339148751,53.03616941020507],[-108.4444731694445,53.030684759862616]],[[-108.4182532082009,53.03641098537503],[-108.39325622929059,53.03703030546755],[-108.39381811334829,53.03072550261908],[-108.41819129280162,53.03070880920682],[-108.4182532082009,53.03641098537503]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.42550701699868,\"lat\":53.051571781272706},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717001\"],\"csd_name_en\":[\"Meota No. 468\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Meota No. 468\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.07644568274043,53.28533825665994],[-109.12009108582691,53.30212435213437],[-109.16643596646894,53.32478916802827],[-109.18943208498344,53.32988635725582],[-109.22298039388394,53.327951954182005],[-109.23227248415515,53.33337236570053],[-109.24470977318218,53.363473356536105],[-109.27460086775953,53.39124486442398],[-109.31546199254542,53.398645666674376],[-109.38432129600149,53.39199696659232],[-109.42154957866097,53.37601356711671],[-109.44588300614197,53.37475005688059],[-109.47360248024937,53.38809135311361],[-109.49190289752065,53.408510364386125],[-109.54479823443654,53.41702336130864],[-109.5449200173154,53.366081592524885],[-109.5159714747181,53.36612069209954],[-109.51621097415251,53.277587571202176],[-109.51616588585735,53.03812115447284],[-109.47599331850817,53.025898407799524],[-109.47298858712047,53.016416557777276],[-109.22388120731259,53.01605457788146],[-109.22341809717611,53.10330229632759],[-109.07723738656816,53.103430606068],[-109.07666419232638,53.2405950608073],[-109.07650587903174,53.27784945770857],[-109.07644568274043,53.28533825665994]],[[-109.47981553747769,53.10296651303256],[-109.46710429719941,53.10333709349858],[-109.46710181541069,53.09646060504805],[-109.48072317436075,53.09773893097543],[-109.47981553747769,53.10296651303256]],[[-109.29655809315486,53.096169221508426],[-109.27303667194985,53.096123098651915],[-109.27224971540325,53.0742809049122],[-109.29653771829001,53.074289507928505],[-109.29655809315486,53.096169221508426]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.32456704214533,\"lat\":53.20657962399568},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717017\"],\"csd_name_en\":[\"Eldon No. 471\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Eldon No. 471\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.95458228252484,54.15059435633571],[-107.95337167470937,54.161051616034264],[-107.95182383215663,54.41340632858655],[-107.96894499225607,54.413575725661026],[-107.97004424108086,54.587255078294994],[-108.09222100014414,54.58708097999894],[-108.42376549027693,54.58727871478871],[-108.42339514988831,54.67424961916617],[-108.59882865021964,54.67497999670998],[-108.59964983683088,54.588014152946215],[-108.64825445879156,54.58797053142718],[-108.64886399164345,54.51581725593111],[-108.80189335765353,54.51582779960907],[-108.80215161719876,54.48613411068721],[-108.87902782079635,54.48634084988438],[-108.87026470360695,54.42175429500258],[-108.87153308980808,54.411944392722134],[-108.84624460780401,54.41210389234913],[-108.85230713602407,54.36957001360626],[-108.85360443667476,54.27227774470597],[-108.85959265369831,54.267480711605565],[-108.92851442622569,54.27561551104636],[-108.99721512078919,54.29982121873968],[-109.00975274949806,54.29701845854511],[-109.03973406173762,54.276496168484655],[-109.05318488816292,54.27396377452188],[-109.05314370612096,54.1508335880354],[-108.90266462235142,54.15093140750897],[-108.90304540086278,54.06944210815904],[-108.88158607059606,54.07435834979429],[-108.86558685862518,54.09849905119869],[-108.85292021953964,54.10988834071496],[-108.85305049391839,54.06393101242959],[-108.68294619697333,54.063977703122546],[-108.68303049371522,53.80205104392372],[-108.68306175670935,53.715288548038025],[-108.54724086980411,53.71523354732923],[-108.51218128605572,53.715245673870086],[-108.51230507618536,53.62785952016102],[-108.36488550830292,53.62754284027162],[-108.15723561548351,53.62784486488358],[-107.92314086063641,53.62785411061077],[-107.92262985391558,53.71511800152633],[-107.93995667936251,53.71522528643038],[-107.93986375601636,53.80237405031783],[-107.79125735559687,53.8022642406866],[-107.7914974637323,53.97690481231491],[-107.6293916368798,53.97662789758473],[-107.34496713919211,53.97658139775305],[-107.34362718499422,54.063403716572736],[-107.35365631433795,54.06344093138199],[-107.35301127163063,54.149355319840126],[-107.44875091220996,54.15059021346304],[-107.80273955116802,54.149933589743426],[-107.95458228252484,54.15059435633571]],[[-107.95458228252484,54.15059435633571],[-107.95255395977712,54.093243234883445],[-108.01580055895279,54.09159945865822],[-108.02205141305842,54.09835540632733],[-108.07508204585291,54.09836732577857],[-108.08034089682548,54.10628731638608],[-108.04836259818084,54.11498475299235],[-108.0290871963486,54.111255065859794],[-108.02856164617069,54.14163436973551],[-108.01598859030761,54.14174200898515],[-108.01633642162822,54.121761823332356],[-108.00484714301646,54.12185793508677],[-108.00514111526944,54.150686025374696],[-107.95458228252484,54.15059435633571]],[[-108.16581893428642,54.136643133636035],[-108.28390883112958,54.14010045137326],[-108.28007351127944,54.15103910962699],[-108.2193742539289,54.15134193717934],[-108.21942185554272,54.15829401608567],[-108.26547576865086,54.158857464550906],[-108.26537137907899,54.180034091132804],[-108.2389924077236,54.180043304521654],[-108.23833133965668,54.16477940025397],[-108.20402272546728,54.16569827920277],[-108.16410989307734,54.152342096563565],[-108.16581893428642,54.136643133636035]],[[-108.69534410658993,54.447569710456236],[-108.69800371045149,54.44525620052472],[-108.7010960671987,54.44667895956726],[-108.69534410658993,54.447569710456236]],[[-108.62778852735123,54.35069089870421],[-108.62984779673312,54.355655736515295],[-108.62212942951862,54.355422829384295],[-108.62291314335816,54.3509887270179],[-108.62778852735123,54.35069089870421]],[[-108.24586879093975,54.461782750683284],[-108.24056433715722,54.46353912023846],[-108.23849175304998,54.44620955281222],[-108.2451144707572,54.45532385140747],[-108.24586879093975,54.461782750683284]],[[-108.53425117603791,54.035256977830436],[-108.53440436242596,54.05015458786124],[-108.50989908669135,54.050026566410125],[-108.51025481410495,54.034993147034655],[-108.53425117603791,54.035256977830436]],[[-108.56468436796042,54.159269576223764],[-108.56005264803574,54.18002468836818],[-108.52798319360996,54.17999550127111],[-108.52796242546562,54.16676603687378],[-108.55288036247423,54.16639318174216],[-108.56468436796042,54.159269576223764]],[[-108.40031802814082,54.32554049779863],[-108.35455694431336,54.32541239441716],[-108.3542491542518,54.31070174412891],[-108.40392444856828,54.31080065562042],[-108.40031802814082,54.32554049779863]],[[-108.39578029413329,54.43036875022913],[-108.42548048728878,54.447991888387776],[-108.40616987571704,54.45981926267971],[-108.38555526789432,54.446715146353206],[-108.3300319729873,54.445618548292785],[-108.32443771895093,54.43335162052685],[-108.35846827454698,54.43933157031531],[-108.39578029413329,54.43036875022913]],[[-108.10212801596892,54.06873209777195],[-108.06427083286792,54.063362605303425],[-108.06440818999654,54.049770800044364],[-108.08850970196134,54.04970078714971],[-108.0885142731711,54.0406194116797],[-108.10989516954372,54.03574150954681],[-108.13729362996587,54.03666077895607],[-108.12955459657174,54.04647048456141],[-108.1361905119059,54.06326557775782],[-108.10212801596892,54.06873209777195]],[[-108.37940773531918,54.38748556005236],[-108.37942264182935,54.41303815259268],[-108.42563148563038,54.41286224152136],[-108.38584329527615,54.42907285798244],[-108.35887628436092,54.43132466120595],[-108.32612209206052,54.425845448989385],[-108.32859582356897,54.398538249753514],[-108.35440771378349,54.39838076970606],[-108.35450532461299,54.38748733694235],[-108.37940773531918,54.38748556005236]],[[-108.35803440387804,54.470033766739036],[-108.3843500702831,54.473327462855025],[-108.40560817228445,54.46633236821682],[-108.4154978724268,54.477733867092944],[-108.41537717657927,54.50278507052816],[-108.43348095816835,54.52187205545408],[-108.41495091164008,54.52910697018508],[-108.27345495480839,54.529448389739024],[-108.2738298922572,54.49986470322426],[-108.32462233474504,54.49947532270014],[-108.34596095724712,54.50238714984682],[-108.36319098056204,54.48819706936985],[-108.33455677851889,54.48872786449716],[-108.3414663942053,54.47490355687114],[-108.35803440387804,54.470033766739036]],[[-108.40323717705171,54.13482136181842],[-108.40258444654229,54.12565833745828],[-108.41476740103136,54.10853890259949],[-108.47745920267238,54.10765957823184],[-108.46547876455337,54.11471673469335],[-108.46590371826345,54.13642107168741],[-108.44848172169658,54.143379076454714],[-108.4528974172897,54.180021502580956],[-108.44800162774624,54.190792276799186],[-108.35885522627065,54.19083817551199],[-108.35856567760389,54.13590410260702],[-108.40323717705171,54.13482136181842]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.28380964031064,\"lat\":54.12129070658583},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717054\"],\"csd_name_en\":[\"Meadow Lake No. 588\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Meadow Lake No. 588\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.29609704467899,53.19111209962734],[-108.320591436035,53.190938403155414],[-108.32065209482575,53.17566546811847],[-108.3448988201325,53.17555112384067],[-108.34546505501562,53.132234673610476],[-108.36960540172464,53.132454164684646],[-108.36944305813705,53.117913248324655],[-108.34515104059531,53.118038282540425],[-108.3444257788577,53.09604225568306],[-108.33227990851577,53.08353739351594],[-108.33247358244735,53.082287148998645],[-108.32079301782493,53.07761885279177],[-108.32070054799689,53.13224029669814],[-108.27132709083548,53.13224746190178],[-108.27150568306621,53.14707118736199],[-108.27196041166796,53.17580683539066],[-108.29615462170325,53.17591439374363],[-108.29609704467899,53.19111209962734]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.31706110128127,\"lat\":53.14389821367426},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717813\"],\"csd_name_en\":[\"Saulteaux 159\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Saulteaux 159\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.53425117603791,54.035256977830436],[-108.51025481410495,54.034993147034655],[-108.50989908669135,54.050026566410125],[-108.53440436242596,54.05015458786124],[-108.53425117603791,54.035256977830436]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.52218328954189,\"lat\":54.042633789928246},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717819\"],\"csd_name_en\":[\"Meadow Lake 105A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Meadow Lake 105A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.12805470983601,55.13454328647944],[-108.10756671686767,55.13735515179959],[-108.08107030496242,55.147219849231774],[-108.09324218879861,55.16364675512933],[-108.1280899265433,55.149319777884955],[-108.12805470983601,55.13454328647944]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.10632569878416,\"lat\":55.147987208998295},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718030\"],\"csd_name_en\":[\"Jans Bay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Northern hamlet\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Jans Bay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.28517310777205,53.92510230460922],[-102.1942176219756,53.921756577259266],[-102.19591529428973,53.95070770646401],[-102.20641083914094,53.955227248694655],[-102.24767658730475,53.94295490710442],[-102.27277767275068,53.943044422035605],[-102.28557201712884,53.94298259523847],[-102.28517310777205,53.92510230460922]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.23475028642032,\"lat\":53.93556244963145},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718801\"],\"csd_name_en\":[\"Cumberland House Cree Nation 20\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Cumberland House Cree Nation 20\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.72287713140312,59.26196843685567],[-105.71493542476395,59.30671586405088],[-105.78828146121225,59.311377500576874],[-105.79882449209222,59.26628324121189],[-105.72287713140312,59.26196843685567]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.75632424850707,\"lat\":59.28646507652298},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718823\"],\"csd_name_en\":[\"Chicken 225\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Chicken 225\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.72287713140312,59.26196843685567],[-105.79882449209222,59.26628324121189],[-105.8222682107978,59.25882143361673],[-105.80391796360469,59.24787597474177],[-105.70642277408959,59.09406748274942],[-105.64855956970017,59.12264295890912],[-105.5671983659464,59.1301419483785],[-105.5199435296338,59.1479626665233],[-105.48439392788032,59.18305467343558],[-105.4437170308682,59.21058097568874],[-105.37603475215671,59.236760382943835],[-105.37786103491788,59.24767798681203],[-105.47592754028949,59.24515431448015],[-105.47504431218748,59.25872816040131],[-105.71090812747772,59.260053412514985],[-105.72287713140312,59.26196843685567]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.62146722413294,\"lat\":59.19960947954233},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718828\"],\"csd_name_en\":[\"Chicken 224\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Chicken 224\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.61207049974999,49.298588391458594],[-113.62941679941719,49.29863407770588],[-113.6311895940371,49.29079520080307],[-113.61598671087889,49.290679894987136],[-113.61207049974999,49.298588391458594]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.62212131001895,\"lat\":49.294759572507665},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4803\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4803008\"],\"csd_name_en\":[\"Hill Spring\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Hill Spring\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.94801389848529,49.506532905083986],[-113.9679830964931,49.49423560673678],[-113.96963896456755,49.479970153871285],[-113.9443254109961,49.47659358232185],[-113.91449348079765,49.48027521108573],[-113.91495459818246,49.495571794896975],[-113.92546252218567,49.50980251920334],[-113.94801389848529,49.506532905083986]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.9405051081346,\"lat\":49.49153868805662},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4803\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4803014\"],\"csd_name_en\":[\"Pincher Creek\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Pincher Creek\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-110.00558614143105,51.707083801604234],[-110.2708104144078,51.70709549382305],[-110.66641321277048,51.70718518415171],[-110.79073177412091,51.70758368215078],[-110.9253535267635,51.70628303787787],[-110.96245877669361,51.70714029591281],[-111.27970897889435,51.70680006023755],[-111.28051827164113,51.6199601397883],[-111.2709925974654,51.61996489830351],[-111.26943747845306,51.534624483695836],[-111.270860114521,51.445234707232046],[-111.26852004990903,51.36717868955101],[-111.27073609563283,51.357695587926834],[-111.2708830975416,51.27060160033336],[-111.26111099206217,51.270582429667094],[-111.259577169621,51.212438820688966],[-111.26095328075361,50.921597199745094],[-111.25411895349811,50.90734828461558],[-111.25171791994005,50.88105324677277],[-111.2196575017636,50.868360348784414],[-111.21351667897949,50.855063253735615],[-111.1931182970689,50.8397687533639],[-111.1685519052945,50.83726794675389],[-111.13794698723972,50.85184375501721],[-111.13797441657378,50.86362945979804],[-111.14877308419702,50.87328306249349],[-111.12494410921146,50.88766435216881],[-111.1118505779056,50.90175855822761],[-111.07071257700264,50.901854745801316],[-111.0490494940118,50.9142788660358],[-110.98284370685664,50.927175652074894],[-110.93603220932049,50.9455510569507],[-110.91274369119897,50.94282844294524],[-110.87759008070634,50.9268128659519],[-110.86231638570892,50.915578064589475],[-110.83956320742617,50.91106555798233],[-110.8395660814672,50.89524315719698],[-110.82039607399082,50.89089974831179],[-110.8188251117101,50.86988824401575],[-110.80405020533972,50.86108436042987],[-110.78249780872221,50.870116553435025],[-110.76413198327211,50.85780384572057],[-110.7298280865404,50.84797364959327],[-110.6872390898165,50.84483134854261],[-110.65009979141092,50.85015546729256],[-110.62450417810632,50.857356049475726],[-110.59855309160302,50.85737465067944],[-110.56968239514171,50.84449915895015],[-110.54131790773947,50.84280594589926],[-110.48366950846764,50.86391745808244],[-110.46262191532351,50.86867775671333],[-110.44153548534263,50.887090367538384],[-110.43023809684661,50.90840414662],[-110.42285992929502,50.94968668607564],[-110.42337059560374,51.0305484625039],[-110.42111759288386,51.094756989729724],[-110.42352385601623,51.126149250864074],[-110.42359897851367,51.270553993272564],[-110.14679439798078,51.270365697343664],[-110.00507401389423,51.270550998187105],[-110.0050214886932,51.35788380477195],[-110.00495230547624,51.44520630101061],[-110.00300837139571,51.46137862383861],[-110.00499680728548,51.50338539807677],[-110.0049212952894,51.61986629170461],[-110.00558614143105,51.707083801604234]],[[-111.20042920113812,51.52505879848834],[-111.21218613039498,51.52505365680166],[-111.21298009483135,51.53257060573952],[-111.20042318027876,51.53259310278034],[-111.20042920113812,51.52505879848834]],[[-110.488883207394,51.328786886489105],[-110.49999161094976,51.33102385287201],[-110.50036963724006,51.357937951200164],[-110.46607808046646,51.35629053264945],[-110.46690444111972,51.34802418446321],[-110.48565870609411,51.343364693162165],[-110.488883207394,51.328786886489105]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-110.71140919929248,\"lat\":51.33505686511233},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4804\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"4804012\"],\"csd_name_en\":[\"Special Area No. 3\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Special area\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Special Area No. 3\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.65214193235106,50.35371923845564],[-112.65079467467494,50.34606393638712],[-112.63910001093463,50.346035100488386],[-112.63908351387047,50.35367030113784],[-112.65214193235106,50.35371923845564]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.64528827087781,\"lat\":50.34994228162401},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4805\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4805008\"],\"csd_name_en\":[\"Lomond\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Lomond\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.20257181084884,51.85300107054696],[-112.27280521403836,51.8527574959273],[-112.27225370175663,51.86715016727572],[-112.36739488702182,51.86711928007],[-112.36720377517479,51.881926169022975],[-112.55674703106708,51.88259502181165],[-112.69760790762933,51.881721776776054],[-112.69747241403005,51.91089757238383],[-112.83966870538714,51.91095010859617],[-112.83816988290738,51.92481858052832],[-112.98370187776679,51.9251127545597],[-112.98109949168435,51.911451347892175],[-112.9999999194908,51.90709204654454],[-113.0093245949755,51.8902239466629],[-113.02711251474983,51.87934055943515],[-113.03622640401836,51.86572426451484],[-113.01557441292579,51.83677776048528],[-112.99856060124922,51.826673750428746],[-112.97602600951187,51.79307986878544],[-112.96101558577745,51.78425985808523],[-112.96357760323112,51.766219259148976],[-112.95591020548879,51.74541914528699],[-112.94122088403144,51.72223796024675],[-112.9393194847774,51.7077931561378],[-112.92074379583616,51.691522546362116],[-112.91159822490293,51.67530396461151],[-112.91261089199595,51.658836963932764],[-112.8998226099328,51.64985016107017],[-112.89653661117357,51.63271356333217],[-112.8737161020816,51.60592726493678],[-112.88229918101189,51.59749095327545],[-112.88902380378619,51.54247046467076],[-112.87446351479426,51.53280055257754],[-112.87063199420356,51.51074946323201],[-112.82708949215723,51.49902496252469],[-112.8060766697191,51.478704691263495],[-112.80599929673852,51.48866315086787],[-112.75928631775547,51.48863271120155],[-112.75923493249348,51.47400610088023],[-112.72402393665182,51.47406662306105],[-112.72385342659231,51.4814783104339],[-112.67746899241295,51.48112219885349],[-112.67731353022141,51.452274586183854],[-112.65381196647294,51.44505474252562],[-112.6232074547324,51.4462604951535],[-112.6069156942893,51.430768779930034],[-112.59484704775332,51.43069565560504],[-112.59490557080628,51.40877018496445],[-112.56032757151475,51.40867997505629],[-112.56009096049915,51.39402538694286],[-112.5363741330503,51.393768859995454],[-112.51327702423022,51.401380004534495],[-112.44384787237955,51.401208930438834],[-112.44353693994374,51.41588595879645],[-112.25389506754271,51.41614019061275],[-112.2553073083565,51.44584669934548],[-112.2553264996263,51.59070150552487],[-112.11462027996379,51.590746296476624],[-112.11454018329387,51.619908004971826],[-112.10750479150016,51.61988470915896],[-112.10746393421832,51.76474975091021],[-112.13109039757707,51.76542640288353],[-112.1310867123546,51.795422790683745],[-112.15491591796405,51.79436757609597],[-112.15500216427841,51.80927258165269],[-112.17832001644877,51.808878094485905],[-112.17849209510743,51.838762626848194],[-112.20088438522741,51.838792919115996],[-112.20257181084884,51.85300107054696]],[[-112.75745495598571,51.65325984359719],[-112.7688552828191,51.656242303082614],[-112.768863200536,51.66765620892336],[-112.76056923832645,51.65926526845621],[-112.75745495598571,51.65325984359719]],[[-112.37472528757797,51.63836828576629],[-112.36093889092385,51.63574210682111],[-112.36089489128837,51.62719589265798],[-112.37903467703924,51.627120423475084],[-112.37472528757797,51.63836828576629]],[[-112.74409772434964,51.55409242976729],[-112.74732269366643,51.56878830986084],[-112.72387351143797,51.56826279367186],[-112.72388298786383,51.553819355310445],[-112.74409772434964,51.55409242976729]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.55255218456385,\"lat\":51.6789426914612},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4805\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4805031\"],\"csd_name_en\":[\"Starland County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Starland County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.74409772434964,51.55409242976729],[-112.72388298786383,51.553819355310445],[-112.72387351143797,51.56826279367186],[-112.74732269366643,51.56878830986084],[-112.74409772434964,51.55409242976729]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.73483813197015,\"lat\":51.561419852781796},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4805\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4805036\"],\"csd_name_en\":[\"Munson\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Munson\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.8677969867151,52.160229606593525],[-113.88536650502698,52.150560599745134],[-113.8852191150668,52.12143098298807],[-113.86154579096882,52.12842931073873],[-113.83774862601167,52.12898118426109],[-113.8377105137297,52.16057268488311],[-113.8677969867151,52.160229606593525]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.86140784050497,\"lat\":52.1427470677754},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4808\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4808009\"],\"csd_name_en\":[\"Penhold\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Penhold\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.10948255739555,52.317896245880085],[-114.1215412092188,52.319161302804524],[-114.12168395834355,52.32351094421463],[-114.13370836586213,52.32974379640711],[-114.13206048708928,52.28280680330461],[-114.07335429640159,52.28304509752617],[-114.07352987709415,52.29753478825308],[-114.04890873350156,52.297832443164914],[-114.04955689619572,52.31199048843379],[-114.02566945865944,52.31176200375196],[-114.02572152239173,52.3228036764201],[-114.07033189726457,52.32683770149602],[-114.07347999453462,52.323834866159935],[-114.09014208510862,52.31317416244788],[-114.10948255739555,52.317896245880085]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.08885715494863,\"lat\":52.305141698472745},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4808\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4808012\"],\"csd_name_en\":[\"Sylvan Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Sylvan Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.69541988162959,53.35403424753453],[-113.71150547220165,53.37111315482037],[-113.74699028517513,53.37177625579324],[-113.75632555658294,53.36078769644668],[-113.75689749444763,53.337768110192485],[-113.68402048388754,53.33829342131753],[-113.69541988162959,53.35403424753453]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.72564702381509,\"lat\":53.353038355181035},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811018\"],\"csd_name_en\":[\"Devon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Devon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.12448304330756,53.5270439040118],[-114.14946425053769,53.52717895516327],[-114.15023659478767,53.51240370615521],[-114.12440190537279,53.512081289296354],[-114.12448304330756,53.5270439040118]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.1371218393491,\"lat\":53.51963490768968},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811046\"],\"csd_name_en\":[\"Spring Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Spring Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.34486149274576,53.68254320128011],[-114.33841430051653,53.69195842355959],[-114.34731070595542,53.697549465675344],[-114.35035158292774,53.68239660470649],[-114.34486149274576,53.68254320128011]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.34515433057636,\"lat\":53.689381665761076},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4813\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4813011\"],\"csd_name_en\":[\"Sunset Point\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Sunset Point\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.68722797034991,54.58786782819045],[-113.93211685995563,54.58719989898439],[-114.02186772969976,54.588721834099864],[-114.32220164607524,54.58866666973952],[-114.33632897716997,54.580827133120714],[-114.33270135500868,54.57227558093474],[-114.31333146834174,54.569002587335724],[-114.32030244452174,54.55002904405278],[-114.31798536923613,54.530883667910935],[-114.34234259147107,54.50424572275952],[-114.35615964501287,54.501265904447756],[-114.30428620210758,54.501305136169435],[-114.30357144064867,54.4133725629476],[-114.27630851443902,54.413566184027935],[-114.27686351526522,54.23950810147813],[-114.18729895570945,54.23952831656943],[-114.18734224424516,54.18132142140503],[-114.15177141935843,54.1812900078767],[-114.15171949113864,54.064846288096426],[-114.0515828132842,54.064940204462246],[-114.05145181347557,53.926734699141555],[-113.99223103979102,53.92667367994086],[-113.9920798960887,53.91256024337221],[-113.979843629495,53.9049032323637],[-113.86806571948617,53.90481499245591],[-113.86804321482043,53.920028291526194],[-113.8062823982569,53.92004619672435],[-113.8059680600615,53.963639164803865],[-113.78111760053096,53.963640457704386],[-113.78114081103838,53.992806455528516],[-113.66971475079549,53.992703612362604],[-113.66969110523542,54.00731158794644],[-113.57057307592999,54.007289694827854],[-113.57055513060664,54.02157893174368],[-113.3722482922993,54.021940482905784],[-113.347431986287,54.022998691747894],[-113.3500362029025,54.09389076373075],[-113.37498148574156,54.09384781383272],[-113.3753156043493,54.268426670640274],[-113.30047648761061,54.26860151500499],[-113.30369916550491,54.298913633160424],[-113.30058981643965,54.326746582316034],[-113.60045627923752,54.32663019054829],[-113.61308498596765,54.34101919387001],[-113.61292118462269,54.36309149803798],[-113.67532527707698,54.3631224963585],[-113.67611676271575,54.413401697115376],[-113.6855217568655,54.41340850279413],[-113.68540620499321,54.514403490588485],[-113.68722797034991,54.58786782819045]],[[-113.768234883912,54.44024191091352],[-113.76421450498296,54.43849088452822],[-113.76504168120093,54.4345160985331],[-113.77364506907227,54.43349140378199],[-113.77366703394141,54.43445613124328],[-113.76584888743068,54.43451486264876],[-113.7661758892205,54.43800927705805],[-113.768234883912,54.44024191091352]],[[-113.6309585910833,54.155525679094225],[-113.61523570447797,54.144665888543535],[-113.63977757247015,54.144806314816115],[-113.6309585910833,54.155525679094225]],[[-113.8005558924758,54.15152710658152],[-113.80056266715212,54.145189323521464],[-113.88764266956433,54.14529668909824],[-113.88780174238394,54.16677983703166],[-113.80054302224356,54.16643153235827],[-113.8005558924758,54.15152710658152]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.85868765688603,\"lat\":54.2688292203049},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4813\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4813028\"],\"csd_name_en\":[\"Westlock County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Westlock County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-115.22173875165605,51.023119464056705],[-115.22168541916884,51.048257024393415],[-115.24197111316461,51.04035700459526],[-115.26749119982571,51.038599401152425],[-115.31515678740739,51.05614639907277],[-115.33138614447294,51.07481293601861],[-115.3042130482672,51.07261391411887],[-115.3046835555116,51.09699564613592],[-115.32243471467407,51.097599722962414],[-115.32736864836859,51.11134553429705],[-115.36153912537576,51.12597161489225],[-115.38021230070271,51.11720379378917],[-115.41272536304412,51.13182303293666],[-115.43176820542733,51.13284124957626],[-115.38400330183059,51.101824851442785],[-115.37897090850842,51.082637407290925],[-115.40964927235927,51.082589114430355],[-115.40885805631427,51.06756231182067],[-115.3750338198903,51.06779722635524],[-115.37495180534543,51.05315404185743],[-115.35172331949124,51.052971348488924],[-115.35193973191299,51.03764035590399],[-115.32804035404048,51.037566531565155],[-115.32846421771299,51.023115034409564],[-115.30483161986798,51.02321068250537],[-115.30525326768449,51.00861975304844],[-115.25731892753478,51.00863033462545],[-115.24426217122762,50.99984774904584],[-115.22173875165605,51.023119464056705]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-115.32457265757463,\"lat\":51.063400478875174},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4815\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4815023\"],\"csd_name_en\":[\"Canmore\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Canmore\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.78755943759192,55.94164649998128],[-113.75639566335533,55.941949462208626],[-113.73705021860864,55.93478234329245],[-113.73660285431703,55.95658276950279],[-113.76397359831012,55.956383051277086],[-113.78755067586415,55.95031525459018],[-113.78755943759192,55.94164649998128]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.7587235580886,\"lat\":55.94774240313748},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817819\"],\"csd_name_en\":[\"Wabasca 166A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Wabasca 166A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-116.23345491212557,58.4857933982608],[-116.23426349921908,58.46388957735782],[-116.27157528621576,58.464079964010196],[-116.27096737334519,58.45444417235995],[-116.34332888649841,58.45372129586434],[-116.34378352541849,58.428865080885465],[-116.17690675713206,58.428017456504925],[-116.17762691489042,58.48578909392133],[-116.23345491212557,58.4857933982608]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-116.24429949722982,\"lat\":58.450250385208506},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817842\"],\"csd_name_en\":[\"Boyer 164\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Boyer 164\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.7069262725308,59.0427989732924],[-117.70718131186909,59.052433285798934],[-117.73225854598012,59.05243117058784],[-117.7437498955357,59.08170255098811],[-117.7850489234416,59.0816079407877],[-117.78622575249474,59.052159703682634],[-117.75780668923879,59.052415738842505],[-117.75665416608157,59.03106580293945],[-117.71762985957265,59.030480990095306],[-117.7069262725308,59.0427989732924]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.74971865965642,\"lat\":59.05606641215937},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817849\"],\"csd_name_en\":[\"Upper Hay River 212\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Upper Hay River 212\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.99999990911306,55.90968808041305],[-118.07556399290013,55.91453126910676],[-118.13938201095299,55.912251678423274],[-118.19716501936534,55.92090197930746],[-118.27082092503467,55.91004257344501],[-118.29908730291447,55.920336379242364],[-118.32443631057089,55.91563888381112],[-118.35042001087808,55.90185237025071],[-118.39346659799084,55.904251983171086],[-118.44465911450871,55.899096257708244],[-118.501219783924,55.905437463737464],[-118.52322112092651,55.91594927437038],[-118.5526056229544,55.922843174934286],[-118.59932262054137,55.91856435678896],[-118.62784111078737,55.92276918916882],[-118.62741987917617,55.89811304864895],[-118.47063029005959,55.89790814133509],[-118.47061830613704,55.810531266647324],[-118.46646411237406,55.81059709164692],[-118.46620072330093,55.723011600395566],[-118.62107474401857,55.723025806052824],[-118.62111552089749,55.63596730647293],[-118.6211112757296,55.493172470613665],[-118.62118458386239,55.46139819006532],[-118.36059096289124,55.46142410646876],[-118.36325048293065,55.527321507951],[-118.30997825603242,55.527542355408556],[-118.29744038399453,55.543331065112575],[-118.27285888116687,55.54349311047561],[-118.27263250775947,55.55646986660516],[-118.25850515395446,55.56298994513965],[-118.20734088542191,55.56337546200494],[-118.19825940394152,55.5490208859343],[-118.18761897186738,55.551158210235926],[-118.1460158594826,55.54527653122525],[-118.09423639902421,55.545130167464144],[-118.07054414892372,55.54949997752779],[-118.05565914163849,55.573075522304244],[-118.02144499992336,55.57326398004049],[-117.98497522141832,55.58157456765384],[-117.97092755511613,55.575427551744006],[-117.97435871182574,55.56528018677557],[-117.94934696823104,55.557167731829814],[-117.92548568258924,55.5645014128328],[-117.89575842021945,55.55311093096824],[-117.8568222821286,55.5545441217726],[-117.8268300229391,55.5493326064422],[-117.78237698622574,55.55349876290227],[-117.75632567702993,55.55884651402522],[-117.7334381537274,55.55772768598415],[-117.70186583434646,55.5633932161531],[-117.69536601240095,55.58115012231888],[-117.71885816224324,55.598757528943196],[-117.71245195327661,55.61535731781714],[-117.68974606643175,55.620050763476485],[-117.64856340705207,55.60856942282291],[-117.62349656889006,55.62023026876033],[-117.61631680757553,55.644372331615024],[-117.63002616708974,55.67150837321985],[-117.64693173677028,55.67411073310735],[-117.66935240948412,55.669024065705955],[-117.68474777503954,55.67440621069461],[-117.68775473586125,55.687457028529735],[-117.65688974089262,55.688025364886876],[-117.63700873258831,55.69584519641897],[-117.63631844175673,55.71433928015228],[-117.60900325995641,55.71488712627306],[-117.60818023185459,55.724519044379996],[-117.64382606924502,55.741236338424955],[-117.62567922359085,55.7670894870632],[-117.60250993861226,55.77188536347547],[-117.60221339008758,55.78763475723811],[-117.5861291839392,55.7931180357786],[-117.55973833225839,55.78954697372417],[-117.54719567321433,55.81129392548533],[-117.5183338333645,55.824673267291246],[-117.51774221493763,55.84685903081179],[-117.49512328377995,55.86163136801438],[-117.51567233777689,55.878971681083414],[-117.50334378384322,55.90309167471421],[-117.51291000585262,55.93549128431764],[-117.5222015079774,55.94084141670917],[-117.52962618624879,55.96265176951892],[-117.52844290020657,55.98557237335764],[-117.48852181161857,56.04011725068057],[-117.46565726287834,56.05356763296818],[-117.4558331875695,56.07675249404057],[-117.41534817600764,56.10928162562756],[-117.39026012037263,56.110170474928466],[-117.36696819969178,56.152403846950214],[-117.3418697084489,56.1624917802272],[-117.31126574293627,56.191836130479494],[-117.33472245783517,56.185653721424266],[-117.3416808078686,56.177224259181195],[-117.38560868358562,56.16646477860591],[-117.41436112185974,56.155092062733004],[-117.4369925092966,56.15212675517332],[-117.4669922789541,56.136888663571824],[-117.47971460513374,56.11793056881894],[-117.5001065626964,56.10411082713495],[-117.53016610729617,56.09688176563116],[-117.5669882950528,56.09307986922447],[-117.61870672472479,56.06828577446417],[-117.64142929703644,56.05488736961388],[-117.6439429294526,56.04034357346112],[-117.65646828349429,56.03079326674862],[-117.69433901832382,56.02405126852897],[-117.722534118799,56.0246063686324],[-117.74703109557166,56.017356669318644],[-117.77928969131622,55.99361896292819],[-117.83866061961766,55.968071067325404],[-117.8685276903357,55.942018077459544],[-117.88938892955781,55.934419378737275],[-117.93940668347129,55.92835226240632],[-117.97054572551929,55.91375097684759],[-117.99999990911306,55.90968808041305]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-118.044254683771,\"lat\":55.755451762362675},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4819\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4819049\"],\"csd_name_en\":[\"Birch Hills County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Birch Hills County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-115.20043782246195,49.51923695118715],[-115.22314976327932,49.516822753322344],[-115.24219190713556,49.50779645328525],[-115.25618281381513,49.492494389410794],[-115.24971854532262,49.4849299135983],[-115.25067978396591,49.466879473817066],[-115.23905247327286,49.45268547824986],[-115.21622359537437,49.43876992551086],[-115.20733996000119,49.42703836962795],[-115.31906861481323,49.42513062371631],[-115.37544440110504,49.42718222648278],[-115.37585273252256,49.39033086268282],[-115.50490396788318,49.393453235353896],[-115.62364381962577,49.393542428052456],[-115.630703805988,49.3685217661722],[-115.60473982127145,49.350229792640484],[-115.58208268126764,49.3414277570273],[-115.5819911770154,49.32805755943012],[-115.61933380563228,49.32298743066984],[-115.62813409221592,49.31067151023716],[-115.64959702375016,49.298464598994364],[-115.70096878637358,49.282201414901024],[-115.72197317130825,49.28246054304112],[-115.73399071686883,49.268176102654564],[-115.7492088711956,49.27283118692035],[-115.7663394725664,49.2614488301712],[-115.755501173382,49.23528370035494],[-115.7567396653969,49.21839264777709],[-115.78449327360055,49.194987694619876],[-115.78010115843095,49.174655495839026],[-115.7431891565889,49.184454842635624],[-115.7275005686778,49.20337396308395],[-115.70306596599981,49.20737701905766],[-115.6876634956394,49.191601662961084],[-115.66335821597946,49.20629250114091],[-115.6337443827936,49.21260616490416],[-115.62052481470681,49.211247979922604],[-115.61870612903752,49.18808018379856],[-115.59551371301406,49.15382668136551],[-115.58791309395102,49.133340681944226],[-115.55680410771373,49.11976158015934],[-115.55058139359824,49.1005472762921],[-115.55484422481861,49.079998698945815],[-115.54734083674022,49.06906962636155],[-115.54625757144231,49.05076587366643],[-115.53305228015823,49.043565057973964],[-115.5346857910947,49.02143138169202],[-115.51999444489864,49.0007132332062],[-115.48437468238468,49.00001895498926],[-115.12814977350591,49.00008072536148],[-115.12975214039203,49.096254716608996],[-115.07457498413523,49.09415073177817],[-115.07371796079407,49.043151080248],[-115.0756760756322,49.00270854620905],[-115.04804308482846,49.000055854734114],[-114.72624940652116,49.000128458032904],[-114.75725821408419,49.03569662365479],[-114.70077478734638,49.07000091560634],[-114.7367770171222,49.10346500932278],[-114.75378329596352,49.12425257895313],[-114.72280093350884,49.13689300660695],[-114.72721231934395,49.143559501214575],[-114.70796462092399,49.15735168611625],[-114.70673773814174,49.17080889921929],[-114.72223772138913,49.186488323959885],[-114.75104867486233,49.20371052924472],[-114.75327776917531,49.21789312996267],[-114.74004270136928,49.22284710375386],[-114.74094786001116,49.24981010635634],[-114.71386507011643,49.27093381468849],[-114.71507413383728,49.278479971673434],[-114.69902422824057,49.28846803524677],[-114.73198690964037,49.30354339564756],[-114.72513148755152,49.31388022911893],[-114.76747048687868,49.31706483327539],[-114.81155687551052,49.332645533174436],[-114.82591038554472,49.327393656782434],[-114.84887959918177,49.327765485798956],[-114.87800282766403,49.335388138400994],[-114.88937755036162,49.345738793960145],[-114.88035936522537,49.35770806484249],[-114.88261412836903,49.369829715519295],[-114.87395472847868,49.393312528709345],[-114.85706336269375,49.412233308883856],[-114.89191366194399,49.42895736284418],[-114.90653463395344,49.42525300829931],[-114.91114851867734,49.41153864812637],[-114.9317528990359,49.3972809644059],[-114.93243970148728,49.385526966172485],[-114.97670512363108,49.36728424075702],[-115.0060390097085,49.349710795286335],[-115.05648308372615,49.347661885284126],[-115.05632088886475,49.36439720877037],[-115.0405471939985,49.365262022924426],[-115.04124216624835,49.40475497046746],[-115.05139033241113,49.417842717506495],[-115.08462058380988,49.420472401408446],[-115.08460166782461,49.43490003508801],[-115.10638069386559,49.435135703990404],[-115.1064107476845,49.45273019553434],[-115.12849460678797,49.452422124559156],[-115.12820425945381,49.46705514091715],[-115.1513825464999,49.46719880915075],[-115.1571259685677,49.48886039399389],[-115.20178254551307,49.488633648341086],[-115.20043782246195,49.51923695118715]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-115.19367438086452,\"lat\":49.21139881292471},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5901\"],\"cd_name_en\":[\"East Kootenay\"],\"csd_code\":[\"5901019\"],\"csd_name_en\":[\"East Kootenay B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"East Kootenay\",\"csd_name_fr\":\"East Kootenay B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-116.21050892323741,49.41345508420873],[-116.23571527426083,49.41696113287384],[-116.2373993454383,49.42814322401087],[-116.25988097902152,49.44796675361811],[-116.24527205388023,49.45797540828872],[-116.25779271615525,49.46799207600558],[-116.28485128474536,49.47239782926558],[-116.281758161144,49.48918390904211],[-116.2891020500988,49.50855369931729],[-116.31244729124815,49.52459907200855],[-116.34950642455985,49.52375975732574],[-116.36239332330555,49.513090415362555],[-116.39535804763264,49.51963855901857],[-116.42351199082972,49.53366079989407],[-116.45074294296234,49.52690043394243],[-116.46391818638445,49.49703315091826],[-116.49175346174324,49.48965097205486],[-116.5094867161027,49.47889242312846],[-116.54393810532264,49.46511129608134],[-116.54285395843678,49.45086738193104],[-116.52955039917452,49.41254076923482],[-116.53054033303664,49.39541534506937],[-116.58501298880712,49.360527092587546],[-116.59085955599507,49.338773008115],[-116.57011169720737,49.32431057238859],[-116.55992714861583,49.305227351493464],[-116.54956613118048,49.30018432998741],[-116.4997464877151,49.313465483104196],[-116.49526114838717,49.306755013944745],[-116.50730802984543,49.277637353804465],[-116.49226210649564,49.257917751718445],[-116.4575436139584,49.25320936903878],[-116.44277430239399,49.24555565195719],[-116.4445169296925,49.207855350276226],[-116.44068071085499,49.198689147945956],[-116.45153463961458,49.166336483102654],[-116.49154874991099,49.16284699391711],[-116.49419868734421,49.13116266328923],[-116.5072747485542,49.13102742683858],[-116.50695520197525,49.10714516764019],[-116.4957976447508,49.10617767113622],[-116.49352021246429,49.08830798025575],[-116.51242853641975,49.088242750415816],[-116.48921039691534,49.08253544006125],[-116.49906890308446,49.06981247728867],[-116.52245508294689,49.08206340136556],[-116.52449935416635,49.06949108487828],[-116.51128368328447,49.06894677929126],[-116.51142998093437,49.03697368091737],[-116.51715446650577,49.03615948942998],[-116.53573695114945,49.028017838074355],[-116.51282824533156,49.02070702418977],[-116.50344205409462,49.000005605983205],[-116.27574447307242,49.00002985066676],[-116.02706004226546,49.00003137265745],[-116.02704893324879,49.00091738604106],[-116.02481205242617,49.044953030604916],[-116.03246021518413,49.0587590953783],[-116.02810855194915,49.13832783633822],[-116.02847157461986,49.19754956964821],[-116.10076538905082,49.19845023496886],[-116.08593006067666,49.20854462124951],[-116.07007242429422,49.232015061833835],[-116.0782221520233,49.246308503391205],[-116.07262303399371,49.25864367306403],[-116.09512474875456,49.27946463857149],[-116.11549685593904,49.28828234025468],[-116.13084451170538,49.27844900576569],[-116.15847066786962,49.28335279143658],[-116.17109197086903,49.29354612231376],[-116.18895621938188,49.321934539683035],[-116.18521755485197,49.33701659104891],[-116.16533406787818,49.35228215272923],[-116.16682348655736,49.368401865193846],[-116.18196445636072,49.37964515635264],[-116.18291701014628,49.39082961496195],[-116.20966173566686,49.40460545229296],[-116.21050892323741,49.41345508420873]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-116.30678389379935,\"lat\":49.22988700725179},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5903\"],\"cd_name_en\":[\"Central Kootenay\"],\"csd_code\":[\"5903013\"],\"csd_name_en\":[\"Central Kootenay B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Central Kootenay\",\"csd_name_fr\":\"Central Kootenay B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-120.48605372665837,49.48053966488332],[-120.50331680547633,49.48412742112613],[-120.51835812708248,49.46952774372675],[-120.53590891203389,49.469237231048716],[-120.5419696060825,49.45541602670248],[-120.52820252679338,49.44383325211501],[-120.48127859995378,49.46526130158041],[-120.48605372665837,49.48053966488332]]],[[[-120.53840194276044,49.38139178719475],[-120.56817024704655,49.33640456246346],[-120.54823906605762,49.329552055077066],[-120.54377565995782,49.314510641633134],[-120.54403257822598,49.288451350947774],[-120.52142212821946,49.27983842572576],[-120.49997194189841,49.28629286197273],[-120.50163446510447,49.32826392477543],[-120.4824721115485,49.334757317204094],[-120.49527519338365,49.34519483084467],[-120.48509676168929,49.35748279956514],[-120.46560253971725,49.35976690811437],[-120.46330628367167,49.37378688155114],[-120.49460348817799,49.3774056048764],[-120.49689460730013,49.38700916566687],[-120.52432045968501,49.39057712291189],[-120.53840194276044,49.38139178719475]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-120.51767855702656,\"lat\":49.36195527275686},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5907\"],\"cd_name_en\":[\"Okanagan-Similkameen\"],\"csd_code\":[\"5907024\"],\"csd_name_en\":[\"Princeton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Okanagan-Similkameen\",\"csd_name_fr\":\"Princeton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.97242669899039,49.08918568705084],[-121.98508827672404,49.078292348147706],[-122.0074005402325,49.079904776205595],[-122.00692774697154,49.089160279393646],[-122.02895791000864,49.089317997595764],[-122.02865142661823,49.045662966926436],[-122.07256046378015,49.04551762949499],[-122.09442942237877,49.03844065510315],[-122.09432979559968,49.01659529956489],[-122.11697178437045,49.01636723928189],[-122.11677438352744,49.00223376893847],[-121.99586526306327,49.00000525264931],[-121.85462725355333,49.00007867683254],[-121.87260922421417,49.01425212378967],[-121.86516596494937,49.02476218097557],[-121.88981742475896,49.04702636770193],[-121.89774109474699,49.05966479106132],[-121.94255632960294,49.06141510650219],[-121.94124650616335,49.074348313688176],[-121.97343164361727,49.074967763152564],[-121.97242669899039,49.08918568705084]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.98231266034838,\"lat\":49.03257348340795},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909035\"],\"csd_name_en\":[\"Fraser Valley H\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Fraser Valley H\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.61818028273343,49.3512732693741],[-122.68121851752576,49.35086371593469],[-122.82232139192114,49.35162572558135],[-122.82207409842368,49.321449429666046],[-122.82373784918164,49.27334558392914],[-122.89342431686468,49.27029337852302],[-122.89250590102765,49.23805414990794],[-122.88150692703873,49.23476725824461],[-122.87594385263728,49.22020822568058],[-122.80472516951849,49.21933914902369],[-122.8017938998879,49.243725481846745],[-122.79680490590405,49.25112690587253],[-122.79048253779779,49.278069420300156],[-122.76725271514661,49.278367596523594],[-122.76162619330812,49.285840042817796],[-122.73415216674063,49.285751464100606],[-122.73376060959134,49.27852770540827],[-122.70449089525718,49.27638940584619],[-122.68535980719396,49.2867094858684],[-122.66342569515092,49.291405115107494],[-122.67626032316639,49.305101304420994],[-122.67522880470861,49.3170263108059],[-122.65178449086073,49.33499129949769],[-122.61818028273343,49.3512732693741]],[[-122.80600325568027,49.229298267999596],[-122.80700504636648,49.229795112426245],[-122.8042530817668,49.23156656948581],[-122.8045741248323,49.22982535269731],[-122.80600325568027,49.229298267999596]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.77228753132289,\"lat\":49.296850118402304},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5915\"],\"cd_name_en\":[\"Greater Vancouver\"],\"csd_code\":[\"5915034\"],\"csd_name_en\":[\"Coquitlam\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Greater Vancouver\",\"csd_name_fr\":\"Coquitlam\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.45837630158229,48.55890774121735],[-123.47778643559627,48.54414406839562],[-123.4724800185978,48.52279221358383],[-123.4583009672403,48.51466961190934],[-123.45650320654617,48.49350598381984],[-123.45739328142082,48.472024792256526],[-123.45226178811116,48.465436005776816],[-123.41893454461257,48.46941375494584],[-123.42315598892016,48.452050907624084],[-123.39193939027643,48.44259012014102],[-123.34809267795754,48.45047751942535],[-123.3324752817029,48.448143817304],[-123.32235531477309,48.433541951661674],[-123.32060571230184,48.46713039506509],[-123.28693368105534,48.449628542292096],[-123.26299356707993,48.45502785609596],[-123.28354712961391,48.46977766994279],[-123.30198427848381,48.47745313172309],[-123.29865378731736,48.4894630594891],[-123.30910781721103,48.49898096642889],[-123.3432487394353,48.503602028859646],[-123.36481952267778,48.52026506619149],[-123.35984048394104,48.55052542123466],[-123.42983094178658,48.550485412090794],[-123.45837630158229,48.55890774121735]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.38827488556724,\"lat\":48.496456738884376},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5917\"],\"cd_name_en\":[\"Capital\"],\"csd_code\":[\"5917021\"],\"csd_name_en\":[\"Saanich\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Capital\",\"csd_name_fr\":\"Saanich\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.42660349818937,48.44655279950042],[-123.43158692312355,48.44195401202079],[-123.42660940364554,48.441676158141],[-123.42660349818937,48.44655279950042]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.42826660831949,\"lat\":48.44339432322074},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5917\"],\"cd_name_en\":[\"Capital\"],\"csd_code\":[\"5917811\"],\"csd_name_en\":[\"Esquimalt\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Capital\",\"csd_name_fr\":\"Esquimalt\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.69533034610045,48.89958854368629],[-123.69193156138346,48.903475759586826],[-123.7008199385647,48.903299262696635],[-123.69533034610045,48.89958854368629]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.6960272820162,\"lat\":48.90212118865659},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5919\"],\"cd_name_en\":[\"Cowichan Valley\"],\"csd_code\":[\"5919802\"],\"csd_name_en\":[\"Squaw-Hay-One 11\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cowichan Valley\",\"csd_name_fr\":\"Squaw-Hay-One 11\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.11470643827988,49.51481257547578],[-125.173198920265,49.510151061834584],[-125.16661514908425,49.49171520086578],[-125.19956096110496,49.49442230405933],[-125.23395370755803,49.49103256410621],[-125.42652104146819,49.642665618237686],[-125.42424552652795,49.62632617596432],[-125.39588724441693,49.59401900650788],[-125.3795739891982,49.547902580267326],[-125.41178069577349,49.5455343486256],[-125.43008095612623,49.555710638001955],[-125.44615388918335,49.53492669302137],[-125.46881735577001,49.52821696644871],[-125.49333960675284,49.50031306004861],[-125.4998118660986,49.47816908018078],[-125.5512019061848,49.48891822064532],[-125.56703415860397,49.498249741140064],[-125.5660239266325,49.476188324843626],[-125.58932974999342,49.46301104059943],[-125.5560878883222,49.439324860438795],[-125.5772654197621,49.43323860512323],[-125.59953509138433,49.4183992179174],[-125.58056191636948,49.41046413149975],[-125.57114978761214,49.39821575182901],[-125.5718647578931,49.38336769002368],[-125.54889267697612,49.37444765891582],[-125.54149797647439,49.36065341945953],[-125.55756519720484,49.33348489801653],[-125.49334863501409,49.31189773015772],[-125.46209447838496,49.30364518699333],[-125.43069903423584,49.30740341157012],[-125.38660848541089,49.30064063183578],[-125.38855787724579,49.29518330236999],[-125.354632007659,49.28533075566635],[-125.34786852781208,49.270274087003614],[-125.3284223833516,49.263323278002666],[-125.32159742084434,49.24981226569219],[-125.29558042771676,49.2407028553236],[-125.28667008892393,49.21220726077434],[-125.27608443730642,49.1979489593495],[-125.24696638348323,49.19839979231688],[-125.22727625959126,49.19296498535826],[-125.20330528669668,49.184257642466925],[-125.1901370256296,49.18818838274821],[-125.17246682163307,49.1841141020675],[-125.16467338780724,49.19571391444539],[-125.12122943539076,49.183039005300174],[-125.10949832161405,49.17201447347658],[-125.07945803276633,49.16260298246374],[-125.0727437250047,49.145144337824796],[-125.04140771816193,49.142648323854296],[-125.03707018258717,49.16858140413899],[-124.99997904891278,49.14653999809264],[-124.99540139533033,49.150274245353906],[-124.92084059518783,49.14918790896854],[-124.90182508585187,49.15240899065046],[-124.89030380812585,49.145628197421715],[-124.80081458298474,49.14637802249415],[-124.80082253508986,49.15308902549428],[-124.82057731865761,49.17521019853467],[-124.8227380432887,49.21465086418023],[-124.81645666500961,49.2311876415613],[-124.81696805726769,49.24230889450055],[-124.84111060230398,49.26437677682655],[-124.88730917903953,49.26471166253091],[-124.88724463784094,49.27809811935857],[-124.85538347235473,49.278910621510285],[-124.88213320670494,49.293710905881014],[-124.90521011650604,49.29011945951057],[-124.90562697657786,49.297335725455554],[-124.88912895672688,49.29753172854176],[-124.89396439340786,49.31140630513733],[-124.91342645661075,49.32886301599094],[-124.94688368930541,49.348926109988824],[-124.95573470368035,49.361799496762565],[-124.99138938462697,49.3713560011795],[-124.9857108170296,49.38296899683108],[-125.00542014807773,49.385196933027565],[-125.00013904303744,49.423993819590805],[-124.98213391781512,49.425603648039825],[-124.9708356080144,49.43351325823819],[-124.98242081969282,49.453210019142404],[-125.00985553557436,49.459135330329445],[-125.02250708089814,49.49237605486553],[-125.03674738706692,49.493906894008305],[-125.05272185719956,49.47761765581845],[-125.06905560525256,49.477583457359714],[-125.09279889072329,49.50221301525294],[-125.10717847841006,49.50401154193202],[-125.11470643827988,49.51481257547578]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.20116777192143,\"lat\":49.35142981009744},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5923\"],\"cd_name_en\":[\"Alberni-Clayoquot\"],\"csd_code\":[\"5923035\"],\"csd_name_en\":[\"Alberni-Clayoquot D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Alberni-Clayoquot\",\"csd_name_fr\":\"Alberni-Clayoquot D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.10770736416734,48.837772946908224],[-125.10825856704331,48.835610155703684],[-125.10284586612633,48.83626448791618],[-125.10318176655686,48.83795279358225],[-125.10770736416734,48.837772946908224]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.1055863844319,\"lat\":48.836864920738435},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5923\"],\"cd_name_en\":[\"Alberni-Clayoquot\"],\"csd_code\":[\"5923814\"],\"csd_name_en\":[\"Sachsa 4\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Alberni-Clayoquot\",\"csd_name_fr\":\"Sachsa 4\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.7295082823491,50.84286088094488],[-123.76947251676482,50.84083657527516],[-123.79530284087605,50.833680937769195],[-123.82350806971311,50.839802845238616],[-123.82871162055498,50.82877045458046],[-123.81203871500955,50.81931252213662],[-123.80119101862063,50.79718197493424],[-123.81158725729902,50.795134175201866],[-123.83723359809728,50.77701394248726],[-123.84704458699886,50.76104805316572],[-123.86728277894295,50.747763614373824],[-123.84941097468537,50.74067091584513],[-123.82767845170795,50.72170535587857],[-123.83205492675306,50.713938256212955],[-123.81619292786078,50.71042772522016],[-123.78860684330495,50.7225104182089],[-123.76636414611532,50.72137655168218],[-123.74539923759016,50.71360018400048],[-123.72801124985524,50.69458378966724],[-123.73627985528354,50.676328095744935],[-123.75379807324127,50.65386327034453],[-123.76124948117183,50.633855917079785],[-123.75580910906868,50.615347367267844],[-123.76403291263476,50.60023323171204],[-123.75531038693016,50.59501212654598],[-123.74484313917725,50.571485538941424],[-123.74412405538975,50.53805492522443],[-123.76290882709098,50.52857518801025],[-123.78888162607278,50.530255353001365],[-123.80171431649522,50.54048149878984],[-123.84211029085134,50.528773291234],[-123.88639389749109,50.53059455872152],[-123.91297886504117,50.52218207181814],[-123.92512505181315,50.5314607467204],[-123.95617090745905,50.520072852062924],[-123.98281270332917,50.51396229153516],[-124.00331385135402,50.49679292255785],[-123.99640049791385,50.473882588517796],[-123.97643831223483,50.47870218036005],[-123.9625797025945,50.47363337479747],[-123.93649544510953,50.451430237338094],[-123.93948647173511,50.43495207077627],[-123.95146448917107,50.42190663308368],[-123.94419273981354,50.408501836083275],[-123.9230073535398,50.39890152587674],[-123.92395431066598,50.38204858123017],[-123.90996346225221,50.359413613229925],[-123.89795078558969,50.34284814157402],[-123.87805596806443,50.33066449211792],[-123.88390979229611,50.321480512200466],[-123.87035646384979,50.3026764879432],[-123.84807756009634,50.30066907846659],[-123.83293350523759,50.2829781212396],[-123.81102792052961,50.28138395700054],[-123.76796087745731,50.26201762399469],[-123.75454121779647,50.24427576566618],[-123.69840920743019,50.229516111254725],[-123.70356787696535,50.21950119048749],[-123.72651101576922,50.20326222852272],[-123.72675300836472,50.19551416408642],[-123.69868647574047,50.19060489466757],[-123.68666264742969,50.202529638836715],[-123.63988443925912,50.21253250308837],[-123.63181795458344,50.22968772356153],[-123.61510425518757,50.24629769092582],[-123.58461507281463,50.249991373979285],[-123.58036157102009,50.25873246979962],[-123.54711933107289,50.270210946990275],[-123.50835479373454,50.272362244646445],[-123.50051182993413,50.281946001948015],[-123.46183909691068,50.30171974360119],[-123.46661736588977,50.31750783815498],[-123.451691910155,50.34090015805479],[-123.42784599224615,50.34715803471242],[-123.445376361587,50.36584999257489],[-123.42632866088027,50.379803872061984],[-123.40631511570345,50.41849570252823],[-123.38301125938966,50.401091408423504],[-123.34061132935472,50.375201023235064],[-123.28865015216765,50.34847273585193],[-123.30315740656246,50.33705191809935],[-123.29117465132961,50.32667042047664],[-123.30342654658271,50.31980898748581],[-123.29569683753296,50.293926076539435],[-123.30206791043766,50.27566272757263],[-123.26704080004399,50.24067371837751],[-123.26048190265335,50.2263854987069],[-123.24109996339402,50.231404167842854],[-123.20346808488553,50.22646846316349],[-123.18366437009227,50.22840860391023],[-123.16419602213034,50.20145640768159],[-123.13239939101558,50.212589583703064],[-123.1125555726475,50.198852965924395],[-123.10966843962213,50.18794114210682],[-123.08525875154263,50.185649070688854],[-123.05864820851087,50.19253499182238],[-123.05596634367356,50.173315936322254],[-123.07761022283117,50.16059182906363],[-123.07402569634118,50.13038017044503],[-123.06873633737032,50.124993189709635],[-123.00682439615761,50.16500729843792],[-122.95207033967405,50.16471966457225],[-122.92278021533453,50.17399800475367],[-122.91398804681499,50.16529267630044],[-122.91365569597401,50.13715901672943],[-122.86058272970288,50.13684015068318],[-122.86100443791707,50.0401699752097],[-122.91631570409766,50.04018783490319],[-122.88482692990863,50.032723079129475],[-122.86947286006469,50.01955470374578],[-122.8434326443272,50.01186559275287],[-122.81243986408538,50.01317956224466],[-122.79149737457128,50.02999887236359],[-122.79184177806052,50.0411029817133],[-122.80205902476582,50.05519768390959],[-122.80579703700225,50.08710218243847],[-122.79311757913517,50.10558870688638],[-122.78828729791068,50.13113766468127],[-122.76227993157438,50.13323673327396],[-122.73396217426436,50.151296077343595],[-122.70750912408182,50.14578082405126],[-122.65991648438145,50.1431475622135],[-122.65843649883718,50.13493091548551],[-122.63822520979983,50.123262985967365],[-122.53207277363953,50.12380251760332],[-122.52216834031671,50.12383959572101],[-122.40586657427477,50.12333616808333],[-122.25844006319265,50.12344431007174],[-122.28625880546016,50.15247916141524],[-122.29832096595393,50.173745008334365],[-122.31355319028752,50.17230916283955],[-122.31625116355197,50.18712021616655],[-122.30310842044594,50.19858584675229],[-122.27795120416424,50.203316476826025],[-122.27495590293,50.22442455796733],[-122.30163009329088,50.229787286784706],[-122.35346504232024,50.23099222432868],[-122.34698541851549,50.25069127633929],[-122.37365936201573,50.26160951340704],[-122.35755942034112,50.28740181444541],[-122.36638152145206,50.311555489021984],[-122.40805769853267,50.33290895708602],[-122.43875097179607,50.33534754796712],[-122.47065018222216,50.358584631033374],[-122.47694583546968,50.383480208177005],[-122.49911534321309,50.392923434762594],[-122.5170667777707,50.38773724722238],[-122.52518821605885,50.4148000414274],[-122.50508771495403,50.41749837968752],[-122.49398603013914,50.42569405763216],[-122.505362689106,50.441017950985724],[-122.48543520544892,50.44346352746839],[-122.44601473526104,50.43034000844945],[-122.41425485070017,50.39850594737411],[-122.39654677220125,50.4111205622659],[-122.37127545323486,50.41105249238666],[-122.33593650756536,50.41616797616795],[-122.30444443707522,50.430923600812314],[-122.30406681839175,50.46298474966594],[-122.28730033499967,50.47542887941208],[-122.31153188941295,50.49491058062039],[-122.33776736440062,50.52056794015604],[-122.36086860700786,50.52439225464729],[-122.41885282534211,50.55264160569449],[-122.45041518922453,50.55812463185235],[-122.42707050424255,50.57401219822544],[-122.40893410228766,50.59131200132089],[-122.42949353394853,50.60150836896148],[-122.43149344666149,50.61614206369056],[-122.44816124754442,50.619451444521374],[-122.44978762480794,50.601950249538774],[-122.46677707948534,50.59104845616035],[-122.46701606128025,50.57820314003902],[-122.47837532578869,50.566635943890354],[-122.50414790777144,50.566508145246175],[-122.53719618530786,50.58046079173296],[-122.55039423892099,50.57981716556794],[-122.60986272699495,50.599792438595934],[-122.61146884047784,50.63567289302123],[-122.62923740521094,50.65280706398429],[-122.67811632597096,50.652095658736776],[-122.70392772354049,50.64355494051535],[-122.72900999799592,50.656096967994905],[-122.77752703568088,50.65502847466678],[-122.80140309461804,50.6461691799186],[-122.83283343294961,50.64619964999279],[-122.86107123898405,50.619491430942844],[-122.88871702304638,50.61415640506126],[-122.90688859848456,50.60350491196024],[-122.92793934293557,50.601178201420346],[-122.94175560898383,50.562391588339764],[-122.94089318667423,50.55289534053277],[-122.95676149318567,50.54872768967846],[-123.01880956950396,50.60111020906699],[-123.04375860144793,50.59481960577872],[-123.03166607710025,50.584080267094244],[-123.04459678739904,50.577311328956235],[-123.0814748905392,50.59399735166709],[-123.10426485861612,50.61705398619106],[-123.1325152190257,50.63271023132497],[-123.16370945355038,50.63470040146756],[-123.15731790714233,50.65322223316134],[-123.1806912210828,50.656631857730176],[-123.19822698064442,50.67502261055896],[-123.200053042863,50.68847891883505],[-123.22008594497511,50.710914914248384],[-123.23580113211574,50.72296031273116],[-123.27476738432011,50.73269249868018],[-123.32132706292492,50.731355466706646],[-123.33818886125599,50.74965882791705],[-123.35825639945722,50.761165227057226],[-123.36072951438965,50.791534466516644],[-123.36996388867213,50.79619807600382],[-123.4077063688204,50.78055898255863],[-123.43907265356711,50.79654941823708],[-123.46983827772516,50.79409165478674],[-123.50280303418309,50.779854178394196],[-123.52510665800698,50.797752802607754],[-123.5444854990728,50.80120349993804],[-123.56281667968877,50.797548756932],[-123.60707809398399,50.77680002432373],[-123.63005121341124,50.79259964474471],[-123.67537088545286,50.80108313231387],[-123.70655668704971,50.79237287100083],[-123.71987186847723,50.8012551330794],[-123.7295082823491,50.84286088094488]],[[-122.49097589954651,50.55330996811883],[-122.46780524997546,50.54863026733483],[-122.46601021129258,50.542250227220094],[-122.4912867379096,50.54191116075179],[-122.49097589954651,50.55330996811883]],[[-122.73289572277443,50.31022833910913],[-122.74773522948622,50.31187682357323],[-122.76244144800329,50.29688846991205],[-122.77383602540647,50.315636205248126],[-122.79927103168838,50.31427414230166],[-122.81409009396796,50.29890171363279],[-122.85673380480826,50.28148780703674],[-122.86581158790725,50.26464083993017],[-122.85383438690506,50.25676572314044],[-122.85637139709499,50.242424785520384],[-122.86798301983907,50.24215071543689],[-122.86678731306999,50.26136032711998],[-122.88424982082012,50.26100015676855],[-122.89068809922762,50.276420452913655],[-122.87053963600876,50.275880050284904],[-122.84335322566703,50.290790791806735],[-122.85134210597491,50.30687531936352],[-122.89070858542237,50.29609308276513],[-122.9051792518036,50.30529917003258],[-122.9405560848018,50.306906578992354],[-122.96137511332161,50.31487804235975],[-122.98004730476532,50.316062205630075],[-122.99999752338238,50.33149307155074],[-122.95581197373352,50.34532798158481],[-122.90392693746482,50.33622506337559],[-122.87464169522785,50.33945685655331],[-122.86040830700459,50.327158459716784],[-122.82043454161594,50.32377889568897],[-122.79803492652886,50.326271288299154],[-122.79267779650739,50.31599967812534],[-122.76486972617924,50.32001627643834],[-122.7701641730034,50.331595685034806],[-122.74609230094971,50.3337074040634],[-122.7256916536476,50.31707704240336],[-122.72508057395659,50.31707835730982],[-122.72816558881827,50.30985162258559],[-122.71177325488229,50.320179857582424],[-122.70854920462341,50.35309094978201],[-122.68699800407944,50.3524482306215],[-122.68459389335995,50.34407281848432],[-122.63811028057368,50.34120608748151],[-122.6401670961313,50.32310704233034],[-122.63079851016171,50.31052320687531],[-122.61479199621243,50.31298770358459],[-122.60929822774462,50.30166301548129],[-122.6396507900173,50.30370288508214],[-122.65250748091984,50.29907980293945],[-122.6817609256648,50.3013364596479],[-122.71687213091215,50.3032532725299],[-122.73289572277443,50.31022833910913]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.12722820203042,\"lat\":50.43855789298026},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5931\"],\"cd_name_en\":[\"Squamish-Lillooet\"],\"csd_code\":[\"5931017\"],\"csd_name_en\":[\"Squamish-Lillooet C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Squamish-Lillooet\",\"csd_name_fr\":\"Squamish-Lillooet C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.92283192971857,50.65430851155894],[-121.92380477329147,50.64305875375055],[-121.89874050644052,50.64312998876195],[-121.89587591403571,50.64967366522257],[-121.9214056719644,50.66539291106237],[-121.92283192971857,50.65430851155894]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.912163467269,\"lat\":50.65115433915812},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5931\"],\"cd_name_en\":[\"Squamish-Lillooet\"],\"csd_code\":[\"5931828\"],\"csd_name_en\":[\"Pashilqua 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Squamish-Lillooet\",\"csd_name_fr\":\"Pashilqua 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.3409211085578,50.38585948668081],[-120.4315289240638,50.385742959308374],[-120.43179872830746,50.400156855306754],[-120.56626609509858,50.401484188193436],[-120.56710654172821,50.415902848974085],[-120.631620665946,50.41574809545193],[-120.63427381527075,50.43033022069928],[-120.72849640229073,50.43099117529941],[-120.72879722727869,50.445562078057094],[-120.77304228980294,50.4455488917216],[-120.79748546569228,50.44990212239125],[-120.79717731931304,50.4594119930629],[-120.86369905864476,50.45937445811024],[-120.888214173114,50.45961179309036],[-120.89047061067073,50.41621865558551],[-120.93492854673651,50.41659569332865],[-120.90282158618385,50.39085484159767],[-120.89010480498041,50.36289574976881],[-120.90316571036824,50.34178439058233],[-120.91441050274034,50.313651555801286],[-120.93979807651829,50.31036453442705],[-120.94242170707297,50.29273027039531],[-120.96607580571903,50.272949643321056],[-120.94712354708393,50.26468270015125],[-120.94492204802395,50.252641194655396],[-120.97007485488632,50.22785934229126],[-120.99955238451722,50.227742755194946],[-120.99975673693332,50.17847998682536],[-121.00441955171954,50.17858496229459],[-121.00568454673736,50.138664954224716],[-120.97152508957724,50.13654680169946],[-120.95378072381686,50.14102580275617],[-120.93342711264513,50.13759199595064],[-120.91980698092723,50.146601592539874],[-120.88611640087925,50.144059298400045],[-120.86430275600996,50.13737119114109],[-120.8696759746277,50.16001119329279],[-120.87148386128611,50.192234989678326],[-120.86581965277186,50.21008439790912],[-120.86574022071679,50.235942932751435],[-120.85093083817964,50.243428278999666],[-120.82515808172924,50.24383762692492],[-120.81660989609053,50.249285103952595],[-120.81452985850407,50.148444390236406],[-120.82388150358327,50.12912639464776],[-120.83569971427463,50.1231718472965],[-120.82333729981188,50.11832010590846],[-120.80726509308974,50.1162323286829],[-120.81376511067047,50.13452262034563],[-120.73354487707242,50.134659719827404],[-120.73378726288682,50.12760531783042],[-120.71507603060972,50.13094815005311],[-120.68804060176548,50.15425239693512],[-120.65035837908033,50.15687135846127],[-120.65068721481857,50.13146186516891],[-120.57847716432532,50.13200949627915],[-120.57931922348969,50.02198301732977],[-120.57821715548819,49.974891917911144],[-120.5669191477078,49.97485537285217],[-120.55553391177303,49.946134941237375],[-120.55437216566953,49.916215856588565],[-120.56181930051183,49.91106034454726],[-120.57041678196094,49.81549916320863],[-120.57172851662234,49.77286844495655],[-120.48571062269043,49.77223134414028],[-120.44534350708808,49.81060947511119],[-120.423873413746,49.81776536319729],[-120.40749194554047,49.837235487297214],[-120.388637369925,49.849111377202945],[-120.39014537155596,49.87389074335891],[-120.36376020887371,49.89153671447491],[-120.36203235585785,49.903920110019264],[-120.33005879886788,49.912011607787186],[-120.30783674725627,49.89996301208107],[-120.26842684068745,49.88794410064804],[-120.25828962889952,49.89449042819819],[-120.2287105180035,49.89592228754961],[-120.21412977634667,49.886236246705096],[-120.21338723793606,49.86052756302215],[-120.18106741675182,49.85619134911347],[-120.16113472660605,49.86525663817543],[-120.1301715929205,49.84582654328975],[-120.09457575293364,49.84452651741028],[-120.07952275595912,49.83456136061336],[-120.05479757827862,49.85570622338706],[-120.05322893062971,49.87299536005366],[-120.04101171311419,49.877463207567686],[-120.02764004360341,49.89468475029375],[-120.0295267914982,49.911890116821105],[-119.9971761023897,49.92811050601495],[-119.9774861257252,49.93140631411227],[-119.9509386811893,49.92023997849444],[-119.93576648540969,49.9364649285304],[-119.89308444723197,49.963881767181135],[-119.8620452628566,49.969196338848036],[-119.83228512994357,49.98051641304784],[-119.82768690984177,49.99742921303319],[-119.80053805844649,50.017241167230594],[-119.81010751429262,50.03092723340103],[-119.79659962209838,50.03863022595136],[-119.76910767278152,50.04315125525346],[-119.75764190363684,50.05883157669801],[-119.76462945719152,50.08510218140233],[-119.74717052208429,50.089695626031556],[-119.74113075242803,50.116046887640756],[-119.76506197030427,50.12331677604455],[-119.77720625831446,50.11997287916019],[-119.77965493844385,50.14773306860208],[-119.79859896030037,50.14976990502315],[-119.81312346926045,50.1768523618613],[-119.8278869984594,50.179824315493484],[-119.80804646289677,50.195556869334084],[-119.8052409115239,50.203665816324204],[-119.7804816783606,50.20577591008249],[-119.76816593698436,50.21653859221935],[-119.76180443064712,50.232820985095046],[-119.75185425304845,50.25954996698874],[-119.73849554215683,50.26185351015237],[-119.69742125348549,50.25796287827061],[-119.6816867601543,50.26302289130717],[-119.69806757623944,50.285054943398656],[-119.68195333207318,50.30508829675186],[-119.69552606011106,50.30695851625732],[-119.71706745797724,50.31880585028193],[-119.66614416245368,50.33318892228465],[-119.68451336264465,50.348631556480534],[-119.66422074085902,50.35340550022037],[-119.63348270884104,50.376275622033425],[-119.65279359424277,50.3928523134219],[-119.64448665191006,50.40210758142982],[-119.65139328119909,50.40205146558443],[-119.674162873873,50.40201812760574],[-119.6744195063079,50.387364236253966],[-119.71578034260834,50.387360606207174],[-119.72042142607233,50.372659650826634],[-119.78872819081158,50.372106787408974],[-119.78935104597167,50.35786716670029],[-119.94683382388462,50.358861942273656],[-120.09182937672911,50.357835248203195],[-120.09062125665811,50.37110658669826],[-120.22495519483472,50.37140411076484],[-120.22575087283334,50.385838374969374],[-120.3409211085578,50.38585948668081]],[[-120.6749527220722,50.192253794093375],[-120.661604839196,50.19379033831646],[-120.66202537604389,50.17461120485778],[-120.6738868283762,50.17204789504148],[-120.6749527220722,50.192253794093375]],[[-120.46305442078675,50.2373536562102],[-120.44699090787816,50.23689010962949],[-120.44726713868533,50.214586472559105],[-120.46323219724754,50.20686379997885],[-120.45273113916883,50.1924835139246],[-120.42607466381764,50.19316599395206],[-120.42468543242802,50.185324048935136],[-120.47649195750945,50.186235958139875],[-120.47371931987864,50.19296105239486],[-120.48335464693639,50.21278036751643],[-120.46305442078675,50.2373536562102]],[[-120.30023174025679,50.22824046148701],[-120.30028391503609,50.243320115010015],[-120.2445786938944,50.242738412194434],[-120.24486915667862,50.21330844177267],[-120.2410908054049,50.157410317777305],[-120.2678077259855,50.145136160235296],[-120.2267410357325,50.14408076202892],[-120.2242016515717,50.09860526423438],[-120.31022948768509,50.09922603978385],[-120.31040652296545,50.12779579737794],[-120.32185486800176,50.13637986041848],[-120.33647371247686,50.13642157294875],[-120.34123074111982,50.18966723351922],[-120.33183761561553,50.18945627348055],[-120.33367325247015,50.21104830793994],[-120.30562305921555,50.21181782801872],[-120.30023174025679,50.22824046148701]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-120.31251171527217,\"lat\":50.163543734233},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933008\"],\"csd_name_en\":[\"Thompson-Nicola M (Beautiful Nicola Valley - North)\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Thompson-Nicola M (Beautiful Nicola Valley - North)\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.68991719821457,50.83064591863978],[-119.70926818319866,50.82114535109899],[-119.69448343501449,50.81589883750295],[-119.67317360538101,50.81919679101711],[-119.6718313513601,50.829304866476924],[-119.68991719821457,50.83064591863978]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.68794892432204,\"lat\":50.8232670487448},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933054\"],\"csd_name_en\":[\"Chase\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Chase\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.58144909255572,50.19304003318349],[-121.58105831679025,50.1863512578262],[-121.5721314753691,50.182312579929935],[-121.57542722491834,50.19620694198263],[-121.58144909255572,50.19304003318349]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.57705266333318,\"lat\":50.1892654079467},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933825\"],\"csd_name_en\":[\"Inklyuhkinatko 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Inklyuhkinatko 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.01175253751313,50.84825212639767],[-119.00729290624543,50.82325235394646],[-118.98659199683546,50.82211549041614],[-118.98163534953082,50.80714568503285],[-118.96868291178694,50.80197091296588],[-118.96180035581911,50.831412529936735],[-118.94176832105408,50.84193061484615],[-118.943654152286,50.85327271733547],[-118.99712724617314,50.85285904203241],[-119.01175253751313,50.84825212639767]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-118.97869155013429,\"lat\":50.83517862439813},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5939\"],\"cd_name_en\":[\"Columbia-Shuswap\"],\"csd_code\":[\"5939045\"],\"csd_name_en\":[\"Sicamous\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Columbia-Shuswap\",\"csd_name_fr\":\"Sicamous\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.28043263075182,51.675895522111496],[-121.30378319277166,51.67603391758307],[-121.30378055718421,51.665646293864995],[-121.39632850696192,51.66498763158896],[-121.39788421084829,51.64373557908796],[-121.3814649431317,51.63622767799949],[-121.35907094225982,51.63909175841056],[-121.36016711068868,51.611413576079016],[-121.29102411334928,51.61153533180796],[-121.29008678977576,51.59944418859024],[-121.26681338454624,51.59969036377187],[-121.26678867004958,51.616489593266756],[-121.2839531254697,51.617049497574776],[-121.30026535980345,51.62856647609873],[-121.23514741228747,51.62878295799735],[-121.23475823720597,51.64806748475239],[-121.24702084227725,51.663432109152495],[-121.27981844276299,51.66192765305229],[-121.28043263075182,51.675895522111496]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.31313303806981,\"lat\":51.64146590717039},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941005\"],\"csd_name_en\":[\"One Hundred Mile House\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"One Hundred Mile House\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.07924740417685,51.59872366678021],[-122.1054125356918,51.60108039516673],[-122.10566689687364,51.59016313429177],[-122.0797277362976,51.589704887056435],[-122.07924740417685,51.59872366678021]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.09292330584287,\"lat\":51.59494958899955},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941807\"],\"csd_name_en\":[\"Dog Creek 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Dog Creek 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.10692982280437,52.281151891721244],[-125.10787504933103,52.29746996347798],[-125.13144156017165,52.29739241932738],[-125.13081507083557,52.2829645564962],[-125.10692982280437,52.281151891721244]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.1190227034746,\"lat\":52.28972384131765},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941851\"],\"csd_name_en\":[\"Towdystan Lake 3\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Towdystan Lake 3\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-130.34864714052122,54.20098464886572],[-130.3638018200687,54.19080609285547],[-130.39158807944295,54.189660099999074],[-130.44684117655115,54.19815339976081],[-130.47572983692746,54.20977039424326],[-130.50030279723904,54.22413518205783],[-130.53210790751862,54.2269055328425],[-130.5652655375454,54.24144150120323],[-130.58325421190844,54.25842920640057],[-130.62725291516864,54.284619703204875],[-130.64015826252046,54.287231501426184],[-130.7486574544651,54.28910220972982],[-130.96962752425404,54.290707840790695],[-130.9713085944878,54.28024521014479],[-131.00091949841882,54.245638033365786],[-130.9944749093495,54.23210553097594],[-130.9878027826252,54.16492075859297],[-130.91529833201383,53.995031664595075],[-130.86992768859335,53.934903537333604],[-130.84560864046904,53.906924350858695],[-130.79868534491123,53.863789147353685],[-130.72754748125215,53.816600438078105],[-130.6965434604629,53.80064420121801],[-130.71362034970073,53.78057718512071],[-130.72231489187303,53.75672692175618],[-130.72460682768562,53.68446493134028],[-130.7228511231237,53.46945303107114],[-130.71401131342958,53.40877312822282],[-130.6997922316564,53.3664395609588],[-130.680714513355,53.34246330218519],[-130.64953340524053,53.312942266815924],[-130.60572787684967,53.27627944204551],[-130.5150165479882,53.21411448777634],[-130.37629898437078,53.136103852934134],[-130.28959113285697,53.095534130779775],[-130.1927051045463,53.05528691321168],[-130.10246231830635,53.02859585729672],[-130.022651714673,53.04886472691468],[-129.9494107016608,53.072996610239706],[-129.86555934132025,53.105374077424614],[-129.81717813348925,53.12614750798199],[-129.78103973357662,53.13624142034692],[-129.6732346511087,53.154252888201725],[-129.62738109703744,53.17188560096805],[-129.56082364056684,53.193223454002656],[-129.46044747524667,53.20411247461079],[-129.43837487181557,53.21101809541311],[-129.43168963106078,53.222319866025444],[-129.43762140698013,53.241460307417576],[-129.43224401391694,53.26233634315265],[-129.41664706460116,53.275560228928704],[-129.38868968782867,53.28811076746952],[-129.32302536630428,53.29556771434],[-129.30342533600287,53.302254161058606],[-129.30716277603966,53.33682234267039],[-129.2805293890132,53.348125293732984],[-129.21960674141226,53.334079386769936],[-129.20218749696122,53.327301285087636],[-129.1878623868645,53.34230485613029],[-129.1827148549867,53.36008675405281],[-129.20183794072943,53.41208837235941],[-129.197931951526,53.478212901628375],[-129.2078021004233,53.57284274456203],[-129.21388966529682,53.60687802875291],[-129.2051833786967,53.63268598314299],[-129.23264933794806,53.631026856656234],[-129.29474543556472,53.698053116727415],[-129.29428548964322,53.70924003609558],[-129.3625038498042,53.784530293282074],[-129.37348442749396,53.79654099031067],[-129.37485003521854,53.940722091083366],[-129.37275998705772,54.178067031851434],[-129.37210092997404,54.29197543382849],[-129.4081203735189,54.26494439432041],[-129.44914381764895,54.24706217685172],[-129.48318675884536,54.244788439810186],[-129.49286343992293,54.23514351109732],[-129.5155914385903,54.24164094809306],[-129.53062196116642,54.22644161936747],[-129.56439650506348,54.21663218564372],[-129.56756744366498,54.207458570753275],[-129.59178530005448,54.19320759566829],[-129.62641463029502,54.17861012435225],[-129.73892787982714,54.21547169774362],[-129.85556926471338,54.2237684934046],[-129.89098142183653,54.21367434342568],[-129.94656255067844,54.1904513428468],[-129.98628891066244,54.16360481725458],[-130.02593297088595,54.155818313273144],[-130.0433354696923,54.15836207522481],[-130.064491373157,54.15337348817294],[-130.09331375607633,54.16475016472554],[-130.13232427544523,54.146732623174756],[-130.18015076268662,54.175558420316186],[-130.22868126460747,54.19343755414328],[-130.27539641287288,54.19944062959711],[-130.28366958389105,54.1899129078227],[-130.3064297161711,54.20148861204312],[-130.34864714052122,54.20098464886572]],[[-129.25270966599805,53.425954766206665],[-129.25303828699214,53.41824957351803],[-129.2684740067669,53.41797763201857],[-129.26868708583706,53.427759025913836],[-129.25542801021547,53.427541386184856],[-129.24361946604648,53.43072488821551],[-129.24288349465334,53.4237643564479],[-129.25270966599805,53.425954766206665]],[[-130.46019724078693,53.79182997557855],[-130.43333065205437,53.79687308785778],[-130.40630083821523,53.78906697976618],[-130.40309092909382,53.76973337320373],[-130.41193527063248,53.759749579493956],[-130.43372056450568,53.749513869279916],[-130.44680785997483,53.749976661891985],[-130.46231414406904,53.76411766895514],[-130.47550296314245,53.76593357929912],[-130.45056676891264,53.78419757603779],[-130.46019724078693,53.79182997557855]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-130.05875853809707,\"lat\":53.69808643390775},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5947\"],\"cd_name_en\":[\"Skeena-Queen Charlotte\"],\"csd_code\":[\"5947021\"],\"csd_name_en\":[\"North Coast C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Skeena-Queen Charlotte\",\"csd_name_fr\":\"North Coast C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-124.36670901606122,54.01312127268535],[-124.32662591624074,54.01268086263771],[-124.31854607908927,54.02710529692968],[-124.35300230244381,54.02709249810302],[-124.36745935733417,54.01987085461664],[-124.36670901606122,54.01312127268535]]],[[[-123.99705627776932,54.04671456101131],[-123.99714907974968,54.05629990268431],[-124.0327230628019,54.05633719127215],[-124.03232359891184,54.03405501433023],[-124.09456065383846,54.03549139095247],[-124.09355193959145,54.00546190679804],[-124.0463395866176,54.0060499216903],[-124.0457801878206,53.99130526368018],[-123.99838509995654,53.992704142512025],[-123.99865402609475,53.98515037464697],[-123.93345646493124,53.98342800128547],[-123.93512823481953,54.03285875291429],[-123.99694711547055,54.0333259028792],[-123.99705627776932,54.04671456101131]],[[-124.06782954176659,54.02113756384266],[-124.08031486301215,54.016679374198084],[-124.08059454255914,54.027090295223985],[-124.06782954176659,54.02113756384266]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.03115080907214,\"lat\":54.01625015247113},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951007\"],\"csd_name_en\":[\"Vanderhoof\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Vanderhoof\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-127.17387169221331,54.834176465196734],[-127.19038172916035,54.83610121787444],[-127.19044290735908,54.81117116240044],[-127.1759032110339,54.76747786196218],[-127.15699236642075,54.76307391962089],[-127.1573257755002,54.752981250457175],[-127.13271468069813,54.75506978847742],[-127.13445094360715,54.78212278480407],[-127.16005816477683,54.78811707540446],[-127.1707006367093,54.808210616417256],[-127.17387169221331,54.834176465196734]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-127.16499903041887,\"lat\":54.78863630481239},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951043\"],\"csd_name_en\":[\"Smithers\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Smithers\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.07937850109144,54.60806486698505],[-125.07939691391921,54.59864443365068],[-125.053167530959,54.596581398980845],[-125.05982809311804,54.6087079025207],[-125.07937850109144,54.60806486698505]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.06742469641216,\"lat\":54.60275433646025},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951801\"],\"csd_name_en\":[\"Ye Koo Che 3\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Ye Koo Che 3\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-126.0340838724929,55.31637352410345],[-126.02111671806445,55.31723453188389],[-126.02201547993252,55.32458618608785],[-126.03583674032286,55.323579006174754],[-126.0340838724929,55.31637352410345]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-126.02825726153836,\"lat\":55.32048360971189},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951811\"],\"csd_name_en\":[\"Tacla Lake (Ferry Landing) 9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Tacla Lake (Ferry Landing) 9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.25054518077094,55.781293862433756],[-120.27318509488052,55.781275293170715],[-120.27635956137269,55.7667166047014],[-120.26486105482407,55.75961729445011],[-120.2646975222139,55.74504252438569],[-120.25049710403958,55.74498225300086],[-120.25045434705801,55.73032241107612],[-120.17265718004126,55.73032015258909],[-120.17201146999744,55.75225503592904],[-120.20077592950287,55.75218969318232],[-120.21182697564899,55.77388368284951],[-120.22456971584492,55.7812723565901],[-120.25054518077094,55.781293862433756]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-120.22702125453142,\"lat\":55.75402169640952},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5955\"],\"cd_name_en\":[\"Peace River\"],\"csd_code\":[\"5955014\"],\"csd_name_en\":[\"Dawson Creek\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Peace River\",\"csd_name_fr\":\"Dawson Creek\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.61558529558354,57.423877484676716],[-125.61886211194863,57.43576780666784],[-125.63883027877661,57.43496140137684],[-125.65475739845938,57.42569459365332],[-125.62003189251162,57.418714613266964],[-125.61558529558354,57.423877484676716]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.63141628070112,\"lat\":57.42778259378836},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5955\"],\"cd_name_en\":[\"Peace River\"],\"csd_code\":[\"5955807\"],\"csd_name_en\":[\"Fort Ware 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Peace River\",\"csd_name_fr\":\"Fort Ware 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-134.68329573989755,60.15328482735866],[-134.67399257608207,60.15824650691309],[-134.69148607772388,60.164386849125684],[-134.6914884009042,60.158746158561364],[-134.68329573989755,60.15328482735866]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-134.68434255172548,\"lat\":60.158679883156246},\"year\":\"2021\",\"prov_code\":[\"60\"],\"prov_name_en\":[\"Yukon\"],\"cd_code\":[\"6001\"],\"cd_name_en\":[\"Yukon\"],\"csd_code\":[\"6001008\"],\"csd_name_en\":[\"Carcross 4\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Self-government \\/ Autonomie gouvernementale\",\"prov_name_fr\":\"Yukon\",\"cd_name_fr\":\"Yukon\",\"csd_name_fr\":\"Carcross 4\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-137.85593686831768,60.997813481571],[-137.99227781807517,60.98129336125658],[-137.94148346683374,60.95432939229811],[-137.97868446413744,60.93584629408903],[-137.96078213134592,60.93177798187227],[-137.86377066463416,60.92378400033728],[-137.8619108509953,60.948821520682124],[-137.89290489623235,60.94576622304707],[-137.8626892726225,60.97170460450395],[-137.85593686831768,60.997813481571]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-137.91347908343224,\"lat\":60.96076163571849},\"year\":\"2021\",\"prov_code\":[\"60\"],\"prov_name_en\":[\"Yukon\"],\"cd_code\":[\"6001\"],\"cd_name_en\":[\"Yukon\"],\"csd_code\":[\"6001019\"],\"csd_name_en\":[\"Kloo Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian settlement \\/ \\u00c9tablissement indien\",\"prov_name_fr\":\"Yukon\",\"cd_name_fr\":\"Yukon\",\"csd_name_fr\":\"Kloo Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-134.24012750345585,60.320924602982075],[-134.24186243024593,60.32840991851234],[-134.34124326517502,60.32617155579055],[-134.32911522845384,60.263792416799944],[-134.33403400717697,60.22500403150633],[-134.3028617149778,60.22624794370852],[-134.2921996524224,60.241130912339955],[-134.26944917996144,60.23984410453483],[-134.22550501620177,60.25769497997351],[-134.24012750345585,60.320924602982075]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-134.28634660033376,\"lat\":60.282069738203724},\"year\":\"2021\",\"prov_code\":[\"60\"],\"prov_name_en\":[\"Yukon\"],\"cd_code\":[\"6001\"],\"cd_name_en\":[\"Yukon\"],\"csd_code\":[\"6001036\"],\"csd_name_en\":[\"Tagish\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Settlement \\/ \\u00c9tablissement\",\"prov_name_fr\":\"Yukon\",\"cd_name_fr\":\"Yukon\",\"csd_name_fr\":\"Tagish\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-138.79468942674828,61.232298811000064],[-138.76974091321168,61.220945159929016],[-138.72967435857714,61.23931437720109],[-138.8270161575729,61.28279827187876],[-138.86508969009793,61.26426658836009],[-138.79468942674828,61.232298811000064]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-138.79767302178084,\"lat\":61.25177958888215},\"year\":\"2021\",\"prov_code\":[\"60\"],\"prov_name_en\":[\"Yukon\"],\"cd_code\":[\"6001\"],\"cd_name_en\":[\"Yukon\"],\"csd_code\":[\"6001049\"],\"csd_name_en\":[\"Destruction Bay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Settlement \\/ \\u00c9tablissement\",\"prov_name_fr\":\"Yukon\",\"cd_name_fr\":\"Yukon\",\"csd_name_fr\":\"Destruction Bay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-135.98871063108913,60.82553365925685],[-136.02363032239833,60.81464531169161],[-136.02451132006982,60.802219779592555],[-136.00403634676505,60.7971877832487],[-135.99192067954016,60.779729082669036],[-135.9416734756702,60.77433833810047],[-135.91939394249547,60.81525308377841],[-135.86887438434476,60.817120378852294],[-135.83902926914183,60.82378799514571],[-135.83067723839343,60.83135978704295],[-135.7820124653877,60.84099288435333],[-135.76351567027132,60.83901018512061],[-135.75653498853927,60.8268364186599],[-135.71912581807612,60.82800112935355],[-135.71672669551444,60.83399334972773],[-135.45001529313643,60.83213271250824],[-135.44017971662345,60.81558087177313],[-135.46492090281257,60.79986339269319],[-135.4378805780056,60.78576494646053],[-135.38886067699877,60.786285838103076],[-135.3703814129918,60.79258607380031],[-135.2728763275945,60.791732269281496],[-135.27865032669402,60.838681079110664],[-135.29412112715755,60.84372523199381],[-135.3167967567004,60.839547105902426],[-135.37147516085838,60.85146406278184],[-135.4050839951396,60.87358266208745],[-135.44306957918403,60.8751960045708],[-135.47774013076275,60.86109959479807],[-135.5138545314795,60.85768317110149],[-135.55372892917865,60.86362369618346],[-135.5662058766319,60.85842132412579],[-135.61078745501143,60.8714349713317],[-135.64915083999395,60.89228927165448],[-135.68273235199413,60.89549383619714],[-135.7267987978995,60.88494565724276],[-135.74583405413767,60.876437653186414],[-135.7688069747786,60.88546812026932],[-135.8239235190621,60.8743160625475],[-135.8298513820949,60.85947406359797],[-135.8625113129381,60.85706814175018],[-135.94124551499215,60.83910578844536],[-135.98871063108913,60.82553365925685]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-135.6253972051007,\"lat\":60.83734492368142},\"year\":\"2021\",\"prov_code\":[\"60\"],\"prov_name_en\":[\"Yukon\"],\"cd_code\":[\"6001\"],\"cd_name_en\":[\"Yukon\"],\"csd_code\":[\"6001055\"],\"csd_name_en\":[\"Ibex Valley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Hamlet\",\"prov_name_fr\":\"Yukon\",\"cd_name_fr\":\"Yukon\",\"csd_name_fr\":\"Ibex Valley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.85505075187628,66.95338643976913],[-125.8609005833363,67.05061386886747],[-126.15579655217864,67.05249497953739],[-126.1701332979233,66.95847261830947],[-125.85464932612992,66.94668621239146],[-125.85505075187628,66.95338643976913]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-126.00796810204623,\"lat\":67.00144576274802},\"year\":\"2021\",\"prov_code\":[\"61\"],\"prov_name_en\":[\"Northwest Territories\"],\"cd_code\":[\"6102\"],\"cd_name_en\":[\"Region 2\"],\"csd_code\":[\"6102012\"],\"csd_name_en\":[\"Colville Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Settlement\",\"prov_name_fr\":\"Territoires du Nord-Ouest\",\"cd_name_fr\":\"Region 2\",\"csd_name_fr\":\"Colville Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-84.36271279905043,72.9782456528429],[-84.35319419109105,73.05549435378741],[-84.40549057787007,73.05773819991967],[-84.46002826760285,73.06582229871084],[-84.53255185776204,73.06558220974952],[-84.60575806165083,73.0731881028511],[-84.68268569967599,73.07679501164114],[-84.71600166197143,73.06818676020873],[-84.73040185791224,72.94535153459887],[-84.36803564647886,72.93730080411483],[-84.36271279905043,72.9782456528429]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-84.54458653810151,\"lat\":73.00438596958648},\"year\":\"2021\",\"prov_code\":[\"62\"],\"prov_name_en\":[\"Nunavut\"],\"cd_code\":[\"6204\"],\"cd_name_en\":[\"Qikiqtaaluk\"],\"csd_code\":[\"6204019\"],\"csd_name_en\":[\"Nanisivik\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Settlement\",\"prov_name_fr\":\"Nunavut\",\"cd_name_fr\":\"Qikiqtaaluk\",\"csd_name_fr\":\"Nanisivik\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.15270055089786,45.393679615483904],[-67.19020051600681,45.50483694186476],[-67.29567961764697,45.50582481022053],[-67.41792663894248,45.50670426782895],[-67.44191770547317,45.50525070267715],[-67.45386109223492,45.500222201573024],[-67.50008331496952,45.490888905320524],[-67.50094440114883,45.478944397768664],[-67.48211108417063,45.45938890762049],[-67.48397220120368,45.449388887025286],[-67.47269441404119,45.42322219436874],[-67.45913890292547,45.4157778080392],[-67.42680561599109,45.389750002846256],[-67.42113888151628,45.37355560540216],[-67.42886108079144,45.34433330573805],[-67.44361109843567,45.330861084673366],[-67.46030559756727,45.300027786747705],[-67.48966670301088,45.282138889772966],[-67.47641669322532,45.275388899695955],[-67.47311110182721,45.25863890323972],[-67.46419440443411,45.245111097646856],[-67.4404443976466,45.227722189533424],[-67.42797220044908,45.2017778106713],[-67.40634038905885,45.17884526749201],[-67.33431822068825,45.223425773953494],[-67.34431509140427,45.23159670394675],[-67.36046190605681,45.26765447810434],[-67.26583290471989,45.28329189651408],[-67.27198757858395,45.29775040894735],[-67.2644600758835,45.305921154932996],[-67.27281311228887,45.31784855717175],[-67.26092339671187,45.32704319816891],[-67.26408334189098,45.344528159142335],[-67.24413782194297,45.34778785300674],[-67.24850345696031,45.362283798540915],[-67.22864559615545,45.36537484609777],[-67.23318553461577,45.379939816319826],[-67.15270055089786,45.393679615483904]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.34201514151141,\"lat\":45.38253781358448},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1302\"],\"cd_name_en\":[\"Charlotte\"],\"csd_code\":[\"1302039\"],\"csd_name_en\":[\"Saint James\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Charlotte\",\"csd_name_fr\":\"Saint James\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.94096950843331,45.887287994004495],[-65.95001489586892,45.8913228812656],[-65.96616934100594,45.874460951868954],[-65.97549907871125,45.87350930249397],[-65.99486669007104,45.84992341485781],[-66.01212485575849,45.846789347766915],[-66.02260263296485,45.85870873338109],[-66.04517395178537,45.850159566297414],[-66.04357661424808,45.831596846858254],[-66.01160086174048,45.842624716318085],[-66.00721012108848,45.82145303899578],[-66.02323679529631,45.800038122809134],[-66.03716496349163,45.7893350590027],[-66.06383979561586,45.748106470162085],[-66.04477171509537,45.724622244752304],[-66.01564346633384,45.733370743233934],[-66.00288683371383,45.76491600739205],[-65.98057944861964,45.78045488028643],[-65.94196510661455,45.76484181675553],[-65.92844462848714,45.78663278427203],[-65.91159169609217,45.77941270510099],[-65.88061760765969,45.79208806736787],[-65.91514476274914,45.806063476384836],[-65.88313201956143,45.851946279375646],[-65.91301351702229,45.876585652378914],[-65.94096950843331,45.887287994004495]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.97048121091875,\"lat\":45.813240848261756},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1304\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1304013\"],\"csd_name_en\":[\"Cambridge-Narrows\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Cambridge-Narrows\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.91945128021754,46.07284584749302],[-65.88492347935912,46.085532666508996],[-65.88125857414693,46.09229359654491],[-65.85924849184265,46.102585029592156],[-65.81101685568973,46.117765808063425],[-65.80630507666126,46.12573923090947],[-65.78510026769727,46.1384158020292],[-65.75069921729673,46.152728369953664],[-65.74695825175837,46.16472864616753],[-65.69589438401108,46.18204400817784],[-65.60182076869161,46.25661099725256],[-65.56951646757692,46.2847946365653],[-65.85166108405355,46.33650435230393],[-65.8537675293194,46.33658050382143],[-65.94781646751323,46.22363864607799],[-66.03487873613119,46.119981795578795],[-66.01863982644461,46.11791287136621],[-65.9658765145282,46.09898165641101],[-65.92479473383733,46.07908811120681],[-65.91945128021754,46.07284584749302]],[[-65.8582312933121,46.19251488521178],[-65.84701122311847,46.16708682826371],[-65.87712441580507,46.143708904930314],[-65.89980554127598,46.15316680734654],[-65.89491064796039,46.15864492613851],[-65.91871578198048,46.17020687645087],[-65.91391077968602,46.183665584785366],[-65.89606892112245,46.18822106865336],[-65.89098941785231,46.19658198961887],[-65.87250857062611,46.19007619656503],[-65.8582312933121,46.19251488521178]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.81574112576838,\"lat\":46.21474689108844},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1304\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1304024\"],\"csd_name_en\":[\"Chipman\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Chipman\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.33542549916531,45.94157787607282],[-64.42726621986141,45.967632324699814],[-64.4562878717357,45.93093398477496],[-64.4367876133092,45.92367922573533],[-64.45207965487603,45.902866736234074],[-64.43651247840589,45.89954299697563],[-64.44405079529758,45.88014772769259],[-64.41309857008685,45.86689385900089],[-64.41210207018332,45.875226771302955],[-64.35114781399878,45.87794809773716],[-64.34251705012458,45.896579715467006],[-64.31347688526016,45.9042545762994],[-64.31471347060764,45.91879781558519],[-64.33542549916531,45.94157787607282]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.38973120408251,\"lat\":45.91683197022881},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1307\"],\"cd_name_en\":[\"Westmorland\"],\"csd_code\":[\"1307009\"],\"csd_name_en\":[\"Sackville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town \\/ Ville\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Westmorland\",\"csd_name_fr\":\"Sackville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.68601537975006,46.124142809622896],[-64.69265915153393,46.13468580689509],[-64.6910051672574,46.148034255224175],[-64.72658830290028,46.13858603793019],[-64.74549646251452,46.17651548125587],[-64.78111915106854,46.167737867071224],[-64.78603769465036,46.176990593397015],[-64.82923446514305,46.16676826795182],[-64.82378735695583,46.16159087884815],[-64.85287843800985,46.15184381348271],[-64.86569053106352,46.15979418080417],[-64.91531286021616,46.14137089057178],[-64.89514698713137,46.118279000856845],[-64.88238500258775,46.088702633061104],[-64.9125313207637,46.082118932085],[-64.89756612824485,46.049209539479506],[-64.89070909281125,46.05096056293453],[-64.85748594724325,46.05096820543755],[-64.84194808435728,46.05406860908229],[-64.8205166689103,46.06883073424387],[-64.8071074830204,46.06527766086149],[-64.7884519614952,46.0714261407371],[-64.76198988684521,46.09146736009181],[-64.76498200394695,46.099161003767186],[-64.70101414097775,46.11340786469225],[-64.68601537975006,46.124142809622896]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.81345536048723,\"lat\":46.11638986593936},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1307\"],\"cd_name_en\":[\"Westmorland\"],\"csd_code\":[\"1307022\"],\"csd_name_en\":[\"Moncton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City \\/ Cit\\u00e9\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Westmorland\",\"csd_name_fr\":\"Moncton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.76141299016123,46.45509699568595],[-64.75740205934873,46.44766669136338],[-64.75283278043624,46.44861960343723],[-64.76141299016123,46.45509699568595]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.7572159433154,\"lat\":46.45046109682885},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1308\"],\"cd_name_en\":[\"Kent\"],\"csd_code\":[\"1308003\"],\"csd_name_en\":[\"Buctouche 16\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kent\",\"csd_name_fr\":\"Buctouche 16\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.69920630175864,46.48116388887657],[-64.72114767291282,46.48284579061172],[-64.73563511756912,46.48947364253856],[-64.76891498566862,46.48325135702732],[-64.78807532352855,46.47315529988797],[-64.78095410327396,46.465419602216386],[-64.75004241221939,46.45545590557493],[-64.72628244056972,46.46145595046602],[-64.69965059199198,46.444766975481954],[-64.68993739122675,46.46049820421385],[-64.71316300642614,46.476240988230366],[-64.69920630175864,46.48116388887657]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.73725969276884,\"lat\":46.46982674928244},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1308\"],\"cd_name_en\":[\"Kent\"],\"csd_code\":[\"1308005\"],\"csd_name_en\":[\"Bouctouche\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town \\/ Ville\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kent\",\"csd_name_fr\":\"Bouctouche\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.78797728056966,46.69095120424763],[-64.79371760537192,46.69158950476588],[-64.79623745842117,46.68960986904558],[-64.78801537638742,46.68728836479909],[-64.78797728056966,46.69095120424763]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.79131443732568,\"lat\":46.68971389561904},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1308\"],\"cd_name_en\":[\"Kent\"],\"csd_code\":[\"1308020\"],\"csd_name_en\":[\"Indian Island 28\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kent\",\"csd_name_fr\":\"Indian Island 28\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.75998025914745,47.24525234200811],[-65.81588401009043,47.232532777761875],[-65.85701670291627,47.263778448462],[-65.99146572312861,47.3711419238839],[-66.16180969456767,47.50564302207195],[-66.21716123279458,47.55064511225253],[-66.37142071597664,47.51525287481561],[-66.65433332856435,47.4501323912849],[-66.87691929346721,47.3990056473463],[-66.95796900661176,47.38110492953893],[-67.04823948800366,47.36272760897717],[-67.01615635202526,47.31502649791533],[-66.75724304093053,47.23690038537258],[-66.63959973754665,47.200536917367586],[-66.52414746647467,47.166253315119334],[-66.30282690971487,47.097247826261544],[-66.25435449712676,47.08107025184518],[-66.01760370436,47.0060381004948],[-65.8540729088163,46.95492884210663],[-65.83440540546098,46.951770090183715],[-65.82365306623936,46.94372871563059],[-65.79068933170039,46.933766547566485],[-65.75405330262276,46.953824429787026],[-65.7050734985833,46.96580706727146],[-65.68265237463532,46.95702725805039],[-65.65288588741089,46.96183365438407],[-65.6308130494928,46.95934242659901],[-65.60421153233698,46.96558164810775],[-65.60593347273772,46.969036232090936],[-65.6144821183969,46.96462511703984],[-65.63715965572028,46.96221513391996],[-65.63999313809761,46.98562317994669],[-65.65004653369537,46.984889938882155],[-65.65422490605212,47.022952621734376],[-65.62064021166425,46.99518530016004],[-65.6566875542099,47.060778710027265],[-65.71211124517241,47.155336413894986],[-65.71271288536208,47.1610861927362],[-65.75998025914745,47.24525234200811]],[[-65.79500318192146,47.04549593663834],[-65.80829803112543,47.0534024534953],[-65.81729266589947,47.071680930057596],[-65.79693156716617,47.07632190578011],[-65.78104033276233,47.08543494384222],[-65.76553672442527,47.05205087895554],[-65.75370161724314,47.026533076154514],[-65.81349317919737,47.01356621876173],[-65.83676521626575,47.014161481108225],[-65.82942270824533,47.03220063597226],[-65.7935830269307,47.04006222435295],[-65.79500318192146,47.04549593663834]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.26111606016968,\"lat\":47.256781611133206},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1309\"],\"cd_name_en\":[\"Northumberland\"],\"csd_code\":[\"1309028\"],\"csd_name_en\":[\"Northesk\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Northumberland\",\"csd_name_fr\":\"Northesk\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.76553672442527,47.05205087895554],[-65.78104033276233,47.08543494384222],[-65.79693156716617,47.07632190578011],[-65.81729266589947,47.071680930057596],[-65.80829803112543,47.0534024534953],[-65.79500318192146,47.04549593663834],[-65.76553672442527,47.05205087895554]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.7906015750487,\"lat\":47.06333702249176},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1309\"],\"cd_name_en\":[\"Northumberland\"],\"csd_code\":[\"1309033\"],\"csd_name_en\":[\"Big Hole Tract 8 (North Half)\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Northumberland\",\"csd_name_fr\":\"Big Hole Tract 8 (North Half)\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.25255742214597,45.711131071071506],[-67.26158513480058,45.70978760135964],[-67.27570800672933,45.754930905305116],[-67.26979580219756,45.76333159674168],[-67.30052435801275,45.838162277744615],[-67.33369916324712,45.88517019635203],[-67.39773330499935,45.810700101464825],[-67.49999920938093,45.68756093445444],[-67.57364692243665,45.59890574041101],[-67.5480000097173,45.597833299357575],[-67.51925000706908,45.58766669713759],[-67.4990277900112,45.58663889062393],[-67.49083329922968,45.60077781194234],[-67.45672221085587,45.6043333130355],[-67.4310000118672,45.58411110090577],[-67.42066608953928,45.549676038030725],[-67.43247158928753,45.54042605007537],[-67.43486047355977,45.528148248311744],[-67.41792663894248,45.50670426782895],[-67.29567961764697,45.50582481022053],[-67.21212954088581,45.60110821312124],[-67.23292568751594,45.63003187401657],[-67.22712257523267,45.66183170214782],[-67.25255742214597,45.711131071071506]],[[-67.30282158911827,45.610361092528066],[-67.27395601295677,45.58076770707445],[-67.29525793187594,45.5740328335829],[-67.30028220533976,45.585682776087324],[-67.34765878875344,45.5763674842686],[-67.34225932681697,45.60341906688504],[-67.30282158911827,45.610361092528066]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.36553124734078,\"lat\":45.666263819761255},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1310\"],\"cd_name_en\":[\"York\"],\"csd_code\":[\"1310007\"],\"csd_name_en\":[\"McAdam\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"York\",\"csd_name_fr\":\"McAdam\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.59502322662642,46.01291340360295],[-66.59916806767508,46.01425744405987],[-66.62172604293778,45.98683483437075],[-66.61920527959442,45.98520037726005],[-66.59502322662642,46.01291340360295]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.60818927624037,\"lat\":46.00048704231341},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1310\"],\"cd_name_en\":[\"York\"],\"csd_code\":[\"1310034\"],\"csd_name_en\":[\"Devon 30\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"York\",\"csd_name_fr\":\"Devon 30\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.14610951710458,47.30482214944348],[-68.12469080953265,47.31428810468207],[-68.13500369203956,47.33675907315064],[-68.15269024958613,47.34365142689841],[-68.16629114824556,47.328014023012315],[-68.1546666808767,47.32519440573054],[-68.14610951710458,47.30482214944348]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.14388077698914,\"lat\":47.32500732049289},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1313\"],\"cd_name_en\":[\"Madawaska\"],\"csd_code\":[\"1313014\"],\"csd_name_en\":[\"Rivi\\u00e8re-Verte\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Madawaska\",\"csd_name_fr\":\"Rivi\\u00e8re-Verte\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.65647536125456,47.67793410206243],[-65.69883434830973,47.71170092574972],[-65.7057311909943,47.73493353291489],[-65.74417016302205,47.72556379214767],[-65.72825596704827,47.694410030449255],[-65.70449059278448,47.673335312618384],[-65.68867832078922,47.66535690004543],[-65.65647536125456,47.67793410206243]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.70416930874036,\"lat\":47.69880463373118},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1315\"],\"cd_name_en\":[\"Gloucester\"],\"csd_code\":[\"1315015\"],\"csd_name_en\":[\"Beresford\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town \\/ Ville\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Gloucester\",\"csd_name_fr\":\"Beresford\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.02566398003626,47.64068642560162],[-65.03287614927694,47.654519405661546],[-65.01423603914262,47.687162419321375],[-65.02005675698464,47.69726889420137],[-65.0283064485979,47.70790556298504],[-65.06205359115067,47.69958944657296],[-65.0677915965977,47.71080947566533],[-65.12738299031246,47.69645292628725],[-65.1448984607572,47.712796387466774],[-65.1635254875518,47.70195650077117],[-65.1796095065129,47.70164998978528],[-65.18762198495101,47.69314690731412],[-65.21212395291144,47.688001539982906],[-65.23807381466702,47.65514789586891],[-65.32377322419447,47.63534367316123],[-65.29628078326377,47.581698332217606],[-65.32715978189718,47.53381634559925],[-65.1899410796653,47.56758868821167],[-65.19857513673576,47.5851626807078],[-65.13805499814664,47.598815429550164],[-65.14390753876378,47.61132404055167],[-65.05189460495914,47.63247964953274],[-65.02566398003626,47.64068642560162]],[[-65.09770448266949,47.687534442794345],[-65.0822861730817,47.65844670155262],[-65.11670732804171,47.65010905926557],[-65.13118364380809,47.67970845058045],[-65.09770448266949,47.687534442794345]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.18040685515228,\"lat\":47.63341064021111},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1315\"],\"cd_name_en\":[\"Gloucester\"],\"csd_code\":[\"1315019\"],\"csd_name_en\":[\"Paquetville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Gloucester\",\"csd_name_fr\":\"Paquetville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.7057311909943,47.73493353291489],[-65.71022062628299,47.75342265025244],[-65.74962180634297,47.74393210269917],[-65.74417016302205,47.72556379214767],[-65.7057311909943,47.73493353291489]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.72746444134346,\"lat\":47.73949536832663},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1315\"],\"cd_name_en\":[\"Gloucester\"],\"csd_code\":[\"1315037\"],\"csd_name_en\":[\"Nigadoo\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Gloucester\",\"csd_name_fr\":\"Nigadoo\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.7471539428719,49.1236522071709],[-65.84083861559922,49.18627779882709],[-65.85446922598278,49.24572340192792],[-65.9965067785653,49.24482752226173],[-65.98294235993092,49.18077669765418],[-65.963187614669,49.18265007239257],[-65.93875219855835,49.09015307385209],[-65.8651322607104,49.10384893509191],[-65.7471539428719,49.1236522071709]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.89171385751085,\"lat\":49.17095064365796},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2404\"],\"cd_name_en\":[\"La Haute-Gasp\\u00e9sie\"],\"csd_code\":[\"2404020\"],\"csd_name_en\":[\"Rivi\\u00e8re-\\u00e0-Claude\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Haute-Gasp\\u00e9sie\",\"csd_name_fr\":\"Rivi\\u00e8re-\\u00e0-Claude\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.62265053136987,48.6340594590506],[-67.59856782024862,48.65262350777607],[-67.61401403057012,48.662058147941686],[-67.58755448003478,48.68204763048807],[-67.57126011327091,48.6722230846614],[-67.51189735629292,48.717904271783986],[-67.54445612674121,48.738565229696405],[-67.53030051379496,48.7495648581059],[-67.56444109584201,48.76766706692334],[-67.55460625602421,48.774958664663345],[-67.57232449463541,48.78512825664823],[-67.70426150727766,48.68222899555109],[-67.67678136636819,48.665979103160055],[-67.62265053136987,48.6340594590506]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.60469324888652,\"lat\":48.7075781445873},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2408\"],\"cd_name_en\":[\"La Matanie\"],\"csd_code\":[\"2408065\"],\"csd_name_en\":[\"Saint-L\\u00e9andre\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Matanie\",\"csd_name_fr\":\"Saint-L\\u00e9andre\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.79161923879768,48.71606521324303],[-67.77816820240484,48.72604992264349],[-67.79365132643748,48.73506374174243],[-67.78624344857393,48.749019153532196],[-67.79770680613034,48.757973958338205],[-68.02599477455024,48.985881916988355],[-68.22853847069574,48.87092468403575],[-68.20497796650777,48.839788010819035],[-67.92630580062387,48.6812512702576],[-67.90185870544373,48.67754674351979],[-67.86780694802876,48.658802385139836],[-67.79161923879768,48.71606521324303]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.9954321263213,\"lat\":48.819814964475306},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2408\"],\"cd_name_en\":[\"La Matanie\"],\"csd_code\":[\"2408080\"],\"csd_name_en\":[\"Baie-des-Sables\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Matanie\",\"csd_name_fr\":\"Baie-des-Sables\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.18299149725381,48.34882572906829],[-68.06876086967988,48.4357353554845],[-68.08407663887733,48.446586963748146],[-68.15069866847016,48.48579206878718],[-68.20053752974027,48.46143894455202],[-68.26089827337987,48.44761334031575],[-68.2716855752865,48.435876348465655],[-68.29884479407708,48.4172618088371],[-68.27605658562001,48.41282549422674],[-68.245546000921,48.38681409738899],[-68.18299149725381,48.34882572906829]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.17957115031241,\"lat\":48.42099321578186},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2409\"],\"cd_name_en\":[\"La Mitis\"],\"csd_code\":[\"2409025\"],\"csd_name_en\":[\"Saint-Gabriel-de-Rimouski\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Mitis\",\"csd_name_fr\":\"Saint-Gabriel-de-Rimouski\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.0383693939157,47.9220152017303],[-69.05836097934463,47.93310261567359],[-69.06166300355083,47.963180303761774],[-69.08300938433888,47.9634144293089],[-69.08250720520988,47.986811448796],[-69.11309179052351,47.9870747825235],[-69.11385659876757,47.98287386878536],[-69.12151711272382,47.96537439581616],[-69.14029488368114,47.942528006661924],[-69.18178229270427,47.90036720924491],[-69.18591318146937,47.88826088326424],[-69.14332436104908,47.85972205601133],[-69.13124472609574,47.8679883597681],[-69.11622616481753,47.85762338919099],[-69.08706791042172,47.87841164030283],[-69.03002469560873,47.92026200595749],[-69.0383693939157,47.9220152017303]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.1104066350636,\"lat\":47.91732473270539},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2411\"],\"cd_name_en\":[\"Les Basques\"],\"csd_code\":[\"2411005\"],\"csd_name_en\":[\"Saint-Cl\\u00e9ment\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Basques\",\"csd_name_fr\":\"Saint-Cl\\u00e9ment\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.86088335125478,48.01060048442435],[-68.81053952227563,48.04705167465491],[-68.82610137033264,48.05727017189784],[-68.80611870992277,48.071068917840236],[-68.82245040424628,48.08126911211449],[-68.75481061383,48.12949909770011],[-68.76941773418329,48.13920153439203],[-68.8232508114137,48.11034478731585],[-68.83859050516485,48.12043495221442],[-68.94129528498993,48.06601899011582],[-68.92433461413195,48.05280839070825],[-68.86088335125478,48.01060048442435]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.85392825526834,\"lat\":48.07270897943292},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2411\"],\"cd_name_en\":[\"Les Basques\"],\"csd_code\":[\"2411025\"],\"csd_name_en\":[\"Saint-M\\u00e9dard\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Basques\",\"csd_name_fr\":\"Saint-M\\u00e9dard\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.53633729988759,48.05613266708462],[-69.61043644957039,48.00007908220667],[-69.53418302234623,48.00003718889797],[-69.49943666919404,47.978656488824775],[-69.48090977344094,47.97940725852481],[-69.43853934858063,48.004608074700805],[-69.39949797362794,48.034437707727065],[-69.37292543361004,48.06359052440969],[-69.4492359254402,48.1228881042719],[-69.45657017361735,48.117467122213796],[-69.50056520995778,48.08510710878824],[-69.53633729988759,48.05613266708462]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.47700697327811,\"lat\":48.043626735607354},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2412\"],\"cd_name_en\":[\"Rivi\\u00e8re-du-Loup\"],\"csd_code\":[\"2412045\"],\"csd_name_en\":[\"Notre-Dame-des-Sept-Douleurs\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Rivi\\u00e8re-du-Loup\",\"csd_name_fr\":\"Notre-Dame-des-Sept-Douleurs\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.56092098890394,47.6638876529085],[-68.58051467994115,47.67846010277113],[-68.59228290809462,47.702732705586506],[-68.6042831079747,47.71805452934149],[-68.59682730799973,47.73699507583626],[-68.59920221735284,47.75525436154773],[-68.62242480138798,47.775168447739695],[-68.63171444343533,47.789120367349575],[-68.65771468838528,47.80119267408093],[-68.67579800627753,47.82478354937384],[-68.71756724809111,47.7961151577435],[-68.71755214942345,47.78509797743274],[-68.72700770977586,47.74292671050058],[-68.70874552787124,47.72863913453676],[-68.67510313045058,47.68547058413636],[-68.65439219043043,47.67056800280907],[-68.60091496125902,47.68062952233112],[-68.59166296604941,47.67450934639805],[-68.56752931806194,47.660656690361506],[-68.56092098890394,47.6638876529085]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.65626021243905,\"lat\":47.74037841283038},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2413\"],\"cd_name_en\":[\"T\\u00e9miscouata\"],\"csd_code\":[\"2413045\"],\"csd_name_en\":[\"Auclair\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscouata\",\"csd_name_fr\":\"Auclair\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.8557313064755,47.68585807723358],[-68.87516502192268,47.69247770361762],[-68.90040245717628,47.71364170184666],[-68.90203259596667,47.727499399653844],[-68.86870845913126,47.7730560749952],[-68.8604285178212,47.79447921366926],[-68.89898427875167,47.82008756773848],[-68.91063581243321,47.770085234895106],[-68.95036309516487,47.776478907700096],[-68.98403726466337,47.71993632572151],[-68.96358928774215,47.709187744420404],[-68.93159728839028,47.702867073924736],[-68.91889993884858,47.6852461396359],[-68.9301441008996,47.6692304597474],[-68.95453920753339,47.60737591717973],[-68.95959280496925,47.60351668766843],[-68.91532214960986,47.575067949696916],[-68.88649916566013,47.595800831638016],[-68.8610474700601,47.57942045158966],[-68.8318264438823,47.551798123706284],[-68.81860535293941,47.53040012610854],[-68.77988581801776,47.53107765795268],[-68.77293704275542,47.52663986671422],[-68.71826172378142,47.56392993360319],[-68.67849081725382,47.597407829091296],[-68.70302200421321,47.60472418908347],[-68.74017577042179,47.59928999522276],[-68.75416093571161,47.601656278323944],[-68.79572595847671,47.625596441162145],[-68.80740840596691,47.654390864942634],[-68.82125186718417,47.66652827164135],[-68.8557313064755,47.68585807723358]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.85672007294086,\"lat\":47.64386809906299},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2413\"],\"cd_name_en\":[\"T\\u00e9miscouata\"],\"csd_code\":[\"2413073\"],\"csd_name_en\":[\"T\\u00e9miscouata-sur-le-Lac\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscouata\",\"csd_name_fr\":\"T\\u00e9miscouata-sur-le-Lac\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.9463283821449,47.37745259928469],[-69.96968546823362,47.37836318807667],[-69.99079299817987,47.393044698987865],[-70.0019668868407,47.40038897271638],[-70.01012549315838,47.3906837977989],[-70.0162731849011,47.36984549582979],[-70.05262461079481,47.34161691608492],[-70.18455087138372,47.42600451617184],[-70.20334275147246,47.410986173553916],[-70.09603323517703,47.340773737524586],[-70.07222458936208,47.32316753970122],[-70.02871043219244,47.295576177491974],[-69.96921850439304,47.34132750432937],[-69.96507996690934,47.35800743542189],[-69.94423240941738,47.36200548012706],[-69.9463283821449,47.37745259928469]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.05449772320611,\"lat\":47.35752916766097},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2414\"],\"cd_name_en\":[\"Kamouraska\"],\"csd_code\":[\"2414090\"],\"csd_name_en\":[\"Sainte-Anne-de-la-Pocati\\u00e8re\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Kamouraska\",\"csd_name_fr\":\"Sainte-Anne-de-la-Pocati\\u00e8re\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.24494265259126,47.67901052975355],[-70.21764900737266,47.677285422189584],[-70.2062844106698,47.69570349628199],[-70.1822555711701,47.722287947680435],[-70.20578008600467,47.73238927861672],[-70.24813616929731,47.75913898410361],[-70.34173557935584,47.7183553182755],[-70.31473486474141,47.72014202485673],[-70.29997275360205,47.71650916285518],[-70.24494265259126,47.67901052975355]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.24845045706894,\"lat\":47.71827258085317},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2415\"],\"cd_name_en\":[\"Charlevoix-Est\"],\"csd_code\":[\"2415035\"],\"csd_name_en\":[\"Clermont\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Charlevoix-Est\",\"csd_name_fr\":\"Clermont\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.0998879445918,47.00577379151631],[-69.99612774265705,47.08086207464752],[-69.97930126176665,47.06977342600628],[-69.94984804872712,47.093351251957486],[-69.89066539722062,47.136194880458454],[-69.9067098566769,47.14644159863011],[-69.83297095729442,47.199214179598705],[-69.87141574418705,47.22341074620903],[-69.8832281933212,47.230993936478946],[-69.97210485532369,47.164728996021275],[-70.09413792049492,47.07699140993003],[-70.14790781723238,47.03810076241198],[-70.0998879445918,47.00577379151631]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.9861511509022,\"lat\":47.11733722252998},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2417\"],\"cd_name_en\":[\"L'Islet\"],\"csd_code\":[\"2417035\"],\"csd_name_en\":[\"Tourville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"L'Islet\",\"csd_name_fr\":\"Tourville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.6713325902517,46.93284644709631],[-70.67136198384542,46.953964479596],[-70.66223392516996,46.975794474719464],[-70.61499395791314,47.0063892159069],[-70.63884089009537,47.01137614004727],[-70.67593537117439,47.0075629973411],[-70.69222479575252,47.01029797626813],[-70.69807829117441,47.01888237792733],[-70.73663126078515,47.00240714305887],[-70.7448924673877,46.98769660133499],[-70.78581154580505,46.95171472480975],[-70.80213261199879,46.939814324823686],[-70.81621345034836,46.93031423903837],[-70.77880428878073,46.90592230164211],[-70.75246318958715,46.885157426265046],[-70.72796426738735,46.8935014002507],[-70.73072367900707,46.89924545049042],[-70.6913892903076,46.91551269822294],[-70.69147820497597,46.919314545150144],[-70.6713325902517,46.93284644709631]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.72138302442349,\"lat\":46.95439098976902},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2418\"],\"cd_name_en\":[\"Montmagny\"],\"csd_code\":[\"2418065\"],\"csd_name_en\":[\"Berthier-sur-Mer\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Montmagny\",\"csd_name_fr\":\"Berthier-sur-Mer\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.9939424697272,46.77971871181706],[-70.9792861072708,46.78534333614041],[-70.96907947764052,46.798002108158514],[-70.94567630748911,46.80245388900249],[-70.9241403543147,46.82160774093731],[-70.92204824574577,46.83469346231524],[-70.96604804324156,46.865672598041094],[-71.0042641273492,46.84993376757289],[-71.07840574867303,46.83977673029587],[-71.07970456768854,46.839634361211175],[-70.9939424697272,46.77971871181706]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.9904775084527,\"lat\":46.82507232777247},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2419\"],\"cd_name_en\":[\"Bellechasse\"],\"csd_code\":[\"2419105\"],\"csd_name_en\":[\"Beaumont\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Bellechasse\",\"csd_name_fr\":\"Beaumont\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.8368402852671,46.860177636556685],[-70.86027737331656,46.87679043825471],[-70.85631072618988,46.89181433991083],[-70.87775442845422,46.9063257167528],[-70.93521965464069,46.88112873595584],[-70.96604804324156,46.865672598041094],[-70.92204824574577,46.83469346231524],[-70.8803582675834,46.80484399104584],[-70.86691148909901,46.830538950529345],[-70.8368402852671,46.860177636556685]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.8954751404588,\"lat\":46.859663520540245},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2419\"],\"cd_name_en\":[\"Bellechasse\"],\"csd_code\":[\"2419110\"],\"csd_name_en\":[\"Saint-Michel-de-Bellechasse\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Bellechasse\",\"csd_name_fr\":\"Saint-Michel-de-Bellechasse\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.8367390093133,46.5134358691075],[-70.86439081464474,46.54063198426027],[-70.87656999373922,46.535591794654806],[-70.90094611771787,46.55880806069527],[-70.93495058538596,46.54632330179451],[-70.94735575111552,46.54686904287898],[-70.98888329411174,46.52892419221041],[-71.01792847864118,46.510336536420546],[-70.95365737182242,46.465054346221436],[-70.9368333140781,46.47625656957094],[-70.91579056712341,46.46131676158303],[-70.89811050337185,46.473371934010565],[-70.8367390093133,46.5134358691075]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.92567452121062,\"lat\":46.51035880978713},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2426\"],\"cd_name_en\":[\"La Nouvelle-Beauce\"],\"csd_code\":[\"2426035\"],\"csd_name_en\":[\"Sainte-Marguerite\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Nouvelle-Beauce\",\"csd_name_fr\":\"Sainte-Marguerite\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.94200021201044,46.26380935522225],[-70.96347796134718,46.28648917748447],[-70.98544209521403,46.272299031405645],[-70.99701066199812,46.27859604324006],[-71.01685760269734,46.270682147609165],[-71.04466857896917,46.25179374936309],[-71.01986882658338,46.22822230638443],[-71.00604914337771,46.23719022587856],[-70.99198775754797,46.22410077934067],[-70.94200021201044,46.26380935522225]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.99256321111291,\"lat\":46.25540848663004},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2427\"],\"cd_name_en\":[\"Robert-Cliche\"],\"csd_code\":[\"2427060\"],\"csd_name_en\":[\"Tring-Jonction\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Robert-Cliche\",\"csd_name_fr\":\"Tring-Jonction\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.96490903502126,46.36052961214557],[-70.97802010635522,46.36991580031483],[-70.98292105979944,46.37344513709636],[-71.01705386215755,46.351198901276156],[-71.0400831281214,46.34509805613269],[-71.05743844236063,46.35818439323196],[-71.0777252061233,46.35680199590451],[-71.08918566278092,46.34976570681303],[-71.10282243986163,46.3583112809551],[-71.14638695550147,46.341827796319926],[-71.10495089607642,46.30920431242396],[-71.12116549372303,46.29784376759914],[-71.09822350521301,46.27781046205401],[-71.0827148373166,46.287710960076076],[-71.06427806901041,46.29104936225998],[-71.03917834691484,46.31226601549869],[-70.96490903502126,46.36052961214557]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.0661016804256,\"lat\":46.329132735880734},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2427\"],\"cd_name_en\":[\"Robert-Cliche\"],\"csd_code\":[\"2427070\"],\"csd_name_en\":[\"Saint-S\\u00e9verin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Robert-Cliche\",\"csd_name_fr\":\"Saint-S\\u00e9verin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.54185914775091,45.97805158170222],[-70.5894420444014,46.039306091117545],[-70.5939393759333,46.05998478481011],[-70.60712397729621,46.07711710383366],[-70.63580180731084,46.06677749591399],[-70.63648045181453,46.045400306380515],[-70.64061521156665,45.984406148572084],[-70.62345311833776,45.989861211385424],[-70.58508927912408,45.94039498588754],[-70.54764041212559,45.95429712892436],[-70.56009918811498,45.97121301273924],[-70.54185914775091,45.97805158170222]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.59789935212615,\"lat\":46.00615554536781},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2429\"],\"cd_name_en\":[\"Beauce-Sartigan\"],\"csd_code\":[\"2429050\"],\"csd_name_en\":[\"Saint-Ren\\u00e9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Beauce-Sartigan\",\"csd_name_fr\":\"Saint-Ren\\u00e9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.47518926749214,46.14434449742978],[-70.51708054866812,46.14863630416089],[-70.51609821122089,46.1702062741299],[-70.54175263413133,46.189251690835626],[-70.56859041562862,46.17187242991562],[-70.56708581922973,46.169469041513416],[-70.6105995188695,46.139994428601696],[-70.58027040076084,46.11807347887466],[-70.59674642965616,46.107275564357536],[-70.57392258523033,46.09832211953779],[-70.5637125718724,46.09425895744467],[-70.54862307525408,46.104662027669676],[-70.52824275580122,46.095932071057945],[-70.52287751144254,46.12019394146421],[-70.47848723140562,46.11569703018233],[-70.47703979070975,46.124561810560046],[-70.48659255626,46.13692616548713],[-70.47518926749214,46.14434449742978]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.5454514982819,\"lat\":46.137796535093386},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2429\"],\"cd_name_en\":[\"Beauce-Sartigan\"],\"csd_code\":[\"2429065\"],\"csd_name_en\":[\"Saint-Philibert\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Beauce-Sartigan\",\"csd_name_fr\":\"Saint-Philibert\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.81035132500034,46.09497200719197],[-70.81377101876176,46.10740368190434],[-70.82942030279504,46.09941527248224],[-70.81035132500034,46.09497200719197]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.81784754885238,\"lat\":46.10059698719285},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2429\"],\"cd_name_en\":[\"Beauce-Sartigan\"],\"csd_code\":[\"2429095\"],\"csd_name_en\":[\"Lac-Poulin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Beauce-Sartigan\",\"csd_name_fr\":\"Lac-Poulin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-70.40699533552136,45.766225130944605],[-70.41601443642118,45.78542329893556],[-70.41382958704972,45.796099379982095],[-70.43388944841281,45.80243121124536],[-70.40699533552136,45.766225130944605]]],[[[-70.58386212356518,45.64113061292499],[-70.6223038026936,45.69640804239591],[-70.646234903534,45.73429087766371],[-70.6346025885326,45.75045893098435],[-70.65057209665102,45.77211268967122],[-70.63168758631265,45.77890751418851],[-70.64603370317232,45.80020799081351],[-70.66371492150041,45.78202858162942],[-70.72566877774673,45.78141065663172],[-70.78275858698338,45.725190662252196],[-70.75112312622268,45.70913531327422],[-70.59939358533506,45.62796504217815],[-70.58386212356518,45.64113061292499]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.67617864805732,\"lat\":45.71937210696873},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2430\"],\"cd_name_en\":[\"Le Granit\"],\"csd_code\":[\"2430072\"],\"csd_name_en\":[\"Saint-Ludger\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Granit\",\"csd_name_fr\":\"Saint-Ludger\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.5576703092928,46.67343426397447],[-72.57849842895791,46.704142491434894],[-72.59602217233696,46.69163001808097],[-72.60094847432248,46.70511191502241],[-72.61623373557588,46.71506391182705],[-72.62659495788742,46.708294483552386],[-72.65076220440214,46.72416005826858],[-72.68200313392855,46.705763186955245],[-72.66566226075616,46.69444148506283],[-72.65704008629876,46.671649539132964],[-72.5981453834824,46.63346055776389],[-72.58491481783396,46.622869498070926],[-72.55147504325014,46.64567895719426],[-72.57539941782711,46.66281160352798],[-72.5576703092928,46.67343426397447]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.61231962880665,\"lat\":46.67645354349974},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2435\"],\"cd_name_en\":[\"M\\u00e9kinac\"],\"csd_code\":[\"2435035\"],\"csd_name_en\":[\"H\\u00e9rouxville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"M\\u00e9kinac\",\"csd_name_fr\":\"H\\u00e9rouxville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.87268253044928,45.565947821483775],[-72.02531262719373,45.64748050579727],[-72.03532254940698,45.63810058664354],[-72.06906954802727,45.60596038473874],[-72.05236266990495,45.600380525673],[-72.03320685418117,45.593015786327854],[-72.01789278474087,45.58064069664234],[-71.9980950274109,45.59133176491039],[-71.95842329803097,45.56972334003621],[-71.97514831952626,45.55449019974282],[-71.99923486429837,45.55044134876411],[-71.98515335154671,45.53554259485084],[-71.98740170492812,45.51924896232639],[-71.97877915092643,45.50250718005917],[-71.9506307149499,45.52290935239527],[-71.93258963447077,45.513190205389506],[-71.91988013445597,45.524048516626316],[-71.87268253044928,45.565947821483775]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.96713437477965,\"lat\":45.57701869794277},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2442\"],\"cd_name_en\":[\"Le Val-Saint-Fran\\u00e7ois\"],\"csd_code\":[\"2442095\"],\"csd_name_en\":[\"Val-Joli\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Val-Saint-Fran\\u00e7ois\",\"csd_name_fr\":\"Val-Joli\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.63257593986745,45.01458549013364],[-72.63334702968555,45.06106597981842],[-72.66464298171638,45.06766603554955],[-72.69455834911464,45.06870775808665],[-72.6918561990775,45.01550921400429],[-72.63257593986745,45.01458549013364]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.66376452310124,\"lat\":45.04081940480656},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2446\"],\"cd_name_en\":[\"Brome-Missisquoi\"],\"csd_code\":[\"2446005\"],\"csd_name_en\":[\"Abercorn\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Brome-Missisquoi\",\"csd_name_fr\":\"Abercorn\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.51105187707319,45.35743725007985],[-72.5461268818718,45.358134578304174],[-72.54153614570448,45.34405660521674],[-72.5506331217275,45.33644026685636],[-72.55121684657203,45.31753026842357],[-72.51389330376254,45.31673347838865],[-72.5156726041317,45.3322078517061],[-72.50451463613344,45.342507575337514],[-72.51105187707319,45.35743725007985]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.52927707503657,\"lat\":45.33736449606576},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2447\"],\"cd_name_en\":[\"La Haute-Yamaska\"],\"csd_code\":[\"2447025\"],\"csd_name_en\":[\"Waterloo\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Haute-Yamaska\",\"csd_name_fr\":\"Waterloo\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.02093400060069,46.376234398784774],[-73.03184740647578,46.39211439878604],[-73.0459366365336,46.40157602170403],[-73.06410940638162,46.38997151739226],[-73.09047971740785,46.40624342262331],[-73.10049817207894,46.406157455205026],[-73.12699516584264,46.38670930575828],[-73.10147953404956,46.36563774187448],[-73.06173555363348,46.338837552774514],[-73.04954073110373,46.33684283293302],[-73.03689831902379,46.34474385113669],[-73.00301216180412,46.370351309923855],[-73.02093400060069,46.376234398784774]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.06537561830004,\"lat\":46.37344707897596},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2451\"],\"cd_name_en\":[\"Maskinong\\u00e9\"],\"csd_code\":[\"2451055\"],\"csd_name_en\":[\"Sainte-Ang\\u00e8le-de-Pr\\u00e9mont\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Maskinong\\u00e9\",\"csd_name_fr\":\"Sainte-Ang\\u00e8le-de-Pr\\u00e9mont\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.8847830622214,46.47476103790353],[-72.89362686191865,46.48732051020684],[-72.9340267027273,46.53072600294428],[-72.96275479835708,46.561838101245876],[-73.01241748165467,46.595447867359645],[-73.09496667099505,46.535737696855975],[-73.03735487520233,46.49202915724485],[-72.98766345511777,46.45527103537021],[-72.97478389284784,46.44649145555257],[-72.94142298511841,46.467562175095246],[-72.92974153820916,46.45854066827886],[-72.90694455882725,46.47268972051904],[-72.89950776968797,46.48208526442075],[-72.8847830622214,46.47476103790353]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.99164732162757,\"lat\":46.51850661848864},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2451\"],\"cd_name_en\":[\"Maskinong\\u00e9\"],\"csd_code\":[\"2451075\"],\"csd_name_en\":[\"Saint-\\u00c9lie-de-Caxton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Maskinong\\u00e9\",\"csd_name_fr\":\"Saint-\\u00c9lie-de-Caxton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.28530677073532,46.116515716654206],[-73.3625278420211,46.170996201494354],[-73.36896225273759,46.15174614673399],[-73.41185361182686,46.126503248219585],[-73.40746270311108,46.120094901424864],[-73.39748853295504,46.100823152974186],[-73.40201124586211,46.08317951507945],[-73.41164500856706,46.06954129438643],[-73.39154860040604,46.06714868979197],[-73.35204939104455,46.056163400612654],[-73.3429534901466,46.05984920325884],[-73.32173341503443,46.055184407891545],[-73.29144470701095,46.0650021446044],[-73.2823322390579,46.075288975495134],[-73.28947387921541,46.098139953847564],[-73.28530677073532,46.116515716654206]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.34682879474389,\"lat\":46.103735435487586},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2452\"],\"cd_name_en\":[\"D'Autray\"],\"csd_code\":[\"2452030\"],\"csd_name_en\":[\"Sainte-\\u00c9lisabeth\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"D'Autray\",\"csd_name_fr\":\"Sainte-\\u00c9lisabeth\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.92185657933129,45.9675870383194],[-73.01083342254456,46.034057617528376],[-73.01218620958565,46.033587891925436],[-73.03624343621696,46.01538877046765],[-73.04150688125442,45.98867247687237],[-73.0500613126715,45.96684475313869],[-73.02194417129463,45.96107145784972],[-73.0227597651972,45.94577561836595],[-73.03708293807728,45.91118396517931],[-73.03113403890637,45.9069511798418],[-73.02690021597667,45.90406655820277],[-73.01117331522362,45.936100575955976],[-72.99373732349575,45.92561159745616],[-72.98827878141202,45.94003759102092],[-72.96198867595163,45.937361505778505],[-72.94766813164041,45.96373532091656],[-72.92185657933129,45.9675870383194]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.99671567700352,\"lat\":45.97532624459003},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2453\"],\"cd_name_en\":[\"Pierre-De Saurel\"],\"csd_code\":[\"2453020\"],\"csd_name_en\":[\"Saint-Robert\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Pierre-De Saurel\",\"csd_name_fr\":\"Saint-Robert\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.00155903591721,45.72151606550859],[-72.95324335850687,45.753205978874924],[-72.93818878232187,45.79521554672305],[-72.94217544472498,45.7982734824155],[-73.0188215879934,45.85759947701432],[-73.03401075234196,45.80691419547248],[-73.04885002114383,45.79520979570925],[-73.03826943820422,45.78795019029131],[-73.05756097202055,45.77033478903313],[-73.0526464436531,45.75945373439627],[-73.00155903591721,45.72151606550859]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.9983893558061,\"lat\":45.7838322843456},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2454\"],\"cd_name_en\":[\"Les Maskoutains\"],\"csd_code\":[\"2454110\"],\"csd_name_en\":[\"Saint-Jude\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Maskoutains\",\"csd_name_fr\":\"Saint-Jude\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.09870809493255,45.26819979693664],[-73.12932555517907,45.28968918781285],[-73.13408124494406,45.26400504737646],[-73.16802343203271,45.28023260170686],[-73.19204686888759,45.25298388173044],[-73.17783113373446,45.24749069370325],[-73.17716481921639,45.20558267288054],[-73.13154406304483,45.20598986756429],[-73.12855216802333,45.17131385227413],[-73.08570372603253,45.17183158340567],[-73.091588429412,45.196402123068836],[-73.05783051102394,45.21419733486461],[-73.06873985068991,45.230562115647636],[-73.06809098320005,45.246853932142734],[-73.09870809493255,45.26819979693664]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.12336674980679,\"lat\":45.23067285334586},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2456\"],\"cd_name_en\":[\"Le Haut-Richelieu\"],\"csd_code\":[\"2456055\"],\"csd_name_en\":[\"Saint-Alexandre\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Richelieu\",\"csd_name_fr\":\"Saint-Alexandre\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.23175042778006,45.53506002983762],[-73.21506036014001,45.54559596391871],[-73.2317885313633,45.5579231258492],[-73.24916003620241,45.54721813419977],[-73.23175042778006,45.53506002983762]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.23199668127197,\"lat\":45.546468807067896},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2457\"],\"cd_name_en\":[\"La Vall\\u00e9e-du-Richelieu\"],\"csd_code\":[\"2457025\"],\"csd_name_en\":[\"McMasterville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-du-Richelieu\",\"csd_name_fr\":\"McMasterville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.27590387366001,45.79010206501095],[-73.30880732661655,45.81362770728587],[-73.3504401414593,45.79128721030301],[-73.36977493769363,45.78552626238794],[-73.38166561227499,45.79130708795284],[-73.39432996995889,45.78053006925487],[-73.41997680396109,45.75242547176535],[-73.42152940402507,45.74534153831462],[-73.39441886233278,45.74929499611441],[-73.32255709979334,45.69211327615377],[-73.31035317501146,45.68262794882187],[-73.28812172140924,45.69614402573389],[-73.28022303322241,45.69570201569468],[-73.2618518791874,45.71109636304398],[-73.30157892405651,45.74153389701189],[-73.29829799822089,45.778976170044956],[-73.27590387366001,45.79010206501095]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.33393463005527,\"lat\":45.75002332543474},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2459\"],\"cd_name_en\":[\"Marguerite-D'Youville\"],\"csd_code\":[\"2459025\"],\"csd_name_en\":[\"Verch\\u00e8res\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Marguerite-D'Youville\",\"csd_name_fr\":\"Verch\\u00e8res\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.37989026483315,45.97706147954322],[-73.41922864455269,45.99201120067885],[-73.454666892814,46.013072638078754],[-73.48227429915266,45.99262176729896],[-73.4681415550311,45.98586944966623],[-73.44179877905728,45.9646737366032],[-73.43545861337768,45.953309547455994],[-73.45054191600977,45.93964062898713],[-73.42991705509895,45.9244224845218],[-73.4212584806124,45.92619716679005],[-73.39204338648766,45.90523480185209],[-73.36021462220641,45.93523908938803],[-73.3616648311594,45.94706368420749],[-73.37992894372182,45.95861146716943],[-73.37989026483315,45.97706147954322]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.41532960699396,\"lat\":45.95905383042672},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2461\"],\"cd_name_en\":[\"Joliette\"],\"csd_code\":[\"2461005\"],\"csd_name_en\":[\"Saint-Paul\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Joliette\",\"csd_name_fr\":\"Saint-Paul\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.46839328395109,46.02687767345952],[-73.47794605406023,46.03369115229138],[-73.50787356077772,46.01345972196766],[-73.51177595189424,46.01089634033198],[-73.48227429915266,45.99262176729896],[-73.454666892814,46.013072638078754],[-73.46839328395109,46.02687767345952]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.48188625620898,\"lat\":46.012912551633846},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2461\"],\"cd_name_en\":[\"Joliette\"],\"csd_code\":[\"2461020\"],\"csd_name_en\":[\"Saint-Pierre\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Joliette\",\"csd_name_fr\":\"Saint-Pierre\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.5406953343423,45.97237477501644],[-73.58009974043193,45.996397247903424],[-73.59878033045894,45.99374840229941],[-73.63000726655086,46.01043268353988],[-73.66085325186769,45.98828459406363],[-73.58927503580303,45.93855479330773],[-73.55815712700911,45.927902849956425],[-73.56597129022009,45.90012289299725],[-73.55003490619045,45.88895351243849],[-73.53251306050065,45.87657593613513],[-73.50135574766288,45.898053628092136],[-73.52072180925734,45.89662039122063],[-73.53155259097727,45.90739730058744],[-73.52291495214689,45.95102127276495],[-73.5045076620297,45.959738016084856],[-73.5406953343423,45.97237477501644]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.57391959855333,\"lat\":45.95340210399193},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2463\"],\"cd_name_en\":[\"Montcalm\"],\"csd_code\":[\"2463013\"],\"csd_name_en\":[\"Saint-Jacques\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Montcalm\",\"csd_name_fr\":\"Saint-Jacques\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.79355557434091,45.19707071029392],[-73.81390634009082,45.197703107861024],[-73.83128816441885,45.209898541498724],[-73.8460795018433,45.209627887597],[-73.85767168437849,45.21815650786889],[-73.91046897811084,45.196500141559596],[-73.95045159604553,45.16246344945066],[-73.87342907643105,45.103855300325534],[-73.87079681734743,45.10185136615469],[-73.77274816999774,45.16595339616029],[-73.79514194757668,45.181737307145745],[-73.78304911192534,45.18966297772801],[-73.79355557434091,45.19707071029392]],[[-73.85104212699117,45.191802051720195],[-73.84491274151148,45.183121628825475],[-73.85145548975362,45.18133412662838],[-73.85179680332453,45.18747052128683],[-73.8630916551454,45.19594449130961],[-73.85899912065294,45.19758987675538],[-73.85104212699117,45.191802051720195]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.86199057776363,\"lat\":45.16396155903018},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2469\"],\"cd_name_en\":[\"Le Haut-Saint-Laurent\"],\"csd_code\":[\"2469030\"],\"csd_name_en\":[\"Tr\\u00e8s-Saint-Sacrement\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Saint-Laurent\",\"csd_name_fr\":\"Tr\\u00e8s-Saint-Sacrement\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.09569268475381,45.371641605431],[-74.08246901973348,45.37836049245413],[-74.08158437167258,45.39270048605661],[-74.11194317551461,45.42275654267724],[-74.13379725078666,45.430013723766486],[-74.15855895548358,45.44386584435118],[-74.18178799947023,45.450419781384156],[-74.1936837924561,45.42854307144724],[-74.21788185487566,45.435124296254116],[-74.22976595431803,45.431842502987436],[-74.23034754040384,45.430005818558186],[-74.24272823873096,45.38887223942432],[-74.1948968680782,45.383506805517875],[-74.09569268475381,45.371641605431]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.16259281699325,\"lat\":45.406191205711124},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2471\"],\"cd_name_en\":[\"Vaudreuil-Soulanges\"],\"csd_code\":[\"2471105\"],\"csd_name_en\":[\"Saint-Lazare\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Vaudreuil-Soulanges\",\"csd_name_fr\":\"Saint-Lazare\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.30870026371056,45.83373697062676],[-74.29639504526145,45.88906219951499],[-74.33353474509906,45.8921248427804],[-74.44162019093183,45.905576318195216],[-74.44938433585877,45.90642346866372],[-74.45699807784192,45.87931508339464],[-74.46958739418587,45.86672132949845],[-74.4830480473279,45.8686590974771],[-74.47568367985969,45.898291223800406],[-74.49075305727106,45.89976065815171],[-74.4873314981702,45.91344808195893],[-74.50163287622227,45.91157773859673],[-74.50861289652737,45.89086358136034],[-74.5216403442428,45.821295458950196],[-74.53005573683146,45.802009277233296],[-74.53444914766563,45.77316312789224],[-74.53645190237488,45.76357706808889],[-74.51655709913616,45.76151745896106],[-74.44012611129493,45.752696408545226],[-74.43560896607663,45.77057362397997],[-74.4230728310076,45.846249494976384],[-74.4125726912271,45.846981315970964],[-74.30870026371056,45.83373697062676]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.43651809220172,\"lat\":45.8402919846289},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2477\"],\"cd_name_en\":[\"Les Pays-d'en-Haut\"],\"csd_code\":[\"2477060\"],\"csd_name_en\":[\"Wentworth-Nord\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Pays-d'en-Haut\",\"csd_name_fr\":\"Wentworth-Nord\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.63733694621673,46.05312887909092],[-74.62153505435603,46.08049910824332],[-74.64834334742216,46.084311525936826],[-74.64535319997532,46.096993215074775],[-74.66406500886212,46.100134777172],[-74.65935501927369,46.118045849519795],[-74.7059044128229,46.11790859297324],[-74.71175036931199,46.09955325974224],[-74.71162386096992,46.046944442232736],[-74.67818076916768,46.047391388290364],[-74.67524999320601,46.05930976013234],[-74.63733694621673,46.05312887909092]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.67680910874792,\"lat\":46.08120812933845},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2478\"],\"cd_name_en\":[\"Les Laurentides\"],\"csd_code\":[\"2478075\"],\"csd_name_en\":[\"Br\\u00e9beuf\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Laurentides\",\"csd_name_fr\":\"Br\\u00e9beuf\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.8734579096186,45.641102424073075],[-74.87399812615395,45.66500983002113],[-74.84244640936302,45.66007854714318],[-74.80057927887063,45.66289004376543],[-74.7731997090395,45.75450328153745],[-74.75372111696802,45.80133689768678],[-74.73511101530738,45.85233763256091],[-74.85172827206647,45.85463965301415],[-74.87649864452162,45.85922004284335],[-74.88418782068361,45.86066922103056],[-74.89990679686932,45.79482409603611],[-74.93219450703808,45.79864002374899],[-74.94799504741862,45.72155120161746],[-74.96178983415916,45.68794393010415],[-74.97988700501669,45.687521707892216],[-74.99113694390645,45.674101690478125],[-74.98249685035172,45.6549933262328],[-74.96587461079314,45.660930778175434],[-74.96637553172343,45.66762783337372],[-74.92353358286903,45.6700851336276],[-74.92376779043866,45.64546924355962],[-74.8734579096186,45.641102424073075]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.85504676400157,\"lat\":45.75219953543612},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2480\"],\"cd_name_en\":[\"Papineau\"],\"csd_code\":[\"2480015\"],\"csd_name_en\":[\"Notre-Dame-de-Bonsecours\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Papineau\",\"csd_name_fr\":\"Notre-Dame-de-Bonsecours\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.15351674104294,45.578399666688405],[-75.13483253752466,45.64461108884076],[-75.12962098942698,45.66104072377059],[-75.2623874379223,45.65487778821244],[-75.26241303108162,45.638658810129606],[-75.25794067498937,45.60888140419439],[-75.2458063399136,45.61013118925094],[-75.2325856725373,45.626305516310744],[-75.22804022145347,45.58746412821528],[-75.20531642630112,45.58685335162085],[-75.18037895157447,45.578342462273056],[-75.16331473933194,45.577818535101756],[-75.15351674104294,45.578399666688405]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.1940320295926,\"lat\":45.624216973137685},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2480\"],\"cd_name_en\":[\"Papineau\"],\"csd_code\":[\"2480055\"],\"csd_name_en\":[\"Lochaber\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Papineau\",\"csd_name_fr\":\"Lochaber\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.23620672549718,45.920549831223525],[-77.20809617075302,45.92344799884695],[-77.18847028749882,45.932154626222086],[-77.10310205967899,45.91330711534011],[-77.04893944592163,45.91344598936964],[-76.94951372039573,46.03054431290636],[-77.00587921607918,46.054694267473565],[-77.09570232991956,46.089371894838955],[-77.19634279535823,45.970086447602434],[-77.23868642101891,45.92290564102808],[-77.23620672549718,45.920549831223525]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.08578567894898,\"lat\":45.99124035977656},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2484\"],\"cd_name_en\":[\"Pontiac\"],\"csd_code\":[\"2484090\"],\"csd_name_en\":[\"Chichester\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Pontiac\",\"csd_name_fr\":\"Chichester\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.4641373202157,47.62635123578322],[-79.46429779530614,47.615611035097146],[-79.46166788558119,47.60549300100201],[-79.49078704672696,47.60426587733369],[-79.49091177954844,47.62646665325162],[-79.50427775277144,47.626460052168504],[-79.50433285793639,47.64823716602947],[-79.5175615440464,47.66008093787281],[-79.5176553747883,47.58104742149565],[-79.51362722698818,47.54962757539784],[-79.47390859656623,47.541130195690485],[-79.41891754141965,47.541144354937906],[-79.395450819341,47.54231756577542],[-79.3948691444256,47.58804792733831],[-79.38110777631435,47.58345308012385],[-79.37968403120627,47.62997591938739],[-79.4427320234139,47.63051605854748],[-79.4641373202157,47.62635123578322]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.45116743495223,\"lat\":47.58734576042403},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2485\"],\"cd_name_en\":[\"T\\u00e9miscamingue\"],\"csd_code\":[\"2485090\"],\"csd_name_en\":[\"Notre-Dame-du-Nord\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscamingue\",\"csd_name_fr\":\"Notre-Dame-du-Nord\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.08262209649163,48.51750093502349],[-79.08264099729608,48.56120335713434],[-79.20891792067196,48.56166484034869],[-79.29874076306861,48.56182758630369],[-79.2992361242056,48.57463226011605],[-79.32289362642244,48.574400770242285],[-79.32983337788157,48.56156637724959],[-79.51747401895227,48.561629470170324],[-79.51751668722851,48.503268780407424],[-79.29924144675721,48.50317310023977],[-79.29911254863217,48.51789013318865],[-79.08262209649163,48.51750093502349]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.31547211250557,\"lat\":48.53599683322916},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2487\"],\"cd_name_en\":[\"Abitibi-Ouest\"],\"csd_code\":[\"2487010\"],\"csd_name_en\":[\"Rapide-Danseur\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi-Ouest\",\"csd_name_fr\":\"Rapide-Danseur\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.80100800841228,48.58813051419651],[-77.80005067656779,48.69065080753748],[-77.85006903019651,48.69046022480603],[-77.8500529270637,48.7195367292452],[-77.8791866388695,48.71929736660825],[-78.03653833516903,48.719692912650686],[-78.03951488860854,48.675800613638216],[-78.02900481763699,48.661415536450725],[-78.05909979322894,48.66130820416678],[-78.06129806564257,48.632387846527934],[-78.20627651731014,48.63156086114391],[-78.2054633133734,48.57495253215215],[-78.22303648034351,48.57505431868074],[-78.22346444526555,48.56196870856512],[-78.22408600070872,48.503698536212056],[-78.20253593725033,48.50225795958157],[-78.20222226471665,48.51647470529634],[-78.10277369027469,48.51613382460396],[-78.00564428153739,48.515853082400504],[-77.99593335188456,48.517702080244355],[-77.99635932633646,48.53214298686524],[-78.01393587639441,48.5317430641381],[-78.01437469883912,48.56144432637415],[-77.99597756859256,48.56150437141702],[-77.99577061978552,48.57524845858049],[-77.98658216964988,48.58872235450593],[-77.80100800841228,48.58813051419651]],[[-78.13207708109242,48.600352003813995],[-78.11310397994599,48.60010133496801],[-78.11187463053024,48.59525283400059],[-78.13275014303585,48.59485262254987],[-78.13207708109242,48.600352003813995]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.00850683630006,\"lat\":48.615932484789006},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2488\"],\"cd_name_en\":[\"Abitibi\"],\"csd_code\":[\"2488055\"],\"csd_name_en\":[\"Amos\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi\",\"csd_name_fr\":\"Amos\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.06939298290571,48.28403192237567],[-72.25662007027817,48.3156518452986],[-72.29434914215697,48.2536239536155],[-72.37430379220638,48.12830871063149],[-72.45387272687059,47.99999706308211],[-72.31632601629926,47.99844063728517],[-72.24135713492011,47.99968514844316],[-72.12320377570158,47.9992793126226],[-72.08419269536057,47.99923690788401],[-72.07007733163377,47.999104322937455],[-72.06704969754324,47.998826385037916],[-72.04573740225149,48.01611629099261],[-72.0367779890107,48.02904499525303],[-72.01610331459857,48.03034489990883],[-71.97324429964763,48.05227619102234],[-71.96408580107142,48.08176090039677],[-71.93987799346141,48.09214090089522],[-71.92513220852842,48.103163201245856],[-71.8863216917975,48.144554483764146],[-71.8809647911183,48.16329159149103],[-71.887248182327,48.17792190678248],[-71.91976859504433,48.186771099704295],[-71.93140758128743,48.200442296383],[-71.92743490550505,48.21096128807466],[-71.94167398915428,48.224913909863986],[-71.95815799821324,48.25018834675248],[-72.0750405010363,48.26959979098257],[-72.06939298290571,48.28403192237567]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.16194351169634,\"lat\":48.1374495763678},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2491\"],\"cd_name_en\":[\"Le Domaine-du-Roy\"],\"csd_code\":[\"2491005\"],\"csd_name_en\":[\"Lac-Bouchette\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Domaine-du-Roy\",\"csd_name_fr\":\"Lac-Bouchette\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.5943497506558,48.658950240575024],[-71.5509019766955,48.76921292715995],[-71.54417286925045,48.78605377846134],[-71.56351184435219,48.78514306440784],[-71.58890304718383,48.76665331656782],[-71.64356377062461,48.752120487172014],[-71.65694360537528,48.75425044611037],[-71.69125186525172,48.77106228035788],[-71.69892310129988,48.784129302571124],[-71.7205793726825,48.800588953247214],[-71.72550538398323,48.79159498861674],[-71.75656811730721,48.709536414400944],[-71.76384905304404,48.68896645664324],[-71.5943497506558,48.658950240575024]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.65739600878173,\"lat\":48.72297541949543},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2493\"],\"cd_name_en\":[\"Lac-Saint-Jean-Est\"],\"csd_code\":[\"2493065\"],\"csd_name_en\":[\"L'Ascension-de-Notre-Seigneur\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Lac-Saint-Jean-Est\",\"csd_name_fr\":\"L'Ascension-de-Notre-Seigneur\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.91677849986877,49.04355295474827],[-68.05067288919055,49.294794145222326],[-68.04994705131618,49.3447133492292],[-68.31522731136242,49.34721238377371],[-68.38465662079162,49.34716889490069],[-68.38036350444527,49.33181539479132],[-68.36304399874588,49.33047128815034],[-68.34877330183109,49.322330806578506],[-68.3720199153142,49.3019154038619],[-68.3657261214269,49.29509239072557],[-68.38157879018544,49.282733493648486],[-68.38904741540935,49.26998769751889],[-68.40841409150674,49.251464996421205],[-68.40291328414531,49.23532120245261],[-68.39264867924226,49.23193880196884],[-68.3894263117271,49.20300196462556],[-68.50309860917888,49.2038240765916],[-68.49948115942114,49.19498182878995],[-68.45551893674725,49.19224200167167],[-68.43920039507621,49.185283173279764],[-68.38328579072432,49.18512598155144],[-68.34369004826517,49.18504077599928],[-68.32205536107686,49.18190165073501],[-68.29198174272153,49.18582864610605],[-68.2714383153425,49.177039232840706],[-68.23695952307625,49.17231062263638],[-68.18852492382408,49.176404875376804],[-68.15793991626326,49.17499354413409],[-68.11933918773266,49.164186544272866],[-68.10909763243544,49.14932980905758],[-68.0508881821556,49.09311357670787],[-67.97800024879908,49.01580927303799],[-67.94210735663195,49.033899136422235],[-67.91677849986877,49.04355295474827]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.1681660153274,\"lat\":49.22514599456717},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2496\"],\"cd_name_en\":[\"Manicouagan\"],\"csd_code\":[\"2496020\"],\"csd_name_en\":[\"Baie-Comeau\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Manicouagan\",\"csd_name_fr\":\"Baie-Comeau\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.21078708529875,50.210903397405154],[-66.17641686419555,50.20467463277126],[-66.17468575565186,50.214844248376735],[-66.20959379835632,50.22698850994772],[-66.21078708529875,50.210903397405154]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.19409976750046,\"lat\":50.21471640079907},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2497\"],\"cd_name_en\":[\"Sept-Rivi\\u00e8res--Caniapiscau\"],\"csd_code\":[\"2497804\"],\"csd_name_en\":[\"Maliotenam\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Sept-Rivi\\u00e8res--Caniapiscau\",\"csd_name_fr\":\"Maliotenam\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.60928021551449,52.870490078810036],[-63.62416284413126,52.862373184424655],[-63.60662662749724,52.849903560034136],[-63.61644805273414,52.841606167304015],[-63.65212495951944,52.85287548873075],[-63.676078447709465,52.84906689795019],[-63.64171444013944,52.837329029941365],[-63.64412199311804,52.82376004196687],[-63.66006411711471,52.81123666772585],[-63.68982340264442,52.808390910426375],[-63.719539419734566,52.79896928229788],[-63.71406585928978,52.78642222806124],[-63.72148561344275,52.770311800200936],[-63.751623422262824,52.768422894097796],[-63.76436429787156,52.774073484179475],[-63.81897527219312,52.75853048137964],[-63.85411100792528,52.773422817553595],[-63.87294126566978,52.77396224550021],[-63.89391859842999,52.76386667511281],[-63.89296328042921,52.75007300104158],[-63.92125866228721,52.75643868661947],[-63.918230132052216,52.74006478691314],[-63.93741723299058,52.7310242940778],[-63.98273490270808,52.72544236292161],[-64.00704103887186,52.7370491134104],[-64.03727482876559,52.73824470949828],[-64.03930484924885,52.72588417977145],[-64.06289502985705,52.725046026202484],[-64.07953478877322,52.73658666456034],[-64.08963499445899,52.733195721364346],[-64.1373823937749,52.72923508055903],[-64.14758041575506,52.71370322501388],[-64.12583056198652,52.69845753615413],[-64.12765782233407,52.686423269071575],[-64.15349421894435,52.67314206054712],[-64.17298998887291,52.67056246637333],[-64.15888248305387,52.65847732595222],[-64.15312464382015,52.64037433492401],[-64.17005793345098,52.623727885134166],[-64.16847655050839,52.61206360317701],[-64.15455037296343,52.6034325731676],[-64.16773063152455,52.595950914934086],[-64.17153849303179,52.584252586],[-64.194675804153,52.59577303230786],[-64.19912019874181,52.5817013421648],[-64.21112116116045,52.5736015021442],[-64.19140484552514,52.55425230204492],[-64.17022059836874,52.543563069751904],[-64.16708114880805,52.52876149495811],[-64.15194855237944,52.51992314422003],[-64.15687452951113,52.50380175439899],[-64.14471073458031,52.491604643670655],[-64.1425925845301,52.46786430563679],[-64.12778620878969,52.43426660074],[-64.13497410107857,52.424532628864874],[-64.11471812952631,52.42003822658696],[-64.10741715019265,52.40830313751632],[-64.10922908846868,52.39405671795625],[-64.12701910365523,52.383801673114554],[-64.13801185932222,52.3669257889056],[-64.16742499446885,52.36154157999946],[-64.17197616350843,52.33077922701209],[-64.16474232488754,52.314389104090715],[-64.18005280912482,52.306413374795085],[-64.19963454751233,52.305610621508556],[-64.21024217232592,52.3135946369014],[-64.22558327051034,52.3025042219906],[-64.20688998437645,52.29420477480161],[-64.20981391568925,52.284544063664804],[-64.2326800169696,52.28793466097799],[-64.24656135419175,52.27539665583747],[-64.2365284949674,52.263939451492874],[-64.2175548893319,52.257101978776795],[-64.22399305127618,52.229543858510816],[-64.20973780149099,52.2185490701495],[-64.20994715970788,52.2028372712722],[-64.19840297790616,52.18878826636526],[-64.20069285933198,52.17701634808093],[-64.18826832768609,52.16414641478523],[-64.1607974478914,52.1460107280384],[-64.17741102541572,52.13379869226817],[-64.16467301678732,52.12393843660874],[-64.17298725796654,52.11293738620616],[-64.21120662230935,52.13223452917908],[-64.23627427280465,52.12936268556122],[-64.2538529411351,52.12148327132279],[-64.24604104777463,52.103013167826255],[-64.25662311832954,52.097198809866974],[-64.25153778243607,52.079746989143004],[-64.29186602044305,52.07764915913706],[-64.2810572212324,52.05594418770163],[-64.26929815133266,52.046856396660296],[-64.27937834984407,52.037560545670466],[-64.24651634980239,52.000948681606175],[-64.23395175106874,51.99090441237364],[-64.23710505385162,51.97795992476195],[-64.28009965909324,51.974751312023365],[-64.2991849249579,51.98641224402863],[-64.32296605797295,51.99439605649022],[-64.3228573768461,52.00486409645168],[-64.34795825414301,52.001285582620454],[-64.34169224167844,51.98590031528584],[-64.34529932172096,51.97333096485473],[-64.34507064566215,51.937484006876005],[-64.35725776594077,51.92736729870578],[-64.34429935285664,51.91269584185121],[-64.34005726455783,51.89049470380208],[-64.35303578269388,51.8870489129769],[-64.35270342515136,51.84927594247369],[-64.33870206538545,51.82881633322477],[-64.30245518757688,51.80364361555238],[-64.3071593492615,51.788059670524554],[-64.30483193001434,51.762828145694876],[-64.27828931705395,51.74637854889529],[-64.27641151438065,51.73653685664734],[-64.29398816001905,51.72275032163512],[-64.30521086430632,51.7035623623517],[-64.32238967309598,51.698008849303854],[-64.32206253633854,51.6850416903204],[-64.3371252063513,51.66529480198071],[-64.3589225406146,51.67155433545285],[-64.37753722512501,51.66402760338825],[-64.39559220260327,51.66396296836861],[-64.41733164065874,51.67495526974589],[-64.4298862196316,51.66783000432311],[-64.43430317458393,51.65099270586111],[-64.45663670021004,51.62681936773562],[-64.49088984728519,51.60908219123774],[-64.50764502507535,51.60553939839847],[-64.54157748852808,51.58643366606622],[-64.554355793036,51.57580471165162],[-64.57537103189267,51.601779677212846],[-64.5873029882035,51.60945981014456],[-64.59687449262158,51.62764560797273],[-64.62417182788433,51.62898471288294],[-64.62596583431315,51.6468560560283],[-64.61688639839215,51.6514123644981],[-64.62110056512206,51.66807004637551],[-64.63777697648055,51.679224867559725],[-64.6535478158672,51.70153364029871],[-64.67738368588275,51.701387631917946],[-64.68811739807187,51.717027399761385],[-64.70786108417138,51.72926621372488],[-64.70975060152603,51.7559540969791],[-64.73090611263416,51.75217683355332],[-64.73942154862453,51.76147271113877],[-64.77309872743521,51.7531352250833],[-64.79403477668875,51.76116683057106],[-64.81176350988443,51.77779510593966],[-64.84781502019767,51.76249865537446],[-64.87217653019692,51.77004483649131],[-64.89223732930783,51.76877919914723],[-64.92467534496355,51.77785845882942],[-64.93863909943383,51.764432338678596],[-64.91982885932715,51.76083259495321],[-64.91644515487754,51.73495677737003],[-64.930705786493,51.71426156427522],[-64.9576764238231,51.71658727209585],[-64.987038341241,51.73143712452946],[-64.9992320251772,51.75000093950531],[-65.0203997806761,51.76138567816908],[-65.04921692256049,51.76964739820524],[-65.07103758735765,51.76219723247404],[-65.08258584571438,51.746198638121086],[-65.1077051041906,51.748738066895875],[-65.16230436837455,51.76458308175235],[-65.18041801089002,51.76561953373121],[-65.18606374724608,51.77560635869955],[-65.16871287324827,51.789762586525804],[-65.17290081990348,51.80964604905551],[-65.16961455397652,51.82207925871411],[-65.19535808075304,51.82147054053299],[-65.21018477621492,51.812928233892585],[-65.24053718583637,51.822706684256545],[-65.26510524014067,51.83895391041258],[-65.25387044917257,51.861474865447],[-65.30023284723359,51.87796694025319],[-65.3232994107619,51.87003320428978],[-65.31783829346293,51.850760679051646],[-65.33678479183833,51.82322714245244],[-65.35504789657499,51.82987601325324],[-65.36259440398038,51.86420761341462],[-65.38513323713025,51.87388687382603],[-65.39756997055143,51.89084734860499],[-65.39322764163084,51.914906936992246],[-65.37409698857397,51.91575399532047],[-65.35477939591159,51.94273797338669],[-65.37121702935164,51.96734475669722],[-65.38997618195614,51.96335010083529],[-65.41229096162888,51.97131125893643],[-65.4109758399262,51.98638300124524],[-65.42486167517984,51.99344156092831],[-65.42676960988959,52.00401417489737],[-65.4561845145193,52.01108679660097],[-65.49607681212454,52.05020601640233],[-65.49719355718001,52.06032483099598],[-65.49010414037988,52.10211055810393],[-65.49999998495949,52.11034883477045],[-65.50000000035095,51.86055715853328],[-65.500000001541,51.547789950370415],[-65.49999998315329,51.389916314986664],[-65.50000000600802,51.21988974474487],[-65.49999998963983,50.99999999406459],[-65.50075784614477,50.95635156418117],[-65.49888751741402,50.821101417709926],[-65.4999357868579,50.75795801554261],[-65.49915370314407,50.63481315769966],[-65.50000000721816,50.36972833376886],[-65.40139035171067,50.38290221977628],[-65.3817897515759,50.38838797560576],[-65.32128595151151,50.379758784984894],[-65.26974723449972,50.38099045335584],[-65.18093649226222,50.36858330767576],[-65.1163400875754,50.36828103975573],[-64.97282462676401,50.35030741193372],[-64.92548352356873,50.3562001210391],[-64.88905424354917,50.34949654697812],[-64.83398579706426,50.35967218390646],[-64.75354483097328,50.35534137237997],[-64.60657121488092,50.37091390414336],[-64.57967369067217,50.37617708532993],[-64.56341391842184,50.39179509828713],[-64.55338919728823,50.41828215252303],[-64.55570836137518,50.47022489495179],[-64.52158259017602,50.49250168836744],[-64.4801405058481,50.49148233828549],[-64.14073507684842,50.49400723825873],[-63.881129271908655,50.49512423740894],[-63.73012300177519,50.49541716156225],[-63.72966391933585,50.597111618981124],[-63.72705961887381,50.66566043209088],[-63.6127604322787,50.667138546037066],[-63.3029704399477,50.66806582304515],[-62.999999989531204,50.665391791905776],[-62.999999998512045,50.40545435181174],[-62.94709270395636,50.405442898199524],[-62.54496043064126,50.404436635333354],[-62.36375224268117,50.40345211508048],[-62.36137139933583,50.46809539818686],[-62.18692005603465,50.47319136416277],[-62.210160014286586,50.45502599128122],[-62.20918227850543,50.44708410369923],[-62.18734230041889,50.42854121288892],[-62.186933997993016,50.42171970704697],[-61.79426201967635,50.42511858704015],[-61.785770139601084,50.42114845471521],[-61.77865100951672,50.39497756230703],[-61.765491221039895,50.382387088323135],[-61.76453158608669,50.37057679971612],[-61.784345798861686,50.34963487152288],[-61.79296027886644,50.31626487208712],[-61.81271410559657,50.29309661132006],[-61.82781003217948,50.28195795971759],[-61.82152462183302,50.27124715269227],[-61.7897154811164,50.273474323901944],[-61.72785885635237,50.29367511665582],[-61.712653031213144,50.28815978483398],[-61.69318030963093,50.23928238683397],[-61.5646811871799,50.23926954762257],[-61.58855997744433,50.25436415383452],[-61.63224888222567,50.258998450481826],[-61.638885976090016,50.262854925407],[-61.64476606223028,50.29095362974553],[-61.61056043856193,50.313624089800825],[-61.62078049109489,50.31887649283298],[-61.653365381571085,50.32046497861242],[-61.66477750254052,50.331274714399],[-61.672987410284605,50.36381308358325],[-61.67272115971576,50.38170776759577],[-61.689036106734,50.407571516308806],[-61.68526862679085,50.41705696691243],[-61.71809385002233,50.4349107176138],[-61.69671285205282,50.472921972981744],[-61.70159233440739,50.50725912137039],[-61.695829071756314,50.54636001434931],[-61.70338396120821,50.566540465667366],[-61.68553158015626,50.6252813477109],[-61.67164633770658,50.64515206295018],[-61.674009741613744,50.6742743020201],[-61.66250043707674,50.696510079661046],[-61.65103360278527,50.70676062463245],[-61.64284607392325,50.725381641217766],[-61.62783017543946,50.73209433657693],[-61.63332761990918,50.753268362923215],[-61.65453003102288,50.75887387997149],[-61.697905920074575,50.79086951212602],[-61.70330976365445,50.85940506522876],[-61.69870409206106,50.863615222724185],[-61.70521284839056,50.886564519835495],[-61.71425667132041,50.8960862827082],[-61.6888162746844,50.90199522127654],[-61.660121558108685,50.89675017133096],[-61.652942649904695,50.90393982307267],[-61.659340270139474,50.921816269771774],[-61.6339048331665,50.94285205647783],[-61.6182433112558,50.946561530463875],[-61.61289854898478,50.98902838767502],[-61.60057730356137,51.004105162838925],[-61.55796646498887,51.0215359628286],[-61.546758512688776,51.03672072213044],[-61.55228976665463,51.04763358766681],[-61.537287374135516,51.060218668623776],[-61.53717181589292,51.08887901689417],[-61.57725561314538,51.10677979045872],[-61.600103424023835,51.113871337606255],[-61.59337670954013,51.12809681703969],[-61.61118728273534,51.144613403878836],[-61.61091810022952,51.15361527464887],[-61.64293888352475,51.1760937921558],[-61.686628116347755,51.20199402693742],[-61.70780626285803,51.21124950117814],[-61.7259087731681,51.243567852556936],[-61.71282742654103,51.25458166229947],[-61.68715679254809,51.28925895468006],[-61.69178918899208,51.30090452465646],[-61.68003224199347,51.31109504681578],[-61.670157254839246,51.331843146369714],[-61.68770429637577,51.34258079151834],[-61.76755499891086,51.343963101602526],[-61.77102491776828,51.352264256031226],[-61.79513417380951,51.37211464530007],[-61.805485416282465,51.40166501132111],[-61.800068157622945,51.40550956184504],[-61.80141300700521,51.43187473338084],[-61.796800441840915,51.448050248884314],[-61.8039627432466,51.45747950274591],[-61.787001349817764,51.47725025246476],[-61.80771905964536,51.48251875403746],[-61.81005494985775,51.49827596519983],[-61.83545652470843,51.50559972284692],[-61.83394139988674,51.52558674635811],[-61.87038685768104,51.553312200946365],[-61.858563755562734,51.578055636686095],[-61.860971085842436,51.59660327107754],[-61.84354967539877,51.605008824636926],[-61.8582585352623,51.61686665902297],[-61.862493937830266,51.6384387380131],[-61.859310059382075,51.65433944478391],[-61.88706333065944,51.667608958490476],[-61.90891033281439,51.704130869059476],[-61.906596191461404,51.715561052694866],[-61.92170352761963,51.743532827389664],[-61.97688956836461,51.75680702532038],[-61.98731845391724,51.77065085697573],[-62.00673972408564,51.768708946014485],[-62.013838768817855,51.790708588916935],[-62.02364637112478,51.79548330549403],[-62.0303485587619,51.81578448755864],[-62.04688554906955,51.82162068974684],[-62.03505586004759,51.866532686439115],[-62.04718227309916,51.87324396602225],[-62.045803115316495,51.88527054360588],[-62.06945887389624,51.893929734630724],[-62.074911360634644,51.903067913265645],[-62.11216225014484,51.90951673971153],[-62.13673278708425,51.93186920083499],[-62.15323976280446,51.990738642192795],[-62.147280155442125,51.99712797685649],[-62.500000011528634,51.99730664359541],[-62.844182289211744,51.99695712266408],[-63.22552843749317,51.997398488152164],[-63.53300431197396,51.99728463594501],[-63.80146264007816,51.99784367602042],[-63.80038991830375,52.00978241315725],[-63.81243371649178,52.032027623217076],[-63.827465408938046,52.039806467096206],[-63.841138362287786,52.05649827456063],[-63.83587189042279,52.0816705877988],[-63.821041121163056,52.08673329417538],[-63.77013059157645,52.07929129988552],[-63.73916160740731,52.06329108767544],[-63.72353740643983,52.060298700740304],[-63.70000682615954,52.044805794294696],[-63.681477488695755,52.05401808322885],[-63.66283637946497,52.041200295809105],[-63.65703270168687,52.05383821406399],[-63.66214241611111,52.06642829807428],[-63.707994190815214,52.0933343985379],[-63.695284193329925,52.104436888475746],[-63.69077070864255,52.12302059756711],[-63.70695942094271,52.16058060022921],[-63.69884530703598,52.16535020324074],[-63.71752748420351,52.18603339789866],[-63.711915708414736,52.19787810085458],[-63.728022923321596,52.21890249610226],[-63.74859169878047,52.23024169385791],[-63.755719278877926,52.242737101610636],[-63.75060370229737,52.258355989728294],[-63.77812750658227,52.27387080924282],[-63.7716778877313,52.28277540270965],[-63.803742189703954,52.30138199728359],[-63.80035917950901,52.31014820401019],[-63.77630990265242,52.31344659926805],[-63.76479538683164,52.3079618998917],[-63.74448621469004,52.31523269470789],[-63.76811901580021,52.32788740582872],[-63.82803109477878,52.33445170511613],[-63.86103900457792,52.31905299195945],[-63.906175912334625,52.33412589273697],[-63.909740984250504,52.34076610527186],[-63.935235176372004,52.34273390396505],[-63.96591089779265,52.35730059111482],[-63.97781437406139,52.35514610517344],[-64.01456000775494,52.363727093223815],[-64.03740906365583,52.39211714973633],[-64.02592013178963,52.405781067857724],[-64.05125486830211,52.42781884924662],[-64.0897002673864,52.44592801519895],[-64.0973547584267,52.454338032306914],[-64.09686665530869,52.47436166332854],[-64.0876772339697,52.50651419282307],[-64.07189729683957,52.51313008676167],[-64.04700622319149,52.5441620274586],[-64.04673513753903,52.55895808943527],[-64.0157375188593,52.577143135226564],[-63.97906500878012,52.58574613745747],[-63.96755817792069,52.59496184357265],[-63.9504906279353,52.59613997898357],[-63.93586545871518,52.6055501845471],[-63.92202285284281,52.59842619615092],[-63.90100168644921,52.61382579454425],[-63.85040171229078,52.625849907627334],[-63.83007070652613,52.62354260336143],[-63.80311380942173,52.62971330902191],[-63.772179413765386,52.63246070525965],[-63.71645749677402,52.630933506505265],[-63.688172286321375,52.63736169767716],[-63.66813719379008,52.6366157919648],[-63.64023179339233,52.64364478300679],[-63.59727339456635,52.64794530507253],[-63.56524689401184,52.64621049877875],[-63.52908030394835,52.650727386681616],[-63.48228710794831,52.6504700000244],[-63.44416290522726,52.64469539412977],[-63.41943159581254,52.649774268228626],[-63.41354430135027,52.659423696074406],[-63.38068613572807,52.665175944336404],[-63.39853726941603,52.68191355753786],[-63.43857594302469,52.698726056692124],[-63.45932498880424,52.71791360972892],[-63.49708777902775,52.72424000064665],[-63.526349961149435,52.72537495261156],[-63.55096281533559,52.738018085064056],[-63.57586122238545,52.76096405939689],[-63.61769892290555,52.77166965863166],[-63.615956947818795,52.79063792183731],[-63.59539896652578,52.79427750033454],[-63.59204748404326,52.80905122373708],[-63.59974758284293,52.824318908293186],[-63.58491527947255,52.84140452637738],[-63.6107776124916,52.858279491409355],[-63.60928021551449,52.870490078810036]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.601179875102886,\"lat\":51.238205322478386},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2498\"],\"cd_name_en\":[\"Minganie--Le Golfe-du-Saint-Laurent\"],\"csd_code\":[\"2498904\"],\"csd_name_en\":[\"Lac-J\\u00e9r\\u00f4me\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Minganie--Le Golfe-du-Saint-Laurent\",\"csd_name_fr\":\"Lac-J\\u00e9r\\u00f4me\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.55190189117549,56.52375639088903],[-76.45520392756453,56.5226319375337],[-76.45315438807332,56.56767542153773],[-76.54443442564443,56.568845911594465],[-76.55447750223306,56.554244680981455],[-76.54123267923454,56.5358491916429],[-76.55190189117549,56.52375639088903]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.50118770618893,\"lat\":56.54596937903053},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499080\"],\"csd_name_en\":[\"Umiujaq\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village nordique\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Umiujaq\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.62553464975345,45.63457356068337],[-74.63806070990528,45.63875815128382],[-74.67831623910911,45.63245738316202],[-74.72934567182479,45.628326087615044],[-74.77968901604974,45.63799245129012],[-74.82358870535795,45.54690800490841],[-74.6920272144042,45.54723249482838],[-74.74144908985505,45.4425037069908],[-74.61364960934881,45.49536098989193],[-74.5802656871921,45.561043828199544],[-74.56249897552492,45.60648443567953],[-74.57716936503542,45.611560571928436],[-74.58742980151484,45.58896650418884],[-74.62864079818662,45.59886480966318],[-74.64366678954562,45.60924930558312],[-74.62553464975345,45.63457356068337]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.68830299804102,\"lat\":45.56091098364485},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3502\"],\"cd_name_en\":[\"Prescott and Russell\"],\"csd_code\":[\"3502010\"],\"csd_name_en\":[\"Champlain\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Prescott and Russell\",\"csd_name_fr\":\"Champlain\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.99734046674197,44.89070121933263],[-75.96965275966011,44.905611162162536],[-76.00125011710718,44.90406708307888],[-76.02156800086387,44.914253396543124],[-76.02871221717432,44.9091652277292],[-76.02984339777863,44.89598496673952],[-76.01593917329151,44.87747703410962],[-76.00398459420137,44.89003399646635],[-75.99734046674197,44.89070121933263]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.0091917839413,\"lat\":44.89796870401911},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3509\"],\"cd_name_en\":[\"Lanark\"],\"csd_code\":[\"3509004\"],\"csd_name_en\":[\"Smiths Falls\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Lanark\",\"csd_name_fr\":\"Smiths Falls\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.07500271209403,45.19161470903276],[-76.1477045109712,45.25027429821959],[-76.21073448445993,45.30296449108101],[-76.22973375542053,45.3133269067552],[-76.34349157921994,45.40010401233431],[-76.35397110689236,45.41055763245136],[-76.36569938713258,45.40229933754383],[-76.42845176454553,45.35804203389624],[-76.50560853946094,45.30997391772061],[-76.3664540609962,45.201373073289524],[-76.2540914940472,45.11189868903913],[-76.22722408115138,45.09214936615031],[-76.22392258645661,45.09421649965296],[-76.16149879726709,45.136028902211585],[-76.15596356630635,45.149995753820455],[-76.13939825906397,45.15142341969808],[-76.07500271209403,45.19161470903276]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.28980256625992,\"lat\":45.250845690616025},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3509\"],\"cd_name_en\":[\"Lanark\"],\"csd_code\":[\"3509030\"],\"csd_name_en\":[\"Mississippi Mills\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Lanark\",\"csd_name_fr\":\"Mississippi Mills\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.41291689833831,44.514668944147076],[-77.3818300151843,44.52226843034505],[-77.46550384902645,44.68702799069501],[-77.4756991053719,44.68501082083756],[-77.5383317117205,44.67344240973108],[-77.58454731418192,44.66140650380273],[-77.63024409733835,44.645388733431474],[-77.5560662391801,44.47834687844066],[-77.55288621461803,44.479139216360956],[-77.4830989758013,44.49699379118807],[-77.47662785998965,44.51357540665333],[-77.45881109755476,44.50638220370229],[-77.41291689833831,44.514668944147076]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.50916675919952,\"lat\":44.58455582581105},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3512\"],\"cd_name_en\":[\"Hastings\"],\"csd_code\":[\"3512036\"],\"csd_name_en\":[\"Madoc\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Hastings\",\"csd_name_fr\":\"Madoc\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.72049088632815,44.81360190521017],[-77.74003519250581,44.852923697070025],[-77.7509695002107,44.881602311040204],[-77.77358219544524,44.91606390373308],[-77.78919485350664,44.95195505854013],[-77.85655678462503,44.931529099210046],[-77.87561854842511,44.92811918888827],[-77.95761770170277,44.905259100582796],[-77.88448063294754,44.76988667141803],[-77.75673091262158,44.80475881352809],[-77.72049088632815,44.81360190521017]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.83797806758122,\"lat\":44.860460498288916},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3512\"],\"cd_name_en\":[\"Hastings\"],\"csd_code\":[\"3512054\"],\"csd_name_en\":[\"Wollaston\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Hastings\",\"csd_name_fr\":\"Wollaston\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.75402232045735,43.96364082942463],[-77.78385058142642,44.02663150325257],[-77.85154287943494,44.17789133380962],[-77.97393221844247,44.147764788149615],[-77.88993132859437,43.961413322681224],[-77.84498172659852,43.958992133889424],[-77.78736607780895,43.959225615489885],[-77.74909772436929,43.95288567126789],[-77.75402232045735,43.96364082942463]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.86481982657448,\"lat\":44.06083598933436},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3514\"],\"cd_name_en\":[\"Northumberland\"],\"csd_code\":[\"3514014\"],\"csd_name_en\":[\"Cramahe\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Northumberland\",\"csd_name_fr\":\"Cramahe\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.51326099598897,43.19847176072718],[-79.55144949800415,43.20983330521164],[-79.57932635845313,43.21024147991456],[-79.61879413410011,43.23337172699954],[-79.62229450276097,43.22575109412319],[-79.64964000650859,43.16312998898839],[-79.51213761190743,43.13260600313033],[-79.51326099598897,43.19847176072718]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.57544604524695,\"lat\":43.17939338129575},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3526\"],\"cd_name_en\":[\"Niagara\"],\"csd_code\":[\"3526065\"],\"csd_name_en\":[\"Grimsby\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Niagara\",\"csd_name_fr\":\"Grimsby\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.08995570245703,43.420047497323814],[-81.13308588707604,43.43937389265943],[-81.02730360144145,43.56422060237001],[-81.14735028401645,43.61399400074033],[-81.18308609291856,43.62870000312438],[-81.28458830658718,43.50620649391341],[-81.34983449523162,43.534569000281515],[-81.44303828527866,43.424077991141786],[-81.33761149760441,43.3777228055538],[-81.30110329024278,43.38163359445037],[-81.29697769972313,43.36094309549454],[-81.2868103146966,43.35605260982876],[-81.20264841692843,43.31838649623409],[-81.17462480915586,43.32126921190766],[-81.08995570245703,43.420047497323814]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.2225404385164,\"lat\":43.46783778768865},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3531\"],\"cd_name_en\":[\"Perth\"],\"csd_code\":[\"3531025\"],\"csd_name_en\":[\"West Perth\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Perth\",\"csd_name_fr\":\"West Perth\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.46531971430863,42.059860871125835],[-82.46338160744527,42.08823839068257],[-82.46781752131699,42.10568307358701],[-82.46192754556114,42.109518586470074],[-82.45789981706531,42.165361490501326],[-82.63573758526249,42.171681096094154],[-82.64334510043231,42.060914389479684],[-82.66057590248187,41.83473685186773],[-82.64064891730095,41.847278307402675],[-82.62396235994531,41.84070908080562],[-82.61456910006012,41.82486668353119],[-82.6066784708407,41.8008953797458],[-82.61129340019724,41.777827558107845],[-82.6004543572071,41.75143707249839],[-82.60210994386058,41.74372632070501],[-82.62834288222368,41.729698425814234],[-82.64838296090763,41.727041361364485],[-82.65075457223934,41.70717629143556],[-82.66950331324635,41.70166024301556],[-82.67072093483388,41.676964327692694],[-82.50000000204349,41.677055104043326],[-82.5000000108028,41.96878736786541],[-82.49296974351073,41.98651757635747],[-82.46903987853422,42.00003825123706],[-82.46531971430863,42.059860871125835]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.56408944018735,\"lat\":41.9393629320658},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3537\"],\"cd_name_en\":[\"Essex\"],\"csd_code\":[\"3537003\"],\"csd_name_en\":[\"Leamington\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Essex\",\"csd_name_fr\":\"Leamington\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.66057590248187,41.83473685186773],[-82.64334510043231,42.060914389479684],[-82.63573758526249,42.171681096094154],[-82.80395049276767,42.17726410849203],[-82.81387179502589,42.16431010100712],[-82.82594570676534,41.99797470517202],[-82.83846455570416,41.83281302169157],[-82.76101405726287,41.81207831938702],[-82.7429807973583,41.80891884007263],[-82.71733402997576,41.81160150527487],[-82.70260276756733,41.82486307980678],[-82.68243957095166,41.83055773547546],[-82.66826734282257,41.82628571376618],[-82.66057590248187,41.83473685186773]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.73736452132349,\"lat\":41.997342915609906},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3537\"],\"cd_name_en\":[\"Essex\"],\"csd_code\":[\"3537013\"],\"csd_name_en\":[\"Kingsville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Essex\",\"csd_name_fr\":\"Kingsville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.13405746665752,42.784045318157865],[-82.13444255659525,42.77181777866632],[-82.09731758139834,42.771204581930576],[-82.09596237861572,42.79517159533002],[-82.13362262742523,42.79611261346679],[-82.13405746665752,42.784045318157865]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.11538273209092,\"lat\":42.78360718713168},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3538\"],\"cd_name_en\":[\"Lambton\"],\"csd_code\":[\"3538018\"],\"csd_name_en\":[\"Oil Springs\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Lambton\",\"csd_name_fr\":\"Oil Springs\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.01645616450834,43.21621090560945],[-82.02334985027984,43.199958811645566],[-82.01767810195948,43.17883490428844],[-81.98925918259982,43.179420605010606],[-81.98945677346495,43.206542046597704],[-82.00953674970165,43.208366090068985],[-82.01645616450834,43.21621090560945]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.00578979043507,\"lat\":43.19447967308561},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3538\"],\"cd_name_en\":[\"Lambton\"],\"csd_code\":[\"3538056\"],\"csd_name_en\":[\"Kettle Point 44\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Lambton\",\"csd_name_fr\":\"Kettle Point 44\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.10598301069223,44.45289080848846],[-81.12701261472962,44.54455749002439],[-81.2678291977735,44.51938899409273],[-81.28954441450469,44.51545590611],[-81.28731294016295,44.50833129798777],[-81.3286245111022,44.50111549752355],[-81.3152517163046,44.48849997787586],[-81.31212224919787,44.47108925356851],[-81.32330648716822,44.4585891629647],[-81.28350680020624,44.318545211014744],[-81.26650961596572,44.25910030126855],[-81.06943911066072,44.28833960262022],[-81.10598301069223,44.45289080848846]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.19795692202734,\"lat\":44.39984087417332},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3541\"],\"cd_name_en\":[\"Bruce\"],\"csd_code\":[\"3541043\"],\"csd_name_en\":[\"Arran-Elderslie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Bruce\",\"csd_name_fr\":\"Arran-Elderslie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.02570845444671,44.13331714292257],[-81.00589625654506,44.13659021224402],[-81.01277626829545,44.15399068452007],[-80.993411913342,44.15748413265895],[-80.99649098100984,44.1664322532575],[-81.0110082156699,44.17350489820321],[-81.03594679767365,44.169555697174076],[-81.04191430722075,44.151109915462754],[-81.0397480645072,44.14069411258629],[-81.02570845444671,44.13331714292257]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.02071769709724,\"lat\":44.15447796754779},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3542\"],\"cd_name_en\":[\"Grey\"],\"csd_code\":[\"3542029\"],\"csd_name_en\":[\"Hanover\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Grey\",\"csd_name_fr\":\"Hanover\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.51785341621995,44.18157520750853],[-79.51967915919698,44.196446824856196],[-79.512654085666,44.21011130394178],[-79.71192097415499,44.1660640428451],[-79.69664983114906,44.1177907938222],[-79.69616627367598,44.10482216176994],[-79.67041827051331,44.0128721493188],[-79.61307605158156,44.032774599886324],[-79.61559603963862,44.04675150481601],[-79.59910323215401,44.04794590268064],[-79.55688086326435,44.07574965980245],[-79.54314992641896,44.12354883188123],[-79.54123839577248,44.146291870095986],[-79.53183718641075,44.150829059634624],[-79.51626832809077,44.16586511129013],[-79.51785341621995,44.18157520750853]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.61701193277746,\"lat\":44.11992039062068},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3543\"],\"cd_name_en\":[\"Simcoe\"],\"csd_code\":[\"3543014\"],\"csd_name_en\":[\"Bradford West Gwillimbury\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Simcoe\",\"csd_name_fr\":\"Bradford West Gwillimbury\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.00108547545943,45.10549930603549],[-79.01816896260196,45.138026940847176],[-79.17505354749677,45.09510244842986],[-79.21949589612677,45.17981379085655],[-79.37322631558023,45.14088180825789],[-79.3945575304436,45.13610435779818],[-79.35283941674601,45.05861930326033],[-79.41004879708665,45.04396084028578],[-79.4449877130629,45.04555135151031],[-79.44030574091329,45.00004831236599],[-79.43144515473648,44.98147412923699],[-79.38271351935467,44.99313480859843],[-79.3754952936581,44.97799314917518],[-79.29778594964513,44.994369017627456],[-79.26224268691944,44.9149982000566],[-79.11929894457725,44.949962965135796],[-79.10028262257026,44.954483665175324],[-79.09385061288941,44.94283055820221],[-78.93439266429668,44.985642176962315],[-79.00108547545943,45.10549930603549]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.1906389406258,\"lat\":45.042589201795224},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3544\"],\"cd_name_en\":[\"Muskoka\"],\"csd_code\":[\"3544018\"],\"csd_name_en\":[\"Bracebridge\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Muskoka\",\"csd_name_fr\":\"Bracebridge\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.04668625465621,45.09099810634253],[-80.04456270411316,45.077246570359144],[-80.03189147750277,45.079710385572156],[-80.0342226152301,45.08745586794958],[-80.04668625465621,45.09099810634253]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.03991045077977,\"lat\":45.083773674955374},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3544\"],\"cd_name_en\":[\"Muskoka\"],\"csd_code\":[\"3544073\"],\"csd_name_en\":[\"Moose Point 79\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Muskoka\",\"csd_name_fr\":\"Moose Point 79\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.31527217848159,45.4355799610029],[-76.35729765709493,45.445396684541905],[-76.38458748691964,45.42854070870197],[-76.37749889745542,45.42301859309223],[-76.38628118624577,45.41096210035824],[-76.36569938713258,45.40229933754383],[-76.35397110689236,45.41055763245136],[-76.31527217848159,45.4355799610029]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.35605950412237,\"lat\":45.42572280487879},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3547\"],\"cd_name_en\":[\"Renfrew\"],\"csd_code\":[\"3547002\"],\"csd_name_en\":[\"Arnprior\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Renfrew\",\"csd_name_fr\":\"Arnprior\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.29621681486712,45.46453156188991],[-76.31703736936262,45.45702294874291],[-76.36174370369133,45.457094596270906],[-76.38618459720306,45.46472634192107],[-76.43351663220739,45.492076140982235],[-76.45356576093667,45.500389681865705],[-76.4815451324149,45.50482870736347],[-76.49395643911961,45.513454995585846],[-76.4977135569026,45.516325683025],[-76.59103713346096,45.45164473365731],[-76.64277803340435,45.41902141739546],[-76.50560853946094,45.30997391772061],[-76.42845176454553,45.35804203389624],[-76.36569938713258,45.40229933754383],[-76.38628118624577,45.41096210035824],[-76.37749889745542,45.42301859309223],[-76.38458748691964,45.42854070870197],[-76.35729765709493,45.445396684541905],[-76.31527217848159,45.4355799610029],[-76.29739427328802,45.447297852888035],[-76.29621681486712,45.46453156188991]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.48773970858358,\"lat\":45.41829130657805},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3547\"],\"cd_name_en\":[\"Renfrew\"],\"csd_code\":[\"3547003\"],\"csd_name_en\":[\"McNab\\/Braeside\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Renfrew\",\"csd_name_fr\":\"McNab\\/Braeside\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.23342415073076,46.00089831015578],[-79.09365732454076,46.03984969330692],[-79.15775050035289,46.15957663278604],[-79.17647885318436,46.19446121551149],[-79.31858859287529,46.156523938016605],[-79.31376209198201,46.14802278788053],[-79.2715932833588,46.07204130115248],[-79.26029546114482,46.05454965004166],[-79.23342415073076,46.00089831015578]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.20540170152483,\"lat\":46.098249369684034},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3548\"],\"cd_name_en\":[\"Nipissing\"],\"csd_code\":[\"3548031\"],\"csd_name_en\":[\"Chisholm\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Nipissing\",\"csd_name_fr\":\"Chisholm\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.17647885318436,46.19446121551149],[-79.20579841709768,46.245231982281595],[-79.23879641411375,46.30764665666058],[-79.25595889576567,46.31312812213877],[-79.32073960530363,46.312189873306565],[-79.36149169467427,46.31994185127702],[-79.38536471187248,46.317561532538114],[-79.3613335914509,46.28683294489757],[-79.34038631051804,46.24829202855598],[-79.36612695526881,46.241899898253536],[-79.31858859287529,46.156523938016605],[-79.17647885318436,46.19446121551149]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.28266868886585,\"lat\":46.24132820966491},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3548\"],\"cd_name_en\":[\"Nipissing\"],\"csd_code\":[\"3548034\"],\"csd_name_en\":[\"East Ferris\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Nipissing\",\"csd_name_fr\":\"East Ferris\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.25595889576567,46.31312812213877],[-79.2574005422023,46.44797516095176],[-79.5051679536341,46.44744179047062],[-79.50267570686631,46.325478678966334],[-79.50106639415489,46.308746648112084],[-79.49999999016097,46.22282554006117],[-79.42334795215768,46.22700412530132],[-79.36612695526881,46.241899898253536],[-79.34038631051804,46.24829202855598],[-79.3613335914509,46.28683294489757],[-79.38536471187248,46.317561532538114],[-79.36149169467427,46.31994185127702],[-79.32073960530363,46.312189873306565],[-79.25595889576567,46.31312812213877]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.39389379244844,\"lat\":46.3516233243715},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3548\"],\"cd_name_en\":[\"Nipissing\"],\"csd_code\":[\"3548044\"],\"csd_name_en\":[\"North Bay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Nipissing\",\"csd_name_fr\":\"North Bay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.0771446474975,46.99271629636813],[-80.0811900337952,46.98382069328684],[-80.07337235241424,46.97812551236778],[-80.06586315405976,46.988026295237205],[-80.0771446474975,46.99271629636813]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.0741016938062,\"lat\":46.98574744672031},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3548\"],\"cd_name_en\":[\"Nipissing\"],\"csd_code\":[\"3548072\"],\"csd_name_en\":[\"Bear Island 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Nipissing\",\"csd_name_fr\":\"Bear Island 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-83.31864709348534,47.83528675552168],[-83.33662408289922,47.84269240653677],[-83.33628780015783,47.828144947058426],[-83.31864709348534,47.83528675552168]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-83.33051965884748,\"lat\":47.835374703038966},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3552\"],\"cd_name_en\":[\"Sudbury\"],\"csd_code\":[\"3552054\"],\"csd_name_en\":[\"Duck Lake 76B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Sudbury\",\"csd_name_fr\":\"Duck Lake 76B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-87.2318988112819,48.756963759265574],[-87.22515426032595,48.49299461894172],[-86.98699571715595,48.49259367074847],[-86.99006228666178,48.53525877903059],[-86.92071081144182,48.53604643286772],[-86.92215245169155,48.57828926793579],[-86.92262820618018,48.728599412699445],[-86.99121889499946,48.72899889055787],[-86.99238493470484,48.86468611541803],[-87.0557715091019,48.8655338055703],[-87.05682492656304,48.85038732935605],[-87.07764435504505,48.85116757386475],[-87.07540732023044,48.82847177126461],[-87.102163386832,48.82922640888326],[-87.23210710632193,48.82457830270859],[-87.2318988112819,48.756963759265574]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-87.08630096877853,\"lat\":48.66221475620839},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3558\"],\"cd_name_en\":[\"Thunder Bay\"],\"csd_code\":[\"3558054\"],\"csd_name_en\":[\"Terrace Bay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Thunder Bay\",\"csd_name_fr\":\"Terrace Bay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-87.56624414788995,48.89172805717043],[-87.56846349956076,48.87812949241104],[-87.55007594657,48.878438381708825],[-87.54943750765176,48.89274633102879],[-87.56624414788995,48.89172805717043]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-87.55848537616447,\"lat\":48.88515393855836},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3558\"],\"cd_name_en\":[\"Thunder Bay\"],\"csd_code\":[\"3558063\"],\"csd_name_en\":[\"Pays Plat 51\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Thunder Bay\",\"csd_name_fr\":\"Pays Plat 51\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-93.34095783919102,50.84917776796102],[-93.37227323555123,50.84207343164068],[-93.41637506898275,50.82784183668055],[-93.43141086681293,50.81851399568299],[-93.47892461142439,50.801873203290874],[-93.51170203786887,50.72734350347254],[-93.51936075958332,50.687116867855536],[-93.49999999833167,50.671422742591275],[-93.48096476862801,50.66924486271078],[-93.44580773410625,50.6716399293088],[-93.45200175312024,50.65406109185196],[-93.40600149940272,50.65133342005155],[-93.34831598409468,50.658559910283664],[-93.33170388630862,50.657254031982596],[-93.3133488028025,50.636175754096655],[-93.3082599742703,50.617873848694735],[-93.28574567215543,50.609217290103686],[-93.2707397489719,50.61117097500466],[-93.27167098698246,50.56300991459901],[-93.13696375744016,50.56399778314345],[-93.13609541983793,50.62847967295662],[-93.14535652778422,50.64819225969816],[-93.15933003803437,50.648554544158856],[-93.17464689364708,50.65878851892081],[-93.1763411463912,50.68184162337978],[-93.16857723139981,50.69471891726098],[-93.17536621137323,50.70226772008669],[-93.24615263821653,50.70518651958865],[-93.28361333123424,50.698626424579665],[-93.28167502358944,50.84396140525509],[-93.31936406397489,50.835946955637944],[-93.34095783919102,50.84917776796102]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-93.32988896816043,\"lat\":50.704642721871316},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560032\"],\"csd_name_en\":[\"Ear Falls\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Ear Falls\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-90.09157410024595,51.14840237870318],[-90.09041178429598,51.25019361332986],[-90.09792164913512,51.24610202699298],[-90.1132444369659,51.2443168284508],[-90.15070795271346,51.21525761480785],[-90.18414245441245,51.20282592833944],[-90.17647694086139,51.18225203958997],[-90.15785851974229,51.18211533876396],[-90.13313912178513,51.19169502932566],[-90.13481674786107,51.169522825818945],[-90.14469924759943,51.145983118830316],[-90.09157410024595,51.14840237870318]]],[[[-90.09538924509515,51.247733416791],[-90.09043512891026,51.25209212340046],[-90.08994458726914,51.286044590538964],[-90.2752519522237,51.28618497934377],[-90.2752710516951,51.16685242885817],[-90.24988253060472,51.18434042568616],[-90.25875813336359,51.20502743139753],[-90.24319005927694,51.21549922584241],[-90.2304895975121,51.198698454602194],[-90.19922483324737,51.209704219136775],[-90.16932214232892,51.22905302174023],[-90.14040643177819,51.232347737973875],[-90.11480015395162,51.24473743406631],[-90.09538924509515,51.247733416791]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-90.17566557813072,\"lat\":51.2323336687595},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560055\"],\"csd_name_en\":[\"Osnaburgh 63B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Osnaburgh 63B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-96.49542074367189,50.680095831839765],[-96.52552027670413,50.69081314740113],[-96.51625015057587,50.721269533191446],[-96.53605547357918,50.72429842281843],[-96.54466546497679,50.74147083771232],[-96.51831993897662,50.75957653564819],[-96.51631006525723,50.77637153875318],[-96.52557153865868,50.780436127741396],[-96.56263774127484,50.76360573649995],[-96.57347843237045,50.75029830884417],[-96.55062785862222,50.74102962868852],[-96.54063055979816,50.727688782477976],[-96.56779846544622,50.706472442584996],[-96.5296922766358,50.68034737585045],[-96.49542074367189,50.680095831839765]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-96.53900195654325,\"lat\":50.72963363911585},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4601\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4601078\"],\"csd_name_en\":[\"Victoria Beach\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Victoria Beach\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.9911303928381,49.51053363237857],[-97.99139021657751,49.51731441299335],[-98.01901187220335,49.5172632898211],[-98.01922175439135,49.50000002595573],[-98.00164509621673,49.49501179640845],[-97.9911303928381,49.51053363237857]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-98.00615029978539,\"lat\":49.50792784395718},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4603\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4603074\"],\"csd_name_en\":[\"Carman\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Carman\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-98.37072192571985,51.76443960608777],[-98.41679781221093,51.764723213404324],[-98.45233494134031,51.750069681464446],[-98.45212906314275,51.762168928737516],[-98.49813450001481,51.76220961864865],[-98.4981932596462,51.76220846296683],[-98.49990097137206,51.721898802072644],[-98.44952355242913,51.72558415189127],[-98.4405896440288,51.743241642107165],[-98.42147075549867,51.740973152875966],[-98.39128594893059,51.75295473973567],[-98.369372340869,51.75204792966869],[-98.37072192571985,51.76443960608777]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-98.44996733304937,\"lat\":51.74689500711119},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4619\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4619065\"],\"csd_name_en\":[\"The Narrows 49\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"The Narrows 49\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-100.24951710075393,52.01261699056983],[-100.46479014272425,52.012429820722126],[-100.4647015737583,52.05700227933776],[-100.61012831196071,52.05620096188177],[-100.60833451644427,52.230787520980606],[-100.75168846021691,52.231151980923386],[-100.75149131589731,51.970861927486894],[-100.72260194256988,51.97098042137893],[-100.72229839678606,51.885658043586105],[-100.65174859772328,51.88572741690804],[-100.65293571222236,51.75544088679528],[-100.67542351411313,51.755179665447244],[-100.67542016177529,51.74019433285622],[-100.69935744116549,51.74020677185485],[-100.69892947175215,51.725637552101404],[-100.65141382302885,51.725767127930865],[-100.65159412299975,51.711378688724395],[-100.47326479647953,51.71106886723783],[-100.29712996350042,51.71113159916061],[-100.0382280490309,51.71134477763813],[-100.03823076021267,51.72665694192978],[-100.05530487893554,51.731463843569855],[-100.0427406530231,51.75338535222113],[-100.05511957186587,51.7657822383414],[-100.07564444459194,51.77482175357877],[-100.07037478188394,51.79560903750827],[-100.08642227043683,51.80474123562815],[-100.08673345992285,51.8339611525175],[-100.09723675251828,51.851388236389575],[-100.11142274426318,51.85289604186393],[-100.11733584825808,51.8829302540655],[-100.13800116881748,51.89202944736328],[-100.1421344557744,51.9114696361214],[-100.1272207751581,51.95221443106056],[-100.11740735832707,51.96545343837149],[-100.12540228473982,51.97110935414947],[-100.1899966060959,51.971195898100696],[-100.18961499065082,51.99685898756327],[-100.18778031753499,52.004055491930124],[-100.24400873998384,52.004056779168224],[-100.24951710075393,52.01261699056983]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.44417589025558,\"lat\":51.9033035442063},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4620\"],\"cd_name_en\":[\"Division No. 20\"],\"csd_code\":[\"4620032\"],\"csd_name_en\":[\"Mountain (South)\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 20\",\"csd_name_fr\":\"Mountain (South)\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.21262913627311,53.79413549548018],[-101.23784030949938,53.80742638082865],[-101.25482422634431,53.80321213146422],[-101.22881864702163,53.78479052784011],[-101.21262913627311,53.79413549548018]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.23323392336354,\"lat\":53.796914538179564},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4621\"],\"cd_name_en\":[\"Division No. 21\"],\"csd_code\":[\"4621033\"],\"csd_name_en\":[\"Opaskwayak Cree Nation 21A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 21\",\"csd_name_fr\":\"Opaskwayak Cree Nation 21A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.21313515705873,53.83156459497104],[-101.23363170360234,53.83406053200782],[-101.2300079413691,53.82622813076575],[-101.21313515705873,53.83156459497104]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.22559160067672,\"lat\":53.83061775258153},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4621\"],\"cd_name_en\":[\"Division No. 21\"],\"csd_code\":[\"4621034\"],\"csd_name_en\":[\"Opaskwayak Cree Nation 21B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 21\",\"csd_name_fr\":\"Opaskwayak Cree Nation 21B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-94.9021543213028,53.971651151006704],[-94.83881444758929,53.95588442947429],[-94.83373516004072,53.96291833994844],[-94.86356294686861,53.967800741636424],[-94.87623709816121,53.976733725846806],[-94.9021543213028,53.971651151006704]]],[[[-94.99060341098638,53.841011978399195],[-94.98366225458318,53.8508895484874],[-94.95831875048178,53.853804446491935],[-94.93011552676255,53.872617233666126],[-94.91075972307593,53.870840637189865],[-94.90466254217428,53.886933537309645],[-94.94228152921437,53.90881193580939],[-94.92343362642977,53.944379139443846],[-94.89810944211955,53.94370063911647],[-94.88038314120335,53.94904333751702],[-94.84388083802793,53.92548063112484],[-94.82842603747476,53.9249365268972],[-94.81991665679304,53.944201133148255],[-94.87681904314252,53.964145147607006],[-94.91408652376332,53.97006302912341],[-94.96195454957505,53.96936894705187],[-94.99330615082607,53.923510385502375],[-94.99141702487263,53.86788357541382],[-95.0215405406214,53.866407983239654],[-95.01962490333923,53.807681122974216],[-95.00263702525196,53.80233834414363],[-94.98780350989418,53.79890286962086],[-94.99060341098638,53.841011978399195]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-94.94516119080544,\"lat\":53.905873881730486},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4622\"],\"cd_name_en\":[\"Division No. 22\"],\"csd_code\":[\"4622800\"],\"csd_name_en\":[\"Wasagamack\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 22\",\"csd_name_fr\":\"Wasagamack\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.50210905350961,58.63380766015483],[-101.51164232565452,58.620406961893494],[-101.49782874604078,58.61158335283251],[-101.46869004883156,58.62883996346592],[-101.50210905350961,58.63380766015483]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.49343355096225,\"lat\":58.62397973517952},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4623\"],\"cd_name_en\":[\"Division No. 23\"],\"csd_code\":[\"4623067\"],\"csd_name_en\":[\"Lac Brochet 197A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 23\",\"csd_name_fr\":\"Lac Brochet 197A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.87604493784877,49.646334336102136],[-102.86432424541891,49.64621700921642],[-102.86426344923127,49.660750309126236],[-102.8759608565414,49.660874289395736],[-102.87604493784877,49.646334336102136]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.87014884692933,\"lat\":49.653541585268044},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701064\"],\"csd_name_en\":[\"Forget\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Forget\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.41051818016055,49.78553119853951],[-106.41047431018858,49.87294289822636],[-106.41489245348626,49.872941791792826],[-106.41253627321237,50.0000720309525],[-106.4143634086098,50.047577797062466],[-106.82337135476807,50.04770116430327],[-106.82386779899143,50.04772099445982],[-106.82413339968204,49.87286500297933],[-106.81804040003264,49.87287412217089],[-106.8171089853239,49.78540830689131],[-106.41051818016055,49.78553119853951]],[[-106.56775602559077,49.88162267209911],[-106.53968888845947,49.88188366301443],[-106.5520126195875,49.865455651921565],[-106.5685778105651,49.865480569221994],[-106.56775602559077,49.88162267209911]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.61747116579009,\"lat\":49.91696543711236},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4703\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4703068\"],\"csd_name_en\":[\"Gravelbourg No. 104\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Gravelbourg No. 104\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.02947694144494,50.952713387717495],[-102.0598400743038,50.95247650229103],[-102.05260458152286,50.93019690524086],[-102.02946554785679,50.92991816843187],[-102.02947694144494,50.952713387717495]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.04287770709058,\"lat\":50.941839268632386},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705079\"],\"csd_name_en\":[\"Bredenbury\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Bredenbury\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.34315220616074,50.73791578255782],[-102.33142741417987,50.73803188334154],[-102.33158719046594,50.745388934668],[-102.34328921465479,50.745295982437426],[-102.34315220616074,50.73791578255782]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.33736702085578,\"lat\":50.74165690085636},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705823\"],\"csd_name_en\":[\"Ochapowace 71-7\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Ochapowace 71-7\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.81316500480747,50.43038190875117],[-104.80131156475547,50.44085552670634],[-104.82420393290478,50.440411033535504],[-104.81316500480747,50.43038190875117]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.81289350082257,\"lat\":50.437216156331004},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706028\"],\"csd_name_en\":[\"Grand Coulee\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Grand Coulee\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.80116254023706,50.70659123385883],[-104.7909788872414,50.70731609714017],[-104.78913231868732,50.71027419959323],[-104.81410842904742,50.710260325596344],[-104.80849133253531,50.70264745774263],[-104.80116254023706,50.70659123385883]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.80288326987795,\"lat\":50.70790161726293},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706078\"],\"csd_name_en\":[\"Craven\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Craven\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.49604658555754,50.935651009596455],[-104.49699439863409,50.95028030853037],[-104.50813657382568,50.950249799312466],[-104.50780876213881,50.9356133267331],[-104.49604658555754,50.935651009596455]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.50224404888176,\"lat\":50.942882568649324},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706092\"],\"csd_name_en\":[\"Southey\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Southey\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.6903994958775,51.0953419926241],[-104.10071488611915,51.09572901000549],[-104.10097436973147,50.92118920989187],[-104.08526098232002,50.9211772050526],[-104.08526628942015,50.83378409303351],[-103.94670828741536,50.83376679502867],[-103.94673463825275,50.84796123375596],[-103.85433294815564,50.8476869617798],[-103.8543045919853,50.83366951019601],[-103.67683261102127,50.83368038639156],[-103.67684028608012,50.85650529959337],[-103.67765621590299,50.94515089283159],[-103.69034031945986,50.95019510936236],[-103.6903994958775,51.0953419926241]],[[-103.8541961951007,50.90011820034581],[-103.85419394420737,50.90647161486459],[-103.8421204557999,50.90645221460269],[-103.84252080052495,50.8989554217094],[-103.8541961951007,50.90011820034581]],[[-104.03575433775083,50.935585899166895],[-104.0430447780196,50.950244973838686],[-104.03070780499463,50.95017069490693],[-104.03575433775083,50.935585899166895]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.88995917314908,\"lat\":50.966267712096766},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706096\"],\"csd_name_en\":[\"Lipton No. 217\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Lipton No. 217\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.36379646209568,51.12170446388842],[-103.69052504435939,51.12172656003334],[-103.6903994958775,51.0953419926241],[-103.69034031945986,50.95019510936236],[-103.67765621590299,50.94515089283159],[-103.67684028608012,50.85650529959337],[-103.4890871960725,50.85714590498475],[-103.48948511076588,50.90899016872577],[-103.49010510909447,50.945199981437824],[-103.48896299124985,50.9773235008394],[-103.48952256890784,51.01891197654235],[-103.26983569034199,51.01835245968602],[-103.27015619327292,51.12198420408288],[-103.36379646209568,51.12170446388842]],[[-103.64592594698277,51.00413988356032],[-103.66717285089071,51.01911984823837],[-103.64576756443437,51.01938544538596],[-103.64592594698277,51.00413988356032]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.52440274720783,\"lat\":51.01520011767727},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706099\"],\"csd_name_en\":[\"Tullymet No. 216\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Tullymet No. 216\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.8543045919853,50.83366951019601],[-103.85433294815564,50.8476869617798],[-103.94673463825275,50.84796123375596],[-103.94670828741536,50.83376679502867],[-103.92255026308216,50.83556463794047],[-103.91009295789337,50.819968936663706],[-103.91230371814169,50.80380749586307],[-103.85448437106479,50.809521006291966],[-103.8543045919853,50.83366951019601]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.89169663509954,\"lat\":50.82958546753179},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706811\"],\"csd_name_en\":[\"Standing Buffalo 78\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Standing Buffalo 78\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.28237168912784,50.04701269710282],[-105.28251968198462,50.22189809967032],[-105.30541120482967,50.22190308849206],[-105.30545218660914,50.30947421251544],[-105.71796221521858,50.30943040922204],[-105.71805294563244,50.22186598777618],[-105.69172878626405,50.221932014209706],[-105.69069190624093,50.161152889816236],[-105.6923378286493,50.046736173639545],[-105.28237168912784,50.04701269710282]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.49527267027216,\"lat\":50.17839267858434},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707001\"],\"csd_name_en\":[\"Baildon No. 131\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Baildon No. 131\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.60022811261817,50.35335200464441],[-107.58575250573665,50.3536117089572],[-107.58571772974057,50.36463786454984],[-107.60872927099248,50.3644329362301],[-107.60022811261817,50.35335200464441]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.59528898792342,\"lat\":50.35942482827716},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707022\"],\"csd_name_en\":[\"Waldeck\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Waldeck\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.04703537626303,50.835717724390484],[-108.03891293078718,50.82689733583619],[-108.03037474084415,50.83424036826736],[-108.04703537626303,50.835717724390484]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.03877434929811,\"lat\":50.832285142831346},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4708\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4708044\"],\"csd_name_en\":[\"Kyle\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Kyle\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.7524390882189,51.161232864935094],[-101.7559596623906,51.15389949563511],[-101.74314118907951,51.15632741017633],[-101.7524390882189,51.161232864935094]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.75051331322967,\"lat\":51.157153256915514},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709002\"],\"csd_name_en\":[\"Calder\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Calder\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.91127774949673,51.197208411763484],[-101.89090788421046,51.197656914390194],[-101.89079464126893,51.20599074407129],[-101.9142567941635,51.205211430275504],[-101.91127774949673,51.197208411763484]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.90177201746523,\"lat\":51.2016157661221},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709824\"],\"csd_name_en\":[\"Keeseekoose 66-CA-04\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Keeseekoose 66-CA-04\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.72665328879548,51.3014770102662],[-101.75014111160453,51.286365605765766],[-101.72670600700263,51.28663530858103],[-101.72665328879548,51.3014770102662]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.73450013580089,\"lat\":51.291492641537666},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709826\"],\"csd_name_en\":[\"Keeseekoose 66-CA-05\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Keeseekoose 66-CA-05\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.05838640959412,51.47453148800418],[-107.03495759771317,51.47455389650088],[-107.0464581841495,51.49051409610295],[-107.06722406613471,51.50475485131208],[-107.06961378045693,51.48176894522803],[-107.05838640959412,51.47453148800418]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.05570668664667,\"lat\":51.4859644139834},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711027\"],\"csd_name_en\":[\"Outlook\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Outlook\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.60485342063775,51.47498098219311],[-109.59345010363158,51.47497874577062],[-109.59358871430142,51.48340250092252],[-109.61387930814514,51.4831267076775],[-109.60485342063775,51.47498098219311]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.60162777014979,\"lat\":51.4795145246636},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713009\"],\"csd_name_en\":[\"Flaxcombe\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Flaxcombe\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.8097918131738,52.40561309173942],[-109.0016664086292,52.40571330501718],[-109.02570324616582,52.404532568088946],[-109.16906701122797,52.40524197687962],[-109.16938229720263,52.31752709395293],[-109.14626198946192,52.31789605981009],[-109.14546069825214,52.289035012306115],[-109.14550709804344,52.14350351195766],[-108.95501038110413,52.14350049471222],[-108.94347890586329,52.143497800653925],[-108.81285858834953,52.142548396486035],[-108.79973912577023,52.16222467775241],[-108.80661973440468,52.176267892280784],[-108.83791162753924,52.192589452728484],[-108.8412195457512,52.20073942674894],[-108.82784281231918,52.224242086136634],[-108.8316556465846,52.240090891546245],[-108.81343133114149,52.28120900868991],[-108.80974449373595,52.36204580880163],[-108.82068352062964,52.356333775437854],[-108.84472385742019,52.35612585995095],[-108.84505215834776,52.37780724266212],[-108.82086066576956,52.37784120433714],[-108.80974465536382,52.369214001906265],[-108.8097918131738,52.40561309173942]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.98617859834921,\"lat\":52.276506176667105},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713059\"],\"csd_name_en\":[\"Tramping Lake No. 380\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Tramping Lake No. 380\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.45628684368575,52.6677165162262],[-109.45684932222238,52.63682180797883],[-109.456794900648,52.40580628583164],[-109.19744761283852,52.405795205942326],[-109.16906701122797,52.40524197687962],[-109.02570324616582,52.404532568088946],[-109.02550069400972,52.66328039242254],[-109.02663510498209,52.6676421924364],[-109.19651120202052,52.66768945603065],[-109.45628684368575,52.6677165162262]],[[-109.1818421728158,52.45664096394419],[-109.13371761839265,52.4521515756197],[-109.1342855603567,52.427530392085615],[-109.18253145798656,52.42806037465432],[-109.1818421728158,52.45664096394419]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.24197343007572,\"lat\":52.5376801976544},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713072\"],\"csd_name_en\":[\"Round Valley No. 410\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Round Valley No. 410\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.26546616913815,52.589337140329974],[-103.24084753190391,52.59010167422203],[-103.24605236276959,52.60229312313446],[-103.26557414053404,52.60236132163154],[-103.26546616913815,52.589337140329974]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.25454172764282,\"lat\":52.595771432556226},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714007\"],\"csd_name_en\":[\"Porcupine Plain\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Porcupine Plain\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.8702710244208,52.566487037516275],[-102.8684161991308,52.572978160444954],[-102.88321821370191,52.57059958770416],[-102.8702710244208,52.566487037516275]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.87396847908451,\"lat\":52.5700215952218},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714009\"],\"csd_name_en\":[\"Weekes\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Weekes\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.89049190072254,52.40566500487075],[-105.89048681271078,52.49296319256803],[-106.14809329760791,52.49307259543569],[-106.14707150571147,52.31831939986097],[-106.14693751768192,52.14383129635118],[-106.00275558186887,52.143841698893546],[-105.86009468161193,52.143835390945725],[-105.86010011480802,52.318365891201616],[-105.89054321622784,52.31837409442092],[-105.89048349095063,52.33293950570804],[-105.90231558708055,52.338044913227456],[-105.89051524373394,52.342242341386964],[-105.89049190072254,52.40566500487075]],[[-106.09927269968401,52.31469669191792],[-106.10565822979592,52.33257712288509],[-106.08814228469706,52.33247678171341],[-106.08125760411787,52.314484519038594],[-106.09927269968401,52.31469669191792]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.01067016168955,\"lat\":52.31362659709546},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715014\"],\"csd_name_en\":[\"Grant No. 372\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Grant No. 372\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.65176567889635,52.63160993002158],[-106.66392473978728,52.625753623022774],[-106.66391776048536,52.61269536647913],[-106.64609962017633,52.61334836122716],[-106.65176567889635,52.63160993002158]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.65586176340354,\"lat\":52.62056389259003},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715028\"],\"csd_name_en\":[\"Waldheim\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Waldheim\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.44232404839282,52.83044046254988],[-106.44220170085964,52.84233041428413],[-106.5238030927297,52.8420281361481],[-106.5233394622671,52.82752620687721],[-106.58432660721178,52.827147064474374],[-106.58523008098197,52.72020719942192],[-106.58525869645716,52.709648994391934],[-106.58536011116679,52.66751671037397],[-106.57987338575796,52.66751808847642],[-106.5798317199914,52.43476859645986],[-106.34403949751578,52.43505559923614],[-106.32880810057642,52.458354266361496],[-106.30649255241323,52.46723915991966],[-106.30294945903368,52.485275734504924],[-106.2562660261101,52.49917951624493],[-106.24340569711048,52.524371533039464],[-106.19740888614741,52.543539565795164],[-106.1701501522287,52.56302439587927],[-106.1493899364311,52.573067509877646],[-106.14780822408407,52.580215634549795],[-106.14885671476657,52.61901890179547],[-106.1317869258068,52.62561618206802],[-106.1189904209472,52.637563969145475],[-106.1134541445472,52.660919157267614],[-106.12661487630322,52.67085784648986],[-106.12552022747367,52.674763674058106],[-106.11406809999261,52.68040246238563],[-106.11818644669286,52.6981668933295],[-106.10367740096669,52.71278809742225],[-106.29625175116912,52.712825117098255],[-106.29637954133428,52.7567465432963],[-106.44186606208703,52.75679275561894],[-106.44254140050134,52.79788925628928],[-106.46416568591408,52.79363819043799],[-106.46411899081892,52.81286349521189],[-106.44251213505319,52.81286432323127],[-106.44232404839282,52.83044046254988]],[[-106.4298362679563,52.515250989424246],[-106.41809183439403,52.51595682705701],[-106.41234229617157,52.50626189218606],[-106.42719874778135,52.50782113713812],[-106.4298362679563,52.515250989424246]],[[-106.30811004628116,52.67599412917914],[-106.31573603124056,52.655019585800744],[-106.34607361028559,52.653335915163346],[-106.35174689549847,52.66767859340035],[-106.31919954183503,52.671088294352366],[-106.30811004628116,52.67599412917914]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.3966269842194,\"lat\":52.62059981710948},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715031\"],\"csd_name_en\":[\"Rosthern No. 403\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Rosthern No. 403\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.62541108999716,52.64695244904336],[-105.62822408688446,52.64434745947817],[-105.64675445845069,52.6409217482524],[-105.64808404804785,52.638371190084555],[-105.6269610180782,52.642416725573234],[-105.62541108999716,52.64695244904336]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.6366411055919,\"lat\":52.641749444499744},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715043\"],\"csd_name_en\":[\"Wakaw Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Resort village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Wakaw Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.22542333694005,52.801180937308835],[-106.21607421510586,52.815386772360355],[-106.23419558345809,52.811962206511126],[-106.2354136451994,52.80500818938822],[-106.22542333694005,52.801180937308835]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.22682647711413,\"lat\":52.808653777086974},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715062\"],\"csd_name_en\":[\"Duck Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Duck Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.76446480680765,53.547275199974685],[-105.76449151648562,53.71454464687972],[-105.79911447790788,53.71481359820745],[-105.79953163990818,53.80202036241706],[-105.87390862804797,53.80198807781496],[-105.87415971618604,53.97645591277251],[-106.00406363653391,53.97629600610103],[-106.00357864685243,53.76393035718645],[-106.00602627252857,53.694525032671585],[-106.00178802344055,53.598024157160246],[-105.91203441615934,53.59803279695158],[-105.90492637817748,53.58512689710265],[-105.90613199667308,53.56507455297004],[-105.8675243020764,53.56158350422719],[-105.83819561222307,53.552749799307485],[-105.83801709106704,53.53989691248713],[-105.81354060714449,53.53988618985975],[-105.78961121732858,53.54733877030843],[-105.76446480680765,53.547275199974685]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.90011462150417,\"lat\":53.74374366897041},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715075\"],\"csd_name_en\":[\"Lakeland No. 521\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Lakeland No. 521\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.22971625116821,53.45263745808792],[-105.24837979128748,53.452634207125634],[-105.24837618489035,53.44734838454594],[-105.23011758522397,53.445075350062766],[-105.22971625116821,53.45263745808792]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.2385971098121,\"lat\":53.449399716699354},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715091\"],\"csd_name_en\":[\"Weirdale\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Weirdale\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-106.44251213505319,52.81286432323127],[-106.46411899081892,52.81286349521189],[-106.46416568591408,52.79363819043799],[-106.44254140050134,52.79788925628928],[-106.44251213505319,52.81286432323127]]],[[[-106.35806141130644,52.8532835655289],[-106.34400985198856,52.85282434391667],[-106.34521075413409,52.87284827452049],[-106.3822296228412,52.87312175368001],[-106.38124824680963,52.85337769346541],[-106.36892299028545,52.85339151881226],[-106.36889852161634,52.83064130792399],[-106.35791278008755,52.83060045891041],[-106.35806141130644,52.8532835655289]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.38800641046188,\"lat\":52.84311430903835},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715859\"],\"csd_name_en\":[\"Beardy's and Okemasis 96 and 97B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Beardy's and Okemasis 96 and 97B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.89082969286615,52.92937705485786],[-108.18086719356732,52.929322608437715],[-108.44709979968412,52.929382792119185],[-108.44658731867048,52.895838710150464],[-108.40383634178865,52.872075694731684],[-108.35287320233502,52.846656725772235],[-108.35412566769718,52.83178502089654],[-108.36778925463463,52.81057159259238],[-108.36956812887992,52.793525675578415],[-108.36240501402918,52.78050004878991],[-108.32605126633767,52.76081145092974],[-108.32738952306511,52.80243904289306],[-108.27777078298257,52.802123006595885],[-108.27783695840651,52.79098979083344],[-108.25376927147876,52.78787450621202],[-108.25374016850022,52.776320790947274],[-108.22941233083601,52.77620238910761],[-108.2294884341831,52.76217794106379],[-108.24171623739315,52.75463237498245],[-108.23670925468912,52.71159196242262],[-108.25400455248386,52.7234195378366],[-108.27338577305404,52.73998035992006],[-108.27794204646264,52.73584511751314],[-108.24063383049366,52.710970909508404],[-108.22150918763272,52.69410738035979],[-108.19159575555888,52.679495185673474],[-108.15319577860019,52.66767350286155],[-107.89069221622265,52.66762880548798],[-107.89082969286615,52.92937705485786]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.11418807947443,\"lat\":52.8133971560573},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716028\"],\"csd_name_en\":[\"North Battleford No. 437\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"North Battleford No. 437\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.39579071209027,53.22441920387275],[-106.41802468851243,53.220452893143914],[-106.41798970240559,53.213037293380985],[-106.38175795628405,53.213289401740916],[-106.39579071209027,53.22441920387275]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.40200151338244,\"lat\":53.21760440057252},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716047\"],\"csd_name_en\":[\"Shellbrook\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Shellbrook\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.4444731694445,53.030684759862616],[-108.4424339148751,53.03616941020507],[-108.46672209880964,53.041463999661545],[-108.46665441613087,53.03066338498478],[-108.4444731694445,53.030684759862616]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.4562521704415,\"lat\":53.034959762510915},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717006\"],\"csd_name_en\":[\"Meota\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Meota\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.93113308558289,53.00926308847315],[-108.92854193634257,53.01627254055174],[-108.94352230460065,53.016660846511286],[-108.94451964895404,53.00959299151236],[-108.93113308558289,53.00926308847315]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.93691540555977,\"lat\":53.0130135435639},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717014\"],\"csd_name_en\":[\"Paynton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Paynton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.69534410658993,54.447569710456236],[-108.7010960671987,54.44667895956726],[-108.69800371045149,54.44525620052472],[-108.69534410658993,54.447569710456236]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.69814796141337,\"lat\":54.44650162351607},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717053\"],\"csd_name_en\":[\"Greig Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Resort village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Greig Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.40360030848358,56.51461679664775],[-109.39385806139012,56.51904936714184],[-109.39528828595391,56.53458491056965],[-109.38445085978732,56.54809745222281],[-109.47833088731528,56.55144256335425],[-109.48649164764143,56.56529917536269],[-109.5398166957061,56.565764136418004],[-109.53932406444495,56.558416567718965],[-109.50068946015263,56.54906276172607],[-109.50266619658466,56.52897765835943],[-109.47889185661242,56.52017126914607],[-109.46207708783636,56.522624771736936],[-109.44778588439347,56.51402239071862],[-109.40360030848358,56.51461679664775]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.45533897075359,\"lat\":56.538359118991664},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718839\"],\"csd_name_en\":[\"Clearwater River Dene 222\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Clearwater River Dene 222\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.42230407199207,55.029332357584614],[-105.43174000004018,55.024895238166046],[-105.41828343931623,55.013873553933706],[-105.40315173844627,55.02267609851824],[-105.42230407199207,55.029332357584614]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.41818247366913,\"lat\":55.02224032839888},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718849\"],\"csd_name_en\":[\"Little Hills 158B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Little Hills 158B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.02420186398294,57.081440557669836],[-102.02231472326304,57.08142831592273],[-102.02325870110523,57.08148348957581],[-102.02420186398294,57.081440557669836]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.0232584294504,\"lat\":57.081450787722794},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718854\"],\"csd_name_en\":[\"Kinoosao-Thomas Clark 204\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Kinoosao-Thomas Clark 204\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.20902389901953,49.28932537185708],[-112.21396099616234,49.2757286984685],[-112.2027567929447,49.27577441271992],[-112.20902389901953,49.28932537185708]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.20858056270885,\"lat\":49.280276161015166},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4802\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4802006\"],\"csd_name_en\":[\"Warner\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Warner\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-110.77232994238538,52.00405472550055],[-110.76624798292107,52.019178100047874],[-110.79051608925975,52.01924290220505],[-110.7903955792224,52.00275601617308],[-110.77232994238538,52.00405472550055]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-110.7799694769414,\"lat\":52.011707051707724},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4804\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"4804022\"],\"csd_name_en\":[\"Consort\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Consort\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.66171641978178,51.44513209894937],[-113.80239327925969,51.44513439500326],[-113.8023300772959,51.459373793369444],[-113.89604024341207,51.459564175619704],[-113.89618805548432,51.48863932902256],[-114.07207802000347,51.489378899172905],[-114.07198761775116,51.47472070191585],[-114.18918200806299,51.47472140255676],[-114.18937958866722,51.445610189015845],[-114.39486059514887,51.44564821313775],[-114.7041552293839,51.44566027160691],[-114.70448663978368,51.357100278782546],[-114.70333126811693,51.29951210772496],[-114.72770774120451,51.299512911571696],[-114.722200128305,51.27087286404675],[-114.7213857846091,51.21210398292395],[-114.67487107956077,51.212431635123636],[-114.59525148340853,51.214053954626635],[-114.55889113906282,51.212496190479634],[-114.55886664614897,51.19794612585775],[-114.5164636722278,51.19524616578948],[-114.51327369873277,51.21994140340545],[-114.48999316504025,51.21998632386402],[-114.47449409614606,51.2122506420203],[-114.46692347664919,51.226804487920724],[-114.45545168602936,51.22700723204818],[-114.45551769252997,51.19117988266326],[-114.42048495414396,51.19771200896609],[-114.4199318292466,51.183783811369935],[-114.42935882289153,51.172011865486695],[-114.4317525424466,51.154588521072355],[-114.49016375098802,51.1534983705952],[-114.49006989170736,51.17565189175722],[-114.51368091349322,51.18325985853156],[-114.55901073812059,51.18324175109627],[-114.55881756425974,51.16881190614264],[-114.63958198284276,51.168539170232705],[-114.66643056213825,51.165744329098196],[-114.6984244572803,51.155678730168624],[-114.69940156321428,51.12399224130603],[-114.69651598858123,51.09750629396564],[-114.69866959883831,51.008446558436866],[-114.69944437608136,50.96504544985424],[-114.67603981567193,50.96514035630564],[-114.67626651128475,50.935973804845055],[-114.6522455779599,50.93605307508473],[-114.65285489077237,50.92123179113995],[-114.62412424774105,50.92127044657284],[-114.56012281377143,50.92136739421742],[-114.56044727989912,50.98699969255441],[-114.55874456673183,51.00837119075448],[-114.23429474857906,51.00896884292819],[-114.23430048857463,51.08150990739092],[-114.29482296691592,51.08141851089904],[-114.2910939023069,51.11993106545781],[-114.30837150708655,51.12867655488618],[-114.29601618323333,51.14004839995967],[-114.27333019951597,51.112043536226835],[-114.25748557146876,51.123180813838744],[-114.25750400902017,51.153979905822176],[-114.23421939917007,51.15415828681407],[-114.23424029157164,51.18319149078654],[-114.21099688306514,51.18322389103209],[-114.2110201969316,51.197759406244394],[-114.12960138609466,51.19840679528673],[-114.12953188736242,51.21235079632164],[-114.01300190817696,51.21256229556639],[-114.00163123579675,51.20489051488117],[-114.0015438152791,51.18355079585339],[-113.91186339942361,51.18340350754752],[-113.91190370608064,51.05958606255983],[-113.86536524483282,51.05998634142658],[-113.86537048901153,51.06674959163939],[-113.82677110790888,51.066745609026526],[-113.81443461061338,51.0527207857609],[-113.77238034577896,51.05270370578021],[-113.78405471528151,51.03784260577168],[-113.78405971381909,51.00876839570332],[-113.79571614529354,50.995310042933866],[-113.81898510421915,50.99518240494264],[-113.81892490785026,51.008765710260185],[-113.86541990365247,51.00878520348692],[-113.86541836948035,51.015775861825716],[-113.91189318892863,51.0157165686001],[-113.9119001092736,50.9796934892993],[-113.8654334098425,50.979665587375855],[-113.86566585055897,50.943921145492105],[-113.87722528953968,50.92808188153996],[-113.85993531443506,50.92147160901805],[-113.86021384682074,50.85532660630335],[-113.84472840168633,50.84088895603047],[-113.81847149039481,50.84523135999335],[-113.80597381524386,50.82425614352593],[-113.79522189604138,50.8195662508234],[-113.75967349555388,50.81916895163978],[-113.69922298625225,50.80366416302368],[-113.67931920887314,50.80875675018509],[-113.65777839077731,50.800971067533006],[-113.636496222976,50.802197063926315],[-113.60615880559338,50.794706895913954],[-113.60596471552543,50.92149259780422],[-113.6333986205933,50.92205777716436],[-113.63283770939776,51.125153199061906],[-113.60961278115523,51.12517040016679],[-113.6095959744688,51.15425509136099],[-113.5862397780787,51.15423779245622],[-113.5858593841131,51.18351562256423],[-113.4934324937776,51.18337009118809],[-113.49332888210907,51.242056674576276],[-113.37670466636442,51.24186806039813],[-113.3798579427264,51.27036344103142],[-113.38041750926317,51.386938389503825],[-113.38041539674965,51.44510479671985],[-113.66171641978178,51.44513209894937]],[[-113.54462198864394,51.3724091107407],[-113.55629060997406,51.386972289652526],[-113.52113539027091,51.38695719157052],[-113.54462198864394,51.3724091107407]],[[-113.60341073923772,51.3322654253996],[-113.59132578753314,51.33249411087533],[-113.59146420292342,51.314352499745],[-113.61465447771998,51.31425989475565],[-113.61490440748187,51.328823893892185],[-113.60341073923772,51.3322654253996]],[[-114.04857682272016,51.43600580720214],[-114.04857649369292,51.44560289146656],[-114.01217621739481,51.445579698153054],[-114.01118257178597,51.40928405153195],[-114.05949225535379,51.409146175089646],[-114.05849316966724,51.43105048125837],[-114.04857682272016,51.43600580720214]],[[-114.07211298778898,51.329202207853584],[-113.95476338558716,51.328771303902826],[-113.95484970225387,51.30687100314208],[-113.93112707455926,51.30682360566284],[-113.93092943248206,51.27066148580076],[-113.9232965956716,51.25607884932624],[-113.99490629154333,51.256444903012884],[-113.99323929137495,51.24168419224406],[-114.07137789931723,51.24159421159162],[-114.07211298778898,51.329202207853584]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.0651889654829,\"lat\":51.225920302789866},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4806\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4806014\"],\"csd_name_en\":[\"Rocky View County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Rocky View County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.57670107770208,52.590483760393155],[-112.58411374550434,52.57969062516455],[-112.5719164118767,52.57968399245997],[-112.5644914107798,52.588081159034076],[-112.57670107770208,52.590483760393155]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.57445369972449,\"lat\":52.58462168645808},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4807\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4807029\"],\"csd_name_en\":[\"Donalda\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Donalda\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.52770948814846,52.75610179511093],[-111.54031189965674,52.75537100650266],[-111.55187250986366,52.74154518480651],[-111.52870685993625,52.741758905782724],[-111.52770948814846,52.75610179511093]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.53738452130754,\"lat\":52.74797966079184},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4807\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4807046\"],\"csd_name_en\":[\"Lougheed\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Lougheed\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.71153851613818,52.49215800298013],[-113.71171837648966,52.50355236776991],[-113.74734800842722,52.493780584483474],[-113.74643349208249,52.4813054089775],[-113.77054163685655,52.477156121267015],[-113.78067977979843,52.46314490021905],[-113.75893398878537,52.45596769387094],[-113.73561826668139,52.45550742066579],[-113.72331785244972,52.44841993557386],[-113.69935090979781,52.44851108481669],[-113.68678145773552,52.45591250552777],[-113.68732247336682,52.47783578537812],[-113.69937259831838,52.47758230405798],[-113.71153851613818,52.49215800298013]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.72772206765765,\"lat\":52.47147045280684},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4808\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4808031\"],\"csd_name_en\":[\"Lacombe\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Lacombe\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.07248279562225,52.6032891040925],[-114.05699328487441,52.6033811375988],[-114.05751967805914,52.61060509382391],[-114.07376668876533,52.610628407619814],[-114.07248279562225,52.6032891040925]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.0652153828405,\"lat\":52.60700430065971},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4808\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4808042\"],\"csd_name_en\":[\"Parkland Beach\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Parkland Beach\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.94648401972086,52.39402780981515],[-114.93643699101543,52.38278336714139],[-114.94887733591294,52.36306356179078],[-114.88824842817466,52.3630091757375],[-114.8747199426155,52.37824286088542],[-114.88932101235973,52.38489520395575],[-114.91304729926784,52.38514425945883],[-114.93599757715675,52.405249897494755],[-114.94648401972086,52.39402780981515]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.91609863574567,\"lat\":52.377686546644185},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4809\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4809015\"],\"csd_name_en\":[\"Rocky Mountain House\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Rocky Mountain House\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-115.28192810512544,52.71200189776711],[-115.30626993714434,52.71212544918672],[-115.30744090823002,52.72625218671648],[-115.35399087765175,52.72599342872798],[-115.35424531156745,52.71181905126902],[-115.3784683074333,52.712495404157025],[-115.38023969938929,52.668652045229564],[-115.36907286205901,52.65448469568051],[-115.39294214393898,52.653527500405744],[-115.39620015375453,52.62480653493751],[-115.34480440607132,52.624692747344334],[-115.34114676130118,52.6535246640267],[-115.31982972013267,52.65394096795049],[-115.32021391160498,52.66834463852613],[-115.28251877725977,52.66922033775075],[-115.28192810512544,52.71200189776711]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-115.34060562457452,\"lat\":52.67908706287056},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4809\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4809809\"],\"csd_name_en\":[\"Sunchild 202\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Sunchild 202\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.42898376132808,52.78281403918893],[-112.4470959959791,52.79310429967631],[-112.44709108773817,52.78516990943623],[-112.42898376132808,52.78281403918893]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.44105694834846,\"lat\":52.78702941610049},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4810\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4810003\"],\"csd_name_en\":[\"Rosalind\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Rosalind\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.47127615468506,52.92319794544365],[-112.4712383134997,52.914597909017715],[-112.45852092658744,52.914817127545895],[-112.45918541730697,52.923317595022155],[-112.47127615468506,52.92319794544365]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.46506471207803,\"lat\":52.91894628311439},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4810\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4810009\"],\"csd_name_en\":[\"Bawlf\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Bawlf\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.75045358484894,53.722785536178876],[-111.75084946150986,53.70439323188175],[-111.73271904470519,53.708491274314014],[-111.73740100783601,53.72281524540162],[-111.75045358484894,53.722785536178876]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.74305775538389,\"lat\":53.71410402624001},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4810\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4810052\"],\"csd_name_en\":[\"Two Hills\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Two Hills\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.34439741752826,53.88148605099951],[-112.34406558947057,53.87691380611025],[-112.32531247828567,53.875150297428554],[-112.3317369867905,53.884537155329475],[-112.34439741752826,53.88148605099951]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.33538073919995,\"lat\":53.879423386484405},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4810\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4810059\"],\"csd_name_en\":[\"Andrew\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Andrew\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.98922509020932,53.02702775655495],[-113.98680091307128,53.033495530436255],[-113.98685090441477,53.04685557154908],[-113.99594527996008,53.046930655172574],[-113.99224558187804,53.040222261509015],[-113.98922509020932,53.02702775655495]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.98985575500448,\"lat\":53.039819919065565},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811009\"],\"csd_name_en\":[\"Silver Beach\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Silver Beach\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.33043524100036,53.17385905826326],[-114.30598581182886,53.179504939220486],[-114.30520311987198,53.192370695758854],[-114.33091593205675,53.192382751160615],[-114.33043524100036,53.17385905826326]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.31890757305705,\"lat\":53.184511314438545},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811024\"],\"csd_name_en\":[\"Warburg\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Warburg\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.94689219595159,53.512068505207914],[-113.92156907087107,53.5193474715671],[-113.885423807183,53.519377898469706],[-113.86085560347382,53.52622494811511],[-113.86086928245184,53.54012537316701],[-113.84765080212928,53.54177309149341],[-113.84857406462429,53.571301041525345],[-113.95914072957677,53.569112264127995],[-113.9591946853751,53.55588160416158],[-113.94691208903737,53.54135351496681],[-113.94689219595159,53.512068505207914]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.90354521202184,\"lat\":53.54620482657665},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811049\"],\"csd_name_en\":[\"Spruce Grove\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Spruce Grove\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.16025570881978,53.970681101938915],[-113.16177442403786,53.938018599213926],[-113.13706694488305,53.93507064245043],[-113.07499690005326,53.934972337775626],[-113.07501150395534,53.956404302127545],[-113.08690036634255,53.97081472765467],[-113.16025570881978,53.970681101938915]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.11868536855704,\"lat\":53.952664412074256},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811065\"],\"csd_name_en\":[\"Redwater\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Redwater\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.97611099778645,52.96738238565094],[-114.00000921550667,52.95970782492825],[-113.92193256223703,52.95959484097034],[-113.92167978831739,53.01783070424343],[-113.97723057584534,53.0178488497364],[-113.96279750034664,53.00216386586269],[-113.95580561145269,52.982228148548735],[-113.94716367996597,52.98085259963286],[-113.97611099778645,52.96738238565094]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.94544896189608,\"lat\":52.98782054168533},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811802\"],\"csd_name_en\":[\"Pigeon Lake 138A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Pigeon Lake 138A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-110.24611118759788,54.35527001350879],[-110.38028048234311,54.35568019575156],[-110.37892619690726,54.29341442378554],[-110.3814165801787,54.24804632207724],[-110.3776667123565,54.238841967117686],[-110.20534758789512,54.238866396865674],[-110.20492030813777,54.35221517177221],[-110.24611118759788,54.35527001350879]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-110.29276442391841,\"lat\":54.29695732837668},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4812\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4812810\"],\"csd_name_en\":[\"Cold Lake 149\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Cold Lake 149\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.8005558924758,54.15152710658152],[-113.80054302224356,54.16643153235827],[-113.88780174238394,54.16677983703166],[-113.88764266956433,54.14529668909824],[-113.80056266715212,54.145189323521464],[-113.8005558924758,54.15152710658152]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.84421907990331,\"lat\":54.15592818502373},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4813\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4813031\"],\"csd_name_en\":[\"Westlock\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Westlock\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.85669929291022,59.98281810495389],[-111.83786311530382,59.98881019351836],[-111.84711225156282,59.99961939196582],[-111.885373294498,59.9994212290564],[-111.8847841107462,59.99379861428952],[-111.85713165432244,59.99353752017067],[-111.85669929291022,59.98281810495389]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.85891400311016,\"lat\":59.99388142505967},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4816\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4816861\"],\"csd_name_en\":[\"Thabacha N\\u00e1re 196A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Thabacha N\\u00e1re 196A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.68361481742973,49.20853420748529],[-117.67556790236839,49.22433730469159],[-117.70199255755958,49.22804859824247],[-117.70309203458704,49.26534223293577],[-117.92617627031127,49.26502047846104],[-118.04994935343579,49.26349872910779],[-118.1358124841489,49.26400335243987],[-118.13151126246535,49.2231767464284],[-118.11947004425845,49.20936426085689],[-118.0890968757789,49.15238610200958],[-118.04602292020643,49.15206235867899],[-118.0555219741756,49.142918912136786],[-118.05153569981691,49.11766321520729],[-118.0587495389339,49.098871202856564],[-118.05382658736819,49.091915424657095],[-118.05768455562823,49.07043449769413],[-118.05633530925823,49.05015810699882],[-118.04979907811432,49.034361996723064],[-118.05957998346842,49.02472515601481],[-118.06216223545283,49.000294563882456],[-117.88607853622109,49.00051264921966],[-117.63199023549492,49.000816704431955],[-117.60719732468876,49.01525766962112],[-117.60516597310757,49.02800514502184],[-117.61639768902882,49.03618758696609],[-117.61290321889275,49.07357630540613],[-117.62169913993124,49.082114852506855],[-117.65503140364636,49.09576160950838],[-117.69431926494543,49.09431246281576],[-117.71536853366968,49.08769657012187],[-117.71521130575975,49.044083654072224],[-117.70976451658983,49.033420652413895],[-117.72575497033559,49.02990061578129],[-117.73710383960514,49.04431623546397],[-117.73727082409933,49.058921350388005],[-117.75923930032552,49.05910560391515],[-117.75919816027933,49.08114859322206],[-117.74783051213454,49.08806048369978],[-117.76210529319198,49.095171380346166],[-117.74770576235204,49.10225447576478],[-117.74842045776819,49.11998681190863],[-117.73588190387443,49.11861697392469],[-117.73447346330822,49.146556760965446],[-117.72188699132784,49.16240449996716],[-117.70838190439613,49.19769950420095],[-117.68361481742973,49.20853420748529]],[[-117.80679339436755,49.12324026764188],[-117.81969585064127,49.1071485156494],[-117.80510565721465,49.10267328407412],[-117.80357033254874,49.087936740964146],[-117.78102613975773,49.0879281398003],[-117.76865729676452,49.08053270549015],[-117.76977774895751,49.063776608666295],[-117.82567868569373,49.06637751647445],[-117.82458091225944,49.07722600211084],[-117.84218034248461,49.08007504049972],[-117.8820416411125,49.09651595820935],[-117.89506908264484,49.16183269761751],[-117.8954860716137,49.18616391766962],[-117.86692150215931,49.18609426321044],[-117.83380025029373,49.15599331892951],[-117.83753273008125,49.14529286832433],[-117.80679339436755,49.12324026764188]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.88541516807956,\"lat\":49.1340755162085},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5905\"],\"cd_name_en\":[\"Kootenay Boundary\"],\"csd_code\":[\"5905030\"],\"csd_name_en\":[\"Kootenay Boundary B \\/ Lower Columbia-Old-Glory\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kootenay Boundary\",\"csd_name_fr\":\"Kootenay Boundary B \\/ Lower Columbia-Old-Glory\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.54151459770443,49.273699920907646],[-119.55395263233628,49.28230384941458],[-119.61389685339974,49.28481086874085],[-119.61401264003113,49.29898589224564],[-119.6704488931085,49.29946142711431],[-119.67554793551689,49.27773406503056],[-119.67638449086074,49.196492542709166],[-119.67094733063838,49.18243929225323],[-119.66962147231902,49.120932794086585],[-119.63704196540392,49.12130167500649],[-119.63092098974926,49.11410448906872],[-119.60410968963059,49.11441949337774],[-119.60403048912073,49.09463048686224],[-119.55252876408841,49.090362243655825],[-119.52617070306908,49.09434935722923],[-119.5264679562634,49.10947149087593],[-119.53744850264921,49.12487333303148],[-119.56001729379054,49.131772719052925],[-119.55941689863803,49.15369952371795],[-119.53655219643187,49.15397319471572],[-119.53703632089224,49.175944872537556],[-119.55674478982569,49.17088011889954],[-119.56650139903726,49.178796012592606],[-119.53718898596965,49.204577361497044],[-119.5373018801465,49.24085739514675],[-119.44882186139887,49.24075736485338],[-119.4488465711462,49.123791674868244],[-119.4273099318785,49.12005425689436],[-119.39710813385464,49.12927744535432],[-119.35718182501911,49.11704636264786],[-119.32658039874923,49.11384922317789],[-119.29604392587999,49.13060314340172],[-119.28596592600152,49.1447130629889],[-119.25597402888108,49.16188682125208],[-119.23567305413945,49.17964305711222],[-119.22078899322834,49.18488752184654],[-119.21139568867653,49.197482879715906],[-119.18910883566886,49.19833426295005],[-119.18047355089321,49.21831507775251],[-119.19593948484435,49.21598963657711],[-119.21291230839539,49.222443651147266],[-119.23738440016001,49.23894486266366],[-119.23290520713354,49.2553224109603],[-119.21335095279103,49.28569992371506],[-119.18681645611889,49.298247449999145],[-119.17737997365644,49.312289168199825],[-119.20577689400342,49.323929636258725],[-119.20689783650644,49.34403266493369],[-119.2208127022068,49.320205556752256],[-119.21749783753882,49.30185466860897],[-119.22877303123039,49.2660756564543],[-119.23787860704427,49.25582415599426],[-119.2697297154186,49.257792461798275],[-119.30134393247596,49.24866606874675],[-119.32876783246239,49.250000052619924],[-119.34822631845387,49.256358256391145],[-119.36848251910288,49.24937674717226],[-119.42285732179839,49.25322356735122],[-119.47999314503745,49.26288392926742],[-119.50391109428939,49.269889977650784],[-119.54151459770443,49.273699920907646]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.45994717932287,\"lat\":49.20020612719284},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5907\"],\"cd_name_en\":[\"Okanagan-Similkameen\"],\"csd_code\":[\"5907028\"],\"csd_name_en\":[\"Okanagan-Similkameen C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Okanagan-Similkameen\",\"csd_name_fr\":\"Okanagan-Similkameen C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.14440262704315,49.70015953813995],[-121.34778264858811,49.702347508821774],[-121.51058770879669,49.703101165296815],[-121.70143846138986,49.701587999035766],[-121.68435434585385,49.690422247541925],[-121.7025099819352,49.66799300433288],[-121.68696746486145,49.64569181509777],[-121.68515400106048,49.6320163917138],[-121.67140074404642,49.616049533034435],[-121.64595254900509,49.62386812322165],[-121.61829481074648,49.62322372097172],[-121.59377326529902,49.61108389744172],[-121.55049270120783,49.60203845136623],[-121.53943537205714,49.57543340430751],[-121.56279357745028,49.55807473367801],[-121.56108793493284,49.5162141624665],[-121.57198577983601,49.5063759674741],[-121.57219096185187,49.48649746913649],[-121.59315359600609,49.49012342168624],[-121.61873993872462,49.5017476881511],[-121.64664289756895,49.47405010807631],[-121.66057980803507,49.46800626230959],[-121.64580956645868,49.45230784164619],[-121.68379431053157,49.42393846010794],[-121.69586432292837,49.42176988454671],[-121.698019617064,49.407369567046544],[-121.7183263431592,49.39148597901746],[-121.69956920138836,49.38222164253088],[-121.68960910611902,49.36063790754411],[-121.6179495319838,49.362894630518255],[-121.61459081933172,49.35685832525256],[-121.60400870421103,49.35702568988928],[-121.6066620588561,49.352442430544826],[-121.60717430840307,49.35130049522718],[-121.62947041554388,49.31975830436024],[-121.65416014311445,49.31802485405923],[-121.66677349142593,49.312306814248636],[-121.66863924511006,49.29641594108945],[-121.65929876842958,49.296537128000566],[-121.66055473967286,49.305728462768556],[-121.64603356064131,49.30224370651941],[-121.65679749730616,49.29588497677709],[-121.50194626363792,49.296017741845894],[-121.5015531479938,49.172099546870164],[-121.4853930795058,49.15582814806782],[-121.50035060955105,49.14881713739689],[-121.47959064736382,49.13979247682551],[-121.45594181027305,49.15214904163512],[-121.43143562290196,49.15668746647913],[-121.41127319905661,49.144709117926624],[-121.40414612222004,49.12654021390305],[-121.40974780877634,49.101006293491906],[-121.39509717594267,49.093710087680435],[-121.39300893757931,49.079477836619475],[-121.36368125159747,49.07962640984181],[-121.3456118875235,49.09760969886702],[-121.31900113255114,49.0681670467373],[-121.30432080128085,49.05838417351794],[-121.29633028733197,49.03608934148497],[-121.29731467816474,49.01815951398485],[-121.26889162394475,49.01363846177933],[-121.27292340115989,49.00002692037695],[-120.99999999180692,48.99999999604597],[-120.84840827446449,49.000077145903774],[-120.82569932186053,49.02546256743129],[-120.83239094249669,49.04225335245945],[-120.85221459029559,49.04440081832796],[-120.86866781689375,49.05271018867987],[-120.89507815678598,49.07816044404138],[-120.912156154623,49.07851287894886],[-120.926633269561,49.08600100979935],[-120.96311148240413,49.09483565753421],[-120.96551113681588,49.10377928961848],[-120.94183064040315,49.10483209045276],[-120.91431931199891,49.117105595792545],[-120.89706492301967,49.11273646466898],[-120.86796075133924,49.122771319612355],[-120.85798331803531,49.133953624014005],[-120.87842877318488,49.15710451773732],[-120.90318383254578,49.17513873580312],[-120.88253487532023,49.17609107342082],[-120.89404010401958,49.18921452461693],[-120.89127772996144,49.20617473969421],[-120.86887437631071,49.204387831900796],[-120.84738436692352,49.21970600805052],[-120.84369216873301,49.242040199142984],[-120.82076573616285,49.247323188344076],[-120.8206264139965,49.26912101736351],[-120.81206601533022,49.28443158082118],[-120.82397134237581,49.29497116390638],[-120.85870282482601,49.296018839882656],[-120.8698596359331,49.30331934972666],[-120.90578885427527,49.30567529731264],[-120.91826722384438,49.29971990109775],[-120.93612029124154,49.27597719959101],[-120.98121364218471,49.27150448492817],[-121.0014173551285,49.278242388862104],[-121.00016352007736,49.310047905401184],[-121.02972319556638,49.307059241594565],[-121.04524265512967,49.33073445419786],[-121.06285406169305,49.33349142295892],[-121.08064871131764,49.32941959718949],[-121.10177332516659,49.34859631767526],[-121.09804393142029,49.35390947218675],[-121.09926682834454,49.44108774085686],[-121.0801321160366,49.45837641560509],[-121.0799336716465,49.465430393291854],[-121.05377626403921,49.471228500840404],[-121.0734390807089,49.49547796834695],[-121.08187464222203,49.51416761960043],[-121.06997168547285,49.525075289534854],[-121.04771034450359,49.53187218572555],[-121.03787072571606,49.548867407262584],[-121.0352285003759,49.56737817747792],[-121.04299396988345,49.57655217680391],[-121.03788250372105,49.58691195321396],[-121.00205632480316,49.59704497533077],[-120.98357750212696,49.611964218209664],[-120.96267565610952,49.613804568552055],[-120.97063844063285,49.628442377493705],[-120.95950302271704,49.642209131120424],[-120.9639390709423,49.650835873707074],[-120.96240832746012,49.67347949598367],[-120.98507416393781,49.67326887231453],[-120.98531158626122,49.658464274918416],[-121.00714552978144,49.65851548163549],[-121.00755165320899,49.64442940289474],[-121.01882394278387,49.63699736005438],[-121.05187804871113,49.63690282474172],[-121.06329129677663,49.62696000786753],[-121.0995325521153,49.625395049328574],[-121.12004056554753,49.61035503675406],[-121.13514804102304,49.62252487315269],[-121.15583339068336,49.61715655036909],[-121.1687921288575,49.63436960457346],[-121.17078915662884,49.648364579616135],[-121.1322883745683,49.66746716571656],[-121.12568326393853,49.68044775867891],[-121.14440262704315,49.70015953813995]],[[-121.42488833987753,49.56096105707849],[-121.42618980051505,49.56284190922195],[-121.42128408375804,49.563206560467016],[-121.42147283175291,49.56142677508444],[-121.42488833987753,49.56096105707849]],[[-121.39264820980115,49.62642459114038],[-121.39861735193685,49.629934957717495],[-121.39305614262457,49.63331375038662],[-121.39041843915845,49.628941359152456],[-121.39264820980115,49.62642459114038]],[[-121.58882619999483,49.365083950218995],[-121.58295609405859,49.359618887236856],[-121.59541411237441,49.359962359618265],[-121.58882619999483,49.365083950218995]],[[-121.4202219689383,49.468482757268475],[-121.43202722438281,49.46820740791229],[-121.43153259640548,49.473658781318385],[-121.41882110798728,49.47340856310263],[-121.4202219689383,49.468482757268475]],[[-121.41506835954581,49.51540412808387],[-121.42512434357559,49.51650037723046],[-121.42175688814885,49.52959508533148],[-121.41506835954581,49.51540412808387]],[[-121.4175179343185,49.66611327375616],[-121.40307570793306,49.655129739979465],[-121.42418596269887,49.65579442682524],[-121.4175179343185,49.66611327375616]],[[-121.60545025109984,49.346986243100105],[-121.59859439787057,49.33334919761228],[-121.61873075095502,49.33213880116846],[-121.60545025109984,49.346986243100105]],[[-121.4383516895015,49.45762333626941],[-121.42742289428135,49.457559930372746],[-121.42725969420344,49.44301900561059],[-121.44180514897594,49.432364168587576],[-121.4383516895015,49.45762333626941]],[[-121.53227105466988,49.36826266452171],[-121.56606593571647,49.36564636961807],[-121.56056996483136,49.38021772178508],[-121.52542516687342,49.380352937114715],[-121.53227105466988,49.36826266452171]],[[-121.43636580887353,49.42943666432638],[-121.41285877908395,49.39759675717974],[-121.39143961167608,49.389298344036405],[-121.35548581516032,49.38921492452664],[-121.37980460812581,49.369302910309635],[-121.44742458718748,49.36673567878044],[-121.47338201846954,49.35042272233872],[-121.4835831190278,49.361657528753916],[-121.50295858110896,49.353580096026185],[-121.57478542411705,49.352753154885555],[-121.56191860093664,49.36479319623832],[-121.52863810692344,49.36712469277696],[-121.50317758057625,49.374182298098916],[-121.50333301878565,49.3822103161059],[-121.48101319761912,49.38249047414057],[-121.46982489177314,49.38840226033121],[-121.4698861595264,49.40308068110849],[-121.45889418941755,49.403413181385794],[-121.43636580887353,49.42943666432638]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.26607449026794,\"lat\":49.356405628258706},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909016\"],\"csd_name_en\":[\"Fraser Valley B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Fraser Valley B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.22130873343403,49.77389776543295],[-122.22135938012909,49.77453618032418],[-122.22202347744665,49.77452592342726],[-122.22191665342002,49.77383259005269],[-122.22130873343403,49.77389776543295]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.22165717424626,\"lat\":49.77420214630987},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909848\"],\"csd_name_en\":[\"Tipella 7\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Tipella 7\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.20131038408222,49.06072562247722],[-122.20624166814835,49.053397340092744],[-122.19437704411692,49.04076136038091],[-122.18289554379167,49.057547695871556],[-122.20131038408222,49.06072562247722]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.19520817932748,\"lat\":49.05259428826051},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909877\"],\"csd_name_en\":[\"Upper Sumas 6\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Upper Sumas 6\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.75364514089625,48.35919602531823],[-123.73997880906606,48.362781076036306],[-123.74120583534645,48.36624961711818],[-123.75484679372732,48.36340408518526],[-123.75364514089625,48.35919602531823]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.74761972621947,\"lat\":48.362854390658455},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5917\"],\"cd_name_en\":[\"Capital\"],\"csd_code\":[\"5917819\"],\"csd_name_en\":[\"T'Sou-ke\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Capital\",\"csd_name_fr\":\"T'Sou-ke\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.36457092716505,48.982185822756755],[-124.38493180811595,48.98205762267415],[-124.40025913320756,49.00334943434991],[-124.40176536395177,49.0137640059659],[-124.41543148502679,49.02436330612795],[-124.47922931295604,49.021481805434455],[-124.48840691659771,49.042303312529626],[-124.46328844899884,49.05017865998443],[-124.49045916893249,49.056328204957644],[-124.51576559226875,49.05105693433461],[-124.51654885665644,49.06855632560549],[-124.52723887942528,49.08013248893326],[-124.5314903719258,49.10896711207622],[-124.5282151892442,49.124178776459196],[-124.54820893732274,49.128099814130785],[-124.54987176453365,49.141713436612825],[-124.58059828989721,49.14857498294381],[-124.58255508490153,49.14005755432641],[-124.57743067464219,49.124023954230175],[-124.58216592159866,49.103733800122896],[-124.5952820942921,49.09652657328402],[-124.61629009539004,49.104114349291294],[-124.62917338446098,49.09534488370449],[-124.63577157584507,49.07538928927784],[-124.63040182566587,49.051523674146964],[-124.61558189120294,49.04811959530586],[-124.60580789420098,49.034957209874165],[-124.60684158922083,49.010166070953225],[-124.63825076700962,49.01432138261212],[-124.53934333159702,48.93439426045525],[-124.51745625967308,48.91584351612882],[-124.50108501716612,48.912331227555036],[-124.45718646056447,48.91118299029358],[-124.41595003145231,48.90669273326612],[-124.4155346468849,48.91667288252379],[-124.37450020277741,48.90809338414114],[-124.37392644501627,48.90380451558514],[-124.33215307171572,48.899815813154675],[-124.32118828717418,48.890489403843155],[-124.22582861722472,48.86756665659749],[-124.20380809599583,48.85702120600355],[-124.17495674143285,48.825907616261034],[-124.11180874122927,48.825858327744726],[-124.09676757547135,48.82787349228497],[-124.09114482509236,48.8256419881352],[-124.06959017352564,48.823751538545466],[-124.07575372060991,48.8243784592455],[-124.07640410088008,48.83202582927576],[-124.06977492149964,48.83184391857126],[-124.06936968969,48.826611695392046],[-124.05475709548223,48.83043880664826],[-124.05478777349688,48.84168166639011],[-124.07236981706757,48.84678930838181],[-124.07185824600181,48.86080405062388],[-124.05436568502891,48.86094702817417],[-124.05390526391564,48.8758968610673],[-124.03439718087671,48.87626050017647],[-124.01528934112469,48.89098119062501],[-124.05935548146716,48.91404925848607],[-124.04779083279337,48.92787333707405],[-124.02082428502295,48.93672956341396],[-124.01945281522781,48.94772172093438],[-124.04475674160547,48.94579503722296],[-124.05527959737957,48.953084423647276],[-124.09594817862111,48.9624593356794],[-124.09941423949013,48.952410116934054],[-124.1391233302744,48.94574718157101],[-124.14966458902278,48.93954550628777],[-124.1959927206006,48.95835352357815],[-124.21481077039326,48.954990245395535],[-124.23880805931782,48.95769095486458],[-124.26265193589434,48.967676508872486],[-124.29486572316661,48.97381297131662],[-124.30393049884803,48.9824730774735],[-124.3326204773548,48.96529299948356],[-124.34101114472159,48.97567070626598],[-124.36457092716505,48.982185822756755]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.34781755995714,\"lat\":48.95471094080609},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5919\"],\"cd_name_en\":[\"Cowichan Valley\"],\"csd_code\":[\"5919035\"],\"csd_name_en\":[\"Cowichan Valley I\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cowichan Valley\",\"csd_name_fr\":\"Cowichan Valley I\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.53390610373343,48.725787805713814],[-123.56123570619646,48.71906968273691],[-123.61619951268656,48.71835680335558],[-123.61615005464628,48.71345951333783],[-123.61148477827403,48.7157185599889],[-123.60223036727659,48.715481357861854],[-123.60206548341209,48.71209015069913],[-123.61621751380875,48.712234356199744],[-123.61631088379498,48.67895592081646],[-123.57499670044588,48.679640791068664],[-123.50843039311322,48.67935189349578],[-123.51105033008491,48.69537662515629],[-123.53390610373343,48.725787805713814]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.56462950219199,\"lat\":48.69888449973592},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5919\"],\"cd_name_en\":[\"Cowichan Valley\"],\"csd_code\":[\"5919049\"],\"csd_name_en\":[\"Cowichan Valley C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cowichan Valley\",\"csd_name_fr\":\"Cowichan Valley C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.85538347235473,49.278910621510285],[-124.88724463784094,49.27809811935857],[-124.88730917903953,49.26471166253091],[-124.84111060230398,49.26437677682655],[-124.85311892213697,49.26924810699944],[-124.85538347235473,49.278910621510285]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.86911567764139,\"lat\":49.271146303206585},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5923\"],\"cd_name_en\":[\"Alberni-Clayoquot\"],\"csd_code\":[\"5923816\"],\"csd_name_en\":[\"Tsahaheh 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Alberni-Clayoquot\",\"csd_name_fr\":\"Tsahaheh 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.16388351578277,49.72585972155234],[-123.16046020620554,49.72510369756159],[-123.16012202570109,49.726090560364575],[-123.16212077703885,49.7265124939749],[-123.16388351578277,49.72585972155234]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.16168812275674,\"lat\":49.725853945895416},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5931\"],\"cd_name_en\":[\"Squamish-Lillooet\"],\"csd_code\":[\"5931809\"],\"csd_name_en\":[\"Yekwaupsum 18\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Squamish-Lillooet\",\"csd_name_fr\":\"Yekwaupsum 18\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.29404420424216,50.705674179740974],[-122.30283473337258,50.70589205892245],[-122.30316645823424,50.70023027240586],[-122.29384023662433,50.700947590731694],[-122.29404420424216,50.705674179740974]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.29860552648675,\"lat\":50.70315727993532},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5931\"],\"cd_name_en\":[\"Squamish-Lillooet\"],\"csd_code\":[\"5931826\"],\"csd_name_en\":[\"Necait 6\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Squamish-Lillooet\",\"csd_name_fr\":\"Necait 6\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.32674335074223,50.818260740035015],[-121.3389087624795,50.812272110808955],[-121.33804618907294,50.780556194922],[-121.3116754406293,50.78028425829502],[-121.3053338979718,50.816390842412304],[-121.32674335074223,50.818260740035015]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.32318349924671,\"lat\":50.799266052305576},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933024\"],\"csd_name_en\":[\"Cache Creek\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Cache Creek\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.55777392969058,51.193571031415274],[-120.59286182058246,51.197617509107296],[-120.61701807425233,51.2165160992119],[-120.65383730460091,51.21963222157114],[-120.68111126753624,51.2151399061726],[-120.69446403679598,51.229190444596675],[-120.72054190729925,51.22334587395416],[-120.73517022436482,51.239692651885036],[-120.75738260738107,51.23132043827451],[-120.77513022671097,51.231807425208714],[-120.80396242168334,51.25070247037866],[-120.84216543370792,51.24516040856749],[-120.88658750253767,51.24472714042451],[-120.90530474098355,51.23185514218961],[-120.91753067249937,51.2144453997496],[-120.96032117520318,51.204127090907406],[-120.975423109786,51.1685039325303],[-121.00095810646258,51.13579793486426],[-120.97295083851209,51.10825473741472],[-120.9380048823751,51.090297680204564],[-120.93158133477485,51.0689155767095],[-120.93422479262104,51.05697976184872],[-120.94649681653453,51.04919646413372],[-120.97337004904718,51.059511344738205],[-120.99546976181188,51.08253691864259],[-121.02617790216634,51.07092155968146],[-121.01766893148428,51.0502850316499],[-121.05758770217506,51.063802360891735],[-121.07266749598863,51.07223809448595],[-121.0707108378236,51.01033508369548],[-121.07107758539125,50.924854087893564],[-121.04903656050384,50.924879987476814],[-121.04982269833485,50.83797877034451],[-121.01443290885278,50.83754658399612],[-121.03905156625711,50.8753668069308],[-121.01685514312194,50.892917164341505],[-121.00869742342952,50.885104065575206],[-120.97927073955326,50.88236815427925],[-120.96996249863838,50.87142319272954],[-120.95146385406792,50.87542934574005],[-120.87882997123612,50.749183441966736],[-120.91082462670296,50.74374188889629],[-120.90956908207323,50.66202259547781],[-121.01100320847533,50.67753343296322],[-121.03915817923041,50.66555090311681],[-121.04902491737978,50.65134164261665],[-121.03995472948039,50.63745189734955],[-121.05211076572253,50.614296110491836],[-121.06476116563748,50.60073431235006],[-121.05287231458799,50.59085291332623],[-121.00921711458372,50.575791543624405],[-121.01735066197583,50.548519972937385],[-120.95955681457085,50.5479897963354],[-120.95842863756997,50.50350886667647],[-120.93587070872998,50.503322568443714],[-120.93584937783405,50.51812104927387],[-120.91292807877599,50.518309472767164],[-120.9128979455363,50.50319065457248],[-120.84345095427946,50.504465739232415],[-120.78430848100233,50.50388764347837],[-120.78113464538744,50.48345577017479],[-120.79978821837318,50.47422537311355],[-120.86264569374578,50.47496804448968],[-120.86369905864476,50.45937445811024],[-120.79717731931304,50.4594119930629],[-120.79748546569228,50.44990212239125],[-120.77304228980294,50.4455488917216],[-120.72879722727869,50.445562078057094],[-120.72849640229073,50.43099117529941],[-120.63427381527075,50.43033022069928],[-120.631620665946,50.41574809545193],[-120.56710654172821,50.415902848974085],[-120.56626609509858,50.401484188193436],[-120.43179872830746,50.400156855306754],[-120.4315289240638,50.385742959308374],[-120.3409211085578,50.38585948668081],[-120.34219628607839,50.43149722895569],[-120.33895024272013,50.50264799840956],[-120.33987025544087,50.57495307458815],[-120.35719054458808,50.57512297434233],[-120.35791164339975,50.618268969642116],[-120.44643162408576,50.617941671342365],[-120.47394067109133,50.61945527545713],[-120.47666828236777,50.65617557803488],[-120.47400116031709,50.6866816387561],[-120.48283425934514,50.692780004004575],[-120.51871753265051,50.69311471771481],[-120.51913422189884,50.71084431978103],[-120.53895212804744,50.71389398985945],[-120.53838152485909,50.72904163856811],[-120.47229936983021,50.727867772737646],[-120.47242593939889,50.74196989607835],[-120.3819123409007,50.74205420636374],[-120.3820641038913,50.822781652554255],[-120.33515083714992,50.82289291457811],[-120.3131269707349,50.844833520407086],[-120.31176328646212,50.86622761374369],[-120.31278582056164,50.88140459953316],[-120.33385385128575,50.88076461997577],[-120.33406841076665,50.89462632473785],[-120.35672478656464,50.89489277013198],[-120.38733018395246,50.90917084972367],[-120.39531794178758,50.919495185826],[-120.42919533547978,50.92616888420289],[-120.41854444291734,50.93867037259102],[-120.45552361565625,50.96070273334892],[-120.4634832171274,50.952745174095774],[-120.50936387866246,50.96802423512184],[-120.51101966822048,50.99436527243426],[-120.46812023397472,50.9970884721479],[-120.46663198976164,51.013132245978376],[-120.51263876263242,51.01454163191363],[-120.51343356028907,51.028320980905924],[-120.5596014267523,51.02859665413908],[-120.55670226084,51.04067114127918],[-120.55730203582421,51.08872382494201],[-120.55777392969058,51.193571031415274]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-120.70034670431646,\"lat\":50.806761263203924},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933039\"],\"csd_name_en\":[\"Thompson-Nicola J (Copper Desert Country)\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Thompson-Nicola J (Copper Desert Country)\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.667180588655,50.33908513050462],[-121.66269154473108,50.34489575459143],[-121.67353934543702,50.35459880015988],[-121.6789011390845,50.3422873149742],[-121.667180588655,50.33908513050462]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.67105850044916,\"lat\":50.34566948791819},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933878\"],\"csd_name_en\":[\"Yawaucht 11\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Yawaucht 11\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-116.97061451254538,51.31447465862342],[-116.98868853166671,51.321655247586385],[-116.98910288107129,51.30243719040775],[-116.96887337788304,51.280205295825795],[-116.94111989866819,51.27526661816164],[-116.9410254455321,51.306760666137635],[-116.97061451254538,51.31447465862342]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-116.96358075401925,\"lat\":51.29768937990994},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5939\"],\"cd_name_en\":[\"Columbia-Shuswap\"],\"csd_code\":[\"5939007\"],\"csd_name_en\":[\"Golden\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Columbia-Shuswap\",\"csd_name_fr\":\"Golden\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.40117426601839,52.995747149030464],[-122.39626261460295,52.97479330885637],[-122.41317709598353,52.96146356681901],[-122.44398122326909,52.960822010056326],[-122.4401987471163,52.97498177200624],[-122.46387287729986,52.97871619406586],[-122.4644440870528,52.96844820013696],[-122.49985506658929,52.968764505452924],[-122.51119501039939,52.957791936768075],[-122.45054319170309,52.95661310653197],[-122.45223881918217,52.93850796669969],[-122.48265371346294,52.9394466739604],[-122.49065296194354,52.93980793006685],[-122.49350590041963,52.92909511277075],[-122.47692239414225,52.91623869338197],[-122.47460959465548,52.90020639264005],[-122.44726911263703,52.87103719191659],[-122.44297780641466,52.85122068446713],[-122.45877607762732,52.827311100891116],[-122.46260270282573,52.80979760841509],[-122.45927269635604,52.77931380118801],[-122.48084770144105,52.76267669981582],[-122.47855863843856,52.742844292589844],[-122.4847395769633,52.7312986786693],[-122.48566639100902,52.70726309442933],[-122.46172478272834,52.687647492641005],[-122.46386420139193,52.668988885277],[-122.48625580754864,52.657927008078396],[-122.49374217764843,52.64663730050416],[-122.4671032958982,52.62011710057451],[-122.48470183806651,52.58872106806098],[-122.47599354029799,52.567861068157505],[-122.48247718569479,52.553969689354254],[-122.47604138224115,52.543279593791056],[-122.45271572113008,52.53936721827462],[-122.38743831236911,52.54300749870303],[-122.23378514637466,52.541685134929224],[-122.20564451485707,52.568192165920834],[-122.21557815848358,52.58241488085535],[-122.2499320842651,52.60608007951635],[-122.22553991598218,52.61427267125818],[-122.23560813938062,52.63455860642733],[-122.2367987529974,52.66380490614511],[-122.24695380734873,52.6753062831173],[-122.24811324731213,52.688294901748925],[-122.2380072938463,52.69783685219583],[-122.19287073356318,52.704139091671024],[-122.18802339289132,52.71413394708736],[-122.11923112580823,52.71483714412872],[-122.12441931681055,52.73577150084634],[-122.15118398751113,52.753346204382424],[-122.15261739331008,52.770990796442774],[-122.16505548328296,52.77965819040153],[-122.16523122635033,52.79780860348538],[-122.17210309291889,52.810917004115126],[-122.2288588873225,52.84537150642536],[-122.23923458229949,52.85640939033138],[-122.253139606135,52.857953000533726],[-122.25334689918411,52.87115209628395],[-122.27902811293778,52.88871549395444],[-122.279574106583,52.90292510477785],[-122.29853689882555,52.913705593872756],[-122.29295950574323,52.92453528539612],[-122.32161422040238,52.953225101960086],[-122.31245769749836,52.96225199278965],[-122.32157238594436,52.97490250925771],[-122.36783991353944,53.00071160430499],[-122.40117426601839,52.995747149030464]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.34318009862672,\"lat\":52.746852187444894},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941019\"],\"csd_name_en\":[\"Cariboo A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Cariboo A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-130.24659564227454,54.26193403600194],[-130.24631364024373,54.256770151451136],[-130.28855850478203,54.249140790875295],[-130.28601359798466,54.23212555545728],[-130.29047817067644,54.214059780064545],[-130.3064297161711,54.20148861204312],[-130.28366958389105,54.1899129078227],[-130.27539641287288,54.19944062959711],[-130.22868126460747,54.19343755414328],[-130.18015076268662,54.175558420316186],[-130.13232427544523,54.146732623174756],[-130.09331375607633,54.16475016472554],[-130.0674802222811,54.170954960898726],[-130.0299087416253,54.16575586875591],[-129.99419201444357,54.17943243729411],[-129.9793891944555,54.19233965937204],[-129.9442082832878,54.196362288788784],[-129.97684944965394,54.219354551108914],[-129.95837873924677,54.244393668414475],[-129.9582394533642,54.26138362029471],[-129.99940259811126,54.25994184912854],[-130.18857585200072,54.2485681866067],[-130.20723639989407,54.26242467610133],[-130.24659564227454,54.26193403600194]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-130.11869979626724,\"lat\":54.21439013475329},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5947\"],\"cd_name_en\":[\"Skeena-Queen Charlotte\"],\"csd_code\":[\"5947007\"],\"csd_name_en\":[\"Port Edward\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Skeena-Queen Charlotte\",\"csd_name_fr\":\"Port Edward\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-128.53834757747853,54.042123877566794],[-128.5379366690945,54.107489335872366],[-128.6018628094861,54.1074160705017],[-128.61206037910733,54.10999070537746],[-128.7252854752487,54.107966747084475],[-128.72626557167325,53.96301657051076],[-128.78492390468446,53.96292485574018],[-128.78525993541462,53.93335672851597],[-128.90796761558244,53.93342254503646],[-128.9080777139227,53.79872669407851],[-128.83688573301802,53.79863976711315],[-128.6961565578248,53.94945947284971],[-128.65471529480882,53.99469426308343],[-128.53876134352603,53.99439506647725],[-128.53834757747853,54.042123877566794]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-128.72536056514156,\"lat\":53.97035580763995},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5949\"],\"cd_name_en\":[\"Kitimat-Stikine\"],\"csd_code\":[\"5949005\"],\"csd_name_en\":[\"Kitimat\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kitimat-Stikine\",\"csd_name_fr\":\"Kitimat\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-128.55800933009348,54.49243931707728],[-128.5099998011584,54.49223412651198],[-128.50134622347727,54.50484888016642],[-128.50823761996153,54.52548818935572],[-128.50348007223877,54.537999824803556],[-128.53578892530894,54.52981579057448],[-128.56227644639705,54.516393649016166],[-128.56975779566258,54.501103188870076],[-128.58353570526765,54.49561927155023],[-128.58357419597468,54.49492111724564],[-128.58299606238538,54.491506289103974],[-128.5858692898554,54.491553335898104],[-128.58586313718573,54.49388335317655],[-128.59580622865116,54.488577011256936],[-128.55800933009348,54.49243931707728]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-128.53560080466045,\"lat\":54.50946098544984},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5949\"],\"cd_name_en\":[\"Kitimat-Stikine\"],\"csd_code\":[\"5949018\"],\"csd_name_en\":[\"Kitimat-Stikine E\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kitimat-Stikine\",\"csd_name_fr\":\"Kitimat-Stikine E\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-129.97507952293478,57.83192218503342],[-129.9852889114926,57.840271614339066],[-129.9906005995129,57.83768823201156],[-129.97507952293478,57.83192218503342]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-129.98365634464676,\"lat\":57.83662734379469},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5949\"],\"cd_name_en\":[\"Kitimat-Stikine\"],\"csd_code\":[\"5949832\"],\"csd_name_en\":[\"Iskut 6\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kitimat-Stikine\",\"csd_name_fr\":\"Iskut 6\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-131.00137318148535,58.0052562121639],[-130.98971688279448,58.00555138256992],[-130.97038778018,58.01200728555454],[-130.9874564041608,58.01532950737318],[-131.0007599002577,58.012370962005754],[-131.00137318148535,58.0052562121639]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-130.98901325486116,\"lat\":58.01029825632903},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5949\"],\"cd_name_en\":[\"Kitimat-Stikine\"],\"csd_code\":[\"5949846\"],\"csd_name_en\":[\"Tahltan 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kitimat-Stikine\",\"csd_name_fr\":\"Tahltan 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.44068574746872,55.998926234495066],[-124.75094873080509,55.999509975201164],[-125.24993180652605,56.00005465786452],[-125.50030709464887,55.99988011017487],[-125.7508439451403,55.99962663275115],[-126.00105088280027,55.999537762459504],[-126.50020204960522,55.99996801792858],[-126.75004785739014,56.000045742685444],[-127.02431387805869,56.00010236242619],[-127.01253620719078,55.992589025172485],[-126.96903075527736,55.99355541402573],[-126.90105480899035,55.96408743890538],[-126.88099859898121,55.96565920064044],[-126.86734494449662,55.95970343296819],[-126.88101233397124,55.93276140491157],[-126.9012217810821,55.930232113251115],[-126.91949710652979,55.92014593631418],[-126.91653247480464,55.91012448891459],[-126.88494534999035,55.89651970516495],[-126.86941895100885,55.86357132113206],[-126.8365617107997,55.82903684514044],[-126.82010752611014,55.82560072528503],[-126.78937447625852,55.80534048895109],[-126.75891585637784,55.802368114596646],[-126.74389156276975,55.78315212223472],[-126.75380602595726,55.776897324269484],[-126.74516418892756,55.764568146173175],[-126.74926322523189,55.74250299875942],[-126.71281227336998,55.72513742015243],[-126.68295678936713,55.71800114196208],[-126.66839759596208,55.702203739020156],[-126.6568188069016,55.70926796717536],[-126.60920142070113,55.67495040909597],[-126.56487261526281,55.660268583627946],[-126.55015202824383,55.67034628832562],[-126.52746117875735,55.66506509973679],[-126.53012637549965,55.65535838529321],[-126.48090812388402,55.637883102148876],[-126.474738022356,55.62553152430933],[-126.4802546025061,55.61145229638739],[-126.4670306855868,55.59953490635232],[-126.43258367079082,55.586947831688335],[-126.40230292593192,55.58200242913446],[-126.40098016999274,55.560072331063076],[-126.38756458635669,55.5458507517915],[-126.38580053921727,55.53203851472792],[-126.41111590402407,55.52775580464846],[-126.4072379166402,55.49837820459066],[-126.3930396621977,55.48192449833763],[-126.36572344616687,55.476908898638555],[-126.35933591643013,55.45360243325456],[-126.34441210196606,55.44642748884106],[-126.33484322836318,55.43278337666999],[-126.3421454585407,55.411949858480966],[-126.32000419344898,55.395761383956525],[-126.2865046929164,55.398311409193845],[-126.27183264840835,55.394459562847175],[-126.2584030766575,55.37884179446062],[-126.23588817965417,55.36756558532746],[-126.25765272544507,55.35938608399377],[-126.26015133550928,55.34649868300232],[-126.21163150998632,55.311828953483094],[-126.16791191644609,55.28984137175302],[-126.13961438332535,55.26064900870519],[-126.129759363606,55.233644993158286],[-126.0924254326681,55.209322154961626],[-126.05725118762093,55.177564298629704],[-126.03634632983947,55.16881878573101],[-125.99922510815709,55.16703685774035],[-126.00365418628164,55.095606014149574],[-125.99521030669537,55.08633779863705],[-125.99737493682365,55.065734051479694],[-125.99408340745101,54.97067427049521],[-126.00005858465718,54.93372907724527],[-125.9990634530476,54.85432641758973],[-126.00295885870194,54.81712155895],[-125.97544027349878,54.8054437774437],[-125.96847330454156,54.79599430039323],[-125.92696872649309,54.79313816488802],[-125.92544544520614,54.77818105077518],[-125.95826100290346,54.79130450224147],[-125.97082267454455,54.786196495776785],[-125.95487820515788,54.76677774866077],[-125.95622940079953,54.751299300640625],[-125.948308515564,54.718635868920266],[-125.90453369575933,54.67224408669616],[-125.87690543227565,54.65074447925051],[-125.85650889715531,54.644491762859744],[-125.75497798814142,54.57944580582771],[-125.72917620926117,54.5522160310369],[-125.7073428777039,54.53916831688668],[-125.64519865792654,54.509426394556975],[-125.60350029762891,54.49133935833892],[-125.52110201809899,54.46223603815512],[-125.48446643196405,54.45108216323979],[-125.44905874338562,54.45921354668094],[-125.3146834865632,54.472350411216],[-125.18926739062638,54.49694801147443],[-125.17704039155534,54.487164328871344],[-125.13536262347694,54.48584882180964],[-125.1102965548731,54.47931100223366],[-125.11112252733712,54.463843489908726],[-125.06249027787372,54.46513021044364],[-125.0622004279431,54.44271965290769],[-125.0514870189265,54.4350188789783],[-125.01448536766102,54.43539612710873],[-124.99871319441759,54.420218478092686],[-124.99989839438487,54.24994595422292],[-124.79543066463839,54.24977306006287],[-124.46623661605666,54.24997275507977],[-124.46597948614188,54.23261280625556],[-124.44445056716745,54.22479105388446],[-124.42359287498952,54.2326711712284],[-124.41282535365195,54.25869251264797],[-124.40030043424393,54.26944534540823],[-124.36836366829083,54.26905728453231],[-124.3487030668,54.26490320384495],[-124.33809972493725,54.271816807772524],[-124.3086127378024,54.26907333304811],[-124.31047048566604,54.2800974566838],[-124.27261528448236,54.292721430183505],[-124.19872998514364,54.29363549537199],[-124.1673218975915,54.288383208822864],[-124.14667759284552,54.27361779870821],[-124.06918170804278,54.24666978593515],[-124.03650307861166,54.24058930084636],[-123.96446209951941,54.209569006645744],[-123.94211290553504,54.20408240479571],[-123.92703318130798,54.212112991868494],[-123.90555902790206,54.203187204663855],[-123.86950660747455,54.20368508619049],[-123.8429552782792,54.19800969600612],[-123.82196017272207,54.20438009622164],[-123.79262022798864,54.19357110208679],[-123.74311979036692,54.18026728842362],[-123.69913758834903,54.1814287925347],[-123.66558629778089,54.16629249125575],[-123.63766298488792,54.16704350559846],[-123.57494911647404,54.15805969361676],[-123.54346929216959,54.15912349970544],[-123.52035758347793,54.15440078952457],[-123.5202037103741,54.17336249993221],[-123.52049399862699,54.252469343244336],[-123.55268907958853,54.27019902432937],[-123.532430699681,54.2895993701993],[-123.5543916874774,54.3062449870855],[-123.58662274465543,54.317561565554776],[-123.6202115614432,54.32055832518556],[-123.644256455301,54.33012263037237],[-123.71609625714588,54.32238622333261],[-123.7411713387648,54.3217889438871],[-123.7827006889191,54.33633340812331],[-123.81941191928024,54.336532343325835],[-123.85305395526048,54.37564211651522],[-123.87802433989062,54.37887140669329],[-123.90561079398915,54.37468182035335],[-123.92828262349737,54.3614463878125],[-123.93342439717998,54.37982660026641],[-123.96940172213353,54.41134012227323],[-123.9693514479413,54.4241885370163],[-123.98647868544455,54.42951075580459],[-123.9512854224582,54.44946668395902],[-123.95244509198497,54.458758258873246],[-123.88060007399783,54.49235074426424],[-123.87730955524887,54.499110151997314],[-123.84804436236217,54.512486674075795],[-123.86088532024246,54.52543308278649],[-123.8429007940432,54.5307572748747],[-123.82171506308931,54.54419897604088],[-123.83333538237738,54.55428275227269],[-123.81973045617147,54.56196311317175],[-123.81967778450726,54.58081031829422],[-123.7962900648003,54.57715209927063],[-123.78005612426702,54.59261603267],[-123.80823791230702,54.60518220474364],[-123.77865012101488,54.613229984870586],[-123.7863433355382,54.62722709083179],[-123.77849891793468,54.65912592491066],[-123.79327621078768,54.67473439730562],[-123.79595130128328,54.6926591375145],[-123.84223715844092,54.69615259000771],[-123.88039100989427,54.719662336837416],[-123.88051867799435,54.73819645411327],[-123.90370591392693,54.74386542565616],[-123.9263703091439,54.75899138766084],[-123.94815587851816,54.76749767331634],[-123.9257801992012,54.80683449373407],[-123.91492807802149,54.81617750162489],[-123.91955737456462,54.83174271154387],[-123.89580750250141,54.853719803678125],[-123.90444354400015,54.864809510616354],[-123.92672559545032,54.86212037219982],[-123.99032837163341,54.86631962214602],[-124.00518101347916,54.86255277489416],[-124.0231156467696,54.86793856258289],[-124.01419323012034,54.88209506263235],[-123.99450676869346,54.882283467674206],[-123.99503628465098,54.89302449152147],[-124.03411038510325,54.90298699715868],[-124.0345222670895,54.91680153272778],[-124.05191168443484,54.93045896253055],[-124.05127173017844,54.95077719109827],[-124.02148539242565,54.95305491397154],[-124.01327630398637,54.959907051860945],[-124.01202201710616,54.98162731676827],[-123.99912291805839,54.9866018319311],[-123.99907751404098,55.025169372445184],[-123.9800822274395,55.01221021216477],[-123.94587838214574,55.01150080896622],[-123.90445785583921,55.01963302655549],[-123.8883924300988,55.03782574917383],[-123.8629821633274,55.04704962628667],[-123.83003968640337,55.044664139104974],[-123.81055474931047,55.03760636669538],[-123.81642578683507,54.99786060363867],[-123.79421195120428,54.99541572310432],[-123.76119660084235,54.974576376409445],[-123.7583474447475,54.96416315853464],[-123.72728017390969,54.95522801510981],[-123.72071626682336,54.94292990457172],[-123.69061074450404,54.92312797723365],[-123.65834127019689,54.920308230392436],[-123.63300814824298,54.935656683020426],[-123.63237956988935,54.949260187548774],[-123.61983574259433,54.95503939182061],[-123.59009497053766,54.946403377179955],[-123.55047147292413,54.95823794865357],[-123.53812201271236,54.986027220610694],[-123.51537617509376,55.01714432202903],[-123.49489800282687,55.02000932889063],[-123.45418932789812,55.014411624041564],[-123.43304559577362,55.02087793016125],[-123.41556590998316,55.032890628837436],[-123.40668574992256,55.05734890313633],[-123.41520776251919,55.07091340650448],[-123.4134534341778,55.085941585895846],[-123.39627290761216,55.10297727610549],[-123.41699977292602,55.12194075104946],[-123.41866114508055,55.14803339343754],[-123.39225944186192,55.17108644612918],[-123.41388307467541,55.20192996274305],[-123.41852708675478,55.21884944619525],[-123.41332591528595,55.23493057709162],[-123.43058979733456,55.24192480005035],[-123.45730062916314,55.27019405263681],[-123.46156630142721,55.28668372600481],[-123.49420887630228,55.313965422676524],[-123.53456457196849,55.32746199135545],[-123.56850672923761,55.31275974960865],[-123.64589303958847,55.30652898284802],[-123.71213351627104,55.29051709733784],[-123.74207794544618,55.287507088298575],[-123.77302052308895,55.299391524348394],[-123.79717176360279,55.3244556076937],[-123.85178867655003,55.339533476428215],[-123.86035377459844,55.34670684493467],[-123.86214607866862,55.36540264242226],[-123.8749721326606,55.40024087021315],[-123.90675806713601,55.4290752040411],[-123.89498002688998,55.46478346211503],[-123.9010243174763,55.48326495947694],[-123.88520118198238,55.49331603318767],[-123.8845121849574,55.503715095565454],[-123.91082434582695,55.52772738460039],[-123.92837814181846,55.55437952745788],[-123.99360752439414,55.54988991503167],[-124.01854231330239,55.53603717296806],[-124.05035329167046,55.5413167596998],[-124.09262898216477,55.5688139599082],[-124.12301102811315,55.63971952572078],[-124.15308318699292,55.64910693535337],[-124.16743464972876,55.66898378643287],[-124.18168858947104,55.670993747279596],[-124.19229073060059,55.68315440054483],[-124.23206137274913,55.684257164188686],[-124.24788780013671,55.689326922663454],[-124.26715092775511,55.68661339761396],[-124.29692738570915,55.69564020990111],[-124.30833268413646,55.705863720104055],[-124.3222746353649,55.73374611854275],[-124.33485547812037,55.740400582682355],[-124.32778279866903,55.75375401236081],[-124.34685438236608,55.7687055732877],[-124.35726747652389,55.78670896239254],[-124.34984561497411,55.817169739464426],[-124.33361620127224,55.83215662572685],[-124.33754557874133,55.84350499835515],[-124.35980897036812,55.86970076991597],[-124.37402457896972,55.8789788510207],[-124.38142825599913,55.89605186104856],[-124.38342125856946,55.91834698369464],[-124.40123338840486,55.938546021122974],[-124.39912690529853,55.950548524241846],[-124.4315819392136,55.95481746297988],[-124.43128966898843,55.96898151913819],[-124.44425666408462,55.98736735300329],[-124.44068574746872,55.998926234495066]],[[-126.0340838724929,55.31637352410345],[-126.03583674032286,55.323579006174754],[-126.02201547993252,55.32458618608785],[-126.02111671806445,55.31723453188389],[-126.0340838724929,55.31637352410345]],[[-125.95697514457771,55.48155740606382],[-125.95778820186854,55.4768824448515],[-125.97566577716765,55.485158079175726],[-125.95646508057717,55.484489817822784],[-125.95697514457771,55.48155740606382]],[[-124.40508365208976,54.427649672338866],[-124.38599167543447,54.416231817559726],[-124.40584996972109,54.41626796817605],[-124.40508365208976,54.427649672338866]],[[-125.07937850109144,54.60806486698505],[-125.05982809311804,54.6087079025207],[-125.053167530959,54.596581398980845],[-125.07939691391921,54.59864443365068],[-125.07937850109144,54.60806486698505]],[[-124.54048034711428,54.56649296723186],[-124.52331768324835,54.575897317967836],[-124.47212998689673,54.576229048280354],[-124.47284344058235,54.557871256762525],[-124.51529963708408,54.56981286060989],[-124.54048034711428,54.56649296723186]],[[-125.16183344568076,54.88280847666902],[-125.10465250868124,54.88830416956224],[-125.10002202036752,54.87868766986075],[-125.11504492915672,54.86853938471585],[-125.15090942294907,54.87585547983698],[-125.16183344568076,54.88280847666902]],[[-124.75372604404905,54.649344723411616],[-124.78134910184473,54.66380395443078],[-124.78178153805686,54.676638118604195],[-124.73404956804421,54.676501034393034],[-124.73415753730092,54.6609506918358],[-124.70991394253136,54.66006846563072],[-124.70948086925527,54.64906229190752],[-124.75372604404905,54.649344723411616]],[[-124.25714436354922,54.43942314011843],[-124.27161406092151,54.44850793037717],[-124.3022807128181,54.45589552064161],[-124.30246782268671,54.46490663358452],[-124.2561085498514,54.46774241054189],[-124.25656808950424,54.48240764157585],[-124.23235045682789,54.48363646027754],[-124.23483291102411,54.5003772743148],[-124.18177445030005,54.497359094385395],[-124.18115618745472,54.48640042828611],[-124.19339822520547,54.47519426861736],[-124.19169372288668,54.47514632907096],[-124.15749355378856,54.475808866050464],[-124.15757409481212,54.46110527710293],[-124.18105347173437,54.460926857268745],[-124.19292295075212,54.467750663756476],[-124.20201216865895,54.46770317534567],[-124.25102165914826,54.460901950953904],[-124.23096759677652,54.453434310118155],[-124.2310438592373,54.438815640584835],[-124.2310301113643,54.42451703858563],[-124.26743108522568,54.424892437516206],[-124.25714436354922,54.43942314011843]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.02376255327744,\"lat\":55.19942301490327},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951015\"],\"csd_name_en\":[\"Bulkley-Nechako C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Bulkley-Nechako C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-127.02431387805869,56.00010236242619],[-127.25022377306013,56.00075293433451],[-127.50040355544016,56.00150256662776],[-127.9182200361711,56.002813462108804],[-127.94153266919186,55.99993573269343],[-128.36462689175144,56.003179122828925],[-128.43928065806898,56.002952485859005],[-128.47518798741817,55.96746378409529],[-128.48555037529127,55.94483758201198],[-128.45516605581778,55.928820584406395],[-128.3868993849822,55.91429943284907],[-128.33093567848374,55.914164086867096],[-128.27537305101296,55.93605314190621],[-128.22425607744788,55.93245087843408],[-128.18904392059844,55.910786906311],[-128.1884814984335,55.87091596087101],[-128.1560015143585,55.86301952080918],[-128.1428732815799,55.846492971945594],[-128.16887736749024,55.82979411192033],[-128.18948998288693,55.82238761599868],[-128.19323172796226,55.81040853801281],[-128.24061020300002,55.76796881642975],[-128.21385260690877,55.74085071769704],[-128.18016760647595,55.72773855475192],[-128.14686181859045,55.7277299972659],[-128.11512092174814,55.72140931008801],[-128.09457926564497,55.749689828958275],[-128.09951375930248,55.76447476323836],[-128.08775715925222,55.77018199291712],[-128.0717489355329,55.75957070168236],[-128.03159163558314,55.74655526300362],[-128.00444538865315,55.75208254384258],[-127.99615573203724,55.72669226724694],[-127.98318604143212,55.71696737798347],[-127.97630100120202,55.699812146883254],[-127.96294849492263,55.688450112697204],[-127.93678961684527,55.68762142741934],[-127.91507216336522,55.71703100942672],[-127.88201839437137,55.71708305042259],[-127.85366624878215,55.708393842830226],[-127.79802181515674,55.70991518922037],[-127.78538821788503,55.70499926008578],[-127.7133211709979,55.710818488588515],[-127.66409697460512,55.685445324576534],[-127.65696491604494,55.67392453098191],[-127.65279419972197,55.63849409688438],[-127.59086937085408,55.60156791745648],[-127.56884361243183,55.57793532486864],[-127.53336958885576,55.55002523393444],[-127.50653269770773,55.54235506212364],[-127.45770087191902,55.53756378943419],[-127.45840545527402,55.50929369933903],[-127.44890261187751,55.49973445880618],[-127.41558233812017,55.494005353115284],[-127.39503533851625,55.51090797845505],[-127.35614659254989,55.50950658515356],[-127.33356088889775,55.51620804951368],[-127.30016885471811,55.512119680556836],[-127.29301514721483,55.500107961517905],[-127.27848722635653,55.49487466112184],[-127.25723306221472,55.47392275583963],[-127.21843011784917,55.47506612268524],[-127.17260377947356,55.462592916324866],[-127.08975493934761,55.40532900984714],[-127.06300674135382,55.39605406147482],[-127.06337760109881,55.38306359382919],[-127.04663268807542,55.37550294621625],[-127.03184190065757,55.385866832502735],[-126.96108551665233,55.378372761316605],[-126.93740319369361,55.38614509048595],[-126.89216581859536,55.37099767483714],[-126.85338551010598,55.36080386034236],[-126.8711698300261,55.35200795871318],[-126.8750286030149,55.3140549331856],[-126.88102963447864,55.3039949444156],[-126.90518230570423,55.297146410769265],[-126.95364617307388,55.2885447184137],[-126.95398516550772,55.28201724874298],[-126.92834010067821,55.26826031152519],[-126.90799911024006,55.26590314195752],[-126.87996966886584,55.26897869922446],[-126.84533504386803,55.240279011085384],[-126.83807556399668,55.22192840257943],[-126.80805098267399,55.22932494178036],[-126.78546461181013,55.227035009202694],[-126.7420025916376,55.207145853630024],[-126.73597999762057,55.194150669008906],[-126.74147366190623,55.178892942951585],[-126.7349436333795,55.16030465665065],[-126.68560258370063,55.124746453806885],[-126.64470008070921,55.12448512602278],[-126.64762450062271,55.10078028515838],[-126.70480994089462,55.075503936468834],[-126.71615488423905,55.06410348572881],[-126.73493584395604,55.062735166995495],[-126.76298256047082,55.06939759011783],[-126.84345387664304,55.07502182768306],[-126.85524443036621,55.064791617262266],[-126.88000136442413,55.059850003971775],[-126.88307841303805,55.04986303559217],[-126.8734736014032,55.03496788785369],[-126.9128469140697,55.02531227781979],[-126.94296325950359,55.00707016363662],[-126.93720119287997,55.000035093924524],[-126.91769045402549,54.9837088156597],[-126.89365435429953,54.95551149298817],[-126.86185380955392,54.937519678941094],[-126.86390071134863,54.90982411479009],[-126.8563604810191,54.89545521632481],[-126.86336962734696,54.87239006127086],[-126.83612853239885,54.868843529703064],[-126.83399748831182,54.86202043990733],[-126.85744004223427,54.84812227412951],[-126.8218642941064,54.830682389618],[-126.8171175421091,54.81486945686381],[-126.79399495738504,54.81182773173311],[-126.77692427710785,54.796339603210775],[-126.7610404145832,54.7947243549787],[-126.72467869624276,54.80501842108441],[-126.70059028787131,54.79394616313002],[-126.70732407611145,54.76118095750643],[-126.73943687687277,54.75644895883981],[-126.75662845025091,54.76102469896738],[-126.7717023991386,54.74964473004209],[-126.77586683301028,54.73362405602198],[-126.74338275797201,54.71941057814558],[-126.74911475155471,54.69270805392856],[-126.73186201120376,54.68527175395595],[-126.7324556420282,54.670407392582376],[-126.70295281272183,54.679535780494504],[-126.68496601376322,54.67870079454512],[-126.67579147772331,54.659156592756936],[-126.66431819929485,54.64884006032467],[-126.6330299871756,54.63765604939299],[-126.62733332533453,54.62550427143705],[-126.62433532000927,54.5797105530302],[-126.62298644639655,54.5074707975692],[-126.72696739355338,54.50632893949135],[-126.72764069806766,54.497350799824545],[-126.7944485987094,54.49394758817368],[-127.23075065429194,54.49585536530023],[-127.50039587347995,54.496170930300295],[-127.77165969891382,54.49494822909996],[-127.76895384384603,54.4846661433424],[-127.77956905292271,54.467358647812176],[-127.75770678971328,54.44306953626476],[-127.73761621938344,54.44453354520407],[-127.71348461428614,54.460494434657555],[-127.69391079606503,54.463614287815744],[-127.6519745057969,54.456377388974985],[-127.6418250138185,54.45936528362622],[-127.62140107579874,54.444588874958534],[-127.58042733404568,54.45146113662801],[-127.55464307613812,54.446439756369976],[-127.53775517020573,54.43518983541926],[-127.56142347956988,54.40575151829],[-127.56179508172397,54.397825489388126],[-127.5355766504429,54.38704013993654],[-127.54870839835078,54.36999084956356],[-127.56800904967756,54.35957384456265],[-127.56851560655868,54.34232565410037],[-127.58958276344283,54.323828711919006],[-127.5938075857218,54.313000815244216],[-127.64115847428812,54.304482981338445],[-127.64483643798363,54.2905088183567],[-127.66553415340587,54.277310296224556],[-127.6748732488293,54.2612412793203],[-127.6551661915025,54.24587766731502],[-127.67780182386106,54.22155573212981],[-127.69816656563182,54.216625225254944],[-127.70558956381055,54.206452550134465],[-127.75000035943259,54.20412194725183],[-127.7579041843696,54.172959678410535],[-127.72483603649275,54.14401122967572],[-127.72167945988691,54.12402058851162],[-127.74841816756856,54.115951073707066],[-127.80475527461782,54.110979797025024],[-127.82601765782553,54.10194658319539],[-127.82950102026675,54.08875560503792],[-127.85366846219539,54.07305093439242],[-127.86517352665736,54.04533565765427],[-127.88351813514153,54.037735639809206],[-127.89253995346891,54.02209098425716],[-127.93492030521871,54.02035934031499],[-127.94471350919964,54.005156161532334],[-127.9782353807749,53.99417859937256],[-128.0002351496968,53.99500268077671],[-128.00166316687523,53.89128508408135],[-127.99936272548307,53.88053436802554],[-128.01271595489033,53.87504228043196],[-127.99813798471442,53.85635658534642],[-127.93667659572066,53.82620685790876],[-127.94441432382395,53.81288687338235],[-127.92386728895873,53.80285400378087],[-127.89922716466891,53.77789662718514],[-127.91124944630923,53.77181523547593],[-127.90107107312471,53.745078509079995],[-127.85166725821303,53.72908608474703],[-127.82011949224528,53.72765837352145],[-127.81685421569233,53.713485521267444],[-127.8275369462924,53.69670327779024],[-127.81235106439584,53.681273569433856],[-127.81412861250152,53.662338415126186],[-127.78589339029277,53.66185539443982],[-127.7348494530673,53.665750087283925],[-127.69414817590302,53.68288716472332],[-127.67183343620171,53.67799408508967],[-127.63821672995319,53.685112311464074],[-127.64948320809826,53.69572644909929],[-127.64965503540003,53.71060465397137],[-127.58632189555163,53.72591207275812],[-127.5719531866705,53.737788783855486],[-127.53723896026005,53.7351568120929],[-127.5112442056186,53.75933515462196],[-127.47507493117142,53.76877778410303],[-127.43809082107035,53.75835042180942],[-127.42785385170811,53.770252078445466],[-127.35826599182717,53.74070284635038],[-127.3288728871562,53.739823200642135],[-127.32974872771031,53.75489186615343],[-127.31514937976213,53.7596587003864],[-127.29563507338294,53.75554057743134],[-127.27672285885727,53.79657504051304],[-127.29892888662366,53.8205613575706],[-127.29359475555721,53.83362259469201],[-127.26735105237732,53.86192434538551],[-127.26566275906275,53.88180584027095],[-127.2819621757737,53.891257845636105],[-127.28044587090629,53.90507499230235],[-127.26592973480844,53.91579678457197],[-127.28247880436014,53.93129395790183],[-127.27300007385224,53.9580471386912],[-127.25885316336253,53.96612794343567],[-127.2386920256091,53.98961316582135],[-127.15944386928146,54.01862421230739],[-127.15476761211552,54.00286702120255],[-127.13113329753502,53.98675004806923],[-127.11347933042747,53.99473978702751],[-127.09711964678094,54.02323579847686],[-127.1071497678422,54.034420635480444],[-127.11082210737933,54.05204399235467],[-127.08235508486274,54.059512299281906],[-127.07953423117202,54.0780391161898],[-127.00966174253661,54.064153665558905],[-126.98019888462241,54.063183345203086],[-126.97582539268916,54.057044998803974],[-126.94972564060365,54.057003116312664],[-126.94957646548347,54.07838090670841],[-126.92209796250344,54.108371432472346],[-126.86596695778259,54.09583853852615],[-126.82402513219643,54.07237968367065],[-126.800047141052,54.055175509864064],[-126.78020720658807,54.05108506765631],[-126.77044972740192,54.056769768597626],[-126.63564073006553,54.05761102997982],[-126.63879858074128,54.15314826561246],[-126.63789583793509,54.196598497529],[-126.60994325371209,54.19991601721688],[-126.59610149628615,54.18425371051471],[-126.54988255337855,54.17647832421607],[-126.52872916051929,54.16848962927183],[-126.49021526562609,54.1644220955765],[-126.41749736932516,54.16317889087531],[-126.41877387665265,54.15351532515936],[-126.38034920373255,54.14614377967491],[-126.33960091060956,54.14182888489736],[-126.32688007860462,54.13314822731924],[-126.32517946553402,54.112924004640334],[-126.31601635480752,54.10128919501137],[-126.2610360347492,54.107338081155966],[-126.23970715255021,54.10212132701204],[-126.23059869995737,54.112558256891305],[-126.19270567822646,54.10509601185283],[-126.17208823325167,54.11489943698137],[-126.16948855021609,54.12711404018862],[-126.18055160934846,54.13938322981536],[-126.20745296984263,54.14559316114749],[-126.21862773268857,54.17682755618414],[-126.23374299788635,54.1831952344875],[-126.24531803750575,54.19071095577947],[-126.27603423627653,54.19800426045494],[-126.29518258059042,54.19234466061377],[-126.30579436225773,54.20196944824831],[-126.36372395133391,54.2175989344345],[-126.36042401010144,54.22610576312516],[-126.33736658071513,54.23816829808841],[-126.30039016264499,54.236086638429455],[-126.26201710981742,54.23917826944497],[-126.25983494061661,54.248718901860094],[-126.28402374933933,54.26573693004303],[-126.28459909381037,54.272448602771455],[-126.34066307571898,54.31412044082223],[-126.41315716738139,54.342728462194366],[-126.43465459318472,54.344868929881585],[-126.44355949008892,54.33650454108529],[-126.47735944358352,54.33218048406835],[-126.50212749308425,54.352279909621835],[-126.4741094106548,54.38780684257705],[-126.45485168956745,54.391108302799225],[-126.45618760188306,54.404917031829406],[-126.27990347745454,54.405785510507464],[-126.2519047322203,54.409873642359265],[-126.25004030755657,54.475997717154634],[-126.24555039301882,54.48684031250821],[-126.24397059889941,54.53525581208275],[-126.24966513286539,54.69460796920382],[-126.2498916219776,54.74901523682382],[-126.10723761765244,54.74871917397266],[-126.08170420289156,54.750111947036515],[-126.04317522312385,54.757208763789876],[-125.95622940079953,54.751299300640625],[-125.95487820515788,54.76677774866077],[-125.97082267454455,54.786196495776785],[-125.95826100290346,54.79130450224147],[-125.92544544520614,54.77818105077518],[-125.92696872649309,54.79313816488802],[-125.96847330454156,54.79599430039323],[-125.97544027349878,54.8054437774437],[-126.00295885870194,54.81712155895],[-125.9990634530476,54.85432641758973],[-126.00005858465718,54.93372907724527],[-125.99408340745101,54.97067427049521],[-125.99737493682365,55.065734051479694],[-125.99521030669537,55.08633779863705],[-126.00365418628164,55.095606014149574],[-125.99922510815709,55.16703685774035],[-126.03634632983947,55.16881878573101],[-126.05725118762093,55.177564298629704],[-126.0924254326681,55.209322154961626],[-126.129759363606,55.233644993158286],[-126.13961438332535,55.26064900870519],[-126.16791191644609,55.28984137175302],[-126.21163150998632,55.311828953483094],[-126.26015133550928,55.34649868300232],[-126.25765272544507,55.35938608399377],[-126.23588817965417,55.36756558532746],[-126.2584030766575,55.37884179446062],[-126.27183264840835,55.394459562847175],[-126.2865046929164,55.398311409193845],[-126.32000419344898,55.395761383956525],[-126.3421454585407,55.411949858480966],[-126.33484322836318,55.43278337666999],[-126.34441210196606,55.44642748884106],[-126.35933591643013,55.45360243325456],[-126.36572344616687,55.476908898638555],[-126.3930396621977,55.48192449833763],[-126.4072379166402,55.49837820459066],[-126.41111590402407,55.52775580464846],[-126.38580053921727,55.53203851472792],[-126.38756458635669,55.5458507517915],[-126.40098016999274,55.560072331063076],[-126.40230292593192,55.58200242913446],[-126.43258367079082,55.586947831688335],[-126.4670306855868,55.59953490635232],[-126.4802546025061,55.61145229638739],[-126.474738022356,55.62553152430933],[-126.48090812388402,55.637883102148876],[-126.53012637549965,55.65535838529321],[-126.52746117875735,55.66506509973679],[-126.55015202824383,55.67034628832562],[-126.56487261526281,55.660268583627946],[-126.60920142070113,55.67495040909597],[-126.6568188069016,55.70926796717536],[-126.66839759596208,55.702203739020156],[-126.68295678936713,55.71800114196208],[-126.71281227336998,55.72513742015243],[-126.74926322523189,55.74250299875942],[-126.74516418892756,55.764568146173175],[-126.75380602595726,55.776897324269484],[-126.74389156276975,55.78315212223472],[-126.75891585637784,55.802368114596646],[-126.78937447625852,55.80534048895109],[-126.82010752611014,55.82560072528503],[-126.8365617107997,55.82903684514044],[-126.86941895100885,55.86357132113206],[-126.88494534999035,55.89651970516495],[-126.91653247480464,55.91012448891459],[-126.91949710652979,55.92014593631418],[-126.9012217810821,55.930232113251115],[-126.88101233397124,55.93276140491157],[-126.86734494449662,55.95970343296819],[-126.88099859898121,55.96565920064044],[-126.90105480899035,55.96408743890538],[-126.96903075527736,55.99355541402573],[-127.01253620719078,55.992589025172485],[-127.02431387805869,56.00010236242619]],[[-126.14350612141926,54.81850827945384],[-126.13944812950484,54.81514148083557],[-126.15683044200173,54.814252593349565],[-126.15308943083993,54.818607989354206],[-126.14350612141926,54.81850827945384]],[[-126.50135216661019,55.06198672948468],[-126.51526525170654,55.06262778507711],[-126.51961994786551,55.077360319517496],[-126.49575802554205,55.07139706298261],[-126.50135216661019,55.06198672948468]],[[-126.34267458449258,55.049582680829914],[-126.34172501174663,55.05573652231789],[-126.30433292762206,55.05422708823488],[-126.31229385640046,55.0383563817691],[-126.34361183485655,55.043675562438864],[-126.34267458449258,55.049582680829914]],[[-126.63283053328584,55.3306449099475],[-126.61190177316095,55.33064051740942],[-126.60960122577903,55.316065768624064],[-126.63023604165956,55.316861856256416],[-126.65904160265774,55.31760017376107],[-126.6583945791662,55.33131342307664],[-126.63283053328584,55.3306449099475]],[[-126.72701704095535,54.423827614307726],[-126.68195098963447,54.42592697623343],[-126.65632808558418,54.41785004561217],[-126.6330527749053,54.42540106803368],[-126.63327368588448,54.433577021993266],[-126.59325638702124,54.43218348505791],[-126.57948400090224,54.44127788739038],[-126.57929629282461,54.38932367388674],[-126.59381311630489,54.38958271310124],[-126.59390395144787,54.36782770856442],[-126.70409980306228,54.367180569766326],[-126.70314339353483,54.356259376857366],[-126.73811745346164,54.355756905260286],[-126.73919239253586,54.38055669259757],[-126.74762379286877,54.390610196995624],[-126.74646019918308,54.41067931716406],[-126.75174528404354,54.4288603011061],[-126.72701704095535,54.423827614307726]],[[-126.1402970832403,54.92887701639828],[-126.13730593927713,54.91490687851208],[-126.18474112558116,54.89207145754909],[-126.18433319386918,54.875030841442005],[-126.22706786098385,54.874942950970265],[-126.22714163536816,54.886187585577126],[-126.24492711052066,54.88654131932854],[-126.24591450758801,54.90105616909931],[-126.2201188367584,54.901438676326855],[-126.20167938071802,54.9068195706424],[-126.2284389437226,54.92974222096451],[-126.2638026297332,54.95082451600803],[-126.26521215794722,54.98363631376175],[-126.2772262297025,55.01546573428812],[-126.21583407953366,55.02262739027977],[-126.1753485531765,54.96885658323908],[-126.14282110044833,54.945233020883244],[-126.1402970832403,54.92887701639828]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-127.02237452510767,\"lat\":54.93467751816236},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951053\"],\"csd_name_en\":[\"Bulkley-Nechako G\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Bulkley-Nechako G\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.2310438592373,54.438815640584835],[-124.25714436354922,54.43942314011843],[-124.26743108522568,54.424892437516206],[-124.2310301113643,54.42451703858563],[-124.2310438592373,54.438815640584835]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.24687232829869,\"lat\":54.431522614185766},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951803\"],\"csd_name_en\":[\"Nak'azdli\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Nak'azdli\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-126.13270335534364,54.42152986751377],[-126.14138516928087,54.424908338582675],[-126.1411434762654,54.41648212150484],[-126.1274939079707,54.41634769284503],[-126.13270335534364,54.42152986751377]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-126.1361329259826,\"lat\":54.41956975908253},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951821\"],\"csd_name_en\":[\"Duncan Lake 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Duncan Lake 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.87164413108576,53.994780464711305],[-125.8715945507454,54.00043154622787],[-125.886864173415,54.00037535341208],[-125.88680564490636,53.99407413713676],[-125.87164413108576,53.994780464711305]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.87936563941061,\"lat\":53.997415427104215},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951823\"],\"csd_name_en\":[\"Skins Lake 16A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Skins Lake 16A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.57556246739512,54.161426134376846],[-122.63836377772499,54.161043020186824],[-122.63923752323332,54.16697881594824],[-122.73981168869979,54.16365616395356],[-122.8128702578141,54.163865154161506],[-122.81287929293964,54.14877573170359],[-122.86135473699345,54.148703929420655],[-122.86583622449962,54.1570387808838],[-122.94608645351896,54.15686674753844],[-122.94597230534356,54.16576299030959],[-123.02257612495917,54.16551102647101],[-123.02097902341487,54.17991278502399],[-123.12633010416799,54.17982591518352],[-123.17942510682207,54.18120544178871],[-123.21611000797671,54.179752249997215],[-123.21624311429699,54.17071994156096],[-123.26742036359184,54.17040227916182],[-123.51706144358876,54.17125909805128],[-123.5202037103741,54.17336249993221],[-123.52035758347793,54.15440078952457],[-123.53580320172173,54.13782150006212],[-123.5312749001603,54.128629886412895],[-123.55550759342503,54.1205971001246],[-123.56601958765143,54.1055695980644],[-123.5195728109611,54.09632410440526],[-123.48394379544048,54.08394269966436],[-123.48453319044529,54.07137620942547],[-123.49754939534728,54.06524521039846],[-123.51573460750251,54.06906800720769],[-123.53668011171597,54.06201979239243],[-123.5534043918804,54.065093787859965],[-123.55332282846959,54.076596604477174],[-123.57409418352759,54.07451519470483],[-123.58678008964203,54.058139287637225],[-123.60949078390345,54.05572829659017],[-123.61601819233849,54.04142110031763],[-123.5784897038097,54.03894439235016],[-123.58452161710868,54.02379420780426],[-123.57144929382524,54.017517102930235],[-123.53480880288673,53.98726559681779],[-123.49136377998302,54.002860695564415],[-123.46541870745445,53.99636340162521],[-123.44808660769867,53.9839828097272],[-123.42239773151019,53.97459311270343],[-123.37095849587917,53.967389300233414],[-123.31442578241055,53.9741898961304],[-123.27346891507251,53.98727409308015],[-123.24798067649756,53.981860697930166],[-123.23660311015267,53.9571320909529],[-123.25862740900506,53.94104428531374],[-123.25796789440044,53.92418591224819],[-123.23500498820626,53.910546300979036],[-123.20475018727016,53.915511103579135],[-123.1726315846521,53.91031549772019],[-123.16021051631816,53.901459798162016],[-123.12486221634003,53.90288119261183],[-123.09677421440703,53.88466598941871],[-123.08646260998144,53.85945560019021],[-123.067436191057,53.85134900120983],[-123.05371850775906,53.855913587907864],[-123.0427400828551,53.8694207907075],[-123.00197470115936,53.876134494109074],[-122.98598888491519,53.8824935995845],[-122.96315268872273,53.900308997946986],[-122.94590501067752,53.90636339745025],[-122.95809128761455,53.91695839879508],[-122.9403022142353,53.932152993710574],[-122.96903658794213,53.938189089409676],[-122.95071608605765,53.94985869960839],[-122.93377471535796,53.96742350496652],[-122.90901931273504,53.965814902032065],[-122.90050876605787,53.97808582169872],[-122.85021645022121,53.9811837152213],[-122.8512307868268,54.03967207632185],[-122.72720366046669,54.03939731074058],[-122.72715327668715,54.01230630294782],[-122.64367928902651,54.01213565251264],[-122.64316414543524,54.027427456305375],[-122.6077782121211,54.027488080657115],[-122.60715581393481,54.01591132004634],[-122.59606279360443,54.03224619135535],[-122.61420859780874,54.04620250552657],[-122.58495520092964,54.047860494259986],[-122.56977261238124,54.05294330670324],[-122.53827529891159,54.078367296459845],[-122.51027078828005,54.086073891433195],[-122.50986648578554,54.0933222111034],[-122.53307279159209,54.10479980474422],[-122.54173440884455,54.117263583392514],[-122.59809151143817,54.12122280312153],[-122.57262389538153,54.12933409158277],[-122.57556246739512,54.161426134376846]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.08707389223596,\"lat\":54.05927765746053},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5953\"],\"cd_name_en\":[\"Fraser-Fort George\"],\"csd_code\":[\"5953038\"],\"csd_name_en\":[\"Fraser-Fort George A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser-Fort George\",\"csd_name_fr\":\"Fraser-Fort George A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.30446550044584,56.08310554115748],[-122.34258065267396,56.094051717855834],[-122.43789236890538,56.11275291075853],[-122.5084558593038,56.13242876193173],[-122.53164885972791,56.141394009150375],[-122.55555446842686,56.14484601727006],[-122.59044424692712,56.14289156596709],[-122.62861564816849,56.131105437573],[-122.67064799844736,56.10950484754176],[-122.70014605676688,56.0982958274174],[-122.74037097068965,56.090509194894445],[-122.78098455937368,56.08932277934869],[-122.90472089654169,56.09385170262212],[-123.00553743551761,56.082572207797284],[-123.03347771676437,56.07596687813789],[-123.06238114490165,56.061136968651915],[-123.07684783528454,56.03193559418485],[-123.12992432490059,55.99427040103439],[-123.16271447350451,55.98636311336829],[-123.20216009228632,55.981422532784194],[-123.24736330225709,55.97973974875352],[-123.28268017234564,55.9833217332099],[-123.3206151590684,55.99611548946586],[-123.33621776602342,56.00774888090206],[-123.364389530984,56.015291069350305],[-123.3948123182703,56.01844000547375],[-123.46860537920202,56.02169809284082],[-123.50066681895734,56.02810966953587],[-123.57871939445636,56.035916702035045],[-123.64185026235184,56.039485630716044],[-123.65828542817182,56.04719813925206],[-123.69514028630458,56.050677700189716],[-123.73684374526245,56.04265917325639],[-123.76408744580124,56.05003268555425],[-123.79382620505051,56.03189023493189],[-123.82714882112077,55.993409103175864],[-123.81528805427031,55.98018934143764],[-123.77346021563669,55.95747860671533],[-123.75153069671488,55.933894798966556],[-123.70573859363077,55.942458109803816],[-123.68294008252386,55.9392121943001],[-123.68428631753243,55.91367631896618],[-123.66773183741559,55.90974913246059],[-123.6496940361656,55.89630152890773],[-123.60803563011099,55.883145495579015],[-123.57896658119061,55.880875316622934],[-123.57619760527014,55.87053534853938],[-123.52366038326973,55.86316735259821],[-123.51100328655133,55.86924964556431],[-123.44235086096059,55.88247427640616],[-123.4181285354536,55.87149679412239],[-123.36772601825399,55.86107783271913],[-123.36366416637924,55.8538291253772],[-123.38287116200729,55.839487113485724],[-123.33925837176163,55.81989651879967],[-123.33985877994422,55.8089063279528],[-123.31795713209671,55.80023995038425],[-123.30740774624954,55.77609636870732],[-123.313598235769,55.75779735346336],[-123.34139884802693,55.7312602193071],[-123.32666239171105,55.71537325691575],[-123.30692791944978,55.70688581195492],[-123.26082907132547,55.697108144679476],[-123.22841103740973,55.711812422118896],[-123.20364838849848,55.71424677350523],[-123.19117454992025,55.73321569388865],[-123.16429272882544,55.737501198765],[-123.14376974812787,55.731686314825744],[-123.1391155232751,55.71206584379356],[-123.1203790289018,55.688791318828955],[-123.12793337463704,55.68049346126082],[-123.12764418484159,55.66037685358321],[-123.14220544741039,55.65185763618248],[-123.14293553304297,55.64044097117749],[-123.12592564562165,55.6296239427101],[-123.07816130498128,55.62549765374608],[-123.08063901910857,55.61082586388761],[-123.07180901272807,55.58266663953451],[-123.0378752906815,55.56251729794014],[-123.01362927671134,55.55974558182379],[-122.97848229563313,55.57089908319052],[-122.96553626222666,55.58216455489233],[-122.94804104369952,55.580918733928065],[-122.92115689986355,55.56401917672311],[-122.94253901121898,55.554064052275194],[-122.93291946991692,55.521784503989785],[-122.95332830655263,55.50314557508679],[-122.95666110900169,55.48828706603904],[-122.93309459611686,55.472312275520515],[-122.92778587303007,55.46305047285161],[-122.9556306625053,55.45955678146243],[-122.9800752799782,55.46469702997836],[-123.0022968817139,55.458261954600935],[-123.00571977081938,55.44607808650139],[-122.98663242883605,55.428286192834754],[-122.98718708272682,55.401534599963085],[-122.97453482100039,55.398084754909135],[-122.92023481372722,55.41313762013896],[-122.87440953942853,55.419017120315814],[-122.86938027409181,55.400103825464164],[-122.84604239626857,55.39891552184022],[-122.83031433840878,55.384381951373015],[-122.81155518420512,55.387508677105714],[-122.74270805923813,55.36554163440642],[-122.73997685996935,55.354065724851026],[-122.71989745171761,55.34397838746855],[-122.69819588780476,55.347011753673534],[-122.67848718023649,55.34035262980308],[-122.65494477986329,55.342431514740184],[-122.63669846688043,55.359145394154],[-122.63008141600362,55.393950994468014],[-122.60311597948744,55.41021178239735],[-122.57854906132533,55.41258048628325],[-122.55984350103473,55.403476032236966],[-122.54389238731278,55.384059766293596],[-122.51102638424221,55.36659917211843],[-122.49018804211397,55.36020605963071],[-122.48475707462269,55.34875542924677],[-122.46179267635625,55.34455568267239],[-122.42922552724794,55.33076624679159],[-122.38596669844812,55.335308702370746],[-122.35709944602819,55.302161452768644],[-122.33050136554742,55.28425543330003],[-122.29662802898419,55.25108941265627],[-122.29710117804876,55.239532428273264],[-122.27540100006125,55.23734028458643],[-122.23851224905847,55.22281366103058],[-122.22567283241261,55.20767862787366],[-122.25591484590888,55.20326155672111],[-122.27388341594587,55.18111090183248],[-122.25124409711493,55.161686328397444],[-122.25133763367398,55.143452905200924],[-122.2308368400255,55.1411070513622],[-122.20698118936298,55.15228943250331],[-122.17693058151835,55.14594353201955],[-122.16113841026609,55.134145292372395],[-122.16671566651199,55.123366196976335],[-122.15940129365197,55.10546587373374],[-122.12440373965315,55.09829371768866],[-122.10020972807517,55.10515379197715],[-122.05934660502342,55.07295833556007],[-122.03513790550274,55.065298012659014],[-122.0087849239772,55.033753152901696],[-121.97137164623896,55.027257410081546],[-121.9612796325229,55.01320488070954],[-121.93489368172264,55.00360760335786],[-121.93758312688342,54.99614179242455],[-121.91973607421562,54.987041047308615],[-121.90430512089176,54.96622430034797],[-121.86852841391551,54.95571520156979],[-121.85870426938035,54.93926041964166],[-121.84484607304952,54.933324908181746],[-121.8455377879866,54.9196188173883],[-121.86465323695838,54.9149890788667],[-121.86824636885827,54.904594987358436],[-121.838137538237,54.897753256730965],[-121.86937894343771,54.88521635030369],[-121.86509650366983,54.86913854925939],[-121.80258588174814,54.85882910356635],[-121.79187864752312,54.83931555579113],[-121.73497913663037,54.870571283337306],[-121.7404263820965,54.880607624757005],[-121.72489056708741,54.886469733170834],[-121.69522376296707,54.878820321838674],[-121.6729877557148,54.86384288305139],[-121.6461182750193,54.858033085411876],[-121.64309348872787,54.84527115314374],[-121.5801842789803,54.824346494079755],[-121.55381898827518,54.82037567032097],[-121.53878141645977,54.800978476302284],[-121.52205716987463,54.79819275902016],[-121.52711742485971,54.77145322524562],[-121.4888790904957,54.75232972314943],[-121.49370510407428,54.74527474555991],[-121.47392948093112,54.723613445185364],[-121.48565804785765,54.69527685324091],[-121.51868699028823,54.684965167233166],[-121.52350697424134,54.6519852483602],[-121.49919518341686,54.63498933676902],[-121.48187698847333,54.60881433447648],[-121.45181033817985,54.607604492400554],[-121.45274718722912,54.59736811300143],[-121.4377200730685,54.587136360431764],[-121.45527347963727,54.57005332451121],[-121.39737344796744,54.568963189416756],[-121.39000679654806,54.55766566252633],[-121.3962628500456,54.536261340179095],[-121.3554547834239,54.535740044172435],[-121.3102198447924,54.51480391084444],[-121.27207452238889,54.51723735180407],[-121.26374096732519,54.534972129461934],[-121.24816519574712,54.54656786917655],[-121.21991715328087,54.549641772752],[-121.17338952121287,54.54786424534898],[-121.14502215056723,54.55275945486304],[-121.12452518879195,54.54896309836506],[-121.12244976065546,54.53690068843082],[-121.13426684736629,54.51360009353912],[-121.12126087522884,54.493346304043314],[-121.11945721543646,54.47496100199051],[-121.05737349428668,54.48914416774292],[-121.05196831274345,54.50114748631786],[-121.0602656161615,54.524237104820635],[-121.03797094685096,54.56443647362672],[-121.02941612273167,54.598691503668334],[-121.01746838573506,54.60871219165032],[-121.04869948732639,54.63430811167842],[-121.06340301338675,54.65248240063766],[-121.09119829088716,54.659179088627965],[-121.09683192052019,54.67811959988626],[-121.12739661526693,54.69028669336887],[-121.16721778064837,54.715200292053744],[-121.18633480897051,54.75044678428303],[-121.20851622167984,54.76518580147828],[-121.18835281350934,54.78130069996156],[-121.21417269546339,54.80354829808495],[-121.21934760875043,54.831309005724435],[-121.2312781745863,54.83539219434659],[-121.24028122739182,54.852925701613266],[-121.25249951094592,54.85408919667276],[-121.24588190692839,54.87082090268747],[-121.25088298773898,54.88984400006415],[-121.23093413860923,54.896586704477336],[-121.30106771635452,54.940046520281484],[-121.52176953263242,55.0728539247637],[-121.52889831033151,55.0843995253497],[-121.52606609386805,55.13470235215181],[-121.62781175901597,55.13623698462487],[-121.62461293408798,55.1862084307237],[-121.599145551571,55.1861529636355],[-121.5997512313142,55.17676951987783],[-121.54897947818192,55.17593630128319],[-121.54908468279059,55.18566390074971],[-121.49756219711844,55.18508554951503],[-121.49338225361286,55.20391640744166],[-121.49252016547537,55.24561673389121],[-121.30173716423207,55.246257700608524],[-121.25433480535492,55.24081301024147],[-121.15109534868006,55.2427089277225],[-121.1552373901595,55.2011031121803],[-121.00607457391409,55.20245587189496],[-120.95148144712361,55.20103794524516],[-120.85256444527498,55.20185815649697],[-120.84488521883101,55.22839305470928],[-120.84860500451431,55.24766823111588],[-120.8435593764023,55.261005437532376],[-120.8604235878097,55.2713018657956],[-120.8916315229496,55.28279979339139],[-120.8977073733464,55.301317753867174],[-120.91055941613574,55.31544963826734],[-120.90482050558192,55.33521120253524],[-120.85795441366791,55.35430521783818],[-120.83775563558626,55.368153068428214],[-120.80284425106028,55.37739064350408],[-120.82289802240217,55.397003846133565],[-120.81227030235415,55.41429676661229],[-120.82025881872184,55.425342753475945],[-120.81905381500664,55.44090833617795],[-120.82749745288443,55.45558274336761],[-120.81888996531687,55.46259630176032],[-120.7891635023774,55.50464551627766],[-120.73766401528701,55.520659199553954],[-120.71879309837196,55.53543435752121],[-120.69601636581523,55.5439959659775],[-120.66688861452437,55.56331749511446],[-120.64281160265676,55.564404159856196],[-120.64575322325231,55.63522715044552],[-120.63451463154044,55.63534229324513],[-120.6356147479187,55.81110324533514],[-120.66163506832974,55.810877483162734],[-120.66244047474486,55.98608707646329],[-120.81531215657682,55.987157958179985],[-120.82194035505435,56.07660750636462],[-120.81218621844044,56.084553234397134],[-120.81775689227143,56.14809127478315],[-120.79709750165777,56.13737239634746],[-120.75040822074831,56.13140989599175],[-120.71291560564256,56.13367019727719],[-120.70123731436824,56.14172829701746],[-120.73320563020897,56.15582717684105],[-120.7720126727762,56.16797219651106],[-120.79331410493361,56.192914401756944],[-120.80744898885901,56.19843320320334],[-120.87573790374876,56.19153289268567],[-120.9054625218776,56.19183910087494],[-120.92501710605943,56.20063221203804],[-120.94567320766429,56.21926939723265],[-120.9894580955068,56.231276913494455],[-121.02458018862083,56.21921959143918],[-121.04906458217167,56.21691520669674],[-121.09165391785793,56.220203692365615],[-121.12241161351945,56.228494002389304],[-121.14980139532668,56.246889100352824],[-121.16260893832099,56.24820170809358],[-121.1784101236092,56.25819880538716],[-121.20691388763235,56.26743329490566],[-121.22661388354578,56.264979407551806],[-121.25129850870911,56.25449438712387],[-121.26533432244236,56.24242709639311],[-121.32055339277716,56.232635615062875],[-121.33503748718589,56.235479811984504],[-121.40848738837474,56.22778899180855],[-121.43446139148605,56.21080959162022],[-121.4671352061162,56.20724618284387],[-121.4908037928908,56.191625511650635],[-121.54961097441982,56.17746889662591],[-121.58395481033499,56.163765109507],[-121.60730510217216,56.1464539123781],[-121.66408957774121,56.127661396970275],[-121.67425667106286,56.11987099293223],[-121.7163540721242,56.11511409502354],[-121.74249202061183,56.117973897111845],[-121.75629517248747,56.1138745410957],[-121.75663078947495,55.89838707383886],[-121.90200303895635,55.8979481038043],[-121.90103350432327,55.87166475744284],[-121.91409231390023,55.87199950209626],[-121.91483455726221,55.89014830082247],[-121.92927039837632,55.89774534477414],[-122.03784275240764,55.899264414511734],[-122.0368929662467,55.88584116739218],[-122.23607148535362,55.88998151943586],[-122.22698411543007,55.95444043458228],[-122.23159268833751,56.00562406340616],[-122.28539431507723,56.00172337304375],[-122.29153710848426,56.040685938684916],[-122.29986165165406,56.045505053911754],[-122.30446550044584,56.08310554115748]],[[-121.29589901349031,55.7414183044426],[-121.32100784376357,55.73542386187178],[-121.31925020567896,55.74919153805887],[-121.29589901349031,55.7414183044426]],[[-122.22653010365684,55.627914800458555],[-122.17662619534819,55.63140047712331],[-122.16947010066603,55.59692477942971],[-122.18708565074398,55.600293259911076],[-122.22584659035842,55.598845648257836],[-122.26451880018955,55.60089284844445],[-122.26476194905143,55.61228734174814],[-122.22605237313262,55.619325054013004],[-122.22653010365684,55.627914800458555]],[[-121.85801676752257,55.83223233109893],[-121.87875231811651,55.814365364753314],[-121.85750361188285,55.81299237334615],[-121.85114352997749,55.80227273869408],[-121.88989741625771,55.79638083038674],[-121.89014532124341,55.782322984447354],[-121.94180154958488,55.78134526304039],[-121.94330640380346,55.81093448593213],[-121.90415536851131,55.81058048796965],[-121.90420724019921,55.83236761414206],[-121.85801676752257,55.83223233109893]],[[-121.65260824142152,55.88341808356658],[-121.62770558204394,55.88347442326173],[-121.62775559311044,55.86893250125438],[-121.60057105875575,55.86885479598727],[-121.60058391968897,55.81113080603769],[-121.6792688671704,55.8112350209994],[-121.65344812666605,55.82443446710976],[-121.6788448021057,55.83989500490652],[-121.67870907989952,55.8688190806703],[-121.65286522438574,55.869029624023646],[-121.65260824142152,55.88341808356658]],[[-121.6897831992084,55.751667706583596],[-121.6036993615658,55.75015519434091],[-121.5962753604463,55.73743260210768],[-121.56489246662291,55.737113743012614],[-121.57040464780854,55.72475849219186],[-121.59698169782017,55.7157129310575],[-121.58545366135507,55.70855382093339],[-121.58570292260713,55.688501589985876],[-121.59672005585519,55.681480942151374],[-121.62072607124865,55.68530893913443],[-121.64467069556848,55.67683267334154],[-121.64382079358175,55.693129011329965],[-121.66508713887534,55.700393202002395],[-121.68232134777831,55.71590050592622],[-121.69953125090282,55.74059237443903],[-121.6897831992084,55.751667706583596]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.86222187071152,\"lat\":55.5980516914027},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5955\"],\"cd_name_en\":[\"Peace River\"],\"csd_code\":[\"5955023\"],\"csd_name_en\":[\"Peace River E\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Peace River\",\"csd_name_fr\":\"Peace River E\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-132.74044907861494,60.16435023981051],[-132.73179099825572,60.17651470335393],[-132.7541003085325,60.178699878363815],[-132.7643975299467,60.17095254054071],[-132.74044907861494,60.16435023981051]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-132.74718035964472,\"lat\":60.17232394055422},\"year\":\"2021\",\"prov_code\":[\"60\"],\"prov_name_en\":[\"Yukon\"],\"cd_code\":[\"6001\"],\"cd_name_en\":[\"Yukon\"],\"csd_code\":[\"6001007\"],\"csd_name_en\":[\"Teslin Post 13\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Self-government \\/ Autonomie gouvernementale\",\"prov_name_fr\":\"Yukon\",\"cd_name_fr\":\"Yukon\",\"csd_name_fr\":\"Teslin Post 13\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-136.45341133461764,60.78187324134312],[-136.47441003594176,60.79802856675527],[-136.4976962808921,60.78827261212097],[-136.47659077227314,60.771093401004556],[-136.45341133461764,60.78187324134312]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-136.47554945695768,\"lat\":60.78473614749681},\"year\":\"2021\",\"prov_code\":[\"60\"],\"prov_name_en\":[\"Yukon\"],\"cd_code\":[\"6001\"],\"cd_name_en\":[\"Yukon\"],\"csd_code\":[\"6001038\"],\"csd_name_en\":[\"Champagne Landing 10\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian settlement \\/ \\u00c9tablissement indien\",\"prov_name_fr\":\"Yukon\",\"cd_name_fr\":\"Yukon\",\"csd_name_fr\":\"Champagne Landing 10\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.02489105317972,60.39579143036065],[-121.04165215339599,60.46690900550051],[-121.22980832434453,60.46783616403451],[-121.36614193662757,60.39405466365488],[-121.02225674337804,60.38458491262681],[-121.02489105317972,60.39579143036065]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.16635050335891,\"lat\":60.424409042265836},\"year\":\"2021\",\"prov_code\":[\"61\"],\"prov_name_en\":[\"Northwest Territories\"],\"cd_code\":[\"6104\"],\"cd_name_en\":[\"Region 4\"],\"csd_code\":[\"6104006\"],\"csd_name_en\":[\"Sambaa K\\u0092e\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Settlement\",\"prov_name_fr\":\"Territoires du Nord-Ouest\",\"cd_name_fr\":\"Region 4\",\"csd_name_fr\":\"Sambaa K\\u0092e\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.28481597246233,63.144811948917706],[-123.22973379087739,63.16083283292135],[-123.34271186012138,63.235654890374526],[-123.51553769383928,63.23151399962579],[-123.44263106992531,63.203680060058865],[-123.34421129099495,63.16154990892597],[-123.31884430350172,63.13489494890873],[-123.28481597246233,63.144811948917706]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.35361153148027,\"lat\":63.19416246996434},\"year\":\"2021\",\"prov_code\":[\"61\"],\"prov_name_en\":[\"Northwest Territories\"],\"cd_code\":[\"6104\"],\"cd_name_en\":[\"Region 4\"],\"csd_code\":[\"6104044\"],\"csd_name_en\":[\"Wrigley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Settlement\",\"prov_name_fr\":\"Territoires du Nord-Ouest\",\"cd_name_fr\":\"Region 4\",\"csd_name_fr\":\"Wrigley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-94.68493107119738,74.62528518541204],[-94.70181724744293,74.72568693237221],[-94.7136054378582,74.76845371689696],[-95.13277907140656,74.76911543961512],[-95.10310327292927,74.6187572184476],[-94.68493107119738,74.62528518541204]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-94.90952558263646,\"lat\":74.69541989019811},\"year\":\"2021\",\"prov_code\":[\"62\"],\"prov_name_en\":[\"Nunavut\"],\"cd_code\":[\"6204\"],\"cd_name_en\":[\"Qikiqtaaluk\"],\"csd_code\":[\"6204022\"],\"csd_name_en\":[\"Resolute\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Hamlet\",\"prov_name_fr\":\"Nunavut\",\"cd_name_fr\":\"Qikiqtaaluk\",\"csd_name_fr\":\"Resolute\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.05351669575494,66.85535691964432],[-108.04234698718386,66.90343309568969],[-108.13598071939703,66.89436662649433],[-108.13913530825107,66.8222260248169],[-108.06056274978157,66.82493289840744],[-108.05351669575494,66.85535691964432]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.09384937393673,\"lat\":66.8623170675337},\"year\":\"2021\",\"prov_code\":[\"62\"],\"prov_name_en\":[\"Nunavut\"],\"cd_code\":[\"6208\"],\"cd_name_en\":[\"Kitikmeot\"],\"csd_code\":[\"6208065\"],\"csd_name_en\":[\"Bathurst Inlet\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Settlement\",\"prov_name_fr\":\"Nunavut\",\"cd_name_fr\":\"Kitikmeot\",\"csd_name_fr\":\"Bathurst Inlet\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-52.99425786384439,46.75172767536633],[-52.979093283372634,46.75560867901244],[-52.83039381996505,46.84242039390325],[-52.749505650866276,46.94243106255858],[-52.753832777089094,47.07072597600734],[-52.752721716267935,47.23934347291439],[-52.79840514689182,47.24418810641563],[-52.82448734494581,47.25878509605736],[-52.84174019799656,47.253830102848276],[-52.91944390521018,47.25904079218604],[-52.9333517890981,47.25525199237636],[-52.94351338010775,47.26377000224074],[-52.99368622425855,47.26732139608592],[-53.008191515862755,47.27850519659825],[-53.045849001998725,47.27295438748522],[-53.05646399966461,47.26018029801753],[-53.07820651587588,47.262192802860376],[-53.096977001322685,47.2734539946721],[-53.12421234478504,47.27469009086828],[-53.12660066722359,47.253950098883195],[-53.14115582643693,47.24314744705511],[-53.09495232655999,47.220856863751465],[-53.09891641098016,47.20993131690142],[-53.142463778690185,47.17220703519455],[-53.17298917790701,47.15487251248934],[-53.22300595431004,47.148218193984306],[-53.22868711031568,47.136837670653605],[-53.241365608061564,47.13345185568762],[-53.24798053104625,47.12015535320038],[-53.22687940511373,47.11270379076419],[-53.23538239679328,47.07221298801145],[-53.21601797698533,47.07482379108126],[-53.206963817063766,47.0680116137144],[-53.22201475406602,47.05902517329726],[-53.237924091821874,47.03800279603932],[-53.25866314787251,47.025378161234215],[-53.26513152830783,46.99785477599127],[-53.25407722281834,46.98801174566811],[-53.233109146401056,46.980768012287115],[-53.21194583821167,46.96491410524243],[-53.22239419029245,46.951692515114765],[-53.20765071160604,46.94909268249274],[-53.17639310431249,46.96566677222604],[-53.172693567570036,46.93974349505469],[-53.12001199503558,46.94828980679472],[-53.102840732102784,46.938550546838144],[-53.12023358072626,46.928309040462885],[-53.134113379671184,46.90844019494295],[-53.164355886180644,46.90276044352491],[-53.157704871258545,46.88342258306034],[-53.132329447787555,46.885926103316095],[-53.11727173055778,46.894381633267706],[-53.09452810687242,46.87968010141954],[-53.09793348841972,46.867499389757306],[-53.07943029829011,46.83991360514802],[-53.05009355718862,46.82006425895569],[-53.05497040265605,46.81034638545152],[-53.03870170794668,46.797578007403686],[-53.03230951250772,46.78424781720364],[-53.01168644994902,46.76764338989691],[-53.00115629797892,46.7650252903582],[-52.99425786384439,46.75172767536633]],[[-52.91453103404757,47.114753279809236],[-52.90758980363302,47.10712561559482],[-52.92709240805528,47.09151023790474],[-52.935547512087645,47.071446747565],[-52.95167202646139,47.07226940834717],[-52.96446058136536,47.087762006116144],[-52.968783659252146,47.10760615760688],[-52.92646233028306,47.10857739559303],[-52.91453103404757,47.114753279809236]],[[-52.92512563778494,47.02214738135485],[-52.94904646026754,47.03919405307647],[-52.89437643987997,47.04854928233222],[-52.87975059686899,47.034949803112845],[-52.890035582372434,47.01536189908461],[-52.90058487446236,47.006667673468456],[-52.90487417162757,47.00418718739339],[-52.96246882817136,47.004997404748075],[-52.983876805936845,47.01207799070106],[-52.970312732288335,47.02008356558966],[-52.92512563778494,47.02214738135485]],[[-52.94468904895783,46.99124966394122],[-52.90008002606431,46.994172694894665],[-52.89879829303284,46.98026549065523],[-52.910762699672475,46.9670820147627],[-52.934254464114325,46.972609094494466],[-52.894659904822085,46.95400388972095],[-52.89911867415048,46.93487998712925],[-52.90925798161689,46.92172239539346],[-52.920658286217396,46.918253302251884],[-52.916985598100375,46.9060981132835],[-52.923226580884325,46.890791199205026],[-52.93876349102219,46.87353320150324],[-52.946955088900324,46.84519889696155],[-52.93767337924523,46.815611001905175],[-53.04316438869786,46.81657100898398],[-53.044229808861616,46.96679556556916],[-53.044332975456584,46.99961324518781],[-52.986092112065265,46.99918845816307],[-52.94468904895783,46.99124966394122]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-52.97484003054981,\"lat\":47.05807357016223},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001124\"],\"csd_name_en\":[\"Division No.  1\",\"Subd. U\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Division No.  1, Subd. U\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.463093562421726,46.933735249028054],[-53.45314690659962,46.953266707922715],[-53.435152257023276,46.965040021894666],[-53.43001752174314,46.98811906212468],[-53.42091999650067,46.99377429235402],[-53.417778213379485,47.01777490211279],[-53.411409208981276,47.030163500658475],[-53.417112709638445,47.0541993235526],[-53.46017545085147,47.06073767930311],[-53.46268655398341,47.06135310370675],[-53.50120941718802,47.03455903247235],[-53.55871428315136,46.982139373975755],[-53.57145560705071,46.96009901392585],[-53.57815158884815,46.93894219228636],[-53.560527698814,46.93971079248617],[-53.524721103281635,46.95537831393124],[-53.52540718848598,46.941754100782994],[-53.50930173405775,46.94022537091742],[-53.478540032373225,46.93080155487885],[-53.463093562421726,46.933735249028054]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.48433379602827,\"lat\":46.9925719783205},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001181\"],\"csd_name_en\":[\"Riverhead\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Riverhead\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.33386708086349,47.7384008646563],[-53.33809159878867,47.74672950830961],[-53.31954144023239,47.75713625178897],[-53.33384270490109,47.76406770970825],[-53.31386019679571,47.78578337617216],[-53.33462658359094,47.78277340362325],[-53.38328702333362,47.800141445558125],[-53.3841505593191,47.80782054428606],[-53.40724365321717,47.79799940260196],[-53.407179101564175,47.74882681437822],[-53.48594830108915,47.74880703278358],[-53.631699420129515,47.75008044696898],[-53.6434079593108,47.63669722900652],[-53.548607834144725,47.539041881545984],[-53.518082833240086,47.540945555717904],[-53.50440591650935,47.52711669059162],[-53.48174509621284,47.52947959680464],[-53.40904478476149,47.569247799854544],[-53.384753512464506,47.58068889528558],[-53.392361239137024,47.59732045766448],[-53.407969489017624,47.60429022620869],[-53.39978663447207,47.625855515732525],[-53.38705032436068,47.62922786675415],[-53.38677190611944,47.646992018978096],[-53.39256100445954,47.65847957474092],[-53.37801669208688,47.66568584525793],[-53.38178440674164,47.676162714279336],[-53.36739220659081,47.69104287725883],[-53.3746678173617,47.70968823125289],[-53.365689517430695,47.72744854262778],[-53.33386708086349,47.7384008646563]],[[-53.45794644757065,47.7012537667005],[-53.40592171979835,47.70022765195719],[-53.416622655006464,47.662215889719484],[-53.48678977290325,47.66242115657034],[-53.487901606811135,47.680443793258185],[-53.47517995535814,47.7014224689142],[-53.45794644757065,47.7012537667005]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.496849187503315,\"lat\":47.66270617517129},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001304\"],\"csd_name_en\":[\"Division No.  1\",\"Subd. E\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Division No.  1, Subd. E\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.23560678435754,47.63807898151975],[-55.209384032821646,47.63353561746948],[-55.201779795069676,47.64148912491958],[-55.22004203104948,47.6501972594679],[-55.237963827221044,47.64713636986223],[-55.23560678435754,47.63807898151975]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.2206778679569,\"lat\":47.64191519630313},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1003\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"1003002\"],\"csd_name_en\":[\"Rencontre East\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Rencontre East\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.6122900906945,47.50169869284594],[-55.619082902961516,47.48317799876568],[-55.63437019265184,47.45887660173671],[-55.62861741411315,47.45487920309777],[-55.662503294338784,47.439930799727634],[-55.65247040646828,47.43212409212087],[-55.639488516469896,47.43759230147256],[-55.61666581110733,47.45736789647115],[-55.60271879339412,47.45560850572456],[-55.60896788566382,47.439300197447686],[-55.590345001489595,47.435252087621585],[-55.59488288993448,47.424593292150426],[-55.61667931076798,47.40593489616646],[-55.60210680741738,47.39966149397106],[-55.5828030941993,47.40407839765349],[-55.574505797295686,47.417987506157694],[-55.575897197672425,47.43234210756401],[-55.55616620644957,47.45606141123205],[-55.513988922090384,47.45742699568188],[-55.505011490765824,47.45394028536261],[-55.474485816808006,47.46041440312154],[-55.46711078702671,47.467321499617015],[-55.449565997763266,47.466077499769376],[-55.42630619162469,47.47692259555939],[-55.43042179887373,47.49199189021955],[-55.409799788084236,47.49032700394558],[-55.40846919882323,47.50159660390546],[-55.46431049874284,47.50135918811491],[-55.610615553587806,47.50356612005839],[-55.6122900906945,47.50169869284594]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.54234158225601,\"lat\":47.47125596831751},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1003\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"1003003\"],\"csd_name_en\":[\"St. Jacques-Coomb's Cove\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"St. Jacques-Coomb's Cove\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.79582184171219,47.896907370879404],[-55.80747909204511,47.88586639969861],[-55.78948030195287,47.87009139001618],[-55.779663203913245,47.867659596650746],[-55.75312921226895,47.872977901844045],[-55.71505430019458,47.894055596530116],[-55.73168793736325,47.90448671633141],[-55.76785014128547,47.88800653169534],[-55.79582184171219,47.896907370879404]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.763554919822795,\"lat\":47.88505193339067},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1003\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"1003020\"],\"csd_name_en\":[\"Morrisville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Morrisville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.40883467883719,48.53358003377187],[-53.33342209976929,48.55648010588158],[-53.32164200001202,48.575923310998284],[-53.32939053625527,48.58746799301983],[-53.41900734157999,48.560778592769154],[-53.41971842038888,48.53078536757498],[-53.40883467883719,48.53358003377187]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.37302564492321,\"lat\":48.55958255084882},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1007\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"1007027\"],\"csd_name_en\":[\"King's Cove\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"King's Cove\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.715909867602235,48.66029728310868],[-53.74915171896343,48.65097870014142],[-53.76019899734191,48.664130195081775],[-53.725625086840736,48.683929398040995],[-53.74257469266719,48.69368222983054],[-53.80493380503741,48.66813185655277],[-53.809728783913336,48.64445718010377],[-53.76460005945974,48.646717845901264],[-53.74883445251169,48.64499206380537],[-53.715117617541445,48.65657360773536],[-53.715909867602235,48.66029728310868]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.76858436731295,\"lat\":48.66489366027936},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1007\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"1007042\"],\"csd_name_en\":[\"Eastport\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Eastport\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.576171486151445,49.92707529302123],[-55.554379258937416,49.92382026928015],[-55.53723686859583,49.94100210809301],[-55.53518812218674,49.956594046439534],[-55.52318577009085,49.96694251109882],[-55.533046017468756,49.981364564410796],[-55.53620722893687,50.00391074556117],[-55.49999999411924,50.038626531495915],[-55.500000010227254,50.29794987075827],[-55.500000002487646,50.537651915471706],[-55.69512343958361,50.49184933024462],[-56.07398968192107,50.3958241387233],[-56.183342287325395,50.321814076423976],[-56.293230648074214,50.24832387174848],[-56.43804840412559,50.1159804119141],[-56.53971557829052,49.98448110315445],[-56.66049862247279,49.82709523487999],[-56.73813836507644,49.74405896074047],[-56.79238829316721,49.634932648379944],[-56.78378743011484,49.62972030229884],[-56.769597787311426,49.60607645147732],[-56.75881936197955,49.59691403362425],[-56.74057712571879,49.600261181226074],[-56.70776640501096,49.59419870817201],[-56.70227454242854,49.580865050283215],[-56.697651744996804,49.548043975338324],[-56.71690505894106,49.524574077486776],[-56.72226549796851,49.50368023553148],[-56.72142868320488,49.48562883082522],[-56.732257594660865,49.46794696382906],[-56.76261046651727,49.48125507240016],[-56.781778466422864,49.45725381810638],[-56.7958277068619,49.4550281624483],[-56.83183091716566,49.406149566872884],[-56.85315649127342,49.38804877917969],[-56.86986710894101,49.38135209100375],[-56.9263381027201,49.37493300522288],[-56.941813642738346,49.351206560531914],[-56.97491090702011,49.356163326208005],[-56.98152625829343,49.346340652819194],[-56.98020995410178,49.28266730986397],[-56.98804985478602,49.2500146401117],[-56.98219775182461,49.23872444687867],[-56.955902049765804,49.227160033128726],[-56.89336979020065,49.21251660714451],[-56.82445828311769,49.2085639862714],[-56.767372416585566,49.21322856930241],[-56.74471831139519,49.22865614966902],[-56.76160623033226,49.240193455680846],[-56.757622197693145,49.256899945057185],[-56.73412977817945,49.262197806911544],[-56.711600594979934,49.25975461098429],[-56.69313325343673,49.27586785144046],[-56.664703045663096,49.29305915814884],[-56.64654125668545,49.29577187024506],[-56.60894884110292,49.31554340125022],[-56.60061463127494,49.3102465565593],[-56.512986497788006,49.3500429849677],[-56.51018216567328,49.3490933023086],[-56.47719121755627,49.36792689590958],[-56.46208211375046,49.38935525352533],[-56.46315582624112,49.40242689483861],[-56.4533568909623,49.42265919818705],[-56.465095289973156,49.43692660869663],[-56.46240001378568,49.452127174755674],[-56.43898939067101,49.45925811721624],[-56.44670004507043,49.478713595530195],[-56.4406201793577,49.49995327408691],[-56.36371814681306,49.54027492387214],[-56.34532103037455,49.56380497314496],[-56.32709838882941,49.571017423374066],[-56.30268628351137,49.56331522406568],[-56.29847099993233,49.57899985948611],[-56.308264598402566,49.594015687324195],[-56.2953115295434,49.60801468143515],[-56.29371356982043,49.62028685344987],[-56.26493236967859,49.640982299216084],[-56.26957834730918,49.6528892720372],[-56.306623878011294,49.66472263414094],[-56.2666010526746,49.674759761820496],[-56.240766790500395,49.68690216558732],[-56.216567644407895,49.706972060070576],[-56.21718169866927,49.74981444154646],[-56.21219850512066,49.76849495973351],[-56.184830965473125,49.80648863459698],[-56.20933042771385,49.81646867763642],[-56.22699558889857,49.79847186960598],[-56.253440455145174,49.791274741181844],[-56.26351062437962,49.79889541641997],[-56.26615968450874,49.81275616014018],[-56.2594744171066,49.82625394141734],[-56.28323502931034,49.82901851184674],[-56.31831120871008,49.85875088766651],[-56.366984409316515,49.880519299812],[-56.37127152418771,49.89224995340096],[-56.33927285952196,49.93117466624273],[-56.33083077965548,49.945510160543556],[-56.31257912858302,49.95703794876637],[-56.29189034010749,49.958811268829876],[-56.27057821185901,49.969286404818796],[-56.255799535202165,49.98731868595],[-56.24721244476941,50.009856131558195],[-56.2123204624732,50.025765579880876],[-56.1863060159392,50.05057844509265],[-56.13535357859202,50.03840276856677],[-56.141652258668294,50.029628706580745],[-56.12949410458757,50.01734129880779],[-56.13478812047414,50.00337949500098],[-56.15199538943257,49.99480839277447],[-56.14674858375497,49.98286739588618],[-56.15318766163368,49.96122873028656],[-56.13615298259345,49.95100429564674],[-56.11511978978296,49.954837507203806],[-56.09715716044712,49.97066214183178],[-56.07018401766545,49.972929671170235],[-56.071557096591256,49.9578569462683],[-56.08140952632954,49.949243542057104],[-56.08216813677107,49.93304973269877],[-56.052174741409694,49.93416950333197],[-56.02041312054026,49.927352166405164],[-56.00843524232376,49.92054358303927],[-56.013814484963945,49.90481709842611],[-56.03210711842644,49.8868410469401],[-56.02269434509064,49.874913318836356],[-56.008946522949444,49.863463736599456],[-56.00435455985596,49.84749585918116],[-55.97849550307473,49.83185644762328],[-55.940855982826996,49.82929989967934],[-55.912531271296714,49.84107415482837],[-55.88665928949636,49.86393718188657],[-55.84438501985704,49.86971697622456],[-55.77020278672298,49.865779433442356],[-55.76367620392267,49.89038901609178],[-55.751326445701835,49.90036659433513],[-55.73151705298206,49.90404023245965],[-55.721826020834236,49.88218966784478],[-55.70887994989768,49.88475330356493],[-55.67722155553236,49.899739706580384],[-55.65435253504692,49.91766678993393],[-55.65373483427816,49.975485570310035],[-55.61132989498874,49.96406919737147],[-55.576331412099506,49.98521150560327],[-55.566336704475056,49.98408200149493],[-55.56635194303786,49.94487058026822],[-55.58453749723902,49.938908209965305],[-55.576171486151445,49.92707529302123]],[[-55.70475233688762,49.9430558758275],[-55.70552250295108,49.9345001264371],[-55.719801666797075,49.93485048500625],[-55.713562120231224,49.943990209189195],[-55.70475233688762,49.9430558758275]],[[-56.02113317399202,49.98189100278459],[-56.01185571909062,49.97279534931965],[-56.06287911508538,49.96727337472006],[-56.056139928475964,49.98071173396935],[-56.02113317399202,49.98189100278459]],[[-56.63033949866635,49.79608581027984],[-56.5908292590636,49.79460201388437],[-56.593213186879865,49.77923692716406],[-56.638383245748486,49.78195693170921],[-56.63033949866635,49.79608581027984]],[[-56.348015748703986,49.92307026229818],[-56.356379002743246,49.9154892729256],[-56.38629895742217,49.9165897489962],[-56.40280750806196,49.92770952209381],[-56.36937680659282,49.9504872126084],[-56.34325411530352,49.92754222708548],[-56.348015748703986,49.92307026229818]],[[-55.938661636349565,49.96635584738282],[-55.89658879869107,50.0201026867377],[-55.86234848392475,49.99612709172024],[-55.87110549666945,49.9829009051997],[-55.84811090779616,49.97744813683779],[-55.89148362545128,49.948663818893785],[-55.938661636349565,49.96635584738282]],[[-56.15745315050855,50.080910625442044],[-56.227360087687245,50.12102488990688],[-56.18399898568913,50.138720295994986],[-56.186038211765236,50.14297500237312],[-56.15990757784357,50.158060697881226],[-56.14092141197177,50.153411701113754],[-56.1393372825536,50.14057360406022],[-56.12293818788089,50.13590190451095],[-56.11074501588193,50.12465329120696],[-56.12299370256847,50.11127699482816],[-56.114329995012916,50.10318288726781],[-56.088701871169754,50.10024425389928],[-56.09148909581563,50.0898592121597],[-56.08458749551049,50.07030270668999],[-56.10612118403486,50.068854992362965],[-56.119678208681876,50.059110087302734],[-56.11262549838789,50.04124571160014],[-56.119229026722884,50.037765149451545],[-56.16321220638888,50.05489909802643],[-56.15745315050855,50.080910625442044]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-56.16792733565452,\"lat\":49.94195669089175},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008074\"],\"csd_name_en\":[\"Division No.  8\",\"Subd. A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Division No.  8, Subd. A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-63.56032278623486,46.514847204505415],[-63.56775827747199,46.531975304640774],[-63.58904930263921,46.52717264510225],[-63.58939296176683,46.51449210036354],[-63.6039718969498,46.51111578618244],[-63.59843637856044,46.49755048199662],[-63.57464095461335,46.436825829418765],[-63.567058299242014,46.46369828187728],[-63.54112991286647,46.46733266876905],[-63.56819208947515,46.48425810080146],[-63.5694076113352,46.49916360604005],[-63.56032278623486,46.514847204505415]]],[[[-63.4856508472236,46.41173396041072],[-63.50686578718527,46.40657491784326],[-63.523708083167875,46.41351258854887],[-63.542207495849595,46.41018800853194],[-63.56450083662551,46.41977181858518],[-63.571642295427495,46.428755309960025],[-63.55405619885371,46.38019420100791],[-63.55835847729509,46.379334862582546],[-63.54330254397746,46.33927787910463],[-63.51627665986001,46.33931664851198],[-63.52090050404387,46.362477169117334],[-63.5006553084248,46.36304318191841],[-63.48787020133437,46.374235215205026],[-63.49445859175071,46.40065917395041],[-63.4856508472236,46.41173396041072]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.54591586689949,\"lat\":46.42204800955683},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1102\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1102066\"],\"csd_name_en\":[\"Kensington\",\"Part 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Fire District\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Kensington, Part 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.60620224034461,46.32855053247938],[-63.60465553310486,46.31633804106758],[-63.577464349085005,46.30709216283326],[-63.586237756417,46.331567914656816],[-63.60620224034461,46.32855053247938]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.592310418964466,\"lat\":46.320466658520054},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1103\"],\"cd_name_en\":[\"Prince\"],\"csd_code\":[\"1103008\"],\"csd_name_en\":[\"Kinkora\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Prince\",\"csd_name_fr\":\"Kinkora\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.92649422744297,46.58302338456709],[-63.93882260812205,46.57762367808442],[-63.93503672821112,46.56751911565903],[-63.92057667884603,46.56962819544462],[-63.92649422744297,46.58302338456709]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.929880609915706,\"lat\":46.57449074270175},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1103\"],\"cd_name_en\":[\"Prince\"],\"csd_code\":[\"1103033\"],\"csd_name_en\":[\"Tyne Valley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Prince\",\"csd_name_fr\":\"Tyne Valley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.63359292873604,44.56644762748229],[-65.65547278945705,44.600260345817325],[-65.67206118974278,44.607673236001894],[-65.69838203293254,44.630217156626784],[-65.73970634788166,44.654419853724995],[-65.75343145798236,44.667123413699656],[-65.79359767734819,44.727764324779116],[-65.94394192324178,44.650462479088965],[-66.14658498561914,44.52867818720804],[-66.18047546355234,44.50044369496317],[-66.2136134098048,44.46782786380722],[-66.36980703736182,44.32092653523682],[-66.44042307085496,44.25354317414714],[-66.44547566461155,44.23583595338764],[-66.36587916451671,44.15174878352516],[-66.27139615910232,44.24319334058495],[-66.16857023888397,44.34958001342804],[-66.10270440186122,44.41484195156198],[-66.0724385398225,44.44259088426748],[-66.06234590198979,44.44840900819317],[-66.02956916237449,44.447972585568145],[-66.00000229973588,44.43078147760339],[-66.00000129291865,44.420170194134094],[-66.0118351430384,44.40748964477353],[-66.01473691682607,44.391852495146935],[-65.92957780363507,44.38009546368698],[-65.86834481050856,44.321954770167864],[-65.77602317460655,44.23080070137351],[-65.71443204391713,44.17177277664536],[-65.70437006830842,44.17309181898554],[-65.49999998595166,44.21241230778218],[-65.49361466829616,44.21474645364723],[-65.39743701447274,44.230354276315886],[-65.39582100787018,44.23231761043061],[-65.33162633651143,44.31157764902051],[-65.48645766719015,44.443566483670956],[-65.54761149481274,44.49363015693278],[-65.60214235225237,44.53992656471256],[-65.6122698490264,44.53421241201781],[-65.63626559036582,44.55681492083301],[-65.63359292873604,44.56644762748229]],[[-65.76777560147737,44.63073281148061],[-65.75748334424742,44.6331263096636],[-65.75123030012355,44.615232095189995],[-65.7620455150993,44.61085119541003],[-65.76777560147737,44.63073281148061]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.83244951573315,\"lat\":44.41306119288285},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1203\"],\"cd_name_en\":[\"Digby\"],\"csd_code\":[\"1203004\"],\"csd_name_en\":[\"Digby\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Digby\",\"csd_name_fr\":\"Digby\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.80146500036361,45.543432905243954],[-63.80181110193321,45.561776199321386],[-63.81602369451295,45.578174193632535],[-63.816621885405716,45.59538260352008],[-63.825191595560185,45.60333461083819],[-63.810661502636655,45.647645009391596],[-63.81279379852647,45.659049284646784],[-63.8027968534885,45.68400555161639],[-63.83894564046753,45.68088164769529],[-63.85815037529878,45.68314223823982],[-63.88613652323777,45.693815248159474],[-63.91981192499488,45.69037290413932],[-63.977331606343746,45.69611255876156],[-64.00772491868116,45.6915426006521],[-64.02077840773573,45.696273902592345],[-64.06758848925638,45.73391049068261],[-64.08777748784914,45.74565599400616],[-64.11970400009255,45.75847158563785],[-64.13830179858095,45.77903008679387],[-64.17608486897015,45.80134263077733],[-64.21566544062145,45.77716831512182],[-64.23889928443933,45.77832548139646],[-64.25495179827242,45.76217380404408],[-64.29913984090999,45.77124996434957],[-64.32785345664547,45.756542945340385],[-64.33600591558498,45.74195494294238],[-64.36069492900654,45.72786390378583],[-64.36993337826445,45.712211605264535],[-64.36963309998922,45.69962977948361],[-64.38594438893605,45.666401794010625],[-64.37702102043707,45.65930377915552],[-64.38210501100455,45.64561574268772],[-64.36834869896613,45.634133796731426],[-64.35136819858737,45.606407590596014],[-64.35051781104124,45.570369901359975],[-64.34533261209505,45.5279416014473],[-64.33572383371586,45.49831471004509],[-64.34033028400718,45.479773413764754],[-64.33353940193085,45.465908373676214],[-64.3315795265547,45.44722771474978],[-64.33731327043589,45.42632312759127],[-64.32285998580763,45.422112142607794],[-64.29932096109059,45.4083368005473],[-64.31869890305254,45.36840706169554],[-64.3231484530157,45.34599819520424],[-64.30205090568295,45.34608841399344],[-64.22244618895837,45.341151357683074],[-64.1068054288919,45.335777437487366],[-64.08925588016395,45.33144298707087],[-64.09877929796494,45.41043194657073],[-64.12474600938589,45.43994470361359],[-64.11782459111926,45.4638975970729],[-64.11311800165396,45.49477697279125],[-64.13372495391506,45.54801926881844],[-64.05679395556817,45.54760707800102],[-63.80146500036361,45.543432905243954]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.14644878062141,\"lat\":45.58369483157232},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1211\"],\"cd_name_en\":[\"Cumberland\"],\"csd_code\":[\"1211006\"],\"csd_name_en\":[\"Cumberland\",\"Subd. B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of county municipality \\/ Subdivision municipalit\\u00e9 de comt\\u00e9\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Cumberland\",\"csd_name_fr\":\"Cumberland, Subd. B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.58154728312346,45.681432098923146],[-66.59890339847307,45.6820119953373],[-66.61830577699207,45.689213127959704],[-66.62051315232212,45.66881699244607],[-66.64055880225867,45.677833073449555],[-66.65828348714244,45.65669753141288],[-66.6193044024706,45.65194196504127],[-66.61275039389625,45.630825754806345],[-66.57196965241411,45.63854504482445],[-66.57584539238418,45.65195234801827],[-66.57019647776147,45.66112439007375],[-66.58460162277312,45.67045776118147],[-66.58154728312346,45.681432098923146]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.60710364372753,\"lat\":45.659545473079},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1303\"],\"cd_name_en\":[\"Sunbury\"],\"csd_code\":[\"1303006\"],\"csd_name_en\":[\"Fredericton Junction\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Sunbury\",\"csd_name_fr\":\"Fredericton Junction\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.90606022570287,45.38241347568513],[-65.84538461337338,45.39942844266837],[-65.87240487804715,45.414429533014186],[-65.88414593899402,45.412251264859016],[-65.90389197088942,45.389921575293656],[-65.90606022570287,45.38241347568513]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.87814147155038,\"lat\":45.39926747287267},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1305\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1305008\"],\"csd_name_en\":[\"Rothesay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Rothesay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.48099538623369,45.731148296260415],[-65.49865133257207,45.72797417600184],[-65.50439524329799,45.73552296318382],[-65.52276395115155,45.73268668658933],[-65.53750719097764,45.72426199415643],[-65.52225145564968,45.718686128896906],[-65.51877743990478,45.70740081515166],[-65.49924629017768,45.7131009714424],[-65.48804894289108,45.70652729204712],[-65.47602674798885,45.71889757436194],[-65.48099538623369,45.731148296260415]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.50408716555421,\"lat\":45.721572808559294},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1305\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1305022\"],\"csd_name_en\":[\"Sussex\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town \\/ Ville\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Sussex\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.50019465861466,45.88649962442657],[-64.48857793415208,45.89196850463602],[-64.50565893987599,45.891033518484534],[-64.50019465861466,45.88649962442657]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.49814384421424,\"lat\":45.88983388251571},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1307\"],\"cd_name_en\":[\"Westmorland\"],\"csd_code\":[\"1307014\"],\"csd_name_en\":[\"Fort Folly 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Westmorland\",\"csd_name_fr\":\"Fort Folly 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-64.53141100713117,46.25976679353598],[-64.53621569688885,46.27932639797918],[-64.54856278451516,46.27169509970192],[-64.54562349542968,46.25840169149817],[-64.53141100713117,46.25976679353598]]],[[[-64.50019893678643,46.22338582361832],[-64.51229814588649,46.233368865178434],[-64.53693389407246,46.22905849282552],[-64.55564801622315,46.21939939674757],[-64.57266561771121,46.223336627334014],[-64.59669462197148,46.21061129828654],[-64.59878451318919,46.19753271545866],[-64.63910104418626,46.16013822984944],[-64.63742247893948,46.15863099863349],[-64.60464220189729,46.15687916929062],[-64.60154277374949,46.17865132436339],[-64.58825272061863,46.192574189721846],[-64.59283901176109,46.20292033117317],[-64.55125606819168,46.20620713341964],[-64.53203917714426,46.172967949897206],[-64.53213079407243,46.162033991268515],[-64.5121031016228,46.151607196800406],[-64.51214841484409,46.13253935107236],[-64.50312748796667,46.12197983533565],[-64.5117598969004,46.106381276736336],[-64.55367513746467,46.0867232911588],[-64.55274128577797,46.08341486749947],[-64.5525568060802,46.08324585424244],[-64.49554480589346,46.0936826145888],[-64.48895564367596,46.095372783071774],[-64.49869092553632,46.1188192501023],[-64.49853015274829,46.134287345197414],[-64.47839352228634,46.140256321351835],[-64.48995581913601,46.15940577378231],[-64.48491582313216,46.17033445795483],[-64.48543269410112,46.19162266012568],[-64.50019893678643,46.22338582361832]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.53217553110426,\"lat\":46.17924999806572},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1307\"],\"cd_name_en\":[\"Westmorland\"],\"csd_code\":[\"1307052\"],\"csd_name_en\":[\"Shediac\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town \\/ Ville\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Westmorland\",\"csd_name_fr\":\"Shediac\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.50026155668186,46.00133758595398],[-67.49198858773586,46.01198007898802],[-67.32007197142516,46.21260297283067],[-67.43520516766331,46.21329299105586],[-67.51568529869515,46.19872090072015],[-67.52847434597447,46.20079739529303],[-67.53308670603624,46.19669251606456],[-67.5602108877998,46.1821292048286],[-67.56883525110634,46.16546137827885],[-67.56869118172658,46.13567519712811],[-67.56484909852496,46.11323573606528],[-67.55162782389807,46.092728102377905],[-67.55810775529353,46.0675718569764],[-67.55554747239728,46.04920962218126],[-67.54205331558848,46.0422372283263],[-67.52550831129388,46.01817362457538],[-67.50026155668186,46.00133758595398]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.47135056837327,\"lat\":46.13111644523147},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1311\"],\"cd_name_en\":[\"Carleton\"],\"csd_code\":[\"1311008\"],\"csd_name_en\":[\"Northampton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Carleton\",\"csd_name_fr\":\"Northampton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.73024407828795,47.023392932760316],[-67.73741057294559,47.041367188964266],[-67.7122702382756,47.05495806847046],[-67.73038091398027,47.067027001173805],[-67.7515029642618,47.06192618405385],[-67.77034302689816,47.06722008828156],[-67.79019416412802,47.06714672784283],[-67.78992160018731,47.03215043461538],[-67.76837411879386,47.03224571638054],[-67.75335660339353,47.02310640961416],[-67.73024407828795,47.023392932760316]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.75690383123444,\"lat\":47.04742374918224},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1312\"],\"cd_name_en\":[\"Victoria\"],\"csd_code\":[\"1312019\"],\"csd_name_en\":[\"Grand Falls \\/ Grand-Sault\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town \\/ Ville\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Victoria\",\"csd_name_fr\":\"Grand Falls \\/ Grand-Sault\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.75615769400027,47.9584085801128],[-66.72607503398348,47.959905190544625],[-66.74821212411078,48.00297255698818],[-66.76480510050976,48.00162901439712],[-66.78694803089348,47.99187325260543],[-66.8009496056447,47.99209443686648],[-66.8387138538312,48.00064323477579],[-66.82299951106717,47.973304694306215],[-66.80801859243019,47.97849965277753],[-66.79920982259665,47.965584692895156],[-66.78732279157504,47.96095484053733],[-66.75615769400027,47.9584085801128]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.77615658436312,\"lat\":47.97974603343601},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1314\"],\"cd_name_en\":[\"Restigouche\"],\"csd_code\":[\"1314015\"],\"csd_name_en\":[\"Tide Head\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Restigouche\",\"csd_name_fr\":\"Tide Head\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.66440623846273,47.52779853811907],[-65.63389651415397,47.528597822048795],[-65.63323950338858,47.53832101192698],[-65.69461703513272,47.53749794723293],[-65.6935628305278,47.52717671855788],[-65.66440623846273,47.52779853811907]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.6641455569773,\"lat\":47.5328979481439},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1315\"],\"cd_name_en\":[\"Gloucester\"],\"csd_code\":[\"1315010\"],\"csd_name_en\":[\"Pabineau 11\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Gloucester\",\"csd_name_fr\":\"Pabineau 11\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.2017002310995,49.03603499133291],[-66.13512400995958,49.0545762586869],[-66.11006207478063,49.05908257552297],[-66.13397131083205,49.1444767286138],[-66.09537981913026,49.14819608754181],[-66.1188207548572,49.23402922351817],[-66.24440122760393,49.219308988147844],[-66.31451497150485,49.2091657316753],[-66.30271588773839,49.16720698448611],[-66.23640775643767,49.11998364247378],[-66.24244726027435,49.10328093361374],[-66.2017002310995,49.03603499133291]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.19154894285873,\"lat\":49.148132627455},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2404\"],\"cd_name_en\":[\"La Haute-Gasp\\u00e9sie\"],\"csd_code\":[\"2404030\"],\"csd_name_en\":[\"La Martre\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Haute-Gasp\\u00e9sie\",\"csd_name_fr\":\"La Martre\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.20328219794641,48.000052178995674],[-65.22621902292929,48.03092386978218],[-65.28856309494537,48.197710761903515],[-65.33545144610119,48.192938343777364],[-65.31849704482292,48.14700564462255],[-65.34487435541095,48.145108573510456],[-65.33396785822721,48.11559806906662],[-65.32402679541872,48.09723134445607],[-65.29811631176581,48.02904854428743],[-65.28911784897453,48.00004562374104],[-65.20328219794641,48.000052178995674]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.28244248593384,\"lat\":48.09021177393988},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2405\"],\"cd_name_en\":[\"Bonaventure\"],\"csd_code\":[\"2405032\"],\"csd_name_en\":[\"Pasp\\u00e9biac\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Bonaventure\",\"csd_name_fr\":\"Pasp\\u00e9biac\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.99565921132913,48.29726056274277],[-67.0245563649543,48.31134151084975],[-66.99208537545769,48.33512556142865],[-67.04309460525265,48.366545821556535],[-67.06180864854481,48.3407231068664],[-67.08394783900319,48.36081341735002],[-67.09830362253913,48.34537863322884],[-67.10663417851373,48.34906152636982],[-67.13491236252462,48.31732057479159],[-67.1632986178454,48.32757779477072],[-67.16934075488189,48.323501916958286],[-67.16726262251352,48.31197035863814],[-67.13332348499837,48.25920463817823],[-66.99565921132913,48.29726056274277]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.08084408382173,\"lat\":48.311730150153515},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2407\"],\"cd_name_en\":[\"La Matap\\u00e9dia\"],\"csd_code\":[\"2407005\"],\"csd_name_en\":[\"Sainte-Marguerite-Marie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Matap\\u00e9dia\",\"csd_name_fr\":\"Sainte-Marguerite-Marie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.79527638253894,48.57784792657955],[-67.72068552452079,48.63319017613781],[-67.73757541540044,48.643184196347],[-67.79569641530558,48.60030821103763],[-67.82834033154263,48.62068393076787],[-67.85961207017615,48.59746522582692],[-67.88306510171752,48.6112246924328],[-67.89798699991785,48.60056571455636],[-67.92001974385789,48.58458497926548],[-67.90561233733712,48.56998735841588],[-67.88512382997915,48.56384083899434],[-67.87687054816286,48.57040995480424],[-67.83077647161316,48.568723770075295],[-67.79527638253894,48.57784792657955]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.82917846856463,\"lat\":48.59517938067499},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2407\"],\"cd_name_en\":[\"La Matap\\u00e9dia\"],\"csd_code\":[\"2407100\"],\"csd_name_en\":[\"Saint-No\\u00ebl\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Matap\\u00e9dia\",\"csd_name_fr\":\"Saint-No\\u00ebl\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.75320246816257,47.961751932066974],[-68.7136149176074,47.9880262183214],[-68.74477257699826,48.00912396370945],[-68.65942513174876,48.06577265064403],[-68.65926341977017,48.06587857361314],[-68.75481061383,48.12949909770011],[-68.82245040424628,48.08126911211449],[-68.80611870992277,48.071068917840236],[-68.82610137033264,48.05727017189784],[-68.81053952227563,48.04705167465491],[-68.86088335125478,48.01060048442435],[-68.81122534278579,47.97784276104234],[-68.7696614547762,47.95044481342377],[-68.75320246816257,47.961751932066974]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.76325062890912,\"lat\":48.04135514865115},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2411\"],\"cd_name_en\":[\"Les Basques\"],\"csd_code\":[\"2411020\"],\"csd_name_en\":[\"Saint-Guy\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Basques\",\"csd_name_fr\":\"Saint-Guy\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.82707434254331,47.12038916415963],[-70.80597467803328,47.133178804680185],[-70.79989031005687,47.15767107990371],[-70.79346908527877,47.16401872543306],[-70.81569075271143,47.19541818463984],[-70.81445642875676,47.2126510814217],[-70.8925307319199,47.16756533594702],[-70.87954465468731,47.15632671789501],[-70.95894913089552,47.11189712240766],[-70.94794898124624,47.100861657556436],[-70.92923852406584,47.10995074165391],[-70.90600026575447,47.0895648998449],[-70.90454510978277,47.07854046800169],[-70.89010253233823,47.06662820869225],[-70.87785567561849,47.072006841691966],[-70.85878786517966,47.09134079279562],[-70.8517335760951,47.114133859755974],[-70.82707434254331,47.12038916415963]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.86449320053573,\"lat\":47.137456069018675},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2421\"],\"cd_name_en\":[\"La C\\u00f4te-de-Beaupr\\u00e9\"],\"csd_code\":[\"2421010\"],\"csd_name_en\":[\"Saint-Ferr\\u00e9ol-les-Neiges\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La C\\u00f4te-de-Beaupr\\u00e9\",\"csd_name_fr\":\"Saint-Ferr\\u00e9ol-les-Neiges\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.41257950442595,47.30731277202168],[-71.43217992516995,47.32715530400828],[-71.4567618593732,47.34269268803266],[-71.51029209302955,47.39664411118446],[-71.69188314931873,47.57577210257351],[-71.89256064159352,47.77256562190623],[-72.07613408721119,47.647909592829286],[-72.23967849243319,47.535954408225564],[-72.21452777509107,47.51516892413586],[-72.20176349974429,47.48780000631164],[-72.16285410720538,47.468965417019575],[-72.17249484530227,47.45818892124138],[-72.1739942510362,47.43895860098386],[-72.16260792177289,47.425363182387535],[-72.14734136826506,47.41910558464626],[-72.14564787180576,47.39958030089993],[-72.16135360964813,47.3867743728718],[-72.12710428034379,47.3791575402835],[-72.1001424629101,47.38437442288304],[-72.07849116001904,47.40916363177348],[-72.0568789377122,47.40929333428576],[-72.03557896702085,47.40112797334995],[-72.01633519629898,47.40859844304765],[-72.00112402539133,47.39461243364454],[-71.96041910572961,47.38223409456828],[-71.9579560933507,47.37552768614988],[-71.92867129878,47.35868768957452],[-71.8664987091604,47.33547229420654],[-71.8146673234666,47.328077456209066],[-71.71470668314487,47.24913134578675],[-71.64447230289193,47.198824082542735],[-71.52945891864378,47.253870986261106],[-71.41257950442595,47.30731277202168]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.83577585225437,\"lat\":47.47528461273559},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2422\"],\"cd_name_en\":[\"La Jacques-Cartier\"],\"csd_code\":[\"2422902\"],\"csd_name_en\":[\"Lac-Croche\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Jacques-Cartier\",\"csd_name_fr\":\"Lac-Croche\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.87671755953241,46.20649681076891],[-70.89323255860005,46.20169032530583],[-70.90709094623409,46.21375708014308],[-70.91669304890196,46.198860481568495],[-70.93585790469753,46.18711739632357],[-70.9569897358071,46.20414520149586],[-70.978987356376,46.19016542643999],[-71.01339101514547,46.16795284462359],[-71.0027442751311,46.15982247534631],[-70.99391678273086,46.15299943155689],[-71.00654095016681,46.14359109005556],[-70.9701380815543,46.11589076673264],[-70.95521816323041,46.102566344149984],[-70.94115457250794,46.11109988928308],[-70.90955071064263,46.082973317222155],[-70.89454873690917,46.09251528758673],[-70.86007285909407,46.06271088846943],[-70.85406212748025,46.06682765886478],[-70.84613329064992,46.071843512220035],[-70.8593317970913,46.08397050117328],[-70.83029305154578,46.10275829675086],[-70.8451793499936,46.11548502792898],[-70.87476494963263,46.1412826645134],[-70.84952468290199,46.15835765178217],[-70.87615896657773,46.18102562547829],[-70.85974498757844,46.193241341443],[-70.87671755953241,46.20649681076891]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.91789349010654,\"lat\":46.14412564798667},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2427\"],\"cd_name_en\":[\"Robert-Cliche\"],\"csd_code\":[\"2427008\"],\"csd_name_en\":[\"Saint-Victor\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Robert-Cliche\",\"csd_name_fr\":\"Saint-Victor\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.93635975902245,46.26759017765358],[-70.94200021201044,46.26380935522225],[-70.99198775754797,46.22410077934067],[-71.00604914337771,46.23719022587856],[-71.01986882658338,46.22822230638443],[-70.978987356376,46.19016542643999],[-70.9569897358071,46.20414520149586],[-70.93585790469753,46.18711739632357],[-70.91669304890196,46.198860481568495],[-70.90709094623409,46.21375708014308],[-70.89323255860005,46.20169032530583],[-70.87671755953241,46.20649681076891],[-70.85753646021784,46.22246321358869],[-70.87351973129493,46.23541372904857],[-70.8949281831366,46.248251834966105],[-70.90336856684776,46.244375880530384],[-70.93635975902245,46.26759017765358]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.93660358229577,\"lat\":46.22426277288316},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2427\"],\"cd_name_en\":[\"Robert-Cliche\"],\"csd_code\":[\"2427055\"],\"csd_name_en\":[\"Saint-Jules\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Robert-Cliche\",\"csd_name_fr\":\"Saint-Jules\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.31189476998246,45.92468799740767],[-71.41291579375039,45.97763414935267],[-71.43394136690165,45.95691833007821],[-71.45838563792226,45.933433608159795],[-71.44479554527607,45.92698351424594],[-71.45878829707961,45.90902090844444],[-71.48099730446158,45.90171510641799],[-71.48936870585528,45.89123250317262],[-71.45509004078583,45.87267637971573],[-71.44897486488526,45.86936610251673],[-71.41923171155125,45.897854782005744],[-71.37629499834554,45.8763894825706],[-71.34930099506325,45.870340355107935],[-71.30928108116339,45.85026692722432],[-71.29548361989677,45.859016525953066],[-71.31399974796027,45.86881022941022],[-71.29477649429043,45.8852387293371],[-71.3121830591751,45.89422142741897],[-71.29441300186937,45.91044485059183],[-71.31189476998246,45.92468799740767]],[[-71.32598183815105,45.895323761312866],[-71.31637700828749,45.89039105203251],[-71.33157273283882,45.87655579889349],[-71.3488492863671,45.890183220346515],[-71.37231054177467,45.89363433111325],[-71.36091527479635,45.91475338903123],[-71.32598183815105,45.895323761312866]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.38733930897033,\"lat\":45.913588919947564},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2431\"],\"cd_name_en\":[\"Les Appalaches\"],\"csd_code\":[\"2431020\"],\"csd_name_en\":[\"Disraeli\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Appalaches\",\"csd_name_fr\":\"Disraeli\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.55218175963267,45.91748901210585],[-71.55254115888486,45.93264046768536],[-71.5405206098453,45.942967215986876],[-71.55264190014064,45.949301131699954],[-71.5411739913195,45.96015981723207],[-71.5593273150771,45.96948849209185],[-71.54954202764,45.98172378030359],[-71.62869152684209,46.02232756041602],[-71.68251304095641,45.97018358037703],[-71.68611830323623,45.96670799225215],[-71.66269702947235,45.956122566377964],[-71.56273241958935,45.90653708531626],[-71.55218175963267,45.91748901210585]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.60568350753715,\"lat\":45.965782916053776},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2431\"],\"cd_name_en\":[\"Les Appalaches\"],\"csd_code\":[\"2431030\"],\"csd_name_en\":[\"Saint-Fortunat\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Appalaches\",\"csd_name_fr\":\"Saint-Fortunat\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.20263154064602,46.458176245243756],[-71.22865961268813,46.4815249523057],[-71.1918020279016,46.50217955081733],[-71.21101584696954,46.51513272286475],[-71.19502356722731,46.526284374511704],[-71.21527623538213,46.5408603848492],[-71.23144724627332,46.52977917634103],[-71.24283942641442,46.546811584379306],[-71.2683855732802,46.52872508689606],[-71.26077677351007,46.523293475965666],[-71.27886449528437,46.51168197157697],[-71.33041925768732,46.49955951321636],[-71.31404600616088,46.48766984962804],[-71.3011018492434,46.45594881759416],[-71.27382183633036,46.46071502869891],[-71.2688877925507,46.448170949668885],[-71.20263154064602,46.458176245243756]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.25429084251712,\"lat\":46.49322313844653},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2433\"],\"cd_name_en\":[\"Lotbini\\u00e8re\"],\"csd_code\":[\"2433030\"],\"csd_name_en\":[\"Saint-Narcisse-de-Beaurivage\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Lotbini\\u00e8re\",\"csd_name_fr\":\"Saint-Narcisse-de-Beaurivage\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.77349565976746,46.735591748860024],[-71.7963112249965,46.75204589818292],[-71.7811106864171,46.75690943468758],[-71.8041833319918,46.77478467496834],[-71.76294720681837,46.790730807361555],[-71.75236290246615,46.78346279210631],[-71.7374429989152,46.78953409720911],[-71.74772041013026,46.80349300847439],[-71.71469104039498,46.81497907727888],[-71.72942010579486,46.83712271454147],[-71.87017001939999,46.80593079526984],[-71.89886383684039,46.82580215005096],[-71.89978249355,46.81640557438903],[-71.9325635960203,46.8004828597144],[-71.92274808949757,46.793873530279306],[-71.88835688366107,46.767958023539485],[-71.84327638964031,46.71976346728736],[-71.80665301714843,46.73220514867278],[-71.77349565976746,46.735591748860024]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.82445509364949,\"lat\":46.784301216630986},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2434\"],\"cd_name_en\":[\"Portneuf\"],\"csd_code\":[\"2434038\"],\"csd_name_en\":[\"Saint-Basile\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Portneuf\",\"csd_name_fr\":\"Saint-Basile\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.24497660848957,46.45217413365185],[-72.22835460634879,46.500415223410506],[-72.21341064769686,46.521529581861195],[-72.2802640570523,46.56900666200684],[-72.27071073960329,46.52407590794598],[-72.32709652759372,46.485815103876995],[-72.35125454038553,46.486348670197174],[-72.33602750643921,46.47543415077084],[-72.31989665429664,46.48006821104253],[-72.26061447121538,46.43694514810334],[-72.24497660848957,46.45217413365185]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.26712154459186,\"lat\":46.49642907182657},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2437\"],\"cd_name_en\":[\"Francheville\"],\"csd_code\":[\"2437210\"],\"csd_name_en\":[\"Batiscan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Francheville\",\"csd_name_fr\":\"Batiscan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.36983413540486,45.45973258980715],[-71.30843432802509,45.503897016354124],[-71.46462278882922,45.604278388125046],[-71.54318319470279,45.54792663685465],[-71.55076960597786,45.55312967469855],[-71.61302384806625,45.5163938481114],[-71.615175072417,45.50038834117114],[-71.54618809830626,45.45552614614861],[-71.42633176000292,45.45782172052756],[-71.36983413540486,45.45973258980715]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.46534107974104,\"lat\":45.51416568277941},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2441\"],\"cd_name_en\":[\"Le Haut-Saint-Fran\\u00e7ois\"],\"csd_code\":[\"2441070\"],\"csd_name_en\":[\"Bury\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Saint-Fran\\u00e7ois\",\"csd_name_fr\":\"Bury\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.14324414717649,45.51440264166031],[-72.14887328489702,45.509114564493636],[-72.18234904065366,45.529695437412876],[-72.23951310170983,45.56015026706322],[-72.23819176715907,45.54075602304468],[-72.2796705639953,45.54368649875307],[-72.27844461621666,45.51931901839451],[-72.27624630162687,45.45074378905523],[-72.23762712241493,45.449764472553454],[-72.18404276250516,45.4472294223804],[-72.18416202244543,45.4280165309889],[-72.14637525645023,45.428322108264],[-72.1502808588592,45.44380816689282],[-72.13313151121153,45.47353039142783],[-72.13910189831904,45.49116679646196],[-72.12880580266297,45.49894430971963],[-72.14324414717649,45.51440264166031]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.20989985754663,\"lat\":45.49059180060771},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2442\"],\"cd_name_en\":[\"Le Val-Saint-Fran\\u00e7ois\"],\"csd_code\":[\"2442032\"],\"csd_name_en\":[\"Racine\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Val-Saint-Fran\\u00e7ois\",\"csd_name_fr\":\"Racine\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.28339491096818,45.285756617458524],[-72.26969702172075,45.28417481237329],[-72.26892481623719,45.30655925946216],[-72.25330109823214,45.306147989603566],[-72.24803743677376,45.36070969486674],[-72.24885189132843,45.37464855718851],[-72.3546332376113,45.37705759884786],[-72.35768350225833,45.35052487140344],[-72.35755850272123,45.30781431886337],[-72.34231757904183,45.30811184678689],[-72.34258693378713,45.28667666907731],[-72.32879320662114,45.286706002073686],[-72.28339491096818,45.285756617458524]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.30403700088327,\"lat\":45.33385083087641},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2445\"],\"cd_name_en\":[\"Memphr\\u00e9magog\"],\"csd_code\":[\"2445093\"],\"csd_name_en\":[\"Eastman\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Memphr\\u00e9magog\",\"csd_name_fr\":\"Eastman\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.53681103106044,46.10635744466241],[-72.58393384997511,46.132809172718424],[-72.59053324268297,46.147467765897474],[-72.60010358813058,46.141319568234046],[-72.61906485443393,46.15428895998392],[-72.6301691519039,46.140095937811],[-72.6573255662185,46.1205656492961],[-72.6416726083928,46.10897274976756],[-72.66107919633359,46.096663202254526],[-72.66609673590247,46.08722247072214],[-72.65475409102412,46.07950886036205],[-72.5887654216413,46.10886834487809],[-72.54494090147156,46.077590730953915],[-72.51762826373927,46.097578389295116],[-72.53681103106044,46.10635744466241]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.59973780124098,\"lat\":46.11239162024881},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2450\"],\"cd_name_en\":[\"Nicolet-Yamaska\"],\"csd_code\":[\"2450085\"],\"csd_name_en\":[\"La Visitation-de-Yamaska\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nicolet-Yamaska\",\"csd_name_fr\":\"La Visitation-de-Yamaska\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.89620655131641,46.172370050554264],[-72.95544955992324,46.20939466149668],[-72.97649809749065,46.22739310862831],[-72.99263877272865,46.24648131572208],[-73.02857223133007,46.25633509627635],[-73.06737593584508,46.24476592484815],[-73.06067808363328,46.23794562634905],[-73.1125210104256,46.21043095013143],[-73.04522324595438,46.16228529710916],[-73.0387442668417,46.15607544665021],[-73.00655774051549,46.16515325516394],[-72.9932638062406,46.16396120255824],[-72.97923126411675,46.16822133410918],[-72.95842009137905,46.150247162706],[-72.94731562854561,46.15489654786863],[-72.89620655131641,46.172370050554264]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.01031797875602,\"lat\":46.20044165443753},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2451\"],\"cd_name_en\":[\"Maskinong\\u00e9\"],\"csd_code\":[\"2451008\"],\"csd_name_en\":[\"Maskinong\\u00e9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Maskinong\\u00e9\",\"csd_name_fr\":\"Maskinong\\u00e9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.8604219006298,46.356177509813335],[-72.85974893235834,46.3621652113704],[-72.91466352139443,46.39997820573532],[-72.93675808513169,46.40127809794776],[-72.9523972485055,46.39005793201421],[-72.9306684251109,46.36728322362633],[-72.93023439413356,46.35361167610594],[-72.91966094405507,46.34679286296615],[-72.92130007047554,46.336262484325886],[-72.90642952574181,46.32646110749473],[-72.85525863182237,46.34357755966064],[-72.8604219006298,46.356177509813335]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.90350835579925,\"lat\":46.36426650635078},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2451\"],\"cd_name_en\":[\"Maskinong\\u00e9\"],\"csd_code\":[\"2451030\"],\"csd_name_en\":[\"Saint-S\\u00e9v\\u00e8re\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Maskinong\\u00e9\",\"csd_name_fr\":\"Saint-S\\u00e9v\\u00e8re\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.2604622358922,46.289836851623306],[-73.33221846441796,46.33982403867881],[-73.36008770951304,46.33193289672261],[-73.36195840378434,46.32038246313197],[-73.36075009964053,46.311447207293554],[-73.37529970474203,46.302286893431],[-73.36674446151714,46.29299169351259],[-73.3852259556536,46.28799688698362],[-73.39717610857879,46.2975147950935],[-73.4102997552587,46.333215796548025],[-73.41393750435032,46.33527953192269],[-73.44047531672147,46.3109109486702],[-73.42659918252474,46.30129582736156],[-73.45326583815348,46.28249925677735],[-73.46966163091362,46.271889621827626],[-73.44328414248422,46.25436330737852],[-73.47432780551489,46.2342183794844],[-73.46569478467792,46.226663850282364],[-73.45098970384544,46.2358526803211],[-73.43840383651492,46.2264671480333],[-73.39142331077684,46.256039433448315],[-73.36687028364709,46.235779017624616],[-73.32096994651828,46.26436606610817],[-73.29737477524837,46.27874966712266],[-73.28665545348551,46.27113978249999],[-73.2604622358922,46.289836851623306]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.37199432268855,\"lat\":46.28311368647366},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2452\"],\"cd_name_en\":[\"D'Autray\"],\"csd_code\":[\"2452085\"],\"csd_name_en\":[\"Saint-Gabriel-de-Brandon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"D'Autray\",\"csd_name_fr\":\"Saint-Gabriel-de-Brandon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.33400991964606,46.352462233775974],[-74.26826736336295,46.398105779054276],[-74.19051080641655,46.4485003744472],[-74.23697075680343,46.476883457809414],[-74.34483753572873,46.54784550594482],[-74.47774461820242,46.45415542273632],[-74.44778788275258,46.432304669266784],[-74.33400991964606,46.352462233775974]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.33664659280532,\"lat\":46.4504903957976},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2462\"],\"cd_name_en\":[\"Matawinie\"],\"csd_code\":[\"2462914\"],\"csd_name_en\":[\"Lac-des-Dix-Milles\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Matawinie\",\"csd_name_fr\":\"Lac-des-Dix-Milles\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.51733646572268,46.02607955003603],[-73.54964093447525,46.04261583344844],[-73.5686807925783,46.030155451382576],[-73.61029113937856,46.05934485397445],[-73.6345951278281,46.04331333908732],[-73.62231738543085,46.03454367729046],[-73.65824876327329,46.00979072195675],[-73.63000726655086,46.01043268353988],[-73.59878033045894,45.99374840229941],[-73.58009974043193,45.996397247903424],[-73.5406953343423,45.97237477501644],[-73.51033445410553,45.99219286799623],[-73.5249570625839,46.002027027157126],[-73.51177595189424,46.01089634033198],[-73.50787356077772,46.01345972196766],[-73.51733646572268,46.02607955003603]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.57450321847324,\"lat\":46.01568792261726},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2463\"],\"cd_name_en\":[\"Montcalm\"],\"csd_code\":[\"2463065\"],\"csd_name_en\":[\"Saint-Liguori\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Montcalm\",\"csd_name_fr\":\"Saint-Liguori\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.53599501565014,45.40091509624815],[-73.5538937771882,45.38667675141901],[-73.55917217675056,45.36906207890935],[-73.51989177203427,45.35364590092249],[-73.52100937670413,45.36887711960536],[-73.53620491783393,45.376473290653855],[-73.53599501565014,45.40091509624815]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.54014557513786,\"lat\":45.37443117717209},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2467\"],\"cd_name_en\":[\"Roussillon\"],\"csd_code\":[\"2467025\"],\"csd_name_en\":[\"Delson\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Roussillon\",\"csd_name_fr\":\"Delson\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.7343497345152,45.25594736216882],[-73.68784851802126,45.33672341288014],[-73.70551695671534,45.341627894982786],[-73.75047419083178,45.34615485842708],[-73.76383084849697,45.32856235616893],[-73.7917857919399,45.31844645777436],[-73.7983811116072,45.30375930298502],[-73.73814519840313,45.258796934277164],[-73.7343497345152,45.25594736216882]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.74205041280922,\"lat\":45.307971365534605},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2467\"],\"cd_name_en\":[\"Roussillon\"],\"csd_code\":[\"2467045\"],\"csd_name_en\":[\"Mercier\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Roussillon\",\"csd_name_fr\":\"Mercier\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.61187266090548,45.38482767621379],[-73.5991471889193,45.41162789873611],[-73.6278990321393,45.41008214714742],[-73.65479442067159,45.41756154882257],[-73.68689954670542,45.42247219323405],[-73.71377974935952,45.42098752733024],[-73.75275863167087,45.41760462685477],[-73.75248349803599,45.39956440170637],[-73.67851487657781,45.345478488350714],[-73.66118457240775,45.35019953815232],[-73.64860066119024,45.35246893932812],[-73.626093908377,45.369544707974995],[-73.61187266090548,45.38482767621379]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.67684499610067,\"lat\":45.39022599005516},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2467\"],\"cd_name_en\":[\"Roussillon\"],\"csd_code\":[\"2467802\"],\"csd_name_en\":[\"Kahnawake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Roussillon\",\"csd_name_fr\":\"Kahnawake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.47598150161446,45.280792487865405],[-73.49263049062806,45.29692261037548],[-73.5100133077132,45.27764663499361],[-73.5199210473034,45.261901319961765],[-73.53268750960324,45.26606856968692],[-73.53867070747138,45.24654782544573],[-73.56631793890874,45.201843747268114],[-73.56161119059817,45.20060191925613],[-73.55588202046057,45.191600099115426],[-73.5312225244789,45.19545872054788],[-73.50176874718396,45.19421031127385],[-73.49421005151326,45.204146852672814],[-73.48221315635865,45.19749200082359],[-73.47332417971049,45.20277535683809],[-73.47980871636445,45.202110070991175],[-73.46763799748678,45.26556183276074],[-73.47598150161446,45.280792487865405]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.509818339652,\"lat\":45.23556101315164},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2468\"],\"cd_name_en\":[\"Les Jardins-de-Napierville\"],\"csd_code\":[\"2468045\"],\"csd_name_en\":[\"Saint-\\u00c9douard\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Jardins-de-Napierville\",\"csd_name_fr\":\"Saint-\\u00c9douard\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.9961369357742,45.040917116212945],[-74.08835327545863,45.11591281161685],[-74.09954330990375,45.104165286302745],[-74.12016873813921,45.09425066993057],[-74.14891239730083,45.09641778649326],[-74.16913515537227,45.09082173446127],[-74.17873934295415,45.07687548363475],[-74.184048676487,45.073941765941996],[-74.18031087477911,45.048120676060456],[-74.18524479736391,45.03021501711695],[-74.1675774360196,45.024821854606046],[-74.15024033542906,44.991143493218395],[-73.98270371768969,44.99726365324489],[-73.98764967619215,45.033877407206006],[-73.9961369357742,45.040917116212945]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.09036812569938,\"lat\":45.043109635024265},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2469\"],\"cd_name_en\":[\"Le Haut-Saint-Laurent\"],\"csd_code\":[\"2469045\"],\"csd_name_en\":[\"Hinchinbrooke\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Saint-Laurent\",\"csd_name_fr\":\"Hinchinbrooke\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.26615641880012,45.306884776523106],[-74.33697816066989,45.35669748641827],[-74.40452548059615,45.33042516812481],[-74.37687932508827,45.309737924792614],[-74.35819773400027,45.30452893988723],[-74.35650033526882,45.288986395768696],[-74.34187075962201,45.284570117759955],[-74.34858064913674,45.24640702805565],[-74.31954350446894,45.24275664709046],[-74.3105923565803,45.27241253685739],[-74.29837790441071,45.262977884218934],[-74.28654298867025,45.27036457720426],[-74.26439606722292,45.264066527739026],[-74.26234870045145,45.28220731598741],[-74.24583857992282,45.29238122723951],[-74.25265628419768,45.29725039594522],[-74.26615641880012,45.306884776523106]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.3232493527991,\"lat\":45.303124915473134},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2471\"],\"cd_name_en\":[\"Vaudreuil-Soulanges\"],\"csd_code\":[\"2471020\"],\"csd_name_en\":[\"Saint-Polycarpe\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Vaudreuil-Soulanges\",\"csd_name_fr\":\"Saint-Polycarpe\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.25828914514409,45.339621858945705],[-74.24272823873096,45.38887223942432],[-74.23034754040384,45.430005818558186],[-74.32253093178095,45.44295991008738],[-74.32640931996445,45.43180256065222],[-74.35420418892897,45.42584875621611],[-74.357639484193,45.41354190959905],[-74.39331303118654,45.417730523420296],[-74.39639141720708,45.40488460090408],[-74.25828914514409,45.339621858945705]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.29972174953687,\"lat\":45.399025150113054},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2471\"],\"cd_name_en\":[\"Vaudreuil-Soulanges\"],\"csd_code\":[\"2471110\"],\"csd_name_en\":[\"Sainte-Marthe\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Vaudreuil-Soulanges\",\"csd_name_fr\":\"Sainte-Marthe\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.20391180365014,45.70507608878421],[-74.19506322718345,45.75008391744449],[-74.18339262410798,45.79165358677834],[-74.3101194948802,45.8240533803907],[-74.3137789152951,45.79308154089737],[-74.32796910175065,45.738786010369026],[-74.20391180365014,45.70507608878421]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.25586610883799,\"lat\":45.76485343464331},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2476\"],\"cd_name_en\":[\"Argenteuil\"],\"csd_code\":[\"2476025\"],\"csd_name_en\":[\"Gore\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Argenteuil\",\"csd_name_fr\":\"Gore\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.18831298292415,45.834525717516506],[-74.26287592101174,45.85975953594851],[-74.3091447384996,45.828979526863385],[-74.3101194948802,45.8240533803907],[-74.18339262410798,45.79165358677834],[-74.18225481017429,45.79510878695517],[-74.1200669523856,45.780789846122865],[-74.10495419394294,45.789571081192854],[-74.11860565192964,45.80402765648962],[-74.11424199276748,45.80978835864764],[-74.14195439544042,45.8193374315837],[-74.18831298292415,45.834525717516506]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.20870340354261,\"lat\":45.81909763804834},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2476\"],\"cd_name_en\":[\"Argenteuil\"],\"csd_code\":[\"2476030\"],\"csd_name_en\":[\"Mille-Isles\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Argenteuil\",\"csd_name_fr\":\"Mille-Isles\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.09291523301665,45.9373331804778],[-74.05310632558377,45.960521347758146],[-74.00212522430115,45.99776529293639],[-73.97965919111047,46.014799057025826],[-74.00431124155357,46.03274561808588],[-74.03504688508143,46.01221590178462],[-74.06839128760181,45.988506479295026],[-74.12375082129341,46.02472178537191],[-74.14961345085433,46.00699026202368],[-74.144597613745,46.00294998848866],[-74.17350778242347,45.985814483289275],[-74.18664601852912,45.98924061896908],[-74.2465905636072,45.948648600168994],[-74.19196238583908,45.91098733664443],[-74.17695477353283,45.921527399625276],[-74.15398779216757,45.913187587090704],[-74.13919043791543,45.92359958403559],[-74.12691833781705,45.914275532201536],[-74.09291523301665,45.9373331804778]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.12309110517131,\"lat\":45.96821611773873},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2477\"],\"cd_name_en\":[\"Les Pays-d'en-Haut\"],\"csd_code\":[\"2477022\"],\"csd_name_en\":[\"Sainte-Ad\\u00e8le\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Pays-d'en-Haut\",\"csd_name_fr\":\"Sainte-Ad\\u00e8le\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.44938433585877,45.90642346866372],[-74.45297233474311,45.92689686181491],[-74.4761570387432,45.92928966437153],[-74.4873314981702,45.91344808195893],[-74.49075305727106,45.89976065815171],[-74.47568367985969,45.898291223800406],[-74.4830480473279,45.8686590974771],[-74.46958739418587,45.86672132949845],[-74.45699807784192,45.87931508339464],[-74.44938433585877,45.90642346866372]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.46836964761935,\"lat\":45.900962321096564},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2477\"],\"cd_name_en\":[\"Les Pays-d'en-Haut\"],\"csd_code\":[\"2477055\"],\"csd_name_en\":[\"Lac-des-Seize-\\u00celes\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Pays-d'en-Haut\",\"csd_name_fr\":\"Lac-des-Seize-\\u00celes\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.08072976369891,45.864051423656846],[-75.06510098089183,45.87972385299245],[-75.06626733862099,45.88907732110878],[-75.02966866325032,45.88860772073157],[-75.02477791287393,45.9741491307829],[-75.18226767385973,45.9728265176841],[-75.21425599758852,45.97380211558211],[-75.21376503515444,45.93939373344351],[-75.19822793960961,45.93507601404013],[-75.1510829305328,45.93522132417107],[-75.15027204486167,45.90303970644654],[-75.1327114300584,45.90364049090874],[-75.119215521673,45.85391674132552],[-75.08458222084504,45.85631852296762],[-75.08072976369891,45.864051423656846]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.10444896654936,\"lat\":45.92915430156232},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2480\"],\"cd_name_en\":[\"Papineau\"],\"csd_code\":[\"2480095\"],\"csd_name_en\":[\"Lac-Simon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Papineau\",\"csd_name_fr\":\"Lac-Simon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.29879408834586,48.87875505116284],[-79.32993855306088,48.87868986888358],[-79.32993760716832,48.90814211237008],[-79.35805688946726,48.907919433122416],[-79.40860314923763,48.9079497376454],[-79.40815708431013,48.85121190534888],[-79.43677350260323,48.85111400437944],[-79.43729236577256,48.792393871243064],[-79.3940290625823,48.792374722509614],[-79.39402609937106,48.763712560520894],[-79.35863180954784,48.76353245588714],[-79.33731460999779,48.7632790558004],[-79.33714796862469,48.792469313250635],[-79.29913311605573,48.792346948976366],[-79.29879408834586,48.87875505116284]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.36503790315048,\"lat\":48.83656669835109},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2487\"],\"cd_name_en\":[\"Abitibi-Ouest\"],\"csd_code\":[\"2487085\"],\"csd_name_en\":[\"Dupuy\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi-Ouest\",\"csd_name_fr\":\"Dupuy\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.33159892893971,48.631733507173536],[-77.3313440756104,48.71922450701603],[-77.54969780446244,48.719126332606216],[-77.58863601112458,48.71930757565005],[-77.58841833716457,48.690302953186276],[-77.60263684146204,48.69043712972569],[-77.60239876361115,48.66096895542742],[-77.57681129056617,48.66086570321854],[-77.57616113483071,48.630900340047646],[-77.54967646496253,48.631190224454826],[-77.33159892893971,48.631733507173536]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.46068604340766,\"lat\":48.67577331148269},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2488\"],\"cd_name_en\":[\"Abitibi\"],\"csd_code\":[\"2488010\"],\"csd_name_en\":[\"Rochebaucourt\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi\",\"csd_name_fr\":\"Rochebaucourt\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.09261511955265,49.130908090421414],[-72.0794542705783,49.1561257394766],[-72.09195447199447,49.177248458548206],[-72.10283160976465,49.1859636892293],[-72.11486640913883,49.210692780836325],[-72.13341348627733,49.22691239052423],[-72.15601508092438,49.25352608211016],[-72.14261119737102,49.29541869634545],[-72.12948563904065,49.32803013731584],[-72.11675644525074,49.34727099172426],[-72.10410922270874,49.357265261060036],[-72.09294803219662,49.37823589421547],[-72.0790828743341,49.37420093235186],[-72.0686101058938,49.39269277957442],[-72.05761313836693,49.39489007993135],[-72.04725391080477,49.38242806671054],[-72.03308037402826,49.393379265039364],[-72.01729407909642,49.38814762657566],[-72.01657314471237,49.373825415689545],[-71.98919380526645,49.37534716237986],[-71.97324372974846,49.36954109945865],[-71.9652453335365,49.381707559765395],[-71.94401958158038,49.38560989427285],[-71.94357165921774,49.4054076202],[-71.92855375793194,49.43257835285608],[-71.93464029990142,49.458864956171965],[-71.93254190577862,49.469634534124054],[-71.93637160569502,49.50089390402359],[-71.94923895584122,49.51263804573787],[-71.97154895313254,49.54491790182582],[-71.99227908723435,49.555190811670684],[-72.02629691108052,49.58474280334492],[-72.02889410718004,49.60462229794886],[-72.04111019494165,49.630639099364956],[-72.03657149417468,49.65827828579102],[-72.04789618925362,49.66686478449325],[-72.03778991502715,49.68094538986635],[-72.01834518166406,49.696030195876546],[-72.00182161230187,49.69464848961725],[-71.99489721234524,49.713305090017684],[-72.03284688319187,49.75121150847938],[-72.02701691497641,49.767278498579635],[-72.03787579940968,49.773198112056264],[-72.0319107038126,49.78404820376433],[-72.03514750649876,49.813943110960906],[-72.0532144089726,49.81668779916077],[-72.06693699989474,49.84000398872394],[-72.07830910102714,49.84526060250689],[-72.09536850025944,49.883720605846854],[-72.13083313024433,49.94917645295111],[-72.15985373352049,50.04070489191203],[-72.17354640889882,50.0537686045701],[-72.16028991455542,50.06692400571362],[-72.1677067935684,50.08308639520802],[-72.16550600328335,50.10094550486201],[-72.16890880219829,50.1259543009143],[-72.16030019785805,50.15024040436873],[-72.17163981499827,50.158651904403015],[-72.16978368516791,50.175606688605846],[-72.1789886989598,50.19872100406052],[-72.16055098614024,50.216366888683346],[-72.15452649446514,50.242228604609686],[-72.16418490854379,50.2633530132435],[-72.15743390450062,50.308888299291944],[-72.16452930135507,50.31672061050798],[-72.16227998628942,50.341321799504385],[-72.18371937807943,50.353533904512155],[-72.184103106013,50.38133011169678],[-72.16696029642465,50.40847708651747],[-72.15713160413691,50.469467805746596],[-72.16653441215647,50.53130840067729],[-72.16222291720726,50.53761559313804],[-72.18957028911021,50.5811550025515],[-72.19162009720446,50.59279430467553],[-72.18743550613499,50.648265697014786],[-72.17727538776441,50.68525580328761],[-72.16332750777514,50.720394408671844],[-72.1517022852451,50.740048988209224],[-72.15525780955697,50.750959812270445],[-72.14956059943556,50.7750878082525],[-72.15937958968787,50.81004869523719],[-72.1549944934455,50.82883349232037],[-72.11023821102565,50.85360848920947],[-72.10191529410402,50.879248990480754],[-72.10741877725802,50.920104705643766],[-72.10691701589984,50.951664194234226],[-72.09586428227865,50.97411569182336],[-72.10398098615687,50.980767008659924],[-72.09397281526144,50.99619140003605],[-72.09347319823976,51.01507410376366],[-72.08186410023448,51.03633969200922],[-72.06961699494867,51.0483362921444],[-72.0543835906081,51.08192013099681],[-72.06414099915257,51.121960531881165],[-72.07761441376252,51.14227195087113],[-72.09500661792939,51.12516166465353],[-72.10275375302041,51.10998079760252],[-72.12069068144503,51.09461533810927],[-72.127378055408,51.07856834188659],[-72.14320430124845,51.06876405594558],[-72.13719031662478,51.05286656644148],[-72.15305494630444,51.036245659333474],[-72.15851427105906,51.0225742058706],[-72.15488963317402,51.00314216757646],[-72.15768606281594,50.978651125954045],[-72.18355870733059,50.98107225887444],[-72.19442386892929,50.98915331498962],[-72.18975520548179,51.021771568024164],[-72.2003523527946,51.029235660596825],[-72.22141042332758,51.025996932005135],[-72.2295645626632,51.007822334296506],[-72.24148895305842,51.00386562088911],[-72.24860322721327,50.975111765437994],[-72.26200012988242,50.97173188443316],[-72.26634632059367,50.94990131668704],[-72.2907907764101,50.95275734440943],[-72.29908101950325,50.94274478166],[-72.30269803880648,50.92320144324249],[-72.31263031546814,50.911372147862366],[-72.34785059078303,50.88611603657819],[-72.37375092082515,50.88586888736493],[-72.37567585522149,50.85244031667142],[-72.4029772968719,50.8111197567542],[-72.42032020982461,50.80411141455392],[-72.42833851874185,50.786538894373464],[-72.43779185815461,50.78222280245714],[-72.46572811649274,50.7853948289903],[-72.48532879512399,50.76233685750354],[-72.50540166588614,50.750803164181214],[-72.52210907147904,50.74690017957817],[-72.53934379973417,50.757293271586946],[-72.5610056964791,50.74847818951814],[-72.55711998993479,50.786267603447435],[-72.54063792142112,50.80763380647926],[-72.5602091997542,50.822768675134476],[-72.56135164510292,50.835851554889594],[-72.5505344601049,50.85942083206287],[-72.55775463198817,50.87850546741154],[-72.57209448396549,50.873588438499404],[-72.58045765651285,50.860529462748836],[-72.59698727110975,50.84933884399644],[-72.60695703936081,50.83256584260265],[-72.61027398054631,50.80698093799581],[-72.62786490411501,50.77298012415445],[-72.67321037294495,50.7476831120459],[-72.69706494916905,50.77647474723272],[-72.72573586146743,50.77998014441745],[-72.72531060562372,50.79809242832722],[-72.7457765570684,50.80235945606608],[-72.74875171578772,50.82060561186418],[-72.78227000011134,50.825096640919675],[-72.79334921981703,50.81972735842589],[-72.83669558923846,50.814320412681376],[-72.8747300709913,50.80627477244759],[-72.89466740102434,50.77744229289692],[-72.93659925234851,50.76122224765335],[-72.92912451856394,50.7385569725548],[-72.93515339791644,50.715747041290946],[-72.95437431102205,50.715690640970315],[-72.97282265012232,50.70554447149111],[-73.00725313546417,50.67653211283831],[-73.02849281732664,50.662898297238044],[-73.05445681396625,50.65438768814733],[-73.05474893277866,50.665790497827594],[-73.03264560545273,50.67944424859399],[-73.03354846640492,50.69316408649691],[-73.04562535655388,50.70282478800455],[-73.06433035449874,50.691414672482715],[-73.08732151139435,50.69824185662312],[-73.07489727079782,50.72528957313416],[-73.08217671710551,50.73248324883833],[-73.10728317632265,50.73494403455519],[-73.10931375567938,50.750314200394875],[-73.13765713575438,50.75219729237429],[-73.16916779745645,50.73732324999632],[-73.1877568207474,50.70056993511874],[-73.22104365450829,50.70661615668904],[-73.239187506867,50.6881511367404],[-73.25341480871212,50.68186173282746],[-73.27390416179422,50.65160368857705],[-73.26741198051482,50.6461106017299],[-73.29052676603769,50.63455099824668],[-73.30083284633818,50.62292143214195],[-73.30346876729729,50.60149752779978],[-73.3107268081155,50.58724803416409],[-73.33756638277433,50.57674059464921],[-73.35280539054239,50.55229230192741],[-73.35729285351304,50.53140156639799],[-73.38566468763969,50.51523985616953],[-73.39276562559562,50.50691175789287],[-73.38762418088162,50.484360884735544],[-73.40963353176387,50.45951756406511],[-73.43626768518585,50.4406506995361],[-73.45075748374909,50.42269738019103],[-73.45002164718457,50.39692516398357],[-73.45972729751725,50.37552003627327],[-73.4773876112475,50.37463818153241],[-73.482406448428,50.40037057031119],[-73.50235230976337,50.38430441535665],[-73.53055076651395,50.38015329247731],[-73.54043473756504,50.369132874527004],[-73.5630846944419,50.36833410536312],[-73.58333516071141,50.36181849079502],[-73.58320837201154,50.38045291905144],[-73.5749347274855,50.406370261110155],[-73.5842582689664,50.41949838679843],[-73.61090238717385,50.389415123207336],[-73.60951331550265,50.36829153083739],[-73.60241897142652,50.345752038745495],[-73.6119670902478,50.33941579672975],[-73.61906120390512,50.310233393719344],[-73.640928967412,50.275369584306965],[-73.67234500305608,50.23689043450862],[-73.6855265286296,50.211584964716],[-73.71217641574766,50.21220162891125],[-73.73703377083417,50.217895104179924],[-73.74953402219283,50.2344745759622],[-73.77206265882926,50.216342932682196],[-73.7910573125408,50.179258372562266],[-73.78879656245768,50.16799611473523],[-73.77651713857331,50.15790113784221],[-73.78845243042743,50.1374513362881],[-73.7787134032446,50.124107827868436],[-73.77868336961636,50.112588273242565],[-73.79144944851132,50.09839494036278],[-73.78556548211127,50.07426475429834],[-73.81532390963926,50.02605224317392],[-73.65876758632628,50.02462701012633],[-73.66653769843087,50.00744259288113],[-73.67944350123751,50.003934686551226],[-73.68521440828255,49.98821770270213],[-73.67637378785629,49.98086759755359],[-73.68680490755459,49.93437461173769],[-73.66894958342138,49.91139270527299],[-73.6591163981177,49.9062185029617],[-73.6199238811807,49.92243239645503],[-73.59875877981143,49.91738120567261],[-73.58008077912923,49.90653380088207],[-73.56258569260382,49.910509804673374],[-73.5577903067716,49.89407580433311],[-73.5653872829037,49.871592899291606],[-73.56455870888514,49.84489749891561],[-73.55721670764271,49.83269058711375],[-73.57370208584538,49.82274560803371],[-73.57887289811575,49.80609869561678],[-73.58991820044606,49.798537607349175],[-73.57052940457797,49.78183549249341],[-73.58088549088099,49.763126000509274],[-73.57164489223825,49.756657994379],[-73.57387200812985,49.74261150100131],[-73.56223399282386,49.73432798721282],[-73.53282208529573,49.732586585749225],[-73.51202351222103,49.7166841909589],[-73.4717058824097,49.70005749831274],[-73.48242928353459,49.68014278233082],[-73.47408761398155,49.662884561958336],[-73.484277136014,49.64462743170552],[-73.46240256313904,49.63871684231673],[-73.45736979817627,49.60422040030738],[-73.46178033875164,49.587682179825904],[-73.45761262058276,49.57620965833312],[-73.46160683978033,49.55975722400675],[-73.47530703756219,49.54482988968054],[-73.45613747754157,49.53746385731708],[-73.44207203402418,49.55836301045915],[-73.41148333146438,49.56712015812349],[-73.39058098341022,49.55959337300891],[-73.36575371019234,49.57044656784829],[-73.35888311499986,49.54795747621103],[-73.33854815520009,49.528541089225676],[-73.35128734820488,49.503977293334586],[-73.37117743737412,49.48638520130344],[-73.3803877635442,49.46363936935406],[-73.38144741151031,49.416090384191946],[-73.37872851154216,49.40680542216812],[-73.39053054478258,49.375388207988046],[-73.4017826283614,49.35792416578247],[-73.39368947801225,49.339703472891195],[-73.34317262221734,49.30522079827349],[-73.36365221609468,49.26051406636062],[-73.36112760124573,49.20466301562899],[-73.32215808066572,49.1915405731381],[-73.31247179685278,49.20010029941859],[-73.29609382224945,49.20115211533155],[-73.28226439765048,49.187885817979],[-73.25554161556684,49.19601512280571],[-73.23239961130506,49.1937807190781],[-73.21801562367521,49.18439531463812],[-73.20527648010052,49.16667816396792],[-73.19128325458394,49.17111727868177],[-73.16088776770636,49.16177774441286],[-73.14202452230323,49.151138488892954],[-73.12931002175908,49.13714123507661],[-73.12139998333924,49.09253441365044],[-73.11593852452533,49.07846240040413],[-73.11321664919866,49.04839856434897],[-73.10135705027159,49.03426325892281],[-73.10028295477188,49.01025384854287],[-73.06701855500764,48.99877654828923],[-73.07082719113286,48.97785097132272],[-73.05924467653837,48.95948182280196],[-72.93816325984992,48.90521551389958],[-72.84592066689515,48.9525665487039],[-72.78321500495706,48.98579017749491],[-72.80875343196598,49.00450310384457],[-72.86675575753158,49.06128221863139],[-72.69973325711841,49.05993026259494],[-72.67608119335988,49.03841702752765],[-72.66328455826003,49.04467495119994],[-72.61954007554999,49.06625564115294],[-72.6151065658431,49.1405004344283],[-72.57484165587658,49.13996310589214],[-72.59387285595982,49.104878988453294],[-72.59925049090089,49.07473985111548],[-72.59419365512228,49.07589037872591],[-72.4025510929968,49.172178618077744],[-72.31074498689416,49.21895902590678],[-72.29294847272115,49.21539207175246],[-72.29306768115052,49.20162610233336],[-72.28427849221076,49.171216262812344],[-72.28751989096912,49.165390436351274],[-72.2772379274593,49.11741967369299],[-72.2538357194977,49.09779626947447],[-72.2003775924297,49.12336874689967],[-72.09261511955265,49.130908090421414]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.79100962821745,\"lat\":49.9388174166404},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2492\"],\"cd_name_en\":[\"Maria-Chapdelaine\"],\"csd_code\":[\"2492904\"],\"csd_name_en\":[\"Rivi\\u00e8re-Mistassini\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Maria-Chapdelaine\",\"csd_name_fr\":\"Rivi\\u00e8re-Mistassini\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.53373968424847,48.53252980286184],[-71.55441371762178,48.53710802680716],[-71.58819280284811,48.5313665351126],[-71.61669018893815,48.543639976418945],[-71.61799049214193,48.5630329354538],[-71.60775287176119,48.58449901150439],[-71.62452563797486,48.58771879161488],[-71.59551190866537,48.656007554736945],[-71.5943497506558,48.658950240575024],[-71.76384905304404,48.68896645664324],[-71.78785840157438,48.623716198070596],[-71.80922395630407,48.58012648310039],[-71.74986879174983,48.56194612390311],[-71.73844947518496,48.57748240144892],[-71.72335322810103,48.563726782359716],[-71.73985903355357,48.52457648127401],[-71.7048925819852,48.51737896631944],[-71.5561537995923,48.48998569659912],[-71.54541377212946,48.51676062682376],[-71.53373968424847,48.53252980286184]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.6825017202629,\"lat\":48.59202962101533},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2493\"],\"cd_name_en\":[\"Lac-Saint-Jean-Est\"],\"csd_code\":[\"2493042\"],\"csd_name_en\":[\"Alma\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Lac-Saint-Jean-Est\",\"csd_name_fr\":\"Alma\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.99920612197818,48.562031355280396],[-71.0495673581665,48.571896997400046],[-71.04610488010154,48.580485740022006],[-71.18602161561493,48.602156366086206],[-71.19762338754848,48.573740013977734],[-71.23206626721961,48.579463546230606],[-71.23712264722126,48.55984740173165],[-71.26205822951094,48.54354426285127],[-71.17446911780073,48.52818052149388],[-71.18235031439218,48.50852919393425],[-71.17819081539243,48.49097089743653],[-71.16213816051558,48.48467860453667],[-71.07457093940688,48.46781894796366],[-71.06717175957851,48.48836937042943],[-71.01454059524949,48.47812708947493],[-71.010090106227,48.486825593422026],[-70.97843401044686,48.48050442406255],[-70.9682578416749,48.51734680128509],[-70.97760742587647,48.52465971374332],[-70.99920612197818,48.562031355280396]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.10251923009969,\"lat\":48.5347269498468},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2494\"],\"cd_name_en\":[\"Le Saguenay-et-son-Fjord\"],\"csd_code\":[\"2494240\"],\"csd_name_en\":[\"Saint-Honor\\u00e9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Saguenay-et-son-Fjord\",\"csd_name_fr\":\"Saint-Honor\\u00e9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.23206626721961,48.579463546230606],[-71.24598645836458,48.601757974052965],[-71.26580897504306,48.61482537123674],[-71.42932133956329,48.642056901675595],[-71.43488347901821,48.62807365169382],[-71.45806456539842,48.57320151175473],[-71.36742472037355,48.55660452524957],[-71.37752737527423,48.52912138785557],[-71.3473210174987,48.52328298612509],[-71.36450068431867,48.4814591982929],[-71.31393139621385,48.47436272934294],[-71.2817427060389,48.56719926644354],[-71.23712264722126,48.55984740173165],[-71.23206626721961,48.579463546230606]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.34439929508561,\"lat\":48.574039610412484},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2494\"],\"cd_name_en\":[\"Le Saguenay-et-son-Fjord\"],\"csd_code\":[\"2494255\"],\"csd_name_en\":[\"Saint-Ambroise\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Saguenay-et-son-Fjord\",\"csd_name_fr\":\"Saint-Ambroise\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.1176015846633,48.367831939175105],[-68.9917213680187,48.45786143074825],[-68.9751470054596,48.46967687245916],[-69.13042355540287,48.57909018694573],[-69.2017064642132,48.61713362107489],[-69.34337570551465,48.7110013425901],[-69.38967271328737,48.68116376156235],[-69.33622087089039,48.645935693275405],[-69.4822489857572,48.545929362813276],[-69.34356806224024,48.45335544240289],[-69.15858519629316,48.33820543059938],[-69.1176015846633,48.367831939175105]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.23113592629757,\"lat\":48.51412263976871},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2495\"],\"cd_name_en\":[\"La Haute-C\\u00f4te-Nord\"],\"csd_code\":[\"2495032\"],\"csd_name_en\":[\"Longue-Rive\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Haute-C\\u00f4te-Nord\",\"csd_name_fr\":\"Longue-Rive\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.60251989297024,49.103833385894866],[-67.59975342114777,49.29407917809235],[-67.6221534966434,49.299953311720785],[-67.64453958032001,49.30088203916287],[-67.645485300739,49.31751267380551],[-67.67253781683087,49.31800472201036],[-67.67090385762928,49.40031232004403],[-67.6722294196873,49.443107569615144],[-67.87722243613437,49.443103194572345],[-68.05142495858662,49.44408156237837],[-68.04994705131618,49.3447133492292],[-68.05067288919055,49.294794145222326],[-67.91677849986877,49.04355295474827],[-67.8406812749122,49.07249205513574],[-67.77880835518603,49.091040401146124],[-67.70521597093008,49.10580434700925],[-67.60251989297024,49.103833385894866]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.82783891471618,\"lat\":49.26573171302558},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2496\"],\"cd_name_en\":[\"Manicouagan\"],\"csd_code\":[\"2496015\"],\"csd_name_en\":[\"Franquelin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Manicouagan\",\"csd_name_fr\":\"Franquelin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.07350029744816,49.01994500664048],[-77.05527649772263,49.004206400442],[-77.03500832198257,49.00469985134876],[-77.0259832805696,49.01283748159487],[-77.00991755631068,49.01221506137488],[-76.98056752834621,49.031588786945576],[-76.93740898782232,49.00229669872469],[-76.91513276035901,49.014232541612444],[-76.96138666365309,49.046384102919184],[-76.94797157859628,49.053101750006995],[-76.95094565180787,49.06388148919534],[-76.99579488270561,49.07824131831375],[-77.00483551959721,49.0949114256917],[-77.03647176119374,49.09469156262452],[-77.03630517479915,49.07129683290259],[-77.01614337298375,49.04952703536972],[-77.05728729899334,49.032379435119864],[-77.07350029744816,49.01994500664048]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.99903151056883,\"lat\":49.043128464898295},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499005\"],\"csd_name_en\":[\"Lebel-sur-Qu\\u00e9villon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Lebel-sur-Qu\\u00e9villon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.00000001686496,55.18802949932714],[-66.97934495258741,55.17264506836692],[-66.86211750389175,55.09238975647447],[-66.77876858983657,55.03657547043068],[-66.75641007412199,55.042628119788034],[-66.74735154542243,55.06502401912673],[-66.7924894429459,55.11991077839852],[-66.78498446657538,55.17288723357143],[-66.7643101883949,55.16622440666398],[-66.76468707286836,55.184624705118225],[-66.77910876144476,55.199409395397346],[-66.77413728691455,55.20839506972134],[-66.76501050532441,55.2492969917804],[-66.8339368912708,55.30184172148396],[-66.85027069021871,55.288617577671204],[-66.86448056468831,55.28618187278074],[-66.92729009998888,55.29489680056934],[-66.92805241418336,55.253263588725396],[-66.96844293688207,55.250030945937525],[-67.05726900438465,55.25000001410753],[-67.05811964671292,55.2312156685287],[-67.00000001686496,55.18802949932714]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.87339043603316,\"lat\":55.18825606728176},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499065\"],\"csd_name_en\":[\"Kawawachikamach\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village naskapi\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Kawawachikamach\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.16331473933194,45.577818535101756],[-75.18037895157447,45.578342462273056],[-75.20531642630112,45.58685335162085],[-75.22804022145347,45.58746412821528],[-75.25412789660265,45.580179899807895],[-75.30032717843629,45.558272771819034],[-75.31699439219358,45.54617074480118],[-75.34251440313743,45.536983992126096],[-75.29710470957222,45.45888550765311],[-75.26742215650539,45.40174954398103],[-75.2459327872814,45.364639997240694],[-75.15492189717553,45.3904715026099],[-75.07953950706877,45.410567791383386],[-75.09469251015855,45.442032765020954],[-75.1275256083606,45.50939994047671],[-75.16331473933194,45.577818535101756]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.21085526669773,\"lat\":45.47968744953657},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3502\"],\"cd_name_en\":[\"Prescott and Russell\"],\"csd_code\":[\"3502036\"],\"csd_name_en\":[\"Clarence-Rockland\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City \\/ Cit\\u00e9\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Prescott and Russell\",\"csd_name_fr\":\"Clarence-Rockland\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.65591323932189,44.596114230990295],[-75.66658208578328,44.60125039533155],[-75.69416464448597,44.63502455685969],[-75.73635133491932,44.60757484135453],[-75.70118006957463,44.56412771597124],[-75.65591323932189,44.596114230990295]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.69768956513882,\"lat\":44.59985704054992},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3507\"],\"cd_name_en\":[\"Leeds and Grenville\"],\"csd_code\":[\"3507015\"],\"csd_name_en\":[\"Brockville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Leeds and Grenville\",\"csd_name_fr\":\"Brockville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.62356908141417,45.31547660041252],[-77.69095883045705,45.438119238920805],[-77.8475282873876,45.3956245647745],[-78.02449101689909,45.348616924159366],[-78.17845589821553,45.30978877838771],[-78.07068623899276,45.11203626171796],[-78.03580644362385,45.04862747897143],[-77.91876218333935,45.07935080927471],[-77.9051464628473,45.08191493906206],[-77.76614731685879,45.11894515209381],[-77.70594291028681,45.13623512937621],[-77.78042841360154,45.27366796582445],[-77.63600440493342,45.312476080824226],[-77.62356908141417,45.31547660041252]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.9040595825822,\"lat\":45.246387028579775},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3512\"],\"cd_name_en\":[\"Hastings\"],\"csd_code\":[\"3512076\"],\"csd_name_en\":[\"Hastings Highlands\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Hastings\",\"csd_name_fr\":\"Hastings Highlands\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.22004280992438,43.97092871177111],[-79.04801549020917,44.01076940680671],[-79.12249371188304,44.183301698012315],[-79.15612311782276,44.263121193396216],[-79.32801340670369,44.22330250819186],[-79.27616921135329,44.101266093835974],[-79.22004280992438,43.97092871177111]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.18824353270263,\"lat\":44.11694342815075},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3518\"],\"cd_name_en\":[\"Durham\"],\"csd_code\":[\"3518029\"],\"csd_name_en\":[\"Uxbridge\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Durham\",\"csd_name_fr\":\"Uxbridge\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.20467819885329,43.39751850927369],[-80.07856049031558,43.41806329743717],[-80.08360991603392,43.43526920133242],[-80.03433919445197,43.47105600722617],[-80.16035631045428,43.561107497837995],[-80.16966458240722,43.567682606738416],[-80.18786940605982,43.554198989165414],[-80.20288305964246,43.536811983500996],[-80.15339190248955,43.500526999384626],[-80.18913031429757,43.473821500619096],[-80.20156440456856,43.483004206861374],[-80.22680448953004,43.478257207278084],[-80.23353671191458,43.49645210025299],[-80.24499511212922,43.494408052748746],[-80.25478671518862,43.50515612891963],[-80.30420603048215,43.46858529738929],[-80.29216800151949,43.4431965913177],[-80.2695729697141,43.387342130533085],[-80.20467819885329,43.39751850927369]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.17376452723289,\"lat\":43.462538364973064},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3523\"],\"cd_name_en\":[\"Wellington\"],\"csd_code\":[\"3523001\"],\"csd_name_en\":[\"Puslinch\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Wellington\",\"csd_name_fr\":\"Puslinch\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.11782530626859,42.76035332603414],[-79.1151638416057,42.95965454570859],[-79.16875026592581,42.959594116673806],[-79.22953188237685,42.95903100279355],[-79.24254426078895,42.92303139538869],[-79.24830831883725,42.94543262051552],[-79.28135473534147,42.94546967622018],[-79.27862849457411,42.752709588152854],[-79.23459127277623,42.754281269995325],[-79.14155780935353,42.75128853617847],[-79.11782530626859,42.76035332603414]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.19690870015023,\"lat\":42.854628927930825},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3526\"],\"cd_name_en\":[\"Niagara\"],\"csd_code\":[\"3526011\"],\"csd_name_en\":[\"Port Colborne\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Niagara\",\"csd_name_fr\":\"Port Colborne\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.38617428689125,42.98609476528956],[-79.44503989754176,43.001526559222405],[-79.488015061282,42.99796915758535],[-79.51578335669446,43.00003010536915],[-79.54059095617191,42.9838834541924],[-79.57224734685678,42.99365683960434],[-79.58375075647707,42.98987309155949],[-79.51131948562671,42.96452930490155],[-79.45780366411228,42.899257886338795],[-79.33149849212622,42.75222343948724],[-79.28297106649795,42.75069899009252],[-79.27862849457411,42.752709588152854],[-79.28135473534147,42.94546967622018],[-79.29087910652268,42.966271225827896],[-79.3114214945877,42.97190705103076],[-79.36079410445772,42.968207851619944],[-79.38617428689125,42.98609476528956]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.37578722930841,\"lat\":42.896019547530166},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3526\"],\"cd_name_en\":[\"Niagara\"],\"csd_code\":[\"3526014\"],\"csd_name_en\":[\"Wainfleet\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Niagara\",\"csd_name_fr\":\"Wainfleet\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.7540796342317,43.05053396971242],[-79.98432309550935,43.13200039393085],[-80.00389070748528,43.08876941211575],[-79.97640789333789,43.079704828214275],[-80.04331912368923,42.97936833758705],[-80.05551144715578,42.96339068048808],[-80.08082229075758,42.97274469337932],[-80.13483399137274,42.99251759899677],[-80.1850082019517,43.011092406089354],[-80.14705229628498,42.908243808822256],[-80.17586580472293,42.9038232067166],[-80.17017680262332,42.88667079455049],[-80.17337832021873,42.86686584914703],[-80.16220326215624,42.86867373585257],[-80.13358290851987,42.78953120879209],[-80.1249637418102,42.78920960568841],[-80.08719892536669,42.667799681341926],[-80.05900159230305,42.67053683199963],[-80.05131397520788,42.75114976782937],[-80.0317923424022,42.75897422541383],[-80.00634767840721,42.76040843924978],[-79.90447712600282,42.76027588180101],[-79.61760680380412,42.76424305181626],[-79.50344266546053,42.76865096165965],[-79.43560732670676,42.7689608007572],[-79.40506240476213,42.76522264098734],[-79.33149849212622,42.75222343948724],[-79.45780366411228,42.899257886338795],[-79.51131948562671,42.96452930490155],[-79.58375075647707,42.98987309155949],[-79.7540796342317,43.05053396971242]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.81256208779149,\"lat\":42.894277990238606},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3528\"],\"cd_name_en\":[\"Haldimand-Norfolk\"],\"csd_code\":[\"3528018\"],\"csd_name_en\":[\"Haldimand County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Haldimand-Norfolk\",\"csd_name_fr\":\"Haldimand County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.04331912368923,42.97936833758705],[-79.97640789333789,43.079704828214275],[-80.00389070748528,43.08876941211575],[-80.0586634078782,43.00565809655973],[-80.06974641614597,42.989161488930804],[-80.04331912368923,42.97936833758705]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.02317046044347,\"lat\":43.03440471084567},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3528\"],\"cd_name_en\":[\"Haldimand-Norfolk\"],\"csd_code\":[\"3528037\"],\"csd_name_en\":[\"Six Nations (Part) 40\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Haldimand-Norfolk\",\"csd_name_fr\":\"Six Nations (Part) 40\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.85670990834231,42.83256809166796],[-80.87701438679406,42.82964699670766],[-80.89869379174996,42.91256189707199],[-81.08089705987473,42.88523842403451],[-81.08647312890487,42.877217548912625],[-81.07000792463525,42.80896600680491],[-81.03257371087179,42.814489312388254],[-81.03476431561263,42.702053494269954],[-81.03765370866365,42.59839657135065],[-81.03885528282989,42.52131676508825],[-81.02297867717249,42.521297080684356],[-80.86247097478048,42.514106069865136],[-80.86044842889295,42.642020378949795],[-80.85670990834231,42.83256809166796]],[[-80.980509410365,42.7917266034253],[-80.97119280914015,42.77165980954009],[-80.97803133522252,42.763338914624164],[-80.99835088582192,42.761969993354],[-80.99762133416353,42.78703017608876],[-80.980509410365,42.7917266034253]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.9540860197649,\"lat\":42.712031680995636},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3534\"],\"cd_name_en\":[\"Elgin\"],\"csd_code\":[\"3534010\"],\"csd_name_en\":[\"Malahide\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Elgin\",\"csd_name_fr\":\"Malahide\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.21084976407025,42.74537707216186],[-81.19600407134747,42.75020515254687],[-81.18663087164528,42.74316094518708],[-81.17319755884883,42.74940141060271],[-81.14780071403045,42.74855980716613],[-81.14687822287401,42.79476199207492],[-81.13403062362907,42.80538738670083],[-81.14652059302871,42.81091139282469],[-81.17255484857749,42.809903194933526],[-81.18726913247589,42.79972231328609],[-81.19460223988725,42.786742395791705],[-81.2101779047093,42.790134989090745],[-81.21781343949094,42.79513423315526],[-81.24068436466321,42.78705086504599],[-81.21492963526707,42.766556495068116],[-81.22461723623812,42.76164774931151],[-81.21084976407025,42.74537707216186]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.18210384564078,\"lat\":42.776402067577855},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3534\"],\"cd_name_en\":[\"Elgin\"],\"csd_code\":[\"3534021\"],\"csd_name_en\":[\"St. Thomas\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Elgin\",\"csd_name_fr\":\"St. Thomas\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.79565530797193,42.81224400080182],[-81.79013048447202,42.816215201847015],[-81.78896579314244,42.93134880144377],[-82.00596728825779,42.93029289366757],[-82.00595560933716,42.92882199776878],[-82.00450958412964,42.75657820275807],[-81.83541850330879,42.75735870067046],[-81.83549940900716,42.843273609421715],[-81.79565530797193,42.81224400080182]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.90499763589634,\"lat\":42.848814493873064},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3538\"],\"cd_name_en\":[\"Lambton\"],\"csd_code\":[\"3538015\"],\"csd_name_en\":[\"Brooke-Alvinston\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Lambton\",\"csd_name_fr\":\"Brooke-Alvinston\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.42193015647658,42.98677993981706],[-82.39986169182197,42.98556150510867],[-82.39560730579836,43.00248218855116],[-82.4225819183015,42.999877865346775],[-82.42193015647658,42.98677993981706]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.40946466494485,\"lat\":42.9939172166124},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3538\"],\"cd_name_en\":[\"Lambton\"],\"csd_code\":[\"3538031\"],\"csd_name_en\":[\"Point Edward\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Lambton\",\"csd_name_fr\":\"Point Edward\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.26636219331517,44.41603398946998],[-80.46372608566863,44.372760796035024],[-80.50209528783168,44.537399596659675],[-80.7032812138801,44.49623691342707],[-80.66182550331817,44.33025320775214],[-80.6640066902292,44.32826089785213],[-80.65406239161614,44.32230729158932],[-80.6652252332639,44.31238478153493],[-80.64844205427954,44.30662855459281],[-80.62848519861275,44.30672379373667],[-80.64739311360452,44.28461669588631],[-80.62365390803427,44.17095061099256],[-80.50091339766081,44.19581458903858],[-80.49605959885696,44.193229097283776],[-80.46809190166844,44.21775119160896],[-80.4376448145948,44.20871028933267],[-80.42293451344842,44.20004791160873],[-80.41119190730271,44.21461439969463],[-80.2290779021495,44.253419189993984],[-80.26636219331517,44.41603398946998]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.49103704237669,\"lat\":44.34154067929102},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3542\"],\"cd_name_en\":[\"Grey\"],\"csd_code\":[\"3542015\"],\"csd_name_en\":[\"Grey Highlands\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Grey\",\"csd_name_fr\":\"Grey Highlands\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.76725642463832,45.80638920371319],[-76.77004850060075,45.829738711615626],[-76.76474013835306,45.850985185563914],[-76.77872544559709,45.871352646235806],[-76.80736369522128,45.87726243567564],[-76.8415722348246,45.89039923819892],[-76.86272259560042,45.891823234080135],[-76.8948386007748,45.898146175333615],[-76.92114780510825,45.89422582842495],[-76.92985281173885,45.88783612212535],[-76.92203881851356,45.86976874237292],[-76.90141712603032,45.855051280491864],[-76.91039512545704,45.84728286526499],[-76.92771991897332,45.84503663082155],[-76.91199668388744,45.809670825126226],[-76.91838073603543,45.79837259590243],[-76.93534942273152,45.78908650871266],[-76.98497879698043,45.786077245726254],[-76.99189960690543,45.78901000336356],[-77.05207560308867,45.75326249967294],[-76.97300149550442,45.68755709404604],[-76.83814997341264,45.574818590908066],[-76.78070472666478,45.528850859543056],[-76.72353240817372,45.563401990314006],[-76.67343312520313,45.59170244990107],[-76.67036529715286,45.61405060015071],[-76.66916577364454,45.6237158577681],[-76.68701355413705,45.63527776348163],[-76.69385452456325,45.647873641514614],[-76.71194453958194,45.6654822574895],[-76.7051148249888,45.67588736568094],[-76.6864629983307,45.68701191221917],[-76.69542608722801,45.69896735352633],[-76.69278273782557,45.708651525231545],[-76.7035978128168,45.72080990114452],[-76.74471078896077,45.723147004484765],[-76.76959413776048,45.733499030789275],[-76.77072307223287,45.758160461276105],[-76.7813928209274,45.785282115068085],[-76.76725642463832,45.80638920371319]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.83980714400374,\"lat\":45.714187967439656},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3547\"],\"cd_name_en\":[\"Renfrew\"],\"csd_code\":[\"3547056\"],\"csd_name_en\":[\"Whitewater Region\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Renfrew\",\"csd_name_fr\":\"Whitewater Region\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.9695789477248,45.52648626285643],[-79.98853432295859,45.561559974808205],[-80.03747035329854,45.54682057342043],[-80.15735346235738,45.51542066853648],[-80.11281219127909,45.431069893847514],[-80.13645090225697,45.42487217325927],[-80.12179598183504,45.4005101110419],[-80.10558739445715,45.38372237853789],[-80.10842036870547,45.37098447954473],[-80.0940099980904,45.34343252321527],[-80.06911235486167,45.34481761090323],[-80.0554808860563,45.33622077870445],[-80.07467258640887,45.36028746425517],[-80.0563720194189,45.36790983644075],[-80.02403449224713,45.37395433924483],[-80.01202725661504,45.3624483125786],[-80.00150100004183,45.34278418445572],[-79.88621578333193,45.373888990844264],[-79.90497123564393,45.40832795965378],[-79.9695789477248,45.52648626285643]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.0259151226373,\"lat\":45.44587517478996},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3549\"],\"cd_name_en\":[\"Parry Sound\"],\"csd_code\":[\"3549031\"],\"csd_name_en\":[\"McDougall\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Parry Sound\",\"csd_name_fr\":\"McDougall\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.6599278982603,46.62473175541854],[-80.56457074183447,46.624525590346224],[-80.56559492071234,46.68342906905459],[-80.55693750104936,46.68839468185861],[-80.54881531942084,46.71115644376125],[-80.56377903129894,46.711203557930084],[-80.56656975441744,46.756460889092665],[-80.5640852818615,46.882191654645226],[-80.81997063126819,46.887591515242924],[-80.81792227029152,46.97275970078515],[-80.94814430970513,46.97326613335376],[-80.94888075261922,46.8866925614832],[-81.07476455859364,46.887402104785984],[-81.07317206333951,46.8017756435818],[-81.18474965172818,46.80013402527013],[-81.18344793265108,46.71545704541542],[-81.31214107799076,46.71327579497423],[-81.31225730468996,46.715362756388394],[-81.44462146123432,46.7151024499467],[-81.44394315371466,46.55374433992425],[-81.43908574995767,46.496079267621795],[-81.56824395267397,46.49748127705389],[-81.5678666091145,46.45316800426524],[-81.5670037620384,46.39649824648706],[-81.5972910868681,46.39611413425454],[-81.59748146044032,46.365966168723524],[-81.56710680644301,46.36624593477542],[-81.56625560544633,46.27941576869749],[-81.43635078009258,46.279715665012226],[-81.43594879889301,46.195306264244095],[-81.30688590201592,46.19978037218724],[-81.30741247367129,46.22700294675725],[-81.31888391551969,46.250049528421016],[-81.33325132306912,46.26115747847321],[-81.33330241300247,46.27831396702258],[-81.35713719002968,46.305902318368496],[-81.34609147704525,46.31968771990807],[-81.33533533142935,46.32313412111811],[-81.31905083849317,46.33830725883642],[-81.30859491847468,46.355168894617734],[-81.30212798731023,46.37558713021373],[-81.27086760404985,46.38493623048916],[-81.24779218233141,46.378519717726746],[-81.21604775075862,46.39181053042793],[-81.20600722165031,46.39065722630607],[-81.18227656674276,46.40228927166494],[-81.14283390524739,46.40578304970348],[-81.1311958227616,46.34850182474242],[-81.09494051765374,46.363689145162134],[-81.07767237857851,46.36360425340593],[-81.0822371521702,46.348136805393366],[-81.04588156865815,46.34798556169619],[-81.04629835878532,46.36437493022899],[-81.0204157009836,46.36350380543531],[-80.69295972409874,46.36099067140941],[-80.69274634898089,46.45006302580319],[-80.69254234489583,46.5115393592602],[-80.6940278548714,46.62476813874665],[-80.6599278982603,46.62473175541854]],[[-80.86252992583233,46.778237806592664],[-80.83762038987284,46.79718981973164],[-80.80542451574497,46.77671833576452],[-80.83173610196512,46.75380778891082],[-80.86252992583233,46.778237806592664]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.04364582653993,\"lat\":46.5904310653559},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3553\"],\"cd_name_en\":[\"Greater Sudbury \\/ Grand Sudbury\"],\"csd_code\":[\"3553005\"],\"csd_name_en\":[\"Greater Sudbury \\/ Grand Sudbury\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City \\/ Ville\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Greater Sudbury \\/ Grand Sudbury\",\"csd_name_fr\":\"Greater Sudbury \\/ Grand Sudbury\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-83.95372660336848,46.321666169480785],[-83.96136144241613,46.326329933948415],[-83.96246117115605,46.4167090030801],[-84.07079079727076,46.335550495832244],[-84.10594424092643,46.32197221996487],[-84.07817667040851,46.31665270059276],[-84.06047024433737,46.308026327330104],[-84.03492321483817,46.30539251360897],[-83.99446748632322,46.31659852680673],[-83.95372660336848,46.321666169480785]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-84.0105072383503,\"lat\":46.34701812035417},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3557\"],\"cd_name_en\":[\"Algoma\"],\"csd_code\":[\"3557014\"],\"csd_name_en\":[\"Tarbutt and Tarbutt Additional\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Algoma\",\"csd_name_fr\":\"Tarbutt and Tarbutt Additional\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-85.62672622075414,48.70856112294945],[-85.614613974831,48.698542161355356],[-85.61232840833769,48.70866296300968],[-85.62672622075414,48.70856112294945]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-85.61788953464095,\"lat\":48.705255415771504},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3558\"],\"cd_name_en\":[\"Thunder Bay\"],\"csd_code\":[\"3558060\"],\"csd_name_en\":[\"Pic Mobert North\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Thunder Bay\",\"csd_name_fr\":\"Pic Mobert North\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-86.95884364115952,50.21678246754056],[-86.94702934324914,50.22803179170662],[-86.9648889599883,50.235123424680886],[-86.97725172583384,50.2247065630018],[-86.95884364115952,50.21678246754056]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-86.96200179359407,\"lat\":50.226086839753634},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3558\"],\"cd_name_en\":[\"Thunder Bay\"],\"csd_code\":[\"3558076\"],\"csd_name_en\":[\"Aroland\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian settlement \\/ \\u00c9tablissement indien\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Thunder Bay\",\"csd_name_fr\":\"Aroland\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-93.85156221038116,48.737317097033156],[-93.85224094503788,48.825222504761186],[-93.82838364444262,48.825758171949346],[-93.82810029054396,48.91243852923572],[-93.91267323883721,48.91363109315384],[-94.0954477870793,48.914064064207906],[-94.09477051353714,48.82549459713912],[-94.11794724315092,48.825541992398065],[-94.11781573209885,48.70302342979447],[-94.10298254329184,48.70298179822576],[-94.10281094155494,48.645411107665886],[-94.06585442304916,48.64620639913847],[-94.02955560974324,48.640888906087525],[-94.00694439942178,48.64330559904116],[-93.93987680310768,48.63309952160999],[-93.93943648717789,48.67888729051694],[-93.87779221459803,48.67834306160319],[-93.8764874799799,48.6318235508577],[-93.8502459443626,48.63078643769362],[-93.85130161341046,48.63723589047019],[-93.85156221038116,48.737317097033156]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-93.97709431450161,\"lat\":48.78241068020607},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3559\"],\"cd_name_en\":[\"Rainy River\"],\"csd_code\":[\"3559024\"],\"csd_name_en\":[\"Chapple\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Rainy River\",\"csd_name_fr\":\"Chapple\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-94.0915717496578,50.21826473399269],[-94.11656484312533,50.2044460296785],[-94.11702926918841,50.192524423950736],[-94.10654567087589,50.18082454161905],[-94.08866256201219,50.17542612038005],[-94.05878785558787,50.17912924192982],[-94.05832766722085,50.188730135923265],[-94.07427234863525,50.19821633498429],[-94.0915717496578,50.21826473399269]]],[[[-93.97658406658691,50.204529436932575],[-94.03163257397424,50.20329794010588],[-94.02082704582426,50.18351654348598],[-94.0213101449813,50.162816827029005],[-93.99888714740204,50.16449594345731],[-93.99629555571104,50.1523042308314],[-94.01766316354374,50.15327013499571],[-94.03679816544818,50.177178028691955],[-94.05867723327444,50.15383872101337],[-94.04978854810344,50.139789726012864],[-94.02509235150379,50.14784432788227],[-94.00873777020894,50.14288794142206],[-93.98565585906407,50.14544271830328],[-93.98518564516102,50.164793033087946],[-93.97473964030456,50.166787043449396],[-93.97658406658691,50.204529436932575]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-94.0361492639134,\"lat\":50.17959779240236},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560058\"],\"csd_name_en\":[\"English River 21\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"English River 21\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-96.64627922793979,49.26639127740474],[-96.78000449696373,49.26627644811721],[-96.78102709841158,49.17809170590465],[-96.78601251319373,49.163235592818346],[-96.78630161503065,49.00020549838033],[-96.3820669762787,49.0000805491978],[-96.24739843008139,49.00018185594539],[-96.24724520523571,49.17823000444074],[-96.23921539611484,49.17823359854563],[-96.23959146596486,49.266090352679306],[-96.37447498700178,49.267020193036544],[-96.64627922793979,49.26639127740474]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-96.51433687152374,\"lat\":49.133463639229475},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4601\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4601035\"],\"csd_name_en\":[\"Stuartburn\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Stuartburn\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-95.82091140354905,50.152924238117286],[-95.84394124186025,50.159137540601414],[-95.84397370489863,50.20779198090367],[-95.92749938084656,50.20803084208509],[-95.93143771674163,50.196626583885525],[-95.9585376028019,50.194138044327126],[-95.95851396359166,50.20861333138373],[-96.06333488585041,50.207958184094366],[-96.06321814399973,50.193297923646924],[-96.09761013459867,50.194581243181304],[-96.09780299507084,50.164627511861646],[-96.05880187841439,50.16439977977955],[-96.0489321655185,50.14136903269372],[-96.03206106372298,50.13455658014688],[-95.98799418166912,50.13439351354769],[-95.93626436943228,50.13433762107397],[-95.93099514403275,50.139470140022226],[-95.88853253005651,50.137774114419415],[-95.88850854958001,50.13438111596123],[-95.87273163439532,50.13435663546798],[-95.83963704129982,50.124013439101795],[-95.82085957302503,50.14129844468256],[-95.82091140354905,50.152924238117286]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-95.9548867640002,\"lat\":50.170785660822766},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4601\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4601051\"],\"csd_name_en\":[\"Pinawa\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Local government district\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Pinawa\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.35084566149351,49.353904504545746],[-97.37390015684828,49.361836077892946],[-97.39214201428264,49.35478340968129],[-97.38822804476881,49.340633980977174],[-97.36258638623723,49.33992299380162],[-97.34887343940413,49.35160645148789],[-97.35084566149351,49.353904504545746]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.37223450402732,\"lat\":49.34999064597681},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4603\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4603067\"],\"csd_name_en\":[\"Morris\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Morris\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-100.07245289265835,49.88687948836724],[-100.18926983477937,49.8865951870981],[-100.4625036668279,49.88680726016241],[-100.4628552576168,49.84275687991363],[-100.4627044894836,49.798196502054196],[-100.46277578316655,49.71007700661597],[-100.05276752540733,49.709679847323955],[-100.05271081031287,49.88551328710967],[-100.04913478882982,49.886876901672345],[-100.07245289265835,49.88687948836724]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.257650358112,\"lat\":49.79830126519462},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4607\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4607057\"],\"csd_name_en\":[\"Whitehead\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Whitehead\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.62461818935503,50.41823335037685],[-97.60788358189518,50.41386634562713],[-97.59858072779865,50.403734417440745],[-97.59873466958473,50.32961528535482],[-97.97623954101029,50.32941885405642],[-98.01451624715185,50.30710988371068],[-98.01458661832515,50.24096750558818],[-98.01037298950784,50.24096738921228],[-98.01002908295709,50.06771530945082],[-97.97370341098203,50.066815205425186],[-97.94737052973728,50.076801361221015],[-97.92991580930432,50.08357170655637],[-97.90200959036505,50.08322120009162],[-97.8743362778878,50.077558029255975],[-97.83075080987557,50.07721878820245],[-97.80989650912021,50.0638209044536],[-97.73509119694995,50.06380348850486],[-97.45939770431964,50.06378128970143],[-97.459521016283,50.22899245513022],[-97.46062465897764,50.297354106160974],[-97.4605366555848,50.41877111063992],[-97.62461818935503,50.41823335037685]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.71615255048891,\"lat\":50.21250784032373},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4614\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4614031\"],\"csd_name_en\":[\"Woodlands\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Woodlands\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.26078423914636,50.37416497623803],[-97.24097040945989,50.38891200267685],[-97.2698646282912,50.393287948901616],[-97.26078423914636,50.37416497623803]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.25720642563248,\"lat\":50.385454975938835},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4614\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4614042\"],\"csd_name_en\":[\"Teulon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Teulon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-96.89830634860245,51.20519271743729],[-96.91950534092346,51.196541239888134],[-96.97785155316856,51.18583714520275],[-96.99930636287125,51.201611740589016],[-97.00889696723858,51.21440203242342],[-96.99361835825037,51.23959213944443],[-96.97496697596125,51.25177154307364],[-96.97212324197078,51.261192340939026],[-96.94292697617537,51.282981737236476],[-96.93644494100697,51.29833613280143],[-96.96311655291642,51.30352303584209],[-97.3208237439375,51.30264435114159],[-97.36827137265021,51.303184790367766],[-97.3688050920243,51.22277489509394],[-97.36777433250455,51.17106745249502],[-97.368324414007,51.06773698644017],[-97.39173169269219,51.06775569925659],[-97.39156949266292,51.03825589674025],[-97.46155715080162,51.03830889570362],[-97.4629010855076,50.96459970387765],[-97.46284078173711,50.860645391382626],[-97.36985983191873,50.86124662924947],[-97.18107880359001,50.860487586441636],[-97.11075188005718,50.860862999491026],[-97.11015479277799,50.816577200168815],[-96.94918606306838,50.81665053316778],[-96.94663397586152,50.837768425869285],[-96.95690294540583,50.84980264406622],[-96.97627957406563,50.8578886375168],[-96.99382655770543,50.88259193581993],[-96.99130256936456,50.90011784470448],[-96.96350223929764,50.926406041474856],[-96.949900452606,50.950936841874224],[-96.9335900391809,50.96651874456408],[-96.92818597755357,50.99241493491199],[-96.94586737729719,51.00245423534536],[-96.9628854736854,51.032939223758035],[-96.95759395219764,51.03796423468971],[-96.95995104899819,51.05217033548017],[-96.91958237479025,51.07527814819954],[-96.91963367671892,51.094817742054495],[-96.89977967404475,51.08523962768404],[-96.85902216580872,51.08239103261295],[-96.86485775213005,51.09302493506189],[-96.8575778542638,51.10885093162012],[-96.84338644012338,51.11677424649412],[-96.85288121660382,51.126534645738545],[-96.8977691063418,51.126574092277394],[-96.89830634860245,51.20519271743729]],[[-97.20435665072674,50.905846403645484],[-97.22780501897849,50.90235220715556],[-97.22794288347967,50.91582479854606],[-97.20444928438171,50.91561138796794],[-97.20435665072674,50.905846403645484]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.17101369450104,\"lat\":51.06526848173746},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4618\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4618076\"],\"csd_name_en\":[\"Bifrost-Riverton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Bifrost-Riverton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.1872261779931,52.75485572763377],[-101.26009274111871,52.75504796964456],[-101.26022380272975,52.79839123875019],[-101.30842350267598,52.7982312482365],[-101.30862081983253,52.81267603441385],[-101.42982198473993,52.8126031695175],[-101.42942977735811,52.7979853590506],[-101.52670556907066,52.79822304654909],[-101.52652999982227,52.783397197843556],[-101.62310241338321,52.78363512473178],[-101.62322696081023,52.79809730024587],[-101.67159415186805,52.79813433733384],[-101.6715880414553,52.66726057734758],[-101.63770525871642,52.6672739272763],[-101.63774607378298,52.53532718441983],[-101.63781265104966,52.318149463398925],[-101.60905476166917,52.31815801960636],[-101.20660488673788,52.31854888743732],[-101.20639194685812,52.33286826456468],[-101.15872569626164,52.33282242001594],[-101.15889179114846,52.34739470885243],[-101.13476888823006,52.34737178228506],[-101.13634345233083,52.39171452204449],[-101.11047825828166,52.391792229603034],[-101.11079472517494,52.47840197002895],[-101.09679171290894,52.478468692967034],[-101.08682860025056,52.48751877672646],[-101.08629877840357,52.63842783466127],[-101.1101466660219,52.63840357985808],[-101.11002491807587,52.65308911628671],[-101.13836251811976,52.653103696206266],[-101.13894760984661,52.66772769523274],[-101.16320061682988,52.66760566456172],[-101.16310086601715,52.73308002267933],[-101.18723818958189,52.73314451123053],[-101.1872261779931,52.75485572763377]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.38704077893601,\"lat\":52.55546994488186},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4620\"],\"cd_name_en\":[\"Division No. 20\"],\"csd_code\":[\"4620069\"],\"csd_name_en\":[\"Division No. 20\",\"Unorganized\",\"North Part\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 20\",\"csd_name_fr\":\"Division No. 20, Unorganized, North Part\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.3728348436904,53.79512026296562],[-101.37951792214886,53.79843802307923],[-101.40294072666995,53.7983647754475],[-101.39751697560254,53.79141955448255],[-101.3728348436904,53.79512026296562]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.38935784896141,\"lat\":53.79564655517691},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4621\"],\"cd_name_en\":[\"Division No. 21\"],\"csd_code\":[\"4621039\"],\"csd_name_en\":[\"Opaskwayak Cree Nation 21N\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 21\",\"csd_name_fr\":\"Opaskwayak Cree Nation 21N\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.83114622320029,49.26063267766669],[-105.23435602934822,49.26080459520178],[-105.23443274283018,49.173730933464014],[-105.21117483117591,49.16912641370666],[-105.21133139943825,49.042996309727876],[-105.20814651344351,49.011395251759495],[-105.21159321284549,48.999407299030906],[-104.81099373436977,48.999182923649464],[-104.81125385275958,49.1739092664784],[-104.83117533758266,49.1736801639249],[-104.83114622320029,49.26063267766669]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.01838431279316,\"lat\":49.130313556905534},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4702\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4702018\"],\"csd_name_en\":[\"Happy Valley No. 10\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Happy Valley No. 10\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.63239048032946,49.52273894832755],[-104.0243243913435,49.52276429740813],[-104.02433599051713,49.26058130416863],[-103.88990601531515,49.2605281067366],[-103.62065018345861,49.26074839043603],[-103.62074231195263,49.375685087663236],[-103.61949984097842,49.392415288460214],[-103.62131369568709,49.4926140743552],[-103.62042156657634,49.522695010004526],[-103.63239048032946,49.52273894832755]],[[-103.71041293272452,49.39176719705406],[-103.7104001144565,49.39776030507847],[-103.69908383300522,49.39802842454707],[-103.69882788860643,49.39189081944036],[-103.71041293272452,49.39176719705406]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.82255646414022,\"lat\":49.39167100219387},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4702\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4702033\"],\"csd_name_en\":[\"Lomond No. 37\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Lomond No. 37\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.0583015556089,50.01014200058534],[-105.04518572515869,50.01094124942764],[-105.0453201464141,50.017978235720584],[-105.06628938185804,50.01797180797778],[-105.0583015556089,50.01014200058534]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.05410423181857,\"lat\":50.01452022869022},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4702\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4702062\"],\"csd_name_en\":[\"Avonlea\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Avonlea\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.95854330036933,49.18626019896081],[-105.95482644388609,49.174062445466774],[-105.9309308214001,49.17360552922807],[-105.9363566958296,49.1883042252975],[-105.95854330036933,49.18626019896081]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.94478902852251,\"lat\":49.18052924983877},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4703\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4703009\"],\"csd_name_en\":[\"Rockglen\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Rockglen\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.09119729745672,49.17444430272107],[-108.08927765074397,49.17956179916472],[-108.10103786790215,49.182175095519334],[-108.1018080826116,49.17441564243943],[-108.09119729745672,49.17444430272107]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.09616828027835,\"lat\":49.17776987466153},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4704\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"4704008\"],\"csd_name_en\":[\"Bracken\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Bracken\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.70667796045906,50.836580312223035],[-101.6876340646414,50.83720604856493],[-101.69516604406903,50.8523135553938],[-101.71842370751563,50.85229728447468],[-101.71843046898003,50.83734788450076],[-101.70667796045906,50.836580312223035]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.7047907360684,\"lat\":50.844248495693115},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705048\"],\"csd_name_en\":[\"Langenburg\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Langenburg\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.6215194900625,50.251317896046125],[-103.6100868862719,50.251325694778494],[-103.61010390679033,50.25795649116137],[-103.62185751811633,50.25800926037299],[-103.6215194900625,50.251317896046125]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.61590105254581,\"lat\":50.254667646128695},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706003\"],\"csd_name_en\":[\"Kendal\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Kendal\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.89301449595546,50.309493392320036],[-105.30545218660914,50.30947421251544],[-105.30541120482967,50.22190308849206],[-105.28251968198462,50.22189809967032],[-105.28237168912784,50.04701269710282],[-104.8729696870742,50.04704381437204],[-104.87310861825353,50.2219294083489],[-104.89308430955936,50.22194049321489],[-104.89301449595546,50.309493392320036]],[[-105.26370769446332,50.16342878907986],[-105.27160570569859,50.163440043303545],[-105.27165803078468,50.170664045613016],[-105.25968137613653,50.170717152929335],[-105.26370769446332,50.16342878907986]],[[-104.90708132936922,50.195383895608565],[-104.89587020475784,50.184969805260266],[-104.91855763630487,50.185219749460146],[-104.90708132936922,50.195383895608565]],[[-105.13488389446934,50.28761565133489],[-105.14509181909304,50.30210222363171],[-105.12217829658937,50.30215770816868],[-105.12217195731587,50.28762189669393],[-105.13488389446934,50.28761565133489]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.08491100823662,\"lat\":50.178182941354045},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706016\"],\"csd_name_en\":[\"Redburn No. 130\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Redburn No. 130\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.66982238134304,50.663684654399866],[-107.66623220532256,50.658787806547984],[-107.64913190828196,50.659421288331544],[-107.66264129336952,50.66461505985476],[-107.66982238134304,50.663684654399866]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.66128955302317,\"lat\":50.66134410149762},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707020\"],\"csd_name_en\":[\"Beaver Flat\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Resort village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Beaver Flat\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.00454818914628,50.73220579426049],[-106.0045612802564,50.746729695087964],[-106.02755337758397,50.74677209057471],[-106.0276044039713,50.73226569756763],[-106.00454818914628,50.73220579426049]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.0160645217127,\"lat\":50.739489944608415},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707048\"],\"csd_name_en\":[\"Brownlee\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Brownlee\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.08210006316996,50.679394708463796],[-108.11819270670024,50.674012786378945],[-108.16658880708403,50.67380959116356],[-108.21769571113464,50.66179214504223],[-108.23959631282086,50.66506385362778],[-108.32542673610261,50.70001535846189],[-108.33702842493967,50.72801076829076],[-108.35397519509178,50.74641235256004],[-108.3821888285988,50.77025364690893],[-108.43795637671938,50.794052959669855],[-108.45224787701437,50.82019240032487],[-108.45381109177407,50.84886150373442],[-108.46294653333206,50.870058166119136],[-108.46029353533996,50.879553363659866],[-108.47660116229301,50.898797831765954],[-108.49690811771431,50.90825130090152],[-108.49774378061986,50.81565073227745],[-108.49795943072158,50.57219090643636],[-108.47956466209617,50.57219389714311],[-108.47953789105306,50.31009730209129],[-108.06712442127332,50.310052405958],[-108.06705452104431,50.397380800591925],[-108.06701361207963,50.455671293425596],[-108.08995938393967,50.45556410893665],[-108.0901635088227,50.46325273214586],[-108.0669977188549,50.46316380291053],[-108.06691208951271,50.57218750086056],[-108.08220989695779,50.57218519523408],[-108.08210006316996,50.679394708463796]],[[-108.231273907995,50.52782838997379],[-108.23854416724053,50.535285061858865],[-108.22741047962805,50.535744518467794],[-108.231273907995,50.52782838997379]],[[-108.4630607847318,50.62597570601498],[-108.45160709813743,50.61603818651664],[-108.47469368263391,50.61603748864143],[-108.4630607847318,50.62597570601498]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.29790239724227,\"lat\":50.525036351148536},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4708\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4708031\"],\"csd_name_en\":[\"Riverside No. 168\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Riverside No. 168\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.92834654720468,51.86128530661496],[-101.93526962074212,51.852403107612524],[-101.91990768948972,51.85223711055303],[-101.92834654720468,51.86128530661496]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.92784128581218,\"lat\":51.855308508260165},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709044\"],\"csd_name_en\":[\"Pelly\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Pelly\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.76273920548189,51.696694945230654],[-102.75056568250788,51.69651329449595],[-102.74846998573469,51.70688049598336],[-102.76272619840991,51.70691009020865],[-102.76273920548189,51.696694945230654]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.75609349772539,\"lat\":51.70188360069013},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709053\"],\"csd_name_en\":[\"Buchanan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Buchanan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.66859663983541,51.9674388115759],[-102.68046729094488,51.95373493819757],[-102.65495946890853,51.95584287982368],[-102.66859663983541,51.9674388115759]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.66800779989627,\"lat\":51.95900554319905},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709064\"],\"csd_name_en\":[\"Preeceville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Preeceville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.55778232778843,51.809602184345344],[-103.56023415549153,51.819374739042956],[-103.56640831592166,51.82174419325391],[-103.56545251117244,51.80882751092769],[-103.55778232778843,51.809602184345344]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.56259984849905,\"lat\":51.814633384037045},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710035\"],\"csd_name_en\":[\"Leslie Beach\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Resort village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Leslie Beach\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.9187982925655,51.84498220597085],[-105.91262148820782,51.838169799353395],[-105.90080248255398,51.837964195488915],[-105.90083320708287,51.84531899547887],[-105.9187982925655,51.84498220597085]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.90828442015555,\"lat\":51.841861751089326},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711058\"],\"csd_name_en\":[\"Zelma\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Zelma\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.00429631957829,52.143743706459375],[-105.43229469406462,52.143814692501074],[-105.43120196085317,52.056346460024734],[-105.432323714003,52.02749940946439],[-105.42944950755339,51.99828019870621],[-105.43229889724275,51.96896791255297],[-105.40478751733,51.96902069712571],[-105.40452746833957,51.8815003359275],[-104.98163579846832,51.881512808700805],[-104.98161528640969,51.96900470127757],[-105.00499298153294,51.969023995228],[-105.00429631957829,52.143743706459375]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.20980270988645,\"lat\":52.01295138115234},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711096\"],\"csd_name_en\":[\"Wolverine No. 340\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Wolverine No. 340\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.63247568428442,52.83462189226077],[-109.61875528343587,52.832748357627985],[-109.61918233332034,52.84561781842762],[-109.63247769163961,52.84529679096132],[-109.63247568428442,52.83462189226077]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.6255145119108,\"lat\":52.83953128374102},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713094\"],\"csd_name_en\":[\"Neilburg\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Neilburg\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.02794430829468,52.405769688838745],[-105.17214831367482,52.405458902951025],[-105.45900008189474,52.40552028959988],[-105.45905118865785,52.318339499330655],[-105.43223267713725,52.31833279320395],[-105.43229469406462,52.143814692501074],[-105.00429631957829,52.143743706459375],[-105.004286013799,52.18740370220604],[-105.00428661956856,52.195040224949274],[-105.0040932187236,52.31835919215509],[-105.02718497972495,52.31835619616798],[-105.02794430829468,52.405769688838745]],[[-105.14671360474426,52.18149149977019],[-105.14669493992884,52.19886792846642],[-105.15709836464518,52.20137726012384],[-105.15747953367,52.2164853376405],[-105.09917684071104,52.21639336859518],[-105.08662624554167,52.20926313024149],[-105.08647999652158,52.195125275249865],[-105.09921156988074,52.18733827898755],[-105.13458908712306,52.187307904536496],[-105.14671360474426,52.18149149977019]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.22836675076849,\"lat\":52.27611293041952},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715007\"],\"csd_name_en\":[\"Humboldt No. 370\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Humboldt No. 370\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.97040916561686,52.71063531660181],[-106.00396775259412,52.705668461427706],[-106.06475106050729,52.70620232784004],[-106.06479725327304,52.698374062671896],[-106.11818644669286,52.6981668933295],[-106.11406809999261,52.68040246238563],[-106.12552022747367,52.674763674058106],[-106.12661487630322,52.67085784648986],[-106.1134541445472,52.660919157267614],[-106.1189904209472,52.637563969145475],[-106.1317869258068,52.62561618206802],[-106.14885671476657,52.61901890179547],[-106.14780822408407,52.580215634549795],[-106.14809329760791,52.49307259543569],[-105.89048681271078,52.49296319256803],[-105.75021908486725,52.49290179965481],[-105.74666419330929,52.499322187383086],[-105.74673309362854,52.633046592666425],[-105.74670971961132,52.65428117339439],[-105.74628630893388,52.66706265520222],[-105.77619269994716,52.667038000675774],[-105.7761939811972,52.711076964142286],[-105.97040916561686,52.71063531660181]],[[-106.0281922876063,52.5149341869545],[-106.01927229510838,52.522174904587914],[-106.0161600223362,52.51555837749545],[-106.0281922876063,52.5149341869545]],[[-106.10707321798316,52.66888620206811],[-106.11785517543478,52.668928889737835],[-106.12272507449853,52.67516726034666],[-106.10067920610724,52.67603242946836],[-106.10707321798316,52.66888620206811]],[[-105.93833881984153,52.562082375112894],[-105.91432453131473,52.5653590981829],[-105.91434386756629,52.558519087098],[-105.93833881984153,52.562082375112894]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.94277624002954,\"lat\":52.59716858627386},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715036\"],\"csd_name_en\":[\"Fish Creek No. 402\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Fish Creek No. 402\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.61618570050868,52.92917661081552],[-104.92746221987342,52.92915400175626],[-104.92748410091303,52.93390050206037],[-105.07377737961885,52.93371323494637],[-105.07303265183229,52.801428898760065],[-105.0514551775866,52.80144019398561],[-105.0515407109913,52.66749107491559],[-105.02771475128974,52.66735500606055],[-104.68966558784683,52.66685022639752],[-104.61666206241884,52.66702907274083],[-104.61525969027943,52.7391069463983],[-104.61595847775712,52.84853330519022],[-104.64014539372442,52.856372503178775],[-104.6401289858972,52.874580692926116],[-104.61601619008566,52.8777720090237],[-104.61618570050868,52.92917661081552]],[[-104.8095450717633,52.895815345025824],[-104.81277494225806,52.90323632170419],[-104.79754888101156,52.90337282447265],[-104.79756639558991,52.89597218725387],[-104.8095450717633,52.895815345025824]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.84106967391409,\"lat\":52.800095319809394},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715051\"],\"csd_name_en\":[\"Flett's Springs No. 429\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Flett's Springs No. 429\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.44074336644157,53.13962567682027],[-105.46348014442592,53.12120396677422],[-105.49224037026477,53.124606496211435],[-105.5900836220705,53.12507600738399],[-105.58943356768827,53.06610703724434],[-105.58573648002071,53.051519003631654],[-105.56131544440765,53.058956938878644],[-105.50681070579795,53.058752547188035],[-105.50876059171699,53.05123650349993],[-105.43991380813213,53.05231828562743],[-105.44031457639373,53.06615458713217],[-105.39492088062863,53.06586984420712],[-105.39320673882622,53.13981540600089],[-105.44074336644157,53.13962567682027]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.48957297552512,\"lat\":53.09337386602968},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715847\"],\"csd_name_en\":[\"Muskoday First Nation\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Muskoday First Nation\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.47981553747769,53.10296651303256],[-109.48072317436075,53.09773893097543],[-109.46710181541069,53.09646060504805],[-109.46710429719941,53.10333709349858],[-109.47981553747769,53.10296651303256]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.4733966654322,\"lat\":53.100076219043416},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717019\"],\"csd_name_en\":[\"Waseca\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Waseca\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.1534583667014,54.020587719878364],[-109.15369156663861,54.03038743602599],[-109.16117123085296,54.032254350417574],[-109.1656600680188,54.02159889397857],[-109.15567260656677,54.020449342876525],[-109.1534583667014,54.020587719878364]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.15868707182189,\"lat\":54.02575051184412},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717058\"],\"csd_name_en\":[\"Loon Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Loon Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.10212801596892,54.06873209777195],[-108.1361905119059,54.06326557775782],[-108.12955459657174,54.04647048456141],[-108.13729362996587,54.03666077895607],[-108.10989516954372,54.03574150954681],[-108.0885142731711,54.0406194116797],[-108.08850970196134,54.04970078714971],[-108.06440818999654,54.049770800044364],[-108.06427083286792,54.063362605303425],[-108.10212801596892,54.06873209777195]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.1033859101096,\"lat\":54.05315899800388},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717832\"],\"csd_name_en\":[\"Flying Dust First Nation 105F\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Flying Dust First Nation 105F\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.69179492810458,56.47759511631344],[-108.71863727785741,56.4800742709416],[-108.72708599996099,56.457068379133105],[-108.69250169546146,56.46324635689579],[-108.69179492810458,56.47759511631344]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.70871508538474,\"lat\":56.46913835556544},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718075\"],\"csd_name_en\":[\"Turnor Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Northern hamlet\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Turnor Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.92032158355045,50.58660150234183],[-111.928969915068,50.57209520583383],[-111.92900998813295,50.55016940085276],[-111.90635660766405,50.542910403131465],[-111.883377276965,50.5429722920009],[-111.8405710867526,50.560533791409625],[-111.88961393390237,50.586817616355354],[-111.92032158355045,50.58660150234183]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.89345617217103,\"lat\":50.56413400738219},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4802\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4802034\"],\"csd_name_en\":[\"Brooks\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Brooks\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.67453397014054,51.37241748101165],[-112.70844287773042,51.36416423636038],[-112.71399831248478,51.35522003725301],[-112.7556182784072,51.34375103032488],[-112.78300167847287,51.340277190762166],[-112.78292005621832,51.33205447450849],[-112.82886892926443,51.33108899631233],[-112.88815558897942,51.32191770212213],[-112.88818759944498,51.386963688981766],[-113.07276381152795,51.38695429479523],[-113.38041750926317,51.386938389503825],[-113.3798579427264,51.27036344103142],[-113.37670466636442,51.24186806039813],[-113.49332888210907,51.242056674576276],[-113.4934324937776,51.18337009118809],[-113.5858593841131,51.18351562256423],[-113.5862397780787,51.15423779245622],[-113.6095959744688,51.15425509136099],[-113.60961278115523,51.12517040016679],[-113.63283770939776,51.125153199061906],[-113.6333986205933,50.92205777716436],[-113.60596471552543,50.92149259780422],[-113.60615880559338,50.794706895913954],[-113.56468909783763,50.79524024723843],[-113.53638410986397,50.81029955744504],[-113.51715330265225,50.80160564574976],[-113.49024665781974,50.79884561256574],[-113.44228219277745,50.82418506902253],[-113.42197449414746,50.8316276613639],[-113.38633979653251,50.82003855267818],[-113.34868040182671,50.82792725156107],[-113.35269452241238,50.84336256190952],[-113.33700880543677,50.85424785961692],[-113.31314862624157,50.848274173925695],[-113.2715480304563,50.94876375805262],[-113.23776763895798,50.928778636041976],[-113.17858310677059,50.92195157987926],[-113.12171844402424,50.88451649289058],[-113.08358516925567,50.877595298142616],[-113.06686242061663,50.86691314869606],[-113.00750947958807,50.853476198354834],[-112.95193575632327,50.85348762154179],[-112.89347845367789,50.846211630179134],[-112.83000043030836,50.81551511925569],[-112.80621162589732,50.813149128197836],[-112.78701320413488,50.80634342368994],[-112.73852725736262,50.80419236007369],[-112.70628957808538,50.814639744454865],[-112.6329823954869,50.817005738085626],[-112.61342939372832,50.81301498672381],[-112.6127519869908,50.83413209979334],[-112.63423021936408,50.83412993469263],[-112.63537958484314,50.92120289438278],[-112.51669859406388,50.921348405313914],[-112.51656301469053,51.008733990759914],[-112.37708411098215,51.00889739672976],[-112.3770728795687,51.09607749406494],[-112.23765061276826,51.09607708766976],[-112.23729791945526,51.2133007996145],[-112.24431368385386,51.22714186054548],[-112.26803298147352,51.228576760337766],[-112.27737980665167,51.248063927201464],[-112.2968864887759,51.25192065207049],[-112.30206670328766,51.26529566289974],[-112.32373571110848,51.27378034412977],[-112.36089661273095,51.29630566694123],[-112.41934691403505,51.30823645994829],[-112.45321030939684,51.32346516299722],[-112.4881238459444,51.32158754852014],[-112.4877458206802,51.33384910856665],[-112.51930151625699,51.354498754616394],[-112.53977158060961,51.377370219666794],[-112.57120152682243,51.38627837319501],[-112.63001653602674,51.386645672834206],[-112.63011418845801,51.37236729638984],[-112.67453397014054,51.37241748101165]],[[-112.67474211056305,51.03789240256814],[-112.68305100904007,51.03877870191193],[-112.67910490566203,51.045874123097654],[-112.67082586022534,51.04036672404289],[-112.67474211056305,51.03789240256814]],[[-113.134334814872,51.241552220546374],[-113.13332361738573,51.22771712334972],[-113.14747891081689,51.23664553709774],[-113.134334814872,51.241552220546374]],[[-112.99399322850061,51.10233457365472],[-112.99529106800834,51.118228375236455],[-112.9745255279622,51.11850865167468],[-112.97344837799591,51.10526087946535],[-112.99399322850061,51.10233457365472]],[[-113.42351979999292,51.06693848604278],[-113.4235272844945,51.07427209994839],[-113.36497209754587,51.074235545785356],[-113.3647720064507,51.04909768793621],[-113.35382239786509,51.023264598733675],[-113.36426078375911,51.015125578988936],[-113.38238834147444,51.01724561619778],[-113.40027281412654,51.030934887685135],[-113.42355009180034,51.03102343906964],[-113.44685189385123,51.03780230206408],[-113.44374938612484,51.05921308204758],[-113.42351979999292,51.06693848604278]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.9726538551981,\"lat\":51.1073857448051},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4805\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4805012\"],\"csd_name_en\":[\"Wheatland County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Wheatland County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.39892108143685,52.667905780161874],[-112.59591224405486,52.66806911840248],[-112.59604527794488,52.63764471560217],[-112.67944611816331,52.638150929026104],[-112.67987990613427,52.57970000107655],[-112.78772011040343,52.57979790912075],[-112.77952850560094,52.56549616795015],[-112.80489580805015,52.55538504761494],[-112.8028386167031,52.5457206689875],[-112.81616380450359,52.53223306546104],[-112.78331228103649,52.51781106830527],[-112.78137009421617,52.49210758302332],[-112.932071025501,52.4921406642193],[-112.94061491412394,52.47641016948549],[-112.96290311193924,52.471383853766554],[-112.97337522073232,52.46069096204918],[-113.00652418049549,52.45670975354974],[-112.99722071701763,52.43413376999764],[-113.01025109748252,52.418785125335106],[-113.02796801736972,52.41610778216801],[-113.0278854853711,52.375995662119614],[-113.07566737914456,52.37597499519724],[-113.07567908246548,52.31768250341996],[-113.093215697757,52.31762801466544],[-113.07109790439858,52.300302944404166],[-113.08098657882427,52.29100255039772],[-113.06398628993864,52.280305362650196],[-113.0714130929442,52.26438185600382],[-113.06026909004764,52.253120767518354],[-113.0708922884465,52.23085854891239],[-113.06302740938476,52.20801986538137],[-113.03109722057553,52.19180576433923],[-113.02484099240148,52.17980605168337],[-113.0298004922204,52.12785415906658],[-113.02127488745019,52.10255294928831],[-113.01133179450498,52.08843795215305],[-112.99340351562881,52.07993646840721],[-112.96754639487526,52.05021464810122],[-112.96800530166668,52.04089075143159],[-112.94038848413429,52.018288656088075],[-112.91508240098463,52.003320455510355],[-112.90720410297551,51.98706456925619],[-112.91215029407233,51.96950967805138],[-112.90827169379153,51.96031576754839],[-112.92959690387917,51.949326368803206],[-112.94396058834988,51.93656195957958],[-112.96688520706664,51.9351469448766],[-112.98370187776679,51.9251127545597],[-112.83816988290738,51.92481858052832],[-112.83966870538714,51.91095010859617],[-112.69747241403005,51.91089757238383],[-112.69760790762933,51.881721776776054],[-112.55674703106708,51.88259502181165],[-112.36720377517479,51.881926169022975],[-112.36739488702182,51.86711928007],[-112.27225370175663,51.86715016727572],[-112.27280521403836,51.8527574959273],[-112.20257181084884,51.85300107054696],[-112.15463599077422,51.85271348759173],[-112.1546258200052,51.88181039590782],[-111.98943187802962,51.881795896656676],[-111.99953527694596,51.90315444951634],[-112.01516948483422,51.91147406587658],[-112.00890278620244,51.9249928545632],[-112.01043561391313,51.95522296113654],[-112.003650895683,51.96913968976827],[-112.01989319570602,52.00494796298401],[-112.03819958944172,52.00928985751224],[-112.04039540610681,52.02177565119588],[-112.05967629968204,52.05779396918308],[-112.08512118707118,52.08466226245122],[-112.21932210120356,52.08479169151038],[-112.21922549122142,52.14298931109475],[-112.24316310016738,52.14297561047489],[-112.24324020111034,52.3176609967086],[-112.2602149121319,52.31765199958267],[-112.25994105303087,52.50751792449636],[-112.2864548871627,52.517644552108166],[-112.31877244562354,52.53840478717871],[-112.31932447643857,52.55051614270223],[-112.3311713535382,52.55670317607272],[-112.36142616206303,52.59343855853001],[-112.39234416438812,52.62369774547557],[-112.39542499448366,52.645398555361155],[-112.38537459175119,52.65575289633664],[-112.39892108143685,52.667905780161874]],[[-112.57670107770208,52.590483760393155],[-112.5644914107798,52.588081159034076],[-112.5719164118767,52.57968399245997],[-112.58411374550434,52.57969062516455],[-112.57670107770208,52.590483760393155]],[[-112.81884889208135,52.46876835256922],[-112.80735709594332,52.47757276305318],[-112.79995181463248,52.46672570655401],[-112.81884889208135,52.46876835256922]],[[-112.75613372362592,52.03831770240837],[-112.74335397175612,52.029978668589415],[-112.7670648216224,52.026486399594376],[-112.75613372362592,52.03831770240837]],[[-112.89478159529014,52.4697758701996],[-112.88694899802162,52.46698264952343],[-112.8719741038714,52.448546961508335],[-112.88393899836007,52.448538791502436],[-112.88418318374984,52.45596189224369],[-112.89440078889643,52.46053353755974],[-112.89478159529014,52.4697758701996]],[[-112.7193054631006,52.3038040423061],[-112.74289531172772,52.31760889109054],[-112.76384606471431,52.31756770457084],[-112.76370601039517,52.332243085218565],[-112.68400118315373,52.33220009257251],[-112.6799607585492,52.32018628691826],[-112.69548480842744,52.31038020618446],[-112.7193054631006,52.3038040423061]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.5723783425903,\"lat\":52.22079522027874},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4807\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4807019\"],\"csd_name_en\":[\"Stettler County No. 6\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Stettler County No. 6\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.79233235831494,52.43920261377989],[-111.7806593896758,52.43001841791608],[-111.78024498953614,52.43935647326624],[-111.79233235831494,52.43920261377989]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.78441224584229,\"lat\":52.43619250165407},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4807\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4807032\"],\"csd_name_en\":[\"Alliance\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Alliance\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.16959169694633,52.34452669065706],[-114.16952797667881,52.32648452462342],[-114.27715921868314,52.32680432814435],[-114.27732760034829,52.31930172772165],[-114.32589844015082,52.31365165725835],[-114.31144296709367,52.29005480170408],[-114.3348851607756,52.27554160970346],[-114.4300448150631,52.27525210338879],[-114.42994093702698,52.1297447603034],[-114.57187372307602,52.129967969626016],[-114.57267613188931,52.071943820779104],[-114.50152016954912,52.072158894695946],[-114.50156794286781,51.969827902629845],[-114.49756188707993,51.93974221674399],[-114.4505058145814,51.94065350461054],[-114.45055418329014,51.91149570561067],[-114.19075498551867,51.91145929519394],[-114.19068650716154,51.89693180502486],[-114.16711416899254,51.896760393837575],[-114.16709350430361,51.882381595970244],[-113.83159001929789,51.88178390619598],[-113.83125642884397,51.89673106622297],[-113.71349888165527,51.89631399561637],[-113.64257380074507,51.896471995054355],[-113.64266771224167,51.95450400120237],[-113.47727458485454,51.954859827670234],[-113.48089400208738,51.98307351558621],[-113.2909595190342,51.983138833348846],[-113.29102430327882,51.96888938824882],[-113.17156210682424,51.96878889853188],[-113.12296330288669,51.96772399228108],[-112.91215029407233,51.96950967805138],[-112.90720410297551,51.98706456925619],[-112.91508240098463,52.003320455510355],[-112.94038848413429,52.018288656088075],[-112.96800530166668,52.04089075143159],[-112.96754639487526,52.05021464810122],[-112.99340351562881,52.07993646840721],[-113.01133179450498,52.08843795215305],[-113.02127488745019,52.10255294928831],[-113.0298004922204,52.12785415906658],[-113.02484099240148,52.17980605168337],[-113.03109722057553,52.19180576433923],[-113.06302740938476,52.20801986538137],[-113.0708922884465,52.23085854891239],[-113.06026909004764,52.253120767518354],[-113.0714130929442,52.26438185600382],[-113.06398628993864,52.280305362650196],[-113.08098657882427,52.29100255039772],[-113.07109790439858,52.300302944404166],[-113.093215697757,52.31762801466544],[-113.1127029090111,52.32207876135977],[-113.1595222834656,52.316463858946484],[-113.17896781516122,52.321805157513566],[-113.19671869157793,52.31448466795091],[-113.21602287319901,52.314528153550775],[-113.25354238632535,52.296828971330505],[-113.26032208549512,52.282976071087255],[-113.24908711153448,52.268489364213856],[-113.26933870953536,52.26203454678379],[-113.2782829103683,52.25000004859534],[-113.30983767898267,52.25273185973419],[-113.3204450012269,52.245105971356885],[-113.36431849111489,52.25147256830982],[-113.37792950939651,52.24196344483865],[-113.40703351560659,52.23909476311701],[-113.42754877758772,52.2420197502391],[-113.45633841787979,52.23516245502615],[-113.47955938312826,52.23455495705824],[-113.50104020825246,52.23937595640399],[-113.52077491241252,52.253112257102586],[-113.53775199064162,52.25851975539274],[-113.58587429744792,52.264427848552906],[-113.60130559503908,52.27774586266849],[-113.63160159426343,52.27639956426906],[-113.6706515903924,52.28954717110421],[-113.68124668145596,52.297431857612665],[-113.68603239837186,52.31714635423975],[-113.6960039872096,52.32534726428831],[-113.6893542977525,52.335395662572154],[-113.70925609804823,52.35221586006408],[-113.7240798027853,52.346994557344075],[-113.75718345286697,52.357679808651014],[-113.7954444124859,52.35345283856448],[-113.81487048780892,52.35787810933674],[-113.85134558860423,52.35597836057853],[-113.88070905149952,52.34706379370419],[-113.92452300156329,52.35181697498399],[-113.93902172135743,52.34766454109078],[-114.09741190912086,52.34870419570727],[-114.09961494550453,52.34847787477637],[-114.16966808766765,52.346877865075825],[-114.16959169694633,52.34452669065706]],[[-113.2080017688545,51.99542584523201],[-113.20769722146527,52.00588505144514],[-113.19533372034117,52.00589957619234],[-113.1953572964185,51.98979078937703],[-113.2080017688545,51.99542584523201]],[[-114.03871310264883,51.934276568665965],[-114.01607760524476,51.9390130591222],[-114.01636054069617,51.92607555850465],[-114.0261180356274,51.918677703897785],[-114.04593892239569,51.91832430595596],[-114.03871310264883,51.934276568665965]],[[-113.23455657214525,52.185752516006204],[-113.24304508514592,52.20127169381333],[-113.21546435097902,52.2012102141212],[-113.2049178199689,52.186594148654954],[-113.23455657214525,52.185752516006204]],[[-113.8677969867151,52.160229606593525],[-113.8377105137297,52.16057268488311],[-113.83774862601167,52.12898118426109],[-113.86154579096882,52.12842931073873],[-113.8852191150668,52.12143098298807],[-113.88536650502698,52.150560599745134],[-113.8677969867151,52.160229606593525]],[[-113.97992479373785,52.030417193704714],[-113.98046081547496,52.049743499075284],[-113.901102281168,52.04999342294356],[-113.96714963191408,51.99918286604476],[-113.99203868771141,52.00607966240454],[-113.99058600242125,52.027990894547756],[-113.97992479373785,52.030417193704714]],[[-114.13370836586213,52.32974379640711],[-114.10948255739555,52.317896245880085],[-114.09014208510862,52.31317416244788],[-114.07347999453462,52.323834866159935],[-114.07202489920446,52.326201258404005],[-114.07593987821286,52.335928155206666],[-114.08357360476529,52.34043017250532],[-114.07369723115717,52.341460137924365],[-114.07033189726457,52.32683770149602],[-114.02572152239173,52.3228036764201],[-114.02566945865944,52.31176200375196],[-114.04955689619572,52.31199048843379],[-114.04890873350156,52.297832443164914],[-114.07352987709415,52.29753478825308],[-114.07335429640159,52.28304509752617],[-114.13206048708928,52.28280680330461],[-114.13370836586213,52.32974379640711]],[[-113.85581189836095,52.33179488825237],[-113.85104159437932,52.33777394478457],[-113.7700102561847,52.33969005248151],[-113.7733818277174,52.33160662578335],[-113.76338638839242,52.317624198264824],[-113.74235928218643,52.31765590441599],[-113.73049853793039,52.30330037816048],[-113.73089397544,52.27381763777799],[-113.71874091513634,52.27400308742218],[-113.7187325851253,52.23026560793543],[-113.76617578546794,52.23027319586938],[-113.76624447840265,52.215707993590435],[-113.79009019142784,52.21589644406164],[-113.81392365071578,52.222946018848106],[-113.86423739691806,52.2696945864844],[-113.86092525630268,52.296601579367874],[-113.88548529842687,52.2960093123389],[-113.89739294891734,52.30346798591441],[-113.89729186178538,52.31763566798324],[-113.8649427873569,52.31751879481516],[-113.85581189836095,52.33179488825237]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.78996245147476,\"lat\":52.10672974568649},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4808\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4808001\"],\"csd_name_en\":[\"Red Deer County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Red Deer County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.47591748161373,53.105077596954764],[-113.49979494007772,53.09059324772731],[-113.48984308303555,53.07607309174317],[-113.47610069155964,53.076100184342195],[-113.43962531022196,53.09785769526976],[-113.47591748161373,53.105077596954764]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.4735406193516,\"lat\":53.09090854116862},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811011\"],\"csd_name_en\":[\"Millet\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Millet\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-110.3797138967877,53.92647535559609],[-110.3908135883128,53.94802715427727],[-110.37067026556015,53.95168195710735],[-110.37349013480576,54.01389794878145],[-110.45052581912532,54.01311188515279],[-110.51674648756625,54.013173630772776],[-110.51650564522538,53.89192862023433],[-110.44305058014544,53.89209735379521],[-110.4440459371728,53.9264181112749],[-110.3797138967877,53.92647535559609]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-110.45175809933646,\"lat\":53.96014932768012},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4812\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4812804\"],\"csd_name_en\":[\"Puskiakiwenin 122\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Puskiakiwenin 122\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.36988249213572,53.95724339709708],[-114.37426783979504,53.953631919674194],[-114.36436177760972,53.953526164149885],[-114.36988249213572,53.95724339709708]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.36950403651349,\"lat\":53.954800493640384},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4813\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4813013\"],\"csd_name_en\":[\"Birch Cove\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Birch Cove\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.768234883912,54.44024191091352],[-113.7661758892205,54.43800927705805],[-113.76584888743068,54.43451486264876],[-113.77366703394141,54.43445613124328],[-113.77364506907227,54.43349140378199],[-113.76504168120093,54.4345160985331],[-113.76421450498296,54.43849088452822],[-113.768234883912,54.44024191091352]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.76741176108767,\"lat\":54.436282680287206},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4813\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4813033\"],\"csd_name_en\":[\"Larkspur\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Larkspur\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.57654775995022,54.5000793010258],[-112.80341321258287,54.4998697971309],[-112.80358276951745,54.45607399249946],[-113.10589296448214,54.45661447008332],[-113.10587055002071,54.442179437743235],[-113.15444733739419,54.4422155359183],[-113.15448665287016,54.41338356650296],[-113.22574081478173,54.41336150392376],[-113.22555421120263,54.38486558340089],[-113.25059879919105,54.38500364042258],[-113.25052300427039,54.32677160778679],[-113.30058981643965,54.326746582316034],[-113.30369916550491,54.298913633160424],[-113.30047648761061,54.26860151500499],[-113.3753156043493,54.268426670640274],[-113.37498148574156,54.09384781383272],[-113.3500362029025,54.09389076373075],[-113.347431986287,54.022998691747894],[-113.34768517744016,53.977972578151586],[-113.12500779401536,53.97796878971089],[-112.84373683603856,53.977818314404885],[-112.8456112991751,54.028327355146736],[-112.81636019448003,54.04961555164704],[-112.84010898157487,54.04941258760543],[-112.85080491067677,54.06458779143772],[-112.85075230275659,54.209637990160566],[-112.76330179177778,54.20959200988094],[-112.7633791555538,54.26791039472903],[-112.68801183819359,54.267864312459416],[-112.6886075633189,54.3265205584315],[-112.6010915675709,54.32622823070261],[-112.60086387276976,54.413044454335385],[-112.57689300872899,54.41362015407774],[-112.57654775995022,54.5000793010258]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.01400925073061,\"lat\":54.23640232237468},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4813\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4813036\"],\"csd_name_en\":[\"Thorhild County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Thorhild County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.7577600122599,55.294125907093836],[-114.7880834760776,55.298097096437445],[-114.79635461956528,55.29411096290289],[-114.8041620545756,55.26430762757861],[-114.78481633280671,55.26444543092502],[-114.76858544219907,55.250437009800585],[-114.73420430554405,55.25446709492723],[-114.76177178696156,55.265257704346595],[-114.74587699394822,55.27922262636038],[-114.74601197988162,55.286818804693226],[-114.7577600122599,55.294125907093836]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.77296748229494,\"lat\":55.2755372066223},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817029\"],\"csd_name_en\":[\"Slave Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Slave Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.09796938211078,57.786284157214595],[-117.1144078349689,57.796682214140986],[-117.11905110851964,57.79606547894174],[-117.09796938211078,57.786284157214595]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.11047610853309,\"lat\":57.79301061676578},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817854\"],\"csd_name_en\":[\"Carcajou 187\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian settlement \\/ \\u00c9tablissement indien\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Carcajou 187\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-115.33227907237594,56.500052390892535],[-115.31887324626905,56.523600069370616],[-115.33156949011958,56.53748713986469],[-115.33038771443042,56.560664376485775],[-115.31180141029664,56.58118125935025],[-115.31156946286261,56.59451417526677],[-115.32918634342079,56.59712694639031],[-115.39762592883969,56.596307210028804],[-115.4050522990762,56.574202655685326],[-115.3980403062619,56.55855785875887],[-115.41228447865973,56.5528075732635],[-115.40181235077432,56.54218516563322],[-115.40328802646053,56.52522498721535],[-115.42713451555721,56.50006775489006],[-115.4488356064301,56.47858884602475],[-115.43787861100078,56.46468448806878],[-115.39924458809539,56.482550492398964],[-115.38442889139881,56.484731705992424],[-115.33327070270832,56.48115650927374],[-115.33227907237594,56.500052390892535]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-115.37114488885165,\"lat\":56.53490842856306},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817860\"],\"csd_name_en\":[\"Loon Lake 235\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Loon Lake 235\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-118.62741987917617,55.89811304864895],[-118.7303978062944,55.89795949812754],[-118.73016437457368,55.883235112278754],[-118.74350317195358,55.868602717308924],[-118.78281393413089,55.84812742308369],[-118.88782639746108,55.84856810105695],[-118.90071544731437,55.84034311801192],[-118.92717315849228,55.840817635917944],[-118.94022737743701,55.833802477750886],[-118.9314266858389,55.810545594798405],[-118.93129178782318,55.63591760671736],[-118.62111552089749,55.63596730647293],[-118.62107474401857,55.723025806052824],[-118.46620072330093,55.723011600395566],[-118.46646411237406,55.81059709164692],[-118.47061830613704,55.810531266647324],[-118.47063029005959,55.89790814133509],[-118.62741987917617,55.89811304864895]],[[-118.71560188679503,55.763806768894476],[-118.68552267003857,55.75396477383288],[-118.72122048430022,55.752379398829675],[-118.71560188679503,55.763806768894476]],[[-118.83050371168451,55.773886587145576],[-118.85365719634464,55.77411421032412],[-118.85366649438888,55.78777381674178],[-118.82775385251166,55.78763664413411],[-118.83050371168451,55.773886587145576]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-118.70714222291315,\"lat\":55.76838340512245},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4819\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4819054\"],\"csd_name_en\":[\"Spirit River No. 133\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Spirit River No. 133\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.7179213961459,55.37414999269826],[-119.7436226743055,55.374168796255596],[-119.74358279008082,55.323423703788706],[-119.7178213054511,55.33165988657678],[-119.67717749518994,55.331201345455554],[-119.69182846291585,55.34494932671388],[-119.69234618266208,55.36692240503721],[-119.7179213961459,55.37414999269826]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.71793800784864,\"lat\":55.350235830580154},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4819\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4819815\"],\"csd_name_en\":[\"Horse Lakes 152B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Horse Lakes 152B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-115.03947947246127,49.5287935162618],[-115.08497552534185,49.53170724634261],[-115.08301868979719,49.51149030610742],[-115.07290087410323,49.50927467893075],[-115.08110476630867,49.49172002652898],[-115.07510954136917,49.48134574271034],[-115.06041805652156,49.475808131673055],[-115.03290112666922,49.51275732384154],[-115.03947947246127,49.5287935162618]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-115.06074082736397,\"lat\":49.508018797837316},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5901\"],\"cd_name_en\":[\"East Kootenay\"],\"csd_code\":[\"5901012\"],\"csd_name_en\":[\"Fernie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"East Kootenay\",\"csd_name_fr\":\"Fernie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-115.99459357174032,49.728794423326626],[-116.01656671600972,49.72036842214258],[-116.00979850357322,49.70588085166043],[-116.03006947620544,49.69697851024444],[-116.05146124900465,49.70078630176518],[-116.05766815319983,49.684788982244164],[-116.02869807637506,49.675714566146695],[-116.02782233409025,49.63921638345381],[-116.010845298942,49.632185177507814],[-115.96073229265744,49.63042538999791],[-115.94740431558058,49.622573706985634],[-115.92939740743253,49.62305981730542],[-115.94044146344328,49.63766258352309],[-115.91196396849018,49.641161758204994],[-115.91513648091798,49.66652927718232],[-115.92849344782124,49.66642301261578],[-115.95438922940795,49.68550735174868],[-115.96829858839531,49.68569212447807],[-115.99258233540674,49.708036892615944],[-115.98129646330717,49.72080666841255],[-115.99459357174032,49.728794423326626]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-115.9843146871873,\"lat\":49.667589168958536},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5901\"],\"cd_name_en\":[\"East Kootenay\"],\"csd_code\":[\"5901028\"],\"csd_name_en\":[\"Kimberley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"East Kootenay\",\"csd_name_fr\":\"Kimberley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.66414827652017,49.56174714332863],[-119.68287621615623,49.56146095589571],[-119.69215583390627,49.54912724636413],[-119.71114234349447,49.550168365983374],[-119.71391043666634,49.56666496000129],[-119.7229650215377,49.58048696233023],[-119.74906545159051,49.5857591969503],[-119.74866455397452,49.59824122409602],[-119.76344708561317,49.59850636309394],[-119.75322851505285,49.58358153583338],[-119.75371723531313,49.56595992646352],[-119.77604940168894,49.56583476742979],[-119.7773172823857,49.51491202035272],[-119.76785331630798,49.500769954081754],[-119.74897643116441,49.50060235068347],[-119.74993692416732,49.478960452017866],[-119.73894673611254,49.471470611955276],[-119.73952359798311,49.431750579614686],[-119.72023955525717,49.43149000348493],[-119.7207147278594,49.39524691672112],[-119.69870347874128,49.395108843376924],[-119.69915226240462,49.36073790977617],[-119.67974685789099,49.36633516893115],[-119.6797914017614,49.38072790830908],[-119.60552165752999,49.38097864451603],[-119.60589545542018,49.42316189251665],[-119.61468523184028,49.43942472198343],[-119.59744797511824,49.45242855273945],[-119.6081610878264,49.4546189010638],[-119.59805343984758,49.478796959802324],[-119.61704502719533,49.494715361034864],[-119.61366602324797,49.501305169972014],[-119.63081660626632,49.49028970367069],[-119.63140012323912,49.51379777614022],[-119.61822124347125,49.53098856648749],[-119.64845756531054,49.55395405236246],[-119.66414827652017,49.56174714332863]],[[-119.64860125979193,49.517108649069726],[-119.63693018104013,49.51744466574926],[-119.634015086142,49.5007818897747],[-119.64861575476858,49.50131314927327],[-119.64860125979193,49.517108649069726]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.68522472615005,\"lat\":49.477542771429675},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5907\"],\"cd_name_en\":[\"Okanagan-Similkameen\"],\"csd_code\":[\"5907803\"],\"csd_name_en\":[\"Penticton 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Okanagan-Similkameen\",\"csd_name_fr\":\"Penticton 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.03164607844681,49.30268060586224],[-120.02997724243325,49.322385187837064],[-120.04108664598671,49.322587648293016],[-120.03942879718174,49.34789176135246],[-120.07892647816335,49.34606769682795],[-120.07800491667378,49.38948951797388],[-120.12247731541126,49.3896081046145],[-120.12270608082407,49.36629705639771],[-120.1113169548036,49.35039622322296],[-120.09023096817764,49.34859204101662],[-120.04549287006925,49.31786859041769],[-120.04400647433184,49.302463620727245],[-120.03164607844681,49.30268060586224]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-120.08115605537922,\"lat\":49.355126601897},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5907\"],\"cd_name_en\":[\"Okanagan-Similkameen\"],\"csd_code\":[\"5907807\"],\"csd_name_en\":[\"Chuchuwayha 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Okanagan-Similkameen\",\"csd_name_fr\":\"Chuchuwayha 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.45207956473766,49.85993464358292],[-121.44424155584463,49.878795694996555],[-121.45848264729972,49.87973732373504],[-121.45207956473766,49.85993464358292]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.45160125596067,\"lat\":49.872822554104836},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909806\"],\"csd_name_en\":[\"Kopchitchin 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Kopchitchin 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.89259297306808,49.29043504494676],[-121.88966086977668,49.30844881416271],[-121.92787840290733,49.30950829079152],[-121.92824111827002,49.29506762620783],[-121.93700701976647,49.28042116253082],[-121.91585741274763,49.27717476799758],[-121.89259297306808,49.29043504494676]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.91267928568722,\"lat\":49.29460069030184},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909839\"],\"csd_name_en\":[\"Chehalis 5\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Chehalis 5\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.93522824981306,49.1353406715518],[-121.93726404426964,49.14205656789822],[-121.95310997571295,49.138101000182445],[-121.94060227747427,49.13238666907408],[-121.93522824981306,49.1353406715518]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.94228078205228,\"lat\":49.13730203202021},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909884\"],\"csd_name_en\":[\"Skowkale\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Skowkale\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.0387348477209,49.29545425120079],[-123.03815007534283,49.313266802662206],[-123.054801711635,49.313470711005515],[-123.05302900253311,49.335569506167474],[-123.09137344943113,49.33572950183753],[-123.10204454465945,49.33103598202146],[-123.10247183809373,49.297782379962534],[-123.0387348477209,49.29545425120079]],[[-123.08880730154667,49.31907419736977],[-123.08615863811217,49.31340748161317],[-123.09188230327048,49.31118306136386],[-123.09157750407117,49.319051493456875],[-123.08880730154667,49.31907419736977]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.0733485492206,\"lat\":49.31456163701516},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5915\"],\"cd_name_en\":[\"Greater Vancouver\"],\"csd_code\":[\"5915051\"],\"csd_name_en\":[\"North Vancouver\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Greater Vancouver\",\"csd_name_fr\":\"North Vancouver\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.8017938998879,49.243725481846745],[-122.78627644550434,49.24373354376057],[-122.78680769249522,49.251829702085544],[-122.79680490590405,49.25112690587253],[-122.8017938998879,49.243725481846745]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.79288733314282,\"lat\":49.24731530837347},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5915\"],\"cd_name_en\":[\"Greater Vancouver\"],\"csd_code\":[\"5915804\"],\"csd_name_en\":[\"Coquitlam 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Greater Vancouver\",\"csd_name_fr\":\"Coquitlam 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.87606533365859,48.639016789816154],[-123.89633532057626,48.63679693694545],[-123.90603272531985,48.64532717783776],[-123.93181618987,48.63851064424978],[-123.94642074754113,48.64436476278072],[-124.02264589097673,48.64424255647428],[-124.02310177159454,48.649074195885504],[-124.11365974415955,48.64981610513683],[-124.11376346184962,48.635928159189184],[-124.14217261925623,48.63572586855545],[-124.15520025994162,48.64759899360473],[-124.17479765984159,48.65593120846825],[-124.20030293438552,48.65608942864361],[-124.28005455408457,48.72120522510569],[-124.28083156972525,48.680744763990894],[-124.35685530281941,48.68074967125541],[-124.35683778022727,48.695192376558246],[-124.37998027090669,48.69526751879595],[-124.37811882519713,48.672530659403606],[-124.38281753142626,48.66433749100411],[-124.41369576251462,48.66568575333687],[-124.41268437465112,48.636857335227056],[-124.42134383323724,48.62629340038846],[-124.44731101318439,48.62652472677267],[-124.4472714186996,48.63490763844207],[-124.49018407105999,48.63414158742663],[-124.4879928392359,48.59220129940131],[-124.49858288926463,48.592120307490596],[-124.50066397276544,48.539898071911814],[-124.49948608764566,48.500000668282446],[-124.47162653987888,48.48317078368772],[-124.3795967383732,48.441117958757836],[-124.27629547623133,48.38457929094298],[-124.13203663109952,48.3437907937099],[-124.05513381238336,48.42085158650136],[-124.05146033280887,48.430690283851995],[-124.0148373064394,48.43001488785127],[-124.0151013906086,48.418895695690054],[-123.98167513658511,48.416663755394616],[-123.97134071732562,48.40397532367104],[-123.94008365859852,48.406128315519915],[-123.86562097943855,48.40293689739657],[-123.86626191757216,48.38982306757748],[-123.83737541112443,48.387933859679364],[-123.74494370497614,48.41893861462423],[-123.74744676137686,48.4385619589967],[-123.74160828086606,48.44253244532063],[-123.74618139101601,48.47401685001813],[-123.75065812481378,48.50080607684039],[-123.63622650320553,48.50090714672689],[-123.6403562205046,48.52595408479611],[-123.61683217910503,48.529124972516215],[-123.62747427723883,48.532370504896114],[-123.6346190479667,48.56180109534333],[-123.64568074056436,48.56196971640757],[-123.64757391132602,48.59665326679949],[-123.68820876529901,48.602820961042916],[-123.69289178981678,48.61645395965707],[-123.71459309560444,48.61310551804164],[-123.72261050732139,48.62279550732199],[-123.74566667626831,48.622889683366026],[-123.74444040163989,48.60555938519867],[-123.76573577016815,48.6046065137869],[-123.77132082234895,48.59379756408496],[-123.79028655014964,48.59364964546957],[-123.77948947865157,48.57464299364115],[-123.82103809604432,48.57498020968992],[-123.82079635257338,48.58840091236692],[-123.83105870778597,48.60572320816315],[-123.85360056766139,48.603294384946174],[-123.85320326028277,48.63956733649904],[-123.87606533365859,48.639016789816154]],[[-124.40101956492188,48.567612873268466],[-124.41358724118403,48.57643215866424],[-124.40159906448211,48.58498437002002],[-124.40101956492188,48.567612873268466]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.09919553264234,\"lat\":48.52775164955849},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5917\"],\"cd_name_en\":[\"Capital\"],\"csd_code\":[\"5917056\"],\"csd_name_en\":[\"Juan de Fuca (Part 2)\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Capital\",\"csd_name_fr\":\"Juan de Fuca (Part 2)\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.51744554513553,49.46982078518735],[-124.75630832167967,49.470249737922124],[-124.75675572749353,49.44062403476868],[-124.73345424565458,49.439579451485024],[-124.73357320238365,49.40474425028296],[-124.82314066031182,49.40489815367689],[-124.82324564742503,49.419430618841886],[-124.85656044438726,49.419623188460676],[-124.85934462145121,49.43308701309076],[-124.90335082349341,49.43240278586118],[-124.91238544845457,49.427953796500425],[-124.96813235767269,49.43338667776203],[-124.95339618866328,49.427178942189464],[-124.92954694835805,49.409596904683724],[-124.92322292707716,49.394423234835514],[-124.90054631841174,49.38716146307414],[-124.89991918445234,49.379537756242414],[-124.87271494460019,49.37782683586838],[-124.8635423810163,49.35939171501222],[-124.82777017027131,49.344868189273136],[-124.80932973176417,49.32794850058181],[-124.78389194508944,49.32545619777519],[-124.77406874484622,49.31642940679142],[-124.77428372799505,49.298687046862504],[-124.74726258284011,49.28969772317144],[-124.74749300797109,49.275513405302725],[-124.71501556193964,49.275160966309244],[-124.70545371093546,49.278851080601115],[-124.68771813337932,49.2678069242181],[-124.68176096374877,49.29989371156671],[-124.69453745929563,49.30731451777353],[-124.69440712266173,49.32161050482123],[-124.67229329177938,49.31327791665675],[-124.6725772744756,49.29981786621296],[-124.6561172480999,49.30141481669592],[-124.66129405923468,49.32130090368325],[-124.62020781778112,49.338005346498065],[-124.62009550126486,49.32705855319391],[-124.60986365359796,49.312341899908326],[-124.58359213989584,49.31145899424305],[-124.56703779123337,49.32654572717508],[-124.56638798027839,49.34648982433963],[-124.54175183605794,49.34215023978562],[-124.53556968576447,49.35901760968069],[-124.53626512755795,49.40549296751682],[-124.51585067026278,49.43434328558474],[-124.51744554513553,49.46982078518735]],[[-124.61043165275186,49.39857555492097],[-124.62031598835871,49.39434735483617],[-124.61986599401443,49.40283372172441],[-124.61043165275186,49.39857555492097]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.69523331458899,\"lat\":49.38644808071373},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5921\"],\"cd_name_en\":[\"Nanaimo\"],\"csd_code\":[\"5921036\"],\"csd_name_en\":[\"Nanaimo H\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Nanaimo\",\"csd_name_fr\":\"Nanaimo H\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.85010809386905,49.09375787537889],[-125.86028865944488,49.112151829615925],[-125.8534202086692,49.12468031040389],[-125.88187387031108,49.12408081169844],[-125.88702004590749,49.14872975509742],[-125.88034539069304,49.16177055746253],[-125.89595140119842,49.16673005426764],[-125.924346912935,49.15543235755333],[-125.9250835167055,49.149445888737056],[-125.90530665892894,49.12149882521164],[-125.87537456281073,49.09821779629698],[-125.85010809386905,49.09375787537889]],[[-125.89642199722996,49.12878799608914],[-125.89904303116967,49.128793033536],[-125.90294906600087,49.132033655007106],[-125.8945741256882,49.13204099319603],[-125.89642199722996,49.12878799608914]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.88973567215449,\"lat\":49.13121090783501},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5923\"],\"cd_name_en\":[\"Alberni-Clayoquot\"],\"csd_code\":[\"5923025\"],\"csd_name_en\":[\"Tofino\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Alberni-Clayoquot\",\"csd_name_fr\":\"Tofino\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.74113128368451,49.52248126499058],[-125.75613022294095,49.51369467328662],[-125.78460620813631,49.539842068734735],[-125.8075057181116,49.539387148167556],[-125.83631690563223,49.544239561018166],[-125.8886072115523,49.546963114330225],[-125.90287681966097,49.55852622343282],[-125.94669063811536,49.57084862852397],[-125.95419599187998,49.58123366160454],[-125.9696933407371,49.58488365171527],[-126.01170715357028,49.570263958426786],[-126.02564849762909,49.57673110942258],[-126.04356918721496,49.567839806642276],[-126.04638023661902,49.558949917272855],[-126.06414842047928,49.551227044415825],[-126.08234347211972,49.55714080127538],[-126.09428426557584,49.56913028529872],[-126.12253283250392,49.56539633229428],[-126.14574187783043,49.57236345167554],[-126.17886221955088,49.56796251317819],[-126.17448223742362,49.555013608458516],[-126.2068254679475,49.55122724209362],[-126.22121505332495,49.55972082178256],[-126.24906143520599,49.5549962881483],[-126.26021998402327,49.57362985242021],[-126.28390867604352,49.57417924564712],[-126.31821749481865,49.6042348068256],[-126.33465441626323,49.605887586965956],[-126.3466283182865,49.59876929818044],[-126.35439588305742,49.57815503472688],[-126.37692682604687,49.56925664557555],[-126.38318690132174,49.56072532217726],[-126.40399392092912,49.570015545462944],[-126.43442922041345,49.57806364903819],[-126.45852299439841,49.577148722699945],[-126.47418448951039,49.5703161984031],[-126.5065359722319,49.54037662639184],[-126.55891808391095,49.541483293451904],[-126.61445839254172,49.54044589057454],[-126.60723789506814,49.52799462645745],[-126.61754254043034,49.45693574411567],[-126.62861990612717,49.39960369808423],[-126.61300316706894,49.36658653132719],[-126.5939956697935,49.34799432135813],[-126.5726768436176,49.33765226075463],[-126.50815324915757,49.319587007790375],[-126.3735489015212,49.290041847414365],[-126.29740526453143,49.26853974344433],[-126.2514774890789,49.251020348360264],[-126.17479010174749,49.18495330374],[-126.08930059516452,49.122702159620175],[-125.96759890524592,49.04456841024046],[-125.92352370694452,49.00640675679802],[-125.85829422756693,48.961967748225405],[-125.79977521124393,48.92564213823813],[-125.75088769700281,48.9012692924989],[-125.62783889463756,48.84915374563694],[-125.50029762479022,48.80805018938237],[-125.37476050317815,48.74765396873713],[-125.20853287118383,48.87730731750128],[-125.10520427920969,48.95397333431562],[-125.11457899747201,49.01669427861998],[-125.12586807879697,49.03329974309179],[-125.13892221359158,49.04290592658896],[-125.14142093102379,49.05386803235064],[-125.1057637493421,49.0541055039019],[-125.10407088670868,49.0739372382071],[-125.10971711050252,49.09618408410365],[-125.1284763162866,49.09725664087406],[-125.13944009318516,49.11481408894842],[-125.15799959296174,49.116381845102175],[-125.21262066428709,49.14631393949125],[-125.21053095094807,49.16119551898949],[-125.23176685607005,49.179503695430654],[-125.22727625959126,49.19296498535826],[-125.24696638348323,49.19839979231688],[-125.27608443730642,49.1979489593495],[-125.28667008892393,49.21220726077434],[-125.29558042771676,49.2407028553236],[-125.32159742084434,49.24981226569219],[-125.3284223833516,49.263323278002666],[-125.34786852781208,49.270274087003614],[-125.354632007659,49.28533075566635],[-125.38855787724579,49.29518330236999],[-125.38660848541089,49.30064063183578],[-125.43069903423584,49.30740341157012],[-125.46209447838496,49.30364518699333],[-125.49334863501409,49.31189773015772],[-125.55756519720484,49.33348489801653],[-125.54149797647439,49.36065341945953],[-125.54889267697612,49.37444765891582],[-125.5718647578931,49.38336769002368],[-125.57114978761214,49.39821575182901],[-125.58056191636948,49.41046413149975],[-125.59953509138433,49.4183992179174],[-125.5772654197621,49.43323860512323],[-125.5560878883222,49.439324860438795],[-125.58932974999342,49.46301104059943],[-125.5660239266325,49.476188324843626],[-125.56703415860397,49.498249741140064],[-125.58472184133632,49.496408055541565],[-125.632656122532,49.4981135579628],[-125.63462351442483,49.511403190038784],[-125.70454224779087,49.5128357959644],[-125.71607442632275,49.5206410023098],[-125.74113128368451,49.52248126499058]],[[-125.78389028996062,49.07183900283953],[-125.78137491079153,49.0726689177576],[-125.77775649765337,49.0719649179888],[-125.78254904521671,49.07049465426369],[-125.78389028996062,49.07183900283953]],[[-125.5741208675747,48.97638716829603],[-125.57741136443428,48.978754949712],[-125.57357466554535,48.98068240238069],[-125.5741208675747,48.97638716829603]],[[-126.27317106756134,49.36288720438151],[-126.27359233850568,49.368962544524514],[-126.27185912671474,49.36963136269162],[-126.26966494829291,49.36425347425819],[-126.27317106756134,49.36288720438151]],[[-125.38490573118152,48.989310443422895],[-125.38521101082944,48.99764205860549],[-125.36970010924838,48.997606400892316],[-125.38159745641015,48.99287665440891],[-125.38490573118152,48.989310443422895]],[[-125.52997843812386,48.937309777176985],[-125.53477214284918,48.94419280333014],[-125.52165207891426,48.9442604696049],[-125.52159254377534,48.93491081314449],[-125.52997843812386,48.937309777176985]],[[-125.916637252618,49.17348205370327],[-125.91864129963025,49.17938104826073],[-125.90199168759858,49.17910981999094],[-125.90633273935413,49.17281557614058],[-125.916637252618,49.17348205370327]],[[-126.47167980570416,49.387269974868495],[-126.47889623786396,49.38715897696489],[-126.47930545135983,49.40273374180896],[-126.46365057180833,49.39218366931349],[-126.47167980570416,49.387269974868495]],[[-126.06482565851559,49.278342670952],[-126.05782553456383,49.2821378554438],[-126.04702614497303,49.27048075742579],[-126.05770546577473,49.26654730442531],[-126.06482565851559,49.278342670952]],[[-125.55231313046346,48.92885020662669],[-125.55928146937174,48.93575477173418],[-125.58629119184165,48.945366736334734],[-125.59627790707178,48.955525212454674],[-125.58276860681634,48.964031066417455],[-125.5654843921048,48.958532812761185],[-125.52515154974533,48.931128334064184],[-125.52371034543299,48.92130481145511],[-125.54532411037266,48.921403515935],[-125.55231313046346,48.92885020662669]],[[-125.85010809386905,49.09375787537889],[-125.87537456281073,49.09821779629698],[-125.90530665892894,49.12149882521164],[-125.9250835167055,49.149445888737056],[-125.924346912935,49.15543235755333],[-125.89595140119842,49.16673005426764],[-125.88034539069304,49.16177055746253],[-125.88702004590749,49.14872975509742],[-125.88187387031108,49.12408081169844],[-125.8534202086692,49.12468031040389],[-125.86028865944488,49.112151829615925],[-125.85010809386905,49.09375787537889]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.80799065303158,\"lat\":49.22362779322102},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5923\"],\"cd_name_en\":[\"Alberni-Clayoquot\"],\"csd_code\":[\"5923049\"],\"csd_name_en\":[\"Alberni-Clayoquot C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Alberni-Clayoquot\",\"csd_name_fr\":\"Alberni-Clayoquot C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.83112291948743,50.76570564333277],[-121.82752598108065,50.78219646351682],[-121.83453072870347,50.789070632208386],[-121.85601582238914,50.78943620152741],[-121.83589596308636,50.76569152149898],[-121.83112291948743,50.76570564333277]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.83886012137339,\"lat\":50.77978230908091},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5931\"],\"cd_name_en\":[\"Squamish-Lillooet\"],\"csd_code\":[\"5931817\"],\"csd_name_en\":[\"Fountain 3\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Squamish-Lillooet\",\"csd_name_fr\":\"Fountain 3\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.83350524578135,50.70420403646527],[-121.83298900976712,50.70829406856144],[-121.83984428829216,50.70867346280514],[-121.84026118464384,50.704609653544175],[-121.83350524578135,50.70420403646527]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.83664496967874,\"lat\":50.70644982847354},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5931\"],\"cd_name_en\":[\"Squamish-Lillooet\"],\"csd_code\":[\"5931822\"],\"csd_name_en\":[\"Fountain Creek 8\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Squamish-Lillooet\",\"csd_name_fr\":\"Fountain Creek 8\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.86093785712895,50.742540676223555],[-121.86838240513212,50.74352180134918],[-121.87117228497762,50.74214758596765],[-121.86093785712895,50.742540676223555]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.86683084907955,\"lat\":50.7427366878468},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5931\"],\"cd_name_en\":[\"Squamish-Lillooet\"],\"csd_code\":[\"5931825\"],\"csd_name_en\":[\"Fountain 1D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Squamish-Lillooet\",\"csd_name_fr\":\"Fountain 1D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.49097589954651,50.55330996811883],[-122.4912867379096,50.54191116075179],[-122.46601021129258,50.542250227220094],[-122.46780524997546,50.54863026733483],[-122.49097589954651,50.55330996811883]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.48020446081672,\"lat\":50.5465543576137},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5931\"],\"cd_name_en\":[\"Squamish-Lillooet\"],\"csd_code\":[\"5931844\"],\"csd_name_en\":[\"Nequatque\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Squamish-Lillooet\",\"csd_name_fr\":\"Nequatque\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.15976853549104,51.339547868011],[-120.16928821204927,51.32256275780476],[-120.15312811606394,51.312537771611105],[-120.15662402042105,51.29732297722816],[-120.17039632608784,51.2931414646135],[-120.15422333073347,51.27607376780567],[-120.1579019115688,51.265244061596235],[-120.1730975055815,51.25406256265205],[-120.15822701328631,51.2416353856328],[-120.14390235965482,51.24306319806318],[-120.14387884679402,51.269580432771356],[-120.15238812263514,51.30459778797997],[-120.15246539824076,51.3400054279906],[-120.15976853549104,51.339547868011]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-120.15564415587698,\"lat\":51.28207686296599},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933887\"],\"csd_name_en\":[\"North Thompson 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"North Thompson 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.55598529381004,50.1053168602681],[-121.55265490447441,50.1053539987006],[-121.55304679549316,50.11089725166585],[-121.55606081105033,50.1107951573242],[-121.55598529381004,50.1053168602681]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.5544315818068,\"lat\":50.10804553302955},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933896\"],\"csd_name_en\":[\"Nekliptum 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Nekliptum 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.31139258843261,50.46137973884435],[-121.30360710880646,50.46824094427042],[-121.31281911290537,50.47230970686555],[-121.32006505592564,50.46572441523807],[-121.31139258843261,50.46137973884435]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.31192188019286,\"lat\":50.46690508900508},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933899\"],\"csd_name_en\":[\"Entlqwekkinh 19\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Entlqwekkinh 19\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.59633863430096,49.85665697727252],[-119.60028331358285,49.847837514326955],[-119.62519415799193,49.84792860286144],[-119.62539429219773,49.83138719084698],[-119.58876549118048,49.831095787251485],[-119.59633863430096,49.85665697727252]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.60765603378302,\"lat\":49.839904090388686},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5935\"],\"cd_name_en\":[\"Central Okanagan\"],\"csd_code\":[\"5935802\"],\"csd_name_en\":[\"Tsinstikeptum 9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Central Okanagan\",\"csd_name_fr\":\"Tsinstikeptum 9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.31730287210712,52.19404201548251],[-117.32716261631559,52.18994816171266],[-117.33403622995279,52.14864145776575],[-117.38125574043181,52.13772407759406],[-117.50017801526667,52.1442736720973],[-117.50990292581155,52.15781219523599],[-117.52311532294216,52.15824608991329],[-117.61126381283381,52.14425889856054],[-117.62934759471491,52.1747642091423],[-117.66352952334486,52.19789299233723],[-117.7432078576629,52.1939923136207],[-117.74134637875814,52.20299738708301],[-117.81831749566786,52.226354813822496],[-117.82220308552473,52.24640841059131],[-117.83957806474518,52.274127445903936],[-117.79606075162526,52.29250684880189],[-117.77799464538333,52.318930376250584],[-117.75287839938595,52.316423609757386],[-117.72298605757311,52.35558131379601],[-117.70579503120742,52.3653448745019],[-117.72982531825024,52.38232722197169],[-117.76649799083394,52.417692152543154],[-117.83974618078693,52.421116416169234],[-117.88693304606988,52.426091585568685],[-117.96679241620095,52.469708726981956],[-117.9879849034058,52.50023848971107],[-118.00345622827663,52.49257209939747],[-118.02181794371258,52.472301273462534],[-118.02112887880766,52.45552865145385],[-118.04207277378535,52.45897855322572],[-118.052899059003,52.44956354099687],[-118.03036292672128,52.438077475881386],[-118.04072404183684,52.418477598706595],[-118.04416878304134,52.3984593604873],[-118.13804609686925,52.407497505511124],[-118.18206655842228,52.382797786275475],[-118.18008626750758,52.372598316925824],[-118.21277316802475,52.3703414530341],[-118.22601544486646,52.38028948983244],[-118.23994295722726,52.37486860847035],[-118.25420275558695,52.347971552243564],[-118.28975577098262,52.33895049731478],[-118.31710963352782,52.36777840841181],[-118.35364733518178,52.36605482322305],[-118.37994052340929,52.349979521923466],[-118.39524391856708,52.334845826716084],[-118.42596366493666,52.336128740370185],[-118.44035321568619,52.32466716333724],[-118.49312467464128,52.312498632154536],[-118.48916148051326,52.2991272925891],[-118.50156617668566,52.281673122784596],[-118.54052473561096,52.27299510773035],[-118.52652486877892,52.26166414157744],[-118.4644054509403,52.22401868987265],[-118.4784823411374,52.21178046620319],[-118.45349806269013,52.1864814099681],[-118.45648531933169,52.16735335849516],[-118.44552927360154,52.15213435566779],[-118.4449121044877,52.12757279665755],[-118.43900939157471,52.090817673240146],[-118.44034518482613,52.075015097941815],[-118.45589420511169,52.06323014606937],[-118.39724626156811,52.02936225856538],[-118.39160846774539,52.013614372186304],[-118.39805694055102,52.0014706414885],[-118.39232923922866,51.97992214672753],[-118.36080183113296,51.980264781765804],[-118.35697639300606,51.99193123874525],[-118.33067716722233,51.99252772610598],[-118.28579821299701,51.98270977327012],[-118.27529694515184,51.964659225707166],[-118.26154389085373,51.96413135067283],[-118.21864778524909,51.975185121544165],[-118.19552238410735,51.96370668714153],[-118.19462034210206,51.95142585381595],[-118.17436360763372,51.9372055550288],[-118.16830719572533,51.91792071146595],[-118.17504180119107,51.907282792944464],[-118.15619070583597,51.89815892753634],[-118.12556943537726,51.894317755728174],[-118.12404190319471,51.88908177089663],[-118.1487285168109,51.863474270191155],[-118.13982951645553,51.85541210467555],[-118.15124484590514,51.827446120596996],[-118.17643500695776,51.81219364300755],[-118.17596892092527,51.80294945348348],[-118.1898428349104,51.79146531850443],[-118.16079218015359,51.7799111669364],[-118.13035379235853,51.778971483115285],[-118.12128882303438,51.74515307820205],[-118.12554634726746,51.72390210199941],[-118.11208948439356,51.710157916734865],[-118.09467930156971,51.70437944793061],[-118.07482354364627,51.7255731614868],[-118.02449547369453,51.72534791983611],[-118.01368407577134,51.74467829131538],[-117.98165496290135,51.73950047794297],[-117.95849773165612,51.72564250079606],[-117.92681298808273,51.72367066176858],[-117.92307543449218,51.70158995739971],[-117.94091426269912,51.68340720019753],[-117.93072834889348,51.66516514620893],[-117.94112578825519,51.648199888544646],[-117.97371141676516,51.639326388870884],[-117.9865473148539,51.60754278878732],[-117.98135533089498,51.59258211844316],[-117.99011641923533,51.58005460401292],[-117.98139829223348,51.57457541886958],[-117.93944431281051,51.530941643038105],[-117.95991036617839,51.51020883370732],[-117.97725031015625,51.50979936893631],[-117.98858038800034,51.499876269539975],[-117.97092459831106,51.47717332870423],[-117.93003994395343,51.451907732367566],[-117.92285774600161,51.453196021796785],[-117.91188621801503,51.42651544760982],[-117.89208597278399,51.42605824163287],[-117.86522983336073,51.401779547664155],[-117.85881918591576,51.390423055307785],[-117.83506871799881,51.387575620926526],[-117.83969550413121,51.37159378774063],[-117.82869990163024,51.36366261403621],[-117.80393185388142,51.356364736143604],[-117.80492289297797,51.34519047360745],[-117.76854380417296,51.34184086509545],[-117.76817852822695,51.32994658781052],[-117.75451119274175,51.32019382215057],[-117.73055826410254,51.31484888394787],[-117.74584463936378,51.30254084940718],[-117.74613703671166,51.2873829061436],[-117.72211237283302,51.274525065632794],[-117.75572837483013,51.2527102024788],[-117.72841481802347,51.24156741652155],[-117.7197943793269,51.22773424327712],[-117.7077176951842,51.18133380828237],[-117.69487911913374,51.17991790524446],[-117.67106064907983,51.167155019093485],[-117.68008148751572,51.14715726720216],[-117.66970002885517,51.1291379360082],[-117.67930467997074,51.10916357407171],[-117.71517955653424,51.08517043188039],[-117.70841639646467,51.07450725116248],[-117.6807990042732,51.076753260766914],[-117.64821698566031,51.06890196524722],[-117.54546576484077,51.09029623674657],[-117.52151374287139,51.06774523574205],[-117.50431832152893,51.06013551830107],[-117.47806424104962,51.057267902023725],[-117.45271176130838,51.074401934828884],[-117.45743834516422,51.10464498998474],[-117.40435479412484,51.11106038027494],[-117.38020130394315,51.10376999401569],[-117.37451066689674,51.09254893432627],[-117.38377516876098,51.074726660105206],[-117.37155090156553,51.05968967037688],[-117.35357020902315,51.054262139153096],[-117.34750007263523,51.03888147326959],[-117.31505258298036,51.037734788230225],[-117.30431168913111,51.05132404616443],[-117.22434662963552,51.05925718683958],[-117.2106729919337,51.06606348195942],[-117.19874727583887,51.05505096680643],[-117.16266673281733,51.04434595993693],[-117.16382666240814,51.02632239047943],[-117.13788284412286,51.0280132335727],[-117.13012918715569,51.01810490291363],[-117.138960272098,51.00508587934443],[-117.16534805277503,50.99161617032875],[-117.15522956539338,50.97584782625118],[-117.14349103874238,50.97272600965975],[-117.12235995212625,50.97773805493037],[-117.1088419352209,50.96754775997381],[-117.07030021209921,50.97027262652572],[-117.03310904908659,50.95809191738724],[-117.06896026836749,50.920149224688295],[-117.06340375998089,50.90983830419718],[-117.08360744551776,50.86556471864124],[-117.06465541650053,50.853228574706776],[-117.04375576014456,50.85876962765081],[-117.04971399767169,50.832115027572726],[-117.0381128605259,50.815003634393015],[-117.01945624019498,50.8190706643845],[-116.98694570790272,50.80873579465825],[-116.96425748118241,50.810290576881826],[-116.93539986968372,50.79841440484183],[-116.92144757779455,50.7735849152994],[-116.88027467361194,50.77014606708056],[-116.86108138490593,50.75668523642661],[-116.83701073886964,50.76145302431884],[-116.82095866705585,50.736134202537905],[-116.8095606536967,50.72658601510529],[-116.79654643996021,50.729302739875216],[-116.78997463351696,50.745529339894205],[-116.77520217542735,50.75115992332258],[-116.77195356746861,50.766737958770676],[-116.74535170313752,50.77129568884785],[-116.74807793921056,50.79617446906271],[-116.73763347873602,50.81323181050923],[-116.74588396532083,50.81621239659339],[-116.76398757191296,50.847311383156544],[-116.72320610936072,50.85401706866981],[-116.73346219408349,50.87637915496985],[-116.71315571191617,50.8801012034088],[-116.69247513362679,50.890257672138645],[-116.67215888172261,50.88978323196004],[-116.640245919691,50.90845475144825],[-116.62872660508808,50.920674279073076],[-116.53571241534496,50.92097309188314],[-116.53538045949412,50.935136723132025],[-116.49972248481899,50.934927566965364],[-116.48818534014208,50.940516922561876],[-116.44365167312218,50.93519713756101],[-116.44436274062882,50.94982226762956],[-116.3183234808001,50.94907748264877],[-116.33703893109545,50.97547700539157],[-116.38077241792601,50.99923780764513],[-116.3845892058248,51.01186562990038],[-116.40361014451777,51.020109292971554],[-116.41847237086908,51.03658640396449],[-116.39105889912028,51.05558194843026],[-116.33978378657682,51.06435332563616],[-116.31847068437476,51.09546201337449],[-116.26216188010682,51.126552238542345],[-116.25645367098664,51.14078913677952],[-116.28241473345392,51.14964461758772],[-116.29754153332244,51.179967730135],[-116.33211584891788,51.18060959156684],[-116.3433977539374,51.192204355255],[-116.34646836511426,51.207781315441416],[-116.32709523727391,51.21461224906751],[-116.30109276470715,51.208655637658545],[-116.26336505937677,51.22179893467541],[-116.26223483101361,51.24300750682652],[-116.29657160518892,51.2616938801774],[-116.2902360916115,51.290845093800904],[-116.30081494440275,51.30232664685195],[-116.30519403539432,51.32538442344286],[-116.28260412393536,51.331501844362656],[-116.29003062093521,51.34310893625378],[-116.27725511090055,51.35469463990046],[-116.29341041671371,51.36484113612533],[-116.31143488790585,51.384962212570066],[-116.28247020553944,51.40683673284997],[-116.29421312687407,51.429934233986586],[-116.28548810475036,51.435288783408744],[-116.2924303037759,51.461802684977286],[-116.33800012809381,51.464285731229886],[-116.36059709565997,51.47086614517857],[-116.39382922260067,51.505662937667694],[-116.39533495508697,51.525526952427924],[-116.38291460221839,51.53264277708207],[-116.39088604957452,51.54558824834865],[-116.45292502639066,51.560548148161544],[-116.46473472643336,51.565817393612384],[-116.47325026369526,51.58267306837057],[-116.4660214174381,51.59408733692176],[-116.47141114012922,51.6046775992465],[-116.49101494084651,51.61233629178695],[-116.49957623203157,51.62340086068296],[-116.52987218700395,51.63167857544898],[-116.5700898814535,51.64711907390801],[-116.59501567269915,51.66183009426284],[-116.5811763650072,51.69728153922741],[-116.59853466348534,51.72387366577272],[-116.6311948655286,51.73140330093275],[-116.62813146080707,51.74486830134793],[-116.65034888460362,51.75370643522557],[-116.65097416215372,51.76676746823844],[-116.64314652953036,51.786708616762674],[-116.65434312312817,51.80131089240273],[-116.68207610185401,51.81214658027921],[-116.69448091838628,51.803612539618264],[-116.71550709501267,51.7986627927654],[-116.74423247110073,51.80660801720602],[-116.77286051567488,51.77483256697749],[-116.79154071396086,51.76396351192468],[-116.81859819337684,51.735564473761016],[-116.79802003227564,51.72360248411756],[-116.80974116725413,51.70534635005769],[-116.83661321223614,51.7033112743854],[-116.85360110846887,51.70827229023988],[-116.8872860292748,51.702968871360554],[-116.92056790791625,51.70980326840904],[-116.92654369499124,51.7290628397066],[-116.9436207981712,51.73390866350327],[-116.9606104363937,51.75203649716991],[-116.97636058180547,51.76018497849208],[-116.96322173749375,51.774257445430344],[-116.96400220933998,51.79495126276432],[-116.98898846972901,51.811105881487215],[-116.97888242282228,51.83361541701864],[-117.00574552548898,51.83610578099987],[-117.01937068484034,51.84293210438619],[-117.03432087448209,51.85980742590019],[-117.0194649484734,51.89135999979194],[-117.07973709879487,51.930801443623324],[-117.09765211795951,51.93969519778996],[-117.10317598352606,51.95651679690676],[-117.12019973049044,51.95570049547161],[-117.13332378885539,51.96825798706717],[-117.1773160970168,51.97435501014449],[-117.19722361297165,51.98013484051766],[-117.2016921179439,51.99285085853279],[-117.21641394061216,51.997260371501746],[-117.23195988486593,52.016464013040604],[-117.21468177344975,52.02847935705861],[-117.23202803449094,52.04107370955103],[-117.24820222843013,52.034778410123494],[-117.2705873494734,52.048861943356556],[-117.26840791645586,52.05578651391857],[-117.29453045485921,52.06509153492957],[-117.30506352583899,52.07431339447091],[-117.29202880114796,52.08540530507548],[-117.2985929645211,52.0942816590616],[-117.31730287210712,52.19404201548251]],[[-116.97061451254538,51.31447465862342],[-116.9410254455321,51.306760666137635],[-116.94111989866819,51.27526661816164],[-116.96887337788304,51.280205295825795],[-116.98910288107129,51.30243719040775],[-116.98868853166671,51.321655247586385],[-116.97061451254538,51.31447465862342]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.33329067487897,\"lat\":51.5965913373222},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5939\"],\"cd_name_en\":[\"Columbia-Shuswap\"],\"csd_code\":[\"5939011\"],\"csd_name_en\":[\"Columbia-Shuswap A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Columbia-Shuswap\",\"csd_name_fr\":\"Columbia-Shuswap A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.57436667603086,50.8669406547723],[-119.60410284063958,50.864697968284055],[-119.60513459153961,50.85393492096201],[-119.60226573806622,50.853883460148836],[-119.57519602678454,50.8602690868313],[-119.57436667603086,50.8669406547723]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.59099931841794,\"lat\":50.86110209056904},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5939\"],\"cd_name_en\":[\"Columbia-Shuswap\"],\"csd_code\":[\"5939801\"],\"csd_name_en\":[\"Chum Creek 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Columbia-Shuswap\",\"csd_name_fr\":\"Chum Creek 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.48161069707155,53.00668085615942],[-122.48992948083003,53.00461059472775],[-122.50444140083692,53.03380709814026],[-122.5300507718109,53.02646433802321],[-122.51191092670295,53.000808095097874],[-122.52768717381561,52.99473233539541],[-122.53944503357556,52.97833747857385],[-122.52215684994032,52.971294441247295],[-122.5218419838124,52.95945399571722],[-122.49065296194354,52.93980793006685],[-122.48265371346294,52.9394466739604],[-122.48215017330806,52.95031585589802],[-122.51119501039939,52.957791936768075],[-122.49985506658929,52.968764505452924],[-122.4644440870528,52.96844820013696],[-122.46387287729986,52.97871619406586],[-122.4401987471163,52.97498177200624],[-122.44398122326909,52.960822010056326],[-122.41317709598353,52.96146356681901],[-122.39626261460295,52.97479330885637],[-122.40117426601839,52.995747149030464],[-122.45365122143583,52.99803680571617],[-122.48161069707155,53.00668085615942]],[[-122.42691042463609,52.97028786041832],[-122.43206878740148,52.969508007508054],[-122.4322847361879,52.97315797083881],[-122.42623285279498,52.97291499487597],[-122.42691042463609,52.97028786041832]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.47484233064067,\"lat\":52.985759432743244},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941013\"],\"csd_name_en\":[\"Quesnel\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Quesnel\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.16828995897424,52.27945781776803],[-124.16142365852096,52.28649371743732],[-124.16182885685608,52.29747381932383],[-124.16803211757197,52.29747671216837],[-124.16828995897424,52.27945781776803]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.165143267998,\"lat\":52.28996198032557},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941844\"],\"csd_name_en\":[\"Agats Meadow 8\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Agats Meadow 8\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.42691042463609,52.97028786041832],[-122.42623285279498,52.97291499487597],[-122.4322847361879,52.97315797083881],[-122.43206878740148,52.969508007508054],[-122.42691042463609,52.97028786041832]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.42953001547586,\"lat\":52.97150494943808},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941886\"],\"csd_name_en\":[\"Dragon Lake 3\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Dragon Lake 3\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-126.31954430903508,50.49895620619622],[-126.50001504874461,50.4999392393081],[-126.56666629701223,50.50220454073632],[-126.62017884786329,50.51055770180846],[-126.67448150005545,50.533237349376165],[-126.72751918802604,50.542007702396624],[-126.790385263456,50.557724440682705],[-126.88268578311643,50.56646877851037],[-126.90778056479662,50.59980528579283],[-126.94400120816692,50.604957165222146],[-126.9607290836858,50.595596944996274],[-126.95604905254903,50.58124535531578],[-126.97929023294418,50.56812485832193],[-126.99736192711002,50.56568822357967],[-127.00085651429069,50.55012569232896],[-127.02002938529448,50.52361096108052],[-127.07722201785114,50.50108037511698],[-127.0540670170589,50.4955965585433],[-127.09056523951516,50.47714532471395],[-127.08619025284325,50.45839739623427],[-127.09760901220467,50.449177341200276],[-127.11754207247316,50.444281672689705],[-127.1402653787183,50.416645491371106],[-127.16335983157302,50.40786458405676],[-127.17075997282456,50.389203476740924],[-127.14697517655559,50.38213660594545],[-127.14372972316797,50.37268878931838],[-127.11907059235845,50.356217159309736],[-127.09980532578516,50.35443331278733],[-127.08780562671674,50.36496245333359],[-127.07643972570018,50.34759257584843],[-127.09477100459817,50.340295157468525],[-127.06695502521302,50.33598022357125],[-127.06491092461036,50.326717383538835],[-127.04682367539517,50.32315369692789],[-127.04394016403363,50.30676471379209],[-127.02960958650412,50.299983146976054],[-127.02454701354985,50.288305351619684],[-126.99842100921816,50.2779481543137],[-126.99881761110906,50.25008633369633],[-126.97280761442214,50.240270740217404],[-126.97294027294762,50.23111371716515],[-126.98849810488812,50.224923536932884],[-126.99247160128917,50.19743257699909],[-126.99052376203886,50.1816431324169],[-126.9406098387738,50.18257879445394],[-126.91818033257955,50.19414079677509],[-126.90366665968402,50.190153980536145],[-126.87190888373448,50.15949841131027],[-126.83962438778723,50.138759269032725],[-126.82008147736111,50.14336502171994],[-126.81616116166997,50.15675203632487],[-126.82193470443154,50.16974318595024],[-126.79618303572161,50.17654239406156],[-126.78134759735174,50.15673855927349],[-126.7664618427231,50.147739405621195],[-126.7864662179292,50.13943028326059],[-126.79100593542039,50.12479455859454],[-126.75641232506221,50.11212221860764],[-126.74711314716124,50.103447513102175],[-126.714143605494,50.1148062960752],[-126.68303069392785,50.10736498281348],[-126.67859232827946,50.09856314044649],[-126.64701800057863,50.09109493194123],[-126.65159566926079,50.07364136515067],[-126.67767877102308,50.07326109740796],[-126.69542462204372,50.061822377587696],[-126.69893733778792,50.0490652356271],[-126.69320557504236,50.03255048029404],[-126.65903491437938,50.01834551585322],[-126.6279153508139,50.02819738676982],[-126.61331988755167,50.02151223947643],[-126.59090008969144,50.02864166381477],[-126.5587448115338,50.02947015230202],[-126.56236061201064,50.02084658505692],[-126.5472161211932,50.013550196411025],[-126.55757521266172,49.998587498035235],[-126.5715692205315,49.99024488415343],[-126.52208013733194,49.97111587017197],[-126.51205382083424,49.96061896916653],[-126.49398552107954,49.96388654216434],[-126.46951983858217,49.9290411043566],[-126.4659881326733,49.908822148108776],[-126.4530920902855,49.90752249962309],[-126.43166824857586,49.91709290084363],[-126.3888294765869,49.90675499454566],[-126.3487575555831,49.92006381257222],[-126.34347040390958,49.9315482372701],[-126.35662089550561,49.94262293027465],[-126.34479100003733,49.951616396028705],[-126.32602606691239,49.95378312241784],[-126.30675557066957,49.97020513492226],[-126.26314101736291,50.000114603386606],[-126.24377159169897,50.00547792159824],[-126.22629216037333,50.01623011618611],[-126.23777430906866,50.02504691032254],[-126.22669355397097,50.03562171104576],[-126.23407362354136,50.05181329574333],[-126.25422616675796,50.06899605656227],[-126.2378609080008,50.08326431624891],[-126.2417126740617,50.10031967752627],[-126.21795178356697,50.10999999584379],[-126.22572837844602,50.12317255499274],[-126.16034493062355,50.12143450022005],[-126.16765934923248,50.131315983807035],[-126.14917130758896,50.14422279772042],[-126.12945008092188,50.1419505263028],[-126.11700104217446,50.15798126179868],[-126.10080977561974,50.159507397412966],[-126.09324273855015,50.178097790548215],[-126.04457971356734,50.180559709620816],[-126.03876273968744,50.20309759515143],[-126.04238706489949,50.22123402259526],[-126.02862729648113,50.23048456196997],[-126.0336265011027,50.23902910126122],[-126.02359735716686,50.25069674756372],[-126.02770807336807,50.259223158789155],[-125.99540286431905,50.28218961107071],[-126.01070237632956,50.29459815650238],[-126.01259183051187,50.305477260063554],[-126.03003222350027,50.303701925270154],[-126.04232363439338,50.31267295633929],[-126.05484599890832,50.33958637442145],[-126.03891693868306,50.344747835008285],[-125.99486138895372,50.34038787807927],[-126.00063268382137,50.36350752582958],[-126.0208036475068,50.366841117259526],[-126.02974469106532,50.38291266484031],[-126.05601051921617,50.40462226366634],[-126.08117717956257,50.39640248556159],[-126.11107797834849,50.397592790493604],[-126.11281868735928,50.40614923103561],[-126.10896461989047,50.471170318636425],[-126.19238296006039,50.478550725368926],[-126.31954430903508,50.49895620619622]],[[-126.93015354256231,50.587419438121735],[-126.9513586347897,50.587586671390675],[-126.94736524704197,50.602392763480466],[-126.92091911149033,50.593787262516074],[-126.91514707262009,50.58317616793822],[-126.92169037838677,50.57396811237285],[-126.93364253356376,50.581565941861996],[-126.93015354256231,50.587419438121735]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-126.55273632418586,\"lat\":50.28821481753755},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5943\"],\"cd_name_en\":[\"Mount Waddington\"],\"csd_code\":[\"5943033\"],\"csd_name_en\":[\"Mount Waddington D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Mount Waddington\",\"csd_name_fr\":\"Mount Waddington D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-130.71401131342958,53.40877312822282],[-130.93251039003096,53.37675786079484],[-131.21172159373626,53.33660938837528],[-131.49418082086308,53.29469275170235],[-131.7282202942096,53.25045834652333],[-131.7986485994315,53.29104561004405],[-131.88520076992154,53.317708668819336],[-131.89840595540176,53.29708050494957],[-131.94240751494658,53.25281826226175],[-131.98578824491221,53.224936577153464],[-132.0012154815418,53.22376179244234],[-132.05916367077836,53.18118983273809],[-132.0793852445653,53.161565240337474],[-132.1092218702622,53.159349781832546],[-132.12976313511766,53.16496334726036],[-132.14726217159443,53.162963342092695],[-132.2053484705299,53.145576468131964],[-132.22132963153987,53.14277164900367],[-132.30338791869647,53.1542338280111],[-132.31943488701364,53.14853850765922],[-132.3533340671065,53.150312267510905],[-132.37827103933483,53.131779773969946],[-132.42488951467195,53.13270902044856],[-132.47847339357904,53.1307367091953],[-132.51481374162148,53.14152588391846],[-132.5519993739472,53.1571990840301],[-132.58968877103956,53.166000527967014],[-132.6219075270855,53.16367022214241],[-132.81422626033648,53.16689742939473],[-133.02154995613037,53.167660274016455],[-132.95794361562096,53.00004146559623],[-132.95689069839466,52.99426422546856],[-132.75827349513224,52.75000953484053],[-132.50000001988056,52.7500000054716],[-132.5000000092977,52.560144229851524],[-132.3133111248907,52.393574267277224],[-132.19706534217013,52.30777410167302],[-132.0671628032534,52.223346028081],[-131.93867055237203,52.15121554191186],[-131.66899816886922,52.044148402259985],[-131.61369750773488,52.02133510132763],[-131.49867735132395,51.991938399853936],[-131.47889825248555,51.99099678767597],[-131.34602613587373,51.96366538782154],[-131.21754607544779,51.940667781720336],[-131.19031626483357,51.931468629154935],[-131.15071911484463,51.91318925564161],[-131.07117648117793,51.890681895482885],[-131.02500122508854,51.8861485729033],[-130.97516460086334,51.888629959901316],[-130.87490707344688,51.90672566372662],[-130.81237966878618,51.91342793889484],[-130.75277775575,51.927844853838415],[-130.64892394097257,51.943583108618945],[-130.5734870347321,51.95085910539306],[-130.4569623746444,51.96909306652374],[-130.516520997712,52.122212619568145],[-130.57115034534348,52.2007018372865],[-130.67696125091808,52.33682296869386],[-130.71201043739714,52.389881617019874],[-130.79013213688978,52.47005379584559],[-130.88734942834043,52.60676220667476],[-130.97058225935783,52.743672866792885],[-131.03999048281258,52.89734184752541],[-131.04764932094278,52.950091891866094],[-131.0380132480344,53.03174898693957],[-131.00716603903516,53.08426869772424],[-130.97654380824093,53.118185402567434],[-130.83651134082984,53.20229504926745],[-130.7563509756301,53.262960009413305],[-130.73574363064972,53.28672339955422],[-130.710641144983,53.337731413294],[-130.6997922316564,53.3664395609588],[-130.71401131342958,53.40877312822282]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-131.61834675206816,\"lat\":52.65955158560282},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5947\"],\"cd_name_en\":[\"Skeena-Queen Charlotte\"],\"csd_code\":[\"5947032\"],\"csd_name_en\":[\"North Coast E\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Skeena-Queen Charlotte\",\"csd_name_fr\":\"North Coast E\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-126.1402970832403,54.92887701639828],[-126.14282110044833,54.945233020883244],[-126.1753485531765,54.96885658323908],[-126.21583407953366,55.02262739027977],[-126.2772262297025,55.01546573428812],[-126.26521215794722,54.98363631376175],[-126.2638026297332,54.95082451600803],[-126.2284389437226,54.92974222096451],[-126.20167938071802,54.9068195706424],[-126.2201188367584,54.901438676326855],[-126.24591450758801,54.90105616909931],[-126.24492711052066,54.88654131932854],[-126.22714163536816,54.886187585577126],[-126.22706786098385,54.874942950970265],[-126.18433319386918,54.875030841442005],[-126.18474112558116,54.89207145754909],[-126.13730593927713,54.91490687851208],[-126.1402970832403,54.92887701639828]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-126.20926028434734,\"lat\":54.95048604038419},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951032\"],\"csd_name_en\":[\"Granisle\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Granisle\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.07017051682742,53.947618390463106],[-124.07030461520482,53.96190621514044],[-124.12116253689076,53.96374108964557],[-124.14675712883117,53.955539964317154],[-124.1818793458063,53.949205169961154],[-124.18217789220316,53.932745785867596],[-124.14290963068893,53.9322622668393],[-124.1114043058504,53.92242706878966],[-124.09344584601988,53.92399367255666],[-124.06986811213913,53.91819238849393],[-124.07017051682742,53.947618390463106]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.11698017406938,\"lat\":53.94297099334204},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951809\"],\"csd_name_en\":[\"Stony Creek 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Stony Creek 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.96171604988686,54.015977672154264],[-125.9604535586225,54.002292801838095],[-125.94823665028493,54.00888765634847],[-125.96171604988686,54.015977672154264]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.95680208626474,\"lat\":54.009052710113615},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951822\"],\"csd_name_en\":[\"Francois Lake 7\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Francois Lake 7\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.66053361561515,56.13633199637533],[-120.63638496906393,56.136760514210536],[-120.63667018951537,56.170910710269375],[-120.6626499408786,56.17382872530886],[-120.71576571668469,56.17392619331285],[-120.71563903932756,56.159716215047396],[-120.73320563020897,56.15582717684105],[-120.70123731436824,56.14172829701746],[-120.66053361561515,56.13633199637533]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-120.67633377505302,\"lat\":56.156158954029074},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5955\"],\"cd_name_en\":[\"Peace River\"],\"csd_code\":[\"5955030\"],\"csd_name_en\":[\"Taylor\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Peace River\",\"csd_name_fr\":\"Taylor\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.16410979367997,64.1647042771696],[-114.13925846025822,64.17289823338652],[-114.12640862304809,64.18885727431736],[-114.1330559140125,64.20103086530798],[-114.16149005950473,64.21310036927825],[-114.19155340814807,64.21545862984192],[-114.22418958498855,64.2100339032745],[-114.24726873408378,64.19261706696906],[-114.24479127359724,64.18087099526716],[-114.22050935001378,64.16701582558146],[-114.19770574600014,64.16305957912797],[-114.16410979367997,64.1647042771696]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.18693686771857,\"lat\":64.18900850721815},\"year\":\"2021\",\"prov_code\":[\"61\"],\"prov_name_en\":[\"Northwest Territories\"],\"cd_code\":[\"6103\"],\"cd_name_en\":[\"Region 3\"],\"csd_code\":[\"6103052\"],\"csd_name_en\":[\"Wekwe\\u00e8t\\u00ec\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Community government\",\"prov_name_fr\":\"Territoires du Nord-Ouest\",\"cd_name_fr\":\"Region 3\",\"csd_name_fr\":\"Wekwe\\u00e8t\\u00ec\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.99568365598662,63.96633959802316],[-120.40183456619553,64.08839103686817],[-120.52355458525169,64.10123697401652],[-120.65837622787447,64.09213711528538],[-120.63865280208815,64.07438205120417],[-120.60854902596608,64.02713924583857],[-120.68317531272909,63.99414980969627],[-120.82345300294611,64.02024150032118],[-121.03296650073851,64.08266484571041],[-121.01546823433848,64.04730864144278],[-121.29764783171568,64.00061168317964],[-121.48215713427791,64.0949237630603],[-121.5807808625825,64.08998696057702],[-122.01621194285032,63.949725498347384],[-122.35567389877562,63.95152578550358],[-122.7993919174011,63.952807393997986],[-123.42669274644646,63.95062576936736],[-123.67434968130868,63.94901530552111],[-124.2070722067113,63.9472142855212],[-124.84771265040659,63.7917612700443],[-124.88444987641131,63.7740535989399],[-124.94594319921582,63.759272409990444],[-124.96533640395401,63.74805719692761],[-125.00439257330223,63.74707039543458],[-125.03166979381373,63.741474713124155],[-125.0459623215282,63.72584369590417],[-125.07764262215287,63.71924539429711],[-125.07214541701691,63.71157478843741],[-125.13528879367894,63.69552560763633],[-125.15802107559342,63.69649760350633],[-125.15480628902122,63.682352164871865],[-125.39777139269232,63.636030860020405],[-125.4292664028166,63.62758648879045],[-125.45872620934098,63.607524992758165],[-125.48749979982477,63.60426050771479],[-125.53774881634976,63.59117070510379],[-125.56616372432931,63.57055189405039],[-125.5977895845199,63.565265000471655],[-125.61738217529982,63.549210695434596],[-125.65233081827503,63.54340088954187],[-125.66238560189935,63.53526881134469],[-125.74399190835048,63.53395378496748],[-125.78574377602146,63.51277009075544],[-125.81860549775821,63.508572704460946],[-125.84219649571786,63.49081811384245],[-125.85042710571331,63.47179968756784],[-125.86624358700074,63.46817500604209],[-125.90958742831583,63.476536298799154],[-125.9238386815729,63.46471290464041],[-125.92470797903609,63.438636309092956],[-125.95105871209783,63.415847005192546],[-126.01889109851719,63.40494621344975],[-126.04306438182562,63.40817311089553],[-126.05706151058787,63.39720340264266],[-126.07730177314446,63.39963170239718],[-126.10325168527754,63.39112670023996],[-126.13440071805684,63.3871264070297],[-126.13964066039762,63.37943669550199],[-126.17388029355858,63.36447990139042],[-126.19434279354272,63.34410510510173],[-126.26542020681774,63.33174039819951],[-126.27942640702973,63.32285850258782],[-126.30972190608503,63.319263890566994],[-126.34184420173868,63.292377908478855],[-126.3575218058188,63.28975411135749],[-126.36714868604747,63.25954730247853],[-126.35287000106275,63.246104386621276],[-126.35900742687345,63.23064840362081],[-126.3525598858412,63.184348900258705],[-126.36573120923453,63.17302178927939],[-126.3792842822975,63.13379109095115],[-126.40179368632678,63.12657760199402],[-126.43830636509006,63.12216409821122],[-126.42243431795049,63.09303679146093],[-126.45634481042185,63.07832098185919],[-126.45762968336831,63.06597070724465],[-126.44493820383289,63.05484260388131],[-126.475832585256,63.00556341123354],[-126.48775260773019,62.99657200669157],[-126.47950563557397,62.97992360264364],[-126.45594268510666,62.95534860855707],[-126.43666058242376,62.94360130692959],[-126.43327038737685,62.91901148244769],[-126.44998761754039,62.903488598019266],[-126.44769616587712,62.888895699541806],[-126.4623651054273,62.87289230260881],[-126.5075957007941,62.85723010261913],[-126.55398567697478,62.847219207415705],[-126.58001221921224,62.833885693131755],[-126.6038397955913,62.829601210011205],[-126.61550358369281,62.81787749293368],[-126.5825340980761,62.78676238884303],[-126.59160059783696,62.767237061849286],[-128.32457072761852,62.179389576262224],[-128.49291130121904,62.11983998862746],[-128.46652319982093,62.10677812931753],[-128.41688591072963,62.07353453587953],[-128.4000101250856,62.070383279032036],[-128.37234726260073,62.054165059322855],[-128.35093828508943,62.0329167040456],[-128.3611791942426,62.01656020414141],[-128.3479392179938,62.01483621420458],[-128.35687274095292,61.990803767718006],[-128.3500972308095,61.97350905489339],[-128.30694798465126,61.967559800000586],[-128.30483123224982,61.94914853530869],[-128.24857713447577,61.937032406345494],[-128.20827631545546,61.887029850846936],[-128.188346217519,61.82841635502423],[-128.1496434904593,61.837855016551984],[-128.1065692052379,61.830941163684486],[-128.0540348971169,61.83268748843388],[-128.0206532679823,61.82353902815324],[-128.01398172065637,61.80489657386858],[-127.98599682645224,61.79157807614476],[-128.01758338953888,61.76698940139693],[-128.0126224892069,61.75319301204342],[-128.0474599754839,61.72872035813447],[-127.9821037413037,61.70198191623457],[-127.96164661043711,61.69004648350255],[-127.91188700302092,61.66944372628745],[-127.88185153380562,61.66755835314774],[-127.83287148326941,61.62970242480516],[-127.76680544683964,61.59413878056318],[-127.71897640208535,61.584049566004275],[-127.66855033097184,61.58255240589839],[-127.62907616385951,61.546993949129046],[-127.62272241776441,61.532228032701084],[-127.56985645582192,61.52389242966053],[-127.46918999648666,61.48515494122608],[-127.42237700918203,61.496799295942424],[-127.3886884475093,61.4966760705307],[-127.36353825605372,61.49124108544794],[-127.31641492555852,61.50010998173442],[-127.2378362793895,61.5001777605636],[-127.20242189087115,61.490019166565716],[-127.19170195705237,61.46113679575869],[-127.16798910051729,61.45620342742752],[-127.10295620217339,61.458150429139856],[-127.09403330504045,61.4376554169148],[-127.08513967768295,61.38759527735676],[-127.09075633593613,61.36808534749975],[-127.02924078024444,61.361254057660624],[-127.02101968367482,61.33795420784174],[-127.03340143508755,61.32240947893016],[-127.02004849493247,61.28792514914339],[-126.99958828629754,61.25110930696617],[-126.99640938771321,61.22213863194274],[-126.95292614636872,61.214963573988115],[-126.97587940378787,61.17771550291472],[-126.96074011346907,61.16792861252137],[-127.01209917481022,61.1376674845131],[-126.98410173868096,61.12140337462436],[-127.04105087447718,61.102810603074644],[-127.04264886293045,61.08208643123886],[-127.0724348000554,61.066597131838385],[-127.0423343070539,61.03094373352402],[-127.04701992977554,61.01727952816856],[-126.99949416384011,61.02617787567219],[-126.96612365212602,61.05006764526143],[-126.89677399373129,61.04098893437125],[-126.90682724964165,61.007140350349786],[-126.8734793312029,60.96472507380816],[-126.85358648073188,60.9316313681429],[-126.86603872651405,60.89592982072034],[-126.85636972912866,60.87032991078598],[-126.87704140837683,60.847895001466526],[-126.84987883855672,60.832599324482494],[-126.82524651244692,60.83149562554134],[-126.8451429265244,60.774978499536985],[-126.81274730026125,60.75856154150683],[-126.7698347746214,60.748638968112225],[-126.76349245071764,60.763189114474564],[-126.69265357796198,60.76903179730552],[-126.68260007917256,60.75381274818242],[-126.65983556912941,60.75118430883146],[-126.63904120405648,60.730789378503324],[-126.6082324653548,60.739768290721],[-126.5334280324799,60.78223893182697],[-126.48637011184114,60.80014866239789],[-126.38708902620185,60.76554897501555],[-126.28349984400471,60.75882843388324],[-126.23464200232623,60.76924992612847],[-126.19792614776948,60.782235473083304],[-126.18468176317582,60.79692722656308],[-126.18974569314466,60.81181264182831],[-126.2106541617808,60.83443328430532],[-126.18123975019257,60.841760111046845],[-126.13715657780293,60.84355412511443],[-126.09741876832065,60.85011700647643],[-126.0633506176439,60.85136803296974],[-126.08330515729902,60.81378356229859],[-126.05656131007315,60.79524544611747],[-125.96680312528892,60.7892426713139],[-125.94049225039396,60.804615137789156],[-125.93853637979366,60.8300144696327],[-125.92081827955317,60.848597623782574],[-125.83222475592616,60.88128756538031],[-125.79249731169355,60.86819486005072],[-125.75535817231955,60.84532637297846],[-125.7141012809662,60.830770059806014],[-125.66963923125371,60.80310898422232],[-125.62534975570912,60.80970859648275],[-125.56891415982263,60.801503985235776],[-125.5337937195727,60.81235519818411],[-125.46700949713312,60.788705199081896],[-125.37491230901614,60.76638392730301],[-125.26406726015901,60.768347961721915],[-125.22278008228508,60.79632423429308],[-125.17135218634036,60.80966010127709],[-125.14788162540962,60.83250858676439],[-125.05412481035157,60.83288753468274],[-124.99245464605812,60.840048829274444],[-124.96749742940077,60.849241408446595],[-124.90594699237282,60.83985219700127],[-124.82579771779467,60.83704696884644],[-124.82143991238708,60.853649398936774],[-124.83743028771484,60.89931322236846],[-124.81919573785305,60.91924547330276],[-124.795248201364,60.932507419121656],[-124.78837691357442,60.95450904690868],[-124.76615411564316,60.958063531179704],[-124.7281593405711,60.93898962966748],[-124.66537960722071,60.93866112194419],[-124.63322717681363,60.92679898844152],[-124.59275459417177,60.94583669379131],[-124.5393821645787,60.938606893606234],[-124.53669077377094,60.91414022568548],[-124.51077992513925,60.86498633649042],[-124.51147936653891,60.83944477481042],[-124.49844773089386,60.826114168936186],[-124.49625398140641,60.80250261648404],[-124.47625614652048,60.79141394312381],[-124.45051962082441,60.78654589392748],[-124.44921661387173,60.76468261611465],[-124.4917830596775,60.728397589312706],[-124.54146335680264,60.717940746927425],[-124.5627469502447,60.6956559066897],[-124.59945265103175,60.68786762154339],[-124.57106557480381,60.64141542911509],[-124.49053430026733,60.591993177108904],[-124.447194651742,60.57280931477704],[-124.43315571254793,60.5421457378307],[-124.3937732597842,60.518900784317445],[-124.3891459921527,60.45845880798434],[-124.31244690669166,60.4592545126463],[-124.23496650448642,60.453947137237805],[-124.19786251652246,60.445915703926325],[-124.20063507677385,60.39733506279778],[-124.21446781082687,60.36457205535346],[-124.20367864598612,60.35032869530156],[-124.18237173379303,60.30675714090865],[-124.15932774366932,60.291057347335574],[-124.15588352026039,60.266945219627004],[-124.12026872683452,60.23862881478883],[-124.12382851505691,60.206001409531495],[-124.06869147420988,60.16869746649933],[-124.02996077825378,60.148158305093226],[-124.00052694335652,60.10919758699334],[-123.789324835561,60.00003261971194],[-123.49999999187165,59.99999999162521],[-122.99999999299197,60.00000000726423],[-122.50000001140688,59.9999999960158],[-122.25000000206235,60.00000000710988],[-121.7499999774632,59.99999999015017],[-121.49999996629361,59.99999999378784],[-121.00000002378971,59.999999996662524],[-120.49999997008557,59.99999999624946],[-119.9999999832295,59.999999999344084],[-119.49999998618715,59.99999999185284],[-118.99999999930351,59.99999999931111],[-118.7500000192798,59.99999999470984],[-118.24999998882966,59.99999999014884],[-117.99999999643993,59.99999998819771],[-117.50000001807425,59.9999999917645],[-117.24999999939624,60.00000000317932],[-116.97862267293219,60.00001923281293],[-116.97392409358613,60.010303897227715],[-116.89808601843924,60.0380130002793],[-116.86674362234331,60.03890100683221],[-116.84623381918303,60.0529761149235],[-116.7924979875459,60.08003785636663],[-116.77106697086565,60.086467510356016],[-116.76721250723556,60.09776558704381],[-116.74595364614221,60.117067598766255],[-116.71322502954023,60.127542274523876],[-116.68979158569121,60.1447922718276],[-116.69660344728737,60.15987499122216],[-116.69155409687333,60.173870740992584],[-116.67234058627882,60.18481504215237],[-116.66674831150651,60.202929869112786],[-116.61740510250698,60.223610205417785],[-116.56681924150674,60.272121191043695],[-116.54260088202705,60.2885883440733],[-116.49909470985645,60.31042110391441],[-116.46239842503617,60.33970199858141],[-116.40669868126805,60.3524938117055],[-116.38049469175792,60.36871623994158],[-116.3830144056646,60.38792506440218],[-116.36035267569122,60.41581465692491],[-116.32934172179243,60.46059977193109],[-116.34666670171,60.459688270714594],[-116.35012172290904,60.632230558804046],[-116.34932092651547,60.64800619371899],[-116.10029067840978,60.640007458611564],[-116.09530698524927,60.64183696861084],[-115.89822372969785,60.75302402640557],[-115.90136739926989,60.85012641220195],[-115.75136241115757,60.87568425868864],[-115.7313621718967,60.861319655697784],[-115.71918241188747,60.86391158292381],[-115.69418148240747,60.85026611139329],[-115.6575414838788,60.8380159043442],[-115.60005688611751,60.82800870921828],[-115.55228221402258,60.82783568051488],[-115.36050211615935,61.05935909724437],[-114.83027410099929,61.680655217984224],[-114.8288324493378,61.68305555860377],[-115.20817226239073,61.788855500672994],[-115.5955326911256,61.877725680921586],[-116.12450969318934,62.00000001282496],[-116.62430440422231,62.11273846181857],[-116.85344371053338,62.165063724766604],[-117.34550561370827,62.27551864136528],[-117.99999997479091,62.42226518633777],[-118.3064838022834,62.48941996716445],[-118.85068323841783,62.60624398184042],[-119.2881735501366,62.690565622572436],[-119.63399585480381,62.75590449043326],[-119.99272189904592,62.82236022574771],[-119.99276229161963,63.00000013399108],[-119.99286685834858,63.23774976513225],[-119.99300989023881,63.46523956221381],[-119.99402743870063,63.72915367473289],[-119.99568365598662,63.96633959802316]],[[-120.61675220094097,61.48129556302453],[-120.64268625695247,61.46947597174822],[-120.73486909035168,61.516574567338964],[-120.6650189123904,61.54997520901987],[-120.64429494441684,61.543970180827586],[-120.60798588573562,61.52422860896304],[-120.56279742224015,61.50584050775115],[-120.61675220094097,61.48129556302453]],[[-123.28481597246233,63.144811948917706],[-123.31884430350172,63.13489494890873],[-123.34421129099495,63.16154990892597],[-123.44263106992531,63.203680060058865],[-123.51553769383928,63.23151399962579],[-123.34271186012138,63.235654890374526],[-123.22973379087739,63.16083283292135],[-123.28481597246233,63.144811948917706]],[[-123.39886542017808,60.2106093885011],[-123.42703424559556,60.19561177364788],[-123.49910617635196,60.232785341667956],[-123.34251650014879,60.31475621814047],[-123.26226657888567,60.283051536785145],[-123.39886542017808,60.2106093885011]],[[-123.41419752993724,61.04167780848144],[-123.37850023002095,61.03723473148428],[-123.33720624774242,61.048731946221814],[-123.31814049592275,61.02331768045847],[-123.27476360994112,61.013858630786224],[-123.25194792078673,61.00179516320307],[-123.25725679063503,60.98239538054283],[-123.28746131796247,60.97438308372995],[-123.32862655708679,60.976327220580664],[-123.34645053075707,60.97317062740344],[-123.35767985818481,60.96097362092074],[-123.4762963547683,60.96996598893236],[-123.52693875781249,60.9913296154608],[-123.50516298270786,61.005152869725045],[-123.47134429508577,61.00504184361823],[-123.44713800156725,61.02513816646301],[-123.41419752993724,61.04167780848144]],[[-121.22467540264148,61.73692309519177],[-121.25657342897588,61.72617469881146],[-121.4555289512102,61.862992540213156],[-121.39501776690994,61.886116924302584],[-121.35830197331141,61.874859507296826],[-121.32655932422621,61.857753301207055],[-121.31096999412169,61.83596077146986],[-121.27560273102291,61.8106419545643],[-121.24347280107605,61.79539069619385],[-121.21183953577219,61.786457728853286],[-121.200050819467,61.7699282691222],[-121.22467540264148,61.73692309519177]],[[-117.25121671399272,60.96647230390474],[-117.25081505013185,60.88404998474976],[-117.46293287524647,60.88871845519205],[-117.4599209953606,60.97607251060518],[-117.25122225593776,60.973772870781545],[-117.25121671399272,60.96647230390474]],[[-121.02489105317972,60.39579143036065],[-121.02225674337804,60.38458491262681],[-121.36614193662757,60.39405466365488],[-121.22980832434453,60.46783616403451],[-121.04165215339599,60.46690900550051],[-121.02489105317972,60.39579143036065]],[[-117.81129905224175,61.48960908066385],[-117.50107561354362,61.491685139622135],[-117.42640775272723,61.41030400401809],[-117.59614614989006,61.31091124539911],[-117.75974351281297,61.39960148262255],[-117.82513765084373,61.48952604112695],[-117.81129905224175,61.48960908066385]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.78129494632296,\"lat\":61.82540240668901},\"year\":\"2021\",\"prov_code\":[\"61\"],\"prov_name_en\":[\"Northwest Territories\"],\"cd_code\":[\"6104\"],\"cd_name_en\":[\"Region 4\"],\"csd_code\":[\"6104097\"],\"csd_name_en\":[\"Region 4\",\"Unorganized\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Territoires du Nord-Ouest\",\"cd_name_fr\":\"Region 4\",\"csd_name_fr\":\"Region 4, Unorganized\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-52.92512563778494,47.02214738135485],[-52.970312732288335,47.02008356558966],[-52.983876805936845,47.01207799070106],[-52.96246882817136,47.004997404748075],[-52.90487417162757,47.00418718739339],[-52.90058487446236,47.006667673468456],[-52.92512563778494,47.02214738135485]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-52.94203686182391,\"lat\":47.01247577274453},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001144\"],\"csd_name_en\":[\"Aquaforte\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Aquaforte\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.62090753860346,47.84542062440625],[-53.73322214868171,47.898192202247145],[-53.75579573851847,47.89987597233933],[-53.77405064334112,47.89511225166811],[-53.794707039338654,47.89554194483814],[-53.811189158990885,47.90613972046656],[-53.81317240238913,47.92466128856378],[-53.82779699110635,47.9384474918082],[-53.88315798730789,47.95556831394498],[-53.95312469807201,47.95081260871172],[-53.97400210511014,47.95854604231614],[-53.99606556649042,47.93724747983083],[-54.020057719791325,47.927057797825725],[-54.034805511909276,47.91302289991658],[-54.07538076240779,47.88355682841965],[-54.08925117691564,47.86919505374171],[-54.08570168119225,47.83305161023056],[-54.087440260691274,47.81693851897225],[-54.09625112015119,47.80614744459572],[-54.07468892556395,47.78707679868154],[-54.0465241416168,47.74764189549786],[-54.01851929676754,47.69298773320685],[-54.01339573011438,47.667228208307975],[-54.01646968175492,47.64796044163169],[-54.02793154194782,47.630384150455626],[-54.02901674188713,47.56821645240952],[-54.0218308185335,47.49968138796238],[-54.03465977105358,47.46669659886589],[-54.05757355970386,47.433399193321144],[-53.96249583950359,47.43684696687259],[-53.93623953192857,47.41860124696113],[-53.91693688430013,47.40982263198196],[-53.87415669937734,47.40437350648265],[-53.84122049850364,47.411721897842476],[-53.816089519915224,47.421289695768586],[-53.829301894483045,47.42663498287673],[-53.86996220049745,47.42903079409534],[-53.86328470683329,47.437301507859914],[-53.84006753962215,47.433585474231855],[-53.76514198878169,47.45420900773541],[-53.73995308073132,47.4713217739006],[-53.72137839987052,47.46134448664044],[-53.74755086121805,47.44208847205855],[-53.77918555410092,47.43084131614183],[-53.80755934130813,47.41664730245847],[-53.76824479277774,47.35668915912129],[-53.75294768013736,47.36831283228322],[-53.72556930114122,47.37911184003025],[-53.67820892107845,47.41181788942351],[-53.658241208805315,47.44614122083882],[-53.66314896691526,47.47767069481484],[-53.713777633139074,47.5173985547927],[-53.70400331528698,47.53795780551101],[-53.720647649320405,47.546747351345765],[-53.722070504423534,47.564322900633464],[-53.69694369235222,47.58751209210212],[-53.68247150668291,47.596293402904244],[-53.6750472873733,47.57451980330732],[-53.660979721147996,47.564331197705066],[-53.66783502900548,47.539845629211065],[-53.671907198755385,47.521876305235516],[-53.65449511492241,47.52321010325514],[-53.6434079593108,47.63669722900652],[-53.631699420129515,47.75008044696898],[-53.62528574205829,47.80076470617994],[-53.62090753860346,47.84542062440625]],[[-53.96844008934851,47.71033198770653],[-53.96568113914951,47.73381537915309],[-53.939977881629325,47.73481331406292],[-53.93061454692987,47.71666573563977],[-53.96416601633063,47.7190013049777],[-53.96844008934851,47.71033198770653]],[[-53.83761900777965,47.702184405249234],[-53.82065328034766,47.683420497492015],[-53.806038613868026,47.67714500578621],[-53.792684385873095,47.647050149624796],[-53.85216904177561,47.64309260730967],[-53.86003066984743,47.67449021219238],[-53.83761900777965,47.702184405249234]],[[-54.01420077813224,47.77077049392445],[-54.03533550669692,47.78100603167284],[-54.04790283093209,47.79351000210176],[-53.97591702989483,47.900157953697004],[-53.94973202472549,47.89756284307479],[-53.95022416597317,47.90799635599207],[-53.86549186996489,47.891298567475445],[-53.864600563088,47.83190357336908],[-53.881247804907396,47.850990200781],[-53.912247700664594,47.85778998478827],[-53.93102690136241,47.850017988139875],[-53.89638549513977,47.8446485033305],[-53.89282020138223,47.83941902250022],[-53.96046438559113,47.83874540511182],[-53.96849428813891,47.818555492066764],[-53.96371540448774,47.80338139865786],[-53.97676414480762,47.78823823052002],[-53.976351905984274,47.780035509104685],[-53.95770741324277,47.76980050480063],[-53.98709079640952,47.75828318485166],[-54.01420077813224,47.77077049392445]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.843854382621394,\"lat\":47.66890616648883},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001259\"],\"csd_name_en\":[\"Division No.  1\",\"Subd. A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Division No.  1, Subd. A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-52.86122991195005,48.11401390791031],[-52.92272347301672,48.11040521772129],[-52.92686869533559,48.09000448280963],[-52.86015877816149,48.09290480174497],[-52.849404087390255,48.0997635958187],[-52.86122991195005,48.11401390791031]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-52.889614696748666,\"lat\":48.10174483708852},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001347\"],\"csd_name_en\":[\"Bay de Verde\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Bay de Verde\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.209895988438554,47.666417494469634],[-53.18008280791427,47.657948153463316],[-53.184895906385634,47.666045699021424],[-53.17045115527741,47.67484168475077],[-53.163003621980586,47.699690114523015],[-53.214401680932035,47.6751445203386],[-53.209895988438554,47.666417494469634]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.187395034926354,\"lat\":47.6772414459477},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001375\"],\"csd_name_en\":[\"Bryant's Cove\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Bryant's Cove\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.234057624035465,47.623039066363965],[-53.204807186535774,47.63510786293853],[-53.22449269619008,47.642733080264506],[-53.25272771881765,47.63260146216549],[-53.234057624035465,47.623039066363965]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.22909317168362,\"lat\":47.633209603397134},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001394\"],\"csd_name_en\":[\"Bishop's Cove\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Bishop's Cove\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.386289289565255,47.21867128993318],[-55.366119297922324,47.23475640594035],[-55.33866189901331,47.24401420660129],[-55.333836270281374,47.26514680165316],[-55.467518615756475,47.359318218330266],[-55.74366796041073,47.24239743207677],[-55.7922573866172,47.22133268583975],[-55.9194402677092,47.217871521481236],[-55.997907611503315,47.21656616932324],[-55.99999542195556,47.01393751991105],[-55.945348864976616,47.01364558688298],[-55.923636254128134,47.02527411226617],[-55.87816120282425,47.06631704031492],[-55.863074529990044,47.076012650918656],[-55.839660331667496,47.08068787980708],[-55.827158305289885,47.07524619158196],[-55.79905258059957,47.089307504208286],[-55.77813260657656,47.10701351127278],[-55.747146385209554,47.09855170220311],[-55.71762689503001,47.10236809775424],[-55.70638942932417,47.09586339906023],[-55.72453711649167,47.077654795788476],[-55.78686212941704,47.07377144032573],[-55.81618811981413,47.035136747922856],[-55.89200674297551,46.992896192650115],[-55.89569116695885,46.99491900647874],[-55.91262348181504,46.97152263352708],[-55.89062758243473,46.9817111555417],[-55.86031233862822,46.981275791759025],[-55.841169374204,47.010150829371746],[-55.827888228744435,47.01791858339138],[-55.77157768815308,46.99354874626701],[-55.75151368321013,46.98677023115031],[-55.73739384694671,47.00033162565409],[-55.717901219765,47.028590882489716],[-55.67116844589406,47.01617428549493],[-55.651854265536066,47.00389007215067],[-55.644027711324185,47.0148715285165],[-55.61148238048934,47.03502899164455],[-55.59036365442137,47.01906063732459],[-55.57353826594502,47.04906684541991],[-55.55994129217149,47.05420784126575],[-55.52935761683962,47.05464624859587],[-55.510517496897,47.07019226325843],[-55.48922948206061,47.06182071101074],[-55.444608591673756,47.07006900179362],[-55.42585794227563,47.03014009936366],[-55.40502402505726,47.02648229582216],[-55.39584968019288,47.04428887096985],[-55.405484414070656,47.06061749777241],[-55.391136985238646,47.07109089197308],[-55.392647483007835,47.083814584429874],[-55.36899579628338,47.11470123893689],[-55.386410815470626,47.113050761637474],[-55.4804628645137,47.1328625329365],[-55.49528889098044,47.14008445728652],[-55.485256388782226,47.14977479644964],[-55.46306200056471,47.1884711027516],[-55.43616650045017,47.19179839454631],[-55.42028950185966,47.20523330729463],[-55.41085851006772,47.22191059689004],[-55.386289289565255,47.21867128993318]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.67071708754726,\"lat\":47.15883417584512},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1002\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"1002016\"],\"csd_name_en\":[\"Division No.  2\",\"Subd. H\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Division No.  2, Subd. H\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.2392225428479,47.1523588772525],[-55.243090194019985,47.161236394798905],[-55.24310947757062,47.16958238363265],[-55.31876153855552,47.188658139557674],[-55.33974161534696,47.194665231508864],[-55.35516308742959,47.16798377849838],[-55.386410815470626,47.113050761637474],[-55.36899579628338,47.11470123893689],[-55.34044517035336,47.11995124143022],[-55.2879775821938,47.129350054878095],[-55.270329896239424,47.135180086109116],[-55.2392225428479,47.1523588772525]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.314338875684534,\"lat\":47.15260853687234},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1002\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"1002023\"],\"csd_name_en\":[\"Winterland\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Winterland\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.638430607935625,47.637694548149504],[-54.61580235156834,47.654284280590936],[-54.601356735796934,47.67620376424173],[-54.59887352635221,47.71017288788214],[-54.60898912372135,47.71641682753244],[-54.62505792612861,47.75011842922994],[-54.65555939171254,47.760887027542545],[-54.68154784335321,47.779529977486305],[-54.70248779471954,47.80801928908134],[-54.74693443662857,47.80751688747159],[-54.746545097606884,47.72567008841502],[-54.74180732592641,47.67705018712411],[-54.78636429713498,47.66482810670438],[-54.81544179233347,47.65274648513608],[-54.821884691843735,47.65904892346349],[-54.85438237118622,47.73954509630447],[-54.87297557298506,47.73186083888691],[-54.87726274376927,47.705655959266096],[-54.888004173568184,47.6890643053295],[-54.901446857623434,47.682945899551335],[-54.937461912148066,47.68655016728877],[-55.00717408429177,47.66911136111369],[-55.01979973982574,47.661222719721195],[-55.029267513896585,47.6407177885494],[-55.05742392692635,47.635205202968976],[-55.07993515728363,47.60588903125141],[-55.08851496658479,47.58669034434864],[-55.10965239889759,47.56718654378882],[-55.0678424511258,47.56045795028968],[-54.989552528765245,47.56815285192836],[-54.95259221930683,47.58319498348928],[-54.929497525747564,47.601020879061316],[-54.89770668476664,47.59869802103947],[-54.88223469062576,47.60137210803258],[-54.850736068434536,47.599162292143134],[-54.803257852723235,47.608655185223085],[-54.78088300979015,47.616676378270945],[-54.75531497061473,47.61777122768728],[-54.72644722038583,47.63950859526866],[-54.760805390385535,47.65076538334273],[-54.71861747552345,47.66797670251381],[-54.71086487761783,47.666961601818265],[-54.67103420053885,47.68735360718115],[-54.65726771689874,47.66728070209297],[-54.71909375432152,47.64268426363253],[-54.71175512170677,47.635900626669795],[-54.69405739505134,47.642917435833354],[-54.638430607935625,47.637694548149504]],[[-54.896490057957834,47.621296488977386],[-54.89956543099632,47.637387111751366],[-54.88669743186933,47.64812339306365],[-54.87259869171405,47.629753758556426],[-54.87855151140507,47.618838280250365],[-54.896490057957834,47.621296488977386]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.83209836998476,\"lat\":47.66543127905436},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1002\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"1002029\"],\"csd_name_en\":[\"Division No.  2\",\"Subd. J\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Division No.  2, Subd. J\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.97400210511014,47.95854604231614],[-54.005284964302675,47.969034021292835],[-54.01929816737933,47.98827482458901],[-54.01246790758455,47.999931673228254],[-54.03411957769412,48.000792265605575],[-54.04588097880501,48.008846247211586],[-54.0454002283538,48.0329642972893],[-54.05713224687034,48.05031946990521],[-54.09742649866423,48.058998835568254],[-54.1164066707921,48.081669745657344],[-54.188689243244184,48.06418719938368],[-54.217656879768676,48.06789435689771],[-54.23335677458977,48.0770163418471],[-54.26294014890177,48.07419445822035],[-54.27762746674007,48.06620420277],[-54.31607074210753,48.06047065230774],[-54.311154453263555,48.07061567887813],[-54.4004114236377,48.131027708785034],[-54.387864125275456,48.14150236942433],[-54.40824731268125,48.15688453894839],[-54.40654719489026,48.174670877115176],[-54.42981064700728,48.201941292959134],[-54.458274514441314,48.20334503208994],[-54.46608709609515,48.190118046331804],[-54.53361539213538,48.20599561557648],[-54.55219440376723,48.19007462388218],[-54.56906016140196,48.18917729705745],[-54.59948508597199,48.19939678494686],[-54.637709561184764,48.19625183486117],[-54.65286812039056,48.18143847228033],[-54.622978134585956,48.164298719201355],[-54.644540180778016,48.14555737288846],[-54.677962829592474,48.14409854620709],[-54.70251192286509,48.12107590517784],[-54.747144216990186,48.110029193505156],[-54.76166943319919,48.10186491817558],[-54.74993194970919,48.07482082796022],[-54.73666692072168,48.0697115018988],[-54.716111884827775,48.07430041331659],[-54.70696079961053,48.059481415303026],[-54.71596227801848,48.04370986650935],[-54.68965025673128,48.025875884298955],[-54.66268483261617,48.010703441079826],[-54.629612373767074,48.010049588790444],[-54.5929288302312,48.020092282440274],[-54.572876966041385,48.033289110014586],[-54.54906108176662,48.01810310095337],[-54.51371609206834,47.999981492325595],[-54.516627099034345,47.97823095770169],[-54.47963549836589,47.93839529519607],[-54.47023000920855,47.9314266721433],[-54.436321451849864,47.94442657453223],[-54.41041821636528,47.91176227806225],[-54.36352569348936,47.88637935540167],[-54.36052929982161,47.87385941176916],[-54.34254811542418,47.85874660120524],[-54.310652798569386,47.851513657150875],[-54.310688047823376,47.827657168232506],[-54.30385408435128,47.82048537477768],[-54.270248858622956,47.828577201745176],[-54.25875617590641,47.83857985787234],[-54.23183271968892,47.842818117504095],[-54.19445649130269,47.831685435579196],[-54.17863401883419,47.85727487313581],[-54.12148532245191,47.824449314899404],[-54.09625112015119,47.80614744459572],[-54.087440260691274,47.81693851897225],[-54.08570168119225,47.83305161023056],[-54.08925117691564,47.86919505374171],[-54.07538076240779,47.88355682841965],[-54.034805511909276,47.91302289991658],[-54.020057719791325,47.927057797825725],[-53.99606556649042,47.93724747983083],[-53.97400210511014,47.95854604231614]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.354120959642486,\"lat\":48.01362931145633},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1002\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"1002048\"],\"csd_name_en\":[\"Division No.  2\",\"Subd. K\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Division No.  2, Subd. K\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-58.40784479901835,48.553152511449994],[-58.40824189198653,48.55610025069995],[-58.468664308988735,48.556446663791974],[-58.48438904574295,48.54332115157556],[-58.495373861211725,48.52521270221782],[-58.531500599731295,48.50050052886014],[-58.50820549869521,48.49898228564129],[-58.48885483634539,48.51254797841004],[-58.46663583873781,48.51790039146262],[-58.449477907169275,48.51016721027537],[-58.43349046108725,48.49039097643986],[-58.434304207568275,48.501124291120654],[-58.419466988431964,48.51370779928907],[-58.40784479901835,48.553152511449994]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-58.45600516660848,\"lat\":48.52946880632846},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1004\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"1004018\"],\"csd_name_en\":[\"Stephenville Crossing\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Stephenville Crossing\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.636776807887664,48.871510210201535],[-53.679568110422835,48.86906829404954],[-53.68455750876228,48.84329825025962],[-53.666331318922786,48.846054501629496],[-53.649150994478305,48.85736080998493],[-53.631900812085924,48.86114689564868],[-53.636776807887664,48.871510210201535]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.6619928496446,\"lat\":48.85969176820246},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1007\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"1007048\"],\"csd_name_en\":[\"St. Brendan's\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"St. Brendan's\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.8217932946559,49.50023903029422],[-54.85160739240468,49.516169409680714],[-54.87672911556854,49.500697596012984],[-54.89043751136891,49.48478709779444],[-54.82904219673047,49.48141769832957],[-54.8217932946559,49.50023903029422]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.85275086785696,\"lat\":49.49573015561116},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008032\"],\"csd_name_en\":[\"Cottlesville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Cottlesville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.8086199291291,49.529948464719624],[-55.795302622747414,49.528895296509454],[-55.78341399053618,49.53919170406619],[-55.80745762379339,49.549456677604056],[-55.80815760369617,49.53126105172751],[-55.8086199291291,49.529948464719624]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.798758338726714,\"lat\":49.53791816482566},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008098\"],\"csd_name_en\":[\"Miles Cove\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Miles Cove\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-60.153661516931415,53.54550790129045],[-60.14587909810212,53.52342019392521],[-60.1365293900662,53.52568390216534],[-60.13718087006539,53.54890652064372],[-60.153661516931415,53.54550790129045]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-60.143524210614494,\"lat\":53.536906542921436},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1010\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"1010022\"],\"csd_name_en\":[\"North West River\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"North West River\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-56.22620534275395,54.17770777048865],[-56.298255080284264,54.250044807268395],[-56.42073908123161,54.37507521145826],[-56.575908406229736,54.513566269644926],[-56.79565352090063,54.68890772818814],[-56.89191768762425,54.767107295964834],[-56.961373910572995,54.81071831557546],[-57.0655397699266,54.85343439286076],[-57.179699746065666,54.891905634893064],[-57.48315510726995,54.9899711689551],[-57.79662701889669,55.094706865105955],[-58.00949052988907,55.159504671279684],[-58.17738944114931,55.25005784754873],[-58.465117165159796,55.403654048297454],[-58.67500905083764,55.50507631901449],[-58.880372562390136,55.5702593424547],[-59.12888980125669,55.63987678622356],[-59.49999999895698,55.73018571191554],[-59.50000001074941,55.74999999856144],[-59.58260118181704,55.750061309382126],[-59.608026346753206,55.756162710675696],[-59.85898187690899,55.80515526780026],[-60.00038732239476,55.834085744600976],[-60.11581588871204,55.888484750508496],[-60.3290657687961,56.00070569406727],[-60.76998138832491,55.85227480843787],[-60.834851184040595,55.84550380771021],[-60.86573492162637,55.847070791101686],[-60.99987461988099,55.81428187414619],[-61.05946131346948,55.772749086153354],[-61.15118555120229,55.58675962390346],[-61.21103818066201,55.50800460924568],[-61.392643234017775,55.33684899493045],[-61.48054923293441,55.282182349213905],[-61.538817010190854,55.27507947590793],[-61.59900558155438,55.2115039351743],[-61.584268351851,55.17965562848292],[-61.749359555710456,55.12620285256429],[-61.81556962451214,55.13664934052313],[-61.857868115539915,55.102918192902315],[-62.27035365539856,55.01067036945149],[-62.23353965932786,54.91967402120083],[-61.89419984042441,54.98932035552989],[-61.47711742844296,55.03978005205414],[-61.453034643776704,55.00245753841755],[-61.450551021916944,54.88110576876655],[-61.459788900924636,54.871010254643856],[-61.27908232034428,54.834506767519116],[-61.01394841315598,54.713213930644656],[-61.02855983487121,54.492479286162784],[-60.92366504504046,54.42336913490274],[-60.60003830222804,54.442609474966645],[-60.43735939314209,54.410592714772065],[-60.39169494391072,54.404882317506804],[-60.36415013945616,54.397710851570494],[-60.33490034810322,54.398648436546196],[-60.31504349812376,54.39501546907258],[-60.33809343247148,54.35900680516334],[-60.34344555978941,54.33999830626891],[-60.36818385255511,54.327867252215164],[-60.35910579344456,54.32236707192197],[-60.32305236001854,54.31680472974678],[-60.264028390686654,54.314327136554134],[-60.21043139585711,54.321410730292605],[-60.15712008751494,54.33290777456489],[-59.87437215855639,54.248361415204876],[-59.852358729652614,54.218540408016004],[-59.8321602756731,54.22167050387601],[-59.88689687328415,53.97319792320392],[-60.03262061144344,53.92832150949526],[-60.08051055331299,53.91531282378534],[-60.096355029518044,53.89416117954503],[-60.087454854267826,53.873058220348234],[-60.1335302766106,53.86457462748028],[-60.121336124886135,53.84970980878762],[-59.97057352069494,53.7980296712311],[-59.70700231898578,53.67466534986887],[-59.484516585840545,53.5694239284953],[-59.4244440093137,53.5447729837183],[-58.85738600505676,53.734088180852495],[-58.826704801760364,53.7745289412064],[-58.79467283687029,53.881246027913036],[-58.76559168401443,53.878686331696265],[-58.74257242367944,53.88384206762674],[-58.71032382433858,53.88352094516126],[-58.663306302042514,53.90066283642048],[-58.609344211350994,53.907089868142855],[-58.12002468729795,54.0422972290051],[-57.3738557853522,54.02315373904762],[-57.32980634749326,54.0483875614214],[-57.29255097585228,54.07668251171231],[-57.19992548279533,54.104370322711375],[-56.965090786920406,54.137763602584045],[-56.74130584014802,54.15342613029037],[-56.51584866884923,54.17003179636143],[-56.389166934993845,54.17831997541557],[-56.22620534275395,54.17770777048865]],[[-59.787642650588076,54.904238723942306],[-59.79664270033497,54.91472937467276],[-59.77574497978563,54.91904004962678],[-59.760800138420024,54.91050395863272],[-59.787642650588076,54.904238723942306]],[[-60.23286273175632,55.44916534724278],[-60.22942917372412,55.46251926009336],[-60.212335724996706,55.468652275565866],[-60.19496618604095,55.458572041774254],[-60.22051352384295,55.44584036677049],[-60.23286273175632,55.44916534724278]],[[-59.19544166069473,55.080295968591614],[-59.196878441127375,55.09097946191276],[-59.16966851720874,55.09740987039255],[-59.155211962421475,55.082173706760614],[-59.17743337129343,55.07568267455945],[-59.19544166069473,55.080295968591614]],[[-58.47606793099505,54.18462099886892],[-58.42792715673248,54.18893895899017],[-58.40730423435769,54.18384855034121],[-58.41011370060319,54.16989013940185],[-58.423637207513224,54.164756973901255],[-58.47469164866624,54.17617367420344],[-58.47606793099505,54.18462099886892]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-59.23717406536435,\"lat\":54.78414751713172},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1011\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"1011005\"],\"csd_name_en\":[\"Division No. 11\",\"Subd. C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Division No. 11, Subd. C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-58.47606793099505,54.18462099886892],[-58.47469164866624,54.17617367420344],[-58.423637207513224,54.164756973901255],[-58.41011370060319,54.16989013940185],[-58.40730423435769,54.18384855034121],[-58.42792715673248,54.18893895899017],[-58.47606793099505,54.18462099886892]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-58.43832794889272,\"lat\":54.178086215356714},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1011\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"1011010\"],\"csd_name_en\":[\"Rigolet\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Rigolet\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.80878526538049,46.28667263119905],[-62.86539983614596,46.4373035166592],[-62.936789344432434,46.44104577334679],[-63.04764521194078,46.42677555738048],[-63.03648212412627,46.410069278112445],[-63.0041085679021,46.40130655400142],[-62.99216067087481,46.38607253718574],[-63.04704050256131,46.38094754109202],[-63.06487260589173,46.359365970302235],[-63.055639882202996,46.361748341737886],[-63.04625072659592,46.33773819835063],[-63.02196988493851,46.33680087984214],[-62.98595085901199,46.32046310138844],[-62.989789882141196,46.309463352174035],[-63.00497126981824,46.305758439409736],[-63.00897007288693,46.28822217856794],[-62.98725681266916,46.274743289107526],[-62.952064735941796,46.28032858709315],[-62.944755473123905,46.262650585026684],[-62.92498543692364,46.26673793891864],[-62.88860409485034,46.278637579812575],[-62.88377559986821,46.27323367111406],[-62.8438114523006,46.2764265328604],[-62.80878526538049,46.28667263119905]],[[-62.90131488924105,46.36903828163344],[-62.900134977460375,46.3568262119591],[-62.90903300443225,46.353349110271125],[-62.91336648336176,46.36433981800569],[-62.90131488924105,46.36903828163344]],[[-62.85813682264635,46.37050942304944],[-62.85791213308882,46.359432358282284],[-62.87841766393677,46.363426039805255],[-62.875767894869995,46.371272535503884],[-62.85813682264635,46.37050942304944]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.929985047089694,\"lat\":46.354330211042274},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1102\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1102064\"],\"csd_name_en\":[\"East River\",\"Part 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Fire District\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"East River, Part 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.09768264986693,46.294193307067715],[-63.114159011526255,46.30548901289349],[-63.13254912567858,46.30469523954317],[-63.12704532181376,46.29282312528125],[-63.175380915623016,46.294424575406104],[-63.187752897331535,46.301635409763506],[-63.187808705255186,46.28664681332143],[-63.19649257325836,46.27656193545223],[-63.18575739769573,46.26170063479427],[-63.17734654088027,46.249969565736876],[-63.15827165148763,46.237418452586326],[-63.13634820618861,46.21714351071657],[-63.10102751843491,46.23865833122095],[-63.089882332506505,46.250062992056485],[-63.07368023227371,46.2645421328024],[-63.082484872237245,46.27087169861906],[-63.09768264986693,46.294193307067715]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.135310962862434,\"lat\":46.26551008610423},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1102\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1102075\"],\"csd_name_en\":[\"Charlottetown\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Charlottetown\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.73868307911721,45.05834910449287],[-64.75520530100148,45.05586084980985],[-64.74441586519423,45.032706039715364],[-64.71036904701698,45.04882348975766],[-64.7155277096687,45.06060479371937],[-64.73868307911721,45.05834910449287]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.73344822767841,\"lat\":45.04907144599765},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1207\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1207004\"],\"csd_name_en\":[\"Berwick\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Berwick\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-61.94382363123993,45.39976923159735],[-61.810947768104526,45.45668677828121],[-61.7337346449747,45.4910689616549],[-61.73955215394102,45.52623170119427],[-61.597044632693304,45.58515124747901],[-61.583184192189,45.56997225611144],[-61.522200163634814,45.60281519729797],[-61.52645712159633,45.613243427892854],[-61.432069556920894,45.65020563909598],[-61.45277778916805,45.67385136191518],[-61.470331584745985,45.70272798207393],[-61.488204878720566,45.73917025664207],[-61.53468572762491,45.81294588223614],[-61.568706926792714,45.86457901341985],[-61.78321441753333,45.74970252056364],[-61.874265419136826,45.70213569122884],[-61.89402101429234,45.685988783300154],[-61.8910670935767,45.67038557676783],[-61.915713149670424,45.652539977142546],[-61.91118260624006,45.63012555872959],[-61.91749360510672,45.60325080564913],[-61.90120898761808,45.58607017268609],[-61.905555815704325,45.5451564952241],[-61.92368190146324,45.533888010549774],[-61.93953110941579,45.49741670538186],[-61.94169329419337,45.47302209395824],[-61.936909107631095,45.44801808867926],[-61.93169930340693,45.44377479010576],[-61.94641907357655,45.41055930594987],[-61.94382363123993,45.39976923159735]],[[-61.71137722180915,45.600119771441754],[-61.724481171509474,45.59660838803485],[-61.723475218317,45.60435009903762],[-61.71137722180915,45.600119771441754]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-61.70996851888761,\"lat\":45.643125188429565},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1214\"],\"cd_name_en\":[\"Antigonish\"],\"csd_code\":[\"1214006\"],\"csd_name_en\":[\"Antigonish\",\"Subd. B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of county municipality \\/ Subdivision municipalit\\u00e9 de comt\\u00e9\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Antigonish\",\"csd_name_fr\":\"Antigonish, Subd. B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-60.897926004354034,45.3872269209649],[-60.89003989937587,45.5078220001526],[-60.755928241373454,45.50529415949006],[-60.86871802710671,45.58476516646858],[-60.887059953222455,45.60665709858095],[-60.9649559846733,45.605212040120755],[-61.01499013684982,45.596043147766196],[-61.05499148410843,45.59115381397678],[-61.08388515046593,45.57968086348587],[-61.13179927511171,45.56811136902197],[-61.22778284868059,45.54966380206685],[-61.30218608524399,45.539773752792065],[-61.290601554651865,45.53328791864948],[-61.227878436061474,45.52173777782493],[-61.20784723215055,45.51144277476738],[-61.16259258851215,45.51158999724953],[-61.125456108359664,45.46881376920826],[-61.1063752053607,45.45322640386869],[-61.07378853376579,45.43289911852092],[-61.044306963155854,45.42010821706848],[-61.0057993367092,45.408756315497264],[-60.897926004354034,45.3872269209649]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-61.00241201981253,\"lat\":45.51204291104254},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1216\"],\"cd_name_en\":[\"Richmond\"],\"csd_code\":[\"1216001\"],\"csd_name_en\":[\"Richmond\",\"Subd. C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of county municipality \\/ Subdivision municipalit\\u00e9 de comt\\u00e9\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Richmond\",\"csd_name_fr\":\"Richmond, Subd. C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.55849104354591,44.97288552269984],[-66.57919375285793,45.104099307623166],[-66.57034202239858,45.11551718493255],[-66.59228721615847,45.12054978021526],[-66.59212424271652,45.23032014681119],[-66.59303717855221,45.312786626649896],[-66.70013785339806,45.31225097746535],[-66.77706088077859,45.312984255087706],[-66.77379340657818,45.23868242849588],[-66.76502972334515,45.12396359206459],[-66.77321453211908,45.10927190414461],[-66.79779588624686,45.09360606265863],[-66.79087311153388,45.078507637270825],[-66.77128616581808,45.081145675286045],[-66.75940038735722,45.048639882127745],[-66.77794687089579,45.04077638122523],[-66.81367315059676,45.03703784639667],[-66.8144457701157,45.016055666206796],[-66.81501048311615,45.00107670471474],[-66.80488680611937,44.93043761994919],[-66.81137491675892,44.896277708730544],[-66.836533835635,44.83069868939013],[-66.66793264908277,44.86365070467474],[-66.66543939793527,44.916657681861395],[-66.55849104354591,44.97288552269984]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.69307112628837,\"lat\":45.07977006552743},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1302\"],\"cd_name_en\":[\"Charlotte\"],\"csd_code\":[\"1302011\"],\"csd_name_en\":[\"Pennfield\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Charlotte\",\"csd_name_fr\":\"Pennfield\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.95851983810076,45.119531123609804],[-66.90852316674867,45.126269588731034],[-66.90521651241295,45.13249947542887],[-66.92304570628572,45.33987007249978],[-67.00004135859017,45.32638294170408],[-67.0433490049004,45.31651400446981],[-67.06564268951604,45.30676987413858],[-67.0882695217075,45.29083930205439],[-67.07151837352757,45.27559514233269],[-67.09111939031563,45.26175595232406],[-67.07401108565467,45.250826186426465],[-67.08582084713494,45.23269594977844],[-67.0871570148729,45.21360514208946],[-67.07360840396802,45.167594841452086],[-67.065024162552,45.16650502250592],[-67.03858578854197,45.15003914444992],[-67.01605266466846,45.13984334272504],[-67.01460713076936,45.109797971761495],[-66.95851983810076,45.119531123609804]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.99097094516681,\"lat\":45.22608393720268},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1302\"],\"cd_name_en\":[\"Charlotte\"],\"csd_code\":[\"1302021\"],\"csd_name_en\":[\"Saint Patrick\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Charlotte\",\"csd_name_fr\":\"Saint Patrick\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.25064126287899,45.86197107922945],[-66.17288236384707,45.954857881042734],[-66.1000104460672,46.04018028339164],[-66.10021183429284,46.041432774461676],[-66.15746665631661,46.15310632510937],[-66.27737885366767,46.01364177094546],[-66.39255886117942,45.87999563238113],[-66.41130848331298,45.88486187990482],[-66.43185929348199,45.87461709499133],[-66.40410503701908,45.87302630008397],[-66.34358049714983,45.88705933057366],[-66.3096701828081,45.89038825376892],[-66.29604288238274,45.88646095251645],[-66.28265570464826,45.87171803440818],[-66.25064126287899,45.86197107922945]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.22709651715904,\"lat\":45.989169460141724},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1303\"],\"cd_name_en\":[\"Sunbury\"],\"csd_code\":[\"1303014\"],\"csd_name_en\":[\"Sheffield\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Sunbury\",\"csd_name_fr\":\"Sheffield\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.96616934100594,45.874460951868954],[-66.00309000827805,45.88332100765455],[-66.0204389088633,45.881590274862035],[-66.05174987057683,45.88945474633468],[-66.0923442948027,45.88516896393983],[-66.1177475783624,45.878530891908994],[-66.13423146628502,45.86903473855618],[-66.16636837518132,45.833930532916064],[-66.1344322236862,45.81828033257613],[-66.12564084136051,45.805742016317545],[-66.11377530672631,45.78810441275416],[-66.11454959233619,45.77829488509199],[-66.13718619138916,45.77125069704617],[-66.13786058517007,45.756844060648824],[-66.09830715294393,45.74205282750137],[-66.08994939114712,45.726513266335736],[-66.07773892591933,45.723115235769086],[-66.06477805535258,45.70973618879683],[-66.04477171509537,45.724622244752304],[-66.06383979561586,45.748106470162085],[-66.03716496349163,45.7893350590027],[-66.02323679529631,45.800038122809134],[-66.00721012108848,45.82145303899578],[-66.01160086174048,45.842624716318085],[-66.04357661424808,45.831596846858254],[-66.04517395178537,45.850159566297414],[-66.02260263296485,45.85870873338109],[-66.01212485575849,45.846789347766915],[-65.99486669007104,45.84992341485781],[-65.97549907871125,45.87350930249397],[-65.96616934100594,45.874460951868954]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.0757825659118,\"lat\":45.81882239807045},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1304\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1304011\"],\"csd_name_en\":[\"Cambridge\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Cambridge\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.42660453559529,45.706131983820306],[-65.443785466443,45.75010854281834],[-65.45111908603162,45.741990250259505],[-65.4738547008724,45.746935372508744],[-65.51736737024778,45.743509814047584],[-65.52276395115155,45.73268668658933],[-65.50439524329799,45.73552296318382],[-65.49865133257207,45.72797417600184],[-65.48099538623369,45.731148296260415],[-65.46393045734071,45.732047617792105],[-65.44840148381955,45.71678843172194],[-65.44113774353443,45.699046226240455],[-65.45804716912222,45.70163508678338],[-65.46508869904707,45.68688765458312],[-65.47870263082767,45.69295116164952],[-65.48804894289108,45.70652729204712],[-65.49924629017768,45.7131009714424],[-65.51877743990478,45.70740081515166],[-65.52225145564968,45.718686128896906],[-65.53750719097764,45.72426199415643],[-65.55239085965914,45.71507584247993],[-65.56845886509112,45.713515481254625],[-65.58318498561076,45.7047474383148],[-65.59875664963711,45.70259633546826],[-65.65313099109575,45.66951764980732],[-65.66729881201435,45.65615395472177],[-65.64419002702479,45.604420605010844],[-65.63657271320743,45.58739482669114],[-65.59035503137414,45.589286007361224],[-65.39110735266816,45.5987535478248],[-65.40608639182368,45.63090789438289],[-65.42926076682818,45.692112445813805],[-65.42660453559529,45.706131983820306]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.52836181671036,\"lat\":45.65201885518563},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1305\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1305021\"],\"csd_name_en\":[\"Sussex\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Sussex\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.87240487804715,45.414429533014186],[-65.8768018862133,45.43008945113482],[-65.89288817875817,45.43270843952891],[-65.90941798133439,45.460858550103985],[-65.89924530937044,45.481109660618664],[-65.90903562405255,45.504330505636496],[-65.9203281977693,45.48452380952468],[-65.93601179373972,45.47572650425308],[-65.94272860375193,45.45721189442382],[-65.96067370475156,45.459081992565274],[-65.97871488310413,45.45333020374671],[-65.99568920293649,45.4394598091223],[-66.00283267957754,45.41725743776542],[-65.97400167146417,45.40766963830201],[-65.96695977775856,45.40022417262442],[-65.93622503601686,45.4042638229238],[-65.90389197088942,45.389921575293656],[-65.88414593899402,45.412251264859016],[-65.87240487804715,45.414429533014186]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.93520466849402,\"lat\":45.434501283302446},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1305\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1305057\"],\"csd_name_en\":[\"Quispamsis\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town \\/ Ville\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Quispamsis\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.88135463054594,45.62266217248372],[-64.90511112801123,45.67633707716806],[-64.92577730403386,45.71878463376888],[-64.95534172641179,45.70905042870457],[-64.94922370265,45.677767405230725],[-64.94136070194914,45.6728067137253],[-64.93357443208932,45.64628453015868],[-64.95359989731847,45.638518090742544],[-64.9693832990789,45.6262206508364],[-64.948360598519,45.60049942074366],[-64.93359220904264,45.59957760075692],[-64.90902509930486,45.60512950185359],[-64.88135463054594,45.62266217248372]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.92535245022464,\"lat\":45.650524565642534},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1306\"],\"cd_name_en\":[\"Albert\"],\"csd_code\":[\"1306006\"],\"csd_name_en\":[\"Alma\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Albert\",\"csd_name_fr\":\"Alma\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.14417602319706,46.08389753355901],[-64.22692772340496,46.128507284127224],[-64.23369586818445,46.12535833947244],[-64.25568125415779,46.14120592166654],[-64.48895564367596,46.095372783071774],[-64.49554480589346,46.0936826145888],[-64.49327554431822,46.05669609461167],[-64.48652423567884,45.95457665626005],[-64.48443691426046,45.920201691840525],[-64.4844124040073,45.919032297213775],[-64.48143202156072,45.87984971747992],[-64.51547769651594,45.838045468480274],[-64.54997479213029,45.80216676119181],[-64.57691357719632,45.76132715778509],[-64.5919702397893,45.749888853925555],[-64.59517645013517,45.731030465834316],[-64.61164381389268,45.644892998154646],[-64.54013302300963,45.684271655015024],[-64.49900622536136,45.69510132071166],[-64.47629771318923,45.70995505926241],[-64.4673953237216,45.73342171776075],[-64.44522906370743,45.760582393204125],[-64.42511235615267,45.77305622680493],[-64.39659142778416,45.80196981574906],[-64.36106474638723,45.83280281296869],[-64.35204323062925,45.85303486593151],[-64.33058231312748,45.85694899365192],[-64.31922299257938,45.878124706651356],[-64.29839182816586,45.88561846486766],[-64.29171059117412,45.89738956339489],[-64.27270102389673,45.897149160229645],[-64.26826496089382,45.90672226506647],[-64.2815678715375,45.94386713845087],[-64.24159452500864,45.97597599112637],[-64.23678324048001,45.99359496301639],[-64.20227512190392,46.017810104062775],[-64.15227468701679,46.088029960680146],[-64.14417602319706,46.08389753355901]],[[-64.33542549916531,45.94157787607282],[-64.31471347060764,45.91879781558519],[-64.31347688526016,45.9042545762994],[-64.34251705012458,45.896579715467006],[-64.35114781399878,45.87794809773716],[-64.41210207018332,45.875226771302955],[-64.41309857008685,45.86689385900089],[-64.44405079529758,45.88014772769259],[-64.43651247840589,45.89954299697563],[-64.45207965487603,45.902866736234074],[-64.4367876133092,45.92367922573533],[-64.4562878717357,45.93093398477496],[-64.42726621986141,45.967632324699814],[-64.33542549916531,45.94157787607282]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.39157039276628,\"lat\":45.94377564376168},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1307\"],\"cd_name_en\":[\"Westmorland\"],\"csd_code\":[\"1307008\"],\"csd_name_en\":[\"Sackville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Westmorland\",\"csd_name_fr\":\"Sackville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.66339074576973,46.718974272527795],[-65.78229717214377,46.81811964084169],[-65.78495307987114,46.82037004103501],[-65.78943574645106,46.824221763490705],[-65.81826046892938,46.8481265956649],[-65.8801792776516,46.89993835923427],[-66.01267435304585,46.87021322812314],[-65.94733404281666,46.726069317698176],[-65.85550223560651,46.52612746163947],[-65.79758923465116,46.39752991433062],[-65.71400254661081,46.49230761457654],[-65.58545036254824,46.63117337922977],[-65.56876877262027,46.64096306008924],[-65.66339074576973,46.718974272527795]],[[-65.8579637392444,46.75007443734393],[-65.8134683835142,46.76764065721948],[-65.79596434924699,46.7288717377615],[-65.8068244045709,46.727067981728105],[-65.82186589652945,46.708455342378286],[-65.84224281533805,46.716221237959985],[-65.8609477723999,46.7284460634178],[-65.87883961510036,46.73314626794893],[-65.87269473564477,46.743729828331354],[-65.8579637392444,46.75007443734393]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.79975125618314,\"lat\":46.671833337876244},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1309\"],\"cd_name_en\":[\"Northumberland\"],\"csd_code\":[\"1309018\"],\"csd_name_en\":[\"Blackville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Northumberland\",\"csd_name_fr\":\"Blackville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.35550402789146,47.08155848330273],[-65.35647527556536,47.10556096422176],[-65.3762297707789,47.10866436130967],[-65.3778704092868,47.1301507018865],[-65.36694244024368,47.14329771241958],[-65.3758199500593,47.17476384233974],[-65.38910908201356,47.190219529609166],[-65.40576957826607,47.189495848317584],[-65.46734609357884,47.31314814662603],[-65.62471721653652,47.27622335273657],[-65.75998025914745,47.24525234200811],[-65.71271288536208,47.1610861927362],[-65.71211124517241,47.155336413894986],[-65.6566875542099,47.060778710027265],[-65.62064021166425,46.99518530016004],[-65.61248982672787,46.988392519790914],[-65.60541958211027,47.004468175059216],[-65.61399085407612,47.010970394633425],[-65.59360434325131,47.05062873931334],[-65.55915428827974,47.0671530227871],[-65.54714505098008,47.06656737474462],[-65.52307360193849,47.082561159490865],[-65.53861913086301,47.094608793185095],[-65.52615916490012,47.10725551922934],[-65.51002534672529,47.0939402619987],[-65.49988474934324,47.09814906023951],[-65.48319294368405,47.09204718246106],[-65.46427433146067,47.076935903895595],[-65.43990678884839,47.085195221630045],[-65.42244419146122,47.063559566233856],[-65.39146080232948,47.07542249003862],[-65.35550402789146,47.08155848330273]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.55500082311264,\"lat\":47.17273894724247},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1309\"],\"cd_name_en\":[\"Northumberland\"],\"csd_code\":[\"1309031\"],\"csd_name_en\":[\"Newcastle\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Northumberland\",\"csd_name_fr\":\"Newcastle\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.9843820931723,47.83418449171454],[-65.00275598051358,47.83765180022485],[-65.04713615600508,47.83300027763768],[-65.04347296757363,47.826936923064856],[-65.06720211175218,47.81897598269549],[-65.06370146979566,47.811041599679044],[-65.03603840927244,47.81605861348444],[-65.02111929263192,47.80838770602789],[-64.98564507643954,47.82182480409767],[-64.9843820931723,47.83418449171454]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.02155944430126,\"lat\":47.82383538726569},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1315\"],\"cd_name_en\":[\"Gloucester\"],\"csd_code\":[\"1315040\"],\"csd_name_en\":[\"Maisonnette\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Gloucester\",\"csd_name_fr\":\"Maisonnette\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-61.64299564041161,47.589643612211454],[-61.72849338808592,47.53532025103093],[-61.77371850226376,47.49737127288077],[-61.862229981929325,47.444039025383724],[-61.95156056059132,47.408219056328335],[-61.985472381117326,47.36572931954757],[-61.992557039922886,47.289845657327916],[-62.00403646066981,47.264562369384656],[-62.02331625922885,47.247605794854614],[-62.02756524074207,47.23610550511284],[-62.02166571384093,47.22159122012134],[-62.00937023459051,47.21037031575423],[-61.96227139467371,47.200142756463784],[-61.88328891246529,47.19905291774443],[-61.867037194785404,47.20208482468689],[-61.68400958888251,47.2584634862864],[-61.66100038369367,47.27913485445223],[-61.687968705723705,47.315017544876426],[-61.702025962203166,47.391131716861835],[-61.69318087641382,47.45621697632332],[-61.687931041807836,47.47393145069062],[-61.67590574748958,47.484728083510014],[-61.6494443682085,47.49933345848219],[-61.598296182293,47.51204626583949],[-61.483637914500825,47.530988598213526],[-61.46446009143579,47.54018676578074],[-61.51631888679772,47.59166830371248],[-61.61218939997278,47.56399795828131],[-61.64299564041161,47.589643612211454]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-61.79514421548161,\"lat\":47.37237364123182},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2401\"],\"cd_name_en\":[\"Communaut\\u00e9 maritime des \\u00celes-de-la-Madeleine\"],\"csd_code\":[\"2401023\"],\"csd_name_en\":[\"Les \\u00celes-de-la-Madeleine\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Communaut\\u00e9 maritime des \\u00celes-de-la-Madeleine\",\"csd_name_fr\":\"Les \\u00celes-de-la-Madeleine\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.6668393975665,48.11713210152024],[-67.60187731767677,48.13495780903078],[-67.64493675566617,48.16435126694498],[-67.65759209779394,48.15468718797604],[-67.67584440670163,48.15020859250112],[-67.67672759491924,48.13347900245803],[-67.6668393975665,48.11713210152024]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.6461441388862,\"lat\":48.139534283227476},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2407\"],\"cd_name_en\":[\"La Matap\\u00e9dia\"],\"csd_code\":[\"2407906\"],\"csd_name_en\":[\"Rivi\\u00e8re-Patap\\u00e9dia-Est\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Matap\\u00e9dia\",\"csd_name_fr\":\"Rivi\\u00e8re-Patap\\u00e9dia-Est\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.5976748055031,48.22102871323956],[-68.73195562849759,48.30415174633653],[-68.76666487119405,48.28435702539925],[-68.80060361088822,48.26138981507309],[-68.8047484678765,48.26358275138646],[-68.83982252031684,48.24307705754417],[-68.85971556287465,48.24544183568127],[-68.89223680979606,48.22023300576409],[-68.84246712921885,48.187627433988354],[-68.76941773418329,48.13920153439203],[-68.75481061383,48.12949909770011],[-68.65926341977017,48.06587857361314],[-68.55907824266635,48.13228589202305],[-68.5074131272053,48.16686797679232],[-68.5976748055031,48.22102871323956]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.69756395700732,\"lat\":48.18746285213508},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2410\"],\"cd_name_en\":[\"Rimouski-Neigette\"],\"csd_code\":[\"2410075\"],\"csd_name_en\":[\"Saint-Eug\\u00e8ne-de-Ladri\\u00e8re\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Rimouski-Neigette\",\"csd_name_fr\":\"Saint-Eug\\u00e8ne-de-Ladri\\u00e8re\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.92736585861665,48.22613756489465],[-68.93813865852748,48.23333188655745],[-68.92766254716737,48.24403502056241],[-68.98993480087253,48.281403267394396],[-68.99946831616997,48.291357395930774],[-69.1176015846633,48.367831939175105],[-69.15858519629316,48.33820543059938],[-69.25599131692985,48.26696790987171],[-69.10814488640906,48.17094459599852],[-69.07641730372899,48.15137774385467],[-69.08040639729289,48.16080583979613],[-69.05083001692694,48.17663031799553],[-69.04202324293159,48.171617951008486],[-69.00790594055078,48.18927838783062],[-69.00235442438593,48.186293514455805],[-68.94618876384743,48.22276077728078],[-68.92736585861665,48.22613756489465]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.09157587093729,\"lat\":48.25766458805189},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2411\"],\"cd_name_en\":[\"Les Basques\"],\"csd_code\":[\"2411055\"],\"csd_name_en\":[\"Saint-Simon-de-Rimouski\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Basques\",\"csd_name_fr\":\"Saint-Simon-de-Rimouski\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.33292032997112,47.9373085947474],[-69.38249792458727,47.968853209554865],[-69.39642459886294,47.957247574022155],[-69.41616805911455,47.96717599698891],[-69.44247142324629,47.94367533392867],[-69.44926228772987,47.93154957550885],[-69.46582012740313,47.92075089615207],[-69.44813116410474,47.909484239338454],[-69.45527288293874,47.90298323860207],[-69.43768364372164,47.89178528275214],[-69.45921494431327,47.87925559380975],[-69.47136457988663,47.86654658424914],[-69.48378026818817,47.86673318388586],[-69.45650227194982,47.85546371516541],[-69.44266001218861,47.85524238442497],[-69.42424667140133,47.87066662030395],[-69.408218046059,47.860940554748446],[-69.38538738707007,47.883610228225415],[-69.33292032997112,47.9373085947474]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.4070258072503,\"lat\":47.914574134917366},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2412\"],\"cd_name_en\":[\"Rivi\\u00e8re-du-Loup\"],\"csd_code\":[\"2412065\"],\"csd_name_en\":[\"Saint-Ars\\u00e8ne\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Rivi\\u00e8re-du-Loup\",\"csd_name_fr\":\"Saint-Ars\\u00e8ne\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.947932688051,46.69929102144891],[-71.00804925099767,46.74210115254413],[-71.03036819159514,46.7394488841115],[-71.06755258811474,46.74403962727115],[-71.09586061457875,46.72490105033457],[-71.10485982133979,46.729761154874396],[-71.13304032955776,46.7073516202134],[-71.13342667080815,46.68665554937012],[-71.12700225891368,46.66963399969252],[-71.15201152061995,46.65238118711948],[-71.11919407895911,46.63004361216751],[-71.09305439255877,46.64912061004809],[-71.0769402062495,46.62832455399597],[-71.06032630148441,46.62386375965422],[-71.00144963664137,46.66600741897004],[-70.97201032775318,46.68272341701995],[-70.947932688051,46.69929102144891]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.05607418795502,\"lat\":46.68803823444694},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2419\"],\"cd_name_en\":[\"Bellechasse\"],\"csd_code\":[\"2419068\"],\"csd_name_en\":[\"Saint-Henri\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Bellechasse\",\"csd_name_fr\":\"Saint-Henri\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.09464176887411,46.141628584172736],[-71.13112152452474,46.17494373374249],[-71.14826059937693,46.16926505271855],[-71.25679988713927,46.09496518166113],[-71.19858255505747,46.04126160584369],[-71.23095390999701,46.023905791271616],[-71.22980618498745,46.00637670500733],[-71.2217870129034,45.97012640276469],[-71.196233707073,45.955257119246056],[-71.16222395769091,45.92484853086393],[-71.12984262905536,45.957379085403254],[-71.10680416382417,45.94609731485482],[-71.04649651826739,46.00634971358212],[-71.00461658668362,45.99061156284782],[-70.99036874604556,46.00485229806663],[-71.00201663334623,46.01058655722989],[-70.98856406770687,46.02398897230958],[-71.02523852689075,46.05801529474084],[-71.01242104161773,46.06704141262779],[-71.02369857340676,46.07643149362278],[-71.04260771956474,46.07337679931994],[-71.09998340599876,46.12491100639875],[-71.08793882756494,46.13241980078371],[-71.09464176887411,46.141628584172736]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.13319816953532,\"lat\":46.047926707554964},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2431\"],\"cd_name_en\":[\"Les Appalaches\"],\"csd_code\":[\"2431056\"],\"csd_name_en\":[\"Adstock\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Appalaches\",\"csd_name_fr\":\"Adstock\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.724092599127,46.57465327902524],[-71.77135236160177,46.60790300832667],[-71.79075611141424,46.59963691799448],[-71.80047437173249,46.60820379440482],[-71.81298136203628,46.601599293340556],[-71.86892427239948,46.60161095700339],[-71.9195922248379,46.566037719742745],[-71.89964238723059,46.553582610386734],[-71.88477750697166,46.554052446561236],[-71.8548198074163,46.54477322267029],[-71.84059341538254,46.545596853598326],[-71.77628915756466,46.50188689202504],[-71.76377449486961,46.5036535953557],[-71.72960068936943,46.537854500998456],[-71.75023160582603,46.55260012982735],[-71.724092599127,46.57465327902524]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.80846105233114,\"lat\":46.562926436013974},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2433\"],\"cd_name_en\":[\"Lotbini\\u00e8re\"],\"csd_code\":[\"2433080\"],\"csd_name_en\":[\"Saint-\\u00c9douard-de-Lotbini\\u00e8re\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Lotbini\\u00e8re\",\"csd_name_fr\":\"Saint-\\u00c9douard-de-Lotbini\\u00e8re\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.58281455234405,46.60706838434529],[-71.59731844600344,46.606650181320866],[-71.62531777879543,46.62212374922576],[-71.6519933410297,46.61577779271764],[-71.63158580241438,46.60177242733845],[-71.66406256228235,46.597216264901206],[-71.65122406899094,46.58434979359283],[-71.65963755468294,46.57289478121514],[-71.724092599127,46.57465327902524],[-71.75023160582603,46.55260012982735],[-71.72960068936943,46.537854500998456],[-71.70402461204242,46.559845191737466],[-71.69436624964257,46.553020998906085],[-71.60201986365976,46.54848497067194],[-71.59328794784685,46.55561881330028],[-71.5620704230249,46.56140412221027],[-71.56118486850453,46.57538663979649],[-71.57078564328118,46.588098086765534],[-71.56104541887947,46.592191618236356],[-71.58281455234405,46.60706838434529]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.63727075519884,\"lat\":46.575788408214095},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2433\"],\"cd_name_en\":[\"Lotbini\\u00e8re\"],\"csd_code\":[\"2433085\"],\"csd_name_en\":[\"Notre-Dame-du-Sacr\\u00e9-Coeur-d'Issoudun\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Lotbini\\u00e8re\",\"csd_name_fr\":\"Notre-Dame-du-Sacr\\u00e9-Coeur-d'Issoudun\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.28374108673422,46.572052861678465],[-72.31173099168791,46.59208246109461],[-72.32618888184435,46.59017639535558],[-72.33937968236255,46.5801984356163],[-72.36259947137212,46.59801629384192],[-72.38377207157242,46.577626052859145],[-72.40333192998796,46.57897464415445],[-72.41215354341509,46.56610853260232],[-72.4095848211392,46.547858142770984],[-72.44106029607299,46.52613643681111],[-72.42107691902757,46.513282645789815],[-72.4093886432324,46.52138714429679],[-72.38904779087696,46.51235517419307],[-72.36189977169774,46.49329251400959],[-72.35125454038553,46.486348670197174],[-72.32709652759372,46.485815103876995],[-72.27071073960329,46.52407590794598],[-72.2802640570523,46.56900666200684],[-72.28374108673422,46.572052861678465]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.3459595687443,\"lat\":46.54119809734313},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2437\"],\"cd_name_en\":[\"Francheville\"],\"csd_code\":[\"2437215\"],\"csd_name_en\":[\"Sainte-Genevi\\u00e8ve-de-Batiscan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Francheville\",\"csd_name_fr\":\"Sainte-Genevi\\u00e8ve-de-Batiscan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.35792155073227,46.66881414526485],[-72.35923474187608,46.67613894673626],[-72.38337940099208,46.692888002302674],[-72.39578773176127,46.68503640875813],[-72.4191929276484,46.68328875914031],[-72.43144556277024,46.6750816718278],[-72.41966862126414,46.666590417265574],[-72.46508466367412,46.65866804502219],[-72.44749182153694,46.64478224475133],[-72.46669815684965,46.625752698549725],[-72.4924728098425,46.60745547045777],[-72.42904728471008,46.56143142283457],[-72.41215354341509,46.56610853260232],[-72.40333192998796,46.57897464415445],[-72.38377207157242,46.577626052859145],[-72.36259947137212,46.59801629384192],[-72.35195978691323,46.60966788620141],[-72.37072925348234,46.633123176244],[-72.35792155073227,46.66881414526485]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.41358642596579,\"lat\":46.625007068952186},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2437\"],\"cd_name_en\":[\"Francheville\"],\"csd_code\":[\"2437245\"],\"csd_name_en\":[\"Saint-Stanislas\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Francheville\",\"csd_name_fr\":\"Saint-Stanislas\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.07690012443209,46.356158923611986],[-72.06280345004149,46.392629900083605],[-72.02026406455417,46.42004084093776],[-72.05210892495798,46.44299968560104],[-72.0905494895607,46.47082703589916],[-72.12329490933823,46.44841552512566],[-72.12838367330703,46.43584856003797],[-72.14831400926987,46.44232819725784],[-72.16128650299375,46.402281105421885],[-72.16641853827926,46.394667313161385],[-72.16027600424268,46.38995169316348],[-72.0981611820292,46.344383208440256],[-72.08618224539431,46.33553455926758],[-72.07690012443209,46.356158923611986]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.09828296395494,\"lat\":46.40822811130946},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2438\"],\"cd_name_en\":[\"B\\u00e9cancour\"],\"csd_code\":[\"2438040\"],\"csd_name_en\":[\"Sainte-Sophie-de-L\\u00e9vrard\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"B\\u00e9cancour\",\"csd_name_fr\":\"Sainte-Sophie-de-L\\u00e9vrard\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.01034111640531,46.5422604377087],[-72.05669321309813,46.57198062155046],[-72.08144371704445,46.570025463080206],[-72.13777086469415,46.56471653080212],[-72.16578421258208,46.55521044222392],[-72.19052494919414,46.54127540573478],[-72.12891177876334,46.49863932809362],[-72.12726528324824,46.510822050940156],[-72.07569181455125,46.52747130372951],[-72.04570928164,46.54508663061936],[-72.01034111640531,46.5422604377087]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.10946958179868,\"lat\":46.542825127999606},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2438\"],\"cd_name_en\":[\"B\\u00e9cancour\"],\"csd_code\":[\"2438070\"],\"csd_name_en\":[\"Deschaillons-sur-Saint-Laurent\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"B\\u00e9cancour\",\"csd_name_fr\":\"Deschaillons-sur-Saint-Laurent\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.4161625904274,46.32902833925152],[-72.43203151195854,46.32227555169492],[-72.42831243475496,46.319056002477474],[-72.4161625904274,46.32902833925152]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.42550217904697,\"lat\":46.32345329780797},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2438\"],\"cd_name_en\":[\"B\\u00e9cancour\"],\"csd_code\":[\"2438802\"],\"csd_name_en\":[\"W\\u00f4linak\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"B\\u00e9cancour\",\"csd_name_fr\":\"W\\u00f4linak\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.68770221362801,45.196804902755595],[-72.72324843226244,45.199689204267635],[-72.72399461204184,45.1884903962302],[-72.74373741028133,45.1831449951433],[-72.81822332062416,45.18364334826954],[-72.81799288364965,45.19177301672792],[-72.83729673811209,45.201831280002395],[-72.83681347184533,45.22624370777608],[-72.87674193609166,45.22593967885023],[-72.87797842892536,45.150955303907345],[-72.87786202142124,45.07589981228418],[-72.77459525544263,45.07694387347675],[-72.69448918422816,45.07592597646908],[-72.69030384510086,45.16442450328903],[-72.68770221362801,45.196804902755595]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.78892667363256,\"lat\":45.138063034107375},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2446\"],\"cd_name_en\":[\"Brome-Missisquoi\"],\"csd_code\":[\"2446050\"],\"csd_name_en\":[\"Dunham\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Brome-Missisquoi\",\"csd_name_fr\":\"Dunham\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.83089691099717,46.59199345195036],[-72.87027765135716,46.62067622538874],[-72.85078989410064,46.633623664947905],[-72.89547996592441,46.66328860999978],[-72.87858620968,46.67308255271269],[-72.9099803887213,46.723938171525845],[-72.92696010549844,46.73367023437605],[-72.99529281173295,46.745530658303565],[-73.01134442499142,46.73621982848115],[-72.98820830124531,46.68285915059381],[-72.98753894087785,46.66679257436873],[-73.00034527807288,46.64861739948085],[-73.03331991295376,46.653612144504145],[-73.05709455462528,46.69416113800154],[-73.11523138321567,46.65326914059431],[-73.0539979889139,46.63768033056413],[-73.04586726025896,46.624647187406396],[-73.05672803192273,46.61391698768564],[-73.00314330258533,46.60154514692691],[-73.01241748165467,46.595447867359645],[-72.96275479835708,46.561838101245876],[-72.9340267027273,46.53072600294428],[-72.84583946705469,46.58545293070128],[-72.83089691099717,46.59199345195036]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.95336013793266,\"lat\":46.639691312424574},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2451\"],\"cd_name_en\":[\"Maskinong\\u00e9\"],\"csd_code\":[\"2451070\"],\"csd_name_en\":[\"Saint-Mathieu-du-Parc\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Maskinong\\u00e9\",\"csd_name_fr\":\"Saint-Mathieu-du-Parc\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.11581447022319,45.45392793360327],[-73.16806324577917,45.49043338228135],[-73.17574151256194,45.47141542403376],[-73.19567340322138,45.470548039520004],[-73.198805302518,45.45166770419625],[-73.2059518341129,45.44308571036478],[-73.20306143610776,45.42211294803732],[-73.19654698059605,45.41137824286322],[-73.19944793886131,45.377676117419846],[-73.1795133782178,45.39131533301723],[-73.15968783039702,45.377662314181414],[-73.1621308668824,45.39212285475777],[-73.12036681954022,45.403112619371385],[-73.12532277151436,45.41485902180187],[-73.097339073512,45.422510818139386],[-73.09512031375246,45.43929475594088],[-73.11581447022319,45.45392793360327]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.15784249114687,\"lat\":45.43295867906722},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2455\"],\"cd_name_en\":[\"Rouville\"],\"csd_code\":[\"2455048\"],\"csd_name_en\":[\"Marieville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Rouville\",\"csd_name_fr\":\"Marieville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.25256864090981,45.38488602141036],[-73.27478241714581,45.3826306869298],[-73.28973372444065,45.393077558350875],[-73.30834339519765,45.40613116765674],[-73.32678770828629,45.38320192759695],[-73.34868925384008,45.38608871227759],[-73.38665189964664,45.413199942402315],[-73.38556142758078,45.398366988984336],[-73.39451610942581,45.372346026324735],[-73.39035226575558,45.35529854483078],[-73.40500776976474,45.34588615091515],[-73.40842818829582,45.32890358377355],[-73.36974095879316,45.31176221718679],[-73.38262071637679,45.29515593508497],[-73.3788763318946,45.28166423531591],[-73.38979014917423,45.26778274641192],[-73.4114443939343,45.25487635975045],[-73.38572390297301,45.25724388663247],[-73.366567803981,45.24390421379387],[-73.3407935264462,45.26814148225059],[-73.29602863868436,45.2377461164663],[-73.29631712597117,45.2590594030126],[-73.27413405270734,45.25952200898046],[-73.2731464302055,45.233404463435896],[-73.24648189671844,45.23326498083811],[-73.24470021255704,45.258925674528555],[-73.20868697687018,45.258960064791545],[-73.19204686888759,45.25298388173044],[-73.16802343203271,45.28023260170686],[-73.16968168785021,45.30018832710629],[-73.20562652214713,45.32570622411996],[-73.20170306814549,45.34429739170553],[-73.20969688146823,45.370623034472246],[-73.22001828841645,45.36206320595481],[-73.25256864090981,45.38488602141036]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.29399286918766,\"lat\":45.3182293657733},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2456\"],\"cd_name_en\":[\"Le Haut-Richelieu\"],\"csd_code\":[\"2456083\"],\"csd_name_en\":[\"Saint-Jean-sur-Richelieu\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Richelieu\",\"csd_name_fr\":\"Saint-Jean-sur-Richelieu\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.41971070922713,46.88532513798257],[-73.46009354926672,46.90761885348845],[-73.47989348783413,46.90603138389667],[-73.51369885864212,46.89690815734911],[-73.52960729885343,46.87059680030999],[-73.54532391445335,46.86596092930093],[-73.55494720097686,46.873502272743046],[-73.58143695633761,46.87059064117814],[-73.45389016775009,46.78373442189086],[-73.4310139902236,46.83055755158672],[-73.44207061458864,46.84339364670523],[-73.41971070922713,46.88532513798257]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.48295387975807,\"lat\":46.854344040236455},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2462\"],\"cd_name_en\":[\"Matawinie\"],\"csd_code\":[\"2462902\"],\"csd_name_en\":[\"Lac-Minaki\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Matawinie\",\"csd_name_fr\":\"Lac-Minaki\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.76792367156445,45.494512215645535],[-73.78990022687611,45.50478176598392],[-73.81023046539626,45.496865441400146],[-73.8193926490009,45.50608956827208],[-73.85060724320711,45.48668781857947],[-73.85458621443023,45.47065937970067],[-73.84639065146122,45.46254541343995],[-73.81558132447915,45.47834075523702],[-73.79467190649784,45.481826842945665],[-73.76792367156445,45.494512215645535]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.81773967715672,\"lat\":45.48694792527493},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2466\"],\"cd_name_en\":[\"Montr\\u00e9al\"],\"csd_code\":[\"2466142\"],\"csd_name_en\":[\"Dollard-Des Ormeaux\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Montr\\u00e9al\",\"csd_name_fr\":\"Dollard-Des Ormeaux\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.95160663307387,45.257185261087635],[-73.96416930480801,45.304093091854874],[-73.97607986096178,45.31856948481114],[-73.97926854113103,45.31724908042649],[-73.99691575202837,45.30982031632781],[-74.0322946324959,45.30285304017692],[-74.04431961540728,45.29513885304768],[-74.07899907905632,45.29425411003488],[-74.10045263423214,45.30294877108213],[-74.1246421362554,45.299355572378865],[-74.1537911537176,45.290385513037336],[-74.17200582960444,45.25705632266675],[-74.1854426300214,45.244271711587615],[-74.18958071985541,45.240166241726364],[-74.17574738479838,45.228609237627886],[-74.13956091597106,45.22905085809601],[-74.09838271327297,45.22047887681571],[-74.07887238836636,45.21887026780405],[-74.03577641227275,45.22092347205843],[-74.03758130722434,45.22714202825497],[-74.0049640895822,45.235219226093946],[-74.00820323803424,45.240732326179184],[-73.95160663307387,45.257185261087635]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.06595478584713,\"lat\":45.26414386216965},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2470\"],\"cd_name_en\":[\"Beauharnois-Salaberry\"],\"csd_code\":[\"2470052\"],\"csd_name_en\":[\"Salaberry-de-Valleyfield\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Beauharnois-Salaberry\",\"csd_name_fr\":\"Salaberry-de-Valleyfield\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.53444914766563,45.77316312789224],[-74.53005573683146,45.802009277233296],[-74.5216403442428,45.821295458950196],[-74.50861289652737,45.89086358136034],[-74.50163287622227,45.91157773859673],[-74.58806313331282,45.91975505252261],[-74.67072126471867,45.92914391423164],[-74.70853984816115,45.93180182871133],[-74.7144924180337,45.89829832813024],[-74.72718517438351,45.851519330249346],[-74.73511101530738,45.85233763256091],[-74.75372111696802,45.80133689768678],[-74.68507593491829,45.79043311416905],[-74.66135175846797,45.79080065971661],[-74.59278237362808,45.78339784336462],[-74.53444914766563,45.77316312789224]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.62317939973782,\"lat\":45.85371390671012},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2476\"],\"cd_name_en\":[\"Argenteuil\"],\"csd_code\":[\"2476065\"],\"csd_name_en\":[\"Harrington\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Argenteuil\",\"csd_name_fr\":\"Harrington\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.78036087456411,45.964230733438065],[-75.76996709494398,45.98532069756708],[-75.73009480767792,46.01338369283015],[-75.70948670338835,46.01551393687447],[-75.69723611370671,46.023062398675805],[-75.76469438874183,46.02258350134425],[-75.93603665326987,46.02576962821975],[-76.01240551299797,46.02482625631764],[-76.01462811666468,46.01785750022973],[-76.0354433730009,46.00171834280981],[-76.01955044265037,45.98611885659254],[-76.0206617696702,45.97349894968219],[-75.98322116961025,45.95178025868528],[-75.92794198028811,45.9314090311342],[-75.91753442843886,45.92341066826276],[-75.91242060240938,45.90170869052855],[-75.73690443540123,45.90122988053682],[-75.73797949816847,45.91403871081455],[-75.75665608544195,45.937358006139405],[-75.78053141033142,45.95694590475674],[-75.78036087456411,45.964230733438065]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.87223427981577,\"lat\":45.969843914136966},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2483\"],\"cd_name_en\":[\"La Vall\\u00e9e-de-la-Gatineau\"],\"csd_code\":[\"2483020\"],\"csd_name_en\":[\"Lac-Sainte-Marie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-de-la-Gatineau\",\"csd_name_fr\":\"Lac-Sainte-Marie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.9716869857446,46.39392230826435],[-75.991820157952,46.38946927336756],[-75.98874386869504,46.371236860489425],[-75.95250276465372,46.373627890703574],[-75.9685693598672,46.38416239399478],[-75.9716869857446,46.39392230826435]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.97658774919428,\"lat\":46.38101795606563},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2483\"],\"cd_name_en\":[\"La Vall\\u00e9e-de-la-Gatineau\"],\"csd_code\":[\"2483065\"],\"csd_name_en\":[\"Maniwaki\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-de-la-Gatineau\",\"csd_name_fr\":\"Maniwaki\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.95364112284298,46.429957758228774],[-75.94301778596801,46.44547189977017],[-75.9565104081169,46.45558552730079],[-75.95718436035436,46.46608421978706],[-76.00317845541781,46.467221206352065],[-76.0448717035435,46.46432250417838],[-76.04289423223483,46.44934354306406],[-76.02438885573257,46.43103453806977],[-76.0287120761593,46.41092313220896],[-76.02007311350658,46.38739385685436],[-76.0269767582248,46.379518349410546],[-76.01546129688762,46.37123221818739],[-75.98874386869504,46.371236860489425],[-75.991820157952,46.38946927336756],[-75.9716869857446,46.39392230826435],[-75.95364112284298,46.429957758228774]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.99570501022053,\"lat\":46.42736466439753},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2483\"],\"cd_name_en\":[\"La Vall\\u00e9e-de-la-Gatineau\"],\"csd_code\":[\"2483075\"],\"csd_name_en\":[\"Egan-Sud\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-de-la-Gatineau\",\"csd_name_fr\":\"Egan-Sud\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.74511711863536,46.43825800265482],[-75.74723902422912,46.55225195289656],[-75.74891047691803,46.57653621822288],[-75.8719866273273,46.576163641474004],[-75.93345365087148,46.57689312874299],[-75.93008241760809,46.55441718835521],[-75.91365339927343,46.55811670397326],[-75.9080384936631,46.53647805697851],[-75.91150456527313,46.52848729051549],[-75.90209342957431,46.50574226228853],[-75.9091385253793,46.49824467087413],[-75.94618480799922,46.487306514697806],[-75.95718436035436,46.46608421978706],[-75.9565104081169,46.45558552730079],[-75.94301778596801,46.44547189977017],[-75.95364112284298,46.429957758228774],[-75.90816044151413,46.430961752669376],[-75.74517820329051,46.43165432215606],[-75.74511711863536,46.43825800265482]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.83930918384581,\"lat\":46.50064931052526},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2483\"],\"cd_name_en\":[\"La Vall\\u00e9e-de-la-Gatineau\"],\"csd_code\":[\"2483090\"],\"csd_name_en\":[\"Aumond\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-de-la-Gatineau\",\"csd_name_fr\":\"Aumond\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.30018492493231,48.43002914280383],[-79.08247879708853,48.42966302122378],[-79.08262209649163,48.51750093502349],[-79.29911254863217,48.51789013318865],[-79.29924144675721,48.50317310023977],[-79.30018492493231,48.43002914280383]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.19109232760968,\"lat\":48.47372866285199},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2487\"],\"cd_name_en\":[\"Abitibi-Ouest\"],\"csd_code\":[\"2487005\"],\"csd_name_en\":[\"Duparquet\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi-Ouest\",\"csd_name_fr\":\"Duparquet\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.22383277879278,48.29784800118293],[-78.27205448291959,48.298310076991974],[-78.28236820939985,48.320929051582795],[-78.27691904737925,48.3359305889102],[-78.29841810813075,48.343059688060755],[-78.29824218297179,48.194090638666886],[-78.29976652483067,48.143035980620986],[-78.28962195778495,48.0476344507726],[-78.29102636829832,48.03293809740843],[-78.30540406983651,47.9957840631662],[-78.22015945669065,47.99546876074634],[-78.22054956382091,47.955084245238055],[-78.1857637371318,47.96416422516507],[-78.16726736668716,47.986513487251656],[-78.14812262656376,47.990944763506334],[-78.13653017036006,47.980834534587146],[-78.07661550899134,47.98557807018276],[-78.00644521945496,47.994974606614164],[-78.00575750872386,48.09799622785182],[-78.22065021670021,48.096974201143816],[-78.22040378646919,48.1437206128097],[-78.18128567256615,48.14401207655927],[-78.1810594748644,48.170860219316545],[-78.13149720120113,48.17055429359692],[-78.12567269045621,48.199643236871744],[-78.10376531364473,48.199779523216854],[-78.10401882580425,48.21583427720798],[-78.11373207852654,48.22940793341959],[-78.11209681492188,48.2578738716048],[-78.22364895713459,48.25853253264593],[-78.22383277879278,48.29784800118293]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.1846789641749,\"lat\":48.11513132135398},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2489\"],\"cd_name_en\":[\"La Vall\\u00e9e-de-l'Or\"],\"csd_code\":[\"2489010\"],\"csd_name_en\":[\"Rivi\\u00e8re-H\\u00e9va\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-de-l'Or\",\"csd_name_fr\":\"Rivi\\u00e8re-H\\u00e9va\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-77.36134935906716,47.85094348444604],[-77.32551019044335,47.85079603004856],[-77.32620464879584,47.87923999976711],[-77.36109513981211,47.87960481416868],[-77.36134935906716,47.85094348444604]]],[[[-76.89376253612839,47.85105158333513],[-76.73039288206614,47.85086222088883],[-76.70737101257684,47.87354981199958],[-76.70967279979062,47.89481400339837],[-76.68398028443585,47.91523510236994],[-76.6303344578675,47.92845907441683],[-76.62630638825894,47.93190282479354],[-76.71800500069295,47.994667196204496],[-76.73342229481418,47.990461816690136],[-76.76527151093849,47.991536837627294],[-76.7746779512386,47.97776897913136],[-76.81829038933118,47.94605104713476],[-76.83019655955127,47.925231623912474],[-76.84208188743622,47.91373210962823],[-76.84964942473822,47.892586576094146],[-76.86963708322924,47.86301494798582],[-76.89376253612839,47.85105158333513]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.78598774116554,\"lat\":47.91364276168146},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2489\"],\"cd_name_en\":[\"La Vall\\u00e9e-de-l'Or\"],\"csd_code\":[\"2489902\"],\"csd_name_en\":[\"Matchi-Manitou\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-de-l'Or\",\"csd_name_fr\":\"Matchi-Manitou\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.69520296620992,48.85120593183808],[-72.58184573190964,48.90780820563615],[-72.61651844632758,48.937975186308165],[-72.59939806212805,48.94897456966371],[-72.69496161975934,49.02917771790088],[-72.67608119335988,49.03841702752765],[-72.69973325711841,49.05993026259494],[-72.86675575753158,49.06128221863139],[-72.80875343196598,49.00450310384457],[-72.78321500495706,48.98579017749491],[-72.84592066689515,48.9525665487039],[-72.93816325984992,48.90521551389958],[-72.9132030009575,48.8885278209275],[-72.8662899630729,48.871095430078725],[-72.84317119648013,48.87009113031706],[-72.82512463416327,48.87906609236572],[-72.80058677668593,48.86651456025487],[-72.77340042674845,48.86349220138156],[-72.75493255445612,48.840868509937145],[-72.72609605094917,48.83933599697697],[-72.7181103634988,48.84850202591866],[-72.69520296620992,48.85120593183808]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.74741642500855,\"lat\":48.946038518172095},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2492\"],\"cd_name_en\":[\"Maria-Chapdelaine\"],\"csd_code\":[\"2492045\"],\"csd_name_en\":[\"Saint-Thomas-Didyme\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Maria-Chapdelaine\",\"csd_name_fr\":\"Saint-Thomas-Didyme\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.26580897504306,48.61482537123674],[-71.209908884583,48.75248825296846],[-71.3210101415522,48.771763904259906],[-71.37291167332376,48.78063772138843],[-71.38934383950782,48.74018970171282],[-71.42932133956329,48.642056901675595],[-71.26580897504306,48.61482537123674]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.31957119584574,\"lat\":48.697527937710156},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2494\"],\"cd_name_en\":[\"Le Saguenay-et-son-Fjord\"],\"csd_code\":[\"2494250\"],\"csd_name_en\":[\"B\\u00e9gin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Saguenay-et-son-Fjord\",\"csd_name_fr\":\"B\\u00e9gin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.4908582864061,49.1159521982397],[-67.25010266697032,49.13925429257307],[-67.09627076221614,49.20501486356082],[-66.94831955482604,49.29869152795581],[-66.81009049899117,49.39478190353039],[-66.75300880419853,49.44857634135481],[-66.66252435705307,49.52774150301564],[-66.61300978974332,49.56466186991226],[-66.56638716483167,49.5878950653094],[-66.99999998831207,49.59028019288512],[-67.23629375138236,49.5871611242541],[-67.38047572227397,49.58973712463718],[-67.47887053620056,49.589876363622885],[-67.48023301086673,49.569720197287204],[-67.4884812572708,49.54649534012276],[-67.49034565118315,49.5229752514212],[-67.45256961225196,49.49561928468053],[-67.45239389792134,49.442118060013264],[-67.52607411763626,49.44278160563086],[-67.48940198139309,49.42235083976038],[-67.48063735891157,49.39649917372492],[-67.47015078388073,49.38032078239802],[-67.49411303655063,49.32496164975965],[-67.4908582864061,49.1159521982397]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.15438204677208,\"lat\":49.39886206591894},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2496\"],\"cd_name_en\":[\"Manicouagan\"],\"csd_code\":[\"2496005\"],\"csd_name_en\":[\"Baie-Trinit\\u00e9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Manicouagan\",\"csd_name_fr\":\"Baie-Trinit\\u00e9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.4908582864061,49.1159521982397],[-67.49411303655063,49.32496164975965],[-67.47015078388073,49.38032078239802],[-67.48063735891157,49.39649917372492],[-67.48940198139309,49.42235083976038],[-67.52607411763626,49.44278160563086],[-67.6722294196873,49.443107569615144],[-67.67090385762928,49.40031232004403],[-67.67253781683087,49.31800472201036],[-67.645485300739,49.31751267380551],[-67.64453958032001,49.30088203916287],[-67.6221534966434,49.299953311720785],[-67.59975342114777,49.29407917809235],[-67.60251989297024,49.103833385894866],[-67.49081159515127,49.1015656374934],[-67.4908582864061,49.1159521982397]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.5636914923943,\"lat\":49.29416711220676},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2496\"],\"cd_name_en\":[\"Manicouagan\"],\"csd_code\":[\"2496010\"],\"csd_name_en\":[\"Godbout\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Manicouagan\",\"csd_name_fr\":\"Godbout\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.97800024879908,49.01580927303799],[-68.0508881821556,49.09311357670787],[-68.10909763243544,49.14932980905758],[-68.11933918773266,49.164186544272866],[-68.15793991626326,49.17499354413409],[-68.18852492382408,49.176404875376804],[-68.23695952307625,49.17231062263638],[-68.2714383153425,49.177039232840706],[-68.29198174272153,49.18582864610605],[-68.32205536107686,49.18190165073501],[-68.34369004826517,49.18504077599928],[-68.38328579072432,49.18512598155144],[-68.38324430081936,49.17025629089254],[-68.3707168914766,49.15582181021978],[-68.34969668744071,49.15614615607468],[-68.34930634358714,49.1409861649443],[-68.32962692530518,49.1366015294656],[-68.28939838557746,49.136803096369235],[-68.28820296704257,49.109766561835436],[-68.27719554056401,49.11003787770751],[-68.2745550599911,48.85495163155535],[-68.27448727700335,48.84512388358555],[-68.22853847069574,48.87092468403575],[-68.02599477455024,48.985881916988355],[-67.98331177361155,49.01312992607284],[-67.97800024879908,49.01580927303799]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.17786208818832,\"lat\":49.04102835783322},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2496\"],\"cd_name_en\":[\"Manicouagan\"],\"csd_code\":[\"2496025\"],\"csd_name_en\":[\"Pointe-Lebel\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Manicouagan\",\"csd_name_fr\":\"Pointe-Lebel\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.24550336410279,51.7332914778215],[-76.23644174131269,51.75428533019171],[-76.32966969660107,51.75006622097706],[-76.39564279469306,51.713285310435964],[-76.43966128757458,51.67917238574614],[-76.44680381489013,51.661481609024435],[-76.35060582306261,51.69704729769062],[-76.24550336410279,51.7332914778215]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.33966707314757,\"lat\":51.71778483224384},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499040\"],\"csd_name_en\":[\"Nemaska\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village cri\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Nemaska\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.07436474155432,58.43031888870809],[-78.07120085154715,58.448782791311146],[-78.05646512391704,58.44828497625551],[-78.04916353100347,58.50931991569387],[-78.24032007942797,58.513454240680794],[-78.22640089480423,58.50433530396074],[-78.22100280914474,58.4901588095469],[-78.16818941168742,58.462013196257026],[-78.16596118716755,58.448529204178534],[-78.13358119501977,58.45058959477894],[-78.10446120122438,58.44828371231788],[-78.07436474155432,58.43031888870809]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.12785292489883,\"lat\":58.48208397603971},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499085\"],\"csd_name_en\":[\"Inukjuak\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village nordique\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Inukjuak\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.0646485820186,60.793621115330986],[-78.05792864727549,60.91545778688854],[-78.10871040737062,60.91408441197459],[-78.11784280233321,60.900122911421164],[-78.13924589311934,60.89396271082493],[-78.14674698208141,60.876118484461855],[-78.19143788776704,60.860469885399006],[-78.21118659204993,60.820723391737104],[-78.20615501820319,60.80013791108638],[-78.22678939468001,60.78998738746178],[-78.21420471478756,60.77980639142523],[-78.17888440730503,60.792922792543436],[-78.13113741082192,60.79790239979979],[-78.10397157512787,60.80840059675558],[-78.0936124771209,60.79465870275198],[-78.0646485820186,60.793621115330986]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.12647451692627,\"lat\":60.844638301206246},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499125\"],\"csd_name_en\":[\"Akulivik\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village nordique\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Akulivik\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-76.48546430431448,49.677506486918965],[-76.49498599651142,49.65616959637832],[-76.47915449477657,49.65655439912839],[-76.48546430431448,49.677506486918965]]],[[[-75.97278505873194,49.691132541139424],[-75.98819595539896,49.689558591437226],[-75.98842093375728,49.701468009927886],[-76.00609100324209,49.70768223276303],[-76.03904331178478,49.703379389048685],[-76.08355435769684,49.709338148134364],[-76.11238653115849,49.71778021892838],[-76.19897493233641,49.71139478314983],[-76.23232387925593,49.71432842744352],[-76.24704143943389,49.709701267862776],[-76.29306325500858,49.70676031820134],[-76.31878257952636,49.71167377732165],[-76.34196895879141,49.71041883369217],[-76.37292647914448,49.71386152745175],[-76.38404108867256,49.70432525601806],[-76.39645941576379,49.663058815419255],[-76.3698717769937,49.688411434946985],[-76.03111931614289,49.685879547937084],[-76.00083063171013,49.676656125791354],[-75.95319968311244,49.67674405469856],[-75.92282551980239,49.666224419591806],[-75.89256689632869,49.665622185748305],[-75.88214740105789,49.68607239148893],[-75.8580067219034,49.687638060991254],[-75.83811507013631,49.699932987409554],[-75.84980503646216,49.71323773726182],[-75.8444841820278,49.72218639990346],[-75.82553109944135,49.72875646770278],[-75.82335032042143,49.74284299398615],[-75.806131154927,49.74839086047517],[-75.77907782705275,49.74964869205169],[-75.84968825984087,49.795429594871635],[-75.83255322199855,49.81687643022274],[-75.80588987923531,49.830483146105465],[-75.742364568707,49.827516248584196],[-75.72061663867423,49.81702123379352],[-75.68200633665388,49.815085653125294],[-75.67798334634097,49.90636450796441],[-75.88695820166119,49.90705320687015],[-75.9872799912924,49.90894993503606],[-75.98669979879963,49.76889489938822],[-75.90455923285532,49.769192525186774],[-75.89935780958794,49.7392013298581],[-75.94874099965911,49.717845883945316],[-75.96518860305275,49.70492898316197],[-75.97278505873194,49.691132541139424]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.92177618035932,\"lat\":49.79608435281467},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499802\"],\"csd_name_en\":[\"Waswanipi\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Terres r\\u00e9serv\\u00e9es aux Cris\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Waswanipi\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.22643183499426,55.20802681273401],[-77.47281842533799,55.280099909989595],[-77.65477733687274,55.332388242645635],[-77.65986976521695,55.34998309015851],[-77.7121683820548,55.3176576831731],[-77.75091330987495,55.27957806391067],[-77.75980760139022,55.28032758455897],[-77.76020054894734,55.27977259109941],[-77.7603027134617,55.272258191640226],[-77.7141838209802,55.27361399085284],[-77.68059661583551,55.28274270420239],[-77.65538120835623,55.27964359708369],[-77.61999828653286,55.28700540128579],[-77.58905851238374,55.28855149125832],[-77.56691799834864,55.28028069313817],[-77.54216601783921,55.263360704044054],[-77.51267531599987,55.25287428963105],[-77.47062858465463,55.24212998446338],[-77.45403038020758,55.23170610559872],[-77.40787100255173,55.215485801723055],[-77.40021820713783,55.193303209767876],[-77.38814389090659,55.174047696274464],[-77.3944493212237,55.1592663969884],[-77.37697318846827,55.149147101577995],[-77.33459681135366,55.14962701395535],[-77.3046239951313,55.15623538795913],[-77.25005899778022,55.1583488096514],[-77.22140242972543,55.163800997086874],[-77.22643183499426,55.20802681273401]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.44949587800959,\"lat\":55.23982498276437},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499816\"],\"csd_name_en\":[\"Whapmagoostui\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Terres r\\u00e9serv\\u00e9es aux Cris\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Whapmagoostui\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-69.62816581758396,59.294440733905866],[-69.63541629004423,59.29633062323864],[-69.68734060092663,59.22031594376661],[-69.76640744708558,59.17533905750991],[-69.75096791895237,59.15710619247861],[-69.67846008553717,59.189836678197175],[-69.53116814195387,59.24507993396863],[-69.35463900535055,59.315833596554185],[-69.3493582247463,59.340383198071585],[-69.36898640015292,59.340817401152584],[-69.39171399903054,59.35159071231455],[-69.43715383057918,59.354302692320445],[-69.45235741642587,59.36007730513821],[-69.48910107852957,59.341798198694484],[-69.5257955377539,59.330584347459805],[-69.5275035691583,59.27793196021929],[-69.57014048583392,59.27849877003977],[-69.57492608605537,59.26038383353812],[-69.63127438799921,59.26071756829357],[-69.62816581758396,59.294440733905866]]],[[[-69.81263107279462,59.29734715883462],[-69.8599306940348,59.30077270253579],[-69.91331491388273,59.29629729724781],[-69.99190828013217,59.238024216022154],[-70.00174977177392,59.221147007626904],[-70.06037468975642,59.19515219960985],[-70.08065330847593,59.17154309000853],[-70.16757216858218,59.12544460681766],[-70.20202403189428,59.09456975933954],[-70.19017263184531,59.069399136902085],[-70.1225703451894,59.076226307071],[-70.07351928245154,59.0922240664834],[-69.94624953875312,59.13021703130313],[-69.82452032357045,59.250052654565245],[-69.81263107279462,59.29734715883462]]],[[[-69.50437761311083,59.675712797865316],[-69.54059510855528,59.672622252101604],[-69.67965889786916,59.68432509833171],[-69.71599369585874,59.6821029991892],[-69.74959430865418,59.67471837907695],[-69.81356350099385,59.53393353520004],[-69.75552967044065,59.48147849794693],[-69.66909602678898,59.396601077224354],[-69.65219739847781,59.39651699983134],[-69.63381711013913,59.421377903877854],[-69.65643012073909,59.43363019601654],[-69.65107320474287,59.45171620886991],[-69.65786641198842,59.46319509498148],[-69.68588862033744,59.46246710105608],[-69.69373988668124,59.48621010971254],[-69.7398675997533,59.48255860078972],[-69.74675861968856,59.50899679489528],[-69.73051319574616,59.52273799959093],[-69.67939870728314,59.55024380495893],[-69.66257412485923,59.57308639451767],[-69.63804129078676,59.587796090754644],[-69.59147729570499,59.58988901055585],[-69.55639652539901,59.594588497429825],[-69.53650080140211,59.61326299287688],[-69.5175908081939,59.61728539030634],[-69.50409868322653,59.63611330821435],[-69.50868581097289,59.650931805565044],[-69.50437761311083,59.675712797865316]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.76432964645697,\"lat\":59.36171453394934},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499891\"],\"csd_name_en\":[\"Aupaluk\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Terre inuite\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Aupaluk\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.16149879726709,45.136028902211585],[-76.1515271932146,45.12460918827697],[-76.12673513759023,45.12077498903424],[-76.10726981046447,45.13036845431757],[-76.13939825906397,45.15142341969808],[-76.15596356630635,45.149995753820455],[-76.16149879726709,45.136028902211585]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.137777586805,\"lat\":45.13541172376993},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3509\"],\"cd_name_en\":[\"Lanark\"],\"csd_code\":[\"3509028\"],\"csd_name_en\":[\"Carleton Place\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Lanark\",\"csd_name_fr\":\"Carleton Place\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.76980018022772,45.142285627255596],[-76.81473035718999,45.22139949646003],[-76.85047879652495,45.21628705956186],[-76.89451533946892,45.19351447277781],[-76.91737200237269,45.20169499757443],[-76.92937299390262,45.21103852256244],[-76.9474782526623,45.207190737618255],[-76.98120117168817,45.182993822762995],[-76.99248632480125,45.18443210082941],[-76.97068421799402,45.145322422469036],[-77.13748229534758,45.09926047733425],[-77.12011966742031,45.06710467307607],[-77.09911701548123,45.02220070136223],[-77.06578720493036,44.96253200100915],[-77.22135925820831,44.91954195623499],[-77.19603453802043,44.85109947143687],[-77.168060004743,44.76356496427919],[-77.11816285345353,44.77700955475373],[-76.99900870492387,44.80832280628618],[-76.97864411314852,44.80824851118485],[-76.91653611042403,44.82451762522489],[-76.80894037178042,44.855858076649724],[-76.75581615444733,44.86762774056246],[-76.63248644681487,44.89957085940836],[-76.72533367558677,45.062708354884975],[-76.73718277386466,45.07702401343667],[-76.74951747167155,45.10595612733053],[-76.76980018022772,45.142285627255596]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.93048310210173,\"lat\":44.981831718698274},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3510\"],\"cd_name_en\":[\"Frontenac\"],\"csd_code\":[\"3510045\"],\"csd_name_en\":[\"North Frontenac\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Frontenac\",\"csd_name_fr\":\"North Frontenac\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.05728373458426,44.20573718125581],[-77.06675396244982,44.22540886452317],[-77.2340329425556,44.20209755810991],[-77.23320932651666,44.18873499345095],[-77.25919625920564,44.197487400419284],[-77.23561659099454,44.149928728422516],[-77.2102541079883,44.14764222864629],[-77.16886357456933,44.15661329108033],[-77.14872062715453,44.15572729041316],[-77.09645067575013,44.169776669548895],[-77.06013183413296,44.18422163031626],[-77.06630743167587,44.19610849236148],[-77.05728373458426,44.20573718125581]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.15564190097628,\"lat\":44.18615278736404},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3512\"],\"cd_name_en\":[\"Hastings\"],\"csd_code\":[\"3512004\"],\"csd_name_en\":[\"Tyendinaga Mohawk Territory\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Hastings\",\"csd_name_fr\":\"Tyendinaga Mohawk Territory\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.83712357031365,44.13269646825593],[-76.91407024605913,44.09442466812231],[-76.95788276882067,44.062392191348884],[-76.9710904128372,44.05709395066271],[-77.02055052116049,44.04467370151657],[-77.05408515874588,44.044329931091525],[-77.0832459663456,44.06230400206555],[-77.08516823290618,44.07854813320337],[-77.07077588516114,44.110472194850644],[-77.06927395046176,44.126915086911765],[-77.05611031959731,44.15226002543169],[-77.05120056145125,44.17323437148834],[-77.06013183413296,44.18422163031626],[-77.09645067575013,44.169776669548895],[-77.14872062715453,44.15572729041316],[-77.16886357456933,44.15661329108033],[-77.2102541079883,44.14764222864629],[-77.23561659099454,44.149928728422516],[-77.31555796611454,44.1510501223398],[-77.33114118156145,44.154201019843825],[-77.38707932493718,44.14707866186347],[-77.42324955372565,44.13077194038524],[-77.45598290688008,44.120456533289406],[-77.49999998869758,44.10989244361669],[-77.54192313579647,44.08508279886942],[-77.565621872191,44.07860121321665],[-77.58035019445518,44.05025549766655],[-77.62792793373924,44.00287879349842],[-77.62507714024109,43.99716936590404],[-77.56602929673795,43.87860530257614],[-77.5134722304167,43.87489163054148],[-77.49630700745766,43.870928584153695],[-77.32803555925035,43.82110475171312],[-77.20754602091999,43.803534221237484],[-77.14802824231847,43.798171672562745],[-77.0043119454514,43.803582994133684],[-76.99127670076633,43.80526546457297],[-76.79743694332491,43.86560165022941],[-76.58250124780149,43.90936457196574],[-76.50000153178937,44.01523808730561],[-76.52473737456343,44.05517251719347],[-76.63490549596303,44.03228068989664],[-76.75811651966785,44.011100752383136],[-76.83712357031365,44.13269646825593]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.11972425400727,\"lat\":43.97403862429419},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3513\"],\"cd_name_en\":[\"Prince Edward\"],\"csd_code\":[\"3513020\"],\"csd_name_en\":[\"Prince Edward County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Prince Edward\",\"csd_name_fr\":\"Prince Edward County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.980509410365,42.7917266034253],[-80.99762133416353,42.78703017608876],[-80.99835088582192,42.761969993354],[-80.97803133522252,42.763338914624164],[-80.97119280914015,42.77165980954009],[-80.980509410365,42.7917266034253]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.98631378744902,\"lat\":42.775666348908565},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3534\"],\"cd_name_en\":[\"Elgin\"],\"csd_code\":[\"3534011\"],\"csd_name_en\":[\"Aylmer\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Elgin\",\"csd_name_fr\":\"Aylmer\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.2101779047093,42.790134989090745],[-81.20972341604481,42.8470404029952],[-81.30110118573769,42.82451730319773],[-81.3731601097949,42.80610799816786],[-81.42425851202525,42.793995970533544],[-81.43636228508066,42.789005706477056],[-81.42876813595237,42.77245220066096],[-81.4579660363459,42.773490455912366],[-81.46522312089328,42.780166446277505],[-81.48141174583344,42.78382226260658],[-81.48677105229942,42.77747387823578],[-81.4728754259932,42.756869393830414],[-81.35505528538572,42.66652369284807],[-81.2976566762731,42.623232745027735],[-81.2350303346836,42.57186144362995],[-81.21891289156106,42.56288714094126],[-81.21507910996979,42.65315354862096],[-81.24384625622933,42.653444339030706],[-81.24388665265705,42.665381772043055],[-81.22865898727953,42.66929500936197],[-81.21300769487361,42.68127544286697],[-81.21084976407025,42.74537707216186],[-81.22461723623812,42.76164774931151],[-81.21492963526707,42.766556495068116],[-81.24068436466321,42.78705086504599],[-81.21781343949094,42.79513423315526],[-81.2101779047093,42.790134989090745]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.30820086284466,\"lat\":42.72734124058405},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3534\"],\"cd_name_en\":[\"Elgin\"],\"csd_code\":[\"3534024\"],\"csd_name_en\":[\"Southwold\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Elgin\",\"csd_name_fr\":\"Southwold\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.33802421524531,44.5067726965944],[-81.35667796439823,44.51956870123536],[-81.39672439936518,44.540300247445515],[-81.41322713479943,44.51908126623451],[-81.43600371189223,44.49816578329192],[-81.49912795991946,44.466037030088636],[-81.55310248470457,44.42083423970144],[-81.5064016890134,44.40043840060706],[-81.29583380802517,44.315285902876504],[-81.28350680020624,44.318545211014744],[-81.32330648716822,44.4585891629647],[-81.31212224919787,44.47108925356851],[-81.3152517163046,44.48849997787586],[-81.3286245111022,44.50111549752355],[-81.33802421524531,44.5067726965944]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.39721933042412,\"lat\":44.42781419902752},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3541\"],\"cd_name_en\":[\"Bruce\"],\"csd_code\":[\"3541045\"],\"csd_name_en\":[\"Saugeen Shores\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Bruce\",\"csd_name_fr\":\"Saugeen Shores\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.42293451344842,44.20004791160873],[-80.4376448145948,44.20871028933267],[-80.46809190166844,44.21775119160896],[-80.49605959885696,44.193229097283776],[-80.50091339766081,44.19581458903858],[-80.62365390803427,44.17095061099256],[-80.6843238088974,44.164579206807396],[-80.81371170307526,44.14928779953667],[-80.80309599133172,44.11153720892071],[-80.80467699865375,44.10177809528804],[-80.79362018294715,44.06946580476211],[-80.79457579215548,44.04590549007337],[-80.77681228969217,44.00624799573011],[-80.75571481221289,43.99498639719472],[-80.74728903029555,44.00187208995702],[-80.71634769340568,43.981290003747766],[-80.56856991469832,43.998160391581145],[-80.43842851805898,44.02598939149643],[-80.37495988403971,44.039275599767045],[-80.39817789883158,44.135142132002365],[-80.3609960078395,44.16738254030895],[-80.40544239761032,44.19344889683343],[-80.42293451344842,44.20004791160873]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.5872976168569,\"lat\":44.092875935263194},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3542\"],\"cd_name_en\":[\"Grey\"],\"csd_code\":[\"3542005\"],\"csd_name_en\":[\"Southgate\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Grey\",\"csd_name_fr\":\"Southgate\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.64584805216765,44.41627098165077],[-79.64313798664732,44.434494391457044],[-79.71755258896931,44.52023800184964],[-79.73094472438453,44.513541476945065],[-79.74457098207758,44.52779200410329],[-79.75027111060295,44.54249329961189],[-79.73745090438426,44.56119331087169],[-79.72627731261005,44.567357917046074],[-79.79621031743166,44.64844459679532],[-79.83152179248457,44.632664177404294],[-79.83439008709922,44.63611949622252],[-79.98442926866535,44.569855344652474],[-79.97274100737498,44.553406955300744],[-79.97860910678787,44.54255219387461],[-79.96481501196911,44.52609629294691],[-79.97855050423958,44.52008272313894],[-79.97756934324933,44.505775563683635],[-79.96731018978028,44.49486046342079],[-79.98308971142487,44.487903464566074],[-79.97416617416373,44.47747060573787],[-79.91182761678013,44.40273760365845],[-79.88515178803036,44.377875901014676],[-79.8612253927913,44.349143927571646],[-79.852086913618,44.33852521032255],[-79.74565080938316,44.36202959039196],[-79.73304773417864,44.36534372681526],[-79.7447071905082,44.38056859319207],[-79.74538912581399,44.39335857350584],[-79.7224503573927,44.414242969887354],[-79.69990706795338,44.42439162445536],[-79.68264102546385,44.41725088615404],[-79.64584805216765,44.41627098165077]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.82879833317017,\"lat\":44.49036478213863},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3543\"],\"cd_name_en\":[\"Simcoe\"],\"csd_code\":[\"3543009\"],\"csd_name_en\":[\"Springwater\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Simcoe\",\"csd_name_fr\":\"Springwater\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-82.4289688568641,45.69496470795134],[-82.45389494120778,45.69797021587516],[-82.48383965200999,45.70779219365251],[-82.47990454114512,45.720300504280445],[-82.51248043509088,45.73033279716345],[-82.50871094645349,45.74021161334218],[-82.53591283389926,45.75291840984129],[-82.54899234500525,45.7469992004317],[-82.55950239998218,45.75440477676812],[-82.55676470996802,45.50431853105246],[-82.2726703479568,45.50300754468163],[-82.27259839326933,45.63400130411699],[-82.27182373103753,45.6551737105592],[-82.26379003173163,45.66206771275829],[-82.28278184266793,45.67020890026783],[-82.29863024129345,45.66156891475009],[-82.31904806415307,45.6695438038809],[-82.31624955266761,45.68160140077121],[-82.3367033470661,45.691750993464666],[-82.35414015709891,45.68729710546935],[-82.37958925530627,45.70120509825183],[-82.39028823380663,45.69596281417541],[-82.4108482269901,45.70550381107594],[-82.4289688568641,45.69496470795134]]],[[[-82.62247215069115,45.87615434898114],[-82.58967073178948,45.90011655204184],[-82.62241784096122,45.89552789946258],[-82.64604385706025,45.88803440307052],[-82.6858479469026,45.892818418811494],[-82.70531626239247,45.89801090826795],[-82.71330233988557,45.912877593672285],[-82.73755615005595,45.91573350537891],[-82.7259490494665,45.9335599139552],[-82.7040033336498,45.92375451616023],[-82.70984865653797,45.94565590293635],[-82.69672774602654,45.956661396565096],[-82.63290334889479,45.95982339461069],[-82.61672074111301,45.970494212394485],[-82.60342352858012,45.95970071010137],[-82.57832694906106,45.96077010238621],[-82.5705860536869,45.9540183075354],[-82.5753208453199,45.921217711799606],[-82.56632688519076,45.91233717005945],[-82.54383021542449,45.923992818757434],[-82.53492457431147,45.95357296603838],[-82.53411635509346,46.01703046056039],[-82.83452765898795,46.012077965341696],[-83.04361466286186,46.00816231127872],[-83.0627249474042,46.007167077940096],[-83.24549426231277,46.004528081825576],[-83.383171870968,46.00008523663472],[-83.43618489954615,46.00004740004684],[-83.43377271764386,45.99815968399797],[-83.50000001845073,45.92666183195692],[-83.59393796288349,45.81986601692976],[-83.4349563559455,45.750066198064175],[-83.10664016606543,45.604528805012706],[-82.87744739367396,45.50162968786752],[-82.74196036807052,45.50328263109703],[-82.74726648340587,45.60753863018941],[-82.75092382808343,45.70921733754246],[-82.75133822303854,45.781761833891075],[-82.76937886318764,45.780827393959285],[-82.79616584115996,45.79936511709697],[-82.81553356480659,45.79027400326365],[-82.82810363534158,45.80481691308048],[-82.84372395648965,45.807832996270754],[-82.85255803806523,45.79556580776137],[-82.87162383982213,45.792761498136905],[-82.92407413394476,45.807857012854754],[-82.95442844619292,45.8128141012054],[-82.9634227544087,45.82627811388534],[-83.00233966012631,45.8258364014404],[-83.00584424191213,45.840959293888396],[-83.06308114089816,45.83664571587848],[-83.08394284981652,45.85529481121423],[-83.0862205549618,45.8638398988088],[-83.10584135730782,45.86997801386422],[-83.13639915588269,45.86482850918247],[-83.16832635789095,45.86455931660005],[-83.21747443086272,45.873894402012226],[-83.22628016040188,45.89175171696229],[-83.22603614844924,45.90821879579802],[-83.2150772297485,45.92831480971761],[-83.18403125734756,45.95752660965991],[-83.1370651643399,45.961079200674774],[-83.11885084831168,45.950815816388676],[-83.11141632869186,45.9344552159169],[-83.11544226388824,45.92228370710575],[-83.0811251406545,45.91368010552203],[-83.06629666186815,45.94632440755103],[-83.05734215291183,45.95781780733396],[-83.04237574803896,45.95650230666749],[-83.00659004487508,45.94539069663013],[-83.00161495606976,45.92761161449954],[-82.99078665174227,45.92129331760833],[-82.97910285750658,45.93037111384616],[-82.9449515648405,45.94008449630863],[-82.95080854508747,45.95184741522353],[-82.93426794384187,45.96079641209554],[-82.9095483508975,45.96477670121882],[-82.8722378578714,45.962048150863815],[-82.86727234171109,45.95010403394344],[-82.86662574529132,45.96454149762508],[-82.85560229812559,45.96643861582468],[-82.85157834480476,45.97930450287577],[-82.83780125484206,45.98781671567829],[-82.82525164756093,45.984309818183064],[-82.80957334692062,45.99764619787336],[-82.79885735372227,45.98219949681221],[-82.80542468967279,45.96594407318244],[-82.81264266237665,45.953629419474595],[-82.832520226683,45.93423071539686],[-82.84015694965007,45.912011199310484],[-82.8123538604052,45.890143111757375],[-82.77687053201005,45.876038496138534],[-82.76826615763858,45.868026402667326],[-82.7503236302466,45.831321697278554],[-82.74742863608378,45.88266258036501],[-82.67919727886616,45.88090686520165],[-82.62247215069115,45.87615434898114]],[[-83.38083914363428,45.98777269946198],[-83.36173794367106,45.99374141849957],[-83.33998316360093,45.98772659802355],[-83.34064724839666,45.97836960288441],[-83.32635286482892,45.960118901294315],[-83.30616955305206,45.96573960624855],[-83.28808704397733,45.95289819726849],[-83.26568605938083,45.9579620028939],[-83.26289103810997,45.945424796369764],[-83.26842674224204,45.931219316221956],[-83.26251384493054,45.90858211008081],[-83.29093165090806,45.89292141662125],[-83.30344744413092,45.8723371133633],[-83.32862814376901,45.8613048119206],[-83.33562805906038,45.86356510872381],[-83.35711944063182,45.84959581762733],[-83.43202975831763,45.88295780452226],[-83.45234053381492,45.895530101995455],[-83.47563644666995,45.89296721066423],[-83.48279775839765,45.905269117196795],[-83.47390343838134,45.93141111031052],[-83.46088793220008,45.940440714502074],[-83.44556126219483,45.94278570951633],[-83.43438463391308,45.95418560935188],[-83.43540316067089,45.96770142069056],[-83.40372536306879,45.98462861544404],[-83.38083914363428,45.98777269946198]]],[[[-81.6198850337656,46.10191949799375],[-81.6355792597878,46.10731297215458],[-81.65264533566338,46.10365000250395],[-81.67187557672604,46.09240244278505],[-81.65349354680765,46.07954640167438],[-81.6471942377442,46.063993705536056],[-81.66628193015603,46.066440090643304],[-81.75514634153105,46.06043319428249],[-81.7310421453229,46.04927640493769],[-81.74400384602231,46.022092593648345],[-81.75496684894746,46.008375995645046],[-81.77421754224281,46.002252901769204],[-81.77664313110877,46.01776219828871],[-81.77111683780716,46.029122096005125],[-81.77894493648677,46.04734879175505],[-81.7928297313289,46.06107789979927],[-81.75733024418327,46.08303661248915],[-81.74087813984319,46.08206439639661],[-81.72146799898815,46.09291885791483],[-81.71890455111466,46.10401281141861],[-81.74638296064477,46.10757170844404],[-81.78258484046538,46.10461121501872],[-81.78760145894393,46.098897617331644],[-81.81666237878537,46.10105234585096],[-81.837241537765,46.103053695490395],[-81.87308745589681,46.100949316984014],[-81.91460754561793,46.09478320831703],[-81.97284694203307,46.09099000810003],[-82.00405832875447,46.09439190305789],[-82.0352303580343,46.10309140605967],[-82.05616663852764,46.10045610367556],[-82.14580266326146,45.997150517345226],[-82.1660127609095,45.917432423653814],[-82.14445215353597,45.89632389464695],[-82.11302052506166,45.896784702584064],[-82.11496960818155,45.85299919828244],[-82.11415652030952,45.7685004917896],[-82.10043104214894,45.7838217951654],[-82.08544433944752,45.811660915825485],[-82.06868914925583,45.81853361338719],[-82.06815032674021,45.83140981052923],[-82.04787382728485,45.86856361378977],[-82.02994443525843,45.85699869690231],[-82.03432603340296,45.84213337195358],[-81.95697528272159,45.84204731560937],[-81.95739636150468,45.88826155006041],[-81.93093611582722,45.88214149541996],[-81.90486268250915,45.88225139769972],[-81.90459489836468,45.84524381085435],[-81.93176954574527,45.84128380551018],[-81.7817029428099,45.84231641711168],[-81.81063167772406,45.777162040019775],[-81.78871260800811,45.73403663709879],[-81.78875637252382,45.72325188521322],[-81.77600815231973,45.73632509782761],[-81.78956075576863,45.75398200043286],[-81.7827052588534,45.77495599760895],[-81.78682904752633,45.7828124117486],[-81.76818084789868,45.798168599777505],[-81.73531045525436,45.83976129606515],[-81.7213084584152,45.86634839991797],[-81.71201625149126,45.87115899699601],[-81.68395406123267,45.901662599529345],[-81.67015326353841,45.9064696938503],[-81.64928533613272,45.893710096166686],[-81.65790724268535,45.885947314900704],[-81.6543582621176,45.872376704967216],[-81.66113023752916,45.834958213345836],[-81.67155947998513,45.82317294037073],[-81.7139413511051,45.80413679294334],[-81.70542496252439,45.78705229601723],[-81.66328814028194,45.79224611275325],[-81.62759714481038,45.790026503646644],[-81.59633304130256,45.806944413498556],[-81.57979673136872,45.8046172998913],[-81.58094565083827,45.77895031439486],[-81.59593295815195,45.75008861325878],[-81.61416264892759,45.73121629543905],[-81.62860896421624,45.722055802739426],[-81.66822955804032,45.70720451726683],[-81.64771264872,45.68716069406886],[-81.66122134715039,45.672861795623575],[-81.70407296077624,45.642740413151365],[-81.71549915905503,45.608915515593544],[-81.73344954519365,45.604670098281495],[-81.75873854635063,45.58476529519491],[-81.78010065742274,45.55740190423273],[-81.78781575373957,45.54193891455309],[-81.82204612873207,45.5219848053447],[-81.84459403151757,45.515051304131894],[-81.92573285937624,45.543442105268255],[-81.92277396188962,45.56379960213042],[-81.93566796008776,45.570913704723374],[-81.95468313465912,45.53968440132505],[-81.99092105657019,45.55435370152421],[-82.01297164298668,45.55369230923611],[-81.9410877426572,45.59384001033611],[-81.91876233769464,45.59518289442747],[-81.9081998330259,45.58420500557763],[-81.90830234352957,45.572277693270536],[-81.88891434044825,45.56921689694228],[-81.88129926081126,45.60098690582887],[-81.85985052919146,45.61885561265293],[-81.83694553712886,45.632032408260365],[-81.8064055372314,45.6424144948086],[-81.79177662942571,45.659699798382775],[-81.74958835592423,45.67250499341423],[-81.74646023817961,45.679609310931035],[-81.76206625687166,45.69884920197975],[-81.7877574250256,45.691487596625876],[-81.78900822796584,45.6762692380522],[-81.87221845572607,45.63457199925989],[-81.89907233022639,45.617050473065724],[-81.9613509196612,45.59170441765083],[-82.00233870886824,45.57050254667038],[-82.01432354799314,45.55722293711842],[-82.0153336201273,45.50001988545603],[-82.00000000636844,45.49999999058772],[-82.00000002933669,45.360821939335445],[-81.81676315828473,45.36155552120023],[-81.49160525877787,45.36194123805752],[-81.07103149630173,45.36070211309288],[-81.07237356858504,45.51873827181719],[-81.07346197653837,45.640765554959465],[-81.07548063605938,45.865499752933324],[-81.07580223319243,45.90111678518674],[-81.43057025431834,45.897146330941695],[-81.43127567567684,45.9181590327011],[-81.71070248810773,45.91424975202937],[-81.70925823192098,45.95005590486471],[-81.67305774222572,45.95042959594403],[-81.64539985459795,45.95986871497192],[-81.59439352907735,45.98598591080699],[-81.57684035640217,45.9865890172613],[-81.56282105549084,45.99576739615641],[-81.57612565049799,46.00480961382206],[-81.61371815672864,46.00199469276343],[-81.65684904257205,46.00260989830414],[-81.62031733692791,46.01928500117348],[-81.59606373116586,46.022474208777076],[-81.5508331451791,46.02137820717165],[-81.50596124115582,46.031081198487705],[-81.51285884186517,46.041533098742825],[-81.52710933168439,46.03734881472304],[-81.59193484339725,46.03025400959018],[-81.60971793834621,46.02463421068613],[-81.64075844861449,46.020657216516085],[-81.67926912924165,46.0088780968219],[-81.71689273008211,46.00766721271463],[-81.71531845218337,46.013797293100176],[-81.68669195853451,46.021056296806194],[-81.66348822766115,46.03076091077129],[-81.63516504363183,46.026367698730816],[-81.55133693389753,46.04865589741926],[-81.56873736396078,46.0677412955609],[-81.5442734486432,46.07700491019171],[-81.56175713019528,46.08963770098734],[-81.58753043198952,46.09381909013511],[-81.60475464675154,46.10143349170495],[-81.6198850337656,46.10191949799375]],[[-82.00185053876336,45.96938625179837],[-81.97300002178697,45.96968359198469],[-81.97837938073786,45.950821632776076],[-82.01540201278227,45.95133861203812],[-82.01409766397795,45.966560794836354],[-82.00185053876336,45.96938625179837]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.06321231353134,\"lat\":45.711805245816045},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3551\"],\"cd_name_en\":[\"Manitoulin\"],\"csd_code\":[\"3551017\"],\"csd_name_en\":[\"Northeastern Manitoulin and the Islands\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Manitoulin\",\"csd_name_fr\":\"Northeastern Manitoulin and the Islands\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.27597963851495,48.276859472421066],[-80.14611716079254,48.27582283908621],[-80.14663571324886,48.326058157404745],[-80.27512928677244,48.326835715532006],[-80.27597963851495,48.276859472421066]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.21091200256252,\"lat\":48.3013493953437},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3556\"],\"cd_name_en\":[\"Cochrane\"],\"csd_code\":[\"3556098\"],\"csd_name_en\":[\"Cochrane\",\"Unorganized\",\"South East Part\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Cochrane\",\"csd_name_fr\":\"Cochrane, Unorganized, South East Part\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-84.51712000619186,48.38121923854281],[-84.53423976114938,48.38237283001506],[-84.53873957963725,48.365272759440494],[-84.6636567713709,48.36556282318886],[-84.66582133452293,48.27932385851172],[-84.53445451952791,48.27844274793758],[-84.53310330123603,48.34465779887794],[-84.51552583203387,48.34454049136358],[-84.51712000619186,48.38121923854281]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-84.59494645999351,\"lat\":48.32446234479724},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3557\"],\"cd_name_en\":[\"Algoma\"],\"csd_code\":[\"3557079\"],\"csd_name_en\":[\"Dubreuilville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Algoma\",\"csd_name_fr\":\"Dubreuilville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-86.28634062151744,48.611893073892496],[-86.26577684935992,48.62397522324515],[-86.26464747447876,48.64290462155178],[-86.28458195216052,48.63541491362482],[-86.28634062151744,48.611893073892496]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-86.27569118066339,\"lat\":48.62834797917278},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3558\"],\"cd_name_en\":[\"Thunder Bay\"],\"csd_code\":[\"3558062\"],\"csd_name_en\":[\"Pic River 50\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Thunder Bay\",\"csd_name_fr\":\"Pic River 50\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-87.34056084237183,49.728632316607275],[-87.37756764804304,49.71617713241231],[-87.4033607404905,49.71844682491989],[-87.43535617336161,49.716280692132806],[-87.43932588466137,49.705596102546224],[-87.40161459492451,49.70266561337588],[-87.36022711582262,49.70879238711194],[-87.32480492259394,49.69831405789732],[-87.33316947265561,49.72823700908654],[-87.34056084237183,49.728632316607275]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-87.37597413993039,\"lat\":49.71255524727002},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3558\"],\"cd_name_en\":[\"Thunder Bay\"],\"csd_code\":[\"3558077\"],\"csd_name_en\":[\"Lake Nipigon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Thunder Bay\",\"csd_name_fr\":\"Lake Nipigon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-94.25108999392343,48.73687431066159],[-94.38463878875052,48.736930101828605],[-94.38581980419704,48.82534049322376],[-94.56322293769581,48.82534151070238],[-94.56415291218971,48.85496831009424],[-94.56103378196133,48.878957262862166],[-94.68364741086243,48.881340246884506],[-94.69238874030715,48.86900003272178],[-94.69305545579995,48.853416740034035],[-94.68558331611816,48.8400555912571],[-94.70427782009963,48.82422219964918],[-94.69511111106215,48.80913890135042],[-94.69088891725939,48.77799999743221],[-94.6520277891634,48.756138896393544],[-94.64127780885933,48.74122220508827],[-94.61916668652789,48.737249998850615],[-94.58763891684055,48.7175833016567],[-94.56998635833214,48.72648698214784],[-94.54902779470703,48.71475000269222],[-94.53852781340719,48.702694402362134],[-94.43883331271883,48.69483330464316],[-94.4158333045303,48.710972195853174],[-94.38897220938235,48.71194440764702],[-94.343138892881,48.70341669649439],[-94.308805605644,48.710277788878244],[-94.28291668826054,48.70561110206634],[-94.26108330309323,48.69658329623583],[-94.25144441207034,48.68361109277022],[-94.25108999392343,48.73687431066159]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-94.51933425858778,\"lat\":48.77867550581601},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3559\"],\"cd_name_en\":[\"Rainy River\"],\"csd_code\":[\"3559040\"],\"csd_name_en\":[\"Dawson\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Rainy River\",\"csd_name_fr\":\"Dawson\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-92.39491494842606,48.72621137345962],[-92.39603902245797,48.735364616607484],[-92.48057385905727,48.735501048665064],[-92.48308165698462,48.70739473262843],[-92.40744193190149,48.707553269175136],[-92.40702209703139,48.71425131843059],[-92.37411154221516,48.71488315163869],[-92.37275383899544,48.72454112832985],[-92.39491494842606,48.72621137345962]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-92.43493247395382,\"lat\":48.721595573477906},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3559\"],\"cd_name_en\":[\"Rainy River\"],\"csd_code\":[\"3559066\"],\"csd_name_en\":[\"Seine River 23A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Rainy River\",\"csd_name_fr\":\"Seine River 23A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-92.79571678959653,49.81502270509818],[-92.80254549045307,49.8005497965975],[-92.85962351960896,49.80063298533541],[-92.85864363262935,49.7608186171915],[-92.83771037592247,49.75890808282782],[-92.79139323816845,49.769877327843886],[-92.7714691374088,49.76602603880435],[-92.7490117516833,49.77205981893886],[-92.72445413967046,49.77023212287373],[-92.71646444861273,49.763844722083434],[-92.68286574052065,49.7588826286939],[-92.66396997104422,49.74270222629486],[-92.65426702225379,49.74961597861369],[-92.65667331669484,49.77077656846188],[-92.68910672450734,49.770463199492454],[-92.68952893318843,49.784519915025776],[-92.63464056280407,49.78543550202462],[-92.63425066417797,49.80064695497103],[-92.69886945145409,49.80111370765769],[-92.69913284291621,49.8154229028624],[-92.79571678959653,49.81502270509818]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-92.7527963816051,\"lat\":49.786228970522465},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560027\"],\"csd_name_en\":[\"Dryden\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Dryden\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-91.2718928573081,52.99579517487934],[-91.30938241721135,53.01257101625276],[-91.39155153524406,52.94455074080525],[-91.3513887238471,52.958295033245015],[-91.34481841803054,52.943843629574836],[-91.32825913525315,52.94770082493226],[-91.31462802238676,52.934716030242235],[-91.29317891918065,52.938076727352055],[-91.27338963217386,52.931766330341894],[-91.26075443998644,52.91639193868147],[-91.27300751574278,52.912995441725265],[-91.26960853805775,52.89780404168157],[-91.24890163677571,52.892952328803915],[-91.2316290181361,52.89957772886442],[-91.22016821759546,52.89436996404504],[-91.15392776430446,52.94331613293331],[-91.2718928573081,52.99579517487934]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-91.26375580863706,\"lat\":52.95201463842916},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560059\"],\"csd_name_en\":[\"Weagamow Lake 87\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Weagamow Lake 87\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-89.21349050955023,52.884900938539],[-89.23584033082643,52.8741897277444],[-89.22233794329202,52.860882840299205],[-89.22156394151813,52.84414413466506],[-89.20297344230761,52.84054772619289],[-89.19826200982752,52.82438557749465],[-89.18125387190042,52.82399307356721],[-89.17668162817078,52.86266660302145],[-89.21349050955023,52.884900938539]]],[[[-89.2561850215517,52.947283020457846],[-89.28672694176815,52.93507613214452],[-89.30446262059606,52.935299032767446],[-89.34246465127569,52.94238282947607],[-89.32787313142344,52.92713872509476],[-89.3067171445962,52.92378961616117],[-89.29335624933506,52.893401025764234],[-89.31896314902687,52.8866901211587],[-89.33977763382492,52.87408321881541],[-89.32739492172242,52.860431737051215],[-89.33164983219446,52.826828153266355],[-89.20614107213834,52.824235527009876],[-89.23658952652808,52.85430701733704],[-89.26558782182205,52.86635761590218],[-89.26740154461257,52.88072051845365],[-89.292774127909,52.90137923575778],[-89.29567871106988,52.917539235189224],[-89.27051554315052,52.92313663674806],[-89.27044111956621,52.93801121574338],[-89.2561850215517,52.947283020457846]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-89.26694338898642,\"lat\":52.86340539129019},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560085\"],\"csd_name_en\":[\"Wunnumin 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Wunnumin 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-96.36717337477805,49.70727105539208],[-96.60416208347478,49.70749620507019],[-96.77585658673507,49.70851196475021],[-96.7754978871427,49.61943819469253],[-96.64119839564287,49.618973306795446],[-96.6430173132532,49.53216378544932],[-96.37538718177872,49.532171174655424],[-96.3675403533986,49.53214023289177],[-96.36567008440366,49.66359499607534],[-96.36717337477805,49.70727105539208]],[[-96.6575708244249,49.6806318056729],[-96.63102040872332,49.67108229769524],[-96.63102458915145,49.656802557565435],[-96.66678161799608,49.66542470647053],[-96.6575708244249,49.6806318056729]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-96.54389203206874,\"lat\":49.62814989707597},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4602\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4602057\"],\"csd_name_en\":[\"Ste. Anne\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Ste. Anne\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-99.36102736035399,49.222067060306635],[-99.40571022109629,49.22231998595118],[-99.40349000403964,49.23691799171527],[-99.44258386331458,49.23707693012946],[-99.45057135987066,49.24409292285897],[-99.45002998370792,49.26678911139244],[-99.47060618858524,49.26685479612942],[-99.4948948930493,49.26687929606573],[-99.49520488758573,49.17830110935651],[-99.4812922142023,49.17127149806588],[-99.48133418504597,49.007004112474704],[-99.48224150501757,49.00003104772147],[-99.24308764187627,49.000008696337105],[-99.07662323242383,49.000068718212844],[-99.07551889914274,49.014811000306295],[-99.07747981414725,49.088681086256024],[-99.07823625148278,49.177723940630074],[-99.08792982337329,49.17776035061031],[-99.0879449282845,49.20777590210345],[-99.1927398676597,49.20808041632076],[-99.2239608834248,49.2216967632953],[-99.2588414815982,49.222833102342555],[-99.36102736035399,49.222067060306635]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-99.28965157196878,\"lat\":49.11309044977944},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4604\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"4604052\"],\"csd_name_en\":[\"Cartwright-Roblin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Cartwright-Roblin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-100.97440741240635,49.28147149796623],[-101.00000351363131,49.281418590921554],[-101.00254430205266,49.26666219966653],[-100.97413291298807,49.266612893711866],[-100.97440741240635,49.28147149796623]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.98776634534892,\"lat\":49.273912291647214},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4605\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4605052\"],\"csd_name_en\":[\"Melita\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Melita\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-100.05305095002046,51.16745184938815],[-100.07588631979374,51.16257853719075],[-100.07494516376674,51.137296595553195],[-100.02821950969886,51.13706717890818],[-100.01640480671692,51.1550199971011],[-100.02755948562337,51.16375767591028],[-100.05305095002046,51.16745184938815]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.04870519927184,\"lat\":51.15142656230114},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4617\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4617050\"],\"csd_name_en\":[\"Dauphin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Dauphin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-96.97356444250337,50.52730850205602],[-96.98913974105974,50.564136230569275],[-96.9830380662097,50.576402345721014],[-96.95376048054399,50.58787037723512],[-96.94088974125295,50.597776937992734],[-96.98429375993766,50.617941227924035],[-96.98795707634527,50.627835237366874],[-96.97429464083297,50.64681893793347],[-96.97571344137457,50.65461904671314],[-96.99752293970919,50.67872683442858],[-96.99588116465705,50.69416842794606],[-96.98169434703028,50.72397723978055],[-96.98701155004444,50.732811329211316],[-96.97814973762219,50.75972992635362],[-96.9827424701903,50.77987504432498],[-96.97192516173996,50.80217674352548],[-96.94918606306838,50.81665053316778],[-97.11015479277799,50.816577200168815],[-97.11131928512846,50.787125398816926],[-97.11107378707939,50.595728408671214],[-97.11460659168563,50.59572269285055],[-97.11428019984255,50.50696339831683],[-96.98639198905116,50.50666549449283],[-96.97564051950285,50.506613094189085],[-96.97356444250337,50.52730850205602]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.04506106606578,\"lat\":50.66009015521747},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4618\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4618031\"],\"csd_name_en\":[\"Gimli\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Gimli\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-96.34644175110569,50.838447325158704],[-96.35483878972214,50.81726483969192],[-96.29059446988175,50.81809449420682],[-96.29065323940355,50.83984166757372],[-96.34644175110569,50.838447325158704]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-96.32051314036029,\"lat\":50.82815899833948},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4619\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4619054\"],\"csd_name_en\":[\"Black River 9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Black River 9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-98.90491176579863,55.82505835498911],[-98.9255285478947,55.818038542868294],[-98.90771764597032,55.79396365005981],[-98.9049467633583,55.78247174876288],[-98.88433144603418,55.78192441846891],[-98.87625195875567,55.79034475600095],[-98.85624474592663,55.79099405477849],[-98.84226654117035,55.801165757172996],[-98.86165711957248,55.82614403849489],[-98.90491176579863,55.82505835498911]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-98.88401732063075,\"lat\":55.80619376552051},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4622\"],\"cd_name_en\":[\"Division No. 22\"],\"csd_code\":[\"4622059\"],\"csd_name_en\":[\"Nelson House 170\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 22\",\"csd_name_fr\":\"Nelson House 170\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-100.57117864112247,56.23041924503244],[-100.55457643020367,56.219168877695196],[-100.54316842133575,56.228603028916694],[-100.57117864112247,56.23041924503244]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.55630783088728,\"lat\":56.22606371721478},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4623\"],\"cd_name_en\":[\"Division No. 23\"],\"csd_code\":[\"4623039\"],\"csd_name_en\":[\"Granville Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian settlement \\/ \\u00c9tablissement indien\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 23\",\"csd_name_fr\":\"Granville Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-94.02930352466312,58.76235309788993],[-94.02039474561693,58.7721782935079],[-94.08983136084093,58.770773627348355],[-94.14459267707045,58.77517215656245],[-94.20058112577256,58.79486190456585],[-94.20279350659948,58.78365544940756],[-94.18141133654441,58.76928623943974],[-94.17177703272937,58.75420974080085],[-94.14429341127364,58.75000004865943],[-94.14074312493679,58.733009340166966],[-94.17283543560002,58.72893373394958],[-94.17939853071897,58.704525545611624],[-94.17236872923368,58.70152027769735],[-94.04618622017668,58.70078709599474],[-94.04175245870431,58.74778522422692],[-94.02930352466312,58.76235309788993]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-94.10899340145379,\"lat\":58.740322968197916},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4623\"],\"cd_name_en\":[\"Division No. 23\"],\"csd_code\":[\"4623056\"],\"csd_name_en\":[\"Churchill\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 23\",\"csd_name_fr\":\"Churchill\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.62439905955942,49.835788423740425],[-102.61585731112993,49.81275349882902],[-102.62417050608761,49.799293808084926],[-102.63826744414096,49.79892672887551],[-102.63855495253725,49.784587180556436],[-102.41290226452449,49.78443172235966],[-102.41272150523729,49.87253674079581],[-102.41561911851511,49.872481753472485],[-102.41575770930376,50.04713659652534],[-102.51821539965984,50.047151297940694],[-102.5294948866657,50.04717691115535],[-102.82527501084357,50.04720700428532],[-102.82521269404654,49.872230609819326],[-102.81855691381352,49.87220415226219],[-102.81941637532978,49.784624163802896],[-102.80817268296946,49.78468408404245],[-102.77428057578645,49.7848569276307],[-102.7743424040572,49.79914840135119],[-102.70577184667778,49.799751445962215],[-102.7060819232546,49.80646294658868],[-102.6505704406259,49.80631760629882],[-102.65044145567043,49.82825716035806],[-102.62439388177714,49.828626294779596],[-102.62439905955942,49.835788423740425]],[[-102.68378111859982,49.85327874172791],[-102.6837728898722,49.82832640532153],[-102.7291054944468,49.83100499496779],[-102.72874040107993,49.869818791597744],[-102.73459112498152,49.872143458521464],[-102.73384276250665,49.89479624040028],[-102.71880681432816,49.88678911341968],[-102.68765454819855,49.88687494419262],[-102.68378111859982,49.85327874172791]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.61447324230461,\"lat\":49.92143195421345},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701072\"],\"csd_name_en\":[\"Hazelwood No. 94\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Hazelwood No. 94\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.71041293272452,49.39176719705406],[-103.69882788860643,49.39189081944036],[-103.69908383300522,49.39802842454707],[-103.7104001144565,49.39776030507847],[-103.71041293272452,49.39176719705406]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.70465750907971,\"lat\":49.39485035596399},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4702\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4702036\"],\"csd_name_en\":[\"Goodwater\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Goodwater\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.4148853198856,49.39069855103044],[-103.40168281160575,49.39178108455106],[-103.40226080917839,49.40274244772233],[-103.41896983391298,49.40244908567394],[-103.4148853198856,49.39069855103044]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.40959606929393,\"lat\":49.397122683534356},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4702\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4702039\"],\"csd_name_en\":[\"Midale\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Midale\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.1744083826686,49.80039459705363],[-104.15211452384895,49.79896047373097],[-104.1520779211711,49.813878109410844],[-104.17438771971895,49.81386830465288],[-104.1744083826686,49.80039459705363]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.16305804311592,\"lat\":49.80677002394173},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4702\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4702072\"],\"csd_name_en\":[\"Yellow Grass\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Yellow Grass\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.0051953625144,49.451168508667095],[-106.04686590006234,49.45035245595385],[-106.05719719543814,49.44501855726469],[-106.0767809802206,49.45267814818341],[-106.11118456323567,49.45088434900132],[-106.1239485776201,49.45372275831044],[-106.14490287371495,49.44842544842183],[-106.19428036811138,49.471749848061734],[-106.2002981479243,49.478261641621884],[-106.22365376962603,49.47432483748148],[-106.25878714886613,49.48210424729298],[-106.26827896699261,49.46456274181663],[-106.31508448572028,49.45629804132003],[-106.33118146265319,49.46596005189722],[-106.41084496270534,49.46562034573609],[-106.41036854438731,49.34936420044721],[-106.41101832523361,49.29866233516421],[-106.41042077719551,49.26217965994748],[-106.50007642552602,49.26197540096395],[-106.50046404178119,49.174737409775574],[-106.5413683131154,49.174607807618294],[-106.54115143371244,49.00004445900451],[-106.23359822811415,48.999343911566015],[-106.00545681133484,48.99947912399546],[-106.00627146987509,49.17035358720617],[-106.00545455888879,49.26129635714653],[-106.00706287673191,49.321930155284434],[-106.00520019263921,49.34899533385976],[-106.0051953625144,49.451168508667095]],[[-106.38241160439901,49.36788747707636],[-106.3918604468151,49.37118604584078],[-106.37716438990886,49.373881207958554],[-106.38241160439901,49.36788747707636]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.24648115100014,\"lat\":49.214952045686736},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4703\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4703011\"],\"csd_name_en\":[\"Old Post No. 43\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Old Post No. 43\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.41101832523361,49.29866233516421],[-106.41036854438731,49.34936420044721],[-106.47750841237037,49.34938250805186],[-106.4776365513072,49.305593511036584],[-106.42198880542428,49.30581550448177],[-106.41101832523361,49.29866233516421]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.44374950566375,\"lat\":49.327248957454124},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4703\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4703801\"],\"csd_name_en\":[\"Wood Mountain 160\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Wood Mountain 160\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.74369439666211,49.73122249947728],[-107.74393931418759,49.72019769253226],[-107.73274055292445,49.72023592124621],[-107.73240926139675,49.73121508465773],[-107.74369439666211,49.73122249947728]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.7381995910778,\"lat\":49.72572493606553},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4704\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"4704029\"],\"csd_name_en\":[\"Cadillac\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Cadillac\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.0061569298665,51.12176924556218],[-102.42757821361683,51.12180358701887],[-102.42729380191086,51.03327960405917],[-102.40405988742138,51.03316643274544],[-102.40427295973097,51.02597924441227],[-102.4273907969716,51.025923389822935],[-102.42797965079401,50.945051230972346],[-102.42473726803483,50.9450507556038],[-102.42441188782915,50.85560760656254],[-102.00589147843252,50.85569689653976],[-102.0061569298665,51.12176924556218]],[[-102.17205182052898,51.04560454955454],[-102.15987714326808,51.048271943076806],[-102.15920395097712,51.03334111774856],[-102.16994609520236,51.03347489886801],[-102.17205182052898,51.04560454955454]],[[-102.02947694144494,50.952713387717495],[-102.02946554785679,50.92991816843187],[-102.05260458152286,50.93019690524086],[-102.0598400743038,50.95247650229103],[-102.02947694144494,50.952713387717495]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.21701599737501,\"lat\":50.989028375593},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705077\"],\"csd_name_en\":[\"Saltcoats No. 213\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Saltcoats No. 213\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.06419305077176,50.36801846949114],[-102.08825836355228,50.37700340209297],[-102.08751753843524,50.360172166336625],[-102.06419305077176,50.36801846949114]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.07998965091977,\"lat\":50.36839801264024},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705814\"],\"csd_name_en\":[\"Ochapowace 71-10\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Ochapowace 71-10\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.91683716190624,50.78182908121714],[-104.9167828148084,50.78283878402841],[-104.92834529452436,50.79078614908558],[-104.96275804403699,50.790243091373135],[-104.96286921351768,50.77553788572249],[-104.92841094403973,50.775491654595186],[-104.91683716190624,50.78182908121714]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.94220844432779,\"lat\":50.78298989505905},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706055\"],\"csd_name_en\":[\"Buena Vista\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Buena Vista\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.42646671198946,50.950141110515474],[-105.4150784008337,50.95020009185698],[-105.41478000501034,50.964652301897296],[-105.42648608331875,50.964709009684945],[-105.42646671198946,50.950141110515474]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.42071015349273,\"lat\":50.957459019415985},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706067\"],\"csd_name_en\":[\"Holdfast\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Holdfast\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.48033376777676,50.469171874817505],[-109.48806198988234,50.46260844473563],[-109.47554046287306,50.46459358735878],[-109.48033376777676,50.469171874817505]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.48131207351071,\"lat\":50.46545796897063},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4708\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4708026\"],\"csd_name_en\":[\"Fox Valley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Fox Valley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-104.19961270570795,51.416618510447016],[-104.18755771166103,51.416685681227825],[-104.17687101003379,51.4312392064054],[-104.19920277836836,51.43120128653738],[-104.19961270570795,51.416618510447016]]],[[[-104.31564670584709,51.48163239228019],[-104.29149337555165,51.48925429939757],[-104.31520788203613,51.49620110294281],[-104.31564670584709,51.48163239228019]]],[[[-104.29149337555165,51.48925429939757],[-104.24670856439181,51.49024880476313],[-104.24692352361093,51.497554205468084],[-104.29147963300416,51.49737297177876],[-104.29149337555165,51.48925429939757]]],[[[-104.22331916823828,51.4976610136913],[-104.18796473046596,51.4830698212259],[-104.17606251479282,51.49866020298004],[-104.22331916823828,51.4976610136913]]],[[[-104.31564670584709,51.48163239228019],[-104.33632673704658,51.48818356712444],[-104.33745947788056,51.53804701328426],[-104.44441582761057,51.53780872581827],[-104.44441103391426,51.532878433303694],[-104.44429174349703,51.51832309932536],[-104.46769432820975,51.518374419149254],[-104.46770528962833,51.50359230605366],[-104.49124801473508,51.503570886708786],[-104.48954550653893,51.48901585933735],[-104.46773859002582,51.48220091274425],[-104.44450958945106,51.48213719462194],[-104.44433292817457,51.44531876208052],[-104.33562263948583,51.44528211475846],[-104.32550300217372,51.45115493787407],[-104.32676499622092,51.47442669513287],[-104.31564670584709,51.48163239228019]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.38168315048162,\"lat\":51.49016105289601},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710825\"],\"csd_name_en\":[\"Poorman 88\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Poorman 88\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.43771281698903,51.35173565932824],[-105.45225255534122,51.34980511010086],[-105.45227935559005,51.34340057867893],[-105.42879998045268,51.343411898571546],[-105.43771281698903,51.35173565932824]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.44211834696131,\"lat\":51.34686993086067},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711008\"],\"csd_name_en\":[\"Imperial\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Imperial\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.81228973971666,51.448246469393766],[-106.80074955386763,51.44810792178055],[-106.80076063570547,51.45688056106266],[-106.81219656424757,51.45688104907118],[-106.81228973971666,51.448246469393766]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.80648403882375,\"lat\":51.45252228563249},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711029\"],\"csd_name_en\":[\"Glenside\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Glenside\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.09368602229863,51.32888177582308],[-107.09361663261024,51.32168419002657],[-107.08191496567596,51.32145159807774],[-107.08183773921687,51.329137656237144],[-107.09368602229863,51.32888177582308]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.08769944702698,\"lat\":51.3252965769962},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4712\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4712019\"],\"csd_name_en\":[\"Macrorie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Macrorie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.05676952044098,52.49295806850317],[-108.05728384297612,52.50834923095268],[-108.08131198327135,52.50811281736812],[-108.08116207859388,52.523337935357496],[-108.1617444242806,52.522860110760455],[-108.20076395780823,52.5226574711614],[-108.20073562404001,52.46495373394637],[-108.20099466345782,52.42760235924702],[-108.16250695969073,52.42832681254004],[-108.05659898085425,52.42696736330833],[-108.05676952044098,52.49295806850317]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.13019009737943,\"lat\":52.47424194639128},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4712\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4712829\"],\"csd_name_en\":[\"Red Pheasant 108\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Red Pheasant 108\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.1617444242806,52.522860110760455],[-108.16209014626834,52.5585187339363],[-108.23444032198532,52.55862174848227],[-108.23451788614207,52.58034941279246],[-108.34067001248722,52.580388707621736],[-108.34124880866484,52.55145713908659],[-108.20045300960012,52.55295229290087],[-108.20076395780823,52.5226574711614],[-108.1617444242806,52.522860110760455]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.25291996267143,\"lat\":52.55803317528393},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4712\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4712832\"],\"csd_name_en\":[\"Grizzly Bear's Head 110 and Lean Man 111\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Grizzly Bear's Head 110 and Lean Man 111\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.25272680620044,51.70792869343986],[-109.23353358895301,51.70407484351325],[-109.23399192746523,51.71438978768076],[-109.25272680620044,51.70792869343986]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.24008410753956,\"lat\":51.70879777487795},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713026\"],\"csd_name_en\":[\"Coleville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Coleville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.80974465536382,52.369214001906265],[-108.82086066576956,52.37784120433714],[-108.84505215834776,52.37780724266212],[-108.84472385742019,52.35612585995095],[-108.82068352062964,52.356333775437854],[-108.80974449373595,52.36204580880163],[-108.80974465536382,52.369214001906265]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.82896667770403,\"lat\":52.366910426787726},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713062\"],\"csd_name_en\":[\"Scott\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Scott\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.82587224094297,52.84478789630061],[-109.83344529218668,52.837684899616576],[-109.81972240554165,52.83731836144909],[-109.82587224094297,52.84478789630061]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.82634664622377,\"lat\":52.83993038578876},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713091\"],\"csd_name_en\":[\"Marsden\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Marsden\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.19706844076309,52.93253510239665],[-109.19736407796833,53.0139756945488],[-109.22388120731259,53.01605457788146],[-109.47298858712047,53.016416557777276],[-109.48993595233831,53.0168783980647],[-109.48779208001062,52.92943329152049],[-109.63250079755022,52.92922709193876],[-109.63247769163961,52.84529679096132],[-109.61918233332034,52.84561781842762],[-109.61875528343587,52.832748357627985],[-109.63247568428442,52.83462189226077],[-109.63108497346592,52.784447977947664],[-109.64696568746635,52.75424236688071],[-109.63290888134499,52.750163567250844],[-109.62913716589136,52.73859225732727],[-109.63624296751212,52.72220332903517],[-109.65136740114255,52.71510296286682],[-109.65028131097633,52.68904889968947],[-109.64502807624065,52.680199355210895],[-109.65710109130633,52.66709020679547],[-109.45628684368575,52.6677165162262],[-109.19651120202052,52.66768945603065],[-109.19752283310778,52.72445264180455],[-109.19706844076309,52.93253510239665]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.40354860693382,\"lat\":52.82914195924483},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713092\"],\"csd_name_en\":[\"Hillsdale No. 440\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Hillsdale No. 440\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.19712229892286,53.19087439463922],[-104.41656769747503,53.190886008729656],[-104.63605743965532,53.190931212032844],[-104.63548939093235,53.01662450996855],[-104.61588678175191,53.01666169939103],[-104.61618570050868,52.92917661081552],[-104.32555708687367,52.92904221399374],[-104.18049150646341,52.929146098987836],[-104.18050688774943,53.016499308972776],[-104.19703901052483,53.016486188493815],[-104.19712229892286,53.19087439463922]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.41038732660083,\"lat\":53.060219327329},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714053\"],\"csd_name_en\":[\"Willow Creek No. 458\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Willow Creek No. 458\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.3048199174366,52.4874076034832],[-105.3155669176373,52.47864090680406],[-105.29625518379554,52.47958988892383],[-105.3048199174366,52.4874076034832]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.30554733962313,\"lat\":52.48187946640371},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715047\"],\"csd_name_en\":[\"Middle Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Middle Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.05256976604839,52.80474472475544],[-106.10281646271999,52.804076995893475],[-106.10494935903094,52.79938866989779],[-106.05220497575527,52.79956703302173],[-106.05256976604839,52.80474472475544]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.07769463506435,\"lat\":52.801927335834435},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715861\"],\"csd_name_en\":[\"One Arrow 95-1D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"One Arrow 95-1D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.70504507527652,52.56693274653294],[-107.71114539316679,52.558958884360884],[-107.70100479833482,52.55907742404036],[-107.70504507527652,52.56693274653294]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.70573175559272,\"lat\":52.56165635164473},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716004\"],\"csd_name_en\":[\"Maymont\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Maymont\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.71788691265127,53.714182583226446],[-107.71693023199704,53.744195101166405],[-107.73337550641547,53.7442517769244],[-107.73435619915375,53.72977480378124],[-107.74892457351956,53.72622089916553],[-107.75553573648781,53.7151302124361],[-107.76791011964998,53.71503650699643],[-107.78110738111394,53.71478728331015],[-107.78308940554349,53.70780689263637],[-107.82351785950138,53.70612234367817],[-107.81841206704242,53.715160534262886],[-107.83507995757351,53.715160524396026],[-107.8421396413422,53.71515975487374],[-107.84811200065636,53.715158723342626],[-107.84793893772655,53.69388747371713],[-107.82424315271666,53.68614211474917],[-107.8119090099922,53.6861489132452],[-107.80096342623965,53.686144064508206],[-107.78757141534655,53.67171988446349],[-107.76736092780631,53.661741815688956],[-107.75307126458686,53.664786663564556],[-107.74977527477591,53.67769210985329],[-107.72589840996086,53.68074373316805],[-107.72565203557062,53.70775349759267],[-107.71788691265127,53.714182583226446]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.77196148477967,\"lat\":53.699195749521984},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716863\"],\"csd_name_en\":[\"Chitek Lake 191\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Chitek Lake 191\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.97116204987358,53.717668501779116],[-110.00545010186326,53.71743241083959],[-110.0053356661412,53.6354175761698],[-109.97260342321059,53.63593143699482],[-109.97116204987358,53.717668501779116]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.98864530784596,\"lat\":53.67692963388251},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717802\"],\"csd_name_en\":[\"Makaoo (Part) 120\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Makaoo (Part) 120\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.80712232311276,53.53949791105024],[-108.8690949978819,53.54061796126392],[-108.88086714729243,53.52641500739859],[-108.88104683743069,53.51124820760339],[-108.90607618630487,53.51109000241915],[-108.90540990762788,53.45331690935893],[-108.80706788929835,53.45218101176753],[-108.80712232311276,53.53949791105024]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.85275618036981,\"lat\":53.49335708925109},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717803\"],\"csd_name_en\":[\"Thunderchild First Nation 115B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Thunderchild First Nation 115B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.60252463396661,54.063189451286284],[-109.68783940417481,54.06555839829874],[-109.80202369595338,54.06369769636896],[-109.80138532171125,54.05028922346207],[-109.77455099078868,54.05025200764214],[-109.77320926810667,53.977062639447865],[-109.64881317210809,53.97690221340008],[-109.64924080848824,53.999069127944786],[-109.67838857409292,53.98373317356351],[-109.70007938349502,54.00504824699488],[-109.7138784738784,54.00991916928776],[-109.6883511733089,54.03001926727054],[-109.6555915746024,54.02264204817722],[-109.662238273321,54.03819986592215],[-109.65551837856597,54.0467373667171],[-109.62845856347612,54.0322213642049],[-109.60932708195232,54.02874935381063],[-109.59772817379086,54.03529013609378],[-109.54865813557021,54.03557996631501],[-109.54905080976124,54.063633703819704],[-109.60252463396661,54.063189451286284]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.69320508416563,\"lat\":54.03025436464666},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717809\"],\"csd_name_en\":[\"Ministikwan 161\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Ministikwan 161\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.60724416848153,54.47353818647305],[-109.60714107977027,54.44920774897136],[-109.63236296306998,54.449384807291096],[-109.63251738022663,54.43438909646769],[-109.65877398276564,54.43441381030359],[-109.6776475101171,54.41304455653407],[-109.67746230843866,54.38375759056953],[-109.652452604848,54.38381359991801],[-109.65262813168124,54.39810080946056],[-109.50120525415188,54.3982108696817],[-109.55228886510872,54.40929846849642],[-109.57220195461656,54.420421050545],[-109.58307306724741,54.437546856558754],[-109.58250083651222,54.45632011143819],[-109.55690680148663,54.456244808625115],[-109.55683704873036,54.44177581673693],[-109.52528897139965,54.441383385982284],[-109.53439085738513,54.45821665204089],[-109.55868407528804,54.45864005740405],[-109.57345097489316,54.468193559085805],[-109.60724416848153,54.47353818647305]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.60713155067288,\"lat\":54.423814481583264},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717811\"],\"csd_name_en\":[\"Big Island Lake Cree Territory\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Big Island Lake Cree Territory\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.27277767275068,53.943044422035605],[-102.24535770757926,53.95234276950049],[-102.2477018562625,53.967407373574886],[-102.26551094237676,53.966761962617966],[-102.27687467430854,53.958672300936705],[-102.30897601208794,53.95527805300747],[-102.34376619159383,53.937095419305486],[-102.34060246630229,53.924880759939406],[-102.30139006577261,53.91797764209227],[-102.28517310777205,53.92510230460922],[-102.28557201712884,53.94298259523847],[-102.27277767275068,53.943044422035605]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.29682674605468,\"lat\":53.94213711711084},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718005\"],\"csd_name_en\":[\"Cumberland House\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Northern village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Cumberland House\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.66237089824999,55.11443922798896],[-107.60675038645795,55.13592065735942],[-107.60183335336482,55.14771514875722],[-107.60535407175547,55.16729355416283],[-107.64721538445272,55.13950945257433],[-107.68292314433054,55.12686300936195],[-107.66237089824999,55.11443922798896]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.6353051809017,\"lat\":55.1372208467176},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718033\"],\"csd_name_en\":[\"Beauval\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Northern village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Beauval\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.69877285091725,56.09008774509017],[-108.74403802115616,56.044085861316596],[-108.72489332110042,56.032567372977326],[-108.67664704555749,56.083334923157786],[-108.69877285091725,56.09008774509017]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.71115111138968,\"lat\":56.06222965436346},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718829\"],\"csd_name_en\":[\"Clearwater River Dene Band 223\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Clearwater River Dene Band 223\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.09306222801075,50.75248019561955],[-112.08195600442467,50.752311943415855],[-112.0819541925012,50.75809658419695],[-112.09362356282337,50.760098943703404],[-112.09306222801075,50.75248019561955]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.08790312013635,\"lat\":50.75579499847719},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4802\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4802038\"],\"csd_name_en\":[\"Rosemary\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Rosemary\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.80384619102944,53.54148339561807],[-112.80393807010996,53.513410828930404],[-112.83669384991636,53.5171406217388],[-112.8770006439295,53.51059207921217],[-112.90363286243594,53.51691712258675],[-112.93998033524737,53.51988341710346],[-112.95136318111118,53.524250648694576],[-112.95137997314052,53.48312825219385],[-112.90226837533183,53.483218592435115],[-112.90238077671277,53.46867707240042],[-112.87771647889234,53.46866598769755],[-112.87766809719585,53.46028689323553],[-112.85288349707847,53.46042052290101],[-112.85277118256029,53.41062186097994],[-112.84068479285767,53.410642640185976],[-112.8407608687245,53.36694179095213],[-112.97650381575053,53.36697230117127],[-113.00936810722814,53.36065255251723],[-113.04986959344197,53.36399942606545],[-113.05007558715651,53.35214291669826],[-113.0257125229658,53.352163256383726],[-113.02563305863946,53.33763389717152],[-112.99999998157585,53.33768735781798],[-113.00000000750009,53.294139766542145],[-112.78189050159675,53.293831909391365],[-112.78187232481534,53.279497202564635],[-112.68448261611765,53.279600399006426],[-112.68441381715586,53.1923717956306],[-112.48945738424624,53.19238670485334],[-112.48942460942678,53.10502181031135],[-112.31890658425003,53.10512760580698],[-112.31890339219025,53.017872310484826],[-111.98723571321227,53.017474794850635],[-111.98726008214827,52.95981169785159],[-111.89058002132595,52.959793297898614],[-111.89058109832807,52.94528150838313],[-111.79387308236126,52.94471946954992],[-111.79391749856889,52.93062329619895],[-111.4519192126536,52.93058218303138],[-111.40529114617546,52.92991395390499],[-111.40695515896505,52.94288590639189],[-111.40675858253792,53.016892000713455],[-111.43094819192974,53.01687751050943],[-111.42940762687547,53.147080561716386],[-111.43106006646961,53.19026109589612],[-111.54066049448855,53.1904022890603],[-111.54064083805804,53.233853072990314],[-111.638265368358,53.2338724963619],[-111.63832690046549,53.30634913753176],[-111.852517225623,53.30694550441928],[-112.05073239993766,53.308847988360526],[-112.05070380726099,53.36695168548261],[-112.16464211142126,53.36697699960224],[-112.16464210929047,53.39601249985857],[-112.26351408276405,53.39603189214404],[-112.26337091212784,53.42521310636039],[-112.36229499428278,53.4251774037566],[-112.36202121387419,53.45427048493278],[-112.50915281251648,53.45367231604149],[-112.5087412672226,53.541405956430815],[-112.80384619102944,53.54148339561807]],[[-112.22624719332524,53.22429689334531],[-112.2457025448171,53.22884438280614],[-112.24135685067787,53.23596664760412],[-112.2213752926221,53.236294903009785],[-112.22624719332524,53.22429689334531]],[[-112.42860804697106,53.301386738644844],[-112.41657318502774,53.30881370880546],[-112.41644248814222,53.28443101988419],[-112.42857659750595,53.29417794144607],[-112.42860804697106,53.301386738644844]],[[-111.78451048883478,53.102447110803155],[-111.76017350282198,53.095902509540856],[-111.77019671421083,53.089055956971414],[-111.78451048883478,53.102447110803155]],[[-112.65723701472139,53.35932490538919],[-112.68067310000946,53.37415868651295],[-112.68071700749461,53.38601962176187],[-112.64455077309692,53.381312062105],[-112.64365866118592,53.366892705429855],[-112.65723701472139,53.35932490538919]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.15468726927323,\"lat\":53.21812003202239},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4810\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4810016\"],\"csd_name_en\":[\"Beaver County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Beaver County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.4642335471484,53.56249062978571],[-114.46185555650713,53.5574112246421],[-114.4568624604727,53.55643942167883],[-114.45446689541828,53.562524859276245],[-114.4642335471484,53.56249062978571]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.45920992077147,\"lat\":53.5600081511929},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811042\"],\"csd_name_en\":[\"Lakeview\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Lakeview\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.32160957493997,53.998602592165966],[-111.32762929562297,53.99132279666451],[-111.29800063861694,53.976522448171345],[-111.2675181693046,53.97658081631386],[-111.25363377585464,53.98414272715379],[-111.25423782728163,53.9988239346946],[-111.32160957493997,53.998602592165966]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.2869615130866,\"lat\":53.988806695304156},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4812\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4812018\"],\"csd_name_en\":[\"St. Paul\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"St. Paul\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.35615964501287,54.501265904447756],[-114.42630602969597,54.48644663930847],[-114.44973986785605,54.46365724885336],[-114.48006278826288,54.41488786891595],[-114.49768179853773,54.41647994989231],[-114.50133819011157,54.4267503226609],[-114.51813759953451,54.4378173584977],[-114.52846352183256,54.42949703661124],[-114.52148806252661,54.41090261802991],[-114.52888740810252,54.3872345254763],[-114.51983946742052,54.37614737804407],[-114.53629432132469,54.36707837193442],[-114.55314591241977,54.37216647830121],[-114.56266897160286,54.3509860822103],[-114.59620093923175,54.3511042104359],[-114.59525422691617,54.32781010382912],[-114.60048693608722,54.32049567194922],[-114.62952245573152,54.31899811743596],[-114.65321061948612,54.305133581269565],[-114.66866888025132,54.31698625798059],[-114.757918376578,54.32288195491354],[-114.78339771596583,54.32193306637507],[-114.78930581905279,54.3100538696652],[-114.82520536429267,54.31246811483034],[-114.8464346822762,54.32608015761193],[-114.9009731770223,54.306900809512],[-114.91756308202392,54.322991864205065],[-114.95899062418597,54.31772167236905],[-114.9318123323834,54.293244826876744],[-114.95091847677931,54.293412019274705],[-114.94769125063122,54.28010047594082],[-114.97972492020955,54.275779168181934],[-114.98228600674095,54.266061366791746],[-115.00372387755354,54.261706587114496],[-115.00105461944784,54.2500012026267],[-115.01855296207516,54.248042820402674],[-115.02617039869676,54.23029828844847],[-115.04667126760717,54.22977042868044],[-115.07146317075747,54.210700985015805],[-115.10061931539745,54.19883857291895],[-115.15456349300952,54.169955277458286],[-115.16854840799066,54.17405193070513],[-115.19790289102689,54.16033826950999],[-115.20182104056141,54.15212254549772],[-115.00220720405375,54.15214766156047],[-115.00226645062567,54.122653621865354],[-114.82684326194767,54.12296858526836],[-114.82730284367739,54.065213876138934],[-114.82000704539627,54.065039526459316],[-114.82052820505709,54.035247608979695],[-114.79346035400897,54.03521801289336],[-114.79546620897368,53.97551079789342],[-114.73347391221937,53.97703670041031],[-114.73150589210715,53.933404724933354],[-114.72842045953634,53.92548550430339],[-114.7065023440173,53.91889455886589],[-114.63200397888593,53.940907613219345],[-114.60421150020602,53.93287660518277],[-114.57107151122726,53.942867106703005],[-114.54042439471343,53.94030085471609],[-114.51106594411765,53.95410672935463],[-114.48835291799561,53.94930941995691],[-114.44930968617564,53.964871110649845],[-114.43063697753756,53.964303661113924],[-114.42855774179137,53.97748747097497],[-114.34930257038592,53.97774106824189],[-114.34969703902837,53.933993942200985],[-114.29927345212184,53.93391441691959],[-114.28686162857045,53.919113024442915],[-114.28718128090993,53.890285303926234],[-114.15069129073129,53.89030829274042],[-114.14978065795083,53.8538676828893],[-114.05139159702155,53.853985228484724],[-114.05145181347557,53.926734699141555],[-114.0515828132842,54.064940204462246],[-114.15171949113864,54.064846288096426],[-114.15177141935843,54.1812900078767],[-114.18734224424516,54.18132142140503],[-114.18729895570945,54.23952831656943],[-114.27686351526522,54.23950810147813],[-114.27630851443902,54.413566184027935],[-114.30357144064867,54.4133725629476],[-114.30428620210758,54.501305136169435],[-114.35615964501287,54.501265904447756]],[[-114.41498957789187,54.136842640668675],[-114.41499350043138,54.14499754338114],[-114.3889634186804,54.14479750610892],[-114.387771285985,54.107656786763336],[-114.41434348914254,54.107523188486304],[-114.42685630299331,54.115830185441396],[-114.42684260508231,54.12984015186915],[-114.41498957789187,54.136842640668675]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.51225588971316,\"lat\":54.15322865672965},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4813\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4813018\"],\"csd_name_en\":[\"Barrhead County No. 11\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Barrhead County No. 11\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.37068783191435,60.000061435413656],[-112.39284446606341,59.97598737350922],[-112.35479007713008,59.967455662777375],[-112.33213325763826,59.97209868224208],[-112.30118708539031,59.95353715670739],[-112.24205996945692,59.93764195956859],[-112.20393588383075,59.91668837922212],[-112.17186098444192,59.913159157093254],[-112.15284745705512,59.90461087105043],[-112.10897076373432,59.89513026848725],[-112.08389244650589,59.87548356249424],[-112.04515888581358,59.86569888195284],[-112.00991449052879,59.86132187404879],[-111.98175517345143,59.84818005689832],[-111.97042526471441,59.829285077120346],[-111.97123726210276,59.81569755051368],[-111.91974898467997,59.81524257104731],[-111.86116215055718,59.82627057546834],[-111.81576729558493,59.81858224028232],[-111.71441736203901,59.820470677954596],[-111.71996308901882,59.87567831456058],[-111.69196372828046,59.88683832384067],[-111.6887777923723,59.90175767300859],[-111.7332235045297,59.92315464779827],[-111.75989302429343,59.92706002911139],[-111.7634342436885,59.95187748081695],[-111.74111279188561,59.94977977950327],[-111.71894894132313,59.933553567761315],[-111.6897857563624,59.937621675536114],[-111.68247086976943,59.92405638290938],[-111.65320936178223,59.915760376654326],[-111.66828137046784,59.890444368408865],[-111.65301314946034,59.87519036650576],[-111.5900962536334,59.87302206150266],[-111.60207742912648,59.86010450854458],[-111.59695434610724,59.84882256418628],[-111.61434518249797,59.84044424749263],[-111.5861984637994,59.83485851596743],[-111.58897571563284,59.80855991050449],[-111.57299827080467,59.79476657562869],[-111.5386878566765,59.78220437600126],[-111.52451337168006,59.759812857630266],[-111.52737727909928,59.747641259438154],[-111.51605456911761,59.73454565975002],[-111.53829385929684,59.71685948637743],[-111.53356626219659,59.700769062828066],[-111.51705406701271,59.689204664483505],[-111.48753249278633,59.6801397725629],[-111.48404746269662,59.66607237222785],[-111.43120758600986,59.64354036956608],[-111.41827788379017,59.60410447038489],[-111.43377858645269,59.59377105916709],[-111.43245207045508,59.582483279310715],[-111.45286494698414,59.56095647656892],[-111.45444317247538,59.53724896642492],[-111.46183775834263,59.53037385959124],[-111.44761796754415,59.50905845896456],[-111.47444868777978,59.49311277661655],[-111.46569498694055,59.470787558571416],[-111.47447505115564,59.46008568164331],[-111.47559215603765,59.43427318545544],[-111.45368068327377,59.417344864672756],[-111.4684581401564,59.40544504772905],[-111.45666875897012,59.38973697127595],[-111.46280538531398,59.38237915805582],[-111.44618215020543,59.354175679175164],[-111.44747066714535,59.33771866787424],[-111.42062138410665,59.32488116421545],[-111.41736287151811,59.29384835770402],[-111.43130715261003,59.28483557162371],[-111.46411726501995,59.27989848098107],[-111.48948704811075,59.28055287386094],[-111.50382256722963,59.273594684151725],[-111.50759327681487,59.25735056320388],[-111.53870665863663,59.24252806403501],[-111.51626295333806,59.227456979730874],[-111.44575098439039,59.22126996088849],[-111.39485217444322,59.21166258136549],[-111.39150146651176,59.20061898205005],[-111.41633517416005,59.1850075702506],[-111.4297517689269,59.16433466631811],[-111.42739407961602,59.14378736133962],[-111.44856658894587,59.136178772376304],[-111.45285685311407,59.11793296111927],[-111.4254828738166,59.089644456646695],[-111.42056567870054,59.06961996750226],[-111.44040638868334,59.05622525538077],[-111.44527387100956,59.02963047370253],[-111.42160687896254,59.000000062688166],[-111.35086025700487,58.97994877856525],[-111.34413646156287,58.96768246510292],[-111.2894770724521,58.950184371308204],[-111.26291206507824,58.93027828229662],[-111.24416925581174,58.93671758005066],[-111.21933787810104,58.92729507046482],[-111.1822501963805,58.919004069236045],[-111.19544405728051,58.89037556263833],[-111.23567545609959,58.88081196638325],[-111.25601676004138,58.87037977008614],[-111.27981287604874,58.83042148045978],[-111.29529944946185,58.79397567549648],[-111.23547934679596,58.76837816130439],[-111.2313720652807,58.75742405676457],[-111.24699526509285,58.73559897984595],[-111.24374599722059,58.72303316987353],[-111.22615898183157,58.71894085549932],[-111.19081456821681,58.69072067980984],[-111.16607777688647,58.68507675862381],[-111.16023117703976,58.672180163474],[-111.14127286097926,58.667266483074584],[-111.12661936554304,58.65184628284708],[-111.0822013958479,58.674727170694176],[-111.06531798096611,58.687176075905114],[-111.04365477539055,58.673557456975246],[-111.04809438079751,58.65346375329736],[-111.03779825260723,58.62698266313474],[-111.06089278517473,58.61160546380149],[-111.09679726997214,58.6097554798782],[-111.09880629362264,58.59650666281727],[-111.09090684304273,58.56873406275271],[-111.15179318856154,58.55818925372093],[-111.15058435539048,58.568304671606796],[-111.1758073845334,58.57239636139792],[-111.18513875468705,58.55642338076071],[-111.20997926435676,58.553424959909556],[-111.24651448106297,58.53400206972353],[-111.23930647193944,58.51970657826],[-111.25661215620916,58.505758073115665],[-111.27532795640549,58.51676347971114],[-111.30822766829468,58.51475166321097],[-111.3240074024294,58.504638774992124],[-111.3638915675211,58.513858665230096],[-111.37664686379686,58.506955168325135],[-111.35487215242775,58.46601126882577],[-111.3750128656513,58.46435905783304],[-111.407616162043,58.48937606118564],[-111.44363739048862,58.490695366301374],[-111.49080795502064,58.47237777127345],[-111.49354119170461,58.45965957079615],[-111.5177798497125,58.45392216678776],[-111.54854438176267,58.45778767059726],[-111.56143964357175,58.44488606044534],[-111.5410327831187,58.442956680338824],[-111.53950830153624,58.43307017733789],[-111.56571667823948,58.41439817599272],[-111.53873369008971,58.387633767926374],[-111.55059187216112,58.361630863413275],[-111.53492978682897,58.33993565981142],[-111.52205025695001,58.33310756789522],[-111.50901885107912,58.28579256452375],[-111.49362406774316,58.277868582464244],[-111.48503706056238,58.249843459308664],[-111.43859659488767,58.23762726726445],[-111.45052975690695,58.215883277411564],[-111.42009219404267,58.203377069124535],[-111.38302277665669,58.19625725998883],[-111.37018549343009,58.175102862696605],[-111.37343586352168,58.14699695789436],[-111.39405107845197,58.10678247067844],[-111.38892217997781,58.085274662320906],[-111.68569986924022,58.08289246149523],[-112.10989532577086,58.08082558570527],[-112.3625969829732,58.078903695831904],[-112.70034780311289,58.07713961177807],[-113.04515692102267,58.07849047842855],[-113.38824916250078,58.07918097218973],[-113.53428707832221,58.078841940621004],[-113.76741822532674,58.079959799124],[-113.99999998600734,58.0813389571425],[-113.99999999948102,57.89588815290827],[-114.00000000937023,57.6179325205698],[-114.00000001043465,57.3813033955197],[-113.60659761026503,57.38030473355211],[-113.25367110808256,57.38300078248156],[-113.09460263305087,57.38235287032793],[-113.09376462055835,57.294878037272916],[-112.76512002648894,57.29436750767512],[-112.76330407798217,57.207903287057775],[-112.73916716501937,57.20640314892679],[-112.74316639280994,57.0513309167298],[-112.74339749633258,56.856280448938094],[-112.72024159700221,56.85596381793093],[-112.71821403933967,56.77095600212872],[-112.71567526610312,56.50709051701885],[-112.69167699016293,56.50697000931879],[-112.69252735719016,56.45010540677963],[-112.71461774205433,56.43945664508901],[-112.70795216309631,56.420573358390676],[-112.6719146571972,56.41407394185973],[-112.66381987942086,56.4077625213326],[-112.67175667526284,56.39180467542346],[-112.6551074318607,56.37582266509348],[-112.6578923414626,56.3625031375866],[-112.63971243932342,56.35270529836196],[-112.62723287474738,56.33771191896186],[-112.59446880802435,56.31687526256827],[-112.57222997343504,56.2864345257904],[-112.56331033935824,56.26830300448632],[-112.53771729912327,56.24192805162769],[-112.53192589900274,56.21180866926077],[-112.51238249593773,56.19931136282575],[-112.51442829499153,56.18968837670328],[-112.53920895829742,56.16385889184577],[-112.55465338857407,56.160152846773116],[-112.55958232496263,56.145416521019946],[-112.57965943400411,56.12841137479362],[-112.5739767106332,56.11274798554143],[-112.59047978993621,56.08688286715718],[-112.62523168506925,56.08327843516615],[-112.63051764445811,56.074944759954725],[-112.61620301778053,56.06406791360299],[-112.6157077336584,56.05316482078586],[-112.62641759692778,56.03278917520413],[-112.60108692204133,56.017655344208826],[-112.64680043476484,56.00232910477851],[-112.63637737984314,55.98507802937212],[-112.29443822409876,55.98664977594948],[-112.03944342591788,55.98721037754822],[-112.03872765595983,55.943319789954636],[-111.92870207994031,55.940765202715724],[-111.88313399499717,55.941218319612865],[-111.88477130306758,55.988270548711924],[-111.41273463476497,55.98444053230666],[-111.4126273653774,55.81009385996609],[-111.39882844346846,55.81017654027888],[-111.3996535723638,55.72652651275647],[-111.40330570264618,55.62074869243524],[-111.4013364820542,55.55475221818934],[-111.09100347958422,55.55496593169735],[-110.67778607967263,55.55385230761902],[-110.3086896204373,55.55159603215887],[-110.00001031570066,55.549277976003395],[-109.99992783687989,55.725204557404595],[-109.99999997557369,55.98595421466345],[-110.00032601181191,56.24261799175394],[-110.00581396270078,56.28216442500276],[-110.00000001695895,56.28715035103455],[-109.99999998513282,56.57388154016331],[-109.99999998129574,56.75000000984386],[-110.00000001774731,56.92908280291551],[-110.00000005417468,57.12434415995929],[-110.00000001197044,57.25000000073837],[-110.00006040743004,57.557478033211716],[-110.00012707359578,57.75000000443963],[-110.00019449288398,57.94231562182124],[-110.00033729315962,58.13756663046651],[-110.00034782603416,58.29571213134822],[-110.00033550552803,58.507378259155296],[-110.00035230971936,58.70194702850847],[-109.99971791203544,58.861410428026396],[-109.99999998331283,59.000000005408424],[-109.99999999152047,59.250000008493345],[-109.99964501397132,59.484997217556305],[-110.00032719866543,59.71937971190855],[-110.00000001796549,59.99999999847859],[-110.24999998323496,59.99999999707299],[-110.74999998803094,59.999999992341486],[-111.24999999716947,59.99999999723996],[-111.49999998640104,59.99999999936669],[-111.81102182858326,60.00004538824272],[-112.25285514010709,60.000002766237024],[-112.37068783191435,60.000061435413656]],[[-111.18412591295368,58.70568500559441],[-111.18423445399686,58.710448524710955],[-111.19140459426083,58.71041458192152],[-111.19134231831761,58.71350339944386],[-111.18062560519077,58.71341513997933],[-111.18058457414976,58.70670059500991],[-111.18412591295368,58.70568500559441]],[[-111.18379497546557,56.43919985726896],[-111.17896509626848,56.446129866201595],[-111.16886867611443,56.43985708159361],[-111.18379497546557,56.43919985726896]],[[-111.85669929291022,59.98281810495389],[-111.85713165432244,59.99353752017067],[-111.8847841107462,59.99379861428952],[-111.885373294498,59.9994212290564],[-111.84711225156282,59.99961939196582],[-111.83786311530382,59.98881019351836],[-111.85669929291022,59.98281810495389]],[[-111.47930638140272,58.446659070795455],[-111.46528048598624,58.441285262991535],[-111.40846748520936,58.445221955889636],[-111.39293814122514,58.436119292851785],[-111.4688994372737,58.4336869371198],[-111.47037183813492,58.422058078907526],[-111.48746724075022,58.4207189794328],[-111.48397118186256,58.386450051143285],[-111.51844005280353,58.38527868778693],[-111.52451437340169,58.400365780387915],[-111.50805608274544,58.41953765730579],[-111.48284345885688,58.4314275609697],[-111.47930638140272,58.446659070795455]],[[-111.0346098586119,58.79428517289728],[-111.02021112210956,58.79720535880538],[-110.97307418429254,58.796649282639876],[-110.97300339291462,58.77962734353076],[-111.00869928217612,58.78104715618813],[-111.03772607983733,58.76563737996356],[-111.04977424960708,58.74670447372852],[-111.10895002260916,58.746804275836496],[-111.10106171230285,58.757442309001036],[-111.06710269380937,58.75992519752325],[-111.06297511647826,58.78106848842007],[-111.0346098586119,58.79428517289728]],[[-111.15185318989354,56.44173463862535],[-111.11054476150534,56.4354588769712],[-111.11082044084124,56.391848655771426],[-111.19014199885075,56.39149675884548],[-111.18791687271789,56.42793501813015],[-111.15167285170723,56.428903795593065],[-111.15185318989354,56.44173463862535]],[[-111.60794787095541,57.20587187752823],[-111.58324726286547,57.181712578019194],[-111.58509089384167,57.1699146790093],[-111.56391701448148,57.152698763842224],[-111.5657851829193,57.12743691398431],[-111.59951461188561,57.12731024504835],[-111.60111244240665,57.13752103647625],[-111.64306396633594,57.135099075429544],[-111.64136138305597,57.1642275952335],[-111.62590625970218,57.163991272748596],[-111.62198537889736,57.18811526790753],[-111.60794787095541,57.20587187752823]],[[-110.7043381345333,55.967432354419884],[-110.69324345184685,55.93626082427644],[-110.65565910573393,55.93673050554307],[-110.65498187002774,55.93060887258883],[-110.69853158348991,55.91559236273237],[-110.70704605582556,55.898880297673074],[-110.72513990971974,55.90086854716858],[-110.7313745149905,55.91509080900463],[-110.76207383284006,55.9149195968604],[-110.76338485187019,55.956053965095286],[-110.7378594093535,55.95591301390087],[-110.7043381345333,55.967432354419884]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.32822661408288,\"lat\":57.60263162863237},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4816\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4816037\"],\"csd_name_en\":[\"Wood Buffalo\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Specialized municipality\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Wood Buffalo\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.20900159007421,55.73760609724649],[-117.20898448373757,55.72324038957049],[-117.18315257649944,55.73018970121291],[-117.19004800842454,55.741874156092486],[-117.20900159007421,55.73760609724649]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.19783388218475,\"lat\":55.73285037018603},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4819\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4819046\"],\"csd_name_en\":[\"Falher\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Falher\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.82433237939104,56.10156325447231],[-117.82407632890421,56.1277167921457],[-117.85038372835598,56.12016886705062],[-117.88016762064427,56.12017001842475],[-117.87922249134002,56.06945269189473],[-117.82492859124986,56.069468112018775],[-117.82433237939104,56.10156325447231]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.85143646632724,\"lat\":56.09589619634063},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4819\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4819826\"],\"csd_name_en\":[\"Duncan's 151A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Duncan's 151A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.27105593088197,49.51806570459452],[-117.25729610635877,49.52937889533395],[-117.24588007713461,49.55332859672333],[-117.22688418230639,49.56625880032957],[-117.16499280584526,49.599138192126084],[-117.14736625889435,49.60218126686135],[-117.12656279650079,49.596905205842],[-117.12595836136575,49.61540090986717],[-117.1488239052529,49.62740606039241],[-117.15307920016572,49.64620846027366],[-117.14127750959995,49.67523105062704],[-117.15821751828025,49.697155370428696],[-117.15281039662146,49.72009075858139],[-117.16900913333512,49.734243150407735],[-117.18425925254964,49.756453348985346],[-117.19272754226853,49.74374364008259],[-117.19732445826357,49.722311433891065],[-117.19066128243792,49.69801436251737],[-117.23150764351256,49.69917104528132],[-117.25548845256698,49.68452638589626],[-117.26891154272255,49.69147611154565],[-117.31680234986028,49.67846125673364],[-117.31458775162285,49.65057990119824],[-117.32262497858976,49.62396320561771],[-117.34273836839282,49.620816541743324],[-117.36213897696086,49.62697936279961],[-117.37628532310481,49.62400269049861],[-117.39480555819952,49.634206448846534],[-117.40298783547266,49.62150529598948],[-117.42971105469775,49.609824448017456],[-117.41741664825057,49.59833483209967],[-117.4340543001212,49.58872985599586],[-117.47437538716822,49.57338397962368],[-117.50308197275824,49.5749284124576],[-117.51628654318709,49.55680344875922],[-117.52776634274979,49.557068529887026],[-117.55516500558045,49.540688685700694],[-117.55603171240719,49.524077426635394],[-117.54219156227342,49.50888403933846],[-117.545433394722,49.48091464562069],[-117.51678780824315,49.47986612422887],[-117.50589511342443,49.4620061427179],[-117.47275123081673,49.46150283264814],[-117.46254982838587,49.4761346526735],[-117.44430198559166,49.48580970707451],[-117.42011438038723,49.483209099196074],[-117.3899004805981,49.48742019778186],[-117.37910961640952,49.49628760648037],[-117.3590268904439,49.50037369285195],[-117.33437078923878,49.494244686129825],[-117.31233440645694,49.4890298866949],[-117.27105593088197,49.51806570459452]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.33064309207072,\"lat\":49.58281885361204},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5903\"],\"cd_name_en\":[\"Central Kootenay\"],\"csd_code\":[\"5903043\"],\"csd_name_en\":[\"Central Kootenay F\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Central Kootenay\",\"csd_name_fr\":\"Central Kootenay F\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.65403557194206,49.32857462440096],[-117.67462847628721,49.32742939198296],[-117.6828088414857,49.317432917805405],[-117.67842456671595,49.300627961064855],[-117.66514485170971,49.29941365416645],[-117.6651839307807,49.243426455355724],[-117.6511449176268,49.24173720618184],[-117.65418207093657,49.25967248125717],[-117.64149629230648,49.265400410435724],[-117.64458871416618,49.29019880439599],[-117.62763302342688,49.28906289862153],[-117.6306259463088,49.316248964458374],[-117.60957891669821,49.3189370976038],[-117.61336975839818,49.33101979400994],[-117.63105170131642,49.31675726341209],[-117.63704280726424,49.30326761885918],[-117.65330030729733,49.31599970151745],[-117.65403557194206,49.32857462440096]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.65395334921071,\"lat\":49.294112657784474},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5903\"],\"cd_name_en\":[\"Central Kootenay\"],\"csd_code\":[\"5903045\"],\"csd_name_en\":[\"Castlegar\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Central Kootenay\",\"csd_name_fr\":\"Castlegar\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.81735027635415,50.27460953584023],[-117.82647971286832,50.249664371719554],[-117.80777755561864,50.23652386005604],[-117.77716266747844,50.230648279997126],[-117.76818805227,50.24326330239114],[-117.80230938629238,50.24899668651341],[-117.80095533474875,50.25753946147085],[-117.81735027635415,50.27460953584023]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.80204751258067,\"lat\":50.24791763248013},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5903\"],\"cd_name_en\":[\"Central Kootenay\"],\"csd_code\":[\"5903050\"],\"csd_name_en\":[\"Nakusp\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Central Kootenay\",\"csd_name_fr\":\"Nakusp\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.43636580887353,49.42943666432638],[-121.45889418941755,49.403413181385794],[-121.4698861595264,49.40308068110849],[-121.46982489177314,49.38840226033121],[-121.48101319761912,49.38249047414057],[-121.50333301878565,49.3822103161059],[-121.50317758057625,49.374182298098916],[-121.52863810692344,49.36712469277696],[-121.56191860093664,49.36479319623832],[-121.57478542411705,49.352753154885555],[-121.50295858110896,49.353580096026185],[-121.4835831190278,49.361657528753916],[-121.47338201846954,49.35042272233872],[-121.44742458718748,49.36673567878044],[-121.37980460812581,49.369302910309635],[-121.35548581516032,49.38921492452664],[-121.39143961167608,49.389298344036405],[-121.41285877908395,49.39759675717974],[-121.43636580887353,49.42943666432638]],[[-121.46093530381147,49.39186135924167],[-121.4611841446142,49.40052775212277],[-121.44900662867651,49.40040360655863],[-121.45129941418956,49.39250125302641],[-121.46093530381147,49.39186135924167]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.45512169722535,\"lat\":49.379491564079835},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909009\"],\"csd_name_en\":[\"Hope\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Hope\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.58882619999483,49.365083950218995],[-121.59541411237441,49.359962359618265],[-121.58295609405859,49.359618887236856],[-121.58882619999483,49.365083950218995]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.58906546880928,\"lat\":49.36155506569137},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909814\"],\"csd_name_en\":[\"Skawahlook 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Skawahlook 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.12380625642449,49.40619926833434],[-123.24147728597471,49.40811015926802],[-123.25585406370038,49.39918228703488],[-123.26777405428308,49.384106285428594],[-123.29162310532742,49.378118503603595],[-123.2955266146309,49.37047323716896],[-123.2852660035867,49.35495618123281],[-123.26927310015303,49.34358505393717],[-123.2637411518321,49.327564365046875],[-123.2374313210522,49.336793301154685],[-123.20975603417182,49.33748796627691],[-123.15630294305869,49.324746289035765],[-123.13838718386044,49.31571756046734],[-123.13491576389383,49.31366557181324],[-123.12436529199597,49.32491870497123],[-123.11784758682418,49.33214178985124],[-123.1184869448666,49.37673311912044],[-123.12360923427735,49.37962640554554],[-123.12380625642449,49.40619926833434]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.19542294285934,\"lat\":49.36710863682178},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5915\"],\"cd_name_en\":[\"Greater Vancouver\"],\"csd_code\":[\"5915055\"],\"csd_name_en\":[\"West Vancouver\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Greater Vancouver\",\"csd_name_fr\":\"West Vancouver\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.52392052654052,48.610608845732536],[-123.5185425259867,48.61489715083092],[-123.5293982273844,48.63198627191987],[-123.5371665123636,48.610768433162036],[-123.52392052654052,48.610608845732536]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.52811885992269,\"lat\":48.61824073606102},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5919\"],\"cd_name_en\":[\"Cowichan Valley\"],\"csd_code\":[\"5919815\"],\"csd_name_en\":[\"Malahat 11\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cowichan Valley\",\"csd_name_fr\":\"Malahat 11\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.77428372799505,49.298687046862504],[-124.77406874484622,49.31642940679142],[-124.78389194508944,49.32545619777519],[-124.80932973176417,49.32794850058181],[-124.82777017027131,49.344868189273136],[-124.8635423810163,49.35939171501222],[-124.87271494460019,49.37782683586838],[-124.89991918445234,49.379537756242414],[-124.90054631841174,49.38716146307414],[-124.92322292707716,49.394423234835514],[-124.92954694835805,49.409596904683724],[-124.95339618866328,49.427178942189464],[-124.96813235767269,49.43338667776203],[-124.9708356080144,49.43351325823819],[-124.98213391781512,49.425603648039825],[-125.00013904303744,49.423993819590805],[-125.00542014807773,49.385196933027565],[-124.9857108170296,49.38296899683108],[-124.99138938462697,49.3713560011795],[-124.95573470368035,49.361799496762565],[-124.94688368930541,49.348926109988824],[-124.91342645661075,49.32886301599094],[-124.88339173811329,49.33233685807275],[-124.88256576266541,49.322443777785395],[-124.85845612585179,49.322125777629246],[-124.8446929258481,49.31153363815544],[-124.82354953808105,49.28391812078223],[-124.80249952700807,49.28351983962553],[-124.80011592398537,49.30790370954203],[-124.77428372799505,49.298687046862504]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.90160550847091,\"lat\":49.359864889782344},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5923\"],\"cd_name_en\":[\"Alberni-Clayoquot\"],\"csd_code\":[\"5923033\"],\"csd_name_en\":[\"Alberni-Clayoquot B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Alberni-Clayoquot\",\"csd_name_fr\":\"Alberni-Clayoquot B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.04717050118965,49.01826402580774],[-125.02943995391554,49.03015303193614],[-125.0570428997317,49.031134264872996],[-125.04717050118965,49.01826402580774]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.04455111827896,\"lat\":49.02651710753895},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5923\"],\"cd_name_en\":[\"Alberni-Clayoquot\"],\"csd_code\":[\"5923805\"],\"csd_name_en\":[\"Elhlateese 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Alberni-Clayoquot\",\"csd_name_fr\":\"Elhlateese 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.01054938742013,49.690770187050965],[-124.99929025101387,49.70254597507675],[-125.0151456977281,49.69462213965035],[-125.01054938742013,49.690770187050965]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.00832844538736,\"lat\":49.69597943392603},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5926\"],\"cd_name_en\":[\"Comox Valley\"],\"csd_code\":[\"5926802\"],\"csd_name_en\":[\"Pentledge 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Comox Valley\",\"csd_name_fr\":\"Pentledge 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.14906263300279,50.832664815364495],[-122.1374058120341,50.832355692026],[-122.13706244128817,50.80928417522011],[-122.10257401903196,50.80513596460318],[-122.0656651366152,50.804922774492155],[-122.0430018633243,50.8081747222727],[-122.04361099330843,50.79370112083224],[-122.02428090387689,50.79361709830863],[-122.02435423960809,50.779196934371576],[-121.9904985600516,50.778930669328766],[-121.99094148345425,50.76156644686549],[-121.97641899732689,50.76163163570009],[-121.97687757946125,50.74311975165648],[-121.93430785194366,50.742934629795656],[-121.93262793054875,50.754921365097864],[-121.94681151484255,50.75694164353646],[-121.96113609860787,50.77054249072515],[-121.969777269192,50.78777340686032],[-122.02094851149654,50.8058016027677],[-122.03674984918048,50.819488623998225],[-122.06927627977069,50.8129444143689],[-122.10227897635,50.825187018841284],[-122.12210900817678,50.842805558668],[-122.14696744625932,50.851953726190494],[-122.14906263300279,50.832664815364495]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.0399879221885,\"lat\":50.79629862937959},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5931\"],\"cd_name_en\":[\"Squamish-Lillooet\"],\"csd_code\":[\"5931813\"],\"csd_name_en\":[\"Bridge River 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Squamish-Lillooet\",\"csd_name_fr\":\"Bridge River 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.83112291948743,50.76570564333277],[-121.83589596308636,50.76569152149898],[-121.83576902108592,50.76240812734456],[-121.83085180837416,50.75833276453954],[-121.83112291948743,50.76570564333277]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.83309978383505,\"lat\":50.76290531811223},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5931\"],\"cd_name_en\":[\"Squamish-Lillooet\"],\"csd_code\":[\"5931834\"],\"csd_name_en\":[\"Fountain 3A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Squamish-Lillooet\",\"csd_name_fr\":\"Fountain 3A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.67679863460737,50.370322173799806],[-121.67606913398653,50.377877503278356],[-121.68340306232989,50.37769526365326],[-121.68393208246803,50.36851787676502],[-121.67679863460737,50.370322173799806]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.68016846139251,\"lat\":50.373618119563474},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933874\"],\"csd_name_en\":[\"Tsaukan 12\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Tsaukan 12\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.9207238227141,51.76827248327568],[-120.92263552742199,51.78651984260811],[-120.96897721582751,51.78889614153714],[-121.03749738471633,51.78851497533358],[-121.037759517965,51.76738352460728],[-120.98559505297106,51.76931585330021],[-120.9207238227141,51.76827248327568]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-120.98087622389461,\"lat\":51.77842246516347},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941802\"],\"csd_name_en\":[\"Canim Lake 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Canim Lake 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.5856265174651,52.94083877855122],[-123.57362207186625,52.96389279915681],[-123.59220008823348,52.96377683238213],[-123.5856265174651,52.94083877855122]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.58381622585493,\"lat\":52.95616947003005},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941837\"],\"csd_name_en\":[\"Nazco 20\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Nazco 20\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.32784588211743,53.118143959203536],[-124.32773350103236,53.12295094462737],[-124.34096743049136,53.12347310036079],[-124.3416509145296,53.118613409333435],[-124.32784588211743,53.118143959203536]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.33456793370065,\"lat\":53.12077914663024},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941864\"],\"csd_name_en\":[\"Sundayman's Meadow 3\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Sundayman's Meadow 3\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-127.24984419463222,51.67980500091712],[-127.2263680516796,51.67945965266435],[-127.20906059475443,51.6742744636972],[-127.17242510759093,51.67420329311056],[-127.17568837776737,51.691366838157236],[-127.20866946682723,51.691500214966254],[-127.21042220617011,51.68591841088085],[-127.24993095871277,51.68584298789517],[-127.24984419463222,51.67980500091712]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-127.20348017351692,\"lat\":51.682474941136306},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5945\"],\"cd_name_en\":[\"Central Coast\"],\"csd_code\":[\"5945803\"],\"csd_name_en\":[\"Katit 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Central Coast\",\"csd_name_fr\":\"Katit 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-130.61678154224182,54.70849898924426],[-130.98889023321266,54.70281503883701],[-131.09604156111078,54.63892474492078],[-131.10871408893198,54.617783315671744],[-131.10890208702648,54.57973209971783],[-131.10354877353834,54.57422633154789],[-131.05938392745702,54.55218814144333],[-131.0493802907311,54.54089293508082],[-131.03905472716073,54.5114561065808],[-131.039536233935,54.49900756036753],[-131.0292691016617,54.484964732971235],[-131.0145884530602,54.44381001810534],[-130.97683525651283,54.39721723397208],[-130.96962752425404,54.290707840790695],[-130.7486574544651,54.28910220972982],[-130.64015826252046,54.287231501426184],[-130.62725291516864,54.284619703204875],[-130.58325421190844,54.25842920640057],[-130.5652655375454,54.24144150120323],[-130.53210790751862,54.2269055328425],[-130.50030279723904,54.22413518205783],[-130.47572983692746,54.20977039424326],[-130.44684117655115,54.19815339976081],[-130.39158807944295,54.189660099999074],[-130.3638018200687,54.19080609285547],[-130.34864714052122,54.20098464886572],[-130.3507586851659,54.25536015707673],[-130.36538259693634,54.273708656929436],[-130.36549576395197,54.31441449116643],[-130.28349970213424,54.33857848744767],[-130.2532387703647,54.38436143533907],[-130.23615743316273,54.38264844067431],[-130.23629060887876,54.339534955833464],[-130.25556931113186,54.31089739738446],[-130.24628640580622,54.29939375987859],[-130.24659564227454,54.26193403600194],[-130.20723639989407,54.26242467610133],[-130.18857585200072,54.2485681866067],[-129.99940259811126,54.25994184912854],[-129.9582394533642,54.26138362029471],[-129.95837873924677,54.244393668414475],[-129.97684944965394,54.219354551108914],[-129.9442082832878,54.196362288788784],[-129.9793891944555,54.19233965937204],[-129.99419201444357,54.17943243729411],[-130.0299087416253,54.16575586875591],[-130.0674802222811,54.170954960898726],[-130.09331375607633,54.16475016472554],[-130.064491373157,54.15337348817294],[-130.0433354696923,54.15836207522481],[-130.02593297088595,54.155818313273144],[-129.98628891066244,54.16360481725458],[-129.94656255067844,54.1904513428468],[-129.89098142183653,54.21367434342568],[-129.85556926471338,54.2237684934046],[-129.73892787982714,54.21547169774362],[-129.62641463029502,54.17861012435225],[-129.59178530005448,54.19320759566829],[-129.56756744366498,54.207458570753275],[-129.56439650506348,54.21663218564372],[-129.53062196116642,54.22644161936747],[-129.5155914385903,54.24164094809306],[-129.49286343992293,54.23514351109732],[-129.48318675884536,54.244788439810186],[-129.44914381764895,54.24706217685172],[-129.4081203735189,54.26494439432041],[-129.37210092997404,54.29197543382849],[-129.37111700501424,54.356503542231465],[-129.3992122833939,54.35134715166873],[-129.43068351873168,54.364834137048845],[-129.47565954304014,54.36822736445455],[-129.49673669392521,54.38485507386813],[-129.51014822368,54.40676826675787],[-129.51385901382852,54.42481808019807],[-129.52504985613007,54.43854707495964],[-129.5651482958037,54.46069963773194],[-129.59839312021765,54.47326913351259],[-129.65369622407948,54.487211643949834],[-129.67599809069065,54.48194240653994],[-129.6922874449738,54.527262808187544],[-129.67322624789958,54.53948002697041],[-129.6586192291793,54.556878102413535],[-129.65822419135876,54.58094121339632],[-129.68717345002975,54.59476258291972],[-129.6728477500321,54.612987467399016],[-129.64604773184865,54.629127961847594],[-129.59260966156094,54.638800294336576],[-129.56844848907582,54.635604856635226],[-129.55368920113753,54.62291532910797],[-129.54601423909125,54.60256766822113],[-129.53309848385433,54.597457934282374],[-129.50121758089398,54.603283751654544],[-129.47458588763655,54.61867419089316],[-129.4670225064172,54.635978962142445],[-129.46393839229336,54.66028769312486],[-129.51300488920404,54.65844128078659],[-129.55237599719348,54.67702489382784],[-129.56697348644823,54.68030249172125],[-129.66515388457213,54.68931468421251],[-129.6843400138743,54.69541212660561],[-129.69224943348445,54.72324943224047],[-129.70113971008837,54.736432906469666],[-129.7237467875313,54.742863901572],[-129.75385832185736,54.72357650878826],[-129.7743593523926,54.72744465533656],[-129.79535370576488,54.74578763388343],[-129.82368447407583,54.731642863692855],[-129.86983328461244,54.725095283612085],[-129.91927647849528,54.711076712649835],[-129.95960172967906,54.7068830155504],[-129.96559928318155,54.69892546555059],[-130.00232405700677,54.70177934813558],[-130.03160344617652,54.69985640619249],[-130.058825469752,54.703200426968614],[-130.08083827622647,54.71467826860957],[-130.12817700060782,54.7234012440181],[-130.1398853837921,54.730724402932665],[-130.20391076478145,54.731763449332675],[-130.2617943120978,54.71352353463027],[-130.31477675638016,54.70169599870243],[-130.38843226980612,54.69186369954737],[-130.48475820750173,54.69051548707312],[-130.58096597356908,54.69111105738969],[-130.6051058499448,54.68903252222615],[-130.61678154224182,54.70849898924426]],[[-130.4147388512609,54.31544476760577],[-130.4002501875989,54.306009248124546],[-130.45071474945644,54.30541698119978],[-130.45802744862655,54.316636889931274],[-130.43629117769413,54.32999307394655],[-130.4147388512609,54.31544476760577]],[[-130.48663214244303,54.40468751147614],[-130.44913021887422,54.40463408641629],[-130.4480868105117,54.37839924381638],[-130.40097208099385,54.377899799174045],[-130.40091093767643,54.330166203217246],[-130.41690407493144,54.327903780938705],[-130.41892307286616,54.34277398193146],[-130.4613431608951,54.335588777242315],[-130.46172345383786,54.354980887274536],[-130.48292657275968,54.36775597379498],[-130.47427877188028,54.390143179420704],[-130.48663214244303,54.40468751147614]],[[-130.43971985815475,54.563388388741664],[-130.43022259988533,54.56154677340205],[-130.4306588022418,54.552237844052165],[-130.33368590996557,54.55044291933869],[-130.32864156084145,54.414366584698115],[-130.4780139421389,54.4146685000497],[-130.47366723471458,54.439235676068435],[-130.44788187287895,54.45710087888193],[-130.42259504382835,54.44902428315588],[-130.3924534428248,54.4543820819104],[-130.40136523847156,54.463743466448],[-130.39268294810964,54.47565510106314],[-130.42531025325584,54.47387237325218],[-130.44435304775055,54.4900941655552],[-130.45069014504332,54.529503477891694],[-130.43383425434715,54.558689784991074],[-130.43971985815475,54.563388388741664]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-130.2428015435339,\"lat\":54.47313763840309},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5947\"],\"cd_name_en\":[\"Skeena-Queen Charlotte\"],\"csd_code\":[\"5947016\"],\"csd_name_en\":[\"North Coast A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Skeena-Queen Charlotte\",\"csd_name_fr\":\"North Coast A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-128.56227644639705,54.516393649016166],[-128.57979657205172,54.52784237137816],[-128.58575967692386,54.54233675758803],[-128.62413698359452,54.543060579510666],[-128.65800576418292,54.52281574413575],[-128.66125765220497,54.52116339375381],[-128.63052384841592,54.50879546889923],[-128.62193130942333,54.496994400083224],[-128.58353570526765,54.49561927155023],[-128.56975779566258,54.501103188870076],[-128.56227644639705,54.516393649016166]]],[[[-128.55800933009348,54.49243931707728],[-128.59580622865116,54.488577011256936],[-128.59887828308993,54.458788950308495],[-128.65009668432234,54.45768433963793],[-128.66419762356887,54.434849928026146],[-128.58800931579356,54.43400901243718],[-128.58825266529163,54.42565549982193],[-128.55062900298606,54.42563122989328],[-128.5486232832987,54.43950847220303],[-128.53300909334288,54.439660677115256],[-128.5140752825162,54.4663394919106],[-128.5407186833892,54.46749388567436],[-128.55981778255716,54.476680272501106],[-128.55800933009348,54.49243931707728]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-128.5922261827102,\"lat\":54.478503701582355},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5949\"],\"cd_name_en\":[\"Kitimat-Stikine\"],\"csd_code\":[\"5949011\"],\"csd_name_en\":[\"Terrace\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kitimat-Stikine\",\"csd_name_fr\":\"Terrace\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-128.0198361484412,55.087002908903905],[-128.0121365823526,55.109393680568076],[-128.05605448132354,55.1084734100786],[-128.0582590196536,55.1138367059821],[-128.11352402269355,55.10577180963933],[-128.1157067001287,55.075937325718506],[-128.0198361484412,55.087002908903905]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-128.06816235461827,\"lat\":55.09551165213566},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5949\"],\"cd_name_en\":[\"Kitimat-Stikine\"],\"csd_code\":[\"5949816\"],\"csd_name_en\":[\"Gitwangak 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kitimat-Stikine\",\"csd_name_fr\":\"Gitwangak 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.46597948614188,54.23261280625556],[-124.46623661605666,54.24997275507977],[-124.79543066463839,54.24977306006287],[-124.99989839438487,54.24994595422292],[-125.2411995982563,54.24885874534512],[-125.24054219124552,54.10777591899768],[-125.24176842165274,54.086132779761336],[-125.23961624169404,54.02158821044281],[-125.29903758414545,54.02394725676752],[-125.30868099513417,54.01510498726165],[-125.29202149988825,54.00340924288667],[-125.23533281542271,53.99899064211382],[-125.2422240068737,53.94887875311708],[-125.24721396801104,53.89397800465779],[-125.23699529571834,53.827265055762744],[-125.23871576358135,53.656827866036615],[-125.23605940545198,53.49500882342647],[-125.23776184972675,53.44885207263155],[-125.21786092758292,53.44320282702283],[-125.15406725379707,53.43322680244699],[-125.10213137425707,53.43143001590728],[-125.02373748015727,53.44394738567854],[-125.01528098286556,53.46158392640498],[-124.99956388482128,53.459857207255276],[-125.00172120503012,53.44683820246297],[-124.98383183470563,53.4315277915133],[-124.93416221754244,53.438870938831485],[-124.89881610268753,53.435306161823576],[-124.8550847798635,53.396460834921804],[-124.80588500868829,53.369095259296316],[-124.779705824696,53.36181014339998],[-124.73662227434276,53.35462321195247],[-124.7191633516307,53.3599518881847],[-124.69724372244372,53.37809119993989],[-124.68117041656564,53.384125495665735],[-124.68751905914586,53.399542727962256],[-124.6612354119301,53.40870829026201],[-124.64734162537935,53.40755032534189],[-124.62884796188185,53.386032329347074],[-124.60641080133831,53.385918639995324],[-124.5542820820241,53.39357277683263],[-124.51576401003322,53.394648389551534],[-124.52328845923435,53.40236854719238],[-124.53744601375138,53.43621400417688],[-124.52091783490863,53.45040234353707],[-124.55209992863293,53.46234849611397],[-124.55193613765559,53.470739767520286],[-124.51848465501806,53.476971983150975],[-124.50919589041192,53.501437182996945],[-124.53683736346879,53.52481027292243],[-124.52804092727541,53.531108773855394],[-124.50060357952508,53.52746667628115],[-124.50437167840273,53.55350902414977],[-124.49540354049054,53.55568676216791],[-124.49898224903413,53.57455513578706],[-124.50016727625838,53.66031005499643],[-124.49674273009414,53.70193131770074],[-124.502872994535,53.70689289684088],[-124.50022994524352,53.82220930819277],[-124.50020066399063,53.894729667708496],[-124.49426548019521,53.89702640887126],[-124.4362686033298,53.896511763909984],[-124.43645941991537,53.99843339037088],[-124.36618531550171,53.99814008590874],[-124.36670901606122,54.01312127268535],[-124.36745935733417,54.01987085461664],[-124.36774363741573,54.03456929607151],[-124.35328531845526,54.07057379886834],[-124.36725417525605,54.128119450112116],[-124.46668057511906,54.128141628869535],[-124.46597948614188,54.23261280625556]],[[-124.75605683926553,54.05934527538762],[-124.77136423550091,54.05078108315185],[-124.78518022274142,54.05915258516212],[-124.75599606382906,54.06782980827501],[-124.75605683926553,54.05934527538762]],[[-124.84090735472819,54.066435854397085],[-124.81536116674073,54.06371788279116],[-124.84031860605862,54.05172809752807],[-124.86686376187073,54.05126672077279],[-124.86224073453765,54.0610933322252],[-124.84090735472819,54.066435854397085]],[[-124.60194088983064,54.085348784056784],[-124.60227364161592,54.09361010673782],[-124.57735770361175,54.09379250888422],[-124.60500242493413,54.06439157595958],[-124.6202880099456,54.0632603027952],[-124.6125440716739,54.081672824284745],[-124.60194088983064,54.085348784056784]],[[-124.9191987435562,54.03431690179199],[-124.92842448342842,54.0407043116513],[-124.9260528553488,54.069948133780315],[-124.88922406059453,54.07023186897551],[-124.90039582358025,54.05960697183373],[-124.88980858149439,54.04937134559445],[-124.89037149930755,54.03437380428305],[-124.9191987435562,54.03431690179199]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.84872186884523,\"lat\":53.841480572341766},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951017\"],\"csd_name_en\":[\"Bulkley-Nechako D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Bulkley-Nechako D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.89450142977407,54.33390287894922],[-125.8773927007541,54.32711293035613],[-125.87853221818355,54.33427465526336],[-125.89450142977407,54.33390287894922]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.88347544957055,\"lat\":54.331763488189566},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951820\"],\"csd_name_en\":[\"Palling 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Palling 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.39714160562602,53.5914237257774],[-122.49183391317338,53.591957413004955],[-122.68157602096127,53.5957285174497],[-122.70660131487934,53.59358286001302],[-122.70900231381688,53.58060826278485],[-122.72476903229295,53.55279067240007],[-122.7150944238189,53.52797667569517],[-122.6852516005678,53.520280164967915],[-122.66984427603435,53.4925108945556],[-122.68302418539675,53.457173408260104],[-122.66438448976187,53.442418591949455],[-122.65952329066977,53.425423492539686],[-122.63539731270427,53.39683390379925],[-122.64604816854393,53.386900331404796],[-122.63594081187365,53.37592445179277],[-122.61246142167573,53.37243435513882],[-122.48963261024173,53.37259441704802],[-122.34861691261764,53.37349116241964],[-122.34505002779669,53.39942104827008],[-122.32642196788049,53.41165603673921],[-122.34811470435397,53.440082901952096],[-122.33626530101523,53.450127016204505],[-122.2870717500662,53.45001563174465],[-122.27543013683987,53.456013654869984],[-122.16290278269919,53.45678892625051],[-122.1734164266495,53.4803338984022],[-122.19230112995382,53.49135650713364],[-122.18054008337425,53.516661594322386],[-122.18252180646027,53.52526334478131],[-122.21509375221144,53.52423547890765],[-122.25845234709053,53.53190618036161],[-122.27349170873372,53.52735390890959],[-122.3186952927066,53.54540597969499],[-122.33901556311234,53.54324522723329],[-122.35740187959966,53.52446273023075],[-122.38304111113429,53.54161762191897],[-122.39519799379184,53.56160062846312],[-122.39714160562602,53.5914237257774]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.48051826239117,\"lat\":53.48590845142149},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5953\"],\"cd_name_en\":[\"Fraser-Fort George\"],\"csd_code\":[\"5953046\"],\"csd_name_en\":[\"Fraser-Fort George E\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser-Fort George\",\"csd_name_fr\":\"Fraser-Fort George E\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.85256444527498,55.20185815649697],[-120.95148144712361,55.20103794524516],[-121.00607457391409,55.20245587189496],[-121.1552373901595,55.2011031121803],[-121.15109534868006,55.2427089277225],[-121.25433480535492,55.24081301024147],[-121.30173716423207,55.246257700608524],[-121.49252016547537,55.24561673389121],[-121.49338225361286,55.20391640744166],[-121.49756219711844,55.18508554951503],[-121.54908468279059,55.18566390074971],[-121.54897947818192,55.17593630128319],[-121.5997512313142,55.17676951987783],[-121.599145551571,55.1861529636355],[-121.62461293408798,55.1862084307237],[-121.62781175901597,55.13623698462487],[-121.52606609386805,55.13470235215181],[-121.52889831033151,55.0843995253497],[-121.52176953263242,55.0728539247637],[-121.30106771635452,54.940046520281484],[-121.23093413860923,54.896586704477336],[-121.0794028851674,54.80194256002878],[-120.8781417113528,54.85926725918779],[-120.8474609815467,55.0318120170972],[-120.81907512511202,55.180251551898024],[-120.81168556571622,55.20280330020438],[-120.85256444527498,55.20185815649697]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.1588200763606,\"lat\":55.05833454546607},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5955\"],\"cd_name_en\":[\"Peace River\"],\"csd_code\":[\"5955003\"],\"csd_name_en\":[\"Tumbler Ridge\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Peace River\",\"csd_name_fr\":\"Tumbler Ridge\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.90158137236413,56.52133749374173],[-121.9776793081701,56.523102291253885],[-121.97803480314255,56.497825605169254],[-121.94790118899493,56.501535463484466],[-121.88625320840372,56.474409471311645],[-121.83989591214888,56.459725865771624],[-121.83148489519425,56.446672972795845],[-121.81456901185614,56.436628063235446],[-121.77960622526764,56.42453778435387],[-121.77775819459801,56.47217629975447],[-121.832518308099,56.47291801388959],[-121.83311800118094,56.487177825041954],[-121.90079139708408,56.487841979906236],[-121.90158137236413,56.52133749374173]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.8676952189877,\"lat\":56.47966129581897},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5955\"],\"cd_name_en\":[\"Peace River\"],\"csd_code\":[\"5955808\"],\"csd_name_en\":[\"Halfway River 168\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Peace River\",\"csd_name_fr\":\"Halfway River 168\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-138.96082328166435,61.32165728577985],[-138.92522121349472,61.339258954962574],[-139.0395279943784,61.38877521431029],[-139.09434445372477,61.3633804402928],[-138.97694128506316,61.31367873396171],[-138.96082328166435,61.32165728577985]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-139.0093088691315,\"lat\":61.351338072498045},\"year\":\"2021\",\"prov_code\":[\"60\"],\"prov_name_en\":[\"Yukon\"],\"cd_code\":[\"6001\"],\"cd_name_en\":[\"Yukon\"],\"csd_code\":[\"6001039\"],\"csd_name_en\":[\"Burwash Landing\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Settlement \\/ \\u00c9tablissement\",\"prov_name_fr\":\"Yukon\",\"cd_name_fr\":\"Yukon\",\"csd_name_fr\":\"Burwash Landing\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-140.83560960728596,62.36979908093918],[-140.84118476939022,62.38997886126894],[-140.87910565056984,62.404749122222036],[-140.9254271443456,62.403153917438146],[-140.95036047237517,62.387650944051266],[-140.9490167485017,62.37272445875287],[-140.91703551988883,62.356438438724844],[-140.87839355457248,62.354436870302486],[-140.83560960728596,62.36979908093918]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-140.8939214461313,\"lat\":62.37989982749062},\"year\":\"2021\",\"prov_code\":[\"60\"],\"prov_name_en\":[\"Yukon\"],\"cd_code\":[\"6001\"],\"cd_name_en\":[\"Yukon\"],\"csd_code\":[\"6001042\"],\"csd_name_en\":[\"Beaver Creek\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Settlement \\/ \\u00c9tablissement\",\"prov_name_fr\":\"Yukon\",\"cd_name_fr\":\"Yukon\",\"csd_name_fr\":\"Beaver Creek\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-126.62242588579913,65.27435449154935],[-126.59628448761175,65.29840665941114],[-126.85880615037867,65.34589871564968],[-126.89352758788057,65.33061906324],[-126.91854771601206,65.28733648645061],[-126.87805418504139,65.27681191336298],[-126.6714884740441,65.23416719655896],[-126.66340390433533,65.25224293755217],[-126.64629464941149,65.26723641207413],[-126.62242588579913,65.27435449154935]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-126.76495111484324,\"lat\":65.29232273566049},\"year\":\"2021\",\"prov_code\":[\"61\"],\"prov_name_en\":[\"Northwest Territories\"],\"cd_code\":[\"6102\"],\"cd_name_en\":[\"Region 2\"],\"csd_code\":[\"6102007\"],\"csd_name_en\":[\"Norman Wells\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Territoires du Nord-Ouest\",\"cd_name_fr\":\"Region 2\",\"csd_name_fr\":\"Norman Wells\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.25121671399272,60.96647230390474],[-117.25122225593776,60.973772870781545],[-117.4599209953606,60.97607251060518],[-117.46293287524647,60.88871845519205],[-117.25081505013185,60.88404998474976],[-117.25121671399272,60.96647230390474]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.35577373338072,\"lat\":60.930524063848225},\"year\":\"2021\",\"prov_code\":[\"61\"],\"prov_name_en\":[\"Northwest Territories\"],\"cd_code\":[\"6104\"],\"cd_name_en\":[\"Region 4\"],\"csd_code\":[\"6104005\"],\"csd_name_en\":[\"Kakisa\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Settlement\",\"prov_name_fr\":\"Territoires du Nord-Ouest\",\"cd_name_fr\":\"Region 4\",\"csd_name_fr\":\"Kakisa\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.83761900777965,47.702184405249234],[-53.86003066984743,47.67449021219238],[-53.85216904177561,47.64309260730967],[-53.792684385873095,47.647050149624796],[-53.806038613868026,47.67714500578621],[-53.82065328034766,47.683420497492015],[-53.83761900777965,47.702184405249234]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.83002383495095,\"lat\":47.666487701441696},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001281\"],\"csd_name_en\":[\"Chance Cove\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Chance Cove\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.28615419910001,47.554757213694124],[-53.28784732966606,47.55961233449552],[-53.298167469027064,47.56040501568203],[-53.31312461806712,47.550194302890404],[-53.3356460866854,47.53584478537329],[-53.334049510108734,47.52312689530869],[-53.28615419910001,47.554757213694124]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.31246933060959,\"lat\":47.5438453856374},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001426\"],\"csd_name_en\":[\"North River\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"North River\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.12722121471136,47.42883628221676],[-53.13666819993116,47.44836270614376],[-53.16772570356032,47.45190070295376],[-53.180726738205244,47.437284982782785],[-53.17648789479748,47.43374361462786],[-53.20344455597778,47.39522962896066],[-53.21525038154578,47.36994031854445],[-53.228307531088966,47.3581893259359],[-53.2172883097785,47.35826299442273],[-53.1856081064018,47.37722250359743],[-53.16950836882993,47.40442380005661],[-53.15130158685694,47.409640725774935],[-53.12722121471136,47.42883628221676]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.17279165768445,\"lat\":47.41245017694434},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001469\"],\"csd_name_en\":[\"Harbour Main-Chapel's Cove-Lakeview\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Harbour Main-Chapel's Cove-Lakeview\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-52.896704189903666,47.58407940331354],[-52.877602207235256,47.61132128748376],[-52.858853191789315,47.62894150363232],[-52.854785172467736,47.655586237850294],[-52.88481983744261,47.65986400796789],[-52.998963961000065,47.70323591152534],[-53.062101996777685,47.7086612970862],[-53.0737385147935,47.66468099918074],[-53.08380656643402,47.631170501393726],[-53.10622699477416,47.599387751547226],[-53.12065593417382,47.57928854097002],[-53.144463207045206,47.548857474216824],[-53.15263614398067,47.5401935792934],[-53.10559361187636,47.46124851066636],[-53.097995834353476,47.457778299751695],[-53.08511306047878,47.47119262023801],[-53.064999179850204,47.478298513251154],[-53.02352589918312,47.50619556401851],[-53.002669730162474,47.51488291966],[-52.980865983897836,47.51895846265336],[-52.95539715959178,47.53680044041881],[-52.927636603027935,47.542310322443825],[-52.915094320135765,47.553395382768],[-52.896704189903666,47.58407940331354]],[[-52.914117282175134,47.65609149614462],[-52.91446850891794,47.63642369711133],[-52.941093724427766,47.620446275526696],[-52.95181407674885,47.63405632033313],[-52.97789256981806,47.6229831279009],[-52.993077994696115,47.6316749024165],[-52.95949459751758,47.65153409675735],[-52.914117282175134,47.65609149614462]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.014864553854366,\"lat\":47.59153857497159},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001490\"],\"csd_name_en\":[\"Division No.  1\",\"Subd. R\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Division No.  1, Subd. R\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-56.791108127455054,48.16277977222408],[-56.81640331623303,48.18711397630365],[-56.823132508739114,48.20017198413454],[-56.84911890169298,48.19475228832336],[-56.86313596280367,48.17503919012428],[-56.880710940383786,48.172648453648726],[-56.918281877800325,48.14186637517134],[-57.00207155838387,48.15615269550169],[-57.033885942119355,48.14443109195679],[-57.07126496224167,48.12382489706801],[-57.105001580053525,48.112329346528824],[-57.10472093691759,48.09677379291966],[-57.089150626250756,48.076098055532775],[-57.09002044092363,48.04586823748495],[-57.10318473340306,48.049903383089394],[-57.15720471839044,48.05477512647719],[-57.17512748837623,48.07237883364712],[-57.218371552011575,48.06518351692927],[-57.25003764579634,48.08596650460314],[-57.26705851550301,48.08426828563505],[-57.2915511867263,48.09144734567371],[-57.31073722263302,48.0922474109829],[-57.33969677021259,48.1023268038346],[-57.344093077997364,48.108250913314905],[-57.33012436457257,48.155428461958216],[-57.33316149201045,48.16065568465951],[-57.38398787925202,48.15019635349313],[-57.389930052837045,48.133264999029784],[-57.41950989566147,48.131116738829256],[-57.42703936463604,48.10624517706396],[-57.44959910484466,48.08824629390241],[-57.44866664788319,48.079436188224925],[-57.47135359072993,48.052396985149315],[-57.483282155621495,48.0205921855296],[-57.476741903461125,48.000063105994826],[-57.48387168358981,47.99110521693059],[-57.54445748510083,47.95998810501477],[-57.59518967253551,47.95710947801349],[-57.60563480354941,47.97799201061976],[-57.641129793530325,47.97888180678984],[-57.670367212407655,47.93969320624487],[-57.677951792542565,47.923197405985285],[-57.71440589815381,47.89632758635405],[-57.72558054881163,47.88461665890167],[-57.726982296496836,47.86990648910515],[-57.74077760945776,47.84309229508231],[-57.73809928905128,47.83606229774744],[-57.73844811864351,47.7958478023964],[-57.72655388611739,47.77909869825785],[-57.72770642057716,47.76674559639546],[-57.694416959294465,47.712536518317094],[-57.687122995478084,47.68733807803807],[-57.6720668799255,47.65042585947047],[-57.54861931225401,47.65177232132549],[-57.55638500591971,47.64116775961565],[-57.57706020835592,47.63969636735258],[-57.586185610630984,47.62830595021094],[-57.57979038954929,47.61788214236273],[-57.577746169120765,47.58524275662915],[-57.66220065696462,47.58426885353822],[-57.65569719913478,47.60987600219538],[-57.66642099251751,47.6249912058948],[-57.68273083677604,47.637797673768844],[-57.72317764188382,47.641753660357345],[-57.7504024695599,47.63889064926178],[-57.75264131081191,47.5655503810912],[-57.73716127659394,47.53120325294876],[-57.714488371688695,47.5062346912652],[-57.682855950998196,47.50006540309398],[-57.39554303178518,47.44930236990493],[-57.27446381911216,47.42882650578562],[-57.07684980704728,47.39336099269555],[-57.048179332556266,47.416165958379324],[-57.01520799072957,47.44988390643678],[-56.999999975539346,47.4793233620263],[-57.000000021938575,47.58123583009756],[-57.023333168904756,47.60737301375772],[-57.05867253309447,47.611451450620095],[-57.06841111165465,47.631756725619304],[-56.98444015538814,47.709058339855645],[-56.93288013963868,47.742948205490734],[-56.930443556798714,47.761769994919796],[-56.91788108162188,47.79186338895141],[-56.94091406687771,47.8024626476061],[-56.96005991736975,47.81918243872232],[-56.99263533385601,47.81783800870108],[-57.00152790881362,47.83880335818833],[-56.99234106306441,47.85195744534999],[-56.98047115647984,47.88445067159326],[-56.97860394204299,47.91142899868447],[-56.961320606836345,47.94472736317246],[-56.94529026360352,47.98403354133849],[-56.93059974867758,48.00850653026425],[-56.937887337778285,48.02393240626405],[-56.94520560037393,48.06575829837254],[-56.936402776638204,48.08087743423071],[-56.91967214046912,48.088875050983255],[-56.90630140432635,48.102199179567705],[-56.86503233805874,48.13374619384177],[-56.842699773603144,48.1473746012226],[-56.791108127455054,48.16277977222408]],[[-57.379697194620434,47.52843899355967],[-57.39537628622927,47.51422579217452],[-57.41049187855028,47.51188200169485],[-57.390979097863216,47.52889619383097],[-57.379697194620434,47.52843899355967]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-57.308017555420705,\"lat\":47.77029355418094},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1003\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"1003024\"],\"csd_name_en\":[\"Division No.  3\",\"Subd. F\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Division No.  3, Subd. F\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-57.379697194620434,47.52843899355967],[-57.390979097863216,47.52889619383097],[-57.41049187855028,47.51188200169485],[-57.39537628622927,47.51422579217452],[-57.379697194620434,47.52843899355967]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-57.39441153279433,\"lat\":47.520774312777405},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1003\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"1003026\"],\"csd_name_en\":[\"Ramea\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Ramea\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.33015556403917,49.16174424213011],[-55.33052507945432,49.178162950297356],[-55.322760204355546,49.195708948154],[-55.309945526647404,49.2062569515081],[-55.28555849555751,49.217979180224766],[-55.328278036380226,49.230232671546325],[-55.36571037031359,49.224761534711895],[-55.40552654911231,49.2513835524343],[-55.45672649312782,49.2530169031535],[-55.48419383802324,49.25095555590031],[-55.52956334210758,49.221537506740134],[-55.565797037350485,49.221434691129005],[-55.58548296709288,49.232129767770516],[-55.599771213434344,49.21120304407266],[-55.62412701078006,49.211402222381196],[-55.62429295405269,49.1826158136603],[-55.65048944897091,49.17562197470816],[-55.67323372532672,49.16347946766414],[-55.69178552492461,49.14563115647183],[-55.69891329675789,49.106059305133805],[-55.72502092355352,49.08242024065446],[-55.75245306190607,49.06667723863765],[-55.77853810596465,49.056245952274935],[-55.78688292733275,49.062257609388574],[-55.7800990245909,49.078340913137865],[-55.80459811120634,49.092073077666775],[-55.78664410280636,49.10386492636014],[-55.78235245266567,49.11856184334931],[-55.80161922896682,49.13916268599003],[-55.79222088842626,49.15516943366015],[-55.79338646980871,49.1671567403896],[-55.76224265813366,49.17274032154794],[-55.746285121837175,49.18637969688375],[-55.733273506811884,49.2101289975063],[-55.714972051864386,49.22495000785935],[-55.68367760690468,49.224897107439155],[-55.6341651241038,49.265476859001865],[-55.64165184688309,49.27704910208661],[-55.62664445845071,49.29391953429285],[-55.65034850845701,49.29809064711789],[-55.87025251687373,49.35587252648461],[-55.99127452350831,49.32012108154881],[-56.01870616832684,49.3161287509242],[-56.02527905204262,49.29859421542778],[-56.03764246882407,49.28433973981114],[-56.0490107631512,49.28994982109132],[-56.10252083620019,49.27415045925854],[-56.126444113047164,49.28324473970168],[-56.336012477706014,49.318060775924124],[-56.51018216567328,49.3490933023086],[-56.512986497788006,49.3500429849677],[-56.60061463127494,49.3102465565593],[-56.60894884110292,49.31554340125022],[-56.64654125668545,49.29577187024506],[-56.664703045663096,49.29305915814884],[-56.69313325343673,49.27586785144046],[-56.711600594979934,49.25975461098429],[-56.73412977817945,49.262197806911544],[-56.757622197693145,49.256899945057185],[-56.76160623033226,49.240193455680846],[-56.74471831139519,49.22865614966902],[-56.767372416585566,49.21322856930241],[-56.76023475019169,49.202792408478054],[-56.7244962029882,49.20719732127993],[-56.69272619504768,49.20578832963724],[-56.657279167844536,49.1976857133752],[-56.64046692657907,49.18341911342436],[-56.637044899719335,49.165171794987394],[-56.67437534429998,49.15258469555685],[-56.633807751667064,49.13965319595049],[-56.582552231957855,49.10203730029881],[-56.56281260351848,49.09834631350235],[-56.53551934275946,49.10233674935707],[-56.50574400886004,49.09323693707692],[-56.49550844140758,49.06877773581178],[-56.509460500476465,49.05231266892487],[-56.49162092874269,49.032181988867386],[-56.50243651571637,49.02400096384555],[-56.495463357969385,49.0093861937689],[-56.47168189523482,49.010512070135064],[-56.4347226919602,49.03085008981583],[-56.40976136741715,49.024005998036984],[-56.35498649495987,49.03681739197487],[-56.33246227791879,49.03316279543305],[-56.29948978473708,49.03636923275938],[-56.27045723259533,49.05719013371936],[-56.256178273823586,49.048331672763055],[-56.2689136836166,49.03338044733371],[-56.29185089393312,49.02485611750903],[-56.294429866618245,49.010049150127266],[-56.28406148609882,48.99369544633643],[-56.26861680662101,48.98313556396407],[-56.26940562774891,48.973560551962244],[-56.28375095965273,48.95167249941962],[-56.299846366924484,48.94060798028815],[-56.310673038675276,48.92611608497933],[-56.30143462922717,48.91065403509817],[-56.33096092051405,48.88710387721044],[-56.333491315872145,48.87732059773214],[-56.35310776272557,48.867284187740324],[-56.35155997616982,48.848188592436784],[-56.32697194632375,48.84307244981897],[-56.31242358820789,48.83326126814004],[-56.30467126756088,48.81778538022281],[-56.25664390742536,48.81519498576365],[-56.239728880564435,48.798258057383826],[-56.20061966673268,48.783787917371086],[-56.167384698321136,48.77733499411106],[-56.16348227280506,48.76764134054198],[-56.17249179884874,48.75337633584997],[-56.16976185483382,48.74091846368888],[-56.179576810189076,48.72982273580189],[-56.15087808104753,48.72017314575105],[-56.142011838580665,48.70690418782923],[-56.11376143383946,48.68187663672468],[-56.10273499912723,48.667455353025176],[-56.12382654257234,48.64565385759037],[-56.127535985652926,48.632565529607376],[-56.16172550658303,48.61376832223023],[-56.14662308943461,48.59867844156472],[-56.13800434308112,48.57485006900699],[-56.145036774112484,48.56953851525852],[-56.14816270028298,48.54748631584547],[-56.15605632010619,48.52732659550078],[-56.133469778918666,48.536645016289384],[-56.088651706879574,48.53720522098973],[-56.08662367229138,48.522335039200115],[-56.068139413064465,48.50104913429593],[-56.06785266074919,48.481958416101925],[-56.03987599140628,48.48393671235874],[-56.01922385364057,48.50046906242759],[-56.01288608221666,48.51995898087653],[-55.985226644150735,48.55602819991937],[-55.97104186247109,48.5547446087113],[-55.9516217340475,48.58620950688987],[-55.95293601753848,48.592843119116104],[-55.92967813939333,48.611926073832024],[-55.91651241359692,48.60942640871436],[-55.88117489541521,48.627876779650265],[-55.83930364885244,48.6305134679159],[-55.82754387357622,48.637060133851605],[-55.83950709497836,48.64721149222942],[-55.82867878719878,48.676988089032065],[-55.816527494462484,48.68287526283598],[-55.790284414775364,48.71961059148642],[-55.79837741024246,48.757399406360236],[-55.78511671001298,48.77612769950067],[-55.799084300172005,48.78429761123181],[-55.75437787453014,48.813562603123984],[-55.7467236086909,48.82413440892401],[-55.74331990842121,48.84714599808122],[-55.75072048774979,48.8698958999287],[-55.74630208080174,48.87937749749732],[-55.72504017385619,48.897499202722905],[-55.691260507654675,48.915849999608255],[-55.66350374529409,48.92407334573452],[-55.66776271221686,48.937358107810205],[-55.687130399712885,48.93744200650946],[-55.69517458078426,48.93107300635617],[-55.71954570874586,48.92740769715389],[-55.73764806953096,48.93893027687895],[-55.73373867182203,48.97810504360715],[-55.648835740591146,48.99620558646632],[-55.64685132466691,48.95352739648352],[-55.63650072537205,48.95430676645103],[-55.580491612130274,48.98447858913585],[-55.56121179859916,48.96760109134989],[-55.54238198914204,48.983126678187965],[-55.56031633142275,48.9955532597071],[-55.50553590409588,49.036034289008654],[-55.47253220079241,49.03603785438049],[-55.45243494331559,49.048617477265736],[-55.400128676286464,49.03841932995612],[-55.40364955387722,49.03241212250098],[-55.38758132835018,49.04821223440877],[-55.32419224865447,49.08427067046091],[-55.3058925736545,49.092310683395404],[-55.316728978914256,49.115600312205984],[-55.33015556403917,49.16174424213011]],[[-55.38796571794473,49.152600304910095],[-55.433134376081426,49.14745773800798],[-55.39460721864657,49.214991314849684],[-55.327395383489,49.21486620051066],[-55.35602749328655,49.184108006864896],[-55.383841287769826,49.16861379536339],[-55.38796571794473,49.152600304910095]],[[-55.38796571794473,49.152600304910095],[-55.356608912724134,49.158651390391036],[-55.33530579821707,49.14718478474274],[-55.35647662116065,49.13088869771394],[-55.37211062290303,49.11166015398947],[-55.40440452175569,49.11064933551685],[-55.38796571794473,49.152600304910095]],[[-56.05473543616475,48.98044997351141],[-56.03156351890513,48.98212294395209],[-56.046997178454305,48.96869849490622],[-56.05473543616475,48.98044997351141]],[[-55.33721641689264,49.12690810215023],[-55.32200508848595,49.09829050452307],[-55.33498091121132,49.09454085602823],[-55.365834075552776,49.11872290396742],[-55.33721641689264,49.12690810215023]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-56.02805608254541,\"lat\":49.03706036957672},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1006\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"1006014\"],\"csd_name_en\":[\"Division No.  6\",\"Subd. C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Division No.  6, Subd. C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.06796585747754,48.61741139007246],[-53.01272477167942,48.616610843277535],[-53.019577907681395,48.62829500228416],[-53.04417360610003,48.63616952162824],[-53.02890969040637,48.64934053300732],[-53.07742930167777,48.64024939258354],[-53.06796585747754,48.61741139007246]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.048020397821865,\"lat\":48.62968989360707},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1007\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"1007020\"],\"csd_name_en\":[\"Elliston\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Elliston\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.757934908746364,49.481292174786105],[-54.743163095504926,49.503942905443964],[-54.74904321090366,49.51107529244504],[-54.775828784277486,49.5180644994851],[-54.8217932946559,49.50023903029422],[-54.82904219673047,49.48141769832957],[-54.80265531093234,49.486529091950196],[-54.761671350999976,49.480040307808444],[-54.757934908746364,49.481292174786105]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.78266281551145,\"lat\":49.49778102506746},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008033\"],\"csd_name_en\":[\"Summerford\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Summerford\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.8746476092692,49.30272358587563],[-54.857514349747234,49.30069592832887],[-54.84634229316238,49.32323298376983],[-54.855312998827294,49.32489860651618],[-54.86507100966671,49.35557320795058],[-54.858496102653305,49.39130091065383],[-54.84506899218908,49.40589909646548],[-54.87720000007214,49.40683230545051],[-54.883201986669825,49.39111570316019],[-54.89723741809803,49.38358950279058],[-54.913929916191236,49.35763609854034],[-54.90209929752105,49.34195519599812],[-54.89200901065782,49.345413907025694],[-54.87225879356639,49.3387663973147],[-54.882738401238214,49.326900713835634],[-54.89098972434496,49.30294682505883],[-54.8746476092692,49.30272358587563]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.876708502870315,\"lat\":49.35478507612578},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008039\"],\"csd_name_en\":[\"Comfort Cove-Newstead\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Comfort Cove-Newstead\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-56.12235250780072,49.510805720727575],[-56.107679296784134,49.50062082097172],[-56.089531366864364,49.497442580914246],[-56.06990448948599,49.48572359455624],[-56.0631612178969,49.50226459538017],[-56.02069719164587,49.51176950548986],[-56.00179947992837,49.521542297611134],[-56.003004000860784,49.53010763966802],[-56.10388500377916,49.520639199692354],[-56.12235250780072,49.510805720727575]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-56.06415160788424,\"lat\":49.51261964593359},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008061\"],\"csd_name_en\":[\"Springdale\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Springdale\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.500000002487646,50.537651915471706],[-55.49522216085931,50.64993255479747],[-55.500000022988424,50.73091552444413],[-55.45523279493501,50.74720226070818],[-55.451741208948896,50.824697176439805],[-55.49548168393942,50.835429234479875],[-55.50000001039511,51.011487411239706],[-55.500000009193535,51.04190080190853],[-55.41378115848155,51.22974062909367],[-55.63485287276816,51.260621332938015],[-55.80472412611904,51.28150448325233],[-55.8697618941148,51.286506275130975],[-55.9355735119467,51.29929756561358],[-55.983087959990236,51.31104804050659],[-56.08135641389997,51.3389679617075],[-56.12181742454619,51.37236436706992],[-56.14014815441373,51.39163777716217],[-56.22012804020391,51.348919322424685],[-56.23177596587489,51.33860372073919],[-56.26384802609204,51.33096327769348],[-56.28084926177821,51.31658329355793],[-56.31302140654435,51.31300560644185],[-56.329221355540696,51.28861658861364],[-56.34970014675327,51.26911597282062],[-56.352327962532854,51.24517066895835],[-56.3690490234102,51.220998492564625],[-56.36754682388388,51.20462724698108],[-56.3123635932428,51.20963571389524],[-56.300393517777366,51.19933250096604],[-56.27925561251902,51.19560990624545],[-56.26104576244593,51.19813319951924],[-56.17494668841176,51.17325506840595],[-56.17591120593584,51.16129481422146],[-56.19933975763189,51.1501179702239],[-56.24537281296843,51.153725911593234],[-56.26189278760101,51.12779740881503],[-56.27646467171315,51.12776060346736],[-56.32516331712695,51.1513083706828],[-56.35629652038222,51.157279349371336],[-56.38777532895932,51.148452487668884],[-56.413061703580546,51.12671935846436],[-56.46247989721787,51.09986769712031],[-56.48095139288977,51.09488218805709],[-56.502590074491714,51.07744254970624],[-56.57633467107967,51.05063287991483],[-56.6118350838776,51.03459964951285],[-56.628595442840876,51.02148901037806],[-56.618962087702705,51.003170759439826],[-56.607624236167545,50.99791854646216],[-56.60932552151676,50.97680829976577],[-56.60298183747714,50.96929814041342],[-56.57416791719218,50.958714045883475],[-56.58061172554401,50.94926863779978],[-56.63456789401265,50.944991295362826],[-56.6411468172819,50.93774075123809],[-56.6245780952913,50.92979156150611],[-56.59263570199825,50.92801869450328],[-56.56716336480844,50.91198183984835],[-56.578087363820316,50.879171589516154],[-56.600314379368854,50.86889145748244],[-56.65673311118651,50.85244020977553],[-56.66302367952713,50.823491569581584],[-56.6947102683396,50.819857986443715],[-56.699697218339836,50.80864420132802],[-56.740962642079964,50.79142048282042],[-56.756859412531846,50.78169420807113],[-56.76346304148702,50.770383347148105],[-56.75649024861404,50.75050195272155],[-56.741476770292564,50.7193037832168],[-56.746692327535634,50.69197501206672],[-56.7435900342409,50.67716239928157],[-56.7333004705492,50.66930726802461],[-56.68793109615856,50.679956438662686],[-56.660201898456386,50.67532711985633],[-56.63382210173154,50.657896690539694],[-56.65590185610483,50.628042992315685],[-56.66839610254319,50.62868382209442],[-56.687599601848675,50.595430286054366],[-56.70172896096426,50.587216325599094],[-56.75544749126895,50.57954399155024],[-56.77831777257239,50.56424624014566],[-56.81866350122542,50.56588692071305],[-56.85376325291406,50.56394132871078],[-56.88304232332085,50.544888958742014],[-56.860314844973196,50.530166105733024],[-56.86634401504693,50.51391665289856],[-56.86622865348396,50.491938581721655],[-56.83461509571104,50.493123434892],[-56.8244656658435,50.48875444562507],[-56.82541128358643,50.472865138940044],[-56.84770791911864,50.448101465251355],[-56.86795760745974,50.43284401342673],[-56.904041406525025,50.434487915285125],[-56.914994055372745,50.42678682015369],[-56.92551017242881,50.395494636126145],[-56.929326033208405,50.37344355215347],[-56.964259122955724,50.37248730635928],[-56.95755196452442,50.34276301742043],[-56.96305450415568,50.33303861924647],[-56.95884052164947,50.31765533846528],[-56.98682780689651,50.30957063957241],[-56.985093044253844,50.29812447654061],[-56.96591378286533,50.292060051221675],[-56.97158836784643,50.27284831974674],[-56.994639113907645,50.256115033342404],[-56.98061258868377,50.248844987278076],[-56.97755805104091,50.23787718706355],[-57.00504374866662,50.23809740707939],[-57.02782795260244,50.21960246667085],[-57.04529155254038,50.2112340853869],[-57.06588223448433,50.21540298630244],[-57.09534196755796,50.229541499469036],[-57.09380428072647,50.2121724981727],[-57.07372107823145,50.19464260517805],[-57.05989225318103,50.18921973402922],[-57.04073893254999,50.17049356820523],[-57.049148542996846,50.15466775065087],[-57.03854496732043,50.13518801617224],[-57.0417222772422,50.128589290416805],[-57.014569028488125,50.10751119058416],[-56.99009144380393,50.10772605323617],[-56.98274788376459,50.09143078590537],[-56.94714157643068,50.071140761662974],[-56.922499190079044,50.07474783045701],[-56.906647000752066,50.09502114990536],[-56.88173017168855,50.10847121692478],[-56.84440695462255,50.11150234631035],[-56.80058229180846,50.102773361704884],[-56.781040757502836,50.118247334145934],[-56.73979320661804,50.13247250584052],[-56.71603694724527,50.12364594109615],[-56.685629229803496,50.13201108811558],[-56.661822457221156,50.128904082410436],[-56.62165231968013,50.11580570788058],[-56.43804840412559,50.1159804119141],[-56.293230648074214,50.24832387174848],[-56.183342287325395,50.321814076423976],[-56.07398968192107,50.3958241387233],[-55.69512343958361,50.49184933024462],[-55.500000002487646,50.537651915471706]],[[-55.85550910737268,50.9097045866707],[-55.879893408113595,50.88255180402861],[-55.91192625418039,50.895042271259165],[-55.912276974646154,50.90772518294356],[-55.890656681184296,50.919472110096734],[-55.88968960973435,50.902475804901556],[-55.85550910737268,50.9097045866707]],[[-55.940097649784605,51.165304988963186],[-55.94741060105088,51.13306856507886],[-56.03976573851634,51.143247961620865],[-56.02907514099613,51.19388555238876],[-56.01704736662311,51.19982823327807],[-56.0047689779426,51.18979837521415],[-55.98000333007505,51.197577432272695],[-55.93557989202723,51.19218543969091],[-55.940097649784605,51.165304988963186]],[[-56.10049628773202,50.78685580715279],[-56.144106051457456,50.79043830405976],[-56.14394851490043,50.80255239937636],[-56.133206295213185,50.83354890652022],[-56.13858807068252,50.848796888438685],[-56.129016365836115,50.85981278945339],[-56.13094898843557,50.87469308852582],[-56.11958121282373,50.878891862299994],[-56.12300117931512,50.898667901262506],[-56.11252244940863,50.92250980262623],[-56.098611397475594,50.92291610983568],[-56.09939263794494,50.88781857672592],[-56.077053104897416,50.85080828472551],[-56.0650194754022,50.85002289697381],[-56.071497715567006,50.79572419570188],[-56.06762748536511,50.79510790192406],[-56.00778278860955,50.796501007509505],[-56.01596970770706,50.784420114276855],[-56.03567769967163,50.78381288990113],[-56.03046650161985,50.76539930318735],[-56.05725491674558,50.75492350397311],[-56.088722404596844,50.72379810964023],[-56.11264457692702,50.719994801597274],[-56.10388508409612,50.736182991656015],[-56.10657880534182,50.75659629174735],[-56.10049628773202,50.78685580715279]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-56.187183504061075,\"lat\":50.725763353540785},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1009\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"1009001\"],\"csd_name_en\":[\"Division No.  9\",\"Subd. F\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Division No.  9, Subd. F\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-56.97210322542144,51.49128927817173],[-56.955900676710115,51.47309247861926],[-56.91895642912431,51.49879500508221],[-56.952974514450744,51.5026823180091],[-56.97210322542144,51.49128927817173]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-56.94869621396744,\"lat\":51.490663809859655},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1010\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"1010005\"],\"csd_name_en\":[\"Forteau\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Forteau\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-56.72864725863676,51.612123406034925],[-56.745260932353055,51.584700966983675],[-56.70942549326085,51.57948349337658],[-56.70257371486256,51.5988619053147],[-56.71355668295148,51.616211054023836],[-56.72864725863676,51.612123406034925]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-56.72147830161119,\"lat\":51.59616733874542},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1010\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"1010006\"],\"csd_name_en\":[\"West St. Modeste\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"West St. Modeste\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.56498586474461,46.43176578168968],[-62.57886448008745,46.42904015217069],[-62.58927239824448,46.414365702558115],[-62.57281369462317,46.40752671953358],[-62.56498586474461,46.43176578168968]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.57625384095256,\"lat\":46.41988847176425},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1101\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1101044\"],\"csd_name_en\":[\"St. Peters Bay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"St. Peters Bay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.63042412280318,45.85881977061309],[-62.66744970358402,45.9585276700809],[-62.713354699772886,46.0747274864245],[-62.714371341562334,46.07723842351761],[-62.76975151294261,46.06622126812501],[-62.76107276293343,46.036953633344204],[-62.74391625837511,46.040620102605104],[-62.71482916993935,46.02921193109621],[-62.731814851572494,46.012163402720866],[-62.72352071651451,45.99591699132882],[-62.71094031917737,45.99870239503357],[-62.698781218653075,45.96182232803927],[-62.69033338615883,45.8625041228916],[-62.699089817642225,45.858041797732625],[-62.63042412280318,45.85881977061309]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.69289992743185,\"lat\":45.9635255286634},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1102\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1102003\"],\"csd_name_en\":[\"Murray River\",\"Part 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Fire District\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Murray River, Part 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.714371341562334,46.07723842351761],[-62.72707308525699,46.108527906165854],[-62.741134292895225,46.11204425161356],[-62.77913760200775,46.14913390469886],[-62.796852117571106,46.14507949600016],[-62.807926784508915,46.156681299009435],[-62.80622409377509,46.129780492489196],[-62.79244718588555,46.119546525773934],[-62.7753605420329,46.10390752550358],[-62.760478749826156,46.079464599522176],[-62.76975151294261,46.06622126812501],[-62.714371341562334,46.07723842351761]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.76112613856561,\"lat\":46.108307137497306},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1102\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1102005\"],\"csd_name_en\":[\"Montague\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Fire District\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Montague\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.19649257325836,46.27656193545223],[-63.21454581290388,46.283627375269056],[-63.216626352022864,46.29095690690808],[-63.23631401284091,46.293368709646074],[-63.23067019081034,46.2800446889156],[-63.250862437861635,46.27550161081538],[-63.24538124087043,46.26217543682517],[-63.22196081560481,46.26416567486834],[-63.21726555592981,46.25487593172389],[-63.18575739769573,46.26170063479427],[-63.19649257325836,46.27656193545223]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.21894509856414,\"lat\":46.27226154728405},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1102\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1102070\"],\"csd_name_en\":[\"Warren Grove\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Warren Grove\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.79247961612851,46.440824590405995],[-63.845497290408666,46.42863568948661],[-63.846540814090545,46.42533102853932],[-63.83872261413497,46.4183067491875],[-63.81317307680239,46.41436383148717],[-63.816933147988415,46.403702602780044],[-63.839439717379214,46.39112133956868],[-63.80404280142936,46.396059689950185],[-63.7930559416157,46.387171935474505],[-63.77611715204955,46.3862439979813],[-63.76029118521227,46.39162660043455],[-63.72370825831092,46.39598505448104],[-63.72519928267612,46.412833418335055],[-63.75013405176039,46.410928782341955],[-63.753993813546906,46.42086499805591],[-63.79697410985986,46.42286520072627],[-63.79247961612851,46.440824590405995]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.786047249669544,\"lat\":46.40999308409853},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1103\"],\"cd_name_en\":[\"Prince\"],\"csd_code\":[\"1103025\"],\"csd_name_en\":[\"Summerside\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Prince\",\"csd_name_fr\":\"Summerside\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.21969175377953,46.71146050859441],[-64.23961846084738,46.70784566409605],[-64.23637486196581,46.69902322286368],[-64.21969175377953,46.71146050859441]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.2318950255309,\"lat\":46.70610979851804},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1103\"],\"cd_name_en\":[\"Prince\"],\"csd_code\":[\"1103042\"],\"csd_name_en\":[\"O'Leary\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Prince\",\"csd_name_fr\":\"O'Leary\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.97189912067012,46.920020576909685],[-63.97160180297878,46.93875672747865],[-64.01664706375361,46.938152424401544],[-64.02528819430721,46.9425955938113],[-64.04909318143213,46.941493946630544],[-64.04240837318578,46.93090783711835],[-64.04675327610234,46.9192689789341],[-64.02998615264168,46.90696090421109],[-64.01627815215252,46.90939863115546],[-64.01044860391752,46.91843913415125],[-63.97189912067012,46.920020576909685]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.01266135082648,\"lat\":46.92717052347956},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1103\"],\"cd_name_en\":[\"Prince\"],\"csd_code\":[\"1103053\"],\"csd_name_en\":[\"St. Felix\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Prince\",\"csd_name_fr\":\"St. Felix\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.21818052077852,46.88574008757038],[-64.2362016334606,46.874927994917236],[-64.22478300124773,46.87036881161921],[-64.21818052077852,46.88574008757038]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.22638838516228,\"lat\":46.877012298035616},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1103\"],\"cd_name_en\":[\"Prince\"],\"csd_code\":[\"1103062\"],\"csd_name_en\":[\"Miminegash\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Prince\",\"csd_name_fr\":\"Miminegash\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.10467182253399,43.7134818296084],[-65.1180097877749,43.71147646676114],[-65.11557300277927,43.69617158988766],[-65.1007380683787,43.68729221354844],[-65.09620444354086,43.70349123797909],[-65.10467182253399,43.7134818296084]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.10702841191478,\"lat\":43.70184092118921},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1201\"],\"cd_name_en\":[\"Shelburne\"],\"csd_code\":[\"1201009\"],\"csd_name_en\":[\"Lockeport\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Shelburne\",\"csd_name_fr\":\"Lockeport\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.382296027676375,45.14030858042278],[-63.389760734312496,45.148691703824866],[-63.38976301433055,45.17441170426778],[-63.402407034257564,45.18732437292684],[-63.39503298902129,45.19744833538655],[-63.41834329831699,45.21007703418718],[-63.416314909956874,45.23099734190996],[-63.45451395097645,45.24913471744375],[-63.45690965372878,45.268449862549105],[-63.472708144789294,45.27225587985324],[-63.48076439508854,45.29114034371683],[-63.47568164784969,45.3069964286494],[-63.51318723815426,45.33939050905868],[-63.56447353238502,45.33904282962115],[-63.59034050896196,45.33910754731719],[-63.69810806292841,45.35232373100138],[-63.749215058794704,45.357393245592654],[-63.79706508927953,45.35447133414777],[-63.846789110134196,45.32870651462293],[-63.861932671742295,45.31461265266926],[-63.87881970528265,45.30904539698753],[-63.971618126044184,45.30319835451643],[-64.01910706915163,45.31554683725331],[-64.02227210335009,45.24981306728504],[-64.01595744693861,45.2342438766152],[-63.98338595336876,45.215851824461105],[-63.95537822619333,45.15205139294646],[-63.93161007102136,45.0934885173988],[-63.903656096299315,45.01119319313402],[-63.8780749908304,44.9427663966954],[-64.00780300016504,44.78277239697888],[-63.86500435793585,44.79638635591802],[-63.8445030096665,44.7894833507535],[-63.81519169080728,44.8145516053659],[-63.798703047787015,44.84423015022648],[-63.75578769565847,44.893663755185386],[-63.703056801251314,44.91954507804797],[-63.663164998340505,44.936729138058865],[-63.591945800316644,44.94963788330085],[-63.567879174723515,44.936577614574944],[-63.54543811341538,44.943050435190344],[-63.53692199009416,44.93168890407469],[-63.51453575289365,44.960106718730756],[-63.49238348452141,44.962392840745636],[-63.453667169278795,44.99900018216943],[-63.43168692562725,45.00378098402685],[-63.43794846879174,45.034306148813606],[-63.42138520535813,45.04440480193198],[-63.42301851644029,45.05534216183201],[-63.39146520380687,45.05479303405506],[-63.39748832581642,45.0766919117247],[-63.393910504755304,45.08753233271948],[-63.406125842727214,45.10128042863428],[-63.394859347546486,45.129588789077374],[-63.382296027676375,45.14030858042278]],[[-63.46606485910493,45.09981876533066],[-63.47143140972568,45.08024810611675],[-63.498869792561464,45.075791224402074],[-63.51095082808621,45.07879167392201],[-63.5182936499784,45.10439708308757],[-63.46606485910493,45.09981876533066]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.71015791721401,\"lat\":45.116849783266844},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1208\"],\"cd_name_en\":[\"Hants\"],\"csd_code\":[\"1208008\"],\"csd_name_en\":[\"East Hants\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Hants\",\"csd_name_fr\":\"East Hants\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-60.19858334329213,43.944340647828106],[-60.16339511033677,43.934109383694974],[-60.09215327485265,43.91670013225106],[-60.02221627860246,43.908332292445166],[-59.89736201465592,43.907457950810276],[-59.87469602278611,43.91054376395462],[-59.77540638586203,43.93799667500018],[-59.75763002648166,43.949502345752364],[-59.6710192495684,44.01401136503929],[-59.6704576621145,44.05129931069995],[-59.85578630241619,43.99149318158162],[-59.93400576562917,43.972166162671684],[-59.97511324717852,43.96704346609892],[-60.04655401722123,43.964856406132085],[-60.07891956731901,43.96962662795145],[-60.17205312842206,43.99456170472554],[-60.187265937080724,43.99998110608087],[-60.294991865725095,43.99997854558111],[-60.23132462099296,43.96108092005226],[-60.19858334329213,43.944340647828106]]],[[[-62.073180167717894,44.87948809788418],[-62.14707106063443,44.946294002993135],[-62.166692609818725,44.97820227040314],[-62.1761617511872,44.98842909903653],[-62.19515429382952,44.99747693507391],[-62.334694325209284,45.073059509143214],[-62.35001476995395,45.08833964254322],[-62.38452230534533,45.095939899499335],[-62.46152970056534,45.14178919814047],[-62.56126960641933,45.19501941278728],[-62.65844503943605,45.24985614659213],[-62.71410969835632,45.27587224189204],[-62.760147345990184,45.25767799105381],[-62.792389098148234,45.247685935119556],[-62.81478575315658,45.244008904413846],[-62.837921989806716,45.22587747262184],[-62.89869358663673,45.19451639448642],[-62.91480283390356,45.189948063521214],[-62.99216628834315,45.16091650056647],[-62.99929758463534,45.156314044290184],[-63.33597634537611,45.03659061578682],[-63.36057151453869,45.029653399546454],[-63.37181968473741,45.03975010274218],[-63.39243049134583,45.030731797821],[-63.40075008585381,45.03902190335827],[-63.39146520380687,45.05479303405506],[-63.42301851644029,45.05534216183201],[-63.42138520535813,45.04440480193198],[-63.43794846879174,45.034306148813606],[-63.43168692562725,45.00378098402685],[-63.453667169278795,44.99900018216943],[-63.49238348452141,44.962392840745636],[-63.51453575289365,44.960106718730756],[-63.53692199009416,44.93168890407469],[-63.54543811341538,44.943050435190344],[-63.567879174723515,44.936577614574944],[-63.591945800316644,44.94963788330085],[-63.663164998340505,44.936729138058865],[-63.703056801251314,44.91954507804797],[-63.75578769565847,44.893663755185386],[-63.798703047787015,44.84423015022648],[-63.81519169080728,44.8145516053659],[-63.8445030096665,44.7894833507535],[-63.86500435793585,44.79638635591802],[-64.00780300016504,44.78277239697888],[-64.23714713532551,44.76086450604775],[-64.08072799732959,44.647929903746125],[-63.997186015656375,44.59000056797956],[-63.964229308952014,44.50356379855507],[-63.9506229080615,44.485086406174226],[-63.91395162123331,44.48075138533639],[-63.857908372821555,44.47102789393172],[-63.78148690078411,44.4622330803517],[-63.79732443597108,44.43689746342396],[-63.745912101693065,44.42179190975038],[-63.66773127940527,44.42272142486437],[-63.66783934970233,44.41353809185516],[-63.53933133815837,44.413633293006],[-63.5007618464626,44.498335412428744],[-63.50292539852253,44.55863788973929],[-63.499282669265334,44.562861281458765],[-63.36332304742518,44.592097223815145],[-63.24983847551818,44.615602515084994],[-63.215315015518364,44.62085865599389],[-63.13810698336506,44.61951532877884],[-63.046221796659914,44.61377893831838],[-63.00424033308261,44.619762336977125],[-62.884335844254124,44.64247456894391],[-62.75507269100036,44.6787701805944],[-62.63374686890296,44.73500567722781],[-62.61523440978202,44.74980767977666],[-62.59254879526066,44.757684468833304],[-62.54437983845981,44.76824901115706],[-62.49360562545742,44.77700186377106],[-62.41533769612396,44.7853026535711],[-62.1971536784873,44.81005876592534],[-62.08481574169133,44.87425689279088],[-62.073180167717894,44.87948809788418]],[[-63.48215439609698,44.647085998073756],[-63.487739460723965,44.64919395076029],[-63.48474319557926,44.65052628166595],[-63.48055674789836,44.65373264098386],[-63.47993540080983,44.65207908862095],[-63.483137109663915,44.6489846748724],[-63.48215439609698,44.647085998073756]],[[-62.57400910101132,44.91003202968793],[-62.54822923848058,44.91554714092627],[-62.54111835212162,44.91787448806376],[-62.53944135382587,44.91611814440176],[-62.5521231169959,44.91328744706509],[-62.57400910101132,44.91003202968793]],[[-63.796275307429894,44.735350625576665],[-63.79273010695136,44.72951476599302],[-63.79658243603385,44.72784632681305],[-63.8033691512969,44.73299624650218],[-63.796275307429894,44.735350625576665]],[[-62.7705255832054,45.022921801142964],[-62.76456241174805,45.028554995317755],[-62.75006318007493,45.02060313677946],[-62.75334787999162,45.01778467337606],[-62.7705255832054,45.022921801142964]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.99330539949037,\"lat\":44.80283579286897},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1209\"],\"cd_name_en\":[\"Halifax\"],\"csd_code\":[\"1209034\"],\"csd_name_en\":[\"Halifax\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional municipality\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Halifax\",\"csd_name_fr\":\"Halifax\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.60363113942551,45.723098905902425],[-62.50000001169176,45.82094432588334],[-62.50000001355947,45.86127181322381],[-62.550047057320164,45.86056097497857],[-62.63042412280318,45.85881977061309],[-62.699089817642225,45.858041797732625],[-62.75440742622554,45.858330502413715],[-62.81845886395667,45.86575810802967],[-62.868449248618916,45.874282600571185],[-62.91201053805329,45.885213177882264],[-62.97023249080883,45.907739193877696],[-63.02837463246273,45.946734619795386],[-63.058914374178414,45.97233330338372],[-63.1048563066061,46.00312833781682],[-63.146209150013604,46.01520465049889],[-63.330699737215966,46.06821074457862],[-63.18755433041852,45.809902694779524],[-63.14384226035895,45.73460657200372],[-63.008499067381074,45.486083429470675],[-62.95062668773055,45.44662973195632],[-62.95000841748876,45.44619099709705],[-62.93713901077167,45.441929017296616],[-62.90416942855632,45.44856969081673],[-62.91691360837418,45.482279307633235],[-62.90588199681022,45.50273138622446],[-62.90773741002988,45.511957906756564],[-62.88392459984952,45.538918804468814],[-62.86128541321106,45.54674729827236],[-62.843659000477906,45.56235019695399],[-62.83093256955928,45.598172486016274],[-62.81815066895498,45.606092246096736],[-62.805128842554716,45.62404194191701],[-62.793847046296364,45.62990311251479],[-62.78816742236179,45.65364766887403],[-62.76283607844781,45.66829896457229],[-62.74370960423713,45.66319183366387],[-62.695700201540504,45.67058218356917],[-62.67647516096447,45.68353079503664],[-62.63074910545038,45.70076521689458],[-62.60363113942551,45.723098905902425]],[[-62.73576661586269,45.68578659139556],[-62.69430741022711,45.69907942277237],[-62.68520540493298,45.68417621820437],[-62.707233117708284,45.67426561776924],[-62.73762340600135,45.66987559766225],[-62.73576661586269,45.68578659139556]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.94078531915528,\"lat\":45.77020078191343},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1212\"],\"cd_name_en\":[\"Pictou\"],\"csd_code\":[\"1212001\"],\"csd_name_en\":[\"Pictou\",\"Subd. A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of county municipality \\/ Subdivision municipalit\\u00e9 de comt\\u00e9\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Pictou\",\"csd_name_fr\":\"Pictou, Subd. A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-60.814374767634185,46.42216169108044],[-60.8070801972395,46.403908298475834],[-60.77923020779291,46.40115219404979],[-60.75674140156494,46.37893890211694],[-60.74934600393919,46.36561020575441],[-60.727509010608216,46.35079120392481],[-60.69926129664252,46.34541500261873],[-60.69050335062234,46.33258161569621],[-60.67233146477444,46.324213501332416],[-60.672122883437325,46.3165584045062],[-60.6451172881577,46.31813953302987],[-60.623894624254625,46.30956497814057],[-60.61251309849559,46.296154038198104],[-60.60866747140225,46.27437633651116],[-60.5997539352921,46.26441581658595],[-60.57374025264725,46.270809470231995],[-60.502662089588775,46.331955153997285],[-60.467391549141105,46.37068902103763],[-60.43166717356192,46.39179800997371],[-60.40477712476209,46.40438167461036],[-60.333050493270186,46.413294980084174],[-60.319808505681785,46.50071466012133],[-60.3004412172335,46.66234121157897],[-60.29278335917689,46.823327445182855],[-60.28581955336021,46.99965803159168],[-60.23670346771579,47.06348936038898],[-60.125607121038136,47.200981104831655],[-60.109070519060985,47.2320217067297],[-60.18338057005159,47.23508069157186],[-60.23580198405609,47.20245544727705],[-60.4171038521529,47.08542788391269],[-60.45847926009539,47.064215192437665],[-60.550930049968876,47.05426246807742],[-60.560799512581795,47.017968547223475],[-60.60552978622604,46.89778959551104],[-60.66226047144704,46.73897601841447],[-60.747253497587806,46.505186150343405],[-60.814374767634185,46.42216169108044]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-60.47983613936933,\"lat\":46.71166991595002},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1218\"],\"cd_name_en\":[\"Victoria\"],\"csd_code\":[\"1218006\"],\"csd_name_en\":[\"Victoria\",\"Subd. A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of county municipality \\/ Subdivision municipalit\\u00e9 de comt\\u00e9\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Victoria\",\"csd_name_fr\":\"Victoria, Subd. A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.4922821454995,45.81799194459367],[-66.47282787446649,45.81181003532869],[-66.47159040478348,45.81585481812494],[-66.48901059899543,45.82175795791644],[-66.4922821454995,45.81799194459367]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.4815748805319,\"lat\":45.81686316112846},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1303\"],\"cd_name_en\":[\"Sunbury\"],\"csd_code\":[\"1303013\"],\"csd_name_en\":[\"Oromocto 26\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Sunbury\",\"csd_name_fr\":\"Oromocto 26\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-64.59219952965346,46.07596928091143],[-64.58486718374448,46.05091889075908],[-64.5608941114419,46.041516550456556],[-64.52029521217274,46.04849273235358],[-64.49327554431822,46.05669609461167],[-64.49554480589346,46.0936826145888],[-64.5525568060802,46.08324585424244],[-64.59219952965346,46.07596928091143]]],[[[-64.48443691426046,45.920201691840525],[-64.48652423567884,45.95457665626005],[-64.49559355020618,45.96117861053208],[-64.54788109594067,45.95147662204818],[-64.54881409210923,45.94659767474314],[-64.58579517474523,45.939161453579004],[-64.56167612344997,45.885247693813206],[-64.5545978922977,45.87391409038151],[-64.56874134450636,45.86275045755192],[-64.55608580661396,45.853004459262934],[-64.54110332920854,45.82663369941568],[-64.54997479213029,45.80216676119181],[-64.51547769651594,45.838045468480274],[-64.48143202156072,45.87984971747992],[-64.4844124040073,45.919032297213775],[-64.51892670458635,45.88690316546878],[-64.52840781184447,45.891333465791746],[-64.52014062529355,45.91496417683096],[-64.48443691426046,45.920201691840525]],[[-64.50019465861466,45.88649962442657],[-64.50565893987599,45.891033518484534],[-64.48857793415208,45.89196850463602],[-64.50019465861466,45.88649962442657]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.53190217427418,\"lat\":45.94689358797342},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1307\"],\"cd_name_en\":[\"Westmorland\"],\"csd_code\":[\"1307011\"],\"csd_name_en\":[\"Dorchester\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Westmorland\",\"csd_name_fr\":\"Dorchester\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.40131933835504,46.86772191446737],[-65.48461228676646,46.9363570745527],[-65.50270084720667,46.925758941583545],[-65.52174083157767,46.92943027966447],[-65.5399903648194,46.94377268666036],[-65.56199763614562,46.93307424929287],[-65.58627696044707,46.95390357577511],[-65.61052750433385,46.9328662131799],[-65.62616288310605,46.90305698699065],[-65.64835449693484,46.8893062155101],[-65.68178432548908,46.86005964416866],[-65.71546289173139,46.851865820047365],[-65.74750868496147,46.83692868992053],[-65.78050621393461,46.83137668002142],[-65.78943574645106,46.824221763490705],[-65.78495307987114,46.82037004103501],[-65.77945342193631,46.823268023621786],[-65.77729036702046,46.82099900371033],[-65.78229717214377,46.81811964084169],[-65.66339074576973,46.718974272527795],[-65.635791809101,46.73382950088074],[-65.4871352110036,46.81826415616502],[-65.40131933835504,46.86772191446737]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.59366707819807,\"lat\":46.839985314936634},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1309\"],\"cd_name_en\":[\"Northumberland\"],\"csd_code\":[\"1309014\"],\"csd_name_en\":[\"Nelson\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Northumberland\",\"csd_name_fr\":\"Nelson\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.7034242032224,47.74769338868026],[-64.74341786063123,47.74039097693315],[-64.75845240137275,47.7172072916376],[-64.73542193631314,47.71559136142808],[-64.72497918681677,47.72855965717182],[-64.70823081989745,47.72369127443101],[-64.6990891987842,47.73999178756843],[-64.7034242032224,47.74769338868026]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.72784901792122,\"lat\":47.73192143249887},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1315\"],\"cd_name_en\":[\"Gloucester\"],\"csd_code\":[\"1315031\"],\"csd_name_en\":[\"Shippagan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town \\/ Ville\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Gloucester\",\"csd_name_fr\":\"Shippagan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.18000311533775,47.88183893330649],[-67.19087721353058,47.900397699757946],[-67.17606800888615,47.904453911422635],[-67.18409495697846,47.9179004358778],[-67.21240978872997,47.94158279180854],[-67.22264167232049,47.93880981653182],[-67.23187206043839,47.95332602261884],[-67.28362632217907,47.986708595491855],[-67.35957132249865,47.964932032187065],[-67.31196218781841,47.88735863162647],[-67.27885911289675,47.89296336266804],[-67.25860761252919,47.89086640524541],[-67.2428224568931,47.88158686990823],[-67.23158637070354,47.88737752238045],[-67.21705067446156,47.877362083787034],[-67.18000311533775,47.88183893330649]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.2692533892771,\"lat\":47.928970732853955},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2406\"],\"cd_name_en\":[\"Avignon\"],\"csd_code\":[\"2406060\"],\"csd_name_en\":[\"L'Ascension-de-Patap\\u00e9dia\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Avignon\",\"csd_name_fr\":\"L'Ascension-de-Patap\\u00e9dia\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.35624544971301,47.74486984825406],[-69.3693385844973,47.74498674957187],[-69.41631412277943,47.77584841669169],[-69.43441661767338,47.781046093158174],[-69.43602461839747,47.79984036515669],[-69.4687711009239,47.821268433997005],[-69.48617138595485,47.796544373768214],[-69.51980568925913,47.7590226466206],[-69.55194779576036,47.72975298450677],[-69.52715048897974,47.72421144804693],[-69.54658068612864,47.706860038784086],[-69.53914238026691,47.697137582988404],[-69.49371749506433,47.66577310215774],[-69.43936071605059,47.71783777069172],[-69.33312921998959,47.64583254509167],[-69.27167973752564,47.68809144830823],[-69.31145178539805,47.71413787664641],[-69.31324142806811,47.744473026426014],[-69.35624544971301,47.74486984825406]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.42190407951199,\"lat\":47.7254837715013},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2412\"],\"cd_name_en\":[\"Rivi\\u00e8re-du-Loup\"],\"csd_code\":[\"2412015\"],\"csd_name_en\":[\"Saint-Antonin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Rivi\\u00e8re-du-Loup\",\"csd_name_fr\":\"Saint-Antonin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.92028387953431,47.47432965310554],[-68.93867502201438,47.48653413271108],[-68.95652094114163,47.47473212799514],[-68.98927801137428,47.497103668915805],[-68.98583019416255,47.50294436905816],[-69.01849965028703,47.52518322886384],[-69.07746086872491,47.48419004659604],[-69.10895544522506,47.46206835840901],[-69.09209332471312,47.450528863293016],[-69.11194601422048,47.43759066722485],[-69.10467958661097,47.430386993927826],[-69.08133059556302,47.42381900780756],[-69.05846707611424,47.43273577132864],[-69.03931790541358,47.4220981726568],[-69.03470888299556,47.40306329543769],[-69.05410310469908,47.37464324673204],[-69.05486114727577,47.31534289218474],[-69.05096114557124,47.300097812391435],[-68.91167903597683,47.32725553751904],[-68.99031528997173,47.38130584411131],[-68.93668984776389,47.41771669714173],[-68.95262483710027,47.41947118836401],[-68.98275822524141,47.4319393754543],[-68.92028387953431,47.47432965310554]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.01212787878428,\"lat\":47.41299751198621},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2413\"],\"cd_name_en\":[\"T\\u00e9miscouata\"],\"csd_code\":[\"2413025\"],\"csd_name_en\":[\"Rivi\\u00e8re-Bleue\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscouata\",\"csd_name_fr\":\"Rivi\\u00e8re-Bleue\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.31769229728066,47.595720923211104],[-70.38415529589983,47.61029180421736],[-70.37026112568242,47.64210698230857],[-70.46889502726113,47.61139540645401],[-70.47116775928963,47.60176874041614],[-70.49487887924217,47.57395158701721],[-70.49247140434971,47.5618293832735],[-70.47336366547827,47.560819092900495],[-70.46755400830833,47.5255725962894],[-70.4355206732806,47.52556956801833],[-70.43399625491956,47.53200757466076],[-70.32132265065975,47.5690304216627],[-70.27104182567233,47.58472700797792],[-70.31769229728066,47.595720923211104]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.40599298937192,\"lat\":47.58049836620046},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2416\"],\"cd_name_en\":[\"Charlevoix\"],\"csd_code\":[\"2416050\"],\"csd_name_en\":[\"Saint-Hilarion\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Charlevoix\",\"csd_name_fr\":\"Saint-Hilarion\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.75246318958715,46.885157426265046],[-70.77880428878073,46.90592230164211],[-70.81621345034836,46.93031423903837],[-70.87775442845422,46.9063257167528],[-70.85631072618988,46.89181433991083],[-70.86027737331656,46.87679043825471],[-70.8368402852671,46.860177636556685],[-70.80862532542933,46.840607059817984],[-70.78369366891141,46.82314585460513],[-70.76671829974099,46.83034904030492],[-70.75551875665239,46.843183404869606],[-70.7711898575339,46.855274559761924],[-70.7560123713457,46.86823279212159],[-70.75246318958715,46.885157426265046]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.80737159226409,\"lat\":46.88010252705872},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2419\"],\"cd_name_en\":[\"Bellechasse\"],\"csd_code\":[\"2419117\"],\"csd_name_en\":[\"Saint-Vallier\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Bellechasse\",\"csd_name_fr\":\"Saint-Vallier\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.93635975902245,46.26759017765358],[-70.9187901577006,46.28660876807978],[-70.93264383506798,46.29742086084526],[-70.9304707325664,46.30782316796121],[-70.94747448039959,46.3245439772597],[-70.94840251223346,46.33877796167862],[-70.9470567665108,46.35450733427207],[-70.96490903502126,46.36052961214557],[-71.03917834691484,46.31226601549869],[-71.06427806901041,46.29104936225998],[-71.0827148373166,46.287710960076076],[-71.04466857896917,46.25179374936309],[-71.01685760269734,46.270682147609165],[-70.99701066199812,46.27859604324006],[-70.98544209521403,46.272299031405645],[-70.96347796134718,46.28648917748447],[-70.94200021201044,46.26380935522225],[-70.93635975902245,46.26759017765358]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.99349886325385,\"lat\":46.30224088030756},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2427\"],\"cd_name_en\":[\"Robert-Cliche\"],\"csd_code\":[\"2427065\"],\"csd_name_en\":[\"Saint-Fr\\u00e9d\\u00e9ric\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Robert-Cliche\",\"csd_name_fr\":\"Saint-Fr\\u00e9d\\u00e9ric\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.51157800711695,46.320483983641914],[-70.5579193188359,46.3499633983813],[-70.66563685460312,46.27869066357199],[-70.65769780251848,46.272666046921266],[-70.67309010642806,46.26269997630705],[-70.62116426560449,46.22410782680618],[-70.62849184378108,46.21905626531044],[-70.61444187932369,46.19661348243473],[-70.61833451427177,46.19242777602903],[-70.59231307306776,46.2103935575001],[-70.58839637882046,46.2041650786952],[-70.57268583182766,46.22038809462143],[-70.57354972223547,46.228596411014315],[-70.54979367153912,46.240273066414325],[-70.54790151164457,46.25049505817274],[-70.51559826163316,46.256059635942485],[-70.50866700218123,46.272744889559775],[-70.51432681730812,46.281787892360505],[-70.54060040113264,46.300884011830476],[-70.51157800711695,46.320483983641914]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.58585878742387,\"lat\":46.275060754527885},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2428\"],\"cd_name_en\":[\"Les Etchemins\"],\"csd_code\":[\"2428025\"],\"csd_name_en\":[\"Saint-Benjamin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Etchemins\",\"csd_name_fr\":\"Saint-Benjamin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.85406212748025,46.06682765886478],[-70.86007285909407,46.06271088846943],[-70.89454873690917,46.09251528758673],[-70.90955071064263,46.082973317222155],[-70.94115457250794,46.11109988928308],[-70.95521816323041,46.102566344149984],[-70.9701380815543,46.11589076673264],[-71.01262790655329,46.08858696781985],[-71.02369857340676,46.07643149362278],[-71.01242104161773,46.06704141262779],[-71.02523852689075,46.05801529474084],[-70.98856406770687,46.02398897230958],[-71.00201663334623,46.01058655722989],[-70.99036874604556,46.00485229806663],[-70.97833674769576,46.01625345390357],[-70.9587675839014,45.998438748808034],[-70.93856474425195,45.995216659682754],[-70.89768917837694,45.995740387882755],[-70.89638184267797,46.01152807306654],[-70.85273227861634,46.01136047626662],[-70.85372313902671,46.03469380204981],[-70.85406212748025,46.06682765886478]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.93775367279129,\"lat\":46.05127020255306},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2429\"],\"cd_name_en\":[\"Beauce-Sartigan\"],\"csd_code\":[\"2429112\"],\"csd_name_en\":[\"Saint-\\u00c9phrem-de-Beauce\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Beauce-Sartigan\",\"csd_name_fr\":\"Saint-\\u00c9phrem-de-Beauce\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.67017620118658,46.42050993679481],[-71.74725024293261,46.474696596903414],[-71.767094757173,46.49547361528643],[-71.85750973453541,46.43378818394238],[-71.788457573409,46.38451297345696],[-71.76125011144497,46.36368969890749],[-71.7420395801418,46.37597145766783],[-71.67017620118658,46.42050993679481]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.76466347251117,\"lat\":46.428190071541195},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2433\"],\"cd_name_en\":[\"Lotbini\\u00e8re\"],\"csd_code\":[\"2433070\"],\"csd_name_en\":[\"Val-Alain\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Lotbini\\u00e8re\",\"csd_name_fr\":\"Val-Alain\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.96421941213033,46.719536195690836],[-71.95557447662998,46.72633337040847],[-71.99151135012971,46.75312696674755],[-72.01188410184616,46.76745489477849],[-72.02681301598281,46.756744054336885],[-72.02506751560482,46.747035164396536],[-72.04216301510162,46.72181144681156],[-72.05771154996236,46.70965155006495],[-72.04762674838793,46.7020850619286],[-72.02242426531359,46.68396022829901],[-71.99959499198135,46.69352853261785],[-71.98464780875203,46.69400374601401],[-71.96421941213033,46.719536195690836]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.00699501859982,\"lat\":46.7223183620503},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2434\"],\"cd_name_en\":[\"Portneuf\"],\"csd_code\":[\"2434060\"],\"csd_name_en\":[\"Saint-Gilbert\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Portneuf\",\"csd_name_fr\":\"Saint-Gilbert\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.1237640986591,46.715719056008716],[-72.13618979616908,46.70333099897476],[-72.17926375801737,46.67627864734159],[-72.22099827653992,46.707053899126564],[-72.23086519673951,46.700087669916485],[-72.24744784336045,46.68904826186405],[-72.14683005181587,46.617273723005546],[-72.11805002174935,46.63001769608838],[-72.10893693175728,46.657722673230055],[-72.09417077575218,46.66920083135614],[-72.06786373586496,46.676006197719104],[-72.08001231554923,46.68480946611702],[-72.1237640986591,46.715719056008716]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.1531049505618,\"lat\":46.66912268511078},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2434\"],\"cd_name_en\":[\"Portneuf\"],\"csd_code\":[\"2434078\"],\"csd_name_en\":[\"Saint-Casimir\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Portneuf\",\"csd_name_fr\":\"Saint-Casimir\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.82222451810479,46.85611483386137],[-72.8586018530019,46.861428722641996],[-72.87795526590543,46.869885016193756],[-72.89386231600542,46.860993179129395],[-72.90474017430867,46.86259049757829],[-72.91634789920269,46.88160641933803],[-72.92710077397632,46.8899114207641],[-72.93088602900339,46.90393561660572],[-72.9386791405261,46.89830674632154],[-72.97244320334299,46.90208891871212],[-73.00807287388687,46.90908247373851],[-73.01474167722881,46.91772475124861],[-73.04005633308233,46.91783567141276],[-73.04255440866051,46.904098812704305],[-73.08019311748832,46.885633986388214],[-73.08521433450913,46.8690833585517],[-73.1068310900859,46.852079823403905],[-73.10566855224248,46.84178291862348],[-73.12125089861698,46.829544641208614],[-73.13345354478052,46.83254946472786],[-73.13300326476282,46.78904441013942],[-73.14479104771166,46.77087270800593],[-73.17065483486374,46.76519971906763],[-73.179134894913,46.750947756886156],[-73.10966190433305,46.70422097089113],[-73.0637027386727,46.706273607920934],[-73.05709455462528,46.69416113800154],[-73.03331991295376,46.653612144504145],[-73.00034527807288,46.64861739948085],[-72.98753894087785,46.66679257436873],[-72.98820830124531,46.68285915059381],[-73.01134442499142,46.73621982848115],[-72.99529281173295,46.745530658303565],[-72.92696010549844,46.73367023437605],[-72.9099803887213,46.723938171525845],[-72.87858620968,46.67308255271269],[-72.89547996592441,46.66328860999978],[-72.85078989410064,46.633623664947905],[-72.87027765135716,46.62067622538874],[-72.83089691099717,46.59199345195036],[-72.76642906750604,46.54612514139697],[-72.77824006705775,46.53171450720084],[-72.77148126264332,46.52039148599521],[-72.77508605834376,46.50658336007651],[-72.77542387603756,46.48053601227548],[-72.7594800911026,46.46049961315791],[-72.74033668273903,46.47527191064532],[-72.65648370891114,46.53311293353892],[-72.58342295864162,46.580645645679056],[-72.61525355749541,46.602798303173984],[-72.58491481783396,46.622869498070926],[-72.5981453834824,46.63346055776389],[-72.65704008629876,46.671649539132964],[-72.68784033053153,46.64855929599105],[-72.70474835067445,46.657752331843014],[-72.70387494954413,46.67703995036418],[-72.73329294636241,46.68525249214368],[-72.7516240178075,46.70687486090746],[-72.77332516473525,46.74270055384138],[-72.79828956291624,46.76624834239404],[-72.82222812326162,46.780373697610074],[-72.85199969492108,46.758646495616844],[-72.90947339953658,46.79468261534052],[-72.82222451810479,46.85611483386137]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.88178789380915,\"lat\":46.71180999701766},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2436\"],\"cd_name_en\":[\"Shawinigan\"],\"csd_code\":[\"2436033\"],\"csd_name_en\":[\"Shawinigan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Shawinigan\",\"csd_name_fr\":\"Shawinigan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.20693426936279,45.69609022005441],[-72.22353003349325,45.71801087780832],[-72.21251605378302,45.72672309611588],[-72.23411888246997,45.73631153973351],[-72.22125779405143,45.751070229154614],[-72.2244905756863,45.75834744735679],[-72.28586075315373,45.70708801736879],[-72.31083930375773,45.68836430856323],[-72.23717422872907,45.64620720199549],[-72.1929017825254,45.688529023754626],[-72.20693426936279,45.69609022005441]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.24758911686156,\"lat\":45.69486962023514},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2442\"],\"cd_name_en\":[\"Le Val-Saint-Fran\\u00e7ois\"],\"csd_code\":[\"2442078\"],\"csd_name_en\":[\"Ulverton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Val-Saint-Fran\\u00e7ois\",\"csd_name_fr\":\"Ulverton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.9871053918196,45.264403579090605],[-71.96533235468858,45.26477123870277],[-71.96855572184839,45.281897747106],[-71.99654690561006,45.28199660994685],[-71.99623076606458,45.2719709259445],[-71.9871053918196,45.264403579090605]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.98085328183652,\"lat\":45.2735406804668},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2445\"],\"cd_name_en\":[\"Memphr\\u00e9magog\"],\"csd_code\":[\"2445050\"],\"csd_name_en\":[\"North Hatley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Memphr\\u00e9magog\",\"csd_name_fr\":\"North Hatley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.87797842892536,45.150955303907345],[-72.87674193609166,45.22593967885023],[-72.8823518294334,45.22580402199144],[-72.94918282740946,45.22476167672737],[-72.97185707963665,45.22464804756095],[-72.97414983020067,45.19189284234243],[-72.99224532712806,45.19175616486215],[-72.991547216181,45.15000731743908],[-72.95373726181977,45.14994627233919],[-72.87797842892536,45.150955303907345]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.9308575950457,\"lat\":45.18614591337248},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2446\"],\"cd_name_en\":[\"Brome-Missisquoi\"],\"csd_code\":[\"2446095\"],\"csd_name_en\":[\"Saint-Ignace-de-Stanbridge\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Brome-Missisquoi\",\"csd_name_fr\":\"Saint-Ignace-de-Stanbridge\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.33221846441796,46.33982403867881],[-73.30244603367325,46.35618773544664],[-73.28353030851625,46.353913895279234],[-73.27738944930107,46.37439211030298],[-73.24142337122875,46.4026661651433],[-73.2755036738771,46.42749305821427],[-73.253161293753,46.442620305842205],[-73.33336477810074,46.49844114473602],[-73.45538461710643,46.58621207071475],[-73.56293554524242,46.51784941790524],[-73.51799679122547,46.48753923011463],[-73.49194275212868,46.46968288317009],[-73.49980041163079,46.46459711436165],[-73.44017067738103,46.423230565211746],[-73.47007658571279,46.402235870826146],[-73.39449157092594,46.34807755968489],[-73.41393750435032,46.33527953192269],[-73.4102997552587,46.333215796548025],[-73.40082148565789,46.33806649342048],[-73.36195840378434,46.32038246313197],[-73.36008770951304,46.33193289672261],[-73.33221846441796,46.33982403867881]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.39451533409229,\"lat\":46.453071994066235},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2452\"],\"cd_name_en\":[\"D'Autray\"],\"csd_code\":[\"2452095\"],\"csd_name_en\":[\"Mandeville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"D'Autray\",\"csd_name_fr\":\"Mandeville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.99481315550439,45.33756677733035],[-73.00857296361082,45.34776361944851],[-73.00704993190865,45.37074843900718],[-73.02685393363821,45.3724983979476],[-73.04622997942727,45.38698750559501],[-73.08783510119096,45.35569653206088],[-73.10409240718596,45.363253214907104],[-73.10723636832887,45.33535243868183],[-73.09122619762194,45.324222612436834],[-73.09870809493255,45.26819979693664],[-73.06809098320005,45.246853932142734],[-73.06353291934808,45.26783011947032],[-73.04988026271478,45.26705356493469],[-73.04608504512552,45.29274214317245],[-73.01649382085516,45.27249336426929],[-73.01428159157253,45.28935254845118],[-73.04781630845977,45.31125597425864],[-73.04886019103233,45.32531562114981],[-73.01035540739282,45.33015488800042],[-72.99481315550439,45.33756677733035]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.05831191890253,\"lat\":45.32331067055608},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2456\"],\"cd_name_en\":[\"Le Haut-Richelieu\"],\"csd_code\":[\"2456105\"],\"csd_name_en\":[\"Sainte-Brigide-d'Iberville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Richelieu\",\"csd_name_fr\":\"Sainte-Brigide-d'Iberville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.91576112683204,47.09961716325965],[-73.66491923952756,46.927627622775695],[-73.64996749627524,46.937835867003244],[-73.67655655743282,46.973486156407816],[-73.71940447099271,47.02094417715175],[-73.75808003052408,47.05762187391521],[-73.75434049159956,47.06123878428927],[-73.77792739855198,47.08643211437947],[-73.82408271418892,47.12250166584168],[-73.85796349248005,47.14187915108852],[-73.91576112683204,47.09961716325965]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.78881634306977,\"lat\":47.04691536224058},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2462\"],\"cd_name_en\":[\"Matawinie\"],\"csd_code\":[\"2462904\"],\"csd_name_en\":[\"Lac-Devenyns\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Matawinie\",\"csd_name_fr\":\"Lac-Devenyns\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.13256475757376,46.695010884352506],[-74.18132689340781,46.726140179697],[-74.2817282556775,46.794299876588056],[-74.43066479747834,46.896977929894376],[-74.44128268436317,46.89347157993804],[-74.45584136122233,46.865162485649805],[-74.47133444687682,46.86915980711783],[-74.47469508079737,46.85008332869118],[-74.4687059023126,46.792887561620184],[-74.48146845203267,46.78179068813382],[-74.47605048710494,46.75784255000275],[-74.48537491265138,46.7587693537335],[-74.49427011640064,46.73229139487435],[-74.47860811458362,46.721591572381065],[-74.50039308844072,46.68724285126285],[-74.51155992053752,46.67997597678888],[-74.5083015296828,46.66419988748225],[-74.43844550046263,46.61458771754672],[-74.34483753572873,46.54784550594482],[-74.23697075680343,46.476883457809414],[-74.19051080641655,46.4485003744472],[-74.09141696226052,46.51244644396402],[-74.24809550231323,46.6188453174823],[-74.20214472611144,46.64801092224421],[-74.13256475757376,46.695010884352506]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.32052240497319,\"lat\":46.67144550561032},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2462\"],\"cd_name_en\":[\"Matawinie\"],\"csd_code\":[\"2462910\"],\"csd_name_en\":[\"Lac-Legendre\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Matawinie\",\"csd_name_fr\":\"Lac-Legendre\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.66824019836312,45.45660720345791],[-73.63950300669919,45.44696222915237],[-73.63257647687217,45.44972911639837],[-73.65805597594274,45.45948614372962],[-73.66824019836312,45.45660720345791]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.65012128773222,\"lat\":45.45335957628449},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2466\"],\"cd_name_en\":[\"Montr\\u00e9al\"],\"csd_code\":[\"2466047\"],\"csd_name_en\":[\"Montr\\u00e9al-Ouest\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Montr\\u00e9al\",\"csd_name_fr\":\"Montr\\u00e9al-Ouest\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.53599501565014,45.40091509624815],[-73.53129126783507,45.41325999654423],[-73.54120003420466,45.420789792716945],[-73.56823430868282,45.41420947931422],[-73.5991471889193,45.41162789873611],[-73.61187266090548,45.38482767621379],[-73.59566782165543,45.39522275460561],[-73.5538937771882,45.38667675141901],[-73.53599501565014,45.40091509624815]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.56750566014641,\"lat\":45.40322488484176},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2467\"],\"cd_name_en\":[\"Roussillon\"],\"csd_code\":[\"2467030\"],\"csd_name_en\":[\"Sainte-Catherine\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Roussillon\",\"csd_name_fr\":\"Sainte-Catherine\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-73.76109042393021,45.17323093349834],[-73.78304911192534,45.18966297772801],[-73.79514194757668,45.181737307145745],[-73.77274816999774,45.16595339616029],[-73.76109042393021,45.17323093349834]]],[[[-73.73814519840313,45.258796934277164],[-73.7983811116072,45.30375930298502],[-73.81128906271279,45.3137355385443],[-73.82506330645117,45.286057411958936],[-73.8195072637031,45.27759188744122],[-73.84357149760457,45.24150036508109],[-73.85767168437849,45.21815650786889],[-73.8460795018433,45.209627887597],[-73.83128816441885,45.209898541498724],[-73.81390634009082,45.197703107861024],[-73.79355557434091,45.19707071029392],[-73.7630995195567,45.21913007948776],[-73.778683440221,45.23088685089826],[-73.73814519840313,45.258796934277164]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.7994283194569,\"lat\":45.24470087540362},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2470\"],\"cd_name_en\":[\"Beauharnois-Salaberry\"],\"csd_code\":[\"2470012\"],\"csd_name_en\":[\"Sainte-Martine\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Beauharnois-Salaberry\",\"csd_name_fr\":\"Sainte-Martine\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.1974581918909,45.23409215554977],[-74.22306650224675,45.2663581939213],[-74.24555088071496,45.25680979571884],[-74.26439606722292,45.264066527739026],[-74.28654298867025,45.27036457720426],[-74.29837790441071,45.262977884218934],[-74.3105923565803,45.27241253685739],[-74.31954350446894,45.24275664709046],[-74.28353702455328,45.19959833230134],[-74.25613551487197,45.20566277174309],[-74.21362083291812,45.22278007620532],[-74.1974581918909,45.23409215554977]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.26299767863966,\"lat\":45.237560390999136},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2471\"],\"cd_name_en\":[\"Vaudreuil-Soulanges\"],\"csd_code\":[\"2471025\"],\"csd_name_en\":[\"Saint-Zotique\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Vaudreuil-Soulanges\",\"csd_name_fr\":\"Saint-Zotique\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-74.14297191177197,45.521806173568116],[-74.13777477719614,45.509417941493005],[-74.12098090881415,45.50388232134918],[-74.11355005050731,45.51821296026288],[-74.1210269715894,45.51474454866085],[-74.14131218892258,45.52291597813067],[-74.14297191177197,45.521806173568116]]],[[[-74.12685208835495,45.50080127387904],[-74.13279331382678,45.490790601799674],[-74.12565435605985,45.474011602391165],[-74.10296709749296,45.465228742396135],[-74.09128582593489,45.474464858733256],[-74.10484246130297,45.491179887551134],[-74.11966533684473,45.48829845136498],[-74.12685208835495,45.50080127387904]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.11739082955106,\"lat\":45.48944661674166},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2472\"],\"cd_name_en\":[\"Deux-Montagnes\"],\"csd_code\":[\"2472802\"],\"csd_name_en\":[\"Kanesatake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian settlement \\/ \\u00c9tablissement indien\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Deux-Montagnes\",\"csd_name_fr\":\"Kanesatake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.43844550046263,46.61458771754672],[-74.49203569169315,46.60649926575269],[-74.49064307203643,46.62483671925012],[-74.5083015296828,46.66419988748225],[-74.63390704903189,46.75083949924331],[-74.79449382631458,46.85121535324514],[-74.9465565585893,46.74772888909608],[-74.84260873832015,46.675547275477314],[-74.76736575464037,46.62460773796857],[-74.74945862729079,46.630958071659215],[-74.70799577951246,46.600269495902744],[-74.62453520604362,46.54252550519899],[-74.62920188763421,46.534301909357275],[-74.7221288851369,46.47114859170265],[-74.65893829227575,46.430189115316566],[-74.7117231791003,46.39237886235808],[-74.64518615425791,46.3507402859643],[-74.58919431812942,46.38696827841227],[-74.47774461820242,46.45415542273632],[-74.34483753572873,46.54784550594482],[-74.43844550046263,46.61458771754672]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.64088085887651,\"lat\":46.61183212149024},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2479\"],\"cd_name_en\":[\"Antoine-Labelle\"],\"csd_code\":[\"2479920\"],\"csd_name_en\":[\"Baie-des-Chaloupes\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Antoine-Labelle\",\"csd_name_fr\":\"Baie-des-Chaloupes\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.32515676491386,45.800314359418806],[-76.32568536980536,45.82177103643826],[-76.40022198768875,45.81948635138567],[-76.48507600202673,45.81836488689217],[-76.49762487723498,45.786910246349805],[-76.52320533733905,45.77499268076857],[-76.53848037547812,45.75000248006392],[-76.36321489585929,45.68836247051053],[-76.36648791085462,45.683805110165416],[-76.32355332115664,45.66934888638418],[-76.32503692963081,45.69745219528323],[-76.32515676491386,45.800314359418806]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.40844467702405,\"lat\":45.75966940718662},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2484\"],\"cd_name_en\":[\"Pontiac\"],\"csd_code\":[\"2484045\"],\"csd_name_en\":[\"Thorne\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Pontiac\",\"csd_name_fr\":\"Thorne\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.63016693598703,46.024422882639044],[-76.62705991993904,46.16388611681549],[-76.81904519696356,46.163566171584364],[-76.82265301894958,45.97854804741462],[-76.80050951956757,45.96907879828937],[-76.86272259560042,45.891823234080135],[-76.8415722348246,45.89039923819892],[-76.80736369522128,45.87726243567564],[-76.77872544559709,45.871352646235806],[-76.76474013835306,45.850985185563914],[-76.77004850060075,45.829738711615626],[-76.76725642463832,45.80638920371319],[-76.74889976472758,45.81351270165828],[-76.73489187717762,45.81125450234515],[-76.71224408264021,45.815174735559616],[-76.69758671081485,45.8227715067529],[-76.64264910666607,45.890398264969036],[-76.63983521909321,45.88953856388471],[-76.63257906299432,45.909899069136536],[-76.63016693598703,46.024422882639044]],[[-76.74086666546006,45.847719170109166],[-76.7242010099614,45.843904906512016],[-76.73134790373705,45.827444404775036],[-76.75097337775989,45.83535367613247],[-76.74086666546006,45.847719170109166]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.7274008292867,\"lat\":46.00392278995992},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2484\"],\"cd_name_en\":[\"Pontiac\"],\"csd_code\":[\"2484065\"],\"csd_name_en\":[\"Mansfield-et-Pontefract\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Pontiac\",\"csd_name_fr\":\"Mansfield-et-Pontefract\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.09570232991956,46.089371894838955],[-77.19251108047189,46.12905356916827],[-77.39542612726414,46.21592138311428],[-77.57026029759541,46.29898025387477],[-77.65942636237608,46.191790707795604],[-77.62054412981591,46.17486248757972],[-77.56608271063124,46.15922059018496],[-77.51154135263488,46.129671442844405],[-77.44187511521552,46.09330891925701],[-77.3896296178567,46.06833597658921],[-77.3623793455783,46.05948608742354],[-77.33223341243446,46.04173733429746],[-77.31474349594217,46.02685141356149],[-77.28313885497691,46.01772538818743],[-77.27633418142675,46.008539648981404],[-77.28639854289834,45.98322369587378],[-77.27840407101417,45.948889644004026],[-77.25747463056702,45.92922002630538],[-77.23868642101891,45.92290564102808],[-77.19634279535823,45.970086447602434],[-77.09570232991956,46.089371894838955]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.36639167730857,\"lat\":46.12542148516332},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2484\"],\"cd_name_en\":[\"Pontiac\"],\"csd_code\":[\"2484095\"],\"csd_name_en\":[\"Sheenboro\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Pontiac\",\"csd_name_fr\":\"Sheenboro\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.7527377770628,48.71915360159062],[-78.7522620228524,48.792149741007705],[-78.80614933660621,48.79208696040499],[-78.90728639755451,48.792852772608974],[-78.90637383325792,48.70498071247032],[-78.90609789824848,48.67525201082615],[-78.86197365087834,48.67528956722761],[-78.78810891255306,48.67531237028765],[-78.78772193028966,48.690600473623576],[-78.75205407964971,48.69082422952347],[-78.7527377770628,48.71915360159062]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.83152469289786,\"lat\":48.73548760111048},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2487\"],\"cd_name_en\":[\"Abitibi-Ouest\"],\"csd_code\":[\"2487050\"],\"csd_name_en\":[\"Authier\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi-Ouest\",\"csd_name_fr\":\"Authier\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.94891335100587,48.3765924671702],[-71.90218421377591,48.49270037510741],[-71.99904689136564,48.49861017350852],[-71.97940311767273,48.454045270881934],[-71.96127660026079,48.41189951000412],[-71.9773065052704,48.39530539435137],[-71.96526835781563,48.37958950645983],[-71.94891335100587,48.3765924671702]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.9506117434003,\"lat\":48.45137393643858},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2493\"],\"cd_name_en\":[\"Lac-Saint-Jean-Est\"],\"csd_code\":[\"2493005\"],\"csd_name_en\":[\"Desbiens\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Lac-Saint-Jean-Est\",\"csd_name_fr\":\"Desbiens\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.7205793726825,48.800588953247214],[-71.7410967086229,48.821623560343795],[-71.76891686229233,48.832676152949766],[-71.77203208636872,48.83415204487564],[-71.81129732992345,48.81743578277086],[-71.82538122297059,48.80461618606637],[-71.82625828375947,48.78180105483092],[-71.81532970292652,48.769902510874736],[-71.8600535427579,48.74153358218821],[-71.91227142525742,48.72715943172804],[-71.94088044922458,48.72802177937678],[-72.00051306829599,48.7412787319283],[-72.042581023371,48.759628606199875],[-72.07408283626499,48.75676371566365],[-72.09832335135683,48.74982050303049],[-72.10218300628503,48.730786583250165],[-72.04015920050361,48.59154438208403],[-71.92901767562117,48.58091955327239],[-71.87846182077651,48.717635892301764],[-71.84192834269302,48.710743084700354],[-71.8348744666464,48.72443625414828],[-71.75656811730721,48.709536414400944],[-71.72550538398323,48.79159498861674],[-71.7205793726825,48.800588953247214]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.9317874332213,\"lat\":48.70092836066702},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2493\"],\"cd_name_en\":[\"Lac-Saint-Jean-Est\"],\"csd_code\":[\"2493075\"],\"csd_name_en\":[\"Sainte-Monique\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Lac-Saint-Jean-Est\",\"csd_name_fr\":\"Sainte-Monique\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.40372459987373,47.95008458853672],[-71.3797917377786,47.9502629102089],[-71.37436891564022,47.97160841273834],[-71.40926276103521,47.97682606061247],[-71.41176812202737,47.995226026053885],[-71.4497989734417,47.99512603968309],[-71.40372459987373,47.95008458853672]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.40843591898974,\"lat\":47.97237600623983},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2493\"],\"cd_name_en\":[\"Lac-Saint-Jean-Est\"],\"csd_code\":[\"2493902\"],\"csd_name_en\":[\"Mont-Apica\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Lac-Saint-Jean-Est\",\"csd_name_fr\":\"Mont-Apica\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.319397680887,49.95685374550191],[-64.33968331338681,50.08568043450517],[-64.33876938471742,50.18410919463632],[-64.34360769518807,50.27857130290781],[-64.31990815107602,50.291836362206595],[-64.3135639542147,50.308445310346414],[-64.29805902890257,50.313903237266075],[-64.28633494039224,50.3038173211692],[-64.26717287197044,50.296888514797196],[-64.267380050146,50.311749988439566],[-64.24886339143083,50.310541198652],[-64.24144727759936,50.31865730340968],[-64.25540453922166,50.332506460389695],[-64.24850175194341,50.34779017911837],[-64.22494844819458,50.35668075087741],[-64.23183568870405,50.371629593072704],[-64.22453780822642,50.38895577714242],[-64.20519315915766,50.39768586717425],[-64.20479858525384,50.424634988648954],[-64.19176875830925,50.4307213709147],[-64.19559803151087,50.444726934296256],[-64.18449570477355,50.456686978129],[-64.15676424588943,50.46228765536957],[-64.14073507684842,50.49400723825873],[-64.4801405058481,50.49148233828549],[-64.52158259017602,50.49250168836744],[-64.55570836137518,50.47022489495179],[-64.55338919728823,50.41828215252303],[-64.56341391842184,50.39179509828713],[-64.57967369067217,50.37617708532993],[-64.60657121488092,50.37091390414336],[-64.61248757921628,50.35823139958273],[-64.59536745773515,50.34870671680982],[-64.60615833722383,50.315451165681665],[-64.58354294617943,50.299381308883625],[-64.58280007443753,50.28798074985786],[-64.59212987637602,50.27526036194993],[-64.55356780462047,50.08728909281205],[-64.519468715394,49.91971272796752],[-64.319397680887,49.95685374550191]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.42252385240621,\"lat\":50.251488713195606},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2498\"],\"cd_name_en\":[\"Minganie--Le Golfe-du-Saint-Laurent\"],\"csd_code\":[\"2498050\"],\"csd_name_en\":[\"Rivi\\u00e8re-Saint-Jean\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Minganie--Le Golfe-du-Saint-Laurent\",\"csd_name_fr\":\"Rivi\\u00e8re-Saint-Jean\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.16630786526227,60.018369566437585],[-70.10890340627545,60.01631848729941],[-70.0166175031448,60.019171797625965],[-70.00403768898211,60.0122737104333],[-69.94837110809064,60.0144038919646],[-69.91223912420618,60.008460300047574],[-69.91322718724821,60.03408265240167],[-70.01212159428971,60.0672282545093],[-70.11119275661208,60.06688647830921],[-70.11121462318779,60.04074710326978],[-70.16677906695676,60.04017362821844],[-70.16630786526227,60.018369566437585]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.03664389240438,\"lat\":60.03703997644309},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499110\"],\"csd_name_en\":[\"Kangirsuk\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village nordique\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Kangirsuk\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.66415155128571,45.01466170079133],[-74.68255094792183,45.01759489289019],[-74.69873144930513,45.01087809561955],[-74.72298572112184,45.01039029697747],[-74.75902715197527,45.00421549139668],[-74.74440114124995,44.99173397692068],[-74.73320653471933,44.99288768707747],[-74.72117092617368,44.99991649095818],[-74.7054740389288,45.005179390771794],[-74.68428133308414,45.00079289851275],[-74.66415155128571,45.01466170079133]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.71361408767218,\"lat\":45.00522742624142},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3501\"],\"cd_name_en\":[\"Stormont\",\"Dundas and Glengarry\"],\"csd_code\":[\"3501007\"],\"csd_name_en\":[\"Akwesasne (Part) 59\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Stormont, Dundas and Glengarry\",\"csd_name_fr\":\"Akwesasne (Part) 59\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.78885863532561,44.952051580975606],[-77.80369176942268,44.98208509655764],[-77.80474509862051,44.99288342481921],[-77.79529594878483,45.018166561044715],[-77.82662579042095,45.029457931821206],[-77.83566460661513,45.045469198037544],[-77.85156688031903,45.049088545771056],[-77.88121949586437,45.04143576863877],[-77.9051464628473,45.08191493906206],[-77.91876218333935,45.07935080927471],[-78.03580644362385,45.04862747897143],[-78.00982089912723,45.00108191978293],[-77.99974391813417,44.97725408446001],[-77.9611981100963,44.91147640008755],[-77.95761770170277,44.905259100582796],[-77.87561854842511,44.92811918888827],[-77.85655678462503,44.931529099210046],[-77.78919485350664,44.95195505854013],[-77.78885863532561,44.952051580975606]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.91224677084574,\"lat\":44.9949700850261},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3512\"],\"cd_name_en\":[\"Hastings\"],\"csd_code\":[\"3512058\"],\"csd_name_en\":[\"Faraday\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Hastings\",\"csd_name_fr\":\"Faraday\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.24983400244369,43.919846571408705],[-78.34703320008303,44.11986848635368],[-78.44679201214437,44.09543989145998],[-78.4993637817587,44.08506859729525],[-78.50869780954282,44.081278003590185],[-78.48458123764159,44.0206056292247],[-78.43695571469091,43.911942567116604],[-78.429706425794,43.89528428196829],[-78.27833452304291,43.919001546058965],[-78.24983400244369,43.919846571408705]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.38311789982971,\"lat\":44.003943550988765},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3514\"],\"cd_name_en\":[\"Northumberland\"],\"csd_code\":[\"3514020\"],\"csd_name_en\":[\"Port Hope\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Northumberland\",\"csd_name_fr\":\"Port Hope\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.22004280992438,43.97092871177111],[-79.27616921135329,44.101266093835974],[-79.42024281629729,44.06846680423461],[-79.41142457598518,44.035510097357914],[-79.40507829427216,44.007650610575894],[-79.39760258897313,43.9985199079637],[-79.39266821475093,43.97780302295097],[-79.3895209359406,43.92378760164958],[-79.35320506227204,43.93169155201858],[-79.27822121418602,43.95075240625392],[-79.21741469896327,43.96251460250001],[-79.22004280992438,43.97092871177111]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.32348285706097,\"lat\":44.012858451862115},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3519\"],\"cd_name_en\":[\"York\"],\"csd_code\":[\"3519044\"],\"csd_name_en\":[\"Whitchurch-Stouffville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"York\",\"csd_name_fr\":\"Whitchurch-Stouffville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.25104690988697,43.761442611199925],[-80.13987539092564,43.86153918663345],[-80.14385529018294,43.86511208635358],[-80.11743120148226,43.88926059597038],[-80.14601707379897,43.908740485488295],[-80.29614550584448,43.87745270604327],[-80.38851610786023,43.85817510351379],[-80.38791321197779,43.85771139624698],[-80.25104690988697,43.761442611199925]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.24531024772682,\"lat\":43.844255725080906},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3522\"],\"cd_name_en\":[\"Dufferin\"],\"csd_code\":[\"3522001\"],\"csd_name_en\":[\"East Garafraxa\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Dufferin\",\"csd_name_fr\":\"East Garafraxa\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.17989591062032,44.08321342511539],[-80.19078079052254,44.092929312941116],[-80.22258007486873,44.08577531604993],[-80.22106909956653,44.07504028827673],[-80.2029694561963,44.06801952970557],[-80.17919268649716,44.072898287180294],[-80.17989591062032,44.08321342511539]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.20008134896513,\"lat\":44.08007948999754},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3522\"],\"cd_name_en\":[\"Dufferin\"],\"csd_code\":[\"3522021\"],\"csd_name_en\":[\"Shelburne\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Dufferin\",\"csd_name_fr\":\"Shelburne\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.31776730144682,43.18504362181822],[-79.34320541807718,43.1821702417623],[-79.3620886691667,43.183930371519004],[-79.40939906529512,43.199583268828],[-79.51326099598897,43.19847176072718],[-79.51213761190743,43.13260600313033],[-79.51033204995126,43.092729938494905],[-79.38940409918783,43.095834693333984],[-79.390155594054,43.10560639941918],[-79.31077004484719,43.107964490198334],[-79.31167171723001,43.13913276146227],[-79.315604983165,43.15079276110735],[-79.31776730144682,43.18504362181822]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.42000618815652,\"lat\":43.146230587753266},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3526\"],\"cd_name_en\":[\"Niagara\"],\"csd_code\":[\"3526057\"],\"csd_name_en\":[\"Lincoln\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Niagara\",\"csd_name_fr\":\"Lincoln\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.99999984375674,41.855434725926365],[-82.99999987685223,41.99999999457644],[-82.9981328984172,42.05883098931019],[-82.97508129549439,42.05811489743092],[-82.96736030412241,42.18285368936093],[-83.00056301428661,42.18388869011392],[-83.1070419704955,42.187098712638225],[-83.13374426180243,42.173673757996234],[-83.12174271405442,42.12518268328576],[-83.1495104623916,42.04078593473135],[-83.06911664693176,41.8635738189608],[-83.00000000011265,41.830582201650415],[-82.99999984375674,41.855434725926365]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-83.05427025967788,\"lat\":42.03892686267292},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3537\"],\"cd_name_en\":[\"Essex\"],\"csd_code\":[\"3537028\"],\"csd_name_en\":[\"Amherstburg\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Essex\",\"csd_name_fr\":\"Amherstburg\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.39872073259701,42.851893560002765],[-81.38788340542148,42.8684853576852],[-81.40556907039058,42.87025851665563],[-81.43320730149503,42.889469907739404],[-81.41896948617986,42.899888149507554],[-81.44010021510344,42.90933065975565],[-81.43802125684678,42.918953923983864],[-81.55507848855522,43.00488739791141],[-81.60065478757066,42.97169136366476],[-81.60077446789171,42.99139272067733],[-81.62686312120228,42.99113296340947],[-81.62737851068778,42.9679803316673],[-81.64951375839864,42.9678033071965],[-81.64594982103718,42.94321546131626],[-81.6774960867942,42.91583409058443],[-81.67852910482581,42.91059590274557],[-81.63462848202533,42.87778960523377],[-81.5405828873521,42.80802180989495],[-81.52140031478515,42.82490579145371],[-81.51546699842248,42.847013689440374],[-81.49148661131663,42.84167988881972],[-81.46866928879517,42.861429906957426],[-81.46065755826824,42.825973407398266],[-81.44097113621214,42.8291298245555],[-81.42382321862964,42.834709611872874],[-81.40949400052608,42.83497588329541],[-81.39872073259701,42.851893560002765]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.54079659622296,\"lat\":42.90483541646277},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3539\"],\"cd_name_en\":[\"Middlesex\"],\"csd_code\":[\"3539015\"],\"csd_name_en\":[\"Strathroy-Caradoc\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Middlesex\",\"csd_name_fr\":\"Strathroy-Caradoc\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.59451098614407,43.033928709992665],[-81.7892891095513,43.065898309140515],[-81.78896579314244,42.93134880144377],[-81.79013048447202,42.816215201847015],[-81.79565530797193,42.81224400080182],[-81.76056918970946,42.78559140940919],[-81.63462848202533,42.87778960523377],[-81.67852910482581,42.91059590274557],[-81.6774960867942,42.91583409058443],[-81.64594982103718,42.94321546131626],[-81.64951375839864,42.9678033071965],[-81.62737851068778,42.9679803316673],[-81.62686312120228,42.99113296340947],[-81.60077446789171,42.99139272067733],[-81.60065478757066,42.97169136366476],[-81.55507848855522,43.00488739791141],[-81.59451098614407,43.033928709992665]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.71224762226625,\"lat\":42.94464826274698},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3539\"],\"cd_name_en\":[\"Middlesex\"],\"csd_code\":[\"3539047\"],\"csd_name_en\":[\"Adelaide-Metcalfe\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Middlesex\",\"csd_name_fr\":\"Adelaide-Metcalfe\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.92417578942897,44.55134633367988],[-80.92574779131361,44.55823950480169],[-80.89186940439369,44.562182694964214],[-80.90115610160079,44.60963130484742],[-80.9137160664559,44.60821360186394],[-80.93340393682895,44.58337999683285],[-80.94140774635056,44.5798370341478],[-80.96433396587369,44.57306099646054],[-80.95786935474769,44.54757167192065],[-80.9407116966026,44.545446287836526],[-80.92417578942897,44.55134633367988]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.92526427325993,\"lat\":44.573626410704726},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3542\"],\"cd_name_en\":[\"Grey\"],\"csd_code\":[\"3542059\"],\"csd_name_en\":[\"Owen Sound\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Grey\",\"csd_name_fr\":\"Owen Sound\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.8612253927913,44.349143927571646],[-79.88515178803036,44.377875901014676],[-79.91182761678013,44.40273760365845],[-79.97416617416373,44.47747060573787],[-80.02058799964733,44.46835861840051],[-80.02611210004224,44.459449489500486],[-80.05108921104798,44.45201549543928],[-80.05333108980308,44.460825398137956],[-80.07344454632293,44.46318390547723],[-80.10610663219325,44.456962371508574],[-80.14097996392888,44.47254735761926],[-80.17392398697942,44.487358106666846],[-80.24461189050079,44.47228818912778],[-80.24831808704522,44.488797891660006],[-80.28166528991575,44.48157959954154],[-80.26636219331517,44.41603398946998],[-80.2290779021495,44.253419189993984],[-80.21266343553104,44.256905803391916],[-80.03400479854946,44.294871705516954],[-80.01814667180726,44.30317235070151],[-79.92301009147815,44.32378535549833],[-79.9060079929503,44.32731173886256],[-79.89840507137036,44.342012525215566],[-79.8612253927913,44.349143927571646]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.0976269581634,\"lat\":44.37851687388848},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3543\"],\"cd_name_en\":[\"Simcoe\"],\"csd_code\":[\"3543005\"],\"csd_name_en\":[\"Clearview\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Simcoe\",\"csd_name_fr\":\"Clearview\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.8475282873876,45.3956245647745],[-77.89521869573663,45.48594830653654],[-77.9098597403933,45.51577813915396],[-77.77410301956068,45.55322318251786],[-77.78054050969507,45.56271989530092],[-77.84116678693289,45.67253313939467],[-78.05155236040017,45.615428201680416],[-78.05931183120056,45.62975749855293],[-78.23885985992177,45.58171033584323],[-78.27336463560346,45.487071077925044],[-78.24801600190007,45.44037363555551],[-78.17845589821553,45.30978877838771],[-78.02449101689909,45.348616924159366],[-77.8475282873876,45.3956245647745]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.04046259455939,\"lat\":45.49512952763835},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3548\"],\"cd_name_en\":[\"Nipissing\"],\"csd_code\":[\"3548001\"],\"csd_name_en\":[\"South Algonquin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Nipissing\",\"csd_name_fr\":\"South Algonquin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.30644687029759,46.2502012343939],[-80.4240225478707,46.24999999991587],[-80.45225515838447,46.25758919865807],[-80.47111664687942,46.251224801994084],[-80.47105363487044,46.264571811738314],[-80.4809285275518,46.2728520112355],[-80.5086838506405,46.27887151133901],[-80.56876406765907,46.277755468680816],[-80.69371059890744,46.27623674757215],[-80.69536536638569,46.10479580303129],[-80.66674521425689,46.104641799544744],[-80.6483248964531,46.07743300590141],[-80.59860839970152,46.03333889623427],[-80.59854166224167,46.0173126971263],[-80.5830992119059,46.018398212700575],[-80.54037670581423,46.019727536424554],[-80.5211673670063,46.0246994458474],[-80.51538336997153,46.03354082315726],[-80.47512735276032,46.036654214172316],[-80.41363497782655,46.03701427826844],[-80.36191068679662,46.03157570052023],[-80.32246311337536,46.03922407204329],[-80.29706782592595,46.03626555181199],[-80.2492314137236,46.04859632811766],[-80.20799074188233,46.0548528994435],[-80.20131564617,46.06532556328401],[-80.18616048169679,46.06026337069207],[-80.17424600673152,46.06723148714389],[-80.1842365199845,46.0801531011272],[-80.15922587354608,46.07598773498571],[-80.14908646979273,46.07252985019954],[-80.14263600274474,46.08221501561102],[-80.14275945372728,46.09211489264851],[-80.15232245610086,46.09194999821285],[-80.16642609815156,46.097589676002784],[-80.17579653609049,46.1052217926626],[-80.30621522158707,46.105064283044754],[-80.30644687029759,46.2502012343939]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.4782053645365,\"lat\":46.14701864983002},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3552\"],\"cd_name_en\":[\"Sudbury\"],\"csd_code\":[\"3552001\"],\"csd_name_en\":[\"French River \\/ Rivi\\u00e8re des Fran\\u00e7ais\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality \\/ Municipalit\\u00e9\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Sudbury\",\"csd_name_fr\":\"French River \\/ Rivi\\u00e8re des Fran\\u00e7ais\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.63129041503888,47.58084310132604],[-79.75974301636602,47.58077449739882],[-79.75990740706843,47.49400992824257],[-79.7596120675011,47.40651003038938],[-79.69368783698496,47.40660777737362],[-79.6645582475179,47.40631506654416],[-79.63215104615519,47.406294675535534],[-79.59077124381182,47.40575905256934],[-79.62831354526764,47.44412080836814],[-79.65112572056981,47.47225660355112],[-79.66633093392463,47.47865571054873],[-79.67635593628374,47.493242406208054],[-79.63163419311775,47.49301595199523],[-79.63129041503888,47.58084310132604]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.69483468265412,\"lat\":47.49153668364024},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3554\"],\"cd_name_en\":[\"Timiskaming\"],\"csd_code\":[\"3554020\"],\"csd_name_en\":[\"Temiskaming Shores\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Timiskaming\",\"csd_name_fr\":\"Temiskaming Shores\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.75974301636602,47.58077449739882],[-79.63129041503888,47.58084310132604],[-79.63147080710377,47.66773899273252],[-79.63176828533545,47.66773891251983],[-79.74750938159787,47.66771590836484],[-79.75989261990803,47.65322779309054],[-79.75974301636602,47.58077449739882]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.69512359034455,\"lat\":47.62395394049119},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3554\"],\"cd_name_en\":[\"Timiskaming\"],\"csd_code\":[\"3554026\"],\"csd_name_en\":[\"Harley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Timiskaming\",\"csd_name_fr\":\"Harley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.74750938159787,47.66771590836484],[-79.7598728120459,47.68217391073684],[-79.78149319192804,47.682433007394756],[-79.78135578761984,47.667692490118746],[-79.78092091264521,47.65328141296088],[-79.75989261990803,47.65322779309054],[-79.74750938159787,47.66771590836484]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.76727743941444,\"lat\":47.667814629764855},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3554\"],\"cd_name_en\":[\"Timiskaming\"],\"csd_code\":[\"3554038\"],\"csd_name_en\":[\"Thornloe\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Timiskaming\",\"csd_name_fr\":\"Thornloe\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.01724511616678,48.27609909723674],[-80.01769630364083,48.36309889343721],[-80.13114647310464,48.36295840254317],[-80.14326282794038,48.37582055974162],[-80.14354725966342,48.44906897083962],[-80.27506201312833,48.44998539835774],[-80.27503105941757,48.623450723759376],[-80.35465891718327,48.624617688334666],[-80.41986128047282,48.623988093769995],[-80.46931410682102,48.620513919374886],[-80.55000564981955,48.62041107289257],[-80.55029947637048,48.62865476601542],[-80.69237059550956,48.62863575288816],[-80.69231445532692,48.62413374973538],[-80.8094846077816,48.62528412472871],[-80.81329731221737,48.49451730325864],[-80.81319455708996,48.4505222244143],[-80.42078487602795,48.45060647049993],[-80.42059810934867,48.36293664760394],[-80.4044056285939,48.362937025798146],[-80.40460458950281,48.27698685665809],[-80.27597963851495,48.276859472421066],[-80.27512928677244,48.326835715532006],[-80.14663571324886,48.326058157404745],[-80.14611716079254,48.27582283908621],[-80.01724511616678,48.27609909723674]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.43807727791537,\"lat\":48.47573357548318},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3556\"],\"cd_name_en\":[\"Cochrane\"],\"csd_code\":[\"3556014\"],\"csd_name_en\":[\"Black River-Matheson\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Cochrane\",\"csd_name_fr\":\"Black River-Matheson\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.41986128047282,48.623988093769995],[-80.41863949678012,48.635263468217765],[-80.41775656453494,48.798031767472345],[-80.54880915423647,48.798334820565515],[-80.55054205214174,48.71146273401845],[-80.68077190625782,48.71083819829737],[-80.68088519238505,48.752453067553745],[-80.661910970448,48.75829355682039],[-80.6642346357749,48.7708704061197],[-80.68071520681758,48.776149684958376],[-80.68026822560809,48.79749797453286],[-80.94379211520095,48.79854685976708],[-80.94382867489996,48.71044232238897],[-80.93991543768806,48.70276173004695],[-80.93866481079506,48.66793015936462],[-80.91397623348367,48.642302875209836],[-80.91494085021407,48.6251414401004],[-80.8094846077816,48.62528412472871],[-80.69231445532692,48.62413374973538],[-80.69237059550956,48.62863575288816],[-80.55029947637048,48.62865476601542],[-80.55000564981955,48.62041107289257],[-80.46931410682102,48.620513919374886],[-80.41986128047282,48.623988093769995]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.68608776860059,\"lat\":48.70642136308765},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3556\"],\"cd_name_en\":[\"Cochrane\"],\"csd_code\":[\"3556031\"],\"csd_name_en\":[\"Iroquois Falls\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Cochrane\",\"csd_name_fr\":\"Iroquois Falls\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.43335955969447,51.40131494743849],[-80.43561058956382,51.40719779651978],[-80.42792211436695,51.4488207034886],[-80.43187440517907,51.46534649445779],[-80.4502240858688,51.494702599875524],[-80.47732642220986,51.50412148836012],[-80.4992160961611,51.52750669682071],[-80.51263178953266,51.54764039485502],[-80.52422642286773,51.58565689098735],[-80.53828438610637,51.60398861101382],[-80.55813339500556,51.64407440839679],[-80.56648438172878,51.66779169158558],[-80.563860511232,51.68840651182555],[-80.57038071932774,51.70809009400505],[-80.58216017680408,51.71306630960674],[-80.64088531508273,51.76264039997053],[-80.6556550139055,51.78305289093258],[-80.65437291216426,51.790171891550806],[-80.6866394840063,51.799339110631706],[-80.69485520804325,51.82107589536297],[-80.71910881999018,51.819566695635196],[-80.73244249538703,51.83407939654435],[-80.78953718693093,51.86153509834731],[-80.79888281807843,51.88517659318245],[-80.82183051484411,51.87687190516077],[-80.83811618606713,51.87984429257902],[-80.88033690512867,51.89522680059891],[-80.89047730458167,51.90711441215849],[-80.91610159981015,51.923707491042336],[-80.93664119506633,51.95040200570679],[-80.94687378577703,51.969992608938625],[-80.97310131526,51.989534896350385],[-80.9723192005326,52.00169520055282],[-80.99276500122934,52.01517999839633],[-81.0014141858052,52.01125480844435],[-81.03273999698855,52.018682511219346],[-81.04440257914865,52.03445300527675],[-81.06211070816057,52.033471289742096],[-81.08218419999145,52.044713604484734],[-81.0945727872135,52.0575788007807],[-81.11309419078519,52.04525270721968],[-81.1612281128047,52.044586912090494],[-81.1782186166887,52.05646520874114],[-81.21946950357768,52.062656687616595],[-81.25662718214299,52.073708506992084],[-81.30839611923261,52.093744599489355],[-81.34038090470084,52.09893001250563],[-81.38220470071033,52.11950018766948],[-81.38381749643351,52.13093049583138],[-81.41676209596737,52.15016320497157],[-81.40603048042017,52.15483099449881],[-81.42958008963538,52.17419778802338],[-81.44300479196615,52.198487711782654],[-81.47451560617792,52.21836870572577],[-81.49999999950205,52.226933993200014],[-81.50000000322363,52.23855598796632],[-81.44633251597561,52.23278911124769],[-81.46917169966862,52.25349880734787],[-81.47019251306499,52.26101809141355],[-81.50054544765118,52.282843696944184],[-81.55759692952721,52.29332741107194],[-81.61667094391493,52.29407842328188],[-81.6265957652445,52.29315327028406],[-81.63396746924589,52.29093302556212],[-81.63687417529032,52.288411032114034],[-81.6384292953297,52.28321775311862],[-81.64439553518734,52.27464141210618],[-81.65600968480342,52.26445569227521],[-81.70770058511138,52.25656317091926],[-81.73820007224917,52.25628501421319],[-81.8119598162663,52.239343085791994],[-81.827336572375,52.2309840423427],[-81.86804307222526,52.21870084799231],[-81.88830486515208,52.20399136118018],[-81.90506130160372,52.19775736248781],[-81.92640443394745,52.17994483612903],[-82.00000000845601,52.15523262693795],[-82.01306314761074,52.14086290387575],[-82.04007306671483,52.14086333647664],[-82.08896757661034,52.115188528148835],[-82.11295873281684,52.111402255308654],[-82.13261041291435,52.11325339028738],[-82.18490029841524,52.10243243565623],[-82.23338686906452,52.098421375122186],[-82.26753209486533,52.10549125502546],[-82.29391965776878,52.10123667126551],[-82.33557497518218,52.086457607031356],[-82.35380743128333,52.059098111467435],[-82.38589560965185,52.03884120152125],[-82.41094924704616,52.00664974947475],[-82.41994233233694,52.00000004047937],[-82.47139032022676,51.98046082072338],[-82.4921288767094,51.97667923278031],[-82.53417872512611,51.95975643836009],[-82.5592966023589,51.9434656691757],[-82.59614615307838,51.92779970559514],[-82.64255289773591,51.9263910459162],[-82.66888462117876,51.93014912068221],[-82.71794796782832,51.92290034863257],[-82.73106215436505,51.92625734110748],[-82.78617889029259,51.92833159473923],[-82.80423780806167,51.92461888121707],[-82.82615405843563,51.912871137192056],[-82.87002050700087,51.89632566432032],[-82.95222183111213,51.86957442650404],[-82.97724979628377,51.8463580342998],[-82.99999984184021,51.83333331245917],[-83.01584402428408,51.81893342656778],[-83.04908481109999,51.79617821808656],[-83.13372322573571,51.75887953335772],[-83.15498208925894,51.7362923146496],[-83.17909466959429,51.686789693613996],[-83.18989655223331,51.67770792211707],[-83.23186754585858,51.66407930604889],[-83.26017113348051,51.613023950040684],[-83.26513563294044,51.58991753631314],[-83.27988427196593,51.56565263583178],[-83.2842203622321,51.537342922961535],[-83.293449987376,51.53061636368979],[-83.3630554398313,51.51480795121637],[-83.40108560467712,51.48606641191569],[-83.4185816552064,51.47968408250199],[-83.4703874061297,51.48330029819696],[-83.5072609027369,51.476563266490736],[-83.53224739842086,51.46681839324487],[-83.5626962428653,51.43687368452782],[-83.59517530017689,51.41899320455346],[-83.61477443062589,51.41402801194357],[-83.63906009401256,51.41671611583994],[-83.7150153061776,51.406910328325885],[-83.74109290626765,51.39474345103777],[-83.75608828651839,51.382640839319414],[-83.78074579076838,51.373565919681646],[-83.81055542476646,51.34709988054575],[-83.81681298327213,51.33776103996878],[-83.8393115452921,51.327908730690815],[-83.87330046422744,51.32039396144452],[-83.89805078397833,51.30930182857954],[-83.92380310360036,51.30710318139109],[-83.99070273732899,51.286799297767395],[-84.03513494797198,51.283283773519116],[-84.05205590620096,51.27610691071969],[-84.12193455657258,51.255216756964295],[-84.17191033330522,51.252813076786566],[-84.19799681866078,51.25538779053169],[-84.2146053752526,51.24869232675878],[-84.24667468306781,51.24819836506022],[-84.28030342299226,51.23969784446129],[-84.30371242002991,51.239427714889565],[-84.34036789242276,51.222284973318594],[-84.37517352423866,51.21216774542497],[-84.40709870382855,51.1840246828264],[-84.42058014780594,51.15802575786044],[-84.45881808787098,51.13768743186031],[-84.47997505314414,51.10855369168509],[-84.49999999619132,51.10826546463736],[-84.50906161016856,51.11657862306821],[-84.55342781403067,51.11302620896833],[-84.56739731373173,51.120753405478574],[-84.59046393357667,51.12107831284468],[-84.59539332490131,51.13649142412824],[-84.62713483108539,51.15244251297035],[-84.67960053202225,51.162860616615426],[-84.71013063619299,51.18135571812799],[-84.7561494233129,51.191076830078025],[-84.78535223036627,51.191006324976996],[-84.79730333771681,51.19660931138794],[-84.81333624960537,51.2150431180558],[-84.84349831001344,51.22860732665964],[-84.85575042235291,51.24463141043433],[-84.89936539822286,51.27399146487053],[-84.97812816572628,51.2808407306404],[-84.99778056031593,51.289589669781115],[-85.03660822757496,51.31420958646755],[-85.04189164957357,51.32780868161486],[-85.03566441790369,51.34721675243407],[-85.03935896522367,51.36201258698396],[-85.06125476760889,51.38227391446269],[-85.0504500876922,51.39569057934263],[-85.0948108584962,51.4159690925949],[-85.1354051442368,51.421655334037126],[-85.16739354025049,51.44361084198224],[-85.18649980428344,51.47773034786208],[-85.2231279349823,51.5067221174689],[-85.24131885093648,51.513990540077295],[-85.27644065524962,51.517258681519536],[-85.31160309528016,51.52560916462343],[-85.33675408610868,51.56272279675867],[-85.36184736926931,51.56776614671442],[-85.3774935063757,51.58066891339516],[-85.40846362078385,51.59286308885376],[-85.42055487748266,51.616671202514084],[-85.46008570456006,51.65093652710859],[-85.49999982453394,51.65961720805452],[-85.56227412106838,51.65465508530685],[-85.59490892432956,51.653821693943115],[-85.6332893417634,51.64849291350226],[-85.68134553179934,51.64718740618835],[-85.7127822267771,51.6350530315053],[-85.78260285282569,51.632659809242575],[-85.79895702003937,51.638194813989394],[-85.8500260747905,51.628961320197895],[-85.90008652057527,51.62241642017924],[-85.96419943668215,51.637920431623996],[-85.99005370273743,51.647018360476764],[-85.9958769783825,51.67763225327979],[-86.0296396145182,51.70657831192939],[-86.06032073228222,51.71853676675912],[-86.0876814458779,51.72064106140447],[-86.10636959684746,51.72757511210624],[-86.12048096648661,51.74229431317725],[-86.1394127544271,51.745316246401515],[-86.14615069754416,51.75403767432368],[-86.19560336740649,51.75058962085384],[-86.22072296548147,51.76200653702541],[-86.24330291180608,51.761796912808734],[-86.2523661027172,51.773346786177584],[-86.30054525953419,51.767350628432894],[-86.30520003622965,51.760805628522036],[-86.33598756813839,51.74705068022033],[-86.35426183834623,51.74597561530285],[-86.38377290283027,51.72834811390625],[-86.39833647820758,51.71200719647617],[-86.40189860932121,51.69235906202867],[-86.38629749638626,51.66919536057867],[-86.38942173355674,51.640541334273365],[-86.38652748098023,51.621787044716235],[-86.40478937207892,51.61125520362568],[-86.40923748415473,51.59693739540656],[-86.42698494889348,51.57928885073987],[-86.46266080899657,51.56211053062024],[-86.48394863766184,51.539152663865295],[-86.51416681947087,51.53426332324795],[-86.54795249818741,51.51957651061497],[-86.54808527051321,51.25004788446844],[-86.54818391028891,51.04671113087319],[-86.5482983353619,50.80828437544251],[-86.54838852436177,50.6185433413425],[-86.54846664810262,50.452799778405755],[-86.54859286072337,50.230908712839934],[-86.54872120378468,50.09909768161118],[-86.5491249762759,49.97004145703961],[-86.42126162397072,49.97017303765955],[-86.32371372303281,49.971305149498185],[-86.27241760254525,49.9698679656224],[-86.05383056620985,49.96875918876268],[-85.77187518806733,49.97148209677339],[-85.49174159906161,49.970074167394245],[-85.33290954139984,49.96954821054888],[-85.33157557273967,49.70986253185595],[-85.0995922246057,49.708699985618736],[-84.70385262438202,49.70873869110811],[-84.52817327056157,49.7083425562406],[-84.485571700372,49.7093647581293],[-84.4821284042407,49.547758471298174],[-84.48198590758837,49.48728161004506],[-84.48428430369869,49.451397261202466],[-84.39815914240033,49.449104457940436],[-84.23785635529633,49.44822330411213],[-84.00261387636658,49.44933285231551],[-83.91179774020543,49.447883702580754],[-83.8333467109873,49.44923633135444],[-83.64334679830178,49.44985361931576],[-83.64408870501391,49.27814155872369],[-83.64134896287352,49.21913929850513],[-83.64259294426498,49.18931032338299],[-83.42996304608678,49.18896071611911],[-83.28761796323661,49.187960044382216],[-83.11369878817722,49.18798830710076],[-83.07995465750176,49.18594405990837],[-83.05847397932506,49.188097688789185],[-82.80891125786201,49.187844289374844],[-82.67650479433853,49.188532329197265],[-82.63925996237222,49.19037355812557],[-82.63861432873468,48.96888365421869],[-82.63822696755938,48.8349520280644],[-82.63767104740887,48.648267540778335],[-82.64149178972308,48.45063623659228],[-82.51644239576677,48.45008646428579],[-82.34736436070004,48.45096325011573],[-82.04665091757893,48.45005312189094],[-81.85658920692364,48.4498862028768],[-81.85493373881175,48.415645655796666],[-81.85595390622323,48.277436126069226],[-81.72681628884206,48.276916828835375],[-81.72708044497476,48.45193118816301],[-81.72811672033308,48.620286674245136],[-81.72739491889372,48.71063110197772],[-81.46734591065925,48.711276835401776],[-81.23337491550593,48.71125648889503],[-80.94382867489996,48.71044232238897],[-80.94379211520095,48.79854685976708],[-80.68026822560809,48.79749797453286],[-80.68071520681758,48.776149684958376],[-80.6642346357749,48.7708704061197],[-80.661910970448,48.75829355682039],[-80.68088519238505,48.752453067553745],[-80.68077190625782,48.71083819829737],[-80.55054205214174,48.71146273401845],[-80.54880915423647,48.798334820565515],[-80.41775656453494,48.798031767472345],[-80.41863949678012,48.635263468217765],[-80.41986128047282,48.623988093769995],[-80.35465891718327,48.624617688334666],[-80.27503105941757,48.623450723759376],[-80.27506201312833,48.44998539835774],[-80.14354725966342,48.44906897083962],[-80.14326282794038,48.37582055974162],[-80.13114647310464,48.36295840254317],[-80.01769630364083,48.36309889343721],[-80.01724511616678,48.27609909723674],[-79.88772051334453,48.27555751797128],[-79.75800420393784,48.275318777911416],[-79.51769060380482,48.27620708532827],[-79.51737532513134,48.43159225760427],[-79.51751668722851,48.503268780407424],[-79.51747401895227,48.561629470170324],[-79.51767131655531,48.66890739685074],[-79.51739290596335,48.792256859639785],[-79.51784085860922,48.93723456518985],[-79.5180578824896,49.008060578973264],[-79.51785743121029,49.304061145109166],[-79.5177736699708,49.492189287109866],[-79.51769065461143,49.67698453139091],[-79.51785814378023,49.86501883460857],[-79.51754394700485,50.000020657859366],[-79.51795289382281,50.19472122528598],[-79.51794315587712,50.38283280251248],[-79.51793087046134,50.61741905307903],[-79.51792325935348,50.76196913736554],[-79.51791005121004,51.00963425874274],[-79.51895076269471,51.06228556217264],[-79.51783626123465,51.22444133072672],[-79.51584871321634,51.46067760678794],[-79.52433063619179,51.47133183758491],[-79.54196509220422,51.46700059462903],[-79.56833650049828,51.46895989258887],[-79.5815465897434,51.447003502886446],[-79.60574671624589,51.438793902183065],[-79.6085090149227,51.42778860156215],[-79.63646521590195,51.41628839506103],[-79.6391569940492,51.40706651192769],[-79.68170158328147,51.40562809342308],[-79.68890280176292,51.3794095080785],[-79.67384808928855,51.350052187248835],[-79.68612838255467,51.348841990528506],[-79.72750268594292,51.37079880349148],[-79.72662118494951,51.35452690769814],[-79.740912709071,51.34545290137308],[-79.7454584903926,51.32919359209044],[-79.70632819277962,51.30110098742481],[-79.69452138990201,51.298594885695024],[-79.68990170090431,51.28549090734112],[-79.69356580881816,51.26688750941473],[-79.67332050417701,51.25302749099248],[-79.7074365128558,51.246087210826964],[-79.73034298282343,51.232788290437746],[-79.75069300812726,51.20346148900458],[-79.77207099423812,51.188182204188635],[-79.79017589168537,51.15987670525355],[-79.85938930742424,51.165370488645],[-79.88535670608681,51.17232060708627],[-79.9243520170616,51.192193398988245],[-79.978088993858,51.238778497470676],[-80.02046778113387,51.254723099655514],[-80.05165400534271,51.257018911224336],[-80.08183298993413,51.273931199646476],[-80.09565000089289,51.27634569522088],[-80.11342897921377,51.2908106093291],[-80.17978111644679,51.29274099629956],[-80.22068500600668,51.29784009796195],[-80.2771532965884,51.31106060838474],[-80.31436962010817,51.31534019068209],[-80.32423481031466,51.32536819806023],[-80.34486780248318,51.32669890942825],[-80.3655021901491,51.33569670070462],[-80.38513960248956,51.33866889627399],[-80.39654690748512,51.32932719776062],[-80.41804080311199,51.34437698797753],[-80.46691125138538,51.319103160037926],[-80.55098522561404,51.29722849617082],[-80.6019981421936,51.2721076165328],[-80.64747447604672,51.24508371671924],[-80.67202537820295,51.17998025613355],[-80.70834349472696,51.15797146952248],[-80.77256868523874,51.136265819121284],[-80.82556347344233,51.14072417244798],[-80.86682677858884,51.141268520488744],[-80.8655025303004,51.31006284346617],[-80.86734328649322,51.40089585121119],[-80.67240149825003,51.399158269478754],[-80.43335955969447,51.40131494743849]],[[-83.07786359509493,49.5798115403393],[-82.95995269691127,49.5807007747372],[-82.76369185469159,49.58086649446291],[-82.55107712512549,49.58138488209024],[-82.47803701100844,49.57973068736179],[-82.47747280065893,49.43571319812931],[-82.34995053905064,49.434978275285445],[-82.35006091929134,49.41424263509891],[-82.34167515535248,49.41394215147085],[-82.34119576815586,49.354418790630554],[-82.46778066656942,49.35349148448898],[-82.47718062784567,49.36444326145085],[-82.47738822570817,49.39862427655519],[-82.67675280274592,49.397699462558485],[-82.67822747145388,49.45002751408696],[-82.76322450320201,49.450082827250796],[-83.07798109617897,49.44957771359923],[-83.07786359509493,49.5798115403393]],[[-83.07786359509493,49.5798115403393],[-83.25852430247794,49.5797266092893],[-83.47886250402347,49.579894243868985],[-83.47882031728135,49.710072142473706],[-83.37953792079165,49.71076687272306],[-83.25876267237724,49.71033480806655],[-83.25542378550779,49.70849530850355],[-83.07765093522937,49.71036352281688],[-83.07786359509493,49.5798115403393]],[[-80.84419636907101,49.01490382132893],[-80.83208058962812,49.01288211039663],[-80.83226785094607,49.000905034123484],[-80.84398922475862,49.0030280341932],[-80.84419636907101,49.01490382132893]],[[-81.61634430031212,52.292415723373495],[-81.62002433148949,52.27666721637451],[-81.64258661162178,52.27396821012008],[-81.63595131140094,52.28826082617844],[-81.62726770536713,52.29221890056624],[-81.61634430031212,52.292415723373495]],[[-80.59772896071391,51.25511158649594],[-80.61187101732618,51.264587500729355],[-80.58830580907416,51.276540515195386],[-80.57658191345608,51.27366341128836],[-80.59772896071391,51.25511158649594]],[[-84.08577281247317,49.83941485324426],[-84.08501762238305,49.79381403130709],[-84.13331902058952,49.79609587590154],[-84.1335628194232,49.788894414289004],[-84.15954399944592,49.7894846916047],[-84.17710997965256,49.79983923698441],[-84.1683030241953,49.83877046625132],[-84.08577281247317,49.83941485324426]],[[-82.0823194540336,48.528283386034616],[-82.08353185334092,48.562693276628835],[-81.95471516346403,48.56072240491264],[-81.953693275982,48.50370982440333],[-82.07147305288736,48.5033532001008],[-82.06952590290875,48.52177302350902],[-82.0823194540336,48.528283386034616]],[[-79.98310334359782,48.73032331839933],[-79.99406706949459,48.69753056214457],[-79.98751522173215,48.681898599029516],[-79.97519254341668,48.67453860161382],[-79.95324873403064,48.675475096974225],[-79.94954251461218,48.65128313014553],[-79.94875314789056,48.54008716013863],[-80.01349586635182,48.5389745981397],[-80.01269947531719,48.710628517424055],[-79.99671234185908,48.715454607793596],[-79.98310334359782,48.73032331839933]],[[-83.72976583358023,49.656085517275244],[-83.7538561381282,49.65596352182466],[-83.75727588768288,49.72078712910883],[-83.56421276894868,49.72139614184636],[-83.56345032300773,49.656507434931825],[-83.72976583358023,49.656085517275244]],[[-80.48910313572401,51.16003339267861],[-80.48835616010246,51.07320605944096],[-80.76310051418248,51.07294572223707],[-80.75373483943632,51.08704051564278],[-80.7646914073532,51.10443130023925],[-80.72772832291352,51.12954581878225],[-80.72458283205461,51.14444401126443],[-80.69100115914584,51.160151263672795],[-80.48910313572401,51.16003339267861]],[[-81.6552494838055,49.189487694299864],[-81.66535781529278,49.18951403597907],[-81.66811689557157,49.25462840402756],[-81.66746751953548,49.31980557993891],[-81.47190782122284,49.31862382955684],[-81.47028964944327,49.18876436873323],[-81.6552494838055,49.189487694299864]],[[-81.03630392049821,49.221239713490654],[-81.01598257482472,49.20996339169117],[-80.99474796382208,49.20931827653244],[-80.97439681416309,49.20088496567753],[-80.87670979333254,49.19874045062514],[-80.87687580986922,49.05883030380061],[-80.94199000275039,49.058818406640235],[-80.94254823587842,48.97183835903859],[-81.0758331359258,48.971929564235424],[-81.07435310363348,49.05853019320532],[-81.13876857686942,49.0584526562194],[-81.14253412492195,49.07695350643531],[-81.15170562138654,49.0849228404102],[-81.14283852055917,49.097744315194554],[-81.14394145971146,49.11317967205403],[-81.12795007036878,49.11744727367542],[-81.13604011356652,49.13766607174622],[-81.13690855726139,49.16539266675138],[-81.12745775862706,49.18370941508994],[-81.15201133754833,49.19536086265518],[-81.16630829712076,49.21364804853395],[-81.18418831068237,49.22436505282991],[-81.20236224332339,49.243003697620985],[-81.20433337522093,49.25515289928197],[-81.24766274350392,49.27420012827797],[-81.26867627987221,49.30404295959442],[-81.26482798367662,49.319473773507816],[-81.09046987872962,49.31884797492995],[-81.07019967361461,49.30164998214024],[-81.06120874301426,49.284426633556336],[-81.06070050090642,49.24784805399893],[-81.03630392049821,49.221239713490654]],[[-82.07708091169144,49.45064280036889],[-82.07527595556694,49.58041154382618],[-81.86826474969314,49.58016052704104],[-81.86830042802592,49.41938208242377],[-81.87345648558627,49.35710929441386],[-81.86917088576526,49.35039509292343],[-81.87344888181423,49.31969790322808],[-81.80916737439875,49.31982862961094],[-81.80548352275419,49.18978778639722],[-81.9667610559619,49.19039294411442],[-81.96426933767825,49.05796104224641],[-82.05315369667528,49.057982151182976],[-82.05389411017181,48.97045003616719],[-82.24631563351176,48.9710616700776],[-82.24638478087223,49.05685102625635],[-82.14000020795646,49.057568738223004],[-82.13846190690431,49.13999134094223],[-82.13550085187619,49.19131509387992],[-82.07393309959507,49.19086539922457],[-82.07585820509544,49.2766160230526],[-82.21843566636487,49.27753541646419],[-82.22154175300217,49.32000614269383],[-82.27583456668019,49.320275584855715],[-82.2766284161875,49.45078617447575],[-82.07708091169144,49.45064280036889]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.55158084246446,\"lat\":50.36263949284757},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3556\"],\"cd_name_en\":[\"Cochrane\"],\"csd_code\":[\"3556092\"],\"csd_name_en\":[\"Cochrane\",\"Unorganized\",\"North Part\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Cochrane\",\"csd_name_fr\":\"Cochrane, Unorganized, North Part\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-84.92487409818312,47.95506824190809],[-84.92226306042879,47.962206958150546],[-84.90020136166447,47.966321888143966],[-84.9003401632107,47.976533760965395],[-84.8774502081152,47.97725234865039],[-84.87755538683976,47.96619854286286],[-84.85810245545862,47.96571243605095],[-84.85478415134072,48.014972291100065],[-84.92165783457712,48.018206692963076],[-84.94261092804754,48.01904572821346],[-84.9444131934218,47.96159608188836],[-84.92487409818312,47.95506824190809]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-84.90250761615361,\"lat\":47.991400817029316},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3557\"],\"cd_name_en\":[\"Algoma\"],\"csd_code\":[\"3557078\"],\"csd_name_en\":[\"Gros Cap 49\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Algoma\",\"csd_name_fr\":\"Gros Cap 49\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-93.58360316749595,48.64907494617549],[-93.58426685437318,48.52825860557209],[-93.54769438420797,48.529333304711855],[-93.51716670774128,48.53477778835965],[-93.50108331313182,48.54133330308245],[-93.46738890646864,48.546444406845815],[-93.45752780061282,48.567138903293035],[-93.46716670432896,48.58838889161182],[-93.44986614667195,48.59296473513104],[-93.44998178375367,48.649003413963904],[-93.58360316749595,48.64907494617549]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-93.52172860191942,\"lat\":48.59353791917147},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3559\"],\"cd_name_en\":[\"Rainy River\"],\"csd_code\":[\"3559011\"],\"csd_name_en\":[\"Alberton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Rainy River\",\"csd_name_fr\":\"Alberton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-92.9122205401617,48.78298932360008],[-92.93396984490248,48.77586102282183],[-92.94761610853911,48.76406971659529],[-92.94577046269691,48.70577238848031],[-92.89940723713619,48.70540148452922],[-92.8946970035406,48.72334321091744],[-92.90258514658592,48.78165022515528],[-92.9122205401617,48.78298932360008]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-92.92152186397166,\"lat\":48.74119161607036},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3559\"],\"cd_name_en\":[\"Rainy River\"],\"csd_code\":[\"3559064\"],\"csd_name_en\":[\"Rainy Lake 26A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Rainy River\",\"csd_name_fr\":\"Rainy Lake 26A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-93.96850027666937,49.39834012453448],[-93.97317285474597,49.38746683066692],[-93.98912569700019,49.38279118842642],[-93.99156661726501,49.36333457562089],[-93.96811409836084,49.363658190417475],[-93.96850027666937,49.39834012453448]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-93.97841347718511,\"lat\":49.37523853071427},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560083\"],\"csd_name_en\":[\"Whitefish Bay 34A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Whitefish Bay 34A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.18797250095548,49.35480449119719],[-97.35084566149351,49.353904504545746],[-97.34887343940413,49.35160645148789],[-97.33312336549805,49.328576547260774],[-97.36853835469975,49.32516890640131],[-97.36897511241123,49.26614080841414],[-97.45944039917036,49.26606929575551],[-97.45971891030952,49.088675698250036],[-97.32456800993072,49.08914969229133],[-97.32493588112581,49.00058907072995],[-97.2577043885064,49.00046529177063],[-97.25780091650236,49.037668992968285],[-97.22505133248195,49.037956885015596],[-97.19629534895533,49.032558324628596],[-97.1883133858742,49.05004202791951],[-97.20945755227952,49.07511482296577],[-97.21670888846992,49.096888221940034],[-97.24004841968633,49.10342759676493],[-97.23524495502079,49.122912296920546],[-97.2543283837001,49.13161576278891],[-97.25595255697533,49.144936401635235],[-97.27141270535063,49.15122362036569],[-97.29103812460706,49.17456350997275],[-97.29248952482415,49.18808135537868],[-97.26542610546993,49.19236845270142],[-97.26635534933206,49.23729425997026],[-97.2771009323834,49.23717854548929],[-97.27826658322925,49.26606570388767],[-97.18800318867171,49.2662142992613],[-97.18797250095548,49.35480449119719]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.3245640462824,\"lat\":49.18989967630886},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4603\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4603030\"],\"csd_name_en\":[\"Montcalm\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Montcalm\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.25414458028963,49.53186629729702],[-97.51606252378785,49.53216839199018],[-97.730659596548,49.532400192218056],[-97.73055038583978,49.443715306344245],[-97.73044458754862,49.26646899861697],[-97.45944039917036,49.26606929575551],[-97.36897511241123,49.26614080841414],[-97.36853835469975,49.32516890640131],[-97.33312336549805,49.328576547260774],[-97.34887343940413,49.35160645148789],[-97.36258638623723,49.33992299380162],[-97.38822804476881,49.340633980977174],[-97.39214201428264,49.35478340968129],[-97.37390015684828,49.361836077892946],[-97.35084566149351,49.353904504545746],[-97.18797250095548,49.35480449119719],[-97.18786748162377,49.48756049388266],[-97.17646685315412,49.50235886955534],[-97.1766493691921,49.524445751636904],[-97.15996548284448,49.531934053046044],[-97.25414458028963,49.53186629729702]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.48047124123644,\"lat\":49.410499713193026},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4603\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4603065\"],\"csd_name_en\":[\"Morris\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Morris\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-99.49267051606358,50.24052010827869],[-99.48857827285161,50.21040446035451],[-99.43166128325748,50.211384705198085],[-99.43113909510383,50.24052640792411],[-99.43506901677836,50.24697863197098],[-99.49254499979602,50.246610885819344],[-99.49267051606358,50.24052010827869]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-99.46143044464614,\"lat\":50.229007506741155},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4615\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4615020\"],\"csd_name_en\":[\"Neepawa\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Neepawa\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-100.48455369403328,50.06313671005454],[-100.48498150044112,50.24063379564832],[-100.50706698701346,50.24461074099758],[-100.50667596386401,50.32811949654404],[-100.60360718394311,50.32896360087836],[-100.78457868877209,50.328943606156614],[-100.78455810308552,50.24218299138274],[-100.7588324806658,50.24064451625078],[-100.75977558771264,50.21046069107062],[-100.75999498620345,50.063669709828766],[-100.48455369403328,50.06313671005454]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.63001066471051,\"lat\":50.196371225597424},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4615\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4615037\"],\"csd_name_en\":[\"Hamiota\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Hamiota\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.39589775460718,50.59428395972073],[-101.41575743193651,50.59411390546726],[-101.40290797495844,50.57944792447376],[-101.39589775460718,50.59428395972073]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.40485438716739,\"lat\":50.58928192988725},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4615\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4615049\"],\"csd_name_en\":[\"Gambler 63 (Part)\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Gambler 63 (Part)\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-100.60097196153339,50.948285122800684],[-100.60173595420378,51.03027119983463],[-100.60197539716704,51.3026215030524],[-100.60377001847347,51.361895197050174],[-100.69786937559472,51.362280033612066],[-100.97848297062856,51.36188566805397],[-100.97661501517642,51.25768120962578],[-100.88304407134791,51.25759460452104],[-100.88397978802138,51.198901825722054],[-100.92983911454823,51.19885848961156],[-100.92978529008347,51.206241929734404],[-100.96509060290714,51.20611891435933],[-100.9768111928502,51.21370461180724],[-100.97678711643614,51.1255070049151],[-100.97811986471412,51.07009281974391],[-100.97583222207632,50.947946505757045],[-100.95035464198848,50.94818372452925],[-100.60097196153339,50.948285122800684]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.78480650742014,\"lat\":51.15254790578584},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4617\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4617058\"],\"csd_name_en\":[\"Grandview\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Grandview\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.87856374807266,50.771582520489595],[-98.16546561541136,50.77204579905361],[-98.33547971741764,50.77114920916134],[-98.33633935738382,50.76442463062502],[-98.29883856858159,50.76507304927444],[-98.29516815926688,50.7521863335652],[-98.27977637016993,50.739034445042535],[-98.29095826289513,50.7296378459472],[-98.27437325757931,50.72275054850124],[-98.26531264580146,50.70830034158652],[-98.23955477777999,50.710666737107225],[-98.21822355346364,50.676225730382235],[-98.20552805474097,50.675393529696976],[-98.19890257446949,50.66178643478111],[-98.14792834938245,50.62401743329257],[-98.13493927454569,50.619600524661365],[-98.1200680719179,50.587009725097495],[-98.12477894497493,50.554250943929105],[-98.11859596313793,50.52774564292323],[-98.09251386932209,50.52233363982075],[-98.0826113447101,50.53102913117497],[-98.05284134856859,50.52460323802007],[-98.04266821493943,50.5053619800623],[-98.00119291996641,50.51856420300722],[-97.98693588028456,50.50605410436689],[-97.73681838591611,50.50676820884572],[-97.73698718613508,50.59455508893776],[-97.73955179814396,50.61377671198347],[-97.74107401348729,50.728216702391],[-97.73928969476937,50.77197681213824],[-97.87856374807266,50.771582520489595]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.96685022325062,\"lat\":50.65195650894838},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4618\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4618044\"],\"csd_name_en\":[\"Coldwell\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Coldwell\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-95.44939685438356,52.026977824763684],[-95.47934965071242,52.006431548432175],[-95.45836784128507,51.990649246989115],[-95.36524415853577,51.99117644337979],[-95.36688475814289,52.02417293504996],[-95.40239601838721,52.02421174814782],[-95.40599893854774,52.01280533798341],[-95.44232647029102,52.03334913752217],[-95.44939685438356,52.026977824763684]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-95.41826477035701,\"lat\":52.00751713174131},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4619\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4619051\"],\"csd_name_en\":[\"Little Grand Rapids 14\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Little Grand Rapids 14\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.33141955841553,53.00006609071596],[-97.33005273416488,52.97733185176761],[-97.23841788925436,52.97776726805928],[-97.23627673331887,53.009196097922725],[-97.33195984348436,53.00988776118586],[-97.33189658140921,53.00599057038292],[-97.33141955841553,53.00006609071596]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.28447059258237,\"lat\":52.99366475577426},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4619\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4619075\"],\"csd_name_en\":[\"Poplar River 16\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Poplar River 16\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-95.27992815427444,54.95347273056559],[-95.25989418723601,54.95102603532038],[-95.29391983253228,54.93275522908824],[-95.3193942286603,54.931448630290966],[-95.31798505646685,54.921117031195834],[-95.36201134562705,54.90345995242197],[-95.40050405942866,54.90929554821679],[-95.4285985391092,54.89461654829343],[-95.40972443430651,54.88983654304449],[-95.39677182580499,54.87276634001356],[-95.41411412819929,54.851063943832145],[-95.38697532889289,54.84842585327363],[-95.36591905332133,54.83819143529661],[-95.3479489392142,54.845889297779365],[-95.3493354976891,54.88261504583231],[-95.34656851532506,54.90666773455195],[-95.27130288237987,54.90587006503835],[-95.27045304560735,54.93489334128104],[-95.24405915660276,54.95393313138343],[-95.2671565520347,54.96687122783883],[-95.23552774681376,54.99262336089063],[-95.26163868349374,54.99254059124464],[-95.2611030620043,54.98099934291101],[-95.28341449286417,54.98012624575806],[-95.27992815427444,54.95347273056559]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-95.33823835377254,\"lat\":54.90312397705749},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4622\"],\"cd_name_en\":[\"Division No. 22\"],\"csd_code\":[\"4622050\"],\"csd_name_en\":[\"Oxford House 24\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 22\",\"csd_name_fr\":\"Oxford House 24\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-102.81942954963071,49.770037454814215],[-102.80328990688217,49.770031759676115],[-102.80817268296946,49.78468408404245],[-102.81941637532978,49.784624163802896],[-102.81942954963071,49.770037454814215]]],[[[-102.41290226452449,49.78443172235966],[-102.63855495253725,49.784587180556436],[-102.66159115038901,49.78458609779769],[-102.68380368469661,49.78459049774253],[-102.68379586741105,49.75507849714396],[-102.729127077318,49.755504143225295],[-102.72914106596346,49.76276014983709],[-102.79712331553402,49.76278965696993],[-102.78522962125197,49.7556299496013],[-102.81954469636504,49.73565641906012],[-102.81920639656802,49.580743088336575],[-102.82016243701459,49.522666344957166],[-102.81376330240033,49.522662510623434],[-102.41292718160443,49.52271989939691],[-102.41229273088689,49.59647705093573],[-102.4137435237548,49.68108371470928],[-102.41290226452449,49.78443172235966]],[[-102.67228182469631,49.63878800452954],[-102.68369765123826,49.653436004007254],[-102.6604928156313,49.65366278015877],[-102.67228182469631,49.63878800452954]],[[-102.49720400551674,49.649453943945964],[-102.48042891925114,49.6466111989185],[-102.48050504120515,49.62799624018809],[-102.50311659801662,49.62858030677722],[-102.49720400551674,49.649453943945964]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.61181494444125,\"lat\":49.64951664516343},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701058\"],\"csd_name_en\":[\"Brock No. 64\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Brock No. 64\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.90047620357996,49.84252189046661],[-102.90856678018623,49.84263218999344],[-102.90965275252879,49.827949577813925],[-102.89944557493811,49.82798649883737],[-102.90047620357996,49.84252189046661]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.90454398720006,\"lat\":49.834990960628566},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701818\"],\"csd_name_en\":[\"Ocean Man 69D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Ocean Man 69D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.44529769481123,49.52267010218334],[-104.44547284746993,49.78459545363412],[-104.85173619650867,49.78472109625454],[-104.85201861302608,49.522762788655726],[-104.83086449783399,49.52276970444913],[-104.44529769481123,49.52267010218334]],[[-104.65999491887752,49.642201565538116],[-104.66566481750108,49.64979043012287],[-104.65408253690701,49.64980464779711],[-104.65999491887752,49.642201565538116]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.64862959679624,\"lat\":49.653668370522304},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4702\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4702052\"],\"csd_name_en\":[\"Norton No. 69\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Norton No. 69\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.63766101044908,49.26079140244609],[-105.82376159706268,49.260937735863386],[-105.84533092204364,49.24137976820167],[-105.86006800925094,49.220349646359416],[-105.88512804255629,49.216175763858956],[-105.92101026546264,49.25367491323876],[-105.93840770198014,49.26076998552493],[-106.00545455888879,49.26129635714653],[-106.00627146987509,49.17035358720617],[-106.00545681133484,48.99947912399546],[-105.61245360243836,48.99975909591027],[-105.61213108769304,49.17346770428234],[-105.6378115859908,49.17858199254462],[-105.63766101044908,49.26079140244609]],[[-105.95854330036933,49.18626019896081],[-105.9363566958296,49.1883042252975],[-105.9309308214001,49.17360552922807],[-105.95482644388609,49.174062445466774],[-105.95854330036933,49.18626019896081]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.81088485980942,\"lat\":49.12500471416475},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4703\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4703006\"],\"csd_name_en\":[\"Poplar Valley No. 12\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Poplar Valley No. 12\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.63759691174921,49.39543169702916],[-105.63780250590163,49.38628494494887],[-105.62650431524973,49.38796350749981],[-105.62643453242495,49.393858763578784],[-105.63759691174921,49.39543169702916]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.63248919129882,\"lat\":49.39087856794996},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4703\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4703028\"],\"csd_name_en\":[\"Willow Bunch\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Willow Bunch\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.25782796305968,49.78460989694966],[-105.66526569495743,49.78475018654808],[-105.6653086841652,49.52330140512207],[-105.63781506127629,49.52326402265837],[-105.63794192081127,49.4701506653236],[-105.59717544206728,49.459065463544206],[-105.54586955973345,49.46046898894183],[-105.50056083689081,49.447953095920866],[-105.46510382037376,49.448469085171986],[-105.42903970446955,49.43791314843493],[-105.40030456764262,49.41929700915489],[-105.36855984237909,49.38866464120057],[-105.33286469184767,49.37486584217506],[-105.31694919644036,49.37476485825238],[-105.29025038981099,49.3862557708372],[-105.25447574813892,49.37955356602247],[-105.233899744767,49.385819180128614],[-105.23428329694696,49.52278209120694],[-105.25797616700402,49.52303747684314],[-105.25830863114606,49.7396980897119],[-105.25782796305968,49.78460989694966]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.44428252758229,\"lat\":49.603180689779705},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4703\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4703029\"],\"csd_name_en\":[\"Excel No. 71\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Excel No. 71\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.0041458008789,49.63596357146691],[-106.00416752734704,49.6230922813641],[-105.97443439651838,49.62533567101128],[-105.97396637928571,49.637475091331424],[-106.0041458008789,49.63596357146691]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.98933007980375,\"lat\":49.6304731794546},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4703\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4703036\"],\"csd_name_en\":[\"Assiniboia\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Assiniboia\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.75401051128233,50.32797738589929],[-101.98429341208413,50.32604180593955],[-102.00571140357664,50.32515893314252],[-102.00614250654326,50.30963920158684],[-102.00716093423513,50.23359274000092],[-102.0064416100464,50.0603239687328],[-101.86186728877438,50.06361188812012],[-101.7225234919502,50.06356286008272],[-101.7223840172052,50.24051309670634],[-101.75241739682524,50.2405472476631],[-101.75401051128233,50.32797738589929]],[[-101.9728165275811,50.25234996187093],[-101.98431978811264,50.26657870957864],[-101.96126998453707,50.26717770664769],[-101.9728165275811,50.25234996187093]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.86912317204057,\"lat\":50.19137180213745},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705007\"],\"csd_name_en\":[\"Martin No. 122\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Martin No. 122\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.0056901810964,50.5464133844218],[-102.0183236605448,50.553299249923235],[-102.03481568941973,50.55116954579194],[-102.06890066504054,50.55517473421369],[-102.08769775349802,50.547959437557886],[-102.11583026487975,50.54465775700187],[-102.13959736335845,50.53735803978772],[-102.1535488738577,50.52553705484069],[-102.18610496833234,50.51252116603629],[-102.24514710508309,50.5003150237762],[-102.28064765797713,50.50791174105063],[-102.28148715258482,50.4402868114226],[-102.41860124764914,50.44023690391613],[-102.41863293284419,50.30952824658796],[-102.28107560807912,50.30931060464954],[-102.00614250654326,50.30963920158684],[-102.00571140357664,50.32515893314252],[-102.00543378898426,50.397509661816116],[-102.00662865566487,50.48396561131773],[-102.0056901810964,50.5464133844218]],[[-102.14353769965005,50.48163000749285],[-102.14355284199652,50.47701093479426],[-102.15638937623461,50.477083029647304],[-102.15628649542295,50.48407123433866],[-102.14353769965005,50.48163000749285]],[[-102.32806242580948,50.3309163003461],[-102.32819332381962,50.3232454488589],[-102.34059244999602,50.323187153522824],[-102.34056230586332,50.330653705107935],[-102.32806242580948,50.3309163003461]],[[-102.06419305077176,50.36801846949114],[-102.08751753843524,50.360172166336625],[-102.08825836355228,50.37700340209297],[-102.06419305077176,50.36801846949114]],[[-102.27506131762028,50.33824368796205],[-102.24925311449766,50.335966591107606],[-102.2510852590753,50.32389853677713],[-102.28107600930255,50.32407211123201],[-102.27506131762028,50.33824368796205]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.18515955843417,\"lat\":50.41046133349775},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705033\"],\"csd_name_en\":[\"Willowdale No. 153\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Willowdale No. 153\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.27506131762028,50.33824368796205],[-102.28107600930255,50.32407211123201],[-102.2510852590753,50.32389853677713],[-102.24925311449766,50.335966591107606],[-102.27506131762028,50.33824368796205]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.26456009092402,\"lat\":50.33042535397057},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705034\"],\"csd_name_en\":[\"Whitewood\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Whitewood\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.30019249699829,50.664182405365274],[-102.30807739483065,50.64950779488145],[-102.29497183315583,50.64948470775999],[-102.30019249699829,50.664182405365274]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.30108057499491,\"lat\":50.654391636002245},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705056\"],\"csd_name_en\":[\"Stockholm\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Stockholm\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.21720161675493,50.95026569120077],[-104.21720213363919,50.94264374124186],[-104.20551836940038,50.94283627012757],[-104.20568908601611,50.950270283024885],[-104.21720161675493,50.95026569120077]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.21142663544877,\"lat\":50.94649441710265},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706094\"],\"csd_name_en\":[\"Cupar\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Cupar\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.57408374093953,50.57176008545286],[-105.57430069495908,50.57889010190993],[-105.58623530566733,50.578884687194616],[-105.58623170263506,50.5717709959337],[-105.57408374093953,50.57176008545286]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.58021040511116,\"lat\":50.575315963933},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707043\"],\"csd_name_en\":[\"Tuxford\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Tuxford\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.86143525558482,51.273163098159266],[-106.87513880710493,51.27091314785612],[-107.26029578510776,51.27069446382927],[-107.25830314391877,51.212591062836154],[-107.26095247787647,51.14143645715056],[-107.26027463154449,51.009393909238554],[-107.23703439337162,51.00875309821833],[-107.02773171772563,51.0088150959191],[-106.89256702266218,51.00945225094395],[-106.8699639054571,51.028072642253136],[-106.85680121073966,51.03151952037184],[-106.71752252430879,51.05124428815625],[-106.67738524062898,51.07661129238516],[-106.6342865618642,51.09073445823176],[-106.62963854212049,51.09717866100395],[-106.63258842192116,51.106075599980734],[-106.65234044465714,51.114792120982514],[-106.71784408335866,51.12957766638094],[-106.74388063584544,51.13858768975099],[-106.78908993688259,51.16772295935028],[-106.81079807221936,51.188437738199305],[-106.8406551935959,51.23714253024122],[-106.84758972895452,51.25662478125346],[-106.86143525558482,51.273163098159266]],[[-106.81937106372402,51.159509448519515],[-106.83018000387773,51.164287214935165],[-106.82109714925926,51.1695710330798],[-106.81937106372402,51.159509448519515]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.00962026463533,\"lat\":51.135324332051404},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707067\"],\"csd_name_en\":[\"Coteau No. 255\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Coteau No. 255\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.51612394318192,50.92040430381586],[-108.54042042138784,50.92196181880125],[-108.54937231146995,50.93333908451062],[-108.58401282950892,50.93841893780486],[-108.62849391361435,50.92788007420668],[-108.64868836430378,50.92913182361317],[-108.68609417016707,50.94087263837579],[-108.71035202581196,50.95446964458914],[-108.74556798404278,50.96152158719318],[-108.76374527113452,50.960180238756095],[-108.79105686082181,50.95174030576975],[-108.82118530384695,50.952532724752004],[-108.86190487679796,50.97756289403646],[-108.90129388716518,50.99157741790062],[-108.93448536738806,51.01706566033286],[-108.93442021291129,50.92167624457778],[-108.91337794092678,50.921684081767076],[-108.91327780983266,50.808454207945495],[-108.91328719374873,50.57216646420851],[-108.49795943072158,50.57219090643636],[-108.49774378061986,50.81565073227745],[-108.49690811771431,50.90825130090152],[-108.51612394318192,50.92040430381586]],[[-108.76313192049199,50.74094863331585],[-108.75168974671591,50.73946802720496],[-108.75041509602505,50.73248794396346],[-108.76365722356293,50.73249213027948],[-108.76313192049199,50.74094863331585]],[[-108.87013429002508,50.79758128329424],[-108.8901448162829,50.798267382102196],[-108.89016028903885,50.80517820931992],[-108.86712320610121,50.80519078495471],[-108.87013429002508,50.79758128329424]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.71389925300683,\"lat\":50.76333775568247},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4708\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4708046\"],\"csd_name_en\":[\"Miry Creek No. 229\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Miry Creek No. 229\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.66855477767285,50.76829445276148],[-109.66211795203905,50.76953255677687],[-109.65780940846055,50.77600499147653],[-109.6700865926677,50.776015631024784],[-109.66855477767285,50.76829445276148]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.66474759336329,\"lat\":50.77283956872974},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4708\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4708059\"],\"csd_name_en\":[\"Mendham\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Mendham\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.00425333386153,51.26704409267294],[-105.96689411650853,51.24154259102819],[-105.96173166263732,51.25604606384586],[-105.97425303194572,51.25566882881306],[-105.9925465086545,51.27407847064007],[-106.00425410812481,51.273663596244866],[-106.00425333386153,51.26704409267294]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.98374874203033,\"lat\":51.2594039785283},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711014\"],\"csd_name_en\":[\"Davidson\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Davidson\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.01535311095542,51.74361420885509],[-105.00534728194022,51.74305426088476],[-105.00533099158028,51.750619397362684],[-105.01687659654569,51.75084311159469],[-105.01535311095542,51.74361420885509]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.0106884108079,\"lat\":51.74712138312881},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711048\"],\"csd_name_en\":[\"Drake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Drake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.6463860994843,52.31077654882427],[-106.67570005032073,52.3108139234812],[-106.69398189794214,52.30442017833742],[-106.68952195478766,52.28197520033862],[-106.67111365600246,52.28210501079813],[-106.64639048237123,52.27533390837997],[-106.62261168474666,52.28167450137371],[-106.63441258134736,52.28941921300959],[-106.6342707849803,52.30363936569306],[-106.6463860994843,52.31077654882427]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.66075762871316,\"lat\":52.29408612314061},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711070\"],\"csd_name_en\":[\"Martensville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Martensville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.88230534557842,52.869964191426945],[-108.91330252429962,52.87719741230108],[-108.9255262842563,52.88963981766338],[-108.92100268585561,52.902693966855225],[-108.97398519228749,52.90893959454765],[-108.98760083520165,52.91771106481509],[-109.00256586904194,52.91678837279799],[-108.99941226545933,52.88592634193723],[-109.00171929090351,52.823906491246575],[-109.0003438704275,52.803881009541186],[-108.90242695506721,52.804552350920545],[-108.88278063097032,52.80346429368198],[-108.88230534557842,52.869964191426945]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.94737544439816,\"lat\":52.852371596672214},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713835\"],\"csd_name_en\":[\"Poundmaker 114\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Poundmaker 114\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.6427487347852,52.70405471439784],[-103.63700955712567,52.714777382760154],[-103.66086356876168,52.714876727803066],[-103.6427487347852,52.70405471439784]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.64687395355752,\"lat\":52.71123627498703},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714041\"],\"csd_name_en\":[\"Bjorkdale\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Bjorkdale\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.004286013799,52.18740370220604],[-104.9805595097726,52.18817418570048],[-104.98048895275794,52.19428033746125],[-105.00428661956856,52.195040224949274],[-105.004286013799,52.18740370220604]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.99284628985008,\"lat\":52.191226416823},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715004\"],\"csd_name_en\":[\"Muenster\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Muenster\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.61666206241884,52.66702907274083],[-104.68966558784683,52.66685022639752],[-105.02771475128974,52.66735500606055],[-105.02753900816442,52.550017161739376],[-105.01419024489374,52.541137784852936],[-104.97047511547487,52.54092752676601],[-104.97052749501515,52.49514841160451],[-104.95641991498364,52.47314116389124],[-104.9527767627052,52.453615469923506],[-104.99952856531016,52.43483793695758],[-105.00301705421872,52.40574594549236],[-104.88496019063551,52.40541129180612],[-104.5968448128488,52.40549019715469],[-104.5969222813155,52.596730997518634],[-104.59782084036836,52.6668798599463],[-104.61666206241884,52.66702907274083]],[[-104.87901084941785,52.650246035050216],[-104.87250805235412,52.636321413123106],[-104.88501530324868,52.63645075408443],[-104.87901084941785,52.650246035050216]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.79945907685665,\"lat\":52.53997987340367},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715048\"],\"csd_name_en\":[\"Lake Lenore No. 399\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Lake Lenore No. 399\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.07377737961885,52.93371323494637],[-105.07386846286859,52.97777245866433],[-105.19608343772346,52.978193905577704],[-105.22060158959235,52.97849461356759],[-105.21988988691082,52.929242307413986],[-105.48681821040591,52.92901498903819],[-105.48630928660107,52.75473866608701],[-105.48670180891845,52.6675103864504],[-105.45875321275564,52.66750499171897],[-105.24417729936765,52.66738675961829],[-105.0515407109913,52.66749107491559],[-105.0514551775866,52.80144019398561],[-105.07303265183229,52.801428898760065],[-105.07377737961885,52.93371323494637]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.26650774928326,\"lat\":52.80611912068878},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715054\"],\"csd_name_en\":[\"Invergordon No. 430\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Invergordon No. 430\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.00499795511669,53.35616568383658],[-105.98585181366356,53.35643119293854],[-105.98693731330046,53.416922398765685],[-105.98523169741279,53.452482933851925],[-106.02873761806724,53.45254408701419],[-106.02830631347305,53.436315598459885],[-106.07827026805433,53.43625718371038],[-106.07839136750384,53.4117283510621],[-106.08639438710794,53.40438605603224],[-106.11719306745789,53.3951304631774],[-106.12807518901866,53.405733355744296],[-106.17050646845473,53.421952962477306],[-106.18625253370928,53.42087076031923],[-106.18543679338983,53.39311998793578],[-106.13342448792326,53.39297642164043],[-106.13125271554512,53.356621858445905],[-106.00499795511669,53.35616568383658]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.0597956750344,\"lat\":53.396576280821826},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716856\"],\"csd_name_en\":[\"Sturgeon Lake 101\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Sturgeon Lake 101\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.86724969134286,53.3361869161458],[-108.88230283639857,53.33852569035153],[-108.87706722209803,53.32894625746392],[-108.86724969134286,53.3361869161458]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.87553991661315,\"lat\":53.334552954653745},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717039\"],\"csd_name_en\":[\"Mervin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Mervin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-109.1534583667014,54.020587719878364],[-109.12905471187437,54.020586346923075],[-109.12857385812659,54.06384447025679],[-109.1931566923647,54.063263111624714],[-109.17641447164341,54.05619344921437],[-109.16754507749394,54.043410350630666],[-109.17861575706125,54.02018270589112],[-109.16613668245806,54.019849158757786],[-109.15567260656677,54.020449342876525],[-109.1656600680188,54.02159889397857],[-109.16117123085296,54.032254350417574],[-109.15369156663861,54.03038743602599],[-109.1534583667014,54.020587719878364]]],[[[-109.27731218836742,54.020934078859206],[-109.24310124861444,54.0206854480159],[-109.23511207119934,54.031766653907574],[-109.18642726004234,54.04243705456103],[-109.21883779227029,54.057038256351554],[-109.26767669720658,54.06508265863846],[-109.27840369893224,54.074784168609575],[-109.2909234661759,54.04713565337906],[-109.27729339732181,54.02953694698569],[-109.27731218836742,54.020934078859206]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.21098316105395,\"lat\":54.0441598929157},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717807\"],\"csd_name_en\":[\"Makwa Lake 129B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Makwa Lake 129B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.66800947248583,54.17429878985293],[-105.68859314205953,54.16061651057457],[-105.69862988048858,54.144591654192034],[-105.67598148610699,54.14018334977828],[-105.64943073011878,54.166596031079514],[-105.66800947248583,54.17429878985293]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.67462657950466,\"lat\":54.156805453539114},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718012\"],\"csd_name_en\":[\"Timber Bay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Northern hamlet\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Timber Bay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-102.94037386346253,55.17439485890247],[-102.94153773736984,55.174327359233885],[-102.94312157907277,55.1682351498309],[-102.94277171409631,55.168265386010866],[-102.94139918515813,55.16802530739234],[-102.93961163897315,55.166455611308244],[-102.94056652199347,55.16647968648254],[-102.94294892342796,55.166161668531934],[-102.93596160683671,55.16613982759056],[-102.93361671822763,55.16573470312131],[-102.93087047822848,55.16555784890455],[-102.93553218793511,55.17376008105537],[-102.93553688987227,55.17603100135134],[-102.94000099848267,55.174129092795226],[-102.94037386346253,55.17439485890247]]],[[[-102.91680449099496,55.18298239139938],[-102.91681328071819,55.19375679474181],[-102.95086051771388,55.1936753386398],[-102.94364689290835,55.18508942850482],[-102.9305397887458,55.18322571794452],[-102.91680449099496,55.18298239139938]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.93262590044462,\"lat\":55.185168867667436},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718055\"],\"csd_name_en\":[\"Pelican Narrows\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Northern village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Pelican Narrows\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.93120629762335,49.69878558007567],[-113.9309798421652,49.74223400455462],[-113.95344332939028,49.742061944125034],[-113.95374802598938,49.75676531244529],[-114.00148013370853,49.75673776545964],[-114.00138789311644,49.698573647003805],[-113.93120629762335,49.69878558007567]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.9683762603178,\"lat\":49.725829021304584},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4803\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4803805\"],\"csd_name_en\":[\"Peigan Timber Limit \\\"B\\\"\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Peigan Timber Limit \\\"B\\\"\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.49770001892976,51.48891220658138],[-113.49752848441915,51.503418798473554],[-113.52101581310382,51.50334279641788],[-113.52102807435745,51.48898063192962],[-113.49770001892976,51.48891220658138]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.50929853164759,\"lat\":51.49617174893436},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4805\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4805044\"],\"csd_name_en\":[\"Acme\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Acme\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.25534207016032,50.67398630071514],[-114.20956558916829,50.67397427885772],[-114.21802764725885,50.68819029558073],[-114.23258639215885,50.698004155215],[-114.25526881211093,50.67734041068763],[-114.25534207016032,50.67398630071514]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.23218574482812,\"lat\":50.682504642539584},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4806\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4806011\"],\"csd_name_en\":[\"Black Diamond\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Black Diamond\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.16966808766765,52.346877865075825],[-114.17338911466834,52.34639795312972],[-114.17235820818513,52.344665006998966],[-114.16959169694633,52.34452669065706],[-114.16966808766765,52.346877865075825]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.17119338703404,\"lat\":52.345678821675634},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4808\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4808025\"],\"csd_name_en\":[\"Half Moon Bay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Half Moon Bay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.76954180975035,52.4047173691962],[-113.78898660954164,52.39842308362769],[-113.81932640211954,52.40485556741511],[-113.81932559569914,52.3794575057697],[-113.79517638069267,52.3681564928552],[-113.75988863361415,52.36807625287585],[-113.74724231132366,52.375592484620675],[-113.74729681368632,52.40462060247833],[-113.76954180975035,52.4047173691962]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.78167258130394,\"lat\":52.38650730856111},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4808\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4808029\"],\"csd_name_en\":[\"Blackfalds\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Blackfalds\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.8666088675664,53.03256875949976],[-112.89120728151472,53.02589897518159],[-112.88247405889847,53.01068336841094],[-112.88250858849898,52.98890330473095],[-112.85828002133418,52.98884410218142],[-112.84532570540803,52.98237572522472],[-112.84735465250168,52.969414564716836],[-112.80997421990538,52.9668863375267],[-112.80990197360674,52.996600865947784],[-112.76165451655109,52.995849835740444],[-112.7819933093252,53.01805690970867],[-112.7820630947296,53.03277949071874],[-112.80630770689675,53.04005778568072],[-112.86640916799591,53.03958946218871],[-112.8666088675664,53.03256875949976]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.83106307158721,\"lat\":53.009064468580604},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4810\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4810011\"],\"csd_name_en\":[\"Camrose\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Camrose\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.86145135162707,53.91474852096765],[-111.90612308201798,53.92307515372479],[-111.9234670801038,53.9120520765856],[-111.96116519444782,53.90541086191963],[-111.98036230079636,53.91196875152037],[-112.01335798598704,53.93693527432609],[-112.05881009504576,53.95354606707305],[-112.10655657390001,53.96244885401579],[-112.16223246133127,53.97670109671668],[-112.18328380776599,53.976875589499976],[-112.18326799783041,53.860544986038484],[-112.19407281224368,53.84604413267644],[-112.23254341116221,53.84585849931571],[-112.23270630837949,53.74420810575449],[-112.20794370043748,53.74420860588942],[-112.21363781274098,53.715530295968414],[-112.2135973081564,53.657776388155646],[-111.91872750586488,53.657948100299286],[-111.91880840388991,53.59971789707794],[-111.8205527842757,53.59970390033249],[-111.82051757566424,53.57058939060618],[-111.77137158929065,53.57052130965279],[-111.77116745239536,53.555850245587344],[-111.47659511395442,53.555853835939175],[-111.47661309762223,53.54144540753743],[-111.09832502192458,53.541104479507325],[-111.09812393794014,53.533733763154444],[-111.07256374900601,53.52624316717071],[-111.03857927635643,53.52611056664084],[-110.9401043269061,53.526116850450066],[-110.94030838244262,53.58450597140013],[-110.7928162822203,53.58447702373574],[-110.793460165731,53.71511101603782],[-110.797011083223,53.773322406065994],[-111.01986191577333,53.77342968786965],[-111.01986170801402,53.8024967041955],[-111.04388658515825,53.8031831976412],[-111.07155958379094,53.78772986586436],[-111.08854509625421,53.77207264998249],[-111.15180856925384,53.750463359673184],[-111.31213357478136,53.75971255731485],[-111.34672450605512,53.75690786845418],[-111.38074267162892,53.74969685443659],[-111.4095183958159,53.75945544725997],[-111.41091500646134,53.77997885318593],[-111.42779019757353,53.78779205408101],[-111.46055899076718,53.78993166495997],[-111.48950574103954,53.798394690054614],[-111.49020938955765,53.816790695756985],[-111.51483430999077,53.81681831018897],[-111.51596867247022,53.84567321316287],[-111.59959472239369,53.84570245042015],[-111.60036225861283,53.90354420837941],[-111.63858481879936,53.90418630752634],[-111.63862541227354,53.889623004947204],[-111.72357187109166,53.88903559833281],[-111.73142990317007,53.90260936541444],[-111.74994100090494,53.91551506301361],[-111.77688771533172,53.92510846752968],[-111.80284387001305,53.92425036024062],[-111.82008959896244,53.92878995042182],[-111.83816717459133,53.91666477332558],[-111.86145135162707,53.91474852096765]],[[-111.22385850696666,53.65474420721198],[-111.24282652969369,53.65719529789384],[-111.24325715274033,53.66637808151441],[-111.20626363060983,53.666326672858155],[-111.22385850696666,53.65474420721198]],[[-111.75045358484894,53.722785536178876],[-111.73740100783601,53.72281524540162],[-111.73271904470519,53.708491274314014],[-111.75084946150986,53.70439323188175],[-111.75045358484894,53.722785536178876]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.55953086782567,\"lat\":53.71583113181436},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4810\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4810048\"],\"csd_name_en\":[\"Two Hills County No. 21\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Two Hills County No. 21\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.29332447407059,53.672935910904805],[-113.29506499617224,53.71582069945386],[-113.43041806445517,53.71609807896729],[-113.4307341950234,53.65782096919502],[-113.43612239629314,53.650563272846824],[-113.5658442310862,53.65046184000713],[-113.56586163536102,53.635016413840695],[-113.58073706414058,53.63046617276978],[-113.63915700867186,53.59962979447291],[-113.67193593297868,53.59890344935553],[-113.69096658351323,53.59243286414454],[-113.71362932412816,53.592372286832656],[-113.7134260022138,53.51221130714912],[-113.68893038662152,53.512238590557914],[-113.68892488840731,53.45402690591724],[-113.68918980293122,53.4031554082013],[-113.64957141677759,53.40341877816363],[-113.6437011189973,53.39135586822607],[-113.65093219600932,53.383335369681895],[-113.69086078010392,53.37804316885264],[-113.68394822024062,53.36299326037885],[-113.69541988162959,53.35403424753453],[-113.68402048388754,53.33829342131753],[-113.54974544739089,53.337901729224356],[-113.50976394095429,53.39588246692723],[-113.46730989497775,53.39586479756854],[-113.46417729889141,53.36690569755843],[-113.44263156109487,53.382249651836794],[-113.3935237346605,53.3823190950737],[-113.39113040009751,53.36682770889243],[-113.3443056988399,53.36683990196829],[-113.34421868736271,53.48661358539264],[-113.34842249455805,53.513745990068834],[-113.39387453665074,53.517154656130444],[-113.3949065775522,53.55142806505922],[-113.3806413722072,53.55336456030904],[-113.37600959313794,53.5661483505693],[-113.34539919260185,53.57112651285985],[-113.29531695245254,53.57027448645842],[-113.29721837740908,53.61960146742648],[-113.32125518582566,53.62852256363122],[-113.31777731055016,53.63690095846883],[-113.28608310758972,53.644454453722915],[-113.28323409811837,53.657687468797036],[-113.27161548551526,53.66908115693155],[-113.29332447407059,53.672935910904805]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.50141893709534,\"lat\":53.519554203366035},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811061\"],\"csd_name_en\":[\"Edmonton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Edmonton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-110.16580678334847,54.46322017259604],[-110.20503368006472,54.48295825040637],[-110.20279249838256,54.500041412029745],[-110.20842996189491,54.50002929598517],[-110.20742448717901,54.4791377987312],[-110.2198935884621,54.47828263040459],[-110.21989672788783,54.42074292199785],[-110.23245268387012,54.42814269833721],[-110.28342758089858,54.428680695005404],[-110.28359427572691,54.44935656740483],[-110.33335215408643,54.449196609763575],[-110.33328580560074,54.426636205572585],[-110.31387628681158,54.41023476747346],[-110.31183598153316,54.395454155012075],[-110.25337302507538,54.372737216419075],[-110.2367805583678,54.389834102514975],[-110.18047266739751,54.39137274754451],[-110.1756644770656,54.42790633649434],[-110.18221399723728,54.44240060004907],[-110.1575182162396,54.442823471037755],[-110.15917056295899,54.45719271421816],[-110.16631238821326,54.45694071014989],[-110.16580678334847,54.46322017259604]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-110.24169239384375,\"lat\":54.423572259661825},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4812\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4812002\"],\"csd_name_en\":[\"Cold Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Cold Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.54089187924481,54.75227518637248],[-113.54943647988114,54.75063976017872],[-113.5395339848959,54.74610106171646],[-113.54089187924481,54.75227518637248]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.54328744800726,\"lat\":54.74967200275589},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4813\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4813047\"],\"csd_name_en\":[\"Sunset Beach\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Sunset Beach\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.80764781600426,54.3414086067612],[-114.81517249371852,54.34363501909758],[-114.8143865273447,54.34114155505461],[-114.80764781600426,54.3414086067612]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.81240227902249,\"lat\":54.34206172697113},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4813\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4813829\"],\"csd_name_en\":[\"Alexander 134B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Alexander 134B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.53386810318477,53.43598237901231],[-117.57308689910676,53.42333295854569],[-117.59443979284661,53.4065323617441],[-117.63703289558265,53.380972403201746],[-117.61953382191797,53.351053187948764],[-117.60776564565406,53.3671283338659],[-117.56865292859261,53.36773387455828],[-117.57006754338673,53.39024543190144],[-117.52568009269747,53.406598681069205],[-117.51332922430315,53.4163864843625],[-117.53386810318477,53.43598237901231]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.5773544948309,\"lat\":53.39673933660865},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4814\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4814019\"],\"csd_name_en\":[\"Hinton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Hinton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-118.77251912577896,56.551903953811056],[-118.82785957234246,56.552439450628846],[-118.82794998529542,56.50871819319528],[-118.77256880186991,56.50870243080926],[-118.77251912577896,56.551903953811056]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-118.80027956612199,\"lat\":56.53043867165017},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817825\"],\"csd_name_en\":[\"Clear Hills 152C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Clear Hills 152C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-115.8073254115454,50.18134506416248],[-115.81635434353362,50.19270883138461],[-115.83440245323726,50.18923475717808],[-115.8502121190804,50.170354821619924],[-115.84288364191664,50.15803322397837],[-115.81969653045086,50.136146311951606],[-115.78333605582256,50.15366404090728],[-115.78375424532632,50.16157134926106],[-115.80767812513885,50.164720736356784],[-115.8073254115454,50.18134506416248]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-115.81965827028033,\"lat\":50.16415707379123},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5901\"],\"cd_name_en\":[\"East Kootenay\"],\"csd_code\":[\"5901043\"],\"csd_name_en\":[\"Canal Flats\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"East Kootenay\",\"csd_name_fr\":\"Canal Flats\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-115.68320616615351,49.66172767765786],[-115.70025483027518,49.67608001519532],[-115.81354974562171,49.67648660602818],[-115.81310214682743,49.66125777969225],[-115.79015091737105,49.66129535019673],[-115.79027313967421,49.61969001300412],[-115.77834198056416,49.6243066173478],[-115.77750055246861,49.59577983422718],[-115.79047420732398,49.6036499487673],[-115.79037433807194,49.58813530414713],[-115.78095636831831,49.58042603583714],[-115.75456971268255,49.58997645042555],[-115.7304756056692,49.59391585111318],[-115.70583341805397,49.61015460777608],[-115.67992680326263,49.6180375938227],[-115.6607929217438,49.61296466725176],[-115.6332965150306,49.61962419404291],[-115.65852111220224,49.63010926056118],[-115.66720922387292,49.65026035716887],[-115.68793250749705,49.652385259047584],[-115.68320616615351,49.66172767765786]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-115.7350884706665,\"lat\":49.63638605568024},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5901\"],\"cd_name_en\":[\"East Kootenay\"],\"csd_code\":[\"5901803\"],\"csd_name_en\":[\"Kootenay 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"East Kootenay\",\"csd_name_fr\":\"Kootenay 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.61290321889275,49.07357630540613],[-117.61296952982977,49.088258653121464],[-117.6416033722261,49.09576536963097],[-117.64179217278063,49.103440792365696],[-117.67118798318977,49.10337585290869],[-117.67153278293382,49.1108710820568],[-117.71079967543244,49.11080876622759],[-117.71142707469983,49.13203015941039],[-117.72378711439245,49.13197048251573],[-117.73447346330822,49.146556760965446],[-117.73588190387443,49.11861697392469],[-117.74842045776819,49.11998681190863],[-117.74770576235204,49.10225447576478],[-117.74783051213454,49.08806048369978],[-117.75919816027933,49.08114859322206],[-117.75923930032552,49.05910560391515],[-117.73727082409933,49.058921350388005],[-117.73710383960514,49.04431623546397],[-117.72575497033559,49.02990061578129],[-117.70976451658983,49.033420652413895],[-117.71521130575975,49.044083654072224],[-117.71536853366968,49.08769657012187],[-117.69431926494543,49.09431246281576],[-117.65503140364636,49.09576160950838],[-117.62169913993124,49.082114852506855],[-117.61290321889275,49.07357630540613]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.71492532330238,\"lat\":49.08873724247788},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5905\"],\"cd_name_en\":[\"Kootenay Boundary\"],\"csd_code\":[\"5905014\"],\"csd_name_en\":[\"Trail\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kootenay Boundary\",\"csd_name_fr\":\"Trail\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.52617070306908,49.09434935722923],[-119.55252876408841,49.090362243655825],[-119.60403048912073,49.09463048686224],[-119.60410968963059,49.11441949337774],[-119.63092098974926,49.11410448906872],[-119.63704196540392,49.12130167500649],[-119.66962147231902,49.120932794086585],[-119.67061823422017,49.09929827461868],[-119.64853627067235,49.09911692775317],[-119.62656114868332,49.073469944833626],[-119.62612343561455,49.00008080953583],[-119.29492322384736,49.00004765634961],[-119.30150920873407,49.00807357318478],[-119.30182071645683,49.07325407022651],[-119.28803116108591,49.10055813438416],[-119.27176611996141,49.118093266157544],[-119.28498173818517,49.133477906322305],[-119.26340374647407,49.14069749020015],[-119.25597402888108,49.16188682125208],[-119.28596592600152,49.1447130629889],[-119.29604392587999,49.13060314340172],[-119.32658039874923,49.11384922317789],[-119.35718182501911,49.11704636264786],[-119.39710813385464,49.12927744535432],[-119.4273099318785,49.12005425689436],[-119.4488465711462,49.123791674868244],[-119.44911459206901,49.06667307953237],[-119.42186421650877,49.06659775154309],[-119.42151686140694,49.03639211908981],[-119.43701124095865,49.0363243394816],[-119.43318745267283,49.02081106562888],[-119.45908205562002,49.02602518758016],[-119.47537340709198,49.00670095762468],[-119.48892936864237,49.00736091247133],[-119.50563599886881,49.04436011333007],[-119.48381856143568,49.033655026028384],[-119.46675655335669,49.044182453885846],[-119.45686190752055,49.029580557456704],[-119.44506231759975,49.03678738223755],[-119.44769120722965,49.04676876283375],[-119.47506291549351,49.061371156774236],[-119.47980300212518,49.06830425392352],[-119.50750462135755,49.07048615371802],[-119.52617070306908,49.09434935722923]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.45410155324318,\"lat\":49.058800730895214},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5907\"],\"cd_name_en\":[\"Okanagan-Similkameen\"],\"csd_code\":[\"5907022\"],\"csd_name_en\":[\"Okanagan-Similkameen A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Okanagan-Similkameen\",\"csd_name_fr\":\"Okanagan-Similkameen A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.48762345788006,49.96453365722716],[-121.48774943797558,49.95972751297834],[-121.48248263102575,49.95967036547653],[-121.48246681010146,49.96486229966923],[-121.48762345788006,49.96453365722716]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.48504693665055,\"lat\":49.96219009258075},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909819\"],\"csd_name_en\":[\"Kahmoose 4\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Kahmoose 4\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.0115925873314,49.20968970887386],[-122.02728868211572,49.21165634370242],[-122.0373554779325,49.19982522815407],[-122.0115925873314,49.20968970887386]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.02541224912655,\"lat\":49.207057093576786},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909879\"],\"csd_name_en\":[\"Holachten 8\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Holachten 8\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.89342431686468,49.27029337852302],[-122.89939227869887,49.289323583788736],[-122.9456651350786,49.29716873626146],[-122.95938827060047,49.29434201636163],[-122.98618901256779,49.29896028821151],[-123.00181388132175,49.29395612728334],[-123.02309527485424,49.29443491288091],[-123.02313950746276,49.19974447006916],[-122.9871508128919,49.18298091994643],[-122.96974183155518,49.18190544388797],[-122.95742637302172,49.19012082749938],[-122.95995134102186,49.201367586101334],[-122.89250590102765,49.23805414990794],[-122.89342431686468,49.27029337852302]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.9654252051341,\"lat\":49.24736564431564},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5915\"],\"cd_name_en\":[\"Greater Vancouver\"],\"csd_code\":[\"5915025\"],\"csd_name_en\":[\"Burnaby\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Greater Vancouver\",\"csd_name_fr\":\"Burnaby\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.82207409842368,49.321449429666046],[-122.84133435085293,49.305881819489144],[-122.8734832022589,49.30578534768148],[-122.8670036532452,49.32279544652776],[-122.87756983834271,49.33015955900248],[-122.89592693479182,49.33017220924508],[-122.8900355212891,49.314130589306785],[-122.93264774200699,49.310394889332315],[-122.93901926626808,49.310799955125965],[-122.9456651350786,49.29716873626146],[-122.89939227869887,49.289323583788736],[-122.89342431686468,49.27029337852302],[-122.82373784918164,49.27334558392914],[-122.82207409842368,49.321449429666046]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.87445065726456,\"lat\":49.29649855810466},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5915\"],\"cd_name_en\":[\"Greater Vancouver\"],\"csd_code\":[\"5915043\"],\"csd_name_en\":[\"Port Moody\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Greater Vancouver\",\"csd_name_fr\":\"Port Moody\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.13055820508157,49.06397231074443],[-123.11958424028101,49.063646561341805],[-123.11939999861482,49.06956662628422],[-123.13047119006848,49.0699841792025],[-123.13055820508157,49.06397231074443]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.12501692608517,\"lat\":49.066797354627},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5915\"],\"cd_name_en\":[\"Greater Vancouver\"],\"csd_code\":[\"5915810\"],\"csd_name_en\":[\"Musqueam 4\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Greater Vancouver\",\"csd_name_fr\":\"Musqueam 4\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.47778643559627,48.54414406839562],[-123.49378189109645,48.55803901595654],[-123.50501706257214,48.55857649180564],[-123.542328746184,48.54640161620406],[-123.53917203788366,48.52223197888166],[-123.54449841627597,48.5092877825621],[-123.53360620152242,48.49877403768007],[-123.53432919894193,48.47872413335358],[-123.49751250468182,48.47549969825094],[-123.49721029742251,48.489678489465255],[-123.4813315932958,48.49614419086436],[-123.45650320654617,48.49350598381984],[-123.4583009672403,48.51466961190934],[-123.4724800185978,48.52279221358383],[-123.47778643559627,48.54414406839562]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.50496528964861,\"lat\":48.517489121078675},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5917\"],\"cd_name_en\":[\"Capital\"],\"csd_code\":[\"5917049\"],\"csd_name_en\":[\"Highlands\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Capital\",\"csd_name_fr\":\"Highlands\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.53934333159702,48.93439426045525],[-124.5494992026006,48.932472989823985],[-124.54521930923933,48.91046189944667],[-124.55016979546959,48.90073171395149],[-124.57192910891423,48.88948188510286],[-124.61570778709807,48.87680499785254],[-124.63660059255501,48.86384320171338],[-124.65169840905071,48.86832100497855],[-124.65496659859214,48.854903509778126],[-124.64917711988521,48.84418490125692],[-124.68109868548886,48.8238599963184],[-124.67896300596615,48.81342620447557],[-124.69364540105849,48.79608789325973],[-124.72039838103655,48.77963970188091],[-124.73846678650361,48.75889469483862],[-124.74160758786815,48.744844909012826],[-124.77344368993202,48.73168520517821],[-124.80196849392527,48.69657550196973],[-124.81977551556157,48.68941740404427],[-124.85496419529295,48.683246392744486],[-124.85522722750787,48.66230663288862],[-124.84509427754593,48.54770528534689],[-124.49948608764566,48.500000668282446],[-124.50066397276544,48.539898071911814],[-124.49858288926463,48.592120307490596],[-124.4879928392359,48.59220129940131],[-124.49018407105999,48.63414158742663],[-124.4472714186996,48.63490763844207],[-124.44731101318439,48.62652472677267],[-124.42134383323724,48.62629340038846],[-124.41268437465112,48.636857335227056],[-124.41369576251462,48.66568575333687],[-124.38281753142626,48.66433749100411],[-124.37811882519713,48.672530659403606],[-124.37998027090669,48.69526751879595],[-124.35683778022727,48.695192376558246],[-124.35685530281941,48.68074967125541],[-124.28083156972525,48.680744763990894],[-124.28005455408457,48.72120522510569],[-124.20030293438552,48.65608942864361],[-124.17479765984159,48.65593120846825],[-124.15520025994162,48.64759899360473],[-124.14217261925623,48.63572586855545],[-124.11376346184962,48.635928159189184],[-124.11365974415955,48.64981610513683],[-124.02310177159454,48.649074195885504],[-124.02264589097673,48.64424255647428],[-123.94642074754113,48.64436476278072],[-123.93181618987,48.63851064424978],[-123.90603272531985,48.64532717783776],[-123.89633532057626,48.63679693694545],[-123.87606533365859,48.639016789816154],[-123.87629404822754,48.667602809213314],[-123.89827857394103,48.667498943078925],[-123.898662206299,48.688980078659675],[-123.8896960057758,48.68911442321991],[-123.89300489141047,48.71985271767503],[-123.89297539148514,48.76681622718562],[-123.8638334934027,48.769789396363954],[-123.8589195937546,48.760843015240155],[-123.83800190999767,48.75804931935225],[-123.83771455388278,48.78458353073774],[-123.82411980257369,48.791652462087555],[-123.82384908674712,48.844916613975975],[-123.84290043071847,48.85003441583325],[-123.84760890094691,48.868603112586065],[-123.8215636593042,48.87975264445915],[-123.82121571535598,48.9095528844299],[-123.84893890110615,48.90862381941229],[-123.84991891350164,48.91617286371874],[-123.89267039345013,48.91227068730109],[-123.89868341538974,48.91873556057615],[-123.96815479961276,48.920186452893994],[-123.97510404097682,48.93714767583785],[-124.02082428502295,48.93672956341396],[-124.04779083279337,48.92787333707405],[-124.05935548146716,48.91404925848607],[-124.01528934112469,48.89098119062501],[-124.03439718087671,48.87626050017647],[-124.05390526391564,48.8758968610673],[-124.05436568502891,48.86094702817417],[-124.07185824600181,48.86080405062388],[-124.07236981706757,48.84678930838181],[-124.05478777349688,48.84168166639011],[-124.03137155571811,48.837253818416784],[-124.02779493215282,48.82774895506645],[-124.03760601655787,48.818167152793286],[-124.09118443624955,48.815701447113995],[-124.11315596657822,48.81803934177637],[-124.11180874122927,48.825858327744726],[-124.17495674143285,48.825907616261034],[-124.20380809599583,48.85702120600355],[-124.22582861722472,48.86756665659749],[-124.32118828717418,48.890489403843155],[-124.33215307171572,48.899815813154675],[-124.37392644501627,48.90380451558514],[-124.37450020277741,48.90809338414114],[-124.4155346468849,48.91667288252379],[-124.41595003145231,48.90669273326612],[-124.45718646056447,48.91118299029358],[-124.50108501716612,48.912331227555036],[-124.51745625967308,48.91584351612882],[-124.53934333159702,48.93439426045525]],[[-124.6663524261816,48.813672664944654],[-124.66326330057746,48.80411482865258],[-124.67629860615746,48.80846007357096],[-124.6663524261816,48.813672664944654]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.36288972707055,\"lat\":48.7374511364412},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5919\"],\"cd_name_en\":[\"Cowichan Valley\"],\"csd_code\":[\"5919033\"],\"csd_name_en\":[\"Cowichan Valley F\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cowichan Valley\",\"csd_name_fr\":\"Cowichan Valley F\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.811355984366,49.21836313029666],[-124.81286410135068,49.21105167856578],[-124.8051247336859,49.21093276763819],[-124.811355984366,49.21836313029666]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.80978160646752,\"lat\":49.21344919216688},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5923\"],\"cd_name_en\":[\"Alberni-Clayoquot\"],\"csd_code\":[\"5923802\"],\"csd_name_en\":[\"Alberni 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Alberni-Clayoquot\",\"csd_name_fr\":\"Alberni 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.16236240191486,49.81074870082249],[-123.1979568796342,49.81148849220008],[-123.20303407973545,49.82448126980773],[-123.20260180661352,49.845942145836744],[-123.2138682863276,49.84615149596602],[-123.22410222614737,49.858728606450086],[-123.22425151795873,49.87112017977315],[-123.24442632328812,49.87176148472376],[-123.248122424869,49.85669385735056],[-123.22088145348492,49.84110875902097],[-123.22726444362382,49.82908836104631],[-123.21790441656597,49.81927555823096],[-123.21321413921855,49.80226625194233],[-123.1939291078072,49.794034764637885],[-123.1878733531351,49.78899439864813],[-123.15076695341867,49.802701843127366],[-123.16236240191486,49.81074870082249]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.20600616889755,\"lat\":49.82591572312194},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5931\"],\"cd_name_en\":[\"Squamish-Lillooet\"],\"csd_code\":[\"5931801\"],\"csd_name_en\":[\"Cheakamus 11\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Squamish-Lillooet\",\"csd_name_fr\":\"Cheakamus 11\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-121.32110078871632,50.62171829956919],[-121.33023609925571,50.60928391384157],[-121.31866363573809,50.610086997427],[-121.32110078871632,50.62171829956919]]],[[[-121.07107758539125,50.924854087893564],[-121.39915681772432,50.925717548728194],[-121.39975229749228,50.9376800353802],[-121.44686322069053,50.937674767539235],[-121.44662517291754,50.92565487442191],[-121.6260853820538,50.9249547626597],[-121.62533767023426,50.89604108877572],[-121.64872751271027,50.89566626475735],[-121.64900679838235,50.88176735856105],[-121.67283307483247,50.88163385893976],[-121.67239632475585,50.85285256261618],[-121.69632348716569,50.852703377187694],[-121.6965979143845,50.83799405566442],[-121.71989252021886,50.83770026665225],[-121.72068815719447,50.7937187057892],[-121.74291375453065,50.79371014079446],[-121.74357322745756,50.750391531964475],[-121.76596858389708,50.750211984516135],[-121.76685674147596,50.57532683954974],[-121.76624407579465,50.54638153875979],[-121.7693394518978,50.53660517605232],[-121.78490768399108,50.530582172532675],[-121.78457940478516,50.51688907243066],[-121.80697368449093,50.51730930594164],[-121.82239703805843,50.505905799693224],[-121.83195774389011,50.48783058196848],[-121.85492943921457,50.47189196400465],[-121.86243253319742,50.46088489460861],[-121.85499883822416,50.44995822574906],[-121.86832445754636,50.436685098616145],[-121.86530262351151,50.427520621646664],[-121.88311958008202,50.41933245827396],[-121.91949385666874,50.41908560778788],[-121.92924559402857,50.40816704586498],[-121.95503998322705,50.401307351185345],[-121.96840525068302,50.41732372441803],[-122.01515140639692,50.41437906273872],[-122.04296439302071,50.4211004688226],[-122.04695595366246,50.431225390204425],[-122.07296789296558,50.425323430705326],[-122.09311638014186,50.433231305915434],[-122.11914122739884,50.43278394663732],[-122.13129640080344,50.42680213860066],[-122.11799557801481,50.4161280681231],[-122.15480509914242,50.37622591631576],[-122.14541934733981,50.36043152498141],[-122.16740236785083,50.34648532613945],[-122.17240818316408,50.33556001119661],[-122.19219627391773,50.33929282106634],[-122.23429582116285,50.32468896459096],[-122.24939169190014,50.30561482671808],[-122.23805829343974,50.28765128745688],[-122.2434532119933,50.27351065357641],[-122.26299423163579,50.25897294457661],[-122.29570553700357,50.25385628417543],[-122.30163009329088,50.229787286784706],[-122.27495590293,50.22442455796733],[-122.27795120416424,50.203316476826025],[-122.30310842044594,50.19858584675229],[-122.31625116355197,50.18712021616655],[-122.31355319028752,50.17230916283955],[-122.29832096595393,50.173745008334365],[-122.28625880546016,50.15247916141524],[-122.25844006319265,50.12344431007174],[-122.22601601545807,50.12622300832098],[-122.22991522865198,50.11051206971429],[-122.17601602038843,50.1095927230407],[-122.15321760917134,50.11444164200884],[-122.11636732115254,50.107311729794226],[-122.09592233972194,50.1247475997114],[-122.07006993723608,50.1263701322907],[-122.05696731518738,50.10941596701138],[-122.0236312700526,50.085840471547336],[-121.9811774897997,50.08007353280463],[-121.9593924193798,50.08469144706474],[-121.9199063086321,50.071762852282085],[-121.91036864267403,50.05477301230744],[-121.89580230551168,50.04964998716786],[-121.85091021316742,50.05274993938098],[-121.84939080300482,50.075296355730394],[-121.8011968399624,50.08514745370253],[-121.79362151349727,50.09002396528457],[-121.75876280349085,50.09196251262882],[-121.71457896512857,50.08620817117932],[-121.70266746713799,50.074947158243546],[-121.66626607834645,50.08080475284633],[-121.66124885540161,50.06497188783156],[-121.635635765221,50.05757086376881],[-121.60975134458276,50.04188198106048],[-121.59013256224411,50.049588591585376],[-121.54268209552515,50.05240793208374],[-121.54210692180143,50.05238788010108],[-121.31532813930744,50.05246633438642],[-121.30874517170126,50.0672970729361],[-121.31698171649735,50.08241479488072],[-121.30756845070394,50.103307238828016],[-121.31974190847465,50.1155071502878],[-121.32132902289322,50.12686742819517],[-121.29915586135115,50.13390174197383],[-121.29324832012514,50.15063050383852],[-121.27911642741293,50.15651281736877],[-121.24817964104281,50.14537679619372],[-121.23255208642313,50.17146398294058],[-121.21943050401272,50.17935567207335],[-121.22030518298774,50.18899131058044],[-121.1910037657742,50.189696688528954],[-121.14558595370929,50.19977707873522],[-121.14031733582723,50.22721568211138],[-121.09972009934718,50.2268582635622],[-121.09117961985113,50.227139782038336],[-120.99955238451722,50.227742755194946],[-120.97007485488632,50.22785934229126],[-120.94492204802395,50.252641194655396],[-120.94712354708393,50.26468270015125],[-120.96607580571903,50.272949643321056],[-120.94242170707297,50.29273027039531],[-120.93979807651829,50.31036453442705],[-120.91441050274034,50.313651555801286],[-120.90316571036824,50.34178439058233],[-120.89010480498041,50.36289574976881],[-120.90282158618385,50.39085484159767],[-120.93492854673651,50.41659569332865],[-120.95741346184623,50.416834527879715],[-120.95833601371889,50.38791051750289],[-121.07338678353318,50.388537844398776],[-121.07136929820467,50.43174247677282],[-121.14080765074553,50.43250986829652],[-121.1387316504382,50.49094555070621],[-121.11930095467629,50.49128075253459],[-121.11972724074326,50.52014391000317],[-121.13805066677844,50.520180999219804],[-121.13835282222851,50.53498253289934],[-121.23481790237206,50.53420186218583],[-121.23446855493239,50.54958252833269],[-121.28795021375252,50.54486042416613],[-121.29678134622704,50.55550207142965],[-121.28476418275332,50.56182990918388],[-121.24950222317743,50.56291910499906],[-121.20809862374598,50.568925900401005],[-121.20935728875446,50.57800399565429],[-121.1285554731367,50.58075130043723],[-121.09629071051755,50.57935065556862],[-121.09709471935463,50.56397538555935],[-121.05080137062043,50.56366684866216],[-121.05030923586533,50.53288914128745],[-121.0265378266268,50.533198384891406],[-121.01735066197583,50.548519972937385],[-121.00921711458372,50.575791543624405],[-121.05287231458799,50.59085291332623],[-121.06476116563748,50.60073431235006],[-121.05211076572253,50.614296110491836],[-121.03995472948039,50.63745189734955],[-121.04902491737978,50.65134164261665],[-121.03915817923041,50.66555090311681],[-121.01100320847533,50.67753343296322],[-120.90956908207323,50.66202259547781],[-120.91082462670296,50.74374188889629],[-120.95735640112956,50.76891178052805],[-120.9508003299923,50.775545251521876],[-120.99270180031459,50.80539067095627],[-121.01443290885278,50.83754658399612],[-121.04982269833485,50.83797877034451],[-121.04903656050384,50.924879987476814],[-121.07107758539125,50.924854087893564]],[[-121.54612397107546,50.05691342931653],[-121.54528653176129,50.05705104729199],[-121.54408223561826,50.05489517327362],[-121.54454125271536,50.05473297997639],[-121.54612397107546,50.05691342931653]],[[-121.34192663783601,50.449119766174675],[-121.34207250604557,50.44513019216733],[-121.34499725200145,50.445251907418644],[-121.34500945529186,50.4492057757873],[-121.34192663783601,50.449119766174675]],[[-121.57368022341522,50.17316983472719],[-121.57553128791308,50.17078743197536],[-121.58205317076944,50.17118801057462],[-121.58094425215701,50.17552162401221],[-121.5783757658754,50.1725202661824],[-121.57368022341522,50.17316983472719]],[[-121.60009399971699,50.25211504017991],[-121.5960007448199,50.25043646648875],[-121.6016015020511,50.247309383863445],[-121.60319296122209,50.24879636835379],[-121.59963508994835,50.250301358190896],[-121.60009399971699,50.25211504017991]],[[-121.35713671670881,50.41597999715688],[-121.35886301008361,50.413608833620515],[-121.36321873454723,50.413339870590626],[-121.36148134985163,50.41581846345323],[-121.3580733976805,50.4168781838913],[-121.35486540224369,50.417776895366146],[-121.35421734120918,50.41616757637168],[-121.35713671670881,50.41597999715688]],[[-121.31597193945433,50.42135727018972],[-121.32133011958771,50.4234935748006],[-121.31595380751956,50.42666385852099],[-121.31597193945433,50.42135727018972]],[[-121.33605073558036,50.430534257990175],[-121.33574128404025,50.42563492939683],[-121.33864733162964,50.42543419933234],[-121.3386021583575,50.430564718622534],[-121.33605073558036,50.430534257990175]],[[-121.5785026089763,50.156988822477544],[-121.57260535463917,50.15700817953844],[-121.57359102330321,50.15150584829098],[-121.57876307461778,50.15131166570151],[-121.5785026089763,50.156988822477544]],[[-121.58704712630797,50.23401246861714],[-121.5970368988498,50.2340479388245],[-121.59699039229866,50.23738611721174],[-121.58952520883504,50.240022854088025],[-121.58704712630797,50.23401246861714]],[[-121.67679863460737,50.370322173799806],[-121.68393208246803,50.36851787676502],[-121.68340306232989,50.37769526365326],[-121.67606913398653,50.377877503278356],[-121.67679863460737,50.370322173799806]],[[-121.56432611450221,50.130529755150384],[-121.57309972153499,50.133718269239395],[-121.5742316984093,50.14273082642359],[-121.56818691486991,50.14276170262291],[-121.56432611450221,50.130529755150384]],[[-121.3993339791629,50.26695316125414],[-121.39336226573495,50.26198198955586],[-121.41118922704987,50.25993175434343],[-121.41254216806225,50.2628027126586],[-121.3993339791629,50.26695316125414]],[[-121.31139258843261,50.46137973884435],[-121.32006505592564,50.46572441523807],[-121.31281911290537,50.47230970686555],[-121.30360710880646,50.46824094427042],[-121.31139258843261,50.46137973884435]],[[-121.52193013297048,50.14212528786493],[-121.5286996541493,50.14627534199289],[-121.52116311982022,50.15030176615003],[-121.51103600982101,50.151271680083894],[-121.52193013297048,50.14212528786493]],[[-121.24073410536644,50.36073431147266],[-121.23370686753584,50.36916118627346],[-121.2336355937944,50.354596718288335],[-121.24073410536644,50.36073431147266]],[[-121.57542722491834,50.19620694198263],[-121.5721314753691,50.182312579929935],[-121.58105831679025,50.1863512578262],[-121.58144909255572,50.19304003318349],[-121.58303883261577,50.19655716495048],[-121.57542722491834,50.19620694198263]],[[-121.72179698298962,50.42841299087765],[-121.70430542181683,50.4286681042429],[-121.72205402485368,50.42184952753678],[-121.72179698298962,50.42841299087765]],[[-121.55598529381004,50.1053168602681],[-121.56336972163962,50.10539213044636],[-121.56571734427379,50.11804057213531],[-121.55516091238887,50.12077219584244],[-121.55606081105033,50.1107951573242],[-121.55304679549316,50.11089725166585],[-121.55265490447441,50.1053539987006],[-121.55598529381004,50.1053168602681]],[[-121.73679591787801,50.50711886559185],[-121.72648952740819,50.498048069947785],[-121.72854522417751,50.490658614536166],[-121.74250285502914,50.490923760018056],[-121.73679591787801,50.50711886559185]],[[-121.61493821898324,50.29929862118391],[-121.61441504102126,50.292359880883524],[-121.63827473021429,50.29338345521688],[-121.64023370508242,50.30025351412917],[-121.61493821898324,50.29929862118391]],[[-121.66273833071237,50.34648188974346],[-121.6447403041051,50.34602027585212],[-121.64581564847936,50.32779326121885],[-121.65369101592837,50.32718737944003],[-121.66273833071237,50.34648188974346]],[[-121.37215419559665,50.61957764455659],[-121.38463544270572,50.605022221029685],[-121.39590923111749,50.619502113519324],[-121.37215419559665,50.61957764455659]],[[-121.70672272382198,50.447033954192875],[-121.70230313448887,50.45188655816104],[-121.69449493697812,50.449515261942175],[-121.69732617419633,50.443184795129895],[-121.70007763301436,50.43750775875548],[-121.72511781387223,50.44266832952389],[-121.70672272382198,50.447033954192875]],[[-121.64563658908634,50.81911071871536],[-121.65940666800715,50.81024036125046],[-121.6703648961594,50.82324980414742],[-121.64563658908634,50.81911071871536]],[[-121.27546222457187,50.66858792108171],[-121.25272387207202,50.67078352757291],[-121.25249535453989,50.65674319169528],[-121.27546222457187,50.66858792108171]],[[-121.60399201377403,50.26209925711368],[-121.6158150228886,50.27682986303601],[-121.58855814805631,50.276759223802145],[-121.58634466006785,50.26554554857327],[-121.57923960070185,50.26564850651137],[-121.56539738236148,50.267248490124565],[-121.56502210360036,50.25649696122018],[-121.57922987983737,50.25661710290143],[-121.594149398985,50.251401648702796],[-121.60399201377403,50.26209925711368]],[[-121.36688994802283,50.851949933058364],[-121.35001033487563,50.85171421928864],[-121.3556233657936,50.834751839506254],[-121.36709857499348,50.830590267868594],[-121.39591947573004,50.83788535999838],[-121.36688994802283,50.851949933058364]],[[-121.66269154473108,50.34489575459143],[-121.65023343189361,50.317378248980155],[-121.64156191639974,50.29799189190798],[-121.6427402449066,50.29384926236942],[-121.63322040901853,50.291435158067856],[-121.6156165713973,50.27491144019116],[-121.61942783402269,50.27004401752155],[-121.63531860828144,50.27403957974875],[-121.65045579411344,50.297676164489644],[-121.6562311497527,50.31694704088969],[-121.667180588655,50.33908513050462],[-121.6789011390845,50.3422873149742],[-121.67353934543702,50.35459880015988],[-121.66269154473108,50.34489575459143]],[[-121.47628741728666,50.88977969863493],[-121.44531361383,50.88953329452602],[-121.44517462372934,50.87864040863464],[-121.49894276487632,50.87910649098444],[-121.49844493628113,50.86962962937475],[-121.52237174332615,50.86956096626138],[-121.52298981578144,50.89002407369082],[-121.47628741728666,50.88977969863493]],[[-121.59163736294852,50.82604332282064],[-121.56619738512374,50.82608779244382],[-121.5603650709551,50.80818363300178],[-121.57471761276952,50.79705466409635],[-121.60595413225937,50.79724900359803],[-121.59163770452808,50.80804343714668],[-121.59163736294852,50.82604332282064]],[[-121.57893243529519,50.23811547413406],[-121.55846352933752,50.248272597526515],[-121.55343374917938,50.22600402589806],[-121.56291370129577,50.2260138039524],[-121.57392035070022,50.202385959236736],[-121.5685946114559,50.20249833243219],[-121.56848824059104,50.19955627695233],[-121.57342660124198,50.199526346147316],[-121.58573250006059,50.19975273838676],[-121.58634183112886,50.1980996236164],[-121.58343823881026,50.18729843388879],[-121.59634571951749,50.18746352417944],[-121.58973715820338,50.19800852908544],[-121.59067503278868,50.21426579502876],[-121.57991105116247,50.21836606213384],[-121.58120018430081,50.23629996352821],[-121.57893243529519,50.23811547413406]],[[-121.33712182576497,50.60889830633698],[-121.32750895201515,50.62878280715286],[-121.32749009107475,50.648037928329366],[-121.31203740438788,50.64736685990289],[-121.31070844055755,50.634132547526455],[-121.31820207673029,50.62068481740172],[-121.31555471618945,50.610149420060566],[-121.30398391163435,50.60184586680856],[-121.31022090931,50.58979811159148],[-121.33464586275133,50.589482615207686],[-121.33712182576497,50.60889830633698]],[[-121.32674335074223,50.818260740035015],[-121.3053338979718,50.816390842412304],[-121.3116754406293,50.78028425829502],[-121.33804618907294,50.780556194922],[-121.3389087624795,50.812272110808955],[-121.32674335074223,50.818260740035015]],[[-121.26834079235145,50.51436956648813],[-121.23940611052062,50.50922121218083],[-121.24087961739386,50.476148704793395],[-121.24783364075607,50.45440401510301],[-121.26794154674312,50.46484836021438],[-121.28927893585474,50.46321335665826],[-121.29704721284868,50.47327396457681],[-121.29423022513893,50.49162637166597],[-121.28352103970107,50.50587697266748],[-121.26834079235145,50.51436956648813]],[[-121.24330283334949,50.315471784684675],[-121.19922369469336,50.307385649915055],[-121.196448194605,50.30224645024095],[-121.13805893571951,50.28729527864281],[-121.143951181753,50.26410615242858],[-121.18568526741501,50.26437899960692],[-121.2104026747805,50.271790802324894],[-121.21078296177869,50.28263800391624],[-121.24420470763198,50.28268754660482],[-121.24330283334949,50.315471784684675]],[[-121.3281180490541,50.72785835418427],[-121.34427777178314,50.73289621141286],[-121.34430470142044,50.756939541327654],[-121.31124380441807,50.75662821944456],[-121.31215530321813,50.734968413274544],[-121.28200423884108,50.73459867299791],[-121.28079917598292,50.74430605937043],[-121.26072849649313,50.743416964517245],[-121.24203469278609,50.75235250667718],[-121.22510929188732,50.744973709859536],[-121.2244173541712,50.73658896982389],[-121.25708699695595,50.73655309881224],[-121.2806043822479,50.70509997574767],[-121.27964865858532,50.692940201667255],[-121.31540849928439,50.69241817059718],[-121.31811987333558,50.66575453228257],[-121.34958843852358,50.66620712091286],[-121.35907552885692,50.66236698840159],[-121.4149915682596,50.65832555210535],[-121.41042637978096,50.68646026225947],[-121.41316785242736,50.7009042893068],[-121.38563090542686,50.702991951714274],[-121.35515203906868,50.72785276257144],[-121.3281180490541,50.72785835418427]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.52709426665838,\"lat\":50.44983262854352},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933037\"],\"csd_name_en\":[\"Thompson-Nicola I (Blue Sky Country)\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Thompson-Nicola I (Blue Sky Country)\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.58634466006785,50.26554554857327],[-121.60399201377403,50.26209925711368],[-121.594149398985,50.251401648702796],[-121.57922987983737,50.25661710290143],[-121.57923960070185,50.26564850651137],[-121.58634466006785,50.26554554857327]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.58989777122895,\"lat\":50.25941146532799},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933853\"],\"csd_name_en\":[\"Nuuautin 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Nuuautin 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.27546222457187,50.66858792108171],[-121.25249535453989,50.65674319169528],[-121.25272387207202,50.67078352757291],[-121.27546222457187,50.66858792108171]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.2602271503946,\"lat\":50.665371546783305},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933876\"],\"csd_name_en\":[\"Upper Nepa 6\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Upper Nepa 6\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.60226573806622,50.853883460148836],[-119.60513459153961,50.85393492096201],[-119.61862291426208,50.84671713189246],[-119.60845245452818,50.84626844825896],[-119.60226573806622,50.853883460148836]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.6095474692819,\"lat\":50.849494500081356},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933892\"],\"csd_name_en\":[\"Stequmwhulpa 5\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Stequmwhulpa 5\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.34750007263523,51.03888147326959],[-117.35357020902315,51.054262139153096],[-117.37155090156553,51.05968967037688],[-117.38377516876098,51.074726660105206],[-117.37451066689674,51.09254893432627],[-117.38020130394315,51.10376999401569],[-117.40435479412484,51.11106038027494],[-117.45743834516422,51.10464498998474],[-117.45271176130838,51.074401934828884],[-117.47806424104962,51.057267902023725],[-117.50431832152893,51.06013551830107],[-117.52151374287139,51.06774523574205],[-117.54546576484077,51.09029623674657],[-117.64821698566031,51.06890196524722],[-117.6807990042732,51.076753260766914],[-117.70841639646467,51.07450725116248],[-117.71517955653424,51.08517043188039],[-117.67930467997074,51.10916357407171],[-117.66970002885517,51.1291379360082],[-117.68008148751572,51.14715726720216],[-117.67106064907983,51.167155019093485],[-117.69487911913374,51.17991790524446],[-117.7077176951842,51.18133380828237],[-117.7197943793269,51.22773424327712],[-117.72841481802347,51.24156741652155],[-117.75572837483013,51.2527102024788],[-117.72211237283302,51.274525065632794],[-117.74613703671166,51.2873829061436],[-117.74584463936378,51.30254084940718],[-117.73055826410254,51.31484888394787],[-117.75451119274175,51.32019382215057],[-117.76817852822695,51.32994658781052],[-117.76854380417296,51.34184086509545],[-117.80492289297797,51.34519047360745],[-117.80393185388142,51.356364736143604],[-117.82869990163024,51.36366261403621],[-117.83969550413121,51.37159378774063],[-117.83506871799881,51.387575620926526],[-117.85881918591576,51.390423055307785],[-117.86522983336073,51.401779547664155],[-117.89208597278399,51.42605824163287],[-117.91188621801503,51.42651544760982],[-117.92285774600161,51.453196021796785],[-117.93003994395343,51.451907732367566],[-117.97092459831106,51.47717332870423],[-117.98858038800034,51.499876269539975],[-117.97725031015625,51.50979936893631],[-117.95991036617839,51.51020883370732],[-117.93944431281051,51.530941643038105],[-117.98139829223348,51.57457541886958],[-117.99011641923533,51.58005460401292],[-117.98135533089498,51.59258211844316],[-117.9865473148539,51.60754278878732],[-117.97371141676516,51.639326388870884],[-117.94112578825519,51.648199888544646],[-117.93072834889348,51.66516514620893],[-117.94091426269912,51.68340720019753],[-117.92307543449218,51.70158995739971],[-117.92681298808273,51.72367066176858],[-117.95849773165612,51.72564250079606],[-117.98165496290135,51.73950047794297],[-118.01368407577134,51.74467829131538],[-118.02449547369453,51.72534791983611],[-118.07482354364627,51.7255731614868],[-118.09467930156971,51.70437944793061],[-118.11208948439356,51.710157916734865],[-118.12554634726746,51.72390210199941],[-118.12128882303438,51.74515307820205],[-118.13035379235853,51.778971483115285],[-118.16079218015359,51.7799111669364],[-118.1898428349104,51.79146531850443],[-118.17596892092527,51.80294945348348],[-118.17643500695776,51.81219364300755],[-118.15124484590514,51.827446120596996],[-118.13982951645553,51.85541210467555],[-118.1487285168109,51.863474270191155],[-118.12404190319471,51.88908177089663],[-118.12556943537726,51.894317755728174],[-118.15619070583597,51.89815892753634],[-118.17504180119107,51.907282792944464],[-118.16830719572533,51.91792071146595],[-118.17436360763372,51.9372055550288],[-118.19462034210206,51.95142585381595],[-118.19552238410735,51.96370668714153],[-118.21864778524909,51.975185121544165],[-118.26154389085373,51.96413135067283],[-118.27529694515184,51.964659225707166],[-118.28579821299701,51.98270977327012],[-118.33067716722233,51.99252772610598],[-118.35697639300606,51.99193123874525],[-118.36080183113296,51.980264781765804],[-118.39232923922866,51.97992214672753],[-118.39805694055102,52.0014706414885],[-118.39160846774539,52.013614372186304],[-118.39724626156811,52.02936225856538],[-118.45589420511169,52.06323014606937],[-118.44034518482613,52.075015097941815],[-118.43900939157471,52.090817673240146],[-118.4449121044877,52.12757279665755],[-118.44552927360154,52.15213435566779],[-118.45648531933169,52.16735335849516],[-118.45349806269013,52.1864814099681],[-118.4784823411374,52.21178046620319],[-118.4644054509403,52.22401868987265],[-118.52652486877892,52.26166414157744],[-118.54052473561096,52.27299510773035],[-118.56352160795868,52.25838177653877],[-118.55492291080147,52.23995063225195],[-118.56925734500926,52.224529847487354],[-118.58241469667689,52.193001603147486],[-118.6286300394054,52.18269166672604],[-118.64008122226434,52.16955216580092],[-118.66630768380847,52.164108737911754],[-118.6762895972098,52.15146311063851],[-118.6941461821924,52.166661202267676],[-118.71606235300881,52.161344260022496],[-118.7298953502412,52.16519390963414],[-118.73349853255765,52.17643311292773],[-118.75197844802769,52.18515182751224],[-118.79283141657397,52.17643727892587],[-118.80320419853614,52.17722257400103],[-118.83366979070992,52.164311897583474],[-118.83778310316927,52.1461557149776],[-118.86668975957167,52.10241775850007],[-118.85455329833893,52.08801607175625],[-118.87280812185531,52.07601766827151],[-118.86860145240733,52.06781999054017],[-118.8482252787196,52.058144718881884],[-118.85593896296875,52.04563434865206],[-118.9093943276625,52.03619044564116],[-118.91948808112289,52.03950077526734],[-118.94425761882322,52.02619783672693],[-118.94939046743178,52.006844926752215],[-118.97192049278085,51.98814246550004],[-118.97185248201436,51.977219586851376],[-118.93058918767697,51.966624797719675],[-118.9160126010718,51.965653414871326],[-118.89102988450458,51.954074183777315],[-118.9085192825515,51.928060240006324],[-118.9443170532216,51.927548631367614],[-118.97660297930742,51.93456253196798],[-118.98775403623618,51.93130247601258],[-118.96595103459693,51.88711097535229],[-118.97262124845095,51.87283547531334],[-118.99013456256455,51.86455306858364],[-118.95028877691648,51.84948141682526],[-118.94966395122009,51.831091947227904],[-118.96503369463477,51.824340814141834],[-118.9613926496334,51.81057019801279],[-118.94207143819224,51.793319262088744],[-118.92409896300417,51.794311622802404],[-118.90599980847922,51.78617118920445],[-118.88884886056012,51.7858100611985],[-118.88681284570195,51.7750449336348],[-118.8973962286903,51.76345104880111],[-118.88550715385679,51.73310306642999],[-118.9160251747684,51.719188396401194],[-118.92386926889019,51.68956225211715],[-118.90801212401182,51.67040195286949],[-118.90369779020921,51.65674025187318],[-118.88394563248839,51.64419352660929],[-118.86375064007775,51.64579109834614],[-118.82581105926387,51.634819099869674],[-118.8177043004677,51.62664166789373],[-118.81739507058563,51.589099736453356],[-118.82845282637938,51.58284242219041],[-118.82849170622346,51.550767775861615],[-118.83232494835455,51.53105003118391],[-118.8110114680702,51.52399676660786],[-118.76839116267433,51.52136843738617],[-118.74208204352477,51.528673540154436],[-118.72779779552862,51.52398673143172],[-118.7137992199034,51.510729912593575],[-118.69316682393752,51.504209613306756],[-118.71487464462496,51.490174640476084],[-118.70394024342461,51.4752649225759],[-118.67521940851866,51.46089749435367],[-118.63253735056647,51.46376294181544],[-118.63318849218433,51.44561205316492],[-118.6142397164195,51.44158397980283],[-118.60871085720336,51.42296771319554],[-118.6168379370873,51.409338327001905],[-118.58153785141016,51.39008736770087],[-118.59066470063208,51.37201431383442],[-118.6165552686062,51.36297442832778],[-118.61141929773342,51.339669986568325],[-118.6000035892796,51.31009100421561],[-118.58576793654316,51.299473549339645],[-118.56013531979055,51.29920970504864],[-118.54971100209248,51.279164968281414],[-118.55830007240087,51.26549114070931],[-118.57683658321817,51.25189919736325],[-118.57472408845851,51.23930033508592],[-118.54423852640848,51.21415026483755],[-118.56805131016024,51.20244043939914],[-118.5659271610459,51.19453011705417],[-118.53508540986728,51.17761607643799],[-118.50447672796662,51.17913726096341],[-118.46943179946392,51.17051308444874],[-118.47197917708773,51.156387532898414],[-118.49157562668142,51.14691690139585],[-118.49042726340399,51.13606480009947],[-118.47431880266086,51.12663179755358],[-118.48129900243153,51.10181746013434],[-118.46267139691433,51.087080331646334],[-118.46275732917522,51.079037778770925],[-118.43222163000955,51.07246733743527],[-118.4211366162076,51.06277775992549],[-118.43472972904517,51.05517957585571],[-118.42570053991774,51.01624733983301],[-118.41911811117093,51.00478164963128],[-118.40355033552237,50.99815049373207],[-118.3891042170664,51.00704302265362],[-118.36092688749385,51.00872086179404],[-118.34593007180196,50.99878640036818],[-118.3545825241322,50.98737329009902],[-118.35335005985733,50.963357147786056],[-118.33287901662843,50.94770916279646],[-118.32385664928591,50.91959192644781],[-118.31444420681555,50.90491596483082],[-118.31442671730173,50.88836758013088],[-118.28503346812694,50.88959903034908],[-118.28222999785729,50.878509875481626],[-118.29428161423951,50.86440291034162],[-118.28630427600383,50.84928336187268],[-118.26836692253683,50.838536067035974],[-118.27601965338616,50.82396666715566],[-118.25227082015242,50.782109524199534],[-118.24189769910171,50.75519283945533],[-118.22694705619926,50.743381110546316],[-118.205853691659,50.738925062599016],[-118.20886379854139,50.713368690497916],[-118.20066297232347,50.698946463758986],[-118.2072802831721,50.69028161896898],[-118.16850181076126,50.68337668186298],[-118.12326152850065,50.681227620171356],[-118.07659853247728,50.69325503327228],[-118.06960104442403,50.68839314877893],[-118.06837613661658,50.66654330868784],[-118.03933361056374,50.663284829695755],[-118.0138154431542,50.65312027348734],[-118.00510667896417,50.6296916351627],[-118.00765106058596,50.60906835160001],[-117.99433934043796,50.54810117898141],[-117.97792310440295,50.53284598226542],[-117.90286126567713,50.528231126467865],[-117.85697940448885,50.52785843494135],[-117.84988818030077,50.54238753057397],[-117.81836056281747,50.54100104656078],[-117.79320565453658,50.55057992203411],[-117.74067128082996,50.554376071143565],[-117.70324484290656,50.547729066247996],[-117.67110778781732,50.532434216444706],[-117.64472528133055,50.535401649264614],[-117.63769246971016,50.54860111019885],[-117.61585940162759,50.543700002691295],[-117.60543875675768,50.52343624428712],[-117.5820068596675,50.50299184361609],[-117.57097930031634,50.504852949093745],[-117.54941956877101,50.496941626823606],[-117.55022235277025,50.48419864504046],[-117.52332804332195,50.47314515409196],[-117.49973912642582,50.45714486830634],[-117.50160728862318,50.46994640488516],[-117.49435268679066,50.488988892955675],[-117.47327482495196,50.49448508277729],[-117.45103119520402,50.493525625687326],[-117.43589674571713,50.484368438524754],[-117.36594500484163,50.486441522088136],[-117.34272585289237,50.483438724102044],[-117.32119840019867,50.487318231775134],[-117.28136003741788,50.50469494912752],[-117.27809076208493,50.511187445533714],[-117.24384554388037,50.51947093453329],[-117.24503559820454,50.5350808001961],[-117.30679805179334,50.57744720001711],[-117.2733670381746,50.59780209178765],[-117.26783257373785,50.61356761820015],[-117.22959067412212,50.63211363365583],[-117.2297881699594,50.64827688566516],[-117.25431839157338,50.65447056489899],[-117.27369102075023,50.67083190175403],[-117.26342436116177,50.69254623903545],[-117.2664131292319,50.71988753338806],[-117.25375973768766,50.730533710775866],[-117.25208262594658,50.742011897266934],[-117.2758524568269,50.74418703090271],[-117.28475710326025,50.737423244529495],[-117.32310516538573,50.72417896870582],[-117.35333373361853,50.720896060556036],[-117.36693704901077,50.708085146049335],[-117.39288267739667,50.70914395718464],[-117.39228278752341,50.72208879846691],[-117.3819986431098,50.74615228035522],[-117.40565575984738,50.77931779240595],[-117.43087936051698,50.78492096869654],[-117.43268608758461,50.796832532338364],[-117.4553479374366,50.79767186421721],[-117.46679317660104,50.81119153689901],[-117.45362107536951,50.82908431348343],[-117.46968884297654,50.86621470512485],[-117.49018442547515,50.881186459407964],[-117.46728691805805,50.902411801208714],[-117.45912602855141,50.899331809701685],[-117.42611341638651,50.90396618170237],[-117.41776258948632,50.92324458533407],[-117.4382447922697,50.936669502194654],[-117.42989008209697,50.94826700308511],[-117.4114715913269,50.95934705236889],[-117.39780181533717,50.96119556530647],[-117.4018052939041,50.97881249073577],[-117.38778758478993,50.9908540494177],[-117.39019579859172,50.999796201161566],[-117.35891025945547,51.0222367890254],[-117.34750007263523,51.03888147326959]],[[-118.20175079808142,51.063073143056684],[-118.17853108022767,51.063180050814985],[-118.17745400651452,51.0491509790718],[-118.206311648578,51.031174534273504],[-118.21295394699747,51.02036833437132],[-118.20681242599328,51.010387419265676],[-118.19109747004464,51.00481797692268],[-118.15337527237139,51.00471973447322],[-118.14197321605074,50.997108916475554],[-118.14568770394177,50.96113009556371],[-118.13942124343086,50.95077089795992],[-118.13556621068109,50.92600069018359],[-118.15472597232501,50.93627120578182],[-118.17136311436307,50.95804398533112],[-118.19571485174968,50.95189950872822],[-118.20591680497486,50.959993211063406],[-118.21245468359584,50.9826221925228],[-118.24150418873161,50.99873750843613],[-118.24477805275063,51.03272023584967],[-118.22933775360322,51.03396191124372],[-118.22343875111898,51.05565722404549],[-118.20175079808142,51.063073143056684]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-118.15830763735006,\"lat\":51.30802615602062},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5939\"],\"cd_name_en\":[\"Columbia-Shuswap\"],\"csd_code\":[\"5939023\"],\"csd_name_en\":[\"Columbia-Shuswap B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Columbia-Shuswap\",\"csd_name_fr\":\"Columbia-Shuswap B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.77758605017944,52.00053340744154],[-125.80218383011504,51.979685815584055],[-125.81464678908094,51.975418499110255],[-125.85591827696226,51.977365009581014],[-125.88081254096393,51.963397733385506],[-125.87062318854554,51.910876617369276],[-125.88021185066387,51.89242436450598],[-125.91437244050444,51.890152281516244],[-125.91930695362068,51.84235823074658],[-125.92705651667855,51.8177789169623],[-125.94033376663153,51.80551635472132],[-125.97164675207266,51.78881610178768],[-125.95017146704467,51.77557233574383],[-125.94875773182191,51.762348870565205],[-125.96216424299891,51.747364178983865],[-125.97972990428744,51.74183165061094],[-125.99730286292635,51.728354020139776],[-125.9888998622123,51.71321492224756],[-125.99845305225355,51.70359966062933],[-125.99117837729854,51.68829616960127],[-125.95518426309745,51.692210883926194],[-125.94152450602267,51.67388803113133],[-125.94965998695295,51.66480335180139],[-125.950678136005,51.648435521081616],[-125.92305766456596,51.62870449218657],[-125.90821756497768,51.62571556622317],[-125.91032136192064,51.614332319219024],[-125.93242410027497,51.595598754793755],[-125.98179837797277,51.58068623543117],[-126.01232655097549,51.59078379224464],[-126.02812905514824,51.5999422339915],[-126.0507066919843,51.592595270538084],[-126.06255715077809,51.58189959619022],[-126.05301754589118,51.565557651672975],[-126.08588067747041,51.54090490947878],[-126.08183767502616,51.528984633737046],[-126.11798197184117,51.51832003631812],[-126.0990316364203,51.475106350701495],[-126.10663557962661,51.462187233241224],[-126.14966459794802,51.46061625158526],[-126.17240350370261,51.435854806082396],[-126.19029910586455,51.43659755873704],[-126.21711654089233,51.453971746643276],[-126.2509578756368,51.45197674955854],[-126.29272469955596,51.45414587737287],[-126.30716962385519,51.46282054810293],[-126.3245057735572,51.456745612095794],[-126.34562801995276,51.46205361120064],[-126.36304742165835,51.45359135135004],[-126.37942045628758,51.46495524228284],[-126.3889862770458,51.48166409204649],[-126.41887495179536,51.478326332170795],[-126.43451186321015,51.48676100105367],[-126.45115164318906,51.4764410486329],[-126.48175777992813,51.44247486964171],[-126.50715159944646,51.42603806442953],[-126.52839524081666,51.41821054882066],[-126.556380441588,51.42023258645951],[-126.56722186752005,51.40755715340597],[-126.58542317620751,51.40630026389568],[-126.61611354039402,51.41448043834573],[-126.60636352801305,51.42229533067269],[-126.61992640014614,51.443444912429975],[-126.66454995998427,51.45418986713297],[-126.6797310246996,51.46931479199351],[-126.70437003420287,51.47798942307406],[-126.70735579295561,51.46025048748113],[-126.72251547743085,51.446929550423654],[-126.72356746845765,51.43485654381505],[-126.69907057472359,51.40972759380616],[-126.71055137022371,51.3939256458806],[-126.70968283983487,51.37818390766117],[-126.7241582055576,51.361228488936845],[-126.72545645916489,51.34517327970446],[-126.750250528217,51.333313968295066],[-126.75195519550093,51.316842002455616],[-126.76405352233381,51.301295851624054],[-126.81018602844334,51.299058246836765],[-126.8406446865487,51.323011043552015],[-126.85542894020817,51.32248638523523],[-126.86903787603076,51.3055563742465],[-126.8921119425129,51.30674415110503],[-126.92377080188382,51.277885475542],[-126.92251483320818,51.242014230269724],[-126.95427659459497,51.23565983333954],[-126.97376965793646,51.240792801778355],[-126.997268399497,51.24074127562028],[-127.02642326809331,51.23048045487032],[-127.03720232030123,51.23304350111568],[-127.07347586131044,51.22960372041646],[-127.12085300812788,51.21897420070869],[-127.15510804241572,51.20719611586938],[-127.19454755690288,51.20402431418169],[-127.20805423795993,51.1971943362446],[-127.2182934507282,51.21215405915978],[-127.23498036668013,51.219406053027896],[-127.25566913192085,51.211370088358336],[-127.30351072098351,51.21339664979548],[-127.3234003870892,51.20924591616467],[-127.34285809489592,51.2180015578285],[-127.3605843276855,51.216251827416826],[-127.39100198581531,51.22850780979143],[-127.44281136773441,51.227669701903054],[-127.45290022622922,51.224481343899605],[-127.45682630701485,51.20433363265802],[-127.4928539580918,51.20155822426583],[-127.49519803650738,51.18904829289973],[-127.52416225138562,51.18622065849487],[-127.53506139057605,51.19753892464657],[-127.56654251895193,51.19707783492613],[-127.57674607701613,51.19069121805871],[-127.61079573063897,51.19154359204555],[-127.64880885671137,51.18350760644901],[-127.65986171906788,51.19054364282616],[-127.73823953080027,51.188722903043086],[-127.73530464054902,51.15951325146394],[-127.79288496981363,51.15617976779495],[-127.86239527986427,51.09670258530435],[-127.91785931337839,51.07633020523256],[-127.99283971911848,51.080989454540855],[-127.90816842222198,51.00023377983892],[-127.86727275928372,50.98481698507802],[-127.80832723583649,50.97207847746765],[-127.75584063267998,50.95817691020079],[-127.68180375900917,50.92303025707267],[-127.63034547321041,50.89487257177132],[-127.52906044378042,50.8577113328106],[-127.42622838103168,50.82797983445299],[-127.18472459551553,50.75896264134456],[-127.184909984668,50.68565347065801],[-127.18121707435282,50.65056914236069],[-127.16795304466187,50.628284359570806],[-127.14980440943202,50.62179470220449],[-127.09610729578334,50.62166687964185],[-127.0561403380159,50.6137229936188],[-127.00576665904208,50.6108188555237],[-126.95604905254903,50.58124535531578],[-126.9607290836858,50.595596944996274],[-126.94400120816692,50.604957165222146],[-126.90778056479662,50.59980528579283],[-126.88268578311643,50.56646877851037],[-126.790385263456,50.557724440682705],[-126.72751918802604,50.542007702396624],[-126.67448150005545,50.533237349376165],[-126.62017884786329,50.51055770180846],[-126.56666629701223,50.50220454073632],[-126.50001504874461,50.4999392393081],[-126.31954430903508,50.49895620619622],[-126.31099820548356,50.51808448436592],[-126.28049553470785,50.53251544322595],[-126.25059636197493,50.53464466907637],[-126.22809690433178,50.543154374059164],[-126.19161446275692,50.537301678829685],[-126.20224872338318,50.57277592915849],[-126.06187813631755,50.614439697265105],[-125.92669082015092,50.63391214552195],[-125.8742755477072,50.63398819357606],[-125.85968756510657,50.64112573574202],[-125.84850746903612,50.6211689816612],[-125.84625592976441,50.59830284094383],[-125.82782836879605,50.57369026053924],[-125.81431180337046,50.574668567969574],[-125.7989152699331,50.58791321486659],[-125.74043896310724,50.60512438051204],[-125.69308304933332,50.60293284977158],[-125.6628755701612,50.59633688001681],[-125.62164348034494,50.60251993400668],[-125.60521203186464,50.60936302871577],[-125.59760693210585,50.63412420462659],[-125.58278397498589,50.65690424528988],[-125.58545493165452,50.66741769823584],[-125.5616173428385,50.68454886548925],[-125.57570697492154,50.709520201674714],[-125.53758688001699,50.73508967694642],[-125.54901412374738,50.744205442634126],[-125.54991005411489,50.77410968734575],[-125.5231318712705,50.77988079469645],[-125.50323068078505,50.79422526762462],[-125.53046424497337,50.810726108414265],[-125.54395937580497,50.832934307531076],[-125.51113811408975,50.83714838179049],[-125.50489279254693,50.842941734302634],[-125.50340087528515,50.87581817167214],[-125.4970487445419,50.90067378664838],[-125.47143488124671,50.90995248842291],[-125.4431181373824,50.93064269125533],[-125.41156265035933,50.94382463486992],[-125.37453561915925,50.94072851887841],[-125.33830332445598,50.95182004963229],[-125.28520437760159,50.95929011347518],[-125.27197235917679,50.956802892184896],[-125.25277052316598,50.96273254916098],[-125.2547970207347,50.9882251546606],[-125.27403242009797,50.997300823599396],[-125.27997002788568,51.010721586465586],[-125.30896836130043,51.00702760398532],[-125.32190326158444,51.02594869791138],[-125.32507918239936,51.045933845240675],[-125.28356204769614,51.04756431691292],[-125.24289831000658,51.06422050740734],[-125.2530515633491,51.082830746867344],[-125.29669077476022,51.103468280902135],[-125.28680779204828,51.11916848476052],[-125.2864976223506,51.13153460596289],[-125.29842866767294,51.147273675217534],[-125.26233850181919,51.164705294385165],[-125.28264808515803,51.16881522832554],[-125.2974294582506,51.18125457720137],[-125.30544537314407,51.19694329527266],[-125.33151444172492,51.19974378643625],[-125.32243942591944,51.225556574912595],[-125.32864381144702,51.24964934165681],[-125.29477874566466,51.27024494131593],[-125.2839986629721,51.28297736197837],[-125.22512010998994,51.30185761876673],[-125.20366249196893,51.3231859023937],[-125.24645912606485,51.36309514296728],[-125.26666799255864,51.37685835117752],[-125.31458138912699,51.38984985810303],[-125.33856416051238,51.4090546806275],[-125.3413706776126,51.4263278853025],[-125.32693638093639,51.45364512085922],[-125.31163352614317,51.45939880668658],[-125.34520140872091,51.47890895614666],[-125.33783983553307,51.48533618197484],[-125.28956318517386,51.475600352361205],[-125.27866040429069,51.48652638088329],[-125.28899033051033,51.504829285405435],[-125.25973308849369,51.51177756993779],[-125.25229175902633,51.52687237254429],[-125.26676831789153,51.54066457314678],[-125.26323318995395,51.552143976943746],[-125.23564235238067,51.561332534358456],[-125.23789230389853,51.572068734946896],[-125.2689447891404,51.57722616655648],[-125.29603158045298,51.589394858995284],[-125.2920231577417,51.6093305128626],[-125.23288209994813,51.640487318108406],[-125.22896025081442,51.64690839436928],[-125.24539228548979,51.66487782429203],[-125.24710687519016,51.679673054972945],[-125.23507740309402,51.69999536540443],[-125.25654760214688,51.72323051253667],[-125.25489290491866,51.73233032984968],[-125.23774585460627,51.74858542674402],[-125.2547145578096,51.765080665151245],[-125.27446515482043,51.77238638750106],[-125.2898255076537,51.771799851975366],[-125.32803015602151,51.78012903758956],[-125.34887095580558,51.790663401527574],[-125.37945561966197,51.7893275378019],[-125.41671443280659,51.82669124454266],[-125.40627975611542,51.8381372122755],[-125.42781247497696,51.841795533290146],[-125.46300707566125,51.84046679186469],[-125.45920790446827,51.85045566126847],[-125.46630755431973,51.86417711310886],[-125.51362421888264,51.86820168744108],[-125.50132089856974,51.87841562338193],[-125.48747494152117,51.915820482757795],[-125.51550133918234,51.93392891398247],[-125.5393021538727,51.93309594956509],[-125.52973109253915,51.92047313259931],[-125.5440543474884,51.91046566757824],[-125.5752915616659,51.913363220227716],[-125.58460126166469,51.90296934499442],[-125.61162566020715,51.90325500320885],[-125.65665898427227,51.92410118720645],[-125.67857356867958,51.94317143567366],[-125.70224037737685,51.97559549217316],[-125.70838654676454,51.99481803701805],[-125.72082804693659,52.00849998587794],[-125.73968160831615,52.01231246384101],[-125.77758605017944,52.00053340744154]],[[-126.82005905542677,50.922717368561585],[-126.82322135536752,50.923884297542486],[-126.82002267706045,50.92445957160403],[-126.82005905542677,50.922717368561585]],[[-126.60012116037284,50.69481965960081],[-126.59460250795256,50.69780058272474],[-126.59434361856583,50.69083365928698],[-126.59823975449031,50.69036475282685],[-126.60012116037284,50.69481965960081]],[[-126.5983393463954,50.59549245952261],[-126.5876092634411,50.59731204691723],[-126.58814886583417,50.593117001125506],[-126.59266931616517,50.59223447729371],[-126.5983393463954,50.59549245952261]],[[-126.18371580044014,50.97397070996807],[-126.16873597598249,50.98044483423947],[-126.16965284142329,50.96512093040434],[-126.18371580044014,50.97397070996807]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-126.29146774611596,\"lat\":51.1150147086961},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5943\"],\"cd_name_en\":[\"Mount Waddington\"],\"csd_code\":[\"5943037\"],\"csd_name_en\":[\"Mount Waddington A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Mount Waddington\",\"csd_name_fr\":\"Mount Waddington A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-128.63811294678433,53.97359073665335],[-128.63824320731604,53.98002049641027],[-128.65142806092072,53.97928436503573],[-128.64895974252894,53.96993868719644],[-128.63811294678433,53.97359073665335]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-128.644614212109,\"lat\":53.97573200298568},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5949\"],\"cd_name_en\":[\"Kitimat-Stikine\"],\"csd_code\":[\"5949803\"],\"csd_name_en\":[\"Kitamaat 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kitimat-Stikine\",\"csd_name_fr\":\"Kitamaat 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.41419752993724,61.04167780848144],[-123.44713800156725,61.02513816646301],[-123.47134429508577,61.00504184361823],[-123.50516298270786,61.005152869725045],[-123.52693875781249,60.9913296154608],[-123.4762963547683,60.96996598893236],[-123.35767985818481,60.96097362092074],[-123.34645053075707,60.97317062740344],[-123.32862655708679,60.976327220580664],[-123.28746131796247,60.97438308372995],[-123.25725679063503,60.98239538054283],[-123.25194792078673,61.00179516320307],[-123.27476360994112,61.013858630786224],[-123.31814049592275,61.02331768045847],[-123.33720624774242,61.048731946221814],[-123.37850023002095,61.03723473148428],[-123.41419752993724,61.04167780848144]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.38245702885247,\"lat\":60.99977498970346},\"year\":\"2021\",\"prov_code\":[\"61\"],\"prov_name_en\":[\"Northwest Territories\"],\"cd_code\":[\"6104\"],\"cd_name_en\":[\"Region 4\"],\"csd_code\":[\"6104010\"],\"csd_name_en\":[\"Nahanni Butte\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Settlement\",\"prov_name_fr\":\"Territoires du Nord-Ouest\",\"cd_name_fr\":\"Region 4\",\"csd_name_fr\":\"Nahanni Butte\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.15072939470465,62.66671304134547],[-109.0621860402311,62.676829008027475],[-109.00849252236956,62.69462699613787],[-109.07742874716465,62.77569098555602],[-109.21798126394492,62.750342502233835],[-109.15072939470465,62.66671304134547]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.11232595523335,\"lat\":62.72007014878362},\"year\":\"2021\",\"prov_code\":[\"61\"],\"prov_name_en\":[\"Northwest Territories\"],\"cd_code\":[\"6105\"],\"cd_name_en\":[\"Region 5\"],\"csd_code\":[\"6105026\"],\"csd_name_en\":[\"Reliance\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Settlement\",\"prov_name_fr\":\"Territoires du Nord-Ouest\",\"cd_name_fr\":\"Region 5\",\"csd_name_fr\":\"Reliance\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.60896049194548,63.730017355726815],[-68.60672986019048,63.71309485627248],[-68.41745274018045,63.71951811852886],[-68.4288441293399,63.78923214263031],[-68.61606939476046,63.78394133918902],[-68.60896049194548,63.730017355726815]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.51750128308842,\"lat\":63.751370515772095},\"year\":\"2021\",\"prov_code\":[\"62\"],\"prov_name_en\":[\"Nunavut\"],\"cd_code\":[\"6204\"],\"cd_name_en\":[\"Qikiqtaaluk\"],\"csd_code\":[\"6204003\"],\"csd_name_en\":[\"Iqaluit\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Nunavut\",\"cd_name_fr\":\"Qikiqtaaluk\",\"csd_name_fr\":\"Iqaluit\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.5177610006288,69.42826810783039],[-81.53879811358007,69.42280590897262],[-81.53051882795339,69.40958941214453],[-81.54559842671337,69.40188751427587],[-81.61179589670209,69.40552379844185],[-81.65832250411748,69.42002991108508],[-81.71219160148601,69.4205828947473],[-81.72771470319049,69.41363730257359],[-81.79069500969179,69.42201600206626],[-81.86190449061513,69.42831370494608],[-81.90569642954824,69.41888510528457],[-81.8609307206564,69.40108490078836],[-81.8620024179382,69.3914278120949],[-81.91677469834327,69.3978601932267],[-81.91379086470239,69.38464260382925],[-81.88545032280885,69.37860529817978],[-81.85773072897916,69.34196719262481],[-81.80044868443977,69.33958090815445],[-81.7711457795977,69.34892770538929],[-81.79810277840963,69.36920689730242],[-81.76042007666028,69.37669930312315],[-81.7771592131874,69.39293451339445],[-81.81415443204173,69.40536978946959],[-81.79960173290961,69.41236421394387],[-81.74449309507068,69.39559529640779],[-81.69767158201039,69.38673639220588],[-81.65447347657339,69.36825940309011],[-81.69181259406085,69.35869080590207],[-81.68251341136815,69.34794990270144],[-81.63485818608827,69.33924691150632],[-81.58067140805544,69.34061869373836],[-81.52215979612292,69.33702179027526],[-81.47646260838582,69.34153189523188],[-81.46104410617,69.34858939014086],[-81.48620111168283,69.37030619072718],[-81.50061732613541,69.39964820691532],[-81.45934932565414,69.39933759972176],[-81.47064822296,69.41946849466865],[-81.49709936330018,69.41819879842184],[-81.5177610006288,69.42826810783039]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.67471949777284,\"lat\":69.38213300889117},\"year\":\"2021\",\"prov_code\":[\"62\"],\"prov_name_en\":[\"Nunavut\"],\"cd_code\":[\"6204\"],\"cd_name_en\":[\"Qikiqtaaluk\"],\"csd_code\":[\"6204012\"],\"csd_name_en\":[\"Igloolik\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Hamlet\",\"prov_name_fr\":\"Nunavut\",\"cd_name_fr\":\"Qikiqtaaluk\",\"csd_name_fr\":\"Igloolik\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.631699420129515,47.75008044696898],[-53.48594830108915,47.74880703278358],[-53.407179101564175,47.74882681437822],[-53.40724365321717,47.79799940260196],[-53.499993474455955,47.79786427808412],[-53.62528574205829,47.80076470617994],[-53.631699420129515,47.75008044696898]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.518490562784855,\"lat\":47.77386475719107},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001312\"],\"csd_name_en\":[\"Heart's Delight-Islington\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Heart's Delight-Islington\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.275852107633725,47.95752179558836],[-53.23380221237472,47.98096249979374],[-53.240491376196736,48.02991426696143],[-53.25830819991593,48.015444602849094],[-53.28390201207796,48.017957201861684],[-53.309033606125446,48.00130710103157],[-53.32992480610555,47.969653899617484],[-53.275852107633725,47.95752179558836]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.27636270069772,\"lat\":47.98932878435139},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001335\"],\"csd_name_en\":[\"Hant's Harbour\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Hant's Harbour\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.31312461806712,47.550194302890404],[-53.30298337678626,47.56061934131757],[-53.320905823010115,47.54870334922413],[-53.336145188094555,47.55878660590545],[-53.34201195319255,47.578070968657656],[-53.40174122920105,47.5580778814555],[-53.391121628744344,47.538067949306075],[-53.43637409003135,47.50755738274606],[-53.430278087815054,47.482456014538435],[-53.48069896945639,47.460385507191916],[-53.444629764728944,47.46670009732193],[-53.40245818198798,47.49469221068945],[-53.3356460866854,47.53584478537329],[-53.31312461806712,47.550194302890404]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.383089421093814,\"lat\":47.52869888529043},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001405\"],\"csd_name_en\":[\"Division No.  1\",\"Subd. K\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Division No.  1, Subd. K\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-52.794485419924975,47.685165473059186],[-52.80490020993397,47.70506669738621],[-52.80491186010215,47.72769981065482],[-52.83103809849968,47.729925994484894],[-52.850548291093055,47.692419813787545],[-52.82681709442952,47.685010075610286],[-52.80984791251309,47.67146609924135],[-52.793739803921305,47.67561080652655],[-52.794485419924975,47.685165473059186]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-52.81978578185266,\"lat\":47.70116380038101},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001512\"],\"csd_name_en\":[\"Bauline\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Bauline\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.892390162661435,47.350034956235724],[-54.90732038116996,47.35636351831771],[-54.91449559637015,47.369334448568665],[-54.948630270874325,47.34105860239266],[-54.92142554256787,47.33681999763108],[-54.892390162661435,47.350034956235724]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.920455796191106,\"lat\":47.349776381723196},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1002\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"1002033\"],\"csd_name_en\":[\"Rushoon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Rushoon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.89779779157808,47.53582104084744],[-54.91747268239563,47.526738097792304],[-54.93601811888328,47.53052999734765],[-54.96380220444079,47.52378670179418],[-54.94507075236715,47.50576406950328],[-54.90246287799134,47.516186949995735],[-54.855901394490694,47.50576184591105],[-54.84003357042707,47.51179393036145],[-54.88353436516542,47.53265839184042],[-54.89779779157808,47.53582104084744]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.90447476933861,\"lat\":47.519779443034516},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1002\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"1002041\"],\"csd_name_en\":[\"St. Bernard's-Jacques Fontaine\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"St. Bernard's-Jacques Fontaine\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.44735568410714,47.690255023165406],[-55.44194341263391,47.674514480524046],[-55.429673625334225,47.68306017047407],[-55.44735568410714,47.690255023165406]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.43965757402509,\"lat\":47.68260989138784},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1003\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"1003005\"],\"csd_name_en\":[\"Pool's Cove\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Pool's Cove\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.74366796041073,47.24239743207677],[-55.74886309583637,47.330076372269204],[-55.751356036516064,47.40644478030881],[-55.74366662066704,47.4287952721757],[-55.65336459969609,47.48648487927376],[-55.623179665019514,47.50787626025608],[-55.59883148133405,47.55085308296757],[-55.58611452790651,47.56224627020274],[-55.550193777413334,47.56768045091568],[-55.519530852651094,47.57734622941873],[-55.51827869532512,47.59959096575863],[-55.53109257009625,47.615146173715175],[-55.54887925643714,47.62547752562155],[-55.559373881800916,47.64044953919589],[-55.56133430848041,47.65562236940326],[-55.58664531893258,47.65162675870133],[-55.617610240242854,47.65548031715615],[-55.64185649865142,47.62284197879154],[-55.671934213728875,47.61613025329019],[-55.70474208314026,47.62078864013968],[-55.72259800014886,47.61847219204551],[-55.75672789204567,47.58850622758355],[-55.79151693003914,47.5695966226205],[-55.818534545838574,47.544966216694384],[-55.83519000261657,47.536269827796],[-55.886157566777904,47.525466611899944],[-55.90837881007784,47.51552253867836],[-55.93825082922958,47.493851293861674],[-56.00090758094017,47.468590431562625],[-56.0443334587556,47.43324565278577],[-56.14936211983058,47.36277515146408],[-56.07208758560872,47.341174739708634],[-55.99704608952706,47.31634260190323],[-55.997907611503315,47.21656616932324],[-55.9194402677092,47.217871521481236],[-55.7922573866172,47.22133268583975],[-55.74366796041073,47.24239743207677]],[[-55.86276568129353,47.47178678957384],[-55.83448081813391,47.497485241644426],[-55.79705160264737,47.495877128116035],[-55.79232681237485,47.47921710117249],[-55.796657395624415,47.464634795192474],[-55.812162502937966,47.45577269426998],[-55.83378971520105,47.45875180438086],[-55.86276568129353,47.47178678957384]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.83329157585417,\"lat\":47.41949898395682},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1003\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"1003006\"],\"csd_name_en\":[\"Division No.  3\",\"Subd. B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Division No.  3, Subd. B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-57.87844784260597,48.93243839683182],[-57.885622449702396,48.94243226684304],[-57.91290693225433,48.93886545017948],[-57.87916558845548,48.926122931938636],[-57.87844784260597,48.93243839683182]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-57.89140678938099,\"lat\":48.93559086398815},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1005\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"1005017\"],\"csd_name_en\":[\"Massey Drive\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Massey Drive\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.2238644916636,49.10930419364075],[-55.23768060516139,49.10486848713183],[-55.30469709943773,49.07066679082206],[-55.29244981399545,49.057909694777145],[-55.301284120740824,49.04615879864875],[-55.27541408218127,49.02922189020325],[-55.160484607065605,49.099285873863536],[-55.19777574635026,49.12256116988626],[-55.2238644916636,49.10930419364075]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.23836974474972,\"lat\":49.077731594421685},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1006\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"1006003\"],\"csd_name_en\":[\"Norris Arm\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Norris Arm\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.37146659737269,49.49828399778849],[-55.390118092123174,49.491360492906466],[-55.395639176197314,49.503790202532116],[-55.42281239434236,49.49936979869877],[-55.44920209313027,49.51021701077937],[-55.465113612099756,49.49060189052443],[-55.46588739477275,49.45385740821204],[-55.412645194043805,49.45962519556981],[-55.37576028759177,49.48186990484681],[-55.37146659737269,49.49828399778849]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.4266934881799,\"lat\":49.48118745852402},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008048\"],\"csd_name_en\":[\"Leading Tickles\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Leading Tickles\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-57.88188665158515,49.54294571934462],[-57.89632070529953,49.54050422563204],[-57.899166838447755,49.525039103787485],[-57.87691571113311,49.51347831642667],[-57.85323359416713,49.5224783610308],[-57.86161866421162,49.536747267551576],[-57.88188665158515,49.54294571934462]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-57.87773432563516,\"lat\":49.52879958716249},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1009\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"1009012\"],\"csd_name_en\":[\"Norris Point\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Norris Point\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-57.559702319364696,50.26178229582582],[-57.57116341298579,50.26312400118345],[-57.57765081224414,50.248558402437375],[-57.5918065041279,50.23939221317179],[-57.589824484981825,50.229968401990405],[-57.60696769827265,50.212510095108314],[-57.59164040600843,50.2090786062686],[-57.571847828621415,50.22110187885402],[-57.559702319364696,50.26178229582582]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-57.580093165372936,\"lat\":50.23364832325984},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1009\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"1009015\"],\"csd_name_en\":[\"Daniel's Harbour\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Daniel's Harbour\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.67627620645454,51.83000935632664],[-55.96707799644462,51.96036957917347],[-56.036201831902595,51.97914165016661],[-56.06211351396516,51.97752110742305],[-56.11455455273415,51.9788148017875],[-56.15484099940671,51.98503740384982],[-56.190151618580124,51.969231024971066],[-56.21929715976018,51.96411712545656],[-56.25464946613251,51.96920021693978],[-56.252214726786185,51.98637417793174],[-56.23109685149513,52.04784216403274],[-56.202081087946084,52.06667426028991],[-56.17652688436711,52.11582844710343],[-56.18714789302733,52.119462318360625],[-56.22191611114213,52.11127283670228],[-56.255836376802364,52.11063328556788],[-56.28261582287872,52.138024506972606],[-56.32345848189105,52.1505792426657],[-56.36153017021518,52.15156979764271],[-56.42508067563325,52.16125889706144],[-56.44395952655733,52.15851060872157],[-56.464771222772214,52.163232162267505],[-56.47776076067246,52.19028784923214],[-56.471765960770234,52.20096122504752],[-56.49085561133872,52.21205531334488],[-56.50603212140418,52.214280473013915],[-56.53077881700132,52.209125838063386],[-56.56223537281534,52.21665568595369],[-56.57515073949379,52.225301279428535],[-56.598034698407766,52.21569518806662],[-56.66536281214746,52.19989231643667],[-56.69306201486662,52.21428693612406],[-56.71022993215405,52.20217868290368],[-56.72536770099004,52.20678127517726],[-56.76875588693639,52.23654720400923],[-56.785300875831254,52.267629891027404],[-56.83220164198119,52.26396915461593],[-56.878865030760146,52.25155430179054],[-56.88095914672455,52.24814027196888],[-56.853519878189374,52.22632989356911],[-56.88040509254001,52.193874331056506],[-56.87286856750442,52.16243125712235],[-56.877999780137046,52.15491400990669],[-56.91044279913449,52.14792023069101],[-56.94716772376674,52.14689211631882],[-56.97871511288223,52.12623081949822],[-57.00857898720434,52.128902534406315],[-57.025330761963716,52.12099567345168],[-57.06897359925022,52.10741055129263],[-57.065522554724794,52.091280317013904],[-57.046016809917006,52.09062271846824],[-57.01418414279146,52.08242657847687],[-57.00206902193444,52.07500122901992],[-56.98209686116701,52.05287614017713],[-56.97889321812646,52.01854186281516],[-56.94116832361589,51.994327986392044],[-56.945650652380436,51.98410118296777],[-56.97988041768523,51.976140416402224],[-57.02770213080288,51.991624998389305],[-57.040876732045746,51.985767526314916],[-57.04437158888532,51.96662305016079],[-57.06683871722885,51.937427618405735],[-57.05185680259895,51.92349520817187],[-57.06074487135283,51.9037853584861],[-57.05385437711709,51.861667809148905],[-57.06449193722398,51.85246061655966],[-57.098724076697486,51.846941590893415],[-57.106858714672015,51.83967506783434],[-57.10548640008561,51.656451372231174],[-57.107879987784194,51.5909282018767],[-57.10745723033335,51.52052940076723],[-57.0497042716019,51.52008316618838],[-57.00652448897645,51.41784889384457],[-57.05125911503002,51.4137048944051],[-57.06472279756348,51.42748739303806],[-57.07600489629999,51.41481849970045],[-57.1085429750853,51.41563490198066],[-57.108986596993184,51.378782367499504],[-57.109571464582466,51.287163263272774],[-57.01338407578327,51.30766183581774],[-56.866902201078695,51.250241116461126],[-56.8500218967447,51.283994024795255],[-56.61262179404009,51.407362015793915],[-56.35130482252147,51.54169785371323],[-56.123950880354776,51.65731639827189],[-55.9758088324147,51.73548766058198],[-55.767885205048266,51.7417912115727],[-55.67627620645454,51.83000935632664]],[[-56.42937917827881,51.728229936129274],[-56.42487954375393,51.748495933626884],[-56.40988587023975,51.74048706509061],[-56.415159034085576,51.72385665945825],[-56.42937917827881,51.728229936129274]],[[-56.851189118362655,51.5225051383404],[-56.838443087015996,51.534016409835424],[-56.814457436527555,51.53278053538767],[-56.839812200412965,51.51580028746643],[-56.851189118362655,51.5225051383404]],[[-56.97210322542144,51.49128927817173],[-56.952974514450744,51.5026823180091],[-56.91895642912431,51.49879500508221],[-56.955900676710115,51.47309247861926],[-56.97210322542144,51.49128927817173]],[[-56.72864725863676,51.612123406034925],[-56.71355668295148,51.616211054023836],[-56.70257371486256,51.5988619053147],[-56.70942549326085,51.57948349337658],[-56.745260932353055,51.584700966983675],[-56.72864725863676,51.612123406034925]],[[-56.726204118449395,51.6246850046847],[-56.72847051624569,51.63128971733592],[-56.71192336734889,51.643024177290485],[-56.69128434848581,51.64419025395862],[-56.677523180233436,51.63347102165337],[-56.68377563852209,51.62408418912451],[-56.70211879361252,51.618035310686174],[-56.726204118449395,51.6246850046847]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-56.580584670016805,\"lat\":51.78685429928337},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1010\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"1010001\"],\"csd_name_en\":[\"Division No. 10\",\"Subd. A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Division No. 10, Subd. A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-56.726204118449395,51.6246850046847],[-56.70211879361252,51.618035310686174],[-56.68377563852209,51.62408418912451],[-56.677523180233436,51.63347102165337],[-56.69128434848581,51.64419025395862],[-56.71192336734889,51.643024177290485],[-56.72847051624569,51.63128971733592],[-56.726204118449395,51.6246850046847]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-56.702707018409214,\"lat\":51.63142789993434},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1010\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"1010007\"],\"csd_name_en\":[\"Pinware\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Pinware\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.49110284179163,46.27085312468442],[-62.52191986320313,46.29657664459209],[-62.53386255057055,46.30289558801142],[-62.54607688369921,46.29662919682064],[-62.555546095063555,46.32022800807291],[-62.53362359210197,46.32466596636004],[-62.53929252853441,46.33735040943405],[-62.5607548894147,46.33311734601747],[-62.566563449523066,46.34765519639347],[-62.59253353150271,46.34227728764332],[-62.58302410562483,46.317883594081046],[-62.59315721787503,46.31591309120559],[-62.586468407544075,46.29870491810441],[-62.57920183870342,46.30261362435883],[-62.56382122474851,46.275372881418306],[-62.5500412928843,46.25805320409125],[-62.49110284179163,46.27085312468442]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.550862844063936,\"lat\":46.29923355457487},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1101\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1101025\"],\"csd_name_en\":[\"Central Kings\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Fire District\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Central Kings\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.12880439049127,46.33341554882065],[-61.99248966706035,46.41785955389929],[-61.954992977127354,46.45701187654962],[-61.966013431925404,46.47054298225005],[-62.02908561692976,46.48460523874303],[-62.170568941038695,46.490165529290365],[-62.24022855834402,46.48480091969889],[-62.23600648970027,46.470683198358195],[-62.21532606157143,46.47187563215004],[-62.21734604021267,46.46094743737988],[-62.20799307469638,46.44116375431809],[-62.22507005985931,46.43708590548683],[-62.218043068702634,46.42132973968676],[-62.18513633358738,46.42463733863456],[-62.17047310456246,46.39369928674687],[-62.16539399519893,46.375173981873345],[-62.12880439049127,46.33341554882065]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.100412906119935,\"lat\":46.43163343911638},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1101\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1101040\"],\"csd_name_en\":[\"Eastern Kings\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Eastern Kings\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.13254912567858,46.30469523954317],[-63.14433992690786,46.3307281585438],[-63.16748409820092,46.32609582022687],[-63.187564738242806,46.33875166174429],[-63.199719190759815,46.33772092201753],[-63.187752897331535,46.301635409763506],[-63.175380915623016,46.294424575406104],[-63.12704532181376,46.29282312528125],[-63.13254912567858,46.30469523954317]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.164650389257886,\"lat\":46.31310076815213},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1102\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1102055\"],\"csd_name_en\":[\"Brackley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Brackley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.11260087723322,46.14199942262739],[-63.12292509583013,46.191679839148215],[-63.14467792602919,46.210901884912936],[-63.154854479204815,46.211705460460294],[-63.187906805446644,46.203868155332565],[-63.21620882154991,46.215769037925284],[-63.23172575366797,46.21658165425177],[-63.24802825850533,46.222311796734964],[-63.27290218695446,46.19174302083012],[-63.29293291449424,46.20382090485408],[-63.281395110188825,46.214418447562934],[-63.28799596964828,46.24145437888437],[-63.31838348255225,46.23842169224561],[-63.32980769678218,46.22807451999002],[-63.340939831351704,46.25161590504513],[-63.358271339962236,46.24894990840628],[-63.35980592992716,46.238495057699616],[-63.3814872718069,46.234857146217706],[-63.37130367346014,46.22354003848227],[-63.364246806745186,46.205240487789226],[-63.378950200439036,46.20204270267132],[-63.37651917341831,46.18675447533743],[-63.348698059581324,46.18453019971295],[-63.33042851329298,46.165156192055385],[-63.316926656420925,46.13483647282573],[-63.330699737215966,46.06821074457862],[-63.146209150013604,46.01520465049889],[-63.11606404328612,46.05634177417802],[-63.09972113040074,46.07901866635717],[-63.11260087723322,46.14199942262739]],[[-63.14415551287698,46.20417675635513],[-63.141248699499236,46.20485739630712],[-63.14139736431057,46.20307565065792],[-63.14415551287698,46.20417675635513]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.22719194975748,\"lat\":46.132409516737795},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1102\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1102068\"],\"csd_name_en\":[\"West River\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"West River\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.3808636488409,44.46151527030844],[-64.39713968685932,44.44856260533884],[-64.37438087718448,44.436234664609024],[-64.3808636488409,44.46151527030844]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.38412807096157,\"lat\":44.448770846752105},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1206\"],\"cd_name_en\":[\"Lunenburg\"],\"csd_code\":[\"1206008\"],\"csd_name_en\":[\"Mahone Bay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Lunenburg\",\"csd_name_fr\":\"Mahone Bay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.43306237483841,44.84200198793149],[-64.41717177983456,44.83049977727869],[-64.39720112555385,44.84456539296371],[-64.41327069409168,44.8564168540038],[-64.43306237483841,44.84200198793149]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.41515239775364,\"lat\":44.84340289574539},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1206\"],\"cd_name_en\":[\"Lunenburg\"],\"csd_code\":[\"1206016\"],\"csd_name_en\":[\"New Ross 20\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Lunenburg\",\"csd_name_fr\":\"New Ross 20\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.3396431258317,45.09837429605693],[-64.35482858323111,45.093776502140905],[-64.37492830555327,45.09945059964032],[-64.38408224857788,45.09694644048881],[-64.37727550003689,45.07730145764589],[-64.33652391315508,45.084828359925375],[-64.3396431258317,45.09837429605693]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.36168842458913,\"lat\":45.08889324018858},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1207\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1207024\"],\"csd_name_en\":[\"Wolfville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Wolfville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.09143867116106,45.38366021921527],[-62.175088980058206,45.57962789331196],[-62.224119516144064,45.69681659085281],[-62.247871766604526,45.74940595086765],[-62.30908242222544,45.72400461595456],[-62.33472167435002,45.70941814179494],[-62.39723785898262,45.69360745181761],[-62.45275146193481,45.67193890317067],[-62.49521884784746,45.68422401790119],[-62.56238376027729,45.71285571937966],[-62.60363113942551,45.723098905902425],[-62.63074910545038,45.70076521689458],[-62.67647516096447,45.68353079503664],[-62.695700201540504,45.67058218356917],[-62.70082452858996,45.648501429750205],[-62.68671313033919,45.639518917142325],[-62.65119492206585,45.62446720350155],[-62.61677589159902,45.62562596914748],[-62.611426154996344,45.61104582448316],[-62.62596507161261,45.59946912211409],[-62.62534760240462,45.58668399747726],[-62.63307740543628,45.56505010554843],[-62.65254915468458,45.570902834998975],[-62.65088237328155,45.555266631826186],[-62.66177933285221,45.548364723722834],[-62.658101374731494,45.54062227781203],[-62.677398357362655,45.506990489295674],[-62.67476949216909,45.49591880964316],[-62.654102911352034,45.47002069863433],[-62.65447239203474,45.46520380955892],[-62.61729140554925,45.44673079050262],[-62.617191897271354,45.433619986726484],[-62.5924738204399,45.43092449501856],[-62.583849604662426,45.41977571231307],[-62.52281851014494,45.40351170134586],[-62.47831981030008,45.39598539476895],[-62.45950049824277,45.38548931067926],[-62.454379094746976,45.37636279694121],[-62.43283519080367,45.36939469582024],[-62.42335758818005,45.353878106682586],[-62.42014299328809,45.33240363296731],[-62.320433286974946,45.34854099314121],[-62.19850231265584,45.36669516940948],[-62.09143867116106,45.38366021921527]],[[-62.480016498504625,45.62834289864815],[-62.481642584060744,45.62598289850277],[-62.48850519640946,45.62501280784402],[-62.486687312625875,45.627286993615385],[-62.480016498504625,45.62834289864815]],[[-62.63997680564339,45.67668271445143],[-62.642071376379086,45.66711070478284],[-62.65330719827712,45.6652773037791],[-62.657991683898366,45.67473113479882],[-62.63997680564339,45.67668271445143]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.3924630820716,\"lat\":45.534178430816276},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1212\"],\"cd_name_en\":[\"Pictou\"],\"csd_code\":[\"1212011\"],\"csd_name_en\":[\"Pictou\",\"Subd. C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of county municipality \\/ Subdivision municipalit\\u00e9 de comt\\u00e9\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Pictou\",\"csd_name_fr\":\"Pictou, Subd. C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-61.94382363123993,45.39976923159735],[-61.94641907357655,45.41055930594987],[-61.93169930340693,45.44377479010576],[-61.936909107631095,45.44801808867926],[-61.94169329419337,45.47302209395824],[-61.93953110941579,45.49741670538186],[-61.92368190146324,45.533888010549774],[-61.905555815704325,45.5451564952241],[-61.90120898761808,45.58607017268609],[-61.91749360510672,45.60325080564913],[-61.91118260624006,45.63012555872959],[-61.915713149670424,45.652539977142546],[-61.8910670935767,45.67038557676783],[-61.89402101429234,45.685988783300154],[-61.874265419136826,45.70213569122884],[-61.78321441753333,45.74970252056364],[-61.568706926792714,45.86457901341985],[-61.60818367631807,45.92602982981677],[-61.65619547108812,46.00007323586653],[-61.65812770905743,46.00007268353582],[-61.89729833719208,45.93072290361699],[-61.998885510271364,45.8984902198012],[-62.07216861614631,45.86697035955532],[-62.101396240707295,45.851074538514425],[-62.16573717828426,45.79760990298238],[-62.23847300900585,45.758700239345565],[-62.247871766604526,45.74940595086765],[-62.224119516144064,45.69681659085281],[-62.175088980058206,45.57962789331196],[-62.09143867116106,45.38366021921527],[-61.94382363123993,45.39976923159735]],[[-61.99940813492214,45.63082928690871],[-61.97896850760982,45.63252385232329],[-61.97133197712483,45.62401368668492],[-61.97805202089242,45.61381876441044],[-62.00384086725206,45.6133133065966],[-62.01512787243872,45.63011645050706],[-61.99940813492214,45.63082928690871]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-61.951406402150994,\"lat\":45.723632628686396},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1214\"],\"cd_name_en\":[\"Antigonish\"],\"csd_code\":[\"1214001\"],\"csd_name_en\":[\"Antigonish\",\"Subd. A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of county municipality \\/ Subdivision municipalit\\u00e9 de comt\\u00e9\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Antigonish\",\"csd_name_fr\":\"Antigonish, Subd. A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.93529420222471,45.502627070298026],[-66.93627043814462,45.502670841387584],[-67.05675166272474,45.50357014162628],[-67.19020051600681,45.50483694186476],[-67.15270055089786,45.393679615483904],[-67.11762751856729,45.28229240255644],[-67.11149321995093,45.27779709414224],[-67.0882695217075,45.29083930205439],[-67.06564268951604,45.30676987413858],[-67.0433490049004,45.31651400446981],[-67.00004135859017,45.32638294170408],[-66.92304570628572,45.33987007249978],[-66.93529420222471,45.502627070298026]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.04921291940076,\"lat\":45.41217855845743},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1302\"],\"cd_name_en\":[\"Charlotte\"],\"csd_code\":[\"1302044\"],\"csd_name_en\":[\"Dumbarton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Charlotte\",\"csd_name_fr\":\"Dumbarton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.12564084136051,45.805742016317545],[-66.14081309803667,45.81460480717878],[-66.17679973661873,45.82606327495628],[-66.21037722472873,45.78650623131281],[-66.21044243406676,45.77533670084857],[-66.18462516972112,45.76474494396266],[-66.18219278102657,45.729222488883806],[-66.17706010564663,45.713561676044435],[-66.16697585647832,45.72294939278096],[-66.11320125416509,45.73398858189909],[-66.13609048846051,45.74379340034159],[-66.13786058517007,45.756844060648824],[-66.13718619138916,45.77125069704617],[-66.11454959233619,45.77829488509199],[-66.11377530672631,45.78810441275416],[-66.12564084136051,45.805742016317545]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.16135573989692,\"lat\":45.77499568544495},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1304\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1304005\"],\"csd_name_en\":[\"Gagetown\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Gagetown\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.48804894289108,45.70652729204712],[-65.47870263082767,45.69295116164952],[-65.46508869904707,45.68688765458312],[-65.45804716912222,45.70163508678338],[-65.44113774353443,45.699046226240455],[-65.44840148381955,45.71678843172194],[-65.46393045734071,45.732047617792105],[-65.48099538623369,45.731148296260415],[-65.47602674798885,45.71889757436194],[-65.48804894289108,45.70652729204712]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.46616364485259,\"lat\":45.710277172120065},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1305\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1305023\"],\"csd_name_en\":[\"Sussex Corner\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Sussex Corner\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.9446272625023,45.6784650741213],[-66.05098775541113,45.60445422634853],[-66.05191830848749,45.60322609559599],[-66.02439709535355,45.590054173800816],[-66.0197825791505,45.56732775616649],[-66.02298425336915,45.55200485244267],[-66.00027499865779,45.54888008861884],[-65.9784291169108,45.561562521972974],[-65.96737829283055,45.572650327564006],[-65.91749368012766,45.60145193815969],[-65.88876262969565,45.62336769140313],[-65.91083308643925,45.650751756975],[-65.9446272625023,45.6784650741213]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.96921054382294,\"lat\":45.613643911494876},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1305\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1305036\"],\"csd_name_en\":[\"Kars\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Kars\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.44758448057937,46.98885548726623],[-65.40864432063164,47.010880494550605],[-65.38662685011514,47.02907566065144],[-65.3697083386903,47.03720768493379],[-65.3435635931045,47.04138579625177],[-65.32092388476657,47.060355445323246],[-65.30498727736357,47.05959252025537],[-65.29118653349151,47.07362671915462],[-65.29315881656207,47.088453723490076],[-65.31533701292874,47.08289818978088],[-65.35550402789146,47.08155848330273],[-65.39146080232948,47.07542249003862],[-65.42244419146122,47.063559566233856],[-65.38663679563014,47.07217379606066],[-65.370464398236,47.071105508497126],[-65.34889939801297,47.07686199087859],[-65.34053659716248,47.06540470060119],[-65.34752630484441,47.05666573644918],[-65.36752619011075,47.05602536192657],[-65.43603447231136,47.03030271772042],[-65.41942583190199,47.0165358249277],[-65.43891710329467,47.00519345683203],[-65.44758448057937,46.98885548726623]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.36659552393549,\"lat\":47.04934286082904},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1309\"],\"cd_name_en\":[\"Northumberland\"],\"csd_code\":[\"1309006\"],\"csd_name_en\":[\"Chatham\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Northumberland\",\"csd_name_fr\":\"Chatham\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.69547888357617,45.91993133843333],[-66.71220655138228,45.93121448805399],[-66.70807978084784,45.950609796935716],[-66.71321642107768,45.95864344227901],[-66.78101769267627,45.95857213888764],[-66.79218709890068,45.93719810309258],[-66.78210625981517,45.90497342362734],[-66.79390800717269,45.88967508273098],[-66.80667148974035,45.89260654007628],[-66.85214157085119,45.83437942433997],[-66.86249679406932,45.83872791650621],[-66.90955966754255,45.78942241566176],[-66.90974519320291,45.77449996213044],[-66.91806142384618,45.77070521693359],[-66.8462450978325,45.74360366967166],[-66.71971092521913,45.89177904113923],[-66.69547888357617,45.91993133843333]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.80134268662859,\"lat\":45.852843183501165},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1310\"],\"cd_name_en\":[\"York\"],\"csd_code\":[\"1310017\"],\"csd_name_en\":[\"Hanwell\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural community \\/ Communaut\\u00e9 rurale\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"York\",\"csd_name_fr\":\"Hanwell\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-66.50983720890275,46.29401603511587],[-66.58421689268614,46.315388868455074],[-66.5693130251814,46.34036928809214],[-66.5981692958092,46.348790065993036],[-66.57894594392366,46.38310162407135],[-66.54759853733066,46.370265828473116],[-66.53679210541029,46.38350353745304],[-66.51785045438214,46.38865685934041],[-66.52656240525955,46.40519753228274],[-66.54669681298597,46.40611112091383],[-66.54589704150825,46.415905706761905],[-66.58036275272596,46.43168430237279],[-66.60541239356593,46.42553274826479],[-66.63046898454695,46.411776266700535],[-66.65293812128512,46.420811611309084],[-66.67748154695597,46.42528446346672],[-66.69131657944284,46.43694127002588],[-66.71029078733407,46.43888284989567],[-66.7261168812707,46.4523995045628],[-66.75555170869781,46.45538980967866],[-66.79678999394697,46.439688489618014],[-66.8337991176066,46.420435393891815],[-66.85544164007848,46.41638640577083],[-66.82217071731019,46.342767687461745],[-66.79457805585051,46.27765718424584],[-66.7890896809621,46.243664692256914],[-66.77038182535921,46.18802191256714],[-66.75116992268134,46.136450488403774],[-66.72061160834326,46.13539001230186],[-66.69170193474908,46.13900474189856],[-66.66969919263117,46.13997039561618],[-66.647038791202,46.14846952417643],[-66.65884108000832,46.170017064419284],[-66.63490012883186,46.17454138611469],[-66.64409808066084,46.198027949331895],[-66.63612618941357,46.1994763302309],[-66.66178577087987,46.2642087272492],[-66.59496001124586,46.27662299586712],[-66.50983720890275,46.29401603511587]],[[-66.7235478372484,46.30502641441791],[-66.69057845643131,46.277555876182475],[-66.7367398943678,46.260676310750426],[-66.75341374265182,46.26220310760532],[-66.76173410414937,46.27610227042533],[-66.7610377934096,46.28943908948795],[-66.74939140748741,46.30728612179311],[-66.7235478372484,46.30502641441791]]],[[[-66.90652378750772,46.528923327904856],[-66.88739291246654,46.52791908889354],[-66.8721382076752,46.54177200788447],[-66.85592589416648,46.541675785667024],[-66.85308648675237,46.55300568935948],[-66.83212320087645,46.556133108572574],[-66.8152535150735,46.57504820092336],[-66.80241869065416,46.56960429590528],[-66.77950459077276,46.573376502234176],[-66.77046832146281,46.58154749392158],[-66.7476391927626,46.58250219158714],[-66.73429090789374,46.578298505621326],[-66.69150339008317,46.58741368371446],[-66.68938049736984,46.60063929667539],[-66.66370938676735,46.594621805661184],[-66.64767218690129,46.60017930931242],[-66.58627568942585,46.59273779267024],[-66.57239861512589,46.575008793255236],[-66.57010161330825,46.56267520331901],[-66.54928350968936,46.55950290163341],[-66.51503149304887,46.51555378710299],[-66.49826635873339,46.52086620751418],[-66.62423195704218,46.73555525641978],[-66.68408459405121,46.83640562423265],[-66.744648449152,46.92735566730413],[-66.867260157943,46.77406691735062],[-66.96387494189844,46.65717736146107],[-66.96347184690022,46.65605718268937],[-66.90652378750772,46.528923327904856]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.73581033017422,\"lat\":46.542795362129176},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1310\"],\"cd_name_en\":[\"York\"],\"csd_code\":[\"1310036\"],\"csd_name_en\":[\"Stanley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"York\",\"csd_name_fr\":\"Stanley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.71631327975422,46.80840976390483],[-67.72685824466477,46.82131983793649],[-67.74078338969412,46.821290973963244],[-67.76675835816289,46.81060322146421],[-67.78963440107513,46.79471661870179],[-67.78787512998267,46.60115673483018],[-67.74114190102087,46.59265580531964],[-67.72277629768799,46.59500254975437],[-67.72131912789982,46.601183046637345],[-67.7040664981868,46.62372966437017],[-67.72160943907446,46.65778589951369],[-67.72463161696975,46.67895349650426],[-67.72083613601099,46.714327728121546],[-67.73303379449837,46.72429003525415],[-67.72524426716633,46.74671757728268],[-67.71408846574344,46.748838191361415],[-67.71846609718455,46.763645016139876],[-67.7050897746106,46.76641904217149],[-67.72308828377128,46.779849453044676],[-67.71631327975422,46.80840976390483]],[[-67.73004088656405,46.821181992023874],[-67.71832000050826,46.80880839572763],[-67.72315270611226,46.78999651379667],[-67.7307926650734,46.7906954212365],[-67.73004088656405,46.821181992023874]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.7534042677162,\"lat\":46.70177834027751},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1312\"],\"cd_name_en\":[\"Victoria\"],\"csd_code\":[\"1312001\"],\"csd_name_en\":[\"Andover\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Victoria\",\"csd_name_fr\":\"Andover\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.9270771690971,47.15486118038528],[-67.89976840534432,47.17298741160577],[-67.91374390633285,47.18801066300882],[-67.93893779271959,47.17109701577545],[-67.9270771690971,47.15486118038528]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.91978149688678,\"lat\":47.17165136644829},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1313\"],\"cd_name_en\":[\"Madawaska\"],\"csd_code\":[\"1313006\"],\"csd_name_en\":[\"Saint-L\\u00e9onard\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town \\/ Ville\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Madawaska\",\"csd_name_fr\":\"Saint-L\\u00e9onard\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.37899916156317,47.9897746486089],[-66.42140521866004,47.98391876704367],[-66.42713717043716,47.993274159747656],[-66.56505553655042,47.95735745726708],[-66.56907688735603,47.956375783517174],[-66.55387999001053,47.927255181410864],[-66.47738515069491,47.94777716728556],[-66.47797155560956,47.94969368224472],[-66.3842362659686,47.97341626040132],[-66.37899916156317,47.9897746486089]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.48079093748385,\"lat\":47.962734490696995},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1314\"],\"cd_name_en\":[\"Restigouche\"],\"csd_code\":[\"1314006\"],\"csd_name_en\":[\"Balmoral\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Restigouche\",\"csd_name_fr\":\"Balmoral\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.8074167695951,47.85561649436629],[-65.78617056502166,47.84626739336438],[-65.7770682730918,47.8300051072197],[-65.7661143779543,47.82669009652721],[-65.73982484210828,47.832952629913905],[-65.764778150683,47.86413981146611],[-65.79396334078454,47.880457727694655],[-65.8074167695951,47.85561649436629]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.77497119230567,\"lat\":47.85137558548457},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1315\"],\"cd_name_en\":[\"Gloucester\"],\"csd_code\":[\"1315013\"],\"csd_name_en\":[\"Pointe-Verte\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Gloucester\",\"csd_name_fr\":\"Pointe-Verte\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.05459309654078,49.10795180056264],[-64.78266571738416,49.10716912872032],[-64.77883142602451,49.20342638336569],[-64.9656751642271,49.22726891770471],[-64.96175805820631,49.16239972200479],[-64.9658780053214,49.1485183772495],[-65.02260939259136,49.1597503197148],[-65.01981125862866,49.17667792894631],[-65.05617826653067,49.18451835458612],[-65.05459309654078,49.10795180056264]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.90432953770963,\"lat\":49.15680949979184},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2403\"],\"cd_name_en\":[\"La C\\u00f4te-de-Gasp\\u00e9\"],\"csd_code\":[\"2403010\"],\"csd_name_en\":[\"Cloridorme\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La C\\u00f4te-de-Gasp\\u00e9\",\"csd_name_fr\":\"Cloridorme\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.64862894110603,48.35516595686004],[-67.68245008780261,48.37532129461499],[-67.74477919735511,48.416781518809394],[-67.73539686090056,48.422912720607535],[-67.77741752509735,48.45162526901944],[-67.83349153057996,48.41453611836789],[-67.81885440501581,48.404988590583585],[-67.79214073552565,48.38721550784568],[-67.80772240230414,48.375338088601524],[-67.75503973256943,48.362753085226096],[-67.69424638984566,48.32281296817341],[-67.69032038586624,48.32550166206514],[-67.64862894110603,48.35516595686004]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.7442736692531,\"lat\":48.38655804458296},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2407\"],\"cd_name_en\":[\"La Matap\\u00e9dia\"],\"csd_code\":[\"2407912\"],\"csd_name_en\":[\"Lac-Alfred\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Matap\\u00e9dia\",\"csd_name_fr\":\"Lac-Alfred\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.70619229770031,49.00004672541286],[-66.73236086310193,49.0173847910384],[-66.83220246476989,48.985089624835375],[-66.90717101746952,49.03323495591565],[-66.97583385646556,49.07579156059379],[-66.9955739520188,49.096158168572515],[-67.13100827733246,49.09661012532622],[-67.2796490341754,49.09809457182241],[-67.08496967857562,48.96368349808066],[-67.04602987459168,48.93896503802931],[-67.11663140790597,48.91878042000846],[-67.08561030154974,48.89762787329953],[-67.0788562445625,48.899479239626835],[-67.06049214569197,48.87487846526815],[-67.04735342583712,48.878976221069784],[-67.00056803484077,48.816941903921766],[-66.904927265917,48.8455882750503],[-66.89726893807347,48.840587429052846],[-66.7060770532681,48.90199870162957],[-66.71579776927533,48.90921236716277],[-66.69656281508843,48.91966108723351],[-66.69977582050464,48.92894868721122],[-66.69434105997692,48.9521222465809],[-66.69941687765305,48.98861841020489],[-66.70619229770031,49.00004672541286]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.95804008406543,\"lat\":48.96813374121684},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2408\"],\"cd_name_en\":[\"La Matanie\"],\"csd_code\":[\"2408005\"],\"csd_name_en\":[\"Les M\\u00e9chins\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Matanie\",\"csd_name_fr\":\"Les M\\u00e9chins\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.86780694802876,48.658802385139836],[-67.90185870544373,48.67754674351979],[-67.92630580062387,48.6812512702576],[-68.20497796650777,48.839788010819035],[-68.0721477484567,48.66546302549513],[-68.06060970409047,48.65170148369872],[-68.0430567360794,48.6647946937911],[-68.02156358460131,48.664426877350316],[-67.9701888487661,48.632683684641165],[-67.94854993236457,48.64930123554854],[-67.9166632901823,48.631073968171144],[-67.90969134199183,48.6271002017129],[-67.86780694802876,48.658802385139836]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.03528404660481,\"lat\":48.70954871684533},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2409\"],\"cd_name_en\":[\"La Mitis\"],\"csd_code\":[\"2409048\"],\"csd_name_en\":[\"M\\u00e9tis-sur-Mer\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Mitis\",\"csd_name_fr\":\"M\\u00e9tis-sur-Mer\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.10641780226834,48.59417247454906],[-68.13934377426725,48.612812224344104],[-68.14486530566879,48.607048263316486],[-68.12511611219993,48.598207971458386],[-68.12327524083078,48.58966960089569],[-68.10641780226834,48.59417247454906]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.12601803323476,\"lat\":48.60083324547931},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2409\"],\"cd_name_en\":[\"La Mitis\"],\"csd_code\":[\"2409065\"],\"csd_name_en\":[\"Price\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Mitis\",\"csd_name_fr\":\"Price\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.50466806506611,48.2895045523323],[-68.57528420095028,48.332622036807265],[-68.54206774837371,48.34504413284424],[-68.59653181923412,48.378258317796345],[-68.62927641533618,48.35974339172115],[-68.6593421238137,48.349899572165924],[-68.66651919094127,48.33856528832176],[-68.69405640010388,48.327382727805606],[-68.73420672172321,48.305531521187866],[-68.73195562849759,48.30415174633653],[-68.5976748055031,48.22102871323956],[-68.55487507200253,48.24998267235998],[-68.50466806506611,48.2895045523323]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.61309076578617,\"lat\":48.2996245340559},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2410\"],\"cd_name_en\":[\"Rimouski-Neigette\"],\"csd_code\":[\"2410060\"],\"csd_name_en\":[\"Saint-Val\\u00e9rien\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Rimouski-Neigette\",\"csd_name_fr\":\"Saint-Val\\u00e9rien\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.27736746638219,47.127213739734636],[-70.35552300534681,47.18358521383038],[-70.40106726275398,47.182959776045784],[-70.39151681422825,47.17634651541706],[-70.3919371131749,47.15746169627495],[-70.4633158882934,47.09994217320529],[-70.34296767697879,47.01611091698933],[-70.27365188124492,47.06846632879653],[-70.23308547235163,47.096162007442],[-70.27736746638219,47.127213739734636]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.35015587829056,\"lat\":47.10155262956479},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2417\"],\"cd_name_en\":[\"L'Islet\"],\"csd_code\":[\"2417078\"],\"csd_name_en\":[\"L'Islet\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"L'Islet\",\"csd_name_fr\":\"L'Islet\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.14260310244846,46.998030497658334],[-71.11740718109233,47.010562464786574],[-71.10955366557965,47.02437837196054],[-71.08596663381138,47.05043659404065],[-71.14680679536737,47.10422459519878],[-71.17248069788323,47.08781477511516],[-71.19171320279396,47.08734652087477],[-71.18313361344768,47.07175597095164],[-71.21388568403079,47.05756217958456],[-71.20445268972884,47.049181671656015],[-71.26996369013163,47.01765164992307],[-71.22346435019254,46.9696022031858],[-71.19275487786611,46.9382263473708],[-71.19145827886173,46.94117153690659],[-71.20571308300244,46.96623121395417],[-71.14260310244846,46.998030497658334]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.1746068376491,\"lat\":47.02984229631546},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2422\"],\"cd_name_en\":[\"La Jacques-Cartier\"],\"csd_code\":[\"2422045\"],\"csd_name_en\":[\"Sainte-Brigitte-de-Laval\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Jacques-Cartier\",\"csd_name_fr\":\"Sainte-Brigitte-de-Laval\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.06032630148441,46.62386375965422],[-71.0769402062495,46.62832455399597],[-71.09305439255877,46.64912061004809],[-71.11919407895911,46.63004361216751],[-71.18869563390986,46.58121419242101],[-71.17911664220124,46.565296249719495],[-71.1607846137574,46.5603841844776],[-71.17139234857821,46.54921416920688],[-71.15131486810698,46.53672060500563],[-71.12740986949277,46.527244026800524],[-71.05887732251797,46.55487565498097],[-71.05350553366696,46.5451719735975],[-71.00606509903207,46.5636215860098],[-71.01022486118586,46.57265509474545],[-70.98247681971334,46.58585299489939],[-71.0192016506157,46.5869005106245],[-71.04199751127459,46.59032259929603],[-71.03919015273735,46.6084769923912],[-71.05458472043314,46.613416838825195],[-71.06032630148441,46.62386375965422]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.09880253000614,\"lat\":46.58174100842252},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2426\"],\"cd_name_en\":[\"La Nouvelle-Beauce\"],\"csd_code\":[\"2426063\"],\"csd_name_en\":[\"Saint-Isidore\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Nouvelle-Beauce\",\"csd_name_fr\":\"Saint-Isidore\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.67538358277952,45.57309856214663],[-70.70305312884872,45.572818436413755],[-70.77884576644897,45.61614661011151],[-70.82136083714211,45.63845119057847],[-70.85186919328014,45.62684727229492],[-70.86235208461237,45.6093112050455],[-70.85692336298142,45.60220609416782],[-70.85836500860768,45.58847568740189],[-70.84428395294765,45.57974280071629],[-70.8511632398938,45.56240504713205],[-70.91123063881102,45.56261122418],[-70.88248384022911,45.52489607689516],[-70.8811981271117,45.45309870068695],[-70.84700480179022,45.45314290770709],[-70.6810876384119,45.453013259589206],[-70.69163774943068,45.473845022323296],[-70.71751212727803,45.48941935380924],[-70.71119721188158,45.49873007303418],[-70.72346029018746,45.51247854321645],[-70.71147925880048,45.51933829743336],[-70.68638822092059,45.54961206021013],[-70.68965399570877,45.56188634615328],[-70.67538358277952,45.57309856214663]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.79342373800993,\"lat\":45.531495644952365},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2430\"],\"cd_name_en\":[\"Le Granit\"],\"csd_code\":[\"2430025\"],\"csd_name_en\":[\"Frontenac\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Granit\",\"csd_name_fr\":\"Frontenac\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.04486842560064,45.787784248423335],[-71.14874731677843,45.84035421318969],[-71.15763015633355,45.83278785686707],[-71.16084532183358,45.81913945579396],[-71.15546408413539,45.80395008226709],[-71.14132671909047,45.793343455264775],[-71.14214537897581,45.76937684570745],[-71.13673978723442,45.73979931668998],[-71.12855337494213,45.728376435351166],[-71.10357440234746,45.70975999041084],[-71.09117298685901,45.68714070105779],[-71.10331019059802,45.67352262541732],[-71.092510594115,45.66724123312146],[-71.05270243302107,45.70132744558451],[-70.98678707074095,45.75839238594279],[-71.04486842560064,45.787784248423335]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.08405805245633,\"lat\":45.7584088914829},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2430\"],\"cd_name_en\":[\"Le Granit\"],\"csd_code\":[\"2430100\"],\"csd_name_en\":[\"Saint-Romain\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Granit\",\"csd_name_fr\":\"Saint-Romain\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.36240653264949,46.121189052897165],[-71.43310449092246,46.15631782403281],[-71.44392761381239,46.14493200504344],[-71.46093321347243,46.15307536487275],[-71.48687066230677,46.137128964664775],[-71.5012705710892,46.14498432000012],[-71.50970189550428,46.137171903930145],[-71.51512813658617,46.132326770442674],[-71.39364728984631,46.07244053394583],[-71.37170030966234,46.09328043845595],[-71.38497644726112,46.100189779372386],[-71.36240653264949,46.121189052897165]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.42983572984464,\"lat\":46.11875486529865},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2431\"],\"cd_name_en\":[\"Les Appalaches\"],\"csd_code\":[\"2431095\"],\"csd_name_en\":[\"Saint-Adrien-d'Irlande\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Appalaches\",\"csd_name_fr\":\"Saint-Adrien-d'Irlande\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.13112152452474,46.17494373374249],[-71.12186859860437,46.18830782392306],[-71.1504891986313,46.213566829703076],[-71.12189659139473,46.232630068706534],[-71.13096407831078,46.24100836656377],[-71.11668396316871,46.25025934785187],[-71.12579588805681,46.2585265531462],[-71.09822350521301,46.27781046205401],[-71.12116549372303,46.29784376759914],[-71.10495089607642,46.30920431242396],[-71.24635316312457,46.30069354082222],[-71.2900192076951,46.26262412201365],[-71.30588522987614,46.26985471322611],[-71.32025994741622,46.25721588488406],[-71.27304592706167,46.23332053643883],[-71.24997000349897,46.21285399058469],[-71.26219093391417,46.2046447928007],[-71.25087332105142,46.194341212800204],[-71.22955032305794,46.20884524562034],[-71.19542168213674,46.17533076786131],[-71.17243755150113,46.19111011693108],[-71.14826059937693,46.16926505271855],[-71.13112152452474,46.17494373374249]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.19563096672421,\"lat\":46.24843818937514},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2431\"],\"cd_name_en\":[\"Les Appalaches\"],\"csd_code\":[\"2431135\"],\"csd_name_en\":[\"Saint-Pierre-de-Broughton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Appalaches\",\"csd_name_fr\":\"Saint-Pierre-de-Broughton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.86930441653311,46.253323234198355],[-71.88049812645944,46.24826259308926],[-71.88273081060105,46.299097560216495],[-71.90939315172531,46.29145983613465],[-71.92164931457684,46.2824291205411],[-71.94134474997851,46.25873812881196],[-71.9612212676676,46.26035030361157],[-71.9861391458665,46.24692570052291],[-71.98566634524398,46.21824860443547],[-71.9651900366504,46.22161218496184],[-71.94988735551898,46.2012615468211],[-71.95050921920307,46.1722052658649],[-71.96378226768857,46.16695210926587],[-71.97678998977679,46.13368557231243],[-71.97609333267938,46.11850734785134],[-71.96757729356877,46.12140937973496],[-71.96227216530548,46.09538524648645],[-71.94742996799845,46.10107459452127],[-71.92170043084197,46.12296318967792],[-71.90719020860213,46.10235632159104],[-71.81711791139875,46.13886623365567],[-71.7989568530196,46.14809584294396],[-71.80094399465258,46.219499691248004],[-71.82918906941426,46.238862849499704],[-71.86939367666731,46.22426596751895],[-71.86930441653311,46.253323234198355]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.89442469880804,\"lat\":46.18950290180464},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2432\"],\"cd_name_en\":[\"L'\\u00c9rable\"],\"csd_code\":[\"2432033\"],\"csd_name_en\":[\"Princeville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"L'\\u00c9rable\",\"csd_name_fr\":\"Princeville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.90952975569259,45.98249252053295],[-71.97215246905353,46.018062010035806],[-71.9866760667829,46.02627670631121],[-72.01408418694484,46.001160509172365],[-72.02866069635984,46.00954898882556],[-72.0560222336392,45.98445256732237],[-72.04288172180874,45.97648393651359],[-72.0648097009269,45.95635573364738],[-72.07910697973709,45.942906714133564],[-72.05903217487446,45.91787327831169],[-72.04350988062978,45.90756967908913],[-72.05902808396102,45.89375444336805],[-72.0225587769749,45.87637333620364],[-72.01711344452005,45.881518511199694],[-71.90952975569259,45.98249252053295]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.00127187508275,\"lat\":45.95596200731434},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2439\"],\"cd_name_en\":[\"Arthabaska\"],\"csd_code\":[\"2439077\"],\"csd_name_en\":[\"Warwick\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Arthabaska\",\"csd_name_fr\":\"Warwick\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.97609333267938,46.11850734785134],[-71.97678998977679,46.13368557231243],[-71.96378226768857,46.16695210926587],[-71.95050921920307,46.1722052658649],[-71.94988735551898,46.2012615468211],[-71.9651900366504,46.22161218496184],[-71.98566634524398,46.21824860443547],[-72.0809974498057,46.1976840140263],[-72.08092580503566,46.16865638908713],[-72.1023692318189,46.164458133752966],[-72.10237638935745,46.13490434403949],[-72.1294680098995,46.129291549887526],[-72.12917911618759,46.11466447285747],[-72.0549266943189,46.12889398872485],[-72.05192985938781,46.100630296033586],[-72.00460643983752,46.10921342368819],[-71.97609333267938,46.11850734785134]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.02660206402777,\"lat\":46.16135451655428},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2439\"],\"cd_name_en\":[\"Arthabaska\"],\"csd_code\":[\"2439145\"],\"csd_name_en\":[\"Saint-Rosaire\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Arthabaska\",\"csd_name_fr\":\"Saint-Rosaire\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.5854992140398,45.69307228432481],[-71.51747144511744,45.74060142278562],[-71.43667967158946,45.7987433490118],[-71.4641199201299,45.816742804409785],[-71.49854841265962,45.790951312877944],[-71.52077026569782,45.8046558532038],[-71.54193411065769,45.78733554237485],[-71.59427492452832,45.81539540758002],[-71.61727866081671,45.830510451262526],[-71.63488055868903,45.814516225599725],[-71.64493481543575,45.81877100614097],[-71.70753307841404,45.7613157233956],[-71.68684301147678,45.75130055522916],[-71.61184871682302,45.712251587074796],[-71.5854992140398,45.69307228432481]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.58342602562443,\"lat\":45.766425587650545},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2440\"],\"cd_name_en\":[\"Les Sources\"],\"csd_code\":[\"2440005\"],\"csd_name_en\":[\"Ham-Sud\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Sources\",\"csd_name_fr\":\"Ham-Sud\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.35755850272123,45.30781431886337],[-72.35768350225833,45.35052487140344],[-72.3546332376113,45.37705759884786],[-72.46302090620769,45.375178198327596],[-72.46477276323297,45.35451337614118],[-72.4627113780088,45.307435325168676],[-72.39960446458488,45.30802651706105],[-72.35755850272123,45.30781431886337]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.41024206272125,\"lat\":45.342137914749884},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2445\"],\"cd_name_en\":[\"Memphr\\u00e9magog\"],\"csd_code\":[\"2445105\"],\"csd_name_en\":[\"Stukely-Sud\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Memphr\\u00e9magog\",\"csd_name_fr\":\"Stukely-Sud\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.45654311608622,46.114696721661005],[-72.4757088133079,46.12467544464812],[-72.48504661481454,46.119114718873526],[-72.506260195735,46.13078963117909],[-72.53681103106044,46.10635744466241],[-72.51762826373927,46.097578389295116],[-72.50745310300474,46.08469380502567],[-72.49174772293142,46.080409991149075],[-72.4982981096014,46.05381452108189],[-72.4820760605462,46.039898727372055],[-72.4583600764966,46.0380814298941],[-72.44023851293822,46.047295971239876],[-72.4138941363141,46.043849829164955],[-72.40734090065304,46.029808805536916],[-72.39686088189262,46.02310214043958],[-72.36922158609802,46.04820465523461],[-72.41532654735188,46.074456515203565],[-72.39774376508359,46.094407206598305],[-72.42506313807613,46.10650155011698],[-72.44891211376046,46.10848166418649],[-72.45654311608622,46.114696721661005]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.45427908711007,\"lat\":46.07818396565845},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2450\"],\"cd_name_en\":[\"Nicolet-Yamaska\"],\"csd_code\":[\"2450050\"],\"csd_name_en\":[\"Sainte-Perp\\u00e9tue\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nicolet-Yamaska\",\"csd_name_fr\":\"Sainte-Perp\\u00e9tue\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.73592563741964,46.08448111309783],[-72.78830650682251,46.12428708530773],[-72.86788112473164,46.1817739305269],[-72.89620655131641,46.172370050554264],[-72.94731562854561,46.15489654786863],[-72.9296617248832,46.12843627600239],[-72.93867135298616,46.10455059901648],[-72.90486725286236,46.101455407788514],[-72.86881031973974,46.093064833458946],[-72.84239531068319,46.077195558205794],[-72.80881196884879,46.0853729814862],[-72.79387249455378,46.07982254674511],[-72.81581799442343,46.06747208770947],[-72.7847180035641,46.05242675899031],[-72.76192844214681,46.03540919712059],[-72.73395050380728,46.03254214417556],[-72.7322935059132,46.03166219294338],[-72.73211074791726,46.044681568035756],[-72.71843808262817,46.071616185485134],[-72.73592563741964,46.08448111309783]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.83490920657145,\"lat\":46.11104152800579},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2450\"],\"cd_name_en\":[\"Nicolet-Yamaska\"],\"csd_code\":[\"2450113\"],\"csd_name_en\":[\"Pierreville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nicolet-Yamaska\",\"csd_name_fr\":\"Pierreville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.74552628158418,46.35333456591027],[-72.7721096583062,46.35232122215139],[-72.78790360547721,46.36569751924147],[-72.80910049171126,46.35937545684431],[-72.82588238780815,46.37057518825707],[-72.83476382107756,46.36523021999278],[-72.83721197748189,46.348728633974126],[-72.8604219006298,46.356177509813335],[-72.85525863182237,46.34357755966064],[-72.90642952574181,46.32646110749473],[-72.92130007047554,46.336262484325886],[-72.90643877842442,46.32370061697408],[-72.91302397572905,46.29575893889053],[-72.89583025508728,46.2743896641623],[-72.847208806036,46.241845883249965],[-72.79078821578305,46.20648483791861],[-72.73306746663226,46.23491150407931],[-72.69481719392188,46.252887044780785],[-72.77788429386646,46.316329996662205],[-72.77466573746919,46.329152338268095],[-72.74552628158418,46.35333456591027]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.81138676660481,\"lat\":46.28772679947818},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2451\"],\"cd_name_en\":[\"Maskinong\\u00e9\"],\"csd_code\":[\"2451020\"],\"csd_name_en\":[\"Yamachiche\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Maskinong\\u00e9\",\"csd_name_fr\":\"Yamachiche\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.78790360547721,46.36569751924147],[-72.84574119956952,46.412524010329214],[-72.84111339170107,46.42200729039409],[-72.81969939798495,46.430339198060025],[-72.85185104450305,46.45317523480197],[-72.85676331358904,46.456573549751496],[-72.88330239845206,46.433133342703286],[-72.89239464958982,46.439364555132265],[-72.91520696336912,46.43290224101064],[-72.93827846683382,46.41766228657265],[-72.91466352139443,46.39997820573532],[-72.85974893235834,46.3621652113704],[-72.8604219006298,46.356177509813335],[-72.83721197748189,46.348728633974126],[-72.83476382107756,46.36523021999278],[-72.82588238780815,46.37057518825707],[-72.80910049171126,46.35937545684431],[-72.78790360547721,46.36569751924147]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.86387320530706,\"lat\":46.40292489006856},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2451\"],\"cd_name_en\":[\"Maskinong\\u00e9\"],\"csd_code\":[\"2451025\"],\"csd_name_en\":[\"Saint-Barnab\\u00e9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Maskinong\\u00e9\",\"csd_name_fr\":\"Saint-Barnab\\u00e9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.92185657933129,45.9675870383194],[-72.94766813164041,45.96373532091656],[-72.96198867595163,45.937361505778505],[-72.98827878141202,45.94003759102092],[-72.99373732349575,45.92561159745616],[-73.01117331522362,45.936100575955976],[-73.02690021597667,45.90406655820277],[-73.0195509098816,45.890402932747136],[-72.96032357913062,45.88023203449193],[-72.93878250356279,45.868768093841204],[-72.92599547703583,45.88627512075354],[-72.90859714212957,45.883354408650845],[-72.89844129223773,45.90799327862978],[-72.91998885710662,45.92529883403162],[-72.90181584869057,45.96276145339794],[-72.92185657933129,45.9675870383194]],[[-72.94118096816386,45.90453181203789],[-72.93857167672896,45.917172232612415],[-72.92547091375407,45.9153757735399],[-72.9263944706459,45.903046760884386],[-72.94118096816386,45.90453181203789]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.9567420820848,\"lat\":45.91600129222859},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2453\"],\"cd_name_en\":[\"Pierre-De Saurel\"],\"csd_code\":[\"2453015\"],\"csd_name_en\":[\"Saint-Aim\\u00e9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Pierre-De Saurel\",\"csd_name_fr\":\"Saint-Aim\\u00e9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.99618686567837,45.717584455754306],[-72.95521728332456,45.687086479386416],[-72.93823082422716,45.69812796691015],[-72.92357541483035,45.69552044397552],[-72.90994068103954,45.7141874140156],[-72.88924756196265,45.73877380924141],[-72.88870956346643,45.75670059563812],[-72.90601004163437,45.770382291577924],[-72.89566457519196,45.78787975876005],[-72.93214568405193,45.80553504372181],[-72.93818878232187,45.79521554672305],[-72.95324335850687,45.753205978874924],[-73.00155903591721,45.72151606550859],[-72.99618686567837,45.717584455754306]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.935873452591,\"lat\":45.7405245436546},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2454\"],\"cd_name_en\":[\"Les Maskoutains\"],\"csd_code\":[\"2454105\"],\"csd_name_en\":[\"Saint-Barnab\\u00e9-Sud\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Maskoutains\",\"csd_name_fr\":\"Saint-Barnab\\u00e9-Sud\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.25445300229525,45.439198919935436],[-73.27425816210489,45.45704155080588],[-73.28044621068828,45.46502566627674],[-73.30518960576774,45.46157545051922],[-73.31125699257731,45.44373259471888],[-73.32682999709412,45.4357852034814],[-73.31145844411363,45.424788869444015],[-73.31587192074943,45.41134259942392],[-73.30834339519765,45.40613116765674],[-73.28973372444065,45.393077558350875],[-73.28221884980974,45.408711407374874],[-73.24918472633188,45.41349407673452],[-73.25445300229525,45.439198919935436]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.28674257545883,\"lat\":45.43110335494344},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2457\"],\"cd_name_en\":[\"La Vall\\u00e9e-du-Richelieu\"],\"csd_code\":[\"2457005\"],\"csd_name_en\":[\"Chambly\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-du-Richelieu\",\"csd_name_fr\":\"Chambly\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.3901449673249,45.537363733917935],[-73.37508409328555,45.532950439988724],[-73.37172642306139,45.55607178171096],[-73.3617280199412,45.573477205540925],[-73.360160448298,45.589978862132476],[-73.38343937958125,45.60844852440139],[-73.44497799925176,45.657253289951825],[-73.47303265886285,45.64188240619771],[-73.48655424124067,45.63190736093246],[-73.49977895182938,45.610131381264324],[-73.50057442313567,45.58837613217083],[-73.47051502365007,45.58479731125895],[-73.42028494415116,45.54603872063052],[-73.4106667710081,45.5526831894585],[-73.3901449673249,45.537363733917935]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.42845542696713,\"lat\":45.596183468251226},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2458\"],\"cd_name_en\":[\"Longueuil\"],\"csd_code\":[\"2458033\"],\"csd_name_en\":[\"Boucherville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Longueuil\",\"csd_name_fr\":\"Boucherville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.95625328957459,47.388488896261066],[-74.1928322222938,47.54537516147877],[-74.30965462248467,47.62564112030634],[-74.51234203301362,47.761482067466865],[-74.60652313531158,47.76306464217196],[-74.65906525888573,47.7617728913552],[-74.88863101004227,47.76085464423986],[-74.7129294775685,47.64233772076808],[-74.69855291533125,47.63342619863564],[-74.65595593084288,47.61803355228572],[-74.63003541353592,47.58609379235723],[-74.61531355856438,47.57610782791748],[-74.5077422923379,47.50275399238262],[-74.50374437851403,47.50000491604031],[-74.48314009944752,47.509642106754626],[-74.4612465772335,47.501957840984645],[-74.44524620357814,47.51022159246776],[-74.42674689615536,47.5069183881715],[-74.44627792023843,47.47898109808249],[-74.45076270527849,47.46406768670153],[-74.17585118905164,47.27671037682205],[-74.10695817130839,47.23114712539665],[-74.0284756612791,47.176134149899404],[-73.99857101632847,47.3460246994701],[-73.97431471315048,47.3656748967409],[-73.95625328957459,47.388488896261066]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.35741228799455,\"lat\":47.52086763204659},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2462\"],\"cd_name_en\":[\"Matawinie\"],\"csd_code\":[\"2462918\"],\"csd_name_en\":[\"Baie-Obaoca\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Matawinie\",\"csd_name_fr\":\"Baie-Obaoca\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.60596660784775,45.49528551045735],[-73.61407198876555,45.48046333456329],[-73.59736249934515,45.47379161645426],[-73.58059332202708,45.485632877904386],[-73.60596660784775,45.49528551045735]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.59904798194425,\"lat\":45.484222809997235},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2466\"],\"cd_name_en\":[\"Montr\\u00e9al\"],\"csd_code\":[\"2466032\"],\"csd_name_en\":[\"Westmount\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Montr\\u00e9al\",\"csd_name_fr\":\"Westmount\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.76692787653458,45.41598355810014],[-73.78217715373744,45.45446713685695],[-73.78029501801174,45.467192765343434],[-73.79467190649784,45.481826842945665],[-73.81558132447915,45.47834075523702],[-73.84639065146122,45.46254541343995],[-73.83846350545257,45.445581079495575],[-73.82130135935473,45.400758320427364],[-73.80528954875854,45.39848100651201],[-73.78463560466739,45.411958126679885],[-73.76692787653458,45.41598355810014]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.80634731425354,\"lat\":45.44103885235459},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2466\"],\"cd_name_en\":[\"Montr\\u00e9al\"],\"csd_code\":[\"2466097\"],\"csd_name_en\":[\"Pointe-Claire\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Montr\\u00e9al\",\"csd_name_fr\":\"Pointe-Claire\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.22307539911749,45.122719990289994],[-74.14716728583858,45.16538528731236],[-74.21362083291812,45.22278007620532],[-74.25613551487197,45.20566277174309],[-74.28353702455328,45.19959833230134],[-74.30760479545867,45.19277087257986],[-74.22307539911749,45.122719990289994]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.22395137822741,\"lat\":45.174802227494595},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2469\"],\"cd_name_en\":[\"Le Haut-Saint-Laurent\"],\"csd_code\":[\"2469065\"],\"csd_name_en\":[\"Sainte-Barbe\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Saint-Laurent\",\"csd_name_fr\":\"Sainte-Barbe\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.1246421362554,45.299355572378865],[-74.1498949269498,45.327059108989495],[-74.16890258532582,45.35242762217255],[-74.1964704639402,45.34132639430981],[-74.20884852993368,45.33099554584848],[-74.2206004952706,45.339385927503166],[-74.23068751865176,45.33215486489873],[-74.2190643954423,45.3238602101524],[-74.24468768452743,45.30701230829014],[-74.25265628419768,45.29725039594522],[-74.24583857992282,45.29238122723951],[-74.23559835785957,45.29222341300718],[-74.214379574287,45.26918878600446],[-74.1854426300214,45.244271711587615],[-74.17200582960444,45.25705632266675],[-74.1537911537176,45.290385513037336],[-74.1246421362554,45.299355572378865]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.18838447598985,\"lat\":45.301923136023284},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2471\"],\"cd_name_en\":[\"Vaudreuil-Soulanges\"],\"csd_code\":[\"2471040\"],\"csd_name_en\":[\"Coteau-du-Lac\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Vaudreuil-Soulanges\",\"csd_name_fr\":\"Coteau-du-Lac\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.95816683818093,45.38321579086584],[-73.97619009951796,45.3904459372711],[-74.00108408812075,45.38674318261316],[-74.00077717324136,45.36675668000836],[-73.99154498547263,45.355222445748076],[-73.96721007970328,45.34495248599647],[-73.97646713415025,45.37555452687658],[-73.95816683818093,45.38321579086584]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.98361763681665,\"lat\":45.371393155382925},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2471\"],\"cd_name_en\":[\"Vaudreuil-Soulanges\"],\"csd_code\":[\"2471070\"],\"csd_name_en\":[\"Pincourt\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Vaudreuil-Soulanges\",\"csd_name_fr\":\"Pincourt\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-74.22976595431803,45.431842502987436],[-74.21788185487566,45.435124296254116],[-74.1936837924561,45.42854307144724],[-74.18178799947023,45.450419781384156],[-74.18217835687503,45.45708510118883],[-74.2200339521371,45.46775273015271],[-74.22976595431803,45.431842502987436]]],[[[-73.98753407415688,45.39745944286445],[-73.97103694270709,45.41228162581319],[-73.98668843838402,45.423200356258604],[-73.99868834669654,45.44984657349949],[-74.00624716232198,45.4505558760578],[-74.00904875754875,45.42829018313653],[-74.02305408299688,45.426441192672065],[-74.03316730688219,45.41159901061628],[-74.04082101403336,45.419340544859296],[-74.03884766064803,45.429524545572406],[-74.0194783238201,45.45110908936851],[-74.05987849412226,45.44949239178266],[-74.09328718167366,45.43209321787151],[-74.10843914943949,45.43021321709625],[-74.14229761424778,45.44724425380948],[-74.15855895548358,45.44386584435118],[-74.13379725078666,45.430013723766486],[-74.11194317551461,45.42275654267724],[-74.08158437167258,45.39270048605661],[-74.08246901973348,45.37836049245413],[-74.09569268475381,45.371641605431],[-74.0214741895781,45.34253882060511],[-73.99334987675157,45.33451369309945],[-73.97091956941746,45.3352984034361],[-73.96322028231185,45.34287042150774],[-73.96721007970328,45.34495248599647],[-73.99154498547263,45.355222445748076],[-74.00077717324136,45.36675668000836],[-74.00108408812075,45.38674318261316],[-73.98753407415688,45.39745944286445]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.05935119826363,\"lat\":45.4032557770061},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2471\"],\"cd_name_en\":[\"Vaudreuil-Soulanges\"],\"csd_code\":[\"2471083\"],\"csd_name_en\":[\"Vaudreuil-Dorion\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Vaudreuil-Soulanges\",\"csd_name_fr\":\"Vaudreuil-Dorion\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.67072126471867,45.92914391423164],[-74.66949500145655,45.946096815328566],[-74.63233871738338,45.97014212300975],[-74.62918148719666,45.97773328537822],[-74.63593110187189,46.002948866764164],[-74.62696790286905,46.0151562868842],[-74.62695843313897,46.02958837227891],[-74.61653263593823,46.050063159963756],[-74.63733694621673,46.05312887909092],[-74.67524999320601,46.05930976013234],[-74.67818076916768,46.047391388290364],[-74.69821608530033,45.97178112774906],[-74.70853984816115,45.93180182871133],[-74.67072126471867,45.92914391423164]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.66379735420075,\"lat\":45.99612147722844},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2478\"],\"cd_name_en\":[\"Les Laurentides\"],\"csd_code\":[\"2478065\"],\"csd_name_en\":[\"Huberdeau\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Laurentides\",\"csd_name_fr\":\"Huberdeau\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.0366151937138,46.758282240152404],[-75.04452997566102,46.77893516394726],[-75.02176375794761,46.795327578402386],[-75.1010870935787,46.847866847969236],[-75.18632031497238,46.75917674193055],[-75.22068213482626,46.72765203726366],[-75.24836006646177,46.686093743894006],[-75.25438328986529,46.69008151636856],[-75.28583339635347,46.67333240313678],[-75.3059452252105,46.6585661858069],[-75.32115983647358,46.66859928194747],[-75.34513309709554,46.65114586242559],[-75.29102538210991,46.61539311315517],[-75.28406248599775,46.615975854614476],[-75.2001364608729,46.55800382198497],[-75.09513013239192,46.63434351275072],[-75.09248731274988,46.636348707032695],[-75.1231983265992,46.655537743627356],[-75.13007137751912,46.67365530646992],[-75.11303210434353,46.67711566452366],[-75.10146455890914,46.690083488219976],[-75.07973144492648,46.6964112125554],[-75.05636331703727,46.710987046376545],[-75.04725658734775,46.74519281164097],[-75.0366151937138,46.758282240152404]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.16494420648888,\"lat\":46.69552370801554},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2479\"],\"cd_name_en\":[\"Antoine-Labelle\"],\"csd_code\":[\"2479065\"],\"csd_name_en\":[\"Chute-Saint-Philippe\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Antoine-Labelle\",\"csd_name_fr\":\"Chute-Saint-Philippe\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.96587461079314,45.660930778175434],[-74.98249685035172,45.6549933262328],[-74.99113694390645,45.674101690478125],[-74.97988700501669,45.687521707892216],[-74.96178983415916,45.68794393010415],[-74.94799504741862,45.72155120161746],[-74.96943293554943,45.729729547998346],[-74.96963670568019,45.71646752230418],[-74.98230145363199,45.697952984487586],[-74.99896223291448,45.69774651185313],[-75.01209215122077,45.672937198617596],[-75.05979646889028,45.66963763246107],[-75.07998169199571,45.664603786512814],[-75.07568777739164,45.60654036416392],[-74.98062738669744,45.61547401328918],[-74.96071575742164,45.63025602814902],[-74.9659789456711,45.64167903194225],[-74.96587461079314,45.660930778175434]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.01659634795631,\"lat\":45.6507316164542},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2480\"],\"cd_name_en\":[\"Papineau\"],\"csd_code\":[\"2480037\"],\"csd_name_en\":[\"Papineauville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Papineau\",\"csd_name_fr\":\"Papineauville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.02056844132824,46.20988977162483],[-76.05040586084581,46.21452464563037],[-76.07272058820018,46.23263518987401],[-76.15435929454958,46.2317534783223],[-76.15407066048444,46.1596117142079],[-76.10114580158834,46.160920737180994],[-76.10121753063738,46.15427317571108],[-76.03324600171621,46.15589800129769],[-76.02923093996876,46.162688046603186],[-75.99733106077444,46.16265975558438],[-75.99692886767632,46.20283374793006],[-76.02054971909901,46.20236889255519],[-76.02056844132824,46.20988977162483]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.08322446852605,\"lat\":46.191595830683895},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2483\"],\"cd_name_en\":[\"La Vall\\u00e9e-de-la-Gatineau\"],\"csd_code\":[\"2483045\"],\"csd_name_en\":[\"Blue Sea\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-de-la-Gatineau\",\"csd_name_fr\":\"Blue Sea\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.88715825674015,46.81673742314804],[-75.90938117766325,46.830996381746615],[-75.92659308887971,46.85089826219048],[-75.95323433709035,46.869209149923364],[-75.99403511852582,46.886867837805916],[-76.03603228327576,46.88934983156253],[-76.1011139268941,46.915055153156814],[-76.12813143045376,46.920347973183475],[-76.13768427835986,46.937457202503715],[-76.13008267900754,46.98624583476583],[-76.14937428048685,47.005095319684095],[-76.13081761663952,47.01976720666709],[-76.10786879950369,47.02605679840118],[-76.09974806738117,47.049730963082304],[-76.09969719429618,47.09845021467404],[-76.09154544831107,47.13023482583252],[-76.10161848904285,47.16405939610861],[-76.09185464909284,47.191042563028105],[-76.04211493348207,47.19982120207981],[-76.02261450888203,47.19366461920818],[-75.98598346622146,47.211047759149295],[-75.97087290279103,47.215075609340495],[-76.15960674675715,47.33727993603516],[-76.15747982864102,47.19396811130943],[-76.15823724293425,47.00742989205666],[-76.15984376463734,46.87463687101063],[-76.15984704884687,46.76705473577374],[-76.1578132039586,46.70999690616068],[-76.07577972354565,46.71036867593965],[-76.07483223807851,46.74668956398012],[-76.05566555620521,46.746554767704026],[-76.03182699931263,46.7556058190503],[-76.0108156045294,46.74448875211111],[-75.97338448397714,46.77884629805508],[-75.95929534376053,46.78228588641254],[-75.91254545210832,46.81072585081396],[-75.88715825674015,46.81673742314804]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.08252498167045,\"lat\":46.97062439621753},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2483\"],\"cd_name_en\":[\"La Vall\\u00e9e-de-la-Gatineau\"],\"csd_code\":[\"2483904\"],\"csd_name_en\":[\"Cascades-Malignes\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-de-la-Gatineau\",\"csd_name_fr\":\"Cascades-Malignes\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.33581004466484,47.51629423606907],[-75.63157191233233,47.71639161460483],[-75.77489413917573,47.81241428733008],[-75.78925129248277,47.778749975701906],[-75.78226465239833,47.76374550993196],[-75.79089173972942,47.69541452472223],[-75.78928750129154,47.67851839307961],[-75.81093112804945,47.674533934712905],[-75.82300492860679,47.69691049077155],[-75.84522092377101,47.702995705465995],[-75.84989996604622,47.71177100529826],[-75.83679458880948,47.73215178564427],[-75.83182487317356,47.76698700856586],[-75.85730066079128,47.77456057600697],[-75.8609645638939,47.78586891877837],[-75.85014063747478,47.79505108451538],[-75.86522149927437,47.80057179667367],[-75.8937682064639,47.80024940111869],[-75.91018587715779,47.79331120883409],[-75.92170531959253,47.801904691376905],[-75.93555688178058,47.80002170116373],[-75.97513094813337,47.77508281972504],[-75.98602971107603,47.75305370525297],[-75.98688930319827,47.73888160747785],[-76.02109698509442,47.72381900145959],[-76.04862598345215,47.72676400855451],[-76.0905232800601,47.7246789986909],[-76.00061217788588,47.66313033913222],[-75.69884669270871,47.466966840175914],[-75.53952844537632,47.3568650793307],[-75.46483220078967,47.30391753126064],[-75.45731636005412,47.31820186980449],[-75.47383608283776,47.33976662384877],[-75.45962744069165,47.36925250141164],[-75.43027124776184,47.389539505838236],[-75.42141672627365,47.403284501711084],[-75.38904362008311,47.42792711784021],[-75.38228799916325,47.46054070714917],[-75.3678930216656,47.48545509105282],[-75.35518062749455,47.49409197738164],[-75.33581004466484,47.51629423606907]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.67350989029781,\"lat\":47.5855643798025},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2483\"],\"cd_name_en\":[\"La Vall\\u00e9e-de-la-Gatineau\"],\"csd_code\":[\"2483908\"],\"csd_name_en\":[\"Lac-Moselle\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-de-la-Gatineau\",\"csd_name_fr\":\"Lac-Moselle\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.36648791085462,45.683805110165416],[-76.36321489585929,45.68836247051053],[-76.53848037547812,45.75000248006392],[-76.55769460737531,45.72179045690822],[-76.60156159829982,45.66482652809861],[-76.61372817040198,45.65370216523453],[-76.64997649692003,45.606581149949186],[-76.64457488128346,45.603756010862554],[-76.66767878711728,45.57385356178604],[-76.65927494664909,45.560726058091454],[-76.63192194157004,45.54408477583247],[-76.60374500202185,45.53218129686133],[-76.57256359537628,45.52756490553342],[-76.51790853117667,45.51601730747209],[-76.4977135569026,45.516325683025],[-76.49395643911961,45.513454995585846],[-76.36648791085462,45.683805110165416]],[[-76.48333014186503,45.59579852223826],[-76.51890707230565,45.60902175511375],[-76.50918915159251,45.62223938185763],[-76.47217522060018,45.60850038356398],[-76.48333014186503,45.59579852223826]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.52077238143931,\"lat\":45.627377710288556},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2484\"],\"cd_name_en\":[\"Pontiac\"],\"csd_code\":[\"2484015\"],\"csd_name_en\":[\"Clarendon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Pontiac\",\"csd_name_fr\":\"Clarendon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.74086666546006,45.847719170109166],[-76.75097337775989,45.83535367613247],[-76.73134790373705,45.827444404775036],[-76.7242010099614,45.843904906512016],[-76.74086666546006,45.847719170109166]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.73675092099836,\"lat\":45.83821627151124},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2484\"],\"cd_name_en\":[\"Pontiac\"],\"csd_code\":[\"2484060\"],\"csd_name_en\":[\"Fort-Coulonge\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Pontiac\",\"csd_name_fr\":\"Fort-Coulonge\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.92114780510825,45.89422582842495],[-76.93372468644058,45.90617183589953],[-76.95087094816492,45.90550215627066],[-76.97763841433986,45.91258211120656],[-76.98436553975894,45.9043075471639],[-77.02186426913072,45.91352011662373],[-77.04893944592163,45.91344598936964],[-77.10310205967899,45.91330711534011],[-77.18847028749882,45.932154626222086],[-77.20809617075302,45.92344799884695],[-77.23620672549718,45.920549831223525],[-77.23043387121075,45.90554035315722],[-77.19032721643866,45.86386084600654],[-77.16461867131149,45.85804477590905],[-77.13154788714778,45.843984504191795],[-77.08155834183532,45.83558296131784],[-77.06683892917053,45.82792479845651],[-77.05366793917328,45.810582458627444],[-77.02476591999972,45.808634281925485],[-77.01118112710729,45.80421697958472],[-76.99189960690543,45.78901000336356],[-76.98497879698043,45.786077245726254],[-76.93534942273152,45.78908650871266],[-76.91838073603543,45.79837259590243],[-76.91199668388744,45.809670825126226],[-76.92771991897332,45.84503663082155],[-76.91039512545704,45.84728286526499],[-76.90141712603032,45.855051280491864],[-76.92203881851356,45.86976874237292],[-76.92985281173885,45.88783612212535],[-76.92114780510825,45.89422582842495]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.04923476082968,\"lat\":45.86585793580529},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2484\"],\"cd_name_en\":[\"Pontiac\"],\"csd_code\":[\"2484082\"],\"csd_name_en\":[\"L'Isle-aux-Allumettes\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Pontiac\",\"csd_name_fr\":\"L'Isle-aux-Allumettes\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.54967646496253,48.631190224454826],[-77.57616113483071,48.630900340047646],[-77.57681129056617,48.66086570321854],[-77.60239876361115,48.66096895542742],[-77.60263684146204,48.69043712972569],[-77.58841833716457,48.690302953186276],[-77.58863601112458,48.71930757565005],[-77.54969780446244,48.719126332606216],[-77.54882470368347,48.77775599251539],[-77.8780058592808,48.77757184302154],[-77.8791866388695,48.71929736660825],[-77.8500529270637,48.7195367292452],[-77.85006903019651,48.69046022480603],[-77.80005067656779,48.69065080753748],[-77.80100800841228,48.58813051419651],[-77.76943686841756,48.58824369238629],[-77.76943821172321,48.5752040234644],[-77.58613867574988,48.57492970998583],[-77.5857774851231,48.60214218752966],[-77.55023150735207,48.602185581847884],[-77.54967646496253,48.631190224454826]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.7016945919793,\"lat\":48.685777062597516},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2488\"],\"cd_name_en\":[\"Abitibi\"],\"csd_code\":[\"2488015\"],\"csd_name_en\":[\"La Morandi\\u00e8re\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi\",\"csd_name_fr\":\"La Morandi\\u00e8re\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.18529639195604,48.71940910120311],[-78.18451743042507,48.734287159481504],[-78.20603996342327,48.73429867854193],[-78.20580755193983,48.86416405800161],[-78.20633349561074,49.00036192368123],[-78.4250319041148,48.999616652281794],[-78.42505225163436,48.79256162559147],[-78.40782276785458,48.7925355654946],[-78.40771740405584,48.7633969320174],[-78.42484609538137,48.76361544242923],[-78.42474707402418,48.71931004507726],[-78.42502947233281,48.67551092988206],[-78.20578225421303,48.67577801812471],[-78.20589701155662,48.70532867708337],[-78.18560298179973,48.70501515181478],[-78.18529639195604,48.71940910120311]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.31372516667126,\"lat\":48.83722480603057},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2488\"],\"cd_name_en\":[\"Abitibi\"],\"csd_code\":[\"2488070\"],\"csd_name_en\":[\"Berry\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi\",\"csd_name_fr\":\"Berry\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.00575750872386,48.09799622785182],[-78.00392908374447,48.17112825318605],[-78.03886690441853,48.17133648319637],[-78.03825193151306,48.22943745198272],[-78.0853427336901,48.2346324134654],[-78.11373207852654,48.22940793341959],[-78.10401882580425,48.21583427720798],[-78.10376531364473,48.199779523216854],[-78.12567269045621,48.199643236871744],[-78.13149720120113,48.17055429359692],[-78.1810594748644,48.170860219316545],[-78.18128567256615,48.14401207655927],[-78.22040378646919,48.1437206128097],[-78.22065021670021,48.096974201143816],[-78.00575750872386,48.09799622785182]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.0996958689733,\"lat\":48.14899555059703},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2489\"],\"cd_name_en\":[\"La Vall\\u00e9e-de-l'Or\"],\"csd_code\":[\"2489015\"],\"csd_name_en\":[\"Malartic\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-de-l'Or\",\"csd_name_fr\":\"Malartic\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.44389030549014,48.92928155593773],[-74.45545632149505,48.94041136709261],[-74.43766245675573,48.96002310675797],[-74.45892466383634,48.9577248817328],[-74.49310354218422,48.971190781918864],[-74.5154686671143,49.00001876488214],[-74.54094126312282,48.983009929989755],[-74.56805072464242,48.97419316829475],[-74.58286985488193,48.96323153325362],[-74.60417192158596,48.96435789463033],[-74.61101052343912,48.97330669546939],[-74.63050221487791,48.96624997378441],[-74.67626448928608,48.994764948917826],[-74.67628161310266,49.00006720054559],[-75.00000000544928,49.000000004909765],[-75.25000000415396,49.00000000461037],[-75.52506216655978,49.00002915213733],[-75.52337288092548,48.70557997003606],[-75.5227175819758,48.52996712155864],[-75.52177736511742,48.30850898513604],[-75.52121784764023,48.13223068445471],[-75.5203301009979,47.95620383307853],[-75.520457243428,47.84633214181017],[-75.52234980573853,47.76416208798397],[-75.39249972658149,47.76193092954543],[-75.16608199741277,47.761819149529565],[-74.88863101004227,47.76085464423986],[-74.65906525888573,47.7617728913552],[-74.60652313531158,47.76306464217196],[-74.51234203301362,47.761482067466865],[-74.30965462248467,47.62564112030634],[-74.1928322222938,47.54537516147877],[-73.95625328957459,47.388488896261066],[-73.93842410623878,47.40443538746181],[-73.93629731504794,47.42606849538673],[-73.94210999240772,47.437974194991],[-73.92929771488774,47.45040949681143],[-73.91825524469985,47.47052755366821],[-73.73618567907982,47.49692872713378],[-73.56633364214491,47.381967507550335],[-73.31637061759044,47.211221081601416],[-73.2891766116439,47.19134517186213],[-73.26876221067494,47.186402411367176],[-73.25999078194747,47.173916199699335],[-73.23502345279607,47.165921199652324],[-73.20542053613714,47.16775564474365],[-73.18621132149185,47.17544124297319],[-73.16858388178538,47.16432954934056],[-73.1478421484701,47.162825697192744],[-73.11465982230385,47.1686516841328],[-73.09166565819831,47.15828887378382],[-73.10456869344733,47.1475681097183],[-73.10443429027913,47.139012605721454],[-73.01824202894129,47.14121493013904],[-72.99106700614158,47.17282907941414],[-72.99261821732256,47.18202681916281],[-72.96538940384609,47.19291581268574],[-72.94587811708283,47.213532367393896],[-72.9221834307935,47.20940593406096],[-72.90366050985331,47.21570118622527],[-72.88918296957584,47.18285076258363],[-72.86145111542852,47.167430350785075],[-72.70954899377521,47.06175749180017],[-72.63329244964454,47.114812607298376],[-72.53711215797614,47.183706943419864],[-72.54719714345538,47.204104494648675],[-72.54756834461237,47.309668799919415],[-72.50224433453751,47.326650566847576],[-72.47214715166263,47.3349817081775],[-72.47936693555704,47.37940525953983],[-72.44042218303484,47.402317693690854],[-72.4452703152844,47.38666758253747],[-72.40076261296245,47.35376951628467],[-72.42689706778485,47.299851506932626],[-72.34191308601753,47.28373682018319],[-72.32238178522546,47.28384539753163],[-72.28505513003994,47.26558625086849],[-72.2658502360277,47.26732029690078],[-72.25473599584704,47.261517928582414],[-72.24822296037223,47.27209032529203],[-72.25192269136812,47.28506502441157],[-72.2395413331765,47.28945548141701],[-72.21532132863864,47.31411920732069],[-72.2058680513261,47.32931584040857],[-72.20134884548337,47.360657053207724],[-72.18553344821217,47.36572575450774],[-72.30132485517719,47.44505367234283],[-72.35712372623667,47.48175711990667],[-72.3866573857123,47.489112385275924],[-72.4638000840025,47.54228379659964],[-72.54811421670243,47.48866101572584],[-72.64076200522973,47.427266774595815],[-72.75355957012664,47.50375680657824],[-72.65211801729602,47.67062408961218],[-72.60615174468262,47.63775810326041],[-72.57496873761357,47.66155580080518],[-72.56749612388005,47.68069179395553],[-72.54900075819229,47.684904898664016],[-72.50394940529313,47.70412292230397],[-72.48967038257457,47.73419259815585],[-72.4819328703954,47.78117504597276],[-72.48291336941749,47.800073693265425],[-72.46215310164926,47.80643296697135],[-72.42660391691985,47.79515604498492],[-72.40671973723633,47.798725099879256],[-72.39896461007616,47.78642425737939],[-72.38673117864218,47.789789945673256],[-72.38474564930969,47.826612079600125],[-72.35162930946443,47.83770793807806],[-72.2113559911594,47.744703643873194],[-72.17803536913291,47.720017950395885],[-72.07613408721119,47.647909592829286],[-71.89256064159352,47.77256562190623],[-72.07393193204777,47.95024115439231],[-72.12320377570158,47.9992793126226],[-72.24135713492011,47.99968514844316],[-72.31632601629926,47.99844063728517],[-72.45387272687059,47.99999706308211],[-72.65726578199433,47.998966358885056],[-72.83786139669853,47.99864244902739],[-73.0164052753561,47.99872265272682],[-73.17494385329795,48.105069431680505],[-73.41771707922952,48.26637437423742],[-73.59410090913605,48.38248129943544],[-73.83592519456134,48.540194521180496],[-74.01432459293848,48.65546389617689],[-74.2054631718661,48.77795782008867],[-74.36558370035912,48.87977882098901],[-74.39091886303387,48.89425293187171],[-74.44389030549014,48.92928155593773]],[[-74.95617108978182,48.676407209559045],[-74.95458612056645,48.67984479303824],[-74.90483942363751,48.679529692199985],[-74.90155150409004,48.66569861139759],[-74.95071148424381,48.65559239873614],[-74.95617108978182,48.676407209559045]],[[-73.7435210880941,47.923157379537244],[-73.7427298643712,47.89585381945987],[-73.79428298425553,47.90038810799116],[-73.79973508099735,47.906427400054085],[-73.82979928452897,47.91145389334493],[-73.84601191615612,47.94348974789433],[-73.74405257994263,47.94198239665555],[-73.7435210880941,47.923157379537244]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.05258587279597,\"lat\":48.06500666760935},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2490\"],\"cd_name_en\":[\"La Tuque\"],\"csd_code\":[\"2490012\"],\"csd_name_en\":[\"La Tuque\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Tuque\",\"csd_name_fr\":\"La Tuque\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.7435210880941,47.923157379537244],[-73.74405257994263,47.94198239665555],[-73.84601191615612,47.94348974789433],[-73.82979928452897,47.91145389334493],[-73.79973508099735,47.906427400054085],[-73.79428298425553,47.90038810799116],[-73.7427298643712,47.89585381945987],[-73.7435210880941,47.923157379537244]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.78727105616605,\"lat\":47.922755389746605},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2490\"],\"cd_name_en\":[\"La Tuque\"],\"csd_code\":[\"2490802\"],\"csd_name_en\":[\"Communaut\\u00e9 de Wemotaci\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Tuque\",\"csd_name_fr\":\"Communaut\\u00e9 de Wemotaci\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.3198002339741,48.67829198696127],[-72.33662711400272,48.71710761968641],[-72.33672274928131,48.76446666884689],[-72.32271208960178,48.7806641940571],[-72.29158157473441,48.792802749665455],[-72.27166460045385,48.80636747943322],[-72.3258891147088,48.852375339535214],[-72.39586793081564,48.81806429552523],[-72.52937809967094,48.75266724781017],[-72.61099268727635,48.71215947368752],[-72.56056020140231,48.66849826362363],[-72.61727944950985,48.64442716477617],[-72.55814886184105,48.592888694290785],[-72.54874738659963,48.59766733602361],[-72.52487827220814,48.584285807617945],[-72.49951778249746,48.5760792929534],[-72.48241749728406,48.58430888609462],[-72.48199759410075,48.60791369509625],[-72.47113377883316,48.61395080334525],[-72.44463020356228,48.612011093173514],[-72.4420306169218,48.62348130055251],[-72.4216276011903,48.62473110951726],[-72.39044499009464,48.63750584892467],[-72.39159366733057,48.651815471210675],[-72.37725766575991,48.657563594428815],[-72.33960450857273,48.63180306607947],[-72.33114744800396,48.61381238975521],[-72.29560176161043,48.61077967688799],[-72.30724708784793,48.65187412585041],[-72.3198002339741,48.67829198696127]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.44193076347251,\"lat\":48.705576928797846},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2491\"],\"cd_name_en\":[\"Le Domaine-du-Roy\"],\"csd_code\":[\"2491042\"],\"csd_name_en\":[\"Saint-F\\u00e9licien\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Domaine-du-Roy\",\"csd_name_fr\":\"Saint-F\\u00e9licien\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.15080415348665,49.009204585612565],[-72.14441957719976,49.02174505152714],[-72.15134355731553,49.03864896094317],[-72.14862883873671,49.05793685387652],[-72.13565957080792,49.065400881359416],[-72.10294640965093,49.06704102028117],[-72.09891819804695,49.082245503162376],[-72.09940263573984,49.10979871637266],[-72.09261511955265,49.130908090421414],[-72.2003775924297,49.12336874689967],[-72.2538357194977,49.09779626947447],[-72.2331257786587,49.08014142002633],[-72.28732593325968,49.05272945332274],[-72.24359517230458,49.014948467686004],[-72.26140357966058,49.00623759588132],[-72.21271380406132,48.965346449160236],[-72.18354226347829,48.94080527593168],[-72.17509546154808,48.94169873365632],[-72.1564116656687,48.95984756203027],[-72.15025473646192,48.98469845357629],[-72.15594329350606,49.00007585277964],[-72.15080415348665,49.009204585612565]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.18723542995431,\"lat\":49.04976681603413},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2492\"],\"cd_name_en\":[\"Maria-Chapdelaine\"],\"csd_code\":[\"2492070\"],\"csd_name_en\":[\"Saint-Stanislas\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Maria-Chapdelaine\",\"csd_name_fr\":\"Saint-Stanislas\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.87537930650824,54.92407937979469],[-66.86148248001807,54.91041603241627],[-66.74507416434072,54.84700128179195],[-66.72820453400912,54.84339125519378],[-66.7257832962384,54.88185494475614],[-66.86065709486411,54.95229758653578],[-66.87699256793144,54.94666840503343],[-66.87537930650824,54.92407937979469]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.79951905911304,\"lat\":54.898617502998725},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2497\"],\"cd_name_en\":[\"Sept-Rivi\\u00e8res--Caniapiscau\"],\"csd_code\":[\"2497806\"],\"csd_name_en\":[\"Kawawachikamach\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Terres r\\u00e9serv\\u00e9es aux Naskapis\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Sept-Rivi\\u00e8res--Caniapiscau\",\"csd_name_fr\":\"Kawawachikamach\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.21885976053234,62.25032159090248],[-78.16761958122726,62.24326463132404],[-78.0915648713865,62.25378522537692],[-77.89840194944729,62.28958267250449],[-77.870832892101,62.29370820689555],[-77.78047644830403,62.32401169261103],[-77.7395451476733,62.33588142840576],[-77.45439747610011,62.45889011303617],[-77.32938456979436,62.545796884852976],[-77.31587162507914,62.57611486323194],[-77.42550337381175,62.59222868025982],[-77.51549395588346,62.5935914036374],[-77.53376594486137,62.58394725496411],[-77.5554725152923,62.563654111052315],[-77.58252895100672,62.54731272264183],[-77.70064546994963,62.51527150320085],[-77.73503370918584,62.47739285110109],[-77.8496915154702,62.449562607471265],[-77.91453113921219,62.441330330789135],[-77.95022415098573,62.430352744988205],[-78.00000570168184,62.389845666246444],[-78.03029153297159,62.36959388543082],[-78.11392249391669,62.36852901395479],[-78.16232369838377,62.34185412626183],[-78.18055382481916,62.32724311411769],[-78.2240229443214,62.26259745374834],[-78.21885976053234,62.25032159090248]],[[-77.8090096995505,62.44685582421552],[-77.79978446844538,62.37543855901302],[-77.89661806388641,62.37431513674001],[-77.89702361861717,62.379895397791046],[-77.93994039757217,62.40492968574174],[-77.93789317927502,62.41979779127418],[-77.91248529289118,62.42087450216793],[-77.88054901046876,62.43079441254396],[-77.81880281059128,62.43470968949833],[-77.8090096995505,62.44685582421552]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.75944516518224,\"lat\":62.41468907972696},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499885\"],\"csd_name_en\":[\"Ivujivik\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Terre inuite\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Ivujivik\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-68.2369923695614,58.1250545299071],[-68.21171289192195,58.13516439970786],[-68.20333911654596,58.150894597028056],[-68.22079015894887,58.16119851489555],[-68.200914495826,58.2340931928878],[-68.22391919638987,58.24376759602886],[-68.2369923695614,58.1250545299071]]],[[[-68.29651778044384,58.2629551077958],[-68.27863419044733,58.27714248430069],[-68.27976308981529,58.29135419006061],[-68.2707374952568,58.30822408613325],[-68.23159959740173,58.34719508593679],[-68.22084218530375,58.37463959732125],[-68.21538134688915,58.41683119809773],[-68.26028197892002,58.41863174280311],[-68.40016714108187,58.374976509682156],[-68.40945701378209,58.38884619678488],[-68.44417271641298,58.38456242892481],[-68.46486571543912,58.349215485107315],[-68.45123496928902,58.3066071508425],[-68.4694766860275,58.255454800448355],[-68.49939187221764,58.24314440512837],[-68.53112809456167,58.25539925572614],[-68.54076884587725,58.30116221896596],[-68.56960400150884,58.29978578764854],[-68.57358010320594,58.270044410397524],[-68.59216899903018,58.25000000893914],[-68.61506541376829,58.25093499196733],[-68.63520410353692,58.21148090308336],[-68.64160902379255,58.17251910201444],[-68.59130220667763,58.173971187645265],[-68.60011999263041,58.15704828627914],[-68.6143204104502,58.153993107859755],[-68.6174800073569,58.13627880036903],[-68.5966586196267,58.133309803442245],[-68.58986549713893,58.12410519230398],[-68.60271554532537,58.107847452578845],[-68.5367104125267,58.03675250370781],[-68.53921202137991,58.089564978791344],[-68.45546825793032,58.25003790873622],[-68.35969183011257,58.25676714062591],[-68.29651778044384,58.2629551077958]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.4281872604587,\"lat\":58.26561677565978},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499893\"],\"csd_name_en\":[\"Kuujjuaq\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Terre inuite\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Kuujjuaq\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.43837861840503,45.39379269141358],[-74.4939652338529,45.407546716768344],[-74.58089150398769,45.508859002148675],[-74.61364960934881,45.49536098989193],[-74.74144908985505,45.4425037069908],[-74.73269689040792,45.42360730824036],[-74.81511770146982,45.38748349992252],[-74.88891066512211,45.358346754716145],[-74.88386111255892,45.35120341238332],[-74.91597566316744,45.33804146811642],[-74.83672240039188,45.23458994436748],[-74.82722754915478,45.238550805389664],[-74.78698837575953,45.189170041894826],[-74.67631684776028,45.24016605921821],[-74.60669658339553,45.26994519875328],[-74.62080649986108,45.28699070340544],[-74.45237797090921,45.355902114731606],[-74.43837861840503,45.39379269141358]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.68267449485244,\"lat\":45.34990435174317},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3501\"],\"cd_name_en\":[\"Stormont\",\"Dundas and Glengarry\"],\"csd_code\":[\"3501050\"],\"csd_name_en\":[\"North Glengarry\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Stormont, Dundas and Glengarry\",\"csd_name_fr\":\"North Glengarry\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.38198745450181,44.99633122565877],[-76.51842145617573,44.9108803431198],[-76.53819489119387,44.90558710025431],[-76.57075237252279,44.88499577568137],[-76.60849872224345,44.85779917268889],[-76.54459715744127,44.74069487934262],[-76.52566459620745,44.72119583474371],[-76.50092173708843,44.736849629167395],[-76.40232353928927,44.794601826486925],[-76.29119048830643,44.704117816677005],[-76.25984500612223,44.71942208525847],[-76.2355624342576,44.7367703001175],[-76.22045682642943,44.75442876444444],[-76.20027175319453,44.78911265638242],[-76.19814616226823,44.80346105161152],[-76.18828782222738,44.81424876688222],[-76.26178101002205,44.878870999556646],[-76.2511909002363,44.885430691436625],[-76.27035833295241,44.88903341397961],[-76.28286207917805,44.89877064171182],[-76.27665389129976,44.911001202201376],[-76.30758110376624,44.93493369867019],[-76.38198745450181,44.99633122565877]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.39569499073318,\"lat\":44.84159062517988},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3509\"],\"cd_name_en\":[\"Lanark\"],\"csd_code\":[\"3509015\"],\"csd_name_en\":[\"Tay Valley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Lanark\",\"csd_name_fr\":\"Tay Valley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.42324955372565,44.13077194038524],[-77.44725260461676,44.17967870181468],[-77.41149128515983,44.18832349969558],[-77.4728893083964,44.31417934326561],[-77.54086958917492,44.29777348591134],[-77.53741962430848,44.290430984790746],[-77.56393439172241,44.284031801193045],[-77.56743410948046,44.29123191347381],[-77.64619308415509,44.27215700922364],[-77.65362233465487,44.2578533926523],[-77.683880553409,44.26293498746551],[-77.713566952034,44.250034395855316],[-77.75449185256193,44.23869047328767],[-77.71142705756108,44.14648427572158],[-77.68507901564384,44.09217089216818],[-77.68879781715252,44.09125508451606],[-77.66410822211336,44.037961842748004],[-77.64124997200034,43.99289602957799],[-77.62507714024109,43.99716936590404],[-77.62792793373924,44.00287879349842],[-77.58035019445518,44.05025549766655],[-77.565621872191,44.07860121321665],[-77.54192313579647,44.08508279886942],[-77.49999998869758,44.10989244361669],[-77.45598290688008,44.120456533289406],[-77.42324955372565,44.13077194038524]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.58143574277591,\"lat\":44.17624287179193},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3512\"],\"cd_name_en\":[\"Hastings\"],\"csd_code\":[\"3512015\"],\"csd_name_en\":[\"Quinte West\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Hastings\",\"csd_name_fr\":\"Quinte West\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.06530063909557,43.93087082267655],[-78.11821009781713,44.04622673150403],[-78.17854700875623,44.1712951222802],[-78.22031446314196,44.14271369759292],[-78.22661743868133,44.14987857448989],[-78.27098870995088,44.12649695287478],[-78.29255222094989,44.12492684853594],[-78.30806440376766,44.12924670051655],[-78.34703320008303,44.11986848635368],[-78.24983400244369,43.919846571408705],[-78.19454359882009,43.92085408346894],[-78.21485482130484,43.96774217460141],[-78.20616554675082,43.978743740405235],[-78.18874509173484,43.98145009715497],[-78.15853455049637,43.99264062117481],[-78.13862469377437,43.99619587209879],[-78.1184397091769,43.951426717070696],[-78.16868024308314,43.9496689300625],[-78.1858366578585,43.951409100502154],[-78.17190622209222,43.92126218201472],[-78.1294381069128,43.922421641448544],[-78.06530063909557,43.93087082267655]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.20873698297979,\"lat\":44.038401298069275},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3514\"],\"cd_name_en\":[\"Northumberland\"],\"csd_code\":[\"3514019\"],\"csd_name_en\":[\"Hamilton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Northumberland\",\"csd_name_fr\":\"Hamilton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.79035675145577,43.60223143766928],[-79.76092652624894,43.61468453050446],[-79.73970173176237,43.638612509982806],[-79.70850078487602,43.654236854872394],[-79.69082299968557,43.66869501435272],[-79.67388081050652,43.706273498796314],[-79.63936207574763,43.73732501438051],[-79.63047380109235,43.73639658992918],[-79.63930240562539,43.74984570709066],[-79.69521541985628,43.847718118794496],[-79.81966947790879,43.73872706717044],[-79.8888708961116,43.67489059371548],[-79.79035675145577,43.60223143766928]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.7523770929727,\"lat\":43.71525551990276},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3521\"],\"cd_name_en\":[\"Peel\"],\"csd_code\":[\"3521010\"],\"csd_name_en\":[\"Brampton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Peel\",\"csd_name_fr\":\"Brampton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.69521541985628,43.847718118794496],[-79.71151275544555,43.87576071012154],[-79.7755043990594,43.98975751106231],[-79.83358198183338,43.97703620796853],[-79.95117640653083,43.95142348852157],[-80.07033229875049,43.92516504280403],[-80.07123381409012,43.91548738983852],[-80.09712807227584,43.907900823100526],[-80.11743120148226,43.88926059597038],[-80.14385529018294,43.86511208635358],[-80.13987539092564,43.86153918663345],[-79.9690347088406,43.73445100022692],[-79.8888708961116,43.67489059371548],[-79.81966947790879,43.73872706717044],[-79.69521541985628,43.847718118794496]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.90213349919016,\"lat\":43.84883325599093},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3521\"],\"cd_name_en\":[\"Peel\"],\"csd_code\":[\"3521024\"],\"csd_name_en\":[\"Caledon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Peel\",\"csd_name_fr\":\"Caledon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.4839792409303,42.63146766462257],[-82.24532589655327,42.62673350069247],[-82.24515491009346,42.630953689340636],[-82.24013711035856,42.76215440423603],[-82.23411526155591,42.92087738963935],[-82.3567124809928,42.92353231132574],[-82.37683628567564,42.92191025599721],[-82.37692140627698,42.91171768771934],[-82.41705130401122,42.9121753928306],[-82.43765842840592,42.912353312917006],[-82.4480896136682,42.91243590535565],[-82.46016651881168,42.91196141196957],[-82.4703098826679,42.8874683879979],[-82.46822749503112,42.85542808405357],[-82.48204218997932,42.808162253863365],[-82.47185659063042,42.78607789046263],[-82.46739909762707,42.76247840964833],[-82.48387827912708,42.733485280819416],[-82.4836540021992,42.718440367697596],[-82.49462563844237,42.70031409978545],[-82.5104918031095,42.66481401362881],[-82.50973321324359,42.639615738921],[-82.4839792409303,42.63146766462257]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.35989536517395,\"lat\":42.77047136119896},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3538\"],\"cd_name_en\":[\"Lambton\"],\"csd_code\":[\"3538003\"],\"csd_name_en\":[\"St. Clair\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Lambton\",\"csd_name_fr\":\"St. Clair\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.16159045445721,42.881594052661676],[-82.16598120056122,42.86930370517235],[-82.15230435007611,42.86256749384708],[-82.13470200076344,42.86939189614757],[-82.11636941942487,42.86916674504408],[-82.11574608112224,42.89345430963168],[-82.12341780891255,42.90015046489716],[-82.14586312616926,42.900356429413584],[-82.16072251466247,42.89455049127717],[-82.16159045445721,42.881594052661676]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.1398329841322,\"lat\":42.88264914956382},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3538\"],\"cd_name_en\":[\"Lambton\"],\"csd_code\":[\"3538019\"],\"csd_name_en\":[\"Petrolia\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Lambton\",\"csd_name_fr\":\"Petrolia\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.26267607871465,45.53631058434845],[-80.26364165908711,45.54353451185559],[-80.30911073202105,45.55208010618005],[-80.33747495789382,45.5541735035159],[-80.33853812401081,45.50233232717528],[-80.31744670116899,45.501438963349436],[-80.2618263411914,45.50025377317787],[-80.26267607871465,45.53631058434845]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.30143195647564,\"lat\":45.5254420924569},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3549\"],\"cd_name_en\":[\"Parry Sound\"],\"csd_code\":[\"3549072\"],\"csd_name_en\":[\"Shawanaga 17\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Parry Sound\",\"csd_name_fr\":\"Shawanaga 17\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.75990740706843,47.49400992824257],[-79.75974301636602,47.58077449739882],[-79.88846395167623,47.5807440504225],[-79.8878507085977,47.494125907936876],[-79.75990740706843,47.49400992824257]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.82397328896626,\"lat\":47.53745738716834},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3554\"],\"cd_name_en\":[\"Timiskaming\"],\"csd_code\":[\"3554021\"],\"csd_name_en\":[\"Hudson\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Timiskaming\",\"csd_name_fr\":\"Hudson\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-83.07786359509493,49.5798115403393],[-83.07765093522937,49.71036352281688],[-83.25542378550779,49.70849530850355],[-83.25876267237724,49.71033480806655],[-83.37953792079165,49.71076687272306],[-83.47882031728135,49.710072142473706],[-83.47886250402347,49.579894243868985],[-83.25852430247794,49.5797266092893],[-83.07786359509493,49.5798115403393]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-83.27857034166762,\"lat\":49.644908100819165},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3556\"],\"cd_name_en\":[\"Cochrane\"],\"csd_code\":[\"3556077\"],\"csd_name_en\":[\"Mattice-Val C\\u00f4t\\u00e9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Cochrane\",\"csd_name_fr\":\"Mattice-Val C\\u00f4t\\u00e9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-83.06904395925152,46.23308120021946],[-83.07064683395649,46.26478438824092],[-83.1982568699372,46.26496987465358],[-83.20098707148597,46.35145110940645],[-83.32148839179264,46.35068337507619],[-83.3921629932444,46.35392508883485],[-83.53827516481284,46.35289882791331],[-83.64463599268808,46.35363840915643],[-83.65754572238761,46.35340311255289],[-83.65267160444783,46.272543338916215],[-83.64095879852306,46.11900963399611],[-83.57194423520195,46.105777793846585],[-83.43618489954615,46.00004740004684],[-83.383171870968,46.00008523663472],[-83.24549426231277,46.004528081825576],[-83.0627249474042,46.007167077940096],[-83.06969038927389,46.224149522742486],[-83.06904395925152,46.23308120021946]],[[-83.5459712023544,46.27079320159029],[-83.54030754051527,46.256022195788994],[-83.56503103215435,46.25059139488709],[-83.56793665676742,46.26112860242265],[-83.5459712023544,46.27079320159029]],[[-83.39367693077978,46.26714226567964],[-83.39241073621093,46.23615412924195],[-83.43212420897859,46.23914617203256],[-83.43248118283202,46.26745759342511],[-83.39367693077978,46.26714226567964]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-83.35448080109113,\"lat\":46.180144404626134},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3557\"],\"cd_name_en\":[\"Algoma\"],\"csd_code\":[\"3557035\"],\"csd_name_en\":[\"Huron Shores\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Algoma\",\"csd_name_fr\":\"Huron Shores\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.43675971385355,46.218037126265195],[-82.43665720035922,46.2773107090021],[-82.56570111332864,46.2762880007848],[-82.81347362884527,46.27202355652531],[-82.81743638881866,46.271992652403554],[-82.81637184852802,46.22110482179153],[-82.84316198137189,46.20531221352014],[-82.83537327988023,46.190406010587935],[-82.83643594330319,46.15709650166088],[-82.83452765898795,46.012077965341696],[-82.53411635509346,46.01703046056039],[-82.42974729547619,46.019084114962894],[-82.43382246329327,46.128193958216805],[-82.47633944004048,46.12974000964063],[-82.45878393300987,46.13898380703081],[-82.43438220879986,46.14307846846353],[-82.43593225652404,46.18440541555846],[-82.45384645191311,46.172734600714364],[-82.45869353302592,46.18456200623491],[-82.44699835055151,46.196635908050716],[-82.4685213318117,46.199853315785184],[-82.50260314613593,46.18104100442129],[-82.55566694073488,46.16557089255883],[-82.57055305350252,46.16884141720488],[-82.62718715480811,46.16570040132333],[-82.64200005362159,46.157667401774184],[-82.67844134517615,46.15793920275478],[-82.68205333522918,46.187631999935476],[-82.64239935884127,46.201969998085104],[-82.63519933275157,46.19958020321476],[-82.61006914263291,46.2089639011818],[-82.59108444540423,46.203820316376266],[-82.56660443795958,46.20859531463811],[-82.54728504441239,46.207544408687916],[-82.51057343687282,46.212769517183595],[-82.43675971385355,46.218037126265195]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.6400158994074,\"lat\":46.13977064749552},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3557\"],\"cd_name_en\":[\"Algoma\"],\"csd_code\":[\"3557040\"],\"csd_name_en\":[\"The North Shore\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Algoma\",\"csd_name_fr\":\"The North Shore\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-83.83875672220604,46.43919044926325],[-83.84044657675324,46.52937283166121],[-83.91179562138898,46.52921779754018],[-83.93155122613005,46.52937056006335],[-84.02751734417795,46.52878450610077],[-84.0255871615711,46.51309531438776],[-84.05137564298857,46.50730081672684],[-84.08186394895246,46.511717398227724],[-84.09246153172666,46.50123140302594],[-84.11332083330461,46.514651614955945],[-84.11023096351074,46.52636290486402],[-84.12899984579916,46.53049999742946],[-84.1111387598217,46.50422222004528],[-84.1363850384306,46.44247356851736],[-84.0993114978754,46.44131326382347],[-83.94077575403769,46.44155097299249],[-83.93324874190893,46.438766394201544],[-83.87049171579677,46.4385078119027],[-83.83856895786907,46.43122810562793],[-83.83875672220604,46.43919044926325]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-83.97271309838588,\"lat\":46.48155702607823},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3557\"],\"cd_name_en\":[\"Algoma\"],\"csd_code\":[\"3557051\"],\"csd_name_en\":[\"Macdonald\",\"Meredith and Aberdeen Additional\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Algoma\",\"csd_name_fr\":\"Macdonald, Meredith and Aberdeen Additional\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-88.23557154707444,49.032841686643444],[-88.25294301604232,49.03952940292437],[-88.34255809155414,49.03843790397303],[-88.4324139331485,49.03952139597977],[-88.43314973081975,48.966965121038136],[-88.25110133146052,48.96584423123513],[-88.2480695796905,48.95361360071243],[-88.23403270771641,48.94898705732493],[-88.23486706004319,49.0251620705382],[-88.24802788424097,49.02555258599894],[-88.24597731030931,49.03395664635548],[-88.23557154707444,49.032841686643444]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-88.33298038353142,\"lat\":49.00164864750202},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3558\"],\"cd_name_en\":[\"Thunder Bay\"],\"csd_code\":[\"3558044\"],\"csd_name_en\":[\"Nipigon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Thunder Bay\",\"csd_name_fr\":\"Nipigon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.41928830191156,52.929674700192734],[-82.42394851139254,52.932313902199624],[-82.44101650629793,52.92379730536497],[-82.42900301658288,52.92096529401429],[-82.41928830191156,52.929674700192734]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.42911100248517,\"lat\":52.92629041684746},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560051\"],\"csd_name_en\":[\"Attawapiskat 91A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Attawapiskat 91A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-94.50506051812074,49.904122560471485],[-94.53245015192775,49.91379549878825],[-94.55159859901946,49.91550884472129],[-94.55313784645564,49.92509343522162],[-94.57721903381481,49.93069582729183],[-94.58045867184127,49.92079343373424],[-94.56805396699865,49.901290221638476],[-94.57734893923347,49.88013412274396],[-94.56130947134345,49.86879293059211],[-94.57827684019861,49.86419152945962],[-94.56907005966738,49.84544521933699],[-94.54979596162154,49.846232094878886],[-94.5065907505209,49.85615978483972],[-94.50506051812074,49.904122560471485]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-94.54296396311004,\"lat\":49.88411067440781},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560089\"],\"csd_name_en\":[\"The Dalles 38C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"The Dalles 38C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-85.42044149066771,54.99125221397086],[-85.41919710251354,55.009573019489935],[-85.43187190245611,55.01673630869899],[-85.42989289135377,54.99509385928206],[-85.42044149066771,54.99125221397086]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-85.42543969406516,\"lat\":55.003684012255306},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560091\"],\"csd_name_en\":[\"Peawanuck\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian settlement \\/ \\u00c9tablissement indien\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Peawanuck\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-96.5296922766358,50.68034737585045],[-96.54513552919157,50.680290441147385],[-96.54806592150581,50.68030684570206],[-96.565189674351,50.67097933593542],[-96.6031547556884,50.66171974859438],[-96.59291095867604,50.629038046356236],[-96.59164274217511,50.60570663422071],[-96.57906264537974,50.58699773520245],[-96.58272149576032,50.58224578846486],[-96.58303299768,50.54781819319485],[-96.58302338031271,50.533102590236076],[-96.53727278640085,50.53306091060744],[-96.53758609444775,50.416013611010044],[-96.44542291574079,50.41527010261342],[-96.44526489731555,50.3263317051262],[-96.35315818449247,50.326833887509615],[-96.3532902149287,50.415161287364974],[-96.21525287158956,50.414734463973566],[-96.0752542683098,50.415086044858995],[-96.07534625101705,50.39712621386971],[-95.96651985685303,50.39624842169425],[-95.8097057194912,50.39589298040161],[-95.81440885673534,50.36685459110968],[-95.809340570416,50.33633424831988],[-95.81002556618884,50.22157266078757],[-95.82121798381897,50.22161202388489],[-95.82108750084542,50.19240698149629],[-95.63979425591124,50.192405375285766],[-95.63990453460443,50.22157658533041],[-95.6028626983278,50.22186416491891],[-95.60330081177581,50.337681696741654],[-95.53464710188554,50.33767649046308],[-95.53480590949218,50.36480117053766],[-95.53358189057565,50.4607947885557],[-95.5344280525277,50.48299928771785],[-95.87087997402053,50.48362264088618],[-95.94645855335813,50.48323068962917],[-95.94608358657565,50.57035354176783],[-96.074956824765,50.57158732551288],[-96.07543175289965,50.591510285786526],[-96.21465950417863,50.59181062826108],[-96.21534886251679,50.57552619830721],[-96.18482141335485,50.562128196469736],[-96.19082230183923,50.554885991738374],[-96.21541624532327,50.55507425281529],[-96.21542927293963,50.55341295045461],[-96.32929123955262,50.5531973904864],[-96.32954758450049,50.59665124814637],[-96.37524648369585,50.596960540944885],[-96.3748844718934,50.620069298667836],[-96.38938364754559,50.62120792675094],[-96.41134654113202,50.631673624969146],[-96.46029376569813,50.64687323932876],[-96.47402236203027,50.6551951430266],[-96.47728616153334,50.66689602818095],[-96.49542074367189,50.680095831839765],[-96.5296922766358,50.68034737585045]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-96.06243178168988,\"lat\":50.44847204156993},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4601\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4601071\"],\"csd_name_en\":[\"Alexander\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Alexander\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-98.595858377762,50.50749082234372],[-98.59643025635371,50.52239622769371],[-98.60660254799427,50.559582228284846],[-98.6384671638416,50.576156529187806],[-98.64399419027528,50.59488648648697],[-98.7068183005063,50.59500049450381],[-98.70712701417125,50.50610518999395],[-98.62652259709635,50.50603448688597],[-98.595858377762,50.50749082234372]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-98.65837831957144,\"lat\":50.54610330632842},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4608\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4608069\"],\"csd_name_en\":[\"Sandy Bay 5\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Sandy Bay 5\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.88390759771464,50.94989946348658],[-98.30355139437717,50.94828059051929],[-98.30321098042165,51.081941002858265],[-98.30031100238817,51.1252598590399],[-98.25671395393432,51.12627589655345],[-98.25638401046528,51.24391979106189],[-98.577841285574,51.24401948835829],[-98.58632665359167,51.24479605273592],[-98.56705824880568,51.22212013408467],[-98.54797695585371,51.214831752354286],[-98.55689087943794,51.205747631554566],[-98.5746682539043,51.201241039818235],[-98.59736117645885,51.18080104562699],[-98.60961036379443,51.17627443974688],[-98.65254077986938,51.185860751240085],[-98.64570845537692,51.161583551712134],[-98.65956694745896,51.16438533907988],[-98.65714646449585,51.14460423831612],[-98.6751702630814,51.13892755011976],[-98.67758127092377,51.12933492969415],[-98.64451227868423,51.11346655060061],[-98.64247367029918,51.093465735972465],[-98.69504224130115,51.08740543160652],[-98.70918108003511,51.081155727294494],[-98.72547625727161,51.10182373019766],[-98.7324498809825,51.12344393892083],[-98.75433006476436,51.113353143112505],[-98.77290935556513,51.12058005101086],[-98.74090186732859,51.09288901605349],[-98.75897736530742,51.089182348104465],[-98.76220577840218,51.07498094880231],[-98.73673646828458,51.06185594978424],[-98.71760116728082,51.05934282882065],[-98.71905287802299,51.043461148624246],[-98.73279767566204,51.038336233961985],[-98.74668745155547,51.06099664840468],[-98.7762427640243,51.05164192820772],[-98.78568518448996,51.0413452505011],[-98.78446427136177,51.01856514431497],[-98.74987334745217,50.99540344458623],[-98.76774947818004,50.98830922800398],[-98.7794281510534,50.9922391284262],[-98.79245495878051,50.980311948913325],[-98.77025935290168,50.958989437653166],[-98.77178584857458,50.92783762831707],[-98.75898845006999,50.91098213093593],[-98.73685938206013,50.90154153507615],[-98.70960678081448,50.901184648504575],[-98.70866946850238,50.886173535550505],[-98.67542195991317,50.89468284029117],[-98.65167477400034,50.90438494181126],[-98.6458329556184,50.890806445110286],[-98.61921087591247,50.90987252653573],[-98.62770498670795,50.92292827181426],[-98.63355266609943,50.92300303368918],[-98.63339919225517,50.97091508869431],[-98.58501479557337,50.97141333947005],[-98.58470706560327,50.963688966108094],[-98.56079948288236,50.963506152789165],[-98.5600339670818,50.89656734361496],[-98.4592574873584,50.895873738649215],[-98.45892087731637,50.85671303651345],[-98.45298644575931,50.84540844737496],[-98.39542718063504,50.8286809369515],[-98.38020096342595,50.81938794614747],[-98.37249155740254,50.805677448312764],[-98.34189374725402,50.78088624088787],[-98.33547971741764,50.77114920916134],[-98.16546561541136,50.77204579905361],[-97.87856374807266,50.771582520489595],[-97.87850480449502,50.86058442193124],[-97.8783067039553,50.9498538195479],[-97.88390759771464,50.94989946348658]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-98.35699782211296,\"lat\":50.98350860396188},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4618\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4618056\"],\"csd_name_en\":[\"West Interlake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"West Interlake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-98.59369588568605,51.71902231412845],[-98.61740889602024,51.71930020959916],[-98.61744591999093,51.688447246188744],[-98.5860971165454,51.68885440667176],[-98.6064357802158,51.65425789059584],[-98.5744209454099,51.65025414595135],[-98.5806458532856,51.66142693019514],[-98.56063075466636,51.6664789397418],[-98.55298144253356,51.686334832083894],[-98.55508145403253,51.69863422818325],[-98.53934308447315,51.71134522342501],[-98.59378328122587,51.71126349174559],[-98.59369588568605,51.71902231412845]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-98.58322874833964,\"lat\":51.689380895417656},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4618\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4618063\"],\"csd_name_en\":[\"Little Saskatchewan 48\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Little Saskatchewan 48\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-97.83563433306531,53.95724695062758],[-97.7932942692975,53.97566735200784],[-97.80030769153892,53.983292594463194],[-97.83185782516139,53.96507941575789],[-97.83563433306531,53.95724695062758]]],[[[-97.66209052590904,54.1375392409615],[-97.68361783036079,54.112462745099904],[-97.71689324235314,54.09747633048011],[-97.74718612512963,54.078659932747954],[-97.74520106057926,54.06856953171494],[-97.72827306124499,54.053682447423064],[-97.72229424194164,54.039432434659574],[-97.72787706301467,54.029929039598386],[-97.75792086122935,54.02224453159011],[-97.76048504563897,54.00332653571049],[-97.79023945412438,53.97546303178383],[-97.86679254683254,53.939619738135434],[-97.87801573858968,53.92919144482663],[-97.87012547127367,53.91300979696391],[-97.83726245824583,53.91344720234377],[-97.83139399978155,53.92203638735628],[-97.78359007308264,53.92243407374999],[-97.78474306089728,53.9431093657818],[-97.74187528478076,53.944374825408055],[-97.74356673856857,54.00758779977219],[-97.7149820755032,54.008112487375804],[-97.71579942161404,54.021639617470335],[-97.69811343331999,54.02214424571358],[-97.69886318572146,54.09613744657765],[-97.6800331571309,54.09666257859352],[-97.68012674788207,54.10713329861531],[-97.65523211946783,54.107453940462456],[-97.64634480775365,54.12115885213622],[-97.64618989578231,54.13993672051476],[-97.66209052590904,54.1375392409615]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.76146674283844,\"lat\":54.00131742575537},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4622\"],\"cd_name_en\":[\"Division No. 22\"],\"csd_code\":[\"4622058\"],\"csd_name_en\":[\"Norway House 17\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 22\",\"csd_name_fr\":\"Norway House 17\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-96.08685307666616,56.33970340344932],[-96.1463611824046,56.33962198970968],[-96.1383608314255,56.3325510453571],[-96.14516832136273,56.319175854723944],[-96.18122094265925,56.303142141442926],[-96.19295193319691,56.305674435072575],[-96.24931654043418,56.29114134689372],[-96.3319924362043,56.26332833619533],[-96.36915474583694,56.242915850059525],[-96.40409833134629,56.23454835489972],[-96.43247231857133,56.22309383622035],[-96.4101969187768,56.2175218433867],[-96.41588381786936,56.19982124649263],[-96.43719085188172,56.19638683873512],[-96.44253322336364,56.207870954859246],[-96.47860983313254,56.206169458276634],[-96.48286003583054,56.216398950249065],[-96.50547561370097,56.21186955113869],[-96.503792511714,56.2017173368329],[-96.48136751726392,56.191340739779086],[-96.49672094991242,56.175466232465936],[-96.45385550105902,56.17143002546126],[-96.41622395205698,56.19020563981776],[-96.40894491054331,56.217197633587695],[-96.3970366815876,56.23532579754636],[-96.2237715237837,56.23978503621224],[-96.22051102745344,56.19956284539815],[-96.18465794471302,56.199160347133414],[-96.18377714940081,56.213722448673835],[-96.2105841154556,56.21948304983391],[-96.189467042681,56.23597573132123],[-96.18870734315603,56.24529358745419],[-96.13094188133705,56.24037097653024],[-96.08659098681152,56.2405598737191],[-96.07952074384842,56.24369725343345],[-95.99904383160312,56.24342296975378],[-96.00011412916032,56.27945797311224],[-96.0591368867839,56.258207758744376],[-96.08538151107166,56.26533196270125],[-96.0796016092461,56.285463387167724],[-96.08685307666616,56.33970340344932]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-96.2081837500981,\"lat\":56.261071523494095},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4622\"],\"cd_name_en\":[\"Division No. 22\"],\"csd_code\":[\"4622063\"],\"csd_name_en\":[\"Split Lake 171\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 22\",\"csd_name_fr\":\"Split Lake 171\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.17713244505299,49.238970522280766],[-102.1860307713273,49.22362518809754],[-102.15223500940289,49.22454911560659],[-102.15223425191792,49.231752282263436],[-102.17713244505299,49.238970522280766]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.16887005609665,\"lat\":49.2297527006363},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701014\"],\"csd_name_en\":[\"Oxbow\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Oxbow\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-102.68378111859982,49.85327874172791],[-102.68765454819855,49.88687494419262],[-102.71880681432816,49.88678911341968],[-102.73384276250665,49.89479624040028],[-102.73459112498152,49.872143458521464],[-102.72874040107993,49.869818791597744],[-102.7291054944468,49.83100499496779],[-102.6837728898722,49.82832640532153],[-102.68378111859982,49.85327874172791]]],[[[-102.62439905955942,49.835788423740425],[-102.62439388177714,49.828626294779596],[-102.65044145567043,49.82825716035806],[-102.6505704406259,49.80631760629882],[-102.7060819232546,49.80646294658868],[-102.70577184667778,49.799751445962215],[-102.7743424040572,49.79914840135119],[-102.77428057578645,49.7848569276307],[-102.80817268296946,49.78468408404245],[-102.80328990688217,49.770031759676115],[-102.81942954963071,49.770037454814215],[-102.81954469636504,49.73565641906012],[-102.78522962125197,49.7556299496013],[-102.79712331553402,49.76278965696993],[-102.72914106596346,49.76276014983709],[-102.729127077318,49.755504143225295],[-102.68379586741105,49.75507849714396],[-102.68380368469661,49.78459049774253],[-102.66159115038901,49.78458609779769],[-102.63855495253725,49.784587180556436],[-102.63826744414096,49.79892672887551],[-102.62417050608761,49.799293808084926],[-102.61585731112993,49.81275349882902],[-102.62439905955942,49.835788423740425]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.71626885324558,\"lat\":49.80442258144442},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701819\"],\"csd_name_en\":[\"Pheasant Rump Nakota 68\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Pheasant Rump Nakota 68\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.22590870559536,49.522711102175414],[-103.62042156657634,49.522695010004526],[-103.62131369568709,49.4926140743552],[-103.61949984097842,49.392415288460214],[-103.62074231195263,49.375685087663236],[-103.62065018345861,49.26074839043603],[-103.21687473231832,49.260704634430816],[-103.21735541457569,49.52270548417883],[-103.22590870559536,49.522711102175414]],[[-103.56477750366618,49.48204366809237],[-103.56564661469868,49.49371461869348],[-103.5534749886777,49.493745691474714],[-103.55349295490358,49.482193582343264],[-103.56477750366618,49.48204366809237]],[[-103.4148853198856,49.39069855103044],[-103.41896983391298,49.40244908567394],[-103.40226080917839,49.40274244772233],[-103.40168281160575,49.39178108455106],[-103.4148853198856,49.39069855103044]],[[-103.25499852549355,49.30757909872341],[-103.27388758861007,49.31162431784856],[-103.27358930087541,49.31892699831722],[-103.25117505774533,49.31893111427436],[-103.25499852549355,49.30757909872341]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.41895963410005,\"lat\":49.39170691513706},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4702\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4702037\"],\"csd_name_en\":[\"Cymri No. 36\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Cymri No. 36\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.65999491887752,49.642201565538116],[-104.65408253690701,49.64980464779711],[-104.66566481750108,49.64979043012287],[-104.65999491887752,49.642201565538116]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.65991409109519,\"lat\":49.64726554781937},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4702\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4702054\"],\"csd_name_en\":[\"Pangman\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Pangman\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.85173619650867,49.78472109625454],[-105.12332871746192,49.7847683073801],[-105.25780214268866,49.78501901585908],[-105.25782796305968,49.78460989694966],[-105.25830863114606,49.7396980897119],[-105.25797616700402,49.52303747684314],[-105.23428329694696,49.52278209120694],[-104.85201861302608,49.522762788655726],[-104.85173619650867,49.78472109625454]],[[-104.91966889846549,49.580764708709964],[-104.90841517744879,49.58098126501092],[-104.90901450772857,49.566582098549034],[-104.91973258153791,49.566550361217345],[-104.91966889846549,49.580764708709964]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.0552352117092,\"lat\":49.65392880787381},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4702\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4702057\"],\"csd_name_en\":[\"Key West No. 70\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Key West No. 70\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.38296470902088,49.20347179598182],[-108.38152875737939,49.210835005597836],[-108.40094537500244,49.21037266739307],[-108.38296470902088,49.20347179598182]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.38847961380091,\"lat\":49.20822648965757},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4704\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"4704009\"],\"csd_name_en\":[\"Climax\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Climax\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.14353769965005,50.48163000749285],[-102.15628649542295,50.48407123433866],[-102.15638937623461,50.477083029647304],[-102.14355284199652,50.47701093479426],[-102.14353769965005,50.48163000749285]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.15037795485902,\"lat\":50.47998925935222},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705818\"],\"csd_name_en\":[\"Ochapowace 71-54\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Ochapowace 71-54\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.80867084615932,50.76863540831389],[-103.80904055231363,50.75351020985522],[-103.77383224795705,50.75369427113382],[-103.77406894220057,50.771991554061685],[-103.79466730448638,50.77547620294733],[-103.7972850453258,50.77784973296589],[-103.80885547128184,50.7733329986706],[-103.80867084615932,50.76863540831389]],[[-103.79173989849085,50.759444519767236],[-103.78485784826378,50.75955841792624],[-103.78479352035767,50.754431852796756],[-103.79308593270427,50.7545861171337],[-103.79173989849085,50.759444519767236]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.7920968403434,\"lat\":50.76450847182082},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706051\"],\"csd_name_en\":[\"Fort Qu'Appelle\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Fort Qu'Appelle\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.26377702073202,51.09618984272268],[-105.29095328732173,51.09575899171779],[-105.63588871454795,51.09570469651065],[-105.63591309733111,50.923415301942576],[-105.60927558146317,50.92099857720764],[-105.60935981055079,50.833745894720124],[-105.49394976489003,50.83359708531114],[-105.07021856688138,50.83372039508112],[-105.09123829685052,50.85841552138969],[-105.11071361689407,50.89714569447857],[-105.13939727106263,50.92135446516825],[-105.16327873282653,50.94763166208087],[-105.18000261515068,50.974346979635236],[-105.20717863315721,51.00015954443867],[-105.24679730446582,51.05413551318132],[-105.26366333562,51.096162726412146],[-105.26377702073202,51.09618984272268]],[[-105.11243654628821,50.87667753955436],[-105.10556892896517,50.87021243125413],[-105.11286860347391,50.87032698922868],[-105.11243654628821,50.87667753955436]],[[-105.56511438834508,50.846909337602085],[-105.57484120036233,50.848187194657314],[-105.57380770239024,50.855757628543785],[-105.56341431360663,50.85533191962267],[-105.56511438834508,50.846909337602085]],[[-105.17045830510895,50.93379028585526],[-105.17041833121627,50.936873593827904],[-105.17393538571146,50.93888400509907],[-105.17575950424838,50.94311233210627],[-105.1701650915583,50.94314307685212],[-105.17243077047,50.93997434395635],[-105.168470665885,50.93509714470789],[-105.1645814630199,50.933951634240465],[-105.1627180062364,50.92194909912305],[-105.17063795428486,50.92126724390284],[-105.17045830510895,50.93379028585526]],[[-105.42646671198946,50.950141110515474],[-105.42648608331875,50.964709009684945],[-105.41478000501034,50.964652301897296],[-105.4150784008337,50.95020009185698],[-105.42646671198946,50.950141110515474]],[[-105.26297084842498,50.867599874704915],[-105.23984120373353,50.870274856427116],[-105.23983949910523,50.8628420954589],[-105.26297084842498,50.867599874704915]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.39642646341787,\"lat\":50.95661966444938},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706063\"],\"csd_name_en\":[\"Sarnia No. 221\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Sarnia No. 221\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.9944116524043,50.809874082184606],[-105.0085400746944,50.8119291580868],[-105.00801193299705,50.80412905653002],[-104.9935931438052,50.804398949023586],[-104.9944116524043,50.809874082184606]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.00155969018329,\"lat\":50.80758871453176},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706076\"],\"csd_name_en\":[\"Sunset Cove\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Resort village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Sunset Cove\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.25095016178496,50.72720817073409],[-107.28379363989366,50.708914412339574],[-107.32642395882306,50.69826261455978],[-107.36097028835987,50.69936420775836],[-107.39017180571642,50.703647884795664],[-107.41641325541036,50.70307572304813],[-107.43913430276608,50.69515217119308],[-107.46024301326871,50.67685025011538],[-107.47308335287006,50.653259990966404],[-107.48453395839933,50.64539239863111],[-107.52035225900201,50.638246988694995],[-107.55588423006866,50.636594200198985],[-107.58566189874733,50.644845656884925],[-107.60151138032164,50.6605908113976],[-107.62992463516285,50.668003737432116],[-107.65777286509875,50.66866393022279],[-107.74611532726159,50.661914824721514],[-107.73662869996414,50.650419337388655],[-107.72873187968672,50.606470664497785],[-107.71682977301653,50.593363562453305],[-107.70387068817313,50.56405464842141],[-107.69555898852472,50.556353242226635],[-107.69931199766201,50.543278051005174],[-107.68733869061546,50.53387245140611],[-107.68268100619024,50.51854374916923],[-107.65442416300286,50.48923039043976],[-107.65452368416591,50.39729849730118],[-107.6545476957497,50.31004368739226],[-107.4652066285412,50.30988648860834],[-107.24212910503817,50.3099272965806],[-107.2420449882449,50.41951119104206],[-107.24105721697292,50.43370478251745],[-107.24210460087087,50.45554360511923],[-107.24172758631926,50.57208822049144],[-107.2512356134573,50.572080902409425],[-107.25080714075196,50.72729603005441],[-107.25095016178496,50.72720817073409]],[[-107.39601448513793,50.40033003829389],[-107.40818329539445,50.400394764610674],[-107.40807239862532,50.40573374637618],[-107.3958289441249,50.408854686407366],[-107.39601448513793,50.40033003829389]],[[-107.66982238134304,50.663684654399866],[-107.66264129336952,50.66461505985476],[-107.64913190828196,50.659421288331544],[-107.66623220532256,50.658787806547984],[-107.66982238134304,50.663684654399866]],[[-107.60022811261817,50.35335200464441],[-107.60872927099248,50.3644329362301],[-107.58571772974057,50.36463786454984],[-107.58575250573665,50.3536117089572],[-107.60022811261817,50.35335200464441]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.45648980676644,\"lat\":50.500360315844716},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707021\"],\"csd_name_en\":[\"Excelsior No. 166\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Excelsior No. 166\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.42308969225793,51.096128800637246],[-106.58595850612713,51.09611899475987],[-106.62963854212049,51.09717866100395],[-106.6342865618642,51.09073445823176],[-106.67738524062898,51.07661129238516],[-106.71752252430879,51.05124428815625],[-106.85680121073966,51.03151952037184],[-106.8699639054571,51.028072642253136],[-106.89256702266218,51.00945225094395],[-106.89819676804744,51.0002067846229],[-106.89956906006242,50.97676208798773],[-106.9134005129545,50.929732313309295],[-106.92421150748633,50.91541082268752],[-106.96554991331739,50.89216023391777],[-106.97675252287958,50.87991744963267],[-106.97350495105228,50.864156671463356],[-106.9574999679581,50.85049575209567],[-106.9496571299466,50.8342555101005],[-106.83578022143432,50.83422290565722],[-106.42014399746795,50.83401509859714],[-106.42009970735442,50.921403105385515],[-106.42341398786171,50.92836841328558],[-106.42308969225793,51.096128800637246]],[[-106.8700986811198,50.907261111235634],[-106.85883082540965,50.90734545608378],[-106.85882708255521,50.8995206985816],[-106.8770184812781,50.89961582472365],[-106.8700986811198,50.907261111235634]],[[-106.53889266161946,51.07794494065221],[-106.5171723404619,51.063922060305345],[-106.52287139494099,51.057166735805595],[-106.53746395636846,51.06683227648755],[-106.53889266161946,51.07794494065221]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.65835593198747,\"lat\":50.94975863466935},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707071\"],\"csd_name_en\":[\"Maple Bush No. 224\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Maple Bush No. 224\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.82716230667484,51.0570628904727],[-105.82827490339113,51.040355040180124],[-105.80442852871927,51.0403338146845],[-105.809440451292,51.05508273520989],[-105.82716230667484,51.0570628904727]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.81752615363176,\"lat\":51.047816689707226},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707092\"],\"csd_name_en\":[\"Craik\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Craik\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.77188489670893,50.940009697639766],[-109.81385400068551,50.94814120598565],[-109.85594638608819,50.953153702167015],[-109.87852558859953,50.949442641266806],[-109.87947914944996,50.92418876210549],[-109.9217478624019,50.91729273200992],[-109.95677862748964,50.928163165799255],[-109.9483733534082,50.94107534171007],[-109.9661557164091,50.94337497870339],[-109.9786442108441,50.961414591157315],[-110.00469377762884,50.96855454381742],[-110.00469277386571,50.96455210192106],[-110.00507551352341,50.9585998688464],[-110.00499419329391,50.95029629378883],[-110.00303586778176,50.8346704089509],[-110.00515090238325,50.804807187266434],[-110.00321587448691,50.7789916662716],[-110.00509659989736,50.68836629485519],[-110.00425990929932,50.57215524514056],[-109.74450588543618,50.57209120354481],[-109.74415186064795,50.75000710502515],[-109.74404530545796,50.92161489501295],[-109.77203620262463,50.92154873757977],[-109.77188489670893,50.940009697639766]],[[-109.90573542171474,50.651431084614444],[-109.91845682196853,50.652355432025],[-109.91893944677877,50.65954141066429],[-109.89999781547667,50.65962735922578],[-109.90573542171474,50.651431084614444]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.87488750520737,\"lat\":50.75615807006048},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4708\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4708061\"],\"csd_name_en\":[\"Deer Forks No. 232\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Deer Forks No. 232\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.93448536738806,51.01706566033286],[-108.93487172634521,51.212695454751696],[-108.93430931130119,51.27097670391116],[-108.95750662270206,51.27097020700073],[-108.95745789066139,51.358320790607024],[-109.3791162860658,51.35839529737596],[-109.37919799533142,51.270986405113014],[-109.35283349748467,51.270996104859975],[-109.35283767626385,51.037986192535385],[-109.35371805977782,50.99378773033601],[-109.35305270326221,50.994010783138485],[-109.33303018442882,51.00782631107267],[-109.30695481133034,51.01541367173116],[-109.28030449834097,51.01404114197664],[-109.25793237365319,51.00738993234656],[-109.23364425268343,51.014222354905485],[-109.19060634709857,51.00928258643241],[-109.16350104117151,51.01303972618006],[-109.12695739708707,51.02563732070229],[-109.10024041111095,51.02673071157362],[-109.0457940710604,51.01737720121504],[-109.03510383289687,51.02425341726809],[-108.99078487247355,51.025673709664005],[-108.95948546458597,51.02369004490741],[-108.93448536738806,51.01706566033286]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.15210487384387,\"lat\":51.18800675090049},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4708\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4708071\"],\"csd_name_en\":[\"Newcombe No. 260\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Newcombe No. 260\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.535261410793,51.35820901046425],[-108.69939192168144,51.35808020312402],[-108.95745789066139,51.358320790607024],[-108.95750662270206,51.27097020700073],[-108.93430931130119,51.27097670391116],[-108.93487172634521,51.212695454751696],[-108.93448536738806,51.01706566033286],[-108.90129388716518,50.99157741790062],[-108.86190487679796,50.97756289403646],[-108.82118530384695,50.952532724752004],[-108.79105686082181,50.95174030576975],[-108.76374527113452,50.960180238756095],[-108.74556798404278,50.96152158719318],[-108.71035202581196,50.95446964458914],[-108.68609417016707,50.94087263837579],[-108.64868836430378,50.92913182361317],[-108.62849391361435,50.92788007420668],[-108.58401282950892,50.93841893780486],[-108.54937231146995,50.93333908451062],[-108.54042042138784,50.92196181880125],[-108.51612394318192,50.92040430381586],[-108.51565878394972,51.09620510638226],[-108.35272807498262,51.09645520013257],[-108.35266562839668,51.24172512612085],[-108.35396529197676,51.270896599216314],[-108.37125033488539,51.27089065509312],[-108.37162697509503,51.358276001056474],[-108.535261410793,51.35820901046425]],[[-108.75984739390027,51.157307189291636],[-108.74821331016601,51.150689190220206],[-108.74824119545572,51.137781415001825],[-108.75990728321685,51.13914260599893],[-108.76628818303246,51.14851386706501],[-108.75984739390027,51.157307189291636]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.66654614442544,\"lat\":51.16979635357421},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4708\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4708074\"],\"csd_name_en\":[\"Snipe Lake No. 259\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Snipe Lake No. 259\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.4544757133227,51.37239080590424],[-102.45447581755236,51.36672402395676],[-102.44043206133995,51.36666264374727],[-102.44034960950582,51.37233665424824],[-102.4544757133227,51.37239080590424]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.44743171419616,\"lat\":51.36953128635956},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709014\"],\"csd_name_en\":[\"Ebenezer\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Ebenezer\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.64868235732536,52.16588278264207],[-102.66046188949343,52.16539649788608],[-102.66071561836547,52.15578376724709],[-102.64873529298443,52.15815799975822],[-102.64868235732536,52.16588278264207]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.65486227189628,\"lat\":52.16126938088839},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709065\"],\"csd_name_en\":[\"Endeavour\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Endeavour\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.74521552812037,52.0092733122042],[-104.74289756092165,51.99696488035408],[-104.72058101420588,51.998255103802265],[-104.72055427317524,52.00554419516689],[-104.74521552812037,52.0092733122042]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.7333036080136,\"lat\":52.002621958667774},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710058\"],\"csd_name_en\":[\"Leroy\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Leroy\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.89282119937849,51.34361349720387],[-103.86952223849863,51.343046832381305],[-103.8699479026768,51.35113316777048],[-103.89282244921759,51.35156144197282],[-103.89282119937849,51.34361349720387]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.88124708989251,\"lat\":51.3473258838776},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710848\"],\"csd_name_en\":[\"Muskowekwan 85-1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Muskowekwan 85-1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.06613571393665,51.90157439418097],[-106.07105328989671,51.89633005512006],[-106.04538166140281,51.88713237375855],[-106.0452568508703,51.8996245078124],[-106.06613571393665,51.90157439418097]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.05576567414727,\"lat\":51.89566247124761},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711072\"],\"csd_name_en\":[\"Allan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Allan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.45185554344746,51.90313939624787],[-105.4402305629313,51.90307419114292],[-105.44016325277748,51.910676681803096],[-105.45185902277484,51.91065900411626],[-105.45185554344746,51.90313939624787]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.4460164093987,\"lat\":51.90689110287},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711094\"],\"csd_name_en\":[\"Plunkett\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Plunkett\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.00083382955381,51.6198463168344],[-107.27964660786344,51.620031201173],[-107.40992758070627,51.61993719800803],[-107.40994701795607,51.503813593486164],[-107.41001798082941,51.27106530148642],[-107.26029578510776,51.27069446382927],[-106.87513880710493,51.27091314785612],[-106.86143525558482,51.273163098159266],[-106.90378444398732,51.302580576798356],[-106.92526288913213,51.31401252263501],[-106.96178148629495,51.321750200596874],[-106.98288293248434,51.358774768547256],[-106.99028892742759,51.38912752181516],[-106.99962256554409,51.40248505559189],[-107.07876677020629,51.42618186001486],[-107.0891302385696,51.44601994439068],[-107.07285863556143,51.487654965462816],[-107.06836815909334,51.512370878965626],[-107.06868429324601,51.562710137593406],[-107.04914324208298,51.58929079954586],[-107.00083382955381,51.6198463168344]],[[-107.09368602229863,51.32888177582308],[-107.08183773921687,51.329137656237144],[-107.08191496567596,51.32145159807774],[-107.09361663261024,51.32168419002657],[-107.09368602229863,51.32888177582308]],[[-107.24584414364512,51.52543684156939],[-107.25488659681689,51.53275028379616],[-107.23479587572459,51.53278319869948],[-107.23464665676931,51.52527754452758],[-107.24584414364512,51.52543684156939]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.20966349597576,\"lat\":51.432916088473796},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4712\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4712020\"],\"csd_name_en\":[\"Fertile Valley No. 285\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Fertile Valley No. 285\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.27338577305404,52.73998035992006],[-108.29131237860459,52.754797164029235],[-108.32607978508054,52.7587340719546],[-108.35077903428771,52.76739919360781],[-108.35083971161936,52.71152966876704],[-108.29221676071094,52.71122325309084],[-108.2781415319237,52.70911438482132],[-108.27794204646264,52.73584511751314],[-108.27338577305404,52.73998035992006]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.31629459156595,\"lat\":52.73466646690961},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4712\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4712079\"],\"csd_name_en\":[\"Battleford\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Battleford\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.12422842446377,52.935669147751],[-109.14936365410153,52.939456615715805],[-109.19706844076309,52.93253510239665],[-109.19752283310778,52.72445264180455],[-109.19651120202052,52.66768945603065],[-109.02663510498209,52.6676421924364],[-108.7620077422146,52.66756521091876],[-108.76266043948203,52.682118844026675],[-108.76413790118015,52.75480208720791],[-108.76178590109552,52.78389960890231],[-108.76275011887707,52.841989196627196],[-108.76183139697137,52.88109757712456],[-108.78522447392203,52.886989611318675],[-108.83923364664217,52.88572694464422],[-108.85693964508181,52.870635711754844],[-108.88230534557842,52.869964191426945],[-108.88278063097032,52.80346429368198],[-108.90242695506721,52.804552350920545],[-109.0003438704275,52.803881009541186],[-109.00171929090351,52.823906491246575],[-108.99941226545933,52.88592634193723],[-109.02776320112682,52.88499421100665],[-109.12443456496372,52.886066229186135],[-109.12422842446377,52.935669147751]],[[-109.0278263371631,52.7395902409036],[-109.0278360930681,52.75487759496146],[-109.00355628250097,52.741065298050735],[-109.0278263371631,52.7395902409036]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.99235282027374,\"lat\":52.774344540660124},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713096\"],\"csd_name_en\":[\"Cut Knife No. 439\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Cut Knife No. 439\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.14888978437713,52.14399049979297],[-104.14808051799967,52.2314989776908],[-104.149092786445,52.318675211759064],[-104.16600879446922,52.31867900486033],[-104.16536948960773,52.40563199560376],[-104.49572706829454,52.405475416342355],[-104.50097270610623,52.405474991365054],[-104.5968448128488,52.40549019715469],[-104.59688831033215,52.31842671038711],[-104.57787469437976,52.31843218862452],[-104.57801307850725,52.14389695993341],[-104.14888978437713,52.14399049979297]],[[-104.49459389014892,52.32139094272692],[-104.50286228466442,52.32916226989362],[-104.48777815403523,52.33274589419595],[-104.49459389014892,52.32139094272692]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.36916219586679,\"lat\":52.274822621885235},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714026\"],\"csd_name_en\":[\"Spalding No. 368\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Spalding No. 368\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.62826744719787,53.62840388810587],[-103.62713322092263,53.71391674396238],[-103.64154920981433,53.71434374566981],[-103.64281810999738,53.80154919342357],[-103.92691329224103,53.80148542316657],[-104.3328381318893,53.801344859092325],[-104.40670172343842,53.80056530847087],[-104.53498570430979,53.80199017674603],[-104.65862439106748,53.8017709497022],[-104.99934270670786,53.80157104507956],[-105.1297482358409,53.80214549054559],[-105.13041441603688,53.71502055535079],[-105.10095564667006,53.71477446057344],[-105.10110480272863,53.45266979854613],[-105.10055841469213,53.365572639611415],[-105.07448377168072,53.36573578884517],[-105.07469672207392,53.24333795253299],[-104.99147772529065,53.234134565174756],[-104.96791162062546,53.23351511342005],[-104.95342817424141,53.22636964346391],[-104.94470110482055,53.20810367374062],[-104.95520950883041,53.19551445568641],[-104.92838874890712,53.173791134461034],[-104.90129225100524,53.1670698285892],[-104.8326240512706,53.167655752573374],[-104.7885159882626,53.172675799555286],[-104.78873797541145,53.18964872261537],[-104.78024291284922,53.201687621498756],[-104.74679009885969,53.21901238780564],[-104.7182649264898,53.21476812098882],[-104.69389195372992,53.22476921739322],[-104.67028379264357,53.21433685505368],[-104.63579323404774,53.2316336517046],[-104.6294531598618,53.23433996274159],[-104.57200478387719,53.23158408847687],[-104.55480475626605,53.242643498703046],[-104.53493220681554,53.2484976727393],[-104.51871153376813,53.24704350436866],[-104.50125542033652,53.23420471211982],[-104.48765396938299,53.232617635133565],[-104.46269958940081,53.24267533149464],[-104.40789190699361,53.279985874042794],[-104.33006730906334,53.29708667677875],[-104.30273311655785,53.286379375300086],[-104.26489611781072,53.28597293327758],[-104.2300894509655,53.300410499548924],[-104.19571014320212,53.296407573746265],[-104.17876488105722,53.306649065759345],[-104.1591979490463,53.30359830813317],[-104.13481695644516,53.309055976329496],[-104.10579610687114,53.30945338564984],[-104.09484059255672,53.29814217274381],[-104.07163400226354,53.305468219655566],[-104.06746426198625,53.31941116080279],[-104.03797256397866,53.315706034447906],[-104.04101518031062,53.3425838398931],[-104.0385036949555,53.37186912411974],[-104.02164219684003,53.37928916775922],[-104.00563749136292,53.39822230266577],[-103.97813558522016,53.402002994459835],[-103.9660324191416,53.41420839009882],[-103.97114607029697,53.43030278975937],[-103.96063585443284,53.44070775459785],[-103.93784969085895,53.44864067759458],[-103.93702120867484,53.468508077725744],[-103.91699787937668,53.47207956669991],[-103.8849442600571,53.46987755931693],[-103.86870583182112,53.47330103000732],[-103.78559504500029,53.506260622198994],[-103.77462753427032,53.51398113894265],[-103.76332505472493,53.52622220910987],[-103.74722912811208,53.532874803914794],[-103.70274068399927,53.533855174280234],[-103.67406666353843,53.54635272387757],[-103.67371722096719,53.56020357757205],[-103.68942703144445,53.57674603132273],[-103.693247487182,53.589663783513075],[-103.67782242332802,53.61226560105963],[-103.65170515277273,53.617677031374086],[-103.62826744719787,53.62840388810587]],[[-104.15987379172668,53.48176869262858],[-104.16744890662477,53.48201940854026],[-104.16747247372533,53.48547835138548],[-104.1745881346156,53.489098008337024],[-104.1622568020559,53.48896112630146],[-104.16225038901793,53.48316937902966],[-104.15987379172668,53.48176869262858]],[[-104.0824616356987,53.44550588008138],[-104.0937828990239,53.44549138644247],[-104.09380704599558,53.45511716107211],[-104.08003165110755,53.45524062132394],[-104.0824616356987,53.44550588008138]],[[-104.48696149495639,53.49624961193894],[-104.47470983905957,53.488952059690334],[-104.49930609711855,53.48893462232476],[-104.48696149495639,53.49624961193894]],[[-104.80713968183147,53.487330952876064],[-104.81690737847072,53.48803079878125],[-104.81819620583427,53.497263034096825],[-104.80335907285499,53.494557509688086],[-104.80713968183147,53.487330952876064]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.46188911802194,\"lat\":53.544626083003365},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714077\"],\"csd_name_en\":[\"Torch River No. 488\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Torch River No. 488\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.56535697447674,52.709918248827414],[-107.56421878593424,52.704001101951434],[-107.55197781181265,52.703930299575745],[-107.55198949941607,52.71105609205704],[-107.56535697447674,52.709918248827414]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.5582009863952,\"lat\":52.70728647018095},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716024\"],\"csd_name_en\":[\"Speers\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Speers\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.76005879334144,53.190774806743555],[-108.10123146049573,53.19059877660629],[-108.19872428503102,53.19076529040473],[-108.198723995164,53.16161260389438],[-108.19877981563084,53.147992229855994],[-108.19832450426242,53.14701794706271],[-108.14997411009867,53.14679395917117],[-108.14878022818456,53.103485681917384],[-108.19892027549949,53.08873044644895],[-108.19966978300975,53.019856806909836],[-108.18114689786663,53.01634293814359],[-108.18086719356732,52.929322608437715],[-107.89082969286615,52.92937705485786],[-107.74544943175401,52.929816326506334],[-107.74587207089347,53.0164147587417],[-107.76004809988873,53.016380691602656],[-107.76005879334144,53.190774806743555]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.96962259107262,\"lat\":53.05891645778875},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716033\"],\"csd_name_en\":[\"Round Hill No. 467\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Round Hill No. 467\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.4182532082009,53.03641098537503],[-108.41819129280162,53.03070880920682],[-108.39381811334829,53.03072550261908],[-108.39325622929059,53.03703030546755],[-108.4182532082009,53.03641098537503]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.4056753601522,\"lat\":53.033733667162586},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717004\"],\"csd_name_en\":[\"Metinota\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Resort village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Metinota\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.43025211004836,53.13266568275944],[-108.40397588382045,53.14258605217676],[-108.43032271761797,53.13984549672733],[-108.43025211004836,53.13266568275944]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.42151690382893,\"lat\":53.13836574388784},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717005\"],\"csd_name_en\":[\"Aquadeo\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Resort village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Aquadeo\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.322531581755,55.53233568857485],[-102.30406600412991,55.53762788765574],[-102.31016352010731,55.54186940346386],[-102.32105828335021,55.534181321852124],[-102.322531581755,55.53233568857485]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.312670346974,\"lat\":55.537193151262784},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718806\"],\"csd_name_en\":[\"Wapaskokimaw 202\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Wapaskokimaw 202\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.36441295519937,54.92426075206969],[-103.3861486542549,54.911142765254255],[-103.36497112401675,54.89922964391079],[-103.33691806887906,54.89356439292884],[-103.3247010663728,54.915007339280024],[-103.34516626098848,54.92325055901236],[-103.36441295519937,54.92426075206969]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.35304024368364,\"lat\":54.910081734053264},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718852\"],\"csd_name_en\":[\"Kimosom Pwatinahk 203\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Kimosom Pwatinahk 203\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.64347149368155,50.13528430647621],[-112.81242311746581,50.135276218549414],[-112.81409080927561,50.07701098845262],[-112.91631620750354,50.0769393016559],[-112.91641829189938,50.06247833340638],[-113.18811406223159,50.06266711652553],[-113.18813288928453,50.04807919566549],[-113.27676640515627,50.04835260319492],[-113.27677269345989,49.907557913467855],[-113.23264650525599,49.909504006248405],[-113.23073188066591,49.84955781333994],[-113.21328661861159,49.824014462157855],[-113.18829560341113,49.801256742322394],[-113.18522141724654,49.78997954448352],[-113.16858192064623,49.78904685983905],[-113.1435109049363,49.79679825728447],[-113.10723919830941,49.7857010463869],[-113.07216008727733,49.77806085635892],[-113.05532181268055,49.781835150455166],[-113.03821767180898,49.76820036476321],[-113.01980604697621,49.76909604050259],[-113.03313609298428,49.75245626276674],[-112.99937451933225,49.75000079458841],[-112.96856151664542,49.729491641755565],[-112.98736439551017,49.722262648243664],[-112.9897808204012,49.71168404207951],[-112.97980551242155,49.689087533040976],[-112.99124740555828,49.67823377311969],[-112.9497539990754,49.66462476679394],[-112.93125963695226,49.65457933060728],[-112.92529119731633,49.65468414905942],[-112.92570489785786,49.71321577474076],[-112.91456259249266,49.722225355469334],[-112.88096597033565,49.7139218040394],[-112.86478020668424,49.71865364798586],[-112.85436042088024,49.73030385565381],[-112.84746469987871,49.75572920030282],[-112.7782171987773,49.756336906004044],[-112.77818382796278,49.683694631222956],[-112.75676341196909,49.683435887552],[-112.75672230158239,49.639835210336955],[-112.7804304056012,49.64731456161584],[-112.82638890094321,49.65099795075883],[-112.84694068921513,49.64763296197926],[-112.86106560325224,49.63481104522282],[-112.87399761338354,49.636383648781525],[-112.88756510114419,49.626878341961344],[-112.89123062449475,49.618289078569674],[-112.90906777604948,49.61093354371568],[-112.89501061494929,49.59311038452096],[-112.83265050014425,49.56570868466825],[-112.80685989749776,49.56095075139744],[-112.80457480588856,49.55222355033659],[-112.77964019581067,49.55231308800365],[-112.73477881021535,49.552380597834045],[-112.7348777820699,49.537811492253965],[-112.57846966678886,49.538229602050095],[-112.5787654299112,49.523211844287566],[-112.55585856471153,49.523785822632895],[-112.55601708408525,49.56704870385853],[-112.30771697325078,49.56739502329048],[-112.30766790297073,49.61122010191468],[-112.21776395853225,49.611042510187914],[-112.25220163209515,49.625836400225374],[-112.25255557506757,49.647413980481254],[-112.27461093581084,49.66191793478271],[-112.30775280412175,49.66160515504082],[-112.3302230782107,49.669523798279755],[-112.34216365923572,49.683779052222434],[-112.36399466624687,49.690481149055294],[-112.39788556508189,49.69089489260605],[-112.42065079885613,49.69840954470781],[-112.44288367654063,49.719529786362585],[-112.44291680189984,49.86453195675742],[-112.46339670107393,49.869254145221106],[-112.4605503258636,49.87727100122612],[-112.46159861364583,49.931450786400774],[-112.46140348328974,50.077074000501554],[-112.50686049386168,50.07705730395431],[-112.50691491174135,50.13536210474407],[-112.64347149368155,50.13528430647621]],[[-113.08365759053753,49.98969590046895],[-113.0856377908266,50.00027839110706],[-113.07358880894002,49.99552063546108],[-113.08365759053753,49.98969590046895]],[[-113.05940127353145,49.89913180995427],[-113.04737966578051,49.887800140063746],[-113.05753202975407,49.87669832982003],[-113.05940127353145,49.89913180995427]],[[-112.77970820019523,49.880495550926916],[-112.77261533085722,49.865696095838764],[-112.79023451967939,49.86575338673712],[-112.77970820019523,49.880495550926916]],[[-112.93788720488017,49.74405468976754],[-112.91425299628818,49.749221111162804],[-112.92352369366213,49.73128618413161],[-112.93788720488017,49.74405468976754]],[[-112.61223447199251,49.74441864430608],[-112.60066141474594,49.74236690366053],[-112.60068860134021,49.71334727612488],[-112.62280079188403,49.70573631055808],[-112.65577210562499,49.7054951401333],[-112.65591161519738,49.734366425486115],[-112.63349243806694,49.734819871026126],[-112.61223447199251,49.74441864430608]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.76502202465659,\"lat\":49.85081713445126},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4802\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4802011\"],\"csd_name_en\":[\"Lethbridge County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Lethbridge County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.25678588033082,49.755684291390914],[-112.26249410578211,49.7679148914419],[-112.27379188986436,49.758497999324206],[-112.25678588033082,49.755684291390914]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.26435729199241,\"lat\":49.76069906071901},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4802\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4802023\"],\"csd_name_en\":[\"Barnwell\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Barnwell\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.13644525403275,51.481227744210656],[-113.13449947774812,51.488637498792585],[-113.16949456758212,51.48873882593624],[-113.16940874735505,51.48130025581708],[-113.13644525403275,51.481227744210656]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.15246637676215,\"lat\":51.485013148503704},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4805\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4805042\"],\"csd_name_en\":[\"Carbon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Carbon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.21612580672465,52.66973334668271],[-112.22658496144118,52.67633322507062],[-112.22947340607472,52.66760771138622],[-112.21612580672465,52.66973334668271]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.22406139141353,\"lat\":52.67122476104652},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4807\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4807038\"],\"csd_name_en\":[\"Heisler\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Heisler\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.23455657214525,52.185752516006204],[-113.2049178199689,52.186594148654954],[-113.21546435097902,52.2012102141212],[-113.24304508514592,52.20127169381333],[-113.23455657214525,52.185752516006204]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.2245609890823,\"lat\":52.19359089709254},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4808\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4808004\"],\"csd_name_en\":[\"Delburne\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Delburne\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.80384619102944,53.54148339561807],[-112.80376150997235,53.57059675346422],[-112.82870118559138,53.57048371353462],[-112.82856906866331,53.585049813800815],[-112.804009682459,53.58500715906087],[-112.80415532567586,53.62893805564901],[-112.77910682855335,53.62918090350375],[-112.77955631232527,53.716353005684134],[-112.87722678459141,53.71625550902955],[-112.87762755068377,53.657793287142766],[-112.90206634911415,53.657874012603784],[-112.90223789126544,53.643246737474264],[-112.92650170038485,53.64350207438843],[-112.92662651416569,53.628871201634745],[-112.95113560760285,53.62864925261823],[-112.95136318111118,53.524250648694576],[-112.93998033524737,53.51988341710346],[-112.90363286243594,53.51691712258675],[-112.8770006439295,53.51059207921217],[-112.83669384991636,53.5171406217388],[-112.80393807010996,53.513410828930404],[-112.80384619102944,53.54148339561807]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.86257802881391,\"lat\":53.60821954357745},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4810\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4810068\"],\"csd_name_en\":[\"Improvement District No. 13 Elk Island\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Improvement district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Improvement District No. 13 Elk Island\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.347431986287,54.022998691747894],[-113.3722482922993,54.021940482905784],[-113.57055513060664,54.02157893174368],[-113.57057307592999,54.007289694827854],[-113.66969110523542,54.00731158794644],[-113.66971475079549,53.992703612362604],[-113.78114081103838,53.992806455528516],[-113.78111760053096,53.963640457704386],[-113.8059680600615,53.963639164803865],[-113.8062823982569,53.92004619672435],[-113.86804321482043,53.920028291526194],[-113.86806571948617,53.90481499245591],[-113.979843629495,53.9049032323637],[-113.9920798960887,53.91256024337221],[-113.99223103979102,53.92667367994086],[-114.05145181347557,53.926734699141555],[-114.05139159702155,53.853985228484724],[-114.02926681985461,53.84749039792342],[-113.89260856504788,53.84720088164979],[-113.89296537145297,53.77505214364522],[-114.02119710442813,53.77517995880373],[-114.01863371789435,53.79029766443243],[-114.02942216810514,53.79596667199542],[-114.02954386663164,53.79598717525466],[-114.02650857941782,53.77532545576095],[-114.02647010920016,53.65756580319078],[-113.91014401109494,53.657639884005924],[-113.91000898469798,53.62862029568212],[-113.83621170396009,53.6289543077958],[-113.83622159355849,53.59956899820116],[-113.75712472257003,53.5997939507725],[-113.7611734054297,53.58244555576389],[-113.73434658130256,53.584984373163955],[-113.71362932412816,53.592372286832656],[-113.69096658351323,53.59243286414454],[-113.67193593297868,53.59890344935553],[-113.65875720579858,53.61394384996654],[-113.67626378914188,53.621922466580685],[-113.69509461559858,53.62086175184022],[-113.70658968431134,53.637193857805634],[-113.69363987608288,53.646102654090186],[-113.68823199495922,53.6646682381401],[-113.64975199171917,53.66502390063327],[-113.65050809238224,53.681769711398466],[-113.61498390924065,53.679274799087324],[-113.60027970135792,53.65986757133629],[-113.5658442310862,53.65046184000713],[-113.43612239629314,53.650563272846824],[-113.4307341950234,53.65782096919502],[-113.43041806445517,53.71609807896729],[-113.29506499617224,53.71582069945386],[-113.29332447407059,53.672935910904805],[-113.28772599523379,53.679519761264274],[-113.2459898070471,53.6981990649706],[-113.21536388277104,53.71609546679377],[-113.20988838444143,53.72510106108872],[-113.1733972078632,53.74930225273092],[-113.16902309430714,53.76470536767006],[-113.1551906944808,53.774256394573705],[-113.1258487817278,53.79051905928499],[-113.113059195545,53.80695757009037],[-113.11059180761825,53.82127325569005],[-113.08166777725432,53.83435315964804],[-113.06717738544735,53.86197626885886],[-112.98831759019735,53.880049268755414],[-112.95138879150244,53.89339740150803],[-112.91211500012908,53.91241845269426],[-112.86105860856208,53.94190186976516],[-112.84573947788849,53.95922027151635],[-112.84373683603856,53.977818314404885],[-113.12500779401536,53.97796878971089],[-113.34768517744016,53.977972578151586],[-113.347431986287,54.022998691747894]],[[-113.58295299484166,53.95635596298969],[-113.58308547807817,53.94188562084013],[-113.60774589470607,53.941970395470456],[-113.60676567182347,53.9563709580812],[-113.58295299484166,53.95635596298969]],[[-113.39796951533039,53.832704795612884],[-113.43411681949537,53.832684598179135],[-113.4336275337187,53.846564086657],[-113.40401837991429,53.84742528869953],[-113.39796951533039,53.832704795612884]],[[-113.30956749864853,53.846394661995184],[-113.30944264296569,53.80345603837378],[-113.3475402798608,53.80347590329592],[-113.34729230135416,53.832725902203464],[-113.30956749864853,53.846394661995184]],[[-113.62009157868172,53.77463099545207],[-113.63927828779495,53.77452531004439],[-113.66046060045096,53.792270893356445],[-113.66017952015854,53.81239530557734],[-113.65249181469905,53.81824603353445],[-113.62006890933235,53.81800150729603],[-113.62009157868172,53.77463099545207]],[[-113.16025570881978,53.970681101938915],[-113.08690036634255,53.97081472765467],[-113.07501150395534,53.956404302127545],[-113.07499690005326,53.934972337775626],[-113.13706694488305,53.93507064245043],[-113.16177442403786,53.938018599213926],[-113.16025570881978,53.970681101938915]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.5309947508183,\"lat\":53.829625476550056},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811059\"],\"csd_name_en\":[\"Sturgeon County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Sturgeon County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.58295299484166,53.95635596298969],[-113.60676567182347,53.9563709580812],[-113.60774589470607,53.941970395470456],[-113.58308547807817,53.94188562084013],[-113.58295299484166,53.95635596298969]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.59512961833869,\"lat\":53.94910350799376},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811069\"],\"csd_name_en\":[\"Legal\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Legal\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.78197722043437,54.099177491204976],[-112.79051205334656,54.0921833203391],[-112.7757849213505,54.09212640629683],[-112.78197722043437,54.099177491204976]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.78275806504384,\"lat\":54.094495739280305},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4812\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4812026\"],\"csd_name_en\":[\"Waskatenau\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Waskatenau\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.29632538031171,54.740754503435326],[-113.32099283255582,54.72850767302901],[-113.32127131519367,54.712316709423696],[-113.30891274190891,54.69805039047401],[-113.27247830710574,54.69815177861785],[-113.25847080698856,54.711305845407594],[-113.24512340665567,54.711502802725235],[-113.2486315705837,54.739509187985746],[-113.28491483257166,54.73532846694482],[-113.29632538031171,54.740754503435326]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.28443347753198,\"lat\":54.719185928440226},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4813\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4813048\"],\"csd_name_en\":[\"Athabasca\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Athabasca\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-114.7521790770369,51.20198615923334],[-114.73500275232946,51.21093590943645],[-114.75201264452289,51.22684424058543],[-114.78262056586384,51.227002010627984],[-114.76948731388687,51.207356606865034],[-114.76243112236274,51.21077760979923],[-114.7521790770369,51.20198615923334]]],[[[-114.67487107956077,51.212431635123636],[-114.68657300479539,51.197824591635666],[-114.69829474714622,51.211397516308146],[-114.76795381617382,51.18644465108749],[-114.80022560742815,51.18005755903666],[-114.85004450959993,51.19669024696949],[-114.85544994220925,51.20563930813932],[-114.89778236791021,51.22481746916584],[-114.97697315343376,51.200245322908344],[-114.9782296042295,51.26933115709169],[-114.99590181865217,51.26501305660611],[-115.01135909296117,51.2687202606414],[-115.0348892236113,51.24563295578526],[-115.06640028288992,51.23809625543576],[-115.10624710567498,51.23715926859954],[-115.11644591068801,51.23270366014638],[-115.1169756596085,51.16279385779738],[-115.08955659576333,51.156797856335466],[-115.10163733146054,51.14767721725189],[-115.06871871878208,51.10130140812506],[-115.02201247283033,51.127363563285876],[-115.00894433045652,51.11885995123107],[-115.06134180414966,51.093061578164736],[-115.04723977600162,51.08456850509471],[-115.02274544910657,51.07622446613724],[-115.02509404883065,51.07315835794857],[-115.02854657800644,51.07074142699108],[-115.01180348354845,51.05816051109632],[-114.97721659285227,51.06833795460529],[-114.96075736055373,51.05926181852263],[-114.9429475161585,51.064590696534395],[-114.92538784697332,51.07772268004866],[-114.86962835387791,51.07885083214488],[-114.84028413928024,51.076375302038336],[-114.83415684729371,51.06050866223172],[-114.77988816145977,51.05284493039263],[-114.76207576507174,51.059824628269965],[-114.72946340748801,51.049085292224724],[-114.72169296831179,51.057317577620914],[-114.7217775688716,51.069294881104504],[-114.79297757288641,51.06969767668412],[-114.79470143898705,51.097736876756294],[-114.81949667143718,51.09874592981418],[-114.8193311343086,51.10913239004927],[-114.84489329969593,51.110099843872796],[-114.6984244572803,51.155678730168624],[-114.66643056213825,51.165744329098196],[-114.63958198284276,51.168539170232705],[-114.55881756425974,51.16881190614264],[-114.55901073812059,51.18324175109627],[-114.51368091349322,51.18325985853156],[-114.5164636722278,51.19524616578948],[-114.55886664614897,51.19794612585775],[-114.55889113906282,51.212496190479634],[-114.59525148340853,51.214053954626635],[-114.67487107956077,51.212431635123636]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.89317229416729,\"lat\":51.158057987773645},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4815\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4815802\"],\"csd_name_en\":[\"Stoney 142\",\"143\",\"144\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Stoney 142, 143, 144\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.14628493713319,56.04151642740016],[-117.14623974197224,56.03253111469575],[-117.12134895420903,56.03499686642784],[-117.12143561953265,56.04339544918072],[-117.14628493713319,56.04151642740016]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.13396624693642,\"lat\":56.0380964912167},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817039\"],\"csd_name_en\":[\"Nampa\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Nampa\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-118.00042560259844,56.24738999536726],[-118.0000253221583,56.42181440007252],[-118.15531032937598,56.4217692332216],[-118.15969288375508,56.593221490530574],[-118.15741746240485,56.67736382061333],[-118.15726335348349,56.77002916635341],[-118.16042533533783,57.05717246178329],[-118.1625654349846,57.2427804939403],[-118.16414895543215,57.38007965376056],[-118.60773721650281,57.38278017517694],[-118.93290706892462,57.38375088256362],[-119.27514226203402,57.38380282767961],[-119.5578945283394,57.38309548316249],[-120.00000001064922,57.38062883165178],[-120.00000365619756,57.20842988751051],[-120.0000218791129,57.00000002480468],[-120.00003494370904,56.80414554972102],[-120.00000001166728,56.546331412325415],[-119.99999999579632,56.319394148014595],[-120.00269820228584,56.217219727119186],[-119.99999999001159,56.14553507320785],[-119.98710596417982,56.147626378864054],[-119.93647899194549,56.136099786975876],[-119.86528740683536,56.133528524108],[-119.83962718773428,56.14976858642517],[-119.80797239071808,56.16351249660666],[-119.76607767258537,56.17399205010845],[-119.7166153652189,56.172989689866334],[-119.67301523772147,56.166006417984086],[-119.64400678915165,56.16698215936555],[-119.60813722269201,56.178780766876244],[-119.57777124948134,56.192262985423184],[-119.54405222679789,56.21290020767326],[-119.49999990724346,56.223582528862714],[-119.46643680398783,56.23457524219059],[-119.40427959644268,56.233123227381625],[-119.3613092150467,56.24291787474507],[-119.29050459876743,56.27539844199313],[-119.24311783214075,56.287108173881066],[-119.21471554022735,56.29018032832246],[-119.1982585688136,56.29882629908587],[-119.15443233217798,56.311902944640025],[-119.13885575713675,56.30568866095684],[-119.12404831229878,56.29030319787644],[-119.07573053829276,56.27578238717007],[-119.0329406588621,56.26820890026585],[-118.99388689313024,56.27330228388348],[-118.96402728696037,56.269199471556526],[-118.95196330334423,56.25234665058152],[-118.9715909725919,56.214769717492054],[-118.9625669790931,56.19318905086395],[-118.94810036201335,56.17685875808641],[-118.93652174569684,56.145192247531895],[-118.90282503998682,56.13049864485333],[-118.78368149099863,56.130730602864304],[-118.78353979394785,56.15989620762346],[-118.5052036957342,56.159920062553006],[-118.31372752918728,56.15999990471383],[-118.00048857804907,56.16003699312554],[-118.00042560259844,56.24738999536726]],[[-118.59986137057516,56.23654873105056],[-118.63341512745558,56.23884059574276],[-118.63340259424666,56.25716979254649],[-118.60054690838437,56.257176993449335],[-118.58242068100485,56.23952650172194],[-118.59986137057516,56.23654873105056]],[[-118.77251912577896,56.551903953811056],[-118.77256880186991,56.50870243080926],[-118.82794998529542,56.50871819319528],[-118.82785957234246,56.552439450628846],[-118.77251912577896,56.551903953811056]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.05773371103669,\"lat\":56.77669657171126},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817062\"],\"csd_name_en\":[\"Clear Hills\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Clear Hills\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-118.59986137057516,56.23654873105056],[-118.58242068100485,56.23952650172194],[-118.60054690838437,56.257176993449335],[-118.63340259424666,56.25716979254649],[-118.63341512745558,56.23884059574276],[-118.59986137057516,56.23654873105056]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-118.61162675791688,\"lat\":56.24674053452335},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817064\"],\"csd_name_en\":[\"Hines Creek\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Hines Creek\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-115.40682514447477,55.943941335096866],[-115.40826971330699,55.95541620449926],[-115.4343333333789,55.95477844944146],[-115.43447268950659,55.97251314656663],[-115.5379057868808,55.9715090018805],[-115.53781007642566,55.95898532936725],[-115.6188358564324,55.95955977279867],[-115.64546035475418,55.958188911546834],[-115.64576438417492,55.93238939414467],[-115.67300137052972,55.9320821472283],[-115.67165696047272,55.92104896397978],[-115.65055068915085,55.90586277920223],[-115.66208013872038,55.89906253502704],[-115.66155226670904,55.88128376681025],[-115.60760975235657,55.881517752269176],[-115.61541501784751,55.89226186807625],[-115.59957879455474,55.89855986257442],[-115.57657941800814,55.90336887473285],[-115.58984301782601,55.920127162810566],[-115.58255430226598,55.933199769890194],[-115.53703071179997,55.95465617602877],[-115.48679489002897,55.94157376719328],[-115.48856641553778,55.923048164074864],[-115.45936178792864,55.92195947724688],[-115.45389148763782,55.93320467306914],[-115.42750987856746,55.94385876240262],[-115.40682514447477,55.943941335096866]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-115.56068251375558,\"lat\":55.935681297113305},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817824\"],\"csd_name_en\":[\"Utikoomak Lake 155\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Utikoomak Lake 155\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-118.73888558149469,58.80693918241209],[-118.76549439395436,58.811161959242455],[-118.7697250269365,58.79612247637315],[-118.80050641594312,58.79599447056601],[-118.80137602507978,58.68909298792397],[-118.65275234861848,58.68991993576109],[-118.65639929399053,58.80986507772302],[-118.72312241132177,58.81189001000685],[-118.73888558149469,58.80693918241209]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-118.72620434102336,\"lat\":58.74810197839214},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817845\"],\"csd_name_en\":[\"Hay Lake 209\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Hay Lake 209\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-118.6211112757296,55.493172470613665],[-118.92644752973037,55.49171054228025],[-118.93095220760715,55.49061094875261],[-119.16385968372919,55.49009810567705],[-119.16387029461215,55.54867840218616],[-119.42355903599616,55.54836522205853],[-119.42390872965497,55.53395782216851],[-119.44823948875927,55.534104696585075],[-119.44825220132054,55.51957059333924],[-119.5259182857786,55.51960190179888],[-119.52573921551183,55.490598800559205],[-119.57766729376186,55.49058580613488],[-119.57637722993995,55.461469317280425],[-119.76013230420969,55.46120800080861],[-119.76020558438832,55.47530736650472],[-119.83638439169334,55.47595649830512],[-119.83669788983299,55.490419524429605],[-119.94158391938532,55.48916589983276],[-120.00152850397734,55.49028102096945],[-119.99981639426755,55.33295166424842],[-120.00031396288122,55.119198403838475],[-119.99998721528264,54.91617860671014],[-119.9999999855039,54.73697509206525],[-119.99150962625735,54.74847845682283],[-119.97630022689147,54.749142281015764],[-119.96035029146265,54.72871856165559],[-119.9300205085884,54.727265068578276],[-119.92197403006017,54.74580306193729],[-119.8959089967101,54.76213676739306],[-119.84779760048123,54.77600956169642],[-119.84476401090723,54.78208588382129],[-119.86841441866528,54.79724086736013],[-119.86635670401162,54.81914227674277],[-119.84996630422287,54.817864862361],[-119.81687502349367,54.83348707055633],[-119.77831123913666,54.83347097280236],[-119.76055612045418,54.85187317624221],[-119.72108598624702,54.85389646527173],[-119.70186311069602,54.86841448390249],[-119.67284829943154,54.869837268198495],[-119.65602331156005,54.86517898278379],[-119.63240720293886,54.87177517016906],[-119.63639799384237,54.8867229668033],[-119.66818223922826,54.89023787575854],[-119.67862291578668,54.91873166402657],[-119.64367702756839,54.92608126718644],[-119.64036752118272,54.93764615848983],[-119.61720872695449,54.94049296896942],[-119.60405190318862,54.949540072986345],[-119.60066740104688,54.96262106587948],[-119.56860752837552,54.96876397232628],[-119.54742961485326,54.9593078826298],[-119.52915282954581,54.96093097726559],[-119.49769759320463,54.97920937329301],[-119.48634573176588,54.98143057238636],[-119.46507709988781,54.972200158526036],[-119.45340200625306,54.983283578336355],[-119.47215711126745,54.990455077815284],[-119.4576682224846,55.00279585529429],[-119.42250421137511,55.014197079621816],[-119.38579502804801,55.00219527119297],[-119.34351391111691,55.01126695571686],[-119.31163361862951,55.02191296142729],[-119.29958512940622,55.03853006694045],[-119.26813091630784,55.0445879586579],[-119.23785892547629,55.034322776527915],[-119.21419320741242,55.03663857516886],[-119.20442942728242,55.048951971445035],[-119.1885379164084,55.05403035712977],[-119.14660420449765,55.04952447944057],[-119.11300880899421,55.049633356835095],[-119.08206120958931,55.04337196203416],[-119.05152683041618,55.04643947776929],[-118.96798172417594,55.08021767335566],[-118.94375010719718,55.078782860250655],[-118.9076474101147,55.054494182414615],[-118.87687770791305,55.06162656713967],[-118.84496989174256,55.06058107359714],[-118.79693102082544,55.07432956644698],[-118.7366226053498,55.08108876968719],[-118.7255795966937,55.07341966091639],[-118.6852300032367,55.062178166711185],[-118.65385230362622,55.061244962964096],[-118.59746731506834,55.07819215843999],[-118.5773887101603,55.07173576467086],[-118.54560683051291,55.07448547538874],[-118.53107391425245,55.08644258028964],[-118.47139592546178,55.09975597809125],[-118.4462477059861,55.122029479377204],[-118.413770211985,55.122999070861376],[-118.38603892690777,55.11446097295165],[-118.36271040101529,55.12951986357409],[-118.36209420273214,55.14092167717901],[-118.34589773717222,55.14905267665336],[-118.32313059866897,55.144790660252184],[-118.31221382950775,55.13445706891732],[-118.27804082240168,55.13786546631625],[-118.2603147857183,55.14507996708643],[-118.22008169976785,55.181105773268946],[-118.23810831012337,55.199973266086026],[-118.27159089950815,55.206924070503554],[-118.28149340280228,55.21988166377818],[-118.25231323412362,55.2450849721725],[-118.27118931316127,55.251187481959036],[-118.28490488875971,55.275618461496265],[-118.29202361726088,55.29826825589817],[-118.28181169246629,55.32942996173036],[-118.27127572009246,55.339159770046585],[-118.2239741262082,55.35646046686494],[-118.21743419780626,55.361984965214475],[-118.23191501159468,55.40002885792872],[-118.22620261747787,55.41654836446736],[-118.19818761174112,55.4329075823008],[-118.19966091728774,55.44260437983026],[-118.21878131150073,55.4460660773029],[-118.21136229578298,55.4579108678695],[-118.19206931815158,55.45270827656821],[-118.16739791920803,55.45699707909956],[-118.17562621592573,55.47514755525491],[-118.14306168673151,55.492671065635946],[-118.14589321388742,55.511391980486124],[-118.16826950206577,55.5200227841819],[-118.19935709882118,55.54118977933408],[-118.19825940394152,55.5490208859343],[-118.20734088542191,55.56337546200494],[-118.25850515395446,55.56298994513965],[-118.27263250775947,55.55646986660516],[-118.27285888116687,55.54349311047561],[-118.29744038399453,55.543331065112575],[-118.30997825603242,55.527542355408556],[-118.36325048293065,55.527321507951],[-118.36059096289124,55.46142410646876],[-118.62118458386239,55.46139819006532],[-118.6211112757296,55.493172470613665]],[[-119.54930808507515,55.31600561024837],[-119.55437626196215,55.32346509618148],[-119.57739495315164,55.32337918776335],[-119.57888921313484,55.33760330087991],[-119.55105577127934,55.337722390902286],[-119.53848630435296,55.330547493908384],[-119.54930808507515,55.31600561024837]],[[-119.1410843451531,55.17060445296123],[-119.12778182774014,55.17061185095907],[-119.1282661084018,55.14157428354487],[-119.15424357411474,55.14859566668922],[-119.1538973098187,55.17059528458209],[-119.1410843451531,55.17060445296123]],[[-119.43733656120071,55.21562372335836],[-119.41034569508822,55.221590302621586],[-119.40323933508762,55.199676268035894],[-119.44216504337788,55.19972247029884],[-119.43733656120071,55.21562372335836]],[[-118.80789077820098,55.36788893517391],[-118.75561485615026,55.368338462622006],[-118.75579396925473,55.330491788700265],[-118.79498609736396,55.330583496562234],[-118.80740006328429,55.32276718856112],[-118.80789077820098,55.36788893517391]],[[-119.7179213961459,55.37414999269826],[-119.69234618266208,55.36692240503721],[-119.69182846291585,55.34494932671388],[-119.67717749518994,55.331201345455554],[-119.7178213054511,55.33165988657678],[-119.74358279008082,55.323423703788706],[-119.7436226743055,55.374168796255596],[-119.7179213961459,55.37414999269826]],[[-118.92320058527955,55.242196873549446],[-118.86076670000745,55.24253509909301],[-118.8461861882896,55.22924979270886],[-118.84393307276848,55.20694663399191],[-118.76924458743407,55.20702470736715],[-118.76926221429567,55.2142502971497],[-118.67964858062578,55.214204858597796],[-118.67846157038973,55.19260881867353],[-118.71802329434932,55.192530325556035],[-118.7309156189309,55.18513196976306],[-118.73084018295451,55.14159150703693],[-118.74371771442149,55.14158489164048],[-118.75036381172363,55.12703785105914],[-118.81888984677165,55.12710414477483],[-118.84627650595367,55.13183228853377],[-118.84617060406033,55.14143300325669],[-118.87182803978354,55.14980626320359],[-118.87183385588042,55.16324884079952],[-118.95972959476734,55.163694217533326],[-118.9631966526476,55.220840160816486],[-118.92319507346969,55.221540866690106],[-118.92320058527955,55.242196873549446]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.22655047894273,\"lat\":55.24292371251484},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4819\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4819006\"],\"csd_name_en\":[\"Grande Prairie County No. 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Grande Prairie County No. 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-118.80789077820098,55.36788893517391],[-118.80740006328429,55.32276718856112],[-118.79498609736396,55.330583496562234],[-118.75579396925473,55.330491788700265],[-118.75561485615026,55.368338462622006],[-118.80789077820098,55.36788893517391]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-118.7821613370194,\"lat\":55.34884476044636},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4819\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4819014\"],\"csd_name_en\":[\"Sexsmith\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Sexsmith\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-115.55969841884347,49.48794308773478],[-115.55996032074907,49.49496912375362],[-115.57088088866087,49.49504046299017],[-115.57089750146832,49.488468292858435],[-115.55969841884347,49.48794308773478]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-115.5652984974689,\"lat\":49.49158975370815},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5901\"],\"cd_name_en\":[\"East Kootenay\"],\"csd_code\":[\"5901805\"],\"csd_name_en\":[\"Cassimayooks (Mayook) 5\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"East Kootenay\",\"csd_name_fr\":\"Cassimayooks (Mayook) 5\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-116.5072747485542,49.13102742683858],[-116.51758745085391,49.11859506666503],[-116.53365961845088,49.11978159338205],[-116.52341601383625,49.099069670871444],[-116.51242853641975,49.088242750415816],[-116.49352021246429,49.08830798025575],[-116.4957976447508,49.10617767113622],[-116.50695520197525,49.10714516764019],[-116.5072747485542,49.13102742683858]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-116.51207394464797,\"lat\":49.105209247265286},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5903\"],\"cd_name_en\":[\"Central Kootenay\"],\"csd_code\":[\"5903004\"],\"csd_name_en\":[\"Creston\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Central Kootenay\",\"csd_name_fr\":\"Creston\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-118.21929048010502,49.32836755057835],[-118.23809820350856,49.341035967247166],[-118.23862600503944,49.35763550939088],[-118.25179354807159,49.36361067184131],[-118.25101756213859,49.37860614536969],[-118.26419453154001,49.388950588946805],[-118.257109389544,49.40270468057601],[-118.26118172253277,49.42910903532896],[-118.25283319489233,49.444493544825264],[-118.28319582729102,49.47053051698445],[-118.28736234122542,49.49490499328187],[-118.26543163077,49.52934953401475],[-118.26054426337215,49.55054326399206],[-118.24487746701435,49.56156683089336],[-118.25192841908603,49.593245873051835],[-118.25337987782703,49.6206786123662],[-118.24189336619199,49.63616032689712],[-118.2529898605548,49.65642091143675],[-118.27544370341305,49.65838497682784],[-118.28077683252444,49.6829090308213],[-118.27545912555199,49.714179564305844],[-118.28479770645765,49.74238042653175],[-118.30130342500864,49.750188297211956],[-118.28768697806748,49.75983201173933],[-118.29910651445644,49.76627633495133],[-118.28725402163207,49.77884661003244],[-118.29030971389139,49.7940167176483],[-118.31219441177743,49.81230454222221],[-118.51021317089777,49.81255700557587],[-118.5127733550972,49.79530026876012],[-118.50874003528551,49.77538348539217],[-118.49705823762646,49.77369419854692],[-118.49675425719941,49.7597787624057],[-118.505415554056,49.73923210601952],[-118.53168036262367,49.73812011540592],[-118.54528076374032,49.71960034066926],[-118.56869155103995,49.70422083608328],[-118.57062567576429,49.694850912632006],[-118.55725193181853,49.68587235306302],[-118.57565129913222,49.67850872165087],[-118.56579045395846,49.66432874878052],[-118.58575350111995,49.65636149301011],[-118.5788711562754,49.633174584681456],[-118.59406398857078,49.61627361320155],[-118.58356450886727,49.60602239499668],[-118.5863827193037,49.59121571260838],[-118.60324426572575,49.594254897084646],[-118.6200969814752,49.56267137988967],[-118.63680412577153,49.56068159754254],[-118.65855934001513,49.542732252782564],[-118.65483575024955,49.53008917410033],[-118.66592669426528,49.51913831004335],[-118.6825476660831,49.51353300734828],[-118.70176053720434,49.49089660069829],[-118.68466837796089,49.4728809217793],[-118.68831702738453,49.45671696077176],[-118.71239730447377,49.44890014570994],[-118.7127712854407,49.426360986805655],[-118.70497998734011,49.41619647396123],[-118.71713597383034,49.400608708908216],[-118.70597155505874,49.37458685801863],[-118.68900777656759,49.36527892437476],[-118.66894335316975,49.374143829904035],[-118.64133466795862,49.3670196658185],[-118.63477575209319,49.34657677140233],[-118.61546347768099,49.340340516411025],[-118.61731155676834,49.33202388537802],[-118.60897789195961,49.30968962487802],[-118.58636111893912,49.29383806033329],[-118.5875491875852,49.26880144952375],[-118.59965379196453,49.236329341372034],[-118.62242298102434,49.21829538688829],[-118.60298660178626,49.19329324801483],[-118.56463612412213,49.175544238861974],[-118.56328454884856,49.14388375761699],[-118.56865808521204,49.13645587770815],[-118.59117173643415,49.1289400827621],[-118.63134438424672,49.12574948403128],[-118.6306855203705,49.07106331116061],[-118.62501049589406,49.04148465686243],[-118.60359236732295,49.04136018245617],[-118.62110292921865,49.02005086311709],[-118.59107831308806,49.00007486624967],[-118.29781012041632,49.00016294263241],[-118.29739116729591,49.03786503936304],[-118.31180447976308,49.05047417662206],[-118.32846776643616,49.05568630277257],[-118.33780193653756,49.079614625760506],[-118.3312072132491,49.086148238411056],[-118.33544295171491,49.12743530099932],[-118.34968199293472,49.143732269802264],[-118.34539268236225,49.16849027346272],[-118.34740167784453,49.18648365935632],[-118.3371309546349,49.19322545244189],[-118.33585909502519,49.217443064209554],[-118.31337412754482,49.21724705264746],[-118.31420854201296,49.232617536778086],[-118.30351844405376,49.265278843864735],[-118.26467067041298,49.28653789705963],[-118.24974853483519,49.312330595994624],[-118.21929048010502,49.32836755057835]],[[-118.45168445155049,49.05194203544861],[-118.42961220958865,49.05145776684225],[-118.42898101498767,49.03741971113588],[-118.4195054744819,49.029274841470276],[-118.44426244521085,49.0147491241194],[-118.47480124603021,49.01943216815132],[-118.47503869111688,49.03655239508973],[-118.4471710229323,49.037527145289026],[-118.45168445155049,49.05194203544861]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-118.45162441111765,\"lat\":49.40752441270394},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5905\"],\"cd_name_en\":[\"Kootenay Boundary\"],\"csd_code\":[\"5905052\"],\"csd_name_en\":[\"Kootenay Boundary D \\/ Rural Grand Forks\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kootenay Boundary\",\"csd_name_fr\":\"Kootenay Boundary D \\/ Rural Grand Forks\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.44506231759975,49.03678738223755],[-119.45686190752055,49.029580557456704],[-119.46675655335669,49.044182453885846],[-119.48381856143568,49.033655026028384],[-119.50563599886881,49.04436011333007],[-119.48892936864237,49.00736091247133],[-119.47537340709198,49.00670095762468],[-119.45908205562002,49.02602518758016],[-119.43318745267283,49.02081106562888],[-119.43701124095865,49.0363243394816],[-119.44506231759975,49.03678738223755]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.47277069314752,\"lat\":49.026343513521795},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5907\"],\"cd_name_en\":[\"Okanagan-Similkameen\"],\"csd_code\":[\"5907005\"],\"csd_name_en\":[\"Osoyoos\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Okanagan-Similkameen\",\"csd_name_fr\":\"Osoyoos\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.82330063422951,49.19856000331147],[-119.81896038985222,49.21107713368917],[-119.83703229944423,49.211076455108696],[-119.83714245873307,49.20079034834974],[-119.82330063422951,49.19856000331147]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.82877473938572,\"lat\":49.205578585082556},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5907\"],\"cd_name_en\":[\"Okanagan-Similkameen\"],\"csd_code\":[\"5907009\"],\"csd_name_en\":[\"Keremeos\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Okanagan-Similkameen\",\"csd_name_fr\":\"Keremeos\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.09922463326423,49.64614119594459],[-120.16508196879911,49.62736645596684],[-120.17415193932176,49.62016776178401],[-120.1586508081744,49.606096622215404],[-120.16958073056281,49.58358793771471],[-120.1573850895087,49.57003499395395],[-120.16015715396621,49.559552421203136],[-120.19721380010374,49.52091874675503],[-120.18657958141513,49.49991662709952],[-120.17333663323015,49.487876747842876],[-120.17854629705485,49.47832202330742],[-120.16834559379635,49.46438833010561],[-120.16632791798567,49.43817347032366],[-120.17319176579065,49.431651290296365],[-120.20970571339794,49.42527545815555],[-120.22463389304227,49.41952194045579],[-120.22664873643899,49.40599420304021],[-120.22650092164335,49.40042832922806],[-120.22682252580807,49.34079342095066],[-120.2410669609139,49.329028460796714],[-120.25894700453388,49.330983311165625],[-120.27538124383737,49.30384927066648],[-120.27543510310296,49.2804518419231],[-120.26214368948048,49.26630269398672],[-120.26794947076935,49.25646674223725],[-120.2495261905008,49.23348761123309],[-120.25359258805732,49.21405720743639],[-120.2959398709728,49.23497092186202],[-120.31873068988921,49.233025833279],[-120.33840538627454,49.24673501451801],[-120.36235067325003,49.24011225419032],[-120.41173236701223,49.23748066712466],[-120.41419381702025,49.21735470768004],[-120.40733757883326,49.205865660122],[-120.42865087177908,49.198917110196085],[-120.41117859192615,49.16800246822423],[-120.42389634032027,49.15403946722347],[-120.41458498015803,49.14491512319431],[-120.41683975495837,49.12735001782826],[-120.44161410373492,49.12256430138967],[-120.44490180308108,49.11228229563539],[-120.43247858500673,49.10113591884821],[-120.45573588514195,49.08399943484213],[-120.44042032731873,49.061025429196576],[-120.45655032555133,49.050927976865886],[-120.43629960169764,49.04146629618168],[-120.43151194463456,49.03151839374816],[-120.4051873585694,49.01069322667477],[-120.40254729343643,49.00007688300237],[-119.94623130369921,49.000157086237486],[-119.91847518532278,49.013110974413735],[-119.892197000496,49.03596375295934],[-119.83719228722175,49.06841566637572],[-119.79429322572015,49.08847385789486],[-119.78324684244836,49.09694645855776],[-119.75901222037103,49.09401117136752],[-119.74939639796605,49.10214798642979],[-119.76088802195608,49.113418711060476],[-119.78248278268687,49.113390737424965],[-119.78247270278577,49.16755390934372],[-119.79157645863329,49.19599341297523],[-119.67638449086074,49.196492542709166],[-119.67554793551689,49.27773406503056],[-119.6704488931085,49.29946142711431],[-119.74085560908627,49.29962142859658],[-119.79747661144006,49.30126314326932],[-119.797659745579,49.30960407097383],[-119.84187588443761,49.314082358985125],[-119.89115002200302,49.314358257700654],[-119.89431597816036,49.37151582159464],[-119.93228161188615,49.36983314210584],[-119.93485655500571,49.40087341720435],[-119.91244022654533,49.40427620974378],[-119.89518703329422,49.39166346003572],[-119.90013561542695,49.4717042532444],[-119.90809104805327,49.500089718517934],[-119.94961917247294,49.52888517388224],[-119.98944405852492,49.507426752104095],[-120.0010777224985,49.50582775860749],[-120.03328156805509,49.52151541118415],[-120.03452756891828,49.53956695933813],[-120.02221537169817,49.55263056531254],[-120.03287185319272,49.56604261754309],[-120.04845731800745,49.572971580515315],[-120.03160981115855,49.594839700745645],[-120.06602600526583,49.62464389858901],[-120.09922463326423,49.64614119594459]],[[-119.91293984344063,49.2119570654327],[-119.92298964514033,49.213069362097],[-119.93203298754023,49.22302048600702],[-119.90736963399713,49.223001789486965],[-119.91293984344063,49.2119570654327]],[[-119.82330063422951,49.19856000331147],[-119.83714245873307,49.20079034834974],[-119.83703229944423,49.211076455108696],[-119.81896038985222,49.21107713368917],[-119.82330063422951,49.19856000331147]],[[-120.04400647433184,49.302463620727245],[-120.04549287006925,49.31786859041769],[-120.09023096817764,49.34859204101662],[-120.1113169548036,49.35039622322296],[-120.12270608082407,49.36629705639771],[-120.12247731541126,49.3896081046145],[-120.07800491667378,49.38948951797388],[-120.07892647816335,49.34606769682795],[-120.03942879718174,49.34789176135246],[-120.04108664598671,49.322587648293016],[-120.02997724243325,49.322385187837064],[-120.03164607844681,49.30268060586224],[-120.03532243194753,49.27488724557365],[-120.01764781609302,49.259226669857256],[-120.01919183165059,49.251420556202376],[-120.00161908121343,49.23833770233742],[-119.9635243102015,49.22536036586082],[-119.95242242134067,49.21723376561865],[-119.93504970496784,49.21934015789167],[-119.92864697451071,49.211433239551745],[-119.97866113755401,49.21187348634619],[-119.97894182407582,49.199163394153885],[-120.02271291484385,49.199375527351336],[-120.02224431880957,49.244557763215084],[-120.08908995366427,49.24491140574233],[-120.08935115062663,49.27313612552157],[-120.04380874733181,49.27355338857972],[-120.04400647433184,49.302463620727245]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-120.07641848485932,\"lat\":49.23861747073961},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5907\"],\"cd_name_en\":[\"Okanagan-Similkameen\"],\"csd_code\":[\"5907053\"],\"csd_name_en\":[\"Okanagan-Similkameen G\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Okanagan-Similkameen\",\"csd_name_fr\":\"Okanagan-Similkameen G\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.53207277363953,50.12380251760332],[-122.63822520979983,50.123262985967365],[-122.65843649883718,50.13493091548551],[-122.65991648438145,50.1431475622135],[-122.70750912408182,50.14578082405126],[-122.73396217426436,50.151296077343595],[-122.76227993157438,50.13323673327396],[-122.78828729791068,50.13113766468127],[-122.79311757913517,50.10558870688638],[-122.80579703700225,50.08710218243847],[-122.80205902476582,50.05519768390959],[-122.79184177806052,50.0411029817133],[-122.77335061418796,50.03658912899548],[-122.76478426081289,50.023270224362456],[-122.74060613605056,50.016782374686514],[-122.72148995127436,50.02436875872932],[-122.67945282743293,50.02264473476505],[-122.6868641461095,50.002632011902435],[-122.6803038352416,49.98123414949182],[-122.68689469419314,49.97293450984853],[-122.72366454495314,49.95428023953114],[-122.76122811661133,49.94796672187641],[-122.76779367231723,49.932710253335756],[-122.75177915720582,49.91370472222195],[-122.74656861137153,49.89142215427116],[-122.71993335966158,49.89203335943294],[-122.69952856644919,49.87962654993095],[-122.67691478800067,49.87387882928196],[-122.6391188351958,49.872341186091106],[-122.58646198359666,49.878072862908915],[-122.57867220170247,49.87023982541437],[-122.60846878005002,49.86101968134388],[-122.61622139564955,49.83505920784088],[-122.65176067361767,49.83690210000493],[-122.66484348375462,49.823777452331804],[-122.6373460170279,49.80572940382125],[-122.64881567481645,49.78763608766807],[-122.63877177958594,49.775286126730144],[-122.60251670357381,49.776776361238745],[-122.5846066453968,49.78285995084661],[-122.52610830301614,49.778671995703924],[-122.51676943170688,49.784579870047914],[-122.48490052307959,49.77778564269465],[-122.45382414066832,49.749777477541095],[-122.43103137603448,49.75774241635163],[-122.41808223385272,49.748167543526115],[-122.43186680018378,49.73370049431969],[-122.41706814511268,49.72036417905004],[-122.42412417968242,49.71333317779141],[-122.45146079618539,49.715637351502565],[-122.46778590887425,49.706278223075024],[-122.47508162763326,49.694502592013976],[-122.46659598251706,49.6849788188857],[-122.4753001988767,49.676620790455],[-122.4622114821184,49.66748312907717],[-122.45443796603641,49.64100242297894],[-122.44575898662416,49.63599261686095],[-122.40289815219305,49.64016040895638],[-122.38882536646605,49.627140114730565],[-122.34504012497042,49.62132649170494],[-122.34036378544661,49.63473456318886],[-122.3486657369632,49.65926912193448],[-122.33335500665706,49.66371446131017],[-122.29679954639276,49.663292688676705],[-122.28272192831734,49.65764809061199],[-122.28194325515857,49.643862118939126],[-122.2927400483735,49.610817065997715],[-122.27883330887994,49.60359290883008],[-122.25367952400421,49.59975564912449],[-122.23680658810618,49.5865089787872],[-122.19341846115496,49.590442586846684],[-122.16482706445471,49.60660019893865],[-122.13102045619665,49.601677685744306],[-122.10297460489203,49.60896144212403],[-122.09430129318602,49.59550549176203],[-122.07173901372757,49.58120280872792],[-122.08125029748074,49.55984478096894],[-122.08048220483529,49.54222177989148],[-122.11228122250677,49.52998618665922],[-122.13102984070221,49.512641042782455],[-122.13447823331178,49.5005078920592],[-122.12701613191787,49.48732814336958],[-122.13939221319649,49.48225219616762],[-122.14715349149301,49.458214226547],[-122.13990006194267,49.444978535853735],[-122.16550310629343,49.42249502824847],[-122.18381498074604,49.3972741648274],[-122.16731009226174,49.37248492474898],[-122.15282467483226,49.36586147045434],[-122.17108451663287,49.34703203721808],[-122.16123654841255,49.321443382264405],[-122.13466009833111,49.31361939052822],[-122.12178968910862,49.335480628150925],[-122.08671459876692,49.332196538654735],[-122.08439651021658,49.32282606404291],[-122.04428720094894,49.302071077452155],[-122.01636488300613,49.28324605920883],[-122.01851095373962,49.26976707607316],[-122.0529884497006,49.25981648518743],[-122.07280113382643,49.2387809660377],[-122.10713471007102,49.219464816831504],[-122.12767482427905,49.19817258186605],[-122.05017147547424,49.19763669320575],[-122.0373554779325,49.19982522815407],[-122.02728868211572,49.21165634370242],[-122.0115925873314,49.20968970887386],[-122.0012465080275,49.20496419026084],[-121.96938986763243,49.20771060752301],[-121.94490492307652,49.21558967532734],[-121.94896101012934,49.232880107254395],[-121.96244258108136,49.2421097970057],[-121.94170361109387,49.24961309396596],[-121.930685921572,49.26185519898738],[-121.91541476176789,49.26797513736009],[-121.91585741274763,49.27717476799758],[-121.93700701976647,49.28042116253082],[-121.92824111827002,49.29506762620783],[-121.92787840290733,49.30950829079152],[-121.88966086977668,49.30844881416271],[-121.89259297306808,49.29043504494676],[-121.87765029888055,49.29535021228897],[-121.81393020211615,49.304120907199966],[-121.79917509804413,49.31389292554743],[-121.7638736272492,49.33399358405036],[-121.7652376084027,49.359368300538065],[-121.68960910611902,49.36063790754411],[-121.69956920138836,49.38222164253088],[-121.7183263431592,49.39148597901746],[-121.698019617064,49.407369567046544],[-121.69586432292837,49.42176988454671],[-121.68379431053157,49.42393846010794],[-121.64580956645868,49.45230784164619],[-121.66057980803507,49.46800626230959],[-121.64664289756895,49.47405010807631],[-121.61873993872462,49.5017476881511],[-121.59315359600609,49.49012342168624],[-121.57219096185187,49.48649746913649],[-121.57198577983601,49.5063759674741],[-121.56108793493284,49.5162141624665],[-121.56279357745028,49.55807473367801],[-121.53943537205714,49.57543340430751],[-121.55049270120783,49.60203845136623],[-121.59377326529902,49.61108389744172],[-121.61829481074648,49.62322372097172],[-121.64595254900509,49.62386812322165],[-121.67140074404642,49.616049533034435],[-121.68515400106048,49.6320163917138],[-121.68696746486145,49.64569181509777],[-121.7025099819352,49.66799300433288],[-121.68435434585385,49.690422247541925],[-121.70143846138986,49.701587999035766],[-121.69947504774431,49.71558146356956],[-121.73379572619722,49.73560660214661],[-121.71022619934425,49.745576512701156],[-121.7133795697718,49.770744590055344],[-121.70479602111149,49.77433170698581],[-121.70980232904913,49.793746760214304],[-121.72919688039754,49.7978442225819],[-121.73132101448492,49.813062934222714],[-121.71268605267092,49.82363384214905],[-121.72828959111831,49.83709165553692],[-121.73153456495432,49.85018571917993],[-121.75850511394897,49.8522793047479],[-121.75548299942206,49.864425270033564],[-121.77283657973504,49.87097159740671],[-121.77800987091649,49.857011972389586],[-121.79332897266502,49.84092617205509],[-121.81325524676443,49.85383631600303],[-121.84413971559484,49.85894940259982],[-121.83668589549407,49.86758983503879],[-121.85806001725814,49.88038748086423],[-121.87589890787197,49.87012855067724],[-121.90581019089986,49.87372903621733],[-121.92657594580739,49.867895904149755],[-121.94795982071793,49.855957948218204],[-121.96033333799178,49.86042478828539],[-121.97259681070742,49.84979788033316],[-121.96866204083634,49.83651437665191],[-121.98766737354356,49.83227685497605],[-121.99200675184645,49.820200445983566],[-122.03925626179921,49.81705534039776],[-122.05213053499499,49.837539156444905],[-122.06955062567356,49.831545712582596],[-122.10469559550428,49.84843215868419],[-122.13069093053777,49.87355378823775],[-122.13527489358441,49.883957848091676],[-122.1636463462239,49.90939290599292],[-122.20791517266318,49.91223982621253],[-122.23535301282924,49.92610895399701],[-122.2400426921148,49.9408122449186],[-122.27129206828607,49.96310098253728],[-122.26495513842094,49.97496044288222],[-122.2493874651411,49.97969351205908],[-122.26139283859635,50.00305455462581],[-122.25533078935193,50.03529088825321],[-122.26061581816188,50.04328823094592],[-122.28883609699916,50.05152526268958],[-122.2746918415539,50.08405548489599],[-122.24458418801987,50.093914751460616],[-122.22991522865198,50.11051206971429],[-122.22601601545807,50.12622300832098],[-122.25844006319265,50.12344431007174],[-122.40586657427477,50.12333616808333],[-122.52216834031671,50.12383959572101],[-122.52678273296814,50.11926965906843],[-122.53207277363953,50.12380251760332]],[[-122.45626185009996,49.98798008413365],[-122.44585485649014,49.9883468888239],[-122.44581620028231,49.984401645628665],[-122.45336759019399,49.98418140722036],[-122.45626185009996,49.98798008413365]],[[-122.22130873343403,49.77389776543295],[-122.22191665342002,49.77383259005269],[-122.22202347744665,49.77452592342726],[-122.22135938012909,49.77453618032418],[-122.22130873343403,49.77389776543295]],[[-122.53366263160102,50.04887525959815],[-122.54221234771134,50.0490574454763],[-122.53779913645847,50.05454924857768],[-122.53366263160102,50.04887525959815]],[[-121.98777790685826,49.24628062158404],[-122.00852236240576,49.23356538474395],[-122.00785460555288,49.24626971056172],[-121.98777790685826,49.24628062158404]],[[-122.40301186595926,49.93610532303982],[-122.41817865134692,49.93465908023362],[-122.41949022891997,49.949388463932166],[-122.40345391178532,49.95206643411524],[-122.40301186595926,49.93610532303982]],[[-122.19423618605421,49.75906281859552],[-122.15256204570514,49.7582605773167],[-122.1506714374177,49.75155908559772],[-122.18013184569027,49.750190069868474],[-122.19423618605421,49.75906281859552]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.14519034333033,\"lat\":49.7164500004682},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909048\"],\"csd_name_en\":[\"Fraser Valley C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Fraser Valley C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.46093530381147,49.39186135924167],[-121.45129941418956,49.39250125302641],[-121.44900662867651,49.40040360655863],[-121.4611841446142,49.40052775212277],[-121.46093530381147,49.39186135924167]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.4556764119104,\"lat\":49.39648868070537},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909812\"],\"csd_name_en\":[\"Schkam 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Schkam 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.6066620588561,49.352442430544826],[-121.60400870421103,49.35702568988928],[-121.61459081933172,49.35685832525256],[-121.61345230866242,49.35652144161298],[-121.6066620588561,49.352442430544826]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.6082582109738,\"lat\":49.35545081557195},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909851\"],\"csd_name_en\":[\"Ruby Creek 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Ruby Creek 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.19708119759427,49.23505231043313],[-123.22157442344542,49.23699892626281],[-123.22594391104604,49.228871504782255],[-123.19129597659891,49.21943970492989],[-123.19708119759427,49.23505231043313]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.20779262275403,\"lat\":49.22953859098652},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5915\"],\"cd_name_en\":[\"Greater Vancouver\"],\"csd_code\":[\"5915803\"],\"csd_name_en\":[\"Musqueam 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Greater Vancouver\",\"csd_name_fr\":\"Musqueam 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.08880730154667,49.31907419736977],[-123.09157750407117,49.319051493456875],[-123.09188230327048,49.31118306136386],[-123.08615863811217,49.31340748161317],[-123.08880730154667,49.31907419736977]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.08960413541081,\"lat\":49.31523683724563},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5915\"],\"cd_name_en\":[\"Greater Vancouver\"],\"csd_code\":[\"5915807\"],\"csd_name_en\":[\"Mission 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Greater Vancouver\",\"csd_name_fr\":\"Mission 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.12436529199597,49.32491870497123],[-123.13491576389383,49.31366557181324],[-123.12879337924558,49.310116225829226],[-123.12436529199597,49.32491870497123]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.12935814504512,\"lat\":49.316233500871235},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5915\"],\"cd_name_en\":[\"Greater Vancouver\"],\"csd_code\":[\"5915808\"],\"csd_name_en\":[\"Capilano 5\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Greater Vancouver\",\"csd_name_fr\":\"Capilano 5\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.46547601479712,49.17668749736611],[-122.46625920714233,49.172766431939365],[-122.45506754744927,49.17358030576376],[-122.45522962405205,49.17778249739678],[-122.46547601479712,49.17668749736611]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.46042956059271,\"lat\":49.17518064922018},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5915\"],\"cd_name_en\":[\"Greater Vancouver\"],\"csd_code\":[\"5915840\"],\"csd_name_en\":[\"Whonnock 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Greater Vancouver\",\"csd_name_fr\":\"Whonnock 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.59722518594862,49.01757161496708],[-123.598057306663,49.015526509816766],[-123.59621284313808,49.01538205716077],[-123.59722518594862,49.01757161496708]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.59716511191657,\"lat\":49.016160060648204},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5919\"],\"cd_name_en\":[\"Cowichan Valley\"],\"csd_code\":[\"5919817\"],\"csd_name_en\":[\"Portier Pass 5\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cowichan Valley\",\"csd_name_fr\":\"Portier Pass 5\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.47803261497036,49.3607729495445],[-124.48243941840427,49.34532221755466],[-124.44440960069036,49.3375134118683],[-124.43982105332492,49.32601653314987],[-124.4099518963443,49.325915138419056],[-124.41001970252468,49.339344476755954],[-124.38764572594239,49.3354980696161],[-124.38185330080566,49.35856230882125],[-124.4210150445695,49.362148297035375],[-124.44721038418172,49.35666025736599],[-124.47803261497036,49.3607729495445]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.42871721234289,\"lat\":49.34649469087665},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5921\"],\"cd_name_en\":[\"Nanaimo\"],\"csd_code\":[\"5921023\"],\"csd_name_en\":[\"Qualicum Beach\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Nanaimo\",\"csd_name_fr\":\"Qualicum Beach\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.77428372799505,49.298687046862504],[-124.80011592398537,49.30790370954203],[-124.80249952700807,49.28351983962553],[-124.79995027476124,49.27445513877091],[-124.78290057999286,49.27068144886955],[-124.78065292320602,49.245362760165946],[-124.78346490066085,49.215434844594554],[-124.8051247336859,49.21093276763819],[-124.81286410135068,49.21105167856578],[-124.811355984366,49.21836313029666],[-124.81645666500961,49.2311876415613],[-124.8227380432887,49.21465086418023],[-124.82057731865761,49.17521019853467],[-124.80082253508986,49.15308902549428],[-124.80081458298474,49.14637802249415],[-124.76150865149076,49.1145841852225],[-124.73923683592623,49.120026484841816],[-124.74495747987237,49.136920970425294],[-124.72848457038562,49.1386113823865],[-124.71541244035403,49.1295336904772],[-124.68201437981044,49.13343734802478],[-124.64437362808648,49.11507793812929],[-124.62950783428157,49.116863659108624],[-124.62917338446098,49.09534488370449],[-124.61629009539004,49.104114349291294],[-124.5952820942921,49.09652657328402],[-124.58216592159866,49.103733800122896],[-124.57743067464219,49.124023954230175],[-124.58255508490153,49.14005755432641],[-124.59046684505257,49.15966509337611],[-124.62927253279038,49.15824522337194],[-124.64064393814078,49.17189392773535],[-124.6882921800145,49.171556278590316],[-124.69731781603397,49.191286968728214],[-124.692948770877,49.205473951843885],[-124.67417516296673,49.22416832447301],[-124.67423772814229,49.23389255021996],[-124.67719766252357,49.25764016160334],[-124.68771813337932,49.2678069242181],[-124.70545371093546,49.278851080601115],[-124.71501556193964,49.275160966309244],[-124.74749300797109,49.275513405302725],[-124.74726258284011,49.28969772317144],[-124.77428372799505,49.298687046862504]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.71950464876498,\"lat\":49.190074374873284},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5923\"],\"cd_name_en\":[\"Alberni-Clayoquot\"],\"csd_code\":[\"5923039\"],\"csd_name_en\":[\"Alberni-Clayoquot F\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Alberni-Clayoquot\",\"csd_name_fr\":\"Alberni-Clayoquot F\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-126.98017785056078,49.87652877390634],[-126.98029143353293,49.8738313649184],[-126.97478145495016,49.872108057425905],[-126.97435350334975,49.876958927280306],[-126.98017785056078,49.87652877390634]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-126.97712869962763,\"lat\":49.874834579238865},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5924\"],\"cd_name_en\":[\"Strathcona\"],\"csd_code\":[\"5924805\"],\"csd_name_en\":[\"Chenahkint 12\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Strathcona\",\"csd_name_fr\":\"Chenahkint 12\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.24157054910879,49.95647352486585],[-125.24833729820523,49.944029855197705],[-125.2364301063513,49.94473498965875],[-125.24157054910879,49.95647352486585]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.24211265122176,\"lat\":49.94841278990744},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5924\"],\"cd_name_en\":[\"Strathcona\"],\"csd_code\":[\"5924840\"],\"csd_name_en\":[\"Homalco 9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Strathcona\",\"csd_name_fr\":\"Homalco 9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.6201713520494,49.930668601800214],[-123.63472424137122,49.92688667051232],[-123.66021728375637,49.92997117609777],[-123.67568743879872,49.9218256554144],[-123.68867113406574,49.90767363800206],[-123.70955918341355,49.90532246806242],[-123.72300385676215,49.894187163178344],[-123.74681821839998,49.886086873935746],[-123.7589622239884,49.87036543044372],[-123.77515194791874,49.86126354533131],[-123.76687980860189,49.84073129242507],[-123.77173116236165,49.82554343436066],[-123.79704864627705,49.798118834834064],[-123.7975674401995,49.76991482145884],[-123.80563134582714,49.75966409354548],[-123.83582235102266,49.74730258059783],[-123.87388496201422,49.74162185147785],[-123.89444100107511,49.73475772817062],[-123.90416936242015,49.727682767622035],[-123.92480335787688,49.72821705399765],[-123.93936258200094,49.71926503486278],[-123.93943932579448,49.70686587790666],[-123.92890824251585,49.683625436658254],[-123.9272681601909,49.66976903452004],[-123.90745068254132,49.66259662630965],[-123.89050561767105,49.64324944178792],[-123.89947685715181,49.63072672832995],[-123.89891295999513,49.613042191705475],[-123.90945562779697,49.612525901615925],[-123.91866591637,49.596869002016625],[-123.91300250253417,49.58682246239296],[-123.9369530198655,49.55365140096848],[-124.0521516389019,49.54975848002134],[-124.08564683487957,49.546322820852495],[-124.07271576595122,49.4994359751319],[-124.06090274842227,49.480957437690506],[-124.04508303532279,49.43856997570487],[-124.03849532729495,49.40256627795239],[-124.04004447082157,49.36500137760259],[-123.91732414784867,49.349832333971236],[-123.8352733120238,49.33506904388724],[-123.76699266926536,49.319392649668195],[-123.77171886232543,49.464224022105455],[-123.81609583482758,49.464629781604714],[-123.84908583714349,49.47266300161941],[-123.84794442634619,49.481561006054946],[-123.82725618629094,49.48175758997751],[-123.82733815408959,49.496373486650036],[-123.79830618990972,49.49928880248722],[-123.79835257225089,49.5089796676534],[-123.79585824572641,49.509326351546],[-123.77396516914605,49.50322333313821],[-123.76460067552159,49.49050391525087],[-123.76719331722352,49.48944467812574],[-123.75337778687727,49.48307214854415],[-123.75269330954636,49.486169539272844],[-123.74896636659395,49.502826444033815],[-123.75189390415538,49.503829539481735],[-123.75484645845651,49.51154491091725],[-123.76054783271569,49.513831257091006],[-123.78052095247924,49.51715619514738],[-123.77197040046268,49.52884067457717],[-123.76813961841603,49.55022370121899],[-123.7540635753258,49.5502082924115],[-123.75433568137201,49.53383466873962],[-123.74231081784163,49.5212863314037],[-123.74245436071642,49.50354669513217],[-123.7354782191438,49.487187538343534],[-123.70755271205888,49.50019104235134],[-123.68208160824845,49.5003124655691],[-123.67483911088493,49.540211259735706],[-123.6636391852495,49.55186137008914],[-123.65516859279002,49.57491910333948],[-123.64010019663247,49.582052468519166],[-123.6462037070281,49.59080584514742],[-123.62715066529343,49.599733531265244],[-123.57834446649295,49.610966821170244],[-123.56276555463549,49.63116035728294],[-123.53140196740091,49.632833343682634],[-123.51983389783591,49.625470237362386],[-123.48051874619854,49.61588148179107],[-123.45775249760311,49.61903142033286],[-123.44989795792966,49.63152961731738],[-123.4577014376034,49.64573803235413],[-123.44328472967022,49.65542194050024],[-123.37310357320258,49.64962432973099],[-123.35160869557859,49.66567098141773],[-123.36401573103879,49.67435125918894],[-123.31982098347403,49.7237087084932],[-123.33552367111764,49.73486681397662],[-123.33573019853627,49.747313710478174],[-123.30300648771797,49.750053245570996],[-123.28061456164018,49.74667241716536],[-123.28383963956456,49.75995598532383],[-123.27250845045207,49.77091700854779],[-123.3006782367203,49.77803450969996],[-123.30522437361002,49.79650951476816],[-123.33331084286402,49.827328437963374],[-123.32841734701526,49.851443426159754],[-123.37113478472821,49.866057849722836],[-123.3991204835555,49.881232227824185],[-123.41661945114129,49.87910768740199],[-123.42795160402778,49.900927918592586],[-123.44759349897336,49.902746484485874],[-123.45714260894215,49.910442727394276],[-123.48794732337186,49.911352887311715],[-123.5503056808505,49.871070948290566],[-123.5496614316315,49.83858557238831],[-123.57813556000248,49.84578422273466],[-123.58703742025521,49.861371848864344],[-123.56907755329854,49.87991974171258],[-123.56499680326286,49.90531643132075],[-123.54934816336274,49.916552011653934],[-123.60274330853706,49.92293209782609],[-123.6201713520494,49.930668601800214]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.69804879785953,\"lat\":49.65606428858558},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5929\"],\"cd_name_en\":[\"Sunshine Coast\"],\"csd_code\":[\"5929022\"],\"csd_name_en\":[\"Sunshine Coast B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Sunshine Coast\",\"csd_name_fr\":\"Sunshine Coast B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.14179215431429,49.752224572545074],[-123.14131266018482,49.75315219934324],[-123.14122363961278,49.75579611841677],[-123.14241456310415,49.755816283284794],[-123.14245111247858,49.754615061299305],[-123.14179215431429,49.752224572545074]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.14179815923825,\"lat\":49.75439136055652},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5931\"],\"cd_name_en\":[\"Squamish-Lillooet\"],\"csd_code\":[\"5931806\"],\"csd_name_en\":[\"Seaichem 16\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Squamish-Lillooet\",\"csd_name_fr\":\"Seaichem 16\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.14479859771478,49.69249001260467],[-123.15366025842117,49.69241303953892],[-123.15405883155593,49.689084355812405],[-123.14480103042155,49.69000435515389],[-123.14479859771478,49.69249001260467]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.14954438689593,\"lat\":49.690977088773906},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5931\"],\"cd_name_en\":[\"Squamish-Lillooet\"],\"csd_code\":[\"5931807\"],\"csd_name_en\":[\"Stawamus 24\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Squamish-Lillooet\",\"csd_name_fr\":\"Stawamus 24\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.69732617419633,50.443184795129895],[-121.69449493697812,50.449515261942175],[-121.70230313448887,50.45188655816104],[-121.70672272382198,50.447033954192875],[-121.69732617419633,50.443184795129895]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.70019034885041,\"lat\":50.447759468847906},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933848\"],\"csd_name_en\":[\"Nickel Palm 4\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Nickel Palm 4\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.58704712630797,50.23401246861714],[-121.58952520883504,50.240022854088025],[-121.59699039229866,50.23738611721174],[-121.5970368988498,50.2340479388245],[-121.58704712630797,50.23401246861714]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.59217284114848,\"lat\":50.23635678457559},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933855\"],\"csd_name_en\":[\"Papyum 27\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Papyum 27\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.54651250050385,49.87713759750405],[-119.529275711441,49.87322176167164],[-119.52621521650897,49.88819445689608],[-119.5463522630643,49.89474266606645],[-119.54651250050385,49.87713759750405]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.53723617857575,\"lat\":49.88359492664422},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5935\"],\"cd_name_en\":[\"Central Okanagan\"],\"csd_code\":[\"5935803\"],\"csd_name_en\":[\"Tsinstikeptum 10\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Central Okanagan\",\"csd_name_fr\":\"Tsinstikeptum 10\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-126.18371580044014,50.97397070996807],[-126.16965284142329,50.96512093040434],[-126.16873597598249,50.98044483423947],[-126.18371580044014,50.97397070996807]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-126.17403487261531,\"lat\":50.97317882487062},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5943\"],\"cd_name_en\":[\"Mount Waddington\"],\"csd_code\":[\"5943813\"],\"csd_name_en\":[\"Quaee 7\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Mount Waddington\",\"csd_name_fr\":\"Quaee 7\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-127.5739488100278,50.61253713085195],[-127.56323585226649,50.61778005917304],[-127.56542155770869,50.61919007076667],[-127.56868645170509,50.617068756839515],[-127.57794342926911,50.61359258184447],[-127.5739488100278,50.61253713085195]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-127.57028954923666,\"lat\":50.6155626697219},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5943\"],\"cd_name_en\":[\"Mount Waddington\"],\"csd_code\":[\"5943816\"],\"csd_name_en\":[\"Quatsino Subdivision 18\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Mount Waddington\",\"csd_name_fr\":\"Quatsino Subdivision 18\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-130.03166069666182,55.868772282791525],[-129.9801511715162,55.869364104301795],[-129.95077928743308,55.914637558294366],[-129.91496245322912,55.96454089460665],[-129.8782208351177,56.00955097467641],[-129.86072391660204,56.018914700016346],[-129.89133634563703,56.02352955315786],[-129.90543379673042,56.03696421246646],[-129.94851515049464,56.03960425322579],[-130.0622818764777,56.271621475090335],[-130.44485370677492,56.24160086630336],[-130.46511226962397,56.24147417194906],[-130.4197242402205,56.13887662565706],[-130.3315454427955,56.12259133021507],[-130.3150795536168,56.11608731717337],[-130.24124059138538,56.09580747899774],[-130.10370110643154,56.122023728742896],[-130.0021390942187,56.00661074827548],[-130.020405538024,55.91007842928305],[-130.00273133457125,55.91155388875102],[-130.03166069666182,55.868772282791525]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-130.15372782356252,\"lat\":56.13542069065001},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5949\"],\"cd_name_en\":[\"Kitimat-Stikine\"],\"csd_code\":[\"5949032\"],\"csd_name_en\":[\"Stewart\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kitimat-Stikine\",\"csd_name_fr\":\"Stewart\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-127.3306262393016,55.035114477331696],[-127.34777259359777,55.03324079191961],[-127.33073336934146,55.033901011566094],[-127.3306262393016,55.035114477331696]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-127.33637740074695,\"lat\":55.03408542693913},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5949\"],\"cd_name_en\":[\"Kitimat-Stikine\"],\"csd_code\":[\"5949810\"],\"csd_name_en\":[\"Coryatsaqua (Moricetown) 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kitimat-Stikine\",\"csd_name_fr\":\"Coryatsaqua (Moricetown) 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-127.70972102034975,55.369556192869084],[-127.70919021112654,55.33354043065153],[-127.65724116407507,55.33418060480448],[-127.65717819602443,55.37150124306274],[-127.70972102034975,55.369556192869084]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-127.68317970548479,\"lat\":55.35223361661254},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5949\"],\"cd_name_en\":[\"Kitimat-Stikine\"],\"csd_code\":[\"5949813\"],\"csd_name_en\":[\"Kispiox 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kitimat-Stikine\",\"csd_name_fr\":\"Kispiox 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-131.15665423280797,57.90991031631311],[-131.15713251115093,57.916301095515124],[-131.1639056422807,57.91616842099153],[-131.16343222429563,57.90559203078867],[-131.15665423280797,57.90991031631311]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-131.16055320764818,\"lat\":57.911878604103094},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5949\"],\"cd_name_en\":[\"Kitimat-Stikine\"],\"csd_code\":[\"5949847\"],\"csd_name_en\":[\"Telegraph Creek\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kitimat-Stikine\",\"csd_name_fr\":\"Telegraph Creek\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.52035758347793,54.15440078952457],[-123.54346929216959,54.15912349970544],[-123.57494911647404,54.15805969361676],[-123.63766298488792,54.16704350559846],[-123.66558629778089,54.16629249125575],[-123.69913758834903,54.1814287925347],[-123.74311979036692,54.18026728842362],[-123.79262022798864,54.19357110208679],[-123.82196017272207,54.20438009622164],[-123.8429552782792,54.19800969600612],[-123.86950660747455,54.20368508619049],[-123.90555902790206,54.203187204663855],[-123.92703318130798,54.212112991868494],[-123.94211290553504,54.20408240479571],[-123.96446209951941,54.209569006645744],[-124.03650307861166,54.24058930084636],[-124.06918170804278,54.24666978593515],[-124.14667759284552,54.27361779870821],[-124.1673218975915,54.288383208822864],[-124.19872998514364,54.29363549537199],[-124.27261528448236,54.292721430183505],[-124.31047048566604,54.2800974566838],[-124.3086127378024,54.26907333304811],[-124.33809972493725,54.271816807772524],[-124.3487030668,54.26490320384495],[-124.36836366829083,54.26905728453231],[-124.40030043424393,54.26944534540823],[-124.41282535365195,54.25869251264797],[-124.42359287498952,54.2326711712284],[-124.44445056716745,54.22479105388446],[-124.46597948614188,54.23261280625556],[-124.46668057511906,54.128141628869535],[-124.36725417525605,54.128119450112116],[-124.35328531845526,54.07057379886834],[-124.36774363741573,54.03456929607151],[-124.36745935733417,54.01987085461664],[-124.35300230244381,54.02709249810302],[-124.31854607908927,54.02710529692968],[-124.32662591624074,54.01268086263771],[-124.36670901606122,54.01312127268535],[-124.36618531550171,53.99814008590874],[-124.43645941991537,53.99843339037088],[-124.4362686033298,53.896511763909984],[-124.49426548019521,53.89702640887126],[-124.50020066399063,53.894729667708496],[-124.50022994524352,53.82220930819277],[-124.502872994535,53.70689289684088],[-124.49674273009414,53.70193131770074],[-124.50016727625838,53.66031005499643],[-124.49898224903413,53.57455513578706],[-124.49540354049054,53.55568676216791],[-124.50437167840273,53.55350902414977],[-124.50060357952508,53.52746667628115],[-124.48523015339885,53.52021591388965],[-124.43917556856965,53.50936464576041],[-124.38130482879914,53.501863188972976],[-124.40432553647965,53.495153651808394],[-124.386156206955,53.485260767850924],[-124.38097716667673,53.45482000071691],[-124.33766746333225,53.46103562458662],[-124.30564964847838,53.455444805327936],[-124.25384935313012,53.46652498367698],[-124.2462356740888,53.45289367256701],[-124.21565559640283,53.443692571585196],[-124.21538185983137,53.420650431888895],[-124.18050146109148,53.412500258587315],[-124.13661937253381,53.408157105443166],[-124.10491722127736,53.41653971473607],[-124.11272950289965,53.42444364317457],[-124.08589239710503,53.434949219072074],[-124.04655624023708,53.432179357010014],[-123.99756090044838,53.443995851592],[-123.99762864049903,53.48430753129915],[-123.81379267888978,53.48484322096061],[-123.52303570640156,53.483599308127246],[-123.4198809660935,53.4835105357097],[-123.41896027520703,53.47018300737702],[-123.3017093718526,53.47023147557176],[-123.27774508300571,53.47059001537944],[-123.28056145943536,53.499272500401574],[-123.30317902934922,53.499122837122286],[-123.30236619802925,53.55457558395652],[-123.30471803888295,53.627589100109944],[-123.35113354974105,53.647058396889335],[-123.37009396881224,53.647780109520724],[-123.36954985580755,53.65903445992382],[-123.40540985925159,53.67660922374088],[-123.42032395594978,53.678035659734505],[-123.4473355074291,53.70883415843107],[-123.46507467408891,53.70843140800687],[-123.48296315383637,53.724158713341815],[-123.49936754297894,53.72850352676251],[-123.51812708734441,53.758977768987926],[-123.51031265078579,53.78150374622086],[-123.50071045132664,53.78746239825386],[-123.44836707395757,53.79517380974253],[-123.42524967130463,53.79263383845533],[-123.42556079431567,53.974747038781445],[-123.42239773151019,53.97459311270343],[-123.44808660769867,53.9839828097272],[-123.46541870745445,53.99636340162521],[-123.49136377998302,54.002860695564415],[-123.53480880288673,53.98726559681779],[-123.57144929382524,54.017517102930235],[-123.58452161710868,54.02379420780426],[-123.5784897038097,54.03894439235016],[-123.61601819233849,54.04142110031763],[-123.60949078390345,54.05572829659017],[-123.58678008964203,54.058139287637225],[-123.57409418352759,54.07451519470483],[-123.55332282846959,54.076596604477174],[-123.5534043918804,54.065093787859965],[-123.53668011171597,54.06201979239243],[-123.51573460750251,54.06906800720769],[-123.49754939534728,54.06524521039846],[-123.48453319044529,54.07137620942547],[-123.48394379544048,54.08394269966436],[-123.5195728109611,54.09632410440526],[-123.56601958765143,54.1055695980644],[-123.55550759342503,54.1205971001246],[-123.5312749001603,54.128629886412895],[-123.53580320172173,54.13782150006212],[-123.52035758347793,54.15440078952457]],[[-124.19293215442221,53.93045867672612],[-124.17280450843958,53.930158681528745],[-124.17299904436729,53.916178588832395],[-124.19260141996816,53.9187355726737],[-124.19293215442221,53.93045867672612]],[[-124.07017051682742,53.947618390463106],[-124.06986811213913,53.91819238849393],[-124.09344584601988,53.92399367255666],[-124.1114043058504,53.92242706878966],[-124.14290963068893,53.9322622668393],[-124.18217789220316,53.932745785867596],[-124.1818793458063,53.949205169961154],[-124.14675712883117,53.955539964317154],[-124.12116253689076,53.96374108964557],[-124.07030461520482,53.96190621514044],[-124.07017051682742,53.947618390463106]],[[-123.99705627776932,54.04671456101131],[-123.99694711547055,54.0333259028792],[-123.93512823481953,54.03285875291429],[-123.93345646493124,53.98342800128547],[-123.99865402609475,53.98515037464697],[-123.99838509995654,53.992704142512025],[-124.0457801878206,53.99130526368018],[-124.0463395866176,54.0060499216903],[-124.09355193959145,54.00546190679804],[-124.09456065383846,54.03549139095247],[-124.03232359891184,54.03405501433023],[-124.0327230628019,54.05633719127215],[-123.99714907974968,54.05629990268431],[-123.99705627776932,54.04671456101131]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.96311135011011,\"lat\":53.822327212674615},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951019\"],\"csd_name_en\":[\"Bulkley-Nechako F\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Bulkley-Nechako F\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.95622940079953,54.751299300640625],[-126.04317522312385,54.757208763789876],[-126.08170420289156,54.750111947036515],[-126.10723761765244,54.74871917397266],[-126.2498916219776,54.74901523682382],[-126.24966513286539,54.69460796920382],[-126.24397059889941,54.53525581208275],[-126.24555039301882,54.48684031250821],[-126.25004030755657,54.475997717154634],[-126.2519047322203,54.409873642359265],[-126.27990347745454,54.405785510507464],[-126.45618760188306,54.404917031829406],[-126.45485168956745,54.391108302799225],[-126.4741094106548,54.38780684257705],[-126.50212749308425,54.352279909621835],[-126.47735944358352,54.33218048406835],[-126.44355949008892,54.33650454108529],[-126.43465459318472,54.344868929881585],[-126.41315716738139,54.342728462194366],[-126.34066307571898,54.31412044082223],[-126.28459909381037,54.272448602771455],[-126.28402374933933,54.26573693004303],[-126.25983494061661,54.248718901860094],[-126.26201710981742,54.23917826944497],[-126.30039016264499,54.236086638429455],[-126.33736658071513,54.23816829808841],[-126.36042401010144,54.22610576312516],[-126.36372395133391,54.2175989344345],[-126.30579436225773,54.20196944824831],[-126.29518258059042,54.19234466061377],[-126.27603423627653,54.19800426045494],[-126.24531803750575,54.19071095577947],[-126.23374299788635,54.1831952344875],[-126.21864475379223,54.19727588518191],[-126.2072089451669,54.19491613006709],[-126.17975940970803,54.213450924373205],[-126.16055806807461,54.207434865861494],[-126.15330866677043,54.18490493166325],[-126.13284700045392,54.168714317937365],[-126.13047027233885,54.14745580691377],[-126.07929978807567,54.12687571223433],[-126.05231691334365,54.129349098005996],[-126.00260641542832,54.12168581873852],[-125.97805966839182,54.14000351582504],[-125.96809961048871,54.16062558439699],[-125.9568799631952,54.16562977459084],[-125.92680795111741,54.16110722699563],[-125.89943792398863,54.17197072676498],[-125.85557306939131,54.18123248810872],[-125.83646169355062,54.181946810741856],[-125.78690255298288,54.172130912940446],[-125.74924427867784,54.17169736573364],[-125.73892502771992,54.15704889604314],[-125.70672453897718,54.157313142706414],[-125.68333508666454,54.15292676823999],[-125.68247576097816,54.133123257847195],[-125.6667629448257,54.135519046281686],[-125.61300421840829,54.125869841590344],[-125.59708635886238,54.142798792489955],[-125.5745289798538,54.14608899390231],[-125.54843415783598,54.137134581360804],[-125.52990756381875,54.138199879180206],[-125.49549734258366,54.130330948680125],[-125.48936994095726,54.12455389021873],[-125.41382393781218,54.119459561259795],[-125.39579206726388,54.113442666584795],[-125.36494946791774,54.12009343267592],[-125.36377628871269,54.111896888320445],[-125.29062432818819,54.1121185572818],[-125.24054219124552,54.10777591899768],[-125.2411995982563,54.24885874534512],[-124.99989839438487,54.24994595422292],[-124.99871319441759,54.420218478092686],[-125.01448536766102,54.43539612710873],[-125.0514870189265,54.4350188789783],[-125.0622004279431,54.44271965290769],[-125.06249027787372,54.46513021044364],[-125.11112252733712,54.463843489908726],[-125.1102965548731,54.47931100223366],[-125.13536262347694,54.48584882180964],[-125.17704039155534,54.487164328871344],[-125.18926739062638,54.49694801147443],[-125.3146834865632,54.472350411216],[-125.44905874338562,54.45921354668094],[-125.48446643196405,54.45108216323979],[-125.52110201809899,54.46223603815512],[-125.60350029762891,54.49133935833892],[-125.64519865792654,54.509426394556975],[-125.7073428777039,54.53916831688668],[-125.72917620926117,54.5522160310369],[-125.75497798814142,54.57944580582771],[-125.85650889715531,54.644491762859744],[-125.87690543227565,54.65074447925051],[-125.90453369575933,54.67224408669616],[-125.948308515564,54.718635868920266],[-125.95622940079953,54.751299300640625]],[[-125.64586556375912,54.490950254085924],[-125.64600699157512,54.490427480133825],[-125.64910339305143,54.490301405048704],[-125.64775725678717,54.491481916035134],[-125.64586556375912,54.490950254085924]],[[-125.78378938794678,54.23033475939419],[-125.78650262278703,54.225453264295226],[-125.78993691049956,54.223519884205025],[-125.78763000645131,54.23103905534482],[-125.78378938794678,54.23033475939419]],[[-126.13270335534364,54.42152986751377],[-126.1274939079707,54.41634769284503],[-126.1411434762654,54.41648212150484],[-126.14138516928087,54.424908338582675],[-126.13270335534364,54.42152986751377]],[[-125.89450142977407,54.33390287894922],[-125.87853221818355,54.33427465526336],[-125.8773927007541,54.32711293035613],[-125.89450142977407,54.33390287894922]],[[-125.77272913359529,54.23570618954407],[-125.77204653291507,54.241228816133564],[-125.76319082645503,54.241685275381485],[-125.76003787478062,54.241702281093026],[-125.74502005975032,54.22917457884295],[-125.72975773563712,54.225677766722704],[-125.72754593272094,54.21131691094435],[-125.74687277612509,54.21268755806942],[-125.77293306977005,54.23053028129362],[-125.77272913359529,54.23570618954407]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.76353102537489,\"lat\":54.38090447869207},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951028\"],\"csd_name_en\":[\"Bulkley-Nechako B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Bulkley-Nechako B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.19293215442221,53.93045867672612],[-124.19260141996816,53.9187355726737],[-124.17299904436729,53.916178588832395],[-124.17280450843958,53.930158681528745],[-124.19293215442221,53.93045867672612]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.18253873395666,\"lat\":53.9238905903954},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951813\"],\"csd_name_en\":[\"Laketown 3\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Laketown 3\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.85801676752257,55.83223233109893],[-121.90420724019921,55.83236761414206],[-121.90415536851131,55.81058048796965],[-121.94330640380346,55.81093448593213],[-121.94180154958488,55.78134526304039],[-121.89014532124341,55.782322984447354],[-121.88989741625771,55.79638083038674],[-121.85114352997749,55.80227273869408],[-121.85750361188285,55.81299237334615],[-121.87875231811651,55.814365364753314],[-121.85801676752257,55.83223233109893]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.90065311351067,\"lat\":55.80509911986792},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5955\"],\"cd_name_en\":[\"Peace River\"],\"csd_code\":[\"5955802\"],\"csd_name_en\":[\"West Moberly Lake 168A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Peace River\",\"csd_name_fr\":\"West Moberly Lake 168A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.70738363311222,58.09015213501244],[-122.70378342761204,58.06816751682941],[-122.68610787360169,58.065458803776565],[-122.68709877757928,58.09513682138588],[-122.70738363311222,58.09015213501244]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.69566739000604,\"lat\":58.080127832433675},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5959\"],\"cd_name_en\":[\"Northern Rockies\"],\"csd_code\":[\"5959810\"],\"csd_name_en\":[\"Prophet River 4\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Northern Rockies\",\"csd_name_fr\":\"Prophet River 4\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-128.63049524829574,60.062677084182226],[-128.6785433348601,60.07617377859701],[-128.70837148240471,60.078096459633244],[-128.71016416563788,60.10633838375313],[-128.80155667820122,60.1289367051404],[-128.88623845174598,60.145065520393594],[-128.9003985627575,60.08116005906122],[-128.81951411025307,60.05611723631864],[-128.72742125783586,60.02262135945786],[-128.6675335041156,60.02857434943728],[-128.63674725994179,60.01580443376808],[-128.60904412806607,60.020281551794035],[-128.60305770977655,60.008205537346605],[-128.57636771661834,60.016803450793496],[-128.55738473181998,60.0371732931765],[-128.63049524829574,60.062677084182226]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-128.7517066550972,\"lat\":60.073765494639225},\"year\":\"2021\",\"prov_code\":[\"60\"],\"prov_name_en\":[\"Yukon\"],\"cd_code\":[\"6001\"],\"cd_name_en\":[\"Yukon\"],\"csd_code\":[\"6001003\"],\"csd_name_en\":[\"Watson Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Yukon\",\"cd_name_fr\":\"Yukon\",\"csd_name_fr\":\"Watson Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-134.88399872031795,60.4802839943206],[-134.87958941218466,60.468479930239276],[-134.90209112638289,60.468256379696186],[-134.9171474078523,60.45919940998551],[-134.93583579848874,60.43050954166114],[-134.9676354844168,60.41493058814337],[-134.98524441686519,60.40004327570544],[-135.0176837449798,60.38602945045209],[-135.03467827261602,60.37148387906722],[-135.04926195503944,60.35056403201765],[-135.04799375553247,60.327457311480934],[-135.05829022624272,60.31749384707084],[-135.05816560065173,60.29283212672202],[-135.07501295511528,60.27755721807453],[-135.06621782752484,60.266718264658536],[-135.03457968662204,60.28161999077038],[-135.01294960729373,60.28577913010792],[-134.97360934734732,60.27754027818409],[-134.9714028579274,60.30938029117966],[-134.97822573390408,60.3258990831538],[-134.99450728753263,60.33796885397704],[-134.94208261565137,60.34158440234279],[-134.9310204026012,60.356920693686384],[-134.89377285285894,60.37072918759065],[-134.88624973803627,60.390407263152504],[-134.86632480554604,60.4045874752709],[-134.85415176149363,60.42872647983874],[-134.8027710780226,60.43609962327409],[-134.82340207754484,60.466375365684065],[-134.8241364522468,60.487019648679315],[-134.83789587015227,60.54874500931864],[-134.81433781373454,60.573309840598874],[-134.89687934023144,60.56784929045912],[-134.92702606932264,60.54961430907072],[-134.89520121170779,60.51261308101947],[-134.91143012766767,60.498475984323385],[-134.88399872031795,60.4802839943206]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-134.92748295952325,\"lat\":60.41846956599032},\"year\":\"2021\",\"prov_code\":[\"60\"],\"prov_name_en\":[\"Yukon\"],\"cd_code\":[\"6001\"],\"cd_name_en\":[\"Yukon\"],\"csd_code\":[\"6001044\"],\"csd_name_en\":[\"Mt. Lorne\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Hamlet\",\"prov_name_fr\":\"Yukon\",\"cd_name_fr\":\"Yukon\",\"csd_name_fr\":\"Mt. Lorne\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-131.08543924325744,60.0000553532497],[-131.08927023465677,60.0252485835731],[-131.10289593326198,60.03389970033775],[-131.12770368969012,60.03882688280396],[-131.15346606469157,60.037226901409824],[-131.19691045964868,60.02155671196868],[-131.2031441115969,60.00003747757813],[-131.08543924325744,60.0000553532497]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-131.1413089493752,\"lat\":60.01665564706419},\"year\":\"2021\",\"prov_code\":[\"60\"],\"prov_name_en\":[\"Yukon\"],\"cd_code\":[\"6001\"],\"cd_name_en\":[\"Yukon\"],\"csd_code\":[\"6001046\"],\"csd_name_en\":[\"Swift River\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Settlement \\/ \\u00c9tablissement\",\"prov_name_fr\":\"Yukon\",\"cd_name_fr\":\"Yukon\",\"csd_name_fr\":\"Swift River\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-134.96487655374207,60.7496360659419],[-134.98102399718286,60.82536009881924],[-134.98967239337884,61.04360236002526],[-134.98770150041892,61.24902724117426],[-135.15343615671827,61.270020937983915],[-135.55057772418616,61.231329134933446],[-135.73084189020943,61.15567999350106],[-135.90244628357246,61.01833358062441],[-135.98421637422348,60.89036375946759],[-135.98871063108913,60.82553365925685],[-135.94124551499215,60.83910578844536],[-135.8625113129381,60.85706814175018],[-135.8298513820949,60.85947406359797],[-135.8239235190621,60.8743160625475],[-135.7688069747786,60.88546812026932],[-135.74583405413767,60.876437653186414],[-135.7267987978995,60.88494565724276],[-135.68273235199413,60.89549383619714],[-135.64915083999395,60.89228927165448],[-135.61078745501143,60.8714349713317],[-135.5662058766319,60.85842132412579],[-135.55372892917865,60.86362369618346],[-135.5138545314795,60.85768317110149],[-135.47774013076275,60.86109959479807],[-135.44306957918403,60.8751960045708],[-135.4050839951396,60.87358266208745],[-135.37147516085838,60.85146406278184],[-135.3167967567004,60.839547105902426],[-135.29412112715755,60.84372523199381],[-135.27865032669402,60.838681079110664],[-135.25539950618727,60.84179004950951],[-135.22017614330665,60.83165181843142],[-135.18971041243375,60.8421356023595],[-135.0814351060113,60.84013736236991],[-135.00168157662665,60.78296751050785],[-134.96487655374207,60.7496360659419]],[[-135.11621516815066,60.9895762378494],[-135.1158153608472,60.972099769596284],[-135.1386649434631,60.97270242120589],[-135.13759953612592,60.98981754152931],[-135.11621516815066,60.9895762378494]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-135.40236911577435,\"lat\":61.0333697161081},\"year\":\"2021\",\"prov_code\":[\"60\"],\"prov_name_en\":[\"Yukon\"],\"cd_code\":[\"6001\"],\"cd_name_en\":[\"Yukon\"],\"csd_code\":[\"6001059\"],\"csd_name_en\":[\"Macpherson-Grizzly Valley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Yukon\",\"cd_name_fr\":\"Yukon\",\"csd_name_fr\":\"Macpherson-Grizzly Valley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.98193778769175,71.90724805592389],[-124.94465149857172,72.08392583782123],[-125.5883351675129,72.08759971231713],[-125.57306212838473,71.96480331771613],[-124.98838772487632,71.87635167956503],[-124.98193778769175,71.90724805592389]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.2460650110292,\"lat\":72.0022647894059},\"year\":\"2021\",\"prov_code\":[\"61\"],\"prov_name_en\":[\"Northwest Territories\"],\"cd_code\":[\"6101\"],\"cd_name_en\":[\"Region 1\"],\"csd_code\":[\"6101041\"],\"csd_name_en\":[\"Sachs Harbour\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Hamlet\",\"prov_name_fr\":\"Territoires du Nord-Ouest\",\"cd_name_fr\":\"Region 1\",\"csd_name_fr\":\"Sachs Harbour\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-115.87065111897311,62.79061107035004],[-115.9465726397354,62.882757855319234],[-116.09794746513327,62.85675673454346],[-116.0573521735159,62.80241600446858],[-116.09808584517486,62.794689448528615],[-116.0680183839482,62.75538655998917],[-115.87065111897311,62.79061107035004]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-115.99334191215496,\"lat\":62.81841191830814},\"year\":\"2021\",\"prov_code\":[\"61\"],\"prov_name_en\":[\"Northwest Territories\"],\"cd_code\":[\"6103\"],\"cd_name_en\":[\"Region 3\"],\"csd_code\":[\"6103031\"],\"csd_name_en\":[\"Behchok\\u00f2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Community government\",\"prov_name_fr\":\"Territoires du Nord-Ouest\",\"cd_name_fr\":\"Region 3\",\"csd_name_fr\":\"Behchok\\u00f2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.30583565442579,63.18769524482605],[-117.31560201980487,63.17698268928857],[-117.27891491421936,63.15919518606569],[-117.27755047191576,63.14391590046444],[-117.22504383617986,63.11727700570941],[-117.20322409634107,63.116591613133195],[-117.15975831804938,63.132389502077004],[-117.15976497038514,63.15852954884884],[-117.10142969870523,63.15853074323743],[-117.10143057180126,63.166864368109835],[-117.00142750114081,63.16686647204211],[-117.001428729248,63.19186672892271],[-117.11789423180507,63.191864671194125],[-117.1276246007405,63.1782455997035],[-117.14365641159885,63.17390490689016],[-117.16257697411667,63.187696316230834],[-117.30583565442579,63.18769524482605]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.17583527033871,\"lat\":63.16414898242162},\"year\":\"2021\",\"prov_code\":[\"61\"],\"prov_name_en\":[\"Northwest Territories\"],\"cd_code\":[\"6103\"],\"cd_name_en\":[\"Region 3\"],\"csd_code\":[\"6103034\"],\"csd_name_en\":[\"What\\u00ec\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Community government\",\"prov_name_fr\":\"Territoires du Nord-Ouest\",\"cd_name_fr\":\"Region 3\",\"csd_name_fr\":\"What\\u00ec\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-92.16097219743551,62.868691690620636],[-92.19476384419727,62.866051478360504],[-92.15726938625849,62.80889199346033],[-92.12607867656354,62.80674939437209],[-92.07846920409514,62.79396620831202],[-92.06590462059883,62.804222312462336],[-92.07787990579394,62.82340539222211],[-92.12365942230721,62.838993198175345],[-92.1337550879403,62.85371409959086],[-92.16097219743551,62.868691690620636]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-92.1329538134173,\"lat\":62.82992558673615},\"year\":\"2021\",\"prov_code\":[\"62\"],\"prov_name_en\":[\"Nunavut\"],\"cd_code\":[\"6205\"],\"cd_name_en\":[\"Kivalliq\"],\"csd_code\":[\"6205017\"],\"csd_name_en\":[\"Rankin Inlet\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Hamlet\",\"prov_name_fr\":\"Nunavut\",\"cd_name_fr\":\"Kivalliq\",\"csd_name_fr\":\"Rankin Inlet\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.45794644757065,47.7012537667005],[-53.47517995535814,47.7014224689142],[-53.487901606811135,47.680443793258185],[-53.48678977290325,47.66242115657034],[-53.416622655006464,47.662215889719484],[-53.40592171979835,47.70022765195719],[-53.45794644757065,47.7012537667005]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.44794268879775,\"lat\":47.681570212598764},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001308\"],\"csd_name_en\":[\"Whiteway\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Whiteway\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.204807186535774,47.63510786293853],[-53.152651396735145,47.64693269175522],[-53.18008280791427,47.657948153463316],[-53.209895988438554,47.666417494469634],[-53.25335890246424,47.6437526119932],[-53.2627163020234,47.638118415155795],[-53.25272771881765,47.63260146216549],[-53.22449269619008,47.642733080264506],[-53.204807186535774,47.63510786293853]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.207946904252545,\"lat\":47.64851036438215},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001385\"],\"csd_name_en\":[\"Upper Island Cove\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Upper Island Cove\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.73168793736325,47.90448671633141],[-55.695054905511476,47.93930107108889],[-55.77482458845998,47.96224761637768],[-55.77144921457451,47.952093895913755],[-55.74889579374682,47.92262479275307],[-55.75225030616693,47.913519396527946],[-55.774840913306036,47.901962291978435],[-55.79582184171219,47.896907370879404],[-55.76785014128547,47.88800653169534],[-55.73168793736325,47.90448671633141]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.74257876337549,\"lat\":47.92576135214247},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1003\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"1003018\"],\"csd_name_en\":[\"Milltown-Head of Bay d'Espoir\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Milltown-Head of Bay d'Espoir\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-57.40454943649591,49.34797117519708],[-57.425351508991156,49.36042409932839],[-57.4263746925108,49.37407010369111],[-57.44922727045467,49.36754643425183],[-57.487705183033434,49.34500332274373],[-57.49702447793461,49.347538003961],[-57.51411499726366,49.33359349238156],[-57.536131607531914,49.328468979515776],[-57.56894677969792,49.31279294495952],[-57.6140831002836,49.30713010421379],[-57.60351118647239,49.29514239551683],[-57.61477472445599,49.26594733227575],[-57.62723281021824,49.25400326782466],[-57.6255901957825,49.23913748426514],[-57.61040415457939,49.22487344162865],[-57.614511361050425,49.197070281667166],[-57.651340198777895,49.17318693578263],[-57.668348462870746,49.15070977196232],[-57.680392283913484,49.14488827376328],[-57.667140657767895,49.13196226151993],[-57.692835117294685,49.109417340419455],[-57.556413926314065,49.10817078454927],[-57.530201782392545,49.130691558357015],[-57.50000480597964,49.14095078661424],[-57.467801280020936,49.159183207706846],[-57.48874353832009,49.158082228531605],[-57.4949176360266,49.219209843485736],[-57.46660341092202,49.22865010859818],[-57.493776935875715,49.25199002878807],[-57.49007545566364,49.26125400503361],[-57.5096239884103,49.27550896961223],[-57.445067512562936,49.30790674149219],[-57.40454943649591,49.34797117519708]]],[[[-56.98219775182461,49.23872444687867],[-56.98804985478602,49.2500146401117],[-56.98020995410178,49.28266730986397],[-56.98152625829343,49.346340652819194],[-56.97491090702011,49.356163326208005],[-56.941813642738346,49.351206560531914],[-56.9263381027201,49.37493300522288],[-56.86986710894101,49.38135209100375],[-56.85315649127342,49.38804877917969],[-56.83183091716566,49.406149566872884],[-56.7958277068619,49.4550281624483],[-56.781778466422864,49.45725381810638],[-56.76261046651727,49.48125507240016],[-56.732257594660865,49.46794696382906],[-56.72142868320488,49.48562883082522],[-56.72226549796851,49.50368023553148],[-56.71690505894106,49.524574077486776],[-56.697651744996804,49.548043975338324],[-56.70227454242854,49.580865050283215],[-56.70776640501096,49.59419870817201],[-56.74057712571879,49.600261181226074],[-56.75881936197955,49.59691403362425],[-56.769597787311426,49.60607645147732],[-56.78378743011484,49.62972030229884],[-56.79238829316721,49.634932648379944],[-56.839934532217,49.57518033364734],[-56.84440792052174,49.575271486827134],[-56.85485620663945,49.56828179631186],[-56.8719524012423,49.5436114057421],[-56.842544428624414,49.54848516354475],[-56.84771688250623,49.5049184608222],[-56.88665395696307,49.50562482747395],[-56.91368167680765,49.51645025307832],[-56.91491068519189,49.55327581262308],[-57.003884467100434,49.54807612646759],[-57.00729272306066,49.53826276750033],[-57.02709231963964,49.521520962956686],[-57.04628294140549,49.52418277538642],[-57.07896443175008,49.50799816632328],[-57.10794131452998,49.509338920821065],[-57.11067362001756,49.501190901581886],[-57.134336548483134,49.47829564841984],[-57.17036347105443,49.45088394607744],[-57.17875939097965,49.43949449235406],[-57.205492476464116,49.4452603985714],[-57.23698742538998,49.42758258546752],[-57.26845493039077,49.42550625175828],[-57.29729670750321,49.406265225748406],[-57.305852854422575,49.38975789481684],[-57.25621790981126,49.36973982105409],[-57.34129346564821,49.30696846755054],[-57.25527624341994,49.307222030266736],[-57.253543800225366,49.29825373687002],[-57.29749997139885,49.27777636891057],[-57.32903601412118,49.27018500128644],[-57.34904254913653,49.25942627434084],[-57.3758627628099,49.22482656870075],[-57.32067658886676,49.223872227895185],[-57.31008177031441,49.22759789972654],[-57.27634068814546,49.21152570660043],[-57.25594488869695,49.198428495851545],[-57.23389225867885,49.19957013723566],[-57.20650916589958,49.18672282452866],[-57.19128712561625,49.189296063488236],[-57.16634013193633,49.183577062926815],[-57.15864078350486,49.17612299578218],[-57.13438529566856,49.20780833052667],[-57.09429219579621,49.22747484174736],[-57.07874328682754,49.24409094550208],[-57.05580595213693,49.24394255749405],[-57.03102046553806,49.232443979662804],[-57.01266700270379,49.231628208679325],[-56.98219775182461,49.23872444687867]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-57.14770910039453,\"lat\":49.357940054841976},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1005\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"1005007\"],\"csd_name_en\":[\"Division No.  5\",\"Subd. E\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Division No.  5, Subd. E\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-57.76978704891767,48.772618647634275],[-57.80098783670143,48.787615929923994],[-57.8221037821038,48.805894022661604],[-57.82161014271332,48.81971815638899],[-57.85312091162013,48.850631233332656],[-57.862006597277706,48.88636871038011],[-57.912206595939,48.877164897226905],[-57.92996469771992,48.878945386527704],[-57.94368923689788,48.89482082116745],[-57.99157691562663,48.896165093700866],[-58.00899150664333,48.89218369689272],[-58.0425775162371,48.89663489744389],[-58.06060719274614,48.892611391430556],[-58.07377770401238,48.86730574951182],[-58.09792560846919,48.84974366524456],[-58.131208422657906,48.84745299711442],[-58.107973363157896,48.81295326792193],[-58.112980287168455,48.79416607902059],[-58.16858750019221,48.750151204352015],[-58.18867487160929,48.727814468158876],[-58.16331748793156,48.68184079532209],[-58.12149270522768,48.667288196044176],[-58.06193550201265,48.676382106100476],[-58.014131907311125,48.66781337402309],[-57.95274663424455,48.65123853998025],[-57.871397400775386,48.69629230716109],[-57.76978704891767,48.772618647634275]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-57.985642046893574,\"lat\":48.77278182612105},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1005\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"1005016\"],\"csd_name_en\":[\"Division No.  5\",\"Subd. C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Division No.  5, Subd. C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-58.02204329065993,48.993505052989356],[-58.052775858038025,49.0064758419828],[-58.06780191293693,48.999723702722704],[-58.060895615487254,48.99237379513526],[-58.025731050066284,48.986595753428055],[-58.02204329065993,48.993505052989356]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-58.04525223669891,\"lat\":48.99596659813074},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1005\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"1005025\"],\"csd_name_en\":[\"Meadows\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Meadows\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-53.09009802972751,48.48515552729901],[-53.098521900592,48.469077721664135],[-53.06820677631015,48.46666311397691],[-53.07234898886917,48.478374488370726],[-53.09009802972751,48.48515552729901]]],[[[-53.063023209880186,48.56348143752243],[-53.09197057941334,48.552012987528656],[-53.07993902357378,48.537446897819464],[-53.104818686366485,48.513905366653646],[-53.10524968956745,48.489341583610184],[-53.08131147918959,48.490237926037636],[-53.058772350750345,48.50445379597439],[-53.0577990462624,48.5351951028145],[-53.03830517685859,48.54537849954586],[-53.03413409664579,48.56483510208273],[-53.063023209880186,48.56348143752243]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.07394322511613,\"lat\":48.52212795284949},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1007\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"1007022\"],\"csd_name_en\":[\"Trinity Bay North\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Trinity Bay North\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.757934908746364,49.481292174786105],[-54.70035328165398,49.52193708726234],[-54.66356466750836,49.536540476428556],[-54.61047999329619,49.543615980533716],[-54.5729543992316,49.55527496865468],[-54.553681575269806,49.57029170516833],[-54.499679628397516,49.60350171760481],[-54.48344487021153,49.79012560525334],[-54.66377270420172,49.66034280304126],[-54.69543671296431,49.59687867239018],[-54.73627026897157,49.58140688791518],[-54.87288386829938,49.6877864542784],[-54.88187311480233,49.698653669115245],[-54.890003040571216,49.734692052421515],[-54.887618874146675,49.749930734815905],[-54.891698149010246,49.818466966605975],[-54.90160984533659,49.95053838378173],[-55.03404468630848,49.94692168362243],[-55.08893678041594,49.941187133594944],[-55.13037214345222,49.933641428787546],[-55.13047109669355,49.93352727154898],[-55.123756823126875,49.915309616221265],[-55.07498443733236,49.76363497321662],[-55.03898265710663,49.66682615872533],[-55.00195099455336,49.57738148021618],[-54.94503516882793,49.56561915808563],[-54.90375934346992,49.499320270226804],[-54.89740479009158,49.46393834333078],[-54.88053217106206,49.44775270864264],[-54.86365495530276,49.44225014624733],[-54.823312882543014,49.44586349162667],[-54.79458269975396,49.45978415610818],[-54.77382069006544,49.47594177162751],[-54.761671350999976,49.480040307808444],[-54.80265531093234,49.486529091950196],[-54.82904219673047,49.48141769832957],[-54.89043751136891,49.48478709779444],[-54.87672911556854,49.500697596012984],[-54.85160739240468,49.516169409680714],[-54.8217932946559,49.50023903029422],[-54.775828784277486,49.5180644994851],[-54.74904321090366,49.51107529244504],[-54.743163095504926,49.503942905443964],[-54.757934908746364,49.481292174786105]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.84998238688182,\"lat\":49.6930997243659},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008031\"],\"csd_name_en\":[\"Division No.  8\",\"Subd. H\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Division No.  8, Subd. H\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.97072163971879,49.2744025245262],[-54.97015027147724,49.232844904665136],[-54.93246756269146,49.23422237692257],[-54.87541297599886,49.27584430219627],[-54.8746476092692,49.30272358587563],[-54.89098972434496,49.30294682505883],[-54.89341799560899,49.29068018176725],[-54.92620232190422,49.28000819935429],[-54.93479240689312,49.28298029781221],[-54.936256618467986,49.307951299626374],[-54.95629603505198,49.30813509805052],[-54.971204100877756,49.2903625014838],[-54.971020371736955,49.27998047879291],[-54.97072163971879,49.2744025245262]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.931644447664404,\"lat\":49.269998056786115},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008037\"],\"csd_name_en\":[\"Campbellton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Campbellton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.822655580424204,49.63157111736472],[-55.79167750225203,49.6249852139112],[-55.75455274871937,49.64114009633061],[-55.76985553241778,49.66401842101726],[-55.791629956091555,49.66718629600858],[-55.821940352506026,49.65675570653505],[-55.829458238561834,49.63807739035486],[-55.822655580424204,49.63157111736472]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.793196323569646,\"lat\":49.64605145734953},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008064\"],\"csd_name_en\":[\"Little Bay Islands\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Little Bay Islands\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.938661636349565,49.96635584738282],[-55.87110549666945,49.9829009051997],[-55.86234848392475,49.99612709172024],[-55.89658879869107,50.0201026867377],[-55.938661636349565,49.96635584738282]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.897432059263096,\"lat\":49.99161480755178},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008078\"],\"csd_name_en\":[\"Pacquet\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Pacquet\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.58512147918834,51.38462710028795],[-55.62522993736555,51.42147372175335],[-55.66192944451301,51.408369746180036],[-55.6626706346612,51.364060337118296],[-55.6251346283367,51.342693871686556],[-55.603394782200354,51.34495089557164],[-55.586045799867804,51.336176911642255],[-55.56150860482219,51.345087199036655],[-55.56301200497381,51.36571918875499],[-55.58512147918834,51.38462710028795]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.61695152133904,\"lat\":51.375605777969284},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1009\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"1009029\"],\"csd_name_en\":[\"St. Anthony\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"St. Anthony\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.816726403158285,52.32224319519233],[-55.83902502225429,52.325663599079014],[-55.863449196265634,52.31635850083709],[-55.900668652563866,52.24610232219685],[-55.816100638452106,52.245190489971954],[-55.81110380836699,52.29262289113879],[-55.79835248084784,52.30114509937474],[-55.82000499240338,52.31030969385188],[-55.816726403158285,52.32224319519233]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.84726394077283,\"lat\":52.28045836121412},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1010\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"1010011\"],\"csd_name_en\":[\"Mary's Harbour\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Mary's Harbour\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-61.10246208766731,55.94847678477869],[-61.14905851964397,55.93247345224005],[-61.18846724947204,55.93621940890246],[-61.25474882703766,55.93215091056955],[-61.23385342123649,55.90798729567344],[-61.169645175860396,55.91028690123926],[-61.15712840131546,55.91931829826737],[-61.13159171794436,55.911904504572696],[-61.13829398828278,55.904357901326705],[-61.16000242109616,55.901637791699905],[-61.15286901507001,55.88871729697957],[-61.134664895860396,55.88553420329124],[-61.1066110785033,55.89152240098951],[-61.09250419250448,55.886291683757136],[-61.07129411716221,55.892263193174635],[-61.08573420895522,55.90690750078011],[-61.0785139945708,55.916051695126924],[-61.08089922590079,55.93636089684274],[-61.10246208766731,55.94847678477869]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-61.14693403779267,\"lat\":55.91753263058225},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1010\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"1010801\"],\"csd_name_en\":[\"Natuashish 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Natuashish 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.403744732406864,46.336457448567934],[-63.43465809928927,46.33925113823861],[-63.457178343874844,46.3373540742591],[-63.46878619082249,46.33524235659639],[-63.504140410085505,46.33832668445613],[-63.496649783652785,46.31773629419256],[-63.508753631382284,46.28902393696652],[-63.523700020668265,46.28635796325938],[-63.50780994041912,46.2446410919686],[-63.491739640417975,46.24481315116696],[-63.48948062178321,46.23756892806033],[-63.50443833106443,46.23321528639187],[-63.50275831240614,46.228468045708524],[-63.48787624985775,46.223955526777054],[-63.49744086395507,46.211653735464296],[-63.49122187063834,46.2024958462554],[-63.48959839761665,46.168328866856136],[-63.48373264676513,46.0884815671663],[-63.330699737215966,46.06821074457862],[-63.316926656420925,46.13483647282573],[-63.33042851329298,46.165156192055385],[-63.348698059581324,46.18453019971295],[-63.37651917341831,46.18675447533743],[-63.378950200439036,46.20204270267132],[-63.364246806745186,46.205240487789226],[-63.37130367346014,46.22354003848227],[-63.3814872718069,46.234857146217706],[-63.35980592992716,46.238495057699616],[-63.358271339962236,46.24894990840628],[-63.37821007624107,46.245059739036705],[-63.403075645597085,46.266294243437386],[-63.38370418653633,46.27678927335907],[-63.3903069600231,46.29420908400437],[-63.410176776175255,46.30236999960814],[-63.393214911475994,46.30945489455536],[-63.403744732406864,46.336457448567934]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.424144143162934,\"lat\":46.196320448717394},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1102\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1102018\"],\"csd_name_en\":[\"Crapaud\",\"Part 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Fire District\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Crapaud, Part 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.33447737688195,46.37258466232976],[-63.36589150391375,46.36152594195463],[-63.366301329822186,46.34580256805477],[-63.34246906827629,46.34359111707063],[-63.33077511790446,46.35786127329362],[-63.33447737688195,46.37258466232976]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.34856191881983,\"lat\":46.356684310256135},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1102\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1102043\"],\"csd_name_en\":[\"Hunter River\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Hunter River\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-63.29473862991572,46.314075425084866],[-63.27376301651393,46.32147510383973],[-63.29584615051292,46.31732196968061],[-63.29473862991572,46.314075425084866]]],[[[-63.35444062358651,46.32629142338983],[-63.36850014912342,46.33724584518806],[-63.403744732406864,46.336457448567934],[-63.393214911475994,46.30945489455536],[-63.410176776175255,46.30236999960814],[-63.3903069600231,46.29420908400437],[-63.38370418653633,46.27678927335907],[-63.38531552511595,46.29175659359177],[-63.35994541145505,46.30153372627172],[-63.3514882658472,46.299761860887756],[-63.34745499707996,46.31337960090226],[-63.35444062358651,46.32629142338983]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.37553662766548,\"lat\":46.31517741164299},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1102\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1102072\"],\"csd_name_en\":[\"North River\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Fire District\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"North River\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.626632782361646,46.44299343040654],[-63.64844643548751,46.44019077074689],[-63.64119875084559,46.426582191186945],[-63.628012985233056,46.42754251555782],[-63.626632782361646,46.44299343040654]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.63610594369398,\"lat\":46.4349463622794},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1103\"],\"cd_name_en\":[\"Prince\"],\"csd_code\":[\"1103014\"],\"csd_name_en\":[\"Kensington\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Prince\",\"csd_name_fr\":\"Kensington\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.998610628089985,46.891126969065866],[-64.01229627778305,46.89822705861122],[-64.01627815215252,46.90939863115546],[-64.02998615264168,46.90696090421109],[-64.06027260687478,46.90213592134342],[-64.06532758866437,46.894834109935815],[-64.08635452836079,46.86572027126104],[-64.07767271136622,46.846038191335516],[-64.05683159592185,46.85256547708307],[-64.04962554548973,46.84214182278233],[-64.02536730938752,46.84614380855895],[-64.03908512109562,46.874412375816554],[-64.02323386386692,46.88624788316182],[-63.998610628089985,46.891126969065866]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.04857357184909,\"lat\":46.876301159548156},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1103\"],\"cd_name_en\":[\"Prince\"],\"csd_code\":[\"1103055\"],\"csd_name_en\":[\"Greenmount-Montrose\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Prince\",\"csd_name_fr\":\"Greenmount-Montrose\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.40687683171103,45.094506451062216],[-64.38998128008778,45.093893371086956],[-64.38602633826817,45.099923135282836],[-64.36973561863242,45.103152669784386],[-64.3542387785901,45.09903717535219],[-64.34231074030818,45.114674641688055],[-64.34684368269478,45.13303518987672],[-64.32368203921888,45.15856770502819],[-64.26033260360869,45.18523869616076],[-64.22136947945855,45.1945557647158],[-64.22259683678976,45.25007366144952],[-64.22244618895837,45.341151357683074],[-64.30205090568295,45.34608841399344],[-64.3231484530157,45.34599819520424],[-64.46360265489017,45.345087406675866],[-64.52751387123685,45.32886438955161],[-64.53919823914867,45.321285437817316],[-64.59213845506898,45.27649836452227],[-64.66774545281562,45.2366124062343],[-64.60964929173574,45.15021439090167],[-64.57454719759103,45.12824910611241],[-64.5681215153695,45.09111429467728],[-64.5768882519448,45.085176331253145],[-64.56502920072343,45.08358958595576],[-64.5399428984928,45.077833398559726],[-64.52230119527871,45.08389350031632],[-64.50443240569446,45.07962729252169],[-64.49970410647481,45.08731190943782],[-64.48223100496126,45.088805309370066],[-64.47524834579,45.073040386384534],[-64.45069519424679,45.08255000945516],[-64.41541164223841,45.08499817085583],[-64.40687683171103,45.094506451062216]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.43067599862289,\"lat\":45.223318035832456},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1207\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1207016\"],\"csd_name_en\":[\"Kings\",\"Subd. B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of county municipality \\/ Subdivision municipalit\\u00e9 de comt\\u00e9\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Kings, Subd. B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.22383109656158,45.04098635808636],[-64.1698658868247,45.07810694602328],[-64.19419718611924,45.095237072622346],[-64.21967450785242,45.12023183184298],[-64.22136947945855,45.1945557647158],[-64.26033260360869,45.18523869616076],[-64.32368203921888,45.15856770502819],[-64.34684368269478,45.13303518987672],[-64.34231074030818,45.114674641688055],[-64.3542387785901,45.09903717535219],[-64.36973561863242,45.103152669784386],[-64.38602633826817,45.099923135282836],[-64.38998128008778,45.093893371086956],[-64.40687683171103,45.094506451062216],[-64.39905037262524,45.0859985493004],[-64.41915469618955,45.08153877081695],[-64.41912800527857,45.062560705614516],[-64.41109551921261,45.05120719636124],[-64.47494039964918,45.008166001607506],[-64.47677989575456,44.992114997036644],[-64.46555292936407,44.98048503808703],[-64.4693489073088,44.96854551295093],[-64.4608067652966,44.952488309521364],[-64.42586378868342,44.93702030812588],[-64.40807991051753,44.91522005181044],[-64.23250258888201,45.0353709383079],[-64.25142228533429,45.03968594605848],[-64.23633658118844,45.050155265259114],[-64.22383109656158,45.04098635808636]],[[-64.3396431258317,45.09837429605693],[-64.33652391315508,45.084828359925375],[-64.37727550003689,45.07730145764589],[-64.38408224857788,45.09694644048881],[-64.37492830555327,45.09945059964032],[-64.35482858323111,45.093776502140905],[-64.3396431258317,45.09837429605693]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.32723027298009,\"lat\":45.053158036227885},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1207\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1207021\"],\"csd_name_en\":[\"Kings\",\"Subd. D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of county municipality \\/ Subdivision municipalit\\u00e9 de comt\\u00e9\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Kings, Subd. D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.46606485910493,45.09981876533066],[-63.5182936499784,45.10439708308757],[-63.51095082808621,45.07879167392201],[-63.498869792561464,45.075791224402074],[-63.47143140972568,45.08024810611675],[-63.46606485910493,45.09981876533066]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.49272463408494,\"lat\":45.09055002405804},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1208\"],\"cd_name_en\":[\"Hants\"],\"csd_code\":[\"1208014\"],\"csd_name_en\":[\"Indian Brook 14\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Hants\",\"csd_name_fr\":\"Indian Brook 14\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.59303717855221,45.312786626649896],[-66.45974307533118,45.31273338995463],[-66.46126699763595,45.382829765718704],[-66.46024391997662,45.497224800735246],[-66.56346136429883,45.498799521240734],[-66.78631304630235,45.50130168778886],[-66.77706088077859,45.312984255087706],[-66.70013785339806,45.31225097746535],[-66.59303717855221,45.312786626649896]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.62177644959536,\"lat\":45.40646570949413},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1302\"],\"cd_name_en\":[\"Charlotte\"],\"csd_code\":[\"1302014\"],\"csd_name_en\":[\"Clarendon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Charlotte\",\"csd_name_fr\":\"Clarendon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.17120557362394,45.30499655371627],[-66.18384234733038,45.33242051090636],[-66.20656353694902,45.33686367447893],[-66.24929558919132,45.37377537506856],[-66.27263310409926,45.38052509978521],[-66.28814411208491,45.39849261148996],[-66.3064586091178,45.39390069321381],[-66.32747759427069,45.35707705134404],[-66.30559857731882,45.3594340232095],[-66.27946854022063,45.351260650128566],[-66.28213298851199,45.334763538960566],[-66.259328670232,45.32178474419293],[-66.25508608319875,45.31280729655392],[-66.27645589635316,45.30601699594349],[-66.25975002972064,45.28494270150699],[-66.24543726566108,45.283373329752486],[-66.23878194531329,45.285135698067464],[-66.17120557362394,45.30499655371627]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.2477304540823,\"lat\":45.33620269736438},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1305\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1305015\"],\"csd_name_en\":[\"Grand Bay-Westfield\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town \\/ Ville\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Grand Bay-Westfield\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.39110735266816,45.5987535478248],[-65.32206536025018,45.602272087363744],[-65.13112771809655,45.64571887941061],[-65.13247609030152,45.64923534967436],[-65.16059981418637,45.71062810757853],[-65.21050063271069,45.69907588761958],[-65.33831426709553,45.72314835995738],[-65.42660453559529,45.706131983820306],[-65.42926076682818,45.692112445813805],[-65.40608639182368,45.63090789438289],[-65.39110735266816,45.5987535478248]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.29413722686844,\"lat\":45.66328595796878},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1305\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1305024\"],\"csd_name_en\":[\"Waterford\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Waterford\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.01091434801029,46.03538112456157],[-65.02430373882741,46.04183964628433],[-65.02777717050597,46.05220833334688],[-65.04164988780414,46.054182003655335],[-65.06504428858099,46.05456530673242],[-65.07981225650768,46.03899881484532],[-65.06297217041069,46.02258779339911],[-65.03427642019486,46.02206045986631],[-65.01091434801029,46.03538112456157]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.04744966133865,\"lat\":46.038200129531},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1307\"],\"cd_name_en\":[\"Westmorland\"],\"csd_code\":[\"1307028\"],\"csd_name_en\":[\"Salisbury\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Westmorland\",\"csd_name_fr\":\"Salisbury\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.87064846372009,46.69972015502453],[-64.8587086779801,46.705443190144116],[-64.83804338786143,46.69646760821307],[-64.80082277285422,46.71264077508134],[-64.77984662421255,46.712811361122114],[-64.7584490903384,46.72791754412705],[-64.82767513684567,46.765903806038196],[-64.83390821579061,46.77312387641572],[-64.86444575708887,46.76529953499296],[-64.87902580307795,46.75131744199633],[-64.93441805191264,46.72025245282236],[-64.95104601997761,46.73636124181887],[-64.96249874403406,46.731500463346634],[-64.9727848894606,46.72480781800091],[-64.96888509993995,46.701957968997995],[-64.98727022298144,46.70303482769005],[-65.01466008209063,46.6913941324495],[-65.01903653415114,46.701138141468554],[-65.0660542868337,46.69647700504838],[-65.09251342003186,46.675261698707224],[-65.11923216592184,46.659292289413436],[-65.15262778633074,46.65256312910774],[-65.15989485726745,46.641030786857684],[-65.18114965265902,46.63865708141032],[-65.19760247177025,46.64249790982881],[-65.24511698132393,46.6097126837668],[-65.05169130475639,46.610746445504816],[-64.94093994063631,46.66556228511697],[-64.91121532725232,46.67884827084458],[-64.87064846372009,46.69972015502453]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.98902543774759,\"lat\":46.6795083070184},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1308\"],\"cd_name_en\":[\"Kent\"],\"csd_code\":[\"1308019\"],\"csd_name_en\":[\"Saint-Charles\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kent\",\"csd_name_fr\":\"Saint-Charles\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-65.82365306623936,46.94372871563059],[-65.83440540546098,46.951770090183715],[-65.8540729088163,46.95492884210663],[-65.82365306623936,46.94372871563059]]],[[[-65.9322156590363,46.91813538387741],[-65.92547499404039,46.90194909541482],[-65.85936864022248,46.9160717407529],[-65.8386441403333,46.923116177272384],[-65.84833446353133,46.94044860115411],[-65.9256932920817,46.921346491435834],[-65.9322156590363,46.91813538387741]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.88384080024152,\"lat\":46.92189306269372},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1309\"],\"cd_name_en\":[\"Northumberland\"],\"csd_code\":[\"1309023\"],\"csd_name_en\":[\"Red Bank 4\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Northumberland\",\"csd_name_fr\":\"Red Bank 4\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.12585739659583,47.35144701898329],[-65.13959548370921,47.36635412384051],[-65.19100792312159,47.35455745546873],[-65.17008456428316,47.31251579510613],[-65.10772270234169,47.326934202140926],[-65.12585739659583,47.35144701898329]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.15135089471688,\"lat\":47.339540015863584},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1309\"],\"cd_name_en\":[\"Northumberland\"],\"csd_code\":[\"1309047\"],\"csd_name_en\":[\"Tabusintac 9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Northumberland\",\"csd_name_fr\":\"Tabusintac 9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.64399353464525,46.09914432018398],[-67.60354305042756,46.103816712537224],[-67.58795396531674,46.10173406298097],[-67.57853229914193,46.10849997685365],[-67.64399353464525,46.09914432018398]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.59686838945383,\"lat\":46.10436662850986},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1311\"],\"cd_name_en\":[\"Carleton\"],\"csd_code\":[\"1311005\"],\"csd_name_en\":[\"Woodstock 23\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Carleton\",\"csd_name_fr\":\"Woodstock 23\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.25085259685717,46.295852876437756],[-67.20680590947579,46.351654973887086],[-67.1399699082588,46.438581214670606],[-67.32873550886976,46.43790959024961],[-67.37202390996626,46.435183996330025],[-67.42397001980164,46.43592899827331],[-67.44661789841196,46.42744338870208],[-67.45149828195223,46.41081510725625],[-67.46515379956399,46.40577919628146],[-67.45763699882492,46.39297799682558],[-67.48155619939142,46.35437054708095],[-67.55299215716829,46.34020368435375],[-67.5433309361554,46.31583465396531],[-67.53419909064453,46.30685654631549],[-67.53332248492882,46.30600858130822],[-67.49202409709397,46.313208910919734],[-67.4710449921455,46.29403800743705],[-67.51115256168417,46.284229469573695],[-67.50147477881788,46.27229820599893],[-67.50827134699294,46.252616175311125],[-67.5054145455231,46.234850356237985],[-67.5106755102532,46.21990535883751],[-67.52847434597447,46.20079739529303],[-67.51568529869515,46.19872090072015],[-67.43520516766331,46.21329299105586],[-67.32007197142516,46.21260297283067],[-67.29407605984098,46.24348010450146],[-67.25085259685717,46.295852876437756]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.35874061874156,\"lat\":46.33156461792369},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1311\"],\"cd_name_en\":[\"Carleton\"],\"csd_code\":[\"1311011\"],\"csd_name_en\":[\"Brighton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Carleton\",\"csd_name_fr\":\"Brighton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.61366124446863,46.41693950527598],[-67.62386611121053,46.419474380458986],[-67.64034781536293,46.447411799300816],[-67.6715061263222,46.441263393642544],[-67.6325058002874,46.34875802471741],[-67.6074694578318,46.292011552604066],[-67.53419909064453,46.30685654631549],[-67.5433309361554,46.31583465396531],[-67.55299215716829,46.34020368435375],[-67.56695810198832,46.378483068634964],[-67.5994179639299,46.39283778127118],[-67.61366124446863,46.41693950527598]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.60486417801066,\"lat\":46.36215074011897},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1311\"],\"cd_name_en\":[\"Carleton\"],\"csd_code\":[\"1311021\"],\"csd_name_en\":[\"Simonds\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Carleton\",\"csd_name_fr\":\"Simonds\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.07916627177563,48.036650797503036],[-66.11824634364315,48.03924156855126],[-66.15566386633087,48.046353512304115],[-66.20947212112976,48.04543761206216],[-66.26403333128769,48.03710534469137],[-66.31075493210943,48.050894242616955],[-66.32753994562356,48.0426137166623],[-66.3721918766436,48.03203224440031],[-66.35975257892667,48.01371230275043],[-66.340345297632,48.00572310765167],[-66.30518221215505,47.99748330107218],[-66.28262271073467,47.99701310001412],[-66.26191514436279,47.99133263894312],[-66.24710273233337,47.97891609093369],[-66.26081177558696,47.960308272206916],[-66.27757974826788,47.95812088053718],[-66.31908125119577,47.972665575467296],[-66.33722964132873,47.971394622893634],[-66.37175784229552,47.98401642808605],[-66.37161263403735,47.74623610285206],[-66.38296233316977,47.746214157032156],[-66.38282440249061,47.728124614395],[-66.37156635389289,47.72814616652929],[-66.3721470191377,47.56143803934229],[-66.37142071597664,47.51525287481561],[-66.21716123279458,47.55064511225253],[-66.16403278776495,47.56427963290711],[-66.16389182440011,47.74252448509029],[-66.1626995474412,47.797994665150156],[-66.16388367745176,47.97827009283363],[-66.1148368472784,47.97087637997475],[-66.07916627177563,48.036650797503036]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.26162449462025,\"lat\":47.79288906485875},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1314\"],\"cd_name_en\":[\"Restigouche\"],\"csd_code\":[\"1314003\"],\"csd_name_en\":[\"Colborne\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Restigouche\",\"csd_name_fr\":\"Colborne\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.69442072914137,47.659522682944534],[-64.73409939682291,47.688202838290074],[-64.77590304754074,47.697075748369706],[-64.77193493477974,47.70922955994727],[-64.78005877920185,47.73197405399454],[-64.77648271323457,47.76000848375698],[-64.73285291164112,47.7793224925688],[-64.72496752218386,47.787446645292995],[-64.72469322310128,47.80479557093328],[-64.74574350998611,47.871776166508255],[-64.79983944017062,47.85879079478252],[-64.92784323797459,47.8526115123649],[-64.95416471892328,47.8542500290886],[-64.95541797266394,47.82894752507535],[-64.96313504363262,47.81043103018855],[-64.97777550390364,47.798088608603734],[-65.02395890136256,47.7928439123867],[-65.05485757693573,47.7766108617573],[-65.06706026625906,47.775785525307235],[-65.07087587059036,47.766009940638504],[-65.06545319598654,47.77304919758727],[-65.04267218661923,47.77514867914233],[-65.03439560104891,47.77826961169247],[-65.00098819174559,47.773160296129035],[-64.98734080442846,47.78461360644827],[-64.9646226043075,47.79263499001124],[-64.91279818960305,47.79613268272755],[-64.88773671375323,47.80412930062791],[-64.87849147562295,47.800316538348106],[-64.84290570853229,47.80902370030861],[-64.81563920824013,47.80654551204854],[-64.79369290496246,47.79415609542466],[-64.78270380730761,47.76675680004087],[-64.80401991233686,47.7521494092177],[-64.83193890116213,47.75392288930455],[-64.83806177793173,47.76635762167105],[-64.85690413493111,47.76219369330569],[-64.94713256496351,47.74031833901395],[-65.01317295424244,47.72151324076488],[-65.01774999461153,47.72976700018996],[-65.07079904446245,47.71601825084655],[-65.0677915965977,47.71080947566533],[-65.06205359115067,47.69958944657296],[-65.0283064485979,47.70790556298504],[-65.02005675698464,47.69726889420137],[-64.8452526523651,47.70863575548593],[-64.7773564351901,47.6789223817235],[-64.77155536435974,47.66527863328152],[-64.77994253002784,47.660712030591476],[-64.74089533745202,47.62931442170697],[-64.7340249406544,47.639171122564456],[-64.69442072914137,47.659522682944534]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.85324019881905,\"lat\":47.767385419696616},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1315\"],\"cd_name_en\":[\"Gloucester\"],\"csd_code\":[\"1315026\"],\"csd_name_en\":[\"Caraquet\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Gloucester\",\"csd_name_fr\":\"Caraquet\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.85690413493111,47.76219369330569],[-64.83806177793173,47.76635762167105],[-64.83193890116213,47.75392288930455],[-64.80401991233686,47.7521494092177],[-64.78270380730761,47.76675680004087],[-64.79369290496246,47.79415609542466],[-64.81563920824013,47.80654551204854],[-64.84290570853229,47.80902370030861],[-64.87849147562295,47.800316538348106],[-64.85690413493111,47.76219369330569]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.8282541295999,\"lat\":47.78183898963807},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1315\"],\"cd_name_en\":[\"Gloucester\"],\"csd_code\":[\"1315027\"],\"csd_name_en\":[\"Bas-Caraquet\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Gloucester\",\"csd_name_fr\":\"Bas-Caraquet\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.50195068491969,48.824742801317406],[-65.0538999448528,48.82361102676509],[-65.0543256452604,49.09495473478738],[-65.18757377570567,49.098590530355544],[-65.24322819334184,49.099410080272726],[-65.29581010075697,49.096139687229794],[-65.31027833414302,49.09575574665222],[-65.30910355990778,48.99906264697982],[-65.44116657753791,48.99886097294217],[-65.44009719172489,48.97471390987797],[-65.4181675743748,48.97483610043263],[-65.41810018534184,48.926646460393826],[-65.53268666293539,48.92716103295247],[-65.53186406049544,48.82474414391861],[-65.50195068491969,48.824742801317406]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.2512944691533,\"lat\":48.94182570755096},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2403\"],\"cd_name_en\":[\"La C\\u00f4te-de-Gasp\\u00e9\"],\"csd_code\":[\"2403904\"],\"csd_name_en\":[\"Collines-du-Basque\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La C\\u00f4te-de-Gasp\\u00e9\",\"csd_name_fr\":\"Collines-du-Basque\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.7471539428719,49.1236522071709],[-65.76539510053746,49.245850364776025],[-65.85446922598278,49.24572340192792],[-65.84083861559922,49.18627779882709],[-65.7471539428719,49.1236522071709]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.79660646482336,\"lat\":49.19907383010152},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2404\"],\"cd_name_en\":[\"La Haute-Gasp\\u00e9sie\"],\"csd_code\":[\"2404015\"],\"csd_name_en\":[\"Mont-Saint-Pierre\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Haute-Gasp\\u00e9sie\",\"csd_name_fr\":\"Mont-Saint-Pierre\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.28911784897453,48.00004562374104],[-65.29811631176581,48.02904854428743],[-65.32402679541872,48.09723134445607],[-65.33396785822721,48.11559806906662],[-65.38350423861624,48.11077362615951],[-65.3791632847821,48.10092917696121],[-65.40692597593758,48.09836388577735],[-65.37395934164019,48.01303765194897],[-65.37230303719251,48.00008240469233],[-65.28911784897453,48.00004562374104]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.3478854892929,\"lat\":48.05447070628108},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2405\"],\"cd_name_en\":[\"Bonaventure\"],\"csd_code\":[\"2405040\"],\"csd_name_en\":[\"New Carlisle\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Bonaventure\",\"csd_name_fr\":\"New Carlisle\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.67935119287301,48.251697362928454],[-65.81349126387626,48.29194695847444],[-65.85673665962018,48.224097546404884],[-65.87055450095224,48.206290638719615],[-65.90001734292359,48.213095953993715],[-65.9047548105452,48.20584295750831],[-65.91897212639648,48.15878783880095],[-65.91742873585954,48.13315561291685],[-65.91640185468073,48.01075200502782],[-65.81626339597084,48.00458621693444],[-65.79604953962328,48.09104728125268],[-65.74392059388896,48.168001972646074],[-65.73424299502136,48.16501836859416],[-65.722501099203,48.1823317843892],[-65.70284331703986,48.218110196077305],[-65.67935119287301,48.251697362928454]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.82372487374334,\"lat\":48.15244270654173},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2405\"],\"cd_name_en\":[\"Bonaventure\"],\"csd_code\":[\"2405070\"],\"csd_name_en\":[\"New Richmond\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Bonaventure\",\"csd_name_fr\":\"New Richmond\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.23456236475492,48.531019613507226],[-67.22160142749651,48.5417728053113],[-67.33308205125084,48.59775018960118],[-67.3910599016399,48.54544065375225],[-67.39387804839443,48.518128267060646],[-67.33892730822735,48.49144422410868],[-67.31278083107473,48.51431186733113],[-67.2893543454965,48.502608231729496],[-67.25007699911079,48.53860269948769],[-67.23456236475492,48.531019613507226]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.32087677429875,\"lat\":48.54245214522833},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2407\"],\"cd_name_en\":[\"La Matap\\u00e9dia\"],\"csd_code\":[\"2407070\"],\"csd_name_en\":[\"Saint-Tharcisius\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Matap\\u00e9dia\",\"csd_name_fr\":\"Saint-Tharcisius\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.44070398364276,49.100506490634935],[-67.49081159515127,49.1015656374934],[-67.60251989297024,49.103833385894866],[-67.70521597093008,49.10580434700925],[-67.77880835518603,49.091040401146124],[-67.61953547732789,49.0000838867279],[-67.38721706401478,48.86647300243515],[-67.35997175122162,48.85172484106469],[-67.34299370717135,48.835466719939056],[-67.30639751758581,48.84613868781901],[-67.29743757513073,48.84116262486296],[-67.24682943450586,48.88191100835809],[-67.20809905398833,48.85815467333122],[-67.16818607754475,48.87138821246355],[-67.19952350543191,48.89240903419639],[-67.17930979042929,48.89861455114228],[-67.21180392699172,48.91869888366419],[-67.21835092727883,48.92764202951646],[-67.31026977282549,49.00005914591692],[-67.44070398364276,49.100506490634935]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.45125471005875,\"lat\":48.988716846646916},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2408\"],\"cd_name_en\":[\"La Matanie\"],\"csd_code\":[\"2408023\"],\"csd_name_en\":[\"Sainte-F\\u00e9licit\\u00e9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Matanie\",\"csd_name_fr\":\"Sainte-F\\u00e9licit\\u00e9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.18299149725381,48.34882572906829],[-68.245546000921,48.38681409738899],[-68.27605658562001,48.41282549422674],[-68.33176923743616,48.37075782996559],[-68.37447415113814,48.340297421130416],[-68.35814924378822,48.32992124959301],[-68.36967851475043,48.32120331467614],[-68.35363253224143,48.311460370706946],[-68.36519805495514,48.302537166421935],[-68.3339280150892,48.282365668301395],[-68.30383089255506,48.263483463958394],[-68.26024566394024,48.29578676004911],[-68.25705119392019,48.293514762285554],[-68.21870389423493,48.322025927660746],[-68.18299149725381,48.34882572906829]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.2859514313292,\"lat\":48.33731505826793},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2410\"],\"cd_name_en\":[\"Rimouski-Neigette\"],\"csd_code\":[\"2410025\"],\"csd_name_en\":[\"Saint-Marcellin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Rimouski-Neigette\",\"csd_name_fr\":\"Saint-Marcellin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.81122534278579,47.97784276104234],[-68.84393450655368,47.98844320876286],[-68.86576758070137,48.00377770199258],[-68.88628424219254,47.989657494416264],[-68.90971546342563,47.99433309385416],[-68.92588346481253,48.00392365259241],[-68.99229543857976,47.95576016224734],[-68.96332916238607,47.93390591114632],[-68.97276255732348,47.92737026971094],[-68.95732553141312,47.91704759211598],[-68.97011932340054,47.90783900786242],[-68.95072354273228,47.894745777147],[-68.91089975310102,47.89221528324464],[-68.86854233228834,47.898897958861156],[-68.85026551300002,47.89534704009546],[-68.7696614547762,47.95044481342377],[-68.81122534278579,47.97784276104234]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.8872871195406,\"lat\":47.9459089648406},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2411\"],\"cd_name_en\":[\"Les Basques\"],\"csd_code\":[\"2411015\"],\"csd_name_en\":[\"Sainte-Rita\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Basques\",\"csd_name_fr\":\"Sainte-Rita\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.48378026818817,47.86673318388586],[-69.47136457988663,47.86654658424914],[-69.45921494431327,47.87925559380975],[-69.43768364372164,47.89178528275214],[-69.45527288293874,47.90298323860207],[-69.44813116410474,47.909484239338454],[-69.46582012740313,47.92075089615207],[-69.44926228772987,47.93154957550885],[-69.44247142324629,47.94367533392867],[-69.41616805911455,47.96717599698891],[-69.39642459886294,47.957247574022155],[-69.38249792458727,47.968853209554865],[-69.43853934858063,48.004608074700805],[-69.48090977344094,47.97940725852481],[-69.49943666919404,47.978656488824775],[-69.53418302234623,48.00003718889797],[-69.61043644957039,48.00007908220667],[-69.63936200394902,47.97125980383884],[-69.51464743621464,47.87602191270284],[-69.48937660632032,47.86206510060934],[-69.48378026818817,47.86673318388586]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.51447215724993,\"lat\":47.946241709964134},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2412\"],\"cd_name_en\":[\"Rivi\\u00e8re-du-Loup\"],\"csd_code\":[\"2412057\"],\"csd_name_en\":[\"Cacouna\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Rivi\\u00e8re-du-Loup\",\"csd_name_fr\":\"Cacouna\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.50542627833907,47.96361318859489],[-68.5816144415087,48.013822260770205],[-68.590637759272,48.008066382614665],[-68.61186209325325,48.012214422020826],[-68.6276303986435,47.99507733093971],[-68.64759360131016,47.98989938045542],[-68.66387841926428,47.96248091512164],[-68.6691616556745,47.94402958814651],[-68.6899308687587,47.91963937920667],[-68.62825444219568,47.87847311408562],[-68.57143572701807,47.91758021077082],[-68.46438321664404,47.84655497963909],[-68.39882294343056,47.890697365256734],[-68.50542627833907,47.96361318859489]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.55429230752854,\"lat\":47.93097350991408},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2413\"],\"cd_name_en\":[\"T\\u00e9miscouata\"],\"csd_code\":[\"2413055\"],\"csd_name_en\":[\"Biencourt\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscouata\",\"csd_name_fr\":\"Biencourt\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.89898427875167,47.82008756773848],[-68.92906359407218,47.84029876346739],[-68.9462290836379,47.82770865628155],[-68.98124405858312,47.851018007400086],[-69.00377206858225,47.82380564673063],[-69.01648907587898,47.822243917763764],[-69.10410503025604,47.76088856618563],[-69.08342688119636,47.7535770819957],[-69.04716279831699,47.733535183962644],[-69.01944365877758,47.73787964378467],[-68.98403726466337,47.71993632572151],[-68.95036309516487,47.776478907700096],[-68.91063581243321,47.770085234895106],[-68.89898427875167,47.82008756773848]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.99219357350927,\"lat\":47.78495742435044},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2413\"],\"cd_name_en\":[\"T\\u00e9miscouata\"],\"csd_code\":[\"2413075\"],\"csd_name_en\":[\"Saint-Pierre-de-Lamy\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscouata\",\"csd_name_fr\":\"Saint-Pierre-de-Lamy\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.53970279547951,47.596204815821686],[-69.57623913068133,47.62083031532242],[-69.5713121914615,47.629108387681036],[-69.60614708058858,47.64940855020603],[-69.62050218034257,47.63830471850898],[-69.6420837197199,47.63663306754815],[-69.65160756109285,47.62805034567314],[-69.66929534759922,47.61891371157639],[-69.65996228000377,47.59686919081503],[-69.66553574975032,47.57404596811765],[-69.64407266711211,47.56046029884312],[-69.64988054288536,47.55384324472359],[-69.60749246181747,47.52485214325286],[-69.53231477692985,47.579390926579094],[-69.5446377702349,47.587703594371234],[-69.53970279547951,47.596204815821686]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.60653502789337,\"lat\":47.58878814241118},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2414\"],\"cd_name_en\":[\"Kamouraska\"],\"csd_code\":[\"2414030\"],\"csd_name_en\":[\"Saint-Joseph-de-Kamouraska\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Kamouraska\",\"csd_name_fr\":\"Saint-Joseph-de-Kamouraska\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.87059301647714,47.00017655357908],[-69.81071349134554,47.04189993455186],[-69.82669290619346,47.05188903870998],[-69.72059880965548,47.1279417595938],[-69.83297095729442,47.199214179598705],[-69.9067098566769,47.14644159863011],[-69.89066539722062,47.136194880458454],[-69.94984804872712,47.093351251957486],[-69.97930126176665,47.06977342600628],[-69.99612774265705,47.08086207464752],[-70.0998879445918,47.00577379151631],[-70.0766961464793,46.990263540299786],[-70.03966096279731,46.96569144844289],[-69.97424215255843,47.010949968624],[-69.94264118588087,46.991048779669626],[-69.90192829054673,47.01979441367827],[-69.87059301647714,47.00017655357908]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.8978717943008,\"lat\":47.07638099431782},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2417\"],\"cd_name_en\":[\"L'Islet\"],\"csd_code\":[\"2417030\"],\"csd_name_en\":[\"Sainte-Perp\\u00e9tue\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"L'Islet\",\"csd_name_fr\":\"Sainte-Perp\\u00e9tue\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.50758285646349,46.85741344203303],[-70.42532191016943,46.80318229132002],[-70.3880467760489,46.78017619396088],[-70.33139495202005,46.81874675544195],[-70.2868437480726,46.84914009644852],[-70.33030868363657,46.87958934817132],[-70.42238653643099,46.94295098285074],[-70.42697266417154,46.93985327130474],[-70.5182621067865,46.87893215497334],[-70.52840911784216,46.871330440668785],[-70.50758285646349,46.85741344203303]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.40722169040589,\"lat\":46.861114348486225},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2418\"],\"cd_name_en\":[\"Montmagny\"],\"csd_code\":[\"2418040\"],\"csd_name_en\":[\"Notre-Dame-du-Rosaire\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Montmagny\",\"csd_name_fr\":\"Notre-Dame-du-Rosaire\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.68873639633995,46.66749131885839],[-70.7207353858921,46.69026834838798],[-70.74208607111503,46.67769702228612],[-70.7647947909528,46.68447149969902],[-70.78191027018974,46.696319227763325],[-70.83089913314717,46.68931881724418],[-70.84737713321054,46.670085523233546],[-70.85192087755898,46.659518268071295],[-70.83713834647394,46.64588294102162],[-70.79851999029901,46.61768451617202],[-70.74937346227718,46.58218101767103],[-70.72428060547321,46.599307171116585],[-70.74404004376896,46.61471624009749],[-70.73266723907804,46.62059607625219],[-70.70548828169855,46.62515366288947],[-70.71942114063812,46.63622697368685],[-70.71537452269908,46.64979806373315],[-70.68873639633995,46.66749131885839]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.77120026917021,\"lat\":46.649197904165334},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2419\"],\"cd_name_en\":[\"Bellechasse\"],\"csd_code\":[\"2419050\"],\"csd_name_en\":[\"Saint-Lazare-de-Bellechasse\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Bellechasse\",\"csd_name_fr\":\"Saint-Lazare-de-Bellechasse\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.9828951838096,46.91637208535263],[-70.94825365738843,46.933301035669025],[-70.91287430556893,46.96111958608333],[-70.87071317116316,46.987084513356635],[-70.91239104469496,47.016325850446385],[-70.95240620532965,46.99914403652169],[-70.9998101300217,46.96403066970538],[-71.01358653871861,46.959514422640176],[-71.03752848837874,46.937274958317616],[-70.99591964060136,46.90931132344795],[-70.9828951838096,46.91637208535263]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.95543873922011,\"lat\":46.96318159178684},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2420\"],\"cd_name_en\":[\"L'\\u00cele-d'Orl\\u00e9ans\"],\"csd_code\":[\"2420010\"],\"csd_name_en\":[\"Sainte-Famille-de-l'\\u00cele-d'Orl\\u00e9ans\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"L'\\u00cele-d'Orl\\u00e9ans\",\"csd_name_fr\":\"Sainte-Famille-de-l'\\u00cele-d'Orl\\u00e9ans\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.711112336576,47.25822889609359],[-70.74799423029741,47.294652810118656],[-70.80457294729757,47.24464836986089],[-70.81445642875676,47.2126510814217],[-70.81569075271143,47.19541818463984],[-70.79346908527877,47.16401872543306],[-70.79989031005687,47.15767107990371],[-70.80597467803328,47.133178804680185],[-70.82707434254331,47.12038916415963],[-70.82128992303127,47.094674179235284],[-70.80344567408898,47.08165892207574],[-70.77359646747603,47.10741468959172],[-70.75751622658038,47.12517237667479],[-70.74103071272756,47.151611926166304],[-70.66962522902578,47.242776808810824],[-70.711112336576,47.25822889609359]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.76015074741944,\"lat\":47.19741264719467},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2421\"],\"cd_name_en\":[\"La C\\u00f4te-de-Beaupr\\u00e9\"],\"csd_code\":[\"2421005\"],\"csd_name_en\":[\"Saint-Tite-des-Caps\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La C\\u00f4te-de-Beaupr\\u00e9\",\"csd_name_fr\":\"Saint-Tite-des-Caps\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.02975496593905,47.094971763919425],[-71.049235312242,47.12366283743258],[-71.06380239942524,47.137528163413435],[-71.08217150937746,47.144117537693475],[-71.10756617117472,47.1223754405396],[-71.19649650027709,47.19538734930071],[-71.2511433837186,47.15383459937203],[-71.26754103287399,47.14660730527071],[-71.26184724469633,47.13703859358127],[-71.23961876269388,47.134145584394176],[-71.23943311412698,47.11767998840179],[-71.21901320761667,47.126848680885004],[-71.17908111260944,47.10180656731982],[-71.17248069788323,47.08781477511516],[-71.14680679536737,47.10422459519878],[-71.08596663381138,47.05043659404065],[-71.10955366557965,47.02437837196054],[-71.11740718109233,47.010562464786574],[-71.14260310244846,46.998030497658334],[-71.05332570162868,46.92636336246315],[-71.03752848837874,46.937274958317616],[-71.01358653871861,46.959514422640176],[-70.9998101300217,46.96403066970538],[-70.95240620532965,46.99914403652169],[-70.97056929551295,47.011543764448106],[-71.02233784713438,47.05464667538237],[-70.99867593993378,47.06564437677352],[-71.02975496593905,47.094971763919425]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.0920854414089,\"lat\":47.060832902567824},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2421\"],\"cd_name_en\":[\"La C\\u00f4te-de-Beaupr\\u00e9\"],\"csd_code\":[\"2421035\"],\"csd_name_en\":[\"Ch\\u00e2teau-Richer\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La C\\u00f4te-de-Beaupr\\u00e9\",\"csd_name_fr\":\"Ch\\u00e2teau-Richer\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.35982205637617,46.7307600794454],[-71.38314854210557,46.74609420809905],[-71.40117423486193,46.763704071669025],[-71.42284371423729,46.754739676261345],[-71.49207449151068,46.80264125286457],[-71.5032660247905,46.79297130809248],[-71.55310362398438,46.78418435489765],[-71.60630704295028,46.77589454184271],[-71.5901771255345,46.76421869608942],[-71.50389363223525,46.701983997790634],[-71.46625187472118,46.71231998013249],[-71.35982205637617,46.7307600794454]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.48720684012001,\"lat\":46.750309946029574},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2423\"],\"cd_name_en\":[\"Qu\\u00e9bec\"],\"csd_code\":[\"2423072\"],\"csd_name_en\":[\"Saint-Augustin-de-Desmaures\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Qu\\u00e9bec\",\"csd_name_fr\":\"Saint-Augustin-de-Desmaures\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.01792847864118,46.510336536420546],[-71.03360466870329,46.51424945685361],[-71.04753450828127,46.506324169624165],[-71.04266811577779,46.49536796800762],[-71.0882759233638,46.46362671863674],[-71.09025001287435,46.46238610199624],[-71.07984086080155,46.4453041253079],[-71.06349938710318,46.429487913803555],[-71.04257752594079,46.41844620656492],[-71.0412233712506,46.41108841365427],[-71.01765835832236,46.39384833897933],[-71.00634030424756,46.39073220122874],[-70.98292105979944,46.37344513709636],[-70.97802010635522,46.36991580031483],[-70.92995915723803,46.40987858872818],[-70.9194383981983,46.42557835946618],[-70.9345555686777,46.43636673961607],[-70.93347731238518,46.450602940137315],[-70.95365737182242,46.465054346221436],[-71.01792847864118,46.510336536420546]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.0030989891059,\"lat\":46.442732717344846},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2426\"],\"cd_name_en\":[\"La Nouvelle-Beauce\"],\"csd_code\":[\"2426030\"],\"csd_name_en\":[\"Sainte-Marie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Nouvelle-Beauce\",\"csd_name_fr\":\"Sainte-Marie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.04753450828127,46.506324169624165],[-71.05350553366696,46.5451719735975],[-71.05887732251797,46.55487565498097],[-71.12740986949277,46.527244026800524],[-71.11017343566859,46.52207564945829],[-71.10103501154214,46.50572043334241],[-71.08843131187852,46.4979538130552],[-71.10258085592451,46.47659659349468],[-71.0882759233638,46.46362671863674],[-71.04266811577779,46.49536796800762],[-71.04753450828127,46.506324169624165]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.07739475080467,\"lat\":46.51200663593558},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2426\"],\"cd_name_en\":[\"La Nouvelle-Beauce\"],\"csd_code\":[\"2426048\"],\"csd_name_en\":[\"Scott\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Nouvelle-Beauce\",\"csd_name_fr\":\"Scott\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.282444881912,46.66667630493814],[-70.29648599056024,46.67665288088869],[-70.32419647101156,46.657879180650106],[-70.44520554688386,46.575869854553964],[-70.38741179785873,46.53596009069384],[-70.39642039722696,46.52907710535226],[-70.36337581428263,46.54697142659104],[-70.33385492743375,46.52640974349284],[-70.31699680882717,46.53807468472154],[-70.27132478169194,46.50670869957642],[-70.18905732711413,46.563151835529915],[-70.1630489726004,46.58179255198759],[-70.25328307654746,46.64501325574139],[-70.282444881912,46.66667630493814]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.30078396906677,\"lat\":46.58698640011591},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2428\"],\"cd_name_en\":[\"Les Etchemins\"],\"csd_code\":[\"2428075\"],\"csd_name_en\":[\"Saint-Magloire\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Etchemins\",\"csd_name_fr\":\"Saint-Magloire\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.092510594115,45.66724123312146],[-71.10331019059802,45.67352262541732],[-71.09117298685901,45.68714070105779],[-71.10357440234746,45.70975999041084],[-71.12855337494213,45.728376435351166],[-71.13673978723442,45.73979931668998],[-71.14214537897581,45.76937684570745],[-71.14132671909047,45.793343455264775],[-71.15546408413539,45.80395008226709],[-71.16084532183358,45.81913945579396],[-71.15763015633355,45.83278785686707],[-71.1786193905622,45.81524588408618],[-71.24309639107256,45.76041811905267],[-71.3062981006832,45.708910909014655],[-71.20726319730223,45.64248205157448],[-71.18264873587161,45.65600663168227],[-71.1549414177035,45.638695597831976],[-71.14170868429596,45.65024320883876],[-71.12410468905276,45.64016057924205],[-71.10931562080377,45.65278100714276],[-71.092510594115,45.66724123312146]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.18865426029633,\"lat\":45.716886392663795},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2430\"],\"cd_name_en\":[\"Le Granit\"],\"csd_code\":[\"2430105\"],\"csd_name_en\":[\"Stornoway\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Granit\",\"csd_name_fr\":\"Stornoway\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.14874731677843,45.84035421318969],[-71.1368358132187,45.8563560447248],[-71.152535934763,45.87337585537884],[-71.15857543566345,45.88642279860555],[-71.15731603205967,45.914890383872596],[-71.16222395769091,45.92484853086393],[-71.196233707073,45.955257119246056],[-71.2217870129034,45.97012640276469],[-71.24205334798862,45.967269225500495],[-71.26975288735339,45.95117877850558],[-71.2821250836234,45.9393755994386],[-71.31189476998246,45.92468799740767],[-71.29441300186937,45.91044485059183],[-71.3121830591751,45.89422142741897],[-71.29477649429043,45.8852387293371],[-71.31399974796027,45.86881022941022],[-71.29548361989677,45.859016525953066],[-71.30928108116339,45.85026692722432],[-71.27371688270897,45.82955116633982],[-71.26108226282905,45.84035856472012],[-71.24699331620621,45.83261951933241],[-71.23155972135035,45.84599197510813],[-71.1786193905622,45.81524588408618],[-71.15763015633355,45.83278785686707],[-71.14874731677843,45.84035421318969]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.22681824504723,\"lat\":45.89135168723267},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2431\"],\"cd_name_en\":[\"Les Appalaches\"],\"csd_code\":[\"2431050\"],\"csd_name_en\":[\"Sainte-Prax\\u00e8de\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Appalaches\",\"csd_name_fr\":\"Sainte-Prax\\u00e8de\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.06177975525812,46.22208110568527],[-71.05413676606841,46.22726770733402],[-71.07277214270023,46.24329083303722],[-71.10871114406409,46.220519345843464],[-71.08979369781099,46.20314129410458],[-71.06177975525812,46.22208110568527]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.08147721932654,\"lat\":46.22342171435223},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2431\"],\"cd_name_en\":[\"Les Appalaches\"],\"csd_code\":[\"2431122\"],\"csd_name_en\":[\"East Broughton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Appalaches\",\"csd_name_fr\":\"East Broughton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.4700882801752,46.49573267576081],[-71.44329706274587,46.52156362601598],[-71.40039670876939,46.532844408475114],[-71.38348043347168,46.544138213030884],[-71.37744386376595,46.55741262651885],[-71.38619706205745,46.57303191164447],[-71.38382498435976,46.58716267524152],[-71.40110250362476,46.592153810403595],[-71.4071584741479,46.596297246899496],[-71.46495108847323,46.57754223349488],[-71.4993194065716,46.55449251176252],[-71.51201305382963,46.56215110336961],[-71.52814859391829,46.55241086098554],[-71.49070642220349,46.52477154464597],[-71.51999686859867,46.516955933880496],[-71.51111673770937,46.51143243520994],[-71.50169543221877,46.52048715150119],[-71.4700882801752,46.49573267576081]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.4460974053242,\"lat\":46.5498410681284},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2433\"],\"cd_name_en\":[\"Lotbini\\u00e8re\"],\"csd_code\":[\"2433045\"],\"csd_name_en\":[\"Saint-Agapit\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Lotbini\\u00e8re\",\"csd_name_fr\":\"Saint-Agapit\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.52814859391829,46.55241086098554],[-71.54569408873672,46.56442332706328],[-71.5620704230249,46.56140412221027],[-71.59328794784685,46.55561881330028],[-71.60201986365976,46.54848497067194],[-71.58175300330338,46.53340375747339],[-71.67012165178414,46.5355494361872],[-71.6018599699713,46.486448131335145],[-71.53469445736064,46.48395062392849],[-71.51111673770937,46.51143243520994],[-71.51999686859867,46.516955933880496],[-71.49070642220349,46.52477154464597],[-71.52814859391829,46.55241086098554]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.57068401561126,\"lat\":46.521445753143524},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2433\"],\"cd_name_en\":[\"Lotbini\\u00e8re\"],\"csd_code\":[\"2433052\"],\"csd_name_en\":[\"Saint-Flavien\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Lotbini\\u00e8re\",\"csd_name_fr\":\"Saint-Flavien\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.60201986365976,46.54848497067194],[-71.69436624964257,46.553020998906085],[-71.67012165178414,46.5355494361872],[-71.58175300330338,46.53340375747339],[-71.60201986365976,46.54848497067194]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.63817357258444,\"lat\":46.542666418564515},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2433\"],\"cd_name_en\":[\"Lotbini\\u00e8re\"],\"csd_code\":[\"2433060\"],\"csd_name_en\":[\"Laurier-Station\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Lotbini\\u00e8re\",\"csd_name_fr\":\"Laurier-Station\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.74265703494213,46.649145088313254],[-71.7480101769599,46.67565022456893],[-71.73516336074907,46.70174792882522],[-71.7140555888084,46.711360674417826],[-71.75852044444862,46.742472447098656],[-71.77349565976746,46.735591748860024],[-71.80665301714843,46.73220514867278],[-71.84327638964031,46.71976346728736],[-71.8686982740667,46.706580180133635],[-71.84139560242538,46.677100737446466],[-71.78837317893506,46.653115483648214],[-71.74265703494213,46.649145088313254]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.78869984146601,\"lat\":46.69705575125673},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2434\"],\"cd_name_en\":[\"Portneuf\"],\"csd_code\":[\"2434030\"],\"csd_name_en\":[\"Cap-Sant\\u00e9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Portneuf\",\"csd_name_fr\":\"Cap-Sant\\u00e9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.02242426531359,46.68396022829901],[-72.04762674838793,46.7020850619286],[-72.08001231554923,46.68480946611702],[-72.06786373586496,46.676006197719104],[-72.05056266965066,46.6637560688889],[-72.0411923368306,46.648908581394984],[-72.00140805587247,46.668828921007254],[-72.02242426531359,46.68396022829901]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.04091549088771,\"lat\":46.67628485513038},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2434\"],\"cd_name_en\":[\"Portneuf\"],\"csd_code\":[\"2434065\"],\"csd_name_en\":[\"Saint-Marc-des-Carri\\u00e8res\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Portneuf\",\"csd_name_fr\":\"Saint-Marc-des-Carri\\u00e8res\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.64493481543575,45.81877100614097],[-71.63488055868903,45.814516225599725],[-71.61727866081671,45.830510451262526],[-71.63334191351551,45.84021945704359],[-71.58616447468327,45.8814175645952],[-71.56273241958935,45.90653708531626],[-71.66269702947235,45.956122566377964],[-71.6659281055693,45.9402562134112],[-71.74058193491958,45.870220856069466],[-71.64493481543575,45.81877100614097]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.6509616906833,\"lat\":45.885713283187606},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2439\"],\"cd_name_en\":[\"Arthabaska\"],\"csd_code\":[\"2439010\"],\"csd_name_en\":[\"Ham-Nord\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Arthabaska\",\"csd_name_fr\":\"Ham-Nord\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.54618809830626,45.45552614614861],[-71.615175072417,45.50038834117114],[-71.66101689314013,45.532444221353884],[-71.70944408098413,45.492946964485725],[-71.71601677078922,45.48195649084515],[-71.71037070892322,45.45430348150261],[-71.55304914404287,45.455391049972825],[-71.54618809830626,45.45552614614861]],[[-71.64597530554639,45.47865099105172],[-71.64121674888582,45.46844831145061],[-71.67813143161409,45.46816580391883],[-71.67918789017874,45.49464179407557],[-71.6422522373236,45.494822528330054],[-71.64597530554639,45.47865099105172]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.64551945420972,\"lat\":45.48212468572042},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2441\"],\"cd_name_en\":[\"Le Haut-Saint-Fran\\u00e7ois\"],\"csd_code\":[\"2441065\"],\"csd_name_en\":[\"Westbury\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Saint-Fran\\u00e7ois\",\"csd_name_fr\":\"Westbury\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.58582617756468,45.1596710117732],[-72.55776554203094,45.159353551109696],[-72.55734224926584,45.20701252782099],[-72.58553623439659,45.206977571501604],[-72.58582617756468,45.1596710117732]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.57159998358905,\"lat\":45.183271964353025},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2446\"],\"cd_name_en\":[\"Brome-Missisquoi\"],\"csd_code\":[\"2446070\"],\"csd_name_en\":[\"Brome\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Brome-Missisquoi\",\"csd_name_fr\":\"Brome\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.41948055589043,45.658759901953545],[-72.36712375199292,45.702375849467415],[-72.35409113051371,45.712840586689246],[-72.36754354299481,45.720517214195276],[-72.35375862361447,45.73202626575559],[-72.38629362717023,45.75299364078255],[-72.40916758604035,45.767007412606446],[-72.49012642144105,45.70078226711526],[-72.44583284204752,45.674401624521856],[-72.41948055589043,45.658759901953545]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.41709616978507,\"lat\":45.71239558597889},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2449\"],\"cd_name_en\":[\"Drummond\"],\"csd_code\":[\"2449020\"],\"csd_name_en\":[\"Lefebvre\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Drummond\",\"csd_name_fr\":\"Lefebvre\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.59304191693316,45.88137119399526],[-72.52033053609654,45.94445426196178],[-72.55288302149768,45.96778386221419],[-72.55460557751358,45.97438395933326],[-72.58409838020164,45.979082192471],[-72.62987781597936,45.940444185731344],[-72.65612755803507,45.91543275900925],[-72.60872868800362,45.889984938435816],[-72.59304191693316,45.88137119399526]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.58736639619711,\"lat\":45.93180408769401},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2449\"],\"cd_name_en\":[\"Drummond\"],\"csd_code\":[\"2449095\"],\"csd_name_en\":[\"Saint-Majorique-de-Grantham\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Drummond\",\"csd_name_fr\":\"Saint-Majorique-de-Grantham\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.08253310029971,45.60796768763529],[-73.09923601274426,45.612074808728735],[-73.09952796580923,45.61116893267815],[-73.11042026754795,45.603927310795704],[-73.10139073010865,45.582074482623675],[-73.0863006853172,45.57649688823155],[-73.08253310029971,45.60796768763529]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.09495672437058,\"lat\":45.59586236423365},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2454\"],\"cd_name_en\":[\"Les Maskoutains\"],\"csd_code\":[\"2454025\"],\"csd_name_en\":[\"Sainte-Madeleine\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Maskoutains\",\"csd_name_fr\":\"Sainte-Madeleine\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.62052015176148,45.53789893999482],[-72.61583927413524,45.605095728983876],[-72.65393673566028,45.60506553922369],[-72.71107262938128,45.605346298417984],[-72.73009827179389,45.59756836095914],[-72.73226759040848,45.59091980865772],[-72.77213285310728,45.6186837971124],[-72.78058911249734,45.592144274073384],[-72.79982537005563,45.53775858720525],[-72.77137961360323,45.53825629930889],[-72.77316290455771,45.52506149938446],[-72.69084718854526,45.52384672466353],[-72.67559851748946,45.530950610182366],[-72.67618476396916,45.538812080649755],[-72.62052015176148,45.53789893999482]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.70568887443166,\"lat\":45.56694824934948},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2454\"],\"cd_name_en\":[\"Les Maskoutains\"],\"csd_code\":[\"2454065\"],\"csd_name_en\":[\"Saint-Val\\u00e9rien-de-Milton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Maskoutains\",\"csd_name_fr\":\"Saint-Val\\u00e9rien-de-Milton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.78539158110986,45.81693504796265],[-72.83597262493063,45.85241956467178],[-72.86252709895405,45.83813224497422],[-72.87836607911285,45.80177013632028],[-72.92062734184702,45.83048826267539],[-72.94217544472498,45.7982734824155],[-72.93818878232187,45.79521554672305],[-72.93214568405193,45.80553504372181],[-72.89566457519196,45.78787975876005],[-72.90601004163437,45.770382291577924],[-72.88870956346643,45.75670059563812],[-72.87278812742012,45.78125502025183],[-72.80275761947176,45.73298680381228],[-72.77173538628836,45.756173008604826],[-72.7951890379457,45.77272678177908],[-72.75952108893588,45.798618151926696],[-72.78539158110986,45.81693504796265]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.83891213048533,\"lat\":45.794817611336114},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2454\"],\"cd_name_en\":[\"Les Maskoutains\"],\"csd_code\":[\"2454100\"],\"csd_name_en\":[\"Saint-Hugues\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Maskoutains\",\"csd_name_fr\":\"Saint-Hugues\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.0544486455471,45.41015850625801],[-73.03550147793933,45.42186865049902],[-73.02000180339074,45.423110208466404],[-73.01086881647461,45.43747809805186],[-73.00797554040362,45.47414741570848],[-73.03457811127718,45.49189754899062],[-73.04003273109402,45.47681340068812],[-73.07263307252855,45.47595263827326],[-73.07953266512337,45.465567281273394],[-73.10005752735474,45.46596825082858],[-73.11581447022319,45.45392793360327],[-73.09512031375246,45.43929475594088],[-73.0544486455471,45.41015850625801]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.05230593983524,\"lat\":45.450144333599034},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2455\"],\"cd_name_en\":[\"Rouville\"],\"csd_code\":[\"2455037\"],\"csd_name_en\":[\"Rougemont\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Rouville\",\"csd_name_fr\":\"Rougemont\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.34362256133653,45.01070828654706],[-73.26641240759668,45.01213267201815],[-73.26713530767994,45.05565787426558],[-73.25657083169179,45.06331499517483],[-73.25697437949974,45.095826243229],[-73.29977766207983,45.09623967706235],[-73.319879618094,45.08247239843751],[-73.32915932675256,45.06555845921435],[-73.33123021601622,45.04530777987796],[-73.34247116662934,45.02621536481083],[-73.34362256133653,45.01070828654706]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.29686522176208,\"lat\":45.05144469036984},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2456\"],\"cd_name_en\":[\"Le Haut-Richelieu\"],\"csd_code\":[\"2456015\"],\"csd_name_en\":[\"Noyan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Richelieu\",\"csd_name_fr\":\"Noyan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.62727812737452,46.15286846949224],[-73.6383464603694,46.164118331040584],[-73.62755114887067,46.171670308420126],[-73.72328730026831,46.246538774944305],[-73.8001816187242,46.19168703013086],[-73.73257692967667,46.145096262396585],[-73.67843472283747,46.106512040267425],[-73.64228157756023,46.13130662552891],[-73.65063723741183,46.136820250177955],[-73.62727812737452,46.15286846949224]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.70681769187587,\"lat\":46.177127058568274},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2462\"],\"cd_name_en\":[\"Matawinie\"],\"csd_code\":[\"2462025\"],\"csd_name_en\":[\"Saint-Alphonse-Rodriguez\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Matawinie\",\"csd_name_fr\":\"Saint-Alphonse-Rodriguez\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.6985334664133,45.80453739630891],[-73.74192516998649,45.806036463603284],[-73.75537821242483,45.8134291224794],[-73.78043999176734,45.815700030033206],[-73.79727304037729,45.82680699893213],[-73.80677512143883,45.82083971497339],[-73.82402252769403,45.81691513006278],[-73.73069974925093,45.75431883470318],[-73.7504607541415,45.75009554006083],[-73.7453354909753,45.73238940158634],[-73.75754561517499,45.729719407195894],[-73.76476237694376,45.71277836270007],[-73.8016844880404,45.71953719530058],[-73.84646376154724,45.72176232666989],[-73.78892839526071,45.68398808398213],[-73.78338084480511,45.680327263285946],[-73.76706690349612,45.68580483969804],[-73.74507631086621,45.66848239626233],[-73.7233542498376,45.68074527438019],[-73.69915737350233,45.683802346252236],[-73.68083786291258,45.694209096315376],[-73.65032234029657,45.6883562134477],[-73.61415814039854,45.69278056780869],[-73.59831216934518,45.68933487966786],[-73.55824534115135,45.70019375326903],[-73.52387253251807,45.69922319068586],[-73.49723433112369,45.704743904207554],[-73.4871602844308,45.71231876749231],[-73.49733434516479,45.72154158623926],[-73.50186918050022,45.736475896022334],[-73.5294795044717,45.754234630922085],[-73.55518022427339,45.75464663529077],[-73.55654834595423,45.727535997302745],[-73.56394024850175,45.721727308702484],[-73.58942302642417,45.71720264585541],[-73.6692006609352,45.726772031456356],[-73.69948340791633,45.747003967063456],[-73.69036074813587,45.764969213734375],[-73.70105037949675,45.76863290660195],[-73.68731891700112,45.79476622333946],[-73.6985334664133,45.80453739630891]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.68508359750611,\"lat\":45.73236074344872},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2464\"],\"cd_name_en\":[\"Les Moulins\"],\"csd_code\":[\"2464008\"],\"csd_name_en\":[\"Terrebonne\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Moulins\",\"csd_name_fr\":\"Terrebonne\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.44859837646484,45.195059717522014],[-73.47332417971049,45.20277535683809],[-73.48221315635865,45.19749200082359],[-73.49421005151326,45.204146852672814],[-73.50176874718396,45.19421031127385],[-73.5312225244789,45.19545872054788],[-73.55588202046057,45.191600099115426],[-73.56161119059817,45.20060191925613],[-73.60814859810351,45.16126541252441],[-73.59483274319024,45.151010149394665],[-73.60601870746173,45.1439047537963],[-73.58592662107797,45.128545434173965],[-73.57171766862999,45.13340956034184],[-73.51062237236833,45.087330277889784],[-73.50495307187417,45.103560908119704],[-73.48834450060662,45.10896666200792],[-73.48236178414282,45.12337946679914],[-73.4536305025876,45.18754456541448],[-73.44859837646484,45.195059717522014]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.52604986638603,\"lat\":45.15516054402879},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2468\"],\"cd_name_en\":[\"Les Jardins-de-Napierville\"],\"csd_code\":[\"2468025\"],\"csd_name_en\":[\"Saint-Patrice-de-Sherrington\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Jardins-de-Napierville\",\"csd_name_fr\":\"Saint-Patrice-de-Sherrington\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.39127894261483,45.531365798427515],[-74.37365972273295,45.51890891326151],[-74.34909022355501,45.533702024928196],[-74.3628050619383,45.55385040800113],[-74.38087638693001,45.565904432501114],[-74.39127894261483,45.531365798427515]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.37227012308622,\"lat\":45.54029686895105},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2471\"],\"cd_name_en\":[\"Vaudreuil-Soulanges\"],\"csd_code\":[\"2471140\"],\"csd_name_en\":[\"Pointe-Fortune\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Vaudreuil-Soulanges\",\"csd_name_fr\":\"Pointe-Fortune\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.71175036931199,46.09955325974224],[-74.7500250207528,46.10000608887823],[-74.74969131909847,46.127773148381586],[-74.77040081494523,46.1349089823021],[-74.83085251751176,46.13453750489982],[-74.89350855888247,46.1325760815404],[-74.89359448860598,46.11853727733251],[-74.92703568749172,46.11808481514742],[-74.93998378109032,46.10616000936526],[-74.94093017592628,46.06184424181761],[-74.85894223403922,46.063208144422646],[-74.85798974004702,46.016677798607425],[-74.8372079158595,46.01739231175466],[-74.83183063588837,46.002582468402544],[-74.83135521871027,45.97354184295705],[-74.8073481195682,45.97328958255266],[-74.8009065878481,45.95889694865328],[-74.80218068167001,45.94410205112363],[-74.76417375896612,45.94535546353161],[-74.76340464565318,45.97295632754719],[-74.69821608530033,45.97178112774906],[-74.67818076916768,46.047391388290364],[-74.71162386096992,46.046944442232736],[-74.71175036931199,46.09955325974224]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.79908144963835,\"lat\":46.05391030871594},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2478\"],\"cd_name_en\":[\"Les Laurentides\"],\"csd_code\":[\"2478070\"],\"csd_name_en\":[\"Amherst\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Laurentides\",\"csd_name_fr\":\"Amherst\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.32051020142617,46.15311866463688],[-74.2818671604791,46.181218868276666],[-74.29728584003567,46.19162655019748],[-74.2743699995039,46.20315266399235],[-74.34413795426013,46.25008002461301],[-74.41182411148671,46.2976984600069],[-74.47501474861589,46.253623444428285],[-74.44649268685119,46.23434586137002],[-74.46132232940677,46.22343401414746],[-74.44023661055752,46.20764847135377],[-74.3678251265009,46.158544139583064],[-74.33898802409698,46.139782680503565],[-74.32051020142617,46.15311866463688]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.37510646360832,\"lat\":46.218383868309864},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2478\"],\"cd_name_en\":[\"Les Laurentides\"],\"csd_code\":[\"2478100\"],\"csd_name_en\":[\"Val-des-Lacs\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Laurentides\",\"csd_name_fr\":\"Val-des-Lacs\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.81597847185145,45.62201734135317],[-75.82086510910806,45.68493984816883],[-75.82613873052911,45.71281454748466],[-75.83201540418617,45.77723159915755],[-75.93432793595947,45.76922584706393],[-76.09482865833407,45.755166060540276],[-76.15190163798744,45.7493956840665],[-76.15098478733971,45.804156068662095],[-76.22366412986756,45.80170959188313],[-76.32515676491386,45.800314359418806],[-76.32503692963081,45.69745219528323],[-76.32355332115664,45.66934888638418],[-76.32326766022737,45.6674891570011],[-76.29963481681699,45.67046400907172],[-76.13741069813275,45.68264250812616],[-76.13384019221697,45.65994001807068],[-76.11880335664053,45.598184110044],[-75.99389122414263,45.60735344331632],[-75.929474577349,45.61345772933788],[-75.89695413960338,45.61594292324474],[-75.81597847185145,45.62201734135317]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.06100812768413,\"lat\":45.703438493531266},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2482\"],\"cd_name_en\":[\"Les Collines-de-l'Outaouais\"],\"csd_code\":[\"2482035\"],\"csd_name_en\":[\"La P\\u00eache\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Collines-de-l'Outaouais\",\"csd_name_fr\":\"La P\\u00eache\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.29621681486712,45.46453156188991],[-76.29767208346932,45.51950031555376],[-76.30953219500248,45.5960855272483],[-76.32326766022737,45.6674891570011],[-76.32355332115664,45.66934888638418],[-76.36648791085462,45.683805110165416],[-76.49395643911961,45.513454995585846],[-76.4815451324149,45.50482870736347],[-76.45356576093667,45.500389681865705],[-76.43351663220739,45.492076140982235],[-76.38618459720306,45.46472634192107],[-76.36174370369133,45.457094596270906],[-76.31703736936262,45.45702294874291],[-76.29621681486712,45.46453156188991]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.37405278599593,\"lat\":45.55510024165378},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2484\"],\"cd_name_en\":[\"Pontiac\"],\"csd_code\":[\"2484005\"],\"csd_name_en\":[\"Bristol\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Pontiac\",\"csd_name_fr\":\"Bristol\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.34426127718561,48.50363002958307],[-77.344147694179,48.574834036826005],[-77.3308353262433,48.57492222282822],[-77.33159892893971,48.631733507173536],[-77.54967646496253,48.631190224454826],[-77.55023150735207,48.602185581847884],[-77.5857774851231,48.60214218752966],[-77.58613867574988,48.57492970998583],[-77.5830560495099,48.55987516124006],[-77.58988386840596,48.54742010857493],[-77.5611586786625,48.547323646439374],[-77.56104213937193,48.503406168329704],[-77.34426127718561,48.50363002958307]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.45412512205145,\"lat\":48.56815794668646},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2488\"],\"cd_name_en\":[\"Abitibi\"],\"csd_code\":[\"2488005\"],\"csd_name_en\":[\"Champneuf\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi\",\"csd_name_fr\":\"Champneuf\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.61138808811316,48.250081049944846],[-71.74212091151912,48.275625646104],[-71.80482268392731,48.28519388457646],[-71.88425302143196,48.297574298948625],[-71.9088095341611,48.241468955288724],[-71.95815799821324,48.25018834675248],[-71.94167398915428,48.224913909863986],[-71.92743490550505,48.21096128807466],[-71.93140758128743,48.200442296383],[-71.91976859504433,48.186771099704295],[-71.887248182327,48.17792190678248],[-71.8809647911183,48.16329159149103],[-71.8863216917975,48.144554483764146],[-71.92513220852842,48.103163201245856],[-71.93987799346141,48.09214090089522],[-71.96408580107142,48.08176090039677],[-71.97324429964763,48.05227619102234],[-72.01610331459857,48.03034489990883],[-72.0367779890107,48.02904499525303],[-72.04573740225149,48.01611629099261],[-72.06704969754324,47.998826385037916],[-71.98057549792601,47.997952326048775],[-71.80390722971619,47.998493546401804],[-71.72363540320808,47.997266727564316],[-71.72281783775372,48.000009632352736],[-71.71860927223224,48.0327954226611],[-71.68399644492358,48.0837429904482],[-71.6678555248921,48.091939701580195],[-71.67015939974611,48.10831485099504],[-71.65030341412483,48.135012209301564],[-71.64936387890727,48.1632103475635],[-71.65513129968774,48.17022248640215],[-71.63985868547095,48.18753519207774],[-71.61138808811316,48.250081049944846]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.80815732229297,\"lat\":48.13700554101026},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2493\"],\"cd_name_en\":[\"Lac-Saint-Jean-Est\"],\"csd_code\":[\"2493908\"],\"csd_name_en\":[\"Belle-Rivi\\u00e8re\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Lac-Saint-Jean-Est\",\"csd_name_fr\":\"Belle-Rivi\\u00e8re\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-57.347375736217195,51.590565476481935],[-57.44588501984736,51.58978779713997],[-57.454274105804274,51.57520870074685],[-57.446957415689035,51.56480479239698],[-57.45057630838117,51.552859694846326],[-57.477945598652184,51.54894820265106],[-57.50632678969923,51.52152291010946],[-57.4995915874711,51.50074529708278],[-57.47638417746747,51.485505899052555],[-57.45818181219714,51.48374550363033],[-57.451863115035664,51.464191193192],[-57.438802598427316,51.458922792942694],[-57.43257366178261,51.37002087570755],[-57.53049442351458,51.35497622646551],[-57.66286662963774,51.32225023379142],[-57.78524548151806,51.29419015995177],[-57.93878560456846,51.26392983925653],[-57.986594334274116,51.25646748445961],[-58.0482979609308,51.25004806834102],[-58.06642313988782,51.250060148990094],[-58.06425699174814,51.219123290110566],[-58.452133491826395,51.05646662115408],[-58.58961202570664,50.99970965293357],[-58.74671601068899,50.92980057398747],[-58.807710333420395,50.90348864772415],[-58.80686908641564,50.68572251876963],[-59.12632196851679,50.686314199740224],[-59.12847230782776,50.72035574468345],[-59.126778000261126,50.756902239987795],[-59.15525669408151,50.787229042583355],[-59.144011512896554,50.797252259116085],[-59.14755530407657,50.81464171491272],[-59.156292170593694,50.82588683816674],[-59.18563262522827,50.83992641011208],[-59.22323349806489,50.842219196148505],[-59.26351852893355,50.82591013203734],[-59.28352849236156,50.82482023141991],[-59.305479242765095,50.83272312813057],[-59.33422656530066,50.83767420954727],[-59.337020211052725,50.84357956431939],[-59.35986831072497,50.849089151870324],[-59.38259414344266,50.86019635394486],[-59.4030689851503,50.86212841278783],[-59.42026028390658,50.88477224453786],[-59.42041765280903,50.75006763213225],[-59.423654266796106,50.665442199553546],[-59.436028136217224,50.67292668246431],[-59.46494304230446,50.661676496836954],[-59.4928645822871,50.66316412345609],[-59.51209544734887,50.67245468447773],[-59.53830453585663,50.67489859318165],[-59.55890293869423,50.670922315406145],[-59.57714299098577,50.67462556621744],[-59.60221393123078,50.67354010521829],[-59.583836683089764,50.595907277451936],[-59.58312865787208,50.54006886700035],[-59.96291034619735,50.537228714506966],[-59.961435681407806,50.43117513974004],[-60.219484091824675,50.43305965516349],[-60.233090354844954,50.41427349779639],[-60.25120145834258,50.39992292639239],[-60.26986447705979,50.36840427197746],[-60.26795811816483,50.35500539719495],[-60.715278087682684,50.35779451286036],[-60.96678042950691,50.35995853216721],[-61.13648755716662,50.36254124089566],[-61.24978442840319,50.3655289928019],[-61.26405890041014,50.35659925115348],[-61.262565975963945,50.34194577025272],[-61.27373633086901,50.32693932869112],[-61.25700837412508,50.31196714240261],[-61.22730199326255,50.29349083438642],[-61.174415988504705,50.27437705683871],[-61.239564819081885,50.273762171437866],[-61.412649214327246,50.27441169946175],[-61.50260118927975,50.275888277796305],[-61.50557220451328,50.23092211119097],[-61.57082861534155,50.22751784688014],[-61.5812332697134,50.220121001477125],[-61.59288004300253,50.20082804652977],[-61.59387010126607,50.16949855426456],[-61.60633041740513,50.15448776446655],[-61.648361501779675,50.14565978294164],[-61.68249120769876,50.144900432742396],[-61.745638472641545,50.12314352169734],[-61.811632595580505,50.11333021743811],[-61.845325576961216,50.10374736998938],[-61.904916245810234,50.07356765072499],[-62.02120537998415,50.00461186485553],[-62.060580218346985,49.949629459171334],[-62.13621778492081,49.82111621846459],[-62.23363791093625,49.65342431387919],[-62.31607299941432,49.51127621215109],[-62.12897783204589,49.41761260211762],[-61.978958418911326,49.39186534451944],[-61.877940508366095,49.370407073810185],[-61.82155574840418,49.3309546959202],[-61.79024990489468,49.304108534758164],[-61.76145626039764,49.27131488206208],[-61.638561296752215,49.138048488625415],[-61.67405864031841,49.068555808028385],[-61.62397082118055,49.04977351689064],[-61.43988782848407,49.15678043719439],[-61.09653784522634,49.36056065447083],[-60.96515751243089,49.43773090249258],[-60.89444987203771,49.482135155576294],[-60.63721325882049,49.659774349036084],[-60.50000001784931,49.75372058419796],[-60.15039119444428,49.992510595577095],[-60.00000000473838,50.0658031122246],[-59.86888471671996,50.12103728452992],[-59.65436654329665,50.217092679392],[-59.5607103358493,50.25933553967593],[-59.392214679114204,50.33300116725772],[-59.30607659155423,50.373359522101396],[-59.265713774798435,50.39036556978252],[-59.17778387793913,50.4300649333653],[-59.14611032733519,50.446293229218554],[-59.05739486334218,50.486510371253715],[-59.0224960416501,50.50450138592949],[-58.95735308485959,50.54200891660487],[-58.843835738701685,50.613835710114614],[-58.80174862059617,50.64865111089779],[-58.75180922640062,50.69663302143866],[-58.70299163381605,50.7386728799994],[-58.63466764086265,50.820249770432476],[-58.578826114162865,50.88271093236706],[-58.509000306094826,50.9705599893163],[-58.48719817292422,51.00001507214113],[-58.43202992523465,51.04644353392224],[-58.40947518209455,51.06778351526645],[-58.32808148047522,51.071997023390566],[-58.138851071839134,51.083024316358895],[-58.04316690557449,51.08924789978361],[-58.00061266738359,51.09367944502646],[-57.81431221942898,51.1344054638076],[-57.660326793464215,51.166619041702944],[-57.52378277279475,51.19724250534472],[-57.49999999723551,51.20281600388842],[-57.109571464582466,51.287163263272774],[-57.108986596993184,51.378782367499504],[-57.15018860082634,51.36041650488962],[-57.17345756600334,51.35578427222146],[-57.21550103580908,51.35665030171882],[-57.24237167832531,51.36483300345409],[-57.26183856336333,51.381469913394206],[-57.268351843895246,51.40188792584973],[-57.29126049716317,51.41293689204596],[-57.302815725281484,51.433532715477604],[-57.317385027228546,51.43979564106533],[-57.36984793492057,51.43292775111161],[-57.36672882663417,51.498797619533306],[-57.347463676669754,51.50129871603086],[-57.347375736217195,51.590565476481935]],[[-60.67393381035168,50.21800348202233],[-60.648136364948996,50.217958384949846],[-60.66736256447131,50.21138822985881],[-60.67393381035168,50.21800348202233]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-60.55499561588399,\"lat\":50.08836892806564},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2498\"],\"cd_name_en\":[\"Minganie--Le Golfe-du-Saint-Laurent\"],\"csd_code\":[\"2498015\"],\"csd_name_en\":[\"C\\u00f4te-Nord-du-Golfe-du-Saint-Laurent\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Minganie--Le Golfe-du-Saint-Laurent\",\"csd_name_fr\":\"C\\u00f4te-Nord-du-Golfe-du-Saint-Laurent\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.97779206164402,49.76227926870602],[-62.84754591441021,49.94721129082572],[-62.80824368001108,49.99965206297561],[-62.80096512067911,50.01584781724711],[-62.76856156163261,50.06948586280803],[-62.73694354795867,50.113270158610206],[-62.733591375778566,50.13134069703826],[-62.71651343410799,50.16604323666978],[-62.702693821531135,50.203938309170816],[-62.6976995011934,50.23573146396799],[-62.700535308998745,50.25381001332979],[-62.68335127151324,50.25714997528953],[-62.62140921017971,50.25529124025805],[-62.60023891285382,50.25007566583859],[-62.574923106921695,50.250066126245216],[-62.561236764029395,50.257829200394895],[-62.54776762632302,50.279051341269486],[-62.54496043064126,50.404436635333354],[-62.94709270395636,50.405442898199524],[-62.931292767991955,50.373440816366426],[-62.93272463157266,50.35421940809885],[-62.94067406980846,50.34469711602861],[-62.93063141482549,50.334247743840365],[-62.90366071498958,50.32297716059661],[-62.90687397719398,50.31513243681586],[-62.885619406062034,50.30626893205516],[-62.90032306026077,50.28036174182928],[-62.91476034002187,50.2760509381035],[-62.91437885533833,50.23520203621487],[-62.91072948736527,50.14728794057896],[-62.93989310982843,50.029593690667554],[-62.942038088284086,50.000451933868995],[-62.97206807750133,49.9821423634062],[-63.23254418677525,49.81406540906225],[-63.140619187796936,49.795693449753465],[-63.06051556927077,49.781197863264204],[-62.97779206164402,49.76227926870602]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.8480651052911,\"lat\":50.12933503417679},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2498\"],\"cd_name_en\":[\"Minganie--Le Golfe-du-Saint-Laurent\"],\"csd_code\":[\"2498035\"],\"csd_name_en\":[\"Baie-Johan-Beetz\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Minganie--Le Golfe-du-Saint-Laurent\",\"csd_name_fr\":\"Baie-Johan-Beetz\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.57845831900201,62.23924051428851],[-75.59981521067836,62.229337309896806],[-75.63245922155299,62.22354839850834],[-75.6731982059267,62.20363399614033],[-75.6724585698993,62.17812722219472],[-75.61235732157463,62.1781647178488],[-75.61248398424011,62.22308000144765],[-75.58049343697685,62.22335528709123],[-75.57845831900201,62.23924051428851]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.63444492567073,\"lat\":62.20169111008955},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499135\"],\"csd_name_en\":[\"Salluit\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village nordique\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Salluit\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-69.62353222152616,58.91707820550347],[-69.62232134453318,58.89879153814204],[-69.65680796612718,58.8984681227046],[-69.66021773072984,58.88352239663142],[-69.6866569958007,58.891905010998144],[-69.69668210160222,58.86898878990772],[-69.68327548272576,58.83930119855633],[-69.6871019197435,58.81975960572121],[-69.66043600529551,58.79764458902419],[-69.63641039051909,58.803019190539],[-69.62082381512107,58.79597771332578],[-69.60265478041077,58.80186759669265],[-69.546397689547,58.809524887198904],[-69.53818787489904,58.81930719599661],[-69.53516659524732,58.848302090511545],[-69.55495134474715,58.851341526887516],[-69.57024457762516,58.881743569216056],[-69.59380249965409,58.90047955611108],[-69.61572580089597,58.89931208934252],[-69.62353222152616,58.91707820550347]]],[[[-69.98185031134254,58.699962325373264],[-69.98469725851061,58.646093640814634],[-69.98345819713344,58.56217268001339],[-70.06411205447418,58.57545829184219],[-70.16147051556896,58.56177759191645],[-70.1699744152829,58.5530127913831],[-70.17982792915647,58.526268390806685],[-70.18422917416588,58.48843836025694],[-70.23837009060135,58.45187559114023],[-70.12303015661274,58.40921769997308],[-70.06775946504925,58.4112536504151],[-69.9656187668808,58.417967427540766],[-69.95566801723942,58.44867540202582],[-69.93120650165471,58.46316788770557],[-69.95129341644733,58.42203459308829],[-69.92783529663028,58.41795825634875],[-69.85581680888573,58.428821893605736],[-69.8747467216237,58.46286820273488],[-69.87070039782985,58.47729189271765],[-69.84107020711905,58.49965971232741],[-69.8488353030108,58.50612058678686],[-69.82374311422446,58.53375019446612],[-69.80672991678698,58.545016889045726],[-69.68766300298373,58.63637225922313],[-69.64271672892343,58.66515177426577],[-69.6572549800603,58.67777889666532],[-69.6539923966009,58.6939084919329],[-69.69050768541713,58.70981429419093],[-69.70396208401118,58.69831608699792],[-69.70090530487457,58.68810769216621],[-69.72441339080505,58.67945930926697],[-69.73006881600642,58.659859995461765],[-69.75341542017058,58.62635770699727],[-69.77940969504263,58.61340868707298],[-69.7900424793842,58.59984219861012],[-69.81168248852183,58.589030189578295],[-69.82135540447318,58.60328990847613],[-69.85827318228974,58.61825669483471],[-69.8504040962291,58.632735888600656],[-69.86529571921095,58.644076397669664],[-69.83458800122013,58.67666740419115],[-69.79841171538185,58.683251096342275],[-69.78045029888139,58.69797669207902],[-69.78736578272486,58.711757711989634],[-69.78889403385156,58.69281550766187],[-69.83999613572817,58.687759204551575],[-69.92792425398498,58.64048077895326],[-69.98185031134254,58.699962325373264]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.91450501546913,\"lat\":58.57958298394266},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499892\"],\"csd_name_en\":[\"Tasiujaq\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Terre inuite\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Tasiujaq\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.85010203755692,44.41081178885908],[-75.8213708439128,44.43202701055984],[-75.80760650835447,44.47169236710396],[-75.77760387099111,44.50382574084316],[-75.83196148988435,44.57346378534168],[-75.85198980160739,44.5971605052416],[-75.96536702432057,44.55126251097233],[-75.95642569419606,44.53971161727988],[-75.9037185035034,44.47283590822183],[-75.8616672424979,44.42213615360728],[-75.85010203755692,44.41081178885908]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.86474381601595,\"lat\":44.511945626923655},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3507\"],\"cd_name_en\":[\"Leeds and Grenville\"],\"csd_code\":[\"3507017\"],\"csd_name_en\":[\"Front of Yonge\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Leeds and Grenville\",\"csd_name_fr\":\"Front of Yonge\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.29321250821513,44.32232210395661],[-78.30375470227712,44.329227568974225],[-78.29599504786346,44.33810459162028],[-78.26822558929207,44.34557474546471],[-78.28358956406629,44.378236505937686],[-78.30023194867044,44.35822565350822],[-78.35772212956763,44.330246950438564],[-78.35138840865778,44.321990891657876],[-78.38787272241149,44.309267836775525],[-78.38388218742924,44.30078025474292],[-78.37585888171087,44.28206786086582],[-78.37863143467469,44.26556982375929],[-78.33481774334183,44.259184579638244],[-78.31391861472518,44.25798220625699],[-78.30589677707545,44.27082675949772],[-78.28162603344931,44.27915548607437],[-78.28286552927888,44.30046995549505],[-78.29321250821513,44.32232210395661]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.32637452683433,\"lat\":44.305994201318626},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3515\"],\"cd_name_en\":[\"Peterborough\"],\"csd_code\":[\"3515014\"],\"csd_name_en\":[\"Peterborough\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Peterborough\",\"csd_name_fr\":\"Peterborough\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.65482845585237,44.793891706630795],[-78.8198485219138,44.7540860884607],[-78.822139650505,44.77162145153794],[-78.86681278198627,44.85793004809303],[-78.91364165247546,44.941848322020064],[-78.93439266429668,44.985642176962315],[-79.09385061288941,44.94283055820221],[-79.10028262257026,44.954483665175324],[-79.11929894457725,44.949962965135796],[-79.06290729860315,44.840131543662906],[-79.15836668117595,44.814813005074605],[-79.20922653154032,44.80003167628275],[-79.20788221529475,44.794867008391286],[-79.15489008995627,44.680831808103015],[-79.14635160584909,44.660251503257726],[-79.08183403820397,44.51582270840544],[-79.0277510853868,44.39320118832012],[-78.97393751419342,44.273727509296265],[-78.95230900589009,44.22069299763038],[-78.92204940590226,44.153696523315695],[-78.91766559638279,44.177959275429814],[-78.90304215397185,44.20345669148832],[-78.8826772001992,44.21703847252895],[-78.86022843682368,44.21791263370825],[-78.85134009924978,44.21162157631945],[-78.8421989344629,44.169187072144474],[-78.79200089511943,44.20423431568387],[-78.77018296215616,44.227428244361604],[-78.70324310331102,44.08044551104363],[-78.69270051766338,44.058402255030835],[-78.51629230628808,44.09875771123711],[-78.58421998991973,44.251299486998185],[-78.58262440740477,44.253013897158475],[-78.42546930703732,44.290423901496304],[-78.47086131510414,44.38795719158053],[-78.48985826260602,44.43101188569678],[-78.49231466263961,44.44556791850911],[-78.48846548941079,44.467456523670954],[-78.4925877316439,44.47869764052393],[-78.51006548011016,44.497118628294366],[-78.51433374445509,44.52251577487964],[-78.52919023807632,44.55394236276162],[-78.54370784622472,44.55009663640927],[-78.56892151237801,44.60378160966495],[-78.65482845585237,44.793891706630795]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.81650802802292,\"lat\":44.51822539294398},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3516\"],\"cd_name_en\":[\"Kawartha Lakes\"],\"csd_code\":[\"3516010\"],\"csd_name_en\":[\"Kawartha Lakes\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kawartha Lakes\",\"csd_name_fr\":\"Kawartha Lakes\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.42861769513283,43.83473979842812],[-79.37066540229361,43.84711729728239],[-79.3895209359406,43.92378760164958],[-79.39266821475093,43.97780302295097],[-79.48554858650894,43.957479589320336],[-79.47774487088314,43.9242717897015],[-79.45414269367093,43.82937069458874],[-79.42861769513283,43.83473979842812]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.4274536680801,\"lat\":43.90368976050523},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3519\"],\"cd_name_en\":[\"York\"],\"csd_code\":[\"3519038\"],\"csd_name_en\":[\"Richmond Hill\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"York\",\"csd_name_fr\":\"Richmond Hill\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.17744441587885,43.140798455754535],[-79.19222225098478,43.14526009651679],[-79.20063880091087,43.19327828861419],[-79.20258851666729,43.22995434442976],[-79.20401142962608,43.246459418929966],[-79.31889548665063,43.24821056615358],[-79.32047269365779,43.18945823411105],[-79.31776730144682,43.18504362181822],[-79.315604983165,43.15079276110735],[-79.31167171723001,43.13913276146227],[-79.31077004484719,43.107964490198334],[-79.2872838102264,43.10869648640867],[-79.27439202745244,43.10457848836732],[-79.24868356199734,43.11529763941176],[-79.17744441587885,43.140798455754535]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.25947561426212,\"lat\":43.18103850828381},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3526\"],\"cd_name_en\":[\"Niagara\"],\"csd_code\":[\"3526053\"],\"csd_name_en\":[\"St. Catharines\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Niagara\",\"csd_name_fr\":\"St. Catharines\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.8736755941978,43.69906239225256],[-80.82385129788175,43.761573810348544],[-80.76050909540598,43.84464490402248],[-80.82996783562776,43.83648935469543],[-80.838657949381,43.824846558429684],[-80.85330054511327,43.824442136636925],[-80.85944282903252,43.83305256314937],[-80.95439919562895,43.82208730303218],[-81.08516269731146,43.806463005527064],[-81.09738281042884,43.79050741172566],[-81.0311957075413,43.76352410618713],[-81.14735028401645,43.61399400074033],[-81.02730360144145,43.56422060237001],[-80.98783120901761,43.54790759430338],[-80.8736755941978,43.69906239225256]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.97037692709388,\"lat\":43.70983742855152},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3531\"],\"cd_name_en\":[\"Perth\"],\"csd_code\":[\"3531040\"],\"csd_name_en\":[\"North Perth\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Perth\",\"csd_name_fr\":\"North Perth\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.08089705987473,42.88523842403451],[-81.08193007590366,42.89127035897392],[-81.11969615411492,42.89080406713756],[-81.11475685911726,42.870648339119334],[-81.20972341604481,42.8470404029952],[-81.2101779047093,42.790134989090745],[-81.19460223988725,42.786742395791705],[-81.18726913247589,42.79972231328609],[-81.17255484857749,42.809903194933526],[-81.14652059302871,42.81091139282469],[-81.13403062362907,42.80538738670083],[-81.14687822287401,42.79476199207492],[-81.14780071403045,42.74855980716613],[-81.17319755884883,42.74940141060271],[-81.18663087164528,42.74316094518708],[-81.19600407134747,42.75020515254687],[-81.21084976407025,42.74537707216186],[-81.21300769487361,42.68127544286697],[-81.22865898727953,42.66929500936197],[-81.24388665265705,42.665381772043055],[-81.24384625622933,42.653444339030706],[-81.21507910996979,42.65315354862096],[-81.21891289156106,42.56288714094126],[-81.22023809643268,42.524199776917236],[-81.13577503591405,42.52682737951416],[-81.03885528282989,42.52131676508825],[-81.03765370866365,42.59839657135065],[-81.03476431561263,42.702053494269954],[-81.03257371087179,42.814489312388254],[-81.07000792463525,42.80896600680491],[-81.08647312890487,42.877217548912625],[-81.08089705987473,42.88523842403451]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.12397548472424,\"lat\":42.683566504709006},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3534\"],\"cd_name_en\":[\"Elgin\"],\"csd_code\":[\"3534020\"],\"csd_name_en\":[\"Central Elgin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Elgin\",\"csd_name_fr\":\"Central Elgin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.99693780665318,42.2356925966709],[-82.98588381028176,42.23415029714196],[-82.95556401149425,42.24900280610456],[-82.93301998949903,42.24241668986819],[-82.90504422940336,42.24166644560978],[-82.90168585158453,42.28860623099569],[-82.89093339085896,42.31297843022158],[-82.89698147384705,42.33561388669843],[-82.91087911132003,42.354750589779904],[-82.94522831495763,42.34695567226616],[-82.95919760459948,42.339396165636856],[-82.98848923067857,42.332488738529044],[-83.01916115465326,42.32947599374481],[-83.06340971391054,42.31789923944119],[-83.07931516005718,42.3089664342122],[-83.09704297263522,42.28965063097869],[-83.1150681986382,42.25593825222518],[-83.07660638535542,42.24630410371297],[-83.07126517082634,42.25544774680535],[-83.0358995065469,42.25284240640303],[-82.99693780665318,42.2356925966709]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.98830350555986,\"lat\":42.28960402300032},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3537\"],\"cd_name_en\":[\"Essex\"],\"csd_code\":[\"3537039\"],\"csd_name_en\":[\"Windsor\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Essex\",\"csd_name_fr\":\"Windsor\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.00101579973095,43.07610088936178],[-82.02427330383732,43.076463591975354],[-82.02293489137135,43.10728778950363],[-82.22662723565075,43.14292823467473],[-82.2337078941758,42.93262320094703],[-82.00595560933716,42.92882199776878],[-82.00596728825779,42.93029289366757],[-82.00101579973095,43.07610088936178]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.12181211430284,\"lat\":43.02626964120839},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3538\"],\"cd_name_en\":[\"Lambton\"],\"csd_code\":[\"3538035\"],\"csd_name_en\":[\"Plympton-Wyoming\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Lambton\",\"csd_name_fr\":\"Plympton-Wyoming\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.80846188718812,43.069039680193775],[-81.97021148630138,43.09784339563104],[-81.97020829288752,43.07792269813408],[-82.00101579973095,43.07610088936178],[-82.00596728825779,42.93029289366757],[-81.78896579314244,42.93134880144377],[-81.7892891095513,43.065898309140515],[-81.80846188718812,43.069039680193775]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.8987145482504,\"lat\":43.005873394543194},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3538\"],\"cd_name_en\":[\"Lambton\"],\"csd_code\":[\"3538043\"],\"csd_name_en\":[\"Warwick\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Lambton\",\"csd_name_fr\":\"Warwick\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.510428984333,42.8053968206672],[-81.48141174583344,42.78382226260658],[-81.46522312089328,42.780166446277505],[-81.45895874801138,42.781134988604826],[-81.46128164641505,42.79601079154808],[-81.487718446905,42.81486507615974],[-81.50769619533573,42.80771669326512],[-81.510428984333,42.8053968206672]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.48204191059942,\"lat\":42.79735471540173},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3539\"],\"cd_name_en\":[\"Middlesex\"],\"csd_code\":[\"3539018\"],\"csd_name_en\":[\"Munsee-Delaware Nation 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Middlesex\",\"csd_name_fr\":\"Munsee-Delaware Nation 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.44009400011291,43.143109004053436],[-81.46525750911258,43.270658887524675],[-81.76984824971356,43.23691514689869],[-81.77377421580745,43.237545243874976],[-81.7827890509297,43.211493587503554],[-81.80018775584638,43.22210691079619],[-81.81322546605973,43.215486400324444],[-81.81196271004733,43.19823315530022],[-81.81887381837596,43.1903947413543],[-81.80995536165213,43.16831084474269],[-81.81621860446448,43.1545475027209],[-81.80763340473926,43.14987189472109],[-81.8070418425149,43.128728057814406],[-81.81928459412396,43.10177924412093],[-81.80825250846398,43.08412281565063],[-81.80846188718812,43.069039680193775],[-81.7892891095513,43.065898309140515],[-81.59451098614407,43.033928709992665],[-81.46337708921803,43.13066250981832],[-81.4643791128047,43.136349497885334],[-81.44009400011291,43.143109004053436]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.63309999549445,\"lat\":43.15619311864919},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3539\"],\"cd_name_en\":[\"Middlesex\"],\"csd_code\":[\"3539041\"],\"csd_name_en\":[\"North Middlesex\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Middlesex\",\"csd_name_fr\":\"North Middlesex\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.44009400011291,43.143109004053436],[-81.24215652670532,43.198181002369445],[-81.22447046023566,43.20332520797222],[-81.36371900316419,43.26381589825212],[-81.43094239094282,43.29287039026279],[-81.46889100870163,43.28892530146868],[-81.46525750911258,43.270658887524675],[-81.44009400011291,43.143109004053436]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.37735697151726,\"lat\":43.21738691990369},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3539\"],\"cd_name_en\":[\"Middlesex\"],\"csd_code\":[\"3539060\"],\"csd_name_en\":[\"Lucan Biddulph\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Middlesex\",\"csd_name_fr\":\"Lucan Biddulph\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.68503474980676,43.736933936013344],[-81.70258736652961,43.754148193755576],[-81.73048476658654,43.74845618532045],[-81.7321868495875,43.73112784352205],[-81.72368163936343,43.72236770239548],[-81.69062781071034,43.72170653932066],[-81.68503474980676,43.736933936013344]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.70956035733438,\"lat\":43.73647543883136},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3540\"],\"cd_name_en\":[\"Huron\"],\"csd_code\":[\"3540028\"],\"csd_name_en\":[\"Goderich\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Huron\",\"csd_name_fr\":\"Goderich\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.6640066902292,44.32826089785213],[-80.66182550331817,44.33025320775214],[-80.7032812138801,44.49623691342707],[-80.90696860944132,44.47455479798057],[-81.10598301069223,44.45289080848846],[-81.06943911066072,44.28833960262022],[-80.93774120685039,44.30380878776255],[-80.721498875754,44.326354622531],[-80.71254341086988,44.32089390984821],[-80.68749433869229,44.34249964693876],[-80.6640066902292,44.32826089785213]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.88574136607757,\"lat\":44.39280887321784},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3542\"],\"cd_name_en\":[\"Grey\"],\"csd_code\":[\"3542037\"],\"csd_name_en\":[\"Chatsworth\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Grey\",\"csd_name_fr\":\"Chatsworth\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.512654085666,44.21011130394178],[-79.51168678706942,44.294161210321086],[-79.50976469429469,44.3066574240644],[-79.5096556110884,44.38739004977857],[-79.50536172387127,44.39732294400991],[-79.50897489422302,44.42235654852845],[-79.6081466904882,44.3922501213232],[-79.65176447957212,44.38666915073024],[-79.62672173499749,44.38276705086563],[-79.62047249340212,44.36315729112027],[-79.5907005859959,44.369835990847804],[-79.58587871234936,44.34534469806407],[-79.65927491686594,44.32860968966709],[-79.65515203305094,44.312811856149196],[-79.72860896983804,44.296300222505685],[-79.70461861024013,44.20193081137408],[-79.72403455653841,44.19641376186999],[-79.7232371933844,44.185214091237995],[-79.71192097415499,44.1660640428451],[-79.512654085666,44.21011130394178]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.60354705554151,\"lat\":44.28112218001128},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3543\"],\"cd_name_en\":[\"Simcoe\"],\"csd_code\":[\"3543017\"],\"csd_name_en\":[\"Innisfil\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Simcoe\",\"csd_name_fr\":\"Innisfil\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.40117800677615,44.64034351610558],[-79.42151252040688,44.64376158577611],[-79.44591399499292,44.6163549912272],[-79.45708371948162,44.612160307788734],[-79.47563588947725,44.60327300161777],[-79.44691351610386,44.56987919037635],[-79.43459039685182,44.579019602402596],[-79.42330894566938,44.57651468593513],[-79.41198851605645,44.58771621359622],[-79.3658184911594,44.53365848366379],[-79.29856866713229,44.45227377655949],[-79.26647349942048,44.4565768646173],[-79.34717068871781,44.55197479253846],[-79.37572454021647,44.586930410182],[-79.36983825531108,44.603537969561565],[-79.37506638034758,44.62340707014345],[-79.40117800677615,44.64034351610558]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.3773599164752,\"lat\":44.56279805023851},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3543\"],\"cd_name_en\":[\"Simcoe\"],\"csd_code\":[\"3543052\"],\"csd_name_en\":[\"Orillia\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Simcoe\",\"csd_name_fr\":\"Orillia\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.20947812987372,45.56370987532006],[-77.24394095620977,45.57749248559978],[-77.26807560323896,45.57640844940717],[-77.25331925935254,45.551743731980515],[-77.20947812987372,45.56370987532006]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.24291381598961,\"lat\":45.565904784523745},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3547\"],\"cd_name_en\":[\"Renfrew\"],\"csd_code\":[\"3547037\"],\"csd_name_en\":[\"Pikwakanagan (Golden Lake 39)\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Renfrew\",\"csd_name_fr\":\"Pikwakanagan (Golden Lake 39)\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.88849272373835,47.83415582672985],[-79.88831828429304,47.84127448604672],[-80.0174448917265,47.841543500524956],[-80.01697934654634,47.75382138231999],[-79.88843340441021,47.75450199781691],[-79.8885360266815,47.820161227919286],[-79.88849272373835,47.83415582672985]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.95296440066154,\"lat\":47.797809089803714},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3554\"],\"cd_name_en\":[\"Timiskaming\"],\"csd_code\":[\"3554044\"],\"csd_name_en\":[\"Charlton and Dack\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Timiskaming\",\"csd_name_fr\":\"Charlton and Dack\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.07370043909896,47.842095029976235],[-80.80446742241175,47.84183640670423],[-80.46749281904067,47.84036957783241],[-80.45405842636931,47.848279503971476],[-80.4618464780427,47.862405195292396],[-80.48518678864788,47.86113764435438],[-80.50643469472787,47.87478381675522],[-80.51207760616752,47.89216576061472],[-80.53088040031962,47.89927208718993],[-80.53292665949203,47.94068850753161],[-80.5314334154362,48.01643214984482],[-80.79000964612054,48.016382466579714],[-80.79050632698745,47.92844160380261],[-81.07327918554311,47.928149611759935],[-81.07370043909896,47.842095029976235]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.74729390051944,\"lat\":47.911646623555235},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3554\"],\"cd_name_en\":[\"Timiskaming\"],\"csd_code\":[\"3554056\"],\"csd_name_en\":[\"Matachewan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Timiskaming\",\"csd_name_fr\":\"Matachewan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.07585820509544,49.2766160230526],[-82.07393309959507,49.19086539922457],[-82.13550085187619,49.19131509387992],[-82.13846190690431,49.13999134094223],[-82.14000020795646,49.057568738223004],[-82.24638478087223,49.05685102625635],[-82.24631563351176,48.9710616700776],[-82.05389411017181,48.97045003616719],[-82.05315369667528,49.057982151182976],[-81.96426933767825,49.05796104224641],[-81.9667610559619,49.19039294411442],[-81.80548352275419,49.18978778639722],[-81.80916737439875,49.31982862961094],[-81.87344888181423,49.31969790322808],[-81.86917088576526,49.35039509292343],[-81.87345648558627,49.35710929441386],[-81.86830042802592,49.41938208242377],[-81.86826474969314,49.58016052704104],[-82.07527595556694,49.58041154382618],[-82.07708091169144,49.45064280036889],[-82.07585820509544,49.2766160230526]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.00150047837029,\"lat\":49.282278700780616},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3556\"],\"cd_name_en\":[\"Cochrane\"],\"csd_code\":[\"3556052\"],\"csd_name_en\":[\"Fauquier-Strickland\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Cochrane\",\"csd_name_fr\":\"Fauquier-Strickland\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-93.31670383879721,48.65200011173903],[-93.33531474706298,48.65655342640784],[-93.35845756388366,48.64756842624663],[-93.35917315868588,48.671856034740756],[-93.38985206270611,48.65708342542909],[-93.40985215773624,48.670565628402755],[-93.41143646771292,48.684662723775126],[-93.39935577346134,48.692954717241776],[-93.39700216624766,48.708166333331924],[-93.42263041594035,48.74006666963028],[-93.48369549115868,48.739500063873706],[-93.48286234803909,48.66175442774227],[-93.42157406536037,48.66152873558243],[-93.42090647078912,48.648662874108275],[-93.42014747262049,48.63676096285627],[-93.37489579186321,48.63718060876675],[-93.36519213036014,48.631626265800996],[-93.35819614561922,48.63162267166556],[-93.31670383879721,48.65200011173903]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-93.42686241036648,\"lat\":48.686594064365394},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3559\"],\"cd_name_en\":[\"Rainy River\"],\"csd_code\":[\"3559063\"],\"csd_name_en\":[\"Couchiching 16A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Rainy River\",\"csd_name_fr\":\"Couchiching 16A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-94.8763926448901,49.37777932192723],[-94.89270945117204,49.37286242622794],[-94.89484515479805,49.35818233194966],[-94.87048727335319,49.365577818687704],[-94.8763926448901,49.37777932192723]]],[[[-94.85099106895932,49.36762792193013],[-94.88262375723463,49.354792727108546],[-94.8654594560211,49.34482491902885],[-94.82870275567035,49.36241453233974],[-94.85099106895932,49.36762792193013]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-94.86594852952815,\"lat\":49.36081235401845},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560065\"],\"csd_name_en\":[\"Lake of the Woods 37\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Lake of the Woods 37\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-92.66432272139667,53.08848582630524],[-92.6615295451034,53.06826484330598],[-92.67443815831606,53.051619445236014],[-92.69436322264474,53.04259354677199],[-92.72383295457226,53.019112128921044],[-92.7556571203346,53.02009512423577],[-92.75879433347453,53.03133793957477],[-92.78034464311366,53.025558423279016],[-92.78819664075152,53.014201325709166],[-92.81320163240703,53.006154744544375],[-92.83774423330709,53.01442703532261],[-92.88167464819831,53.01399723187773],[-92.91853104104416,53.006865347813516],[-92.92146983104648,52.99641433418799],[-92.89667265647181,52.99268674594174],[-92.90279984854229,52.976485422465956],[-92.93421122007452,52.97852479444127],[-92.93289737594273,52.93921372682448],[-92.8987629244428,52.92060483959139],[-92.88275155383802,52.92470344478962],[-92.86634443063745,52.9179384287002],[-92.78979085559071,52.90815624622095],[-92.78090912568335,52.89960383637034],[-92.76326345511553,52.90865243865423],[-92.780074357426,52.91875953650246],[-92.77305645051024,52.929027529672965],[-92.74850555908647,52.935543915050026],[-92.73077924747626,52.92663643899633],[-92.69131863071574,52.92612170950088],[-92.68877530181031,52.896151786713844],[-92.65872817122661,52.89880593277793],[-92.6650563721343,52.90885854767459],[-92.66577357205381,52.94100946815142],[-92.73808861275555,52.94169035757131],[-92.71884153118972,52.95767782922278],[-92.70559093456694,52.961701029920405],[-92.71035474860544,52.98129192698275],[-92.69985574749685,52.99418914132771],[-92.66989373007128,52.99723174736125],[-92.64239595386061,52.9881243224277],[-92.63172204379129,53.01641784245269],[-92.61093435555746,53.02809203018482],[-92.60396772521827,53.03914762238609],[-92.62822273651001,53.062479634443484],[-92.64879965117616,53.06628612603903],[-92.66432272139667,53.08848582630524]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-92.77695917227445,\"lat\":52.977502826355945},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560104\"],\"csd_name_en\":[\"Kee-Way-Win\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Kee-Way-Win\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.73044458754862,49.26646899861697],[-97.73055038583978,49.443715306344245],[-97.85373973516144,49.442685037500205],[-97.86612180097015,49.443523010827036],[-98.06961579392384,49.44345929569922],[-98.06933820012377,49.26620579342318],[-97.8658865115758,49.26629479252431],[-97.73044458754862,49.26646899861697]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.90006941355264,\"lat\":49.3548447065713},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4603\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4603062\"],\"csd_name_en\":[\"Roland\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Roland\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-100.46420432253161,49.53240484562227],[-100.48614208218558,49.532858707803314],[-100.85023664749568,49.532833132410154],[-100.85020600733085,49.35529690990015],[-100.64020525774754,49.35474204301425],[-100.57903969301515,49.35530820640503],[-100.3078652124531,49.35532180774378],[-100.17232619972943,49.355207683847695],[-99.9013177026912,49.35533000823221],[-99.90124638121478,49.532821690134476],[-100.02962250747143,49.53281188539918],[-100.05384618742357,49.533797376783056],[-100.06511468501895,49.53288640956924],[-100.46420432253161,49.53240484562227]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.37586174115967,\"lat\":49.4439920912801},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4605\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4605062\"],\"csd_name_en\":[\"Grassland\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Grassland\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-98.84717476795404,50.50628414612562],[-99.12346269623349,50.50600150401906],[-99.12347761516664,50.24079288906813],[-99.11028131473046,50.2407737759629],[-99.11044730902185,50.06351980673649],[-98.80473252868828,50.06359355333879],[-98.55998361077422,50.06361970888218],[-98.56005759736234,50.13187510417193],[-98.54899488089883,50.152203802317864],[-98.56064662781363,50.15579678224812],[-98.55993857247272,50.235568871612756],[-98.57067595222713,50.24686013411571],[-98.58716907683208,50.25285494232571],[-98.60212157258138,50.30655964524647],[-98.59706297812325,50.33601424867532],[-98.5808953479592,50.36249704277872],[-98.56430815511831,50.370620151217125],[-98.53155885445732,50.37623973203872],[-98.52055798294569,50.400972047629146],[-98.5307898774325,50.424954344045865],[-98.56190625795955,50.462650146831066],[-98.56268514188535,50.47215462842094],[-98.57807336568426,50.477715344772854],[-98.58367924325782,50.495749129043666],[-98.595858377762,50.50749082234372],[-98.62652259709635,50.50603448688597],[-98.70712701417125,50.50610518999395],[-98.84717476795404,50.50628414612562]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-98.84150225477235,\"lat\":50.286213786456365},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4608\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4608060\"],\"csd_name_en\":[\"WestLake-Gladstone\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"WestLake-Gladstone\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-100.97848297062856,51.36188566805397],[-100.97869613095737,51.44929694840768],[-101.25975789155754,51.44927439051004],[-101.26067245256252,51.53705827969574],[-101.25946756747122,51.62140050875125],[-101.39898664709001,51.621089318210146],[-101.39955466606155,51.565029421249996],[-101.42896739353976,51.56685430460556],[-101.57052208161751,51.56635639035792],[-101.57062801181856,51.40494891045055],[-101.57060175490807,51.397807540249524],[-101.57054393736752,51.30187588726489],[-101.53912744994656,51.301721214432476],[-101.53974453476201,51.26549039302158],[-101.5390436916405,51.125060905248496],[-101.42896641477806,51.12494080465053],[-101.12517679919664,51.12509537461783],[-100.97678711643614,51.1255070049151],[-100.9768111928502,51.21370461180724],[-100.9766726047996,51.221161886544735],[-101.0351841068082,51.22220799498702],[-101.03516631422971,51.23720211046808],[-100.9885218290919,51.236967527561774],[-100.98753281789311,51.257832896468855],[-100.97661501517642,51.25768120962578],[-100.97848297062856,51.36188566805397]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.29293831674022,\"lat\":51.334276309168246},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4616\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4616048\"],\"csd_name_en\":[\"Hillsburg-Roblin-Shell River\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Hillsburg-Roblin-Shell River\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-98.6064357802158,51.65425789059584],[-98.62492128830473,51.664914558408526],[-98.64399929429885,51.66492621398786],[-98.62968705398497,51.648963250054635],[-98.63416656544857,51.631156033375724],[-98.60119413803552,51.60332753401416],[-98.59007095508596,51.602277644060614],[-98.57669094885816,51.619597532885756],[-98.57148487142317,51.63481033219894],[-98.5744209454099,51.65025414595135],[-98.6064357802158,51.65425789059584]]],[[[-98.59029248724912,51.550888754044735],[-98.6049593723247,51.58209754739221],[-98.5890758403892,51.58534744953722],[-98.59599826895503,51.60063473242041],[-98.60624098015506,51.60497655120722],[-98.63702595475931,51.627698646441125],[-98.63496086306945,51.642549061342905],[-98.66547744462093,51.632881335976144],[-98.68627594242739,51.61094084716895],[-98.70241485739213,51.60114471862376],[-98.70075688488218,51.587314214629856],[-98.72492554883276,51.588833039970346],[-98.73374046722367,51.58100364566942],[-98.73457299662581,51.57504648402645],[-98.70455499300753,51.5774141072132],[-98.66732479565282,51.56896070546573],[-98.63871631534325,51.54379568963348],[-98.62010749205564,51.551335115473684],[-98.59029248724912,51.550888754044735]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-98.63615393097453,\"lat\":51.602181769446446},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4618\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4618067\"],\"csd_name_en\":[\"Fairford 50\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Fairford 50\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-100.68024437933533,52.84398953562207],[-100.69750445934302,52.83975213518064],[-100.6704434559081,52.808574149564556],[-100.6538488768591,52.81130283327736],[-100.65624949980592,52.82281153867928],[-100.63421459043353,52.82652608101467],[-100.64309525438023,52.84427134127791],[-100.66828718411577,52.837500653044984],[-100.68024437933533,52.84398953562207]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.66528112108564,\"lat\":52.828956875146396},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4619\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4619040\"],\"csd_name_en\":[\"Shoal River 65B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Shoal River 65B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-96.28739019436672,51.19080363257939],[-96.2998926500811,51.19407584109157],[-96.32541034044522,51.18881882106485],[-96.28750073554843,51.15286874571092],[-96.27855704729242,51.15669807255215],[-96.26051792408039,51.140903784283196],[-96.23239495368206,51.153194049415916],[-96.24918080894273,51.16840324758419],[-96.227588726025,51.1765703170789],[-96.22772800512526,51.18357817945173],[-96.27102014216221,51.179850540754906],[-96.28739019436672,51.19080363257939]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-96.27374518961362,\"lat\":51.16995382906114},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4619\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4619053\"],\"csd_name_en\":[\"Hole or Hollow Water 10\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Hole or Hollow Water 10\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-97.0103935579655,52.362317263592516],[-97.01123380602613,52.37872817462016],[-97.06456544923833,52.379027729066316],[-97.05528005570787,52.3670478385841],[-97.0103935579655,52.362317263592516]]],[[[-97.0103935579655,52.362317263592516],[-97.0143261617386,52.353103049769025],[-97.009342772593,52.33161805156742],[-96.9118653297856,52.31370595167983],[-96.912910396076,52.344806460701435],[-97.0103935579655,52.362317263592516]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-96.97524663079312,\"lat\":52.34447419534043},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4619\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4619077\"],\"csd_name_en\":[\"Berens River 13\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Berens River 13\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-97.74070422577103,54.61078243442876],[-97.76452696642508,54.59920733976384],[-97.76458105573121,54.58831953075733],[-97.74061428002085,54.5887867230254],[-97.74070422577103,54.61078243442876]]],[[[-97.76354343357266,54.640069709164635],[-97.76406467586213,54.611388394757384],[-97.73771910112958,54.62141854131532],[-97.74520009731145,54.647702232809976],[-97.76354343357266,54.640069709164635]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.75201689308919,\"lat\":54.6171425473869},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4622\"],\"cd_name_en\":[\"Division No. 22\"],\"csd_code\":[\"4622067\"],\"csd_name_en\":[\"Cross Lake 19E\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 22\",\"csd_name_fr\":\"Cross Lake 19E\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-100.84034081330068,56.68256102027914],[-100.81284763114141,56.68246606113407],[-100.81572009736416,56.8476630967593],[-100.81663263958859,56.970029878238535],[-101.3449771109654,56.965438844769025],[-101.33333698392369,56.70496441347095],[-101.33301138188686,56.68382692884211],[-101.22807039717675,56.68308908589502],[-100.84034081330068,56.68256102027914]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.07605028965712,\"lat\":56.82573324498163},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4623\"],\"cd_name_en\":[\"Division No. 23\"],\"csd_code\":[\"4623047\"],\"csd_name_en\":[\"Lynn Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 23\",\"csd_name_fr\":\"Lynn Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.63076734897126,49.16876749981558],[-101.60923446264566,49.1693049353466],[-101.60933056216871,49.17790265068535],[-101.63078047976644,49.177887589158516],[-101.63076734897126,49.16876749981558]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.62013357634498,\"lat\":49.17346135377886},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701004\"],\"csd_name_en\":[\"Carievale\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Carievale\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.66440548919364,49.26683259649482],[-101.79916658928936,49.26664749412122],[-102.0063204892941,49.263782601749895],[-102.00630220741222,49.26045320815001],[-102.00631436318582,49.21829765117014],[-102.0063054818565,49.202701199757946],[-102.00632643718951,48.998965664356625],[-101.63070303759766,48.99951460574001],[-101.63076734897126,49.16876749981558],[-101.63078047976644,49.177887589158516],[-101.66443067464242,49.17788292475181],[-101.66440548919364,49.26683259649482]],[[-101.79766962406549,49.168709407285284],[-101.79900820380402,49.17929999543528],[-101.78184932137077,49.17987668455968],[-101.78400243545488,49.16893451375421],[-101.79766962406549,49.168709407285284]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.8235318423725,\"lat\":49.12972785349468},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701006\"],\"csd_name_en\":[\"Mount Pleasant No. 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Mount Pleasant No. 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.69064359286173,49.70931150302071],[-101.80712163384074,49.709658173174],[-102.0067335329603,49.70592541473228],[-102.006296543619,49.528367141952444],[-101.82797130228259,49.53271459043627],[-101.66395399036209,49.53270540037639],[-101.41763515159263,49.53274480138788],[-101.41779808246244,49.70976529688776],[-101.53157201899583,49.7091259710659],[-101.69064359286173,49.70931150302071]],[[-101.71241603011666,49.57900153891825],[-101.69072489295998,49.577175092607305],[-101.69071519517456,49.562412310024136],[-101.71332857783575,49.56241479293324],[-101.71241603011666,49.57900153891825]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.71233609234238,\"lat\":49.62061910036815},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701047\"],\"csd_name_en\":[\"Antler No. 61\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Antler No. 61\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.2257623210367,49.78469660475889],[-103.22574449599898,49.87220910692217],[-103.23459648386022,49.87220029084006],[-103.23478294048478,50.018151979219],[-103.23381729533358,50.047269514453276],[-103.64424810839826,50.04721760087365],[-103.6432165925031,50.000065479398856],[-103.64426749491568,49.87220104962042],[-103.6332082834954,49.8722028551329],[-103.63245898566663,49.78475118936719],[-103.2257623210367,49.78469660475889]],[[-103.58664127579627,49.95276513933688],[-103.58738603006455,49.95992372731715],[-103.57598489630537,49.959926610520014],[-103.57594364197332,49.95279185562308],[-103.58664127579627,49.95276513933688]],[[-103.43961869909849,49.87211029775296],[-103.43962689296045,49.88696989769494],[-103.4283359910591,49.88693720604056],[-103.42803978383536,49.8720978134375],[-103.43961869909849,49.87211029775296]],[[-103.30847122080401,49.81380625539864],[-103.31602654518773,49.82833540891503],[-103.30415224714727,49.828369120007395],[-103.30847122080401,49.81380625539864]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.43588188729721,\"lat\":49.91623026544296},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4702\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4702076\"],\"csd_name_en\":[\"Fillmore No. 96\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Fillmore No. 96\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.8171089853239,49.78540830689131],[-107.20116700468442,49.78565531100227],[-107.22346534880222,49.78613298872522],[-107.2239441953603,49.66914960841703],[-107.22245457511247,49.61034681129684],[-107.22383351273794,49.524055020992314],[-107.21757329795935,49.52370242652296],[-106.81721421113028,49.5237327953826],[-106.8171089853239,49.78540830689131]],[[-107.01057315710722,49.6719712249268],[-106.99793594123999,49.67246218510389],[-106.9979032896701,49.66681193314817],[-107.01057315710722,49.6719712249268]],[[-107.14549462188467,49.683508156636194],[-107.14630614616979,49.68988916333489],[-107.13341568785444,49.68916223640708],[-107.1334125300469,49.68346435661899],[-107.14549462188467,49.683508156636194]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.0202513263161,\"lat\":49.65464862275206},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4703\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4703048\"],\"csd_name_en\":[\"Pinto Creek No. 75\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Pinto Creek No. 75\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.9728165275811,50.25234996187093],[-101.96126998453707,50.26717770664769],[-101.98431978811264,50.26657870957864],[-101.9728165275811,50.25234996187093]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.97280210007693,\"lat\":50.262035459365755},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705009\"],\"csd_name_en\":[\"Wapella\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Wapella\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.25532323891883,50.422364676073556],[-103.25576969528247,50.43364183056897],[-103.28882218885636,50.43373046077602],[-103.28924282006761,50.41094217999797],[-103.2549025137759,50.41199898308746],[-103.25532323891883,50.422364676073556]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.27232733529243,\"lat\":50.422504929543514},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705024\"],\"csd_name_en\":[\"Wolseley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Wolseley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.96275804403699,50.790243091373135],[-104.96294104229736,50.798063883375676],[-105.00813315629108,50.79944261079178],[-105.00874689443786,50.79024369307706],[-104.98588358364108,50.79023719555731],[-104.98587377884583,50.77556089433573],[-104.96286921351768,50.77553788572249],[-104.96275804403699,50.790243091373135]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.9807089906482,\"lat\":50.789091689781806},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706058\"],\"csd_name_en\":[\"Regina Beach\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Regina Beach\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.40750652864588,50.79283843135926],[-105.40768560441906,50.78271366672176],[-105.39534738786249,50.78115604556841],[-105.3953411652647,50.79355534323017],[-105.40750652864588,50.79283843135926]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.40126468546205,\"lat\":50.78754414743957},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706062\"],\"csd_name_en\":[\"Findlater\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Findlater\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.51981386978285,51.09573378581166],[-104.51925159325621,51.182961006590254],[-104.65892200915356,51.1830289000835],[-104.65886490338232,51.138791672594024],[-104.79837633474743,51.13876668023699],[-104.79837241491991,51.095713399855995],[-104.79843081049368,50.921088095355515],[-104.91663774760632,50.92110458783378],[-104.91666084505167,50.812202768745564],[-104.90446426600207,50.81227893493458],[-104.9043150126624,50.801252575880156],[-104.91660593288982,50.80109407117235],[-104.91736638057056,50.798681663949445],[-104.9103127042283,50.789954936086005],[-104.89629388873409,50.782465277494374],[-104.9022230751872,50.78188574981807],[-104.9165183359876,50.78775577878981],[-104.9167828148084,50.78283878402841],[-104.91683716190624,50.78182908121714],[-104.88853605166807,50.766700518610854],[-104.88038834468773,50.75190682960521],[-104.86805275036885,50.743552589085844],[-104.85934729031148,50.72805271194503],[-104.84290182952388,50.719424623508736],[-104.8446434052963,50.70806502728205],[-104.83219245386657,50.70203266343469],[-104.80849133253531,50.70264745774263],[-104.81410842904742,50.710260325596344],[-104.78913231868732,50.71027419959323],[-104.7909788872414,50.70731609714017],[-104.80116254023706,50.70659123385883],[-104.77643419602502,50.70460317775955],[-104.75803403632656,50.71044447512224],[-104.74616072351343,50.72235310024386],[-104.72586917209662,50.72403755698451],[-104.70351064827787,50.73282910928594],[-104.676023475754,50.76626545368508],[-104.64334827195889,50.78837474716503],[-104.59346878554823,50.80436795311731],[-104.57844479136895,50.80435835445462],[-104.56137909515267,50.81604704692866],[-104.52960439091113,50.81141234580488],[-104.50086069526117,50.818952560847855],[-104.50096346310319,50.921103964577306],[-104.51935130584249,50.92111810485198],[-104.51981386978285,51.09573378581166]],[[-104.71752492309017,50.93449518045675],[-104.7172394406992,50.94279167856707],[-104.70533373113624,50.94263907676061],[-104.70530997494346,50.928330313146894],[-104.71752492309017,50.93449518045675]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.69165990338406,\"lat\":50.93854482113134},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706070\"],\"csd_name_en\":[\"Longlaketon No. 219\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Longlaketon No. 219\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.7244865038007,50.53891198902627],[-103.74750044748079,50.54452791182366],[-103.74750079161639,50.52783890069909],[-103.72447420038503,50.527858686298465],[-103.7244865038007,50.53891198902627]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.73677014710938,\"lat\":50.53487838119964},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706830\"],\"csd_name_en\":[\"Carry the Kettle 76-19\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Carry the Kettle 76-19\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.00464560340473,50.878574522787254],[-106.00432960332104,51.09608791199938],[-106.42308969225793,51.096128800637246],[-106.42341398786171,50.92836841328558],[-106.42009970735442,50.921403105385515],[-106.42014399746795,50.83401509859714],[-106.00423813135887,50.83411341311427],[-106.00464560340473,50.878574522787254]],[[-106.29405599391983,50.8700408858819],[-106.29449575376374,50.87763789384017],[-106.28162501467915,50.877599092746],[-106.28166886214967,50.87004025658518],[-106.29405599391983,50.8700408858819]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.21328004445338,\"lat\":50.96538999325854},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707076\"],\"csd_name_en\":[\"Huron No. 223\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Huron No. 223\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.76313192049199,50.74094863331585],[-108.76365722356293,50.73249213027948],[-108.75041509602505,50.73248794396346],[-108.75168974671591,50.73946802720496],[-108.76313192049199,50.74094863331585]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.75743053658263,\"lat\":50.73626410074064},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4708\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4708048\"],\"csd_name_en\":[\"Abbey\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Abbey\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.35371805977782,50.99378773033601],[-109.40759145672732,50.98253776873625],[-109.42701502949448,50.97361321105149],[-109.48384758117915,50.95925760210426],[-109.51118190636738,50.97051672623384],[-109.55628616741386,50.966652036628766],[-109.59388047459596,50.97031610092951],[-109.6144890124444,50.98216457716729],[-109.62128292922571,50.97073288763504],[-109.64258826822986,50.97608882543187],[-109.67247950949698,50.97308592556023],[-109.69440986369992,50.979308085887475],[-109.69385705245696,50.96389343971027],[-109.70114635095526,50.94664137781254],[-109.72339277789294,50.934308379434555],[-109.74737579312983,50.94293415186568],[-109.77188489670893,50.940009697639766],[-109.77203620262463,50.92154873757977],[-109.74404530545796,50.92161489501295],[-109.74415186064795,50.75000710502515],[-109.74450588543618,50.57209120354481],[-109.717183897515,50.572076956745065],[-109.32868698812621,50.572307010706695],[-109.32872878923969,50.761221602795054],[-109.32875138779774,50.92158530701647],[-109.35291122020084,50.9215869954676],[-109.35305270326221,50.994010783138485],[-109.35371805977782,50.99378773033601]],[[-109.66855477767285,50.76829445276148],[-109.6700865926677,50.776015631024784],[-109.65780940846055,50.77600499147653],[-109.66211795203905,50.76953255677687],[-109.66855477767285,50.76829445276148]],[[-109.41841028715133,50.85642586082522],[-109.39794948231693,50.85595040401654],[-109.39799977237234,50.8486699811009],[-109.41841028715133,50.85642586082522]],[[-109.53788738854813,50.87967715285477],[-109.55965897352866,50.88464928804754],[-109.55963990748474,50.89235870762099],[-109.53724720903584,50.892503479035554],[-109.53788738854813,50.87967715285477]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.53638241630613,\"lat\":50.77009316673794},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4708\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4708056\"],\"csd_name_en\":[\"Happyland No. 231\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Happyland No. 231\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.93028603780465,51.35781429059131],[-103.92971898081127,51.36484421207098],[-103.94007630209468,51.364696465791035],[-103.94098312166693,51.35786073304448],[-103.93028603780465,51.35781429059131]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.93524342230788,\"lat\":51.36128425546174},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710849\"],\"csd_name_en\":[\"Muskowekwan 85-8\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Muskowekwan 85-8\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.95993008273602,51.3580464915746],[-105.23994835376003,51.35803851029355],[-105.25254488538407,51.33924700922653],[-105.2653947310132,51.29338862237262],[-105.26688288728212,51.249056864273726],[-105.27979576946873,51.20121213839132],[-105.28055933331385,51.173347009172566],[-105.27476368422415,51.12852319828565],[-105.26377702073202,51.09618984272268],[-105.26366333562,51.096162726412146],[-105.23987130771815,51.09571310207136],[-104.79837241491991,51.095713399855995],[-104.79837633474743,51.13876668023699],[-104.79838231484457,51.27054929190211],[-104.81955458920136,51.270565791415244],[-104.81936918263224,51.35802200149817],[-104.95993008273602,51.3580464915746]],[[-104.98436931667604,51.16118818769768],[-104.9844289999711,51.15394049542223],[-104.99612554084888,51.15213997282657],[-104.99400935935616,51.16110621004901],[-104.98436931667604,51.16118818769768]],[[-104.99604059746082,51.30722151007294],[-105.00680119174329,51.31440601153996],[-104.98339898738891,51.314423003172614],[-104.98337291577373,51.30719348443675],[-104.99604059746082,51.30722151007294]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.0370785296618,\"lat\":51.22431602393836},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711003\"],\"csd_name_en\":[\"Last Mountain Valley No. 250\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Last Mountain Valley No. 250\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.42561888170425,51.795937161647295],[-106.43437508065406,51.79198382417503],[-106.45412975118843,51.78716337499459],[-106.45330947457673,51.7842126397754],[-106.4340893972418,51.790504746553516],[-106.42561888170425,51.795937161647295]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.44327395446959,\"lat\":51.78876620724913},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711060\"],\"csd_name_en\":[\"Thode\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Resort village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Thode\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.78306019912712,51.485002569270314],[-109.79178787272961,51.47487408391463],[-109.7776458636731,51.474655868365765],[-109.78306019912712,51.485002569270314]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.7841646451766,\"lat\":51.478177507183574},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713014\"],\"csd_name_en\":[\"Marengo\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Marengo\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.83173027587063,51.79424799170647],[-108.82610209799994,51.80901205116848],[-108.85163230227445,51.80893722408504],[-108.85167238770065,51.794256801658584],[-108.83173027587063,51.79424799170647]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.84021664698737,\"lat\":51.80191428252909},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713029\"],\"csd_name_en\":[\"Dodsland\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Dodsland\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.41396539083524,51.88168470435482],[-108.41424350569008,51.968990893017484],[-108.43095478219091,51.968985702311684],[-108.43251040632616,52.05630680951297],[-108.4311750957347,52.14357290613512],[-108.62163168611234,52.14354980071632],[-108.64545309524746,52.14084470169024],[-108.69304591634328,52.1435752033501],[-108.81285858834953,52.142548396486035],[-108.81984788865222,52.12745499542602],[-108.81798601285847,52.10650112911757],[-108.83171853093488,52.064938368361844],[-108.82548526790008,52.039098456799074],[-108.78210132690887,52.00225842148556],[-108.79516553552148,51.98575687099045],[-108.78825914292365,51.97461811702529],[-108.7675391480266,51.962696146105124],[-108.76834349700175,51.881622807786066],[-108.55481064993842,51.881324922011196],[-108.41396539083524,51.88168470435482]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.61240945461188,\"lat\":52.0153937928482},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713032\"],\"csd_name_en\":[\"Grandview No. 349\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Grandview No. 349\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.53552878802199,52.17309832068558],[-103.53596479777185,52.15855596415577],[-103.51571731831172,52.155951274768704],[-103.51571003314126,52.17529285696832],[-103.53552878802199,52.17309832068558]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.52525827744071,\"lat\":52.16568513357591},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714022\"],\"csd_name_en\":[\"Kelvington\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Kelvington\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.74673309362854,52.633046592666425],[-105.72257401505021,52.63842869503585],[-105.72257680707342,52.65294779101068],[-105.74670971961132,52.65428117339439],[-105.74673309362854,52.633046592666425]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.73540407512975,\"lat\":52.64461133336929},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715042\"],\"csd_name_en\":[\"Wakaw\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Wakaw\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.8095450717633,52.895815345025824],[-104.79756639558991,52.89597218725387],[-104.79754888101156,52.90337282447265],[-104.81277494225806,52.90323632170419],[-104.8095450717633,52.895815345025824]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.80439910659894,\"lat\":52.8997459710832},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715052\"],\"csd_name_en\":[\"Beatty\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Beatty\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.0126376111055,52.609296310294006],[-107.15533390137156,52.6094694922956],[-107.15535148376797,52.58035399854111],[-107.44342398183714,52.5804767894258],[-107.44370293085879,52.37215600797782],[-107.43145730331628,52.36024387369123],[-107.41076800262415,52.35131378185018],[-107.38931337536657,52.348976684578126],[-107.34304728485293,52.354919437140765],[-107.29943175939547,52.35158481256308],[-107.23566323323804,52.34916127568176],[-107.19400789512284,52.35298833105525],[-107.17112633455622,52.35911180776892],[-107.15368732932515,52.36891416478392],[-107.14012175732391,52.383329908940105],[-107.11466330188564,52.39006059811407],[-107.08393281627741,52.38364996203618],[-107.06423034931714,52.37125013264045],[-107.02858155164999,52.37307606151571],[-107.00749784829307,52.38207562490897],[-106.97877010477677,52.405992981013284],[-106.9516831644397,52.43383384943528],[-106.93134467172379,52.463472680490675],[-106.92477057322375,52.48503703781592],[-106.88294566930557,52.56683778039182],[-106.88127063276036,52.580297100648174],[-107.01165968944986,52.5804283985177],[-107.0126376111055,52.609296310294006]],[[-107.24561766873533,52.405773848008586],[-107.23302820305202,52.40868848364755],[-107.2298311135637,52.400326104568165],[-107.24443741190034,52.401948841105636],[-107.24561766873533,52.405773848008586]],[[-107.40472168661002,52.46585425256318],[-107.3955175599401,52.47149384892631],[-107.38281834042002,52.45688926027187],[-107.40703758941306,52.456229389094496],[-107.40472168661002,52.46585425256318]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.18921906161542,\"lat\":52.4802276344341},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716008\"],\"csd_name_en\":[\"Great Bend No. 405\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Great Bend No. 405\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-106.60909071933636,52.96281985322526],[-106.64411292187965,52.96550691966379],[-106.6444620349575,52.95854752637618],[-106.60909071933636,52.96281985322526]]],[[[-106.64571218213212,52.90034494015999],[-106.59625071539327,52.90022450272775],[-106.5848864550733,52.89355723561057],[-106.58510354413859,52.907252445163806],[-106.6454692105266,52.90798764735633],[-106.64571218213212,52.90034494015999]]],[[[-106.47705150096337,52.9731279976297],[-106.46365200333794,52.95887112346747],[-106.43904581068118,52.959317769885416],[-106.44022712016317,52.97347970213953],[-106.45110522005248,52.97991793101985],[-106.47705150096337,52.9731279976297]]],[[[-106.5848864550733,52.89355723561057],[-106.58465192403051,52.882046955069335],[-106.57348397093341,52.87190668853158],[-106.54490422386702,52.873255933774814],[-106.5455148832175,52.88623670676281],[-106.5238670745155,52.90067368935607],[-106.56097203704833,52.90033151831613],[-106.5848864550733,52.89355723561057]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.54952137984564,\"lat\":52.914697595172534},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716840\"],\"csd_name_en\":[\"Beardy's and Okemasis 96 & 97C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Beardy's and Okemasis 96 & 97C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.02625937287583,53.4664222951043],[-107.03178942531352,53.4706496744285],[-107.06719298348006,53.4707998446042],[-107.06667899334045,53.45608305602989],[-107.03618182848014,53.456452216298494],[-107.02625937287583,53.4664222951043]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.0487686099611,\"lat\":53.463754681271226},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716859\"],\"csd_name_en\":[\"Big River 118A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Big River 118A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.62778852735123,54.35069089870421],[-108.62291314335816,54.3509887270179],[-108.62212942951862,54.355422829384295],[-108.62984779673312,54.355655736515295],[-108.62778852735123,54.35069089870421]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.6257539512892,\"lat\":54.3533614481652},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717055\"],\"csd_name_en\":[\"Dorintosh\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Dorintosh\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.10420543997901,54.03510461163442],[-109.09169685531252,54.034995643593604],[-109.09151910640294,54.04968062980895],[-109.10421993997808,54.05063957025763],[-109.10420543997901,54.03510461163442]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.0979687367998,\"lat\":54.042627251437715},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717815\"],\"csd_name_en\":[\"Makwa Lake 129C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Makwa Lake 129C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.54204317402247,55.89664852754676],[-108.54282150911884,55.91144553030989],[-108.55269912864819,55.92398832098518],[-108.58800717040067,55.91976220724774],[-108.59907697808607,55.905619848022646],[-108.6489232902625,55.86922886612837],[-108.65954199349714,55.84042637070088],[-108.63967665972406,55.828545655963524],[-108.62007588111702,55.83651745931245],[-108.61877836014934,55.844820453166804],[-108.5880325848477,55.854997968057326],[-108.57426125962117,55.86936805529846],[-108.57541708975222,55.880162854925715],[-108.54494517832727,55.87539515401864],[-108.48428495819977,55.83847937411037],[-108.46537668331595,55.833721369043076],[-108.44733498031457,55.81889284832751],[-108.44584922960487,55.80971419762078],[-108.41485917997812,55.80915305893052],[-108.42309265547725,55.830984568644084],[-108.4088297652095,55.84226225788025],[-108.42490608220892,55.85155495941825],[-108.45555995957513,55.84596066597841],[-108.47733576730079,55.854934349004424],[-108.47205536842067,55.866728773600265],[-108.48488436282933,55.89743006658511],[-108.54204317402247,55.89664852754676]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.54430434178063,\"lat\":55.869057638590704},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718070\"],\"csd_name_en\":[\"Buffalo Narrows\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Northern village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Buffalo Narrows\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.29885253314504,55.08117151445065],[-105.32562523021461,55.081302808133316],[-105.33139456670293,55.07503199972307],[-105.32872543350283,55.05984566446072],[-105.28645681896552,55.05986437054253],[-105.29885253314504,55.08117151445065]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.31100705829927,\"lat\":55.069897255827684},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718809\"],\"csd_name_en\":[\"Lac La Ronge 156\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Lac La Ronge 156\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.41983277956967,55.04292254123236],[-105.4332437844151,55.05025286155203],[-105.4479649405735,55.041436646670306],[-105.42776508448706,55.037018159572796],[-105.41983277956967,55.04292254123236]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.4329397753026,\"lat\":55.043081336982475},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718844\"],\"csd_name_en\":[\"Little Hills 158\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Little Hills 158\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-112.90371185239304,49.6189720536277],[-112.90714723042497,49.62559002973538],[-112.91458156672878,49.625954822091586],[-112.91472859207653,49.6237983323656],[-112.90906777604948,49.61093354371568],[-112.89123062449475,49.618289078569674],[-112.90371185239304,49.6189720536277]]],[[[-112.93125963695226,49.65457933060728],[-112.9497539990754,49.66462476679394],[-112.96019879383712,49.659088248208484],[-112.93235692472133,49.64345414042974],[-112.93125963695226,49.65457933060728]]],[[[-113.27190061683531,49.52865793921709],[-113.2956884091537,49.52280235055092],[-113.30978020743623,49.5091696466031],[-113.34098689647908,49.493036748645835],[-113.35408243326818,49.48073319923088],[-113.37267098926915,49.475622954489815],[-113.39058057263348,49.46100779944352],[-113.39829526200893,49.44549085965773],[-113.44043711793091,49.43949759851492],[-113.46202821919533,49.445145413439285],[-113.48765996302077,49.429066263547206],[-113.51635131091999,49.418353817262116],[-113.53892495781977,49.42580884813842],[-113.53921831741242,49.414318098536484],[-113.57700541999183,49.4086551704433],[-113.59588739840589,49.40359670597017],[-113.61102431267116,49.409039701907275],[-113.62245356253297,49.404107048396284],[-113.6301755654052,49.385667091261844],[-113.6549952139056,49.37908389420848],[-113.65664102949601,49.34816735956208],[-113.66798454419418,49.33215410614635],[-113.66844522046941,49.2990765537325],[-113.68169981793648,49.27969725684529],[-113.67092781220859,49.26515615483376],[-113.70323961748286,49.25502617806534],[-113.73275174278258,49.2505117622384],[-113.7608733187536,49.2366010486439],[-113.75932672696722,49.207601311544856],[-113.76905395017269,49.20548590831724],[-113.77284549882245,49.18006126035354],[-113.7798482934555,49.17691126792047],[-113.79325231157057,49.148942897876005],[-113.82293598972556,49.13382174816763],[-113.83455826417745,49.131943102837546],[-113.8085778896116,49.13197312900156],[-113.80746752951296,49.08902902071372],[-113.78804020740763,49.08855279719197],[-113.78834618870606,49.07335088959963],[-113.73324688821717,49.07284900825619],[-113.69068910715887,49.072571569605486],[-113.6534384159992,49.07248320306753],[-113.65334154701661,48.997772722296055],[-113.34119228793257,48.99815889200947],[-112.94324747648159,48.998463208201784],[-112.74736569779753,48.99859643886202],[-112.41075318715718,48.99865423023817],[-112.40848223291917,49.173538204862446],[-112.69540589270133,49.1739516239873],[-112.69620605635677,49.33402894806217],[-112.75235611941748,49.33381130960502],[-112.75182819991605,49.43586399215281],[-112.76310800145085,49.44929962536252],[-112.76318009585178,49.523237693542235],[-112.78008101742272,49.523213398106805],[-112.77964019581067,49.55231308800365],[-112.80457480588856,49.55222355033659],[-112.80685989749776,49.56095075139744],[-112.83265050014425,49.56570868466825],[-112.83220058511678,49.55046705969851],[-112.85607686750103,49.540014011922736],[-112.87785878624798,49.535253884735184],[-112.87491064919189,49.525717915769576],[-112.90596110847555,49.51962269213356],[-112.9368826957623,49.51794375922315],[-112.95798458227269,49.494120765054596],[-112.99857121850526,49.47952714699294],[-113.00437462568429,49.459767337223354],[-113.01837757548785,49.44841597520844],[-113.02149420039694,49.419366566409884],[-113.01083944177738,49.39411612098248],[-113.01426877958654,49.380989317687714],[-113.02695085387421,49.36376573929431],[-113.07107724889248,49.371073960166456],[-113.08401246224004,49.36055522408138],[-113.11267921974118,49.37150652745069],[-113.13540328390194,49.36512285180296],[-113.14600660097548,49.35680576430795],[-113.18839192072095,49.347051448851204],[-113.20732221218296,49.32858476009269],[-113.22778509609547,49.32584705047161],[-113.23136260620947,49.31572546519833],[-113.26540392097534,49.299453553623856],[-113.25518479439717,49.294969147475804],[-113.2734708057543,49.28134715735042],[-113.26587890156863,49.27203035813998],[-113.27918969260038,49.26390066112038],[-113.26645041132839,49.25232396488654],[-113.26900386785006,49.235965696356764],[-113.26139472215394,49.214212856035495],[-113.23182484639815,49.20304651557245],[-113.28635944971721,49.202895730427585],[-113.28515482209062,49.180949893027076],[-113.33102640527322,49.18147350648461],[-113.33089314199395,49.19500597069182],[-113.34011809118451,49.20236489167652],[-113.49913617402555,49.20376677662223],[-113.63308293029694,49.20381141094775],[-113.62522999563001,49.22719994469338],[-113.60251560624181,49.24247196196364],[-113.58381781167648,49.245220746296184],[-113.5889307562052,49.25726876654633],[-113.56135836631782,49.26530191275224],[-113.54956673801541,49.280372051119066],[-113.5481644220174,49.29384734935926],[-113.57024484740771,49.3139582059042],[-113.56782056757127,49.3343352513472],[-113.55397771685966,49.34263636631419],[-113.50011756396769,49.35203466219164],[-113.46858494941807,49.351532500382554],[-113.45245767396192,49.36800335509679],[-113.42116241146417,49.38059584317052],[-113.42336649272642,49.387773118545816],[-113.40107234164451,49.39757565990287],[-113.39385065190707,49.407264996538096],[-113.34599389897511,49.426321558266125],[-113.33064853408287,49.42702070856104],[-113.33390428872038,49.45304735074663],[-113.31202904400975,49.46382969733723],[-113.31277467720183,49.472877910289434],[-113.29199810996165,49.48738215280094],[-113.2757180893199,49.50766066050402],[-113.27190061683531,49.52865793921709]],[[-113.61207049974999,49.298588391458594],[-113.61598671087889,49.290679894987136],[-113.6311895940371,49.29079520080307],[-113.62941679941719,49.29863407770588],[-113.61207049974999,49.298588391458594]],[[-113.52624665420737,49.36502255081303],[-113.50781998829804,49.370784701955905],[-113.50775949993388,49.361761190985185],[-113.52624665420737,49.36502255081303]],[[-112.87497977741351,49.40168594514439],[-112.88579920580823,49.42122308793192],[-112.85262500910991,49.4328157074343],[-112.85246509894708,49.40674501014345],[-112.87497977741351,49.40168594514439]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.09160250312297,\"lat\":49.19174166950312},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4803\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4803001\"],\"csd_name_en\":[\"Cardston County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Cardston County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.25526881211093,50.67734041068763],[-114.29008563916301,50.68175106443477],[-114.29040498788834,50.65934259371725],[-114.25588659449862,50.65936000635048],[-114.25534207016032,50.67398630071514],[-114.25526881211093,50.67734041068763]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.27353118702857,\"lat\":50.669508260457725},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4806\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4806009\"],\"csd_name_en\":[\"Turner Valley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Turner Valley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.4405329747438,52.75685273517631],[-113.4635278319222,52.75592645145235],[-113.48626392079527,52.76212591450308],[-113.4869064948928,52.71923721383051],[-113.46370007511062,52.71241884204444],[-113.3905600841231,52.71183193132042],[-113.38978895285459,52.74283629498655],[-113.42659466152965,52.753442263421015],[-113.4405329747438,52.75685273517631]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.44070002499532,\"lat\":52.73362724885918},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4808\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4808813\"],\"csd_name_en\":[\"Montana 139\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Montana 139\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.97953758330375,52.57789590644805],[-112.95558658217186,52.57980779599446],[-112.95555831245156,52.59442410780398],[-112.98218352634028,52.594268403193155],[-112.97953758330375,52.57789590644805]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.96848020632432,\"lat\":52.58671724251808},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4810\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4810002\"],\"csd_name_en\":[\"Bashaw\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Bashaw\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.78985414580279,53.77055539256883],[-112.78943793985864,53.745300255541935],[-112.76567783000378,53.74530160344625],[-112.75268550820464,53.737605267418765],[-112.75270460637988,53.77425399249402],[-112.78985414580279,53.77055539256883]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.77010146138322,\"lat\":53.758132057385815},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4810\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4810064\"],\"csd_name_en\":[\"Lamont\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Lamont\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.3636131062868,53.061910860187815],[-114.44054872894031,53.061128688312486],[-114.61098206707216,53.06184563818892],[-114.86086092152442,53.06153459803624],[-115.02373478771091,53.06231259786076],[-115.02500981502867,53.01831329723246],[-115.0163611705265,53.018347974010055],[-115.01591113707293,52.84354966851175],[-114.9652556573112,52.844066247898056],[-114.7266182873163,52.84373509737404],[-114.5824590563752,52.843915811040425],[-114.53340732302384,52.84376660481595],[-114.53369291398548,52.8873682668882],[-114.19483080690631,52.887128486869436],[-114.1470270167364,52.88788061351798],[-114.14659090615623,52.87260580197043],[-114.09856972000499,52.87247265335149],[-114.09858878657785,52.86524778834997],[-114.0627120461573,52.86524037295226],[-114.05079000201248,52.857812436875555],[-114.05016500214121,52.843430398882845],[-113.6320223084728,52.843384392198615],[-113.63074917797111,52.87218587928927],[-113.63136792658096,52.91617798819048],[-113.59754659186262,52.90659990607032],[-113.55775738370205,52.907283905737835],[-113.54092389846818,52.90326628623334],[-113.4975654237993,52.901627067028336],[-113.49820403337193,52.93074170814259],[-113.41433538492356,52.930742994548226],[-113.4144628101514,52.843448300373225],[-113.36609238543932,52.84341560721275],[-113.29356280341054,52.84341889531121],[-113.29332188927637,52.832778950725434],[-113.30668828053854,52.824796152600335],[-113.29682571892229,52.80280776491353],[-113.3082842922282,52.78585496683451],[-113.27941711021123,52.76840006051951],[-113.24930227040115,52.75967562269014],[-113.22942052709169,52.75557265686937],[-113.08849081292314,52.755801164999184],[-113.05179981424332,52.756052986887994],[-113.05178840863366,52.84340349474539],[-113.12431496471301,52.843420464003195],[-113.12449095970103,52.97417783997561],[-113.10013925653001,52.97409401403148],[-113.09764385618293,53.03301727324485],[-113.07282595418012,53.033316112909574],[-113.07426222344688,53.07609157071428],[-113.09790250118994,53.076307482397745],[-113.09854891378579,53.11972260944477],[-113.17169680948892,53.11975688542912],[-113.56142629571303,53.11953192577398],[-113.56178004499537,53.103302725744825],[-113.5859430887363,53.10502499421047],[-113.82484125440715,53.10509596096972],[-113.84947178706786,53.11508795591328],[-113.90721791188037,53.112104053320124],[-113.93356427609669,53.121341154453276],[-113.94338231122975,53.133980238624275],[-114.00184941342926,53.1341901964331],[-114.00184178742032,53.105107696015],[-114.03880092513995,53.105076106427255],[-114.03843443087464,53.0543995638962],[-114.03826347073095,53.04821937330079],[-114.0520089919276,53.04688123453122],[-114.14837655556086,53.046958239230165],[-114.14837160498874,53.05419927434648],[-114.19680117923848,53.05411851643948],[-114.19681134157275,53.061533004937736],[-114.3636131062868,53.061910860187815]],[[-113.98922509020932,53.02702775655495],[-113.99224558187804,53.040222261509015],[-113.99594527996008,53.046930655172574],[-113.98685090441477,53.04685557154908],[-113.98680091307128,53.033495530436255],[-113.98922509020932,53.02702775655495]],[[-114.08632640703807,52.99638989295396],[-114.09842042558547,52.9953937758613],[-114.09851811607132,53.00170669441873],[-114.08620771163889,52.99713615342243],[-114.06050068971508,52.9950109744057],[-114.04982742366971,52.98541947776504],[-114.02247994803207,52.97066000727819],[-114.01413060706233,52.967459947911415],[-114.0250587357109,52.967399633248],[-114.02423695883544,52.97018097618316],[-114.05020848667347,52.983944898345364],[-114.06296195651363,52.99463261205021],[-114.08632640703807,52.99638989295396]],[[-113.47591748161373,53.105077596954764],[-113.43962531022196,53.09785769526976],[-113.47610069155964,53.076100184342195],[-113.48984308303555,53.07607309174317],[-113.49979494007772,53.09059324772731],[-113.47591748161373,53.105077596954764]],[[-113.36597381065812,52.99619740167616],[-113.34178808460535,52.99671569924593],[-113.33051395520405,52.98932225356472],[-113.33014530467796,52.97447841446917],[-113.34189268773643,52.967013111809834],[-113.3599712942918,52.96700178959926],[-113.3660273431273,52.95273779822449],[-113.39004118820868,52.95258869388785],[-113.42637609484404,52.9598769910814],[-113.42514400460631,52.974413251775815],[-113.4142505015586,52.98182589993309],[-113.37570891315637,52.98155798781536],[-113.36597381065812,52.99619740167616]],[[-113.97611099778645,52.96738238565094],[-113.95580561145269,52.982228148548735],[-113.96279750034664,53.00216386586269],[-113.97723057584534,53.0178488497364],[-113.92167978831739,53.01783070424343],[-113.92193256223703,52.95959484097034],[-114.00000921550667,52.95970782492825],[-113.97611099778645,52.96738238565094]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.97785398025742,\"lat\":52.966783342356564},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811001\"],\"csd_name_en\":[\"Wetaskiwin County No. 10\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Wetaskiwin County No. 10\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.02247994803207,52.97066000727819],[-114.04982742366971,52.98541947776504],[-114.05020848667347,52.983944898345364],[-114.02423695883544,52.97018097618316],[-114.02247994803207,52.97066000727819]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.03705522851753,\"lat\":52.97775521018759},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811006\"],\"csd_name_en\":[\"Crystal Springs\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Crystal Springs\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-110.86373634421757,54.2336689323008],[-110.86907477221665,54.22696025451035],[-110.87651665906434,54.22459142402868],[-110.86598691977082,54.22414432939098],[-110.86779149376738,54.226970008588],[-110.86373634421757,54.2336689323008]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-110.8694907135675,\"lat\":54.22614230408163},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4812\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4812011\"],\"csd_name_en\":[\"Bonnyville Beach\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Bonnyville Beach\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.21389962263704,53.87918710403358],[-114.22490810053772,53.884793443682284],[-114.22515107790575,53.88047289816781],[-114.21389962263704,53.87918710403358]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.22131960036018,\"lat\":53.88148448196124},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4813\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4813003\"],\"csd_name_en\":[\"Nakamun Park\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Nakamun Park\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.68962041851127,53.62302960413252],[-114.67721278836903,53.62838151384001],[-114.65278100438404,53.62840670143761],[-114.66189140891007,53.63571405266488],[-114.67224449337056,53.63545365708809],[-114.69000512017543,53.62511396594179],[-114.68962041851127,53.62302960413252]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.67033413796824,\"lat\":53.63064230060191},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4813\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4813010\"],\"csd_name_en\":[\"Silver Sands\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Silver Sands\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.02942216810514,53.79596667199542],[-114.02956556157858,53.81739273468166],[-114.03608239371795,53.803906651178586],[-114.0584149085507,53.80292418709337],[-114.05299915711963,53.79740073500017],[-114.02954386663164,53.79598717525466],[-114.02942216810514,53.79596667199542]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.03981050598706,\"lat\":53.801867657005616},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4813\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4813016\"],\"csd_name_en\":[\"Sandy Beach\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Sandy Beach\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.41498957789187,54.136842640668675],[-114.42684260508231,54.12984015186915],[-114.42685630299331,54.115830185441396],[-114.41434348914254,54.107523188486304],[-114.387771285985,54.107656786763336],[-114.3889634186804,54.14479750610892],[-114.41499350043138,54.14499754338114],[-114.41498957789187,54.136842640668675]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.40547535383962,\"lat\":54.125388590949235},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4813\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4813019\"],\"csd_name_en\":[\"Barrhead\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Barrhead\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-115.8719860234219,54.253122906500096],[-115.8781275240467,54.225650266925605],[-115.85382240583067,54.22515239956027],[-115.85513407899893,54.197857495633706],[-115.80259229885802,54.189636197186076],[-115.78294455486642,54.194288152241235],[-115.76593600009758,54.219389709228466],[-115.77591298394987,54.221299077249384],[-115.77405276094905,54.23849643165884],[-115.80245526907954,54.254547077459144],[-115.82672074164597,54.25220600873565],[-115.8719860234219,54.253122906500096]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-115.82054593829885,\"lat\":54.22407543814571},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4813\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4813830\"],\"csd_name_en\":[\"Alexis Whitecourt 232\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Alexis Whitecourt 232\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.99999998600734,58.0813389571425],[-113.99999396870987,58.249986556592866],[-113.9999849524047,58.49996664122429],[-113.99999988715942,58.664427064186405],[-114.00208102979428,58.6983893061576],[-114.00001051324193,58.76528765336216],[-114.00003394478192,58.98325203104326],[-114.00005197598928,59.14954315367598],[-114.00008786639863,59.47468703827031],[-114.38716469006403,59.47555953999466],[-114.67319396693414,59.474875704296316],[-115.04396490901554,59.473686364561175],[-115.1943835526424,59.47495536569588],[-115.33715941906793,59.474022141391295],[-115.555662820896,59.47595586319974],[-115.5529512809315,59.64802338981229],[-115.56920611965107,59.64890141333514],[-115.56790460599417,59.850114503094986],[-115.5671601971962,60.0000483360638],[-115.99999997738097,59.99999999708551],[-116.49999997075,59.99999999761422],[-116.97862267293219,60.00001923281293],[-117.24999999939624,60.00000000317932],[-117.50000001807425,59.9999999917645],[-117.99999999643993,59.99999998819771],[-118.24999998882966,59.99999999014884],[-118.7500000192798,59.99999999470984],[-118.99999999930351,59.99999999931111],[-119.49999998618715,59.99999999185284],[-119.9999999832295,59.999999999344084],[-120.00000000959177,59.74999998486676],[-120.00000001546529,59.49999999751764],[-119.99999998963858,59.25000001011167],[-119.99999998817674,58.93549217206004],[-120.00000001910739,58.75000000562448],[-119.99999508326803,58.48232990638716],[-119.99999057622078,58.25000000193901],[-120.00000003642833,58.0794695009417],[-119.56423830397127,58.0794321371457],[-119.04801900373188,58.07955399343354],[-118.72469325421244,58.07991997095992],[-118.26696109784929,58.07895535613134],[-117.9494794472775,58.08096505700695],[-117.74087629956465,58.08074046951863],[-117.30178932691133,58.079015999208856],[-116.94190270589583,58.07973586307936],[-116.95050319536827,58.06846156651289],[-116.97525920782167,58.054051373322174],[-117.02673918234726,58.05143156322823],[-117.03864078479143,58.04409129017641],[-117.05883957754989,58.04516777498693],[-117.09231879502823,58.03492586910515],[-117.10950439699226,58.0094170760078],[-117.10865331237216,57.99159606198608],[-117.13521759858429,57.97342235898262],[-117.13415141346961,57.959383781164696],[-117.14449258182934,57.935199678334214],[-117.1248956202577,57.91431587823618],[-117.07758428581363,57.8871136810719],[-117.05577590798849,57.870850167199016],[-117.0204671912592,57.85234847742508],[-117.01281957253562,57.83764936990888],[-117.03419077819288,57.82448227964684],[-117.07988939405956,57.82292548742949],[-117.11333628364986,57.81261456457281],[-117.11905110851964,57.79606547894174],[-117.1144078349689,57.796682214140986],[-117.09796938211078,57.786284157214595],[-117.05835397934634,57.785933674258516],[-117.01799447584014,57.77963177329782],[-116.99308830800031,57.76731226011435],[-116.99031911498358,57.75114197523483],[-117.0047347006628,57.73785496101969],[-117.02896590461722,57.734687874963676],[-117.06044410019321,57.74533567351078],[-117.09323280692035,57.74925377446494],[-117.11408809144784,57.74238498006476],[-117.12011882567676,57.72497117944106],[-117.05549799242469,57.70234206835291],[-117.04147478901274,57.68952168627351],[-117.04438660331282,57.6759809780435],[-117.07363688746169,57.6569559740953],[-117.0936719785874,57.63481307791929],[-117.09564768430731,57.624356563498594],[-117.081457805274,57.60880825791433],[-117.02725491795539,57.59156917645976],[-117.00504617820935,57.598139669972],[-116.95145018705009,57.591918777179906],[-116.92243838720337,57.57663747670166],[-116.91389547929644,57.563030979932044],[-116.92430567720352,57.54143716461624],[-116.95017158635046,57.53184377784547],[-116.9794063912491,57.52974678091539],[-117.02535971062447,57.53204867955001],[-117.11021132022591,57.519859671243964],[-117.12216818364696,57.50399048739069],[-117.11389398154564,57.497588578148395],[-117.06269949380565,57.491163172928275],[-117.03004151993365,57.47526787852034],[-117.02639251609746,57.44143587537661],[-117.03783889988746,57.42972886400028],[-117.07273188251237,57.415031477989416],[-117.10162340851916,57.38190180034696],[-116.8664086274183,57.38176259790395],[-116.50000001504641,57.38302768754057],[-116.07988598196164,57.38307535203103],[-115.50783920059592,57.380730538498824],[-115.39070888927438,57.38093888848223],[-115.30970623330771,57.379806046495844],[-114.9751412467389,57.38059839604919],[-114.554507898967,57.38135344104781],[-114.30384398449162,57.3811269912223],[-114.00000001043465,57.3813033955197],[-114.00000000937023,57.6179325205698],[-113.99999999948102,57.89588815290827],[-113.99999998600734,58.0813389571425]],[[-115.9922231584955,58.377865919636],[-116.00322249024991,58.3778647127472],[-116.00331902876901,58.386157295243294],[-115.9930236931649,58.38701068356769],[-115.9922231584955,58.377865919636]],[[-115.75890683082596,58.45679393370874],[-115.71750262159983,58.45669709302383],[-115.71723465969784,58.42704124782865],[-115.75973603436881,58.428900485716326],[-115.75890683082596,58.45679393370874]],[[-119.36949166889544,58.51392858917671],[-119.36703613806402,58.49143228054724],[-119.38432630913204,58.48590639425034],[-119.42273143782143,58.4848702484828],[-119.4232900597388,58.49957148927984],[-119.4384003754868,58.51309480717983],[-119.36949166889544,58.51392858917671]],[[-117.7069262725308,59.0427989732924],[-117.71762985957265,59.030480990095306],[-117.75665416608157,59.03106580293945],[-117.75780668923879,59.052415738842505],[-117.78622575249474,59.052159703682634],[-117.7850489234416,59.0816079407877],[-117.7437498955357,59.08170255098811],[-117.73225854598012,59.05243117058784],[-117.70718131186909,59.052433285798934],[-117.7069262725308,59.0427989732924]],[[-116.56824468148501,58.51243260818721],[-116.56824701478006,58.48568580287977],[-116.54037976869635,58.48568995798413],[-116.54065731943682,58.42958616051551],[-116.59487972602707,58.42951076935619],[-116.59651038495234,58.482804890753016],[-116.62139166662668,58.48683046351313],[-116.62168686700126,58.50136473023595],[-116.59334657025465,58.50064405945983],[-116.59303054489929,58.51476769433916],[-116.56824468148501,58.51243260818721]],[[-115.44961993519331,57.93530219316732],[-115.40727483514769,57.93228183793206],[-115.3553965830867,57.932686668736636],[-115.3530627028735,57.91596372557788],[-115.32805129586934,57.90920996315504],[-115.34947119188108,57.89437586090302],[-115.36940970687637,57.88836306418787],[-115.36109530765852,57.87184597528878],[-115.39632870471887,57.88413934222037],[-115.48110147262722,57.8895625462065],[-115.48115416541083,57.923534781970424],[-115.44887221823427,57.922621944308204],[-115.44961993519331,57.93530219316732]],[[-116.23345491212557,58.4857933982608],[-116.17762691489042,58.48578909392133],[-116.17690675713206,58.428017456504925],[-116.34378352541849,58.428865080885465],[-116.34332888649841,58.45372129586434],[-116.27096737334519,58.45444417235995],[-116.27157528621576,58.464079964010196],[-116.23426349921908,58.46388957735782],[-116.23345491212557,58.4857933982608]],[[-115.6103380095492,58.03849359722545],[-115.63582419167376,58.05639780523827],[-115.63806794676032,58.09847125680765],[-115.65830726978226,58.09787332315994],[-115.65864560875711,58.11243103886138],[-115.62930245757238,58.10472314685207],[-115.55047574921879,58.1063517120178],[-115.54528485402561,58.02408777675864],[-115.53134729195135,58.0242791850227],[-115.53109827620446,58.00002839803642],[-115.58260092595428,58.000049494064164],[-115.6103380095492,58.03849359722545]],[[-114.56602906326901,58.48863787393933],[-114.53051648185152,58.50302878098878],[-114.48474950296247,58.52931997949311],[-114.45733739787102,58.53378326474275],[-114.45488640941954,58.398074585952024],[-114.61131059348281,58.398427948020434],[-114.6159970046803,58.42994561479705],[-114.5820431919077,58.448797163730596],[-114.57358187126351,58.48160768145663],[-114.56602906326901,58.48863787393933]],[[-118.73888558149469,58.80693918241209],[-118.72312241132177,58.81189001000685],[-118.65639929399053,58.80986507772302],[-118.65275234861848,58.68991993576109],[-118.80137602507978,58.68909298792397],[-118.80050641594312,58.79599447056601],[-118.7697250269365,58.79612247637315],[-118.76549439395436,58.811161959242455],[-118.73888558149469,58.80693918241209]],[[-115.17295478879556,58.55002311311122],[-115.17333110228346,58.572837190606585],[-115.00940835323667,58.57012212770765],[-115.01023068815785,58.48688933305689],[-115.08442015969246,58.48739160781047],[-115.08409289517245,58.385623038821116],[-115.11477828640518,58.3847874986711],[-115.11933356634738,58.427041145682516],[-115.17015532548739,58.427748531028364],[-115.1711121538681,58.441383952548605],[-115.20076186613419,58.44063295023903],[-115.19961531464524,58.48575453012337],[-115.1708071865639,58.48525791057033],[-115.17295478879556,58.55002311311122]],[[-117.1010409154454,58.497461472596775],[-117.12106788856492,58.497392988125966],[-117.1391160333354,58.48978810281296],[-117.13936254936381,58.479125223692485],[-117.18208650284856,58.479307305475885],[-117.18134258521245,58.538122382264405],[-117.08839114275746,58.53779894516787],[-117.08859325121216,58.5435448501915],[-116.9718818603478,58.54391659052745],[-116.97243032012888,58.51479280501127],[-117.01494779087608,58.51477011417926],[-117.01459216385518,58.486486326836506],[-116.96047910400043,58.486808639733],[-116.96130478429424,58.47149540859719],[-116.84713278398125,58.47165607693073],[-116.8458997018185,58.43019591132727],[-116.96187793982352,58.430004480881244],[-117.01475929989927,58.42745729725624],[-117.07526959957872,58.42750791440125],[-117.07368410684629,58.46973229759054],[-117.10144429602501,58.470011087657504],[-117.1010409154454,58.497461472596775]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-116.90210303229435,\"lat\":58.78017590151615},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817095\"],\"csd_name_en\":[\"Mackenzie County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Specialized municipality\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Mackenzie County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-116.07195736702691,56.520986154884774],[-116.12624693450688,56.520469078610745],[-116.13260802760625,56.49232607014878],[-116.10599070820113,56.49258968145472],[-116.11274089701946,56.47793512796061],[-116.07853984255277,56.464142780348325],[-116.07865431261955,56.455647690955864],[-116.01654715195423,56.45523227062463],[-115.989123165883,56.4572563397687],[-115.98870902524497,56.48505946559567],[-116.05069080345321,56.48713307230691],[-116.07448160657286,56.49603176836464],[-116.10384508345675,56.501048877629906],[-116.08949737480066,56.51121336643466],[-116.05440879617109,56.50380217420492],[-116.04869116457245,56.52114251256023],[-116.07195736702691,56.520986154884774]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-116.0622928444123,\"lat\":56.48453232903907},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817857\"],\"csd_name_en\":[\"Woodland Cree 228\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Woodland Cree 228\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-116.81439330395968,54.42159369815223],[-116.83749693259436,54.42149558400017],[-116.83907309375392,54.40862122109992],[-116.8238077072745,54.39870140184502],[-116.75481289711739,54.37459814827522],[-116.75579407672133,54.38699750028943],[-116.77784906955884,54.39059545383907],[-116.77917420935431,54.41445972749642],[-116.78750904683989,54.42149425351486],[-116.81439330395968,54.42159369815223]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-116.79982661318564,\"lat\":54.40366410315324},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4818\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4818002\"],\"csd_name_en\":[\"Fox Creek\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Fox Creek\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-118.83050371168451,55.773886587145576],[-118.82775385251166,55.78763664413411],[-118.85366649438888,55.78777381674178],[-118.85365719634464,55.77411421032412],[-118.83050371168451,55.773886587145576]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-118.8413659819039,\"lat\":55.780980620483376},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4819\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4819058\"],\"csd_name_en\":[\"Spirit River\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Spirit River\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-115.35530270351057,49.953229769414314],[-115.36148914587953,50.00973808724753],[-115.38607973553216,50.017941234544914],[-115.38660882969127,50.02641258217865],[-115.40641662104242,50.04085378292299],[-115.42024391809692,50.06212478435867],[-115.40884287676974,50.06945369079154],[-115.43684391063667,50.08093648182938],[-115.4394578502794,50.09308017159809],[-115.46183252047348,50.1099846864888],[-115.47563642725011,50.103330592013364],[-115.50842421948066,50.096742278578326],[-115.5373440179512,50.10574378316393],[-115.5516085728288,50.115766685457196],[-115.5304736607842,50.14949468277635],[-115.54409494677344,50.171428735216395],[-115.55993977854554,50.1795303026484],[-115.58008808586506,50.18000634479762],[-115.59673654025377,50.172976076494024],[-115.61598998315026,50.18656494516894],[-115.61814389344218,50.20652470089441],[-115.64741048631383,50.21739632665914],[-115.66018581716256,50.213404624306264],[-115.66819588905551,50.19691258301119],[-115.65883529245215,50.178211240880486],[-115.65759161363106,50.15660227837489],[-115.68611297255883,50.15818698218832],[-115.70626961756483,50.125565025392525],[-115.71145354759487,50.111291909342825],[-115.70973267452223,50.073359275543815],[-115.70032343282905,50.04885834656063],[-115.70729750375409,50.030754426120474],[-115.70219017126163,50.001366304809636],[-115.8461379357668,49.999147455465724],[-115.8762310230252,50.03296454294024],[-115.86285301964408,50.04183524634041],[-115.8532160286858,50.05875074069859],[-115.85577975271563,50.073738665067594],[-115.89886293143736,50.09010837408324],[-115.92266706590335,50.087121453087626],[-115.92890610527395,50.05562689176276],[-115.94610029433345,50.044340427810766],[-115.96081986042772,50.0472381986469],[-115.97842377972147,50.03673777092165],[-115.97509447369316,50.01721949963818],[-115.99811218637493,50.022387841258094],[-116.0230690542469,50.00705463990582],[-116.04113241423339,50.00877401860869],[-116.08074000586097,50.02823512865416],[-116.10572980696561,50.02632167806273],[-116.11299038493392,50.02029618450079],[-116.13688038658849,50.02159420608874],[-116.15777162986666,50.00465643249938],[-116.20847690532904,50.00674865395824],[-116.24012228784828,49.99989614463602],[-116.24359333726036,49.96918692451733],[-116.26983027109644,49.95715622812657],[-116.2756132833005,49.943194027735906],[-116.28813262083935,49.942228315654866],[-116.30243740261783,49.925557923698804],[-116.32176222083126,49.92335165619277],[-116.33435128528801,49.931261735404085],[-116.35565886318355,49.93486188347828],[-116.39853856262499,49.936610427128606],[-116.44311443784704,49.9792870222145],[-116.45125529978144,49.965612138143385],[-116.47188007906274,49.96623778311026],[-116.51013997437266,49.98499480977802],[-116.54621910197625,49.96206826631526],[-116.58389815177969,49.94883950177589],[-116.58480896741794,49.92968239280463],[-116.59979592706551,49.92529458578565],[-116.62076043762539,49.90997354658659],[-116.62254248973069,49.89726072352067],[-116.64563442305617,49.88259355752413],[-116.67673842700371,49.8822902527315],[-116.69325430100396,49.87005989100147],[-116.68475235068586,49.860668545242454],[-116.69095595338416,49.842764545224775],[-116.6838798384613,49.824596888191266],[-116.68504049161197,49.81180840305185],[-116.65845952816798,49.781662072569176],[-116.6394619032986,49.78513904314498],[-116.62437521625162,49.776909223425605],[-116.6238433623894,49.76389465994387],[-116.61113736425149,49.745251888531044],[-116.59092207198077,49.72489085373929],[-116.60763270762547,49.71577833512258],[-116.59057617494958,49.699372406393636],[-116.59457383530382,49.69474753553799],[-116.62879972273849,49.683873008179084],[-116.65732762046035,49.66781464576136],[-116.67539107302468,49.6482948629045],[-116.677570625241,49.63334729876893],[-116.64829416925247,49.630752940213554],[-116.6453614072274,49.61976189726844],[-116.66401313854269,49.60733228680389],[-116.68921230925486,49.572742862304835],[-116.64464539244011,49.55872301067763],[-116.62516823619849,49.53884149748263],[-116.64453358709635,49.50291209798223],[-116.66735240062278,49.47221586665233],[-116.63233993491754,49.45867949993227],[-116.61779018353954,49.472106200247836],[-116.59515049171993,49.477017605047216],[-116.5795779336231,49.455198838148064],[-116.54393810532264,49.46511129608134],[-116.5094867161027,49.47889242312846],[-116.49175346174324,49.48965097205486],[-116.46391818638445,49.49703315091826],[-116.45074294296234,49.52690043394243],[-116.42351199082972,49.53366079989407],[-116.39535804763264,49.51963855901857],[-116.36239332330555,49.513090415362555],[-116.34950642455985,49.52375975732574],[-116.31244729124815,49.52459907200855],[-116.2891020500988,49.50855369931729],[-116.281758161144,49.48918390904211],[-116.28485128474536,49.47239782926558],[-116.25779271615525,49.46799207600558],[-116.24527205388023,49.45797540828872],[-116.25988097902152,49.44796675361811],[-116.2373993454383,49.42814322401087],[-116.23571527426083,49.41696113287384],[-116.21050892323741,49.41345508420873],[-116.18227080289664,49.42664721487602],[-116.16467836082838,49.452699107514725],[-116.1637238316914,49.479390179798614],[-116.13372703773507,49.490795821321186],[-116.12805502521466,49.50411207463256],[-116.09492381433978,49.53761663617556],[-116.0904308406064,49.55360413701567],[-116.07150543761875,49.590064621641496],[-115.95081587618667,49.59139312088851],[-115.9060027514747,49.59396966583986],[-115.88009752036844,49.60317100003423],[-115.87807350439007,49.648649959933884],[-115.86265097833278,49.651113462228565],[-115.86191744734953,49.67657495680631],[-115.81354974562171,49.67648660602818],[-115.70025483027518,49.67608001519532],[-115.68320616615351,49.66172767765786],[-115.66923466528296,49.66160789413683],[-115.66789912435151,49.68315861781393],[-115.58525677633037,49.683894467805366],[-115.60270235265273,49.71959646127782],[-115.58842173602721,49.74202272166426],[-115.6012500917922,49.754210628819635],[-115.59443535558236,49.76359293960838],[-115.57950626708755,49.76466842288168],[-115.57053173875644,49.78615803563316],[-115.55492450321526,49.79805621392003],[-115.55348795389273,49.81472160329772],[-115.52097243306146,49.81390019399702],[-115.47136730038352,49.84023318133411],[-115.44279174420495,49.8187276544216],[-115.41616087036073,49.830418286992405],[-115.36258183777433,49.8406430308298],[-115.3423496982945,49.84992922634384],[-115.35632294942772,49.86412598010604],[-115.35736313809383,49.88495469538742],[-115.34319061626749,49.90984343705861],[-115.34465023747883,49.92696325653837],[-115.35530270351057,49.953229769414314]],[[-115.99459357174032,49.728794423326626],[-115.98129646330717,49.72080666841255],[-115.99258233540674,49.708036892615944],[-115.96829858839531,49.68569212447807],[-115.95438922940795,49.68550735174868],[-115.92849344782124,49.66642301261578],[-115.91513648091798,49.66652927718232],[-115.91196396849018,49.641161758204994],[-115.94044146344328,49.63766258352309],[-115.92939740743253,49.62305981730542],[-115.94740431558058,49.622573706985634],[-115.96073229265744,49.63042538999791],[-116.010845298942,49.632185177507814],[-116.02782233409025,49.63921638345381],[-116.02869807637506,49.675714566146695],[-116.05766815319983,49.684788982244164],[-116.05146124900465,49.70078630176518],[-116.03006947620544,49.69697851024444],[-116.00979850357322,49.70588085166043],[-116.01656671600972,49.72036842214258],[-115.99459357174032,49.728794423326626]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-116.05623940407946,\"lat\":49.805805323669055},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5901\"],\"cd_name_en\":[\"East Kootenay\"],\"csd_code\":[\"5901037\"],\"csd_name_en\":[\"East Kootenay E\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"East Kootenay\",\"csd_name_fr\":\"East Kootenay E\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-116.69325430100396,49.87005989100147],[-116.88530688223713,49.869327196176755],[-116.88098027687887,49.810071323260914],[-116.88621910509711,49.71617375537307],[-116.89093827622351,49.69053127025523],[-116.89767348828406,49.6611938699063],[-116.90820942944767,49.63721105140775],[-116.90174335909971,49.62687250585887],[-116.86597608461726,49.613610107612715],[-116.83637739666736,49.58795440279195],[-116.813385991178,49.54421759112933],[-116.81221064293655,49.51109057686877],[-116.80563814049847,49.47495746414408],[-116.83545392237642,49.473854221927226],[-117.06866817331789,49.47276283353118],[-117.0794922912176,49.47374933218322],[-117.1008805549307,49.46434994564179],[-117.11769366359881,49.448239189311344],[-117.11966147647651,49.43779470371825],[-117.12066808240841,49.431446972624485],[-117.10035923848638,49.4181846395305],[-117.10587670048874,49.38697290655956],[-117.06347452467261,49.382530412543474],[-117.05399684249672,49.36451554122612],[-117.07157575242282,49.321597701656515],[-117.06285695352784,49.306901124266425],[-117.0712308314772,49.2882581503551],[-117.04678899458322,49.28668018814744],[-117.00975730188878,49.254143236013846],[-117.0113480259456,49.24682028320746],[-117.03092418850943,49.23915318545272],[-117.02984690384932,49.230137312914],[-117.04734945904582,49.20233327062729],[-117.04468556050342,49.17834612809311],[-117.02939082688455,49.16398943219453],[-117.03882676381255,49.156073794696105],[-116.99045594790968,49.16277953656894],[-116.95893541101856,49.1600339736091],[-116.93762626039474,49.18602095229384],[-116.90046618532934,49.19025079869104],[-116.87117813026515,49.20462928576366],[-116.8385249674453,49.17904829837829],[-116.8282587742419,49.17683268848176],[-116.80714164377885,49.18715589354057],[-116.77133827005467,49.194148871349775],[-116.7534176802383,49.204312284415565],[-116.72988181051373,49.20580634668798],[-116.694607523927,49.21385281365378],[-116.67914158599791,49.222539103974746],[-116.68880459745469,49.23595349323484],[-116.68461481142668,49.24938670485211],[-116.68804910558987,49.27749180101012],[-116.66436088427133,49.2843353925405],[-116.64913940100173,49.26107089550637],[-116.63287181127866,49.25395579265373],[-116.61824718732389,49.23972059353587],[-116.5820094823867,49.19601929735957],[-116.58139398434461,49.19021959292895],[-116.55899518378183,49.17549819060246],[-116.5407625792812,49.168777206134806],[-116.51738657344146,49.168391192489956],[-116.49154874991099,49.16284699391711],[-116.45153463961458,49.166336483102654],[-116.44068071085499,49.198689147945956],[-116.4445169296925,49.207855350276226],[-116.44277430239399,49.24555565195719],[-116.4575436139584,49.25320936903878],[-116.49226210649564,49.257917751718445],[-116.50730802984543,49.277637353804465],[-116.49526114838717,49.306755013944745],[-116.4997464877151,49.313465483104196],[-116.54956613118048,49.30018432998741],[-116.55992714861583,49.305227351493464],[-116.57011169720737,49.32431057238859],[-116.59085955599507,49.338773008115],[-116.58501298880712,49.360527092587546],[-116.53054033303664,49.39541534506937],[-116.52955039917452,49.41254076923482],[-116.54285395843678,49.45086738193104],[-116.54393810532264,49.46511129608134],[-116.5795779336231,49.455198838148064],[-116.59515049171993,49.477017605047216],[-116.61779018353954,49.472106200247836],[-116.63233993491754,49.45867949993227],[-116.66735240062278,49.47221586665233],[-116.64453358709635,49.50291209798223],[-116.62516823619849,49.53884149748263],[-116.64464539244011,49.55872301067763],[-116.68921230925486,49.572742862304835],[-116.66401313854269,49.60733228680389],[-116.6453614072274,49.61976189726844],[-116.64829416925247,49.630752940213554],[-116.677570625241,49.63334729876893],[-116.67539107302468,49.6482948629045],[-116.65732762046035,49.66781464576136],[-116.62879972273849,49.683873008179084],[-116.59457383530382,49.69474753553799],[-116.59057617494958,49.699372406393636],[-116.60763270762547,49.71577833512258],[-116.59092207198077,49.72489085373929],[-116.61113736425149,49.745251888531044],[-116.6238433623894,49.76389465994387],[-116.62437521625162,49.776909223425605],[-116.6394619032986,49.78513904314498],[-116.65845952816798,49.781662072569176],[-116.68504049161197,49.81180840305185],[-116.6838798384613,49.824596888191266],[-116.69095595338416,49.842764545224775],[-116.68475235068586,49.860668545242454],[-116.69325430100396,49.87005989100147]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-116.7834343366796,\"lat\":49.456606508960824},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5903\"],\"cd_name_en\":[\"Central Kootenay\"],\"csd_code\":[\"5903010\"],\"csd_name_en\":[\"Central Kootenay A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Central Kootenay\",\"csd_name_fr\":\"Central Kootenay A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-118.45168445155049,49.05194203544861],[-118.4471710229323,49.037527145289026],[-118.47503869111688,49.03655239508973],[-118.47480124603021,49.01943216815132],[-118.44426244521085,49.0147491241194],[-118.4195054744819,49.029274841470276],[-118.42898101498767,49.03741971113588],[-118.42961220958865,49.05145776684225],[-118.45168445155049,49.05194203544861]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-118.44781821524683,\"lat\":49.03155109591632},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5905\"],\"cd_name_en\":[\"Kootenay Boundary\"],\"csd_code\":[\"5905032\"],\"csd_name_en\":[\"Grand Forks\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kootenay Boundary\",\"csd_name_fr\":\"Grand Forks\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.53718898596965,49.204577361497044],[-119.56650139903726,49.178796012592606],[-119.55674478982569,49.17088011889954],[-119.53703632089224,49.175944872537556],[-119.53718898596965,49.204577361497044]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.54818586351104,\"lat\":49.18423904151154},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5907\"],\"cd_name_en\":[\"Okanagan-Similkameen\"],\"csd_code\":[\"5907014\"],\"csd_name_en\":[\"Oliver\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Okanagan-Similkameen\",\"csd_name_fr\":\"Oliver\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.53044456368448,49.504103986030735],[-119.54136080136993,49.51925393003134],[-119.54751536056965,49.555604585861836],[-119.5825462979982,49.55526846213748],[-119.57406384812394,49.53029829060472],[-119.58545679669797,49.50952085742919],[-119.61038017247704,49.50544709629961],[-119.61366602324797,49.501305169972014],[-119.61704502719533,49.494715361034864],[-119.59805343984758,49.478796959802324],[-119.6081610878264,49.4546189010638],[-119.59744797511824,49.45242855273945],[-119.5866830359582,49.450754638756905],[-119.57789778514238,49.42363073514136],[-119.56797510079102,49.423796192986636],[-119.56843610362027,49.44724797372671],[-119.56002989146566,49.46082563959777],[-119.54926017706276,49.46079405527387],[-119.54840471997088,49.48273561364346],[-119.53690044614441,49.489115383405355],[-119.53044456368448,49.504103986030735]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.57078400998894,\"lat\":49.49463122166148},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5907\"],\"cd_name_en\":[\"Okanagan-Similkameen\"],\"csd_code\":[\"5907041\"],\"csd_name_en\":[\"Penticton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Okanagan-Similkameen\",\"csd_name_fr\":\"Penticton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.41506835954581,49.51540412808387],[-121.42175688814885,49.52959508533148],[-121.42512434357559,49.51650037723046],[-121.41506835954581,49.51540412808387]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.42064986375675,\"lat\":49.5204998635486},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909876\"],\"csd_name_en\":[\"Albert Flat 5\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Albert Flat 5\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.6800258057965,49.083880304260035],[-122.6471366385538,49.08200731328108],[-122.63750798659983,49.0895142533731],[-122.63773391508609,49.10826744279182],[-122.64715955080626,49.1149263587993],[-122.67968071649724,49.11393040405331],[-122.6800258057965,49.083880304260035]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.65931027495516,\"lat\":49.09864167908586},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5915\"],\"cd_name_en\":[\"Greater Vancouver\"],\"csd_code\":[\"5915002\"],\"csd_name_en\":[\"Langley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Greater Vancouver\",\"csd_name_fr\":\"Langley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.87840431340298,49.381880185972236],[-122.86933767464983,49.413808529661075],[-122.89934986381435,49.41454595607358],[-122.94884919848003,49.40939379108511],[-123.12380625642449,49.40619926833434],[-123.12360923427735,49.37962640554554],[-123.1184869448666,49.37673311912044],[-123.11784758682418,49.33214178985124],[-123.12436529199597,49.32491870497123],[-123.12879337924558,49.310116225829226],[-123.10247183809373,49.297782379962534],[-123.10204454465945,49.33103598202146],[-123.09137344943113,49.33572950183753],[-123.05302900253311,49.335569506167474],[-123.054801711635,49.313470711005515],[-123.03815007534283,49.313266802662206],[-123.0387348477209,49.29545425120079],[-123.02309527485424,49.29443491288091],[-123.00181388132175,49.29395612728334],[-122.98618901256779,49.29896028821151],[-122.95938827060047,49.29434201636163],[-122.9456651350786,49.29716873626146],[-122.93901926626808,49.310799955125965],[-122.93742916330343,49.314192862517025],[-122.92844355991147,49.333003891873865],[-122.89440438882329,49.3560432145028],[-122.87840431340298,49.381880185972236]],[[-123.0294564773834,49.30700171950072],[-123.0236467498337,49.308782157324835],[-123.02441711283721,49.312526674553894],[-123.0198211050654,49.312325892408445],[-123.02113477534978,49.30679587409611],[-123.0294564773834,49.30700171950072]],[[-122.99126420747416,49.308750639733326],[-122.99119620326414,49.31286931593245],[-122.96893925296257,49.31258298064393],[-122.97800365013661,49.306877158787316],[-122.99126420747416,49.308750639733326]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.00329722946191,\"lat\":49.361162836136685},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5915\"],\"cd_name_en\":[\"Greater Vancouver\"],\"csd_code\":[\"5915046\"],\"csd_name_en\":[\"North Vancouver\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Greater Vancouver\",\"csd_name_fr\":\"North Vancouver\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.32667491486781,48.41124637800071],[-123.32235531477309,48.433541951661674],[-123.3324752817029,48.448143817304],[-123.34809267795754,48.45047751942535],[-123.39193939027643,48.44259012014102],[-123.39421423061935,48.41434845890026],[-123.34916435133229,48.40604545878516],[-123.32667491486781,48.41124637800071]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.35764732657577,\"lat\":48.4282092852418},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5917\"],\"cd_name_en\":[\"Capital\"],\"csd_code\":[\"5917034\"],\"csd_name_en\":[\"Victoria\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Capital\",\"csd_name_fr\":\"Victoria\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.64559248170444,48.42435512747537],[-123.6456909448844,48.42825248321747],[-123.70671731967732,48.42810529904497],[-123.73333870623634,48.449831446901925],[-123.74618139101601,48.47401685001813],[-123.74160828086606,48.44253244532063],[-123.72872636447423,48.44188885385135],[-123.71811914240914,48.42861393266031],[-123.71744406775989,48.41300407754429],[-123.727995307901,48.40271067307053],[-123.76357453069805,48.39284177298446],[-123.75491497473548,48.38070024800541],[-123.78484716981842,48.37381605617318],[-123.75484679372732,48.36340408518526],[-123.74120583534645,48.36624961711818],[-123.73997880906606,48.362781076036306],[-123.75364514089625,48.35919602531823],[-123.74167675004244,48.35152758096437],[-123.70522654629704,48.341580559062976],[-123.70772099449054,48.359767294538045],[-123.72570449906868,48.366413962709444],[-123.70504862940075,48.376760464000306],[-123.65095205750657,48.37602998166463],[-123.63883857731565,48.38625126917452],[-123.62784110770205,48.37237358561108],[-123.62629587673177,48.35861442462246],[-123.60307392319721,48.359478847314186],[-123.60198638519643,48.36090415301579],[-123.6098238127704,48.37082239228125],[-123.59682977711695,48.3872501702347],[-123.6446009402808,48.41068271452268],[-123.64559248170444,48.42435512747537]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.69000470515762,\"lat\":48.39255328106031},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5917\"],\"cd_name_en\":[\"Capital\"],\"csd_code\":[\"5917052\"],\"csd_name_en\":[\"Sooke\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Capital\",\"csd_name_fr\":\"Sooke\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.40350029915344,48.59332664106199],[-123.40344455402007,48.58327789805774],[-123.3712535130214,48.582833227279345],[-123.3908890218282,48.5940475413716],[-123.40350029915344,48.59332664106199]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.39137352241103,\"lat\":48.58764518083039},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5917\"],\"cd_name_en\":[\"Capital\"],\"csd_code\":[\"5917803\"],\"csd_name_en\":[\"East Saanich 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Capital\",\"csd_name_fr\":\"East Saanich 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.58416000865597,49.01123089291857],[-123.5876342419296,49.009200957397304],[-123.58503524862185,49.00459076175047],[-123.58242268177834,49.002578089589385],[-123.58416000865597,49.01123089291857]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.58478817849529,\"lat\":49.00729670934969},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5917\"],\"cd_name_en\":[\"Capital\"],\"csd_code\":[\"5917805\"],\"csd_name_en\":[\"Galiano Island 9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Capital\",\"csd_name_fr\":\"Galiano Island 9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.40101956492188,48.567612873268466],[-124.40159906448211,48.58498437002002],[-124.41358724118403,48.57643215866424],[-124.40101956492188,48.567612873268466]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.40540195686266,\"lat\":48.57634313398424},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5917\"],\"cd_name_en\":[\"Capital\"],\"csd_code\":[\"5917815\"],\"csd_name_en\":[\"Gordon River 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Capital\",\"csd_name_fr\":\"Gordon River 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.78804199069072,48.971910983824245],[-123.79899710761697,48.98313200732711],[-123.80205668110446,48.99766564230879],[-123.81915436776221,49.01055955855169],[-123.84543548028624,48.99812841230963],[-123.83588589226328,48.979267229236356],[-123.80002278069179,48.96831606599137],[-123.78332593221295,48.93627997759746],[-123.77290075709351,48.93622972078964],[-123.77109497728536,48.944355877001705],[-123.78804199069072,48.971910983824245]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.80875562012099,\"lat\":48.97890946209025},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5919\"],\"cd_name_en\":[\"Cowichan Valley\"],\"csd_code\":[\"5919021\"],\"csd_name_en\":[\"Ladysmith\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cowichan Valley\",\"csd_name_fr\":\"Ladysmith\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.61239153894364,48.740455464239645],[-123.61575070784357,48.73741284470343],[-123.60905274227565,48.73717578671376],[-123.61239153894364,48.740455464239645]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.61239832968764,\"lat\":48.738348031885614},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5919\"],\"cd_name_en\":[\"Cowichan Valley\"],\"csd_code\":[\"5919808\"],\"csd_name_en\":[\"Kil-pah-las 3\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cowichan Valley\",\"csd_name_fr\":\"Kil-pah-las 3\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.95319028075808,50.39197987197781],[-125.96590154120099,50.378264288839844],[-125.95106303934934,50.357650953870156],[-125.9255012522863,50.35764999989535],[-125.93461776647344,50.37321359252417],[-125.95319028075808,50.39197987197781]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.9470999523349,\"lat\":50.37170200223331},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5924\"],\"cd_name_en\":[\"Strathcona\"],\"csd_code\":[\"5924039\"],\"csd_name_en\":[\"Sayward\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Strathcona\",\"csd_name_fr\":\"Sayward\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.01001700159252,49.653364802333535],[-125.08877811747445,49.65524091916441],[-125.08032890648732,49.646629644391474],[-125.08078669275304,49.62568140607656],[-125.0677610075559,49.6248835132134],[-125.06669747606927,49.60638898274685],[-125.08729116168507,49.60708028309489],[-125.07717869620572,49.60077759826711],[-125.0409516558534,49.600369165067505],[-125.04266194286413,49.61220247071123],[-124.99419098895426,49.61208968490339],[-124.99425212068218,49.62538729047547],[-125.01001700159252,49.653364802333535]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.04097850200243,\"lat\":49.630426496280975},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5926\"],\"cd_name_en\":[\"Comox Valley\"],\"csd_code\":[\"5926014\"],\"csd_name_en\":[\"Cumberland\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Comox Valley\",\"csd_name_fr\":\"Cumberland\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.83205492675306,50.713938256212955],[-123.86428154753351,50.7107696818202],[-123.91924491542565,50.742415069641886],[-123.93036489284972,50.766775508890035],[-123.94817176615742,50.77512822168413],[-123.97426442771152,50.80398205056604],[-124.03235191347963,50.81144322287641],[-124.03858929022753,50.83176096306682],[-124.0692616293967,50.84046601543886],[-124.09189306371987,50.808176263475374],[-124.0976938082084,50.788489944437806],[-124.10926966662613,50.78745897286635],[-124.15309152512519,50.796370922200694],[-124.19060475224276,50.80079804245471],[-124.20486573991755,50.81647322467765],[-124.22625392537518,50.822475068105746],[-124.2456996183653,50.81834504949933],[-124.26211806799704,50.82442268919146],[-124.2523187036056,50.84769557873467],[-124.26108614686325,50.85709159032988],[-124.29467483370209,50.863501888323704],[-124.32349533854233,50.85360290291787],[-124.33130095695606,50.831932117771544],[-124.32747612626811,50.818348464557225],[-124.36186134233391,50.79791220233305],[-124.35212776482182,50.785818080394854],[-124.37760316634846,50.77981476966879],[-124.38216357500993,50.77300833729611],[-124.35208356310562,50.75747866692611],[-124.34835663624881,50.74647294603715],[-124.36815445245024,50.737055020779984],[-124.38702100708406,50.7208520088072],[-124.42878138699372,50.72248235444371],[-124.44045005600073,50.71218813844892],[-124.47848669624248,50.69944759242365],[-124.49788412570767,50.69998468656909],[-124.5220180752808,50.6915170856016],[-124.53630721225318,50.680830220358935],[-124.59133108888828,50.66166644199038],[-124.60334244529322,50.63900061866405],[-124.58911882884075,50.63219459219586],[-124.56871143182597,50.60456916725281],[-124.5839837023427,50.59110747394744],[-124.58127529874228,50.5740761716504],[-124.56142721893124,50.559699621247155],[-124.54943018159506,50.54086550544629],[-124.53083982104894,50.529410024920246],[-124.5155735931072,50.526141133079705],[-124.51335591551444,50.498701560412],[-124.52460978164886,50.49019595232594],[-124.55010799445708,50.483447603571754],[-124.5740662879456,50.46258943358638],[-124.57522816509304,50.41391935228124],[-124.64822499819056,50.41390588941586],[-124.66717398298212,50.406118107337306],[-124.69940326669506,50.36905250034868],[-124.76848182326647,50.321926129159166],[-124.76002249321353,50.31284759809419],[-124.72896283726287,50.31401112814704],[-124.70465850419347,50.31032221664101],[-124.6583290387969,50.292030088993855],[-124.64022190934357,50.27753701268564],[-124.62532025854041,50.24998037430938],[-124.62906521728938,50.21230320515435],[-124.64260844212474,50.19135775695664],[-124.68573368327756,50.16497094233968],[-124.72455368205739,50.154490278481596],[-124.76334219956362,50.1334684769628],[-124.84145570786308,50.09418661800153],[-124.86589947199121,50.085268691988865],[-124.85623276224266,50.0559950334128],[-124.8404488104279,50.021217581560244],[-124.85497804756673,50.00760485527093],[-124.87232028666118,50.0023760172968],[-124.93385987789304,50.01039629292242],[-124.97087167020189,49.99943307958455],[-124.95494302134804,49.96238983302261],[-124.93989181291727,49.9401700876884],[-124.88418210667116,49.873205504901605],[-124.82821487149307,49.80289142309788],[-124.79951431295218,49.76753048169058],[-124.77143797467129,49.77054888341275],[-124.58084582347972,49.831947245830065],[-124.5400225254519,49.77922947713244],[-124.51388006280095,49.765807823925044],[-124.50997771701101,49.79257292765273],[-124.53794132182907,49.801193690404624],[-124.536961014703,49.82064571544729],[-124.54574744815118,49.84866538168257],[-124.56353839683068,49.86409661380753],[-124.60382755210394,49.88602705501017],[-124.59462465859302,49.88957090023266],[-124.61990253019707,49.89610167483872],[-124.63575114520246,49.914453246596],[-124.57733306727114,49.91466495579223],[-124.57685422469592,49.907974280548785],[-124.55238079917036,49.895310695120415],[-124.53327294080133,49.89735910158803],[-124.5267849572023,49.88733315547778],[-124.53439971437734,49.91257410760359],[-124.53321289116386,49.92612141475049],[-124.53925350641023,49.96310310793517],[-124.53863520517523,49.98132531173463],[-124.53109643308055,49.98682453108463],[-124.49798208941114,49.993885720847295],[-124.44310768257458,50.014407103014996],[-124.38111825888068,50.0242283552438],[-124.33678196855983,50.02566325544838],[-124.25113130869754,50.025012224814446],[-124.21258112570301,50.00820531907379],[-124.19876607728166,50.00751654388136],[-124.16578636716197,50.02285703453133],[-124.11365661681008,50.02465511976424],[-124.11009508090947,50.04096094030067],[-124.13178632127709,50.0489871293604],[-124.1507847532323,50.061024014920456],[-124.13777663305653,50.07952926483417],[-124.15364807910615,50.09490772680344],[-124.14621719791181,50.115390471434594],[-124.13675146308819,50.11840281227084],[-124.13689850258085,50.13552882786929],[-124.10731000183814,50.142207930574436],[-124.08482678331218,50.139140729916086],[-124.06938167590963,50.15055123457989],[-124.09061946724093,50.17382036388783],[-124.09214443803835,50.19370513024138],[-124.07325731463038,50.19650021478715],[-124.07749807976883,50.209628999753264],[-124.11919612777444,50.20970908360238],[-124.15425568118938,50.21909803436747],[-124.1726284328328,50.21910760461367],[-124.16541448610988,50.23562703991127],[-124.14423078480257,50.255747536007256],[-124.16901059304769,50.27001570923117],[-124.1657887605143,50.28475093464208],[-124.15482080600594,50.29771651250142],[-124.15953725579566,50.33338629304999],[-124.13670724261418,50.35262051112126],[-124.11462671559745,50.35095674645911],[-124.10291764772171,50.36140954217277],[-124.07580248479155,50.36642339599419],[-124.06396672914192,50.363418394864595],[-124.04116804298975,50.34638465265326],[-124.01501979977837,50.36083249027353],[-123.99997707375915,50.34640351948869],[-123.9790192838689,50.34883949025247],[-123.96249865296876,50.33936374301365],[-123.90996346225221,50.359413613229925],[-123.92395431066598,50.38204858123017],[-123.9230073535398,50.39890152587674],[-123.94419273981354,50.408501836083275],[-123.95146448917107,50.42190663308368],[-123.93948647173511,50.43495207077627],[-123.93649544510953,50.451430237338094],[-123.9625797025945,50.47363337479747],[-123.97643831223483,50.47870218036005],[-123.99640049791385,50.473882588517796],[-124.00331385135402,50.49679292255785],[-123.98281270332917,50.51396229153516],[-123.95617090745905,50.520072852062924],[-123.92512505181315,50.5314607467204],[-123.91297886504117,50.52218207181814],[-123.88639389749109,50.53059455872152],[-123.84211029085134,50.528773291234],[-123.80171431649522,50.54048149878984],[-123.78888162607278,50.530255353001365],[-123.76290882709098,50.52857518801025],[-123.74412405538975,50.53805492522443],[-123.74484313917725,50.571485538941424],[-123.75531038693016,50.59501212654598],[-123.76403291263476,50.60023323171204],[-123.75580910906868,50.615347367267844],[-123.76124948117183,50.633855917079785],[-123.75379807324127,50.65386327034453],[-123.73627985528354,50.676328095744935],[-123.72801124985524,50.69458378966724],[-123.74539923759016,50.71360018400048],[-123.76636414611532,50.72137655168218],[-123.78860684330495,50.7225104182089],[-123.81619292786078,50.71042772522016],[-123.83205492675306,50.713938256212955]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.35272272645555,\"lat\":50.34892220226611},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5927\"],\"cd_name_en\":[\"Powell River\"],\"csd_code\":[\"5927010\"],\"csd_name_en\":[\"qathet A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Powell River\",\"csd_name_fr\":\"qathet A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.91771502872216,50.76473127177678],[-121.93149924707075,50.75530727313615],[-121.91343753850006,50.754956584332106],[-121.91771502872216,50.76473127177678]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.92088393809767,\"lat\":50.75833170974834},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5931\"],\"cd_name_en\":[\"Squamish-Lillooet\"],\"csd_code\":[\"5931818\"],\"csd_name_en\":[\"Fountain 10\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Squamish-Lillooet\",\"csd_name_fr\":\"Fountain 10\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.8464654575338,50.586845569650656],[-121.85716480440333,50.59182081611249],[-121.8579882905819,50.579597624664714],[-121.84648760980383,50.57956784771556],[-121.8464654575338,50.586845569650656]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.8525099802774,\"lat\":50.58452399621046},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5931\"],\"cd_name_en\":[\"Squamish-Lillooet\"],\"csd_code\":[\"5931832\"],\"csd_name_en\":[\"Towinock 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Squamish-Lillooet\",\"csd_name_fr\":\"Towinock 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.27527441784757,50.706312564313755],[-122.28002657811973,50.70637878244096],[-122.28505009494772,50.7028369449282],[-122.27543757941181,50.702888426160435],[-122.27527441784757,50.706312564313755]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.27911173242683,\"lat\":50.70441147557785},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5931\"],\"cd_name_en\":[\"Squamish-Lillooet\"],\"csd_code\":[\"5931833\"],\"csd_name_en\":[\"Mission 5\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Squamish-Lillooet\",\"csd_name_fr\":\"Mission 5\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.6749527220722,50.192253794093375],[-120.6738868283762,50.17204789504148],[-120.66202537604389,50.17461120485778],[-120.661604839196,50.19379033831646],[-120.6749527220722,50.192253794093375]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-120.66818804995508,\"lat\":50.183355657686185},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933811\"],\"csd_name_en\":[\"Zoht 4\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Zoht 4\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.58634466006785,50.26554554857327],[-121.58855814805631,50.276759223802145],[-121.6158150228886,50.27682986303601],[-121.60399201377403,50.26209925711368],[-121.58634466006785,50.26554554857327]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.59945792193938,\"lat\":50.27062086383348},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933833\"],\"csd_name_en\":[\"Inkluckcheen\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Inkluckcheen\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.31245432664745,50.70867157236477],[-121.30156975505801,50.719598799127766],[-121.3246207145598,50.726649741488266],[-121.32804776073483,50.72010630115859],[-121.32329534495013,50.71907989453658],[-121.31245432664745,50.70867157236477]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.31502520678076,\"lat\":50.71857121650006},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933844\"],\"csd_name_en\":[\"Ashcroft 4\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Ashcroft 4\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.72111376978012,50.780820828823906],[-119.71690462000221,50.79513105593832],[-119.72266702587886,50.80588096932372],[-119.69788547698136,50.83710517241651],[-119.75310230081035,50.83746475731673],[-119.75887558660052,50.822392153583664],[-119.72111376978012,50.780820828823906]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.73075961119079,\"lat\":50.81844849797753},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933884\"],\"csd_name_en\":[\"Sahhaltkum 4\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Sahhaltkum 4\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.72111376978012,50.780820828823906],[-119.75887558660052,50.822392153583664],[-119.76066181554167,50.79133267074441],[-119.78027690817468,50.769899761402016],[-119.75882672862039,50.74981985314408],[-119.7632200885262,50.73916140943444],[-119.74403029463265,50.73049690984747],[-119.69588540440384,50.77296539132658],[-119.71642498797507,50.7858380009823],[-119.72111376978012,50.780820828823906]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.74214453860431,\"lat\":50.77065734060487},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933898\"],\"csd_name_en\":[\"Neskonlith\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Neskonlith\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-118.29428161423951,50.86440291034162],[-118.32209443729779,50.85687467323872],[-118.33103027462353,50.848424754494296],[-118.3641429365211,50.83892943059592],[-118.37560092555535,50.83199294622687],[-118.41514701787465,50.8339660969114],[-118.43361093975909,50.82578907043615],[-118.42849898646944,50.8097899637359],[-118.43136884076289,50.79509485844995],[-118.45627717593536,50.77248788466862],[-118.44087878976462,50.753756636884965],[-118.43154037171686,50.752233559922104],[-118.43131613227047,50.728168547473366],[-118.40732543956138,50.72039673456097],[-118.40872318138584,50.71209075689529],[-118.42751278004314,50.69863460398761],[-118.42035548536569,50.68984492434462],[-118.42604836376691,50.67434390225749],[-118.41744844880387,50.66630044281803],[-118.45072427421317,50.63359163428636],[-118.47446363904551,50.628986337398295],[-118.48871626637903,50.608106945352134],[-118.48918167002381,50.59521909814327],[-118.4751653492693,50.584145713281735],[-118.47390619991339,50.57158002536338],[-118.4817532401639,50.55686887732875],[-118.51071617866678,50.54961331860191],[-118.53183486661892,50.537874561029916],[-118.55595565617503,50.53781126673851],[-118.55867977421113,50.527763627750154],[-118.58448773923692,50.514264765485485],[-118.58795239580056,50.497636566745115],[-118.57838095778911,50.48788887375608],[-118.69505950391739,50.48818000506634],[-118.69344515419584,50.450331227999165],[-118.6947817801946,50.41028131854241],[-118.69278798659398,50.26804243674816],[-118.63891613889962,50.26786038774609],[-118.64844170699887,50.25202089281087],[-118.67771273193051,50.24443196569223],[-118.7039048315354,50.24968165165403],[-118.74074592554602,50.26316230305534],[-118.75125036789811,50.25934394246377],[-118.77880951076669,50.26990555673816],[-118.79175664908917,50.27020053058291],[-118.79357556417125,50.24467919877266],[-118.73902090066966,50.24429604260434],[-118.7386228276925,50.23806204979329],[-118.69506268698817,50.237776811205514],[-118.69455263114887,50.22366014231784],[-118.671299948344,50.22369671693025],[-118.66897464487968,50.1390525367658],[-118.67239978439477,50.09385387783355],[-118.671368577423,50.020131701340084],[-118.67234960478972,49.95943052781858],[-118.67187910827923,49.81271018610097],[-118.51021317089777,49.81255700557587],[-118.31219441177743,49.81230454222221],[-118.312086272718,49.82352320655097],[-118.32458719846503,49.83060440832761],[-118.3461274130484,49.82460862876933],[-118.37440871389306,49.82458066663775],[-118.38142825615142,49.83849957281611],[-118.37859547434635,49.85911617477006],[-118.3842353806172,49.87156738091391],[-118.3700092767157,49.8740037959127],[-118.35388731562549,49.89178275812373],[-118.3766903921983,49.909073446041454],[-118.40693510132158,49.90832984064124],[-118.41870262594338,49.913602830563384],[-118.41535953725673,49.936291222274285],[-118.42230391146886,49.94763063961503],[-118.4158898028227,49.97304486669975],[-118.43066951201038,49.979385721762796],[-118.44870153214283,49.97379473622096],[-118.47078098146437,49.984446988509845],[-118.47351338277564,49.99952528095995],[-118.43185882055744,50.00929506441151],[-118.44811088553605,50.022615701905465],[-118.4765156488959,50.026831269472424],[-118.49585480240835,50.03360775006895],[-118.39976004321466,50.033423319855984],[-118.3982961742248,50.078761239011094],[-118.38396293498161,50.077174800275586],[-118.3784290442577,50.089704009929854],[-118.34926152611318,50.09457067365987],[-118.3381718594383,50.10072266560427],[-118.30443311124691,50.09577069046068],[-118.29352351152869,50.097815289410676],[-118.29577763121696,50.11551957894977],[-118.29139485668364,50.131286614007344],[-118.27753161385309,50.14628987350279],[-118.27818683913684,50.156051653386506],[-118.25235225390962,50.16909983303143],[-118.26372091216102,50.18142124416824],[-118.23912308610514,50.196296637692164],[-118.23871615523925,50.21085715461937],[-118.25816890576871,50.226209157856935],[-118.27106218220555,50.251947092343975],[-118.27606247819301,50.27865560871076],[-118.26929241046776,50.29475021238026],[-118.26717815289491,50.3181225273428],[-118.25525122803064,50.325589357587745],[-118.27545786572308,50.33980316057006],[-118.30828464558286,50.33619764174007],[-118.32765012992242,50.34498641467256],[-118.32689403391227,50.351999961747836],[-118.3013746458416,50.37988937808409],[-118.28208467420059,50.392415230310576],[-118.26991590753656,50.41584527798518],[-118.26758563206768,50.436218543711654],[-118.22499585855026,50.434427106656734],[-118.21205016044867,50.43941555570674],[-118.20512269166855,50.46234030915363],[-118.21960098044396,50.46945340338902],[-118.20827000984715,50.47910666556861],[-118.19355105037006,50.474326331859814],[-118.17606924447392,50.49311678020399],[-118.20095640077749,50.51099465984153],[-118.1951673474,50.523613475296884],[-118.21530428510019,50.53806764185943],[-118.19843136497188,50.55218774863069],[-118.17966392685928,50.55358263454597],[-118.16987891450214,50.570526393700725],[-118.17774269827521,50.58030472311401],[-118.1626941566705,50.61146592926147],[-118.17810614290069,50.62337678163972],[-118.18075994822001,50.63523544775666],[-118.19598122657227,50.63420354080822],[-118.20632628464183,50.65538566260879],[-118.17073750937442,50.66545011903318],[-118.17861687861955,50.671725875942855],[-118.21347971391396,50.680009074868636],[-118.2072802831721,50.69028161896898],[-118.20066297232347,50.698946463758986],[-118.20886379854139,50.713368690497916],[-118.205853691659,50.738925062599016],[-118.22694705619926,50.743381110546316],[-118.24189769910171,50.75519283945533],[-118.25227082015242,50.782109524199534],[-118.27601965338616,50.82396666715566],[-118.26836692253683,50.838536067035974],[-118.28630427600383,50.84928336187268],[-118.29428161423951,50.86440291034162]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-118.45301899178853,\"lat\":50.31053263608475},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5937\"],\"cd_name_en\":[\"North Okanagan\"],\"csd_code\":[\"5937023\"],\"csd_name_en\":[\"North Okanagan E\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"North Okanagan\",\"csd_name_fr\":\"North Okanagan E\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-127.69654378808164,55.32209133736092],[-127.6963895345774,55.29360379754897],[-127.67363075209403,55.300446485878155],[-127.66777973455835,55.30820986466718],[-127.68032671087698,55.32443372143494],[-127.69654378808164,55.32209133736092]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-127.68481053880375,\"lat\":55.30958892838087},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5949\"],\"cd_name_en\":[\"Kitimat-Stikine\"],\"csd_code\":[\"5949818\"],\"csd_name_en\":[\"Sik-e-dakh 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kitimat-Stikine\",\"csd_name_fr\":\"Sik-e-dakh 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.77204653291507,54.241228816133564],[-125.77272913359529,54.23570618954407],[-125.7691808213812,54.23163910356303],[-125.77293306977005,54.23053028129362],[-125.74687277612509,54.21268755806942],[-125.72754593272094,54.21131691094435],[-125.72975773563712,54.225677766722704],[-125.74502005975032,54.22917457884295],[-125.76003787478062,54.241702281093026],[-125.76494516377265,54.236200165969215],[-125.77204653291507,54.241228816133564]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.74979281998674,\"lat\":54.225088705266494},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951022\"],\"csd_name_en\":[\"Burns Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Burns Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.25593608836277,52.840055390756085],[-119.28205213496106,52.830364318492215],[-119.28284962214033,52.81875642138399],[-119.25829928893734,52.8227980451323],[-119.25593608836277,52.840055390756085]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.26899154668169,\"lat\":52.82825337359635},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5953\"],\"cd_name_en\":[\"Fraser-Fort George\"],\"csd_code\":[\"5953007\"],\"csd_name_en\":[\"Valemount\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser-Fort George\",\"csd_name_fr\":\"Valemount\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.0119460462669,55.32616360673831],[-123.04218521373339,55.33231149008496],[-123.04202021556057,55.368082257819076],[-123.0918506944276,55.36786589341762],[-123.09332411646986,55.396734953220225],[-123.25786616099494,55.395605963090986],[-123.25739107751785,55.34140319327411],[-123.24176712761611,55.327339255685835],[-123.23701537351228,55.28686481591734],[-123.2312506564467,55.28697990151498],[-123.22635491714459,55.25170755140838],[-123.20178639959039,55.25140886904832],[-123.20176523536234,55.21534534241712],[-123.08420668583508,55.21890380516115],[-123.08207377393727,55.23954320139577],[-123.08580629632623,55.29334767011633],[-123.01147801339758,55.29240011750616],[-123.0119460462669,55.32616360673831]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.14745033289424,\"lat\":55.31412566865802},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5953\"],\"cd_name_en\":[\"Fraser-Fort George\"],\"csd_code\":[\"5953033\"],\"csd_name_en\":[\"Mackenzie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser-Fort George\",\"csd_name_fr\":\"Mackenzie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.9087466101668,58.35701198481678],[-120.90995487617613,58.354178783914826],[-120.90510971779626,58.35428888527497],[-120.90547816229484,58.35772494582236],[-120.9087466101668,58.35701198481678]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-120.90725343421043,\"lat\":58.355701414981525},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5959\"],\"cd_name_en\":[\"Northern Rockies\"],\"csd_code\":[\"5959809\"],\"csd_name_en\":[\"Kahntah 3\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Northern Rockies\",\"csd_name_fr\":\"Kahntah 3\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-79.14192199605553,56.605385606316574],[-79.16300479287196,56.590228601058335],[-79.14277577650876,56.579965800729724],[-79.15378931024485,56.562819399753316],[-79.14329681962309,56.548974197254545],[-79.12330259795245,56.54934590627133],[-79.12229770617041,56.56714118779447],[-79.14192199605553,56.605385606316574]]],[[[-79.20495278424383,56.6846644084621],[-79.24227018457613,56.68572330270394],[-79.27928548137014,56.66647650315221],[-79.28284191868259,56.64996089621442],[-79.27166819156638,56.63361520328849],[-79.2208716900222,56.65138719333458],[-79.1844430105751,56.641529708807795],[-79.16614571801061,56.62584791249178],[-79.1707214000062,56.61730320812134],[-79.13472638365927,56.612888607474304],[-79.14222272042485,56.633443297614456],[-79.15693329629498,56.65401258701684],[-79.18104479533365,56.67518209178512],[-79.20495278424383,56.6846644084621]]],[[[-79.24344161345792,56.621306700416305],[-79.25273340524556,56.63006000986378],[-79.27949011569329,56.6187840940749],[-79.27193958539648,56.59950239636622],[-79.28372978343283,56.57443399417468],[-79.28630180415819,56.54408631036005],[-79.29791756465444,56.49726491094102],[-79.1183182192176,56.48604128171127],[-79.12244608541884,56.53127009472548],[-79.1350323850609,56.53686280387607],[-79.15421920149353,56.521684707498025],[-79.1864971016648,56.54970410673005],[-79.22273042047821,56.54643963424027],[-79.26302560857246,56.5543709080513],[-79.25566739516924,56.56302790517358],[-79.2599722997427,56.58654960707464],[-79.25564237876392,56.614753199641676],[-79.24344161345792,56.621306700416305]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.21127172355774,\"lat\":56.57041355708788},\"year\":\"2021\",\"prov_code\":[\"62\"],\"prov_name_en\":[\"Nunavut\"],\"cd_code\":[\"6204\"],\"cd_name_en\":[\"Qikiqtaaluk\"],\"csd_code\":[\"6204001\"],\"csd_name_en\":[\"Sanikiluaq\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Hamlet\",\"prov_name_fr\":\"Nunavut\",\"cd_name_fr\":\"Qikiqtaaluk\",\"csd_name_fr\":\"Sanikiluaq\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.389960134753686,46.937375777670454],[-55.44145042494657,46.93659410158128],[-55.44214350793913,46.879227027134974],[-55.37734839212626,46.87690949164598],[-55.37118559441914,46.89319910180888],[-55.350656992586416,46.898460291494736],[-55.35425350015588,46.91240249040882],[-55.37681049532277,46.93672846592283],[-55.389960134753686,46.937375777670454]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.40228791842804,\"lat\":46.90771396884496},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1002\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"1002008\"],\"csd_name_en\":[\"St. Lawrence\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"St. Lawrence\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.11021820904382,47.06697979536979],[-55.10345608140169,47.07419019624115],[-55.08050781394357,47.07806789273252],[-55.07112472398993,47.09759959628416],[-55.08471739939822,47.10713421101756],[-55.0845867690465,47.1236108674305],[-55.10466328609761,47.13938866956979],[-55.13551399745625,47.12724545160133],[-55.14101848630498,47.076361985114886],[-55.135698572273846,47.06954751325718],[-55.11021820904382,47.06697979536979]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.10996426084423,\"lat\":47.100860922202315},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1002\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"1002025\"],\"csd_name_en\":[\"Fox Cove-Mortier\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Fox Cove-Mortier\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.892390162661435,47.350034956235724],[-54.880470511448166,47.37136410841059],[-54.90602419635727,47.37432410194032],[-54.91449559637015,47.369334448568665],[-54.90732038116996,47.35636351831771],[-54.892390162661435,47.350034956235724]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.897800916612645,\"lat\":47.36407073429831},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1002\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"1002040\"],\"csd_name_en\":[\"Baine Harbour\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Baine Harbour\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.4101595028699,47.51439529865553],[-55.40283533464488,47.522254037939796],[-55.41800903047594,47.52872665347996],[-55.42571717782367,47.537430153141926],[-55.432402771315054,47.53156940018749],[-55.4101595028699,47.51439529865553]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.41775320122462,\"lat\":47.52550546208634},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1003\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"1003004\"],\"csd_name_en\":[\"Belleoram\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Belleoram\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.32611980992264,48.250069488766904],[-55.33866156417217,48.25224153844721],[-55.35425318745758,48.26478900545358],[-55.36905805793391,48.25022963821316],[-55.38734007385416,48.25763967320501],[-55.404548955307455,48.25022110189668],[-55.43483512916513,48.258255631194054],[-55.450423918740704,48.25366337881714],[-55.44224797638177,48.282496703635076],[-55.45897413423079,48.28275169687076],[-55.4907636083482,48.27089274645167],[-55.51715241276827,48.27006095292114],[-55.538166100061986,48.26470434537221],[-55.572672131810975,48.265830662029146],[-55.62501799222707,48.28139117755027],[-55.62530893345207,48.25008203212663],[-55.75912882165533,48.250011556203276],[-55.78941656324469,48.223567857076986],[-55.81492958223974,48.22373619345253],[-55.8230446732835,48.23421648303958],[-55.84543635835663,48.24120004158449],[-55.895486143775,48.24697763922284],[-55.90322240716307,48.25910722523398],[-55.90602407715698,48.28500363675871],[-55.90032948318994,48.29765740726957],[-55.921184016131036,48.31864013558248],[-55.923087358302894,48.33080913070019],[-55.91388731918196,48.34964991582551],[-55.893069640182944,48.36046975305629],[-55.89676656791162,48.38094645469889],[-55.90781237355862,48.387753094438736],[-55.95047871445837,48.383901770430704],[-55.96336551581709,48.38851615750363],[-55.967041988317284,48.41578391548301],[-55.979263960261825,48.417491322301736],[-55.97332083574329,48.43634375231324],[-55.985789880330785,48.44677792347018],[-56.00897142367103,48.45364403214335],[-56.031395186092894,48.45463332086303],[-56.030451477103306,48.46933275808625],[-56.03987599140628,48.48393671235874],[-56.06785266074919,48.481958416101925],[-56.068139413064465,48.50104913429593],[-56.08662367229138,48.522335039200115],[-56.088651706879574,48.53720522098973],[-56.133469778918666,48.536645016289384],[-56.15605632010619,48.52732659550078],[-56.16239997017216,48.52135236144839],[-56.214126613876516,48.510512968768595],[-56.250859541567735,48.52395635947196],[-56.2632185341683,48.50433133948092],[-56.28380087255621,48.49228140738693],[-56.31858364603806,48.500858383549605],[-56.34129420475713,48.49881872746157],[-56.36825608795221,48.50244230646955],[-56.38106321125967,48.51093690204784],[-56.41862410847781,48.51713306269566],[-56.444735777782334,48.514914545065416],[-56.45929282732599,48.523094682351974],[-56.506747605945826,48.5273963693581],[-56.52228571324044,48.52565009367507],[-56.53405184213441,48.50861549641452],[-56.5625160993393,48.48797867755222],[-56.59028880088351,48.47443157282361],[-56.60171559822397,48.459066917785464],[-56.59314955692775,48.433252043095855],[-56.62370301333411,48.43098490989255],[-56.632358688029434,48.42167341436679],[-56.664270447466286,48.402417246826765],[-56.67411100017648,48.39006539107682],[-56.67648997535827,48.36734485427399],[-56.71247466895023,48.35408477231885],[-56.728372346419505,48.34291435942913],[-56.751893859327986,48.34910808399853],[-56.753296066815686,48.364872759172286],[-56.77207854554151,48.361637402144936],[-56.778705719452894,48.34319280126267],[-56.81240222637801,48.32395936279321],[-56.84789317730158,48.308567935797896],[-56.86982561595581,48.30691483337387],[-56.899647790612114,48.32394613072946],[-56.92636406931314,48.32721631470269],[-56.944662654145176,48.310393407518646],[-56.97132472836091,48.29847697006946],[-56.988519978753075,48.29492867484966],[-57.01866632755232,48.30398755027383],[-57.026896906728,48.314731363177934],[-57.01510908195803,48.32585695614605],[-57.021074390875306,48.35804429478111],[-57.033316310061664,48.36969981269455],[-57.12389802247885,48.3643629271274],[-57.17506647953247,48.35784935306898],[-57.201007445457755,48.39042594167673],[-57.170594152140666,48.40672950168181],[-57.19054692521963,48.41389522456129],[-57.20848052553811,48.40815102043483],[-57.26367208763181,48.37320109022878],[-57.288473313453494,48.36712723705839],[-57.29954594541842,48.3759874749458],[-57.28775263584081,48.38879132853661],[-57.223317060666716,48.439025647876036],[-57.218214226981644,48.454655448402335],[-57.227148704463744,48.46647350298655],[-57.246595963144095,48.4744226015145],[-57.27559911413745,48.4576943022699],[-57.332327065957884,48.43520907421807],[-57.332844186906094,48.423401133574856],[-57.315438163009695,48.41224341169172],[-57.374415366977395,48.385977523936035],[-57.416800842626664,48.379558378764436],[-57.44247971960647,48.35841699996799],[-57.4731347463826,48.33903535189962],[-57.4869378815563,48.341115226733216],[-57.51289093065737,48.35820104039542],[-57.54471374170987,48.36699090424828],[-57.5610163466419,48.35895587040417],[-57.57719481274957,48.33776007713483],[-57.57105142486297,48.322791688078595],[-57.57425989170442,48.30295353711238],[-57.59846985597591,48.28823747283161],[-57.632602282656144,48.28583650430721],[-57.63540841656567,48.272371790618195],[-57.646183322266964,48.26528460194785],[-57.68290583083403,48.26212837114394],[-57.69105154268341,48.25005912697717],[-57.70986930533177,48.25004422903294],[-57.712272610943295,48.238791538933334],[-57.73743297798523,48.24077036707528],[-57.75408544170273,48.236900253463624],[-57.786683993392714,48.23710551453161],[-57.82243388683291,48.22323304825702],[-57.858807516928444,48.226337842134726],[-57.921646351138904,48.22389866180349],[-57.9430723780392,48.22210935254444],[-57.97187361395252,48.22737059571629],[-57.9878409224191,48.219664373124516],[-57.967813478109846,48.206946946438215],[-57.97208854990038,48.20179130592588],[-57.99408376556465,48.16983104126055],[-58.01833728456109,48.182096857103],[-58.057291489455906,48.182465559873535],[-58.0921057361668,48.19675024176053],[-58.09961111865975,48.19455637580023],[-58.076966568974946,48.16864074410772],[-58.07970864027062,48.15795445221302],[-58.120157551968234,48.15877551758838],[-58.119431890074054,48.139542630892784],[-58.152373078523695,48.14664462971817],[-58.147232083964866,48.13321419482484],[-58.162454430663324,48.116455783399495],[-58.158891726118064,48.09700240611156],[-58.140125557468586,48.06857972700586],[-58.10309259169945,48.08214897178684],[-58.073331613271755,48.06535376975802],[-58.05782106361758,48.04308629821441],[-58.04117186005903,48.04009653360686],[-58.00841250121315,48.06016905335104],[-57.98358227639008,48.03369493303446],[-57.970214754526495,48.03127482386583],[-57.96865040069447,47.9865757841159],[-57.99938626169983,47.975273929887386],[-58.02713847333659,47.95670164355354],[-58.01530783444962,47.952559930474166],[-57.97595557394503,47.95972898453424],[-57.94367744739745,47.97005072225486],[-57.922114297521624,47.981213676797104],[-57.899456047535445,47.98208119804361],[-57.86599232358904,47.99156216607877],[-57.85509640791057,47.98059525952477],[-57.87113701008248,47.96861791272756],[-57.865212258748436,47.95610425787782],[-57.82700787001152,47.952199571159575],[-57.79740254716432,47.95457662255552],[-57.78379901232834,47.96996975012726],[-57.77701089322475,47.991293005622744],[-57.763564871701064,48.0103681980588],[-57.73771439536994,48.014780629217064],[-57.71783546951942,48.00037928035179],[-57.720238597429926,47.97745479529851],[-57.698032376584905,47.97414540339771],[-57.68251909080002,47.977460180347],[-57.66908349825267,47.98807347488638],[-57.673073205343556,47.99955563138877],[-57.653468561662315,48.00892521304247],[-57.64328050831876,47.995376494949475],[-57.641129793530325,47.97888180678984],[-57.60563480354941,47.97799201061976],[-57.59518967253551,47.95710947801349],[-57.54445748510083,47.95998810501477],[-57.48387168358981,47.99110521693059],[-57.476741903461125,48.000063105994826],[-57.483282155621495,48.0205921855296],[-57.47135359072993,48.052396985149315],[-57.44866664788319,48.079436188224925],[-57.44959910484466,48.08824629390241],[-57.42703936463604,48.10624517706396],[-57.41950989566147,48.131116738829256],[-57.389930052837045,48.133264999029784],[-57.38398787925202,48.15019635349313],[-57.33316149201045,48.16065568465951],[-57.33012436457257,48.155428461958216],[-57.344093077997364,48.108250913314905],[-57.33969677021259,48.1023268038346],[-57.31073722263302,48.0922474109829],[-57.2915511867263,48.09144734567371],[-57.26705851550301,48.08426828563505],[-57.25003764579634,48.08596650460314],[-57.218371552011575,48.06518351692927],[-57.17512748837623,48.07237883364712],[-57.15720471839044,48.05477512647719],[-57.10318473340306,48.049903383089394],[-57.09002044092363,48.04586823748495],[-57.089150626250756,48.076098055532775],[-57.10472093691759,48.09677379291966],[-57.105001580053525,48.112329346528824],[-57.07126496224167,48.12382489706801],[-57.033885942119355,48.14443109195679],[-57.00207155838387,48.15615269550169],[-56.918281877800325,48.14186637517134],[-56.880710940383786,48.172648453648726],[-56.86313596280367,48.17503919012428],[-56.84911890169298,48.19475228832336],[-56.823132508739114,48.20017198413454],[-56.81640331623303,48.18711397630365],[-56.791108127455054,48.16277977222408],[-56.78202832286786,48.154073254637204],[-56.77012377676613,48.13058338727794],[-56.731964692684585,48.10821328806458],[-56.7184115007625,48.03626671279987],[-56.702172161675776,48.02445813012481],[-56.68422546070074,48.023935349345756],[-56.65252280624695,48.01097732969095],[-56.63332167146909,48.025928650202815],[-56.62454553208608,48.05485115017977],[-56.629352371138665,48.063758251595004],[-56.62104110796434,48.08687677478009],[-56.59787747152869,48.09401284382742],[-56.57752424667985,48.11014177758176],[-56.556535157858924,48.10579664435083],[-56.54549914680292,48.12270117884648],[-56.532889888313306,48.11928319554543],[-56.52441277024923,48.08588726029867],[-56.516835972470645,48.082916802769596],[-56.478187220835316,48.090871825632284],[-56.461203520106544,48.11003789279602],[-56.43348875994465,48.115253860940584],[-56.40702267689312,48.12408625934679],[-56.41021436351085,48.15605801113929],[-56.384855661868656,48.15167744512458],[-56.38691965725655,48.13484421085211],[-56.36206226840832,48.12409267022704],[-56.366188234631586,48.10301267104725],[-56.39003744858909,48.10021367887777],[-56.39124133567594,48.08430268103941],[-56.41052555212339,48.08141925820586],[-56.40954862891831,48.06843022814091],[-56.391769743315905,48.0577163404196],[-56.365808639958516,48.04995440561582],[-56.358581303135644,48.027047103560534],[-56.36944383457357,48.00661260795009],[-56.38739384758005,47.99899660172655],[-56.38129371376643,47.982767796764115],[-56.34014229500994,47.951104568599135],[-56.340433967205044,47.93882627662482],[-56.35986865507398,47.923464146436665],[-56.35666979510777,47.91464639150729],[-56.33221632112182,47.901273839760854],[-56.32349950836786,47.87098602884589],[-56.321755500536746,47.842537622053065],[-56.302076863815856,47.82640896450914],[-56.281765735484136,47.82204097509864],[-56.26521747336981,47.81013477007503],[-56.25109196863102,47.80727224401428],[-56.23354045376398,47.79383664333463],[-56.20267298957994,47.79063606009518],[-56.19167175253528,47.76553881385049],[-56.194073110407814,47.749585779857625],[-56.23269220492724,47.72233353538365],[-56.22846962415364,47.71233814918707],[-56.248828538190686,47.700895052483844],[-56.27800314649287,47.67294718255496],[-56.27443078922612,47.66195735587367],[-56.28535199975797,47.650174552296626],[-56.24467016782164,47.63732340527276],[-56.23280254444903,47.62627603014551],[-56.215503009798674,47.58593395790473],[-56.226936442013375,47.56081396049746],[-56.15832063413907,47.6057216165896],[-56.12438829289538,47.63454159130317],[-56.11804769882635,47.66870394995876],[-56.09881423858897,47.68296205271274],[-56.06773884550717,47.690174983982494],[-56.02570130247182,47.695113832872465],[-55.97032446938268,47.69744906092195],[-55.94070010670461,47.71127631685237],[-55.88088546680796,47.7310859050621],[-55.85284106108311,47.76034374721566],[-55.77029646622308,47.78934120371702],[-55.76198469659032,47.80435128769214],[-55.737325214044944,47.81268240288895],[-55.716760205042775,47.82932819033489],[-55.70892389278011,47.8450713921288],[-55.64610089979017,47.87732798785533],[-55.5908008871949,47.9191291892531],[-55.542130400812646,47.9335723061814],[-55.51544571456566,47.95275820000553],[-55.51159436500861,47.97164910061877],[-55.49728089272254,48.00349849562569],[-55.454286782925195,48.04608520265664],[-55.42988428929161,48.04486119325208],[-55.41359068790429,48.05833879047136],[-55.41863910644151,48.080660206822984],[-55.404656252682614,48.09048407628215],[-55.38419789712216,48.07374631278676],[-55.40495195870555,48.09786678480858],[-55.41740861589029,48.12727361468464],[-55.40435461947963,48.14566047008428],[-55.38911290531601,48.158908688560324],[-55.40576748405548,48.17556618997351],[-55.4066168048782,48.19956366830057],[-55.37981125069604,48.20367471199846],[-55.35661545260646,48.224034049050644],[-55.33266140685689,48.23082289043857],[-55.3379187140186,48.24369444273857],[-55.32611980992264,48.250069488766904]],[[-55.622564028678866,47.915575363306985],[-55.62591531972043,47.90398629144104],[-55.72241265800711,47.855901470788346],[-55.79443758861642,47.85447836026662],[-55.72395445256219,47.878470198660885],[-55.676305057980294,47.885934608757495],[-55.622564028678866,47.915575363306985]],[[-55.826057283155045,47.867234896914276],[-55.829503208915504,47.852948017931034],[-55.87077273594194,47.84702640312053],[-55.88221920889349,47.86955918225618],[-55.86764650034442,47.88632200598235],[-55.86376371717442,47.905080278967155],[-55.81496917558069,47.90512012528566],[-55.81841331873499,47.888572301621004],[-55.814450985061725,47.87403669075499],[-55.826057283155045,47.867234896914276]],[[-55.73168793736325,47.90448671633141],[-55.71505430019458,47.894055596530116],[-55.75312921226895,47.872977901844045],[-55.779663203913245,47.867659596650746],[-55.78948030195287,47.87009139001618],[-55.80747909204511,47.88586639969861],[-55.79582184171219,47.896907370879404],[-55.774840913306036,47.901962291978435],[-55.75225030616693,47.913519396527946],[-55.74889579374682,47.92262479275307],[-55.77144921457451,47.952093895913755],[-55.77482458845998,47.96224761637768],[-55.695054905511476,47.93930107108889],[-55.73168793736325,47.90448671633141]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-56.54913253694113,\"lat\":48.14557996467443},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1003\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"1003014\"],\"csd_name_en\":[\"Division No.  3\",\"Subd. D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Division No.  3, Subd. D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-58.22300761256586,48.70978549496379],[-58.230811451267584,48.71877120650336],[-58.25433557915961,48.71750609563667],[-58.258810858871826,48.69257095766636],[-58.23879139496276,48.69518805385794],[-58.21444231464309,48.699158531747734],[-58.22300761256586,48.70978549496379]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-58.23955680068331,\"lat\":48.705691157467655},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1004\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"1004017\"],\"csd_name_en\":[\"Gallants\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Gallants\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-58.09905773721538,49.0923866140323],[-58.04483222291104,49.113100240172294],[-58.06594968915311,49.11637880062863],[-58.0897657168242,49.127798573892086],[-58.099815685481595,49.1126719589664],[-58.09905773721538,49.0923866140323]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-58.08111343025469,\"lat\":49.11034520018037},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1005\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"1005023\"],\"csd_name_en\":[\"Cox's Cove\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Cox's Cove\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-57.89826650115786,48.995630119006144],[-57.88309840434101,49.002553624179335],[-57.913266691192504,49.00261073441111],[-57.91620439072951,48.99789797864448],[-57.98514397507682,48.98733618152818],[-58.02204329065993,48.993505052989356],[-58.025731050066284,48.986595753428055],[-57.966289596876024,48.97404048470498],[-57.94164858292435,48.98199380189241],[-57.91660149367156,48.98509429759089],[-57.900177875657334,48.995117942025445],[-57.89826650115786,48.995630119006144]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-57.95471767279505,\"lat\":48.98790019771742},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1005\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"1005030\"],\"csd_name_en\":[\"Irishtown-Summerside\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Irishtown-Summerside\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.40364955387722,49.03241212250098],[-55.400128676286464,49.03841932995612],[-55.45243494331559,49.048617477265736],[-55.47253220079241,49.03603785438049],[-55.50553590409588,49.036034289008654],[-55.56031633142275,48.9955532597071],[-55.54238198914204,48.983126678187965],[-55.51182028977726,48.996515008925655],[-55.50071449987872,49.00639040677258],[-55.42065958749343,49.03328550395027],[-55.40364955387722,49.03241212250098]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.48956550026502,\"lat\":49.019827669896394},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1006\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"1006019\"],\"csd_name_en\":[\"Bishop's Falls\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Bishop's Falls\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.21351638987028,48.41163259224612],[-54.22008917259252,48.30271587829498],[-54.131458415926645,48.30256300590185],[-54.13047930738514,48.3589881071865],[-54.15819221942517,48.34432859780162],[-54.16185819759947,48.36441290062204],[-54.17305350132234,48.37452569790401],[-54.197075986654546,48.3846572039824],[-54.18660987284297,48.39215251261593],[-54.186538089157146,48.40355929976741],[-54.21351638987028,48.41163259224612]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.18125935622266,\"lat\":48.342796129644874},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1007\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"1007036\"],\"csd_name_en\":[\"Port Blandford\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Port Blandford\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.58709939748744,49.06684053552723],[-53.57743986547037,49.06236779008089],[-53.56007234550318,49.069510702869785],[-53.57502935177574,49.08326186537867],[-53.590297246208216,49.0797073358894],[-53.58709939748744,49.06684053552723]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.57695391056509,\"lat\":49.072792893215315},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1007\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"1007054\"],\"csd_name_en\":[\"Greenspond\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Greenspond\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.27311259843206,49.311573669643636],[-55.285751263361625,49.31171192737693],[-55.292553008570174,49.269934612167845],[-55.30027580631415,49.27055729379139],[-55.281469555906206,49.235398215240956],[-55.24538279357882,49.25685490150678],[-55.23843900515249,49.268859493130904],[-55.24974011442299,49.30236530559611],[-55.24135868680865,49.31267307348823],[-55.27311259843206,49.311573669643636]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.26835677752497,\"lat\":49.2771543620223},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008047\"],\"csd_name_en\":[\"Point of Bay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Point of Bay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.679461114382036,49.51407819068472],[-55.66838370963539,49.52455901070069],[-55.680221016525714,49.5365292976896],[-55.67596089741555,49.554713301488356],[-55.69023890130681,49.561848587492555],[-55.72098531036295,49.557844004678856],[-55.7411070378916,49.56198008573638],[-55.75704249953745,49.52427158544748],[-55.744359395008146,49.50883590483324],[-55.756697882083174,49.486813801097114],[-55.734605797486424,49.48675160028174],[-55.69626388724096,49.50041389376568],[-55.679461114382036,49.51407819068472]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.716071109395116,\"lat\":49.52662138066676},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008053\"],\"csd_name_en\":[\"Pilley's Island\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Pilley's Island\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-57.016921056724605,53.690500098155745],[-56.98254763891531,53.69889533715817],[-56.988314885901346,53.720705547713024],[-57.00880038238045,53.72090081783848],[-57.03413517553947,53.706767906420986],[-57.016921056724605,53.690500098155745]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-57.0061352669584,\"lat\":53.70641931534417},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1010\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"1010012\"],\"csd_name_en\":[\"Cartwright\",\"Labrador\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Cartwright, Labrador\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-59.19544166069473,55.080295968591614],[-59.17743337129343,55.07568267455945],[-59.155211962421475,55.082173706760614],[-59.16966851720874,55.09740987039255],[-59.196878441127375,55.09097946191276],[-59.19544166069473,55.080295968591614]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-59.17752343435392,\"lat\":55.08601532088569},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1011\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"1011020\"],\"csd_name_en\":[\"Makkovik\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Makkovik\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.38861668720608,46.22674821474393],[-62.35703624298899,46.25949818237773],[-62.34996907185731,46.280444654002935],[-62.36694799176724,46.2885169938921],[-62.3734904231252,46.30155262391999],[-62.406365984119695,46.3095792405739],[-62.41433361672097,46.327420474572854],[-62.4509417656724,46.321382596357395],[-62.437785302858344,46.29185454708717],[-62.44674846706698,46.285564626937266],[-62.4408782543271,46.25729352627282],[-62.42301940137784,46.25756085018016],[-62.38861668720608,46.22674821474393]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.402958558314104,\"lat\":46.279095452430866},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1101\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1101030\"],\"csd_name_en\":[\"Annandale - Little Pond - Howe Bay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Annandale - Little Pond - Howe Bay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.60923769670626,44.563273599259],[-65.59214292556693,44.54537767405575],[-65.60214235225237,44.53992656471256],[-65.54761149481274,44.49363015693278],[-65.48645766719015,44.443566483670956],[-65.33162633651143,44.31157764902051],[-65.17976745491836,44.42153296003721],[-65.15204547634313,44.4606101467704],[-65.06151124001262,44.454842276610016],[-64.94501319357629,44.53710476538981],[-64.77323753855983,44.663584573347414],[-64.82633040728274,44.759589728799114],[-64.9567509327281,44.96696516262407],[-64.97320546158352,44.96677861789103],[-65.01375668105125,44.9497400809732],[-65.05386697933831,44.94655841748318],[-65.06316536550162,44.93842748332549],[-65.035728792412,44.936691499499645],[-65.03931442411303,44.92434286629766],[-65.02967278541624,44.9125724970763],[-65.02237088032885,44.88911711236796],[-65.01492580907673,44.88527329775283],[-65.02392440070425,44.86994995886044],[-65.02286278265667,44.8568941265475],[-65.04379998843326,44.83751770815819],[-65.06515281333944,44.853326191960235],[-65.08558421150695,44.83983210111391],[-65.08145617794574,44.82987201384474],[-65.20494519831146,44.758609493431116],[-65.24028070172136,44.76081638844535],[-65.24199888669028,44.77013747366402],[-65.28692819851949,44.75004408950079],[-65.29349667425046,44.73128521981173],[-65.29009820233398,44.72198649783004],[-65.33881982003516,44.670987527944675],[-65.3131044145549,44.657547600661125],[-65.3154028268193,44.647716439339455],[-65.33383360764721,44.64371460992635],[-65.36938889415146,44.65932018927891],[-65.41810188530722,44.65598319621053],[-65.44111699314736,44.66721498381191],[-65.4791711114356,44.66244970292038],[-65.47499420524407,44.654183007001336],[-65.48377913420994,44.63474073001107],[-65.50000002053547,44.63037484215866],[-65.49399529432566,44.62130320294921],[-65.53699469889855,44.60417915160389],[-65.56944288861528,44.58503010183543],[-65.57925908788216,44.566723903865146],[-65.59714447130612,44.55519085324645],[-65.60923769670626,44.563273599259]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.16399206496887,\"lat\":44.618285500651716},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1205\"],\"cd_name_en\":[\"Annapolis\"],\"csd_code\":[\"1205001\"],\"csd_name_en\":[\"Annapolis\",\"Subd. D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of county municipality \\/ Subdivision municipalit\\u00e9 de comt\\u00e9\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Annapolis\",\"csd_name_fr\":\"Annapolis, Subd. D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.71454585538158,45.276067166876715],[-62.81015767080418,45.34420109997967],[-62.95000841748876,45.44619099709705],[-62.95062668773055,45.44662973195632],[-62.96542518607109,45.445287693559436],[-63.002452297766325,45.451090489019684],[-63.025263696744375,45.44744110915359],[-63.03220369635086,45.430478289975376],[-63.05160938254003,45.421526202959065],[-63.08796080394868,45.41352627830278],[-63.09447425635148,45.40593673105509],[-63.13087529507189,45.39649663465188],[-63.14070989621441,45.40143168681369],[-63.1619308670806,45.39969445456115],[-63.21279863815078,45.368843297932976],[-63.23018849067862,45.372173174914934],[-63.25815192355551,45.36952281126413],[-63.250377156250025,45.349500480390745],[-63.21106810498906,45.34724642391059],[-63.193321573989714,45.31695190556545],[-63.25112202837482,45.30803172796526],[-63.265654014198454,45.32802327251246],[-63.28244465555793,45.32769632343766],[-63.31678746028772,45.32237744961205],[-63.304828630484124,45.33924065684864],[-63.308781040496136,45.357496197100154],[-63.30364678260379,45.37619668050203],[-63.31434465172554,45.379441722826094],[-63.326467438568734,45.36930160137713],[-63.346882965378676,45.37151315960729],[-63.404656940759345,45.355221366202876],[-63.48947581400572,45.34448403136998],[-63.51318723815426,45.33939050905868],[-63.47568164784969,45.3069964286494],[-63.48076439508854,45.29114034371683],[-63.472708144789294,45.27225587985324],[-63.45690965372878,45.268449862549105],[-63.45451395097645,45.24913471744375],[-63.416314909956874,45.23099734190996],[-63.41834329831699,45.21007703418718],[-63.39503298902129,45.19744833538655],[-63.402407034257564,45.18732437292684],[-63.38976301433055,45.17441170426778],[-63.389760734312496,45.148691703824866],[-63.382296027676375,45.14030858042278],[-63.370092323639156,45.1464918102119],[-63.34849264716698,45.14321822165721],[-63.33561448998941,45.15843940357417],[-63.31818978359162,45.15451070721237],[-63.32180148058424,45.14339048287514],[-63.31277520867316,45.12272591410148],[-63.32587561396994,45.117284004042176],[-63.33795729349922,45.12165138677236],[-63.35694191217957,45.111552098775505],[-63.394859347546486,45.129588789077374],[-63.406125842727214,45.10128042863428],[-63.393910504755304,45.08753233271948],[-63.39748832581642,45.0766919117247],[-63.39146520380687,45.05479303405506],[-63.40075008585381,45.03902190335827],[-63.39243049134583,45.030731797821],[-63.37181968473741,45.03975010274218],[-63.36057151453869,45.029653399546454],[-63.33597634537611,45.03659061578682],[-62.99929758463534,45.156314044290184],[-62.99216628834315,45.16091650056647],[-62.91480283390356,45.189948063521214],[-62.89869358663673,45.19451639448642],[-62.837921989806716,45.22587747262184],[-62.81478575315658,45.244008904413846],[-62.792389098148234,45.247685935119556],[-62.760147345990184,45.25767799105381],[-62.71410969835632,45.27587224189204],[-62.71454585538158,45.276067166876715]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.13348134339623,\"lat\":45.25689131756741},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1210\"],\"cd_name_en\":[\"Colchester\"],\"csd_code\":[\"1210001\"],\"csd_name_en\":[\"Colchester\",\"Subd. C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of county municipality \\/ Subdivision municipalit\\u00e9 de comt\\u00e9\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Colchester\",\"csd_name_fr\":\"Colchester, Subd. C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.79087311153388,45.078507637270825],[-66.79779588624686,45.09360606265863],[-66.77321453211908,45.10927190414461],[-66.76502972334515,45.12396359206459],[-66.77379340657818,45.23868242849588],[-66.77706088077859,45.312984255087706],[-66.78631304630235,45.50130168778886],[-66.79216491430448,45.50137095059954],[-66.93529420222471,45.502627070298026],[-66.92304570628572,45.33987007249978],[-66.90521651241295,45.13249947542887],[-66.90852316674867,45.126269588731034],[-66.95851983810076,45.119531123609804],[-66.93293291164436,45.07289084519533],[-66.91542250867889,45.05104197073184],[-66.89429794507882,45.03656738701694],[-66.86573778719561,45.009173118705526],[-66.84115069962395,44.999846746856065],[-66.8144457701157,45.016055666206796],[-66.81367315059676,45.03703784639667],[-66.8222586383951,45.05306868559306],[-66.79087311153388,45.078507637270825]],[[-66.82324375220175,45.14721678891831],[-66.8100108818829,45.14683111602587],[-66.79827976345493,45.11435398025339],[-66.82446125704202,45.102196941781806],[-66.83656411346648,45.12125452565774],[-66.85080628675809,45.12226832603858],[-66.86130349215627,45.130911474305705],[-66.86648102066452,45.145875024424846],[-66.83766922802954,45.15130621276763],[-66.82324375220175,45.14721678891831]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.85223128988495,\"lat\":45.27066106680288},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1302\"],\"cd_name_en\":[\"Charlotte\"],\"csd_code\":[\"1302016\"],\"csd_name_en\":[\"Saint George\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Charlotte\",\"csd_name_fr\":\"Saint George\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.07360840396802,45.167594841452086],[-67.0871570148729,45.21360514208946],[-67.08582084713494,45.23269594977844],[-67.07401108565467,45.250826186426465],[-67.09111939031563,45.26175595232406],[-67.07151837352757,45.27559514233269],[-67.0882695217075,45.29083930205439],[-67.11149321995093,45.27779709414224],[-67.11762751856729,45.28229240255644],[-67.13365926723044,45.27025330827822],[-67.15143257269126,45.26818798285533],[-67.14218743481051,45.24489152269955],[-67.16248230731544,45.24066423194225],[-67.14196796191656,45.192294297491564],[-67.14508452401437,45.17674048619619],[-67.15406790303548,45.17183481610661],[-67.15800072939426,45.161099006284374],[-67.12877779134506,45.13227780815819],[-67.10789958511862,45.10273837117588],[-67.08017499004188,45.112584003684574],[-67.09260649501944,45.1330939921365],[-67.0731175834728,45.137138508005656],[-67.09245029444618,45.16280535179161],[-67.07360840396802,45.167594841452086]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.11354589905005,\"lat\":45.20027021297707},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1302\"],\"cd_name_en\":[\"Charlotte\"],\"csd_code\":[\"1302028\"],\"csd_name_en\":[\"Saint Croix\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Charlotte\",\"csd_name_fr\":\"Saint Croix\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.91945128021754,46.07284584749302],[-65.92479473383733,46.07908811120681],[-65.9658765145282,46.09898165641101],[-66.01863982644461,46.11791287136621],[-66.03487873613119,46.119981795578795],[-66.0374373357027,46.11699373156745],[-66.02124552557508,46.11447159525429],[-66.02437208081766,46.08695233503185],[-66.04958146448591,46.05741617473027],[-66.06139846799704,46.0622083042246],[-66.08541975807364,46.05822083446304],[-66.10021183429284,46.041432774461676],[-66.1000104460672,46.04018028339164],[-66.17288236384707,45.954857881042734],[-66.25064126287899,45.86197107922945],[-66.25171855583429,45.86061466415775],[-66.22604209187283,45.84403485058273],[-66.18177208609994,45.83290789489927],[-66.16636837518132,45.833930532916064],[-66.13423146628502,45.86903473855618],[-66.1177475783624,45.878530891908994],[-66.0923442948027,45.88516896393983],[-66.05174987057683,45.88945474633468],[-66.04384561046291,45.92184402537922],[-66.01956541786808,46.00007056948416],[-66.00681492740327,46.020088968052754],[-66.00190306391912,46.04047911769591],[-65.91945128021754,46.07284584749302]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.09494714986116,\"lat\":45.965211866008204},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1304\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1304021\"],\"csd_name_en\":[\"Canning\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Canning\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.16607042038656,45.425218866995785],[-66.07408696449423,45.49968877110815],[-66.0489770257052,45.53129816511113],[-66.02298425336915,45.55200485244267],[-66.0197825791505,45.56732775616649],[-66.02439709535355,45.590054173800816],[-66.05191830848749,45.60322609559599],[-66.16618860897341,45.522937922893156],[-66.24747786485958,45.464351900446616],[-66.17381377209331,45.432574392370356],[-66.16607042038656,45.425218866995785]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.12313146596465,\"lat\":45.51103989569064},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1305\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1305038\"],\"csd_name_en\":[\"Greenwich\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Greenwich\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.07798576885446,46.04779105708314],[-64.089466065597,46.03901764905058],[-64.10090077924482,46.047814578066045],[-64.09485023400558,46.05727606540178],[-64.14417602319706,46.08389753355901],[-64.15227468701679,46.088029960680146],[-64.20227512190392,46.017810104062775],[-64.23678324048001,45.99359496301639],[-64.24159452500864,45.97597599112637],[-64.2815678715375,45.94386713845087],[-64.26826496089382,45.90672226506647],[-64.27270102389673,45.897149160229645],[-64.29171059117412,45.89738956339489],[-64.29839182816586,45.88561846486766],[-64.31922299257938,45.878124706651356],[-64.33058231312748,45.85694899365192],[-64.2954520807023,45.84025733087558],[-64.28648198251702,45.83071746058014],[-64.26938275464924,45.844823568659436],[-64.27258192539121,45.85384106249662],[-64.25449609170614,45.879785007172224],[-64.22770576509512,45.89523273619744],[-64.21659228926005,45.91116949515654],[-64.20623719984971,45.91613459519497],[-64.16460980416215,45.96082053655081],[-64.15914514354326,45.97530769486694],[-64.14942368761501,45.98014747199192],[-64.04680352920026,45.97681801071708],[-64.04631449609916,45.9913391971028],[-64.03670803083574,46.015334075617915],[-64.02874427989676,46.021371612272034],[-64.07798576885446,46.04779105708314]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.17956115561718,\"lat\":45.975559285327776},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1307\"],\"cd_name_en\":[\"Westmorland\"],\"csd_code\":[\"1307001\"],\"csd_name_en\":[\"Westmorland\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Westmorland\",\"csd_name_fr\":\"Westmorland\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-64.55274128577797,46.08341486749947],[-64.5899153203113,46.116865375171415],[-64.61738853096685,46.099448807411484],[-64.64865235968647,46.106670119198824],[-64.6502757190908,46.09109898546019],[-64.66111417125674,46.082903405291596],[-64.68539147420137,46.078251690631966],[-64.66538800258596,46.06169650674843],[-64.59219952965346,46.07596928091143],[-64.5525568060802,46.08324585424244],[-64.55274128577797,46.08341486749947]]],[[[-64.68601537975006,46.124142809622896],[-64.63742247893948,46.15863099863349],[-64.63910104418626,46.16013822984944],[-64.74519981194683,46.25244336158176],[-64.76758073456176,46.27287125135475],[-64.85954024519681,46.2707407147699],[-65.07357351704677,46.26445715993471],[-65.12133243499693,46.262972306741055],[-65.04164988780414,46.054182003655335],[-65.02777717050597,46.05220833334688],[-65.02430373882741,46.04183964628433],[-65.01091434801029,46.03538112456157],[-64.99850772257253,46.03817317733132],[-64.99814079660125,46.049838610559604],[-64.95496973339291,46.049995006424965],[-64.94037446789805,46.055665889868976],[-64.9152463389493,46.05795081295987],[-64.89756612824485,46.049209539479506],[-64.9125313207637,46.082118932085],[-64.88238500258775,46.088702633061104],[-64.89514698713137,46.118279000856845],[-64.91531286021616,46.14137089057178],[-64.86569053106352,46.15979418080417],[-64.85287843800985,46.15184381348271],[-64.82378735695583,46.16159087884815],[-64.82923446514305,46.16676826795182],[-64.78603769465036,46.176990593397015],[-64.78111915106854,46.167737867071224],[-64.74549646251452,46.17651548125587],[-64.72658830290028,46.13858603793019],[-64.6910051672574,46.148034255224175],[-64.69265915153393,46.13468580689509],[-64.68601537975006,46.124142809622896]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.90220775842857,\"lat\":46.176061016428065},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1307\"],\"cd_name_en\":[\"Westmorland\"],\"csd_code\":[\"1307019\"],\"csd_name_en\":[\"Moncton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Westmorland\",\"csd_name_fr\":\"Moncton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.04164988780414,46.054182003655335],[-65.12133243499693,46.262972306741055],[-65.16046105861113,46.26257187045904],[-65.41643782022979,46.25676548082679],[-65.34258209506896,46.098773198863135],[-65.28312445627292,45.96697305030669],[-65.25977554273311,45.91883576313263],[-65.22382088562495,45.843719805321456],[-65.03462564035333,45.892411730122305],[-65.03432238628787,45.92696869058528],[-65.03427642019486,46.02206045986631],[-65.06297217041069,46.02258779339911],[-65.07981225650768,46.03899881484532],[-65.06504428858099,46.05456530673242],[-65.04164988780414,46.054182003655335]],[[-65.17025357422163,45.96181553118999],[-65.1395342741932,45.93878977199867],[-65.15756843134639,45.91879744940326],[-65.17737435286016,45.91139560685618],[-65.21432068103768,45.94351608744654],[-65.19689116813176,45.94621989220366],[-65.17025357422163,45.96181553118999]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.19964713180329,\"lat\":46.07759863695454},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1307\"],\"cd_name_en\":[\"Westmorland\"],\"csd_code\":[\"1307024\"],\"csd_name_en\":[\"Salisbury\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Westmorland\",\"csd_name_fr\":\"Salisbury\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.1741192146752,46.534411425094206],[-66.16802909072311,46.530117255738155],[-66.1226158194215,46.54328548457254],[-66.10650118766976,46.54039138876484],[-66.08214503264824,46.554350148697445],[-66.05276243515887,46.56249715321801],[-66.07241430283948,46.59191446997239],[-66.10891846555641,46.58454714697451],[-66.12660722911258,46.57248351696833],[-66.15984884124946,46.566167774647155],[-66.15181676057958,46.55005577158969],[-66.17873330507615,46.546389212189],[-66.1741192146752,46.534411425094206]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.11290738640646,\"lat\":46.56104440090753},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1309\"],\"cd_name_en\":[\"Northumberland\"],\"csd_code\":[\"1309022\"],\"csd_name_en\":[\"Doaktown\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Northumberland\",\"csd_name_fr\":\"Doaktown\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.11524679421291,47.21892906545526],[-65.08978320384762,47.23113328648297],[-65.0630800149566,47.25520929304214],[-65.03589698715675,47.26516110771369],[-65.02305002487903,47.27388366085024],[-65.0321072224294,47.29251815383767],[-65.07404383688132,47.285751740177105],[-65.12638662028036,47.246466688052465],[-65.11524679421291,47.21892906545526]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.07768979373365,\"lat\":47.259815712692046},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1309\"],\"cd_name_en\":[\"Northumberland\"],\"csd_code\":[\"1309038\"],\"csd_name_en\":[\"Neguac\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Northumberland\",\"csd_name_fr\":\"Neguac\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.44758448057937,46.98885548726623],[-65.43891710329467,47.00519345683203],[-65.41942583190199,47.0165358249277],[-65.43603447231136,47.03030271772042],[-65.36752619011075,47.05602536192657],[-65.34752630484441,47.05666573644918],[-65.34053659716248,47.06540470060119],[-65.34889939801297,47.07686199087859],[-65.370464398236,47.071105508497126],[-65.38663679563014,47.07217379606066],[-65.42244419146122,47.063559566233856],[-65.43990678884839,47.085195221630045],[-65.46427433146067,47.076935903895595],[-65.48319294368405,47.09204718246106],[-65.49988474934324,47.09814906023951],[-65.51002534672529,47.0939402619987],[-65.52615916490012,47.10725551922934],[-65.53861913086301,47.094608793185095],[-65.52307360193849,47.082561159490865],[-65.54714505098008,47.06656737474462],[-65.55915428827974,47.0671530227871],[-65.59360434325131,47.05062873931334],[-65.61399085407612,47.010970394633425],[-65.60541958211027,47.004468175059216],[-65.61248982672787,46.988392519790914],[-65.61688114546124,46.98678377380622],[-65.6144821183969,46.96462511703984],[-65.60593347273772,46.969036232090936],[-65.58875201960798,46.96956281573516],[-65.58075619654437,46.982603206729124],[-65.56433910616856,46.9867197935488],[-65.55762659072643,46.97531839855222],[-65.58627696044707,46.95390357577511],[-65.56199763614562,46.93307424929287],[-65.5399903648194,46.94377268666036],[-65.52174083157767,46.92943027966447],[-65.50270084720667,46.925758941583545],[-65.48461228676646,46.9363570745527],[-65.50261278166273,46.95762622003562],[-65.47799480892427,46.964843467625776],[-65.48255740928977,46.98091995334709],[-65.44758448057937,46.98885548726623]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.50777430640663,\"lat\":47.02006744020378},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1309\"],\"cd_name_en\":[\"Northumberland\"],\"csd_code\":[\"1309050\"],\"csd_name_en\":[\"Miramichi\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City \\/ Cit\\u00e9\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Northumberland\",\"csd_name_fr\":\"Miramichi\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.9266968717376,47.20774012944676],[-67.91492778592786,47.212664611931615],[-67.8995022633592,47.249631443223706],[-67.85419868869722,47.2809890599273],[-67.78189779154121,47.35354738793892],[-67.68922365014942,47.44935496210585],[-67.6886530017549,47.53563141962077],[-67.89921575971621,47.31870717510329],[-67.89213940777304,47.31421708281527],[-67.91696580116353,47.29730571146569],[-67.92726888393491,47.298381830701935],[-67.94656420689601,47.28042277463445],[-67.96009899493981,47.27778300900574],[-67.97778102422092,47.255528482113206],[-67.95444098161335,47.23927403762251],[-67.9631755503569,47.232401782504034],[-67.9266968717376,47.20774012944676]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.82081013223979,\"lat\":47.360040295303854},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1313\"],\"cd_name_en\":[\"Madawaska\"],\"csd_code\":[\"1313008\"],\"csd_name_en\":[\"Notre-Dame-de-Lourdes\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Madawaska\",\"csd_name_fr\":\"Notre-Dame-de-Lourdes\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.33950477814605,47.86935102574259],[-67.38079918029992,47.854215092304095],[-67.39246004339044,47.86761690160258],[-67.43743661185472,47.88016607967514],[-67.44155157593592,47.88510840250091],[-67.4722441484552,47.89411844633494],[-67.5125274158446,47.913713052653684],[-67.52729680798713,47.91371618063885],[-67.54747749452194,47.921766843563766],[-67.56819103763043,47.921510280272855],[-67.56851994961669,47.79560884632957],[-67.5695544189544,47.600565115663215],[-67.34404835940214,47.598645581852054],[-67.24051602455336,47.59716285612361],[-67.26002941428078,47.65050859556445],[-67.28768472353507,47.650410570831866],[-67.2876339708956,47.71676529873111],[-67.28447238708941,47.71831819828088],[-67.33950477814605,47.86935102574259]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.43538621539365,\"lat\":47.73644035663461},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1314\"],\"cd_name_en\":[\"Restigouche\"],\"csd_code\":[\"1314020\"],\"csd_name_en\":[\"Kedgwick\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural community \\/ Communaut\\u00e9 rurale\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Restigouche\",\"csd_name_fr\":\"Kedgwick\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.56520092907837,47.82087131403359],[-64.5828838833535,47.82330634506974],[-64.60677659724102,47.79812657749185],[-64.58494758614901,47.79457706325239],[-64.60507603506399,47.78128039449389],[-64.58567580600298,47.763740503095484],[-64.56348898728046,47.78317620741525],[-64.55012674280373,47.801217372331166],[-64.54961082320992,47.813131815675156],[-64.56520092907837,47.82087131403359]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.5773357965724,\"lat\":47.79681616357082},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1315\"],\"cd_name_en\":[\"Gloucester\"],\"csd_code\":[\"1315033\"],\"csd_name_en\":[\"Sainte-Marie-Saint-Rapha\\u00ebl\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Gloucester\",\"csd_name_fr\":\"Sainte-Marie-Saint-Rapha\\u00ebl\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.49342269543047,48.15401898993941],[-65.5464936479324,48.16865298832876],[-65.56949272610292,48.13558584316553],[-65.58329825016881,48.13917524965237],[-65.60995587364661,48.0995437215061],[-65.61379493235724,48.07940204650016],[-65.62670493922049,48.04370129532734],[-65.63300171407879,48.00008208173823],[-65.54292278166643,48.00005312550894],[-65.53622494220558,48.069559471975914],[-65.53312740392875,48.08530803262839],[-65.52048730955856,48.110113826235136],[-65.49342269543047,48.15401898993941]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.56888556865188,\"lat\":48.0768839218106},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2405\"],\"cd_name_en\":[\"Bonaventure\"],\"csd_code\":[\"2405055\"],\"csd_name_en\":[\"Saint-Sim\\u00e9on\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Bonaventure\",\"csd_name_fr\":\"Saint-Sim\\u00e9on\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.00056803484077,48.816941903921766],[-67.04735342583712,48.878976221069784],[-67.06049214569197,48.87487846526815],[-67.0788562445625,48.899479239626835],[-67.08561030154974,48.89762787329953],[-67.16818607754475,48.87138821246355],[-67.20809905398833,48.85815467333122],[-67.18082631892302,48.84086839457157],[-67.21237997418068,48.81683316862177],[-67.17886098285517,48.795045187044494],[-67.1460952868677,48.81646803156817],[-67.0972377476372,48.78669211117884],[-67.00056803484077,48.816941903921766]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.10604090524924,\"lat\":48.83973662477389},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2408\"],\"cd_name_en\":[\"La Matanie\"],\"csd_code\":[\"2408010\"],\"csd_name_en\":[\"Saint-Jean-de-Cherbourg\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Matanie\",\"csd_name_fr\":\"Saint-Jean-de-Cherbourg\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.0081018533431,48.10838711176011],[-69.04709449896795,48.1324396104711],[-69.06082618889596,48.12307266593114],[-69.06277554680781,48.105618722748765],[-69.0773706049967,48.10289872506103],[-69.10426656030474,48.08352829360958],[-69.12741280714233,48.076438188093476],[-69.15865831523111,48.04484608827369],[-69.13627126650434,48.031842430926865],[-69.11809814366826,48.034592941003815],[-69.10576742813136,48.05846453477851],[-69.09771162173323,48.06195380980807],[-69.07494118187286,48.048266616855],[-69.04520698548214,48.06865816175574],[-68.96441963549134,48.0185314847453],[-68.92433461413195,48.05280839070825],[-68.94129528498993,48.06601899011582],[-69.0081018533431,48.10838711176011]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.03407889557963,\"lat\":48.07150639466337},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2411\"],\"cd_name_en\":[\"Les Basques\"],\"csd_code\":[\"2411030\"],\"csd_name_en\":[\"Sainte-Fran\\u00e7oise\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Basques\",\"csd_name_fr\":\"Sainte-Fran\\u00e7oise\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.25384580900713,47.94924783042064],[-69.24444734533127,47.96309673522909],[-69.20662010500169,47.98918533134411],[-69.2535465969977,48.01883092622354],[-69.27592444041666,48.03715230917001],[-69.25571575832925,48.050655759408166],[-69.24459797937219,48.067967935317085],[-69.26244024857051,48.07950679820229],[-69.3888571092536,48.16744669690886],[-69.4492359254402,48.1228881042719],[-69.37292543361004,48.06359052440969],[-69.39949797362794,48.034437707727065],[-69.43853934858063,48.004608074700805],[-69.38249792458727,47.968853209554865],[-69.33292032997112,47.9373085947474],[-69.29715801919497,47.951625596799545],[-69.27288265424237,47.9560116736487],[-69.25384580900713,47.94924783042064]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.3352270018964,\"lat\":48.041579308394496},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2412\"],\"cd_name_en\":[\"Rivi\\u00e8re-du-Loup\"],\"csd_code\":[\"2412043\"],\"csd_name_en\":[\"L'Isle-Verte\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Rivi\\u00e8re-du-Loup\",\"csd_name_fr\":\"L'Isle-Verte\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.167331731151,47.58774738183698],[-69.20699131609369,47.5606022487213],[-69.30452348149342,47.626304733840215],[-69.45362416053965,47.52630120140586],[-69.36783141921354,47.47081617680661],[-69.275902533036,47.4094739046479],[-69.22380981287083,47.45968769007518],[-69.20560750489884,47.45207878909082],[-69.17593389155878,47.45679328768962],[-69.11194601422048,47.43759066722485],[-69.09209332471312,47.450528863293016],[-69.10895544522506,47.46206835840901],[-69.07746086872491,47.48419004659604],[-69.1435761132364,47.529380416668815],[-69.12825452669814,47.54038109535681],[-69.15131990424071,47.55597749537995],[-69.13590289928844,47.56603469301445],[-69.167331731151,47.58774738183698]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.26553798613577,\"lat\":47.51597513342269},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2413\"],\"cd_name_en\":[\"T\\u00e9miscouata\"],\"csd_code\":[\"2413095\"],\"csd_name_en\":[\"Poh\\u00e9n\\u00e9gamook\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscouata\",\"csd_name_fr\":\"Poh\\u00e9n\\u00e9gamook\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.57088605940204,47.12051890316779],[-69.70354684535928,47.2053754385549],[-69.75348945557216,47.23859022597295],[-69.77689733679415,47.25148206664149],[-69.83148526091264,47.28881598122506],[-69.87141574418705,47.22341074620903],[-69.83297095729442,47.199214179598705],[-69.72059880965548,47.1279417595938],[-69.62496119999719,47.06681719490981],[-69.57088605940204,47.12051890316779]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.72494619813858,\"lat\":47.17532988809311},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2414\"],\"cd_name_en\":[\"Kamouraska\"],\"csd_code\":[\"2414904\"],\"csd_name_en\":[\"Petit-Lac-Sainte-Anne\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Kamouraska\",\"csd_name_fr\":\"Petit-Lac-Sainte-Anne\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.00126415156,47.99369114358745],[-69.95674838959528,48.0574929050791],[-70.17231960473471,48.12473736486602],[-70.25939834749317,48.00001193086573],[-70.26362841804965,47.992999781106825],[-70.14764339873271,47.99282605579807],[-70.00126415156,47.99369114358745]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.11256302425946,\"lat\":48.04403547916563},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2415\"],\"cd_name_en\":[\"Charlevoix-Est\"],\"csd_code\":[\"2415904\"],\"csd_name_en\":[\"Sagard\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Charlevoix-Est\",\"csd_name_fr\":\"Sagard\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.05736794016244,46.693531601455504],[-69.97857455938083,46.746202217088715],[-70.06993542996311,46.8105578444118],[-70.11034419079182,46.781075619336484],[-70.14722823225902,46.757809324351385],[-70.08981678211568,46.715452712027606],[-70.05736794016244,46.693531601455504]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.0630118833678,\"lat\":46.751603816898154},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2418\"],\"cd_name_en\":[\"Montmagny\"],\"csd_code\":[\"2418020\"],\"csd_name_en\":[\"Sainte-Lucie-de-Beauregard\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Montmagny\",\"csd_name_fr\":\"Sainte-Lucie-de-Beauregard\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.40106726275398,47.182959776045784],[-70.41669198092838,47.187085595832194],[-70.44158730184631,47.17846613422269],[-70.46425625146532,47.204643383356725],[-70.47918738439188,47.20685280957895],[-70.5419543563271,47.16161570049752],[-70.67175286367737,47.07047158012495],[-70.68208257263501,47.0607685246386],[-70.69047684624921,47.03509643304268],[-70.69807829117441,47.01888237792733],[-70.69222479575252,47.01029797626813],[-70.67593537117439,47.0075629973411],[-70.63884089009537,47.01137614004727],[-70.61499395791314,47.0063892159069],[-70.58990937568008,47.01857040327938],[-70.55752100102977,47.02889849571274],[-70.52567252655734,47.04360594370162],[-70.50570284821272,47.05648415745107],[-70.4633158882934,47.09994217320529],[-70.3919371131749,47.15746169627495],[-70.39151681422825,47.17634651541706],[-70.40106726275398,47.182959776045784]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.5447996978443,\"lat\":47.10017571698925},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2418\"],\"cd_name_en\":[\"Montmagny\"],\"csd_code\":[\"2418070\"],\"csd_name_en\":[\"Saint-Antoine-de-l'Isle-aux-Grues\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Montmagny\",\"csd_name_fr\":\"Saint-Antoine-de-l'Isle-aux-Grues\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.58207725318081,46.548366718187474],[-70.57998560704624,46.54991036214848],[-70.62182745045021,46.581490184330754],[-70.64271354367337,46.59686060787286],[-70.66958154671367,46.57774548882099],[-70.71171096224342,46.54904299769501],[-70.65846073851844,46.507619281288605],[-70.63650755494639,46.51149903313438],[-70.58207725318081,46.548366718187474]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.6459926318919,\"lat\":46.54986063774926},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2419\"],\"cd_name_en\":[\"Bellechasse\"],\"csd_code\":[\"2419015\"],\"csd_name_en\":[\"Saint-Nazaire-de-Dorchester\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Bellechasse\",\"csd_name_fr\":\"Saint-Nazaire-de-Dorchester\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.81445642875676,47.2126510814217],[-70.80457294729757,47.24464836986089],[-70.74799423029741,47.294652810118656],[-70.8788615359036,47.4317067152998],[-70.9956163218161,47.54798986146474],[-71.1472244905638,47.700765392305115],[-71.30611832991973,47.85611993337684],[-71.39316230921135,47.9412634216079],[-71.40372459987373,47.95008458853672],[-71.66079240710495,47.95025095268441],[-71.86490802650421,47.949661079798915],[-71.90124738630367,47.95039453135473],[-72.07393193204777,47.95024115439231],[-71.89256064159352,47.77256562190623],[-71.69188314931873,47.57577210257351],[-71.51029209302955,47.39664411118446],[-71.4567618593732,47.34269268803266],[-71.43217992516995,47.32715530400828],[-71.41257950442595,47.30731277202168],[-71.32629175329565,47.22435134411157],[-71.2511433837186,47.15383459937203],[-71.19649650027709,47.19538734930071],[-71.10756617117472,47.1223754405396],[-71.08217150937746,47.144117537693475],[-71.06380239942524,47.137528163413435],[-71.049235312242,47.12366283743258],[-71.02975496593905,47.094971763919425],[-70.99283764645288,47.11237504064267],[-70.98763487788504,47.10438516743837],[-70.95894913089552,47.11189712240766],[-70.87954465468731,47.15632671789501],[-70.8925307319199,47.16756533594702],[-70.81445642875676,47.2126510814217]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.35516556467034,\"lat\":47.56387961132559},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2421\"],\"cd_name_en\":[\"La C\\u00f4te-de-Beaupr\\u00e9\"],\"csd_code\":[\"2421904\"],\"csd_name_en\":[\"Lac-Jacques-Cartier\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La C\\u00f4te-de-Beaupr\\u00e9\",\"csd_name_fr\":\"Lac-Jacques-Cartier\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.12740986949277,46.527244026800524],[-71.15131486810698,46.53672060500563],[-71.17139234857821,46.54921416920688],[-71.1925967774305,46.53575263675016],[-71.21527623538213,46.5408603848492],[-71.19502356722731,46.526284374511704],[-71.21101584696954,46.51513272286475],[-71.1918020279016,46.50217955081733],[-71.22865961268813,46.4815249523057],[-71.20263154064602,46.458176245243756],[-71.16628670231948,46.42454168078425],[-71.15909196965994,46.4177807485749],[-71.09025001287435,46.46238610199624],[-71.0882759233638,46.46362671863674],[-71.10258085592451,46.47659659349468],[-71.08843131187852,46.4979538130552],[-71.10103501154214,46.50572043334241],[-71.11017343566859,46.52207564945829],[-71.12740986949277,46.527244026800524]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.15547169809315,\"lat\":46.48504543871927},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2426\"],\"cd_name_en\":[\"La Nouvelle-Beauce\"],\"csd_code\":[\"2426055\"],\"csd_name_en\":[\"Saint-Bernard\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Nouvelle-Beauce\",\"csd_name_fr\":\"Saint-Bernard\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.80038163511279,45.65806187566238],[-70.79302130847573,45.66431788687163],[-70.79582744746845,45.678726424364726],[-70.78497090603764,45.69172630434639],[-70.76108344701173,45.70095129582512],[-70.75112312622268,45.70913531327422],[-70.78275858698338,45.725190662252196],[-70.72566877774673,45.78141065663172],[-70.72738839902719,45.78140376692409],[-70.80208032333928,45.781529447306184],[-70.89259801355546,45.780068002122796],[-70.9095669967998,45.77976871861182],[-70.9103479585466,45.763707757283484],[-70.9337979750427,45.739839691855586],[-70.93451601097966,45.731172304585485],[-70.80038163511279,45.65806187566238]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.83305451806643,\"lat\":45.734841076723704},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2430\"],\"cd_name_en\":[\"Le Granit\"],\"csd_code\":[\"2430080\"],\"csd_name_en\":[\"Lac-Drolet\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Granit\",\"csd_name_fr\":\"Lac-Drolet\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.64447230289193,47.198824082542735],[-71.71470668314487,47.24913134578675],[-71.8146673234666,47.328077456209066],[-71.8664987091604,47.33547229420654],[-71.92867129878,47.35868768957452],[-71.9579560933507,47.37552768614988],[-71.96041910572961,47.38223409456828],[-72.00112402539133,47.39461243364454],[-72.01633519629898,47.40859844304765],[-72.03557896702085,47.40112797334995],[-72.0568789377122,47.40929333428576],[-72.07849116001904,47.40916363177348],[-72.1001424629101,47.38437442288304],[-72.12710428034379,47.3791575402835],[-72.16135360964813,47.3867743728718],[-72.18553344821217,47.36572575450774],[-72.15560333799199,47.346431342312485],[-72.02648816803378,47.2590954532422],[-72.03009061710554,47.25632326330915],[-71.96885527893627,47.21479572183326],[-71.89249524274315,47.164647768910285],[-71.81461940373283,47.112259403042984],[-71.63153725314554,47.19118397073826],[-71.64447230289193,47.198824082542735]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.90048524293792,\"lat\":47.2666624446631},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2434\"],\"cd_name_en\":[\"Portneuf\"],\"csd_code\":[\"2434902\"],\"csd_name_en\":[\"Lac-Blanc\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Portneuf\",\"csd_name_fr\":\"Lac-Blanc\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.95625328957459,47.388488896261066],[-73.97431471315048,47.3656748967409],[-73.99857101632847,47.3460246994701],[-74.0284756612791,47.176134149899404],[-73.91576112683204,47.09961716325965],[-73.85796349248005,47.14187915108852],[-73.82408271418892,47.12250166584168],[-73.77792739855198,47.08643211437947],[-73.75434049159956,47.06123878428927],[-73.75808003052408,47.05762187391521],[-73.71940447099271,47.02094417715175],[-73.67655655743282,46.973486156407816],[-73.64996749627524,46.937835867003244],[-73.66491923952756,46.927627622775695],[-73.58143695633761,46.87059064117814],[-73.55494720097686,46.873502272743046],[-73.54532391445335,46.86596092930093],[-73.52960729885343,46.87059680030999],[-73.51369885864212,46.89690815734911],[-73.47989348783413,46.90603138389667],[-73.46009354926672,46.90761885348845],[-73.41971070922713,46.88532513798257],[-73.41477304792375,46.88055562622617],[-73.36402577069968,46.888280829120404],[-73.34596615128744,46.88112233418338],[-73.32611407971737,46.879602203228465],[-73.31225274478632,46.87063029281212],[-73.27190818583827,46.887795024923754],[-73.24421636090842,46.8824706516442],[-73.24909366060275,46.86863592899456],[-73.22658979085261,46.861821753046385],[-73.20711973465434,46.843953108959376],[-73.18266061653833,46.84044234053362],[-73.17001638559154,46.846926345743384],[-73.14321635816019,46.83898908253247],[-73.3924600023082,47.001689395581316],[-73.67607845974501,47.197488367491715],[-73.95625328957459,47.388488896261066]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.67932220531844,\"lat\":47.09365482728269},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2435\"],\"cd_name_en\":[\"M\\u00e9kinac\"],\"csd_code\":[\"2435906\"],\"csd_name_en\":[\"Rivi\\u00e8re-de-la-Savane\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"M\\u00e9kinac\",\"csd_name_fr\":\"Rivi\\u00e8re-de-la-Savane\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.36189977169774,46.49329251400959],[-72.38904779087696,46.51235517419307],[-72.4093886432324,46.52138714429679],[-72.42107691902757,46.513282645789815],[-72.44106029607299,46.52613643681111],[-72.45349953465791,46.516632672016335],[-72.48317430808004,46.53562545198166],[-72.49919853131179,46.521671692785226],[-72.45732872549922,46.4922852080614],[-72.48210520160087,46.478630941101805],[-72.44428323872967,46.45256304511353],[-72.43528416792856,46.44635297596492],[-72.39602403828204,46.467810514848736],[-72.36311694832843,46.47252713315017],[-72.36189977169774,46.49329251400959]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.42795154855848,\"lat\":46.490964141975894},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2437\"],\"cd_name_en\":[\"Francheville\"],\"csd_code\":[\"2437225\"],\"csd_name_en\":[\"Saint-Luc-de-Vincennes\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Francheville\",\"csd_name_fr\":\"Saint-Luc-de-Vincennes\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.5969995917984,46.4690587813507],[-72.58915534054566,46.47472297058794],[-72.61924542600782,46.49594627998592],[-72.59420717726897,46.50680862771886],[-72.55387666505322,46.534995299323995],[-72.53564681839049,46.5477011559148],[-72.58342295864162,46.580645645679056],[-72.65648370891114,46.53311293353892],[-72.74033668273903,46.47527191064532],[-72.7594800911026,46.46049961315791],[-72.74608132901628,46.45315392932523],[-72.71910246673566,46.428765349528085],[-72.7043604474526,46.42411452282278],[-72.6887157551648,46.42149901713966],[-72.67909976504596,46.411224340560985],[-72.5969995917984,46.4690587813507]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.64845701366053,\"lat\":46.4924021413859},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2437\"],\"cd_name_en\":[\"Francheville\"],\"csd_code\":[\"2437235\"],\"csd_name_en\":[\"Notre-Dame-du-Mont-Carmel\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Francheville\",\"csd_name_fr\":\"Notre-Dame-du-Mont-Carmel\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.01034111640531,46.5422604377087],[-72.04570928164,46.54508663061936],[-72.07569181455125,46.52747130372951],[-72.12726528324824,46.510822050940156],[-72.12891177876334,46.49863932809362],[-72.10739879831439,46.48311431588175],[-72.06142638202671,46.490126203029284],[-72.01018635314655,46.51104616731724],[-72.02469001182234,46.52142474484122],[-71.99487594883011,46.530736769724676],[-72.01034111640531,46.5422604377087]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.06411716529354,\"lat\":46.51349260083364},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2438\"],\"cd_name_en\":[\"B\\u00e9cancour\"],\"csd_code\":[\"2438055\"],\"csd_name_en\":[\"Parisville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"B\\u00e9cancour\",\"csd_name_fr\":\"Parisville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.70753307841404,45.7613157233956],[-71.83227415823774,45.82610509204368],[-71.86180995698884,45.79897181180989],[-71.87365131101556,45.79869852613117],[-71.89256247312574,45.78091790249048],[-71.88021830981324,45.77422216795667],[-71.90504848662069,45.750173997395564],[-71.76531427705918,45.676486887970924],[-71.68684301147678,45.75130055522916],[-71.70753307841404,45.7613157233956]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.79877841214552,\"lat\":45.751931416315166},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2440\"],\"cd_name_en\":[\"Les Sources\"],\"csd_code\":[\"2440017\"],\"csd_name_en\":[\"Wotton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Sources\",\"csd_name_fr\":\"Wotton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.04221921528514,45.07590509641093],[-73.03742848453592,45.09911269391761],[-73.0379460806913,45.12242056879098],[-73.02935437444282,45.13942099504211],[-73.0457654193303,45.14897295764973],[-73.0853436354707,45.15108273849224],[-73.08493421207817,45.13985323183132],[-73.10123222064918,45.1397489508081],[-73.09715589549376,45.10154055070307],[-73.11540819752314,45.09675853065103],[-73.11017816234494,45.07468573105097],[-73.04221921528514,45.07590509641093]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.07030982383544,\"lat\":45.110646220363954},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2446\"],\"cd_name_en\":[\"Brome-Missisquoi\"],\"csd_code\":[\"2446025\"],\"csd_name_en\":[\"Pike River\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Brome-Missisquoi\",\"csd_name_fr\":\"Pike River\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.75260547568193,45.94304599067693],[-72.80501596090886,45.98116607441068],[-72.81025068356008,45.9847899121192],[-72.86114127789835,45.97414285495866],[-72.87110566680175,45.979879448937176],[-72.88495962103345,45.9688484839471],[-72.90181584869057,45.96276145339794],[-72.91998885710662,45.92529883403162],[-72.89844129223773,45.90799327862978],[-72.85440222472468,45.87800280348025],[-72.8399894906664,45.89042839050583],[-72.8317699868031,45.88615008740543],[-72.7935934506317,45.90678917775717],[-72.75357285983979,45.942196668497466],[-72.75260547568193,45.94304599067693]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.8403910349609,\"lat\":45.93528220752481},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2453\"],\"cd_name_en\":[\"Pierre-De Saurel\"],\"csd_code\":[\"2453005\"],\"csd_name_en\":[\"Saint-David\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Pierre-De Saurel\",\"csd_name_fr\":\"Saint-David\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.93878250356279,45.868768093841204],[-72.96032357913062,45.88023203449193],[-73.0195509098816,45.890402932747136],[-73.02690021597667,45.90406655820277],[-73.03113403890637,45.9069511798418],[-73.05934054516153,45.88909418132703],[-73.0188215879934,45.85759947701432],[-72.94217544472498,45.7982734824155],[-72.92062734184702,45.83048826267539],[-72.9484629554445,45.8488663293701],[-72.93878250356279,45.868768093841204]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.98262690070369,\"lat\":45.856246298392975},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2454\"],\"cd_name_en\":[\"Les Maskoutains\"],\"csd_code\":[\"2454120\"],\"csd_name_en\":[\"Saint-Louis\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Maskoutains\",\"csd_name_fr\":\"Saint-Louis\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.96605038936777,45.45705619577011],[-72.9581189955877,45.47501578920619],[-73.00347141435758,45.479361304681795],[-73.00797554040362,45.47414741570848],[-73.01086881647461,45.43747809805186],[-73.02000180339074,45.423110208466404],[-73.03550147793933,45.42186865049902],[-73.0544486455471,45.41015850625801],[-73.04130132314384,45.40034051726295],[-73.04622997942727,45.38698750559501],[-73.02685393363821,45.3724983979476],[-73.00704993190865,45.37074843900718],[-73.00857296361082,45.34776361944851],[-72.99481315550439,45.33756677733035],[-72.97808346441312,45.33341487138884],[-72.96686145773025,45.37573930918538],[-72.94985131336144,45.36692516207482],[-72.94194348685862,45.39152251239908],[-72.92540090283451,45.394964549941896],[-72.92255087692462,45.41043435870005],[-72.93600060888807,45.41581176158103],[-72.93085426171152,45.43478690486953],[-72.96359666276005,45.43961660660692],[-72.96605038936777,45.45705619577011]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.98634169466938,\"lat\":45.408356301546455},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2455\"],\"cd_name_en\":[\"Rouville\"],\"csd_code\":[\"2455023\"],\"csd_name_en\":[\"Saint-C\\u00e9saire\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Rouville\",\"csd_name_fr\":\"Saint-C\\u00e9saire\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.81923613788832,45.04694199574813],[-73.79551654914343,45.066977390839725],[-73.82919454361952,45.089862555846516],[-73.83212856947533,45.10209459382964],[-73.85294602350145,45.08857996398318],[-73.87079681734743,45.10185136615469],[-73.87342907643105,45.103855300325534],[-73.89624900239426,45.0899171537913],[-73.9021718999903,45.09464169409819],[-73.9343919335591,45.08024644159049],[-73.9961369357742,45.040917116212945],[-73.98764967619215,45.033877407206006],[-73.98270371768969,44.99726365324489],[-73.85833191540425,45.00176911302964],[-73.85823198713166,45.03113698237834],[-73.81923613788832,45.04694199574813]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.90035528506095,\"lat\":45.046585184361696},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2469\"],\"cd_name_en\":[\"Le Haut-Saint-Laurent\"],\"csd_code\":[\"2469010\"],\"csd_name_en\":[\"Franklin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Saint-Laurent\",\"csd_name_fr\":\"Franklin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.76784545152506,45.64872150244062],[-73.79641309847158,45.66244984620383],[-73.81303965631837,45.64294264633221],[-73.8284672834388,45.63021688524446],[-73.80796546746612,45.61074046122766],[-73.79452239264528,45.6161927918344],[-73.78701167341531,45.63110535907063],[-73.76784545152506,45.64872150244062]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.79915814379942,\"lat\":45.636761755905255},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2473\"],\"cd_name_en\":[\"Th\\u00e9r\\u00e8se-De Blainville\"],\"csd_code\":[\"2473020\"],\"csd_name_en\":[\"Rosem\\u00e8re\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Th\\u00e9r\\u00e8se-De Blainville\",\"csd_name_fr\":\"Rosem\\u00e8re\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.32796910175065,45.738786010369026],[-74.3137789152951,45.79308154089737],[-74.3101194948802,45.8240533803907],[-74.3091447384996,45.828979526863385],[-74.30870026371056,45.83373697062676],[-74.4125726912271,45.846981315970964],[-74.4230728310076,45.846249494976384],[-74.43560896607663,45.77057362397997],[-74.44012611129493,45.752696408545226],[-74.32796910175065,45.738786010369026]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.37376767914763,\"lat\":45.79340900392865},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2476\"],\"cd_name_en\":[\"Argenteuil\"],\"csd_code\":[\"2476035\"],\"csd_name_en\":[\"Wentworth\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Argenteuil\",\"csd_name_fr\":\"Wentworth\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.23288333115715,46.44429622672109],[-75.23281122728852,46.472807657936436],[-75.2663639535896,46.472852612345854],[-75.26550357092158,46.51092759936638],[-75.25772388342455,46.51633821395627],[-75.27191813306894,46.5255177675016],[-75.28710745763362,46.5147771472862],[-75.29682299850333,46.52127906852859],[-75.31093285892061,46.51104987901276],[-75.32103672670783,46.517784435621145],[-75.3431888306151,46.501644564197115],[-75.40648202022751,46.501103399185254],[-75.49767798682538,46.50000312547854],[-75.5038534217445,46.49398871323075],[-75.48216126967486,46.47189957991177],[-75.46095317936359,46.46550506358958],[-75.44234113900713,46.443415006495414],[-75.44309594161028,46.438191068655144],[-75.42764273631283,46.42974156525687],[-75.4340089827601,46.39868191535608],[-75.4156935818084,46.37966371034149],[-75.44323610621146,46.36352660052933],[-75.45932158629684,46.35794105762184],[-75.45930431218697,46.23068665973844],[-75.3964380670524,46.23080624848367],[-75.39583219844285,46.26816829140195],[-75.37885494091203,46.2849814554465],[-75.39050865113742,46.30576988215425],[-75.37810513482344,46.32682505085575],[-75.3689894891945,46.33321206553799],[-75.36631479943871,46.35348716274035],[-75.35066128949381,46.3466538626329],[-75.33388078995594,46.3469006005127],[-75.33666728289542,46.37279640487511],[-75.29632731109585,46.365522413114],[-75.26500863523441,46.35346140161804],[-75.2644104852962,46.311285734841825],[-75.23359483830366,46.31097599709752],[-75.23215733175729,46.37336333604272],[-75.21347340034288,46.373286013968624],[-75.21254951231357,46.40191433543653],[-75.23242274291742,46.401749565467576],[-75.23288333115715,46.44429622672109]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.35632024538332,\"lat\":46.40062467786971},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2479\"],\"cd_name_en\":[\"Antoine-Labelle\"],\"csd_code\":[\"2479025\"],\"csd_name_en\":[\"Kiamika\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Antoine-Labelle\",\"csd_name_fr\":\"Kiamika\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.96943293554943,45.729729547998346],[-74.96903643796263,45.74612586159823],[-74.99125059360989,45.756473704757674],[-75.01828093262864,45.7504779783677],[-75.01509126900537,45.76796501936666],[-75.0206452377281,45.7729426122625],[-75.00910844134224,45.79057809485433],[-75.0382189079404,45.79493059357635],[-75.02749285609478,45.836601787117225],[-75.03904684191893,45.83283472602913],[-75.08042479377835,45.820080753097315],[-75.07347723386458,45.8065479921776],[-75.08348247793148,45.80272105162253],[-75.0939563123749,45.77604290453407],[-75.09738045752023,45.75701182234522],[-75.11083614493296,45.719025503423154],[-75.12962098942698,45.66104072377059],[-75.13483253752466,45.64461108884076],[-75.12040177750416,45.65230200947779],[-75.09564324963257,45.6535905656329],[-75.07998169199571,45.664603786512814],[-75.05979646889028,45.66963763246107],[-75.01209215122077,45.672937198617596],[-74.99896223291448,45.69774651185313],[-74.98230145363199,45.697952984487586],[-74.96963670568019,45.71646752230418],[-74.96943293554943,45.729729547998346]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.05282083712892,\"lat\":45.73147476879023},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2480\"],\"cd_name_en\":[\"Papineau\"],\"csd_code\":[\"2480027\"],\"csd_name_en\":[\"Saint-Andr\\u00e9-Avellin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Papineau\",\"csd_name_fr\":\"Saint-Andr\\u00e9-Avellin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.57438974782826,45.97180842510253],[-75.6004589281792,45.97160702270195],[-75.60167351564893,45.99478661645617],[-75.62214942800806,45.99463391262982],[-75.62228763267018,45.98284714940777],[-75.66200293308735,45.98213679497933],[-75.66907789034991,45.970318571232],[-75.73350491266342,45.97009696342732],[-75.7463264669843,45.9742123991477],[-75.76049597423025,45.960581471892304],[-75.78036087456411,45.964230733438065],[-75.78053141033142,45.95694590475674],[-75.75665608544195,45.937358006139405],[-75.73797949816847,45.91403871081455],[-75.73690443540123,45.90122988053682],[-75.73641845527337,45.82499620607682],[-75.64116811542917,45.83390703587377],[-75.65298802843053,45.841049823301354],[-75.64929281048965,45.86727540417289],[-75.62098096148192,45.88858273776096],[-75.61402867802283,45.90773368950355],[-75.59022450606788,45.91881775838184],[-75.59591863851199,45.92680114571316],[-75.58849397565983,45.9527607863504],[-75.57438974782826,45.97180842510253]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.6769224905444,\"lat\":45.91501829596543},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2480\"],\"cd_name_en\":[\"Papineau\"],\"csd_code\":[\"2480145\"],\"csd_name_en\":[\"Bowman\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Papineau\",\"csd_name_fr\":\"Bowman\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.02056844132824,46.20988977162483],[-75.99742205601298,46.20985503852133],[-75.99835138671749,46.22511774028827],[-75.97962767394024,46.226067033989],[-75.9804425253426,46.28085837827468],[-75.93978855448367,46.28283815790308],[-75.92554624128027,46.2969670167979],[-75.93490570602215,46.3063784286797],[-76.02258646426789,46.30487830801771],[-76.15501358461796,46.30477762847156],[-76.15435929454958,46.2317534783223],[-76.07272058820018,46.23263518987401],[-76.05040586084581,46.21452464563037],[-76.02056844132824,46.20988977162483]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.05492099400351,\"lat\":46.2662956070764},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2483\"],\"cd_name_en\":[\"La Vall\\u00e9e-de-la-Gatineau\"],\"csd_code\":[\"2483060\"],\"csd_name_en\":[\"Messines\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-de-la-Gatineau\",\"csd_name_fr\":\"Messines\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.0905232800601,47.7246789986909],[-76.10986269923417,47.71887499765466],[-76.13197808163898,47.72238420842025],[-76.15512310655112,47.71578179449457],[-76.16428681584864,47.725064804640795],[-76.18717861358986,47.729105200480205],[-76.23737158029657,47.72153140722301],[-76.25624398372494,47.696450095041726],[-76.2885806894497,47.68317468849882],[-76.30725099384841,47.6663778946357],[-76.32480859530857,47.66824999594912],[-76.34686292815127,47.654012640664604],[-76.38433040694137,47.65039554356339],[-76.39865868834605,47.656042908274756],[-76.4110261972473,47.64074359154412],[-76.43154871237714,47.63116901231648],[-76.45180411812177,47.62882248938597],[-76.46284549473498,47.61411959550931],[-76.48089819605877,47.61157850315359],[-76.48437310488752,47.601306510411774],[-76.44653631013105,47.60118721270376],[-76.42138257257783,47.60764239759265],[-76.41689458638214,47.59946949698489],[-76.40965202290057,47.56087344284607],[-76.42422667372175,47.5129528237768],[-76.31234594933484,47.43767941888441],[-76.15960674675715,47.33727993603516],[-75.97087290279103,47.215075609340495],[-75.96753448704719,47.21295239626213],[-75.95259847978114,47.22913383467684],[-75.92368053599864,47.24513376255945],[-75.9024539112089,47.266615145011635],[-75.88157190274622,47.28263366086292],[-75.8385625062484,47.310277465224516],[-75.79709583113943,47.3171421459896],[-75.74006119155469,47.28958148573722],[-75.74135651279613,47.2766632880457],[-75.72580222781394,47.26800480237597],[-75.7123538580819,47.26894104707587],[-75.70814820430617,47.28406700241993],[-75.68632761461735,47.27940730453051],[-75.6635472312953,47.286523221003705],[-75.64853661793242,47.28262300097248],[-75.64674108209218,47.253688398279735],[-75.62233553859988,47.22824442128012],[-75.62898850125652,47.21874130402751],[-75.62577944426879,47.18115635276989],[-75.59685149799682,47.18446438407369],[-75.57142821994236,47.207244764958055],[-75.55909060356153,47.20755050749615],[-75.52296384097455,47.24686918382296],[-75.49146378822682,47.27331118648758],[-75.48041001204052,47.27580189987448],[-75.46759848288279,47.2919313788002],[-75.46483220078967,47.30391753126064],[-75.53952844537632,47.3568650793307],[-75.69884669270871,47.466966840175914],[-76.00061217788588,47.66313033913222],[-76.0905232800601,47.7246789986909]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.99787223626763,\"lat\":47.462843933458046},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2483\"],\"cd_name_en\":[\"La Vall\\u00e9e-de-la-Gatineau\"],\"csd_code\":[\"2483906\"],\"csd_name_en\":[\"Lac-Len\\u00f4tre\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-de-la-Gatineau\",\"csd_name_fr\":\"Lac-Len\\u00f4tre\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.48333014186503,45.59579852223826],[-76.47217522060018,45.60850038356398],[-76.50918915159251,45.62223938185763],[-76.51890707230565,45.60902175511375],[-76.48333014186503,45.59579852223826]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.49586300117899,\"lat\":45.60893123792591},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2484\"],\"cd_name_en\":[\"Pontiac\"],\"csd_code\":[\"2484010\"],\"csd_name_en\":[\"Shawville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Pontiac\",\"csd_name_fr\":\"Shawville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.92078099190648,46.7418035881663],[-78.94129565490908,46.74946281091734],[-78.94675563964121,46.763803526080785],[-78.965176456861,46.78471759115287],[-78.97409582376771,46.80929839976609],[-78.98746222459029,46.825036567991305],[-79.04217569992959,46.803304202052566],[-79.01999692964507,46.7913634738065],[-79.0124308811718,46.781908876303994],[-79.03326079317276,46.77070981371435],[-79.04317739192902,46.7810247572125],[-79.06197454964972,46.77385809820743],[-79.05133005777721,46.75148606933885],[-79.03994022654207,46.740038332837614],[-78.99631403007663,46.7575956487552],[-78.93339874182159,46.7428510385208],[-78.92078099190648,46.7418035881663]],[[-78.98963344991154,46.78554490857409],[-78.98799505238246,46.79221085329316],[-78.97978140234324,46.78632915295598],[-78.98963344991154,46.78554490857409]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.00011369665364,\"lat\":46.77752685124684},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2485\"],\"cd_name_en\":[\"T\\u00e9miscamingue\"],\"csd_code\":[\"2485010\"],\"csd_name_en\":[\"Kipawa\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscamingue\",\"csd_name_fr\":\"Kipawa\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.93063625158287,47.27536927013663],[-78.76613847247712,47.27619968798187],[-78.54691387163513,47.27581936533877],[-78.54590525063745,47.31674517529985],[-78.54499219419235,47.46252271635624],[-78.69710638877972,47.46352255358985],[-78.82172286307345,47.46244403165795],[-78.93291932443118,47.46264793361461],[-78.93023349979397,47.39718710502749],[-78.93063625158287,47.27536927013663]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.73821587216905,\"lat\":47.369527818784036},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2485\"],\"cd_name_en\":[\"T\\u00e9miscamingue\"],\"csd_code\":[\"2485065\"],\"csd_name_en\":[\"Belleterre\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscamingue\",\"csd_name_fr\":\"Belleterre\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.93291932443118,47.46264793361461],[-78.82172286307345,47.46244403165795],[-78.81962240894643,47.52269214177398],[-78.81991268608213,47.56524764234264],[-78.80554847618141,47.565410769501334],[-78.73683831675932,47.5965771682493],[-78.7366925905844,47.658079266141584],[-78.70919407220221,47.70250208333332],[-78.97660131260727,47.70304740190021],[-78.97708772472315,47.6480819961358],[-78.97615538483765,47.54918963437838],[-78.9853743612988,47.542165574662135],[-78.99356827327819,47.5236086764225],[-79.02332341817801,47.51453167419468],[-79.03994429239528,47.504841335023144],[-79.06622439898827,47.50000295459725],[-79.06514339922525,47.47186168141334],[-78.93298121485884,47.470795757464636],[-78.93291932443118,47.46264793361461]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.88142173753586,\"lat\":47.589604755459014},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2485\"],\"cd_name_en\":[\"T\\u00e9miscamingue\"],\"csd_code\":[\"2485075\"],\"csd_name_en\":[\"Moffet\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscamingue\",\"csd_name_fr\":\"Moffet\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.12526080941876,48.90821960465428],[-79.14514057938098,48.908229944254145],[-79.14516409811317,48.937845158895236],[-79.17865369715213,48.93757758831311],[-79.17833912880833,48.9666506935753],[-79.2291163798149,48.96645075463004],[-79.22815852306293,48.99657824358266],[-79.1752640233632,48.996007478510606],[-79.1770277597683,49.009310966912054],[-79.29939292563581,49.00945517262591],[-79.29888925856535,48.93696244926272],[-79.35800537116775,48.93719061596802],[-79.35805688946726,48.907919433122416],[-79.32993760716832,48.90814211237008],[-79.32993855306088,48.87868986888358],[-79.29879408834586,48.87875505116284],[-79.16715795418256,48.87875378275187],[-79.12528851094972,48.87874880879711],[-79.12526080941876,48.90821960465428]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.24193174895372,\"lat\":48.9319291893869},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2487\"],\"cd_name_en\":[\"Abitibi-Ouest\"],\"csd_code\":[\"2487110\"],\"csd_name_en\":[\"Clermont\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi-Ouest\",\"csd_name_fr\":\"Clermont\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.35800537116775,48.93719061596802],[-79.35868168020991,48.96636401457044],[-79.40771045571779,48.9662878809928],[-79.40813383647489,48.995350375732755],[-79.44480227443798,48.995250965754266],[-79.44558912695423,49.00843034776519],[-79.5180578824896,49.008060578973264],[-79.51784085860922,48.93723456518985],[-79.47944369741974,48.93749068765668],[-79.47918065360912,48.907981549427014],[-79.40860314923763,48.9079497376454],[-79.35805688946726,48.907919433122416],[-79.35800537116775,48.93719061596802]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.44222416595856,\"lat\":48.95470977509646},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2487\"],\"cd_name_en\":[\"Abitibi-Ouest\"],\"csd_code\":[\"2487120\"],\"csd_name_en\":[\"Saint-Lambert\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi-Ouest\",\"csd_name_fr\":\"Saint-Lambert\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.07613408721119,47.647909592829286],[-72.17803536913291,47.720017950395885],[-72.2113559911594,47.744703643873194],[-72.35162930946443,47.83770793807806],[-72.38474564930969,47.826612079600125],[-72.38673117864218,47.789789945673256],[-72.39896461007616,47.78642425737939],[-72.40671973723633,47.798725099879256],[-72.42660391691985,47.79515604498492],[-72.46215310164926,47.80643296697135],[-72.48291336941749,47.800073693265425],[-72.4819328703954,47.78117504597276],[-72.48967038257457,47.73419259815585],[-72.50394940529313,47.70412292230397],[-72.54900075819229,47.684904898664016],[-72.56749612388005,47.68069179395553],[-72.57496873761357,47.66155580080518],[-72.60615174468262,47.63775810326041],[-72.53779345549898,47.59286185853495],[-72.4638000840025,47.54228379659964],[-72.3866573857123,47.489112385275924],[-72.35712372623667,47.48175711990667],[-72.30132485517719,47.44505367234283],[-72.18553344821217,47.36572575450774],[-72.16135360964813,47.3867743728718],[-72.14564787180576,47.39958030089993],[-72.14734136826506,47.41910558464626],[-72.16260792177289,47.425363182387535],[-72.1739942510362,47.43895860098386],[-72.17249484530227,47.45818892124138],[-72.16285410720538,47.468965417019575],[-72.20176349974429,47.48780000631164],[-72.21452777509107,47.51516892413586],[-72.23967849243319,47.535954408225564],[-72.07613408721119,47.647909592829286]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.33092903924447,\"lat\":47.62592130701739},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2490\"],\"cd_name_en\":[\"La Tuque\"],\"csd_code\":[\"2490027\"],\"csd_name_en\":[\"Lac-\\u00c9douard\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Tuque\",\"csd_name_fr\":\"Lac-\\u00c9douard\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.21271380406132,48.965346449160236],[-72.26140357966058,49.00623759588132],[-72.31109399824054,49.052671442168986],[-72.33129333307494,49.047710009713335],[-72.32782736191326,49.03219137592159],[-72.39139681579088,48.99844107367254],[-72.37215676241458,48.990133112976594],[-72.33836820430545,48.99611536716471],[-72.32907116374817,48.989062707242766],[-72.330876963908,48.96749412881304],[-72.32611433465155,48.96071398614085],[-72.32892475344431,48.939158143352145],[-72.31753334095399,48.921584349941405],[-72.30513128860335,48.91817515847206],[-72.28337857648826,48.913949571522885],[-72.24838928183254,48.925200268658664],[-72.23056555589626,48.93577159510735],[-72.23770149782717,48.95357520396098],[-72.21271380406132,48.965346449160236]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.29374694552487,\"lat\":48.97846963460193},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2492\"],\"cd_name_en\":[\"Maria-Chapdelaine\"],\"csd_code\":[\"2492065\"],\"csd_name_en\":[\"Saint-Eug\\u00e8ne-d'Argentenay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Maria-Chapdelaine\",\"csd_name_fr\":\"Saint-Eug\\u00e8ne-d'Argentenay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.3210101415522,48.771763904259906],[-71.36547417066308,48.80205761755778],[-71.40297301379812,48.837113458603675],[-71.4612900851399,48.849493605721925],[-71.46354832477435,48.83444112531162],[-71.47865911935797,48.82828687835301],[-71.48275206096869,48.8097392330253],[-71.49628809959324,48.80630992359382],[-71.49029086260973,48.78760013101949],[-71.50716445055505,48.77460775929473],[-71.5210740125833,48.774457107052335],[-71.54417286925045,48.78605377846134],[-71.5509019766955,48.76921292715995],[-71.38934383950782,48.74018970171282],[-71.37291167332376,48.78063772138843],[-71.3210101415522,48.771763904259906]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.4341952132813,\"lat\":48.79068261751951},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2493\"],\"cd_name_en\":[\"Lac-Saint-Jean-Est\"],\"csd_code\":[\"2493060\"],\"csd_name_en\":[\"Lamarche\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Lac-Saint-Jean-Est\",\"csd_name_fr\":\"Lamarche\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.92299569468452,48.58196708027274],[-70.96650268174439,48.59339197761848],[-70.96130501320314,48.578253682465316],[-70.97743456025732,48.565672108794175],[-70.99920612197818,48.562031355280396],[-70.97760742587647,48.52465971374332],[-70.9682578416749,48.51734680128509],[-70.97843401044686,48.48050442406255],[-70.98535240184484,48.453320338370425],[-70.94814074873135,48.44708553300291],[-70.90226780906131,48.430169432312894],[-70.87223109177398,48.424942912528046],[-70.83630728476521,48.41378231047773],[-70.77210267119689,48.41408648788305],[-70.75146581212199,48.408764456550024],[-70.73732815616079,48.395690921922615],[-70.73374984573829,48.38274703670431],[-70.69946483952586,48.46196136802883],[-70.63283655548189,48.449670403268065],[-70.58405933161738,48.43896968942594],[-70.51130768049805,48.42543651023667],[-70.48945855504611,48.48103813601105],[-70.72209704157675,48.524203670923676],[-70.72634351292778,48.53048184322513],[-70.76995316419973,48.539087358932626],[-70.79062179370749,48.536795166019076],[-70.84371621569416,48.544268800148124],[-70.8908970987406,48.56849060136351],[-70.92299569468452,48.58196708027274]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.78547647868349,\"lat\":48.485460567674124},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2494\"],\"cd_name_en\":[\"Le Saguenay-et-son-Fjord\"],\"csd_code\":[\"2494235\"],\"csd_name_en\":[\"Saint-Fulgence\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Saguenay-et-son-Fjord\",\"csd_name_fr\":\"Saint-Fulgence\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.45939000933566,48.966414556793154],[-68.54121749620745,49.0154730790608],[-68.5829670796308,49.052391924366454],[-68.57053900861766,49.083597962680926],[-68.56138892876986,49.08759105798587],[-68.56276169826167,49.12500371037885],[-68.5688677496134,49.13390828313863],[-68.58942349885399,49.125675167906856],[-68.6215250172565,49.12591359663628],[-68.61948307923622,49.13868539930417],[-68.62621199477839,49.15618319561541],[-68.60946631016937,49.176858205861876],[-68.78984673777863,49.08576262446556],[-68.83440567442227,49.059196085929365],[-68.79364249420982,49.05990240461127],[-68.77628618867408,49.051723100528335],[-68.77843660639097,49.03473819760555],[-68.76920079159693,49.006646497096234],[-68.72175668875506,48.99176230123806],[-68.71961009985291,48.96931989625566],[-68.76128540886556,48.94978801299444],[-68.76373361818442,48.941265894019516],[-68.7465954984772,48.93892190001552],[-68.70019656452511,48.94222885222866],[-68.68701614880061,48.92979229415554],[-68.65613592712434,48.91975133052419],[-68.63022276911343,48.92989540648316],[-68.60946719527725,48.92668299104357],[-68.33498811994436,48.81107846780632],[-68.32507927581639,48.81665667521235],[-68.27448727700335,48.84512388358555],[-68.2745550599911,48.85495163155535],[-68.45939000933566,48.966414556793154]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.5769785939112,\"lat\":48.985406318107984},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2496\"],\"cd_name_en\":[\"Manicouagan\"],\"csd_code\":[\"2496802\"],\"csd_name_en\":[\"Pessamit\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Manicouagan\",\"csd_name_fr\":\"Pessamit\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.8090096995505,62.44685582421552],[-77.81880281059128,62.43470968949833],[-77.88054901046876,62.43079441254396],[-77.91248529289118,62.42087450216793],[-77.93789317927502,62.41979779127418],[-77.93994039757217,62.40492968574174],[-77.89702361861717,62.379895397791046],[-77.89661806388641,62.37431513674001],[-77.79978446844538,62.37543855901302],[-77.8090096995505,62.44685582421552]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.86101809977056,\"lat\":62.40406745931065},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499140\"],\"csd_name_en\":[\"Ivujivik\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village nordique\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Ivujivik\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.51957087097803,44.732101359272505],[-75.53918661655023,44.72086577678697],[-75.5218720340452,44.7011420204564],[-75.50271434630231,44.70978248969665],[-75.51957087097803,44.732101359272505]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.5208410137716,\"lat\":44.716202304274645},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3507\"],\"cd_name_en\":[\"Leeds and Grenville\"],\"csd_code\":[\"3507008\"],\"csd_name_en\":[\"Prescott\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Leeds and Grenville\",\"csd_name_fr\":\"Prescott\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.50000153178937,44.01523808730561],[-76.43874526958304,44.09412983271118],[-76.35269050872853,44.134381429416635],[-76.31264738230647,44.19912227247269],[-76.28643247802928,44.20387706595999],[-76.24541934584308,44.20391746527297],[-76.19156937633157,44.22155284417537],[-76.16426276239272,44.23988564905078],[-76.1618122208009,44.28074333629934],[-76.1998552961853,44.29396829353077],[-76.19841961972934,44.30465047685859],[-76.21432298753606,44.30834594971653],[-76.2334983116261,44.305228481488506],[-76.26452024446948,44.30395574568165],[-76.29045169468787,44.29671524357446],[-76.3617504377099,44.25614381988691],[-76.3804149311043,44.250088123383975],[-76.39192663836042,44.235067418819106],[-76.41828693756001,44.22511263980063],[-76.4688613015955,44.21314757390657],[-76.47680529580286,44.20041190538975],[-76.47342023000935,44.19027663166135],[-76.49048899661389,44.18222310442426],[-76.508392639822,44.187662765296],[-76.54470869562657,44.18330345961026],[-76.59028334907376,44.16161063536936],[-76.52473737456343,44.05517251719347],[-76.50000153178937,44.01523808730561]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.3858937879683,\"lat\":44.183467153407165},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3510\"],\"cd_name_en\":[\"Frontenac\"],\"csd_code\":[\"3510005\"],\"csd_name_en\":[\"Frontenac Islands\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Frontenac\",\"csd_name_fr\":\"Frontenac Islands\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.52566459620745,44.72119583474371],[-76.54459715744127,44.74069487934262],[-76.64054264199528,44.71272558291745],[-76.67742990067514,44.703154675723766],[-76.66687877342765,44.656261288893646],[-76.63602334897996,44.530183416860616],[-76.7179620023392,44.52205171111433],[-76.76750506172715,44.52081193412857],[-76.84072867484346,44.52356558497959],[-76.82535499267522,44.50728650649095],[-76.77552478829926,44.43725719652697],[-76.72873541759185,44.374071274871845],[-76.71279459664213,44.35179371049682],[-76.6480711968227,44.355757011150686],[-76.56821225230817,44.357325476036564],[-76.56820027455736,44.338689152226465],[-76.3982848172831,44.346074513896724],[-76.38746425986419,44.35621766029665],[-76.35679914083164,44.36403142556882],[-76.33461175432359,44.378721677103805],[-76.31821852586556,44.399891872884574],[-76.30772072498903,44.42742760704793],[-76.29572090094649,44.4481570415211],[-76.28053845970959,44.45839597910275],[-76.26812404803871,44.47353414173301],[-76.25210899439351,44.48028449807448],[-76.25484448509415,44.49800856604585],[-76.26265193025587,44.49057346797923],[-76.27783830210228,44.50140710818321],[-76.36381115206235,44.57285669280673],[-76.41981073287275,44.62341011876169],[-76.52566459620745,44.72119583474371]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.53492235593386,\"lat\":44.5050276384808},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3510\"],\"cd_name_en\":[\"Frontenac\"],\"csd_code\":[\"3510020\"],\"csd_name_en\":[\"South Frontenac\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Frontenac\",\"csd_name_fr\":\"South Frontenac\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.63024409733835,44.645388733431474],[-77.72049088632815,44.81360190521017],[-77.75673091262158,44.80475881352809],[-77.88448063294754,44.76988667141803],[-77.88747432537879,44.76910851179704],[-77.8293805858045,44.63061350659235],[-77.79739180873933,44.57250699466114],[-77.75915870690184,44.49436791254091],[-77.72737240824841,44.43647221004129],[-77.5560662391801,44.47834687844066],[-77.63024409733835,44.645388733431474]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.72278359794242,\"lat\":44.62422798866216},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3512\"],\"cd_name_en\":[\"Hastings\"],\"csd_code\":[\"3512046\"],\"csd_name_en\":[\"Marmora and Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Hastings\",\"csd_name_fr\":\"Marmora and Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.06147791708236,44.25991221514069],[-78.11559721132993,44.36558710635919],[-78.20377759147716,44.34359129836794],[-78.29321250821513,44.32232210395661],[-78.28286552927888,44.30046995549505],[-78.28162603344931,44.27915548607437],[-78.30589677707545,44.27082675949772],[-78.31391861472518,44.25798220625699],[-78.33481774334183,44.259184579638244],[-78.33640330492473,44.240076106491145],[-78.3431476910279,44.23518415523116],[-78.35467363977632,44.211882380991334],[-78.38734981416738,44.20441310999257],[-78.34703320008303,44.11986848635368],[-78.30806440376766,44.12924670051655],[-78.29255222094989,44.12492684853594],[-78.27098870995088,44.12649695287478],[-78.22661743868133,44.14987857448989],[-78.22031446314196,44.14271369759292],[-78.17854700875623,44.1712951222802],[-78.1452053454133,44.19387524343055],[-78.08183201108551,44.25449460932099],[-78.06147791708236,44.25991221514069]],[[-78.2089660151175,44.21249026983436],[-78.20389425808408,44.19617351527474],[-78.19199432055721,44.18959583627472],[-78.21943538840611,44.1681721999467],[-78.23725142544276,44.17680103539833],[-78.24150887624911,44.187233343893],[-78.21214159128895,44.19481758793347],[-78.21996543660586,44.21063496377295],[-78.2089660151175,44.21249026983436]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.2233620980103,\"lat\":44.241905159546334},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3515\"],\"cd_name_en\":[\"Peterborough\"],\"csd_code\":[\"3515005\"],\"csd_name_en\":[\"Otonabee-South Monaghan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Peterborough\",\"csd_name_fr\":\"Otonabee-South Monaghan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.97050702978237,43.83350446416148],[-79.00854293234248,43.92250230623077],[-79.08850819575918,43.90418089934883],[-79.0773944599234,43.89467205725003],[-79.06969045263136,43.87614057296982],[-79.07873226302657,43.87083502624808],[-79.06078088582109,43.84183178922938],[-79.05156861751561,43.845461522658795],[-79.03866744646199,43.81599643625098],[-79.02498724875362,43.81576749497995],[-78.99831675522356,43.82624950586005],[-78.97050702978237,43.83350446416148]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.02756939979757,\"lat\":43.86915508975955},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3518\"],\"cd_name_en\":[\"Durham\"],\"csd_code\":[\"3518005\"],\"csd_name_en\":[\"Ajax\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Durham\",\"csd_name_fr\":\"Ajax\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.50940675604701,44.063640380667216],[-79.53183718641075,44.150829059634624],[-79.54123839577248,44.146291870095986],[-79.54314992641896,44.12354883188123],[-79.55688086326435,44.07574965980245],[-79.59910323215401,44.04794590268064],[-79.61559603963862,44.04675150481601],[-79.61307605158156,44.032774599886324],[-79.67041827051331,44.0128721493188],[-79.7755043990594,43.98975751106231],[-79.71151275544555,43.87576071012154],[-79.69717476853664,43.8772875341611],[-79.59987059981621,43.898649598108314],[-79.47774487088314,43.9242717897015],[-79.48554858650894,43.957479589320336],[-79.49949149997964,44.016470498375156],[-79.50940675604701,44.063640380667216]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.60913826998248,\"lat\":43.97577729202406},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3519\"],\"cd_name_en\":[\"York\"],\"csd_code\":[\"3519049\"],\"csd_name_en\":[\"King\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"York\",\"csd_name_fr\":\"King\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.75362443127716,43.0943440421311],[-80.76132858443628,43.11139806334403],[-80.7741679731577,43.109451639364956],[-80.78434948049627,43.117769156987904],[-80.8052062779433,43.11031795553037],[-80.84140157931311,43.08711862584929],[-80.85353360251486,43.06407380067756],[-80.87143715025184,43.0483311749099],[-80.85671920908551,43.038088352143404],[-80.85676450388524,43.02581979900748],[-80.88048251764778,43.01058339375753],[-80.90838099579906,43.027345253913715],[-80.9429174807455,43.01396484296295],[-80.9469937858058,43.009460613912026],[-80.93378659237077,42.99940640066626],[-80.92300591145154,43.000787306703764],[-80.89869379174996,42.91256189707199],[-80.87701438679406,42.82964699670766],[-80.85670990834231,42.83256809166796],[-80.76183128550726,42.84647639400869],[-80.75070844873468,42.848067094591485],[-80.76112631504722,42.88380657079671],[-80.72345103525353,42.889651903304504],[-80.71779820656302,42.86977050707716],[-80.70516252178918,42.870060499380564],[-80.74659048282572,43.023872907725305],[-80.7236851072556,43.02730480631205],[-80.74338821477316,43.082515298572886],[-80.75362443127716,43.0943440421311]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.81421173751826,\"lat\":42.96511313606695},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3532\"],\"cd_name_en\":[\"Oxford\"],\"csd_code\":[\"3532012\"],\"csd_name_en\":[\"South-West Oxford\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Oxford\",\"csd_name_fr\":\"South-West Oxford\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.72369444844708,42.50780935324754],[-80.71781140236358,42.73589799007812],[-80.71713209265545,42.78820722854091],[-80.74463614616927,42.823983762753805],[-80.76183128550726,42.84647639400869],[-80.85670990834231,42.83256809166796],[-80.86044842889295,42.642020378949795],[-80.86247097478048,42.514106069865136],[-80.72369444844708,42.50780935324754]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.79052858698897,\"lat\":42.67225392294944},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3534\"],\"cd_name_en\":[\"Elgin\"],\"csd_code\":[\"3534005\"],\"csd_name_en\":[\"Bayham\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Elgin\",\"csd_name_fr\":\"Bayham\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.88507325238781,42.59050285462161],[-81.90545135879785,42.582904956985416],[-81.90683318166201,42.56584269784524],[-81.87988139898059,42.54399188956375],[-81.85098628833508,42.56411280961833],[-81.88507325238781,42.59050285462161]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.88236241297169,\"lat\":42.56798863355588},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3536\"],\"cd_name_en\":[\"Chatham-Kent\"],\"csd_code\":[\"3536029\"],\"csd_name_en\":[\"Moravian 47\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Chatham-Kent\",\"csd_name_fr\":\"Moravian 47\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.23716690075054,45.58714791994589],[-79.30158667415687,45.70616524339026],[-79.45733781045004,45.66413568211774],[-79.39243534032553,45.544856468681],[-79.23716690075054,45.58714791994589]],[[-79.41925689513367,45.615340301167556],[-79.41438410157433,45.625516891074845],[-79.39764052261631,45.630809325446336],[-79.39003328502325,45.617962299342764],[-79.41925689513367,45.615340301167556]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.34644192095121,\"lat\":45.62563073690028},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3549\"],\"cd_name_en\":[\"Parry Sound\"],\"csd_code\":[\"3549019\"],\"csd_name_en\":[\"Armour\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Parry Sound\",\"csd_name_fr\":\"Armour\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.45733781045004,45.66413568211774],[-79.62712830282764,45.619208192313096],[-79.56270690040397,45.49895430584946],[-79.40685417583393,45.54092041108915],[-79.39243534032553,45.544856468681],[-79.45733781045004,45.66413568211774]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.50995166466853,\"lat\":45.5817040476472},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3549\"],\"cd_name_en\":[\"Parry Sound\"],\"csd_code\":[\"3549024\"],\"csd_name_en\":[\"Ryerson\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Parry Sound\",\"csd_name_fr\":\"Ryerson\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.93176954574527,45.84128380551018],[-81.90459489836468,45.84524381085435],[-81.90486268250915,45.88225139769972],[-81.93093611582722,45.88214149541996],[-81.95739636150468,45.88826155006041],[-81.95697528272159,45.84204731560937],[-81.95691384910717,45.832748022765614],[-81.93178581763057,45.832504485045064],[-81.93176954574527,45.84128380551018]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.93312885752094,\"lat\":45.86066250381407},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3551\"],\"cd_name_en\":[\"Manitoulin\"],\"csd_code\":[\"3551042\"],\"csd_name_en\":[\"Sheguiandah 24\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Manitoulin\",\"csd_name_fr\":\"Sheguiandah 24\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.7877574250256,45.691487596625876],[-81.76206625687166,45.69884920197975],[-81.74646023817961,45.679609310931035],[-81.74958835592423,45.67250499341423],[-81.79177662942571,45.659699798382775],[-81.8064055372314,45.6424144948086],[-81.83694553712886,45.632032408260365],[-81.85985052919146,45.61885561265293],[-81.88129926081126,45.60098690582887],[-81.88891434044825,45.56921689694228],[-81.90830234352957,45.572277693270536],[-81.9081998330259,45.58420500557763],[-81.91876233769464,45.59518289442747],[-81.9410877426572,45.59384001033611],[-82.01297164298668,45.55369230923611],[-81.99092105657019,45.55435370152421],[-81.95468313465912,45.53968440132505],[-81.93566796008776,45.570913704723374],[-81.92277396188962,45.56379960213042],[-81.92573285937624,45.543442105268255],[-81.84459403151757,45.515051304131894],[-81.82204612873207,45.5219848053447],[-81.78781575373957,45.54193891455309],[-81.78010065742274,45.55740190423273],[-81.75873854635063,45.58476529519491],[-81.73344954519365,45.604670098281495],[-81.71549915905503,45.608915515593544],[-81.70407296077624,45.642740413151365],[-81.66122134715039,45.672861795623575],[-81.64771264872,45.68716069406886],[-81.66822955804032,45.70720451726683],[-81.62860896421624,45.722055802739426],[-81.61416264892759,45.73121629543905],[-81.59593295815195,45.75008861325878],[-81.58094565083827,45.77895031439486],[-81.57979673136872,45.8046172998913],[-81.59633304130256,45.806944413498556],[-81.62759714481038,45.790026503646644],[-81.66328814028194,45.79224611275325],[-81.70542496252439,45.78705229601723],[-81.7139413511051,45.80413679294334],[-81.67155947998513,45.82317294037073],[-81.66113023752916,45.834958213345836],[-81.6543582621176,45.872376704967216],[-81.65790724268535,45.885947314900704],[-81.64928533613272,45.893710096166686],[-81.67015326353841,45.9064696938503],[-81.68395406123267,45.901662599529345],[-81.71201625149126,45.87115899699601],[-81.7213084584152,45.86634839991797],[-81.73531045525436,45.83976129606515],[-81.76818084789868,45.798168599777505],[-81.78682904752633,45.7828124117486],[-81.7827052588534,45.77495599760895],[-81.78956075576863,45.75398200043286],[-81.77600815231973,45.73632509782761],[-81.78875637252382,45.72325188521322],[-81.79279595958795,45.713123978567985],[-81.7877574250256,45.691487596625876]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.7533362778898,\"lat\":45.68915134929268},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3551\"],\"cd_name_en\":[\"Manitoulin\"],\"csd_code\":[\"3551043\"],\"csd_name_en\":[\"Wikwemikong Unceded\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Manitoulin\",\"csd_name_fr\":\"Wikwemikong Unceded\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.81550559163367,46.27859468953748],[-81.6905967240934,46.27849279293073],[-81.69168313574103,46.365432863815215],[-81.81599417931281,46.36518025093366],[-81.81550559163367,46.27859468953748]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.7534021222291,\"lat\":46.3218906743808},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3552\"],\"cd_name_en\":[\"Sudbury\"],\"csd_code\":[\"3552028\"],\"csd_name_en\":[\"Baldwin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Sudbury\",\"csd_name_fr\":\"Baldwin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.69536536638569,46.10479580303129],[-80.9515746797617,46.103155649803526],[-80.95280409626253,46.156061596323276],[-80.95057940050619,46.19021204175513],[-81.1810437668321,46.18973483990173],[-81.18157785264144,46.2021708211729],[-81.30688590201592,46.19978037218724],[-81.43594879889301,46.195306264244095],[-81.43448366286061,46.10779042121829],[-81.55872170328155,46.102887977057584],[-81.6198850337656,46.10191949799375],[-81.60475464675154,46.10143349170495],[-81.58753043198952,46.09381909013511],[-81.56175713019528,46.08963770098734],[-81.5442734486432,46.07700491019171],[-81.56873736396078,46.0677412955609],[-81.55133693389753,46.04865589741926],[-81.63516504363183,46.026367698730816],[-81.66348822766115,46.03076091077129],[-81.68669195853451,46.021056296806194],[-81.71531845218337,46.013797293100176],[-81.71689273008211,46.00766721271463],[-81.67926912924165,46.0088780968219],[-81.64075844861449,46.020657216516085],[-81.60971793834621,46.02463421068613],[-81.59193484339725,46.03025400959018],[-81.52710933168439,46.03734881472304],[-81.51285884186517,46.041533098742825],[-81.50596124115582,46.031081198487705],[-81.5508331451791,46.02137820717165],[-81.59606373116586,46.022474208777076],[-81.62031733692791,46.01928500117348],[-81.65684904257205,46.00260989830414],[-81.61371815672864,46.00199469276343],[-81.57612565049799,46.00480961382206],[-81.56282105549084,45.99576739615641],[-81.57684035640217,45.9865890172613],[-81.59439352907735,45.98598591080699],[-81.64539985459795,45.95986871497192],[-81.67305774222572,45.95042959594403],[-81.70925823192098,45.95005590486471],[-81.71070248810773,45.91424975202937],[-81.43127567567684,45.9181590327011],[-81.43057025431834,45.897146330941695],[-81.07580223319243,45.90111678518674],[-81.07548063605938,45.865499752933324],[-80.73609480697095,45.87161654922429],[-80.69362226189686,45.872344767726375],[-80.6949786536218,45.885029005826425],[-80.66695873975087,45.889613103631696],[-80.6250818493354,45.887718895382726],[-80.6071700306595,45.89088089590652],[-80.55624637948722,45.892023626641205],[-80.5830992119059,46.018398212700575],[-80.59854166224167,46.0173126971263],[-80.59860839970152,46.03333889623427],[-80.6483248964531,46.07743300590141],[-80.66674521425689,46.104641799544744],[-80.69536536638569,46.10479580303129]],[[-81.11658699714319,46.09586099961496],[-81.09023511075429,46.10405699107103],[-81.07234371192519,46.11623790896541],[-81.07713284892961,46.04792842711744],[-81.0761572551959,45.94037213949104],[-81.09474415957328,45.938198202193156],[-81.12987753657099,45.94543499683882],[-81.14248903810241,45.93342339723675],[-81.14215695291873,45.91966189476555],[-81.1780208412706,45.931808297824794],[-81.18283124881415,45.94718391360598],[-81.17531864926309,45.96078541354769],[-81.15634364797442,45.970199292160835],[-81.1447900619712,45.984570298050286],[-81.1555927382026,46.001567091312175],[-81.2048699283985,45.999851203680564],[-81.22044695617106,46.00686049862868],[-81.22654188209225,46.03634974949795],[-81.21234715602807,46.03466783782624],[-81.18373074040629,46.054987602791584],[-81.1839982890804,46.0697646084942],[-81.16245878728117,46.077444605567564],[-81.13269121594504,46.09494339767199],[-81.11658699714319,46.09586099961496]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.10391450871433,\"lat\":46.01861707613364},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3552\"],\"cd_name_en\":[\"Sudbury\"],\"csd_code\":[\"3552036\"],\"csd_name_en\":[\"Killarney\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Sudbury\",\"csd_name_fr\":\"Killarney\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.51775207308323,48.10141647858737],[-79.51763317710183,48.18712159508609],[-79.65301238475152,48.18739619329729],[-79.6535498072508,48.10187520702481],[-79.62766537164943,48.10183907397504],[-79.51775207308323,48.10141647858737]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.58545853308372,\"lat\":48.144443068029965},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3554\"],\"cd_name_en\":[\"Timiskaming\"],\"csd_code\":[\"3554058\"],\"csd_name_en\":[\"McGarry\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Timiskaming\",\"csd_name_fr\":\"McGarry\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-83.76552281635797,46.30796669030512],[-83.80152923698434,46.307575811399836],[-83.80058555217613,46.27542979463362],[-83.76581514830205,46.27508500999001],[-83.7525740827305,46.29654088724189],[-83.76552281635797,46.30796669030512]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-83.77984088977912,\"lat\":46.291859139843375},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3557\"],\"cd_name_en\":[\"Algoma\"],\"csd_code\":[\"3557021\"],\"csd_name_en\":[\"Bruce Mines\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Algoma\",\"csd_name_fr\":\"Bruce Mines\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-83.03416335449303,46.231554282950526],[-83.03295319942256,46.208151588789754],[-83.0120057191549,46.20533785904449],[-83.01683183961515,46.195549317127856],[-82.9932073464935,46.19280725759379],[-82.95105164800256,46.20119239978625],[-82.97655944802068,46.211502759151124],[-83.0034538316733,46.231739983796835],[-83.03416335449303,46.231554282950526]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-83.00141835203678,\"lat\":46.21172828256508},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3557\"],\"cd_name_en\":[\"Algoma\"],\"csd_code\":[\"3557073\"],\"csd_name_en\":[\"Mississagi River 8\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Algoma\",\"csd_name_fr\":\"Mississagi River 8\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-85.96049266624006,49.05345085225119],[-85.71434669447689,49.053025711328175],[-85.71251586981892,49.22730893272063],[-85.97612266688208,49.22668109365815],[-85.97710293848893,49.05345700800518],[-85.96049266624006,49.05345085225119]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-85.84488564860648,\"lat\":49.14016982763125},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3558\"],\"cd_name_en\":[\"Thunder Bay\"],\"csd_code\":[\"3558066\"],\"csd_name_en\":[\"Manitouwadge\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Thunder Bay\",\"csd_name_fr\":\"Manitouwadge\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-94.10281094155494,48.645411107665886],[-94.10298254329184,48.70298179822576],[-94.11781573209885,48.70302342979447],[-94.11794724315092,48.825541992398065],[-94.09477051353714,48.82549459713912],[-94.0954477870793,48.914064064207906],[-94.09573534952946,49.00007638145518],[-94.22962141070938,49.00002419670272],[-94.2293486555939,48.91379603457656],[-94.23028528973924,48.82604612482125],[-94.25138672335258,48.825700488980104],[-94.25108999392343,48.73687431066159],[-94.25144441207034,48.68361109277022],[-94.25483330511437,48.663972189162955],[-94.24452781551348,48.65347221011856],[-94.22419440660934,48.64944440251849],[-94.1996667045125,48.650944398132836],[-94.15750001378868,48.64572218718107],[-94.10281094155494,48.645411107665886]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-94.17221504633747,\"lat\":48.82176866728974},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3559\"],\"cd_name_en\":[\"Rainy River\"],\"csd_code\":[\"3559031\"],\"csd_name_en\":[\"Morley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Rainy River\",\"csd_name_fr\":\"Morley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-91.68836641590042,53.42918842790043],[-91.70134464705453,53.41603902699255],[-91.72378111982405,53.412531727579854],[-91.73636823221433,53.400344323612266],[-91.68957504399431,53.40148212327379],[-91.68836641590042,53.42918842790043]]],[[[-91.79984114950166,53.40191734460887],[-91.7985500213116,53.409621743970234],[-91.88997752884448,53.35089346758411],[-91.86826594305181,53.33605563592585],[-91.84461374733652,53.35936582569089],[-91.8157891364683,53.37425532933049],[-91.79696344887508,53.37715912398729],[-91.79984114950166,53.40191734460887]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-91.80769777765458,\"lat\":53.38035129943476},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560097\"],\"csd_name_en\":[\"Muskrat Dam Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Muskrat Dam Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-96.99686672856224,49.443307512437904],[-97.00013666702651,49.43378384463748],[-96.9737757131066,49.43391416514617],[-96.9745422441743,49.446695484519395],[-96.99686672856224,49.443307512437904]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-96.98569847450827,\"lat\":49.439302847437695},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4602\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4602037\"],\"csd_name_en\":[\"St-Pierre-Jolys\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"St-Pierre-Jolys\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-96.36571089003905,49.79605492545214],[-96.49999929285093,49.79580070821291],[-96.98106668667623,49.79746651033914],[-96.9806312179667,49.62064499129375],[-96.7754978871427,49.61943819469253],[-96.77585658673507,49.70851196475021],[-96.60416208347478,49.70749620507019],[-96.36717337477805,49.70727105539208],[-96.36571089003905,49.79605492545214]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-96.72480078629972,\"lat\":49.730234393450935},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4602\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4602069\"],\"csd_name_en\":[\"Tach\\u00e9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Tach\\u00e9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.02616317823723,49.797578655243996],[-97.04866290273574,49.79251280214305],[-97.0480662959999,49.774575593204354],[-97.08365398138066,49.76235566752868],[-97.08291711718152,49.753013870727216],[-97.12206389778513,49.74046586395065],[-97.12832729006563,49.74548803818452],[-97.21987008887737,49.71363749049418],[-97.20982910538316,49.70923389124561],[-97.20853979554549,49.6956401110664],[-97.17263362525563,49.7081586357202],[-97.16274249970543,49.70804844119439],[-97.16263818372747,49.6206193901165],[-97.18062009972259,49.62062450555538],[-97.18011100532163,49.60587040380035],[-97.19655641109148,49.59109928574242],[-97.22565097526383,49.576390794647],[-97.2540377947779,49.54688700067857],[-97.25414458028963,49.53186629729702],[-97.15996548284448,49.531934053046044],[-97.04863267011687,49.53167387492932],[-97.04874297750447,49.59118752034386],[-97.07142018788734,49.591177309387824],[-97.0714607968407,49.62066511218851],[-97.04881056564669,49.620678622481016],[-96.9806312179667,49.62064499129375],[-96.98106668667623,49.79746651033914],[-97.02616317823723,49.797578655243996]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.09265748948923,\"lat\":49.653764213237395},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4602\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4602075\"],\"csd_name_en\":[\"Ritchot\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Ritchot\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.45944039917036,49.26606929575551],[-97.73044458754862,49.26646899861697],[-97.8658865115758,49.26629479252431],[-97.86611418573129,49.17772059047086],[-97.86345229914811,49.17772789417247],[-97.86329509376505,49.00060816841875],[-97.57166633669935,49.000504243496444],[-97.32493588112581,49.00058907072995],[-97.32456800993072,49.08914969229133],[-97.45971891030952,49.088675698250036],[-97.45944039917036,49.26606929575551]],[[-97.54967521109006,49.120346208274505],[-97.54971141776899,49.09314146148909],[-97.58275600706084,49.08876788979426],[-97.58388534665092,49.11830703895531],[-97.57234274930747,49.12688410722483],[-97.54967521109006,49.120346208274505]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.63566512790385,\"lat\":49.12492775525201},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4603\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4603041\"],\"csd_name_en\":[\"Rhineland\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Rhineland\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-99.9013177026912,49.35533000823221],[-100.17232619972943,49.355207683847695],[-100.3078652124531,49.35532180774378],[-100.3075433163072,49.28063672504005],[-100.30899401988268,49.26944120217523],[-100.30851575345076,49.17761777217228],[-100.28730020289883,49.1776120017224],[-100.28743058313398,49.09213309959387],[-100.28895941025718,49.07795084994492],[-100.28823067006111,49.000041871217114],[-99.88463574196766,49.00008033593064],[-99.88450730860141,49.17558870208573],[-99.90133829437936,49.177635409659516],[-99.9013674020764,49.266815897422546],[-99.9013177026912,49.35533000823221]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.09560977869047,\"lat\":49.17799775226191},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4605\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4605032\"],\"csd_name_en\":[\"Boissevain-Morton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Boissevain-Morton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-99.98472101249743,49.8868696924985],[-100.04913478882982,49.886876901672345],[-100.05271081031287,49.88551328710967],[-100.05276752540733,49.709679847323955],[-99.8087444966448,49.70927552558916],[-99.64348931058638,49.709149998586284],[-99.64340593028112,49.797927072795616],[-99.644444940468,49.8865468913463],[-99.65999906133146,49.88660591973558],[-99.92531201867088,49.88687240997002],[-99.91764966841383,49.862789045418516],[-99.89193586697073,49.84861732604611],[-99.84864088623553,49.85735209631348],[-99.82565731304557,49.85734719643781],[-99.82447415975018,49.82910853610329],[-99.80934065224329,49.82253233133082],[-99.80550289112104,49.81267590628887],[-99.99587035635356,49.81283166904066],[-99.99615250840748,49.83850274412576],[-100.00761218961577,49.84962129334928],[-99.99822082458753,49.860654587370945],[-99.98475350685564,49.86379518725188],[-99.98472101249743,49.8868696924985]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-99.83721680889927,\"lat\":49.79128327838053},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4607\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4607060\"],\"csd_name_en\":[\"Cornwallis\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Cornwallis\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-96.52098959215346,50.06719018799272],[-96.52678054808655,50.05109174716969],[-96.5089944931663,50.0535149923306],[-96.49792201314453,50.076482089089325],[-96.52093900796282,50.0768412082094],[-96.52098959215346,50.06719018799272]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-96.51310494573279,\"lat\":50.065102622416525},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4612\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4612056\"],\"csd_name_en\":[\"Beausejour\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Beausejour\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.11508689342861,50.063835489120976],[-97.11610478709241,50.225972388881154],[-97.11356282467824,50.240987806834745],[-97.11450191519303,50.315261867566164],[-97.11331159595424,50.374039100630135],[-97.11428019984255,50.50696339831683],[-97.46143740176413,50.50703399516296],[-97.45953371192934,50.44797229801346],[-97.4605366555848,50.41877111063992],[-97.46062465897764,50.297354106160974],[-97.459521016283,50.22899245513022],[-97.45939770431964,50.06378128970143],[-97.18391818674044,50.063853791855145],[-97.11508689342861,50.063835489120976]],[[-97.26078423914636,50.37416497623803],[-97.2698646282912,50.393287948901616],[-97.24097040945989,50.38891200267685],[-97.26078423914636,50.37416497623803]],[[-97.3188724123099,50.1229128880266],[-97.34473271467644,50.122726895909615],[-97.34480800093758,50.145088708944556],[-97.31019865899972,50.1449780974498],[-97.31025919119578,50.12296839260911],[-97.3188724123099,50.1229128880266]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.28714638848852,\"lat\":50.28641299974413},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4614\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4614036\"],\"csd_name_en\":[\"Rockwood\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Rockwood\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-101.21313515705873,53.83156459497104],[-101.2300079413691,53.82622813076575],[-101.23363170360234,53.83406053200782],[-101.25874977285197,53.82556255251154],[-101.2567096481843,53.82352613811873],[-101.25482422634431,53.80321213146422],[-101.23784030949938,53.80742638082865],[-101.21262913627311,53.79413549548018],[-101.19850058560635,53.79729612411316],[-101.21313515705873,53.83156459497104]]],[[[-101.0746925274247,53.98696274329362],[-101.11876336944965,53.97855987187023],[-101.11954751260902,53.97009269084601],[-101.14315423164827,53.9562890894916],[-101.14176149703225,53.94798670675275],[-101.09427412944218,53.94709570155936],[-101.05507004673805,53.95636875064368],[-101.07214098977015,53.974519958894305],[-101.0746925274247,53.98696274329362]]],[[[-101.23429410621249,53.839798757417654],[-101.21766284683659,53.83899120004889],[-101.15540398412692,53.85593966923745],[-101.15112742269231,53.86774957115307],[-101.17700533371301,53.86846138655711],[-101.20194965345621,53.876499733799996],[-101.25152100510965,53.87654493453237],[-101.25209912151223,53.852095995253336],[-101.2589887546277,53.83484716876452],[-101.23429410621249,53.839798757417654]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.17802622621412,\"lat\":53.8836954579827},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4621\"],\"cd_name_en\":[\"Division No. 21\"],\"csd_code\":[\"4621045\"],\"csd_name_en\":[\"The Pas\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 21\",\"csd_name_fr\":\"The Pas\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.0225283331568,49.68641855141245],[-103.04075434973929,49.6826401939908],[-103.03468733783517,49.66825830254529],[-103.01075838149406,49.66120209667536],[-103.0114620684042,49.68294510379373],[-103.0225283331568,49.68641855141245]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.02362225079116,\"lat\":49.675028870051925},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701066\"],\"csd_name_en\":[\"Stoughton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Stoughton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.42772268274071,49.26070657208546],[-104.83114622320029,49.26063267766669],[-104.83117533758266,49.1736801639249],[-104.81125385275958,49.1739092664784],[-104.81099373436977,48.999182923649464],[-104.57457659555422,48.999199692467776],[-104.41004559139273,48.99955510889321],[-104.41014890213312,49.08687619033704],[-104.40853061341872,49.17348538784278],[-104.42773740970092,49.17355519107218],[-104.42648486659482,49.21226439601229],[-104.42772268274071,49.26070657208546]],[[-104.57973065796486,49.16879148538226],[-104.5773118761025,49.165882240409935],[-104.58806658086625,49.16276939322817],[-104.58812381558133,49.166637493895074],[-104.57973065796486,49.16879148538226]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.61672156603039,\"lat\":49.13018729499219},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4702\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4702014\"],\"csd_name_en\":[\"Surprise Valley No. 9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Surprise Valley No. 9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.83074426797641,49.52339747084211],[-108.8291936186727,49.50908772266075],[-108.80873440069573,49.50944094171331],[-108.8090371126142,49.523465881078415],[-108.83074426797641,49.52339747084211]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.81946869307271,\"lat\":49.516416429223185},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4704\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"4704026\"],\"csd_name_en\":[\"Eastend\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Eastend\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.44410028375995,49.78588149561958],[-108.44400199135106,49.873192690549054],[-108.46208054685974,49.872275992126454],[-108.46205570900376,49.96045188646722],[-108.46195768848155,50.0476596786999],[-108.84578284907583,50.047796363757065],[-108.87160934811044,50.04803595293171],[-108.87150667798271,49.873154575165884],[-108.85145549976323,49.87050719961754],[-108.85096180056527,49.78558330180995],[-108.44410028375995,49.78588149561958]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.66055433059631,\"lat\":49.91690497469821},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4704\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"4704054\"],\"csd_name_en\":[\"Carmichael No. 109\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Carmichael No. 109\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.00614250654326,50.30963920158684],[-102.28107560807912,50.30931060464954],[-102.41863293284419,50.30952824658796],[-102.41923408243407,50.30953311297202],[-102.41870370278602,50.23691629604392],[-102.41589700698108,50.19341767651338],[-102.41575770930376,50.04713659652534],[-102.02897849217662,50.04725608949972],[-102.00642726458825,50.04672129034958],[-102.0064416100464,50.0603239687328],[-102.00716093423513,50.23359274000092],[-102.00614250654326,50.30963920158684]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.2118220722728,\"lat\":50.178544136046604},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705011\"],\"csd_name_en\":[\"Silverwood No. 123\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Silverwood No. 123\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.41864674947293,50.54837853377888],[-102.41555815685571,50.547199455935115],[-102.40732487671268,50.55044423984236],[-102.4189026552877,50.55078896054095],[-102.41864674947293,50.54837853377888]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.4144955132873,\"lat\":50.54937411049627},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705050\"],\"csd_name_en\":[\"West End\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Resort village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"West End\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.84871388477019,51.12175139828723],[-103.08327479163245,51.12183960401989],[-103.27015619327292,51.12198420408288],[-103.26983569034199,51.01835245968602],[-103.26997889172421,50.97818485285037],[-103.26973792032425,50.953788189315475],[-103.28419576929417,50.945251191931426],[-103.2840360487011,50.908371157681316],[-103.28448241919621,50.857071400161225],[-103.26115359843587,50.85702230717579],[-103.05165639977533,50.856986202509916],[-102.8425479991507,50.857048089229636],[-102.84249067737038,50.9160166939526],[-102.84255832576147,50.94503680963438],[-102.84857375638619,50.945154178611496],[-102.84871388477019,51.12175139828723]],[[-103.08818177716108,50.871598058657355],[-103.09806455488423,50.87358356539235],[-103.08646335787236,50.87612281508372],[-103.08818177716108,50.871598058657355]],[[-103.05332640843972,51.01009635994224],[-103.05945350061525,51.018777098818965],[-103.03610099977182,51.01870158753337],[-103.0362009051686,51.005265204598395],[-103.05332640843972,51.01009635994224]],[[-103.17687360875411,51.05581489322398],[-103.19999146990733,51.0560041503556],[-103.20000630925122,51.07044359763101],[-103.1765660081771,51.070742921199354],[-103.17687360875411,51.05581489322398]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.06047847983004,\"lat\":50.98775780388949},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705067\"],\"csd_name_en\":[\"Stanley No. 215\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Stanley No. 215\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.80768804330847,50.65905523147181],[-103.94647229845695,50.659086970106806],[-103.94683501279965,50.67402790479198],[-104.10828248048306,50.67345633752349],[-104.10860931187722,50.709820043979896],[-104.22377977765564,50.70983677688389],[-104.22379039907206,50.571613107335814],[-104.20555023582918,50.57162575426672],[-104.2054447026501,50.39685420297532],[-104.06808051229793,50.396860100737676],[-103.79227169143792,50.396857720514724],[-103.79333054862441,50.57163348833017],[-103.80723114051044,50.57164405128394],[-103.80768804330847,50.65905523147181]],[[-104.07799168695124,50.52119431240779],[-104.0560524655544,50.52052002220308],[-104.05592376464743,50.51336141392025],[-104.07864363769338,50.51323127718544],[-104.07799168695124,50.52119431240779]],[[-103.884723094156,50.54589031168811],[-103.88477035130416,50.55711128137119],[-103.86197581223331,50.54984366581535],[-103.87342198714822,50.535190072946996],[-103.884723094156,50.54589031168811]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.01346852510012,\"lat\":50.53885151080522},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706034\"],\"csd_name_en\":[\"South Qu'Appelle No. 157\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"South Qu'Appelle No. 157\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.1645814630199,50.933951634240465],[-105.168470665885,50.93509714470789],[-105.17243077047,50.93997434395635],[-105.1701650915583,50.94314307685212],[-105.17575950424838,50.94311233210627],[-105.17393538571146,50.93888400509907],[-105.17041833121627,50.936873593827904],[-105.17045830510895,50.93379028585526],[-105.1645814630199,50.933951634240465]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.17168731275264,\"lat\":50.93907396328129},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706060\"],\"csd_name_en\":[\"Wee Too Beach\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Resort village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Wee Too Beach\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.15971681296881,50.9630496256255],[-105.15927317210385,50.97185554858165],[-105.1638789781591,50.97296242938127],[-105.15971681296881,50.9630496256255]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.16095632107726,\"lat\":50.96928920119615},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706085\"],\"csd_name_en\":[\"Island View\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Resort village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Island View\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.54703056699574,50.673743748178914],[-105.57013599366672,50.697343385060734],[-105.59764321970238,50.71694970245677],[-105.59784835187097,50.689110869611504],[-105.57564063998751,50.68676166795719],[-105.56514328822335,50.67341416800738],[-105.55577382051723,50.673305548301116],[-105.54703056699574,50.673743748178914]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.57792911107093,\"lat\":50.692610799575114},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707051\"],\"csd_name_en\":[\"South Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Resort village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"South Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.30394808737445,50.31019860685499],[-109.46505058596775,50.3099863135159],[-109.71723597523687,50.31003354132532],[-109.71730800820852,50.22273439912307],[-109.69096689905125,50.22271939031229],[-109.69164218090674,50.13546518988501],[-109.69125918408032,50.04789210433993],[-109.28132320342205,50.04786060103939],[-109.28034178480314,50.22272137280503],[-109.30463120248385,50.222607590241246],[-109.30394808737445,50.31019860685499]],[[-109.63463470597979,50.218079969931814],[-109.6348845157813,50.22272074680751],[-109.62569571911557,50.22468697954914],[-109.62535575952813,50.22108813145613],[-109.63463470597979,50.218079969931814]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.49428814570713,\"lat\":50.1791357395574},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4708\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4708016\"],\"csd_name_en\":[\"Big Stick No. 141\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Big Stick No. 141\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.63463470597979,50.218079969931814],[-109.62535575952813,50.22108813145613],[-109.62569571911557,50.22468697954914],[-109.6348845157813,50.22272074680751],[-109.63463470597979,50.218079969931814]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.63032872345788,\"lat\":50.22158771909218},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4708\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4708018\"],\"csd_name_en\":[\"Golden Prairie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Golden Prairie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.75927025974569,50.45783854484831],[-109.76309134421595,50.451644104318866],[-109.75040976620551,50.453195506287024],[-109.75044036609765,50.457668909697034],[-109.75927025974569,50.45783854484831]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.75610503583334,\"lat\":50.45493345733861},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4708\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4708022\"],\"csd_name_en\":[\"Richmound\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Richmound\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.93448536738806,51.01706566033286],[-108.95948546458597,51.02369004490741],[-108.99078487247355,51.025673709664005],[-109.03510383289687,51.02425341726809],[-109.0457940710604,51.01737720121504],[-109.10024041111095,51.02673071157362],[-109.12695739708707,51.02563732070229],[-109.16350104117151,51.01303972618006],[-109.19060634709857,51.00928258643241],[-109.23364425268343,51.014222354905485],[-109.25793237365319,51.00738993234656],[-109.28030449834097,51.01404114197664],[-109.30695481133034,51.01541367173116],[-109.33303018442882,51.00782631107267],[-109.35305270326221,50.994010783138485],[-109.35291122020084,50.9215869954676],[-109.32875138779774,50.92158530701647],[-109.32872878923969,50.761221602795054],[-109.32868698812621,50.572307010706695],[-109.0981552787034,50.57238973067228],[-108.91328719374873,50.57216646420851],[-108.91327780983266,50.808454207945495],[-108.91337794092678,50.921684081767076],[-108.93442021291129,50.92167624457778],[-108.93448536738806,51.01706566033286]],[[-109.27095140114095,50.86179108621864],[-109.27145157290623,50.86993563438153],[-109.25955027351598,50.86988631776759],[-109.25955165542733,50.855816454919776],[-109.27095140114095,50.86179108621864]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.12427514254357,\"lat\":50.79510101207545},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4708\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4708053\"],\"csd_name_en\":[\"Clinworth No. 230\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Clinworth No. 230\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.36379646209568,51.12170446388842],[-103.27015619327292,51.12198420408288],[-103.26915482117438,51.29710152422792],[-103.2798625935308,51.29707295594341],[-103.28020029415138,51.38701180379962],[-103.5154039273719,51.38650753334272],[-103.70428651582726,51.387289491557766],[-103.70410859896742,51.298909391374295],[-103.69036638600403,51.29891830873405],[-103.69052504435939,51.12172656003334],[-103.36379646209568,51.12170446388842]],[[-103.36379646209568,51.12170446388842],[-103.38139931693712,51.12850863198252],[-103.36379181752696,51.13328661478173],[-103.36379646209568,51.12170446388842]],[[-103.49612696399039,51.161489755958925],[-103.50451009505353,51.16622439701768],[-103.50443304546937,51.17417518235711],[-103.48086791546424,51.17341843338783],[-103.48093778659744,51.16623540475991],[-103.49278421835052,51.16789049345545],[-103.49612696399039,51.161489755958925]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.48424149012932,\"lat\":51.25479234049436},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710003\"],\"csd_name_en\":[\"Ituna Bon Accord No. 246\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Ituna Bon Accord No. 246\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.80149097032911,51.954474269127914],[-103.81237791338785,51.93992761699379],[-103.78743471519535,51.936005528654064],[-103.78890557285322,51.95728885043884],[-103.80149097032911,51.954474269127914]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.79729353007244,\"lat\":51.945792369914564},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710068\"],\"csd_name_en\":[\"Wadena\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Wadena\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.58855277557826,51.110060087582966],[-106.58599240682868,51.131631423054955],[-106.6091173904966,51.132539194546446],[-106.60915665966098,51.110594348730785],[-106.58855277557826,51.110060087582966]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.59821650083026,\"lat\":51.121417569264544},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711019\"],\"csd_name_en\":[\"Elbow\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Elbow\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.95993008273602,51.3580464915746],[-104.95978661678907,51.619823084295234],[-104.98171633785469,51.61983838393134],[-105.38179929213898,51.620045401135066],[-105.38185740884954,51.358015487053216],[-105.23994835376003,51.35803851029355],[-104.95993008273602,51.3580464915746]],[[-104.9984439122472,51.503646914554785],[-105.01871568827734,51.50367460549826],[-105.01875935754768,51.5178458031579],[-104.99577054113522,51.51830308581845],[-104.9984439122472,51.503646914554785]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.17133714804386,\"lat\":51.48892887229576},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711042\"],\"csd_name_en\":[\"Wreford No. 280\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Wreford No. 280\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.73288409003538,51.619938699871845],[-107.7327719781233,51.61294049439795],[-107.75710670196885,51.613076067800144],[-107.75711657317504,51.61992388999018],[-108.11441059103953,51.61990781669895],[-108.11319424494766,51.57648163680158],[-108.11329960525741,51.35827010880701],[-107.69125009707759,51.35821318904696],[-107.69135660191097,51.61994430280469],[-107.70493798524983,51.61994668998623],[-107.73288409003538,51.619938699871845]],[[-107.9726919331723,51.53952769605191],[-108.01953733008304,51.53990632191159],[-108.01955335563152,51.568982450704745],[-107.96688857357456,51.56866518975761],[-107.9726919331723,51.53952769605191]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.90132331108023,\"lat\":51.48802835347824},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4712\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4712004\"],\"csd_name_en\":[\"St. Andrews No. 287\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"St. Andrews No. 287\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.73288409003538,51.619938699871845],[-107.75711657317504,51.61992388999018],[-107.75710670196885,51.613076067800144],[-107.7327719781233,51.61294049439795],[-107.73288409003538,51.619938699871845]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.7449259302222,\"lat\":51.61646728133433},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4712\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4712008\"],\"csd_name_en\":[\"Zealandia\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Zealandia\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.9675685643027,52.0088276667193],[-106.9793315744359,51.997794184562586],[-107.00338467988296,51.986851300757],[-106.97957184920507,51.98376815772651],[-106.97958398938677,51.99669580315945],[-106.9675685643027,52.0088276667193]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.98715136126106,\"lat\":51.98978494078828},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4712\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4712058\"],\"csd_name_en\":[\"Vanscoy\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Vanscoy\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.29943175939547,52.35158481256308],[-107.34304728485293,52.354919437140765],[-107.38931337536657,52.348976684578126],[-107.41076800262415,52.35131378185018],[-107.43145730331628,52.36024387369123],[-107.44370293085879,52.37215600797782],[-107.45492544449758,52.37798035291249],[-107.50031317294746,52.389579126901985],[-107.53919671201541,52.40608326775671],[-107.60271708210408,52.446930566492725],[-107.6845450572688,52.48616919570808],[-107.73083911429926,52.4998094969756],[-107.7320572552256,52.43471581928891],[-107.73106655077011,52.31830081305566],[-107.71740740384234,52.318295886420806],[-107.71732501336709,52.23454530423075],[-107.71474369095444,52.23089058779661],[-107.71645832653488,52.20744099022886],[-107.71633212151617,52.14351293739274],[-107.28897501876646,52.143835706209536],[-107.28903450979217,52.31859269857019],[-107.29953971884368,52.31856840755068],[-107.29943175939547,52.35158481256308]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.53090807499906,\"lat\":52.28148325831948},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4712\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4712064\"],\"csd_name_en\":[\"Eagle Creek No. 376\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Eagle Creek No. 376\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.60788402017621,51.881649463612085],[-109.61910249891508,51.88163829795811],[-109.63057846938673,51.86706945709513],[-109.59548956348746,51.86670685287858],[-109.60788402017621,51.881649463612085]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.61319900098403,\"lat\":51.87299843704186},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713021\"],\"csd_name_en\":[\"Major\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Major\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.16767076119564,52.929493715641826],[-103.42107360841877,52.92893423253573],[-103.74523349742012,52.92904170977664],[-103.7451788106401,52.667320391451135],[-103.73469258035186,52.66727979304449],[-103.73463286398203,52.49247997077561],[-103.5341518070467,52.49312270793353],[-103.44636068225672,52.49265894182094],[-103.44672962496433,52.53646666134853],[-103.3026111455373,52.536485415261225],[-103.3026040077461,52.66735841101695],[-103.31091681851828,52.66732440024034],[-103.31062920677176,52.79773289362865],[-103.26290139547609,52.797150356125464],[-103.1675300675291,52.798376935143956],[-103.16767076119564,52.929493715641826]],[[-103.37195450865613,52.869368696638055],[-103.37377962260122,52.87466298211875],[-103.35745096701855,52.87460147070796],[-103.35754572256111,52.870814905543696],[-103.37195450865613,52.869368696638055]],[[-103.6427487347852,52.70405471439784],[-103.66086356876168,52.714876727803066],[-103.63700955712567,52.714777382760154],[-103.6427487347852,52.70405471439784]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.50224166848633,\"lat\":52.731533177383525},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714038\"],\"csd_name_en\":[\"Bjorkdale No. 426\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Bjorkdale No. 426\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.08244600315443,53.30138345504134],[-108.08919845614315,53.29589047888855],[-108.06985139170637,53.29505961869343],[-108.07041098595103,53.299697699075416],[-108.08244600315443,53.30138345504134]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.07843779911987,\"lat\":53.29786213563227},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716063\"],\"csd_name_en\":[\"Medstead\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Medstead\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.71693023199704,53.744195101166405],[-107.71687820133948,53.75878193057771],[-107.73294516700511,53.75118464599283],[-107.73337550641547,53.7442517769244],[-107.71693023199704,53.744195101166405]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.72405317773041,\"lat\":53.74980011750111},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716077\"],\"csd_name_en\":[\"Chitek Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Resort village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Chitek Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.7752026655346,53.18581163124058],[-108.75722522978478,53.18337191645673],[-108.75707910900657,53.19072851828636],[-108.77307994958086,53.19175902251371],[-108.7752026655346,53.18581163124058]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.76540630085765,\"lat\":53.18782088097337},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717011\"],\"csd_name_en\":[\"Edam\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Edam\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.9060565894235,54.00238669839396],[-108.90036252830824,54.009962806990124],[-108.91141070828364,54.00986336416264],[-108.9060565894235,54.00238669839396]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.90594327533846,\"lat\":54.00740428984891},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717057\"],\"csd_name_en\":[\"Makwa\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Makwa\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.87902782079635,54.48634084988438],[-109.03998044722309,54.484637470381095],[-109.15485773032947,54.48519075810115],[-109.15441496212237,54.49989061283014],[-109.53208438614331,54.500185436244735],[-109.53241697838294,54.51428786702853],[-109.60737221159094,54.51451684349449],[-109.60840476319491,54.5288151623126],[-109.63317760398964,54.528693729989605],[-109.63345459549991,54.55825889592349],[-109.78406110714204,54.557879719923086],[-109.78431298738464,54.58528983400824],[-109.85778001768962,54.58546582588101],[-109.85930522604386,54.601898810441654],[-109.88434063831996,54.60200520301182],[-109.89650108501833,54.61518556213724],[-109.89818525187944,54.63080457038552],[-109.91152554849688,54.645204593420154],[-109.93579635944928,54.65045508547855],[-110.00569222639339,54.64980749919723],[-110.005810419867,54.441159181152656],[-110.00566448758357,54.236350841097625],[-110.0056632278999,54.063949558452336],[-109.80202369595338,54.06369769636896],[-109.68783940417481,54.06555839829874],[-109.60252463396661,54.063189451286284],[-109.60216135234042,54.128736205520724],[-109.60315033999687,54.313764219646885],[-109.5758937799361,54.316879017272285],[-109.56772499286899,54.31247826854625],[-109.50134897797429,54.312748069322964],[-109.47391593878713,54.288805604039766],[-109.4346580947401,54.28585621056899],[-109.41904597321776,54.27441906374983],[-109.43380624330713,54.258753358458115],[-109.40523505675236,54.235721665445666],[-109.37504214426887,54.24043495402886],[-109.37208948905005,54.25396176430134],[-109.32796227226957,54.25838660203329],[-109.29746363578813,54.24906171016548],[-109.28298573975239,54.23148085261598],[-109.27236476525623,54.2279378689668],[-109.24512332402094,54.232968803200855],[-109.22770207995978,54.25658289854514],[-109.19663829750894,54.27326545642547],[-109.15698990460285,54.2777185159019],[-109.10980079293397,54.26978525587005],[-109.08516828155527,54.27803236351709],[-109.05318488816292,54.27396377452188],[-109.03973406173762,54.276496168484655],[-109.00975274949806,54.29701845854511],[-108.99721512078919,54.29982121873968],[-108.92851442622569,54.27561551104636],[-108.85959265369831,54.267480711605565],[-108.85360443667476,54.27227774470597],[-108.85230713602407,54.36957001360626],[-108.84624460780401,54.41210389234913],[-108.87153308980808,54.411944392722134],[-108.87026470360695,54.42175429500258],[-108.87902782079635,54.48634084988438]],[[-109.24547493217112,54.41409000548586],[-109.22908758489037,54.41280473165904],[-109.22662415523122,54.39364667141091],[-109.24044713303705,54.393861073599275],[-109.24547493217112,54.41409000548586]],[[-109.77933038821509,54.34823120009452],[-109.7737031792604,54.3362830992114],[-109.80141452074876,54.336287527632315],[-109.80119497476643,54.34853202822155],[-109.77933038821509,54.34823120009452]],[[-109.80309277140675,54.15931576228736],[-109.80276996888047,54.18009414438336],[-109.72604516064649,54.1803307906838],[-109.72675546004339,54.121909403426955],[-109.80157742561158,54.12192708760163],[-109.80309277140675,54.15931576228736]],[[-109.60724416848153,54.47353818647305],[-109.57345097489316,54.468193559085805],[-109.55868407528804,54.45864005740405],[-109.53439085738513,54.45821665204089],[-109.52528897139965,54.441383385982284],[-109.55683704873036,54.44177581673693],[-109.55690680148663,54.456244808625115],[-109.58250083651222,54.45632011143819],[-109.58307306724741,54.437546856558754],[-109.57220195461656,54.420421050545],[-109.55228886510872,54.40929846849642],[-109.50120525415188,54.3982108696817],[-109.65262813168124,54.39810080946056],[-109.652452604848,54.38381359991801],[-109.67746230843866,54.38375759056953],[-109.6776475101171,54.41304455653407],[-109.65877398276564,54.43441381030359],[-109.63251738022663,54.43438909646769],[-109.63236296306998,54.449384807291096],[-109.60714107977027,54.44920774897136],[-109.60724416848153,54.47353818647305]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.55717747948383,\"lat\":54.35353435881885},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717062\"],\"csd_name_en\":[\"Beaver River No. 622\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Beaver River No. 622\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.24586879093975,54.461782750683284],[-108.2451144707572,54.45532385140747],[-108.23849175304998,54.44620955281222],[-108.24056433715722,54.46353912023846],[-108.24586879093975,54.461782750683284]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.24205581108498,\"lat\":54.456429331729574},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717817\"],\"csd_name_en\":[\"Gladue Lake 105B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Gladue Lake 105B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.86906432990774,54.75076672763493],[-101.87600307916657,54.76252586636291],[-101.87788563901911,54.762525955425716],[-101.88531837552482,54.76252586406403],[-101.88534712489987,54.79122896442452],[-101.9227745923823,54.7917453571058],[-101.92560692733505,54.73460030543254],[-101.89725476702323,54.73387751175851],[-101.8974610881271,54.74834975580992],[-101.86906432990774,54.75076672763493]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.90396150357815,\"lat\":54.76368246094351},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718051\"],\"csd_name_en\":[\"Creighton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Creighton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-102.94231939969112,55.167988982712515],[-102.94277171409631,55.168265386010866],[-102.94312157907277,55.1682351498309],[-102.94380037314954,55.16776793934117],[-102.94393982746416,55.16668369239826],[-102.94294892342796,55.166161668531934],[-102.94056652199347,55.16647968648254],[-102.93961163897315,55.166455611308244],[-102.94139918515813,55.16802530739234],[-102.94238905535485,55.1678070431892],[-102.94231939969112,55.167988982712515]]],[[[-102.93087047822848,55.16555784890455],[-102.91215425593818,55.173997741282676],[-102.88513517014088,55.16484756132522],[-102.88511910756422,55.18299038563145],[-102.91680449099496,55.18298239139938],[-102.9305397887458,55.18322571794452],[-102.93553688987227,55.17603100135134],[-102.93553218793511,55.17376008105537],[-102.93087047822848,55.16555784890455]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.90940441467556,\"lat\":55.17586489693505},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718820\"],\"csd_name_en\":[\"Pelican Narrows 184B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Pelican Narrows 184B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.68646143586918,55.63447394828634],[-104.71348108616384,55.62733776240776],[-104.69153887210454,55.61675094912501],[-104.68045785841213,55.62932715953987],[-104.65302468365333,55.625554453858534],[-104.67583016187639,55.61321734198086],[-104.69651597360132,55.61443524415924],[-104.68605864495727,55.59817425746699],[-104.63392224574486,55.589503646192384],[-104.63386306045547,55.59955305863626],[-104.60354854768013,55.60158425877669],[-104.59202248509415,55.60819646519692],[-104.57338285019708,55.600812152654015],[-104.54338228304242,55.62242126273486],[-104.53386094623733,55.61578925882165],[-104.542263281603,55.598110864367335],[-104.5697682434499,55.5975894632654],[-104.58345117809645,55.581919862668],[-104.56043355504269,55.57720204962018],[-104.51597839785133,55.58239961797419],[-104.51666103586895,55.63523787994086],[-104.68646143586918,55.63447394828634]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.59908353096517,\"lat\":55.61249891705991},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718831\"],\"csd_name_en\":[\"Grandmother's Bay 219\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Grandmother's Bay 219\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-110.00303586778176,50.8346704089509],[-110.0562547070819,50.81643956313803],[-110.08113620166043,50.79340985257104],[-110.06974079103004,50.781964258532795],[-110.0517628137061,50.75130155384977],[-110.05342029335075,50.73277935605154],[-110.06433669872136,50.72917193995492],[-110.09736008930868,50.73713765552353],[-110.12751728047184,50.72715045046086],[-110.13954990843814,50.71903334643571],[-110.12880901116148,50.701391055204795],[-110.13038058934696,50.67855955102605],[-110.16543938794004,50.651147450573845],[-110.1809879789099,50.646174463004854],[-110.1962023001671,50.63135564996572],[-110.24401617182531,50.625863045504424],[-110.27821510862806,50.61812933990111],[-110.282147518187,50.703405727633665],[-110.5171759112272,50.70389008847217],[-110.69819254843175,50.705447080422736],[-110.8152784433327,50.707639995895995],[-111.00010275603636,50.703616006009106],[-111.06445770099384,50.702946431862365],[-111.38922398231297,50.70315570260061],[-111.38896509776869,50.572003305103856],[-111.37929410338023,50.571972104021754],[-111.3792745324667,50.35662331707492],[-111.37940527121809,50.222679040945565],[-111.36999029083934,50.22267885703294],[-111.37018187980476,50.13582394078191],[-111.6450087980412,50.1351623031444],[-111.6689768330688,50.13356391885684],[-111.66386231179506,50.12606194850611],[-111.63880539961258,50.1116295489309],[-111.62412501648328,50.097858159245405],[-111.61163250441399,50.09464305737638],[-111.60757901402138,50.08149235822577],[-111.62833698270336,50.06914665251579],[-111.61796471177344,50.05609496107081],[-111.57809300931098,50.04272505781945],[-111.59394161037845,50.02276654676246],[-111.58824149825011,49.99825794602689],[-111.59708815269809,49.98692566837952],[-111.6235918334487,49.975296735421615],[-111.65745623565563,49.97731333416448],[-111.67325253972723,49.955619339491626],[-111.69535052514804,49.94605691692608],[-111.68956250596179,49.93498785427462],[-111.69584539451456,49.92535975157175],[-111.67889791263102,49.908055745185585],[-111.66028350712018,49.898578045777306],[-111.64201256308611,49.89629063067225],[-111.61565519747549,49.896732641813074],[-111.59302202133718,49.9014972586188],[-111.56400000671307,49.92028656148941],[-111.54247840677695,49.923958545267276],[-111.51073489523124,49.91755115597246],[-111.4803426111164,49.90475375657298],[-111.44463221373461,49.90360905022516],[-111.4179920927309,49.921386367295206],[-111.42384340859596,49.939966260212145],[-111.40984680864268,49.955489749290486],[-111.41244258008236,49.97346945601705],[-111.40169109268412,49.97821045458604],[-111.38464200285516,49.96481586530583],[-111.36420880021087,49.970646360842345],[-111.35857251736215,49.98786585651969],[-111.34182699137361,49.999297266210924],[-111.32890721451993,50.01594634577427],[-111.30342160357654,50.015551456519404],[-111.29206670439788,50.02505305821574],[-111.28511048533056,50.048384359384656],[-111.21817908645434,50.0525705433309],[-111.20353400534678,50.05117514897715],[-111.15285459069209,50.06001234783316],[-111.13143118784349,50.069473343253826],[-111.08409200920637,50.04775836282843],[-111.07293430804327,50.03527734764869],[-111.04872929986975,50.031386558069826],[-111.04150779789853,50.0147099518296],[-110.99372198731382,50.01821497901936],[-110.99119095252358,49.99991582336122],[-110.9914157330885,49.873420125990286],[-110.98604954909231,49.873415970320075],[-110.9858198295113,49.78569450181198],[-110.81851228598623,49.784667686591824],[-110.81744369236905,49.72779141200025],[-110.77256784213425,49.72695793064904],[-110.77324008989002,49.66944681040222],[-110.61439619499605,49.669627176685815],[-110.61422062118078,49.61128710791666],[-110.56912132354734,49.61084552603895],[-110.56921547574272,49.52252705946101],[-110.54415390496452,49.522582676958514],[-110.54420559427433,49.45026198831187],[-110.54239790955614,49.40889255190005],[-110.54410011548109,49.36554668636037],[-110.54491702009898,49.23127753510175],[-110.67972259765799,49.229319100838964],[-110.67946281340798,49.17150407864956],[-110.6745819099547,49.1715099616328],[-110.67378577052465,48.998701922234616],[-110.27156658010959,48.99926647892322],[-110.00502263037167,48.99969874080247],[-110.00508541865938,49.24191250753104],[-110.00450303856292,49.523625833014904],[-110.00509379815196,49.567261987642375],[-110.00368954168363,49.67233807393526],[-110.0048820088153,49.73422774898486],[-110.00420792108184,49.81440239435625],[-110.01039300630981,49.87277353098564],[-110.00607285916985,49.90452836313101],[-110.0042225634236,49.959855299484104],[-110.00509269096874,50.04766880647828],[-110.00466229029878,50.134773831948706],[-110.00753258553439,50.222509637763466],[-110.00798804398725,50.28121107807838],[-110.00492818842156,50.33900215313247],[-110.00425990929932,50.57215524514056],[-110.00509659989736,50.68836629485519],[-110.00321587448691,50.7789916662716],[-110.00515090238325,50.804807187266434],[-110.00303586778176,50.8346704089509]],[[-110.75530125028271,50.09743218021498],[-110.75523464945353,50.11317653950833],[-110.6901555757595,50.113163008772],[-110.69209300531601,50.09789644468292],[-110.67497409934641,50.08972105620832],[-110.66369400078139,50.09706564653401],[-110.64259759588651,50.092060356334365],[-110.65679048873072,50.079761753846896],[-110.65143968442639,50.07227826215888],[-110.62847470720779,50.07453563935681],[-110.62187580664514,50.064535862782456],[-110.64948380870773,50.05362753777837],[-110.63009287190866,50.0403442317226],[-110.63029256980073,50.026056505895546],[-110.6182095303822,50.01892298042987],[-110.6208398073794,49.990405491056315],[-110.74370081690178,49.98929670800871],[-110.74351536233843,50.01880583386713],[-110.77798410431487,50.018825110887406],[-110.77798970354688,50.03290986514837],[-110.80082519233342,50.033440292910704],[-110.80101480637015,50.0526311444486],[-110.81204878304862,50.05635804704294],[-110.8123915515005,50.07720170014263],[-110.80087060128011,50.09118411179518],[-110.7780557354321,50.09747041754278],[-110.75530125028271,50.09743218021498]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-110.5834400979651,\"lat\":50.01432382699695},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4801\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4801003\"],\"csd_name_en\":[\"Cypress County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Cypress County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.56280517099862,50.41156519085207],[-113.71310677616141,50.41077813639991],[-113.82811454648802,50.41142776545231],[-113.82699600913703,50.39722610247054],[-114.13937229367941,50.396962642298305],[-114.20803158180871,50.39718921714406],[-114.20776967888249,50.3096103153748],[-114.06987710771895,50.309955033253416],[-114.06788204886071,50.19331678776445],[-113.99945219639511,50.19372283280968],[-114.00035816757782,49.9606247109072],[-114.00081786270137,49.859169861048784],[-113.99894069999188,49.842482481029],[-114.00102090252372,49.837328265440526],[-114.00148013370853,49.75673776545964],[-113.95374802598938,49.75676531244529],[-113.95344332939028,49.742061944125034],[-113.9309798421652,49.74223400455462],[-113.93120629762335,49.69878558007567],[-113.77267182029522,49.699112183632856],[-113.52457455400781,49.69840047270292],[-113.52492230556983,49.47995547248042],[-113.57829728050098,49.47981295538366],[-113.57700541999183,49.4086551704433],[-113.53921831741242,49.414318098536484],[-113.53892495781977,49.42580884813842],[-113.51635131091999,49.418353817262116],[-113.48765996302077,49.429066263547206],[-113.46202821919533,49.445145413439285],[-113.44043711793091,49.43949759851492],[-113.39829526200893,49.44549085965773],[-113.39058057263348,49.46100779944352],[-113.37267098926915,49.475622954489815],[-113.35408243326818,49.48073319923088],[-113.34098689647908,49.493036748645835],[-113.30978020743623,49.5091696466031],[-113.2956884091537,49.52280235055092],[-113.27190061683531,49.52865793921709],[-113.26694367196689,49.55284371447289],[-113.25237056170182,49.56018020888385],[-113.25428345152415,49.57026936136481],[-113.23747476447934,49.58191140132977],[-113.2438511167158,49.60149440836961],[-113.25678790556644,49.600248899530484],[-113.28261191955501,49.61289174886386],[-113.27489205969091,49.62583971598369],[-113.29270261671331,49.63192986736633],[-113.28762442066403,49.64963516653428],[-113.23797851396547,49.663691415354464],[-113.2191943022451,49.68020046199446],[-113.19665925833637,49.683118397546835],[-113.19165930331572,49.70755416119856],[-113.17039376846564,49.728235658375354],[-113.1427916070415,49.73245080823917],[-113.10395809413772,49.73126970760913],[-113.09183648671981,49.750372762756214],[-113.07133664847508,49.74493574496313],[-113.05034260293772,49.76886466312485],[-113.03821767180898,49.76820036476321],[-113.05532181268055,49.781835150455166],[-113.07216008727733,49.77806085635892],[-113.10723919830941,49.7857010463869],[-113.1435109049363,49.79679825728447],[-113.16858192064623,49.78904685983905],[-113.18522141724654,49.78997954448352],[-113.18829560341113,49.801256742322394],[-113.21328661861159,49.824014462157855],[-113.23073188066591,49.84955781333994],[-113.23264650525599,49.909504006248405],[-113.27677269345989,49.907557913467855],[-113.27676640515627,50.04835260319492],[-113.27663668901963,50.1356972306675],[-113.30227614918786,50.14384495324104],[-113.31153440751993,50.16268251635038],[-113.29908699390796,50.177126262570845],[-113.31532188451517,50.187050204018696],[-113.32117315549301,50.20023914912819],[-113.34126738975577,50.20139350625284],[-113.38585291876552,50.21160430949698],[-113.4152887169347,50.2451602104894],[-113.44272785393082,50.25149325253491],[-113.44982160976721,50.26640070707844],[-113.46931712550459,50.28263596365007],[-113.46921150244596,50.305821163473745],[-113.5031915674848,50.311268792240384],[-113.53308003278916,50.32988595595392],[-113.52652765800048,50.34122176817086],[-113.54538285058322,50.3541479489069],[-113.55788232566285,50.36852570564285],[-113.57071276589605,50.40506219339443],[-113.56280517099862,50.41156519085207]],[[-113.64656830411192,50.166091119666156],[-113.62952487115957,50.16486053243578],[-113.6392251849383,50.15390199691017],[-113.64656830411192,50.166091119666156]],[[-113.78185143356673,50.35825696045888],[-113.75469944633396,50.35826574546335],[-113.7589922807955,50.33836064903968],[-113.79337566228043,50.33900570956423],[-113.79315920944208,50.35359500452271],[-113.78185143356673,50.35825696045888]],[[-113.59543204642544,50.04970127043573],[-113.58685540340367,50.03875711780286],[-113.5616240189711,50.033822419634824],[-113.56175660248655,50.01131136252112],[-113.57476448027485,50.01140610035746],[-113.58132582327974,49.99410106023954],[-113.59545210259802,49.99408200302845],[-113.59543204642544,50.04970127043573]],[[-113.42712134406447,49.698577347427936],[-113.43412637427369,49.69856788044278],[-113.43398358943504,49.742152902181715],[-113.36640883943655,49.742197263872],[-113.36623868022396,49.69869539659088],[-113.42712134406447,49.698577347427936]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.6340190989581,\"lat\":49.98262096016323},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4803\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4803018\"],\"csd_name_en\":[\"Willow Creek No. 26\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Willow Creek No. 26\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.91215029407233,51.96950967805138],[-113.12296330288669,51.96772399228108],[-113.17156210682424,51.96878889853188],[-113.29102430327882,51.96888938824882],[-113.2909595190342,51.983138833348846],[-113.48089400208738,51.98307351558621],[-113.47727458485454,51.954859827670234],[-113.64266771224167,51.95450400120237],[-113.64257380074507,51.896471995054355],[-113.71349888165527,51.89631399561637],[-113.71326942268017,51.780515852566836],[-113.73636757446218,51.78102453790356],[-113.73572689186621,51.75142786375843],[-113.71347261568867,51.72089803797649],[-113.68988349204889,51.72138311042783],[-113.68985608534112,51.67832141091026],[-113.64255689846276,51.67819051011833],[-113.64169689213685,51.61990937418332],[-113.66162200991938,51.61993908505432],[-113.66171641978178,51.44513209894937],[-113.38041539674965,51.44510479671985],[-113.38041750926317,51.386938389503825],[-113.07276381152795,51.38695429479523],[-112.88818759944498,51.386963688981766],[-112.88815558897942,51.32191770212213],[-112.82886892926443,51.33108899631233],[-112.78292005621832,51.33205447450849],[-112.78300167847287,51.340277190762166],[-112.7556182784072,51.34375103032488],[-112.71399831248478,51.35522003725301],[-112.70844287773042,51.36416423636038],[-112.67453397014054,51.37241748101165],[-112.67706939019561,51.41606611177005],[-112.72396819371725,51.41607800017976],[-112.7024789759429,51.44506469328249],[-112.73576959539189,51.4451482081597],[-112.73599412678034,51.45238644146918],[-112.75910032307912,51.45961273199733],[-112.79432017816927,51.45949942564862],[-112.80583898786945,51.46661087971359],[-112.8060766697191,51.478704691263495],[-112.82708949215723,51.49902496252469],[-112.87063199420356,51.51074946323201],[-112.87446351479426,51.53280055257754],[-112.88902380378619,51.54247046467076],[-112.88229918101189,51.59749095327545],[-112.8737161020816,51.60592726493678],[-112.89653661117357,51.63271356333217],[-112.8998226099328,51.64985016107017],[-112.91261089199595,51.658836963932764],[-112.91159822490293,51.67530396461151],[-112.92074379583616,51.691522546362116],[-112.9393194847774,51.7077931561378],[-112.94122088403144,51.72223796024675],[-112.95591020548879,51.74541914528699],[-112.96357760323112,51.766219259148976],[-112.96101558577745,51.78425985808523],[-112.97602600951187,51.79307986878544],[-112.99856060124922,51.826673750428746],[-113.01557441292579,51.83677776048528],[-113.03622640401836,51.86572426451484],[-113.02711251474983,51.87934055943515],[-113.0093245949755,51.8902239466629],[-112.9999999194908,51.90709204654454],[-112.98109949168435,51.911451347892175],[-112.98370187776679,51.9251127545597],[-112.96688520706664,51.9351469448766],[-112.94396058834988,51.93656195957958],[-112.92959690387917,51.949326368803206],[-112.90827169379153,51.96031576754839],[-112.91215029407233,51.96950967805138]],[[-113.13644525403275,51.481227744210656],[-113.16940874735505,51.48130025581708],[-113.16949456758212,51.48873882593624],[-113.13449947774812,51.488637498792585],[-113.13644525403275,51.481227744210656]],[[-113.4787849864495,51.58336529269126],[-113.49660548749539,51.58308285823894],[-113.49755139309578,51.597858098544165],[-113.47409526662855,51.597840382543],[-113.4787849864495,51.58336529269126]],[[-113.49770001892976,51.48891220658138],[-113.52102807435745,51.48898063192962],[-113.52101581310382,51.50334279641788],[-113.49752848441915,51.503418798473554],[-113.49770001892976,51.48891220658138]],[[-113.21750200590547,51.840550705695385],[-113.21754866512016,51.82082688280297],[-113.23985817779159,51.82268749218617],[-113.24113314188973,51.83479442559853],[-113.21750200590547,51.840550705695385]],[[-113.26691868000988,51.71354524421088],[-113.24322108439567,51.70713960179706],[-113.24111701948857,51.69221092158591],[-113.2884117291275,51.69252137760683],[-113.28845790796791,51.70856207164954],[-113.26691868000988,51.71354524421088]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.26361813066418,\"lat\":51.66507719890021},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4805\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4805041\"],\"csd_name_en\":[\"Kneehill County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Kneehill County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-110.81925230204106,52.44843028801619],[-110.82031477048106,52.45910546515591],[-110.83266948968551,52.45826910921747],[-110.832596513634,52.44843290485218],[-110.81925230204106,52.44843028801619]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-110.82611401782017,\"lat\":52.453499775649384},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4807\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4807004\"],\"csd_name_en\":[\"Czar\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Czar\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.03871310264883,51.934276568665965],[-114.04593892239569,51.91832430595596],[-114.0261180356274,51.918677703897785],[-114.01636054069617,51.92607555850465],[-114.01607760524476,51.9390130591222],[-114.03871310264883,51.934276568665965]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.02955253556838,\"lat\":51.92771373971913},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4808\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4808006\"],\"csd_name_en\":[\"Bowden\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Bowden\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.36730454141774,52.36657972822576],[-114.37933739953866,52.36294398551361],[-114.36160974969194,52.35551726209313],[-114.3597333148196,52.36588398454533],[-114.36730454141774,52.36657972822576]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.36718519121946,\"lat\":52.36201506125639},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4808\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4808024\"],\"csd_name_en\":[\"Eckville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Eckville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.44382331276158,53.547572533441205],[-114.44555390344716,53.54095347357826],[-114.4424244542963,53.54092765052866],[-114.44382331276158,53.547572533441205]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.44393389016835,\"lat\":53.54315121918272},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811044\"],\"csd_name_en\":[\"Kapasiwin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Kapasiwin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.37008941246707,53.669549450619925],[-114.38127554532875,53.66797493749576],[-114.37299684031092,53.66614990754898],[-114.37016628528171,53.66823190391392],[-114.37008941246707,53.669549450619925]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.37443022052491,\"lat\":53.66789969064764},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4813\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4813005\"],\"csd_name_en\":[\"Val Quentin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Val Quentin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.65275220858872,53.65555763637762],[-114.66373105739818,53.65217168259602],[-114.65399119419494,53.65041326621113],[-114.65275220858872,53.65555763637762]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.6568248200606,\"lat\":53.652714195061584},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4813\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4813015\"],\"csd_name_en\":[\"South View\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"South View\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.05299915711963,53.79740073500017],[-114.0584149085507,53.80292418709337],[-114.06071651459935,53.795090789342595],[-114.05146058004692,53.791386091420506],[-114.05158881606728,53.773688241187216],[-114.04302481712747,53.77419646511338],[-114.04167942310129,53.784645667306094],[-114.05299915711963,53.79740073500017]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.0497255753147,\"lat\":53.78632161594742},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4813\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4813017\"],\"csd_name_en\":[\"Sunrise Beach\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Sunrise Beach\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.60794787095541,57.20587187752823],[-111.62198537889736,57.18811526790753],[-111.62590625970218,57.163991272748596],[-111.64136138305597,57.1642275952335],[-111.64306396633594,57.135099075429544],[-111.60111244240665,57.13752103647625],[-111.59951461188561,57.12731024504835],[-111.5657851829193,57.12743691398431],[-111.56391701448148,57.152698763842224],[-111.58509089384167,57.1699146790093],[-111.58324726286547,57.181712578019194],[-111.60794787095541,57.20587187752823]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.60281556587307,\"lat\":57.15852729333452},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4816\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4816810\"],\"csd_name_en\":[\"Fort Mckay 174\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Fort Mckay 174\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-115.42750987856746,55.94385876240262],[-115.40646931367812,55.93012036872059],[-115.37248431251179,55.92972617442897],[-115.32746586728935,55.923728274387194],[-115.32671073068688,55.93919524880345],[-115.33767656760543,55.944207567239054],[-115.40682514447477,55.943941335096866],[-115.42750987856746,55.94385876240262]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-115.36965665108396,\"lat\":55.93619256871542},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817827\"],\"csd_name_en\":[\"Utikoomak Lake 155A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Utikoomak Lake 155A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-115.7801360510724,55.40727591126893],[-115.81546347873467,55.39710316219383],[-115.81989561536165,55.39027685773753],[-115.85496391677667,55.3699118597599],[-115.8731434764921,55.367085265493735],[-115.89916449352458,55.37565785899469],[-115.89853567687432,55.35983905392209],[-115.85000617429549,55.360097298030304],[-115.79985101123462,55.32071678529335],[-115.75842148722487,55.34140030129306],[-115.73305467512677,55.344485591535815],[-115.67684700629142,55.33528496188335],[-115.67236588903876,55.34908346065784],[-115.65586838486261,55.360689047552775],[-115.7016905204754,55.360870843987286],[-115.71025378592886,55.392098150731606],[-115.7801360510724,55.40727591126893]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-115.77250585883213,\"lat\":55.365610904389236},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817828\"],\"csd_name_en\":[\"Drift Pile River 150\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Drift Pile River 150\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-115.9922231584955,58.377865919636],[-115.9930236931649,58.38701068356769],[-116.00331902876901,58.386157295243294],[-116.00322249024991,58.3778647127472],[-115.9922231584955,58.377865919636]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-115.99785536493656,\"lat\":58.38218328612493},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817859\"],\"csd_name_en\":[\"Fort Vermilion 173B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Fort Vermilion 173B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.51695940987396,49.43592331791632],[-117.51885752806838,49.44004705693962],[-117.56282579155112,49.43984084142668],[-117.58114899209377,49.435366738712894],[-117.58181689500032,49.4218233386499],[-117.60150503767525,49.418427103051904],[-117.69158626887439,49.41814185486104],[-117.69232469876039,49.35308427768045],[-117.65754558350217,49.34857490907409],[-117.65403557194206,49.32857462440096],[-117.65330030729733,49.31599970151745],[-117.63105170131642,49.31675726341209],[-117.61336975839818,49.33101979400994],[-117.5789634023404,49.34850402462359],[-117.55493492584093,49.348707889736],[-117.55459107733361,49.355822955292396],[-117.52571815989377,49.39172492074081],[-117.51501004841843,49.391973229930215],[-117.51695940987396,49.43592331791632]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.6067484585997,\"lat\":49.384402045813594},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5903\"],\"cd_name_en\":[\"Central Kootenay\"],\"csd_code\":[\"5903056\"],\"csd_name_en\":[\"Central Kootenay I\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Central Kootenay\",\"csd_name_fr\":\"Central Kootenay I\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.49973912642582,50.45714486830634],[-117.52332804332195,50.47314515409196],[-117.55022235277025,50.48419864504046],[-117.54941956877101,50.496941626823606],[-117.57097930031634,50.504852949093745],[-117.5820068596675,50.50299184361609],[-117.60543875675768,50.52343624428712],[-117.61585940162759,50.543700002691295],[-117.63769246971016,50.54860111019885],[-117.64472528133055,50.535401649264614],[-117.67110778781732,50.532434216444706],[-117.70324484290656,50.547729066247996],[-117.74067128082996,50.554376071143565],[-117.79320565453658,50.55057992203411],[-117.81836056281747,50.54100104656078],[-117.84988818030077,50.54238753057397],[-117.85697940448885,50.52785843494135],[-117.90286126567713,50.528231126467865],[-117.97792310440295,50.53284598226542],[-117.99433934043796,50.54810117898141],[-118.00765106058596,50.60906835160001],[-118.00510667896417,50.6296916351627],[-118.0138154431542,50.65312027348734],[-118.03933361056374,50.663284829695755],[-118.06837613661658,50.66654330868784],[-118.06960104442403,50.68839314877893],[-118.07659853247728,50.69325503327228],[-118.12326152850065,50.681227620171356],[-118.16850181076126,50.68337668186298],[-118.2072802831721,50.69028161896898],[-118.21347971391396,50.680009074868636],[-118.17861687861955,50.671725875942855],[-118.17073750937442,50.66545011903318],[-118.20632628464183,50.65538566260879],[-118.19598122657227,50.63420354080822],[-118.18075994822001,50.63523544775666],[-118.17810614290069,50.62337678163972],[-118.1626941566705,50.61146592926147],[-118.17774269827521,50.58030472311401],[-118.16987891450214,50.570526393700725],[-118.17966392685928,50.55358263454597],[-118.19843136497188,50.55218774863069],[-118.21530428510019,50.53806764185943],[-118.1951673474,50.523613475296884],[-118.20095640077749,50.51099465984153],[-118.17606924447392,50.49311678020399],[-118.19355105037006,50.474326331859814],[-118.20827000984715,50.47910666556861],[-118.21960098044396,50.46945340338902],[-118.20512269166855,50.46234030915363],[-118.21205016044867,50.43941555570674],[-118.22499585855026,50.434427106656734],[-118.26758563206768,50.436218543711654],[-118.26991590753656,50.41584527798518],[-118.28208467420059,50.392415230310576],[-118.3013746458416,50.37988937808409],[-118.32689403391227,50.351999961747836],[-118.32765012992242,50.34498641467256],[-118.30828464558286,50.33619764174007],[-118.27545786572308,50.33980316057006],[-118.25525122803064,50.325589357587745],[-118.26717815289491,50.3181225273428],[-118.26929241046776,50.29475021238026],[-118.27606247819301,50.27865560871076],[-118.27106218220555,50.251947092343975],[-118.25816890576871,50.226209157856935],[-118.23871615523925,50.21085715461937],[-118.23912308610514,50.196296637692164],[-118.26372091216102,50.18142124416824],[-118.25235225390962,50.16909983303143],[-118.27818683913684,50.156051653386506],[-118.27753161385309,50.14628987350279],[-118.29139485668364,50.131286614007344],[-118.29577763121696,50.11551957894977],[-118.29352351152869,50.097815289410676],[-118.30443311124691,50.09577069046068],[-118.3381718594383,50.10072266560427],[-118.34926152611318,50.09457067365987],[-118.3784290442577,50.089704009929854],[-118.38396293498161,50.077174800275586],[-118.3982961742248,50.078761239011094],[-118.39976004321466,50.033423319855984],[-118.49585480240835,50.03360775006895],[-118.4765156488959,50.026831269472424],[-118.44811088553605,50.022615701905465],[-118.43185882055744,50.00929506441151],[-118.47351338277564,49.99952528095995],[-118.47078098146437,49.984446988509845],[-118.44870153214283,49.97379473622096],[-118.43066951201038,49.979385721762796],[-118.4158898028227,49.97304486669975],[-118.42230391146886,49.94763063961503],[-118.41535953725673,49.936291222274285],[-118.41870262594338,49.913602830563384],[-118.40693510132158,49.90832984064124],[-118.3766903921983,49.909073446041454],[-118.35388731562549,49.89178275812373],[-118.3700092767157,49.8740037959127],[-118.3842353806172,49.87156738091391],[-118.37859547434635,49.85911617477006],[-118.38142825615142,49.83849957281611],[-118.37440871389306,49.82458066663775],[-118.3461274130484,49.82460862876933],[-118.32458719846503,49.83060440832761],[-118.312086272718,49.82352320655097],[-118.28622100631041,49.81988817971007],[-118.26463130133733,49.80447183725977],[-118.26672424309666,49.78711408732811],[-118.25725500552842,49.784775214730615],[-118.25569294064925,49.762222874544996],[-118.23715311004428,49.7544889935034],[-118.23678017902068,49.73461311293347],[-118.2305956430644,49.718298864682566],[-118.21215172024908,49.70946107098982],[-118.19452586555204,49.711488410408734],[-118.19065753658377,49.7277606986881],[-118.15539166076753,49.72640552911838],[-118.11408109585496,49.7130889253369],[-118.09971752474675,49.70269891202326],[-118.0778102888395,49.708030742841395],[-118.06694881665474,49.69754421674123],[-118.00349871842442,49.69211659518365],[-117.99520387276823,49.70755143810561],[-117.96309136386934,49.744241838280665],[-117.94714575870432,49.748332600990814],[-117.94585000257085,49.76690511212127],[-117.93444445035026,49.78013299471845],[-117.92955359886402,49.79889668480604],[-117.88612680817947,49.80073048933773],[-117.8930519567754,49.816246934340406],[-117.87856377913268,49.82167829887019],[-117.87275195558384,49.83608636135553],[-117.83786115587279,49.832199242956904],[-117.83283956681613,49.823926997720555],[-117.80881173457165,49.82416154360989],[-117.79901429253428,49.81228744844963],[-117.76205616348594,49.81677914610691],[-117.7456945055858,49.82713587822432],[-117.74674690392564,49.852035975164185],[-117.74249652906245,49.86435750370308],[-117.71280489780756,49.865984240088544],[-117.7045592809734,49.89034586241717],[-117.71168221280296,49.90517424768829],[-117.69507064499109,49.91962773862002],[-117.65737126600474,49.913192586860575],[-117.6315181861268,49.920042412611245],[-117.63400784505043,49.934021691419694],[-117.62522004868458,49.9523366619118],[-117.58884540499344,49.959393896392385],[-117.58333603809938,49.974518094115055],[-117.58750113276831,49.99113875440343],[-117.58050704676354,50.006985869893356],[-117.57015200865602,50.00959936310882],[-117.57267330777093,50.02709653430836],[-117.61204457469114,50.055642674456436],[-117.62439986130698,50.07851993932492],[-117.6122434815043,50.08451087096377],[-117.5995169784397,50.113964675418266],[-117.64789670030436,50.12672835773538],[-117.65421543030547,50.13511488968098],[-117.67863133136717,50.140963123782136],[-117.67771572797429,50.16870116221153],[-117.66018311646371,50.18104178039079],[-117.64334004166504,50.18431168143256],[-117.65054969074265,50.206505069279345],[-117.66337196291725,50.210913368537156],[-117.6714176891931,50.235825525216235],[-117.63836217161753,50.25860302280819],[-117.603076426925,50.254014869329126],[-117.58209547017803,50.2570227137449],[-117.55582235314661,50.28125613322967],[-117.52274529719577,50.28423098662201],[-117.50566764295577,50.281244564260106],[-117.50032020565335,50.26510711414147],[-117.47806631066913,50.2675374153617],[-117.46670045626,50.27693007486639],[-117.45742688041852,50.32094885980436],[-117.44871368775601,50.34183444853963],[-117.42795301446147,50.35320944871626],[-117.39988987090234,50.35382535695924],[-117.37475153672622,50.35947101909809],[-117.376573360593,50.37285909357032],[-117.3589501122073,50.39632140869264],[-117.36489850653003,50.40689005535831],[-117.41260217582148,50.42483292633263],[-117.4201716289175,50.42115178228777],[-117.45413926088878,50.42542437282026],[-117.4955549194919,50.45042922958635],[-117.49973912642582,50.45714486830634]],[[-117.81735027635415,50.27460953584023],[-117.80095533474875,50.25753946147085],[-117.80230938629238,50.24899668651341],[-117.76818805227,50.24326330239114],[-117.77716266747844,50.230648279997126],[-117.80777755561864,50.23652386005604],[-117.82647971286832,50.249664371719554],[-117.81735027635415,50.27460953584023]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.95984900635956,\"lat\":50.175701846032524},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5903\"],\"cd_name_en\":[\"Central Kootenay\"],\"csd_code\":[\"5903060\"],\"csd_name_en\":[\"Central Kootenay K\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Central Kootenay\",\"csd_name_fr\":\"Central Kootenay K\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.05568075157318,49.81232225443617],[-119.06549876813362,49.79821374040277],[-119.08553121550509,49.79909352956302],[-119.11572153000213,49.79094718905135],[-119.13361191244014,49.79934634871994],[-119.15385029063196,49.79951502726437],[-119.15273066272161,49.76400540362948],[-119.16374501975693,49.757830224501355],[-119.1853548329663,49.75822712580905],[-119.20205610436051,49.75325313660991],[-119.20686180363262,49.737254060118666],[-119.22855429089353,49.735152846391],[-119.26293655998941,49.74478184409671],[-119.27182000723032,49.7302139819892],[-119.28658815245618,49.72630979877875],[-119.29568007077253,49.715192936110284],[-119.32586646978832,49.69706527596169],[-119.33182337916696,49.698454729024704],[-119.37590573758658,49.67903282660881],[-119.37282873474555,49.65404615884117],[-119.35035563852355,49.63608688055201],[-119.35813095249276,49.61622047855691],[-119.3368372644244,49.57097623604791],[-119.33842210262856,49.556794956531576],[-119.32178017399613,49.53046033574853],[-119.30207491895631,49.52174946366822],[-119.30989495005215,49.505040201414225],[-119.30079731603458,49.50364479639543],[-119.30035751782964,49.385707472235936],[-119.2829952429209,49.387357801095476],[-119.2620687059423,49.38227487174039],[-119.25138760356015,49.36876904121813],[-119.2604370431979,49.3503144724461],[-119.23639360695695,49.34141023182059],[-119.20689783650644,49.34403266493369],[-119.20577689400342,49.323929636258725],[-119.17737997365644,49.312289168199825],[-119.18681645611889,49.298247449999145],[-119.21335095279103,49.28569992371506],[-119.23290520713354,49.2553224109603],[-119.23738440016001,49.23894486266366],[-119.21291230839539,49.222443651147266],[-119.19593948484435,49.21598963657711],[-119.18047355089321,49.21831507775251],[-119.18910883566886,49.19833426295005],[-119.21139568867653,49.197482879715906],[-119.22078899322834,49.18488752184654],[-119.23567305413945,49.17964305711222],[-119.25597402888108,49.16188682125208],[-119.26340374647407,49.14069749020015],[-119.28498173818517,49.133477906322305],[-119.27176611996141,49.118093266157544],[-119.28803116108591,49.10055813438416],[-119.30182071645683,49.07325407022651],[-119.30150920873407,49.00807357318478],[-119.29492322384736,49.00004765634961],[-119.00848174086663,49.00001059924127],[-118.85032752485475,49.00018766837641],[-118.83373498342462,49.003094876600194],[-118.84423276712292,49.01844413232249],[-118.78593269633978,49.01838047890222],[-118.75639235910086,49.01524696541385],[-118.74992589673268,49.000190826713656],[-118.59107831308806,49.00007486624967],[-118.62110292921865,49.02005086311709],[-118.60359236732295,49.04136018245617],[-118.62501049589406,49.04148465686243],[-118.6306855203705,49.07106331116061],[-118.63134438424672,49.12574948403128],[-118.59117173643415,49.1289400827621],[-118.56865808521204,49.13645587770815],[-118.56328454884856,49.14388375761699],[-118.56463612412213,49.175544238861974],[-118.60298660178626,49.19329324801483],[-118.62242298102434,49.21829538688829],[-118.59965379196453,49.236329341372034],[-118.5875491875852,49.26880144952375],[-118.58636111893912,49.29383806033329],[-118.60897789195961,49.30968962487802],[-118.61731155676834,49.33202388537802],[-118.61546347768099,49.340340516411025],[-118.63477575209319,49.34657677140233],[-118.64133466795862,49.3670196658185],[-118.66894335316975,49.374143829904035],[-118.68900777656759,49.36527892437476],[-118.70597155505874,49.37458685801863],[-118.71713597383034,49.400608708908216],[-118.70497998734011,49.41619647396123],[-118.7127712854407,49.426360986805655],[-118.71239730447377,49.44890014570994],[-118.68831702738453,49.45671696077176],[-118.68466837796089,49.4728809217793],[-118.70176053720434,49.49089660069829],[-118.6825476660831,49.51353300734828],[-118.66592669426528,49.51913831004335],[-118.65483575024955,49.53008917410033],[-118.65855934001513,49.542732252782564],[-118.63680412577153,49.56068159754254],[-118.6200969814752,49.56267137988967],[-118.60324426572575,49.594254897084646],[-118.5863827193037,49.59121571260838],[-118.58356450886727,49.60602239499668],[-118.59406398857078,49.61627361320155],[-118.5788711562754,49.633174584681456],[-118.58575350111995,49.65636149301011],[-118.56579045395846,49.66432874878052],[-118.57565129913222,49.67850872165087],[-118.55725193181853,49.68587235306302],[-118.57062567576429,49.694850912632006],[-118.56869155103995,49.70422083608328],[-118.54528076374032,49.71960034066926],[-118.53168036262367,49.73812011540592],[-118.505415554056,49.73923210601952],[-118.49675425719941,49.7597787624057],[-118.49705823762646,49.77369419854692],[-118.50874003528551,49.77538348539217],[-118.5127733550972,49.79530026876012],[-118.51021317089777,49.81255700557587],[-118.67187910827923,49.81271018610097],[-119.05568075157318,49.81232225443617]],[[-118.67848499586297,49.10823597174694],[-118.67325047364926,49.079838996816534],[-118.68341219366103,49.07961591951199],[-118.67848499586297,49.10823597174694]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-118.94315739701563,\"lat\":49.41490911635441},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5905\"],\"cd_name_en\":[\"Kootenay Boundary\"],\"csd_code\":[\"5905054\"],\"csd_name_en\":[\"Kootenay Boundary E \\/ West Boundary\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kootenay Boundary\",\"csd_name_fr\":\"Kootenay Boundary E \\/ West Boundary\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.39264820980115,49.62642459114038],[-121.39041843915845,49.628941359152456],[-121.39305614262457,49.63331375038662],[-121.39861735193685,49.629934957717495],[-121.39264820980115,49.62642459114038]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.39397523769075,\"lat\":49.62979431238249},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909809\"],\"csd_name_en\":[\"Saddle Rock 9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Saddle Rock 9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.4175179343185,49.66611327375616],[-121.42418596269887,49.65579442682524],[-121.40307570793306,49.655129739979465],[-121.4175179343185,49.66611327375616]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.41492653498348,\"lat\":49.65901248018696},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909816\"],\"csd_name_en\":[\"Spuzzum 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Spuzzum 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.67595738623424,49.31285821926184],[-121.69798718522438,49.300412103800966],[-121.71654703908891,49.297718771110176],[-121.7236403924047,49.281448503597304],[-121.73695868996175,49.27509981200058],[-121.74327342604494,49.25816276839763],[-121.72529632435804,49.24215069072996],[-121.70167652964935,49.253249175286356],[-121.69494304829462,49.261099454385565],[-121.70084414727089,49.276124855421905],[-121.68532592909912,49.28266905366505],[-121.67595738623424,49.31285821926184]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.71109964792468,\"lat\":49.27464037023029},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909832\"],\"csd_name_en\":[\"Seabird Island\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Seabird Island\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.60329515787801,49.35312529496375],[-122.61818028273343,49.3512732693741],[-122.65178449086073,49.33499129949769],[-122.67522880470861,49.3170263108059],[-122.67626032316639,49.305101304420994],[-122.66342569515092,49.291405115107494],[-122.68535980719396,49.2867094858684],[-122.70449089525718,49.27638940584619],[-122.72347168059818,49.25186459634949],[-122.7673847068191,49.2303192009539],[-122.75139305338132,49.21577173678069],[-122.73066970958745,49.21109798939875],[-122.7133025145587,49.20907590516996],[-122.66792100493227,49.19622640516579],[-122.66946905993818,49.19974165343588],[-122.67825972340445,49.200314795264234],[-122.67832116479634,49.205583137611576],[-122.67175284926643,49.205785855936966],[-122.664401899628,49.23198266271097],[-122.64474272440474,49.24937835377441],[-122.62226068675614,49.249839117274014],[-122.6005900618284,49.25711101910433],[-122.60054689435292,49.324753598524644],[-122.59303157737828,49.33857826894557],[-122.57539780212866,49.352431714833266],[-122.60329515787801,49.35312529496375]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.66273084040932,\"lat\":49.27251416564585},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5915\"],\"cd_name_en\":[\"Greater Vancouver\"],\"csd_code\":[\"5915070\"],\"csd_name_en\":[\"Pitt Meadows\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Greater Vancouver\",\"csd_name_fr\":\"Pitt Meadows\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.04004447082157,49.36500137760259],[-124.16303900885285,49.377815156901754],[-124.26313449703709,49.39077246185688],[-124.24682806274757,49.3229889846331],[-124.24855605693365,49.30652354470248],[-124.24431434821126,49.298657556167115],[-124.27172106378912,49.286683813665206],[-124.26650666961721,49.26772899491101],[-124.23627130018883,49.25282000756558],[-124.22495540499858,49.24697195973551],[-124.22690660669356,49.224090213027424],[-124.21311893898282,49.22367687994609],[-124.18455481557801,49.21352975296564],[-124.17769266961753,49.200384042668446],[-124.13540407448211,49.20290417150043],[-124.12728190992854,49.21323413633218],[-124.13722959848361,49.2315383573625],[-124.1322690729478,49.255164354530805],[-124.1228195020397,49.25689800317142],[-124.11354986021702,49.25849727614935],[-124.05698358467423,49.26836573537647],[-124.04004447082157,49.36500137760259]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.16010885407027,\"lat\":49.30556837805422},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5921\"],\"cd_name_en\":[\"Nanaimo\"],\"csd_code\":[\"5921030\"],\"csd_name_en\":[\"Nanaimo E\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Nanaimo\",\"csd_name_fr\":\"Nanaimo E\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.38490573118152,48.989310443422895],[-125.38159745641015,48.99287665440891],[-125.36970010924838,48.997606400892316],[-125.38521101082944,48.99764205860549],[-125.38490573118152,48.989310443422895]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.38025385425574,\"lat\":48.99526824962781},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5923\"],\"cd_name_en\":[\"Alberni-Clayoquot\"],\"csd_code\":[\"5923810\"],\"csd_name_en\":[\"Macoah 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Alberni-Clayoquot\",\"csd_name_fr\":\"Macoah 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-126.27317106756134,49.36288720438151],[-126.26966494829291,49.36425347425819],[-126.27185912671474,49.36963136269162],[-126.27359233850568,49.368962544524514],[-126.27317106756134,49.36288720438151]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-126.27199834962138,\"lat\":49.36611022393632},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5923\"],\"cd_name_en\":[\"Alberni-Clayoquot\"],\"csd_code\":[\"5923824\"],\"csd_name_en\":[\"Refuge Cove 6\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Alberni-Clayoquot\",\"csd_name_fr\":\"Refuge Cove 6\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.41076554930521,50.00853301249461],[-125.44732364972911,50.01567924742254],[-125.48365809022509,50.026482288714966],[-125.53183820821708,50.01373868379198],[-125.5562487058665,50.01793420568663],[-125.57417901851247,50.00123250292977],[-125.59506099560316,49.999949738428754],[-125.60971593352001,49.989948642076676],[-125.63141927920746,49.99056092613108],[-125.63116477543188,49.99948404147591],[-125.70622445050674,49.999657996746286],[-125.77609745535011,49.99709040846026],[-125.90857087575695,49.999546905055055],[-125.8942896821384,49.977048753411616],[-125.90307583556138,49.9731315382511],[-125.90947417850276,49.95496031785919],[-125.92070265748482,49.94921023118281],[-125.9192555563795,49.92494249686281],[-125.91271323577581,49.91923529660911],[-125.91467729333179,49.90163431976575],[-125.89051569071472,49.90452059746293],[-125.88378568179725,49.898160340551414],[-125.8811596388581,49.87160636554901],[-125.9030419886304,49.84549509902818],[-125.91485697594246,49.83737676784932],[-125.91450811526056,49.77612018914798],[-125.89183495632028,49.74970899318708],[-125.87674790520519,49.742333410756004],[-125.86203776107584,49.74521255992034],[-125.85006145712656,49.73558222722284],[-125.83127803664642,49.70607310154001],[-125.80284223807057,49.688201641788986],[-125.80271162211979,49.66284958969106],[-125.77179469711382,49.653275666250806],[-125.75458214426766,49.65610725919198],[-125.73432914244123,49.64861721116295],[-125.72217529842565,49.62702594631659],[-125.70092494758192,49.630654678576306],[-125.68655397688543,49.60737284663144],[-125.7212161192371,49.602421272583],[-125.72779944754807,49.58046032310378],[-125.74847634761907,49.57264702621066],[-125.72753538145999,49.544273021547276],[-125.74113128368451,49.52248126499058],[-125.71607442632275,49.5206410023098],[-125.70454224779087,49.5128357959644],[-125.63462351442483,49.511403190038784],[-125.632656122532,49.4981135579628],[-125.58472184133632,49.496408055541565],[-125.56703415860397,49.498249741140064],[-125.5512019061848,49.48891822064532],[-125.4998118660986,49.47816908018078],[-125.49333960675284,49.50031306004861],[-125.46881735577001,49.52821696644871],[-125.44615388918335,49.53492669302137],[-125.43008095612623,49.555710638001955],[-125.41178069577349,49.5455343486256],[-125.3795739891982,49.547902580267326],[-125.39588724441693,49.59401900650788],[-125.42424552652795,49.62632617596432],[-125.42652104146819,49.642665618237686],[-125.5137441950936,49.71021116032123],[-125.49619270141808,49.724971364924876],[-125.49128780694659,49.74080975117659],[-125.52189957835664,49.75457227225163],[-125.54589139494922,49.75534839900808],[-125.54512026521942,49.768669987364596],[-125.5530721994635,49.7851896182284],[-125.53551812443682,49.79661036034479],[-125.511544856419,49.802963707541814],[-125.5100022779823,49.815669729063956],[-125.4933203907962,49.8367126836688],[-125.48570589810844,49.82747354591419],[-125.42315120300469,49.82885550489648],[-125.42329578674118,49.83610819316565],[-125.38829436751715,49.83623129831347],[-125.38278956644307,49.848160808607695],[-125.4025567577171,49.84828857773154],[-125.40343322746598,49.87447880022029],[-125.35599680588923,49.87450628685312],[-125.3589848514071,49.891080339957576],[-125.35188710728463,49.91052413659281],[-125.32372802838138,49.919740317040315],[-125.31130557075934,49.90562476191682],[-125.28106423530942,49.885018396800156],[-125.26470521935082,49.88644025311206],[-125.25663560264043,49.896940496821365],[-125.19838648838395,49.886941093337384],[-125.15389069936462,49.86552539561365],[-125.12498141583328,49.868860805519795],[-125.11250732465854,49.87473289849452],[-125.00030469675731,49.870986644356975],[-124.88418210667116,49.873205504901605],[-124.93989181291727,49.9401700876884],[-125.0014329878601,49.93737229976938],[-125.03651191661001,49.94358519413411],[-125.07171819923205,49.95515442383232],[-125.12356654731494,49.967444346856354],[-125.19135746793312,49.95087511444205],[-125.20346341184826,49.94494693390257],[-125.20339532551067,49.92982811321818],[-125.1955825521568,49.915914685430344],[-125.20567582780723,49.90302107494131],[-125.22345665639924,49.915772241817365],[-125.28889448640558,49.916364706875555],[-125.2876673649078,49.93096858712091],[-125.29500680982267,49.94503987814969],[-125.30656504550811,49.94516790145885],[-125.31635814571237,49.959634877165335],[-125.31541525838729,49.98810675325698],[-125.3270716582186,49.99980135182666],[-125.41074660285321,50.00007268224575],[-125.41076554930521,50.00853301249461]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.56960678944785,\"lat\":49.80318898700711},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5924\"],\"cd_name_en\":[\"Strathcona\"],\"csd_code\":[\"5924042\"],\"csd_name_en\":[\"Strathcona D (Oyster Bay - Buttle Lake)\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Strathcona\",\"csd_name_fr\":\"Strathcona D (Oyster Bay - Buttle Lake)\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.23963273558155,50.0312689183041],[-125.24435041899243,50.04644323470477],[-125.26189046860537,50.03051353616658],[-125.23963273558155,50.0312689183041]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.2486245410598,\"lat\":50.03607522972515},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5924\"],\"cd_name_en\":[\"Strathcona\"],\"csd_code\":[\"5924804\"],\"csd_name_en\":[\"Campbell River 11\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Strathcona\",\"csd_name_fr\":\"Campbell River 11\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-126.8593229876534,49.979914978223114],[-126.86445162026163,49.98514761352549],[-126.86390871166458,49.97973540970854],[-126.8593229876534,49.979914978223114]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-126.86256110652653,\"lat\":49.98159933381905},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5924\"],\"cd_name_en\":[\"Strathcona\"],\"csd_code\":[\"5924836\"],\"csd_name_en\":[\"Ehatis 11\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Strathcona\",\"csd_name_fr\":\"Ehatis 11\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.94538184776411,49.69370193055559],[-124.93394169925209,49.709557923540274],[-124.93313970805437,49.73377174267191],[-124.9659235112324,49.74072826624023],[-124.97797861936058,49.73383301159155],[-124.96909522231832,49.724521104693444],[-124.99327352395333,49.719700904455415],[-125.01304248399205,49.707626851159745],[-124.99929025101387,49.70254597507675],[-125.01054938742013,49.690770187050965],[-125.02680138510405,49.68744639391474],[-125.00847004010618,49.664897070837014],[-124.98163132792526,49.64986670042523],[-124.9630135868737,49.659417597814596],[-124.97589584977952,49.679423067328635],[-124.98923461705166,49.68717865619368],[-124.97228108697325,49.69516298049695],[-124.95269746642863,49.688736781926],[-124.94538184776411,49.69370193055559]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.97624361505584,\"lat\":49.6982551039665},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5926\"],\"cd_name_en\":[\"Comox Valley\"],\"csd_code\":[\"5926010\"],\"csd_name_en\":[\"Courtenay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Comox Valley\",\"csd_name_fr\":\"Courtenay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.91209683241682,50.71893669627566],[-121.93257951159791,50.73754662318602],[-121.93480825651463,50.6996552247129],[-121.94407035286903,50.6942607673048],[-121.94039857951077,50.675441696604445],[-121.92685562372166,50.68180520308255],[-121.92749214156346,50.66573793088585],[-121.94564258801152,50.67228901352936],[-121.95658250896601,50.67185132410411],[-121.98718153346223,50.6688392565413],[-121.98952891421274,50.66690887047751],[-121.94650172380346,50.666670389274245],[-121.92283192971857,50.65430851155894],[-121.9214056719644,50.66539291106237],[-121.91712616125086,50.66598416195207],[-121.8905662391541,50.66247462977406],[-121.88482629076654,50.64949516504053],[-121.86503415064627,50.64860100653402],[-121.8835404712732,50.680708670860525],[-121.8818052082011,50.69983498316647],[-121.89880388166527,50.70054599775494],[-121.90596594311451,50.720316850520156],[-121.91209683241682,50.71893669627566]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.91297524942468,\"lat\":50.68620686848807},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5931\"],\"cd_name_en\":[\"Squamish-Lillooet\"],\"csd_code\":[\"5931026\"],\"csd_name_en\":[\"Lillooet\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Squamish-Lillooet\",\"csd_name_fr\":\"Lillooet\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.73378726288682,50.12760531783042],[-120.73354487707242,50.134659719827404],[-120.81376511067047,50.13452262034563],[-120.80726509308974,50.1162323286829],[-120.82333729981188,50.11832010590846],[-120.82325954210037,50.10833951257227],[-120.80782947894373,50.10572759308826],[-120.79594621644752,50.091570891322995],[-120.77679787528946,50.09194245025658],[-120.76322035065068,50.098621654514815],[-120.74986572634458,50.09886962783619],[-120.75236726672192,50.085712495553196],[-120.73989682836263,50.09527026499253],[-120.73957798020794,50.12067630922988],[-120.73378726288682,50.12760531783042]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-120.77549814050185,\"lat\":50.11492739451783},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933006\"],\"csd_name_en\":[\"Merritt\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Merritt\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.94082787734878,49.98729482697823],[-120.97790064874503,49.99122121961667],[-120.96209288842302,49.97669345678888],[-120.941148530771,49.97692901646833],[-120.94082787734878,49.98729482697823]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-120.95644022406596,\"lat\":49.983579027448954},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933809\"],\"csd_name_en\":[\"Paul's Basin 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Paul's Basin 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-118.96495632979251,50.25322024873455],[-118.96908076526665,50.26487068629384],[-118.98703485666086,50.26484770158535],[-118.98764805091047,50.23780533077226],[-118.96627913300107,50.23689943352286],[-118.94863963024694,50.2492768814088],[-118.96495632979251,50.25322024873455]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-118.97352026669324,\"lat\":50.24996219053237},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5937\"],\"cd_name_en\":[\"North Okanagan\"],\"csd_code\":[\"5937005\"],\"csd_name_en\":[\"Lumby\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"North Okanagan\",\"csd_name_fr\":\"Lumby\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.38754754617437,52.13744511708389],[-120.8861902929239,52.135930057539994],[-120.88371530878416,51.99160843277153],[-121.20399219545946,51.99232377661521],[-121.21010807198299,51.98858335397444],[-121.21207755017419,51.8616105316777],[-121.20935911197624,51.762990438387185],[-121.23508343346666,51.76299958017008],[-121.23457481078047,51.727931569242465],[-121.2279824581572,51.71243681515074],[-121.23278296180382,51.700674710654496],[-121.28017895443804,51.69898262751626],[-121.28043263075182,51.675895522111496],[-121.27981844276299,51.66192765305229],[-121.24702084227725,51.663432109152495],[-121.23475823720597,51.64806748475239],[-121.21287726469788,51.64768535339444],[-121.21403483050146,51.66099028303769],[-121.10609455282129,51.662752058651975],[-121.07453281077423,51.66173848066534],[-121.07357414300866,51.67650756536389],[-121.04516438408655,51.67634956280176],[-121.04530058413512,51.68904893436567],[-120.78092602603698,51.692237813653854],[-120.7792218336186,51.732931458452896],[-120.68013805388824,51.73407858366705],[-120.67921732079938,51.71747587775311],[-120.66083523552447,51.71720744791095],[-120.65733537951952,51.664628830127384],[-120.55841504442225,51.66454835674849],[-120.5442337906107,51.66958069676481],[-120.5286565972312,51.684997884176894],[-120.50363374659972,51.69666218100065],[-120.45935552901456,51.70988075512815],[-120.43297467045572,51.71216244700424],[-120.39127080532734,51.70400897362374],[-120.37243255544595,51.722067029419094],[-120.33852336049962,51.732974919447656],[-120.34992458604668,51.752667313278074],[-120.37936263791315,51.762382760663264],[-120.37576003557915,51.76950315784689],[-120.33660636550026,51.770897597338056],[-120.32155884665531,51.78372446482908],[-120.31952507458452,51.819912552724425],[-120.3076944914856,51.82695360067986],[-120.27578179540981,51.83219694151357],[-120.22664968764181,51.82542980589349],[-120.21914268441292,51.83553595425277],[-120.22887708096991,51.85074810807434],[-120.22396288941343,51.86659424705926],[-120.25744969970741,51.87261996311249],[-120.27316147090343,51.89260567680543],[-120.24797662208005,51.91233157138925],[-120.2502757088437,51.94025309367445],[-120.26846433904602,51.95084453821362],[-120.27801714200183,51.97771451027378],[-120.29831805971446,51.96857206812668],[-120.31631459130344,51.97612493989783],[-120.33101527936002,51.96812455168621],[-120.34531317084607,51.97548100788864],[-120.32886200551772,51.98471928266382],[-120.3300115266359,51.99507467684202],[-120.30579458203157,52.012912507185],[-120.28870377841595,52.019735471568545],[-120.31698963962722,52.027651090436926],[-120.32033813511566,52.03916878651645],[-120.31678271330632,52.064339160068236],[-120.29367224148528,52.08261658717435],[-120.3028059860377,52.105280154993764],[-120.31667644815153,52.12095304469561],[-120.30811630106685,52.14033126558691],[-120.3199265238209,52.15334660094721],[-120.34744252903576,52.155816629126235],[-120.3753706208447,52.13394446334816],[-120.38754754617437,52.13744511708389]],[[-121.12570046180036,51.74025615058453],[-121.1363123079254,51.73985033966079],[-121.13763621161934,51.746592128266556],[-121.12705193449288,51.74663354818311],[-121.12570046180036,51.74025615058453]],[[-120.9207238227141,51.76827248327568],[-120.98559505297106,51.76931585330021],[-121.037759517965,51.76738352460728],[-121.03749738471633,51.78851497533358],[-120.96897721582751,51.78889614153714],[-120.92263552742199,51.78651984260811],[-120.9207238227141,51.76827248327568]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-120.72678751208218,\"lat\":51.893686398793925},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941016\"],\"csd_name_en\":[\"Cariboo H\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Cariboo H\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.80841206892393,52.98676226887778],[-123.80846684704903,52.9904262442924],[-123.8146701035525,52.990368799323626],[-123.81478339131864,52.98583059051779],[-123.80841206892393,52.98676226887778]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.81169322720973,\"lat\":52.988329516739824},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941881\"],\"csd_name_en\":[\"Baezaeko River 27\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Baezaeko River 27\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.23505261436267,52.11671072268046],[-123.24937457139296,52.11521856713425],[-123.24946619606604,52.10271011360915],[-123.22448281278882,52.09555808064425],[-123.22419998936157,52.11710106975682],[-123.23505261436267,52.11671072268046]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.23577602918681,\"lat\":52.107643412597135},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941883\"],\"csd_name_en\":[\"Anahim's Meadow\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Anahim's Meadow\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-127.40808910186996,50.69454904098011],[-127.40288957444378,50.69525379190085],[-127.40299363660317,50.69649565009971],[-127.40816768007548,50.69544777114678],[-127.40808910186996,50.69454904098011]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-127.40539668855195,\"lat\":50.69545999637276},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5943\"],\"cd_name_en\":[\"Mount Waddington\"],\"csd_code\":[\"5943804\"],\"csd_name_en\":[\"Fort Rupert 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Mount Waddington\",\"csd_name_fr\":\"Fort Rupert 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-128.51913483427063,52.60053147165611],[-128.53879503499215,52.60043772319497],[-128.5399812772355,52.57855643731594],[-128.51599572718163,52.57862712975279],[-128.51913483427063,52.60053147165611]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-128.5284573290125,\"lat\":52.58917674855587},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5949\"],\"cd_name_en\":[\"Kitimat-Stikine\"],\"csd_code\":[\"5949802\"],\"csd_name_en\":[\"Kitasoo 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kitimat-Stikine\",\"csd_name_fr\":\"Kitasoo 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.66188331411479,53.93139072324192],[-125.66183079476005,53.93580443292689],[-125.6751274315458,53.93659418555304],[-125.67572062787161,53.934304288903576],[-125.66188331411479,53.93139072324192]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.66795949067847,\"lat\":53.93441511261989},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951826\"],\"csd_name_en\":[\"Uncha Lake 13A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Uncha Lake 13A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-126.4905149806687,53.98229645684213],[-126.47759884099935,53.98305566047787],[-126.48104475431691,53.99083617812749],[-126.49132239666972,53.99051961475531],[-126.4905149806687,53.98229645684213]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-126.48511684522731,\"lat\":53.986518657513514},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951833\"],\"csd_name_en\":[\"Tatla't East 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Tatla't East 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.03708743688581,53.80465020285502],[-120.0596564389269,53.79194397960063],[-120.09703725951101,53.79230586385476],[-120.11627183700557,53.780674731344895],[-120.15051183560888,53.77302184956204],[-120.1811096113087,53.776899579403015],[-120.20979329911408,53.76845336895962],[-120.23173786563326,53.7571037941942],[-120.25740817884247,53.76401083718783],[-120.29499868652887,53.78188278168137],[-120.34072982362028,53.7856092724437],[-120.36930035786092,53.77666202283567],[-120.38705368771564,53.77747964983246],[-120.40643056729002,53.791135388937185],[-120.4400108158984,53.79037085158003],[-120.47012544984607,53.79515919854631],[-120.51327308537132,53.81148724776225],[-120.56739232873618,53.81820783353864],[-120.56160174557226,53.840134689060854],[-120.58300451832123,53.8628532962318],[-120.62551263097654,53.8697911252255],[-120.65544690784043,53.89202754449593],[-120.67968911416605,53.90093106717803],[-120.72018812842087,53.9010438873793],[-120.73755042804567,53.90553916148939],[-120.7589592767069,53.903654551218644],[-120.7903589036525,53.88157353677616],[-120.8562675391007,53.92829105431812],[-120.87901817921465,53.927604724714875],[-120.89668258233696,53.91286442630608],[-120.92123697785274,53.91314977095227],[-120.92018212778585,53.895588124565336],[-120.93310469630791,53.89422069784152],[-120.97535123331994,53.906327065100655],[-121.00047467690848,53.90318032391716],[-121.01167684823534,53.91029510981981],[-120.9926097696748,53.94511386350711],[-121.0068603909199,53.962870927593414],[-121.02868684980423,53.97768817154362],[-121.08553613456581,53.99740590991303],[-121.11256873828124,54.000755874258076],[-121.1038099947197,53.84696867868397],[-121.0960303257247,53.78845248620791],[-121.11165190536144,53.775264901070535],[-121.13233756110094,53.76695279273683],[-121.13008236030184,53.72566074026824],[-121.11325320671708,53.71383809666868],[-121.11783082733193,53.70004566568697],[-121.13766060082833,53.68749357404428],[-121.144804746272,53.652369025594275],[-121.17002024385958,53.636491084886316],[-121.18783443776142,53.59965751772143],[-121.2070654590128,53.58449880247776],[-121.21217707928875,53.56771449114794],[-121.18045045016473,53.563199558309265],[-121.11999970552722,53.53524025641598],[-121.10733408680579,53.51576796582823],[-121.04394595252033,53.53350916646301],[-121.00982585274386,53.519200801531994],[-121.01838055310967,53.49969836215477],[-121.01313359166068,53.48015149162996],[-121.02642901070173,53.452336853834964],[-121.00986840430477,53.441266500281024],[-121.00828606866168,53.43040327155395],[-120.99827799501573,53.38303612854952],[-121.01819301224124,53.3297661909194],[-120.98022094441923,53.31359321910802],[-120.97205465215107,53.27877901063322],[-120.9460371785738,53.2814959944937],[-120.93754276607449,53.30058196497703],[-120.92281197991002,53.307069781572345],[-120.88537365460404,53.298101044664165],[-120.85298043481227,53.28163907566804],[-120.81116310330661,53.28784507662867],[-120.79993988281188,53.266885764070885],[-120.78748103717776,53.256644325035595],[-120.76740505984692,53.25554911745178],[-120.7150090961226,53.264522812431146],[-120.69431895887413,53.25641133440166],[-120.62716310041482,53.213961403192755],[-120.60098607398966,53.190037876763036],[-120.57540252138547,53.19259848350375],[-120.52517305242793,53.170780642772144],[-120.4769091702544,53.15621505663333],[-120.46671840361881,53.14909640728693],[-120.46259716623011,53.12471265191372],[-120.42955760501489,53.11006007195529],[-120.4170661948413,53.100242101099525],[-120.41704154387713,53.082303899345625],[-120.42528755745771,53.06784119844121],[-120.47423836779227,53.06554362503561],[-120.48841889814629,53.054554000012224],[-120.45312671157451,52.99325703672585],[-120.43420133345742,52.97262576378822],[-120.41123841279251,52.96430154788747],[-120.37676277498711,52.96476640988252],[-120.33843793729068,52.92738895883019],[-120.30083846560458,52.921198826560854],[-120.26935085495714,52.928866624436004],[-120.22712962425173,52.91831506852374],[-120.20128670952154,52.9325132092654],[-120.1878420250571,52.924017456682186],[-120.17036973019488,52.92495357843085],[-120.165867507435,52.89850995459348],[-120.14254549439083,52.87674077578408],[-120.11560234648277,52.861753054527256],[-120.1114813386262,52.84314212418255],[-120.08142585002336,52.82788908853275],[-120.06142917336307,52.82429429489569],[-120.06033842603084,52.80873517288306],[-120.04270564837351,52.79439679126321],[-120.0247460353654,52.75757772816632],[-120.00251185811265,52.74475212202994],[-119.9737811534395,52.737325253918065],[-119.95115890087506,52.71008095178428],[-119.92030191003342,52.719197118930275],[-119.90677600777566,52.70848758472225],[-119.8903516611114,52.706690861293346],[-119.87217045498114,52.68438170182651],[-119.84953579740213,52.69114486852852],[-119.81735675665581,52.67441187456841],[-119.768405977507,52.66031932069511],[-119.75202805830331,52.67933762799998],[-119.74291933912546,52.68189794041203],[-119.70800343854526,52.678172055608485],[-119.6774833929841,52.69561343264292],[-119.66042897854044,52.700681092443794],[-119.6179038215866,52.706044993386314],[-119.61606006916409,52.68913509532651],[-119.60353737131625,52.67204172622003],[-119.57795469385309,52.64799119057398],[-119.54444735906311,52.65702485904934],[-119.53111838977571,52.63154157548282],[-119.50594490035972,52.63117758970236],[-119.46491103194981,52.649211970572736],[-119.44258646208658,52.6387638018246],[-119.3694796150536,52.65611080530539],[-119.3618565103008,52.65334690320549],[-119.36440142129895,52.63250937836778],[-119.26936658524134,52.63090314522114],[-119.24279751110086,52.634155663944824],[-119.21787003318956,52.6321873622235],[-119.19256750031987,52.63689036762571],[-119.15506660780883,52.633791576363585],[-119.05608806683742,52.63329783055958],[-119.03363497457812,52.59450823729773],[-119.00004035781946,52.59977772164834],[-118.99329993423402,52.59039431199341],[-118.96414979540425,52.57831264247034],[-118.92755699142704,52.56878594085348],[-118.93548914021987,52.55652644437436],[-118.93188428951362,52.54577667713894],[-118.90934763691082,52.53102983818395],[-118.90293543532438,52.51870954741227],[-118.90461853561317,52.49878656352027],[-118.88568609278316,52.48254798929258],[-118.88632215435284,52.47415478210626],[-118.92426376533554,52.4631567164777],[-118.94169566717319,52.439708178264766],[-118.92162942231695,52.422119587653036],[-118.92631717319506,52.404319361853375],[-118.94793457668874,52.391212690583444],[-118.93812142101453,52.380654194197874],[-118.9263772037914,52.353597998267475],[-118.90937638347437,52.345438360321815],[-118.86844898706418,52.34430522496931],[-118.79214274558512,52.317419623181756],[-118.78802059778064,52.30529402627462],[-118.81337271348353,52.29908934355878],[-118.84538224683821,52.28473380772285],[-118.85217705614055,52.27588182445765],[-118.8821237481863,52.26408955766972],[-118.89073208531072,52.245679572153264],[-118.87561785128676,52.238757793134475],[-118.839832425669,52.23281109263444],[-118.83290281829042,52.22165479969604],[-118.8476523543666,52.21760661548712],[-118.84719132366848,52.206799127936094],[-118.82862665957373,52.20101663606853],[-118.80320419853614,52.17722257400103],[-118.79283141657397,52.17643727892587],[-118.75197844802769,52.18515182751224],[-118.73349853255765,52.17643311292773],[-118.7298953502412,52.16519390963414],[-118.71606235300881,52.161344260022496],[-118.6941461821924,52.166661202267676],[-118.6762895972098,52.15146311063851],[-118.66630768380847,52.164108737911754],[-118.64008122226434,52.16955216580092],[-118.6286300394054,52.18269166672604],[-118.58241469667689,52.193001603147486],[-118.56925734500926,52.224529847487354],[-118.55492291080147,52.23995063225195],[-118.56352160795868,52.25838177653877],[-118.54052473561096,52.27299510773035],[-118.50156617668566,52.281673122784596],[-118.48916148051326,52.2991272925891],[-118.49312467464128,52.312498632154536],[-118.44035321568619,52.32466716333724],[-118.42596366493666,52.336128740370185],[-118.39524391856708,52.334845826716084],[-118.37994052340929,52.349979521923466],[-118.35364733518178,52.36605482322305],[-118.31710963352782,52.36777840841181],[-118.28975577098262,52.33895049731478],[-118.25420275558695,52.347971552243564],[-118.23994295722726,52.37486860847035],[-118.22601544486646,52.38028948983244],[-118.22089177271523,52.39755990042135],[-118.24444712136238,52.408024865105844],[-118.23979562631668,52.42701673093156],[-118.25533801784519,52.449536947527974],[-118.1933509328222,52.477820115697085],[-118.23552910270092,52.49017789295844],[-118.28914629729884,52.53849400402096],[-118.272783383034,52.56595580745586],[-118.33256828987776,52.58017159751485],[-118.33360055447136,52.60619521805405],[-118.35250427266114,52.61064739850081],[-118.3544911182317,52.633683980660535],[-118.30103784508414,52.65408122898692],[-118.29014118574572,52.677693441574],[-118.34329466527976,52.70888888153544],[-118.34282282867157,52.73855633325497],[-118.42241012943758,52.775786511962735],[-118.41299568550383,52.805983513772645],[-118.39962643062576,52.82446020987374],[-118.40108856689174,52.840507813370714],[-118.40316593576202,52.850763363494046],[-118.44446262459722,52.852225129781786],[-118.46120485778289,52.869352106066856],[-118.44827945001762,52.88528679187128],[-118.47685812891294,52.90096964032807],[-118.5001423710584,52.90638195122561],[-118.52223976601434,52.89821683693068],[-118.54378774498998,52.908454633134205],[-118.56193560645953,52.90121345949996],[-118.57544070832483,52.885241922982146],[-118.59651368820198,52.88104410860748],[-118.61382974913968,52.88372169369512],[-118.6209570562667,52.91625260640251],[-118.61342207156233,52.93601196344632],[-118.66020489429746,52.96393768062808],[-118.6697691259951,52.983415609226626],[-118.64077215980564,52.99933106894774],[-118.65263426715698,53.01838883681816],[-118.65534778600306,53.03479723339301],[-118.66875993739964,53.04250480269645],[-118.69587563527762,53.03280997045583],[-118.70054881003905,53.04435698245986],[-118.72643661511569,53.06021832808997],[-118.74607944323523,53.05233562606118],[-118.75893961774246,53.03800508407288],[-118.77620337937772,53.04535065361347],[-118.75905843996392,53.06577606003673],[-118.7698270807955,53.07449218227551],[-118.74870402541254,53.08830021432249],[-118.74876863007407,53.09715645200809],[-118.73234093348077,53.1192494101021],[-118.7724880811906,53.13303927086822],[-118.78400328319869,53.14491300736752],[-118.78652165888747,53.159224179625255],[-118.82338581110662,53.17291489247554],[-118.83149170538044,53.18305189966032],[-118.86206958500092,53.190942958407234],[-118.87959590088946,53.20592767366366],[-118.91596082726338,53.211844915434206],[-118.92342292473337,53.22522130146408],[-118.94744409721655,53.238935158012985],[-118.97518999557337,53.2416561552717],[-119.02383383346701,53.23194970726286],[-119.0182946373101,53.21942883379427],[-118.99939195861522,53.21272997530264],[-118.99941805270834,53.19276477009838],[-119.02877345855086,53.16419293606015],[-118.9998661560306,53.14858027122348],[-119.02508892306889,53.134570466285034],[-119.04797477133914,53.12682289568183],[-119.04688152684797,53.144909624071516],[-119.08849667207235,53.165531908937304],[-119.11952400620235,53.16176576397],[-119.14601293054683,53.19118076861356],[-119.17560531255099,53.1846307125812],[-119.19605678207894,53.185533411034136],[-119.21903071576489,53.194049702141925],[-119.23271506781946,53.181768314020346],[-119.2571161723511,53.17662105945599],[-119.25146261933783,53.19896655526493],[-119.28800191731631,53.24006656087518],[-119.29135843066334,53.250032841948624],[-119.32522950440269,53.26960249582366],[-119.34049629263714,53.287080297804756],[-119.32964889624188,53.29661418353565],[-119.35598006464302,53.31232855675729],[-119.34691248807404,53.3263266169146],[-119.35587852064732,53.340102179676585],[-119.40608481035825,53.368089294537796],[-119.4367448990992,53.35762602004184],[-119.45924030972694,53.357219363011986],[-119.51753424652837,53.37006846251101],[-119.54847957744254,53.367491447564056],[-119.60452763392126,53.38342980784025],[-119.59834073421452,53.36571569657922],[-119.62527071719435,53.36345538181069],[-119.63753573407475,53.36905953644045],[-119.66890020525767,53.367828191709606],[-119.68276713181353,53.38426263371804],[-119.69544782045422,53.39060992446414],[-119.72542263011707,53.388754319312454],[-119.73930351610693,53.41180362041558],[-119.75836744599067,53.426371265998846],[-119.75852050211061,53.440203176318725],[-119.77148981683152,53.44580290581478],[-119.79063326841163,53.479265906944356],[-119.78035083947671,53.4917968391595],[-119.81252348225962,53.49994953982674],[-119.830157805324,53.51473382510122],[-119.84653123533786,53.511700425737494],[-119.85385753138111,53.49993203103624],[-119.87544476352346,53.50633898748773],[-119.89947701022167,53.51912780614278],[-119.90034337646944,53.532971918385165],[-119.86225650779885,53.54850858696944],[-119.86328963466717,53.56163559715606],[-119.89150100595056,53.577670833154194],[-119.91071278358194,53.60125461596505],[-119.93037889499642,53.61039968358425],[-119.90269758020686,53.62015876055376],[-119.87941046675063,53.61682955122066],[-119.85406621146876,53.60770663019238],[-119.8294141516719,53.60906653524265],[-119.79306383548752,53.60238475443048],[-119.77623786178415,53.5911629118723],[-119.74872565869954,53.59336587551843],[-119.71340854121951,53.6145799246129],[-119.73721403821956,53.63683200563751],[-119.73452921953967,53.66319085118632],[-119.75561708102063,53.66492072668732],[-119.76839701177558,53.67497493806923],[-119.78669668366831,53.70130973785179],[-119.7973807609446,53.707772196404356],[-119.83955321372414,53.69740058277536],[-119.84432779434387,53.71473925207621],[-119.90798088649748,53.71060103523053],[-119.90081872563253,53.72301753735686],[-119.90212529837437,53.738423866036115],[-119.88743039821745,53.750019396343056],[-119.88823655626443,53.77948461703774],[-119.94234051951926,53.775861900530046],[-119.95916548337041,53.781063712413214],[-119.99999997842916,53.80621976296581],[-120.00850380272584,53.7953512048137],[-120.03708743688581,53.80465020285502]],[[-120.17790284341794,53.322953170006194],[-120.15733971317034,53.3146314574577],[-120.15097447149839,53.298651452581424],[-120.17475372288824,53.29502840154114],[-120.18410829191542,53.31572898774977],[-120.17790284341794,53.322953170006194]],[[-119.25593608836277,52.840055390756085],[-119.25829928893734,52.8227980451323],[-119.28284962214033,52.81875642138399],[-119.28205213496106,52.830364318492215],[-119.25593608836277,52.840055390756085]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.71913477411177,\"lat\":53.11625628900934},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5953\"],\"cd_name_en\":[\"Fraser-Fort George\"],\"csd_code\":[\"5953019\"],\"csd_name_en\":[\"Fraser-Fort George H\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser-Fort George\",\"csd_name_fr\":\"Fraser-Fort George H\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.3769997710696,56.09718329524315],[-120.38462690402818,56.13125610742328],[-120.3964675799831,56.135010301356644],[-120.4266170258284,56.16807909908019],[-120.43867980618357,56.172187910138774],[-120.45329759360773,56.19800030403454],[-120.47525028799897,56.20388939440226],[-120.47790451768066,56.21814859168623],[-120.54585890572423,56.248918608483976],[-120.57644289846309,56.25885529415334],[-120.63967291746626,56.265845305876915],[-120.66952792676378,56.26567730472991],[-120.68118838258657,56.27555699781102],[-120.73024512067197,56.27860340656548],[-120.74048660424783,56.28609899719242],[-120.72604391046603,56.312640592329224],[-120.70879970692566,56.32197199713771],[-120.70653962177681,56.33353073937067],[-120.9554588101152,56.33369508680905],[-120.9884660631496,56.33276808178419],[-121.16422964596813,56.33387411690581],[-121.16063369690437,56.306460208562775],[-121.16440256909773,56.28975128449289],[-121.16260893832099,56.24820170809358],[-121.14980139532668,56.246889100352824],[-121.12241161351945,56.228494002389304],[-121.09165391785793,56.220203692365615],[-121.04906458217167,56.21691520669674],[-121.02458018862083,56.21921959143918],[-120.9894580955068,56.231276913494455],[-120.94567320766429,56.21926939723265],[-120.92501710605943,56.20063221203804],[-120.9054625218776,56.19183910087494],[-120.87573790374876,56.19153289268567],[-120.80744898885901,56.19843320320334],[-120.79331410493361,56.192914401756944],[-120.7720126727762,56.16797219651106],[-120.73320563020897,56.15582717684105],[-120.71563903932756,56.159716215047396],[-120.71576571668469,56.17392619331285],[-120.6626499408786,56.17382872530886],[-120.63667018951537,56.170910710269375],[-120.63638496906393,56.136760514210536],[-120.66053361561515,56.13633199637533],[-120.64028738284307,56.12836069013794],[-120.59948719853168,56.13004410595303],[-120.53332630724046,56.115143998686044],[-120.49140257758995,56.118593495764365],[-120.46361747679411,56.11221019932105],[-120.44053601277965,56.1023517906932],[-120.3769997710696,56.09718329524315]],[[-120.86537169497488,56.26007122538481],[-120.80796151719706,56.27992709775909],[-120.80778716792595,56.26813490781499],[-120.79476401609594,56.26108587364713],[-120.79475342857661,56.24848438494467],[-120.75099496196894,56.22489078802621],[-120.75562291903911,56.21773686432664],[-120.78540195130596,56.21780851352062],[-120.82094743070957,56.22906060983243],[-120.81923698068888,56.20972280190791],[-120.83386705580526,56.209564866968186],[-120.84217374813704,56.22986391912032],[-120.872242297318,56.23215374691855],[-120.88718229959917,56.23904201467057],[-120.88726741659097,56.26826855046827],[-120.86537169497488,56.26007122538481]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-120.78353993356431,\"lat\":56.23611327317479},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5955\"],\"cd_name_en\":[\"Peace River\"],\"csd_code\":[\"5955042\"],\"csd_name_en\":[\"Peace River C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Peace River\",\"csd_name_fr\":\"Peace River C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.789324835561,60.00003261971194],[-124.25000000629466,59.99999998600657],[-124.49999998419199,59.99999999083998],[-124.99999999384676,59.99999999275535],[-125.49999998069161,59.99999999068714],[-125.99999999458569,59.99999999738116],[-126.49999997133345,59.99999999734734],[-126.99999997369942,59.999999997445464],[-127.24999999227275,60.00000000364545],[-127.72500008774584,60.00002214929825],[-127.73047101310047,59.99318754511749],[-127.72860753660227,59.89570745163183],[-127.67753765691441,59.893223506712836],[-127.65549982549155,59.88014259056828],[-127.6606356469357,59.8550345443702],[-127.73583918907774,59.842549372902624],[-127.75894760294103,59.84240299910988],[-127.76918761410911,59.828238566261156],[-127.75751467212491,59.8110062782644],[-127.76164166170871,59.799696981107076],[-127.80272594142238,59.78544605983485],[-127.7868011466033,59.77211216251296],[-127.81058614698617,59.759338082653684],[-127.80002959718917,59.73188171292939],[-127.79970997033757,59.71131832682625],[-127.78567831144271,59.701517186718625],[-127.79785007139814,59.69513220707044],[-127.77773535558109,59.6754116347498],[-127.75261060553449,59.66664882640882],[-127.7513211953392,59.655556462222364],[-127.72766554342152,59.62997521239896],[-127.6774669691287,59.612871456426795],[-127.59267264941361,59.59704074899553],[-127.57301710438911,59.56977281293677],[-127.54680281390173,59.55711304055589],[-127.53267728460453,59.534416930580214],[-127.4939886923378,59.53008095689706],[-127.48393864740412,59.51494676199513],[-127.44617526125037,59.488949187300754],[-127.44514904636094,59.479237103283985],[-127.42771386541615,59.45525053826308],[-127.41463715538083,59.447793596971465],[-127.36967977448917,59.40021432833403],[-127.34264568959883,59.37866314145689],[-127.33312279131147,59.34657883643649],[-127.2915761801634,59.30477553107412],[-127.27970592304142,59.28216879643267],[-127.22739097444232,59.24219625674133],[-127.22305003550804,59.21721136671861],[-127.20824697647204,59.208018773278],[-127.19312868027869,59.18250918237987],[-127.19358095602234,59.15907011767811],[-127.17093650941902,59.14019722600758],[-127.11320357873834,59.120462492430214],[-127.0985794330979,59.12065514118299],[-127.06807328419822,59.133650716099126],[-127.02763400741513,59.13295183392962],[-126.98874042782582,59.11875905238562],[-126.9721482827801,59.10299484828454],[-126.97506850975108,59.08552654810044],[-126.96655730414373,59.075041900835025],[-126.97856134837383,59.049811202180166],[-126.95138547408713,59.024687936508116],[-126.9438367263327,59.00041438656799],[-126.95188092973679,58.980485978198956],[-126.94346329590266,58.97177157454199],[-126.99239779667788,58.90933567177222],[-127.03409274613506,58.87221658785586],[-127.05207107921686,58.86272966327919],[-127.05941939565626,58.85060176725167],[-127.05039573280615,58.83390327777387],[-127.02138492542254,58.806628820918775],[-127.00422283692745,58.80431496615965],[-126.970845591143,58.814206501456795],[-126.94867705604956,58.80897347312023],[-126.89534845075339,58.7781309802924],[-126.87962379250051,58.7612198093789],[-126.8343959882457,58.7221094449708],[-126.83980337336081,58.70805158401265],[-126.87044521462535,58.685119149535495],[-126.88781117413838,58.67796180007559],[-126.9066801292143,58.66116645361502],[-126.91435145900131,58.638803915404615],[-126.89714357671501,58.63078698868095],[-126.87351514374308,58.636740208104406],[-126.83557061102425,58.663114422763755],[-126.79274273360012,58.66840372515298],[-126.7438677776015,58.667261444228416],[-126.6999012797205,58.64886990575436],[-126.66683223987282,58.62801200027105],[-126.63730578160397,58.60365333405359],[-126.60559181916668,58.585153223032925],[-126.5519857054852,58.57913497269119],[-126.48676978381651,58.60504458222862],[-126.46816001743576,58.600220454231206],[-126.44580728326969,58.603298903584154],[-126.40327062486635,58.596896270188736],[-126.33239395450197,58.61003848056533],[-126.30289601714826,58.59835136786487],[-126.3029911863765,58.57224928580886],[-126.28482571545624,58.549318849814306],[-126.2496228313888,58.52207156314939],[-126.20759362218027,58.4934235489848],[-126.17858972935076,58.48427158534641],[-126.13812282048544,58.46506405565411],[-126.1101447721574,58.46085424002855],[-126.07055007571046,58.449416802244244],[-126.06009712044737,58.4204842062932],[-126.01456064273003,58.40655000730703],[-126.00001053222199,58.406803109637394],[-125.9308900576435,58.395287848271295],[-125.89458798249166,58.41228931231077],[-125.8574543296773,58.41265744198077],[-125.83552716511176,58.38099342124677],[-125.82296812389755,58.36940409423168],[-125.83528979181965,58.36092912956513],[-125.82492819621142,58.35259637292683],[-125.78462508426709,58.34601311643098],[-125.77489738188102,58.32161659006915],[-125.75034383917502,58.323560246503256],[-125.71739303146826,58.30727590804862],[-125.65019138901549,58.30391259963858],[-125.61026585208431,58.31289873269453],[-125.5845595540227,58.31273360266351],[-125.55184269281894,58.31955345176527],[-125.51745799661077,58.3086574496646],[-125.48049818883521,58.308653136590664],[-125.46239278544608,58.33522895407762],[-125.4393467446414,58.34113453888752],[-125.39082510545734,58.314938802948234],[-125.37727573182612,58.29838827133444],[-125.35406232414485,58.28978438251722],[-125.35640054489662,58.2794676883798],[-125.32853319011899,58.2777707600901],[-125.28862133809409,58.30289376734997],[-125.27570477823814,58.30060620893494],[-125.26418007256574,58.28195586128713],[-125.21924335429792,58.25607160925372],[-125.20129913933505,58.23926415823223],[-125.16010571789533,58.24383674426087],[-125.1415078467814,58.23630944251832],[-125.11999872385185,58.23861574253382],[-125.05696298683539,58.23538760138936],[-125.03879237222678,58.24155309854162],[-124.99241037060354,58.23308243317362],[-124.9518669774111,58.23083551557063],[-124.9262669607891,58.253214109446525],[-124.89899930316169,58.24370391257312],[-124.87985297368736,58.22343748477525],[-124.84891952992557,58.22135372412903],[-124.8297049637391,58.20706136316344],[-124.8310342534206,58.198730975725766],[-124.84986933952779,58.18488135667359],[-124.87515813590136,58.17440867316686],[-124.88395537530289,58.16431677519982],[-124.87405783566135,58.13953876864386],[-124.86096492518996,58.12489038574302],[-124.8760257497814,58.103894668358464],[-124.91906686116562,58.07397154777613],[-124.92684628945804,58.05343469041651],[-124.91702713540563,58.030427329346935],[-124.92702471356755,58.023654680592735],[-124.95588976082207,58.02573899716094],[-124.968385216007,58.01652220523962],[-124.94836471156168,57.99987025305091],[-124.50096983748892,57.99958172409965],[-124.25101009374565,57.99944490011546],[-124.00105266965743,57.999308329278335],[-123.75202882558702,57.99942452851383],[-123.50300322865236,57.99954480154474],[-123.25397591594614,57.999669080107886],[-123.00643787436488,57.999798201019104],[-122.75770082258404,57.997565813850755],[-122.73982288775274,58.00058234152617],[-122.50635151885209,58.00013170717076],[-122.25516314445281,58.00002496100031],[-121.87249945111179,58.000180436088975],[-121.75329355634804,57.999121155813974],[-121.5090677078632,58.00003897848093],[-121.27382340826563,58.001412300085384],[-121.0031103294777,58.000832007925624],[-120.75210097972644,58.00030703162368],[-120.5060013910456,57.99979321890643],[-120.00002255688672,58.00000005006396],[-120.00000003642833,58.0794695009417],[-119.99999057622078,58.25000000193901],[-119.99999508326803,58.48232990638716],[-120.00000001910739,58.75000000562448],[-119.99999998817674,58.93549217206004],[-119.99999998963858,59.25000001011167],[-120.00000001546529,59.49999999751764],[-120.00000000959177,59.74999998486676],[-119.9999999832295,59.999999999344084],[-120.49999997008557,59.99999999624946],[-121.00000002378971,59.999999996662524],[-121.49999996629361,59.99999999378784],[-121.7499999774632,59.99999999015017],[-122.25000000206235,60.00000000710988],[-122.50000001140688,59.9999999960158],[-122.99999999299197,60.00000000726423],[-123.49999999187165,59.99999999162521],[-123.789324835561,60.00003261971194]],[[-120.9087466101668,58.35701198481678],[-120.90547816229484,58.35772494582236],[-120.90510971779626,58.35428888527497],[-120.90995487617613,58.354178783914826],[-120.9087466101668,58.35701198481678]],[[-121.7277257182462,58.28402557733298],[-121.72861036601314,58.28757860967767],[-121.72304253093169,58.28729468899197],[-121.72374612146153,58.28320526596799],[-121.7277257182462,58.28402557733298]],[[-122.70738363311222,58.09015213501244],[-122.68709877757928,58.09513682138588],[-122.68610787360169,58.065458803776565],[-122.70378342761204,58.06816751682941],[-122.70738363311222,58.09015213501244]],[[-122.57380950619388,58.82528760519608],[-122.57207295451438,58.807012765702375],[-122.50796471570256,58.80594739390872],[-122.50449460778168,58.84469419022996],[-122.42424216344727,58.846534325836544],[-122.42547508109965,58.8163508305927],[-122.45363992807759,58.81561121773618],[-122.45452122059174,58.7496283813002],[-122.58982368012802,58.75076177717406],[-122.62422648543263,58.73783953517039],[-122.64398871003068,58.74386919798622],[-122.67401704051548,58.744143679544685],[-122.66785473937325,58.76760051018146],[-122.65370340149983,58.78599653159843],[-122.6392122053939,58.793291394093195],[-122.63779677800649,58.80748939143545],[-122.6157724555517,58.80707673017404],[-122.57380950619388,58.82528760519608]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.44625041808298,\"lat\":59.074440599134924},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5959\"],\"cd_name_en\":[\"Northern Rockies\"],\"csd_code\":[\"5959007\"],\"csd_name_en\":[\"Northern Rockies\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Northern Rockies\",\"csd_name_fr\":\"Northern Rockies\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-134.2055950339318,60.6793191815358],[-134.33381851608084,60.53152592811897],[-134.37086731181154,60.537972965483654],[-134.40110393074153,60.55907707948082],[-134.41904115943575,60.56631417986306],[-134.45991311276677,60.56999126760665],[-134.43652477258146,60.60390698924658],[-134.3646517774721,60.61792014458],[-134.38004850705295,60.65889963637729],[-134.45573403398123,60.65621305453946],[-134.44956261642957,60.62815833188153],[-134.47975810754255,60.60700855468761],[-134.49773250109118,60.56690407203972],[-134.5083315867798,60.56352037145728],[-134.56414503646363,60.59290763888703],[-134.65677205836704,60.581522628743],[-134.68792176538057,60.585140593996435],[-134.67622864110862,60.570231220123425],[-134.62885459331045,60.55523157078733],[-134.49997176656584,60.27639338390118],[-134.4195642279161,60.29089412602153],[-134.33385930623308,60.333829291269915],[-134.2098411929904,60.3873740775048],[-134.0374970822814,60.454986173642624],[-133.8827895637782,60.51167251600026],[-134.02898980120753,60.58858409800979],[-134.2055950339318,60.6793191815358]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-134.30805751075255,\"lat\":60.4871161483084},\"year\":\"2021\",\"prov_code\":[\"60\"],\"prov_name_en\":[\"Yukon\"],\"cd_code\":[\"6001\"],\"cd_name_en\":[\"Yukon\"],\"csd_code\":[\"6001058\"],\"csd_name_en\":[\"Marsh Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Yukon\",\"cd_name_fr\":\"Yukon\",\"csd_name_fr\":\"Marsh Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-136.45234257323094,67.71066146363297],[-136.45834903234768,67.81291203925119],[-136.462800991036,68.12590970536893],[-136.4653235066337,68.30347367476699],[-136.4674099290856,68.59566736574959],[-136.46861613302198,68.89430080418434],[-136.61387779874048,68.93437116315671],[-136.672538302581,68.92507161114429],[-136.74762093970517,68.90520635809733],[-136.83271023543227,68.90890800316461],[-136.90231986237717,68.92993605881514],[-136.9538427928032,68.94238326014643],[-137.05683537709805,68.97675877957073],[-137.17074828233035,68.99673683729402],[-137.24222057759562,69.00537801251087],[-137.37521310399643,69.01384996738734],[-137.6549166190451,69.0604447847896],[-137.98057138780607,69.13951532664076],[-138.09067497659123,69.17739359389385],[-138.17224729467154,69.21715193409527],[-138.22147876339346,69.25198792649881],[-138.29031603561913,69.28465456611242],[-138.3731856138454,69.31290731398397],[-138.4547740028829,69.32312272573081],[-138.53955306755017,69.32426781180276],[-138.61793176000447,69.34512855746067],[-138.7179158878992,69.38407861013047],[-138.8679299086973,69.42886082317054],[-138.94201967096052,69.46005936816184],[-138.97115783949565,69.48629563652433],[-138.98530689293267,69.50764350251497],[-138.95622559556267,69.52746676414812],[-138.89493127269355,69.54381173895253],[-138.80855799326184,69.55275143155724],[-138.7618999027931,69.57563349292046],[-138.7783208759392,69.59703432337477],[-138.83118234036792,69.62706049061117],[-138.91993095519598,69.65299450191827],[-138.99110350643898,69.66593839767027],[-139.05687554090426,69.67412554436521],[-139.13161815638827,69.66890583600335],[-139.19278288949488,69.65501476464263],[-139.31503947797046,69.60436659803749],[-139.35639143309683,69.59183859130097],[-139.41387234262356,69.58627291463752],[-139.4818835665246,69.58378125605125],[-139.7163440904458,69.61767875682405],[-139.8513200018732,69.63903039704505],[-139.96779287799143,69.65249315851429],[-140.04176436421974,69.65280699142949],[-140.12981399458343,69.6435129904187],[-140.22971946435501,69.63681366886901],[-140.31402229305976,69.62697703310029],[-140.4908654707433,69.6275089736633],[-140.69927958200017,69.65043498966287],[-141.01009129160732,69.6894274840654],[-141.0180731576274,69.50287549157696],[-141.01593136498755,69.28748571380157],[-141.01596106246026,69.17221373793805],[-141.01426738900267,69.03686912120409],[-141.013418719012,68.85530152125584],[-141.01340314181547,68.55773473380613],[-140.9612349929213,68.55849436527201],[-140.92477393210984,68.57292734848247],[-140.90993395200337,68.56449034926291],[-140.8794770142232,68.56439534809078],[-140.81094892831862,68.58523931890826],[-140.8073318247724,68.61779032931533],[-140.77754080715897,68.61978931981457],[-140.73766079337867,68.6308293107761],[-140.7402952356027,68.63895742508632],[-140.70767975906438,68.64767628115412],[-140.7130097247084,68.66794929108765],[-140.67798367216392,68.67984629660057],[-140.62116283604868,68.63206726334735],[-140.58842083226517,68.62845024055366],[-140.57322493954675,68.60107024286185],[-140.54344395789914,68.59717922022462],[-140.4907259093322,68.612597225031],[-140.477971860876,68.62497122045399],[-140.42088483038472,68.62875218726015],[-140.40411382475662,68.64400619227084],[-140.35071887642528,68.63258515022409],[-140.31846322746833,68.63297051936702],[-140.2824319381351,68.61480814993317],[-140.23451796133068,68.61042011736396],[-140.21912594569378,68.6160621139723],[-140.1710729340415,68.61167409864149],[-140.0965279680641,68.61602307033942],[-140.074362915741,68.62920305141296],[-140.04456090968802,68.63657104772179],[-140.0242841325098,68.66763314570854],[-140.05322178488822,68.67445205605225],[-140.04103873916435,68.69615206892402],[-139.97298674686195,68.70595603468304],[-139.94387077382157,68.70272002210488],[-139.9482798017761,68.68338103703014],[-139.89317186279217,68.67034098991559],[-139.8600488914336,68.65597000206121],[-139.85214987384882,68.64359598368011],[-139.82435796779848,68.6402649762448],[-139.7899934792289,68.62523921795687],[-139.7341279985017,68.62389392959379],[-139.68111405148184,68.60476390806244],[-139.67321414202192,68.58344391824455],[-139.64513716956972,68.57394989665102],[-139.5846465008792,68.56383500246993],[-139.58974320698934,68.55136887120013],[-139.57943975105485,68.531162328663],[-139.53777528549136,68.52547985991035],[-139.51626529880187,68.52823983789996],[-139.47981229772282,68.52062582975559],[-139.4195643626656,68.51462981383439],[-139.3494173274069,68.51434379487998],[-139.31439237492134,68.51948377043416],[-139.31229827559497,68.54375379289733],[-139.30297026350107,68.55403277797558],[-139.26889622055202,68.56650177271784],[-139.1890422746981,68.54813173328759],[-139.18828038140322,68.52310073753246],[-139.1695303675371,68.52300471009765],[-139.15553938677593,68.50758571829769],[-139.12926942938836,68.49978169687559],[-139.10461844190786,68.50149470828948],[-139.081204471132,68.49349968031547],[-139.00420540903136,68.5078716605266],[-139.01410437770332,68.53861468145932],[-138.99716236029832,68.55079766206882],[-138.9448143256497,68.55450865609491],[-138.87561933585428,68.54984563525696],[-138.8410728064185,68.54299358548508],[-138.79930840526887,68.52714859423983],[-138.7500794314859,68.53804358468516],[-138.74658048612545,68.5258235722624],[-138.72542743565847,68.51929256115267],[-138.6952564784747,68.52490855668204],[-138.66651247925606,68.51605655026293],[-138.6393864695738,68.52205351808246],[-138.6283454123558,68.541279547827],[-138.59065544698095,68.54004151326632],[-138.5824450170755,68.53167922482757],[-138.52326853984067,68.52300449342911],[-138.4886234942048,68.52367147659952],[-138.45502555540025,68.51615246519171],[-138.44769758612378,68.50216046703461],[-138.33595764569804,68.49435642555433],[-138.29969459288245,68.50244639647586],[-138.2822775836369,68.49721140606164],[-138.28827361557666,68.48388640452856],[-138.2742826775462,68.4706563869478],[-138.30473969120558,68.4646603952089],[-138.27546458251118,68.43175113793724],[-138.29834782645813,68.41407541907073],[-138.33652877339193,68.41688041317806],[-138.35043247095058,68.41028507180731],[-138.33359776234045,68.39895578568927],[-138.32311592485937,68.36682389338252],[-138.29055803802456,68.33179140663671],[-138.26151019810783,68.32711011070816],[-138.25267711768137,68.30961436319356],[-138.20899020485368,68.2818223492483],[-138.205849259398,68.25583835504524],[-138.1792942999541,68.24365633812027],[-138.15254929925374,68.24232334069633],[-138.15075776214576,68.22455787103273],[-138.1039134033233,68.2089162971909],[-138.06589337147534,68.2235522949449],[-138.04863670696886,68.24340951732697],[-138.04597406886785,68.2583749200565],[-138.02135029495273,68.25705527111168],[-137.97566424869535,68.2745682639444],[-137.9259812910342,68.26685826794404],[-137.8311832968387,68.28256222677844],[-137.82661528898313,68.26371722192609],[-137.79939437551866,68.2498211986429],[-137.774267357364,68.24877419507368],[-137.71842273108393,68.20111542938143],[-137.71868354947682,68.1835771878703],[-137.69317558883756,68.17948415611559],[-137.58429155228217,68.18814611630633],[-137.53660659786308,68.18443412245223],[-137.51709560453847,68.17815208534647],[-137.47140359218014,68.18330207834667],[-137.46889756347488,68.1994150809442],[-137.38420256305986,68.20696304008995],[-137.37499555136344,68.21516704901263],[-137.30537957286685,68.21090804344901],[-137.26288354495026,68.22119200651417],[-137.2253965496798,68.22487099522041],[-137.22218651547135,68.2355330082391],[-137.17560149174216,68.24710297719885],[-137.11849353155034,68.24498297522442],[-137.08872451644646,68.25162194446136],[-137.04323851300535,68.24438994275708],[-137.00858950718873,68.2569039331026],[-137.0215624756502,68.27026394822117],[-136.98953747017285,68.2838599135662],[-136.96964949278973,68.2676209041828],[-136.96420466026143,68.24035322730651],[-136.92976859821664,68.22791988409257],[-136.94736765222444,68.21565690091307],[-136.94865970773856,68.18956791324605],[-136.92393042769822,68.18362881482096],[-136.92563679357238,68.16423489814161],[-136.9140188418177,68.15037888929913],[-136.85932693306134,68.11387487335726],[-136.82269389260816,68.10976385154838],[-136.7608739218387,68.11285681937646],[-136.7506679575814,68.09287482000035],[-136.75979803383595,68.0861778234385],[-136.72756806599907,68.07184880729932],[-136.7323011063659,68.05377580175514],[-136.75033023930075,68.04729766724897],[-136.70796513600646,68.03716481173987],[-136.66148222897303,68.01864277778195],[-136.6336311968892,68.0140557662455],[-136.63560624778773,68.00414478430584],[-136.61103233548386,67.98100075481267],[-136.64037426305887,67.97774177221584],[-136.65530129928683,67.96399277405135],[-136.68511835293077,67.96791078914393],[-136.6992233805573,67.95443378527862],[-136.6898754374321,67.93505378212464],[-136.67013647084266,67.91785376673147],[-136.6743565248409,67.90072778378354],[-136.6177635626336,67.87798475640547],[-136.59338659567928,67.87322473755282],[-136.53607365389422,67.8474047386452],[-136.53679472283304,67.8334607183042],[-136.5652963532214,67.82584274261157],[-136.5638007625542,67.8167347499061],[-136.52866874711373,67.8070637235243],[-136.52816906260708,67.79061171978292],[-136.47592296947397,67.73676869569442],[-136.47911048749344,67.72538085708693],[-136.45234257323094,67.71066146363297]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-138.84312718678217,\"lat\":68.90358416442395},\"year\":\"2021\",\"prov_code\":[\"60\"],\"prov_name_en\":[\"Yukon\"],\"cd_code\":[\"6001\"],\"cd_name_en\":[\"Yukon\"],\"csd_code\":[\"6001065\"],\"csd_name_en\":[\"North Slope\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Yukon\",\"cd_name_fr\":\"Yukon\",\"csd_name_fr\":\"North Slope\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-132.94668250266136,69.40746707993445],[-132.94693449578938,69.46015214707235],[-133.05289792272296,69.45978499693634],[-133.05247154414013,69.39866577024372],[-132.94668805830707,69.39872875831789],[-132.94668250266136,69.40746707993445]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-132.99969413182941,\"lat\":69.42934037631788},\"year\":\"2021\",\"prov_code\":[\"61\"],\"prov_name_en\":[\"Northwest Territories\"],\"cd_code\":[\"6101\"],\"cd_name_en\":[\"Region 1\"],\"csd_code\":[\"6101036\"],\"csd_name_en\":[\"Tuktoyaktuk\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Hamlet\",\"prov_name_fr\":\"Territoires du Nord-Ouest\",\"cd_name_fr\":\"Region 1\",\"csd_name_fr\":\"Tuktoyaktuk\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-128.50842004665694,66.3192540117472],[-128.55957506755038,66.31549466931581],[-128.5602410377843,66.30236683433897],[-128.57537112427804,66.29302251473027],[-128.63919248815125,66.29400524638291],[-128.64323040024777,66.2687208543512],[-128.66714078002002,66.251797130922],[-128.73538081745485,66.23339158183377],[-128.50203988970506,66.23337964672503],[-128.50241916739992,66.32084789172778],[-128.50842004665694,66.3192540117472]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-128.57836519165448,\"lat\":66.266510539874},\"year\":\"2021\",\"prov_code\":[\"61\"],\"prov_name_en\":[\"Northwest Territories\"],\"cd_code\":[\"6102\"],\"cd_name_en\":[\"Region 2\"],\"csd_code\":[\"6102009\"],\"csd_name_en\":[\"Fort Good Hope\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Chartered community\",\"prov_name_fr\":\"Territoires du Nord-Ouest\",\"cd_name_fr\":\"Region 2\",\"csd_name_fr\":\"Fort Good Hope\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.81129905224175,61.48960908066385],[-117.82513765084373,61.48952604112695],[-117.75974351281297,61.39960148262255],[-117.59614614989006,61.31091124539911],[-117.42640775272723,61.41030400401809],[-117.50107561354362,61.491685139622135],[-117.81129905224175,61.48960908066385]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.61758085219958,\"lat\":61.42128056078107},\"year\":\"2021\",\"prov_code\":[\"61\"],\"prov_name_en\":[\"Northwest Territories\"],\"cd_code\":[\"6104\"],\"cd_name_en\":[\"Region 4\"],\"csd_code\":[\"6104014\"],\"csd_name_en\":[\"Fort Providence\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Hamlet\",\"prov_name_fr\":\"Territoires du Nord-Ouest\",\"cd_name_fr\":\"Region 4\",\"csd_name_fr\":\"Fort Providence\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-92.45504626275823,62.173243880844716],[-92.48295627744899,62.21596515025993],[-92.51802047622884,62.3124811322101],[-92.61155512283375,62.370233455313794],[-92.9617224680332,62.3850583996657],[-93.32869305535394,62.39961952845071],[-93.3198396392693,62.388175068459184],[-93.28575990393857,62.368752120986734],[-93.2216547993496,62.338084020892126],[-93.17392003308564,62.327560155842136],[-93.02839369877671,62.32173184609141],[-92.93592516472854,62.31204817511295],[-92.81018204037427,62.29319727600786],[-92.7325298247474,62.26020193588578],[-92.69650523288493,62.236255375286696],[-92.65796639014133,62.20407485401421],[-92.62219798789224,62.138911286402774],[-92.42974046007002,62.11921279361568],[-92.45504626275823,62.173243880844716]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-92.77366406020181,\"lat\":62.29512756215543},\"year\":\"2021\",\"prov_code\":[\"62\"],\"prov_name_en\":[\"Nunavut\"],\"cd_code\":[\"6205\"],\"cd_name_en\":[\"Kivalliq\"],\"csd_code\":[\"6205016\"],\"csd_name_en\":[\"Whale Cove\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Hamlet\",\"prov_name_fr\":\"Nunavut\",\"cd_name_fr\":\"Kivalliq\",\"csd_name_fr\":\"Whale Cove\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-52.99425786384439,46.75172767536633],[-53.00115629797892,46.7650252903582],[-53.01168644994902,46.76764338989691],[-53.03230951250772,46.78424781720364],[-53.03870170794668,46.797578007403686],[-53.05497040265605,46.81034638545152],[-53.05009355718862,46.82006425895569],[-53.07943029829011,46.83991360514802],[-53.09793348841972,46.867499389757306],[-53.09452810687242,46.87968010141954],[-53.11727173055778,46.894381633267706],[-53.132329447787555,46.885926103316095],[-53.157704871258545,46.88342258306034],[-53.164355886180644,46.90276044352491],[-53.134113379671184,46.90844019494295],[-53.12023358072626,46.928309040462885],[-53.102840732102784,46.938550546838144],[-53.12001199503558,46.94828980679472],[-53.172693567570036,46.93974349505469],[-53.17639310431249,46.96566677222604],[-53.20765071160604,46.94909268249274],[-53.22239419029245,46.951692515114765],[-53.21194583821167,46.96491410524243],[-53.233109146401056,46.980768012287115],[-53.25407722281834,46.98801174566811],[-53.26513152830783,46.99785477599127],[-53.26778238903769,46.993849126697924],[-53.31049115763774,46.98234349835587],[-53.32270785126872,46.96758272988395],[-53.31369361707948,46.949036081897276],[-53.328182894276075,46.931284381237134],[-53.31850610219987,46.927370223280136],[-53.33024065453084,46.913070768193464],[-53.33110077083222,46.89701698488074],[-53.35857997934997,46.88593401041634],[-53.39864763837706,46.84620174322506],[-53.40971673812315,46.848626357999606],[-53.43804985103245,46.83615368915978],[-53.461223341251284,46.81182184225358],[-53.48975269001683,46.777141192162475],[-53.65042586824663,46.70143340713697],[-53.75149180590595,46.65600634944378],[-53.63245926042014,46.59561559992948],[-53.463949015132705,46.61584307869422],[-53.324471836263186,46.600593542552154],[-53.183268170099176,46.59922520005938],[-53.109440586088745,46.60011632929988],[-53.09151800690174,46.60861354039747],[-53.00595452947467,46.717347593291464],[-53.00000000544147,46.750000001738336],[-52.99425786384439,46.75172767536633]],[[-53.5954237980123,46.63141163938586],[-53.58522424201037,46.63915688536901],[-53.581988569466326,46.62888723623408],[-53.5954237980123,46.63141163938586]],[[-53.26031613456186,46.71363799599763],[-53.24981690293442,46.71617550315724],[-53.249974067723684,46.70428514245773],[-53.26270395131307,46.70308134546415],[-53.26031613456186,46.71363799599763]],[[-53.34048403604838,46.78343195402444],[-53.316010211364855,46.78339103684741],[-53.31567058309504,46.7086971926184],[-53.33290860941942,46.69551699848934],[-53.347186108689414,46.70790391155771],[-53.34532588689896,46.7197970946016],[-53.37413411916317,46.72536529970582],[-53.38422352392887,46.69913029652019],[-53.39269969620581,46.70580300337877],[-53.382645799064605,46.72521678680562],[-53.36965099245202,46.72676280178962],[-53.366813306386106,46.74835050228523],[-53.38339849075791,46.74548200486711],[-53.3871873135314,46.73067790226493],[-53.40249450432182,46.712495310550274],[-53.415560641856686,46.70625473178629],[-53.41638508242168,46.7835292081521],[-53.34048403604838,46.78343195402444]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.306269220296926,\"lat\":46.74564264693655},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001101\"],\"csd_name_en\":[\"Division No.  1\",\"Subd. V\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Division No.  1, Subd. V\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.866609606106664,47.30558168772879],[-53.85265163615508,47.306514653068135],[-53.823746873185655,47.33382091929544],[-53.90491709772214,47.33559194292912],[-53.924718002192336,47.32681698847734],[-53.92410748003442,47.318461302465835],[-53.9057156062394,47.30114540815718],[-53.88659230643672,47.30695388813722],[-53.866609606106664,47.30558168772879]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.879144800184584,\"lat\":47.32097112780506},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001254\"],\"csd_name_en\":[\"Fox Harbour\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Fox Harbour\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.01420077813224,47.77077049392445],[-53.98709079640952,47.75828318485166],[-53.95770741324277,47.76980050480063],[-53.976351905984274,47.780035509104685],[-53.97676414480762,47.78823823052002],[-54.01420077813224,47.77077049392445]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.98560328298683,\"lat\":47.77160906800144},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001270\"],\"csd_name_en\":[\"Arnold's Cove\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Arnold's Cove\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.896490057957834,47.621296488977386],[-54.87855151140507,47.618838280250365],[-54.87259869171405,47.629753758556426],[-54.88669743186933,47.64812339306365],[-54.89956543099632,47.637387111751366],[-54.896490057957834,47.621296488977386]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.88683506800656,\"lat\":47.63162681255091},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1002\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"1002039\"],\"csd_name_en\":[\"English Harbour East\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"English Harbour East\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-58.72794679775836,48.554496950909844],[-58.72265743608245,48.559560032399425],[-58.786092721350144,48.56248306662605],[-58.82478528167395,48.53098310892706],[-58.77594458530228,48.531141600286674],[-58.73595201711787,48.54374099825908],[-58.72794679775836,48.554496950909844]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-58.77296860361197,\"lat\":48.54661249371247},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1004\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"1004042\"],\"csd_name_en\":[\"Port au Port West-Aguathuna-Felix Cove\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Port au Port West-Aguathuna-Felix Cove\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-58.24220399158892,49.05973805184612],[-58.23924097494922,49.06595060190033],[-58.27790349124766,49.07191160159088],[-58.29528857858906,49.06472070373797],[-58.33804890144262,49.056144013779246],[-58.36412218428724,49.05408549427041],[-58.37771290312477,49.06379858690886],[-58.372921608590325,49.07856019158379],[-58.3847892639304,49.084218166654324],[-58.396990667265094,49.07512094352799],[-58.379393389033574,49.046576118828845],[-58.35258939782167,49.044292387538945],[-58.269283116265086,49.06276974130873],[-58.24220399158892,49.05973805184612]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-58.333104432835526,\"lat\":49.06066122344068},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1005\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"1005035\"],\"csd_name_en\":[\"York Harbour\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"York Harbour\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.761671350999976,49.480040307808444],[-54.77382069006544,49.47594177162751],[-54.79458269975396,49.45978415610818],[-54.823312882543014,49.44586349162667],[-54.86365495530276,49.44225014624733],[-54.88053217106206,49.44775270864264],[-54.89740479009158,49.46393834333078],[-54.90375934346992,49.499320270226804],[-54.94503516882793,49.56561915808563],[-55.00195099455336,49.57738148021618],[-55.03898265710663,49.66682615872533],[-55.07498443733236,49.76363497321662],[-55.123756823126875,49.915309616221265],[-55.13047109669355,49.93352727154898],[-55.16465537268396,49.894532003513014],[-55.16576583752057,49.84041617848055],[-55.17088244799693,49.68389681869284],[-55.17409971216568,49.56625346743559],[-55.13695902892511,49.53316133412617],[-55.13007879076523,49.50290657917529],[-55.118912331099345,49.47441292567025],[-55.11673308360889,49.455809283473464],[-55.12292179933763,49.439228909372375],[-55.13721145988226,49.4203804912061],[-55.15524753511239,49.40556201391156],[-55.180891255593345,49.37171608695133],[-55.214862895542176,49.3367710468565],[-55.22485071667992,49.313057406753636],[-55.21979574321131,49.27894264563262],[-55.222550320358536,49.25688010587124],[-55.09300686294416,49.30020195301635],[-55.11274631429249,49.326988362554744],[-55.12055166394457,49.35383807750402],[-55.11213332950214,49.368339340563324],[-55.08358618219082,49.37221794758907],[-55.055043235519385,49.366124124871114],[-55.02665300960629,49.35209315646345],[-55.01130004797368,49.33478199987266],[-55.01155228660883,49.31572572847338],[-55.00370355602713,49.29893136014695],[-55.00250409917846,49.28032171105358],[-54.971020371736955,49.27998047879291],[-54.971204100877756,49.2903625014838],[-54.95629603505198,49.30813509805052],[-54.936256618467986,49.307951299626374],[-54.93479240689312,49.28298029781221],[-54.92620232190422,49.28000819935429],[-54.89341799560899,49.29068018176725],[-54.89098972434496,49.30294682505883],[-54.882738401238214,49.326900713835634],[-54.87225879356639,49.3387663973147],[-54.89200901065782,49.345413907025694],[-54.90209929752105,49.34195519599812],[-54.913929916191236,49.35763609854034],[-54.89723741809803,49.38358950279058],[-54.883201986669825,49.39111570316019],[-54.87720000007214,49.40683230545051],[-54.84506899218908,49.40589909646548],[-54.858496102653305,49.39130091065383],[-54.86507100966671,49.35557320795058],[-54.855312998827294,49.32489860651618],[-54.84634229316238,49.32323298376983],[-54.857514349747234,49.30069592832887],[-54.8746476092692,49.30272358587563],[-54.87541297599886,49.27584430219627],[-54.93246756269146,49.23422237692257],[-54.97015027147724,49.232844904665136],[-54.97072163971879,49.2744025245262],[-55.035090214922846,49.20381654020197],[-55.01160533551522,49.198426621688796],[-54.95503735961176,49.176990375019635],[-54.74745717590349,49.11934125144623],[-54.71833321387581,49.17347210323492],[-54.718434513734195,49.18738490631013],[-54.70317679732266,49.217466037560506],[-54.68136461111959,49.2459231250607],[-54.6421735068508,49.31353542805886],[-54.647160100678065,49.32146131032306],[-54.63303829222286,49.33817670252311],[-54.63691211273358,49.357515191734734],[-54.63428589587918,49.37693706003278],[-54.623528246332114,49.389097613590664],[-54.62451343240931,49.40065302888739],[-54.61221296321373,49.42452688914064],[-54.611660425762594,49.43616386345543],[-54.578404005498214,49.4639762961442],[-54.544450100619876,49.48504978434894],[-54.5381349689403,49.50752625289964],[-54.55024572970426,49.5251496255277],[-54.5428057275123,49.53514929624498],[-54.5729543992316,49.55527496865468],[-54.61047999329619,49.543615980533716],[-54.66356466750836,49.536540476428556],[-54.70035328165398,49.52193708726234],[-54.757934908746364,49.481292174786105],[-54.761671350999976,49.480040307808444]],[[-54.76245334338401,49.31315241017011],[-54.74220599475173,49.33469578483923],[-54.7446768925906,49.36213188633159],[-54.69664992437329,49.37468319766828],[-54.68333832151963,49.36646799884857],[-54.69677140758185,49.2671501466464],[-54.74815388619613,49.266971978009515],[-54.76195639861135,49.31092320804599],[-54.801395601376875,49.2980768504943],[-54.79838538532879,49.31163899843396],[-54.80666469405312,49.33234889126497],[-54.79697729335092,49.35519820675692],[-54.784960089152285,49.36047559439889],[-54.76584659693269,49.353034307410596],[-54.76245334338401,49.31315241017011]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.92731901164526,\"lat\":49.437629068681744},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008036\"],\"csd_name_en\":[\"Division No.  8\",\"Subd. G\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Division No.  8, Subd. G\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-56.088701871169754,50.10024425389928],[-56.114329995012916,50.10318288726781],[-56.12299370256847,50.11127699482816],[-56.11074501588193,50.12465329120696],[-56.12293818788089,50.13590190451095],[-56.1393372825536,50.14057360406022],[-56.14092141197177,50.153411701113754],[-56.15990757784357,50.158060697881226],[-56.186038211765236,50.14297500237312],[-56.18399898568913,50.138720295994986],[-56.227360087687245,50.12102488990688],[-56.15745315050855,50.080910625442044],[-56.121454156276116,50.08229682073484],[-56.088701871169754,50.10024425389928]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-56.15704074838832,\"lat\":50.11592727454166},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008075\"],\"csd_name_en\":[\"Fleur de Lys\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Fleur de Lys\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-56.15745315050855,50.080910625442044],[-56.16321220638888,50.05489909802643],[-56.119229026722884,50.037765149451545],[-56.11262549838789,50.04124571160014],[-56.119678208681876,50.059110087302734],[-56.10612118403486,50.068854992362965],[-56.08458749551049,50.07030270668999],[-56.09148909581563,50.0898592121597],[-56.088701871169754,50.10024425389928],[-56.121454156276116,50.08229682073484],[-56.15745315050855,50.080910625442044]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-56.126056799740056,\"lat\":50.0679390079155},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008092\"],\"csd_name_en\":[\"Coachman's Cove\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Coachman's Cove\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.938661636349565,49.96635584738282],[-55.89148362545128,49.948663818893785],[-55.84811090779616,49.97744813683779],[-55.87110549666945,49.9829009051997],[-55.938661636349565,49.96635584738282]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.89098232424805,\"lat\":49.9671292435307},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008096\"],\"csd_name_en\":[\"Woodstock\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Woodstock\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.940097649784605,51.165304988963186],[-55.93557989202723,51.19218543969091],[-55.98000333007505,51.197577432272695],[-56.0047689779426,51.18979837521415],[-56.01704736662311,51.19982823327807],[-56.02907514099613,51.19388555238876],[-56.03976573851634,51.143247961620865],[-55.94741060105088,51.13306856507886],[-55.940097649784605,51.165304988963186]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.98640848965279,\"lat\":51.166403002681236},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1009\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"1009028\"],\"csd_name_en\":[\"Main Brook\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Main Brook\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.64315261679625,51.30536304436349],[-55.617878040775125,51.29691198397106],[-55.591073935710874,51.29956743431432],[-55.58620634646702,51.30734777605257],[-55.61831459827593,51.31171280088152],[-55.64315261679625,51.30536304436349]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.612522053673885,\"lat\":51.304326434230305},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1009\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"1009039\"],\"csd_name_en\":[\"Goose Cove East\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Goose Cove East\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.612760884819444,46.01781302162894],[-62.6222479805568,46.00608560220448],[-62.60381594399097,46.00728886794581],[-62.612760884819444,46.01781302162894]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.612941603122415,\"lat\":46.010395830593076},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1101\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1101004\"],\"csd_name_en\":[\"Murray River\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Murray River\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.25486719277599,46.24588278537018],[-63.245621382007535,46.24756398946694],[-63.255597529817855,46.27477536998454],[-63.29324549519189,46.2746970147459],[-63.30921277371508,46.27827395065301],[-63.34750638258018,46.28931900574739],[-63.3514882658472,46.299761860887756],[-63.35994541145505,46.30153372627172],[-63.38531552511595,46.29175659359177],[-63.38370418653633,46.27678927335907],[-63.403075645597085,46.266294243437386],[-63.37821007624107,46.245059739036705],[-63.358271339962236,46.24894990840628],[-63.340939831351704,46.25161590504513],[-63.32980769678218,46.22807451999002],[-63.31838348255225,46.23842169224561],[-63.28799596964828,46.24145437888437],[-63.25486719277599,46.24588278537018]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.327199364078055,\"lat\":46.26418684331668},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1102\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1102022\"],\"csd_name_en\":[\"Kingston\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Kingston\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.6921666674935,46.57738098679753],[-63.7975903473218,46.628207626424334],[-63.84550114226436,46.65304614573655],[-63.86652829962536,46.66686486478766],[-63.884503605387565,46.651191492014156],[-63.868093736119455,46.640919648483],[-63.87909927736568,46.63049465101568],[-63.872461234343376,46.61383763538278],[-63.87482044335969,46.60149510058531],[-63.892757593453965,46.60455317162851],[-63.899629481100774,46.59129587515083],[-63.913217066346,46.59709581632047],[-63.980439381600185,46.584632838229545],[-63.974075081275046,46.567826153781596],[-63.98189663108484,46.55334789050504],[-64.00027979097052,46.543656456188714],[-63.997659107287035,46.53210309416822],[-63.96852698014571,46.5373723353434],[-63.932814644103274,46.506403547106686],[-63.91046239045009,46.49987289888067],[-63.86348878565482,46.51558341895836],[-63.79701364420001,46.54664997592],[-63.76977049151937,46.561505111504324],[-63.74985303756397,46.55435498639247],[-63.7239949867698,46.55826672850325],[-63.6921666674935,46.57738098679753]],[[-63.92649422744297,46.58302338456709],[-63.92057667884603,46.56962819544462],[-63.93503672821112,46.56751911565903],[-63.93882260812205,46.57762367808442],[-63.92649422744297,46.58302338456709]],[[-63.853175410408205,46.627220502343185],[-63.83271818005646,46.61113470146775],[-63.8563337096153,46.598706192451715],[-63.8578436111544,46.61156379328733],[-63.86917400509872,46.62168810883492],[-63.853175410408205,46.627220502343185]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.8552419614123,\"lat\":46.572921468633844},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1103\"],\"cd_name_en\":[\"Prince\"],\"csd_code\":[\"1103021\"],\"csd_name_en\":[\"Tyne Valley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Fire District\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Prince\",\"csd_name_fr\":\"Tyne Valley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.55668906445614,43.92141418320793],[-65.52326455681603,43.987228754402715],[-65.48345151516017,44.05929649073405],[-65.39743701447274,44.230354276315886],[-65.49361466829616,44.21474645364723],[-65.49999998595166,44.21241230778218],[-65.70437006830842,44.17309181898554],[-65.71443204391713,44.17177277664536],[-65.88874608522097,44.13807761613416],[-65.83299396710744,44.08210837602038],[-65.82468284669162,44.06105179167244],[-65.83325323401759,44.05134504343115],[-65.81495665353356,44.01436745118302],[-65.82178504753855,43.99967817612436],[-65.81579177112717,43.99032940886749],[-65.81976631635223,43.97751681912708],[-65.80217587980461,43.944560460949056],[-65.81412605330061,43.94151198418864],[-65.82516089940553,43.921239008326346],[-65.86265093956015,43.964582010151545],[-65.88028703196188,43.947974757951684],[-65.87109877962398,43.92384681164651],[-65.92152395031289,43.90965917293095],[-65.9704047662465,43.887915766584634],[-65.97541788931187,43.87062764935991],[-66.00529835425411,43.86646842971896],[-66.03048051974011,43.799072633857755],[-66.02717122152407,43.78203280098961],[-66.0453239163106,43.774734992524856],[-66.05895181997533,43.74015284271779],[-66.04209725375021,43.7383175525903],[-66.03204903106145,43.72294774219514],[-66.03165698922928,43.70952438878738],[-66.0426788637395,43.697861703494176],[-66.08779144182733,43.67020202997816],[-66.10819465793554,43.64231311991554],[-66.12029869177351,43.61206737544533],[-66.12963701900364,43.57278196496783],[-66.0941491555508,43.53080468284247],[-66.02890075791201,43.53012244440977],[-66.02208326857928,43.51767078199224],[-66.03555548324304,43.46776671274318],[-66.04278054738292,43.4302488407746],[-66.04201145094162,43.40065004036292],[-65.99415252310098,43.36063843548626],[-65.99428386991131,43.272336059728225],[-65.98748248101529,43.26260764954858],[-65.9692150532679,43.25406063190319],[-65.94688266658133,43.2517423552102],[-65.87729804706991,43.252453352069764],[-65.8596661870092,43.255101636600614],[-65.85703781858402,43.25917009656701],[-65.82635743490366,43.4951907630045],[-65.81898577091235,43.54693727642307],[-65.80919922730538,43.57069157142167],[-65.7840056370459,43.594819279717875],[-65.72374650664183,43.60142013052048],[-65.61077162772203,43.639887779297446],[-65.648749064997,43.74715122985456],[-65.58749015508255,43.883761286043416],[-65.56855377812111,43.921833104682264],[-65.55668906445614,43.92141418320793]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.79946179280323,\"lat\":43.781754364855885},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1202\"],\"cd_name_en\":[\"Yarmouth\"],\"csd_code\":[\"1202001\"],\"csd_name_en\":[\"Argyle\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Yarmouth\",\"csd_name_fr\":\"Argyle\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.54814790713708,47.23529601069589],[-53.570187699509816,47.228342699533606],[-53.55440860852217,47.21514289915714],[-53.556141144507514,47.20586895122221],[-53.536816262829454,47.202994953192324],[-53.52973758864751,47.21966369908659],[-53.54814790713708,47.23529601069589]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.547513964939625,\"lat\":47.219351793561046},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001207\"],\"csd_name_en\":[\"Colinet\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Colinet\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.01760660233686,46.87037959892952],[-54.00755418900915,46.87533840870837],[-53.95254448377925,46.86726909327073],[-53.94694219648364,46.88261529211894],[-53.93262648503594,46.87978819647924],[-53.913800992870776,46.886218291919796],[-53.91403300122513,46.90099459859851],[-54.00015434417659,46.88956177072152],[-54.01760660233686,46.87037959892952]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.9611757065651,\"lat\":46.88441897582341},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001219\"],\"csd_name_en\":[\"Branch\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Branch\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.866609606106664,47.30558168772879],[-53.869875964867795,47.2889858826944],[-53.88322811693644,47.28615842713847],[-53.9107507888328,47.2711375140569],[-53.940743740042535,47.26872157788194],[-53.977162977109586,47.270055187612066],[-53.96166531683452,47.280057711343524],[-53.955357295363065,47.30117113746723],[-53.9866982060886,47.28771930742725],[-53.983408801445755,47.303371484872635],[-53.97114269434808,47.315159987465705],[-54.005236507771,47.31458929131291],[-53.995276821013945,47.29785229576966],[-53.99543128764277,47.28580610617487],[-54.00546129674979,47.27986300999338],[-54.005455711844604,47.26584900708022],[-53.993545311098735,47.253373900364565],[-53.96333828695621,47.24832880774618],[-53.97541021809488,47.23731420346443],[-53.979520317399476,47.2206922194301],[-53.970653532650644,47.21291482956817],[-53.903173105696254,47.20951841726387],[-53.87355107627041,47.21059525912995],[-53.870140611564,47.2246102031641],[-53.90201660986575,47.223702689882494],[-53.923796293658896,47.215792603831844],[-53.96298061797485,47.22306429344797],[-53.95329799536845,47.231277409229286],[-53.959253718343945,47.25569219988247],[-53.935108283701254,47.268582495175686],[-53.88330640112876,47.26539799477925],[-53.84484809500874,47.27165319817847],[-53.836322908311224,47.26835439372514],[-53.80060374139584,47.271473963890365],[-53.79370257591214,47.29483390401353],[-53.80937041187154,47.30862020628711],[-53.82591758236669,47.30517009527584],[-53.85265163615508,47.306514653068135],[-53.866609606106664,47.30558168772879]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.90710315565927,\"lat\":47.26901838383217},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001240\"],\"csd_name_en\":[\"Placentia\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Placentia\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.26031653488007,47.518997732070275],[-53.205927626323295,47.547348501049974],[-53.165970511306774,47.574411427520154],[-53.12065593417382,47.57928854097002],[-53.10622699477416,47.599387751547226],[-53.17989012108989,47.58728618990675],[-53.24627197131222,47.560804083408826],[-53.23813483892316,47.555728186250306],[-53.26515733530406,47.52878406521594],[-53.264798900010724,47.52403979294745],[-53.26031653488007,47.518997732070275]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.195041090115275,\"lat\":47.56473524802947},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001437\"],\"csd_name_en\":[\"Cupids\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Cupids\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.11021820904382,47.06697979536979],[-55.135698572273846,47.06954751325718],[-55.14101848630498,47.076361985114886],[-55.1692792411853,47.1136586698026],[-55.22366807609029,47.11267556346011],[-55.2323571728878,47.11241582133676],[-55.20718968612684,47.09416891063953],[-55.1998332073995,47.08118889317554],[-55.17956241344321,47.07051820412919],[-55.18740228679531,47.06062589568716],[-55.17523280792941,47.04669468821785],[-55.18694659195857,47.03254319216146],[-55.16515398425948,47.01917909571449],[-55.1669406946481,47.039412185805105],[-55.1626838022317,47.04923491342727],[-55.124786094953436,47.0512932070904],[-55.1089665121437,47.05517330473034],[-55.10118227218526,47.0656342256647],[-55.11021820904382,47.06697979536979]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.16849584617403,\"lat\":47.076184318673015},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1002\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"1002005\"],\"csd_name_en\":[\"Burin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Burin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-59.08662132107921,47.62746967341533],[-59.08877633289869,47.63067644283844],[-59.20784722785728,47.606949535475145],[-59.1774733897912,47.55856370320162],[-59.13942387422831,47.56099614398553],[-59.09279749014072,47.57647232649576],[-59.06705746110307,47.59618122275119],[-59.08662132107921,47.62746967341533]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-59.135937231894005,\"lat\":47.59415448304597},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1003\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"1003034\"],\"csd_name_en\":[\"Channel-Port aux Basques\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Channel-Port aux Basques\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.38796571794473,49.152600304910095],[-55.383841287769826,49.16861379536339],[-55.35602749328655,49.184108006864896],[-55.327395383489,49.21486620051066],[-55.39460721864657,49.214991314849684],[-55.433134376081426,49.14745773800798],[-55.38796571794473,49.152600304910095]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.3844073377051,\"lat\":49.18598097666159},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1006\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"1006015\"],\"csd_name_en\":[\"Northern Arm\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Northern Arm\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.87544751046313,49.03436820967877],[-53.849367242396404,49.02590793904353],[-53.84788835681337,49.074739833384626],[-53.84741658795776,49.091230098336126],[-53.89806999934829,49.091191741490924],[-53.93719711680499,49.09285989132823],[-53.982905947101706,49.091004020128864],[-54.069246698044644,49.09114907246971],[-54.06954019273917,49.03217483516317],[-53.96951027018145,49.032849125480915],[-53.886106553345776,49.03288674046162],[-53.87544751046313,49.03436820967877]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.95836510895807,\"lat\":49.061956204984114},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1007\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"1007067\"],\"csd_name_en\":[\"Indian Bay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Indian Bay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.00250409917846,49.28032171105358],[-55.00370355602713,49.29893136014695],[-55.01155228660883,49.31572572847338],[-55.01130004797368,49.33478199987266],[-55.02665300960629,49.35209315646345],[-55.055043235519385,49.366124124871114],[-55.08358618219082,49.37221794758907],[-55.11213332950214,49.368339340563324],[-55.12055166394457,49.35383807750402],[-55.11274631429249,49.326988362554744],[-55.09300686294416,49.30020195301635],[-55.222550320358536,49.25688010587124],[-55.22463426956569,49.24967031800043],[-55.28555849555751,49.217979180224766],[-55.309945526647404,49.2062569515081],[-55.322760204355546,49.195708948154],[-55.33052507945432,49.178162950297356],[-55.33015556403917,49.16174424213011],[-55.30845276734413,49.16132103921282],[-55.272345648349166,49.177543801842276],[-55.22739096891889,49.17379417925861],[-55.236078474360454,49.15848818273507],[-55.21278726395539,49.15519525214963],[-55.172352057555294,49.18889336322958],[-55.14620608935537,49.19401571201932],[-55.14068060912772,49.209355131445605],[-55.12022373345725,49.21796850722157],[-55.11024714607966,49.20627126960591],[-55.083856374055195,49.20447017101146],[-55.09911820215067,49.258344002822305],[-55.05148240279172,49.27067505781871],[-55.07676884348808,49.308183052851206],[-55.0780524901021,49.32840898829085],[-55.09361110976469,49.33320410123701],[-55.10196370300542,49.34952739645003],[-55.087998387711266,49.36425529662606],[-55.07461999769429,49.352243000212056],[-55.056411971278905,49.32365998843291],[-55.03914530566202,49.3266128966808],[-55.02887300119854,49.31844040247231],[-55.01265638697869,49.28068166249227],[-55.00250409917846,49.28032171105358]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.16364319796706,\"lat\":49.246365570592694},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008042\"],\"csd_name_en\":[\"Division No.  8\",\"Subd. F\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Division No.  8, Subd. F\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-56.02856017456182,49.759914271624794],[-56.03363995470596,49.73423000167853],[-56.02138969374526,49.73611287301633],[-56.00605287920281,49.76020800188516],[-56.02856017456182,49.759914271624794]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-56.02199587529616,\"lat\":49.748944219192076},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008071\"],\"csd_name_en\":[\"Burlington\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Burlington\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-57.93748964170883,49.48010133046515],[-57.91716063675108,49.45585530770766],[-57.90057938620872,49.45507840269372],[-57.925122027561294,49.48013859780734],[-57.93748964170883,49.48010133046515]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-57.9195932893752,\"lat\":49.46728787626656},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1009\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"1009030\"],\"csd_name_en\":[\"Glenburnie-Birchy Head-Shoal Brook\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Glenburnie-Birchy Head-Shoal Brook\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.12880439049127,46.33341554882065],[-62.16539399519893,46.375173981873345],[-62.17047310456246,46.39369928674687],[-62.18513633358738,46.42463733863456],[-62.218043068702634,46.42132973968676],[-62.22507005985931,46.43708590548683],[-62.20799307469638,46.44116375431809],[-62.21734604021267,46.46094743737988],[-62.21532606157143,46.47187563215004],[-62.23600648970027,46.470683198358195],[-62.24022855834402,46.48480091969889],[-62.31618277580533,46.4788901002097],[-62.393495046578195,46.475664179997395],[-62.41315186512946,46.477242394679955],[-62.41549120560069,46.44941941263555],[-62.43658160095185,46.44714030515797],[-62.4471292946364,46.440540986442386],[-62.42834308097466,46.39580110366473],[-62.442657202435285,46.37735031114522],[-62.4351203309196,46.3650380412687],[-62.448064699818055,46.359457990360944],[-62.435400886528356,46.33448460461677],[-62.4509417656724,46.321382596357395],[-62.41433361672097,46.327420474572854],[-62.406365984119695,46.3095792405739],[-62.3734904231252,46.30155262391999],[-62.36694799176724,46.2885169938921],[-62.34996907185731,46.280444654002935],[-62.35703624298899,46.25949818237773],[-62.38861668720608,46.22674821474393],[-62.300388348200315,46.18954638511379],[-62.27858166481011,46.21904729899435],[-62.28789658226257,46.24354930720828],[-62.32615385337687,46.33140037053115],[-62.29628682011283,46.35128391863439],[-62.30786755969268,46.3569728811328],[-62.29777891049789,46.37239031913922],[-62.28689776447026,46.37215439282224],[-62.27704071560448,46.35662242426913],[-62.23212319108744,46.366312727606825],[-62.23885222003461,46.34264439933017],[-62.2636853076687,46.3566260998749],[-62.275839912130046,46.35522625986357],[-62.216419988760556,46.280405930960875],[-62.12880439049127,46.33341554882065]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.306958421577264,\"lat\":46.367797622577534},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1101\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1101035\"],\"csd_name_en\":[\"Souris\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Fire District\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Souris\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-63.15119674822332,46.370479825231754],[-63.16890349756062,46.37897305440676],[-63.19408517224051,46.37548516409084],[-63.17900459457193,46.34626993410344],[-63.187564738242806,46.33875166174429],[-63.16748409820092,46.32609582022687],[-63.14433992690786,46.3307281585438],[-63.1571232831066,46.360203423708505],[-63.15119674822332,46.370479825231754]]],[[[-63.00497126981824,46.305758439409736],[-62.989789882141196,46.309463352174035],[-62.98595085901199,46.32046310138844],[-63.02196988493851,46.33680087984214],[-63.04625072659592,46.33773819835063],[-63.055639882202996,46.361748341737886],[-63.06487260589173,46.359365970302235],[-63.086478678223216,46.33761068204057],[-63.07539881579117,46.32702272121012],[-63.07587247130418,46.30848350318604],[-63.08912152676273,46.30588145668908],[-63.09768264986693,46.294193307067715],[-63.082484872237245,46.27087169861906],[-63.07368023227371,46.2645421328024],[-63.03727520002195,46.289055083371295],[-63.00497126981824,46.305758439409736]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.078268659924944,\"lat\":46.32203023318892},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1102\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1102073\"],\"csd_name_en\":[\"North Shore\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Fire District\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"North Shore\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.14652279207341,46.8858954997748],[-64.12769916779622,46.886970224876535],[-64.12938948795005,46.89131363255241],[-64.14652279207341,46.8858954997748]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.13453714927323,\"lat\":46.88805978573458},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1103\"],\"cd_name_en\":[\"Prince\"],\"csd_code\":[\"1103057\"],\"csd_name_en\":[\"St. Louis\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Prince\",\"csd_name_fr\":\"St. Louis\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.2964981784813,43.501540101944016],[-65.351774850106,43.52658473974087],[-65.39916415357155,43.540160484039205],[-65.4186485547528,43.553980272910074],[-65.44874630506,43.589720927132994],[-65.4782727760809,43.60702984491715],[-65.48618114774187,43.65455366855354],[-65.48239439014866,43.66734781369077],[-65.5195752956335,43.709075203692215],[-65.51203590015828,43.72887905651961],[-65.51640040219901,43.76110498503322],[-65.50690944458826,43.769694345665094],[-65.50267310080939,43.78927787734505],[-65.51476726129002,43.795815639222816],[-65.4965674957004,43.813224337029474],[-65.51564198321104,43.83268022459629],[-65.50890378422257,43.85524752124607],[-65.4950200147916,43.86679578761615],[-65.49492923008467,43.879288770976025],[-65.5136043700701,43.90702522479737],[-65.55668906445614,43.92141418320793],[-65.56855377812111,43.921833104682264],[-65.58749015508255,43.883761286043416],[-65.648749064997,43.74715122985456],[-65.61077162772203,43.639887779297446],[-65.72374650664183,43.60142013052048],[-65.7840056370459,43.594819279717875],[-65.80919922730538,43.57069157142167],[-65.81898577091235,43.54693727642307],[-65.82635743490366,43.4951907630045],[-65.85703781858402,43.25917009656701],[-65.8596661870092,43.255101636600614],[-65.6830504616842,43.330235836576556],[-65.62094189173237,43.34748864428958],[-65.52193096412641,43.382757527675196],[-65.3749001392016,43.432501904761345],[-65.2964981784813,43.501540101944016]],[[-65.65399771044775,43.458314152920146],[-65.6339290499477,43.45462647733299],[-65.63341220225809,43.44501376602318],[-65.6512726888846,43.447852801595054],[-65.65399771044775,43.458314152920146]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.610618381831,\"lat\":43.5344136398771},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1201\"],\"cd_name_en\":[\"Shelburne\"],\"csd_code\":[\"1201001\"],\"csd_name_en\":[\"Barrington\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Shelburne\",\"csd_name_fr\":\"Barrington\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.76777560147737,44.63073281148061],[-65.7620455150993,44.61085119541003],[-65.75123030012355,44.615232095189995],[-65.75748334424742,44.6331263096636],[-65.76777560147737,44.63073281148061]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.75966106069228,\"lat\":44.62230480015479},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1203\"],\"cd_name_en\":[\"Digby\"],\"csd_code\":[\"1203006\"],\"csd_name_en\":[\"Digby\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Digby\",\"csd_name_fr\":\"Digby\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.3551458662097,44.566415896369314],[-64.35515973078228,44.55207043762992],[-64.32677319508967,44.556079388909446],[-64.3551458662097,44.566415896369314]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.34569293069389,\"lat\":44.558188574302896},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1206\"],\"cd_name_en\":[\"Lunenburg\"],\"csd_code\":[\"1206011\"],\"csd_name_en\":[\"Gold River 21\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Lunenburg\",\"csd_name_fr\":\"Gold River 21\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.480016498504625,45.62834289864815],[-62.486687312625875,45.627286993615385],[-62.48850519640946,45.62501280784402],[-62.481642584060744,45.62598289850277],[-62.480016498504625,45.62834289864815]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.48418763559892,\"lat\":45.62665288862406},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1212\"],\"cd_name_en\":[\"Pictou\"],\"csd_code\":[\"1212023\"],\"csd_name_en\":[\"Merigomish Harbour 31\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Pictou\",\"csd_name_fr\":\"Merigomish Harbour 31\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.47429442842957,45.85745800723722],[-66.49972811167267,45.86468390786155],[-66.51691084559432,45.8794442065662],[-66.55141613217636,45.90087015207967],[-66.58189614048085,45.91319112757345],[-66.58326754665917,45.911773076495095],[-66.55877901053914,45.90164980542489],[-66.58506558453638,45.890063499796874],[-66.60180470094866,45.889480796302585],[-66.61917380458019,45.86835709142675],[-66.71499278932869,45.75598914020567],[-66.54822352625182,45.73545991099818],[-66.55496707398956,45.75689397081522],[-66.55002300868718,45.79353486578361],[-66.53339899455894,45.80158883635775],[-66.5365351988936,45.81815633091756],[-66.52959308583704,45.82543730235749],[-66.53459858663422,45.831091698850315],[-66.51609318801715,45.848880598803966],[-66.50139669560706,45.856396111525115],[-66.47514717698171,45.85496633712672],[-66.47429442842957,45.85745800723722]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.5969180586077,\"lat\":45.81359429397989},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1303\"],\"cd_name_en\":[\"Sunbury\"],\"csd_code\":[\"1303008\"],\"csd_name_en\":[\"Lincoln\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Sunbury\",\"csd_name_fr\":\"Lincoln\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.8579637392444,46.75007443734393],[-65.87269473564477,46.743729828331354],[-65.87883961510036,46.73314626794893],[-65.8609477723999,46.7284460634178],[-65.84224281533805,46.716221237959985],[-65.82186589652945,46.708455342378286],[-65.8068244045709,46.727067981728105],[-65.79596434924699,46.7288717377615],[-65.8134683835142,46.76764065721948],[-65.8579637392444,46.75007443734393]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.83297993918686,\"lat\":46.737771775499134},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1309\"],\"cd_name_en\":[\"Northumberland\"],\"csd_code\":[\"1309019\"],\"csd_name_en\":[\"Blackville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Northumberland\",\"csd_name_fr\":\"Blackville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.6144821183969,46.96462511703984],[-65.61688114546124,46.98678377380622],[-65.61248982672787,46.988392519790914],[-65.62064021166425,46.99518530016004],[-65.65422490605212,47.022952621734376],[-65.65004653369537,46.984889938882155],[-65.63999313809761,46.98562317994669],[-65.63715965572028,46.96221513391996],[-65.6144821183969,46.96462511703984]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.63385500879238,\"lat\":46.98864243136167},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1309\"],\"cd_name_en\":[\"Northumberland\"],\"csd_code\":[\"1309035\"],\"csd_name_en\":[\"Eel Ground 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Northumberland\",\"csd_name_fr\":\"Eel Ground 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.33369916324712,45.88517019635203],[-67.29158059913445,45.93606015554945],[-67.29878974092902,45.95465464355602],[-67.32512739766803,45.96111594159265],[-67.35299894802544,45.96174471284307],[-67.39658224431446,45.96880880172246],[-67.44747372981207,45.99583042524542],[-67.46033641682646,45.99561522149565],[-67.4688167561327,45.973133257698976],[-67.50498932742317,45.98326527695612],[-67.51433667327476,45.95752125945216],[-67.53017078561987,45.94186935295045],[-67.54954081219789,45.937950424815085],[-67.56683764387448,45.950471519675226],[-67.56446203765712,45.95895850463806],[-67.60295749508909,45.987908221164766],[-67.63212450400924,45.978493279952986],[-67.64193775920366,45.976867169193234],[-67.66909626992877,45.98585126148345],[-67.68304455486823,45.97458480334284],[-67.69636446529513,45.956441707112425],[-67.70739945430526,45.954713667898154],[-67.71573330562974,45.942733802941895],[-67.69930322921039,45.92538548403807],[-67.69699190124051,45.91575666600273],[-67.66890495046141,45.894713804418195],[-67.6718237010232,45.85630298905742],[-67.66363466352571,45.844007743088966],[-67.65485882503037,45.81437565348478],[-67.6266848210316,45.795595682914744],[-67.60640536553176,45.77779672900242],[-67.55856965480638,45.773331979343126],[-67.54038709620045,45.76775213729619],[-67.53185839232485,45.75195049847509],[-67.503506009864,45.72083879032757],[-67.49999920938093,45.68756093445444],[-67.39773330499935,45.810700101464825],[-67.33369916324712,45.88517019635203]],[[-67.48064015882568,45.91052479322371],[-67.45569620726106,45.90119971179929],[-67.45077416700065,45.89332089747937],[-67.46015432489952,45.87577566281751],[-67.4783234174351,45.88205087267139],[-67.48373237591629,45.89028352352442],[-67.4740952035539,45.90203896738195],[-67.48064015882568,45.91052479322371]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.50887733011429,\"lat\":45.87590864263665},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1310\"],\"cd_name_en\":[\"York\"],\"csd_code\":[\"1310011\"],\"csd_name_en\":[\"Canterbury\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"York\",\"csd_name_fr\":\"Canterbury\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.56883525110634,46.16546137827885],[-67.57431910943805,46.17451515118058],[-67.60686542170271,46.1732771387001],[-67.60779613194698,46.14900895335657],[-67.62009372678015,46.14622419568104],[-67.61634923611113,46.12969449716974],[-67.56869118172658,46.13567519712811],[-67.56883525110634,46.16546137827885]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.59129906599865,\"lat\":46.15172775162449},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1311\"],\"cd_name_en\":[\"Carleton\"],\"csd_code\":[\"1311006\"],\"csd_name_en\":[\"Woodstock\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town \\/ Ville\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Carleton\",\"csd_name_fr\":\"Woodstock\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.67832563333761,46.94460273009097],[-67.67767971425361,46.961165120470525],[-67.69357151476433,46.976871169065184],[-67.70710860524974,46.98369588542245],[-67.71591330853573,47.00005717547517],[-67.73100450498335,47.01120617081362],[-67.73024407828795,47.023392932760316],[-67.75335660339353,47.02310640961416],[-67.76837411879386,47.03224571638054],[-67.78992160018731,47.03215043461538],[-67.78963440107513,46.79471661870179],[-67.76675835816289,46.81060322146421],[-67.74078338969412,46.821290973963244],[-67.72685824466477,46.82131983793649],[-67.71631327975422,46.80840976390483],[-67.71539701028084,46.81107579096188],[-67.71291042099448,46.82612815664816],[-67.69293795121683,46.84749889551832],[-67.69269492824968,46.873476763046824],[-67.70798337328617,46.91924461246197],[-67.67832563333761,46.94460273009097]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.7450815264007,\"lat\":46.917540146752934},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1312\"],\"cd_name_en\":[\"Victoria\"],\"csd_code\":[\"1312016\"],\"csd_name_en\":[\"Grand Falls\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Victoria\",\"csd_name_fr\":\"Grand Falls\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.18684388586426,47.52009894004098],[-68.04849133103355,47.68347626331557],[-68.18359275652041,47.72741947672537],[-68.19506446900154,47.71572275558259],[-68.17718585853605,47.69343497628388],[-68.1802925079677,47.67608638031662],[-68.19437539865604,47.67489754316695],[-68.20622962453447,47.66242329086912],[-68.23215031755458,47.6570477899103],[-68.2330707704446,47.63025791174397],[-68.24772994166126,47.61881171031339],[-68.25055829258518,47.60309531374221],[-68.22763590782415,47.58854456777255],[-68.23610444703105,47.57386011428191],[-68.2206938078616,47.55816901116303],[-68.21698695340417,47.534971565160596],[-68.20522158536886,47.52239330479327],[-68.19927043960692,47.5054153688257],[-68.18684388586426,47.52009894004098]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.16184554441543,\"lat\":47.62956131347332},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1313\"],\"cd_name_en\":[\"Madawaska\"],\"csd_code\":[\"1313028\"],\"csd_name_en\":[\"Madawaska\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Madawaska\",\"csd_name_fr\":\"Madawaska\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.73534934272296,47.370753318380665],[-68.63404634710574,47.31931446091901],[-68.62341072795012,47.30127023826243],[-68.58652948428552,47.309209362496546],[-68.5931052915201,47.319631306706924],[-68.57731195119213,47.34310555574333],[-68.62566280582811,47.36477281599041],[-68.63352411394034,47.35673265253823],[-68.6785989302617,47.37752714471449],[-68.69849476646637,47.382942805599505],[-68.73534934272296,47.370753318380665]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.64545708841369,\"lat\":47.34525095598644},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1313\"],\"cd_name_en\":[\"Madawaska\"],\"csd_code\":[\"1313037\"],\"csd_name_en\":[\"Lac Baker\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Madawaska\",\"csd_name_fr\":\"Lac Baker\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.93613757545144,48.20696812937797],[-65.92124149923146,48.19333690918705],[-65.91163071947832,48.20182843252768],[-65.93613757545144,48.20696812937797]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.9230032647204,\"lat\":48.2007111570309},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2406\"],\"cd_name_en\":[\"Avignon\"],\"csd_code\":[\"2406802\"],\"csd_name_en\":[\"Gesgapegiag\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Avignon\",\"csd_name_fr\":\"Gesgapegiag\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.18591318146937,47.88826088326424],[-69.18178229270427,47.90036720924491],[-69.14029488368114,47.942528006661924],[-69.12151711272382,47.96537439581616],[-69.11385659876757,47.98287386878536],[-69.16553283451154,48.017604923986795],[-69.20662010500169,47.98918533134411],[-69.24444734533127,47.96309673522909],[-69.25384580900713,47.94924783042064],[-69.24018685247003,47.94061255859392],[-69.25257723902864,47.93239815800904],[-69.22102752921401,47.91167023650458],[-69.18591318146937,47.88826088326424]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.18410961994618,\"lat\":47.9558748687164},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2412\"],\"cd_name_en\":[\"Rivi\\u00e8re-du-Loup\"],\"csd_code\":[\"2412035\"],\"csd_name_en\":[\"Saint-Paul-de-la-Croix\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Rivi\\u00e8re-du-Loup\",\"csd_name_fr\":\"Saint-Paul-de-la-Croix\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.08310024479822,47.54679959970887],[-70.18024348987979,47.59213668354633],[-70.21696928331652,47.60464650452219],[-70.24676018080459,47.62329997883826],[-70.27072354325658,47.60723663648933],[-70.2857619639964,47.615558338473065],[-70.31769229728066,47.595720923211104],[-70.27104182567233,47.58472700797792],[-70.32132265065975,47.5690304216627],[-70.31160296854888,47.54602568449829],[-70.27355512280509,47.55741147630176],[-70.27147159315317,47.56754427516666],[-70.22375914105619,47.527928902155004],[-70.21265603961763,47.50828765033111],[-70.13172625152642,47.4726093272398],[-70.10564923485633,47.51911758660879],[-70.08310024479822,47.54679959970887]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.19637430052656,\"lat\":47.552425641238266},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2415\"],\"cd_name_en\":[\"Charlevoix-Est\"],\"csd_code\":[\"2415005\"],\"csd_name_en\":[\"Saint-Ir\\u00e9n\\u00e9e\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Charlevoix-Est\",\"csd_name_fr\":\"Saint-Ir\\u00e9n\\u00e9e\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.46005035531847,47.405247577014215],[-70.52979649279006,47.38306984209757],[-70.56248483569799,47.39717648776102],[-70.5766689543178,47.37848151797664],[-70.6001619316813,47.3877099889428],[-70.6408814978069,47.336930995873665],[-70.64548219969906,47.33868151895732],[-70.711112336576,47.25822889609359],[-70.66962522902578,47.242776808810824],[-70.61866041989985,47.22736622038628],[-70.47918738439188,47.20685280957895],[-70.46425625146532,47.204643383356725],[-70.4709720494444,47.2425204830549],[-70.46422036428181,47.26032870089051],[-70.43077987826987,47.282779714563674],[-70.36475278790893,47.302468434230825],[-70.45820429718962,47.36631763139766],[-70.46005035531847,47.405247577014215]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.54329166979666,\"lat\":47.30130852477389},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2416\"],\"cd_name_en\":[\"Charlevoix\"],\"csd_code\":[\"2416005\"],\"csd_name_en\":[\"Petite-Rivi\\u00e8re-Saint-Fran\\u00e7ois\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Charlevoix\",\"csd_name_fr\":\"Petite-Rivi\\u00e8re-Saint-Fran\\u00e7ois\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.0178808895083,46.59842858169246],[-69.99708279571813,46.69583140386284],[-69.95973445373576,46.733284310034456],[-69.97857455938083,46.746202217088715],[-70.05736794016244,46.693531601455504],[-70.02857924420826,46.67311930136536],[-70.07733504225506,46.64013192274437],[-70.0178808895083,46.59842858169246]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.02036384387362,\"lat\":46.673785315930736},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2418\"],\"cd_name_en\":[\"Montmagny\"],\"csd_code\":[\"2418010\"],\"csd_name_en\":[\"Lac-Fronti\\u00e8re\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Montmagny\",\"csd_name_fr\":\"Lac-Fronti\\u00e8re\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.5182621067865,46.87893215497334],[-70.58398839435229,46.92187385437421],[-70.6294964278343,46.95510748008864],[-70.64909080487071,46.94222460426833],[-70.6713325902517,46.93284644709631],[-70.69147820497597,46.919314545150144],[-70.66966802993001,46.89976610658079],[-70.5791098006225,46.8356211888713],[-70.55821665928289,46.8213723103887],[-70.50758285646349,46.85741344203303],[-70.52840911784216,46.871330440668785],[-70.5182621067865,46.87893215497334]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.59700980389104,\"lat\":46.889316197782534},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2418\"],\"cd_name_en\":[\"Montmagny\"],\"csd_code\":[\"2418055\"],\"csd_name_en\":[\"Saint-Pierre-de-la-Rivi\\u00e8re-du-Sud\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Montmagny\",\"csd_name_fr\":\"Saint-Pierre-de-la-Rivi\\u00e8re-du-Sud\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.5791098006225,46.8356211888713],[-70.66966802993001,46.89976610658079],[-70.69147820497597,46.919314545150144],[-70.6913892903076,46.91551269822294],[-70.73072367900707,46.89924545049042],[-70.72796426738735,46.8935014002507],[-70.75246318958715,46.885157426265046],[-70.7560123713457,46.86823279212159],[-70.7711898575339,46.855274559761924],[-70.75551875665239,46.843183404869606],[-70.70370266999996,46.80637358557789],[-70.67925914150709,46.835301052924045],[-70.62797229701883,46.802116704998326],[-70.5791098006225,46.8356211888713]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.68042646316016,\"lat\":46.855957291440824},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2418\"],\"cd_name_en\":[\"Montmagny\"],\"csd_code\":[\"2418060\"],\"csd_name_en\":[\"Saint-Fran\\u00e7ois-de-la-Rivi\\u00e8re-du-Sud\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Montmagny\",\"csd_name_fr\":\"Saint-Fran\\u00e7ois-de-la-Rivi\\u00e8re-du-Sud\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.61709912562122,46.9074796604694],[-71.6112633613903,46.92720462545364],[-71.59743949836735,46.93672852114683],[-71.63786281115675,46.96482142182713],[-71.65717742521777,46.95879014874745],[-71.65658981522995,46.94868125842259],[-71.68135517062281,46.95441617657525],[-71.68497336010755,46.95197439346001],[-71.67817292275173,46.94073385452983],[-71.70166609426644,46.91297167942823],[-71.68280320171895,46.905429881568175],[-71.63964468616457,46.875519192534746],[-71.62643867431999,46.88175007624362],[-71.62319189823985,46.89225395903794],[-71.63075055976961,46.90242167604344],[-71.61709912562122,46.9074796604694]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.6483564330559,\"lat\":46.92302048764648},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2422\"],\"cd_name_en\":[\"La Jacques-Cartier\"],\"csd_code\":[\"2422015\"],\"csd_name_en\":[\"Lac-Saint-Joseph\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Jacques-Cartier\",\"csd_name_fr\":\"Lac-Saint-Joseph\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.98292105979944,46.37344513709636],[-71.00634030424756,46.39073220122874],[-71.01765835832236,46.39384833897933],[-71.0412233712506,46.41108841365427],[-71.04257752594079,46.41844620656492],[-71.06349938710318,46.429487913803555],[-71.07984086080155,46.4453041253079],[-71.09025001287435,46.46238610199624],[-71.15909196965994,46.4177807485749],[-71.14768905692081,46.39734020149436],[-71.13201878656571,46.38253591703248],[-71.11401763639701,46.3724421657604],[-71.10282243986163,46.3583112809551],[-71.08918566278092,46.34976570681303],[-71.0777252061233,46.35680199590451],[-71.05743844236063,46.35818439323196],[-71.0400831281214,46.34509805613269],[-71.01705386215755,46.351198901276156],[-70.98292105979944,46.37344513709636]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.07743297807403,\"lat\":46.39650363771218},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2426\"],\"cd_name_en\":[\"La Nouvelle-Beauce\"],\"csd_code\":[\"2426022\"],\"csd_name_en\":[\"Saint-Elz\\u00e9ar\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Nouvelle-Beauce\",\"csd_name_fr\":\"Saint-Elz\\u00e9ar\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.89768917837694,45.995740387882755],[-70.93856474425195,45.995216659682754],[-70.9587675839014,45.998438748808034],[-70.97833674769576,46.01625345390357],[-70.99036874604556,46.00485229806663],[-71.00461658668362,45.99061156284782],[-70.94799724100261,45.9630192060447],[-70.94533560255302,45.95684081333786],[-70.92277226007943,45.95062135852479],[-70.91576921182401,45.958045882357396],[-70.89892062942431,45.945303588157955],[-70.89768917837694,45.995740387882755]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.94306944781938,\"lat\":45.980981699811366},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2429\"],\"cd_name_en\":[\"Beauce-Sartigan\"],\"csd_code\":[\"2429030\"],\"csd_name_en\":[\"La Guadeloupe\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Beauce-Sartigan\",\"csd_name_fr\":\"La Guadeloupe\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.91123063881102,45.56261122418],[-70.90913515661062,45.57335500658269],[-70.93597541916861,45.594025720733505],[-70.95644413049223,45.60674472515588],[-70.97443351534305,45.589745625047534],[-71.00973727223784,45.58792181775395],[-71.0104370869762,45.56881868941484],[-71.05209994198515,45.57429792454604],[-71.05240956595533,45.565230155197355],[-71.05375605683197,45.53114142188641],[-71.01225719210167,45.5305545430587],[-71.01265424994011,45.5200298570049],[-70.92602840862592,45.520839274934126],[-70.9262317465507,45.52560927104358],[-70.88248384022911,45.52489607689516],[-70.91123063881102,45.56261122418]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.9713195376077,\"lat\":45.55462283392409},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2430\"],\"cd_name_en\":[\"Le Granit\"],\"csd_code\":[\"2430035\"],\"csd_name_en\":[\"Marston\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Granit\",\"csd_name_fr\":\"Marston\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.89964238723059,46.553582610386734],[-71.90714029542163,46.556509306535794],[-71.93376867985334,46.546659302082084],[-71.9791203777734,46.56053593512128],[-71.98227679569025,46.56850790043063],[-72.01224394923972,46.587273934221585],[-72.05669321309813,46.57198062155046],[-72.01034111640531,46.5422604377087],[-71.99487594883011,46.530736769724676],[-71.95997351425008,46.50671165108723],[-71.88115693814585,46.45075228096689],[-71.85750973453541,46.43378818394238],[-71.767094757173,46.49547361528643],[-71.77628915756466,46.50188689202504],[-71.84059341538254,46.545596853598326],[-71.8548198074163,46.54477322267029],[-71.88477750697166,46.554052446561236],[-71.89964238723059,46.553582610386734]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.89615336286204,\"lat\":46.51252908329997},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2433\"],\"cd_name_en\":[\"Lotbini\\u00e8re\"],\"csd_code\":[\"2433123\"],\"csd_name_en\":[\"Leclercville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Lotbini\\u00e8re\",\"csd_name_fr\":\"Leclercville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.28668791252794,46.71760887923367],[-72.39317118108673,46.792105754311315],[-72.43549517777352,46.82109800951189],[-72.43120709048064,46.8149447554699],[-72.46230081733384,46.763918386085244],[-72.49201859334183,46.74598571713769],[-72.50585943010282,46.7285776259425],[-72.47606872082592,46.707214601515794],[-72.43144556277024,46.6750816718278],[-72.4191929276484,46.68328875914031],[-72.39578773176127,46.68503640875813],[-72.38337940099208,46.692888002302674],[-72.35923474187608,46.67613894673626],[-72.35792155073227,46.66881414526485],[-72.31160307477622,46.70055957997148],[-72.28668791252794,46.71760887923367]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.4010405562198,\"lat\":46.73387132228392},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2435\"],\"cd_name_en\":[\"M\\u00e9kinac\"],\"csd_code\":[\"2435015\"],\"csd_name_en\":[\"Saint-Adelphe\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"M\\u00e9kinac\",\"csd_name_fr\":\"Saint-Adelphe\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.82748196477604,45.92724894355371],[-71.85878110715672,45.941547140085056],[-71.8496527818843,45.951206206316456],[-71.87718317297833,45.96582116567374],[-71.90952975569259,45.98249252053295],[-72.01711344452005,45.881518511199694],[-72.00264448233388,45.87287944056555],[-72.02537706384844,45.85162289587516],[-71.92135708601012,45.79637455934168],[-71.90514530736094,45.80406178755802],[-71.86647662302532,45.841465850717945],[-71.88310008550518,45.8492026701322],[-71.85267772923143,45.87935253387956],[-71.86785432077632,45.88732741871214],[-71.82748196477604,45.92724894355371]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.92436825706922,\"lat\":45.887320214885094},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2439\"],\"cd_name_en\":[\"Arthabaska\"],\"csd_code\":[\"2439025\"],\"csd_name_en\":[\"Tingwick\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Arthabaska\",\"csd_name_fr\":\"Tingwick\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.13643698951982,45.59669613483608],[-72.14865028887895,45.58586677837381],[-72.13444541430688,45.578426553685944],[-72.15487433942607,45.55259165046703],[-72.14741696474948,45.54885943999706],[-72.11819513493653,45.57591203640918],[-72.12098743866103,45.58759639953065],[-72.13643698951982,45.59669613483608]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.13507911985812,\"lat\":45.57467113113046},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2442\"],\"cd_name_en\":[\"Le Val-Saint-Fran\\u00e7ois\"],\"csd_code\":[\"2442070\"],\"csd_name_en\":[\"Kingsbury\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Val-Saint-Fran\\u00e7ois\",\"csd_name_fr\":\"Kingsbury\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.03532254940698,45.63810058664354],[-72.05824789052329,45.6498285503167],[-72.05158383293949,45.664848961171025],[-72.01441997562485,45.69870280288809],[-72.13371125528549,45.76068151993749],[-72.20693426936279,45.69609022005441],[-72.1929017825254,45.688529023754626],[-72.17053739653906,45.668950757448364],[-72.15956261258857,45.66897324315908],[-72.14810838614909,45.6792410628514],[-72.11057182416864,45.660369886672996],[-72.12890222077569,45.656911215726566],[-72.1406038208852,45.64865710643294],[-72.11482619927445,45.62738768490067],[-72.08642846158001,45.61126440932449],[-72.06906954802727,45.60596038473874],[-72.03532254940698,45.63810058664354]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.10570950635551,\"lat\":45.68703995265333},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2442\"],\"cd_name_en\":[\"Le Val-Saint-Fran\\u00e7ois\"],\"csd_code\":[\"2442110\"],\"csd_name_en\":[\"Cleveland\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Val-Saint-Fran\\u00e7ois\",\"csd_name_fr\":\"Cleveland\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.587993657849,45.30731494951284],[-72.58753600304908,45.319049585158545],[-72.61212188700881,45.32118961374295],[-72.6215022152439,45.33332506378355],[-72.66686445320299,45.352154208627894],[-72.66747671315349,45.337852541456634],[-72.7563540241178,45.34104034262269],[-72.78442261620161,45.29986422272489],[-72.79873189697751,45.29966882699113],[-72.7993311263457,45.27057496500046],[-72.77889999197109,45.270548596495665],[-72.77852984461302,45.2866326648769],[-72.73084086795805,45.28543697247527],[-72.73183139683904,45.25501890930317],[-72.68394305495289,45.2530117603224],[-72.65019927677793,45.251423179678326],[-72.64967151921928,45.26201814839591],[-72.63294688281563,45.2615142407237],[-72.62399636802911,45.27138374294697],[-72.62118545954236,45.28707272393279],[-72.5948563963553,45.28351750598809],[-72.587993657849,45.30731494951284]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.68900679502724,\"lat\":45.30034084117031},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2446\"],\"cd_name_en\":[\"Brome-Missisquoi\"],\"csd_code\":[\"2446078\"],\"csd_name_en\":[\"Bromont\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Brome-Missisquoi\",\"csd_name_fr\":\"Bromont\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.4627113780088,45.307435325168676],[-72.46477276323297,45.35451337614118],[-72.46302090620769,45.375178198327596],[-72.46180473011604,45.383128132288235],[-72.49123286949043,45.38511590738946],[-72.49577824808044,45.36827330975038],[-72.52480811210651,45.36949911778794],[-72.53524364459095,45.388201672233684],[-72.60236999252291,45.39315704354873],[-72.59768795308848,45.40391496310906],[-72.6345470330923,45.40558434916764],[-72.6345491931018,45.418520343024575],[-72.66440923090953,45.42056026397023],[-72.66686445320299,45.352154208627894],[-72.6215022152439,45.33332506378355],[-72.61212188700881,45.32118961374295],[-72.58753600304908,45.319049585158545],[-72.587993657849,45.30731494951284],[-72.47824482103177,45.30734740863279],[-72.4627113780088,45.307435325168676]],[[-72.51105187707319,45.35743725007985],[-72.50451463613344,45.342507575337514],[-72.5156726041317,45.3322078517061],[-72.51389330376254,45.31673347838865],[-72.55121684657203,45.31753026842357],[-72.5506331217275,45.33644026685636],[-72.54153614570448,45.34405660521674],[-72.5461268818718,45.358134578304174],[-72.51105187707319,45.35743725007985]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.56975380903361,\"lat\":45.3571435460762},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2447\"],\"cd_name_en\":[\"La Haute-Yamaska\"],\"csd_code\":[\"2447035\"],\"csd_name_en\":[\"Shefford\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Haute-Yamaska\",\"csd_name_fr\":\"Shefford\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.42816475770864,46.13464857877046],[-72.41681372992343,46.14281854927339],[-72.48743093787054,46.193611227305],[-72.51256967151822,46.21153320601208],[-72.53800280958066,46.19673959541514],[-72.50000000825511,46.16799133774263],[-72.4540233057758,46.13662320815097],[-72.42816475770864,46.13464857877046]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.47863820268971,\"lat\":46.170723826967965},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2450\"],\"cd_name_en\":[\"Nicolet-Yamaska\"],\"csd_code\":[\"2450065\"],\"csd_name_en\":[\"Grand-Saint-Esprit\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nicolet-Yamaska\",\"csd_name_fr\":\"Grand-Saint-Esprit\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.7043604474526,46.42411452282278],[-72.71910246673566,46.428765349528085],[-72.74608132901628,46.45315392932523],[-72.7594800911026,46.46049961315791],[-72.77542387603756,46.48053601227548],[-72.77508605834376,46.50658336007651],[-72.85185104450305,46.45317523480197],[-72.81969939798495,46.430339198060025],[-72.84111339170107,46.42200729039409],[-72.84574119956952,46.412524010329214],[-72.78790360547721,46.36569751924147],[-72.7721096583062,46.35232122215139],[-72.74552628158418,46.35333456591027],[-72.70245264880495,46.35555749674223],[-72.69067104264937,46.36594220720127],[-72.73976082429245,46.40074645273973],[-72.7043604474526,46.42411452282278]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.77573489756325,\"lat\":46.417808639508365},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2451\"],\"cd_name_en\":[\"Maskinong\\u00e9\"],\"csd_code\":[\"2451090\"],\"csd_name_en\":[\"Saint-\\u00c9tienne-des-Gr\\u00e8s\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Maskinong\\u00e9\",\"csd_name_fr\":\"Saint-\\u00c9tienne-des-Gr\\u00e8s\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.36195840378434,46.32038246313197],[-73.40082148565789,46.33806649342048],[-73.4102997552587,46.333215796548025],[-73.39717610857879,46.2975147950935],[-73.3852259556536,46.28799688698362],[-73.36674446151714,46.29299169351259],[-73.37529970474203,46.302286893431],[-73.36075009964053,46.311447207293554],[-73.36195840378434,46.32038246313197]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.38602501098335,\"lat\":46.31359837250398},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2452\"],\"cd_name_en\":[\"D'Autray\"],\"csd_code\":[\"2452080\"],\"csd_name_en\":[\"Saint-Gabriel\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"D'Autray\",\"csd_name_fr\":\"Saint-Gabriel\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.19592128163536,46.29424722593198],[-73.22657966406759,46.3161958300151],[-73.2150868567503,46.32430152254025],[-73.17647448154467,46.32331374946572],[-73.20311586112311,46.34248176213933],[-73.19226776482527,46.34977441291975],[-73.20439769729612,46.357928772025495],[-73.18807616705499,46.369768470484246],[-73.1694142325686,46.37372107465627],[-73.16914069242796,46.382096886884575],[-73.253161293753,46.442620305842205],[-73.2755036738771,46.42749305821427],[-73.24142337122875,46.4026661651433],[-73.27738944930107,46.37439211030298],[-73.28353030851625,46.353913895279234],[-73.30244603367325,46.35618773544664],[-73.33221846441796,46.33982403867881],[-73.2604622358922,46.289836851623306],[-73.2464504129865,46.29870734641931],[-73.21629747531178,46.27847333178619],[-73.19592128163536,46.29424722593198]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.24251476951397,\"lat\":46.35438933611194},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2452\"],\"cd_name_en\":[\"D'Autray\"],\"csd_code\":[\"2452090\"],\"csd_name_en\":[\"Saint-Didace\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"D'Autray\",\"csd_name_fr\":\"Saint-Didace\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.21344087234873,45.52226760508925],[-73.18545471098689,45.54541374932589],[-73.20917145393454,45.54927512628186],[-73.21506036014001,45.54559596391871],[-73.23175042778006,45.53506002983762],[-73.21344087234873,45.52226760508925]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.20971941165998,\"lat\":45.537417378803006},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2457\"],\"cd_name_en\":[\"La Vall\\u00e9e-du-Richelieu\"],\"csd_code\":[\"2457030\"],\"csd_name_en\":[\"Otterburn Park\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-du-Richelieu\",\"csd_name_fr\":\"Otterburn Park\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.37994957832758,45.43298269375082],[-73.45942833175278,45.485584864564736],[-73.4750177790332,45.477148807940424],[-73.52371926233657,45.477909676241396],[-73.51913296868838,45.459148935023734],[-73.52161447484555,45.4376513303657],[-73.48433316259639,45.4320699989365],[-73.4617701886819,45.42162248426836],[-73.43838281202943,45.41701484975867],[-73.38665189964664,45.413199942402315],[-73.37994957832758,45.43298269375082]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.45538511797864,\"lat\":45.44719185828776},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2458\"],\"cd_name_en\":[\"Longueuil\"],\"csd_code\":[\"2458007\"],\"csd_name_en\":[\"Brossard\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Longueuil\",\"csd_name_fr\":\"Brossard\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.28338730002598,45.618752849869466],[-73.30500524500478,45.62196260897136],[-73.34513496825777,45.650789876585854],[-73.33965138493808,45.645275957555725],[-73.35000522596874,45.63192325806702],[-73.3701279982186,45.62543847156249],[-73.38343937958125,45.60844852440139],[-73.360160448298,45.589978862132476],[-73.3617280199412,45.573477205540925],[-73.33853393944364,45.563507863498074],[-73.29259406907536,45.55316791705307],[-73.28892105303541,45.5751824647093],[-73.29718579779721,45.580847975467194],[-73.27639438668608,45.593331029112996],[-73.29251303303504,45.6051495054285],[-73.28338730002598,45.618752849869466]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.32835061920129,\"lat\":45.598135271906614},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2459\"],\"cd_name_en\":[\"Marguerite-D'Youville\"],\"csd_code\":[\"2459010\"],\"csd_name_en\":[\"Sainte-Julie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Marguerite-D'Youville\",\"csd_name_fr\":\"Sainte-Julie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.18470163895716,45.86185920115841],[-73.20387871012221,45.87540223970654],[-73.18749720725654,45.89199557390183],[-73.18810247095449,45.92282649200895],[-73.17967381487203,45.95083499137824],[-73.16487428582376,45.968836616353656],[-73.18577979351258,45.98437783391652],[-73.20970616802907,45.95398541196147],[-73.23291613974035,45.911499306939554],[-73.24044228028694,45.89222587113607],[-73.2694379017057,45.857264692185055],[-73.275618868559,45.84593758041061],[-73.30468284885478,45.821355094473496],[-73.30880732661655,45.81362770728587],[-73.27590387366001,45.79010206501095],[-73.26365832167002,45.781141412597776],[-73.25376795053134,45.79760194944449],[-73.21799802611272,45.82548085000994],[-73.20582493911729,45.843324931840264],[-73.18470163895716,45.86185920115841]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.23109345683815,\"lat\":45.87107947957728},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2459\"],\"cd_name_en\":[\"Marguerite-D'Youville\"],\"csd_code\":[\"2459035\"],\"csd_name_en\":[\"Contrecoeur\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Marguerite-D'Youville\",\"csd_name_fr\":\"Contrecoeur\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.50741516819838,46.18585202945402],[-73.53281688296111,46.195166856055295],[-73.5485070753916,46.19460798808035],[-73.56721607142856,46.20367105090207],[-73.5847292256779,46.189223154598125],[-73.56259615288408,46.172721344331656],[-73.59773786085941,46.14804937410642],[-73.56688805297759,46.12545403572102],[-73.51378734187006,46.08746521950297],[-73.49383604386438,46.08667577840274],[-73.47873656013029,46.115820816636216],[-73.46864100698883,46.114790434647745],[-73.46609622439551,46.12467507641215],[-73.44794893459937,46.13384401372193],[-73.48653468842166,46.141349735734416],[-73.48034137657109,46.173025979705265],[-73.50741516819838,46.18585202945402]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.52656396350211,\"lat\":46.145391495236325},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2461\"],\"cd_name_en\":[\"Joliette\"],\"csd_code\":[\"2461050\"],\"csd_name_en\":[\"Sainte-M\\u00e9lanie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Joliette\",\"csd_name_fr\":\"Sainte-M\\u00e9lanie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.67948002697287,45.94598947791158],[-73.69605945351809,45.936830581315704],[-73.70084070050345,45.92581475536007],[-73.72875276000909,45.91838236181013],[-73.72951412970762,45.909650739552625],[-73.74674838615854,45.88932399835482],[-73.72658021971527,45.87476764979411],[-73.6957945912652,45.87775034781355],[-73.6862333936776,45.882662826784816],[-73.63934971014676,45.8834213573446],[-73.63540453522138,45.888540260834695],[-73.61274457301668,45.89072592097535],[-73.58796779363088,45.898837902368214],[-73.55003490619045,45.88895351243849],[-73.56597129022009,45.90012289299725],[-73.59128617443581,45.91804625755838],[-73.60298646339896,45.91018257502698],[-73.61652601133059,45.91951245479582],[-73.62831107323682,45.91091471630892],[-73.67948002697287,45.94598947791158]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.6685890257401,\"lat\":45.90465460631032},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2463\"],\"cd_name_en\":[\"Montcalm\"],\"csd_code\":[\"2463030\"],\"csd_name_en\":[\"Saint-Esprit\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Montcalm\",\"csd_name_fr\":\"Saint-Esprit\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.65607334754499,45.479156117199466],[-73.67793734176738,45.481602793356174],[-73.68634835753295,45.454802437416596],[-73.66824019836312,45.45660720345791],[-73.65805597594274,45.45948614372962],[-73.644235129077,45.47392787569143],[-73.65607334754499,45.479156117199466]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.66734465221589,\"lat\":45.46851335609365},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2466\"],\"cd_name_en\":[\"Montr\\u00e9al\"],\"csd_code\":[\"2466058\"],\"csd_name_en\":[\"C\\u00f4te-Saint-Luc\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Montr\\u00e9al\",\"csd_name_fr\":\"C\\u00f4te-Saint-Luc\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.58592662107797,45.128545434173965],[-73.60601870746173,45.1439047537963],[-73.59483274319024,45.151010149394665],[-73.60814859810351,45.16126541252441],[-73.63924052371088,45.18461720870489],[-73.66848712457245,45.20652680826615],[-73.72640304889549,45.16891261469151],[-73.73808843941421,45.17781136902685],[-73.75528237032282,45.168215550985344],[-73.69856881316855,45.130779675790826],[-73.70620659080481,45.12509358076637],[-73.67106650064439,45.09934027833929],[-73.58592662107797,45.128545434173965]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.66528708428585,\"lat\":45.15097693727938},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2468\"],\"cd_name_en\":[\"Les Jardins-de-Napierville\"],\"csd_code\":[\"2468020\"],\"csd_name_en\":[\"Sainte-Clotilde\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Jardins-de-Napierville\",\"csd_name_fr\":\"Sainte-Clotilde\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.5100133077132,45.27764663499361],[-73.5307215034444,45.292680314297975],[-73.54748831968286,45.2899298910845],[-73.56812363867736,45.29578017358392],[-73.57651528309876,45.291051593643225],[-73.58271107154113,45.27210350404817],[-73.58070582423832,45.26145445479344],[-73.60243037486582,45.23116169791078],[-73.61533844705586,45.22102229326144],[-73.63924052371088,45.18461720870489],[-73.60814859810351,45.16126541252441],[-73.56161119059817,45.20060191925613],[-73.56631793890874,45.201843747268114],[-73.53867070747138,45.24654782544573],[-73.53268750960324,45.26606856968692],[-73.5199210473034,45.261901319961765],[-73.5100133077132,45.27764663499361]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.5766669033062,\"lat\":45.23189163977134},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2468\"],\"cd_name_en\":[\"Les Jardins-de-Napierville\"],\"csd_code\":[\"2468050\"],\"csd_name_en\":[\"Saint-Michel\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Jardins-de-Napierville\",\"csd_name_fr\":\"Saint-Michel\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.85001125061602,45.72406851278444],[-73.8909344771418,45.71438736013336],[-73.92567298059294,45.68530536576243],[-73.88071245298332,45.6552331402882],[-73.86992609547474,45.663129522246436],[-73.84521296946004,45.647052209751024],[-73.83377395200604,45.653559895575974],[-73.81303965631837,45.64294264633221],[-73.79641309847158,45.66244984620383],[-73.8073619441436,45.669848070631936],[-73.78892839526071,45.68398808398213],[-73.84646376154724,45.72176232666989],[-73.85001125061602,45.72406851278444]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.85430952062649,\"lat\":45.68407874072111},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2473\"],\"cd_name_en\":[\"Th\\u00e9r\\u00e8se-De Blainville\"],\"csd_code\":[\"2473015\"],\"csd_name_en\":[\"Blainville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Th\\u00e9r\\u00e8se-De Blainville\",\"csd_name_fr\":\"Blainville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.74916876570683,47.06504983416085],[-75.85622767034178,47.13683034878735],[-75.96753448704719,47.21295239626213],[-75.97087290279103,47.215075609340495],[-75.98598346622146,47.211047759149295],[-76.02261450888203,47.19366461920818],[-76.04211493348207,47.19982120207981],[-76.09185464909284,47.191042563028105],[-76.10161848904285,47.16405939610861],[-76.09154544831107,47.13023482583252],[-76.09969719429618,47.09845021467404],[-76.09974806738117,47.049730963082304],[-76.10786879950369,47.02605679840118],[-76.13081761663952,47.01976720666709],[-76.14937428048685,47.005095319684095],[-76.13008267900754,46.98624583476583],[-76.13768427835986,46.937457202503715],[-76.12813143045376,46.920347973183475],[-76.1011139268941,46.915055153156814],[-76.03603228327576,46.88934983156253],[-75.99403511852582,46.886867837805916],[-75.95323433709035,46.869209149923364],[-75.92659308887971,46.85089826219048],[-75.90938117766325,46.830996381746615],[-75.88715825674015,46.81673742314804],[-75.86716326139037,46.81213614437854],[-75.82414145601608,46.82604391689422],[-75.81433633854911,46.83888224564397],[-75.75015086484252,46.83902655122479],[-75.74916876570683,47.06504983416085]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.93520686164153,\"lat\":47.00973162558482},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2479\"],\"cd_name_en\":[\"Antoine-Labelle\"],\"csd_code\":[\"2479926\"],\"csd_name_en\":[\"Lac-Marguerite\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Antoine-Labelle\",\"csd_name_fr\":\"Lac-Marguerite\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.70853984816115,45.93180182871133],[-74.69821608530033,45.97178112774906],[-74.76340464565318,45.97295632754719],[-74.76417375896612,45.94535546353161],[-74.80218068167001,45.94410205112363],[-74.8009065878481,45.95889694865328],[-74.8073481195682,45.97328958255266],[-74.83135521871027,45.97354184295705],[-74.85786894913504,45.97349418460395],[-74.85614852401815,45.91930995527575],[-74.85197966261566,45.884349419002604],[-74.86051470547271,45.86930310788546],[-74.87649864452162,45.85922004284335],[-74.85172827206647,45.85463965301415],[-74.73511101530738,45.85233763256091],[-74.72718517438351,45.851519330249346],[-74.7144924180337,45.89829832813024],[-74.70853984816115,45.93180182871133]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.78460332058854,\"lat\":45.911713439827224},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2480\"],\"cd_name_en\":[\"Papineau\"],\"csd_code\":[\"2480115\"],\"csd_name_en\":[\"Boileau\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Papineau\",\"csd_name_fr\":\"Boileau\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.81609575069584,46.306278273500205],[-75.70647624660924,46.30861827846488],[-75.70784933786219,46.368204796641294],[-75.70582159060216,46.43831635439321],[-75.74511711863536,46.43825800265482],[-75.74517820329051,46.43165432215606],[-75.90816044151413,46.430961752669376],[-75.95364112284298,46.429957758228774],[-75.9716869857446,46.39392230826435],[-75.9685693598672,46.38416239399478],[-75.95250276465372,46.373627890703574],[-75.96415791437393,46.35515109884532],[-75.94201552316937,46.33512742090991],[-75.94412737016178,46.312493711322546],[-75.93490570602215,46.3063784286797],[-75.81609575069584,46.306278273500205]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.83099869630361,\"lat\":46.37061726851281},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2483\"],\"cd_name_en\":[\"La Vall\\u00e9e-de-la-Gatineau\"],\"csd_code\":[\"2483070\"],\"csd_name_en\":[\"D\\u00e9l\\u00e9age\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-de-la-Gatineau\",\"csd_name_fr\":\"D\\u00e9l\\u00e9age\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.60156159829982,45.66482652809861],[-76.61590343470104,45.67012432691433],[-76.6234230369759,45.68295599116189],[-76.63150007359664,45.659740989280785],[-76.61372817040198,45.65370216523453],[-76.60156159829982,45.66482652809861]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.61866600591064,\"lat\":45.665149350502794},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2484\"],\"cd_name_en\":[\"Pontiac\"],\"csd_code\":[\"2484025\"],\"csd_name_en\":[\"Bryson\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Pontiac\",\"csd_name_fr\":\"Bryson\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.97708772472315,47.6480819961358],[-78.97660131260727,47.70304740190021],[-78.70919407220221,47.70250208333332],[-78.65495776261155,47.70230082799662],[-78.6533076164055,47.879967950912075],[-79.02438918289359,47.880297175218004],[-79.15059323051813,47.88104831645362],[-79.14912225470668,47.85110960956086],[-79.30163378821219,47.85115119179633],[-79.30143642538783,47.74172039353061],[-79.25073950602717,47.74240637125786],[-79.24940886690442,47.70073614081084],[-79.19181426321745,47.70085114124692],[-79.17665968385887,47.68881072663456],[-79.17626859967456,47.66600444024211],[-79.19374059165806,47.649774680097096],[-78.97708772472315,47.6480819961358]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.97323853711302,\"lat\":47.7792240584198},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2485\"],\"cd_name_en\":[\"T\\u00e9miscamingue\"],\"csd_code\":[\"2485105\"],\"csd_name_en\":[\"R\\u00e9migny\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscamingue\",\"csd_name_fr\":\"R\\u00e9migny\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.31183262156138,48.14648941828245],[-77.31172689524364,48.16590606147993],[-77.3289841194202,48.169578522733445],[-77.34117930802017,48.18535193850189],[-77.33969482096576,48.19371595492185],[-77.31927015504615,48.23487633349746],[-77.3162823420069,48.248837089595646],[-77.32435254563335,48.25586194209445],[-77.3074778513261,48.27569427516495],[-77.3052858574705,48.28771692104969],[-77.23578341336334,48.287368142152665],[-77.23582046061689,48.37543602354536],[-77.25745973237015,48.382505750118234],[-77.25310538752927,48.39426903079409],[-77.29816939005214,48.40408807687437],[-77.24245098418996,48.40465265964394],[-77.22244393187466,48.397163829722025],[-77.21776152532645,48.37552631570909],[-77.12687329663359,48.37524770580777],[-77.12627428477104,48.43043082466571],[-77.20364767171496,48.43042619572823],[-77.18210900876872,48.4480906761351],[-77.16235917291883,48.45704703728978],[-77.15360107315539,48.47435407973372],[-77.12655199525379,48.499632366914895],[-77.12081167759888,48.511488870878416],[-77.09032701034616,48.53303862565954],[-77.09018268922622,48.55004988980853],[-77.08207791057852,48.57490964921004],[-77.13565569664163,48.57507726352821],[-77.3308353262433,48.57492222282822],[-77.344147694179,48.574834036826005],[-77.34426127718561,48.50363002958307],[-77.30952849931985,48.503305625222204],[-77.30956497534407,48.43032133629318],[-77.3131101943348,48.43032364103328],[-77.31293776938848,48.36012822384682],[-77.34408763114982,48.36052095951602],[-77.3439460796466,48.28738997492937],[-77.56056126431166,48.287969436384714],[-77.56102410178285,48.18970764964847],[-77.51621596686276,48.189826158757256],[-77.51634286782357,48.18209678009322],[-77.46481483058074,48.181935668685654],[-77.46464684590975,48.146825672248426],[-77.31183262156138,48.14648941828245]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.31223794432837,\"lat\":48.36612419550364},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2489\"],\"cd_name_en\":[\"La Vall\\u00e9e-de-l'Or\"],\"csd_code\":[\"2489045\"],\"csd_name_en\":[\"Senneterre\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-de-l'Or\",\"csd_name_fr\":\"Senneterre\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.97940311767273,48.454045270881934],[-72.00208230116372,48.45883648219565],[-72.09086275788654,48.500189541689444],[-72.09049918336169,48.50571267916902],[-72.13303589744226,48.505791395248224],[-72.1431040906315,48.48690320751177],[-72.17609581168597,48.424997035377466],[-72.16799696107469,48.42323291110402],[-72.15268264332198,48.400658034006376],[-72.16819192173861,48.39491185416935],[-72.17177557406357,48.3758796136894],[-72.04310689306915,48.34958553747597],[-72.02985926998021,48.377100347015805],[-71.9994152685831,48.371163760100956],[-71.98303802719836,48.3784008479697],[-71.96526835781563,48.37958950645983],[-71.9773065052704,48.39530539435137],[-71.96127660026079,48.41189951000412],[-71.97940311767273,48.454045270881934]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.0747019639639,\"lat\":48.42454906902634},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2491\"],\"cd_name_en\":[\"Le Domaine-du-Roy\"],\"csd_code\":[\"2491020\"],\"csd_name_en\":[\"Chambord\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Domaine-du-Roy\",\"csd_name_fr\":\"Chambord\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.52937809967094,48.75266724781017],[-72.57542762375985,48.769522250466174],[-72.58636491463756,48.78260023711064],[-72.6108227735503,48.7778527619904],[-72.61386289283105,48.76854979963726],[-72.63605645952171,48.768350200020954],[-72.66225916709314,48.810489909723486],[-72.69520296620992,48.85120593183808],[-72.7181103634988,48.84850202591866],[-72.72609605094917,48.83933599697697],[-72.72882093282598,48.8350081134819],[-72.79590056274891,48.8024911793239],[-72.77036627227248,48.77967018171658],[-72.80343441014057,48.76797140870026],[-72.8040348606846,48.725264105391496],[-72.82504052997396,48.730107801128995],[-72.84995350874706,48.70013971124235],[-72.64216906149844,48.62455084493341],[-72.6405984840149,48.632758599911476],[-72.61727944950985,48.64442716477617],[-72.56056020140231,48.66849826362363],[-72.61099268727635,48.71215947368752],[-72.52937809967094,48.75266724781017]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.69385558466274,\"lat\":48.73114201677355},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2491\"],\"cd_name_en\":[\"Le Domaine-du-Roy\"],\"csd_code\":[\"2491050\"],\"csd_name_en\":[\"La Dor\\u00e9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Domaine-du-Roy\",\"csd_name_fr\":\"La Dor\\u00e9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.39586793081564,48.81806429552523],[-72.49065987214806,48.90109542973205],[-72.50775444941654,48.89300895508074],[-72.49913920586403,48.88321991161814],[-72.50318950366302,48.87359620973413],[-72.54255470686402,48.87119578980593],[-72.58184573190964,48.90780820563615],[-72.69520296620992,48.85120593183808],[-72.66225916709314,48.810489909723486],[-72.63605645952171,48.768350200020954],[-72.61386289283105,48.76854979963726],[-72.6108227735503,48.7778527619904],[-72.58636491463756,48.78260023711064],[-72.57542762375985,48.769522250466174],[-72.52937809967094,48.75266724781017],[-72.39586793081564,48.81806429552523]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.55035392931788,\"lat\":48.82898536302947},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2492\"],\"cd_name_en\":[\"Maria-Chapdelaine\"],\"csd_code\":[\"2492040\"],\"csd_name_en\":[\"Normandin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Maria-Chapdelaine\",\"csd_name_fr\":\"Normandin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.83440567442227,49.059196085929365],[-68.8743682328317,49.03577283508928],[-68.87223077537426,49.08122433173428],[-68.95649203829099,49.080892599926344],[-69.11394734529284,49.08164103230581],[-69.146124759203,49.08289531295015],[-69.14511316386391,49.344948787267356],[-69.14422379199965,49.57284596052611],[-69.14331933104052,49.59982583820413],[-69.15443000652208,49.60359919376424],[-69.15512337397041,49.62281999935662],[-69.18188283437516,49.62875638827627],[-69.20855574535895,49.64581982507709],[-69.22411236875732,49.65012124081984],[-69.23749791942612,49.66151438026377],[-69.25452408759975,49.65446453970783],[-69.26723011436589,49.66595971373444],[-69.26084859363839,49.68591629587244],[-69.24296749142228,49.699567928023306],[-69.24950974545564,49.71012397148929],[-69.25889524345973,49.75347550045394],[-69.27199043675901,49.7628829307254],[-69.3092559114812,49.765298862276794],[-69.31904780963731,49.75404374536031],[-69.34219715903576,49.762039721576436],[-69.34843712889568,49.77686312732545],[-69.36077093386105,49.779542167456874],[-69.39073158569636,49.76086627337392],[-69.40030083990503,49.763967931846835],[-69.42774843102873,49.79063920005581],[-69.41640110089064,49.81648828092736],[-69.42335893819273,49.835280021123886],[-69.43739480979906,49.8446049494562],[-69.44249672531139,49.865943879579426],[-69.47264801377595,49.88099458845958],[-69.47143222519978,49.897566563109606],[-69.44315124256032,49.89547357880179],[-69.44021183028187,49.90728718835491],[-69.48526898721076,49.91988524376153],[-69.51423791150121,49.94007126035483],[-69.53917852589183,49.95031913187619],[-69.50429129517654,49.96572821821398],[-69.49833981511853,49.98063873498022],[-69.51347129591434,49.98666519727317],[-69.5113639668398,50.000013734138875],[-69.75000000384068,49.99999999763498],[-70.02563442161711,50.000029153141526],[-70.03487833654626,50.00003802154029],[-70.03389062804135,49.797140991871956],[-70.01981369781303,49.79735092539377],[-70.01933143977482,49.500022838049524],[-70.01906357507814,49.333167218106865],[-70.0188223407467,49.18181646563695],[-70.01853470340703,49.00002219740263],[-70.00999614645701,49.00001240665537],[-70.00943220452658,48.76064079279056],[-70.0090557557681,48.599418279120144],[-70.00849681677161,48.35795647079656],[-69.9173642390515,48.332270135994335],[-69.79658037474641,48.30140628006279],[-69.79659365526764,48.251725046918075],[-69.77559717809146,48.26681232169465],[-69.56124194370999,48.40935379028002],[-69.61669659438853,48.446846147503706],[-69.4822489857572,48.545929362813276],[-69.33622087089039,48.645935693275405],[-69.38967271328737,48.68116376156235],[-69.34337570551465,48.7110013425901],[-69.25059283543547,48.77186100213253],[-69.26324136260544,48.78001273772056],[-69.12683156792748,48.87084354798857],[-68.95112443971459,48.985870821751945],[-68.9215028144493,48.98272880515625],[-68.90749238708528,48.98836859723791],[-68.88946720614224,48.97556480939928],[-68.86614128188745,48.96486249505853],[-68.82687469953584,48.955176485748886],[-68.80457360719858,48.954099901933006],[-68.76373361818442,48.941265894019516],[-68.76128540886556,48.94978801299444],[-68.71961009985291,48.96931989625566],[-68.72175668875506,48.99176230123806],[-68.76920079159693,49.006646497096234],[-68.77843660639097,49.03473819760555],[-68.77628618867408,49.051723100528335],[-68.79364249420982,49.05990240461127],[-68.83440567442227,49.059196085929365]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.60808857139237,\"lat\":49.18804277926798},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2495\"],\"cd_name_en\":[\"La Haute-C\\u00f4te-Nord\"],\"csd_code\":[\"2495902\"],\"csd_name_en\":[\"Lac-au-Brochet\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Haute-C\\u00f4te-Nord\",\"csd_name_fr\":\"Lac-au-Brochet\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.85385671284149,49.81140966308885],[-77.85549915250522,49.78493970590931],[-77.82311399635579,49.779754895307505],[-77.82325791100958,49.76465917896608],[-77.80935738854568,49.764240962643974],[-77.80969773650799,49.746654752351986],[-77.78901573321104,49.74686498322571],[-77.7891668352436,49.73582937660124],[-77.75661530603693,49.734794798424225],[-77.75569821658381,49.70351005987175],[-77.7159727298746,49.702455323049165],[-77.69466505245911,49.69557823991906],[-77.69502639594366,49.71700272962778],[-77.67111939700868,49.71654098931754],[-77.6704042653584,49.73200412631663],[-77.65872090273413,49.731909698007144],[-77.65633083669063,49.74829396534927],[-77.59818399433735,49.746841895862495],[-77.59982328602051,49.77491577964637],[-77.65429516635373,49.77649918726463],[-77.65481498035962,49.758590118178944],[-77.68911458326866,49.757864546478544],[-77.68882197391108,49.74579922556141],[-77.70094035766677,49.73931956300339],[-77.72911130338571,49.74020216981098],[-77.72830974307708,49.752107062417046],[-77.74517495000569,49.75209099860152],[-77.74450922282442,49.76775094160933],[-77.76998988813233,49.7688903853169],[-77.76921849294085,49.783877182561525],[-77.79136737784587,49.784496739261584],[-77.79052481975488,49.81045013127876],[-77.85385671284149,49.81140966308885]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.73678049228693,\"lat\":49.75476632096777},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499015\"],\"csd_name_en\":[\"Matagami\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Matagami\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.78736578272486,58.711757711989634],[-69.794388697245,58.70664948642775],[-69.83677299426256,58.71162159683922],[-69.88468231694345,58.691076194042545],[-69.91302738701783,58.687175492518065],[-69.92622179836329,58.692000996094215],[-69.92758130381823,58.71060810886695],[-69.90985707459525,58.73748930039938],[-69.91291172125972,58.743463197966335],[-69.89881412749024,58.77300219328394],[-69.90726639712825,58.78368900703173],[-69.94512478717778,58.772293899797496],[-69.98215126323257,58.75382082396476],[-69.98185031134254,58.699962325373264],[-69.92792425398498,58.64048077895326],[-69.83999613572817,58.687759204551575],[-69.78889403385156,58.69281550766187],[-69.78736578272486,58.711757711989634]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.91757926096987,\"lat\":58.70927229891563},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499100\"],\"csd_name_en\":[\"Tasiujaq\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village nordique\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Tasiujaq\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.68512355092118,51.265142060646184],[-78.6854895500372,51.302768138366254],[-78.49624238921646,51.298888088414095],[-78.5097284837079,51.39885650877599],[-78.52968129079036,51.416889991689196],[-78.5390678781511,51.43252280680037],[-78.5647064085454,51.439631500640765],[-78.58906579568425,51.45145448791416],[-78.62544560802064,51.46353121154034],[-78.6704805091943,51.470166789439396],[-78.69960078203286,51.4864113047954],[-78.74886650936344,51.49035200297989],[-78.77620960467986,51.47593130887383],[-78.81351088911616,51.446944406603535],[-78.8508232164822,51.412627197178004],[-78.86786198660488,51.40747598527912],[-78.89355379768654,51.391783390131394],[-78.89776199259833,51.37798730948897],[-78.88340920078804,51.36360090507661],[-78.8602053031602,51.35721428942417],[-78.87102181820963,51.330072005667404],[-78.90268981562787,51.304555909843074],[-78.90741630722647,51.28053329759631],[-78.91695504654405,51.26340103035997],[-78.68512355092118,51.265142060646184]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.70673485768589,\"lat\":51.36722608478714},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499806\"],\"csd_name_en\":[\"Waskaganish\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Terres r\\u00e9serv\\u00e9es aux Cris\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Waskaganish\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.44680381489013,51.661481609024435],[-76.44325949010381,51.65317420642445],[-76.46794669820541,51.638770900304],[-76.42897460730747,51.632996297362965],[-76.41536248540869,51.62764480690034],[-76.4023949400315,51.60808501026975],[-76.377252528333,51.608299145653724],[-76.32736390422129,51.61610905589111],[-76.31252348147521,51.61291959137575],[-76.31449951916794,51.63257159785649],[-76.32710529111704,51.63462160167579],[-76.33402741435052,51.64950611260515],[-76.31557127605159,51.65433880739161],[-76.2741083952194,51.67858490526819],[-76.25924441219999,51.67550669504364],[-76.24233950029718,51.69502928796022],[-76.22227230264889,51.70506808585274],[-76.21557339069643,51.71996598451723],[-76.24550336410279,51.7332914778215],[-76.35060582306261,51.69704729769062],[-76.44680381489013,51.661481609024435]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.34086817143188,\"lat\":51.66716876733344},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499808\"],\"csd_name_en\":[\"Nemaska\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Terres r\\u00e9serv\\u00e9es aux Cris\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Nemaska\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-77.65986976521695,55.34998309015851],[-77.66119301102692,55.36400090350425],[-77.68132580597272,55.34728209457502],[-77.73174019359686,55.31854729743894],[-77.7121683820548,55.3176576831731],[-77.65986976521695,55.34998309015851]]],[[[-76.68262549517566,56.080547605559055],[-76.57351814090178,56.04799901338844],[-76.52366153738019,56.10625520170474],[-76.53162168310685,56.132470700074514],[-76.51383410700109,56.140346207908834],[-76.51611851135428,56.14931198969848],[-76.56938661419133,56.15117831016992],[-76.57839560089054,56.15808880728566],[-76.61710067598754,56.15901149862385],[-76.65657879869336,56.165230502658986],[-76.64167434715726,56.146721818338584],[-76.64920940385376,56.124742590329795],[-76.67941131711243,56.0955317098487],[-76.68262549517566,56.080547605559055]]],[[[-76.65378408506051,56.16821280209551],[-76.59521820296698,56.16100950110097],[-76.54692030709728,56.16494818737506],[-76.49926671203603,56.15804309892057],[-76.4757832797218,56.162636196676964],[-76.47138212170609,56.172585099044625],[-76.496400603258,56.181787611397],[-76.53436519582272,56.1767571042182],[-76.57690639959237,56.180771789953425],[-76.5418385030999,56.199787901542756],[-76.49744849351947,56.21398740942235],[-76.51015858794575,56.24031259227673],[-76.46471879817797,56.248278494870604],[-76.45488321524671,56.257965511648166],[-76.45473141943374,56.27517540479381],[-76.46614857697911,56.288066207603016],[-76.4250680739011,56.290945906772755],[-76.41358469003524,56.30455830026178],[-76.39686822301947,56.30354489248853],[-76.37939340938144,56.33243819298227],[-76.39236301582521,56.339816300470105],[-76.44454100313457,56.353631610813586],[-76.44776897507823,56.36723800130539],[-76.41041967608103,56.37637950435276],[-76.41735692386041,56.39383999475696],[-76.45009910995944,56.40595722077359],[-76.53343700082962,56.40721058985609],[-76.52908591283754,56.37374811635581],[-76.54278291679708,56.35664029930549],[-76.54798501047847,56.30131859892835],[-76.56384083299436,56.27924819459408],[-76.5878248395616,56.261344112973745],[-76.61704764476767,56.24652920507772],[-76.62608271338557,56.22734658346788],[-76.61478672214315,56.202901595747186],[-76.62571901456755,56.19415948600771],[-76.65243260734997,56.194407178701844],[-76.65378408506051,56.16821280209551]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.55827407787838,\"lat\":56.21733995231766},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499877\"],\"csd_name_en\":[\"Kuujjuarapik\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Terre inuite\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Kuujjuarapik\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.78698837575953,45.189170041894826],[-74.82722754915478,45.238550805389664],[-74.83672240039188,45.23458994436748],[-74.91597566316744,45.33804146811642],[-74.92014520697676,45.343339897000355],[-75.01705537292986,45.31567337292694],[-74.99347360467326,45.27688386570176],[-75.14266145524695,45.23431763771514],[-75.19213378712433,45.2213608045122],[-75.20115611474026,45.23974210389306],[-75.25902773044889,45.218234865506425],[-75.15661996633087,45.08697020473953],[-75.05858115385496,45.12412468349193],[-74.99986899105329,45.1477348786526],[-74.96953989470168,45.11300139550946],[-74.94753701036888,45.123453390158744],[-74.843299194945,45.16456596165313],[-74.7862008951187,45.18819269257165],[-74.78698837575953,45.189170041894826]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.01406108038097,\"lat\":45.20493711046357},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3501\"],\"cd_name_en\":[\"Stormont\",\"Dundas and Glengarry\"],\"csd_code\":[\"3501042\"],\"csd_name_en\":[\"North Stormont\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Stormont, Dundas and Glengarry\",\"csd_name_fr\":\"North Stormont\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.39738329539937,45.57054461453903],[-74.43231596406599,45.57228985633998],[-74.47236640069356,45.59373180756762],[-74.4895248447027,45.595331605006145],[-74.52605454809039,45.59259356143013],[-74.55571532584744,45.60315833130539],[-74.56249897552492,45.60648443567953],[-74.5802656871921,45.561043828199544],[-74.61364960934881,45.49536098989193],[-74.58089150398769,45.508859002148675],[-74.4939652338529,45.407546716768344],[-74.43837861840503,45.39379269141358],[-74.42833921783654,45.420104971831094],[-74.42137672343438,45.439793402136495],[-74.39127894261483,45.531365798427515],[-74.38087638693001,45.565904432501114],[-74.39738329539937,45.57054461453903]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.48794447359411,\"lat\":45.51022946269228},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3502\"],\"cd_name_en\":[\"Prescott and Russell\"],\"csd_code\":[\"3502001\"],\"csd_name_en\":[\"East Hawkesbury\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Prescott and Russell\",\"csd_name_fr\":\"East Hawkesbury\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.35724024904702,44.79810089888158],[-75.41221261190817,44.86202790952823],[-75.48560441281718,44.9565106989266],[-75.5328160913567,44.93936791885342],[-75.58330910648533,44.913257890118686],[-75.64709499325649,44.878121196950254],[-75.64575519691567,44.87645985582206],[-75.60691138344414,44.83019732004929],[-75.51957087097803,44.732101359272505],[-75.50271434630231,44.70978248969665],[-75.50079376026844,44.70752239425783],[-75.47607627086121,44.720612708263864],[-75.42366943001485,44.756090309781506],[-75.41382826199145,44.77216847990766],[-75.39668670154396,44.773345594066626],[-75.36991672539745,44.782878837374625],[-75.35724024904702,44.79810089888158]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.50039428171576,\"lat\":44.83590227186177},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3507\"],\"cd_name_en\":[\"Leeds and Grenville\"],\"csd_code\":[\"3507004\"],\"csd_name_en\":[\"Edwardsburgh\\/Cardinal\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Leeds and Grenville\",\"csd_name_fr\":\"Edwardsburgh\\/Cardinal\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.03292715392617,44.638005335569204],[-76.01312165787769,44.6134143662307],[-76.00062952789895,44.51941951284043],[-75.95642569419606,44.53971161727988],[-75.96536702432057,44.55126251097233],[-75.85198980160739,44.5971605052416],[-75.93338548363305,44.69997499935817],[-75.98381330722164,44.667388636027894],[-76.03292715392617,44.638005335569204]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.95028566213867,\"lat\":44.61338933372237},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3507\"],\"cd_name_en\":[\"Leeds and Grenville\"],\"csd_code\":[\"3507042\"],\"csd_name_en\":[\"Athens\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Leeds and Grenville\",\"csd_name_fr\":\"Athens\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.3308753865781,44.3493550090766],[-77.41291689833831,44.514668944147076],[-77.45881109755476,44.50638220370229],[-77.47662785998965,44.51357540665333],[-77.4830989758013,44.49699379118807],[-77.55288621461803,44.479139216360956],[-77.47339242521825,44.315586639356354],[-77.33330629377942,44.34878258766736],[-77.3308753865781,44.3493550090766]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.44254858418,\"lat\":44.41560104615794},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3512\"],\"cd_name_en\":[\"Hastings\"],\"csd_code\":[\"3512026\"],\"csd_name_en\":[\"Centre Hastings\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Hastings\",\"csd_name_fr\":\"Centre Hastings\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.77136924026767,43.974567707362716],[-80.82747196599652,43.96818011999238],[-80.83582895004793,44.00457664040879],[-80.98911870062207,43.98673669302906],[-80.99178752055066,43.986405580228364],[-80.95765190754989,43.8403928914982],[-80.95439919562895,43.82208730303218],[-80.85944282903252,43.83305256314937],[-80.85330054511327,43.824442136636925],[-80.838657949381,43.824846558429684],[-80.82996783562776,43.83648935469543],[-80.76050909540598,43.84464490402248],[-80.74186360696292,43.84402810428518],[-80.77136924026767,43.974567707362716]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.87056193090305,\"lat\":43.91151202228505},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3523\"],\"cd_name_en\":[\"Wellington\"],\"csd_code\":[\"3523043\"],\"csd_name_en\":[\"Minto\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Wellington\",\"csd_name_fr\":\"Minto\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.2872838102264,43.10869648640867],[-79.31077004484719,43.107964490198334],[-79.390155594054,43.10560639941918],[-79.38940409918783,43.095834693333984],[-79.38617428689125,42.98609476528956],[-79.36079410445772,42.968207851619944],[-79.3114214945877,42.97190705103076],[-79.29087910652268,42.966271225827896],[-79.29058020041272,43.01722374220059],[-79.2804126639291,43.02694974778284],[-79.26745108371017,43.02667953433529],[-79.26768335166346,43.05433297742906],[-79.28571753433239,43.05887981711045],[-79.2872838102264,43.10869648640867]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.33464845429614,\"lat\":43.04049248401813},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3526\"],\"cd_name_en\":[\"Niagara\"],\"csd_code\":[\"3526028\"],\"csd_name_en\":[\"Pelham\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Niagara\",\"csd_name_fr\":\"Pelham\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.8052062779433,43.11031795553037],[-80.90102239813402,43.3010722981425],[-80.93696561795497,43.29018028306614],[-81.05089428443533,43.256683902545824],[-81.13220345190746,43.231461883594484],[-81.03761938275522,43.04608349902587],[-81.02346471333442,43.05047269831855],[-80.9936614271542,42.99267402911399],[-80.9812504665855,42.98637979901682],[-80.96336104958803,42.99493930004117],[-80.9469937858058,43.009460613912026],[-80.9429174807455,43.01396484296295],[-80.90838099579906,43.027345253913715],[-80.9081658870278,43.044611495150626],[-80.88024121117206,43.05266370912662],[-80.87143715025184,43.0483311749099],[-80.85353360251486,43.06407380067756],[-80.84140157931311,43.08711862584929],[-80.8052062779433,43.11031795553037]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.96358967160536,\"lat\":43.15341971416477},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3532\"],\"cd_name_en\":[\"Oxford\"],\"csd_code\":[\"3532027\"],\"csd_name_en\":[\"Zorra\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Oxford\",\"csd_name_fr\":\"Zorra\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.65620968810828,43.144573508855174],[-80.66508079830659,43.16852568767317],[-80.7091900840899,43.16219880250629],[-80.71252438585434,43.1731952642732],[-80.71679601344387,43.17468059129573],[-80.79005378492569,43.15240600304241],[-80.77786605100118,43.124553353990876],[-80.78434948049627,43.117769156987904],[-80.7741679731577,43.109451639364956],[-80.76132858443628,43.11139806334403],[-80.75362443127716,43.0943440421311],[-80.73664625780333,43.09813497688924],[-80.73880918284601,43.107147894181125],[-80.66905959076917,43.11740770879054],[-80.67577635255377,43.13805239731628],[-80.65620968810828,43.144573508855174]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.72515659650153,\"lat\":43.13788199327208},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3532\"],\"cd_name_en\":[\"Oxford\"],\"csd_code\":[\"3532042\"],\"csd_name_en\":[\"Woodstock\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Oxford\",\"csd_name_fr\":\"Woodstock\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.9469937858058,43.009460613912026],[-80.96336104958803,42.99493930004117],[-80.9812504665855,42.98637979901682],[-80.9936614271542,42.99267402911399],[-81.02346471333442,43.05047269831855],[-81.03761938275522,43.04608349902587],[-81.13220345190746,43.231461883594484],[-81.22447046023566,43.20332520797222],[-81.24215652670532,43.198181002369445],[-81.17885955900194,43.074343659701704],[-81.18966120613086,43.069799942708],[-81.16670639477209,43.05055099370727],[-81.13195370344854,43.05326078784804],[-81.13582464707949,43.040518560114954],[-81.12029733675676,43.005832099721054],[-81.1317679908572,42.982829499487345],[-81.12006755962103,42.97601579839245],[-81.11088018732072,42.93524140581413],[-81.11554061293761,42.92275181416645],[-81.126781703912,42.921664390658535],[-81.11969615411492,42.89080406713756],[-81.08193007590366,42.89127035897392],[-81.08089705987473,42.88523842403451],[-80.89869379174996,42.91256189707199],[-80.92300591145154,43.000787306703764],[-80.93378659237077,42.99940640066626],[-80.9469937858058,43.009460613912026]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.07940372755621,\"lat\":43.03710555202347},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3539\"],\"cd_name_en\":[\"Middlesex\"],\"csd_code\":[\"3539027\"],\"csd_name_en\":[\"Thames Centre\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Middlesex\",\"csd_name_fr\":\"Thames Centre\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.2678291977735,44.51938899409273],[-81.26999914120746,44.611174082031376],[-81.29605975977015,44.57893949877051],[-81.31900725881786,44.55773091439347],[-81.34732174374439,44.535889403000766],[-81.35667796439823,44.51956870123536],[-81.33802421524531,44.5067726965944],[-81.28954441450469,44.51545590611],[-81.2678291977735,44.51938899409273]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.30195416154535,\"lat\":44.54455285568859},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3541\"],\"cd_name_en\":[\"Bruce\"],\"csd_code\":[\"3541057\"],\"csd_name_en\":[\"Saugeen 29\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Bruce\",\"csd_name_fr\":\"Saugeen 29\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.9695789477248,45.52648626285643],[-79.80047197088962,45.572678567048555],[-79.77303412338333,45.580147641177454],[-79.83760686636077,45.70019693117214],[-79.69197775313584,45.7379970414555],[-79.75946292007316,45.86026081149538],[-79.89089525402785,45.82539562596546],[-80.10189140012253,45.76636558531729],[-80.2720732824102,45.71985074672126],[-80.29818936208251,45.714152455751346],[-80.28087762490229,45.68234533154126],[-80.23403107794333,45.59446472204986],[-80.23020964032646,45.59358186568795],[-80.20844155964393,45.549899185544525],[-80.18742033116584,45.50757461887715],[-80.15735346235738,45.51542066853648],[-80.03747035329854,45.54682057342043],[-79.98853432295859,45.561559974808205],[-79.9695789477248,45.52648626285643]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.99276281178301,\"lat\":45.67744435734466},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3549\"],\"cd_name_en\":[\"Parry Sound\"],\"csd_code\":[\"3549039\"],\"csd_name_en\":[\"Whitestone\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Parry Sound\",\"csd_name_fr\":\"Whitestone\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.31858859287529,46.156523938016605],[-79.36612695526881,46.241899898253536],[-79.42334795215768,46.22700412530132],[-79.49999999016097,46.22282554006117],[-79.51337049798676,46.22197138665197],[-79.45008317818436,46.10867989084697],[-79.31376209198201,46.14802278788053],[-79.31858859287529,46.156523938016605]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.41239047722553,\"lat\":46.17801918972723},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3549\"],\"cd_name_en\":[\"Parry Sound\"],\"csd_code\":[\"3549066\"],\"csd_name_en\":[\"Callander\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Parry Sound\",\"csd_name_fr\":\"Callander\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.84015694965007,45.912011199310484],[-82.832520226683,45.93423071539686],[-82.81264266237665,45.953629419474595],[-82.80542468967279,45.96594407318244],[-82.85560229812559,45.96643861582468],[-82.86662574529132,45.96454149762508],[-82.86727234171109,45.95010403394344],[-82.86864789111179,45.9308265819966],[-82.86968672143607,45.91315966418367],[-82.84015694965007,45.912011199310484]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.84495567935785,\"lat\":45.94296330886562},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3551\"],\"cd_name_en\":[\"Manitoulin\"],\"csd_code\":[\"3551044\"],\"csd_name_en\":[\"Sheshegwaning 20\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Manitoulin\",\"csd_name_fr\":\"Sheshegwaning 20\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.86252992583233,46.778237806592664],[-80.83173610196512,46.75380778891082],[-80.80542451574497,46.77671833576452],[-80.83762038987284,46.79718981973164],[-80.86252992583233,46.778237806592664]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.83412023679702,\"lat\":46.776149930001964},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3553\"],\"cd_name_en\":[\"Greater Sudbury \\/ Grand Sudbury\"],\"csd_code\":[\"3553040\"],\"csd_name_en\":[\"Wahnapitei 11\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Greater Sudbury \\/ Grand Sudbury\",\"csd_name_fr\":\"Wahnapitei 11\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.63215104615519,47.406294675535534],[-79.6645582475179,47.40631506654416],[-79.69311362021335,47.389617944536084],[-79.69368783698496,47.40660777737362],[-79.7596120675011,47.40651003038938],[-79.91435222498826,47.40707377393388],[-79.90379482348682,47.3905757997482],[-79.88579544747549,47.39022210352582],[-79.8770705180446,47.38274565496407],[-79.9162560467315,47.36319601384585],[-79.91856902225926,47.3582417918583],[-79.87997342736992,47.32353898363378],[-79.87368765285045,47.32240430300884],[-79.8624808960681,47.30029843337409],[-79.85436012132372,47.30420743697695],[-79.81331195279397,47.32394238182671],[-79.82828683506587,47.335875891853846],[-79.8302569612757,47.34880699056181],[-79.79306382304728,47.34872162633946],[-79.78846662276243,47.33598859223751],[-79.793337573412,47.30889887284712],[-79.63143144054662,47.30716955915377],[-79.63215104615519,47.406294675535534]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.76243140804017,\"lat\":47.3594435513947},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3554\"],\"cd_name_en\":[\"Timiskaming\"],\"csd_code\":[\"3554001\"],\"csd_name_en\":[\"Coleman\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Timiskaming\",\"csd_name_fr\":\"Coleman\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-83.89837324807412,46.26684021262581],[-83.88847543381502,46.24346000694549],[-83.87696781864368,46.25580609443172],[-83.89515511918556,46.26739976818118],[-83.89837324807412,46.26684021262581]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-83.88817982595293,\"lat\":46.2562324799076},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3557\"],\"cd_name_en\":[\"Algoma\"],\"csd_code\":[\"3557006\"],\"csd_name_en\":[\"Hilton Beach\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Algoma\",\"csd_name_fr\":\"Hilton Beach\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.09744366809939,46.17051555322578],[-82.1259996389691,46.17150040761676],[-82.19052701865023,46.179055728926606],[-82.20578052041753,46.17556101716877],[-82.2357220688255,46.1855439343536],[-82.25634352113619,46.18905757863273],[-82.31261033334064,46.1858458000931],[-82.32625042511638,46.179705114501836],[-82.31506763670411,46.17096011123104],[-82.33572845549254,46.1660673100269],[-82.35394565056212,46.17047911388675],[-82.34989345115876,46.15522660193388],[-82.31378819415144,46.140341819363066],[-82.29800954141308,46.136819112510935],[-82.26578073742216,46.14862899537552],[-82.24494504477617,46.14058669999177],[-82.20131455465726,46.129416300121825],[-82.18389223515658,46.11680869381042],[-82.16689315955541,46.1128254040583],[-82.11890316021915,46.11194641396562],[-82.09631796987749,46.10863364528891],[-82.09744366809939,46.17051555322578]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.2068625494684,\"lat\":46.1527849231464},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3557\"],\"cd_name_en\":[\"Algoma\"],\"csd_code\":[\"3557071\"],\"csd_name_en\":[\"Sagamok\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Algoma\",\"csd_name_fr\":\"Sagamok\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-92.5945892474521,49.665639430101315],[-92.61410077119515,49.663898115783105],[-92.61471978058205,49.59985856380546],[-92.597846842788,49.60016237009128],[-92.58458664429219,49.60996273702317],[-92.58743614756762,49.624949130772414],[-92.55756033707077,49.65678802285869],[-92.5945892474521,49.665639430101315]]],[[[-92.51339506403737,49.62691933974597],[-92.5028536614065,49.61643171854017],[-92.50837577049177,49.606777023808775],[-92.5272572575149,49.61673173519178],[-92.5534752405387,49.613939536874945],[-92.58273898148666,49.57365129100533],[-92.53134913756512,49.571826048031646],[-92.447536066468,49.627391085864375],[-92.51339506403737,49.62691933974597]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-92.55156900141719,\"lat\":49.614478649265294},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560057\"],\"csd_name_en\":[\"Wabigoon Lake 27\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Wabigoon Lake 27\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-93.90723470711822,49.192905812039974],[-93.91574056844371,49.19307616141189],[-93.9360497937537,49.17856911237588],[-93.93212858605517,49.1658276796354],[-93.9082723801366,49.16517544665927],[-93.90723470711822,49.192905812039974]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-93.91950891404859,\"lat\":49.17761269731832},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560063\"],\"csd_name_en\":[\"Sabaskong Bay 35D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Sabaskong Bay 35D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-94.5544237404521,49.718705341522686],[-94.6274521973729,49.71946865803386],[-94.63007066459966,49.7060884423379],[-94.64065234503033,49.69493781996928],[-94.66812016861591,49.699312830618915],[-94.67252914349143,49.68999313915748],[-94.63769085320504,49.68892603313879],[-94.6586299689807,49.672301529291765],[-94.56601356831418,49.67271013588195],[-94.55582316187558,49.682175540252175],[-94.55546923625421,49.70149273558832],[-94.53547575954971,49.6963806339668],[-94.53307276437718,49.71035484160137],[-94.5544237404521,49.718705341522686]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-94.5972107803076,\"lat\":49.695594675933464},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560069\"],\"csd_name_en\":[\"Rat Portage 38A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Rat Portage 38A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-95.30571809085613,49.015227250387944],[-95.30590949340875,48.99891711105131],[-95.29641874968765,48.9988879413903],[-95.30571809085613,49.015227250387944]]],[[[-95.1532867993813,49.671159166669405],[-95.15411581991135,49.73910679704947],[-95.15213826634987,49.74624028666422],[-95.15286794985226,49.833238497375184],[-95.15288275865458,50.00120808506702],[-95.15290463084867,50.247345048765965],[-95.15279423929509,50.39577284105429],[-95.26019965134302,50.395937545905724],[-95.25996700562887,50.370180644401344],[-95.35095785354999,50.36737404148066],[-95.53480590949218,50.36480117053766],[-95.53464710188554,50.33767649046308],[-95.60330081177581,50.337681696741654],[-95.6028626983278,50.22186416491891],[-95.63990453460443,50.22157658533041],[-95.63979425591124,50.192405375285766],[-95.82108750084542,50.19240698149629],[-95.82091140354905,50.152924238117286],[-95.82085957302503,50.14129844468256],[-95.82119160192381,50.129361595845296],[-95.82069812176684,50.105019810141805],[-95.68531549057646,50.105179691717055],[-95.68519493287621,49.915913442559706],[-95.66248096343256,49.91589661337371],[-95.66246604740728,49.9013620370513],[-95.63976184310944,49.90135854576029],[-95.63974077486071,49.886041668706056],[-95.55166714049625,49.88594192219708],[-95.52582401466877,49.90097650825743],[-95.4991174883653,49.9010831006052],[-95.49851796220966,49.812313987435495],[-95.54394985302008,49.812232517657705],[-95.54386329844384,49.66490695545792],[-95.40788896019612,49.66480937107982],[-95.40759407161187,49.5321577198647],[-95.56402870028494,49.53499130976837],[-95.69780272750768,49.5324740506214],[-95.69765848616159,49.413928173779986],[-95.6972436446127,49.17729584938004],[-95.44203735549453,49.177895809779315],[-95.44139492761393,49.089023260547975],[-95.30606285378148,49.088889663855525],[-95.30558175746503,49.02347394810813],[-95.284119132377,49.023573195549424],[-95.24817330757789,49.03593391771744],[-95.21961515833561,49.03555052888407],[-95.22132676817087,49.01722313356815],[-95.23241296869946,48.99949053420989],[-95.26457132172557,49.00141309741729],[-95.28157817888457,48.9988635329764],[-95.1531942694402,48.99886113935517],[-95.15328931420599,49.247400032811676],[-95.15395734318325,49.38551483697994],[-95.1521452656649,49.49181016031633],[-95.1525507169585,49.57653292320528],[-95.16527237005134,49.58422401651631],[-95.23363442482285,49.584038811808625],[-95.23390593632053,49.62474271470189],[-95.2156722223309,49.62296083389816],[-95.19491195377238,49.60073582376551],[-95.18821305172101,49.58741422199288],[-95.15385686173889,49.588969049234564],[-95.15287861750448,49.603432186633995],[-95.15319314552323,49.61676758432215],[-95.15343305924014,49.6460646711054],[-95.1532867993813,49.671159166669405]],[[-95.18984376460813,49.645345958416264],[-95.17068405441037,49.643980239381484],[-95.18373424588746,49.63004803618861],[-95.21844175428612,49.624575863270955],[-95.23158967461785,49.63026234219625],[-95.23447454340723,49.64473186967417],[-95.18984376460813,49.645345958416264]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-95.39400399593427,\"lat\":49.73593520279301},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4601\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4601094\"],\"csd_name_en\":[\"Division No.  1\",\"Unorganized\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Division No.  1, Unorganized\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.26542610546993,49.19236845270142],[-97.29248952482415,49.18808135537868],[-97.29103812460706,49.17456350997275],[-97.27141270535063,49.15122362036569],[-97.25595255697533,49.144936401635235],[-97.2543283837001,49.13161576278891],[-97.23524495502079,49.122912296920546],[-97.23301766297202,49.19228905627366],[-97.26542610546993,49.19236845270142]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.2567733295198,\"lat\":49.166162292496026},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4602\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4602027\"],\"csd_name_en\":[\"Roseau River 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Roseau River 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-96.64597400774834,49.53218799044023],[-96.64596830384244,49.502671998569184],[-96.64561758890514,49.29615831079703],[-96.64627922793979,49.26639127740474],[-96.37447498700178,49.267020193036544],[-96.37614444358991,49.2714963572901],[-96.37642041433807,49.355114364943766],[-96.37469991619261,49.41389301035568],[-96.37538718177872,49.532171174655424],[-96.6430173132532,49.53216378544932],[-96.64597400774834,49.53218799044023]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-96.51074354851283,\"lat\":49.39958056356095},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4602\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4602053\"],\"csd_name_en\":[\"La Broquerie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"La Broquerie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.73233309355216,49.79844360281404],[-97.86883098783282,49.79791361244439],[-98.27833051825291,49.798084200800766],[-98.41479317889727,49.7984668656305],[-98.41480101689909,49.62105560213315],[-98.21035631770418,49.620687000452456],[-97.73238739392745,49.621029490095474],[-97.73233309355216,49.79844360281404]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-98.07366439768525,\"lat\":49.70947719681941},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4609\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4609018\"],\"csd_name_en\":[\"Grey\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Grey\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-100.04558488173014,50.49119969865702],[-100.04588151162302,50.4765375094755],[-100.02130906417578,50.475839292347175],[-100.02240184128246,50.42470885025018],[-100.01080882269231,50.41710533116653],[-100.01061366388294,50.40270175574484],[-99.97553938840241,50.40254352012238],[-99.95351457039213,50.40988581145423],[-99.95263881717598,50.417485179053415],[-99.9541213990498,50.43219430968844],[-99.95197000743899,50.49128549122079],[-99.94260105423822,50.49126549582279],[-99.95250203896308,50.506112012764895],[-99.95312391541923,50.51323738951509],[-99.96164322007883,50.506088441727265],[-100.02273958327645,50.50590929690705],[-100.02276002100693,50.491186707953624],[-100.04558488173014,50.49119969865702]]],[[[-99.97553938840241,50.40254352012238],[-99.99738944841572,50.39499480924965],[-99.97678516345702,50.38093091352632],[-99.95343653761242,50.37418980072139],[-99.95340404134568,50.40314443076346],[-99.97553938840241,50.40254352012238]]],[[[-100.04558488173014,50.49119969865702],[-100.04579829506433,50.520651696921746],[-100.07075194659282,50.520530410645996],[-100.07070013482682,50.490510238837594],[-100.04558488173014,50.49119969865702]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-99.99282942782791,\"lat\":50.4561637231326},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4615\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4615071\"],\"csd_name_en\":[\"Rolling River 67\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Rolling River 67\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.36941652738807,50.59430740720656],[-101.36948636656568,50.60215688690766],[-101.39277656677832,50.60214901934111],[-101.3927461948212,50.59430050557701],[-101.36941652738807,50.59430740720656]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.38110616467276,\"lat\":50.598227347549155},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4616\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4616025\"],\"csd_name_en\":[\"Gambler 63 (Part)\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Gambler 63 (Part)\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.84723079072947,54.742325114346265],[-101.82139878549133,54.743694175510136],[-101.82040948218659,54.79443847710857],[-101.8635124087059,54.794348958870216],[-101.86281713053133,54.77847878012195],[-101.87788563901911,54.762525955425716],[-101.87600307916657,54.76252586636291],[-101.84743666257437,54.76252306597027],[-101.84748923509122,54.75064019041937],[-101.84723079072947,54.742325114346265]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.84151965764039,\"lat\":54.771237883375576},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4621\"],\"cd_name_en\":[\"Division No. 21\"],\"csd_code\":[\"4621064\"],\"csd_name_en\":[\"Flin Flon (Part)\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 21\",\"csd_name_fr\":\"Flin Flon (Part)\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.42325495637103,49.20268911690883],[-102.4214223027309,49.218733631724824],[-102.43253187240197,49.21857597780512],[-102.43248921683157,49.20266780146276],[-102.42325495637103,49.20268911690883]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.42740452449954,\"lat\":49.210911260678934},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701017\"],\"csd_name_en\":[\"Frobisher\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Frobisher\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.81254826075904,49.0580727614464],[-102.79005608911372,49.05864987585407],[-102.79043518608017,49.07294252123366],[-102.81245294030249,49.0773353995888],[-102.81254826075904,49.0580727614464]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.80192711904884,\"lat\":49.06676518789642},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701019\"],\"csd_name_en\":[\"Roche Perc\\u00e9e\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Roche Perc\\u00e9e\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.87555244691352,49.391241425927284],[-101.88132760846838,49.38738703077274],[-101.86714190505229,49.38753371144001],[-101.86715641884092,49.390663525867446],[-101.87555244691352,49.391241425927284]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.87312478741235,\"lat\":49.38907891030134},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701041\"],\"csd_name_en\":[\"Alida\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Alida\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.02903528481946,49.91256681360212],[-102.03967258753714,49.90149563999974],[-102.0175813618777,49.901508124845606],[-102.02903528481946,49.91256681360212]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.0287630780781,\"lat\":49.90519019281582},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701078\"],\"csd_name_en\":[\"Wawota\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Wawota\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.71524912231523,49.78505144019243],[-105.93626831089819,49.784910106027084],[-106.00679142483764,49.78576108251174],[-106.00602999836431,49.6693328925222],[-106.00442703907383,49.55271928507008],[-106.00525009073417,49.5236983999817],[-105.9364604130485,49.52269259819927],[-105.6883578968444,49.52277959076792],[-105.6653086841652,49.52330140512207],[-105.66526569495743,49.78475018654808],[-105.71524912231523,49.78505144019243]],[[-106.0041458008789,49.63596357146691],[-105.97396637928571,49.637475091331424],[-105.97443439651838,49.62533567101128],[-106.00416752734704,49.6230922813641],[-106.0041458008789,49.63596357146691]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.834857874706,\"lat\":49.65420406640863},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4703\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4703034\"],\"csd_name_en\":[\"Lake of the Rivers No. 72\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Lake of the Rivers No. 72\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.29082562677216,49.916484595381846],[-107.31359896597827,49.902264301482376],[-107.29034778757699,49.902287900701886],[-107.29082562677216,49.916484595381846]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.29825746010914,\"lat\":49.90701226585537},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4703\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4703062\"],\"csd_name_en\":[\"Vanguard\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Vanguard\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.41107363424703,49.65983828824209],[-108.43304244831285,49.65470521240074],[-108.43318014188283,49.63665000640452],[-108.39892090252118,49.64016570631763],[-108.39891314884657,49.66209825877875],[-108.41107363424703,49.65983828824209]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.41544798459051,\"lat\":49.64858268547629},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4704\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"4704036\"],\"csd_name_en\":[\"Shaunavon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Shaunavon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.05137281282026,49.9607676942401],[-108.34808294750219,49.96016454275058],[-108.46205570900376,49.96045188646722],[-108.46208054685974,49.872275992126454],[-108.44400199135106,49.873192690549054],[-108.44410028375995,49.78588149561958],[-108.44413250688001,49.69838789963613],[-108.03694412121033,49.69837988639555],[-108.0373210994097,49.78572409336719],[-108.03736001545771,49.87312440707054],[-108.05231139411471,49.87310098784978],[-108.05137281282026,49.9607676942401]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.24606876998645,\"lat\":49.82963926828571},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4704\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"4704058\"],\"csd_name_en\":[\"Bone Creek No. 108\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Bone Creek No. 108\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.6431908934244,50.09086488846991],[-102.62042405561401,50.090871404167764],[-102.62041668648102,50.10540619490758],[-102.64316239198516,50.105888388523816],[-102.6431908934244,50.09086488846991]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.63186124351068,\"lat\":50.09825726310745},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705016\"],\"csd_name_en\":[\"Kipling\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Kipling\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.24470500908734,50.30944010108018],[-103.24345529857958,50.22209448850009],[-103.23494640176472,50.20573940920094],[-103.23381729533358,50.047269514453276],[-102.82527501084357,50.04720700428532],[-102.82524675508448,50.10446422286161],[-102.84857961792089,50.105488600702834],[-102.84848997766252,50.11198665255519],[-102.82525502355418,50.11246466897111],[-102.82532011644149,50.22180959634521],[-102.8312227143018,50.221803089195646],[-102.83115490137064,50.30946530811017],[-102.96854750202597,50.309474585982905],[-103.24470500908734,50.30944010108018]],[[-103.14331119969015,50.194749505501335],[-103.13258106787187,50.20017655154163],[-103.13260405135127,50.18558453588016],[-103.14337544326007,50.18572277098754],[-103.14331119969015,50.194749505501335]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.03277139007778,\"lat\":50.17876874337147},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705018\"],\"csd_name_en\":[\"Chester No. 125\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Chester No. 125\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.17687360875411,51.05581489322398],[-103.1765660081771,51.070742921199354],[-103.20000630925122,51.07044359763101],[-103.19999146990733,51.0560041503556],[-103.17687360875411,51.05581489322398]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.18829473357616,\"lat\":51.063268236114205},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705069\"],\"csd_name_en\":[\"Goodeve\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Goodeve\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.25742008945566,50.63769011014923],[-104.25850386547012,50.629967025653954],[-104.24685257686812,50.62995998981241],[-104.24685929777776,50.637505404742726],[-104.25742008945566,50.63769011014923]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.25243597693611,\"lat\":50.633719116804734},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706033\"],\"csd_name_en\":[\"Edenwold\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Edenwold\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.59995819336449,50.65980404672016],[-103.60048752968204,50.67548692501814],[-103.61669588392043,50.70365063416812],[-103.62799035990032,50.70296485338157],[-103.60217836966315,50.66878395331036],[-103.60430431619118,50.66235738721439],[-103.62317217513237,50.66085925724211],[-103.6418156475391,50.679795285958726],[-103.64426948895901,50.67980136476425],[-103.63179500324499,50.66757449846466],[-103.63340705037227,50.65858674356253],[-103.59995819336449,50.65980404672016]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.61572127774426,\"lat\":50.67983807536262},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706050\"],\"csd_name_en\":[\"Katepwa\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Resort village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Katepwa\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.58727274826606,50.39661322336312],[-103.58699414325241,50.29452345759274],[-103.3810685960528,50.29498457449885],[-103.38101709499257,50.309072961204826],[-103.3809882986174,50.39688079608556],[-103.58727274826606,50.39661322336312]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.48410356743985,\"lat\":50.34576406131597},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706810\"],\"csd_name_en\":[\"Assiniboine 76\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Assiniboine 76\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.28419576929417,50.945251191931426],[-103.26973792032425,50.953788189315475],[-103.26997889172421,50.97818485285037],[-103.48896299124985,50.9773235008394],[-103.49010510909447,50.945199981437824],[-103.28419576929417,50.945251191931426]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.38013654204657,\"lat\":50.9615906524872},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706818\"],\"csd_name_en\":[\"Star Blanket 83\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Star Blanket 83\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.67878880312071,50.50589189355378],[-103.70158300113258,50.513170808277444],[-103.70159797670651,50.49826010939162],[-103.67878880312071,50.50589189355378]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.6939899269866,\"lat\":50.505774270407606},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706831\"],\"csd_name_en\":[\"Carry the Kettle 76-110\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Carry the Kettle 76-110\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.71796221521858,50.30943040922204],[-106.00481872863367,50.309320059215],[-106.00467386380166,50.047271853760144],[-106.00467409388946,50.04722372867527],[-106.00006139195104,50.046029828842414],[-105.79734204921274,50.0473887248407],[-105.6923378286493,50.046736173639545],[-105.69069190624093,50.161152889816236],[-105.69172878626405,50.221932014209706],[-105.71805294563244,50.22186598777618],[-105.71796221521858,50.30943040922204]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.85234022057335,\"lat\":50.17559563961671},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707004\"],\"csd_name_en\":[\"Hillsborough No. 132\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Hillsborough No. 132\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.3898011801613,50.879482308972776],[-107.37736361920959,50.87483764211419],[-107.3778478386014,50.88500528899626],[-107.3898011801613,50.879482308972776]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.38167087932409,\"lat\":50.87977508002774},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707062\"],\"csd_name_en\":[\"Beechy\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Beechy\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.29405599391983,50.8700408858819],[-106.28166886214967,50.87004025658518],[-106.28162501467915,50.877599092746],[-106.29449575376374,50.87763789384017],[-106.29405599391983,50.8700408858819]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.28796723316528,\"lat\":50.87385367365398},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707077\"],\"csd_name_en\":[\"Tugaske\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Tugaske\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.74450588543618,50.57209120354481],[-110.00425990929932,50.57215524514056],[-110.00492818842156,50.33900215313247],[-110.00798804398725,50.28121107807838],[-110.00753258553439,50.222509637763466],[-110.00466229029878,50.134773831948706],[-109.85716879110511,50.134375187006974],[-109.72399999726012,50.13632889339111],[-109.69164218090674,50.13546518988501],[-109.69096689905125,50.22271939031229],[-109.71730800820852,50.22273439912307],[-109.71723597523687,50.31003354132532],[-109.717183897515,50.572076956745065],[-109.74450588543618,50.57209120354481]],[[-109.75927025974569,50.45783854484831],[-109.75044036609765,50.457668909697034],[-109.75040976620551,50.453195506287024],[-109.76309134421595,50.451644104318866],[-109.75927025974569,50.45783854484831]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.85877403506586,\"lat\":50.35007298000466},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4708\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4708021\"],\"csd_name_en\":[\"Enterprise No. 142\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Enterprise No. 142\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.231273907995,50.52782838997379],[-108.22741047962805,50.535744518467794],[-108.23854416724053,50.535285061858865],[-108.231273907995,50.52782838997379]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.23240951828788,\"lat\":50.53295265676682},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4708\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4708034\"],\"csd_name_en\":[\"Pennant\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Pennant\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.81838320300952,51.00939776279971],[-107.87756436429638,51.00886763587745],[-108.07399480814941,51.0088566074253],[-108.08316660589466,51.01171516123032],[-108.0760472900714,51.04826364290263],[-108.09629369350489,51.07279225989302],[-108.09818624543738,51.09655341637175],[-108.35272807498262,51.09645520013257],[-108.51565878394972,51.09620510638226],[-108.51612394318192,50.92040430381586],[-108.49690811771431,50.90825130090152],[-108.47660116229301,50.898797831765954],[-108.46029353533996,50.879553363659866],[-108.46294653333206,50.870058166119136],[-108.45381109177407,50.84886150373442],[-108.45224787701437,50.82019240032487],[-108.43795637671938,50.794052959669855],[-108.3821888285988,50.77025364690893],[-108.35397519509178,50.74641235256004],[-108.33702842493967,50.72801076829076],[-108.32542673610261,50.70001535846189],[-108.23959631282086,50.66506385362778],[-108.21769571113464,50.66179214504223],[-108.16658880708403,50.67380959116356],[-108.11819270670024,50.674012786378945],[-108.08210006316996,50.679394708463796],[-108.04165399928836,50.67232032096102],[-108.01043061412015,50.65415222677599],[-107.99283623343648,50.65099221434563],[-107.96055117540655,50.65373100460355],[-107.93240644007832,50.677530620335546],[-107.90872443789436,50.68787734608308],[-107.8323517155578,50.68479342993838],[-107.80521345030374,50.679132579867925],[-107.8050132175048,50.88614421966673],[-107.80573306075556,50.92155303779193],[-107.81836339741915,50.92166414199825],[-107.81838320300952,51.00939776279971]],[[-108.04703537626303,50.835717724390484],[-108.03037474084415,50.83424036826736],[-108.03891293078718,50.82689733583619],[-108.04703537626303,50.835717724390484]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.15368937476408,\"lat\":50.881447245387136},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4708\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4708042\"],\"csd_name_en\":[\"Lacadena No. 228\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Lacadena No. 228\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.53974453476201,51.26549039302158],[-101.54992256448716,51.27869865436131],[-101.57875724690325,51.28878003434318],[-101.68840177767115,51.31465694488737],[-101.71341206943703,51.32684484696648],[-101.72334646314131,51.342209656902476],[-101.73151368550187,51.368996530986294],[-101.72981208420133,51.38094303721136],[-101.73904548479587,51.39001123709054],[-102.00706014897237,51.386925147447926],[-102.00612239468211,51.37221829943249],[-102.0061569298665,51.12176924556218],[-101.89064000487593,51.122718282153045],[-101.72663623721526,51.125286901945465],[-101.5390436916405,51.125060905248496],[-101.53974453476201,51.26549039302158]],[[-101.7524390882189,51.161232864935094],[-101.74314118907951,51.15632741017633],[-101.7559596623906,51.15389949563511],[-101.7524390882189,51.161232864935094]],[[-101.72076799923771,51.315727169970536],[-101.71213423890886,51.31581139322292],[-101.71197165998956,51.301560738418424],[-101.72317118472456,51.30150713102682],[-101.72076799923771,51.315727169970536]],[[-101.91127774949673,51.197208411763484],[-101.9142567941635,51.205211430275504],[-101.89079464126893,51.20599074407129],[-101.89090788421046,51.197656914390194],[-101.91127774949673,51.197208411763484]],[[-101.72665328879548,51.3014770102662],[-101.72670600700263,51.28663530858103],[-101.75014111160453,51.286365605765766],[-101.72665328879548,51.3014770102662]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.79595264112344,\"lat\":51.24286197868927},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709001\"],\"csd_name_en\":[\"Calder No. 241\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Calder No. 241\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.19475293165306,51.34756337766896],[-102.18308029544781,51.35022919522057],[-102.1826131147158,51.35756748279488],[-102.2008297986117,51.35758960554006],[-102.19475293165306,51.34756337766896]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.19086090623853,\"lat\":51.35346426671579},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709009\"],\"csd_name_en\":[\"Rhein\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Rhein\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.57062801181856,51.40494891045055],[-101.59415731827369,51.4050149009606],[-101.59416249789611,51.39787049069701],[-101.57060175490807,51.397807540249524],[-101.57062801181856,51.40494891045055]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.58238825327675,\"lat\":51.401409668078394},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709038\"],\"csd_name_en\":[\"Togo\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Togo\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.39172908383976,51.90239007781511],[-102.38454809274089,51.89678130627251],[-102.3717263259808,51.89655013119059],[-102.3718580827929,51.902819245690765],[-102.39172908383976,51.90239007781511]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.3799627136533,\"lat\":51.89986094174352},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709069\"],\"csd_name_en\":[\"Stenen\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Stenen\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.06856672905961,51.881862132719746],[-102.07757781251895,51.88914853068716],[-102.10127739096492,51.88188360412419],[-102.06856672905961,51.881862132719746]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.08247397751448,\"lat\":51.88429808917704},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709072\"],\"csd_name_en\":[\"Norquay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Norquay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.7237510914752,51.411297022017926],[-104.74157568328371,51.40691321926488],[-104.72396920313896,51.402256187256214],[-104.7237510914752,51.411297022017926]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.72976532596596,\"lat\":51.40682214284634},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710022\"],\"csd_name_en\":[\"Semans\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Semans\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.55778232778843,51.809602184345344],[-103.56545251117244,51.80882751092769],[-103.56545420410079,51.80702798092874],[-103.5569180424237,51.80609428076613],[-103.55778232778843,51.809602184345344]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.56096591656865,\"lat\":51.80786765644961},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710034\"],\"csd_name_en\":[\"Chorney Beach\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Resort village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Chorney Beach\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-103.94098312166693,51.35786073304448],[-103.94007630209468,51.364696465791035],[-103.9399513087136,51.37255519878954],[-103.95404102983413,51.37256194988152],[-103.96470577394155,51.37256574586267],[-103.9643068562216,51.36556091419357],[-103.95182613745871,51.35786279126165],[-103.94098312166693,51.35786073304448]]],[[[-103.93028603780465,51.35781429059131],[-103.91649050282987,51.35004347374668],[-103.91637508861066,51.37254629199441],[-103.9296024867953,51.372551967600195],[-103.92971898081127,51.36484421207098],[-103.93028603780465,51.35781429059131]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.93830688871512,\"lat\":51.364676349271846},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710850\"],\"csd_name_en\":[\"Muskowekwan 85-15\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Muskowekwan 85-15\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.43820910474439,51.13927914312861],[-105.43818521572858,51.14658992381236],[-105.45578080481839,51.14656237493155],[-105.4556184578795,51.135939683911786],[-105.43820910474439,51.13927914312861]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.44748967962751,\"lat\":51.14204757643012},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711009\"],\"csd_name_en\":[\"Liberty\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Liberty\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.59537538804658,51.32913641117464],[-106.59001532042302,51.336363405539174],[-106.60179038607623,51.33638123482892],[-106.59537538804658,51.32913641117464]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.59572703151525,\"lat\":51.333960350514246},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711022\"],\"csd_name_en\":[\"Strongfield\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Strongfield\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.76493041415551,52.09896244937721],[-105.75340064065715,52.10028928554919],[-105.7533231423506,52.114736454223305],[-105.76482611132026,52.11474059542872],[-105.76493041415551,52.09896244937721]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.75920454183786,\"lat\":52.10717528983581},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711078\"],\"csd_name_en\":[\"Meacham\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Meacham\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.43229469406462,52.143814692501074],[-105.71733288779723,52.143828105753414],[-105.7174366193173,51.969104509291505],[-105.68793008242886,51.96910970520783],[-105.68808435191943,51.88166080189393],[-105.68787107226176,51.75745507657183],[-105.66493665549396,51.75073587377254],[-105.59031277009706,51.75451153340683],[-105.56137498218334,51.75215642149126],[-105.50878595147327,51.72995030781171],[-105.43812013068676,51.72617103194711],[-105.40449844359209,51.72013038566407],[-105.40452746833957,51.8815003359275],[-105.40478751733,51.96902069712571],[-105.43229889724275,51.96896791255297],[-105.42944950755339,51.99828019870621],[-105.432323714003,52.02749940946439],[-105.43120196085317,52.056346460024734],[-105.43229469406462,52.143814692501074]],[[-105.45185554344746,51.90313939624787],[-105.45185902277484,51.91065900411626],[-105.44016325277748,51.910676681803096],[-105.4402305629313,51.90307419114292],[-105.45185554344746,51.90313939624787]],[[-105.65231806243729,51.95409228267014],[-105.64067764022525,51.95388873911531],[-105.64069869423804,51.93986719544977],[-105.65680650206302,51.94080724251236],[-105.65231806243729,51.95409228267014]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.55614627858179,\"lat\":51.94266250136003},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711091\"],\"csd_name_en\":[\"Viscount No. 341\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Viscount No. 341\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.95501038110413,52.14350049471222],[-108.95500761360725,52.12888819284066],[-108.94336134454144,52.128925805638765],[-108.94347890586329,52.143497800653925],[-108.95501038110413,52.14350049471222]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.94921716767507,\"lat\":52.13619100685975},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713039\"],\"csd_name_en\":[\"Tramping Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Tramping Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.72521431100246,53.51090429525642],[-103.72573115231793,53.524969236133806],[-103.7505327016965,53.525257276464],[-103.75117737871884,53.51103654512408],[-103.72521431100246,53.51090429525642]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.73818886673337,\"lat\":53.51798814530016},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714068\"],\"csd_name_en\":[\"Tobin Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Resort village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Tobin Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.0824616356987,53.44550588008138],[-104.08003165110755,53.45524062132394],[-104.09380704599558,53.45511716107211],[-104.0937828990239,53.44549138644247],[-104.0824616356987,53.44550588008138]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.08749097705133,\"lat\":53.45049582324904},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714079\"],\"csd_name_en\":[\"White Fox\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"White Fox\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.82497288431367,52.31939841333477],[-104.81491668175079,52.3174266125862],[-104.8129883613338,52.32577635296808],[-104.8247716954324,52.32590835320288],[-104.82497288431367,52.31939841333477]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.81915831258003,\"lat\":52.32218593553705},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715005\"],\"csd_name_en\":[\"Annaheim\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Annaheim\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.30811004628116,52.67599412917914],[-106.31919954183503,52.671088294352366],[-106.35174689549847,52.66767859340035],[-106.34607361028559,52.653335915163346],[-106.31573603124056,52.655019585800744],[-106.30811004628116,52.67599412917914]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.32986831681964,\"lat\":52.6628159869002},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715032\"],\"csd_name_en\":[\"Rosthern\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Rosthern\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.4423235461004,52.984714432457835],[-105.4252239603997,52.979978032566706],[-105.42764378919598,52.99174359999646],[-105.4423235461004,52.984714432457835]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.43173043189869,\"lat\":52.98547868834033},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715068\"],\"csd_name_en\":[\"Birch Hills\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Birch Hills\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.46873072766076,53.543417517787226],[-109.47925265514783,53.53342635270843],[-109.4459229849733,53.53538128845082],[-109.44561727639662,53.54673959856942],[-109.46873072766076,53.543417517787226]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.45952689344962,\"lat\":53.53943041046942},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717034\"],\"csd_name_en\":[\"Paradise Hill\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Paradise Hill\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.24547493217112,54.41409000548586],[-109.24044713303705,54.393861073599275],[-109.22662415523122,54.39364667141091],[-109.22908758489037,54.41280473165904],[-109.24547493217112,54.41409000548586]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.23551858383425,\"lat\":54.403862569095736},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717066\"],\"csd_name_en\":[\"Goodsoil\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Goodsoil\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.17242612335265,55.28553281764945],[-105.1717310800531,55.27825054779255],[-105.1665623518144,55.27906046917543],[-105.16497578873867,55.284496164465295],[-105.17242612335265,55.28553281764945]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.16905876615839,\"lat\":55.28203991966046},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718811\"],\"csd_name_en\":[\"Sucker River 156C (Nemebien River 156C)\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Sucker River 156C (Nemebien River 156C)\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.57829728050098,49.47981295538366],[-113.52492230556983,49.47995547248042],[-113.52457455400781,49.69840047270292],[-113.77267182029522,49.699112183632856],[-113.77299948677468,49.6252100516948],[-113.75038029622026,49.62521863333337],[-113.72777698725224,49.61105808315373],[-113.72801080983653,49.58032668128439],[-113.73677366767593,49.57311569176029],[-113.77316395818949,49.57493007726075],[-113.77284489040984,49.53907176461327],[-113.7958483488344,49.53907719131693],[-113.79583999163812,49.48040188885088],[-113.70558570553631,49.48081859523615],[-113.65829869080311,49.47913906547138],[-113.57829728050098,49.47981295538366]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.64811406365273,\"lat\":49.587027810724614},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4803\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4803801\"],\"csd_name_en\":[\"Piikani 147\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Piikani 147\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.67474211056305,51.03789240256814],[-112.67082586022534,51.04036672404289],[-112.67910490566203,51.045874123097654],[-112.68305100904007,51.03877870191193],[-112.67474211056305,51.03789240256814]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.67732620126645,\"lat\":51.04106141682893},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4805\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4805019\"],\"csd_name_en\":[\"Hussar\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Hussar\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.21750200590547,51.840550705695385],[-113.24113314188973,51.83479442559853],[-113.23985817779159,51.82268749218617],[-113.21754866512016,51.82082688280297],[-113.21750200590547,51.840550705695385]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.22811440080393,\"lat\":51.829884143721245},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4805\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4805049\"],\"csd_name_en\":[\"Trochu\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Trochu\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-110.96562721679221,52.5062971014939],[-110.96078340242785,52.51371423320488],[-110.97656127554265,52.513319180099025],[-110.9769601580085,52.50678966880164],[-110.96562721679221,52.5062971014939]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-110.96977067050202,\"lat\":52.51020552899867},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4807\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4807006\"],\"csd_name_en\":[\"Hughenden\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Hughenden\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.03857927635643,53.52611056664084],[-111.07256374900601,53.52624316717071],[-111.09812393794014,53.533733763154444],[-111.09832502192458,53.541104479507325],[-111.47661309762223,53.54144540753743],[-111.47659511395442,53.555853835939175],[-111.77116745239536,53.555850245587344],[-111.77137158929065,53.57052130965279],[-111.82051757566424,53.57058939060618],[-111.8205527842757,53.59970390033249],[-111.91880840388991,53.59971789707794],[-111.91872750586488,53.657948100299286],[-112.2135973081564,53.657776388155646],[-112.21358010873855,53.54139460969254],[-112.26271241739248,53.541541994851215],[-112.26337091212784,53.42521310636039],[-112.26351408276405,53.39603189214404],[-112.16464210929047,53.39601249985857],[-112.16464211142126,53.36697699960224],[-112.05070380726099,53.36695168548261],[-112.05073239993766,53.308847988360526],[-111.852517225623,53.30694550441928],[-111.63832690046549,53.30634913753176],[-111.638265368358,53.2338724963619],[-111.54064083805804,53.233853072990314],[-111.54066049448855,53.1904022890603],[-111.43106006646961,53.19026109589612],[-111.42940762687547,53.147080561716386],[-111.21077196236725,53.14657741221399],[-111.17519388496254,53.13222991241724],[-111.17522398184026,53.11742214017853],[-111.16132346876091,53.11740908957187],[-111.15063090867034,53.103184524550954],[-111.10214741686043,53.102909325294625],[-111.07764815061677,53.09620066313092],[-111.07760559766399,53.08872710556068],[-111.04087650210194,53.08869526085944],[-111.02961768900464,53.074073999813784],[-111.02887190491867,53.10283888740964],[-111.02937979926213,53.36555348669359],[-111.03873161739712,53.370377901562335],[-111.03857927635643,53.52611056664084]],[[-111.53047722593286,53.383755770136744],[-111.5169663571842,53.37475150403331],[-111.53127441953313,53.37522993855218],[-111.53047722593286,53.383755770136744]],[[-111.17856902329159,53.34357560148657],[-111.16834081067893,53.343225025308165],[-111.1684346489173,53.330208582664845],[-111.18747007471309,53.33279136079006],[-111.17856902329159,53.34357560148657]],[[-112.09357226690526,53.50946856975795],[-112.04163598850342,53.51243510348126],[-112.0294607638373,53.50527097873235],[-112.02946663602933,53.483131829589],[-112.07797136443637,53.48327938234627],[-112.07793820968335,53.49781811224594],[-112.11303749684451,53.49782250829209],[-112.1153795118474,53.512381087973736],[-112.09357226690526,53.50946856975795]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.5852580719882,\"lat\":53.40042709980652},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4810\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4810026\"],\"csd_name_en\":[\"Minburn County No. 27\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Minburn County No. 27\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-110.05427261247596,53.30712879403307],[-110.05424738278901,53.31438300654808],[-110.09110580665269,53.31440851251372],[-110.09105830360684,53.307091208698616],[-110.05427261247596,53.30712879403307]]],[[[-110.05427261247596,53.30712879403307],[-110.05426788069134,53.24891369986434],[-110.00545301022785,53.24890300798567],[-110.0054059069824,53.30713588647396],[-110.05427261247596,53.30712879403307]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-110.03354251894606,\"lat\":53.28084694976296},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4810\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4810039\"],\"csd_name_en\":[\"Lloydminster (Part)\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Lloydminster (Part)\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-110.33708910391097,53.50577150222467],[-110.3184899496026,53.511732442388194],[-110.33747438415648,53.526094608012386],[-110.33708910391097,53.50577150222467]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-110.33101781255668,\"lat\":53.51453285087508},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4810\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4810044\"],\"csd_name_en\":[\"Marwayne\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Marwayne\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.68757540030771,53.54382667113946],[-114.68983371662425,53.541176730917336],[-114.67705448873718,53.541413902461],[-114.67631079053106,53.542892128424576],[-114.68757540030771,53.54382667113946]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.68327818955291,\"lat\":53.54233483425623},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811039\"],\"csd_name_en\":[\"Betula Beach\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Betula Beach\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.55942673529633,54.75451096562697],[-113.53539099276448,54.75520100027359],[-113.54685660057253,54.766613359067314],[-113.55942673529633,54.75451096562697]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.5472247762111,\"lat\":54.758775108322624},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4813\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4813061\"],\"csd_name_en\":[\"Whispering Hills\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Whispering Hills\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.21219474709606,55.25998239489621],[-113.21212242435138,55.2720586027249],[-113.23741827876422,55.27132416594067],[-113.22438507799146,55.25733627862491],[-113.21219474709606,55.25998239489621]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.22222017182419,\"lat\":55.26581740590299},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817817\"],\"csd_name_en\":[\"Jean Baptiste Gambler 183\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Jean Baptiste Gambler 183\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-116.49154874991099,49.16284699391711],[-116.51738657344146,49.168391192489956],[-116.5407625792812,49.168777206134806],[-116.55899518378183,49.17549819060246],[-116.58139398434461,49.19021959292895],[-116.5820094823867,49.19601929735957],[-116.61824718732389,49.23972059353587],[-116.63287181127866,49.25395579265373],[-116.64913940100173,49.26107089550637],[-116.66436088427133,49.2843353925405],[-116.68804910558987,49.27749180101012],[-116.68461481142668,49.24938670485211],[-116.68880459745469,49.23595349323484],[-116.67914158599791,49.222539103974746],[-116.694607523927,49.21385281365378],[-116.72988181051373,49.20580634668798],[-116.7534176802383,49.204312284415565],[-116.77133827005467,49.194148871349775],[-116.80714164377885,49.18715589354057],[-116.8282587742419,49.17683268848176],[-116.8385249674453,49.17904829837829],[-116.87117813026515,49.20462928576366],[-116.90046618532934,49.19025079869104],[-116.93762626039474,49.18602095229384],[-116.95893541101856,49.1600339736091],[-116.99045594790968,49.16277953656894],[-117.03882676381255,49.156073794696105],[-117.02512579066219,49.14127283246314],[-117.02620092502347,49.1290411806884],[-117.04629238594862,49.11820069267075],[-117.04709032342355,49.104499600572325],[-117.05660750522878,49.09524684180699],[-117.04722600916365,49.077462030186396],[-117.05441428917045,49.06947948016994],[-117.03035940921359,49.05094104827086],[-117.00973124242618,49.057055064923325],[-116.99276705575942,49.05046358218062],[-116.95941647914833,49.05330983333239],[-116.96174047570894,49.05933989315418],[-116.92451254571353,49.06423869839881],[-116.9208041598554,49.05557827361364],[-116.89053216225938,49.042683123025284],[-116.88535519849468,49.02845858492575],[-116.89621578834198,49.010663872174646],[-116.91355060811951,49.00007813374363],[-116.50344205409462,49.000005605983205],[-116.51282824533156,49.02070702418977],[-116.53573695114945,49.028017838074355],[-116.51715446650577,49.03615948942998],[-116.52210403676806,49.04624895738682],[-116.54806692806721,49.04743244646491],[-116.52449935416635,49.06949108487828],[-116.52245508294689,49.08206340136556],[-116.49906890308446,49.06981247728867],[-116.48921039691534,49.08253544006125],[-116.51242853641975,49.088242750415816],[-116.52341601383625,49.099069670871444],[-116.53365961845088,49.11978159338205],[-116.51758745085391,49.11859506666503],[-116.5072747485542,49.13102742683858],[-116.49419868734421,49.13116266328923],[-116.49154874991099,49.16284699391711]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-116.74890576687025,\"lat\":49.10770905013993},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5903\"],\"cd_name_en\":[\"Central Kootenay\"],\"csd_code\":[\"5903017\"],\"csd_name_en\":[\"Central Kootenay C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Central Kootenay\",\"csd_name_fr\":\"Central Kootenay C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.83885336369805,49.183922614948855],[-121.83865568988452,49.17587645911497],[-121.83022615960807,49.170587670479215],[-121.82722513168395,49.18388811691316],[-121.83885336369805,49.183922614948855]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.83325005315058,\"lat\":49.17866115147553},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909838\"],\"csd_name_en\":[\"Schelowat 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Schelowat 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.98482738260826,49.15916572673516],[-121.9813125835805,49.149814506111724],[-121.97446942384032,49.15517246833917],[-121.97916588632232,49.15900819679242],[-121.98482738260826,49.15916572673516]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.98005852719072,\"lat\":49.15533685959814},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909885\"],\"csd_name_en\":[\"Squiaala\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Squiaala\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.57483070104205,48.42590420092464],[-123.64559248170444,48.42435512747537],[-123.6446009402808,48.41068271452268],[-123.59682977711695,48.3872501702347],[-123.6098238127704,48.37082239228125],[-123.60198638519643,48.36090415301579],[-123.60307392319721,48.359478847314186],[-123.61328471480094,48.345972404135395],[-123.58870541560039,48.342426797182576],[-123.60276952724197,48.31897066873251],[-123.59148984798821,48.308588165988596],[-123.54509827173904,48.307043861433925],[-123.53301660993002,48.31440318692309],[-123.53710077220626,48.327556346503755],[-123.523780230987,48.340054718031595],[-123.53650936736366,48.3473938722579],[-123.5318709030749,48.35935622033608],[-123.50979532902387,48.381601171438994],[-123.47292706227778,48.38470901517225],[-123.4814309831388,48.39934642494329],[-123.51802790584944,48.40275550056502],[-123.55641745075373,48.410674022513135],[-123.57483070104205,48.42590420092464]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.56632423996801,\"lat\":48.37255601108015},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5917\"],\"cd_name_en\":[\"Capital\"],\"csd_code\":[\"5917042\"],\"csd_name_en\":[\"Metchosin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Capital\",\"csd_name_fr\":\"Metchosin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.58870541560039,48.342426797182576],[-123.61328471480094,48.345972404135395],[-123.60781755907801,48.333994662864015],[-123.58870541560039,48.342426797182576]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.60326922982645,\"lat\":48.340797954727336},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5917\"],\"cd_name_en\":[\"Capital\"],\"csd_code\":[\"5917809\"],\"csd_name_en\":[\"Becher Bay 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Capital\",\"csd_name_fr\":\"Becher Bay 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.82692797220713,49.26949389167436],[-124.85311892213697,49.26924810699944],[-124.84111060230398,49.26437677682655],[-124.81696805726769,49.24230889450055],[-124.81645666500961,49.2311876415613],[-124.811355984366,49.21836313029666],[-124.8051247336859,49.21093276763819],[-124.78346490066085,49.215434844594554],[-124.78065292320602,49.245362760165946],[-124.78290057999286,49.27068144886955],[-124.79995027476124,49.27445513877091],[-124.8256012069239,49.26946492123957],[-124.82261385029587,49.260175391790966],[-124.82845012126927,49.26120130286202],[-124.82692797220713,49.26949389167436]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.80371856907084,\"lat\":49.246713030768205},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5923\"],\"cd_name_en\":[\"Alberni-Clayoquot\"],\"csd_code\":[\"5923008\"],\"csd_name_en\":[\"Port Alberni\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Alberni-Clayoquot\",\"csd_name_fr\":\"Port Alberni\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.88213320670494,49.293710905881014],[-124.88912895672688,49.29753172854176],[-124.90562697657786,49.297335725455554],[-124.90521011650604,49.29011945951057],[-124.88213320670494,49.293710905881014]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.89617140603303,\"lat\":49.29440667568447},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5923\"],\"cd_name_en\":[\"Alberni-Clayoquot\"],\"csd_code\":[\"5923822\"],\"csd_name_en\":[\"Klehkoot 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Alberni-Clayoquot\",\"csd_name_fr\":\"Klehkoot 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-126.61626116262782,49.59088937205318],[-126.61993934351743,49.59549956746149],[-126.63715638944765,49.59882720700165],[-126.63720414904171,49.59275861341516],[-126.62775013981651,49.5936722560784],[-126.61626116262782,49.59088937205318]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-126.62848704135033,\"lat\":49.59494933569635},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5924\"],\"cd_name_en\":[\"Strathcona\"],\"csd_code\":[\"5924814\"],\"csd_name_en\":[\"Yuquot 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Strathcona\",\"csd_name_fr\":\"Yuquot 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.51372304109779,49.41421686604249],[-123.52073501656955,49.392250721685436],[-123.51102009458621,49.385592794518246],[-123.4993097393617,49.39070585779406],[-123.50109923379381,49.40571508428272],[-123.50124380186104,49.408098570808654],[-123.51372304109779,49.41421686604249]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.50950042226388,\"lat\":49.39888678242973},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5929\"],\"cd_name_en\":[\"Sunshine Coast\"],\"csd_code\":[\"5929005\"],\"csd_name_en\":[\"Gibsons\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Sunshine Coast\",\"csd_name_fr\":\"Gibsons\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.01735066197583,50.548519972937385],[-121.0265378266268,50.533198384891406],[-121.05030923586533,50.53288914128745],[-121.05080137062043,50.56366684866216],[-121.09709471935463,50.56397538555935],[-121.09629071051755,50.57935065556862],[-121.1285554731367,50.58075130043723],[-121.20935728875446,50.57800399565429],[-121.20809862374598,50.568925900401005],[-121.24950222317743,50.56291910499906],[-121.28476418275332,50.56182990918388],[-121.29678134622704,50.55550207142965],[-121.28795021375252,50.54486042416613],[-121.23446855493239,50.54958252833269],[-121.23481790237206,50.53420186218583],[-121.13835282222851,50.53498253289934],[-121.13805066677844,50.520180999219804],[-121.11972724074326,50.52014391000317],[-121.11930095467629,50.49128075253459],[-121.1387316504382,50.49094555070621],[-121.14080765074553,50.43250986829652],[-121.07136929820467,50.43174247677282],[-121.07338678353318,50.388537844398776],[-120.95833601371889,50.38791051750289],[-120.95741346184623,50.416834527879715],[-120.93492854673651,50.41659569332865],[-120.89047061067073,50.41621865558551],[-120.888214173114,50.45961179309036],[-120.86369905864476,50.45937445811024],[-120.86264569374578,50.47496804448968],[-120.79978821837318,50.47422537311355],[-120.78113464538744,50.48345577017479],[-120.78430848100233,50.50388764347837],[-120.84345095427946,50.504465739232415],[-120.9128979455363,50.50319065457248],[-120.91292807877599,50.518309472767164],[-120.93584937783405,50.51812104927387],[-120.93587070872998,50.503322568443714],[-120.95842863756997,50.50350886667647],[-120.95955681457085,50.5479897963354],[-121.01735066197583,50.548519972937385]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.02766320632652,\"lat\":50.4864108137664},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933035\"],\"csd_name_en\":[\"Logan Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Logan Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.60538801587671,50.86634146063707],[-119.60996142557744,50.87006325025438],[-119.64449960100727,50.84816696235898],[-119.68991719821457,50.83064591863978],[-119.6718313513601,50.829304866476924],[-119.67317360538101,50.81919679101711],[-119.69448343501449,50.81589883750295],[-119.70926818319866,50.82114535109899],[-119.72117321354078,50.805494903136974],[-119.71346261541736,50.7947298003234],[-119.71642498797507,50.7858380009823],[-119.69588540440384,50.77296539132658],[-119.74403029463265,50.73049690984747],[-119.7632200885262,50.73916140943444],[-119.76892542210523,50.7263175136917],[-119.7913871637658,50.71387200192674],[-119.80529231883801,50.6999536941561],[-119.83966522487086,50.67356055214155],[-119.854669919977,50.67214055031157],[-119.89203481876255,50.65181567279568],[-119.91499671005435,50.64515326348166],[-119.95518073070001,50.65292086353276],[-119.99801961052067,50.64814545953516],[-120.0291780074087,50.65892949434624],[-120.04199037752775,50.65818407519424],[-120.04180636659794,50.648894683235895],[-120.08003373075319,50.64865034817756],[-120.08157116074018,50.61934607943328],[-120.2407425300772,50.61915157858608],[-120.30341149534658,50.61736019450353],[-120.35791164339975,50.618268969642116],[-120.35719054458808,50.57512297434233],[-120.33987025544087,50.57495307458815],[-120.33895024272013,50.50264799840956],[-120.34219628607839,50.43149722895569],[-120.3409211085578,50.38585948668081],[-120.22575087283334,50.385838374969374],[-120.22495519483472,50.37140411076484],[-120.09062125665811,50.37110658669826],[-120.09182937672911,50.357835248203195],[-119.94683382388462,50.358861942273656],[-119.78935104597167,50.35786716670029],[-119.78872819081158,50.372106787408974],[-119.72042142607233,50.372659650826634],[-119.71578034260834,50.387360606207174],[-119.6744195063079,50.387364236253966],[-119.674162873873,50.40201812760574],[-119.65139328119909,50.40205146558443],[-119.65150924325592,50.56897795219864],[-119.62882624392778,50.57611119197024],[-119.52549805361696,50.57656516083],[-119.52473385603027,50.74459590282901],[-119.52466515425412,50.75094513484523],[-119.46209787253659,50.7505814943547],[-119.46079738660987,50.83838732789521],[-119.51647721056837,50.83861348937051],[-119.51681660932893,50.86734923056418],[-119.57436667603086,50.8669406547723],[-119.57519602678454,50.8602690868313],[-119.60226573806622,50.853883460148836],[-119.60845245452818,50.84626844825896],[-119.61862291426208,50.84671713189246],[-119.60513459153961,50.85393492096201],[-119.60410284063958,50.864697968284055],[-119.60538801587671,50.86634146063707]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.8955032495236,\"lat\":50.55987819161887},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933060\"],\"csd_name_en\":[\"Thompson-Nicola L (Grasslands)\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Thompson-Nicola L (Grasslands)\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.5442337906107,51.66958069676481],[-120.55841504442225,51.66454835674849],[-120.56042770474585,51.661258833806706],[-120.56146176877152,51.59415364581793],[-120.55767132673571,51.4669099583916],[-120.56072881186645,51.43461791161262],[-120.55760814061107,51.38024442671339],[-120.55800675059865,51.31293612800686],[-120.5608807504772,51.2497217013175],[-120.55777392969058,51.193571031415274],[-120.55730203582421,51.08872382494201],[-120.34498405723147,51.09197580567537],[-120.22059476446849,51.09420906194166],[-120.17343186891426,51.09360933655211],[-120.1699273955792,51.100550100044956],[-120.1351155162026,51.102104457837555],[-120.13569835961907,51.0684787726165],[-120.1110072909168,51.06777032928585],[-120.11476046961579,51.04146615735182],[-120.11418639437898,51.011403850092265],[-120.09542328609926,51.011408909042316],[-120.09601664477599,50.92504244967237],[-119.92154990607571,50.92464755153206],[-119.8043607496601,50.924590619456716],[-119.80401486354242,50.98402291623459],[-119.70453126624193,50.98370475601514],[-119.6059867421596,50.98478267416602],[-119.536918404455,50.98359434586235],[-119.53774483760012,51.00008958999214],[-119.54807206314442,51.01103044779492],[-119.52169110722421,51.032646426296445],[-119.50713150984751,51.06665214955037],[-119.52569883935175,51.10664693173659],[-119.50865590516553,51.118573640989915],[-119.5094536744199,51.143205971742134],[-119.48393414795052,51.17372818304496],[-119.47399223566961,51.17909684192297],[-119.43965648890668,51.18228344660909],[-119.44548554580543,51.21404491741168],[-119.44069469321866,51.221772775535975],[-119.3866653298869,51.24126817027341],[-119.3708816411726,51.25549364424913],[-119.32415819271532,51.25321936037944],[-119.29399449073557,51.24634292622944],[-119.27498179868856,51.257225057536715],[-119.23722320792575,51.268109228029275],[-119.22451956195395,51.27989674807288],[-119.22098710116555,51.311124603392926],[-119.19242495283454,51.31760557657068],[-119.18704895813184,51.35449509980522],[-119.15431491038238,51.35866205905208],[-119.10902823393536,51.37616516711181],[-119.09152794655004,51.3950262688695],[-119.07615770525054,51.38939251470571],[-119.05878826370471,51.39501142599631],[-119.02902696490762,51.42290157536584],[-119.00029405336143,51.43060170795697],[-118.9534538741414,51.46131035394043],[-118.95222012293246,51.47149514488682],[-118.96470404721526,51.490641247739276],[-118.95019426570818,51.507398369566864],[-118.96477897686509,51.529114149103016],[-118.98368790541764,51.54235816003254],[-118.98123318455714,51.55354653758011],[-118.96613091424219,51.574958760670555],[-118.97292717204185,51.59544816977841],[-118.96055967831114,51.60952164797827],[-118.98317639258845,51.63523266911827],[-118.97798879549991,51.64407000227665],[-119.2775908591573,51.64812432074224],[-119.28717806038509,51.63847098815173],[-119.30510373260645,51.63368656307388],[-119.32478476161597,51.606596043047475],[-119.33022996454979,51.59006560983373],[-119.39106418132214,51.576204946720324],[-119.41889638491786,51.58054337868553],[-119.45544849310146,51.5674310504357],[-119.4706896352821,51.56806464219006],[-119.47818094856282,51.58187292110426],[-119.50036851366042,51.60255798713329],[-119.54377967751277,51.599725780902624],[-119.56054304496709,51.57567439871389],[-119.58306286818666,51.56752789311936],[-119.59493491318527,51.55333053425903],[-119.59783099411726,51.52394512996789],[-119.611134904909,51.509303337602766],[-119.65893688293353,51.503835875553335],[-119.64615371636245,51.48272970668416],[-119.70011546393563,51.48226382206402],[-119.99973353630143,51.480402834338776],[-120.11429905383758,51.47849600207823],[-120.14978517422095,51.47912212697771],[-120.16844491001459,51.47142442869895],[-120.19859489528433,51.47194080204724],[-120.20487695437697,51.493639293682676],[-120.19624553087476,51.51823030855311],[-120.20280485160539,51.5307088706853],[-120.18589262778612,51.55286812359898],[-120.20223549697519,51.57575248324382],[-120.23544110339806,51.585571705758866],[-120.24097700762249,51.606047904509445],[-120.26096132827266,51.63259426947648],[-120.28864354815445,51.64722432231977],[-120.29177075134967,51.631547218623],[-120.32165507527291,51.636948342632735],[-120.33006080010283,51.65359991133295],[-120.3487296292371,51.664152753347906],[-120.36179269228282,51.66202460961668],[-120.40202220677831,51.66869922249729],[-120.41833466381487,51.67550607285164],[-120.45272024141876,51.67383237171583],[-120.48432170524148,51.665857303668346],[-120.49392033031545,51.659725318262815],[-120.5128133249772,51.67145871548047],[-120.5442337906107,51.66958069676481]],[[-120.20035610456351,51.42165408798692],[-120.19932292210129,51.42295142511103],[-120.1982107632242,51.42259753417412],[-120.19868017348152,51.42109635365863],[-120.20035610456351,51.42165408798692]],[[-120.1266640439186,51.134852175407076],[-120.12463462512396,51.13526063008106],[-120.12497785512748,51.1332607376815],[-120.12781847419669,51.13397607756493],[-120.1266640439186,51.134852175407076]],[[-119.78598648681593,51.07917987525417],[-119.77371569869699,51.080524936987786],[-119.77615740989218,51.075855569776365],[-119.78598648681593,51.07917987525417]],[[-120.1191054923505,51.14716559937517],[-120.13148620076005,51.15590169938961],[-120.13207280916627,51.16915540976879],[-120.14913919572284,51.178335896999585],[-120.14073956331063,51.200278831760436],[-120.11634632339667,51.19768703964487],[-120.11463364197797,51.15926538248033],[-120.1191054923505,51.14716559937517]],[[-120.15976853549104,51.339547868011],[-120.15246539824076,51.3400054279906],[-120.15238812263514,51.30459778797997],[-120.14387884679402,51.269580432771356],[-120.14390235965482,51.24306319806318],[-120.15822701328631,51.2416353856328],[-120.1730975055815,51.25406256265205],[-120.1579019115688,51.265244061596235],[-120.15422333073347,51.27607376780567],[-120.17039632608784,51.2931414646135],[-120.15662402042105,51.29732297722816],[-120.15312811606394,51.312537771611105],[-120.16928821204927,51.32256275780476],[-120.15976853549104,51.339547868011]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.85441792048026,\"lat\":51.32378771693405},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933072\"],\"csd_name_en\":[\"Thompson-Nicola O (Lower North Thompson)\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Thompson-Nicola O (Lower North Thompson)\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.83569971427463,50.1231718472965],[-120.82388150358327,50.12912639464776],[-120.81452985850407,50.148444390236406],[-120.81660989609053,50.249285103952595],[-120.82515808172924,50.24383762692492],[-120.85093083817964,50.243428278999666],[-120.86574022071679,50.235942932751435],[-120.86581965277186,50.21008439790912],[-120.87148386128611,50.192234989678326],[-120.8696759746277,50.16001119329279],[-120.86430275600996,50.13737119114109],[-120.85878091964399,50.125382821109014],[-120.83569971427463,50.1231718472965]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-120.84163794946281,\"lat\":50.18494889476899},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933807\"],\"csd_name_en\":[\"Nicola Mameet 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Nicola Mameet 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.54612397107546,50.05691342931653],[-121.54454125271536,50.05473297997639],[-121.54408223561826,50.05489517327362],[-121.54528653176129,50.05705104729199],[-121.54612397107546,50.05691342931653]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.54506748525532,\"lat\":50.055985591182285},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933897\"],\"csd_name_en\":[\"Boothroyd 8A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Boothroyd 8A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.52784973853977,53.166716648879984],[-121.56684151569353,53.16592479305687],[-121.64725755536396,53.157847871243426],[-121.70888520443242,53.156008616184586],[-121.7401870837664,53.11891781158417],[-121.7718344829341,53.08983241122982],[-121.7534736508607,53.092883934449105],[-121.74246048981686,53.08065918591124],[-121.7274051606807,53.081196857291886],[-121.71004730208645,53.067084824608045],[-121.68399414544949,53.065434089351264],[-121.67076041265004,53.055027803157955],[-121.65427788049821,53.05642807335949],[-121.62796926515493,53.049147616411354],[-121.62541569874186,53.03605373658503],[-121.61365652156668,53.03308500482008],[-121.56704267210232,53.06457231924577],[-121.5624456491225,53.08078902353463],[-121.54365631981487,53.08118943737277],[-121.53034737651932,53.09495702828832],[-121.5094359862627,53.0930881020607],[-121.52784973853977,53.166716648879984]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.62842937521545,\"lat\":53.10920528910712},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941025\"],\"csd_name_en\":[\"Wells\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Wells\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.4762150495983,51.79713096373178],[-121.47624847783607,51.79432883397342],[-121.46972601997972,51.79462952203592],[-121.47158221064426,51.79645846404491],[-121.4762150495983,51.79713096373178]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.47362234044805,\"lat\":51.79556430175224},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941803\"],\"csd_name_en\":[\"Canim Lake 4\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Canim Lake 4\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-127.14747384388134,50.59137395521977],[-127.1438484604571,50.61013227147488],[-127.1684716735132,50.616270414095915],[-127.17318933759186,50.57898741648539],[-127.15030029324635,50.57673815006995],[-127.14747384388134,50.59137395521977]]],[[[-127.11151208832088,50.59394836915042],[-127.12368641128086,50.59029156376611],[-127.12442415730246,50.57306133080518],[-127.10126294417412,50.57198491065656],[-127.09126551992425,50.57824524003971],[-127.04727888760851,50.57851773109149],[-127.04186515702152,50.591478870300136],[-127.08662813759128,50.59498363825886],[-127.11151208832088,50.59394836915042]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-127.11526231887515,\"lat\":50.589051961069515},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5943\"],\"cd_name_en\":[\"Mount Waddington\"],\"csd_code\":[\"5943012\"],\"csd_name_en\":[\"Port McNeill\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Mount Waddington\",\"csd_name_fr\":\"Port McNeill\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-132.14128910198707,53.99998340433455],[-132.12988714413697,53.98614789189816],[-132.13232469363797,53.99999596188647],[-132.14128910198707,53.99998340433455]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-132.134500313254,\"lat\":53.9953757527064},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5947\"],\"cd_name_en\":[\"Skeena-Queen Charlotte\"],\"csd_code\":[\"5947823\"],\"csd_name_en\":[\"Tlaa Gaa Aawtlaas 28\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Skeena-Queen Charlotte\",\"csd_name_fr\":\"Tlaa Gaa Aawtlaas 28\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.40508365208976,54.427649672338866],[-124.40584996972109,54.41626796817605],[-124.38599167543447,54.416231817559726],[-124.40508365208976,54.427649672338866]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.3989750990818,\"lat\":54.420049819358205},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951804\"],\"csd_name_en\":[\"Sowchea 3\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Sowchea 3\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-126.63023604165956,55.316861856256416],[-126.63283053328584,55.3306449099475],[-126.6583945791662,55.33131342307664],[-126.65904160265774,55.31760017376107],[-126.63023604165956,55.316861856256416]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-126.64511833337401,\"lat\":55.323968498023696},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951831\"],\"csd_name_en\":[\"Babine 16\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Babine 16\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.88527296342006,62.857867485505686],[-69.88371661452025,62.83759824042127],[-69.85912995910533,62.83866654722936],[-69.86138656748729,62.85895902664975],[-69.88527296342006,62.857867485505686]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.87236657072029,\"lat\":62.84822459004961},\"year\":\"2021\",\"prov_code\":[\"62\"],\"prov_name_en\":[\"Nunavut\"],\"cd_code\":[\"6204\"],\"cd_name_en\":[\"Qikiqtaaluk\"],\"csd_code\":[\"6204005\"],\"csd_name_en\":[\"Kimmirut\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Hamlet\",\"prov_name_fr\":\"Nunavut\",\"cd_name_fr\":\"Qikiqtaaluk\",\"csd_name_fr\":\"Kimmirut\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.22383109656158,45.04098635808636],[-64.23633658118844,45.050155265259114],[-64.25142228533429,45.03968594605848],[-64.23250258888201,45.0353709383079],[-64.22864065672383,45.037749320253106],[-64.22579866571564,45.03975285842213],[-64.22383109656158,45.04098635808636]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.23674161290732,\"lat\":45.04188719215853},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1207\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1207027\"],\"csd_name_en\":[\"Glooscap 35\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Glooscap 35\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.25064126287899,45.86197107922945],[-66.28265570464826,45.87171803440818],[-66.29604288238274,45.88646095251645],[-66.3096701828081,45.89038825376892],[-66.34358049714983,45.88705933057366],[-66.40410503701908,45.87302630008397],[-66.43185929348199,45.87461709499133],[-66.4636453019178,45.857298740061516],[-66.47429442842957,45.85745800723722],[-66.47514717698171,45.85496633712672],[-66.46773371141613,45.85528868770932],[-66.46162963021754,45.856433485724565],[-66.44074984345616,45.85854483464595],[-66.4399703139667,45.82707228827607],[-66.457339000972,45.82967699967504],[-66.46346203191678,45.822609068326294],[-66.48116278243599,45.830309868855046],[-66.48901059899543,45.82175795791644],[-66.47159040478348,45.81585481812494],[-66.47282787446649,45.81181003532869],[-66.4922821454995,45.81799194459367],[-66.49796362895316,45.81135341048406],[-66.52959308583704,45.82543730235749],[-66.5365351988936,45.81815633091756],[-66.53339899455894,45.80158883635775],[-66.55002300868718,45.79353486578361],[-66.55496707398956,45.75689397081522],[-66.54822352625182,45.73545991099818],[-66.50399213141282,45.73006356672042],[-66.37466852046632,45.717481620732826],[-66.25171855583429,45.86061466415775],[-66.25064126287899,45.86197107922945]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.40698412034841,\"lat\":45.80091355719909},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1303\"],\"cd_name_en\":[\"Sunbury\"],\"csd_code\":[\"1303011\"],\"csd_name_en\":[\"Burton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Sunbury\",\"csd_name_fr\":\"Burton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.71883964717759,45.75003752299465],[-64.72181212975032,45.75891837109756],[-64.75030382950358,45.75059319882577],[-64.744298073333,45.740848899145064],[-64.71883964717759,45.75003752299465]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.73423055234439,\"lat\":45.750039374634646},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1306\"],\"cd_name_en\":[\"Albert\"],\"csd_code\":[\"1306003\"],\"csd_name_en\":[\"Riverside-Albert\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Albert\",\"csd_name_fr\":\"Riverside-Albert\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.96249874403406,46.731500463346634],[-64.95104601997761,46.73636124181887],[-64.93441805191264,46.72025245282236],[-64.87902580307795,46.75131744199633],[-64.86444575708887,46.76529953499296],[-64.83390821579061,46.77312387641572],[-64.86266538494085,46.80640107478079],[-64.86354120621102,46.81167222615595],[-64.96672050528835,46.7891177461177],[-64.98615320047242,46.796971273326605],[-64.99353806462038,46.782604377518695],[-65.02881593983217,46.775446887826185],[-65.0363759542384,46.77808079026372],[-65.07000107322494,46.767186818268],[-65.14511189409953,46.72986936075384],[-65.3860882125472,46.610048005635576],[-65.24511698132393,46.6097126837668],[-65.19760247177025,46.64249790982881],[-65.18114965265902,46.63865708141032],[-65.15989485726745,46.641030786857684],[-65.15262778633074,46.65256312910774],[-65.11923216592184,46.659292289413436],[-65.09251342003186,46.675261698707224],[-65.0660542868337,46.69647700504838],[-65.01903653415114,46.701138141468554],[-65.01466008209063,46.6913941324495],[-64.98727022298144,46.70303482769005],[-64.96888509993995,46.701957968997995],[-64.9727848894606,46.72480781800091],[-64.98228682655348,46.740970719031864],[-64.97046213529016,46.7447931854123],[-64.96249874403406,46.731500463346634]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.08941902604583,\"lat\":46.710028815004165},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1308\"],\"cd_name_en\":[\"Kent\"],\"csd_code\":[\"1308021\"],\"csd_name_en\":[\"Saint-Louis\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kent\",\"csd_name_fr\":\"Saint-Louis\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.82054722396867,45.964472399398396],[-66.82529535140472,45.982012964741216],[-66.84030108950036,46.00683119662942],[-66.83575270892086,46.0133908925977],[-66.85409870033764,46.051443691220314],[-66.89647440061319,46.05782150428037],[-66.93746698048328,46.05456240389657],[-66.94795289792258,46.06205758564454],[-66.95816889003362,46.09103119813694],[-66.98083400877574,46.09199300677907],[-66.98920569126965,46.09952299970881],[-67.01498930203245,46.102115608837856],[-67.02950768391294,46.113783297802165],[-67.03559968440761,46.13839839881864],[-67.02163961166353,46.15052419448041],[-67.01546840533818,46.18468480394966],[-67.0292755077815,46.202933603844606],[-67.25085259685717,46.295852876437756],[-67.29407605984098,46.24348010450146],[-67.20151652528087,46.17346546220005],[-67.13621953824224,46.12272264629683],[-67.04713000777356,46.05285193536838],[-66.99976671813245,46.01378612653406],[-66.97764547717435,46.000217797760406],[-66.88515775578912,45.92633063935055],[-66.87544118625537,45.94392457217048],[-66.86046121455355,45.95539927313961],[-66.85706075717908,45.95706367732559],[-66.84863963021549,45.96204729034837],[-66.82054722396867,45.964472399398396]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.05514120642484,\"lat\":46.120937794163275},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1310\"],\"cd_name_en\":[\"York\"],\"csd_code\":[\"1310026\"],\"csd_name_en\":[\"Bright\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"York\",\"csd_name_fr\":\"Bright\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.57886447480755,46.494566515005545],[-67.5792559918676,46.50366718825048],[-67.60275515994522,46.51185864353076],[-67.57886447480755,46.494566515005545]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.58695854220679,\"lat\":46.5033641155956},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1311\"],\"cd_name_en\":[\"Carleton\"],\"csd_code\":[\"1311030\"],\"csd_name_en\":[\"Bath\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Carleton\",\"csd_name_fr\":\"Bath\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.39571350368105,48.02928569382769],[-66.37444370660045,48.030275504595394],[-66.3712129886947,48.038014308552064],[-66.39571350368105,48.02928569382769]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.38045673299207,\"lat\":48.03252516899172},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1314\"],\"cd_name_en\":[\"Restigouche\"],\"csd_code\":[\"1314010\"],\"csd_name_en\":[\"Eel River 3\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Restigouche\",\"csd_name_fr\":\"Eel River 3\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.07087587059036,47.766009940638504],[-65.06706026625906,47.775785525307235],[-65.05485757693573,47.7766108617573],[-65.02395890136256,47.7928439123867],[-64.97777550390364,47.798088608603734],[-64.96313504363262,47.81043103018855],[-64.95541797266394,47.82894752507535],[-64.95416471892328,47.8542500290886],[-65.01950894474939,47.863570069627634],[-65.07937117637893,47.86658793656186],[-65.11229557733377,47.86563997022039],[-65.14633230853487,47.86150626323888],[-65.21255428853651,47.84547180537747],[-65.26743245116836,47.82284128369542],[-65.4087585439582,47.75510298812696],[-65.46454303870777,47.72720730344669],[-65.37098549200178,47.52550863184447],[-65.32715978189718,47.53381634559925],[-65.29628078326377,47.581698332217606],[-65.32377322419447,47.63534367316123],[-65.23807381466702,47.65514789586891],[-65.21212395291144,47.688001539982906],[-65.18762198495101,47.69314690731412],[-65.1796095065129,47.70164998978528],[-65.1635254875518,47.70195650077117],[-65.1448984607572,47.712796387466774],[-65.1227515790477,47.73266680052142],[-65.10523144984353,47.74332722173299],[-65.11061562359345,47.76124753444853],[-65.09945906955296,47.763940231535564],[-65.10951198083038,47.780986078680776],[-65.1296479182516,47.78374183505266],[-65.14155205295283,47.78064663416294],[-65.13658724314143,47.773261099972565],[-65.14608255412877,47.738441803840736],[-65.16487601132167,47.73391836078511],[-65.18621163605205,47.73576481688423],[-65.20682192481544,47.7708145864398],[-65.17316571442662,47.778987027165414],[-65.20178307136055,47.78544203345547],[-65.21739646586055,47.80663047408063],[-65.18143819693844,47.819324399343806],[-65.16625928798891,47.816884597041195],[-65.14893928500926,47.82473060093587],[-65.12743868830256,47.82656951256379],[-65.11749937312455,47.81094981092583],[-65.1391535042365,47.80258176610548],[-65.13512828673551,47.794839817550944],[-65.12012344356815,47.80214926837345],[-65.10798918075885,47.79816073501264],[-65.08303900607912,47.8035959943719],[-65.07405510538683,47.788991905345],[-65.07087587059036,47.766009940638504]],[[-64.9843820931723,47.83418449171454],[-64.98564507643954,47.82182480409767],[-65.02111929263192,47.80838770602789],[-65.03603840927244,47.81605861348444],[-65.06370146979566,47.811041599679044],[-65.06720211175218,47.81897598269549],[-65.04347296757363,47.826936923064856],[-65.04713615600508,47.83300027763768],[-65.00275598051358,47.83765180022485],[-64.9843820931723,47.83418449171454]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.25928229415895,\"lat\":47.727097905940376},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1315\"],\"cd_name_en\":[\"Gloucester\"],\"csd_code\":[\"1315016\"],\"csd_name_en\":[\"New Bandon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Gloucester\",\"csd_name_fr\":\"New Bandon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.53268666293539,48.92716103295247],[-65.41810018534184,48.926646460393826],[-65.4181675743748,48.97483610043263],[-65.44009719172489,48.97471390987797],[-65.44116657753791,48.99886097294217],[-65.52865328658952,48.99844045346671],[-65.53352984336729,48.98656196335717],[-65.53268666293539,48.92716103295247]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.47856110602442,\"lat\":48.961024934077926},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2403\"],\"cd_name_en\":[\"La C\\u00f4te-de-Gasp\\u00e9\"],\"csd_code\":[\"2403025\"],\"csd_name_en\":[\"Murdochville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La C\\u00f4te-de-Gasp\\u00e9\",\"csd_name_fr\":\"Murdochville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.16934075488189,48.323501916958286],[-67.1632986178454,48.32757779477072],[-67.13491236252462,48.31732057479159],[-67.10663417851373,48.34906152636982],[-67.14954277031646,48.36989992909839],[-67.16578108570887,48.39700403113722],[-67.12976584872634,48.40644329575678],[-67.22776417887178,48.45485854599474],[-67.26738665209979,48.420066257572195],[-67.28407894596339,48.405473996801895],[-67.30912706185018,48.39825471965485],[-67.31548874501834,48.40887680975727],[-67.33544851954304,48.4035213641049],[-67.32191459025765,48.379289054761294],[-67.27657011401664,48.30019118450812],[-67.24268396142214,48.30366996870215],[-67.16934075488189,48.323501916958286]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.22342748882582,\"lat\":48.37114508409387},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2407\"],\"cd_name_en\":[\"La Matap\\u00e9dia\"],\"csd_code\":[\"2407018\"],\"csd_name_en\":[\"Causapscal\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Matap\\u00e9dia\",\"csd_name_fr\":\"Causapscal\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.27657011401664,48.30019118450812],[-67.32191459025765,48.379289054761294],[-67.42434094538142,48.35236407662766],[-67.46333088192465,48.342279324492544],[-67.44725007550231,48.31647909754671],[-67.41756477936865,48.26585346980977],[-67.33783983460106,48.285402613706104],[-67.27657011401664,48.30019118450812]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.36940958010383,\"lat\":48.322099179160276},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2407\"],\"cd_name_en\":[\"La Matap\\u00e9dia\"],\"csd_code\":[\"2407025\"],\"csd_name_en\":[\"Albertville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Matap\\u00e9dia\",\"csd_name_fr\":\"Albertville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.53510894528083,48.47354662073749],[-67.55814471878624,48.49004296426356],[-67.56834336362832,48.49205959213407],[-67.58731140579818,48.478883193004634],[-67.60295696945279,48.489077247408844],[-67.62342171884698,48.475039828890345],[-67.63980237089213,48.48618229609537],[-67.73539686090056,48.422912720607535],[-67.74477919735511,48.416781518809394],[-67.68245008780261,48.37532129461499],[-67.64862894110603,48.35516595686004],[-67.60687975193181,48.38349848356227],[-67.52151792986376,48.44091698944909],[-67.5303970352288,48.45321556741602],[-67.51826580801864,48.461955579627684],[-67.53510894528083,48.47354662073749]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.62771773525323,\"lat\":48.429401160469794},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2407\"],\"cd_name_en\":[\"La Matap\\u00e9dia\"],\"csd_code\":[\"2407040\"],\"csd_name_en\":[\"Sainte-Ir\\u00e8ne\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Matap\\u00e9dia\",\"csd_name_fr\":\"Sainte-Ir\\u00e8ne\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.32296290255309,47.84197114351384],[-69.38538738707007,47.883610228225415],[-69.408218046059,47.860940554748446],[-69.42424667140133,47.87066662030395],[-69.44266001218861,47.85524238442497],[-69.45650227194982,47.85546371516541],[-69.43253861238945,47.83650080390452],[-69.44867603385192,47.81792186135447],[-69.4687711009239,47.821268433997005],[-69.43602461839747,47.79984036515669],[-69.43441661767338,47.781046093158174],[-69.41631412277943,47.77584841669169],[-69.3693385844973,47.74498674957187],[-69.35624544971301,47.74486984825406],[-69.310495719485,47.77610488119871],[-69.32623580251902,47.785851218850766],[-69.29398130471549,47.807737703629485],[-69.31814209577904,47.82401691858444],[-69.30743944242445,47.83137072966137],[-69.32296290255309,47.84197114351384]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.37735267647655,\"lat\":47.81316530010568},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2412\"],\"cd_name_en\":[\"Rivi\\u00e8re-du-Loup\"],\"csd_code\":[\"2412020\"],\"csd_name_en\":[\"Saint-Modeste\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Rivi\\u00e8re-du-Loup\",\"csd_name_fr\":\"Saint-Modeste\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.81860535293941,47.53040012610854],[-68.8318264438823,47.551798123706284],[-68.8610474700601,47.57942045158966],[-68.88649916566013,47.595800831638016],[-68.91532214960986,47.575067949696916],[-68.95959280496925,47.60351668766843],[-68.97874253129243,47.58975040449157],[-68.9990702816944,47.57351574909919],[-68.9733673040204,47.556341009921915],[-69.01849965028703,47.52518322886384],[-68.98583019416255,47.50294436905816],[-68.98927801137428,47.497103668915805],[-68.95652094114163,47.47473212799514],[-68.93867502201438,47.48653413271108],[-68.92028387953431,47.47432965310554],[-68.91180878302244,47.46889466724059],[-68.82361709493601,47.530311257234686],[-68.81860535293941,47.53040012610854]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.92049235444095,\"lat\":47.536159021666215},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2413\"],\"cd_name_en\":[\"T\\u00e9miscouata\"],\"csd_code\":[\"2413030\"],\"csd_name_en\":[\"Saint-Eus\\u00e8be\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscouata\",\"csd_name_fr\":\"Saint-Eus\\u00e8be\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.67943923904274,47.3667683676899],[-69.79844301534227,47.44515226619258],[-69.79397505009742,47.44816797790627],[-69.82837447277205,47.47033879047783],[-69.83209082148231,47.47275518397926],[-69.86843743804155,47.452553202045195],[-69.90965844960068,47.42643112541853],[-69.89344982961198,47.414813294331],[-69.86620441722393,47.40150280806533],[-69.85050247382766,47.38347190653678],[-69.8395526522686,47.390863767171524],[-69.81836668385809,47.37749326305339],[-69.80911168484288,47.38891859003096],[-69.79136920885009,47.377444584319335],[-69.83294844327222,47.31785405214985],[-69.84758882277663,47.29939850920196],[-69.83148526091264,47.28881598122506],[-69.77689733679415,47.25148206664149],[-69.75348945557216,47.23859022597295],[-69.70354684535928,47.2053754385549],[-69.57088605940204,47.12051890316779],[-69.50247571308432,47.18823463463679],[-69.57776211277356,47.238880279370264],[-69.54794033996376,47.25873709208873],[-69.56854289686454,47.272210229289485],[-69.57424196143218,47.28936391840905],[-69.68523756992465,47.362597864586334],[-69.67943923904274,47.3667683676899]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.70001708436517,\"lat\":47.29227152705257},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2414\"],\"cd_name_en\":[\"Kamouraska\"],\"csd_code\":[\"2414005\"],\"csd_name_en\":[\"Mont-Carmel\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Kamouraska\",\"csd_name_fr\":\"Mont-Carmel\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.87775442845422,46.9063257167528],[-70.81621345034836,46.93031423903837],[-70.80213261199879,46.939814324823686],[-70.87071317116316,46.987084513356635],[-70.91287430556893,46.96111958608333],[-70.94825365738843,46.933301035669025],[-70.9828951838096,46.91637208535263],[-70.93521965464069,46.88112873595584],[-70.87775442845422,46.9063257167528]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.89247336700957,\"lat\":46.93263664832571},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2420\"],\"cd_name_en\":[\"L'\\u00cele-d'Orl\\u00e9ans\"],\"csd_code\":[\"2420015\"],\"csd_name_en\":[\"Saint-Jean-de-l'\\u00cele-d'Orl\\u00e9ans\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"L'\\u00cele-d'Orl\\u00e9ans\",\"csd_name_fr\":\"Saint-Jean-de-l'\\u00cele-d'Orl\\u00e9ans\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.88759307858763,47.02473337956925],[-70.95471365135465,47.081644342673265],[-70.93583390007169,47.08649519278494],[-70.94794898124624,47.100861657556436],[-70.95894913089552,47.11189712240766],[-70.98763487788504,47.10438516743837],[-70.99283764645288,47.11237504064267],[-71.02975496593905,47.094971763919425],[-70.99867593993378,47.06564437677352],[-71.02233784713438,47.05464667538237],[-70.97056929551295,47.011543764448106],[-70.95240620532965,46.99914403652169],[-70.91239104469496,47.016325850446385],[-70.88759307858763,47.02473337956925]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.96412697799263,\"lat\":47.05593359690693},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2421\"],\"cd_name_en\":[\"La C\\u00f4te-de-Beaupr\\u00e9\"],\"csd_code\":[\"2421030\"],\"csd_name_en\":[\"Sainte-Anne-de-Beaupr\\u00e9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La C\\u00f4te-de-Beaupr\\u00e9\",\"csd_name_fr\":\"Sainte-Anne-de-Beaupr\\u00e9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.75796286304858,46.362079258759074],[-70.78745690990166,46.388925433326925],[-70.80115157198104,46.3815176488398],[-70.83511528766077,46.35925548117861],[-70.85189862569773,46.37168099496878],[-70.86871784178898,46.37467828888012],[-70.88623725624005,46.3930666605247],[-70.89613160400084,46.386372107361105],[-70.89923195565378,46.3615271761879],[-70.92369808551476,46.34448444099411],[-70.92245837859737,46.33616737658157],[-70.88989211303092,46.31586079548721],[-70.87353852045385,46.28714369936376],[-70.8469226512773,46.2848771053449],[-70.82426331540668,46.26654705585097],[-70.72674971454633,46.324714496353536],[-70.76129145686116,46.350561527604114],[-70.75796286304858,46.362079258759074]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.8275453216231,\"lat\":46.33163688856617},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2427\"],\"cd_name_en\":[\"Robert-Cliche\"],\"csd_code\":[\"2427043\"],\"csd_name_en\":[\"Saint-Joseph-de-Beauce\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Robert-Cliche\",\"csd_name_fr\":\"Saint-Joseph-de-Beauce\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.41382958704972,45.796099379982095],[-70.39815110989673,45.79722229604606],[-70.38755115181186,45.82042594930079],[-70.36046652317404,45.834896633557825],[-70.34195260462562,45.852791174540506],[-70.30855807639794,45.858306311532004],[-70.2843484092672,45.87179097200512],[-70.25363314037419,45.903203627642604],[-70.26219939753159,45.92440778569983],[-70.24021456810495,45.93967365058422],[-70.24210574109088,45.94667156498399],[-70.26629086882902,45.96432246290234],[-70.31210761555843,45.96206316570515],[-70.30775970928295,45.982276134855],[-70.288581585326,45.99102682053365],[-70.30341144748796,45.999161871046994],[-70.3175953271038,46.019674396078734],[-70.27982770515897,46.05521311851274],[-70.2935811061565,46.04611249451866],[-70.34688140556008,46.027571288167486],[-70.40616338177554,46.02881754447566],[-70.39871139446915,46.01891295853701],[-70.45155897225418,46.000652922573906],[-70.46086071851612,46.013040920132305],[-70.48086121099159,45.99920061758249],[-70.54185914775091,45.97805158170222],[-70.56009918811498,45.97121301273924],[-70.54764041212559,45.95429712892436],[-70.58508927912408,45.94039498588754],[-70.56174542838684,45.908704888229394],[-70.49956686063175,45.82706808197195],[-70.47122184058513,45.78892412189226],[-70.43388944841281,45.80243121124536],[-70.41382958704972,45.796099379982095]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.41164101105406,\"lat\":45.918734737841035},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2429\"],\"cd_name_en\":[\"Beauce-Sartigan\"],\"csd_code\":[\"2429005\"],\"csd_name_en\":[\"Saint-Th\\u00e9ophile\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Beauce-Sartigan\",\"csd_name_fr\":\"Saint-Th\\u00e9ophile\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.40616338177554,46.02881754447566],[-70.43611806337032,46.0670290079194],[-70.4734444184964,46.11980206564596],[-70.47703979070975,46.124561810560046],[-70.47848723140562,46.11569703018233],[-70.52287751144254,46.12019394146421],[-70.52824275580122,46.095932071057945],[-70.54862307525408,46.104662027669676],[-70.5637125718724,46.09425895744467],[-70.57392258523033,46.09832211953779],[-70.58899402809068,46.08565780894359],[-70.61987071025906,46.091530707368605],[-70.62959879351085,46.08391567722731],[-70.60712397729621,46.07711710383366],[-70.5939393759333,46.05998478481011],[-70.5894420444014,46.039306091117545],[-70.54185914775091,45.97805158170222],[-70.48086121099159,45.99920061758249],[-70.46086071851612,46.013040920132305],[-70.45155897225418,46.000652922573906],[-70.39871139446915,46.01891295853701],[-70.40616338177554,46.02881754447566]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.50907465659174,\"lat\":46.05105056947545},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2429\"],\"cd_name_en\":[\"Beauce-Sartigan\"],\"csd_code\":[\"2429057\"],\"csd_name_en\":[\"Saint-C\\u00f4me--Lini\\u00e8re\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Beauce-Sartigan\",\"csd_name_fr\":\"Saint-C\\u00f4me--Lini\\u00e8re\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.67521955435556,46.18108592262569],[-70.67735850109406,46.19632834091835],[-70.69057027453663,46.19384372313851],[-70.70348251422496,46.21233616147834],[-70.74823270373517,46.18037849534214],[-70.74053584154547,46.16257872604685],[-70.754739797982,46.152897422450955],[-70.74804616856352,46.13766473781993],[-70.71289806976762,46.16075111199359],[-70.70685426973442,46.157509960995014],[-70.67521955435556,46.18108592262569]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.71595495884188,\"lat\":46.17672802663688},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2429\"],\"cd_name_en\":[\"Beauce-Sartigan\"],\"csd_code\":[\"2429120\"],\"csd_name_en\":[\"Notre-Dame-des-Pins\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Beauce-Sartigan\",\"csd_name_fr\":\"Notre-Dame-des-Pins\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.35516530889068,46.15036748307331],[-71.42779757709769,46.187349669272905],[-71.40585449075184,46.210117098838595],[-71.39925277731491,46.224451100242966],[-71.4114238749132,46.23075504410914],[-71.4335199011035,46.231068390681244],[-71.4454879525561,46.220212975223205],[-71.4668210144919,46.23119424207485],[-71.4854536191743,46.213766834825094],[-71.48397962752708,46.206011823499054],[-71.5294772689596,46.163134416921785],[-71.5338857912228,46.149151308834625],[-71.50970189550428,46.137171903930145],[-71.5012705710892,46.14498432000012],[-71.48687066230677,46.137128964664775],[-71.46093321347243,46.15307536487275],[-71.44392761381239,46.14493200504344],[-71.43310449092246,46.15631782403281],[-71.36240653264949,46.121189052897165],[-71.3673638911446,46.13296497259334],[-71.35516530889068,46.15036748307331]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.44876061622071,\"lat\":46.17674140339286},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2431\"],\"cd_name_en\":[\"Les Appalaches\"],\"csd_code\":[\"2431100\"],\"csd_name_en\":[\"Saint-Jean-de-Br\\u00e9beuf\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Appalaches\",\"csd_name_fr\":\"Saint-Jean-de-Br\\u00e9beuf\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.26219093391417,46.2046447928007],[-71.24997000349897,46.21285399058469],[-71.27304592706167,46.23332053643883],[-71.32025994741622,46.25721588488406],[-71.34854986552459,46.231675771925076],[-71.3881611639954,46.252499634374956],[-71.4114238749132,46.23075504410914],[-71.39925277731491,46.224451100242966],[-71.40585449075184,46.210117098838595],[-71.42779757709769,46.187349669272905],[-71.35516530889068,46.15036748307331],[-71.34770787606601,46.14664032115091],[-71.26219093391417,46.2046447928007]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.34247331208917,\"lat\":46.20465868933714},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2431\"],\"cd_name_en\":[\"Les Appalaches\"],\"csd_code\":[\"2431105\"],\"csd_name_en\":[\"Kinnear's Mills\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Appalaches\",\"csd_name_fr\":\"Kinnear's Mills\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.19656972984572,46.76596104365849],[-72.22024548081144,46.78296174139626],[-72.15947355243787,46.824061206632216],[-72.18749939928396,46.842345393465955],[-72.19825021765796,46.855481763107825],[-72.22868265116558,46.83517145586078],[-72.24797696386759,46.828691415942124],[-72.27153411740025,46.84658247143104],[-72.30059053596555,46.82797374713578],[-72.30646238663009,46.83334968216203],[-72.33400141844429,46.814519486683395],[-72.35335697332512,46.81686465259479],[-72.39317118108673,46.792105754311315],[-72.28668791252794,46.71760887923367],[-72.24744784336045,46.68904826186405],[-72.23086519673951,46.700087669916485],[-72.2566590624558,46.71797972982758],[-72.25795597910998,46.72434174071184],[-72.19656972984572,46.76596104365849]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.27309629218679,\"lat\":46.78432591687157},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2434\"],\"cd_name_en\":[\"Portneuf\"],\"csd_code\":[\"2434090\"],\"csd_name_en\":[\"Saint-Ubalde\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Portneuf\",\"csd_name_fr\":\"Saint-Ubalde\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.49201859334183,46.74598571713769],[-72.46230081733384,46.763918386085244],[-72.43120709048064,46.8149447554699],[-72.43549517777352,46.82109800951189],[-72.56557692045695,46.90801981948064],[-72.61378516367402,46.94031360591075],[-72.71532927349553,46.86696965471759],[-72.6580150178102,46.82909912393122],[-72.58804118120253,46.7822040296499],[-72.56523277262767,46.788808620121046],[-72.50976616559765,46.75274078417454],[-72.49201859334183,46.74598571713769]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.56742267224385,\"lat\":46.84135670561366},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2435\"],\"cd_name_en\":[\"M\\u00e9kinac\"],\"csd_code\":[\"2435050\"],\"csd_name_en\":[\"Sainte-Th\\u00e8cle\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"M\\u00e9kinac\",\"csd_name_fr\":\"Sainte-Th\\u00e8cle\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.18721475077433,46.410180366838254],[-72.18189997758002,46.418559384660405],[-72.16978264826551,46.457575459456095],[-72.16151596170128,46.47429270319945],[-72.12891177876334,46.49863932809362],[-72.19052494919414,46.54127540573478],[-72.21341064769686,46.521529581861195],[-72.22835460634879,46.500415223410506],[-72.24497660848957,46.45217413365185],[-72.18721475077433,46.410180366838254]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.19318207909583,\"lat\":46.47937796899361},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2438\"],\"cd_name_en\":[\"B\\u00e9cancour\"],\"csd_code\":[\"2438065\"],\"csd_name_en\":[\"Saint-Pierre-les-Becquets\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"B\\u00e9cancour\",\"csd_name_fr\":\"Saint-Pierre-les-Becquets\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.02866069635984,46.00954898882556],[-72.04346138098072,46.0171390629758],[-72.02988375526384,46.029664996036274],[-72.04526939376812,46.03775410092842],[-72.05449679424989,46.02915110373287],[-72.06901444923128,46.03737800674366],[-72.08247919996592,46.02463494933286],[-72.09711419076643,46.03278635305602],[-72.11358120151655,46.01717523305382],[-72.14544620672157,46.03423093183809],[-72.15831523114325,46.02198908319767],[-72.1440055415632,46.013693139094606],[-72.17972164075329,45.980620576983995],[-72.16459323119665,45.971636480326836],[-72.12061377071758,45.946803160549656],[-72.09301054576923,45.97159195110763],[-72.0648097009269,45.95635573364738],[-72.04288172180874,45.97648393651359],[-72.0560222336392,45.98445256732237],[-72.02866069635984,46.00954898882556]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.10150233524485,\"lat\":45.99479344474238},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2439\"],\"cd_name_en\":[\"Arthabaska\"],\"csd_code\":[\"2439085\"],\"csd_name_en\":[\"Saint-Albert\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Arthabaska\",\"csd_name_fr\":\"Saint-Albert\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.16459323119665,45.971636480326836],[-72.17972164075329,45.980620576983995],[-72.1440055415632,46.013693139094606],[-72.15831523114325,46.02198908319767],[-72.14544620672157,46.03423093183809],[-72.16168246737922,46.03471007927808],[-72.17924364842446,46.03148234247857],[-72.19702088902679,46.04091480197097],[-72.2131153398228,46.0252703131989],[-72.25928731224374,46.047386507558606],[-72.29058143172479,46.04621364711291],[-72.30507419581025,46.03299314783752],[-72.28407223118703,46.02156333410757],[-72.2978248541843,46.00897521015494],[-72.2860847930254,46.000585519773594],[-72.3272063804389,45.96863588337375],[-72.29665313562924,45.95091693987876],[-72.30973517649542,45.938384799985734],[-72.27272831176711,45.91532147165074],[-72.25710493691989,45.9268515967185],[-72.2163656578082,45.961146278291345],[-72.19198945387417,45.94736467590918],[-72.16459323119665,45.971636480326836]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.23980395980519,\"lat\":45.98885505486733},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2439\"],\"cd_name_en\":[\"Arthabaska\"],\"csd_code\":[\"2439117\"],\"csd_name_en\":[\"Sainte-Clotilde-de-Horton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Arthabaska\",\"csd_name_fr\":\"Sainte-Clotilde-de-Horton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.13146210317683,45.24671605829346],[-71.13163688590075,45.34330692439823],[-71.23239885540995,45.343165343809225],[-71.23313757054771,45.35152291642931],[-71.34040384236332,45.35037542199478],[-71.33931420782363,45.309862330005664],[-71.32104363182383,45.31008742794308],[-71.32223805899878,45.28150133436232],[-71.30125525118397,45.29636885649936],[-71.28561029571095,45.30054775859203],[-71.26606801294788,45.29093145157245],[-71.26237462599482,45.27622255185528],[-71.235787205728,45.26073391436213],[-71.22999426987072,45.24946459043845],[-71.1977232718552,45.254159571784136],[-71.18021484477403,45.24034716629192],[-71.16134717639807,45.25002397431676],[-71.14538662499965,45.241435947288934],[-71.13146210317683,45.24671605829346]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.22132610447792,\"lat\":45.30463364606017},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2441\"],\"cd_name_en\":[\"Le Haut-Saint-Fran\\u00e7ois\"],\"csd_code\":[\"2441020\"],\"csd_name_en\":[\"Chartierville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Saint-Fran\\u00e7ois\",\"csd_name_fr\":\"Chartierville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.95395384645775,45.07575533324438],[-72.95373726181977,45.14994627233919],[-72.991547216181,45.15000731743908],[-73.01130172335164,45.149968421123475],[-73.00929116464626,45.07598568666101],[-72.95395384645775,45.07575533324438]],[[-72.96981960519646,45.11986681533001],[-72.99768586588588,45.11334486234521],[-72.99141626217269,45.12894479268951],[-72.96510028917544,45.12831843437551],[-72.96981960519646,45.11986681533001]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.9820381643815,\"lat\":45.112421025269},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2446\"],\"cd_name_en\":[\"Brome-Missisquoi\"],\"csd_code\":[\"2446040\"],\"csd_name_en\":[\"Bedford\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Brome-Missisquoi\",\"csd_name_fr\":\"Bedford\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.68864637993488,45.7241835826657],[-72.70834601406564,45.665011125261884],[-72.73009827179389,45.59756836095914],[-72.71107262938128,45.605346298417984],[-72.65393673566028,45.60506553922369],[-72.6567146393891,45.62112244395215],[-72.65236465001597,45.63300135758213],[-72.65158556200342,45.65910800955198],[-72.64978163225047,45.71310210892416],[-72.68857582606468,45.713469927610156],[-72.68864637993488,45.7241835826657]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.68238489520454,\"lat\":45.654377018615456},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2448\"],\"cd_name_en\":[\"Acton\"],\"csd_code\":[\"2448038\"],\"csd_name_en\":[\"Upton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Acton\",\"csd_name_fr\":\"Upton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.40734090065304,46.029808805536916],[-72.4138941363141,46.043849829164955],[-72.44023851293822,46.047295971239876],[-72.4583600764966,46.0380814298941],[-72.4820760605462,46.039898727372055],[-72.4982981096014,46.05381452108189],[-72.49174772293142,46.080409991149075],[-72.50745310300474,46.08469380502567],[-72.51762826373927,46.097578389295116],[-72.54494090147156,46.077590730953915],[-72.56460994393632,46.061741253274874],[-72.5330371216326,46.03843404626863],[-72.54054801556617,46.028382992166875],[-72.54403736754539,46.015433918489585],[-72.50595936384099,45.987967818466366],[-72.49948467922954,45.99234104507577],[-72.47999150119422,46.001222553388985],[-72.44571025395244,45.98280517792988],[-72.4369677676702,45.98950297351354],[-72.4205702632275,46.017134068749215],[-72.40734090065304,46.029808805536916]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.49025659137784,\"lat\":46.03316106678842},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2449\"],\"cd_name_en\":[\"Drummond\"],\"csd_code\":[\"2449085\"],\"csd_name_en\":[\"Sainte-Brigitte-des-Saults\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Drummond\",\"csd_name_fr\":\"Sainte-Brigitte-des-Saults\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.03243048483549,46.263708879187355],[-73.04744775699623,46.27582846290254],[-73.07361778673165,46.28279178474316],[-73.08762423128438,46.299258404768615],[-73.1099805651585,46.2975560913472],[-73.12947720233333,46.31118913248864],[-73.14031318119336,46.30347438596849],[-73.1744907475553,46.27899116703604],[-73.19592128163536,46.29424722593198],[-73.21629747531178,46.27847333178619],[-73.1125210104256,46.21043095013143],[-73.06067808363328,46.23794562634905],[-73.06737593584508,46.24476592484815],[-73.02857223133007,46.25633509627635],[-73.03243048483549,46.263708879187355]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.11883857092822,\"lat\":46.26271990513177},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2451\"],\"cd_name_en\":[\"Maskinong\\u00e9\"],\"csd_code\":[\"2451045\"],\"csd_name_en\":[\"Saint-Justin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Maskinong\\u00e9\",\"csd_name_fr\":\"Saint-Justin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.18564922037818,45.62964151632207],[-73.20547312685022,45.646000961194424],[-73.19494796240834,45.66293758782842],[-73.18909607735591,45.686157012873466],[-73.19113269033684,45.72801305247553],[-73.19110310671104,45.728420146440016],[-73.21937061301159,45.7489249645355],[-73.2618518791874,45.71109636304398],[-73.28022303322241,45.69570201569468],[-73.28812172140924,45.69614402573389],[-73.2580814694696,45.67466891881468],[-73.26816297649711,45.6545366813372],[-73.23798558310054,45.63185308303416],[-73.22555254419527,45.634675691893385],[-73.20339645998419,45.62589728730852],[-73.1847371771937,45.6211626291886],[-73.18564922037818,45.62964151632207]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.22689174432254,\"lat\":45.68487781517477},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2457\"],\"cd_name_en\":[\"La Vall\\u00e9e-du-Richelieu\"],\"csd_code\":[\"2457050\"],\"csd_name_en\":[\"Saint-Marc-sur-Richelieu\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-du-Richelieu\",\"csd_name_fr\":\"Saint-Marc-sur-Richelieu\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.4750177790332,45.477148807940424],[-73.50045302021395,45.495299766359],[-73.49802314234039,45.50961342688774],[-73.52570479855272,45.51891005718845],[-73.51851981309089,45.49696002791116],[-73.52371926233657,45.477909676241396],[-73.4750177790332,45.477148807940424]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.50687387168696,\"lat\":45.49353878997533},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2458\"],\"cd_name_en\":[\"Longueuil\"],\"csd_code\":[\"2458012\"],\"csd_name_en\":[\"Saint-Lambert\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Longueuil\",\"csd_name_fr\":\"Saint-Lambert\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.65824876327329,46.00979072195675],[-73.62231738543085,46.03454367729046],[-73.6345951278281,46.04331333908732],[-73.61029113937856,46.05934485397445],[-73.63771659082104,46.07902427800734],[-73.67843472283747,46.106512040267425],[-73.73257692967667,46.145096262396585],[-73.8369710132245,46.073303139913655],[-73.88190518081048,46.04047868286583],[-73.83933353947396,46.01250614864349],[-73.79876381045068,45.98575781067842],[-73.78801039444795,45.977858568172174],[-73.70805409738806,46.0313681462877],[-73.68259268189306,46.03271848295079],[-73.67781200191716,46.01807449927419],[-73.65824876327329,46.00979072195675]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.7457664400539,\"lat\":46.0587001966549},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2462\"],\"cd_name_en\":[\"Matawinie\"],\"csd_code\":[\"2462037\"],\"csd_name_en\":[\"Rawdon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Matawinie\",\"csd_name_fr\":\"Rawdon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.13006857919132,46.69342490669517],[-74.04101930006175,46.75381546283743],[-73.97547234042278,46.80042135305104],[-74.03939077589122,46.84291445532549],[-74.19395000426357,46.952084458564535],[-74.3402341856048,47.049537635824045],[-74.41170476916503,47.10399566304493],[-74.57592812123781,46.997857391213316],[-74.43066479747834,46.896977929894376],[-74.2817282556775,46.794299876588056],[-74.18132689340781,46.726140179697],[-74.13256475757376,46.695010884352506],[-74.13006857919132,46.69342490669517]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.2748517759598,\"lat\":46.898036884213184},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2462\"],\"cd_name_en\":[\"Matawinie\"],\"csd_code\":[\"2462908\"],\"csd_name_en\":[\"Lac-Matawin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Matawinie\",\"csd_name_fr\":\"Lac-Matawin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.39979750135232,45.10742864580104],[-73.43136670574593,45.10805597053019],[-73.43085109997828,45.124864454418656],[-73.48236178414282,45.12337946679914],[-73.48834450060662,45.10896666200792],[-73.50495307187417,45.103560908119704],[-73.51062237236833,45.087330277889784],[-73.53837859669677,45.006114796705035],[-73.41070972566376,45.00978857369318],[-73.41194521975548,45.04209184255993],[-73.39106213126085,45.04245215544575],[-73.39139971711606,45.09225333431284],[-73.39979750135232,45.10742864580104]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.45999344249252,\"lat\":45.06102184223758},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2468\"],\"cd_name_en\":[\"Les Jardins-de-Napierville\"],\"csd_code\":[\"2468005\"],\"csd_name_en\":[\"Saint-Bernard-de-Lacolle\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Jardins-de-Napierville\",\"csd_name_fr\":\"Saint-Bernard-de-Lacolle\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.55499439264938,46.03746271899489],[-74.56940606859636,46.03798727573801],[-74.61653263593823,46.050063159963756],[-74.62695843313897,46.02958837227891],[-74.62696790286905,46.0151562868842],[-74.63593110187189,46.002948866764164],[-74.62918148719666,45.97773328537822],[-74.63233871738338,45.97014212300975],[-74.66949500145655,45.946096815328566],[-74.67072126471867,45.92914391423164],[-74.58806313331282,45.91975505252261],[-74.57119218450627,45.98291080192486],[-74.5885069535878,45.985252162363885],[-74.58139281230854,46.01415263837401],[-74.56082527299657,46.018520617319986],[-74.55499439264938,46.03746271899489]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.6097974849636,\"lat\":45.97929815003224},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2478\"],\"cd_name_en\":[\"Les Laurentides\"],\"csd_code\":[\"2478060\"],\"csd_name_en\":[\"Arundel\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Laurentides\",\"csd_name_fr\":\"Arundel\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.50374437851403,47.50000491604031],[-74.45076270527849,47.46406768670153],[-74.44627792023843,47.47898109808249],[-74.42674689615536,47.5069183881715],[-74.44524620357814,47.51022159246776],[-74.4612465772335,47.501957840984645],[-74.48314009944752,47.509642106754626],[-74.50374437851403,47.50000491604031]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.46265943105892,\"lat\":47.49258110490494},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2479\"],\"cd_name_en\":[\"Antoine-Labelle\"],\"csd_code\":[\"2479904\"],\"csd_name_en\":[\"Lac-Akonapwehikan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Antoine-Labelle\",\"csd_name_fr\":\"Lac-Akonapwehikan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.9785146871315,45.91291945461236],[-74.90128303554307,45.91289533478998],[-74.9011103851466,45.926509493610844],[-74.85614852401815,45.91930995527575],[-74.85786894913504,45.97349418460395],[-74.97672745795286,45.974114501244735],[-74.9785146871315,45.91291945461236]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.9197240888587,\"lat\":45.94484158710261},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2480\"],\"cd_name_en\":[\"Papineau\"],\"csd_code\":[\"2480125\"],\"csd_name_en\":[\"Saint-\\u00c9mile-de-Suffolk\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Papineau\",\"csd_name_fr\":\"Saint-\\u00c9mile-de-Suffolk\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.0108156045294,46.74448875211111],[-76.03182699931263,46.7556058190503],[-76.05566555620521,46.746554767704026],[-76.07483223807851,46.74668956398012],[-76.07577972354565,46.71036867593965],[-76.1578132039586,46.70999690616068],[-76.15728354774919,46.57636986296268],[-76.15810709603312,46.48392434225538],[-76.15613705873949,46.394615959473086],[-76.14315629381562,46.3972762580763],[-76.12703933062271,46.41942099793521],[-76.11594281306544,46.42735140016926],[-76.08759007238555,46.45674508258719],[-76.06638904109029,46.4561134963117],[-76.04289423223483,46.44934354306406],[-76.0448717035435,46.46432250417838],[-76.00317845541781,46.467221206352065],[-76.00196836985553,46.57669944621294],[-75.99978671448717,46.682045840883134],[-75.99997278588292,46.7331501285022],[-76.0108156045294,46.74448875211111]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.08029461793384,\"lat\":46.58589762617412},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2483\"],\"cd_name_en\":[\"La Vall\\u00e9e-de-la-Gatineau\"],\"csd_code\":[\"2483088\"],\"csd_name_en\":[\"Montcerf-Lytton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-de-la-Gatineau\",\"csd_name_fr\":\"Montcerf-Lytton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.04289423223483,46.44934354306406],[-76.06638904109029,46.4561134963117],[-76.08759007238555,46.45674508258719],[-76.11594281306544,46.42735140016926],[-76.12703933062271,46.41942099793521],[-76.14315629381562,46.3972762580763],[-76.15613705873949,46.394615959473086],[-76.16647662698438,46.394394843897196],[-76.17433365838387,46.36936364038588],[-76.20148641935573,46.33769409543037],[-76.23861139228903,46.315631585362866],[-76.15534583656337,46.314539924931665],[-76.15501358461796,46.30477762847156],[-76.02258646426789,46.30487830801771],[-75.93490570602215,46.3063784286797],[-75.94412737016178,46.312493711322546],[-75.94201552316937,46.33512742090991],[-75.96415791437393,46.35515109884532],[-75.95250276465372,46.373627890703574],[-75.98874386869504,46.371236860489425],[-76.01546129688762,46.37123221818739],[-76.0269767582248,46.379518349410546],[-76.02007311350658,46.38739385685436],[-76.0287120761593,46.41092313220896],[-76.02438885573257,46.43103453806977],[-76.04289423223483,46.44934354306406]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.07669129527325,\"lat\":46.361482608239214},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2483\"],\"cd_name_en\":[\"La Vall\\u00e9e-de-la-Gatineau\"],\"csd_code\":[\"2483802\"],\"csd_name_en\":[\"Kitigan Zibi\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-de-la-Gatineau\",\"csd_name_fr\":\"Kitigan Zibi\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.49314857712353,47.32074482408934],[-79.41513630012015,47.32086375408477],[-79.41510413405518,47.33737221648901],[-79.42817866039164,47.34220028234514],[-79.44854855511478,47.337552880612996],[-79.50907537992019,47.3370101539287],[-79.49314857712353,47.32074482408934]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.45669171595691,\"lat\":47.329848197605074},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2485\"],\"cd_name_en\":[\"T\\u00e9miscamingue\"],\"csd_code\":[\"2485025\"],\"csd_name_en\":[\"Ville-Marie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscamingue\",\"csd_name_fr\":\"Ville-Marie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.22408600070872,48.503698536212056],[-78.22346444526555,48.56196870856512],[-78.4295043899231,48.5618706101762],[-78.42938883820517,48.57493435468286],[-78.64321015867968,48.57453846761962],[-78.64721760047948,48.574503092224155],[-78.64571056851246,48.47380438912719],[-78.27007068914843,48.47423105190082],[-78.2563651697925,48.47409286922582],[-78.25534646444756,48.50378603172523],[-78.22408600070872,48.503698536212056]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.44732248230947,\"lat\":48.52231385541808},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2488\"],\"cd_name_en\":[\"Abitibi\"],\"csd_code\":[\"2488085\"],\"csd_name_en\":[\"Sainte-Gertrude-Manneville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi\",\"csd_name_fr\":\"Sainte-Gertrude-Manneville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.04310689306915,48.34958553747597],[-72.17177557406357,48.3758796136894],[-72.28521280237622,48.39980095447143],[-72.31787184405403,48.38309493297374],[-72.30577932080335,48.37919003037671],[-72.32521969858612,48.338190454145526],[-72.3374151578574,48.340179230609564],[-72.37012757993624,48.269145704552],[-72.29434914215697,48.2536239536155],[-72.25662007027817,48.3156518452986],[-72.06939298290571,48.28403192237567],[-72.04310689306915,48.34958553747597]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.2162851422601,\"lat\":48.33058692206654},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2491\"],\"cd_name_en\":[\"Le Domaine-du-Roy\"],\"csd_code\":[\"2491015\"],\"csd_name_en\":[\"Saint-Fran\\u00e7ois-de-Sales\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Domaine-du-Roy\",\"csd_name_fr\":\"Saint-Fran\\u00e7ois-de-Sales\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.5593043633101,48.43331111425323],[-71.59336904780953,48.43978071026691],[-71.59859688816987,48.42645028017317],[-71.61547869398677,48.429312488968186],[-71.61701033081032,48.44482215965538],[-71.68116231199365,48.45902782339764],[-71.68410317142819,48.45209304632354],[-71.71856043225962,48.45841965680497],[-71.72429531672928,48.44493198081537],[-71.67294015620095,48.435161572077476],[-71.67814309381902,48.42086674941917],[-71.65252392959718,48.421481224252254],[-71.57014499559904,48.40720034358485],[-71.5593043633101,48.43331111425323]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.63784307892946,\"lat\":48.4339489970936},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2493\"],\"cd_name_en\":[\"Lac-Saint-Jean-Est\"],\"csd_code\":[\"2493025\"],\"csd_name_en\":[\"H\\u00e9bertville-Station\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Lac-Saint-Jean-Est\",\"csd_name_fr\":\"H\\u00e9bertville-Station\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.52989276504806,48.1016146442538],[-70.45959159786966,48.10147540779106],[-70.45876988711123,48.13073389852687],[-70.4375832744719,48.129878731800225],[-70.43345077054609,48.18499107605504],[-70.3592791728241,48.18093004725071],[-70.32902542867208,48.16986994526372],[-70.24545738653899,48.29968148188297],[-70.35569075775418,48.34630860300058],[-70.41989012129052,48.35439996928277],[-70.43062572590715,48.35148506350392],[-70.5321964444615,48.27690884098816],[-70.60459524991617,48.22729856089716],[-70.64917224705806,48.1922819531839],[-70.75402198697114,48.10963357229909],[-70.74274787388191,48.10990074599005],[-70.65756100707182,48.111750970777074],[-70.53027463306695,48.1122250812713],[-70.52989276504806,48.1016146442538]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.47115333384544,\"lat\":48.219632089639795},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2494\"],\"cd_name_en\":[\"Le Saguenay-et-son-Fjord\"],\"csd_code\":[\"2494215\"],\"csd_name_en\":[\"Rivi\\u00e8re-\\u00c9ternit\\u00e9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Saguenay-et-son-Fjord\",\"csd_name_fr\":\"Rivi\\u00e8re-\\u00c9ternit\\u00e9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.77595458403505,54.80828486988187],[-66.79066445860711,54.806424962456305],[-66.78046514819813,54.81880002053289],[-66.78460107462166,54.82706732602963],[-66.84774399736565,54.863098508604374],[-66.87799435953013,54.85710878104459],[-66.84478740465146,54.836387406935074],[-66.87511912170393,54.81564707380987],[-66.84292675123179,54.79948115378266],[-66.81271745032315,54.77939723996406],[-66.79994009022852,54.77644560469162],[-66.77159066524523,54.79331998441055],[-66.77595458403505,54.80828486988187]],[[-66.8257282241388,54.80637602659932],[-66.82814945820773,54.81125297232043],[-66.82483825466625,54.813156461538306],[-66.81784236988801,54.80906489899053],[-66.8257282241388,54.80637602659932]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.82247195197345,\"lat\":54.81825765093612},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2497\"],\"cd_name_en\":[\"Sept-Rivi\\u00e8res--Caniapiscau\"],\"csd_code\":[\"2497040\"],\"csd_name_en\":[\"Schefferville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Sept-Rivi\\u00e8res--Caniapiscau\",\"csd_name_fr\":\"Schefferville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.91639865824487,49.80621644179387],[-74.9151846469472,49.759595988362285],[-74.73539092087798,49.76328762074941],[-74.73470650074051,49.80630259500568],[-74.91639865824487,49.80621644179387]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.82663869847813,\"lat\":49.783876715455605},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499020\"],\"csd_name_en\":[\"Chapais\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Chapais\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-78.77625308104702,51.49307970249101],[-78.72038897399008,51.505977477077316],[-78.72006718056801,51.56383340988055],[-78.82315809413994,51.56486955585622],[-78.81504729224254,51.53548460715303],[-78.82749971399255,51.51555618866979],[-78.80689151587983,51.50000001245671],[-78.77625308104702,51.49307970249101]]],[[[-78.91695504654405,51.26340103035997],[-78.92493699119602,51.25107169028802],[-78.91906478213683,51.21958110983167],[-78.9016394977671,51.2058395893579],[-78.87329218961743,51.19632499290114],[-78.86243491024558,51.18581450822117],[-78.85913741228454,51.16331020733261],[-78.84447401079083,51.155489209357924],[-78.79983560846809,51.147722611241214],[-78.79070151591313,51.12737330376365],[-78.75923309929782,51.11604930565051],[-78.74446411562666,51.09447659806918],[-78.71555458676909,51.08422908918691],[-78.68340680413529,51.08775190577131],[-78.68512355092118,51.265142060646184],[-78.91695504654405,51.26340103035997]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.77714105105414,\"lat\":51.25655222737045},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499035\"],\"csd_name_en\":[\"Waskaganish\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village cri\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Waskaganish\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.7121683820548,55.3176576831731],[-77.73174019359686,55.31854729743894],[-77.74988610445367,55.298230602160196],[-77.78881330143996,55.26897120946414],[-77.7603027134617,55.272258191640226],[-77.76020054894734,55.27977259109941],[-77.75980760139022,55.28032758455897],[-77.75091330987495,55.27957806391067],[-77.7121683820548,55.3176576831731]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.7475904803898,\"lat\":55.29386720845058},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499075\"],\"csd_name_en\":[\"Kuujjuarapik\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village nordique\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Kuujjuarapik\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.07436474155432,58.43031888870809],[-78.04336687357026,58.42039840611377],[-78.05244268834772,58.41145778493026],[-78.02198339447477,58.394030685800395],[-78.05254768980949,58.38962629680279],[-78.0572652917822,58.37550619421568],[-78.03710851714516,58.37454468963855],[-78.0265154904486,58.362926285602256],[-77.9467506851426,58.33757129920966],[-77.91129051527778,58.338033406151865],[-77.86777498791874,58.33038569340928],[-77.86417088178656,58.32160309849211],[-77.84029021273916,58.311725991124156],[-77.82885600576614,58.31457390175754],[-77.80129642502061,58.30046019385361],[-77.77294819083542,58.29638668780965],[-77.76881078941331,58.28815080610295],[-77.71957879138553,58.275926704748905],[-77.69178240635543,58.273250013018306],[-77.64960979175832,58.263042594421556],[-77.65233477624793,58.257292600368274],[-77.62623640714517,58.24639000013716],[-77.5990706142014,58.24031650089063],[-77.60658448773597,58.231170484420055],[-77.5770501025509,58.22422248940857],[-77.55453891321133,58.223677703596444],[-77.51967703775375,58.262495917978406],[-77.5226300997494,58.2719844002232],[-77.62591787603544,58.29689243715962],[-77.70905471234414,58.318946203379795],[-77.8827700803863,58.37259429326486],[-77.87460047130222,58.37347027580676],[-77.89907895003365,58.417026458430925],[-77.91331480855602,58.42013271164077],[-77.90987012783873,58.43440339142698],[-77.92265175561407,58.45407156586778],[-77.96876112051596,58.5000281178046],[-77.99999997643934,58.52149582772693],[-78.10457204527552,58.56810926364523],[-78.21003169758028,58.61046080904883],[-78.25873058074545,58.63122981194171],[-78.26272537703693,58.643015996889574],[-78.31338442192471,58.65448060344756],[-78.41838043480237,58.65247563958603],[-78.49465826723846,58.65634429330594],[-78.51712009329951,58.63357157482867],[-78.49329739703688,58.62705690225717],[-78.477799480021,58.603744299560056],[-78.47892702235538,58.593418489602215],[-78.4618730890403,58.57941418700147],[-78.45882391930824,58.567439404999014],[-78.4405770982167,58.5484752063627],[-78.42654672139132,58.54135018950563],[-78.39664782158945,58.53951549881821],[-78.3628373950788,58.5307419881645],[-78.37169842442214,58.548441291786915],[-78.3963194823731,58.57094439429837],[-78.43064508823679,58.56462499514926],[-78.43548452184464,58.60299909126476],[-78.4542579818141,58.611847106656725],[-78.44280499506871,58.61995770442118],[-78.41752519320666,58.61152880485794],[-78.37624368757923,58.61579369558596],[-78.33764961725818,58.623018106689216],[-78.34124942228347,58.60654320570236],[-78.36754391776844,58.609683988763535],[-78.39334702384802,58.590861792028036],[-78.35198112527848,58.57576959312144],[-78.35465797727566,58.5676989023713],[-78.3132794021023,58.5345477963694],[-78.30856180336407,58.51267891109136],[-78.28686508441733,58.50865348933492],[-78.25727671188767,58.524921791001304],[-78.24032007942797,58.513454240680794],[-78.04916353100347,58.50931991569387],[-78.05646512391704,58.44828497625551],[-78.07120085154715,58.448782791311146],[-78.07436474155432,58.43031888870809]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.06368053285703,\"lat\":58.47099105905142},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499879\"],\"csd_name_en\":[\"Inukjuak\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Terre inuite\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Inukjuak\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.15250112418994,44.34462421325887],[-76.18584875239142,44.3419182839045],[-76.1831604999272,44.317516754789075],[-76.14531987123027,44.32965161874297],[-76.15250112418994,44.34462421325887]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.16784823927439,\"lat\":44.33287389323436},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3507\"],\"cd_name_en\":[\"Leeds and Grenville\"],\"csd_code\":[\"3507024\"],\"csd_name_en\":[\"Gananoque\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Leeds and Grenville\",\"csd_name_fr\":\"Gananoque\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.47339242521825,44.315586639356354],[-77.55288621461803,44.479139216360956],[-77.5560662391801,44.47834687844066],[-77.72737240824841,44.43647221004129],[-77.68478280839132,44.3540002940605],[-77.64619308415509,44.27215700922364],[-77.56743410948046,44.29123191347381],[-77.56393439172241,44.284031801193045],[-77.53741962430848,44.290430984790746],[-77.54086958917492,44.29777348591134],[-77.4728893083964,44.31417934326561],[-77.47339242521825,44.315586639356354]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.59909452211672,\"lat\":44.37513092090309},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3512\"],\"cd_name_en\":[\"Hastings\"],\"csd_code\":[\"3512020\"],\"csd_name_en\":[\"Stirling-Rawdon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Hastings\",\"csd_name_fr\":\"Stirling-Rawdon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.17190622209222,43.92126218201472],[-78.1858366578585,43.951409100502154],[-78.16868024308314,43.9496689300625],[-78.1184397091769,43.951426717070696],[-78.13862469377437,43.99619587209879],[-78.15853455049637,43.99264062117481],[-78.18874509173484,43.98145009715497],[-78.20616554675082,43.978743740405235],[-78.21485482130484,43.96774217460141],[-78.19454359882009,43.92085408346894],[-78.17190622209222,43.92126218201472]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.16975092082805,\"lat\":43.96288410526287},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3514\"],\"cd_name_en\":[\"Northumberland\"],\"csd_code\":[\"3514021\"],\"csd_name_en\":[\"Cobourg\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Northumberland\",\"csd_name_fr\":\"Cobourg\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.17024551862364,43.85546549510714],[-79.21435558176285,43.95312130323215],[-79.21741469896327,43.96251460250001],[-79.27822121418602,43.95075240625392],[-79.35320506227204,43.93169155201858],[-79.3895209359406,43.92378760164958],[-79.37066540229361,43.84711729728239],[-79.42861769513283,43.83473979842812],[-79.42007360452473,43.797992903151226],[-79.37249519027131,43.80849780169732],[-79.17024551862364,43.85546549510714]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.29509672869378,\"lat\":43.881328093807575},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3519\"],\"cd_name_en\":[\"York\"],\"csd_code\":[\"3519036\"],\"csd_name_en\":[\"Markham\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"York\",\"csd_name_fr\":\"Markham\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.29614550584448,43.87745270604327],[-80.33672399990937,44.04967738892554],[-80.37495988403971,44.039275599767045],[-80.43842851805898,44.02598939149643],[-80.42161350942521,43.95772030965652],[-80.39857728958333,43.856044601803305],[-80.38851610786023,43.85817510351379],[-80.29614550584448,43.87745270604327]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.36708488193307,\"lat\":43.95196025359387},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3522\"],\"cd_name_en\":[\"Dufferin\"],\"csd_code\":[\"3522010\"],\"csd_name_en\":[\"Grand Valley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Dufferin\",\"csd_name_fr\":\"Grand Valley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.09738281042884,43.79050741172566],[-81.08516269731146,43.806463005527064],[-80.95439919562895,43.82208730303218],[-80.95765190754989,43.8403928914982],[-80.99178752055066,43.986405580228364],[-81.18643829011629,43.958670390757675],[-81.15124899159193,43.83406328758881],[-81.16354219261221,43.817389398650356],[-81.09738281042884,43.79050741172566]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.06871805161843,\"lat\":43.891302471047666},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3540\"],\"cd_name_en\":[\"Huron\"],\"csd_code\":[\"3540046\"],\"csd_name_en\":[\"Howick\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Huron\",\"csd_name_fr\":\"Howick\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.4075148396884,44.06769243463141],[-81.43056780348968,44.14888521026899],[-81.47718089402237,44.088977791113464],[-81.65734722454397,44.16042326046398],[-81.69906903618356,44.17772176413897],[-81.7367585739486,44.1344035801859],[-81.76124923815676,44.09145058919529],[-81.76576406595227,44.06224640727089],[-81.52026325015605,43.96295806764547],[-81.4173135806344,43.92183040740742],[-81.38354250493603,43.90799339540932],[-81.36810978753923,43.927406008901734],[-81.4075148396884,44.06769243463141]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.55567373920145,\"lat\":44.050647327022304},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3541\"],\"cd_name_en\":[\"Bruce\"],\"csd_code\":[\"3541015\"],\"csd_name_en\":[\"Huron-Kinloss\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Bruce\",\"csd_name_fr\":\"Huron-Kinloss\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.72860896983804,44.296300222505685],[-79.74565080938316,44.36202959039196],[-79.852086913618,44.33852521032255],[-79.8612253927913,44.349143927571646],[-79.89840507137036,44.342012525215566],[-79.9060079929503,44.32731173886256],[-79.92301009147815,44.32378535549833],[-79.88321244787568,44.16925994835755],[-79.84210785661767,44.17742153105725],[-79.82931141505532,44.16235659774017],[-79.7232371933844,44.185214091237995],[-79.72403455653841,44.19641376186999],[-79.70461861024013,44.20193081137408],[-79.72860896983804,44.296300222505685]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.8129647721393,\"lat\":44.26114267619963},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3543\"],\"cd_name_en\":[\"Simcoe\"],\"csd_code\":[\"3543021\"],\"csd_name_en\":[\"Essa\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Simcoe\",\"csd_name_fr\":\"Essa\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.67718768869965,44.70520408620145],[-79.66646241681255,44.709949300046084],[-79.7021421131925,44.74678630919188],[-79.69224310913259,44.776977289588345],[-79.70770729370462,44.7948913101057],[-79.72249379905082,44.799962656825905],[-79.73015316227605,44.77284305083066],[-79.74513492774473,44.77200629233943],[-79.8099494250268,44.79098792863423],[-79.86909496130404,44.76560594081569],[-79.84507005666833,44.73514838890742],[-79.87548618598011,44.719749928230115],[-79.88116417260505,44.708020910638616],[-79.82651874957028,44.64518586387723],[-79.83439008709922,44.63611949622252],[-79.83152179248457,44.632664177404294],[-79.79621031743166,44.64844459679532],[-79.7992419026234,44.6519191948153],[-79.67718768869965,44.70520408620145]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.78092550864464,\"lat\":44.722714836783794},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3543\"],\"cd_name_en\":[\"Simcoe\"],\"csd_code\":[\"3543071\"],\"csd_name_en\":[\"Tay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Simcoe\",\"csd_name_fr\":\"Tay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.04751915184967,45.63891214380829],[-77.05281937101451,45.650595445456425],[-77.09338791761803,45.7185192896637],[-77.23814149316483,45.68077795920165],[-77.39382705593377,45.636880032910895],[-77.42251138601888,45.689940672059834],[-77.45494537630294,45.68023445395015],[-77.39212802418612,45.56635103892542],[-77.33215828348426,45.564327504896404],[-77.28866340796847,45.581084609872406],[-77.26807560323896,45.57640844940717],[-77.24394095620977,45.57749248559978],[-77.20947812987372,45.56370987532006],[-77.19048321760656,45.56523092643633],[-77.17013508284037,45.557706295042266],[-77.15723855787914,45.558134984083175],[-77.14290194227873,45.5468102678643],[-77.1164940154339,45.54386628681626],[-77.09528412705082,45.54993446854978],[-77.08622737774725,45.545381506158435],[-77.06897140643443,45.521788064296054],[-77.05524507222594,45.522812908329136],[-77.02885050021989,45.51607892340985],[-77.01029514237125,45.50430720236321],[-76.98804712969505,45.498197506850225],[-76.97039662708403,45.50200318240511],[-77.04751915184967,45.63891214380829]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.19200444511709,\"lat\":45.6150059849315},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3547\"],\"cd_name_en\":[\"Renfrew\"],\"csd_code\":[\"3547070\"],\"csd_name_en\":[\"North Algona Wilberforce\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Renfrew\",\"csd_name_fr\":\"North Algona Wilberforce\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.0940099980904,45.34343252321527],[-80.10842036870547,45.37098447954473],[-80.10558739445715,45.38372237853789],[-80.12179598183504,45.4005101110419],[-80.13645090225697,45.42487217325927],[-80.11281219127909,45.431069893847514],[-80.15735346235738,45.51542066853648],[-80.18742033116584,45.50757461887715],[-80.3047933808189,45.47592672419575],[-80.39991497883722,45.44997311170558],[-80.47712160730748,45.430171872973],[-80.54382133412489,45.41113620128892],[-80.54284055576723,45.37861098501843],[-80.50000000251,45.37859355050359],[-80.46262325933672,45.28350102569955],[-80.43544375829867,45.22530117215779],[-80.33180723576987,45.25561995414313],[-80.27764970432762,45.27026101768206],[-80.2560823101162,45.28704531146676],[-80.2492394838208,45.27673324170008],[-80.21632413659133,45.28614572027964],[-80.22652574481666,45.28874989407407],[-80.21654884164427,45.3126925888763],[-80.18615345145179,45.32764599155094],[-80.12832265239952,45.317758794763115],[-80.12382861945623,45.30999658330557],[-80.08649713550545,45.31956931143723],[-80.09736082800627,45.33195619819715],[-80.0940099980904,45.34343252321527]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.30702908038958,\"lat\":45.373850937356636},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3549\"],\"cd_name_en\":[\"Parry Sound\"],\"csd_code\":[\"3549036\"],\"csd_name_en\":[\"Carling\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Parry Sound\",\"csd_name_fr\":\"Carling\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.46533282788042,45.67112506649185],[-80.46529410977871,45.69828147186602],[-80.50573312040353,45.679451176803035],[-80.5055301046681,45.66106272377478],[-80.50471320006784,45.64928078327298],[-80.46533282788042,45.67112506649185]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.48578501345715,\"lat\":45.674325559161716},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3549\"],\"cd_name_en\":[\"Parry Sound\"],\"csd_code\":[\"3549093\"],\"csd_name_en\":[\"Naiscoutaing 17A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Parry Sound\",\"csd_name_fr\":\"Naiscoutaing 17A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-89.42895248326978,48.51432980723561],[-89.59464898379693,48.51557004163057],[-89.60525723216946,48.49552173170738],[-89.60533532599385,48.48341153202193],[-89.58788381221834,48.469041911002606],[-89.5788622468112,48.451295595532024],[-89.57936298729115,48.438523296968484],[-89.59655987820211,48.42434146935343],[-89.63818575717416,48.41319274121744],[-89.63505095583554,48.406284995915094],[-89.63554312813253,48.32544617306619],[-89.63251540905426,48.3253908096681],[-89.52523115831352,48.325835594843774],[-89.52554952379307,48.2892596832244],[-89.38697330657337,48.289308639491296],[-89.38877310547035,48.290274892842326],[-89.38856459727627,48.39897870557536],[-89.42674110334033,48.39911509791589],[-89.42766800390555,48.510438798069075],[-89.42895248326978,48.51432980723561]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-89.50689553671188,\"lat\":48.39933322756221},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3558\"],\"cd_name_en\":[\"Thunder Bay\"],\"csd_code\":[\"3558011\"],\"csd_name_en\":[\"Oliver Paipoonge\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Thunder Bay\",\"csd_name_fr\":\"Oliver Paipoonge\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-88.55067408409928,48.73752550428925],[-88.54196203091335,48.77468421321334],[-88.52761754733162,48.79313810787289],[-88.48564235588964,48.81817511956824],[-88.4866419470326,48.831243026526586],[-88.4999010420594,48.839014923591996],[-88.56468935864646,48.83527739194206],[-88.56509804503091,48.85498134450822],[-88.58627176753578,48.8557767746227],[-88.58644758540854,48.86605931097101],[-88.6103753595184,48.86582913064234],[-88.60887405349786,48.83703379321408],[-88.77843641994181,48.83924554308744],[-88.77901545976687,48.73764837295344],[-88.59840666973365,48.73855753893317],[-88.55067408409928,48.73752550428925]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-88.64779756378795,\"lat\":48.792841809067944},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3558\"],\"cd_name_en\":[\"Thunder Bay\"],\"csd_code\":[\"3558034\"],\"csd_name_en\":[\"Dorion\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Thunder Bay\",\"csd_name_fr\":\"Dorion\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-94.31570206555432,49.11961064073973],[-94.30667399210918,49.11754365828171],[-94.30609437712206,49.12588385514326],[-94.31687206009973,49.12600233979797],[-94.31570206555432,49.11961064073973]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-94.31109918995233,\"lat\":49.122347323728675},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3559\"],\"cd_name_en\":[\"Rainy River\"],\"csd_code\":[\"3559053\"],\"csd_name_en\":[\"Saug-A-Gaw-Sing 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Rainy River\",\"csd_name_fr\":\"Saug-A-Gaw-Sing 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-93.33065224832816,48.73461752892581],[-93.38379646985192,48.721525334715885],[-93.38616234315973,48.70735753132449],[-93.36564604209782,48.712273417504676],[-93.35396083929751,48.69756522854676],[-93.36939485903132,48.687701935230855],[-93.3511848533984,48.675569039603644],[-93.33305597080513,48.67849273664227],[-93.3257078698544,48.697657533229425],[-93.32955363728378,48.7080371241181],[-93.3224626490697,48.725743623089535],[-93.33065224832816,48.73461752892581]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-93.34847037520376,\"lat\":48.70698985819858},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3559\"],\"cd_name_en\":[\"Rainy River\"],\"csd_code\":[\"3559061\"],\"csd_name_en\":[\"Rainy Lake 18C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Rainy River\",\"csd_name_fr\":\"Rainy Lake 18C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-92.39491494842606,48.72621137345962],[-92.3729117525183,48.734127247474376],[-92.31626385017678,48.73501728739144],[-92.29466648728759,48.739774517278306],[-92.29510562139737,48.76595764176631],[-92.39838091343297,48.766012852433214],[-92.39603902245797,48.735364616607484],[-92.39491494842606,48.72621137345962]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-92.3482122635229,\"lat\":48.75001305182673},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3559\"],\"cd_name_en\":[\"Rainy River\"],\"csd_code\":[\"3559089\"],\"csd_name_en\":[\"Sturgeon Falls 23\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Rainy River\",\"csd_name_fr\":\"Sturgeon Falls 23\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-93.9493540407072,49.40064513422461],[-93.93178054582513,49.4035586417041],[-93.89467755885065,49.395405233641306],[-93.87695285903193,49.40074022292289],[-93.86772250952947,49.392495103716314],[-93.84234531955522,49.39148714754229],[-93.82546799117918,49.39656803640834],[-93.82816191214582,49.42358873547929],[-93.87243514628138,49.40948183695514],[-93.9059488715654,49.40577882672454],[-93.92454637493336,49.41030013269367],[-93.9582106680884,49.41212257447141],[-93.98290775596004,49.41195952620437],[-93.97678973727432,49.39961593269175],[-93.95039606045059,49.40104166592867],[-93.9493540407072,49.40064513422461]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-93.8873804345588,\"lat\":49.40493739705414},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560004\"],\"csd_name_en\":[\"Whitefish Bay 32A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Whitefish Bay 32A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-95.15343305924014,49.6460646711054],[-95.13429055817322,49.653037425610925],[-95.11816676849541,49.64706373331579],[-95.0946032757723,49.619974922327636],[-95.06954935758488,49.62473462071666],[-95.0439357311486,49.636911300199316],[-95.0416101817096,49.65849494987788],[-95.06064724784063,49.66318771999269],[-95.05343508992263,49.67244452384323],[-95.1532867993813,49.671159166669405],[-95.15343305924014,49.6460646711054]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-95.09233427950967,\"lat\":49.651356469459024},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560068\"],\"csd_name_en\":[\"Shoal Lake 39A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Shoal Lake 39A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-93.17464786959496,50.39805523952188],[-93.21452915289264,50.391418731988296],[-93.21931637011215,50.38010482068337],[-93.17396446696853,50.385802427859],[-93.17464786959496,50.39805523952188]]],[[[-93.15193986829279,50.44832002170838],[-93.18541913216032,50.43738063377191],[-93.21123495517364,50.43511522917973],[-93.2127771674808,50.41795281953373],[-93.15875336605338,50.401041122893034],[-93.1713469320745,50.3816063284716],[-93.20065204389579,50.37668503007366],[-93.19714954859431,50.366366325517724],[-93.17863123659366,50.35506434122892],[-93.15097357736285,50.36381924506185],[-93.15193986829279,50.44832002170838]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-93.17707054213007,\"lat\":50.40236946898446},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560084\"],\"csd_name_en\":[\"Wabauskang 21\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Wabauskang 21\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-88.65498382202615,53.66432922013511],[-88.68287938158899,53.68393619839378],[-88.79093161694695,53.632276497460204],[-88.65077770754735,53.535897443523986],[-88.6402056214802,53.552167028214456],[-88.60094841063994,53.5524002267643],[-88.57484274032477,53.563106421986106],[-88.57939543664779,53.58116251662957],[-88.56399219147029,53.6074826495163],[-88.61324681164105,53.63614019362934],[-88.65498382202615,53.66432922013511]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-88.66876344746193,\"lat\":53.61061176760337},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560096\"],\"csd_name_en\":[\"Kasabonika Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Kasabonika Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-96.62892300786827,50.384805301942556],[-96.64044605124758,50.38502036480939],[-96.64080426987402,50.40285555410671],[-96.70073426272478,50.38960273702337],[-96.73051954284014,50.38842043844252],[-96.77664885303574,50.390445039514056],[-96.79619995313521,50.383891335905574],[-96.81248347479169,50.39733553966604],[-96.87271413517476,50.40045486258339],[-96.84350237363803,50.35154538922835],[-96.8261884848414,50.337007759239434],[-96.82393479833415,50.32051467720449],[-96.83965715974702,50.302547272641014],[-96.85882499313755,50.29680823991566],[-96.86253541681343,50.2889524711641],[-96.84962808874275,50.27936442311274],[-96.84450500191949,50.25458907629842],[-96.83324582273433,50.23889064475879],[-96.83535810919795,50.21547835539421],[-96.83179329764161,50.20039609800403],[-96.85900470961893,50.16503548274166],[-96.85139902997412,50.151610894355606],[-96.87161845316585,50.13870768604571],[-96.86577852144207,50.124843725649974],[-96.88959741006911,50.12601703175075],[-96.90694667269163,50.1159490942448],[-96.92209783370689,50.115109784813484],[-96.93861295182774,50.10026404809965],[-96.93824501523616,50.080137698518534],[-96.96209135308172,50.06417633439931],[-96.9793480851972,50.06327052423837],[-96.98585273670939,50.043025686014495],[-97.0066169344476,50.033054095325454],[-97.03224663863466,50.02865676186599],[-96.95673430673955,49.99460159584948],[-96.93961862824015,50.00824185713848],[-96.8993702776974,50.02668710867015],[-96.86505409996548,50.048242594324414],[-96.85330508809886,50.06297558890436],[-96.7044608969586,50.0623569998859],[-96.7166099982135,50.069445710392465],[-96.71705176637465,50.090642174519346],[-96.70391580020075,50.091320001170025],[-96.7030214005651,50.15065330060514],[-96.68000411218654,50.150633694197005],[-96.6799162827528,50.239486708068966],[-96.62710306586655,50.2393508418347],[-96.62825570707066,50.28365238923881],[-96.6039353054975,50.28159416610359],[-96.35295451469909,50.2827070921169],[-96.35315818449247,50.326833887509615],[-96.44526489731555,50.3263317051262],[-96.44542291574079,50.41527010261342],[-96.53758609444775,50.416013611010044],[-96.53727278640085,50.53306091060744],[-96.58302338031271,50.533102590236076],[-96.58303299768,50.54781819319485],[-96.62940518268618,50.54756699354693],[-96.62757877129101,50.53389352614875],[-96.60670965724495,50.52072072641769],[-96.59837446967492,50.495093836410966],[-96.58302114598814,50.48205723650261],[-96.57437684359083,50.44824553542585],[-96.59780544288459,50.43027434618401],[-96.62016536321397,50.42301192656964],[-96.6344888295892,50.40745875805537],[-96.62892300786827,50.384805301942556]],[[-96.62892300786827,50.384805301942556],[-96.58185930270994,50.38510834440992],[-96.58221662520634,50.37126068796066],[-96.5547494408114,50.37121723215713],[-96.55460944247065,50.30958140884799],[-96.65221944415904,50.309233440035364],[-96.6515225453533,50.3698673724561],[-96.64532624370966,50.38220560042906],[-96.62892300786827,50.384805301942556]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-96.70200494371093,\"lat\":50.26101921037212},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4613\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4613056\"],\"csd_name_en\":[\"St. Clements\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"St. Clements\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.3188724123099,50.1229128880266],[-97.31025919119578,50.12296839260911],[-97.31019865899972,50.1449780974498],[-97.34480800093758,50.145088708944556],[-97.34473271467644,50.122726895909615],[-97.3188724123099,50.1229128880266]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.32754567880497,\"lat\":50.133948904989424},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4614\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4614039\"],\"csd_name_en\":[\"Stonewall\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Stonewall\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.39589775460718,50.59428395972073],[-101.40290797495844,50.57944792447376],[-101.41575743193651,50.59411390546726],[-101.47699491379564,50.59438750561971],[-101.47690022207735,50.4853637674369],[-101.47612417597878,50.43889132621828],[-101.47706680064991,50.32889480609175],[-101.47672111132778,50.24050443254835],[-101.44715800144121,50.24052438405252],[-101.44730600459803,50.06400026366166],[-101.37834630410396,50.06355491047716],[-101.17210685803684,50.06366983848315],[-101.1715276697127,50.13421694023324],[-101.17222938840457,50.24051688386515],[-101.20218017375002,50.240466494665654],[-101.19983141200201,50.285415655382934],[-101.20051772317315,50.29946854134236],[-101.19790563019248,50.38737417101595],[-101.20007501476834,50.476430991176876],[-101.19975340233513,50.5943378610548],[-101.22956161560529,50.59433660126787],[-101.36941652738807,50.59430740720656],[-101.3927461948212,50.59430050557701],[-101.39589775460718,50.59428395972073]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.32860902374344,\"lat\":50.32912039055919},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4615\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4615047\"],\"csd_name_en\":[\"Ellice-Archie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Ellice-Archie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.46284078173711,50.860645391382626],[-97.72905354669973,50.860355226000344],[-97.87850480449502,50.86058442193124],[-97.87856374807266,50.771582520489595],[-97.73928969476937,50.77197681213824],[-97.74107401348729,50.728216702391],[-97.73955179814396,50.61377671198347],[-97.73698718613508,50.59455508893776],[-97.66874502092416,50.59455607381008],[-97.66798279384047,50.4767685229456],[-97.64453637761845,50.47681464720249],[-97.64485681084945,50.418106101044074],[-97.62461818935503,50.41823335037685],[-97.4605366555848,50.41877111063992],[-97.45953371192934,50.44797229801346],[-97.46143740176413,50.50703399516296],[-97.11428019984255,50.50696339831683],[-97.11460659168563,50.59572269285055],[-97.11107378707939,50.595728408671214],[-97.11131928512846,50.787125398816926],[-97.11015479277799,50.816577200168815],[-97.11075188005718,50.860862999491026],[-97.18107880359001,50.860487586441636],[-97.36985983191873,50.86124662924947],[-97.46284078173711,50.860645391382626]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.44708857554704,\"lat\":50.678796980940845},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4618\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4618037\"],\"csd_name_en\":[\"Armstrong\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Armstrong\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.00630220741222,49.26045320815001],[-102.00830850461016,49.26091909377033],[-102.27552499145877,49.26091298761125],[-102.29805650086149,49.26088468916302],[-102.41014330580792,49.26085338581336],[-102.40875074167883,49.11689059540981],[-102.41029378493498,49.08211079196876],[-102.40939831838611,48.999004903200145],[-102.19608210541615,48.99892561754369],[-102.00632643718951,48.998965664356625],[-102.0063054818565,49.202701199757946],[-102.02879668201093,49.202688694691005],[-102.0288139878731,49.21728230151131],[-102.00631436318582,49.21829765117014],[-102.00630220741222,49.26045320815001]],[[-102.17713244505299,49.238970522280766],[-102.15223425191792,49.231752282263436],[-102.15223500940289,49.22454911560659],[-102.1860307713273,49.22362518809754],[-102.17713244505299,49.238970522280766]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.2086811918229,\"lat\":49.12933907465646},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701011\"],\"csd_name_en\":[\"Enniskillen No. 3\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Enniskillen No. 3\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.75765019795628,49.38908498737734],[-102.76614179259387,49.375810901938664],[-102.74652996398648,49.37659724950011],[-102.75765019795628,49.38908498737734]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.75677398484552,\"lat\":49.3804977129387},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701032\"],\"csd_name_en\":[\"Lampman\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Lampman\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.0063204892941,49.263782601749895],[-102.00629961212788,49.522675985825934],[-102.40932706688501,49.52272135597244],[-102.4102834988373,49.46472479014903],[-102.41014330580792,49.26085338581336],[-102.29805650086149,49.26088468916302],[-102.29805623015822,49.27537878106347],[-102.27565363637456,49.275092157812516],[-102.27552499145877,49.26091298761125],[-102.00830850461016,49.26091909377033],[-102.00630220741222,49.26045320815001],[-102.0063204892941,49.263782601749895]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.20798948151032,\"lat\":49.39215824558447},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701036\"],\"csd_name_en\":[\"Moose Creek No. 33\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Moose Creek No. 33\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.33540729479441,49.784282793711185],[-102.41290226452449,49.78443172235966],[-102.4137435237548,49.68108371470928],[-102.41229273088689,49.59647705093573],[-102.41292718160443,49.52271989939691],[-102.40932706688501,49.52272135597244],[-102.00629961212788,49.522675985825934],[-102.006296543619,49.528367141952444],[-102.0067335329603,49.70592541473228],[-102.00621251058169,49.78456399320388],[-102.16804709514388,49.784749523392584],[-102.1698931698347,49.715345625840115],[-102.28616197802428,49.71727222211603],[-102.33738564831151,49.71710076516701],[-102.33540729479441,49.784282793711185]],[[-102.09676170708904,49.59496154780271],[-102.0967694056203,49.61000091078988],[-102.07416029939861,49.61001590816768],[-102.07413810711516,49.59521917735076],[-102.09676170708904,49.59496154780271]],[[-102.28862457506932,49.642529709443046],[-102.25488839603238,49.63903310565878],[-102.25491049716716,49.61775532470046],[-102.27754592963134,49.61692872459048],[-102.28808199389015,49.62448507114627],[-102.28862457506932,49.642529709443046]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.2045200734998,\"lat\":49.642311035403104},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701053\"],\"csd_name_en\":[\"Moose Mountain No. 63\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Moose Mountain No. 63\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.07590742382024,49.87936508496086],[-103.05316865768286,49.87229587590998],[-103.05308196211729,49.88666366457203],[-103.07590742382024,49.87936508496086]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.06071934787346,\"lat\":49.87944154181429},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701812\"],\"csd_name_en\":[\"Ocean Man 69C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Ocean Man 69C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.25499852549355,49.30757909872341],[-103.25117505774533,49.31893111427436],[-103.27358930087541,49.31892699831722],[-103.27388758861007,49.31162431784856],[-103.25499852549355,49.30757909872341]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.26259758969812,\"lat\":49.31428464511983},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4702\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4702041\"],\"csd_name_en\":[\"Macoun\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Macoun\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.99983518816276,49.726567611881194],[-104.01635585868037,49.73569620352338],[-104.01629169408028,49.72653760638596],[-103.99983518816276,49.726567611881194]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.01082758030782,\"lat\":49.729600473930184},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4702\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4702048\"],\"csd_name_en\":[\"McTaggart\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"McTaggart\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.64292572014038,50.04784730267998],[-107.96654140277306,50.04714736620371],[-108.05229442013147,50.04783954679399],[-108.05137281282026,49.9607676942401],[-108.05231139411471,49.87310098784978],[-108.03736001545771,49.87312440707054],[-108.0373210994097,49.78572409336719],[-107.63065338919527,49.785682887905956],[-107.63065548255557,49.873095997865455],[-107.64282111565058,49.87309800858287],[-107.64292572014038,50.04784730267998]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.84285318976188,\"lat\":49.91675973059326},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4704\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"4704061\"],\"csd_name_en\":[\"Lac Pelletier No. 107\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Lac Pelletier No. 107\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.0538213985051,50.047133094983266],[-104.05374078954102,50.222201888178034],[-104.06775929924062,50.222198298200595],[-104.06808051229793,50.396860100737676],[-104.2054447026501,50.39685420297532],[-104.20562704003869,50.30947751030296],[-104.48018239055514,50.309504790738984],[-104.48053131191043,50.221997810946185],[-104.46342911551226,50.2220010026596],[-104.46339839266993,50.04707808915013],[-104.0538213985051,50.047133094983266]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.25104796713822,\"lat\":50.19602849469397},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706011\"],\"csd_name_en\":[\"Lajord No. 128\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Lajord No. 128\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.22392629318963,50.792093849354096],[-104.2351400637876,50.78539605524956],[-104.25131066591945,50.790388750941915],[-104.30304489473255,50.7841537469271],[-104.3275408612323,50.77541484537326],[-104.33169669219996,50.78266274485673],[-104.36175672894645,50.781612583492375],[-104.36247850060614,50.745976511385386],[-104.31619801162205,50.74633538199428],[-104.22385099625879,50.74646808650303],[-104.10982807911067,50.74668768928175],[-104.11045249753661,50.78236884777533],[-104.10926940473789,50.79003140206119],[-104.21995256682548,50.79033360634187],[-104.22392629318963,50.792093849354096]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.23059102939143,\"lat\":50.76701051683988},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706813\"],\"csd_name_en\":[\"Muscowpetung 80\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Muscowpetung 80\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.05042771216273,50.46290719007739],[-106.07333871184524,50.46325461201813],[-106.07905551078142,50.44907441316831],[-106.05048512938619,50.44902634388392],[-106.05042771216273,50.46290719007739]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.06343133541509,\"lat\":50.455812177014394},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707034\"],\"csd_name_en\":[\"Mortlach\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Mortlach\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.16616100438408,50.79058774980704],[-106.14307557128063,50.79033050478096],[-106.14307958497065,50.80506990418908],[-106.16614197758423,50.805057488777244],[-106.16616100438408,50.79058774980704]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.15457904809297,\"lat\":50.7977600010259},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707049\"],\"csd_name_en\":[\"Eyebrow\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Eyebrow\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.19711020909885,50.17875104146818],[-108.18904911366901,50.18620454541647],[-108.21178940880587,50.185958106465385],[-108.21174438643533,50.18025419166188],[-108.19711020909885,50.17875104146818]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.20183091118248,\"lat\":50.18297859043285},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4708\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4708008\"],\"csd_name_en\":[\"Webb\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Webb\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.02810678847516,51.21134400245061],[-108.04443220986937,51.20894269250784],[-108.04520298183681,51.19415494976823],[-108.02055131395991,51.19392023719549],[-108.02810678847516,51.21134400245061]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.03414475795375,\"lat\":51.20160407271133},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4708\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4708094\"],\"csd_name_en\":[\"Elrose\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Elrose\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.43498552218347,52.317807479589284],[-102.86207756265205,52.31843927112991],[-102.86290281441676,52.17278220401594],[-102.86305994247205,51.96894507140463],[-102.85681259523955,51.96892848037993],[-102.85722350051026,51.88141389241944],[-102.57224018511923,51.8814701942702],[-102.43193272130472,51.882087299395394],[-102.43213239446659,51.9692719971187],[-102.43437441461259,51.96927590052203],[-102.43463847871256,52.17336999295594],[-102.43498552218347,52.317807479589284]],[[-102.64868235732536,52.16588278264207],[-102.64873529298443,52.15815799975822],[-102.66071561836547,52.15578376724709],[-102.66046188949343,52.16539649788608],[-102.64868235732536,52.16588278264207]],[[-102.66859663983541,51.9674388115759],[-102.65495946890853,51.95584287982368],[-102.68046729094488,51.95373493819757],[-102.66859663983541,51.9674388115759]],[[-102.55214785017404,51.94671140466431],[-102.52644979614912,51.94738753774498],[-102.53541009849194,51.93130814277529],[-102.55214785017404,51.94671140466431]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.64806652627418,\"lat\":52.10027381545514},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709062\"],\"csd_name_en\":[\"Preeceville No. 334\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Preeceville No. 334\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.97596826728407,51.278095117315544],[-103.98772432587654,51.2782164320792],[-103.995701916094,51.270367292605286],[-103.99621717340065,51.262344638065194],[-103.9847188036417,51.262714708060344],[-103.9843782170213,51.27036430784009],[-103.97596826728407,51.278095117315544]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.98809911082115,\"lat\":51.27038835698415},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710840\"],\"csd_name_en\":[\"Muskowekwan 85-29\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Muskowekwan 85-29\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.53130550133274,52.37654169532565],[-106.54649105783356,52.35471480616777],[-106.53599239881801,52.35469715641239],[-106.53130550133274,52.37654169532565]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.53792965266142,\"lat\":52.36198455263527},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711075\"],\"csd_name_en\":[\"Osler\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Osler\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.65231806243729,51.95409228267014],[-105.65680650206302,51.94080724251236],[-105.64069869423804,51.93986719544977],[-105.64067764022525,51.95388873911531],[-105.65231806243729,51.95409228267014]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.64764049242484,\"lat\":51.94678816296219},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711092\"],\"csd_name_en\":[\"Viscount\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Viscount\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.85151110702772,51.46723803132576],[-108.85200997984413,51.47478360049726],[-108.86346289131704,51.4747970094727],[-108.86345335272237,51.46650058777029],[-108.85151110702772,51.46723803132576]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.85769885407554,\"lat\":51.4707980643406},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713004\"],\"csd_name_en\":[\"Netherhill\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Netherhill\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.7959692037196,53.19102861062371],[-103.79614462109015,53.195462524994426],[-103.81067755240066,53.19556419530451],[-103.81067540097806,53.19100560835396],[-103.7959692037196,53.19102861062371]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.80340051481133,\"lat\":53.19326082205273},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714073\"],\"csd_name_en\":[\"Aylsham\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Aylsham\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.03206592731544,53.28542401750106],[-104.03454778283304,53.278034090682624],[-104.02654950932514,53.27822980257712],[-104.03206592731544,53.28542401750106]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.03105440649122,\"lat\":53.28056263692028},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714074\"],\"csd_name_en\":[\"Codette\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Codette\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.15987379172668,53.48176869262858],[-104.16225038901793,53.48316937902966],[-104.1622568020559,53.48896112630146],[-104.1745881346156,53.489098008337024],[-104.16747247372533,53.48547835138548],[-104.16744890662477,53.48201940854026],[-104.15987379172668,53.48176869262858]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.16598208694946,\"lat\":53.48595849391553},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714091\"],\"csd_name_en\":[\"Love\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Love\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.99210689806388,52.390268985869746],[-104.9781875669124,52.39265107402562],[-104.98031930751557,52.40060188744636],[-104.99211269953855,52.40008408885853],[-104.99210689806388,52.390268985869746]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.98585886343476,\"lat\":52.39574619633485},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715006\"],\"csd_name_en\":[\"Lake Lenore\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Lake Lenore\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.14671360474426,52.18149149977019],[-105.13458908712306,52.187307904536496],[-105.09921156988074,52.18733827898755],[-105.08647999652158,52.195125275249865],[-105.08662624554167,52.20926313024149],[-105.09917684071104,52.21639336859518],[-105.15747953367,52.2164853376405],[-105.15709836464518,52.20137726012384],[-105.14669493992884,52.19886792846642],[-105.14671360474426,52.18149149977019]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.12171507181878,\"lat\":52.20217892040805},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715008\"],\"csd_name_en\":[\"Humboldt\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Humboldt\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.26635829116645,52.420010302335676],[-105.26438551988012,52.42785900323033],[-105.27599783654773,52.428638508243445],[-105.26635829116645,52.420010302335676]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.26891388253145,\"lat\":52.425502604603146},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715045\"],\"csd_name_en\":[\"Pilger\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Pilger\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.00336543453835,52.913344382313845],[-106.02927522857368,52.916645190505385],[-106.04158457801961,52.8782007138854],[-106.06734698173692,52.87083775166163],[-106.09032546664848,52.84690651374086],[-106.09116179143756,52.826664857649476],[-106.10621804371239,52.800821078863805],[-106.10458057738565,52.785772551382735],[-106.12912038649206,52.78552687413446],[-106.13803543433815,52.77622977337572],[-106.13614431259178,52.75646436814318],[-106.10980436978323,52.74251540172738],[-106.11895997674449,52.723141389886884],[-106.10367740096669,52.71278809742225],[-106.11818644669286,52.6981668933295],[-106.06479725327304,52.698374062671896],[-106.06475106050729,52.70620232784004],[-106.06466658262617,52.71932486526493],[-106.11281802081798,52.720155041986885],[-106.11009262303531,52.73963744003272],[-106.06491603808472,52.7403725203986],[-106.07698995600157,52.750538043758645],[-106.07681340384828,52.765258454989166],[-106.10433121740137,52.77189871280226],[-106.00512068178102,52.771932699545296],[-106.00416751002163,52.78526408840019],[-105.98321497054134,52.78380816177384],[-105.97969409738191,52.771856162386776],[-105.97968829835197,52.718123722638595],[-105.97040916561686,52.71063531660181],[-105.7761939811972,52.711076964142286],[-105.77619389807431,52.75468228944152],[-105.48630928660107,52.75473866608701],[-105.48681821040591,52.92901498903819],[-105.79392130771083,52.929202994664834],[-105.80081399279678,52.928483863705054],[-105.8310614834774,52.92590144621866],[-105.85462538968918,52.91543257097101],[-105.90071598312048,52.91054706933586],[-105.92704791658389,52.90168574941144],[-105.94357253021867,52.91402089240732],[-105.96105895172104,52.91213005094432],[-105.98867544761669,52.91813251187334],[-106.00336543453835,52.913344382313845]],[[-105.82116288009514,52.91532956950956],[-105.82119903346424,52.92260912228565],[-105.80080841954384,52.92190200532569],[-105.80048724556347,52.91539291913271],[-105.82116288009514,52.91532956950956]],[[-106.05256976604839,52.80474472475544],[-106.05220497575527,52.79956703302173],[-106.10494935903094,52.79938866989779],[-106.10281646271999,52.804076995893475],[-106.05256976604839,52.80474472475544]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.78814614851544,\"lat\":52.82734231954148},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715057\"],\"csd_name_en\":[\"St. Louis No. 431\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"St. Louis No. 431\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.85127610816458,52.60228851004589],[-107.85094448192524,52.605408991396125],[-107.86226244107608,52.60939389148564],[-107.86191594336233,52.60173655537029],[-107.85127610816458,52.60228851004589]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.85735219389879,\"lat\":52.60485210894695},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716003\"],\"csd_name_en\":[\"Ruddell\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Ruddell\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.45528978485095,52.66777900878348],[-107.45539299826264,52.92946071281497],[-107.74544943175401,52.929816326506334],[-107.89082969286615,52.92937705485786],[-107.89069221622265,52.66762880548798],[-107.5683849128325,52.667538907856944],[-107.45528978485095,52.66777900878348]],[[-107.56535697447674,52.709918248827414],[-107.55198949941607,52.71105609205704],[-107.55197781181265,52.703930299575745],[-107.56421878593424,52.704001101951434],[-107.56535697447674,52.709918248827414]],[[-107.70943220927256,52.688195603389474],[-107.70904031653458,52.69648178835474],[-107.69725809749772,52.696480893412875],[-107.69630221470271,52.68853483820409],[-107.70943220927256,52.688195603389474]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.67312385701281,\"lat\":52.798777256745346},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716023\"],\"csd_name_en\":[\"Douglas No. 436\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Douglas No. 436\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.06815887546965,53.30771995564899],[-107.07365597676699,53.299166981540566],[-107.05539135022012,53.29992430568159],[-107.056813161319,53.31019515687499],[-107.06815887546965,53.30771995564899]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.06325843612706,\"lat\":53.303892257206336},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716057\"],\"csd_name_en\":[\"Shell Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Shell Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.00411360522175,53.53988091266315],[-106.00397743067151,53.56875929127823],[-106.03042610627072,53.56862098302671],[-106.03043057001483,53.57621993478359],[-106.07781902131126,53.57571825646078],[-106.10232105458758,53.583422968700525],[-106.10246316946375,53.53972571767388],[-106.00411360522175,53.53988091266315]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.0562872142829,\"lat\":53.5576083640058},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716857\"],\"csd_name_en\":[\"Little Red River 106D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Little Red River 106D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.76292765774875,52.99604354459964],[-108.77983709160993,53.005995742744304],[-108.82943699719438,53.01681606651862],[-108.84831806751724,53.02602704741919],[-108.88470825994912,53.05574134804127],[-108.90818579188502,53.07949975365665],[-108.93772299861517,53.1035386433048],[-108.95545409027227,53.131550153712915],[-108.98114869036354,53.161520942558425],[-109.01230817808937,53.18151196430557],[-109.03916809033448,53.204264545259704],[-109.05639729866785,53.21006005214987],[-109.07228166429094,53.22483606321765],[-109.07666419232638,53.2405950608073],[-109.07723738656816,53.103430606068],[-109.22341809717611,53.10330229632759],[-109.22388120731259,53.01605457788146],[-109.19736407796833,53.0139756945488],[-109.19706844076309,52.93253510239665],[-109.14936365410153,52.939456615715805],[-109.12422842446377,52.935669147751],[-109.1244505898113,52.95828576872634],[-109.00094076834304,52.958304412705886],[-109.00256586904194,52.91678837279799],[-108.98760083520165,52.91771106481509],[-108.97398519228749,52.90893959454765],[-108.92100268585561,52.902693966855225],[-108.9255262842563,52.88963981766338],[-108.91330252429962,52.87719741230108],[-108.88230534557842,52.869964191426945],[-108.85693964508181,52.870635711754844],[-108.83923364664217,52.88572694464422],[-108.78522447392203,52.886989611318675],[-108.76183139697137,52.88109757712456],[-108.76171478027214,52.98722229012942],[-108.76292765774875,52.99604354459964]],[[-108.93113308558289,53.00926308847315],[-108.94451964895404,53.00959299151236],[-108.94352230460065,53.016660846511286],[-108.92854193634257,53.01627254055174],[-108.93113308558289,53.00926308847315]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.99510662761644,\"lat\":53.01803616194536},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717013\"],\"csd_name_en\":[\"Paynton No. 470\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Paynton No. 470\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.96689894497402,53.278049655327614],[-109.96758183290464,53.30713796429948],[-110.0054059069824,53.30713588647396],[-110.00545301022785,53.24890300798567],[-110.00547084304866,53.243396553013106],[-109.9791352668798,53.24290013528114],[-109.97912178176118,53.263145677946575],[-109.96689894497402,53.278049655327614]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.98841099665684,\"lat\":53.27786854062564},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717029\"],\"csd_name_en\":[\"Lloydminster (Part)\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Lloydminster (Part)\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.15723561548351,53.62784486488358],[-108.36488550830292,53.62754284027162],[-108.51230507618536,53.62785952016102],[-108.51218128605572,53.715245673870086],[-108.54724086980411,53.71523354732923],[-108.566355583405,53.69323066879821],[-108.58733747507489,53.694500468848524],[-108.61179687611269,53.67521915298007],[-108.62152136051975,53.656628144910506],[-108.61818396544567,53.636394459849164],[-108.62835008955079,53.62025333218454],[-108.6487158277021,53.62047921638055],[-108.65979944503808,53.60705732626713],[-108.65925877099495,53.55254798973401],[-108.62857661503803,53.55656408192243],[-108.63527764857146,53.54003777340311],[-108.65964981533598,53.53425928026138],[-108.65948528503935,53.365710426462556],[-108.63588371208434,53.36572069343125],[-108.637964245777,53.32301726507811],[-108.6363744451344,53.27799634758753],[-108.6374132176037,53.1907398067448],[-108.320591436035,53.190938403155414],[-108.29609704467899,53.19111209962734],[-108.19872428503102,53.19076529040473],[-108.19842828842287,53.36562709362766],[-108.21786499791483,53.3656159349528],[-108.21718405401325,53.43865067253487],[-108.23537546973708,53.4434500624506],[-108.22245306394315,53.463572161042975],[-108.20362278904594,53.469081866693685],[-108.17440489069742,53.49736875720058],[-108.19236113294784,53.50052112100856],[-108.2163910696248,53.49160177000701],[-108.23894616718925,53.51534397225741],[-108.23035098967954,53.53568804531268],[-108.17458597464062,53.598136756379056],[-108.15865057641255,53.606758988591615],[-108.15723561548351,53.62784486488358]],[[-108.35620842214533,53.35042792538604],[-108.356744108617,53.35804579753783],[-108.34159736878787,53.36512166140022],[-108.3379270614388,53.35411236831794],[-108.35620842214533,53.35042792538604]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.43128800868975,\"lat\":53.42124912792667},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717047\"],\"csd_name_en\":[\"Parkdale No. 498\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Parkdale No. 498\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-108.40031802814082,54.32554049779863],[-108.40392444856828,54.31080065562042],[-108.3542491542518,54.31070174412891],[-108.35455694431336,54.32541239441716],[-108.40031802814082,54.32554049779863]]],[[[-108.39578029413329,54.43036875022913],[-108.35846827454698,54.43933157031531],[-108.32443771895093,54.43335162052685],[-108.3300319729873,54.445618548292785],[-108.38555526789432,54.446715146353206],[-108.40616987571704,54.45981926267971],[-108.42548048728878,54.447991888387776],[-108.39578029413329,54.43036875022913]]],[[[-108.37940773531918,54.38748556005236],[-108.35450532461299,54.38748733694235],[-108.35440771378349,54.39838076970606],[-108.32859582356897,54.398538249753514],[-108.32612209206052,54.425845448989385],[-108.35887628436092,54.43132466120595],[-108.38584329527615,54.42907285798244],[-108.42563148563038,54.41286224152136],[-108.37942264182935,54.41303815259268],[-108.37940773531918,54.38748556005236]]],[[[-108.35803440387804,54.470033766739036],[-108.3414663942053,54.47490355687114],[-108.33455677851889,54.48872786449716],[-108.36319098056204,54.48819706936985],[-108.34596095724712,54.50238714984682],[-108.32462233474504,54.49947532270014],[-108.2738298922572,54.49986470322426],[-108.27345495480839,54.529448389739024],[-108.41495091164008,54.52910697018508],[-108.43348095816835,54.52187205545408],[-108.41537717657927,54.50278507052816],[-108.4154978724268,54.477733867092944],[-108.40560817228445,54.46633236821682],[-108.3843500702831,54.473327462855025],[-108.35803440387804,54.470033766739036]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.36338610771287,\"lat\":54.465630977087564},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717806\"],\"csd_name_en\":[\"Waterhen 130\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Waterhen 130\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-109.1534583667014,54.020587719878364],[-109.15567260656677,54.020449342876525],[-109.16613668245806,54.019849158757786],[-109.15695989517563,54.018391620574604],[-109.1534583667014,54.020587719878364]]],[[[-109.27729339732181,54.02953694698569],[-109.31486266484538,54.03382628387308],[-109.32628010156813,54.01966324073001],[-109.32621980049977,54.00534376956556],[-109.3504143175966,54.005386060817344],[-109.35035566408129,53.9841084712021],[-109.30571954127467,53.98395552517732],[-109.27734746760967,54.004780195055055],[-109.27731218836742,54.020934078859206],[-109.27729339732181,54.02953694698569]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.31003723203898,\"lat\":54.006770014233936},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717808\"],\"csd_name_en\":[\"Makwa Lake 129\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Makwa Lake 129\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-107.92956983404629,55.38060439028643],[-107.9418862128067,55.38097743608795],[-107.95761392163398,55.363937944045595],[-107.93604101765641,55.36151915613476],[-107.92956983404629,55.38060439028643]]],[[[-107.93148837664839,55.495481767005295],[-107.97862001377587,55.525119672555526],[-107.97498544620309,55.495761850163106],[-107.95671168696639,55.49646049227579],[-107.90816490686777,55.436451547844094],[-107.89361276839658,55.45429865848216],[-107.89180007757147,55.47059546360922],[-107.93148837664839,55.495481767005295]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.93174092901587,\"lat\":55.46658472722662},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718067\"],\"csd_name_en\":[\"\\u00cele-\\u00e0-la-Crosse\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Northern village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"\\u00cele-\\u00e0-la-Crosse\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.25406964258346,56.32602366086287],[-103.2750415483622,56.32395870831095],[-103.27395645543689,56.31005295179404],[-103.25852497153946,56.3072663423768],[-103.25406964258346,56.32602366086287]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.26489949756734,\"lat\":56.31719236425708},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718826\"],\"csd_name_en\":[\"Southend No. 200A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Southend No. 200A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-102.94037386346253,55.17439485890247],[-102.94000099848267,55.174129092795226],[-102.93553688987227,55.17603100135134],[-102.9305397887458,55.18322571794452],[-102.94364689290835,55.18508942850482],[-102.93993520735054,55.17605141047259],[-102.94027250578227,55.17541830032066],[-102.94153773736984,55.174327359233885],[-102.94037386346253,55.17439485890247]]],[[[-102.94139918515813,55.16802530739234],[-102.94277171409631,55.168265386010866],[-102.94231939969112,55.167988982712515],[-102.94238905535485,55.1678070431892],[-102.94139918515813,55.16802530739234]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.93755524291717,\"lat\":55.18037093241425},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718827\"],\"csd_name_en\":[\"Pelican Narrows 206\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Pelican Narrows 206\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.21997440273562,54.967669337173724],[-108.23959511546582,54.86545433835252],[-108.26250582681186,54.86600411748443],[-108.26491513273756,54.82763977309609],[-108.21852095803979,54.82577106756125],[-108.21349897018666,54.865322957473545],[-108.19449949386829,54.87507674811915],[-108.21248078127022,54.89902087111495],[-108.21092509084122,54.91603054908891],[-108.2005827705882,54.93385375181131],[-108.16137720060603,54.94855286377026],[-108.13000517372419,54.94321894886678],[-108.11254127441316,54.94707175868598],[-108.1100683532778,54.96107376548689],[-108.21997440273562,54.967669337173724]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.20778485840039,\"lat\":54.904101490252515},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718860\"],\"csd_name_en\":[\"Wepuskow Sahgaiechan 165D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Wepuskow Sahgaiechan 165D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.0804183181503,49.57497485384321],[-114.08026150094288,49.56713742547023],[-114.0694650135935,49.564331001936466],[-114.06902227361306,49.574938871880164],[-114.0804183181503,49.57497485384321]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.07450627423752,\"lat\":49.57034752362717},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4803\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4803016\"],\"csd_name_en\":[\"Cowley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Cowley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-110.488883207394,51.328786886489105],[-110.48565870609411,51.343364693162165],[-110.46690444111972,51.34802418446321],[-110.46607808046646,51.35629053264945],[-110.50036963724006,51.357937951200164],[-110.49999161094976,51.33102385287201],[-110.488883207394,51.328786886489105]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-110.48740037696457,\"lat\":51.34675148439222},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4804\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"4804014\"],\"csd_name_en\":[\"Oyen\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Oyen\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.51368091349322,51.18325985853156],[-114.49006989170736,51.17565189175722],[-114.49016375098802,51.1534983705952],[-114.4317525424466,51.154588521072355],[-114.42935882289153,51.172011865486695],[-114.4199318292466,51.183783811369935],[-114.42048495414396,51.19771200896609],[-114.45551769252997,51.19117988266326],[-114.45545168602936,51.22700723204818],[-114.46692347664919,51.226804487920724],[-114.47449409614606,51.2122506420203],[-114.48999316504025,51.21998632386402],[-114.51327369873277,51.21994140340545],[-114.5164636722278,51.19524616578948],[-114.51368091349322,51.18325985853156]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.47038217039751,\"lat\":51.18714374794133},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4806\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4806019\"],\"csd_name_en\":[\"Cochrane\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Cochrane\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.08620771163889,52.99713615342243],[-114.09851811607132,53.00170669441873],[-114.09842042558547,52.9953937758613],[-114.08632640703807,52.99638989295396],[-114.08620771163889,52.99713615342243]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.09396203982176,\"lat\":52.99789569321103},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811005\"],\"csd_name_en\":[\"Poplar Bay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Poplar Bay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.44555390344716,53.54095347357826],[-114.46654850727715,53.53192137137407],[-114.48736461033502,53.532018867045174],[-114.52196847941137,53.49423481466048],[-114.49239356952612,53.48367082334709],[-114.34562300042043,53.48313249402049],[-114.34564422124662,53.54117300316205],[-114.42414732288425,53.54121702340893],[-114.4424244542963,53.54092765052866],[-114.44555390344716,53.54095347357826]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.42270442073622,\"lat\":53.51052198000439},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811806\"],\"csd_name_en\":[\"Wabamun 133A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Wabamun 133A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-110.15917056295899,54.45719271421816],[-110.16580678334847,54.46322017259604],[-110.16631238821326,54.45694071014989],[-110.15917056295899,54.45719271421816]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-110.16376324484023,\"lat\":54.4591178656547},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4812\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4812813\"],\"csd_name_en\":[\"Cold Lake 149A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Cold Lake 149A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.80337577952416,54.572846998347146],[-112.78883622723907,54.579977388325176],[-112.78870910134307,54.59468211926969],[-112.80341975618684,54.598517034669214],[-112.82859842276025,54.594606397554344],[-112.82815321760337,54.572752316485385],[-112.80337577952416,54.572846998347146]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.80931269936329,\"lat\":54.58531021184509},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4813\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4813046\"],\"csd_name_en\":[\"Boyle\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Boyle\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.0346098586119,58.79428517289728],[-111.06297511647826,58.78106848842007],[-111.06710269380937,58.75992519752325],[-111.10106171230285,58.757442309001036],[-111.10895002260916,58.746804275836496],[-111.04977424960708,58.74670447372852],[-111.03772607983733,58.76563737996356],[-111.00869928217612,58.78104715618813],[-110.97300339291462,58.77962734353076],[-110.97307418429254,58.796649282639876],[-111.02021112210956,58.79720535880538],[-111.0346098586119,58.79428517289728]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.03743140911564,\"lat\":58.773856566862975},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4816\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4816850\"],\"csd_name_en\":[\"Allison Bay 219\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Allison Bay 219\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.36949166889544,58.51392858917671],[-119.4384003754868,58.51309480717983],[-119.4232900597388,58.49957148927984],[-119.42273143782143,58.4848702484828],[-119.38432630913204,58.48590639425034],[-119.36703613806402,58.49143228054724],[-119.36949166889544,58.51392858917671]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.39845208110165,\"lat\":58.500423675495},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817097\"],\"csd_name_en\":[\"Rainbow Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Rainbow Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.63002616708974,55.67150837321985],[-117.61631680757553,55.644372331615024],[-117.62349656889006,55.62023026876033],[-117.64856340705207,55.60856942282291],[-117.68974606643175,55.620050763476485],[-117.71245195327661,55.61535731781714],[-117.71885816224324,55.598757528943196],[-117.69536601240095,55.58115012231888],[-117.70186583434646,55.5633932161531],[-117.7334381537274,55.55772768598415],[-117.75632567702993,55.55884651402522],[-117.78237698622574,55.55349876290227],[-117.8268300229391,55.5493326064422],[-117.8568222821286,55.5545441217726],[-117.89575842021945,55.55311093096824],[-117.92548568258924,55.5645014128328],[-117.94934696823104,55.557167731829814],[-117.97435871182574,55.56528018677557],[-117.97092755511613,55.575427551744006],[-117.98497522141832,55.58157456765384],[-118.02144499992336,55.57326398004049],[-118.05565914163849,55.573075522304244],[-118.07054414892372,55.54949997752779],[-118.09423639902421,55.545130167464144],[-118.1460158594826,55.54527653122525],[-118.18761897186738,55.551158210235926],[-118.19825940394152,55.5490208859343],[-118.19935709882118,55.54118977933408],[-118.16826950206577,55.5200227841819],[-118.14589321388742,55.511391980486124],[-118.14306168673151,55.492671065635946],[-118.17562621592573,55.47514755525491],[-118.16739791920803,55.45699707909956],[-118.19206931815158,55.45270827656821],[-118.21136229578298,55.4579108678695],[-118.21878131150073,55.4460660773029],[-118.19966091728774,55.44260437983026],[-118.19818761174112,55.4329075823008],[-118.22620261747787,55.41654836446736],[-118.23191501159468,55.40002885792872],[-118.21743419780626,55.361984965214475],[-118.2239741262082,55.35646046686494],[-118.27127572009246,55.339159770046585],[-118.28181169246629,55.32942996173036],[-118.29202361726088,55.29826825589817],[-118.28490488875971,55.275618461496265],[-118.27118931316127,55.251187481959036],[-118.25231323412362,55.2450849721725],[-118.28149340280228,55.21988166377818],[-118.27159089950815,55.206924070503554],[-118.23810831012337,55.199973266086026],[-118.22008169976785,55.181105773268946],[-118.2603147857183,55.14507996708643],[-118.27804082240168,55.13786546631625],[-118.31221382950775,55.13445706891732],[-118.32313059866897,55.144790660252184],[-118.34589773717222,55.14905267665336],[-118.36209420273214,55.14092167717901],[-118.36271040101529,55.12951986357409],[-118.38603892690777,55.11446097295165],[-118.413770211985,55.122999070861376],[-118.4462477059861,55.122029479377204],[-118.47139592546178,55.09975597809125],[-118.53107391425245,55.08644258028964],[-118.54560683051291,55.07448547538874],[-118.5773887101603,55.07173576467086],[-118.59746731506834,55.07819215843999],[-118.65385230362622,55.061244962964096],[-118.6852300032367,55.062178166711185],[-118.7255795966937,55.07341966091639],[-118.7366226053498,55.08108876968719],[-118.79693102082544,55.07432956644698],[-118.84496989174256,55.06058107359714],[-118.87687770791305,55.06162656713967],[-118.9076474101147,55.054494182414615],[-118.94375010719718,55.078782860250655],[-118.96798172417594,55.08021767335566],[-119.05152683041618,55.04643947776929],[-119.08206120958931,55.04337196203416],[-119.11300880899421,55.049633356835095],[-119.14660420449765,55.04952447944057],[-119.1885379164084,55.05403035712977],[-119.20442942728242,55.048951971445035],[-119.21419320741242,55.03663857516886],[-119.23785892547629,55.034322776527915],[-119.26813091630784,55.0445879586579],[-119.29958512940622,55.03853006694045],[-119.31163361862951,55.02191296142729],[-119.34351391111691,55.01126695571686],[-119.38579502804801,55.00219527119297],[-119.42250421137511,55.014197079621816],[-119.4576682224846,55.00279585529429],[-119.47215711126745,54.990455077815284],[-119.45340200625306,54.983283578336355],[-119.46507709988781,54.972200158526036],[-119.48634573176588,54.98143057238636],[-119.49769759320463,54.97920937329301],[-119.52915282954581,54.96093097726559],[-119.54742961485326,54.9593078826298],[-119.56860752837552,54.96876397232628],[-119.60066740104688,54.96262106587948],[-119.60405190318862,54.949540072986345],[-119.61720872695449,54.94049296896942],[-119.64036752118272,54.93764615848983],[-119.64367702756839,54.92608126718644],[-119.67862291578668,54.91873166402657],[-119.66818223922826,54.89023787575854],[-119.63639799384237,54.8867229668033],[-119.63240720293886,54.87177517016906],[-119.65602331156005,54.86517898278379],[-119.67284829943154,54.869837268198495],[-119.70186311069602,54.86841448390249],[-119.72108598624702,54.85389646527173],[-119.76055612045418,54.85187317624221],[-119.77831123913666,54.83347097280236],[-119.81687502349367,54.83348707055633],[-119.84996630422287,54.817864862361],[-119.86635670401162,54.81914227674277],[-119.86841441866528,54.79724086736013],[-119.84476401090723,54.78208588382129],[-119.84779760048123,54.77600956169642],[-119.8959089967101,54.76213676739306],[-119.92197403006017,54.74580306193729],[-119.9300205085884,54.727265068578276],[-119.96035029146265,54.72871856165559],[-119.97630022689147,54.749142281015764],[-119.99150962625735,54.74847845682283],[-119.9999999855039,54.73697509206525],[-119.99994100103746,54.490896764083445],[-119.99999998284919,54.26886872872125],[-120.00000000311599,53.93741038431441],[-119.96775841735837,53.94681160218903],[-119.94287975374984,53.94748590414943],[-119.91922898701898,53.943258156989046],[-119.90454570832983,53.92932134065713],[-119.87109911700608,53.92326182869136],[-119.86406736164183,53.91042300814276],[-119.84580014965404,53.908863342257625],[-119.81336191755179,53.894740745862705],[-119.77622572065881,53.89404824754347],[-119.72681051681086,53.924782347954796],[-119.67807831544893,53.929714315014174],[-119.66291225120325,53.94582819818557],[-119.64576263363152,53.95377158386882],[-119.6223370549789,53.984644236078914],[-119.55590606801697,54.01972015333352],[-119.53167725327188,54.01386134468458],[-119.51314684384919,54.02214661363656],[-119.48410249273228,54.024883632403636],[-119.4833512253892,53.95045636704881],[-119.48502507462257,53.84654557001333],[-119.19588517164642,53.845266718210304],[-119.14154140164217,53.84447556132562],[-118.9978090829893,53.844786668074285],[-118.99934049695601,53.8049364542608],[-118.89056375778831,53.805600890078566],[-118.51789360236766,53.80655469008903],[-118.1250571154491,53.806717114451],[-118.1183992021414,53.822151812421],[-118.12424152623166,53.854243259670824],[-118.11397964417478,53.87463761218733],[-118.09074446987444,53.895166965443536],[-118.06954763528314,53.90585361911437],[-118.0668773437721,53.91527647415621],[-118.04895294920264,53.92048111445283],[-118.02773536743346,53.9141384126102],[-118.01390941004843,53.92046060461448],[-117.91681453907334,53.93387996047578],[-117.88763910035682,53.94080982117836],[-117.87494961428024,53.9621198788616],[-117.83426660910817,53.965667317880076],[-117.82000203692868,53.957961271643406],[-117.79754720713272,53.95447850589199],[-117.78278100331826,53.95831986480553],[-117.75709124705365,53.981538581755444],[-117.73606406303288,53.98753951550678],[-117.73416081631382,53.999599863409124],[-117.69458417160888,54.01644806438628],[-117.68984733908582,54.0241993198295],[-117.64500904943047,54.02053841003511],[-117.59806361251248,54.02989936660244],[-117.57144742783446,54.03045352425119],[-117.52914079993695,54.05224602789447],[-117.49944079049358,54.0452064106318],[-117.48241812693333,54.03429880886844],[-117.39634305226222,54.02468922243943],[-117.38037355395952,54.02745166309],[-117.36141755728384,54.022518361551825],[-117.33492893090396,54.02356061248421],[-117.34064534994343,54.04004795794041],[-117.32896314187813,54.05140971559046],[-117.29708183102801,54.04807071807458],[-117.26431284412291,54.05208627641975],[-117.24641296147892,54.03562162168684],[-117.27694075928595,54.032066725910965],[-117.28931530256932,54.00636530623751],[-117.25404397444251,53.98584337743961],[-117.24234513218768,53.99037080859617],[-117.22719190726728,54.00847061868944],[-117.216141157702,53.99664452860641],[-117.18915713026523,53.99084061518286],[-117.17383736219932,54.00014831887438],[-117.1617901643208,53.99636686033099],[-117.16754482582819,53.9826038748564],[-117.12889451021857,53.98541701463365],[-117.11303635280326,53.975015022067105],[-117.09739712996118,53.97365797732219],[-117.08210716392335,53.985594191061445],[-117.05819065497077,53.97710427740236],[-117.0507115052433,53.99274956762342],[-117.03310252235826,53.99352971951422],[-117.03093648811063,54.003662444708304],[-117.00107905200241,54.002907756854384],[-116.95423880514491,54.016702865532025],[-116.91912026494306,54.00613442759786],[-116.90551690367916,54.007723758404374],[-116.88203509823116,54.00007781437752],[-116.83713493461477,54.006008267876105],[-116.83736862583373,54.01734237039038],[-116.80849251404662,54.03582666704526],[-116.78009671830559,54.03929636556754],[-116.77305661805916,54.04538431898691],[-116.77172751087463,54.06504402757117],[-116.7499098529634,54.10008306626026],[-116.73221195880569,54.11436770600721],[-116.69889801426052,54.12191990380154],[-116.65724863538033,54.12381973505425],[-116.63057967058873,54.13988505037004],[-116.5962301646127,54.14978582192111],[-116.58664976081835,54.1562534075866],[-116.56408533010699,54.15723451763927],[-116.52605143193098,54.16890701582592],[-116.49527608711284,54.185982618443276],[-116.47468344439287,54.20550570595645],[-116.39916913602157,54.2233703484313],[-116.36863338677514,54.218270427685376],[-116.3569802357673,54.228075625395284],[-116.32461221110762,54.234433235198054],[-116.2980496168331,54.230475751103086],[-116.28586166754742,54.2413283325138],[-116.25041864383107,54.25610299035364],[-116.25088656508099,54.291430793810925],[-116.2588481972426,54.29741491141619],[-116.25492694834014,54.32650281828609],[-116.1005108738173,54.32631390591694],[-116.10147919918215,54.414540494431456],[-115.97005407229999,54.412568996349236],[-115.96588778725143,54.50003802985683],[-115.96249582111322,54.50003646860606],[-115.96690828926883,54.58789609374641],[-115.96768114824226,54.76261858303178],[-115.9861033361777,54.76206715033787],[-115.9843732789739,54.84956602918686],[-116.45427784244657,54.850870776326566],[-116.74542397304921,54.85029231409346],[-116.74652042087178,54.957282857436354],[-116.74243509206214,55.0605180784576],[-116.7426394622658,55.112591616084394],[-116.9245484968042,55.11256269732655],[-116.92431947449798,55.31638539739036],[-116.92031889719121,55.373881766665605],[-116.97566711108257,55.374644101350434],[-117.38934188874877,55.37458380739141],[-117.53865779446922,55.374931103848],[-117.5394825409066,55.461625483407545],[-117.57094821803489,55.46153640859737],[-117.57085878203162,55.53005077427258],[-117.56876335846862,55.67026354497168],[-117.58804370405548,55.680413264642226],[-117.63002616708974,55.67150837321985]],[[-117.46352668389918,55.141826401513434],[-117.4438249228918,55.14196545597939],[-117.44444888401324,55.1266814312999],[-117.43035887152111,55.1261972774339],[-117.42946506269139,55.112552151598095],[-117.46852121031405,55.112632101410746],[-117.488597709224,55.130940076851786],[-117.48465564249078,55.14009888048785],[-117.46352668389918,55.141826401513434]],[[-117.29375270309605,55.083197198141235],[-117.25540668234507,55.08015707517678],[-117.25549470882238,55.04608763415953],[-117.29407002567157,55.04620039894257],[-117.29375270309605,55.083197198141235]],[[-116.81439330395968,54.42159369815223],[-116.78750904683989,54.42149425351486],[-116.77917420935431,54.41445972749642],[-116.77784906955884,54.39059545383907],[-116.75579407672133,54.38699750028943],[-116.75481289711739,54.37459814827522],[-116.8238077072745,54.39870140184502],[-116.83907309375392,54.40862122109992],[-116.83749693259436,54.42149558400017],[-116.81439330395968,54.42159369815223]],[[-117.56361242887553,55.081709528622156],[-117.52126631969435,55.066746766288375],[-117.49928265810178,55.07776284325915],[-117.48543731042184,55.078414306705604],[-117.45891915272006,55.09104473958567],[-117.36205182352776,55.09052290943633],[-117.36258274903068,55.03053494483265],[-117.50955664966536,55.03054138590639],[-117.5109786916327,54.96502166404624],[-117.53249310473548,54.966649962588136],[-117.54707259949559,54.98519975752183],[-117.56781307587075,54.98646388496092],[-117.56910941701122,54.97036207722438],[-117.64109877722052,54.96740461047019],[-117.63818418190847,55.053998881718236],[-117.62151291696483,55.06189716419361],[-117.58662256052897,55.061159635246256],[-117.5859028820934,55.092698151665424],[-117.57024129759947,55.09408976671355],[-117.56361242887553,55.081709528622156]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-118.08675304697441,\"lat\":54.572723617239404},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4818\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4818015\"],\"csd_name_en\":[\"Greenview No. 16\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Greenview No. 16\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-118.92320058527955,55.242196873549446],[-118.92319507346969,55.221540866690106],[-118.9631966526476,55.220840160816486],[-118.95972959476734,55.163694217533326],[-118.87183385588042,55.16324884079952],[-118.87182803978354,55.14980626320359],[-118.84617060406033,55.14143300325669],[-118.84627650595367,55.13183228853377],[-118.81888984677165,55.12710414477483],[-118.75036381172363,55.12703785105914],[-118.74371771442149,55.14158489164048],[-118.73084018295451,55.14159150703693],[-118.7309156189309,55.18513196976306],[-118.71802329434932,55.192530325556035],[-118.67846157038973,55.19260881867353],[-118.67964858062578,55.214204858597796],[-118.76926221429567,55.2142502971497],[-118.76924458743407,55.20702470736715],[-118.84393307276848,55.20694663399191],[-118.8461861882896,55.22924979270886],[-118.86076670000745,55.24253509909301],[-118.92320058527955,55.242196873549446]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-118.83327845989973,\"lat\":55.18425198177862},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4819\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4819012\"],\"csd_name_en\":[\"Grande Prairie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Grande Prairie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-118.00048857804907,56.16003699312554],[-118.31372752918728,56.15999990471383],[-118.5052036957342,56.159920062553006],[-118.78353979394785,56.15989620762346],[-118.78368149099863,56.130730602864304],[-118.90282503998682,56.13049864485333],[-118.88652036138102,56.113042876950246],[-118.88793120432501,56.0947861979582],[-118.92796942474288,56.069399662902974],[-118.93042257300402,56.059172546916656],[-118.91120241021275,56.04193996257786],[-118.88492866655692,56.03122298019791],[-118.85859411530973,56.030172378319946],[-118.82883818978074,56.02106762166101],[-118.82143193684703,56.01356412446803],[-118.81748373416067,55.991441079010784],[-118.80520719324326,55.9614742635908],[-118.7867653232262,55.94589116032835],[-118.76708550427762,55.94130377302706],[-118.72268240763422,55.937250072501094],[-118.69653978526554,55.92977757202447],[-118.6457631156835,55.92777595924239],[-118.62784111078737,55.92276918916882],[-118.59932262054137,55.91856435678896],[-118.5526056229544,55.922843174934286],[-118.52322112092651,55.91594927437038],[-118.501219783924,55.905437463737464],[-118.44465911450871,55.899096257708244],[-118.39346659799084,55.904251983171086],[-118.35042001087808,55.90185237025071],[-118.32443631057089,55.91563888381112],[-118.29908730291447,55.920336379242364],[-118.27082092503467,55.91004257344501],[-118.19716501936534,55.92090197930746],[-118.13938201095299,55.912251678423274],[-118.07556399290013,55.91453126910676],[-117.99999990911306,55.90968808041305],[-118.00061133546008,56.06805008670424],[-117.99919954509143,56.115525167042975],[-118.00048857804907,56.16003699312554]],[[-118.40529370001515,56.08718348108572],[-118.35345583246367,56.087218450708555],[-118.35286890084708,56.06525697355849],[-118.36592450296284,56.050786794111225],[-118.39195907551299,56.05067239376984],[-118.40489968108855,56.05846118735796],[-118.40529370001515,56.08718348108572]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-118.41918943128279,\"lat\":56.039624085083375},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4819\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4819066\"],\"csd_name_en\":[\"Fairview No. 136\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Fairview No. 136\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.35854367899661,56.24816865588494],[-117.61108738328984,56.24748989609697],[-118.00042560259844,56.24738999536726],[-118.00048857804907,56.16003699312554],[-117.99919954509143,56.115525167042975],[-118.00061133546008,56.06805008670424],[-117.99999990911306,55.90968808041305],[-117.97054572551929,55.91375097684759],[-117.93940668347129,55.92835226240632],[-117.88938892955781,55.934419378737275],[-117.8685276903357,55.942018077459544],[-117.83866061961766,55.968071067325404],[-117.77928969131622,55.99361896292819],[-117.74703109557166,56.017356669318644],[-117.722534118799,56.0246063686324],[-117.69433901832382,56.02405126852897],[-117.65646828349429,56.03079326674862],[-117.6439429294526,56.04034357346112],[-117.64142929703644,56.05488736961388],[-117.61870672472479,56.06828577446417],[-117.5669882950528,56.09307986922447],[-117.53016610729617,56.09688176563116],[-117.5001065626964,56.10411082713495],[-117.47971460513374,56.11793056881894],[-117.4669922789541,56.136888663571824],[-117.4369925092966,56.15212675517332],[-117.41436112185974,56.155092062733004],[-117.38560868358562,56.16646477860591],[-117.3416808078686,56.177224259181195],[-117.33472245783517,56.185653721424266],[-117.31126574293627,56.191836130479494],[-117.28837769890748,56.205686858724505],[-117.30703948372616,56.20578632657399],[-117.32423696178877,56.19499928918486],[-117.34811755090294,56.19694241089262],[-117.34771787063227,56.21881456493147],[-117.35857418667081,56.21865532830907],[-117.35854367899661,56.24816865588494]],[[-117.72283956284534,56.14787386427837],[-117.72936625441822,56.13755170715472],[-117.74646783378304,56.14661149362375],[-117.72283956284534,56.14787386427837]],[[-117.61904971556989,56.20378859039288],[-117.58360368711269,56.198552575096286],[-117.58348518272155,56.18063018881029],[-117.63684469822635,56.18063755826074],[-117.63681328596762,56.19664229740582],[-117.61904971556989,56.20378859039288]],[[-117.82433237939104,56.10156325447231],[-117.82492859124986,56.069468112018775],[-117.87922249134002,56.06945269189473],[-117.88016762064427,56.12017001842475],[-117.85038372835598,56.12016886705062],[-117.82407632890421,56.1277167921457],[-117.82433237939104,56.10156325447231]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.7460699508806,\"lat\":56.12727910785435},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4819\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4819071\"],\"csd_name_en\":[\"Peace No. 135\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Peace No. 135\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.72283956284534,56.14787386427837],[-117.74646783378304,56.14661149362375],[-117.72936625441822,56.13755170715472],[-117.72283956284534,56.14787386427837]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.73289121701553,\"lat\":56.144012355018944},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4819\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4819072\"],\"csd_name_en\":[\"Berwyn\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Berwyn\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.11966147647651,49.43779470371825],[-117.22963811888293,49.43629400477017],[-117.22904354589897,49.41141658926943],[-117.25017552619022,49.41152145694821],[-117.27593068013891,49.42071634278875],[-117.30649753575366,49.418053525730365],[-117.31989783507127,49.41014528638547],[-117.33481889556536,49.41229809232516],[-117.37277308413366,49.39587748877607],[-117.39049898339756,49.392341657583074],[-117.41692343393164,49.39353178994888],[-117.4133772617729,49.382572583723864],[-117.43020144758204,49.37500032966731],[-117.4328926556194,49.36109988882294],[-117.45143963195696,49.35267955599327],[-117.461001215864,49.33872286501865],[-117.49121921591279,49.33745224202128],[-117.49396124076006,49.17548721728699],[-117.48385391617512,49.16441183385196],[-117.50579753454265,49.157748930299064],[-117.51082029327152,49.12358095955857],[-117.5205235487126,49.123666809441055],[-117.52108378315998,49.08806024919708],[-117.46543061310206,49.08816612066588],[-117.46965213885188,49.000666577083685],[-117.26835304311057,49.00002275068393],[-116.91355060811951,49.00007813374363],[-116.89621578834198,49.010663872174646],[-116.88535519849468,49.02845858492575],[-116.89053216225938,49.042683123025284],[-116.9208041598554,49.05557827361364],[-116.92451254571353,49.06423869839881],[-116.96174047570894,49.05933989315418],[-116.95941647914833,49.05330983333239],[-116.99276705575942,49.05046358218062],[-117.00973124242618,49.057055064923325],[-117.03035940921359,49.05094104827086],[-117.05441428917045,49.06947948016994],[-117.04722600916365,49.077462030186396],[-117.05660750522878,49.09524684180699],[-117.04709032342355,49.104499600572325],[-117.04629238594862,49.11820069267075],[-117.02620092502347,49.1290411806884],[-117.02512579066219,49.14127283246314],[-117.03882676381255,49.156073794696105],[-117.02939082688455,49.16398943219453],[-117.04468556050342,49.17834612809311],[-117.04734945904582,49.20233327062729],[-117.02984690384932,49.230137312914],[-117.03092418850943,49.23915318545272],[-117.0113480259456,49.24682028320746],[-117.00975730188878,49.254143236013846],[-117.04678899458322,49.28668018814744],[-117.0712308314772,49.2882581503551],[-117.06285695352784,49.306901124266425],[-117.07157575242282,49.321597701656515],[-117.05399684249672,49.36451554122612],[-117.06347452467261,49.382530412543474],[-117.10587670048874,49.38697290655956],[-117.10035923848638,49.4181846395305],[-117.12066808240841,49.431446972624485],[-117.11966147647651,49.43779470371825]],[[-117.2937753461158,49.198352498629085],[-117.2717447765509,49.198471150203034],[-117.27096602050024,49.181903832168736],[-117.2937753461158,49.198352498629085]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.2495305609869,\"lat\":49.195157354029305},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5903\"],\"cd_name_en\":[\"Central Kootenay\"],\"csd_code\":[\"5903047\"],\"csd_name_en\":[\"Central Kootenay G\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Central Kootenay\",\"csd_name_fr\":\"Central Kootenay G\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.74939639796605,49.10214798642979],[-119.74769853798863,49.09695948046223],[-119.71462084811577,49.096958596301995],[-119.71704267511528,49.1354010659591],[-119.7605805905656,49.13551901675656],[-119.76088802195608,49.113418711060476],[-119.74939639796605,49.10214798642979]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.7369104152582,\"lat\":49.11708187553294},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5907\"],\"cd_name_en\":[\"Okanagan-Similkameen\"],\"csd_code\":[\"5907801\"],\"csd_name_en\":[\"Lower Similkameen 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Okanagan-Similkameen\",\"csd_name_fr\":\"Lower Similkameen 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.76779367231723,49.932710253335756],[-122.79540779740272,49.93617978477893],[-122.80056069712788,49.92060048542762],[-122.85061799626564,49.91861036165716],[-122.86993473161571,49.90351494753698],[-122.89656566974934,49.89481837256128],[-122.91635487997868,49.91313602689557],[-122.93648257666872,49.917408009381404],[-122.96201255239237,49.90257664633004],[-122.97389329838163,49.88279946369638],[-123.00248067138264,49.856107236009294],[-122.98524343300961,49.85747455511842],[-122.964654188915,49.83499511243596],[-122.92490854989938,49.83198750463921],[-122.90194464428299,49.82465259726052],[-122.880550753375,49.82699457218065],[-122.87367107385128,49.81847795159122],[-122.88991258343998,49.80195424031206],[-122.86759044325726,49.775663228031625],[-122.87143619670208,49.77047192629149],[-122.85579436985184,49.75617960649204],[-122.8553108326616,49.74346152404376],[-122.83466252520364,49.729904170252674],[-122.81420399155287,49.711243938650796],[-122.81528885868092,49.69630885884966],[-122.8524273292758,49.67150864495653],[-122.83122868405027,49.658086384086246],[-122.82833425344855,49.64304450114383],[-122.81136175933952,49.61923292675175],[-122.82772198025063,49.612804538350915],[-122.8355773434717,49.599656416699524],[-122.81608574841671,49.57235386256782],[-122.77988331531586,49.574275339567166],[-122.70008679969519,49.57355454365085],[-122.68314201125581,49.55347780308336],[-122.65542317466361,49.53964890002054],[-122.60814378576447,49.54170208141296],[-122.60229900602451,49.52446558524834],[-122.581689210493,49.4905779894993],[-122.53295229551694,49.47252899995695],[-122.52811139362846,49.45786851475804],[-122.55549920696032,49.415942110842735],[-122.56314504830006,49.39143457146155],[-122.59110291255,49.358607896583855],[-122.60329515787801,49.35312529496375],[-122.57539780212866,49.352431714833266],[-122.4541379309332,49.35359430730385],[-122.40996471191187,49.35295039719845],[-122.30099146610084,49.35582288292446],[-122.29441898548414,49.323950679303614],[-122.29835243356797,49.312710668878076],[-122.27313729136561,49.28311249107908],[-122.27103067693697,49.26380064105949],[-122.2699681046833,49.17664162087146],[-122.24890540659692,49.176358522613356],[-122.20308529584258,49.17516113854626],[-122.20242933961565,49.198574828007175],[-122.12767482427905,49.19817258186605],[-122.10713471007102,49.219464816831504],[-122.07280113382643,49.2387809660377],[-122.0529884497006,49.25981648518743],[-122.01851095373962,49.26976707607316],[-122.01636488300613,49.28324605920883],[-122.04428720094894,49.302071077452155],[-122.08439651021658,49.32282606404291],[-122.08671459876692,49.332196538654735],[-122.12178968910862,49.335480628150925],[-122.13466009833111,49.31361939052822],[-122.16123654841255,49.321443382264405],[-122.17108451663287,49.34703203721808],[-122.15282467483226,49.36586147045434],[-122.16731009226174,49.37248492474898],[-122.18381498074604,49.3972741648274],[-122.16550310629343,49.42249502824847],[-122.13990006194267,49.444978535853735],[-122.14715349149301,49.458214226547],[-122.13939221319649,49.48225219616762],[-122.12701613191787,49.48732814336958],[-122.13447823331178,49.5005078920592],[-122.13102984070221,49.512641042782455],[-122.11228122250677,49.52998618665922],[-122.08048220483529,49.54222177989148],[-122.08125029748074,49.55984478096894],[-122.07173901372757,49.58120280872792],[-122.09430129318602,49.59550549176203],[-122.10297460489203,49.60896144212403],[-122.13102045619665,49.601677685744306],[-122.16482706445471,49.60660019893865],[-122.19341846115496,49.590442586846684],[-122.23680658810618,49.5865089787872],[-122.25367952400421,49.59975564912449],[-122.27883330887994,49.60359290883008],[-122.2927400483735,49.610817065997715],[-122.28194325515857,49.643862118939126],[-122.28272192831734,49.65764809061199],[-122.29679954639276,49.663292688676705],[-122.33335500665706,49.66371446131017],[-122.3486657369632,49.65926912193448],[-122.34036378544661,49.63473456318886],[-122.34504012497042,49.62132649170494],[-122.38882536646605,49.627140114730565],[-122.40289815219305,49.64016040895638],[-122.44575898662416,49.63599261686095],[-122.45443796603641,49.64100242297894],[-122.4622114821184,49.66748312907717],[-122.4753001988767,49.676620790455],[-122.46659598251706,49.6849788188857],[-122.47508162763326,49.694502592013976],[-122.46778590887425,49.706278223075024],[-122.45146079618539,49.715637351502565],[-122.42412417968242,49.71333317779141],[-122.41706814511268,49.72036417905004],[-122.43186680018378,49.73370049431969],[-122.41808223385272,49.748167543526115],[-122.43103137603448,49.75774241635163],[-122.45382414066832,49.749777477541095],[-122.48490052307959,49.77778564269465],[-122.51676943170688,49.784579870047914],[-122.52610830301614,49.778671995703924],[-122.5846066453968,49.78285995084661],[-122.60251670357381,49.776776361238745],[-122.63877177958594,49.775286126730144],[-122.64881567481645,49.78763608766807],[-122.6373460170279,49.80572940382125],[-122.66484348375462,49.823777452331804],[-122.65176067361767,49.83690210000493],[-122.61622139564955,49.83505920784088],[-122.60846878005002,49.86101968134388],[-122.57867220170247,49.87023982541437],[-122.58646198359666,49.878072862908915],[-122.6391188351958,49.872341186091106],[-122.67691478800067,49.87387882928196],[-122.69952856644919,49.87962654993095],[-122.71993335966158,49.89203335943294],[-122.74656861137153,49.89142215427116],[-122.75177915720582,49.91370472222195],[-122.76779367231723,49.932710253335756]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.4827441988624,\"lat\":49.57146137666254},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909060\"],\"csd_name_en\":[\"Fraser Valley F\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Fraser Valley F\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.9337667142806,49.23366690268475],[-121.95266130747804,49.236211141597046],[-121.94167924626954,49.22930258289156],[-121.9337667142806,49.23366690268475]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.94270242267608,\"lat\":49.23306020905778},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909833\"],\"csd_name_en\":[\"Scowlitz 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Scowlitz 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-122.93264774200699,49.310394889332315],[-122.93742916330343,49.314192862517025],[-122.93901926626808,49.310799955125965],[-122.93264774200699,49.310394889332315]]],[[[-122.66792100493227,49.19622640516579],[-122.7133025145587,49.20907590516996],[-122.73066970958745,49.21109798939875],[-122.72500718228359,49.19259210368619],[-122.71581301678465,49.184669193324055],[-122.69308721667436,49.18405250680342],[-122.67883718360788,49.187549867767956],[-122.66792100493227,49.19622640516579]],[[-122.68935475756453,49.186644683180475],[-122.70109558208318,49.18473862322372],[-122.70080144371359,49.191494749887156],[-122.68926474119289,49.19145392462432],[-122.68935475756453,49.186644683180475]]],[[[-122.81608574841671,49.57235386256782],[-122.87775138555423,49.572757945302705],[-122.94504470848462,49.5705427449884],[-122.92421431524488,49.54842971557776],[-123.10230746179492,49.547783572406665],[-123.10280206154651,49.4821966935482],[-123.27486868816247,49.48110287112881],[-123.28891323172172,49.43986379777524],[-123.30295103267717,49.41910523497682],[-123.30032082698074,49.40752908298085],[-123.31434232532713,49.393208310476275],[-123.31333147622382,49.37598848953955],[-123.33253512519514,49.34887121275161],[-123.3560877559971,49.33205404145926],[-123.36634761881601,49.32946428886369],[-123.41918037054393,49.329292932919515],[-123.4394525439831,49.33772297145804],[-123.44670770894152,49.336647896335556],[-123.47454509349575,49.30717770573677],[-123.51151896368,49.30909011902223],[-123.57130823319761,49.3108814591227],[-123.73837752680708,49.31233839977494],[-123.69350096646868,49.300834402386414],[-123.61505892074632,49.273302204083194],[-123.547807442572,49.242964199753466],[-123.50000187401457,49.21473496754862],[-123.46822061147883,49.183581613955646],[-123.4348002950749,49.129358854319236],[-123.35712180300476,49.00278449644885],[-123.3185514123976,49.00006582379275],[-123.27176556983682,49.00223077059049],[-123.19915104654626,49.00216083535419],[-123.35208880838084,49.08215317697845],[-123.29990187388017,49.10371895637877],[-123.30496920349745,49.10396836777896],[-123.29942268192691,49.259175471198134],[-123.25635695408525,49.25636297803527],[-123.25261593266073,49.25104025106915],[-123.22157442344542,49.23699892626281],[-123.19708119759427,49.23505231043313],[-123.19654519717523,49.25652330338512],[-123.21538831855015,49.25851270065117],[-123.22473441137858,49.27267504651753],[-123.22149815168298,49.28290432932489],[-123.16424854650259,49.282302966773905],[-123.16313950194589,49.31661268142512],[-123.13838718386044,49.31571756046734],[-123.15630294305869,49.324746289035765],[-123.20975603417182,49.33748796627691],[-123.2374313210522,49.336793301154685],[-123.2637411518321,49.327564365046875],[-123.26927310015303,49.34358505393717],[-123.2852660035867,49.35495618123281],[-123.2955266146309,49.37047323716896],[-123.29162310532742,49.378118503603595],[-123.26777405428308,49.384106285428594],[-123.25585406370038,49.39918228703488],[-123.24147728597471,49.40811015926802],[-123.12380625642449,49.40619926833434],[-122.94884919848003,49.40939379108511],[-122.89934986381435,49.41454595607358],[-122.86933767464983,49.413808529661075],[-122.87840431340298,49.381880185972236],[-122.83362676074316,49.382046452998104],[-122.83206558819559,49.364980250871255],[-122.82232139192114,49.35162572558135],[-122.68121851752576,49.35086371593469],[-122.61818028273343,49.3512732693741],[-122.60329515787801,49.35312529496375],[-122.59110291255,49.358607896583855],[-122.56314504830006,49.39143457146155],[-122.55549920696032,49.415942110842735],[-122.52811139362846,49.45786851475804],[-122.53295229551694,49.47252899995695],[-122.581689210493,49.4905779894993],[-122.60229900602451,49.52446558524834],[-122.60814378576447,49.54170208141296],[-122.65542317466361,49.53964890002054],[-122.68314201125581,49.55347780308336],[-122.70008679969519,49.57355454365085],[-122.77988331531586,49.574275339567166],[-122.81608574841671,49.57235386256782]],[[-123.2436064139266,49.47653034966727],[-123.2304239873683,49.470311624365245],[-123.2289861215735,49.44864653271991],[-123.24408009870523,49.44880669908534],[-123.2436064139266,49.47653034966727]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.06582888291446,\"lat\":49.36666874412957},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5915\"],\"cd_name_en\":[\"Greater Vancouver\"],\"csd_code\":[\"5915020\"],\"csd_name_en\":[\"Metro Vancouver A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Greater Vancouver\",\"csd_name_fr\":\"Metro Vancouver A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.87756983834271,49.33015955900248],[-122.87766888947154,49.35160102352541],[-122.89440438882329,49.3560432145028],[-122.92844355991147,49.333003891873865],[-122.93742916330343,49.314192862517025],[-122.93264774200699,49.310394889332315],[-122.8900355212891,49.314130589306785],[-122.89592693479182,49.33017220924508],[-122.87756983834271,49.33015955900248]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.90517404321902,\"lat\":49.331347652009896},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5915\"],\"cd_name_en\":[\"Greater Vancouver\"],\"csd_code\":[\"5915036\"],\"csd_name_en\":[\"Belcarra\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Greater Vancouver\",\"csd_name_fr\":\"Belcarra\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.2436064139266,49.47653034966727],[-123.24408009870523,49.44880669908534],[-123.2289861215735,49.44864653271991],[-123.2304239873683,49.470311624365245],[-123.2436064139266,49.47653034966727]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.23707936339777,\"lat\":49.460847205103306},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5915\"],\"cd_name_en\":[\"Greater Vancouver\"],\"csd_code\":[\"5915065\"],\"csd_name_en\":[\"Lions Bay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Greater Vancouver\",\"csd_name_fr\":\"Lions Bay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.80600325568027,49.229298267999596],[-122.8045741248323,49.22982535269731],[-122.8042530817668,49.23156656948581],[-122.80700504636648,49.229795112426245],[-122.80600325568027,49.229298267999596]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.80540967721083,\"lat\":49.23022426406865},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5915\"],\"cd_name_en\":[\"Greater Vancouver\"],\"csd_code\":[\"5915805\"],\"csd_name_en\":[\"Coquitlam 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Greater Vancouver\",\"csd_name_fr\":\"Coquitlam 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.47336119314815,49.002302203316006],[-122.47336345961226,49.00822103748541],[-122.47905694795581,49.00816874962099],[-122.47943735323136,49.00229785633211],[-122.47336119314815,49.002302203316006]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.47630162521509,\"lat\":49.00521540459976},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5915\"],\"cd_name_en\":[\"Greater Vancouver\"],\"csd_code\":[\"5915825\"],\"csd_name_en\":[\"Matsqui 4\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Greater Vancouver\",\"csd_name_fr\":\"Matsqui 4\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.69398800241748,48.870840384765586],[-123.68731462089941,48.881465352399935],[-123.69963188401933,48.88184828445694],[-123.69398800241748,48.870840384765586]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.69364483577874,\"lat\":48.87805134054083},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5919\"],\"cd_name_en\":[\"Cowichan Valley\"],\"csd_code\":[\"5919801\"],\"csd_name_en\":[\"Halalt 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cowichan Valley\",\"csd_name_fr\":\"Halalt 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.06936968969,48.826611695392046],[-124.06977492149964,48.83184391857126],[-124.07640410088008,48.83202582927576],[-124.07575372060991,48.8243784592455],[-124.06959017352564,48.823751538545466],[-124.06936968969,48.826611695392046]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.07277742173655,\"lat\":48.82803367890187},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5919\"],\"cd_name_en\":[\"Cowichan Valley\"],\"csd_code\":[\"5919812\"],\"csd_name_en\":[\"Cowichan Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cowichan Valley\",\"csd_name_fr\":\"Cowichan Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.24855605693365,49.30652354470248],[-124.27512096019223,49.32996814553162],[-124.32039751990939,49.329258251896334],[-124.33449954699762,49.34066481669629],[-124.34904549659696,49.341154586441085],[-124.34703173598385,49.312676131811926],[-124.30149676239714,49.30519620326941],[-124.28386372233115,49.306947504642444],[-124.27275430788372,49.29997320287807],[-124.24431434821126,49.298657556167115],[-124.24855605693365,49.30652354470248]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.30200376687418,\"lat\":49.3182377102075},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5921\"],\"cd_name_en\":[\"Nanaimo\"],\"csd_code\":[\"5921018\"],\"csd_name_en\":[\"Parksville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Nanaimo\",\"csd_name_fr\":\"Parksville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.31221419229742,50.09509028272682],[-125.32065273978249,50.11061335673844],[-125.35191696581126,50.115195801498615],[-125.36148132151544,50.11148737673067],[-125.3628668653346,50.095386039110146],[-125.386496568807,50.088488522309824],[-125.31516188662118,50.087609765806846],[-125.32059603890701,50.059567374801006],[-125.31500972306532,50.0522504751115],[-125.36391344564692,50.05180499964564],[-125.38710259736698,50.04372680700234],[-125.40958706171932,50.02512292913235],[-125.41076554930521,50.00853301249461],[-125.41074660285321,50.00007268224575],[-125.3270716582186,49.99980135182666],[-125.31541525838729,49.98810675325698],[-125.31635814571237,49.959634877165335],[-125.30656504550811,49.94516790145885],[-125.29500680982267,49.94503987814969],[-125.2876673649078,49.93096858712091],[-125.28889448640558,49.916364706875555],[-125.22345665639924,49.915772241817365],[-125.1955825521568,49.915914685430344],[-125.20339532551067,49.92982811321818],[-125.20346341184826,49.94494693390257],[-125.19135746793312,49.95087511444205],[-125.21950271569702,49.98276642465713],[-125.22827788873074,50.00033719260676],[-125.2288264979523,50.01572167376628],[-125.23963273558155,50.0312689183041],[-125.26189046860537,50.03051353616658],[-125.24435041899243,50.04644323470477],[-125.26785704907337,50.07747575755087],[-125.31221419229742,50.09509028272682]],[[-125.24157054910879,49.95647352486585],[-125.2364301063513,49.94473498965875],[-125.24833729820523,49.944029855197705],[-125.24157054910879,49.95647352486585]],[[-125.29240232576187,50.024485647330906],[-125.2838884929174,50.01402329384756],[-125.30276791498312,50.01433950840631],[-125.29240232576187,50.024485647330906]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.2924188581401,\"lat\":50.00601253207864},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5924\"],\"cd_name_en\":[\"Strathcona\"],\"csd_code\":[\"5924034\"],\"csd_name_en\":[\"Campbell River\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Strathcona\",\"csd_name_fr\":\"Campbell River\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.32851002293306,49.77689315153648],[-124.33954844652735,49.77540014400534],[-124.33939044840315,49.772545293411305],[-124.33059611461928,49.77345860323705],[-124.32851002293306,49.77689315153648]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.3344099655862,\"lat\":49.774641195655626},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5927\"],\"cd_name_en\":[\"Powell River\"],\"csd_code\":[\"5927806\"],\"csd_name_en\":[\"Sechelt (Part)\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian government district\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Powell River\",\"csd_name_fr\":\"Sechelt (Part)\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.6260853820538,50.9249547626597],[-121.62749484618871,50.99610887039958],[-121.84462349046368,50.99777955641233],[-121.91510340698797,50.996834280094106],[-121.91360004303682,50.98709167911766],[-121.96754677954205,50.98689825355905],[-122.16533913664877,50.99025213457542],[-122.1442372006161,50.99939919578748],[-122.14412905273461,51.01486413738064],[-122.1605183090064,51.02093098108248],[-122.17536539512338,51.01627326709911],[-122.19715214436089,51.01838526940725],[-122.27151580090602,51.037642424502856],[-122.306385424651,51.04441607037674],[-122.3011873763161,51.06174319338435],[-122.32731915740636,51.06127527276248],[-122.35839966655683,51.074551778528956],[-122.37633552396848,51.106982096351786],[-122.38707430822562,51.110494246274364],[-122.46533923229953,51.11422834838338],[-122.47775578370766,51.12589264270068],[-122.47584672783866,51.139347004473876],[-122.46077724407388,51.15187572365375],[-122.47078363365969,51.156658313525575],[-122.5078524956605,51.18771911130282],[-122.51470281122512,51.20423179206224],[-122.53027091901271,51.20918626290719],[-122.54762789326577,51.20180604248093],[-122.5580138041795,51.18434919556132],[-122.58977054870192,51.176625687598296],[-122.60249606993426,51.14257250420993],[-122.58661679032151,51.127595166384374],[-122.5957947663353,51.11769428660762],[-122.57939323298861,51.10340704122752],[-122.6041182368036,51.086236864228034],[-122.61844850494086,51.081196655137816],[-122.61497582004621,51.06753477924806],[-122.58979273518536,51.0563630808825],[-122.58658826324675,51.044406190340474],[-122.57253352586079,51.034060235233476],[-122.59453738523031,51.02727853591771],[-122.58794119484877,51.00944550172126],[-122.53676667088638,50.96151593946342],[-122.50214236706981,50.94898949873241],[-122.45423149061628,50.94376669864026],[-122.43211431572566,50.9327919516182],[-122.42947248408858,50.90314419166175],[-122.422368545745,50.895980498244434],[-122.34899819108264,50.855000180779996],[-122.2954327457787,50.82746965080752],[-122.27398795120418,50.83106620901761],[-122.22776009990628,50.86179313358733],[-122.19330137333951,50.85848899707216],[-122.17420711848118,50.86336200259987],[-122.14696744625932,50.851953726190494],[-122.12210900817678,50.842805558668],[-122.10227897635,50.825187018841284],[-122.06927627977069,50.8129444143689],[-122.03674984918048,50.819488623998225],[-122.02094851149654,50.8058016027677],[-121.969777269192,50.78777340686032],[-121.96113609860787,50.77054249072515],[-121.94681151484255,50.75694164353646],[-121.93262793054875,50.754921365097864],[-121.93430785194366,50.742934629795656],[-121.97687757946125,50.74311975165648],[-121.97641899732689,50.76163163570009],[-121.99094148345425,50.76156644686549],[-121.9904985600516,50.778930669328766],[-122.02435423960809,50.779196934371576],[-122.02428090387689,50.79361709830863],[-122.04361099330843,50.79370112083224],[-122.0430018633243,50.8081747222727],[-122.0656651366152,50.804922774492155],[-122.10257401903196,50.80513596460318],[-122.13706244128817,50.80928417522011],[-122.1374058120341,50.832355692026],[-122.14906263300279,50.832664815364495],[-122.16239823572273,50.81906386729214],[-122.13656913417121,50.798094481825395],[-122.11557179397883,50.78686981262089],[-122.09294417619387,50.769038839886335],[-122.09901664214463,50.741564109511295],[-122.128788153401,50.74338020694914],[-122.17212293062141,50.763977703358805],[-122.22596151544245,50.75565948295461],[-122.26248951576378,50.73869678986796],[-122.39152966259975,50.75452013416971],[-122.4489893032244,50.74391066559122],[-122.48893842125966,50.73971443787874],[-122.51326654830854,50.731701925041044],[-122.58818242332451,50.702155542326864],[-122.58893043767948,50.642358117693576],[-122.61146884047784,50.63567289302123],[-122.60986272699495,50.599792438595934],[-122.55039423892099,50.57981716556794],[-122.53719618530786,50.58046079173296],[-122.50414790777144,50.566508145246175],[-122.47837532578869,50.566635943890354],[-122.46701606128025,50.57820314003902],[-122.46677707948534,50.59104845616035],[-122.44978762480794,50.601950249538774],[-122.44816124754442,50.619451444521374],[-122.43149344666149,50.61614206369056],[-122.42949353394853,50.60150836896148],[-122.40893410228766,50.59131200132089],[-122.42707050424255,50.57401219822544],[-122.45041518922453,50.55812463185235],[-122.41885282534211,50.55264160569449],[-122.36086860700786,50.52439225464729],[-122.33776736440062,50.52056794015604],[-122.31153188941295,50.49491058062039],[-122.28730033499967,50.47542887941208],[-122.30406681839175,50.46298474966594],[-122.30444443707522,50.430923600812314],[-122.33593650756536,50.41616797616795],[-122.37127545323486,50.41105249238666],[-122.39654677220125,50.4111205622659],[-122.41425485070017,50.39850594737411],[-122.44601473526104,50.43034000844945],[-122.48543520544892,50.44346352746839],[-122.505362689106,50.441017950985724],[-122.49398603013914,50.42569405763216],[-122.50508771495403,50.41749837968752],[-122.52518821605885,50.4148000414274],[-122.5170667777707,50.38773724722238],[-122.49911534321309,50.392923434762594],[-122.47694583546968,50.383480208177005],[-122.47065018222216,50.358584631033374],[-122.43875097179607,50.33534754796712],[-122.40805769853267,50.33290895708602],[-122.36638152145206,50.311555489021984],[-122.35755942034112,50.28740181444541],[-122.37365936201573,50.26160951340704],[-122.34698541851549,50.25069127633929],[-122.35346504232024,50.23099222432868],[-122.30163009329088,50.229787286784706],[-122.29570553700357,50.25385628417543],[-122.26299423163579,50.25897294457661],[-122.2434532119933,50.27351065357641],[-122.23805829343974,50.28765128745688],[-122.24939169190014,50.30561482671808],[-122.23429582116285,50.32468896459096],[-122.19219627391773,50.33929282106634],[-122.17240818316408,50.33556001119661],[-122.16740236785083,50.34648532613945],[-122.14541934733981,50.36043152498141],[-122.15480509914242,50.37622591631576],[-122.11799557801481,50.4161280681231],[-122.13129640080344,50.42680213860066],[-122.11914122739884,50.43278394663732],[-122.09311638014186,50.433231305915434],[-122.07296789296558,50.425323430705326],[-122.04695595366246,50.431225390204425],[-122.04296439302071,50.4211004688226],[-122.01515140639692,50.41437906273872],[-121.96840525068302,50.41732372441803],[-121.95503998322705,50.401307351185345],[-121.92924559402857,50.40816704586498],[-121.91949385666874,50.41908560778788],[-121.88311958008202,50.41933245827396],[-121.86530262351151,50.427520621646664],[-121.86832445754636,50.436685098616145],[-121.85499883822416,50.44995822574906],[-121.86243253319742,50.46088489460861],[-121.85492943921457,50.47189196400465],[-121.83195774389011,50.48783058196848],[-121.82239703805843,50.505905799693224],[-121.80697368449093,50.51730930594164],[-121.78457940478516,50.51688907243066],[-121.78490768399108,50.530582172532675],[-121.80453543760623,50.53106524156325],[-121.80250463443934,50.555050533520735],[-121.7666424080669,50.55411853397074],[-121.76624407579465,50.54638153875979],[-121.76685674147596,50.57532683954974],[-121.76596858389708,50.750211984516135],[-121.74357322745756,50.750391531964475],[-121.74291375453065,50.79371014079446],[-121.72068815719447,50.7937187057892],[-121.71989252021886,50.83770026665225],[-121.6965979143845,50.83799405566442],[-121.69632348716569,50.852703377187694],[-121.67239632475585,50.85285256261618],[-121.67283307483247,50.88163385893976],[-121.64900679838235,50.88176735856105],[-121.64872751271027,50.89566626475735],[-121.62533767023426,50.89604108877572],[-121.6260853820538,50.9249547626597]],[[-121.83350524578135,50.70420403646527],[-121.84026118464384,50.704609653544175],[-121.83984428829216,50.70867346280514],[-121.83298900976712,50.70829406856144],[-121.83350524578135,50.70420403646527]],[[-121.80370337466658,50.68798260440808],[-121.80337929256997,50.68430889230906],[-121.81202699975267,50.68424239355966],[-121.81206946341297,50.68879673967452],[-121.80370337466658,50.68798260440808]],[[-122.29404420424216,50.705674179740974],[-122.29384023662433,50.700947590731694],[-122.30316645823424,50.70023027240586],[-122.30283473337258,50.70589205892245],[-122.29404420424216,50.705674179740974]],[[-121.8464654575338,50.586845569650656],[-121.84648760980383,50.57956784771556],[-121.8579882905819,50.579597624664714],[-121.85716480440333,50.59182081611249],[-121.8464654575338,50.586845569650656]],[[-121.91771502872216,50.76473127177678],[-121.91343753850006,50.754956584332106],[-121.93149924707075,50.75530727313615],[-121.91771502872216,50.76473127177678]],[[-121.86838240513212,50.74352180134918],[-121.86093785712895,50.742540676223555],[-121.86918977254955,50.73967077774323],[-121.87748143471796,50.73667624084273],[-121.88320583237696,50.745056252863336],[-121.86838240513212,50.74352180134918]],[[-121.79536463870993,50.628918355784016],[-121.80364542855271,50.648571737336376],[-121.79534738749932,50.64869988165953],[-121.79536463870993,50.628918355784016]],[[-121.83589596308636,50.76569152149898],[-121.85601582238914,50.78943620152741],[-121.83453072870347,50.789070632208386],[-121.82752598108065,50.78219646351682],[-121.83112291948743,50.76570564333277],[-121.83085180837416,50.75833276453954],[-121.83576902108592,50.76240812734456],[-121.83589596308636,50.76569152149898]],[[-122.27527441784757,50.706312564313755],[-122.27543757941181,50.702888426160435],[-122.28505009494772,50.7028369449282],[-122.28002657811973,50.70637878244096],[-122.2802999915219,50.728719319754],[-122.25300190675887,50.728043447741],[-122.24704293480279,50.72048931720257],[-122.27028423778619,50.71557046122743],[-122.27527441784757,50.706312564313755]],[[-122.22125192205533,50.735079405953584],[-122.17346186481004,50.73363682312145],[-122.18606802323241,50.72482496356811],[-122.22132209277025,50.730328834467244],[-122.22125192205533,50.735079405953584]],[[-121.81648625232253,50.89596118979956],[-121.83274543885285,50.8712621615997],[-121.85719474369897,50.86474216075594],[-121.8684500141281,50.867036554844475],[-121.86045199630853,50.888312701767504],[-121.86612772089555,50.897404471354726],[-121.81648625232253,50.89596118979956]],[[-121.90596594311451,50.720316850520156],[-121.89880388166527,50.70054599775494],[-121.8818052082011,50.69983498316647],[-121.8835404712732,50.680708670860525],[-121.86503415064627,50.64860100653402],[-121.88482629076654,50.64949516504053],[-121.91712616125086,50.66598416195207],[-121.9214056719644,50.66539291106237],[-121.89587591403571,50.64967366522257],[-121.89874050644052,50.64312998876195],[-121.92380477329147,50.64305875375055],[-121.92283192971857,50.65430851155894],[-121.94650172380346,50.666670389274245],[-121.98952891421274,50.66690887047751],[-121.98877483477796,50.66847606265857],[-121.98718153346223,50.6688392565413],[-121.95658250896601,50.67185132410411],[-121.95528659041533,50.69208606261585],[-121.94407035286903,50.6942607673048],[-121.93480825651463,50.6996552247129],[-121.93257951159791,50.73754662318602],[-121.91209683241682,50.71893669627566],[-121.91436334827551,50.72274156632622],[-121.90625456072019,50.72265629232987],[-121.90596594311451,50.720316850520156]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.14756015075007,\"lat\":50.725506785465136},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5931\"],\"cd_name_en\":[\"Squamish-Lillooet\"],\"csd_code\":[\"5931034\"],\"csd_name_en\":[\"Squamish-Lillooet B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Squamish-Lillooet\",\"csd_name_fr\":\"Squamish-Lillooet B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-122.27527441784757,50.706312564313755],[-122.27028423778619,50.71557046122743],[-122.24704293480279,50.72048931720257],[-122.25300190675887,50.728043447741],[-122.2802999915219,50.728719319754],[-122.28002657811973,50.70637878244096],[-122.27527441784757,50.706312564313755]]],[[[-122.22125192205533,50.735079405953584],[-122.22132209277025,50.730328834467244],[-122.18606802323241,50.72482496356811],[-122.17346186481004,50.73363682312145],[-122.22125192205533,50.735079405953584]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.23820010363158,\"lat\":50.72502382002748},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5931\"],\"cd_name_en\":[\"Squamish-Lillooet\"],\"csd_code\":[\"5931831\"],\"csd_name_en\":[\"Slosh 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Squamish-Lillooet\",\"csd_name_fr\":\"Slosh 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.28191759619304,51.51887000435118],[-122.33078893409925,51.524138252773355],[-122.36005922793343,51.517333357696],[-122.38176093540511,51.51860096998457],[-122.42758823563683,51.509859060856556],[-122.45600723091124,51.49507725402445],[-122.46919384629817,51.48211836084817],[-122.55971132420387,51.485122839964276],[-122.55938225957765,51.43544439106777],[-122.57318363277257,51.43440875764478],[-122.62411995115298,51.41721146621181],[-122.63728113134168,51.400734778834575],[-122.61341879613394,51.37255389773207],[-122.61760430230055,51.36169568557717],[-122.63219782017319,51.35460600360888],[-122.65101545043964,51.318616261062814],[-122.66454631588725,51.31677616991091],[-122.67572561867665,51.30233897449965],[-122.66971432544882,51.28843866478082],[-122.67488330730598,51.274371491466155],[-122.63085889893698,51.24876105560507],[-122.61397394534775,51.244664251492416],[-122.59836408346571,51.24877339104968],[-122.5713395706734,51.24758789948112],[-122.55232711636819,51.23782789323603],[-122.55152879048902,51.22975039988872],[-122.53027091901271,51.20918626290719],[-122.51470281122512,51.20423179206224],[-122.5078524956605,51.18771911130282],[-122.47078363365969,51.156658313525575],[-122.46077724407388,51.15187572365375],[-122.47584672783866,51.139347004473876],[-122.47775578370766,51.12589264270068],[-122.46533923229953,51.11422834838338],[-122.38707430822562,51.110494246274364],[-122.37633552396848,51.106982096351786],[-122.35839966655683,51.074551778528956],[-122.32731915740636,51.06127527276248],[-122.3011873763161,51.06174319338435],[-122.306385424651,51.04441607037674],[-122.27151580090602,51.037642424502856],[-122.19715214436089,51.01838526940725],[-122.17536539512338,51.01627326709911],[-122.1605183090064,51.02093098108248],[-122.14412905273461,51.01486413738064],[-122.1442372006161,50.99939919578748],[-122.16533913664877,50.99025213457542],[-121.96754677954205,50.98689825355905],[-121.91360004303682,50.98709167911766],[-121.91510340698797,50.996834280094106],[-121.84462349046368,50.99777955641233],[-121.62749484618871,50.99610887039958],[-121.6260853820538,50.9249547626597],[-121.44662517291754,50.92565487442191],[-121.44686322069053,50.937674767539235],[-121.39975229749228,50.9376800353802],[-121.39915681772432,50.925717548728194],[-121.07107758539125,50.924854087893564],[-121.0707108378236,51.01033508369548],[-121.07266749598863,51.07223809448595],[-121.05758770217506,51.063802360891735],[-121.01766893148428,51.0502850316499],[-121.02617790216634,51.07092155968146],[-120.99546976181188,51.08253691864259],[-120.97337004904718,51.059511344738205],[-120.94649681653453,51.04919646413372],[-120.93422479262104,51.05697976184872],[-120.93158133477485,51.0689155767095],[-120.9380048823751,51.090297680204564],[-120.97295083851209,51.10825473741472],[-121.00095810646258,51.13579793486426],[-120.975423109786,51.1685039325303],[-120.96032117520318,51.204127090907406],[-120.91753067249937,51.2144453997496],[-120.90530474098355,51.23185514218961],[-120.88658750253767,51.24472714042451],[-120.84216543370792,51.24516040856749],[-120.80396242168334,51.25070247037866],[-120.77513022671097,51.231807425208714],[-120.75738260738107,51.23132043827451],[-120.73517022436482,51.239692651885036],[-120.72054190729925,51.22334587395416],[-120.69446403679598,51.229190444596675],[-120.68111126753624,51.2151399061726],[-120.65383730460091,51.21963222157114],[-120.61701807425233,51.2165160992119],[-120.59286182058246,51.197617509107296],[-120.55777392969058,51.193571031415274],[-120.5608807504772,51.2497217013175],[-120.55800675059865,51.31293612800686],[-120.55760814061107,51.38024442671339],[-120.56072881186645,51.43461791161262],[-120.61910251394553,51.43340427561827],[-120.7219552101718,51.43444998735646],[-120.74247678779074,51.433567184389105],[-120.8334670298005,51.435158628884835],[-120.89574822040731,51.44229410003995],[-120.9483287205719,51.445102190586596],[-120.96070954061489,51.439859286240285],[-121.00149137676942,51.43895117332108],[-121.0017202573667,51.429060077880074],[-121.04760100945427,51.42984760909036],[-121.0633504465031,51.43585607100216],[-121.13384203317229,51.439629720604636],[-121.17179210642696,51.430894255888425],[-121.21792021758893,51.41058271748472],[-121.27661851536045,51.379857793924074],[-121.28223123058731,51.376792364734776],[-121.33259892560268,51.377364701398726],[-121.36248565194039,51.38006779230911],[-121.42064190445292,51.37755958808855],[-121.42668305041163,51.401461620155],[-121.42616168787305,51.43670319887458],[-121.4738132023538,51.436453757059546],[-121.47558436952409,51.44595097837515],[-121.50896978718178,51.44649538998663],[-121.52514210501123,51.451053301569914],[-121.52662721583955,51.547723999183354],[-121.63049759542757,51.54738354247066],[-121.63108047730725,51.564048309204416],[-121.88589267595658,51.56613312607204],[-121.88572777364531,51.51784655288858],[-121.94636410065043,51.5170016062985],[-122.00003091032205,51.51631552542604],[-122.17903912864374,51.516110266458504],[-122.28226997701621,51.515899353453634],[-122.28191759619304,51.51887000435118]],[[-122.15932527083808,51.473061341180774],[-122.1427869638826,51.473290523198806],[-122.15163071300755,51.465139888423565],[-122.15932527083808,51.473061341180774]],[[-121.59235269489214,51.10434832953615],[-121.56258066699526,51.10653237869496],[-121.55997818380513,51.091697441202136],[-121.57428244977746,51.07938407581422],[-121.59696335574597,51.080088769336705],[-121.59984006082433,51.09081854353857],[-121.59235269489214,51.10434832953615]],[[-122.00693721273261,51.117073132345254],[-122.00661706640153,51.112544922086215],[-121.9608889308453,51.111779607010945],[-121.95997615696508,51.092675453687455],[-121.94800315447208,51.08060317816062],[-121.98497645509845,51.08437807898849],[-121.98630781995098,51.09909256422202],[-122.02826927272272,51.099917204651696],[-122.02707975275938,51.10767364262406],[-122.04985203219934,51.12331155280846],[-122.03969179194466,51.13981951012576],[-122.02368477904855,51.133061728836054],[-122.02146735895077,51.116299366238664],[-122.00693721273261,51.117073132345254]],[[-121.97769663661286,51.41046558692634],[-122.00094750910267,51.4070058090652],[-122.0002071591557,51.42455989130738],[-122.08686415909943,51.42535805120648],[-122.08631377706708,51.45165106722969],[-122.06560178429224,51.451306276543086],[-122.06660933700302,51.438407765256585],[-121.97747657421003,51.43582144505554],[-121.97769663661286,51.41046558692634]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.66523220217186,\"lat\":51.252439648313114},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933032\"],\"csd_name_en\":[\"Thompson-Nicola E (Bonaparte Plateau)\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Thompson-Nicola E (Bonaparte Plateau)\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.00693721273261,51.117073132345254],[-122.02146735895077,51.116299366238664],[-122.02368477904855,51.133061728836054],[-122.03969179194466,51.13981951012576],[-122.04985203219934,51.12331155280846],[-122.02707975275938,51.10767364262406],[-122.02826927272272,51.099917204651696],[-121.98630781995098,51.09909256422202],[-121.98497645509845,51.08437807898849],[-121.94800315447208,51.08060317816062],[-121.95997615696508,51.092675453687455],[-121.9608889308453,51.111779607010945],[-122.00661706640153,51.112544922086215],[-122.00693721273261,51.117073132345254]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.99984293949953,\"lat\":51.107456896498974},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933819\"],\"csd_name_en\":[\"High Bar 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"High Bar 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.60009399971699,50.25211504017991],[-121.59963508994835,50.250301358190896],[-121.60319296122209,50.24879636835379],[-121.6016015020511,50.247309383863445],[-121.5960007448199,50.25043646648875],[-121.60009399971699,50.25211504017991]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.59968367131552,\"lat\":50.249607874151486},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933852\"],\"csd_name_en\":[\"Nohomeen 23\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Nohomeen 23\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.1266640439186,51.134852175407076],[-120.12781847419669,51.13397607756493],[-120.12497785512748,51.1332607376815],[-120.12463462512396,51.13526063008106],[-120.1266640439186,51.134852175407076]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-120.1259118403947,\"lat\":51.134261632571615},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933888\"],\"csd_name_en\":[\"Louis Creek 4\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Louis Creek 4\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.50698170862607,49.917952283726805],[-119.53053579428742,49.924555555215164],[-119.53344709866349,49.93981111989952],[-119.61800309773511,49.938230812380894],[-119.61727889126728,49.914725704041025],[-119.63785568620999,49.90456166615129],[-119.61591334805134,49.89808732991295],[-119.6198425284443,49.884972616160304],[-119.66275026958643,49.879851916687606],[-119.71417555228271,49.85879923800901],[-119.72492715690447,49.859091413137655],[-119.72589870426052,49.805690996221024],[-119.70672400956134,49.80255376660225],[-119.66434986177752,49.80568595411934],[-119.6622994605338,49.79944081410732],[-119.64828082492271,49.787830701730144],[-119.5897711296186,49.801470753516],[-119.56454951274995,49.81000729722012],[-119.52218399602232,49.8368662100169],[-119.51545300630856,49.85093588899766],[-119.51149574249685,49.87874454745684],[-119.51827449350861,49.90397710086642],[-119.50698170862607,49.917952283726805]],[[-119.54651250050385,49.87713759750405],[-119.5463522630643,49.89474266606645],[-119.52621521650897,49.88819445689608],[-119.529275711441,49.87322176167164],[-119.54651250050385,49.87713759750405]],[[-119.59633863430096,49.85665697727252],[-119.58876549118048,49.831095787251485],[-119.62539429219773,49.83138719084698],[-119.62519415799193,49.84792860286144],[-119.60028331358285,49.847837514326955],[-119.59633863430096,49.85665697727252]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.60856064709918,\"lat\":49.86034905029161},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5935\"],\"cd_name_en\":[\"Central Okanagan\"],\"csd_code\":[\"5935029\"],\"csd_name_en\":[\"West Kelowna\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Central Okanagan\",\"csd_name_fr\":\"West Kelowna\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.20396338203803,50.76817212312795],[-119.20669859104457,50.770399781808145],[-119.32370132978475,50.75114781907399],[-119.38738532184871,50.75132807591049],[-119.38724767163588,50.725990626055136],[-119.38788734405118,50.63429768815059],[-119.24939498792912,50.633988433052274],[-119.2492301997631,50.663697871505526],[-119.18082643341994,50.66403054358253],[-119.18030244805844,50.750096811075316],[-119.17800854869746,50.75009593852145],[-119.17858917284842,50.76592133282798],[-119.20396338203803,50.76817212312795]],[[-119.3304931412827,50.72037313340667],[-119.33148435412977,50.73821404846184],[-119.30939322020835,50.73552216898598],[-119.31475910019637,50.720681187666614],[-119.31092541243392,50.70302315076333],[-119.31279540530797,50.69901113260372],[-119.34302446721895,50.6989101484721],[-119.34289953001408,50.72028141438062],[-119.3304931412827,50.72037313340667]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.28474102905969,\"lat\":50.700120706824634},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5939\"],\"cd_name_en\":[\"Columbia-Shuswap\"],\"csd_code\":[\"5939032\"],\"csd_name_en\":[\"Salmon Arm\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Columbia-Shuswap\",\"csd_name_fr\":\"Salmon Arm\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.56219538408563,50.88086270708062],[-119.55733302752381,50.88944215386861],[-119.57885504187462,50.90089426968821],[-119.60906621024864,50.90191272330083],[-119.66419384683739,50.86772658977897],[-119.64958725780389,50.85898682865351],[-119.6281951106276,50.87862106391267],[-119.60996142557744,50.87006325025438],[-119.60538801587671,50.86634146063707],[-119.58659613094045,50.869117256237644],[-119.56219538408563,50.88086270708062]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.6048884738592,\"lat\":50.88293277291479},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5939\"],\"cd_name_en\":[\"Columbia-Shuswap\"],\"csd_code\":[\"5939805\"],\"csd_name_en\":[\"Quaaout 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Columbia-Shuswap\",\"csd_name_fr\":\"Quaaout 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.17903912864374,51.516110266458504],[-122.17911171845053,51.5444462328211],[-122.21928073148872,51.54483239822729],[-122.21918772066786,51.552108438207256],[-122.29164348130861,51.55293902365157],[-122.28988081132714,51.5344438061994],[-122.28191759619304,51.51887000435118],[-122.28226997701621,51.515899353453634],[-122.17903912864374,51.516110266458504]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.23672811606562,\"lat\":51.53335283328783},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941804\"],\"csd_name_en\":[\"Canoe Creek 3\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Canoe Creek 3\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-126.72701704095535,54.423827614307726],[-126.75174528404354,54.4288603011061],[-126.74646019918308,54.41067931716406],[-126.74762379286877,54.390610196995624],[-126.73919239253586,54.38055669259757],[-126.73811745346164,54.355756905260286],[-126.70314339353483,54.356259376857366],[-126.70409980306228,54.367180569766326],[-126.59390395144787,54.36782770856442],[-126.59381311630489,54.38958271310124],[-126.57929629282461,54.38932367388674],[-126.57948400090224,54.44127788739038],[-126.59325638702124,54.43218348505791],[-126.63327368588448,54.433577021993266],[-126.6330527749053,54.42540106803368],[-126.65632808558418,54.41785004561217],[-126.68195098963447,54.42592697623343],[-126.72701704095535,54.423827614307726]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-126.66456171884231,\"lat\":54.397029942048114},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951034\"],\"csd_name_en\":[\"Houston\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Houston\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.75599606382906,54.06782980827501],[-124.78518022274142,54.05915258516212],[-124.77136423550091,54.05078108315185],[-124.75605683926553,54.05934527538762],[-124.75599606382906,54.06782980827501]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.76830253043069,\"lat\":54.05927132621967},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951806\"],\"csd_name_en\":[\"Seaspunkut 4\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Seaspunkut 4\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.26294240518891,54.45699461451006],[-124.2742886496557,54.45753591908348],[-124.27414348831839,54.45256674947758],[-124.26419392008206,54.44978920316563],[-124.26294240518891,54.45699461451006]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.26853431774178,\"lat\":54.454222717754945},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951849\"],\"csd_name_en\":[\"Mission Lands 17\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Mission Lands 17\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.64367928902651,54.01213565251264],[-122.62456422809102,54.00626519799753],[-122.60715581393481,54.01591132004634],[-122.6077782121211,54.027488080657115],[-122.64316414543524,54.027427456305375],[-122.64367928902651,54.01213565251264]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.62600151410018,\"lat\":54.01855135583413},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5953\"],\"cd_name_en\":[\"Fraser-Fort George\"],\"csd_code\":[\"5953801\"],\"csd_name_en\":[\"Fort George 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser-Fort George\",\"csd_name_fr\":\"Fort George 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.86537169497488,56.26007122538481],[-120.88726741659097,56.26826855046827],[-120.88718229959917,56.23904201467057],[-120.872242297318,56.23215374691855],[-120.84217374813704,56.22986391912032],[-120.83386705580526,56.209564866968186],[-120.81923698068888,56.20972280190791],[-120.82094743070957,56.22906060983243],[-120.78540195130596,56.21780851352062],[-120.75562291903911,56.21773686432664],[-120.75099496196894,56.22489078802621],[-120.79475342857661,56.24848438494467],[-120.79476401609594,56.26108587364713],[-120.80778716792595,56.26813490781499],[-120.80796151719706,56.27992709775909],[-120.86537169497488,56.26007122538481]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-120.82594422419474,\"lat\":56.243355690188004},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5955\"],\"cd_name_en\":[\"Peace River\"],\"csd_code\":[\"5955034\"],\"csd_name_en\":[\"Fort St. John\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Peace River\",\"csd_name_fr\":\"Fort St. John\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-129.29293088732058,59.29764739967367],[-129.3039374434075,59.28501918620125],[-129.29711754772717,59.2773267676637],[-129.27749586654522,59.29045141713401],[-129.29293088732058,59.29764739967367]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-129.29210684725,\"lat\":59.28787418977906},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5957\"],\"cd_name_en\":[\"Stikine\"],\"csd_code\":[\"5957820\"],\"csd_name_en\":[\"Dease River 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Stikine\",\"csd_name_fr\":\"Dease River 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-128.8955043196703,60.04406838250933],[-128.90555623920778,60.065175082110365],[-128.93645405962397,60.06138070210839],[-128.9442365186606,60.05158118380657],[-128.92719721006435,60.04194440358453],[-128.8955043196703,60.04406838250933]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-128.9190495720077,\"lat\":60.05292681780822},\"year\":\"2021\",\"prov_code\":[\"60\"],\"prov_name_en\":[\"Yukon\"],\"cd_code\":[\"6001\"],\"cd_name_en\":[\"Yukon\"],\"csd_code\":[\"6001032\"],\"csd_name_en\":[\"Upper Liard\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Settlement \\/ \\u00c9tablissement\",\"prov_name_fr\":\"Yukon\",\"cd_name_fr\":\"Yukon\",\"csd_name_fr\":\"Upper Liard\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-132.7578677337343,60.190515285542105],[-132.72710454711734,60.199519784675864],[-132.72600105072763,60.216319491369816],[-132.73945911023796,60.2344862634007],[-132.7454901753903,60.25730210776344],[-132.76293120508961,60.267190420701915],[-132.80863306472182,60.2342803164445],[-132.7969438191049,60.19661786737376],[-132.7578677337343,60.190515285542105]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-132.7665947888321,\"lat\":60.22412811040139},\"year\":\"2021\",\"prov_code\":[\"60\"],\"prov_name_en\":[\"Yukon\"],\"cd_code\":[\"6001\"],\"cd_name_en\":[\"Yukon\"],\"csd_code\":[\"6001057\"],\"csd_name_en\":[\"Teslin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Teslin land\",\"prov_name_fr\":\"Yukon\",\"cd_name_fr\":\"Yukon\",\"csd_name_fr\":\"Teslin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.90906629497593,70.8175421748071],[-117.94773688007118,70.7690039696292],[-117.73929934088116,70.6308271699182],[-117.67382852158705,70.62581882132],[-117.56907593520879,70.80063878826317],[-117.89438282488952,70.83591010601585],[-117.90906629497593,70.8175421748071]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.75341142321433,\"lat\":70.74454806385468},\"year\":\"2021\",\"prov_code\":[\"61\"],\"prov_name_en\":[\"Northwest Territories\"],\"cd_code\":[\"6101\"],\"cd_name_en\":[\"Region 1\"],\"csd_code\":[\"6101095\"],\"csd_name_en\":[\"Ulukhaktok\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Hamlet\",\"prov_name_fr\":\"Territoires du Nord-Ouest\",\"cd_name_fr\":\"Region 1\",\"csd_name_fr\":\"Ulukhaktok\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.61675220094097,61.48129556302453],[-120.56279742224015,61.50584050775115],[-120.60798588573562,61.52422860896304],[-120.64429494441684,61.543970180827586],[-120.6650189123904,61.54997520901987],[-120.73486909035168,61.516574567338964],[-120.64268625695247,61.46947597174822],[-120.61675220094097,61.48129556302453]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-120.65050611791267,\"lat\":61.510376703666935},\"year\":\"2021\",\"prov_code\":[\"61\"],\"prov_name_en\":[\"Northwest Territories\"],\"cd_code\":[\"6104\"],\"cd_name_en\":[\"Region 4\"],\"csd_code\":[\"6104013\"],\"csd_name_en\":[\"Jean Marie River\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Settlement\",\"prov_name_fr\":\"Territoires du Nord-Ouest\",\"cd_name_fr\":\"Region 4\",\"csd_name_fr\":\"Jean Marie River\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.81102182858326,60.00004538824272],[-111.83495440328888,60.012706822872055],[-111.8685025290656,60.01745357048868],[-111.91233877730357,60.036071149680964],[-111.94961382964907,60.042924625103595],[-112.03932399935431,60.043384091359066],[-112.06768370733406,60.03914538528339],[-112.12259279639113,60.02378391011431],[-112.14689955560722,60.02714204803635],[-112.16626316060199,60.0583811842269],[-112.20452675487122,60.08283432371019],[-112.25326517545395,60.08181520243537],[-112.25285514010709,60.000002766237024],[-111.81102182858326,60.00004538824272]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.0827564507439,\"lat\":60.02596894023374},\"year\":\"2021\",\"prov_code\":[\"61\"],\"prov_name_en\":[\"Northwest Territories\"],\"cd_code\":[\"6105\"],\"cd_name_en\":[\"Region 5\"],\"csd_code\":[\"6105001\"],\"csd_name_en\":[\"Fort Smith\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Territoires du Nord-Ouest\",\"cd_name_fr\":\"Region 5\",\"csd_name_fr\":\"Fort Smith\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.2627163020234,47.638118415155795],[-53.25335890246424,47.6437526119932],[-53.25912260106078,47.6463891026919],[-53.269015052272145,47.64326959892458],[-53.2627163020234,47.638118415155795]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.261283598258046,\"lat\":47.64266439120045},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001391\"],\"csd_name_en\":[\"Division No.  1\",\"Subd. J\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Division No.  1, Subd. J\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.28784732966606,47.55961233449552],[-53.28308130998083,47.57183798998461],[-53.26149517323611,47.577146606276486],[-53.1802217912436,47.617606473970106],[-53.08380656643402,47.631170501393726],[-53.0737385147935,47.66468099918074],[-53.152651396735145,47.64693269175522],[-53.204807186535774,47.63510786293853],[-53.234057624035465,47.623039066363965],[-53.27401440685131,47.60369949876112],[-53.27499201949175,47.598375376711346],[-53.3204324605852,47.59531950623628],[-53.34201195319255,47.578070968657656],[-53.336145188094555,47.55878660590545],[-53.320905823010115,47.54870334922413],[-53.30298337678626,47.56061934131757],[-53.298167469027064,47.56040501568203],[-53.28784732966606,47.55961233449552]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.21573200583625,\"lat\":47.61015478806188},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001409\"],\"csd_name_en\":[\"Bay Roberts\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Bay Roberts\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-52.85435919467553,47.50982410878385],[-52.830495310442636,47.51140449777195],[-52.81013941165875,47.497627202034074],[-52.78851536715801,47.50389373383031],[-52.79862772684111,47.512204549618694],[-52.778043296315,47.52307289851746],[-52.78513881332242,47.53446197706211],[-52.80163463526743,47.54038402445063],[-52.8218916053785,47.53570731184524],[-52.84442959165812,47.52599269031498],[-52.85435919467553,47.50982410878385]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-52.813145727222285,\"lat\":47.52032984613902},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001542\"],\"csd_name_en\":[\"Mount Pearl\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Mount Pearl\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.87435650235977,47.39503570127968],[-54.87362487428879,47.38574326181952],[-54.85362659967424,47.38553687926737],[-54.840723250472266,47.40821460966758],[-54.87384574843306,47.4091106743718],[-54.87435650235977,47.39503570127968]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.86039729130915,\"lat\":47.39809058124632},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1002\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"1002034\"],\"csd_name_en\":[\"Parkers Cove\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Parkers Cove\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.617610240242854,47.65548031715615],[-55.58411034445718,47.701236363227785],[-55.58981334313191,47.71856297476457],[-55.6140622853998,47.72563372839989],[-55.615876897744855,47.73521191972931],[-55.593817746603605,47.743256516837256],[-55.59606091269856,47.769424617579666],[-55.60671728791835,47.78378275938265],[-55.62470811121079,47.79525174895501],[-55.60385698668523,47.84091247555533],[-55.54268349964885,47.88977597014861],[-55.53728849303927,47.90425289169958],[-55.51567440517791,47.92426414727577],[-55.49673011966436,47.91892568042902],[-55.48893291193253,47.92411327740795],[-55.477663847588886,47.946588839576386],[-55.474704553300526,47.96463572916211],[-55.44848748172101,47.97220654280751],[-55.40410053583821,48.008802470200735],[-55.41298627957844,48.03848364390813],[-55.38075448761011,48.06051882758065],[-55.38419789712216,48.07374631278676],[-55.404656252682614,48.09048407628215],[-55.41863910644151,48.080660206822984],[-55.41359068790429,48.05833879047136],[-55.42988428929161,48.04486119325208],[-55.454286782925195,48.04608520265664],[-55.49728089272254,48.00349849562569],[-55.51159436500861,47.97164910061877],[-55.51544571456566,47.95275820000553],[-55.542130400812646,47.9335723061814],[-55.5908008871949,47.9191291892531],[-55.64610089979017,47.87732798785533],[-55.70892389278011,47.8450713921288],[-55.716760205042775,47.82932819033489],[-55.737325214044944,47.81268240288895],[-55.76198469659032,47.80435128769214],[-55.77029646622308,47.78934120371702],[-55.85284106108311,47.76034374721566],[-55.88088546680796,47.7310859050621],[-55.94070010670461,47.71127631685237],[-55.97032446938268,47.69744906092195],[-56.02570130247182,47.695113832872465],[-56.06773884550717,47.690174983982494],[-56.09881423858897,47.68296205271274],[-56.11804769882635,47.66870394995876],[-56.12438829289538,47.63454159130317],[-56.15832063413907,47.6057216165896],[-56.226936442013375,47.56081396049746],[-56.30556327497984,47.51189647818846],[-56.35791385117875,47.48164266578718],[-56.438736070668966,47.43927942382966],[-56.14936211983058,47.36277515146408],[-56.0443334587556,47.43324565278577],[-56.00090758094017,47.468590431562625],[-55.93825082922958,47.493851293861674],[-55.90837881007784,47.51552253867836],[-55.886157566777904,47.525466611899944],[-55.83519000261657,47.536269827796],[-55.818534545838574,47.544966216694384],[-55.79151693003914,47.5695966226205],[-55.75672789204567,47.58850622758355],[-55.72259800014886,47.61847219204551],[-55.70474208314026,47.62078864013968],[-55.671934213728875,47.61613025329019],[-55.64185649865142,47.62284197879154],[-55.617610240242854,47.65548031715615]],[[-56.08620948719489,47.47410412886624],[-56.087568008649335,47.48625276191495],[-56.06665240416244,47.49194341055456],[-56.05910414385667,47.481077889847505],[-56.07626890440179,47.46983453880653],[-56.08620948719489,47.47410412886624]],[[-55.900876005179605,47.61253393620749],[-55.91804701579882,47.59855305661703],[-55.926822728999625,47.61234021675494],[-55.91851194461802,47.63095406676578],[-55.900876005179605,47.61253393620749]],[[-55.89312892850139,47.578211768175024],[-55.87110301989636,47.555453299547196],[-55.875044889093076,47.53622085725062],[-55.91405140230409,47.53790644915601],[-55.94865010355276,47.52363218646691],[-55.95566441178247,47.50776350394867],[-55.97646870447652,47.509719137382994],[-55.95940950974353,47.557392606125376],[-55.9256233787628,47.56856900271506],[-55.916390617779406,47.57489710145206],[-55.89312892850139,47.578211768175024]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.925957194781155,\"lat\":47.62883822813045},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1003\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"1003009\"],\"csd_name_en\":[\"Division No.  3\",\"Subd. C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Division No.  3, Subd. C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-58.8460532015917,47.60982770724313],[-58.85372329336205,47.61631311067081],[-58.82905145221653,47.62910789213158],[-58.86077297277254,47.628665198610186],[-58.9013832072976,47.61510577690661],[-58.901101101613264,47.59887790392204],[-58.8788742991558,47.59523260646616],[-58.8460532015917,47.60982770724313]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-58.87202620825685,\"lat\":47.61274600398985},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1003\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"1003033\"],\"csd_name_en\":[\"Burnt Islands\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Burnt Islands\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.622564028678866,47.915575363306985],[-55.676305057980294,47.885934608757495],[-55.72395445256219,47.878470198660885],[-55.79443758861642,47.85447836026662],[-55.72241265800711,47.855901470788346],[-55.62591531972043,47.90398629144104],[-55.622564028678866,47.915575363306985]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.70942235755415,\"lat\":47.87435151415472},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1003\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"1003801\"],\"csd_name_en\":[\"Samiajij Miawpukek\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Samiajij Miawpukek\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-58.638519023424074,48.57772807764957],[-58.62690740336699,48.59409529031898],[-58.676374302150684,48.611220595479914],[-58.71367681462887,48.56137639368884],[-58.72265743608245,48.559560032399425],[-58.72794679775836,48.554496950909844],[-58.6730580896529,48.55075158765328],[-58.672850701359685,48.56265678871838],[-58.650995788598046,48.565466599076515],[-58.638519023424074,48.57772807764957]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-58.67348530955846,\"lat\":48.57889103849459},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1004\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"1004021\"],\"csd_name_en\":[\"Port au Port East\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Port au Port East\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-57.843337888495775,48.950072417139666],[-57.83371618585468,48.97182281049667],[-57.832784628352755,48.989978658984384],[-57.87651658508872,48.99323649198892],[-57.89826650115786,48.995630119006144],[-57.900177875657334,48.995117942025445],[-57.90844272248564,48.98551737481395],[-57.90129131530951,48.974300476526565],[-57.93504749272436,48.96438878441061],[-57.94472910430397,48.956756696886025],[-57.98681631013067,48.95836249712264],[-58.03303138246323,48.96808090472247],[-58.035145622723626,48.96173961372382],[-58.06516688295908,48.936425308775114],[-58.05650151921572,48.92420920127088],[-58.06060719274614,48.892611391430556],[-58.0425775162371,48.89663489744389],[-58.00899150664333,48.89218369689272],[-57.99157691562663,48.896165093700866],[-57.94368923689788,48.89482082116745],[-57.92996469771992,48.878945386527704],[-57.912206595939,48.877164897226905],[-57.862006597277706,48.88636871038011],[-57.766336530055085,48.903262676255245],[-57.74036971947616,48.90949922704276],[-57.81999296014175,48.919229390885185],[-57.843968077078905,48.91882112868882],[-57.84316869500362,48.9497649025246],[-57.843337888495775,48.950072417139666]],[[-57.87844784260597,48.93243839683182],[-57.87916558845548,48.926122931938636],[-57.91290693225433,48.93886545017948],[-57.885622449702396,48.94243226684304],[-57.87844784260597,48.93243839683182]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-57.92534841828623,\"lat\":48.929380486098324},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1005\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"1005018\"],\"csd_name_en\":[\"Corner Brook\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Corner Brook\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-57.87651658508872,48.99323649198892],[-57.88309840434101,49.002553624179335],[-57.89826650115786,48.995630119006144],[-57.87651658508872,48.99323649198892]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-57.885960496862545,\"lat\":48.99714007839147},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1005\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"1005028\"],\"csd_name_en\":[\"Hughes Brook\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Hughes Brook\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-58.03303138246323,48.96808090472247],[-58.048470293720506,48.97414240482631],[-58.06736328473948,48.97393809279016],[-58.08431899963862,48.98116280155522],[-58.11013803732556,48.95058059839392],[-58.06516688295908,48.936425308775114],[-58.035145622723626,48.96173961372382],[-58.03303138246323,48.96808090472247]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-58.0713955401143,\"lat\":48.95888121491531},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1005\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"1005033\"],\"csd_name_en\":[\"Mount Moriah\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Mount Moriah\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.86489601544742,49.001309075155135],[-54.85604271602274,49.01366062779258],[-54.80829293290296,49.01861410996777],[-54.79220869106481,49.04010822261158],[-54.78056298912869,49.042201199291966],[-54.7506023903772,49.06827383936315],[-54.71637295291806,49.068535134310416],[-54.706383378135335,49.07550559210866],[-54.68724932472984,49.075166451133555],[-54.660392823253815,49.084847651864145],[-54.65460484010454,49.09359318066834],[-54.74745717590349,49.11934125144623],[-54.95503735961176,49.176990375019635],[-55.01160533551522,49.198426621688796],[-55.035090214922846,49.20381654020197],[-55.083856374055195,49.20447017101146],[-55.11024714607966,49.20627126960591],[-55.12022373345725,49.21796850722157],[-55.14068060912772,49.209355131445605],[-55.14620608935537,49.19401571201932],[-55.172352057555294,49.18889336322958],[-55.21278726395539,49.15519525214963],[-55.236078474360454,49.15848818273507],[-55.22739096891889,49.17379417925861],[-55.272345648349166,49.177543801842276],[-55.30845276734413,49.16132103921282],[-55.33015556403917,49.16174424213011],[-55.316728978914256,49.115600312205984],[-55.3058925736545,49.092310683395404],[-55.32419224865447,49.08427067046091],[-55.38758132835018,49.04821223440877],[-55.40364955387722,49.03241212250098],[-55.42065958749343,49.03328550395027],[-55.50071449987872,49.00639040677258],[-55.51182028977726,48.996515008925655],[-55.54238198914204,48.983126678187965],[-55.56121179859916,48.96760109134989],[-55.62899219917819,48.92706291041697],[-55.66350374529409,48.92407334573452],[-55.691260507654675,48.915849999608255],[-55.72504017385619,48.897499202722905],[-55.74630208080174,48.87937749749732],[-55.75072048774979,48.8698958999287],[-55.74331990842121,48.84714599808122],[-55.7467236086909,48.82413440892401],[-55.75437787453014,48.813562603123984],[-55.799084300172005,48.78429761123181],[-55.78511671001298,48.77612769950067],[-55.79837741024246,48.757399406360236],[-55.790284414775364,48.71961059148642],[-55.816527494462484,48.68287526283598],[-55.82867878719878,48.676988089032065],[-55.83950709497836,48.64721149222942],[-55.82754387357622,48.637060133851605],[-55.83930364885244,48.6305134679159],[-55.88117489541521,48.627876779650265],[-55.91651241359692,48.60942640871436],[-55.92967813939333,48.611926073832024],[-55.95293601753848,48.592843119116104],[-55.9516217340475,48.58620950688987],[-55.97104186247109,48.5547446087113],[-55.985226644150735,48.55602819991937],[-56.01288608221666,48.51995898087653],[-56.01922385364057,48.50046906242759],[-56.03987599140628,48.48393671235874],[-56.030451477103306,48.46933275808625],[-56.031395186092894,48.45463332086303],[-56.00897142367103,48.45364403214335],[-55.985789880330785,48.44677792347018],[-55.97332083574329,48.43634375231324],[-55.979263960261825,48.417491322301736],[-55.967041988317284,48.41578391548301],[-55.96336551581709,48.38851615750363],[-55.95047871445837,48.383901770430704],[-55.90781237355862,48.387753094438736],[-55.89676656791162,48.38094645469889],[-55.893069640182944,48.36046975305629],[-55.91388731918196,48.34964991582551],[-55.923087358302894,48.33080913070019],[-55.921184016131036,48.31864013558248],[-55.90032948318994,48.29765740726957],[-55.90602407715698,48.28500363675871],[-55.90322240716307,48.25910722523398],[-55.895486143775,48.24697763922284],[-55.84543635835663,48.24120004158449],[-55.8230446732835,48.23421648303958],[-55.81492958223974,48.22373619345253],[-55.78941656324469,48.223567857076986],[-55.75912882165533,48.250011556203276],[-55.62530893345207,48.25008203212663],[-55.62501799222707,48.28139117755027],[-55.572672131810975,48.265830662029146],[-55.538166100061986,48.26470434537221],[-55.51715241276827,48.27006095292114],[-55.4907636083482,48.27089274645167],[-55.45897413423079,48.28275169687076],[-55.44224797638177,48.282496703635076],[-55.450423918740704,48.25366337881714],[-55.43483512916513,48.258255631194054],[-55.404548955307455,48.25022110189668],[-55.38734007385416,48.25763967320501],[-55.36905805793391,48.25022963821316],[-55.35425318745758,48.26478900545358],[-55.33866156417217,48.25224153844721],[-55.32611980992264,48.250069488766904],[-55.31419374221172,48.25006261475652],[-55.30087421167123,48.26699725907281],[-55.27854411593278,48.26855685107106],[-55.30018238124702,48.29353794957803],[-55.28379009695208,48.326137267268656],[-55.29105201927277,48.330151973231295],[-55.30303099849173,48.36001804694344],[-55.251905327448796,48.39792026360814],[-55.22772714523024,48.43358682486793],[-55.23614004545981,48.44229803980054],[-55.26214671715883,48.44249570577488],[-55.24172201641582,48.46479116462625],[-55.23118821158378,48.488494445751655],[-55.234667549640314,48.50156191837308],[-55.249459736664214,48.51828514900078],[-55.25068907373907,48.53030657282592],[-55.22813364902298,48.56311008349614],[-55.21026763176312,48.61232370119463],[-55.26948439715589,48.58724115736734],[-55.322342760138845,48.58454883609601],[-55.33929152957685,48.59453064071595],[-55.346702099331516,48.60631582275613],[-55.31630692742306,48.64049113114673],[-55.31967461205461,48.68396242456462],[-55.29383599266913,48.70327376123764],[-55.292196028165534,48.711255288467484],[-55.30712397328522,48.72991566837091],[-55.30100290312224,48.738531921436085],[-55.26327062042403,48.73998198626623],[-55.24981085530044,48.746217609499226],[-55.25674048543208,48.75609200378267],[-55.28409214697293,48.756576925012276],[-55.30586796195193,48.761563183896804],[-55.29700733656588,48.78203935498654],[-55.301402951077506,48.7949077121173],[-55.29176918523336,48.80291577678745],[-55.25000391037537,48.817441954316266],[-55.22979598562227,48.80011074867811],[-55.20462198723351,48.80720035819657],[-55.165525492255654,48.81249969803711],[-55.16073736933528,48.85045067216967],[-55.188724657609924,48.856033634105415],[-55.20606610994337,48.8780175944306],[-55.204127883891324,48.89117252391085],[-55.18949606961209,48.89530768557676],[-55.12990700298722,48.89047500434062],[-55.105900357282295,48.8930485872383],[-55.13793558618626,48.92819955080191],[-55.12783548807997,48.94178960557357],[-55.10302715450068,48.94466057203732],[-55.03853516771348,48.92635550244245],[-55.01800037811492,48.937656415358205],[-54.98851488247742,48.95950837990473],[-54.95205227088279,48.97607080029594],[-54.94235874225305,48.96214397177161],[-54.91373518949817,48.97451832046047],[-54.89239475206534,48.979402024376654],[-54.88782132899141,49.00320350810626],[-54.86489601544742,49.001309075155135]],[[-55.2238644916636,49.10930419364075],[-55.19777574635026,49.12256116988626],[-55.160484607065605,49.099285873863536],[-55.27541408218127,49.02922189020325],[-55.301284120740824,49.04615879864875],[-55.29244981399545,49.057909694777145],[-55.30469709943773,49.07066679082206],[-55.23768060516139,49.10486848713183],[-55.2238644916636,49.10930419364075]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.458676300201816,\"lat\":48.69598323857486},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1006\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"1006001\"],\"csd_name_en\":[\"Division No.  6\",\"Subd. D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Division No.  6, Subd. D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.62090753860346,47.84542062440625],[-53.50101582855826,47.951065779384315],[-53.34343994433003,48.02872016993162],[-53.50161549593013,48.04812523149736],[-53.667398888972286,48.06889688082345],[-53.69065273314452,48.087133156753566],[-53.72362243714851,48.085716401171815],[-53.90573204732287,48.087153606330084],[-53.92414685830907,48.13144546923954],[-53.93048001887901,48.129557476939176],[-54.07682578578899,48.121033902219],[-54.08345734744923,48.09737670511563],[-54.095442201899075,48.08089524428333],[-54.1164066707921,48.081669745657344],[-54.09742649866423,48.058998835568254],[-54.05713224687034,48.05031946990521],[-54.0454002283538,48.0329642972893],[-54.04588097880501,48.008846247211586],[-54.03411957769412,48.000792265605575],[-54.01246790758455,47.999931673228254],[-54.01929816737933,47.98827482458901],[-54.005284964302675,47.969034021292835],[-53.97400210511014,47.95854604231614],[-53.95312469807201,47.95081260871172],[-53.88315798730789,47.95556831394498],[-53.82779699110635,47.9384474918082],[-53.81317240238913,47.92466128856378],[-53.811189158990885,47.90613972046656],[-53.794707039338654,47.89554194483814],[-53.77405064334112,47.89511225166811],[-53.75579573851847,47.89987597233933],[-53.73322214868171,47.898192202247145],[-53.62090753860346,47.84542062440625]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.752274157608745,\"lat\":48.00318151315538},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1007\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"1007001\"],\"csd_name_en\":[\"Division No.  7\",\"Subd. M\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Division No.  7, Subd. M\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.93048001887901,48.129557476939176],[-53.958185303299715,48.156706791680804],[-53.96454678456118,48.18894450240818],[-53.95297742815383,48.206987420919866],[-53.97312745096436,48.21035218531873],[-54.06624652333278,48.24028419637827],[-54.092260739207724,48.24698168423153],[-54.13280853647764,48.248561675724034],[-54.1695829244351,48.2498158932477],[-54.17396516837322,48.186801911496865],[-54.15385928109541,48.18637595603185],[-54.0776144974112,48.184722035815675],[-54.07682578578899,48.121033902219],[-53.93048001887901,48.129557476939176]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.054220834294654,\"lat\":48.187831387508005},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1007\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"1007013\"],\"csd_name_en\":[\"Clarenville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Clarenville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.779843113018046,48.270745683768105],[-53.778137768492584,48.28497909548546],[-53.78461615118552,48.30568845435664],[-53.76153489598382,48.32878336667697],[-53.7637269709372,48.36167232764271],[-53.741797744580005,48.382666774693654],[-53.74407417738874,48.39335307692974],[-53.73264790715116,48.407634903357426],[-53.7125801043501,48.41592420407348],[-53.6740330971247,48.4266486295712],[-53.664874169434974,48.436347201080025],[-53.63386218254305,48.48718028107025],[-53.61651909680687,48.51925871498104],[-53.603842466515474,48.564046280228126],[-53.64196978765454,48.56017923858466],[-53.67030559660424,48.55429898660542],[-53.693835212076515,48.54552687037781],[-53.75234190228909,48.5063416693031],[-53.88267288264034,48.47336114439378],[-53.9598951609024,48.44488133323724],[-54.02042237898289,48.44447025979272],[-54.01962721280608,48.41972635074834],[-54.04743498866479,48.41779379746585],[-54.06611169533793,48.41137390024008],[-54.087980387158645,48.4147205913468],[-54.112823287123696,48.42844389015101],[-54.123559299002686,48.42334741357068],[-54.17032839910849,48.389286104982055],[-54.18660987284297,48.39215251261593],[-54.197075986654546,48.3846572039824],[-54.17305350132234,48.37452569790401],[-54.16185819759947,48.36441290062204],[-54.15819221942517,48.34432859780162],[-54.13047930738514,48.3589881071865],[-54.131458415926645,48.30256300590185],[-54.22008917259252,48.30271587829498],[-54.21351638987028,48.41163259224612],[-54.21515830560567,48.428415215629784],[-54.24846570593577,48.436809267382884],[-54.29875835594449,48.43719221212512],[-54.381971978982506,48.396179452314406],[-54.42980802832254,48.38809592402094],[-54.45258511491076,48.3732833177043],[-54.4571597925428,48.34631757698873],[-54.499841656255185,48.343898487714],[-54.550778798568544,48.3082025283079],[-54.56323261932921,48.30548250328634],[-54.6942884749263,48.31901446627116],[-54.76376511622249,48.302359131550496],[-54.7872366502191,48.31847861352956],[-54.82268720851628,48.319760422613506],[-54.84771617155192,48.29307775421784],[-54.85043273926916,48.27581365705087],[-54.90153792426165,48.257872542479106],[-54.88173090017056,48.243232870501195],[-54.8854131543479,48.224026516552414],[-54.88279342779283,48.20465381143398],[-54.887272538394505,48.172027866576464],[-54.86753896199951,48.167335105820534],[-54.835973601034304,48.17320320049265],[-54.82463181629551,48.179249788693625],[-54.805357630786524,48.166591570986206],[-54.80514012899118,48.147288861903796],[-54.79109549249623,48.139812376768035],[-54.79427745560459,48.119289477452014],[-54.75949739705551,48.119693727885],[-54.747144216990186,48.110029193505156],[-54.70251192286509,48.12107590517784],[-54.677962829592474,48.14409854620709],[-54.644540180778016,48.14555737288846],[-54.622978134585956,48.164298719201355],[-54.65286812039056,48.18143847228033],[-54.637709561184764,48.19625183486117],[-54.59948508597199,48.19939678494686],[-54.56906016140196,48.18917729705745],[-54.55219440376723,48.19007462388218],[-54.53361539213538,48.20599561557648],[-54.46608709609515,48.190118046331804],[-54.458274514441314,48.20334503208994],[-54.42981064700728,48.201941292959134],[-54.40654719489026,48.174670877115176],[-54.40824731268125,48.15688453894839],[-54.387864125275456,48.14150236942433],[-54.4004114236377,48.131027708785034],[-54.311154453263555,48.07061567887813],[-54.31607074210753,48.06047065230774],[-54.27762746674007,48.06620420277],[-54.26294014890177,48.07419445822035],[-54.23335677458977,48.0770163418471],[-54.217656879768676,48.06789435689771],[-54.188689243244184,48.06418719938368],[-54.1164066707921,48.081669745657344],[-54.095442201899075,48.08089524428333],[-54.1298220427468,48.098764222727446],[-54.13034056313621,48.11118201897844],[-54.15353547339966,48.161019455028935],[-54.15385928109541,48.18637595603185],[-54.17396516837322,48.186801911496865],[-54.1695829244351,48.2498158932477],[-54.13280853647764,48.248561675724034],[-54.1109950629173,48.26320157909337],[-54.08671168108031,48.27243048942223],[-54.04320494029284,48.270546791772134],[-54.018945734524486,48.261822861519825],[-53.95318691924316,48.263343193519525],[-53.902284513285984,48.25740310648704],[-53.877925203456996,48.25704880748],[-53.869941403116265,48.26554031355471],[-53.84209550285423,48.26687141159489],[-53.825798005508304,48.27209129902906],[-53.814529460869494,48.25917352887252],[-53.795851483991015,48.25161549633032],[-53.779843113018046,48.270745683768105]],[[-53.93979479015942,48.396114067335795],[-53.87255951672854,48.44164313182277],[-53.86255138788467,48.421776891368594],[-53.90840709742879,48.39078628656168],[-53.92197108974744,48.39713489756773],[-53.93979479015942,48.396114067335795]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.25182255275599,\"lat\":48.29276094950809},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1007\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"1007031\"],\"csd_name_en\":[\"Division No.  7\",\"Subd. E\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Division No.  7, Subd. E\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.035090214922846,49.20381654020197],[-54.97072163971879,49.2744025245262],[-54.971020371736955,49.27998047879291],[-55.00250409917846,49.28032171105358],[-55.01265638697869,49.28068166249227],[-55.05148240279172,49.27067505781871],[-55.09911820215067,49.258344002822305],[-55.083856374055195,49.20447017101146],[-55.035090214922846,49.20381654020197]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.04115724342323,\"lat\":49.24424972703768},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008044\"],\"csd_name_en\":[\"Lewisporte\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Lewisporte\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-57.91499779391432,49.60762678320794],[-57.95365751163821,49.61735331717749],[-57.95296890749426,49.601310902470075],[-57.9188280969119,49.59345270533362],[-57.934266317620704,49.58171132291078],[-57.902803988804855,49.56689789926278],[-57.89576552752168,49.572933017483486],[-57.89380822134785,49.59776999123041],[-57.91499779391432,49.60762678320794]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-57.91937761017027,\"lat\":49.59340416446233},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1009\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"1009013\"],\"csd_name_en\":[\"Rocky Harbour\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Rocky Harbour\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-57.1085429750853,51.41563490198066],[-57.07600489629999,51.41481849970045],[-57.06472279756348,51.42748739303806],[-57.05125911503002,51.4137048944051],[-57.00652448897645,51.41784889384457],[-57.0497042716019,51.52008316618838],[-57.10745723033335,51.52052940076723],[-57.1085429750853,51.41563490198066]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-57.06703720254835,\"lat\":51.46368912433548},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1010\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"1010004\"],\"csd_name_en\":[\"L'Anse-au-Clair\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"L'Anse-au-Clair\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.654014160557075,52.36950417242761],[-55.70298173944052,52.38542965042782],[-55.71941501688932,52.38527829236689],[-55.719841479378466,52.36921810586845],[-55.68078367686638,52.36415171719839],[-55.68501249039239,52.35484649697651],[-55.66295943810944,52.351895225419554],[-55.654014160557075,52.36950417242761]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.68732651375707,\"lat\":52.37023166828057},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1010\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"1010010\"],\"csd_name_en\":[\"St. Lewis\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"St. Lewis\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.54330254397746,46.33927787910463],[-63.555262393777575,46.337047795082164],[-63.56038911466664,46.35630279517925],[-63.57128056797817,46.354528083595056],[-63.58517011844568,46.36747840256581],[-63.61909029000746,46.361888685305765],[-63.624043386988674,46.369985900206785],[-63.641908124932606,46.36630333569195],[-63.66747334166532,46.340795303907235],[-63.694919893146725,46.357804878847034],[-63.722910089617464,46.350609910062495],[-63.74355320179807,46.35723823563506],[-63.7552789621788,46.35329888649144],[-63.7842698406841,46.36774731080093],[-63.79373948540919,46.37204154793052],[-63.793517622742684,46.386044787698246],[-63.8333501630999,46.37508230694563],[-63.87947514679723,46.34373660753404],[-63.90539881819119,46.32620820412705],[-63.848703294035836,46.30510350490289],[-63.80241990030523,46.27521324397236],[-63.72983888200126,46.29398590497643],[-63.71681540519518,46.310363365028024],[-63.69092390639011,46.315185191211505],[-63.66704478107335,46.31051646339961],[-63.65179672450752,46.29968601979364],[-63.6699486143489,46.29092563412503],[-63.669117259276234,46.28194566151518],[-63.65036196626225,46.27477366787234],[-63.65318361124102,46.265020150418664],[-63.640106167436976,46.267557279190065],[-63.642814575916205,46.28160894420552],[-63.627994508496045,46.2828373597138],[-63.63459910621087,46.30130053530733],[-63.5940989471162,46.30770054130175],[-63.56675975723003,46.282036359390474],[-63.56041250267168,46.26912040687705],[-63.547525498115824,46.2730697244325],[-63.541394617525825,46.285348801467364],[-63.523700020668265,46.28635796325938],[-63.508753631382284,46.28902393696652],[-63.496649783652785,46.31773629419256],[-63.504140410085505,46.33832668445613],[-63.51627665986001,46.33931664851198],[-63.54330254397746,46.33927787910463]],[[-63.69395578628951,46.340463560244686],[-63.72398762666125,46.332549735025005],[-63.725632012903034,46.33892012584737],[-63.696489042973404,46.34643151939097],[-63.69395578628951,46.340463560244686]],[[-63.60620224034461,46.32855053247938],[-63.586237756417,46.331567914656816],[-63.577464349085005,46.30709216283326],[-63.60465553310486,46.31633804106758],[-63.60620224034461,46.32855053247938]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.70115873203531,\"lat\":46.32538833266899},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1103\"],\"cd_name_en\":[\"Prince\"],\"csd_code\":[\"1103003\"],\"csd_name_en\":[\"Kinkora\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Fire District\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Prince\",\"csd_name_fr\":\"Kinkora\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.31845458810537,43.78794158098722],[-65.3458569932234,43.7803777048488],[-65.32950019286613,43.769672593006895],[-65.31441886702034,43.75006526156835],[-65.29372149145861,43.75592840010049],[-65.31845458810537,43.78794158098722]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.31772669691058,\"lat\":43.7695259692719},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1201\"],\"cd_name_en\":[\"Shelburne\"],\"csd_code\":[\"1201008\"],\"csd_name_en\":[\"Shelburne\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Shelburne\",\"csd_name_fr\":\"Shelburne\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.30609435494951,44.38195269017622],[-64.33446722376388,44.38627630704774],[-64.3343756434614,44.37499969705849],[-64.31878749126321,44.36508084318968],[-64.30609435494951,44.38195269017622]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.32210997896576,\"lat\":44.37719786160606},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1206\"],\"cd_name_en\":[\"Lunenburg\"],\"csd_code\":[\"1206006\"],\"csd_name_en\":[\"Lunenburg\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Lunenburg\",\"csd_name_fr\":\"Lunenburg\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.23714713532551,44.76086450604775],[-64.43221014168209,44.89931141334164],[-64.52364039918436,44.83713696972249],[-64.5294338908615,44.84131621345917],[-64.56991744096317,44.81184174694731],[-64.67458054801938,44.735485533272104],[-64.62818571708262,44.70515866095205],[-64.60936343872906,44.685618305584704],[-64.60581896998143,44.66450318983586],[-64.59397207354105,44.646921662586],[-64.55388807032014,44.63040018459056],[-64.35281887632601,44.49978704511815],[-64.340443017244,44.49016684011938],[-64.27842055401467,44.45687167773424],[-64.16215976218552,44.480269328079444],[-64.12591814606593,44.4804259388149],[-64.08121327488617,44.452477462572645],[-64.03268239374519,44.388156527904464],[-63.999999987890824,44.40971307585543],[-64.00000001766607,44.49999583920615],[-63.964229308952014,44.50356379855507],[-63.997186015656375,44.59000056797956],[-64.08072799732959,44.647929903746125],[-64.23714713532551,44.76086450604775]],[[-64.43793179240251,44.79771878429998],[-64.42944193225179,44.79480600020156],[-64.43449291532303,44.79045546960681],[-64.43793179240251,44.79771878429998]],[[-64.3551458662097,44.566415896369314],[-64.32677319508967,44.556079388909446],[-64.35515973078228,44.55207043762992],[-64.3551458662097,44.566415896369314]],[[-64.43306237483841,44.84200198793149],[-64.41327069409168,44.8564168540038],[-64.39720112555385,44.84456539296371],[-64.41717177983456,44.83049977727869],[-64.43306237483841,44.84200198793149]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.31283961066406,\"lat\":44.6470840489406},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1206\"],\"cd_name_en\":[\"Lunenburg\"],\"csd_code\":[\"1206009\"],\"csd_name_en\":[\"Chester\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Lunenburg\",\"csd_name_fr\":\"Chester\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.796275307429894,44.735350625576665],[-63.8033691512969,44.73299624650218],[-63.79658243603385,44.72784632681305],[-63.79273010695136,44.72951476599302],[-63.796275307429894,44.735350625576665]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.797497619710526,\"lat\":44.73165709574628},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1209\"],\"cd_name_en\":[\"Halifax\"],\"csd_code\":[\"1209800\"],\"csd_name_en\":[\"Wallace Hills 14A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Halifax\",\"csd_name_fr\":\"Wallace Hills 14A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-60.13047775238114,45.704138201200955],[-60.09869142875447,45.74680194513555],[-60.06724797691584,45.77716736641097],[-60.03406913153133,45.793649477713736],[-59.87868838488139,45.86614979207137],[-59.8166744004317,45.904107712571395],[-59.789199046137156,45.925244744085234],[-59.7749651618596,45.95451163531615],[-59.75902304248986,45.970602501275884],[-59.75153259068502,45.99091966624787],[-59.69408396296022,45.98946233814291],[-59.67109332061529,46.010687661169264],[-59.651726587663475,46.03954892428556],[-59.652150930149304,46.059117385045745],[-59.662494627824714,46.108416393308225],[-59.690486352732826,46.141777458729344],[-59.72284175835863,46.16391004638411],[-59.74910991711692,46.17574428758719],[-59.783695448724195,46.19513240229629],[-59.95834267175781,46.23332220817525],[-59.9995021560553,46.24943826334627],[-60.09354821105882,46.27770089368802],[-60.19513613441441,46.31079343000098],[-60.340865067290316,46.36015729733325],[-60.34812007225449,46.313771049721545],[-60.365144700093296,46.303197395015076],[-60.383864793566744,46.273756582693416],[-60.39502089546686,46.27674269387232],[-60.41742271803272,46.25239878030987],[-60.44610000118761,46.236165886061606],[-60.48233654565585,46.20613923973594],[-60.5059094753824,46.19021148424519],[-60.48026284265329,46.16848336306231],[-60.48701020035192,46.15180428308143],[-60.52190286666963,46.117943887412906],[-60.575870775074,46.08503178538924],[-60.64157345783525,46.05327638277043],[-60.73296783135033,46.02236106537833],[-60.75017083490584,46.00972615033376],[-60.80327396274228,45.95615872640538],[-60.81182813222207,45.93948745103456],[-60.80969703807935,45.85003696084622],[-60.80930095480445,45.80241079359446],[-60.78956413686105,45.80711889965025],[-60.7408182474011,45.83459274277607],[-60.58807101125737,45.8033857920356],[-60.550593189322605,45.794233901995625],[-60.426745609511855,45.76827327489044],[-60.371073688828545,45.75840699586874],[-60.263949822972094,45.736375385324514],[-60.13047775238114,45.704138201200955]],[[-60.17486074998599,46.116420926323045],[-60.18494684606979,46.107580901062484],[-60.19719905837814,46.11562253342887],[-60.17486074998599,46.116420926323045]],[[-60.5688849479523,45.978879336403295],[-60.58516199789727,45.96855152446662],[-60.576000743545485,45.958002119162565],[-60.58031361915884,45.94686009509029],[-60.60993240330209,45.9427148097797],[-60.62606500047508,45.93509289927008],[-60.630861698299164,45.922642997730776],[-60.659235606557345,45.917674691245914],[-60.66742632372604,45.932670094611744],[-60.64920981876194,45.948512342487504],[-60.6641313666415,45.96334128359226],[-60.5857052117866,46.00190834175653],[-60.56646006818231,45.984180068487106],[-60.5688849479523,45.978879336403295]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-60.22227423503123,\"lat\":46.012624671703286},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1217\"],\"cd_name_en\":[\"Cape Breton\"],\"csd_code\":[\"1217030\"],\"csd_name_en\":[\"Cape Breton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional municipality\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Cape Breton\",\"csd_name_fr\":\"Cape Breton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.24370401007461,45.201072007317165],[-67.2619158380619,45.26241618279841],[-67.27541530062874,45.27736789754183],[-67.26583290471989,45.28329189651408],[-67.36046190605681,45.26765447810434],[-67.34431509140427,45.23159670394675],[-67.33431822068825,45.223425773953494],[-67.40634038905885,45.17884526749201],[-67.39919438712423,45.16894439893573],[-67.40502780460012,45.16005560539252],[-67.3807221955463,45.15213890780013],[-67.3706943996016,45.141999997513715],[-67.34086111608984,45.125027798575275],[-67.3208333006569,45.13133329116908],[-67.3200277965046,45.14238889256229],[-67.29663955185029,45.14756728590264],[-67.32931850323322,45.17362046974447],[-67.30051116539197,45.19342765435707],[-67.30166217491768,45.20326417084194],[-67.27362786468262,45.21277746373392],[-67.25861284781871,45.1916943967026],[-67.24370401007461,45.201072007317165]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.32302316502037,\"lat\":45.20779247107557},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1302\"],\"cd_name_en\":[\"Charlotte\"],\"csd_code\":[\"1302034\"],\"csd_name_en\":[\"Saint Stephen\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Charlotte\",\"csd_name_fr\":\"Saint Stephen\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.66913549753652,45.87098727094391],[-65.52207578336753,45.97358676777895],[-65.34258209506896,46.098773198863135],[-65.41643782022979,46.25676548082679],[-65.49146739730031,46.270129717574015],[-65.74907498880721,46.05193281037803],[-65.66913549753652,45.87098727094391]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.54817654825662,\"lat\":46.08237801533539},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1304\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1304016\"],\"csd_name_en\":[\"Brunswick\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Brunswick\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.50944242608428,46.41350727610337],[-64.51016255543918,46.43608167184702],[-64.56453747935812,46.474894826055476],[-64.64561669320943,46.43914070180625],[-64.67346653590894,46.43652527813477],[-64.66143725124063,46.403378066877934],[-64.66453183064662,46.40148677242133],[-64.66360406338308,46.357165271860225],[-64.68737775106423,46.35555135608074],[-64.68475148137013,46.33087341288463],[-64.68928912657358,46.32040329027913],[-64.65794316225397,46.32442507200694],[-64.65496996749391,46.312812066474756],[-64.66819097769226,46.286367955122564],[-64.6595829133529,46.28144058343164],[-64.63900371858138,46.295033452132564],[-64.6144038359148,46.29587425131401],[-64.601762579228,46.30231963635495],[-64.60614545891843,46.33320324447074],[-64.58286878674996,46.36512895185395],[-64.50944242608428,46.41350727610337]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.60669243519278,\"lat\":46.38969540437035},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1308\"],\"cd_name_en\":[\"Kent\"],\"csd_code\":[\"1308002\"],\"csd_name_en\":[\"Cocagne\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural community \\/ Communaut\\u00e9 rurale\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kent\",\"csd_name_fr\":\"Cocagne\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.56883525110634,46.16546137827885],[-67.5602108877998,46.1821292048286],[-67.53308670603624,46.19669251606456],[-67.65776842111836,46.17598786748124],[-67.6607424111191,46.17550910573235],[-67.67804351625851,46.11576833529156],[-67.69160230814175,46.113256710624626],[-67.68619001849173,46.09868490430389],[-67.67313526550092,46.088792198335135],[-67.63212450400924,45.978493279952986],[-67.60295749508909,45.987908221164766],[-67.56446203765712,45.95895850463806],[-67.56683764387448,45.950471519675226],[-67.54954081219789,45.937950424815085],[-67.53017078561987,45.94186935295045],[-67.51433667327476,45.95752125945216],[-67.50498932742317,45.98326527695612],[-67.49871240406534,46.00076878566812],[-67.50026155668186,46.00133758595398],[-67.52550831129388,46.01817362457538],[-67.54205331558848,46.0422372283263],[-67.55554747239728,46.04920962218126],[-67.55810775529353,46.0675718569764],[-67.55162782389807,46.092728102377905],[-67.56484909852496,46.11323573606528],[-67.56869118172658,46.13567519712811],[-67.61634923611113,46.12969449716974],[-67.62009372678015,46.14622419568104],[-67.60779613194698,46.14900895335657],[-67.60686542170271,46.1732771387001],[-67.57431910943805,46.17451515118058],[-67.56883525110634,46.16546137827885]],[[-67.64399353464525,46.09914432018398],[-67.57853229914193,46.10849997685365],[-67.58795396531674,46.10173406298097],[-67.60354305042756,46.103816712537224],[-67.64399353464525,46.09914432018398]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.59831404423792,\"lat\":46.062044568531284},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1311\"],\"cd_name_en\":[\"Carleton\"],\"csd_code\":[\"1311004\"],\"csd_name_en\":[\"Woodstock\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Carleton\",\"csd_name_fr\":\"Woodstock\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.70016898107657,46.434848180502605],[-67.70936270364838,46.44162658572204],[-67.7229248403092,46.431218305175825],[-67.70499571531671,46.42166219355907],[-67.70016898107657,46.434848180502605]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.70994407272376,\"lat\":46.431898542969904},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1311\"],\"cd_name_en\":[\"Carleton\"],\"csd_code\":[\"1311019\"],\"csd_name_en\":[\"Centreville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Carleton\",\"csd_name_fr\":\"Centreville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.39112987909718,46.91843291948607],[-67.40278597123223,46.91569588729804],[-67.40440599486746,46.901785010544835],[-67.38646734213475,46.90138927441606],[-67.39112987909718,46.91843291948607]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.39585954222963,\"lat\":46.90883173036131},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1312\"],\"cd_name_en\":[\"Victoria\"],\"csd_code\":[\"1312009\"],\"csd_name_en\":[\"Plaster Rock\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Victoria\",\"csd_name_fr\":\"Plaster Rock\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.37686583687139,47.98938574874072],[-66.37899916156317,47.9897746486089],[-66.3842362659686,47.97341626040132],[-66.47797155560956,47.94969368224472],[-66.47738515069491,47.94777716728556],[-66.55387999001053,47.927255181410864],[-66.56907688735603,47.956375783517174],[-66.59008483714045,47.950733211448394],[-66.58224665303842,47.936309804128676],[-66.65453133072558,47.917926751303526],[-66.65441293991024,47.6588817432022],[-66.65433332856435,47.4501323912849],[-66.37142071597664,47.51525287481561],[-66.3721470191377,47.56143803934229],[-66.37156635389289,47.72814616652929],[-66.38282440249061,47.728124614395],[-66.38296233316977,47.746214157032156],[-66.37161263403735,47.74623610285206],[-66.37175784229552,47.98401642808605],[-66.37686583687139,47.98938574874072]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.51388814952917,\"lat\":47.714374641816946},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1314\"],\"cd_name_en\":[\"Restigouche\"],\"csd_code\":[\"1314005\"],\"csd_name_en\":[\"Balmoral\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Restigouche\",\"csd_name_fr\":\"Balmoral\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.99633635443286,47.57977533306379],[-65.10094276653724,47.554615649051854],[-65.08923320207653,47.53178695604214],[-65.01794591573217,47.54819507822503],[-64.98485657339309,47.55570283809007],[-64.99633635443286,47.57977533306379]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.04247002968947,\"lat\":47.55559194539606},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1315\"],\"cd_name_en\":[\"Gloucester\"],\"csd_code\":[\"1315022\"],\"csd_name_en\":[\"Saint-Isidore\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Gloucester\",\"csd_name_fr\":\"Saint-Isidore\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.74089533745202,47.62931442170697],[-64.77994253002784,47.660712030591476],[-64.77155536435974,47.66527863328152],[-64.7773564351901,47.6789223817235],[-64.8452526523651,47.70863575548593],[-65.02005675698464,47.69726889420137],[-65.01423603914262,47.687162419321375],[-65.03287614927694,47.654519405661546],[-65.02566398003626,47.64068642560162],[-65.0060838701849,47.6497699585806],[-64.93479790942236,47.651160063113],[-64.93680312122828,47.640747673556206],[-64.90925055011094,47.638242581811944],[-64.90325100080837,47.625025132541964],[-64.88414667347736,47.620744736881],[-64.85966181170386,47.630859310682496],[-64.85054040630533,47.62053910938438],[-64.82009324909606,47.623040694693806],[-64.7637089887396,47.596775584196536],[-64.74089533745202,47.62931442170697]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.87923480415562,\"lat\":47.66227456595483},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1315\"],\"cd_name_en\":[\"Gloucester\"],\"csd_code\":[\"1315024\"],\"csd_name_en\":[\"Inkerman\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Gloucester\",\"csd_name_fr\":\"Inkerman\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.44116657753791,48.99886097294217],[-65.30910355990778,48.99906264697982],[-65.31027833414302,49.09575574665222],[-65.29581010075697,49.096139687229794],[-65.29517049908044,49.15181504971913],[-65.36200074258423,49.16327157316379],[-65.4968640180809,49.15154818170841],[-65.66824029802052,49.13014714218025],[-65.7471539428719,49.1236522071709],[-65.8651322607104,49.10384893509191],[-65.93875219855835,49.09015307385209],[-66.11006207478063,49.05908257552297],[-66.13512400995958,49.0545762586869],[-66.2017002310995,49.03603499133291],[-66.29289233288438,49.01162443349057],[-66.33472339828955,49.08014300570066],[-66.34514481846556,49.09178288393151],[-66.43555863586182,49.066993747908235],[-66.4280974531021,49.06222518350791],[-66.45852944103568,49.04209529634917],[-66.47275895233201,49.08210326768104],[-66.51925560261343,49.07559993860845],[-66.50962287400387,49.04944820216898],[-66.54725275118739,49.043039126822705],[-66.64606596189888,49.02787558701117],[-66.63395203116768,49.019192978597495],[-66.53993113541033,48.957815323709035],[-66.53691338921841,48.956950200178035],[-66.3252132389687,48.81822524941716],[-66.09831551942878,48.668163222371874],[-65.99036689938754,48.59709382210147],[-65.94908207496908,48.56781033341681],[-65.65738486687849,48.64057141074694],[-65.50168580981722,48.67922007782234],[-65.50195068491969,48.824742801317406],[-65.53186406049544,48.82474414391861],[-65.53268666293539,48.92716103295247],[-65.53352984336729,48.98656196335717],[-65.52865328658952,48.99844045346671],[-65.44116657753791,48.99886097294217]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.89973193298029,\"lat\":48.89617730331238},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2404\"],\"cd_name_en\":[\"La Haute-Gasp\\u00e9sie\"],\"csd_code\":[\"2404902\"],\"csd_name_en\":[\"Mont-Albert\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Haute-Gasp\\u00e9sie\",\"csd_name_fr\":\"Mont-Albert\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.65266504123161,48.526287362919284],[-67.69280595373104,48.52428969518583],[-67.72404834301351,48.54636380788457],[-67.75468699602807,48.52625273047962],[-67.82324695567877,48.481683890217205],[-67.79691817587099,48.45775225268024],[-67.77741752509735,48.45162526901944],[-67.73539686090056,48.422912720607535],[-67.63980237089213,48.48618229609537],[-67.66842226401545,48.50455317403285],[-67.64223724967765,48.522112842327616],[-67.65266504123161,48.526287362919284]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.72888871540957,\"lat\":48.48571041714428},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2407\"],\"cd_name_en\":[\"La Matap\\u00e9dia\"],\"csd_code\":[\"2407090\"],\"csd_name_en\":[\"Saint-Cl\\u00e9ophas\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Matap\\u00e9dia\",\"csd_name_fr\":\"Saint-Cl\\u00e9ophas\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.98087601644527,48.545497283265135],[-68.0104259755154,48.557331804932595],[-68.02418079197115,48.554226600155985],[-68.04349815181621,48.56092452464413],[-68.07446963254763,48.544812255481084],[-68.09969410705006,48.56089210579647],[-68.11307241442091,48.541408900140055],[-68.13311035980657,48.55243257215085],[-68.15213661118504,48.54731589631285],[-68.1526994167852,48.53712013755866],[-68.16512546382623,48.520753925113354],[-68.18572124446291,48.533493061762506],[-68.1980985306399,48.529760610818585],[-68.13788868429639,48.49303157971193],[-68.15069866847016,48.48579206878718],[-68.08407663887733,48.446586963748146],[-67.99326582066105,48.51589804028296],[-67.96207200124066,48.535826456473096],[-67.98087601644527,48.545497283265135]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.07711780079967,\"lat\":48.513221313884635},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2409\"],\"cd_name_en\":[\"La Mitis\"],\"csd_code\":[\"2409035\"],\"csd_name_en\":[\"Sainte-Ang\\u00e8le-de-M\\u00e9rici\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Mitis\",\"csd_name_fr\":\"Sainte-Ang\\u00e8le-de-M\\u00e9rici\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.3339280150892,48.282365668301395],[-68.36519805495514,48.302537166421935],[-68.35363253224143,48.311460370706946],[-68.36967851475043,48.32120331467614],[-68.35814924378822,48.32992124959301],[-68.37447415113814,48.340297421130416],[-68.41332438682358,48.31304879540607],[-68.42949501448774,48.32285268579752],[-68.48895323978077,48.28032695970239],[-68.50466806506611,48.2895045523323],[-68.55487507200253,48.24998267235998],[-68.5976748055031,48.22102871323956],[-68.5074131272053,48.16686797679232],[-68.50000001120402,48.16242604357297],[-68.40598541926215,48.229368980512625],[-68.3339280150892,48.282365668301395]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.46250876701087,\"lat\":48.24960891929274},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2410\"],\"cd_name_en\":[\"Rimouski-Neigette\"],\"csd_code\":[\"2410015\"],\"csd_name_en\":[\"Saint-Narcisse-de-Rimouski\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Rimouski-Neigette\",\"csd_name_fr\":\"Saint-Narcisse-de-Rimouski\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.51980568925913,47.7590226466206],[-69.54273188383455,47.761973007559746],[-69.55201878609954,47.75560007814888],[-69.57241008892929,47.769666493219134],[-69.5631306422406,47.79532894799715],[-69.65701796197537,47.85940116133595],[-69.68848361351421,47.81925990931891],[-69.73273493544397,47.775467219031974],[-69.64047760060745,47.71265999375819],[-69.62548178930794,47.716425757449635],[-69.60372012790009,47.73527087482376],[-69.57458278761234,47.736956101707776],[-69.55194779576036,47.72975298450677],[-69.51980568925913,47.7590226466206]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.63512704147763,\"lat\":47.77901062055055},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2412\"],\"cd_name_en\":[\"Rivi\\u00e8re-du-Loup\"],\"csd_code\":[\"2412080\"],\"csd_name_en\":[\"Notre-Dame-du-Portage\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Rivi\\u00e8re-du-Loup\",\"csd_name_fr\":\"Notre-Dame-du-Portage\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.38651856324661,47.551006590529774],[-68.38354933490588,47.55309228997397],[-68.38259970296366,47.778316321001064],[-68.38254959166072,47.79078376525888],[-68.38266118498792,47.83252065881745],[-68.48750993145305,47.76187220896286],[-68.41155422270339,47.710063099906925],[-68.52046124981787,47.635835700219005],[-68.5441298821147,47.65623747340448],[-68.56092098890394,47.6638876529085],[-68.56752931806194,47.660656690361506],[-68.59166296604941,47.67450934639805],[-68.65314262379563,47.62175432538456],[-68.67849081725382,47.597407829091296],[-68.71826172378142,47.56392993360319],[-68.77293704275542,47.52663986671422],[-68.71638915262776,47.49454782002349],[-68.57234270822691,47.425712171581985],[-68.38651856324661,47.551006590529774]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.53558553131398,\"lat\":47.585448237190846},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2413\"],\"cd_name_en\":[\"T\\u00e9miscouata\"],\"csd_code\":[\"2413005\"],\"csd_name_en\":[\"D\\u00e9gelis\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscouata\",\"csd_name_fr\":\"D\\u00e9gelis\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.80121205780819,47.403774547682254],[-68.82683884057374,47.42055980123274],[-68.8329101428259,47.416451370245774],[-68.91180878302244,47.46889466724059],[-68.92028387953431,47.47432965310554],[-68.98275822524141,47.4319393754543],[-68.95262483710027,47.41947118836401],[-68.93668984776389,47.41771669714173],[-68.99031528997173,47.38130584411131],[-68.91167903597683,47.32725553751904],[-68.79962823559508,47.34894193058395],[-68.74503135309729,47.36749093930022],[-68.80121205780819,47.403774547682254]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.88315478058098,\"lat\":47.391441985818446},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2413\"],\"cd_name_en\":[\"T\\u00e9miscouata\"],\"csd_code\":[\"2413020\"],\"csd_name_en\":[\"Saint-Marc-du-Lac-Long\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscouata\",\"csd_name_fr\":\"Saint-Marc-du-Lac-Long\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.18455087138372,47.42600451617184],[-70.05262461079481,47.34161691608492],[-70.0162731849011,47.36984549582979],[-70.01012549315838,47.3906837977989],[-70.0019668868407,47.40038897271638],[-70.0214861698713,47.411248918107155],[-70.09045311937223,47.40649227573118],[-70.15756852479903,47.447992100442875],[-70.18455087138372,47.42600451617184]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.0854689219139,\"lat\":47.394266111684395},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2414\"],\"cd_name_en\":[\"Kamouraska\"],\"csd_code\":[\"2414085\"],\"csd_name_en\":[\"La Pocati\\u00e8re\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Kamouraska\",\"csd_name_fr\":\"La Pocati\\u00e8re\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.3984933335891,46.95941323555619],[-71.41242989847848,46.97284555238792],[-71.40968355671474,46.959318312293334],[-71.3984933335891,46.95941323555619]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.40686892959411,\"lat\":46.963859033412476},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2422\"],\"cd_name_en\":[\"La Jacques-Cartier\"],\"csd_code\":[\"2422030\"],\"csd_name_en\":[\"Lac-Delage\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Jacques-Cartier\",\"csd_name_fr\":\"Lac-Delage\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.70348251422496,46.21233616147834],[-70.70637228899965,46.226757718959504],[-70.71619365874051,46.23452339105327],[-70.67309010642806,46.26269997630705],[-70.65769780251848,46.272666046921266],[-70.66563685460312,46.27869066357199],[-70.72674971454633,46.324714496353536],[-70.82426331540668,46.26654705585097],[-70.87351973129493,46.23541372904857],[-70.85753646021784,46.22246321358869],[-70.87671755953241,46.20649681076891],[-70.85974498757844,46.193241341443],[-70.85466215372617,46.196394251561884],[-70.83019241274945,46.17620809555424],[-70.81462861473679,46.18666421738941],[-70.80886825392803,46.17433200044148],[-70.78611972075265,46.170597295231765],[-70.75890484653391,46.144438600263975],[-70.78383688193341,46.127669890545455],[-70.77583993669575,46.11881091030888],[-70.74804616856352,46.13766473781993],[-70.754739797982,46.152897422450955],[-70.74053584154547,46.16257872604685],[-70.74823270373517,46.18037849534214],[-70.70348251422496,46.21233616147834]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.7684130822955,\"lat\":46.23583129933598},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2427\"],\"cd_name_en\":[\"Robert-Cliche\"],\"csd_code\":[\"2427028\"],\"csd_name_en\":[\"Beauceville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Robert-Cliche\",\"csd_name_fr\":\"Beauceville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.91123063881102,45.56261122418],[-70.8511632398938,45.56240504713205],[-70.84428395294765,45.57974280071629],[-70.85836500860768,45.58847568740189],[-70.85692336298142,45.60220609416782],[-70.88499871523952,45.61822094345843],[-70.89315883236998,45.611085376145226],[-70.92010090497098,45.588858471273646],[-70.93597541916861,45.594025720733505],[-70.90913515661062,45.57335500658269],[-70.91123063881102,45.56261122418]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.88340069682222,\"lat\":45.585201077523365},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2430\"],\"cd_name_en\":[\"Le Granit\"],\"csd_code\":[\"2430030\"],\"csd_name_en\":[\"Lac-M\\u00e9gantic\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Granit\",\"csd_name_fr\":\"Lac-M\\u00e9gantic\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.39364728984631,46.07244053394583],[-71.51512813658617,46.132326770442674],[-71.58300315716802,46.066607966113914],[-71.44241212452854,45.993489200541354],[-71.43865230736614,46.0076573814914],[-71.4170385160569,46.029375733197234],[-71.43190172205979,46.03631854793654],[-71.39364728984631,46.07244053394583]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.4859076838667,\"lat\":46.0657899858263},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2431\"],\"cd_name_en\":[\"Les Appalaches\"],\"csd_code\":[\"2431040\"],\"csd_name_en\":[\"Irlande\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Appalaches\",\"csd_name_fr\":\"Irlande\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.10282243986163,46.3583112809551],[-71.11401763639701,46.3724421657604],[-71.13201878656571,46.38253591703248],[-71.14768905692081,46.39734020149436],[-71.15909196965994,46.4177807485749],[-71.16628670231948,46.42454168078425],[-71.16996130162093,46.41120654446716],[-71.2139992625148,46.3924674954955],[-71.26156311433245,46.39253531128294],[-71.26167950510317,46.38537261803148],[-71.30770571818907,46.38685901769493],[-71.31426641560535,46.39348420712129],[-71.33617375012298,46.39302850631015],[-71.33204180511538,46.37858346289412],[-71.33613242911765,46.359079752362],[-71.3220834785673,46.348990440622046],[-71.25500301092394,46.30142740883811],[-71.24635316312457,46.30069354082222],[-71.10495089607642,46.30920431242396],[-71.14638695550147,46.341827796319926],[-71.10282243986163,46.3583112809551]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.21580495602285,\"lat\":46.35324946791817},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2433\"],\"cd_name_en\":[\"Lotbini\\u00e8re\"],\"csd_code\":[\"2433007\"],\"csd_name_en\":[\"Saint-Sylvestre\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Lotbini\\u00e8re\",\"csd_name_fr\":\"Saint-Sylvestre\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.09710988900557,45.086795160395944],[-72.0980053099403,45.16095858355934],[-72.1016153293547,45.16087023889531],[-72.24889030534915,45.16182520015761],[-72.26205901960206,45.14907847971235],[-72.27136292089449,45.13945354374918],[-72.27823594795039,45.120791039812126],[-72.28215675265648,45.08442208658093],[-72.27714599183807,45.06592852237038],[-72.26609513659359,45.049448865298054],[-72.24702583735538,45.03100016877817],[-72.21953660125502,45.0739085079465],[-72.20989802462815,45.084689301417825],[-72.09710988900557,45.086795160395944]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.19493728208909,\"lat\":45.114499868128426},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2445\"],\"cd_name_en\":[\"Memphr\\u00e9magog\"],\"csd_code\":[\"2445025\"],\"csd_name_en\":[\"Stanstead\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Memphr\\u00e9magog\",\"csd_name_fr\":\"Stanstead\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.16012848939728,45.01403427540602],[-73.06606137932992,45.01597837764919],[-72.9670728532056,45.014217725211296],[-72.92845191450108,45.01515220539769],[-72.92837423263046,45.075702684461255],[-72.95395384645775,45.07575533324438],[-73.00929116464626,45.07598568666101],[-73.04221921528514,45.07590509641093],[-73.11017816234494,45.07468573105097],[-73.1247233571887,45.05682530771992],[-73.16012848939728,45.01403427540602]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.03159710670961,\"lat\":45.04409488214099},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2446\"],\"cd_name_en\":[\"Brome-Missisquoi\"],\"csd_code\":[\"2446017\"],\"csd_name_en\":[\"Saint-Armand\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Brome-Missisquoi\",\"csd_name_fr\":\"Saint-Armand\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.96981960519646,45.11986681533001],[-72.96510028917544,45.12831843437551],[-72.99141626217269,45.12894479268951],[-72.99768586588588,45.11334486234521],[-72.96981960519646,45.11986681533001]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.98235382039667,\"lat\":45.122535482398256},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2446\"],\"cd_name_en\":[\"Brome-Missisquoi\"],\"csd_code\":[\"2446035\"],\"csd_name_en\":[\"Bedford\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Brome-Missisquoi\",\"csd_name_fr\":\"Bedford\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.49948467922954,45.99234104507577],[-72.50595936384099,45.987967818466366],[-72.54403736754539,46.015433918489585],[-72.54054801556617,46.028382992166875],[-72.55178634639327,46.0210679418508],[-72.56670874515227,46.031741311199134],[-72.58796255668994,46.01612239568846],[-72.60060468423154,46.01659623581158],[-72.61798575068858,46.02889454363156],[-72.64302156030675,46.01562883118681],[-72.6555495570019,46.007331763051866],[-72.61557074163474,45.98905575804232],[-72.58409838020164,45.979082192471],[-72.55460557751358,45.97438395933326],[-72.55288302149768,45.96778386221419],[-72.52033053609654,45.94445426196178],[-72.59304191693316,45.88137119399526],[-72.50901645930924,45.83264941938776],[-72.51434326781946,45.82808370528037],[-72.43118668038368,45.781049866914856],[-72.40916758604035,45.767007412606446],[-72.38629362717023,45.75299364078255],[-72.29606142264024,45.82679066355535],[-72.28068913298883,45.837153284216505],[-72.30192800839279,45.845481067998655],[-72.31483397486846,45.84255504745307],[-72.32028209930523,45.82241735534102],[-72.33318868124084,45.81539416081983],[-72.35374360691088,45.82381098109019],[-72.35254453625309,45.85026246272872],[-72.39571525664063,45.875492622522096],[-72.40875022989826,45.86477177748227],[-72.4668506148589,45.89727211459901],[-72.45132776552961,45.908321599077055],[-72.48223969455198,45.925988784479934],[-72.46840812454266,45.937693425609446],[-72.50301239270617,45.9569364792596],[-72.47580268089567,45.97994560236528],[-72.49948467922954,45.99234104507577]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.47452830390432,\"lat\":45.88158160492606},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2449\"],\"cd_name_en\":[\"Drummond\"],\"csd_code\":[\"2449058\"],\"csd_name_en\":[\"Drummondville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Drummond\",\"csd_name_fr\":\"Drummondville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.66609673590247,46.08722247072214],[-72.66107919633359,46.096663202254526],[-72.6416726083928,46.10897274976756],[-72.6573255662185,46.1205656492961],[-72.6301691519039,46.140095937811],[-72.61906485443393,46.15428895998392],[-72.73306746663226,46.23491150407931],[-72.79078821578305,46.20648483791861],[-72.86788112473164,46.1817739305269],[-72.78830650682251,46.12428708530773],[-72.73592563741964,46.08448111309783],[-72.72444533738887,46.08275098950946],[-72.68814610666776,46.10364510282378],[-72.66609673590247,46.08722247072214]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.7334953994749,\"lat\":46.157733928565925},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2450\"],\"cd_name_en\":[\"Nicolet-Yamaska\"],\"csd_code\":[\"2450100\"],\"csd_name_en\":[\"Baie-du-Febvre\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nicolet-Yamaska\",\"csd_name_fr\":\"Baie-du-Febvre\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.9523972485055,46.39005793201421],[-72.96953315227405,46.42345528773624],[-72.98292600332125,46.43643436216136],[-72.98766345511777,46.45527103537021],[-73.03735487520233,46.49202915724485],[-73.13302983475417,46.42478029719206],[-73.10049817207894,46.406157455205026],[-73.09047971740785,46.40624342262331],[-73.06410940638162,46.38997151739226],[-73.0459366365336,46.40157602170403],[-73.03184740647578,46.39211439878604],[-73.02093400060069,46.376234398784774],[-73.0064393456451,46.37950165632772],[-72.99123795347012,46.368520135441315],[-72.9523972485055,46.39005793201421]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.03482149568771,\"lat\":46.42717110545681},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2451\"],\"cd_name_en\":[\"Maskinong\\u00e9\"],\"csd_code\":[\"2451060\"],\"csd_name_en\":[\"Saint-Paulin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Maskinong\\u00e9\",\"csd_name_fr\":\"Saint-Paulin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.21629747531178,46.27847333178619],[-73.2464504129865,46.29870734641931],[-73.2604622358922,46.289836851623306],[-73.28665545348551,46.27113978249999],[-73.20863674203972,46.212109981812425],[-73.17022287760003,46.18680934350378],[-73.17333145154676,46.18308686158625],[-73.10178768490935,46.13664847664946],[-73.0387442668417,46.15607544665021],[-73.04522324595438,46.16228529710916],[-73.1125210104256,46.21043095013143],[-73.21629747531178,46.27847333178619]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.16481647921468,\"lat\":46.21373104278885},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2452\"],\"cd_name_en\":[\"D'Autray\"],\"csd_code\":[\"2452055\"],\"csd_name_en\":[\"Saint-Barth\\u00e9lemy\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"D'Autray\",\"csd_name_fr\":\"Saint-Barth\\u00e9lemy\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.10178768490935,46.13664847664946],[-73.17333145154676,46.18308686158625],[-73.17022287760003,46.18680934350378],[-73.20863674203972,46.212109981812425],[-73.28665545348551,46.27113978249999],[-73.29737477524837,46.27874966712266],[-73.32096994651828,46.26436606610817],[-73.30363828953028,46.2094261699088],[-73.31077965380408,46.2035664039354],[-73.28901568508715,46.161941046601385],[-73.25397195710761,46.1497122681245],[-73.23610883899943,46.136714446193466],[-73.21771368438792,46.12836478932213],[-73.21322164787057,46.12036551433262],[-73.18035517280902,46.111225340882704],[-73.1464254594132,46.13596392078188],[-73.12287636564542,46.11965146564823],[-73.10178768490935,46.13664847664946]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.22974434784983,\"lat\":46.18472178068431},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2452\"],\"cd_name_en\":[\"D'Autray\"],\"csd_code\":[\"2452062\"],\"csd_name_en\":[\"Saint-Cuthbert\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"D'Autray\",\"csd_name_fr\":\"Saint-Cuthbert\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.01218620958565,46.033587891925436],[-73.03551854166966,46.03786349874813],[-73.06982862049652,46.03364774917348],[-73.0942541566164,46.05725717269709],[-73.12416873646416,46.05516792797557],[-73.11858458103389,46.04108770768222],[-73.15900148843774,46.04201293958059],[-73.17349623474,46.01526047181784],[-73.18577979351258,45.98437783391652],[-73.16487428582376,45.968836616353656],[-73.14658469655609,45.95530069994147],[-73.14211822634289,45.975173979626895],[-73.14528176308015,45.99576905628369],[-73.10419686567293,45.98056891571673],[-73.09025039031084,45.99521361647715],[-73.08153205546158,46.013064565365326],[-73.06025048334601,46.00489627081975],[-73.04150688125442,45.98867247687237],[-73.03624343621696,46.01538877046765],[-73.01218620958565,46.033587891925436]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.11255044839118,\"lat\":46.01400495647782},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2453\"],\"cd_name_en\":[\"Pierre-De Saurel\"],\"csd_code\":[\"2453052\"],\"csd_name_en\":[\"Sorel-Tracy\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Pierre-De Saurel\",\"csd_name_fr\":\"Sorel-Tracy\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.04836843083363,45.600071091659885],[-73.04480733415498,45.63175282908224],[-73.03350658492437,45.63204759532488],[-73.02337970354321,45.666786437689176],[-73.00347574712177,45.69914689715995],[-72.99618686567837,45.717584455754306],[-73.00155903591721,45.72151606550859],[-73.0526464436531,45.75945373439627],[-73.05902306906084,45.74823567042901],[-73.07370349314726,45.71790931764463],[-73.08918297325837,45.729263165959786],[-73.10406091374922,45.7140863084231],[-73.11599466274447,45.685779889787156],[-73.11642315951049,45.67390140733692],[-73.10118930290305,45.66196873769902],[-73.09923601274426,45.612074808728735],[-73.08253310029971,45.60796768763529],[-73.04836843083363,45.600071091659885]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.0598819866587,\"lat\":45.67976259326188},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2454\"],\"cd_name_en\":[\"Les Maskoutains\"],\"csd_code\":[\"2454035\"],\"csd_name_en\":[\"La Pr\\u00e9sentation\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Maskoutains\",\"csd_name_fr\":\"La Pr\\u00e9sentation\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.79982537005563,45.53775858720525],[-72.78058911249734,45.592144274073384],[-72.80525216384643,45.61124712309153],[-72.79289059874576,45.63268702924551],[-72.82413619898995,45.654707047598116],[-72.8596684889758,45.59420805996916],[-72.8684171371139,45.59901065100824],[-72.90253638159842,45.57775830935034],[-72.85097697855406,45.539613919166776],[-72.80825290338309,45.51183491010523],[-72.79982537005563,45.53775858720525]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.83045710820393,\"lat\":45.58072023249963},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2454\"],\"cd_name_en\":[\"Les Maskoutains\"],\"csd_code\":[\"2454060\"],\"csd_name_en\":[\"Saint-Dominique\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Maskoutains\",\"csd_name_fr\":\"Saint-Dominique\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.16806324577917,45.49043338228135],[-73.19637068815683,45.510680040302574],[-73.21344087234873,45.52226760508925],[-73.23175042778006,45.53506002983762],[-73.24117417425174,45.51738168327444],[-73.26758982823333,45.483827638992544],[-73.28044621068828,45.46502566627674],[-73.27425816210489,45.45704155080588],[-73.2059518341129,45.44308571036478],[-73.198805302518,45.45166770419625],[-73.19567340322138,45.470548039520004],[-73.17574151256194,45.47141542403376],[-73.16806324577917,45.49043338228135]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.22424076997844,\"lat\":45.48346167224307},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2455\"],\"cd_name_en\":[\"Rouville\"],\"csd_code\":[\"2455065\"],\"csd_name_en\":[\"Saint-Mathias-sur-Richelieu\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Rouville\",\"csd_name_fr\":\"Saint-Mathias-sur-Richelieu\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-73.25256864090981,45.38488602141036],[-73.25688177040583,45.401967662583075],[-73.24273068980567,45.41521115732868],[-73.25445300229525,45.439198919935436],[-73.24918472633188,45.41349407673452],[-73.28221884980974,45.408711407374874],[-73.28973372444065,45.393077558350875],[-73.27478241714581,45.3826306869298],[-73.25256864090981,45.38488602141036]]],[[[-73.26758982823333,45.483827638992544],[-73.28966826859252,45.485107992855944],[-73.29929526308257,45.49742864562245],[-73.32234318344449,45.51362792484013],[-73.33882909243545,45.48195180423029],[-73.36312334260845,45.44471716382593],[-73.37994957832758,45.43298269375082],[-73.38665189964664,45.413199942402315],[-73.34868925384008,45.38608871227759],[-73.32678770828629,45.38320192759695],[-73.30834339519765,45.40613116765674],[-73.31587192074943,45.41134259942392],[-73.31145844411363,45.424788869444015],[-73.32682999709412,45.4357852034814],[-73.31125699257731,45.44373259471888],[-73.30518960576774,45.46157545051922],[-73.28044621068828,45.46502566627674],[-73.26758982823333,45.483827638992544]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.32385131024128,\"lat\":45.438312224948206},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2457\"],\"cd_name_en\":[\"La Vall\\u00e9e-du-Richelieu\"],\"csd_code\":[\"2457010\"],\"csd_name_en\":[\"Carignan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-du-Richelieu\",\"csd_name_fr\":\"Carignan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.19110310671104,45.728420146440016],[-73.1908217045883,45.74522066653347],[-73.18144925311286,45.7687273881278],[-73.16390555468264,45.78291243914092],[-73.15209403238656,45.8022276236105],[-73.14057739200159,45.82969154505609],[-73.18470163895716,45.86185920115841],[-73.20582493911729,45.843324931840264],[-73.21799802611272,45.82548085000994],[-73.25376795053134,45.79760194944449],[-73.26365832167002,45.781141412597776],[-73.21937061301159,45.7489249645355],[-73.19110310671104,45.728420146440016]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.19882697553727,\"lat\":45.7986701401685},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2457\"],\"cd_name_en\":[\"La Vall\\u00e9e-du-Richelieu\"],\"csd_code\":[\"2457075\"],\"csd_name_en\":[\"Saint-Antoine-sur-Richelieu\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-du-Richelieu\",\"csd_name_fr\":\"Saint-Antoine-sur-Richelieu\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.56293554524242,46.51784941790524],[-73.72052714040812,46.62618061066598],[-73.67520286797487,46.655801373840305],[-73.70949631655044,46.679931826867445],[-73.7553594702415,46.64999415598134],[-73.78706613491885,46.67166546996361],[-73.86148161935691,46.61976448792616],[-73.938054088982,46.562047949887486],[-73.9246185566499,46.55235726987458],[-73.93222693558513,46.53820339605416],[-73.89423840974924,46.512830174431706],[-73.88024812653734,46.52205455560891],[-73.8365478165219,46.49242412344725],[-73.72244016896616,46.41840523914225],[-73.67961944981327,46.39122824049178],[-73.64979333807291,46.41226640740783],[-73.51799679122547,46.48753923011463],[-73.56293554524242,46.51784941790524]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.73397117495132,\"lat\":46.53398946512491},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2462\"],\"cd_name_en\":[\"Matawinie\"],\"csd_code\":[\"2462080\"],\"csd_name_en\":[\"Saint-Z\\u00e9non\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Matawinie\",\"csd_name_fr\":\"Saint-Z\\u00e9non\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.96505896446409,45.46877107706087],[-73.95384548997131,45.478742228765945],[-73.95489795294358,45.48854212914932],[-73.93231723446061,45.50405528835079],[-73.95278162692478,45.51847155964623],[-73.99788952173871,45.492826316438915],[-73.96505896446409,45.46877107706087]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.96456990716297,\"lat\":45.49488156708615},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2472\"],\"cd_name_en\":[\"Deux-Montagnes\"],\"csd_code\":[\"2472020\"],\"csd_name_en\":[\"Pointe-Calumet\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Deux-Montagnes\",\"csd_name_fr\":\"Pointe-Calumet\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.12375082129341,46.02472178537191],[-74.15064304724717,46.043700722151215],[-74.17878245513175,46.02535119722821],[-74.20611128579851,46.01313508982611],[-74.26053024243888,45.97541082282842],[-74.26959516065757,45.981619257925665],[-74.27283113775243,45.96637210370797],[-74.2465905636072,45.948648600168994],[-74.18664601852912,45.98924061896908],[-74.17350778242347,45.985814483289275],[-74.144597613745,46.00294998848866],[-74.14961345085433,46.00699026202368],[-74.12375082129341,46.02472178537191]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.197961976455,\"lat\":45.996516824991815},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2478\"],\"cd_name_en\":[\"Les Laurentides\"],\"csd_code\":[\"2478005\"],\"csd_name_en\":[\"Val-Morin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Laurentides\",\"csd_name_fr\":\"Val-Morin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.26627893652105,46.11448932925428],[-74.23108384005107,46.14154365154036],[-74.21505429708215,46.13106238917071],[-74.20086111263112,46.1417330881098],[-74.21591398151908,46.151949958363005],[-74.20179447063163,46.15883080616788],[-74.2165937943059,46.168977865936775],[-74.20560819307204,46.176789364241],[-74.2204860552907,46.18692797228951],[-74.24178224216938,46.19053159257637],[-74.21770705603582,46.202763951852596],[-74.23189432852713,46.21648087111838],[-74.2582176075498,46.198007350173654],[-74.2743699995039,46.20315266399235],[-74.29728584003567,46.19162655019748],[-74.2818671604791,46.181218868276666],[-74.32051020142617,46.15311866463688],[-74.26627893652105,46.11448932925428]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.25688351734908,\"lat\":46.1631863299453},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2478\"],\"cd_name_en\":[\"Les Laurentides\"],\"csd_code\":[\"2478015\"],\"csd_name_en\":[\"Lantier\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Laurentides\",\"csd_name_fr\":\"Lantier\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.57119218450627,45.98291080192486],[-74.55609582862722,45.98812943031563],[-74.55369661180619,45.97352655968194],[-74.52445323439836,45.96952463132753],[-74.50735823562664,45.98191491862251],[-74.49036941524365,46.008576363934026],[-74.51597061038666,46.01204487908606],[-74.51751179271751,46.004803081872495],[-74.54959032988164,46.00926822604064],[-74.56082527299657,46.018520617319986],[-74.58139281230854,46.01415263837401],[-74.5885069535878,45.985252162363885],[-74.57119218450627,45.98291080192486]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.54177521609316,\"lat\":45.994550799161985},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2478\"],\"cd_name_en\":[\"Les Laurentides\"],\"csd_code\":[\"2478050\"],\"csd_name_en\":[\"Barkmere\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Laurentides\",\"csd_name_fr\":\"Barkmere\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.76952795355948,45.506971227407305],[-75.76213926807407,45.52044574907815],[-75.72004663846461,45.523645787841545],[-75.72350165802166,45.54706146236326],[-75.68369102358653,45.5505768753715],[-75.69086557334512,45.57798296305949],[-75.68869243444585,45.59377509493637],[-75.69856962194528,45.63909027176503],[-75.7347734607022,45.63640364286539],[-75.73497030552255,45.62756879070375],[-75.81597847185145,45.62201734135317],[-75.89695413960338,45.61594292324474],[-75.89650493589117,45.61042936403841],[-75.87147711667981,45.593766429618725],[-75.86411303018822,45.58112535985981],[-75.82352280973461,45.56048927069414],[-75.81617996569568,45.54950323236834],[-75.78623328835253,45.525520048694496],[-75.78759218767145,45.5165906616142],[-75.76952795355948,45.506971227407305]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.77132728293877,\"lat\":45.58194290631924},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2482\"],\"cd_name_en\":[\"Les Collines-de-l'Outaouais\"],\"csd_code\":[\"2482020\"],\"csd_name_en\":[\"Cantley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Collines-de-l'Outaouais\",\"csd_name_fr\":\"Cantley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.15407066048444,46.1596117142079],[-76.15435929454958,46.2317534783223],[-76.15501358461796,46.30477762847156],[-76.15534583656337,46.314539924931665],[-76.23861139228903,46.315631585362866],[-76.316157742131,46.31705965418],[-76.31749704481742,46.26586799710916],[-76.31887229307713,46.172413266967816],[-76.31937172249994,46.024767742207274],[-76.15242408801703,46.02266362859014],[-76.15407066048444,46.1596117142079]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.23618999560684,\"lat\":46.16890725559212},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2483\"],\"cd_name_en\":[\"La Vall\\u00e9e-de-la-Gatineau\"],\"csd_code\":[\"2483040\"],\"csd_name_en\":[\"Cayamant\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-de-la-Gatineau\",\"csd_name_fr\":\"Cayamant\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.11400778500345,47.27537480513082],[-79.11280557775183,47.4261406032887],[-79.09007160124882,47.437117932780794],[-79.09276015223082,47.469874100827525],[-79.18185881891655,47.469900900678894],[-79.2212710414763,47.47174345265653],[-79.22033998585856,47.419560729931014],[-79.2406492369135,47.41947071142223],[-79.24051914116363,47.407806034366814],[-79.22090904868648,47.40794623048711],[-79.22126313432291,47.37944510075085],[-79.24194138934753,47.37946994470428],[-79.2431906535557,47.34818332244367],[-79.24325780037852,47.339947349825835],[-79.20119769886004,47.33911353027345],[-79.20078114342986,47.32164587152358],[-79.16593593698578,47.322342698351136],[-79.16660448353933,47.27537211324529],[-79.11400778500345,47.27537480513082]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.16390209475234,\"lat\":47.38624813501751},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2485\"],\"cd_name_en\":[\"T\\u00e9miscamingue\"],\"csd_code\":[\"2485055\"],\"csd_name_en\":[\"Fug\\u00e8reville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscamingue\",\"csd_name_fr\":\"Fug\\u00e8reville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.20578225421303,48.67577801812471],[-78.42502947233281,48.67551092988206],[-78.42451857870397,48.574996799116356],[-78.42938883820517,48.57493435468286],[-78.4295043899231,48.5618706101762],[-78.22346444526555,48.56196870856512],[-78.22303648034351,48.57505431868074],[-78.2054633133734,48.57495253215215],[-78.20627651731014,48.63156086114391],[-78.20578225421303,48.67577801812471]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.31652661665528,\"lat\":48.619123100701835},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2488\"],\"cd_name_en\":[\"Abitibi\"],\"csd_code\":[\"2488075\"],\"csd_name_en\":[\"Tr\\u00e9cesson\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi\",\"csd_name_fr\":\"Tr\\u00e9cesson\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.13565569664163,48.57507726352821],[-77.12679531583032,48.58712333640886],[-77.1260515509684,48.6123979577162],[-77.10119713890145,48.63959647462777],[-77.09413319131708,48.66561868139871],[-77.09719165316857,48.70578035668131],[-77.08487674950976,48.723592717231874],[-77.09505147555979,48.75140273604042],[-77.10853344759471,48.76325745751505],[-77.10517233693899,48.7848571177694],[-77.12506553780024,48.800584784481465],[-77.12625850502842,48.81862210197728],[-77.11142741785841,48.83538146258304],[-77.11921457121453,48.85405895206794],[-77.1411985896487,48.86210889546684],[-77.13138068872526,48.900083374017505],[-77.1174866024455,48.914191029887675],[-77.11783262396513,48.93415721786592],[-77.09540867761062,48.9535102505323],[-77.06230464146176,48.96348298028456],[-77.05946174277832,49.000106379746896],[-77.24999998506188,48.99999999546481],[-77.50000000485319,48.999999994336065],[-77.87863854765295,49.000080745431546],[-77.8780058592808,48.77757184302154],[-77.54882470368347,48.77775599251539],[-77.54969780446244,48.719126332606216],[-77.3313440756104,48.71922450701603],[-77.33159892893971,48.631733507173536],[-77.3308353262433,48.57492222282822],[-77.13565569664163,48.57507726352821]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.43530764731172,\"lat\":48.84004433740216},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2488\"],\"cd_name_en\":[\"Abitibi\"],\"csd_code\":[\"2488902\"],\"csd_name_en\":[\"Lac-Despinassy\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi\",\"csd_name_fr\":\"Lac-Despinassy\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.52878447610766,48.93412791475963],[-72.61966361866763,49.014201643399936],[-72.63206595767073,49.01811634357971],[-72.65018774162515,49.043623816072746],[-72.66328455826003,49.04467495119994],[-72.67608119335988,49.03841702752765],[-72.69496161975934,49.02917771790088],[-72.59939806212805,48.94897456966371],[-72.61651844632758,48.937975186308165],[-72.58184573190964,48.90780820563615],[-72.54255470686402,48.87119578980593],[-72.50318950366302,48.87359620973413],[-72.49913920586403,48.88321991161814],[-72.50775444941654,48.89300895508074],[-72.49065987214806,48.90109542973205],[-72.52878447610766,48.93412791475963]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.58489690486317,\"lat\":48.95141972852216},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2492\"],\"cd_name_en\":[\"Maria-Chapdelaine\"],\"csd_code\":[\"2492050\"],\"csd_name_en\":[\"Saint-Edmond-les-Plaines\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Maria-Chapdelaine\",\"csd_name_fr\":\"Saint-Edmond-les-Plaines\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.39941529692716,48.32948923647489],[-69.39213880887723,48.33566479057976],[-69.40185791366042,48.34077420058128],[-69.40662415522729,48.33397187846788],[-69.39941529692716,48.32948923647489]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.39983223143504,\"lat\":48.33507236920651},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2495\"],\"cd_name_en\":[\"La Haute-C\\u00f4te-Nord\"],\"csd_code\":[\"2495802\"],\"csd_name_en\":[\"Essipit\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Haute-C\\u00f4te-Nord\",\"csd_name_fr\":\"Essipit\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-72.00659519536758,61.726225102982156],[-72.0670940140487,61.7436714964862],[-72.12492314538166,61.7109046999388],[-72.09485397669158,61.68401417672901],[-72.1693141048612,61.64412301783986],[-72.21239170146032,61.628074904961096],[-72.2460654901179,61.625052479973306],[-72.23786531175361,61.60879240003176],[-72.20999511666592,61.60967060697498],[-72.1858498858601,61.618743095836116],[-72.1620283995819,61.617224712810064],[-72.12990418104793,61.604278296413945],[-72.09799052906394,61.60088159180596],[-72.06190500933927,61.60419758849353],[-72.0582723873368,61.617588205777814],[-72.03932707776237,61.62833799353584],[-72.02102176285611,61.62962843472717],[-72.00005342765203,61.644121100407965],[-71.99563440568154,61.656524508442494],[-71.9798293076175,61.66430928707889],[-71.98054202020079,61.678458011959876],[-71.99566591309258,61.68758399448731],[-72.0177477164781,61.69001741552478],[-72.01816400525907,61.708014386306814],[-72.00659519536758,61.726225102982156]]],[[[-71.97157791239569,61.59534697317027],[-72.00602618967966,61.597783785002505],[-72.01709210640858,61.58592780558119],[-72.07916290868764,61.58844251030812],[-72.11770659653568,61.584450000453444],[-72.16624779800465,61.601633289893975],[-72.19277767779411,61.60483139660506],[-72.22880141849042,61.59138179006082],[-72.27005335095242,61.56864039987408],[-72.36081849393305,61.57312426306524],[-72.4249334547895,61.58072515479718],[-72.47445566570744,61.58033607286524],[-72.52300624741335,61.57484164254299],[-72.52821943008193,61.55379598359084],[-72.58531440942224,61.54833027624542],[-72.65276087166177,61.54808693579331],[-72.6740875835103,61.5101059466715],[-72.61394249860142,61.52172739603342],[-72.57081240899142,61.50993482076283],[-72.47595475097441,61.52701303440652],[-72.43897081260953,61.54905276185306],[-72.29949273643663,61.53540261180525],[-72.23225730618152,61.53563562694433],[-72.08164645613039,61.51766072915853],[-72.01776018026746,61.499541393185865],[-71.9568790995951,61.4758914001577],[-71.9001953410913,61.47288563369254],[-71.83636547562834,61.44726569622206],[-71.78929461655775,61.45159191211036],[-71.76973769482639,61.46569298558304],[-71.73273881801018,61.47262070025697],[-71.80499977628443,61.49611730925746],[-71.74517730860009,61.5071739138154],[-71.77621916822986,61.51845940331821],[-71.80099910911156,61.54296299833144],[-71.77018438755128,61.542204106342204],[-71.72876692052542,61.55172800540356],[-71.7173191889578,61.54631770056999],[-71.69183379104689,61.55168558827948],[-71.63203820276605,61.55449110807858],[-71.60569660712038,61.55285210801963],[-71.56878199818217,61.57421730582815],[-71.54952317026137,61.56391110558747],[-71.52410801617039,61.57853780520079],[-71.54301360471693,61.593362397991655],[-71.55019506119704,61.608436353226885],[-71.58038868824615,61.607723200859226],[-71.67043274217885,61.61040060756978],[-71.7179338481316,61.588234034294096],[-71.79183402554952,61.606888831490465],[-71.83343050151983,61.63309801793656],[-71.85007700810397,61.66437964729065],[-71.8498779335071,61.70014084101172],[-71.89883261744467,61.69445391319585],[-71.89594589274552,61.70526980849061],[-71.93965868916095,61.707461497992014],[-71.95163941126715,61.701538408995965],[-71.9406469051582,61.690084709327095],[-71.91414149115799,61.68948060402095],[-71.91130561607761,61.65758299821661],[-71.94828188360988,61.63821558978488],[-71.94490189227758,61.623523384610436],[-71.95890379880228,61.61196258506071],[-71.8878496846872,61.59237844224952],[-71.88368458953563,61.57895314176223],[-71.94702111679298,61.570338015472174],[-71.97157791239569,61.59534697317027]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.0189186809867,\"lat\":61.57628313113441},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499888\"],\"csd_name_en\":[\"Kangiqsujuaq\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Terre inuite\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Kangiqsujuaq\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.37637598912805,45.23003876450268],[-74.47191127919558,45.30273420964523],[-74.47118010515447,45.304921241092536],[-74.45237797090921,45.355902114731606],[-74.62080649986108,45.28699070340544],[-74.60669658339553,45.26994519875328],[-74.67631684776028,45.24016605921821],[-74.78698837575953,45.189170041894826],[-74.7862008951187,45.18819269257165],[-74.75243989258226,45.15068096921147],[-74.75715104380507,45.14470379554705],[-74.70839921750778,45.08554136600746],[-74.65303922676085,45.01919770198155],[-74.59651067430198,45.041425760660445],[-74.55483946747925,45.04446922846354],[-74.4930057647962,45.06612706429449],[-74.46558429473376,45.100527072923484],[-74.44167199607352,45.13081282079901],[-74.41964089758027,45.14106022196876],[-74.37761462642344,45.15376489348417],[-74.32038089497728,45.186936521324],[-74.37637598912805,45.23003876450268]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.5609965657723,\"lat\":45.17745263993866},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3501\"],\"cd_name_en\":[\"Stormont\",\"Dundas and Glengarry\"],\"csd_code\":[\"3501005\"],\"csd_name_en\":[\"South Glengarry\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Stormont, Dundas and Glengarry\",\"csd_name_fr\":\"South Glengarry\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.91597566316744,45.33804146811642],[-74.88386111255892,45.35120341238332],[-74.88891066512211,45.358346754716145],[-74.81511770146982,45.38748349992252],[-74.73269689040792,45.42360730824036],[-74.74144908985505,45.4425037069908],[-74.6920272144042,45.54723249482838],[-74.82358870535795,45.54690800490841],[-74.86845381120703,45.452380090173705],[-74.88814647672854,45.44634976119963],[-74.9137667965802,45.49083569534465],[-75.09469251015855,45.442032765020954],[-75.07953950706877,45.410567791383386],[-75.15492189717553,45.3904715026099],[-75.2459327872814,45.364639997240694],[-75.26816501076452,45.35617230635865],[-75.2341379026084,45.300286795942874],[-75.20115611474026,45.23974210389306],[-75.19213378712433,45.2213608045122],[-75.14266145524695,45.23431763771514],[-74.99347360467326,45.27688386570176],[-75.01705537292986,45.31567337292694],[-74.92014520697676,45.343339897000355],[-74.91597566316744,45.33804146811642]],[[-75.10370131192441,45.30923274213961],[-75.11063609572356,45.32093350851436],[-75.0852432035249,45.327994476172925],[-75.07380762822116,45.299912302484834],[-75.08654304048191,45.29611653506461],[-75.10370131192441,45.30923274213961]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.98731467432519,\"lat\":45.387065985447535},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3502\"],\"cd_name_en\":[\"Prescott and Russell\"],\"csd_code\":[\"3502025\"],\"csd_name_en\":[\"The Nation \\/ La Nation\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality \\/ Municipalit\\u00e9\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Prescott and Russell\",\"csd_name_fr\":\"The Nation \\/ La Nation\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.88448063294754,44.76988667141803],[-77.95761770170277,44.905259100582796],[-77.9611981100963,44.91147640008755],[-78.11888740219821,44.875676513050266],[-78.14101068116284,44.91676919602081],[-78.18731002177171,44.90301703627244],[-78.33292103392726,44.86993138121913],[-78.31671652174992,44.84189587069812],[-78.2808362765786,44.766143760853616],[-78.24981514946039,44.71202081367447],[-78.27463385633521,44.706300138642376],[-78.23848755633695,44.62490325138257],[-78.21006454081554,44.56370549774231],[-78.20964553593151,44.55760994903969],[-78.18795245378668,44.55297846936286],[-78.16470013034177,44.552886594546656],[-78.15928181956342,44.54413449017014],[-78.14772060527902,44.55201602916301],[-78.1272798739304,44.554376439201846],[-78.08961259169168,44.571268040900875],[-78.07668628605077,44.56986844275926],[-78.02639043842133,44.5831519901977],[-78.00472301524849,44.58184769388977],[-78.01408049240436,44.612632080401916],[-78.06907085402895,44.72571120857143],[-78.05553883226557,44.72388142483358],[-78.016007725922,44.72877197908495],[-77.99242011865395,44.73567065917556],[-77.96122617659479,44.75190044013536],[-77.88747432537879,44.76910851179704],[-77.88448063294754,44.76988667141803]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.1214845310694,\"lat\":44.75346391834225},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3515\"],\"cd_name_en\":[\"Peterborough\"],\"csd_code\":[\"3515037\"],\"csd_name_en\":[\"North Kawartha\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Peterborough\",\"csd_name_fr\":\"North Kawartha\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.95230900589009,44.22069299763038],[-78.97393751419342,44.273727509296265],[-79.0277510853868,44.39320118832012],[-79.08183403820397,44.51582270840544],[-79.1283052008267,44.5070854175895],[-79.14009517664046,44.51294973164147],[-79.15985993291218,44.486893623532836],[-79.1637545028795,44.47100494062699],[-79.24244869137544,44.45978378642913],[-79.23094433789684,44.43157792225153],[-79.15612311782276,44.263121193396216],[-79.12249371188304,44.183301698012315],[-78.95230900589009,44.22069299763038]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.09755515999117,\"lat\":44.34484795784144},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3518\"],\"cd_name_en\":[\"Durham\"],\"csd_code\":[\"3518039\"],\"csd_name_en\":[\"Brock\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Durham\",\"csd_name_fr\":\"Brock\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.07033229875049,43.92516504280403],[-79.95117640653083,43.95142348852157],[-79.99396420453787,44.12324910673776],[-80.122765911777,44.09374209469784],[-80.17174139646654,44.084927902033165],[-80.13467856024695,43.928800848298096],[-80.10972600736514,43.93329466883815],[-80.08372128660143,43.93296272826544],[-80.07033229875049,43.92516504280403]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.06055461790824,\"lat\":44.019736733225265},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3522\"],\"cd_name_en\":[\"Dufferin\"],\"csd_code\":[\"3522012\"],\"csd_name_en\":[\"Mono\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Dufferin\",\"csd_name_fr\":\"Mono\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.00576515359448,42.98254968782883],[-79.02026194754194,42.99483573721107],[-79.02344439227201,43.01627779900031],[-79.01186109167229,43.02916670422647],[-78.99966668878886,43.05599999014754],[-79.00741669972355,43.06591670961028],[-79.06802759345699,43.07685538927912],[-79.07670083381997,43.08038893825276],[-79.05817461752885,43.1068244057529],[-79.07041379510822,43.12091473176461],[-79.04312523552431,43.13919489201489],[-79.04274151810375,43.1483254761306],[-79.14465380636587,43.14566320368367],[-79.15695963158241,43.147675474542496],[-79.17607461142445,43.14121505403479],[-79.17499179359895,43.058901685652664],[-79.16911470666864,43.041634821285186],[-79.16875026592581,42.959594116673806],[-79.1151638416057,42.95965454570859],[-79.10762828828965,42.96726480973179],[-79.02905695490693,42.96740410368816],[-79.02919135289933,42.98248755776724],[-79.00576515359448,42.98254968782883]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.10187766636473,\"lat\":43.050496479723996},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3526\"],\"cd_name_en\":[\"Niagara\"],\"csd_code\":[\"3526043\"],\"csd_name_en\":[\"Niagara Falls\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Niagara\",\"csd_name_fr\":\"Niagara Falls\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.04274151810375,43.1483254761306],[-79.05366182170737,43.17130905553594],[-79.04908613988187,43.19638888248742],[-79.05620441130569,43.20982715760762],[-79.05299478608654,43.22188018435496],[-79.055047141066,43.25270614882],[-79.07197670179103,43.265352654136095],[-79.1121451246794,43.2589991438185],[-79.12812165957229,43.26047665814904],[-79.19204381248701,43.23284938630713],[-79.20258851666729,43.22995434442976],[-79.20063880091087,43.19327828861419],[-79.19222225098478,43.14526009651679],[-79.17744441587885,43.140798455754535],[-79.17607461142445,43.14121505403479],[-79.15695963158241,43.147675474542496],[-79.14465380636587,43.14566320368367],[-79.04274151810375,43.1483254761306]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.12250508708155,\"lat\":43.20003422023814},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3526\"],\"cd_name_en\":[\"Niagara\"],\"csd_code\":[\"3526047\"],\"csd_name_en\":[\"Niagara-on-the-Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Niagara\",\"csd_name_fr\":\"Niagara-on-the-Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.08082229075758,42.97274469337932],[-80.05551144715578,42.96339068048808],[-80.04331912368923,42.97936833758705],[-80.06974641614597,42.989161488930804],[-80.08082229075758,42.97274469337932]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.06231015560867,\"lat\":42.97622633207474},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3528\"],\"cd_name_en\":[\"Haldimand-Norfolk\"],\"csd_code\":[\"3528035\"],\"csd_name_en\":[\"New Credit (Part) 40A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Haldimand-Norfolk\",\"csd_name_fr\":\"New Credit (Part) 40A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.83465275010688,42.608014335371806],[-81.83506290719322,42.65096150576986],[-82.00877366271115,42.65065736306591],[-82.02002684472625,42.64030755654244],[-82.02398455249613,42.624617865028895],[-82.24515491009346,42.630953689340636],[-82.24532589655327,42.62673350069247],[-82.4839792409303,42.63146766462257],[-82.4760215063339,42.60870373414613],[-82.47832467587587,42.59635364096213],[-82.46624151880779,42.584244879516326],[-82.43486914019486,42.581927261818855],[-82.42019441399572,42.57231939990478],[-82.41926861702461,42.54136118527074],[-82.40339001297139,42.52912417896623],[-82.41671510268914,42.51537819747292],[-82.42843107832627,42.519255463489394],[-82.44113740607604,42.49969600053389],[-82.4346948129761,42.49029832872437],[-82.45508124842875,42.47582181285822],[-82.47417175197069,42.4712037223395],[-82.48016219156091,42.460765973799944],[-82.48060912307638,42.36987599335088],[-82.48455890110782,42.34415444269809],[-82.4299194113726,42.29712949597071],[-82.43373664079556,42.27308068946579],[-82.44750291420156,42.26762124138443],[-82.43299029266133,42.24700020173964],[-82.43702309771841,42.19371310880218],[-82.45592880590775,42.19448519858771],[-82.45789981706531,42.165361490501326],[-82.46192754556114,42.109518586470074],[-82.46781752131699,42.10568307358701],[-82.46338160744527,42.08823839068257],[-82.46531971430863,42.059860871125835],[-82.3536211416257,42.090678438744945],[-82.16488477515576,42.187541308419696],[-82.0468345790018,42.250043128995756],[-81.85446708670761,42.25008878258883],[-81.82372994263044,42.253129946015214],[-81.78619942888996,42.26126085395084],[-81.77767540030058,42.281388172115676],[-81.81047328156579,42.30764669623038],[-81.6242200009783,42.43590589685222],[-81.71032151518943,42.5069929918537],[-81.83465275010688,42.608014335371806]],[[-81.88507325238781,42.59050285462161],[-81.85098628833508,42.56411280961833],[-81.87988139898059,42.54399188956375],[-81.90683318166201,42.56584269784524],[-81.90545135879785,42.582904956985416],[-81.88507325238781,42.59050285462161]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.12418412373474,\"lat\":42.4060374021861},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3536\"],\"cd_name_en\":[\"Chatham-Kent\"],\"csd_code\":[\"3536020\"],\"csd_name_en\":[\"Chatham-Kent\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Chatham-Kent\",\"csd_name_fr\":\"Chatham-Kent\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.80395049276767,42.17726410849203],[-82.87740998801804,42.17977750676507],[-82.96736030412241,42.18285368936093],[-82.97508129549439,42.05811489743092],[-82.9981328984172,42.05883098931019],[-82.99999987685223,41.99999999457644],[-82.99999984375674,41.855434725926365],[-82.95870736209338,41.85528644205207],[-82.92389295897713,41.85070042552796],[-82.83846455570416,41.83281302169157],[-82.82594570676534,41.99797470517202],[-82.81387179502589,42.16431010100712],[-82.80395049276767,42.17726410849203]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.90663007971797,\"lat\":42.011221287595795},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3537\"],\"cd_name_en\":[\"Essex\"],\"csd_code\":[\"3537016\"],\"csd_name_en\":[\"Essex\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Essex\",\"csd_name_fr\":\"Essex\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.83541850330879,42.75735870067046],[-82.00450958412964,42.75657820275807],[-82.24013711035856,42.76215440423603],[-82.24515491009346,42.630953689340636],[-82.02398455249613,42.624617865028895],[-82.02002684472625,42.64030755654244],[-82.00877366271115,42.65065736306591],[-81.83506290719322,42.65096150576986],[-81.83541850330879,42.75735870067046]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.04961420759858,\"lat\":42.69756433680148},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3538\"],\"cd_name_en\":[\"Lambton\"],\"csd_code\":[\"3538007\"],\"csd_name_en\":[\"Dawn-Euphemia\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Lambton\",\"csd_name_fr\":\"Dawn-Euphemia\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.9910517440963,44.97220989471256],[-81.00384594116365,44.95601539378803],[-81.01273575612275,44.96669090941563],[-81.0350904476822,44.966919491669024],[-81.0560809554681,44.945486391447986],[-81.05112703847874,44.93331840132289],[-81.03109575960167,44.918049102353585],[-81.06152456125541,44.91455259798365],[-81.06392363544744,44.89638540363996],[-81.08183795859098,44.8917108919642],[-81.10109433900368,44.895989188991926],[-81.08748235770575,44.905920802364534],[-81.09428384134081,44.92106559981963],[-81.11079554300865,44.92228368817334],[-81.13702560340946,44.9078615513481],[-81.02494698254306,44.84589117105764],[-81.0066863775954,44.871790105781244],[-81.00586507292012,44.88375210587918],[-81.03057595738848,44.89513900467053],[-81.01780496393421,44.9177371947564],[-81.00006704907217,44.93046781236335],[-80.96311694034951,44.94720599504065],[-80.9599291465569,44.956386988459116],[-80.9910517440963,44.97220989471256]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.03916627530748,\"lat\":44.91239826840232},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3541\"],\"cd_name_en\":[\"Bruce\"],\"csd_code\":[\"3541060\"],\"csd_name_en\":[\"Neyaashiinigmiing 27\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Bruce\",\"csd_name_fr\":\"Neyaashiinigmiing 27\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.88321244787568,44.16925994835755],[-79.92301009147815,44.32378535549833],[-80.01814667180726,44.30317235070151],[-80.03400479854946,44.294871705516954],[-79.99250850321226,44.123596403720896],[-79.99396420453787,44.12324910673776],[-79.95117640653083,43.95142348852157],[-79.83358198183338,43.97703620796853],[-79.87552629116476,44.139311987805456],[-79.88779551679262,44.13662603949122],[-79.8918456925143,44.165329419406724],[-79.88321244787568,44.16925994835755]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.93579827804109,\"lat\":44.13605007384772},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3543\"],\"cd_name_en\":[\"Simcoe\"],\"csd_code\":[\"3543003\"],\"csd_name_en\":[\"Adjala-Tosorontio\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Simcoe\",\"csd_name_fr\":\"Adjala-Tosorontio\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.95028121402112,44.75205879675303],[-79.90234589001328,44.76956130143295],[-79.90746258831254,44.775462694121465],[-79.84160960969336,44.80297637242371],[-79.87706954071199,44.81957993162637],[-79.88491898597857,44.82978802091226],[-79.93799349380186,44.80673295071836],[-79.95883529436252,44.791042863820266],[-79.95482996705154,44.78649481163648],[-79.95987800735683,44.76330860087202],[-79.95028121402112,44.75205879675303]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.91097843774652,\"lat\":44.79229039626671},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3543\"],\"cd_name_en\":[\"Simcoe\"],\"csd_code\":[\"3543072\"],\"csd_name_en\":[\"Penetanguishene\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Simcoe\",\"csd_name_fr\":\"Penetanguishene\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.61489448416916,45.072680216880045],[-78.78147074706213,45.026295524198886],[-78.81120252506562,45.08422351085047],[-78.84113420577567,45.13549870079887],[-78.84319645181833,45.14503004045156],[-79.00108547545943,45.10549930603549],[-78.93439266429668,44.985642176962315],[-78.91364165247546,44.941848322020064],[-78.86681278198627,44.85793004809303],[-78.822139650505,44.77162145153794],[-78.8198485219138,44.7540860884607],[-78.65482845585237,44.793891706630795],[-78.48541513277642,44.83403853247786],[-78.49975099269726,44.86571958596465],[-78.55102096049526,44.964437627053165],[-78.61489448416916,45.072680216880045]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.74498322429932,\"lat\":44.94206395201493},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3546\"],\"cd_name_en\":[\"Haliburton\"],\"csd_code\":[\"3546015\"],\"csd_name_en\":[\"Minden Hills\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Haliburton\",\"csd_name_fr\":\"Minden Hills\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.4977135569026,45.516325683025],[-76.51790853117667,45.51601730747209],[-76.57256359537628,45.52756490553342],[-76.60374500202185,45.53218129686133],[-76.63192194157004,45.54408477583247],[-76.65927494664909,45.560726058091454],[-76.66767878711728,45.57385356178604],[-76.67343312520313,45.59170244990107],[-76.72353240817372,45.563401990314006],[-76.78070472666478,45.528850859543056],[-76.71537229219655,45.47626412991249],[-76.68774003232568,45.49373509945787],[-76.67241375088967,45.48161034862872],[-76.65693904979958,45.486527066503946],[-76.64825500550253,45.475273878285876],[-76.68472281651107,45.45173796525194],[-76.66392278210222,45.435613067680094],[-76.64277803340435,45.41902141739546],[-76.59103713346096,45.45164473365731],[-76.4977135569026,45.516325683025]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.64926992688196,\"lat\":45.50634523604401},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3547\"],\"cd_name_en\":[\"Renfrew\"],\"csd_code\":[\"3547046\"],\"csd_name_en\":[\"Horton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Renfrew\",\"csd_name_fr\":\"Horton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.11415652030952,45.7685004917896],[-82.11496960818155,45.85299919828244],[-82.11302052506166,45.896784702584064],[-82.14445215353597,45.89632389464695],[-82.1660127609095,45.917432423653814],[-82.14580266326146,45.997150517345226],[-82.21275010501519,46.06187826734339],[-82.27523087410201,46.06156372343759],[-82.31423486401675,46.04257076303355],[-82.35030820095163,46.02542021844741],[-82.35081913147995,45.82307358231792],[-82.2717949145154,45.822735530311334],[-82.27178651396964,45.76818051769034],[-82.15385313182716,45.768727204494354],[-82.15443893201392,45.7795712125893],[-82.17599143580526,45.79696609334459],[-82.19391415503104,45.800488516213896],[-82.21417109856432,45.78601311003783],[-82.21360545871578,45.81430187635372],[-82.20934327109742,45.8325264476357],[-82.21404240637094,45.85059250368999],[-82.17632454695355,45.851123486526056],[-82.17190281803724,45.83403475383445],[-82.15490172246898,45.826896110538016],[-82.14067651487652,45.832364494317325],[-82.14040781077458,45.76849089955655],[-82.11415652030952,45.7685004917896]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.2421210781481,\"lat\":45.916702639575135},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3551\"],\"cd_name_en\":[\"Manitoulin\"],\"csd_code\":[\"3551021\"],\"csd_name_en\":[\"Billings\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Manitoulin\",\"csd_name_fr\":\"Billings\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.81666237878537,46.10105234585096],[-81.8154044410085,46.191990380655156],[-81.81691223382217,46.20590263902003],[-81.81550559163367,46.27859468953748],[-81.81599417931281,46.36518025093366],[-82.06796261910618,46.366647635823085],[-82.19280111169748,46.3674141813863],[-82.19243292017069,46.277781354172504],[-82.31286081849363,46.27681751759713],[-82.31261033334064,46.1858458000931],[-82.25634352113619,46.18905757863273],[-82.2357220688255,46.1855439343536],[-82.20578052041753,46.17556101716877],[-82.19052701865023,46.179055728926606],[-82.1259996389691,46.17150040761676],[-82.09744366809939,46.17051555322578],[-82.09694512727322,46.18363077645854],[-82.05686470886876,46.17694347409685],[-82.05616663852764,46.10045610367556],[-82.0352303580343,46.10309140605967],[-82.00405832875447,46.09439190305789],[-81.97284694203307,46.09099000810003],[-81.91460754561793,46.09478320831703],[-81.87308745589681,46.100949316984014],[-81.837241537765,46.103053695490395],[-81.81666237878537,46.10105234585096]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.01924273683593,\"lat\":46.241752738290245},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3552\"],\"cd_name_en\":[\"Sudbury\"],\"csd_code\":[\"3552023\"],\"csd_name_en\":[\"Sables-Spanish Rivers\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Sudbury\",\"csd_name_fr\":\"Sables-Spanish Rivers\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-83.42943429184646,47.818819044225116],[-83.43634870209381,47.83232869641009],[-83.46899291261843,47.825505019562186],[-83.46769634674088,47.79074331947219],[-83.44637785922993,47.796562911476855],[-83.42548110422669,47.80812385034162],[-83.42943429184646,47.818819044225116]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-83.44987307569534,\"lat\":47.81253070794959},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3552\"],\"cd_name_en\":[\"Sudbury\"],\"csd_code\":[\"3552056\"],\"csd_name_en\":[\"Chapleau Cree Fox Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Sudbury\",\"csd_name_fr\":\"Chapleau Cree Fox Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.51754972796705,47.667814247024616],[-79.51801531007044,47.75437837497427],[-79.63089753138571,47.75456686164803],[-79.63176828533545,47.66773891251983],[-79.63147080710377,47.66773899273252],[-79.51754972796705,47.667814247024616]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.57458679275476,\"lat\":47.71103959893584},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3554\"],\"cd_name_en\":[\"Timiskaming\"],\"csd_code\":[\"3554032\"],\"csd_name_en\":[\"Brethour\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Timiskaming\",\"csd_name_fr\":\"Brethour\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.47738822570817,49.39862427655519],[-82.47718062784567,49.36444326145085],[-82.46778066656942,49.35349148448898],[-82.34119576815586,49.354418790630554],[-82.34167515535248,49.41394215147085],[-82.35006091929134,49.41424263509891],[-82.34995053905064,49.434978275285445],[-82.47747280065893,49.43571319812931],[-82.47738822570817,49.39862427655519]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.41038068450374,\"lat\":49.39431063757105},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3556\"],\"cd_name_en\":[\"Cochrane\"],\"csd_code\":[\"3556066\"],\"csd_name_en\":[\"Kapuskasing\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Cochrane\",\"csd_name_fr\":\"Kapuskasing\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-83.72976583358023,49.656085517275244],[-83.56345032300773,49.656507434931825],[-83.56421276894868,49.72139614184636],[-83.75727588768288,49.72078712910883],[-83.7538561381282,49.65596352182466],[-83.72976583358023,49.656085517275244]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-83.6596778952008,\"lat\":49.68875181379691},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3556\"],\"cd_name_en\":[\"Cochrane\"],\"csd_code\":[\"3556076\"],\"csd_name_en\":[\"Hearst\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Cochrane\",\"csd_name_fr\":\"Hearst\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-83.39367693077978,46.26714226567964],[-83.43248118283202,46.26745759342511],[-83.43212420897859,46.23914617203256],[-83.39241073621093,46.23615412924195],[-83.39367693077978,46.26714226567964]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-83.41238036266019,\"lat\":46.252410090371534},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3557\"],\"cd_name_en\":[\"Algoma\"],\"csd_code\":[\"3557026\"],\"csd_name_en\":[\"Thessalon 12\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Algoma\",\"csd_name_fr\":\"Thessalon 12\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-84.22952962312621,46.55668369869347],[-84.22839910676842,46.59687123682578],[-84.24230819351989,46.596960583855726],[-84.26814460658574,46.56502254938178],[-84.27055147723472,46.53238243141846],[-84.26653108799955,46.525635107995484],[-84.2436408156551,46.53567680804281],[-84.24751924393222,46.54819012066726],[-84.22952962312621,46.55668369869347]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-84.2492249840152,\"lat\":46.56240036984284},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3557\"],\"cd_name_en\":[\"Algoma\"],\"csd_code\":[\"3557075\"],\"csd_name_en\":[\"Rankin Location 15D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Algoma\",\"csd_name_fr\":\"Rankin Location 15D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-87.36352351832642,53.14485961620323],[-87.37542822619223,53.12498742358593],[-87.38196502174944,53.08476581380214],[-87.3968909159588,53.08444211532715],[-87.42863610882895,53.05706591283293],[-87.45783214130968,53.03850302000985],[-87.50142903751977,53.0325236314226],[-87.50484553241986,53.01667661736336],[-87.4795422185501,53.00928931690367],[-87.44220284327156,53.03617753439204],[-87.43506433067759,53.03225961500945],[-87.44559553639503,53.01488832884418],[-87.45687943858388,53.01691071934096],[-87.47539922906601,52.99781873290781],[-87.50342574418148,52.978277515949905],[-87.50775513820987,52.955188429785906],[-87.50268183362459,52.94248951938455],[-87.50603671770354,52.92242392650378],[-87.4984103544091,52.90066708677142],[-87.51086703484974,52.88231803574378],[-87.50361464724773,52.86631992181244],[-87.51642524266637,52.8286629356775],[-87.51459058102215,52.814148261635815],[-87.20958301494245,52.8096529099584],[-87.19286033553105,52.82126557318535],[-87.2068246201886,52.84055902380874],[-87.16852368954376,52.88015680675436],[-87.2169663170741,52.88275652321764],[-87.23580360653104,52.88791792240392],[-87.24025148845114,52.91855674410548],[-87.26191912869743,52.929965733390965],[-87.25073534601748,52.95361152700104],[-87.2714672130009,52.96259342097613],[-87.26609764468344,52.980266032437825],[-87.2519529108858,52.97534003609069],[-87.25287265586658,53.11843913277989],[-87.3213469381455,53.11901702333767],[-87.33370621887936,53.10764591958179],[-87.34726254541566,53.108119136671505],[-87.36352351832642,53.14485961620323]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-87.35944114336374,\"lat\":52.94378722290577},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560079\"],\"csd_name_en\":[\"Webequie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Webequie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.97857163754269,49.199926676834636],[-97.97850451816282,49.177723508597786],[-97.96455387946578,49.176260735001684],[-97.96456698475403,49.16291661146341],[-97.90862959538906,49.16305109603761],[-97.9010369256645,49.17771824195306],[-97.90113768444002,49.19990370767246],[-97.97857163754269,49.199926676834636]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.93820863799438,\"lat\":49.18259738124076},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4603\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4603050\"],\"csd_name_en\":[\"Winkler\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Winkler\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-100.82460970020482,49.00006767422376],[-100.82447241829216,49.177659799980546],[-100.85081900951984,49.177681658058226],[-100.85162303976813,49.25007796651391],[-100.85011951097202,49.26668939549413],[-100.85020600733085,49.35529690990015],[-100.85023664749568,49.532833132410154],[-100.87211799981633,49.53285119769086],[-101.00000101609436,49.53274400956312],[-101.39256410725271,49.532722579583556],[-101.39236990755202,49.4591806934482],[-101.38915139521929,49.399512910340206],[-101.39242711647283,49.397142099784915],[-101.3921172968764,49.26639510888335],[-101.39148032187208,49.17784702923027],[-101.3621111191101,49.17777859713763],[-101.36198980041668,48.999474101661335],[-101.11468837852681,48.99952845037537],[-101.09348029813091,49.00007568381653],[-100.82460970020482,49.00006767422376]],[[-100.97440741240635,49.28147149796623],[-100.97413291298807,49.266612893711866],[-101.00254430205266,49.26666219966653],[-101.00000351363131,49.281418590921554],[-100.97440741240635,49.28147149796623]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.11215550782683,\"lat\":49.266752028540004},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4605\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4605056\"],\"csd_name_en\":[\"Two Borders\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Two Borders\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-99.64340398450874,49.53286068856805],[-99.90124638121478,49.532821690134476],[-99.9013177026912,49.35533000823221],[-99.9013674020764,49.266815897422546],[-99.62993200825062,49.2668785867837],[-99.63068749159928,49.35511799473097],[-99.58884888278965,49.35491608399102],[-99.63132058797046,49.39552913295286],[-99.61884965806162,49.40277014928237],[-99.604038464445,49.40045573618453],[-99.57109926674839,49.36317213543488],[-99.5587557584144,49.34281794747896],[-99.5372550799286,49.32285173592101],[-99.49648584873202,49.30383211356138],[-99.49634811997592,49.28852431756675],[-99.47307384077514,49.281658783485994],[-99.47060618858524,49.26685479612942],[-99.45002998370792,49.26678911139244],[-99.45057135987066,49.24409292285897],[-99.44258386331458,49.23707693012946],[-99.40349000403964,49.23691799171527],[-99.40571022109629,49.22231998595118],[-99.36102736035399,49.222067060306635],[-99.35976430034543,49.236930096118854],[-99.36036096588535,49.53348173595462],[-99.42061229476079,49.532985609789826],[-99.64340398450874,49.53286068856805]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-99.62985349771692,\"lat\":49.403406614424945},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4605\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4605071\"],\"csd_name_en\":[\"Prairie Lakes\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Prairie Lakes\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-99.95757199066482,49.91611719392417],[-99.95804411560222,49.901399897501385],[-99.9349531036156,49.90156898802175],[-99.93454470543823,49.916144610443965],[-99.95757199066482,49.91611719392417]]],[[[-99.92531201867088,49.88687240997002],[-99.98472101249743,49.8868696924985],[-99.98475350685564,49.86379518725188],[-99.99822082458753,49.860654587370945],[-100.00761218961577,49.84962129334928],[-99.99615250840748,49.83850274412576],[-99.99587035635356,49.81283166904066],[-99.80550289112104,49.81267590628887],[-99.80934065224329,49.82253233133082],[-99.82447415975018,49.82910853610329],[-99.82565731304557,49.85734719643781],[-99.84864088623553,49.85735209631348],[-99.89193586697073,49.84861732604611],[-99.91764966841383,49.862789045418516],[-99.92531201867088,49.88687240997002]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-99.919962841667,\"lat\":49.84399791837089},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4607\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4607062\"],\"csd_name_en\":[\"Brandon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Brandon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-98.48402516853366,49.81291605319861],[-98.50589741001892,49.81296741001481],[-98.50599909739583,49.827556804052364],[-98.52870408155829,49.8275433942193],[-98.52859060126714,49.80517799538715],[-98.50584463352043,49.80524183480762],[-98.49435128606873,49.79782709237983],[-98.4833294155867,49.797860884176124],[-98.48402516853366,49.81291605319861]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-98.50867533236074,\"lat\":49.812616180919036},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4609\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4609026\"],\"csd_name_en\":[\"Dakota Plains 6A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Dakota Plains 6A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-98.78731940799186,51.104886130908305],[-98.82249928271733,51.106898549684345],[-98.84242284392452,51.101383348365474],[-98.86769394924778,51.076865546349815],[-98.86925767455094,51.09691573690368],[-98.86060707823131,51.131305943751514],[-98.87458647242067,51.14631632761339],[-98.87930236099257,51.166216753510064],[-98.84896176732727,51.194102345174045],[-98.85258375211144,51.220579941688676],[-98.84861804225343,51.22690543656607],[-98.85458664467477,51.27341574313226],[-98.87214336633014,51.25691324399837],[-98.90198966447466,51.25544935102892],[-98.91396784732618,51.24486604573761],[-98.91315597085375,51.23091865207824],[-98.94123747918283,51.2234366470369],[-98.94091507167724,51.21241204003398],[-98.92804896203153,51.177263347786315],[-98.95136196754883,51.175688251995346],[-98.9592451780507,51.19881024547288],[-98.97723856755078,51.19353223773926],[-99.02756765887293,51.26223113074321],[-99.04687737068977,51.26641984730319],[-99.05935594011572,51.25639253185018],[-99.07308315502193,51.2736540447625],[-99.09298325289608,51.32800134019375],[-99.11741486230048,51.36023805340922],[-99.10273245312597,51.38101874103473],[-99.11721507582607,51.397284927631844],[-99.11093848050453,51.408252138520574],[-99.12173848172031,51.4488728355877],[-99.43370662798088,51.44926363653506],[-99.43398100216658,51.33256648658222],[-99.43058004254829,51.302418912758476],[-99.43001303484395,51.184545195591],[-99.43029540005762,51.125597588237255],[-99.36013300943397,51.12567290880712],[-99.35988211285765,51.037130735552005],[-99.289703581312,51.03690525424544],[-99.2897502601269,50.948968571829845],[-99.27557606226557,50.94895158811853],[-99.27524221248399,50.86015746410721],[-99.27582998927555,50.771887904986556],[-99.27537341276366,50.63897268262528],[-98.9968747297966,50.63937250200578],[-98.99656380406431,50.594777000250495],[-98.98504010560187,50.594770903608826],[-98.98504739720565,50.56480971018526],[-98.84680346746065,50.56510040346371],[-98.84717476795404,50.50628414612562],[-98.70712701417125,50.50610518999395],[-98.7068183005063,50.59500049450381],[-98.64399419027528,50.59488648648697],[-98.63501615848371,50.61791003141131],[-98.66749947942527,50.663993441056434],[-98.69264356653018,50.68013292869719],[-98.71410705773141,50.709437339856784],[-98.72140927015099,50.74030524228221],[-98.73869045011244,50.758452549602495],[-98.7394450750278,50.77320253499225],[-98.76266735382272,50.78041044986504],[-98.78443697556433,50.81046172632853],[-98.80940147307739,50.82832893590334],[-98.82089106175123,50.857308232763316],[-98.8356791582864,50.85587323300874],[-98.8477185663366,50.86932463892661],[-98.86206976124632,50.87489543832478],[-98.86749685611693,50.89075583551445],[-98.8608210649058,50.898072649100676],[-98.86905196714966,50.93697533532617],[-98.85381756414462,50.954874937455365],[-98.83259325081559,50.96302600084174],[-98.83553967201044,50.988325436525734],[-98.85103168289098,51.02686105052036],[-98.84309114804167,51.043145052030646],[-98.85172667700935,51.05928862713832],[-98.83677864438135,51.0615663495311],[-98.82236075862646,51.07408074396991],[-98.78905605756496,51.08585034073763],[-98.78731940799186,51.104886130908305]],[[-99.01598205534657,51.10213584605851],[-99.02228205448674,51.0901795387073],[-99.01465385716807,51.07974053334221],[-98.99152304305626,51.063662831890156],[-98.96704117375103,51.06424742937458],[-98.9779831818182,51.0278410747797],[-98.97785843441095,51.01313695110501],[-99.05391316672124,51.013280341081966],[-99.05270098159181,51.03739780885821],[-99.0541761836579,51.099398442314296],[-99.01598205534657,51.10213584605851]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-99.07985268257497,\"lat\":50.97930654472066},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4617\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4617026\"],\"csd_name_en\":[\"Alonsa\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Alonsa\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-99.80871437836001,52.84880274502786],[-99.77939934152157,52.855411753861425],[-99.77067335498425,52.86690403361527],[-99.75297087812115,52.90738674112948],[-99.73705406288471,52.91525685417873],[-99.71409585077895,52.91776923678331],[-99.70812987365883,52.91027423790052],[-99.67852228602266,52.907785611360964],[-99.6703608891857,52.924791603653794],[-99.69269519296954,52.93282574557866],[-99.70076781074381,52.9476604049946],[-99.71932768777133,52.96284646834486],[-99.80318742167353,52.97504264670334],[-99.85471997221319,52.9637696063134],[-99.88963175153278,52.97775178548842],[-99.92736367029653,52.977991928515195],[-99.8984512542764,52.961840052383444],[-99.87833256963462,52.963652551480855],[-99.84892055540494,52.952772151973086],[-99.7962060718065,52.964827433633765],[-99.760296938664,52.95976385628255],[-99.74073876851381,52.95218055133308],[-99.73952154311299,52.942700045780086],[-99.76740206439355,52.930414731769226],[-99.75873737886894,52.92014915290118],[-99.7722241529428,52.90866895466179],[-99.78947464540207,52.884083554386436],[-99.78123204921611,52.88008493889185],[-99.80871437836001,52.84880274502786]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-99.76679632955992,\"lat\":52.93203403096631},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4619\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4619082\"],\"csd_name_en\":[\"Chemawawin 3\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Chemawawin 3\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.15245591406894,51.96842834374764],[-101.2038817142472,51.96846699767903],[-101.20388420941664,52.23088421051409],[-101.22295948127186,52.23133570602249],[-101.22268127673522,52.24607986179316],[-101.20342319940328,52.24603086381408],[-101.20376671215266,52.31802980011957],[-101.20660488673788,52.31854888743732],[-101.60905476166917,52.31815801960636],[-101.60897509991183,52.22322318618573],[-101.60933504156245,51.96864354949242],[-101.57755508400508,51.96851810304954],[-101.57722332274514,51.880834907858706],[-101.5773289591472,51.70619733526673],[-101.29424811794149,51.705989799417765],[-101.29392409337154,51.88082379769536],[-101.15220745693296,51.88183495693143],[-101.15245591406894,51.96842834374764]],[[-101.25892682150825,52.12151378629049],[-101.24318168684024,52.1112200556524],[-101.24646039483126,52.10395629669882],[-101.27535190287367,52.09310593658589],[-101.27946650256993,52.11448859056483],[-101.25892682150825,52.12151378629049]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.40668102866263,\"lat\":52.03156168342501},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4620\"],\"cd_name_en\":[\"Division No. 20\"],\"csd_code\":[\"4620042\"],\"csd_name_en\":[\"Swan Valley West\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 20\",\"csd_name_fr\":\"Swan Valley West\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-99.80542786281602,53.11037772206268],[-99.81169948923419,53.10194169225153],[-99.7963601188552,53.09129690792335],[-99.78474242911963,53.10199349833086],[-99.80542786281602,53.11037772206268]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-99.79893389903202,\"lat\":53.1012161296528},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4621\"],\"cd_name_en\":[\"Division No. 21\"],\"csd_code\":[\"4621029\"],\"csd_name_en\":[\"Chemawawin 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 21\",\"csd_name_fr\":\"Chemawawin 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.2971511494996,55.771900258580054],[-101.29896404424345,55.760849141540135],[-101.32699755548961,55.736647446380694],[-101.27569455653091,55.758002858221296],[-101.26347413747679,55.73116546083123],[-101.28056664077788,55.73000854941344],[-101.28686305903165,55.748180856996555],[-101.30618619714456,55.73419683454218],[-101.26917856755895,55.72103254988986],[-101.24249643503079,55.72316365039247],[-101.24142651127545,55.76168220902786],[-101.25871413740227,55.76090316412807],[-101.2971511494996,55.771900258580054]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.27234976421644,\"lat\":55.74522266452361},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4623\"],\"cd_name_en\":[\"Division No. 23\"],\"csd_code\":[\"4623064\"],\"csd_name_en\":[\"Pukatawagan 198\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 23\",\"csd_name_fr\":\"Pukatawagan 198\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.82527501084357,50.04720700428532],[-103.23381729533358,50.047269514453276],[-103.23478294048478,50.018151979219],[-103.23459648386022,49.87220029084006],[-103.22574449599898,49.87220910692217],[-103.2257623210367,49.78469660475889],[-102.81941637532978,49.784624163802896],[-102.81855691381352,49.87220415226219],[-102.82521269404654,49.872230609819326],[-102.82527501084357,50.04720700428532]],[[-103.16630544451392,49.893941553768954],[-103.16630238822196,49.901588106854334],[-103.13400759216519,49.90179379712513],[-103.134186943149,49.89411450778831],[-103.16630544451392,49.893941553768954]],[[-103.04515931599346,49.842606292743724],[-103.0226149063184,49.84253860723061],[-103.02254881538249,49.83051989867845],[-103.09196745930198,49.82877456976064],[-103.09038090695118,49.8429015944917],[-103.11278839785044,49.84291790054261],[-103.11285489731799,49.872279010761986],[-103.09038760462637,49.86461589344017],[-103.06722634540266,49.863979288306254],[-103.06776979943741,49.84276070469091],[-103.04515931599346,49.842606292743724]],[[-102.94345426104069,49.84926359953183],[-102.9436907430241,49.85659908021682],[-102.93296006115827,49.85657406330154],[-102.932859939043,49.849244733974025],[-102.94345426104069,49.84926359953183]],[[-102.92169262880513,49.857563809000965],[-102.92128508696196,49.8722751978019],[-102.90745530723044,49.87226910397058],[-102.9081563407759,49.857451043437855],[-102.92169262880513,49.857563809000965]],[[-102.90047620357996,49.84252189046661],[-102.89944557493811,49.82798649883737],[-102.90965275252879,49.827949577813925],[-102.90856678018623,49.84263218999344],[-102.90047620357996,49.84252189046661]],[[-102.9322837120182,49.804782789917766],[-102.90835880321579,49.8064494030098],[-102.9084060538333,49.791837702638425],[-102.9322837120182,49.804782789917766]],[[-103.07590742382024,49.87936508496086],[-103.05308196211729,49.88666366457203],[-103.05316865768286,49.87229587590998],[-103.07590742382024,49.87936508496086]],[[-102.93235929447137,49.81377049565504],[-102.94395846345229,49.813809896981645],[-102.94386709546667,49.82759673360079],[-102.93212140914473,49.828806400796466],[-102.93261929395753,49.842892909448835],[-102.92105510607837,49.84279569500914],[-102.92097931218868,49.81374312759987],[-102.93235929447137,49.81377049565504]],[[-102.88567948198556,49.861574701176714],[-102.8869801958056,49.87226690838836],[-102.86497418065422,49.872242131335916],[-102.86510256558509,49.85051797095488],[-102.89857919338696,49.85075276418979],[-102.88567948198556,49.861574701176714]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.02801517858704,\"lat\":49.91872491055339},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701069\"],\"csd_name_en\":[\"Golden West No. 95\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Golden West No. 95\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.42772268274071,49.26070657208546],[-104.426153185176,49.31876728959151],[-104.42763760123225,49.3770542866033],[-104.42769468340798,49.52266529601203],[-104.44529769481123,49.52267010218334],[-104.83086449783399,49.52276970444913],[-104.83114622320029,49.26063267766669],[-104.42772268274071,49.26070657208546]],[[-104.60700691364296,49.45624849623775],[-104.60703262068022,49.46453890333446],[-104.59585878269125,49.4645123937872],[-104.59568145928364,49.45772503579924],[-104.60700691364296,49.45624849623775]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.629214089593,\"lat\":49.391562780310025},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4702\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4702026\"],\"csd_name_en\":[\"The Gap No. 39\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"The Gap No. 39\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.56477750366618,49.48204366809237],[-103.55349295490358,49.482193582343264],[-103.5534749886777,49.493745691474714],[-103.56564661469868,49.49371461869348],[-103.56477750366618,49.48204366809237]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.5593612599694,\"lat\":49.48799711702741},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4702\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4702038\"],\"csd_name_en\":[\"Halbrite\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Halbrite\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.46481359398992,49.91509114448325],[-109.48608661797266,49.916746298954784],[-109.48609629746264,49.89510787478208],[-109.46337711405738,49.895102753662705],[-109.46481359398992,49.91509114448325]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.47523965643784,\"lat\":49.9053990443942},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4704\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"4704048\"],\"csd_name_en\":[\"Maple Creek\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Maple Creek\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.80095136441739,50.66676369639443],[-101.78796979407764,50.66066861162548],[-101.78804627994154,50.67051121641963],[-101.80095136441739,50.66676369639443]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.79232247947886,\"lat\":50.66598117481318},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705044\"],\"csd_name_en\":[\"Gerald\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Gerald\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.93858021634689,50.70193400301697],[-101.94436243281352,50.694821301426146],[-101.92794160833206,50.69518459024384],[-101.92794376040113,50.70243041131202],[-101.93858021634689,50.70193400301697]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.93476186794007,\"lat\":50.69833266365289},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705049\"],\"csd_name_en\":[\"Yarbo\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Yarbo\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.17205182052898,51.04560454955454],[-102.16994609520236,51.03347489886801],[-102.15920395097712,51.03334111774856],[-102.15987714326808,51.048271943076806],[-102.17205182052898,51.04560454955454]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.16510252398781,\"lat\":51.04036088446545},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705078\"],\"csd_name_en\":[\"Saltcoats\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Saltcoats\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.62957234537774,50.16435046764365],[-106.62988103891963,50.16047936098283],[-106.61900665082449,50.15690793402107],[-106.61972520627356,50.164359907279604],[-106.62957234537774,50.16435046764365]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.62402241028256,\"lat\":50.1613934849414},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707012\"],\"csd_name_en\":[\"Shamrock\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Shamrock\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.71796221521858,50.30943040922204],[-105.71790269433416,50.571744286581634],[-105.98344859590948,50.57163940112801],[-106.00459761287897,50.57203449456083],[-106.00390708200361,50.41107215591585],[-106.00481872863367,50.309320059215],[-105.71796221521858,50.30943040922204]],[[-105.82013857973945,50.46957599855433],[-105.80982442865302,50.469641394405784],[-105.80976409711567,50.44844826547732],[-105.82110819118522,50.44769016575549],[-105.82013857973945,50.46957599855433]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.8612639454695,\"lat\":50.44048421727772},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707036\"],\"csd_name_en\":[\"Caron No. 162\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Caron No. 162\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.59556879890513,50.396133548156776],[-108.58820011360052,50.40267516725952],[-108.59966991070837,50.40260834987285],[-108.59556879890513,50.396133548156776]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.59447960773801,\"lat\":50.40047235509638},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4708\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4708029\"],\"csd_name_en\":[\"Hazlet\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Hazlet\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.27095140114095,50.86179108621864],[-109.25955165542733,50.855816454919776],[-109.25955027351598,50.86988631776759],[-109.27145157290623,50.86993563438153],[-109.27095140114095,50.86179108621864]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.26484501054246,\"lat\":50.86427045681147},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4708\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4708054\"],\"csd_name_en\":[\"Sceptre\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Sceptre\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.9220469235838,51.56879890191884],[-101.90105572925556,51.55027396613314],[-101.8764768686522,51.55030044454651],[-101.87732458611981,51.571331775918146],[-101.9220469235838,51.56879890191884]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.89452787959415,\"lat\":51.56118908186265},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709039\"],\"csd_name_en\":[\"Kamsack\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Kamsack\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.15836309951294,52.31867310742314],[-103.29141983038794,52.31882588835847],[-103.29139728325711,52.14381049807859],[-103.29093736706083,51.99812590694743],[-103.29204603020975,51.96880716466327],[-103.28228211592968,51.96879558760382],[-103.28227189164268,51.881455803054166],[-102.85722350051026,51.88141389241944],[-102.85681259523955,51.96892848037993],[-102.86305994247205,51.96894507140463],[-102.86290281441676,52.17278220401594],[-102.86207756265205,52.31843927112991],[-103.15836309951294,52.31867310742314]],[[-103.24391660115005,52.07287490057427],[-103.23910467897268,52.06125170131745],[-103.25502786728129,52.06391725478714],[-103.24391660115005,52.07287490057427]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.07552419880989,\"lat\":52.10037572287194},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709060\"],\"csd_name_en\":[\"Hazel Dell No. 335\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Hazel Dell No. 335\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.26622588914141,51.89298848817325],[-102.25451813947622,51.892210177655265],[-102.2562618933364,51.89723889264421],[-102.26621894229288,51.897205139866244],[-102.26622588914141,51.89298848817325]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.26064768848144,\"lat\":51.89484839279951},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709071\"],\"csd_name_en\":[\"Hyas\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Hyas\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-104.28292794879712,51.29262489025411],[-104.30498761378789,51.292705209231315],[-104.30510211889118,51.278021007217305],[-104.28348192266327,51.277673951787605],[-104.28292794879712,51.29262489025411]]],[[[-104.12896935289656,51.386752883646096],[-104.2705642527445,51.38715789443308],[-104.27026669681847,51.35776800792285],[-104.53798890392495,51.3579246986423],[-104.53783429590663,51.270476111833716],[-104.51924231213583,51.270455207065005],[-104.51925159325621,51.182961006590254],[-104.51981386978285,51.09573378581166],[-104.28665271027333,51.09568938946734],[-104.10071488611915,51.09572901000549],[-104.10173335312636,51.153890303424554],[-104.10070929046769,51.27027250967855],[-104.11848913510038,51.270293342706275],[-104.11839535403213,51.29928158744096],[-104.14262718604525,51.29884955708638],[-104.14271744910643,51.31388128506469],[-104.16507241361066,51.31389512255183],[-104.16600660910596,51.21279794216078],[-104.35004965948315,51.212220387767665],[-104.35046795092998,51.31423178906495],[-104.1995930801651,51.31393684644724],[-104.19941501576147,51.34310669483786],[-104.1291785261607,51.343151790717485],[-104.12896935289656,51.386752883646096]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.32791984525258,\"lat\":51.223023631000906},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710014\"],\"csd_name_en\":[\"Touchwood No. 248\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Touchwood No. 248\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.53781871933744,51.41620100723708],[-104.5423208306986,51.401587389257124],[-104.51456125925777,51.40127143702317],[-104.51455140697927,51.41619680605474],[-104.53781871933744,51.41620100723708]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.52730569342201,\"lat\":51.40859510596735},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710027\"],\"csd_name_en\":[\"Raymore\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Raymore\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.30332961385076,51.37000068738772],[-104.29168020996235,51.36744947716088],[-104.29216110735443,51.374124104956984],[-104.3032407114227,51.37534355577985],[-104.30332961385076,51.37000068738772]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.29740608834962,\"lat\":51.371673612388776},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710029\"],\"csd_name_en\":[\"Punnichy\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Punnichy\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.51775629475163,52.122168902237824],[-104.5063639108976,52.13679105462781],[-104.53029140198065,52.13669516551642],[-104.53930425010567,52.12236946257766],[-104.51775629475163,52.122168902237824]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.52330847134142,\"lat\":52.1296210104051},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710062\"],\"csd_name_en\":[\"Watson\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Watson\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.34116390090094,51.82846550126695],[-103.34334656025543,51.82329476413461],[-103.32948398297644,51.823291507429154],[-103.32952723475054,51.830581659818144],[-103.34116390090094,51.82846550126695]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.33550024498014,\"lat\":51.826334395631875},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710072\"],\"csd_name_en\":[\"Margo\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Margo\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.17606251479282,51.49866020298004],[-104.17605672695721,51.53819519908513],[-104.27007479692892,51.53849125907387],[-104.27039968979385,51.564306155841486],[-104.26769372860484,51.58973206109382],[-104.33692365422908,51.58974658145258],[-104.33745947788056,51.53804701328426],[-104.29396094049548,51.53806917812234],[-104.29147963300416,51.49737297177876],[-104.24692352361093,51.497554205468084],[-104.22331916823828,51.4976610136913],[-104.17606251479282,51.49866020298004]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.26387114021028,\"lat\":51.53760605226711},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710824\"],\"csd_name_en\":[\"Day Star 87\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Day Star 87\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.70715269875278,51.827312503753845],[-103.5937310614907,51.82677015722359],[-103.59898226781351,51.85097774122928],[-103.61034867596298,51.84601545151707],[-103.62750058005588,51.85570944751145],[-103.59668095090439,51.86591733413612],[-103.70736599050798,51.86700752742366],[-103.71789969205435,51.8671587158494],[-103.717939404784,51.82766439022235],[-103.70715269875278,51.827312503753845]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.66098794971587,\"lat\":51.84607895959336},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710826\"],\"csd_name_en\":[\"Fishing Lake 89\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Fishing Lake 89\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.22819940636552,51.9446358944317],[-106.22258943934465,51.94930640893585],[-106.23406542073135,51.94950189759571],[-106.22819940636552,51.9446358944317]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.22828475548052,\"lat\":51.947814733654404},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711071\"],\"csd_name_en\":[\"Bradwell\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Bradwell\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.55026337096933,52.79117158126119],[-108.56908509665152,52.79855022190555],[-108.56854296201507,52.78409114883577],[-108.55026337096933,52.79117158126119]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.56263047654531,\"lat\":52.79127098400084},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4712\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4712837\"],\"csd_name_en\":[\"Sweet Grass 113-M16\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Sweet Grass 113-M16\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.20073562404001,52.46495373394637],[-108.34335348851965,52.46535378979758],[-108.34124880866484,52.55145713908659],[-108.34067001248722,52.580388707621736],[-108.59397451724696,52.580343705917144],[-108.59364470796274,52.667677106878436],[-108.7620077422146,52.66756521091876],[-109.02663510498209,52.6676421924364],[-109.02550069400972,52.66328039242254],[-109.02570324616582,52.404532568088946],[-109.0016664086292,52.40571330501718],[-108.8097918131738,52.40561309173942],[-108.73780412134406,52.40568670538314],[-108.72651219246804,52.41992702858844],[-108.68997421284958,52.42021718652175],[-108.67808000953882,52.40572769080279],[-108.45019501729827,52.405720490207706],[-108.36263127820591,52.405302070000815],[-108.16232090657851,52.40595548488124],[-108.16250695969073,52.42832681254004],[-108.20099466345782,52.42760235924702],[-108.20073562404001,52.46495373394637]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.6888332356504,\"lat\":52.519823408514156},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713068\"],\"csd_name_en\":[\"Buffalo No. 409\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Buffalo No. 409\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.49459389014892,52.32139094272692],[-104.48777815403523,52.33274589419595],[-104.50286228466442,52.32916226989362],[-104.49459389014892,52.32139094272692]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.49507810961622,\"lat\":52.32776636893883},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714028\"],\"csd_name_en\":[\"Spalding\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Spalding\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.58525869645716,52.709648994391934],[-106.58523008098197,52.72020719942192],[-106.59675997600239,52.72018759783896],[-106.5965007238,52.70950918444064],[-106.58525869645716,52.709648994391934]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.59094853196555,\"lat\":52.71491043603828},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715029\"],\"csd_name_en\":[\"Laird\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Laird\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.92838874890712,53.173791134461034],[-104.95520950883041,53.19551445568641],[-104.94470110482055,53.20810367374062],[-104.95342817424141,53.22636964346391],[-104.96791162062546,53.23351511342005],[-104.99147772529065,53.234134565174756],[-105.07469672207392,53.24333795253299],[-105.08082665946004,53.23686013478175],[-105.07788937800095,53.22149301616837],[-105.1121787648023,53.21766250459414],[-105.1128373345792,53.209734299384074],[-105.08819236284472,53.19366392293208],[-105.11926266079996,53.18304583070716],[-105.14627161548222,53.18656313963964],[-105.17062402901321,53.17882647131473],[-105.2055510089279,53.175598951680456],[-105.22064509113115,53.16625761286155],[-105.22127180541479,53.01639289346773],[-105.1963929165554,53.01640059109783],[-105.19608343772346,52.978193905577704],[-105.07386846286859,52.97777245866433],[-105.07377737961885,52.93371323494637],[-104.92748410091303,52.93390050206037],[-104.92746221987342,52.92915400175626],[-104.61618570050868,52.92917661081552],[-104.61588678175191,53.01666169939103],[-104.63548939093235,53.01662450996855],[-104.63605743965532,53.190931212032844],[-104.63579323404774,53.2316336517046],[-104.67028379264357,53.21433685505368],[-104.69389195372992,53.22476921739322],[-104.7182649264898,53.21476812098882],[-104.74679009885969,53.21901238780564],[-104.78024291284922,53.201687621498756],[-104.78873797541145,53.18964872261537],[-104.7885159882626,53.172675799555286],[-104.8326240512706,53.167655752573374],[-104.8146579552916,53.167382714572085],[-104.81470652639561,53.12837386446373],[-104.77132085747294,53.12809693084706],[-104.77175716968792,53.1495672237606],[-104.74601473488397,53.14991442454639],[-104.74562229673387,53.128198791185675],[-104.76417030228704,53.12833615063666],[-104.76436589737031,53.08263720732163],[-104.7819366105398,53.08285376074701],[-104.78216989399684,53.01671389201081],[-104.92900019582169,53.016523589706594],[-104.92830591308756,53.07868445990251],[-104.92838874890712,53.173791134461034]],[[-105.13856976481064,53.00233931466133],[-105.14810475628411,53.00305592806986],[-105.15291446132626,53.01365091864839],[-105.13569867478726,53.00917081890596],[-105.13856976481064,53.00233931466133]],[[-105.031346968591,52.958174841220014],[-105.02254273619096,52.944367182492044],[-105.03708165678124,52.94147456420588],[-105.031346968591,52.958174841220014]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.91973801297462,\"lat\":53.06875478968559},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715071\"],\"csd_name_en\":[\"Kinistino No. 459\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Kinistino No. 459\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.78919078729409,53.45251520938659],[-105.88739170825608,53.4523427642396],[-105.88742733517054,53.43809266986215],[-105.91194788839695,53.43823171402264],[-105.91212558510558,53.45258854415484],[-105.98523169741279,53.452482933851925],[-105.98693731330046,53.416922398765685],[-105.98585181366356,53.35643119293854],[-106.00499795511669,53.35616568383658],[-106.0041006186649,53.3304284973504],[-106.00396698020364,53.19863580621984],[-106.00530845759629,53.15242351906572],[-105.97651598721534,53.15153517212602],[-105.89408898988165,53.16538196828493],[-105.87527819518633,53.17621795033843],[-105.8683880263453,53.19436099787336],[-105.85059128780465,53.20477337010634],[-105.81811292858136,53.206505596177266],[-105.78255730315543,53.2199283938377],[-105.74498259451272,53.21981564036074],[-105.73339638218278,53.234585402109424],[-105.68456073761898,53.23410786144554],[-105.68455898521132,53.24896460610566],[-105.58623626684911,53.248596265426144],[-105.58631696023049,53.262754475734795],[-105.53734131129067,53.262684209895085],[-105.53685480122498,53.23434069110311],[-105.51303802799065,53.24111952709225],[-105.51278309261201,53.36502200911803],[-105.54344070527603,53.36504818551195],[-105.54338141074092,53.3866428027999],[-105.54336284807174,53.401703416329845],[-105.54333977934688,53.45274459001645],[-105.78919078729409,53.45251520938659]],[[-105.90446091081213,53.29249068578425],[-105.855583359991,53.292377752020705],[-105.85559206796184,53.278121762285544],[-105.83117738354403,53.27809270744055],[-105.83119518784025,53.263547913295554],[-105.92892949116109,53.26381901983448],[-105.90446091081213,53.29249068578425]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.77997560832496,\"lat\":53.32786286824764},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715094\"],\"csd_name_en\":[\"Buckland No. 491\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Buckland No. 491\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.43941184654932,53.08250126450039],[-107.4524506460981,53.08258502805425],[-107.45224521582385,53.038052465734246],[-107.42729185499941,53.03747276967717],[-107.4280049753416,53.06989959613368],[-107.43941184654932,53.08250126450039]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.44059867462796,\"lat\":53.05877934895332},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716872\"],\"csd_name_en\":[\"Muskeg Lake 102B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Muskeg Lake 102B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.44848172169658,54.143379076454714],[-108.46590371826345,54.13642107168741],[-108.46547876455337,54.11471673469335],[-108.47745920267238,54.10765957823184],[-108.41476740103136,54.10853890259949],[-108.40258444654229,54.12565833745828],[-108.40323717705171,54.13482136181842],[-108.44836354990075,54.13631400854486],[-108.44848172169658,54.143379076454714]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.43787529854667,\"lat\":54.12280113133438},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717052\"],\"csd_name_en\":[\"Meadow Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Meadow Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.45743358847776,54.622668611290635],[-107.43169648584582,54.6055118227494],[-107.39916678761269,54.62165448168321],[-107.40479119025487,54.63612625924165],[-107.4217123568974,54.63789745447785],[-107.45743358847776,54.622668611290635]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.42569050086456,\"lat\":54.622971640533606},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718023\"],\"csd_name_en\":[\"Dore Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Northern hamlet\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Dore Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.43701612130334,56.36718064646448],[-109.4467666541561,56.37172865277834],[-109.45044568263023,56.36423606244166],[-109.43854324388842,56.36268574082567],[-109.43701612130334,56.36718064646448]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.44369143414798,\"lat\":56.366558959842216},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718089\"],\"csd_name_en\":[\"Black Point\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Northern hamlet\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Black Point\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-102.14004844215228,54.4482677510778],[-102.17034206371909,54.43837597447878],[-102.1709128595887,54.427426245286604],[-102.14031359487402,54.42416397127905],[-102.14004844215228,54.4482677510778]]],[[[-102.08763920246959,54.652288073555226],[-102.08736530644603,54.65242635610743],[-102.08513497897687,54.653552392355394],[-102.08763920246959,54.652288073555226]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.15349096057786,\"lat\":54.43473707691164},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718855\"],\"csd_name_en\":[\"Amiskosakahikan 210\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Amiskosakahikan 210\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.90685361453184,51.65621328113017],[-111.95436768469906,51.65604795102289],[-111.9450729941531,51.64896100605434],[-111.9538739260112,51.63342146563863],[-111.90703656640305,51.63449374752076],[-111.90685361453184,51.65621328113017]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.92845686673154,\"lat\":51.644950296271816},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4804\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"4804011\"],\"csd_name_en\":[\"Hanna\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Hanna\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.10861601329995,50.120779001254625],[-113.10384567637504,50.13545676346559],[-113.12163251708255,50.13545752406548],[-113.10861601329995,50.120779001254625]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.11136473558585,\"lat\":50.130564429595225},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4805\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4805002\"],\"csd_name_en\":[\"Carmangay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Carmangay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.23610764912401,52.919230889594935],[-111.23743677961963,52.90773419884126],[-111.22031280220429,52.91240173308983],[-111.23610764912401,52.919230889594935]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.23128574364934,\"lat\":52.913122273842006},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4807\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4807056\"],\"csd_name_en\":[\"Irma\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Irma\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.09741190912086,52.34870419570727],[-114.10913803665368,52.362929908749294],[-114.12259081795679,52.36464310236172],[-114.09961494550453,52.34847787477637],[-114.09741190912086,52.34870419570727]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.10910277000222,\"lat\":52.35783210509726},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4808\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4808023\"],\"csd_name_en\":[\"Birchcliff\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Birchcliff\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.04981249701403,52.47072138955667],[-114.06199308802843,52.45780660080378],[-114.0476525962539,52.457434757857456],[-114.03948628650565,52.463088689934615],[-114.04981249701403,52.47072138955667]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.05023554703821,\"lat\":52.46267221156474},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4808\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4808026\"],\"csd_name_en\":[\"Bentley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Bentley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.20356209747094,52.394228236231484],[-114.19847098579416,52.38968396141153],[-114.18278261579516,52.384967985069174],[-114.18251498568284,52.38719361264637],[-114.19370800800247,52.389852194733024],[-114.20356209747094,52.394228236231484]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.1919211439831,\"lat\":52.388826074651845},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4808\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4808027\"],\"csd_name_en\":[\"Sunbreaker Cove\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Sunbreaker Cove\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.4405329747438,52.75685273517631],[-113.42659466152965,52.753442263421015],[-113.42624398010379,52.76320069566663],[-113.44042141181282,52.763212970819296],[-113.4405329747438,52.75685273517631]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.43295161012405,\"lat\":52.759123473679985},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4808\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4808812\"],\"csd_name_en\":[\"Samson 137A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Samson 137A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.09357226690526,53.50946856975795],[-112.1153795118474,53.512381087973736],[-112.11303749684451,53.49782250829209],[-112.07793820968335,53.49781811224594],[-112.07797136443637,53.48327938234627],[-112.02946663602933,53.483131829589],[-112.0294607638373,53.50527097873235],[-112.04163598850342,53.51243510348126],[-112.09357226690526,53.50946856975795]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.06486741366858,\"lat\":53.498869672720545},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4810\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4810028\"],\"csd_name_en\":[\"Vegreville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Vegreville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.36597381065812,52.99619740167616],[-113.37570891315637,52.98155798781536],[-113.4142505015586,52.98182589993309],[-113.42514400460631,52.974413251775815],[-113.42637609484404,52.9598769910814],[-113.39004118820868,52.95258869388785],[-113.3660273431273,52.95273779822449],[-113.3599712942918,52.96700178959926],[-113.34189268773643,52.967013111809834],[-113.33014530467796,52.97447841446917],[-113.33051395520405,52.98932225356472],[-113.34178808460535,52.99671569924593],[-113.36597381065812,52.99619740167616]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.37637229739488,\"lat\":52.973308882690624},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811002\"],\"csd_name_en\":[\"Wetaskiwin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Wetaskiwin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.4770167958443,53.11956029136663],[-114.48231585487612,53.107403889580866],[-114.46484649569929,53.10504450348617],[-114.46484800165106,53.11949890695282],[-114.4770167958443,53.11956029136663]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.47217084740495,\"lat\":53.11243905407758},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811026\"],\"csd_name_en\":[\"Breton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Breton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.50469131381759,53.70609855272808],[-114.50773880920362,53.69785585189703],[-114.49277731624586,53.700921606395006],[-114.50469131381759,53.70609855272808]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.50173581308901,\"lat\":53.7016253370067},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4813\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4813006\"],\"csd_name_en\":[\"West Cove\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"West Cove\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.37016628528171,53.66823190391392],[-114.33260862490032,53.67238470163365],[-114.34486149274576,53.68254320128011],[-114.35035158292774,53.68239660470649],[-114.37008941246707,53.669549450619925],[-114.37016628528171,53.66823190391392]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.35071713111465,\"lat\":53.674809239284556},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4813\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4813012\"],\"csd_name_en\":[\"Alberta Beach\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Alberta Beach\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.6309585910833,54.155525679094225],[-113.63977757247015,54.144806314816115],[-113.61523570447797,54.144665888543535],[-113.6309585910833,54.155525679094225]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.62865728934382,\"lat\":54.14833262748462},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4813\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4813032\"],\"csd_name_en\":[\"Clyde\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Clyde\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-116.4830254100066,53.59941025495715],[-116.50752431483487,53.5929579978636],[-116.50747675550753,53.560294215267874],[-116.47339426340905,53.56718199919765],[-116.44626369286463,53.56414506423611],[-116.43356892632188,53.57730734091754],[-116.39355918805242,53.57740147944859],[-116.37087454586856,53.583587056772004],[-116.37098461485229,53.602700195084005],[-116.48275679852651,53.603389554471356],[-116.4830254100066,53.59941025495715]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-116.44558414890176,\"lat\":53.5860006594223},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4814\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4814024\"],\"csd_name_en\":[\"Edson\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Edson\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.7521790770369,51.20198615923334],[-114.76243112236274,51.21077760979923],[-114.76948731388687,51.207356606865034],[-114.7521790770369,51.20198615923334]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.76136583776216,\"lat\":51.20670679196587},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4815\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4815027\"],\"csd_name_en\":[\"Ghost Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Ghost Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-114.6819280849974,55.279548459282886],[-114.69440413502612,55.29396372755139],[-114.70721405868814,55.29410382165906],[-114.70733187670882,55.27225451835522],[-114.6819280849974,55.279548459282886]]],[[[-114.59167612425237,55.28849823692135],[-114.59164432365755,55.30134353879823],[-114.61788265719989,55.30136635984552],[-114.61745714184197,55.28694853319367],[-114.59167612425237,55.28849823692135]]],[[[-114.6819280849974,55.279548459282886],[-114.65563881176072,55.286741343783795],[-114.68194781931298,55.29412664221113],[-114.6819280849974,55.279548459282886]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.65661385101619,\"lat\":55.28858322299408},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817832\"],\"csd_name_en\":[\"Sawridge 150G\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Sawridge 150G\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-116.6254137956615,56.53712621308722],[-116.6587450545725,56.53637338142206],[-116.66495424405362,56.46415275874006],[-116.62365633338442,56.46589465856231],[-116.41175157644842,56.46316635776286],[-116.38075628404137,56.46658449142005],[-116.36189443031688,56.4783308777413],[-116.40392231830177,56.47736018982908],[-116.42643369534103,56.4886361889471],[-116.42375351822903,56.523168406056634],[-116.44334622950043,56.52340802752093],[-116.44465448031949,56.53695508784149],[-116.6254137956615,56.53712621308722]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-116.53805383773714,\"lat\":56.49899537058419},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817856\"],\"csd_name_en\":[\"Woodland Cree 226\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Woodland Cree 226\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-114.85107699820318,50.187777496743145],[-114.87249491195733,50.18822588867978],[-114.87380188083182,50.224481889568125],[-114.89105262520478,50.22404677721386],[-114.88983189714763,50.199228030524004],[-114.90081582411888,50.18875300227255],[-114.90088801876092,50.175457485437356],[-114.88864169716868,50.162855280745596],[-114.85131328316716,50.16280161516639],[-114.85107699820318,50.187777496743145]]],[[[-114.89315092585363,50.096674653939964],[-114.89415122233983,50.06922487282674],[-114.92056254870462,50.06825132017098],[-114.9366065928691,50.07375052681796],[-114.93845207554261,50.03543403693231],[-114.9501350864216,50.025749601471496],[-114.95174306883071,50.01206600049434],[-114.92392572954168,49.96074085885932],[-114.90157661067126,49.9612072805916],[-114.89674654827502,50.016935987043276],[-114.793237150614,50.01564427622957],[-114.79850827046258,50.069447100241554],[-114.82533560211222,50.06901375715735],[-114.82418232643269,50.094477663085996],[-114.89315092585363,50.096674653939964]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.87698858411048,\"lat\":50.059310335248625},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5901\"],\"cd_name_en\":[\"East Kootenay\"],\"csd_code\":[\"5901003\"],\"csd_name_en\":[\"Elkford\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"East Kootenay\",\"csd_name_fr\":\"Elkford\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-116.01964098303014,50.516154853681414],[-116.03341391613846,50.53154405633745],[-116.04601050235388,50.51980988772383],[-116.0447384880415,50.50956271071051],[-116.0565115987674,50.50000175494972],[-116.04914977012852,50.47294692673021],[-116.02810555381052,50.47516658112394],[-116.01479988688146,50.49928400500344],[-116.01964098303014,50.516154853681414]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-116.03535051947684,\"lat\":50.49943187888514},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5901\"],\"cd_name_en\":[\"East Kootenay\"],\"csd_code\":[\"5901039\"],\"csd_name_en\":[\"Invermere\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"East Kootenay\",\"csd_name_fr\":\"Invermere\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.79408026479975,49.712410910990656],[-119.80564761601399,49.70826086733756],[-119.78886916517959,49.69356038266994],[-119.78902890310442,49.68317924974147],[-119.74853217134256,49.65654121110757],[-119.74105661032466,49.64494004558815],[-119.71454057089322,49.63850371975165],[-119.71625250687586,49.61609272656962],[-119.72710822930966,49.6094213830302],[-119.74919813431777,49.608035024596724],[-119.76344708561317,49.59850636309394],[-119.74866455397452,49.59824122409602],[-119.74906545159051,49.5857591969503],[-119.7229650215377,49.58048696233023],[-119.71391043666634,49.56666496000129],[-119.71114234349447,49.550168365983374],[-119.69215583390627,49.54912724636413],[-119.68287621615623,49.56146095589571],[-119.66414827652017,49.56174714332863],[-119.64683220989176,49.5580908391104],[-119.62105381544401,49.56341176503257],[-119.6165228376051,49.57204377045023],[-119.64315921107108,49.58689200490011],[-119.65597436197413,49.62168518434804],[-119.67891929907411,49.63736316825832],[-119.69092461622893,49.65300533000096],[-119.72027588408243,49.66018428309929],[-119.72105645075244,49.678876454118125],[-119.76117632019043,49.6794418035832],[-119.77151895092321,49.690586789749716],[-119.77174190336883,49.712442908234564],[-119.79408026479975,49.712410910990656]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.70407137855904,\"lat\":49.61538051508676},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5907\"],\"cd_name_en\":[\"Okanagan-Similkameen\"],\"csd_code\":[\"5907035\"],\"csd_name_en\":[\"Summerland\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Okanagan-Similkameen\",\"csd_name_fr\":\"Summerland\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.91293984344063,49.2119570654327],[-119.90736963399713,49.223001789486965],[-119.93203298754023,49.22302048600702],[-119.92298964514033,49.213069362097],[-119.91293984344063,49.2119570654327]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.91873960221034,\"lat\":49.21850481969131},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5907\"],\"cd_name_en\":[\"Okanagan-Similkameen\"],\"csd_code\":[\"5907808\"],\"csd_name_en\":[\"Alexis 9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Okanagan-Similkameen\",\"csd_name_fr\":\"Alexis 9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.61345230866242,49.35652144161298],[-121.60717430840307,49.35130049522718],[-121.6066620588561,49.352442430544826],[-121.61345230866242,49.35652144161298]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.6090962253072,\"lat\":49.353421455795},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909810\"],\"csd_name_en\":[\"Lukseetsissum 9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Lukseetsissum 9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.46245355856317,49.92922812499372],[-121.48385970036114,49.95174807809728],[-121.4834247471644,49.93211493583589],[-121.46245355856317,49.92922812499372]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.47657933536291,\"lat\":49.93769704630897},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909815\"],\"csd_name_en\":[\"Speyum 3\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Speyum 3\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.53207277363953,50.12380251760332],[-122.52678273296814,50.11926965906843],[-122.52216834031671,50.12383959572101],[-122.53207277363953,50.12380251760332]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.52700794897481,\"lat\":50.12230392413092},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909852\"],\"csd_name_en\":[\"Paqulh\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Paqulh\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.30295103267717,49.41910523497682],[-123.35794219295757,49.41886044760476],[-123.39307287903758,49.408377252296454],[-123.39588983997119,49.396938172950904],[-123.42853158795553,49.37604053441536],[-123.43513513305787,49.36472982071414],[-123.42921986965521,49.351879063559174],[-123.4394525439831,49.33772297145804],[-123.41918037054393,49.329292932919515],[-123.36634761881601,49.32946428886369],[-123.3560877559971,49.33205404145926],[-123.33253512519514,49.34887121275161],[-123.31333147622382,49.37598848953955],[-123.31434232532713,49.393208310476275],[-123.30032082698074,49.40752908298085],[-123.30295103267717,49.41910523497682]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.36949602791545,\"lat\":49.373328660158826},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5915\"],\"cd_name_en\":[\"Greater Vancouver\"],\"csd_code\":[\"5915062\"],\"csd_name_en\":[\"Bowen Island\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Island municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Greater Vancouver\",\"csd_name_fr\":\"Bowen Island\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.54449841627597,48.5092877825621],[-123.55708422843232,48.50783365601969],[-123.5604984273033,48.465537687603415],[-123.55820536956826,48.45565312380896],[-123.57483070104205,48.42590420092464],[-123.55641745075373,48.410674022513135],[-123.51802790584944,48.40275550056502],[-123.5113195054049,48.41527908762978],[-123.51382752976018,48.436474878204514],[-123.49687131220159,48.44447644535744],[-123.46808607923005,48.44915086518174],[-123.49751250468182,48.47549969825094],[-123.53432919894193,48.47872413335358],[-123.53360620152242,48.49877403768007],[-123.54449841627597,48.5092877825621]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.53164614785,\"lat\":48.451119713294204},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5917\"],\"cd_name_en\":[\"Capital\"],\"csd_code\":[\"5917044\"],\"csd_name_en\":[\"Langford\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Capital\",\"csd_name_fr\":\"Langford\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.45650320654617,48.49350598381984],[-123.4813315932958,48.49614419086436],[-123.49721029742251,48.489678489465255],[-123.49751250468182,48.47549969825094],[-123.46808607923005,48.44915086518174],[-123.45174126691343,48.455395121555355],[-123.44339173903275,48.446054026920585],[-123.44202315582241,48.43081612527051],[-123.43189462149228,48.43942387437356],[-123.43158692312355,48.44195401202079],[-123.42660349818937,48.44655279950042],[-123.42475053446003,48.45103194617263],[-123.42315598892016,48.452050907624084],[-123.41893454461257,48.46941375494584],[-123.45226178811116,48.465436005776816],[-123.45739328142082,48.472024792256526],[-123.45650320654617,48.49350598381984]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.4611237854967,\"lat\":48.46838143009804},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5917\"],\"cd_name_en\":[\"Capital\"],\"csd_code\":[\"5917047\"],\"csd_name_en\":[\"View Royal\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Capital\",\"csd_name_fr\":\"View Royal\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.43189462149228,48.43942387437356],[-123.41235505389315,48.44659132030083],[-123.42475053446003,48.45103194617263],[-123.42660349818937,48.44655279950042],[-123.42660940364554,48.441676158141],[-123.43158692312355,48.44195401202079],[-123.43189462149228,48.43942387437356]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.42234895107642,\"lat\":48.44582485651606},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5917\"],\"cd_name_en\":[\"Capital\"],\"csd_code\":[\"5917812\"],\"csd_name_en\":[\"New Songhees 1A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Capital\",\"csd_name_fr\":\"New Songhees 1A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.80106998775338,49.035780167158215],[-123.80097594488144,49.01597697164351],[-123.81796387695331,49.01142668889832],[-123.7882007556538,48.992802661600216],[-123.76045339357204,48.99154536848652],[-123.76403604736701,49.009158270419995],[-123.7866249518837,49.01863206180227],[-123.79007444827549,49.02834945032557],[-123.76261044436481,49.028724046916224],[-123.75454349855704,49.03579253581379],[-123.80106998775338,49.035780167158215]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.78501361255066,\"lat\":49.012770082894264},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5919\"],\"cd_name_en\":[\"Cowichan Valley\"],\"csd_code\":[\"5919804\"],\"csd_name_en\":[\"Chemainus 13\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cowichan Valley\",\"csd_name_fr\":\"Chemainus 13\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.61043165275186,49.39857555492097],[-124.61986599401443,49.40283372172441],[-124.62031598835871,49.39434735483617],[-124.61043165275186,49.39857555492097]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.61687121170833,\"lat\":49.398585543827195},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5921\"],\"cd_name_en\":[\"Nanaimo\"],\"csd_code\":[\"5921806\"],\"csd_name_en\":[\"Qualicum\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Nanaimo\",\"csd_name_fr\":\"Qualicum\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-126.63761186223812,49.93758945408059],[-126.6598211736957,49.94509988642671],[-126.66082439521318,49.92659864937838],[-126.67190846789633,49.91074357985559],[-126.67163925794209,49.88969930372542],[-126.66241797478389,49.88967659447802],[-126.64875771509709,49.91762340416941],[-126.64915188913486,49.93148007173149],[-126.63761186223812,49.93758945408059]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-126.65879990591174,\"lat\":49.91704402077272},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5924\"],\"cd_name_en\":[\"Strathcona\"],\"csd_code\":[\"5924030\"],\"csd_name_en\":[\"Tahsis\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Strathcona\",\"csd_name_fr\":\"Tahsis\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.29240232576187,50.024485647330906],[-125.30276791498312,50.01433950840631],[-125.2838884929174,50.01402329384756],[-125.29240232576187,50.024485647330906]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.29301957788748,\"lat\":50.01761614986159},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5924\"],\"cd_name_en\":[\"Strathcona\"],\"csd_code\":[\"5924812\"],\"csd_name_en\":[\"Quinsam 12\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Strathcona\",\"csd_name_fr\":\"Quinsam 12\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.93424809169866,50.136748139045224],[-124.9462805317474,50.13671125305277],[-124.94530169867993,50.12055971581348],[-124.92192502937269,50.12130672943978],[-124.93424809169866,50.136748139045224]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.93662018293469,\"lat\":50.12797281457977},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5924\"],\"cd_name_en\":[\"Strathcona\"],\"csd_code\":[\"5924820\"],\"csd_name_en\":[\"Tork 7\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Strathcona\",\"csd_name_fr\":\"Tork 7\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.90996346225221,50.359413613229925],[-123.96249865296876,50.33936374301365],[-123.9790192838689,50.34883949025247],[-123.99997707375915,50.34640351948869],[-124.01501979977837,50.36083249027353],[-124.04116804298975,50.34638465265326],[-124.06396672914192,50.363418394864595],[-124.07580248479155,50.36642339599419],[-124.10291764772171,50.36140954217277],[-124.11462671559745,50.35095674645911],[-124.13670724261418,50.35262051112126],[-124.15953725579566,50.33338629304999],[-124.15482080600594,50.29771651250142],[-124.1657887605143,50.28475093464208],[-124.16901059304769,50.27001570923117],[-124.14423078480257,50.255747536007256],[-124.16541448610988,50.23562703991127],[-124.1726284328328,50.21910760461367],[-124.15425568118938,50.21909803436747],[-124.11919612777444,50.20970908360238],[-124.07749807976883,50.209628999753264],[-124.07325731463038,50.19650021478715],[-124.09214443803835,50.19370513024138],[-124.09061946724093,50.17382036388783],[-124.06938167590963,50.15055123457989],[-124.08482678331218,50.139140729916086],[-124.10731000183814,50.142207930574436],[-124.13689850258085,50.13552882786929],[-124.13675146308819,50.11840281227084],[-124.14621719791181,50.115390471434594],[-124.15364807910615,50.09490772680344],[-124.13777663305653,50.07952926483417],[-124.1507847532323,50.061024014920456],[-124.13178632127709,50.0489871293604],[-124.11009508090947,50.04096094030067],[-124.11365661681008,50.02465511976424],[-124.09663919814446,50.01643983179871],[-124.0793491844389,50.000236745671025],[-124.06756337849534,50.000616941103665],[-124.06940256760842,49.96466752337913],[-124.06024381808379,49.96298168854179],[-124.06294401064476,49.933246146387916],[-124.03417666211985,49.92796671437674],[-124.04571924802121,49.86770632311759],[-124.02516962382542,49.839999023805],[-124.02550036012154,49.8252450230006],[-124.03499284137068,49.805472257160446],[-124.09082641135899,49.78440362310393],[-124.13707794608034,49.769426903081516],[-124.22054029404721,49.75726075544282],[-124.23708803674387,49.74845469043991],[-124.29188511813248,49.70156905372372],[-124.25404963072286,49.65973766198861],[-124.19793311457765,49.63249389327478],[-124.13084911212371,49.59087892977024],[-124.10268187402258,49.56745269921193],[-124.08564683487957,49.546322820852495],[-124.0521516389019,49.54975848002134],[-123.9369530198655,49.55365140096848],[-123.91300250253417,49.58682246239296],[-123.91866591637,49.596869002016625],[-123.90945562779697,49.612525901615925],[-123.89891295999513,49.613042191705475],[-123.89947685715181,49.63072672832995],[-123.89050561767105,49.64324944178792],[-123.90745068254132,49.66259662630965],[-123.9272681601909,49.66976903452004],[-123.92890824251585,49.683625436658254],[-123.93943932579448,49.70686587790666],[-123.93936258200094,49.71926503486278],[-123.92480335787688,49.72821705399765],[-123.90416936242015,49.727682767622035],[-123.89444100107511,49.73475772817062],[-123.87388496201422,49.74162185147785],[-123.83582235102266,49.74730258059783],[-123.80563134582714,49.75966409354548],[-123.7975674401995,49.76991482145884],[-123.79704864627705,49.798118834834064],[-123.77173116236165,49.82554343436066],[-123.76687980860189,49.84073129242507],[-123.77515194791874,49.86126354533131],[-123.7589622239884,49.87036543044372],[-123.74681821839998,49.886086873935746],[-123.72300385676215,49.894187163178344],[-123.70955918341355,49.90532246806242],[-123.68867113406574,49.90767363800206],[-123.67568743879872,49.9218256554144],[-123.66021728375637,49.92997117609777],[-123.63472424137122,49.92688667051232],[-123.6201713520494,49.930668601800214],[-123.60362352703447,49.94361981873949],[-123.58626074801428,49.97111779362901],[-123.60227468611578,49.97674630660973],[-123.60545296812634,49.99101201599215],[-123.59857242320099,49.9998113349547],[-123.60485958401011,50.01248523242562],[-123.63027621826107,50.000077426198715],[-123.63067967977688,50.01219828169211],[-123.6432161990079,50.02855730088802],[-123.6304323940443,50.03793947303259],[-123.63797141142582,50.04955317476986],[-123.61517449097964,50.055826289115025],[-123.62691210641309,50.07009638270082],[-123.649061953643,50.084795808298125],[-123.61854279995454,50.09866640691068],[-123.58989008353787,50.123165944552824],[-123.59580929587676,50.14111147998372],[-123.58110084398409,50.1537758560503],[-123.5813311144481,50.1739640577815],[-123.60042959627424,50.17717172612742],[-123.63505764536745,50.17564078429242],[-123.6478220747492,50.18700426504958],[-123.6460359669701,50.19702076289575],[-123.63259522654637,50.20386759998208],[-123.63988443925912,50.21253250308837],[-123.68666264742969,50.202529638836715],[-123.69868647574047,50.19060489466757],[-123.72675300836472,50.19551416408642],[-123.72651101576922,50.20326222852272],[-123.70356787696535,50.21950119048749],[-123.69840920743019,50.229516111254725],[-123.75454121779647,50.24427576566618],[-123.76796087745731,50.26201762399469],[-123.81102792052961,50.28138395700054],[-123.83293350523759,50.2829781212396],[-123.84807756009634,50.30066907846659],[-123.87035646384979,50.3026764879432],[-123.88390979229611,50.321480512200466],[-123.87805596806443,50.33066449211792],[-123.89795078558969,50.34284814157402],[-123.90996346225221,50.359413613229925]],[[-123.74565614287962,50.09346577477302],[-123.75653066675568,50.07277107254643],[-123.76809733141269,50.07613175794487],[-123.74565614287962,50.09346577477302]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.92996469669578,\"lat\":49.98241251956796},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5929\"],\"cd_name_en\":[\"Sunshine Coast\"],\"csd_code\":[\"5929018\"],\"csd_name_en\":[\"Sunshine Coast A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Sunshine Coast\",\"csd_name_fr\":\"Sunshine Coast A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.86918977254955,50.73967077774323],[-121.86093785712895,50.742540676223555],[-121.87117228497762,50.74214758596765],[-121.86918977254955,50.73967077774323]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.86709997155205,\"lat\":50.74145301331148},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5931\"],\"cd_name_en\":[\"Squamish-Lillooet\"],\"csd_code\":[\"5931816\"],\"csd_name_en\":[\"Fountain 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Squamish-Lillooet\",\"csd_name_fr\":\"Fountain 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.76624407579465,50.54638153875979],[-121.7666424080669,50.55411853397074],[-121.80250463443934,50.555050533520735],[-121.80453543760623,50.53106524156325],[-121.78490768399108,50.530582172532675],[-121.7693394518978,50.53660517605232],[-121.76624407579465,50.54638153875979]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.78631941419283,\"lat\":50.54335187052316},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5931\"],\"cd_name_en\":[\"Squamish-Lillooet\"],\"csd_code\":[\"5931827\"],\"csd_name_en\":[\"Nesikep 6\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Squamish-Lillooet\",\"csd_name_fr\":\"Nesikep 6\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.30088277216662,50.78150923651867],[-120.30070960807794,50.80064011976846],[-120.27751218220347,50.80825705266288],[-120.27648104248122,50.83046803306541],[-120.26030003928203,50.838470522932674],[-120.26052625711819,50.85566703648687],[-120.28872120529816,50.866542132025884],[-120.31176328646212,50.86622761374369],[-120.3131269707349,50.844833520407086],[-120.33515083714992,50.82289291457811],[-120.3820641038913,50.822781652554255],[-120.3819123409007,50.74205420636374],[-120.47242593939889,50.74196989607835],[-120.47229936983021,50.727867772737646],[-120.53838152485909,50.72904163856811],[-120.53895212804744,50.71389398985945],[-120.51913422189884,50.71084431978103],[-120.51871753265051,50.69311471771481],[-120.48283425934514,50.692780004004575],[-120.47400116031709,50.6866816387561],[-120.47666828236777,50.65617557803488],[-120.47394067109133,50.61945527545713],[-120.44643162408576,50.617941671342365],[-120.35791164339975,50.618268969642116],[-120.30341149534658,50.61736019450353],[-120.2407425300772,50.61915157858608],[-120.08157116074018,50.61934607943328],[-120.08003373075319,50.64865034817756],[-120.04180636659794,50.648894683235895],[-120.04199037752775,50.65818407519424],[-120.06732760601226,50.65736720563495],[-120.12489450507249,50.664179202721805],[-120.15467440748293,50.67181128288545],[-120.20970153701757,50.67306505985461],[-120.26600859138134,50.68175961219948],[-120.29237359428511,50.68088401423222],[-120.29595689432811,50.67465000542155],[-120.34033998597565,50.68684050242464],[-120.35172810217028,50.7006817126173],[-120.35578748724845,50.73677399186451],[-120.34331810305102,50.74876579416844],[-120.34023509115553,50.76144680642559],[-120.32417014780907,50.78192276826977],[-120.30088277216662,50.78150923651867]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-120.32875513267004,\"lat\":50.692976879154145},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933042\"],\"csd_name_en\":[\"Kamloops\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Kamloops\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.37215419559665,50.61957764455659],[-121.39590923111749,50.619502113519324],[-121.38463544270572,50.605022221029685],[-121.37215419559665,50.61957764455659]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.38423295647328,\"lat\":50.614700659701874},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933837\"],\"csd_name_en\":[\"Peq-Paq 22\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Peq-Paq 22\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.3580733976805,50.4168781838913],[-121.36148134985163,50.41581846345323],[-121.36321873454723,50.413339870590626],[-121.35886301008361,50.413608833620515],[-121.35713671670881,50.41597999715688],[-121.3580733976805,50.4168781838913]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.35997464776402,\"lat\":50.41494432253737},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933881\"],\"csd_name_en\":[\"Spences Bridge\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Spences Bridge\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.13618563733162,50.55026765601551],[-119.15415474260556,50.54329025556386],[-119.18353745063396,50.543866499966434],[-119.18337170821098,50.52781476928139],[-119.18345635989662,50.50000044409184],[-119.13790991353073,50.49961050871217],[-119.13932481710054,50.520370980857884],[-119.12368478440459,50.51862388479246],[-119.1253422636943,50.53622488866648],[-119.08197269663344,50.553988915073695],[-119.125368361744,50.557651953089966],[-119.13618563733162,50.55026765601551]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.14815121621454,\"lat\":50.528666259572674},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5937\"],\"cd_name_en\":[\"North Okanagan\"],\"csd_code\":[\"5937802\"],\"csd_name_en\":[\"Enderby 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"North Okanagan\",\"csd_name_fr\":\"Enderby 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.16290278269919,53.45678892625051],[-122.27543013683987,53.456013654869984],[-122.2870717500662,53.45001563174465],[-122.33626530101523,53.450127016204505],[-122.34811470435397,53.440082901952096],[-122.32642196788049,53.41165603673921],[-122.34505002779669,53.39942104827008],[-122.34861691261764,53.37349116241964],[-122.48963261024173,53.37259441704802],[-122.4873277502957,53.33094399958431],[-122.47138524670933,53.33057238326964],[-122.46785222892657,53.313605982228616],[-122.4553676003434,53.31348516674486],[-122.44712096480009,53.29302530138966],[-122.44596267040444,53.260830341768546],[-122.42999255035467,53.261110441523506],[-122.4285174615412,53.23263263833948],[-122.41340908630612,53.232613003512185],[-122.41115860532457,53.212105227353895],[-122.32798006097119,53.2113528919849],[-122.33182307984688,53.08159757998911],[-122.34795541601629,53.079874697669275],[-122.35201351722897,53.069533712261546],[-122.41388977469018,53.06936108026148],[-122.41400273608217,53.055375197807045],[-122.43964164392929,53.05527400770141],[-122.44487721488312,53.026630318142956],[-122.48197059396577,53.02621651899902],[-122.48161069707155,53.00668085615942],[-122.45365122143583,52.99803680571617],[-122.40117426601839,52.995747149030464],[-122.36783991353944,53.00071160430499],[-122.32157238594436,52.97490250925771],[-122.31245769749836,52.96225199278965],[-122.32161422040238,52.953225101960086],[-122.29295950574323,52.92453528539612],[-122.29853689882555,52.913705593872756],[-122.279574106583,52.90292510477785],[-122.27902811293778,52.88871549395444],[-122.25334689918411,52.87115209628395],[-122.253139606135,52.857953000533726],[-122.23923458229949,52.85640939033138],[-122.2288588873225,52.84537150642536],[-122.17210309291889,52.810917004115126],[-122.16523122635033,52.79780860348538],[-122.16505548328296,52.77965819040153],[-122.15261739331008,52.770990796442774],[-122.15118398751113,52.753346204382424],[-122.12441931681055,52.73577150084634],[-122.11923112580823,52.71483714412872],[-121.94070448315593,52.714497849456656],[-121.93817449537933,52.743137332311534],[-121.75890678539827,52.74203746565539],[-121.71930169250493,52.73286499522436],[-121.69396349183067,52.71982518305458],[-121.65545049210196,52.73837834866777],[-121.59934326746058,52.72512876113593],[-121.58201725068102,52.739402924012836],[-121.59910314137699,52.75324298537479],[-121.61648326074169,52.785173913763785],[-121.59112838779829,52.80717268475877],[-121.62041125973296,52.82402534230068],[-121.6143819993953,52.849211695842776],[-121.6045400089244,52.86052157096306],[-121.57875159066434,52.85715512030805],[-121.56399928829168,52.86703622001034],[-121.529645172193,52.8694085946876],[-121.49102955836034,52.86127859603921],[-121.47858160177447,52.84667347204011],[-121.46781688057352,52.848844071180245],[-121.45255529280871,52.866541033992974],[-121.42273993990356,52.875637872792225],[-121.34381520814138,52.87114517353704],[-121.31057817911889,52.89498626243575],[-121.28183973525732,52.899067170397124],[-121.24198724727253,52.92615420693428],[-121.22735958648647,52.92899249388102],[-121.19201973068724,52.92529106843834],[-121.16913500191885,52.930643186641426],[-121.17495618240979,52.94285808275604],[-121.14276654218978,52.93947180129857],[-121.13186360670498,52.92578255491436],[-121.12041158459462,52.869753085648995],[-121.07250666880294,52.875311134471765],[-121.05719552973085,52.88307533362542],[-120.99526925749173,52.88042876465408],[-120.9345761194129,52.857649145417476],[-120.88723686914305,52.88674715262575],[-120.84365732539779,52.901920945073414],[-120.80786883303065,52.89950924270013],[-120.78959141786095,52.90846339269999],[-120.73765349709522,52.90796539033303],[-120.72283254988706,52.896953181723156],[-120.70178473183749,52.905519986996445],[-120.68221059243075,52.92813413629748],[-120.66339577886231,52.932186411013824],[-120.6111650103247,52.9136745834095],[-120.57984825350803,52.91192243063651],[-120.56980276176456,52.92018230789587],[-120.59458650550455,52.940249522213605],[-120.59257164746856,52.94630611593247],[-120.53518073199697,52.955869830152665],[-120.54490116561881,52.97613015580482],[-120.53606100179397,52.98384199626897],[-120.5022830449619,52.991078443371805],[-120.46718276626441,52.98879177615554],[-120.45312671157451,52.99325703672585],[-120.48841889814629,53.054554000012224],[-120.47423836779227,53.06554362503561],[-120.42528755745771,53.06784119844121],[-120.41704154387713,53.082303899345625],[-120.4170661948413,53.100242101099525],[-120.42955760501489,53.11006007195529],[-120.46259716623011,53.12471265191372],[-120.46671840361881,53.14909640728693],[-120.4769091702544,53.15621505663333],[-120.52517305242793,53.170780642772144],[-120.57540252138547,53.19259848350375],[-120.60098607398966,53.190037876763036],[-120.62716310041482,53.213961403192755],[-120.69431895887413,53.25641133440166],[-120.7150090961226,53.264522812431146],[-120.76740505984692,53.25554911745178],[-120.78748103717776,53.256644325035595],[-120.79993988281188,53.266885764070885],[-120.81116310330661,53.28784507662867],[-120.85298043481227,53.28163907566804],[-120.88537365460404,53.298101044664165],[-120.92281197991002,53.307069781572345],[-120.93754276607449,53.30058196497703],[-120.9460371785738,53.2814959944937],[-120.97205465215107,53.27877901063322],[-120.98022094441923,53.31359321910802],[-121.01819301224124,53.3297661909194],[-120.99827799501573,53.38303612854952],[-121.00828606866168,53.43040327155395],[-121.02441456231108,53.4277142567333],[-121.05450707909692,53.40050395787529],[-121.07347708479367,53.39316147374082],[-121.11113258646174,53.39729439784913],[-121.1350022099719,53.394584591084076],[-121.14249477839634,53.379773461025486],[-121.1599810786083,53.381282819604074],[-121.17401827075334,53.39643052332136],[-121.1976924989188,53.37905527055519],[-121.22816378435293,53.384730096343375],[-121.26405345424196,53.40321596771028],[-121.28350798451824,53.42986378997423],[-121.28829575838661,53.44571377236641],[-121.55542567849943,53.43938651210761],[-121.57134351828725,53.452549621481],[-121.81402908543944,53.45691053152458],[-121.93100256394101,53.4561526746552],[-122.16290278269919,53.45678892625051]],[[-121.52784973853977,53.166716648879984],[-121.5094359862627,53.0930881020607],[-121.53034737651932,53.09495702828832],[-121.54365631981487,53.08118943737277],[-121.5624456491225,53.08078902353463],[-121.56704267210232,53.06457231924577],[-121.61365652156668,53.03308500482008],[-121.62541569874186,53.03605373658503],[-121.62796926515493,53.049147616411354],[-121.65427788049821,53.05642807335949],[-121.67076041265004,53.055027803157955],[-121.68399414544949,53.065434089351264],[-121.71004730208645,53.067084824608045],[-121.7274051606807,53.081196857291886],[-121.74246048981686,53.08065918591124],[-121.7534736508607,53.092883934449105],[-121.7718344829341,53.08983241122982],[-121.7401870837664,53.11891781158417],[-121.70888520443242,53.156008616184586],[-121.64725755536396,53.157847871243426],[-121.56684151569353,53.16592479305687],[-121.52784973853977,53.166716648879984]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.56049246452977,\"lat\":53.120684793308975},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941026\"],\"csd_name_en\":[\"Cariboo C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Cariboo C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.10490414124165,51.41110442379957],[-124.12491332822026,51.41623983885483],[-124.11975842383063,51.40857065794117],[-124.10490414124165,51.41110442379957]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.11652529776418,\"lat\":51.41197164019852},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941828\"],\"csd_name_en\":[\"Chilco Lake 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Chilco Lake 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.05299725311139,52.371624181354306],[-125.02915340988359,52.37954577623825],[-125.053144363967,52.38608122127545],[-125.05299725311139,52.371624181354306]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.04509834232067,\"lat\":52.37908372628933},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941854\"],\"csd_name_en\":[\"Ulkatcho 13\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Ulkatcho 13\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.57925044294282,51.848846563482816],[-121.57919701441065,51.84999026077819],[-121.58212798451987,51.849817432300256],[-121.58130811466462,51.84805326065172],[-121.57925044294282,51.848846563482816]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.580586937143,\"lat\":51.849188881045194},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941855\"],\"csd_name_en\":[\"Windy Mouth 7\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Windy Mouth 7\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.41150407916275,52.91579440379916],[-125.39982601114995,52.91299367212445],[-125.39962262136692,52.927821533889094],[-125.4112797726369,52.9275882045433],[-125.41150407916275,52.91579440379916]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.4053371606215,\"lat\":52.92101852027534},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941861\"],\"csd_name_en\":[\"Betty Creek 18\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Betty Creek 18\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-126.92827912187137,50.582825694159986],[-126.9280468131915,50.58148513193034],[-126.9251173752797,50.582389611254094],[-126.92520740314026,50.58319462372647],[-126.92827912187137,50.582825694159986]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-126.92679073718598,\"lat\":50.58244843392962},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5943\"],\"cd_name_en\":[\"Mount Waddington\"],\"csd_code\":[\"5943835\"],\"csd_name_en\":[\"Nimpkish 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Mount Waddington\",\"csd_name_fr\":\"Nimpkish 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-126.92091911149033,50.593787262516074],[-126.94736524704197,50.602392763480466],[-126.9513586347897,50.587586671390675],[-126.93015354256231,50.587419438121735],[-126.92091911149033,50.593787262516074]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-126.93848801014465,\"lat\":50.59337706929435},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5943\"],\"cd_name_en\":[\"Mount Waddington\"],\"csd_code\":[\"5943837\"],\"csd_name_en\":[\"Alert Bay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Mount Waddington\",\"csd_name_fr\":\"Alert Bay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-129.25542801021547,53.427541386184856],[-129.26868708583706,53.427759025913836],[-129.2684740067669,53.41797763201857],[-129.25303828699214,53.41824957351803],[-129.25270966599805,53.425954766206665],[-129.25542801021547,53.427541386184856]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-129.26088893112137,\"lat\":53.42284174381458},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5947\"],\"cd_name_en\":[\"Skeena-Queen Charlotte\"],\"csd_code\":[\"5947806\"],\"csd_name_en\":[\"Kulkayu (Hartley Bay) 4\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Skeena-Queen Charlotte\",\"csd_name_fr\":\"Kulkayu (Hartley Bay) 4\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-129.3599764941474,54.902289394242004],[-129.37392199850188,54.90743965977003],[-129.39403453064352,54.89262623630109],[-129.4413615230181,54.8837765830072],[-129.45177151025666,54.87617268209452],[-129.42999204603547,54.853959497796815],[-129.46414772126127,54.84500015473458],[-129.47782919490365,54.819978291737684],[-129.4349189256382,54.811492795532814],[-129.40752268830542,54.810052415573],[-129.3847197914565,54.7913403410584],[-129.38429455025675,54.779142264191556],[-129.40400941202563,54.766539042990196],[-129.42328911869245,54.7470751610534],[-129.45275540349724,54.710002833790305],[-129.4504846726038,54.690674568881],[-129.46393839229336,54.66028769312486],[-129.4670225064172,54.635978962142445],[-129.47458588763655,54.61867419089316],[-129.50121758089398,54.603283751654544],[-129.53309848385433,54.597457934282374],[-129.54601423909125,54.60256766822113],[-129.55368920113753,54.62291532910797],[-129.56844848907582,54.635604856635226],[-129.59260966156094,54.638800294336576],[-129.64604773184865,54.629127961847594],[-129.6728477500321,54.612987467399016],[-129.68717345002975,54.59476258291972],[-129.65822419135876,54.58094121339632],[-129.6586192291793,54.556878102413535],[-129.67322624789958,54.53948002697041],[-129.6922874449738,54.527262808187544],[-129.67599809069065,54.48194240653994],[-129.65369622407948,54.487211643949834],[-129.59839312021765,54.47326913351259],[-129.5651482958037,54.46069963773194],[-129.52504985613007,54.43854707495964],[-129.51385901382852,54.42481808019807],[-129.51014822368,54.40676826675787],[-129.49673669392521,54.38485507386813],[-129.47565954304014,54.36822736445455],[-129.43068351873168,54.364834137048845],[-129.3992122833939,54.35134715166873],[-129.37111700501424,54.356503542231465],[-129.37210092997404,54.29197543382849],[-129.37275998705772,54.178067031851434],[-129.37485003521854,53.940722091083366],[-129.37348442749396,53.79654099031067],[-129.3625038498042,53.784530293282074],[-129.3124682172722,53.807344106257105],[-129.3030047107658,53.81863453609496],[-129.3064104348372,53.84504978964052],[-129.30172914506906,53.865794067082376],[-129.28298881250421,53.88261583898456],[-129.2740019830877,53.89890465923222],[-129.2542222648843,53.91623761339687],[-129.24017025702008,53.93686542158522],[-129.25118580440858,53.95733858948039],[-129.26944073365388,53.96268325479088],[-129.28319396693058,53.97357950734733],[-129.28372197846815,53.986520681961984],[-129.3109165561136,54.0035486880577],[-129.30337536799104,54.02358129113087],[-129.2872005324639,54.030981440741265],[-129.23574638548982,54.028643354742904],[-129.20832769638426,54.03467799364233],[-129.12062050755472,54.03511429417515],[-129.07410006448018,54.04668196268656],[-129.03869539643824,54.059553543344904],[-128.9900838462684,54.09077022032588],[-128.95023480470132,54.10819395621456],[-129.04712836337117,54.209577875174126],[-129.01451697564303,54.21928130886643],[-128.99167738338608,54.25836481290175],[-128.97588425760122,54.26818480322005],[-128.9333087819705,54.27044560707467],[-128.87999031903868,54.2892577266324],[-128.8507656830665,54.290762547757076],[-128.81286327661343,54.30130467568882],[-128.79510877478737,54.300423227505526],[-128.74062287369497,54.28227883063341],[-128.71912101715273,54.280754524005005],[-128.6959893546098,54.30860711817696],[-128.68217709109499,54.31711811283336],[-128.66636298159756,54.31163580142546],[-128.6526605614814,54.294434866299845],[-128.63244067689317,54.28815566089975],[-128.60542792797222,54.29816586952461],[-128.5375502417996,54.30340129961718],[-128.49341663116394,54.29949857605721],[-128.45272801791486,54.32242885003047],[-128.42272296608118,54.33045966667935],[-128.36932973886186,54.33956415253725],[-128.3233675010715,54.35501642835179],[-128.29768673918633,54.35253518612879],[-128.2398310802791,54.33057634316581],[-128.1837473175444,54.3323645291794],[-128.1203188742365,54.31854302330835],[-128.11808530431978,54.30904564668036],[-128.1312236593832,54.297961447484994],[-128.07183605031184,54.26511051069501],[-128.07507805536054,54.2412286890185],[-128.0595070814328,54.22878126775733],[-128.02113075872913,54.232978316691245],[-127.98790843973156,54.22215590553466],[-127.97654567797824,54.212050873854714],[-127.99890823505879,54.18070778432155],[-127.98854464267264,54.15470219372566],[-128.01945861420197,54.1368773096502],[-128.02206270027224,54.12807639374628],[-127.99930151822234,54.11761448156189],[-127.98296563451413,54.100146255442446],[-127.99200015111786,54.07832269476882],[-128.01193370637304,54.06825592181263],[-128.05584806184967,54.07037730239305],[-128.07524317484032,54.05657431770435],[-128.0708009707509,54.04873620941051],[-128.0447760282387,54.03605489821121],[-128.05376109761127,53.9896530119563],[-128.0429081881182,53.979981640881114],[-128.04936499780158,53.9583462452825],[-128.0410709334435,53.94842610393556],[-128.05674072756247,53.93233820307795],[-128.07366964419523,53.901773416775846],[-128.03122986464416,53.892205262430366],[-128.00166316687523,53.89128508408135],[-128.0002351496968,53.99500268077671],[-127.9782353807749,53.99417859937256],[-127.94471350919964,54.005156161532334],[-127.93492030521871,54.02035934031499],[-127.89253995346891,54.02209098425716],[-127.88351813514153,54.037735639809206],[-127.86517352665736,54.04533565765427],[-127.85366846219539,54.07305093439242],[-127.82950102026675,54.08875560503792],[-127.82601765782553,54.10194658319539],[-127.80475527461782,54.110979797025024],[-127.74841816756856,54.115951073707066],[-127.72167945988691,54.12402058851162],[-127.72483603649275,54.14401122967572],[-127.7579041843696,54.172959678410535],[-127.75000035943259,54.20412194725183],[-127.70558956381055,54.206452550134465],[-127.69816656563182,54.216625225254944],[-127.67780182386106,54.22155573212981],[-127.6551661915025,54.24587766731502],[-127.6748732488293,54.2612412793203],[-127.66553415340587,54.277310296224556],[-127.64483643798363,54.2905088183567],[-127.64115847428812,54.304482981338445],[-127.5938075857218,54.313000815244216],[-127.58958276344283,54.323828711919006],[-127.56851560655868,54.34232565410037],[-127.56800904967756,54.35957384456265],[-127.54870839835078,54.36999084956356],[-127.5355766504429,54.38704013993654],[-127.56179508172397,54.397825489388126],[-127.56142347956988,54.40575151829],[-127.53775517020573,54.43518983541926],[-127.55464307613812,54.446439756369976],[-127.58042733404568,54.45146113662801],[-127.62140107579874,54.444588874958534],[-127.6418250138185,54.45936528362622],[-127.6519745057969,54.456377388974985],[-127.69391079606503,54.463614287815744],[-127.71348461428614,54.460494434657555],[-127.73761621938344,54.44453354520407],[-127.75770678971328,54.44306953626476],[-127.77956905292271,54.467358647812176],[-127.76895384384603,54.4846661433424],[-127.77165969891382,54.49494822909996],[-127.76600414992734,54.50698004612346],[-127.77651528738957,54.51725609617218],[-127.7572229592943,54.537778317031545],[-127.72938599414255,54.54692252692031],[-127.70025986706301,54.5472340600119],[-127.69853617627975,54.56275498572851],[-127.68734830676924,54.57840265218463],[-127.71555195869188,54.59261721290904],[-127.73866159397743,54.592701099623746],[-127.7776576092304,54.60443932402331],[-127.80398479721953,54.599238980918564],[-127.7996456353653,54.632468185718174],[-127.79998185869341,54.786821688886455],[-127.80104571145112,54.99946669052339],[-127.99905647588035,54.99965281936297],[-128.24825034346173,54.9999483527861],[-128.49959174999447,55.00025146756835],[-128.92728445809604,55.00022023106826],[-128.90817302827585,54.984712327128804],[-128.90885859293735,54.97682273643313],[-128.94468960213587,54.94975988512139],[-128.9871134749891,54.93679271802992],[-129.05466113642845,54.929362785529236],[-129.13663785786832,54.912086069261576],[-129.17431440456926,54.88687975355004],[-129.19390328646602,54.883794024310575],[-129.29748791652372,54.88279610698573],[-129.34212136418458,54.89429790628836],[-129.3599764941474,54.902289394242004]],[[-128.48663429666442,54.56449826576199],[-128.46357784269628,54.5614073745983],[-128.4835822973695,54.551743796278565],[-128.48663429666442,54.56449826576199]],[[-128.42862965978972,54.62228705598386],[-128.40772638461723,54.621992314884274],[-128.40746480581117,54.597519779404585],[-128.43930116064024,54.596168614066706],[-128.43963182164978,54.62240729254564],[-128.42862965978972,54.62228705598386]],[[-128.66125765220497,54.52116339375381],[-128.68049892563792,54.51807520564765],[-128.68881884778347,54.53884469632106],[-128.64987296414495,54.53704113974405],[-128.65800576418292,54.52281574413575],[-128.62413698359452,54.543060579510666],[-128.58575967692386,54.54233675758803],[-128.57979657205172,54.52784237137816],[-128.56227644639705,54.516393649016166],[-128.53578892530894,54.52981579057448],[-128.50348007223877,54.537999824803556],[-128.50823761996153,54.52548818935572],[-128.50134622347727,54.50484888016642],[-128.5099998011584,54.49223412651198],[-128.55800933009348,54.49243931707728],[-128.55981778255716,54.476680272501106],[-128.5407186833892,54.46749388567436],[-128.5140752825162,54.4663394919106],[-128.53300909334288,54.439660677115256],[-128.5486232832987,54.43950847220303],[-128.55062900298606,54.42563122989328],[-128.58825266529163,54.42565549982193],[-128.58800931579356,54.43400901243718],[-128.66419762356887,54.434849928026146],[-128.65009668432234,54.45768433963793],[-128.59887828308993,54.458788950308495],[-128.59580622865116,54.488577011256936],[-128.58586313718573,54.49388335317655],[-128.58357419597468,54.49492111724564],[-128.58353570526765,54.49561927155023],[-128.62193130942333,54.496994400083224],[-128.63052384841592,54.50879546889923],[-128.66125765220497,54.52116339375381]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-128.60721618241715,\"lat\":54.555941992843856},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5949\"],\"cd_name_en\":[\"Kitimat-Stikine\"],\"csd_code\":[\"5949013\"],\"csd_name_en\":[\"Kitimat-Stikine C (Part 1)\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kitimat-Stikine\",\"csd_name_fr\":\"Kitimat-Stikine C (Part 1)\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-127.31370566084134,55.02271979231829],[-127.30436383925544,55.033836506639275],[-127.3306262393016,55.035114477331696],[-127.33073336934146,55.033901011566094],[-127.33066585710594,55.0232836240993],[-127.31370566084134,55.02271979231829]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-127.31974527139101,\"lat\":55.02916177308126},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5949\"],\"cd_name_en\":[\"Kitimat-Stikine\"],\"csd_code\":[\"5949820\"],\"csd_name_en\":[\"Bulkley River 19\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kitimat-Stikine\",\"csd_name_fr\":\"Bulkley River 19\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-127.3421411380029,55.00002635140056],[-127.43981463565271,55.000595747819666],[-127.80104571145112,54.99946669052339],[-127.79998185869341,54.786821688886455],[-127.7996456353653,54.632468185718174],[-127.80398479721953,54.599238980918564],[-127.7776576092304,54.60443932402331],[-127.73866159397743,54.592701099623746],[-127.71555195869188,54.59261721290904],[-127.68734830676924,54.57840265218463],[-127.69853617627975,54.56275498572851],[-127.70025986706301,54.5472340600119],[-127.72938599414255,54.54692252692031],[-127.7572229592943,54.537778317031545],[-127.77651528738957,54.51725609617218],[-127.76600414992734,54.50698004612346],[-127.77165969891382,54.49494822909996],[-127.50039587347995,54.496170930300295],[-127.23075065429194,54.49585536530023],[-126.7944485987094,54.49394758817368],[-126.72764069806766,54.497350799824545],[-126.72696739355338,54.50632893949135],[-126.62298644639655,54.5074707975692],[-126.62433532000927,54.5797105530302],[-126.62733332533453,54.62550427143705],[-126.6330299871756,54.63765604939299],[-126.66431819929485,54.64884006032467],[-126.67579147772331,54.659156592756936],[-126.68496601376322,54.67870079454512],[-126.70295281272183,54.679535780494504],[-126.7324556420282,54.670407392582376],[-126.73186201120376,54.68527175395595],[-126.74911475155471,54.69270805392856],[-126.74338275797201,54.71941057814558],[-126.77586683301028,54.73362405602198],[-126.7717023991386,54.74964473004209],[-126.75662845025091,54.76102469896738],[-126.73943687687277,54.75644895883981],[-126.70732407611145,54.76118095750643],[-126.70059028787131,54.79394616313002],[-126.72467869624276,54.80501842108441],[-126.7610404145832,54.7947243549787],[-126.77692427710785,54.796339603210775],[-126.79399495738504,54.81182773173311],[-126.8171175421091,54.81486945686381],[-126.8218642941064,54.830682389618],[-126.85744004223427,54.84812227412951],[-126.83399748831182,54.86202043990733],[-126.83612853239885,54.868843529703064],[-126.86336962734696,54.87239006127086],[-126.8563604810191,54.89545521632481],[-126.86390071134863,54.90982411479009],[-126.86185380955392,54.937519678941094],[-126.89365435429953,54.95551149298817],[-126.91769045402549,54.9837088156597],[-126.93720119287997,55.000035093924524],[-127.24011364665019,55.000219146844074],[-127.24151999838654,55.00687638055475],[-127.27162627979924,55.00794780471315],[-127.27252137314072,55.000278379137654],[-127.30272567883476,55.00032701537637],[-127.3421411380029,55.00002635140056]],[[-127.0002756255788,54.744259889916044],[-127.02877424997897,54.743359664104354],[-127.02847674031472,54.751274049063944],[-127.0024880642239,54.74996234058875],[-127.0002756255788,54.744259889916044]],[[-127.0571379047066,54.71006965718955],[-127.03319896240716,54.69865771178079],[-127.04681465705944,54.691190244527604],[-127.04723934038502,54.66085913848426],[-127.07195243264827,54.66169380116279],[-127.06992818810782,54.69041770240386],[-127.05328745177698,54.69564868145307],[-127.0571379047066,54.71006965718955]],[[-127.17387169221331,54.834176465196734],[-127.1707006367093,54.808210616417256],[-127.16005816477683,54.78811707540446],[-127.13445094360715,54.78212278480407],[-127.13271468069813,54.75506978847742],[-127.1573257755002,54.752981250457175],[-127.15699236642075,54.76307391962089],[-127.1759032110339,54.76747786196218],[-127.19044290735908,54.81117116240044],[-127.19038172916035,54.83610121787444],[-127.17387169221331,54.834176465196734]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-127.2654894763524,\"lat\":54.73690657100294},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951051\"],\"csd_name_en\":[\"Bulkley-Nechako A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Bulkley-Nechako A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.70123731436824,56.14172829701746],[-120.71291560564256,56.13367019727719],[-120.75040822074831,56.13140989599175],[-120.79709750165777,56.13737239634746],[-120.81775689227143,56.14809127478315],[-120.81218621844044,56.084553234397134],[-120.82194035505435,56.07660750636462],[-120.81531215657682,55.987157958179985],[-120.66244047474486,55.98608707646329],[-120.66163506832974,55.810877483162734],[-120.6356147479187,55.81110324533514],[-120.63451463154044,55.63534229324513],[-120.64575322325231,55.63522715044552],[-120.64281160265676,55.564404159856196],[-120.66688861452437,55.56331749511446],[-120.69601636581523,55.5439959659775],[-120.71879309837196,55.53543435752121],[-120.73766401528701,55.520659199553954],[-120.7891635023774,55.50464551627766],[-120.81888996531687,55.46259630176032],[-120.82749745288443,55.45558274336761],[-120.81905381500664,55.44090833617795],[-120.82025881872184,55.425342753475945],[-120.81227030235415,55.41429676661229],[-120.82289802240217,55.397003846133565],[-120.80284425106028,55.37739064350408],[-120.83775563558626,55.368153068428214],[-120.85795441366791,55.35430521783818],[-120.90482050558192,55.33521120253524],[-120.91055941613574,55.31544963826734],[-120.8977073733464,55.301317753867174],[-120.8916315229496,55.28279979339139],[-120.8604235878097,55.2713018657956],[-120.8435593764023,55.261005437532376],[-120.84860500451431,55.24766823111588],[-120.84488521883101,55.22839305470928],[-120.85256444527498,55.20185815649697],[-120.81168556571622,55.20280330020438],[-120.81907512511202,55.180251551898024],[-120.8474609815467,55.0318120170972],[-120.8781417113528,54.85926725918779],[-121.0794028851674,54.80194256002878],[-121.23093413860923,54.896586704477336],[-121.25088298773898,54.88984400006415],[-121.24588190692839,54.87082090268747],[-121.25249951094592,54.85408919667276],[-121.24028122739182,54.852925701613266],[-121.2312781745863,54.83539219434659],[-121.21934760875043,54.831309005724435],[-121.21417269546339,54.80354829808495],[-121.18835281350934,54.78130069996156],[-121.20851622167984,54.76518580147828],[-121.18633480897051,54.75044678428303],[-121.16721778064837,54.715200292053744],[-121.12739661526693,54.69028669336887],[-121.09683192052019,54.67811959988626],[-121.09119829088716,54.659179088627965],[-121.06340301338675,54.65248240063766],[-121.04869948732639,54.63430811167842],[-121.01746838573506,54.60871219165032],[-121.02941612273167,54.598691503668334],[-121.03797094685096,54.56443647362672],[-121.0602656161615,54.524237104820635],[-121.05196831274345,54.50114748631786],[-121.05737349428668,54.48914416774292],[-121.11945721543646,54.47496100199051],[-121.0741632486178,54.45119249742323],[-121.06301548982961,54.46730352843188],[-121.03779706020516,54.45385367202756],[-121.00468414786356,54.46369689376641],[-120.95407489758423,54.46285622592823],[-120.93417836601908,54.45197083625612],[-120.88641184790083,54.46013715410348],[-120.87684579298963,54.46516756688129],[-120.87517834579693,54.48894328095812],[-120.82507867380457,54.49371230846317],[-120.78989519697313,54.46874414915716],[-120.80004331707023,54.462066219714735],[-120.80207054665858,54.42798952011748],[-120.7759607921544,54.39713739916346],[-120.76073440660615,54.396393018065716],[-120.73219988544552,54.40861133167901],[-120.68897163703238,54.39181388435751],[-120.6680399519537,54.37432996991227],[-120.65962667730243,54.35502369422085],[-120.69901686901086,54.34636574474165],[-120.68312336644736,54.32295642560172],[-120.71338279311838,54.30516431815179],[-120.70687088662439,54.296043576311774],[-120.67664059821597,54.28229651024055],[-120.65286539173356,54.28873601687126],[-120.6311577108204,54.28115448020327],[-120.62406303498746,54.29217588045531],[-120.60631240465877,54.289686629328],[-120.58090793683915,54.256388427305865],[-120.57551026407862,54.23942843481242],[-120.58405894142003,54.22783639912693],[-120.5662528206723,54.218821283799144],[-120.56776971149375,54.190984460518244],[-120.58146975282438,54.17383642705222],[-120.55686660648817,54.16095433853941],[-120.53180825719683,54.136016892849014],[-120.50626694589498,54.1293712064619],[-120.47922711460116,54.13508028197595],[-120.46056123282402,54.13064383720717],[-120.44024543775105,54.1184191978145],[-120.3932197831698,54.121754974538526],[-120.3289981199751,54.10436139573187],[-120.28840340529318,54.1141655722026],[-120.23141488360345,54.1113385020886],[-120.19850604217717,54.114211595717805],[-120.16729661590642,54.12152147795512],[-120.15520418179679,54.107653062177526],[-120.15553786128167,54.086292834844954],[-120.14213498098687,54.074219084126156],[-120.14357943179088,54.064601060483334],[-120.17826547332308,54.04211993644232],[-120.193633802463,54.04432740978759],[-120.19654626641233,54.02980975934424],[-120.22962825077327,54.04154911476793],[-120.24958644111717,54.021084832793726],[-120.26290373239243,53.99962947065557],[-120.26000412146344,53.97662783203441],[-120.2095826300535,53.97282096202608],[-120.20788086229615,53.95504084065967],[-120.19181837243788,53.94000282229551],[-120.15551482060394,53.9381634709043],[-120.12290772206748,53.972032021956714],[-120.09681674025302,53.98457154295584],[-120.07449499417815,53.9777957288882],[-120.0639123921856,53.96431109745162],[-120.0693234154657,53.9531892423438],[-120.05838286107166,53.9406218247104],[-120.05545343245065,53.92084675678502],[-120.06758092622987,53.90882074351385],[-120.05282219380109,53.883247050947624],[-120.01742562559552,53.86419604213508],[-120.01598342628901,53.851744131298425],[-120.04296272383124,53.845896270187666],[-120.04979003740533,53.82900733332956],[-120.03708743688581,53.80465020285502],[-120.00850380272584,53.7953512048137],[-119.99999997842916,53.80621976296581],[-120.00000000311599,53.93741038431441],[-119.99999998284919,54.26886872872125],[-119.99994100103746,54.490896764083445],[-119.9999999855039,54.73697509206525],[-119.99998721528264,54.91617860671014],[-120.00031396288122,55.119198403838475],[-119.99981639426755,55.33295166424842],[-120.00152850397734,55.49028102096945],[-119.99999522923144,55.54858333378122],[-119.99994596937307,55.77838166243072],[-120.00028075378708,55.99993791752468],[-120.00131701295346,56.07248380610729],[-119.99999999001159,56.14553507320785],[-120.03667658526274,56.127116610732244],[-120.0574559616668,56.12572296086213],[-120.0735085591888,56.11430406751202],[-120.10490855569255,56.10118154065452],[-120.14324918673788,56.09793566124491],[-120.1707667872076,56.090862693574664],[-120.20792170834883,56.09334509356621],[-120.23238720719566,56.10477718636806],[-120.33872660946584,56.100570095369726],[-120.3769997710696,56.09718329524315],[-120.44053601277965,56.1023517906932],[-120.46361747679411,56.11221019932105],[-120.49140257758995,56.118593495764365],[-120.53332630724046,56.115143998686044],[-120.59948719853168,56.13004410595303],[-120.64028738284307,56.12836069013794],[-120.66053361561515,56.13633199637533],[-120.70123731436824,56.14172829701746]],[[-120.11171092880812,55.72289835991189],[-120.1370528321551,55.711192694056315],[-120.14665440259118,55.72315239312992],[-120.11171092880812,55.72289835991189]],[[-120.25054518077094,55.781293862433756],[-120.22456971584492,55.7812723565901],[-120.21182697564899,55.77388368284951],[-120.20077592950287,55.75218969318232],[-120.17201146999744,55.75225503592904],[-120.17265718004126,55.73032015258909],[-120.25045434705801,55.73032241107612],[-120.25049710403958,55.74498225300086],[-120.2646975222139,55.74504252438569],[-120.26486105482407,55.75961729445011],[-120.27635956137269,55.7667166047014],[-120.27318509488052,55.781275293170715],[-120.25054518077094,55.781293862433756]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-120.41975993362749,\"lat\":55.0605346526347},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5955\"],\"cd_name_en\":[\"Peace River\"],\"csd_code\":[\"5955021\"],\"csd_name_en\":[\"Peace River D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Peace River\",\"csd_name_fr\":\"Peace River D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-136.6983956969738,63.3971819183274],[-136.75078983042079,63.394488513720134],[-136.72904852672028,63.340223230295194],[-136.6296026699185,63.34548135481041],[-136.65086723845928,63.3996080309455],[-136.6983956969738,63.3971819183274]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-136.69010984421178,\"lat\":63.369969937653025},\"year\":\"2021\",\"prov_code\":[\"60\"],\"prov_name_en\":[\"Yukon\"],\"cd_code\":[\"6001\"],\"cd_name_en\":[\"Yukon\"],\"csd_code\":[\"6001050\"],\"csd_name_en\":[\"Stewart Crossing\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Settlement \\/ \\u00c9tablissement\",\"prov_name_fr\":\"Yukon\",\"cd_name_fr\":\"Yukon\",\"csd_name_fr\":\"Stewart Crossing\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-88.98508998738126,67.00000008054289],[-88.98980829114113,67.08875095944862],[-88.99443005908329,67.28934607950067],[-88.99783000031317,67.43482200357202],[-89.00222797409559,67.62043092430933],[-89.0079735007508,67.88239102372475],[-89.0108169028581,68.0099147984134],[-89.01644113642081,68.2581371938732],[-89.01767196737556,68.442820781937],[-89.01901238490763,68.64061849444049],[-89.01992964941776,68.77401754918334],[-89.01551903701407,69.04559226129281],[-89.01224225033239,69.24316205628357],[-88.99717459301434,69.95867824689255],[-89.15828965577454,70.06676970252208],[-89.57275501841205,70.33923521137515],[-90.56311266794052,70.96338519310868],[-90.62490299857006,71.00000001243771],[-91.5524021427287,71.53184615996322],[-91.99999996811943,71.77623505449546],[-92.42152346346167,72.00000006298268],[-93.18901383168735,72.13983227226073],[-93.88267045001133,72.25934433871669],[-94.41886660396572,72.3491347420583],[-95.07684435960924,72.45855559029305],[-96.05438738222344,72.61504975451398],[-96.87998518357196,72.7426323377098],[-97.3282567195523,72.8098474081746],[-98.07520723835059,72.91882520861647],[-98.74591889128857,73.01340266232583],[-99.51726742394632,73.11556135068635],[-100.13418654036256,73.19604040235245],[-100.68589481768548,73.26594794902024],[-100.85919627630331,73.2870250548178],[-102.0323968106992,73.4248797675366],[-102.43031077407475,73.45251041933395],[-103.79986329559085,73.56891595046149],[-104.95776819669481,73.6572191702168],[-105.43654757826032,73.6920052337699],[-106.30879298525926,73.75276186127593],[-107.78951673519748,73.83574558286521],[-109.13422716151307,73.90225632773353],[-109.83106894089265,73.93239832191084],[-109.8346729220719,73.54880786333143],[-109.8380113771128,73.27921229682441],[-109.84014418881797,73.00000007193296],[-109.84129565916787,72.84541905981224],[-109.84303592939686,72.60659044859908],[-109.84702353087768,72.32396677761619],[-109.84679859654186,72.07838314770271],[-109.84871462407995,71.78687156286568],[-109.8506614814123,71.58487145750101],[-109.85191760520351,71.45228926006996],[-109.85303494489064,71.17469992461514],[-109.8556097945546,70.91750258472658],[-109.85669700502834,70.75764234264142],[-109.85836539057418,70.47230847465346],[-109.8593532543519,70.3060712083112],[-109.86179891313603,69.99805420946694],[-111.99885949414002,70.00110970456477],[-112.51081721866437,70.00168575960838],[-112.51808770170558,69.84760223017443],[-112.8183473095342,69.84728348148788],[-112.82512696621268,70.0025451601952],[-112.93526151050466,70.00204399823687],[-113.84408787068347,70.00013679102027],[-113.86276233252782,69.99969395862936],[-114.50012441595842,69.999957652362],[-116.3540968545625,69.9992841246014],[-117.02283567333326,70.00025183024962],[-117.01353677805254,69.95657830181533],[-116.92415732199366,69.87989304603597],[-116.75519510184505,69.7864446395277],[-116.46558727436967,69.7027994378488],[-120.72492512289159,69.57501335764316],[-120.72344467486477,69.56370111443903],[-120.60553780673364,68.6233619476947],[-120.59376586905898,68.34860596090888],[-120.59071944123028,68.24910458111539],[-120.59360004254299,68.19225479908289],[-120.6307822227021,67.77995976362705],[-120.01416164232968,67.60819981050685],[-119.67985515927995,67.51225344733926],[-119.33340716326285,67.41129089022304],[-118.96651847801466,67.30673923887686],[-118.59419058672931,67.1988642778225],[-118.2855477347007,67.14589504077676],[-117.77821879996002,67.05705125654168],[-117.06545063025507,66.9291793158812],[-117.03841920075646,66.92015948139083],[-116.63108512106432,66.79742651139736],[-115.01271477234837,66.28696867726993],[-114.3137598871441,66.05472263374087],[-112.58339481084316,65.44706504856724],[-111.60046365185627,65.44905859578382],[-110.53841741474038,65.4458207497998],[-109.67875925956102,65.0976750596164],[-109.44276101144814,64.99961684500649],[-109.02488424436373,64.83144885778036],[-108.92741925351727,64.7766295623091],[-108.8378944472495,64.73212966910698],[-108.40980884191056,64.70829241466265],[-108.06436333162405,64.68826247327873],[-107.33393067472672,64.64316002149965],[-106.58312064803508,64.59288094091148],[-106.21283024918094,64.56714467139953],[-105.63199895824374,64.52480446780298],[-105.01776293550327,64.47739258000357],[-105.01381555090092,64.67167687306001],[-105.00829788452201,64.93866105015573],[-105.0060487701115,65.10398023807244],[-105.00303814512351,65.32210785284084],[-105.00060380032929,65.4958890552808],[-104.99807797561148,65.67379729294305],[-104.99572548954376,65.83733964885346],[-104.99203223003575,66.00722333599253],[-104.99114988258164,66.14596580916961],[-104.99011398723643,66.34253718932924],[-104.98938957602148,66.58158760999719],[-104.98880488110561,66.78320061440412],[-104.9885028913022,66.90922344444304],[-104.99188503795158,67.00000010728844],[-104.65000002123864,66.99999998953163],[-104.27499999031421,66.99999998958266],[-104.00000001985471,66.99999998994797],[-103.56250001225509,66.99999999656583],[-103.20000001088393,66.99999999302241],[-102.62500002865549,66.99999998729697],[-102.18750001163184,66.99999998896376],[-101.95000002019017,66.99999998701458],[-101.58750001667195,66.99999998664335],[-101.24999999868021,67.00000000777304],[-100.77500002233393,66.99999998948421],[-100.40000002950516,66.9999999863631],[-99.97500000609028,66.9999999896078],[-99.66249996942419,66.99999999501864],[-99.16250002881468,66.99999998899763],[-98.80000001034838,66.99999999022145],[-98.56250001004157,66.99999998791205],[-98.03749999563536,67.00000000631626],[-97.70000001302294,66.99999999024362],[-97.17500002895078,66.99999999394994],[-96.6250000265991,66.99999998748204],[-96.36250002369839,66.99999998819719],[-95.93750001128711,66.9999999885054],[-95.612500008759,66.99999998597151],[-95.10000002801398,66.99999998622273],[-94.8000000154604,66.99999998635188],[-94.30000000819449,66.99999999319004],[-93.71250003189357,66.99999999966442],[-93.29999999795771,66.99999999360466],[-92.7249999777,66.99999998888443],[-92.30000000273827,66.9999999915317],[-91.86249999716276,66.99999998665957],[-91.36249997905453,66.99999998804488],[-90.78749999551808,66.99999998859003],[-90.43749997964795,66.99999999830298],[-89.88749998577623,66.999999989905],[-89.57499997299877,66.99999998967358],[-88.98508998738126,67.00000008054289]],[[-89.82812290244956,68.52068930116936],[-89.8590955639297,68.52005028270716],[-89.86033275599212,68.5437400114413],[-89.78760895576416,68.5447718268352],[-89.7840154957001,68.52208189951314],[-89.82812290244956,68.52068930116936]],[[-108.05351669575494,66.85535691964432],[-108.06056274978157,66.82493289840744],[-108.13913530825107,66.8222260248169],[-108.13598071939703,66.89436662649433],[-108.04234698718386,66.90343309568969],[-108.05351669575494,66.85535691964432]],[[-95.81969763410356,68.61059452539155],[-95.82808617878655,68.59905933049387],[-95.9975302891389,68.61662035058359],[-95.94922401922084,68.67688739017393],[-95.7838762661671,68.65971729629003],[-95.81969763410356,68.61059452539155]],[[-93.48245595542673,69.50562583535142],[-93.53543762048308,69.50288735493673],[-93.62445082079331,69.53863449852594],[-93.51425029426224,69.59771774905528],[-93.38049697892156,69.57261876758896],[-93.48245595542673,69.50562583535142]],[[-108.00190551235018,67.680516667844],[-108.12352909830499,67.71935976940092],[-108.12499161028494,67.75751623228881],[-107.73620415156952,67.75459581909975],[-107.73599473271739,67.59484665207692],[-108.00190551235018,67.680516667844]],[[-104.94814793071866,69.04801843463497],[-104.94782628527855,69.04599629098736],[-105.4269516764077,69.05747483796446],[-105.41106578679687,69.13564912155857],[-105.39624532823784,69.22285228012771],[-104.93106909683988,69.20996557979265],[-104.94814793071866,69.04801843463497]],[[-114.95281166615038,67.6908860035207],[-115.30722048867958,67.68116139375415],[-115.7077919705645,67.85342391459753],[-115.8527934973173,67.91577810716433],[-115.55054581941529,67.953553088325],[-115.3732524837615,67.94028348888745],[-115.01054187929887,67.91060575099003],[-114.80495484160915,67.80902949817839],[-114.95281166615038,67.6908860035207]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.92549140322224,\"lat\":69.29310967882557},\"year\":\"2021\",\"prov_code\":[\"62\"],\"prov_name_en\":[\"Nunavut\"],\"cd_code\":[\"6208\"],\"cd_name_en\":[\"Kitikmeot\"],\"csd_code\":[\"6208098\"],\"csd_name_en\":[\"Kitikmeot\",\"Unorganized\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Nunavut\",\"cd_name_fr\":\"Kitikmeot\",\"csd_name_fr\":\"Kitikmeot, Unorganized\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.34048403604838,46.78343195402444],[-53.41638508242168,46.7835292081521],[-53.415560641856686,46.70625473178629],[-53.40249450432182,46.712495310550274],[-53.3871873135314,46.73067790226493],[-53.38339849075791,46.74548200486711],[-53.366813306386106,46.74835050228523],[-53.36965099245202,46.72676280178962],[-53.382645799064605,46.72521678680562],[-53.39269969620581,46.70580300337877],[-53.38422352392887,46.69913029652019],[-53.37413411916317,46.72536529970582],[-53.34532588689896,46.7197970946016],[-53.347186108689414,46.70790391155771],[-53.33290860941942,46.69551699848934],[-53.31567058309504,46.7086971926184],[-53.316010211364855,46.78339103684741],[-53.34048403604838,46.78343195402444]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.36383220048992,\"lat\":46.74782295531113},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001113\"],\"csd_name_en\":[\"Trepassey\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Trepassey\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-52.90058487446236,47.006667673468456],[-52.890035582372434,47.01536189908461],[-52.87975059686899,47.034949803112845],[-52.89437643987997,47.04854928233222],[-52.94904646026754,47.03919405307647],[-52.92512563778494,47.02214738135485],[-52.90058487446236,47.006667673468456]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-52.90869478162999,\"lat\":47.030542202395296},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001149\"],\"csd_name_en\":[\"Ferryland\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Ferryland\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-52.76975538102249,47.81977768223084],[-52.82579456563758,47.87755161298776],[-52.83198426177622,47.90520222357322],[-52.83673590511576,47.989083500316156],[-52.775051355011186,48.107338840976205],[-52.781381251708616,48.18675028557804],[-52.92576311194339,48.2406923083619],[-52.94245053167154,48.25005813963602],[-52.95829438114882,48.25004561060737],[-53.10081461441378,48.16202758803066],[-53.079669551687175,48.03892901013121],[-53.04390236214963,48.02849178279948],[-53.03561891674644,48.01866998361399],[-53.05674306462553,47.997594981602944],[-53.093339787609125,47.987594805212396],[-53.11908234575298,47.972324971629725],[-53.13938812521146,47.982749984822256],[-53.175414432597115,47.98108921225622],[-53.20331313709058,47.958846645461094],[-53.215896754981955,47.93786564563742],[-53.220442184316376,47.91284816083265],[-53.23955374718241,47.90435259307245],[-53.21687482063531,47.897513160587856],[-53.234301865580214,47.88119289460004],[-53.247989284583205,47.87511944795507],[-53.24405083576566,47.86313572505653],[-53.271848661892776,47.82420258020208],[-53.2684376489042,47.814041771416704],[-53.24372569835569,47.80150681277068],[-53.209859887796995,47.79867659087622],[-53.193388903120564,47.80164570878352],[-53.17981047327607,47.81101557293952],[-53.15568760962937,47.8109724939079],[-53.144263113604566,47.81655300731136],[-53.089717865486,47.81548103751181],[-52.99455037994231,47.795284842571135],[-52.83827737166214,47.76957893614112],[-52.835190125891,47.7831632193429],[-52.81731721794674,47.81550296326096],[-52.76975538102249,47.81977768223084]],[[-52.86122991195005,48.11401390791031],[-52.849404087390255,48.0997635958187],[-52.86015877816149,48.09290480174497],[-52.92686869533559,48.09000448280963],[-52.92272347301672,48.11040521772129],[-52.86122991195005,48.11401390791031]],[[-52.971522430378464,48.116900829498235],[-52.971854375796596,48.09046576365809],[-52.99589586770329,48.05917476980956],[-53.02088732588618,48.06051059543469],[-53.02153579743178,48.08103360126784],[-53.011345913413244,48.089697089711215],[-53.02775918742468,48.1017129442477],[-53.00156614036761,48.11570485598784],[-52.971522430378464,48.116900829498235]],[[-53.10304224505617,47.82542920316594],[-53.15793980760629,47.835289513565215],[-53.16900358048822,47.8293055501239],[-53.198069281782,47.83498289918005],[-53.13521510748228,47.86736320100512],[-53.118375124710525,47.87035425114606],[-53.00986952993826,47.85882841332611],[-53.030806868969286,47.81439649885843],[-53.10304224505617,47.82542920316594]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-52.97589538936007,\"lat\":47.99250630202179},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001339\"],\"csd_name_en\":[\"Division No.  1\",\"Subd. G\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Division No.  1, Subd. G\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-52.65936980543797,47.610460399642086],[-52.651892605887575,47.62017111380215],[-52.666919203667796,47.626828998825424],[-52.660156579599175,47.647657004059226],[-52.670067585330585,47.66289969319585],[-52.69390410260042,47.650736684582625],[-52.703528282539494,47.66114520195851],[-52.72492841508241,47.64404160445939],[-52.711530429976094,47.62879361683858],[-52.688571388955054,47.61313899078883],[-52.66524811592112,47.61881254823494],[-52.65936980543797,47.610460399642086]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-52.687393574012255,\"lat\":47.63733349345233},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001511\"],\"csd_name_en\":[\"Logy Bay-Middle Cove-Outer Cove\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Logy Bay-Middle Cove-Outer Cove\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.18113433316906,46.80059450720845],[-54.98176062510126,46.80134866792148],[-54.83356437247489,46.80039039092996],[-54.68206723309588,46.79852352009252],[-54.53760582283896,46.84099167812274],[-54.49897366244966,46.846499738390165],[-54.488411011996746,46.853607659322236],[-54.35914256900158,47.01335770061874],[-54.50000001185638,47.02375557077496],[-55.000000016688745,47.058920117912066],[-55.10118227218526,47.0656342256647],[-55.1089665121437,47.05517330473034],[-55.124786094953436,47.0512932070904],[-55.1626838022317,47.04923491342727],[-55.1669406946481,47.039412185805105],[-55.16515398425948,47.01917909571449],[-55.18694659195857,47.03254319216146],[-55.17523280792941,47.04669468821785],[-55.18740228679531,47.06062589568716],[-55.17956241344321,47.07051820412919],[-55.1998332073995,47.08118889317554],[-55.20718968612684,47.09416891063953],[-55.21367930789875,47.08684318885107],[-55.20294448353049,47.06813481691954],[-55.22906942910276,47.07219123119128],[-55.2323571728878,47.11241582133676],[-55.22366807609029,47.11267556346011],[-55.220123397266285,47.12275823409755],[-55.227649151309635,47.148464503891255],[-55.2392225428479,47.1523588772525],[-55.270329896239424,47.135180086109116],[-55.2879775821938,47.129350054878095],[-55.34044517035336,47.11995124143022],[-55.32274200490157,47.10984919081247],[-55.284378503488,47.10040180825281],[-55.29322859671248,47.09305148528709],[-55.28693141456077,47.07992099238813],[-55.288824291157354,47.05974499620332],[-55.30194369155911,47.051939089909624],[-55.29836710808725,47.03462909511468],[-55.3027096806867,47.00474900392036],[-55.312574304536376,46.984763488256704],[-55.31529817339528,46.953218769673356],[-55.284239594864296,46.93986818542361],[-55.28580129033559,46.933943802896025],[-55.209030370368914,46.88648594038192],[-55.193515121743296,46.86742078774965],[-55.18113433316906,46.80059450720845]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.87976889660705,\"lat\":46.93876734066143},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1002\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"1002001\"],\"csd_name_en\":[\"Division No.  2\",\"Subd. E\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Division No.  2, Subd. E\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.40502402505726,47.02648229582216],[-55.42585794227563,47.03014009936366],[-55.444608591673756,47.07006900179362],[-55.48922948206061,47.06182071101074],[-55.510517496897,47.07019226325843],[-55.52935761683962,47.05464624859587],[-55.55994129217149,47.05420784126575],[-55.57353826594502,47.04906684541991],[-55.59036365442137,47.01906063732459],[-55.61148238048934,47.03502899164455],[-55.644027711324185,47.0148715285165],[-55.651854265536066,47.00389007215067],[-55.67116844589406,47.01617428549493],[-55.717901219765,47.028590882489716],[-55.73739384694671,47.00033162565409],[-55.75151368321013,46.98677023115031],[-55.77157768815308,46.99354874626701],[-55.827888228744435,47.01791858339138],[-55.841169374204,47.010150829371746],[-55.86031233862822,46.981275791759025],[-55.89062758243473,46.9817111555417],[-55.91262348181504,46.97152263352708],[-55.930787078677255,46.948714051321325],[-55.8660252003261,46.89161909366743],[-55.71218186836497,46.96828517016944],[-55.66714060587059,46.92074400147014],[-55.60451291365486,46.919993342177975],[-55.60070177957959,46.90389108224807],[-55.62042550952247,46.897119236449285],[-55.64095892445612,46.880585148947354],[-55.66595271736223,46.87960513587619],[-55.70078568389765,46.86138618273624],[-55.7007949522992,46.92025008933218],[-55.73374748892106,46.87682515275625],[-55.73415070887099,46.85961279426116],[-55.75321001097024,46.859586198228975],[-55.77165689435089,46.870384886564636],[-55.79224620079658,46.862272693084805],[-55.83285720254213,46.86376049760511],[-55.84706691124517,46.87448789793782],[-55.88357159446137,46.882677878272595],[-55.89011198005827,46.88837950398293],[-55.936083695263825,46.89505429315589],[-55.95209670051888,46.90733018717151],[-55.96857380726545,46.908893089273185],[-55.97158117809288,46.925714898956336],[-55.98880990442644,46.954149406472276],[-55.98216559999651,46.97111780363137],[-55.971512088017825,46.97812659173112],[-55.97779069911641,46.987906413366765],[-55.945348864976616,47.01364558688298],[-55.99999542195556,47.01393751991105],[-56.00000000519523,46.842185022744296],[-55.95720901226747,46.79478130438871],[-55.528020758568985,46.79967369616634],[-55.527172310253675,46.841063846374084],[-55.51318641151923,46.881019974363475],[-55.473893941047486,46.932795554071646],[-55.44511348633719,46.948956294947926],[-55.44367995988532,46.99031925467548],[-55.43493200041451,46.99138970135564],[-55.410010291298164,47.008930605597826],[-55.40502402505726,47.02648229582216]],[[-55.55244630263616,46.94148879134305],[-55.548983654109,46.954955592867826],[-55.53432059619804,46.950573059508734],[-55.53991851441357,46.941837995891255],[-55.55244630263616,46.94148879134305]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.70041005553124,\"lat\":46.916616775115834},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1002\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"1002009\"],\"csd_name_en\":[\"Division No.  2\",\"Subd. G\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Division No.  2, Subd. G\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.35516308742959,47.16798377849838],[-55.386289289565255,47.21867128993318],[-55.41085851006772,47.22191059689004],[-55.42028950185966,47.20523330729463],[-55.43616650045017,47.19179839454631],[-55.46306200056471,47.1884711027516],[-55.485256388782226,47.14977479644964],[-55.49528889098044,47.14008445728652],[-55.4804628645137,47.1328625329365],[-55.386410815470626,47.113050761637474],[-55.35516308742959,47.16798377849838]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.41737401988159,\"lat\":47.16296136021473},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1002\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"1002017\"],\"csd_name_en\":[\"Frenchman's Cove\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Frenchman's Cove\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.88334558222912,47.560346186397915],[-54.859258796430694,47.54778270705095],[-54.84650409028508,47.55933550270862],[-54.8708426086194,47.56522187676108],[-54.88334558222912,47.560346186397915]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.86421309176567,\"lat\":47.55759331533713},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1002\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"1002055\"],\"csd_name_en\":[\"Little Bay East\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Little Bay East\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.826057283155045,47.867234896914276],[-55.814450985061725,47.87403669075499],[-55.81841331873499,47.888572301621004],[-55.81496917558069,47.90512012528566],[-55.86376371717442,47.905080278967155],[-55.86764650034442,47.88632200598235],[-55.88221920889349,47.86955918225618],[-55.87077273594194,47.84702640312053],[-55.829503208915504,47.852948017931034],[-55.826057283155045,47.867234896914276]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.84697760603354,\"lat\":47.877484760871205},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1003\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"1003019\"],\"csd_name_en\":[\"St. Alban's\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"St. Alban's\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-58.82905145221653,47.62910789213158],[-58.818603379443225,47.65493199996145],[-58.79413759784249,47.66577121318068],[-58.79495243725518,47.68196165329513],[-58.81395975447739,47.695735900380484],[-58.83639230538266,47.7042897213184],[-58.834650346563755,47.715568754346336],[-58.850451021096816,47.744533270951564],[-58.85760856975605,47.7657083685669],[-58.83745970279496,47.7865646525747],[-58.81039460987871,47.79125539572852],[-58.78878518605909,47.7864713685376],[-58.77903849334734,47.79855852914463],[-58.753624963817096,47.811971467461326],[-58.73910022770012,47.81226593227503],[-58.735383999773966,47.822671179920754],[-58.74772536905944,47.8431239430465],[-58.738841960562134,47.867418337068486],[-58.719505100543465,47.87770360128105],[-58.74260437018529,47.88632127365524],[-58.7813818069047,47.87364948733614],[-58.802699242248174,47.860133300064845],[-58.793336196067564,47.83817774893097],[-58.800669847141364,47.82936349441055],[-58.872370861901075,47.83896597123615],[-58.897713854360916,47.83917009206054],[-58.89886934499807,47.846775291891056],[-58.92384159994906,47.844298094349405],[-58.9283849890523,47.83618951764561],[-58.99126462015309,47.82751024950764],[-58.989378420182355,47.81479138262134],[-59.004900069421396,47.80111621611189],[-58.996226868604595,47.78831245371499],[-59.017921832091986,47.78112948766265],[-59.04201147144678,47.75545284442075],[-59.07738808334413,47.75290780037949],[-59.10034149255545,47.76457556580352],[-59.1169264087896,47.76048113596948],[-59.13060496520029,47.766020219958094],[-59.158136154877724,47.754652608805785],[-59.17751906245862,47.75328150720548],[-59.17817642368553,47.73157232515354],[-59.199219518951196,47.72439200526643],[-59.249005422172424,47.69599933056475],[-59.280681832417976,47.700415932225454],[-59.30420496421036,47.661399747346195],[-59.32198489712425,47.659598628840925],[-59.34270181540723,47.651416595099136],[-59.336203461749236,47.6190653775384],[-59.30815416577012,47.589672030107735],[-59.20265002592134,47.50074960428202],[-59.12817975477309,47.507970486482655],[-59.08207427835994,47.509653719687066],[-59.00068672307592,47.508676287272344],[-58.96185444643956,47.52062776769902],[-58.843655214886866,47.55959472076065],[-58.8460532015917,47.60982770724313],[-58.8788742991558,47.59523260646616],[-58.901101101613264,47.59887790392204],[-58.9013832072976,47.61510577690661],[-58.86077297277254,47.628665198610186],[-58.82905145221653,47.62910789213158]],[[-58.99337062414878,47.59743909616785],[-58.99449422169148,47.60595879530162],[-58.94970863840472,47.606693590894416],[-58.936588897416684,47.5995602844427],[-58.96119898908276,47.583579300912305],[-58.97839699347937,47.582681095770624],[-58.99337062414878,47.59743909616785]],[[-59.08662132107921,47.62746967341533],[-59.06705746110307,47.59618122275119],[-59.09279749014072,47.57647232649576],[-59.13942387422831,47.56099614398553],[-59.1774733897912,47.55856370320162],[-59.20784722785728,47.606949535475145],[-59.08877633289869,47.63067644283844],[-59.08662132107921,47.62746967341533]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-59.030317126381576,\"lat\":47.6663833086771},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1003\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"1003031\"],\"csd_name_en\":[\"Division No.  3\",\"Subd. H\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Division No.  3, Subd. H\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-58.86542278109996,48.493747254325285],[-58.85594878095849,48.5217636701042],[-58.8443882131559,48.52659850339315],[-58.830163187237304,48.5469694011209],[-58.82240685120297,48.57553765976317],[-58.8002420401154,48.60581968471069],[-58.783780779728566,48.618809212784406],[-58.762252864669215,48.6476358190152],[-58.74804741552513,48.689103660326694],[-58.72690346237796,48.77192576114615],[-58.69397286266422,48.89101372178762],[-58.756242433269634,48.862313385144475],[-58.83506262728689,48.80644043296245],[-58.86694335280892,48.78139428460195],[-58.90036157900363,48.74977891032671],[-58.999394589637944,48.709354261236264],[-59.1111895149672,48.68706536880506],[-59.167241215967195,48.66310111968756],[-59.20130206955855,48.62971455182886],[-59.23857083932139,48.58350475456944],[-59.252316406295336,48.557385159172966],[-59.259602964685456,48.51429861518557],[-59.26712547737675,48.49856465820866],[-59.29415137033674,48.47370993971643],[-59.296280417316694,48.460551722839284],[-59.28841446546876,48.450666391246905],[-59.268844577828716,48.44799331815048],[-59.22090600330013,48.451169108508665],[-59.07142641593367,48.48679949662915],[-59.037727174762416,48.49090920106735],[-58.9955783856176,48.490040490659325],[-58.94523744382782,48.48774204710376],[-58.91409598492867,48.48869172116739],[-58.86542278109996,48.493747254325285]],[[-59.007785340358474,48.65115508051535],[-58.96811241817528,48.66988591171392],[-58.971296323959635,48.65292610109243],[-58.98258260430805,48.641155200933255],[-59.00973190302427,48.641665774822],[-59.007785340358474,48.65115508051535]],[[-59.242732278400645,48.49434090313906],[-59.23551275669274,48.498595957764145],[-59.10630932107728,48.526479192057224],[-59.09439539375926,48.51133520335909],[-59.13980668281402,48.49566739897285],[-59.19406099854895,48.4802648059974],[-59.21717229339172,48.471177186092],[-59.250597820622694,48.4636097003338],[-59.2672926072933,48.467736794304365],[-59.25529938667341,48.485590997958525],[-59.242732278400645,48.49434090313906]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-58.96993126382006,\"lat\":48.62866384964464},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1004\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"1004022\"],\"csd_name_en\":[\"Division No.  4\",\"Subd. E\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Division No.  4, Subd. E\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.500000221117226,48.97619358665718],[-54.55191102691212,48.99358960845308],[-54.59970380798493,49.006602311233905],[-54.62311244802861,49.0072663980279],[-54.70428720954498,48.972110605825485],[-54.719007115086754,48.96701932629402],[-54.717717007907325,48.944634626730014],[-54.6838401846249,48.94673480332154],[-54.661557994780544,48.9538543910542],[-54.633127718452606,48.9509029995876],[-54.60553491392778,48.93713569630158],[-54.572691717881675,48.907004603784294],[-54.53204874134215,48.88506584405799],[-54.499722533021284,48.95644072912339],[-54.500000221117226,48.97619358665718]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.589982940270815,\"lat\":48.95791219930933},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1006\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"1006009\"],\"csd_name_en\":[\"Gander\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Gander\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.84389458995365,49.00007580746364],[-54.86411663132144,49.002359419284026],[-54.8690015968467,48.96961959949179],[-54.85266363819837,48.95727456736824],[-54.84389458995365,49.00007580746364]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.856922293008715,\"lat\":48.98248920273099},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1006\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"1006011\"],\"csd_name_en\":[\"Appleton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Appleton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-58.12483287522857,49.4923775098411],[-58.12275737227654,49.48572070362557],[-58.1462764479894,49.47629719987845],[-58.14330555188735,49.46044838598869],[-58.10556928911763,49.46349285093047],[-58.12483287522857,49.4923775098411]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-58.127566161804154,\"lat\":49.47167915184521},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1009\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"1009010\"],\"csd_name_en\":[\"Trout River\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Trout River\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-56.75649024861404,50.75050195272155],[-56.77656714564799,50.74412423858628],[-56.79699025473631,50.72595193601795],[-56.80643854650628,50.731594607349386],[-56.80866993666695,50.7481338392879],[-56.8177811420645,50.75519265131565],[-56.844134490091356,50.76038941587723],[-56.841891281448696,50.77145787433497],[-56.8512564621932,50.79809224184093],[-56.83934555677767,50.810746084864135],[-56.84215627646193,50.82750683607496],[-56.86516203828672,50.825827356149105],[-56.882779940795636,50.797478729589784],[-56.90459568144048,50.7935414308551],[-56.955178597397364,50.82749130516633],[-56.97032908205596,50.829927290297206],[-57.00860433150367,50.823848813842574],[-57.03134565076892,50.824805148448256],[-57.050988790342764,50.836001639824225],[-57.30567581193651,50.88266814939202],[-57.4000152656728,50.80391263904624],[-57.45525814307762,50.75637467264941],[-57.511948846528,50.64774737330957],[-57.58149944656111,50.48030651908039],[-57.4999999871839,50.475613674355145],[-57.45860929284178,50.473036463075296],[-57.437915227040996,50.47749878407323],[-57.405240950878664,50.47743495852949],[-57.34761316173167,50.4885988615663],[-57.289678494911925,50.49268477025292],[-57.24037936526689,50.473839040794836],[-57.229484861568864,50.450536123472695],[-57.20780697966038,50.442144318312344],[-57.204290028947135,50.431030646806555],[-57.18189576723287,50.42844605033611],[-57.14390269001279,50.436146716648224],[-57.09664615861,50.44166520760923],[-57.04274050029266,50.45189808121233],[-56.982847050215256,50.450219154613386],[-56.93457017293397,50.43449662503065],[-56.904041406525025,50.434487915285125],[-56.86795760745974,50.43284401342673],[-56.84770791911864,50.448101465251355],[-56.82541128358643,50.472865138940044],[-56.8244656658435,50.48875444562507],[-56.83461509571104,50.493123434892],[-56.86622865348396,50.491938581721655],[-56.86634401504693,50.51391665289856],[-56.860314844973196,50.530166105733024],[-56.88304232332085,50.544888958742014],[-56.85376325291406,50.56394132871078],[-56.81866350122542,50.56588692071305],[-56.77831777257239,50.56424624014566],[-56.75544749126895,50.57954399155024],[-56.70172896096426,50.587216325599094],[-56.687599601848675,50.595430286054366],[-56.66839610254319,50.62868382209442],[-56.65590185610483,50.628042992315685],[-56.63382210173154,50.657896690539694],[-56.660201898456386,50.67532711985633],[-56.68793109615856,50.679956438662686],[-56.7333004705492,50.66930726802461],[-56.7435900342409,50.67716239928157],[-56.746692327535634,50.69197501206672],[-56.741476770292564,50.7193037832168],[-56.75649024861404,50.75050195272155]],[[-57.390446508136314,50.551302983067345],[-57.370480515051206,50.53746820711751],[-57.36706608159286,50.51656310847502],[-57.41027029506978,50.522924892811886],[-57.38713519364614,50.53350738905321],[-57.390446508136314,50.551302983067345]],[[-57.31429685978179,50.67108741537858],[-57.36058348487785,50.69781040539832],[-57.394610383526974,50.69235380426792],[-57.412782786324165,50.69747470248071],[-57.40090731019913,50.71059600794282],[-57.34830600980349,50.73153890447284],[-57.33830039419085,50.72164258544975],[-57.310627823108845,50.72030764883594],[-57.29764178426669,50.728895099504776],[-57.27640820786711,50.73244700889323],[-57.26186309797226,50.724647505507676],[-57.28228518579179,50.681231108471344],[-57.21583526544365,50.69759974278456],[-57.20609396541346,50.69665640451779],[-57.198913606355234,50.6587079267207],[-57.12748284952744,50.64944183759191],[-57.143442320170635,50.57354630604384],[-57.18373222988856,50.578389748054676],[-57.22474578369686,50.578121991095685],[-57.23443332000409,50.58331529865891],[-57.222157021970204,50.59453549675459],[-57.204437094486586,50.594642610243156],[-57.19299588091885,50.60473939708966],[-57.17688367900262,50.602161895794694],[-57.157638912427075,50.631525303277634],[-57.17226919927274,50.63350770580899],[-57.20008839685123,50.62487121135471],[-57.20877270330604,50.62675911146001],[-57.24630789906388,50.613321604167304],[-57.26347958456491,50.61895649264338],[-57.285153298913485,50.63194708897075],[-57.24557491480936,50.63989929005555],[-57.281245083153934,50.648485091722556],[-57.30889961061199,50.639523893608256],[-57.31579571198741,50.64499440315001],[-57.307205696255686,50.660507295120674],[-57.31429685978179,50.67108741537858]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-57.127420525349784,\"lat\":50.64147851326994},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1009\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"1009047\"],\"csd_name_en\":[\"Division No.  9\",\"Subd. G\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Division No.  9, Subd. G\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.88896117007015,52.93966537198474],[-66.90179122325306,52.964037372022005],[-66.88808035132264,52.977517874789754],[-66.91117627342187,52.99358300942013],[-66.92957165592964,52.99521368882916],[-66.971726848094,52.98460042516368],[-66.98848980180631,52.96039652937281],[-66.96757340296372,52.9247941972782],[-66.9415564355965,52.92983410091669],[-66.90206271907202,52.92718160090004],[-66.8914239750882,52.9375584590058],[-66.88896117007015,52.93966537198474]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.93677568455983,\"lat\":52.95939348588289},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1010\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"1010032\"],\"csd_name_en\":[\"Labrador City\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Labrador City\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.99589880730888,60.00000395628322],[-64.00011731860755,60.001060135987245],[-64.07252146728226,60.05935643196528],[-64.13862784066269,60.17216979893621],[-64.18486956706356,60.374676013557036],[-64.43310009029038,60.377744011835425],[-64.49140759120893,60.37260555891614],[-64.53398458557533,60.341061643945324],[-64.51801844255354,60.31498543304928],[-64.51747589882685,60.304398201059435],[-64.52974308799334,60.29667785380982],[-64.58122474581573,60.308375185099464],[-64.59727115376957,60.30061384179893],[-64.68097948840652,60.29659028013075],[-64.70741220570957,60.303297109100704],[-64.72342587286523,60.29147830069251],[-64.80726078902008,60.27584242158167],[-64.85377782467283,60.26941146104373],[-64.85276567948554,60.25266469447367],[-64.87338806419531,60.237293780331306],[-64.86394126676501,60.22819680228919],[-64.84065923840751,60.22295954837347],[-64.78414652785071,60.20397899536742],[-64.78024134026126,60.196119308769426],[-64.74987957301424,60.18815558295697],[-64.74556250617546,60.16862804539624],[-64.73322997340536,60.16436623575748],[-64.69889752005469,60.171282232973645],[-64.68249380707509,60.1811588258794],[-64.66156694811028,60.170160366503644],[-64.60247105314822,60.16701462090774],[-64.59371586445995,60.11703127235852],[-64.60339538024787,60.109678931937914],[-64.63307286102437,60.10541501144762],[-64.67203212812174,60.113548497356845],[-64.68119134045818,60.10754625172035],[-64.7353045632884,60.10954853849574],[-64.75747643879784,60.101353146275564],[-64.7267120244967,60.0947409987677],[-64.70798684742267,60.08460914381501],[-64.71785690060813,60.06407425262207],[-64.7427139867587,60.05613112948168],[-64.7832354988353,60.0576153335058],[-64.81980617249256,60.05048211468003],[-64.89587553674966,60.066209292440334],[-64.92364329453663,60.06146512207157],[-64.88767148653805,60.04197513799791],[-64.86097697098269,59.9952063134652],[-64.84022843760762,59.97031907616402],[-64.80683057343518,59.97081400394967],[-64.78277649938347,59.98040141103148],[-64.74709978056306,59.97448882710444],[-64.74742055907595,59.95472974117161],[-64.73219127727594,59.95052452094096],[-64.6931205955891,59.95887638327855],[-64.66223046203349,59.95255396329666],[-64.66357922623484,59.927690510935804],[-64.63405885498938,59.93600095775388],[-64.62679818796762,59.930294629256856],[-64.64097704952714,59.90744806163355],[-64.65873127469476,59.90159292606956],[-64.6664149706237,59.88828700605145],[-64.683776123057,59.87719841536137],[-64.74152160062972,59.889298936909285],[-64.75616629327115,59.88603159200671],[-64.76655410833914,59.869675435062774],[-64.73694446300392,59.85556836477914],[-64.77808564162294,59.8528478896998],[-64.81673182555691,59.83504942339566],[-64.8252245292095,59.82560797783973],[-64.79211546805799,59.812181153747204],[-64.78847380192268,59.80327346192208],[-64.81398919506975,59.795152233251244],[-64.81395766556271,59.783033487883785],[-64.78998669481747,59.76030405332862],[-64.8015349639327,59.724773686294675],[-64.7743083089919,59.72514576057954],[-64.7494318972033,59.71723937310679],[-64.76048544967358,59.70655815772315],[-64.82492099235282,59.6759975926649],[-64.87165597858674,59.668345995982094],[-64.88950805434466,59.662155488546176],[-64.89825949014251,59.64178327647507],[-64.88253972247924,59.610681971938554],[-64.8598083900134,59.591537325264284],[-64.86870656689167,59.58642417359974],[-64.92705977174248,59.59317888196236],[-64.93943923730748,59.5670460086051],[-64.89220584889063,59.562468700051376],[-64.86919130613698,59.546923113427844],[-64.83962958358593,59.55334198671784],[-64.82275527126298,59.54065926281773],[-64.80313145084952,59.53431028221136],[-64.80419947788712,59.5250158500701],[-64.76414507291888,59.514868003520604],[-64.7630926073688,59.496640749313364],[-64.73692466023397,59.48068567920897],[-64.72855256355608,59.466635402790054],[-64.69443275307961,59.45800092446302],[-64.67983493043612,59.44690514255413],[-64.6428141706913,59.45924760653263],[-64.62676722614252,59.481970389786156],[-64.5896726250367,59.46618266028429],[-64.56146241404745,59.48791493037823],[-64.53224263244496,59.499488832935604],[-64.50530119361794,59.50129640659527],[-64.50309258980857,59.521373385452456],[-64.46290009082799,59.52339608110065],[-64.43376621240358,59.541973596877995],[-64.41903937904576,59.53264385543478],[-64.38580589720424,59.52376072711294],[-64.3240693104039,59.51277412637311],[-64.32785207239236,59.49746276469769],[-64.3496558875647,59.50295234611079],[-64.3808216225256,59.483764755065486],[-64.40719904183513,59.477806104747756],[-64.42607625491823,59.46493694337822],[-64.45802468860245,59.459174816434995],[-64.46684551057453,59.4502049217722],[-64.51159836477588,59.42297985196002],[-64.47255907094096,59.418258940011334],[-64.46072548888294,59.41217710753565],[-64.49599457638531,59.40425569449901],[-64.51650034482206,59.40390538858242],[-64.5282681098162,59.39562821059683],[-64.52405126379163,59.38508449730531],[-64.5383389667596,59.37078193308013],[-64.52571750319304,59.36158039833316],[-64.49330274791804,59.349576142126864],[-64.52779200849899,59.319978386298736],[-64.5435362748266,59.310435057954095],[-64.51696419164912,59.27994693801579],[-64.48860346888317,59.25711006883472],[-64.51135058679232,59.23893037625866],[-64.52184746056443,59.196741120020654],[-64.50342181867316,59.19571334817563],[-64.47271469843052,59.18039119806768],[-64.4912719636024,59.13642703838141],[-64.48398560810217,59.118165982100855],[-64.49804875547521,59.10641597690614],[-64.49030914093572,59.099075067681355],[-64.45045783130898,59.1028892670691],[-64.41696135693219,59.08760377139592],[-64.37602788740959,59.092607558433215],[-64.36351405836244,59.087428948572935],[-64.36084068750905,59.06729534845612],[-64.31517598856993,59.06562976233451],[-64.27361664428855,59.0220402665662],[-64.2617911545203,59.01295656469252],[-64.29438255046146,59.00049868226065],[-64.38770532323046,59.00618381348842],[-64.42417100622117,58.99168476577981],[-64.43678779982672,58.99431380234325],[-64.46030109112064,58.981514252414925],[-64.48129214416501,58.9883306778674],[-64.47127167839069,59.00000012379626],[-64.49778082576496,59.019432695715714],[-64.5227607607029,59.00256015968694],[-64.54495562765635,59.00964432832429],[-64.5706195398508,59.027274786811354],[-64.63068488537355,59.04068963872583],[-64.67027521120038,59.03861442858551],[-64.67927314259953,59.04696682010867],[-64.68325693103239,59.074695387756485],[-64.72487106187268,59.076003591451034],[-64.75249503446368,59.070541974025545],[-64.77923880788735,59.074957440187134],[-64.8217485759904,59.04930727872606],[-64.83200657823548,59.03520113818305],[-64.82944091313934,59.02030371070378],[-64.86501590226436,59.01540497252741],[-64.87008844980481,58.998261212786986],[-64.8622185471106,58.986162858472895],[-64.84035012753128,58.980324315701985],[-64.84209843179075,58.96698601601829],[-64.83291357337279,58.95640768898911],[-64.87944046483197,58.95188249617496],[-64.86853784886691,58.9416407868158],[-64.83926968204165,58.936999026995174],[-64.82071351239631,58.91689271888498],[-64.76573278641075,58.92380281458186],[-64.75623163118806,58.940278213691315],[-64.73066993038792,58.95078403578721],[-64.7025895783378,58.946386100683746],[-64.65165020089911,58.943752041021064],[-64.63242770650658,58.933345719889424],[-64.61476816373596,58.907515591212196],[-64.57962855436806,58.90471364172775],[-64.55717880504378,58.89719402498847],[-64.5501825199371,58.88745542873791],[-64.50891046709516,58.88758137415442],[-64.47643347522369,58.90338282961552],[-64.45580099018427,58.90821667066945],[-64.40029422601364,58.90271816657594],[-64.37870236523236,58.903819115003195],[-64.35026167089892,58.891877467493615],[-64.33254016408911,58.90456275971273],[-64.28761262204456,58.896753129459015],[-64.28741774895805,58.883458354288116],[-64.23365670918133,58.86411334398885],[-64.22657324254556,58.84584385369192],[-64.23752849247649,58.805042062099396],[-64.2297045684555,58.7836484747135],[-64.20012574025614,58.77946166990588],[-64.1787849750283,58.78903958946297],[-64.1582670339125,58.75811917806903],[-64.13779286316445,58.74616687479916],[-64.09409640097299,58.756945710722555],[-64.06970878391098,58.769086194347494],[-64.07187374953244,58.783246950112485],[-64.04630107210431,58.78957349259003],[-64.0385860987921,58.80207684206886],[-64.04533757307291,58.8103503722267],[-64.01973875741002,58.81667159633713],[-63.99540275279224,58.813709142305996],[-63.975472285428,58.83025324751707],[-63.957161639400695,58.826905558835506],[-63.89787131077198,58.83736530519332],[-63.86218603455759,58.83197721088436],[-63.83528335752838,58.84903031341417],[-63.81213795872539,58.847062793487176],[-63.79928598313895,58.85647383932226],[-63.77768332719866,58.88405875867696],[-63.725463078729966,58.87717467565534],[-63.70999684130291,58.88705319159589],[-63.67993827488496,58.878562728775535],[-63.68032427757009,58.866459324949915],[-63.66112103513938,58.85471218471675],[-63.635955096123375,58.84869967712794],[-63.595341144194315,58.85717575946108],[-63.550785079866756,58.8365501151833],[-63.55027983809146,58.82236580098031],[-63.53451353048477,58.81624278861616],[-63.512786047891815,58.79568611134367],[-63.49215735582921,58.76854521261301],[-63.467504073522754,58.76204707852545],[-63.49482844169237,58.754034544069086],[-63.506793949486635,58.74257462780816],[-63.61928353160787,58.723860621441396],[-63.629845241540906,58.714643017305626],[-63.66068426386429,58.72522472495623],[-63.669554001032395,58.717066711323],[-63.69491958484957,58.719633169662984],[-63.7183553455791,58.70638521388186],[-63.754373873481384,58.71673706043594],[-63.794276597342744,58.70328744464754],[-63.81102069558802,58.71220210085911],[-63.83561540479448,58.71011866594645],[-63.85509666425747,58.69644306289471],[-63.87502919881995,58.70575844857069],[-63.90996517656195,58.710253499310056],[-63.93105999336538,58.70102569460197],[-63.95025377006222,58.68524732824975],[-63.98421670541356,58.68764247303203],[-64.04722219126714,58.70262847046116],[-64.07661882444279,58.665928968496274],[-64.07886977790255,58.65394939380332],[-64.1079267339001,58.639650686277804],[-64.11585187167101,58.602350556067336],[-64.09278539427258,58.58789316616326],[-64.11105037793855,58.581660751440815],[-64.10494346754028,58.56323000763774],[-64.07469590600179,58.547379027717106],[-64.06718447785816,58.53449228834337],[-64.04693980752353,58.53507082875544],[-64.03408168089197,58.52345041606338],[-64.00877476313161,58.53125899444817],[-63.97357898669465,58.52963608385641],[-63.95186170097848,58.54126772136791],[-63.94669281056436,58.55880516469489],[-63.9073660722165,58.57349208709904],[-63.85819406325022,58.563797645883376],[-63.86255549941941,58.552694909468364],[-63.849714389335894,58.54657988054998],[-63.8488470920607,58.53345078571792],[-63.85915159122967,58.52123132676557],[-63.858691899614136,58.504514406955124],[-63.82357677938643,58.49732337268645],[-63.80785005026311,58.48974610197759],[-63.822267385499565,58.473749511684254],[-63.843096540228025,58.46782622664264],[-63.84715403897292,58.45001090180993],[-63.88111327541136,58.42943966041184],[-63.924239382768484,58.44487115733586],[-63.964103658000646,58.438831650237084],[-63.986578551327796,58.444357917482336],[-63.99847704553592,58.42553691790229],[-64.01320100613624,58.42399525725268],[-64.02856524059672,58.38944892472748],[-64.02253893429769,58.37101921473894],[-64.06166824430795,58.36092611854624],[-64.0979964326319,58.37683651381521],[-64.1192487284527,58.36473816541744],[-64.15850712819099,58.37103375780605],[-64.17222267077577,58.36187326626938],[-64.18456914080777,58.317051614415206],[-64.19819133834336,58.31192055586328],[-64.1969095000981,58.2935781068067],[-64.21698542589628,58.28745172704478],[-64.2085437168043,58.275637866801986],[-64.21777697694944,58.24773219886851],[-64.24128269314434,58.23766821804634],[-64.24750382108967,58.227421441394725],[-64.27119704840194,58.22108041883306],[-64.3191178128081,58.21807812675869],[-64.37356281601913,58.208380595929626],[-64.38953435366435,58.19647133271116],[-64.42173251779366,58.18667366546672],[-64.43089150341436,58.15621593040357],[-64.42506915667875,58.13019425838508],[-64.4353948791788,58.09837531889307],[-64.42688320405763,58.088222651269426],[-64.43309144126654,58.06990809207962],[-64.41228320587707,58.061159166384705],[-64.38714769866947,58.06934377952169],[-64.35391074853949,58.06929929684285],[-64.320507802158,58.06148799230041],[-64.29926608883535,58.04451940953304],[-64.2777333381723,58.046952083242786],[-64.25096032508598,58.03871851752389],[-64.21850764073463,58.03698329299727],[-64.23866798555603,58.0250323399564],[-64.22803282566377,58.00550027266067],[-64.2274386477499,57.98954348196741],[-64.20466183561653,57.97362970857961],[-64.19043132462116,57.93074790583495],[-64.16252538540175,57.92294178367979],[-64.15659653847648,57.890208814909016],[-64.12136701438459,57.82628559736422],[-64.11667541154387,57.81113939765503],[-64.09223245647279,57.80268298507675],[-64.09207101832637,57.794343025487734],[-64.07200128989282,57.77002034235822],[-64.02595187768327,57.76440357432451],[-64.02328432627007,57.778460386520926],[-64.03396867525859,57.791437374927675],[-64.02983357565992,57.80402382252934],[-64.01187753323954,57.80248192701381],[-63.99724891398102,57.812078690197936],[-63.97234789335887,57.799587808477206],[-63.953635501212226,57.79968801005977],[-63.93859625197025,57.78855100811892],[-63.903845254716266,57.798249067216034],[-63.90818767408751,57.77686561102011],[-63.90114153438066,57.7629369402219],[-63.90717835685755,57.75137585953322],[-63.88342166302799,57.71260734435826],[-63.86608395889504,57.711185677723535],[-63.847476419076045,57.71902289690772],[-63.82071151307293,57.70563213550847],[-63.81335574899811,57.68976580079292],[-63.78987306490005,57.68751282016528],[-63.75363048562311,57.72074436862958],[-63.7448141666422,57.68863726859443],[-63.74855105830561,57.67427957395386],[-63.73529089840921,57.662801880184254],[-63.70277740317905,57.66376632876771],[-63.68544531028038,57.68334252510898],[-63.659417218732,57.70181797640988],[-63.668055702603624,57.723942296732226],[-63.652505717940926,57.73290821854859],[-63.63256587765022,57.728945389584624],[-63.623196061897055,57.739482251669514],[-63.59677043641735,57.74124764948489],[-63.59695994858792,57.70769522197724],[-63.609486066728024,57.69205859326284],[-63.59449942280846,57.685652698180284],[-63.598727324354265,57.6638404795467],[-63.62296620422308,57.641969171488064],[-63.644923051911356,57.63428153194054],[-63.6499514874176,57.62006388936453],[-63.670277839086936,57.62118546559201],[-63.68460204424697,57.60343556787946],[-63.69950572745561,57.61534625936101],[-63.73061361288703,57.60112928974693],[-63.7326203782891,57.58873202328427],[-63.77191590578981,57.59244977073746],[-63.76549026018921,57.560770260214014],[-63.751168606382215,57.53574357159899],[-63.75339404612653,57.51529490767902],[-63.76750313083082,57.51483145678666],[-63.775221383538884,57.4935727938894],[-63.758275835490466,57.454420915194326],[-63.761260859453174,57.43933166774627],[-63.73145719439918,57.426561914529316],[-63.710305510239074,57.42263000296991],[-63.72344094234378,57.39833599838979],[-63.70827208353764,57.38449926998578],[-63.70130115943801,57.368333581111806],[-63.74197855506656,57.35773451491542],[-63.76819247571808,57.35817241843493],[-63.78549882977052,57.35319741967188],[-63.80172588859358,57.332287117813436],[-63.82433510175739,57.33916405672599],[-63.855820776774294,57.3343012153461],[-63.86938414025596,57.297618918819694],[-63.88337348279676,57.277620958720014],[-63.86697540137642,57.22612496554278],[-63.8840748713414,57.19625585588453],[-63.87238562473151,57.19253197392113],[-63.84160061354139,57.21080029790324],[-63.844717048982346,57.22595895276893],[-63.82612401675768,57.241090382395825],[-63.80913637705285,57.26215970734296],[-63.779599706771045,57.25938760051961],[-63.741466856619525,57.24076556846545],[-63.73713740355821,57.22159558084935],[-63.770985000238504,57.196018312010466],[-63.77936574578715,57.179380849924705],[-63.77974826451829,57.16179655139526],[-63.76488551051103,57.13992562629719],[-63.79871868499515,57.106447854244195],[-63.81180978969164,57.07887881331865],[-63.82014840874355,57.07549891031007],[-63.88168426378757,57.08797920355017],[-63.89008339998801,57.08608305826613],[-63.891934772551025,57.01277354822176],[-63.8577740130801,56.999212411128546],[-63.88699988832589,56.980964500956915],[-63.91412947392155,56.97763062535462],[-63.91436254809443,56.93979909817355],[-63.90809982896887,56.9275211032531],[-63.91809396700575,56.90415758603168],[-63.8786193713539,56.90393009607535],[-63.863890620562586,56.89682290337263],[-63.86739598819667,56.88337611078763],[-63.85714684157983,56.872637142195835],[-63.89949884830088,56.87730095073096],[-63.91881146732186,56.87123860033215],[-63.98387685494362,56.861123452000335],[-64.0034786754171,56.86174373666341],[-64.01297796071886,56.84984641745155],[-64.00891854502727,56.80672247715777],[-64.00197869158038,56.797588697888756],[-64.01275954499755,56.778676861562126],[-64.07890733950762,56.7670031722764],[-64.0762820309161,56.74649568092648],[-64.09944313168161,56.74362206047638],[-64.14531439704764,56.699754842154235],[-64.12823340044592,56.68289506682496],[-64.09452209514387,56.662858486621914],[-64.09083627875172,56.653832973192884],[-64.05101748665662,56.657543563581],[-64.02485801886367,56.653007984285395],[-64.03994851709076,56.64073450612258],[-64.03365057860984,56.633233894821274],[-64.05332970785665,56.61553454197437],[-64.05046139806629,56.60634805647139],[-64.00401615212559,56.591236680713294],[-64.00157088096496,56.5792158677663],[-63.96417992706768,56.55741371315531],[-63.955887733991865,56.54681280762669],[-63.93106298739599,56.533757549345566],[-63.9443294556889,56.49310197286746],[-63.930632407098656,56.466207039558014],[-63.91275342519469,56.46302541961006],[-63.89769343788736,56.46902877747269],[-63.872916543129705,56.448970441097345],[-63.886471095148195,56.43302194215464],[-63.901841630251646,56.44070406698296],[-63.95201221002099,56.42142826421042],[-63.965755076234,56.41067526295969],[-63.99301597801821,56.408211267662416],[-64.02057364256028,56.41793663246817],[-64.06435733155885,56.424144807437855],[-64.09550086338497,56.42412867276024],[-64.13731483305752,56.43346361831378],[-64.15274016987556,56.441112115888],[-64.17798487310178,56.42524356959156],[-64.15810630554192,56.41975107338492],[-64.1436945997045,56.40539260926821],[-64.11535587273552,56.40210628278018],[-64.11040281334917,56.38596402343414],[-64.1278439229055,56.36992821417725],[-64.09935213338636,56.35191260354139],[-64.10748966402586,56.343012489998834],[-64.09819240650913,56.333631752191565],[-64.10943435924584,56.32260235938756],[-64.14343811378927,56.31196638974752],[-64.11126211924109,56.28895569684987],[-64.09049584957614,56.27989780426259],[-64.08737718210753,56.25688925999552],[-64.07557809841205,56.25602423999547],[-64.0221504726529,56.26781327452707],[-63.96710988016565,56.25639668296043],[-63.93489276699699,56.27111928951125],[-63.91291131366496,56.263534159914315],[-63.911492365182255,56.23083330940258],[-63.895384848587,56.22257179156368],[-63.8743902568047,56.224782688439575],[-63.86293385959009,56.212588881893645],[-63.74440130601736,56.13880252960493],[-63.47954201792283,56.12210075721093],[-63.37225069207194,56.12210093149881],[-63.167480226667095,56.01566408907964],[-62.93075114991265,55.99153960244041],[-61.584364889376914,56.05066042189903],[-61.42298024689342,56.04833604863085],[-61.35127270109947,56.05160228927047],[-61.29741180675067,56.046531408522355],[-61.21426088223342,56.051012106152456],[-60.90891538867019,56.13540418827577],[-60.68002500515611,56.20865355375109],[-60.534807301768836,56.47785616289774],[-60.700457451643956,56.76710946606771],[-60.84921784431768,57.02946739740926],[-61.015427315711094,57.29759702613977],[-61.18351015136415,57.55487325695855],[-61.35419272105764,57.791738304884056],[-61.49999999928402,57.99999998725639],[-61.74999998142188,57.99999999579171],[-62.013929117350095,58.000013712398506],[-62.03994160235421,58.105265554858846],[-62.09230386875776,58.24564309411164],[-62.14511908342175,58.34304745864903],[-62.21565748840578,58.42972094770544],[-62.31279418840864,58.52473971389414],[-62.54308356912559,58.75216639979151],[-62.7156368314002,58.907118586762444],[-62.83033086639788,58.99696301288613],[-62.99393015910226,59.16835004754221],[-63.27746134752425,59.46669360661219],[-63.4276088233463,59.60424555095575],[-63.657718034031355,59.820119008060736],[-63.76878327222362,59.922439094518325],[-63.859280956674475,59.965686637384415],[-63.99589880730888,60.00000395628322]],[[-61.748914322404566,56.481001665655455],[-61.860164312194755,56.47813898289909],[-61.87221019663218,56.521414786488194],[-61.807718042656965,56.57926983886582],[-61.700744218942916,56.58958489823829],[-61.6199543555641,56.55091885827979],[-61.666656639590364,56.48040561536978],[-61.748914322404566,56.481001665655455]],[[-61.84464723361824,56.39860537168778],[-61.84547256734788,56.38430166583202],[-61.8361283105265,56.374802889182526],[-61.86523331158945,56.35176061105806],[-61.9064195306562,56.339925077161496],[-61.90564513800328,56.29791840755185],[-61.94219573977586,56.27353571398491],[-61.97759915122445,56.277691494042664],[-62.0076805743309,56.29042010205474],[-62.00934806467837,56.29590780154024],[-62.043888153881646,56.30085891419008],[-62.06395595650374,56.290531089893435],[-62.08134833231288,56.29648563177202],[-62.17482811055824,56.301418367882476],[-62.16781786347658,56.32480064105048],[-62.17567898796815,56.32816613086624],[-62.16308664010317,56.36986527515853],[-62.08872211466956,56.42711319467313],[-62.07211723833834,56.41235025416945],[-62.04353054524361,56.42620697048947],[-62.00084632869156,56.419224070993955],[-61.981310302443575,56.40805706688736],[-61.956363276027865,56.420589765536434],[-61.91470958382638,56.4025856713892],[-61.84464723361824,56.39860537168778]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.85614989981339,\"lat\":57.708788192423555},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1011\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"1011040\"],\"csd_name_en\":[\"Division No. 11\",\"Subd. E\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Division No. 11, Subd. E\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.712891066567416,46.41672076953232],[-62.709729459146516,46.40704843196457],[-62.697880848271964,46.40973368664951],[-62.70090826710624,46.42251980126447],[-62.712891066567416,46.41672076953232]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.70512506901372,\"lat\":46.414164534317926},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1101\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1101048\"],\"csd_name_en\":[\"Morell\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Morell\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.00641849168595,46.14928855715737],[-63.009517027817594,46.171056965970315],[-63.00201608687778,46.197724852565145],[-63.01361727374212,46.21375433989144],[-63.0331754833053,46.210304936863025],[-63.05510535643974,46.206406059299184],[-63.05537749670346,46.14584137605311],[-63.00641849168595,46.14928855715737]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.030765709839876,\"lat\":46.17917130319357},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1102\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1102013\"],\"csd_name_en\":[\"Alexandra\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Alexandra\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.05392369872185,46.80363431152875],[-64.04501662147692,46.816757395208434],[-64.05594311186042,46.82173430272935],[-64.08350027337912,46.820151677654124],[-64.07101843621936,46.80046522704125],[-64.05392369872185,46.80363431152875]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.06396953843843,\"lat\":46.812472375488966},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1103\"],\"cd_name_en\":[\"Prince\"],\"csd_code\":[\"1103052\"],\"csd_name_en\":[\"Alberton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Prince\",\"csd_name_fr\":\"Alberton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.08493560198387,46.89649630082426],[-64.1018266222282,46.89480767294031],[-64.11145201104956,46.90357128185851],[-64.1223632917658,46.929579993621864],[-64.15748307073214,46.964214198487134],[-64.23065155601988,46.9130218374746],[-64.30825841508259,46.814673762937275],[-64.31602673317548,46.80976700303375],[-64.30661280469408,46.79229626649647],[-64.2745516367693,46.79435782029035],[-64.25126834920358,46.79094944167427],[-64.25002328801679,46.81000791016486],[-64.20463926615417,46.818170283893615],[-64.20907790162691,46.82866187507313],[-64.15971487157044,46.83709865601722],[-64.17256775983583,46.87148943558498],[-64.1095310628815,46.882642847443144],[-64.08493560198387,46.89649630082426]],[[-64.14652279207341,46.8858954997748],[-64.12938948795005,46.89131363255241],[-64.12769916779622,46.886970224876535],[-64.14652279207341,46.8858954997748]],[[-64.21818052077852,46.88574008757038],[-64.22478300124773,46.87036881161921],[-64.2362016334606,46.874927994917236],[-64.21818052077852,46.88574008757038]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.20527464553096,\"lat\":46.87361614829759},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1103\"],\"cd_name_en\":[\"Prince\"],\"csd_code\":[\"1103063\"],\"csd_name_en\":[\"Miminegash\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Fire District\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Prince\",\"csd_name_fr\":\"Miminegash\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.30890238263294,46.597720189028564],[-64.31825322039137,46.62426684033982],[-64.3140818268575,46.64252837990023],[-64.33573716277483,46.658664005074414],[-64.3399818206227,46.669199788430966],[-64.36345898327791,46.664491922625025],[-64.40657708696119,46.64977072189241],[-64.4387134613297,46.64763683856666],[-64.42805127153967,46.602487686548976],[-64.30890238263294,46.597720189028564]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.37142571001989,\"lat\":46.62889045847196},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1103\"],\"cd_name_en\":[\"Prince\"],\"csd_code\":[\"1103066\"],\"csd_name_en\":[\"West Point\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Fire District\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Prince\",\"csd_name_fr\":\"West Point\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.60214235225237,44.53992656471256],[-65.59214292556693,44.54537767405575],[-65.60923769670626,44.563273599259],[-65.62466438392688,44.56415340218618],[-65.63280081634436,44.56616538004522],[-65.60214235225237,44.53992656471256]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.60975513087034,\"lat\":44.553783091184805},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1205\"],\"cd_name_en\":[\"Annapolis\"],\"csd_code\":[\"1205002\"],\"csd_name_en\":[\"Bear River (Part) 6\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Annapolis\",\"csd_name_fr\":\"Bear River (Part) 6\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.29612990815212,47.887202341396446],[-53.278692097770886,47.905809803465594],[-53.27576489903524,47.925177614018715],[-53.357770767276854,47.9257929208267],[-53.35328070761225,47.91600749663657],[-53.375961213380634,47.91408449295113],[-53.38707672383133,47.89074046113527],[-53.29612990815212,47.887202341396446]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.32782282359429,\"lat\":47.906549709780194},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001328\"],\"csd_name_en\":[\"New Perlican\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"New Perlican\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.10304224505617,47.82542920316594],[-53.030806868969286,47.81439649885843],[-53.00986952993826,47.85882841332611],[-53.118375124710525,47.87035425114606],[-53.13521510748228,47.86736320100512],[-53.198069281782,47.83498289918005],[-53.16900358048822,47.8293055501239],[-53.15793980760629,47.835289513565215],[-53.10304224505617,47.82542920316594]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.09126489453434,\"lat\":47.844221120376616},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001352\"],\"csd_name_en\":[\"Small Point-Adam's Cove-Blackhead-Broad Cove\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Small Point-Adam's Cove-Blackhead-Broad Cove\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.26031653488007,47.518997732070275],[-53.24371771926959,47.51616984863857],[-53.22480068723736,47.512662291046915],[-53.186966178401256,47.53072839674692],[-53.176129408046116,47.54360646362167],[-53.144463207045206,47.548857474216824],[-53.12065593417382,47.57928854097002],[-53.165970511306774,47.574411427520154],[-53.205927626323295,47.547348501049974],[-53.26031653488007,47.518997732070275]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.186339109383496,\"lat\":47.54612375081076},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001446\"],\"csd_name_en\":[\"Brigus\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Brigus\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-52.716799934436445,47.677772028890466],[-52.69935368804535,47.695201501543444],[-52.709708982744104,47.70272920492335],[-52.69977298553132,47.72062060680907],[-52.71726450049252,47.73181738510648],[-52.72847350871228,47.73236601008231],[-52.75011676490418,47.71931881324485],[-52.77323870281343,47.694440431253454],[-52.790310591659754,47.689439985461945],[-52.75906655172328,47.68850094253682],[-52.735087183258464,47.6936719821664],[-52.716799934436445,47.677772028890466]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-52.732431465603746,\"lat\":47.70577455769759},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001507\"],\"csd_name_en\":[\"Flatrock\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Flatrock\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.89569116695885,46.99491900647874],[-55.923977430032586,47.00874453171373],[-55.94195815487759,47.00178054791804],[-55.945348864976616,47.01364558688298],[-55.97779069911641,46.987906413366765],[-55.971512088017825,46.97812659173112],[-55.98216559999651,46.97111780363137],[-55.98880990442644,46.954149406472276],[-55.97158117809288,46.925714898956336],[-55.96857380726545,46.908893089273185],[-55.95209670051888,46.90733018717151],[-55.936083695263825,46.89505429315589],[-55.89011198005827,46.88837950398293],[-55.88357159446137,46.882677878272595],[-55.8660252003261,46.89161909366743],[-55.930787078677255,46.948714051321325],[-55.91262348181504,46.97152263352708],[-55.89569116695885,46.99491900647874]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.9365586947361,\"lat\":46.94712910902017},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1002\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"1002014\"],\"csd_name_en\":[\"Point May\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Point May\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.77165689435089,46.870384886564636],[-55.75321001097024,46.859586198228975],[-55.73415070887099,46.85961279426116],[-55.73374748892106,46.87682515275625],[-55.77165689435089,46.870384886564636]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.74808152883936,\"lat\":46.8675563692552},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1002\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"1002015\"],\"csd_name_en\":[\"Point au Gaul\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Point au Gaul\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.71909375432152,47.64268426363253],[-54.65726771689874,47.66728070209297],[-54.67103420053885,47.68735360718115],[-54.71086487761783,47.666961601818265],[-54.71861747552345,47.66797670251381],[-54.760805390385535,47.65076538334273],[-54.72644722038583,47.63950859526866],[-54.71909375432152,47.64268426363253]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.70452730218495,\"lat\":47.66102647153733},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1002\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"1002036\"],\"csd_name_en\":[\"Terrenceville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Terrenceville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.35312590965488,48.40317630207372],[-53.34475581943723,48.38518699767021],[-53.32933587740837,48.39137060053691],[-53.3059935013678,48.39044218524911],[-53.307893931983514,48.40327704070847],[-53.28706635025664,48.41439978880256],[-53.34661221571259,48.4147694750448],[-53.35312590965488,48.40317630207372]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.32650656794491,\"lat\":48.40290975070081},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1007\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"1007016\"],\"csd_name_en\":[\"Port Rexton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Port Rexton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.012264815485665,48.73754520614958],[-53.114524894837636,48.7481476258239],[-53.39485560488353,48.687950875539876],[-53.42552101714962,48.619845857726375],[-53.42611850285568,48.605221100470324],[-53.38956348532806,48.60631409896856],[-53.360789974752024,48.61718597952526],[-53.36347141723153,48.59681779098743],[-53.341912193702754,48.60061099863728],[-53.32939053625527,48.58746799301983],[-53.32164200001202,48.575923310998284],[-53.33342209976929,48.55648010588158],[-53.40883467883719,48.53358003377187],[-53.41577599624892,48.515199100522324],[-53.3824358090135,48.528352344942135],[-53.3684524907149,48.5148460515779],[-53.35426819312811,48.47919229099125],[-53.31874368430113,48.4763846858749],[-53.27177643220476,48.46632043957521],[-53.25861207739864,48.46882579080839],[-53.24932061387839,48.4885513687297],[-53.22978096856789,48.49391146037667],[-53.211716692789054,48.485181641808545],[-53.193632383065236,48.48385930246019],[-53.17332807615479,48.49121501909728],[-53.16858752323875,48.5012061996206],[-53.17300401763877,48.51886377382974],[-53.170597178766954,48.53564993171609],[-53.160614961917,48.54817249351015],[-53.14221938514417,48.54948765889144],[-53.136275632839336,48.56362498629329],[-53.1171996258795,48.568467088577485],[-53.125195410275545,48.57998182763543],[-53.13934966258443,48.57662360928535],[-53.14089148090447,48.5948592509148],[-53.12088050049459,48.646090207044764],[-53.11888009579799,48.66579729409433],[-53.09990449807489,48.67417280014024],[-53.09804909376162,48.692882385693466],[-53.08239777935967,48.69190179720343],[-53.090024345032774,48.67710620475397],[-53.012264815485665,48.73754520614958]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.24264471786714,\"lat\":48.61722238913534},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1007\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"1007024\"],\"csd_name_en\":[\"Division No.  7\",\"Subd. G\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Division No.  7, Subd. G\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.93979479015942,48.396114067335795],[-53.92197108974744,48.39713489756773],[-53.90840709742879,48.39078628656168],[-53.86255138788467,48.421776891368594],[-53.87255951672854,48.44164313182277],[-53.93979479015942,48.396114067335795]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.89528258840201,\"lat\":48.413793719130204},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1007\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"1007032\"],\"csd_name_en\":[\"Musgravetown\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Musgravetown\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.743294266901614,48.63288453981302],[-53.72946391018787,48.64089618881811],[-53.698361910347415,48.638884494892],[-53.66386049705215,48.651672902760026],[-53.703823806794816,48.66017865059274],[-53.715117617541445,48.65657360773536],[-53.74883445251169,48.64499206380537],[-53.743294266901614,48.63288453981302]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.70912098900443,\"lat\":48.64778299429253},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1007\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"1007039\"],\"csd_name_en\":[\"Sandy Cove\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Sandy Cove\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.96951027018145,49.032849125480915],[-53.96544279227811,49.00654581152416],[-53.94202180854751,49.0066609190181],[-53.95166239216714,48.95667942383325],[-53.945157807549656,48.94592096010172],[-53.93105842252631,48.94429438256181],[-53.91359531576289,48.95056456966895],[-53.90033921687242,48.96983474231386],[-53.91825032591293,48.97313949619866],[-53.90478761122232,48.9853871964015],[-53.90967390859978,48.993025704283816],[-53.85687360513894,49.01489200392143],[-53.86124741180875,49.02552729194097],[-53.87544751046313,49.03436820967877],[-53.886106553345776,49.03288674046162],[-53.96951027018145,49.032849125480915]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.9202689869148,\"lat\":48.99979045009524},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1007\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"1007050\"],\"csd_name_en\":[\"Centreville-Wareham-Trinity\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Centreville-Wareham-Trinity\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.983500208615034,48.86456930687326],[-53.96878001552472,48.87133350057714],[-53.962915506275024,48.88225831493549],[-53.94204160467535,48.88349309007773],[-53.906610303933356,48.8996064036622],[-53.93963888416868,48.90068659580165],[-53.9668128921331,48.887916092243046],[-54.000103392381355,48.89132387248829],[-53.983500208615034,48.86456930687326]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.96030472143384,\"lat\":48.88590552217809},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1007\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"1007057\"],\"csd_name_en\":[\"Dover\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Dover\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.60087656012149,49.087639411927995],[-53.606852673756315,49.10433140254517],[-53.59105210326444,49.10651508559812],[-53.58531511295712,49.12224950646158],[-53.574066694995324,49.12876011211659],[-53.57884939690636,49.139409504593495],[-53.54848839501477,49.148750288577354],[-53.553816901804886,49.163513101107746],[-53.55316882327983,49.18987708969104],[-53.54329010557818,49.19835739318423],[-53.52343050687768,49.20237100657265],[-53.511587385382256,49.22203579695204],[-53.48352999157833,49.23692210048332],[-53.500000007332815,49.24415420332441],[-53.569378525796985,49.24085895963899],[-53.63869267888375,49.170293703950506],[-53.68069066232244,49.16563230893911],[-53.73388878092084,49.1493264908275],[-53.76985999840125,49.15152029195135],[-53.73842030687011,49.11654121382809],[-53.70940026501981,49.07798724109851],[-53.707315521082045,49.075394751949226],[-53.60087656012149,49.087639411927995]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.62847457944197,\"lat\":49.151590082120464},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1007\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"1007060\"],\"csd_name_en\":[\"New-Wes-Valley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"New-Wes-Valley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.62822431246405,49.55232735818881],[-55.660547627222016,49.52967124039264],[-55.6508430401759,49.5267718488316],[-55.642710135498994,49.540910566596395],[-55.62822431246405,49.55232735818881]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.649839924042624,\"lat\":49.5341764935822},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008055\"],\"csd_name_en\":[\"Brighton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Brighton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-56.10388500377916,49.520639199692354],[-56.075693329950695,49.54704812006403],[-56.065671584395595,49.54982178116178],[-56.0697792656927,49.57345904590462],[-56.06476795672656,49.58533317769531],[-56.029516957264676,49.597365815178826],[-56.01923353361935,49.608292273216975],[-56.034141237138705,49.62302218417799],[-56.004284563964276,49.652303282895204],[-55.978039163320105,49.663823858344166],[-55.93311873402033,49.68908066327715],[-55.91409291783564,49.696187677832526],[-55.88342236426859,49.701901258894445],[-55.82746788665528,49.70731862440488],[-55.782656104198935,49.70576546270618],[-55.74731694422592,49.69781613979471],[-55.693919797596486,49.67844302929452],[-55.683902690680405,49.69184581352347],[-55.595442852205586,49.750076485573025],[-55.64066556369677,49.753308447050145],[-55.70967528967751,49.75295688432281],[-55.821422897589834,49.74701865028177],[-55.86080611406382,49.74354972676424],[-55.90426995223212,49.73652350842521],[-55.94875108086866,49.725886874442686],[-56.000006299470265,49.71078941341756],[-56.02005697692974,49.69586851635192],[-56.04620842599108,49.69279519003422],[-56.165121471442625,49.67816821502213],[-56.16330284626271,49.698665784840706],[-56.17574391596569,49.69378550567526],[-56.266342018000834,49.67210309900384],[-56.306623878011294,49.66472263414094],[-56.26957834730918,49.6528892720372],[-56.26493236967859,49.640982299216084],[-56.29371356982043,49.62028685344987],[-56.2953115295434,49.60801468143515],[-56.308264598402566,49.594015687324195],[-56.29847099993233,49.57899985948611],[-56.30268628351137,49.56331522406568],[-56.32709838882941,49.571017423374066],[-56.34532103037455,49.56380497314496],[-56.36371814681306,49.54027492387214],[-56.4406201793577,49.49995327408691],[-56.44670004507043,49.478713595530195],[-56.43898939067101,49.45925811721624],[-56.4127993602383,49.46828061345745],[-56.3749554664779,49.47632660097144],[-56.309518118265956,49.4596497958307],[-56.26659549848971,49.48002620636515],[-56.2294780341195,49.47789057073389],[-56.22636633987093,49.48337442402432],[-56.18543953275641,49.496899552633025],[-56.16399420936956,49.491173666943894],[-56.12235250780072,49.510805720727575],[-56.10388500377916,49.520639199692354]],[[-56.17703920840625,49.613626301771795],[-56.17892490752264,49.58060149567788],[-56.14954630582804,49.601913558826276],[-56.122878120421795,49.5879919995658],[-56.161101039492,49.568749151343255],[-56.19202508697129,49.543675232883594],[-56.23422635353274,49.54326206564899],[-56.253464769710945,49.58003479504717],[-56.26311302562945,49.58927073561519],[-56.28247452176498,49.59146002406081],[-56.27268140374601,49.603050172733454],[-56.182589013735054,49.614146807618106],[-56.17703920840625,49.613626301771795]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-56.10000095447903,\"lat\":49.615014362824425},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008065\"],\"csd_name_en\":[\"Division No.  8\",\"Subd. P\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Division No.  8, Subd. P\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.448064699818055,46.359457990360944],[-62.45576654497201,46.3629346230103],[-62.48069986449547,46.35809719444581],[-62.48619221502663,46.37208767049162],[-62.502416996527224,46.37337800441301],[-62.528943393530696,46.3625072889168],[-62.56189721182899,46.352895333152766],[-62.566563449523066,46.34765519639347],[-62.5607548894147,46.33311734601747],[-62.53929252853441,46.33735040943405],[-62.53362359210197,46.32466596636004],[-62.555546095063555,46.32022800807291],[-62.54607688369921,46.29662919682064],[-62.53386255057055,46.30289558801142],[-62.52191986320313,46.29657664459209],[-62.49110284179163,46.27085312468442],[-62.47167059562378,46.27152909410353],[-62.4408782543271,46.25729352627282],[-62.44674846706698,46.285564626937266],[-62.437785302858344,46.29185454708717],[-62.4509417656724,46.321382596357395],[-62.435400886528356,46.33448460461677],[-62.448064699818055,46.359457990360944]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.492827485530476,\"lat\":46.32201207757709},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1101\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1101027\"],\"csd_name_en\":[\"Central Kings\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Central Kings\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.448064699818055,46.359457990360944],[-62.4351203309196,46.3650380412687],[-62.442657202435285,46.37735031114522],[-62.42834308097466,46.39580110366473],[-62.4471292946364,46.440540986442386],[-62.43658160095185,46.44714030515797],[-62.41549120560069,46.44941941263555],[-62.41315186512946,46.477242394679955],[-62.48112429638276,46.480252271376784],[-62.64738749522168,46.46810744180409],[-62.732356298510254,46.45274206297314],[-62.73169293564097,46.44339461442393],[-62.68699765857164,46.43182461564748],[-62.64573191392687,46.42765168231449],[-62.631532266376084,46.4293845617041],[-62.596314387629356,46.34564999618616],[-62.59253353150271,46.34227728764332],[-62.566563449523066,46.34765519639347],[-62.56189721182899,46.352895333152766],[-62.528943393530696,46.3625072889168],[-62.502416996527224,46.37337800441301],[-62.48619221502663,46.37208767049162],[-62.48069986449547,46.35809719444581],[-62.45576654497201,46.3629346230103],[-62.448064699818055,46.359457990360944]],[[-62.56498586474461,46.43176578168968],[-62.57281369462317,46.40752671953358],[-62.58927239824448,46.414365702558115],[-62.57886448008745,46.42904015217069],[-62.56498586474461,46.43176578168968]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.54383005685756,\"lat\":46.42328370381718},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1101\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1101037\"],\"csd_name_en\":[\"St. Peters\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Fire District\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"St. Peters\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.01361727374212,46.21375433989144],[-62.995541851520045,46.20962946931466],[-62.971826450260714,46.22179855508868],[-62.97743188649161,46.236887887028104],[-63.019967433234186,46.2286635931015],[-63.035505834835064,46.21596613723309],[-63.0331754833053,46.210304936863025],[-63.01361727374212,46.21375433989144]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.00122939090826,\"lat\":46.222222070978404},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1102\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1102011\"],\"csd_name_en\":[\"Hazelbrook\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Hazelbrook\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.90131488924105,46.36903828163344],[-62.91336648336176,46.36433981800569],[-62.90903300443225,46.353349110271125],[-62.900134977460375,46.3568262119591],[-62.90131488924105,46.36903828163344]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.906032096874945,\"lat\":46.36117897967557},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1102\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1102057\"],\"csd_name_en\":[\"Scotchfort 4\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Scotchfort 4\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.06487260589173,46.359365970302235],[-63.04704050256131,46.38094754109202],[-62.99216067087481,46.38607253718574],[-63.0041085679021,46.40130655400142],[-63.03648212412627,46.410069278112445],[-63.04764521194078,46.42677555738048],[-63.07634584481594,46.42377709987202],[-63.133413750201974,46.44714671268638],[-63.147108338544385,46.428641701112454],[-63.16833901275886,46.42385021464074],[-63.16345458466158,46.389268171695136],[-63.16890349756062,46.37897305440676],[-63.15119674822332,46.370479825231754],[-63.14410551833538,46.372824071844114],[-63.12777801646136,46.33223372745694],[-63.11991967051646,46.333603961295125],[-63.086478678223216,46.33761068204057],[-63.06487260589173,46.359365970302235]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.097918635499106,\"lat\":46.39129564403009},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1102\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1102067\"],\"csd_name_en\":[\"North Shore\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"North Shore\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-63.845497290408666,46.42863568948661],[-63.85116032841371,46.4261951567772],[-63.846540814090545,46.42533102853932],[-63.845497290408666,46.42863568948661]]],[[[-63.845497290408666,46.42863568948661],[-63.79247961612851,46.440824590405995],[-63.78191176765435,46.44730344980202],[-63.75388976070355,46.4513710899196],[-63.7587459458698,46.459885869490414],[-63.763066440081914,46.4670356289601],[-63.80047057806716,46.50100975878861],[-63.8066813549016,46.5122022704921],[-63.80521772255509,46.53721311407333],[-63.79701364420001,46.54664997592],[-63.86348878565482,46.51558341895836],[-63.91046239045009,46.49987289888067],[-63.95348375486095,46.4668277835175],[-63.945167501727454,46.4611118957451],[-63.948299417691935,46.44853650145394],[-63.93065537830763,46.43526342453768],[-63.92923167376232,46.41782415710509],[-63.87947514679723,46.34373660753404],[-63.8333501630999,46.37508230694563],[-63.793517622742684,46.386044787698246],[-63.79373948540919,46.37204154793052],[-63.7842698406841,46.36774731080093],[-63.77611715204955,46.3862439979813],[-63.7930559416157,46.387171935474505],[-63.80404280142936,46.396059689950185],[-63.839439717379214,46.39112133956868],[-63.86194252863933,46.40046093913123],[-63.85220908662254,46.42362770107809],[-63.88321501944602,46.424190291278],[-63.864217088365606,46.444767886352025],[-63.859943283439094,46.43363010635084],[-63.845497290408666,46.42863568948661]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.85972032330315,\"lat\":46.449056274858464},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1103\"],\"cd_name_en\":[\"Prince\"],\"csd_code\":[\"1103040\"],\"csd_name_en\":[\"Miscouche\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Fire District\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Prince\",\"csd_name_fr\":\"Miscouche\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.65399771044775,43.458314152920146],[-65.6512726888846,43.447852801595054],[-65.63341220225809,43.44501376602318],[-65.6339290499477,43.45462647733299],[-65.65399771044775,43.458314152920146]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.64324398945448,\"lat\":43.451558817003495},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1201\"],\"cd_name_en\":[\"Shelburne\"],\"csd_code\":[\"1201004\"],\"csd_name_en\":[\"Clark's Harbour\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Shelburne\",\"csd_name_fr\":\"Clark's Harbour\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.73576661586269,45.68578659139556],[-62.73762340600135,45.66987559766225],[-62.707233117708284,45.67426561776924],[-62.68520540493298,45.68417621820437],[-62.69430741022711,45.69907942277237],[-62.73576661586269,45.68578659139556]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.71232768251041,\"lat\":45.68360573094627},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1212\"],\"cd_name_en\":[\"Pictou\"],\"csd_code\":[\"1212004\"],\"csd_name_en\":[\"Pictou\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Pictou\",\"csd_name_fr\":\"Pictou\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-61.38058337735798,45.61145915572103],[-61.39183694738507,45.63309180234084],[-61.432069556920894,45.65020563909598],[-61.52645712159633,45.613243427892854],[-61.522200163634814,45.60281519729797],[-61.583184192189,45.56997225611144],[-61.597044632693304,45.58515124747901],[-61.73955215394102,45.52623170119427],[-61.7337346449747,45.4910689616549],[-61.810947768104526,45.45668677828121],[-61.94382363123993,45.39976923159735],[-61.92570190119971,45.38983639974672],[-61.911493777852485,45.373097290418414],[-61.906009174778546,45.35861745502687],[-61.90597234012997,45.30217492855398],[-61.94641889470118,45.29958537108114],[-61.961481063446115,45.291648946816395],[-61.987584342750374,45.30585061236031],[-62.01296572499019,45.26405722528306],[-61.927347304104444,45.24024133826012],[-61.9381874722614,45.222681950193326],[-61.82290026853165,45.18962380457189],[-61.72064416079685,45.14444577821045],[-61.681024816657136,45.13239607437561],[-61.58018262416681,45.10420665246148],[-61.52140195097564,45.08876358935373],[-61.45099175198347,45.14364874435431],[-61.32379811015755,45.14465680407418],[-61.193898079054634,45.148436441059346],[-61.11241626566724,45.16606415388807],[-61.09048611520978,45.173429754561305],[-60.980344005558614,45.2381912342348],[-60.928182828181704,45.277631999730986],[-60.91737555637494,45.29522455637828],[-60.89837024025046,45.34376217969037],[-60.897926004354034,45.3872269209649],[-61.0057993367092,45.408756315497264],[-61.044306963155854,45.42010821706848],[-61.07378853376579,45.43289911852092],[-61.1063752053607,45.45322640386869],[-61.125456108359664,45.46881376920826],[-61.16259258851215,45.51158999724953],[-61.20784723215055,45.51144277476738],[-61.227878436061474,45.52173777782493],[-61.290601554651865,45.53328791864948],[-61.30218608524399,45.539773752792065],[-61.330412503853005,45.55519423477975],[-61.37064487267921,45.591877891724536],[-61.38058337735798,45.61145915572103]],[[-61.3983408015592,45.629498907994],[-61.388445103375474,45.61667579847641],[-61.38325907154039,45.58624044936029],[-61.41899734663191,45.576595625682586],[-61.44005917090577,45.622521611904475],[-61.40280337834871,45.63299677778865],[-61.3983408015592,45.629498907994]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-61.449879135134644,\"lat\":45.34131602578708},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1213\"],\"cd_name_en\":[\"Guysborough\"],\"csd_code\":[\"1213004\"],\"csd_name_en\":[\"Guysborough\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Guysborough\",\"csd_name_fr\":\"Guysborough\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-60.17486074998599,46.116420926323045],[-60.19719905837814,46.11562253342887],[-60.18494684606979,46.107580901062484],[-60.17486074998599,46.116420926323045]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-60.18566888481131,\"lat\":46.113208120271466},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1217\"],\"cd_name_en\":[\"Cape Breton\"],\"csd_code\":[\"1217008\"],\"csd_name_en\":[\"Membertou 28B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Cape Breton\",\"csd_name_fr\":\"Membertou 28B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.81867903375591,45.816336024230225],[-64.82257791739518,45.81550662241319],[-64.94998721674499,45.94340579285677],[-64.9778211032064,45.93667150291812],[-65.03432238628787,45.92696869058528],[-65.03462564035333,45.892411730122305],[-65.22382088562495,45.843719805321456],[-65.16059981418637,45.71062810757853],[-65.13247609030152,45.64923534967436],[-64.9402161811322,45.75151069698106],[-64.81867903375591,45.816336024230225]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.03331899165522,\"lat\":45.8060827834426},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1306\"],\"cd_name_en\":[\"Albert\"],\"csd_code\":[\"1306008\"],\"csd_name_en\":[\"Elgin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Albert\",\"csd_name_fr\":\"Elgin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.87921714208555,46.29386582285588],[-64.99665120786692,46.43166093960088],[-65.09821115772044,46.37366466193501],[-65.14337267899012,46.347743286307995],[-65.07357351704677,46.26445715993471],[-64.85954024519681,46.2707407147699],[-64.87921714208555,46.29386582285588]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.00863776207287,\"lat\":46.33099191338348},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1308\"],\"cd_name_en\":[\"Kent\"],\"csd_code\":[\"1308008\"],\"csd_name_en\":[\"Saint-Paul\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kent\",\"csd_name_fr\":\"Saint-Paul\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.78229717214377,46.81811964084169],[-65.77729036702046,46.82099900371033],[-65.77945342193631,46.823268023621786],[-65.78495307987114,46.82037004103501],[-65.78229717214377,46.81811964084169]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.78104168681,\"lat\":46.82068381382031},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1309\"],\"cd_name_en\":[\"Northumberland\"],\"csd_code\":[\"1309010\"],\"csd_name_en\":[\"Renous 12\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Northumberland\",\"csd_name_fr\":\"Renous 12\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.22656901519035,46.00162000365467],[-67.21438745251132,46.01527245407248],[-67.23475056408795,46.023993237813634],[-67.25188483537598,46.00004271715688],[-67.25305931107201,45.9702796544331],[-67.24269212838036,45.96755175297116],[-67.23758199998404,45.983074304732995],[-67.22841562351587,45.99075400551196],[-67.22656901519035,46.00162000365467]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.23800122407414,\"lat\":45.99795371522733},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1310\"],\"cd_name_en\":[\"York\"],\"csd_code\":[\"1310054\"],\"csd_name_en\":[\"Nackawic\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town \\/ Ville\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"York\",\"csd_name_fr\":\"Nackawic\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.53332248492882,46.30600858130822],[-67.53419909064453,46.30685654631549],[-67.6074694578318,46.292011552604066],[-67.78198214947199,46.25812049085031],[-67.78162008398435,46.22658744548138],[-67.75301504293579,46.218944065297286],[-67.7460650083754,46.225825031653386],[-67.72683494790692,46.21487965627681],[-67.71049966264094,46.212099767662835],[-67.70100613921399,46.20042829912008],[-67.68585783877268,46.19657283990322],[-67.67722139535957,46.185887782053356],[-67.65776842111836,46.17598786748124],[-67.53308670603624,46.19669251606456],[-67.52847434597447,46.20079739529303],[-67.5106755102532,46.21990535883751],[-67.5054145455231,46.234850356237985],[-67.50827134699294,46.252616175311125],[-67.50147477881788,46.27229820599893],[-67.51115256168417,46.284229469573695],[-67.53006024286469,46.296352636879966],[-67.53332248492882,46.30600858130822]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.6252077522098,\"lat\":46.240478057611654},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1311\"],\"cd_name_en\":[\"Carleton\"],\"csd_code\":[\"1311014\"],\"csd_name_en\":[\"Wakefield\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Carleton\",\"csd_name_fr\":\"Wakefield\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.15361035933772,47.354471796844706],[-68.12973468385566,47.38266622727684],[-68.08693501646086,47.401517232919],[-68.18684388586426,47.52009894004098],[-68.19927043960692,47.5054153688257],[-68.20069927506177,47.481054458679466],[-68.22037700058422,47.476858408622654],[-68.22522580434504,47.46652984807816],[-68.21856322205986,47.450029887180186],[-68.25952658207834,47.43591160595041],[-68.28907436612838,47.39642728120197],[-68.23142915063968,47.37575663581323],[-68.22759540274296,47.38080490927398],[-68.15361035933772,47.354471796844706]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.1847551761654,\"lat\":47.423653523472204},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1313\"],\"cd_name_en\":[\"Madawaska\"],\"csd_code\":[\"1313018\"],\"csd_name_en\":[\"Saint-Basile\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Madawaska\",\"csd_name_fr\":\"Saint-Basile\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.33456689582391,47.424184705115046],[-68.35934171264006,47.40706980589638],[-68.39309048907113,47.444389708365364],[-68.41316613610093,47.45047163962856],[-68.44269366311391,47.434130947308695],[-68.43027881111132,47.42645962209531],[-68.38877285923557,47.38632837319404],[-68.40732393586335,47.37262595547643],[-68.42837582221898,47.355405987346586],[-68.41429167023831,47.34684923636623],[-68.41655268038744,47.32567698633918],[-68.38293816735045,47.31762095902003],[-68.38013872272545,47.33964852779413],[-68.36311110188647,47.35466668697541],[-68.33558328648321,47.35972219437692],[-68.30519440852656,47.3552500123588],[-68.2805556134083,47.35963890605908],[-68.26488888831857,47.352222201651315],[-68.23447221102629,47.35530560158174],[-68.22372221253879,47.34469440071624],[-68.16629114824556,47.328014023012315],[-68.15269024958613,47.34365142689841],[-68.15361035933772,47.354471796844706],[-68.22759540274296,47.38080490927398],[-68.23142915063968,47.37575663581323],[-68.28907436612838,47.39642728120197],[-68.31331360804364,47.40449100071421],[-68.33456689582391,47.424184705115046]],[[-68.30036658865517,47.35864958576108],[-68.31895656018688,47.35952925867256],[-68.30304374570736,47.379095736846395],[-68.28633670899792,47.37333580548669],[-68.30036658865517,47.35864958576108]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.323396185227,\"lat\":47.378137516166284},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1313\"],\"cd_name_en\":[\"Madawaska\"],\"csd_code\":[\"1313027\"],\"csd_name_en\":[\"Edmundston\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City \\/ Cit\\u00e9\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Madawaska\",\"csd_name_fr\":\"Edmundston\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.37098549200178,47.52550863184447],[-65.46454303870777,47.72720730344669],[-65.49927146648196,47.7082851997148],[-65.52980683206393,47.69714606087234],[-65.61157505972942,47.69187340677642],[-65.64301962142929,47.682922772038076],[-65.65455581340983,47.678713640944174],[-65.56617364369356,47.66913410191937],[-65.53320968753135,47.59861740715543],[-65.57681233327845,47.59639461723166],[-65.6111784478929,47.57252726163518],[-65.62114131815241,47.580337574604805],[-65.67001372674625,47.59606163978909],[-65.67933561847953,47.58315078781785],[-65.7152941829718,47.58576684842722],[-65.71080002869331,47.59210423336136],[-65.72318888560972,47.658344408288194],[-65.70628009526312,47.65645301019878],[-65.68867832078922,47.66535690004543],[-65.70449059278448,47.673335312618384],[-66.10768866240439,47.57730572687448],[-66.16403278776495,47.56427963290711],[-66.21716123279458,47.55064511225253],[-66.16180969456767,47.50564302207195],[-65.99146572312861,47.3711419238839],[-65.85701670291627,47.263778448462],[-65.81588401009043,47.232532777761875],[-65.75998025914745,47.24525234200811],[-65.62471721653652,47.27622335273657],[-65.62139764291638,47.47303340898654],[-65.62985218936626,47.495118353416665],[-65.39598928718428,47.55292929784146],[-65.38066806911785,47.522973017629674],[-65.37098549200178,47.52550863184447]],[[-65.66440623846273,47.52779853811907],[-65.6935628305278,47.52717671855788],[-65.69461703513272,47.53749794723293],[-65.63323950338858,47.53832101192698],[-65.63389651415397,47.528597822048795],[-65.66440623846273,47.52779853811907]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.79034199792282,\"lat\":47.484419313059675},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1315\"],\"cd_name_en\":[\"Gloucester\"],\"csd_code\":[\"1315008\"],\"csd_name_en\":[\"Bathurst\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Gloucester\",\"csd_name_fr\":\"Bathurst\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.07087587059036,47.766009940638504],[-65.07405510538683,47.788991905345],[-65.08303900607912,47.8035959943719],[-65.10798918075885,47.79816073501264],[-65.12012344356815,47.80214926837345],[-65.13512828673551,47.794839817550944],[-65.1296479182516,47.78374183505266],[-65.10951198083038,47.780986078680776],[-65.09945906955296,47.763940231535564],[-65.11061562359345,47.76124753444853],[-65.10523144984353,47.74332722173299],[-65.1227515790477,47.73266680052142],[-65.1448984607572,47.712796387466774],[-65.12738299031246,47.69645292628725],[-65.0677915965977,47.71080947566533],[-65.07079904446245,47.71601825084655],[-65.01774999461153,47.72976700018996],[-65.04267218661923,47.77514867914233],[-65.06545319598654,47.77304919758727],[-65.07087587059036,47.766009940638504]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.08387075810782,\"lat\":47.74692918489023},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1315\"],\"cd_name_en\":[\"Gloucester\"],\"csd_code\":[\"1315036\"],\"csd_name_en\":[\"Bertrand\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Gloucester\",\"csd_name_fr\":\"Bertrand\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.54725275118739,49.043039126822705],[-66.59487313103122,49.073415525869486],[-66.5936630911215,49.08676962954455],[-66.57748239507544,49.091725677039214],[-66.64621292347965,49.14000920441263],[-66.70140423987559,49.125084337858546],[-66.73424336920255,49.118952668374284],[-66.87063748589053,49.10467299394022],[-66.9955739520188,49.096158168572515],[-66.97583385646556,49.07579156059379],[-66.90717101746952,49.03323495591565],[-66.83220246476989,48.985089624835375],[-66.73236086310193,49.0173847910384],[-66.70619229770031,49.00004672541286],[-66.70009063239496,48.99659473126896],[-66.63395203116768,49.019192978597495],[-66.64606596189888,49.02787558701117],[-66.54725275118739,49.043039126822705]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.76084907765815,\"lat\":49.063937849631635},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2404\"],\"cd_name_en\":[\"La Haute-Gasp\\u00e9sie\"],\"csd_code\":[\"2404047\"],\"csd_name_en\":[\"Cap-Chat\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Haute-Gasp\\u00e9sie\",\"csd_name_fr\":\"Cap-Chat\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.33892730822735,48.49144422410868],[-67.39387804839443,48.518128267060646],[-67.3910599016399,48.54544065375225],[-67.41115554732573,48.56023724893239],[-67.44866171338752,48.5217058925691],[-67.45554470216783,48.53067078700305],[-67.47058108075902,48.53097245158755],[-67.51440966376069,48.48777108944192],[-67.53510894528083,48.47354662073749],[-67.51826580801864,48.461955579627684],[-67.5303970352288,48.45321556741602],[-67.52151792986376,48.44091698944909],[-67.51271746264628,48.42620966946328],[-67.4743060635259,48.437616863128625],[-67.45837409551231,48.41033588800282],[-67.4345232908113,48.410238689498286],[-67.41412690117578,48.41533064840794],[-67.42516365535161,48.43393335055088],[-67.38599173485,48.44463392381157],[-67.36616717218548,48.441769246125084],[-67.35460329744011,48.455463113509445],[-67.33981568340674,48.4551686608691],[-67.36520123036445,48.46787196161703],[-67.33892730822735,48.49144422410868]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.43796060798046,\"lat\":48.477913856744486},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2407\"],\"cd_name_en\":[\"La Matap\\u00e9dia\"],\"csd_code\":[\"2407047\"],\"csd_name_en\":[\"Amqui\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Matap\\u00e9dia\",\"csd_name_fr\":\"Amqui\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.13545195848802,48.29685783393357],[-68.07473682703001,48.33798236320786],[-68.07796346414179,48.3396884032621],[-68.00263235520116,48.397595610899394],[-68.06876086967988,48.4357353554845],[-68.18299149725381,48.34882572906829],[-68.21870389423493,48.322025927660746],[-68.1900196971358,48.29993197767276],[-68.16666849765427,48.31741837072323],[-68.13545195848802,48.29685783393357]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.10778375608147,\"lat\":48.36278396899169},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2409\"],\"cd_name_en\":[\"La Mitis\"],\"csd_code\":[\"2409015\"],\"csd_name_en\":[\"Les Hauteurs\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Mitis\",\"csd_name_fr\":\"Les Hauteurs\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.87990059247934,47.50691725920044],[-69.99886652221913,47.585792702854214],[-70.01149895624492,47.59318133130004],[-70.06938261853668,47.5577118992425],[-70.0009257927415,47.51341349198733],[-69.97281167370582,47.493591235855064],[-69.97103831876466,47.4839507934797],[-69.98522883949121,47.47394071123236],[-69.95794389990705,47.462911876750525],[-69.94174716862084,47.47186547604112],[-69.91739216873451,47.46065265350747],[-69.90208607602207,47.48762348351339],[-69.87990059247934,47.50691725920044]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.97087080598712,\"lat\":47.52651774066251},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2414\"],\"cd_name_en\":[\"Kamouraska\"],\"csd_code\":[\"2414055\"],\"csd_name_en\":[\"Saint-Denis-De La Bouteillerie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Kamouraska\",\"csd_name_fr\":\"Saint-Denis-De La Bouteillerie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.74937346227718,46.58218101767103],[-70.79851999029901,46.61768451617202],[-70.81537500014184,46.60589053939178],[-70.8416517509309,46.62396653471215],[-70.86311493422714,46.612308448010154],[-70.91327863733898,46.61277601423138],[-70.96096421177609,46.59367496951758],[-70.93742185776213,46.577382259751026],[-70.9232398650145,46.57778952463135],[-70.90094611771787,46.55880806069527],[-70.87656999373922,46.535591794654806],[-70.86439081464474,46.54063198426027],[-70.8367390093133,46.5134358691075],[-70.81939735541921,46.52475133784235],[-70.84145451116626,46.545292291711526],[-70.82070230146057,46.55328641905119],[-70.80896713400402,46.56706350288885],[-70.79749079035031,46.560094236353024],[-70.77106805962111,46.57431785413956],[-70.74937346227718,46.58218101767103]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.85341191024767,\"lat\":46.58008240024013},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2419\"],\"cd_name_en\":[\"Bellechasse\"],\"csd_code\":[\"2419055\"],\"csd_name_en\":[\"Sainte-Claire\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Bellechasse\",\"csd_name_fr\":\"Sainte-Claire\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.80115157198104,46.3815176488398],[-70.85101550826053,46.43602796175991],[-70.89811050337185,46.473371934010565],[-70.91579056712341,46.46131676158303],[-70.9368333140781,46.47625656957094],[-70.95365737182242,46.465054346221436],[-70.93347731238518,46.450602940137315],[-70.9345555686777,46.43636673961607],[-70.9194383981983,46.42557835946618],[-70.92995915723803,46.40987858872818],[-70.89613160400084,46.386372107361105],[-70.88623725624005,46.3930666605247],[-70.86871784178898,46.37467828888012],[-70.85189862569773,46.37168099496878],[-70.83511528766077,46.35925548117861],[-70.80115157198104,46.3815176488398]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.8775366989516,\"lat\":46.4175980607107},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2426\"],\"cd_name_en\":[\"La Nouvelle-Beauce\"],\"csd_code\":[\"2426010\"],\"csd_name_en\":[\"Saints-Anges\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Nouvelle-Beauce\",\"csd_name_fr\":\"Saints-Anges\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.26788339036419,46.221009289357475],[-70.28667576135715,46.237099343962825],[-70.33982872574933,46.217897050646854],[-70.34920297397754,46.22776496217934],[-70.37223993863746,46.21257360027888],[-70.47518926749214,46.14434449742978],[-70.48659255626,46.13692616548713],[-70.47703979070975,46.124561810560046],[-70.4734444184964,46.11980206564596],[-70.29062569658649,46.18522580298951],[-70.26788339036419,46.221009289357475]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.36951726678902,\"lat\":46.18143085015635},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2428\"],\"cd_name_en\":[\"Les Etchemins\"],\"csd_code\":[\"2428015\"],\"csd_name_en\":[\"Sainte-Aur\\u00e9lie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Etchemins\",\"csd_name_fr\":\"Sainte-Aur\\u00e9lie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.42644869025969,46.25238768806561],[-70.44112421587892,46.25603095442036],[-70.46750347996716,46.27528495419436],[-70.49153412487242,46.259748697795786],[-70.51559826163316,46.256059635942485],[-70.54790151164457,46.25049505817274],[-70.54979367153912,46.240273066414325],[-70.57354972223547,46.228596411014315],[-70.57268583182766,46.22038809462143],[-70.58839637882046,46.2041650786952],[-70.56859041562862,46.17187242991562],[-70.54175263413133,46.189251690835626],[-70.51609821122089,46.1702062741299],[-70.51708054866812,46.14863630416089],[-70.47518926749214,46.14434449742978],[-70.37223993863746,46.21257360027888],[-70.42644869025969,46.25238768806561]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.48336260642127,\"lat\":46.209694322407906},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2428\"],\"cd_name_en\":[\"Les Etchemins\"],\"csd_code\":[\"2428020\"],\"csd_name_en\":[\"Saint-Prosper\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Etchemins\",\"csd_name_fr\":\"Saint-Prosper\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.3312495528762,46.572174313568794],[-71.38469806515806,46.60853889548405],[-71.40110250362476,46.592153810403595],[-71.38382498435976,46.58716267524152],[-71.38619706205745,46.57303191164447],[-71.37744386376595,46.55741262651885],[-71.38348043347168,46.544138213030884],[-71.40039670876939,46.532844408475114],[-71.44329706274587,46.52156362601598],[-71.4700882801752,46.49573267576081],[-71.4952707759514,46.4717206689276],[-71.45223643117569,46.44135301137155],[-71.40950649628911,46.41177208704902],[-71.39111910560433,46.44113432409043],[-71.3577239938949,46.41778255422818],[-71.33096650191318,46.44649568231305],[-71.3011018492434,46.45594881759416],[-71.31404600616088,46.48766984962804],[-71.33041925768732,46.49955951321636],[-71.27886449528437,46.51168197157697],[-71.26077677351007,46.523293475965666],[-71.2683855732802,46.52872508689606],[-71.3312495528762,46.572174313568794]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.3773267197122,\"lat\":46.49825557162073},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2433\"],\"cd_name_en\":[\"Lotbini\\u00e8re\"],\"csd_code\":[\"2433035\"],\"csd_name_en\":[\"Saint-Gilles\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Lotbini\\u00e8re\",\"csd_name_fr\":\"Saint-Gilles\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.91764226529278,46.83882436527714],[-72.00725614067234,46.90044739721115],[-72.01891956625374,46.892092304771595],[-72.03730881482733,46.89762964479752],[-72.05360782054949,46.88754763647599],[-72.12711265255291,46.84710219614633],[-72.0294752803861,46.78119220157177],[-72.01188410184616,46.76745489477849],[-71.99151135012971,46.75312696674755],[-71.96083804661319,46.76747986398688],[-71.92274808949757,46.793873530279306],[-71.9325635960203,46.8004828597144],[-71.89978249355,46.81640557438903],[-71.89886383684039,46.82580215005096],[-71.91764226529278,46.83882436527714]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.00696867624619,\"lat\":46.83030497448746},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2434\"],\"cd_name_en\":[\"Portneuf\"],\"csd_code\":[\"2434105\"],\"csd_name_en\":[\"Sainte-Christine-d'Auvergne\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Portneuf\",\"csd_name_fr\":\"Sainte-Christine-d'Auvergne\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.28374108673422,46.572052861678465],[-72.24226068782491,46.59882359302894],[-72.26122768023833,46.61218940912031],[-72.22615502156664,46.6336984242511],[-72.22607123911258,46.6425499331243],[-72.31160307477622,46.70055957997148],[-72.35792155073227,46.66881414526485],[-72.37072925348234,46.633123176244],[-72.35195978691323,46.60966788620141],[-72.36259947137212,46.59801629384192],[-72.33937968236255,46.5801984356163],[-72.32618888184435,46.59017639535558],[-72.31173099168791,46.59208246109461],[-72.28374108673422,46.572052861678465]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.30327081702613,\"lat\":46.63427842591731},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2437\"],\"cd_name_en\":[\"Francheville\"],\"csd_code\":[\"2437250\"],\"csd_name_en\":[\"Saint-Prosper-de-Champlain\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Francheville\",\"csd_name_fr\":\"Saint-Prosper-de-Champlain\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.48936870585528,45.89123250317262],[-71.49951730569923,45.892025646740805],[-71.55218175963267,45.91748901210585],[-71.56273241958935,45.90653708531626],[-71.58616447468327,45.8814175645952],[-71.63334191351551,45.84021945704359],[-71.61727866081671,45.830510451262526],[-71.59427492452832,45.81539540758002],[-71.54193411065769,45.78733554237485],[-71.52077026569782,45.8046558532038],[-71.49854841265962,45.790951312877944],[-71.4641199201299,45.816742804409785],[-71.46789859432648,45.8192197767973],[-71.45509004078583,45.87267637971573],[-71.48936870585528,45.89123250317262]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.53582126695684,\"lat\":45.84883909942119},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2439\"],\"cd_name_en\":[\"Arthabaska\"],\"csd_code\":[\"2439005\"],\"csd_name_en\":[\"Saints-Martyrs-Canadiens\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Arthabaska\",\"csd_name_fr\":\"Saints-Martyrs-Canadiens\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.80927119448212,46.035130318487106],[-71.85543215047264,46.059161336684866],[-71.86802043161762,46.04723984699383],[-71.91636877074939,46.072826279785936],[-71.92701671029144,46.06230076079342],[-71.89183152859646,46.04256748775125],[-71.91337818342288,46.02230587827354],[-71.93118740856148,46.03874123865774],[-71.94894730420332,46.03773495963235],[-71.97215246905353,46.018062010035806],[-71.90952975569259,45.98249252053295],[-71.87718317297833,45.96582116567374],[-71.86885378282813,45.976381492451495],[-71.80927119448212,46.035130318487106]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.88751404679259,\"lat\":46.018865399453595},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2439\"],\"cd_name_en\":[\"Arthabaska\"],\"csd_code\":[\"2439060\"],\"csd_name_en\":[\"Saint-Christophe-d'Arthabaska\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Arthabaska\",\"csd_name_fr\":\"Saint-Christophe-d'Arthabaska\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.16686524254642,46.213159085797905],[-72.14219680616912,46.21541477833457],[-72.13033405442891,46.20414150545629],[-72.1072065743238,46.19399241473034],[-72.09817337075691,46.20833780091554],[-72.08462815819294,46.21661217909903],[-72.1174462959602,46.24129437155712],[-72.10350790189939,46.25004822689761],[-72.11897542018234,46.261454081333234],[-72.13416951775876,46.25133555495114],[-72.17745465985737,46.220937522854896],[-72.16686524254642,46.213159085797905]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.127519148425,\"lat\":46.22590591725337},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2439\"],\"cd_name_en\":[\"Arthabaska\"],\"csd_code\":[\"2439165\"],\"csd_name_en\":[\"Maddington Falls\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Arthabaska\",\"csd_name_fr\":\"Maddington Falls\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.70944408098413,45.492946964485725],[-71.66101689314013,45.532444221353884],[-71.6261936066655,45.566843699290516],[-71.71608633720928,45.61740437145487],[-71.77528794266982,45.6503055871433],[-71.83188700615972,45.60048456391812],[-71.87268253044928,45.565947821483775],[-71.91988013445597,45.524048516626316],[-71.91070250471175,45.51424336907184],[-71.87758082449632,45.4955252115143],[-71.89010050736162,45.484828311337054],[-71.87985412987805,45.47870874738164],[-71.89365803207946,45.466891967020786],[-71.8692207334794,45.453269430683996],[-71.83104786085265,45.453139620005295],[-71.79229636613852,45.48580934557265],[-71.77429432399035,45.4967281755372],[-71.75231204557313,45.518490454355145],[-71.70944408098413,45.492946964485725]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.78032058926911,\"lat\":45.548590667785916},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2442\"],\"cd_name_en\":[\"Le Val-Saint-Fran\\u00e7ois\"],\"csd_code\":[\"2442005\"],\"csd_name_en\":[\"Stoke\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Val-Saint-Fran\\u00e7ois\",\"csd_name_fr\":\"Stoke\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.99623076606458,45.2719709259445],[-72.01125913118022,45.27253507886188],[-72.01108583855773,45.308018954783776],[-72.03925614597625,45.30849959320687],[-72.04270029472964,45.29974976724533],[-72.04901401147033,45.28595046488288],[-72.06032400200341,45.279023330243554],[-72.08890122382138,45.27906541115254],[-72.1031681163687,45.27349806998067],[-72.1016153293547,45.16087023889531],[-72.0980053099403,45.16095858355934],[-72.06503115237646,45.161083474772866],[-72.07291816169756,45.18151572477672],[-72.0599922979864,45.18161824227261],[-72.03828349846751,45.18985212201304],[-72.0125274623219,45.19292133050623],[-72.00461844246057,45.19974576210631],[-71.9964802398776,45.220201890861176],[-71.99810360243114,45.23860457403797],[-71.9871053918196,45.264403579090605],[-71.99623076606458,45.2719709259445]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.05145344548357,\"lat\":45.2347808876078},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2445\"],\"cd_name_en\":[\"Memphr\\u00e9magog\"],\"csd_code\":[\"2445060\"],\"csd_name_en\":[\"Sainte-Catherine-de-Hatley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Memphr\\u00e9magog\",\"csd_name_fr\":\"Sainte-Catherine-de-Hatley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.61825594515672,45.778881541340674],[-72.65011850021565,45.797825516728295],[-72.63397795715854,45.81084501185764],[-72.67282427509772,45.83231978323566],[-72.72169378851402,45.859132386871956],[-72.76622954382164,45.82630237805268],[-72.78539158110986,45.81693504796265],[-72.75952108893588,45.798618151926696],[-72.70444443271444,45.75911127565077],[-72.6801634455686,45.775487145845055],[-72.64609401981514,45.75585683602901],[-72.61825594515672,45.778881541340674]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.70042425748967,\"lat\":45.80518747854166},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2449\"],\"cd_name_en\":[\"Drummond\"],\"csd_code\":[\"2449105\"],\"csd_name_en\":[\"Saint-Eug\\u00e8ne\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Drummond\",\"csd_name_fr\":\"Saint-Eug\\u00e8ne\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.7322935059132,46.03166219294338],[-72.73395050380728,46.03254214417556],[-72.76812002453474,46.00927584678606],[-72.8002086740712,46.01330150063634],[-72.80356349013437,45.99736271543068],[-72.79087698804489,45.99187156723426],[-72.80501596090886,45.98116607441068],[-72.75260547568193,45.94304599067693],[-72.67317465150587,46.01259411517634],[-72.695943705512,46.017699996318136],[-72.7322935059132,46.03166219294338]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.7452993374687,\"lat\":45.991696164100446},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2449\"],\"cd_name_en\":[\"Drummond\"],\"csd_code\":[\"2449130\"],\"csd_name_en\":[\"Saint-Pie-de-Guire\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Drummond\",\"csd_name_fr\":\"Saint-Pie-de-Guire\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.82737487595517,45.6569427314573],[-72.90994068103954,45.7141874140156],[-72.92357541483035,45.69552044397552],[-72.93823082422716,45.69812796691015],[-72.95521728332456,45.687086479386416],[-72.99618686567837,45.717584455754306],[-73.00347574712177,45.69914689715995],[-73.02337970354321,45.666786437689176],[-73.03350658492437,45.63204759532488],[-73.04480733415498,45.63175282908224],[-73.04836843083363,45.600071091659885],[-72.99780977186442,45.60138139926727],[-72.9992098291221,45.579748278351666],[-73.00502463563473,45.569700322167975],[-73.00319049879073,45.563244125580255],[-72.97921358551662,45.56108680639872],[-72.95879923774797,45.57159984981354],[-72.93611259119362,45.55675574505394],[-72.90253638159842,45.57775830935034],[-72.8684171371139,45.59901065100824],[-72.8596684889758,45.59420805996916],[-72.82413619898995,45.654707047598116],[-72.82737487595517,45.6569427314573]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.93959986641933,\"lat\":45.636241600835056},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2454\"],\"cd_name_en\":[\"Les Maskoutains\"],\"csd_code\":[\"2454048\"],\"csd_name_en\":[\"Saint-Hyacinthe\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Maskoutains\",\"csd_name_fr\":\"Saint-Hyacinthe\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.6830737448226,45.49057410291456],[-73.66711904316936,45.48607601543057],[-73.64562400479964,45.50154638140149],[-73.62275313719438,45.523376048037456],[-73.6471923843786,45.530475695161634],[-73.66588921345493,45.502577298314456],[-73.6830737448226,45.49057410291456]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.65150389327968,\"lat\":45.50882497188037},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2466\"],\"cd_name_en\":[\"Montr\\u00e9al\"],\"csd_code\":[\"2466072\"],\"csd_name_en\":[\"Mont-Royal\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Montr\\u00e9al\",\"csd_name_fr\":\"Mont-Royal\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.82130135935473,45.400758320427364],[-73.83846350545257,45.445581079495575],[-73.86465916467611,45.43904399066283],[-73.90105516943403,45.435081603801045],[-73.89409368460575,45.40963179301858],[-73.86849179133957,45.40515335228108],[-73.82130135935473,45.400758320427364]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.8603620295256,\"lat\":45.42179553244584},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2466\"],\"cd_name_en\":[\"Montr\\u00e9al\"],\"csd_code\":[\"2466107\"],\"csd_name_en\":[\"Beaconsfield\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Montr\\u00e9al\",\"csd_name_fr\":\"Beaconsfield\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.4114443939343,45.25487635975045],[-73.38979014917423,45.26778274641192],[-73.3788763318946,45.28166423531591],[-73.38262071637679,45.29515593508497],[-73.36974095879316,45.31176221718679],[-73.40842818829582,45.32890358377355],[-73.44376895721736,45.310678647067405],[-73.44378959217401,45.30373020746298],[-73.46382661837148,45.29424979354531],[-73.47598150161446,45.280792487865405],[-73.46763799748678,45.26556183276074],[-73.47980871636445,45.202110070991175],[-73.47332417971049,45.20277535683809],[-73.44859837646484,45.195059717522014],[-73.43025509102037,45.196770478441515],[-73.42355680552002,45.22751494652924],[-73.42646907237486,45.24019307601399],[-73.4114443939343,45.25487635975045]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.43189646932079,\"lat\":45.26562913346304},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2468\"],\"cd_name_en\":[\"Les Jardins-de-Napierville\"],\"csd_code\":[\"2468040\"],\"csd_name_en\":[\"Saint-Jacques-le-Mineur\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Jardins-de-Napierville\",\"csd_name_fr\":\"Saint-Jacques-le-Mineur\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.24497964237757,45.506438677605516],[-74.31883496602045,45.50487637620444],[-74.3424966503133,45.51823058131362],[-74.34909022355501,45.533702024928196],[-74.37365972273295,45.51890891326151],[-74.39127894261483,45.531365798427515],[-74.42137672343438,45.439793402136495],[-74.33530524171243,45.45750663637825],[-74.32253093178095,45.44295991008738],[-74.23034754040384,45.430005818558186],[-74.22976595431803,45.431842502987436],[-74.2200339521371,45.46775273015271],[-74.21203326066392,45.49581167570802],[-74.24497964237757,45.506438677605516]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.3157223690233,\"lat\":45.47721162922057},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2471\"],\"cd_name_en\":[\"Vaudreuil-Soulanges\"],\"csd_code\":[\"2471133\"],\"csd_name_en\":[\"Rigaud\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Vaudreuil-Soulanges\",\"csd_name_fr\":\"Rigaud\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.74507631086621,45.66848239626233],[-73.76706690349612,45.68580483969804],[-73.78338084480511,45.680327263285946],[-73.76196575097202,45.665232883158346],[-73.76490623676986,45.65152405669614],[-73.74507631086621,45.66848239626233]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.7627564412308,\"lat\":45.67201374269071},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2473\"],\"cd_name_en\":[\"Th\\u00e9r\\u00e8se-De Blainville\"],\"csd_code\":[\"2473030\"],\"csd_name_en\":[\"Bois-des-Filion\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Th\\u00e9r\\u00e8se-De Blainville\",\"csd_name_fr\":\"Bois-des-Filion\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.52829766090926,46.13142769380833],[-74.485550922603,46.12602684779344],[-74.4730394598518,46.13951453424101],[-74.3794752137846,46.12742658912254],[-74.3678251265009,46.158544139583064],[-74.44023661055752,46.20764847135377],[-74.46132232940677,46.22343401414746],[-74.44649268685119,46.23434586137002],[-74.47501474861589,46.253623444428285],[-74.41182411148671,46.2976984600069],[-74.33400991964606,46.352462233775974],[-74.44778788275258,46.432304669266784],[-74.47774461820242,46.45415542273632],[-74.58919431812942,46.38696827841227],[-74.64518615425791,46.3507402859643],[-74.61985929982839,46.332460503338844],[-74.59336021012575,46.31433517425611],[-74.50407663117021,46.253094939635126],[-74.51309383532815,46.22213294115876],[-74.51844204745684,46.17187059215422],[-74.52829766090926,46.13142769380833]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.4807859651329,\"lat\":46.30386580799848},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2478\"],\"cd_name_en\":[\"Les Laurentides\"],\"csd_code\":[\"2478095\"],\"csd_name_en\":[\"Lac-Sup\\u00e9rieur\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Laurentides\",\"csd_name_fr\":\"Lac-Sup\\u00e9rieur\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.37335709591626,47.45314179004459],[-79.32779073266366,47.45288623069254],[-79.32766418608249,47.47805845886877],[-79.30751365834443,47.478022516672794],[-79.30730655092817,47.4941488366732],[-79.28509263501604,47.49463646713212],[-79.28611154296385,47.58980501870405],[-79.29919348373677,47.589271440352285],[-79.32891862552964,47.576572531605635],[-79.3353859690355,47.59653137240361],[-79.36239785886016,47.580186190609574],[-79.38110777631435,47.58345308012385],[-79.3948691444256,47.58804792733831],[-79.395450819341,47.54231756577542],[-79.41891754141965,47.541144354937906],[-79.41672572773275,47.50560367370073],[-79.39503598200605,47.50513193597769],[-79.39484822591692,47.45511251651333],[-79.37335709591626,47.45314179004459]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.34759251687555,\"lat\":47.52461021359187},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2485\"],\"cd_name_en\":[\"T\\u00e9miscamingue\"],\"csd_code\":[\"2485085\"],\"csd_name_en\":[\"Saint-Eug\\u00e8ne-de-Guigues\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscamingue\",\"csd_name_fr\":\"Saint-Eug\\u00e8ne-de-Guigues\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.07443586190502,48.28740043329655],[-77.91097640717851,48.28669063985992],[-77.77840992288044,48.28751794109196],[-77.77761448898698,48.430498512871594],[-77.96813845531244,48.43058435111696],[-77.99579812739448,48.430361264950115],[-77.99530963156822,48.4006651140555],[-78.04426416297557,48.400035602012885],[-78.08813926922474,48.37051011299055],[-78.08446317989608,48.361116595314954],[-78.09894450247147,48.345952331298264],[-78.08683713014716,48.331046529692316],[-78.07104626529502,48.30264787314283],[-78.07443586190502,48.28740043329655]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.92191490017647,\"lat\":48.355052449177315},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2488\"],\"cd_name_en\":[\"Abitibi\"],\"csd_code\":[\"2488030\"],\"csd_name_en\":[\"La Corne\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi\",\"csd_name_fr\":\"La Corne\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.07468512936255,48.94266502735251],[-72.15080415348665,49.009204585612565],[-72.15594329350606,49.00007585277964],[-72.15025473646192,48.98469845357629],[-72.1564116656687,48.95984756203027],[-72.17509546154808,48.94169873365632],[-72.18354226347829,48.94080527593168],[-72.21271380406132,48.965346449160236],[-72.23770149782717,48.95357520396098],[-72.23056555589626,48.93577159510735],[-72.24838928183254,48.925200268658664],[-72.28337857648826,48.913949571522885],[-72.30513128860335,48.91817515847206],[-72.3109285594128,48.91414423527358],[-72.28556016667083,48.89193896952057],[-72.3066156998597,48.884749783651706],[-72.28969926283227,48.86941989051196],[-72.3258891147088,48.852375339535214],[-72.27166460045385,48.80636747943322],[-72.29158157473441,48.792802749665455],[-72.32271208960178,48.7806641940571],[-72.33672274928131,48.76446666884689],[-72.33662711400272,48.71710761968641],[-72.3198002339741,48.67829198696127],[-72.10218300628503,48.730786583250165],[-72.09832335135683,48.74982050303049],[-72.07408283626499,48.75676371566365],[-72.10088982611173,48.76154378395648],[-72.12933683592296,48.78690075204337],[-72.18204577560995,48.833924773898865],[-72.15541711939348,48.84743315416894],[-72.16842901538395,48.85931590577128],[-72.1103442682902,48.88845528133328],[-72.13739239277456,48.91123794951635],[-72.07468512936255,48.94266502735251]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.21527176388922,\"lat\":48.82318404846299},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2492\"],\"cd_name_en\":[\"Maria-Chapdelaine\"],\"csd_code\":[\"2492022\"],\"csd_name_en\":[\"Dolbeau-Mistassini\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Maria-Chapdelaine\",\"csd_name_fr\":\"Dolbeau-Mistassini\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.48325906632186,48.51341581507937],[-71.45806456539842,48.57320151175473],[-71.43488347901821,48.62807365169382],[-71.59551190866537,48.656007554736945],[-71.62452563797486,48.58771879161488],[-71.60775287176119,48.58449901150439],[-71.61799049214193,48.5630329354538],[-71.61669018893815,48.543639976418945],[-71.58819280284811,48.5313665351126],[-71.55441371762178,48.53710802680716],[-71.53373968424847,48.53252980286184],[-71.48325906632186,48.51341581507937]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.53457517142486,\"lat\":48.58836750028585},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2493\"],\"cd_name_en\":[\"Lac-Saint-Jean-Est\"],\"csd_code\":[\"2493045\"],\"csd_name_en\":[\"Saint-Nazaire\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Lac-Saint-Jean-Est\",\"csd_name_fr\":\"Saint-Nazaire\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.4269390718511,47.999987377780776],[-71.44685546588173,48.02310108402807],[-71.49199029399867,48.062372499646905],[-71.50763997907295,48.07149881261076],[-71.54590764896335,48.11552950136991],[-71.56725234161698,48.123567388377204],[-71.57452538501353,48.1347702432361],[-71.62569609034024,48.173238625196454],[-71.63985868547095,48.18753519207774],[-71.65513129968774,48.17022248640215],[-71.64936387890727,48.1632103475635],[-71.65030341412483,48.135012209301564],[-71.67015939974611,48.10831485099504],[-71.6678555248921,48.091939701580195],[-71.68399644492358,48.0837429904482],[-71.71860927223224,48.0327954226611],[-71.72281783775372,48.000009632352736],[-71.4269390718511,47.999987377780776]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.59440971090696,\"lat\":48.06151717374099},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2493\"],\"cd_name_en\":[\"Lac-Saint-Jean-Est\"],\"csd_code\":[\"2493906\"],\"csd_name_en\":[\"Lac-Achouakan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Lac-Saint-Jean-Est\",\"csd_name_fr\":\"Lac-Achouakan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.27877059095327,48.25003341054508],[-69.28231610448626,48.25003693675231],[-69.42251111885723,48.314176690293515],[-69.4243167555134,48.319599090955485],[-69.46364046126168,48.34366582592284],[-69.56124194370999,48.40935379028002],[-69.77559717809146,48.26681232169465],[-69.79659365526764,48.251725046918075],[-69.65724471418177,48.25161414270274],[-69.6084850047303,48.21562758678473],[-69.50345779352381,48.14852694866334],[-69.45657017361735,48.117467122213796],[-69.4492359254402,48.1228881042719],[-69.3888571092536,48.16744669690886],[-69.27877059095327,48.25003341054508]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.51871794309257,\"lat\":48.26442892411327},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2495\"],\"cd_name_en\":[\"La Haute-C\\u00f4te-Nord\"],\"csd_code\":[\"2495018\"],\"csd_name_en\":[\"Les Bergeronnes\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Haute-C\\u00f4te-Nord\",\"csd_name_fr\":\"Les Bergeronnes\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.9751470054596,48.46967687245916],[-68.93231086941648,48.50017226873409],[-68.8793095189874,48.52716181932884],[-69.04373484940409,48.635453648389074],[-69.25059283543547,48.77186100213253],[-69.34337570551465,48.7110013425901],[-69.2017064642132,48.61713362107489],[-69.13042355540287,48.57909018694573],[-68.9751470054596,48.46967687245916]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.11382457931096,\"lat\":48.62214970832534},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2495\"],\"cd_name_en\":[\"La Haute-C\\u00f4te-Nord\"],\"csd_code\":[\"2495040\"],\"csd_name_en\":[\"Portneuf-sur-Mer\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Haute-C\\u00f4te-Nord\",\"csd_name_fr\":\"Portneuf-sur-Mer\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.31607299941432,49.51127621215109],[-62.40619153488464,49.55560541566195],[-62.46098721322846,49.58481455642348],[-62.49836460062642,49.60432718024418],[-62.689144236489284,49.676545508827836],[-62.88517215479209,49.732924158646966],[-62.97779206164402,49.76227926870602],[-63.06051556927077,49.781197863264204],[-63.140619187796936,49.795693449753465],[-63.23254418677525,49.81406540906225],[-63.382754974624596,49.846118009413495],[-63.48373279765674,49.86140742533576],[-63.5860182329053,49.87552850635971],[-63.72683666110064,49.89275827962312],[-63.802756073055605,49.895655396596624],[-63.8727512009656,49.90091884404552],[-63.89861038536304,49.906119393207256],[-63.98013297125668,49.93895714668076],[-64.09673425247283,49.95843934958604],[-64.15477128334432,49.96984889473723],[-64.319397680887,49.95685374550191],[-64.519468715394,49.91971272796752],[-64.55823092713244,49.86118040914817],[-64.43241742313089,49.78276725644464],[-64.1977789178789,49.71979995319155],[-64.10216771780925,49.700376391789206],[-64.03912967828255,49.68946471462689],[-63.99617603132506,49.67809840160845],[-63.94817566655912,49.66096564671076],[-63.89847573990802,49.639284908836416],[-63.67246334870023,49.51008658752308],[-63.61696697610699,49.37544555802093],[-63.557646448231196,49.358673044148695],[-63.38220688806455,49.31453811591579],[-63.34113579912276,49.30352467236842],[-63.200486303312374,49.235700495847354],[-63.01621465115533,49.19015872073653],[-62.95602380166453,49.176395800780156],[-62.80298321174237,49.146235085044815],[-62.50214570618692,49.102599820028146],[-62.391316420140136,49.075215545403594],[-62.25765743637484,49.04352258317236],[-61.81771956390003,49.04296130072759],[-61.67405864031841,49.068555808028385],[-61.638561296752215,49.138048488625415],[-61.76145626039764,49.27131488206208],[-61.79024990489468,49.304108534758164],[-61.82155574840418,49.3309546959202],[-61.877940508366095,49.370407073810185],[-61.978958418911326,49.39186534451944],[-62.12897783204589,49.41761260211762],[-62.31607299941432,49.51127621215109]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.0069168183568,\"lat\":49.48768152171082},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2498\"],\"cd_name_en\":[\"Minganie--Le Golfe-du-Saint-Laurent\"],\"csd_code\":[\"2498020\"],\"csd_name_en\":[\"L'\\u00cele-d'Anticosti\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Minganie--Le Golfe-du-Saint-Laurent\",\"csd_name_fr\":\"L'\\u00cele-d'Anticosti\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-78.38244750382503,52.27243628458675],[-78.46091285847915,52.31474132712869],[-78.50903795989916,52.313055986450195],[-78.53118374844698,52.29797625933622],[-78.5499823835844,52.29454612033308],[-78.56078089810424,52.28020229823006],[-78.5546561908551,52.26909130921147],[-78.5717725991216,52.2506274897149],[-78.5355923138751,52.25800310156343],[-78.52323748303753,52.256201692024355],[-78.45249889976516,52.259862102217596],[-78.41098071511055,52.23663541184686],[-78.38193978667493,52.23556201764013],[-78.38244750382503,52.27243628458675]]],[[[-78.54068329795695,52.19743260615065],[-78.54084340819736,52.18246349492965],[-78.54991101033048,52.15734469494757],[-78.50000002136936,52.15753101787983],[-78.500000015311,52.167440663874636],[-78.28810679795522,52.17031280371524],[-78.17098330455282,52.17066196290296],[-78.16808124915173,52.09014057580032],[-77.9416524621802,52.08790472897834],[-77.94374380735793,52.1973947481906],[-78.0000000050786,52.19752809223856],[-78.30554776424673,52.197868840371356],[-78.54068329795695,52.19743260615065]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.21447343686194,\"lat\":52.17920003404174},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499045\"],\"csd_name_en\":[\"Eastmain\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village cri\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Eastmain\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.51516940475206,53.7224651881147],[-78.5323765008688,53.72824760304842],[-78.55770351649483,53.72793570581926],[-78.57695288741041,53.73579509093529],[-78.63997999662217,53.73655401016502],[-78.71116818478205,53.75105439849822],[-78.80729519637222,53.75720810679269],[-78.85441538061369,53.763397102569414],[-78.89599628496744,53.791250287836874],[-78.89715578205642,53.80015039650637],[-78.93364508460081,53.81710300477615],[-78.97733611010054,53.821267796326474],[-78.99321521406537,53.83517590343239],[-79.05725423372645,53.82717436888116],[-79.0649033148912,53.82167069974879],[-79.06772758715364,53.789615894310984],[-79.04350198793034,53.78767648563596],[-79.0445576851788,53.76905539498351],[-79.08508313995445,53.76450894735613],[-79.08118163463223,53.73457576248963],[-79.09059857867197,53.7138305200621],[-79.14323017594224,53.716021711668745],[-79.158237544574,53.70856541231928],[-79.1592201660289,53.694123389181144],[-79.13387761564559,53.68566787540293],[-79.08105648097724,53.68901833943902],[-79.07245458323199,53.68129744686086],[-79.05257802340053,53.680034265547256],[-79.07043917960664,53.66532764937385],[-79.07168688108239,53.639746706300045],[-79.05101688410588,53.62785506999283],[-79.07749879987799,53.5965754946411],[-79.06877687346727,53.582555529748234],[-79.03247776534339,53.572785820905985],[-79.01314805626379,53.57231466941237],[-79.00000423662536,53.563925314771176],[-78.97816322215913,53.56642610160729],[-78.89690711129624,53.55765278564207],[-78.86028296103008,53.55829736648398],[-78.80218718455052,53.539139602680955],[-78.74538202535267,53.545422968152536],[-78.69814331456712,53.54277710015539],[-78.66009257327705,53.53055645594291],[-78.62007821906487,53.53223440775791],[-78.5930671879965,53.53866311387886],[-78.55421289222977,53.52702852672342],[-78.5135648740419,53.53239731549958],[-78.51516940475206,53.7224651881147]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.81234962341667,\"lat\":53.66328407303058},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499814\"],\"csd_name_en\":[\"Chisasibi\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Terres r\\u00e9serv\\u00e9es aux Cris\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Chisasibi\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.38934744444114,44.68160699207549],[-76.40916321491945,44.68476890269993],[-76.4034901987068,44.67150239163284],[-76.38934744444114,44.68160699207549]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.40066695268914,\"lat\":44.67929276213609},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3507\"],\"cd_name_en\":[\"Leeds and Grenville\"],\"csd_code\":[\"3507033\"],\"csd_name_en\":[\"Westport\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Leeds and Grenville\",\"csd_name_fr\":\"Westport\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.69578482301972,44.845647511262506],[-75.81804366924867,44.96831597431394],[-75.81954218537322,44.962213115561276],[-75.81616466854821,44.956876766284864],[-75.83174245077159,44.92651741363349],[-75.84425024165971,44.93106163220683],[-75.87172439207608,44.90388554608584],[-75.8852547741977,44.87131443608258],[-75.91611390946406,44.867544699869],[-75.9363532640097,44.88630558759922],[-75.94957767381389,44.87760573083644],[-75.95069718266525,44.86798003859478],[-75.9807464421008,44.87273397635088],[-75.99734046674197,44.89070121933263],[-76.00398459420137,44.89003399646635],[-75.97039549181825,44.862301388698725],[-75.91147651927413,44.81333398528121],[-75.84176528149749,44.758623007387975],[-75.78544097030938,44.793587107874984],[-75.69578482301972,44.845647511262506]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.82694262859225,\"lat\":44.85394646067429},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3507\"],\"cd_name_en\":[\"Leeds and Grenville\"],\"csd_code\":[\"3507052\"],\"csd_name_en\":[\"Merrickville-Wolford\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Leeds and Grenville\",\"csd_name_fr\":\"Merrickville-Wolford\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.22722408115138,45.09214936615031],[-76.2540914940472,45.11189868903913],[-76.3664540609962,45.201373073289524],[-76.50560853946094,45.30997391772061],[-76.52171083046298,45.302120914869505],[-76.58383751117418,45.263932619998144],[-76.66124023641338,45.21231609659591],[-76.76980018022772,45.142285627255596],[-76.74951747167155,45.10595612733053],[-76.73718277386466,45.07702401343667],[-76.72533367558677,45.062708354884975],[-76.63248644681487,44.89957085940836],[-76.60849872224345,44.85779917268889],[-76.57075237252279,44.88499577568137],[-76.53819489119387,44.90558710025431],[-76.51842145617573,44.9108803431198],[-76.38198745450181,44.99633122565877],[-76.22722408115138,45.09214936615031]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.52134707398248,\"lat\":45.094072088097384},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3509\"],\"cd_name_en\":[\"Lanark\"],\"csd_code\":[\"3509039\"],\"csd_name_en\":[\"Lanark Highlands\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Lanark\",\"csd_name_fr\":\"Lanark Highlands\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.15928181956342,44.54413449017014],[-78.16470013034177,44.552886594546656],[-78.18795245378668,44.55297846936286],[-78.20964553593151,44.55760994903969],[-78.23568663496614,44.55593396921806],[-78.24950347820241,44.54686273777193],[-78.26840955437603,44.54825336368421],[-78.27943796960642,44.555470115477576],[-78.3094290018411,44.55886067703408],[-78.34532022544586,44.55651802008631],[-78.35260565618992,44.53285871470783],[-78.36603238833774,44.51811354942303],[-78.38202692027347,44.47820592738815],[-78.38319769959635,44.46368910963726],[-78.40444834323587,44.45470412851599],[-78.42611322293384,44.46564751808756],[-78.46155231132015,44.47724325148624],[-78.48846548941079,44.467456523670954],[-78.49231466263961,44.44556791850911],[-78.48985826260602,44.43101188569678],[-78.47086131510414,44.38795719158053],[-78.42546930703732,44.290423901496304],[-78.38388218742924,44.30078025474292],[-78.38787272241149,44.309267836775525],[-78.35138840865778,44.321990891657876],[-78.35772212956763,44.330246950438564],[-78.30023194867044,44.35822565350822],[-78.28358956406629,44.378236505937686],[-78.27311855346093,44.38230731676641],[-78.26413915411334,44.397701218095506],[-78.26321930744483,44.412011494368755],[-78.24674103987343,44.416023649713985],[-78.2541526880875,44.43200508929337],[-78.2749171393958,44.44311282930094],[-78.24920839997495,44.46718461147279],[-78.2372259979881,44.48643720160772],[-78.21805136493641,44.49124478338832],[-78.19024221252705,44.519410775738244],[-78.15928181956342,44.54413449017014]],[[-78.36669105863821,44.49317560690494],[-78.35055291772589,44.4982971052865],[-78.33477138474082,44.48749080720607],[-78.34855699977096,44.479822948982026],[-78.36993728536565,44.4504261984491],[-78.38066758914528,44.45647621247461],[-78.36917080066792,44.47647667678323],[-78.36669105863821,44.49317560690494]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.34551713128299,\"lat\":44.437156516471596},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3515\"],\"cd_name_en\":[\"Peterborough\"],\"csd_code\":[\"3515015\"],\"csd_name_en\":[\"Selwyn\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Peterborough\",\"csd_name_fr\":\"Selwyn\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.88219486971417,43.85262524874084],[-78.90549429784605,43.90764550419759],[-78.95938741881628,44.02868708933537],[-79.04731130407693,44.00924009734462],[-79.00854293234248,43.92250230623077],[-78.97050702978237,43.83350446416148],[-78.95570904458364,43.84454688288572],[-78.92907085831501,43.851535605806724],[-78.90304526366228,43.845860100206835],[-78.88219486971417,43.85262524874084]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.96485104399979,\"lat\":43.932849737844336},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3518\"],\"cd_name_en\":[\"Durham\"],\"csd_code\":[\"3518009\"],\"csd_name_en\":[\"Whitby\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Durham\",\"csd_name_fr\":\"Whitby\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.52295964509628,43.5603428803949],[-79.54386628967727,43.58139430157314],[-79.55612936786059,43.602225493108875],[-79.56741665542863,43.61045020194288],[-79.56716935525971,43.62812988506029],[-79.58524646587973,43.62872530274051],[-79.58833315848791,43.64242150180573],[-79.60885188864185,43.64643124413898],[-79.58876324513207,43.66460958725017],[-79.63047380109235,43.73639658992918],[-79.63936207574763,43.73732501438051],[-79.67388081050652,43.706273498796314],[-79.69082299968557,43.66869501435272],[-79.70850078487602,43.654236854872394],[-79.73970173176237,43.638612509982806],[-79.76092652624894,43.61468453050446],[-79.79035675145577,43.60223143766928],[-79.81025270722003,43.58851261993117],[-79.80802252423835,43.58480590854723],[-79.72691888583911,43.52652738111072],[-79.69747239404546,43.50832550365021],[-79.68183008892854,43.522777891876586],[-79.61616444071633,43.47491499193507],[-79.52295964509628,43.5603428803949]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.65521264179858,\"lat\":43.59377076876953},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3521\"],\"cd_name_en\":[\"Peel\"],\"csd_code\":[\"3521005\"],\"csd_name_en\":[\"Mississauga\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Peel\",\"csd_name_fr\":\"Mississauga\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.61616444071633,43.47491499193507],[-79.68183008892854,43.522777891876586],[-79.69747239404546,43.50832550365021],[-79.72691888583911,43.52652738111072],[-79.773367189016,43.48498474068716],[-79.7864320155218,43.48660320172503],[-79.80814621038247,43.46677379580928],[-79.79533139149169,43.4491204869797],[-79.810952591268,43.43476620443873],[-79.72035172341104,43.36893111580325],[-79.68321928728678,43.39878101526377],[-79.66779523108505,43.41588518517252],[-79.63351998505573,43.46393001106346],[-79.61616444071633,43.47491499193507]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.71790379682845,\"lat\":43.45298780615918},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3524\"],\"cd_name_en\":[\"Halton\"],\"csd_code\":[\"3524001\"],\"csd_name_en\":[\"Oakville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Halton\",\"csd_name_fr\":\"Oakville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.70516252178918,42.870060499380564],[-80.71779820656302,42.86977050707716],[-80.72345103525353,42.889651903304504],[-80.76112631504722,42.88380657079671],[-80.75070844873468,42.848067094591485],[-80.76183128550726,42.84647639400869],[-80.74463614616927,42.823983762753805],[-80.72701699200414,42.845801565400315],[-80.71478819756229,42.83027046419256],[-80.70069863599628,42.848348923685045],[-80.70102660135544,42.85514998994221],[-80.70516252178918,42.870060499380564]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.73249258255234,\"lat\":42.85908444486837},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3532\"],\"cd_name_en\":[\"Oxford\"],\"csd_code\":[\"3532004\"],\"csd_name_en\":[\"Tillsonburg\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Oxford\",\"csd_name_fr\":\"Tillsonburg\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.87740998801804,42.17977750676507],[-82.86922570331409,42.31070599960004],[-82.84612169367507,42.30831628541219],[-82.84303211325201,42.31994563958353],[-82.853964854494,42.367630968384276],[-82.91087911132003,42.354750589779904],[-82.89698147384705,42.33561388669843],[-82.89093339085896,42.31297843022158],[-82.90168585158453,42.28860623099569],[-82.90504422940336,42.24166644560978],[-82.93301998949903,42.24241668986819],[-82.95556401149425,42.24900280610456],[-82.98588381028176,42.23415029714196],[-82.99693780665318,42.2356925966709],[-83.00056301428661,42.18388869011392],[-82.96736030412241,42.18285368936093],[-82.87740998801804,42.17977750676507]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.91329877020549,\"lat\":42.25033976873898},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3537\"],\"cd_name_en\":[\"Essex\"],\"csd_code\":[\"3537048\"],\"csd_name_en\":[\"Tecumseh\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Essex\",\"csd_name_fr\":\"Tecumseh\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.48455890110782,42.34415444269809],[-82.48060912307638,42.36987599335088],[-82.48016219156091,42.460765973799944],[-82.47417175197069,42.4712037223395],[-82.45508124842875,42.47582181285822],[-82.4346948129761,42.49029832872437],[-82.44113740607604,42.49969600053389],[-82.42843107832627,42.519255463489394],[-82.41671510268914,42.51537819747292],[-82.40339001297139,42.52912417896623],[-82.41926861702461,42.54136118527074],[-82.42019441399572,42.57231939990478],[-82.43486914019486,42.581927261818855],[-82.46624151880779,42.584244879516326],[-82.47832467587587,42.59635364096213],[-82.4760215063339,42.60870373414613],[-82.4839792409303,42.63146766462257],[-82.50973321324359,42.639615738921],[-82.52340373431348,42.60740470715653],[-82.54918704664472,42.591146273098026],[-82.58032568049774,42.564082769428566],[-82.58396601279894,42.553883294264246],[-82.60546026746,42.54848699188959],[-82.62395997907053,42.55690753142624],[-82.64121401109013,42.55479750627711],[-82.66773918527043,42.533593784433236],[-82.80345512830161,42.39814781426729],[-82.70162521697362,42.39753357754955],[-82.55083188931204,42.39761382353437],[-82.48455890110782,42.34415444269809]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.57583402929491,\"lat\":42.48397036975544},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3538\"],\"cd_name_en\":[\"Lambton\"],\"csd_code\":[\"3538004\"],\"csd_name_en\":[\"Walpole Island 46\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Lambton\",\"csd_name_fr\":\"Walpole Island 46\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.45708371948162,44.612160307788734],[-79.49851911708423,44.615275292241144],[-79.51142769280486,44.620891587903735],[-79.57830007279517,44.698039118131994],[-79.64518312546453,44.670004164589386],[-79.67718768869965,44.70520408620145],[-79.7992419026234,44.6519191948153],[-79.79621031743166,44.64844459679532],[-79.72627731261005,44.567357917046074],[-79.73745090438426,44.56119331087169],[-79.75027111060295,44.54249329961189],[-79.74457098207758,44.52779200410329],[-79.73094472438453,44.513541476945065],[-79.71755258896931,44.52023800184964],[-79.64313798664732,44.434494391457044],[-79.64584805216765,44.41627098165077],[-79.65176447957212,44.38666915073024],[-79.6081466904882,44.3922501213232],[-79.50897489422302,44.42235654852845],[-79.29856866713229,44.45227377655949],[-79.3658184911594,44.53365848366379],[-79.41198851605645,44.58771621359622],[-79.42330894566938,44.57651468593513],[-79.43459039685182,44.579019602402596],[-79.44691351610386,44.56987919037635],[-79.47563588947725,44.60327300161777],[-79.45708371948162,44.612160307788734]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.56793985410516,\"lat\":44.54262651003333},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3543\"],\"cd_name_en\":[\"Simcoe\"],\"csd_code\":[\"3543023\"],\"csd_name_en\":[\"Oro-Medonte\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Simcoe\",\"csd_name_fr\":\"Oro-Medonte\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.11929894457725,44.949962965135796],[-79.26224268691944,44.9149982000566],[-79.29778594964513,44.994369017627456],[-79.3754952936581,44.97799314917518],[-79.38271351935467,44.99313480859843],[-79.43144515473648,44.98147412923699],[-79.44030574091329,45.00004831236599],[-79.4526770134144,44.994665817102025],[-79.47103552641639,45.00432229987503],[-79.48719042091268,45.00039829955428],[-79.49696068460183,44.972799974545715],[-79.53476682033661,44.85430845714497],[-79.52611836975464,44.84956635683564],[-79.47404068122177,44.84725990732085],[-79.45114279447178,44.838093898433776],[-79.43432083549446,44.84254048596446],[-79.40819879801836,44.843331923316654],[-79.39403242964508,44.82515416434036],[-79.3900642582104,44.79105829225634],[-79.39459336249614,44.77605058072174],[-79.3527389441843,44.772739265375066],[-79.32880616816192,44.77906558928465],[-79.29356331973293,44.78384881820265],[-79.29674519644563,44.77537037043139],[-79.20788221529475,44.794867008391286],[-79.20922653154032,44.80003167628275],[-79.15836668117595,44.814813005074605],[-79.06290729860315,44.840131543662906],[-79.11929894457725,44.949962965135796]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.31323141887134,\"lat\":44.88504565156699},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3544\"],\"cd_name_en\":[\"Muskoka\"],\"csd_code\":[\"3544002\"],\"csd_name_en\":[\"Gravenhurst\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Muskoka\",\"csd_name_fr\":\"Gravenhurst\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.32823285282632,46.12145373565849],[-78.34874549016317,46.15654465319803],[-78.41248587322798,46.273316318041296],[-78.39699273773505,46.27358355697964],[-78.40347142936609,46.293388298996845],[-78.41526189278822,46.29484284797186],[-78.51387700322158,46.29687612259895],[-78.55307735533687,46.309423761489136],[-78.5970583740427,46.318852640409226],[-78.63099366843188,46.32123927594403],[-78.6758223431252,46.31823377685468],[-78.70473272194137,46.323027986254125],[-78.70450825884187,46.32186244511794],[-78.68605262747319,46.31626579885044],[-78.68656405040463,46.30536883621919],[-78.72175255491732,46.311232450154904],[-78.75536043196834,46.31427524354462],[-78.78465839469928,46.31269072734528],[-78.82544225703758,46.300340642787845],[-78.83476755022652,46.3009568275132],[-78.79838123729115,46.234119643637435],[-78.76099772266706,46.16508889476955],[-78.589353055098,46.21212205545526],[-78.51297812207459,46.0716844384657],[-78.32823285282632,46.12145373565849]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.56484317533503,\"lat\":46.218552302317946},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3548\"],\"cd_name_en\":[\"Nipissing\"],\"csd_code\":[\"3548013\"],\"csd_name_en\":[\"Papineau-Cameron\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Nipissing\",\"csd_name_fr\":\"Papineau-Cameron\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.63143144054662,47.30716955915377],[-79.793337573412,47.30889887284712],[-79.78846662276243,47.33598859223751],[-79.79306382304728,47.34872162633946],[-79.8302569612757,47.34880699056181],[-79.82828683506587,47.335875891853846],[-79.81331195279397,47.32394238182671],[-79.85436012132372,47.30420743697695],[-79.78982266834264,47.234348683077044],[-79.73372185599239,47.17385895867631],[-79.7161367459496,47.181921714071976],[-79.63269598860438,47.231827394841105],[-79.63143144054662,47.30716955915377]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.73186141924597,\"lat\":47.26284087932337},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3554\"],\"cd_name_en\":[\"Timiskaming\"],\"csd_code\":[\"3554006\"],\"csd_name_en\":[\"Latchford\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Timiskaming\",\"csd_name_fr\":\"Latchford\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.7598728120459,47.68217391073684],[-79.75999530044108,47.754544699411596],[-79.88843340441021,47.75450199781691],[-79.88844058821286,47.667655284944146],[-79.78135578761984,47.667692490118746],[-79.78149319192804,47.682433007394756],[-79.7598728120459,47.68217391073684]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.82573345161369,\"lat\":47.71213976222337},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3554\"],\"cd_name_en\":[\"Timiskaming\"],\"csd_code\":[\"3554036\"],\"csd_name_en\":[\"Armstrong\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Timiskaming\",\"csd_name_fr\":\"Armstrong\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.88831863749017,48.189187757773844],[-79.88883990250008,48.11235771022033],[-79.89126670166232,48.1016211773144],[-79.75988160961273,48.101641577115764],[-79.75938787282271,48.18875415899569],[-79.8602925393454,48.18811621253539],[-79.88831863749017,48.189187757773844]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.82418849510354,\"lat\":48.14500691474279},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3554\"],\"cd_name_en\":[\"Timiskaming\"],\"csd_code\":[\"3554066\"],\"csd_name_en\":[\"Gauthier\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Timiskaming\",\"csd_name_fr\":\"Gauthier\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.8094846077816,48.62528412472871],[-80.91494085021407,48.6251414401004],[-80.91397623348367,48.642302875209836],[-80.93866481079506,48.66793015936462],[-80.93991543768806,48.70276173004695],[-80.94382867489996,48.71044232238897],[-81.23337491550593,48.71125648889503],[-81.46734591065925,48.711276835401776],[-81.72739491889372,48.71063110197772],[-81.72811672033308,48.620286674245136],[-81.72708044497476,48.45193118816301],[-81.72681628884206,48.276916828835375],[-81.59687230055012,48.27690953592019],[-81.51395958516765,48.27835957776584],[-81.42191543291527,48.27687433167851],[-81.07520788515764,48.276925850371484],[-80.84960258702738,48.27815413592381],[-80.81279868381759,48.27715858262934],[-80.81319455708996,48.4505222244143],[-80.81329731221737,48.49451730325864],[-80.8094846077816,48.62528412472871]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.28044540696632,\"lat\":48.48961812932601},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3556\"],\"cd_name_en\":[\"Cochrane\"],\"csd_code\":[\"3556027\"],\"csd_name_en\":[\"Timmins\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Cochrane\",\"csd_name_fr\":\"Timmins\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-89.15124864573572,48.47559801992108],[-89.12781365714748,48.48533682860621],[-89.05883494107647,48.491153528107255],[-89.00185940089835,48.51119681235046],[-88.99328399477923,48.49116708470029],[-88.96889713595243,48.49235449752519],[-88.97073351213741,48.50976798351356],[-88.95676543537982,48.52148242525365],[-88.92671433876684,48.5294030091915],[-88.90512415651388,48.54316802367143],[-88.87715604750062,48.5445813273238],[-88.84736424798521,48.55921562867876],[-88.82801564048017,48.55863391696903],[-88.81304985978906,48.568416431218694],[-88.77679324715989,48.57554961940046],[-88.75942071706046,48.56505594141355],[-88.63814839365659,48.5650975070905],[-88.62216205289964,48.58478641498489],[-88.63088104233314,48.59868141148807],[-88.61582485068784,48.62163761212185],[-88.58717135298494,48.61839261259772],[-88.5627360339659,48.63167312026873],[-88.54850583978153,48.63059691508641],[-88.5384866366562,48.64568372315333],[-88.54809863775368,48.64966630812807],[-88.55324305305035,48.67480571824949],[-88.54631933775207,48.691812625145616],[-88.5264364369276,48.69983281022878],[-88.51621765474268,48.713462722203005],[-88.53857585829866,48.72175803165753],[-88.55067408409928,48.73752550428925],[-88.59840666973365,48.73855753893317],[-88.77901545976687,48.73764837295344],[-88.77962005177572,48.64314836104433],[-88.80283992728198,48.64269914161767],[-88.80045472922193,48.6057227537664],[-88.87324969412919,48.6059663693686],[-89.18745736191639,48.60349639968602],[-89.18230335585443,48.56821115372002],[-89.18260944470336,48.51459366029046],[-89.18235387575717,48.489591931848096],[-89.16267785850287,48.488015542333],[-89.15124864573572,48.47559801992108]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-88.84289760811326,\"lat\":48.608895864342415},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3558\"],\"cd_name_en\":[\"Thunder Bay\"],\"csd_code\":[\"3558028\"],\"csd_name_en\":[\"Shuniah\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Thunder Bay\",\"csd_name_fr\":\"Shuniah\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-88.23486706004319,49.0251620705382],[-88.23557154707444,49.032841686643444],[-88.24597731030931,49.03395664635548],[-88.24802788424097,49.02555258599894],[-88.23486706004319,49.0251620705382]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-88.24123307032825,\"lat\":49.02923280784868},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3558\"],\"cd_name_en\":[\"Thunder Bay\"],\"csd_code\":[\"3558064\"],\"csd_name_en\":[\"Lake Helen 53A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Thunder Bay\",\"csd_name_fr\":\"Lake Helen 53A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-94.36177988068687,49.74354707894031],[-94.34760396225013,49.75621216821715],[-94.34313181657028,49.775682086102165],[-94.34298095344418,49.81080522900784],[-94.35187537440673,49.816242534944614],[-94.34254800788814,49.83192374410902],[-94.3413394567259,49.9047162640694],[-94.45468604806139,49.90522427745962],[-94.50506051812074,49.904122560471485],[-94.5065907505209,49.85615978483972],[-94.54979596162154,49.846232094878886],[-94.55252384267895,49.82567242488921],[-94.54417795712862,49.8172657301911],[-94.51805403977524,49.81540723044507],[-94.50988186905064,49.80518781848323],[-94.52553594355572,49.79870434370897],[-94.5493178188572,49.800451734644575],[-94.57093271492579,49.79140733033672],[-94.59007958450078,49.790178495948645],[-94.59142486562453,49.75037732455695],[-94.55014934046145,49.754078749433454],[-94.53482530639299,49.74668447243162],[-94.48490523525257,49.74525006777086],[-94.36177988068687,49.74354707894031]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-94.44536901686533,\"lat\":49.81916094452061},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560010\"],\"csd_name_en\":[\"Kenora\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Kenora\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-93.48606287268521,51.192946014742795],[-93.54477768100875,51.192624776904985],[-93.89906169150835,51.19293771057963],[-93.8983912895429,51.03952773891279],[-93.94077088872585,51.03938726558831],[-93.94145575358799,51.005378197047456],[-93.96394521392956,51.00506462308096],[-93.96514304959851,50.93171780460085],[-93.89576163860713,50.932809709769494],[-93.76096124537366,50.93292176618626],[-93.74330585781304,50.94467502895276],[-93.71060583091835,50.93138944396202],[-93.69653776920853,50.93463963856198],[-93.68596443901366,50.947256227705424],[-93.70050146061372,50.96069513096405],[-93.72135945468001,50.96327492127921],[-93.7277595406208,50.9837208377885],[-93.71604644083497,50.98448562676259],[-93.71769124300087,51.00706533597304],[-93.69348346615531,51.01846660900677],[-93.48612438008507,51.019104759414006],[-93.48702723563173,51.12948063104483],[-93.48606287268521,51.192946014742795]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-93.72750118493805,\"lat\":51.07530470149175},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560042\"],\"csd_name_en\":[\"Red Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Red Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-91.60834506343912,51.1884149316127],[-91.62570403914056,51.18803822900361],[-91.63550050104156,51.17607530178767],[-91.66540649441463,51.171730804776864],[-91.66391126604277,51.18461235863422],[-91.7101544262892,51.18589301917419],[-91.71707350065958,51.120736981394735],[-91.5835554595334,51.11835700566744],[-91.55993751639292,51.12491856977609],[-91.5494126654754,51.13617488563359],[-91.59007269320288,51.14015319492013],[-91.5942839986542,51.1537488707157],[-91.5667570853454,51.152772513530856],[-91.53564075159619,51.1614901411215],[-91.51930098139631,51.161080603072],[-91.52073412670562,51.1752090645625],[-91.5938093614658,51.17568375051397],[-91.60834506343912,51.1884149316127]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-91.6346419533959,\"lat\":51.151512312976315},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560046\"],\"csd_name_en\":[\"Slate Falls\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Slate Falls\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-89.83728423891738,53.03696702918269],[-89.86143036546117,53.03877002395522],[-89.86247121126755,53.011993950233084],[-89.81320585430868,53.010294917803584],[-89.81436622199186,53.0329705188645],[-89.83728423891738,53.03696702918269]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-89.83854209659427,\"lat\":53.0237559067392},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560098\"],\"csd_name_en\":[\"Kingfisher Lake 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Kingfisher Lake 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-100.87214959469554,49.798303487084794],[-101.03258027336561,49.79817865862036],[-101.37692540273702,49.79795109027156],[-101.41760333805655,49.79833817543353],[-101.41779808246244,49.70976529688776],[-101.41763515159263,49.53274480138788],[-101.39256410725271,49.532722579583556],[-101.00000101609436,49.53274400956312],[-100.87211799981633,49.53285119769086],[-100.87214959469554,49.798303487084794]],[[-100.9234284755572,49.60890772526393],[-100.95588076742293,49.60825795742835],[-100.95669129426793,49.63696494722773],[-100.91235877948446,49.63910587232165],[-100.91122621959092,49.60914932867085],[-100.9234284755572,49.60890772526393]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.14680985952005,\"lat\":49.66581861646708},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4606\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4606023\"],\"csd_name_en\":[\"Pipestone\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Pipestone\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-100.9234284755572,49.60890772526393],[-100.91122621959092,49.60914932867085],[-100.91235877948446,49.63910587232165],[-100.95669129426793,49.63696494722773],[-100.95588076742293,49.60825795742835],[-100.9234284755572,49.60890772526393]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.93387971766715,\"lat\":49.62336004131421},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4606\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4606029\"],\"csd_name_en\":[\"Canupawakpa Dakota First Nation (Oak Lake 59)\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Canupawakpa Dakota First Nation (Oak Lake 59)\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-100.4628552576168,49.84275687991363],[-100.48105856205272,49.84569444497967],[-100.49828686570297,49.82210444438586],[-100.50808053811605,49.79789238946062],[-100.4627044894836,49.798196502054196],[-100.4628552576168,49.84275687991363]]],[[[-100.75999498620345,50.063669709828766],[-100.95277526349034,50.06406507487196],[-101.17210685803684,50.06366983848315],[-101.37834630410396,50.06355491047716],[-101.44730600459803,50.06400026366166],[-101.44721949092315,49.894369006702526],[-101.44837289873988,49.886711169227354],[-101.41754598208186,49.88667010666439],[-101.41760333805655,49.79833817543353],[-101.37692540273702,49.79795109027156],[-101.03258027336561,49.79817865862036],[-100.87214959469554,49.798303487084794],[-100.53130051694745,49.79798343360496],[-100.53085831663479,49.88699375447675],[-100.4851551664989,49.88676741013677],[-100.48533239045778,50.06228787036129],[-100.48455418912046,50.06303690125719],[-100.48455369403328,50.06313671005454],[-100.75999498620345,50.063669709828766]],[[-100.93075265706038,49.87206396917106],[-100.91771410741299,49.872065006974296],[-100.91979978237855,49.84252648913351],[-100.95381142418883,49.844914015446456],[-100.95381510587796,49.86522839862877],[-100.93075265706038,49.87206396917106]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.96599291712901,\"lat\":49.93283453067326},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4606\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4606031\"],\"csd_name_en\":[\"Wallace-Woodworth\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Wallace-Woodworth\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.32039954831824,49.927257640622805],[-97.38946612771251,49.92760882520171],[-97.4122112426873,49.923256011094615],[-97.44411542807754,49.923295334726355],[-97.4493376356822,49.8707379930241],[-97.45384454720234,49.805645043645924],[-97.34912125489592,49.80914449010556],[-97.34680580469956,49.83738070197542],[-97.3244850095315,49.838967000126246],[-97.32578854773148,49.86893046343991],[-97.34660601776793,49.87802131094485],[-97.34488601320092,49.89844361587441],[-97.3219525080731,49.89883648773917],[-97.32039954831824,49.927257640622805]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.39108163956742,\"lat\":49.86777451398576},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4611\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4611042\"],\"csd_name_en\":[\"Headingley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Headingley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-96.62892300786827,50.384805301942556],[-96.6344888295892,50.40745875805537],[-96.64080426987402,50.40285555410671],[-96.64044605124758,50.38502036480939],[-96.62892300786827,50.384805301942556]]],[[[-96.62892300786827,50.384805301942556],[-96.64532624370966,50.38220560042906],[-96.6515225453533,50.3698673724561],[-96.65221944415904,50.309233440035364],[-96.55460944247065,50.30958140884799],[-96.5547494408114,50.37121723215713],[-96.58221662520634,50.37126068796066],[-96.58185930270994,50.38510834440992],[-96.62892300786827,50.384805301942556]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-96.60550452158584,\"lat\":50.34634971193787},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4613\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4613062\"],\"csd_name_en\":[\"Brokenhead 4\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Brokenhead 4\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.45939770431964,50.06378128970143],[-97.73509119694995,50.06380348850486],[-97.73207176463849,50.04318245742857],[-97.6969694595755,50.02993163572465],[-97.6519041976529,49.99642470242295],[-97.64255837234285,50.0162216607682],[-97.60257581905688,50.012332591009056],[-97.59688709286108,50.00492019593421],[-97.56217698809674,49.99016669916176],[-97.5282263637521,49.96810589697333],[-97.52848145378535,49.96413065882326],[-97.48785921440181,49.941763967904706],[-97.47052475155078,49.9235535331901],[-97.44411542807754,49.923295334726355],[-97.4122112426873,49.923256011094615],[-97.38946612771251,49.92760882520171],[-97.32039954831824,49.927257640622805],[-97.29826659627338,49.93125950305407],[-97.2625287003999,49.93121885280722],[-97.2638108214789,49.916020286268086],[-97.22956598218641,49.91650460113717],[-97.22938190747783,49.97550819588058],[-97.18387300801923,49.97546110780632],[-97.18391818674044,50.063853791855145],[-97.45939770431964,50.06378128970143]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.41086461185375,\"lat\":50.00546601185753},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4614\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4614015\"],\"csd_name_en\":[\"Rosser\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Rosser\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-99.86033799976919,50.47634950084617],[-99.84753891488768,50.47631620532757],[-99.84681475579526,50.491618232241485],[-99.85987412438148,50.49178020115931],[-99.86033799976919,50.47634950084617]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-99.85364931514924,\"lat\":50.48404236583469},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4615\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4615072\"],\"csd_name_en\":[\"Rolling River 67B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Rolling River 67B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-98.59369588568605,51.71902231412845],[-98.59378328122587,51.71126349174559],[-98.53934308447315,51.71134522342501],[-98.52053446381025,51.72196604947892],[-98.49990097137206,51.721898802072644],[-98.4981932596462,51.76220846296683],[-98.52201730377213,51.76173462673616],[-98.53629355126877,51.76946237620977],[-98.5359685784586,51.780324338381575],[-98.49835866326377,51.7806594348389],[-98.49813450001481,51.76220961864865],[-98.45212906314275,51.762168928737516],[-98.45233494134031,51.750069681464446],[-98.41679781221093,51.764723213404324],[-98.37072192571985,51.76443960608777],[-98.35055314818425,51.76624184012269],[-98.33566353882254,51.78151603792815],[-98.31902666701924,51.76868004766454],[-98.31045814258007,51.77937934883306],[-98.34266947753856,51.789211640997344],[-98.35679315376026,51.784996345228976],[-98.36755284642437,51.807614147176864],[-98.36094384789278,51.827863910534994],[-98.37499020610936,51.829879210639405],[-98.45365350057831,51.82765972287668],[-98.59360015152399,51.82759661340051],[-98.59383526955004,51.88578055623138],[-98.73558590085939,51.885632686583264],[-98.73543991660159,51.755135963629414],[-98.87755837145455,51.75546625396053],[-98.87676648056484,51.7123140206044],[-98.84598795258776,51.71291224072579],[-98.84001407145492,51.701548143157225],[-98.82477938223526,51.69333964965894],[-98.81386315165837,51.67573564548055],[-98.82708127221967,51.67016763261028],[-98.81285304740231,51.6436029513813],[-98.7955997567701,51.62859874930504],[-98.79848664866189,51.61449593302375],[-98.78491944579591,51.5957739521253],[-98.75821824090924,51.59036744137255],[-98.73374046722367,51.58100364566942],[-98.72492554883276,51.588833039970346],[-98.70075688488218,51.587314214629856],[-98.70241485739213,51.60114471862376],[-98.68627594242739,51.61094084716895],[-98.66547744462093,51.632881335976144],[-98.63496086306945,51.642549061342905],[-98.65187574640358,51.648689449207076],[-98.65601436522529,51.65855633289368],[-98.68122393871123,51.665182235794795],[-98.69010827599527,51.68647993441734],[-98.66915715345024,51.69506804812481],[-98.65300126114535,51.69246783730523],[-98.64399929429885,51.66492621398786],[-98.62492128830473,51.664914558408526],[-98.6064357802158,51.65425789059584],[-98.5860971165454,51.68885440667176],[-98.61744591999093,51.688447246188744],[-98.61740889602024,51.71930020959916],[-98.59369588568605,51.71902231412845]]],[[[-98.59029248724912,51.550888754044735],[-98.62010749205564,51.551335115473684],[-98.63871631534325,51.54379568963348],[-98.66732479565282,51.56896070546573],[-98.70455499300753,51.5774141072132],[-98.73457299662581,51.57504648402645],[-98.73102546135493,51.565406046519186],[-98.7708333607907,51.54900873257612],[-98.7698334794825,51.53708833570106],[-98.78654685426083,51.53036713190398],[-98.78045677997461,51.49574683431441],[-98.76355774854244,51.464022435182144],[-98.77942236299556,51.46082984590555],[-98.80360045553242,51.448401152833355],[-98.81203535875828,51.42861495187799],[-98.81098198016342,51.41200084986289],[-98.81985796823585,51.407271539276735],[-98.81518176782724,51.38137663192753],[-98.79068156926405,51.39723314874468],[-98.77606017288349,51.38013942999512],[-98.77727846358918,51.370403450355816],[-98.75271614325013,51.34176872930035],[-98.75411777159117,51.314588842644156],[-98.73302688238614,51.30694435109595],[-98.72733427651781,51.294364832946506],[-98.70865376969402,51.294337849878424],[-98.69174286825809,51.285990428538916],[-98.64154257763063,51.29303663255672],[-98.62167995470963,51.2877048447331],[-98.59158136737668,51.28674943067401],[-98.56422627224623,51.28012704830597],[-98.56242494238533,51.27203195441192],[-98.58632665359167,51.24479605273592],[-98.577841285574,51.24401948835829],[-98.25638401046528,51.24391979106189],[-98.25671395393432,51.12627589655345],[-98.30031100238817,51.1252598590399],[-98.30321098042165,51.081941002858265],[-98.30355139437717,50.94828059051929],[-97.88390759771464,50.94989946348658],[-97.88410233770551,51.038343649360996],[-97.95347799958219,51.03812918163291],[-97.95322458606219,51.12647845737427],[-97.88405795918048,51.12654203002952],[-97.88380170355379,51.21517178591383],[-98.13935732212701,51.21473467957212],[-98.13956803582225,51.22911108625131],[-98.11573087022734,51.22929897088555],[-98.1161051530216,51.24376468025733],[-98.13954320165467,51.24399902035459],[-98.13987608612145,51.302786481899005],[-98.16128762938354,51.30292555105156],[-98.15932863926976,51.361639812868574],[-98.30372789184273,51.36154973905755],[-98.30354096376685,51.448914776020665],[-98.4442528841925,51.44892882144357],[-98.44431980699093,51.56789238628938],[-98.45568103883572,51.56108903984981],[-98.47233677829269,51.53046284861171],[-98.4905235807475,51.52330934397968],[-98.49756366604211,51.50966313455213],[-98.49248455123707,51.490169542351616],[-98.50981735436463,51.486997253181904],[-98.52706106516979,51.50332973600827],[-98.52892337366065,51.51485114102799],[-98.54088355816492,51.52357113457775],[-98.55690544311653,51.5168259501933],[-98.57105244254248,51.52278613038084],[-98.58971687500976,51.54060253615673],[-98.59029248724912,51.550888754044735]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-98.40278691004895,\"lat\":51.364323444840075},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4618\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4618060\"],\"csd_name_en\":[\"Grahamdale\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Grahamdale\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-96.28739019436672,51.19080363257939],[-96.27305617038007,51.18966182723762],[-96.26190626854127,51.200401442815135],[-96.29229144823114,51.23250822550066],[-96.32841925292618,51.26271413986825],[-96.3486560649961,51.294667536546235],[-96.37957315883725,51.323956133057905],[-96.40818906959532,51.33935234427326],[-96.43177824478926,51.3379970315252],[-96.46721374903453,51.353658441233165],[-96.47188495656174,51.36729512775728],[-96.45705846782518,51.37038274076211],[-96.45658055680978,51.381722626227145],[-96.48733247000088,51.37408064099022],[-96.5126176633234,51.40134994254185],[-96.51964637438306,51.42702774956757],[-96.53241990880612,51.4433666948713],[-96.72114152796493,51.377150272238545],[-96.73706004608252,51.369077129219946],[-96.74566006341567,51.35472753752117],[-96.77326715887428,51.33323973616648],[-96.76270743542901,51.32558283154198],[-96.7870764368181,51.30077882916832],[-96.80231416582278,51.29113264209537],[-96.82562796447218,51.29161752566234],[-96.83290986313617,51.27024013918595],[-96.85447874238415,51.25456182893313],[-96.86544873749017,51.23369973744979],[-96.89556185281619,51.22315634697037],[-96.89830634860245,51.20519271743729],[-96.8977691063418,51.126574092277394],[-96.85288121660382,51.126534645738545],[-96.84338644012338,51.11677424649412],[-96.8575778542638,51.10885093162012],[-96.86485775213005,51.09302493506189],[-96.85902216580872,51.08239103261295],[-96.89977967404475,51.08523962768404],[-96.91963367671892,51.094817742054495],[-96.91958237479025,51.07527814819954],[-96.95995104899819,51.05217033548017],[-96.95759395219764,51.03796423468971],[-96.88351857365572,51.0000771446422],[-96.80126537869013,50.959792958300696],[-96.74963124745263,50.985154721133696],[-96.63340233920555,51.052714768762186],[-96.50020969052281,51.133767621501406],[-96.40840838260405,51.15605484669912],[-96.39218003743787,51.15713553885608],[-96.38044903513251,51.17321133240501],[-96.35830944102452,51.18719394249771],[-96.32541034044522,51.18881882106485],[-96.2998926500811,51.19407584109157],[-96.28739019436672,51.19080363257939]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-96.64055649576378,\"lat\":51.204871499294555},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4618\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4618091\"],\"csd_name_en\":[\"Division No. 18\",\"Unorganized\",\"East Part\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Division No. 18, Unorganized, East Part\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-96.7169218324518,51.80108923021764],[-96.70194955434441,51.78793323660197],[-96.6980312604725,51.775485429493045],[-96.67573106022131,51.754977946815075],[-96.65901627130651,51.765333525931595],[-96.65880249711941,51.79408236816994],[-96.68250627398987,51.801029081329666],[-96.7169218324518,51.80108923021764]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-96.68089185603475,\"lat\":51.78216771305258},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4619\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4619052\"],\"csd_name_en\":[\"Bloodvein 12\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Bloodvein 12\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.3597932591333,51.46026643148564],[-97.35921494951063,51.453165560604404],[-97.41842084800538,51.45285808905433],[-97.41757153769926,51.433010800781375],[-97.46509880619902,51.43249156861853],[-97.4644935756743,51.40349148751727],[-97.41749492760087,51.40391201446359],[-97.41744035694148,51.412013036894706],[-97.26742889359683,51.41281684527353],[-97.24118329909126,51.41862002851088],[-97.24251154601616,51.434730233082185],[-97.28634685757379,51.43174634089599],[-97.30215352033447,51.4375466336162],[-97.30267208639994,51.45315456321332],[-97.34889524651274,51.45257505148883],[-97.3597932591333,51.46026643148564]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.36130027048215,\"lat\":51.42859525518056},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4619\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4619056\"],\"csd_name_en\":[\"Fisher River 44\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Fisher River 44\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.46205753365984,51.30403475377165],[-97.46229768659208,51.39173729469925],[-97.50947268922896,51.39170849631857],[-97.55521396325527,51.39174605054973],[-97.60227057021254,51.3916192650976],[-97.60236200861353,51.362626609069075],[-97.67268451626796,51.36265827426543],[-97.67431436852158,51.288705150509855],[-97.74268851886033,51.28705518762785],[-97.74335939021262,51.2151576929139],[-97.4621905927729,51.2151005917515],[-97.46205753365984,51.30403475377165]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.58182248423095,\"lat\":51.29308708963351},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4619\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4619059\"],\"csd_name_en\":[\"Peguis 1B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Peguis 1B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-94.46151253789441,54.57014513025109],[-94.45935266100953,54.55776186004208],[-94.4720156401776,54.54794185112844],[-94.44802394760539,54.538292742781934],[-94.44463550890619,54.567528751683255],[-94.46151253789441,54.57014513025109]]],[[[-94.53053092066554,54.53172672729849],[-94.52035139107949,54.550862934476044],[-94.61884715776331,54.550909943361894],[-94.61344162664396,54.524386094714075],[-94.73323539588351,54.524797343462474],[-94.7681389212629,54.51493063174004],[-94.76855014271283,54.49062957017622],[-94.73044456124018,54.49026348376405],[-94.71339545834256,54.51213734399865],[-94.66833113318592,54.52266474356472],[-94.65048551573442,54.5127042395512],[-94.60826922595143,54.51234163582238],[-94.57688671952178,54.5185718475234],[-94.57443162353728,54.52836683991807],[-94.55685722825656,54.53569633210388],[-94.53053092066554,54.53172672729849]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-94.62862528090082,\"lat\":54.52680544992167},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4622\"],\"cd_name_en\":[\"Division No. 22\"],\"csd_code\":[\"4622049\"],\"csd_name_en\":[\"God's Lake 23\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 22\",\"csd_name_fr\":\"God's Lake 23\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-94.20058112577256,58.79486190456585],[-94.19839934506416,58.80653273432988],[-94.21638258135617,58.814860813394],[-94.2446526071608,58.79537495202637],[-94.27320282592761,58.796275224257165],[-94.29349005554988,58.78133659932733],[-94.29657240317981,58.7625526811548],[-94.30858181126895,58.75004579984824],[-94.30161273351176,58.74151135654694],[-94.32337532753778,58.71988294454225],[-94.36938852110573,58.704169051359514],[-94.42663689673992,58.70282835533162],[-94.45094949784927,58.715266951408616],[-94.47641620562992,58.73770955049119],[-94.47582659615699,58.75812085738732],[-94.48364311708254,58.78483843825464],[-94.51076840460767,58.80121534578447],[-94.51760000870568,58.81887305109879],[-94.52935900537952,58.827061043662795],[-94.57534960524723,58.83908743967025],[-94.60178469562278,58.85669685424351],[-94.60640683684544,58.8884437376302],[-94.60147357672297,58.89715190515652],[-94.6064653968644,58.926789791738834],[-94.60204068234685,58.93868178694139],[-94.6284610575203,58.948567987408026],[-94.67674818843754,58.944111395242736],[-94.70158450364352,58.962296742246316],[-94.73246629045477,59.00275524221062],[-94.75238812722013,59.013744946910606],[-94.78491501092668,59.01692345527195],[-94.78874211873195,59.03641015569172],[-94.7978255275516,59.04635005909093],[-94.78822562833294,59.06538229973575],[-94.79834493858824,59.08121745133571],[-94.81059470087669,59.085618352998836],[-94.8111413006255,59.118245954753796],[-94.79391943498293,59.12664973608824],[-94.79490351251995,59.14712134550802],[-94.78118390159172,59.15263283946047],[-94.78232909472692,59.164055459317346],[-94.80505760767714,59.18779313891592],[-94.80100162855004,59.19841443802545],[-94.78184709829023,59.20662064402643],[-94.7906519026001,59.22218125979053],[-94.81451321664055,59.22912935969606],[-94.78576190400112,59.24601286088609],[-94.80415683048979,59.26600874863683],[-94.77116942183454,59.2850050550069],[-94.78145221348878,59.29779314389435],[-94.75268310630193,59.309143647584705],[-94.76681938991699,59.335938451377096],[-94.74959280383634,59.347226849176124],[-94.7159892064364,59.38017074680414],[-94.73414101344962,59.411797745561216],[-94.75041998705981,59.4276852382756],[-94.73633711175941,59.44004984584057],[-94.74484461114069,59.459502637069434],[-94.76373460423494,59.474564056236034],[-94.77321632159538,59.50108684731405],[-94.80044643610441,59.51566904592886],[-94.80073193849857,59.53418336021011],[-94.8115018000707,59.54451845050203],[-94.79955131914825,59.56630025833538],[-94.81108212714082,59.59140474986722],[-94.83611010022213,59.60257133909858],[-94.82758948756918,59.61586064042955],[-94.83417841931963,59.64887733504892],[-94.82433121473292,59.68891634232],[-94.82765428691688,59.702546051088795],[-94.817081115511,59.727658653250664],[-94.81906231971367,59.745912158476926],[-94.79652989444467,59.751278351362565],[-94.79483563596064,59.76735725217137],[-94.78298791155181,59.77083635919934],[-94.77254582347223,59.79002044781076],[-94.79197879319929,59.795805550699704],[-94.79898631299294,59.81768804919469],[-94.80060230426932,59.85552555682242],[-94.81126209486519,59.87173624276915],[-94.82736839713108,59.88163855987968],[-94.81878740042339,59.88859745597405],[-94.83185163228711,59.902372858097586],[-94.8230592956748,59.91344993799538],[-94.83770740729102,59.93284125619459],[-94.83913973114718,59.955308440045506],[-94.85274560736045,59.97128093635416],[-94.83388301285662,59.978321544044064],[-94.82437279440695,60.00000004191039],[-95.17499998044048,59.999999986535684],[-95.44999999519511,59.999999990537816],[-95.75000000369295,59.99999998892221],[-96.00000002442218,59.99999999655816],[-96.50000001293806,59.999999995978705],[-96.74999999569653,59.99999998994888],[-97.25000002535361,59.99999999992264],[-97.5000000226624,59.99999998666422],[-98.00000000511297,59.99999999455485],[-98.50000001438634,60.00000000093845],[-99.00000002639095,60.000000000552745],[-99.49999999530951,60.00000000536704],[-100.00000000305585,60.000000008761596],[-100.49999999489373,60.00000000089271],[-101.000000000965,60.00000000851929],[-101.50000000126587,59.99999999697558],[-102.00000001273933,59.99999999726299],[-102.0073897479384,59.75177941224119],[-102.00666187385048,59.00053857790347],[-102.0062864995188,58.81456941733949],[-102.00602442499559,58.31370962426344],[-102.00574161488807,57.999933099989164],[-102.00522942175768,57.41685932917863],[-102.00502447835595,57.17805422418108],[-102.00739109778443,57.08348720691971],[-102.00760914169027,56.500154617418474],[-102.00635711025382,56.32559570944238],[-102.00405225979709,55.999840261499244],[-102.00412938852956,55.809350074241244],[-101.96387163013296,55.80946849711828],[-101.96366510858893,55.62400200127284],[-101.85650759137347,55.62511785570774],[-101.33702907754112,55.62591590549114],[-101.01647110427444,55.62521081659001],[-100.78178172854663,55.62547103052689],[-100.33562144949047,55.62461464325199],[-100.02619367240483,55.62291158359365],[-99.53444436266824,55.62451040494164],[-99.37177835370143,55.62601315635651],[-99.01719346015832,55.62550629662777],[-99.01063765021824,55.80627806598473],[-99.02727339715544,55.80597370910415],[-99.02537191290189,55.88713110956485],[-99.02660596037342,56.000152898295354],[-99.02574025096732,56.09468734825166],[-99.02935154913204,56.33358935126727],[-98.7572318037767,56.333612945496036],[-98.5234643976534,56.33100538093859],[-98.42818270733756,56.3325079335385],[-98.00020331365346,56.33345490692782],[-97.60398086570493,56.33670116925761],[-97.24350911278238,56.33846317055167],[-96.90501614163882,56.34139699524405],[-96.49999999686432,56.34184701278319],[-96.17217221382664,56.339577062625544],[-96.15666128593165,56.33960470893329],[-96.1463611824046,56.33962198970968],[-96.08685307666616,56.33970340344932],[-95.49999997877305,56.33884999176732],[-95.0001039822768,56.33499942372548],[-95.00010423997308,56.4198995299433],[-94.46015011335521,56.42304075850706],[-94.46250009603249,56.4387849971611],[-94.4617825355663,56.50635510725646],[-94.2734936187181,56.50810453645611],[-94.27170117050856,56.59355793105104],[-94.11446339643513,56.595793401271536],[-94.10887122878118,56.681324665610596],[-93.99999998961681,56.68122446298035],[-93.99999999710039,56.769375580799476],[-93.68459079916798,56.76954778309689],[-93.68456695773978,56.704022644797334],[-93.68271486824523,56.50543936504858],[-93.99831538909042,56.505134391748214],[-93.99943401318828,56.41902443314334],[-93.99982234370829,56.244964322684616],[-94.1297146737237,56.245624437307285],[-94.34916554151134,56.24998436553341],[-94.749795408572,56.249991146906424],[-95.0001037664319,56.25000012059087],[-95.00010305763114,56.012916698927356],[-95.00010237217528,55.76465297948572],[-95.0001015078128,55.460125700679086],[-95.0001007393947,55.17590669445206],[-94.75750866384837,55.17711095425726],[-94.43924160704759,55.17788774244395],[-93.92636661812826,55.178541500347485],[-93.68014483647505,55.178216369911354],[-93.17576305280988,55.17600948885785],[-92.83342752254174,55.17333849187249],[-92.36009058148503,55.16883037014627],[-92.19742073712584,55.16542317841075],[-91.79088267055015,55.158672586399035],[-91.64779319163773,55.15848486054443],[-91.34611539215634,55.36201247342885],[-91.00000000782674,55.59118152373882],[-90.80225034836282,55.72039433656763],[-90.43321260906926,55.9569134372268],[-90.24611171156772,56.07523021803084],[-90.02763989299581,56.21231805708671],[-89.80938583805921,56.34804275220084],[-89.4580415491405,56.56356383641766],[-89.14900665616797,56.75006498707375],[-88.97957690400342,56.85114844620637],[-88.99999978720821,56.85408302424866],[-89.05068993425473,56.85353293495042],[-89.08596649826652,56.8620888272065],[-89.21158001070543,56.88010274135682],[-89.26428979274196,56.896171837735324],[-89.32032321332778,56.910144423953106],[-89.36360202718694,56.92371833759037],[-89.39151431760014,56.92028143120036],[-89.41011802869755,56.92379102380139],[-89.46236618854921,56.92250392151584],[-89.49865070638664,56.924377747156136],[-89.57573222517355,56.94074852343378],[-89.6191743010855,56.9476416431231],[-89.68200959375868,56.96117353388823],[-89.77676912744799,56.971874634530664],[-89.89240178751467,57.00000003729442],[-89.93681302450311,56.999137435024615],[-89.97713921318451,57.007978445164625],[-89.99999980721714,57.02105903262439],[-89.9920284233825,57.02569239011446],[-90.06877231379734,57.051655928624264],[-90.1586109107053,57.07465193209686],[-90.18781512571503,57.09220254985553],[-90.24094461226586,57.11320404728351],[-90.35418993066565,57.152576232165096],[-90.39139379294065,57.15807004422841],[-90.38893483281281,57.17697782901885],[-90.46658062830336,57.19758892538086],[-90.50941361742053,57.19777494157843],[-90.54373950209138,57.21040984612652],[-90.56233680095299,57.21192793840507],[-90.58779890939256,57.22341053511532],[-90.63580020955,57.23788663520625],[-90.66352342674192,57.23850153217448],[-90.71431009144028,57.232092129980494],[-90.73434688845923,57.23625303284949],[-90.77247950499103,57.25301204581292],[-90.79776428947662,57.25139563044427],[-90.86123513028771,57.26525063204773],[-90.94774870521702,57.262171050164305],[-90.964442797238,57.25920762614639],[-91.00363373466332,57.26385903307418],[-91.06486159748671,57.25930374474781],[-91.1040687184911,57.25337903086263],[-91.12956253000459,57.2539287337803],[-91.14651789061574,57.247668127222795],[-91.25072900524889,57.22839062754566],[-91.26699842084096,57.21965963291627],[-91.31731810321074,57.214121744057195],[-91.33343772126916,57.20736774790662],[-91.37619219938104,57.200997247018826],[-91.45269869948035,57.17976793569689],[-91.47081200111394,57.17663114172272],[-91.57926042639644,57.148270442772755],[-91.63396929452489,57.13786763860177],[-91.64562832804329,57.132925927633465],[-91.68306450239857,57.12930724792742],[-91.71790263521147,57.12050223649872],[-91.78736671214081,57.098198235361465],[-91.82903172553732,57.0897156522634],[-91.87010990994555,57.07719834712699],[-91.9518503942659,57.061401143920726],[-92.01688152601267,57.05123504746871],[-92.09436713028092,57.04770523375706],[-92.104011111227,57.03921013246579],[-92.12305342292444,57.04920794594725],[-92.14658871469004,57.044171646225216],[-92.20977321953293,57.07249323261074],[-92.28366031237988,57.063578448537825],[-92.3686625229735,57.058752850693956],[-92.44298823317435,57.046730440591666],[-92.48220700391992,57.03467323098401],[-92.61641311069341,56.97870104539843],[-92.63455280622784,56.95926344617914],[-92.68377501969947,56.93222314592156],[-92.73143750181151,56.922234538350814],[-92.75395558678419,56.94027748463565],[-92.72660051040059,56.945790441530896],[-92.71364330247114,56.9536686446246],[-92.68629733625895,56.98760863048012],[-92.64366010156728,57.01590085157291],[-92.61212639638666,57.04323045025727],[-92.59613244302463,57.05016183982006],[-92.5448769069834,57.101087041644476],[-92.4955724265011,57.179301731624975],[-92.44899369873343,57.23740113572735],[-92.4385858948376,57.263686748402584],[-92.43321524014505,57.30908554575324],[-92.42446581603092,57.32914925160735],[-92.42501702303235,57.35770403398729],[-92.44184210655727,57.398530029683165],[-92.44949129433495,57.43423093873952],[-92.45934560009245,57.460007333759016],[-92.4791375389614,57.48688033587589],[-92.5029722019614,57.531472750835185],[-92.5411823993516,57.540378333431605],[-92.54335472164796,57.56043664720098],[-92.5611674397776,57.592018642485804],[-92.59045239381062,57.619632739922295],[-92.60070310708963,57.6405834467093],[-92.6265316228902,57.65964514279504],[-92.65678693790517,57.70350294058208],[-92.66745203105188,57.7135970423062],[-92.71118372061056,57.773542335761505],[-92.73063910302804,57.809844038744124],[-92.73223680545965,57.83268594543705],[-92.7416058296814,57.83490914887512],[-92.74818829059626,57.85465793077175],[-92.76199120560997,57.87569425317672],[-92.79353780589517,57.95689593908404],[-92.79899030667289,57.98177513771029],[-92.81489810254128,58.018780152144444],[-92.81516583061688,58.031004844037554],[-92.80030890059062,58.04330353344964],[-92.82394222767797,58.06461814243356],[-92.85074329841362,58.10546865033975],[-92.84678539241672,58.133859139253744],[-92.88188100485891,58.1518382500012],[-92.86921532067785,58.17066654492691],[-92.89491730323398,58.17558013344528],[-92.92164188981972,58.1996134427682],[-92.92740208922285,58.21858133101255],[-92.9794395128448,58.280405247171586],[-92.97835001645758,58.3042539520982],[-92.96834952132802,58.30829913730284],[-93.01390569869957,58.32720844239079],[-93.03455949500879,58.34494225400236],[-93.04322290208486,58.367383943197396],[-93.05554029251883,58.37943855311573],[-93.06066773107106,58.407815746253014],[-93.08384610694,58.44011313598261],[-93.11552922681719,58.47780413116441],[-93.11563069712969,58.50307964328013],[-93.1344981237448,58.52665363992822],[-93.14166539440293,58.57159753541667],[-93.1355948093643,58.57973974960275],[-93.13517622632331,58.60323084673297],[-93.14771529344101,58.62487283154468],[-93.15430099572444,58.65776804821687],[-93.14406072917544,58.67596623424432],[-93.17603681509172,58.71110843109649],[-93.17982821431009,58.737248937168204],[-93.2101820853892,58.7628222361604],[-93.23875278962622,58.76541345251362],[-93.28108030808558,58.76100675358744],[-93.30052859738144,58.7518612410977],[-93.32792488605465,58.756195451916746],[-93.34837320326886,58.76470953894446],[-93.38322368702435,58.75566575753347],[-93.3926691951508,58.73736274020713],[-93.41458022643226,58.72250515607538],[-93.44868321184624,58.72464873880941],[-93.4587170950304,58.737640938418984],[-93.46607480825001,58.76257945824601],[-93.49787031470962,58.775443047023806],[-93.53739562282026,58.7783932546763],[-93.55113233085032,58.770117744696876],[-93.58058031669289,58.76495674930137],[-93.60780592818472,58.76765805364407],[-93.64074672782397,58.7882069366941],[-93.68635323424185,58.78721973748071],[-93.74570312621087,58.7923699347661],[-93.74133981434997,58.77447084352736],[-93.75663223042682,58.76871574822619],[-93.7835867133392,58.773911046236115],[-93.84116491277146,58.77104815541181],[-93.87003929240602,58.7667440390562],[-93.8736180883279,58.75549905374798],[-93.88968660937374,58.751560743217865],[-93.90887532595585,58.76638624838708],[-93.93941573436967,58.765059334959744],[-93.96791883084853,58.77033785292605],[-94.02930352466312,58.76235309788993],[-94.04175245870431,58.74778522422692],[-94.04618622017668,58.70078709599474],[-94.17236872923368,58.70152027769735],[-94.17939853071897,58.704525545611624],[-94.17283543560002,58.72893373394958],[-94.14074312493679,58.733009340166966],[-94.14429341127364,58.75000004865943],[-94.17177703272937,58.75420974080085],[-94.18141133654441,58.76928623943974],[-94.20279350659948,58.78365544940756],[-94.20058112577256,58.79486190456585]],[[-98.48989552386324,58.72457154024185],[-98.47678900232349,58.72149185113613],[-98.47812572457568,58.707372947515104],[-98.50518954855828,58.717075676374684],[-98.48989552386324,58.72457154024185]],[[-100.57117864112247,56.23041924503244],[-100.54316842133575,56.228603028916694],[-100.55457643020367,56.219168877695196],[-100.57117864112247,56.23041924503244]],[[-101.50210905350961,58.63380766015483],[-101.46869004883156,58.62883996346592],[-101.49782874604078,58.61158335283251],[-101.51164232565452,58.620406961893494],[-101.50210905350961,58.63380766015483]],[[-98.92021703731405,56.80991704976756],[-98.89889621504696,56.81070778621091],[-98.89912720200742,56.79486882920248],[-98.9165034604031,56.75239145356152],[-98.94330617966936,56.745353127441106],[-98.95739675366566,56.752813848223575],[-98.93388233706709,56.78136844392547],[-98.91422323279042,56.78883963798607],[-98.92021703731405,56.80991704976756]],[[-101.2971511494996,55.771900258580054],[-101.25871413740227,55.76090316412807],[-101.24142651127545,55.76168220902786],[-101.24249643503079,55.72316365039247],[-101.26917856755895,55.72103254988986],[-101.30618619714456,55.73419683454218],[-101.28686305903165,55.748180856996555],[-101.28056664077788,55.73000854941344],[-101.26347413747679,55.73116546083123],[-101.27569455653091,55.758002858221296],[-101.32699755548961,55.736647446380694],[-101.29896404424345,55.760849141540135],[-101.2971511494996,55.771900258580054]],[[-100.53705691334977,56.870097149012864],[-100.54751543011736,56.84173665606817],[-100.5371942327974,56.832847660609005],[-100.53701176691251,56.81584344665313],[-100.60514447066602,56.79219834924994],[-100.61003118182637,56.837301216101075],[-100.59145175774749,56.84893285923008],[-100.57378924742805,56.851676049293296],[-100.56701486458692,56.86158420970912],[-100.53705691334977,56.870097149012864]],[[-92.08991368891706,55.83418765805091],[-92.16130444223116,55.857432765968255],[-92.13048808077936,55.887956825930004],[-92.03372623839726,55.85620278323523],[-92.06535657809083,55.826131622938924],[-92.08991368891706,55.83418765805091]],[[-101.67008303618533,57.881948972926544],[-101.67101648286945,57.94320377684865],[-101.49732395758863,57.9448128593557],[-101.51675262317002,57.931125164138265],[-101.54862664260432,57.926063248059094],[-101.55419412761694,57.903409154280595],[-101.58787713082214,57.89378266729031],[-101.58982284418447,57.91817176041297],[-101.61149276354271,57.91191565710707],[-101.60736633822476,57.89715545232688],[-101.62118716005268,57.88358324506878],[-101.67008303618533,57.881948972926544]],[[-100.84034081330068,56.68256102027914],[-101.22807039717675,56.68308908589502],[-101.33301138188686,56.68382692884211],[-101.33333698392369,56.70496441347095],[-101.3449771109654,56.965438844769025],[-100.81663263958859,56.970029878238535],[-100.81572009736416,56.8476630967593],[-100.81284763114141,56.68246606113407],[-100.84034081330068,56.68256102027914]],[[-99.47030748489313,56.333267610933746],[-99.56573734135027,56.33316302084528],[-99.74133179532939,56.33112941862998],[-100.00915121095531,56.32830541562374],[-100.14899190300785,56.330483430359074],[-100.15011868974152,56.50463919594498],[-100.17487283455769,56.50485844658496],[-100.17346393562994,56.594872815721295],[-99.93605079740654,56.59391600831381],[-99.91637960584026,56.59488583018715],[-99.3780507297285,56.595121096726146],[-99.37753810559359,56.50889567158664],[-99.36040816448424,56.50907392534993],[-99.35774782596383,56.33358785914914],[-99.47030748489313,56.333267610933746]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-96.80661846982674,\"lat\":57.61828312375197},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4623\"],\"cd_name_en\":[\"Division No. 23\"],\"csd_code\":[\"4623062\"],\"csd_name_en\":[\"Division No. 23\",\"Unorganized\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 23\",\"csd_name_fr\":\"Division No. 23, Unorganized\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.8124373844488,49.14665540503376],[-102.81371829872498,49.26077008865982],[-103.21687473231832,49.260704634430816],[-103.21733954208106,49.173863654633614],[-103.20869325787771,49.17386153306316],[-103.20865609749366,48.99941721029644],[-103.01041208403976,48.99932751680128],[-102.81229792218839,48.99935197239086],[-102.81254826075904,49.0580727614464],[-102.81245294030249,49.0773353995888],[-102.81243895277854,49.13211683762073],[-102.8124373844488,49.14665540503376]],[[-102.95689305886536,49.161530190226564],[-102.95662689896943,49.13915571923872],[-102.96908882306249,49.12479636952136],[-103.01391983043891,49.12469433458586],[-103.01383684945091,49.15063551464565],[-103.02514456697892,49.1615152223485],[-102.95689305886536,49.161530190226564]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.01260472025437,\"lat\":49.13031748417226},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701022\"],\"csd_name_en\":[\"Estevan No. 5\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Estevan No. 5\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.66440548919364,49.26683259649482],[-101.6634202864563,49.43053689423297],[-101.66519585071302,49.502140842240756],[-101.66395399036209,49.53270540037639],[-101.82797130228259,49.53271459043627],[-102.006296543619,49.528367141952444],[-102.00629961212788,49.522675985825934],[-102.0063204892941,49.263782601749895],[-101.79916658928936,49.26664749412122],[-101.66440548919364,49.26683259649482]],[[-101.87555244691352,49.391241425927284],[-101.86715641884092,49.390663525867446],[-101.86714190505229,49.38753371144001],[-101.88132760846838,49.38738703077274],[-101.87555244691352,49.391241425927284]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.83506086976844,\"lat\":49.39867309941172},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701039\"],\"csd_name_en\":[\"Reciprocity No. 32\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Reciprocity No. 32\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.59860670307947,49.387237488752355],[-101.59598943961696,49.39226198569127],[-101.60695112546473,49.3922361908652],[-101.6071375792734,49.387243194005954],[-101.59860670307947,49.387237488752355]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.602137469824,\"lat\":49.38984847422514},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701044\"],\"csd_name_en\":[\"Storthoaks\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Storthoaks\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.81941637532978,49.784624163802896],[-103.2257623210367,49.78469660475889],[-103.22590870559536,49.522711102175414],[-103.21735541457569,49.52270548417883],[-102.82016243701459,49.522666344957166],[-102.81920639656802,49.580743088336575],[-102.81954469636504,49.73565641906012],[-102.81942954963071,49.770037454814215],[-102.81941637532978,49.784624163802896]],[[-103.15800212220381,49.733922509133095],[-103.15799741123664,49.741010692742094],[-103.14577546122428,49.739696051334676],[-103.13548742841918,49.73343099143727],[-103.15800212220381,49.733922509133095]],[[-102.87604493784877,49.646334336102136],[-102.8759608565414,49.660874289395736],[-102.86426344923127,49.660750309126236],[-102.86432424541891,49.64621700921642],[-102.87604493784877,49.646334336102136]],[[-103.0225283331568,49.68641855141245],[-103.0114620684042,49.68294510379373],[-103.01075838149406,49.66120209667536],[-103.03468733783517,49.66825830254529],[-103.04075434973929,49.6826401939908],[-103.0225283331568,49.68641855141245]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.02275994234296,\"lat\":49.65348189973599},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701063\"],\"csd_name_en\":[\"Tecumseh No. 65\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Tecumseh No. 65\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.7225234919502,50.06356286008272],[-101.86186728877438,50.06361188812012],[-102.0064416100464,50.0603239687328],[-102.00642726458825,50.04672129034958],[-102.00621251058169,49.78456399320388],[-102.0067335329603,49.70592541473228],[-101.80712163384074,49.709658173174],[-101.69064359286173,49.70931150302071],[-101.69151297152024,49.84671817581283],[-101.69052512666966,49.8699099442998],[-101.69130690635933,49.88478935743258],[-101.72229520058815,49.886604998501596],[-101.72328540984196,50.019432077825115],[-101.7225234919502,50.06356286008272]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.8563133756641,\"lat\":49.880861325047164},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701091\"],\"csd_name_en\":[\"Walpole No. 92\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Walpole No. 92\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.04515931599346,49.842606292743724],[-103.06776979943741,49.84276070469091],[-103.06722634540266,49.863979288306254],[-103.09038760462637,49.86461589344017],[-103.11285489731799,49.872279010761986],[-103.11278839785044,49.84291790054261],[-103.09038090695118,49.8429015944917],[-103.09196745930198,49.82877456976064],[-103.02254881538249,49.83051989867845],[-103.0226149063184,49.84253860723061],[-103.04515931599346,49.842606292743724]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.07609130624455,\"lat\":49.84626496870891},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701809\"],\"csd_name_en\":[\"Ocean Man 69\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Ocean Man 69\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.81721421113028,49.5237327953826],[-107.21757329795935,49.52370242652296],[-107.2171073152458,49.378425776389264],[-107.21734028024643,49.26184487301953],[-107.21733894712108,49.17461554780294],[-107.20626438160906,49.174713338178506],[-107.20663717031229,49.09043592954913],[-107.20888441812745,49.00004442513378],[-106.8085670612524,49.00005799323478],[-106.80841707114296,49.09644266193548],[-106.80719251767496,49.17459629999443],[-106.81272695496641,49.174569706385505],[-106.81367070301272,49.27137861074599],[-106.81416051421007,49.52373570202809],[-106.81721421113028,49.5237327953826]],[[-107.07671883183497,49.42706427093795],[-107.06033801009876,49.42375740836061],[-107.0603967867764,49.41536147901151],[-107.07739468087873,49.415134807276274],[-107.07671883183497,49.42706427093795]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.01286474510921,\"lat\":49.262359525695445},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4703\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4703018\"],\"csd_name_en\":[\"Mankota No. 45\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Mankota No. 45\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.63079421696382,49.523845295733686],[-107.986933469972,49.523512267540326],[-108.02320119786208,49.52384245290311],[-108.02432404174381,49.436245906100396],[-108.13262390834953,49.43655608128899],[-108.16397614769032,49.43760956379756],[-108.24327958343206,49.436171872242966],[-108.42753948660658,49.436483901674976],[-108.42726620823817,49.26173099120329],[-108.02395791181357,49.26173748560712],[-108.02393188892978,49.17440239329785],[-108.010288036491,49.17440963437317],[-108.01007868575691,49.00001250803505],[-107.66030481314624,49.000074370569465],[-107.52020677693359,48.99947639263786],[-107.44611308452694,49.00005464926481],[-107.20888441812745,49.00004442513378],[-107.20663717031229,49.09043592954913],[-107.20626438160906,49.174713338178506],[-107.21733894712108,49.17461554780294],[-107.21734028024643,49.26184487301953],[-107.44555466481421,49.262297626109316],[-107.62054840990548,49.261834192051325],[-107.61908018028629,49.30858666427535],[-107.62077489905978,49.37573005103849],[-107.62090473697025,49.52369794275273],[-107.63079421696382,49.523845295733686]],[[-107.72430256466488,49.24629406808328],[-107.73268759327115,49.24012540937887],[-107.73265061746628,49.24925465637612],[-107.72430256466488,49.24629406808328]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.78154646076162,\"lat\":49.24228400362587},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4704\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"4704003\"],\"csd_name_en\":[\"Val Marie No. 17\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Val Marie No. 17\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.28014928252824,49.698399089715345],[-109.27958119877383,49.727807973426],[-109.2573873237301,49.727537709131475],[-109.25742096456649,49.73881995993343],[-109.2799760191007,49.738686539185345],[-109.28056887266784,49.76332300778403],[-109.25809900682074,49.77202959948993],[-109.25856236321741,49.87299607527334],[-109.28126330259182,49.874134009683324],[-109.28132320342205,50.04786060103939],[-109.69125918408032,50.04789210433993],[-109.69164218090674,50.13546518988501],[-109.72399999726012,50.13632889339111],[-109.85716879110511,50.134375187006974],[-110.00466229029878,50.134773831948706],[-110.00509269096874,50.04766880647828],[-110.0042225634236,49.959855299484104],[-110.00607285916985,49.90452836313101],[-110.01039300630981,49.87277353098564],[-110.00420792108184,49.81440239435625],[-110.0048820088153,49.73422774898486],[-110.00368954168363,49.67233807393526],[-110.00509379815196,49.567261987642375],[-110.00450303856292,49.523625833014904],[-109.84747111411679,49.522900700542024],[-109.78834740501831,49.523804095126806],[-109.36899550047394,49.523602430381274],[-109.25756561996373,49.52420891728846],[-109.25762702382421,49.69842686373252],[-109.28014928252824,49.698399089715345]],[[-109.46481359398992,49.91509114448325],[-109.46337711405738,49.895102753662705],[-109.48609629746264,49.89510787478208],[-109.48608661797266,49.916746298954784],[-109.46481359398992,49.91509114448325]],[[-109.70932810319137,49.84417059332571],[-109.66119548086454,49.84409723093834],[-109.65301386543867,49.8511466989486],[-109.59795247435197,49.8503634830057],[-109.59774365490009,49.83115719732935],[-109.64155798573022,49.82994899247067],[-109.64160688675038,49.81529710746839],[-109.66365173707294,49.82116404278497],[-109.6635952767282,49.829591182106405],[-109.69775088472097,49.82953794532813],[-109.70932810319137,49.84417059332571]],[[-109.79655466580252,49.62670938638382],[-109.78512349766254,49.63388365580487],[-109.726414361926,49.632575048598106],[-109.71932995870984,49.62580954183712],[-109.72103464584484,49.58851962465374],[-109.74930000252309,49.58210083366794],[-109.75460796595812,49.553480347452066],[-109.77683306653431,49.55571828535026],[-109.77239237103636,49.5905986156361],[-109.7829001741427,49.59057611525386],[-109.78299061262958,49.61344507509792],[-109.77243681981291,49.622545871215166],[-109.79655466580252,49.62670938638382]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.64982067451005,\"lat\":49.80594755276356},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4704\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"4704045\"],\"csd_name_en\":[\"Maple Creek No. 111\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Maple Creek No. 111\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.14331119969015,50.194749505501335],[-103.14337544326007,50.18572277098754],[-103.13260405135127,50.18558453588016],[-103.13258106787187,50.20017655154163],[-103.14331119969015,50.194749505501335]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.13754460699062,\"lat\":50.19165681159058},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705021\"],\"csd_name_en\":[\"Glenavon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Glenavon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.88379698607828,50.88759391136119],[-101.88135828722048,50.90245089104577],[-101.90480278496908,50.90224731395989],[-101.90436056795465,50.88726568234964],[-101.88379698607828,50.88759391136119]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.89358833995291,\"lat\":50.89505259392506},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705094\"],\"csd_name_en\":[\"Churchbridge\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Churchbridge\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.72707620904701,50.61577622251954],[-102.72703559330999,50.636200167685566],[-102.79759108857913,50.63589704738873],[-102.79505539260953,50.611101974569166],[-102.77005190306112,50.595677596764055],[-102.75012834251638,50.60108805509795],[-102.72710437745094,50.60885495522413],[-102.72708658094368,50.61321103915948],[-102.72707620904701,50.61577622251954]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.76167745485431,\"lat\":50.61912287048131},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705807\"],\"csd_name_en\":[\"Shesheep 74A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Shesheep 74A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.77773325582524,50.27975827466472],[-103.77367932217471,50.287117881940084],[-103.79321853819773,50.28698891676074],[-103.79324920849007,50.27978244633524],[-103.77773325582524,50.27975827466472]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.7844030763961,\"lat\":50.283549905037866},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706006\"],\"csd_name_en\":[\"Odessa\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Odessa\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.27420322193446,50.49863255828746],[-104.27420429448186,50.49168751244786],[-104.29709239004661,50.488325958123944],[-104.28825051549337,50.47821490437348],[-104.27420521784391,50.484243693229125],[-104.25132829159112,50.48421581058293],[-104.2513894113339,50.498626540167166],[-104.27420322193446,50.49863255828746]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.27047954635714,\"lat\":50.4893760011036},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706032\"],\"csd_name_en\":[\"Balgonie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Balgonie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.87132608627992,50.659068200752024],[-104.88235920997899,50.65261218328394],[-104.8822755143433,50.63306121617121],[-104.85914166471186,50.63620215933254],[-104.85799616103883,50.65907107527872],[-104.87132608627992,50.659068200752024]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.87018532740507,\"lat\":50.646292474362745},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706056\"],\"csd_name_en\":[\"Lumsden\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Lumsden\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.36784621212018,50.935773796602994],[-104.35648892078116,50.93580170571852],[-104.35653672321754,50.943381393988346],[-104.36774785898245,50.943398058743234],[-104.36784621212018,50.935773796602994]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.3621604607405,\"lat\":50.93958053912487},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706093\"],\"csd_name_en\":[\"Markinch\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Markinch\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.45473152154119,50.688224509509844],[-104.47854410727201,50.71756485340568],[-104.3623614981947,50.7172980035364],[-104.31620490269313,50.73129938543068],[-104.31619801162205,50.74633538199428],[-104.36247850060614,50.745976511385386],[-104.36175672894645,50.781612583492375],[-104.37398680902629,50.796694861360066],[-104.46437209612691,50.79743588350387],[-104.4760535722986,50.81282691115149],[-104.50086069526117,50.818952560847855],[-104.5003392997277,50.7826217205],[-104.47755948284491,50.78265232114974],[-104.47781171383126,50.746424991925174],[-104.50090130845382,50.746435990500416],[-104.50066842014833,50.706322422256996],[-104.49015494009679,50.70611904441293],[-104.48942954612028,50.68113294974516],[-104.50072103905717,50.67376537286931],[-104.50077219990274,50.65912214562037],[-104.44359370305688,50.65915384841146],[-104.45473728174875,50.67334563354502],[-104.45473152154119,50.688224509509844]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.43091399451494,\"lat\":50.74569357258719},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706809\"],\"csd_name_en\":[\"Piapot 75\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Piapot 75\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.79173989849085,50.759444519767236],[-103.79308593270427,50.7545861171337],[-103.78479352035767,50.754431852796756],[-103.78485784826378,50.75955841792624],[-103.79173989849085,50.759444519767236]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.78859599125849,\"lat\":50.75692594119606},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706829\"],\"csd_name_en\":[\"Treaty Four Reserve Grounds 77\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Treaty Four Reserve Grounds 77\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.663971863589,50.455567097485925],[-106.64626820454386,50.458638190295716],[-106.65136043350908,50.4663034063277],[-106.66412009066444,50.466281018239265],[-106.663971863589,50.455567097485925]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.65669101417605,\"lat\":50.46137866518323},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707031\"],\"csd_name_en\":[\"Chaplin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Chaplin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.55577382051723,50.673305548301116],[-105.56514328822335,50.67341416800738],[-105.56416887116096,50.664325896659435],[-105.55117574688245,50.65926080145971],[-105.53822014128436,50.65930189441049],[-105.55577382051723,50.673305548301116]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.55427314998703,\"lat\":50.66585635304951},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707045\"],\"csd_name_en\":[\"Sun Valley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Resort village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Sun Valley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.73751415400584,51.3398598047074],[-102.73758665294805,51.35065355121256],[-102.74952161188952,51.347449695447935],[-102.73751415400584,51.3398598047074]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.74154080628115,\"lat\":51.345987683789296},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709016\"],\"csd_name_en\":[\"Springside\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Springside\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.14888978437713,52.14399049979297],[-104.57801307850725,52.14389695993341],[-104.57800578379575,51.96913120617309],[-104.55674629174301,51.96391918680495],[-104.55671330247237,51.8816410945935],[-104.48439347492891,51.8814467815164],[-104.13239482498095,51.88194288786392],[-104.1308156613687,51.9689350324362],[-104.14877659997018,51.96884281109084],[-104.14888978437713,52.14399049979297]],[[-104.24816738432844,52.06749412179949],[-104.26811027156845,52.06781859780593],[-104.26809321512151,52.074485861210405],[-104.24358396726788,52.075292534802266],[-104.24816738432844,52.06749412179949]],[[-104.51775629475163,52.122168902237824],[-104.53930425010567,52.12236946257766],[-104.53029140198065,52.13669516551642],[-104.5063639108976,52.13679105462781],[-104.51775629475163,52.122168902237824]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.35685524349292,\"lat\":52.012641036047086},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710061\"],\"csd_name_en\":[\"Lakeside No. 338\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Lakeside No. 338\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.68808435191943,51.88166080189393],[-106.00468637505884,51.88182653352103],[-106.00373549449469,51.70938130474373],[-106.00422740196424,51.6201030974],[-105.80377449420119,51.619807368045535],[-105.40415950278843,51.62004250929026],[-105.4043941328692,51.713253524762095],[-105.45205001425226,51.71355466605234],[-105.439384129036,51.72194660278047],[-105.40459460116631,51.71860855204813],[-105.40449844359209,51.72013038566407],[-105.43812013068676,51.72617103194711],[-105.50878595147327,51.72995030781171],[-105.56137498218334,51.75215642149126],[-105.59031277009706,51.75451153340683],[-105.66493665549396,51.75073587377254],[-105.68787107226176,51.75745507657183],[-105.68808435191943,51.88166080189393]],[[-105.9187982925655,51.84498220597085],[-105.90083320708287,51.84531899547887],[-105.90080248255398,51.837964195488915],[-105.91262148820782,51.838169799353395],[-105.9187982925655,51.84498220597085]],[[-105.75876098360413,51.77223373342684],[-105.73596882809245,51.77234184253081],[-105.73540193561541,51.758347369618704],[-105.75918598161763,51.758459501687824],[-105.75876098360413,51.77223373342684]],[[-105.44099788097638,51.69587461449219],[-105.45175228101634,51.677972500096836],[-105.45093066608145,51.66358317421852],[-105.4752252881427,51.6635878514416],[-105.4877975505184,51.670731264572375],[-105.48739652002108,51.70701715972224],[-105.47527002859279,51.69948618679259],[-105.44099788097638,51.69587461449219]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.76463130316625,\"lat\":51.73081770076778},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711052\"],\"csd_name_en\":[\"Morris No. 312\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Morris No. 312\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.75876098360413,51.77223373342684],[-105.75918598161763,51.758459501687824],[-105.73540193561541,51.758347369618704],[-105.73596882809245,51.77234184253081],[-105.75876098360413,51.77223373342684]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.7472984086162,\"lat\":51.765296384671664},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711056\"],\"csd_name_en\":[\"Young\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Young\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.13028000100645,51.61990829994949],[-108.1303011824494,51.8816244073013],[-108.41396539083524,51.88168470435482],[-108.55481064993842,51.881324922011196],[-108.55562059398189,51.86398518893358],[-108.55596875360085,51.62001179130475],[-108.53528260493924,51.61976161037395],[-108.13028000100645,51.61990829994949]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.34301043350744,\"lat\":51.75069305812291},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4712\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4712038\"],\"csd_name_en\":[\"Mountain View No. 318\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Mountain View No. 318\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.28897501876646,52.143835706209536],[-107.71633212151617,52.14351293739274],[-107.71767891731098,52.11288676411132],[-107.71439178773564,52.08772678829425],[-107.71722581078322,52.070942903181525],[-107.71720970084678,51.96898538856396],[-107.70480690109208,51.96899422845813],[-107.70520892590993,51.88153213064581],[-107.27961199545334,51.88169220277081],[-107.27964430106061,51.96899339337886],[-107.2884192047893,51.968990152191935],[-107.28897501876646,52.143835706209536]],[[-107.54031148873446,52.060395670415325],[-107.54117445318647,52.048199574162034],[-107.55066188456239,52.04853419017288],[-107.55065639451875,52.05633978729224],[-107.54031148873446,52.060395670415325]],[[-107.42015986972459,52.07759627428436],[-107.41873692846852,52.06612581896676],[-107.43179167232516,52.06237448531169],[-107.4317576381953,52.07808576563113],[-107.42015986972459,52.07759627428436]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.49935886497667,\"lat\":52.01267468253703},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4712\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4712050\"],\"csd_name_en\":[\"Perdue No. 346\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Perdue No. 346\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.67808000953882,52.40572769080279],[-108.67805876279262,52.398392205388525],[-108.72706918668256,52.39819546829876],[-108.73780412134406,52.40568670538314],[-108.8097918131738,52.40561309173942],[-108.80974465536382,52.369214001906265],[-108.80974449373595,52.36204580880163],[-108.81343133114149,52.28120900868991],[-108.8316556465846,52.240090891546245],[-108.82784281231918,52.224242086136634],[-108.8412195457512,52.20073942674894],[-108.83791162753924,52.192589452728484],[-108.80661973440468,52.176267892280784],[-108.79973912577023,52.16222467775241],[-108.81285858834953,52.142548396486035],[-108.69304591634328,52.1435752033501],[-108.64545309524746,52.14084470169024],[-108.62163168611234,52.14354980071632],[-108.4311750957347,52.14357290613512],[-108.43158431089337,52.31831309625121],[-108.45022148992842,52.318303399225286],[-108.45019501729827,52.405720490207706],[-108.67808000953882,52.40572769080279]],[[-108.45508571303984,52.19452118829997],[-108.46041125473802,52.20196655873326],[-108.44360903617367,52.20172591540715],[-108.44353670996333,52.19434938093876],[-108.45508571303984,52.19452118829997]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.62726140864694,\"lat\":52.271781429341345},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713064\"],\"csd_name_en\":[\"Reford No. 379\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Reford No. 379\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.18054946574911,52.84859457066451],[-104.18048178595167,52.85637331240322],[-104.19296829992417,52.856371004755644],[-104.19272892607592,52.8480991689005],[-104.18054946574911,52.84859457066451]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.18674622159084,\"lat\":52.85237458513111},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714048\"],\"csd_name_en\":[\"Valparaiso\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Valparaiso\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.6544536411854,53.52982132100915],[-102.65561075713534,53.49015257305702],[-102.66733442236463,53.48245385722601],[-102.6540433129665,53.47222421710378],[-102.60474673583508,53.47171198851102],[-102.60613092318997,53.49767215300984],[-102.64290435691197,53.49810827146224],[-102.63099085293881,53.51089291332503],[-102.63266953474825,53.531213772089586],[-102.6544536411854,53.52982132100915]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.6362943801191,\"lat\":53.49474052448421},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714839\"],\"csd_name_en\":[\"Shoal Lake 28A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Shoal Lake 28A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.65204178717461,52.15855079743648],[-104.64929628932687,52.165636409432956],[-104.66130115261568,52.16536258454106],[-104.66171471708513,52.15827318004131],[-104.65204178717461,52.15855079743648]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.65606808475883,\"lat\":52.162083378009676},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715002\"],\"csd_name_en\":[\"Englefeld\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Englefeld\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.53685480122498,53.23434069110311],[-105.53734131129067,53.262684209895085],[-105.58631696023049,53.262754475734795],[-105.58623626684911,53.248596265426144],[-105.68455898521132,53.24896460610566],[-105.68456073761898,53.23410786144554],[-105.73339638218278,53.234585402109424],[-105.74498259451272,53.21981564036074],[-105.78255730315543,53.2199283938377],[-105.81811292858136,53.206505596177266],[-105.80681836162368,53.20459679033907],[-105.80729251895845,53.17317972122871],[-105.76204140733081,53.173102709448024],[-105.75257710668669,53.169217230433766],[-105.71685616434921,53.17111169633791],[-105.71578317875894,53.18036300019004],[-105.69340475475461,53.17954637736289],[-105.69367638304816,53.19850877768007],[-105.6852999491235,53.210937472706746],[-105.67035674336687,53.20617548552865],[-105.6525046174266,53.20979837924774],[-105.63296587893284,53.235334332379544],[-105.59984218567244,53.243047554215934],[-105.5681624168784,53.236200179626195],[-105.53685480122498,53.23434069110311]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.69852988141983,\"lat\":53.21450946723968},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715066\"],\"csd_name_en\":[\"Prince Albert\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Prince Albert\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.22542333694005,52.801180937308835],[-106.2354136451994,52.80500818938822],[-106.24703036940942,52.794335017067404],[-106.22264021574907,52.79447327121168],[-106.22542333694005,52.801180937308835]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.23373973350893,\"lat\":52.79834702147684},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715860\"],\"csd_name_en\":[\"Willow Cree\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Willow Cree\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.13400948774334,53.20676723524621],[-107.14765228878298,53.19232608910266],[-107.13192264467271,53.19238326193796],[-107.12448050425164,53.20668354057182],[-107.13400948774334,53.20676723524621]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.1349508407049,\"lat\":53.19896231717214},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716059\"],\"csd_name_en\":[\"Big Shell\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Resort village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Big Shell\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.95198789862377,52.989589528225736],[-106.95130962205646,53.01749174291723],[-106.95957349464955,53.01764170999952],[-106.95980827450964,52.98918904408999],[-106.95198789862377,52.989589528225736]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.95568094139067,\"lat\":53.00360992818631},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716886\"],\"csd_name_en\":[\"Muskeg Lake 102E\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Muskeg Lake 102E\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.16581893428642,54.136643133636035],[-108.16410989307734,54.152342096563565],[-108.20402272546728,54.16569827920277],[-108.23833133965668,54.16477940025397],[-108.2389924077236,54.180043304521654],[-108.26537137907899,54.180034091132804],[-108.26547576865086,54.158857464550906],[-108.21942185554272,54.15829401608567],[-108.2193742539289,54.15134193717934],[-108.28007351127944,54.15103910962699],[-108.28390883112958,54.14010045137326],[-108.16581893428642,54.136643133636035]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.22343739941692,\"lat\":54.15304221182729},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717830\"],\"csd_name_en\":[\"Flying Dust First Nation 105D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Flying Dust First Nation 105D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.27914149195527,55.0999412546127],[-108.30503857625384,55.097082155988446],[-108.33867138508634,55.10649374403032],[-108.34499656184941,55.09489744989866],[-108.31831198109435,55.09148636185094],[-108.27773197417689,55.09899845410579],[-108.27914149195527,55.0999412546127]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.32176465870872,\"lat\":55.097666329613794},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718028\"],\"csd_name_en\":[\"Cole Bay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Northern hamlet\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Cole Bay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.84748923509122,54.75064019041937],[-101.84743666257437,54.76252306597027],[-101.87600307916657,54.76252586636291],[-101.86906432990774,54.75076672763493],[-101.84748923509122,54.75064019041937]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.86005373710624,\"lat\":54.75689022571372},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718052\"],\"csd_name_en\":[\"Flin Flon (Part)\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Flin Flon (Part)\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.16139335838189,49.816295464695024],[-112.2059007799663,49.806652714279465],[-112.19473377958941,49.78972647306422],[-112.17211291097279,49.79335109917287],[-112.17211367744082,49.777998770723435],[-112.13840771367404,49.775196954141734],[-112.11591213019379,49.79448854196047],[-112.11594225205543,49.80795816899245],[-112.12714709968584,49.814988498805064],[-112.16139335838189,49.816295464695024]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.15531200702736,\"lat\":49.79797630792141},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4802\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4802022\"],\"csd_name_en\":[\"Taber\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Taber\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.86536524483282,51.05998634142658],[-113.91190370608064,51.05958606255983],[-113.91186339942361,51.18340350754752],[-114.0015438152791,51.18355079585339],[-114.00163123579675,51.20489051488117],[-114.01300190817696,51.21256229556639],[-114.12953188736242,51.21235079632164],[-114.12960138609466,51.19840679528673],[-114.2110201969316,51.197759406244394],[-114.21099688306514,51.18322389103209],[-114.23424029157164,51.18319149078654],[-114.23421939917007,51.15415828681407],[-114.25750400902017,51.153979905822176],[-114.25748557146876,51.123180813838744],[-114.27333019951597,51.112043536226835],[-114.29601618323333,51.14004839995967],[-114.30837150708655,51.12867655488618],[-114.2910939023069,51.11993106545781],[-114.29482296691592,51.08141851089904],[-114.23430048857463,51.08150990739092],[-114.23429474857906,51.00896884292819],[-114.16432148191883,51.00956575082115],[-114.14088078778552,51.007567000290244],[-114.14110673774114,50.9939748612544],[-114.16028018438796,50.99802940336957],[-114.16426556990127,50.98542302134992],[-114.14075336960643,50.979716808635054],[-114.1407258479932,50.92134213371701],[-114.20982577194026,50.921358228356304],[-114.20967988359295,50.892271799887986],[-114.14026751446943,50.89218000890945],[-114.11718708817375,50.88478470989915],[-114.09394812258408,50.89048952899814],[-114.0935975566589,50.8629120706449],[-114.0838603783697,50.86308349211359],[-114.07099225756873,50.848859547717396],[-113.9751137800416,50.84847627141842],[-113.94984610278459,50.84333155319386],[-113.9410875998522,50.850988658950946],[-113.91260538733741,50.852759648892594],[-113.89442222309732,50.859313561290776],[-113.86021384682074,50.85532660630335],[-113.85993531443506,50.92147160901805],[-113.87722528953968,50.92808188153996],[-113.86566585055897,50.943921145492105],[-113.8654334098425,50.979665587375855],[-113.9119001092736,50.9796934892993],[-113.91189318892863,51.0157165686001],[-113.86541836948035,51.015775861825716],[-113.86536524483282,51.05998634142658]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.05162114662147,\"lat\":51.034656824442166},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4806\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4806016\"],\"csd_name_en\":[\"Calgary\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Calgary\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.14345192139557,51.78754249131932],[-114.14344899351606,51.773224388714745],[-114.10753520264161,51.773595292227846],[-114.09112931125384,51.795027892511605],[-114.09628836452626,51.80979984148172],[-114.14345400563482,51.80956430360268],[-114.14345192139557,51.78754249131932]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.12002976769531,\"lat\":51.79241323439447},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4806\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4806034\"],\"csd_name_en\":[\"Olds\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Olds\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.85581189836095,52.33179488825237],[-113.8649427873569,52.31751879481516],[-113.89729186178538,52.31763566798324],[-113.89739294891734,52.30346798591441],[-113.88548529842687,52.2960093123389],[-113.86092525630268,52.296601579367874],[-113.86423739691806,52.2696945864844],[-113.81392365071578,52.222946018848106],[-113.79009019142784,52.21589644406164],[-113.76624447840265,52.215707993590435],[-113.76617578546794,52.23027319586938],[-113.7187325851253,52.23026560793543],[-113.71874091513634,52.27400308742218],[-113.73089397544,52.27381763777799],[-113.73049853793039,52.30330037816048],[-113.74235928218643,52.31765590441599],[-113.76338638839242,52.317624198264824],[-113.7733818277174,52.33160662578335],[-113.7700102561847,52.33969005248151],[-113.85104159437932,52.33777394478457],[-113.85581189836095,52.33179488825237]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.7974160127919,\"lat\":52.2809868223252},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4808\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4808011\"],\"csd_name_en\":[\"Red Deer\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Red Deer\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.95103784120475,53.78894813476985],[-112.93808493847993,53.780407092682076],[-112.9134482449953,53.780267923671],[-112.9141982413622,53.81784844871282],[-112.95090993030232,53.81785337746305],[-112.95103784120475,53.78894813476985]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.93180081313554,\"lat\":53.79968347141114},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4810\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4810066\"],\"csd_name_en\":[\"Bruderheim\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Bruderheim\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.39113040009751,53.36682770889243],[-113.3935237346605,53.3823190950737],[-113.44263156109487,53.382249651836794],[-113.46417729889141,53.36690569755843],[-113.46415709301625,53.337858694946426],[-113.4398068465416,53.33002241219073],[-113.3910457542619,53.32990827448601],[-113.39113040009751,53.36682770889243]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.42565975865013,\"lat\":53.35566791768523},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811013\"],\"csd_name_en\":[\"Beaumont\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Beaumont\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.5658442310862,53.65046184000713],[-113.60027970135792,53.65986757133629],[-113.61498390924065,53.679274799087324],[-113.65050809238224,53.681769711398466],[-113.64975199171917,53.66502390063327],[-113.68823199495922,53.6646682381401],[-113.69363987608288,53.646102654090186],[-113.70658968431134,53.637193857805634],[-113.69509461559858,53.62086175184022],[-113.67626378914188,53.621922466580685],[-113.65875720579858,53.61394384996654],[-113.67193593297868,53.59890344935553],[-113.63915700867186,53.59962979447291],[-113.58073706414058,53.63046617276978],[-113.56586163536102,53.635016413840695],[-113.5658442310862,53.65046184000713]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.63722393882995,\"lat\":53.64047539474586},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811062\"],\"csd_name_en\":[\"St. Albert\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"St. Albert\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.36609238543932,52.84341560721275],[-113.4144628101514,52.843448300373225],[-113.41433538492356,52.930742994548226],[-113.49820403337193,52.93074170814259],[-113.4975654237993,52.901627067028336],[-113.49732583981914,52.88696710132621],[-113.52250943995763,52.87215653655819],[-113.63074917797111,52.87218587928927],[-113.6320223084728,52.843384392198615],[-113.547338026467,52.8433667905059],[-113.49894190835302,52.84338459727346],[-113.4992119793155,52.82893735874221],[-113.47510123457329,52.82482752214533],[-113.45560837258404,52.82137603311718],[-113.36610081310224,52.821428491960035],[-113.36609238543932,52.84341560721275]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.48116543715226,\"lat\":52.86830451009604},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811801\"],\"csd_name_en\":[\"Ermineskin 138\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Ermineskin 138\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-110.00567348965434,54.747727662182314],[-110.03095713713279,54.74774147855754],[-110.05619911860987,54.74048812082991],[-110.08142128333255,54.74776221450262],[-110.08139582860197,54.76227763826369],[-110.45948684376764,54.762218073567595],[-110.91231165385885,54.76188497242473],[-111.2418256405414,54.76220039685833],[-111.23939089567831,54.66048216988412],[-111.31389165982223,54.66011260297062],[-111.3149591959437,54.60441120220176],[-111.44519144445262,54.603926083628224],[-111.44080716655513,54.50005217852594],[-111.44029338097064,54.4395928745065],[-111.42224347519563,54.422759864624155],[-111.38943576035682,54.425014129906124],[-111.39115947158801,54.33325232336362],[-111.32925724139741,54.333493554959446],[-111.31625481266825,54.32602090277661],[-111.31579390484825,54.23876630239038],[-111.3032817122822,54.23877618337154],[-111.30318200102629,54.1949412958718],[-111.21663671807829,54.195262188299345],[-111.2158687405291,54.0932739911054],[-111.21769720702501,54.06411430601908],[-110.93420811498783,54.06421238713896],[-110.8935871417504,54.05972982858648],[-110.9091359968324,54.08895380111739],[-110.90893641765786,54.12946839207514],[-110.89610297488049,54.1504048531346],[-110.87022067030958,54.14910275079399],[-110.85616369807789,54.140097454284025],[-110.82334947537726,54.142894674640516],[-110.8069990829587,54.13615966824861],[-110.77913679683365,54.141193459737806],[-110.77563147437493,54.1253616578432],[-110.75839507605512,54.12006375203314],[-110.75840697023507,54.06427562075067],[-110.45110316671378,54.06411185546064],[-110.45052581912532,54.01311188515279],[-110.37349013480576,54.01389794878145],[-110.37067026556015,53.95168195710735],[-110.3908135883128,53.94802715427727],[-110.3797138967877,53.92647535559609],[-110.36113390062707,53.9188041629454],[-110.35573398774702,53.875379955594745],[-110.34981370266219,53.85520615209153],[-110.29455296130745,53.88600089152871],[-110.24753280805791,53.88609479495435],[-110.25925073484343,53.874822508918264],[-110.15424082116112,53.87504394915083],[-110.1541751887301,53.88953313904159],[-110.00655137382377,53.88932259074703],[-110.0056632278999,54.063949558452336],[-110.00566448758357,54.236350841097625],[-110.005810419867,54.441159181152656],[-110.00569222639339,54.64980749919723],[-110.00567348965434,54.747727662182314]],[[-110.86373634421757,54.2336689323008],[-110.86779149376738,54.226970008588],[-110.86598691977082,54.22414432939098],[-110.87651665906434,54.22459142402868],[-110.86907477221665,54.22696025451035],[-110.86373634421757,54.2336689323008]],[[-110.89120678738013,54.24999002587633],[-110.89606237675385,54.250668051270864],[-110.89825767366703,54.25821635705926],[-110.89412430101876,54.258740096759176],[-110.89120678738013,54.24999002587633]],[[-111.15382478941684,54.260630791055135],[-111.1514837955003,54.25291388742811],[-111.16574941651534,54.246269728826725],[-111.16586895801748,54.2604010574211],[-111.15382478941684,54.260630791055135]],[[-110.7052151967346,54.28034459800992],[-110.70520147924766,54.260592098715215],[-110.69287560138109,54.25342232074148],[-110.78019577849295,54.25340529484372],[-110.80545612958407,54.26063897555542],[-110.79306520137187,54.27581230033549],[-110.75518990210043,54.27702675450345],[-110.7551942203123,54.28238781672837],[-110.7052151967346,54.28034459800992]],[[-110.20842996189491,54.50002929598517],[-110.23234975165722,54.479206707964195],[-110.3082872643487,54.47867421898824],[-110.30944297974885,54.544127354471314],[-110.24727581297684,54.54421453015948],[-110.23827419967773,54.5361902576591],[-110.20832178355431,54.53081916371268],[-110.19895980922718,54.51480666780354],[-110.20279249838256,54.500041412029745],[-110.20503368006472,54.48295825040637],[-110.16580678334847,54.46322017259604],[-110.15917056295899,54.45719271421816],[-110.1575182162396,54.442823471037755],[-110.18221399723728,54.44240060004907],[-110.1756644770656,54.42790633649434],[-110.18047266739751,54.39137274754451],[-110.2367805583678,54.389834102514975],[-110.25337302507538,54.372737216419075],[-110.31183598153316,54.395454155012075],[-110.31387628681158,54.41023476747346],[-110.33328580560074,54.426636205572585],[-110.33335215408643,54.449196609763575],[-110.28359427572691,54.44935656740483],[-110.28342758089858,54.428680695005404],[-110.23245268387012,54.42814269833721],[-110.21989672788783,54.42074292199785],[-110.2198935884621,54.47828263040459],[-110.20742448717901,54.4791377987312],[-110.20842996189491,54.50002929598517]],[[-110.24611118759788,54.35527001350879],[-110.20492030813777,54.35221517177221],[-110.20534758789512,54.238866396865674],[-110.3776667123565,54.238841967117686],[-110.3814165801787,54.24804632207724],[-110.37892619690726,54.29341442378554],[-110.38028048234311,54.35568019575156],[-110.24611118759788,54.35527001350879]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-110.64806110664568,\"lat\":54.389604840307506},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4812\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4812004\"],\"csd_name_en\":[\"Bonnyville No. 87\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Bonnyville No. 87\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-115.15050912540552,53.96209360265932],[-115.14225142906047,53.93670784996135],[-115.1175209505,53.935687337122744],[-115.11737650351915,53.94790409871372],[-115.1292420931251,53.95926468002187],[-115.15050912540552,53.96209360265932]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-115.1332883986017,\"lat\":53.948013522536826},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4813\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4813002\"],\"csd_name_en\":[\"Mayerthorpe\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Mayerthorpe\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.5431945767441,54.83093178958285],[-113.5550090768046,54.84678486822389],[-113.56115030452303,54.840276789741104],[-113.5431945767441,54.83093178958285]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.5531179860239,\"lat\":54.83933114918261},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4813\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4813049\"],\"csd_name_en\":[\"Island Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Island Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.56439237918416,54.743572190385436],[-113.56187289385976,54.75000006161748],[-113.56901127021932,54.75108888725322],[-113.56439237918416,54.743572190385436]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.56509218108773,\"lat\":54.74822037975205},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4813\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4813057\"],\"csd_name_en\":[\"West Baptiste\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"West Baptiste\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-115.17295478879556,58.55002311311122],[-115.1708071865639,58.48525791057033],[-115.19961531464524,58.48575453012337],[-115.20076186613419,58.44063295023903],[-115.1711121538681,58.441383952548605],[-115.17015532548739,58.427748531028364],[-115.11933356634738,58.427041145682516],[-115.11477828640518,58.3847874986711],[-115.08409289517245,58.385623038821116],[-115.08442015969246,58.48739160781047],[-115.01023068815785,58.48688933305689],[-115.00940835323667,58.57012212770765],[-115.17333110228346,58.572837190606585],[-115.17295478879556,58.55002311311122]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-115.1063897388233,\"lat\":58.500236505647365},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817837\"],\"csd_name_en\":[\"John D'Or Prairie 215\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"John D'Or Prairie 215\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.78755067586415,55.95031525459018],[-113.81183449307397,55.944223275951096],[-113.80344507117103,55.93934637283829],[-113.78755943759192,55.94164649998128],[-113.78755067586415,55.95031525459018]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.79731699439229,\"lat\":55.94424335991456},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817855\"],\"csd_name_en\":[\"Desmarais\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian settlement \\/ \\u00c9tablissement indien\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Desmarais\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.11253190810625,55.72947339553016],[-117.11847747137718,55.72321865462306],[-117.09899111880068,55.724811246507294],[-117.10112876390677,55.73295386905391],[-117.11253190810625,55.72947339553016]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.10727349418362,\"lat\":55.72736450215665},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4819\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4819044\"],\"csd_name_en\":[\"Donnelly\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Donnelly\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.53227105466988,49.36826266452171],[-121.52542516687342,49.380352937114715],[-121.56056996483136,49.38021772178508],[-121.56606593571647,49.36564636961807],[-121.53227105466988,49.36826266452171]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.54660156305142,\"lat\":49.37367974746858},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909804\"],\"csd_name_en\":[\"Chawathil 4\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Chawathil 4\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.46464135135186,48.59019995597074],[-123.4658377630096,48.583041865646614],[-123.4443599838314,48.58142818203462],[-123.44370748975427,48.59071272402538],[-123.46464135135186,48.59019995597074]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.45418676403236,\"lat\":48.586308706136975},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5917\"],\"cd_name_en\":[\"Capital\"],\"csd_code\":[\"5917804\"],\"csd_name_en\":[\"South Saanich 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Capital\",\"csd_name_fr\":\"South Saanich 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.78310326347771,48.90008516261788],[-123.79950972336688,48.89458459023669],[-123.80122051492685,48.91020679742437],[-123.82121571535598,48.9095528844299],[-123.8215636593042,48.87975264445915],[-123.84760890094691,48.868603112586065],[-123.84290043071847,48.85003441583325],[-123.82384908674712,48.844916613975975],[-123.82411980257369,48.791652462087555],[-123.83771455388278,48.78458353073774],[-123.83800190999767,48.75804931935225],[-123.8589195937546,48.760843015240155],[-123.8638334934027,48.769789396363954],[-123.89297539148514,48.76681622718562],[-123.89300489141047,48.71985271767503],[-123.63664021751387,48.71913826300778],[-123.63371501920513,48.72190896843192],[-123.67131034874116,48.75050954121109],[-123.68302849376745,48.75897994050338],[-123.6971399665995,48.76600182291488],[-123.6984585647969,48.769609858289364],[-123.6987305172405,48.769610728684846],[-123.71273929251566,48.758935886845855],[-123.76772712553726,48.759752163472974],[-123.76765052692043,48.76317526714915],[-123.78292344067428,48.76239043359932],[-123.78394412678676,48.81425169495979],[-123.78310326347771,48.90008516261788]],[[-123.82705087046615,48.76070241625874],[-123.8269123696115,48.75897528977352],[-123.8310323035733,48.75770843831267],[-123.83098382002842,48.76080270337698],[-123.82705087046615,48.76070241625874]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.78906063409968,\"lat\":48.776643718240756},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5919\"],\"cd_name_en\":[\"Cowichan Valley\"],\"csd_code\":[\"5919051\"],\"csd_name_en\":[\"Cowichan Valley E\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cowichan Valley\",\"csd_name_fr\":\"Cowichan Valley E\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.86398494769968,49.02141965380497],[-123.86385971928081,49.012547739483075],[-123.84654799125052,49.01302355164561],[-123.86398494769968,49.02141965380497]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.858130886077,\"lat\":49.01566364831121},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5919\"],\"cd_name_en\":[\"Cowichan Valley\"],\"csd_code\":[\"5919816\"],\"csd_name_en\":[\"Oyster Bay 12\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cowichan Valley\",\"csd_name_fr\":\"Oyster Bay 12\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.1322690729478,49.255164354530805],[-124.13722959848361,49.2315383573625],[-124.12728190992854,49.21323413633218],[-124.13540407448211,49.20290417150043],[-124.08195893251728,49.19920587331539],[-124.06461513289547,49.229764703178795],[-124.05395723190689,49.23448454286512],[-124.05707081574214,49.25150894764467],[-124.07842888228292,49.25842728122769],[-124.11354986021702,49.25849727614935],[-124.1228195020397,49.25689800317142],[-124.11292780497811,49.24881607664604],[-124.13168296805154,49.248910725491854],[-124.1322690729478,49.255164354530805]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.0978899577929,\"lat\":49.23068582010662},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5921\"],\"cd_name_en\":[\"Nanaimo\"],\"csd_code\":[\"5921008\"],\"csd_name_en\":[\"Lantzville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Nanaimo\",\"csd_name_fr\":\"Lantzville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.80081458298474,49.14637802249415],[-124.89030380812585,49.145628197421715],[-124.90182508585187,49.15240899065046],[-124.92084059518783,49.14918790896854],[-124.99540139533033,49.150274245353906],[-124.99997904891278,49.14653999809264],[-125.03707018258717,49.16858140413899],[-125.04140771816193,49.142648323854296],[-125.0727437250047,49.145144337824796],[-125.07945803276633,49.16260298246374],[-125.10949832161405,49.17201447347658],[-125.12122943539076,49.183039005300174],[-125.16467338780724,49.19571391444539],[-125.17246682163307,49.1841141020675],[-125.1901370256296,49.18818838274821],[-125.20330528669668,49.184257642466925],[-125.22727625959126,49.19296498535826],[-125.23176685607005,49.179503695430654],[-125.21053095094807,49.16119551898949],[-125.21262066428709,49.14631393949125],[-125.15799959296174,49.116381845102175],[-125.13944009318516,49.11481408894842],[-125.1284763162866,49.09725664087406],[-125.10971711050252,49.09618408410365],[-125.10407088670868,49.0739372382071],[-125.1057637493421,49.0541055039019],[-125.14142093102379,49.05386803235064],[-125.13892221359158,49.04290592658896],[-125.12586807879697,49.03329974309179],[-125.11457899747201,49.01669427861998],[-125.10520427920969,48.95397333431562],[-125.20853287118383,48.87730731750128],[-125.37476050317815,48.74765396873713],[-125.3373415732718,48.729588957366424],[-125.18471959830569,48.63762470945203],[-125.09712150281194,48.596941280629544],[-125.0298582469332,48.56966531191662],[-124.98259141483189,48.553103464477466],[-124.89102532062435,48.52939817141234],[-124.84293516308573,48.521572020879965],[-124.84509427754593,48.54770528534689],[-124.85522722750787,48.66230663288862],[-124.85496419529295,48.683246392744486],[-124.81977551556157,48.68941740404427],[-124.80196849392527,48.69657550196973],[-124.77344368993202,48.73168520517821],[-124.74160758786815,48.744844909012826],[-124.73846678650361,48.75889469483862],[-124.72039838103655,48.77963970188091],[-124.69364540105849,48.79608789325973],[-124.67896300596615,48.81342620447557],[-124.68109868548886,48.8238599963184],[-124.64917711988521,48.84418490125692],[-124.65496659859214,48.854903509778126],[-124.65169840905071,48.86832100497855],[-124.63660059255501,48.86384320171338],[-124.61570778709807,48.87680499785254],[-124.57192910891423,48.88948188510286],[-124.55016979546959,48.90073171395149],[-124.54521930923933,48.91046189944667],[-124.5494992026006,48.932472989823985],[-124.53934333159702,48.93439426045525],[-124.63825076700962,49.01432138261212],[-124.60684158922083,49.010166070953225],[-124.60580789420098,49.034957209874165],[-124.61558189120294,49.04811959530586],[-124.63040182566587,49.051523674146964],[-124.63577157584507,49.07538928927784],[-124.62917338446098,49.09534488370449],[-124.62950783428157,49.116863659108624],[-124.64437362808648,49.11507793812929],[-124.68201437981044,49.13343734802478],[-124.71541244035403,49.1295336904772],[-124.72848457038562,49.1386113823865],[-124.74495747987237,49.136920970425294],[-124.73923683592623,49.120026484841816],[-124.76150865149076,49.1145841852225],[-124.80081458298474,49.14637802249415]],[[-125.10770736416734,48.837772946908224],[-125.10318176655686,48.83795279358225],[-125.10284586612633,48.83626448791618],[-125.10825856704331,48.835610155703684],[-125.10770736416734,48.837772946908224]],[[-125.12726255586642,48.79856008726426],[-125.12844310470487,48.807264967307056],[-125.11707233820235,48.80696211440591],[-125.11708715426559,48.7931188640752],[-125.12726255586642,48.79856008726426]],[[-125.04717050118965,49.01826402580774],[-125.0570428997317,49.031134264872996],[-125.02943995391554,49.03015303193614],[-125.04717050118965,49.01826402580774]],[[-125.00381933540022,48.913847267808045],[-125.00207671311964,48.9088140857197],[-124.96958504774503,48.90889078423109],[-124.96914540579475,48.88764378357032],[-125.00112515699787,48.8876644466796],[-125.01134409225756,48.90074327607443],[-125.00381933540022,48.913847267808045]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.94468721361172,\"lat\":48.87373967319208},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5923\"],\"cd_name_en\":[\"Alberni-Clayoquot\"],\"csd_code\":[\"5923047\"],\"csd_name_en\":[\"Alberni-Clayoquot A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Alberni-Clayoquot\",\"csd_name_fr\":\"Alberni-Clayoquot A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-126.8593229876534,49.979914978223114],[-126.84514951780614,49.96927528387578],[-126.84414168431108,49.99342041434854],[-126.86445162026163,49.98514761352549],[-126.8593229876534,49.979914978223114]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-126.8514453005517,\"lat\":49.98243856753918},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5924\"],\"cd_name_en\":[\"Strathcona\"],\"csd_code\":[\"5924029\"],\"csd_name_en\":[\"Zeballos\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Strathcona\",\"csd_name_fr\":\"Zeballos\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-123.7354782191438,49.487187538343534],[-123.74245436071642,49.50354669513217],[-123.74231081784163,49.5212863314037],[-123.75433568137201,49.53383466873962],[-123.7540635753258,49.5502082924115],[-123.76813961841603,49.55022370121899],[-123.77197040046268,49.52884067457717],[-123.78052095247924,49.51715619514738],[-123.76054783271569,49.513831257091006],[-123.75484645845651,49.51154491091725],[-123.75189390415538,49.503829539481735],[-123.74896636659395,49.502826444033815],[-123.75269330954636,49.486169539272844],[-123.73548843154394,49.48629747511017],[-123.7354782191438,49.487187538343534]]],[[[-123.73513049152393,49.4672111444336],[-123.74333038679534,49.46437345017558],[-123.74090186023118,49.45240995809801],[-123.72328989740234,49.43884834286286],[-123.709956898081,49.43869405011998],[-123.68046509487672,49.434127720357786],[-123.68131169191552,49.45275277771902],[-123.69935019839393,49.459994084339215],[-123.70880736108464,49.47127911540539],[-123.73513049152393,49.4672111444336]]],[[[-123.79835257225089,49.5089796676534],[-123.79830618990972,49.49928880248722],[-123.82733815408959,49.496373486650036],[-123.82725618629094,49.48175758997751],[-123.84794442634619,49.481561006054946],[-123.84908583714349,49.47266300161941],[-123.81609583482758,49.464629781604714],[-123.77171886232543,49.464224022105455],[-123.75340726184346,49.47075210695941],[-123.75337778687727,49.48307214854415],[-123.76719331722352,49.48944467812574],[-123.76460067552159,49.49050391525087],[-123.77396516914605,49.50322333313821],[-123.79585824572641,49.509326351546],[-123.79835257225089,49.5089796676534]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.76412335020703,\"lat\":49.48193677052453},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5929\"],\"cd_name_en\":[\"Sunshine Coast\"],\"csd_code\":[\"5929011\"],\"csd_name_en\":[\"Sechelt\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Sunshine Coast\",\"csd_name_fr\":\"Sechelt\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.1939291078072,49.794034764637885],[-123.17848821662037,49.76461727934791],[-123.15999172209129,49.75310532670585],[-123.17691547368278,49.718851157935504],[-123.18886842382634,49.7187701154389],[-123.18984218707891,49.70333246333821],[-123.21030159873462,49.68122513544777],[-123.16442974087863,49.67935686823806],[-123.18301422656366,49.66256372613545],[-123.21313695037058,49.66056307282776],[-123.22955551377045,49.647771198539864],[-123.22249545080334,49.638774966759506],[-123.20256868309637,49.639489634388006],[-123.18053404686333,49.65727622133501],[-123.1566662838512,49.661734007192116],[-123.15042024934694,49.68130813204926],[-123.12995175060142,49.68127237044768],[-123.12794093460786,49.695672792896495],[-123.09115570151359,49.70891603569894],[-123.01547198647968,49.70907364604704],[-123.01640122138525,49.72745392638395],[-123.09002061313288,49.72670073913442],[-123.0932421065477,49.750032885647585],[-123.089380163346,49.77890817468506],[-123.11749078284396,49.79231169695659],[-123.118617158656,49.81809395327563],[-123.1267227792899,49.81834499241533],[-123.1313392759339,49.8397532759649],[-123.14201389568146,49.839754945718006],[-123.15059500801033,49.85698398667132],[-123.1502352202379,49.87420956954254],[-123.18824711042097,49.873372222083354],[-123.16054126972722,49.831133866413985],[-123.16236240191486,49.81074870082249],[-123.15076695341867,49.802701843127366],[-123.1878733531351,49.78899439864813],[-123.1939291078072,49.794034764637885]],[[-123.16388351578277,49.72585972155234],[-123.16212077703885,49.7265124939749],[-123.16012202570109,49.726090560364575],[-123.16046020620554,49.72510369756159],[-123.16388351578277,49.72585972155234]],[[-123.14179215431429,49.752224572545074],[-123.14245111247858,49.754615061299305],[-123.14241456310415,49.755816283284794],[-123.14122363961278,49.75579611841677],[-123.14131266018482,49.75315219934324],[-123.14179215431429,49.752224572545074]],[[-123.15810223260806,49.76698034265641],[-123.164818134184,49.77100915022688],[-123.16095874404145,49.77226276104914],[-123.1580300896189,49.77044770991173],[-123.15810223260806,49.76698034265641]],[[-123.14479859771478,49.69249001260467],[-123.14480103042155,49.69000435515389],[-123.15405883155593,49.689084355812405],[-123.15366025842117,49.69241303953892],[-123.14479859771478,49.69249001260467]],[[-123.13830870845871,49.745661876109835],[-123.13700768761393,49.7394060856738],[-123.143662347666,49.73916348996403],[-123.14337252595888,49.745804619166606],[-123.13830870845871,49.745661876109835]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.13841938134084,\"lat\":49.74689415473963},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5931\"],\"cd_name_en\":[\"Squamish-Lillooet\"],\"csd_code\":[\"5931006\"],\"csd_name_en\":[\"Squamish\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Squamish-Lillooet\",\"csd_name_fr\":\"Squamish\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.13830870845871,49.745661876109835],[-123.14337252595888,49.745804619166606],[-123.143662347666,49.73916348996403],[-123.13700768761393,49.7394060856738],[-123.13830870845871,49.745661876109835]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.14060430053453,\"lat\":49.742360204502674},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5931\"],\"cd_name_en\":[\"Squamish-Lillooet\"],\"csd_code\":[\"5931802\"],\"csd_name_en\":[\"Kowtain 17\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Squamish-Lillooet\",\"csd_name_fr\":\"Kowtain 17\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.94564258801152,50.67228901352936],[-121.92749214156346,50.66573793088585],[-121.92685562372166,50.68180520308255],[-121.94039857951077,50.675441696604445],[-121.94564258801152,50.67228901352936]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.93346161621105,\"lat\":50.673376250220365},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5931\"],\"cd_name_en\":[\"Squamish-Lillooet\"],\"csd_code\":[\"5931814\"],\"csd_name_en\":[\"Cayoosh Creek 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Squamish-Lillooet\",\"csd_name_fr\":\"Cayoosh Creek 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.79536463870993,50.628918355784016],[-121.79534738749932,50.64869988165953],[-121.80364542855271,50.648571737336376],[-121.79536463870993,50.628918355784016]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.79811915158733,\"lat\":50.642063324926646},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5931\"],\"cd_name_en\":[\"Squamish-Lillooet\"],\"csd_code\":[\"5931815\"],\"csd_name_en\":[\"Chilhil 6\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Squamish-Lillooet\",\"csd_name_fr\":\"Chilhil 6\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.1191054923505,51.14716559937517],[-120.11463364197797,51.15926538248033],[-120.11634632339667,51.19768703964487],[-120.14073956331063,51.200278831760436],[-120.14913919572284,51.178335896999585],[-120.13207280916627,51.16915540976879],[-120.13148620076005,51.15590169938961],[-120.1191054923505,51.14716559937517]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-120.12835529426019,\"lat\":51.178108784885865},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933074\"],\"csd_name_en\":[\"Barriere\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Barriere\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.52193013297048,50.14212528786493],[-121.51103600982101,50.151271680083894],[-121.52116311982022,50.15030176615003],[-121.5286996541493,50.14627534199289],[-121.52193013297048,50.14212528786493]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.52049440712884,\"lat\":50.147206197820964},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933803\"],\"csd_name_en\":[\"Hamilton Creek 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Hamilton Creek 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.46305442078675,50.2373536562102],[-120.48335464693639,50.21278036751643],[-120.47371931987864,50.19296105239486],[-120.47649195750945,50.186235958139875],[-120.42468543242802,50.185324048935136],[-120.42607466381764,50.19316599395206],[-120.45273113916883,50.1924835139246],[-120.46323219724754,50.20686379997885],[-120.44726713868533,50.214586472559105],[-120.44699090787816,50.23689010962949],[-120.46305442078675,50.2373536562102]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-120.46021468585253,\"lat\":50.20893201640084},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933806\"],\"csd_name_en\":[\"Nicola Lake 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Nicola Lake 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.57342660124198,50.199526346147316],[-121.56848824059104,50.19955627695233],[-121.5685946114559,50.20249833243219],[-121.57392035070022,50.202385959236736],[-121.57342660124198,50.199526346147316]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.5710980307916,\"lat\":50.20101050776988},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933823\"],\"csd_name_en\":[\"Kitzowit 20\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Kitzowit 20\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-118.31442671730173,50.88836758013088],[-118.33163460914231,50.881069014743034],[-118.37016224449971,50.88806363329103],[-118.4115930713829,50.882671647569765],[-118.43048586600666,50.89776634828276],[-118.44977789740588,50.9034257588871],[-118.4706348793324,50.89455705771244],[-118.49561733513274,50.91288816249048],[-118.533769090753,50.93457264904485],[-118.61277894389913,50.92461999331034],[-118.60960390903884,50.89411388219153],[-118.63802371603666,50.86562376328189],[-118.62025017312057,50.857693737253015],[-118.63373858738144,50.848361964207875],[-118.65161028650394,50.85323037689627],[-118.67128310621611,50.84363236042809],[-118.66444885990435,50.823020170810125],[-118.67484087438466,50.81543183004249],[-118.69937430803343,50.81120373171168],[-118.71799850370444,50.81425218847546],[-118.73298626475335,50.82579667652763],[-118.7781270218073,50.82604449954068],[-118.79509556421608,50.80257779186237],[-118.8126549032231,50.78667698397021],[-118.8502288360905,50.76729278288344],[-118.85494581801906,50.759323452698176],[-118.87781414244009,50.758955065111415],[-118.88303733623769,50.75042413047028],[-118.99536676118332,50.750017808614096],[-119.17800854869746,50.75009593852145],[-119.18030244805844,50.750096811075316],[-119.18082643341994,50.66403054358253],[-119.18353745063396,50.543866499966434],[-119.15415474260556,50.54329025556386],[-119.15570309288164,50.55461841422375],[-119.13204724184102,50.56585186037762],[-119.12501740582576,50.55963946335208],[-119.13618563733162,50.55026765601551],[-119.125368361744,50.557651953089966],[-119.08197269663344,50.553988915073695],[-119.07939790963454,50.4447061549188],[-119.05955509200305,50.44464727170229],[-119.05972036232977,50.458573437473156],[-119.01139707830096,50.45960807388278],[-119.0007052008528,50.473663101655674],[-119.00187008517386,50.48838678137844],[-118.76849646451085,50.487815726475546],[-118.69505950391739,50.48818000506634],[-118.57838095778911,50.48788887375608],[-118.58795239580056,50.497636566745115],[-118.58448773923692,50.514264765485485],[-118.55867977421113,50.527763627750154],[-118.55595565617503,50.53781126673851],[-118.53183486661892,50.537874561029916],[-118.51071617866678,50.54961331860191],[-118.4817532401639,50.55686887732875],[-118.47390619991339,50.57158002536338],[-118.4751653492693,50.584145713281735],[-118.48918167002381,50.59521909814327],[-118.48871626637903,50.608106945352134],[-118.47446363904551,50.628986337398295],[-118.45072427421317,50.63359163428636],[-118.41744844880387,50.66630044281803],[-118.42604836376691,50.67434390225749],[-118.42035548536569,50.68984492434462],[-118.42751278004314,50.69863460398761],[-118.40872318138584,50.71209075689529],[-118.40732543956138,50.72039673456097],[-118.43131613227047,50.728168547473366],[-118.43154037171686,50.752233559922104],[-118.44087878976462,50.753756636884965],[-118.45627717593536,50.77248788466862],[-118.43136884076289,50.79509485844995],[-118.42849898646944,50.8097899637359],[-118.43361093975909,50.82578907043615],[-118.41514701787465,50.8339660969114],[-118.37560092555535,50.83199294622687],[-118.3641429365211,50.83892943059592],[-118.33103027462353,50.848424754494296],[-118.32209443729779,50.85687467323872],[-118.29428161423951,50.86440291034162],[-118.28222999785729,50.878509875481626],[-118.28503346812694,50.88959903034908],[-118.31442671730173,50.88836758013088]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-118.76152963535834,\"lat\":50.671247605673095},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5937\"],\"cd_name_en\":[\"North Okanagan\"],\"csd_code\":[\"5937041\"],\"csd_name_en\":[\"North Okanagan F\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"North Okanagan\",\"csd_name_fr\":\"North Okanagan F\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.9457219552726,51.46329782779071],[-123.92545589520537,51.46112418861021],[-123.92563165182807,51.47633745105001],[-123.94666240208072,51.47689440410865],[-123.9457219552726,51.46329782779071]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.93567017623887,\"lat\":51.46944848637826},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941808\"],\"csd_name_en\":[\"Lohbiee 3\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Lohbiee 3\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.48265371346294,52.9394466739604],[-122.45223881918217,52.93850796669969],[-122.45054319170309,52.95661310653197],[-122.51119501039939,52.957791936768075],[-122.48215017330806,52.95031585589802],[-122.48265371346294,52.9394466739604]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.4706251214514,\"lat\":52.94908900078819},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941809\"],\"csd_name_en\":[\"Quesnel 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Quesnel 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.29606939520339,52.20801127398951],[-124.32597983148727,52.2079566897338],[-124.32549460230878,52.20013513606979],[-124.29580724385802,52.20029177358561],[-124.29606939520339,52.20801127398951]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.31087085657386,\"lat\":52.204103342011656},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941817\"],\"csd_name_en\":[\"Alexis Creek 14\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Alexis Creek 14\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.30853978281671,52.17644983390821],[-124.32134902822945,52.17716651746337],[-124.32138428761206,52.17305712980847],[-124.30854430698275,52.17322257345659],[-124.30853978281671,52.17644983390821]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.31521151334354,\"lat\":52.17497892185055},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941818\"],\"csd_name_en\":[\"Alexis Creek 16\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Alexis Creek 16\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.83681183546163,52.98746463004954],[-123.83699746952367,52.99288775450729],[-123.84893734476513,52.99289416086735],[-123.84926472586992,52.98550815235403],[-123.83681183546163,52.98746463004954]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.84330834120281,\"lat\":52.98964275254789},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941835\"],\"csd_name_en\":[\"Coglistiko River 29\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Coglistiko River 29\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-127.98422246995369,50.92092717346638],[-127.99639274947685,50.91538417323351],[-127.98624027269449,50.90529647004632],[-127.92928635879693,50.89505786163063],[-127.90190033528354,50.89926355803089],[-127.87373836026175,50.88886965794518],[-127.83246226922968,50.904813669026844],[-127.84592235688717,50.91376905278444],[-127.8411890504729,50.93199618094602],[-127.87625906237767,50.935343063515006],[-127.90162723746715,50.94465737931601],[-127.91892574691686,50.94083476292567],[-127.92897765424259,50.9271053613672],[-127.97546437174381,50.91808877138357],[-127.98422246995369,50.92092717346638]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-127.90476142768672,\"lat\":50.91496941697588},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5943\"],\"cd_name_en\":[\"Mount Waddington\"],\"csd_code\":[\"5943836\"],\"csd_name_en\":[\"Hope Island 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Mount Waddington\",\"csd_name_fr\":\"Hope Island 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-126.51473928479267,52.29018277517327],[-126.53103936169158,52.30476026865758],[-126.54510985050547,52.34527755519782],[-126.55909565635287,52.36304257688365],[-126.55673102652334,52.39342167915338],[-126.560617978273,52.39920654669271],[-126.62625502038038,52.398959573414075],[-126.64030628438229,52.42457319527279],[-126.63147805383257,52.46431698373439],[-126.64360555446987,52.47739101262294],[-126.62684679253059,52.51344669510956],[-126.6363469453534,52.52433108144125],[-126.61451807836305,52.52786565510991],[-126.58259982336668,52.54652681856213],[-126.54212297205387,52.551845537491026],[-126.54320442244986,52.56499824279989],[-126.534407618156,52.58594270803149],[-126.52226621787248,52.601686132265925],[-126.55279928653542,52.61969878061118],[-126.55910812370703,52.60421254952449],[-126.55563205258352,52.59027594183804],[-126.58213452098073,52.574704741537786],[-126.63175190116712,52.56084516081699],[-126.65895789977327,52.548616112806116],[-126.6708114819006,52.53075949474137],[-126.65704490675878,52.51771079976168],[-126.66021261641372,52.49822049393236],[-126.68194399494519,52.47817759838928],[-126.68285570097775,52.458341185481295],[-126.71173860578455,52.42908648991529],[-126.73939050422682,52.4074157089976],[-126.7482774862344,52.39357420710412],[-126.69404663585526,52.39261695041334],[-126.69275691918057,52.36025077723137],[-126.75276643368791,52.362673264945016],[-126.75256532836234,52.369364233969456],[-126.76212496170596,52.32309836789153],[-126.77300121636141,52.30233476693757],[-126.769210600815,52.268456347029996],[-126.74322367885067,52.2571999870854],[-126.7098191006584,52.25406449791885],[-126.69509872926837,52.246970113535134],[-126.67644582620706,52.25168201579422],[-126.65031057229993,52.24491222333233],[-126.61191050024497,52.25879999682012],[-126.5742755012952,52.26796402484977],[-126.555489281405,52.2831094591497],[-126.51473928479267,52.29018277517327]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-126.64684656698672,\"lat\":52.37213487309938},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5945\"],\"cd_name_en\":[\"Central Coast\"],\"csd_code\":[\"5945012\"],\"csd_name_en\":[\"Central Coast D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Central Coast\",\"csd_name_fr\":\"Central Coast D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-128.00166316687523,53.89128508408135],[-128.03122986464416,53.892205262430366],[-128.07366964419523,53.901773416775846],[-128.05674072756247,53.93233820307795],[-128.0410709334435,53.94842610393556],[-128.04936499780158,53.9583462452825],[-128.0429081881182,53.979981640881114],[-128.05376109761127,53.9896530119563],[-128.0447760282387,54.03605489821121],[-128.0708009707509,54.04873620941051],[-128.07524317484032,54.05657431770435],[-128.05584806184967,54.07037730239305],[-128.01193370637304,54.06825592181263],[-127.99200015111786,54.07832269476882],[-127.98296563451413,54.100146255442446],[-127.99930151822234,54.11761448156189],[-128.02206270027224,54.12807639374628],[-128.01945861420197,54.1368773096502],[-127.98854464267264,54.15470219372566],[-127.99890823505879,54.18070778432155],[-127.97654567797824,54.212050873854714],[-127.98790843973156,54.22215590553466],[-128.02113075872913,54.232978316691245],[-128.0595070814328,54.22878126775733],[-128.07507805536054,54.2412286890185],[-128.07183605031184,54.26511051069501],[-128.1312236593832,54.297961447484994],[-128.11808530431978,54.30904564668036],[-128.1203188742365,54.31854302330835],[-128.1837473175444,54.3323645291794],[-128.2398310802791,54.33057634316581],[-128.29768673918633,54.35253518612879],[-128.3233675010715,54.35501642835179],[-128.36932973886186,54.33956415253725],[-128.42272296608118,54.33045966667935],[-128.45272801791486,54.32242885003047],[-128.49341663116394,54.29949857605721],[-128.5375502417996,54.30340129961718],[-128.60542792797222,54.29816586952461],[-128.63244067689317,54.28815566089975],[-128.6526605614814,54.294434866299845],[-128.66636298159756,54.31163580142546],[-128.68217709109499,54.31711811283336],[-128.6959893546098,54.30860711817696],[-128.71912101715273,54.280754524005005],[-128.74062287369497,54.28227883063341],[-128.79510877478737,54.300423227505526],[-128.81286327661343,54.30130467568882],[-128.8507656830665,54.290762547757076],[-128.87999031903868,54.2892577266324],[-128.9333087819705,54.27044560707467],[-128.97588425760122,54.26818480322005],[-128.99167738338608,54.25836481290175],[-129.01451697564303,54.21928130886643],[-129.04712836337117,54.209577875174126],[-128.95023480470132,54.10819395621456],[-128.9900838462684,54.09077022032588],[-129.03869539643824,54.059553543344904],[-129.07410006448018,54.04668196268656],[-129.12062050755472,54.03511429417515],[-129.20832769638426,54.03467799364233],[-129.23574638548982,54.028643354742904],[-129.2872005324639,54.030981440741265],[-129.30337536799104,54.02358129113087],[-129.3109165561136,54.0035486880577],[-129.28372197846815,53.986520681961984],[-129.28319396693058,53.97357950734733],[-129.26944073365388,53.96268325479088],[-129.25118580440858,53.95733858948039],[-129.24017025702008,53.93686542158522],[-129.2542222648843,53.91623761339687],[-129.2740019830877,53.89890465923222],[-129.28298881250421,53.88261583898456],[-129.30172914506906,53.865794067082376],[-129.3064104348372,53.84504978964052],[-129.3030047107658,53.81863453609496],[-129.3124682172722,53.807344106257105],[-129.3625038498042,53.784530293282074],[-129.29428548964322,53.70924003609558],[-129.29474543556472,53.698053116727415],[-129.23264933794806,53.631026856656234],[-129.2051833786967,53.63268598314299],[-129.21388966529682,53.60687802875291],[-129.2078021004233,53.57284274456203],[-129.197931951526,53.478212901628375],[-129.20183794072943,53.41208837235941],[-129.1827148549867,53.36008675405281],[-129.1878623868645,53.34230485613029],[-129.20218749696122,53.327301285087636],[-129.21960674141226,53.334079386769936],[-129.2805293890132,53.348125293732984],[-129.30716277603966,53.33682234267039],[-129.30342533600287,53.302254161058606],[-129.32302536630428,53.29556771434],[-129.38868968782867,53.28811076746952],[-129.41664706460116,53.275560228928704],[-129.43224401391694,53.26233634315265],[-129.43762140698013,53.241460307417576],[-129.43168963106078,53.222319866025444],[-129.43837487181557,53.21101809541311],[-129.46044747524667,53.20411247461079],[-129.56082364056684,53.193223454002656],[-129.62738109703744,53.17188560096805],[-129.6732346511087,53.154252888201725],[-129.78103973357662,53.13624142034692],[-129.81717813348925,53.12614750798199],[-129.86555934132025,53.105374077424614],[-129.9494107016608,53.072996610239706],[-130.022651714673,53.04886472691468],[-130.10246231830635,53.02859585729672],[-130.0104149887701,53.00326728197204],[-129.94536115121082,52.98352451554222],[-129.84613629537762,52.90332313948873],[-129.72181854321533,52.79337000860478],[-129.65956630790646,52.727726489179396],[-129.6177683414048,52.65673772706616],[-129.54003067279186,52.537349504341115],[-129.48758932355554,52.492712427904664],[-129.4473231360429,52.46888920055083],[-129.39539225044288,52.443240573301274],[-129.32537739082656,52.43059345981061],[-129.26113185170937,52.4290874149083],[-129.16181401371807,52.41609662265972],[-129.07595879628877,52.41140808820234],[-128.94587743572927,52.40050952989729],[-128.84924462050182,52.38555513473464],[-128.80436870025937,52.363514007484866],[-128.7492816674542,52.193254729236706],[-128.7295853651867,52.20208305380242],[-128.66693811313698,52.215682940096144],[-128.63497446903384,52.22941114560416],[-128.59485815575644,52.2642257251376],[-128.52793762978715,52.37104337726248],[-128.4589623112546,52.437511462764206],[-128.37474819759046,52.471036360055216],[-128.34891840106994,52.4764814146869],[-128.28266259597564,52.48242893530374],[-128.17694306421694,52.484158523813015],[-128.18024557177264,52.50273880438497],[-128.19443917662232,52.513766879781784],[-128.18561036819543,52.55255757374791],[-128.1746835981727,52.557772624349234],[-128.1748177671912,52.57547913188291],[-128.19687015032002,52.58050391582252],[-128.18152301590683,52.59209285256106],[-128.189602725794,52.60736151615733],[-128.14618727350896,52.625141790876356],[-128.12563327785114,52.617341262743096],[-128.10839698957992,52.649287982478604],[-128.13613982823068,52.65259123124],[-128.15210130084185,52.671916425291734],[-128.1347963560908,52.68646391108009],[-128.10934018174342,52.67920586008661],[-128.08296874896766,52.68703959448863],[-128.04127186122926,52.71086551648241],[-128.0116816433006,52.719483107683814],[-127.96793505977247,52.7082265729109],[-127.93852897762466,52.72103490904641],[-127.92850575468992,52.71707749668364],[-127.91250622369387,52.675976105439965],[-127.89022885335451,52.67958859641397],[-127.85177472813585,52.67425101017662],[-127.83258722145302,52.66671563450996],[-127.80976601907923,52.66449780263194],[-127.78072724355974,52.677735723991454],[-127.78217312797898,52.69655331041662],[-127.73933425238005,52.717881184601275],[-127.71996091256692,52.71875435807895],[-127.71188932362921,52.75569862443045],[-127.7187929564572,52.7709489549696],[-127.69169711413997,52.78908074474505],[-127.67921955890235,52.7913392689582],[-127.64114236992646,52.7804406433902],[-127.60908684143688,52.78344152253255],[-127.59720796634532,52.7793204337079],[-127.59796694859313,52.76172036097498],[-127.61223108236454,52.7516482755265],[-127.61638260632704,52.73274802107759],[-127.58830129120845,52.72213359598913],[-127.56269966218763,52.69096870132484],[-127.54892943312802,52.695066356220956],[-127.49045319126694,52.692569164883004],[-127.47115782722523,52.70508171144397],[-127.40101185208816,52.73629496137579],[-127.38810009520611,52.749519793456294],[-127.3688334495651,52.75565768690613],[-127.3815259520415,52.76981648465053],[-127.37972742439932,52.78371617048399],[-127.3528266116664,52.808249808986226],[-127.32510881050378,52.795130745865094],[-127.31016722032523,52.799041774613215],[-127.30116987224085,52.813347650572815],[-127.27846668203163,52.81155277570853],[-127.22224620968221,52.822356428526646],[-127.2281029164338,52.829906146211755],[-127.22296730920685,52.85077725574865],[-127.24940786195995,52.86264643676733],[-127.25577727064417,52.8734570486166],[-127.2810413426402,52.88692096231094],[-127.27779958035603,52.89761698856136],[-127.29766218729368,52.90766041607361],[-127.28606413750823,52.937010424566154],[-127.24960529992207,52.95241350633209],[-127.23688512457832,52.96177605123545],[-127.25640099273262,52.97886145997351],[-127.25692318097096,52.98814283239104],[-127.24228052344381,53.00613274538671],[-127.24354631083158,53.016420779745324],[-127.29051035656205,53.04983871081594],[-127.32219778109402,53.06756488383462],[-127.37580691991454,53.08641405267767],[-127.43413309058546,53.08852280864822],[-127.4487556096965,53.099072950090076],[-127.43471386049728,53.11792768375245],[-127.47278931822854,53.1243258261258],[-127.4766465160944,53.13924406732949],[-127.45700176294918,53.14306027366171],[-127.4417402998467,53.16087805036644],[-127.41154888563666,53.15934731565952],[-127.40483586547737,53.164485922983644],[-127.40582686675022,53.184324640369326],[-127.36062272745993,53.17720970486965],[-127.35321239686489,53.18671054858706],[-127.36167529684234,53.20179869363791],[-127.36420606550877,53.2211668357022],[-127.35084029140074,53.232430373591995],[-127.32936848646946,53.227161445622144],[-127.31985587922895,53.21438794390887],[-127.30678914771792,53.215480939723385],[-127.27560892200805,53.25840498061345],[-127.26686157658617,53.27752625644057],[-127.25518188402046,53.296700228821116],[-127.258691076824,53.302151534347594],[-127.30089763582767,53.31762130708179],[-127.3147958999546,53.328432675966894],[-127.32667518996878,53.35813509472349],[-127.35501390781556,53.37292149683163],[-127.36447822104985,53.38596985667747],[-127.3620177579219,53.39897747513694],[-127.37049130755459,53.427830219516146],[-127.39275452399438,53.426596769899255],[-127.39457331789947,53.44080245038283],[-127.41041362013247,53.44716522140164],[-127.4190313191374,53.46118747740418],[-127.41573322563639,53.473003973651565],[-127.43497529589493,53.49089429577031],[-127.47917734812559,53.48802148073213],[-127.4984359588123,53.475146931150555],[-127.49924149490762,53.45926777750457],[-127.51870233833537,53.46114364801694],[-127.54488117961387,53.47643226519978],[-127.5653722883113,53.49293830350916],[-127.56691444727062,53.508058914868336],[-127.55430689958109,53.52510576561299],[-127.57122840018285,53.54152206704803],[-127.60347529152062,53.54836057221184],[-127.6144226052026,53.56820515458611],[-127.64928676027735,53.5335870813747],[-127.66684533195634,53.53610904937339],[-127.6774671315582,53.54945463802687],[-127.71019842049094,53.548083768109635],[-127.73259967408175,53.55556208446895],[-127.75911688741063,53.55286412864124],[-127.76782723832562,53.56602023058981],[-127.74147102576819,53.58088177914382],[-127.76140673567079,53.58890184665037],[-127.7492779642449,53.608070019398944],[-127.7647091076199,53.62340481963341],[-127.76297480113826,53.63292938780737],[-127.78083811165544,53.636906961826085],[-127.78589339029277,53.66185539443982],[-127.81412861250152,53.662338415126186],[-127.81235106439584,53.681273569433856],[-127.8275369462924,53.69670327779024],[-127.81685421569233,53.713485521267444],[-127.82011949224528,53.72765837352145],[-127.85166725821303,53.72908608474703],[-127.90107107312471,53.745078509079995],[-127.91124944630923,53.77181523547593],[-127.89922716466891,53.77789662718514],[-127.92386728895873,53.80285400378087],[-127.94441432382395,53.81288687338235],[-127.93667659572066,53.82620685790876],[-127.99813798471442,53.85635658534642],[-128.01271595489033,53.87504228043196],[-127.99936272548307,53.88053436802554],[-128.00166316687523,53.89128508408135]],[[-128.63811294678433,53.97359073665335],[-128.64895974252894,53.96993868719644],[-128.65142806092072,53.97928436503573],[-128.63824320731604,53.98002049641027],[-128.63811294678433,53.97359073665335]],[[-128.51913483427063,52.60053147165611],[-128.51599572718163,52.57862712975279],[-128.5399812772355,52.57855643731594],[-128.53879503499215,52.60043772319497],[-128.51913483427063,52.60053147165611]],[[-128.53834757747853,54.042123877566794],[-128.53876134352603,53.99439506647725],[-128.65471529480882,53.99469426308343],[-128.6961565578248,53.94945947284971],[-128.83688573301802,53.79863976711315],[-128.9080777139227,53.79872669407851],[-128.90796761558244,53.93342254503646],[-128.78525993541462,53.93335672851597],[-128.78492390468446,53.96292485574018],[-128.72626557167325,53.96301657051076],[-128.7252854752487,54.107966747084475],[-128.61206037910733,54.10999070537746],[-128.6018628094861,54.1074160705017],[-128.5379366690945,54.107489335872366],[-128.53834757747853,54.042123877566794]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-128.5585528622668,\"lat\":53.24311305046732},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5949\"],\"cd_name_en\":[\"Kitimat-Stikine\"],\"csd_code\":[\"5949020\"],\"csd_name_en\":[\"Kitimat-Stikine C (Part 2)\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kitimat-Stikine\",\"csd_name_fr\":\"Kitimat-Stikine C (Part 2)\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-127.0571379047066,54.71006965718955],[-127.05328745177698,54.69564868145307],[-127.06992818810782,54.69041770240386],[-127.07195243264827,54.66169380116279],[-127.04723934038502,54.66085913848426],[-127.04681465705944,54.691190244527604],[-127.03319896240716,54.69865771178079],[-127.0571379047066,54.71006965718955]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-127.05622518666652,\"lat\":54.68187812872343},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951038\"],\"csd_name_en\":[\"Telkwa\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Telkwa\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.06782954176659,54.02113756384266],[-124.08059454255914,54.027090295223985],[-124.08031486301215,54.016679374198084],[-124.06782954176659,54.02113756384266]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.0762463157793,\"lat\":54.02163574442159},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951832\"],\"csd_name_en\":[\"Noonla 6\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Noonla 6\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.64586556375912,54.490950254085924],[-125.64775725678717,54.491481916035134],[-125.64910339305143,54.490301405048704],[-125.64600699157512,54.490427480133825],[-125.64586556375912,54.490950254085924]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.64737011976952,\"lat\":54.49078751925198},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951847\"],\"csd_name_en\":[\"Babine Lake 21B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Babine Lake 21B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.3962628500456,54.536261340179095],[-121.39000679654806,54.55766566252633],[-121.39737344796744,54.568963189416756],[-121.45527347963727,54.57005332451121],[-121.4377200730685,54.587136360431764],[-121.45274718722912,54.59736811300143],[-121.45181033817985,54.607604492400554],[-121.48187698847333,54.60881433447648],[-121.49919518341686,54.63498933676902],[-121.52350697424134,54.6519852483602],[-121.51868699028823,54.684965167233166],[-121.48565804785765,54.69527685324091],[-121.47392948093112,54.723613445185364],[-121.49370510407428,54.74527474555991],[-121.4888790904957,54.75232972314943],[-121.52711742485971,54.77145322524562],[-121.52205716987463,54.79819275902016],[-121.53878141645977,54.800978476302284],[-121.55381898827518,54.82037567032097],[-121.5801842789803,54.824346494079755],[-121.64309348872787,54.84527115314374],[-121.6461182750193,54.858033085411876],[-121.6729877557148,54.86384288305139],[-121.69522376296707,54.878820321838674],[-121.72489056708741,54.886469733170834],[-121.7404263820965,54.880607624757005],[-121.73497913663037,54.870571283337306],[-121.79187864752312,54.83931555579113],[-121.80258588174814,54.85882910356635],[-121.86509650366983,54.86913854925939],[-121.86937894343771,54.88521635030369],[-121.838137538237,54.897753256730965],[-121.86824636885827,54.904594987358436],[-121.86465323695838,54.9149890788667],[-121.8455377879866,54.9196188173883],[-121.84484607304952,54.933324908181746],[-121.85870426938035,54.93926041964166],[-121.86852841391551,54.95571520156979],[-121.90430512089176,54.96622430034797],[-121.91973607421562,54.987041047308615],[-121.93758312688342,54.99614179242455],[-121.93489368172264,55.00360760335786],[-121.9612796325229,55.01320488070954],[-121.97137164623896,55.027257410081546],[-122.0087849239772,55.033753152901696],[-122.03513790550274,55.065298012659014],[-122.05934660502342,55.07295833556007],[-122.10020972807517,55.10515379197715],[-122.12440373965315,55.09829371768866],[-122.15940129365197,55.10546587373374],[-122.16671566651199,55.123366196976335],[-122.16113841026609,55.134145292372395],[-122.17693058151835,55.14594353201955],[-122.20698118936298,55.15228943250331],[-122.2308368400255,55.1411070513622],[-122.25133763367398,55.143452905200924],[-122.25124409711493,55.161686328397444],[-122.27388341594587,55.18111090183248],[-122.25591484590888,55.20326155672111],[-122.22567283241261,55.20767862787366],[-122.23851224905847,55.22281366103058],[-122.27540100006125,55.23734028458643],[-122.29710117804876,55.239532428273264],[-122.29662802898419,55.25108941265627],[-122.33050136554742,55.28425543330003],[-122.35709944602819,55.302161452768644],[-122.38596669844812,55.335308702370746],[-122.42922552724794,55.33076624679159],[-122.46179267635625,55.34455568267239],[-122.48475707462269,55.34875542924677],[-122.49018804211397,55.36020605963071],[-122.51102638424221,55.36659917211843],[-122.54389238731278,55.384059766293596],[-122.55984350103473,55.403476032236966],[-122.57854906132533,55.41258048628325],[-122.60311597948744,55.41021178239735],[-122.63008141600362,55.393950994468014],[-122.63669846688043,55.359145394154],[-122.65494477986329,55.342431514740184],[-122.67848718023649,55.34035262980308],[-122.69819588780476,55.347011753673534],[-122.71989745171761,55.34397838746855],[-122.73997685996935,55.354065724851026],[-122.74270805923813,55.36554163440642],[-122.81155518420512,55.387508677105714],[-122.83031433840878,55.384381951373015],[-122.84604239626857,55.39891552184022],[-122.86938027409181,55.400103825464164],[-122.87440953942853,55.419017120315814],[-122.92023481372722,55.41313762013896],[-122.97453482100039,55.398084754909135],[-122.98718708272682,55.401534599963085],[-122.98663242883605,55.428286192834754],[-123.00571977081938,55.44607808650139],[-123.0022968817139,55.458261954600935],[-122.9800752799782,55.46469702997836],[-122.9556306625053,55.45955678146243],[-122.92778587303007,55.46305047285161],[-122.93309459611686,55.472312275520515],[-122.95666110900169,55.48828706603904],[-122.95332830655263,55.50314557508679],[-122.93291946991692,55.521784503989785],[-122.94253901121898,55.554064052275194],[-122.92115689986355,55.56401917672311],[-122.94804104369952,55.580918733928065],[-122.96553626222666,55.58216455489233],[-122.97848229563313,55.57089908319052],[-123.01362927671134,55.55974558182379],[-123.0378752906815,55.56251729794014],[-123.07180901272807,55.58266663953451],[-123.08063901910857,55.61082586388761],[-123.07816130498128,55.62549765374608],[-123.12592564562165,55.6296239427101],[-123.14293553304297,55.64044097117749],[-123.14220544741039,55.65185763618248],[-123.12764418484159,55.66037685358321],[-123.12793337463704,55.68049346126082],[-123.1203790289018,55.688791318828955],[-123.1391155232751,55.71206584379356],[-123.14376974812787,55.731686314825744],[-123.16429272882544,55.737501198765],[-123.19117454992025,55.73321569388865],[-123.20364838849848,55.71424677350523],[-123.22841103740973,55.711812422118896],[-123.26082907132547,55.697108144679476],[-123.30692791944978,55.70688581195492],[-123.32666239171105,55.71537325691575],[-123.34139884802693,55.7312602193071],[-123.313598235769,55.75779735346336],[-123.30740774624954,55.77609636870732],[-123.31795713209671,55.80023995038425],[-123.33985877994422,55.8089063279528],[-123.33925837176163,55.81989651879967],[-123.38287116200729,55.839487113485724],[-123.36366416637924,55.8538291253772],[-123.36772601825399,55.86107783271913],[-123.4181285354536,55.87149679412239],[-123.44235086096059,55.88247427640616],[-123.51100328655133,55.86924964556431],[-123.52366038326973,55.86316735259821],[-123.57619760527014,55.87053534853938],[-123.57896658119061,55.880875316622934],[-123.60803563011099,55.883145495579015],[-123.6496940361656,55.89630152890773],[-123.66773183741559,55.90974913246059],[-123.68428631753243,55.91367631896618],[-123.68294008252386,55.9392121943001],[-123.70573859363077,55.942458109803816],[-123.75153069671488,55.933894798966556],[-123.77346021563669,55.95747860671533],[-123.81528805427031,55.98018934143764],[-123.84226992148162,55.982795629613825],[-123.85712056973794,55.97203722127153],[-123.86870920032962,55.93439064957968],[-123.87467401129176,55.92697663631826],[-123.93272521090086,55.909708396265444],[-123.93675620251986,55.89480762191938],[-123.9126568610934,55.874970840151775],[-123.90382160839258,55.85599241350631],[-123.88025256774428,55.8254546791637],[-123.8580131824454,55.80629734509828],[-123.83581111089757,55.80511863515794],[-123.81913013449623,55.79044402061452],[-123.82226033942493,55.77460036647351],[-123.80589264305762,55.75797342844576],[-123.76177856959715,55.74558427086553],[-123.7603970824182,55.73173369268666],[-123.78431008226093,55.73486469625329],[-123.81798465252032,55.71695681196091],[-123.82091184042612,55.70317965849026],[-123.84614106389664,55.68240240423588],[-123.91643917693695,55.65676960313874],[-123.95218480817269,55.63463681324742],[-123.97505617096249,55.60945447558561],[-123.95346221248504,55.602729429798],[-123.94225055119098,55.57491446508207],[-123.92837814181846,55.55437952745788],[-123.91082434582695,55.52772738460039],[-123.8845121849574,55.503715095565454],[-123.88520118198238,55.49331603318767],[-123.9010243174763,55.48326495947694],[-123.89498002688998,55.46478346211503],[-123.90675806713601,55.4290752040411],[-123.8749721326606,55.40024087021315],[-123.86214607866862,55.36540264242226],[-123.86035377459844,55.34670684493467],[-123.85178867655003,55.339533476428215],[-123.79717176360279,55.3244556076937],[-123.77302052308895,55.299391524348394],[-123.74207794544618,55.287507088298575],[-123.71213351627104,55.29051709733784],[-123.64589303958847,55.30652898284802],[-123.56850672923761,55.31275974960865],[-123.53456457196849,55.32746199135545],[-123.49420887630228,55.313965422676524],[-123.46156630142721,55.28668372600481],[-123.45730062916314,55.27019405263681],[-123.43058979733456,55.24192480005035],[-123.41332591528595,55.23493057709162],[-123.41852708675478,55.21884944619525],[-123.41388307467541,55.20192996274305],[-123.39225944186192,55.17108644612918],[-123.41866114508055,55.14803339343754],[-123.41699977292602,55.12194075104946],[-123.39627290761216,55.10297727610549],[-123.4134534341778,55.085941585895846],[-123.41520776251919,55.07091340650448],[-123.40668574992256,55.05734890313633],[-123.41556590998316,55.032890628837436],[-123.43304559577362,55.02087793016125],[-123.45418932789812,55.014411624041564],[-123.49489800282687,55.02000932889063],[-123.51537617509376,55.01714432202903],[-123.53812201271236,54.986027220610694],[-123.55047147292413,54.95823794865357],[-123.59009497053766,54.946403377179955],[-123.61983574259433,54.95503939182061],[-123.63237956988935,54.949260187548774],[-123.63300814824298,54.935656683020426],[-123.65834127019689,54.920308230392436],[-123.69061074450404,54.92312797723365],[-123.72071626682336,54.94292990457172],[-123.72728017390969,54.95522801510981],[-123.7583474447475,54.96416315853464],[-123.76119660084235,54.974576376409445],[-123.79421195120428,54.99541572310432],[-123.81642578683507,54.99786060363867],[-123.81055474931047,55.03760636669538],[-123.83003968640337,55.044664139104974],[-123.8629821633274,55.04704962628667],[-123.8883924300988,55.03782574917383],[-123.90445785583921,55.01963302655549],[-123.94587838214574,55.01150080896622],[-123.9800822274395,55.01221021216477],[-123.99907751404098,55.025169372445184],[-123.99912291805839,54.9866018319311],[-124.01202201710616,54.98162731676827],[-124.01327630398637,54.959907051860945],[-124.02148539242565,54.95305491397154],[-124.05127173017844,54.95077719109827],[-124.05191168443484,54.93045896253055],[-124.0345222670895,54.91680153272778],[-124.03411038510325,54.90298699715868],[-123.99503628465098,54.89302449152147],[-123.99450676869346,54.882283467674206],[-124.01419323012034,54.88209506263235],[-124.0231156467696,54.86793856258289],[-124.00518101347916,54.86255277489416],[-123.99032837163341,54.86631962214602],[-123.92672559545032,54.86212037219982],[-123.90444354400015,54.864809510616354],[-123.89580750250141,54.853719803678125],[-123.91955737456462,54.83174271154387],[-123.91492807802149,54.81617750162489],[-123.9257801992012,54.80683449373407],[-123.94815587851816,54.76749767331634],[-123.9263703091439,54.75899138766084],[-123.90370591392693,54.74386542565616],[-123.88051867799435,54.73819645411327],[-123.88039100989427,54.719662336837416],[-123.84223715844092,54.69615259000771],[-123.79595130128328,54.6926591375145],[-123.79327621078768,54.67473439730562],[-123.77849891793468,54.65912592491066],[-123.7863433355382,54.62722709083179],[-123.77865012101488,54.613229984870586],[-123.80823791230702,54.60518220474364],[-123.78005612426702,54.59261603267],[-123.7962900648003,54.57715209927063],[-123.81967778450726,54.58081031829422],[-123.81973045617147,54.56196311317175],[-123.83333538237738,54.55428275227269],[-123.82171506308931,54.54419897604088],[-123.8429007940432,54.5307572748747],[-123.86088532024246,54.52543308278649],[-123.84804436236217,54.512486674075795],[-123.87730955524887,54.499110151997314],[-123.88060007399783,54.49235074426424],[-123.95244509198497,54.458758258873246],[-123.9512854224582,54.44946668395902],[-123.98647868544455,54.42951075580459],[-123.9693514479413,54.4241885370163],[-123.96940172213353,54.41134012227323],[-123.93342439717998,54.37982660026641],[-123.92828262349737,54.3614463878125],[-123.90561079398915,54.37468182035335],[-123.87802433989062,54.37887140669329],[-123.85305395526048,54.37564211651522],[-123.81941191928024,54.336532343325835],[-123.7827006889191,54.33633340812331],[-123.7411713387648,54.3217889438871],[-123.71609625714588,54.32238622333261],[-123.644256455301,54.33012263037237],[-123.6202115614432,54.32055832518556],[-123.58662274465543,54.317561565554776],[-123.5543916874774,54.3062449870855],[-123.532430699681,54.2895993701993],[-123.55268907958853,54.27019902432937],[-123.52049399862699,54.252469343244336],[-123.5202037103741,54.17336249993221],[-123.51706144358876,54.17125909805128],[-123.26742036359184,54.17040227916182],[-123.21624311429699,54.17071994156096],[-123.21611000797671,54.179752249997215],[-123.17942510682207,54.18120544178871],[-123.12633010416799,54.17982591518352],[-123.02097902341487,54.17991278502399],[-123.02257612495917,54.16551102647101],[-122.94597230534356,54.16576299030959],[-122.94608645351896,54.15686674753844],[-122.86583622449962,54.1570387808838],[-122.86135473699345,54.148703929420655],[-122.81287929293964,54.14877573170359],[-122.8128702578141,54.163865154161506],[-122.73981168869979,54.16365616395356],[-122.63923752323332,54.16697881594824],[-122.63836377772499,54.161043020186824],[-122.57556246739512,54.161426134376846],[-122.54092750278413,54.166130291974355],[-122.54673899494557,54.182980908713],[-122.5381985887143,54.20638930752604],[-122.49896790168536,54.22161779104361],[-122.46393761548296,54.22236488827602],[-122.44427840395369,54.23653559326453],[-122.38965949097062,54.251829603842175],[-122.37397729461645,54.25938250577098],[-122.35457819810604,54.24440591240042],[-122.31798698211017,54.23308700362065],[-122.30749521670856,54.22092419563836],[-122.2707998122939,54.20569088924608],[-122.22873064458321,54.20484074762654],[-122.22809751567588,54.45153414852394],[-122.22024069808138,54.46522997276261],[-122.23898038341656,54.484211001534064],[-122.23536531390641,54.49489044955149],[-122.2049024608196,54.483135690964204],[-122.18386590148491,54.47023007085807],[-122.1554841746017,54.48993370857232],[-122.13528711533942,54.48450948906727],[-122.13368492333204,54.473016991476506],[-122.11556192931027,54.471318082244494],[-122.08747645732326,54.488838745439764],[-122.06927467265308,54.47733245524475],[-122.07219360644433,54.463165661503176],[-122.0666120441153,54.44455971588362],[-122.04239009272001,54.4378651761773],[-122.00333037585123,54.44024578435709],[-121.99323776368313,54.44826149986502],[-121.95283442408555,54.43869275558607],[-121.92974726194194,54.41563541443273],[-121.88485664200597,54.398249893453645],[-121.86359696842081,54.404585750025745],[-121.87487708706989,54.431182385714926],[-121.86656104607978,54.45429247288701],[-121.84076614571099,54.4469949509002],[-121.76882786149163,54.418817962798045],[-121.71363529277836,54.40908750817273],[-121.68115787164102,54.409727050269936],[-121.65716449214109,54.391915978654104],[-121.64131732997744,54.404810018090814],[-121.6331722094706,54.422828834434526],[-121.58081655430681,54.41876606377927],[-121.58581857722507,54.43705209711918],[-121.56855579584455,54.43947683856627],[-121.50211790992104,54.425157610861476],[-121.47866465918871,54.41048510947727],[-121.46663275692218,54.413018904617466],[-121.46329157236922,54.43489793882004],[-121.44036831808394,54.449902190810484],[-121.41832077773829,54.45601930699671],[-121.4208477736536,54.468879870023386],[-121.41257999365456,54.49102851156856],[-121.4308227591672,54.5036168575063],[-121.43998168573329,54.523502035189786],[-121.3962628500456,54.536261340179095]],[[-123.03699721524816,54.99288277642774],[-123.0431451145,54.96083913571749],[-123.02538571385733,54.94898129248759],[-123.05713502232184,54.94263957549497],[-123.08844003049067,54.95067889895225],[-123.06435351239243,54.96884610131809],[-123.05271669622405,54.99484361913068],[-123.03699721524816,54.99288277642774]],[[-123.0119460462669,55.32616360673831],[-123.01147801339758,55.29240011750616],[-123.08580629632623,55.29334767011633],[-123.08207377393727,55.23954320139577],[-123.08420668583508,55.21890380516115],[-123.20176523536234,55.21534534241712],[-123.20178639959039,55.25140886904832],[-123.22635491714459,55.25170755140838],[-123.2312506564467,55.28697990151498],[-123.23701537351228,55.28686481591734],[-123.24176712761611,55.327339255685835],[-123.25739107751785,55.34140319327411],[-123.25786616099494,55.395605963090986],[-123.09332411646986,55.396734953220225],[-123.0918506944276,55.36786589341762],[-123.04202021556057,55.368082257819076],[-123.04218521373339,55.33231149008496],[-123.0119460462669,55.32616360673831]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.91134031032031,\"lat\":54.87719839210005},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5953\"],\"cd_name_en\":[\"Fraser-Fort George\"],\"csd_code\":[\"5953050\"],\"csd_name_en\":[\"Fraser-Fort George G\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser-Fort George\",\"csd_name_fr\":\"Fraser-Fort George G\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.75629517248747,56.1138745410957],[-121.75793044673817,56.159406783290315],[-121.95821292058994,56.15889391478912],[-121.95922813878538,56.14144983158682],[-122.09201886634638,56.142680245778195],[-122.15634271982297,56.144650387316844],[-122.23340530779744,56.13979670565076],[-122.25145940265985,56.115642041647],[-122.28873113642314,56.11404299327813],[-122.28799509652929,56.09514215838069],[-122.30446550044584,56.08310554115748],[-122.29986165165406,56.045505053911754],[-122.29153710848426,56.040685938684916],[-122.28539431507723,56.00172337304375],[-122.23159268833751,56.00562406340616],[-122.22698411543007,55.95444043458228],[-122.23607148535362,55.88998151943586],[-122.0368929662467,55.88584116739218],[-122.03784275240764,55.899264414511734],[-121.92927039837632,55.89774534477414],[-121.91483455726221,55.89014830082247],[-121.91409231390023,55.87199950209626],[-121.90103350432327,55.87166475744284],[-121.90200303895635,55.8979481038043],[-121.75663078947495,55.89838707383886],[-121.75629517248747,56.1138745410957]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.00722438142323,\"lat\":56.02375672552142},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5955\"],\"cd_name_en\":[\"Peace River\"],\"csd_code\":[\"5955025\"],\"csd_name_en\":[\"Hudson's Hope\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Peace River\",\"csd_name_fr\":\"Hudson's Hope\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-139.42846180044296,64.09008014853855],[-139.44808341263578,64.07507565421746],[-139.47935853633257,64.02294949070313],[-139.45048780746248,64.0282398663704],[-139.279478405269,64.02445248357932],[-139.2777241072878,64.05066916803086],[-139.3779793701241,64.05378806639108],[-139.4114461125575,64.06918688154859],[-139.41578332329425,64.08998231012468],[-139.42846180044296,64.09008014853855]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-139.38630159768107,\"lat\":64.04582635767792},\"year\":\"2021\",\"prov_code\":[\"60\"],\"prov_name_en\":[\"Yukon\"],\"cd_code\":[\"6001\"],\"cd_name_en\":[\"Yukon\"],\"csd_code\":[\"6001029\"],\"csd_name_en\":[\"Dawson\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Yukon\",\"cd_name_fr\":\"Yukon\",\"csd_name_fr\":\"Dawson\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.87885678463358,69.3569809874425],[-123.8808977259396,69.36760145286443],[-124.10808776217125,69.3662575089948],[-124.11668596154713,69.29193197235844],[-123.86589624290917,69.28929815490125],[-123.87885678463358,69.3569809874425]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.99184261993646,\"lat\":69.3281460283803},\"year\":\"2021\",\"prov_code\":[\"61\"],\"prov_name_en\":[\"Northwest Territories\"],\"cd_code\":[\"6101\"],\"cd_name_en\":[\"Region 1\"],\"csd_code\":[\"6101014\"],\"csd_name_en\":[\"Paulatuk\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Hamlet\",\"prov_name_fr\":\"Territoires du Nord-Ouest\",\"cd_name_fr\":\"Region 1\",\"csd_name_fr\":\"Paulatuk\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-134.77386530985103,67.38957288766845],[-134.73705574923133,67.47712094102327],[-134.866936754965,67.48609782733239],[-134.87260497717463,67.46795355308997],[-134.91545413813904,67.41695377820997],[-134.91300677759133,67.39044354853434],[-134.77689435446288,67.38233984164071],[-134.77386530985103,67.38957288766845]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-134.82668854623356,\"lat\":67.4331154409962},\"year\":\"2021\",\"prov_code\":[\"61\"],\"prov_name_en\":[\"Northwest Territories\"],\"cd_code\":[\"6101\"],\"cd_name_en\":[\"Region 1\"],\"csd_code\":[\"6101015\"],\"csd_name_en\":[\"Fort McPherson\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Hamlet\",\"prov_name_fr\":\"Territoires du Nord-Ouest\",\"cd_name_fr\":\"Region 1\",\"csd_name_fr\":\"Fort McPherson\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-115.8217291109257,60.75272235263653],[-115.83698437293202,60.77190359978386],[-115.81792319415123,60.790840599187824],[-115.79294848750797,60.7963969012361],[-115.7697321803711,60.81507169180446],[-115.77321179883224,60.83048790336872],[-115.74999019924435,60.83697879689818],[-115.72042048296589,60.85195330231488],[-115.7313621718967,60.861319655697784],[-115.75136241115757,60.87568425868864],[-115.90136739926989,60.85012641220195],[-115.89822372969785,60.75302402640557],[-116.09530698524927,60.64183696861084],[-116.10029067840978,60.640007458611564],[-116.01209218004925,60.636176149387175],[-115.986582930789,60.643001206275954],[-115.95762909428561,60.67444759116019],[-115.93892029042743,60.669792303341886],[-115.91295591689496,60.689889094527594],[-115.88262009217995,60.69597470995162],[-115.8826543952556,60.70522310542449],[-115.86309721469311,60.712654207956035],[-115.86643208138335,60.72849669443088],[-115.85563838583973,60.738523502713754],[-115.8217291109257,60.75272235263653]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-115.88885318067372,\"lat\":60.761528690340555},\"year\":\"2021\",\"prov_code\":[\"61\"],\"prov_name_en\":[\"Northwest Territories\"],\"cd_code\":[\"6105\"],\"cd_name_en\":[\"Region 5\"],\"csd_code\":[\"6105016\"],\"csd_name_en\":[\"Hay River\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Territoires du Nord-Ouest\",\"cd_name_fr\":\"Region 5\",\"csd_name_fr\":\"Hay River\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-85.20959751147046,73.13761880019484],[-85.21506378849291,73.12244848726817],[-85.16824811533104,73.09781000365483],[-85.14974329754202,73.07099138841525],[-85.12757810946307,73.06501639083199],[-85.13394868972794,73.04865589598333],[-85.23643779818113,73.06341010391384],[-85.26491676353227,73.07168628555242],[-85.33213514524189,73.10181660243607],[-85.35527436233144,73.11958640016337],[-85.34619444205379,73.13002029947825],[-85.37414371271882,73.14175438714138],[-85.4258466297391,73.13592159066532],[-85.48183737216836,73.10010568701117],[-85.48416770418463,73.073401794106],[-85.49711330903429,73.05410629513771],[-85.53838772936948,73.04276449614049],[-85.52664357880417,73.02578008825598],[-85.49545676304132,73.02337789719988],[-85.44858702724918,73.02853349047008],[-85.38240660016098,73.02710219697073],[-85.14824359685909,73.01219169385153],[-85.16491139103229,73.0312094920024],[-85.13750013167532,73.0361815101716],[-85.08301003464133,73.03073361111507],[-85.05375190929848,72.99187371062537],[-84.99389713480954,72.97731861243761],[-84.92582880828546,72.97851388740249],[-84.86482709186178,72.95388649762684],[-84.82720802431581,73.08913749637489],[-84.96838803302398,73.11574259989922],[-85.0430558802814,73.14085150588309],[-85.16400008302587,73.14853321195524],[-85.20272381294487,73.14678400064743],[-85.20959751147046,73.13761880019484]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-85.13584849348366,\"lat\":73.06270521248909},\"year\":\"2021\",\"prov_code\":[\"62\"],\"prov_name_en\":[\"Nunavut\"],\"cd_code\":[\"6204\"],\"cd_name_en\":[\"Qikiqtaaluk\"],\"csd_code\":[\"6204018\"],\"csd_name_en\":[\"Arctic Bay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Hamlet\",\"prov_name_fr\":\"Nunavut\",\"cd_name_fr\":\"Qikiqtaaluk\",\"csd_name_fr\":\"Arctic Bay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.65119492206585,45.62446720350155],[-62.68671313033919,45.639518917142325],[-62.70082452858996,45.648501429750205],[-62.695700201540504,45.67058218356917],[-62.74370960423713,45.66319183366387],[-62.76283607844781,45.66829896457229],[-62.78816742236179,45.65364766887403],[-62.793847046296364,45.62990311251479],[-62.805128842554716,45.62404194191701],[-62.81815066895498,45.606092246096736],[-62.83093256955928,45.598172486016274],[-62.843659000477906,45.56235019695399],[-62.86128541321106,45.54674729827236],[-62.88392459984952,45.538918804468814],[-62.90773741002988,45.511957906756564],[-62.90588199681022,45.50273138622446],[-62.91691360837418,45.482279307633235],[-62.90416942855632,45.44856969081673],[-62.93713901077167,45.441929017296616],[-62.95000841748876,45.44619099709705],[-62.81015767080418,45.34420109997967],[-62.71454585538158,45.276067166876715],[-62.677079041496945,45.2908271993889],[-62.648501940763964,45.29089254974499],[-62.63852679885327,45.29891918533725],[-62.42014299328809,45.33240363296731],[-62.42335758818005,45.353878106682586],[-62.43283519080367,45.36939469582024],[-62.454379094746976,45.37636279694121],[-62.45950049824277,45.38548931067926],[-62.47831981030008,45.39598539476895],[-62.52281851014494,45.40351170134586],[-62.583849604662426,45.41977571231307],[-62.5924738204399,45.43092449501856],[-62.617191897271354,45.433619986726484],[-62.61729140554925,45.44673079050262],[-62.65447239203474,45.46520380955892],[-62.654102911352034,45.47002069863433],[-62.67476949216909,45.49591880964316],[-62.677398357362655,45.506990489295674],[-62.658101374731494,45.54062227781203],[-62.66177933285221,45.548364723722834],[-62.69034450880622,45.54316978650061],[-62.70129438869091,45.52832929119683],[-62.722607380610135,45.536315401449315],[-62.737570090088916,45.574729303877206],[-62.725601113034315,45.57740441790549],[-62.69554551202176,45.57255229991322],[-62.6679033167209,45.576157085063016],[-62.66371351011235,45.601365843341945],[-62.64324303349855,45.60599424515699],[-62.65119492206585,45.62446720350155]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.71591493060834,\"lat\":45.44475891785619},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1212\"],\"cd_name_en\":[\"Pictou\"],\"csd_code\":[\"1212006\"],\"csd_name_en\":[\"Pictou\",\"Subd. B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of county municipality \\/ Subdivision municipalit\\u00e9 de comt\\u00e9\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Pictou\",\"csd_name_fr\":\"Pictou, Subd. B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-60.5688849479523,45.978879336403295],[-60.56646006818231,45.984180068487106],[-60.5857052117866,46.00190834175653],[-60.6641313666415,45.96334128359226],[-60.64920981876194,45.948512342487504],[-60.66742632372604,45.932670094611744],[-60.659235606557345,45.917674691245914],[-60.630861698299164,45.922642997730776],[-60.62606500047508,45.93509289927008],[-60.60993240330209,45.9427148097797],[-60.58031361915884,45.94686009509029],[-60.576000743545485,45.958002119162565],[-60.58516199789727,45.96855152446662],[-60.5688849479523,45.978879336403295]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-60.6177553823763,\"lat\":45.95995432403046},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1217\"],\"cd_name_en\":[\"Cape Breton\"],\"csd_code\":[\"1217020\"],\"csd_name_en\":[\"Eskasoni 3\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Cape Breton\",\"csd_name_fr\":\"Eskasoni 3\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.9664027720821,45.21349357102305],[-65.95432382362824,45.22685291471419],[-65.94971672864222,45.24023796206319],[-65.92223501246585,45.24595056222394],[-65.90730950436249,45.254005510372295],[-65.88286519063537,45.284266695565385],[-65.88925811948917,45.29654919862893],[-65.8794063904678,45.31589118625396],[-65.86145451191393,45.315411163717016],[-65.8388317562682,45.33414635310526],[-65.8477774366855,45.336473384842094],[-65.91585006201841,45.37309055377381],[-65.92392756659581,45.3774825096219],[-66.03032009899131,45.34509862559215],[-66.05733880056886,45.33808018298086],[-66.17120557362394,45.30499655371627],[-66.23878194531329,45.285135698067464],[-66.23811639908935,45.20836418455974],[-66.2408775479461,45.13127625822511],[-66.18845118388494,45.15102574228111],[-66.14859731737074,45.17375906436089],[-66.09111702874905,45.21176557703616],[-65.9997549573412,45.215911751609134],[-65.98835528181262,45.20533182556124],[-65.9664027720821,45.21349357102305]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.06323638654071,\"lat\":45.26761947577589},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1301\"],\"cd_name_en\":[\"Saint John\"],\"csd_code\":[\"1301006\"],\"csd_name_en\":[\"Saint John\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City \\/ Cit\\u00e9\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Saint John\",\"csd_name_fr\":\"Saint John\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.75712772393075,45.52006291229815],[-65.82020277238512,45.545665329688376],[-65.82246053719507,45.536996784365954],[-65.80218697839939,45.52762308002597],[-65.82260852003843,45.497299815967416],[-65.83207091531354,45.49486933472182],[-65.85778176368336,45.50669300315697],[-65.8630774243637,45.52065941033566],[-65.89919752328662,45.510326754306526],[-65.90903562405255,45.504330505636496],[-65.89924530937044,45.481109660618664],[-65.90941798133439,45.460858550103985],[-65.89288817875817,45.43270843952891],[-65.8768018862133,45.43008945113482],[-65.87240487804715,45.414429533014186],[-65.84538461337338,45.39942844266837],[-65.76205200078176,45.42192598755589],[-65.7923957941628,45.43901378860384],[-65.74070310720504,45.45823919221812],[-65.74222786450868,45.46798113574015],[-65.76073759125443,45.51734057641416],[-65.75712772393075,45.52006291229815]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.82620467548477,\"lat\":45.46755297351947},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1305\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1305006\"],\"csd_name_en\":[\"Hampton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Hampton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.48443691426046,45.920201691840525],[-64.52014062529355,45.91496417683096],[-64.52840781184447,45.891333465791746],[-64.51892670458635,45.88690316546878],[-64.4844124040073,45.919032297213775],[-64.48443691426046,45.920201691840525]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.51037707446567,\"lat\":45.90548423562793},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1307\"],\"cd_name_en\":[\"Westmorland\"],\"csd_code\":[\"1307012\"],\"csd_name_en\":[\"Dorchester\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Westmorland\",\"csd_name_fr\":\"Dorchester\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.48652423567884,45.95457665626005],[-64.49327554431822,46.05669609461167],[-64.52029521217274,46.04849273235358],[-64.5608941114419,46.041516550456556],[-64.58486718374448,46.05091889075908],[-64.59219952965346,46.07596928091143],[-64.66538800258596,46.06169650674843],[-64.66191308622395,46.045185766388876],[-64.67550711471401,46.04170156322858],[-64.67035988964545,46.029821493785676],[-64.69706924261344,46.02536075112711],[-64.70121104791454,46.00766935226729],[-64.69328902251932,45.993203435969875],[-64.67245527404023,45.96921867785041],[-64.62401099546022,45.9318131603994],[-64.60380812572697,45.89235429079878],[-64.57660728226102,45.86857684100981],[-64.56874134450636,45.86275045755192],[-64.5545978922977,45.87391409038151],[-64.56167612344997,45.885247693813206],[-64.58579517474523,45.939161453579004],[-64.54881409210923,45.94659767474314],[-64.54788109594067,45.95147662204818],[-64.49559355020618,45.96117861053208],[-64.48652423567884,45.95457665626005]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.59045405940323,\"lat\":45.99169421438026},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1307\"],\"cd_name_en\":[\"Westmorland\"],\"csd_code\":[\"1307013\"],\"csd_name_en\":[\"Memramcook\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Westmorland\",\"csd_name_fr\":\"Memramcook\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.73590262924168,46.36459338596126],[-64.7659281972669,46.3787065851805],[-64.7783547940941,46.367433910310446],[-64.76893951757727,46.35563961758723],[-64.75435269135085,46.35477411728514],[-64.73590262924168,46.36459338596126]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.75950548408028,\"lat\":46.36541454076014},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1308\"],\"cd_name_en\":[\"Kent\"],\"csd_code\":[\"1308007\"],\"csd_name_en\":[\"Saint-Antoine\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kent\",\"csd_name_fr\":\"Saint-Antoine\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.89695999741286,46.65654508289536],[-64.90404044894328,46.65190346622348],[-64.8919077029098,46.63770779814944],[-64.87289121032549,46.634333570037334],[-64.85597507692376,46.63798430530648],[-64.87522410066933,46.6560235023013],[-64.86180890205051,46.666553165274124],[-64.89695999741286,46.65654508289536]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.8806772607053,\"lat\":46.647757240139164},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1308\"],\"cd_name_en\":[\"Kent\"],\"csd_code\":[\"1308017\"],\"csd_name_en\":[\"Rexton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kent\",\"csd_name_fr\":\"Rexton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.85086687249466,47.37839191626794],[-64.91676061430753,47.38055760266003],[-64.9515589996102,47.35886177180571],[-64.97140430845519,47.36085320487551],[-64.99111128702367,47.356640381678055],[-65.01118589454123,47.35926687275775],[-65.00760734319918,47.37083650224019],[-65.02615203640822,47.38068811066536],[-65.04127239977934,47.41251001742799],[-65.29357998700036,47.35396839177809],[-65.46734609357884,47.31314814662603],[-65.40576957826607,47.189495848317584],[-65.38910908201356,47.190219529609166],[-65.3758199500593,47.17476384233974],[-65.36694244024368,47.14329771241958],[-65.3778704092868,47.1301507018865],[-65.3762297707789,47.10866436130967],[-65.35647527556536,47.10556096422176],[-65.35550402789146,47.08155848330273],[-65.31533701292874,47.08289818978088],[-65.29315881656207,47.088453723490076],[-65.23558198481504,47.102845745301465],[-65.16251516860487,47.12391961366005],[-65.08616041359689,47.14188068123663],[-64.86179201166253,47.14224100692642],[-64.84203652161257,47.14410203739001],[-64.88316316173962,47.2026692543971],[-64.88522119449837,47.22274757935579],[-64.85086687249466,47.37839191626794]],[[-65.12585739659583,47.35144701898329],[-65.10772270234169,47.326934202140926],[-65.17008456428316,47.31251579510613],[-65.19100792312159,47.35455745546873],[-65.13959548370921,47.36635412384051],[-65.12585739659583,47.35144701898329]],[[-65.12638662028036,47.246466688052465],[-65.07404383688132,47.285751740177105],[-65.0321072224294,47.29251815383767],[-65.02305002487903,47.27388366085024],[-65.03589698715675,47.26516110771369],[-65.0630800149566,47.25520929304214],[-65.08978320384762,47.23113328648297],[-65.11524679421291,47.21892906545526],[-65.11334812025795,47.206707495768676],[-65.12735655465765,47.19822126279611],[-65.16202073318009,47.241640246529236],[-65.12638662028036,47.246466688052465]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.14721806797375,\"lat\":47.247424041505035},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1309\"],\"cd_name_en\":[\"Northumberland\"],\"csd_code\":[\"1309036\"],\"csd_name_en\":[\"Alnwick\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Northumberland\",\"csd_name_fr\":\"Alnwick\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.6074694578318,46.292011552604066],[-67.6325058002874,46.34875802471741],[-67.6715061263222,46.441263393642544],[-67.70016898107657,46.434848180502605],[-67.70499571531671,46.42166219355907],[-67.7229248403092,46.431218305175825],[-67.78422361331411,46.4189652041831],[-67.78198214947199,46.25812049085031],[-67.6074694578318,46.292011552604066]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.7102555996243,\"lat\":46.34645640034458},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1311\"],\"cd_name_en\":[\"Carleton\"],\"csd_code\":[\"1311018\"],\"csd_name_en\":[\"Wilmot\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Carleton\",\"csd_name_fr\":\"Wilmot\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.47740779701792,46.45289107809366],[-67.48398194248581,46.54437569594722],[-67.4922390563563,46.55512945235134],[-67.44022649349246,46.56849341264443],[-67.25414056028815,46.570831523905134],[-67.03119010389725,46.573975225422224],[-66.96347184690022,46.65605718268937],[-66.96387494189844,46.65717736146107],[-66.867260157943,46.77406691735062],[-67.26313261455228,46.69464929667634],[-67.46071190866346,46.655192441090904],[-67.51266363362795,46.644032950211496],[-67.72131912789982,46.601183046637345],[-67.72277629768799,46.59500254975437],[-67.71269872800008,46.56447685146842],[-67.7043269218346,46.55615868228247],[-67.65346126133946,46.53763250328774],[-67.60275515994522,46.51185864353076],[-67.5792559918676,46.50366718825048],[-67.57886447480755,46.494566515005545],[-67.57582891141539,46.47955467102201],[-67.55499632386018,46.47585570538979],[-67.5467920112378,46.45360300388593],[-67.47740779701792,46.45289107809366]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.29583468813534,\"lat\":46.62178715815721},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1311\"],\"cd_name_en\":[\"Carleton\"],\"csd_code\":[\"1311028\"],\"csd_name_en\":[\"Kent\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Carleton\",\"csd_name_fr\":\"Kent\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.63091189869574,47.982663870250455],[-66.64460576112873,47.98472232828059],[-66.68720142751795,47.974744103504506],[-66.70693649200147,48.00778138248741],[-66.72305516860222,48.00906595156261],[-66.74638054003185,48.00309768061998],[-66.74821212411078,48.00297255698818],[-66.72607503398348,47.959905190544625],[-66.75615769400027,47.9584085801128],[-66.75047155690943,47.948257756517954],[-66.78017379031056,47.94225744008529],[-66.7766905062134,47.93341509616337],[-66.80844548136533,47.92731567315622],[-66.8188200806932,47.9195691592676],[-66.80998719987201,47.88663949978627],[-66.77895358507065,47.88261032569441],[-66.76489842136652,47.87295743953233],[-66.74008860192312,47.87792382335062],[-66.73899345583705,47.86976594868132],[-66.70396556053956,47.87823568181447],[-66.70006435016832,47.8898921613772],[-66.70853304235271,47.90431027070369],[-66.65453133072558,47.917926751303526],[-66.58224665303842,47.936309804128676],[-66.59008483714045,47.950733211448394],[-66.59484654129912,47.956585292824464],[-66.65139656143135,47.94192033673427],[-66.65444682228176,47.95013160822231],[-66.61830931762447,47.96166959915222],[-66.63091189869574,47.982663870250455]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.71196826367816,\"lat\":47.93463382312639},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1314\"],\"cd_name_en\":[\"Restigouche\"],\"csd_code\":[\"1314013\"],\"csd_name_en\":[\"Atholville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Restigouche\",\"csd_name_fr\":\"Atholville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.73872511827817,47.795341504616445],[-65.72341036669447,47.767174624276684],[-65.7104550351831,47.770405800225134],[-65.71481647520636,47.78725335349754],[-65.72551602204699,47.801707656877525],[-65.73872511827817,47.795341504616445]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.72372188903358,\"lat\":47.784265663982595},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1315\"],\"cd_name_en\":[\"Gloucester\"],\"csd_code\":[\"1315014\"],\"csd_name_en\":[\"Petit-Rocher\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Gloucester\",\"csd_name_fr\":\"Petit-Rocher\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.18757377570567,49.098590530355544],[-65.0543256452604,49.09495473478738],[-65.05459309654078,49.10795180056264],[-65.05617826653067,49.18451835458612],[-65.05954656276546,49.23485721162749],[-65.19639934786828,49.242028530543266],[-65.18757377570567,49.098590530355544]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.12437650224314,\"lat\":49.167937942787155},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2403\"],\"cd_name_en\":[\"La C\\u00f4te-de-Gasp\\u00e9\"],\"csd_code\":[\"2403020\"],\"csd_name_en\":[\"Grande-Vall\\u00e9e\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La C\\u00f4te-de-Gasp\\u00e9\",\"csd_name_fr\":\"Grande-Vall\\u00e9e\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.1480322394678,48.00008072732814],[-65.18208622599113,48.04399421808338],[-65.24263563447127,48.128272860942346],[-65.18627729636705,48.1479939292826],[-65.23331918788222,48.213435924367204],[-65.28856309494537,48.197710761903515],[-65.22621902292929,48.03092386978218],[-65.20328219794641,48.000052178995674],[-65.1480322394678,48.00008072732814]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.22604275523774,\"lat\":48.111446412760365},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2405\"],\"cd_name_en\":[\"Bonaventure\"],\"csd_code\":[\"2405025\"],\"csd_name_en\":[\"Hope\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Bonaventure\",\"csd_name_fr\":\"Hope\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.94908207496908,48.56781033341681],[-65.99036689938754,48.59709382210147],[-66.09831551942878,48.668163222371874],[-66.28270249157364,48.6223020541072],[-66.67432647984131,48.52341078993349],[-66.94843934492097,48.453031078232726],[-67.13161751473055,48.54223341721831],[-67.30250302720559,48.62559107444442],[-67.33308205125084,48.59775018960118],[-67.22160142749651,48.5417728053113],[-67.23456236475492,48.531019613507226],[-67.17556316033011,48.502379660509675],[-67.22776417887178,48.45485854599474],[-67.12976584872634,48.40644329575678],[-67.16578108570887,48.39700403113722],[-67.14954277031646,48.36989992909839],[-67.10663417851373,48.34906152636982],[-67.09830362253913,48.34537863322884],[-67.08394783900319,48.36081341735002],[-67.06180864854481,48.3407231068664],[-67.04309460525265,48.366545821556535],[-66.99208537545769,48.33512556142865],[-67.0245563649543,48.31134151084975],[-66.99565921132913,48.29726056274277],[-66.97540515124248,48.30266964635773],[-66.74944655371397,48.364079327887254],[-66.56687887805147,48.41130205814061],[-66.27984060838446,48.48323139309319],[-66.18566395505059,48.50643989695565],[-65.94908207496908,48.56781033341681]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.6441807600898,\"lat\":48.48656694141334},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2407\"],\"cd_name_en\":[\"La Matap\\u00e9dia\"],\"csd_code\":[\"2407908\"],\"csd_name_en\":[\"Lac-Casault\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Matap\\u00e9dia\",\"csd_name_fr\":\"Lac-Casault\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.09831551942878,48.668163222371874],[-66.3252132389687,48.81822524941716],[-66.53691338921841,48.956950200178035],[-66.53993113541033,48.957815323709035],[-66.7060770532681,48.90199870162957],[-66.89726893807347,48.840587429052846],[-66.904927265917,48.8455882750503],[-67.00056803484077,48.816941903921766],[-67.0972377476372,48.78669211117884],[-67.1466238589935,48.7562682994207],[-67.30882300700488,48.629674005452124],[-67.30250302720559,48.62559107444442],[-67.13161751473055,48.54223341721831],[-67.07426964661137,48.58027105129314],[-67.06201026870698,48.57058601853379],[-67.00718768205752,48.56984861778392],[-66.98458981473769,48.577351205665536],[-66.92733641127475,48.601327096717306],[-66.91064688520412,48.59776913497804],[-66.87814795570131,48.60216820105297],[-66.84179536942735,48.61755692740582],[-66.85508414029803,48.662223986307765],[-66.83001380648551,48.6700736095233],[-66.82170069451423,48.66726390915071],[-66.79089868760171,48.6745879897249],[-66.77954803382289,48.68120362603871],[-66.7520627924841,48.66301073058667],[-66.74004627646626,48.67500619423614],[-66.71532303926003,48.68449985017758],[-66.6848931635563,48.70242960900952],[-66.62849713800165,48.724700927769035],[-66.57663638926277,48.74216180296223],[-66.55942768675418,48.738499261541776],[-66.56211908169661,48.78903911231813],[-66.54361833647185,48.794834527683285],[-66.28270249157364,48.6223020541072],[-66.09831551942878,48.668163222371874]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.74298123921945,\"lat\":48.74464549414558},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2408\"],\"cd_name_en\":[\"La Matanie\"],\"csd_code\":[\"2408902\"],\"csd_name_en\":[\"Rivi\\u00e8re-Bonjour\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Matanie\",\"csd_name_fr\":\"Rivi\\u00e8re-Bonjour\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.73420672172321,48.305531521187866],[-68.85422874299076,48.379134911505915],[-68.87646740517569,48.37481114006643],[-68.89809442748344,48.37639644256735],[-68.92095752377975,48.389433592085766],[-68.93149767745999,48.414588766783886],[-68.9917213680187,48.45786143074825],[-69.1176015846633,48.367831939175105],[-68.99946831616997,48.291357395930774],[-68.98993480087253,48.281403267394396],[-68.92766254716737,48.24403502056241],[-68.93813865852748,48.23333188655745],[-68.92736585861665,48.22613756489465],[-68.909657759341,48.23304075798967],[-68.89223680979606,48.22023300576409],[-68.85971556287465,48.24544183568127],[-68.83982252031684,48.24307705754417],[-68.8047484678765,48.26358275138646],[-68.80060361088822,48.26138981507309],[-68.76666487119405,48.28435702539925],[-68.73195562849759,48.30415174633653],[-68.73420672172321,48.305531521187866]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.93013908741044,\"lat\":48.33403222031254},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2410\"],\"cd_name_en\":[\"Rimouski-Neigette\"],\"csd_code\":[\"2410070\"],\"csd_name_en\":[\"Saint-Fabien\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Rimouski-Neigette\",\"csd_name_fr\":\"Saint-Fabien\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.48378026818817,47.86673318388586],[-69.48937660632032,47.86206510060934],[-69.51464743621464,47.87602191270284],[-69.63936200394902,47.97125980383884],[-69.65908967442341,47.95317078227706],[-69.67202556298317,47.941044129002925],[-69.65189186563694,47.915364309692144],[-69.65701796197537,47.85940116133595],[-69.5631306422406,47.79532894799715],[-69.57241008892929,47.769666493219134],[-69.55201878609954,47.75560007814888],[-69.54273188383455,47.761973007559746],[-69.51980568925913,47.7590226466206],[-69.48617138595485,47.796544373768214],[-69.4687711009239,47.821268433997005],[-69.44867603385192,47.81792186135447],[-69.43253861238945,47.83650080390452],[-69.45650227194982,47.85546371516541],[-69.48378026818817,47.86673318388586]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.56479740389386,\"lat\":47.85783294869125},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2412\"],\"cd_name_en\":[\"Rivi\\u00e8re-du-Loup\"],\"csd_code\":[\"2412072\"],\"csd_name_en\":[\"Rivi\\u00e8re-du-Loup\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Rivi\\u00e8re-du-Loup\",\"csd_name_fr\":\"Rivi\\u00e8re-du-Loup\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.04716279831699,47.733535183962644],[-69.08342688119636,47.7535770819957],[-69.10410503025604,47.76088856618563],[-69.1264622168855,47.76650949058381],[-69.16779495955748,47.739352961403895],[-69.19977432400997,47.73902505844559],[-69.27167973752564,47.68809144830823],[-69.33312921998959,47.64583254509167],[-69.30452348149342,47.626304733840215],[-69.20699131609369,47.5606022487213],[-69.167331731151,47.58774738183698],[-69.07111599365359,47.651714600655374],[-69.09735573208688,47.6753034877347],[-69.04351410956265,47.67078324013196],[-69.05361713224659,47.69348048210469],[-69.04716279831699,47.733535183962644]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.17691437158349,\"lat\":47.66780050445117},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2413\"],\"cd_name_en\":[\"T\\u00e9miscouata\"],\"csd_code\":[\"2413090\"],\"csd_name_en\":[\"Saint-Honor\\u00e9-de-T\\u00e9miscouata\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscouata\",\"csd_name_fr\":\"Saint-Honor\\u00e9-de-T\\u00e9miscouata\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.70440296233308,47.540283008724174],[-69.75286397653475,47.572727848135465],[-69.77426053878872,47.55993906315815],[-69.7980153730878,47.565667604386185],[-69.81692212061185,47.54063173424446],[-69.82485548475668,47.538999023389366],[-69.84870918575439,47.497783694301084],[-69.828392021911,47.481767161018055],[-69.83209082148231,47.47275518397926],[-69.82837447277205,47.47033879047783],[-69.79602520445209,47.48645474353197],[-69.70440296233308,47.540283008724174]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.7834804884166,\"lat\":47.5258477268179},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2414\"],\"cd_name_en\":[\"Kamouraska\"],\"csd_code\":[\"2414018\"],\"csd_name_en\":[\"Saint-Pascal\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Kamouraska\",\"csd_name_fr\":\"Saint-Pascal\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.73011321551981,48.13294913274985],[-69.78284774865939,48.14436535137532],[-69.81008303605856,48.143823845453596],[-69.84235954954079,48.1543067667488],[-69.85755732727502,48.164106793899194],[-69.87082383513585,48.18161342217091],[-69.95674838959528,48.0574929050791],[-70.00126415156,47.99369114358745],[-69.74993582113026,47.98976813554593],[-69.65908967442341,47.95317078227706],[-69.63936200394902,47.97125980383884],[-69.61043644957039,48.00007908220667],[-69.53633729988759,48.05613266708462],[-69.70259164006087,48.127313643644264],[-69.73011321551981,48.13294913274985]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.77521068068334,\"lat\":48.056447037731395},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2415\"],\"cd_name_en\":[\"Charlevoix-Est\"],\"csd_code\":[\"2415065\"],\"csd_name_en\":[\"Baie-Sainte-Catherine\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Charlevoix-Est\",\"csd_name_fr\":\"Baie-Sainte-Catherine\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.31076814663112,47.32171799282218],[-70.2514622772644,47.37105776268902],[-70.303200628698,47.433078711276806],[-70.38194510734813,47.434006412048305],[-70.4100301669926,47.423722705434855],[-70.46005035531847,47.405247577014215],[-70.45820429718962,47.36631763139766],[-70.36475278790893,47.302468434230825],[-70.31076814663112,47.32171799282218]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.35852864838756,\"lat\":47.37563553412577},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2416\"],\"cd_name_en\":[\"Charlevoix\"],\"csd_code\":[\"2416023\"],\"csd_name_en\":[\"L'Isle-aux-Coudres\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Charlevoix\",\"csd_name_fr\":\"L'Isle-aux-Coudres\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.09413792049492,47.07699140993003],[-70.14137318123431,47.106900757172404],[-70.15636689571313,47.119241419255395],[-70.17280884621987,47.108228763609006],[-70.20458029686202,47.07647493131123],[-70.23308547235163,47.096162007442],[-70.27365188124492,47.06846632879653],[-70.34296767697879,47.01611091698933],[-70.29697301600422,46.98456473299313],[-70.24343824752214,46.939245261704215],[-70.21504865382937,46.95716678125271],[-70.1709015432779,46.92679470534689],[-70.0766961464793,46.990263540299786],[-70.0998879445918,47.00577379151631],[-70.14790781723238,47.03810076241198],[-70.09413792049492,47.07699140993003]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.20215909051223,\"lat\":47.018972539287695},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2417\"],\"cd_name_en\":[\"L'Islet\"],\"csd_code\":[\"2417045\"],\"csd_name_en\":[\"Saint-Cyrille-de-Lessard\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"L'Islet\",\"csd_name_fr\":\"Saint-Cyrille-de-Lessard\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.84737713321054,46.670085523233546],[-70.83089913314717,46.68931881724418],[-70.78191027018974,46.696319227763325],[-70.80047415393857,46.71033264624447],[-70.76989302147717,46.72939894495964],[-70.8414930484283,46.7774495226227],[-70.86173461179277,46.766395994357616],[-70.89773891380213,46.73253970790888],[-70.91532545749921,46.712555354706545],[-70.947932688051,46.69929102144891],[-70.97201032775318,46.68272341701995],[-70.92805174483998,46.665824922629646],[-70.90814337188935,46.68539305209805],[-70.8906333339613,46.67352730271759],[-70.86462363383006,46.681597077593324],[-70.84737713321054,46.670085523233546]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.86090518163483,\"lat\":46.71573272552151},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2419\"],\"cd_name_en\":[\"Bellechasse\"],\"csd_code\":[\"2419075\"],\"csd_name_en\":[\"Saint-Gervais\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Bellechasse\",\"csd_name_fr\":\"Saint-Gervais\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.71308607475795,46.878283858883506],[-71.70569948783876,46.88369292535412],[-71.73356122784554,46.90307563602268],[-71.70949393955463,46.918611555627976],[-71.71975655733866,46.928320261543796],[-71.68497336010755,46.95197439346001],[-71.68135517062281,46.95441617657525],[-71.63271169304227,46.986930102574426],[-71.73637217937585,47.059514089465004],[-71.81461940373283,47.112259403042984],[-71.89249524274315,47.164647768910285],[-72.055578000076,47.06289721735111],[-72.1168759606769,47.01859256908187],[-72.05329487396274,46.976248145998056],[-72.02610514740985,46.995083128558306],[-71.95280908529138,46.943274539823186],[-71.88198144675627,46.89161182642117],[-71.86427524915572,46.88045608177824],[-71.87353181014481,46.85383011230819],[-71.87064971035142,46.841002566078096],[-71.91764226529278,46.83882436527714],[-71.89886383684039,46.82580215005096],[-71.87017001939999,46.80593079526984],[-71.72942010579486,46.83712271454147],[-71.69936980332926,46.84370407823938],[-71.71475962406456,46.85398740853405],[-71.73390669361814,46.856400078121375],[-71.72731855118317,46.8721881583311],[-71.74160221587088,46.88194598343823],[-71.73054012423509,46.88989118767817],[-71.71308607475795,46.878283858883506]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.85911328862139,\"lat\":46.99175607712213},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2434\"],\"cd_name_en\":[\"Portneuf\"],\"csd_code\":[\"2434128\"],\"csd_name_en\":[\"Saint-Raymond\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Portneuf\",\"csd_name_fr\":\"Saint-Raymond\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.02047669774265,46.309013758682276],[-72.04900641236907,46.33082902912825],[-72.04755404031852,46.33560817111961],[-72.07690012443209,46.356158923611986],[-72.08618224539431,46.33553455926758],[-72.0981611820292,46.344383208440256],[-72.14602215643318,46.313528922522934],[-72.13619273144293,46.30639806829413],[-72.16142764878877,46.29126659525121],[-72.15153687704654,46.28430013252361],[-72.165826688976,46.27380491365462],[-72.13416951775876,46.25133555495114],[-72.11897542018234,46.261454081333234],[-72.10350790189939,46.25004822689761],[-72.08212040295983,46.25030214959841],[-72.05568373674288,46.267501561093596],[-72.06413615373957,46.274266568485146],[-72.01549904571422,46.30521961010979],[-72.02047669774265,46.309013758682276]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.09303734347465,\"lat\":46.29750188924805},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2438\"],\"cd_name_en\":[\"B\\u00e9cancour\"],\"csd_code\":[\"2438020\"],\"csd_name_en\":[\"Lemieux\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"B\\u00e9cancour\",\"csd_name_fr\":\"Lemieux\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.95997351425008,46.50671165108723],[-71.99487594883011,46.530736769724676],[-72.02469001182234,46.52142474484122],[-72.01018635314655,46.51104616731724],[-72.06142638202671,46.490126203029284],[-72.10739879831439,46.48311431588175],[-72.0905494895607,46.47082703589916],[-72.05210892495798,46.44299968560104],[-71.95997351425008,46.50671165108723]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.02927664745083,\"lat\":46.48675986563329},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2438\"],\"cd_name_en\":[\"B\\u00e9cancour\"],\"csd_code\":[\"2438047\"],\"csd_name_en\":[\"Fortierville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"B\\u00e9cancour\",\"csd_name_fr\":\"Fortierville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.62573227717381,46.02505841797718],[-71.69981796961568,46.062903326740326],[-71.7114508218891,46.06897220599788],[-71.72355110162579,46.058585831249395],[-71.76041042301506,46.07800994260355],[-71.80589155065832,46.033189461155715],[-71.75015956690575,46.00395167217683],[-71.68251304095641,45.97018358037703],[-71.62869152684209,46.02232756041602],[-71.62573227717381,46.02505841797718]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.71488077594137,\"lat\":46.02638168350666},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2439\"],\"cd_name_en\":[\"Arthabaska\"],\"csd_code\":[\"2439035\"],\"csd_name_en\":[\"Sainte-H\\u00e9l\\u00e8ne-de-Chester\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Arthabaska\",\"csd_name_fr\":\"Sainte-H\\u00e9l\\u00e8ne-de-Chester\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.27844461621666,45.51931901839451],[-72.29712122476256,45.52102586400777],[-72.2976605907515,45.53080624475613],[-72.37860762257964,45.52970987048651],[-72.40232496263945,45.52826357802172],[-72.40487961487172,45.50390119519172],[-72.40389188822725,45.44919725018816],[-72.37591709270292,45.449980759964184],[-72.31828779850815,45.45099549731843],[-72.27624630162687,45.45074378905523],[-72.27844461621666,45.51931901839451]],[[-72.33424053775856,45.487727857512844],[-72.33600131750217,45.50341451908791],[-72.2955408882494,45.50500865026938],[-72.2954064223086,45.48924449648885],[-72.33424053775856,45.487727857512844]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.34361929357621,\"lat\":45.48888150973134},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2442\"],\"cd_name_en\":[\"Le Val-Saint-Fran\\u00e7ois\"],\"csd_code\":[\"2442060\"],\"csd_name_en\":[\"Valcourt\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Val-Saint-Fran\\u00e7ois\",\"csd_name_fr\":\"Valcourt\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.81614263684567,45.31774930053966],[-71.82410515759854,45.318724165291236],[-71.83216116652767,45.337424509773946],[-71.85512889856689,45.34193270692719],[-71.86386886870837,45.35051782847204],[-71.87267372589388,45.33472638394063],[-71.91279340025798,45.303171722442286],[-71.92037856565307,45.301124061211105],[-71.91973149333045,45.27035529702785],[-71.90071940440693,45.26498458327003],[-71.86190049851666,45.263855685404934],[-71.86058946592107,45.27500430478291],[-71.8432401179666,45.279241758497385],[-71.84431685993094,45.306802321114084],[-71.81572839847294,45.30641021631921],[-71.81614263684567,45.31774930053966]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.8717627392965,\"lat\":45.301715212278566},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2444\"],\"cd_name_en\":[\"Coaticook\"],\"csd_code\":[\"2444080\"],\"csd_name_en\":[\"Waterville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Coaticook\",\"csd_name_fr\":\"Waterville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.2427990082319,45.172736214101015],[-72.20852724845628,45.212648183220345],[-72.2013054551214,45.22497179923426],[-72.2313085774399,45.22543511541878],[-72.23128203246395,45.30588123843881],[-72.25330109823214,45.306147989603566],[-72.26892481623719,45.30655925946216],[-72.26969702172075,45.28417481237329],[-72.28339491096818,45.285756617458524],[-72.28849854513541,45.226173461068086],[-72.3065968714605,45.22771253726439],[-72.30836006791804,45.15331162806053],[-72.26205901960206,45.14907847971235],[-72.24889030534915,45.16182520015761],[-72.28016650639108,45.16313225086652],[-72.27134499189145,45.17331595816942],[-72.2427990082319,45.172736214101015]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.26270556973705,\"lat\":45.22344296551216},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2445\"],\"cd_name_en\":[\"Memphr\\u00e9magog\"],\"csd_code\":[\"2445085\"],\"csd_name_en\":[\"Austin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Memphr\\u00e9magog\",\"csd_name_fr\":\"Austin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.09323179404912,45.79709553531258],[-72.1492980598885,45.82973014042669],[-72.13455379962554,45.84136375434004],[-72.17145759777202,45.86247984983385],[-72.18663422320049,45.87107703096272],[-72.241703265785,45.82376465385997],[-72.25681877176041,45.814271138426605],[-72.27385613841446,45.796139998310615],[-72.26487828129964,45.78392513450685],[-72.24213991357882,45.77860124660655],[-72.2244905756863,45.75834744735679],[-72.22125779405143,45.751070229154614],[-72.23411888246997,45.73631153973351],[-72.21251605378302,45.72672309611588],[-72.22353003349325,45.71801087780832],[-72.20693426936279,45.69609022005441],[-72.13371125528549,45.76068151993749],[-72.09323179404912,45.79709553531258]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.18599896726428,\"lat\":45.79027536711396},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2449\"],\"cd_name_en\":[\"Drummond\"],\"csd_code\":[\"2449005\"],\"csd_name_en\":[\"Saint-F\\u00e9lix-de-Kingsey\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Drummond\",\"csd_name_fr\":\"Saint-F\\u00e9lix-de-Kingsey\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.54494090147156,46.077590730953915],[-72.5887654216413,46.10886834487809],[-72.65475409102412,46.07950886036205],[-72.67351713044074,46.064962247455014],[-72.66495818311239,46.058806582702594],[-72.68218991694144,46.044831557915366],[-72.64302156030675,46.01562883118681],[-72.61798575068858,46.02889454363156],[-72.60060468423154,46.01659623581158],[-72.58796255668994,46.01612239568846],[-72.56670874515227,46.031741311199134],[-72.55178634639327,46.0210679418508],[-72.54054801556617,46.028382992166875],[-72.5330371216326,46.03843404626863],[-72.56460994393632,46.061741253274874],[-72.54494090147156,46.077590730953915]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.60647285470094,\"lat\":46.05729311235435},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2450\"],\"cd_name_en\":[\"Nicolet-Yamaska\"],\"csd_code\":[\"2450090\"],\"csd_name_en\":[\"Saint-Z\\u00e9phirin-de-Courval\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nicolet-Yamaska\",\"csd_name_fr\":\"Saint-Z\\u00e9phirin-de-Courval\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.0526464436531,45.75945373439627],[-73.05756097202055,45.77033478903313],[-73.03826943820422,45.78795019029131],[-73.04885002114383,45.79520979570925],[-73.03401075234196,45.80691419547248],[-73.0188215879934,45.85759947701432],[-73.05934054516153,45.88909418132703],[-73.06638502980456,45.894596224524804],[-73.08163652189808,45.85124255469041],[-73.11360448474056,45.83178517796211],[-73.12359389446543,45.817980082920464],[-73.09612459377679,45.79796254102955],[-73.10423434310364,45.78789716047119],[-73.0932978671426,45.77227773308746],[-73.05902306906084,45.74823567042901],[-73.0526464436531,45.75945373439627]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.06659420547706,\"lat\":45.82183649104129},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2454\"],\"cd_name_en\":[\"Les Maskoutains\"],\"csd_code\":[\"2454115\"],\"csd_name_en\":[\"Saint-Bernard-de-Michaudville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Maskoutains\",\"csd_name_fr\":\"Saint-Bernard-de-Michaudville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.04622997942727,45.38698750559501],[-73.04130132314384,45.40034051726295],[-73.0544486455471,45.41015850625801],[-73.09512031375246,45.43929475594088],[-73.097339073512,45.422510818139386],[-73.12532277151436,45.41485902180187],[-73.12036681954022,45.403112619371385],[-73.1621308668824,45.39212285475777],[-73.15968783039702,45.377662314181414],[-73.13305704466005,45.35968500219848],[-73.11730464123455,45.37115820670503],[-73.10409240718596,45.363253214907104],[-73.08783510119096,45.35569653206088],[-73.04622997942727,45.38698750559501]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.09859298910278,\"lat\":45.391923758144394},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2455\"],\"cd_name_en\":[\"Rouville\"],\"csd_code\":[\"2455030\"],\"csd_name_en\":[\"Sainte-Ang\\u00e8le-de-Monnoir\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Rouville\",\"csd_name_fr\":\"Sainte-Ang\\u00e8le-de-Monnoir\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.15968783039702,45.377662314181414],[-73.1795133782178,45.39131533301723],[-73.19944793886131,45.377676117419846],[-73.20969688146823,45.370623034472246],[-73.20170306814549,45.34429739170553],[-73.20562652214713,45.32570622411996],[-73.16968168785021,45.30018832710629],[-73.16802343203271,45.28023260170686],[-73.13408124494406,45.26400504737646],[-73.12932555517907,45.28968918781285],[-73.09870809493255,45.26819979693664],[-73.09122619762194,45.324222612436834],[-73.10723636832887,45.33535243868183],[-73.10409240718596,45.363253214907104],[-73.11730464123455,45.37115820670503],[-73.13305704466005,45.35968500219848],[-73.15968783039702,45.377662314181414]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.14895483542541,\"lat\":45.328651420404384},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2456\"],\"cd_name_en\":[\"Le Haut-Richelieu\"],\"csd_code\":[\"2456097\"],\"csd_name_en\":[\"Mont-Saint-Gr\\u00e9goire\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Richelieu\",\"csd_name_fr\":\"Mont-Saint-Gr\\u00e9goire\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.44203378196868,46.03835420977969],[-73.44481502338019,46.05153493998149],[-73.46948418786558,46.054663708507036],[-73.47162910302407,46.064076171182165],[-73.49134229580561,46.073063390070864],[-73.5043747291811,46.08088362506804],[-73.51253591650807,46.068006777230515],[-73.48518495977999,46.048308040965715],[-73.51733646572268,46.02607955003603],[-73.50787356077772,46.01345972196766],[-73.47794605406023,46.03369115229138],[-73.46839328395109,46.02687767345952],[-73.45531314507083,46.0370009419782],[-73.44203378196868,46.03835420977969]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.48287593018807,\"lat\":46.046328559540164},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2461\"],\"cd_name_en\":[\"Joliette\"],\"csd_code\":[\"2461035\"],\"csd_name_en\":[\"Saint-Charles-Borrom\\u00e9e\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Joliette\",\"csd_name_fr\":\"Saint-Charles-Borrom\\u00e9e\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.51378734187006,46.08746521950297],[-73.56688805297759,46.12545403572102],[-73.63771659082104,46.07902427800734],[-73.61029113937856,46.05934485397445],[-73.5686807925783,46.030155451382576],[-73.54964093447525,46.04261583344844],[-73.51733646572268,46.02607955003603],[-73.48518495977999,46.048308040965715],[-73.51253591650807,46.068006777230515],[-73.5043747291811,46.08088362506804],[-73.51378734187006,46.08746521950297]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.55988174374573,\"lat\":46.07251594573223},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2461\"],\"cd_name_en\":[\"Joliette\"],\"csd_code\":[\"2461040\"],\"csd_name_en\":[\"Saint-Ambroise-de-Kildare\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Joliette\",\"csd_name_fr\":\"Saint-Ambroise-de-Kildare\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.98780408599139,46.08479579036163],[-73.963471787092,46.0992497927644],[-73.97598640454973,46.10849232668468],[-73.94930580859256,46.127279712923375],[-73.97612775835373,46.14604066266012],[-73.9549494255701,46.16134389657268],[-73.97969118746371,46.17931681607047],[-74.02783826526493,46.14665532283583],[-74.03338363378033,46.15062558681951],[-74.07615946430789,46.11785742603909],[-74.02719775436474,46.079460325485705],[-74.0026680094829,46.095775951780375],[-73.98780408599139,46.08479579036163]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.00763533673003,\"lat\":46.12546868948757},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2462\"],\"cd_name_en\":[\"Matawinie\"],\"csd_code\":[\"2462053\"],\"csd_name_en\":[\"Entrelacs\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Matawinie\",\"csd_name_fr\":\"Entrelacs\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.90105516943403,45.435081603801045],[-73.90457549039812,45.446720748286474],[-73.92541936182609,45.441180822589075],[-73.94651404434704,45.43704649446971],[-73.95787840438754,45.42650338092911],[-73.94984335528933,45.416950925707624],[-73.9605515361148,45.405180649167576],[-73.93437792981406,45.40057878247299],[-73.9315949532867,45.41986537103993],[-73.90105516943403,45.435081603801045]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.93359629963504,\"lat\":45.42542494317674},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2466\"],\"cd_name_en\":[\"Montr\\u00e9al\"],\"csd_code\":[\"2466117\"],\"csd_name_en\":[\"Sainte-Anne-de-Bellevue\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Montr\\u00e9al\",\"csd_name_fr\":\"Sainte-Anne-de-Bellevue\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.35940607170046,45.19765201512799],[-73.38020263895673,45.211623286734984],[-73.35187038993439,45.234282770895994],[-73.366567803981,45.24390421379387],[-73.38572390297301,45.25724388663247],[-73.4114443939343,45.25487635975045],[-73.42646907237486,45.24019307601399],[-73.42355680552002,45.22751494652924],[-73.43025509102037,45.196770478441515],[-73.44859837646484,45.195059717522014],[-73.4536305025876,45.18754456541448],[-73.48236178414282,45.12337946679914],[-73.43085109997828,45.124864454418656],[-73.43136670574593,45.10805597053019],[-73.39979750135232,45.10742864580104],[-73.39141023876319,45.12206821615299],[-73.37743366847661,45.13282585150733],[-73.3562667141781,45.13232688491728],[-73.35485303047611,45.16695002137904],[-73.36529205406738,45.17966881759587],[-73.35940607170046,45.19765201512799]],[[-73.3942861043163,45.1954028959215],[-73.38281045487318,45.191919757507016],[-73.40312491560893,45.17571254601712],[-73.41768421763194,45.180284823131814],[-73.41862997885742,45.19493478243086],[-73.3942861043163,45.1954028959215]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.40838007561634,\"lat\":45.175547631617626},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2468\"],\"cd_name_en\":[\"Les Jardins-de-Napierville\"],\"csd_code\":[\"2468035\"],\"csd_name_en\":[\"Saint-Cyprien-de-Napierville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Jardins-de-Napierville\",\"csd_name_fr\":\"Saint-Cyprien-de-Napierville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-74.61129519090363,45.02975378444717],[-74.6601247167218,45.01195380363788],[-74.63769081317626,45.00920069860425],[-74.61129519090363,45.02975378444717]]],[[[-74.54560389015536,44.998294268426754],[-74.53056381316497,45.019504903440605],[-74.51706818888775,45.02551138494733],[-74.52032258875246,45.03512050773441],[-74.54849901045345,45.03167960818858],[-74.57470510648882,45.0194220062987],[-74.60182109514737,45.018146698964564],[-74.61939958935221,45.00280308761279],[-74.6375402021639,44.99931973970421],[-74.54560389015536,44.998294268426754]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.5743994399541,\"lat\":45.01357096169938},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2469\"],\"cd_name_en\":[\"Le Haut-Saint-Laurent\"],\"csd_code\":[\"2469802\"],\"csd_name_en\":[\"Akwesasne\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Saint-Laurent\",\"csd_name_fr\":\"Akwesasne\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.99334987675157,45.33451369309945],[-74.0214741895781,45.34253882060511],[-74.09569268475381,45.371641605431],[-74.1948968680782,45.383506805517875],[-74.16890258532582,45.35242762217255],[-74.1498949269498,45.327059108989495],[-74.1246421362554,45.299355572378865],[-74.10045263423214,45.30294877108213],[-74.07899907905632,45.29425411003488],[-74.04431961540728,45.29513885304768],[-74.0322946324959,45.30285304017692],[-73.99691575202837,45.30982031632781],[-73.97926854113103,45.31724908042649],[-73.99334987675157,45.33451369309945]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.08904623917121,\"lat\":45.335650743063624},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2471\"],\"cd_name_en\":[\"Vaudreuil-Soulanges\"],\"csd_code\":[\"2471050\"],\"csd_name_en\":[\"Les C\\u00e8dres\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Vaudreuil-Soulanges\",\"csd_name_fr\":\"Les C\\u00e8dres\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.80677512143883,45.82083971497339],[-73.90160357711729,45.88540045357466],[-74.03304743246697,45.84801504613391],[-74.02306863334009,45.84081053023065],[-73.94755008367298,45.78940606461489],[-73.91202087137813,45.76605130599443],[-73.86022588108818,45.802288102366106],[-73.8686810444763,45.80858802366992],[-73.82402252769403,45.81691513006278],[-73.80677512143883,45.82083971497339]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.9193598099555,\"lat\":45.83064844697201},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2475\"],\"cd_name_en\":[\"La Rivi\\u00e8re-du-Nord\"],\"csd_code\":[\"2475028\"],\"csd_name_en\":[\"Sainte-Sophie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Rivi\\u00e8re-du-Nord\",\"csd_name_fr\":\"Sainte-Sophie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-73.99227481555955,46.0419228880069],[-74.00530957256207,46.051543413194736],[-74.0157148327149,46.04393734902139],[-74.00213022283971,46.03430982313891],[-73.99227481555955,46.0419228880069]]],[[[-73.98780408599139,46.08479579036163],[-74.0026680094829,46.095775951780375],[-74.02719775436474,46.079460325485705],[-74.07615946430789,46.11785742603909],[-74.11197918717286,46.09368340121148],[-74.15931365557405,46.061249735504845],[-74.16810223170896,46.05534715568027],[-74.15064304724717,46.043700722151215],[-74.12375082129341,46.02472178537191],[-74.06839128760181,45.988506479295026],[-74.03504688508143,46.01221590178462],[-74.04796380513731,46.023743518574975],[-74.02910088819132,46.03583624039039],[-74.0604518101495,46.05552355769102],[-74.04398162014505,46.0673910421307],[-74.00628808009311,46.05599272203567],[-73.98958866641752,46.043919416329274],[-73.96050325014687,46.06501446607313],[-73.98780408599139,46.08479579036163]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.07139516957717,\"lat\":46.0562180851084},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2477\"],\"cd_name_en\":[\"Les Pays-d'en-Haut\"],\"csd_code\":[\"2477012\"],\"csd_name_en\":[\"Sainte-Marguerite-du-Lac-Masson\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Pays-d'en-Haut\",\"csd_name_fr\":\"Sainte-Marguerite-du-Lac-Masson\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.07389496895358,45.88992519448448],[-74.07642241176748,45.904782524814124],[-74.09272709492916,45.917387907033635],[-74.0777370930873,45.92749282963392],[-74.09291523301665,45.9373331804778],[-74.12691833781705,45.914275532201536],[-74.13919043791543,45.92359958403559],[-74.15398779216757,45.913187587090704],[-74.14219561855872,45.898660246709554],[-74.1489375377792,45.88872773235521],[-74.13340476831053,45.87350226609121],[-74.09976329878918,45.88273929740358],[-74.079681370701,45.881132559571526],[-74.07389496895358,45.88992519448448]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.11177358361813,\"lat\":45.90230348577371},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2477\"],\"cd_name_en\":[\"Les Pays-d'en-Haut\"],\"csd_code\":[\"2477030\"],\"csd_name_en\":[\"Piedmont\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Pays-d'en-Haut\",\"csd_name_fr\":\"Piedmont\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.7221288851369,46.47114859170265],[-74.75207529089832,46.49220555804127],[-74.76974407732632,46.499531624988784],[-74.78394421689943,46.49145685775877],[-74.7691437677855,46.48115901308947],[-74.80661471059278,46.454744207419594],[-74.78674174240922,46.44152867419836],[-74.8078180143425,46.43105264326064],[-74.78462869372832,46.412393576075125],[-74.81956216945761,46.39357738526169],[-74.80742369202952,46.38303935551917],[-74.8201850590395,46.37610958119125],[-74.81767060561582,46.36540340212018],[-74.80372569730184,46.358389329524705],[-74.78225452714082,46.35778526602664],[-74.79203731559407,46.32634714800456],[-74.78855691702513,46.315235951751326],[-74.62055703680808,46.314461924389065],[-74.61985929982839,46.332460503338844],[-74.64518615425791,46.3507402859643],[-74.7117231791003,46.39237886235808],[-74.65893829227575,46.430189115316566],[-74.7221288851369,46.47114859170265]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.73318997804292,\"lat\":46.389708420981805},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2479\"],\"cd_name_en\":[\"Antoine-Labelle\"],\"csd_code\":[\"2479047\"],\"csd_name_en\":[\"La Macaza\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Antoine-Labelle\",\"csd_name_fr\":\"La Macaza\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.99342595423958,46.90544239803098],[-79.03070843615008,46.91889064963182],[-79.07700939991777,46.941061212503506],[-79.23552765197537,46.8776090534866],[-79.24664546464258,46.887574012090575],[-79.24739840842666,46.90127295239749],[-79.25808871170675,46.922081875175785],[-79.27269127065289,46.93804852740544],[-79.25617450984792,46.96276063444787],[-79.27359272925435,46.98728819723288],[-79.27229768007298,47.00018611375153],[-79.34350774421802,47.0000668167902],[-79.33753040750089,46.97092472589467],[-79.32966575029461,46.957186777153495],[-79.27683105909118,46.895258267250185],[-79.23875242832389,46.862603075970775],[-79.21400810871306,46.83323556127915],[-79.17082153696376,46.82521851096522],[-79.14314277502814,46.78604163017189],[-79.14161182007261,46.777229974535054],[-79.12319442751385,46.744165319769564],[-79.12113641164802,46.73441798458416],[-79.09934454496373,46.70886695126014],[-79.09432289146402,46.68829571288064],[-79.07187724239348,46.66417224776574],[-79.05314652587944,46.649939792908],[-79.02738908091858,46.63818997011222],[-79.0152507391488,46.626852292940676],[-79.00916768006542,46.60440605089677],[-78.99567133092629,46.59089852013571],[-78.99720659469776,46.565942342478316],[-78.98987072497218,46.5488555267845],[-78.95551253218213,46.516725496024144],[-78.94654842011022,46.51328195980553],[-78.91709671216772,46.48216580304063],[-78.89272200030157,46.46191530858099],[-78.8529091443316,46.44118357616527],[-78.83743439362864,46.43691544780965],[-78.83849359946143,46.45583445260098],[-78.78186559964657,46.455503707764606],[-78.78040304690721,46.62295045027332],[-78.781494303028,46.70936811592412],[-78.88299150151171,46.712318196517806],[-78.89128484153748,46.73041522064303],[-78.92078099190648,46.7418035881663],[-78.93339874182159,46.7428510385208],[-78.99631403007663,46.7575956487552],[-79.03994022654207,46.740038332837614],[-79.05133005777721,46.75148606933885],[-79.06197454964972,46.77385809820743],[-79.04317739192902,46.7810247572125],[-79.03326079317276,46.77070981371435],[-79.0124308811718,46.781908876303994],[-79.01999692964507,46.7913634738065],[-79.04217569992959,46.803304202052566],[-78.98746222459029,46.825036567991305],[-78.97581343501923,46.83845437776846],[-78.98422138238453,46.85429014396943],[-78.97706957657697,46.88304951264854],[-78.99342595423958,46.90544239803098]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.99076156445388,\"lat\":46.70822639863249},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2485\"],\"cd_name_en\":[\"T\\u00e9miscamingue\"],\"csd_code\":[\"2485005\"],\"csd_name_en\":[\"T\\u00e9miscaming\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscamingue\",\"csd_name_fr\":\"T\\u00e9miscaming\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.24194138934753,47.37946994470428],[-79.30724533617128,47.37963528941088],[-79.32915505400156,47.38677009305685],[-79.32846721731322,47.41256290209732],[-79.37272882140128,47.41492813849019],[-79.37274340408936,47.42221167174993],[-79.39278160453865,47.41497180919862],[-79.392968280946,47.305150812390124],[-79.37251953522421,47.30570979195138],[-79.34528638970181,47.30772099739281],[-79.3291604353332,47.31623513204954],[-79.32901881465351,47.33158134156077],[-79.28460812286893,47.33105947677107],[-79.28437420560705,47.34871226121838],[-79.2431906535557,47.34818332244367],[-79.24194138934753,47.37946994470428]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.33773340499218,\"lat\":47.36071001119322},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2485\"],\"cd_name_en\":[\"T\\u00e9miscamingue\"],\"csd_code\":[\"2485037\"],\"csd_name_en\":[\"Lorrainville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscamingue\",\"csd_name_fr\":\"Lorrainville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.93291932443118,47.46264793361461],[-78.93298121485884,47.470795757464636],[-79.06514339922525,47.47186168141334],[-79.06622439898827,47.50000295459725],[-79.08840662556024,47.49170081664125],[-79.09276015223082,47.469874100827525],[-79.09007160124882,47.437117932780794],[-79.11280557775183,47.4261406032887],[-79.11400778500345,47.27537480513082],[-78.97903996297165,47.27636127012214],[-78.9353399893802,47.27537691433762],[-78.93063625158287,47.27536927013663],[-78.93023349979397,47.39718710502749],[-78.93291932443118,47.46264793361461]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.02116576304564,\"lat\":47.37327694186716},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2485\"],\"cd_name_en\":[\"T\\u00e9miscamingue\"],\"csd_code\":[\"2485060\"],\"csd_name_en\":[\"Latulipe-et-Gaboury\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton unis (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscamingue\",\"csd_name_fr\":\"Latulipe-et-Gaboury\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.40860314923763,48.9079497376454],[-79.47918065360912,48.907981549427014],[-79.47944369741974,48.93749068765668],[-79.51784085860922,48.93723456518985],[-79.51739290596335,48.792256859639785],[-79.43729236577256,48.792393871243064],[-79.43677350260323,48.85111400437944],[-79.40815708431013,48.85121190534888],[-79.40860314923763,48.9079497376454]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.47193847662805,\"lat\":48.86094192555845},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2487\"],\"cd_name_en\":[\"Abitibi-Ouest\"],\"csd_code\":[\"2487080\"],\"csd_name_en\":[\"La Reine\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi-Ouest\",\"csd_name_fr\":\"La Reine\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.30513128860335,48.91817515847206],[-72.31753334095399,48.921584349941405],[-72.32892475344431,48.939158143352145],[-72.32611433465155,48.96071398614085],[-72.330876963908,48.96749412881304],[-72.32907116374817,48.989062707242766],[-72.33836820430545,48.99611536716471],[-72.37215676241458,48.990133112976594],[-72.39139681579088,48.99844107367254],[-72.4111591661787,48.99248739397332],[-72.52878447610766,48.93412791475963],[-72.49065987214806,48.90109542973205],[-72.39586793081564,48.81806429552523],[-72.3258891147088,48.852375339535214],[-72.28969926283227,48.86941989051196],[-72.3066156998597,48.884749783651706],[-72.28556016667083,48.89193896952057],[-72.3109285594128,48.91414423527358],[-72.30513128860335,48.91817515847206]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.3969843349939,\"lat\":48.913565617416914},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2492\"],\"cd_name_en\":[\"Maria-Chapdelaine\"],\"csd_code\":[\"2492030\"],\"csd_name_en\":[\"Albanel\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Maria-Chapdelaine\",\"csd_name_fr\":\"Albanel\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.5593043633101,48.43331111425323],[-71.55468116797356,48.43248787144232],[-71.5343367763397,48.486200402845675],[-71.5561537995923,48.48998569659912],[-71.7048925819852,48.51737896631944],[-71.71072049610274,48.488061000201775],[-71.69380484769455,48.4849733561351],[-71.69872211069291,48.470252365366825],[-71.71245297089426,48.47275578587839],[-71.71856043225962,48.45841965680497],[-71.68410317142819,48.45209304632354],[-71.68116231199365,48.45902782339764],[-71.61701033081032,48.44482215965538],[-71.61547869398677,48.429312488968186],[-71.59859688816987,48.42645028017317],[-71.59336904780953,48.43978071026691],[-71.5593043633101,48.43331111425323]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.62544164200365,\"lat\":48.47350969932152},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2493\"],\"cd_name_en\":[\"Lac-Saint-Jean-Est\"],\"csd_code\":[\"2493030\"],\"csd_name_en\":[\"Saint-Bruno\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Lac-Saint-Jean-Est\",\"csd_name_fr\":\"Saint-Bruno\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-57.10745723033335,51.52052940076723],[-57.107879987784194,51.5909282018767],[-57.347375736217195,51.590565476481935],[-57.347463676669754,51.50129871603086],[-57.36672882663417,51.498797619533306],[-57.36984793492057,51.43292775111161],[-57.317385027228546,51.43979564106533],[-57.302815725281484,51.433532715477604],[-57.29126049716317,51.41293689204596],[-57.268351843895246,51.40188792584973],[-57.26183856336333,51.381469913394206],[-57.24237167832531,51.36483300345409],[-57.21550103580908,51.35665030171882],[-57.17345756600334,51.35578427222146],[-57.15018860082634,51.36041650488962],[-57.108986596993184,51.378782367499504],[-57.1085429750853,51.41563490198066],[-57.10745723033335,51.52052940076723]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-57.222823047736455,\"lat\":51.485037270677246},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2498\"],\"cd_name_en\":[\"Minganie--Le Golfe-du-Saint-Laurent\"],\"csd_code\":[\"2498005\"],\"csd_name_en\":[\"Blanc-Sablon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Minganie--Le Golfe-du-Saint-Laurent\",\"csd_name_fr\":\"Blanc-Sablon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.46098721322846,49.58481455642348],[-62.3828513624984,49.692486606927616],[-62.33440504330685,49.75242906893343],[-62.28316429367949,49.82369450132465],[-62.18390075517451,49.953502196039196],[-62.14741537713844,50.00242670710335],[-62.02267274363122,50.13250752933589],[-61.99352913876061,50.15990499147154],[-61.92718431234516,50.216270924184045],[-61.92303973077532,50.23528151973551],[-61.900314775658785,50.246389755714276],[-61.906061280054,50.26096483072434],[-62.128473423021234,50.25674887984836],[-62.17863539486526,50.26032698717827],[-62.16982970291314,50.268479113831724],[-62.174057605631575,50.279801298919715],[-62.15228438382458,50.28823320475668],[-62.14167779748913,50.311390085488256],[-62.14904908944803,50.321706786046775],[-62.15446040861796,50.35476311173512],[-62.18291387422885,50.385824903514134],[-62.18627351413682,50.40327430621208],[-62.19516688991994,50.4130754833583],[-62.186933997993016,50.42171970704697],[-62.18734230041889,50.42854121288892],[-62.20918227850543,50.44708410369923],[-62.210160014286586,50.45502599128122],[-62.18692005603465,50.47319136416277],[-62.36137139933583,50.46809539818686],[-62.36375224268117,50.40345211508048],[-62.54496043064126,50.404436635333354],[-62.54776762632302,50.279051341269486],[-62.561236764029395,50.257829200394895],[-62.574923106921695,50.250066126245216],[-62.60023891285382,50.25007566583859],[-62.62140921017971,50.25529124025805],[-62.68335127151324,50.25714997528953],[-62.700535308998745,50.25381001332979],[-62.6976995011934,50.23573146396799],[-62.702693821531135,50.203938309170816],[-62.71651343410799,50.16604323666978],[-62.733591375778566,50.13134069703826],[-62.73694354795867,50.113270158610206],[-62.76856156163261,50.06948586280803],[-62.80096512067911,50.01584781724711],[-62.80824368001108,49.99965206297561],[-62.84754591441021,49.94721129082572],[-62.97779206164402,49.76227926870602],[-62.88517215479209,49.732924158646966],[-62.689144236489284,49.676545508827836],[-62.49836460062642,49.60432718024418],[-62.46098721322846,49.58481455642348]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.4598946940914,\"lat\":50.029678356667496},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2498\"],\"cd_name_en\":[\"Minganie--Le Golfe-du-Saint-Laurent\"],\"csd_code\":[\"2498030\"],\"csd_name_en\":[\"Aguanish\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Minganie--Le Golfe-du-Saint-Laurent\",\"csd_name_fr\":\"Aguanish\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.97157791239569,61.59534697317027],[-71.94702111679298,61.570338015472174],[-71.88368458953563,61.57895314176223],[-71.8878496846872,61.59237844224952],[-71.95890379880228,61.61196258506071],[-71.97157791239569,61.59534697317027]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.93080029525598,\"lat\":61.58947633364045},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499130\"],\"csd_name_en\":[\"Kangiqsujuaq\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village nordique\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Kangiqsujuaq\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.6301598790939,44.99558878244443],[-77.68269888644355,45.09520717472366],[-77.70594291028681,45.13623512937621],[-77.76614731685879,45.11894515209381],[-77.9051464628473,45.08191493906206],[-77.88121949586437,45.04143576863877],[-77.85156688031903,45.049088545771056],[-77.83566460661513,45.045469198037544],[-77.82662579042095,45.029457931821206],[-77.79529594878483,45.018166561044715],[-77.80474509862051,44.99288342481921],[-77.80369176942268,44.98208509655764],[-77.78885863532561,44.952051580975606],[-77.67192751558026,44.98320089935219],[-77.6301598790939,44.99558878244443]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.75396648239132,\"lat\":45.04638183772858},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3512\"],\"cd_name_en\":[\"Hastings\"],\"csd_code\":[\"3512061\"],\"csd_name_en\":[\"Bancroft\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Hastings\",\"csd_name_fr\":\"Bancroft\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.70324310331102,44.08044551104363],[-78.77018296215616,44.227428244361604],[-78.79200089511943,44.20423431568387],[-78.8421989344629,44.169187072144474],[-78.85134009924978,44.21162157631945],[-78.86022843682368,44.21791263370825],[-78.8826772001992,44.21703847252895],[-78.90304215397185,44.20345669148832],[-78.91766559638279,44.177959275429814],[-78.92204940590226,44.153696523315695],[-78.95230900589009,44.22069299763038],[-79.12249371188304,44.183301698012315],[-79.04801549020917,44.01076940680671],[-79.04731130407693,44.00924009734462],[-78.95938741881628,44.02868708933537],[-78.87508961221778,44.04739171277063],[-78.87187710498979,44.040532197527924],[-78.70324310331102,44.08044551104363]],[[-78.88911811420444,44.18481710406107],[-78.89436595227028,44.197064115811436],[-78.88073760823924,44.20020499829008],[-78.87484359244446,44.18807989173917],[-78.88911811420444,44.18481710406107]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.92058105978553,\"lat\":44.12139196502439},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3518\"],\"cd_name_en\":[\"Durham\"],\"csd_code\":[\"3518020\"],\"csd_name_en\":[\"Scugog\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Durham\",\"csd_name_fr\":\"Scugog\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.15612311782276,44.263121193396216],[-79.23094433789684,44.43157792225153],[-79.24244869137544,44.45978378642913],[-79.26647349942048,44.4565768646173],[-79.29856866713229,44.45227377655949],[-79.50897489422302,44.42235654852845],[-79.50536172387127,44.39732294400991],[-79.5096556110884,44.38739004977857],[-79.50976469429469,44.3066574240644],[-79.51168678706942,44.294161210321086],[-79.512654085666,44.21011130394178],[-79.51967915919698,44.196446824856196],[-79.51785341621995,44.18157520750853],[-79.32801340670369,44.22330250819186],[-79.15612311782276,44.263121193396216]],[[-79.2945189494167,44.39279959481268],[-79.2712254381312,44.38095268657489],[-79.26840304659567,44.36767579529119],[-79.29496881234341,44.3548811634754],[-79.31739913888897,44.374278298919975],[-79.31891103044966,44.38941620720801],[-79.2945189494167,44.39279959481268]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.3584333043739,\"lat\":44.32434022017095},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3519\"],\"cd_name_en\":[\"York\"],\"csd_code\":[\"3519070\"],\"csd_name_en\":[\"Georgina\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"York\",\"csd_name_fr\":\"Georgina\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.14735028401645,43.61399400074033],[-81.0311957075413,43.76352410618713],[-81.09738281042884,43.79050741172566],[-81.16354219261221,43.817389398650356],[-81.1856168141841,43.82635040869542],[-81.30208500369643,43.67737569906746],[-81.33617940867715,43.6912546933788],[-81.43687999238956,43.572492401091964],[-81.52827611565795,43.61218399356274],[-81.5341452429517,43.60553756404589],[-81.49487880510124,43.41632780846748],[-81.44303828527866,43.424077991141786],[-81.34983449523162,43.534569000281515],[-81.28458830658718,43.50620649391341],[-81.18308609291856,43.62870000312438],[-81.14735028401645,43.61399400074033]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.28950096557776,\"lat\":43.626403725730476},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3540\"],\"cd_name_en\":[\"Huron\"],\"csd_code\":[\"3540040\"],\"csd_name_en\":[\"Huron East\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Huron\",\"csd_name_fr\":\"Huron East\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.88491898597857,44.82978802091226],[-79.98429570336337,44.942558021225416],[-80.00000001311942,44.94109799828841],[-80.52070802891413,44.90434300823004],[-80.5016633936809,44.89249613523321],[-80.32868204235582,44.69272144977897],[-80.28467677480408,44.67575273880263],[-80.17478908507404,44.62998410806452],[-80.16583844760409,44.626246502519265],[-80.03226180427022,44.54764415230397],[-79.98442926866535,44.569855344652474],[-79.83439008709922,44.63611949622252],[-79.82651874957028,44.64518586387723],[-79.88116417260505,44.708020910638616],[-79.90705434250128,44.70238419489019],[-79.95028121402112,44.75205879675303],[-79.95987800735683,44.76330860087202],[-79.95482996705154,44.78649481163648],[-79.95883529436252,44.791042863820266],[-79.93799349380186,44.80673295071836],[-79.88491898597857,44.82978802091226]],[[-80.11907304969674,44.81206978915572],[-80.11599238450863,44.80888080110428],[-80.1174604979784,44.807897240792514],[-80.12073947632824,44.810926476570764],[-80.11907304969674,44.81206978915572]],[[-80.18155203515946,44.912611005769975],[-80.16279848964955,44.91141926121831],[-80.16373803890414,44.897907793727896],[-80.18310725064278,44.894951102891156],[-80.19794345227122,44.90090749845018],[-80.19613373923357,44.91168819450548],[-80.18155203515946,44.912611005769975]],[[-80.1225746350003,44.88550978803655],[-80.11985876343384,44.87013120021549],[-80.09989834720139,44.865852598398874],[-80.09984554681834,44.844057796658326],[-80.12868954035667,44.84112169091151],[-80.12841055983563,44.86045639295204],[-80.13817334890645,44.876302188062205],[-80.1225746350003,44.88550978803655]],[[-80.15677705982743,44.84387120750792],[-80.15587283642037,44.82433869819833],[-80.17777023119608,44.818889995568796],[-80.189930633569,44.80946150747257],[-80.18917775300804,44.78918300534357],[-80.21603754250224,44.80532250828789],[-80.2163982484886,44.81510139417481],[-80.24523463604989,44.8334528030988],[-80.24738375806055,44.84232500143712],[-80.23324394006305,44.858993086214355],[-80.19509965371454,44.86058558918226],[-80.17464605415758,44.8711793104103],[-80.15677705982743,44.84387120750792]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.13804823319677,\"lat\":44.769195783238196},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3543\"],\"cd_name_en\":[\"Simcoe\"],\"csd_code\":[\"3543068\"],\"csd_name_en\":[\"Tiny\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Simcoe\",\"csd_name_fr\":\"Tiny\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.67168918832805,44.98056378794479],[-79.71765813896526,45.065629584881705],[-79.79229397348368,45.0449571344783],[-79.76593905621431,44.99827710629413],[-79.77364301934766,44.99468691668214],[-79.74467115154654,44.96087341174968],[-79.67168918832805,44.98056378794479]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.7323985993223,\"lat\":45.01248509998419},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3544\"],\"cd_name_en\":[\"Muskoka\"],\"csd_code\":[\"3544071\"],\"csd_name_en\":[\"Wahta Mohawk Territory\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Muskoka\",\"csd_name_fr\":\"Wahta Mohawk Territory\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.99189960690543,45.78901000336356],[-77.01118112710729,45.80421697958472],[-77.02476591999972,45.808634281925485],[-77.05366793917328,45.810582458627444],[-77.06683892917053,45.82792479845651],[-77.08155834183532,45.83558296131784],[-77.13154788714778,45.843984504191795],[-77.16461867131149,45.85804477590905],[-77.31491018788067,45.81809598833823],[-77.34815882941268,45.81062215782468],[-77.50234392980747,45.771348184795215],[-77.49826478284974,45.76427344898628],[-77.46435809197452,45.701145689123074],[-77.45494537630294,45.68023445395015],[-77.42251138601888,45.689940672059834],[-77.39382705593377,45.636880032910895],[-77.23814149316483,45.68077795920165],[-77.09338791761803,45.7185192896637],[-77.05281937101451,45.650595445456425],[-77.04751915184967,45.63891214380829],[-76.97300149550442,45.68755709404604],[-77.05207560308867,45.75326249967294],[-76.99189960690543,45.78901000336356]],[[-77.12388665528435,45.83636292382845],[-77.08472153617002,45.826359787644236],[-77.08042502196417,45.820715397377185],[-77.10852838020098,45.798598405385896],[-77.14110450616295,45.80469120321],[-77.1274866001483,45.813424403750425],[-77.15159507421696,45.83884020762048],[-77.12388665528435,45.83636292382845]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.24005623131852,\"lat\":45.747019735612525},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3547\"],\"cd_name_en\":[\"Renfrew\"],\"csd_code\":[\"3547075\"],\"csd_name_en\":[\"Laurentian Valley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Renfrew\",\"csd_name_fr\":\"Laurentian Valley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.45997963589215,45.921876814646254],[-82.48618144074541,45.92092915297305],[-82.48686812591248,45.908604271700966],[-82.4710644930143,45.90238330930335],[-82.44913106835398,45.90546401203203],[-82.44899159860074,45.92352101978114],[-82.45997963589215,45.921876814646254]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.46700119317342,\"lat\":45.91310016501844},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3551\"],\"cd_name_en\":[\"Manitoulin\"],\"csd_code\":[\"3551026\"],\"csd_name_en\":[\"Gore Bay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Manitoulin\",\"csd_name_fr\":\"Gore Bay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-93.06935676053197,49.73755602984712],[-93.06429246800612,49.72790783228776],[-93.04908485802109,49.72761852351257],[-93.03040125574068,49.71534751603192],[-93.05185206905968,49.69405861880085],[-93.01574616930547,49.6901863286716],[-93.01625801765378,49.716556000488346],[-93.00896369134757,49.776559612838284],[-93.05738418107349,49.77386171223993],[-93.08145274179478,49.77019215360161],[-93.09238862666568,49.74719505129556],[-93.06935676053197,49.73755602984712]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-93.04240865262291,\"lat\":49.742742681901376},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560024\"],\"csd_name_en\":[\"Eagle Lake 27\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Eagle Lake 27\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-95.18984376460813,49.645345958416264],[-95.23447454340723,49.64473186967417],[-95.23158967461785,49.63026234219625],[-95.21844175428612,49.624575863270955],[-95.18373424588746,49.63004803618861],[-95.17068405441037,49.643980239381484],[-95.18984376460813,49.645345958416264]]],[[[-95.15385686173889,49.588969049234564],[-95.18821305172101,49.58741422199288],[-95.19491195377238,49.60073582376551],[-95.2156722223309,49.62296083389816],[-95.23390593632053,49.62474271470189],[-95.23363442482285,49.584038811808625],[-95.16527237005134,49.58422401651631],[-95.1525507169585,49.57653292320528],[-95.15385686173889,49.588969049234564]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-95.20819175318438,\"lat\":49.61355878799863},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4601\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4601079\"],\"csd_name_en\":[\"Shoal Lake (Part) 40\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Shoal Lake (Part) 40\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-99.35243087524769,49.873777474209774],[-99.36059840267748,49.88051239287477],[-99.38340308748762,49.86738563030638],[-99.3152142231728,49.86186098936991],[-99.31595400297734,49.87131789739601],[-99.35243087524769,49.873777474209774]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-99.34723651955656,\"lat\":49.8693851619479},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4607\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4607068\"],\"csd_name_en\":[\"Carberry\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Carberry\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-99.94260105423822,50.49126549582279],[-99.95197000743899,50.49128549122079],[-99.9541213990498,50.43219430968844],[-99.95263881717598,50.417485179053415],[-99.69667838635642,50.41746529866207],[-99.6763797524232,50.41688384966207],[-99.6772067933129,50.44180868850572],[-99.67730387974213,50.594422624667466],[-99.69494275923246,50.59444956929063],[-99.73322458904163,50.59554970151813],[-99.83431748714791,50.59454181030202],[-99.95415724985759,50.59442714887361],[-99.95312391541923,50.51323738951509],[-99.95250203896308,50.506112012764895],[-99.94260105423822,50.49126549582279]],[[-99.86033799976919,50.47634950084617],[-99.85987412438148,50.49178020115931],[-99.84681475579526,50.491618232241485],[-99.84753891488768,50.47631620532757],[-99.86033799976919,50.47634950084617]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-99.81477242922193,\"lat\":50.506228969194915},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4615\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4615092\"],\"csd_name_en\":[\"Clanwilliam-Erickson\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Clanwilliam-Erickson\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-99.68207720698693,50.8604839449941],[-99.83421062820626,50.86044940746087],[-99.83429644249992,50.9485365717723],[-99.85233549288749,50.94845752445551],[-100.27345795710751,50.94861881793434],[-100.60097196153339,50.948285122800684],[-100.95035464198848,50.94818372452925],[-100.95057279269832,50.87149699302486],[-100.94874056140368,50.85972450005806],[-100.67133044204925,50.859757733179435],[-100.67125059008661,50.77121562729997],[-100.5319348906428,50.7712762553151],[-100.53143844988912,50.727111262222145],[-100.36885669785684,50.72652135209049],[-100.36887715900853,50.68295041886973],[-100.25330187748314,50.68287678141341],[-100.25321617482587,50.71238629477234],[-100.0786545948596,50.71235779508886],[-100.07865921849594,50.697622439337025],[-100.05643423572593,50.69763717574144],[-100.05484363316651,50.66800168661618],[-100.01989440005708,50.663660891790656],[-100.02043378601691,50.65339896395182],[-99.98562129498485,50.65337256169769],[-99.98516041820564,50.646224901863974],[-99.95979941519235,50.64536745914291],[-99.95075652779519,50.665652433595234],[-99.90416365420671,50.66825895500477],[-99.90393276135164,50.65288273329368],[-99.83431272975075,50.65236851439969],[-99.83431748714791,50.59454181030202],[-99.73322458904163,50.59554970151813],[-99.69494275923246,50.59444956929063],[-99.69491935062324,50.6388134457143],[-99.5548511971858,50.639016952681295],[-99.55425594776003,50.74256998673199],[-99.56561265822218,50.742311050547464],[-99.56638344942273,50.76448293700015],[-99.57788328670296,50.76398285133405],[-99.57858140932129,50.7935329966104],[-99.5889054172621,50.793599753803015],[-99.58964110845385,50.81550872887644],[-99.62401827025313,50.81568322953798],[-99.62430280575516,50.83773518065601],[-99.6356815861329,50.845050850933795],[-99.67022758343329,50.84509327597273],[-99.68207720698693,50.8604839449941]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.15952796927394,\"lat\":50.81060955485758},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4617\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4617092\"],\"csd_name_en\":[\"Division No. 17\",\"Unorganized\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Division No. 17, Unorganized\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-98.05895273780104,51.96136634450865],[-98.06721007558603,51.950471628729645],[-98.04036329521051,51.944186485162966],[-98.05111493753859,51.95951424260254],[-98.05895273780104,51.96136634450865]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-98.05429932719782,\"lat\":51.9526876075004},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4619\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4619062\"],\"csd_name_en\":[\"Dauphin River 48A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Dauphin River 48A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-100.38020115060633,53.70163468759595],[-100.3907448112262,53.70159207474992],[-100.39017806343638,53.69721305499775],[-100.37766383569554,53.69687523332239],[-100.38020115060633,53.70163468759595]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.38460120504759,\"lat\":53.69926672202258},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4621\"],\"cd_name_en\":[\"Division No. 21\"],\"csd_code\":[\"4621080\"],\"csd_name_en\":[\"Moose Lake 31D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 21\",\"csd_name_fr\":\"Moose Lake 31D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.74520009731145,54.647702232809976],[-97.74450743421035,54.67462863119602],[-97.78218664294938,54.64812413186315],[-97.76354343357266,54.640069709164635],[-97.74520009731145,54.647702232809976]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.75872888713313,\"lat\":54.65422073221482},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4622\"],\"cd_name_en\":[\"Division No. 22\"],\"csd_code\":[\"4622052\"],\"csd_name_en\":[\"Cross Lake 19A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 22\",\"csd_name_fr\":\"Cross Lake 19A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-98.91958302415959,56.77990536893636],[-98.91825266785285,56.78110508098052],[-98.91997971737304,56.781572381573646],[-98.92094431079485,56.780294397367584],[-98.91958302415959,56.77990536893636]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-98.91966642350688,\"lat\":56.780742089925326},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4623\"],\"cd_name_en\":[\"Division No. 23\"],\"csd_code\":[\"4623040\"],\"csd_name_en\":[\"O-Pipon-Na-Piwin Cree Nation 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 23\",\"csd_name_fr\":\"O-Pipon-Na-Piwin Cree Nation 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.95689305886536,49.161530190226564],[-103.02514456697892,49.1615152223485],[-103.01383684945091,49.15063551464565],[-103.01391983043891,49.12469433458586],[-102.96908882306249,49.12479636952136],[-102.95662689896943,49.13915571923872],[-102.95689305886536,49.161530190226564]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.98731666723205,\"lat\":49.14414206088668},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701024\"],\"csd_name_en\":[\"Estevan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Estevan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.30847122080401,49.81380625539864],[-103.30415224714727,49.828369120007395],[-103.31602654518773,49.82833540891503],[-103.30847122080401,49.81380625539864]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.30955000437964,\"lat\":49.82350359477368},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4702\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4702079\"],\"csd_name_en\":[\"Creelman\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Creelman\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.38241160439901,49.36788747707636],[-106.37716438990886,49.373881207958554],[-106.3918604468151,49.37118604584078],[-106.38241160439901,49.36788747707636]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.38381214704098,\"lat\":49.370984910291895},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4703\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4703012\"],\"csd_name_en\":[\"Wood Mountain\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Wood Mountain\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.01007868575691,49.00001250803505],[-108.010288036491,49.17440963437317],[-108.02393188892978,49.17440239329785],[-108.02395791181357,49.26173748560712],[-108.42726620823817,49.26173099120329],[-108.4271077180105,49.174352494172794],[-108.41010499754938,49.17437699283089],[-108.40994687614193,48.99951876517925],[-108.18786009456284,48.999653401282934],[-108.01007868575691,49.00001250803505]],[[-108.09119729745672,49.17444430272107],[-108.1018080826116,49.17441564243943],[-108.10103786790215,49.182175095519334],[-108.08927765074397,49.17956179916472],[-108.09119729745672,49.17444430272107]],[[-108.38296470902088,49.20347179598182],[-108.40094537500244,49.21037266739307],[-108.38152875737939,49.210835005597836],[-108.38296470902088,49.20347179598182]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.21531400036056,\"lat\":49.13087634113472},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4704\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"4704006\"],\"csd_name_en\":[\"Lone Tree No. 18\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Lone Tree No. 18\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.24352935692372,50.52942168381148],[-103.24598850406619,50.53456379705366],[-103.30435379313847,50.550669539193926],[-103.31610398656989,50.54865533142741],[-103.35696956515076,50.558811747426084],[-103.36680758994189,50.56771453347415],[-103.38172182391953,50.564488991608215],[-103.3809882986174,50.39688079608556],[-103.38101709499257,50.309072961204826],[-103.24470500908734,50.30944010108018],[-102.96854750202597,50.309474585982905],[-102.9685878102082,50.57166289834677],[-102.98284742926904,50.60124524187015],[-103.03358635597888,50.58452765271923],[-103.0537664825288,50.565876444731785],[-103.06795496502312,50.5631207414953],[-103.07471426720262,50.55100475103275],[-103.08898469261928,50.547974645240465],[-103.11786599428697,50.53063225071442],[-103.152511672332,50.53032634083114],[-103.20156708172301,50.52266504886766],[-103.21299916763618,50.528875735924444],[-103.24352935692372,50.52942168381148]],[[-103.25532323891883,50.422364676073556],[-103.2549025137759,50.41199898308746],[-103.28924282006761,50.41094217999797],[-103.28882218885636,50.43373046077602],[-103.25576969528247,50.43364183056897],[-103.25532323891883,50.422364676073556]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.16906592711679,\"lat\":50.43136995369295},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705027\"],\"csd_name_en\":[\"Wolseley No. 155\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Wolseley No. 155\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.84235687141067,50.638314738156296],[-102.88526828149277,50.636502954512956],[-102.89350517661568,50.64196545018031],[-102.91678279460763,50.64116444775646],[-102.93592839120615,50.63009625419852],[-102.94852909017047,50.61698603684053],[-102.97380316688447,50.6141789374136],[-102.98284742926904,50.60124524187015],[-102.9685878102082,50.57166289834677],[-102.96854750202597,50.309474585982905],[-102.83115490137064,50.30946530811017],[-102.41923408243407,50.30953311297202],[-102.41863293284419,50.30952824658796],[-102.41860124764914,50.44023690391613],[-102.5004569519242,50.44055965981284],[-102.49997475317488,50.484286191673824],[-102.60899597412836,50.48391865072271],[-102.75095973792716,50.48406009118237],[-102.83104790923251,50.484427008890115],[-102.82983939351706,50.568466323152386],[-102.84135629224073,50.59056785547845],[-102.84235687141067,50.638314738156296]],[[-102.57908900279214,50.3677671941588],[-102.59187109257289,50.38551599965117],[-102.56826578093127,50.382880277800034],[-102.57908900279214,50.3677671941588]],[[-102.64768550046135,50.40420959256711],[-102.64788646304845,50.41129623128738],[-102.67065993311148,50.418414707291305],[-102.64775841689499,50.4259833103332],[-102.63654317873194,50.418791336597764],[-102.64768550046135,50.40420959256711]],[[-102.92762948637157,50.40303555920667],[-102.94573571155097,50.404170593539554],[-102.94575028219809,50.41880117643188],[-102.92276565405717,50.41856017976837],[-102.92762948637157,50.40303555920667]],[[-102.59071246272708,50.44051990913235],[-102.60203133180235,50.462442016030344],[-102.59068628197336,50.462375482864324],[-102.59071246272708,50.44051990913235]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.73855196954308,\"lat\":50.42392005844047},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705028\"],\"csd_name_en\":[\"Elcapo No. 154\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Elcapo No. 154\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.6093425794501,51.078280094314636],[-101.59872147783065,51.078488290105334],[-101.59741380120946,51.08826637329484],[-101.60937830510402,51.085454173179755],[-101.6093425794501,51.078280094314636]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.60343670404625,\"lat\":51.08273112734812},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705096\"],\"csd_name_en\":[\"MacNutt\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"MacNutt\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.68687219708166,50.52148375429678],[-104.68933998036043,50.51336988586739],[-104.72100163266359,50.513346040943276],[-104.7210786137432,50.48421688320148],[-104.75555864568531,50.484136881749436],[-104.75544748770304,50.4694960267165],[-104.7784028999308,50.46953702283292],[-104.77839806661945,50.434398022646356],[-104.72089515371323,50.44012918292277],[-104.70968075650315,50.44520924991777],[-104.68685505337787,50.44357620750452],[-104.68675469740161,50.396879506866725],[-104.57217161509142,50.39689228680336],[-104.57060372810126,50.41418614966285],[-104.49271688025122,50.41178634596712],[-104.4923928828804,50.44707452490162],[-104.50339907805008,50.44557556078825],[-104.50341625619404,50.47194395710426],[-104.5263419942938,50.46786916987769],[-104.52637731261196,50.48414000454291],[-104.53779589360062,50.49908103127167],[-104.59512885000666,50.49892015289754],[-104.62162378225969,50.5014139919017],[-104.65998771575947,50.52165140783536],[-104.68687219708166,50.52148375429678]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.62879194326756,\"lat\":50.45565023721744},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706027\"],\"csd_name_en\":[\"Regina\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Regina\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.55038094426553,50.79713133969265],[-103.53639880633152,50.79816109733146],[-103.54002799985948,50.8128479089249],[-103.55192725688686,50.81286839506717],[-103.55038094426553,50.79713133969265]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.54471455568324,\"lat\":50.80502944510871},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706047\"],\"csd_name_en\":[\"Balcarres\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Balcarres\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.90522387202292,50.76318705455393],[-104.89273483204295,50.76632239533451],[-104.90532100882994,50.77086206534016],[-104.90522387202292,50.76318705455393]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.90109323763195,\"lat\":50.7667905050762},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706057\"],\"csd_name_en\":[\"Lumsden Beach\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Resort village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Lumsden Beach\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.07021856688138,50.83372039508112],[-105.49394976489003,50.83359708531114],[-105.60935981055079,50.833745894720124],[-105.60953246645037,50.72527588431098],[-105.59764321970238,50.71694970245677],[-105.55190225403403,50.70280217578201],[-105.54021278026603,50.68788553683439],[-105.53909530643239,50.66944896226851],[-105.51131049814228,50.64782758293766],[-105.45364370097931,50.62325244848951],[-105.38151514792267,50.58569560258337],[-105.34152739365278,50.571594099810525],[-105.30566855909348,50.57154097332616],[-105.05536982571792,50.571570045363146],[-105.05513641363737,50.63713639628085],[-105.05515830702203,50.64441021821983],[-105.05536513777051,50.75541845653599],[-105.04270889796274,50.76424297770191],[-105.02011841062782,50.77102864201901],[-105.037193502286,50.780931807997256],[-105.03786157450102,50.79446686334295],[-105.04266498874468,50.79615624590559],[-105.07021856688138,50.83372039508112]],[[-105.40750652864588,50.79283843135926],[-105.3953411652647,50.79355534323017],[-105.39534738786249,50.78115604556841],[-105.40768560441906,50.78271366672176],[-105.40750652864588,50.79283843135926]],[[-105.21676089324873,50.70287438183826],[-105.21674271630569,50.71721230371767],[-105.19370039488078,50.71145239563943],[-105.19371074296143,50.702535331187335],[-105.21676089324873,50.70287438183826]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.30255698221028,\"lat\":50.71450742450155},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706059\"],\"csd_name_en\":[\"Dufferin No. 190\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Dufferin No. 190\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.2420449882449,50.41951119104206],[-107.2066896088965,50.419959571218804],[-107.20764487018133,50.434292017958896],[-107.24105721697292,50.43370478251745],[-107.2420449882449,50.41951119104206]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.22432547382431,\"lat\":50.42680022573179},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707026\"],\"csd_name_en\":[\"Herbert\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Herbert\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.72310229905406,50.615434346971604],[-105.7137263237601,50.61568917303619],[-105.7136889041292,50.622913694368485],[-105.72494139394126,50.62272849740167],[-105.72310229905406,50.615434346971604]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.71889123852434,\"lat\":50.61930041601032},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707044\"],\"csd_name_en\":[\"Marquis\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Marquis\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.50083448647376,50.79053811465914],[-106.4894189110562,50.805011006277404],[-106.51776294285754,50.80504855867624],[-106.5125126953708,50.790576108795875],[-106.50083448647376,50.79053811465914]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.50491472783929,\"lat\":50.798797468030685},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707054\"],\"csd_name_en\":[\"Central Butte\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Central Butte\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.72540358811644,51.88089889441214],[-101.90836454120085,51.881272599748684],[-102.00593693367183,51.882169020759605],[-102.00627609927454,51.6522109027283],[-101.99452539213722,51.65233662156104],[-101.93444212228765,51.65256141944379],[-101.94332115038709,51.66657097927618],[-101.95563548068353,51.68417495237538],[-101.95672965249449,51.69537997826201],[-101.97701022278689,51.709612074305554],[-101.97306137278147,51.71528640864184],[-101.99157878247343,51.73419290614924],[-101.99017933806076,51.74412030725503],[-101.97220356167139,51.75554972522934],[-101.93415807104107,51.755416535575726],[-101.93454922950164,51.757215443557975],[-101.93160072735206,51.75733118674043],[-101.93150979152176,51.75551021681375],[-101.90829429523065,51.74956508121615],[-101.90805319653633,51.6673347973337],[-101.86094389847793,51.668699504487314],[-101.85291793739225,51.653648585967964],[-101.83733339445402,51.65473829426164],[-101.57734897625348,51.65493521501733],[-101.5773289591472,51.70619733526673],[-101.57722332274514,51.880834907858706],[-101.71301762246199,51.88092837389339],[-101.72540358811644,51.88089889441214]],[[-101.92834654720468,51.86128530661496],[-101.91990768948972,51.85223711055303],[-101.93526962074212,51.852403107612524],[-101.92834654720468,51.86128530661496]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.78189210281447,\"lat\":51.77204179789463},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709042\"],\"csd_name_en\":[\"St. Philips No. 301\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"St. Philips No. 301\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-104.43160964807527,51.56168053980045],[-104.44440699050834,51.561688005619146],[-104.44432900505872,51.54653871296793],[-104.43101437873204,51.54649485807199],[-104.43160964807527,51.56168053980045]]],[[[-104.28623819483575,51.6920449288469],[-104.28495964391671,51.656432862959136],[-104.26497447413175,51.68525688866774],[-104.28623819483575,51.6920449288469]]],[[[-104.4270069941801,51.714368293329066],[-104.43882168713226,51.70706490611065],[-104.43882710084797,51.69095175143578],[-104.4151810207308,51.691240132740596],[-104.41515470183423,51.71448435001733],[-104.4270069941801,51.714368293329066]]],[[[-104.4624389192108,51.72772025356731],[-104.4388329750823,51.72755041862846],[-104.43883769530417,51.73617039019411],[-104.46247168778115,51.73618199427094],[-104.4624389192108,51.72772025356731]]],[[[-104.34440280716177,51.63421114970069],[-104.32075148738556,51.64145880078376],[-104.34451298468596,51.64144530057273],[-104.3447093363816,51.65617813508177],[-104.36798060867459,51.64879039953455],[-104.36796450315913,51.61980130431129],[-104.38735541223383,51.613707383010045],[-104.38658552210912,51.59738234226833],[-104.35983651975212,51.61334860486739],[-104.34440280716177,51.63421114970069]]],[[[-104.3447093363816,51.65617813508177],[-104.32302197301881,51.65618145945532],[-104.32075148738556,51.64145880078376],[-104.30892769889078,51.64145049737977],[-104.30940963158062,51.67070056645092],[-104.34437591322508,51.6779466917043],[-104.3447093363816,51.65617813508177]]],[[[-104.39159089249752,51.633570680182224],[-104.39158350385235,51.64879820176248],[-104.36798060867459,51.64879039953455],[-104.37976711503656,51.663335686242185],[-104.4032898024429,51.65643353035306],[-104.40268280870957,51.63341587516356],[-104.39159089249752,51.633570680182224]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.3665384968976,\"lat\":51.65548541043615},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710828\"],\"csd_name_en\":[\"Beardy's and Okemasis 96 and 97A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Beardy's and Okemasis 96 and 97A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.65636836601549,51.307190364497224],[-107.64437380161917,51.30718914041323],[-107.64437941755561,51.315632904507034],[-107.65598777331094,51.314746959895146],[-107.65636836601549,51.307190364497224]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.6501669430379,\"lat\":51.31117098836438},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4712\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4712014\"],\"csd_name_en\":[\"Wiseton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Wiseton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.27964660786344,51.620031201173],[-107.27961199545334,51.88169220277081],[-107.70520892590993,51.88153213064581],[-107.70493798524983,51.61994668998623],[-107.69135660191097,51.61994430280469],[-107.40992758070627,51.61993719800803],[-107.27964660786344,51.620031201173]],[[-107.57589460652119,51.727846583684276],[-107.5867622379839,51.727839636369765],[-107.58680430380937,51.736550097065326],[-107.57556359524474,51.73668634259325],[-107.57589460652119,51.727846583684276]],[[-107.43305949929184,51.80144790456988],[-107.43306291306439,51.81266446747677],[-107.42140118287081,51.8126418030318],[-107.42138377236849,51.801489776065466],[-107.43305949929184,51.80144790456988]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.49233672629046,\"lat\":51.75074895339461},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4712\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4712029\"],\"csd_name_en\":[\"Harris No. 316\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Harris No. 316\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.45628684368575,52.6677165162262],[-109.65710109130633,52.66709020679547],[-110.00540935375551,52.66714451312202],[-110.00444606508846,52.52138173637276],[-110.00494638756533,52.404948011110825],[-109.8814863985705,52.40584930027071],[-109.7441110886266,52.405773412468726],[-109.60049236480499,52.406441952350896],[-109.456794900648,52.40580628583164],[-109.45684932222238,52.63682180797883],[-109.45628684368575,52.6677165162262]],[[-109.70127730012894,52.492171287149716],[-109.71330871558467,52.48939901301118],[-109.71304534311182,52.49664106698927],[-109.70127730012894,52.492171287149716]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.73089872279618,\"lat\":52.53658960086926},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713076\"],\"csd_name_en\":[\"Senlac No. 411\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Senlac No. 411\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.0278263371631,52.7395902409036],[-109.00355628250097,52.741065298050735],[-109.0278360930681,52.75487759496146],[-109.0278263371631,52.7395902409036]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.01973957091072,\"lat\":52.74517771130527},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713098\"],\"csd_name_en\":[\"Cut Knife\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Cut Knife\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.73714527569892,53.61011851833467],[-101.73546038653238,53.62542021171909],[-101.735430943838,53.71070651627837],[-101.7550319443219,53.7108160175063],[-101.77066399919583,53.71091002548052],[-102.00094649694168,53.708611081518086],[-102.00000002000363,53.71260832697355],[-102.06844551213636,53.71372070217142],[-102.29583821534291,53.71349913910898],[-102.52261920686877,53.71330129260956],[-102.7473336188467,53.71328050189351],[-103.03499653448735,53.7141396834035],[-103.03707397241719,53.45448747287819],[-103.0355260853682,53.365609258892576],[-103.02610697263162,53.36559324720271],[-103.02512272639834,53.29796430705657],[-103.01171256547667,53.29304504737321],[-103.00203137385952,53.27544644438804],[-102.9679481699671,53.23055064201806],[-102.91461381460647,53.192605632040454],[-103.02673429352237,53.19160583859013],[-103.02650650827461,53.016946943655306],[-103.02262251415803,53.016916963201986],[-103.02300878045722,52.92981212011622],[-102.73246262081638,52.929417159782375],[-102.73285810497568,52.66764309928194],[-102.72612318902715,52.66744367124267],[-102.72676384292669,52.40552978150345],[-103.15841304993232,52.4053717608772],[-103.15836309951294,52.31867310742314],[-102.86207756265205,52.31843927112991],[-102.43498552218347,52.317807479589284],[-102.14712375604653,52.31827446084664],[-102.09823345459324,52.31631436838359],[-102.07212048686786,52.31817709584844],[-102.00676952484005,52.31807220197754],[-101.76995921413895,52.31804056290886],[-101.67045301410302,52.31704619498456],[-101.63781265104966,52.318149463398925],[-101.63774607378298,52.53532718441983],[-101.63770525871642,52.6672739272763],[-101.6715880414553,52.66726057734758],[-101.67159415186805,52.79813433733384],[-101.67160376760629,53.001253123076566],[-101.67160451924241,53.01644787432135],[-101.70069426314089,53.01645077643397],[-101.70060567806499,53.3657811165886],[-101.7355436848977,53.365808442675785],[-101.73548179992663,53.56392707088027],[-101.73714527569892,53.61011851833467]],[[-102.84987172759752,53.48667607346252],[-102.9073096293327,53.484129476493464],[-102.90882816232181,53.497845284318764],[-102.88933467297797,53.50526467097833],[-102.85013331199114,53.50516049804204],[-102.84987172759752,53.48667607346252]],[[-101.95080684414016,53.67400645940983],[-101.93779439239705,53.65971521123126],[-101.96503280854337,53.642212486476964],[-101.98752289161504,53.63974028965175],[-101.98753570623609,53.62890210672716],[-102.00660438423127,53.62890739240282],[-102.00659604309116,53.66702941356117],[-101.98997633294809,53.66861499151628],[-101.96035464236036,53.663306035393084],[-101.95080684414016,53.67400645940983]],[[-102.85683930529723,53.46102292966076],[-102.83452786998487,53.46171933398367],[-102.83383236988233,53.44806692757402],[-102.85867269601538,53.44629047100926],[-102.87087745132703,53.43410301879379],[-102.8709323154154,53.41440427595959],[-102.9052433759777,53.41432618935097],[-102.90609514612224,53.4337550571437],[-102.88580020147784,53.434394235553384],[-102.88549026046311,53.46587578101433],[-102.85683930529723,53.46102292966076]],[[-102.6544536411854,53.52982132100915],[-102.63266953474825,53.531213772089586],[-102.63099085293881,53.51089291332503],[-102.64290435691197,53.49810827146224],[-102.60613092318997,53.49767215300984],[-102.60474673583508,53.47171198851102],[-102.6540433129665,53.47222421710378],[-102.66733442236463,53.48245385722601],[-102.65561075713534,53.49015257305702],[-102.6544536411854,53.52982132100915]],[[-102.39384459792498,52.87137790081585],[-102.36938622409822,52.86455320920859],[-102.34544912218595,52.864426639518356],[-102.34614494741744,52.834846622609234],[-102.33305567136343,52.83498664357132],[-102.33398509098916,52.81446845425844],[-102.36958787251032,52.81849897968921],[-102.36995783817021,52.84228953617069],[-102.40559573000394,52.842262454712184],[-102.40580476029541,52.86404422559605],[-102.39384459792498,52.87137790081585]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.31193292127793,\"lat\":53.029896375866436},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714001\"],\"csd_name_en\":[\"Hudson Bay No. 394\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Hudson Bay No. 394\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.02300878045722,52.92981212011622],[-103.16767076119564,52.929493715641826],[-103.1675300675291,52.798376935143956],[-103.26290139547609,52.797150356125464],[-103.31062920677176,52.79773289362865],[-103.31091681851828,52.66732440024034],[-103.3026040077461,52.66735841101695],[-103.3026111455373,52.536485415261225],[-103.44672962496433,52.53646666134853],[-103.44636068225672,52.49265894182094],[-103.44643439485029,52.40569750550727],[-103.3066247008669,52.405710400501206],[-103.30310473623724,52.31883413493177],[-103.29141983038794,52.31882588835847],[-103.15836309951294,52.31867310742314],[-103.15841304993232,52.4053717608772],[-102.72676384292669,52.40552978150345],[-102.72612318902715,52.66744367124267],[-102.73285810497568,52.66764309928194],[-102.73246262081638,52.929417159782375],[-103.02300878045722,52.92981212011622]],[[-102.8702710244208,52.566487037516275],[-102.88321821370191,52.57059958770416],[-102.8684161991308,52.572978160444954],[-102.8702710244208,52.566487037516275]],[[-103.26546616913815,52.589337140329974],[-103.26557414053404,52.60236132163154],[-103.24605236276959,52.60229312313446],[-103.24084753190391,52.59010167422203],[-103.26546616913815,52.589337140329974]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.03459128875832,\"lat\":52.63202711596817},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714006\"],\"csd_name_en\":[\"Porcupine No. 395\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Porcupine No. 395\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.5138707162201,52.58017848459597],[-104.50870546897119,52.573965633302066],[-104.50093921410279,52.58018320000013],[-104.5138707162201,52.58017848459597]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.50783846643137,\"lat\":52.57810910596605},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714030\"],\"csd_name_en\":[\"Pleasantdale\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Pleasantdale\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.83231232960075,52.175852327448],[-104.81962196806074,52.17296279772869],[-104.81982485343818,52.17973259333113],[-104.83231232960075,52.175852327448]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.82391971703325,\"lat\":52.17618257283594},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715003\"],\"csd_name_en\":[\"St. Gregor\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"St. Gregor\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.25400455248386,52.7234195378366],[-108.25418214505304,52.740239003447094],[-108.27338577305404,52.73998035992006],[-108.25400455248386,52.7234195378366]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.26052415686365,\"lat\":52.734546300401256},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716027\"],\"csd_name_en\":[\"North Battleford\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Crown colony \\/ Colonie de la couronne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"North Battleford\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.00406363653391,53.97629600610103],[-106.00402014741934,54.22758617306207],[-105.9999999100422,54.31222490978354],[-106.01418688234799,54.329057603812174],[-106.33930051327148,54.327298424384026],[-106.55251462032213,54.32615243437473],[-106.58720909451401,54.34513666371657],[-106.5962373739327,54.32601340796182],[-106.75289338592965,54.324942862182844],[-106.75327346129443,54.25028762710415],[-106.7513912924196,54.14884894544936],[-106.75058628435502,53.90273599223822],[-106.75229450447097,53.822518902375826],[-106.7714440562247,53.81774205095671],[-106.768915062843,53.799177044270394],[-106.77827835680655,53.78513614989935],[-106.75864366099991,53.76760564859693],[-106.72610766034454,53.73101796425434],[-106.72378553169767,53.714600548729365],[-106.72859348220962,53.70233215077607],[-106.68665617526142,53.673036044484846],[-106.65642878679982,53.64195216408601],[-106.6052833864395,53.64034324883586],[-106.54828427099372,53.606052459259885],[-106.54146733746381,53.58331543509348],[-106.44560990245608,53.58345202817558],[-106.10232105458758,53.583422968700525],[-106.07781902131126,53.57571825646078],[-106.03043057001483,53.57621993478359],[-106.03042610627072,53.56862098302671],[-106.00397743067151,53.56875929127823],[-106.00178802344055,53.598024157160246],[-106.00602627252857,53.694525032671585],[-106.00357864685243,53.76393035718645],[-106.00406363653391,53.97629600610103]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.36903650493431,\"lat\":53.96418602805421},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716053\"],\"csd_name_en\":[\"Prince Albert National Park\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Prince Albert National Park\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.65979944503808,53.60705732626713],[-108.6487158277021,53.62047921638055],[-108.62835008955079,53.62025333218454],[-108.61818396544567,53.636394459849164],[-108.62152136051975,53.656628144910506],[-108.64217761177814,53.64953875530969],[-108.64195443763805,53.6278491838708],[-108.65969768559906,53.62784238962374],[-108.65981741772323,53.613657403865766],[-108.65979944503808,53.60705732626713]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.63615211210004,\"lat\":53.633931880429664},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717804\"],\"csd_name_en\":[\"Thunderchild First Nation 115C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Thunderchild First Nation 115C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.99894069999188,49.842482481029],[-114.17735917541553,49.84287446627384],[-114.22799177417185,49.84450311683588],[-114.25630505291934,49.86017782832563],[-114.29380619795936,49.855080390761636],[-114.31680113992158,49.86283571763863],[-114.321462434962,49.874040542165964],[-114.3398289040481,49.8739815407245],[-114.34057840746908,49.801008821799755],[-114.3179009611356,49.800882504510376],[-114.31665205706517,49.67559141840794],[-114.3169960129246,49.62585385270763],[-114.31775589060501,49.58208526499183],[-114.2948670512711,49.58233520633571],[-114.2948268014919,49.56793255702694],[-114.3176987266693,49.56793398360241],[-114.3168240348323,49.55491328630324],[-114.29455347115868,49.552789862395755],[-114.2944856427351,49.538787777220605],[-114.34581173432835,49.538970165699844],[-114.34932214745898,49.51692859940061],[-114.39246141054821,49.500743464180296],[-114.40884992804874,49.49851545078111],[-114.4111939343032,49.51339704056584],[-114.4312980944342,49.524519982981],[-114.46639021604474,49.51803084682122],[-114.47694406109869,49.52017992110447],[-114.48174768636376,49.53447419548201],[-114.4975356276932,49.54287427771682],[-114.50909322206167,49.57429279696283],[-114.55455058654738,49.556258663581914],[-114.57360388010154,49.55746290546993],[-114.57300626551874,49.524963209349885],[-114.58343412462075,49.52042950607914],[-114.59471741310753,49.502843021468955],[-114.59393725641783,49.469382555765606],[-114.59943403187432,49.466621048342176],[-114.59843280764423,49.41256158062362],[-114.59059023715113,49.396108246439354],[-114.56692967370448,49.37688356515373],[-114.53659401714049,49.37960971942454],[-114.52299481748155,49.35631297797065],[-114.50692649687716,49.35664218794608],[-114.48762451516,49.34732061290144],[-114.47764600802286,49.31235183933118],[-114.46115572732249,49.30411059775292],[-114.44679535245491,49.288417619958],[-114.4479424758522,49.264369225677775],[-114.41446220431966,49.26221749162805],[-114.39348599518776,49.257187403860975],[-114.38361375246261,49.24623930960196],[-114.40267640898242,49.24165090279581],[-114.40212197420347,49.213273603286424],[-114.38681603841977,49.20503757139854],[-114.3661692227311,49.20365755470967],[-114.34559060629957,49.19357076733958],[-114.31844091415253,49.19997253519347],[-114.31045637650867,49.19203470560129],[-114.25712576285046,49.17700797474869],[-114.2467153121249,49.187277155964246],[-114.22154485866727,49.18905583753475],[-114.21265268612602,49.173441099304355],[-114.17490451914351,49.16355053793034],[-114.1612497849932,49.15483135720038],[-114.12389850098378,49.161738849634936],[-114.10767340047519,49.157921743570505],[-114.1057303675338,49.17297296951964],[-114.07435730259802,49.182114523517434],[-114.03518141934606,49.164065043964015],[-114.00753769452331,49.16571514521813],[-113.98921525416482,49.184124491041736],[-113.97889036417688,49.18846756949205],[-113.97320925399254,49.204440196580606],[-113.94996112009852,49.204541751419136],[-113.94912488873258,49.19022432604819],[-113.93728087909739,49.17597646929523],[-113.87434030385165,49.17652374059738],[-113.87542220512886,49.132173552386725],[-113.83455826417745,49.131943102837546],[-113.82293598972556,49.13382174816763],[-113.79325231157057,49.148942897876005],[-113.7798482934555,49.17691126792047],[-113.77284549882245,49.18006126035354],[-113.76905395017269,49.20548590831724],[-113.75932672696722,49.207601311544856],[-113.7608733187536,49.2366010486439],[-113.73275174278258,49.2505117622384],[-113.70323961748286,49.25502617806534],[-113.67092781220859,49.26515615483376],[-113.68169981793648,49.27969725684529],[-113.66844522046941,49.2990765537325],[-113.66798454419418,49.33215410614635],[-113.65664102949601,49.34816735956208],[-113.6549952139056,49.37908389420848],[-113.6301755654052,49.385667091261844],[-113.62245356253297,49.404107048396284],[-113.61102431267116,49.409039701907275],[-113.59588739840589,49.40359670597017],[-113.57700541999183,49.4086551704433],[-113.57829728050098,49.47981295538366],[-113.65829869080311,49.47913906547138],[-113.70558570553631,49.48081859523615],[-113.79583999163812,49.48040188885088],[-113.7958483488344,49.53907719131693],[-113.77284489040984,49.53907176461327],[-113.77316395818949,49.57493007726075],[-113.73677366767593,49.57311569176029],[-113.72801080983653,49.58032668128439],[-113.72777698725224,49.61105808315373],[-113.75038029622026,49.62521863333337],[-113.77299948677468,49.6252100516948],[-113.77267182029522,49.699112183632856],[-113.93120629762335,49.69878558007567],[-114.00138789311644,49.698573647003805],[-114.00148013370853,49.75673776545964],[-114.00102090252372,49.837328265440526],[-113.99894069999188,49.842482481029]],[[-114.0804183181503,49.57497485384321],[-114.06902227361306,49.574938871880164],[-114.0694650135935,49.564331001936466],[-114.08026150094288,49.56713742547023],[-114.0804183181503,49.57497485384321]],[[-113.94801389848529,49.506532905083986],[-113.92546252218567,49.50980251920334],[-113.91495459818246,49.495571794896975],[-113.91449348079765,49.48027521108573],[-113.9443254109961,49.47659358232185],[-113.96963896456755,49.479970153871285],[-113.9679830964931,49.49423560673678],[-113.94801389848529,49.506532905083986]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.09043763153451,\"lat\":49.46351392896294},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4803\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4803011\"],\"csd_name_en\":[\"Pincher Creek No. 9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Pincher Creek No. 9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.42712134406447,49.698577347427936],[-113.36623868022396,49.69869539659088],[-113.36640883943655,49.742197263872],[-113.43398358943504,49.742152902181715],[-113.43412637427369,49.69856788044278],[-113.42712134406447,49.698577347427936]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.40020047358051,\"lat\":49.72038565530037},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4803\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4803019\"],\"csd_name_en\":[\"Fort Macleod\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Fort Macleod\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.15427527990555,50.244268421864724],[-113.15462778598064,50.240673797616346],[-113.14315900136472,50.231093687402876],[-113.14316901061078,50.24445078723276],[-113.15427527990555,50.244268421864724]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.14775070363997,\"lat\":50.239646601590294},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4805\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4805004\"],\"csd_name_en\":[\"Champion\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Champion\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.45721301020167,52.09018928925528],[-111.43700010696907,52.084654696663065],[-111.43337211480639,52.09930178831135],[-111.46863988195784,52.09955955876596],[-111.45721301020167,52.09018928925528]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.44789496549893,\"lat\":52.093910000871595},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4807\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4807012\"],\"csd_name_en\":[\"Coronation\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Coronation\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.63224078709666,52.66780059339599],[-113.61509023188287,52.657623442143276],[-113.57491875957955,52.6605862230171],[-113.55548568612413,52.65303339835897],[-113.558891183657,52.68981906140468],[-113.60768693503542,52.69093824696233],[-113.63224078709666,52.66780059339599]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.58956505283338,\"lat\":52.67355930490507},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4808\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4808039\"],\"csd_name_en\":[\"Ponoka\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Ponoka\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.22436437987899,52.661471101920164],[-114.2254856585346,52.6535706957952],[-114.25414680079378,52.654307130757],[-114.26598760958119,52.6396638972481],[-114.2660244897272,52.625197998241525],[-114.20969871940837,52.624648634151356],[-114.20617386919812,52.6477379694421],[-114.22436437987899,52.661471101920164]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.2354613522624,\"lat\":52.63934523651483},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4808\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4808044\"],\"csd_name_en\":[\"Rimbey\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Rimbey\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-110.89120678738013,54.24999002587633],[-110.89412430101876,54.258740096759176],[-110.89825767366703,54.25821635705926],[-110.89606237675385,54.250668051270864],[-110.89120678738013,54.24999002587633]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-110.89484137312492,\"lat\":54.2543502452611},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4812\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4812013\"],\"csd_name_en\":[\"Pelican Narrows\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Pelican Narrows\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-110.90836655151122,53.91138598178325],[-110.9210449978058,53.904171892269105],[-110.92019470389447,53.88985550675534],[-110.89625689756072,53.88961689282783],[-110.8826408168377,53.89739057324056],[-110.88305427849431,53.91154599117874],[-110.90836655151122,53.91138598178325]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-110.90181011925196,\"lat\":53.90067228263414},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4812\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4812016\"],\"csd_name_en\":[\"Elk Point\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Elk Point\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-114.69866959883831,51.008446558436866],[-114.69651598858123,51.09750629396564],[-114.69940156321428,51.12399224130603],[-114.6984244572803,51.155678730168624],[-114.84489329969593,51.110099843872796],[-114.8193311343086,51.10913239004927],[-114.81949667143718,51.09874592981418],[-114.79470143898705,51.097736876756294],[-114.79297757288641,51.06969767668412],[-114.7217775688716,51.069294881104504],[-114.72169296831179,51.057317577620914],[-114.72129942414573,51.00853552999218],[-114.69866959883831,51.008446558436866]]],[[[-114.84295763630327,51.707381233069036],[-114.86897590701705,51.692017343851354],[-114.90496958409899,51.682001325512736],[-114.933911492795,51.69082887828224],[-114.96073157637015,51.69100323520229],[-114.9696849774478,51.680291903046204],[-114.9730631821038,51.65633523088489],[-114.99438284523747,51.65350721049899],[-114.99317848166741,51.62084834392427],[-115.06566227131638,51.619941862133714],[-115.28972381460486,51.619684004749125],[-115.5740978178569,51.61910749238738],[-115.56423982572612,51.6086586367304],[-115.49649438109212,51.565744296532955],[-115.51541841273546,51.553782725213935],[-115.53479865216198,51.533573350750125],[-115.52338949874157,51.5068445177169],[-115.50461973731281,51.508742968703714],[-115.48352889256336,51.50438315079272],[-115.48431260631598,51.49396546333978],[-115.50632963300397,51.47319485060311],[-115.4985985917937,51.44913836469787],[-115.47434877769855,51.429501096936846],[-115.49808837806769,51.41843647669174],[-115.49846915168244,51.408944983044115],[-115.47548937917941,51.38502500763785],[-115.47770087053678,51.373724608782354],[-115.49810749292945,51.34280837461303],[-115.4894806675434,51.3318229160236],[-115.46430189862706,51.31439643085313],[-115.44340565297777,51.31499231439782],[-115.40132266504521,51.308255709859814],[-115.3786955643863,51.29754389142039],[-115.36083991619255,51.28210187096621],[-115.32522468416575,51.26727885439123],[-115.30861832062133,51.281008102239646],[-115.21758633502276,51.29434626011512],[-115.1852871601673,51.291707751714476],[-115.17064865752592,51.25191747210515],[-115.19248355999422,51.23856282754123],[-115.21368922483673,51.24150185000983],[-115.22486334085765,51.23118991601823],[-115.2468461499521,51.22102802627175],[-115.2830423594364,51.2117857609757],[-115.2795967051132,51.191415587627695],[-115.29359293368947,51.18553704275215],[-115.28238016736377,51.169980124019446],[-115.30191065836733,51.16080613511982],[-115.3884532042706,51.13507346732389],[-115.41272536304412,51.13182303293666],[-115.38021230070271,51.11720379378917],[-115.36153912537576,51.12597161489225],[-115.32736864836859,51.11134553429705],[-115.32243471467407,51.097599722962414],[-115.3046835555116,51.09699564613592],[-115.3042130482672,51.07261391411887],[-115.33138614447294,51.07481293601861],[-115.31515678740739,51.05614639907277],[-115.26749119982571,51.038599401152425],[-115.24197111316461,51.04035700459526],[-115.22168541916884,51.048257024393415],[-115.22173875165605,51.023119464056705],[-115.21076422996079,51.03837290432448],[-115.1149328106294,51.037876852197684],[-115.11490330113908,51.076331060859935],[-115.08784901263091,51.092032470004526],[-115.06134180414966,51.093061578164736],[-115.00894433045652,51.11885995123107],[-115.02201247283033,51.127363563285876],[-115.06871871878208,51.10130140812506],[-115.10163733146054,51.14767721725189],[-115.08955659576333,51.156797856335466],[-115.1169756596085,51.16279385779738],[-115.11644591068801,51.23270366014638],[-115.10624710567498,51.23715926859954],[-115.06640028288992,51.23809625543576],[-115.0348892236113,51.24563295578526],[-115.01135909296117,51.2687202606414],[-114.99590181865217,51.26501305660611],[-114.9782296042295,51.26933115709169],[-114.97697315343376,51.200245322908344],[-114.89778236791021,51.22481746916584],[-114.85544994220925,51.20563930813932],[-114.85004450959993,51.19669024696949],[-114.80022560742815,51.18005755903666],[-114.76795381617382,51.18644465108749],[-114.69829474714622,51.211397516308146],[-114.68657300479539,51.197824591635666],[-114.67487107956077,51.212431635123636],[-114.7213857846091,51.21210398292395],[-114.722200128305,51.27087286404675],[-114.72770774120451,51.299512911571696],[-114.75156742342192,51.30023934435471],[-114.76449643159758,51.282596783764006],[-114.79437258538373,51.28240669040124],[-114.79470631798098,51.31492325424531],[-114.85022169540888,51.31378802436284],[-114.84355519949894,51.361435171374794],[-114.76701048985427,51.355144525345864],[-114.76323371593237,51.380941002630415],[-114.73690395440197,51.377605384044614],[-114.73776722345667,51.35818400618845],[-114.70448663978368,51.357100278782546],[-114.7041552293839,51.44566027160691],[-114.70375837165065,51.4897870373841],[-114.72841209427456,51.50440022158704],[-114.75158290689782,51.504610093646825],[-114.75178918567514,51.53259669602609],[-114.70378110150776,51.53283169293585],[-114.70420460904278,51.620264723290575],[-114.71020301065751,51.649457108136225],[-114.78172328835298,51.64945399831268],[-114.7805056118246,51.70777903057852],[-114.84295763630327,51.707381233069036]],[[-114.84492059424124,51.28793525000142],[-114.83941262044586,51.28416396831517],[-114.84003930030612,51.280628249337035],[-114.8452931462419,51.279997984307485],[-114.84492059424124,51.28793525000142]],[[-114.7521790770369,51.20198615923334],[-114.76948731388687,51.207356606865034],[-114.78262056586384,51.227002010627984],[-114.75201264452289,51.22684424058543],[-114.73500275232946,51.21093590943645],[-114.7521790770369,51.20198615923334]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-115.08619915192611,\"lat\":51.40453073997308},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4815\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4815015\"],\"csd_name_en\":[\"Bighorn No. 8\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Bighorn No. 8\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-115.67165696047272,55.92104896397978],[-115.72319529593496,55.9180132934076],[-115.72294187500398,55.89760870288606],[-115.66208013872038,55.89906253502704],[-115.65055068915085,55.90586277920223],[-115.67165696047272,55.92104896397978]]],[[[-114.9751412467389,57.38059839604919],[-115.30970623330771,57.379806046495844],[-115.39070888927438,57.38093888848223],[-115.50783920059592,57.380730538498824],[-116.07988598196164,57.38307535203103],[-116.50000001504641,57.38302768754057],[-116.8664086274183,57.38176259790395],[-117.10162340851916,57.38190180034696],[-117.13032098924742,57.345642486243136],[-117.1234974095095,57.32124397511723],[-117.1404298027861,57.311051378931914],[-117.15098469824362,57.294004775034956],[-117.12087719100747,57.286023277032164],[-117.07533161103733,57.28318507511361],[-117.06143028937939,57.26078916845668],[-117.06745458198273,57.24923128262015],[-117.09205091875373,57.23104497399133],[-117.10221038011727,57.1978833723394],[-117.09470221947973,57.19313807414025],[-117.09187081342323,57.16284477260387],[-117.10046258777801,57.148996483541474],[-117.14001541091156,57.13405095625897],[-117.19012540275503,57.12793776841378],[-117.22500660450164,57.126952584617015],[-117.2570108076877,57.12043855881425],[-117.27145631588476,57.111930779905876],[-117.27060377179181,57.101331265169584],[-117.25330618855035,57.093882269677025],[-117.21021519659888,57.09714617936091],[-117.15837317614789,57.08971726501552],[-117.15059239189496,57.08179538130326],[-117.16226511506444,57.06686678251341],[-117.17454030081572,57.06836026130609],[-117.2113952747782,57.05803226927003],[-117.21695181733857,57.03214227388044],[-117.21185338115771,57.023594480448374],[-117.22402710140662,56.97601668380121],[-117.21850301001996,56.96660695457341],[-117.22353841033537,56.94848197830481],[-117.24226517971145,56.936189265211475],[-117.25007308906363,56.919161463899044],[-117.24228681804853,56.8985227618189],[-117.25083599773316,56.882031269723896],[-117.26339799538701,56.87637056647447],[-117.29811550073369,56.87536546031824],[-117.31515288710705,56.870474460668696],[-117.30517601347243,56.8551105797567],[-117.25824938151843,56.8463131620313],[-117.24681550630126,56.8313894555654],[-117.27447950049924,56.80918006902554],[-117.27237482362929,56.7977134736826],[-117.25593401908995,56.779160361060136],[-117.25605560815826,56.768110478371376],[-117.2692534105591,56.75425287380303],[-117.25586560951265,56.74106997188107],[-117.20356539343561,56.752853574783124],[-117.18517882542966,56.75344807627568],[-117.1649529086,56.74202816905851],[-117.16642678623711,56.731770775303566],[-117.18682109598096,56.72062585849832],[-117.21479540084722,56.72137476071411],[-117.2351817948883,56.71654696531509],[-117.23375501484296,56.69711536930123],[-117.17456422351553,56.67268477472546],[-117.16044258099315,56.66301606674248],[-117.12260218420035,56.648166377507536],[-117.12050719029006,56.630289679067204],[-117.13790310334115,56.61568998002713],[-117.14843690709031,56.59827606716572],[-117.12849628459936,56.58117767644112],[-117.07986598762507,56.57659478573096],[-117.07710071691301,56.56006046903227],[-117.08949951465036,56.54515607664067],[-117.09196191072488,56.500000080372466],[-117.09632710491242,56.48102316643348],[-117.11176231716156,56.45965095850655],[-117.11691791435793,56.44135427948614],[-117.13589799371985,56.43026306199033],[-117.159723893542,56.4081271696834],[-117.16612388609354,56.39089197350035],[-117.16479759367765,56.37152037401203],[-117.19767308652693,56.34904617048966],[-117.24736551811948,56.33750627650116],[-117.26710590944889,56.31736566115284],[-117.26496781897264,56.29662746043613],[-117.27525839564292,56.27413149120627],[-117.28157835820967,56.263094114134404],[-117.2776825393316,56.20910190758626],[-117.28837769890748,56.205686858724505],[-117.31126574293627,56.191836130479494],[-117.3418697084489,56.1624917802272],[-117.36696819969178,56.152403846950214],[-117.39026012037263,56.110170474928466],[-117.41534817600764,56.10928162562756],[-117.4558331875695,56.07675249404057],[-117.46565726287834,56.05356763296818],[-117.48852181161857,56.04011725068057],[-117.52844290020657,55.98557237335764],[-117.28981519344083,55.98523340020196],[-117.28980908406696,55.941566099117836],[-116.97630208257812,55.94150863962113],[-116.97570748145748,55.89851828297568],[-116.61609163076179,55.89679008246793],[-116.50796468133244,55.89749060256659],[-116.50710838195188,55.98437655364255],[-116.22647140343979,55.98425204731222],[-116.03383746499009,55.98507068597355],[-116.03673383241173,56.07293059410027],[-115.72379699061833,56.07389353666861],[-115.72321034441072,55.94189654747771],[-115.67257087845383,55.941314299320354],[-115.67300137052972,55.9320821472283],[-115.64576438417492,55.93238939414467],[-115.64546035475418,55.958188911546834],[-115.6188358564324,55.95955977279867],[-115.53781007642566,55.95898532936725],[-115.5379057868808,55.9715090018805],[-115.43447268950659,55.97251314656663],[-115.4343333333789,55.95477844944146],[-115.40826971330699,55.95541620449926],[-115.40682514447477,55.943941335096866],[-115.33767656760543,55.944207567239054],[-115.32671073068688,55.93919524880345],[-115.32746586728935,55.923728274387194],[-115.37248431251179,55.92972617442897],[-115.40646931367812,55.93012036872059],[-115.42750987856746,55.94385876240262],[-115.45389148763782,55.93320467306914],[-115.45936178792864,55.92195947724688],[-115.48856641553778,55.923048164074864],[-115.48679489002897,55.94157376719328],[-115.53703071179997,55.95465617602877],[-115.58255430226598,55.933199769890194],[-115.58984301782601,55.920127162810566],[-115.57657941800814,55.90336887473285],[-115.59957879455474,55.89855986257442],[-115.51040230053651,55.898308821962985],[-115.25276237285267,55.898739030289],[-115.25465856130002,55.80895431806384],[-115.24154208204794,55.80880157116098],[-115.24356318498627,55.635789906602845],[-114.93320668854712,55.635702437581166],[-114.92976808399354,55.80949735835595],[-114.93817062132852,55.8094647509619],[-114.93855221923283,56.04938926090265],[-114.93877621474016,56.16097932343045],[-114.94950984870559,56.16036492353667],[-114.94958253726774,56.262663012559365],[-114.94975275997886,56.5000436357494],[-115.33227907237594,56.500052390892535],[-115.33327070270832,56.48115650927374],[-115.38442889139881,56.484731705992424],[-115.39924458809539,56.482550492398964],[-115.43787861100078,56.46468448806878],[-115.4488356064301,56.47858884602475],[-115.42713451555721,56.50006775489006],[-115.43837164822902,56.50005046967038],[-115.4357660621318,56.68165417664016],[-115.43733822969847,56.76966532839153],[-114.95833532611701,56.76879927224983],[-114.9586668373575,56.8554735931652],[-114.96520971763447,56.85583524689556],[-114.96888362866676,57.08957628822223],[-114.97043181601623,57.20478710410309],[-114.97866524668441,57.20596228123237],[-114.9751412467389,57.38059839604919]],[[-117.14628493713319,56.04151642740016],[-117.12143561953265,56.04339544918072],[-117.12134895420903,56.03499686642784],[-117.14623974197224,56.03253111469575],[-117.14628493713319,56.04151642740016]],[[-116.39624282351086,56.558805564336666],[-116.3592496285704,56.561677782594785],[-116.3546037841689,56.540693335988486],[-116.3966636060709,56.53709140700675],[-116.41701614078724,56.53089627958626],[-116.42239683194946,56.54944361606975],[-116.37125957964426,56.544253371236934],[-116.36585590619828,56.550306777234105],[-116.39624282351086,56.558805564336666]],[[-116.09322538541987,56.42036819356621],[-116.163402137279,56.41810298103798],[-116.16385332024345,56.45503442060977],[-116.11723622783322,56.45232340464872],[-116.09460613389749,56.44494229063696],[-116.09322538541987,56.42036819356621]],[[-116.07195736702691,56.520986154884774],[-116.04869116457245,56.52114251256023],[-116.05440879617109,56.50380217420492],[-116.08949737480066,56.51121336643466],[-116.10384508345675,56.501048877629906],[-116.07448160657286,56.49603176836464],[-116.05069080345321,56.48713307230691],[-115.98870902524497,56.48505946559567],[-115.989123165883,56.4572563397687],[-116.01654715195423,56.45523227062463],[-116.07865431261955,56.455647690955864],[-116.07853984255277,56.464142780348325],[-116.11274089701946,56.47793512796061],[-116.10599070820113,56.49258968145472],[-116.13260802760625,56.49232607014878],[-116.12624693450688,56.520469078610745],[-116.07195736702691,56.520986154884774]],[[-116.6254137956615,56.53712621308722],[-116.44465448031949,56.53695508784149],[-116.44334622950043,56.52340802752093],[-116.42375351822903,56.523168406056634],[-116.42643369534103,56.4886361889471],[-116.40392231830177,56.47736018982908],[-116.36189443031688,56.4783308777413],[-116.38075628404137,56.46658449142005],[-116.41175157644842,56.46316635776286],[-116.62365633338442,56.46589465856231],[-116.66495424405362,56.46415275874006],[-116.6587450545725,56.53637338142206],[-116.6254137956615,56.53712621308722]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-116.10015193169205,\"lat\":56.62827515325172},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817026\"],\"csd_name_en\":[\"Northern Sunrise County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Northern Sunrise County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.3613078121039,55.023859356077914],[-113.51409566626347,55.023971015319034],[-113.51985088940697,55.11043590847988],[-113.54578839740482,55.11015514285706],[-113.54641789080961,55.1602136616636],[-113.5446842214289,55.24747813678127],[-113.54394631532845,55.460770620635195],[-113.57309016556985,55.46077943892826],[-113.57397855262289,55.63552536124603],[-113.88022227591468,55.63617743418365],[-113.93787719359088,55.635460198384976],[-114.08020118733683,55.636054553156086],[-114.31214300903271,55.63559758868453],[-114.30985364127615,55.8101189540301],[-114.54364827205112,55.809627002754674],[-114.92976808399354,55.80949735835595],[-114.93320668854712,55.635702437581166],[-115.24356318498627,55.635789906602845],[-115.24503237923517,55.46189184445122],[-115.23206809164745,55.46183517646105],[-115.23298947717937,55.37918528740024],[-115.2317860313429,55.285820392866995],[-115.07903890113495,55.28579929149719],[-115.07949729406053,55.13311999089475],[-115.078581536773,55.1116971941651],[-115.06679986020353,55.10067285296706],[-115.06975602453561,54.986511623058355],[-115.069938884781,54.850288951608086],[-114.92149015694632,54.8499592384894],[-114.46916571620905,54.85037418168723],[-114.22237279707196,54.850467749852264],[-114.25264479022408,54.82853597331896],[-114.27235202011117,54.792848771468655],[-114.28284680976142,54.78427856137036],[-114.28397430735086,54.744369171525136],[-114.28972408666027,54.73523606693493],[-114.29664140839418,54.6961687745345],[-114.32526498595574,54.67693687068484],[-114.32704279757722,54.670467654416775],[-114.30173820558733,54.64996445453698],[-114.32220164607524,54.58866666973952],[-114.02186772969976,54.588721834099864],[-113.93211685995563,54.58719989898439],[-113.68722797034991,54.58786782819045],[-113.68938268861282,54.67440115794096],[-113.69446308382885,54.74194379809854],[-113.69157086863635,54.76188180176928],[-113.6644780812338,54.76212409138126],[-113.6663202786346,54.796416497597306],[-113.66560153644576,54.936726694375224],[-113.36108152915759,54.93724948050914],[-113.3613078121039,55.023859356077914]],[[-114.6819280849974,55.279548459282886],[-114.68194781931298,55.29412664221113],[-114.65563881176072,55.286741343783795],[-114.6819280849974,55.279548459282886]],[[-114.6819280849974,55.279548459282886],[-114.70733187670882,55.27225451835522],[-114.70721405868814,55.29410382165906],[-114.69440413502612,55.29396372755139],[-114.6819280849974,55.279548459282886]],[[-114.59167612425237,55.28849823692135],[-114.61745714184197,55.28694853319367],[-114.61788265719989,55.30136635984552],[-114.59164432365755,55.30134353879823],[-114.59167612425237,55.28849823692135]],[[-114.89371468672229,55.325852763727475],[-114.85893660802638,55.309111975991904],[-114.83302448258095,55.30555176835273],[-114.82401300075114,55.29415818882536],[-114.9121949198958,55.29418286469373],[-114.91110500894042,55.31735604318353],[-114.89371468672229,55.325852763727475]],[[-114.74587699394822,55.27922262636038],[-114.76177178696156,55.265257704346595],[-114.73420430554405,55.25446709492723],[-114.76858544219907,55.250437009800585],[-114.78481633280671,55.26444543092502],[-114.8041620545756,55.26430762757861],[-114.79635461956528,55.29411096290289],[-114.7880834760776,55.298097096437445],[-114.7577600122599,55.294125907093836],[-114.74601197988162,55.286818804693226],[-114.74587699394822,55.27922262636038]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.32518984317754,\"lat\":55.22875032470452},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817033\"],\"csd_name_en\":[\"Lesser Slave River No. 124\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Lesser Slave River No. 124\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.19272754226853,49.74374364008259],[-117.22535338194363,49.75974291519745],[-117.19785479801982,49.77708742876623],[-117.19649825529717,49.783154677023965],[-117.21227553302617,49.81435039862654],[-117.22895605457147,49.82429445992741],[-117.22874248855457,49.84348380338546],[-117.18053959955357,49.87090045026895],[-117.18751368665716,49.87991448743619],[-117.1742847527714,49.8957535801045],[-117.18150728766915,49.908705170574194],[-117.17486143852462,49.92175545813138],[-117.130935608686,49.931656018680656],[-117.13235280473793,49.968261011213635],[-117.14396694830718,49.98245422494681],[-117.183243326069,49.993075554956164],[-117.18965237810349,50.025018869683926],[-117.204219146867,50.03423617692603],[-117.21347082922225,50.05884699584052],[-117.20651973813322,50.074827619903104],[-117.17358961524779,50.0942449862864],[-117.16453251352449,50.122147175209214],[-117.16680541255731,50.12844417056574],[-117.23241349478688,50.135518171113716],[-117.22646170409205,50.15537149630556],[-117.20114612778016,50.18646446595702],[-117.2189898922544,50.19519278395315],[-117.2458257665293,50.195262761889445],[-117.27511412526032,50.208872608379515],[-117.26527757895197,50.2189273424518],[-117.25987925403936,50.237673577802425],[-117.23512297539354,50.23560135374475],[-117.22124049529035,50.25335340585529],[-117.24067299533618,50.256186950260215],[-117.23373551563822,50.26763151608428],[-117.23581152790715,50.294535387411244],[-117.27938110261347,50.29039917075391],[-117.29008396373153,50.280287319119324],[-117.3112782495956,50.27728686703589],[-117.31727459867841,50.26575255708653],[-117.33913912350921,50.25933874293023],[-117.36229439031351,50.26550245981326],[-117.36827302164575,50.27820672459088],[-117.36097787030738,50.325663725705674],[-117.3931613874221,50.343112374956526],[-117.39988987090234,50.35382535695924],[-117.42795301446147,50.35320944871626],[-117.44871368775601,50.34183444853963],[-117.45742688041852,50.32094885980436],[-117.46670045626,50.27693007486639],[-117.47806631066913,50.2675374153617],[-117.50032020565335,50.26510711414147],[-117.50566764295577,50.281244564260106],[-117.52274529719577,50.28423098662201],[-117.55582235314661,50.28125613322967],[-117.58209547017803,50.2570227137449],[-117.603076426925,50.254014869329126],[-117.63836217161753,50.25860302280819],[-117.6714176891931,50.235825525216235],[-117.66337196291725,50.210913368537156],[-117.65054969074265,50.206505069279345],[-117.64334004166504,50.18431168143256],[-117.66018311646371,50.18104178039079],[-117.67771572797429,50.16870116221153],[-117.67863133136717,50.140963123782136],[-117.65421543030547,50.13511488968098],[-117.64789670030436,50.12672835773538],[-117.5995169784397,50.113964675418266],[-117.6122434815043,50.08451087096377],[-117.62439986130698,50.07851993932492],[-117.61204457469114,50.055642674456436],[-117.57267330777093,50.02709653430836],[-117.57015200865602,50.00959936310882],[-117.58050704676354,50.006985869893356],[-117.58750113276831,49.99113875440343],[-117.58333603809938,49.974518094115055],[-117.58884540499344,49.959393896392385],[-117.62522004868458,49.9523366619118],[-117.63400784505043,49.934021691419694],[-117.6315181861268,49.920042412611245],[-117.65737126600474,49.913192586860575],[-117.69507064499109,49.91962773862002],[-117.71168221280296,49.90517424768829],[-117.7045592809734,49.89034586241717],[-117.71280489780756,49.865984240088544],[-117.74249652906245,49.86435750370308],[-117.74674690392564,49.852035975164185],[-117.7456945055858,49.82713587822432],[-117.76205616348594,49.81677914610691],[-117.79901429253428,49.81228744844963],[-117.80881173457165,49.82416154360989],[-117.83283956681613,49.823926997720555],[-117.83786115587279,49.832199242956904],[-117.87275195558384,49.83608636135553],[-117.87856377913268,49.82167829887019],[-117.8930519567754,49.816246934340406],[-117.88612680817947,49.80073048933773],[-117.92955359886402,49.79889668480604],[-117.93444445035026,49.78013299471845],[-117.94585000257085,49.76690511212127],[-117.94714575870432,49.748332600990814],[-117.96309136386934,49.744241838280665],[-117.99520387276823,49.70755143810561],[-118.00349871842442,49.69211659518365],[-117.98709186250868,49.67931936178498],[-117.98721138248158,49.66469979273081],[-118.00594373403784,49.65249567135066],[-118.00082296781882,49.62994299577281],[-118.00171942683221,49.612019652193744],[-118.01006858506835,49.597775461540735],[-118.01538290262592,49.570565341737506],[-117.9987788633132,49.55966279100275],[-117.96117755557279,49.55199486181481],[-117.95277261490341,49.540771888761135],[-117.93513598947932,49.53299720411202],[-117.90341959279104,49.529748923428606],[-117.88556035524797,49.532895664032004],[-117.86861668337488,49.54629693933402],[-117.8470676137352,49.53923190552523],[-117.82329031718122,49.508740207608255],[-117.79496736260366,49.50478732562441],[-117.78339774657694,49.49907208130955],[-117.75186015468556,49.497899711305635],[-117.72730858557395,49.47984165832163],[-117.72196892546584,49.45564137523458],[-117.69170402158143,49.43350392963151],[-117.69158626887439,49.41814185486104],[-117.60150503767525,49.418427103051904],[-117.58181689500032,49.4218233386499],[-117.58114899209377,49.435366738712894],[-117.56282579155112,49.43984084142668],[-117.51885752806838,49.44004705693962],[-117.51695940987396,49.43592331791632],[-117.48273157997761,49.43592212627692],[-117.48175094518051,49.451347456271364],[-117.50836796738356,49.4509581635949],[-117.50589511342443,49.4620061427179],[-117.51678780824315,49.47986612422887],[-117.545433394722,49.48091464562069],[-117.54219156227342,49.50888403933846],[-117.55603171240719,49.524077426635394],[-117.55516500558045,49.540688685700694],[-117.52776634274979,49.557068529887026],[-117.51628654318709,49.55680344875922],[-117.50308197275824,49.5749284124576],[-117.47437538716822,49.57338397962368],[-117.4340543001212,49.58872985599586],[-117.41741664825057,49.59833483209967],[-117.42971105469775,49.609824448017456],[-117.40298783547266,49.62150529598948],[-117.39480555819952,49.634206448846534],[-117.37628532310481,49.62400269049861],[-117.36213897696086,49.62697936279961],[-117.34273836839282,49.620816541743324],[-117.32262497858976,49.62396320561771],[-117.31458775162285,49.65057990119824],[-117.31680234986028,49.67846125673364],[-117.26891154272255,49.69147611154565],[-117.25548845256698,49.68452638589626],[-117.23150764351256,49.69917104528132],[-117.19066128243792,49.69801436251737],[-117.19732445826357,49.722311433891065],[-117.19272754226853,49.74374364008259]],[[-117.35300401335412,49.95477320207441],[-117.36334870425908,49.9468297820381],[-117.36647160094554,49.9539470924299],[-117.35300401335412,49.95477320207441]],[[-117.46357228748316,49.76290579636515],[-117.47482891582952,49.76839430323266],[-117.46452197391102,49.77220856756741],[-117.46357228748316,49.76290579636515]],[[-117.37371095834767,49.996411441293375],[-117.37074274802423,49.98038043757016],[-117.38204186364372,49.980901789706195],[-117.38683474927512,49.99042689900655],[-117.37371095834767,49.996411441293375]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.53067147203188,\"lat\":49.85353983250649},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5903\"],\"cd_name_en\":[\"Central Kootenay\"],\"csd_code\":[\"5903052\"],\"csd_name_en\":[\"Central Kootenay H\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Central Kootenay\",\"csd_name_fr\":\"Central Kootenay H\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.50499699976889,50.01463478812049],[-121.51983831884121,50.00953311279616],[-121.51524623702652,49.99904647379498],[-121.50187412741633,50.00084106689894],[-121.50499699976889,50.01463478812049]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.51027732251923,\"lat\":50.0062463081704},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909805\"],\"csd_name_en\":[\"Inkahtsaph 6\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Inkahtsaph 6\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.99115055039807,49.15135420290432],[-121.99375229429326,49.14785048806881],[-121.9870678841057,49.14816815004339],[-121.99115055039807,49.15135420290432]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.990656909599,\"lat\":49.149124280338846},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909835\"],\"csd_name_en\":[\"Aitchelitch 9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Aitchelitch 9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.44821121705176,49.90842967000072],[-121.43945301602119,49.90940806648434],[-121.44529154422575,49.912526464651684],[-121.44821121705176,49.90842967000072]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.44431859243291,\"lat\":49.91012140037893},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909847\"],\"csd_name_en\":[\"Bucktum 4\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Bucktum 4\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.78876133775493,49.015989614180995],[-122.77195884413409,49.0111461717692],[-122.76001939670643,49.00540827992682],[-122.75772828046328,49.01238076651007],[-122.76257130050881,49.01658280659555],[-122.77926811413637,49.016562589499806],[-122.78876133775493,49.015989614180995]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.76879847687474,\"lat\":49.012830731060276},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5915\"],\"cd_name_en\":[\"Greater Vancouver\"],\"csd_code\":[\"5915801\"],\"csd_name_en\":[\"Semiahmoo\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Greater Vancouver\",\"csd_name_fr\":\"Semiahmoo\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.32667491486781,48.41124637800071],[-123.30057092431015,48.39323727909854],[-123.28693368105534,48.449628542292096],[-123.32060571230184,48.46713039506509],[-123.32235531477309,48.433541951661674],[-123.32667491486781,48.41124637800071]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.30787002863384,\"lat\":48.43107288292845},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5917\"],\"cd_name_en\":[\"Capital\"],\"csd_code\":[\"5917030\"],\"csd_name_en\":[\"Oak Bay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Capital\",\"csd_name_fr\":\"Oak Bay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.46808607923005,48.44915086518174],[-123.49687131220159,48.44447644535744],[-123.51382752976018,48.436474878204514],[-123.5113195054049,48.41527908762978],[-123.51802790584944,48.40275550056502],[-123.4814309831388,48.39934642494329],[-123.45702951305675,48.42620574960817],[-123.44202315582241,48.43081612527051],[-123.44339173903275,48.446054026920585],[-123.45174126691343,48.455395121555355],[-123.46808607923005,48.44915086518174]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.48150358827226,\"lat\":48.42719334363271},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5917\"],\"cd_name_en\":[\"Capital\"],\"csd_code\":[\"5917041\"],\"csd_name_en\":[\"Colwood\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Capital\",\"csd_name_fr\":\"Colwood\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.63021841524292,49.03867065561331],[-123.63752586206917,49.044745515343706],[-123.64390278231411,49.04474206866027],[-123.6355506282264,49.03830035474557],[-123.63021841524292,49.03867065561331]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.63689219485222,\"lat\":49.041663864314316},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5919\"],\"cd_name_en\":[\"Cowichan Valley\"],\"csd_code\":[\"5919811\"],\"csd_name_en\":[\"Shingle Point 4\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cowichan Valley\",\"csd_name_fr\":\"Shingle Point 4\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.5741208675747,48.97638716829603],[-125.57357466554535,48.98068240238069],[-125.57741136443428,48.978754949712],[-125.5741208675747,48.97638716829603]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.57503563251811,\"lat\":48.9786081734629},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5923\"],\"cd_name_en\":[\"Alberni-Clayoquot\"],\"csd_code\":[\"5923804\"],\"csd_name_en\":[\"Clakamucus 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Alberni-Clayoquot\",\"csd_name_fr\":\"Clakamucus 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.06873633737032,50.124993189709635],[-123.07402569634118,50.13038017044503],[-123.07761022283117,50.16059182906363],[-123.05596634367356,50.173315936322254],[-123.05864820851087,50.19253499182238],[-123.08525875154263,50.185649070688854],[-123.10966843962213,50.18794114210682],[-123.1125555726475,50.198852965924395],[-123.13239939101558,50.212589583703064],[-123.16419602213034,50.20145640768159],[-123.18366437009227,50.22840860391023],[-123.20346808488553,50.22646846316349],[-123.24109996339402,50.231404167842854],[-123.26048190265335,50.2263854987069],[-123.26704080004399,50.24067371837751],[-123.30206791043766,50.27566272757263],[-123.29569683753296,50.293926076539435],[-123.30342654658271,50.31980898748581],[-123.29117465132961,50.32667042047664],[-123.30315740656246,50.33705191809935],[-123.28865015216765,50.34847273585193],[-123.34061132935472,50.375201023235064],[-123.38301125938966,50.401091408423504],[-123.40631511570345,50.41849570252823],[-123.42632866088027,50.379803872061984],[-123.445376361587,50.36584999257489],[-123.42784599224615,50.34715803471242],[-123.451691910155,50.34090015805479],[-123.46661736588977,50.31750783815498],[-123.46183909691068,50.30171974360119],[-123.50051182993413,50.281946001948015],[-123.50835479373454,50.272362244646445],[-123.54711933107289,50.270210946990275],[-123.58036157102009,50.25873246979962],[-123.58461507281463,50.249991373979285],[-123.61510425518757,50.24629769092582],[-123.63181795458344,50.22968772356153],[-123.63988443925912,50.21253250308837],[-123.63259522654637,50.20386759998208],[-123.6460359669701,50.19702076289575],[-123.6478220747492,50.18700426504958],[-123.63505764536745,50.17564078429242],[-123.60042959627424,50.17717172612742],[-123.5813311144481,50.1739640577815],[-123.58110084398409,50.1537758560503],[-123.59580929587676,50.14111147998372],[-123.58989008353787,50.123165944552824],[-123.61854279995454,50.09866640691068],[-123.649061953643,50.084795808298125],[-123.62691210641309,50.07009638270082],[-123.61517449097964,50.055826289115025],[-123.63797141142582,50.04955317476986],[-123.6304323940443,50.03793947303259],[-123.6432161990079,50.02855730088802],[-123.63067967977688,50.01219828169211],[-123.63027621826107,50.000077426198715],[-123.60485958401011,50.01248523242562],[-123.59857242320099,49.9998113349547],[-123.60545296812634,49.99101201599215],[-123.60227468611578,49.97674630660973],[-123.58626074801428,49.97111779362901],[-123.60362352703447,49.94361981873949],[-123.6201713520494,49.930668601800214],[-123.60274330853706,49.92293209782609],[-123.54934816336274,49.916552011653934],[-123.56499680326286,49.90531643132075],[-123.56907755329854,49.87991974171258],[-123.58703742025521,49.861371848864344],[-123.57813556000248,49.84578422273466],[-123.5496614316315,49.83858557238831],[-123.5503056808505,49.871070948290566],[-123.48794732337186,49.911352887311715],[-123.45714260894215,49.910442727394276],[-123.44759349897336,49.902746484485874],[-123.42795160402778,49.900927918592586],[-123.41661945114129,49.87910768740199],[-123.3991204835555,49.881232227824185],[-123.37113478472821,49.866057849722836],[-123.32841734701526,49.851443426159754],[-123.33331084286402,49.827328437963374],[-123.30522437361002,49.79650951476816],[-123.3006782367203,49.77803450969996],[-123.27250845045207,49.77091700854779],[-123.28383963956456,49.75995598532383],[-123.28061456164018,49.74667241716536],[-123.30300648771797,49.750053245570996],[-123.33573019853627,49.747313710478174],[-123.33552367111764,49.73486681397662],[-123.31982098347403,49.7237087084932],[-123.36401573103879,49.67435125918894],[-123.35160869557859,49.66567098141773],[-123.3362542220485,49.65377815827913],[-123.3190366093276,49.63152380263754],[-123.29406499836286,49.610063211187125],[-123.28744114016538,49.5947356463016],[-123.27689368983012,49.59075742864389],[-123.27636205988686,49.569097538742156],[-123.24501630733718,49.57628971813421],[-123.27009203498618,49.52106405996887],[-123.27486868816247,49.48110287112881],[-123.10280206154651,49.4821966935482],[-123.10230746179492,49.547783572406665],[-122.92421431524488,49.54842971557776],[-122.94504470848462,49.5705427449884],[-122.87775138555423,49.572757945302705],[-122.81608574841671,49.57235386256782],[-122.8355773434717,49.599656416699524],[-122.82772198025063,49.612804538350915],[-122.81136175933952,49.61923292675175],[-122.82833425344855,49.64304450114383],[-122.83122868405027,49.658086384086246],[-122.8524273292758,49.67150864495653],[-122.81528885868092,49.69630885884966],[-122.81420399155287,49.711243938650796],[-122.83466252520364,49.729904170252674],[-122.8553108326616,49.74346152404376],[-122.85579436985184,49.75617960649204],[-122.87143619670208,49.77047192629149],[-122.86759044325726,49.775663228031625],[-122.88991258343998,49.80195424031206],[-122.87367107385128,49.81847795159122],[-122.880550753375,49.82699457218065],[-122.90194464428299,49.82465259726052],[-122.92490854989938,49.83198750463921],[-122.964654188915,49.83499511243596],[-122.98524343300961,49.85747455511842],[-123.00248067138264,49.856107236009294],[-122.97389329838163,49.88279946369638],[-122.96201255239237,49.90257664633004],[-122.93648257666872,49.917408009381404],[-122.91635487997868,49.91313602689557],[-122.89656566974934,49.89481837256128],[-122.86993473161571,49.90351494753698],[-122.85061799626564,49.91861036165716],[-122.80056069712788,49.92060048542762],[-122.79540779740272,49.93617978477893],[-122.76779367231723,49.932710253335756],[-122.76122811661133,49.94796672187641],[-122.72366454495314,49.95428023953114],[-122.68689469419314,49.97293450984853],[-122.6803038352416,49.98123414949182],[-122.6868641461095,50.002632011902435],[-122.67945282743293,50.02264473476505],[-122.72148995127436,50.02436875872932],[-122.74060613605056,50.016782374686514],[-122.76478426081289,50.023270224362456],[-122.77335061418796,50.03658912899548],[-122.79184177806052,50.0411029817133],[-122.79149737457128,50.02999887236359],[-122.81243986408538,50.01317956224466],[-122.8434326443272,50.01186559275287],[-122.86947286006469,50.01955470374578],[-122.88482692990863,50.032723079129475],[-122.91631570409766,50.04018783490319],[-122.978655652892,50.04036518653064],[-122.978297125054,50.02591201432369],[-123.05826712857903,50.02701627976825],[-123.09592119523184,50.03328248420495],[-123.11354481660453,50.04058902706056],[-123.15055881990104,50.03994722028362],[-123.15497943308938,50.10170663526393],[-123.10143882720111,50.10149966206754],[-123.06873633737032,50.124993189709635]],[[-123.1939291078072,49.794034764637885],[-123.21321413921855,49.80226625194233],[-123.21790441656597,49.81927555823096],[-123.22726444362382,49.82908836104631],[-123.22088145348492,49.84110875902097],[-123.248122424869,49.85669385735056],[-123.24442632328812,49.87176148472376],[-123.22425151795873,49.87112017977315],[-123.22410222614737,49.858728606450086],[-123.2138682863276,49.84615149596602],[-123.20260180661352,49.845942145836744],[-123.20303407973545,49.82448126980773],[-123.1979568796342,49.81148849220008],[-123.16236240191486,49.81074870082249],[-123.16054126972722,49.831133866413985],[-123.18824711042097,49.873372222083354],[-123.1502352202379,49.87420956954254],[-123.15059500801033,49.85698398667132],[-123.14201389568146,49.839754945718006],[-123.1313392759339,49.8397532759649],[-123.1267227792899,49.81834499241533],[-123.118617158656,49.81809395327563],[-123.11749078284396,49.79231169695659],[-123.089380163346,49.77890817468506],[-123.0932421065477,49.750032885647585],[-123.09002061313288,49.72670073913442],[-123.01640122138525,49.72745392638395],[-123.01547198647968,49.70907364604704],[-123.09115570151359,49.70891603569894],[-123.12794093460786,49.695672792896495],[-123.12995175060142,49.68127237044768],[-123.15042024934694,49.68130813204926],[-123.1566662838512,49.661734007192116],[-123.18053404686333,49.65727622133501],[-123.20256868309637,49.639489634388006],[-123.22249545080334,49.638774966759506],[-123.22955551377045,49.647771198539864],[-123.21313695037058,49.66056307282776],[-123.18301422656366,49.66256372613545],[-123.16442974087863,49.67935686823806],[-123.21030159873462,49.68122513544777],[-123.18984218707891,49.70333246333821],[-123.18886842382634,49.7187701154389],[-123.17691547368278,49.718851157935504],[-123.15999172209129,49.75310532670585],[-123.17848821662037,49.76461727934791],[-123.1939291078072,49.794034764637885]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.21356968241084,\"lat\":49.93310252275744},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5931\"],\"cd_name_en\":[\"Squamish-Lillooet\"],\"csd_code\":[\"5931021\"],\"csd_name_en\":[\"Squamish-Lillooet D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Squamish-Lillooet\",\"csd_name_fr\":\"Squamish-Lillooet D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.86838240513212,50.74352180134918],[-121.88320583237696,50.745056252863336],[-121.87748143471796,50.73667624084273],[-121.86918977254955,50.73967077774323],[-121.87117228497762,50.74214758596765],[-121.86838240513212,50.74352180134918]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.8758199255913,\"lat\":50.741357852722416},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5931\"],\"cd_name_en\":[\"Squamish-Lillooet\"],\"csd_code\":[\"5931842\"],\"csd_name_en\":[\"Fountain 1B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Squamish-Lillooet\",\"csd_name_fr\":\"Fountain 1B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.92154990607571,50.92464755153206],[-120.09601664477599,50.92504244967237],[-120.09542328609926,51.011408909042316],[-120.11418639437898,51.011403850092265],[-120.11476046961579,51.04146615735182],[-120.1110072909168,51.06777032928585],[-120.13569835961907,51.0684787726165],[-120.1351155162026,51.102104457837555],[-120.1699273955792,51.100550100044956],[-120.17343186891426,51.09360933655211],[-120.22059476446849,51.09420906194166],[-120.34498405723147,51.09197580567537],[-120.55730203582421,51.08872382494201],[-120.55670226084,51.04067114127918],[-120.5596014267523,51.02859665413908],[-120.51343356028907,51.028320980905924],[-120.51263876263242,51.01454163191363],[-120.46663198976164,51.013132245978376],[-120.46812023397472,50.9970884721479],[-120.51101966822048,50.99436527243426],[-120.50936387866246,50.96802423512184],[-120.4634832171274,50.952745174095774],[-120.45552361565625,50.96070273334892],[-120.41854444291734,50.93867037259102],[-120.42919533547978,50.92616888420289],[-120.39531794178758,50.919495185826],[-120.38733018395246,50.90917084972367],[-120.35672478656464,50.89489277013198],[-120.33406841076665,50.89462632473785],[-120.33385385128575,50.88076461997577],[-120.31278582056164,50.88140459953316],[-120.31176328646212,50.86622761374369],[-120.28872120529816,50.866542132025884],[-120.26052625711819,50.85566703648687],[-120.26030003928203,50.838470522932674],[-120.27648104248122,50.83046803306541],[-120.27751218220347,50.80825705266288],[-120.30070960807794,50.80064011976846],[-120.30088277216662,50.78150923651867],[-120.1761246138965,50.78023762108498],[-120.17857740173227,50.678201001289075],[-120.20970153701757,50.67306505985461],[-120.15467440748293,50.67181128288545],[-120.12489450507249,50.664179202721805],[-120.06732760601226,50.65736720563495],[-120.04199037752775,50.65818407519424],[-120.0291780074087,50.65892949434624],[-119.99801961052067,50.64814545953516],[-119.95518073070001,50.65292086353276],[-119.91499671005435,50.64515326348166],[-119.89203481876255,50.65181567279568],[-119.854669919977,50.67214055031157],[-119.83966522487086,50.67356055214155],[-119.80529231883801,50.6999536941561],[-119.7913871637658,50.71387200192674],[-119.76892542210523,50.7263175136917],[-119.7632200885262,50.73916140943444],[-119.75882672862039,50.74981985314408],[-119.78027690817468,50.769899761402016],[-119.76066181554167,50.79133267074441],[-119.75887558660052,50.822392153583664],[-119.75310230081035,50.83746475731673],[-119.69788547698136,50.83710517241651],[-119.72266702587886,50.80588096932372],[-119.71690462000221,50.79513105593832],[-119.72111376978012,50.780820828823906],[-119.71642498797507,50.7858380009823],[-119.71346261541736,50.7947298003234],[-119.72117321354078,50.805494903136974],[-119.70926818319866,50.82114535109899],[-119.68991719821457,50.83064591863978],[-119.64449960100727,50.84816696235898],[-119.60996142557744,50.87006325025438],[-119.6281951106276,50.87862106391267],[-119.64958725780389,50.85898682865351],[-119.66419384683739,50.86772658977897],[-119.6643512942585,50.92539225803596],[-119.64232267416841,50.9257101983188],[-119.65601652641274,50.939064470829955],[-119.66906782293843,50.9582727000753],[-119.67569360989788,50.97007807531837],[-119.70453126624193,50.98370475601514],[-119.80401486354242,50.98402291623459],[-119.8043607496601,50.924590619456716],[-119.92154990607571,50.92464755153206]],[[-119.92154990607571,50.92464755153206],[-119.83232960679308,50.88863406840274],[-119.83017883944895,50.86621008657413],[-119.85576411343577,50.86572539797189],[-119.8725986441273,50.86012095614061],[-119.91390564731269,50.85854725925117],[-119.91881877347876,50.87321458966858],[-119.93079360017069,50.87216878810965],[-119.96148377789284,50.91441881638423],[-119.92154990607571,50.92464755153206]],[[-120.23115346817904,51.00620643165527],[-120.23774595218991,50.968304101362676],[-120.26290426393058,50.96820237132108],[-120.2507276047705,50.983778289557925],[-120.24489129662079,51.006454947633664],[-120.23115346817904,51.00620643165527]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-120.08871903015734,\"lat\":50.87947676653501},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933044\"],\"csd_name_en\":[\"Thompson-Nicola P (Rivers and the Peaks)\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Thompson-Nicola P (Rivers and the Peaks)\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.09117961985113,50.227139782038336],[-121.09972009934718,50.2268582635622],[-121.09184030373049,50.20695022010663],[-121.0805301083719,50.2073961857411],[-121.08250718019431,50.225240040805836],[-121.09117961985113,50.227139782038336]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.08899646720215,\"lat\":50.217525423769985},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933808\"],\"csd_name_en\":[\"Nooaitch 10\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Nooaitch 10\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.91082462670296,50.74374188889629],[-120.87882997123612,50.749183441966736],[-120.95146385406792,50.87542934574005],[-120.96996249863838,50.87142319272954],[-120.97927073955326,50.88236815427925],[-121.00869742342952,50.885104065575206],[-121.01685514312194,50.892917164341505],[-121.03905156625711,50.8753668069308],[-121.01443290885278,50.83754658399612],[-120.99270180031459,50.80539067095627],[-120.9508003299923,50.775545251521876],[-120.95735640112956,50.76891178052805],[-120.91082462670296,50.74374188889629]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-120.95921543686013,\"lat\":50.82038057685801},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933817\"],\"csd_name_en\":[\"Skeetchestn\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Skeetchestn\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.31820207673029,50.62068481740172],[-121.31070844055755,50.634132547526455],[-121.31203740438788,50.64736685990289],[-121.32749009107475,50.648037928329366],[-121.32750895201515,50.62878280715286],[-121.33712182576497,50.60889830633698],[-121.33023609925571,50.60928391384157],[-121.32110078871632,50.62171829956919],[-121.31820207673029,50.62068481740172]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.32220729413096,\"lat\":50.63109088364054},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933828\"],\"csd_name_en\":[\"Basque 18\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Basque 18\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.58120018430081,50.23629996352821],[-121.57201295179283,50.23466921225674],[-121.57214190870648,50.238504278536375],[-121.57893243529519,50.23811547413406],[-121.58120018430081,50.23629996352821]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.57568648864388,\"lat\":50.23677411483245},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933832\"],\"csd_name_en\":[\"Klickkumcheen 18\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Klickkumcheen 18\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.64156191639974,50.29799189190798],[-121.65023343189361,50.317378248980155],[-121.6562311497527,50.31694704088969],[-121.65045579411344,50.297676164489644],[-121.64156191639974,50.29799189190798]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.64938595056694,\"lat\":50.30689292674313},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933841\"],\"csd_name_en\":[\"Lytton 9A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Lytton 9A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.31245432664745,50.70867157236477],[-121.29567851573572,50.699855665961145],[-121.28511990079188,50.70882772854002],[-121.28200423884108,50.73459867299791],[-121.31215530321813,50.734968413274544],[-121.31124380441807,50.75662821944456],[-121.34430470142044,50.756939541327654],[-121.34427777178314,50.73289621141286],[-121.3281180490541,50.72785835418427],[-121.3246207145598,50.726649741488266],[-121.30156975505801,50.719598799127766],[-121.31245432664745,50.70867157236477]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.31329605222292,\"lat\":50.73205104148321},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933845\"],\"csd_name_en\":[\"105 Mile Post 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"105 Mile Post 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.35713671670881,50.41597999715688],[-121.35421734120918,50.41616757637168],[-121.35486540224369,50.417776895366146],[-121.3580733976805,50.4168781838913],[-121.35713671670881,50.41597999715688]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.35596666808884,\"lat\":50.416744721805586},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933895\"],\"csd_name_en\":[\"Shawniken 4B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Shawniken 4B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.37552530261513,50.0050541288123],[-119.32959652454956,50.01609469152173],[-119.28851089810948,50.01569692582189],[-119.28914975663182,50.026822508034776],[-119.31773480950376,50.034084985309406],[-119.31718050398186,50.066484134774505],[-119.33918290555353,50.066693299287685],[-119.33804018425583,50.092308450295526],[-119.32791126948182,50.09269341362674],[-119.32789685321062,50.113450010459765],[-119.33757548037687,50.11337981881085],[-119.34812668105303,50.12844348447495],[-119.34750089791531,50.151305159135454],[-119.4196278662286,50.151364341754636],[-119.45316062829207,50.150748904886704],[-119.47431653510567,50.149953005047855],[-119.47647474597898,50.12740531245972],[-119.47259275548669,50.10807796796571],[-119.46978023394938,50.04892290848108],[-119.47382015028958,50.04064131155761],[-119.46289518659296,50.00436034184074],[-119.40288223707964,50.00540458063751],[-119.3991406314323,50.02011463317419],[-119.37465322340374,50.019994689203145],[-119.37552530261513,50.0050541288123]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.39979064544933,\"lat\":50.077053857201996},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5935\"],\"cd_name_en\":[\"Central Okanagan\"],\"csd_code\":[\"5935016\"],\"csd_name_en\":[\"Lake Country\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Central Okanagan\",\"csd_name_fr\":\"Lake Country\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-119.21385723700705,50.32097939433439],[-119.22695194375817,50.320268593385954],[-119.22639484404556,50.29915549165136],[-119.21148854402061,50.29959194855],[-119.20548397146794,50.31095533461275],[-119.21385723700705,50.32097939433439]]],[[[-119.23315781370283,50.283162099880556],[-119.25376791951672,50.281921898336726],[-119.26013852200629,50.29048049380641],[-119.28658251964855,50.29553266782334],[-119.28475322052839,50.30326698508262],[-119.3064119058641,50.302899059592896],[-119.30615303987419,50.28945258928884],[-119.32987234463094,50.28919152108069],[-119.33108426930131,50.27477835530405],[-119.35162935560078,50.27436904831955],[-119.35221760895134,50.26009758267191],[-119.37950784130632,50.25938285635323],[-119.38043817460098,50.25294463839404],[-119.41898009405095,50.2528537102079],[-119.4301611352332,50.241746811808206],[-119.42012971114077,50.21702519217498],[-119.43290768902538,50.20063165947925],[-119.45400256810896,50.18656818409766],[-119.45316062829207,50.150748904886704],[-119.4196278662286,50.151364341754636],[-119.42034542180909,50.17314310185315],[-119.40979220992884,50.180405146862185],[-119.35363854192956,50.181090058095215],[-119.35320837260772,50.20907455952384],[-119.33136897725674,50.20897993187431],[-119.31247670076662,50.202187808699755],[-119.29685854425,50.21113208732432],[-119.29005183686485,50.223248450928544],[-119.28252623270062,50.23804642174293],[-119.25168113511606,50.23847166566935],[-119.24819192027691,50.245431633597505],[-119.24537538937825,50.263722311392485],[-119.23315781370283,50.283162099880556]],[[-119.34835956940005,50.24827396405709],[-119.33083920645338,50.24844973988202],[-119.33066218070952,50.2457300456885],[-119.34581302499156,50.245626849517244],[-119.34835956940005,50.24827396405709]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.34530275993775,\"lat\":50.2341948150425},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5937\"],\"cd_name_en\":[\"North Okanagan\"],\"csd_code\":[\"5937014\"],\"csd_name_en\":[\"Vernon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"North Okanagan\",\"csd_name_fr\":\"Vernon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.27788178506407,50.34037685783297],[-119.27768885310698,50.35149425723808],[-119.30602460215341,50.36930754132604],[-119.30856992585132,50.405177809250475],[-119.31786342611008,50.416146245596984],[-119.35239100234091,50.41617074052406],[-119.34149254200376,50.404706398089075],[-119.34184300355393,50.346904702065544],[-119.36933025464546,50.33920887341883],[-119.38096274816795,50.32502749126458],[-119.40343947077206,50.314318669653694],[-119.44865634568767,50.314297266899004],[-119.44941816980247,50.27468367098536],[-119.45913874079571,50.26022073711816],[-119.45948306650239,50.23123764330253],[-119.46075721894688,50.21119038524712],[-119.43684883836325,50.22580615510996],[-119.45086281083934,50.245625472638885],[-119.44321733417675,50.26974877060015],[-119.42714511754127,50.269698851479234],[-119.39226380381977,50.28329435673302],[-119.39218273861401,50.297876853805576],[-119.37037694215432,50.310637769650846],[-119.34449522941561,50.33305764655967],[-119.30595810895932,50.34021436773495],[-119.33062644032216,50.31552566266023],[-119.35892523503526,50.30148016440852],[-119.35799110631915,50.29650675472331],[-119.3996696096197,50.263892354379166],[-119.41898009405095,50.2528537102079],[-119.38043817460098,50.25294463839404],[-119.37950784130632,50.25938285635323],[-119.35221760895134,50.26009758267191],[-119.35162935560078,50.27436904831955],[-119.33108426930131,50.27477835530405],[-119.32987234463094,50.28919152108069],[-119.30615303987419,50.28945258928884],[-119.3064119058641,50.302899059592896],[-119.28475322052839,50.30326698508262],[-119.28694831725775,50.31544876144762],[-119.27788178506407,50.34037685783297]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.35981367168735,\"lat\":50.316630779541},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5937\"],\"cd_name_en\":[\"North Okanagan\"],\"csd_code\":[\"5937801\"],\"csd_name_en\":[\"Okanagan (Part) 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"North Okanagan\",\"csd_name_fr\":\"Okanagan (Part) 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.23002327845471,50.38397196148777],[-119.22873151891638,50.39061212140011],[-119.23825325702151,50.39058242554606],[-119.23859705311013,50.38396992431531],[-119.23002327845471,50.38397196148777]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.23389120229889,\"lat\":50.38734177274753},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5937\"],\"cd_name_en\":[\"North Okanagan\"],\"csd_code\":[\"5937805\"],\"csd_name_en\":[\"Harris 3\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"North Okanagan\",\"csd_name_fr\":\"Harris 3\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.23518654533142,51.794299916406175],[-122.24771962239986,51.784277957201056],[-122.20553764033063,51.78509469622604],[-122.20447070892828,51.79378226196976],[-122.23518654533142,51.794299916406175]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.22381154176173,\"lat\":51.78913682592378},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941801\"],\"csd_name_en\":[\"Alkali Lake 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Alkali Lake 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.91507615451997,52.151209207370755],[-123.91686437420566,52.15029557172605],[-123.91486085607619,52.14919527476454],[-123.91285063054764,52.1502183439158],[-123.91507615451997,52.151209207370755]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.91489247324391,\"lat\":52.150219728994536},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941879\"],\"csd_name_en\":[\"Michel Gardens 36\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Michel Gardens 36\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.48470183806651,52.58872106806098],[-122.5039123920667,52.59414637506765],[-122.50639532462566,52.55803911125881],[-122.48340286661136,52.55721162127653],[-122.47599354029799,52.567861068157505],[-122.48470183806651,52.58872106806098]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.49288757839561,\"lat\":52.57366185577363},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941882\"],\"csd_name_en\":[\"Alexandria\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Alexandria\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-126.55279928653542,52.61969878061118],[-126.57340033229605,52.622971737905466],[-126.59916126077734,52.59166127121889],[-126.64431122308983,52.57917611177711],[-126.65771996053941,52.59384451533889],[-126.68761624156303,52.59491217808546],[-126.72334982969541,52.57376670470638],[-126.73939216884482,52.584297732361286],[-126.75355485727445,52.56431265525701],[-126.78564220596681,52.543055840212695],[-126.78376138661828,52.53420584362099],[-126.82723152752256,52.48473396854788],[-126.8682800955877,52.49365395353628],[-126.8759191029425,52.429355585668425],[-126.87922798113314,52.380265205326225],[-126.8775118471354,52.3258881026616],[-126.90299490276266,52.29285597468953],[-126.90154592086517,52.284101624509425],[-126.87153193274673,52.249932795467544],[-126.84693970878644,52.23777956695655],[-126.81625172675652,52.23646058295666],[-126.81206060166805,52.223698929637294],[-126.77770243723212,52.22315441021751],[-126.76396049250765,52.21177609831473],[-126.74611040184342,52.21425867818802],[-126.76034783643641,52.23094844459222],[-126.77130070881613,52.23249483041753],[-126.77699160357366,52.256985610270284],[-126.769210600815,52.268456347029996],[-126.77300121636141,52.30233476693757],[-126.76212496170596,52.32309836789153],[-126.75256532836234,52.369364233969456],[-126.76760770300737,52.38417839009115],[-126.7482774862344,52.39357420710412],[-126.73939050422682,52.4074157089976],[-126.71173860578455,52.42908648991529],[-126.68285570097775,52.458341185481295],[-126.68194399494519,52.47817759838928],[-126.66021261641372,52.49822049393236],[-126.65704490675878,52.51771079976168],[-126.6708114819006,52.53075949474137],[-126.65895789977327,52.548616112806116],[-126.63175190116712,52.56084516081699],[-126.58213452098073,52.574704741537786],[-126.55563205258352,52.59027594183804],[-126.55910812370703,52.60421254952449],[-126.55279928653542,52.61969878061118]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-126.774883457322,\"lat\":52.42316073161692},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5945\"],\"cd_name_en\":[\"Central Coast\"],\"csd_code\":[\"5945014\"],\"csd_name_en\":[\"Central Coast E\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Central Coast\",\"csd_name_fr\":\"Central Coast E\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-129.25270966599805,53.425954766206665],[-129.24288349465334,53.4237643564479],[-129.24361946604648,53.43072488821551],[-129.25542801021547,53.427541386184856],[-129.25270966599805,53.425954766206665]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-129.24762037127383,\"lat\":53.42718084476929},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5947\"],\"cd_name_en\":[\"Skeena-Queen Charlotte\"],\"csd_code\":[\"5947802\"],\"csd_name_en\":[\"Kulkayu (Hartley Bay) 4A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Skeena-Queen Charlotte\",\"csd_name_fr\":\"Kulkayu (Hartley Bay) 4A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-126.14350612141926,54.81850827945384],[-126.15308943083993,54.818607989354206],[-126.15683044200173,54.814252593349565],[-126.13944812950484,54.81514148083557],[-126.14350612141926,54.81850827945384]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-126.14843185505934,\"lat\":54.81643425627647},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951829\"],\"csd_name_en\":[\"Babine 25\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Babine 25\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-135.35786302897677,63.915860748228944],[-135.35751312241447,63.89329628715607],[-135.33522217079366,63.884644549327795],[-135.15739939283915,63.913171625579835],[-135.1537069585388,63.92616760442835],[-135.18719696790546,63.94320440980507],[-135.2570353420083,63.948210332489865],[-135.23543365474288,63.96013169513311],[-135.24756931622662,63.96842970296128],[-135.28095265158692,63.95884840921196],[-135.3083739892695,63.942022132349045],[-135.33355027632956,63.937221715491674],[-135.33931722708465,63.92251163083866],[-135.35786302897677,63.915860748228944]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-135.26446596366344,\"lat\":63.9221449573124},\"year\":\"2021\",\"prov_code\":[\"60\"],\"prov_name_en\":[\"Yukon\"],\"cd_code\":[\"6001\"],\"cd_name_en\":[\"Yukon\"],\"csd_code\":[\"6001052\"],\"csd_name_en\":[\"Keno Hill\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Settlement \\/ \\u00c9tablissement\",\"prov_name_fr\":\"Yukon\",\"cd_name_fr\":\"Yukon\",\"csd_name_fr\":\"Keno Hill\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.80755934130813,47.41664730245847],[-53.77918555410092,47.43084131614183],[-53.74755086121805,47.44208847205855],[-53.72137839987052,47.46134448664044],[-53.73995308073132,47.4713217739006],[-53.76514198878169,47.45420900773541],[-53.84006753962215,47.433585474231855],[-53.86328470683329,47.437301507859914],[-53.86996220049745,47.42903079409534],[-53.829301894483045,47.42663498287673],[-53.816089519915224,47.421289695768586],[-53.80755934130813,47.41664730245847]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.786406777452285,\"lat\":47.441060149510946},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001263\"],\"csd_name_en\":[\"Long Harbour-Mount Arlington Heights\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Long Harbour-Mount Arlington Heights\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.96046438559113,47.83874540511182],[-53.89282020138223,47.83941902250022],[-53.89638549513977,47.8446485033305],[-53.93102690136241,47.850017988139875],[-53.912247700664594,47.85778998478827],[-53.881247804907396,47.850990200781],[-53.864600563088,47.83190357336908],[-53.86549186996489,47.891298567475445],[-53.95022416597317,47.90799635599207],[-53.94973202472549,47.89756284307479],[-53.958697321428325,47.86076919473913],[-53.96046438559113,47.83874540511182]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.91377126895292,\"lat\":47.87080962201711},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001277\"],\"csd_name_en\":[\"Sunnyside\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Sunnyside\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.66783502900548,47.539845629211065],[-53.660979721147996,47.564331197705066],[-53.6750472873733,47.57451980330732],[-53.68247150668291,47.596293402904244],[-53.69694369235222,47.58751209210212],[-53.722070504423534,47.564322900633464],[-53.720647649320405,47.546747351345765],[-53.70400331528698,47.53795780551101],[-53.66783502900548,47.539845629211065]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.691685341894,\"lat\":47.561420257717586},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001285\"],\"csd_name_en\":[\"Norman's Cove-Long Cove\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Norman's Cove-Long Cove\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.254570335374574,47.55734851274396],[-53.27118930885502,47.56481675821606],[-53.28615419910001,47.554757213694124],[-53.334049510108734,47.52312689530869],[-53.339753342559966,47.509150736060384],[-53.30111915968141,47.51246331778338],[-53.29536039179858,47.51881380584994],[-53.27805850989483,47.53215455196366],[-53.26753761663264,47.54961974637903],[-53.254570335374574,47.55734851274396]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.29810773482692,\"lat\":47.533826272413016},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001429\"],\"csd_name_en\":[\"Clarke's Beach\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Clarke's Beach\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-53.097995834353476,47.457778299751695],[-53.10559361187636,47.46124851066636],[-53.15263614398067,47.5401935792934],[-53.16651611845531,47.52543826727112],[-53.198700244077635,47.505018069437014],[-53.21825570012716,47.49867628626211],[-53.25308682021407,47.477509205162974],[-53.26499126613796,47.466178084351945],[-53.231454097540244,47.476471321889626],[-53.21467723580437,47.476555770187154],[-53.21035990974621,47.46152810101746],[-53.19368761927806,47.47373739506767],[-53.1773082977682,47.505235986454885],[-53.16908580741231,47.507857710674905],[-53.16293559561592,47.495601296053714],[-53.16506540652575,47.46916579829507],[-53.188896510033416,47.45227170022181],[-53.20730412836239,47.44470384161683],[-53.20570621289643,47.43706939304607],[-53.180726738205244,47.437284982782785],[-53.16772570356032,47.45190070295376],[-53.13666819993116,47.44836270614376],[-53.12722121471136,47.42883628221676],[-53.150875992754116,47.40036370845989],[-53.139916101628216,47.399762304511775],[-53.12811471045296,47.385963499537695],[-53.11828579121255,47.4191579946148],[-53.105514705602126,47.44627589418254],[-53.09582454345113,47.45678594225937],[-53.097995834353476,47.457778299751695]]],[[[-53.297113813868364,47.40698769217603],[-53.30426271754635,47.41498696087062],[-53.28253710926496,47.44122839013776],[-53.28029456583504,47.449575232435144],[-53.34244623984018,47.39161755410008],[-53.339051687630544,47.378051026955],[-53.35199902745341,47.37469393352522],[-53.36454036298745,47.36916093816348],[-53.360945551977025,47.35423226755513],[-53.34213647451881,47.344771020757435],[-53.340557251777575,47.33225580535309],[-53.32710721163745,47.311187310363344],[-53.35179219887091,47.305954473790266],[-53.35273987925993,47.293359918392305],[-53.32332984331856,47.299494852332764],[-53.28502836607238,47.32534106013264],[-53.27051004387574,47.30583468190029],[-53.272171869989656,47.293622508640865],[-53.24529521343947,47.28156808910882],[-53.24591353280195,47.29677355874964],[-53.22088359274368,47.33657271020031],[-53.207232983356825,47.34646515702582],[-53.2172883097785,47.35826299442273],[-53.228307531088966,47.3581893259359],[-53.26516449544517,47.374130403568145],[-53.2737977771737,47.39147797464864],[-53.297113813868364,47.40698769217603]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.238982873968716,\"lat\":47.39971770742606},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001452\"],\"csd_name_en\":[\"Division No.  1\",\"Subd. O\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Division No.  1, Subd. O\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.85438237118622,47.73954509630447],[-54.821884691843735,47.65904892346349],[-54.81544179233347,47.65274648513608],[-54.78636429713498,47.66482810670438],[-54.74180732592641,47.67705018712411],[-54.746545097606884,47.72567008841502],[-54.74693443662857,47.80751688747159],[-54.74744187398665,47.863161204794295],[-54.77537967636879,47.863125670474496],[-54.877174110949205,47.86330414516747],[-54.87720041131268,47.79589367445593],[-54.85438237118622,47.73954509630447]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.8048040015656,\"lat\":47.77188411182688},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1002\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"1002030\"],\"csd_name_en\":[\"Grand Le Pierre\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Grand Le Pierre\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-57.76978704891767,48.772618647634275],[-57.7018107828448,48.82687934978256],[-57.6439022514217,48.861868626886725],[-57.572075857455495,48.896858776659265],[-57.53308282153802,48.911393884568184],[-57.49191773104393,48.91484352083051],[-57.45207665584637,48.923953609970916],[-57.4114333145532,48.941351133294575],[-57.37748813091175,48.96790938502344],[-57.35315143352942,49.000069598991],[-57.338175668410024,49.00006526518802],[-57.30240645239687,49.02580812082395],[-57.34660260839661,49.045204787587274],[-57.359694700353174,49.058922589425116],[-57.365528503162494,49.07797049713647],[-57.388895157728555,49.09663509768301],[-57.40934559715301,49.10040842403768],[-57.530201782392545,49.130691558357015],[-57.556413926314065,49.10817078454927],[-57.692835117294685,49.109417340419455],[-57.78627770120818,49.109213897136115],[-57.81860563325992,49.11745486104554],[-57.87730133675928,49.10577157171218],[-57.902487218371654,49.09611315533033],[-57.93372265142282,49.03652489163257],[-57.982304837260685,49.03273559596539],[-58.0314130952666,49.022700687187516],[-58.04222649083975,49.024208185718365],[-58.052775858038025,49.0064758419828],[-58.02204329065993,48.993505052989356],[-57.98514397507682,48.98733618152818],[-57.91620439072951,48.99789797864448],[-57.913266691192504,49.00261073441111],[-57.88309840434101,49.002553624179335],[-57.87651658508872,48.99323649198892],[-57.832784628352755,48.989978658984384],[-57.83371618585468,48.97182281049667],[-57.843337888495775,48.950072417139666],[-57.82835571222798,48.957045308587524],[-57.82276937880255,48.95029020026666],[-57.84316869500362,48.9497649025246],[-57.843968077078905,48.91882112868882],[-57.81999296014175,48.919229390885185],[-57.74036971947616,48.90949922704276],[-57.766336530055085,48.903262676255245],[-57.862006597277706,48.88636871038011],[-57.85312091162013,48.850631233332656],[-57.82161014271332,48.81971815638899],[-57.8221037821038,48.805894022661604],[-57.80098783670143,48.787615929923994],[-57.76978704891767,48.772618647634275]],[[-57.53193641537204,49.043388622862],[-57.500735139218655,49.01456990194039],[-57.50498458681232,48.99812025103404],[-57.561180911905026,48.98487191020302],[-57.63994262696665,48.98634844906756],[-57.64861991538698,49.007693299803165],[-57.642083400470426,49.01451008650866],[-57.60660571075998,49.02233831030255],[-57.57809541222814,49.04478126697147],[-57.53193641537204,49.043388622862]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-57.66301256984849,\"lat\":48.989761456160025},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1005\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"1005010\"],\"csd_name_en\":[\"Division No.  5\",\"Subd. F\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Division No.  5, Subd. F\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-57.46112872794806,49.2203027234388],[-57.34129346564821,49.30696846755054],[-57.25621790981126,49.36973982105409],[-57.305852854422575,49.38975789481684],[-57.34551299717541,49.405722020379464],[-57.40454943649591,49.34797117519708],[-57.445067512562936,49.30790674149219],[-57.5096239884103,49.27550896961223],[-57.49007545566364,49.26125400503361],[-57.493776935875715,49.25199002878807],[-57.46660341092202,49.22865010859818],[-57.46112872794806,49.2203027234388]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-57.3858547267981,\"lat\":49.31753204589639},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1005\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"1005014\"],\"csd_name_en\":[\"Cormack\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Cormack\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-58.372921608590325,49.07856019158379],[-58.38314060380647,49.0997733876218],[-58.36342397306958,49.1020717034956],[-58.35128408198688,49.11389166024671],[-58.37745210912928,49.113781234403156],[-58.40412684772723,49.130333964150715],[-58.4093586091626,49.11249489479546],[-58.42678686111238,49.103159571791544],[-58.3847892639304,49.084218166654324],[-58.372921608590325,49.07856019158379]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-58.391135524664136,\"lat\":49.10544918948769},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1005\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"1005024\"],\"csd_name_en\":[\"Lark Harbour\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Lark Harbour\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-57.799158946165576,49.840491385589615],[-57.79778097499207,49.85518231525157],[-57.77947820871426,49.86649508496112],[-57.79911734199737,49.879010152619664],[-57.83596883297825,49.88122621255746],[-57.824997997375284,49.86574578897613],[-57.830593387694556,49.849215282249915],[-57.799158946165576,49.840491385589615]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-57.809722251708926,\"lat\":49.86324379500987},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1009\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"1009020\"],\"csd_name_en\":[\"St. Pauls\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"St. Pauls\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-57.390446508136314,50.551302983067345],[-57.38713519364614,50.53350738905321],[-57.41027029506978,50.522924892811886],[-57.36706608159286,50.51656310847502],[-57.370480515051206,50.53746820711751],[-57.390446508136314,50.551302983067345]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-57.38306922708422,\"lat\":50.52969228124603},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1009\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"1009048\"],\"csd_name_en\":[\"River of Ponds\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"River of Ponds\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.76975151294261,46.06622126812501],[-62.760478749826156,46.079464599522176],[-62.7753605420329,46.10390752550358],[-62.79244718588555,46.119546525773934],[-62.82007196393284,46.11496551955119],[-62.84351892528833,46.12260620320418],[-62.83508519313671,46.12912010962297],[-62.869037589749915,46.14028032145275],[-62.892680907632325,46.13971917309551],[-62.89602108853876,46.12134470083277],[-62.922849696233996,46.11214104778395],[-63.11606404328612,46.05634177417802],[-63.146209150013604,46.01520465049889],[-63.1048563066061,46.00312833781682],[-63.058914374178414,45.97233330338372],[-63.02837463246273,45.946734619795386],[-62.97023249080883,45.907739193877696],[-62.91201053805329,45.885213177882264],[-62.868449248618916,45.874282600571185],[-62.81845886395667,45.86575810802967],[-62.75440742622554,45.858330502413715],[-62.699089817642225,45.858041797732625],[-62.69033338615883,45.8625041228916],[-62.698781218653075,45.96182232803927],[-62.71094031917737,45.99870239503357],[-62.72352071651451,45.99591699132882],[-62.731814851572494,46.012163402720866],[-62.71482916993935,46.02921193109621],[-62.74391625837511,46.040620102605104],[-62.76107276293343,46.036953633344204],[-62.76975151294261,46.06622126812501]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.8841111003231,\"lat\":45.99365797370598},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1102\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1102002\"],\"csd_name_en\":[\"Belfast\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Belfast\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.29245183866976,46.306458475600365],[-63.32146520064012,46.31551632602812],[-63.34745499707996,46.31337960090226],[-63.3514882658472,46.299761860887756],[-63.34750638258018,46.28931900574739],[-63.30921277371508,46.27827395065301],[-63.29245183866976,46.306458475600365]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.32350256789943,\"lat\":46.29888928103647},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1102\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1102020\"],\"csd_name_en\":[\"North Wiltshire\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"North Wiltshire\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.50780994041912,46.2446410919686],[-63.523700020668265,46.28635796325938],[-63.541394617525825,46.285348801467364],[-63.547525498115824,46.2730697244325],[-63.56041250267168,46.26912040687705],[-63.57987758643576,46.27729372883421],[-63.58637775214117,46.26531811188621],[-63.625481473622045,46.24408556165329],[-63.63017209427209,46.22315309543334],[-63.67909425231397,46.158540764417495],[-63.614711611238334,46.09309699082309],[-63.579253310208365,46.10018761788332],[-63.48373264676513,46.0884815671663],[-63.48959839761665,46.168328866856136],[-63.53214816235653,46.18120190012236],[-63.538797733071945,46.21336623063444],[-63.53716225198275,46.22203967320932],[-63.50275831240614,46.228468045708524],[-63.50443833106443,46.23321528639187],[-63.50780994041912,46.2446410919686]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.57335905454883,\"lat\":46.17519603105932},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1103\"],\"cd_name_en\":[\"Prince\"],\"csd_code\":[\"1103004\"],\"csd_name_en\":[\"Crapaud\",\"Part 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Fire District\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Prince\",\"csd_name_fr\":\"Crapaud, Part 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.25815192355551,45.36952281126413],[-63.27745274359754,45.36870081979423],[-63.28053142201493,45.37635292064979],[-63.30364678260379,45.37619668050203],[-63.308781040496136,45.357496197100154],[-63.304828630484124,45.33924065684864],[-63.28675350615309,45.336198258399875],[-63.28244465555793,45.32769632343766],[-63.265654014198454,45.32802327251246],[-63.25112202837482,45.30803172796526],[-63.193321573989714,45.31695190556545],[-63.21106810498906,45.34724642391059],[-63.250377156250025,45.349500480390745],[-63.25815192355551,45.36952281126413]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.25597634635563,\"lat\":45.34090199112652},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1210\"],\"cd_name_en\":[\"Colchester\"],\"csd_code\":[\"1210006\"],\"csd_name_en\":[\"Truro\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Colchester\",\"csd_name_fr\":\"Truro\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-60.99440918401566,45.97842004007382],[-61.02993240643422,46.01191106214701],[-61.04656938301626,46.0222524345072],[-61.09579418080172,46.03640150503103],[-61.11412299345563,46.0535624055819],[-61.12875212374711,46.074969313181846],[-61.153979169939866,46.094777284618644],[-61.15975902390151,46.10541604053319],[-61.19694750404419,46.13602133642825],[-61.23748516946586,46.16339677836813],[-61.270541398802514,46.17893570763428],[-61.27287831276104,46.19456439127183],[-61.289075307283355,46.22548768890458],[-61.294708494663254,46.24819529052862],[-61.30662227204754,46.24989232310467],[-61.38149857975862,46.21362547059651],[-61.445453488011296,46.18391815128962],[-61.459812139283514,46.172016042528746],[-61.47572002118995,46.150780387634676],[-61.4980314399744,46.09707998379871],[-61.57699157425936,46.036413372688294],[-61.583719086981795,45.99975336977954],[-61.65619547108812,46.00007323586653],[-61.60818367631807,45.92602982981677],[-61.528708705575895,45.94069223111471],[-61.49989359708427,45.93898619321516],[-61.47738674785059,45.946646456974904],[-61.44181216298024,45.950696526757206],[-61.41274652141718,45.9368293808646],[-61.40126321486104,45.93799070534704],[-61.37255640425153,45.95438310289482],[-61.3500611155582,45.953285503846956],[-61.336352303074,45.94797528594085],[-61.317486911712,45.954003003584],[-61.2930539901827,45.950487704933764],[-61.27194099518549,45.96885720600901],[-61.2585782191153,45.95258029274435],[-61.247008152716184,45.94671456343323],[-61.22681111825423,45.95693569174051],[-61.19370070233662,45.95480138749878],[-61.1552314887557,45.94133840586632],[-61.116600781261724,45.94422161774132],[-61.095230109359065,45.95349988929405],[-61.05578782191099,45.96075488309586],[-60.995944966893,45.974335449857556],[-60.99440918401566,45.97842004007382]],[[-61.13986374702213,45.982216342515066],[-61.12577607478567,45.951754965883076],[-61.14319480212253,45.94353652479411],[-61.159490067021565,45.977180949947986],[-61.13986374702213,45.982216342515066]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-61.33631474436861,\"lat\":46.05253131891099},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1215\"],\"cd_name_en\":[\"Inverness\"],\"csd_code\":[\"1215006\"],\"csd_name_en\":[\"Inverness\",\"Subd. B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of county municipality \\/ Subdivision municipalit\\u00e9 de comt\\u00e9\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Inverness\",\"csd_name_fr\":\"Inverness, Subd. B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-61.13986374702213,45.982216342515066],[-61.159490067021565,45.977180949947986],[-61.14319480212253,45.94353652479411],[-61.12577607478567,45.951754965883076],[-61.13986374702213,45.982216342515066]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-61.14228560012204,\"lat\":45.9636998552989},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1215\"],\"cd_name_en\":[\"Inverness\"],\"csd_code\":[\"1215008\"],\"csd_name_en\":[\"Whycocomagh 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Inverness\",\"csd_name_fr\":\"Whycocomagh 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.16607042038656,45.425218866995785],[-66.17381377209331,45.432574392370356],[-66.24747786485958,45.464351900446616],[-66.45973958577055,45.31260902302465],[-66.45948747041216,45.221930443440854],[-66.36337445900318,45.25025244589954],[-66.24543726566108,45.283373329752486],[-66.25975002972064,45.28494270150699],[-66.27645589635316,45.30601699594349],[-66.25508608319875,45.31280729655392],[-66.259328670232,45.32178474419293],[-66.28213298851199,45.334763538960566],[-66.27946854022063,45.351260650128566],[-66.30559857731882,45.3594340232095],[-66.32747759427069,45.35707705134404],[-66.3064586091178,45.39390069321381],[-66.28814411208491,45.39849261148996],[-66.27263310409926,45.38052509978521],[-66.24929558919132,45.37377537506856],[-66.20656353694902,45.33686367447893],[-66.18384234733038,45.33242051090636],[-66.17120557362394,45.30499655371627],[-66.05733880056886,45.33808018298086],[-66.12659291776298,45.36612376207884],[-66.10344308497713,45.39545156535664],[-66.15833883798146,45.41790328661635],[-66.16607042038656,45.425218866995785]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.28633346303857,\"lat\":45.343434999680845},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1305\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1305011\"],\"csd_name_en\":[\"Westfield\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Westfield\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.64419002702479,45.604420605010844],[-65.66100517030644,45.6011476591199],[-65.66442229721291,45.6114337872566],[-65.70837888380214,45.60417710276685],[-65.72994537748365,45.61054694185867],[-65.75126065410439,45.658717418886006],[-65.81435373379375,45.617145088624724],[-65.8811745879426,45.57038528215375],[-65.86301040723455,45.56251205292774],[-65.9311940747995,45.532562987055336],[-65.93516679045628,45.52406694869498],[-65.90583711565675,45.51298854488347],[-65.88513590973756,45.528720143625236],[-65.84790160828551,45.54715713926976],[-65.81123507439827,45.55885894828328],[-65.82020277238512,45.545665329688376],[-65.75712772393075,45.52006291229815],[-65.74597713236041,45.524594017541155],[-65.70429165478647,45.554437096766854],[-65.65429814912358,45.58427896989021],[-65.63657271320743,45.58739482669114],[-65.64419002702479,45.604420605010844]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.77653609287269,\"lat\":45.577890354318654},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1305\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1305016\"],\"csd_name_en\":[\"Norton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Norton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.01019531812106,45.7323788980103],[-67.00000000119648,45.7213010037785],[-66.99177329010737,45.73385547792207],[-67.01019531812106,45.7323788980103]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.00065620314165,\"lat\":45.72917845990363},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1310\"],\"cd_name_en\":[\"York\"],\"csd_code\":[\"1310005\"],\"csd_name_en\":[\"Harvey\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"York\",\"csd_name_fr\":\"Harvey\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.17062011829981,47.401728284408364],[-67.2065658123685,47.41321333961455],[-67.231605823763,47.37816761076744],[-67.268590256214,47.320005998668236],[-67.37037129389687,47.17259493081106],[-67.46979794175873,47.023874246332255],[-67.51912333420093,46.95224748802744],[-67.09020898805706,46.95324686244249],[-66.76162714956325,46.95270449822666],[-66.79594395766063,47.00355059910578],[-66.86266486479515,47.09630114956048],[-66.9434956909001,47.21318253256622],[-67.01615635202526,47.31502649791533],[-67.04823948800366,47.36272760897717],[-67.17062011829981,47.401728284408364]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.14255348229203,\"lat\":47.123486312238235},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1312\"],\"cd_name_en\":[\"Victoria\"],\"csd_code\":[\"1312011\"],\"csd_name_en\":[\"Lorne\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Victoria\",\"csd_name_fr\":\"Lorne\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.65904340931056,47.03430697596838],[-67.65406823368971,47.04036834028206],[-67.68744945107963,47.05624408879422],[-67.69937334596172,47.04370671656463],[-67.69618503749884,47.02679383577868],[-67.67588623383162,47.01702240992893],[-67.65904340931056,47.03430697596838]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.67959209463018,\"lat\":47.03683648953712},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1312\"],\"cd_name_en\":[\"Victoria\"],\"csd_code\":[\"1312023\"],\"csd_name_en\":[\"Drummond\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Victoria\",\"csd_name_fr\":\"Drummond\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.09770448266949,47.687534442794345],[-65.13118364380809,47.67970845058045],[-65.11670732804171,47.65010905926557],[-65.0822861730817,47.65844670155262],[-65.09770448266949,47.687534442794345]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.10695576913602,\"lat\":47.66886652781614},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1315\"],\"cd_name_en\":[\"Gloucester\"],\"csd_code\":[\"1315020\"],\"csd_name_en\":[\"Paquetville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Gloucester\",\"csd_name_fr\":\"Paquetville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.36768199923623,48.386025228654916],[-64.4308217456355,48.47105183736253],[-64.44930161251212,48.465050658995345],[-64.4601414147939,48.4792791417667],[-64.49602898517024,48.467760521661006],[-64.42579237538683,48.371982322944476],[-64.36768199923623,48.386025228654916]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.43179040527558,\"lat\":48.425228265653104},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2402\"],\"cd_name_en\":[\"Le Rocher-Perc\\u00e9\"],\"csd_code\":[\"2402010\"],\"csd_name_en\":[\"Sainte-Th\\u00e9r\\u00e8se-de-Gasp\\u00e9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Rocher-Perc\\u00e9\",\"csd_name_fr\":\"Sainte-Th\\u00e9r\\u00e8se-de-Gasp\\u00e9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.00519247959072,48.00001011783087],[-65.09525241154716,48.08318710095102],[-65.12344297420935,48.117943717185966],[-65.11007939555105,48.12235266037185],[-65.14676276270792,48.176627871656734],[-65.18692994119338,48.227081144566384],[-65.23331918788222,48.213435924367204],[-65.18627729636705,48.1479939292826],[-65.12663191387124,48.069904927264446],[-65.05325362896063,48.00005835890163],[-65.00519247959072,48.00001011783087]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.13247332787674,\"lat\":48.11664961516156},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2405\"],\"cd_name_en\":[\"Bonaventure\"],\"csd_code\":[\"2405015\"],\"csd_name_en\":[\"Saint-Godefroi\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Bonaventure\",\"csd_name_fr\":\"Saint-Godefroi\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.58329825016881,48.13917524965237],[-65.67603769207108,48.162049038285055],[-65.66878873726422,48.17363503809782],[-65.69560914757409,48.17377952659797],[-65.722501099203,48.1823317843892],[-65.73424299502136,48.16501836859416],[-65.74392059388896,48.168001972646074],[-65.79604953962328,48.09104728125268],[-65.81626339597084,48.00458621693444],[-65.75949408260185,48.00001204162498],[-65.72933647708662,48.00002500514195],[-65.63300171407879,48.00008208173823],[-65.62670493922049,48.04370129532734],[-65.61379493235724,48.07940204650016],[-65.60995587364661,48.0995437215061],[-65.58329825016881,48.13917524965237]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.70437211147438,\"lat\":48.0807383528569},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2405\"],\"cd_name_en\":[\"Bonaventure\"],\"csd_code\":[\"2405060\"],\"csd_name_en\":[\"Caplan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Bonaventure\",\"csd_name_fr\":\"Caplan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.23187206043839,47.95332602261884],[-67.2778670422496,48.03192162759212],[-67.37501008602746,48.195308235810565],[-67.60187731767677,48.13495780903078],[-67.6668393975665,48.11713210152024],[-67.64955570594631,48.09048769334071],[-67.6495559209886,48.08128649697455],[-67.63059158781867,48.07744654129228],[-67.58739494006102,48.04938064885561],[-67.58590825093762,48.037779903977516],[-67.59650263975219,47.998064270201205],[-67.61029893434953,47.99137212499752],[-67.6134164108562,47.97980961456453],[-67.59653726188327,47.96983276826811],[-67.60652287833776,47.96193686637488],[-67.60808306170792,47.93680607700277],[-67.56819103763043,47.921510280272855],[-67.54747749452194,47.921766843563766],[-67.52729680798713,47.91371618063885],[-67.5125274158446,47.913713052653684],[-67.4722441484552,47.89411844633494],[-67.44155157593592,47.88510840250091],[-67.43743661185472,47.88016607967514],[-67.39246004339044,47.86761690160258],[-67.38079918029992,47.854215092304095],[-67.33950477814605,47.86935102574259],[-67.33827197681568,47.8881573747203],[-67.31196218781841,47.88735863162647],[-67.35957132249865,47.964932032187065],[-67.28362632217907,47.986708595491855],[-67.23187206043839,47.95332602261884]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.45112048597171,\"lat\":48.03091866951084},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2406\"],\"cd_name_en\":[\"Avignon\"],\"csd_code\":[\"2406904\"],\"csd_name_en\":[\"Ruisseau-Ferguson\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Avignon\",\"csd_name_fr\":\"Ruisseau-Ferguson\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.13311035980657,48.55243257215085],[-68.11818720235341,48.56971078643842],[-68.12327524083078,48.58966960089569],[-68.12511611219993,48.598207971458386],[-68.2164889609789,48.55480795800597],[-68.23433770193131,48.54840729777218],[-68.1980985306399,48.529760610818585],[-68.18572124446291,48.533493061762506],[-68.16512546382623,48.520753925113354],[-68.1526994167852,48.53712013755866],[-68.15213661118504,48.54731589631285],[-68.13311035980657,48.55243257215085]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.1675293142892,\"lat\":48.55749760707496},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2409\"],\"cd_name_en\":[\"La Mitis\"],\"csd_code\":[\"2409070\"],\"csd_name_en\":[\"Saint-Joseph-de-Lepage\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Mitis\",\"csd_name_fr\":\"Saint-Joseph-de-Lepage\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.65785402248838,47.51010797449424],[-69.70440296233308,47.540283008724174],[-69.79602520445209,47.48645474353197],[-69.82837447277205,47.47033879047783],[-69.79397505009742,47.44816797790627],[-69.79844301534227,47.44515226619258],[-69.67943923904274,47.3667683676899],[-69.5886023647136,47.43126561304431],[-69.56521660656178,47.44811565686705],[-69.65785402248838,47.51010797449424]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.69485274081838,\"lat\":47.45495705407389},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2414\"],\"cd_name_en\":[\"Kamouraska\"],\"csd_code\":[\"2414010\"],\"csd_name_en\":[\"Saint-Bruno-de-Kamouraska\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Kamouraska\",\"csd_name_fr\":\"Saint-Bruno-de-Kamouraska\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.13172625152642,47.4726093272398],[-70.21265603961763,47.50828765033111],[-70.22375914105619,47.527928902155004],[-70.27147159315317,47.56754427516666],[-70.27355512280509,47.55741147630176],[-70.31160296854888,47.54602568449829],[-70.32132265065975,47.5690304216627],[-70.43399625491956,47.53200757466076],[-70.4355206732806,47.52556956801833],[-70.4481286806752,47.471510608673775],[-70.43827041939376,47.465455751283834],[-70.42906009425528,47.43921362908144],[-70.4100301669926,47.423722705434855],[-70.38194510734813,47.434006412048305],[-70.303200628698,47.433078711276806],[-70.2514622772644,47.37105776268902],[-70.20334275147246,47.410986173553916],[-70.18455087138372,47.42600451617184],[-70.15756852479903,47.447992100442875],[-70.13172625152642,47.4726093272398]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.30056323196422,\"lat\":47.47945113471951},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2416\"],\"cd_name_en\":[\"Charlevoix\"],\"csd_code\":[\"2416048\"],\"csd_name_en\":[\"Les \\u00c9boulements\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Charlevoix\",\"csd_name_fr\":\"Les \\u00c9boulements\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.6976127110582,46.995254215561886],[-69.62496119999719,47.06681719490981],[-69.72059880965548,47.1279417595938],[-69.82669290619346,47.05188903870998],[-69.81071349134554,47.04189993455186],[-69.73499744882773,46.99261705152772],[-69.7170152070984,47.007105652357765],[-69.6976127110582,46.995254215561886]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.72307401518603,\"lat\":47.0575313658801},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2417\"],\"cd_name_en\":[\"L'Islet\"],\"csd_code\":[\"2417005\"],\"csd_name_en\":[\"Saint-Omer\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"L'Islet\",\"csd_name_fr\":\"Saint-Omer\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.3880467760489,46.78017619396088],[-70.42532191016943,46.80318229132002],[-70.50758285646349,46.85741344203303],[-70.55821665928289,46.8213723103887],[-70.47448977925957,46.76276934391756],[-70.5011153970414,46.75333134377828],[-70.48016606123956,46.729182059488274],[-70.4777602237439,46.719050558911995],[-70.4448932985663,46.741545035899144],[-70.42534706698493,46.72943860728709],[-70.37102408330169,46.768696635004986],[-70.3880467760489,46.78017619396088]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.46568431324522,\"lat\":46.78799345082267},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2418\"],\"cd_name_en\":[\"Montmagny\"],\"csd_code\":[\"2418035\"],\"csd_name_en\":[\"Sainte-Euph\\u00e9mie-sur-Rivi\\u00e8re-du-Sud\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Montmagny\",\"csd_name_fr\":\"Sainte-Euph\\u00e9mie-sur-Rivi\\u00e8re-du-Sud\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.52945881888056,46.478503897434656],[-70.55115076432504,46.4935477335008],[-70.52852017206887,46.51130274812469],[-70.58207725318081,46.548366718187474],[-70.63650755494639,46.51149903313438],[-70.65846073851844,46.507619281288605],[-70.67548321993118,46.50595849005932],[-70.68698009126767,46.494741291748525],[-70.6754921853831,46.48668322678151],[-70.70806522171863,46.4659702047637],[-70.69563718808601,46.45629145177414],[-70.7235321748463,46.43471041362022],[-70.68881240670324,46.407079374846475],[-70.66213223772027,46.424510973890236],[-70.62163278072693,46.394207364768285],[-70.56475340690113,46.43070340307203],[-70.5840421313055,46.44380912110759],[-70.55980790199713,46.459013812686294],[-70.55104559674255,46.47215350505674],[-70.52945881888056,46.478503897434656]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.62133359120418,\"lat\":46.468838128524126},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2419\"],\"cd_name_en\":[\"Bellechasse\"],\"csd_code\":[\"2419020\"],\"csd_name_en\":[\"Saint-L\\u00e9on-de-Standon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Bellechasse\",\"csd_name_fr\":\"Saint-L\\u00e9on-de-Standon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.13359627607889,46.88135592474629],[-71.17253068350162,46.905983610442945],[-71.16859492650079,46.91231952719295],[-71.19275487786611,46.9382263473708],[-71.22346435019254,46.9696022031858],[-71.30355874477533,46.930291456915505],[-71.33598146734118,46.95543593848334],[-71.3740386947636,46.93261708578115],[-71.3984933335891,46.95941323555619],[-71.40968355671474,46.959318312293334],[-71.41242989847848,46.97284555238792],[-71.42148344435415,46.98193772076818],[-71.44773413323095,46.96903878540788],[-71.40497280208453,46.92419050586397],[-71.43333121052214,46.911200285233896],[-71.43844632329885,46.91471778704411],[-71.4711270067732,46.89213030793316],[-71.45958229320648,46.88370166883339],[-71.47518351827864,46.87322752398108],[-71.48474566473496,46.87858299107983],[-71.50994583972084,46.863206261876755],[-71.53130594256979,46.854425997263235],[-71.5494450945211,46.85107644038055],[-71.5408551914251,46.8367615053922],[-71.49207449151068,46.80264125286457],[-71.42284371423729,46.754739676261345],[-71.40117423486193,46.763704071669025],[-71.38314854210557,46.74609420809905],[-71.35982205637617,46.7307600794454],[-71.32090398778728,46.741998364294325],[-71.28689907666858,46.746238669127784],[-71.26245238471077,46.75441467899651],[-71.21743429075102,46.784192093667855],[-71.20157018203174,46.79997339515789],[-71.18281911371781,46.83470967560264],[-71.16790419386477,46.84407538083867],[-71.1500127674743,46.85683892455445],[-71.13845019929651,46.875873019812246],[-71.13359627607889,46.88135592474629]],[[-71.35450449614088,46.858802669300225],[-71.37320732387559,46.871477524025636],[-71.36656974471899,46.88113887654128],[-71.35450449614088,46.858802669300225]],[[-71.23199313420604,46.81398795083945],[-71.23461836407165,46.813424636767905],[-71.23482503590787,46.81505904366689],[-71.23185951770023,46.81515073268178],[-71.23199313420604,46.81398795083945]],[[-71.36681090713707,46.81543429575814],[-71.34837366063618,46.81760781027344],[-71.3346388296345,46.79583604667357],[-71.34952857314109,46.78541189676004],[-71.38162976272557,46.807212753583464],[-71.36681090713707,46.81543429575814]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.33089884171314,\"lat\":46.85255084989232},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2423\"],\"cd_name_en\":[\"Qu\\u00e9bec\"],\"csd_code\":[\"2423027\"],\"csd_name_en\":[\"Qu\\u00e9bec\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Qu\\u00e9bec\",\"csd_name_fr\":\"Qu\\u00e9bec\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.9939424697272,46.77971871181706],[-71.07970456768854,46.839634361211175],[-71.13334500364977,46.837933578440975],[-71.16790419386477,46.84407538083867],[-71.18281911371781,46.83470967560264],[-71.20157018203174,46.79997339515789],[-71.21743429075102,46.784192093667855],[-71.26245238471077,46.75441467899651],[-71.28689907666858,46.746238669127784],[-71.32090398778728,46.741998364294325],[-71.35982205637617,46.7307600794454],[-71.46625187472118,46.71231998013249],[-71.50389363223525,46.701983997790634],[-71.5177339010221,46.69832704324918],[-71.44451442687624,46.648501729132725],[-71.38469806515806,46.60853889548405],[-71.3312495528762,46.572174313568794],[-71.26634790057102,46.61787133234676],[-71.22460940512848,46.651387227955034],[-71.21697374019135,46.63352150266072],[-71.214769353813,46.60764383263605],[-71.15201152061995,46.65238118711948],[-71.12700225891368,46.66963399969252],[-71.13342667080815,46.68665554937012],[-71.13304032955776,46.7073516202134],[-71.10485982133979,46.729761154874396],[-71.09586061457875,46.72490105033457],[-71.06755258811474,46.74403962727115],[-71.03036819159514,46.7394488841115],[-71.00804925099767,46.74210115254413],[-71.03172553329067,46.75905350208214],[-70.9939424697272,46.77971871181706]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.24318455838754,\"lat\":46.71107898125765},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2425\"],\"cd_name_en\":[\"L\\u00e9vis\"],\"csd_code\":[\"2425213\"],\"csd_name_en\":[\"L\\u00e9vis\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"L\\u00e9vis\",\"csd_name_fr\":\"L\\u00e9vis\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.89315883236998,45.611085376145226],[-71.02869851829365,45.68930165717467],[-71.05270243302107,45.70132744558451],[-71.092510594115,45.66724123312146],[-71.10931562080377,45.65278100714276],[-71.08695095027086,45.639800396769814],[-71.09465887449805,45.633134074039276],[-71.07789611203678,45.62345508579927],[-71.08540228907054,45.617074739994486],[-71.05184855916357,45.59752817078387],[-71.05209994198515,45.57429792454604],[-71.0104370869762,45.56881868941484],[-71.00973727223784,45.58792181775395],[-70.97443351534305,45.589745625047534],[-70.95644413049223,45.60674472515588],[-70.93597541916861,45.594025720733505],[-70.92010090497098,45.588858471273646],[-70.89315883236998,45.611085376145226]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.01355121503867,\"lat\":45.63181811068018},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2430\"],\"cd_name_en\":[\"Le Granit\"],\"csd_code\":[\"2430045\"],\"csd_name_en\":[\"Nantes\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Granit\",\"csd_name_fr\":\"Nantes\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.43388944841281,45.80243121124536],[-70.47122184058513,45.78892412189226],[-70.49956686063175,45.82706808197195],[-70.63168758631265,45.77890751418851],[-70.65057209665102,45.77211268967122],[-70.6346025885326,45.75045893098435],[-70.646234903534,45.73429087766371],[-70.6223038026936,45.69640804239591],[-70.58386212356518,45.64113061292499],[-70.56488988679845,45.654573091674635],[-70.55773632800495,45.66695287788258],[-70.52553046030607,45.66672570908573],[-70.50965595092528,45.679587210442634],[-70.48163426905735,45.69387096822239],[-70.46627485987517,45.70602489860988],[-70.43912810327569,45.70385459746095],[-70.40022357070646,45.71999543812515],[-70.3881465464918,45.75140403778529],[-70.40699533552136,45.766225130944605],[-70.43388944841281,45.80243121124536]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.52723040037078,\"lat\":45.74066495848416},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2430\"],\"cd_name_en\":[\"Le Granit\"],\"csd_code\":[\"2430070\"],\"csd_name_en\":[\"Saint-Robert-Bellarmin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Granit\",\"csd_name_fr\":\"Saint-Robert-Bellarmin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.89810937827198,45.841193608631805],[-70.89891039680766,45.88731499516577],[-70.8958523830752,45.89077453718159],[-70.95011773902063,45.91584943321363],[-70.96817805666261,45.901046757964174],[-70.99913957287029,45.91706623419322],[-71.00538073195185,45.91112907778067],[-71.05867982752082,45.937918984693496],[-71.07062231405406,45.92827257859344],[-71.09348887143275,45.907766451895334],[-71.018426071582,45.869869417023],[-71.03006813381742,45.859288005677364],[-70.99010743471304,45.83981399255886],[-70.97910468275445,45.85076269497774],[-70.9476028500974,45.8353183549767],[-70.93539251108716,45.84704356382131],[-70.89810937827198,45.841193608631805]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.98405591455578,\"lat\":45.88401395629467},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2430\"],\"cd_name_en\":[\"Le Granit\"],\"csd_code\":[\"2430090\"],\"csd_name_en\":[\"Courcelles\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Granit\",\"csd_name_fr\":\"Courcelles\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.9701380815543,46.11589076673264],[-71.00654095016681,46.14359109005556],[-70.99391678273086,46.15299943155689],[-71.0027442751311,46.15982247534631],[-71.01529302933243,46.15011291899261],[-71.03610731547124,46.15332997260436],[-71.04885730536176,46.165422154944665],[-71.06108872010273,46.1563050913142],[-71.07459565389672,46.16818813999522],[-71.08831545594552,46.159121595458835],[-71.07967473024931,46.1513358458692],[-71.09464176887411,46.141628584172736],[-71.08793882756494,46.13241980078371],[-71.09998340599876,46.12491100639875],[-71.04260771956474,46.07337679931994],[-71.02369857340676,46.07643149362278],[-71.01262790655329,46.08858696781985],[-70.9701380815543,46.11589076673264]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.03898085520224,\"lat\":46.12185878627356},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2431\"],\"cd_name_en\":[\"Les Appalaches\"],\"csd_code\":[\"2431060\"],\"csd_name_en\":[\"Sainte-Clotilde-de-Beauce\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Appalaches\",\"csd_name_fr\":\"Sainte-Clotilde-de-Beauce\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.6018599699713,46.486448131335145],[-71.67012165178414,46.5355494361872],[-71.69436624964257,46.553020998906085],[-71.70402461204242,46.559845191737466],[-71.72960068936943,46.537854500998456],[-71.76377449486961,46.5036535953557],[-71.77628915756466,46.50188689202504],[-71.767094757173,46.49547361528643],[-71.74725024293261,46.474696596903414],[-71.67017620118658,46.42050993679481],[-71.61751843976297,46.45213937196966],[-71.58330367456381,46.47273009036073],[-71.6018599699713,46.486448131335145]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.68179909016887,\"lat\":46.48789985780326},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2433\"],\"cd_name_en\":[\"Lotbini\\u00e8re\"],\"csd_code\":[\"2433065\"],\"csd_name_en\":[\"Saint-Janvier-de-Joly\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Lotbini\\u00e8re\",\"csd_name_fr\":\"Saint-Janvier-de-Joly\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.91764226529278,46.83882436527714],[-71.87064971035142,46.841002566078096],[-71.87353181014481,46.85383011230819],[-71.86427524915572,46.88045608177824],[-71.88198144675627,46.89161182642117],[-71.95280908529138,46.943274539823186],[-72.02610514740985,46.995083128558306],[-72.05329487396274,46.976248145998056],[-72.120170017787,46.93181251352212],[-72.05360782054949,46.88754763647599],[-72.03730881482733,46.89762964479752],[-72.01891956625374,46.892092304771595],[-72.00725614067234,46.90044739721115],[-71.91764226529278,46.83882436527714]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.98749133452478,\"lat\":46.914803513444454},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2434\"],\"cd_name_en\":[\"Portneuf\"],\"csd_code\":[\"2434115\"],\"csd_name_en\":[\"Saint-L\\u00e9onard-de-Portneuf\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Portneuf\",\"csd_name_fr\":\"Saint-L\\u00e9onard-de-Portneuf\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.18299733886016,46.28593037876593],[-72.2084422543098,46.30366162015626],[-72.19857260502246,46.31041576591792],[-72.21793602119695,46.32359346330078],[-72.2385485865802,46.31563990255795],[-72.24124598731066,46.33447369429858],[-72.25683403773509,46.34791741489343],[-72.24332835280197,46.354201760964635],[-72.21126356444614,46.35753058180652],[-72.17510041814613,46.368484302839654],[-72.16027600424268,46.38995169316348],[-72.16641853827926,46.394667313161385],[-72.18721475077433,46.410180366838254],[-72.24497660848957,46.45217413365185],[-72.26061447121538,46.43694514810334],[-72.28255626649313,46.42839301734209],[-72.40685445816132,46.395571916166986],[-72.44720433680773,46.38441999887641],[-72.46112822083946,46.38349795246134],[-72.56457204995816,46.303399951637275],[-72.58244406421234,46.29165944112964],[-72.60818548974342,46.28153433204657],[-72.51256967151822,46.21153320601208],[-72.48743093787054,46.193611227305],[-72.44865326758708,46.22082715679618],[-72.44591178686466,46.224879824424214],[-72.43509333363892,46.24190057265513],[-72.40891373606,46.259361553048016],[-72.39010175806973,46.24566754350169],[-72.35665024740155,46.2564049075905],[-72.34142421301208,46.242398701173514],[-72.3310853020864,46.22315951128484],[-72.33070767504469,46.22156732457854],[-72.25210207778315,46.27349118684085],[-72.22777173516097,46.25612080308579],[-72.18299733886016,46.28593037876593]],[[-72.4161625904274,46.32902833925152],[-72.42831243475496,46.319056002477474],[-72.43203151195854,46.32227555169492],[-72.4161625904274,46.32902833925152]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.37135932712835,\"lat\":46.32072309247774},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2438\"],\"cd_name_en\":[\"B\\u00e9cancour\"],\"csd_code\":[\"2438010\"],\"csd_name_en\":[\"B\\u00e9cancour\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"B\\u00e9cancour\",\"csd_name_fr\":\"B\\u00e9cancour\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.98566634524398,46.21824860443547],[-71.9861391458665,46.24692570052291],[-71.9612212676676,46.26035030361157],[-71.94134474997851,46.25873812881196],[-71.92164931457684,46.2824291205411],[-71.90939315172531,46.29145983613465],[-71.88273081060105,46.299097560216495],[-71.86591736954155,46.307109748372596],[-71.88493187515924,46.32160799743367],[-71.89168968172768,46.326629161435],[-71.94480598708823,46.2929569928479],[-71.95922302587968,46.30469244937289],[-71.97492046282811,46.2946841032581],[-72.00538466455895,46.31898593326751],[-72.02047669774265,46.309013758682276],[-72.01549904571422,46.30521961010979],[-72.06413615373957,46.274266568485146],[-72.05568373674288,46.267501561093596],[-72.08212040295983,46.25030214959841],[-72.10350790189939,46.25004822689761],[-72.1174462959602,46.24129437155712],[-72.08462815819294,46.21661217909903],[-72.0809974498057,46.1976840140263],[-71.98566634524398,46.21824860443547]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.00593503552356,\"lat\":46.26153921974619},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2439\"],\"cd_name_en\":[\"Arthabaska\"],\"csd_code\":[\"2439170\"],\"csd_name_en\":[\"Saint-Louis-de-Blandford\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Arthabaska\",\"csd_name_fr\":\"Saint-Louis-de-Blandford\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.46387913934194,45.60678065902655],[-71.35416202771474,45.683471023482404],[-71.31294038270663,45.7131719816175],[-71.39271536453774,45.768742816114845],[-71.43667967158946,45.7987433490118],[-71.51747144511744,45.74060142278562],[-71.5854992140398,45.69307228432481],[-71.48907089202059,45.624802343660214],[-71.4794558047561,45.611675989286546],[-71.46387913934194,45.60678065902655]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.44930570766267,\"lat\":45.70255785611483},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2441\"],\"cd_name_en\":[\"Le Haut-Saint-Fran\\u00e7ois\"],\"csd_code\":[\"2441098\"],\"csd_name_en\":[\"Weedon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Saint-Fran\\u00e7ois\",\"csd_name_fr\":\"Weedon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.32879320662114,45.286706002073686],[-72.34258693378713,45.28667666907731],[-72.34231757904183,45.30811184678689],[-72.35755850272123,45.30781431886337],[-72.39960446458488,45.30802651706105],[-72.40193758723149,45.21239598511284],[-72.38278710889827,45.21329134260889],[-72.3823906908922,45.22453605293626],[-72.34460792391927,45.21747699821885],[-72.34515002499322,45.24826052344117],[-72.3368415074305,45.261537607283735],[-72.32879320662114,45.286706002073686]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.37071279469988,\"lat\":45.26369989718899},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2445\"],\"cd_name_en\":[\"Memphr\\u00e9magog\"],\"csd_code\":[\"2445100\"],\"csd_name_en\":[\"Saint-\\u00c9tienne-de-Bolton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Memphr\\u00e9magog\",\"csd_name_fr\":\"Saint-\\u00c9tienne-de-Bolton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.94918282740946,45.22476167672737],[-72.94660051852178,45.239788884723296],[-72.97956161947792,45.23990325750458],[-72.9842874120197,45.25355201177423],[-73.01745760886143,45.253067964145686],[-73.01649382085516,45.27249336426929],[-73.04608504512552,45.29274214317245],[-73.04988026271478,45.26705356493469],[-73.06353291934808,45.26783011947032],[-73.06809098320005,45.246853932142734],[-73.06873985068991,45.230562115647636],[-73.05783051102394,45.21419733486461],[-73.04082911071602,45.21141793352765],[-73.03264721567578,45.20194451091325],[-73.01175642550791,45.20255750175754],[-73.0112012286563,45.192819870851984],[-72.99224532712806,45.19175616486215],[-72.97414983020067,45.19189284234243],[-72.97185707963665,45.22464804756095],[-72.94918282740946,45.22476167672737]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.01705461382242,\"lat\":45.23434939983031},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2446\"],\"cd_name_en\":[\"Brome-Missisquoi\"],\"csd_code\":[\"2446105\"],\"csd_name_en\":[\"Sainte-Sabine\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Brome-Missisquoi\",\"csd_name_fr\":\"Sainte-Sabine\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.66440923090953,45.42056026397023],[-72.66280881277108,45.44709384774646],[-72.70052018370777,45.448671645462646],[-72.70184164353901,45.45724325834119],[-72.774383923036,45.457810819502946],[-72.82012506418359,45.4566345137699],[-72.8248331671092,45.42795899941804],[-72.84115241826619,45.38170859216523],[-72.84582000380405,45.36843804326764],[-72.81296607155393,45.368397750035655],[-72.81674293838314,45.35507251256968],[-72.75462248920518,45.354241691988264],[-72.7563540241178,45.34104034262269],[-72.66747671315349,45.337852541456634],[-72.66686445320299,45.352154208627894],[-72.66440923090953,45.42056026397023]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.74558698818215,\"lat\":45.40038509489334},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2447\"],\"cd_name_en\":[\"La Haute-Yamaska\"],\"csd_code\":[\"2447017\"],\"csd_name_en\":[\"Granby\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Haute-Yamaska\",\"csd_name_fr\":\"Granby\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.44191768521375,45.57383992593018],[-72.43945995565541,45.60369017970385],[-72.49663437520711,45.604106451725166],[-72.61583927413524,45.605095728983876],[-72.62052015176148,45.53789893999482],[-72.60611150281332,45.52602647698742],[-72.58436197791352,45.525456216652735],[-72.58637355630103,45.49847559953573],[-72.57933727194607,45.49811237101552],[-72.44862939086111,45.494262921037745],[-72.44191768521375,45.57383992593018]],[[-72.50924622763564,45.58748391586972],[-72.512405803353,45.56543790174752],[-72.53897344602298,45.566042272644665],[-72.53494833592205,45.58864660958871],[-72.50924622763564,45.58748391586972]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.52685785035374,\"lat\":45.55210996841181},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2448\"],\"cd_name_en\":[\"Acton\"],\"csd_code\":[\"2448015\"],\"csd_name_en\":[\"Roxton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Acton\",\"csd_name_fr\":\"Roxton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.44583284204752,45.674401624521856],[-72.49012642144105,45.70078226711526],[-72.55188566643909,45.73729552388081],[-72.55181097444603,45.72428478361859],[-72.64938953551403,45.724822672036424],[-72.64978163225047,45.71310210892416],[-72.65158556200342,45.65910800955198],[-72.57672507901488,45.65908591620674],[-72.57593779747928,45.6721866592674],[-72.47137112477004,45.67356615819592],[-72.44583284204752,45.674401624521856]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.57186906048648,\"lat\":45.69363572021723},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2448\"],\"cd_name_en\":[\"Acton\"],\"csd_code\":[\"2448045\"],\"csd_name_en\":[\"Saint-Th\\u00e9odore-d'Acton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Acton\",\"csd_name_fr\":\"Saint-Th\\u00e9odore-d'Acton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.18663422320049,45.87107703096272],[-72.22106504937761,45.889543047734286],[-72.2342324861088,45.87919615010102],[-72.2612169634594,45.889599896076106],[-72.25586841277023,45.90534416338724],[-72.24073194802878,45.91806048724132],[-72.25710493691989,45.9268515967185],[-72.27272831176711,45.91532147165074],[-72.30973517649542,45.938384799985734],[-72.32544478108706,45.92714280433022],[-72.37736408227475,45.8828196076281],[-72.33898957658003,45.86135525105307],[-72.35254453625309,45.85026246272872],[-72.35374360691088,45.82381098109019],[-72.33318868124084,45.81539416081983],[-72.32028209930523,45.82241735534102],[-72.31483397486846,45.84255504745307],[-72.30192800839279,45.845481067998655],[-72.28068913298883,45.837153284216505],[-72.29606142264024,45.82679066355535],[-72.28393002538947,45.802386528569734],[-72.27385613841446,45.796139998310615],[-72.25681877176041,45.814271138426605],[-72.241703265785,45.82376465385997],[-72.18663422320049,45.87107703096272]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.28814560158185,\"lat\":45.8696496362779},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2449\"],\"cd_name_en\":[\"Drummond\"],\"csd_code\":[\"2449030\"],\"csd_name_en\":[\"Saint-Lucien\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Drummond\",\"csd_name_fr\":\"Saint-Lucien\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.14942399692676,46.12519022826451],[-72.16286569645797,46.12281265411388],[-72.16360658022386,46.151547505203176],[-72.1776969695958,46.16376142755954],[-72.21634540414928,46.15595729214565],[-72.2496985416953,46.1322133259409],[-72.26546247989629,46.14347621710145],[-72.30879534698161,46.11270837132479],[-72.29482539544694,46.10210660606995],[-72.32179692156363,46.08563264639367],[-72.30801841056066,46.07543212633409],[-72.31549227940755,46.0651758441001],[-72.29995104583881,46.04890584043561],[-72.29058143172479,46.04621364711291],[-72.2401662773264,46.074959762647644],[-72.21473219683307,46.097648760651154],[-72.19194378275868,46.102307914977594],[-72.1780159424822,46.097189710263315],[-72.17255118253925,46.1058797494491],[-72.14949972176092,46.11060262637274],[-72.14942399692676,46.12519022826451]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.23912168108649,\"lat\":46.10910435359045},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2450\"],\"cd_name_en\":[\"Nicolet-Yamaska\"],\"csd_code\":[\"2450005\"],\"csd_name_en\":[\"Sainte-Eulalie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nicolet-Yamaska\",\"csd_name_fr\":\"Sainte-Eulalie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.15900148843774,46.04201293958059],[-73.11858458103389,46.04108770768222],[-73.12416873646416,46.05516792797557],[-73.15539003420902,46.04479035601655],[-73.15900148843774,46.04201293958059]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.13490343945737,\"lat\":46.046188633791665},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2453\"],\"cd_name_en\":[\"Pierre-De Saurel\"],\"csd_code\":[\"2453050\"],\"csd_name_en\":[\"Saint-Joseph-de-Sorel\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Pierre-De Saurel\",\"csd_name_fr\":\"Saint-Joseph-de-Sorel\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.16602405753878,45.09663353213586],[-73.17545667855121,45.189237436198944],[-73.20973181332633,45.18909943773451],[-73.22901999037175,45.18563168344957],[-73.2287242422642,45.16925933992746],[-73.2573416565019,45.16880175784265],[-73.25322162352661,45.13457889206658],[-73.25907936204275,45.123177457933345],[-73.27653968965167,45.108351110483476],[-73.29977766207983,45.09623967706235],[-73.25697437949974,45.095826243229],[-73.1735536055214,45.09643635559204],[-73.16602405753878,45.09663353213586]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.21529644869732,\"lat\":45.13638588486656},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2456\"],\"cd_name_en\":[\"Le Haut-Richelieu\"],\"csd_code\":[\"2456042\"],\"csd_name_en\":[\"Henryville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Richelieu\",\"csd_name_fr\":\"Henryville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.19204686888759,45.25298388173044],[-73.20868697687018,45.258960064791545],[-73.24470021255704,45.258925674528555],[-73.24648189671844,45.23326498083811],[-73.25380505556099,45.211053225117034],[-73.25585036258964,45.183990664175646],[-73.2573416565019,45.16880175784265],[-73.2287242422642,45.16925933992746],[-73.22901999037175,45.18563168344957],[-73.20973181332633,45.18909943773451],[-73.17545667855121,45.189237436198944],[-73.17716481921639,45.20558267288054],[-73.17783113373446,45.24749069370325],[-73.19204686888759,45.25298388173044]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.21747231594757,\"lat\":45.21717060616506},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2456\"],\"cd_name_en\":[\"Le Haut-Richelieu\"],\"csd_code\":[\"2456060\"],\"csd_name_en\":[\"Sainte-Anne-de-Sabrevois\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Richelieu\",\"csd_name_fr\":\"Sainte-Anne-de-Sabrevois\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.20339645998419,45.62589728730852],[-73.22555254419527,45.634675691893385],[-73.23798558310054,45.63185308303416],[-73.26816297649711,45.6545366813372],[-73.26191727027317,45.63884093769474],[-73.28338730002598,45.618752849869466],[-73.29251303303504,45.6051495054285],[-73.27639438668608,45.593331029112996],[-73.29718579779721,45.580847975467194],[-73.28892105303541,45.5751824647093],[-73.26513298241392,45.558449308755975],[-73.243556172588,45.57110773698129],[-73.22514109190622,45.6032523997627],[-73.20666586890228,45.601265545034316],[-73.20339645998419,45.62589728730852]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.25226648983534,\"lat\":45.604303889030206},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2457\"],\"cd_name_en\":[\"La Vall\\u00e9e-du-Richelieu\"],\"csd_code\":[\"2457045\"],\"csd_name_en\":[\"Saint-Mathieu-de-Beloeil\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-du-Richelieu\",\"csd_name_fr\":\"Saint-Mathieu-de-Beloeil\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.39154860040604,46.06714868979197],[-73.41164500856706,46.06954129438643],[-73.4325662870845,46.064939903731194],[-73.45675348652273,46.07259645293029],[-73.49134229580561,46.073063390070864],[-73.47162910302407,46.064076171182165],[-73.46948418786558,46.054663708507036],[-73.44481502338019,46.05153493998149],[-73.44203378196868,46.03835420977969],[-73.43341985862811,46.033548129595154],[-73.41530182428747,46.03960248018784],[-73.40349063311079,46.033328129406264],[-73.38719805831099,46.03734027013956],[-73.39154860040604,46.06714868979197]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.42748873643086,\"lat\":46.054738295907214},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2461\"],\"cd_name_en\":[\"Joliette\"],\"csd_code\":[\"2461030\"],\"csd_name_en\":[\"Notre-Dame-des-Prairies\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Joliette\",\"csd_name_fr\":\"Notre-Dame-des-Prairies\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.56597129022009,45.90012289299725],[-73.55815712700911,45.927902849956425],[-73.58927503580303,45.93855479330773],[-73.66085325186769,45.98828459406363],[-73.70004808144324,45.96056260687622],[-73.67948002697287,45.94598947791158],[-73.62831107323682,45.91091471630892],[-73.61652601133059,45.91951245479582],[-73.60298646339896,45.91018257502698],[-73.59128617443581,45.91804625755838],[-73.56597129022009,45.90012289299725]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.63118724270214,\"lat\":45.94337351554796},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2463\"],\"cd_name_en\":[\"Montcalm\"],\"csd_code\":[\"2463023\"],\"csd_name_en\":[\"Saint-Alexis\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Montcalm\",\"csd_name_fr\":\"Saint-Alexis\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.80891626576269,45.394648505265096],[-73.82577634012614,45.37748597196705],[-73.8519555612985,45.357149819349836],[-73.84446630069812,45.33925175388788],[-73.8142675993693,45.31592073921065],[-73.77466912507819,45.34874206161983],[-73.77118859155307,45.367654250711645],[-73.80891626576269,45.394648505265096]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.81055868341869,\"lat\":45.355139064066606},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2467\"],\"cd_name_en\":[\"Roussillon\"],\"csd_code\":[\"2467055\"],\"csd_name_en\":[\"L\\u00e9ry\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Roussillon\",\"csd_name_fr\":\"L\\u00e9ry\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.16913515537227,45.09082173446127],[-74.14891239730083,45.09641778649326],[-74.12016873813921,45.09425066993057],[-74.09954330990375,45.104165286302745],[-74.08835327545863,45.11591281161685],[-74.12410519474892,45.14548596761254],[-74.14716728583858,45.16538528731236],[-74.22307539911749,45.122719990289994],[-74.3034877541115,45.074945314768335],[-74.38951873909745,45.02709515515947],[-74.35229963056956,44.99271597168748],[-74.33085304587863,44.99183530902912],[-74.31503774921414,45.00006072533291],[-74.29905757111678,45.01873066990689],[-74.29522627410897,45.03301327666096],[-74.25174270351654,45.05102711685984],[-74.21067253859788,45.05523104968561],[-74.184048676487,45.073941765941996],[-74.17873934295415,45.07687548363475],[-74.19382579848681,45.08884107569199],[-74.17572425730343,45.09648612201883],[-74.16913515537227,45.09082173446127]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.23701841469185,\"lat\":45.079805989798594},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2469\"],\"cd_name_en\":[\"Le Haut-Saint-Laurent\"],\"csd_code\":[\"2469060\"],\"csd_name_en\":[\"Godmanchester\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Saint-Laurent\",\"csd_name_fr\":\"Godmanchester\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.32253093178095,45.44295991008738],[-74.33530524171243,45.45750663637825],[-74.42137672343438,45.439793402136495],[-74.42833921783654,45.420104971831094],[-74.39639141720708,45.40488460090408],[-74.39331303118654,45.417730523420296],[-74.357639484193,45.41354190959905],[-74.35420418892897,45.42584875621611],[-74.32640931996445,45.43180256065222],[-74.32253093178095,45.44295991008738]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.37606210305468,\"lat\":45.432993278991},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2471\"],\"cd_name_en\":[\"Vaudreuil-Soulanges\"],\"csd_code\":[\"2471125\"],\"csd_name_en\":[\"Tr\\u00e8s-Saint-R\\u00e9dempteur\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Vaudreuil-Soulanges\",\"csd_name_fr\":\"Tr\\u00e8s-Saint-R\\u00e9dempteur\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.97322278733786,45.53390921465],[-74.01877956574232,45.566897212349765],[-74.02581786096873,45.56748180941499],[-74.049030650914,45.56239864882544],[-74.08071227917982,45.5412050897786],[-74.04105924356092,45.513075420548695],[-74.03279543500047,45.51919180867327],[-73.99788952173871,45.492826316438915],[-73.95278162692478,45.51847155964623],[-73.97322278733786,45.53390921465]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.01659736190052,\"lat\":45.532331074391436},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2472\"],\"cd_name_en\":[\"Deux-Montagnes\"],\"csd_code\":[\"2472025\"],\"csd_name_en\":[\"Saint-Joseph-du-Lac\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Deux-Montagnes\",\"csd_name_fr\":\"Saint-Joseph-du-Lac\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.84646376154724,45.72176232666989],[-73.8016844880404,45.71953719530058],[-73.76476237694376,45.71277836270007],[-73.75754561517499,45.729719407195894],[-73.7453354909753,45.73238940158634],[-73.7504607541415,45.75009554006083],[-73.73069974925093,45.75431883470318],[-73.82402252769403,45.81691513006278],[-73.8686810444763,45.80858802366992],[-73.86022588108818,45.802288102366106],[-73.91202087137813,45.76605130599443],[-73.85001125061602,45.72406851278444],[-73.84646376154724,45.72176232666989]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.82086960746568,\"lat\":45.762133734250156},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2473\"],\"cd_name_en\":[\"Th\\u00e9r\\u00e8se-De Blainville\"],\"csd_code\":[\"2473035\"],\"csd_name_en\":[\"Sainte-Anne-des-Plaines\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Th\\u00e9r\\u00e8se-De Blainville\",\"csd_name_fr\":\"Sainte-Anne-des-Plaines\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.36876626784421,45.62758204954253],[-74.37992005921456,45.629289646050324],[-74.36718069119249,45.67027427975134],[-74.34756904359712,45.667640982196865],[-74.32796910175065,45.738786010369026],[-74.44012611129493,45.752696408545226],[-74.51655709913616,45.76151745896106],[-74.5271852670042,45.71389131834227],[-74.55571532584744,45.60315833130539],[-74.52605454809039,45.59259356143013],[-74.4895248447027,45.595331605006145],[-74.47236640069356,45.59373180756762],[-74.43231596406599,45.57228985633998],[-74.39738329539937,45.57054461453903],[-74.3845621126272,45.58564250542407],[-74.38829246744903,45.59983463787182],[-74.37124669248342,45.61699577869031],[-74.36876626784421,45.62758204954253]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.44649665709352,\"lat\":45.67045255576914},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2476\"],\"cd_name_en\":[\"Argenteuil\"],\"csd_code\":[\"2476043\"],\"csd_name_en\":[\"Brownsburg-Chatham\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Argenteuil\",\"csd_name_fr\":\"Brownsburg-Chatham\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.07160737568934,46.47250389072126],[-75.0705414145546,46.4867317542908],[-75.09320649849681,46.48737041033943],[-75.09469303563584,46.51844580453383],[-75.09513013239192,46.63434351275072],[-75.2001364608729,46.55800382198497],[-75.25772388342455,46.51633821395627],[-75.26550357092158,46.51092759936638],[-75.2663639535896,46.472852612345854],[-75.23281122728852,46.472807657936436],[-75.23288333115715,46.44429622672109],[-75.09594842169753,46.44467130186882],[-75.09528886243532,46.464585927562304],[-75.07524972412858,46.46447956295528],[-75.07160737568934,46.47250389072126]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.16094168421094,\"lat\":46.51493599911705},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2479\"],\"cd_name_en\":[\"Antoine-Labelle\"],\"csd_code\":[\"2479060\"],\"csd_name_en\":[\"Lac-Saguay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Antoine-Labelle\",\"csd_name_fr\":\"Lac-Saguay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.98062738669744,45.61547401328918],[-75.07568777739164,45.60654036416392],[-75.07998169199571,45.664603786512814],[-75.09564324963257,45.6535905656329],[-75.12040177750416,45.65230200947779],[-75.13483253752466,45.64461108884076],[-75.15351674104294,45.578399666688405],[-75.11350228867788,45.57861828825651],[-75.0874644203751,45.58799787577038],[-75.03546627068302,45.59380818719842],[-75.00631197065344,45.60257702319337],[-74.98062738669744,45.61547401328918]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.09579363416898,\"lat\":45.61289965105702},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2480\"],\"cd_name_en\":[\"Papineau\"],\"csd_code\":[\"2480045\"],\"csd_name_en\":[\"Plaisance\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Papineau\",\"csd_name_fr\":\"Plaisance\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.9778789807371,45.852053224008856],[-74.9841139183283,45.8687981411916],[-74.9785146871315,45.91291945461236],[-74.97672745795286,45.974114501244735],[-75.02477791287393,45.9741491307829],[-75.02966866325032,45.88860772073157],[-75.06626733862099,45.88907732110878],[-75.06510098089183,45.87972385299245],[-75.08072976369891,45.864051423656846],[-75.07038437117455,45.8565276058542],[-75.03384909654348,45.856499707296024],[-75.03904684191893,45.83283472602913],[-75.02749285609478,45.836601787117225],[-74.9778789807371,45.852053224008856]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.01283225019421,\"lat\":45.90128021348072},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2480\"],\"cd_name_en\":[\"Papineau\"],\"csd_code\":[\"2480103\"],\"csd_name_en\":[\"Ch\\u00e9n\\u00e9ville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Papineau\",\"csd_name_fr\":\"Ch\\u00e9n\\u00e9ville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.9778789807371,45.852053224008856],[-74.9234439139382,45.86757800367768],[-74.88418782068361,45.86066922103056],[-74.87649864452162,45.85922004284335],[-74.86051470547271,45.86930310788546],[-74.85197966261566,45.884349419002604],[-74.85614852401815,45.91930995527575],[-74.9011103851466,45.926509493610844],[-74.90128303554307,45.91289533478998],[-74.9785146871315,45.91291945461236],[-74.9841139183283,45.8687981411916],[-74.9778789807371,45.852053224008856]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.91753221982002,\"lat\":45.88923618346237},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2480\"],\"cd_name_en\":[\"Papineau\"],\"csd_code\":[\"2480110\"],\"csd_name_en\":[\"Namur\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Papineau\",\"csd_name_fr\":\"Namur\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.2431906535557,47.34818332244367],[-79.28437420560705,47.34871226121838],[-79.28460812286893,47.33105947677107],[-79.32901881465351,47.33158134156077],[-79.3291604353332,47.31623513204954],[-79.34528638970181,47.30772099739281],[-79.37251953522421,47.30570979195138],[-79.37219807956295,47.275267269128356],[-79.3677863996175,47.2483778446276],[-79.25923204464785,47.2482032473327],[-79.25971777450268,47.12834064351028],[-79.06181008641356,47.12850171150451],[-78.87610800082264,47.12832029487026],[-78.88719829005049,47.1476281038394],[-78.88524490983069,47.16380120816978],[-78.89681988118565,47.18644230095075],[-78.9130049803316,47.19774410269307],[-78.91039990321885,47.205350092955385],[-78.93071699754456,47.21749821108142],[-78.94975799451757,47.24666539189539],[-78.93227919578001,47.2591562064856],[-78.9353399893802,47.27537691433762],[-78.97903996297165,47.27636127012214],[-79.11400778500345,47.27537480513082],[-79.16660448353933,47.27537211324529],[-79.16593593698578,47.322342698351136],[-79.20078114342986,47.32164587152358],[-79.20119769886004,47.33911353027345],[-79.24325780037852,47.339947349825835],[-79.2431906535557,47.34818332244367]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.12628200815456,\"lat\":47.22031662162836},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2485\"],\"cd_name_en\":[\"T\\u00e9miscamingue\"],\"csd_code\":[\"2485020\"],\"csd_name_en\":[\"B\\u00e9arn\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscamingue\",\"csd_name_fr\":\"B\\u00e9arn\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.93121710396355,47.26968759768388],[-77.90851069235923,47.2920807055718],[-77.8477033106342,47.325925498104866],[-77.83692420729923,47.31558970253362],[-77.82523458190967,47.343243504007965],[-77.81530220897606,47.35737320991093],[-77.7974821946254,47.36649999042648],[-77.80406400953039,47.38105220703118],[-77.7725601985294,47.39663589078192],[-77.76823041675846,47.421016996730046],[-77.72758198742673,47.427963295111155],[-77.70802538878746,47.419094589564885],[-77.69428271210967,47.4279463079138],[-77.68257811360536,47.42264339041196],[-77.6642169910064,47.429101085370704],[-77.62035191712201,47.41035069497965],[-77.60781771756771,47.42875149054436],[-77.60956068876554,47.436632698645354],[-77.55884148609674,47.454122897418046],[-77.56615301470735,47.47202811367195],[-77.51591598887028,47.47367160247197],[-77.52607040107155,47.48414178714413],[-77.50797869110662,47.49152560298589],[-77.49036758317354,47.517675708330046],[-77.45262078878702,47.5024875010983],[-77.45079590939196,47.51904510348552],[-77.4649000820037,47.52567390402722],[-77.45709640564213,47.539834909832486],[-77.49341680180098,47.54695619138553],[-77.49566180605825,47.56237270802338],[-77.4783295880592,47.59934849744077],[-77.46451250016321,47.60372919060591],[-77.46834381725431,47.620346995363384],[-77.45801110124566,47.633719711757394],[-77.46944421571965,47.6489153929389],[-77.44962520464048,47.66885249534612],[-77.4295036094843,47.677859513368276],[-77.42960880072653,47.69351910687121],[-77.4216198911017,47.70276584032219],[-77.57809635450089,47.70264247900602],[-77.75792047645763,47.703121755116705],[-78.06200038192011,47.70315141695119],[-78.22134764367522,47.703321900356045],[-78.22468169879235,47.70158739017941],[-78.43510401728898,47.70218259800482],[-78.44170777439086,47.55943919102186],[-78.54528569585625,47.5578350110363],[-78.54499219419235,47.46252271635624],[-78.54590525063745,47.31674517529985],[-78.54691387163513,47.27581936533877],[-78.76613847247712,47.27619968798187],[-78.93063625158287,47.27536927013663],[-78.9353399893802,47.27537691433762],[-78.93227919578001,47.2591562064856],[-78.94975799451757,47.24666539189539],[-78.93071699754456,47.21749821108142],[-78.91039990321885,47.205350092955385],[-78.9130049803316,47.19774410269307],[-78.89681988118565,47.18644230095075],[-78.88524490983069,47.16380120816978],[-78.88719829005049,47.1476281038394],[-78.87610800082264,47.12832029487026],[-79.06181008641356,47.12850171150451],[-79.07457038401698,47.096047780303884],[-79.06502161201063,47.07314527018151],[-79.06571364634371,47.04688923030038],[-79.0573372053764,47.02659364182535],[-79.04348032616326,47.01122887685586],[-79.04192067864304,47.00002377993223],[-79.01434854174472,46.98334515148571],[-79.01106293591414,46.96279312222802],[-78.98944209418134,46.942972525784846],[-78.99878279365797,46.92277135259764],[-78.99342595423958,46.90544239803098],[-78.97706957657697,46.88304951264854],[-78.98422138238453,46.85429014396943],[-78.97581343501923,46.83845437776846],[-78.98746222459029,46.825036567991305],[-78.97409582376771,46.80929839976609],[-78.965176456861,46.78471759115287],[-78.94675563964121,46.763803526080785],[-78.94129565490908,46.74946281091734],[-78.92078099190648,46.7418035881663],[-78.89128484153748,46.73041522064303],[-78.88299150151171,46.712318196517806],[-78.781494303028,46.70936811592412],[-78.78040304690721,46.62295045027332],[-78.78186559964657,46.455503707764606],[-78.83849359946143,46.45583445260098],[-78.83743439362864,46.43691544780965],[-78.78636663190613,46.41363433013791],[-78.7581764133134,46.39342597623491],[-78.72710717255596,46.382872692109444],[-78.72250743191249,46.370840229547355],[-78.72943336108831,46.348288962294],[-78.71884726898135,46.33146542063019],[-78.70473272194137,46.323027986254125],[-78.6758223431252,46.31823377685468],[-78.63099366843188,46.32123927594403],[-78.5970583740427,46.318852640409226],[-78.55307735533687,46.309423761489136],[-78.51387700322158,46.29687612259895],[-78.41526189278822,46.29484284797186],[-78.40347142936609,46.293388298996845],[-78.38838873033505,46.291687914269474],[-78.34404809839945,46.26623448966221],[-78.30958080965134,46.25316901996805],[-78.2894478744111,46.259515291870756],[-78.26049054853314,46.27394403452216],[-78.23969514085539,46.27501142615613],[-78.21972729246887,46.27005367276386],[-78.17022177346973,46.276301818394906],[-78.1351427861664,46.27472798598919],[-78.11731938043934,46.26367479093502],[-78.08896565739576,46.25645580712684],[-78.06679349434555,46.246663433152555],[-78.0426860528003,46.242511817906895],[-78.01463354389601,46.24822799806162],[-77.98798594533616,46.24656224388701],[-77.92680915528236,46.224098983631215],[-77.88089792215295,46.21644845856068],[-77.85016760210638,46.207969685052376],[-77.85138496962131,46.22425867013997],[-77.85588063989603,46.23245032038769],[-77.84812236038326,46.247348020587424],[-77.85368412599058,46.27734836117725],[-77.84246587193162,46.286655012904475],[-77.83646498911514,46.31748217334933],[-77.826397444805,46.32262501103659],[-77.80238123086481,46.364450528627685],[-77.77394384236645,46.373484365867014],[-77.76999440149756,46.38767802875693],[-77.7417472997602,46.40488963557347],[-77.76559553331434,46.43042268633502],[-77.75987119121234,46.440414007914285],[-77.77635986178412,46.452852674264946],[-77.76470348075428,46.47332266322634],[-77.75942622391936,46.496043561973124],[-77.76106095277352,46.51197979917054],[-77.78383491120104,46.523838946704394],[-77.76866710686839,46.534637764562596],[-77.77811013291132,46.54572239846611],[-77.78939039016223,46.570988840438005],[-77.77434368998588,46.58407096882974],[-77.78545641802204,46.60244018762163],[-77.85668699433232,46.641343784717684],[-77.85929026315257,46.660463694284395],[-77.83295652423068,46.683175188966985],[-77.83773858251928,46.69604123409504],[-77.81929438892904,46.70585088690125],[-77.82900329219882,46.733214287603104],[-77.8323860040288,46.75314738849222],[-77.82860678786626,46.76554369746646],[-77.83804780556143,46.77405239802952],[-77.83735640690173,46.79055119863492],[-77.82351861895053,46.81702689770807],[-77.83798459856182,46.81694870083046],[-77.85857159359573,46.82419119511744],[-77.88318959971116,46.82176408646491],[-77.89280931673953,46.85776829590761],[-77.8818884089365,46.86354149529483],[-77.8795455178431,46.88319100070517],[-77.8876266912984,46.8866917954258],[-77.87313521160031,46.90449959406719],[-77.85119561622619,46.9397923937506],[-77.8427087034219,46.94077401034232],[-77.84190579707416,46.969085698049945],[-77.84534151287176,46.98502280736294],[-77.83488659584992,47.00598940348145],[-77.84644489682921,47.02162439762676],[-77.84501838230972,47.039723594653594],[-77.8279444046148,47.06015519190554],[-77.83125138800762,47.0861695051125],[-77.84647469885661,47.10488341043977],[-77.84262759218129,47.127418695836184],[-77.85360879830723,47.14720660497127],[-77.84837800675975,47.1562284013145],[-77.85518600777723,47.17189999287054],[-77.85015630348653,47.17748290045463],[-77.85837230878704,47.2362821090951],[-77.87089009246628,47.24270637066065],[-77.9011348939892,47.242585985861886],[-77.93121710396355,47.26968759768388]],[[-78.80331455579366,46.99648614021508],[-78.79037523320214,46.99507600254297],[-78.79753237437046,46.98423174431978],[-78.81266954865653,46.98814702898838],[-78.80331455579366,46.99648614021508]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.27389648772755,\"lat\":46.982456390723385},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2485\"],\"cd_name_en\":[\"T\\u00e9miscamingue\"],\"csd_code\":[\"2485907\"],\"csd_name_en\":[\"Les Lacs-du-T\\u00e9miscamingue\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscamingue\",\"csd_name_fr\":\"Les Lacs-du-T\\u00e9miscamingue\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.10152609925603,48.7046434427956],[-79.18987466913538,48.70494653917622],[-79.18985263848151,48.73433837759051],[-79.23533275504201,48.73426614683369],[-79.23904478089854,48.72306118723773],[-79.22974197892027,48.71551307746428],[-79.31201753762244,48.690630624126804],[-79.27243015101541,48.65036211306905],[-79.2596591063336,48.65051247156801],[-79.25336189765156,48.63670950235116],[-79.25419635154242,48.61742925157901],[-79.20676383525084,48.617173523238584],[-79.14392951359459,48.61710879346086],[-79.14304250041864,48.646415403990254],[-79.08107287267958,48.646185712550135],[-79.0811788974232,48.67492269370609],[-79.10198553203332,48.67516916630654],[-79.10152609925603,48.7046434427956]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.19451154216497,\"lat\":48.670709523418566},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2487\"],\"cd_name_en\":[\"Abitibi-Ouest\"],\"csd_code\":[\"2487025\"],\"csd_name_en\":[\"Palmarolle\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi-Ouest\",\"csd_name_fr\":\"Palmarolle\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.56056126431166,48.287969436384714],[-77.3439460796466,48.28738997492937],[-77.34408763114982,48.36052095951602],[-77.31293776938848,48.36012822384682],[-77.3131101943348,48.43032364103328],[-77.30956497534407,48.43032133629318],[-77.30952849931985,48.503305625222204],[-77.34426127718561,48.50363002958307],[-77.56104213937193,48.503406168329704],[-77.56056126431166,48.287969436384714]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.44097485880718,\"lat\":48.39911310318753},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2489\"],\"cd_name_en\":[\"La Vall\\u00e9e-de-l'Or\"],\"csd_code\":[\"2489050\"],\"csd_name_en\":[\"Belcourt\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-de-l'Or\",\"csd_name_fr\":\"Belcourt\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.83767471639895,52.27038270573287],[-70.87198753201133,52.2725725045436],[-70.88203857882525,52.279823431989755],[-70.91706238988272,52.251081054906834],[-70.92075778903778,52.243711322054224],[-70.94638441280146,52.240939787075874],[-70.96426818224957,52.2311554112413],[-71.0380637975827,52.211512559004625],[-71.08117166618149,52.21298582287547],[-71.08748628980095,52.201907498699015],[-71.08374306776659,52.18948663471829],[-71.09624560575745,52.181951351081025],[-71.14038844030493,52.16998206817965],[-71.15470467020528,52.15243590671144],[-71.1532679153667,52.1387504516877],[-71.16238307693898,52.12750811437985],[-71.19167980148616,52.11557738990602],[-71.20291025526765,52.090017434633786],[-71.237050668895,52.07621255483259],[-71.24500829384326,52.06348296404435],[-71.26256714327825,52.05440509776192],[-71.26879724715705,52.04009891332765],[-71.24722772183202,52.03569996170594],[-71.20535775413613,52.039634138150184],[-71.2099224483961,52.02580415963658],[-71.24610561362664,52.02146947729366],[-71.27372691450215,52.000824231630645],[-71.28073632115273,51.98646999699298],[-71.31511829229649,51.966866756482794],[-71.31365966833292,51.947180084904694],[-71.32873014105776,51.91886246161919],[-71.35358769388446,51.90527492367217],[-71.36356219420216,51.878516088717014],[-71.37797663049753,51.85446974645522],[-71.3997415920627,51.8413856851136],[-71.4501175379912,51.84396212058363],[-71.46702057347586,51.83963122915686],[-71.53053781955575,51.8342973845091],[-71.57111896571655,51.81382837567133],[-71.57224877446663,51.80186433131303],[-71.5835095641004,51.784659246235975],[-71.5781117895976,51.7482740999559],[-71.60406509802458,51.69475218028934],[-71.59974860751879,51.67972802645669],[-71.61318073904245,51.65908121123353],[-71.60331629845543,51.64812067278728],[-71.60956911075861,51.606507752225134],[-71.58965493044475,51.58795609139727],[-71.58111225466483,51.5868492515071],[-71.58321637968798,51.56095063481179],[-71.59315149501334,51.551102132835375],[-71.57930739421845,51.532314316328026],[-71.57922192768153,51.50667397108432],[-71.59137770576686,51.49520373617816],[-71.66544468371532,51.477222828893574],[-71.68665002362789,51.44641347092381],[-71.6940042732144,51.417299479978986],[-71.6864612899821,51.40778938231203],[-71.70636292994601,51.3941156682778],[-71.71113251134908,51.37586780370606],[-71.74906895044867,51.350466515235816],[-71.75950969587146,51.34844335474224],[-71.77216149955808,51.36315269519831],[-71.79937467899856,51.35427406070438],[-71.81699546151965,51.35346758410836],[-71.81606176373158,51.371022967542096],[-71.82911955868516,51.37711397960093],[-71.83639311459247,51.35938397024517],[-71.86427906107755,51.34916049040515],[-71.87470172049427,51.33623465820077],[-71.86741963735642,51.32129396906166],[-71.88108628415263,51.30548404711859],[-71.87351377219666,51.27813108154495],[-71.88559563875276,51.27325515439021],[-71.91921216011917,51.278754085634624],[-71.93700398020576,51.27148838762257],[-71.9568897582928,51.24031734357095],[-71.98931130448415,51.22954129830691],[-71.97850081754684,51.21573588713554],[-71.99192111104598,51.20668024847249],[-71.99638727959515,51.178148915682215],[-72.02500051573412,51.163443933177994],[-72.02745744643826,51.13772780576996],[-72.05993407725396,51.14980906757501],[-72.07761441376252,51.14227195087113],[-72.06414099915257,51.121960531881165],[-72.0543835906081,51.08192013099681],[-72.06961699494867,51.0483362921444],[-72.08186410023448,51.03633969200922],[-72.09347319823976,51.01507410376366],[-72.09397281526144,50.99619140003605],[-72.10398098615687,50.980767008659924],[-72.09586428227865,50.97411569182336],[-72.10691701589984,50.951664194234226],[-72.10741877725802,50.920104705643766],[-72.10191529410402,50.879248990480754],[-72.11023821102565,50.85360848920947],[-72.1549944934455,50.82883349232037],[-72.15937958968787,50.81004869523719],[-72.14956059943556,50.7750878082525],[-72.15525780955697,50.750959812270445],[-72.1517022852451,50.740048988209224],[-72.16332750777514,50.720394408671844],[-72.17727538776441,50.68525580328761],[-72.18743550613499,50.648265697014786],[-72.19162009720446,50.59279430467553],[-72.18957028911021,50.5811550025515],[-72.16222291720726,50.53761559313804],[-72.16653441215647,50.53130840067729],[-72.15713160413691,50.469467805746596],[-72.16696029642465,50.40847708651747],[-72.184103106013,50.38133011169678],[-72.18371937807943,50.353533904512155],[-72.16227998628942,50.341321799504385],[-72.16452930135507,50.31672061050798],[-72.15743390450062,50.308888299291944],[-72.16418490854379,50.2633530132435],[-72.15452649446514,50.242228604609686],[-72.16055098614024,50.216366888683346],[-72.1789886989598,50.19872100406052],[-72.16978368516791,50.175606688605846],[-72.17163981499827,50.158651904403015],[-72.16030019785805,50.15024040436873],[-72.16890880219829,50.1259543009143],[-72.16550600328335,50.10094550486201],[-72.1677067935684,50.08308639520802],[-72.16028991455542,50.06692400571362],[-72.17354640889882,50.0537686045701],[-72.15985373352049,50.04070489191203],[-72.13083313024433,49.94917645295111],[-72.09536850025944,49.883720605846854],[-72.07830910102714,49.84526060250689],[-72.06693699989474,49.84000398872394],[-72.0532144089726,49.81668779916077],[-72.03514750649876,49.813943110960906],[-72.0319107038126,49.78404820376433],[-72.03787579940968,49.773198112056264],[-72.02701691497641,49.767278498579635],[-72.03284688319187,49.75121150847938],[-71.99489721234524,49.713305090017684],[-72.00182161230187,49.69464848961725],[-72.01834518166406,49.696030195876546],[-72.03778991502715,49.68094538986635],[-72.04789618925362,49.66686478449325],[-72.03657149417468,49.65827828579102],[-72.04111019494165,49.630639099364956],[-72.02889410718004,49.60462229794886],[-72.02629691108052,49.58474280334492],[-71.99227908723435,49.555190811670684],[-71.97154895313254,49.54491790182582],[-71.94923895584122,49.51263804573787],[-71.93637160569502,49.50089390402359],[-71.93254190577862,49.469634534124054],[-71.93464029990142,49.458864956171965],[-71.92855375793194,49.43257835285608],[-71.94357165921774,49.4054076202],[-71.94401958158038,49.38560989427285],[-71.9652453335365,49.381707559765395],[-71.97324372974846,49.36954109945865],[-71.98919380526645,49.37534716237986],[-72.01657314471237,49.373825415689545],[-72.01729407909642,49.38814762657566],[-72.03308037402826,49.393379265039364],[-72.04725391080477,49.38242806671054],[-72.05761313836693,49.39489007993135],[-72.0686101058938,49.39269277957442],[-72.0790828743341,49.37420093235186],[-72.09294803219662,49.37823589421547],[-72.10410922270874,49.357265261060036],[-72.11675644525074,49.34727099172426],[-72.12948563904065,49.32803013731584],[-72.14261119737102,49.29541869634545],[-72.15601508092438,49.25352608211016],[-72.13341348627733,49.22691239052423],[-72.11486640913883,49.210692780836325],[-72.10283160976465,49.1859636892293],[-72.09195447199447,49.177248458548206],[-72.0794542705783,49.1561257394766],[-72.09261511955265,49.130908090421414],[-72.09940263573984,49.10979871637266],[-72.09891819804695,49.082245503162376],[-72.10294640965093,49.06704102028117],[-72.13565957080792,49.065400881359416],[-72.14862883873671,49.05793685387652],[-72.15134355731553,49.03864896094317],[-72.14441957719976,49.02174505152714],[-72.15080415348665,49.009204585612565],[-72.07468512936255,48.94266502735251],[-71.92953602213926,49.01300759096809],[-71.84403526716319,49.01558464686991],[-71.83886660703384,49.007262009275856],[-71.86913808804216,48.97703998715763],[-71.8836039963231,48.945858386986274],[-71.9177140814144,48.934894807582495],[-71.9318206208327,48.91885609706976],[-71.92428541076315,48.89669070486419],[-71.96773622046472,48.86990751928147],[-71.9050897797808,48.85864691646397],[-71.8622231692552,48.963313325967185],[-71.77375383412853,48.94855384416418],[-71.7801330793337,48.933440549641766],[-71.75644035031284,48.93003693175985],[-71.74499170016851,48.91456959798457],[-71.75226644572459,48.90144560336434],[-71.75104046535763,48.87667022673157],[-71.77672144924969,48.84876556265644],[-71.7642258418595,48.84105378990637],[-71.76891686229233,48.832676152949766],[-71.7410967086229,48.821623560343795],[-71.7205793726825,48.800588953247214],[-71.69892310129988,48.784129302571124],[-71.69125186525172,48.77106228035788],[-71.65694360537528,48.75425044611037],[-71.64356377062461,48.752120487172014],[-71.58890304718383,48.76665331656782],[-71.56351184435219,48.78514306440784],[-71.54417286925045,48.78605377846134],[-71.5210740125833,48.774457107052335],[-71.50716445055505,48.77460775929473],[-71.49029086260973,48.78760013101949],[-71.49628809959324,48.80630992359382],[-71.48275206096869,48.8097392330253],[-71.47865911935797,48.82828687835301],[-71.46354832477435,48.83444112531162],[-71.4612900851399,48.849493605721925],[-71.44822700197159,48.88595200616397],[-71.39196725115794,48.93171436338524],[-71.37516470917527,48.94050862041352],[-71.36813440135013,48.96430715569251],[-71.33698944617736,48.98927590277577],[-71.33280850986131,49.03133802352648],[-71.31743212594911,49.05254548997627],[-71.2932241954761,49.07212477559749],[-71.27302509580709,49.103633894700174],[-71.2555008517371,49.197405181161855],[-71.25359080803732,49.26096244131931],[-71.25807947385806,49.28292056675136],[-71.24704261838278,49.314693659060595],[-71.22656026906694,49.356728142891804],[-71.20674413500818,49.38184667232698],[-71.20356641849797,49.424278732095935],[-71.17025855481266,49.49152548316888],[-71.18654222354999,49.51255523001422],[-71.20141930907442,49.52073520165936],[-71.21185814621225,49.53807652491132],[-71.20052291428695,49.582631106424415],[-71.19331021909939,49.58708252544798],[-71.1858135075034,49.63061416676186],[-71.19812424013844,49.65597584546762],[-71.19901072825856,49.67341696054181],[-71.19309084468104,49.70272702421917],[-71.19808373517395,49.722505962280444],[-71.18555690294063,49.754945228731316],[-71.18533255819277,49.77804180843281],[-71.17863725245174,49.796981867614605],[-71.16497824869505,49.812139313570185],[-71.16312820176722,49.83445973254909],[-71.18388039142732,49.838924951924355],[-71.20819869329779,49.85167407655043],[-71.22834530489367,49.87869009029442],[-71.24671593506024,49.87899235953215],[-71.26669444439902,49.8900583320737],[-71.24629487790078,49.91319755997041],[-71.25652881290733,49.93397733455714],[-71.24715341674316,49.95604510650345],[-71.23005284382735,49.98359137122994],[-71.19723050299686,50.005759678491245],[-71.19729014620103,50.0220245669078],[-71.2114446270222,50.050339268535865],[-71.2180622457233,50.07539271859563],[-71.23252305792079,50.09944623195799],[-71.25827726404812,50.132439268011964],[-71.28447309529955,50.15107436420066],[-71.2878152209778,50.16182332767762],[-71.26318024493368,50.20017681839431],[-71.26408863767996,50.21689564209199],[-71.27710815326309,50.2421236232872],[-71.28715402861506,50.27526688278693],[-71.31571461156952,50.30511705996887],[-71.34241880994128,50.318079556526065],[-71.34995989714372,50.33159998031665],[-71.34784381828645,50.356853919866175],[-71.34022140715139,50.37002373522064],[-71.34150984900837,50.38610540497677],[-71.36036800012437,50.41470663268814],[-71.34502490962952,50.42493036136272],[-71.34385645983012,50.454357727595486],[-71.32647409469509,50.464299558142386],[-71.3291156076565,50.47358319901892],[-71.31028331071678,50.488215815406924],[-71.27721248393617,50.500010043881616],[-71.28221321424783,50.53541225789211],[-71.27895029841102,50.55014095995274],[-71.28834752720874,50.56262506659082],[-71.25334044729235,50.58575130587191],[-71.24321858168837,50.596799725301196],[-71.25731413569223,50.61413998098647],[-71.27378494396083,50.62089904451595],[-71.28366439517403,50.64108778407102],[-71.28101067495562,50.66628868784041],[-71.28542472484801,50.68488127521787],[-71.27332585629323,50.69865267525768],[-71.28434374813973,50.71564386759473],[-71.30795793319969,50.7140950603267],[-71.3219135775986,50.75006386764881],[-71.29017068103035,50.79046126870406],[-71.29205003638441,50.79775408507963],[-71.2836407623529,50.835278479347394],[-71.2922439730406,50.84491327030468],[-71.29192779205928,50.865580379824074],[-71.30783312040357,50.8790604173929],[-71.30335643632279,50.89143761382468],[-71.32055712193785,50.903645703053925],[-71.317657533657,50.91834103669621],[-71.34657693882754,50.93262904666407],[-71.34554499946212,50.96094780568684],[-71.33873212632024,50.977809271932514],[-71.33035235120904,51.02305009454678],[-71.3594306649651,51.06903333874726],[-71.37046826438012,51.070782063350414],[-71.38257146275963,51.09340141964504],[-71.40067546071285,51.099438156426366],[-71.40529937740597,51.110548636875855],[-71.4268329789094,51.130486196947324],[-71.42620020464564,51.14783476801784],[-71.43863786193472,51.15840350207896],[-71.4338038667002,51.166173632337824],[-71.4707573406896,51.188862770910916],[-71.48620867107435,51.19371295348045],[-71.49777756651396,51.22230245368423],[-71.50787626117729,51.23131385855168],[-71.48684465421249,51.25177840479794],[-71.46336485182479,51.25887205459198],[-71.44215394705081,51.301077421100295],[-71.45761009943479,51.33442767169733],[-71.45508378505615,51.34558527954164],[-71.46056327226363,51.37244316420216],[-71.47028442319589,51.38918632212684],[-71.46475149044701,51.40828635075995],[-71.44556984994087,51.435962940913136],[-71.45038134929354,51.45665251265409],[-71.44442572247358,51.46924380380645],[-71.45322045809458,51.481733460153215],[-71.44794586233644,51.4970704808191],[-71.42329836181067,51.51478403350966],[-71.4347467966767,51.5353536778022],[-71.43160897627583,51.557737993913825],[-71.42412152957152,51.57482239401175],[-71.4303972252788,51.579324714307546],[-71.41944442615943,51.607072945487566],[-71.42535321515183,51.62014825873066],[-71.41087853864894,51.62555991404127],[-71.37776960236589,51.649326812103496],[-71.36922411829019,51.66431956254573],[-71.35340151457358,51.67187808947404],[-71.32392387983678,51.69933065020896],[-71.30860079336536,51.722445172692545],[-71.31066303301904,51.74069804166996],[-71.30117854225152,51.747478378394696],[-71.29701309383131,51.76364161185877],[-71.30766847340428,51.778000571985295],[-71.30680540203642,51.79502469687728],[-71.28305854394516,51.82636670563916],[-71.25693903435013,51.84290469216263],[-71.23516540197305,51.86758423034847],[-71.24004914870352,51.8780593060772],[-71.22698861567726,51.90425981780587],[-71.20163037708143,51.929688255162304],[-71.18028704661488,51.96119682741873],[-71.17062776242412,51.98256250243539],[-71.14414562841668,52.00272030236294],[-71.12872530713231,52.02639728410399],[-71.12538893791013,52.04366846272754],[-71.09681856202275,52.09183577818727],[-71.09545603728203,52.116788406728325],[-71.07858201886349,52.118207245929135],[-71.06563326710852,52.14001905464373],[-71.04387560588319,52.14422763159449],[-70.99694827389469,52.164850657807186],[-70.97056507264033,52.17380672839267],[-70.95170773177944,52.186837875058835],[-70.93793291650651,52.206256197138316],[-70.92698044772963,52.20939582316204],[-70.89771058875743,52.23637296544686],[-70.89287228016063,52.246199151114034],[-70.85672510430571,52.26557270097085],[-70.83767471639895,52.27038270573287]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.66544556132959,\"lat\":50.19804674582988},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2492\"],\"cd_name_en\":[\"Maria-Chapdelaine\"],\"csd_code\":[\"2492902\"],\"csd_name_en\":[\"Passes-Dangereuses\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Maria-Chapdelaine\",\"csd_name_fr\":\"Passes-Dangereuses\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.76384905304404,48.68896645664324],[-71.75656811730721,48.709536414400944],[-71.8348744666464,48.72443625414828],[-71.84192834269302,48.710743084700354],[-71.87846182077651,48.717635892301764],[-71.92901767562117,48.58091955327239],[-71.81408786100313,48.569036725987885],[-71.80922395630407,48.58012648310039],[-71.78785840157438,48.623716198070596],[-71.76384905304404,48.68896645664324]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.84230875470415,\"lat\":48.64596565884194},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2493\"],\"cd_name_en\":[\"Lac-Saint-Jean-Est\"],\"csd_code\":[\"2493070\"],\"csd_name_en\":[\"Saint-Henri-de-Taillon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Lac-Saint-Jean-Est\",\"csd_name_fr\":\"Saint-Henri-de-Taillon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.46504052045296,48.35829308567811],[-70.4668330506025,48.38177167320953],[-70.4547467729207,48.40837504433756],[-70.51346652692143,48.41920686481528],[-70.51130768049805,48.42543651023667],[-70.58405933161738,48.43896968942594],[-70.63283655548189,48.449670403268065],[-70.69946483952586,48.46196136802883],[-70.73374984573829,48.38274703670431],[-70.72636688962895,48.36898319113399],[-70.71108084956357,48.36155718300958],[-70.69168933836815,48.362902742444724],[-70.67390484363922,48.36422579046304],[-70.64980128160991,48.37347772839263],[-70.61193297399053,48.36593530242172],[-70.56546788018117,48.37177873347785],[-70.54146078049725,48.363846986213346],[-70.49529322063894,48.36264000722681],[-70.46504052045296,48.35829308567811]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.60583525569513,\"lat\":48.403050653120644},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2494\"],\"cd_name_en\":[\"Le Saguenay-et-son-Fjord\"],\"csd_code\":[\"2494230\"],\"csd_name_en\":[\"Sainte-Rose-du-Nord\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Saguenay-et-son-Fjord\",\"csd_name_fr\":\"Sainte-Rose-du-Nord\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.94709270395636,50.405442898199524],[-62.999999998512045,50.40545435181174],[-62.999999989531204,50.665391791905776],[-63.3029704399477,50.66806582304515],[-63.6127604322787,50.667138546037066],[-63.72705961887381,50.66566043209088],[-63.72966391933585,50.597111618981124],[-63.73012300177519,50.49541716156225],[-63.881129271908655,50.49512423740894],[-63.888783731362786,50.48927101787649],[-63.92819736110228,50.47898536842358],[-63.93761856277688,50.45977345844909],[-63.94918290382927,50.45006736739007],[-63.95198368467207,50.43330749789869],[-63.965900947833305,50.41926421668098],[-63.9692404598898,50.3998481414087],[-63.97894138521283,50.383893361016696],[-64.01050252670407,50.36658426208992],[-64.02019223382636,50.35774016053609],[-64.04111452514869,50.35041995117049],[-64.06136065135472,50.3486188150461],[-64.06996419618697,50.32120396640333],[-64.07180251619323,50.31421108293589],[-64.04889515748854,50.31962985225055],[-64.02455756512866,50.31469962274244],[-64.0220031086214,50.30493195243326],[-63.993087392250956,50.30062126196056],[-63.9847504582632,50.285728515092295],[-63.96900043635397,50.22784593743668],[-63.952961486996664,50.15751139517392],[-63.95076643160905,50.13687045032977],[-63.93291874542698,50.073529654627926],[-63.91436350779705,50.00007130837286],[-63.895254190600724,49.90937906020586],[-63.89861038536304,49.906119393207256],[-63.8727512009656,49.90091884404552],[-63.802756073055605,49.895655396596624],[-63.72683666110064,49.89275827962312],[-63.5860182329053,49.87552850635971],[-63.48373279765674,49.86140742533576],[-63.382754974624596,49.846118009413495],[-63.23254418677525,49.81406540906225],[-62.97206807750133,49.9821423634062],[-62.942038088284086,50.000451933868995],[-62.93989310982843,50.029593690667554],[-62.91072948736527,50.14728794057896],[-62.91437885533833,50.23520203621487],[-62.91476034002187,50.2760509381035],[-62.90032306026077,50.28036174182928],[-62.885619406062034,50.30626893205516],[-62.90687397719398,50.31513243681586],[-62.90366071498958,50.32297716059661],[-62.93063141482549,50.334247743840365],[-62.94067406980846,50.34469711602861],[-62.93272463157266,50.35421940809885],[-62.931292767991955,50.373440816366426],[-62.94709270395636,50.405442898199524]],[[-64.00060879305765,50.343466389451535],[-64.00000001358435,50.32221711623876],[-64.01569427650385,50.31168082367079],[-64.03791818886106,50.324543045130056],[-64.06660417815503,50.31779861464262],[-64.05591834948481,50.34245267263601],[-64.00060879305765,50.343466389451535]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.43296168036021,\"lat\":50.25454276582539},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2498\"],\"cd_name_en\":[\"Minganie--Le Golfe-du-Saint-Laurent\"],\"csd_code\":[\"2498040\"],\"csd_name_en\":[\"Havre-Saint-Pierre\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Minganie--Le Golfe-du-Saint-Laurent\",\"csd_name_fr\":\"Havre-Saint-Pierre\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.16870266839908,60.07373857664309],[-77.16978978999644,60.08545879628551],[-77.41765785028187,60.08384500327133],[-77.41693539640757,60.06093471620138],[-77.3852791769458,60.05343560695675],[-77.38978988675854,60.04026198857953],[-77.37025907971186,60.02098020506742],[-77.3469496731946,60.01910752913696],[-77.33016201773279,59.99999999027667],[-77.16188120186729,60.00000004190696],[-77.16870266839908,60.07373857664309]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.27621152681976,\"lat\":60.04520996812671},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499120\"],\"csd_name_en\":[\"Puvirnituq\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village nordique\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Puvirnituq\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.04322396278017,44.94055864489384],[-75.1147259866458,45.027764497061646],[-75.15661996633087,45.08697020473953],[-75.26541938963187,45.04425629577751],[-75.3671257965233,45.000688708836826],[-75.4018603978703,44.986846606832366],[-75.48560441281718,44.9565106989266],[-75.41221261190817,44.86202790952823],[-75.35724024904702,44.79810089888158],[-75.34451299712683,44.8089027771818],[-75.33349534706228,44.806180791326675],[-75.30191156171333,44.826388606403754],[-75.30746740174699,44.836714436596104],[-75.28474025707719,44.848371030968075],[-75.25595269618515,44.85729731181228],[-75.21822514717445,44.87780147679132],[-75.20301916684244,44.8777665091855],[-75.16489124935363,44.89352760333857],[-75.13997570548773,44.89686462771471],[-75.13466063011198,44.91499217777652],[-75.09641985378515,44.927021612690936],[-75.06470501807169,44.92944753689126],[-75.04322396278017,44.94055864489384]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.26627845808726,\"lat\":44.94694792557957},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3501\"],\"cd_name_en\":[\"Stormont\",\"Dundas and Glengarry\"],\"csd_code\":[\"3501020\"],\"csd_name_en\":[\"South Dundas\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Stormont, Dundas and Glengarry\",\"csd_name_fr\":\"South Dundas\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.02984339777863,44.89598496673952],[-76.06290926378624,44.89107385419103],[-76.0729164501617,44.89303720475661],[-76.08485866032045,44.87800879376386],[-76.13464607373419,44.849228455508566],[-76.17652922178189,44.8321776069434],[-76.18828782222738,44.81424876688222],[-76.19814616226823,44.80346105161152],[-76.20027175319453,44.78911265638242],[-76.22045682642943,44.75442876444444],[-76.2355624342576,44.7367703001175],[-76.25984500612223,44.71942208525847],[-76.29119048830643,44.704117816677005],[-76.40232353928927,44.794601826486925],[-76.50092173708843,44.736849629167395],[-76.52566459620745,44.72119583474371],[-76.41981073287275,44.62341011876169],[-76.36381115206235,44.57285669280673],[-76.27783830210228,44.50140710818321],[-76.26265193025587,44.49057346797923],[-76.25484448509415,44.49800856604585],[-76.17831899560676,44.546090303464396],[-76.09557530498171,44.59996971257889],[-76.03292715392617,44.638005335569204],[-75.98381330722164,44.667388636027894],[-76.06315808798941,44.736047304266826],[-76.1099979996269,44.77788536466826],[-75.97543939931,44.857424209497715],[-75.97039549181825,44.862301388698725],[-76.00398459420137,44.89003399646635],[-76.01593917329151,44.87747703410962],[-76.02984339777863,44.89598496673952]],[[-76.38934744444114,44.68160699207549],[-76.4034901987068,44.67150239163284],[-76.40916321491945,44.68476890269993],[-76.38934744444114,44.68160699207549]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.22890038210122,\"lat\":44.68577191994704},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3507\"],\"cd_name_en\":[\"Leeds and Grenville\"],\"csd_code\":[\"3507040\"],\"csd_name_en\":[\"Rideau Lakes\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Leeds and Grenville\",\"csd_name_fr\":\"Rideau Lakes\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.81954218537322,44.962213115561276],[-75.87643136809409,45.00789298132517],[-75.95312790548269,45.072398102684765],[-76.09509208944205,44.9830322095549],[-76.10645051072125,44.97312169700646],[-76.02871221717432,44.9091652277292],[-76.02156800086387,44.914253396543124],[-76.00125011710718,44.90406708307888],[-75.96965275966011,44.905611162162536],[-75.99734046674197,44.89070121933263],[-75.9807464421008,44.87273397635088],[-75.95069718266525,44.86798003859478],[-75.94957767381389,44.87760573083644],[-75.9363532640097,44.88630558759922],[-75.91611390946406,44.867544699869],[-75.8852547741977,44.87131443608258],[-75.87172439207608,44.90388554608584],[-75.84425024165971,44.93106163220683],[-75.83174245077159,44.92651741363349],[-75.81616466854821,44.956876766284864],[-75.81954218537322,44.962213115561276]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.95492027266596,\"lat\":44.96355591099698},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3509\"],\"cd_name_en\":[\"Lanark\"],\"csd_code\":[\"3509001\"],\"csd_name_en\":[\"Montague\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Lanark\",\"csd_name_fr\":\"Montague\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.09509208944205,44.9830322095549],[-76.15382330109973,45.03345179117724],[-76.19082896200636,45.0634622054321],[-76.22392258645661,45.09421649965296],[-76.22722408115138,45.09214936615031],[-76.38198745450181,44.99633122565877],[-76.30758110376624,44.93493369867019],[-76.27665389129976,44.911001202201376],[-76.25758210922685,44.91434569120688],[-76.2406655255432,44.924458530094185],[-76.22964412079259,44.91557589002424],[-76.24025391103547,44.892285893323695],[-76.22767991753352,44.879854890577214],[-76.2373047934378,44.87385198632704],[-76.2511909002363,44.885430691436625],[-76.26178101002205,44.878870999556646],[-76.18828782222738,44.81424876688222],[-76.17652922178189,44.8321776069434],[-76.13464607373419,44.849228455508566],[-76.08485866032045,44.87800879376386],[-76.0729164501617,44.89303720475661],[-76.06290926378624,44.89107385419103],[-76.02984339777863,44.89598496673952],[-76.02871221717432,44.9091652277292],[-76.10645051072125,44.97312169700646],[-76.09509208944205,44.9830322095549]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.20323836968313,\"lat\":44.95723879172292},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3509\"],\"cd_name_en\":[\"Lanark\"],\"csd_code\":[\"3509010\"],\"csd_name_en\":[\"Drummond\\/North Elmsley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Lanark\",\"csd_name_fr\":\"Drummond\\/North Elmsley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.04472476675488,44.20898736365258],[-77.10612249857166,44.3281507975914],[-77.13960796813849,44.39848573318819],[-77.3308753865781,44.3493550090766],[-77.33330629377942,44.34878258766736],[-77.25919625920564,44.197487400419284],[-77.23320932651666,44.18873499345095],[-77.2340329425556,44.20209755810991],[-77.06675396244982,44.22540886452317],[-77.05728373458426,44.20573718125581],[-77.04472476675488,44.20898736365258]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.19401327564773,\"lat\":44.29240498660284},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3512\"],\"cd_name_en\":[\"Hastings\"],\"csd_code\":[\"3512001\"],\"csd_name_en\":[\"Tyendinaga\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Hastings\",\"csd_name_fr\":\"Tyendinaga\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.00472301524849,44.58184769388977],[-78.02639043842133,44.5831519901977],[-78.07668628605077,44.56986844275926],[-78.08961259169168,44.571268040900875],[-78.1272798739304,44.554376439201846],[-78.14772060527902,44.55201602916301],[-78.15928181956342,44.54413449017014],[-78.19024221252705,44.519410775738244],[-78.21805136493641,44.49124478338832],[-78.2372259979881,44.48643720160772],[-78.24920839997495,44.46718461147279],[-78.2749171393958,44.44311282930094],[-78.2541526880875,44.43200508929337],[-78.24674103987343,44.416023649713985],[-78.26321930744483,44.412011494368755],[-78.26413915411334,44.397701218095506],[-78.27311855346093,44.38230731676641],[-78.28358956406629,44.378236505937686],[-78.26822558929207,44.34557474546471],[-78.29599504786346,44.33810459162028],[-78.30375470227712,44.329227568974225],[-78.29321250821513,44.32232210395661],[-78.20377759147716,44.34359129836794],[-78.11559721132993,44.36558710635919],[-78.11089258707328,44.36810580494675],[-77.95414070938418,44.40770911308634],[-77.92601675265014,44.41647745140992],[-77.95647280618049,44.47999920445832],[-77.99987826984531,44.565242978981054],[-78.00472301524849,44.58184769388977]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.11006049688112,\"lat\":44.45339010672166},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3515\"],\"cd_name_en\":[\"Peterborough\"],\"csd_code\":[\"3515023\"],\"csd_name_en\":[\"Douro-Dummer\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Peterborough\",\"csd_name_fr\":\"Douro-Dummer\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.48554858650894,43.957479589320336],[-79.39266821475093,43.97780302295097],[-79.39760258897313,43.9985199079637],[-79.40507829427216,44.007650610575894],[-79.41142457598518,44.035510097357914],[-79.49949149997964,44.016470498375156],[-79.48554858650894,43.957479589320336]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.44737742618275,\"lat\":43.99638257171131},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3519\"],\"cd_name_en\":[\"York\"],\"csd_code\":[\"3519046\"],\"csd_name_en\":[\"Aurora\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"York\",\"csd_name_fr\":\"Aurora\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.2945189494167,44.39279959481268],[-79.31891103044966,44.38941620720801],[-79.31739913888897,44.374278298919975],[-79.29496881234341,44.3548811634754],[-79.26840304659567,44.36767579529119],[-79.2712254381312,44.38095268657489],[-79.2945189494167,44.39279959481268]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.29430763363456,\"lat\":44.37553761893968},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3519\"],\"cd_name_en\":[\"York\"],\"csd_code\":[\"3519076\"],\"csd_name_en\":[\"Chippewas of Georgina Island First Nation\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"York\",\"csd_name_fr\":\"Chippewas of Georgina Island First Nation\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.79316922458749,43.30113071327437],[-79.80316096123113,43.295668253217265],[-79.8152014515125,43.312300803536374],[-79.85448834791586,43.29678900535197],[-79.86797894016118,43.286631085728864],[-79.88594859438608,43.28922429082071],[-79.91252965779933,43.308468722346255],[-79.88434271165642,43.32917409293764],[-79.87538601601634,43.32932124567639],[-79.85995113317989,43.346933506092874],[-79.95930529478481,43.41725189432364],[-80.03433919445197,43.47105600722617],[-80.08360991603392,43.43526920133242],[-80.07856049031558,43.41806329743717],[-80.20467819885329,43.39751850927369],[-80.18760310175014,43.343234499822906],[-80.24848621460696,43.33358576286105],[-80.23843479478494,43.30653390133285],[-80.20068139059431,43.21090518869787],[-80.17703272232563,43.20166994626187],[-79.98432309550935,43.13200039393085],[-79.7540796342317,43.05053396971242],[-79.70975309011554,43.15583932352125],[-79.65863482546928,43.143973510406624],[-79.64964000650859,43.16312998898839],[-79.62229450276097,43.22575109412319],[-79.65047294450635,43.22311199824073],[-79.68215453841393,43.23398079857593],[-79.70526514638183,43.235397407224454],[-79.73407263085285,43.24572774204697],[-79.77673646388062,43.2753183145702],[-79.79316922458749,43.30113071327437]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.95788035388719,\"lat\":43.25302873958879},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3525\"],\"cd_name_en\":[\"Hamilton\"],\"csd_code\":[\"3525005\"],\"csd_name_en\":[\"Hamilton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City \\/ Cit\\u00e9\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Hamilton\",\"csd_name_fr\":\"Hamilton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.2695729697141,43.387342130533085],[-80.29216800151949,43.4431965913177],[-80.30420603048215,43.46858529738929],[-80.30602629098593,43.472066191728835],[-80.3175891811302,43.47059154881453],[-80.38778760482077,43.44360229040792],[-80.39216942927679,43.45020543983053],[-80.40788445122445,43.43923905068171],[-80.40209664507947,43.41577338975009],[-80.38209797045907,43.41177634974905],[-80.37914251616685,43.40196439271671],[-80.39899810298145,43.39094999297699],[-80.41390465728495,43.3698254809498],[-80.36727767064615,43.37799775446056],[-80.36819983668016,43.38752752192127],[-80.34129881035543,43.382481764359866],[-80.3494538077083,43.3738249214492],[-80.35002663952145,43.35802051919434],[-80.33993738455361,43.338070907393984],[-80.3216505669403,43.33263918426691],[-80.25157466707994,43.34229622861398],[-80.2695729697141,43.387342130533085]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.32832454653199,\"lat\":43.40012456088979},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3530\"],\"cd_name_en\":[\"Waterloo\"],\"csd_code\":[\"3530010\"],\"csd_name_en\":[\"Cambridge\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Waterloo\",\"csd_name_fr\":\"Cambridge\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.79636555711542,43.46841183422807],[-80.74300990434327,43.471389195892534],[-80.62618420668595,43.479747092057906],[-80.60801184215808,43.58910223565875],[-80.75454581099255,43.648404699299945],[-80.83810851316467,43.54168879623544],[-80.86903649373691,43.49804870625036],[-80.79636555711542,43.46841183422807]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.72759964890777,\"lat\":43.54476619600498},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3530\"],\"cd_name_en\":[\"Waterloo\"],\"csd_code\":[\"3530027\"],\"csd_name_en\":[\"Wellesley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Waterloo\",\"csd_name_fr\":\"Wellesley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.99693780665318,42.2356925966709],[-83.0358995065469,42.25284240640303],[-83.07126517082634,42.25544774680535],[-83.07660638535542,42.24630410371297],[-83.1150681986382,42.25593825222518],[-83.12803967951847,42.23868377418999],[-83.13374426180243,42.173673757996234],[-83.1070419704955,42.187098712638225],[-83.00056301428661,42.18388869011392],[-82.99693780665318,42.2356925966709]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-83.06611150030936,\"lat\":42.217111916035705},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3537\"],\"cd_name_en\":[\"Essex\"],\"csd_code\":[\"3537034\"],\"csd_name_en\":[\"LaSalle\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Essex\",\"csd_name_fr\":\"LaSalle\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-81.3286245111022,44.50111549752355],[-81.28731294016295,44.50833129798777],[-81.28954441450469,44.51545590611],[-81.33802421524531,44.5067726965944],[-81.3286245111022,44.50111549752355]]],[[[-80.60010963069618,44.97353016626512],[-80.82141117779531,45.15534751556672],[-81.00000000547918,45.01756218205294],[-81.14284166405585,44.91174560140432],[-81.24459070927367,44.88548386060954],[-81.34100875413124,44.862084137148116],[-81.39815812159799,44.84711106794241],[-81.37186841597368,44.79748998043806],[-81.34470657628826,44.762129397473416],[-81.33725188714577,44.757850647388075],[-81.35372475014742,44.687361606407116],[-81.35335717488324,44.61469808129488],[-81.37515276857722,44.565323156379215],[-81.39672439936518,44.540300247445515],[-81.35667796439823,44.51956870123536],[-81.34732174374439,44.535889403000766],[-81.31900725881786,44.55773091439347],[-81.29605975977015,44.57893949877051],[-81.26999914120746,44.611174082031376],[-81.2678291977735,44.51938899409273],[-81.12701261472962,44.54455749002439],[-81.13260979570985,44.62446950802638],[-81.12221917763397,44.64168428358743],[-81.13425224275969,44.64725115704848],[-81.14038299167206,44.73554570683435],[-81.12349440104678,44.74248062521989],[-81.12352395409218,44.7547759215769],[-81.11473138903531,44.77011825057547],[-81.08031330661771,44.795421945496244],[-81.05219065222279,44.81045018850613],[-80.99999999478037,44.84718782848239],[-80.969145788874,44.86034830961221],[-80.8792422742937,44.88079380521321],[-80.87885933015679,44.88176838213268],[-80.54928559328636,44.750055418968216],[-80.59918520750243,44.97271742249658],[-80.60010963069618,44.97353016626512]],[[-81.2934698403056,44.69776830057572],[-81.27920990101983,44.69057363582104],[-81.27268138199265,44.66831970439742],[-81.28786525140512,44.66952510288564],[-81.30309525008211,44.67979309435888],[-81.30682654731572,44.6910988002677],[-81.2934698403056,44.69776830057572]],[[-80.9910517440963,44.97220989471256],[-80.9599291465569,44.956386988459116],[-80.96311694034951,44.94720599504065],[-81.00006704907217,44.93046781236335],[-81.01780496393421,44.9177371947564],[-81.03057595738848,44.89513900467053],[-81.00586507292012,44.88375210587918],[-81.0066863775954,44.871790105781244],[-81.02494698254306,44.84589117105764],[-81.13702560340946,44.9078615513481],[-81.11079554300865,44.92228368817334],[-81.09428384134081,44.92106559981963],[-81.08748235770575,44.905920802364534],[-81.10109433900368,44.895989188991926],[-81.08183795859098,44.8917108919642],[-81.06392363544744,44.89638540363996],[-81.06152456125541,44.91455259798365],[-81.03109575960167,44.918049102353585],[-81.05112703847874,44.93331840132289],[-81.0560809554681,44.945486391447986],[-81.0350904476822,44.966919491669024],[-81.01273575612275,44.96669090941563],[-81.00384594116365,44.95601539378803],[-80.9910517440963,44.97220989471256]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.99297478416293,\"lat\":44.848948302033996},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3541\"],\"cd_name_en\":[\"Bruce\"],\"csd_code\":[\"3541055\"],\"csd_name_en\":[\"South Bruce Peninsula\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Bruce\",\"csd_name_fr\":\"South Bruce Peninsula\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.54928559328636,44.750055418968216],[-80.87885933015679,44.88176838213268],[-80.8792422742937,44.88079380521321],[-80.79090296394241,44.785770637221006],[-80.80587472768369,44.750060760973675],[-80.84045461924889,44.72155481353445],[-80.91838375771884,44.627701250366556],[-80.94140774635056,44.5798370341478],[-80.93340393682895,44.58337999683285],[-80.9137160664559,44.60821360186394],[-80.90115610160079,44.60963130484742],[-80.89186940439369,44.562182694964214],[-80.92574779131361,44.55823950480169],[-80.92417578942897,44.55134633367988],[-80.90696860944132,44.47455479798057],[-80.7032812138801,44.49623691342707],[-80.50209528783168,44.537399596659675],[-80.54928559328636,44.750055418968216]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.71912096161071,\"lat\":44.64053277954605},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3542\"],\"cd_name_en\":[\"Grey\"],\"csd_code\":[\"3542047\"],\"csd_name_en\":[\"Meaford\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Grey\",\"csd_name_fr\":\"Meaford\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.94140774635056,44.5798370341478],[-80.91838375771884,44.627701250366556],[-80.84045461924889,44.72155481353445],[-80.80587472768369,44.750060760973675],[-80.79090296394241,44.785770637221006],[-80.8792422742937,44.88079380521321],[-80.969145788874,44.86034830961221],[-80.99999999478037,44.84718782848239],[-81.05219065222279,44.81045018850613],[-81.08031330661771,44.795421945496244],[-81.11473138903531,44.77011825057547],[-81.12352395409218,44.7547759215769],[-81.12349440104678,44.74248062521989],[-81.14038299167206,44.73554570683435],[-81.13425224275969,44.64725115704848],[-81.12221917763397,44.64168428358743],[-81.13260979570985,44.62446950802638],[-81.12701261472962,44.54455749002439],[-81.10598301069223,44.45289080848846],[-80.90696860944132,44.47455479798057],[-80.92417578942897,44.55134633367988],[-80.9407116966026,44.545446287836526],[-80.95786935474769,44.54757167192065],[-80.96433396587369,44.57306099646054],[-80.94140774635056,44.5798370341478]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.99106794342651,\"lat\":44.67377711730394},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3542\"],\"cd_name_en\":[\"Grey\"],\"csd_code\":[\"3542053\"],\"csd_name_en\":[\"Georgian Bluffs\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Grey\",\"csd_name_fr\":\"Georgian Bluffs\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.8099494250268,44.79098792863423],[-79.84160960969336,44.80297637242371],[-79.90746258831254,44.775462694121465],[-79.90234589001328,44.76956130143295],[-79.95028121402112,44.75205879675303],[-79.90705434250128,44.70238419489019],[-79.88116417260505,44.708020910638616],[-79.87548618598011,44.719749928230115],[-79.84507005666833,44.73514838890742],[-79.86909496130404,44.76560594081569],[-79.8099494250268,44.79098792863423]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.88593349589853,\"lat\":44.752085246576016},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3543\"],\"cd_name_en\":[\"Simcoe\"],\"csd_code\":[\"3543074\"],\"csd_name_en\":[\"Midland\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Simcoe\",\"csd_name_fr\":\"Midland\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.75989261990803,47.65322779309054],[-79.78092091264521,47.65328141296088],[-79.78135578761984,47.667692490118746],[-79.88844058821286,47.667655284944146],[-79.88846395167623,47.5807440504225],[-79.75974301636602,47.58077449739882],[-79.75989261990803,47.65322779309054]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.82565291286336,\"lat\":47.62318364099768},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3554\"],\"cd_name_en\":[\"Timiskaming\"],\"csd_code\":[\"3554024\"],\"csd_name_en\":[\"Kerns\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Timiskaming\",\"csd_name_fr\":\"Kerns\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-83.93324874190893,46.438766394201544],[-83.94077575403769,46.44155097299249],[-84.0993114978754,46.44131326382347],[-84.1363850384306,46.44247356851736],[-84.14605544142893,46.418777796539686],[-84.13899984089649,46.372444408444444],[-84.12008315885419,46.33836110320168],[-84.10594424092643,46.32197221996487],[-84.07079079727076,46.335550495832244],[-83.96246117115605,46.4167090030801],[-83.93324874190893,46.438766394201544]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-84.06389636998782,\"lat\":46.39747591007652},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3557\"],\"cd_name_en\":[\"Algoma\"],\"csd_code\":[\"3557011\"],\"csd_name_en\":[\"Laird\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Algoma\",\"csd_name_fr\":\"Laird\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.81347362884527,46.27202355652531],[-82.8084168855642,46.35616077659269],[-82.82108089663302,46.3561046638988],[-82.8291681108521,46.492346510667915],[-82.82719068201176,46.534909964258844],[-83.04007317679128,46.53055638866258],[-83.08170368040247,46.53018941060711],[-83.07775442205244,46.51504601541586],[-83.07703894749496,46.44038848284435],[-83.07377890412751,46.385286912098515],[-83.07313312013771,46.33728149311127],[-83.05390783416038,46.319082006602464],[-83.03711716197219,46.32866180237533],[-83.02079343504884,46.34437779321115],[-82.99777343868509,46.35138871101603],[-82.980354833432,46.349892198496875],[-82.95682426351085,46.355544798421576],[-82.94248384381689,46.34885061745912],[-82.95707994562694,46.32593031482215],[-82.99281673853203,46.320021816060645],[-82.99066806252914,46.311048514149164],[-82.96495344710146,46.294024705622206],[-82.94483109822708,46.287720004133085],[-82.94475891414751,46.28044262000547],[-82.98891011546021,46.279711013269534],[-82.98366471161168,46.24040315835787],[-83.00316546039298,46.24045735484468],[-83.0034538316733,46.231739983796835],[-82.97655944802068,46.211502759151124],[-82.95105164800256,46.20119239978625],[-82.9932073464935,46.19280725759379],[-83.01683183961515,46.195549317127856],[-83.0120057191549,46.20533785904449],[-83.03295319942256,46.208151588789754],[-83.03416335449303,46.231554282950526],[-83.06904395925152,46.23308120021946],[-83.06969038927389,46.224149522742486],[-83.0627249474042,46.007167077940096],[-83.04361466286186,46.00816231127872],[-82.83452765898795,46.012077965341696],[-82.83643594330319,46.15709650166088],[-82.83537327988023,46.190406010587935],[-82.84316198137189,46.20531221352014],[-82.81637184852802,46.22110482179153],[-82.81743638881866,46.271992652403554],[-82.81347362884527,46.27202355652531]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.94143688825496,\"lat\":46.27636240844574},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3557\"],\"cd_name_en\":[\"Algoma\"],\"csd_code\":[\"3557038\"],\"csd_name_en\":[\"Blind River\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Algoma\",\"csd_name_fr\":\"Blind River\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-84.00161795576388,46.62125779666646],[-84.01370828084072,46.62165267002194],[-84.01566478027044,46.597539949055566],[-84.00227243687148,46.59728122268522],[-84.00161795576388,46.62125779666646]]],[[[-82.64149178972308,48.45063623659228],[-82.63767104740887,48.648267540778335],[-82.63822696755938,48.8349520280644],[-82.63861432873468,48.96888365421869],[-82.63925996237222,49.19037355812557],[-82.67650479433853,49.188532329197265],[-82.80891125786201,49.187844289374844],[-83.05847397932506,49.188097688789185],[-83.07995465750176,49.18594405990837],[-83.11369878817722,49.18798830710076],[-83.28761796323661,49.187960044382216],[-83.42996304608678,49.18896071611911],[-83.64259294426498,49.18931032338299],[-83.64134896287352,49.21913929850513],[-83.64408870501391,49.27814155872369],[-83.64334679830178,49.44985361931576],[-83.8333467109873,49.44923633135444],[-83.91179774020543,49.447883702580754],[-84.00261387636658,49.44933285231551],[-84.23785635529633,49.44822330411213],[-84.39815914240033,49.449104457940436],[-84.48428430369869,49.451397261202466],[-84.48198590758837,49.48728161004506],[-84.4821284042407,49.547758471298174],[-84.485571700372,49.7093647581293],[-84.52817327056157,49.7083425562406],[-84.70385262438202,49.70873869110811],[-85.0995922246057,49.708699985618736],[-85.33157557273967,49.70986253185595],[-85.33310602330134,49.68116071517544],[-85.3326366250921,49.533951290615576],[-85.33196315017956,49.345098060546526],[-85.33224574110237,49.1028627074793],[-85.33294879398628,48.88675149963902],[-85.33149119874281,48.763628949572514],[-85.33256000351913,48.625614731485925],[-85.1899701357581,48.62640316613235],[-85.18927928591181,48.5402141428801],[-85.3336054348122,48.538669175890696],[-85.33242924911421,48.30914810201746],[-85.33366310385684,48.18904114039087],[-85.32970363387021,47.99597396977244],[-85.32903570252338,47.87777395993392],[-85.32513109255575,47.74019789477114],[-85.31837041488002,47.50006616150653],[-85.31839485651575,47.47319295553841],[-85.3133167765672,47.252309193479014],[-85.31348775869611,47.08432120049187],[-85.2847149243417,47.0720070384686],[-85.11294018377177,47.002295358068984],[-84.85434483513467,46.89221983045986],[-84.82808244612058,46.80641268523177],[-84.76281451506472,46.63426861200921],[-84.62800596859618,46.5209424449158],[-84.55884969332665,46.52065001874747],[-84.58320275296552,46.52745722163975],[-84.60008735786082,46.547759211236595],[-84.59456333893483,46.57707100697055],[-84.55956594552055,46.6024926200746],[-84.54849857176488,46.60655130591056],[-84.47043601433442,46.60815296557412],[-84.22869618964366,46.612548032752144],[-84.22839910676842,46.59687123682578],[-84.02414230901023,46.59524835083267],[-84.02588973247965,46.635800041974164],[-84.04559914621592,46.635360736594976],[-84.05406931683909,46.643588257676676],[-84.0545584999027,46.65985827543848],[-84.03791409297654,46.6591963873311],[-83.87316598427947,46.660491732834],[-83.87101449279,46.633728268117714],[-83.89848820521188,46.63344595625316],[-83.89962282642195,46.60407666812985],[-83.91311417484887,46.5943739681268],[-83.9344563253582,46.59733896065219],[-83.93805783088538,46.61147112771632],[-83.95908240472319,46.61079658641092],[-83.95699144702996,46.59202263189023],[-84.00272309902293,46.59219546559586],[-84.00331943249881,46.568934585530535],[-84.02751734417795,46.52878450610077],[-83.93155122613005,46.52937056006335],[-83.96345760514227,46.533746367392084],[-83.96363631488647,46.54873428851616],[-83.94149522705403,46.550765714070025],[-83.93077164463254,46.5659993759938],[-83.91751154131921,46.57323300096446],[-83.89961318764298,46.573393664982795],[-83.89796046940495,46.538372595806834],[-83.91179562138898,46.52921779754018],[-83.84044657675324,46.52937283166121],[-83.83875672220604,46.43919044926325],[-83.77340202876528,46.43691074720118],[-83.6505493421515,46.44029277419475],[-83.65146930074596,46.43138537258127],[-83.64402380181015,46.38657979526627],[-83.64463599268808,46.35363840915643],[-83.53827516481284,46.35289882791331],[-83.3921629932444,46.35392508883485],[-83.32148839179264,46.35068337507619],[-83.20098707148597,46.35145110940645],[-83.1982568699372,46.26496987465358],[-83.07064683395649,46.26478438824092],[-83.06904395925152,46.23308120021946],[-83.03416335449303,46.231554282950526],[-83.0034538316733,46.231739983796835],[-83.00316546039298,46.24045735484468],[-82.98366471161168,46.24040315835787],[-82.98891011546021,46.279711013269534],[-82.94475891414751,46.28044262000547],[-82.94483109822708,46.287720004133085],[-82.96495344710146,46.294024705622206],[-82.99066806252914,46.311048514149164],[-82.99281673853203,46.320021816060645],[-82.95707994562694,46.32593031482215],[-82.94248384381689,46.34885061745912],[-82.95682426351085,46.355544798421576],[-82.980354833432,46.349892198496875],[-82.99777343868509,46.35138871101603],[-83.02079343504884,46.34437779321115],[-83.03711716197219,46.32866180237533],[-83.05390783416038,46.319082006602464],[-83.07313312013771,46.33728149311127],[-83.07377890412751,46.385286912098515],[-83.07703894749496,46.44038848284435],[-83.07775442205244,46.51504601541586],[-83.08170368040247,46.53018941060711],[-83.04007317679128,46.53055638866258],[-82.82719068201176,46.534909964258844],[-82.72457559186282,46.53572367145968],[-82.56822732359397,46.53538521536729],[-82.44353625167945,46.53615428062936],[-82.4444421041277,46.475385548108044],[-82.43665720035922,46.2773107090021],[-82.31286081849363,46.27681751759713],[-82.19243292017069,46.277781354172504],[-82.19280111169748,46.3674141813863],[-82.06796261910618,46.366647635823085],[-82.06822778110093,46.54101262963779],[-82.06915974220033,46.62513867240202],[-81.94475835244482,46.625173946235634],[-81.94811982853179,46.76543767991405],[-81.9499055164941,46.97610402894901],[-82.22749261016627,46.97747742582266],[-82.24325600732465,46.97912010502974],[-82.43044553984994,46.977437984345734],[-82.57868074827145,46.97714489961899],[-82.57900185202,47.11892827127732],[-82.57723674959408,47.23563840018917],[-82.76103047807499,47.23568038833921],[-83.03363248130128,47.23607269973163],[-83.27538167179718,47.235571346417466],[-83.57579784445088,47.23559001732994],[-83.8395326102005,47.23516988876155],[-83.97492747709042,47.2361598397971],[-83.97351016430197,47.49567316237479],[-83.97411181729478,47.65262761647378],[-83.97338559809626,47.78004707944002],[-83.9739323464258,47.842006791418],[-83.97259557975435,47.88083082288852],[-83.97374497604014,47.9341027756157],[-84.01638346079177,47.93410185673641],[-84.01445725884163,47.99206603237922],[-84.01497548834917,48.25734893054867],[-84.01458456547532,48.44962315703092],[-83.5900777232037,48.44912817091202],[-83.29015871629177,48.45021797786734],[-82.96063175059336,48.44990426884927],[-82.85471704676452,48.450825111788866],[-82.7366665179702,48.45015102862424],[-82.64149178972308,48.45063623659228]],[[-84.5319499374447,46.72383460038618],[-84.51942653805644,46.716396004062496],[-84.52712423339436,46.70290698286758],[-84.54909160253834,46.7012685532345],[-84.5319499374447,46.72383460038618]],[[-84.5319499374447,46.72383460038618],[-84.5329011332079,46.737402715009466],[-84.51048866235992,46.738531853443405],[-84.51282685743176,46.727007905936674],[-84.5319499374447,46.72383460038618]],[[-84.62950445732196,46.905171875123365],[-84.63445414644372,46.902127312887124],[-84.63926881414118,46.9095875670641],[-84.62903129702349,46.90904762080256],[-84.62950445732196,46.905171875123365]],[[-84.51712000619186,48.38121923854281],[-84.51552583203387,48.34454049136358],[-84.53310330123603,48.34465779887794],[-84.53445451952791,48.27844274793758],[-84.66582133452293,48.27932385851172],[-84.6636567713709,48.36556282318886],[-84.53873957963725,48.365272759440494],[-84.53423976114938,48.38237283001506],[-84.51712000619186,48.38121923854281]],[[-84.88383495403477,49.19556465141505],[-84.8831390569186,49.25821269128594],[-84.8844061322378,49.31863952881586],[-84.68516214682808,49.318970688887745],[-84.6836324205,49.22880455678994],[-84.6849185819591,49.1866765602874],[-84.76373900200348,49.1886976101158],[-84.88403720726649,49.18637296894366],[-84.88383495403477,49.19556465141505]],[[-84.92165783457712,48.018206692963076],[-84.9212812514049,48.10679355608906],[-84.84532217404465,48.106448192762905],[-84.81126542655655,48.10470922643631],[-84.77479508969294,48.10636382047],[-84.66127767299244,48.10784487117615],[-84.66196379994427,48.0451950639525],[-84.66573604752116,47.99424753411874],[-84.66650727045099,47.934609117290314],[-84.61941238101439,47.93505742079234],[-84.616989789399,47.83490725684416],[-84.74676057897476,47.8350070272865],[-84.74798989168035,47.90906014459189],[-84.78986458187322,47.921145027257076],[-84.81066900183885,47.91620185593726],[-84.85877854372146,47.95752630465221],[-84.92487409818312,47.95506824190809],[-84.9444131934218,47.96159608188836],[-84.94261092804754,48.01904572821346],[-84.92165783457712,48.018206692963076]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-84.04748426035093,\"lat\":47.966548558695806},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3557\"],\"cd_name_en\":[\"Algoma\"],\"csd_code\":[\"3557095\"],\"csd_name_en\":[\"Algoma\",\"Unorganized\",\"North Part\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Algoma\",\"csd_name_fr\":\"Algoma, Unorganized, North Part\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-89.10450214318705,49.8001690215771],[-89.0865953529436,49.82199193207758],[-89.09557112689023,49.83729291022895],[-89.18685474465829,49.8379056126522],[-89.18685339963804,49.77968071437484],[-89.09689005331681,49.78031023421763],[-89.10450214318705,49.8001690215771]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-89.1415095612741,\"lat\":49.80948993930211},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3558\"],\"cd_name_en\":[\"Thunder Bay\"],\"csd_code\":[\"3558065\"],\"csd_name_en\":[\"Gull River 55\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Thunder Bay\",\"csd_name_fr\":\"Gull River 55\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-92.12086062688816,53.90286500200399],[-92.15059052300492,53.917621746979535],[-92.20866661744296,53.89529628407274],[-92.20933536456438,53.86547727527499],[-92.26800095090726,53.86092573076398],[-92.24719644963432,53.85346772808008],[-92.1929777290732,53.8492326442999],[-92.19460385499805,53.86409923451895],[-92.17219104575534,53.866665436797916],[-92.1328681261471,53.888932034058115],[-92.1391724517541,53.87117563553438],[-92.1186000683794,53.86533649926951],[-92.12086062688816,53.90286500200399]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-92.17540000102244,\"lat\":53.882908251721716},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560076\"],\"csd_name_en\":[\"Sachigo Lake 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Sachigo Lake 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-90.09157410024595,51.14840237870318],[-90.07045722028917,51.15031792486423],[-90.06353763578375,51.1351236129364],[-90.04674955911626,51.13168403816906],[-90.02306765649458,51.1439575139535],[-89.97893924389436,51.15093143446217],[-89.96701112783644,51.168985519071995],[-89.94673424372634,51.17477071788537],[-89.91763978268335,51.16565838043644],[-89.89194784131067,51.176258520319884],[-89.87919044169048,51.17409761287687],[-89.81738138769077,51.20387130228342],[-89.80523453382092,51.20486230429356],[-89.79418179621963,51.2165729229697],[-89.74688901241629,51.21429725364762],[-89.71899446537644,51.21965758925975],[-89.70321632767381,51.2300308454253],[-89.6822797555916,51.226756024250136],[-89.6705479843747,51.23395817181633],[-89.63286218185318,51.2468719801006],[-89.6154014265196,51.257291363903505],[-89.59276382103349,51.24902812459701],[-89.57874415315098,51.25247922584887],[-89.57990498749137,51.27422087260907],[-89.55763210012407,51.279834531034574],[-89.49551573748263,51.31686293271114],[-89.48087940614214,51.3342192582376],[-89.40934066714657,51.37339453494519],[-89.35269836081076,51.39805458618083],[-89.32064826631655,51.416052390067186],[-89.32206100801616,51.42517270301459],[-89.30118016276343,51.43046069749444],[-89.28232727908218,51.41894287730279],[-89.25736701643237,51.430967896944146],[-89.2245798943466,51.43187417459425],[-89.21418366310793,51.42648918854445],[-89.18611069557497,51.43042124773254],[-89.18656687858626,51.45213456505568],[-89.15718386971183,51.490591149885525],[-89.14572557835518,51.495689454800115],[-89.13811609529148,51.51052706259229],[-89.10755147726667,51.52798875127749],[-89.05886134208836,51.5227881029784],[-89.03296794571,51.50861976753927],[-88.99463307390258,51.509972177846244],[-88.98768388458319,51.49835007124452],[-89.01328976961386,51.48503211320886],[-89.01499035549774,51.46307949189767],[-89.00664015338378,51.455380704786364],[-88.98792479347699,51.45424044936538],[-88.97081176480503,51.48095519495074],[-88.9495830182925,51.481894154264616],[-88.85750360058773,51.51284620604338],[-88.84698184602082,51.5352379506254],[-88.85107222922778,51.543156572960484],[-88.83127942395296,51.55758577039968],[-88.74614749090516,51.5572838112752],[-88.73467053854456,51.546967336137854],[-88.70432251624854,51.543824129113794],[-88.68784463851298,51.54789311412543],[-88.65257544483505,51.53861141742871],[-88.62701854347942,51.54576703667025],[-88.6073045559589,51.544582028790686],[-88.57438783552821,51.555279817447015],[-88.55913545329005,51.55007902250225],[-88.54159672197093,51.52741928022878],[-88.52812741855489,51.525067552086625],[-88.49759439464358,51.50678932135926],[-88.39807566240832,51.486812997872846],[-88.36708339270423,51.47817864366406],[-88.32460951722385,51.4862910411283],[-88.29252713495335,51.480739981773695],[-88.26996580732568,51.480326451660204],[-88.23854179794424,51.47372100277331],[-88.19395919263445,51.47265260037628],[-88.16251860015024,51.46899709372827],[-88.15108491018644,51.47935189746913],[-88.10211502759712,51.48608581194064],[-88.08836125108351,51.48054963910927],[-88.02512395528973,51.49868931092351],[-87.97287169794174,51.49129464744981],[-87.93917132575528,51.47411928417546],[-87.93325507638544,51.463177604062516],[-87.90352691757532,51.454590777569784],[-87.88663675248372,51.45371924738416],[-87.84239739100047,51.438353351861245],[-87.81674180374654,51.42408391824697],[-87.81926333042273,51.40777731701956],[-87.79315532559545,51.40141521065161],[-87.78519742788615,51.390969992557984],[-87.79915327294965,51.37353648855778],[-87.78187628942356,51.35851191948907],[-87.76979830766817,51.364706622534136],[-87.75045057007263,51.36454384866968],[-87.72799168842182,51.3442157948792],[-87.71092212129068,51.34332396993468],[-87.68977304591951,51.33521391855557],[-87.66798142475086,51.314031584157235],[-87.65770488573521,51.31339265062784],[-87.64260561912712,51.2937777989811],[-87.64152823355074,51.281532370243106],[-87.58922393157192,51.27674103169899],[-87.5645668507973,51.264928523408685],[-87.54780583736229,51.26166416607949],[-87.52466063902492,51.264206884818186],[-87.52148050660375,51.245109214739216],[-87.475501078008,51.25002725838175],[-87.44742585494237,51.260330077281765],[-87.4198050044381,51.26644653637554],[-87.39830805112378,51.26544214719693],[-87.3576138562921,51.27165924032601],[-87.29787144787299,51.284282804535984],[-87.27193648598164,51.28153615632091],[-87.24909457119817,51.283829235500825],[-87.21104415867362,51.300102556056466],[-87.19356501968994,51.31586322836464],[-87.17098595400303,51.32384279343777],[-87.13192941728124,51.3254483941754],[-87.10655145620328,51.34557771117943],[-87.08922037494604,51.35301706551707],[-87.0583736026335,51.355503571715154],[-87.04635883763044,51.36765293146931],[-87.04394973716073,51.38089366601993],[-87.02217620711211,51.38509028696964],[-87.01309723649199,51.40511741235609],[-86.95054955848991,51.42794857712217],[-86.89149035314132,51.412691582973906],[-86.8862761515176,51.40272671046123],[-86.86530455600386,51.39313252185861],[-86.81828055988287,51.39789650196427],[-86.7949654917336,51.40626176226744],[-86.77896513966434,51.420622455844764],[-86.75388145766274,51.416163387435994],[-86.72050083528057,51.43087031631968],[-86.72477959619223,51.445475333203795],[-86.73579273671214,51.446393313591145],[-86.73503669774844,51.463071025911376],[-86.70606825137116,51.478541229679976],[-86.63173900980102,51.500720373009884],[-86.58832279279376,51.503283694365635],[-86.57825606135428,51.51061525659447],[-86.54795249818741,51.51957651061497],[-86.51416681947087,51.53426332324795],[-86.48394863766184,51.539152663865295],[-86.46266080899657,51.56211053062024],[-86.42698494889348,51.57928885073987],[-86.40923748415473,51.59693739540656],[-86.40478937207892,51.61125520362568],[-86.38652748098023,51.621787044716235],[-86.38942173355674,51.640541334273365],[-86.38629749638626,51.66919536057867],[-86.40189860932121,51.69235906202867],[-86.39833647820758,51.71200719647617],[-86.38377290283027,51.72834811390625],[-86.35426183834623,51.74597561530285],[-86.33598756813839,51.74705068022033],[-86.30520003622965,51.760805628522036],[-86.30054525953419,51.767350628432894],[-86.2523661027172,51.773346786177584],[-86.24330291180608,51.761796912808734],[-86.22072296548147,51.76200653702541],[-86.19560336740649,51.75058962085384],[-86.14615069754416,51.75403767432368],[-86.1394127544271,51.745316246401515],[-86.12048096648661,51.74229431317725],[-86.10636959684746,51.72757511210624],[-86.0876814458779,51.72064106140447],[-86.06032073228222,51.71853676675912],[-86.0296396145182,51.70657831192939],[-85.9958769783825,51.67763225327979],[-85.99005370273743,51.647018360476764],[-85.98773900017879,51.7080943712777],[-85.84812174188177,51.70585316223561],[-85.8500260747905,51.628961320197895],[-85.79895702003937,51.638194813989394],[-85.78260285282569,51.632659809242575],[-85.7127822267771,51.6350530315053],[-85.68134553179934,51.64718740618835],[-85.6332893417634,51.64849291350226],[-85.59490892432956,51.653821693943115],[-85.56227412106838,51.65465508530685],[-85.49999982453394,51.65961720805452],[-85.46008570456006,51.65093652710859],[-85.42055487748266,51.616671202514084],[-85.40846362078385,51.59286308885376],[-85.3774935063757,51.58066891339516],[-85.36184736926931,51.56776614671442],[-85.33675408610868,51.56272279675867],[-85.31160309528016,51.52560916462343],[-85.27644065524962,51.517258681519536],[-85.24131885093648,51.513990540077295],[-85.2231279349823,51.5067221174689],[-85.18649980428344,51.47773034786208],[-85.16739354025049,51.44361084198224],[-85.1354051442368,51.421655334037126],[-85.0948108584962,51.4159690925949],[-85.0504500876922,51.39569057934263],[-85.06125476760889,51.38227391446269],[-85.03935896522367,51.36201258698396],[-85.03566441790369,51.34721675243407],[-85.04189164957357,51.32780868161486],[-85.03660822757496,51.31420958646755],[-84.99778056031593,51.289589669781115],[-84.97812816572628,51.2808407306404],[-84.89936539822286,51.27399146487053],[-84.85575042235291,51.24463141043433],[-84.84349831001344,51.22860732665964],[-84.81333624960537,51.2150431180558],[-84.79730333771681,51.19660931138794],[-84.78535223036627,51.191006324976996],[-84.7561494233129,51.191076830078025],[-84.71013063619299,51.18135571812799],[-84.67960053202225,51.162860616615426],[-84.62713483108539,51.15244251297035],[-84.59539332490131,51.13649142412824],[-84.59046393357667,51.12107831284468],[-84.56739731373173,51.120753405478574],[-84.55342781403067,51.11302620896833],[-84.50906161016856,51.11657862306821],[-84.49999999619132,51.10826546463736],[-84.47997505314414,51.10855369168509],[-84.45881808787098,51.13768743186031],[-84.42058014780594,51.15802575786044],[-84.40709870382855,51.1840246828264],[-84.37517352423866,51.21216774542497],[-84.34036789242276,51.222284973318594],[-84.30371242002991,51.239427714889565],[-84.28030342299226,51.23969784446129],[-84.24667468306781,51.24819836506022],[-84.2146053752526,51.24869232675878],[-84.19799681866078,51.25538779053169],[-84.17191033330522,51.252813076786566],[-84.12193455657258,51.255216756964295],[-84.05205590620096,51.27610691071969],[-84.03513494797198,51.283283773519116],[-83.99070273732899,51.286799297767395],[-83.92380310360036,51.30710318139109],[-83.89805078397833,51.30930182857954],[-83.87330046422744,51.32039396144452],[-83.8393115452921,51.327908730690815],[-83.81681298327213,51.33776103996878],[-83.81055542476646,51.34709988054575],[-83.78074579076838,51.373565919681646],[-83.75608828651839,51.382640839319414],[-83.74109290626765,51.39474345103777],[-83.7150153061776,51.406910328325885],[-83.63906009401256,51.41671611583994],[-83.61477443062589,51.41402801194357],[-83.59517530017689,51.41899320455346],[-83.5626962428653,51.43687368452782],[-83.53224739842086,51.46681839324487],[-83.5072609027369,51.476563266490736],[-83.4703874061297,51.48330029819696],[-83.4185816552064,51.47968408250199],[-83.40108560467712,51.48606641191569],[-83.3630554398313,51.51480795121637],[-83.293449987376,51.53061636368979],[-83.2842203622321,51.537342922961535],[-83.27988427196593,51.56565263583178],[-83.26513563294044,51.58991753631314],[-83.26017113348051,51.613023950040684],[-83.23186754585858,51.66407930604889],[-83.18989655223331,51.67770792211707],[-83.17909466959429,51.686789693613996],[-83.15498208925894,51.7362923146496],[-83.13372322573571,51.75887953335772],[-83.04908481109999,51.79617821808656],[-83.01584402428408,51.81893342656778],[-82.99999984184021,51.83333331245917],[-82.97724979628377,51.8463580342998],[-82.95222183111213,51.86957442650404],[-82.87002050700087,51.89632566432032],[-82.82615405843563,51.912871137192056],[-82.80423780806167,51.92461888121707],[-82.78617889029259,51.92833159473923],[-82.73106215436505,51.92625734110748],[-82.71794796782832,51.92290034863257],[-82.66888462117876,51.93014912068221],[-82.64255289773591,51.9263910459162],[-82.59614615307838,51.92779970559514],[-82.5592966023589,51.9434656691757],[-82.53417872512611,51.95975643836009],[-82.4921288767094,51.97667923278031],[-82.47139032022676,51.98046082072338],[-82.41994233233694,52.00000004047937],[-82.41094924704616,52.00664974947475],[-82.38589560965185,52.03884120152125],[-82.35380743128333,52.059098111467435],[-82.33557497518218,52.086457607031356],[-82.29391965776878,52.10123667126551],[-82.26753209486533,52.10549125502546],[-82.23338686906452,52.098421375122186],[-82.18490029841524,52.10243243565623],[-82.13261041291435,52.11325339028738],[-82.11295873281684,52.111402255308654],[-82.08896757661034,52.115188528148835],[-82.04007306671483,52.14086333647664],[-82.01306314761074,52.14086290387575],[-82.00000000845601,52.15523262693795],[-81.92640443394745,52.17994483612903],[-81.90506130160372,52.19775736248781],[-81.88830486515208,52.20399136118018],[-81.86804307222526,52.21870084799231],[-81.827336572375,52.2309840423427],[-81.8119598162663,52.239343085791994],[-81.73820007224917,52.25628501421319],[-81.70770058511138,52.25656317091926],[-81.65600968480342,52.26445569227521],[-81.64439553518734,52.27464141210618],[-81.6384292953297,52.28321775311862],[-81.63687417529032,52.288411032114034],[-81.63396746924589,52.29093302556212],[-81.6265957652445,52.29315327028406],[-81.61667094391493,52.29407842328188],[-81.55759692952721,52.29332741107194],[-81.5519787937086,52.30277491086642],[-81.58632081070415,52.29555421044156],[-81.62770131881044,52.29428352349504],[-81.64499201858814,52.28636600643365],[-81.6530689035683,52.28034791182989],[-81.6800419173119,52.27846781685792],[-81.6876265059064,52.27603621254623],[-81.69535613050769,52.26403272694112],[-81.70919903406474,52.25894900542029],[-81.73987113022679,52.25958100934876],[-81.77472833065333,52.25138120540974],[-81.818737135023,52.247111923363704],[-81.83343093738269,52.23985830837721],[-81.87235512409387,52.24061541365157],[-81.88153613098612,52.23183071639537],[-81.9096977295029,52.21848022557842],[-81.93342081760616,52.20184592515897],[-81.96696480133035,52.195942208500256],[-81.95695552514944,52.22310751312185],[-81.94097249979652,52.23154662412286],[-81.92414244091778,52.257708939814414],[-81.91542623018557,52.282831117972755],[-81.89249151536829,52.29974071783139],[-81.88771313954675,52.31323613770047],[-81.86997913675359,52.32243879785194],[-81.87100521923568,52.38665241352642],[-81.8027404474045,52.385739989157194],[-81.80001724213022,52.399832835005746],[-81.56662257040941,52.40101741659631],[-81.53272293331442,52.40034032644088],[-81.52526918846608,52.42316260684837],[-81.53197928113289,52.44259399350615],[-81.56238880613738,52.46264870034419],[-81.59938620402887,52.471459792426934],[-81.64280938680791,52.49562898754436],[-81.69506751094728,52.54006819180893],[-81.70791329673317,52.55462009043885],[-81.75139038857924,52.592918289091564],[-81.7601292111837,52.60633731235608],[-81.8097554927075,52.632596488940884],[-81.85981459509678,52.65311548793033],[-81.88190020328993,52.66802438819592],[-81.91792571599741,52.704006703661996],[-81.93237391633699,52.746934012549204],[-81.93512661192783,52.765516902490596],[-81.94339300375566,52.77720848673794],[-82.00388830373734,52.81241419492099],[-82.02284951911682,52.83045060573728],[-82.06154340653883,52.85570861218649],[-82.10967061128122,52.89111089851928],[-82.12695801378955,52.89855690940717],[-82.16802651313196,52.892080593909384],[-82.15984492000486,52.90267848981202],[-82.1813791869894,52.90605669821217],[-82.23588129102997,52.9259618882996],[-82.24772248498581,52.943114484315785],[-82.2627346893379,52.95443609133492],[-82.28315381391288,52.95769900172315],[-82.28095081985352,52.96655588955151],[-82.26013830212716,52.969118910666595],[-82.26414290225529,52.9947149081261],[-82.27878529110941,53.00968689887161],[-82.28302538584381,53.10019171068294],[-82.27132109290294,53.122547587697085],[-82.27310018368657,53.14322109591097],[-82.25206399806389,53.1804937886337],[-82.23805393879873,53.19345966670373],[-82.22157508292315,53.19996588918961],[-82.2160267529045,53.2167098725568],[-82.199584898864,53.221330701295486],[-82.16432858712555,53.24195200740726],[-82.11225051626602,53.265205791936374],[-82.10806579363738,53.274108686451825],[-82.12109711444154,53.296625588316395],[-82.11046490436841,53.306337487669936],[-82.11963849646584,53.320692189844074],[-82.12144161738244,53.34295521348987],[-82.14007880415092,53.3989341867412],[-82.16476560956814,53.44625719907576],[-82.16184718693557,53.45754718918731],[-82.1909993172604,53.512409511995564],[-82.20297008275959,53.517868790397294],[-82.19864659727325,53.52958638659875],[-82.20453898165934,53.550767493916915],[-82.20172272412141,53.57159008896134],[-82.21476682627983,53.590724925748724],[-82.20519399001063,53.602144609474124],[-82.20696728186832,53.62830428932319],[-82.20010158230167,53.65324189561304],[-82.18962048498527,53.66622169153275],[-82.17807718772755,53.69416339604174],[-82.14547428287862,53.74041201097338],[-82.12708838386473,53.75579749526637],[-82.11985679663717,53.774720205066],[-82.12431500237298,53.8273304962612],[-82.14603658949575,53.876193293128864],[-82.16492361540875,53.90132251023005],[-82.18434471406081,53.93885220829102],[-82.19535611090046,53.96789938951949],[-82.18596937860688,53.979754795627144],[-82.20421507657422,53.995810806943986],[-82.22351920350337,54.02482549338698],[-82.25524451428426,54.06374730259632],[-82.3066264860866,54.10463969683399],[-82.34611757632668,54.12757520843614],[-82.36478631793777,54.14450099848535],[-82.38980788016995,54.17622649094082],[-82.40764431309711,54.19254960809095],[-82.43055328387314,54.19939858489208],[-82.41957108758352,54.231317891145785],[-82.42990797946543,54.248739998639344],[-82.43242401763284,54.27709211349192],[-82.42765280127644,54.30862910056408],[-82.42261107844784,54.31673660270604],[-82.42392568771916,54.346034803852696],[-82.4080795225114,54.36383409321219],[-82.39765571760499,54.39322650977614],[-82.39073548197399,54.39782429737624],[-82.38348488000908,54.424766096607556],[-82.35885118878282,54.454317093406075],[-82.34337940634536,54.49939628861582],[-82.32349230379283,54.505709110235834],[-82.31636647666978,54.5235510077596],[-82.29591759879317,54.60933480188452],[-82.28455989012207,54.62704048969034],[-82.2883681000547,54.65442649759296],[-82.26693429675166,54.685589288844824],[-82.2562158164063,54.71580190097816],[-82.2285690970562,54.75035720786302],[-82.21514468151642,54.75826420801601],[-82.19536019778123,54.80431239126571],[-82.19681648545473,54.8422589082076],[-82.21290828608467,54.874474391994106],[-82.23553450730108,54.86291410727193],[-82.25158012076933,54.875975894744435],[-82.26326200626572,54.90597228731081],[-82.25565098736536,54.915515890750015],[-82.22889600310492,54.91596959154223],[-82.25514271438975,54.94211719503633],[-82.26448549263338,55.00643738963555],[-82.27692771607764,55.02388270244209],[-82.27176909943942,55.049919704264525],[-82.2459233137044,55.061829901398056],[-82.25258720009614,55.10965909214109],[-82.30268670727729,55.118321789664115],[-82.30302081169425,55.12670498848949],[-82.33099359807267,55.14996788740769],[-82.33421273449547,55.137234616053995],[-82.308826079576,55.116585394906146],[-82.30892920629168,55.10488020304221],[-82.33373200151877,55.10140890966568],[-82.32403791171768,55.078414903821425],[-82.31191429270854,55.071366196147466],[-82.30863068270077,55.05379438848017],[-82.36252840714107,55.0720689034006],[-82.375040688775,55.06930089074589],[-82.41300370004923,55.07985870354933],[-82.40764730079394,55.09233760995066],[-82.41529100481277,55.10876859388989],[-82.43997878780357,55.11291070603702],[-82.45509722034028,55.13324829690032],[-82.48337140770084,55.12872989140853],[-82.48917021646238,55.138535113864265],[-82.50991958112002,55.14967059379053],[-82.53346139988612,55.147849011168816],[-82.52985471104682,55.13455230847346],[-82.55345289145916,55.132155304931594],[-82.58893768166676,55.14932468759875],[-82.63815280176588,55.14571640406115],[-82.65980759432028,55.160411610633574],[-82.65665099636085,55.17435748632859],[-82.7152745990428,55.161540505350736],[-82.7176286003738,55.14367038869701],[-82.75138638154274,55.131516784471444],[-82.77838018322136,55.12890259006291],[-82.81331501607764,55.130178704662946],[-82.85238759687174,55.143217609792636],[-82.88039421697584,55.14569970449732],[-82.88046497896963,55.15738630402495],[-82.90897860769284,55.197367408105094],[-82.92166939094422,55.210460789770984],[-82.97331438329043,55.22634659474394],[-83.01792630607208,55.22091171037823],[-83.06624152427284,55.20750799304338],[-83.08328412389547,55.209412893609496],[-83.114940687318,55.20168969126003],[-83.12515022127916,55.20423820289532],[-83.15358597760044,55.19550509799643],[-83.19786301527056,55.199709002625035],[-83.22038870375093,55.211677794069175],[-83.26982870216175,55.204261006669086],[-83.2931314997624,55.20865458576904],[-83.33754678939621,55.19870890098601],[-83.36613957923481,55.20351710409396],[-83.3807040096154,55.213897291369115],[-83.41774951217118,55.222554108776045],[-83.44052478927274,55.21278470069383],[-83.48230048731014,55.21941030081976],[-83.55737118803195,55.24722288589499],[-83.62177210919505,55.2511104091124],[-83.6469507128216,55.26391119773292],[-83.6721633789144,55.26946590771022],[-83.69427748558776,55.267994306020576],[-83.69845871803756,55.25874258998328],[-83.74666730066048,55.25222829149595],[-83.7825394994217,55.26069690806735],[-83.81880807701916,55.277520804203476],[-83.83680208873326,55.278208489561436],[-83.87776168269295,55.28853389303083],[-83.88329239291694,55.29410620672164],[-83.93825518187154,55.29320149855108],[-83.97611540608017,55.28727930281527],[-83.99922688235498,55.27376949456622],[-84.07867290027131,55.250202310351185],[-84.10463501723623,55.252724395483845],[-84.14403879264746,55.262867300181654],[-84.1744251079621,55.27457330824373],[-84.22008289450325,55.2675079013514],[-84.27305341115398,55.265802304707165],[-84.30614200388762,55.27521248664245],[-84.35125270547677,55.259410898734096],[-84.389206397327,55.26355031187219],[-84.44178371914929,55.25429669909707],[-84.45428170598336,55.24794009177111],[-84.51219901176641,55.23212809079312],[-84.53645700879825,55.23017899010424],[-84.56282781732372,55.23651280170649],[-84.59505240493839,55.237235607369435],[-84.64599537970336,55.233765691439665],[-84.68211470703775,55.23606350314305],[-84.71109448721427,55.23281969168913],[-84.75606377761363,55.23871170792079],[-84.79457341593276,55.235328692102534],[-84.80056107635377,55.243148604119206],[-84.82615047826927,55.25019660565354],[-84.85629537898693,55.25211670037261],[-84.88290601959274,55.25858509656018],[-84.90208239012692,55.26905259951653],[-84.92417570204493,55.26413938836632],[-84.97230331320021,55.27969749804501],[-85.01154562187999,55.27250959698877],[-85.0491862864116,55.2732251098227],[-85.09576778427976,55.26038259685783],[-85.12918848750951,55.26380940491956],[-85.133536910798,55.27259920440991],[-85.11026399843244,55.29175609549695],[-85.11221479312412,55.310868608060794],[-85.13198571156286,55.331924489377045],[-85.16158900956673,55.34502998789236],[-85.18029969305432,55.347785209567014],[-85.20040481501456,55.34310280771114],[-85.22216268588528,55.35242588519279],[-85.2299420082798,55.372789398233664],[-85.29004997832008,55.371488998935604],[-85.31146557836642,55.379918096866184],[-85.35286280348443,55.38480768980062],[-85.38136290601773,55.3995758981068],[-85.43389350579872,55.417744292130266],[-85.47641231297324,55.44279339691695],[-85.49908760244337,55.45174260729155],[-85.50666939784425,55.46456980339666],[-85.53817390973036,55.48267910480604],[-85.55548801167777,55.49687659220161],[-85.5759944839555,55.50600260503348],[-85.60178522180537,55.52901819728637],[-85.6231740155571,55.53725360748036],[-85.64389328334566,55.55796701051535],[-85.67168400609837,55.56118689497728],[-85.67725820962521,55.56878908927469],[-85.72908157562539,55.593414407952544],[-85.77313640497226,55.59364850860162],[-85.82107858635953,55.618311003607836],[-85.84712539986147,55.61971801070982],[-85.8862767031686,55.63888320246834],[-85.89521690118777,55.654898193560875],[-85.93150230742349,55.660155597359434],[-85.96706261165207,55.66131250620339],[-86.00562687425182,55.67126741405445],[-86.04319540899448,55.669152498149714],[-86.0621415122135,55.675882791017074],[-86.10533825934242,55.68129018952165],[-86.14500423448227,55.689271094186424],[-86.21535942025838,55.69893709367198],[-86.26948968225078,55.7088568876816],[-86.30779749738188,55.72539011184305],[-86.37489790323363,55.76426071195634],[-86.51159730995643,55.799677411147144],[-86.55294869414925,55.80806210754871],[-86.58942620692684,55.82344059450103],[-86.62156451169115,55.82915479497897],[-86.64390638587874,55.828449902978164],[-86.67331841896176,55.83363119682051],[-86.76420680558888,55.8699309901445],[-86.86148141596306,55.89720159775701],[-86.90124549527674,55.91407229126768],[-86.98482877800019,55.91833911037775],[-87.02302038943073,55.91568599051101],[-87.04414671718781,55.92355090237056],[-87.06888598511046,55.922354288494965],[-87.16735460316224,55.93638670433281],[-87.2129886213077,55.93265129704187],[-87.22124841723172,55.94057981048782],[-87.25101870675789,55.94220420198763],[-87.32619158357977,55.96573649840677],[-87.34494321427012,55.96688980526496],[-87.37304039393736,55.98997510424398],[-87.41262198753633,56.00000000687279],[-87.43732990065412,56.00311460810834],[-87.48072600104338,56.01842150454912],[-87.46318189474493,56.03490430798804],[-87.47221989711606,56.048620298059205],[-87.50300688382573,56.052097207508844],[-87.52466170695327,56.05989720627268],[-87.58124812027972,56.051839691764],[-87.57152641392821,56.06458169317507],[-87.57853262083555,56.07631459584962],[-87.63924748265337,56.10263818659959],[-87.63740008891509,56.11231259925194],[-87.6662729956862,56.138966195341645],[-87.67158011732167,56.15000950728933],[-87.7130798234366,56.19305228945985],[-87.71296110982453,56.214908102252416],[-87.73212649186594,56.23618770666032],[-87.77669339402262,56.26664709095788],[-87.79470039752877,56.28976289229572],[-87.80412850159813,56.310550397878096],[-87.83498780219561,56.33030198627853],[-87.83213732382855,56.341600296285264],[-87.87013101380717,56.36077240451629],[-87.92367699497225,56.39165108610416],[-87.94145700518013,56.413607311104705],[-87.94495880289604,56.43310000610864],[-87.96186809734456,56.460229595653345],[-87.97910988212553,56.473071300759166],[-88.01274368049688,56.47865008738222],[-88.03444030926237,56.486607006575056],[-88.11393221833406,56.50583748750491],[-88.15807098852119,56.51372940048034],[-88.18078449750254,56.51208049979258],[-88.23781460713957,56.53007418623485],[-88.27718950933826,56.538476987048085],[-88.29012269124813,56.546107110272786],[-88.35219020437528,56.56735358876452],[-88.38184908193948,56.58038228826085],[-88.39622579366714,56.591906098322724],[-88.44391219191715,56.60874128708904],[-88.48488879178726,56.64255729008023],[-88.50806378019833,56.656761196309006],[-88.55946920509452,56.66271549029305],[-88.61896368126143,56.68299350902444],[-88.64302368124791,56.687916207968925],[-88.66893568221252,56.70195760708958],[-88.67455829462928,56.721770386611034],[-88.6903609237258,56.7454465901066],[-88.72564842342935,56.76340260389047],[-88.77343461373329,56.776664906011455],[-88.81297641833176,56.80118289468735],[-88.8195858227867,56.81040158863843],[-88.8075243797766,56.81942480012419],[-88.81677607737453,56.83785400138488],[-88.83311499749169,56.83920640691732],[-88.84058631241413,56.82804271230607],[-88.85883528546391,56.82828359367101],[-88.85820192161312,56.848362510218934],[-88.87827458612247,56.86145859311789],[-88.91855428625892,56.84804100287052],[-88.97957690400342,56.85114844620637],[-89.14900665616797,56.75006498707375],[-89.4580415491405,56.56356383641766],[-89.80938583805921,56.34804275220084],[-90.02763989299581,56.21231805708671],[-90.24611171156772,56.07523021803084],[-90.43321260906926,55.9569134372268],[-90.80225034836282,55.72039433656763],[-91.00000000782674,55.59118152373882],[-91.34611539215634,55.36201247342885],[-91.64779319163773,55.15848486054443],[-91.7475651937864,55.085118683011004],[-91.87006061915827,54.999840752742344],[-91.99997009144782,54.906002706542374],[-92.18869236422617,54.774903598528816],[-92.38382950026589,54.64232109622825],[-92.65857365416521,54.45337888148336],[-92.92764273497808,54.26361688256185],[-93.13997976453948,54.111212193763244],[-93.32920118558329,53.969712106440085],[-93.52052361533961,53.831454011420604],[-93.62955353161752,53.75020269539179],[-93.7376839914978,53.68517876797151],[-93.95844503022923,53.55369426572354],[-94.26973452483203,53.37721974765052],[-94.52746431386191,53.22286487853448],[-94.73712767908594,53.09587350170109],[-94.97799815906222,52.94870058074312],[-95.15315109619927,52.840573105163955],[-95.15283235477509,52.630310062854015],[-95.1531003707733,52.33252676180841],[-95.15308540543653,52.179977897889145],[-95.15306466319817,51.969045262047175],[-95.15291476280767,51.745061770022126],[-95.1530239071834,51.542190898632164],[-95.15272380050753,51.330106394872004],[-95.15298421667036,51.11977508884815],[-95.15296784599123,50.94311869356026],[-95.15295299594892,50.78146762566463],[-95.15293204030317,50.55161984261628],[-95.15279423929509,50.39577284105429],[-95.15290463084867,50.247345048765965],[-95.15288275865458,50.00120808506702],[-95.15286794985226,49.833238497375184],[-95.15213826634987,49.74624028666422],[-95.15411581991135,49.73910679704947],[-95.1532867993813,49.671159166669405],[-95.05343508992263,49.67244452384323],[-95.06064724784063,49.66318771999269],[-95.0416101817096,49.65849494987788],[-95.0439357311486,49.636911300199316],[-95.06954935758488,49.62473462071666],[-95.0946032757723,49.619974922327636],[-95.11816676849541,49.64706373331579],[-95.13429055817322,49.653037425610925],[-95.15343305924014,49.6460646711054],[-95.15319314552323,49.61676758432215],[-95.13000635409219,49.60854941722792],[-95.11021316903606,49.607583125834715],[-95.12937595358574,49.600053544305965],[-95.15287861750448,49.603432186633995],[-95.15385686173889,49.588969049234564],[-95.12378937400648,49.59188013908946],[-95.12690326848329,49.58297112503529],[-95.1525507169585,49.57653292320528],[-95.1521452656649,49.49181016031633],[-95.15395734318325,49.38551483697994],[-95.12891471840854,49.3704872972645],[-95.05812261696987,49.3530585910842],[-95.01409778933491,49.356452506284384],[-94.98913570680865,49.368894594066155],[-94.95754881035808,49.37027979135215],[-94.90870230314619,49.35005588922017],[-94.87810409304832,49.33338429465101],[-94.84374601418413,49.324301267475306],[-94.84259376499847,49.32429760363045],[-94.81573198891459,49.32136419557586],[-94.82431680160768,49.308634808451146],[-94.82301455231367,49.28790723324808],[-94.69747244930313,49.28575763563444],[-94.69865128374548,49.36611608636432],[-94.56163330466023,49.36656332412106],[-94.55943013604222,49.28373051980386],[-94.29114939877098,49.2830239954961],[-94.29080618535049,49.2725573906019],[-94.20381521969864,49.272332306095976],[-94.22615416901873,49.36685578127975],[-94.22656680571403,49.53926178950929],[-94.32525121053196,49.54000918204152],[-94.32471525267329,49.549045543221375],[-94.34948515977256,49.553886427399696],[-94.36544593924512,49.56595962224485],[-94.38820553786829,49.573109741301856],[-94.3910639424143,49.58364472283762],[-94.43158597631813,49.59306304164489],[-94.41497886516575,49.60591452394637],[-94.38397864272542,49.60314121834714],[-94.38689346589537,49.59269893838078],[-94.37379906372445,49.58368912087519],[-94.3420526738052,49.60101754144664],[-94.3028755554679,49.594395228781444],[-94.28586986320475,49.60707954019519],[-94.31715315433736,49.612772422891624],[-94.34454887005606,49.61327593651669],[-94.35465036625128,49.62560731771188],[-94.3707638751032,49.616080640605844],[-94.38407136944616,49.616677828614655],[-94.39387636545486,49.630376526209844],[-94.37502967532012,49.634829720137326],[-94.31226934801973,49.62164312254139],[-94.30770161498934,49.625519836564834],[-94.23010046083675,49.625767431031875],[-94.22957951940447,49.6634256232485],[-94.2184241878912,49.66504819510231],[-94.16984459203708,49.652587591987015],[-94.15022358767779,49.65067940187934],[-94.1319563865214,49.641972507902224],[-94.10461861829496,49.63616690550986],[-94.07697479328237,49.639186891124695],[-94.0720473036838,49.62419319130549],[-93.9578136771985,49.626257744963326],[-93.96038207201833,49.451273017160595],[-93.9582106680884,49.41212257447141],[-93.92454637493336,49.41030013269367],[-93.9059488715654,49.40577882672454],[-93.87243514628138,49.40948183695514],[-93.82816191214582,49.42358873547929],[-93.82546799117918,49.39656803640834],[-93.84234531955522,49.39148714754229],[-93.86772250952947,49.392495103716314],[-93.87695285903193,49.40074022292289],[-93.89467755885065,49.395405233641306],[-93.93178054582513,49.4035586417041],[-93.9493540407072,49.40064513422461],[-93.93719376812156,49.39321533758213],[-93.94804684666812,49.384293435750266],[-93.93147162589389,49.37603311131553],[-93.94976884829116,49.3671163277523],[-93.93588136757877,49.34919932087177],[-93.95810385170667,49.34203585377184],[-93.95928445609051,49.33148517533497],[-93.95601695991598,49.203887335840335],[-93.93719436013927,49.19329631355572],[-93.91574056844371,49.19307616141189],[-93.90723470711822,49.192905812039974],[-93.7271904154159,49.19252200704875],[-93.72759016901193,49.106772066579126],[-93.35235480780365,49.10711163285828],[-92.93409467297283,49.10578452396886],[-92.93700220036801,49.01935626456061],[-92.63086360206863,49.020927918760854],[-92.3934632505815,49.0215959592013],[-91.96301515072344,49.02132100434476],[-91.61556663275036,49.01970166387323],[-91.4249821982152,49.02014888937422],[-91.12459262089375,49.01994343456684],[-91.05542463451273,49.02056547845141],[-90.96537228907673,49.019556817834186],[-90.96550330649606,49.22509853779863],[-90.96124271126628,49.32539069700939],[-90.96552050519911,49.342467873162114],[-90.9654965875357,49.63166008046542],[-90.96559735969737,49.85872674221204],[-90.96599461590387,50.07405909766239],[-90.96543890250878,50.30796432066859],[-90.96528227302576,50.50003746910017],[-90.96492133679156,50.71273788377963],[-90.96450024576497,50.95826593684014],[-90.94201379504089,50.9739969325789],[-90.93118452791037,51.02181717540573],[-90.91023800074571,51.03595575460019],[-90.84532950282028,51.04631428168245],[-90.7611358317191,51.07312891123267],[-90.73873974236466,51.08424223087056],[-90.71540645903147,51.07717432546375],[-90.6856560328149,51.093106968424465],[-90.66127923047168,51.11671265955191],[-90.62184275276552,51.13032376132553],[-90.60430746232821,51.12901246519065],[-90.59373912124937,51.121223395536376],[-90.60852327636361,51.09321487176348],[-90.59846908259915,51.0877423125368],[-90.55149905240935,51.09911133814494],[-90.52787154633688,51.10873491643515],[-90.48399235717487,51.11357292043619],[-90.47174817889066,51.10268424415636],[-90.45058741825248,51.10096741758488],[-90.44263876129932,51.09037205186557],[-90.40897021014447,51.082997083329985],[-90.41106761673826,51.07306263446718],[-90.39291646172178,51.06819523533765],[-90.3527565931854,51.08406176962788],[-90.30431263690384,51.09753457808403],[-90.2781711731439,51.11426364590131],[-90.26504952233508,51.12852031242056],[-90.23477672486852,51.131925608416935],[-90.22004565171972,51.1183782158566],[-90.19928774566485,51.11943862032267],[-90.14610454085447,51.14109427214493],[-90.11828950489628,51.13781043965479],[-90.09157410024595,51.14840237870318]],[[-90.09157410024595,51.14840237870318],[-90.14469924759943,51.145983118830316],[-90.13481674786107,51.169522825818945],[-90.13313912178513,51.19169502932566],[-90.15785851974229,51.18211533876396],[-90.17647694086139,51.18225203958997],[-90.18414245441245,51.20282592833944],[-90.15070795271346,51.21525761480785],[-90.1132444369659,51.2443168284508],[-90.09792164913512,51.24610202699298],[-90.09041178429598,51.25019361332986],[-90.09157410024595,51.14840237870318]],[[-89.61969432580935,53.80661544853946],[-89.54429214674981,53.78228761967663],[-89.56145081896011,53.762179027462736],[-89.58144841615966,53.758923531626195],[-89.59535683211932,53.771655326283636],[-89.60865420704978,53.768331124608565],[-89.63868342258627,53.743831236121366],[-89.65564483462497,53.75235572197589],[-89.6776102234656,53.75037203764991],[-89.71181158602992,53.7222869161728],[-89.74467837836532,53.70221967160842],[-89.93956804516709,53.719436451425295],[-90.01285229397253,53.7251763123793],[-90.14496298348811,53.779308751521405],[-90.25701383088101,53.820581744377655],[-90.26452231690091,53.842538322336694],[-90.25594252425365,53.85824633773818],[-90.27001583309733,53.86676367985759],[-90.2764981359163,53.88132682842679],[-90.19290334590524,53.89066102409884],[-90.18278781258573,53.88999743072762],[-90.14506972811347,53.900892437535504],[-90.03656144637887,53.910928015233964],[-89.99756333551754,53.91163471390911],[-89.75856931575368,53.84966962625417],[-89.76937284675492,53.83863523480642],[-89.75423334674319,53.81751304182259],[-89.7330257413242,53.8124244392269],[-89.71295553516522,53.823703633307076],[-89.69752721636603,53.82242892121875],[-89.6938049290386,53.83504238095447],[-89.61969432580935,53.80661544853946]],[[-89.61969432580935,53.80661544853946],[-89.6160564316851,53.84805722286163],[-89.59297301498371,53.8540349299824],[-89.55177843656296,53.850915928750794],[-89.49894042284636,53.849767442271705],[-89.51898542822579,53.84134642854778],[-89.54886180736176,53.83888233146023],[-89.53266073066345,53.8279960296796],[-89.51412001508533,53.80665564018073],[-89.61969432580935,53.80661544853946]],[[-82.41928830191156,52.929674700192734],[-82.42900301658288,52.92096529401429],[-82.44101650629793,52.92379730536497],[-82.42394851139254,52.932313902199624],[-82.41928830191156,52.929674700192734]],[[-85.42044149066771,54.99125221397086],[-85.42989289135377,54.99509385928206],[-85.43187190245611,55.01673630869899],[-85.41919710251354,55.009573019489935],[-85.42044149066771,54.99125221397086]],[[-89.68082172725205,53.730068723409445],[-89.65366794925347,53.72549121817873],[-89.65586563666797,53.714692034256416],[-89.6843852420486,53.70757674253743],[-89.68927164540179,53.72480952264879],[-89.68082172725205,53.730068723409445]],[[-94.8763926448901,49.37777932192723],[-94.87048727335319,49.365577818687704],[-94.89484515479805,49.35818233194966],[-94.89270945117204,49.37286242622794],[-94.8763926448901,49.37777932192723]],[[-81.63911430057462,52.28757761139593],[-81.64622363497678,52.274490126282316],[-81.6619989258056,52.26601131418406],[-81.68646781354899,52.26520721775055],[-81.68652081642901,52.273104103325956],[-81.67931180746275,52.27760122441038],[-81.64580093401526,52.28094122342672],[-81.63911430057462,52.28757761139593]],[[-89.64316182384323,53.709238624826426],[-89.63973571164796,53.699037427499505],[-89.6652503356185,53.69946153807978],[-89.68057034164065,53.68923432830516],[-89.6978724137755,53.69577203765363],[-89.67810704644992,53.706669144027295],[-89.64316182384323,53.709238624826426]],[[-91.68836641590042,53.42918842790043],[-91.68957504399431,53.40148212327379],[-91.73636823221433,53.400344323612266],[-91.72378111982405,53.412531727579854],[-91.70134464705453,53.41603902699255],[-91.68836641590042,53.42918842790043]],[[-93.17464786959496,50.39805523952188],[-93.17396446696853,50.385802427859],[-93.21931637011215,50.38010482068337],[-93.21452915289264,50.391418731988296],[-93.17464786959496,50.39805523952188]],[[-87.87165970598721,52.224325899294364],[-87.87283571730941,52.20493853152321],[-87.90900165047059,52.206392370357634],[-87.90545856133485,52.22540874525883],[-87.87165970598721,52.224325899294364]],[[-94.85099106895932,49.36762792193013],[-94.82870275567035,49.36241453233974],[-94.8654594560211,49.34482491902885],[-94.88262375723463,49.354792727108546],[-94.85099106895932,49.36762792193013]],[[-94.29518905413899,52.119367044591954],[-94.26577665413161,52.11667871126883],[-94.27646303307573,52.0982473257279],[-94.2993189319971,52.097287242312134],[-94.32143693237342,52.103940823690785],[-94.32085152622612,52.11472283634322],[-94.29518905413899,52.119367044591954]],[[-91.91772963001428,51.7126689249394],[-91.92920595282375,51.70239292685914],[-91.92256174247999,51.69064573995568],[-91.94597375991395,51.68939432058318],[-91.97310024962516,51.69896783569677],[-91.96292543902922,51.70617973400028],[-91.91772963001428,51.7126689249394]],[[-93.95990675444521,51.82223939167036],[-93.9382735515877,51.82256060327076],[-93.9390510266168,51.810086336847235],[-93.97887474229208,51.79769814436603],[-93.992887951615,51.79882632384629],[-93.997043460246,51.811032733418415],[-93.98972245132252,51.82179243079783],[-93.95990675444521,51.82223939167036]],[[-89.83728423891738,53.03696702918269],[-89.81436622199186,53.0329705188645],[-89.81320585430868,53.010294917803584],[-89.86247121126755,53.011993950233084],[-89.86143036546117,53.03877002395522],[-89.83728423891738,53.03696702918269]],[[-91.82389773437592,51.75088122375195],[-91.78524367191017,51.745249888703924],[-91.79033214908736,51.732977132086454],[-91.80732285201985,51.73135482994027],[-91.81158466277144,51.717730135819046],[-91.83059114556097,51.723336539175044],[-91.84066914422895,51.741467625773815],[-91.82389773437592,51.75088122375195]],[[-88.03918822414022,52.21280712938599],[-88.01360424166866,52.20938552251094],[-88.00371690914238,52.18835957463266],[-88.04886196843361,52.181111075122246],[-88.06511521553459,52.19511787920036],[-88.06934682068828,52.206527126250776],[-88.03918822414022,52.21280712938599]],[[-94.0915717496578,50.21826473399269],[-94.07427234863525,50.19821633498429],[-94.05832766722085,50.188730135923265],[-94.05878785558787,50.17912924192982],[-94.08866256201219,50.17542612038005],[-94.10654567087589,50.18082454161905],[-94.11702926918841,50.192524423950736],[-94.11656484312533,50.2044460296785],[-94.0915717496578,50.21826473399269]],[[-95.05582984623827,49.37172112933127],[-95.05456321102231,49.3857362521092],[-94.99684833924098,49.38575588026932],[-94.97811134210345,49.378403627717574],[-95.01538304147294,49.362628344524154],[-95.05582984623827,49.37172112933127]],[[-94.08465969462004,52.65405332895138],[-94.06377903616277,52.6507033447762],[-94.04997923836567,52.64252378369141],[-94.03584452677765,52.62289934440272],[-94.0592260597908,52.61459413415918],[-94.06849162433193,52.62595294556345],[-94.08500172582892,52.63295182785937],[-94.10508854472275,52.63110523628842],[-94.13258895204739,52.638736245125095],[-94.1395244548182,52.64641113660779],[-94.08465969462004,52.65405332895138]],[[-89.21349050955023,52.884900938539],[-89.17668162817078,52.86266660302145],[-89.18125387190042,52.82399307356721],[-89.19826200982752,52.82438557749465],[-89.20297344230761,52.84054772619289],[-89.22156394151813,52.84414413466506],[-89.22233794329202,52.860882840299205],[-89.23584033082643,52.8741897277444],[-89.21349050955023,52.884900938539]],[[-93.02551172379961,52.51148452709026],[-93.00548884416963,52.50488702852562],[-92.9959553225735,52.49570314159989],[-92.9671281507866,52.49007534183661],[-92.99999983840308,52.46475703337413],[-93.0345542515579,52.466971220519305],[-93.0300218553046,52.48230143528719],[-93.04936682919084,52.50164043603687],[-93.02551172379961,52.51148452709026]],[[-91.79984114950166,53.40191734460887],[-91.79696344887508,53.37715912398729],[-91.8157891364683,53.37425532933049],[-91.84461374733652,53.35936582569089],[-91.86826594305181,53.33605563592585],[-91.88997752884448,53.35089346758411],[-91.7985500213116,53.409621743970234],[-91.79984114950166,53.40191734460887]],[[-92.5945892474521,49.665639430101315],[-92.55756033707077,49.65678802285869],[-92.58743614756762,49.624949130772414],[-92.58458664429219,49.60996273702317],[-92.597846842788,49.60016237009128],[-92.61471978058205,49.59985856380546],[-92.61410077119515,49.663898115783105],[-92.5945892474521,49.665639430101315]],[[-88.48539983079975,52.719909066145895],[-88.50951930731993,52.720669803532246],[-88.54135306942608,52.737839586837424],[-88.54366701627264,52.7478786482968],[-88.53010244183025,52.76500598559753],[-88.49694816865079,52.7694442663981],[-88.46580567208768,52.75636317404825],[-88.46333750860728,52.739361103524026],[-88.48539983079975,52.719909066145895]],[[-93.15193986829279,50.44832002170838],[-93.15097357736285,50.36381924506185],[-93.17863123659366,50.35506434122892],[-93.19714954859431,50.366366325517724],[-93.20065204389579,50.37668503007366],[-93.1713469320745,50.3816063284716],[-93.15875336605338,50.401041122893034],[-93.2127771674808,50.41795281953373],[-93.21123495517364,50.43511522917973],[-93.18541913216032,50.43738063377191],[-93.15193986829279,50.44832002170838]],[[-93.97658406658691,50.204529436932575],[-93.97473964030456,50.166787043449396],[-93.98518564516102,50.164793033087946],[-93.98565585906407,50.14544271830328],[-94.00873777020894,50.14288794142206],[-94.02509235150379,50.14784432788227],[-94.04978854810344,50.139789726012864],[-94.05867723327444,50.15383872101337],[-94.03679816544818,50.177178028691955],[-94.01766316354374,50.15327013499571],[-93.99629555571104,50.1523042308314],[-93.99888714740204,50.16449594345731],[-94.0213101449813,50.162816827029005],[-94.02082704582426,50.18351654348598],[-94.03163257397424,50.20329794010588],[-93.97658406658691,50.204529436932575]],[[-92.51339506403737,49.62691933974597],[-92.447536066468,49.627391085864375],[-92.53134913756512,49.571826048031646],[-92.58273898148666,49.57365129100533],[-92.5534752405387,49.613939536874945],[-92.5272572575149,49.61673173519178],[-92.50837577049177,49.606777023808775],[-92.5028536614065,49.61643171854017],[-92.51339506403737,49.62691933974597]],[[-94.5544237404521,49.718705341522686],[-94.53307276437718,49.71035484160137],[-94.53547575954971,49.6963806339668],[-94.55546923625421,49.70149273558832],[-94.55582316187558,49.682175540252175],[-94.56601356831418,49.67271013588195],[-94.6586299689807,49.672301529291765],[-94.63769085320504,49.68892603313879],[-94.67252914349143,49.68999313915748],[-94.66812016861591,49.699312830618915],[-94.64065234503033,49.69493781996928],[-94.63007066459966,49.7060884423379],[-94.6274521973729,49.71946865803386],[-94.5544237404521,49.718705341522686]],[[-92.12086062688816,53.90286500200399],[-92.1186000683794,53.86533649926951],[-92.1391724517541,53.87117563553438],[-92.1328681261471,53.888932034058115],[-92.17219104575534,53.866665436797916],[-92.19460385499805,53.86409923451895],[-92.1929777290732,53.8492326442999],[-92.24719644963432,53.85346772808008],[-92.26800095090726,53.86092573076398],[-92.20933536456438,53.86547727527499],[-92.20866661744296,53.89529628407274],[-92.15059052300492,53.917621746979535],[-92.12086062688816,53.90286500200399]],[[-87.62151301870999,56.00977315770245],[-87.61081069400569,56.00053126852173],[-87.64843621784796,55.98328884327814],[-87.68353710457056,55.979028035997096],[-87.716888331792,55.96148273939506],[-87.75927002393985,55.95767933833818],[-87.78078852323212,55.94818814012822],[-87.79280620183998,55.96360317503593],[-87.67605416880569,55.99739007525889],[-87.72302446592663,56.04442971491226],[-87.67836775896838,56.05944750025647],[-87.62151301870999,56.00977315770245]],[[-93.3147023187432,53.109634551320255],[-93.25907816870043,53.10562051008809],[-93.26377932820479,53.066313905740664],[-93.29462174740497,53.06081083199144],[-93.31070713868382,53.05216493274082],[-93.32897512460065,53.05815204169965],[-93.37504935052115,53.060420732112426],[-93.40070251786608,53.07620998168043],[-93.40013364858349,53.10676864308608],[-93.34115722468975,53.098940723646834],[-93.31680593709686,53.101682138998186],[-93.3147023187432,53.109634551320255]],[[-89.2561850215517,52.947283020457846],[-89.27044111956621,52.93801121574338],[-89.27051554315052,52.92313663674806],[-89.29567871106988,52.917539235189224],[-89.292774127909,52.90137923575778],[-89.26740154461257,52.88072051845365],[-89.26558782182205,52.86635761590218],[-89.23658952652808,52.85430701733704],[-89.20614107213834,52.824235527009876],[-89.33164983219446,52.826828153266355],[-89.32739492172242,52.860431737051215],[-89.33977763382492,52.87408321881541],[-89.31896314902687,52.8866901211587],[-89.29335624933506,52.893401025764234],[-89.3067171445962,52.92378961616117],[-89.32787313142344,52.92713872509476],[-89.34246465127569,52.94238282947607],[-89.30446262059606,52.935299032767446],[-89.28672694176815,52.93507613214452],[-89.2561850215517,52.947283020457846]],[[-89.05179763150001,53.524396630661286],[-89.04712033206111,53.50850391663152],[-89.07277061465746,53.48978943452593],[-89.08991411001169,53.465211919453346],[-89.11899383908272,53.43742153912944],[-89.1228168442595,53.425240532821654],[-89.14582751792618,53.41714202321191],[-89.15998863065387,53.388524128411156],[-89.18366341514695,53.37539263888172],[-89.2514680072664,53.39876361675198],[-89.22555562751886,53.41584853202189],[-89.20119434114588,53.420583329033796],[-89.1783528430198,53.412190021903626],[-89.17046251338242,53.42023762290053],[-89.14374851791736,53.42960253833302],[-89.1565726252031,53.43594171719357],[-89.15590464191132,53.47665584205389],[-89.13470801064159,53.49819763246234],[-89.11557683741148,53.50868412469185],[-89.08455662667042,53.506267617994084],[-89.10314223200069,53.48780422387827],[-89.09325963587231,53.48449822813474],[-89.06354292904722,53.52157064028107],[-89.05179763150001,53.524396630661286]],[[-93.42929550106827,49.885990592953405],[-93.33676899248468,49.88692813188416],[-93.3348994354387,49.83391762013446],[-93.34495566837232,49.8322961177801],[-93.3549314694832,49.848285028499156],[-93.3763622675684,49.853101338421055],[-93.39908387061193,49.84351823890844],[-93.39702653782864,49.81479712743044],[-93.41621430320953,49.80896433241544],[-93.4363441284596,49.80947493974812],[-93.45783371364392,49.82443072747405],[-93.46942289597388,49.8226416733508],[-93.46940315327632,49.88622011225846],[-93.42929550106827,49.885990592953405]],[[-92.79571678959653,49.81502270509818],[-92.69913284291621,49.8154229028624],[-92.69886945145409,49.80111370765769],[-92.63425066417797,49.80064695497103],[-92.63464056280407,49.78543550202462],[-92.68952893318843,49.784519915025776],[-92.68910672450734,49.770463199492454],[-92.65667331669484,49.77077656846188],[-92.65426702225379,49.74961597861369],[-92.66396997104422,49.74270222629486],[-92.68286574052065,49.7588826286939],[-92.71646444861273,49.763844722083434],[-92.72445413967046,49.77023212287373],[-92.7490117516833,49.77205981893886],[-92.7714691374088,49.76602603880435],[-92.79139323816845,49.769877327843886],[-92.83771037592247,49.75890808282782],[-92.85864363262935,49.7608186171915],[-92.85962351960896,49.80063298533541],[-92.80254549045307,49.8005497965975],[-92.79571678959653,49.81502270509818]],[[-91.60834506343912,51.1884149316127],[-91.5938093614658,51.17568375051397],[-91.52073412670562,51.1752090645625],[-91.51930098139631,51.161080603072],[-91.53564075159619,51.1614901411215],[-91.5667570853454,51.152772513530856],[-91.5942839986542,51.1537488707157],[-91.59007269320288,51.14015319492013],[-91.5494126654754,51.13617488563359],[-91.55993751639292,51.12491856977609],[-91.5835554595334,51.11835700566744],[-91.71707350065958,51.120736981394735],[-91.7101544262892,51.18589301917419],[-91.66391126604277,51.18461235863422],[-91.66540649441463,51.171730804776864],[-91.63550050104156,51.17607530178767],[-91.62570403914056,51.18803822900361],[-91.60834506343912,51.1884149316127]],[[-91.72746298134957,49.451796101180356],[-91.62783086908026,49.45071208633355],[-91.61120306964679,49.45158699583414],[-91.61189631321103,49.36605142904294],[-91.7422318601317,49.3672247142593],[-91.74230611012698,49.45184515222231],[-91.72746298134957,49.451796101180356]],[[-91.2718928573081,52.99579517487934],[-91.15392776430446,52.94331613293331],[-91.22016821759546,52.89436996404504],[-91.2316290181361,52.89957772886442],[-91.24890163677571,52.892952328803915],[-91.26960853805775,52.89780404168157],[-91.27300751574278,52.912995441725265],[-91.26075443998644,52.91639193868147],[-91.27338963217386,52.931766330341894],[-91.29317891918065,52.938076727352055],[-91.31462802238676,52.934716030242235],[-91.32825913525315,52.94770082493226],[-91.34481841803054,52.943843629574836],[-91.3513887238471,52.958295033245015],[-91.39155153524406,52.94455074080525],[-91.30938241721135,53.01257101625276],[-91.2718928573081,52.99579517487934]],[[-94.95194586834657,50.199193541744776],[-94.8216173215743,50.198681015669706],[-94.88211325671843,50.1299080269123],[-94.9220802678725,50.13172694163675],[-94.95387615667042,50.12596993161567],[-94.98059957039483,50.113418733994536],[-95.01333737048928,50.124566728296195],[-95.00654465733824,50.130755935883585],[-95.01335343844929,50.151281342627925],[-95.0251091619978,50.15616794111375],[-95.0204375544407,50.1672321273367],[-95.03319966324531,50.17460103487343],[-95.03177946481352,50.18734472431627],[-94.99745217357531,50.19598202872658],[-94.97909934978051,50.19436244128758],[-94.95194586834657,50.199193541744776]],[[-90.09538924509515,51.247733416791],[-90.11480015395162,51.24473743406631],[-90.14040643177819,51.232347737973875],[-90.16932214232892,51.22905302174023],[-90.19922483324737,51.209704219136775],[-90.2304895975121,51.198698454602194],[-90.24319005927694,51.21549922584241],[-90.25875813336359,51.20502743139753],[-90.24988253060472,51.18434042568616],[-90.2752710516951,51.16685242885817],[-90.2752519522237,51.28618497934377],[-90.08994458726914,51.286044590538964],[-90.09043512891026,51.25209212340046],[-90.09538924509515,51.247733416791]],[[-88.65498382202615,53.66432922013511],[-88.61324681164105,53.63614019362934],[-88.56399219147029,53.6074826495163],[-88.57939543664779,53.58116251662957],[-88.57484274032477,53.563106421986106],[-88.60094841063994,53.5524002267643],[-88.6402056214802,53.552167028214456],[-88.65077770754735,53.535897443523986],[-88.79093161694695,53.632276497460204],[-88.68287938158899,53.68393619839378],[-88.65498382202615,53.66432922013511]],[[-90.83901448451425,53.929600496297205],[-90.83363015385125,53.90791234803425],[-90.85155419925687,53.8971213934964],[-90.8373140342696,53.882662424681655],[-90.8440614317842,53.87585923373997],[-90.83734943917902,53.86181902157804],[-90.86386761838588,53.84915482586893],[-90.87475272520093,53.83176777879226],[-91.05441107607832,53.83502936993507],[-91.05693172509064,53.856533028756125],[-91.0669945228702,53.86113718803603],[-91.06653699564725,53.89329492964938],[-91.07033967950913,53.941973093910356],[-91.00000001723774,53.944342264917665],[-90.84761229898021,53.943235770016585],[-90.83901448451425,53.929600496297205]],[[-92.66432272139667,53.08848582630524],[-92.64879965117616,53.06628612603903],[-92.62822273651001,53.062479634443484],[-92.60396772521827,53.03914762238609],[-92.61093435555746,53.02809203018482],[-92.63172204379129,53.01641784245269],[-92.64239595386061,52.9881243224277],[-92.66989373007128,52.99723174736125],[-92.69985574749685,52.99418914132771],[-92.71035474860544,52.98129192698275],[-92.70559093456694,52.961701029920405],[-92.71884153118972,52.95767782922278],[-92.73808861275555,52.94169035757131],[-92.66577357205381,52.94100946815142],[-92.6650563721343,52.90885854767459],[-92.65872817122661,52.89880593277793],[-92.68877530181031,52.896151786713844],[-92.69131863071574,52.92612170950088],[-92.73077924747626,52.92663643899633],[-92.74850555908647,52.935543915050026],[-92.77305645051024,52.929027529672965],[-92.780074357426,52.91875953650246],[-92.76326345511553,52.90865243865423],[-92.78090912568335,52.89960383637034],[-92.78979085559071,52.90815624622095],[-92.86634443063745,52.9179384287002],[-92.88275155383802,52.92470344478962],[-92.8987629244428,52.92060483959139],[-92.93289737594273,52.93921372682448],[-92.93421122007452,52.97852479444127],[-92.90279984854229,52.976485422465956],[-92.89667265647181,52.99268674594174],[-92.92146983104648,52.99641433418799],[-92.91853104104416,53.006865347813516],[-92.88167464819831,53.01399723187773],[-92.83774423330709,53.01442703532261],[-92.81320163240703,53.006154744544375],[-92.78819664075152,53.014201325709166],[-92.78034464311366,53.025558423279016],[-92.75879433347453,53.03133793957477],[-92.7556571203346,53.02009512423577],[-92.72383295457226,53.019112128921044],[-92.69436322264474,53.04259354677199],[-92.67443815831606,53.051619445236014],[-92.6615295451034,53.06826484330598],[-92.66432272139667,53.08848582630524]],[[-87.71657305594742,51.614278946553476],[-87.741621541614,51.570977613153815],[-87.76241691899845,51.52432992263368],[-87.77997253762645,51.51915341167101],[-87.81081183420854,51.52826111329297],[-87.83883962211846,51.53179343215928],[-87.84753302951259,51.54448233380205],[-87.86973591849775,51.54442753063594],[-87.89248691860166,51.557020618565495],[-87.92362393327716,51.55461181985446],[-87.90944825327156,51.56808173715307],[-87.9255152231239,51.57584612748995],[-87.94756471695518,51.56779451519274],[-87.96787845164938,51.57518912141523],[-87.95015904374252,51.59009021297501],[-87.97253659864342,51.601705382349046],[-87.9103032133402,51.70860754434354],[-87.69016105249598,51.65958998355818],[-87.71657305594742,51.614278946553476]],[[-90.02103242456465,51.46006214558161],[-90.02060616122895,51.45037117169188],[-90.16110478198522,51.45344871448572],[-90.15980777913879,51.410718911349065],[-90.26473401042472,51.41234826506105],[-90.27075786724595,51.45283987696807],[-90.40713047428265,51.45216072630605],[-90.39969941034924,51.5389295997168],[-90.11462499867903,51.535089193387655],[-90.02436636226709,51.53570213385782],[-90.02103242456465,51.46006214558161]],[[-94.54979596162154,49.846232094878886],[-94.56907005966738,49.84544521933699],[-94.57827684019861,49.86419152945962],[-94.56130947134345,49.86879293059211],[-94.57734893923347,49.88013412274396],[-94.56805396699865,49.901290221638476],[-94.58045867184127,49.92079343373424],[-94.57721903381481,49.93069582729183],[-94.55313784645564,49.92509343522162],[-94.55159859901946,49.91550884472129],[-94.53245015192775,49.91379549878825],[-94.50506051812074,49.904122560471485],[-94.45468604806139,49.90522427745962],[-94.3413394567259,49.9047162640694],[-94.34254800788814,49.83192374410902],[-94.35187537440673,49.816242534944614],[-94.34298095344418,49.81080522900784],[-94.34313181657028,49.775682086102165],[-94.34760396225013,49.75621216821715],[-94.36177988068687,49.74354707894031],[-94.38015274718947,49.735570294300146],[-94.37315730531823,49.72823626932975],[-94.39948006152889,49.71810062654865],[-94.40806334080098,49.72563334116929],[-94.43959903819717,49.71801344290616],[-94.45251117322545,49.73275683065942],[-94.47233806857592,49.72436583200924],[-94.48490523525257,49.74525006777086],[-94.53482530639299,49.74668447243162],[-94.55014934046145,49.754078749433454],[-94.59142486562453,49.75037732455695],[-94.59007958450078,49.790178495948645],[-94.57093271492579,49.79140733033672],[-94.5493178188572,49.800451734644575],[-94.52553594355572,49.79870434370897],[-94.50988186905064,49.80518781848323],[-94.51805403977524,49.81540723044507],[-94.54417795712862,49.8172657301911],[-94.55252384267895,49.82567242488921],[-94.54979596162154,49.846232094878886]],[[-93.06935676053197,49.73755602984712],[-93.07057451616792,49.71395271095163],[-93.17255909315494,49.71429661833262],[-93.37855382221566,49.7132062257921],[-93.37838673636108,49.80006602311721],[-93.20315891376346,49.799851082481126],[-93.20452941270165,49.886815594424775],[-93.10759096474867,49.888108395552784],[-93.07101882789144,49.88719388649331],[-93.07074288154678,49.78387689350005],[-93.05738418107349,49.77386171223993],[-93.00896369134757,49.776559612838284],[-93.01625801765378,49.716556000488346],[-93.01574616930547,49.6901863286716],[-93.05185206905968,49.69405861880085],[-93.03040125574068,49.71534751603192],[-93.04908485802109,49.72761852351257],[-93.06429246800612,49.72790783228776],[-93.06935676053197,49.73755602984712]],[[-93.34095783919102,50.84917776796102],[-93.31936406397489,50.835946955637944],[-93.28167502358944,50.84396140525509],[-93.28361333123424,50.698626424579665],[-93.24615263821653,50.70518651958865],[-93.17536621137323,50.70226772008669],[-93.16857723139981,50.69471891726098],[-93.1763411463912,50.68184162337978],[-93.17464689364708,50.65878851892081],[-93.15933003803437,50.648554544158856],[-93.14535652778422,50.64819225969816],[-93.13609541983793,50.62847967295662],[-93.13696375744016,50.56399778314345],[-93.27167098698246,50.56300991459901],[-93.2707397489719,50.61117097500466],[-93.28574567215543,50.609217290103686],[-93.3082599742703,50.617873848694735],[-93.3133488028025,50.636175754096655],[-93.33170388630862,50.657254031982596],[-93.34831598409468,50.658559910283664],[-93.40600149940272,50.65133342005155],[-93.45200175312024,50.65406109185196],[-93.44580773410625,50.6716399293088],[-93.48096476862801,50.66924486271078],[-93.49999999833167,50.671422742591275],[-93.51936075958332,50.687116867855536],[-93.51170203786887,50.72734350347254],[-93.47892461142439,50.801873203290874],[-93.43141086681293,50.81851399568299],[-93.41637506898275,50.82784183668055],[-93.37227323555123,50.84207343164068],[-93.34095783919102,50.84917776796102]],[[-87.36352351832642,53.14485961620323],[-87.34726254541566,53.108119136671505],[-87.33370621887936,53.10764591958179],[-87.3213469381455,53.11901702333767],[-87.25287265586658,53.11843913277989],[-87.2519529108858,52.97534003609069],[-87.26609764468344,52.980266032437825],[-87.2714672130009,52.96259342097613],[-87.25073534601748,52.95361152700104],[-87.26191912869743,52.929965733390965],[-87.24025148845114,52.91855674410548],[-87.23580360653104,52.88791792240392],[-87.2169663170741,52.88275652321764],[-87.16852368954376,52.88015680675436],[-87.2068246201886,52.84055902380874],[-87.19286033553105,52.82126557318535],[-87.20958301494245,52.8096529099584],[-87.51459058102215,52.814148261635815],[-87.51642524266637,52.8286629356775],[-87.50361464724773,52.86631992181244],[-87.51086703484974,52.88231803574378],[-87.4984103544091,52.90066708677142],[-87.50603671770354,52.92242392650378],[-87.50268183362459,52.94248951938455],[-87.50775513820987,52.955188429785906],[-87.50342574418148,52.978277515949905],[-87.47539922906601,52.99781873290781],[-87.45687943858388,53.01691071934096],[-87.44559553639503,53.01488832884418],[-87.43506433067759,53.03225961500945],[-87.44220284327156,53.03617753439204],[-87.4795422185501,53.00928931690367],[-87.50484553241986,53.01667661736336],[-87.50142903751977,53.0325236314226],[-87.45783214130968,53.03850302000985],[-87.42863610882895,53.05706591283293],[-87.3968909159588,53.08444211532715],[-87.38196502174944,53.08476581380214],[-87.37542822619223,53.12498742358593],[-87.36352351832642,53.14485961620323]],[[-93.48606287268521,51.192946014742795],[-93.48702723563173,51.12948063104483],[-93.48612438008507,51.019104759414006],[-93.69348346615531,51.01846660900677],[-93.71769124300087,51.00706533597304],[-93.71604644083497,50.98448562676259],[-93.7277595406208,50.9837208377885],[-93.72135945468001,50.96327492127921],[-93.70050146061372,50.96069513096405],[-93.68596443901366,50.947256227705424],[-93.69653776920853,50.93463963856198],[-93.71060583091835,50.93138944396202],[-93.74330585781304,50.94467502895276],[-93.76096124537366,50.93292176618626],[-93.89576163860713,50.932809709769494],[-93.96514304959851,50.93171780460085],[-93.96394521392956,51.00506462308096],[-93.94145575358799,51.005378197047456],[-93.94077088872585,51.03938726558831],[-93.8983912895429,51.03952773891279],[-93.89906169150835,51.19293771057963],[-93.54477768100875,51.192624776904985],[-93.48606287268521,51.192946014742795]],[[-92.26233179549251,50.10884718085647],[-92.25816848480295,50.23812092159299],[-92.53978478421443,50.24305826409499],[-92.53820288103789,50.30937167468481],[-92.51868686999221,50.307609831505204],[-92.47384317375187,50.321829074441474],[-92.4603775224541,50.31810996113307],[-92.34643403129022,50.30303166193447],[-92.30270751582674,50.31371922922216],[-92.2525580409199,50.31026716669053],[-92.21679373713286,50.31743729014055],[-92.20259544429626,50.33675551569103],[-92.12264957566128,50.33587590721466],[-92.11977277459724,50.27383663135336],[-92.11997528781042,50.19946862149495],[-92.1218425661383,50.15299392608332],[-92.12806386588133,50.144190617241094],[-92.151789945494,50.1420569276473],[-92.13709382454289,50.12677652597457],[-92.13799147103083,50.13396028628193],[-91.83453625919103,50.13546685398639],[-91.7248032903635,50.13516182536793],[-91.72259037573755,50.02126543349686],[-91.75434509524767,50.0231763765903],[-91.7641075763163,50.01983714281102],[-91.82828035614148,50.01565906849513],[-91.86121974833188,50.02201021254883],[-91.86325895473715,50.03050600011114],[-91.90252205096985,50.035594761501976],[-92.01987012216665,50.03543655609726],[-92.01516323499972,49.97201148676403],[-92.11466179512857,49.97352770389521],[-92.27592218800325,49.97346263472795],[-92.27593792224053,50.07067046465995],[-92.27792863564648,50.10878002137055],[-92.26233179549251,50.10884718085647]]],[[[-89.88144982573581,53.83227115663478],[-89.88929932022764,53.82338152914127],[-89.91710509831697,53.82002428689913],[-89.90575706627567,53.8035987022233],[-89.86639019778218,53.82083070590756],[-89.88144982573581,53.83227115663478]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-88.97277069608484,\"lat\":52.98435752489181},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560090\"],\"csd_name_en\":[\"Kenora\",\"Unorganized\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Kenora, Unorganized\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-96.21541624532327,50.55507425281529],[-96.19082230183923,50.554885991738374],[-96.18482141335485,50.562128196469736],[-96.21534886251679,50.57552619830721],[-96.23331175360734,50.57369979673003],[-96.23336868324573,50.56071141741777],[-96.21541624532327,50.55507425281529]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-96.21206069555775,\"lat\":50.56419373464203},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4601\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4601075\"],\"csd_name_en\":[\"Powerview-Pine Falls\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Powerview-Pine Falls\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-98.06961579392384,49.44345929569922],[-98.27304640444389,49.443384996661386],[-98.27310329485181,49.48751760796918],[-98.40906513175764,49.487847314310606],[-98.40813948337589,49.39923691057153],[-98.40897259964568,49.354841888610416],[-98.4088953003222,49.26608529858201],[-98.27297551393995,49.266416404033635],[-98.06933820012377,49.26620579342318],[-98.06961579392384,49.44345929569922]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-98.24836139158477,\"lat\":49.36487693040586},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4603\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4603058\"],\"csd_name_en\":[\"Thompson\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Thompson\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.4493376356822,49.8707379930241],[-97.50948875228488,49.87369111416421],[-97.51835040710563,49.89316877288104],[-97.55501889056563,49.91308051786048],[-97.58035519839329,49.922164025449646],[-97.61208548694984,49.95315003039575],[-97.63966109434766,49.95177889672611],[-97.65782519700227,49.967780331443784],[-97.68193362431431,49.97400025572423],[-97.69364107005981,49.99243465174464],[-97.70820793352354,50.00091902798325],[-97.72625709220507,50.00138252694573],[-97.74271945428039,50.0095536863445],[-97.78264896419343,50.00999743121614],[-97.80756766404473,50.005394785124416],[-97.83689639756422,50.03366943043588],[-97.87056794484702,50.04683908360482],[-97.90701765956567,50.05445322761587],[-97.91417602312336,50.0456813449407],[-97.93317375025268,50.049662077033055],[-97.9499811434253,50.04186677571603],[-97.94120667301657,50.026563065749954],[-97.87245750733892,50.02670600465387],[-97.87252500670355,49.88646070879957],[-97.86879681357549,49.88640209491766],[-97.86883098783282,49.79791361244439],[-97.73233309355216,49.79844360281404],[-97.45906190016198,49.79814489718327],[-97.45384454720234,49.805645043645924],[-97.4493376356822,49.8707379930241]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.70661011108542,\"lat\":49.89282196145279},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4610\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4610043\"],\"csd_name_en\":[\"Cartier\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Cartier\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-98.45892087731637,50.85671303651345],[-98.4592574873584,50.895873738649215],[-98.5600339670818,50.89656734361496],[-98.56079948288236,50.963506152789165],[-98.58470706560327,50.963688966108094],[-98.58501479557337,50.97141333947005],[-98.63339919225517,50.97091508869431],[-98.63355266609943,50.92300303368918],[-98.62770498670795,50.92292827181426],[-98.61223766452166,50.91373443014622],[-98.60958505583292,50.8907313334928],[-98.59136905507407,50.884562949396795],[-98.5723272653807,50.88915743821807],[-98.54808174955143,50.88304995127801],[-98.53754897139223,50.87433074406608],[-98.49862637603853,50.87835613851058],[-98.48161216483541,50.8738528511458],[-98.45892087731637,50.85671303651345]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-98.56757750175272,\"lat\":50.91784047500628},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4618\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4618055\"],\"csd_name_en\":[\"Dog Creek 46\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Dog Creek 46\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-95.5967631030997,56.068903869514465],[-95.60111115169347,56.0688102679945],[-95.5996490307333,56.06679371630852],[-95.5967631030997,56.068903869514465]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-95.59917442850883,\"lat\":56.06816928460583},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4622\"],\"cd_name_en\":[\"Division No. 22\"],\"csd_code\":[\"4622066\"],\"csd_name_en\":[\"Mooseocoot 4\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 22\",\"csd_name_fr\":\"Mooseocoot 4\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-95.0001037664319,56.25000012059087],[-94.749795408572,56.249991146906424],[-94.34916554151134,56.24998436553341],[-94.1297146737237,56.245624437307285],[-93.99982234370829,56.244964322684616],[-93.99943401318828,56.41902443314334],[-93.99831538909042,56.505134391748214],[-93.68271486824523,56.50543936504858],[-93.68456695773978,56.704022644797334],[-93.68459079916798,56.76954778309689],[-93.99999999710039,56.769375580799476],[-93.99999998961681,56.68122446298035],[-94.10887122878118,56.681324665610596],[-94.11446339643513,56.595793401271536],[-94.27170117050856,56.59355793105104],[-94.2734936187181,56.50810453645611],[-94.4617825355663,56.50635510725646],[-94.46250009603249,56.4387849971611],[-94.46015011335521,56.42304075850706],[-95.00010423997308,56.4198995299433],[-95.0001039822768,56.33499942372548],[-95.0001037664319,56.25000012059087]],[[-94.71095545416914,56.34559864749993],[-94.70960153778724,56.34698438076659],[-94.70804491528258,56.345752900338404],[-94.71095545416914,56.34559864749993]],[[-94.21078029885545,56.503044398452424],[-94.19677841593632,56.50778514410452],[-94.1946076033982,56.504541129365556],[-94.20799792979108,56.500029408894676],[-94.21078029885545,56.503044398452424]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-94.25972293661985,\"lat\":56.45182438929612},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4623\"],\"cd_name_en\":[\"Division No. 23\"],\"csd_code\":[\"4623022\"],\"csd_name_en\":[\"Gillam\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 23\",\"csd_name_fr\":\"Gillam\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.3921172968764,49.26639510888335],[-101.39242711647283,49.397142099784915],[-101.38915139521929,49.399512910340206],[-101.39236990755202,49.4591806934482],[-101.39256410725271,49.532722579583556],[-101.41763515159263,49.53274480138788],[-101.66395399036209,49.53270540037639],[-101.66519585071302,49.502140842240756],[-101.6634202864563,49.43053689423297],[-101.66440548919364,49.26683259649482],[-101.6181483037491,49.26615053783249],[-101.46005000023126,49.26685083359518],[-101.3921172968764,49.26639510888335]],[[-101.59860670307947,49.387237488752355],[-101.6071375792734,49.387243194005954],[-101.60695112546473,49.3922361908652],[-101.59598943961696,49.39226198569127],[-101.59860670307947,49.387237488752355]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.52800944255699,\"lat\":49.39966923633456},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701043\"],\"csd_name_en\":[\"Storthoaks No. 31\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Storthoaks No. 31\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.71241603011666,49.57900153891825],[-101.71332857783575,49.56241479293324],[-101.69071519517456,49.562412310024136],[-101.69072489295998,49.577175092607305],[-101.71241603011666,49.57900153891825]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.70201668116941,\"lat\":49.57020875264789},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701049\"],\"csd_name_en\":[\"Redvers\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Redvers\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.69052512666966,49.8699099442998],[-101.668299981909,49.86984504732859],[-101.66837679368135,49.88426614923929],[-101.69130690635933,49.88478935743258],[-101.69052512666966,49.8699099442998]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.67968600012533,\"lat\":49.87724078435021},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701098\"],\"csd_name_en\":[\"Fairlight\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Fairlight\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.42772268274071,49.26070657208546],[-104.42648486659482,49.21226439601229],[-104.42773740970092,49.17355519107218],[-104.40853061341872,49.17348538784278],[-104.41014890213312,49.08687619033704],[-104.41004559139273,48.99955510889321],[-104.01244479143392,48.99985058898911],[-104.00980051366864,49.0022028077796],[-104.00983410647734,49.174065404265235],[-104.02467343104568,49.17406966842042],[-104.02433599051713,49.26058130416863],[-104.40524403174598,49.261101784389275],[-104.42772268274071,49.26070657208546]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.21524696261812,\"lat\":49.13044311891878},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4702\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4702011\"],\"csd_name_en\":[\"Lake Alma No. 8\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Lake Alma No. 8\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.01057315710722,49.6719712249268],[-106.9979032896701,49.66681193314817],[-106.99793594123999,49.67246218510389],[-107.01057315710722,49.6719712249268]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.00213746267242,\"lat\":49.670415114392945},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4703\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4703051\"],\"csd_name_en\":[\"Kincaid\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Kincaid\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.56187678179316,49.200390681759835],[-108.55040614964689,49.20713329276517],[-108.57479471201916,49.208929876561896],[-108.56187678179316,49.200390681759835]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.56235921448642,\"lat\":49.205484617028965},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4704\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"4704012\"],\"csd_name_en\":[\"Frontier\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Frontier\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.70780330691163,50.38447478671678],[-101.6846721232129,50.3726918234187],[-101.68460308437263,50.38745071297923],[-101.70780330691163,50.38447478671678]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.69235950483238,\"lat\":50.381539107704896},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705038\"],\"csd_name_en\":[\"Rocanville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Rocanville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.41831328018715,50.545393748533684],[-102.43209280349886,50.536124373731994],[-102.47607182891454,50.52987781389475],[-102.49809959905788,50.53437523162416],[-102.49997475317488,50.484286191673824],[-102.5004569519242,50.44055965981284],[-102.41860124764914,50.44023690391613],[-102.28148715258482,50.4402868114226],[-102.28064765797713,50.50791174105063],[-102.29258943417629,50.515201572598],[-102.31044607841316,50.52511694622973],[-102.36349622731534,50.539308232863284],[-102.41831328018715,50.545393748533684]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.39297161231845,\"lat\":50.48715865340574},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705806\"],\"csd_name_en\":[\"Ochapowace 71\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Ochapowace 71\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.26370769446332,50.16342878907986],[-105.25968137613653,50.170717152929335],[-105.27165803078468,50.170664045613016],[-105.27160570569859,50.163440043303545],[-105.26370769446332,50.16342878907986]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.26658912637716,\"lat\":50.16730977477177},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706018\"],\"csd_name_en\":[\"Briercrest\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Briercrest\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.56511438834508,50.846909337602085],[-105.56341431360663,50.85533191962267],[-105.57380770239024,50.855757628543785],[-105.57484120036233,50.848187194657314],[-105.56511438834508,50.846909337602085]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.56919469148175,\"lat\":50.851572583545114},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706064\"],\"csd_name_en\":[\"Chamberlain\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Chamberlain\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.03575433775083,50.935585899166895],[-104.03070780499463,50.95017069490693],[-104.0430447780196,50.950244973838686],[-104.03575433775083,50.935585899166895]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.03650230692169,\"lat\":50.94533385597084},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706097\"],\"csd_name_en\":[\"Dysart\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Dysart\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.00459761287897,50.57203449456083],[-106.41634090182981,50.57226196537444],[-106.41722639107148,50.30999710161943],[-106.13347390501325,50.310160097529085],[-106.00481872863367,50.309320059215],[-106.00390708200361,50.41107215591585],[-106.00459761287897,50.57203449456083]],[[-106.05042771216273,50.46290719007739],[-106.05048512938619,50.44902634388392],[-106.07905551078142,50.44907441316831],[-106.07333871184524,50.46325461201813],[-106.05042771216273,50.46290719007739]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.21100453724792,\"lat\":50.4409653923938},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707032\"],\"csd_name_en\":[\"Wheatlands No. 163\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Wheatlands No. 163\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.87056294549426,51.28470900376646],[-103.8823139209215,51.28494605442321],[-103.88240015690998,51.29186464069647],[-103.90567501116792,51.277991720583884],[-103.87034121764356,51.27834311152055],[-103.87056294549426,51.28470900376646]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.8856404523367,\"lat\":51.28232068551359},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710832\"],\"csd_name_en\":[\"Muskowekwan 85-17\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Muskowekwan 85-17\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.98724712077102,51.29896690312055],[-103.98800507420944,51.291211645450474],[-103.9759082875716,51.29094733772416],[-103.97581913304285,51.298884689404616],[-103.98724712077102,51.29896690312055]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.98172543839513,\"lat\":51.29496463294797},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710842\"],\"csd_name_en\":[\"Muskowekwan 85-23\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Muskowekwan 85-23\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.92928586542197,51.278599385240504],[-103.92540019154761,51.25510458237638],[-103.91465098689952,51.2551263153409],[-103.91768945861456,51.27854459393915],[-103.92928586542197,51.278599385240504]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.92178120368213,\"lat\":51.26698999980731},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710843\"],\"csd_name_en\":[\"Muskowekwan 85-12\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Muskowekwan 85-12\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.30115858377827,51.233516494574964],[-105.2921965221751,51.240894478776795],[-105.2973299835351,51.24182685937095],[-105.30115858377827,51.233516494574964]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.29689502982951,\"lat\":51.238745944240904},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711007\"],\"csd_name_en\":[\"Etters Beach\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Resort village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Etters Beach\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.5768780418284,52.30250983091311],[-106.5654289889019,52.31261641366305],[-106.55573728688593,52.344286866619434],[-106.60384035249521,52.34408103935167],[-106.60385241574514,52.31915900826981],[-106.59223749611374,52.2894215463883],[-106.5768780418284,52.30250983091311]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.5829878958835,\"lat\":52.323365518284376},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711068\"],\"csd_name_en\":[\"Warman\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Warman\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.36127739925263,51.997751293239894],[-106.38532209794442,51.99697532472782],[-106.36917117079317,51.990781568212974],[-106.36127739925263,51.997751293239894]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.37192355599674,\"lat\":51.99516939539356},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711077\"],\"csd_name_en\":[\"Clavet\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Clavet\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.49572706829454,52.405475416342355],[-104.48664461849759,52.42011793877368],[-104.50094422294396,52.43274280861994],[-104.50097270610623,52.405474991365054],[-104.49572706829454,52.405475416342355]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.49590121958457,\"lat\":52.417950664636955},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714032\"],\"csd_name_en\":[\"Naicam\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Naicam\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.75828457725588,53.059065928561694],[-103.7535399864732,53.06476716410701],[-103.75827510813983,53.06925373674851],[-103.75828457725588,53.059065928561694]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.75669989062298,\"lat\":53.0643622764724},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714061\"],\"csd_name_en\":[\"Zenon Park\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Zenon Park\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.63537312907656,52.30006435514058],[-103.61023777824192,52.30003624167514],[-103.61038639817207,52.3125726391061],[-103.62712485313118,52.31977584734725],[-103.6266802826852,52.42324087499743],[-103.68830441108213,52.42320989217608],[-103.69656958143871,52.413661043430366],[-103.68120018011278,52.3825959563569],[-103.69667467757282,52.34154185868734],[-103.68059254802994,52.324283738371435],[-103.69386145114643,52.31860514394617],[-103.68517457467449,52.303506636274335],[-103.68066033371736,52.30025053297891],[-103.63537312907656,52.30006435514058]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.65677364201493,\"lat\":52.360271909915895},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714841\"],\"csd_name_en\":[\"Yellowquill 90\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Yellowquill 90\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.52712239343775,52.2700006080633],[-105.52713868878317,52.26025459680704],[-105.51514107470479,52.260537089351786],[-105.51528388801766,52.26770631187247],[-105.52712239343775,52.2700006080633]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.52147579175963,\"lat\":52.26463978423636},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715012\"],\"csd_name_en\":[\"Bruno\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Bruno\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.38885961891775,52.56018029005767],[-105.38715902080769,52.56775527370045],[-105.3991334802062,52.56559139730257],[-105.38885961891775,52.56018029005767]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.39171737331054,\"lat\":52.564508987020226},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715046\"],\"csd_name_en\":[\"St. Benedict\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"St. Benedict\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.89945199607872,53.525521767189275],[-106.01503784664102,53.52525355817618],[-106.01531868699549,53.51790459112844],[-106.05258368472553,53.51771885943772],[-106.05315099655367,53.452538497506794],[-106.02873761806724,53.45254408701419],[-105.98523169741279,53.452482933851925],[-105.91212558510558,53.45258854415484],[-105.91194788839695,53.43823171402264],[-105.88742733517054,53.43809266986215],[-105.88739170825608,53.4523427642396],[-105.78919078729409,53.45251520938659],[-105.78918184218513,53.49612527195226],[-105.83862464985796,53.496028013661444],[-105.83838885530822,53.52577184110608],[-105.89945199607872,53.525521767189275]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.92736882931483,\"lat\":53.48581239405562},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715851\"],\"csd_name_en\":[\"Little Red River 106C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Little Red River 106C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.89945199607872,53.525521767189275],[-105.89986560316324,53.53977013334728],[-106.00411360522175,53.53988091266315],[-106.10246316946375,53.53972571767388],[-106.10249432588355,53.52513449482177],[-106.0525909187628,53.52502876150171],[-106.05258368472553,53.51771885943772],[-106.01531868699549,53.51790459112844],[-106.01503784664102,53.52525355817618],[-105.89945199607872,53.525521767189275]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.00436350482195,\"lat\":53.53159737552705},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715853\"],\"csd_name_en\":[\"Montreal Lake 106B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Montreal Lake 106B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.29655809315486,53.096169221508426],[-109.29653771829001,53.074289507928505],[-109.27224971540325,53.0742809049122],[-109.27303667194985,53.096123098651915],[-109.29655809315486,53.096169221508426]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.28459796895945,\"lat\":53.085157213056576},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717018\"],\"csd_name_en\":[\"Maidstone\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Maidstone\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-109.97069845624115,53.76636512762907],[-109.97162894268529,53.78400025642085],[-109.99569872997229,53.78357243806445],[-110.0071312340091,53.76981437391222],[-110.00545010186326,53.71743241083959],[-109.97116204987358,53.717668501779116],[-109.97069845624115,53.76636512762907]]],[[[-109.12889608840672,53.80208369955674],[-109.59913964478072,53.802040583238856],[-109.80363949632842,53.80196782940298],[-109.80336770793446,53.78383342005185],[-109.81551102303305,53.78359779959453],[-109.81556785612592,53.76583058117751],[-109.80873621962162,53.76594600574211],[-109.809110981628,53.634902698517394],[-109.97260342321059,53.63593143699482],[-110.0053356661412,53.6354175761698],[-110.00571375740115,53.601912346156304],[-109.99073604085561,53.598330343615956],[-109.88972184346426,53.564218583912094],[-109.8227701380135,53.55075789601115],[-109.79178869119282,53.562508359846404],[-109.7857397649638,53.581680065598036],[-109.7661822133236,53.59746414365706],[-109.74211558711151,53.60251285908417],[-109.71644212804682,53.599603791811546],[-109.68000389531421,53.590066750669905],[-109.64590372750752,53.588558725795465],[-109.63204468398247,53.583931436010324],[-109.6281400121388,53.57162432698733],[-109.63595943068364,53.54512569961406],[-109.62285409679804,53.5218505890148],[-109.54409499273632,53.48836572243657],[-109.54198900539005,53.47118824312386],[-109.56904352773913,53.443412834027136],[-109.56317286544424,53.4290998475508],[-109.54479823443654,53.41702336130864],[-109.49190289752065,53.408510364386125],[-109.47360248024937,53.38809135311361],[-109.44588300614197,53.37475005688059],[-109.42154957866097,53.37601356711671],[-109.38432129600149,53.39199696659232],[-109.31546199254542,53.398645666674376],[-109.27460086775953,53.39124486442398],[-109.24470977318218,53.363473356536105],[-109.23227248415515,53.33337236570053],[-109.22298039388394,53.327951954182005],[-109.18943208498344,53.32988635725582],[-109.16643596646894,53.32478916802827],[-109.12009108582691,53.30212435213437],[-109.07644568274043,53.28533825665994],[-109.07745579101022,53.36567819402729],[-109.10227049604714,53.36542884841555],[-109.10140681496505,53.45334907528631],[-109.10258548306079,53.57279789010611],[-109.10141414232088,53.71727265424614],[-109.12886210337584,53.71667438800315],[-109.12889608840672,53.80208369955674]],[[-109.20006910739473,53.62155119770814],[-109.21239160376435,53.63806189917934],[-109.18858868718641,53.63518361418217],[-109.20006910739473,53.62155119770814]],[[-109.46873072766076,53.543417517787226],[-109.44561727639662,53.54673959856942],[-109.4459229849733,53.53538128845082],[-109.47925265514783,53.53342635270843],[-109.46873072766076,53.543417517787226]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.4300209462157,\"lat\":53.605151210667174},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717032\"],\"csd_name_en\":[\"Frenchman Butte No. 501\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Frenchman Butte No. 501\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.65979944503808,53.60705732626713],[-108.65981741772323,53.613657403865766],[-108.66727647209379,53.6104623708893],[-108.65979944503808,53.60705732626713]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.66229777828504,\"lat\":53.6103923670074},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717042\"],\"csd_name_en\":[\"Kivimaa-Moonlight Bay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Resort village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Kivimaa-Moonlight Bay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.1280899265433,55.149319777884955],[-108.15002287381706,55.153240261259334],[-108.14495758209509,55.167839668963595],[-108.16838918772245,55.166241646204774],[-108.18203416427964,55.158787656483106],[-108.17982366893088,55.13251046037936],[-108.23166397341399,55.1098163582114],[-108.25460805435313,55.117924348753704],[-108.28042907915253,55.10987675194459],[-108.27914149195527,55.0999412546127],[-108.27773197417689,55.09899845410579],[-108.2562489154428,55.093745895046126],[-108.20841428570034,55.09309671956751],[-108.2060603699228,55.10635479402889],[-108.18132435146143,55.10603257508409],[-108.18071201174351,55.11805753593874],[-108.15939044972225,55.11860161699014],[-108.1592413339045,55.13463096592545],[-108.12805470983601,55.13454328647944],[-108.1280899265433,55.149319777884955]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.1966316834653,\"lat\":55.124532158257296},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718817\"],\"csd_name_en\":[\"Canoe Lake 165\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Canoe Lake 165\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.52969607543208,49.51196890137397],[-112.53908650975401,49.508562694698036],[-112.53910289792076,49.49411598610753],[-112.5166575892916,49.49410659000114],[-112.51668150091615,49.50853489679128],[-112.52969607543208,49.51196890137397]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.52794833484137,\"lat\":49.50221208827786},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4802\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4802009\"],\"csd_name_en\":[\"Stirling\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Stirling\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.83455826417745,49.131943102837546],[-113.87542220512886,49.132173552386725],[-113.87434030385165,49.17652374059738],[-113.93728087909739,49.17597646929523],[-113.94912488873258,49.19022432604819],[-113.94996112009852,49.204541751419136],[-113.97320925399254,49.204440196580606],[-113.97889036417688,49.18846756949205],[-113.98921525416482,49.184124491041736],[-114.00753769452331,49.16571514521813],[-114.03518141934606,49.164065043964015],[-114.07435730259802,49.182114523517434],[-114.1057303675338,49.17297296951964],[-114.10767340047519,49.157921743570505],[-114.12389850098378,49.161738849634936],[-114.1612497849932,49.15483135720038],[-114.1490379188637,49.143652553516375],[-114.16539128555164,49.137080999828186],[-114.14963787198536,49.118063895999576],[-114.15314913867716,49.09951039474029],[-114.12959302379335,49.07810359321704],[-114.1069396539606,49.064965196276376],[-114.08097635842365,49.059688458783576],[-114.06349606767493,49.04531156486192],[-114.05375826448122,49.02654472781428],[-114.07180479565352,49.002359554086006],[-114.06833210989359,48.99885049564231],[-113.90623017360977,48.998708264713564],[-113.71696126301529,48.99763265416346],[-113.65334154701661,48.997772722296055],[-113.6534384159992,49.07248320306753],[-113.69068910715887,49.072571569605486],[-113.693158063392,49.05376649427449],[-113.68263485344531,49.03964626019595],[-113.69048807679481,49.02079085386617],[-113.73112821531296,49.02139661714422],[-113.73324688821717,49.07284900825619],[-113.78834618870606,49.07335088959963],[-113.78804020740763,49.08855279719197],[-113.80746752951296,49.08902902071372],[-113.8085778896116,49.13197312900156],[-113.83455826417745,49.131943102837546]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.93293080485795,\"lat\":49.0813969633325},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4803\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4803003\"],\"csd_name_en\":[\"Improvement District No. 4 Waterton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Improvement district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Improvement District No. 4 Waterton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-110.00507401389423,51.270550998187105],[-110.14679439798078,51.270365697343664],[-110.42359897851367,51.270553993272564],[-110.42352385601623,51.126149250864074],[-110.42111759288386,51.094756989729724],[-110.42337059560374,51.0305484625039],[-110.42285992929502,50.94968668607564],[-110.38162097936785,50.92644954542041],[-110.35039309745206,50.92225045383324],[-110.30874910274534,50.910301153696096],[-110.28128911604975,50.89479116189949],[-110.24585869301728,50.896332057980906],[-110.22994928663614,50.909011042374274],[-110.23630539071335,50.93065495166243],[-110.22094898129875,50.93331266313647],[-110.19623049098576,50.919566348175614],[-110.15362600103714,50.931546662702395],[-110.13674979856377,50.939118758536296],[-110.11276608848594,50.93985736643348],[-110.09214148371119,50.95033174853538],[-110.06683480576675,50.949546640426014],[-110.06742849400996,50.96398526078617],[-110.0561804146889,50.9670870596016],[-110.00469277386571,50.96455210192106],[-110.00469377762884,50.96855454381742],[-110.00507401389423,51.270550998187105]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-110.21871070432665,\"lat\":51.100027241627664},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4804\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"4804001\"],\"csd_name_en\":[\"Acadia No. 34\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Acadia No. 34\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.15472483128347,51.66331875279096],[-114.16700491164794,51.64940179241999],[-114.14357219619505,51.64159387765419],[-114.11973739878152,51.641545513402846],[-114.1045675459247,51.63499177625524],[-114.10482509178789,51.67149559808945],[-114.11974359173439,51.67854339271542],[-114.16703559336807,51.67857009081198],[-114.16703568881029,51.66397420559077],[-114.15472483128347,51.66331875279096]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.13375807117119,\"lat\":51.65990272828489},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4806\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4806032\"],\"csd_name_en\":[\"Didsbury\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Didsbury\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.62743935443528,51.81069768304],[-114.66298160728437,51.814287273981805],[-114.6630215872759,51.780744208396435],[-114.64506300940074,51.788649245704995],[-114.62382673164979,51.788100014306046],[-114.61825443718824,51.79500207081613],[-114.59216071165433,51.79499188448113],[-114.59217211101046,51.80240252582975],[-114.62229307447669,51.802459037138945],[-114.62743935443528,51.81069768304]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.6376509056991,\"lat\":51.79911059411566},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4806\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4806036\"],\"csd_name_en\":[\"Sundre\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Sundre\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.32208962812832,52.68643294285858],[-111.33402196631448,52.667638751895524],[-111.3154351029953,52.65590370973388],[-111.29298527193609,52.67009471431624],[-111.32208962812832,52.68643294285858]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.31544418163654,\"lat\":52.6704948066886},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4807\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4807048\"],\"csd_name_en\":[\"Hardisty\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Hardisty\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-110.00545010186326,53.71743241083959],[-110.06871235400811,53.720557710598946],[-110.06828126453547,53.63580801932419],[-110.0053356661412,53.6354175761698],[-110.00545010186326,53.71743241083959]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-110.03711689575712,\"lat\":53.67734260435311},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4810\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4810805\"],\"csd_name_en\":[\"Makaoo (Part) 120\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Makaoo (Part) 120\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.02942216810514,53.79596667199542],[-114.01863371789435,53.79029766443243],[-114.02119710442813,53.77517995880373],[-113.89296537145297,53.77505214364522],[-113.89260856504788,53.84720088164979],[-114.02926681985461,53.84749039792342],[-114.02956556157858,53.81739273468166],[-114.02942216810514,53.79596667199542]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.9599930047902,\"lat\":53.811723435998466},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811805\"],\"csd_name_en\":[\"Alexander 134\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Alexander 134\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.17342771564566,53.70989643521009],[-114.19811441748111,53.71562229776541],[-114.1982556697905,53.700635512013434],[-114.17347981826546,53.70114409861881],[-114.17342771564566,53.70989643521009]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.18690262193469,\"lat\":53.70693730822581},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4813\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4813014\"],\"csd_name_en\":[\"Onoway\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Onoway\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.56844179668082,54.72732055681594],[-113.56724999750469,54.732973967184755],[-113.57248217250897,54.733430657930285],[-113.572616434836,54.721212549405486],[-113.5636915087933,54.723035151507084],[-113.56844179668082,54.72732055681594]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.56967616298947,\"lat\":54.72697197864146},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4813\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4813055\"],\"csd_name_en\":[\"South Baptiste\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"South Baptiste\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.3169960129246,49.62585385270763],[-114.36225173331331,49.625414835402125],[-114.36091688503538,49.640344454799674],[-114.45268817611752,49.640548811910044],[-114.45228841200658,49.65615984954815],[-114.50954055408876,49.6552305338671],[-114.50985583226495,49.669558670270575],[-114.59073806696534,49.670093934710856],[-114.59123586386261,49.68417448424251],[-114.61219483894867,49.6843151775898],[-114.61184094302875,49.66968831948198],[-114.66734841332809,49.669821692163765],[-114.65981280016526,49.65525047965321],[-114.69641009541063,49.629356359064026],[-114.70341866572937,49.63675436689739],[-114.72254617675156,49.622905117458195],[-114.74647644614151,49.618509704808574],[-114.74656986540461,49.60174557744433],[-114.73685555987555,49.59539883559566],[-114.73258666928295,49.57637952571608],[-114.6909834671212,49.55402643411554],[-114.6631399020513,49.55233198614335],[-114.6551172133731,49.54558559921291],[-114.62013320018278,49.54680866129206],[-114.60795770727458,49.55975025810789],[-114.58895548161311,49.56589826392723],[-114.57360388010154,49.55746290546993],[-114.55455058654738,49.556258663581914],[-114.50909322206167,49.57429279696283],[-114.4975356276932,49.54287427771682],[-114.48174768636376,49.53447419548201],[-114.47694406109869,49.52017992110447],[-114.46639021604474,49.51803084682122],[-114.4312980944342,49.524519982981],[-114.4111939343032,49.51339704056584],[-114.40884992804874,49.49851545078111],[-114.39246141054821,49.500743464180296],[-114.34932214745898,49.51692859940061],[-114.34581173432835,49.538970165699844],[-114.2944856427351,49.538787777220605],[-114.29455347115868,49.552789862395755],[-114.3168240348323,49.55491328630324],[-114.3176987266693,49.56793398360241],[-114.2948268014919,49.56793255702694],[-114.2948670512711,49.58233520633571],[-114.31775589060501,49.58208526499183],[-114.3169960129246,49.62585385270763]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.51301411870267,\"lat\":49.59562380899695},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4815\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4815007\"],\"csd_name_en\":[\"Crowsnest Pass\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Specialized municipality\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Crowsnest Pass\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.02428165016805,52.21176128459435],[-117.03771151838181,52.204592026300084],[-117.07332837620102,52.221529434545026],[-117.07246445722154,52.22993918491023],[-117.10598705381283,52.246720764823216],[-117.11999673590803,52.24407895238123],[-117.15575500788003,52.26375054483126],[-117.19096283570535,52.26945518840061],[-117.19867840942672,52.26356161156014],[-117.13460456306662,52.22288400752864],[-117.19445189266759,52.19940359496769],[-117.19676523618399,52.18097183800629],[-117.28453408118057,52.1633290592108],[-117.31730287210712,52.19404201548251],[-117.2985929645211,52.0942816590616],[-117.29202880114796,52.08540530507548],[-117.30506352583899,52.07431339447091],[-117.29453045485921,52.06509153492957],[-117.26840791645586,52.05578651391857],[-117.2705873494734,52.048861943356556],[-117.24820222843013,52.034778410123494],[-117.23202803449094,52.04107370955103],[-117.21468177344975,52.02847935705861],[-117.23195988486593,52.016464013040604],[-117.21641394061216,51.997260371501746],[-117.2016921179439,51.99285085853279],[-117.19722361297165,51.98013484051766],[-117.1773160970168,51.97435501014449],[-117.13332378885539,51.96825798706717],[-117.12019973049044,51.95570049547161],[-117.10317598352606,51.95651679690676],[-117.09765211795951,51.93969519778996],[-117.07973709879487,51.930801443623324],[-117.0194649484734,51.89135999979194],[-117.03432087448209,51.85980742590019],[-117.01937068484034,51.84293210438619],[-117.00574552548898,51.83610578099987],[-116.97888242282228,51.83361541701864],[-116.98898846972901,51.811105881487215],[-116.96400220933998,51.79495126276432],[-116.96322173749375,51.774257445430344],[-116.97636058180547,51.76018497849208],[-116.9606104363937,51.75203649716991],[-116.9436207981712,51.73390866350327],[-116.92654369499124,51.7290628397066],[-116.92056790791625,51.70980326840904],[-116.8872860292748,51.702968871360554],[-116.85360110846887,51.70827229023988],[-116.83661321223614,51.7033112743854],[-116.80974116725413,51.70534635005769],[-116.79802003227564,51.72360248411756],[-116.81859819337684,51.735564473761016],[-116.79154071396086,51.76396351192468],[-116.77286051567488,51.77483256697749],[-116.74423247110073,51.80660801720602],[-116.71550709501267,51.7986627927654],[-116.69448091838628,51.803612539618264],[-116.68207610185401,51.81214658027921],[-116.65434312312817,51.80131089240273],[-116.64314652953036,51.786708616762674],[-116.65097416215372,51.76676746823844],[-116.65034888460362,51.75370643522557],[-116.62813146080707,51.74486830134793],[-116.6311948655286,51.73140330093275],[-116.59853466348534,51.72387366577272],[-116.5811763650072,51.69728153922741],[-116.59501567269915,51.66183009426284],[-116.5700898814535,51.64711907390801],[-116.52987218700395,51.63167857544898],[-116.49957623203157,51.62340086068296],[-116.49101494084651,51.61233629178695],[-116.47141114012922,51.6046775992465],[-116.4660214174381,51.59408733692176],[-116.47325026369526,51.58267306837057],[-116.46473472643336,51.565817393612384],[-116.45292502639066,51.560548148161544],[-116.39088604957452,51.54558824834865],[-116.38291460221839,51.53264277708207],[-116.39533495508697,51.525526952427924],[-116.39382922260067,51.505662937667694],[-116.36059709565997,51.47086614517857],[-116.33800012809381,51.464285731229886],[-116.2924303037759,51.461802684977286],[-116.28548810475036,51.435288783408744],[-116.29421312687407,51.429934233986586],[-116.28247020553944,51.40683673284997],[-116.31143488790585,51.384962212570066],[-116.29341041671371,51.36484113612533],[-116.27725511090055,51.35469463990046],[-116.29003062093521,51.34310893625378],[-116.28260412393536,51.331501844362656],[-116.26801739505161,51.31193316990846],[-116.21908456179578,51.29450376047018],[-116.18850879928108,51.30147963988823],[-116.16413114324516,51.29779006660924],[-116.1515662900853,51.287160208380186],[-116.1591331552323,51.27581199551717],[-116.14414695028186,51.26473380323537],[-116.11167621797136,51.25335291584386],[-116.06517334826947,51.24793008944195],[-116.0492664008908,51.22743706592426],[-116.02667715166291,51.219883935986275],[-116.007603752432,51.22201215367823],[-116.000022592268,51.19394746719994],[-116.02135649572922,51.187078625402854],[-116.02388938777828,51.176195735982795],[-116.03684494216769,51.170045526298175],[-116.01750606604085,51.15613718288261],[-116.01561048810164,51.13809901847466],[-116.00446487359835,51.1246812898061],[-115.98476922987221,51.12601821019752],[-115.95726326494118,51.115181610785754],[-115.94849259858073,51.0992634868396],[-115.93255564756728,51.09675678975485],[-115.92360697933792,51.083109564727984],[-115.86793338086918,51.08929039744406],[-115.8577330557994,51.07913191666106],[-115.83337151353199,51.075927045115534],[-115.8166251428665,51.08475483891581],[-115.8028069178012,51.069604318938225],[-115.78923190003925,51.072417684626444],[-115.77358692079028,51.057719056746755],[-115.76703563342805,51.03938827476743],[-115.72675961535698,51.01868790378271],[-115.7037924220782,51.021285962498524],[-115.66935394961594,50.999272615047865],[-115.64883405703623,50.99752045740849],[-115.62201372441865,50.96548218631029],[-115.61459585404106,50.95118767908765],[-115.59703971864997,50.93986026857173],[-115.60980043021338,50.926280245428],[-115.58417582074142,50.91575449582614],[-115.5620827642977,50.894251124418204],[-115.57785544988386,50.88834486102272],[-115.5926461810912,50.89264113792538],[-115.64892946164211,50.874147601306895],[-115.6429827765386,50.84220648940808],[-115.62697943716154,50.83343282650068],[-115.60734837739159,50.84403911487694],[-115.57813602188203,50.84050376173514],[-115.56077912154895,50.826532940114554],[-115.56647598427098,50.814704678047725],[-115.55086991513846,50.79706590243994],[-115.53240758234527,50.78819245126222],[-115.4949259752154,50.7800164558387],[-115.48188528157108,50.76856223444597],[-115.48110693562272,50.75518175887376],[-115.43628198058063,50.755730692667434],[-115.41239086453179,50.733603416127295],[-115.41379919576113,50.711257243489975],[-115.39122236791687,50.706452446117744],[-115.3545565631603,50.72271182952685],[-115.33595071889658,50.72344082803378],[-115.34739904706976,50.7464885602151],[-115.36829589147472,50.74571814188002],[-115.38383517813027,50.7723770373174],[-115.36716273187311,50.78496154495258],[-115.38505130428094,50.79748935195372],[-115.38686478877828,50.80836474656785],[-115.433256173922,50.846362216157786],[-115.39979113084296,50.88536510257852],[-115.39415768380101,50.90806969301578],[-115.36963566883432,50.89916159215481],[-115.3633194883587,50.929023237589554],[-115.37069731962072,50.943841171642454],[-115.38307316787251,50.9528046271953],[-115.39937866782249,50.977541510959924],[-115.41657386062045,50.97746742374649],[-115.43514768396074,50.99646252848296],[-115.43333180039005,51.00604215355964],[-115.44718269046078,51.01679969532576],[-115.45772095154683,51.03908905801588],[-115.4300128437885,51.08367024513516],[-115.4691550950972,51.124509104714235],[-115.43176820542733,51.13284124957626],[-115.41272536304412,51.13182303293666],[-115.3884532042706,51.13507346732389],[-115.30191065836733,51.16080613511982],[-115.28238016736377,51.169980124019446],[-115.29359293368947,51.18553704275215],[-115.2795967051132,51.191415587627695],[-115.2830423594364,51.2117857609757],[-115.2468461499521,51.22102802627175],[-115.22486334085765,51.23118991601823],[-115.21368922483673,51.24150185000983],[-115.19248355999422,51.23856282754123],[-115.17064865752592,51.25191747210515],[-115.1852871601673,51.291707751714476],[-115.21758633502276,51.29434626011512],[-115.30861832062133,51.281008102239646],[-115.32522468416575,51.26727885439123],[-115.36083991619255,51.28210187096621],[-115.3786955643863,51.29754389142039],[-115.40132266504521,51.308255709859814],[-115.44340565297777,51.31499231439782],[-115.46430189862706,51.31439643085313],[-115.4894806675434,51.3318229160236],[-115.49810749292945,51.34280837461303],[-115.47770087053678,51.373724608782354],[-115.47548937917941,51.38502500763785],[-115.49846915168244,51.408944983044115],[-115.49808837806769,51.41843647669174],[-115.47434877769855,51.429501096936846],[-115.4985985917937,51.44913836469787],[-115.50632963300397,51.47319485060311],[-115.48431260631598,51.49396546333978],[-115.48352889256336,51.50438315079272],[-115.50461973731281,51.508742968703714],[-115.52338949874157,51.5068445177169],[-115.53479865216198,51.533573350750125],[-115.51541841273546,51.553782725213935],[-115.49649438109212,51.565744296532955],[-115.56423982572612,51.6086586367304],[-115.5740978178569,51.61910749238738],[-115.6308436072003,51.67012768105443],[-115.65615440361958,51.68230470972184],[-115.66873435404783,51.694344268104764],[-115.74328032340581,51.71082727090279],[-115.76854312757328,51.7381761545176],[-115.80334879166948,51.74134518941727],[-115.81505141950699,51.759212510796196],[-115.83697465891886,51.761533427800885],[-115.87765436102339,51.74311966212988],[-115.89196889973046,51.74962949378207],[-115.92257659170873,51.75405248434206],[-115.93739673375099,51.773303819850355],[-115.92110999593805,51.79447400653262],[-115.94764705451084,51.80684392156885],[-115.93768684870773,51.855045212163795],[-115.96559206683588,51.852383585320936],[-115.9857187710204,51.84456633820567],[-116.01103803892117,51.87070789351943],[-116.02168958348418,51.89429970972784],[-116.05179837462994,51.894562738587496],[-116.0797981502675,51.913162187009256],[-116.1035381494227,51.90810674362774],[-116.10799917739185,51.89282293982131],[-116.13811172871478,51.886175323949885],[-116.14208667330062,51.873537904755246],[-116.16117353683393,51.8674995027991],[-116.17746827844492,51.854677304508776],[-116.1804443539559,51.84169592341052],[-116.19675429549639,51.833748328601594],[-116.21774626967434,51.832574459486345],[-116.24155874920365,51.83675500865479],[-116.24974732512068,51.823641761787904],[-116.27734148694057,51.82545504665899],[-116.29814991814838,51.81918571510333],[-116.28766069826197,51.80980032533204],[-116.30086151536152,51.7962474701414],[-116.32467282245375,51.78683046554094],[-116.34913719956697,51.79645476203469],[-116.35115227820378,51.80342697133966],[-116.41019298387465,51.834253801963996],[-116.44595908317687,51.832188103457455],[-116.46400689190587,51.84002752589289],[-116.46787761051536,51.82200421310563],[-116.49508769939857,51.81326138876941],[-116.5090355095472,51.81463592999351],[-116.5289896559345,51.8300513612566],[-116.53679406979897,51.8448403986245],[-116.55235875279614,51.856210632878415],[-116.54696383101025,51.8665628711528],[-116.57974754691095,51.87802705359327],[-116.59224824521642,51.87435957638317],[-116.60604123764185,51.88259916781542],[-116.60865517026919,51.900459265191245],[-116.59547009027065,51.90879603950816],[-116.60130256154235,51.921054660285336],[-116.61404164703222,51.9270681114015],[-116.6146469649092,51.948188834036486],[-116.60425538981364,51.96888930150333],[-116.61444576674262,51.98292246999432],[-116.64484716452661,51.98280000701264],[-116.6596334454646,51.990629170918986],[-116.67052646652026,52.006485494479115],[-116.67060998514214,52.02404365219474],[-116.70552514422273,52.03851715546809],[-116.70563788599729,52.05690702212662],[-116.71989917171797,52.0621636802872],[-116.7565143668908,52.05402593748309],[-116.76872034401323,52.05892454676657],[-116.77229412062164,52.07435794500326],[-116.79829168687546,52.07528685754799],[-116.8182531493347,52.09030191550602],[-116.82323925897386,52.10367078988339],[-116.86830813028108,52.11144835764885],[-116.89127129100403,52.120479938205406],[-116.90432897091993,52.13300159403106],[-116.91810172045281,52.13089946982384],[-116.971299662817,52.14946813566926],[-116.9764466239792,52.169696307371034],[-116.96297991480192,52.176485634780015],[-116.99966112523379,52.19461150858521],[-117.00256020127544,52.2081957084976],[-117.02428165016805,52.21176128459435]],[[-115.55789984111283,51.19308670494964],[-115.56329978663997,51.18066912428337],[-115.55708161880358,51.1705676258533],[-115.58243866519548,51.16823173769781],[-115.58126678332171,51.18441306569748],[-115.55789984111283,51.19308670494964]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-116.12402044225696,\"lat\":51.54319379934555},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4815\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4815032\"],\"csd_name_en\":[\"Improvement District No. 9 Banff\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Improvement district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Improvement District No. 9 Banff\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-116.13573512796361,55.548228652627806],[-116.12307818625683,55.553354415617164],[-116.13566433462445,55.55973803172138],[-116.13683411555894,55.548628290981256],[-116.13573512796361,55.548228652627806]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-116.13186047572395,\"lat\":55.55364729161537},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817865\"],\"csd_name_en\":[\"Kapawe'no First Nation 229\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Kapawe'no First Nation 229\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-115.75456971268255,49.58997645042555],[-115.78095636831831,49.58042603583714],[-115.77483751309076,49.57747602790392],[-115.75076741656636,49.581568769599905],[-115.75456971268255,49.58997645042555]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-115.7639297946013,\"lat\":49.58286053281339},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5901\"],\"cd_name_en\":[\"East Kootenay\"],\"csd_code\":[\"5901808\"],\"csd_name_en\":[\"St. Mary's\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"East Kootenay\",\"csd_name_fr\":\"St. Mary's\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.37371095834767,49.996411441293375],[-117.38683474927512,49.99042689900655],[-117.38204186364372,49.980901789706195],[-117.37074274802423,49.98038043757016],[-117.37371095834767,49.996411441293375]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.37797209789711,\"lat\":49.98744217671446},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5903\"],\"cd_name_en\":[\"Central Kootenay\"],\"csd_code\":[\"5903032\"],\"csd_name_en\":[\"New Denver\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Central Kootenay\",\"csd_name_fr\":\"New Denver\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-116.51715446650577,49.03615948942998],[-116.51142998093437,49.03697368091737],[-116.51128368328447,49.06894677929126],[-116.52449935416635,49.06949108487828],[-116.54806692806721,49.04743244646491],[-116.52210403676806,49.04624895738682],[-116.51715446650577,49.03615948942998]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-116.5236614778719,\"lat\":49.05441741223253},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5903\"],\"cd_name_en\":[\"Central Kootenay\"],\"csd_code\":[\"5903807\"],\"csd_name_en\":[\"Creston 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Central Kootenay\",\"csd_name_fr\":\"Creston 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.76605247591148,49.212216382079184],[-121.75249063402552,49.21422875160935],[-121.7527951540475,49.22237375570858],[-121.76557506590288,49.222330021773125],[-121.76605247591148,49.212216382079184]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.75945826142532,\"lat\":49.21772519156253},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909834\"],\"csd_name_en\":[\"Tseatah 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Tseatah 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.87772533722769,49.03703268405996],[-123.88530511111671,49.02414078465466],[-123.9209413670339,49.032243190038685],[-123.95319336433994,49.031427527010145],[-123.9554670178043,49.020696084891235],[-123.99417404215633,49.0321962474244],[-124.03594849234996,49.02574451581664],[-124.02970718024766,49.01234513133134],[-124.0103618209193,48.99958973699312],[-124.00453510802795,48.986159018555945],[-123.96591484277376,48.99185200589845],[-123.92775373597243,48.98814827041984],[-123.9024869730408,48.99767008274172],[-123.85921894819661,48.99083707952336],[-123.84942740258847,48.979179530660346],[-123.83588589226328,48.979267229236356],[-123.84543548028624,48.99812841230963],[-123.81915436776221,49.01055955855169],[-123.80205668110446,48.99766564230879],[-123.79899710761697,48.98313200732711],[-123.78804199069072,48.971910983824245],[-123.73462403554308,48.9859861593775],[-123.74042660229857,49.05705366529003],[-123.86445159670302,49.05733387050843],[-123.86759951186312,49.042955742918735],[-123.87772533722769,49.03703268405996]],[[-123.86398494769968,49.02141965380497],[-123.84654799125052,49.01302355164561],[-123.86385971928081,49.012547739483075],[-123.86398494769968,49.02141965380497]],[[-123.80106998775338,49.035780167158215],[-123.75454349855704,49.03579253581379],[-123.76261044436481,49.028724046916224],[-123.79007444827549,49.02834945032557],[-123.7866249518837,49.01863206180227],[-123.76403604736701,49.009158270419995],[-123.76045339357204,48.99154536848652],[-123.7882007556538,48.992802661600216],[-123.81796387695331,49.01142668889832],[-123.80097594488144,49.01597697164351],[-123.80106998775338,49.035780167158215]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.86543195395599,\"lat\":49.01769697178781},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5919\"],\"cd_name_en\":[\"Cowichan Valley\"],\"csd_code\":[\"5919017\"],\"csd_name_en\":[\"Cowichan Valley H\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cowichan Valley\",\"csd_name_fr\":\"Cowichan Valley H\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.66646283525733,48.977036653005776],[-123.65640553827124,48.96778357570323],[-123.66194254346225,48.95767595981948],[-123.62781815300703,48.94235855341851],[-123.63011653134569,48.96446655252894],[-123.63929934246352,48.97949337247505],[-123.65999604649583,48.98411636186227],[-123.66646283525733,48.977036653005776]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.64546298772896,\"lat\":48.9647935880369},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5919\"],\"cd_name_en\":[\"Cowichan Valley\"],\"csd_code\":[\"5919809\"],\"csd_name_en\":[\"Penelakut Island 7\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cowichan Valley\",\"csd_name_fr\":\"Penelakut Island 7\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.82705087046615,48.76070241625874],[-123.83098382002842,48.76080270337698],[-123.8310323035733,48.75770843831267],[-123.8269123696115,48.75897528977352],[-123.82705087046615,48.76070241625874]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.82918065774847,\"lat\":48.75950969122368},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5919\"],\"cd_name_en\":[\"Cowichan Valley\"],\"csd_code\":[\"5919821\"],\"csd_name_en\":[\"Tzart-Lam 5\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cowichan Valley\",\"csd_name_fr\":\"Tzart-Lam 5\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.55231313046346,48.92885020662669],[-125.54532411037266,48.921403515935],[-125.52371034543299,48.92130481145511],[-125.52515154974533,48.931128334064184],[-125.5654843921048,48.958532812761185],[-125.58276860681634,48.964031066417455],[-125.59627790707178,48.955525212454674],[-125.58629119184165,48.945366736334734],[-125.55928146937174,48.93575477173418],[-125.55231313046346,48.92885020662669]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.55904826412717,\"lat\":48.94242310478954},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5923\"],\"cd_name_en\":[\"Alberni-Clayoquot\"],\"csd_code\":[\"5923019\"],\"csd_name_en\":[\"Ucluelet\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Alberni-Clayoquot\",\"csd_name_fr\":\"Ucluelet\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.90596594311451,50.720316850520156],[-121.90625456072019,50.72265629232987],[-121.91436334827551,50.72274156632622],[-121.91209683241682,50.71893669627566],[-121.90596594311451,50.720316850520156]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.9099960621104,\"lat\":50.72118242449828},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5931\"],\"cd_name_en\":[\"Squamish-Lillooet\"],\"csd_code\":[\"5931819\"],\"csd_name_en\":[\"Fountain 11\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Squamish-Lillooet\",\"csd_name_fr\":\"Fountain 11\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.57922987983737,50.25661710290143],[-121.56502210360036,50.25649696122018],[-121.56539738236148,50.267248490124565],[-121.57923960070185,50.26564850651137],[-121.57922987983737,50.25661710290143]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.57201654871244,\"lat\":50.26149409957978},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933831\"],\"csd_name_en\":[\"Kleetlekut 22\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Kleetlekut 22\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.72179698298962,50.42841299087765],[-121.72205402485368,50.42184952753678],[-121.70430542181683,50.4286681042429],[-121.72179698298962,50.42841299087765]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.71605214322004,\"lat\":50.42631020755245},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933840\"],\"csd_name_en\":[\"Lytton 4E\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Lytton 4E\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.70672400956134,49.80255376660225],[-119.7205550933899,49.80239280556667],[-119.74516439790543,49.78461495187146],[-119.74849938576098,49.77380668492344],[-119.76545524303694,49.773561327304236],[-119.78214437559718,49.76632671949253],[-119.7990206197702,49.748930936664124],[-119.75637618695674,49.750316616895034],[-119.7282602767325,49.77991058909715],[-119.7097705456806,49.78177836380683],[-119.69797454276683,49.792619264997114],[-119.6622994605338,49.79944081410732],[-119.66434986177752,49.80568595411934],[-119.70672400956134,49.80255376660225]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.7362574955268,\"lat\":49.77797711301251},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5935\"],\"cd_name_en\":[\"Central Okanagan\"],\"csd_code\":[\"5935018\"],\"csd_name_en\":[\"Peachland\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Central Okanagan\",\"csd_name_fr\":\"Peachland\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.2101774423417,50.45596319190772],[-119.21712458395903,50.43625816973287],[-119.19447839032267,50.43787663392333],[-119.18256450905325,50.45582845790382],[-119.2101774423417,50.45596319190772]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.20111517519975,\"lat\":50.44684569902087},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5937\"],\"cd_name_en\":[\"North Okanagan\"],\"csd_code\":[\"5937028\"],\"csd_name_en\":[\"Armstrong\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"North Okanagan\",\"csd_name_fr\":\"Armstrong\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.30811639755586,50.5145723787715],[-119.34902833259147,50.514984763538024],[-119.34374882519111,50.4850992028289],[-119.32990842839672,50.484756200875744],[-119.32892854352538,50.469983349042366],[-119.29738276493796,50.47135010814293],[-119.29746500553702,50.484901604345744],[-119.26319391663098,50.484970500961914],[-119.26317969477701,50.49282120745773],[-119.29620048499288,50.492878628875516],[-119.308015946323,50.500270311754186],[-119.30811639755586,50.5145723787715]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.3162686566197,\"lat\":50.49296772033081},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5939\"],\"cd_name_en\":[\"Columbia-Shuswap\"],\"csd_code\":[\"5939806\"],\"csd_name_en\":[\"Salmon River 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Columbia-Shuswap\",\"csd_name_fr\":\"Salmon River 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.48715114370509,50.93474609801887],[-119.49608731885488,50.92001987239197],[-119.50955361952687,50.91536706863863],[-119.48173862305806,50.90173306089648],[-119.4680519889432,50.90254002712564],[-119.46004147601963,50.91636640976583],[-119.46071627703512,50.934713844450286],[-119.48715114370509,50.93474609801887]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.47911778605643,\"lat\":50.91863109656469},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5939\"],\"cd_name_en\":[\"Columbia-Shuswap\"],\"csd_code\":[\"5939807\"],\"csd_name_en\":[\"Scotch Creek 4\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Columbia-Shuswap\",\"csd_name_fr\":\"Scotch Creek 4\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.50060357952508,53.52746667628115],[-124.52804092727541,53.531108773855394],[-124.53683736346879,53.52481027292243],[-124.50919589041192,53.501437182996945],[-124.51848465501806,53.476971983150975],[-124.55193613765559,53.470739767520286],[-124.55209992863293,53.46234849611397],[-124.52091783490863,53.45040234353707],[-124.53744601375138,53.43621400417688],[-124.52328845923435,53.40236854719238],[-124.51576401003322,53.394648389551534],[-124.5542820820241,53.39357277683263],[-124.60641080133831,53.385918639995324],[-124.62884796188185,53.386032329347074],[-124.64734162537935,53.40755032534189],[-124.6612354119301,53.40870829026201],[-124.68751905914586,53.399542727962256],[-124.68117041656564,53.384125495665735],[-124.69724372244372,53.37809119993989],[-124.7191633516307,53.3599518881847],[-124.73662227434276,53.35462321195247],[-124.779705824696,53.36181014339998],[-124.80588500868829,53.369095259296316],[-124.8550847798635,53.396460834921804],[-124.89881610268753,53.435306161823576],[-124.93416221754244,53.438870938831485],[-124.98383183470563,53.4315277915133],[-125.00172120503012,53.44683820246297],[-125.00118810847528,53.37710794146435],[-124.99631284524315,53.241811027497775],[-125.00455786991283,53.23495963598457],[-125.00061963835155,53.190369954166776],[-125.00033476542127,53.000282401289816],[-124.75017008787252,52.99998495611374],[-124.50000954453623,52.99992545364157],[-124.25056403562861,53.00028482887033],[-124.00071231110805,53.00064787367661],[-123.99846962295656,52.97113613882265],[-123.99524707109418,52.877607626722614],[-124.00316957687416,52.86400407916076],[-124.00279900121478,52.71280063992337],[-123.9937818626612,52.70171096370615],[-123.99676546085888,52.66625410057702],[-123.9979484998439,52.59460718582249],[-123.99743106715047,52.501379369766624],[-123.50023558269208,52.501712614754744],[-123.30627708494309,52.50102409791379],[-122.90699844623894,52.50577551913765],[-122.8143422286741,52.505932593406385],[-122.6827421804453,52.5073863460868],[-122.47812069771172,52.5065892571321],[-122.43578840493426,52.503099829535884],[-122.4432214025643,52.52602110422281],[-122.45271572113008,52.53936721827462],[-122.47604138224115,52.543279593791056],[-122.48247718569479,52.553969689354254],[-122.47599354029799,52.567861068157505],[-122.48340286661136,52.55721162127653],[-122.50639532462566,52.55803911125881],[-122.5039123920667,52.59414637506765],[-122.48470183806651,52.58872106806098],[-122.4671032958982,52.62011710057451],[-122.49374217764843,52.64663730050416],[-122.48625580754864,52.657927008078396],[-122.46386420139193,52.668988885277],[-122.46172478272834,52.687647492641005],[-122.48566639100902,52.70726309442933],[-122.4847395769633,52.7312986786693],[-122.47855863843856,52.742844292589844],[-122.48084770144105,52.76267669981582],[-122.45927269635604,52.77931380118801],[-122.46260270282573,52.80979760841509],[-122.45877607762732,52.827311100891116],[-122.44297780641466,52.85122068446713],[-122.44726911263703,52.87103719191659],[-122.47460959465548,52.90020639264005],[-122.47692239414225,52.91623869338197],[-122.49350590041963,52.92909511277075],[-122.49065296194354,52.93980793006685],[-122.5218419838124,52.95945399571722],[-122.52215684994032,52.971294441247295],[-122.53944503357556,52.97833747857385],[-122.54238794058155,52.956688561017785],[-122.58313652153763,52.95498660245943],[-122.63639583356664,52.95750135462262],[-122.68837391986337,52.953722825454605],[-122.78250259624295,52.95861425263852],[-122.88656616235008,52.959174675859245],[-122.91037612817237,52.95613498801805],[-122.9096763033055,53.01067822693933],[-122.87207374086397,53.08862053302613],[-122.8807471054298,53.13858773020663],[-122.88553899464316,53.27225798915828],[-122.88487811401735,53.3046381687554],[-122.9046482651396,53.31222688440707],[-122.91013295295268,53.30082946853043],[-122.9368143150752,53.295280708777504],[-122.96670810916576,53.298868306882106],[-122.97759668705845,53.283085188846776],[-122.99144352336529,53.28458630635079],[-123.00416701176371,53.27527618827033],[-123.02928329530762,53.292432314705366],[-123.05776058526521,53.29953759887092],[-123.06016030296735,53.29090690697851],[-123.0797839984623,53.289209305823235],[-123.09846471040966,53.29397149234793],[-123.14267490545915,53.28733358502716],[-123.17149247788912,53.29616509711641],[-123.20846350128012,53.30121821165795],[-123.26573270140895,53.29448028867749],[-123.2921601903496,53.28113829175973],[-123.30512038570299,53.28364008527624],[-123.30146398145823,53.3601781834122],[-123.3017093718526,53.47023147557176],[-123.41896027520703,53.47018300737702],[-123.4198809660935,53.4835105357097],[-123.52303570640156,53.483599308127246],[-123.81379267888978,53.48484322096061],[-123.99762864049903,53.48430753129915],[-123.99756090044838,53.443995851592],[-124.04655624023708,53.432179357010014],[-124.08589239710503,53.434949219072074],[-124.11272950289965,53.42444364317457],[-124.10491722127736,53.41653971473607],[-124.13661937253381,53.408157105443166],[-124.18050146109148,53.412500258587315],[-124.21538185983137,53.420650431888895],[-124.21565559640283,53.443692571585196],[-124.2462356740888,53.45289367256701],[-124.25384935313012,53.46652498367698],[-124.30564964847838,53.455444805327936],[-124.33766746333225,53.46103562458662],[-124.38097716667673,53.45482000071691],[-124.386156206955,53.485260767850924],[-124.40432553647965,53.495153651808394],[-124.38130482879914,53.501863188972976],[-124.43917556856965,53.50936464576041],[-124.48523015339885,53.52021591388965],[-124.50060357952508,53.52746667628115]],[[-123.80841206892393,52.98676226887778],[-123.81478339131864,52.98583059051779],[-123.8146701035525,52.990368799323626],[-123.80846684704903,52.9904262442924],[-123.80841206892393,52.98676226887778]],[[-124.32784588211743,53.118143959203536],[-124.3416509145296,53.118613409333435],[-124.34096743049136,53.12347310036079],[-124.32773350103236,53.12295094462737],[-124.32784588211743,53.118143959203536]],[[-123.83681183546163,52.98746463004954],[-123.84926472586992,52.98550815235403],[-123.84893734476513,52.99289416086735],[-123.83699746952367,52.99288775450729],[-123.83681183546163,52.98746463004954]],[[-123.52687012515311,53.18097328950526],[-123.5376285758368,53.1806253197644],[-123.53818744788434,53.18785238021502],[-123.5157972885576,53.18719108162776],[-123.52687012515311,53.18097328950526]],[[-123.49826883900556,53.224792416300694],[-123.49391650902804,53.20276674108563],[-123.51755658449626,53.20081904880947],[-123.51734443097872,53.22551499438081],[-123.49826883900556,53.224792416300694]],[[-124.4886788499525,53.08204938290248],[-124.51162177354948,53.08261260526936],[-124.51118099646291,53.09774889076807],[-124.46291372639271,53.09735829795298],[-124.46300028955397,53.090684308252854],[-124.4886788499525,53.08204938290248]],[[-123.5856265174651,52.94083877855122],[-123.59220008823348,52.96377683238213],[-123.57362207186625,52.96389279915681],[-123.5856265174651,52.94083877855122]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.64888338537546,\"lat\":53.00269890237655},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941027\"],\"csd_name_en\":[\"Cariboo I\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Cariboo I\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.28248856048116,52.31324100203864],[-124.26322469429101,52.31327855758128],[-124.26282443326197,52.3279930326995],[-124.28668523137785,52.32771989415237],[-124.28248856048116,52.31324100203864]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.27381474631046,\"lat\":52.32081911046147},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941848\"],\"csd_name_en\":[\"Alexis Creek 21\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Alexis Creek 21\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.28403288624409,52.4828316403575],[-124.2773946145096,52.497504194881806],[-124.28924545662487,52.497375961588766],[-124.28403288624409,52.4828316403575]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.2835576524595,\"lat\":52.4925705989427},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941856\"],\"csd_name_en\":[\"Alexis Creek 34\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Alexis Creek 34\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.15872964943783,52.361591867798225],[-125.1617140178469,52.35839876271999],[-125.1532294006088,52.35685326166338],[-125.15478711047318,52.359936355243214],[-125.15872964943783,52.361591867798225]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.15735538598071,\"lat\":52.35906686140743},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941871\"],\"csd_name_en\":[\"Fishtrap 19\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Fishtrap 19\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-127.42622838103168,50.82797983445299],[-127.52906044378042,50.8577113328106],[-127.63034547321041,50.89487257177132],[-127.68180375900917,50.92303025707267],[-127.75584063267998,50.95817691020079],[-127.80832723583649,50.97207847746765],[-127.86727275928372,50.98481698507802],[-127.90816842222198,51.00023377983892],[-127.99283971911848,51.080989454540855],[-128.49947135749466,51.02889350587925],[-128.8448779403441,50.99189314019729],[-129.0843837688484,50.96557513086937],[-129.09393138422385,50.95151696886698],[-129.11150973078446,50.90603897327717],[-129.11989091937335,50.85258626318159],[-129.11948600227873,50.81276166357992],[-129.10192201952435,50.755013248974144],[-129.0763108636559,50.70696244286188],[-129.03067035766645,50.65555533553879],[-128.98416511433356,50.613835292545104],[-128.87043408868306,50.51685046143849],[-128.80003116251976,50.460680180948536],[-128.694454479235,50.37449219668307],[-128.57052672103333,50.27508821348615],[-128.4240285410595,50.20414574022224],[-128.35809450037345,50.177222734538404],[-128.18440180030973,50.10435551647509],[-128.06818010523335,50.04501571344723],[-127.98468522755135,49.996531237363904],[-127.92337483710999,49.93464531255562],[-127.91418929117395,50.01183114771062],[-127.89796369808073,50.05544814519007],[-127.95201047194344,50.09080870230505],[-127.9674036108795,50.122168668928765],[-127.91732659487786,50.128660921052656],[-127.8954112881622,50.11540504900771],[-127.86085406617856,50.14223213277769],[-127.84349612650391,50.13723422477796],[-127.8279088591339,50.145312566612866],[-127.80337943408044,50.14159590966315],[-127.76537623584957,50.15155960911691],[-127.75777390462139,50.1644954184276],[-127.73622438928948,50.16379543449825],[-127.72708955736748,50.175705406581365],[-127.73472597135715,50.189646140626444],[-127.701339296875,50.18933738448302],[-127.6955294320611,50.211357265808616],[-127.6846195799748,50.21579354876491],[-127.66186314052989,50.23976784614868],[-127.63705526821936,50.24198828987433],[-127.62381569401909,50.25701586569932],[-127.5980794316502,50.26711466847244],[-127.59909156798793,50.281106648157284],[-127.54208904685837,50.29206463126737],[-127.52616174356527,50.27891655540394],[-127.4683456784131,50.26714837739103],[-127.44044184773853,50.25783790809992],[-127.42104082708231,50.25879552999095],[-127.41038573293771,50.2504750584824],[-127.37776527404323,50.25757587717643],[-127.38362523166025,50.267696643770385],[-127.36025957526014,50.298184470463895],[-127.37620726196027,50.30972046406812],[-127.42904835836886,50.33697459831713],[-127.4445287707886,50.35057419346547],[-127.447546775656,50.3747709667512],[-127.48289166613688,50.39301579330543],[-127.49473041993836,50.404053171459886],[-127.51984334373434,50.44469533274242],[-127.56888522672573,50.487665499205825],[-127.6256933494531,50.525635129011015],[-127.66572022177208,50.52880158272154],[-127.66572109672545,50.542633231242704],[-127.62049648900458,50.54666330148978],[-127.62311491728117,50.58708769712241],[-127.70990598727813,50.5946684034869],[-127.75912055678364,50.59712747900911],[-127.76521477644832,50.76819775496999],[-127.65108670338923,50.77132791261423],[-127.6027206229937,50.77122304289391],[-127.60342173273236,50.80864622822347],[-127.56796665835093,50.80394225875076],[-127.45950663472468,50.801814846680834],[-127.42622838103168,50.82797983445299]],[[-127.98422246995369,50.92092717346638],[-127.97546437174381,50.91808877138357],[-127.92897765424259,50.9271053613672],[-127.91892574691686,50.94083476292567],[-127.90162723746715,50.94465737931601],[-127.87625906237767,50.935343063515006],[-127.8411890504729,50.93199618094602],[-127.84592235688717,50.91376905278444],[-127.83246226922968,50.904813669026844],[-127.87373836026175,50.88886965794518],[-127.90190033528354,50.89926355803089],[-127.92928635879693,50.89505786163063],[-127.98624027269449,50.90529647004632],[-127.99639274947685,50.91538417323351],[-127.98422246995369,50.92092717346638]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-128.25195964666278,\"lat\":50.60483776550514},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5943\"],\"cd_name_en\":[\"Mount Waddington\"],\"csd_code\":[\"5943027\"],\"csd_name_en\":[\"Mount Waddington B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Mount Waddington\",\"csd_name_fr\":\"Mount Waddington B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-126.75256532836234,52.369364233969456],[-126.75276643368791,52.362673264945016],[-126.69275691918057,52.36025077723137],[-126.69404663585526,52.39261695041334],[-126.7482774862344,52.39357420710412],[-126.76760770300737,52.38417839009115],[-126.75256532836234,52.369364233969456]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-126.72556422923039,\"lat\":52.37755690287276},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5945\"],\"cd_name_en\":[\"Central Coast\"],\"csd_code\":[\"5945802\"],\"csd_name_en\":[\"Bella Coola 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Central Coast\",\"csd_name_fr\":\"Bella Coola 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-128.0593998022958,55.25311185011139],[-128.06204340110915,55.27798821007206],[-128.094682517132,55.27606476098986],[-128.08943636185373,55.256752555207214],[-128.0593998022958,55.25311185011139]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-128.07575905753785,\"lat\":55.26617331945512},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5949\"],\"cd_name_en\":[\"Kitimat-Stikine\"],\"csd_code\":[\"5949815\"],\"csd_name_en\":[\"Gitanyow 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kitimat-Stikine\",\"csd_name_fr\":\"Gitanyow 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-126.49132239666972,53.99051961475531],[-126.49819727937148,53.98501568011475],[-126.4905149806687,53.98229645684213],[-126.49132239666972,53.99051961475531]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-126.49334488556997,\"lat\":53.98594391723739},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951825\"],\"csd_name_en\":[\"Tatla West 11\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Tatla West 11\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-126.50135216661019,55.06198672948468],[-126.49575802554205,55.07139706298261],[-126.51961994786551,55.077360319517496],[-126.51526525170654,55.06262778507711],[-126.50135216661019,55.06198672948468]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-126.50843414399537,\"lat\":55.068963508030855},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951845\"],\"csd_name_en\":[\"Tadinlay 15\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Tadinlay 15\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-126.34267458449258,55.049582680829914],[-126.34361183485655,55.043675562438864],[-126.31229385640046,55.0383563817691],[-126.30433292762206,55.05422708823488],[-126.34172501174663,55.05573652231789],[-126.34267458449258,55.049582680829914]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-126.32455932966445,\"lat\":55.048066603575776},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951846\"],\"csd_name_en\":[\"Nedoats 11\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Nedoats 11\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.05004210911403,56.727043199856425],[-121.0819787139211,56.726605966605206],[-121.08364771811435,56.71253889548798],[-121.11318644473647,56.711660662571205],[-121.1303291485734,56.7051441676365],[-121.13897803015361,56.67824560119354],[-121.12342571739337,56.67826133155522],[-121.11224878260016,56.68915197129196],[-121.08625875105245,56.69034110634484],[-121.07711833930439,56.702944273199385],[-121.0469231314351,56.70336959887409],[-121.05004210911403,56.727043199856425]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.09258097604248,\"lat\":56.704198227733784},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5955\"],\"cd_name_en\":[\"Peace River\"],\"csd_code\":[\"5955803\"],\"csd_name_en\":[\"Blueberry River 205\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Peace River\",\"csd_name_fr\":\"Blueberry River 205\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-134.98622754904167,60.00001281904278],[-135.24999997512802,59.99999999241035],[-135.59802245193995,60.000058644764785],[-136.000000012268,59.99999999194781],[-136.50000001039552,59.99999998797954],[-137.00000001008164,60.0000000042633],[-137.49999997394298,60.000000000531],[-137.99999998414833,60.000000006237165],[-138.50000003442148,60.000000000562096],[-138.75000000581826,59.99999999292644],[-139.0522010411841,60.0000406474665],[-139.04213094516098,59.991567962790064],[-138.7908234329654,59.92299071539709],[-138.70578523037895,59.906239995703636],[-138.65629932969114,59.799224081146704],[-138.62625098968326,59.770457050630775],[-138.60542550811186,59.757690148177865],[-138.41915158785685,59.664136588094074],[-138.23666079490695,59.57012415013162],[-137.87804393868265,59.381441715707226],[-137.60206921300198,59.24072505486144],[-137.49931352014505,58.98313853291263],[-137.52672886439257,58.90659879273748],[-137.4465623846557,58.9086617376359],[-137.28840773955164,58.999481953356366],[-137.2366480986645,59.01143785862013],[-137.0977485729702,59.05652113925809],[-136.99963448320622,59.091363956864946],[-136.82467003873046,59.15980142441974],[-136.58199214807448,59.16554119337505],[-136.48876688281433,59.25801146966331],[-136.49512749976836,59.275129283608244],[-136.46749461024496,59.28456206371763],[-136.47624805225632,59.464192707916744],[-136.39773530844113,59.447177031679786],[-136.331489212254,59.455992455863345],[-136.30143606390345,59.465837689773245],[-136.23628501754604,59.52671140344323],[-136.24140605065017,59.55910280233396],[-136.3557124755909,59.60067303831466],[-136.19525108676726,59.638812684436516],[-135.9456889268942,59.6636223980322],[-135.5460608644645,59.77986921354693],[-135.479005207944,59.7986125970738],[-135.3770228365201,59.74292598059732],[-135.2347073582717,59.69594991389383],[-135.2218148039441,59.664146867554386],[-135.15445466272797,59.626478672320886],[-135.11754594846008,59.6233833890751],[-135.0277080623283,59.563918070987555],[-135.02798883695033,59.47630230400011],[-135.06834792821618,59.454994960636434],[-135.0975276258429,59.427003110015484],[-134.98924636318853,59.38787571240176],[-135.03020196243003,59.348351091907475],[-134.95893515335584,59.28108634941901],[-134.69929969859365,59.248388765625364],[-134.67794727745962,59.192804312619224],[-134.56979928896266,59.13350376560262],[-134.48478307227992,59.133387134739905],[-134.44491903832082,59.08647402440201],[-134.38537490218124,59.04139666812193],[-134.40760749037082,58.97844545279188],[-134.31227859598047,58.96139113919767],[-134.33738290363453,58.92033537103034],[-134.25643375791063,58.85907245262983],[-134.002585809312,58.77409484756657],[-133.84133308491857,58.73014897156962],[-133.69947134485628,58.609113611527206],[-133.50418276283273,58.49637769658137],[-133.3817976969062,58.43255160410078],[-133.46127439842482,58.38987267167143],[-133.35407056742574,58.28339962566179],[-133.17239918952723,58.151641311987234],[-133.06954316545807,58.000052424647734],[-132.75049800824186,57.99992312712974],[-132.50059206084646,57.99991395925476],[-132.25068633153958,57.999905185044376],[-132.00078064155474,57.99989679682487],[-131.7508751583273,57.99988882285482],[-131.31898966465423,57.99992755125583],[-131.00167476791418,58.000551352823365],[-131.00137318148535,58.0052562121639],[-131.0007599002577,58.012370962005754],[-131.00421573453767,58.06751692047355],[-131.0045837474398,58.6098380869848],[-131.00597712824546,58.74841495087065],[-131.00996143427258,58.93998807227646],[-131.00978700692485,59.002096855950285],[-130.7465122614396,59.00163231289481],[-130.23992880938792,59.00117449537923],[-129.79776144849632,59.00058811705333],[-129.48949141239325,59.00111520310415],[-129.24428990187064,59.00159474785874],[-128.94319054554407,59.00225460244679],[-128.95873555254627,58.74781277541639],[-129.00224609914082,57.99875932475676],[-129.00273603813312,57.86942992540003],[-129.0024998266699,57.62835465560947],[-129.00222554215384,57.344225956947795],[-129.00205422043302,57.164389392052094],[-128.97769334611928,57.143939784479635],[-128.93061529663225,57.147634313285614],[-128.914791933193,57.142765465881396],[-128.892261393789,57.12745709024042],[-128.8500446370254,57.11665819777148],[-128.8179703782826,57.08755771255884],[-128.7861158966738,57.07566827170367],[-128.78065648546854,57.05289427424618],[-128.72627203026263,57.042146044549895],[-128.70910723295384,57.010290250825754],[-128.68656797375746,56.985422881646834],[-128.66151631430748,56.972271038352275],[-128.66766533727767,56.95021634562983],[-128.66407441786336,56.926321281020165],[-128.6489019686352,56.919753550906],[-128.68398734524578,56.895748757617774],[-128.69334114916217,56.878426468104934],[-128.6344699384192,56.883641176894585],[-128.61888238451883,56.87786390229546],[-128.5626913577537,56.84342506805097],[-128.49513221035264,56.811425426504854],[-128.48600021466842,56.803727375800634],[-128.4490245026677,56.79474413015754],[-128.41830341602235,56.7718454392038],[-128.35851848773495,56.752981376949215],[-128.3141464207358,56.75062689983977],[-128.29062248076548,56.74506364652958],[-128.25926713244735,56.74822551886103],[-128.2303272632166,56.735182787455734],[-128.2064203352161,56.730204201891866],[-128.18867569272484,56.73784654209468],[-128.17024622374518,56.71971600882844],[-128.1610036817986,56.69400004032719],[-128.18391069400099,56.65761088808417],[-128.17651951689112,56.64344766670786],[-128.1264829972628,56.63757953723103],[-128.11058845682584,56.639382398132476],[-128.08827796589293,56.668060302883276],[-128.0711191287651,56.66664086766819],[-127.98947867069485,56.61131676168713],[-127.94497779337877,56.62155825477212],[-127.91621840587973,56.61507143406745],[-127.89736736799564,56.58465147310946],[-127.84759920847156,56.55915884435851],[-127.85449311170456,56.542909840562444],[-127.90806031365723,56.538545315218144],[-127.96677690766941,56.52860925393715],[-127.98874221646149,56.510441959970784],[-127.98711428020947,56.49473203020018],[-127.96984490015575,56.47046831750571],[-127.96379459931059,56.451151260913086],[-127.9786224067913,56.43542587409932],[-128.0534990669343,56.41552245843452],[-128.0801032388903,56.41412423453311],[-128.1365055243514,56.42760780746872],[-128.16351761250104,56.453477548676936],[-128.19057089031008,56.446493010311364],[-128.21537734735364,56.43024474959361],[-128.26523345008627,56.41902867937995],[-128.28543949590667,56.40004379066748],[-128.27317577973764,56.38341559654514],[-128.22725222516604,56.368854256411105],[-128.13010012083765,56.354930594593796],[-128.109344085347,56.34818375148173],[-128.0879653229794,56.32121711352192],[-128.10580942540267,56.30942579908445],[-128.15496522234142,56.308207469542204],[-128.20206004410062,56.30091777287178],[-128.21456128298357,56.29540582072307],[-128.22222770792627,56.279822130065554],[-128.24116363971893,56.265466756491485],[-128.28409004523553,56.246574770599764],[-128.28475932183994,56.23324934418105],[-128.27549173557816,56.2142032361815],[-128.29557149116846,56.19050643440799],[-128.2902692186588,56.13695011472674],[-128.27597959169825,56.118788535830745],[-128.27871168131236,56.11028458614809],[-128.32162047997872,56.09208688302273],[-128.34554558842962,56.093595996618625],[-128.3878614896438,56.10700859728736],[-128.4093034636311,56.10914748670717],[-128.4737917912339,56.10578292867663],[-128.49209066353603,56.10217272508459],[-128.52256496503102,56.08372512528083],[-128.51142918129344,56.07675800857537],[-128.41605479608347,56.03974361020377],[-128.39152662238655,56.02775354613333],[-128.36462689175144,56.003179122828925],[-127.94153266919186,55.99993573269343],[-127.9182200361711,56.002813462108804],[-127.50040355544016,56.00150256662776],[-127.25022377306013,56.00075293433451],[-127.02431387805869,56.00010236242619],[-126.75004785739014,56.000045742685444],[-126.50020204960522,55.99996801792858],[-126.00105088280027,55.999537762459504],[-125.7508439451403,55.99962663275115],[-125.50030709464887,55.99988011017487],[-125.24993180652605,56.00005465786452],[-124.75094873080509,55.999509975201164],[-124.44068574746872,55.998926234495066],[-124.48505734286988,56.04299607720691],[-124.4976322199731,56.06725261174548],[-124.493201125388,56.089179009419375],[-124.47541608699439,56.11887599832955],[-124.48399810155561,56.13000291424693],[-124.50424725727098,56.13244818986394],[-124.53213193960319,56.12701350407917],[-124.59020604853018,56.12205558679793],[-124.62355813636188,56.116149688460524],[-124.6610171600011,56.11611630733481],[-124.71546395694232,56.1338002747243],[-124.76884605036277,56.17031888952371],[-124.79519949988983,56.200003742965485],[-124.83285271718228,56.223537575767374],[-124.8946419997626,56.24223294167699],[-124.92350692055065,56.24437289987409],[-124.98018059227768,56.22941030766399],[-124.98554131991345,56.21519880472607],[-125.04165338959716,56.20310438607496],[-125.06026626215433,56.2078963562232],[-125.05348947589482,56.22895005354347],[-125.06366117060783,56.26306861478362],[-125.09050736634063,56.276647173540304],[-125.11909586907309,56.30359588615635],[-125.15828041459083,56.30046123858041],[-125.18902778044966,56.294742849881246],[-125.23443173803014,56.265331707434584],[-125.24546383747587,56.250564309133864],[-125.32462936236386,56.24399149538499],[-125.37786405201959,56.25308643632024],[-125.40377374737645,56.25294838642072],[-125.45768812660125,56.23335394762308],[-125.57478856211846,56.168991647706655],[-125.6084877943295,56.15328890327336],[-125.63517965857052,56.151264129160964],[-125.64992452003077,56.157296966287596],[-125.65318908835462,56.169164351252995],[-125.64551600893793,56.226011554109384],[-125.65662760228427,56.22858523772123],[-125.73761841824033,56.19057509748566],[-125.80405021391432,56.16971562480008],[-125.86563951842994,56.14520393723921],[-125.93197340753201,56.14710181979637],[-125.95550025483509,56.14292791201176],[-125.97172873867083,56.166341184491046],[-125.97263084547868,56.18569836588841],[-125.9829104527314,56.21433887005939],[-125.98062199638194,56.245629394437934],[-126.04321730493434,56.25431402193723],[-126.09841317703591,56.265740467349026],[-126.11632286831002,56.271922216278945],[-126.19474717310258,56.34238175144191],[-126.19583645209973,56.350355421215035],[-126.13330166986358,56.376355143662856],[-126.10036232692713,56.39261806000405],[-126.09105213679807,56.40403142683882],[-126.10187289898445,56.42543834034634],[-126.18245635248061,56.464897347460756],[-126.19308306150405,56.48104665064231],[-126.14192543268356,56.52950095106442],[-126.14223253341785,56.5389413815946],[-126.1608147955228,56.56316997794573],[-126.14302735297828,56.57667750368188],[-126.15963602053684,56.59159957602765],[-126.17041023827464,56.612160548281985],[-126.18894245444162,56.625320260130955],[-126.23126880821559,56.64730084171763],[-126.29613353594932,56.671215748274896],[-126.33150951256525,56.67736953298613],[-126.37834117861992,56.67123477580011],[-126.41767038361738,56.654778543252704],[-126.44919942501286,56.65499563430829],[-126.48831323541309,56.6646942088388],[-126.57092956673031,56.713595613111075],[-126.67483776965257,56.77175921034285],[-126.69268649033961,56.77495052356466],[-126.71722302855076,56.76634251503262],[-126.76610426252829,56.72454020903695],[-126.81148711071684,56.68032254027607],[-126.85668220182238,56.677331136730785],[-126.9022749718439,56.69247664336345],[-126.927680591258,56.68459576831505],[-126.93111278135085,56.667868295096945],[-126.99288282207378,56.63222467526293],[-127.03791141050566,56.61797288595361],[-127.06588896548193,56.61317800029847],[-127.1010753415934,56.61353576068999],[-127.12886368133778,56.62639718236888],[-127.18803925200832,56.696539675084765],[-127.207523499537,56.72988606928533],[-127.22228546377107,56.74590304050535],[-127.26923129257838,56.73276750115497],[-127.33309179724203,56.70603649085722],[-127.36228685471946,56.689962620779625],[-127.4053842723078,56.67646110479098],[-127.41585663280442,56.676814717881946],[-127.45416623103067,56.69317054256915],[-127.53273830708572,56.74067010539877],[-127.51400579125576,56.75009162877903],[-127.52331490084094,56.773049565021815],[-127.56659094533754,56.804016114436905],[-127.57454852675613,56.82153690279624],[-127.60335234314124,56.833985183954745],[-127.61774707536026,56.846469557042866],[-127.61081582339854,56.853275150831585],[-127.57224333732867,56.85375503398254],[-127.56399081974301,56.86165542258177],[-127.60380666995502,56.88877957465501],[-127.5974783343149,56.901284020085086],[-127.54478789812437,56.931354699418215],[-127.53631622861408,56.95397089167411],[-127.54107735544119,56.968996514929316],[-127.56117430689231,56.977174579115356],[-127.6058556593202,56.97850691345598],[-127.67709542173283,56.9767776621279],[-127.706427306678,56.99076503381798],[-127.73286907871747,57.019632087095566],[-127.7381979873165,57.03552769192378],[-127.73841250518132,57.06165909475932],[-127.7303493754962,57.10996591954708],[-127.7165054991695,57.13259468242848],[-127.6969556402724,57.14090119354798],[-127.60237561575724,57.1516457126469],[-127.55828474632047,57.15998433144768],[-127.52153611260925,57.17068136899169],[-127.47645866458771,57.196078250970125],[-127.46726998070545,57.21003140574682],[-127.47860338961695,57.26177133284599],[-127.49123615890278,57.30344307548504],[-127.48909706269394,57.32266134359317],[-127.48027220143011,57.335693040716876],[-127.41118872947571,57.382975061954205],[-127.37426531915764,57.418194279735445],[-127.34625828149153,57.42425314333881],[-127.3029031329018,57.446671942208404],[-127.30496343847668,57.46192982318234],[-127.32508630386808,57.482248883949126],[-127.29340076193503,57.498202171410114],[-127.32936865371845,57.50929635529147],[-127.34306129391483,57.531435205642346],[-127.34188682545265,57.54904730106093],[-127.30482794614605,57.57992073765159],[-127.28342402304764,57.57559924286987],[-127.27248003356617,57.58768226070256],[-127.27191057780878,57.603187167840986],[-127.24674568086881,57.60546914560022],[-127.18140489294294,57.59766067993483],[-127.14525016911797,57.57754610275056],[-127.13820846154847,57.56251393273054],[-127.15014627342167,57.53589891074127],[-127.13453622067082,57.530552657995266],[-127.0930788235751,57.528133242970156],[-127.07565094551619,57.51235063340603],[-127.05704518574962,57.50727249859882],[-127.02184758343398,57.51466519291688],[-126.98797135294814,57.52995722227146],[-126.87662994632662,57.54905110764891],[-126.79613810572351,57.565860741075205],[-126.78429763337924,57.576054358877876],[-126.80229566813249,57.592714679017774],[-126.8365095486678,57.61113688984464],[-126.86830506838396,57.633370812617514],[-126.87013022968404,57.64011713084417],[-126.83666198788384,57.66821923454067],[-126.85251346213386,57.68816644751691],[-126.91819229356234,57.698720763983594],[-126.94550556558607,57.716494926814704],[-126.95398488135396,57.74413033005723],[-126.9812672375927,57.76080983050723],[-126.9797190570835,57.77795700700912],[-126.95909120290038,57.79708139724182],[-126.93400841804774,57.79734354273908],[-126.86915363009429,57.785327600558794],[-126.85141825970643,57.791704187463104],[-126.85650418891505,57.80509992540724],[-126.87860264982749,57.82983122226423],[-126.88795656467417,57.86731939352394],[-126.93353711070831,57.9060038596117],[-126.97059238666226,57.933119859484485],[-126.97012559253822,57.949063908665366],[-126.98002797722398,57.96122368010072],[-126.95394124694124,57.9756776247912],[-126.95093980402464,57.989446759869104],[-126.90754676725396,57.994432767211194],[-126.8680079854426,58.00336082667034],[-126.81589496377953,58.009304087039325],[-126.77301503608936,58.01106945655417],[-126.73221483701164,58.01829425837076],[-126.70305576113398,58.027104219171925],[-126.69225550264953,58.023191857027506],[-126.68321168363153,58.00611216980387],[-126.66290597411921,57.99082239270512],[-126.60412412325726,57.960207412452704],[-126.55855165375182,57.95231328628518],[-126.51803226322481,57.94094655517243],[-126.4982196047358,57.94245125217378],[-126.43475692201308,57.93452196646768],[-126.42217744142368,57.9236218343187],[-126.3852507944324,57.926192123964846],[-126.36547510288692,57.91438633300956],[-126.31593371748458,57.86191574620357],[-126.28894833960106,57.85451888891528],[-126.2687118124238,57.855704310239496],[-126.25740061980322,57.867207052820376],[-126.2435034502053,57.90146183241333],[-126.22968375883974,57.9116955569949],[-126.22874815912746,57.93374019781578],[-126.21417991004651,57.943494980131796],[-126.1829092620949,57.94455961672054],[-126.16316277053748,57.93865432566986],[-126.14009412366404,57.92236739697468],[-126.07794258643194,57.91366828205003],[-126.05395820718222,57.93021112205491],[-126.0689426015163,57.952324112721804],[-126.04409116648816,57.96693863093876],[-125.99142899649623,57.97142021622568],[-125.97473640625579,57.96703257670572],[-125.91639514807451,57.98068269470776],[-125.87590619466714,57.97385557810226],[-125.83745973242829,57.97939419097559],[-125.80740004561379,57.97396909229872],[-125.7973561603639,57.966046466795326],[-125.79773781606502,57.943511585949416],[-125.78515130872425,57.93131002450295],[-125.78964937730393,57.92259719534838],[-125.76677161095897,57.9081598891469],[-125.7664037828603,57.889776914836645],[-125.74735831650445,57.8655487267122],[-125.73614868732272,57.86203743279016],[-125.69960128177408,57.86827013678149],[-125.67469368611752,57.88837160738173],[-125.65344340332025,57.92222100357709],[-125.61997218803269,57.93704760497624],[-125.60868849764101,57.933023871454985],[-125.59382799487828,57.91425245504594],[-125.5635336604696,57.91821575568857],[-125.48897578289302,57.941191504759594],[-125.49160167511465,57.94892153303433],[-125.46353466225256,57.96070867850912],[-125.45103236313152,57.971562700550464],[-125.38658025491164,57.98871411508348],[-125.32955118617151,57.99460034655386],[-125.25083079397781,58.00541789196301],[-125.2039071216588,58.022356291798495],[-125.14533989808642,58.02368459652421],[-125.09470079818068,58.01910197995903],[-125.0344638261695,58.001882573720515],[-125.00524372656294,57.98739160745501],[-124.98234871716552,57.98142477376542],[-124.92421781238379,57.984327400115994],[-124.94836471156168,57.99987025305091],[-124.968385216007,58.01652220523962],[-124.95588976082207,58.02573899716094],[-124.92702471356755,58.023654680592735],[-124.91702713540563,58.030427329346935],[-124.92684628945804,58.05343469041651],[-124.91906686116562,58.07397154777613],[-124.8760257497814,58.103894668358464],[-124.86096492518996,58.12489038574302],[-124.87405783566135,58.13953876864386],[-124.88395537530289,58.16431677519982],[-124.87515813590136,58.17440867316686],[-124.84986933952779,58.18488135667359],[-124.8310342534206,58.198730975725766],[-124.8297049637391,58.20706136316344],[-124.84891952992557,58.22135372412903],[-124.87985297368736,58.22343748477525],[-124.89899930316169,58.24370391257312],[-124.9262669607891,58.253214109446525],[-124.9518669774111,58.23083551557063],[-124.99241037060354,58.23308243317362],[-125.03879237222678,58.24155309854162],[-125.05696298683539,58.23538760138936],[-125.11999872385185,58.23861574253382],[-125.1415078467814,58.23630944251832],[-125.16010571789533,58.24383674426087],[-125.20129913933505,58.23926415823223],[-125.21924335429792,58.25607160925372],[-125.26418007256574,58.28195586128713],[-125.27570477823814,58.30060620893494],[-125.28862133809409,58.30289376734997],[-125.32853319011899,58.2777707600901],[-125.35640054489662,58.2794676883798],[-125.35406232414485,58.28978438251722],[-125.37727573182612,58.29838827133444],[-125.39082510545734,58.314938802948234],[-125.4393467446414,58.34113453888752],[-125.46239278544608,58.33522895407762],[-125.48049818883521,58.308653136590664],[-125.51745799661077,58.3086574496646],[-125.55184269281894,58.31955345176527],[-125.5845595540227,58.31273360266351],[-125.61026585208431,58.31289873269453],[-125.65019138901549,58.30391259963858],[-125.71739303146826,58.30727590804862],[-125.75034383917502,58.323560246503256],[-125.77489738188102,58.32161659006915],[-125.78462508426709,58.34601311643098],[-125.82492819621142,58.35259637292683],[-125.83528979181965,58.36092912956513],[-125.82296812389755,58.36940409423168],[-125.83552716511176,58.38099342124677],[-125.8574543296773,58.41265744198077],[-125.89458798249166,58.41228931231077],[-125.9308900576435,58.395287848271295],[-126.00001053222199,58.406803109637394],[-126.01456064273003,58.40655000730703],[-126.06009712044737,58.4204842062932],[-126.07055007571046,58.449416802244244],[-126.1101447721574,58.46085424002855],[-126.13812282048544,58.46506405565411],[-126.17858972935076,58.48427158534641],[-126.20759362218027,58.4934235489848],[-126.2496228313888,58.52207156314939],[-126.28482571545624,58.549318849814306],[-126.3029911863765,58.57224928580886],[-126.30289601714826,58.59835136786487],[-126.33239395450197,58.61003848056533],[-126.40327062486635,58.596896270188736],[-126.44580728326969,58.603298903584154],[-126.46816001743576,58.600220454231206],[-126.48676978381651,58.60504458222862],[-126.5519857054852,58.57913497269119],[-126.60559181916668,58.585153223032925],[-126.63730578160397,58.60365333405359],[-126.66683223987282,58.62801200027105],[-126.6999012797205,58.64886990575436],[-126.7438677776015,58.667261444228416],[-126.79274273360012,58.66840372515298],[-126.83557061102425,58.663114422763755],[-126.87351514374308,58.636740208104406],[-126.89714357671501,58.63078698868095],[-126.91435145900131,58.638803915404615],[-126.9066801292143,58.66116645361502],[-126.88781117413838,58.67796180007559],[-126.87044521462535,58.685119149535495],[-126.83980337336081,58.70805158401265],[-126.8343959882457,58.7221094449708],[-126.87962379250051,58.7612198093789],[-126.89534845075339,58.7781309802924],[-126.94867705604956,58.80897347312023],[-126.970845591143,58.814206501456795],[-127.00422283692745,58.80431496615965],[-127.02138492542254,58.806628820918775],[-127.05039573280615,58.83390327777387],[-127.05941939565626,58.85060176725167],[-127.05207107921686,58.86272966327919],[-127.03409274613506,58.87221658785586],[-126.99239779667788,58.90933567177222],[-126.94346329590266,58.97177157454199],[-126.95188092973679,58.980485978198956],[-126.9438367263327,59.00041438656799],[-126.95138547408713,59.024687936508116],[-126.97856134837383,59.049811202180166],[-126.96655730414373,59.075041900835025],[-126.97506850975108,59.08552654810044],[-126.9721482827801,59.10299484828454],[-126.98874042782582,59.11875905238562],[-127.02763400741513,59.13295183392962],[-127.06807328419822,59.133650716099126],[-127.0985794330979,59.12065514118299],[-127.11320357873834,59.120462492430214],[-127.17093650941902,59.14019722600758],[-127.19358095602234,59.15907011767811],[-127.19312868027869,59.18250918237987],[-127.20824697647204,59.208018773278],[-127.22305003550804,59.21721136671861],[-127.22739097444232,59.24219625674133],[-127.27970592304142,59.28216879643267],[-127.2915761801634,59.30477553107412],[-127.33312279131147,59.34657883643649],[-127.34264568959883,59.37866314145689],[-127.36967977448917,59.40021432833403],[-127.41463715538083,59.447793596971465],[-127.42771386541615,59.45525053826308],[-127.44514904636094,59.479237103283985],[-127.44617526125037,59.488949187300754],[-127.48393864740412,59.51494676199513],[-127.4939886923378,59.53008095689706],[-127.53267728460453,59.534416930580214],[-127.54680281390173,59.55711304055589],[-127.57301710438911,59.56977281293677],[-127.59267264941361,59.59704074899553],[-127.6774669691287,59.612871456426795],[-127.72766554342152,59.62997521239896],[-127.7513211953392,59.655556462222364],[-127.75261060553449,59.66664882640882],[-127.77773535558109,59.6754116347498],[-127.79785007139814,59.69513220707044],[-127.78567831144271,59.701517186718625],[-127.79970997033757,59.71131832682625],[-127.80002959718917,59.73188171292939],[-127.81058614698617,59.759338082653684],[-127.7868011466033,59.77211216251296],[-127.80272594142238,59.78544605983485],[-127.76164166170871,59.799696981107076],[-127.75751467212491,59.8110062782644],[-127.76918761410911,59.828238566261156],[-127.75894760294103,59.84240299910988],[-127.73583918907774,59.842549372902624],[-127.6606356469357,59.8550345443702],[-127.65549982549155,59.88014259056828],[-127.67753765691441,59.893223506712836],[-127.72860753660227,59.89570745163183],[-127.73047101310047,59.99318754511749],[-127.72500008774584,60.00002214929825],[-127.99999996571293,59.999999995461955],[-128.49999999605464,59.9999999901002],[-128.99999996852813,59.999999998622485],[-129.5000000100188,59.99999999076995],[-129.75000000875954,59.99999999194689],[-130.2500000015184,59.99999999317735],[-130.7500000002292,60.00000000526831],[-131.08543924325744,60.0000553532497],[-131.2031441115969,60.00003747757813],[-131.500000014538,59.99999999829245],[-131.9999999865491,59.9999999953151],[-132.50000000977442,59.9999999885164],[-133.00000000502897,60.00000000257286],[-133.50000002098517,60.000000004934996],[-133.99999997848317,60.00000000071053],[-134.50000001748205,59.999999998864126],[-134.98622754904167,60.00001281904278]],[[-133.701866411956,59.569582010139094],[-133.70078003535136,59.56744345392548],[-133.70328263345036,59.567200406590764],[-133.70412022054373,59.5684823836597],[-133.701866411956,59.569582010139094]],[[-129.21728317117714,59.19195771158862],[-129.21535640871664,59.18595227950111],[-129.22957207712219,59.185385109712406],[-129.2301850050441,59.190862967554175],[-129.21728317117714,59.19195771158862]],[[-129.29293088732058,59.29764739967367],[-129.27749586654522,59.29045141713401],[-129.29711754772717,59.2773267676637],[-129.3039374434075,59.28501918620125],[-129.29293088732058,59.29764739967367]],[[-128.50262152534404,59.923637622078424],[-128.52502825235288,59.93209508301558],[-128.50228590540266,59.93976179245075],[-128.48436006433184,59.93226725250593],[-128.49319187198287,59.92303796680387],[-128.50262152534404,59.923637622078424]],[[-133.67794247157656,59.51624157781204],[-133.6637333565449,59.50821190113752],[-133.63824511564783,59.51259965662971],[-133.63882025735157,59.495424539698575],[-133.61649995130753,59.49417557013279],[-133.60966874556746,59.48375863297329],[-133.6460690871553,59.4771797334274],[-133.66455506021177,59.48876716969611],[-133.68227226009628,59.50807659132889],[-133.67794247157656,59.51624157781204]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-130.64158764634124,\"lat\":58.695162730687876},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5957\"],\"cd_name_en\":[\"Stikine\"],\"csd_code\":[\"5957022\"],\"csd_name_en\":[\"Stikine Region\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Stikine\",\"csd_name_fr\":\"Stikine Region\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-136.53338110214875,62.8239486441487],[-136.5573591762557,62.858210869244424],[-136.64675421648866,62.84541673041214],[-136.60416370823353,62.7836478800431],[-136.51376250350086,62.7958526532421],[-136.53338110214875,62.8239486441487]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-136.580402250918,\"lat\":62.82076252302334},\"year\":\"2021\",\"prov_code\":[\"60\"],\"prov_name_en\":[\"Yukon\"],\"cd_code\":[\"6001\"],\"cd_name_en\":[\"Yukon\"],\"csd_code\":[\"6001041\"],\"csd_name_en\":[\"Pelly Crossing\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Settlement \\/ \\u00c9tablissement\",\"prov_name_fr\":\"Yukon\",\"cd_name_fr\":\"Yukon\",\"csd_name_fr\":\"Pelly Crossing\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-136.45234257323094,67.71066146363297],[-136.47911048749344,67.72538085708693],[-136.47592296947397,67.73676869569442],[-136.52816906260708,67.79061171978292],[-136.52866874711373,67.8070637235243],[-136.5638007625542,67.8167347499061],[-136.5652963532214,67.82584274261157],[-136.53679472283304,67.8334607183042],[-136.53607365389422,67.8474047386452],[-136.59338659567928,67.87322473755282],[-136.6177635626336,67.87798475640547],[-136.6743565248409,67.90072778378354],[-136.67013647084266,67.91785376673147],[-136.6898754374321,67.93505378212464],[-136.6992233805573,67.95443378527862],[-136.68511835293077,67.96791078914393],[-136.65530129928683,67.96399277405135],[-136.64037426305887,67.97774177221584],[-136.61103233548386,67.98100075481267],[-136.63560624778773,68.00414478430584],[-136.6336311968892,68.0140557662455],[-136.66148222897303,68.01864277778195],[-136.70796513600646,68.03716481173987],[-136.75033023930075,68.04729766724897],[-136.7323011063659,68.05377580175514],[-136.72756806599907,68.07184880729932],[-136.75979803383595,68.0861778234385],[-136.7506679575814,68.09287482000035],[-136.7608739218387,68.11285681937646],[-136.82269389260816,68.10976385154838],[-136.85932693306134,68.11387487335726],[-136.9140188418177,68.15037888929913],[-136.92563679357238,68.16423489814161],[-136.92393042769822,68.18362881482096],[-136.94865970773856,68.18956791324605],[-136.94736765222444,68.21565690091307],[-136.92976859821664,68.22791988409257],[-136.96420466026143,68.24035322730651],[-136.96964949278973,68.2676209041828],[-136.98953747017285,68.2838599135662],[-137.0215624756502,68.27026394822117],[-137.00858950718873,68.2569039331026],[-137.04323851300535,68.24438994275708],[-137.08872451644646,68.25162194446136],[-137.11849353155034,68.24498297522442],[-137.17560149174216,68.24710297719885],[-137.22218651547135,68.2355330082391],[-137.2253965496798,68.22487099522041],[-137.26288354495026,68.22119200651417],[-137.30537957286685,68.21090804344901],[-137.37499555136344,68.21516704901263],[-137.38420256305986,68.20696304008995],[-137.46889756347488,68.1994150809442],[-137.47140359218014,68.18330207834667],[-137.51709560453847,68.17815208534647],[-137.53660659786308,68.18443412245223],[-137.58429155228217,68.18814611630633],[-137.69317558883756,68.17948415611559],[-137.71868354947682,68.1835771878703],[-137.71842273108393,68.20111542938143],[-137.774267357364,68.24877419507368],[-137.79939437551866,68.2498211986429],[-137.82661528898313,68.26371722192609],[-137.8311832968387,68.28256222677844],[-137.9259812910342,68.26685826794404],[-137.97566424869535,68.2745682639444],[-138.02135029495273,68.25705527111168],[-138.04597406886785,68.2583749200565],[-138.04863670696886,68.24340951732697],[-138.06589337147534,68.2235522949449],[-138.1039134033233,68.2089162971909],[-138.15075776214576,68.22455787103273],[-138.15254929925374,68.24232334069633],[-138.1792942999541,68.24365633812027],[-138.205849259398,68.25583835504524],[-138.20899020485368,68.2818223492483],[-138.25267711768137,68.30961436319356],[-138.26151019810783,68.32711011070816],[-138.29055803802456,68.33179140663671],[-138.32311592485937,68.36682389338252],[-138.33359776234045,68.39895578568927],[-138.35043247095058,68.41028507180731],[-138.33652877339193,68.41688041317806],[-138.29834782645813,68.41407541907073],[-138.27546458251118,68.43175113793724],[-138.30473969120558,68.4646603952089],[-138.2742826775462,68.4706563869478],[-138.28827361557666,68.48388640452856],[-138.2822775836369,68.49721140606164],[-138.29969459288245,68.50244639647586],[-138.33595764569804,68.49435642555433],[-138.44769758612378,68.50216046703461],[-138.45502555540025,68.51615246519171],[-138.4886234942048,68.52367147659952],[-138.52326853984067,68.52300449342911],[-138.5824450170755,68.53167922482757],[-138.59065544698095,68.54004151326632],[-138.6283454123558,68.541279547827],[-138.6393864695738,68.52205351808246],[-138.66651247925606,68.51605655026293],[-138.6952564784747,68.52490855668204],[-138.72542743565847,68.51929256115267],[-138.74658048612545,68.5258235722624],[-138.7500794314859,68.53804358468516],[-138.79930840526887,68.52714859423983],[-138.8410728064185,68.54299358548508],[-138.87561933585428,68.54984563525696],[-138.9448143256497,68.55450865609491],[-138.99716236029832,68.55079766206882],[-139.01410437770332,68.53861468145932],[-139.00420540903136,68.5078716605266],[-139.081204471132,68.49349968031547],[-139.10461844190786,68.50149470828948],[-139.12926942938836,68.49978169687559],[-139.15553938677593,68.50758571829769],[-139.1695303675371,68.52300471009765],[-139.18828038140322,68.52310073753246],[-139.1890422746981,68.54813173328759],[-139.26889622055202,68.56650177271784],[-139.30297026350107,68.55403277797558],[-139.31229827559497,68.54375379289733],[-139.31439237492134,68.51948377043416],[-139.3494173274069,68.51434379487998],[-139.4195643626656,68.51462981383439],[-139.47981229772282,68.52062582975559],[-139.51626529880187,68.52823983789996],[-139.53777528549136,68.52547985991035],[-139.57943975105485,68.531162328663],[-139.58974320698934,68.55136887120013],[-139.5846465008792,68.56383500246993],[-139.64513716956972,68.57394989665102],[-139.67321414202192,68.58344391824455],[-139.68111405148184,68.60476390806244],[-139.7341279985017,68.62389392959379],[-139.7899934792289,68.62523921795687],[-139.82435796779848,68.6402649762448],[-139.85214987384882,68.64359598368011],[-139.8600488914336,68.65597000206121],[-139.89317186279217,68.67034098991559],[-139.9482798017761,68.68338103703014],[-139.94387077382157,68.70272002210488],[-139.97298674686195,68.70595603468304],[-140.04103873916435,68.69615206892402],[-140.05322178488822,68.67445205605225],[-140.0242841325098,68.66763314570854],[-140.04456090968802,68.63657104772179],[-140.074362915741,68.62920305141296],[-140.0965279680641,68.61602307033942],[-140.1710729340415,68.61167409864149],[-140.21912594569378,68.6160621139723],[-140.23451796133068,68.61042011736396],[-140.2824319381351,68.61480814993317],[-140.31846322746833,68.63297051936702],[-140.35071887642528,68.63258515022409],[-140.40411382475662,68.64400619227084],[-140.42088483038472,68.62875218726015],[-140.477971860876,68.62497122045399],[-140.4907259093322,68.612597225031],[-140.54344395789914,68.59717922022462],[-140.57322493954675,68.60107024286185],[-140.58842083226517,68.62845024055366],[-140.62116283604868,68.63206726334735],[-140.67798367216392,68.67984629660057],[-140.7130097247084,68.66794929108765],[-140.70767975906438,68.64767628115412],[-140.7402952356027,68.63895742508632],[-140.73766079337867,68.6308293107761],[-140.77754080715897,68.61978931981457],[-140.8073318247724,68.61779032931533],[-140.81094892831862,68.58523931890826],[-140.8794770142232,68.56439534809078],[-140.90993395200337,68.56449034926291],[-140.92477393210984,68.57292734848247],[-140.9612349929213,68.55849436527201],[-141.01340314181547,68.55773473380613],[-141.01312129938265,68.40711652475517],[-141.01351573846054,68.21286838793432],[-141.01317680525744,68.01710832364722],[-141.01414329072867,67.86276731324737],[-141.0125543414394,67.62427073804693],[-141.01082896224963,67.4363613000711],[-141.00893335727372,67.26573557429695],[-141.00486831231183,67.059681199163],[-141.0029477290034,66.85796323108733],[-141.0045365938248,66.61688990488976],[-141.0052736893574,66.51476439895113],[-141.00427436683313,66.34195000364703],[-141.00577927775802,66.14741006330092],[-141.00709243488845,65.92412700632266],[-141.0082033244108,65.75212475028245],[-141.00718223845126,65.56886758541016],[-141.00690303616275,65.29373628937128],[-141.0078775770926,65.09119917489471],[-141.00161155889484,64.85535585458291],[-140.99870474802682,64.67190072300524],[-141.0044440746662,64.4811944578637],[-141.0032239828532,64.20342419824252],[-141.00347841478495,64.00000010975029],[-141.00377983537214,63.75503654205392],[-141.003570504064,63.321496746357255],[-141.00131348083252,63.130818962258964],[-140.99978216074723,63.000000015812304],[-141.0011098421387,62.78098107229571],[-140.99893134787084,62.57041816912636],[-140.9995621057383,62.356148557201905],[-141.00107096719228,62.08197499941651],[-141.00009221866222,61.86456379075969],[-140.99940840914851,61.71080361470487],[-140.9986702682726,61.46289121461511],[-140.99811119139832,61.272420798992734],[-140.99758404238887,61.00000009191969],[-140.99720605639058,60.77401909476531],[-140.99797094202637,60.30804143500673],[-140.517084149097,60.22016270398163],[-140.4479758414348,60.30796017000102],[-139.97167923608612,60.18388228118184],[-139.68006247442062,60.33572082151198],[-139.0520681693884,60.353726371331234],[-139.04851769930673,60.32589428381799],[-139.17701918599147,60.082859841887284],[-139.0567937711552,60.00004319842955],[-139.0522010411841,60.0000406474665],[-138.75000000581826,59.99999999292644],[-138.50000003442148,60.000000000562096],[-137.99999998414833,60.000000006237165],[-137.49999997394298,60.000000000531],[-137.00000001008164,60.0000000042633],[-136.50000001039552,59.99999998797954],[-136.000000012268,59.99999999194781],[-135.59802245193995,60.000058644764785],[-135.53645371536473,60.18415799969757],[-135.48273160026358,60.360572553843355],[-135.48610293644853,60.55604020438434],[-135.76061703180335,60.68699260716568],[-135.9416734756702,60.77433833810047],[-135.99192067954016,60.779729082669036],[-136.00403634676505,60.7971877832487],[-136.02451132006982,60.802219779592555],[-136.02363032239833,60.81464531169161],[-135.98871063108913,60.82553365925685],[-135.98421637422348,60.89036375946759],[-135.90244628357246,61.01833358062441],[-135.73084189020943,61.15567999350106],[-135.55057772418616,61.231329134933446],[-135.15343615671827,61.270020937983915],[-134.98770150041892,61.24902724117426],[-134.85539643899975,61.20955412985801],[-134.73194717808767,61.1377168747273],[-134.67677549497677,61.03507784196022],[-134.6564207954882,60.93892773742497],[-134.5284035664657,60.86014546296452],[-134.4790224325734,60.83637612328087],[-134.47183989362034,60.81954448932369],[-134.26131740546816,60.70779045890898],[-134.2055950339318,60.6793191815358],[-134.02898980120753,60.58858409800979],[-133.8827895637782,60.51167251600026],[-134.0374970822814,60.454986173642624],[-134.2098411929904,60.3873740775048],[-134.33385930623308,60.333829291269915],[-134.4195642279161,60.29089412602153],[-134.49997176656584,60.27639338390118],[-134.726011525186,60.24005498955239],[-134.98613769533733,60.19360406326367],[-134.9904624835013,60.08846180821721],[-134.98622754904167,60.00001281904278],[-134.50000001748205,59.999999998864126],[-133.99999997848317,60.00000000071053],[-133.50000002098517,60.000000004934996],[-133.00000000502897,60.00000000257286],[-132.50000000977442,59.9999999885164],[-131.9999999865491,59.9999999953151],[-131.500000014538,59.99999999829245],[-131.2031441115969,60.00003747757813],[-131.19691045964868,60.02155671196868],[-131.15346606469157,60.037226901409824],[-131.12770368969012,60.03882688280396],[-131.10289593326198,60.03389970033775],[-131.08927023465677,60.0252485835731],[-131.08543924325744,60.0000553532497],[-130.7500000002292,60.00000000526831],[-130.2500000015184,59.99999999317735],[-129.75000000875954,59.99999999194689],[-129.5000000100188,59.99999999076995],[-128.99999996852813,59.999999998622485],[-128.49999999605464,59.9999999901002],[-127.99999996571293,59.999999995461955],[-127.72500008774584,60.00002214929825],[-127.24999999227275,60.00000000364545],[-126.99999997369942,59.999999997445464],[-126.49999997133345,59.99999999734734],[-125.99999999458569,59.99999999738116],[-125.49999998069161,59.99999999068714],[-124.99999999384676,59.99999999275535],[-124.49999998419199,59.99999999083998],[-124.25000000629466,59.99999998600657],[-123.789324835561,60.00003261971194],[-124.00052694335652,60.10919758699334],[-124.02996077825378,60.148158305093226],[-124.06869147420988,60.16869746649933],[-124.12382851505691,60.206001409531495],[-124.12026872683452,60.23862881478883],[-124.15588352026039,60.266945219627004],[-124.15932774366932,60.291057347335574],[-124.18237173379303,60.30675714090865],[-124.20367864598612,60.35032869530156],[-124.21446781082687,60.36457205535346],[-124.20063507677385,60.39733506279778],[-124.19786251652246,60.445915703926325],[-124.23496650448642,60.453947137237805],[-124.31244690669166,60.4592545126463],[-124.3891459921527,60.45845880798434],[-124.3937732597842,60.518900784317445],[-124.43315571254793,60.5421457378307],[-124.447194651742,60.57280931477704],[-124.49053430026733,60.591993177108904],[-124.57106557480381,60.64141542911509],[-124.59945265103175,60.68786762154339],[-124.5627469502447,60.6956559066897],[-124.54146335680264,60.717940746927425],[-124.4917830596775,60.728397589312706],[-124.44921661387173,60.76468261611465],[-124.45051962082441,60.78654589392748],[-124.47625614652048,60.79141394312381],[-124.49625398140641,60.80250261648404],[-124.49844773089386,60.826114168936186],[-124.51147936653891,60.83944477481042],[-124.51077992513925,60.86498633649042],[-124.53669077377094,60.91414022568548],[-124.5393821645787,60.938606893606234],[-124.59275459417177,60.94583669379131],[-124.63322717681363,60.92679898844152],[-124.66537960722071,60.93866112194419],[-124.7281593405711,60.93898962966748],[-124.76615411564316,60.958063531179704],[-124.78837691357442,60.95450904690868],[-124.795248201364,60.932507419121656],[-124.81919573785305,60.91924547330276],[-124.83743028771484,60.89931322236846],[-124.82143991238708,60.853649398936774],[-124.82579771779467,60.83704696884644],[-124.90594699237282,60.83985219700127],[-124.96749742940077,60.849241408446595],[-124.99245464605812,60.840048829274444],[-125.05412481035157,60.83288753468274],[-125.14788162540962,60.83250858676439],[-125.17135218634036,60.80966010127709],[-125.22278008228508,60.79632423429308],[-125.26406726015901,60.768347961721915],[-125.37491230901614,60.76638392730301],[-125.46700949713312,60.788705199081896],[-125.5337937195727,60.81235519818411],[-125.56891415982263,60.801503985235776],[-125.62534975570912,60.80970859648275],[-125.66963923125371,60.80310898422232],[-125.7141012809662,60.830770059806014],[-125.75535817231955,60.84532637297846],[-125.79249731169355,60.86819486005072],[-125.83222475592616,60.88128756538031],[-125.92081827955317,60.848597623782574],[-125.93853637979366,60.8300144696327],[-125.94049225039396,60.804615137789156],[-125.96680312528892,60.7892426713139],[-126.05656131007315,60.79524544611747],[-126.08330515729902,60.81378356229859],[-126.0633506176439,60.85136803296974],[-126.09741876832065,60.85011700647643],[-126.13715657780293,60.84355412511443],[-126.18123975019257,60.841760111046845],[-126.2106541617808,60.83443328430532],[-126.18974569314466,60.81181264182831],[-126.18468176317582,60.79692722656308],[-126.19792614776948,60.782235473083304],[-126.23464200232623,60.76924992612847],[-126.28349984400471,60.75882843388324],[-126.38708902620185,60.76554897501555],[-126.48637011184114,60.80014866239789],[-126.5334280324799,60.78223893182697],[-126.6082324653548,60.739768290721],[-126.63904120405648,60.730789378503324],[-126.65983556912941,60.75118430883146],[-126.68260007917256,60.75381274818242],[-126.69265357796198,60.76903179730552],[-126.76349245071764,60.763189114474564],[-126.7698347746214,60.748638968112225],[-126.81274730026125,60.75856154150683],[-126.8451429265244,60.774978499536985],[-126.82524651244692,60.83149562554134],[-126.84987883855672,60.832599324482494],[-126.87704140837683,60.847895001466526],[-126.85636972912866,60.87032991078598],[-126.86603872651405,60.89592982072034],[-126.85358648073188,60.9316313681429],[-126.8734793312029,60.96472507380816],[-126.90682724964165,61.007140350349786],[-126.89677399373129,61.04098893437125],[-126.96612365212602,61.05006764526143],[-126.99949416384011,61.02617787567219],[-127.04701992977554,61.01727952816856],[-127.0423343070539,61.03094373352402],[-127.0724348000554,61.066597131838385],[-127.04264886293045,61.08208643123886],[-127.04105087447718,61.102810603074644],[-126.98410173868096,61.12140337462436],[-127.01209917481022,61.1376674845131],[-126.96074011346907,61.16792861252137],[-126.97587940378787,61.17771550291472],[-126.95292614636872,61.214963573988115],[-126.99640938771321,61.22213863194274],[-126.99958828629754,61.25110930696617],[-127.02004849493247,61.28792514914339],[-127.03340143508755,61.32240947893016],[-127.02101968367482,61.33795420784174],[-127.02924078024444,61.361254057660624],[-127.09075633593613,61.36808534749975],[-127.08513967768295,61.38759527735676],[-127.09403330504045,61.4376554169148],[-127.10295620217339,61.458150429139856],[-127.16798910051729,61.45620342742752],[-127.19170195705237,61.46113679575869],[-127.20242189087115,61.490019166565716],[-127.2378362793895,61.5001777605636],[-127.31641492555852,61.50010998173442],[-127.36353825605372,61.49124108544794],[-127.3886884475093,61.4966760705307],[-127.42237700918203,61.496799295942424],[-127.46918999648666,61.48515494122608],[-127.56985645582192,61.52389242966053],[-127.62272241776441,61.532228032701084],[-127.62907616385951,61.546993949129046],[-127.66855033097184,61.58255240589839],[-127.71897640208535,61.584049566004275],[-127.76680544683964,61.59413878056318],[-127.83287148326941,61.62970242480516],[-127.88185153380562,61.66755835314774],[-127.91188700302092,61.66944372628745],[-127.96164661043711,61.69004648350255],[-127.9821037413037,61.70198191623457],[-128.0474599754839,61.72872035813447],[-128.0126224892069,61.75319301204342],[-128.01758338953888,61.76698940139693],[-127.98599682645224,61.79157807614476],[-128.01398172065637,61.80489657386858],[-128.0206532679823,61.82353902815324],[-128.0540348971169,61.83268748843388],[-128.1065692052379,61.830941163684486],[-128.1496434904593,61.837855016551984],[-128.188346217519,61.82841635502423],[-128.20827631545546,61.887029850846936],[-128.24857713447577,61.937032406345494],[-128.30483123224982,61.94914853530869],[-128.30694798465126,61.967559800000586],[-128.3500972308095,61.97350905489339],[-128.35687274095292,61.990803767718006],[-128.3479392179938,62.01483621420458],[-128.3611791942426,62.01656020414141],[-128.38842472762235,62.020103175944655],[-128.41018066795098,62.04280053170852],[-128.43728302982572,62.05493440904079],[-128.51138139020887,62.10035139952128],[-128.54964039424456,62.1162501944094],[-128.5977802074128,62.107188013038495],[-128.63516971797083,62.11820024822333],[-128.669031639265,62.10907820830919],[-128.68758145664822,62.08687018951612],[-128.7193860085667,62.06918215407275],[-128.73036016477766,62.04314251390779],[-128.80903905537568,62.048335575638944],[-128.81979546227186,62.08747198397379],[-128.85160993928918,62.09936431732671],[-128.92054779850835,62.095490833795125],[-128.9446647951708,62.11908420309883],[-128.972499718907,62.11692309323998],[-128.99907986453044,62.107883781588136],[-129.03399042947382,62.111804367254194],[-129.0730073556533,62.09830718672467],[-129.12886832243566,62.0994570048624],[-129.17613309307137,62.12390016875292],[-129.19978698170027,62.139443424674134],[-129.2357052754128,62.13804861123723],[-129.23724181800966,62.151061355769734],[-129.19388218866482,62.168067764275726],[-129.16332575148425,62.203971336913206],[-129.20501948998978,62.20922319266857],[-129.22174500185014,62.23636482622193],[-129.26967035319728,62.25798251176298],[-129.24594831048975,62.28217252236733],[-129.26454119330697,62.29988070374435],[-129.2562819855606,62.32795508093548],[-129.21422102714942,62.35243628931543],[-129.1894983834872,62.361555349860254],[-129.2630642564401,62.37429236165342],[-129.28485596752367,62.39972151396987],[-129.23849240382393,62.414056239670245],[-129.24390761680777,62.430868757586296],[-129.22271816726416,62.441104075751966],[-129.1740808929555,62.445005245541545],[-129.1596819401895,62.47861825675396],[-129.1862365072797,62.4793191862059],[-129.21247015081332,62.50450738564598],[-129.27430758245833,62.51411890633053],[-129.32427378013057,62.524604170462794],[-129.35656894170202,62.55308035703709],[-129.386953293082,62.57130453213044],[-129.43934809032106,62.57793782854551],[-129.45365134390133,62.564712446294436],[-129.48240542077605,62.55107980243201],[-129.522394753602,62.55220635585394],[-129.52264270469053,62.57539777256396],[-129.48496681412226,62.584850126396425],[-129.4645837431906,62.59514332983165],[-129.4623447338538,62.62038692652682],[-129.5049901048895,62.640376088246846],[-129.48521946647853,62.662427755891855],[-129.5266596100325,62.668714460327415],[-129.53039894974017,62.682021388275416],[-129.56669569068657,62.68117950031343],[-129.59012724339934,62.70101263368632],[-129.60797454007314,62.74949015701308],[-129.66556363444144,62.79572423659388],[-129.66525691979805,62.81420344619934],[-129.70212565147548,62.822116010269376],[-129.74325754764047,62.838368825289784],[-129.75003440118846,62.88106437995284],[-129.68423696661736,62.87594230641174],[-129.70967773733156,62.9076577793154],[-129.675225382814,62.9264551228553],[-129.6787115050878,62.9411683778194],[-129.64935701675495,62.95298787149968],[-129.63731758739976,62.97896787044861],[-129.60794727100247,63.01006876469555],[-129.58858365810283,63.042165233222285],[-129.6132085229328,63.07304793962676],[-129.67356164767182,63.061619075011535],[-129.74071335294542,63.0605121486673],[-129.77373242286131,63.076571910169484],[-129.8210009047393,63.0823896688288],[-129.81349593968565,63.10367321983303],[-129.86851075571298,63.15754482970733],[-129.87046229829804,63.17183424260349],[-129.8957283589938,63.178488483029874],[-129.9104855270577,63.1921008749428],[-129.94259370844503,63.18305166605408],[-129.9875838100655,63.19889804296872],[-130.0138939456875,63.236448660561855],[-130.04878113260398,63.25235072059932],[-130.10403705266546,63.244052302427875],[-130.15776290244062,63.24235756194502],[-130.1300016547657,63.26681646905119],[-130.14526745928205,63.28878941987887],[-130.1083046702521,63.30561779909945],[-130.05797621264387,63.3041582603769],[-130.0408364308343,63.32994775806282],[-129.99035100532998,63.3275684829332],[-129.92369739334646,63.344283083878686],[-129.86622001620313,63.367073573635395],[-129.90852714955807,63.41763688703105],[-129.8856830814246,63.435963335027196],[-129.874322805647,63.45748121788178],[-129.78492801959513,63.44596953957788],[-129.8705339631783,63.52173351035573],[-129.8973717900144,63.55286069159684],[-129.9603275101876,63.56575761236479],[-129.92807254474025,63.592000324140955],[-129.96246077453782,63.60980118831687],[-130.01027705081114,63.613364713101504],[-130.0427107993965,63.604282236966945],[-130.08136368234585,63.608026139556124],[-130.09927684922422,63.632647655425686],[-130.0915482237821,63.660565023951705],[-130.0725124648175,63.68286895589894],[-130.1061878094234,63.6884807682021],[-130.2321443967098,63.647553107468106],[-130.26863540833355,63.644783938290146],[-130.3077604414728,63.66550630511235],[-130.30971091618753,63.67799915740075],[-130.339667004453,63.690882766409885],[-130.3180129760762,63.71379496279308],[-130.2694870408624,63.71350198043074],[-130.215678381994,63.71779493530729],[-130.18960992113105,63.74199657486482],[-130.12195806856246,63.743215586897136],[-130.10122852771093,63.754179283230926],[-130.10626554210646,63.78735828271595],[-130.13766246304093,63.79929407279463],[-130.1293252459132,63.810783689944714],[-130.1326954634665,63.82926717302047],[-130.1093680563785,63.83941491898033],[-130.14423470236903,63.86142420895753],[-130.18589737660875,63.854207150840836],[-130.21857587178357,63.86931917727617],[-130.23987723323765,63.855560412471746],[-130.24568508543905,63.83622723715376],[-130.3083246762461,63.8229396022033],[-130.3393625577882,63.81327809293803],[-130.36914591959402,63.84852597673028],[-130.39437676345557,63.85298375268031],[-130.44289505277652,63.891143226930204],[-130.5382368068966,63.92568157472474],[-130.5572211280699,63.91667667685668],[-130.59207771119307,63.92174010689192],[-130.63058112723152,63.94763639216484],[-130.68866237017477,63.94630873257296],[-130.71810577974225,63.96373327789423],[-130.77570257794363,63.97625081680058],[-130.77172538553623,64.0088663888436],[-130.72332169832404,64.02656540022076],[-130.8089826923477,64.04045170301853],[-130.8703429644825,64.03188836078395],[-130.88347458024126,64.08203601396416],[-130.95541668451793,64.11332460799196],[-130.96776877256232,64.13004530976578],[-130.95280128966363,64.14106386666451],[-130.90508899950683,64.14596312760764],[-130.85905945490606,64.1719612459924],[-130.87081289413496,64.1856650448945],[-130.94396511321034,64.1857816536015],[-130.93818538006826,64.20036403894761],[-130.94720044631472,64.22301660219844],[-130.9826482544796,64.25074044656425],[-131.0737079791761,64.27287038844229],[-131.07634691276382,64.27877436668857],[-131.07911835878895,64.28497196297455],[-131.02661729161252,64.30469722231068],[-131.06286567932702,64.32825238992542],[-131.06817445469665,64.36131916917117],[-131.11038185515727,64.37646478510199],[-131.1473517402401,64.40379186106165],[-131.2251177170958,64.4216066037312],[-131.2955251210764,64.44678477086738],[-131.3804889778757,64.4356829232084],[-131.37236278590305,64.45087293845899],[-131.43195958556106,64.43792395474951],[-131.41960637745308,64.41145878001173],[-131.4510316084846,64.39186427293998],[-131.50355428010792,64.38975034037517],[-131.51798528708147,64.37919531921428],[-131.55946175675928,64.38333683128153],[-131.5787564396066,64.36992350273377],[-131.6235134305688,64.3536662520358],[-131.67632493710283,64.37719541822837],[-131.72137992666805,64.37029897516851],[-131.76544057145568,64.37984914074575],[-131.8084216335342,64.36881788598545],[-131.8583104745027,64.38127237242738],[-131.8283907084276,64.40114620777084],[-131.82485464401717,64.42469974599312],[-131.7160422671238,64.4754966795938],[-131.67603786713335,64.48550911984313],[-131.7074671330239,64.50818310356281],[-131.684646179051,64.52137123565645],[-131.80639067882953,64.53393424939628],[-131.8387201171057,64.52534494876222],[-131.85537225739128,64.53782495602744],[-131.8301025929144,64.54877270128243],[-131.89640780819528,64.56627335292262],[-131.93809604765886,64.590343069648],[-131.98199014007542,64.6318323064506],[-132.03771578882305,64.69642310250943],[-132.12426147762417,64.7037416585223],[-132.21624945642338,64.74287776354836],[-132.29909017112058,64.76121140197935],[-132.35696419976642,64.78316801314749],[-132.4220314588398,64.77779088101016],[-132.46423976066973,64.78869409683382],[-132.5119113709999,64.77448172438655],[-132.5460275717007,64.77024589950975],[-132.55922624922863,64.79612204926761],[-132.62764906689378,64.82968105969572],[-132.58689659994891,64.83458922162608],[-132.51113354978486,64.86622793728891],[-132.4816830619174,64.88402324452194],[-132.46229229622094,64.90157045199167],[-132.49127971377507,64.93556275853186],[-132.49031872826197,64.96240338470905],[-132.41418874135235,64.98438269167816],[-132.4055987491195,65.01000657228415],[-132.33772455273817,65.03830567757926],[-132.33610021975508,65.06071968338325],[-132.4594683194274,65.08111161927405],[-132.5193684480872,65.08151843343171],[-132.542742072378,65.08990109529242],[-132.53446207966908,65.12118301430297],[-132.5093371470214,65.17351212224597],[-132.5547642407996,65.17123814370422],[-132.59663193011693,65.14627614761362],[-132.65671034218627,65.14080905720378],[-132.72687157135783,65.15838083341147],[-132.7727212188439,65.18304327825864],[-132.76396469496822,65.19646475697446],[-132.7066870053334,65.19928629185331],[-132.7478971695247,65.22736689771273],[-132.66935429698512,65.25966253836584],[-132.6570047141945,65.27813046679256],[-132.5664242789276,65.28404347450841],[-132.53714817882636,65.35046437661619],[-132.5046174492736,65.36861202020951],[-132.44625313560658,65.38820830338054],[-132.37643655581982,65.40235899212561],[-132.34938715716606,65.42942357511093],[-132.3149576443819,65.4472405937086],[-132.27537032759724,65.45770074971229],[-132.28336851332847,65.50055332012951],[-132.2148737110536,65.55311516102483],[-132.19103123519707,65.57482282555254],[-132.16832125671328,65.60242731302954],[-132.19881288988145,65.61859464700156],[-132.24469789769446,65.66669527298474],[-132.29861619937793,65.68596226086954],[-132.28322502258712,65.7046974128489],[-132.31346095976534,65.73985755032822],[-132.35448261978826,65.74692299028507],[-132.37548300987365,65.76642581030453],[-132.41438779062523,65.78877613399233],[-132.48464637570197,65.80118944282219],[-132.5197025543002,65.81957471887357],[-132.5636795874387,65.83017019462666],[-132.59636896387065,65.85670413030755],[-132.57789965054315,65.8755528261164],[-132.53086336481812,65.90589662376252],[-132.46089617844888,65.93050311588786],[-132.3501222583167,65.95231643193975],[-132.37788832670168,65.98904025490455],[-132.46026019423164,65.97463303115241],[-132.49454186084287,65.97198877606851],[-132.5192074979896,65.99906342696808],[-132.54044428503832,66.01502464556151],[-132.56826273276835,66.02287513459653],[-132.6161479636281,66.02230455777442],[-132.65659687344058,66.0158315683838],[-132.70627442799085,65.98902116357068],[-132.79933805117486,65.95051457714726],[-132.8052854113564,65.92057653603071],[-132.83718650491764,65.90036712527724],[-132.90921597141207,65.88404408253889],[-132.99647092593597,65.90871184158722],[-133.02148482886523,65.91881242157648],[-132.96197149599902,65.96054898617582],[-132.91226351506313,66.00154363019008],[-132.92114750799882,66.02042157579498],[-133.00518058011252,66.01681656520603],[-133.05583826753283,66.01922278482537],[-133.12807023000863,66.03093969958172],[-133.15282932988805,66.01940712247644],[-133.19625465570542,66.00688032328712],[-133.26857884731305,65.99584664478215],[-133.3234460236262,65.97027075000995],[-133.40518518568297,65.93885850397268],[-133.44691950840564,65.9334674905525],[-133.52581134477748,65.95430641868091],[-133.55552832782118,65.95183782125319],[-133.59496403789953,65.93586952891874],[-133.62144560091235,65.9420662187675],[-133.65833087931267,65.95968098933425],[-133.6627924677332,65.98129681367557],[-133.63441906650718,65.9946965725125],[-133.60303552707643,66.03820035689476],[-133.59855620890656,66.05651530071589],[-133.63809111232362,66.06030270616074],[-133.68125471371937,66.05914564963342],[-133.6907059247646,66.07117328507002],[-133.6796050315245,66.097641348648],[-133.65785417506189,66.12180553880212],[-133.6016865882104,66.1343363412347],[-133.57116509920428,66.14979378990392],[-133.54891425072236,66.16998680456906],[-133.56795935320972,66.20899338842904],[-133.5663239998775,66.23588630309193],[-133.5535339614372,66.25700891613793],[-133.5805112115614,66.28613658845991],[-133.62622824154394,66.29861707176391],[-133.78575988043522,66.29538023784733],[-133.82190968925832,66.30303648662527],[-133.8354235602441,66.31721772521396],[-133.81131839724912,66.34121500149229],[-133.76806949413145,66.36618351709706],[-133.76637876875506,66.4177679333727],[-133.73419084094377,66.44035661676222],[-133.6393165022858,66.43002061041668],[-133.60982732929102,66.43606524655397],[-133.69344235953412,66.50348549563354],[-133.690053046596,66.5279022416477],[-133.58818740061116,66.54997897109224],[-133.5823658567018,66.56225197340946],[-133.637253030334,66.5763768267077],[-133.67677456274376,66.58317985231241],[-133.69648595714224,66.595487716487],[-133.71758327838293,66.6250019516451],[-133.76205391733336,66.63443313332895],[-133.79336846876924,66.64944320045112],[-133.76206586991484,66.66420839062432],[-133.74806657015378,66.67896361206189],[-133.7620755844036,66.69240119537443],[-133.80529396113857,66.70543488190698],[-133.84633012875406,66.72279629686405],[-133.83217790999697,66.73388885728522],[-133.80380366365375,66.7431910137441],[-133.7759311599197,66.76520894656727],[-133.75966391434665,66.80102695838123],[-133.7874714578372,66.81707239785612],[-133.8330250974587,66.82596101285512],[-133.85326108222486,66.84191505703626],[-133.85028021345593,66.85494752592349],[-133.88953185529562,66.86909966202207],[-133.8904670596115,66.88349918494393],[-133.9432901349395,66.90526295934995],[-134.00068758007626,66.90941465738018],[-134.0917092503735,66.93691039121849],[-134.1178470323086,66.95691748549521],[-134.06720306319608,66.9752045515656],[-134.01420963955204,66.98584103679461],[-133.90125870476362,66.98185005965162],[-133.8468833014374,66.98366510466309],[-133.8296349680312,67.00000011506164],[-134.16249998828613,66.99999999731936],[-134.57500000582945,66.9999999832652],[-135.10000000473883,66.99999998076589],[-135.51250001355655,66.99999998735046],[-135.82499999265121,66.9999999966952],[-136.1644135755467,67.00000005930191],[-136.1817909871963,67.03468117416621],[-136.21626476371426,67.05097776971343],[-136.20031587730554,67.06142300227074],[-136.2324495495807,67.1066966745717],[-136.19152465734982,67.14390383608553],[-136.22128786590451,67.15390106384004],[-136.23509607477857,67.17254237902476],[-136.13749607192835,67.23263415790672],[-136.12723619133672,67.27349961712531],[-136.08655748152285,67.30070614890366],[-136.1355103775831,67.32998899179684],[-136.14618790797758,67.3453772803948],[-136.14003434032222,67.36644118919104],[-136.1688759576914,67.3779751137533],[-136.18720781127337,67.39339611992506],[-136.22205360733622,67.40547162014404],[-136.2015452802093,67.41846045601947],[-136.20426766180526,67.43930558498218],[-136.17866768863928,67.45772956602562],[-136.20212473858595,67.48187737978914],[-136.16991973913602,67.50384397240184],[-136.2187148752832,67.51340307369276],[-136.21836174948135,67.53138104671372],[-136.19997975993536,67.56166209428072],[-136.24135357845554,67.61088653889405],[-136.2792676100327,67.62112683657466],[-136.2898931158754,67.6342333750797],[-136.3593798464239,67.62835245214923],[-136.37803911330383,67.63920811160911],[-136.41621270939575,67.64014396754762],[-136.44877269982553,67.64947145861274],[-136.45234257323094,67.71066146363297]],[[-135.88577292279044,63.59106125791149],[-135.9026623589042,63.59052069367636],[-135.9034189021445,63.60370103278909],[-135.89095986711808,63.60364505438113],[-135.88577292279044,63.59106125791149]],[[-136.45341133461764,60.78187324134312],[-136.47659077227314,60.771093401004556],[-136.4976962808921,60.78827261212097],[-136.47441003594176,60.79802856675527],[-136.45341133461764,60.78187324134312]],[[-132.74044907861494,60.16435023981051],[-132.7643975299467,60.17095254054071],[-132.7541003085325,60.178699878363815],[-132.73179099825572,60.17651470335393],[-132.726340089703,60.184168143087795],[-132.69459626120744,60.17698285033769],[-132.7208148459361,60.16578917977462],[-132.74044907861494,60.16435023981051]],[[-128.8955043196703,60.04406838250933],[-128.92719721006435,60.04194440358453],[-128.9442365186606,60.05158118380657],[-128.93645405962397,60.06138070210839],[-128.90555623920778,60.065175082110365],[-128.8955043196703,60.04406838250933]],[[-139.38788787217732,64.10646125027613],[-139.38239484776022,64.10032499701386],[-139.4477353800747,64.09152437519859],[-139.4681215549674,64.11456153088228],[-139.4058696041725,64.12652810872093],[-139.38788787217732,64.10646125027613]],[[-139.7770166882051,67.5576726748567],[-139.80436407565077,67.54952400090184],[-139.83640693732158,67.54889511609635],[-139.86934254435346,67.55798944574866],[-139.8800671718781,67.57898366000973],[-139.85478064834817,67.58766824956408],[-139.80340113939752,67.59137880915327],[-139.77113028237292,67.57912957649222],[-139.7770166882051,67.5576726748567]],[[-138.79468942674828,61.232298811000064],[-138.86508969009793,61.26426658836009],[-138.8270161575729,61.28279827187876],[-138.72967435857714,61.23931437720109],[-138.76974091321168,61.220945159929016],[-138.79468942674828,61.232298811000064]],[[-132.4231643534785,61.982263232315326],[-132.3925802812803,61.95647270151934],[-132.453894578362,61.94060519518538],[-132.50833111251035,61.98761707316225],[-132.44756872925956,62.00280600509608],[-132.4231643534785,61.982263232315326]],[[-134.68329573989755,60.15328482735866],[-134.75550282221766,60.15322634614178],[-134.75470095711964,60.19928182991152],[-134.67385634437068,60.19899568795024],[-134.67399257608207,60.15824650691309],[-134.68329573989755,60.15328482735866]],[[-133.26779843665864,60.47167808432925],[-133.2962918507779,60.46584333841783],[-133.3280832027671,60.4681105263827],[-133.34493699633245,60.484713497299126],[-133.34369690827197,60.500786701292135],[-133.3318308153262,60.5089281935425],[-133.29770914166966,60.51445959169369],[-133.26340656389434,60.508623853213344],[-133.24346977277654,60.491003838382596],[-133.26779843665864,60.47167808432925]],[[-132.7578677337343,60.190515285542105],[-132.7969438191049,60.19661786737376],[-132.80863306472182,60.2342803164445],[-132.76293120508961,60.267190420701915],[-132.7454901753903,60.25730210776344],[-132.73945911023796,60.2344862634007],[-132.72600105072763,60.216319491369816],[-132.72710454711734,60.199519784675864],[-132.7578677337343,60.190515285542105]],[[-140.83560960728596,62.36979908093918],[-140.87839355457248,62.354436870302486],[-140.91703551988883,62.356438438724844],[-140.9490167485017,62.37272445875287],[-140.95036047237517,62.387650944051266],[-140.9254271443456,62.403153917438146],[-140.87910565056984,62.404749122222036],[-140.84118476939022,62.38997886126894],[-140.83560960728596,62.36979908093918]],[[-136.6983956969738,63.3971819183274],[-136.65086723845928,63.3996080309455],[-136.6296026699185,63.34548135481041],[-136.72904852672028,63.340223230295194],[-136.75078983042079,63.394488513720134],[-136.6983956969738,63.3971819183274]],[[-138.96082328166435,61.32165728577985],[-138.97694128506316,61.31367873396171],[-139.09434445372477,61.3633804402928],[-139.0395279943784,61.38877521431029],[-138.92522121349472,61.339258954962574],[-138.96082328166435,61.32165728577985]],[[-136.53338110214875,62.8239486441487],[-136.51376250350086,62.7958526532421],[-136.60416370823353,62.7836478800431],[-136.64675421648866,62.84541673041214],[-136.5573591762557,62.858210869244424],[-136.53338110214875,62.8239486441487]],[[-137.5291017789298,60.79333129751541],[-137.45240254222443,60.79280831188095],[-137.45134980738965,60.7406403040688],[-137.50973687326024,60.74238395663718],[-137.5389518284247,60.75183289064111],[-137.55581029068207,60.76330519083155],[-137.5900117250942,60.773056340418464],[-137.58090248697488,60.79088929357909],[-137.5291017789298,60.79333129751541]],[[-139.42846180044296,64.09008014853855],[-139.41578332329425,64.08998231012468],[-139.4114461125575,64.06918688154859],[-139.3779793701241,64.05378806639108],[-139.2777241072878,64.05066916803086],[-139.279478405269,64.02445248357932],[-139.45048780746248,64.0282398663704],[-139.47935853633257,64.02294949070313],[-139.44808341263578,64.07507565421746],[-139.42846180044296,64.09008014853855]],[[-137.85593686831768,60.997813481571],[-137.8626892726225,60.97170460450395],[-137.89290489623235,60.94576622304707],[-137.8619108509953,60.948821520682124],[-137.86377066463416,60.92378400033728],[-137.96078213134592,60.93177798187227],[-137.97868446413744,60.93584629408903],[-137.94148346683374,60.95432939229811],[-137.99227781807517,60.98129336125658],[-137.85593686831768,60.997813481571]],[[-136.22611175966384,62.126307989876175],[-136.1745419155683,62.11496851479516],[-136.1545389798682,62.114132838065295],[-136.15159368402226,62.0949588434431],[-136.23478546501272,62.093970444387395],[-136.23449167012978,62.067537504386166],[-136.32486302577652,62.06745969094107],[-136.32514733181017,62.12554225631768],[-136.27546552394176,62.12568499182586],[-136.26239672914429,62.12967063707046],[-136.22611175966384,62.126307989876175]],[[-135.35786302897677,63.915860748228944],[-135.33931722708465,63.92251163083866],[-135.33355027632956,63.937221715491674],[-135.3083739892695,63.942022132349045],[-135.28095265158692,63.95884840921196],[-135.24756931622662,63.96842970296128],[-135.23543365474288,63.96013169513311],[-135.2570353420083,63.948210332489865],[-135.18719696790546,63.94320440980507],[-135.1537069585388,63.92616760442835],[-135.15739939283915,63.913171625579835],[-135.33522217079366,63.884644549327795],[-135.35751312241447,63.89329628715607],[-135.35786302897677,63.915860748228944]],[[-134.24012750345585,60.320924602982075],[-134.22550501620177,60.25769497997351],[-134.26944917996144,60.23984410453483],[-134.2921996524224,60.241130912339955],[-134.3028617149778,60.22624794370852],[-134.33403400717697,60.22500403150633],[-134.32911522845384,60.263792416799944],[-134.34124326517502,60.32617155579055],[-134.24186243024593,60.32840991851234],[-134.24012750345585,60.320924602982075]],[[-128.63049524829574,60.062677084182226],[-128.55738473181998,60.0371732931765],[-128.57636771661834,60.016803450793496],[-128.60305770977655,60.008205537346605],[-128.60904412806607,60.020281551794035],[-128.63674725994179,60.01580443376808],[-128.6675335041156,60.02857434943728],[-128.72742125783586,60.02262135945786],[-128.81951411025307,60.05611723631864],[-128.9003985627575,60.08116005906122],[-128.88623845174598,60.145065520393594],[-128.80155667820122,60.1289367051404],[-128.71016416563788,60.10633838375313],[-128.70837148240471,60.078096459633244],[-128.6785433348601,60.07617377859701],[-128.63049524829574,60.062677084182226]],[[-133.1990080192777,62.17054727825264],[-133.1990517471894,62.155347993007794],[-133.5092294612349,62.155478991740544],[-133.51228235946152,62.27434901403538],[-133.19871734738092,62.27111957106123],[-133.1990080192777,62.17054727825264]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-135.35510804687294,\"lat\":63.42681871200551},\"year\":\"2021\",\"prov_code\":[\"60\"],\"prov_name_en\":[\"Yukon\"],\"cd_code\":[\"6001\"],\"cd_name_en\":[\"Yukon\"],\"csd_code\":[\"6001045\"],\"csd_name_en\":[\"Yukon\",\"Unorganized\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Yukon\",\"cd_name_fr\":\"Yukon\",\"csd_name_fr\":\"Yukon, Unorganized\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.6307822227021,67.77995976362705],[-121.98644352857994,67.73066195414808],[-124.14410437127584,67.72605045626563],[-126.94786517753784,67.67848305377964],[-127.3459292244829,67.66789985343176],[-129.48196612903018,67.59468869472943],[-130.0139434968095,67.57211800444294],[-130.45083202077993,67.55227702545824],[-130.43369937548115,67.36770626047252],[-130.409738445504,67.10475467858274],[-130.38136599471534,66.78589850658066],[-131.07297309730393,66.71675574924608],[-131.93030433620228,66.626349193294],[-132.06503385881962,66.6092518064585],[-132.07487406021494,66.07060071598808],[-132.02573467356396,66.07278570189798],[-131.95238640446328,66.06167381093513],[-131.94573528827354,66.04859399854921],[-131.9177757943528,66.03644458756268],[-131.8804657104355,66.03038049157178],[-131.75890160399436,65.99957490840937],[-131.73430812619193,65.97187920218013],[-131.6913814109173,65.96337020325585],[-131.69019128890304,65.950790087122],[-131.66358010585893,65.9448471825787],[-131.60697618532873,65.942009712087],[-131.5885369312555,65.93501029431339],[-131.56801309771643,65.91458108701306],[-131.52041521965995,65.9127187951872],[-131.43924751291516,65.9142598003993],[-131.3786902085056,65.89288509504465],[-131.3839635080665,65.88314969809576],[-131.35093257776788,65.87269070035269],[-131.28762018561855,65.86768440016273],[-131.2536465922189,65.84693448896262],[-131.22825022080002,65.84981009865845],[-131.21335211078153,65.86751689253643],[-131.1871036973877,65.87280869773713],[-131.14999288652135,65.87181420630259],[-131.14514787239054,65.8633710465765],[-131.10054547018075,65.86101635566382],[-131.01927248537817,65.41792499378897],[-130.9450911577577,65.00000009976449],[-130.8238588228499,64.28764824505168],[-131.04776319427165,64.28093964985935],[-131.07634691276382,64.27877436668857],[-131.0737079791761,64.27287038844229],[-130.9826482544796,64.25074044656425],[-130.94720044631472,64.22301660219844],[-130.93818538006826,64.20036403894761],[-130.94396511321034,64.1857816536015],[-130.87081289413496,64.1856650448945],[-130.85905945490606,64.1719612459924],[-130.90508899950683,64.14596312760764],[-130.95280128966363,64.14106386666451],[-130.96776877256232,64.13004530976578],[-130.95541668451793,64.11332460799196],[-130.88347458024126,64.08203601396416],[-130.8703429644825,64.03188836078395],[-130.8089826923477,64.04045170301853],[-130.72332169832404,64.02656540022076],[-130.77172538553623,64.0088663888436],[-130.77570257794363,63.97625081680058],[-130.71810577974225,63.96373327789423],[-130.68866237017477,63.94630873257296],[-130.63058112723152,63.94763639216484],[-130.59207771119307,63.92174010689192],[-130.5572211280699,63.91667667685668],[-130.5382368068966,63.92568157472474],[-130.44289505277652,63.891143226930204],[-130.39437676345557,63.85298375268031],[-130.36914591959402,63.84852597673028],[-130.3393625577882,63.81327809293803],[-130.3083246762461,63.8229396022033],[-130.24568508543905,63.83622723715376],[-130.23987723323765,63.855560412471746],[-130.21857587178357,63.86931917727617],[-130.18589737660875,63.854207150840836],[-130.14423470236903,63.86142420895753],[-130.1093680563785,63.83941491898033],[-130.1326954634665,63.82926717302047],[-130.1293252459132,63.810783689944714],[-130.13766246304093,63.79929407279463],[-130.10626554210646,63.78735828271595],[-130.10122852771093,63.754179283230926],[-130.12195806856246,63.743215586897136],[-130.18960992113105,63.74199657486482],[-130.215678381994,63.71779493530729],[-130.2694870408624,63.71350198043074],[-130.3180129760762,63.71379496279308],[-130.339667004453,63.690882766409885],[-130.30971091618753,63.67799915740075],[-130.3077604414728,63.66550630511235],[-130.26863540833355,63.644783938290146],[-130.2321443967098,63.647553107468106],[-130.1061878094234,63.6884807682021],[-130.0725124648175,63.68286895589894],[-130.0915482237821,63.660565023951705],[-130.09927684922422,63.632647655425686],[-130.08136368234585,63.608026139556124],[-130.0427107993965,63.604282236966945],[-130.01027705081114,63.613364713101504],[-129.96246077453782,63.60980118831687],[-129.92807254474025,63.592000324140955],[-129.9603275101876,63.56575761236479],[-129.8973717900144,63.55286069159684],[-129.8705339631783,63.52173351035573],[-129.78492801959513,63.44596953957788],[-129.874322805647,63.45748121788178],[-129.8856830814246,63.435963335027196],[-129.90852714955807,63.41763688703105],[-129.86622001620313,63.367073573635395],[-129.92369739334646,63.344283083878686],[-129.99035100532998,63.3275684829332],[-130.0408364308343,63.32994775806282],[-130.05797621264387,63.3041582603769],[-130.1083046702521,63.30561779909945],[-130.14526745928205,63.28878941987887],[-130.1300016547657,63.26681646905119],[-130.15776290244062,63.24235756194502],[-130.10403705266546,63.244052302427875],[-130.04878113260398,63.25235072059932],[-130.0138939456875,63.236448660561855],[-129.9875838100655,63.19889804296872],[-129.94259370844503,63.18305166605408],[-129.9104855270577,63.1921008749428],[-129.8957283589938,63.178488483029874],[-129.87046229829804,63.17183424260349],[-129.86851075571298,63.15754482970733],[-129.81349593968565,63.10367321983303],[-129.8210009047393,63.0823896688288],[-129.77373242286131,63.076571910169484],[-129.74071335294542,63.0605121486673],[-129.67356164767182,63.061619075011535],[-129.6132085229328,63.07304793962676],[-129.58858365810283,63.042165233222285],[-129.60794727100247,63.01006876469555],[-129.63731758739976,62.97896787044861],[-129.64935701675495,62.95298787149968],[-129.6787115050878,62.9411683778194],[-129.675225382814,62.9264551228553],[-129.70967773733156,62.9076577793154],[-129.68423696661736,62.87594230641174],[-129.75003440118846,62.88106437995284],[-129.74325754764047,62.838368825289784],[-129.70212565147548,62.822116010269376],[-129.66525691979805,62.81420344619934],[-129.66556363444144,62.79572423659388],[-129.60797454007314,62.74949015701308],[-129.59012724339934,62.70101263368632],[-129.56669569068657,62.68117950031343],[-129.53039894974017,62.682021388275416],[-129.5266596100325,62.668714460327415],[-129.48521946647853,62.662427755891855],[-129.5049901048895,62.640376088246846],[-129.4623447338538,62.62038692652682],[-129.4645837431906,62.59514332983165],[-129.48496681412226,62.584850126396425],[-129.52264270469053,62.57539777256396],[-129.522394753602,62.55220635585394],[-129.48240542077605,62.55107980243201],[-129.45365134390133,62.564712446294436],[-129.43934809032106,62.57793782854551],[-129.386953293082,62.57130453213044],[-129.35656894170202,62.55308035703709],[-129.32427378013057,62.524604170462794],[-129.27430758245833,62.51411890633053],[-129.21247015081332,62.50450738564598],[-129.1862365072797,62.4793191862059],[-129.1596819401895,62.47861825675396],[-129.1740808929555,62.445005245541545],[-129.22271816726416,62.441104075751966],[-129.24390761680777,62.430868757586296],[-129.23849240382393,62.414056239670245],[-129.28485596752367,62.39972151396987],[-129.2630642564401,62.37429236165342],[-129.1894983834872,62.361555349860254],[-129.21422102714942,62.35243628931543],[-129.2562819855606,62.32795508093548],[-129.26454119330697,62.29988070374435],[-129.24594831048975,62.28217252236733],[-129.26967035319728,62.25798251176298],[-129.22174500185014,62.23636482622193],[-129.20501948998978,62.20922319266857],[-129.16332575148425,62.203971336913206],[-129.19388218866482,62.168067764275726],[-129.23724181800966,62.151061355769734],[-129.2357052754128,62.13804861123723],[-129.19978698170027,62.139443424674134],[-129.17613309307137,62.12390016875292],[-129.12886832243566,62.0994570048624],[-129.0730073556533,62.09830718672467],[-129.03399042947382,62.111804367254194],[-128.99907986453044,62.107883781588136],[-128.972499718907,62.11692309323998],[-128.9446647951708,62.11908420309883],[-128.92054779850835,62.095490833795125],[-128.85160993928918,62.09936431732671],[-128.81979546227186,62.08747198397379],[-128.80903905537568,62.048335575638944],[-128.73036016477766,62.04314251390779],[-128.7193860085667,62.06918215407275],[-128.68758145664822,62.08687018951612],[-128.669031639265,62.10907820830919],[-128.63516971797083,62.11820024822333],[-128.5977802074128,62.107188013038495],[-128.54964039424456,62.1162501944094],[-128.51138139020887,62.10035139952128],[-128.43728302982572,62.05493440904079],[-128.41018066795098,62.04280053170852],[-128.38842472762235,62.020103175944655],[-128.3611791942426,62.01656020414141],[-128.35093828508943,62.0329167040456],[-128.37234726260073,62.054165059322855],[-128.4000101250856,62.070383279032036],[-128.41688591072963,62.07353453587953],[-128.46652319982093,62.10677812931753],[-128.49291130121904,62.11983998862746],[-128.32457072761852,62.179389576262224],[-126.59160059783696,62.767237061849286],[-126.5825340980761,62.78676238884303],[-126.61550358369281,62.81787749293368],[-126.6038397955913,62.829601210011205],[-126.58001221921224,62.833885693131755],[-126.55398567697478,62.847219207415705],[-126.5075957007941,62.85723010261913],[-126.4623651054273,62.87289230260881],[-126.44769616587712,62.888895699541806],[-126.44998761754039,62.903488598019266],[-126.43327038737685,62.91901148244769],[-126.43666058242376,62.94360130692959],[-126.45594268510666,62.95534860855707],[-126.47950563557397,62.97992360264364],[-126.48775260773019,62.99657200669157],[-126.475832585256,63.00556341123354],[-126.44493820383289,63.05484260388131],[-126.45762968336831,63.06597070724465],[-126.45634481042185,63.07832098185919],[-126.42243431795049,63.09303679146093],[-126.43830636509006,63.12216409821122],[-126.40179368632678,63.12657760199402],[-126.3792842822975,63.13379109095115],[-126.36573120923453,63.17302178927939],[-126.3525598858412,63.184348900258705],[-126.35900742687345,63.23064840362081],[-126.35287000106275,63.246104386621276],[-126.36714868604747,63.25954730247853],[-126.3575218058188,63.28975411135749],[-126.34184420173868,63.292377908478855],[-126.30972190608503,63.319263890566994],[-126.27942640702973,63.32285850258782],[-126.26542020681774,63.33174039819951],[-126.19434279354272,63.34410510510173],[-126.17388029355858,63.36447990139042],[-126.13964066039762,63.37943669550199],[-126.13440071805684,63.3871264070297],[-126.10325168527754,63.39112670023996],[-126.07730177314446,63.39963170239718],[-126.05706151058787,63.39720340264266],[-126.04306438182562,63.40817311089553],[-126.01889109851719,63.40494621344975],[-125.95105871209783,63.415847005192546],[-125.92470797903609,63.438636309092956],[-125.9238386815729,63.46471290464041],[-125.90958742831583,63.476536298799154],[-125.86624358700074,63.46817500604209],[-125.85042710571331,63.47179968756784],[-125.84219649571786,63.49081811384245],[-125.81860549775821,63.508572704460946],[-125.78574377602146,63.51277009075544],[-125.74399190835048,63.53395378496748],[-125.66238560189935,63.53526881134469],[-125.65233081827503,63.54340088954187],[-125.61738217529982,63.549210695434596],[-125.5977895845199,63.565265000471655],[-125.56616372432931,63.57055189405039],[-125.53774881634976,63.59117070510379],[-125.48749979982477,63.60426050771479],[-125.45872620934098,63.607524992758165],[-125.4292664028166,63.62758648879045],[-125.39777139269232,63.636030860020405],[-125.15480628902122,63.682352164871865],[-125.15802107559342,63.69649760350633],[-125.13528879367894,63.69552560763633],[-125.07214541701691,63.71157478843741],[-125.07764262215287,63.71924539429711],[-125.0459623215282,63.72584369590417],[-125.03166979381373,63.741474713124155],[-125.00439257330223,63.74707039543458],[-124.96533640395401,63.74805719692761],[-124.94594319921582,63.759272409990444],[-124.88444987641131,63.7740535989399],[-124.84771265040659,63.7917612700443],[-124.2070722067113,63.9472142855212],[-123.67434968130868,63.94901530552111],[-123.42669274644646,63.95062576936736],[-122.7993919174011,63.952807393997986],[-122.35567389877562,63.95152578550358],[-122.01621194285032,63.949725498347384],[-121.5807808625825,64.08998696057702],[-121.48215713427791,64.0949237630603],[-121.29764783171568,64.00061168317964],[-121.01546823433848,64.04730864144278],[-121.03296650073851,64.08266484571041],[-120.82345300294611,64.02024150032118],[-120.68317531272909,63.99414980969627],[-120.60854902596608,64.02713924583857],[-120.63865280208815,64.07438205120417],[-120.65837622787447,64.09213711528538],[-120.52355458525169,64.10123697401652],[-120.40183456619553,64.08839103686817],[-119.99568365598662,63.96633959802316],[-119.9968373588286,64.12921584144644],[-119.9984449642581,64.38157917685015],[-119.9996027746636,64.56050465784364],[-119.24121269158377,65.00000010060663],[-119.15316134383829,65.0498637577077],[-119.56741605973163,65.0641254003601],[-119.43846482407208,65.35710474752258],[-118.09730041195938,65.3641183715565],[-117.7406425960708,66.37558991647931],[-117.08701005035894,66.62673899257689],[-116.63108512106432,66.79742651139736],[-117.03841920075646,66.92015948139083],[-117.06545063025507,66.9291793158812],[-117.77821879996002,67.05705125654168],[-118.2855477347007,67.14589504077676],[-118.59419058672931,67.1988642778225],[-118.96651847801466,67.30673923887686],[-119.33340716326285,67.41129089022304],[-119.67985515927995,67.51225344733926],[-120.01416164232968,67.60819981050685],[-120.6307822227021,67.77995976362705]],[[-128.50842004665694,66.3192540117472],[-128.50241916739992,66.32084789172778],[-128.50203988970506,66.23337964672503],[-128.73538081745485,66.23339158183377],[-128.66714078002002,66.251797130922],[-128.64323040024777,66.2687208543512],[-128.63919248815125,66.29400524638291],[-128.57537112427804,66.29302251473027],[-128.5602410377843,66.30236683433897],[-128.55957506755038,66.31549466931581],[-128.50842004665694,66.3192540117472]],[[-125.49035444336607,64.9509233376136],[-125.4606507530262,64.95520767618295],[-125.3706878134028,64.9569135564734],[-125.35310291727414,64.88775636456633],[-125.59782701523321,64.89269113961537],[-125.5951467940426,64.91358474416174],[-125.53887257029986,64.92922377933192],[-125.52785190369435,64.93869407837573],[-125.49035444336607,64.9509233376136]],[[-123.29557553013461,65.21764574687683],[-123.2789094966239,65.19747945106671],[-123.53560207684664,65.16413872182859],[-123.58432693601353,65.22466225747335],[-123.3300371318374,65.25924240155793],[-123.29557553013461,65.21764574687683]],[[-126.62242588579913,65.27435449154935],[-126.64629464941149,65.26723641207413],[-126.66340390433533,65.25224293755217],[-126.6714884740441,65.23416719655896],[-126.87805418504139,65.27681191336298],[-126.91854771601206,65.28733648645061],[-126.89352758788057,65.33061906324],[-126.85880615037867,65.34589871564968],[-126.59628448761175,65.29840665941114],[-126.62242588579913,65.27435449154935]],[[-125.85505075187628,66.95338643976913],[-125.85464932612992,66.94668621239146],[-126.1701332979233,66.95847261830947],[-126.15579655217864,67.05249497953739],[-125.8609005833363,67.05061386886747],[-125.85505075187628,66.95338643976913]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.16636916685094,\"lat\":65.56790583388153},\"year\":\"2021\",\"prov_code\":[\"61\"],\"prov_name_en\":[\"Northwest Territories\"],\"cd_code\":[\"6102\"],\"cd_name_en\":[\"Region 2\"],\"csd_code\":[\"6102063\"],\"csd_name_en\":[\"Region 2\",\"Unorganized\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Territoires du Nord-Ouest\",\"cd_name_fr\":\"Region 2\",\"csd_name_fr\":\"Region 2, Unorganized\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-115.55228221402258,60.82783568051488],[-115.60005688611751,60.82800870921828],[-115.6575414838788,60.8380159043442],[-115.69418148240747,60.85026611139329],[-115.71918241188747,60.86391158292381],[-115.7313621718967,60.861319655697784],[-115.72042048296589,60.85195330231488],[-115.74999019924435,60.83697879689818],[-115.77321179883224,60.83048790336872],[-115.7697321803711,60.81507169180446],[-115.79294848750797,60.7963969012361],[-115.81792319415123,60.790840599187824],[-115.83698437293202,60.77190359978386],[-115.8217291109257,60.75272235263653],[-115.73562009961292,60.74244332423225],[-115.6777721371672,60.74339070824926],[-115.60376078534186,60.7370526719177],[-115.59531061432061,60.73291308837378],[-115.55228221402258,60.82783568051488]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-115.6885804614523,\"lat\":60.79018012622938},\"year\":\"2021\",\"prov_code\":[\"61\"],\"prov_name_en\":[\"Northwest Territories\"],\"cd_code\":[\"6104\"],\"cd_name_en\":[\"Region 4\"],\"csd_code\":[\"6104017\"],\"csd_name_en\":[\"Hay River Dene 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Territoires du Nord-Ouest\",\"cd_name_fr\":\"Region 4\",\"csd_name_fr\":\"Hay River Dene 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.65328216002665,60.90266627788549],[-113.60946343455704,60.911365694626134],[-113.53578255807938,60.93399675353858],[-113.51518038125285,60.95980228304721],[-113.54529912286154,61.00283798167701],[-113.55968325180173,61.05910366343304],[-113.46052990773201,61.11381396800038],[-113.52560015946383,61.1904725638651],[-113.48912982753053,61.21586718250264],[-113.49464892931535,61.23038117639603],[-113.51820339671494,61.236254695411326],[-113.65935585086936,61.21887222850751],[-113.68252768018245,61.20683885128191],[-113.79141453039684,61.183141130017056],[-113.92452643547304,60.943661912940954],[-113.8765081608412,60.89262950411327],[-113.82318436484562,60.877214870979266],[-113.7081347761654,60.89174873878562],[-113.65328216002665,60.90266627788549]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.69145371176835,\"lat\":61.04899267217075},\"year\":\"2021\",\"prov_code\":[\"61\"],\"prov_name_en\":[\"Northwest Territories\"],\"cd_code\":[\"6105\"],\"cd_name_en\":[\"Region 5\"],\"csd_code\":[\"6105018\"],\"csd_name_en\":[\"Fort Resolution\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Hamlet\",\"prov_name_fr\":\"Territoires du Nord-Ouest\",\"cd_name_fr\":\"Region 5\",\"csd_name_fr\":\"Fort Resolution\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.19161271854472,46.93675560593085],[-54.18153955415878,46.906977643669876],[-54.16037062380095,46.91300969186901],[-54.16026532030408,46.92880586393378],[-54.17935382457766,46.942332588456246],[-54.19161271854472,46.93675560593085]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.1752883552585,\"lat\":46.92456824843504},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001228\"],\"csd_name_en\":[\"St. Bride's\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"St. Bride's\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.96844008934851,47.71033198770653],[-53.96416601633063,47.7190013049777],[-53.93061454692987,47.71666573563977],[-53.939977881629325,47.73481331406292],[-53.96568113914951,47.73381537915309],[-53.96844008934851,47.71033198770653]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.950740607266404,\"lat\":47.725404527506264},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001267\"],\"csd_name_en\":[\"Southern Harbour\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Southern Harbour\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.58550728985594,47.403377495404506],[-53.54032290148101,47.40580195668405],[-53.504800818625604,47.4040740133698],[-53.50645571919372,47.41584704667105],[-53.51053545648292,47.4525187467638],[-53.52753459529673,47.44743549108638],[-53.56272249528982,47.450344682515926],[-53.57486247741908,47.437302703802814],[-53.58550728985594,47.403377495404506]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.542703643079385,\"lat\":47.425730841320664},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001298\"],\"csd_name_en\":[\"Whitbourne\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Whitbourne\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.18402256529965,47.76950789839427],[-53.197877199720736,47.77905691690043],[-53.222392685903486,47.78707061728844],[-53.25374723394791,47.79161101088855],[-53.272396669823735,47.7890465048975],[-53.27135940485242,47.75308879619481],[-53.240776087646964,47.752194887838264],[-53.18402256529965,47.76950789839427]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.23780104658478,\"lat\":47.77179706043503},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001365\"],\"csd_name_en\":[\"Victoria\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Victoria\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-52.76556239457077,47.28752449924816],[-52.77236148669222,47.29654259009928],[-52.79585131186446,47.309651102145914],[-52.766961496694556,47.3125877093545],[-52.74617610351571,47.3107339864966],[-52.74030282190062,47.331042314815335],[-52.810100682678524,47.35924664830294],[-52.80796217925768,47.35354568648541],[-52.83878080465353,47.33025981980528],[-52.8409808042936,47.30994420581828],[-52.82780127869501,47.300997397077886],[-52.79947187499274,47.29712118933459],[-52.76556239457077,47.28752449924816]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-52.79467428054319,\"lat\":47.323713240475925},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001557\"],\"csd_name_en\":[\"Bay Bulls\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Bay Bulls\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.88353436516542,47.53265839184042],[-54.88205408489549,47.55213939268809],[-54.90703689280715,47.5437840887885],[-54.89779779157808,47.53582104084744],[-54.88353436516542,47.53265839184042]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.89166754093238,\"lat\":47.54203927423033},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1002\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"1002027\"],\"csd_name_en\":[\"Bay L'Argent\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Bay L'Argent\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.86276568129353,47.47178678957384],[-55.83378971520105,47.45875180438086],[-55.812162502937966,47.45577269426998],[-55.796657395624415,47.464634795192474],[-55.79232681237485,47.47921710117249],[-55.79705160264737,47.495877128116035],[-55.83448081813391,47.497485241644426],[-55.86276568129353,47.47178678957384]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.822798384263486,\"lat\":47.47720567323314},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1003\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"1003008\"],\"csd_name_en\":[\"Harbour Breton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Harbour Breton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-57.066169097746915,49.154859284504475],[-57.06697812509485,49.17741991862133],[-57.12959520178025,49.172585092081114],[-57.12266370021102,49.15730119139717],[-57.15233045273972,49.137148682439765],[-57.06556364824234,49.13721003742276],[-57.066169097746915,49.154859284504475]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-57.09921832850004,\"lat\":49.15495931823814},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1005\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"1005006\"],\"csd_name_en\":[\"Howley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Howley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.66350374529409,48.92407334573452],[-55.62899219917819,48.92706291041697],[-55.56121179859916,48.96760109134989],[-55.580491612130274,48.98447858913585],[-55.63650072537205,48.95430676645103],[-55.64685132466691,48.95352739648352],[-55.648835740591146,48.99620558646632],[-55.73373867182203,48.97810504360715],[-55.73764806953096,48.93893027687895],[-55.71954570874586,48.92740769715389],[-55.69517458078426,48.93107300635617],[-55.687130399712885,48.93744200650946],[-55.66776271221686,48.937358107810205],[-55.66350374529409,48.92407334573452]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.663744728085234,\"lat\":48.957538412244176},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1006\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"1006017\"],\"csd_name_en\":[\"Grand Falls-Windsor\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Grand Falls-Windsor\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-56.52188096125472,48.819591834248236],[-56.54351134873007,48.82032245377135],[-56.54579180286167,48.80426429170967],[-56.522777990679856,48.80776910589411],[-56.52188096125472,48.819591834248236]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-56.53405354910742,\"lat\":48.8129050587295},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1006\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"1006028\"],\"csd_name_en\":[\"Millertown\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Millertown\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.090024345032774,48.67710620475397],[-53.08239777935967,48.69190179720343],[-53.09804909376162,48.692882385693466],[-53.09990449807489,48.67417280014024],[-53.11888009579799,48.66579729409433],[-53.12088050049459,48.646090207044764],[-53.14089148090447,48.5948592509148],[-53.09021570603516,48.58837330475604],[-53.08815206256809,48.59766938162859],[-53.06796585747754,48.61741139007246],[-53.089440936460356,48.636101104117394],[-53.08248451925361,48.664196145260696],[-53.090024345032774,48.67710620475397]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.103990493999895,\"lat\":48.630412295182815},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1007\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"1007023\"],\"csd_name_en\":[\"Bonavista\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Bonavista\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.80243103560168,49.665460704864465],[-54.75657831371309,49.63801318929309],[-54.76678401104188,49.6182500938217],[-54.71479877262443,49.605760999947314],[-54.72211621454919,49.62916662322427],[-54.72156708348895,49.64324398623893],[-54.702880723548326,49.66397329507285],[-54.736788394503144,49.66470018444123],[-54.74468621278815,49.67531370352712],[-54.760186705898896,49.672037911324075],[-54.76133599057325,49.653595803613406],[-54.77254408439636,49.653654795526805],[-54.785220590455694,49.679316990256986],[-54.80243103560168,49.665460704864465]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.7461151922728,\"lat\":49.64437438199496},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008035\"],\"csd_name_en\":[\"Twillingate\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Twillingate\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.222550320358536,49.25688010587124],[-55.21979574321131,49.27894264563262],[-55.22485071667992,49.313057406753636],[-55.214862895542176,49.3367710468565],[-55.180891255593345,49.37171608695133],[-55.15524753511239,49.40556201391156],[-55.13721145988226,49.4203804912061],[-55.12292179933763,49.439228909372375],[-55.11673308360889,49.455809283473464],[-55.118912331099345,49.47441292567025],[-55.13007879076523,49.50290657917529],[-55.13695902892511,49.53316133412617],[-55.17409971216568,49.56625346743559],[-55.17088244799693,49.68389681869284],[-55.16576583752057,49.84041617848055],[-55.16465537268396,49.894532003513014],[-55.29256075194739,49.74684611729961],[-55.44450647732946,49.56856144750667],[-55.51450129102783,49.53453292012895],[-55.520055970698465,49.50096454936507],[-55.53863377067164,49.45730546584429],[-55.56729852727815,49.425387502238195],[-55.581991519705944,49.37748164027915],[-55.58111607885861,49.34694149809947],[-55.592182124299434,49.32835589752505],[-55.61955249212435,49.31817989374534],[-55.65034850845701,49.29809064711789],[-55.62664445845071,49.29391953429285],[-55.64165184688309,49.27704910208661],[-55.6341651241038,49.265476859001865],[-55.68367760690468,49.224897107439155],[-55.714972051864386,49.22495000785935],[-55.733273506811884,49.2101289975063],[-55.746285121837175,49.18637969688375],[-55.76224265813366,49.17274032154794],[-55.79338646980871,49.1671567403896],[-55.79222088842626,49.15516943366015],[-55.80161922896682,49.13916268599003],[-55.78235245266567,49.11856184334931],[-55.78664410280636,49.10386492636014],[-55.80459811120634,49.092073077666775],[-55.7800990245909,49.078340913137865],[-55.78688292733275,49.062257609388574],[-55.77853810596465,49.056245952274935],[-55.75245306190607,49.06667723863765],[-55.72502092355352,49.08242024065446],[-55.69891329675789,49.106059305133805],[-55.69178552492461,49.14563115647183],[-55.67323372532672,49.16347946766414],[-55.65048944897091,49.17562197470816],[-55.62429295405269,49.1826158136603],[-55.62412701078006,49.211402222381196],[-55.599771213434344,49.21120304407266],[-55.58548296709288,49.232129767770516],[-55.565797037350485,49.221434691129005],[-55.52956334210758,49.221537506740134],[-55.48419383802324,49.25095555590031],[-55.45672649312782,49.2530169031535],[-55.40552654911231,49.2513835524343],[-55.36571037031359,49.224761534711895],[-55.328278036380226,49.230232671546325],[-55.28555849555751,49.217979180224766],[-55.22463426956569,49.24967031800043],[-55.222550320358536,49.25688010587124]],[[-55.27311259843206,49.311573669643636],[-55.24135868680865,49.31267307348823],[-55.24974011442299,49.30236530559611],[-55.23843900515249,49.268859493130904],[-55.24538279357882,49.25685490150678],[-55.281469555906206,49.235398215240956],[-55.30027580631415,49.27055729379139],[-55.292553008570174,49.269934612167845],[-55.285751263361625,49.31171192737693],[-55.27311259843206,49.311573669643636]],[[-55.4420207577334,49.29446315670765],[-55.45148065601536,49.294251414651946],[-55.45770399951815,49.330532904023734],[-55.39700211900185,49.356589045732626],[-55.39835144193733,49.3236963266113],[-55.373439492320884,49.34083389932813],[-55.37673582323487,49.30059624393471],[-55.4420207577334,49.29446315670765]],[[-55.37146659737269,49.49828399778849],[-55.37576028759177,49.48186990484681],[-55.412645194043805,49.45962519556981],[-55.46588739477275,49.45385740821204],[-55.465113612099756,49.49060189052443],[-55.44920209313027,49.51021701077937],[-55.42281239434236,49.49936979869877],[-55.395639176197314,49.503790202532116],[-55.390118092123174,49.491360492906466],[-55.37146659737269,49.49828399778849]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.37650755352373,\"lat\":49.444812175824005},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008046\"],\"csd_name_en\":[\"Division No.  8\",\"Subd. E\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Division No.  8, Subd. E\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.60731889078082,49.537332603131496],[-55.616000632337425,49.52553379253764],[-55.65007185277038,49.51687251559074],[-55.64998582416157,49.50278299378607],[-55.58091304649793,49.52193517301735],[-55.604061411657526,49.529699801260044],[-55.60731889078082,49.537332603131496]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.62006160140167,\"lat\":49.518144246840876},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008054\"],\"csd_name_en\":[\"Triton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Triton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.80815760369617,49.53126105172751],[-55.82568568176375,49.54896110425176],[-55.87600049892254,49.53708389008913],[-55.87017390525273,49.52788449144187],[-55.84302738302006,49.537206702227714],[-55.8086199291291,49.529948464719624],[-55.80815760369617,49.53126105172751]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.841471204812564,\"lat\":49.538259407217645},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008062\"],\"csd_name_en\":[\"Port Anson\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Port Anson\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-57.919218604793066,49.7307215792192],[-57.94413129898679,49.72674421750283],[-57.949671309459795,49.71203941821999],[-57.918956541182766,49.71219879782396],[-57.919218604793066,49.7307215792192]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-57.93244578124005,\"lat\":49.72014780704516},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1009\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"1009037\"],\"csd_name_en\":[\"Sally's Cove\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Sally's Cove\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.8914239750882,52.9375584590058],[-66.8891090171434,52.90868719345593],[-66.87679498638933,52.8920967756744],[-66.86071889370085,52.88217496815989],[-66.955210989974,52.882191700089315],[-66.94765606289785,52.86509991543645],[-66.95820946284786,52.85828671562574],[-66.95815507892873,52.84233411605101],[-66.82960902391976,52.841970789429816],[-66.8527112656197,52.881526644980475],[-66.84696930846918,52.91408530377654],[-66.8620960212586,52.938110600760375],[-66.88896117007015,52.93966537198474],[-66.8914239750882,52.9375584590058]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.88938786386336,\"lat\":52.87618183893933},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1010\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"1010034\"],\"csd_name_en\":[\"Wabush\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Wabush\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.16890349756062,46.37897305440676],[-63.16345458466158,46.389268171695136],[-63.16833901275886,46.42385021464074],[-63.147108338544385,46.428641701112454],[-63.133413750201974,46.44714671268638],[-63.190989638708245,46.468695983578364],[-63.250906023340974,46.48661501818757],[-63.27852179368883,46.447040767634064],[-63.295781496789616,46.452771796420215],[-63.30973678520973,46.4325946816657],[-63.32605073242062,46.429382401828576],[-63.33578051604074,46.4365966009605],[-63.34622570942737,46.45942675260735],[-63.344122669698855,46.46752615685428],[-63.34807619425491,46.47843455028721],[-63.3766437270221,46.468955434578184],[-63.4222312048201,46.46188254765938],[-63.418349045275164,46.448680940243115],[-63.4484172269125,46.444858047793915],[-63.443934855640904,46.432144720017426],[-63.45440294731434,46.418201530697075],[-63.4856508472236,46.41173396041072],[-63.49445859175071,46.40065917395041],[-63.48787020133437,46.374235215205026],[-63.47744203389827,46.35539767695455],[-63.457178343874844,46.3373540742591],[-63.43465809928927,46.33925113823861],[-63.403744732406864,46.336457448567934],[-63.36850014912342,46.33724584518806],[-63.35444062358651,46.32629142338983],[-63.327314356216405,46.3326729072064],[-63.29584615051292,46.31732196968061],[-63.27376301651393,46.32147510383973],[-63.23994316864662,46.33020922021006],[-63.229867617017355,46.342207615249706],[-63.23669708702411,46.35538302347529],[-63.21895306864114,46.3566256654365],[-63.2222572193623,46.37519742154981],[-63.217830116503976,46.39014922889639],[-63.202845926086866,46.393260640920346],[-63.19408517224051,46.37548516409084],[-63.16890349756062,46.37897305440676]],[[-63.33447737688195,46.37258466232976],[-63.33077511790446,46.35786127329362],[-63.34246906827629,46.34359111707063],[-63.366301329822186,46.34580256805477],[-63.36589150391375,46.36152594195463],[-63.33447737688195,46.37258466232976]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.319425588517895,\"lat\":46.40078845786556},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1102\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1102017\"],\"csd_name_en\":[\"New Glasgow\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Fire District\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"New Glasgow\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.11991967051646,46.333603961295125],[-63.12777801646136,46.33223372745694],[-63.14410551833538,46.372824071844114],[-63.15119674822332,46.370479825231754],[-63.1571232831066,46.360203423708505],[-63.14433992690786,46.3307281585438],[-63.13254912567858,46.30469523954317],[-63.114159011526255,46.30548901289349],[-63.12240577156166,46.31443925064387],[-63.11991967051646,46.333603961295125]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.13733484465166,\"lat\":46.33683119573243},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1102\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1102050\"],\"csd_name_en\":[\"Union Road\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Union Road\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.06198569901991,46.455613166544204],[-64.07885599093399,46.45599746230933],[-64.08583589317416,46.461463550183595],[-64.0888705985715,46.44948799564944],[-64.06198569901991,46.455613166544204]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.08029505209254,\"lat\":46.454613098881694},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1103\"],\"cd_name_en\":[\"Prince\"],\"csd_code\":[\"1103027\"],\"csd_name_en\":[\"Abram-Village\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Prince\",\"csd_name_fr\":\"Abram-Village\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.39582100787018,44.23231761043061],[-65.39743701447274,44.230354276315886],[-65.48345151516017,44.05929649073405],[-65.52326455681603,43.987228754402715],[-65.55668906445614,43.92141418320793],[-65.5136043700701,43.90702522479737],[-65.49492923008467,43.879288770976025],[-65.4950200147916,43.86679578761615],[-65.50890378422257,43.85524752124607],[-65.51564198321104,43.83268022459629],[-65.4965674957004,43.813224337029474],[-65.51476726129002,43.795815639222816],[-65.50267310080939,43.78927787734505],[-65.50690944458826,43.769694345665094],[-65.51640040219901,43.76110498503322],[-65.51203590015828,43.72887905651961],[-65.5195752956335,43.709075203692215],[-65.48239439014866,43.66734781369077],[-65.48618114774187,43.65455366855354],[-65.4782727760809,43.60702984491715],[-65.44874630506,43.589720927132994],[-65.4186485547528,43.553980272910074],[-65.39916415357155,43.540160484039205],[-65.351774850106,43.52658473974087],[-65.2964981784813,43.501540101944016],[-65.0699473224837,43.64331814868445],[-65.00000000707267,43.68760950838717],[-64.96914408522892,43.70991450815706],[-64.95040940030998,43.73437523531922],[-64.95059544548201,43.751852282144014],[-64.9095996954119,43.75195709070232],[-64.92119413589019,43.79839813992545],[-64.9574250344144,43.85858250079136],[-65.12893319451459,44.00811181520226],[-65.39582100787018,44.23231761043061]],[[-65.10467182253399,43.7134818296084],[-65.09620444354086,43.70349123797909],[-65.1007380683787,43.68729221354844],[-65.11557300277927,43.69617158988766],[-65.1180097877749,43.71147646676114],[-65.10467182253399,43.7134818296084]],[[-65.31845458810537,43.78794158098722],[-65.29372149145861,43.75592840010049],[-65.31441886702034,43.75006526156835],[-65.32950019286613,43.769672593006895],[-65.3458569932234,43.7803777048488],[-65.31845458810537,43.78794158098722]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.27237024673653,\"lat\":43.83499888350915},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1201\"],\"cd_name_en\":[\"Shelburne\"],\"csd_code\":[\"1201006\"],\"csd_name_en\":[\"Shelburne\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Shelburne\",\"csd_name_fr\":\"Shelburne\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.32785345664547,45.756542945340385],[-64.33570724301592,45.768543170391666],[-64.32302602742323,45.78259651812268],[-64.28974130463081,45.80142385986804],[-64.28181236147171,45.81472240264699],[-64.28648198251702,45.83071746058014],[-64.2954520807023,45.84025733087558],[-64.33058231312748,45.85694899365192],[-64.35204323062925,45.85303486593151],[-64.36106474638723,45.83280281296869],[-64.39659142778416,45.80196981574906],[-64.42511235615267,45.77305622680493],[-64.44522906370743,45.760582393204125],[-64.4673953237216,45.73342171776075],[-64.47629771318923,45.70995505926241],[-64.49900622536136,45.69510132071166],[-64.54013302300963,45.684271655015024],[-64.61164381389268,45.644892998154646],[-64.76920673688818,45.55996037191426],[-64.80607003726526,45.536489585952054],[-64.93374955553675,45.449457267183526],[-65.0001685465624,45.27275094999593],[-65.02627952734942,45.252977609569065],[-65.03158317661565,45.22815041172792],[-65.03658942131572,45.16533066514652],[-65.03926316491642,45.093530859703684],[-65.03647106211851,45.09461543910363],[-64.8400176979926,45.17760406840941],[-64.76704189681575,45.19357244412149],[-64.74506154409733,45.20025679644431],[-64.66774545281562,45.2366124062343],[-64.59213845506898,45.27649836452227],[-64.53919823914867,45.321285437817316],[-64.52751387123685,45.32886438955161],[-64.46360265489017,45.345087406675866],[-64.3231484530157,45.34599819520424],[-64.31869890305254,45.36840706169554],[-64.29932096109059,45.4083368005473],[-64.32285998580763,45.422112142607794],[-64.33731327043589,45.42632312759127],[-64.3315795265547,45.44722771474978],[-64.33353940193085,45.465908373676214],[-64.34033028400718,45.479773413764754],[-64.33572383371586,45.49831471004509],[-64.34533261209505,45.5279416014473],[-64.35051781104124,45.570369901359975],[-64.35136819858737,45.606407590596014],[-64.36834869896613,45.634133796731426],[-64.38210501100455,45.64561574268772],[-64.37702102043707,45.65930377915552],[-64.38594438893605,45.666401794010625],[-64.36963309998922,45.69962977948361],[-64.36993337826445,45.712211605264535],[-64.36069492900654,45.72786390378583],[-64.33600591558498,45.74195494294238],[-64.32785345664547,45.756542945340385]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.64849126130197,\"lat\":45.43689888883271},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1211\"],\"cd_name_en\":[\"Cumberland\"],\"csd_code\":[\"1211001\"],\"csd_name_en\":[\"Cumberland\",\"Subd. A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of county municipality \\/ Subdivision municipalit\\u00e9 de comt\\u00e9\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Cumberland\",\"csd_name_fr\":\"Cumberland, Subd. A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.82324375220175,45.14721678891831],[-66.83766922802954,45.15130621276763],[-66.86648102066452,45.145875024424846],[-66.86130349215627,45.130911474305705],[-66.85080628675809,45.12226832603858],[-66.83656411346648,45.12125452565774],[-66.82446125704202,45.102196941781806],[-66.79827976345493,45.11435398025339],[-66.8100108818829,45.14683111602587],[-66.82324375220175,45.14721678891831]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.82986979944413,\"lat\":45.130402853474024},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1302\"],\"cd_name_en\":[\"Charlotte\"],\"csd_code\":[\"1302018\"],\"csd_name_en\":[\"St. George\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town \\/ Ville\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Charlotte\",\"csd_name_fr\":\"St. George\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.25861284781871,45.1916943967026],[-67.27362786468262,45.21277746373392],[-67.30166217491768,45.20326417084194],[-67.30051116539197,45.19342765435707],[-67.32931850323322,45.17362046974447],[-67.29663955185029,45.14756728590264],[-67.30163821882064,45.15700928139501],[-67.29099933169088,45.18759257832492],[-67.27202780034159,45.19119439043518],[-67.25898239301296,45.18555271228703],[-67.25861284781871,45.1916943967026]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.29471107304002,\"lat\":45.185614366518315},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1302\"],\"cd_name_en\":[\"Charlotte\"],\"csd_code\":[\"1302037\"],\"csd_name_en\":[\"St. Stephen\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town \\/ Ville\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Charlotte\",\"csd_name_fr\":\"St. Stephen\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.55109337431061,45.484569974406554],[-65.4168510790968,45.523620683899736],[-65.2986903084524,45.5591563876059],[-65.11935466660965,45.61508978811409],[-65.13112771809655,45.64571887941061],[-65.32206536025018,45.602272087363744],[-65.39110735266816,45.5987535478248],[-65.59035503137414,45.589286007361224],[-65.55109337431061,45.484569974406554]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.3943598427906,\"lat\":45.568659436895246},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1305\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1305001\"],\"csd_name_en\":[\"Hammond\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Hammond\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.38378887807953,45.82755110098058],[-65.25977554273311,45.91883576313263],[-65.28312445627292,45.96697305030669],[-65.34258209506896,46.098773198863135],[-65.52207578336753,45.97358676777895],[-65.47758149509538,45.87083464443282],[-65.46331748717746,45.87175839963704],[-65.44986120597417,45.85353820758494],[-65.38378887807953,45.82755110098058]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.38847302756213,\"lat\":45.95234082290979},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1305\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1305028\"],\"csd_name_en\":[\"Havelock\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Havelock\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.71883964717759,45.75003752299465],[-64.744298073333,45.740848899145064],[-64.75030382950358,45.75059319882577],[-64.81867903375591,45.816336024230225],[-64.9402161811322,45.75151069698106],[-64.92577730403386,45.71878463376888],[-64.90511112801123,45.67633707716806],[-64.88135463054594,45.62266217248372],[-64.84095239517539,45.53701781351097],[-64.80607003726526,45.536489585952054],[-64.76920673688818,45.55996037191426],[-64.61164381389268,45.644892998154646],[-64.59517645013517,45.731030465834316],[-64.67559416683184,45.74364938222334],[-64.69448902022418,45.73545474202582],[-64.71883964717759,45.75003752299465]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.77720543757664,\"lat\":45.67772541050915},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1306\"],\"cd_name_en\":[\"Albert\"],\"csd_code\":[\"1306004\"],\"csd_name_en\":[\"Harvey\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Albert\",\"csd_name_fr\":\"Harvey\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.07798576885446,46.04779105708314],[-64.09485023400558,46.05727606540178],[-64.10090077924482,46.047814578066045],[-64.089466065597,46.03901764905058],[-64.07798576885446,46.04779105708314]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.09038178647165,\"lat\":46.04803128289384},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1307\"],\"cd_name_en\":[\"Westmorland\"],\"csd_code\":[\"1307002\"],\"csd_name_en\":[\"Port Elgin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Westmorland\",\"csd_name_fr\":\"Port Elgin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.02874427989676,46.021371612272034],[-63.9577776187741,46.035842918074],[-63.73217642471491,46.07748346340125],[-63.65973876657765,46.08413134638001],[-63.614711611238334,46.09309699082309],[-63.67909425231397,46.158540764417495],[-63.74911911858621,46.22954637254677],[-63.87971415636225,46.221459793539175],[-64.00535321215222,46.22519645348833],[-64.11137397622346,46.230967540739535],[-64.1727527243334,46.23916303110216],[-64.27431600124595,46.25002879634647],[-64.26894979309873,46.235294408308214],[-64.22946300018985,46.22847058843144],[-64.22754526307601,46.22494653007949],[-64.21073178025134,46.213108205273564],[-64.16582190288874,46.19942269522706],[-64.14189151777221,46.18257519878862],[-64.14843875497985,46.17159086320835],[-64.13180440142911,46.13148369277812],[-64.15961062063423,46.12660199537883],[-64.1619041919073,46.11246320473937],[-64.13735710977014,46.106800891910304],[-64.14417602319706,46.08389753355901],[-64.09485023400558,46.05727606540178],[-64.07798576885446,46.04779105708314],[-64.02874427989676,46.021371612272034]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.93026786104787,\"lat\":46.14025782460372},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1307\"],\"cd_name_en\":[\"Westmorland\"],\"csd_code\":[\"1307004\"],\"csd_name_en\":[\"Botsford\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Westmorland\",\"csd_name_fr\":\"Botsford\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.05889800099594,46.92639772210036],[-64.89933622276695,47.01663133215598],[-64.82706750269514,47.05643209110565],[-64.80151715454167,47.06645343398594],[-64.77855869310767,47.082681092871795],[-64.84203652161257,47.14410203739001],[-64.86179201166253,47.14224100692642],[-65.08616041359689,47.14188068123663],[-65.16251516860487,47.12391961366005],[-65.16959736762318,47.075606049239454],[-65.19487200052497,47.05164334118904],[-65.21354875006348,47.04169011622771],[-65.22259804885267,47.02635016261569],[-65.20055705571781,47.01351496202052],[-65.20933332089133,47.003932799015175],[-65.05889800099594,46.92639772210036]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.01554638059908,\"lat\":47.05514542064909},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1309\"],\"cd_name_en\":[\"Northumberland\"],\"csd_code\":[\"1309001\"],\"csd_name_en\":[\"Hardwicke\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Northumberland\",\"csd_name_fr\":\"Hardwicke\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.05675166272474,45.50357014162628],[-66.97100006828674,45.60001807921519],[-66.8462450978325,45.74360366967166],[-66.91806142384618,45.77070521693359],[-66.99481123826797,45.80020796164114],[-67.028145011844,45.81289139371792],[-67.10168596263898,45.72788731021631],[-67.21212954088581,45.60110821312124],[-67.29567961764697,45.50582481022053],[-67.19020051600681,45.50483694186476],[-67.05675166272474,45.50357014162628]],[[-67.01019531812106,45.7323788980103],[-66.99177329010737,45.73385547792207],[-67.00000000119648,45.7213010037785],[-67.01019531812106,45.7323788980103]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.06060737826373,\"lat\":45.64208000383455},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1310\"],\"cd_name_en\":[\"York\"],\"csd_code\":[\"1310004\"],\"csd_name_en\":[\"Manners Sutton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"York\",\"csd_name_fr\":\"Manners Sutton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.9310079236054,45.87520657668967],[-66.97622361302051,45.884568501375774],[-67.00173798738551,45.89671470290959],[-67.01896837965148,45.91032755618079],[-67.05503266802063,45.920824012472686],[-67.06891694155922,45.92782948719767],[-67.10430221143352,45.88561569492789],[-67.20202926937857,45.77176787791569],[-67.25255742214597,45.711131071071506],[-67.22712257523267,45.66183170214782],[-67.23292568751594,45.63003187401657],[-67.21212954088581,45.60110821312124],[-67.10168596263898,45.72788731021631],[-67.028145011844,45.81289139371792],[-66.99481123826797,45.80020796164114],[-66.9310079236054,45.87520657668967]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.11101077237834,\"lat\":45.78473542436902},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1310\"],\"cd_name_en\":[\"York\"],\"csd_code\":[\"1310016\"],\"csd_name_en\":[\"Prince William\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"York\",\"csd_name_fr\":\"Prince William\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.58326754665917,45.911773076495095],[-66.59893520528722,45.92292921512068],[-66.60447719725293,45.93844182277858],[-66.54977687838785,46.001801528602684],[-66.59502322662642,46.01291340360295],[-66.61920527959442,45.98520037726005],[-66.62172604293778,45.98683483437075],[-66.59916806767508,46.01425744405987],[-66.60594434627517,46.016330685396845],[-66.62475376439522,46.022332615320416],[-66.67715973450758,46.0207214457985],[-66.69746552083721,45.99159211931935],[-66.71982950480601,45.993253418542125],[-66.73372491792244,45.97664098471532],[-66.69565771379342,45.977276306525674],[-66.68924479858941,45.96671939963201],[-66.74788659799027,45.967233000396746],[-66.78280541466036,45.97152389629567],[-66.78101769267627,45.95857213888764],[-66.71321642107768,45.95864344227901],[-66.70807978084784,45.950609796935716],[-66.71220655138228,45.93121448805399],[-66.69547888357617,45.91993133843333],[-66.64069182863116,45.88339335355665],[-66.61917380458019,45.86835709142675],[-66.60180470094866,45.889480796302585],[-66.58506558453638,45.890063499796874],[-66.55877901053914,45.90164980542489],[-66.58326754665917,45.911773076495095]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.64393792307747,\"lat\":45.95597353281754},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1310\"],\"cd_name_en\":[\"York\"],\"csd_code\":[\"1310032\"],\"csd_name_en\":[\"Fredericton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City \\/ Cit\\u00e9\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"York\",\"csd_name_fr\":\"Fredericton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.65776842111836,46.17598786748124],[-67.67722139535957,46.185887782053356],[-67.68585783877268,46.19657283990322],[-67.70100613921399,46.20042829912008],[-67.71049966264094,46.212099767662835],[-67.72683494790692,46.21487965627681],[-67.7460650083754,46.225825031653386],[-67.75301504293579,46.218944065297286],[-67.78162008398435,46.22658744548138],[-67.78105155488679,46.07299636652559],[-67.78123223553025,45.94345403718524],[-67.71573330562974,45.942733802941895],[-67.70739945430526,45.954713667898154],[-67.69636446529513,45.956441707112425],[-67.68304455486823,45.97458480334284],[-67.66909626992877,45.98585126148345],[-67.64193775920366,45.976867169193234],[-67.63212450400924,45.978493279952986],[-67.67313526550092,46.088792198335135],[-67.68619001849173,46.09868490430389],[-67.69160230814175,46.113256710624626],[-67.67804351625851,46.11576833529156],[-67.6607424111191,46.17550910573235],[-67.65776842111836,46.17598786748124]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.72460368399481,\"lat\":46.0775400600725},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1311\"],\"cd_name_en\":[\"Carleton\"],\"csd_code\":[\"1311001\"],\"csd_name_en\":[\"Richmond\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Carleton\",\"csd_name_fr\":\"Richmond\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.41022098278104,48.02357023908887],[-66.42396296434818,48.03388094563393],[-66.51792824800191,48.007941342005296],[-66.53540255734313,48.02269794179577],[-66.54764877078227,48.017892250347636],[-66.54562399486288,47.9964469996118],[-66.58060742475232,47.98917867273466],[-66.59607977799193,47.979284848418345],[-66.58849399882241,47.95879850786796],[-66.56505553655042,47.95735745726708],[-66.42713717043716,47.993274159747656],[-66.42140521866004,47.98391876704367],[-66.37899916156317,47.9897746486089],[-66.37686583687139,47.98938574874072],[-66.37137612419482,48.00391850509927],[-66.39404074187009,48.0249967605864],[-66.41022098278104,48.02357023908887]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.48444927872852,\"lat\":47.9959359289523},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1314\"],\"cd_name_en\":[\"Restigouche\"],\"csd_code\":[\"1314011\"],\"csd_name_en\":[\"Eel River Crossing\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Restigouche\",\"csd_name_fr\":\"Eel River Crossing\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.75615769400027,47.9584085801128],[-66.78732279157504,47.96095484053733],[-66.79920982259665,47.965584692895156],[-66.80801859243019,47.97849965277753],[-66.82299951106717,47.973304694306215],[-66.8387138538312,48.00064323477579],[-66.85308608276578,48.001449832349394],[-66.87770833176636,47.99342952349882],[-66.90905500410373,47.987616555133634],[-66.88255508560182,47.93529775725206],[-66.87573722130901,47.91593874445924],[-66.87666832436327,47.79123382398604],[-66.87709320618863,47.61590394439522],[-66.87591214559913,47.54378780337761],[-66.87691929346721,47.3990056473463],[-66.65433332856435,47.4501323912849],[-66.65441293991024,47.6588817432022],[-66.65453133072558,47.917926751303526],[-66.70853304235271,47.90431027070369],[-66.70006435016832,47.8898921613772],[-66.70396556053956,47.87823568181447],[-66.73899345583705,47.86976594868132],[-66.74008860192312,47.87792382335062],[-66.76489842136652,47.87295743953233],[-66.77895358507065,47.88261032569441],[-66.80998719987201,47.88663949978627],[-66.8188200806932,47.9195691592676],[-66.80844548136533,47.92731567315622],[-66.7766905062134,47.93341509616337],[-66.78017379031056,47.94225744008529],[-66.75047155690943,47.948257756517954],[-66.75615769400027,47.9584085801128]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.77297355361769,\"lat\":47.68048130462241},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1314\"],\"cd_name_en\":[\"Restigouche\"],\"csd_code\":[\"1314012\"],\"csd_name_en\":[\"Addington\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Restigouche\",\"csd_name_fr\":\"Addington\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.87691929346721,47.3990056473463],[-66.87591214559913,47.54378780337761],[-66.87709320618863,47.61590394439522],[-66.87666832436327,47.79123382398604],[-66.87573722130901,47.91593874445924],[-66.88255508560182,47.93529775725206],[-66.90905500410373,47.987616555133634],[-66.9212708559644,47.984605090105056],[-66.94284433405937,47.970430491914044],[-66.94782759970875,47.95401389797874],[-66.96087086338933,47.94689358331627],[-66.97029659055464,47.91738263224425],[-66.95054943452372,47.909429785926946],[-66.9537938790074,47.89336387388145],[-66.97591365740428,47.892659228869725],[-67.00751183183603,47.91112821678406],[-67.02903155083777,47.91905609675972],[-67.04734483727191,47.932127195662325],[-67.06394669524194,47.93291611161449],[-67.0690087710323,47.923138408851344],[-67.09510796412506,47.91912665940036],[-67.10604882141828,47.91310065047747],[-67.13304694703223,47.914836427628714],[-67.1375156396108,47.8946357293152],[-67.15357358142273,47.890873081068094],[-67.16878968495664,47.89539820110164],[-67.18000311533775,47.88183893330649],[-67.21705067446156,47.877362083787034],[-67.23158637070354,47.88737752238045],[-67.2428224568931,47.88158686990823],[-67.25860761252919,47.89086640524541],[-67.27885911289675,47.89296336266804],[-67.31196218781841,47.88735863162647],[-67.33827197681568,47.8881573747203],[-67.33950477814605,47.86935102574259],[-67.28447238708941,47.71831819828088],[-67.2876339708956,47.71676529873111],[-67.28768472353507,47.650410570831866],[-67.26002941428078,47.65050859556445],[-67.24051602455336,47.59716285612361],[-67.18919345766001,47.45550338628765],[-67.17062011829981,47.401728284408364],[-67.04823948800366,47.36272760897717],[-66.95796900661176,47.38110492953893],[-66.87691929346721,47.3990056473463]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.06519520213917,\"lat\":47.6692871566949},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1314\"],\"cd_name_en\":[\"Restigouche\"],\"csd_code\":[\"1314016\"],\"csd_name_en\":[\"Eldon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Restigouche\",\"csd_name_fr\":\"Eldon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.42579237538683,48.371982322944476],[-64.49602898517024,48.467760521661006],[-64.51112732720327,48.487726721152335],[-64.60738103399248,48.46333600467861],[-64.57556408996918,48.42022496903299],[-64.60387899874259,48.40958025890005],[-64.59256336547142,48.394437302683414],[-64.60084090657806,48.38650414377674],[-64.58085270762126,48.376102349306485],[-64.55773974349286,48.34665909452564],[-64.42579237538683,48.371982322944476]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.52521203628986,\"lat\":48.41309434325059},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2402\"],\"cd_name_en\":[\"Le Rocher-Perc\\u00e9\"],\"csd_code\":[\"2402015\"],\"csd_name_en\":[\"Grande-Rivi\\u00e8re\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Rocher-Perc\\u00e9\",\"csd_name_fr\":\"Grande-Rivi\\u00e8re\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.382272001896,48.088183853007344],[-66.37265000364746,48.12621650082612],[-66.41217718442877,48.12901044261622],[-66.42668276190429,48.153816761731015],[-66.41637427339174,48.165405697130566],[-66.4956467127992,48.189203310384194],[-66.56403579173617,48.19022501958228],[-66.5679427063709,48.038206595302114],[-66.52484824183261,48.05010302809637],[-66.50243108387542,48.07702510342547],[-66.46975383201278,48.08557002348636],[-66.42921244256992,48.08865455295744],[-66.382272001896,48.088183853007344]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.49246518868047,\"lat\":48.123669389148134},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2406\"],\"cd_name_en\":[\"Avignon\"],\"csd_code\":[\"2406025\"],\"csd_name_en\":[\"Escuminac\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Avignon\",\"csd_name_fr\":\"Escuminac\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.7609632001989,48.02638770545829],[-66.7805599495379,48.057133257117336],[-66.8038268938692,48.03967218646057],[-66.82260120460332,48.04497430182388],[-66.82561068981275,48.057859907507805],[-66.86872505177837,48.049258929025214],[-66.89115135204864,48.04343210426154],[-66.89331656060006,48.02754403974145],[-66.87770833176636,47.99342952349882],[-66.85308608276578,48.001449832349394],[-66.8387138538312,48.00064323477579],[-66.8009496056447,47.99209443686648],[-66.78694803089348,47.99187325260543],[-66.76480510050976,48.00162901439712],[-66.74821212411078,48.00297255698818],[-66.74638054003185,48.00309768061998],[-66.7609632001989,48.02638770545829]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.82398924891851,\"lat\":48.0228180862269},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2406\"],\"cd_name_en\":[\"Avignon\"],\"csd_code\":[\"2406035\"],\"csd_name_en\":[\"Ristigouche-Partie-Sud-Est\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Avignon\",\"csd_name_fr\":\"Ristigouche-Partie-Sud-Est\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.52833741026622,48.29503392451157],[-67.55307171647522,48.3366072519682],[-67.5740746593361,48.33172990793588],[-67.60687975193181,48.38349848356227],[-67.64862894110603,48.35516595686004],[-67.69032038586624,48.32550166206514],[-67.64573109013361,48.253542704047916],[-67.60481036913345,48.26417416129142],[-67.59044586058383,48.24010214976246],[-67.50958271817869,48.26124877064612],[-67.52833741026622,48.29503392451157]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.60258717889843,\"lat\":48.303877609814194},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2407\"],\"cd_name_en\":[\"La Matap\\u00e9dia\"],\"csd_code\":[\"2407035\"],\"csd_name_en\":[\"Saint-Z\\u00e9non-du-Lac-Humqui\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Matap\\u00e9dia\",\"csd_name_fr\":\"Saint-Z\\u00e9non-du-Lac-Humqui\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.75468699602807,48.52625273047962],[-67.77375574049107,48.54435228092292],[-67.76311587035141,48.58389011422353],[-67.79527638253894,48.57784792657955],[-67.83077647161316,48.568723770075295],[-67.87687054816286,48.57040995480424],[-67.88512382997915,48.56384083899434],[-67.90561233733712,48.56998735841588],[-67.94686546179328,48.53952391405357],[-67.98087601644527,48.545497283265135],[-67.96207200124066,48.535826456473096],[-67.87763160750217,48.484180693135556],[-67.84878464031338,48.46511114074252],[-67.82324695567877,48.481683890217205],[-67.75468699602807,48.52625273047962]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.84949566959725,\"lat\":48.52994572605125},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2407\"],\"cd_name_en\":[\"La Matap\\u00e9dia\"],\"csd_code\":[\"2407095\"],\"csd_name_en\":[\"Saint-Mo\\u00efse\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Matap\\u00e9dia\",\"csd_name_fr\":\"Saint-Mo\\u00efse\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.87763160750217,48.484180693135556],[-67.96207200124066,48.535826456473096],[-67.99326582066105,48.51589804028296],[-68.08407663887733,48.446586963748146],[-68.06876086967988,48.4357353554845],[-68.00263235520116,48.397595610899394],[-67.91118596524414,48.46603662207508],[-67.87763160750217,48.484180693135556]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.98316122407854,\"lat\":48.4670318330964},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2409\"],\"cd_name_en\":[\"La Mitis\"],\"csd_code\":[\"2409020\"],\"csd_name_en\":[\"Sainte-Jeanne-d'Arc\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Mitis\",\"csd_name_fr\":\"Sainte-Jeanne-d'Arc\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.35290590779529,48.48535491087618],[-68.402632737461,48.513568559753594],[-68.41879808354113,48.511593005649274],[-68.4420478821989,48.5002658938246],[-68.44188407793418,48.49106503825406],[-68.46562599093879,48.48059373166021],[-68.4795081442364,48.465272884874],[-68.46003598939926,48.45027770063096],[-68.4688240743277,48.4392499496679],[-68.41606844542994,48.4076756106714],[-68.4080127302937,48.4157173640215],[-68.33176923743616,48.37075782996559],[-68.27605658562001,48.41282549422674],[-68.29884479407708,48.4172618088371],[-68.2716855752865,48.435876348465655],[-68.35290590779529,48.48535491087618]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.37628668984719,\"lat\":48.44449612779317},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2410\"],\"cd_name_en\":[\"Rimouski-Neigette\"],\"csd_code\":[\"2410030\"],\"csd_name_en\":[\"Saint-Anaclet-de-Lessard\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Rimouski-Neigette\",\"csd_name_fr\":\"Saint-Anaclet-de-Lessard\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.94956501331532,47.99994379731419],[-67.94791733766085,48.10405089125321],[-68.0077458696747,48.14161961630371],[-68.1212157568804,48.21087927775888],[-68.18665165707725,48.25177812087599],[-68.25705119392019,48.293514762285554],[-68.26024566394024,48.29578676004911],[-68.30383089255506,48.263483463958394],[-68.3339280150892,48.282365668301395],[-68.40598541926215,48.229368980512625],[-68.26619444873772,48.140405118769735],[-68.41156332566432,48.033315743327265],[-68.40602998380807,48.02923754872195],[-68.50542627833907,47.96361318859489],[-68.39882294343056,47.890697365256734],[-68.38262282125918,47.880048447224425],[-68.38233418321127,47.91611694459349],[-68.1227929297366,47.9164421948177],[-68.12259196754987,47.9997458075822],[-67.94956501331532,47.99994379731419]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.21483353724298,\"lat\":48.07410143640945},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2410\"],\"cd_name_en\":[\"Rimouski-Neigette\"],\"csd_code\":[\"2410902\"],\"csd_name_en\":[\"Lac-Huron\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Rimouski-Neigette\",\"csd_name_fr\":\"Lac-Huron\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.01648907587898,47.822243917763764],[-69.046941057188,47.8421445438011],[-69.0396543329701,47.84735366767468],[-69.08706791042172,47.87841164030283],[-69.11622616481753,47.85762338919099],[-69.13124472609574,47.8679883597681],[-69.14332436104908,47.85972205601133],[-69.25882934055352,47.780823566802034],[-69.25079129863423,47.77535995870848],[-69.28078646188784,47.75552252428215],[-69.310495719485,47.77610488119871],[-69.35624544971301,47.74486984825406],[-69.31324142806811,47.744473026426014],[-69.31145178539805,47.71413787664641],[-69.27167973752564,47.68809144830823],[-69.19977432400997,47.73902505844559],[-69.16779495955748,47.739352961403895],[-69.1264622168855,47.76650949058381],[-69.10410503025604,47.76088856618563],[-69.01648907587898,47.822243917763764]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.17317594671096,\"lat\":47.78639929062709},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2412\"],\"cd_name_en\":[\"Rivi\\u00e8re-du-Loup\"],\"csd_code\":[\"2412010\"],\"csd_name_en\":[\"Saint-Hubert-de-Rivi\\u00e8re-du-Loup\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Rivi\\u00e8re-du-Loup\",\"csd_name_fr\":\"Saint-Hubert-de-Rivi\\u00e8re-du-Loup\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.80121205780819,47.403774547682254],[-68.71070102995154,47.468032493514436],[-68.73305678306531,47.48232530821184],[-68.71638915262776,47.49454782002349],[-68.77293704275542,47.52663986671422],[-68.77988581801776,47.53107765795268],[-68.81860535293941,47.53040012610854],[-68.82361709493601,47.530311257234686],[-68.91180878302244,47.46889466724059],[-68.8329101428259,47.416451370245774],[-68.82683884057374,47.42055980123274],[-68.80121205780819,47.403774547682254]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.8063675663957,\"lat\":47.47227964918335},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2413\"],\"cd_name_en\":[\"T\\u00e9miscouata\"],\"csd_code\":[\"2413015\"],\"csd_name_en\":[\"Packington\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscouata\",\"csd_name_fr\":\"Packington\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.83517617562099,47.74702728057868],[-69.87966388654908,47.77434012266973],[-69.9881642191667,47.83736367232403],[-70.06679178514143,47.88592549783208],[-70.13053885642262,47.813465688568975],[-70.2338254346529,47.76438831006257],[-70.24813616929731,47.75913898410361],[-70.20578008600467,47.73238927861672],[-70.1822555711701,47.722287947680435],[-70.2062844106698,47.69570349628199],[-70.21764900737266,47.677285422189584],[-70.24494265259126,47.67901052975355],[-70.26629794093827,47.663876379827876],[-70.28973580495311,47.678021270057556],[-70.30961558997194,47.66344541983596],[-70.36037942636273,47.665509808801026],[-70.37026112568242,47.64210698230857],[-70.38415529589983,47.61029180421736],[-70.31769229728066,47.595720923211104],[-70.2857619639964,47.615558338473065],[-70.27072354325658,47.60723663648933],[-70.24676018080459,47.62329997883826],[-70.21696928331652,47.60464650452219],[-70.18024348987979,47.59213668354633],[-70.08310024479822,47.54679959970887],[-70.06938261853668,47.5577118992425],[-70.01149895624492,47.59318133130004],[-69.96783676789002,47.61576152841046],[-69.9216867981357,47.65042728918059],[-69.87538338923756,47.697873328018176],[-69.83517617562099,47.74702728057868]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.08047575419752,\"lat\":47.7034891127365},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2415\"],\"cd_name_en\":[\"Charlevoix-Est\"],\"csd_code\":[\"2415013\"],\"csd_name_en\":[\"La Malbaie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Charlevoix-Est\",\"csd_name_fr\":\"La Malbaie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.04645179985147,46.46419209478459],[-70.0178808895083,46.59842858169246],[-70.07733504225506,46.64013192274437],[-70.1630489726004,46.58179255198759],[-70.18905732711413,46.563151835529915],[-70.04645179985147,46.46419209478459]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.08765321373787,\"lat\":46.55937349391483},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2418\"],\"cd_name_en\":[\"Montmagny\"],\"csd_code\":[\"2418005\"],\"csd_name_en\":[\"Saint-Just-de-Breteni\\u00e8res\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Montmagny\",\"csd_name_fr\":\"Saint-Just-de-Breteni\\u00e8res\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.4949529915914,46.610617528236034],[-70.49646419152113,46.62367807467275],[-70.45976966431911,46.64801722296469],[-70.50684850320222,46.67889191043761],[-70.54273217002721,46.654608030952865],[-70.55736521149075,46.66473394027223],[-70.56270403546272,46.668456436969535],[-70.63388218618026,46.63598659455062],[-70.59382874537809,46.61002549171488],[-70.61365422946892,46.594993685158315],[-70.62182745045021,46.581490184330754],[-70.57998560704624,46.54991036214848],[-70.4949529915914,46.610617528236034]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.55234705974395,\"lat\":46.620076418547995},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2419\"],\"cd_name_en\":[\"Bellechasse\"],\"csd_code\":[\"2419010\"],\"csd_name_en\":[\"Notre-Dame-Auxiliatrice-de-Buckland\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Bellechasse\",\"csd_name_fr\":\"Notre-Dame-Auxiliatrice-de-Buckland\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.66958154671367,46.57774548882099],[-70.68975801703596,46.59337104207995],[-70.7039503715261,46.58383157977511],[-70.72428060547321,46.599307171116585],[-70.74937346227718,46.58218101767103],[-70.77106805962111,46.57431785413956],[-70.79749079035031,46.560094236353024],[-70.80896713400402,46.56706350288885],[-70.82070230146057,46.55328641905119],[-70.84145451116626,46.545292291711526],[-70.81939735541921,46.52475133784235],[-70.8138380274035,46.52836043597107],[-70.76815692622004,46.492070397368224],[-70.75418985708065,46.48712330718302],[-70.74398111289257,46.49390978924796],[-70.70806522171863,46.4659702047637],[-70.6754921853831,46.48668322678151],[-70.68698009126767,46.494741291748525],[-70.67548321993118,46.50595849005932],[-70.65846073851844,46.507619281288605],[-70.71171096224342,46.54904299769501],[-70.66958154671367,46.57774548882099]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.7409486899094,\"lat\":46.53446998672997},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2419\"],\"cd_name_en\":[\"Bellechasse\"],\"csd_code\":[\"2419025\"],\"csd_name_en\":[\"Saint-Malachie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Bellechasse\",\"csd_name_fr\":\"Saint-Malachie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.80213261199879,46.939814324823686],[-70.78581154580505,46.95171472480975],[-70.7448924673877,46.98769660133499],[-70.73663126078515,47.00240714305887],[-70.69807829117441,47.01888237792733],[-70.69047684624921,47.03509643304268],[-70.71976023930459,47.0600467933851],[-70.76400876802042,47.039168864897945],[-70.79133382139723,47.034209224218756],[-70.82455067944382,47.03688393178866],[-70.8524048223079,47.03413929143545],[-70.88759307858763,47.02473337956925],[-70.91239104469496,47.016325850446385],[-70.87071317116316,46.987084513356635],[-70.80213261199879,46.939814324823686]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.7967354579271,\"lat\":47.00507129205424},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2420\"],\"cd_name_en\":[\"L'\\u00cele-d'Orl\\u00e9ans\"],\"csd_code\":[\"2420005\"],\"csd_name_en\":[\"Saint-Fran\\u00e7ois-de-l'\\u00cele-d'Orl\\u00e9ans\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"L'\\u00cele-d'Orl\\u00e9ans\",\"csd_name_fr\":\"Saint-Fran\\u00e7ois-de-l'\\u00cele-d'Orl\\u00e9ans\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.05332570162868,46.92636336246315],[-71.14260310244846,46.998030497658334],[-71.20571308300244,46.96623121395417],[-71.19145827886173,46.94117153690659],[-71.16838653594284,46.9517092738754],[-71.10317108069428,46.89780713520739],[-71.05332570162868,46.92636336246315]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.12861534241071,\"lat\":46.949112201164034},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2421\"],\"cd_name_en\":[\"La C\\u00f4te-de-Beaupr\\u00e9\"],\"csd_code\":[\"2421040\"],\"csd_name_en\":[\"L'Ange-Gardien\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La C\\u00f4te-de-Beaupr\\u00e9\",\"csd_name_fr\":\"L'Ange-Gardien\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.13359627607889,46.88135592474629],[-71.10317108069428,46.89780713520739],[-71.16838653594284,46.9517092738754],[-71.19145827886173,46.94117153690659],[-71.19275487786611,46.9382263473708],[-71.16859492650079,46.91231952719295],[-71.17253068350162,46.905983610442945],[-71.13359627607889,46.88135592474629]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.14982984579845,\"lat\":46.915372741860175},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2421\"],\"cd_name_en\":[\"La C\\u00f4te-de-Beaupr\\u00e9\"],\"csd_code\":[\"2421045\"],\"csd_name_en\":[\"Boischatel\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La C\\u00f4te-de-Beaupr\\u00e9\",\"csd_name_fr\":\"Boischatel\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.27982770515897,46.05521311851274],[-70.28405244051145,46.06228527791143],[-70.30656127693544,46.06125352510152],[-70.30110738415289,46.083125029443785],[-70.27327690224743,46.10217332710003],[-70.25254218544214,46.10046299230428],[-70.25281591123773,46.11521351054915],[-70.2371500826854,46.14482510298287],[-70.26483100287491,46.16781079879609],[-70.29062569658649,46.18522580298951],[-70.4734444184964,46.11980206564596],[-70.43611806337032,46.0670290079194],[-70.40616338177554,46.02881754447566],[-70.34688140556008,46.027571288167486],[-70.2935811061565,46.04611249451866],[-70.27982770515897,46.05521311851274]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.35112609094104,\"lat\":46.10406879349438},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2428\"],\"cd_name_en\":[\"Les Etchemins\"],\"csd_code\":[\"2428005\"],\"csd_name_en\":[\"Saint-Zacharie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Etchemins\",\"csd_name_fr\":\"Saint-Zacharie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.34040384236332,45.35037542199478],[-71.34391106296395,45.46026232658902],[-71.36983413540486,45.45973258980715],[-71.42633176000292,45.45782172052756],[-71.54618809830626,45.45552614614861],[-71.55304914404287,45.455391049972825],[-71.55022737181865,45.335866358587275],[-71.54852401144491,45.3078244392478],[-71.33931420782363,45.309862330005664],[-71.34040384236332,45.35037542199478]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.44602761079025,\"lat\":45.38319839461658},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2441\"],\"cd_name_en\":[\"Le Haut-Saint-Fran\\u00e7ois\"],\"csd_code\":[\"2441037\"],\"csd_name_en\":[\"Newport\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Saint-Fran\\u00e7ois\",\"csd_name_fr\":\"Newport\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.71037070892322,45.45430348150261],[-71.71601677078922,45.48195649084515],[-71.70944408098413,45.492946964485725],[-71.75231204557313,45.518490454355145],[-71.77429432399035,45.4967281755372],[-71.79229636613852,45.48580934557265],[-71.83104786085265,45.453139620005295],[-71.822219316057,45.45320206524116],[-71.8194884164308,45.40815503740408],[-71.80623641183345,45.399971047111556],[-71.80044572651657,45.416439471715215],[-71.76095210805433,45.41642156411602],[-71.76026901045591,45.39837727500666],[-71.72335193570267,45.399262134979445],[-71.72377137073917,45.41240784763485],[-71.70862084264833,45.412603459259735],[-71.71037070892322,45.45430348150261]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.76113045503864,\"lat\":45.452543654604796},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2441\"],\"cd_name_en\":[\"Le Haut-Saint-Fran\\u00e7ois\"],\"csd_code\":[\"2441055\"],\"csd_name_en\":[\"Ascot Corner\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Saint-Fran\\u00e7ois\",\"csd_name_fr\":\"Ascot Corner\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.83188700615972,45.60048456391812],[-71.91938025063422,45.647556204786504],[-71.89159378557906,45.668493093082716],[-71.96172247065657,45.70656016330056],[-71.97878328195287,45.71506798732822],[-71.99018895700195,45.7045618104826],[-72.0012842797912,45.71038934135226],[-72.01441997562485,45.69870280288809],[-72.05158383293949,45.664848961171025],[-72.05824789052329,45.6498285503167],[-72.03532254940698,45.63810058664354],[-72.02531262719373,45.64748050579727],[-71.87268253044928,45.565947821483775],[-71.83188700615972,45.60048456391812]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.94794475918286,\"lat\":45.64438496911637},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2442\"],\"cd_name_en\":[\"Le Val-Saint-Fran\\u00e7ois\"],\"csd_code\":[\"2442100\"],\"csd_name_en\":[\"Saint-Claude\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Val-Saint-Fran\\u00e7ois\",\"csd_name_fr\":\"Saint-Claude\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.47491046745917,45.08369624796173],[-71.48986553489925,45.09412878178902],[-71.49062492545397,45.106694303796004],[-71.53055119762283,45.10617882141299],[-71.52985464443108,45.13437344650405],[-71.55703625009917,45.133634518230956],[-71.56376780474571,45.118859971770426],[-71.56324686626314,45.09300372902134],[-71.5857702201635,45.09232225303827],[-71.58276612180265,45.05209980881779],[-71.56781131617062,45.0525050672893],[-71.5681936399894,45.02609863768262],[-71.55379969843659,45.02606420755238],[-71.55301529402254,45.012764422705324],[-71.500610406613,45.014097614806424],[-71.50027079737067,45.02631700546532],[-71.49090179316372,45.04308849809645],[-71.49829891702899,45.06850400084959],[-71.47491046745917,45.08369624796173]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.53431068241197,\"lat\":45.069198038660055},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2444\"],\"cd_name_en\":[\"Coaticook\"],\"csd_code\":[\"2444010\"],\"csd_name_en\":[\"East Hereford\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Coaticook\",\"csd_name_fr\":\"East Hereford\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.57024365927755,45.15965951880348],[-71.6016746491163,45.15940412489931],[-71.67317628603924,45.15937213065887],[-71.67282942070811,45.13226874872864],[-71.71647677471942,45.132311936152185],[-71.71618455293171,45.105532511691926],[-71.7166316003225,45.064766554847246],[-71.69349260414927,45.06497431892184],[-71.69532707036363,45.01132674905269],[-71.55301529402254,45.012764422705324],[-71.55379969843659,45.02606420755238],[-71.5681936399894,45.02609863768262],[-71.56781131617062,45.0525050672893],[-71.58276612180265,45.05209980881779],[-71.5857702201635,45.09232225303827],[-71.56324686626314,45.09300372902134],[-71.56376780474571,45.118859971770426],[-71.55703625009917,45.133634518230956],[-71.57182370873174,45.133313315826605],[-71.57024365927755,45.15965951880348]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.63604445728348,\"lat\":45.08472349267921},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2444\"],\"cd_name_en\":[\"Coaticook\"],\"csd_code\":[\"2444015\"],\"csd_name_en\":[\"Saint-Herm\\u00e9n\\u00e9gilde\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Coaticook\",\"csd_name_fr\":\"Saint-Herm\\u00e9n\\u00e9gilde\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.14637525645023,45.428322108264],[-72.18416202244543,45.4280165309889],[-72.18404276250516,45.4472294223804],[-72.23762712241493,45.449764472553454],[-72.24004258533895,45.41586666005524],[-72.24885189132843,45.37464855718851],[-72.24803743677376,45.36070969486674],[-72.25330109823214,45.306147989603566],[-72.23128203246395,45.30588123843881],[-72.10883727713171,45.30152115488988],[-72.10666498658608,45.321464770409854],[-72.10531663198081,45.38522883898225],[-72.12557261023784,45.38657085353071],[-72.14435690163876,45.381465841267875],[-72.14095217895056,45.409774915445254],[-72.14637525645023,45.428322108264]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.18346239638942,\"lat\":45.36603927474732},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2445\"],\"cd_name_en\":[\"Memphr\\u00e9magog\"],\"csd_code\":[\"2445115\"],\"csd_name_en\":[\"Orford\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Memphr\\u00e9magog\",\"csd_name_fr\":\"Orford\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.45467898644088,45.45087280634443],[-72.40389188822725,45.44919725018816],[-72.40487961487172,45.50390119519172],[-72.40232496263945,45.52826357802172],[-72.39943809852163,45.570990018934914],[-72.44191768521375,45.57383992593018],[-72.44862939086111,45.494262921037745],[-72.45467898644088,45.45087280634443]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.42541797845327,\"lat\":45.509624205024025},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2448\"],\"cd_name_en\":[\"Acton\"],\"csd_code\":[\"2448005\"],\"csd_name_en\":[\"B\\u00e9thanie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Acton\",\"csd_name_fr\":\"B\\u00e9thanie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.31083930375773,45.68836430856323],[-72.33807286995071,45.70369800658925],[-72.35126856049912,45.69305352236197],[-72.36712375199292,45.702375849467415],[-72.41948055589043,45.658759901953545],[-72.31440104755347,45.59707233749292],[-72.29884289452757,45.589320744035064],[-72.23717422872907,45.64620720199549],[-72.31083930375773,45.68836430856323]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.32697058979697,\"lat\":45.65000171892461},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2449\"],\"cd_name_en\":[\"Drummond\"],\"csd_code\":[\"2449015\"],\"csd_name_en\":[\"Durham-Sud\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Drummond\",\"csd_name_fr\":\"Durham-Sud\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.88887468090209,46.04019093251178],[-72.93636012676915,46.0725404302714],[-72.94113051368548,46.08524159795705],[-72.95292896081243,46.08430904327619],[-72.98463119710814,46.05574907078459],[-73.01334159778133,46.048744101160615],[-73.01083342254456,46.034057617528376],[-72.92185657933129,45.9675870383194],[-72.90181584869057,45.96276145339794],[-72.88495962103345,45.9688484839471],[-72.87110566680175,45.979879448937176],[-72.88352367758075,45.974512511646694],[-72.88875223195969,46.002338433797256],[-72.87541392066,46.0080562504487],[-72.90176659832797,46.03281381107193],[-72.88887468090209,46.04019093251178]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.93855809222556,\"lat\":46.023500341626814},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2453\"],\"cd_name_en\":[\"Pierre-De Saurel\"],\"csd_code\":[\"2453072\"],\"csd_name_en\":[\"Yamaska\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Pierre-De Saurel\",\"csd_name_fr\":\"Yamaska\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.30880732661655,45.81362770728587],[-73.30468284885478,45.821355094473496],[-73.275618868559,45.84593758041061],[-73.2694379017057,45.857264692185055],[-73.312503087409,45.84763826417801],[-73.3448338652849,45.871344362918094],[-73.36366570173276,45.85598583507337],[-73.3863117453392,45.84336877549402],[-73.39506512216019,45.819873913575144],[-73.41600521379323,45.79546241158157],[-73.39432996995889,45.78053006925487],[-73.38166561227499,45.79130708795284],[-73.36977493769363,45.78552626238794],[-73.3504401414593,45.79128721030301],[-73.30880732661655,45.81362770728587]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.34961997341674,\"lat\":45.825066761366834},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2460\"],\"cd_name_en\":[\"L'Assomption\"],\"csd_code\":[\"2460020\"],\"csd_name_en\":[\"Saint-Sulpice\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"L'Assomption\",\"csd_name_fr\":\"Saint-Sulpice\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.59773786085941,46.14804937410642],[-73.56259615288408,46.172721344331656],[-73.5847292256779,46.189223154598125],[-73.56721607142856,46.20367105090207],[-73.60673086110425,46.2357035453813],[-73.64048969311177,46.265897243053054],[-73.66491936938411,46.28679113028566],[-73.6776607499591,46.27847549483591],[-73.72328730026831,46.246538774944305],[-73.62755114887067,46.171670308420126],[-73.6383464603694,46.164118331040584],[-73.62727812737452,46.15286846949224],[-73.60688397230747,46.154550722881574],[-73.59773786085941,46.14804937410642]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.63787436365381,\"lat\":46.217420031348574},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2462\"],\"cd_name_en\":[\"Matawinie\"],\"csd_code\":[\"2462020\"],\"csd_name_en\":[\"Sainte-B\\u00e9atrix\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Matawinie\",\"csd_name_fr\":\"Sainte-B\\u00e9atrix\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.3942861043163,45.1954028959215],[-73.41862997885742,45.19493478243086],[-73.41768421763194,45.180284823131814],[-73.40312491560893,45.17571254601712],[-73.38281045487318,45.191919757507016],[-73.3942861043163,45.1954028959215]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.40382116404476,\"lat\":45.18728997905544},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2468\"],\"cd_name_en\":[\"Les Jardins-de-Napierville\"],\"csd_code\":[\"2468030\"],\"csd_name_en\":[\"Napierville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Jardins-de-Napierville\",\"csd_name_fr\":\"Napierville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.03884766064803,45.429524545572406],[-74.02305408299688,45.426441192672065],[-74.00904875754875,45.42829018313653],[-74.00624716232198,45.4505558760578],[-74.0194783238201,45.45110908936851],[-74.03884766064803,45.429524545572406]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.0194340870382,\"lat\":45.43773792268453},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2471\"],\"cd_name_en\":[\"Vaudreuil-Soulanges\"],\"csd_code\":[\"2471095\"],\"csd_name_en\":[\"L'\\u00cele-Cadieux\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Vaudreuil-Soulanges\",\"csd_name_fr\":\"L'\\u00cele-Cadieux\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.88338655816115,45.88952570684842],[-73.95084735309516,45.934024096839515],[-73.93575747276503,45.945329272356645],[-73.94761172415534,45.95851104986875],[-73.9757753530978,45.979103122586125],[-74.00212522430115,45.99776529293639],[-74.05310632558377,45.960521347758146],[-74.09291523301665,45.9373331804778],[-74.0777370930873,45.92749282963392],[-74.09272709492916,45.917387907033635],[-74.07642241176748,45.904782524814124],[-74.07389496895358,45.88992519448448],[-74.05084114665888,45.90490374049313],[-74.04586302154985,45.89465272375111],[-74.02086099984804,45.87817740502642],[-74.04164856779859,45.85471823808872],[-74.03304743246697,45.84801504613391],[-73.90160357711729,45.88540045357466],[-73.88338655816115,45.88952570684842]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.99740542338205,\"lat\":45.91991805310262},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2475\"],\"cd_name_en\":[\"La Rivi\\u00e8re-du-Nord\"],\"csd_code\":[\"2475045\"],\"csd_name_en\":[\"Saint-Hippolyte\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Rivi\\u00e8re-du-Nord\",\"csd_name_fr\":\"Saint-Hippolyte\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.23359483830366,46.31097599709752],[-75.2644104852962,46.311285734841825],[-75.26500863523441,46.35346140161804],[-75.29632731109585,46.365522413114],[-75.33666728289542,46.37279640487511],[-75.33388078995594,46.3469006005127],[-75.35066128949381,46.3466538626329],[-75.36631479943871,46.35348716274035],[-75.3689894891945,46.33321206553799],[-75.37810513482344,46.32682505085575],[-75.39050865113742,46.30576988215425],[-75.37885494091203,46.2849814554465],[-75.39583219844285,46.26816829140195],[-75.3964380670524,46.23080624848367],[-75.2315036703273,46.23072404521728],[-75.23108148716707,46.21516849083277],[-75.21513879057605,46.21504075513936],[-75.21623319311102,46.178004271538555],[-75.21120015917109,46.1040292172013],[-75.17978973426817,46.10339345561978],[-75.17849264494727,46.132497496909764],[-75.15635312484126,46.13180468716597],[-75.15538370845941,46.157553858342965],[-75.1384273858819,46.15763307816109],[-75.13828893638193,46.1828775423491],[-75.11807455418396,46.18311555299154],[-75.11746579238589,46.21593668034312],[-75.07558743404947,46.216122890770286],[-75.03056192383814,46.21582034756304],[-75.03173446835918,46.26103703549403],[-75.03546419247462,46.31072011001505],[-75.23359483830366,46.31097599709752]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.21302832932405,\"lat\":46.2580909681676},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2479\"],\"cd_name_en\":[\"Antoine-Labelle\"],\"csd_code\":[\"2479924\"],\"csd_name_en\":[\"Lac-Ernest\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Antoine-Labelle\",\"csd_name_fr\":\"Lac-Ernest\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.33555614081668,47.516121331882474],[-75.30852184064443,47.54654057009539],[-75.34459407423884,47.57187177962265],[-75.36480421631799,47.577443771737364],[-75.36560294732963,47.59430888762481],[-75.3541754953585,47.60943773925193],[-75.36953941041199,47.627196200826646],[-75.37934288959374,47.62249118105331],[-75.39538305115737,47.601606877615545],[-75.39073765465578,47.58920256164391],[-75.41569983727027,47.59027331886991],[-75.42893425452668,47.61580923295307],[-75.41936970854171,47.629662132461654],[-75.44641398767818,47.65656192420622],[-75.4562878460657,47.67259716282728],[-75.47408396130314,47.679116186260224],[-75.48825763877977,47.69107513623706],[-75.52263663482037,47.70995242809531],[-75.53339674942497,47.73453264827219],[-75.530816225928,47.74570063660968],[-75.54253530757408,47.75644020254672],[-75.52234980573853,47.76416208798397],[-75.520457243428,47.84633214181017],[-75.65263784148884,47.84794422847963],[-75.72488174264785,47.84794944811919],[-75.76776796461432,47.82051659607424],[-75.77489413917573,47.81241428733008],[-75.63157191233233,47.71639161460483],[-75.33581004466484,47.51629423606907],[-75.33555614081668,47.516121331882474]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.56213126804751,\"lat\":47.728951798450815},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2483\"],\"cd_name_en\":[\"La Vall\\u00e9e-de-la-Gatineau\"],\"csd_code\":[\"2483912\"],\"csd_name_en\":[\"D\\u00e9p\\u00f4t-\\u00c9chouani\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-de-la-Gatineau\",\"csd_name_fr\":\"D\\u00e9p\\u00f4t-\\u00c9chouani\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.48507600202673,45.81836488689217],[-76.40022198768875,45.81948635138567],[-76.32568536980536,45.82177103643826],[-76.32788642649727,45.89671176803416],[-76.31653006711421,45.896722188978416],[-76.31796686053772,45.99902508859828],[-76.31937172249994,46.024767742207274],[-76.45050731452075,46.022912282512614],[-76.63016693598703,46.024422882639044],[-76.63257906299432,45.909899069136536],[-76.63983521909321,45.88953856388471],[-76.47827118787917,45.82848437344885],[-76.48507600202673,45.81836488689217]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.46675193938015,\"lat\":45.93025223307563},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2484\"],\"cd_name_en\":[\"Pontiac\"],\"csd_code\":[\"2484055\"],\"csd_name_en\":[\"Otter Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Pontiac\",\"csd_name_fr\":\"Otter Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.19374059165806,47.649774680097096],[-79.17626859967456,47.66600444024211],[-79.17665968385887,47.68881072663456],[-79.19181426321745,47.70085114124692],[-79.24940886690442,47.70073614081084],[-79.25073950602717,47.74240637125786],[-79.30143642538783,47.74172039353061],[-79.379757933214,47.7410724443858],[-79.37968403120627,47.62997591938739],[-79.38110777631435,47.58345308012385],[-79.36239785886016,47.580186190609574],[-79.3353859690355,47.59653137240361],[-79.32891862552964,47.576572531605635],[-79.29919348373677,47.589271440352285],[-79.28611154296385,47.58980501870405],[-79.27163546955683,47.57399627818222],[-79.27139192195563,47.614991686135625],[-79.19602711336776,47.61375997536463],[-79.197029154474,47.646705618348605],[-79.19374059165806,47.649774680097096]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.29540053730099,\"lat\":47.66411926308828},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2485\"],\"cd_name_en\":[\"T\\u00e9miscamingue\"],\"csd_code\":[\"2485095\"],\"csd_name_en\":[\"Gu\\u00e9rin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscamingue\",\"csd_name_fr\":\"Gu\\u00e9rin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.94956794309083,48.87886061818201],[-78.97818772417563,48.878657739432114],[-78.97696462229648,48.90807138424607],[-79.02380242980634,48.90834958381092],[-79.02350780890028,48.93726638020275],[-79.0532062218166,48.93790452415424],[-79.08023545787401,48.937418714493816],[-79.08034723382802,48.90797599456236],[-79.12526080941876,48.90821960465428],[-79.12528851094972,48.87874880879711],[-79.16715795418256,48.87875378275187],[-79.16860782831691,48.85092949112831],[-79.12584776523971,48.85100251901638],[-79.12556077446422,48.82155485564056],[-79.08021321969116,48.82160401846853],[-78.94967824155985,48.821816057159076],[-78.94968868395648,48.82337446222689],[-78.94956794309083,48.87886061818201]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.04997224358203,\"lat\":48.86914819783453},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2487\"],\"cd_name_en\":[\"Abitibi-Ouest\"],\"csd_code\":[\"2487095\"],\"csd_name_en\":[\"Chazel\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi-Ouest\",\"csd_name_fr\":\"Chazel\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.80614933660621,48.79208696040499],[-78.80597953223902,48.82127245598417],[-78.7526512663541,48.82125780572008],[-78.75298058472603,48.89717562308529],[-78.75483708367408,48.999960837491436],[-78.90530332085376,49.00000243108694],[-78.90283119231007,48.92341377251361],[-78.94854855355858,48.92386631840961],[-78.94956794309083,48.87886061818201],[-78.94968868395648,48.82337446222689],[-78.90728639755451,48.792852772608974],[-78.80614933660621,48.79208696040499]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.84549575697127,\"lat\":48.89519623473476},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2487\"],\"cd_name_en\":[\"Abitibi-Ouest\"],\"csd_code\":[\"2487100\"],\"csd_name_en\":[\"Authier-Nord\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi-Ouest\",\"csd_name_fr\":\"Authier-Nord\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.13207708109242,48.600352003813995],[-78.13275014303585,48.59485262254987],[-78.11187463053024,48.59525283400059],[-78.11310397994599,48.60010133496801],[-78.13207708109242,48.600352003813995]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.1226557451992,\"lat\":48.59759700684232},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2488\"],\"cd_name_en\":[\"Abitibi\"],\"csd_code\":[\"2488802\"],\"csd_name_en\":[\"Pikogan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi\",\"csd_name_fr\":\"Pikogan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.34289704632819,48.071883579897055],[-77.36068111028945,48.07159023067669],[-77.3603849314076,48.04763031710675],[-77.34152497780322,48.058964208136125],[-77.34289704632819,48.071883579897055]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.35223949755785,\"lat\":48.06210971111333},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2489\"],\"cd_name_en\":[\"La Vall\\u00e9e-de-l'Or\"],\"csd_code\":[\"2489804\"],\"csd_name_en\":[\"Lac Simon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-de-l'Or\",\"csd_name_fr\":\"Lac Simon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.82877416870056,47.775702268442295],[-76.79903648307175,47.78186306651688],[-76.76010628564748,47.81018922396131],[-76.73830827498495,47.82154613266314],[-76.73039288206614,47.85086222088883],[-76.89376253612839,47.85105158333513],[-76.93471330125053,47.85112792966094],[-76.94335879731719,47.85112495041635],[-76.82877416870056,47.775702268442295]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.82461790522093,\"lat\":47.823503196408446},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2489\"],\"cd_name_en\":[\"La Vall\\u00e9e-de-l'Or\"],\"csd_code\":[\"2489908\"],\"csd_name_en\":[\"Lac-Metei\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-de-l'Or\",\"csd_name_fr\":\"Lac-Metei\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.4216198911017,47.70276584032219],[-77.3629462714364,47.7013420660603],[-77.36049726293301,47.79709816042614],[-77.36134935906716,47.85094348444604],[-77.36109513981211,47.87960481416868],[-77.40810096552619,47.87916577444589],[-77.40783458134321,47.85097272814901],[-77.5767162933988,47.85050511651721],[-77.57809635450089,47.70264247900602],[-77.4216198911017,47.70276584032219]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.46587795612946,\"lat\":47.78021574858447},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2489\"],\"cd_name_en\":[\"La Vall\\u00e9e-de-l'Or\"],\"csd_code\":[\"2489912\"],\"csd_name_en\":[\"Lac-Granet\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-de-l'Or\",\"csd_name_fr\":\"Lac-Granet\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.29560176161043,48.61077967688799],[-72.33114744800396,48.61381238975521],[-72.33960450857273,48.63180306607947],[-72.37725766575991,48.657563594428815],[-72.39159366733057,48.651815471210675],[-72.39044499009464,48.63750584892467],[-72.4216276011903,48.62473110951726],[-72.4420306169218,48.62348130055251],[-72.44463020356228,48.612011093173514],[-72.47113377883316,48.61395080334525],[-72.48199759410075,48.60791369509625],[-72.48241749728406,48.58430888609462],[-72.49951778249746,48.5760792929534],[-72.52487827220814,48.584285807617945],[-72.54874738659963,48.59766733602361],[-72.55814886184105,48.592888694290785],[-72.48404807463477,48.52808658728919],[-72.44983073946447,48.54563217589807],[-72.42844122926853,48.52704034575017],[-72.40935240811912,48.540199897991634],[-72.40203638100914,48.55457621351995],[-72.371692363165,48.528369727635585],[-72.35404660019783,48.53655354596697],[-72.3413499508886,48.52526546330275],[-72.27179605012232,48.56089513645462],[-72.29246424577231,48.579457600483146],[-72.27078122822921,48.590777979703425],[-72.29560176161043,48.61077967688799]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.39559528263185,\"lat\":48.58108441289474},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2491\"],\"cd_name_en\":[\"Le Domaine-du-Roy\"],\"csd_code\":[\"2491035\"],\"csd_name_en\":[\"Saint-Prime\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Domaine-du-Roy\",\"csd_name_fr\":\"Saint-Prime\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.07408283626499,48.75676371566365],[-72.042581023371,48.759628606199875],[-72.00051306829599,48.7412787319283],[-71.94088044922458,48.72802177937678],[-71.91227142525742,48.72715943172804],[-71.8600535427579,48.74153358218821],[-71.81532970292652,48.769902510874736],[-71.82625828375947,48.78180105483092],[-71.82538122297059,48.80461618606637],[-71.81129732992345,48.81743578277086],[-71.77203208636872,48.83415204487564],[-71.85381586465837,48.849414843987276],[-71.89247212238527,48.75104280687259],[-71.9928061664705,48.76810156148988],[-71.98168326457643,48.79655118020955],[-72.01591548186498,48.802561677072084],[-72.0105551321821,48.81670536387516],[-72.02779559419204,48.81984864513051],[-72.05754701758613,48.82257171922856],[-72.12933683592296,48.78690075204337],[-72.10088982611173,48.76154378395648],[-72.07408283626499,48.75676371566365]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.95375894887256,\"lat\":48.781091452627514},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2492\"],\"cd_name_en\":[\"Maria-Chapdelaine\"],\"csd_code\":[\"2492010\"],\"csd_name_en\":[\"P\\u00e9ribonka\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Maria-Chapdelaine\",\"csd_name_fr\":\"P\\u00e9ribonka\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.96773622046472,48.86990751928147],[-71.92428541076315,48.89669070486419],[-71.9318206208327,48.91885609706976],[-71.9177140814144,48.934894807582495],[-71.8836039963231,48.945858386986274],[-71.86913808804216,48.97703998715763],[-71.83886660703384,49.007262009275856],[-71.84403526716319,49.01558464686991],[-71.92953602213926,49.01300759096809],[-72.07468512936255,48.94266502735251],[-72.13739239277456,48.91123794951635],[-72.1103442682902,48.88845528133328],[-72.16842901538395,48.85931590577128],[-72.15541711939348,48.84743315416894],[-72.18204577560995,48.833924773898865],[-72.12933683592296,48.78690075204337],[-72.05754701758613,48.82257171922856],[-72.02779559419204,48.81984864513051],[-72.02217768455378,48.83384205164546],[-72.00472925279317,48.830731680522106],[-71.99778289576545,48.845191680409734],[-71.97886175107575,48.841604985522245],[-71.96773622046472,48.86990751928147]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.01803449546958,\"lat\":48.90574389953213},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2492\"],\"cd_name_en\":[\"Maria-Chapdelaine\"],\"csd_code\":[\"2492015\"],\"csd_name_en\":[\"Sainte-Jeanne-d'Arc\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Maria-Chapdelaine\",\"csd_name_fr\":\"Sainte-Jeanne-d'Arc\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.76891686229233,48.832676152949766],[-71.7642258418595,48.84105378990637],[-71.77672144924969,48.84876556265644],[-71.75104046535763,48.87667022673157],[-71.75226644572459,48.90144560336434],[-71.74499170016851,48.91456959798457],[-71.75644035031284,48.93003693175985],[-71.7801330793337,48.933440549641766],[-71.77375383412853,48.94855384416418],[-71.8622231692552,48.963313325967185],[-71.9050897797808,48.85864691646397],[-71.85381586465837,48.849414843987276],[-71.77203208636872,48.83415204487564],[-71.76891686229233,48.832676152949766]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.8218327772419,\"lat\":48.89720762364378},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2493\"],\"cd_name_en\":[\"Lac-Saint-Jean-Est\"],\"csd_code\":[\"2493080\"],\"csd_name_en\":[\"Saint-Ludger-de-Milot\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Lac-Saint-Jean-Est\",\"csd_name_fr\":\"Saint-Ludger-de-Milot\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.43920039507621,49.185283173279764],[-68.45551893674725,49.19224200167167],[-68.49948115942114,49.19498182878995],[-68.50309860917888,49.2038240765916],[-68.51402076201344,49.225397093723714],[-68.60946631016937,49.176858205861876],[-68.62621199477839,49.15618319561541],[-68.61948307923622,49.13868539930417],[-68.6215250172565,49.12591359663628],[-68.58942349885399,49.125675167906856],[-68.5688677496134,49.13390828313863],[-68.56276169826167,49.12500371037885],[-68.56138892876986,49.08759105798587],[-68.57053900861766,49.083597962680926],[-68.5829670796308,49.052391924366454],[-68.54121749620745,49.0154730790608],[-68.45939000933566,48.966414556793154],[-68.46678895223539,49.0382146420908],[-68.4670546269271,49.059979297516485],[-68.40823524097905,49.07802258093482],[-68.39395155091758,49.09242042006294],[-68.39044445311839,49.103889501416155],[-68.42585440830555,49.12022727961973],[-68.40054589341447,49.14374726996531],[-68.40073261169731,49.16548724002337],[-68.43920039507621,49.185283173279764]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.50503649538176,\"lat\":49.11217640345351},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2496\"],\"cd_name_en\":[\"Manicouagan\"],\"csd_code\":[\"2496040\"],\"csd_name_en\":[\"Ragueneau\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Manicouagan\",\"csd_name_fr\":\"Ragueneau\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.91958345166667,52.91038714465784],[-78.89066950422469,52.92098050005045],[-78.87094460399186,52.93456479766323],[-78.87114840713467,52.944908786304225],[-78.84673639828897,52.94567618974936],[-78.82703069416739,52.95830998972242],[-78.80149368841981,52.95153160031291],[-78.77977892194767,52.95720931485948],[-78.68668844520757,52.958160791160374],[-78.68776309910942,52.99518087352889],[-78.5157217278053,52.99344428816656],[-78.50830027256194,53.10675132649578],[-78.95949916640502,53.10679279682327],[-78.9732882473025,53.08233277834053],[-78.99348169770569,53.07202167867766],[-78.98676831551106,53.04365203282129],[-78.99516674049576,53.0344667493857],[-78.99747942258045,53.013496035258385],[-78.9655568513605,52.99236320721877],[-78.93100032410112,52.98163381521455],[-78.90028296238323,52.98575717949074],[-78.87145154914438,52.97656057994341],[-78.84380860933015,52.979506811035286],[-78.83481121112914,52.96844803245859],[-78.86071091875952,52.94999312372127],[-78.86949912186,52.94651558600114],[-78.88282883297623,52.93501227632704],[-78.92315723207393,52.91317857215975],[-78.91958345166667,52.91038714465784]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.75467947413155,\"lat\":53.040409318774095},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499812\"],\"csd_name_en\":[\"Wemindji\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Terres r\\u00e9serv\\u00e9es aux Cris\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Wemindji\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.6731982059267,62.20363399614033],[-75.69163519997431,62.20077838742664],[-75.7325720755319,62.18534340618937],[-75.78299752554537,62.187959189622056],[-75.79388339002234,62.168550407746906],[-75.806349112553,62.16317719022938],[-75.8524216216423,62.15789391377046],[-75.8684967748189,62.164033006824496],[-75.86348529335666,62.17732908929901],[-75.84398299345122,62.18032960444472],[-75.82327151217493,62.19407861278984],[-75.7900852939372,62.20382360975398],[-75.74255039982918,62.20534769171844],[-75.70043080284157,62.22236080493156],[-75.67945521493793,62.24131739054596],[-75.66482231791836,62.24033068985558],[-75.63370582609957,62.25332270008475],[-75.62107248761507,62.25256668698649],[-75.5718971018948,62.26198910111592],[-75.56185567928999,62.27070690525577],[-75.58922588088701,62.277510597223355],[-75.61321210408346,62.276761499765094],[-75.62254441389437,62.287389013205114],[-75.71441720274815,62.30348069500809],[-75.77344079378427,62.26994861082465],[-75.94364589988359,62.21535343273717],[-75.9505101999487,62.19650601793652],[-75.99280595005278,62.15463788810936],[-76.0170845100432,62.14766495660832],[-75.99201718774168,62.12681478973697],[-75.94327170069344,62.14633146702103],[-75.83705750646541,62.11763944843409],[-75.65984188566834,62.01561571780616],[-75.57482758916794,62.024943991564875],[-75.57150229588787,61.981064012119994],[-75.55503831385758,61.94292395971531],[-75.4296746441672,61.9475957945748],[-75.3440079159577,61.970791268989935],[-75.43616801333681,62.06125642062012],[-75.48950276008128,62.10409652113908],[-75.49410125643624,62.16166647525985],[-75.48501543457193,62.24352057236709],[-75.40481452372148,62.250624629363],[-75.42712721518198,62.26504000657615],[-75.44238879525474,62.29649270755836],[-75.45281068433768,62.30371020959222],[-75.51453311705696,62.27000749938377],[-75.52417528445216,62.25324838740606],[-75.57845831900201,62.23924051428851],[-75.58049343697685,62.22335528709123],[-75.61248398424011,62.22308000144765],[-75.61235732157463,62.1781647178488],[-75.6724585698993,62.17812722219472],[-75.6731982059267,62.20363399614033]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.641266860592,\"lat\":62.1310278139316},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499887\"],\"csd_name_en\":[\"Salluit\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Terre inuite\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Salluit\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.33481774334183,44.259184579638244],[-78.37863143467469,44.26556982375929],[-78.37585888171087,44.28206786086582],[-78.38388218742924,44.30078025474292],[-78.42546930703732,44.290423901496304],[-78.58262440740477,44.253013897158475],[-78.58421998991973,44.251299486998185],[-78.51629230628808,44.09875771123711],[-78.50869780954282,44.081278003590185],[-78.4993637817587,44.08506859729525],[-78.44679201214437,44.09543989145998],[-78.34703320008303,44.11986848635368],[-78.38734981416738,44.20441310999257],[-78.35467363977632,44.211882380991334],[-78.3431476910279,44.23518415523116],[-78.33640330492473,44.240076106491145],[-78.33481774334183,44.259184579638244]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.45530643870161,\"lat\":44.19440243407094},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3515\"],\"cd_name_en\":[\"Peterborough\"],\"csd_code\":[\"3515013\"],\"csd_name_en\":[\"Cavan Monaghan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Peterborough\",\"csd_name_fr\":\"Cavan Monaghan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.42861769513283,43.83473979842812],[-79.45414269367093,43.82937069458874],[-79.47774487088314,43.9242717897015],[-79.59987059981621,43.898649598108314],[-79.69717476853664,43.8772875341611],[-79.71151275544555,43.87576071012154],[-79.69521541985628,43.847718118794496],[-79.63930240562539,43.74984570709066],[-79.42007360452473,43.797992903151226],[-79.42861769513283,43.83473979842812]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.56496865788712,\"lat\":43.836530401830096},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3519\"],\"cd_name_en\":[\"York\"],\"csd_code\":[\"3519028\"],\"csd_name_en\":[\"Vaughan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"York\",\"csd_name_fr\":\"Vaughan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.16035631045428,43.561107497837995],[-80.14501724491058,43.566998560226644],[-80.1343781002173,43.585447007424115],[-80.08559119969696,43.628977205117955],[-80.08575470536442,43.62911000420274],[-80.22276500023803,43.72530228771465],[-80.28363170078309,43.67171230284036],[-80.2813503045316,43.66330618751927],[-80.2965607889872,43.655477286952255],[-80.3485510158789,43.618382604453934],[-80.3552653073309,43.62330989867825],[-80.4097492494637,43.58319224057976],[-80.38301450081993,43.56359640282171],[-80.3677395094976,43.56898330907558],[-80.37395268577451,43.53282299610581],[-80.30602629098593,43.472066191728835],[-80.30420603048215,43.46858529738929],[-80.25478671518862,43.50515612891963],[-80.25204769663037,43.51782409751739],[-80.26120845655471,43.525372611027386],[-80.27814846815129,43.51087282164209],[-80.29753380311276,43.523390762669834],[-80.30715877469957,43.5196627445822],[-80.32694355724972,43.53437290360299],[-80.31975128358884,43.54247220660185],[-80.2765941003044,43.57075853102348],[-80.27527055822321,43.585894788540756],[-80.26751518232453,43.594247579936976],[-80.24383459823885,43.57692371134419],[-80.2250121781867,43.584107833926026],[-80.18786940605982,43.554198989165414],[-80.16966458240722,43.567682606738416],[-80.16035631045428,43.561107497837995]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.24877428141514,\"lat\":43.60769170111521},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3523\"],\"cd_name_en\":[\"Wellington\"],\"csd_code\":[\"3523009\"],\"csd_name_en\":[\"Guelph\\/Eramosa\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Wellington\",\"csd_name_fr\":\"Guelph\\/Eramosa\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.4097492494637,43.58319224057976],[-80.3552653073309,43.62330989867825],[-80.3485510158789,43.618382604453934],[-80.2965607889872,43.655477286952255],[-80.2813503045316,43.66330618751927],[-80.28363170078309,43.67171230284036],[-80.22276500023803,43.72530228771465],[-80.26154450072822,43.752138909991004],[-80.25104690988697,43.761442611199925],[-80.38791321197779,43.85771139624698],[-80.47033810769162,43.783937293519465],[-80.44942260582192,43.76898210758161],[-80.55754341343582,43.6895960045302],[-80.4097492494637,43.58319224057976]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.3866761485087,\"lat\":43.71607209692943},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3523\"],\"cd_name_en\":[\"Wellington\"],\"csd_code\":[\"3523025\"],\"csd_name_en\":[\"Centre Wellington\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Wellington\",\"csd_name_fr\":\"Centre Wellington\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.23843479478494,43.30653390133285],[-80.24848621460696,43.33358576286105],[-80.18760310175014,43.343234499822906],[-80.20467819885329,43.39751850927369],[-80.2695729697141,43.387342130533085],[-80.25157466707994,43.34229622861398],[-80.3216505669403,43.33263918426691],[-80.33993738455361,43.338070907393984],[-80.35002663952145,43.35802051919434],[-80.3494538077083,43.3738249214492],[-80.34129881035543,43.382481764359866],[-80.36819983668016,43.38752752192127],[-80.36727767064615,43.37799775446056],[-80.41390465728495,43.3698254809498],[-80.50595460686611,43.35385938793388],[-80.5036325960373,43.34806839520412],[-80.47154301322166,43.26680201097689],[-80.23843479478494,43.30653390133285]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.36173495120332,\"lat\":43.33017435651201},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3530\"],\"cd_name_en\":[\"Waterloo\"],\"csd_code\":[\"3530004\"],\"csd_name_en\":[\"North Dumfries\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Waterloo\",\"csd_name_fr\":\"North Dumfries\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.3731601097949,42.80610799816786],[-81.36725774599454,42.813416020637376],[-81.38650307064574,42.85513484328668],[-81.39872073259701,42.851893560002765],[-81.40949400052608,42.83497588329541],[-81.42382321862964,42.834709611872874],[-81.44097113621214,42.8291298245555],[-81.43384693623706,42.81985065508208],[-81.43567094981316,42.8154832346491],[-81.42353605390885,42.80912519125683],[-81.42425851202525,42.793995970533544],[-81.3731601097949,42.80610799816786]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.40132834957133,\"lat\":42.82201290368404},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3539\"],\"cd_name_en\":[\"Middlesex\"],\"csd_code\":[\"3539021\"],\"csd_name_en\":[\"Oneida 41\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Middlesex\",\"csd_name_fr\":\"Oneida 41\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.50209528783168,44.537399596659675],[-80.46372608566863,44.372760796035024],[-80.26636219331517,44.41603398946998],[-80.28166528991575,44.48157959954154],[-80.32868204235582,44.69272144977897],[-80.5016633936809,44.89249613523321],[-80.52070802891413,44.90434300823004],[-80.59918520750243,44.97271742249658],[-80.54928559328636,44.750055418968216],[-80.50209528783168,44.537399596659675]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.43046994887183,\"lat\":44.627224779207104},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3542\"],\"cd_name_en\":[\"Grey\"],\"csd_code\":[\"3542045\"],\"csd_name_en\":[\"The Blue Mountains\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Grey\",\"csd_name_fr\":\"The Blue Mountains\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.64584805216765,44.41627098165077],[-79.68264102546385,44.41725088615404],[-79.69990706795338,44.42439162445536],[-79.7224503573927,44.414242969887354],[-79.74538912581399,44.39335857350584],[-79.7447071905082,44.38056859319207],[-79.73304773417864,44.36534372681526],[-79.74565080938316,44.36202959039196],[-79.72860896983804,44.296300222505685],[-79.65515203305094,44.312811856149196],[-79.65927491686594,44.32860968966709],[-79.58587871234936,44.34534469806407],[-79.5907005859959,44.369835990847804],[-79.62047249340212,44.36315729112027],[-79.62672173499749,44.38276705086563],[-79.65176447957212,44.38666915073024],[-79.64584805216765,44.41627098165077]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.68239826650131,\"lat\":44.361153709586155},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3543\"],\"cd_name_en\":[\"Simcoe\"],\"csd_code\":[\"3543042\"],\"csd_name_en\":[\"Barrie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Simcoe\",\"csd_name_fr\":\"Barrie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.98442926866535,44.569855344652474],[-80.03226180427022,44.54764415230397],[-80.16583844760409,44.626246502519265],[-80.17478908507404,44.62998410806452],[-80.14097996392888,44.47254735761926],[-80.10610663219325,44.456962371508574],[-80.07344454632293,44.46318390547723],[-80.05333108980308,44.460825398137956],[-80.05108921104798,44.45201549543928],[-80.02611210004224,44.459449489500486],[-80.02058799964733,44.46835861840051],[-79.97416617416373,44.47747060573787],[-79.98308971142487,44.487903464566074],[-79.96731018978028,44.49486046342079],[-79.97756934324933,44.505775563683635],[-79.97855050423958,44.52008272313894],[-79.96481501196911,44.52609629294691],[-79.97860910678787,44.54255219387461],[-79.97274100737498,44.553406955300744],[-79.98442926866535,44.569855344652474]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.07592933901394,\"lat\":44.525891832353366},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3543\"],\"cd_name_en\":[\"Simcoe\"],\"csd_code\":[\"3543064\"],\"csd_name_en\":[\"Wasaga Beach\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Simcoe\",\"csd_name_fr\":\"Wasaga Beach\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.79838123729115,46.234119643637435],[-78.83476755022652,46.3009568275132],[-78.86461258159463,46.30308259682317],[-78.90990703830784,46.29730869525512],[-78.93264690920913,46.303286261163],[-78.97168395492224,46.30253751956661],[-78.97966592510232,46.27922684065053],[-79.0006735060049,46.28086482991717],[-79.02665211212914,46.289222803844396],[-79.03102697952677,46.28540482179294],[-78.98708639418093,46.20527649511591],[-78.97750994657781,46.187811237489036],[-78.79838123729115,46.234119643637435]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.91584792509313,\"lat\":46.252884246642324},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3548\"],\"cd_name_en\":[\"Nipissing\"],\"csd_code\":[\"3548022\"],\"csd_name_en\":[\"Calvin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Nipissing\",\"csd_name_fr\":\"Calvin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.02665211212914,46.289222803844396],[-79.04044887132811,46.30243015783861],[-79.07252303164968,46.30498885080251],[-79.08987066536432,46.317116754366744],[-79.13608898638658,46.34094323956322],[-79.17051043667423,46.32313208944728],[-79.16391244767638,46.31077963907486],[-79.17966070753974,46.301005074912055],[-79.215997072475,46.302926074232],[-79.23879641411375,46.30764665666058],[-79.20579841709768,46.245231982281595],[-79.17647885318436,46.19446121551149],[-79.15775050035289,46.15957663278604],[-79.09849818028894,46.17450782099705],[-78.98708639418093,46.20527649511591],[-79.03102697952677,46.28540482179294],[-79.02665211212914,46.289222803844396]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.11275757041042,\"lat\":46.24860795165475},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3548\"],\"cd_name_en\":[\"Nipissing\"],\"csd_code\":[\"3548027\"],\"csd_name_en\":[\"Bonfield\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Nipissing\",\"csd_name_fr\":\"Bonfield\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-80.5658298435522,45.996336200979634],[-80.5660678186949,45.95474406724585],[-80.52490518012242,45.95583565290307],[-80.52565600228453,45.98483071693666],[-80.54327823120758,45.98258549774873],[-80.5658298435522,45.996336200979634]]],[[[-80.50411475696819,46.03249389928486],[-80.51398105771786,46.024309013186055],[-80.5338648234704,46.01975580838679],[-80.5245419348061,46.00860159903718],[-80.54288503868129,46.00533720734304],[-80.52699893175617,45.9900708066125],[-80.48370125467177,45.98890230083143],[-80.47792604164015,45.994789796039214],[-80.490995043027,46.013120608866934],[-80.48574543876684,46.02766080119686],[-80.50411475696819,46.03249389928486]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.52437963879625,\"lat\":45.992122963815085},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3549\"],\"cd_name_en\":[\"Parry Sound\"],\"csd_code\":[\"3549076\"],\"csd_name_en\":[\"French River 13\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Parry Sound\",\"csd_name_fr\":\"French River 13\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.35081913147995,45.82307358231792],[-82.35030820095163,46.02542021844741],[-82.36114039047585,46.01998360901906],[-82.42974729547619,46.019084114962894],[-82.53411635509346,46.01703046056039],[-82.53492457431147,45.95357296603838],[-82.54383021542449,45.923992818757434],[-82.56632688519076,45.91233717005945],[-82.5753208453199,45.921217711799606],[-82.5705860536869,45.9540183075354],[-82.57832694906106,45.96077010238621],[-82.60342352858012,45.95970071010137],[-82.61672074111301,45.970494212394485],[-82.63290334889479,45.95982339461069],[-82.69672774602654,45.956661396565096],[-82.70984865653797,45.94565590293635],[-82.7040033336498,45.92375451616023],[-82.7259490494665,45.9335599139552],[-82.73755615005595,45.91573350537891],[-82.71330233988557,45.912877593672285],[-82.70531626239247,45.89801090826795],[-82.6858479469026,45.892818418811494],[-82.64604385706025,45.88803440307052],[-82.62241784096122,45.89552789946258],[-82.58967073178948,45.90011655204184],[-82.62247215069115,45.87615434898114],[-82.57537100476642,45.851056972458],[-82.5753455229249,45.831208760556464],[-82.55205564932753,45.82390987124076],[-82.4936032693672,45.825056854453074],[-82.42752610196116,45.82355232816538],[-82.35081913147995,45.82307358231792]],[[-82.45997963589215,45.921876814646254],[-82.44899159860074,45.92352101978114],[-82.44913106835398,45.90546401203203],[-82.4710644930143,45.90238330930335],[-82.48686812591248,45.908604271700966],[-82.48618144074541,45.92092915297305],[-82.45997963589215,45.921876814646254]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.49186062500304,\"lat\":45.91771426001663},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3551\"],\"cd_name_en\":[\"Manitoulin\"],\"csd_code\":[\"3551027\"],\"csd_name_en\":[\"Gordon\\/Barrie Island\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Manitoulin\",\"csd_name_fr\":\"Gordon\\/Barrie Island\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.03630392049821,49.221239713490654],[-81.06070050090642,49.24784805399893],[-81.06120874301426,49.284426633556336],[-81.07019967361461,49.30164998214024],[-81.09046987872962,49.31884797492995],[-81.26482798367662,49.319473773507816],[-81.26867627987221,49.30404295959442],[-81.24766274350392,49.27420012827797],[-81.20433337522093,49.25515289928197],[-81.20236224332339,49.243003697620985],[-81.18418831068237,49.22436505282991],[-81.16630829712076,49.21364804853395],[-81.15201133754833,49.19536086265518],[-81.12745775862706,49.18370941508994],[-81.13690855726139,49.16539266675138],[-81.13604011356652,49.13766607174622],[-81.12795007036878,49.11744727367542],[-81.14394145971146,49.11317967205403],[-81.14283852055917,49.097744315194554],[-81.15170562138654,49.0849228404102],[-81.14253412492195,49.07695350643531],[-81.13876857686942,49.0584526562194],[-81.07435310363348,49.05853019320532],[-81.0758331359258,48.971929564235424],[-80.94254823587842,48.97183835903859],[-80.94199000275039,49.058818406640235],[-80.87687580986922,49.05883030380061],[-80.87670979333254,49.19874045062514],[-80.97439681416309,49.20088496567753],[-80.99474796382208,49.20931827653244],[-81.01598257482472,49.20996339169117],[-81.03630392049821,49.221239713490654]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.04616290597808,\"lat\":49.14883148375028},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3556\"],\"cd_name_en\":[\"Cochrane\"],\"csd_code\":[\"3556042\"],\"csd_name_en\":[\"Cochrane\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Cochrane\",\"csd_name_fr\":\"Cochrane\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-85.3336054348122,48.538669175890696],[-85.18927928591181,48.5402141428801],[-85.1899701357581,48.62640316613235],[-85.33256000351913,48.625614731485925],[-85.3336054348122,48.538669175890696]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-85.26145642148757,\"lat\":48.58263723595778},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3557\"],\"cd_name_en\":[\"Algoma\"],\"csd_code\":[\"3557091\"],\"csd_name_en\":[\"White River\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Algoma\",\"csd_name_fr\":\"White River\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-84.62950445732196,46.905171875123365],[-84.62903129702349,46.90904762080256],[-84.63926881414118,46.9095875670641],[-84.63445414644372,46.902127312887124],[-84.62950445732196,46.905171875123365]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-84.63362039336582,\"lat\":46.906635467558516},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3557\"],\"cd_name_en\":[\"Algoma\"],\"csd_code\":[\"3557092\"],\"csd_name_en\":[\"Obadjiwan 15E\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Algoma\",\"csd_name_fr\":\"Obadjiwan 15E\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-89.63225860858321,48.31324603104576],[-89.6720725483182,48.31105943665988],[-89.76544610079128,48.31120671126055],[-89.76696090675038,48.22532363187208],[-89.63664749611434,48.224372195676956],[-89.6361163305817,48.30016294539773],[-89.63225860858321,48.31324603104576]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-89.70086509743096,\"lat\":48.26815575591981},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3558\"],\"cd_name_en\":[\"Thunder Bay\"],\"csd_code\":[\"3558012\"],\"csd_name_en\":[\"Gillies\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Thunder Bay\",\"csd_name_fr\":\"Gillies\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-88.43314973081975,48.966965121038136],[-88.43291766338194,48.92433829872976],[-88.34132210376063,48.924123570196585],[-88.23502603165464,48.92872981984555],[-88.23403270771641,48.94898705732493],[-88.2480695796905,48.95361360071243],[-88.25110133146052,48.96584423123513],[-88.43314973081975,48.966965121038136]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-88.33867633722284,\"lat\":48.94552009269225},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3558\"],\"cd_name_en\":[\"Thunder Bay\"],\"csd_code\":[\"3558041\"],\"csd_name_en\":[\"Red Rock\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Thunder Bay\",\"csd_name_fr\":\"Red Rock\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-99.09931091381247,49.53314980464793],[-99.11426251073071,49.532452393461064],[-99.36036096588535,49.53348173595462],[-99.35976430034543,49.236930096118854],[-99.36102736035399,49.222067060306635],[-99.2588414815982,49.222833102342555],[-99.2239608834248,49.2216967632953],[-99.1927398676597,49.20808041632076],[-99.0879449282845,49.20777590210345],[-99.06528268647514,49.214893204101465],[-99.02014611895243,49.21455760864957],[-99.02031633589633,49.25129586919479],[-98.99812894946037,49.27988980141743],[-98.97553433245822,49.2796489365791],[-98.96482691810897,49.29564789970374],[-98.96465236066132,49.325122625751895],[-98.95262406228503,49.324346703503764],[-98.95275137794266,49.355025088345215],[-99.08840391241716,49.35493330914636],[-99.08850218759896,49.53234900238871],[-99.09931091381247,49.53314980464793]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-99.19569893003909,\"lat\":49.36303099779993},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4604\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"4604057\"],\"csd_name_en\":[\"Argyle\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Argyle\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-98.77929097796353,49.79810397153428],[-99.09786461181238,49.79806829290119],[-99.09757826841084,49.753565016781536],[-99.09810119508869,49.53637089770471],[-99.09931091381247,49.53314980464793],[-99.08850218759896,49.53234900238871],[-98.82343841283769,49.53221220970725],[-98.73270999237975,49.53247891188525],[-98.73310540267074,49.591315301589766],[-98.74465796374675,49.59134916292456],[-98.74492112947863,49.62094805266761],[-98.77856501716359,49.62094898513199],[-98.77929097796353,49.79810397153428]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-98.93075195106103,\"lat\":49.66129189763933},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4608\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4608042\"],\"csd_name_en\":[\"Victoria\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Victoria\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-100.2306995890035,50.329021088329554],[-100.43820691221177,50.329004795460364],[-100.50667596386401,50.32811949654404],[-100.50706698701346,50.24461074099758],[-100.48498150044112,50.24063379564832],[-100.48455369403328,50.06313671005454],[-100.48455418912046,50.06303690125719],[-100.47119435102137,50.06361350672847],[-100.20774029794167,50.06352199622488],[-100.07206599276076,50.063609587490156],[-99.9352682854642,50.06357299391749],[-99.93468449018164,50.24023831091907],[-99.95426180054339,50.2408921298822],[-99.95368829962895,50.32894311176199],[-100.2306995890035,50.329021088329554]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.21662026997316,\"lat\":50.19642558430162},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4615\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4615032\"],\"csd_name_en\":[\"Oakview\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Oakview\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.25874977285197,53.82556255251154],[-101.27683735674985,53.82449494039932],[-101.28113503812823,53.823239489455396],[-101.2567096481843,53.82352613811873],[-101.25874977285197,53.82556255251154]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.26730766337496,\"lat\":53.82419488567265},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4621\"],\"cd_name_en\":[\"Division No. 21\"],\"csd_code\":[\"4621035\"],\"csd_name_en\":[\"Opaskwayak Cree Nation 21C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 21\",\"csd_name_fr\":\"Opaskwayak Cree Nation 21C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-100.53705691334977,56.870097149012864],[-100.56701486458692,56.86158420970912],[-100.57378924742805,56.851676049293296],[-100.59145175774749,56.84893285923008],[-100.61003118182637,56.837301216101075],[-100.60514447066602,56.79219834924994],[-100.53701176691251,56.81584344665313],[-100.5371942327974,56.832847660609005],[-100.54751543011736,56.84173665606817],[-100.53705691334977,56.870097149012864]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.57322212099061,\"lat\":56.82942930065409},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4623\"],\"cd_name_en\":[\"Division No. 23\"],\"csd_code\":[\"4623800\"],\"csd_name_en\":[\"Black Sturgeon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 23\",\"csd_name_fr\":\"Black Sturgeon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.81243895277854,49.13211683762073],[-102.79045870794329,49.139769935202544],[-102.8124373844488,49.14665540503376],[-102.81243895277854,49.13211683762073]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.80511168172355,\"lat\":49.13951405928569},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701021\"],\"csd_name_en\":[\"Bienfait\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Bienfait\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.28382267304606,49.83087813136642],[-102.27880767280821,49.83406129233931],[-102.28943216125725,49.83559626990476],[-102.28923745869865,49.83180974010031],[-102.28382267304606,49.83087813136642]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.28516332865864,\"lat\":49.83326525977065},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701079\"],\"csd_name_en\":[\"Kenosee Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Kenosee Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.52753469572227,50.0000964706831],[-104.5276594475018,49.98660671734079],[-104.50888868077999,49.98650368800412],[-104.50889470744697,50.00000756182161],[-104.52753469572227,50.0000964706831]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.51824286418147,\"lat\":49.9932957343674},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4702\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4702067\"],\"csd_name_en\":[\"Milestone\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Milestone\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.00525009073417,49.5236983999817],[-106.00442703907383,49.55271928507008],[-106.00602999836431,49.6693328925222],[-106.00679142483764,49.78576108251174],[-106.13941099225657,49.78556419982189],[-106.41051818016055,49.78553119853951],[-106.41089771420339,49.523573185166505],[-106.41084496270534,49.46562034573609],[-106.33118146265319,49.46596005189722],[-106.31508448572028,49.45629804132003],[-106.26827896699261,49.46456274181663],[-106.25878714886613,49.48210424729298],[-106.22365376962603,49.47432483748148],[-106.2002981479243,49.478261641621884],[-106.19428036811138,49.471749848061734],[-106.14490287371495,49.44842544842183],[-106.1239485776201,49.45372275831044],[-106.11118456323567,49.45088434900132],[-106.0767809802206,49.45267814818341],[-106.05719719543814,49.44501855726469],[-106.04686590006234,49.45035245595385],[-106.0051953625144,49.451168508667095],[-106.00525009073417,49.5236983999817]],[[-106.25831826065371,49.65124691303295],[-106.27496822437342,49.65037035797208],[-106.2749637953744,49.6549497997074],[-106.25907299334943,49.654783221557466],[-106.25831826065371,49.65124691303295]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.2059459273452,\"lat\":49.62301335686089},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4703\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4703038\"],\"csd_name_en\":[\"Stonehenge No. 73\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Stonehenge No. 73\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.41051818016055,49.78553119853951],[-106.8171089853239,49.78540830689131],[-106.81721421113028,49.5237327953826],[-106.81416051421007,49.52373570202809],[-106.41089771420339,49.523573185166505],[-106.41051818016055,49.78553119853951]],[[-106.58020253623343,49.71265646880217],[-106.56870969937975,49.71273361046522],[-106.5686873950797,49.69826080192969],[-106.58079946273672,49.69818791188382],[-106.58020253623343,49.71265646880217]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.61396084889034,\"lat\":49.65449542429768},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4703\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4703042\"],\"csd_name_en\":[\"Wood River No. 74\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Wood River No. 74\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.82525502355418,50.11246466897111],[-102.84848997766252,50.11198665255519],[-102.84857961792089,50.105488600702834],[-102.82524675508448,50.10446422286161],[-102.82525502355418,50.11246466897111]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.83649106383133,\"lat\":50.1085935633268},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705019\"],\"csd_name_en\":[\"Windthorst\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Windthorst\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.50879368039081,50.68310989452072],[-101.64827619730097,50.68294409975046],[-102.00597610414243,50.679244589981565],[-102.0056901810964,50.5464133844218],[-101.99331986033216,50.548093147093155],[-101.97482425852382,50.535157538581295],[-101.93459126079902,50.51751864108209],[-101.87353518520219,50.53548283261166],[-101.8470575136461,50.5326448182218],[-101.84726040217679,50.54119320539789],[-101.8355615870652,50.54106037686406],[-101.8381863735924,50.531991649193984],[-101.82617377528348,50.52988025148042],[-101.80520735562733,50.50340433781697],[-101.81273367351893,50.48758715263636],[-101.78669188376934,50.47710633352644],[-101.75614087615848,50.482343952312696],[-101.70643826152346,50.51526503974954],[-101.68826125011704,50.51888973404091],[-101.63337055800307,50.51959543889269],[-101.60487526379661,50.5074137500248],[-101.59066427941141,50.496741948400114],[-101.56531557530971,50.49076793563268],[-101.48845964991841,50.49013567557173],[-101.47690022207735,50.4853637674369],[-101.47699491379564,50.59438750561971],[-101.50872882326924,50.59439335052608],[-101.50879368039081,50.68310989452072]],[[-101.80095136441739,50.66676369639443],[-101.78804627994154,50.67051121641963],[-101.78796979407764,50.66066861162548],[-101.80095136441739,50.66676369639443]],[[-101.67969044630799,50.597337349343945],[-101.69468709142708,50.60122109259012],[-101.69477760969679,50.60866730613573],[-101.67875081282513,50.60534799007177],[-101.67969044630799,50.597337349343945]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.73625685821746,\"lat\":50.593641102095624},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705041\"],\"csd_name_en\":[\"Spy Hill No. 152\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Spy Hill No. 152\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.21514008128784,50.77038358835918],[-102.21512130104088,50.7821576002959],[-102.23837689639102,50.78203370030866],[-102.2383821622522,50.774752904556536],[-102.21514008128784,50.77038358835918]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.22584126612506,\"lat\":50.77724877878681},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705053\"],\"csd_name_en\":[\"Atwater\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Atwater\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.5390436916405,51.125060905248496],[-101.72663623721526,51.125286901945465],[-101.89064000487593,51.122718282153045],[-102.0061569298665,51.12176924556218],[-102.00589147843252,50.85569689653976],[-101.90456038345489,50.85790779561502],[-101.78814382300597,50.858399692470826],[-101.64842711741731,50.860083704599255],[-101.50884240637453,50.859814687312834],[-101.50869461731347,50.94848512980243],[-101.53898869893347,50.94849531104212],[-101.5390436916405,51.125060905248496]],[[-101.6093425794501,51.078280094314636],[-101.60937830510402,51.085454173179755],[-101.59741380120946,51.08826637329484],[-101.59872147783065,51.078488290105334],[-101.6093425794501,51.078280094314636]],[[-101.88379698607828,50.88759391136119],[-101.90436056795465,50.88726568234964],[-101.90480278496908,50.90224731395989],[-101.88135828722048,50.90245089104577],[-101.88379698607828,50.88759391136119]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.76706237310147,\"lat\":50.98966781223627},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705093\"],\"csd_name_en\":[\"Churchbridge No. 211\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Churchbridge No. 211\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.70879829545241,50.76071531108192],[-103.71544725160739,50.762258071580035],[-103.71558656638166,50.753564550353815],[-103.69249169413291,50.74638810602365],[-103.6926873487788,50.75750069147422],[-103.70879829545241,50.76071531108192]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.70358716954841,\"lat\":50.75475742810823},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706049\"],\"csd_name_en\":[\"Lebret\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Lebret\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.53909530643239,50.66944896226851],[-105.54021278026603,50.68788553683439],[-105.55190225403403,50.70280217578201],[-105.59764321970238,50.71694970245677],[-105.57013599366672,50.697343385060734],[-105.54703056699574,50.673743748178914],[-105.53909530643239,50.66944896226851]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.5589950519118,\"lat\":50.69431842810175},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706081\"],\"csd_name_en\":[\"North Grove\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Resort village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"North Grove\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.10982807911067,50.74668768928175],[-104.10940925266375,50.71717940327363],[-103.92179769964405,50.71727560431573],[-103.91856327721784,50.79136391345671],[-103.95788918324187,50.7743789556469],[-104.00790359152158,50.770281252264056],[-104.01774688359573,50.77873165726766],[-104.03318548475919,50.77399715321453],[-104.11045249753661,50.78236884777533],[-104.10982807911067,50.74668768928175]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.01488523114337,\"lat\":50.74751915481669},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706812\"],\"csd_name_en\":[\"Pasqua 79\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Pasqua 79\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.96033531676987,50.121449977521436],[-106.97150862291505,50.109606239609],[-106.95706774656945,50.10779742927621],[-106.96033531676987,50.121449977521436]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.9629705620848,\"lat\":50.11295121546888},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707016\"],\"csd_name_en\":[\"Hodgeville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Hodgeville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.47725003094436,50.10412770506183],[-108.4958209836484,50.09957728959272],[-108.49665907500368,50.087580791572805],[-108.47331251026138,50.08776713605348],[-108.47725003094436,50.10412770506183]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.48513779726213,\"lat\":50.09459128062838},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4708\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4708011\"],\"csd_name_en\":[\"Gull Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Gull Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.07762923695098,51.75027121484116],[-102.07816835747781,51.79396018180377],[-102.19551602534366,51.79465226385145],[-102.19589097216658,51.73402325397332],[-102.18117437579828,51.726403133824846],[-102.15812647464313,51.727283535138945],[-102.14337557699818,51.72121223441681],[-102.11156026544542,51.72335355140606],[-102.08761875602534,51.730846545232566],[-102.07762923695098,51.75027121484116]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.13746406123698,\"lat\":51.76035513277848},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709821\"],\"csd_name_en\":[\"The Key 65\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"The Key 65\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.25335124617041,51.66239894510241],[-102.2673527405106,51.66228889622836],[-102.2673042737474,51.654185073106774],[-102.25311871155654,51.6541652187088],[-102.25335124617041,51.66239894510241]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.26026283152964,\"lat\":51.65825081106182},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709830\"],\"csd_name_en\":[\"Keeseekoose 66-KE-04\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Keeseekoose 66-KE-04\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.75457508861808,51.88158550291442],[-106.7128275889664,51.881733904369995],[-106.71275990110993,51.86702035631019],[-106.72451813613961,51.852432695537736],[-106.71267836027162,51.83793945985839],[-106.6891364673183,51.837939555362226],[-106.68913069538631,51.896128435568606],[-106.72331149670384,51.89614724046526],[-106.72428118931106,51.91064455101081],[-106.73636285498695,51.9179611933539],[-106.77413736394575,51.9179090638886],[-106.74795010814444,51.90172465671771],[-106.75457508861808,51.88158550291442]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.71868505826038,\"lat\":51.88072266907735},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711828\"],\"csd_name_en\":[\"Whitecap\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Whitecap\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.9726919331723,51.53952769605191],[-107.96688857357456,51.56866518975761],[-108.01955335563152,51.568982450704745],[-108.01953733008304,51.53990632191159],[-107.9726919331723,51.53952769605191]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.9946251151011,\"lat\":51.554553514556446},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4712\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4712006\"],\"csd_name_en\":[\"Rosetown\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Rosetown\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.97892291889511,52.0416140512715],[-107.95510305666573,52.041514535089775],[-107.95521744706977,52.0853288215306],[-108.00388121947286,52.08534404489559],[-108.00285340927206,52.04159757022756],[-107.97892291889511,52.0416140512715]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.979258574264,\"lat\":52.0635298615612},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4712\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4712046\"],\"csd_name_en\":[\"Biggar\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Biggar\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.18049150646341,52.929146098987836],[-104.32555708687367,52.92904221399374],[-104.61618570050868,52.92917661081552],[-104.61601619008566,52.8777720090237],[-104.57998034183125,52.87789117866436],[-104.58007604452897,52.834213021331166],[-104.60442586924319,52.83410431442277],[-104.61595847775712,52.84853330519022],[-104.61525969027943,52.7391069463983],[-104.61666206241884,52.66702907274083],[-104.59782084036836,52.6668798599463],[-104.18020685970285,52.66737298704321],[-104.18054946574911,52.84859457066451],[-104.19272892607592,52.8480991689005],[-104.19296829992417,52.856371004755644],[-104.18048178595167,52.85637331240322],[-104.18049150646341,52.929146098987836]],[[-104.33418182960219,52.8671333401193],[-104.32556878318289,52.86508910952009],[-104.32938230752639,52.856309461127346],[-104.33746037273625,52.85982220539043],[-104.33418182960219,52.8671333401193]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.39580511188623,\"lat\":52.797235703485995},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714047\"],\"csd_name_en\":[\"Star City No. 428\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Star City No. 428\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.33418182960219,52.8671333401193],[-104.33746037273625,52.85982220539043],[-104.32938230752639,52.856309461127346],[-104.32556878318289,52.86508910952009],[-104.33418182960219,52.8671333401193]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.3315276656844,\"lat\":52.8620393390617},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714049\"],\"csd_name_en\":[\"Star City\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Star City\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.61595847775712,52.84853330519022],[-104.60442586924319,52.83410431442277],[-104.58007604452897,52.834213021331166],[-104.57998034183125,52.87789117866436],[-104.61601619008566,52.8777720090237],[-104.6401289858972,52.874580692926116],[-104.64014539372442,52.856372503178775],[-104.61595847775712,52.84853330519022]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.60553119293714,\"lat\":52.85897735722978},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714051\"],\"csd_name_en\":[\"Melfort\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Melfort\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.5968448128488,52.40549019715469],[-104.88496019063551,52.40541129180612],[-105.00301705421872,52.40574594549236],[-105.02794430829468,52.405769688838745],[-105.02718497972495,52.31835619616798],[-105.0040932187236,52.31835919215509],[-105.00428661956856,52.195040224949274],[-104.98048895275794,52.19428033746125],[-104.9805595097726,52.18817418570048],[-105.004286013799,52.18740370220604],[-105.00429631957829,52.143743706459375],[-104.57801307850725,52.14389695993341],[-104.57787469437976,52.31843218862452],[-104.59688831033215,52.31842671038711],[-104.5968448128488,52.40549019715469]],[[-104.65204178717461,52.15855079743648],[-104.66171471708513,52.15827318004131],[-104.66130115261568,52.16536258454106],[-104.64929628932687,52.165636409432956],[-104.65204178717461,52.15855079743648]],[[-104.82497288431367,52.31939841333477],[-104.8247716954324,52.32590835320288],[-104.8129883613338,52.32577635296808],[-104.81491668175079,52.3174266125862],[-104.82497288431367,52.31939841333477]],[[-104.83231232960075,52.175852327448],[-104.81982485343818,52.17973259333113],[-104.81962196806074,52.17296279772869],[-104.83231232960075,52.175852327448]],[[-104.99210689806388,52.390268985869746],[-104.99211269953855,52.40008408885853],[-104.98031930751557,52.40060188744636],[-104.9781875669124,52.39265107402562],[-104.99210689806388,52.390268985869746]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.79780859222234,\"lat\":52.27504305580672},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715001\"],\"csd_name_en\":[\"St. Peter No. 369\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"St. Peter No. 369\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.14809329760791,52.49307259543569],[-106.14780822408407,52.580215634549795],[-106.1493899364311,52.573067509877646],[-106.1701501522287,52.56302439587927],[-106.19740888614741,52.543539565795164],[-106.24340569711048,52.524371533039464],[-106.2562660261101,52.49917951624493],[-106.30294945903368,52.485275734504924],[-106.30649255241323,52.46723915991966],[-106.32880810057642,52.458354266361496],[-106.34403949751578,52.43505559923614],[-106.34224800015527,52.40491578350328],[-106.38040618821941,52.4030166789092],[-106.40333548713343,52.38165803728944],[-106.40353008314732,52.364197296711936],[-106.42661442817813,52.34885577575973],[-106.44647533847649,52.32676647007991],[-106.43251290137698,52.318394296552455],[-106.43231049738401,52.143803602248234],[-106.14693751768192,52.14383129635118],[-106.14707150571147,52.31831939986097],[-106.14809329760791,52.49307259543569]],[[-106.27999608350777,52.318302396257394],[-106.302922516168,52.332980539187105],[-106.27978676786397,52.33296316488066],[-106.27999608350777,52.318302396257394]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.27325142193467,\"lat\":52.315553623869384},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715018\"],\"csd_name_en\":[\"Aberdeen No. 373\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Aberdeen No. 373\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.031346968591,52.958174841220014],[-105.03708165678124,52.94147456420588],[-105.02254273619096,52.944367182492044],[-105.031346968591,52.958174841220014]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.03032378718775,\"lat\":52.94800552930598},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715074\"],\"csd_name_en\":[\"Kinistino\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Kinistino\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.36714171318621,53.437820385796314],[-105.36709151633839,53.440158003189715],[-105.35882752098965,53.44070670453508],[-105.35892593147575,53.44276758223329],[-105.37265161178946,53.44231241485069],[-105.37395649864573,53.43781730374313],[-105.36714171318621,53.437820385796314]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.36741900656773,\"lat\":53.4406142483149},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715092\"],\"csd_name_en\":[\"Meath Park\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Meath Park\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.24561766873533,52.405773848008586],[-107.24443741190034,52.401948841105636],[-107.2298311135637,52.400326104568165],[-107.23302820305202,52.40868848364755],[-107.24561766873533,52.405773848008586]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.2373763810087,\"lat\":52.404210345113974},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716011\"],\"csd_name_en\":[\"Borden\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Borden\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.02035891218355,52.92953810841811],[-107.16787929270828,52.929373896323206],[-107.45539299826264,52.92946071281497],[-107.45528978485095,52.66777900878348],[-107.44339590342943,52.667746186236116],[-107.44342398183714,52.5804767894258],[-107.15535148376797,52.58035399854111],[-107.15533390137156,52.6094694922956],[-107.0126376111055,52.609296310294006],[-107.01136450500447,52.6676177087453],[-107.02010191950194,52.667663696027354],[-107.02035891218355,52.92953810841811]],[[-107.06864201985398,52.78651970208011],[-107.08534528556132,52.78381761253062],[-107.08629771922189,52.79115353562349],[-107.068713188954,52.79208410890113],[-107.06864201985398,52.78651970208011]],[[-107.35875431803679,52.729078092035714],[-107.3464993181662,52.729765757733205],[-107.34612695179803,52.717960105473],[-107.35876705453107,52.71938370944262],[-107.35875431803679,52.729078092035714]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.23956067041365,\"lat\":52.75972596580627},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716018\"],\"csd_name_en\":[\"Redberry No. 435\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Redberry No. 435\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.51621097415251,53.277587571202176],[-109.96689894497402,53.278049655327614],[-109.97912178176118,53.263145677946575],[-109.9791352668798,53.24290013528114],[-110.00547084304866,53.243396553013106],[-110.00565140556915,53.04520251098365],[-110.00463884210335,52.987233674956954],[-110.00602655043274,52.886481779407845],[-110.00516260005787,52.85733784466667],[-109.97842813759956,52.866628599979755],[-109.95525402824772,52.885563107500616],[-109.93279170817796,52.88630585927321],[-109.91327286098661,52.91029791286953],[-109.86524242527061,52.942793358297486],[-109.85115174179843,52.963844098099095],[-109.80579404659338,52.98582566905505],[-109.79749751417715,53.00598365898629],[-109.76455802187394,53.023805112172546],[-109.72615384692352,53.027586309669054],[-109.65942130261001,53.04102960093868],[-109.6211828892075,53.0426915978017],[-109.60308480083228,53.04652406182166],[-109.56639674247401,53.041398401718574],[-109.51616588585735,53.03812115447284],[-109.51621097415251,53.277587571202176]],[[-109.62541208977629,53.132492295800695],[-109.60092548214759,53.13250855075981],[-109.60091529340623,53.11708874512766],[-109.62545133318669,53.11744153131447],[-109.62541208977629,53.132492295800695]],[[-109.7840244976138,53.18988174070095],[-109.79015840585231,53.19845058887528],[-109.772411789602,53.19854652259452],[-109.77129776671755,53.19209779849454],[-109.7840244976138,53.18988174070095]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.78834819049356,\"lat\":53.12413034759844},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717022\"],\"csd_name_en\":[\"Wilton No. 472\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Wilton No. 472\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.80309277140675,54.15931576228736],[-109.80157742561158,54.12192708760163],[-109.72675546004339,54.121909403426955],[-109.72604516064649,54.1803307906838],[-109.80276996888047,54.18009414438336],[-109.80309277140675,54.15931576228736]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.76444776624828,\"lat\":54.15120016863622},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717810\"],\"csd_name_en\":[\"Ministikwan 161A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Ministikwan 161A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.8355220584201,54.3821473523976],[-107.84561235696677,54.36930005730216],[-107.83140358472949,54.35145771657826],[-107.83547793225308,54.331277701591],[-107.85361552164024,54.32967202715676],[-107.85269944608783,54.23980069210157],[-107.72304472119306,54.23992585383327],[-107.73078486402156,54.36196880154049],[-107.75461176597308,54.36713765510074],[-107.75492256799629,54.38356721051491],[-107.78143089125278,54.395310202542774],[-107.80345523388092,54.40005710055895],[-107.8236478914641,54.413618397019896],[-107.85667474522303,54.41569121325764],[-107.85402426039771,54.4042061080163],[-107.8355220584201,54.3821473523976]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.79146144629539,\"lat\":54.3153009617957},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718021\"],\"csd_name_en\":[\"Green Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Northern village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Green Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.08233875585243,54.674394847152385],[-102.09656377147279,54.66029804852875],[-102.08654384873712,54.64894404112384],[-102.06404824998931,54.656250890038905],[-102.06399146537386,54.67262235738069],[-102.08233875585243,54.674394847152385]],[[-102.08763920246959,54.652288073555226],[-102.08513497897687,54.653552392355394],[-102.08736530644603,54.65242635610743],[-102.08763920246959,54.652288073555226]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.07853675208356,\"lat\":54.66229112865994},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718049\"],\"csd_name_en\":[\"Denare Beach\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Northern village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Denare Beach\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.93788720488017,49.74405468976754],[-112.92352369366213,49.73128618413161],[-112.91425299628818,49.749221111162804],[-112.93788720488017,49.74405468976754]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.92522129827681,\"lat\":49.74152066168732},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4802\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4802013\"],\"csd_name_en\":[\"Coalhurst\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Coalhurst\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.1120974860791,51.99745701504032],[-111.11308655366958,52.005168682986366],[-111.1239738842708,52.00502690576868],[-111.12506794876325,51.99749717578771],[-111.1120974860791,51.99745701504032]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.11853234182779,\"lat\":52.00117658130249},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4804\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"4804021\"],\"csd_name_en\":[\"Veteran\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Veteran\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.51327702423022,51.401380004534495],[-112.5363741330503,51.393768859995454],[-112.56009096049915,51.39402538694286],[-112.56032757151475,51.40867997505629],[-112.59490557080628,51.40877018496445],[-112.59484704775332,51.43069565560504],[-112.6069156942893,51.430768779930034],[-112.6232074547324,51.4462604951535],[-112.65381196647294,51.44505474252562],[-112.67731353022141,51.452274586183854],[-112.67746899241295,51.48112219885349],[-112.72385342659231,51.4814783104339],[-112.72402393665182,51.47406662306105],[-112.75923493249348,51.47400610088023],[-112.75928631775547,51.48863271120155],[-112.80599929673852,51.48866315086787],[-112.8060766697191,51.478704691263495],[-112.80583898786945,51.46661087971359],[-112.79432017816927,51.45949942564862],[-112.75910032307912,51.45961273199733],[-112.73599412678034,51.45238644146918],[-112.73576959539189,51.4451482081597],[-112.7024789759429,51.44506469328249],[-112.72396819371725,51.41607800017976],[-112.67706939019561,51.41606611177005],[-112.67453397014054,51.37241748101165],[-112.63011418845801,51.37236729638984],[-112.63001653602674,51.386645672834206],[-112.57120152682243,51.38627837319501],[-112.53977158060961,51.377370219666794],[-112.51930151625699,51.354498754616394],[-112.4877458206802,51.33384910856665],[-112.4881238459444,51.32158754852014],[-112.45321030939684,51.32346516299722],[-112.45352056161478,51.35055602235025],[-112.47780021141197,51.35791639095469],[-112.47803545519403,51.372292856898305],[-112.51310009970054,51.37228741517699],[-112.51327702423022,51.401380004534495]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.63452653950053,\"lat\":51.41481031988794},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4805\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4805026\"],\"csd_name_en\":[\"Drumheller\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Drumheller\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.49756188707993,51.93974221674399],[-114.50494171257557,51.9243838140969],[-114.51815526404087,51.91565217034316],[-114.54526977045381,51.912417285546525],[-114.56779466918987,51.90359216163195],[-114.56796764916372,51.918398579986],[-114.67242814710553,51.91870471578171],[-114.67339629451199,51.925306748485944],[-114.75797855116062,51.926146421528344],[-114.7929308185619,51.90423086328825],[-114.79314552042912,51.89672152333169],[-114.86385693275719,51.89637911894088],[-114.8687723493911,51.88928675661491],[-114.99439924352842,51.88917764124353],[-114.99365410460797,51.86799256724554],[-114.96965831269249,51.867564979195976],[-114.96967337131576,51.80901670256556],[-114.94642360757909,51.80939209251547],[-114.94641278275125,51.794949695114425],[-114.92278879036782,51.795002504762046],[-114.92302691050871,51.76441962219866],[-114.85157725486138,51.76428490644932],[-114.8516250790883,51.706699491839736],[-114.84295763630327,51.707381233069036],[-114.7805056118246,51.70777903057852],[-114.78172328835298,51.64945399831268],[-114.71020301065751,51.649457108136225],[-114.70420460904278,51.620264723290575],[-114.70378110150776,51.53283169293585],[-114.75178918567514,51.53259669602609],[-114.75158290689782,51.504610093646825],[-114.72841209427456,51.50440022158704],[-114.70375837165065,51.4897870373841],[-114.7041552293839,51.44566027160691],[-114.39486059514887,51.44564821313775],[-114.18937958866722,51.445610189015845],[-114.18918200806299,51.47472140255676],[-114.07198761775116,51.47472070191585],[-114.07207802000347,51.489378899172905],[-113.89618805548432,51.48863932902256],[-113.89604024341207,51.459564175619704],[-113.8023300772959,51.459373793369444],[-113.80239327925969,51.44513439500326],[-113.66171641978178,51.44513209894937],[-113.66162200991938,51.61993908505432],[-113.64169689213685,51.61990937418332],[-113.64255689846276,51.67819051011833],[-113.68985608534112,51.67832141091026],[-113.68988349204889,51.72138311042783],[-113.71347261568867,51.72089803797649],[-113.73572689186621,51.75142786375843],[-113.73636757446218,51.78102453790356],[-113.71326942268017,51.780515852566836],[-113.71349888165527,51.89631399561637],[-113.83125642884397,51.89673106622297],[-113.83159001929789,51.88178390619598],[-114.16709350430361,51.882381595970244],[-114.16711416899254,51.896760393837575],[-114.19068650716154,51.89693180502486],[-114.19075498551867,51.91145929519394],[-114.45055418329014,51.91149570561067],[-114.4505058145814,51.94065350461054],[-114.49756188707993,51.93974221674399]],[[-114.49497713612422,51.547790633099304],[-114.46818969361266,51.54731863782215],[-114.46737905453826,51.53303106857424],[-114.49497713612422,51.547790633099304]],[[-114.62743935443528,51.81069768304],[-114.62229307447669,51.802459037138945],[-114.59217211101046,51.80240252582975],[-114.59216071165433,51.79499188448113],[-114.61825443718824,51.79500207081613],[-114.62382673164979,51.788100014306046],[-114.64506300940074,51.788649245704995],[-114.6630215872759,51.780744208396435],[-114.66298160728437,51.814287273981805],[-114.62743935443528,51.81069768304]],[[-114.10820012373729,51.576523472445075],[-114.10823885567692,51.58380526330421],[-114.0814866512862,51.58367245836342],[-114.081746451037,51.56191908871848],[-114.0720125849568,51.56194169425627],[-114.07204034950985,51.538545645886906],[-114.095462051068,51.53866724352518],[-114.09544807622964,51.54743969606443],[-114.11890969411111,51.54736128856301],[-114.11888869425864,51.56947296172676],[-114.10820012373729,51.576523472445075]],[[-114.14345192139557,51.78754249131932],[-114.14345400563482,51.80956430360268],[-114.09628836452626,51.80979984148172],[-114.09112931125384,51.795027892511605],[-114.10753520264161,51.773595292227846],[-114.14344899351606,51.773224388714745],[-114.14345192139557,51.78754249131932]],[[-114.15472483128347,51.66331875279096],[-114.16703568881029,51.66397420559077],[-114.16703559336807,51.67857009081198],[-114.11974359173439,51.67854339271542],[-114.10482509178789,51.67149559808945],[-114.1045675459247,51.63499177625524],[-114.11973739878152,51.641545513402846],[-114.14357219619505,51.64159387765419],[-114.16700491164794,51.64940179241999],[-114.15472483128347,51.66331875279096]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.26713329236722,\"lat\":51.68850212873073},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4806\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4806028\"],\"csd_name_en\":[\"Mountain View County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Mountain View County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.49497713612422,51.547790633099304],[-114.46737905453826,51.53303106857424],[-114.46818969361266,51.54731863782215],[-114.49497713612422,51.547790633099304]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.47684862809172,\"lat\":51.54271344649857},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4806\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4806031\"],\"csd_name_en\":[\"Cremona\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Cremona\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.75613372362592,52.03831770240837],[-112.7670648216224,52.026486399594376],[-112.74335397175612,52.029978668589415],[-112.75613372362592,52.03831770240837]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.75551750566812,\"lat\":52.03159425686406},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4807\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4807021\"],\"csd_name_en\":[\"Big Valley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Big Valley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.89478159529014,52.4697758701996],[-112.89440078889643,52.46053353755974],[-112.88418318374984,52.45596189224369],[-112.88393899836007,52.448538791502436],[-112.8719741038714,52.448546961508335],[-112.88694899802162,52.46698264952343],[-112.89478159529014,52.4697758701996]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.88489309175945,\"lat\":52.45841139412845},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4807\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4807028\"],\"csd_name_en\":[\"Rochon Sands\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Rochon Sands\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-110.1488436760659,52.70074889501405],[-110.15532041989549,52.68763473333302],[-110.12930250873791,52.68766205896103],[-110.12960367519915,52.69745264482568],[-110.1488436760659,52.70074889501405]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-110.14144905158614,\"lat\":52.69317574343474},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4807\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4807051\"],\"csd_name_en\":[\"Chauvin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Chauvin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.050222589351,53.19244619029295],[-113.04990981526961,53.2001534878086],[-113.06162792428086,53.2000671234224],[-113.05719380372366,53.19244586250788],[-113.050222589351,53.19244619029295]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.05481958432134,\"lat\":53.19660381236297},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4810\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4810014\"],\"csd_name_en\":[\"Hay Lakes\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Hay Lakes\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.5465546937927,53.307438409959865],[-113.54805668580566,53.279714991535464],[-113.6103780941084,53.279724601810535],[-113.61044547816259,53.24286618232098],[-113.56223707698764,53.24327475765193],[-113.56167020553175,53.23603830583125],[-113.49986616159153,53.23578542605099],[-113.48850059126539,53.250546097148934],[-113.48851289875462,53.27967889006843],[-113.512890585273,53.27967089011359],[-113.51290561334076,53.308802901475154],[-113.5465546937927,53.307438409959865]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.54486984314373,\"lat\":53.26510207184624},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811016\"],\"csd_name_en\":[\"Leduc\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Leduc\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.8037381731493,53.272258041703424],[-113.83037060878111,53.265046093468634],[-113.8298140395205,53.25406476181064],[-113.79278831784161,53.25755989581647],[-113.8037381731493,53.272258041703424]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.8130057118092,\"lat\":53.26213593778534},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811019\"],\"csd_name_en\":[\"Calmar\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Calmar\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.07259600806132,53.065256215620394],[-114.07721684210615,53.07067495266816],[-114.07861219986826,53.07593789603451],[-114.08263810471485,53.0747249672721],[-114.07620511969147,53.06486361725961],[-114.07259600806132,53.065256215620394]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.07794458972228,\"lat\":53.07032521872283},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811022\"],\"csd_name_en\":[\"Itaska Beach\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Itaska Beach\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.56187315838766,53.312077758648975],[-114.58083760209502,53.32084136459919],[-114.61996427905225,53.30743185798564],[-114.64245130126551,53.322325563202355],[-114.67843401294493,53.323313252025464],[-114.70467739223736,53.31408425732973],[-114.71351741485125,53.30383067076049],[-114.74400519933828,53.319367175432376],[-114.77692308343684,53.312971169641884],[-114.78366372275578,53.329640270428534],[-114.80924468253815,53.33754343007033],[-114.85473899089409,53.33782538730241],[-114.85494713294108,53.35248304325201],[-114.87929135002844,53.352302858938025],[-114.87928851811715,53.36691270447655],[-115.10824409881972,53.366970771026004],[-115.23471105870938,53.36664034776118],[-115.61108821351029,53.3665751663386],[-115.6107297869473,53.19244478943716],[-115.61091383163343,53.01913569804932],[-115.598196863641,53.01868929233224],[-115.5975390589703,52.97369763137978],[-115.60484186111799,52.967176870706595],[-115.59502059157903,52.93969960805093],[-115.59725334727541,52.9237302861267],[-115.59738131104658,52.843434893115464],[-115.50218919794298,52.8433347085138],[-115.50278690677175,52.85829673931485],[-115.2812319297537,52.858903294943545],[-115.28250212700041,52.842952712196244],[-115.14520648672406,52.84315102966678],[-115.14750938565636,52.857279761214905],[-115.17950911592007,52.880138247717596],[-115.17807038895913,52.895587470498675],[-115.20004750070271,52.8990434573061],[-115.22630472476665,52.913379457293445],[-115.22092648866557,52.928265769123605],[-115.20710600289557,52.938002251586894],[-115.2090768060414,52.95415976438679],[-115.19811962159845,52.96541496399616],[-115.2127841035465,52.98294736288482],[-115.21385579582565,52.994941976584464],[-115.20434860827673,53.00636975169167],[-115.22606909612263,53.03318165936905],[-115.20988071530542,53.05060576410558],[-115.19463519058668,53.05501626190327],[-115.15909160660998,53.05196887545586],[-115.14042880803228,53.05709336238674],[-115.10764141948668,53.05306326363941],[-115.08700849699082,53.055469068407206],[-115.07909350878704,53.06883536257863],[-115.04365770308462,53.05910515915018],[-115.02373478771091,53.06231259786076],[-114.86086092152442,53.06153459803624],[-114.61098206707216,53.06184563818892],[-114.44054872894031,53.061128688312486],[-114.3636131062868,53.061910860187815],[-114.3627306609416,53.13573926600034],[-114.39639814617999,53.13595090130218],[-114.39642353067318,53.1456966421976],[-114.44046441661094,53.14577138316104],[-114.44043507339295,53.19225048701887],[-114.48879513512638,53.192412015289555],[-114.48918450508194,53.22149470316382],[-114.537948658323,53.221096295887676],[-114.53755148930651,53.250611697479236],[-114.5608568616379,53.25053046051109],[-114.56187315838766,53.312077758648975]],[[-114.4770167958443,53.11956029136663],[-114.46484800165106,53.11949890695282],[-114.46484649569929,53.10504450348617],[-114.48231585487612,53.107403889580866],[-114.4770167958443,53.11956029136663]],[[-114.97766104558899,53.243596399418124],[-114.97654181314847,53.250566809679064],[-114.92808347976357,53.25001279173988],[-114.92778252754042,53.22915674054235],[-114.95244127783953,53.22662275546347],[-114.95230889773124,53.20748013207441],[-114.96398648831028,53.20697184266229],[-114.96534149158363,53.178073707933265],[-115.01163291949284,53.17803547899733],[-115.01090434224997,53.24335617216077],[-114.97766104558899,53.243596399418124]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-115.12804559234323,\"lat\":53.15154794083191},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811032\"],\"csd_name_en\":[\"Brazeau County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Brazeau County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.70258316146338,53.57767799418746],[-114.71279890417435,53.57400059318819],[-114.71971259234962,53.56949230387269],[-114.73864481554993,53.5597281970072],[-114.7386562194602,53.550709306877614],[-114.73461201471548,53.552368176064704],[-114.73215891493011,53.56235936642458],[-114.71969069955881,53.568196669767055],[-114.70258316146338,53.57767799418746]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.72840524126228,\"lat\":53.56233342094006},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811038\"],\"csd_name_en\":[\"Seba Beach\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Seba Beach\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.15382478941684,54.260630791055135],[-111.16586895801748,54.2604010574211],[-111.16574941651534,54.246269728826725],[-111.1514837955003,54.25291388742811],[-111.15382478941684,54.260630791055135]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.15977816752587,\"lat\":54.254707383155896},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4812\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4812012\"],\"csd_name_en\":[\"Glendon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Glendon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.4251432761435,54.587470813590855],[-112.50084494727231,54.58746878342616],[-112.5134129130601,54.58027371143235],[-112.51339862029134,54.56562540453915],[-112.57649648527892,54.565540671103],[-112.57654775995022,54.5000793010258],[-112.57689300872899,54.41362015407774],[-112.60086387276976,54.413044454335385],[-112.6010915675709,54.32622823070261],[-112.6886075633189,54.3265205584315],[-112.68801183819359,54.267864312459416],[-112.7633791555538,54.26791039472903],[-112.76330179177778,54.20959200988094],[-112.85075230275659,54.209637990160566],[-112.85080491067677,54.06458779143772],[-112.84010898157487,54.04941258760543],[-112.81636019448003,54.04961555164704],[-112.79017097533686,54.06254226889347],[-112.77659028632172,54.05659587643455],[-112.71737228810498,54.04807676036243],[-112.67462678246908,54.032500465576675],[-112.61776097237295,54.00575626508932],[-112.54625989107709,53.99669505336723],[-112.51753508158681,53.99703007275958],[-112.50546337913644,53.988513776009775],[-112.41988101154082,53.99161645795427],[-112.40363481438618,53.99604067108796],[-112.38269848525259,54.01261017564549],[-112.37100100168007,54.02855135480941],[-112.34430618621715,54.036288462272864],[-112.33392881608452,54.03330126442569],[-112.30053730132381,54.04222185941377],[-112.27800688594102,54.05460384952967],[-112.24777080453254,54.05640605508753],[-112.23050938426445,54.062375658648904],[-112.21141820933921,54.04229485828636],[-112.18508947950649,54.02840977102015],[-112.17983350125185,54.01497377190686],[-112.19270970388573,54.00245676430987],[-112.18767608950009,53.98839827205476],[-112.16223246133127,53.97670109671668],[-112.10655657390001,53.96244885401579],[-112.05881009504576,53.95354606707305],[-112.01335798598704,53.93693527432609],[-111.98036230079636,53.91196875152037],[-111.96116519444782,53.90541086191963],[-111.9234670801038,53.9120520765856],[-111.90612308201798,53.92307515372479],[-111.86145135162707,53.91474852096765],[-111.861279984525,53.97687109045037],[-111.78699281631242,53.97689139255858],[-111.78756207346372,54.054843240073225],[-111.77574765101383,54.07877286636464],[-111.69060474262591,54.078831414933504],[-111.69064887671823,54.06416059775485],[-111.66354810642379,54.06405541826187],[-111.6520488970919,54.08348869630667],[-111.65206986816372,54.10802754267861],[-111.69056759879182,54.107873044337914],[-111.69056419629814,54.16593469081706],[-111.70332221382832,54.16609599561866],[-111.70407595176782,54.195046505579185],[-111.72801042427199,54.20232048043704],[-111.75302646941209,54.20233446705137],[-111.75367678960944,54.23783846939159],[-111.75279417995698,54.253257682820646],[-111.80451241768262,54.25300036730575],[-111.81498620678641,54.26763964242784],[-111.814916267593,54.30427416606337],[-111.83975792996006,54.30422613093209],[-111.84076431157915,54.31864236175504],[-111.85196917339768,54.321400967721225],[-111.85212907296045,54.3552547976825],[-111.94787724803027,54.35490752376113],[-111.94968961592973,54.398599560145655],[-111.97615163907398,54.398557426180034],[-111.97619053294173,54.41308076982867],[-111.99694080121563,54.413137002883595],[-111.99937489760947,54.499510492154066],[-112.12282058798756,54.50007266698004],[-112.12283700089104,54.58733029015895],[-112.4251432761435,54.587470813590855]],[[-112.78197722043437,54.099177491204976],[-112.7757849213505,54.09212640629683],[-112.79051205334656,54.0921833203391],[-112.78197722043437,54.099177491204976]],[[-111.91513412218335,54.11167619739785],[-111.92684149125763,54.111319689536316],[-111.92686310227144,54.12121259698624],[-111.91300276121635,54.12131533992073],[-111.91513412218335,54.11167619739785]],[[-112.49394421196017,54.10102909038176],[-112.48115970322077,54.11797410072],[-112.45076870397291,54.12242100189149],[-112.45070634936691,54.10800851832213],[-112.47573279176838,54.108094798769855],[-112.49394421196017,54.10102909038176]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.25958766859046,\"lat\":54.23853509223128},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4812\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4812022\"],\"csd_name_en\":[\"Smoky Lake County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Smoky Lake County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.56361242887553,55.081709528622156],[-117.57024129759947,55.09408976671355],[-117.5859028820934,55.092698151665424],[-117.58662256052897,55.061159635246256],[-117.62151291696483,55.06189716419361],[-117.63818418190847,55.053998881718236],[-117.64109877722052,54.96740461047019],[-117.56910941701122,54.97036207722438],[-117.56781307587075,54.98646388496092],[-117.54707259949559,54.98519975752183],[-117.53249310473548,54.966649962588136],[-117.5109786916327,54.96502166404624],[-117.50955664966536,55.03054138590639],[-117.36258274903068,55.03053494483265],[-117.36205182352776,55.09052290943633],[-117.45891915272006,55.09104473958567],[-117.48543731042184,55.078414306705604],[-117.49928265810178,55.07776284325915],[-117.52126631969435,55.066746766288375],[-117.56361242887553,55.081709528622156]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.5179302420359,\"lat\":55.03666971159857},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4818\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4818816\"],\"csd_name_en\":[\"Sturgeon Lake 154\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Sturgeon Lake 154\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-114.6796960582433,49.486181448823565],[-114.64718003086391,49.486037915750394],[-114.64618877480115,49.4721842457619],[-114.62538723474368,49.472625555402736],[-114.62810086202315,49.51471290899501],[-114.64931410691351,49.518750021172096],[-114.67216149577034,49.51798967531094],[-114.6796960582433,49.486181448823565]]],[[[-114.7852077736082,49.94270252747403],[-114.78451142448841,49.90423826404701],[-114.80648583181016,49.894194661708106],[-114.83220700879818,49.89162966093596],[-114.86954650184637,49.89382009679478],[-114.8769676805032,49.88282659401222],[-114.86624856100809,49.87078016291015],[-114.84195122655545,49.87625998117672],[-114.78467775937978,49.87757587159654],[-114.78445020053209,49.89455138645901],[-114.76243383552017,49.89482231224535],[-114.7626389337491,49.90956343929003],[-114.74081009825203,49.909485542567246],[-114.74076195231666,49.93615125286013],[-114.71703999640769,49.936493410929444],[-114.71679045754775,49.96648835884906],[-114.78545241502546,49.96650160037093],[-114.7852077736082,49.94270252747403]]],[[[-114.65981280016526,49.65525047965321],[-114.71717026554445,49.65383848421205],[-114.71618241410104,49.66771619202779],[-114.73637454120171,49.668434749213084],[-114.76343465613482,49.67935423521904],[-114.77164045972911,49.73180019345534],[-114.7881877595386,49.820449737931824],[-114.85816912490188,49.82023593253486],[-114.87778988580311,49.79754490683477],[-114.87294150243567,49.77000788579112],[-114.90441511431919,49.77043993349008],[-114.91361933350142,49.74349393784998],[-114.91365272227269,49.70798579687055],[-114.9039197863551,49.68141028614529],[-114.886876503379,49.68193462251968],[-114.88582116155183,49.706968917980106],[-114.87407146311789,49.70743214811811],[-114.87506879133245,49.73139525294097],[-114.85537878260392,49.72928185912095],[-114.81173147654124,49.6866905597165],[-114.79557666374619,49.68180598048932],[-114.78296980609791,49.66680550751581],[-114.74957587801241,49.66210466278669],[-114.74886264602642,49.64000293274789],[-114.70341866572937,49.63675436689739],[-114.69641009541063,49.629356359064026],[-114.65981280016526,49.65525047965321]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.79777136423169,\"lat\":49.759080331060154},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5901\"],\"cd_name_en\":[\"East Kootenay\"],\"csd_code\":[\"5901006\"],\"csd_name_en\":[\"Sparwood\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"East Kootenay\",\"csd_name_fr\":\"Sparwood\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.72631622852407,50.160738465424394],[-114.73262697420732,50.16930061729609],[-114.72467038891772,50.190177189509356],[-114.73887392378165,50.20266766405851],[-114.74530015557592,50.222250017450406],[-114.76292841763829,50.234667108997],[-114.77022537721736,50.249994997999416],[-114.7641034795898,50.26520663039206],[-114.75166705991876,50.27528703311904],[-114.75512376760065,50.29923869823207],[-114.78156895997361,50.30160057774354],[-114.78042338534802,50.315271897944974],[-114.7976059645555,50.326122019450956],[-114.79224578811028,50.33581349510914],[-114.76621722955242,50.350742251210306],[-114.81916447899256,50.36905778190533],[-114.81389205223165,50.38193076307649],[-114.82481884610884,50.39332468138723],[-114.85689168089063,50.39252401330108],[-114.86538756488015,50.39887375859734],[-114.86361254153444,50.41733959442282],[-114.8730115189773,50.43019068958922],[-114.91216702399157,50.451372321867915],[-114.93231547941419,50.47352159394801],[-114.97745672983869,50.52958848575233],[-115.01369673096396,50.57085909943497],[-115.02053142205445,50.584688412465276],[-115.04953647793731,50.575156364077884],[-115.07369248650215,50.58844190849464],[-115.08527384255353,50.58974905852454],[-115.11752465045205,50.569751299071676],[-115.13613999276446,50.574378382512094],[-115.17355277079285,50.567588659327896],[-115.19088996216836,50.55405180751668],[-115.1837428784519,50.54403207131199],[-115.20594986274489,50.528255618463646],[-115.16419854829724,50.5100026903666],[-115.16360059671241,50.47915183507232],[-115.13951653888779,50.46222797606369],[-115.12040326989782,50.43770846377975],[-115.13758957744415,50.418422369980966],[-115.12370455809305,50.39805639575431],[-115.12872018223113,50.388049293546025],[-115.12203091229541,50.36887585019587],[-115.12346067927929,50.354970325824254],[-115.10205184670592,50.341556389911304],[-115.0944613116043,50.32962505786516],[-115.09949664417685,50.320100822304326],[-115.12741634359196,50.32136172012938],[-115.13781690602846,50.31625368462612],[-115.12716463557678,50.299173321187965],[-115.12656682126418,50.28688408571738],[-115.13585645445393,50.277425891228695],[-115.11206725196496,50.269549205908795],[-115.13695664722826,50.25704606407751],[-115.13522234455694,50.23491487507068],[-115.119006076483,50.2226395095572],[-115.09960010129859,50.21624395834724],[-115.1030858717729,50.2062227396065],[-115.08493397764458,50.1714030179892],[-115.07047474128986,50.16077247890032],[-115.06819090725006,50.138031992292426],[-115.04991141461683,50.12922375011705],[-115.00928187170243,50.11298989165998],[-115.02470819655228,50.09748847992038],[-115.02218819961773,50.0787199202444],[-115.03192792267421,50.059514617356456],[-115.02977434592253,50.048520174127994],[-115.03858425813426,50.03767738815664],[-115.06603216002385,50.03178436290342],[-115.07696455972648,50.02178293026597],[-115.07222673329687,50.00553767525985],[-115.05554432102619,49.97930369483467],[-115.05661482355134,49.97101039253419],[-115.09009408245255,49.96520910967148],[-115.10179050184053,49.942120860303085],[-115.10481969367275,49.92439232298487],[-115.11337475552116,49.91280507674939],[-115.10864727799265,49.902846777360075],[-115.08739883424785,49.901192648650124],[-115.07229234368423,49.89046974256152],[-115.06837873209375,49.865694197505015],[-115.0940133393089,49.85988012324501],[-115.10249440828953,49.851005785254756],[-115.08940416595368,49.78048176915987],[-115.06954516700675,49.76871894476773],[-115.01894935203354,49.75965157859256],[-114.98710378898413,49.763191561889755],[-114.98736743793168,49.719977905148106],[-114.9746995337801,49.7033825715597],[-114.98362702338946,49.68786834686387],[-115.00681037227706,49.67882134392826],[-115.01653335586127,49.66645219942811],[-115.01663729961047,49.64023118962146],[-115.00599670773987,49.62199404601704],[-115.00819547175003,49.60494290090569],[-115.0208152628725,49.60080289524401],[-115.03582779420921,49.6118858020276],[-115.0552851819869,49.61269149050523],[-115.06596786738311,49.60295925371304],[-115.07094253708638,49.58090842490121],[-115.0790633336354,49.57673381471378],[-115.12729629451209,49.57600308186833],[-115.13714280485047,49.568936288478476],[-115.12785842672346,49.54657517774126],[-115.13718585062848,49.52869007675961],[-115.16130494227365,49.5216249685034],[-115.18049705699869,49.52896201610631],[-115.20043782246195,49.51923695118715],[-115.20178254551307,49.488633648341086],[-115.1571259685677,49.48886039399389],[-115.1513825464999,49.46719880915075],[-115.12820425945381,49.46705514091715],[-115.12849460678797,49.452422124559156],[-115.1064107476845,49.45273019553434],[-115.10638069386559,49.435135703990404],[-115.08460166782461,49.43490003508801],[-115.08462058380988,49.420472401408446],[-115.05139033241113,49.417842717506495],[-115.04124216624835,49.40475497046746],[-115.0405471939985,49.365262022924426],[-115.05632088886475,49.36439720877037],[-115.05648308372615,49.347661885284126],[-115.0060390097085,49.349710795286335],[-114.97670512363108,49.36728424075702],[-114.93243970148728,49.385526966172485],[-114.9317528990359,49.3972809644059],[-114.91114851867734,49.41153864812637],[-114.90653463395344,49.42525300829931],[-114.89191366194399,49.42895736284418],[-114.85706336269375,49.412233308883856],[-114.87395472847868,49.393312528709345],[-114.88261412836903,49.369829715519295],[-114.88035936522537,49.35770806484249],[-114.88937755036162,49.345738793960145],[-114.87800282766403,49.335388138400994],[-114.84887959918177,49.327765485798956],[-114.82591038554472,49.327393656782434],[-114.81155687551052,49.332645533174436],[-114.76747048687868,49.31706483327539],[-114.72513148755152,49.31388022911893],[-114.73198690964037,49.30354339564756],[-114.69902422824057,49.28846803524677],[-114.71507413383728,49.278479971673434],[-114.71386507011643,49.27093381468849],[-114.74094786001116,49.24981010635634],[-114.74004270136928,49.22284710375386],[-114.75327776917531,49.21789312996267],[-114.75104867486233,49.20371052924472],[-114.72223772138913,49.186488323959885],[-114.70673773814174,49.17080889921929],[-114.70796462092399,49.15735168611625],[-114.72721231934395,49.143559501214575],[-114.72280093350884,49.13689300660695],[-114.75378329596352,49.12425257895313],[-114.7367770171222,49.10346500932278],[-114.70077478734638,49.07000091560634],[-114.75725821408419,49.03569662365479],[-114.72624940652116,49.000128458032904],[-114.4106243231144,49.00122079842024],[-114.06833210989359,48.99885049564231],[-114.07180479565352,49.002359554086006],[-114.05375826448122,49.02654472781428],[-114.06349606767493,49.04531156486192],[-114.08097635842365,49.059688458783576],[-114.1069396539606,49.064965196276376],[-114.12959302379335,49.07810359321704],[-114.15314913867716,49.09951039474029],[-114.14963787198536,49.118063895999576],[-114.16539128555164,49.137080999828186],[-114.1490379188637,49.143652553516375],[-114.1612497849932,49.15483135720038],[-114.17490451914351,49.16355053793034],[-114.21265268612602,49.173441099304355],[-114.22154485866727,49.18905583753475],[-114.2467153121249,49.187277155964246],[-114.25712576285046,49.17700797474869],[-114.31045637650867,49.19203470560129],[-114.31844091415253,49.19997253519347],[-114.34559060629957,49.19357076733958],[-114.3661692227311,49.20365755470967],[-114.38681603841977,49.20503757139854],[-114.40212197420347,49.213273603286424],[-114.40267640898242,49.24165090279581],[-114.38361375246261,49.24623930960196],[-114.39348599518776,49.257187403860975],[-114.41446220431966,49.26221749162805],[-114.4479424758522,49.264369225677775],[-114.44679535245491,49.288417619958],[-114.46115572732249,49.30411059775292],[-114.47764600802286,49.31235183933118],[-114.48762451516,49.34732061290144],[-114.50692649687716,49.35664218794608],[-114.52299481748155,49.35631297797065],[-114.53659401714049,49.37960971942454],[-114.56692967370448,49.37688356515373],[-114.59059023715113,49.396108246439354],[-114.59843280764423,49.41256158062362],[-114.59943403187432,49.466621048342176],[-114.59393725641783,49.469382555765606],[-114.59471741310753,49.502843021468955],[-114.58343412462075,49.52042950607914],[-114.57300626551874,49.524963209349885],[-114.57360388010154,49.55746290546993],[-114.58895548161311,49.56589826392723],[-114.60795770727458,49.55975025810789],[-114.62013320018278,49.54680866129206],[-114.6551172133731,49.54558559921291],[-114.6631399020513,49.55233198614335],[-114.6909834671212,49.55402643411554],[-114.73258666928295,49.57637952571608],[-114.73685555987555,49.59539883559566],[-114.74656986540461,49.60174557744433],[-114.74647644614151,49.618509704808574],[-114.72254617675156,49.622905117458195],[-114.70341866572937,49.63675436689739],[-114.74886264602642,49.64000293274789],[-114.74957587801241,49.66210466278669],[-114.78296980609791,49.66680550751581],[-114.79557666374619,49.68180598048932],[-114.81173147654124,49.6866905597165],[-114.85537878260392,49.72928185912095],[-114.87506879133245,49.73139525294097],[-114.87407146311789,49.70743214811811],[-114.88582116155183,49.706968917980106],[-114.886876503379,49.68193462251968],[-114.9039197863551,49.68141028614529],[-114.91365272227269,49.70798579687055],[-114.91361933350142,49.74349393784998],[-114.90441511431919,49.77043993349008],[-114.87294150243567,49.77000788579112],[-114.87778988580311,49.79754490683477],[-114.85816912490188,49.82023593253486],[-114.7881877595386,49.820449737931824],[-114.77164045972911,49.73180019345534],[-114.76343465613482,49.67935423521904],[-114.73637454120171,49.668434749213084],[-114.71618241410104,49.66771619202779],[-114.71717026554445,49.65383848421205],[-114.65981280016526,49.65525047965321],[-114.66734841332809,49.669821692163765],[-114.66838503820792,49.70387516512307],[-114.63890515628626,49.71784260817671],[-114.63311912237111,49.73407963466125],[-114.65913532717275,49.76507938030089],[-114.63605150522969,49.7848115861821],[-114.64741901684566,49.81926817138768],[-114.63993243584716,49.82772088319305],[-114.67137070562278,49.86451154533706],[-114.67268831408197,49.87833597369757],[-114.69178590695964,49.89628610420888],[-114.68731662390327,49.917054949417704],[-114.69367620540046,49.942583955612854],[-114.6833107132617,49.967060772608754],[-114.65743624890818,49.96839673911026],[-114.65150037462196,49.975518781521444],[-114.6548491274983,49.99694870296892],[-114.66658263404534,50.00328570208277],[-114.65765505176516,50.019125614892104],[-114.66637119771778,50.05094437397303],[-114.69129853479862,50.0713417940307],[-114.69736823547274,50.08694400643494],[-114.71079332054718,50.102219341796605],[-114.73325919665572,50.11861061798698],[-114.72475923284716,50.14327405007512],[-114.72631622852407,50.160738465424394]],[[-114.85107699820318,50.187777496743145],[-114.85131328316716,50.16280161516639],[-114.88864169716868,50.162855280745596],[-114.90088801876092,50.175457485437356],[-114.90081582411888,50.18875300227255],[-114.88983189714763,50.199228030524004],[-114.89105262520478,50.22404677721386],[-114.87380188083182,50.224481889568125],[-114.87249491195733,50.18822588867978],[-114.85107699820318,50.187777496743145]],[[-114.6796960582433,49.486181448823565],[-114.67216149577034,49.51798967531094],[-114.64931410691351,49.518750021172096],[-114.62810086202315,49.51471290899501],[-114.62538723474368,49.472625555402736],[-114.64618877480115,49.4721842457619],[-114.64718003086391,49.486037915750394],[-114.6796960582433,49.486181448823565]],[[-115.03947947246127,49.5287935162618],[-115.03290112666922,49.51275732384154],[-115.06041805652156,49.475808131673055],[-115.07510954136917,49.48134574271034],[-115.08110476630867,49.49172002652898],[-115.07290087410323,49.50927467893075],[-115.08301868979719,49.51149030610742],[-115.08497552534185,49.53170724634261],[-115.03947947246127,49.5287935162618]],[[-114.7852077736082,49.94270252747403],[-114.78545241502546,49.96650160037093],[-114.71679045754775,49.96648835884906],[-114.71703999640769,49.936493410929444],[-114.74076195231666,49.93615125286013],[-114.74081009825203,49.909485542567246],[-114.7626389337491,49.90956343929003],[-114.76243383552017,49.89482231224535],[-114.78445020053209,49.89455138645901],[-114.78467775937978,49.87757587159654],[-114.84195122655545,49.87625998117672],[-114.86624856100809,49.87078016291015],[-114.8769676805032,49.88282659401222],[-114.86954650184637,49.89382009679478],[-114.83220700879818,49.89162966093596],[-114.80648583181016,49.894194661708106],[-114.78451142448841,49.90423826404701],[-114.7852077736082,49.94270252747403]],[[-114.89315092585363,50.096674653939964],[-114.82418232643269,50.094477663085996],[-114.82533560211222,50.06901375715735],[-114.79850827046258,50.069447100241554],[-114.793237150614,50.01564427622957],[-114.89674654827502,50.016935987043276],[-114.90157661067126,49.9612072805916],[-114.92392572954168,49.96074085885932],[-114.95174306883071,50.01206600049434],[-114.9501350864216,50.025749601471496],[-114.93845207554261,50.03543403693231],[-114.9366065928691,50.07375052681796],[-114.92056254870462,50.06825132017098],[-114.89415122233983,50.06922487282674],[-114.89315092585363,50.096674653939964]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.77716044387218,\"lat\":49.686220002027625},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5901\"],\"cd_name_en\":[\"East Kootenay\"],\"csd_code\":[\"5901017\"],\"csd_name_en\":[\"East Kootenay A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"East Kootenay\",\"csd_name_fr\":\"East Kootenay A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-115.97139538727431,50.461130384993425],[-115.98413159416258,50.45184675559673],[-115.92958840836809,50.41695646525702],[-115.9301938121828,50.40379535507995],[-115.90787593096978,50.3988661626639],[-115.91174610273796,50.3885106070793],[-115.89237881157904,50.378402988734884],[-115.90209049280169,50.370337752036725],[-115.89311550519841,50.36036890367871],[-115.8574069056094,50.35575437398626],[-115.86044558181295,50.36699376389266],[-115.8584784767389,50.39563237448827],[-115.89177099393129,50.396172826548195],[-115.8968444742821,50.45249241526745],[-115.91951116136212,50.45482797431923],[-115.93041387868489,50.44695699185127],[-115.94809020818869,50.447078226400635],[-115.94677340920263,50.46210929665274],[-115.97139538727431,50.461130384993425]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-115.91103986693095,\"lat\":50.41392416065635},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5901\"],\"cd_name_en\":[\"East Kootenay\"],\"csd_code\":[\"5901804\"],\"csd_name_en\":[\"Columbia Lake 3\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"East Kootenay\",\"csd_name_fr\":\"Columbia Lake 3\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-116.79654643996021,50.729302739875216],[-116.8095606536967,50.72658601510529],[-116.82095866705585,50.736134202537905],[-116.83701073886964,50.76145302431884],[-116.86108138490593,50.75668523642661],[-116.88027467361194,50.77014606708056],[-116.92144757779455,50.7735849152994],[-116.93539986968372,50.79841440484183],[-116.96425748118241,50.810290576881826],[-116.98694570790272,50.80873579465825],[-117.01945624019498,50.8190706643845],[-117.0381128605259,50.815003634393015],[-117.04971399767169,50.832115027572726],[-117.04375576014456,50.85876962765081],[-117.06465541650053,50.853228574706776],[-117.08360744551776,50.86556471864124],[-117.06340375998089,50.90983830419718],[-117.06896026836749,50.920149224688295],[-117.03310904908659,50.95809191738724],[-117.07030021209921,50.97027262652572],[-117.1088419352209,50.96754775997381],[-117.12235995212625,50.97773805493037],[-117.14349103874238,50.97272600965975],[-117.15522956539338,50.97584782625118],[-117.16534805277503,50.99161617032875],[-117.138960272098,51.00508587934443],[-117.13012918715569,51.01810490291363],[-117.13788284412286,51.0280132335727],[-117.16382666240814,51.02632239047943],[-117.16266673281733,51.04434595993693],[-117.19874727583887,51.05505096680643],[-117.2106729919337,51.06606348195942],[-117.22434662963552,51.05925718683958],[-117.30431168913111,51.05132404616443],[-117.31505258298036,51.037734788230225],[-117.34750007263523,51.03888147326959],[-117.35891025945547,51.0222367890254],[-117.39019579859172,50.999796201161566],[-117.38778758478993,50.9908540494177],[-117.4018052939041,50.97881249073577],[-117.39780181533717,50.96119556530647],[-117.4114715913269,50.95934705236889],[-117.42989008209697,50.94826700308511],[-117.4382447922697,50.936669502194654],[-117.41776258948632,50.92324458533407],[-117.42611341638651,50.90396618170237],[-117.45912602855141,50.899331809701685],[-117.46728691805805,50.902411801208714],[-117.49018442547515,50.881186459407964],[-117.46968884297654,50.86621470512485],[-117.45362107536951,50.82908431348343],[-117.46679317660104,50.81119153689901],[-117.4553479374366,50.79767186421721],[-117.43268608758461,50.796832532338364],[-117.43087936051698,50.78492096869654],[-117.40565575984738,50.77931779240595],[-117.3819986431098,50.74615228035522],[-117.39228278752341,50.72208879846691],[-117.39288267739667,50.70914395718464],[-117.36693704901077,50.708085146049335],[-117.35333373361853,50.720896060556036],[-117.32310516538573,50.72417896870582],[-117.28475710326025,50.737423244529495],[-117.2758524568269,50.74418703090271],[-117.25208262594658,50.742011897266934],[-117.25375973768766,50.730533710775866],[-117.2664131292319,50.71988753338806],[-117.26342436116177,50.69254623903545],[-117.27369102075023,50.67083190175403],[-117.25431839157338,50.65447056489899],[-117.2297881699594,50.64827688566516],[-117.22959067412212,50.63211363365583],[-117.26783257373785,50.61356761820015],[-117.2733670381746,50.59780209178765],[-117.30679805179334,50.57744720001711],[-117.24503559820454,50.5350808001961],[-117.24384554388037,50.51947093453329],[-117.27809076208493,50.511187445533714],[-117.28136003741788,50.50469494912752],[-117.32119840019867,50.487318231775134],[-117.34272585289237,50.483438724102044],[-117.36594500484163,50.486441522088136],[-117.43589674571713,50.484368438524754],[-117.45103119520402,50.493525625687326],[-117.47327482495196,50.49448508277729],[-117.49435268679066,50.488988892955675],[-117.50160728862318,50.46994640488516],[-117.49973912642582,50.45714486830634],[-117.4955549194919,50.45042922958635],[-117.45413926088878,50.42542437282026],[-117.4201716289175,50.42115178228777],[-117.41260217582148,50.42483292633263],[-117.36489850653003,50.40689005535831],[-117.3589501122073,50.39632140869264],[-117.376573360593,50.37285909357032],[-117.37475153672622,50.35947101909809],[-117.39988987090234,50.35382535695924],[-117.3931613874221,50.343112374956526],[-117.36097787030738,50.325663725705674],[-117.36827302164575,50.27820672459088],[-117.36229439031351,50.26550245981326],[-117.33913912350921,50.25933874293023],[-117.31727459867841,50.26575255708653],[-117.3112782495956,50.27728686703589],[-117.29008396373153,50.280287319119324],[-117.27938110261347,50.29039917075391],[-117.23581152790715,50.294535387411244],[-117.23373551563822,50.26763151608428],[-117.24067299533618,50.256186950260215],[-117.22124049529035,50.25335340585529],[-117.23512297539354,50.23560135374475],[-117.25987925403936,50.237673577802425],[-117.26527757895197,50.2189273424518],[-117.27511412526032,50.208872608379515],[-117.2458257665293,50.195262761889445],[-117.2189898922544,50.19519278395315],[-117.20114612778016,50.18646446595702],[-117.22646170409205,50.15537149630556],[-117.23241349478688,50.135518171113716],[-117.16680541255731,50.12844417056574],[-117.16453251352449,50.122147175209214],[-117.17358961524779,50.0942449862864],[-117.20651973813322,50.074827619903104],[-117.21347082922225,50.05884699584052],[-117.204219146867,50.03423617692603],[-117.18965237810349,50.025018869683926],[-117.183243326069,49.993075554956164],[-117.14396694830718,49.98245422494681],[-117.13235280473793,49.968261011213635],[-117.130935608686,49.931656018680656],[-117.17486143852462,49.92175545813138],[-117.18150728766915,49.908705170574194],[-117.1742847527714,49.8957535801045],[-117.18751368665716,49.87991448743619],[-117.18053959955357,49.87090045026895],[-117.22874248855457,49.84348380338546],[-117.22895605457147,49.82429445992741],[-117.21227553302617,49.81435039862654],[-117.19649825529717,49.783154677023965],[-117.19785479801982,49.77708742876623],[-117.22535338194363,49.75974291519745],[-117.19272754226853,49.74374364008259],[-117.18425925254964,49.756453348985346],[-117.17472282353681,49.757056825010686],[-117.13991823666878,49.74475629928107],[-117.1282011096644,49.73655157451753],[-117.11270088264743,49.70402692462447],[-117.08179347272325,49.69208448287046],[-117.06230905521294,49.690198046414864],[-116.89093827622351,49.69053127025523],[-116.88621910509711,49.71617375537307],[-116.88098027687887,49.810071323260914],[-116.88530688223713,49.869327196176755],[-116.69325430100396,49.87005989100147],[-116.67673842700371,49.8822902527315],[-116.64563442305617,49.88259355752413],[-116.62254248973069,49.89726072352067],[-116.62076043762539,49.90997354658659],[-116.59979592706551,49.92529458578565],[-116.58480896741794,49.92968239280463],[-116.58389815177969,49.94883950177589],[-116.54621910197625,49.96206826631526],[-116.51013997437266,49.98499480977802],[-116.47188007906274,49.96623778311026],[-116.45125529978144,49.965612138143385],[-116.44311443784704,49.9792870222145],[-116.44207214093626,49.987759694463165],[-116.46582002729953,50.00143082552665],[-116.47143576804989,50.03791064354516],[-116.4982586314414,50.05618010999066],[-116.49516791198086,50.09379070020163],[-116.48011006333236,50.11469820698833],[-116.45916706036135,50.117788681081024],[-116.449918751439,50.13345714887188],[-116.4536099476786,50.15500872309967],[-116.47562667903922,50.159470321020166],[-116.48884043456475,50.17352597865635],[-116.4905178560064,50.190891105345464],[-116.5003323008954,50.19790702102963],[-116.54748030930776,50.20563871960908],[-116.55680954103985,50.21287620255935],[-116.54946005671036,50.264682965856096],[-116.55495536196722,50.283487679262784],[-116.54079395086448,50.31899911996886],[-116.55942804310057,50.31767707751607],[-116.59087462359531,50.30841611447397],[-116.61818524508013,50.31751283184777],[-116.62279165403432,50.34502404636503],[-116.61380064042663,50.35017829146398],[-116.63505550535338,50.37853794433637],[-116.63155875567068,50.390387116647794],[-116.65232234103344,50.420224498114685],[-116.68322683723827,50.43047810984393],[-116.70368749437772,50.45308153090492],[-116.72243351369123,50.46150912211554],[-116.68919403140751,50.49236998616407],[-116.69918692399898,50.518496639436385],[-116.67285699901394,50.53099321104191],[-116.65952913983172,50.56373756967169],[-116.66740480614156,50.56854559753722],[-116.6541312007466,50.59860330875128],[-116.63134136370867,50.59742882668297],[-116.61438937798808,50.63085076351145],[-116.59411881990272,50.619337770757475],[-116.57866254999668,50.634552384232336],[-116.5796138326163,50.64727593675566],[-116.60227581304802,50.653329434326764],[-116.60761921218696,50.66855061599877],[-116.6254285571636,50.66572042773627],[-116.65281736297628,50.67083595968342],[-116.666997267706,50.681481934864635],[-116.67807038846516,50.67212568353398],[-116.69920200422219,50.67081486594408],[-116.74435872474545,50.678093906603664],[-116.74994589069912,50.69317837449758],[-116.76895160894786,50.70207864055107],[-116.78039618589942,50.69901011566727],[-116.79525274758608,50.71254983089045],[-116.79654643996021,50.729302739875216]],[[-116.92036611278074,49.91256028383226],[-116.9050014848287,49.919002696270084],[-116.89758696052617,49.90552069228449],[-116.90795446902126,49.90010058653197],[-116.92036611278074,49.91256028383226]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-116.98542382490804,\"lat\":50.35269119937154},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5903\"],\"cd_name_en\":[\"Central Kootenay\"],\"csd_code\":[\"5903039\"],\"csd_name_en\":[\"Central Kootenay D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Central Kootenay\",\"csd_name_fr\":\"Central Kootenay D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.46965213885188,49.000666577083685],[-117.46543061310206,49.08816612066588],[-117.52108378315998,49.08806024919708],[-117.5205235487126,49.123666809441055],[-117.51082029327152,49.12358095955857],[-117.50579753454265,49.157748930299064],[-117.48385391617512,49.16441183385196],[-117.49396124076006,49.17548721728699],[-117.67427467372686,49.17504158960612],[-117.6740807209726,49.207724366201965],[-117.68361481742973,49.20853420748529],[-117.70838190439613,49.19769950420095],[-117.72188699132784,49.16240449996716],[-117.73447346330822,49.146556760965446],[-117.72378711439245,49.13197048251573],[-117.71142707469983,49.13203015941039],[-117.71079967543244,49.11080876622759],[-117.67153278293382,49.1108710820568],[-117.67118798318977,49.10337585290869],[-117.64179217278063,49.103440792365696],[-117.6416033722261,49.09576536963097],[-117.61296952982977,49.088258653121464],[-117.61290321889275,49.07357630540613],[-117.61639768902882,49.03618758696609],[-117.60516597310757,49.02800514502184],[-117.60719732468876,49.01525766962112],[-117.63199023549492,49.000816704431955],[-117.46965213885188,49.000666577083685]],[[-117.59419820466624,49.08460825692823],[-117.58219215590904,49.07484615602683],[-117.60210067124598,49.072514860535875],[-117.59419820466624,49.08460825692823]],[[-117.54611023404583,49.12383258281872],[-117.5369890491872,49.11528307831118],[-117.54528341067333,49.1042638930536],[-117.56704100737652,49.099798758177016],[-117.54611023404583,49.12383258281872]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.58346629843095,\"lat\":49.100111797954575},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5905\"],\"cd_name_en\":[\"Kootenay Boundary\"],\"csd_code\":[\"5905026\"],\"csd_name_en\":[\"Kootenay Boundary A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kootenay Boundary\",\"csd_name_fr\":\"Kootenay Boundary A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-118.1358124841489,49.26400335243987],[-118.14221517005139,49.27767868097956],[-118.17682339257813,49.24932460465465],[-118.1819211946142,49.26699945155978],[-118.17689180409981,49.27440325256007],[-118.20766397487344,49.29580218388982],[-118.20912871542278,49.32608455305602],[-118.21929048010502,49.32836755057835],[-118.24974853483519,49.312330595994624],[-118.26467067041298,49.28653789705963],[-118.30351844405376,49.265278843864735],[-118.31420854201296,49.232617536778086],[-118.31337412754482,49.21724705264746],[-118.33585909502519,49.217443064209554],[-118.3371309546349,49.19322545244189],[-118.34740167784453,49.18648365935632],[-118.34539268236225,49.16849027346272],[-118.34968199293472,49.143732269802264],[-118.33544295171491,49.12743530099932],[-118.3312072132491,49.086148238411056],[-118.33780193653756,49.079614625760506],[-118.32846776643616,49.05568630277257],[-118.31180447976308,49.05047417662206],[-118.29739116729591,49.03786503936304],[-118.29781012041632,49.00016294263241],[-118.06216223545283,49.000294563882456],[-118.05957998346842,49.02472515601481],[-118.04979907811432,49.034361996723064],[-118.05633530925823,49.05015810699882],[-118.05768455562823,49.07043449769413],[-118.05382658736819,49.091915424657095],[-118.0587495389339,49.098871202856564],[-118.05153569981691,49.11766321520729],[-118.0555219741756,49.142918912136786],[-118.04602292020643,49.15206235867899],[-118.0890968757789,49.15238610200958],[-118.11947004425845,49.20936426085689],[-118.13151126246535,49.2231767464284],[-118.1358124841489,49.26400335243987]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-118.20412767542501,\"lat\":49.134451788745615},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5905\"],\"cd_name_en\":[\"Kootenay Boundary\"],\"csd_code\":[\"5905050\"],\"csd_name_en\":[\"Kootenay Boundary C \\/ Christina Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kootenay Boundary\",\"csd_name_fr\":\"Kootenay Boundary C \\/ Christina Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.57172851662234,49.77286844495655],[-120.60376780027912,49.77077050104353],[-120.60433288796683,49.74957950682011],[-120.75988518888956,49.74972609316595],[-120.77179116853846,49.7633910958258],[-120.83236158151917,49.76377007754837],[-120.83415138607131,49.76007395638419],[-120.948452298514,49.7605805529817],[-120.95959002017094,49.744117151746124],[-120.95419675497051,49.711976440771664],[-120.96162165672628,49.696102678624236],[-120.96240832746012,49.67347949598367],[-120.9639390709423,49.650835873707074],[-120.95950302271704,49.642209131120424],[-120.97063844063285,49.628442377493705],[-120.96267565610952,49.613804568552055],[-120.98357750212696,49.611964218209664],[-121.00205632480316,49.59704497533077],[-121.03788250372105,49.58691195321396],[-121.04299396988345,49.57655217680391],[-121.0352285003759,49.56737817747792],[-121.03787072571606,49.548867407262584],[-121.04771034450359,49.53187218572555],[-121.06997168547285,49.525075289534854],[-121.08187464222203,49.51416761960043],[-121.0734390807089,49.49547796834695],[-121.05377626403921,49.471228500840404],[-121.0799336716465,49.465430393291854],[-121.0801321160366,49.45837641560509],[-121.09926682834454,49.44108774085686],[-121.09804393142029,49.35390947218675],[-121.10177332516659,49.34859631767526],[-121.08064871131764,49.32941959718949],[-121.06285406169305,49.33349142295892],[-121.04524265512967,49.33073445419786],[-121.02972319556638,49.307059241594565],[-121.00016352007736,49.310047905401184],[-121.0014173551285,49.278242388862104],[-120.98121364218471,49.27150448492817],[-120.93612029124154,49.27597719959101],[-120.91826722384438,49.29971990109775],[-120.90578885427527,49.30567529731264],[-120.8698596359331,49.30331934972666],[-120.85870282482601,49.296018839882656],[-120.82397134237581,49.29497116390638],[-120.81206601533022,49.28443158082118],[-120.8206264139965,49.26912101736351],[-120.82076573616285,49.247323188344076],[-120.84369216873301,49.242040199142984],[-120.84738436692352,49.21970600805052],[-120.86887437631071,49.204387831900796],[-120.89127772996144,49.20617473969421],[-120.89404010401958,49.18921452461693],[-120.88253487532023,49.17609107342082],[-120.90318383254578,49.17513873580312],[-120.87842877318488,49.15710451773732],[-120.85798331803531,49.133953624014005],[-120.86796075133924,49.122771319612355],[-120.89706492301967,49.11273646466898],[-120.91431931199891,49.117105595792545],[-120.94183064040315,49.10483209045276],[-120.96551113681588,49.10377928961848],[-120.96311148240413,49.09483565753421],[-120.926633269561,49.08600100979935],[-120.912156154623,49.07851287894886],[-120.89507815678598,49.07816044404138],[-120.86866781689375,49.05271018867987],[-120.85221459029559,49.04440081832796],[-120.83239094249669,49.04225335245945],[-120.82569932186053,49.02546256743129],[-120.84840827446449,49.000077145903774],[-120.51620410816645,49.0000195892529],[-120.40254729343643,49.00007688300237],[-120.4051873585694,49.01069322667477],[-120.43151194463456,49.03151839374816],[-120.43629960169764,49.04146629618168],[-120.45655032555133,49.050927976865886],[-120.44042032731873,49.061025429196576],[-120.45573588514195,49.08399943484213],[-120.43247858500673,49.10113591884821],[-120.44490180308108,49.11228229563539],[-120.44161410373492,49.12256430138967],[-120.41683975495837,49.12735001782826],[-120.41458498015803,49.14491512319431],[-120.42389634032027,49.15403946722347],[-120.41117859192615,49.16800246822423],[-120.42865087177908,49.198917110196085],[-120.40733757883326,49.205865660122],[-120.41419381702025,49.21735470768004],[-120.41173236701223,49.23748066712466],[-120.36235067325003,49.24011225419032],[-120.33840538627454,49.24673501451801],[-120.31873068988921,49.233025833279],[-120.2959398709728,49.23497092186202],[-120.25359258805732,49.21405720743639],[-120.2495261905008,49.23348761123309],[-120.26794947076935,49.25646674223725],[-120.26214368948048,49.26630269398672],[-120.27543510310296,49.2804518419231],[-120.27538124383737,49.30384927066648],[-120.25894700453388,49.330983311165625],[-120.2410669609139,49.329028460796714],[-120.22682252580807,49.34079342095066],[-120.22650092164335,49.40042832922806],[-120.23159599361334,49.40143712590845],[-120.23167217078705,49.406153841548715],[-120.22664873643899,49.40599420304021],[-120.22463389304227,49.41952194045579],[-120.20970571339794,49.42527545815555],[-120.17319176579065,49.431651290296365],[-120.16632791798567,49.43817347032366],[-120.16834559379635,49.46438833010561],[-120.17854629705485,49.47832202330742],[-120.17333663323015,49.487876747842876],[-120.18657958141513,49.49991662709952],[-120.19721380010374,49.52091874675503],[-120.16015715396621,49.559552421203136],[-120.1573850895087,49.57003499395395],[-120.16958073056281,49.58358793771471],[-120.1586508081744,49.606096622215404],[-120.17415193932176,49.62016776178401],[-120.16508196879911,49.62736645596684],[-120.09922463326423,49.64614119594459],[-120.07475064621458,49.66018229268614],[-120.060184971229,49.664072453907394],[-120.05197103256391,49.678049566587596],[-120.03024758549095,49.670248229566184],[-120.00711549665894,49.67152584168925],[-119.98990334923866,49.66467178732153],[-119.97519402463897,49.66763259391134],[-119.97519060380694,49.69621568262603],[-120.00346217003253,49.69646696700021],[-119.99831505842123,49.71094566129139],[-119.97958400968308,49.710395561493314],[-119.97953153291452,49.76625090091305],[-119.98432026261366,49.78963277965893],[-119.96700729744315,49.8122089599406],[-119.9687922022135,49.819585244378224],[-119.99164524938509,49.83388413910292],[-120.01346656039027,49.83940675614923],[-120.03890738783036,49.85658535692616],[-120.05479757827862,49.85570622338706],[-120.07952275595912,49.83456136061336],[-120.09457575293364,49.84452651741028],[-120.1301715929205,49.84582654328975],[-120.16113472660605,49.86525663817543],[-120.18106741675182,49.85619134911347],[-120.21338723793606,49.86052756302215],[-120.21412977634667,49.886236246705096],[-120.2287105180035,49.89592228754961],[-120.25828962889952,49.89449042819819],[-120.26842684068745,49.88794410064804],[-120.30783674725627,49.89996301208107],[-120.33005879886788,49.912011607787186],[-120.36203235585785,49.903920110019264],[-120.36376020887371,49.89153671447491],[-120.39014537155596,49.87389074335891],[-120.388637369925,49.849111377202945],[-120.40749194554047,49.837235487297214],[-120.423873413746,49.81776536319729],[-120.44534350708808,49.81060947511119],[-120.48571062269043,49.77223134414028],[-120.57172851662234,49.77286844495655]],[[-120.48605372665837,49.48053966488332],[-120.48127859995378,49.46526130158041],[-120.52820252679338,49.44383325211501],[-120.5419696060825,49.45541602670248],[-120.53590891203389,49.469237231048716],[-120.51835812708248,49.46952774372675],[-120.50331680547633,49.48412742112613],[-120.48605372665837,49.48053966488332]],[[-120.53840194276044,49.38139178719475],[-120.52432045968501,49.39057712291189],[-120.49689460730013,49.38700916566687],[-120.49460348817799,49.3774056048764],[-120.46330628367167,49.37378688155114],[-120.46560253971725,49.35976690811437],[-120.48509676168929,49.35748279956514],[-120.49527519338365,49.34519483084467],[-120.4824721115485,49.334757317204094],[-120.50163446510447,49.32826392477543],[-120.49997194189841,49.28629286197273],[-120.52142212821946,49.27983842572576],[-120.54403257822598,49.288451350947774],[-120.54377565995782,49.314510641633134],[-120.54823906605762,49.329552055077066],[-120.56817024704655,49.33640456246346],[-120.53840194276044,49.38139178719475]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-120.567468341591,\"lat\":49.46974449027862},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5907\"],\"cd_name_en\":[\"Okanagan-Similkameen\"],\"csd_code\":[\"5907055\"],\"csd_name_en\":[\"Okanagan-Similkameen H\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Okanagan-Similkameen\",\"csd_name_fr\":\"Okanagan-Similkameen H\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.12767482427905,49.19817258186605],[-122.20242933961565,49.198574828007175],[-122.20308529584258,49.17516113854626],[-122.24890540659692,49.176358522613356],[-122.23341888978076,49.15053418861597],[-122.24969641265483,49.143189687659536],[-122.2202359831062,49.13143790354563],[-122.20124130620617,49.13077848741415],[-122.18150359407919,49.138232793168726],[-122.17425763941354,49.11354732973874],[-122.18481093509004,49.096550895224645],[-122.13201710021374,49.0970764798326],[-122.11576510281247,49.10778288152642],[-122.11540009219658,49.11828786652002],[-122.09552475168059,49.132931253427856],[-122.11293698962444,49.148606807836785],[-122.0673801309242,49.14956407537807],[-122.05471779879561,49.15310158855332],[-122.02168599546388,49.18142631121547],[-121.99554783361052,49.18586570498464],[-121.96938986763243,49.20771060752301],[-122.0012465080275,49.20496419026084],[-122.0115925873314,49.20968970887386],[-122.0373554779325,49.19982522815407],[-122.05017147547424,49.19763669320575],[-122.12767482427905,49.19817258186605]],[[-122.07430968193869,49.1887197739207],[-122.06980090327642,49.18660010254769],[-122.07752720198799,49.18052133844642],[-122.08258708422723,49.182641463447894],[-122.07430968193869,49.1887197739207]],[[-122.07345111587554,49.17665949889337],[-122.08127400786512,49.17267515511536],[-122.08372149500433,49.16914631316659],[-122.08940421980009,49.16881927930149],[-122.09242363365445,49.172409398288565],[-122.08380719807123,49.173101962247706],[-122.07345111587554,49.17665949889337]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.130751125781,\"lat\":49.16101120411144},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909062\"],\"csd_name_en\":[\"Fraser Valley G\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Fraser Valley G\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.07430968193869,49.1887197739207],[-122.08258708422723,49.182641463447894],[-122.07752720198799,49.18052133844642],[-122.06980090327642,49.18660010254769],[-122.07430968193869,49.1887197739207]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.076114880864,\"lat\":49.184588250942674},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909880\"],\"csd_name_en\":[\"Lakahahmen 11\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Lakahahmen 11\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.61621751380875,48.712234356199744],[-123.60206548341209,48.71209015069913],[-123.60223036727659,48.715481357861854],[-123.61148477827403,48.7157185599889],[-123.61615005464628,48.71345951333783],[-123.61621751380875,48.712234356199744]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.60854143231309,\"lat\":48.71376731037334},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5919\"],\"cd_name_en\":[\"Cowichan Valley\"],\"csd_code\":[\"5919820\"],\"csd_name_en\":[\"Est-Patrolas 4\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cowichan Valley\",\"csd_name_fr\":\"Est-Patrolas 4\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.1322690729478,49.255164354530805],[-124.13168296805154,49.248910725491854],[-124.11292780497811,49.24881607664604],[-124.1228195020397,49.25689800317142],[-124.1322690729478,49.255164354530805]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.12431558420195,\"lat\":49.25214514945171},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5921\"],\"cd_name_en\":[\"Nanaimo\"],\"csd_code\":[\"5921805\"],\"csd_name_en\":[\"Nanoose\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Nanaimo\",\"csd_name_fr\":\"Nanoose\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.7256916536476,50.31707704240336],[-122.74609230094971,50.3337074040634],[-122.7701641730034,50.331595685034806],[-122.76486972617924,50.32001627643834],[-122.79267779650739,50.31599967812534],[-122.79803492652886,50.326271288299154],[-122.82043454161594,50.32377889568897],[-122.86040830700459,50.327158459716784],[-122.87464169522785,50.33945685655331],[-122.90392693746482,50.33622506337559],[-122.95581197373352,50.34532798158481],[-122.99999752338238,50.33149307155074],[-122.98004730476532,50.316062205630075],[-122.96137511332161,50.31487804235975],[-122.9405560848018,50.306906578992354],[-122.9051792518036,50.30529917003258],[-122.89070858542237,50.29609308276513],[-122.85134210597491,50.30687531936352],[-122.84335322566703,50.290790791806735],[-122.87053963600876,50.275880050284904],[-122.89068809922762,50.276420452913655],[-122.88424982082012,50.26100015676855],[-122.86678731306999,50.26136032711998],[-122.86798301983907,50.24215071543689],[-122.85637139709499,50.242424785520384],[-122.85383438690506,50.25676572314044],[-122.86581158790725,50.26464083993017],[-122.85673380480826,50.28148780703674],[-122.81409009396796,50.29890171363279],[-122.79927103168838,50.31427414230166],[-122.77383602540647,50.315636205248126],[-122.76244144800329,50.29688846991205],[-122.74773522948622,50.31187682357323],[-122.73289572277443,50.31022833910913],[-122.72816558881827,50.30985162258559],[-122.72508057395659,50.31707835730982],[-122.7256916536476,50.31707704240336]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.8738509256417,\"lat\":50.31445773091776},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5931\"],\"cd_name_en\":[\"Squamish-Lillooet\"],\"csd_code\":[\"5931012\"],\"csd_name_en\":[\"Pemberton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Squamish-Lillooet\",\"csd_name_fr\":\"Pemberton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.3281180490541,50.72785835418427],[-121.35515203906868,50.72785276257144],[-121.38563090542686,50.702991951714274],[-121.41316785242736,50.7009042893068],[-121.41042637978096,50.68646026225947],[-121.4149915682596,50.65832555210535],[-121.35907552885692,50.66236698840159],[-121.34958843852358,50.66620712091286],[-121.31811987333558,50.66575453228257],[-121.31540849928439,50.69241817059718],[-121.27964865858532,50.692940201667255],[-121.2806043822479,50.70509997574767],[-121.25708699695595,50.73655309881224],[-121.2244173541712,50.73658896982389],[-121.22510929188732,50.744973709859536],[-121.24203469278609,50.75235250667718],[-121.26072849649313,50.743416964517245],[-121.28079917598292,50.74430605937043],[-121.28200423884108,50.73459867299791],[-121.28511990079188,50.70882772854002],[-121.29567851573572,50.699855665961145],[-121.31245432664745,50.70867157236477],[-121.32329534495013,50.71907989453658],[-121.32804776073483,50.72010630115859],[-121.3246207145598,50.726649741488266],[-121.3281180490541,50.72785835418427]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.34114662898999,\"lat\":50.69769082348604},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933019\"],\"csd_name_en\":[\"Ashcroft\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Ashcroft\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.85393300190435,50.055646270103935],[-120.86795047679473,50.05010912495679],[-120.86834377388946,50.039421493239445],[-120.89053144579252,50.03966038295922],[-120.90240196077879,50.03221561942854],[-120.90236927363361,50.01437130783003],[-120.88315537403281,50.01397864189789],[-120.8546188139303,50.02379201595303],[-120.83235471100387,50.0224847875644],[-120.83137747254123,50.03331471584983],[-120.81448528430084,50.03317111731843],[-120.81454369532086,50.05521003669288],[-120.85393300190435,50.055646270103935]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-120.85739315275207,\"lat\":50.03549325275367},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933801\"],\"csd_name_en\":[\"Coldwater 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Coldwater 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.31597193945433,50.42135727018972],[-121.31595380751956,50.42666385852099],[-121.32133011958771,50.4234935748006],[-121.31597193945433,50.42135727018972]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.31775195552052,\"lat\":50.423838234503776},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933834\"],\"csd_name_en\":[\"Kumcheen 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Kumcheen 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.64563658908634,50.81911071871536],[-121.6703648961594,50.82324980414742],[-121.65940666800715,50.81024036125046],[-121.64563658908634,50.81911071871536]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.65846938441764,\"lat\":50.817533628037744},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933872\"],\"csd_name_en\":[\"Marble Canyon 3\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Marble Canyon 3\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-118.67187910827923,49.81271018610097],[-118.67234960478972,49.95943052781858],[-118.671368577423,50.020131701340084],[-118.67239978439477,50.09385387783355],[-118.66897464487968,50.1390525367658],[-118.671299948344,50.22369671693025],[-118.69455263114887,50.22366014231784],[-118.69506268698817,50.237776811205514],[-118.7386228276925,50.23806204979329],[-118.73902090066966,50.24429604260434],[-118.79357556417125,50.24467919877266],[-118.79175664908917,50.27020053058291],[-118.77880951076669,50.26990555673816],[-118.75125036789811,50.25934394246377],[-118.74074592554602,50.26316230305534],[-118.7039048315354,50.24968165165403],[-118.67771273193051,50.24443196569223],[-118.64844170699887,50.25202089281087],[-118.63891613889962,50.26786038774609],[-118.69278798659398,50.26804243674816],[-118.6947817801946,50.41028131854241],[-118.69344515419584,50.450331227999165],[-118.69505950391739,50.48818000506634],[-118.76849646451085,50.487815726475546],[-119.00187008517386,50.48838678137844],[-119.0007052008528,50.473663101655674],[-119.00020586444644,50.372744778500326],[-118.99684112527554,50.349600754174176],[-119.00311257175602,50.30597326636024],[-118.9987745074814,50.26684998742559],[-119.03349226219456,50.26700178008416],[-119.07920310276953,50.263464052058715],[-119.07929833719768,50.25289579376295],[-119.05644645104091,50.242126677798],[-119.06984042987227,50.235662367169205],[-119.0688289733001,50.2234895949223],[-119.08241549053278,50.216176009458394],[-119.10800007000637,50.21605000924048],[-119.11398514193817,50.2089138885444],[-119.14764895532417,50.21043520735552],[-119.1536510946222,50.20249444806317],[-119.18191762847894,50.20296735596485],[-119.18211134128259,50.195619853671396],[-119.21726409326924,50.198316441013006],[-119.2272602560319,50.19489724316493],[-119.22111550733113,50.180238375508644],[-119.24500609607121,50.18413043095487],[-119.2883253021407,50.18371525713441],[-119.28866916526268,50.17652568311824],[-119.32903588684951,50.15110066039968],[-119.146108022664,50.151247564669504],[-119.14099606048138,50.11926973479365],[-119.16528887283373,50.0932897677502],[-119.17768974747202,50.05972354491814],[-119.17338962863226,50.04974320184619],[-119.14334882472538,50.044951511165706],[-119.10546348676124,50.04531585966479],[-119.09677536948632,50.05208455338948],[-119.07235922131449,50.0460268654053],[-119.06430607466596,50.03705022617848],[-119.03041622342138,50.040782418189394],[-118.99780309343645,50.047653948217786],[-118.95823145671788,50.04763077494664],[-118.94687217704995,50.057035492685365],[-118.92330719941401,50.042844052192216],[-118.91290360156893,50.05247317397455],[-118.86889732155115,50.05279009643828],[-118.85908957043047,50.03653038331395],[-118.83503391001861,50.03576532913511],[-118.82308220792805,50.022447494156566],[-118.80988513040057,50.02183867849786],[-118.82274210795471,49.99996711386366],[-118.80209539001409,49.98098821103137],[-118.80099273845143,49.96655056437006],[-118.80803768947813,49.955614480703076],[-118.82617885185041,49.952403666042564],[-118.85232835802493,49.95790191718066],[-118.8645093268437,49.941233121789566],[-118.89329258711987,49.93752389601175],[-118.91096008467859,49.92076643585006],[-118.90731570657958,49.906664669195344],[-118.92304814158489,49.90610054646065],[-118.93485997082537,49.91566296549319],[-118.96421631951499,49.90367991670262],[-118.97683788324505,49.892868610661715],[-118.97675655231042,49.87865727485058],[-119.02217993843611,49.85223255349704],[-119.05568075157318,49.81232225443617],[-118.67187910827923,49.81271018610097]],[[-118.96495632979251,50.25322024873455],[-118.94863963024694,50.2492768814088],[-118.96627913300107,50.23689943352286],[-118.98764805091047,50.23780533077226],[-118.98703485666086,50.26484770158535],[-118.96908076526665,50.26487068629384],[-118.96495632979251,50.25322024873455]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-118.87353681661027,\"lat\":50.15854578750978},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5937\"],\"cd_name_en\":[\"North Okanagan\"],\"csd_code\":[\"5937022\"],\"csd_name_en\":[\"North Okanagan D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"North Okanagan\",\"csd_name_fr\":\"North Okanagan D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-118.6000035892796,51.31009100421561],[-118.62834576253185,51.301023223823066],[-118.67626681390452,51.303752957384894],[-118.68972428109215,51.31128950514339],[-118.7069418069625,51.30542410672873],[-118.72939220037296,51.28755998166383],[-118.69971320661344,51.258709629872826],[-118.71050894426915,51.2456167477837],[-118.70632995078927,51.237107814274474],[-118.71585619897516,51.224744380673265],[-118.73693290567691,51.21618527746516],[-118.71767625605247,51.16952890203032],[-118.72436764532245,51.148347246237684],[-118.74078487736556,51.14420384199181],[-118.73953139709418,51.12660130658587],[-118.75294479318934,51.11563475385087],[-118.7725878479959,51.11176998930351],[-118.75813372913123,51.07061186058235],[-118.7645770936803,51.0642404614322],[-118.7960685913883,51.06372936350382],[-118.82463381817185,51.05484086131386],[-118.82710186260131,51.04681085128411],[-118.94297995911346,51.035434943047846],[-118.96783742471786,51.03077271171156],[-118.97566947882193,50.99997041648605],[-118.99281558139243,50.99999662071179],[-119.00326187336371,50.976508356388386],[-119.02105766070632,50.94882135426681],[-119.05845828201556,50.92149518178939],[-119.06062211334022,50.893512508891085],[-119.05860164559375,50.86472405339513],[-119.04811720342241,50.82526063033588],[-119.06991382792108,50.8135742061652],[-119.17064896613309,50.78713822397158],[-119.20396338203803,50.76817212312795],[-119.17858917284842,50.76592133282798],[-119.17800854869746,50.75009593852145],[-118.99536676118332,50.750017808614096],[-118.88303733623769,50.75042413047028],[-118.87781414244009,50.758955065111415],[-118.85494581801906,50.759323452698176],[-118.8502288360905,50.76729278288344],[-118.8126549032231,50.78667698397021],[-118.79509556421608,50.80257779186237],[-118.7781270218073,50.82604449954068],[-118.73298626475335,50.82579667652763],[-118.71799850370444,50.81425218847546],[-118.69937430803343,50.81120373171168],[-118.67484087438466,50.81543183004249],[-118.66444885990435,50.823020170810125],[-118.67128310621611,50.84363236042809],[-118.65161028650394,50.85323037689627],[-118.63373858738144,50.848361964207875],[-118.62025017312057,50.857693737253015],[-118.63802371603666,50.86562376328189],[-118.60960390903884,50.89411388219153],[-118.61277894389913,50.92461999331034],[-118.533769090753,50.93457264904485],[-118.49561733513274,50.91288816249048],[-118.4706348793324,50.89455705771244],[-118.44977789740588,50.9034257588871],[-118.43048586600666,50.89776634828276],[-118.4115930713829,50.882671647569765],[-118.37016224449971,50.88806363329103],[-118.33163460914231,50.881069014743034],[-118.31442671730173,50.88836758013088],[-118.31444420681555,50.90491596483082],[-118.32385664928591,50.91959192644781],[-118.33287901662843,50.94770916279646],[-118.35335005985733,50.963357147786056],[-118.3545825241322,50.98737329009902],[-118.34593007180196,50.99878640036818],[-118.36092688749385,51.00872086179404],[-118.3891042170664,51.00704302265362],[-118.40355033552237,50.99815049373207],[-118.41911811117093,51.00478164963128],[-118.42570053991774,51.01624733983301],[-118.43472972904517,51.05517957585571],[-118.4211366162076,51.06277775992549],[-118.43222163000955,51.07246733743527],[-118.46275732917522,51.079037778770925],[-118.46267139691433,51.087080331646334],[-118.48129900243153,51.10181746013434],[-118.47431880266086,51.12663179755358],[-118.49042726340399,51.13606480009947],[-118.49157562668142,51.14691690139585],[-118.47197917708773,51.156387532898414],[-118.46943179946392,51.17051308444874],[-118.50447672796662,51.17913726096341],[-118.53508540986728,51.17761607643799],[-118.5659271610459,51.19453011705417],[-118.56805131016024,51.20244043939914],[-118.54423852640848,51.21415026483755],[-118.57472408845851,51.23930033508592],[-118.57683658321817,51.25189919736325],[-118.55830007240087,51.26549114070931],[-118.54971100209248,51.279164968281414],[-118.56013531979055,51.29920970504864],[-118.58576793654316,51.299473549339645],[-118.6000035892796,51.31009100421561]],[[-119.01175253751313,50.84825212639767],[-118.99712724617314,50.85285904203241],[-118.943654152286,50.85327271733547],[-118.94176832105408,50.84193061484615],[-118.96180035581911,50.831412529936735],[-118.96868291178694,50.80197091296588],[-118.98163534953082,50.80714568503285],[-118.98659199683546,50.82211549041614],[-119.00729290624543,50.82325235394646],[-119.01175253751313,50.84825212639767]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-118.72281906364056,\"lat\":50.98415513031205},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5939\"],\"cd_name_en\":[\"Columbia-Shuswap\"],\"csd_code\":[\"5939043\"],\"csd_name_en\":[\"Columbia-Shuswap E\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Columbia-Shuswap\",\"csd_name_fr\":\"Columbia-Shuswap E\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.19742356224522,52.29980238734552],[-124.20913056840946,52.3134632932478],[-124.24512600058684,52.31315761429759],[-124.24509467469676,52.29832074703846],[-124.19742356224522,52.29980238734552]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.22427747962683,\"lat\":52.305839066179175},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941827\"],\"csd_name_en\":[\"Charley Boy's Meadow 3\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Charley Boy's Meadow 3\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-126.82005905542677,50.922717368561585],[-126.82002267706045,50.92445957160403],[-126.82322135536752,50.923884297542486],[-126.82005905542677,50.922717368561585]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-126.8211010292849,\"lat\":50.92368707923603},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5943\"],\"cd_name_en\":[\"Mount Waddington\"],\"csd_code\":[\"5943809\"],\"csd_name_en\":[\"Hopetown 10A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Mount Waddington\",\"csd_name_fr\":\"Hopetown 10A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-130.46019724078693,53.79182997557855],[-130.45056676891264,53.78419757603779],[-130.47550296314245,53.76593357929912],[-130.46231414406904,53.76411766895514],[-130.44680785997483,53.749976661891985],[-130.43372056450568,53.749513869279916],[-130.41193527063248,53.759749579493956],[-130.40309092909382,53.76973337320373],[-130.40630083821523,53.78906697976618],[-130.43333065205437,53.79687308785778],[-130.46019724078693,53.79182997557855]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-130.43448960534593,\"lat\":53.77339007532581},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5947\"],\"cd_name_en\":[\"Skeena-Queen Charlotte\"],\"csd_code\":[\"5947807\"],\"csd_name_en\":[\"Dolphin Island 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Skeena-Queen Charlotte\",\"csd_name_fr\":\"Dolphin Island 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-129.00205422043302,57.164389392052094],[-129.04905327777743,57.17654928153725],[-129.10500119224648,57.17950536880879],[-129.12187487782884,57.1751422200283],[-129.16927057054033,57.120987578495644],[-129.2249613286028,57.11173760318743],[-129.24231490215658,57.10410621481067],[-129.25547195851348,57.071927482165535],[-129.27750711268996,57.06720776586511],[-129.29464477555348,57.078853170336835],[-129.42709889787264,57.067748144792965],[-129.45046350039453,57.07234799631903],[-129.49202468552636,57.09174939873054],[-129.49901978104933,57.111467506618645],[-129.4759401430079,57.13102979875737],[-129.47340300033676,57.14548757225718],[-129.480824973933,57.160411644472546],[-129.51250282677026,57.16826212351929],[-129.54173071287732,57.16717370569383],[-129.59777685834524,57.14997272125986],[-129.62171864311733,57.150331747240266],[-129.66264190672925,57.159872178739974],[-129.68169152311526,57.15969328210947],[-129.69622862696212,57.147674260491904],[-129.70343835688192,57.11778653394635],[-129.71814861292793,57.10910669021704],[-129.77599784648862,57.10894185554368],[-129.7958386405522,57.10347285097179],[-129.81156689413743,57.089268024522276],[-129.81945314638537,57.059550638171146],[-129.85530345239405,57.014326602825825],[-129.900998173213,56.99897502865607],[-129.9057437195721,56.94233459950423],[-129.89372850809872,56.91444236155358],[-129.89438123813724,56.899454791850744],[-129.88154302087807,56.88685433015414],[-129.89513041313649,56.86356089364967],[-129.872766281483,56.83620788868016],[-129.86943956182787,56.80386115345859],[-129.9126592156088,56.816324187709995],[-129.94930675244268,56.81685889428324],[-129.97758887307717,56.79678755588163],[-130.00353422891925,56.793510858245476],[-130.01904802788007,56.78504398161196],[-130.0649503551758,56.77596140694004],[-130.09691326210887,56.781364398969025],[-130.14116341507224,56.774577776650304],[-130.1678530513657,56.76622016129949],[-130.19142076786525,56.77258754540864],[-130.22205811674655,56.76918887852698],[-130.21361715621725,56.74775224832853],[-130.2207750677466,56.72789738292286],[-130.24381534582386,56.72751027048525],[-130.27174143651703,56.71473909554405],[-130.3080690628158,56.71092988382628],[-130.33283447290742,56.70175059102029],[-130.37513092853416,56.69704633385235],[-130.40219421844446,56.705704404560414],[-130.42952369556073,56.724021705850035],[-130.44669924143912,56.728406485833894],[-130.4804873320158,56.72613551367301],[-130.48131926550465,56.703855540965925],[-130.4714601892107,56.67558257785125],[-130.46044495026212,56.66010317942202],[-130.46763070223798,56.65297969040419],[-130.49977601509244,56.657555689366355],[-130.53506849873122,56.647081309374755],[-130.56693019196206,56.6473690925478],[-130.59422110913746,56.636182804731824],[-130.63863254637175,56.63224732081316],[-130.65208759284417,56.61822000685341],[-130.65274974909775,56.60575188169896],[-130.63435933828558,56.58966708105817],[-130.63129010034552,56.574022424098345],[-130.63896563400874,56.5610451320913],[-130.67286042419337,56.52737231615441],[-130.69225863459494,56.51830656710776],[-130.76730814604645,56.512033503272264],[-130.78906262321357,56.49724313824427],[-130.80569508064573,56.49360514758696],[-130.88750581568544,56.49040192074141],[-130.91999072387725,56.486291947311784],[-130.92757774405948,56.46464781701307],[-130.93921676284515,56.453978959081795],[-130.95990861066602,56.44730506117855],[-131.0038598657221,56.44220170924294],[-131.01595293916404,56.43592523930902],[-131.04331970943878,56.40093143169934],[-130.78139029881885,56.36806129004221],[-130.7568767110347,56.349117972783105],[-130.72657971007868,56.33219530974129],[-130.65623639614782,56.283394880164344],[-130.63345412821738,56.27156492236068],[-130.58551316431422,56.25544584989241],[-130.49808836227413,56.24249926718676],[-130.46511226962397,56.24147417194906],[-130.44485370677492,56.24160086630336],[-130.0622818764777,56.271621475090335],[-129.94851515049464,56.03960425322579],[-129.90543379673042,56.03696421246646],[-129.89133634563703,56.02352955315786],[-129.86072391660204,56.018914700016346],[-129.8782208351177,56.00955097467641],[-129.91496245322912,55.96454089460665],[-129.95077928743308,55.914637558294366],[-129.9801511715162,55.869364104301795],[-130.03166069666182,55.868772282791525],[-130.08476044757865,55.81167138403741],[-130.12212424003044,55.801621773197816],[-130.15130794445736,55.76731812257805],[-130.15429342299515,55.75006547546121],[-130.17326998539826,55.7500589426641],[-130.15983845919396,55.73385376306836],[-130.15980741619026,55.717824219938784],[-130.1716786306428,55.70478529341181],[-130.15733482506525,55.69941809581668],[-130.12481680693568,55.67858992605325],[-130.12216143517742,55.67049507996192],[-130.12444899387376,55.628689288760775],[-130.13694599625347,55.61927817636677],[-130.13520603893096,55.60723886057313],[-130.14764173605192,55.5907285222439],[-130.1370815869151,55.56544834498442],[-130.13987358143277,55.551547380011655],[-130.12839799095525,55.53021164676814],[-130.1200358102516,55.5263359674262],[-130.11174849683155,55.50006893168986],[-130.08915460646048,55.500063977017454],[-130.0384713605145,55.44978576175574],[-130.0262539687228,55.3924704526781],[-130.02839274214497,55.36867224183668],[-130.02578334689585,55.3385241265049],[-129.98654775415275,55.30899575131253],[-129.9740105457068,55.28492147090503],[-129.9910267140998,55.269544279872385],[-130.10515682838744,55.19072148534479],[-130.14763525866192,55.138468673063215],[-130.147235631662,55.130965173403226],[-130.17140332251762,55.101746280227836],[-130.20044214807086,55.04639955221875],[-130.24467883320793,55.00760827632135],[-130.27159020684854,54.976014620497764],[-130.34671716198557,54.918666529473064],[-130.42317046098063,54.87356767954515],[-130.48325468626177,54.835855586129526],[-130.56793840502604,54.79227890860608],[-130.62742048866352,54.78186951728783],[-130.65906328713803,54.763950201703125],[-130.62623864141676,54.73806891629085],[-130.63022070644183,54.7269871530889],[-130.61678154224182,54.70849898924426],[-130.6051058499448,54.68903252222615],[-130.58096597356908,54.69111105738969],[-130.48475820750173,54.69051548707312],[-130.38843226980612,54.69186369954737],[-130.31477675638016,54.70169599870243],[-130.2617943120978,54.71352353463027],[-130.20391076478145,54.731763449332675],[-130.1398853837921,54.730724402932665],[-130.12817700060782,54.7234012440181],[-130.08083827622647,54.71467826860957],[-130.058825469752,54.703200426968614],[-130.03160344617652,54.69985640619249],[-130.00232405700677,54.70177934813558],[-129.96559928318155,54.69892546555059],[-129.95960172967906,54.7068830155504],[-129.91927647849528,54.711076712649835],[-129.86983328461244,54.725095283612085],[-129.82368447407583,54.731642863692855],[-129.79535370576488,54.74578763388343],[-129.7743593523926,54.72744465533656],[-129.75385832185736,54.72357650878826],[-129.7237467875313,54.742863901572],[-129.70113971008837,54.736432906469666],[-129.69224943348445,54.72324943224047],[-129.6843400138743,54.69541212660561],[-129.66515388457213,54.68931468421251],[-129.56697348644823,54.68030249172125],[-129.55237599719348,54.67702489382784],[-129.51300488920404,54.65844128078659],[-129.46393839229336,54.66028769312486],[-129.4504846726038,54.690674568881],[-129.45275540349724,54.710002833790305],[-129.42328911869245,54.7470751610534],[-129.40400941202563,54.766539042990196],[-129.38429455025675,54.779142264191556],[-129.3847197914565,54.7913403410584],[-129.40752268830542,54.810052415573],[-129.4349189256382,54.811492795532814],[-129.47782919490365,54.819978291737684],[-129.48172534063787,54.81633180803423],[-129.56121348307403,54.823863320154],[-129.60001369772124,54.824997041758195],[-129.74212023198706,54.816779289101746],[-129.7597028412246,54.805620561423275],[-129.80614866056322,54.810032063657765],[-129.8267791387318,54.84107098434148],[-129.82775438021602,54.857198864911766],[-129.81538277998717,54.87549895773435],[-129.84023435654413,54.924478616536845],[-129.8891484568961,54.95714957539398],[-129.92618282687033,54.97810313344713],[-129.94096509949983,54.97875597169729],[-129.98059946330937,55.000401066038556],[-130.00169333301002,55.000001925686135],[-130.01080961885881,55.01133951944289],[-129.99821576629338,55.022178781140425],[-129.98565996958243,55.04468557824591],[-129.98789706412808,55.05741084528292],[-129.961377356546,55.057716105457864],[-129.93008341404246,55.0327324908098],[-129.7408593890422,55.179637853746556],[-129.72512907929612,55.185120670808],[-129.70524432507844,55.2009381406385],[-129.6625794058781,55.19553708457511],[-129.63113348546878,55.21050619498519],[-129.57067649067685,55.22466389209094],[-129.52783948180374,55.21960021845596],[-129.437221200948,55.21626735091001],[-129.24681163489026,55.28763216802542],[-129.24934599064414,55.295482753762556],[-129.2207901371839,55.30704042296646],[-129.21568228187212,55.323294952617395],[-129.1583668361313,55.34439794705023],[-129.07362423643343,55.383083300295596],[-129.0452485887064,55.402956201464285],[-128.99799373995953,55.42898842293816],[-128.99510423395006,55.456761952275514],[-129.00048165360863,55.483495197856726],[-129.01015388461988,55.497658470151244],[-129.00931519530263,55.5105532470812],[-128.96761551083242,55.51144050406287],[-128.95559940405084,55.51864695913059],[-128.96995657406958,55.54259706759906],[-128.95996201798874,55.547576990958554],[-128.94466926936644,55.51582163177947],[-128.91682875904135,55.50588485261561],[-128.91021213875467,55.488288258837116],[-128.9245937535398,55.45524060410738],[-128.89548713312837,55.394436538485394],[-128.90913856509312,55.37460831623596],[-128.9351180784247,55.3528595425124],[-128.92293407777106,55.337526542427],[-128.86642117424248,55.33460867310244],[-128.8627379671793,55.327577804536546],[-128.88561780178034,55.30862043117439],[-128.86844819313595,55.295435470585],[-128.86985030869408,55.26617114038565],[-128.89850657477575,55.25652432663779],[-128.90227622341035,55.24360840933722],[-128.88695134278822,55.230304384161826],[-128.9031556787603,55.22392715375704],[-128.97631415436783,55.20631095033493],[-128.95895399248775,55.17722796386036],[-129.00334676018423,55.15960979803347],[-129.01565993105004,55.1704507040321],[-129.0711554575258,55.18456196457712],[-129.09723383549377,55.20339267257114],[-129.10876855455007,55.21864152725437],[-129.14525336817118,55.21431317323694],[-129.22767797045287,55.18293445285601],[-129.24823716578192,55.17185522449794],[-129.2441852224837,55.16360878650227],[-129.1980223200991,55.1607203123638],[-129.17567328130406,55.17153090467806],[-129.14438103856904,55.175640447586666],[-129.1413394228133,55.18722966745179],[-129.1197570320984,55.19377898326497],[-129.0782523234945,55.170325021304485],[-129.05708501565258,55.16592890932872],[-129.01936294904363,55.150016786715796],[-129.02641788718256,55.13279660721236],[-129.08395999964375,55.0918645672192],[-129.11874277953933,55.10209548113721],[-129.18132026952205,55.111012467799014],[-129.20250064490295,55.10918948439832],[-129.30274656219947,55.06734131629699],[-129.29025349742716,55.048769519935355],[-129.39613653874872,55.01142808581773],[-129.42299049796137,54.99500763410334],[-129.43032287683144,54.977920557864294],[-129.41493170908328,54.97151986739859],[-129.4086782746105,54.95055430877806],[-129.38104754892944,54.9326297147099],[-129.34798037694458,54.932425348601654],[-129.3370596817352,54.92105681170378],[-129.3599764941474,54.902289394242004],[-129.34212136418458,54.89429790628836],[-129.29748791652372,54.88279610698573],[-129.19390328646602,54.883794024310575],[-129.17431440456926,54.88687975355004],[-129.13663785786832,54.912086069261576],[-129.05466113642845,54.929362785529236],[-128.9871134749891,54.93679271802992],[-128.94468960213587,54.94975988512139],[-128.90885859293735,54.97682273643313],[-128.90817302827585,54.984712327128804],[-128.92728445809604,55.00022023106826],[-128.95032781724584,55.00021170562896],[-128.94221422866732,55.01284927187626],[-128.91216650364836,55.03501855053599],[-128.89244818212148,55.06666811013258],[-128.8681813542864,55.06782681043333],[-128.85675281296204,55.0591636528767],[-128.83954854950028,55.07532858116424],[-128.81960939944614,55.108538801367324],[-128.7962403753527,55.11554402687074],[-128.7907340994553,55.12424431110577],[-128.79626480151344,55.1616642370066],[-128.82824115351505,55.17451390128216],[-128.83978185146154,55.187585022935274],[-128.82593942153713,55.19914708149821],[-128.8066353589329,55.2000497265533],[-128.78015516378574,55.1917728081289],[-128.74017069781868,55.17090226247593],[-128.71227584103167,55.162188639386194],[-128.71515682838643,55.1453955655159],[-128.68241038105032,55.12485890448014],[-128.66310333455553,55.14560773955918],[-128.63225955683342,55.14143674932875],[-128.6041965215199,55.1253409637643],[-128.5886863059224,55.10882879939016],[-128.52943105773025,55.1215897568291],[-128.50811719205345,55.112195639651624],[-128.480408406798,55.1340793685688],[-128.4525650173532,55.14136988419506],[-128.3770703843654,55.14146641017169],[-128.38310767845994,55.16067463373967],[-128.40032591336478,55.17270955938407],[-128.3947459011958,55.18564165128615],[-128.3649360059037,55.19516773203806],[-128.38429538464754,55.20963641161345],[-128.3884291681937,55.221906831598034],[-128.3655131386115,55.2375858242517],[-128.35492357451147,55.2668671992661],[-128.38756800358004,55.27646356062736],[-128.37762144622127,55.30259967016554],[-128.3684177662696,55.30663790523717],[-128.35445796954673,55.335474471326954],[-128.34121304698598,55.343885841677626],[-128.37674783368394,55.36138846448328],[-128.36855643988122,55.378870951536165],[-128.34624848800314,55.3852461522622],[-128.16355642692355,55.378873631265996],[-128.1626814632176,55.415059921609185],[-128.13401191800725,55.41752324467537],[-128.12131758744584,55.43128040719646],[-128.13333170900268,55.44180004454496],[-128.13630093940944,55.46211448181744],[-128.17773228890954,55.494899752150744],[-128.18672508195684,55.531435721813516],[-128.1742076439365,55.54499444745466],[-128.26628465082507,55.58163174256277],[-128.2865604247638,55.59147980545577],[-128.34911310762934,55.62860168978601],[-128.35311462658157,55.64286491794247],[-128.3745471128122,55.63797671241954],[-128.3916699995774,55.65117501325198],[-128.38733822243418,55.665996683088],[-128.4030176539941,55.686163641873755],[-128.44456090675362,55.69775356114441],[-128.48159322306947,55.71997986676424],[-128.49686789456868,55.712984880931096],[-128.55744084649135,55.72518172296979],[-128.61679461960802,55.72693729656302],[-128.66379618905165,55.7624839311],[-128.75527082596662,55.8153340123011],[-128.75971553826864,55.82519728327642],[-128.79378039051053,55.85543909143621],[-128.77975746140143,55.87480822969965],[-128.76090960636486,55.866799610342134],[-128.75113062227572,55.883839254207714],[-128.71929527903433,55.879599144583025],[-128.71111329000885,55.88459501257358],[-128.73041129873462,55.906872334855855],[-128.72379369853067,55.91926041256539],[-128.70665864417563,55.92613292962288],[-128.68816517447135,55.944011931431],[-128.65864837179763,55.94735647439822],[-128.66516061151623,55.96487433407792],[-128.62776467292656,55.993971435134476],[-128.61816839324172,56.01289573358624],[-128.56144310378272,56.052713744774024],[-128.55446687895417,56.07944883435716],[-128.52256496503102,56.08372512528083],[-128.49209066353603,56.10217272508459],[-128.4737917912339,56.10578292867663],[-128.4093034636311,56.10914748670717],[-128.3878614896438,56.10700859728736],[-128.34554558842962,56.093595996618625],[-128.32162047997872,56.09208688302273],[-128.27871168131236,56.11028458614809],[-128.27597959169825,56.118788535830745],[-128.2902692186588,56.13695011472674],[-128.29557149116846,56.19050643440799],[-128.27549173557816,56.2142032361815],[-128.28475932183994,56.23324934418105],[-128.28409004523553,56.246574770599764],[-128.24116363971893,56.265466756491485],[-128.22222770792627,56.279822130065554],[-128.21456128298357,56.29540582072307],[-128.20206004410062,56.30091777287178],[-128.15496522234142,56.308207469542204],[-128.10580942540267,56.30942579908445],[-128.0879653229794,56.32121711352192],[-128.109344085347,56.34818375148173],[-128.13010012083765,56.354930594593796],[-128.22725222516604,56.368854256411105],[-128.27317577973764,56.38341559654514],[-128.28543949590667,56.40004379066748],[-128.26523345008627,56.41902867937995],[-128.21537734735364,56.43024474959361],[-128.19057089031008,56.446493010311364],[-128.16351761250104,56.453477548676936],[-128.1365055243514,56.42760780746872],[-128.0801032388903,56.41412423453311],[-128.0534990669343,56.41552245843452],[-127.9786224067913,56.43542587409932],[-127.96379459931059,56.451151260913086],[-127.96984490015575,56.47046831750571],[-127.98711428020947,56.49473203020018],[-127.98874221646149,56.510441959970784],[-127.96677690766941,56.52860925393715],[-127.90806031365723,56.538545315218144],[-127.85449311170456,56.542909840562444],[-127.84759920847156,56.55915884435851],[-127.89736736799564,56.58465147310946],[-127.91621840587973,56.61507143406745],[-127.94497779337877,56.62155825477212],[-127.98947867069485,56.61131676168713],[-128.0711191287651,56.66664086766819],[-128.08827796589293,56.668060302883276],[-128.11058845682584,56.639382398132476],[-128.1264829972628,56.63757953723103],[-128.17651951689112,56.64344766670786],[-128.18391069400099,56.65761088808417],[-128.1610036817986,56.69400004032719],[-128.17024622374518,56.71971600882844],[-128.18867569272484,56.73784654209468],[-128.2064203352161,56.730204201891866],[-128.2303272632166,56.735182787455734],[-128.25926713244735,56.74822551886103],[-128.29062248076548,56.74506364652958],[-128.3141464207358,56.75062689983977],[-128.35851848773495,56.752981376949215],[-128.41830341602235,56.7718454392038],[-128.4490245026677,56.79474413015754],[-128.48600021466842,56.803727375800634],[-128.49513221035264,56.811425426504854],[-128.5626913577537,56.84342506805097],[-128.61888238451883,56.87786390229546],[-128.6344699384192,56.883641176894585],[-128.69334114916217,56.878426468104934],[-128.68398734524578,56.895748757617774],[-128.6489019686352,56.919753550906],[-128.66407441786336,56.926321281020165],[-128.66766533727767,56.95021634562983],[-128.66151631430748,56.972271038352275],[-128.68656797375746,56.985422881646834],[-128.70910723295384,57.010290250825754],[-128.72627203026263,57.042146044549895],[-128.78065648546854,57.05289427424618],[-128.7861158966738,57.07566827170367],[-128.8179703782826,57.08755771255884],[-128.8500446370254,57.11665819777148],[-128.892261393789,57.12745709024042],[-128.914791933193,57.142765465881396],[-128.93061529663225,57.147634313285614],[-128.97769334611928,57.143939784479635],[-129.00205422043302,57.164389392052094]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-129.3439620345548,\"lat\":56.048342370137405},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5949\"],\"cd_name_en\":[\"Kitimat-Stikine\"],\"csd_code\":[\"5949039\"],\"csd_name_en\":[\"Kitimat-Stikine A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kitimat-Stikine\",\"csd_name_fr\":\"Kitimat-Stikine A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-130.01967129761334,58.4718983022862],[-130.02445641434875,58.48039379026446],[-130.03177621264425,58.480113354021604],[-130.03343384324913,58.47025948867489],[-130.01967129761334,58.4718983022862]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-130.0273259664003,\"lat\":58.47518291724517},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5949\"],\"cd_name_en\":[\"Kitimat-Stikine\"],\"csd_code\":[\"5949845\"],\"csd_name_en\":[\"Dease Lake 9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kitimat-Stikine\",\"csd_name_fr\":\"Dease Lake 9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-125.77293306977005,54.23053028129362],[-125.7691808213812,54.23163910356303],[-125.77272913359529,54.23570618954407],[-125.77293306977005,54.23053028129362]]],[[[-125.76494516377265,54.236200165969215],[-125.76319082645503,54.241685275381485],[-125.77204653291507,54.241228816133564],[-125.76494516377265,54.236200165969215]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.76812821132289,\"lat\":54.23767555180015},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951815\"],\"csd_name_en\":[\"Burns Lake 18\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Burns Lake 18\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.47839986564293,56.603691055524884],[-120.49289411832295,56.59509158636994],[-120.51268995234275,56.59490772422389],[-120.51455779704085,56.55887759706836],[-120.49902423796888,56.550379713829095],[-120.47152440817112,56.551364547812504],[-120.47237472599262,56.56534361562286],[-120.48449983286419,56.57537201450377],[-120.48522890805698,56.59528433154867],[-120.47839986564293,56.603691055524884]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-120.49526007532653,\"lat\":56.5719613942138},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5955\"],\"cd_name_en\":[\"Peace River\"],\"csd_code\":[\"5955804\"],\"csd_name_en\":[\"Doig River 206\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Peace River\",\"csd_name_fr\":\"Doig River 206\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.25161473905371,64.10385701703643],[-117.24629740257382,64.1089614449844],[-117.26415508142996,64.13463935236389],[-117.32201422143692,64.14429016950744],[-117.37295063843817,64.1283780961489],[-117.36041479726512,64.09591342096164],[-117.32456695584237,64.0845547857485],[-117.26579948539705,64.09023004310019],[-117.25161473905371,64.10385701703643]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.3102347375844,\"lat\":64.1138503206745},\"year\":\"2021\",\"prov_code\":[\"61\"],\"prov_name_en\":[\"Northwest Territories\"],\"cd_code\":[\"6103\"],\"cd_name_en\":[\"Region 3\"],\"csd_code\":[\"6103049\"],\"csd_name_en\":[\"Gam\\u00e8t\\u00ec\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Community government\",\"prov_name_fr\":\"Territoires du Nord-Ouest\",\"cd_name_fr\":\"Region 3\",\"csd_name_fr\":\"Gam\\u00e8t\\u00ec\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-83.17625376074429,64.10308483237],[-83.13300485513999,64.11991057234431],[-83.07069929252738,64.15093108290057],[-83.01287223863467,64.17058087649457],[-83.00358631104672,64.19946478112938],[-83.42574502776334,64.21954567327604],[-83.42646092868317,64.17591242695954],[-83.33511992071803,64.11288574098603],[-83.22947099542279,64.10321996843825],[-83.17625376074429,64.10308483237]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-83.23215512442377,\"lat\":64.16563766921048},\"year\":\"2021\",\"prov_code\":[\"62\"],\"prov_name_en\":[\"Nunavut\"],\"cd_code\":[\"6205\"],\"cd_name_en\":[\"Kivalliq\"],\"csd_code\":[\"6205014\"],\"csd_name_en\":[\"Coral Harbour\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Hamlet\",\"prov_name_fr\":\"Nunavut\",\"cd_name_fr\":\"Kivalliq\",\"csd_name_fr\":\"Coral Harbour\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.2684376489042,47.814041771416704],[-53.271848661892776,47.82420258020208],[-53.24405083576566,47.86313572505653],[-53.247989284583205,47.87511944795507],[-53.234301865580214,47.88119289460004],[-53.21687482063531,47.897513160587856],[-53.23955374718241,47.90435259307245],[-53.220442184316376,47.91284816083265],[-53.215896754981955,47.93786564563742],[-53.20331313709058,47.958846645461094],[-53.175414432597115,47.98108921225622],[-53.13938812521146,47.982749984822256],[-53.11908234575298,47.972324971629725],[-53.093339787609125,47.987594805212396],[-53.05674306462553,47.997594981602944],[-53.03561891674644,48.01866998361399],[-53.04390236214963,48.02849178279948],[-53.079669551687175,48.03892901013121],[-53.10081461441378,48.16202758803066],[-53.14841020881258,48.13426205146714],[-53.238126827371474,48.08482119609202],[-53.34343994433003,48.02872016993162],[-53.50101582855826,47.951065779384315],[-53.62090753860346,47.84542062440625],[-53.62528574205829,47.80076470617994],[-53.499993474455955,47.79786427808412],[-53.43939894690322,47.85258665419078],[-53.43596566936526,47.85822473692722],[-53.39529484020795,47.89099454041747],[-53.38707672383133,47.89074046113527],[-53.375961213380634,47.91408449295113],[-53.35328070761225,47.91600749663657],[-53.357770767276854,47.9257929208267],[-53.27576489903524,47.925177614018715],[-53.278692097770886,47.905809803465594],[-53.29612990815212,47.887202341396446],[-53.29132844740258,47.81843834569786],[-53.3833444787261,47.80828200890314],[-53.3841505593191,47.80782054428606],[-53.38328702333362,47.800141445558125],[-53.33462658359094,47.78277340362325],[-53.31386019679571,47.78578337617216],[-53.29412879911129,47.80588256279904],[-53.2684376489042,47.814041771416704]],[[-53.32992480610555,47.969653899617484],[-53.309033606125446,48.00130710103157],[-53.28390201207796,48.017957201861684],[-53.25830819991593,48.015444602849094],[-53.240491376196736,48.02991426696143],[-53.23380221237472,47.98096249979374],[-53.275852107633725,47.95752179558836],[-53.29151721304773,47.940995893759016],[-53.35175893314509,47.94117445249057],[-53.35424243264039,47.94815325496651],[-53.32992480610555,47.969653899617484]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.32227975291956,\"lat\":47.95616847266281},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001321\"],\"csd_name_en\":[\"Division No.  1\",\"Subd. F\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Division No.  1, Subd. F\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.26362163813438,47.73360557639908],[-53.26858808783666,47.72081951213423],[-53.22480490486164,47.714463191844196],[-53.18170113858971,47.72996467461166],[-53.167454189572865,47.745373810655806],[-53.21965907777251,47.74772425997531],[-53.238808576555414,47.74486500011979],[-53.26362163813438,47.73360557639908]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.22084607791887,\"lat\":47.73242570086698},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001370\"],\"csd_name_en\":[\"Carbonear\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Carbonear\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.79905258059957,47.089307504208286],[-55.827158305289885,47.07524619158196],[-55.839660331667496,47.08068787980708],[-55.863074529990044,47.076012650918656],[-55.87816120282425,47.06631704031492],[-55.923636254128134,47.02527411226617],[-55.945348864976616,47.01364558688298],[-55.94195815487759,47.00178054791804],[-55.923977430032586,47.00874453171373],[-55.89569116695885,46.99491900647874],[-55.89200674297551,46.992896192650115],[-55.81618811981413,47.035136747922856],[-55.78686212941704,47.07377144032573],[-55.79905258059957,47.089307504208286]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.86197758361457,\"lat\":47.04069199700253},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1002\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"1002018\"],\"csd_name_en\":[\"Fortune\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Fortune\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.333836270281374,47.26514680165316],[-55.33866189901331,47.24401420660129],[-55.366119297922324,47.23475640594035],[-55.386289289565255,47.21867128993318],[-55.35516308742959,47.16798377849838],[-55.33974161534696,47.194665231508864],[-55.31876153855552,47.188658139557674],[-55.2668294609656,47.21598529346443],[-55.28367925965567,47.22896040968289],[-55.333836270281374,47.26514680165316]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.33131748071843,\"lat\":47.21721287391882},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1002\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"1002021\"],\"csd_name_en\":[\"Garnish\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Garnish\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.28367925965567,47.22896040968289],[-55.262624408453526,47.232096127051165],[-55.258192098730326,47.24925849034267],[-55.23573727573996,47.260729912085246],[-55.22731719748211,47.2775377203356],[-55.213854406829896,47.28539604677076],[-55.1987270052107,47.285600244658305],[-55.1840548253648,47.29726836756932],[-55.163709021078596,47.29126013328414],[-55.15180893449124,47.293732643933396],[-55.13420523031076,47.313145743988024],[-55.141451472129035,47.32411077627213],[-55.141066737047296,47.34386643553378],[-55.16998752311296,47.349964796351074],[-55.153451756317,47.37050464104308],[-55.125872989423634,47.382760722204694],[-55.10996557579202,47.41645347099064],[-55.10185994495668,47.423619739940165],[-55.08151282702128,47.42660637644818],[-55.05639574655023,47.41237003213933],[-55.06118907815771,47.39725405487867],[-55.04830053075124,47.39291519782721],[-55.043481653576904,47.409952185559334],[-55.02568152231531,47.42357702345131],[-55.00679099283577,47.4268151397798],[-54.96387540471697,47.422180210014105],[-54.95469905475903,47.42799390283672],[-54.95583233080864,47.4405126452691],[-54.991210390577706,47.460999548700045],[-54.984939192103504,47.46981249431463],[-54.95894039994038,47.46680125988144],[-54.951042488787515,47.48485947703771],[-54.9260252667671,47.48151138340578],[-54.87690952383792,47.500579149160515],[-54.842122440222376,47.499789236228615],[-54.81678966013003,47.48073139599288],[-54.80330228361936,47.481309458782434],[-54.77301989753985,47.49344649274967],[-54.73565722847913,47.49888274772926],[-54.723361103818306,47.50464613975046],[-54.71606055008174,47.524998542116094],[-54.698126594503066,47.53468270115937],[-54.684616450217334,47.55291325356824],[-54.6745122546545,47.58817826462612],[-54.638430607935625,47.637694548149504],[-54.69405739505134,47.642917435833354],[-54.71175512170677,47.635900626669795],[-54.71909375432152,47.64268426363253],[-54.72644722038583,47.63950859526866],[-54.75531497061473,47.61777122768728],[-54.78088300979015,47.616676378270945],[-54.803257852723235,47.608655185223085],[-54.850736068434536,47.599162292143134],[-54.88223469062576,47.60137210803258],[-54.89770668476664,47.59869802103947],[-54.929497525747564,47.601020879061316],[-54.95259221930683,47.58319498348928],[-54.989552528765245,47.56815285192836],[-55.0678424511258,47.56045795028968],[-55.10965239889759,47.56718654378882],[-55.228635233825244,47.46577713425768],[-55.467518615756475,47.359318218330266],[-55.333836270281374,47.26514680165316],[-55.28367925965567,47.22896040968289]],[[-54.88334558222912,47.560346186397915],[-54.8708426086194,47.56522187676108],[-54.84650409028508,47.55933550270862],[-54.859258796430694,47.54778270705095],[-54.88334558222912,47.560346186397915]],[[-54.89779779157808,47.53582104084744],[-54.90703689280715,47.5437840887885],[-54.88205408489549,47.55213939268809],[-54.88353436516542,47.53265839184042],[-54.84003357042707,47.51179393036145],[-54.855901394490694,47.50576184591105],[-54.90246287799134,47.516186949995735],[-54.94507075236715,47.50576406950328],[-54.96380220444079,47.52378670179418],[-54.93601811888328,47.53052999734765],[-54.91747268239563,47.526738097792304],[-54.89779779157808,47.53582104084744]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.07905717820595,\"lat\":47.45234980897934},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1002\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"1002026\"],\"csd_name_en\":[\"Division No.  2\",\"Subd. I\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Division No.  2, Subd. I\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.62721335313101,47.17652856781217],[-54.62158668823319,47.22779934622058],[-54.61933521926754,47.27342549523757],[-54.611972892055825,47.33733259544204],[-54.580851481369244,47.3546498966554],[-54.60309798437517,47.36739494435727],[-54.57791483803854,47.39111661225184],[-54.54122779597043,47.40381127674132],[-54.52440930213126,47.42464679902842],[-54.496789549821635,47.432777620289684],[-54.500125492973616,47.444046585129136],[-54.47584736332678,47.457896975714576],[-54.46930916622414,47.479055099172946],[-54.48546299887253,47.491392477621325],[-54.41068005230505,47.55509566790705],[-54.40604787424511,47.57654235530212],[-54.39392064060045,47.59224431324605],[-54.38452758125798,47.62924417523181],[-54.39791614094498,47.654917983504305],[-54.39893389665279,47.68635882862271],[-54.43723474733136,47.68943631410284],[-54.43164325574093,47.726844372350996],[-54.45298984341857,47.74495233714023],[-54.44345234402513,47.75178946755807],[-54.486383073485506,47.799680300152225],[-54.48032666743703,47.8102522895891],[-54.491278987647156,47.81979119857728],[-54.517241904961644,47.82182662058953],[-54.5349861998571,47.83200909193779],[-54.53199308452993,47.85162194990851],[-54.54647906437068,47.85578569509228],[-54.56994321294286,47.848589499763925],[-54.58317959898082,47.85445066210107],[-54.60047804090255,47.883694062306674],[-54.63362669372839,47.89543503470773],[-54.631396771213105,47.91342445082105],[-54.63676220569559,47.940743539906194],[-54.63111691152064,47.95032514792113],[-54.63753296179612,47.96302267446831],[-54.66559089036292,47.966315862549614],[-54.65427903772515,47.980250118363],[-54.65365571403311,47.99716527862547],[-54.66268483261617,48.010703441079826],[-54.68965025673128,48.025875884298955],[-54.74951443421451,47.979447823624874],[-54.76385064865377,47.961752631311036],[-54.76190106239203,47.94973946643379],[-54.73794402831955,47.927802013813306],[-54.74449210495444,47.91836417055496],[-54.77130588636921,47.91035593449156],[-54.77471195128987,47.899885400678244],[-54.77537967636879,47.863125670474496],[-54.74744187398665,47.863161204794295],[-54.74693443662857,47.80751688747159],[-54.70248779471954,47.80801928908134],[-54.68154784335321,47.779529977486305],[-54.65555939171254,47.760887027542545],[-54.62505792612861,47.75011842922994],[-54.60898912372135,47.71641682753244],[-54.59887352635221,47.71017288788214],[-54.601356735796934,47.67620376424173],[-54.61580235156834,47.654284280590936],[-54.638430607935625,47.637694548149504],[-54.6745122546545,47.58817826462612],[-54.684616450217334,47.55291325356824],[-54.698126594503066,47.53468270115937],[-54.71606055008174,47.524998542116094],[-54.723361103818306,47.50464613975046],[-54.73565722847913,47.49888274772926],[-54.77301989753985,47.49344649274967],[-54.80330228361936,47.481309458782434],[-54.81678966013003,47.48073139599288],[-54.842122440222376,47.499789236228615],[-54.87690952383792,47.500579149160515],[-54.9260252667671,47.48151138340578],[-54.951042488787515,47.48485947703771],[-54.95894039994038,47.46680125988144],[-54.984939192103504,47.46981249431463],[-54.991210390577706,47.460999548700045],[-54.95583233080864,47.4405126452691],[-54.95469905475903,47.42799390283672],[-54.96387540471697,47.422180210014105],[-55.00679099283577,47.4268151397798],[-55.02568152231531,47.42357702345131],[-55.043481653576904,47.409952185559334],[-55.04830053075124,47.39291519782721],[-55.06118907815771,47.39725405487867],[-55.05639574655023,47.41237003213933],[-55.08151282702128,47.42660637644818],[-55.10185994495668,47.423619739940165],[-55.10996557579202,47.41645347099064],[-55.125872989423634,47.382760722204694],[-55.153451756317,47.37050464104308],[-55.16998752311296,47.349964796351074],[-55.141066737047296,47.34386643553378],[-55.141451472129035,47.32411077627213],[-55.13420523031076,47.313145743988024],[-55.15180893449124,47.293732643933396],[-55.163709021078596,47.29126013328414],[-55.1840548253648,47.29726836756932],[-55.1987270052107,47.285600244658305],[-55.213854406829896,47.28539604677076],[-55.22731719748211,47.2775377203356],[-55.23573727573996,47.260729912085246],[-55.258192098730326,47.24925849034267],[-55.262624408453526,47.232096127051165],[-55.28367925965567,47.22896040968289],[-55.2668294609656,47.21598529346443],[-55.31876153855552,47.188658139557674],[-55.24310947757062,47.16958238363265],[-55.243090194019985,47.161236394798905],[-55.15482360730777,47.19420488082561],[-55.11501908581264,47.219693878718516],[-55.02436037941439,47.21439388967305],[-54.62721335313101,47.17652856781217]],[[-54.87435650235977,47.39503570127968],[-54.87384574843306,47.4091106743718],[-54.840723250472266,47.40821460966758],[-54.85362659967424,47.38553687926737],[-54.87362487428879,47.38574326181952],[-54.87435650235977,47.39503570127968]],[[-54.892390162661435,47.350034956235724],[-54.92142554256787,47.33681999763108],[-54.948630270874325,47.34105860239266],[-54.91449559637015,47.369334448568665],[-54.90602419635727,47.37432410194032],[-54.880470511448166,47.37136410841059],[-54.892390162661435,47.350034956235724]],[[-55.02129998797933,47.29812989150293],[-55.004242495187924,47.30860499367899],[-54.984955571693796,47.31300279323886],[-54.96899469742738,47.29033813237305],[-54.99314089011938,47.28507609792713],[-55.00696082997461,47.26906751556008],[-55.03395917529297,47.28778957107539],[-55.02129998797933,47.29812989150293]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.752747386616676,\"lat\":47.480559083858715},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1002\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"1002031\"],\"csd_name_en\":[\"Division No.  2\",\"Subd. C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Division No.  2, Subd. C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-59.242732278400645,48.49434090313906],[-59.25529938667341,48.485590997958525],[-59.2672926072933,48.467736794304365],[-59.250597820622694,48.4636097003338],[-59.21717229339172,48.471177186092],[-59.19406099854895,48.4802648059974],[-59.13980668281402,48.49566739897285],[-59.09439539375926,48.51133520335909],[-59.10630932107728,48.526479192057224],[-59.23551275669274,48.498595957764145],[-59.242732278400645,48.49434090313906]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-59.1854973977735,\"lat\":48.49538603164963},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1004\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"1004033\"],\"csd_name_en\":[\"Cape St. George\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Cape St. George\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-57.25594488869695,49.198428495851545],[-57.27634068814546,49.21152570660043],[-57.31008177031441,49.22759789972654],[-57.32067658886676,49.223872227895185],[-57.3758627628099,49.22482656870075],[-57.41110239620757,49.21276531175476],[-57.42601089722941,49.19608610161415],[-57.435777999650135,49.195379892721945],[-57.46112872794806,49.2203027234388],[-57.46660341092202,49.22865010859818],[-57.4949176360266,49.219209843485736],[-57.48874353832009,49.158082228531605],[-57.467801280020936,49.159183207706846],[-57.42388190038608,49.160094893405436],[-57.39206749459076,49.177049884394215],[-57.36135880904305,49.18065301444423],[-57.33857140754965,49.17084669009069],[-57.310993013001664,49.177506606930365],[-57.27869980331577,49.195578812473144],[-57.25594488869695,49.198428495851545]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-57.39108050400024,\"lat\":49.19487323611326},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1005\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"1005004\"],\"csd_name_en\":[\"Deer Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Deer Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.065791818939054,48.27586357122059],[-53.13986487103859,48.36243261522165],[-53.15556095134214,48.38241817232015],[-53.163852802916594,48.406850899568774],[-53.17180433961606,48.41090739543348],[-53.18214934313953,48.43879368247929],[-53.19131110770495,48.44447890755104],[-53.18758540355844,48.464313196596436],[-53.21254520644326,48.46592221448985],[-53.22586700672005,48.48346692715943],[-53.24932061387839,48.4885513687297],[-53.25861207739864,48.46882579080839],[-53.27177643220476,48.46632043957521],[-53.31874368430113,48.4763846858749],[-53.35426819312811,48.47919229099125],[-53.3684524907149,48.5148460515779],[-53.3824358090135,48.528352344942135],[-53.41577599624892,48.515199100522324],[-53.426203576345074,48.50590527686878],[-53.43198339014887,48.48627423575347],[-53.4278361882266,48.46208880920144],[-53.42993478626761,48.44223284612936],[-53.47630695580308,48.44242661684981],[-53.45914655491029,48.419384541657806],[-53.47353621016877,48.407821899290056],[-53.45230234410723,48.387167279111466],[-53.425063293585836,48.35161535315655],[-53.45537965766127,48.330180750651074],[-53.50041509331176,48.314803089400236],[-53.50568011256805,48.29380800465681],[-53.51250861844172,48.28799009359531],[-53.50286771445618,48.26037973922304],[-53.50386115932162,48.24411757189292],[-53.4896933518246,48.23768765298383],[-53.47040682784373,48.24301965780709],[-53.38072933389946,48.250262532038214],[-53.30797830646606,48.26600974299458],[-53.065791818939054,48.27586357122059]],[[-53.35312590965488,48.40317630207372],[-53.34661221571259,48.4147694750448],[-53.28706635025664,48.41439978880256],[-53.307893931983514,48.40327704070847],[-53.3059935013678,48.39044218524911],[-53.32933587740837,48.39137060053691],[-53.34475581943723,48.38518699767021],[-53.35312590965488,48.40317630207372]],[[-53.359997605697636,48.376661713421285],[-53.35654744679415,48.363479893681856],[-53.41682709767383,48.35467388088408],[-53.41760883362341,48.394724410034414],[-53.374272893290104,48.390572428828484],[-53.3815465975057,48.37932071004944],[-53.359997605697636,48.376661713421285]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.30937756215538,\"lat\":48.36078922043333},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1007\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"1007014\"],\"csd_name_en\":[\"Division No.  7\",\"Subd. J\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Division No.  7, Subd. J\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.94698350100537,48.7111728062372],[-53.958665191001664,48.70403569566993],[-53.95940181967954,48.69117089810924],[-53.98486790480699,48.68607540619268],[-54.00265119772991,48.67231040633352],[-54.03106099010924,48.6771110938377],[-54.01901791816713,48.695429497770775],[-54.0011642198023,48.70296329723558],[-53.96459551540575,48.70294299348557],[-53.95686930327728,48.71898208474557],[-53.978512682492834,48.72826260358929],[-53.99072050012932,48.73936029881221],[-54.003960011479684,48.73419949402866],[-54.030216211126856,48.73384369159446],[-54.05171341037278,48.74056410188121],[-54.08879999427126,48.71189878476208],[-54.09140202065983,48.66937884730359],[-54.08112168664544,48.64088317057593],[-54.05460509475455,48.64376720456305],[-54.03351530251007,48.635219300242134],[-54.01545861448917,48.63755060418442],[-54.01067646134042,48.66230683559598],[-53.98334432858597,48.66921105734761],[-53.95808921801534,48.691187717627066],[-53.94698350100537,48.7111728062372]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.03476520697441,\"lat\":48.69114041426396},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1007\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"1007044\"],\"csd_name_en\":[\"Glovertown\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Glovertown\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.07713788414721,49.39448190196005],[-53.98155464153468,49.39161712527893],[-53.87939813739149,49.391433759711845],[-53.86657341116465,49.395557917930326],[-53.86749151335006,49.41109809880944],[-53.87862278028344,49.422210204453656],[-53.90848119959058,49.43802848386382],[-53.93094538918749,49.44236980011485],[-53.95089849364758,49.45213418977713],[-53.97650519100283,49.45547648663677],[-53.99223999209422,49.44487838481919],[-54.04630729913647,49.430587687255105],[-54.040481733255035,49.41639814003572],[-54.07395430169967,49.40071054110201],[-54.07713788414721,49.39448190196005]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.96427360368583,\"lat\":49.41635927508644},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008006\"],\"csd_name_en\":[\"Musgrave Harbour\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Musgrave Harbour\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-56.058693948270395,49.453607441395455],[-56.070092803679046,49.4487128488818],[-56.08127500896293,49.43346324719182],[-56.10231660272262,49.43406836185051],[-56.110974587080854,49.426925385398455],[-56.089149080696714,49.403666198162334],[-56.112970088248154,49.37937530933492],[-56.12066531306412,49.352924207700134],[-56.098499275473976,49.360753246425965],[-56.0784354950991,49.39430615368796],[-56.07538847169847,49.40994761807338],[-56.058693948270395,49.453607441395455]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-56.090920904018425,\"lat\":49.40336788367987},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008059\"],\"csd_name_en\":[\"South Brook\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"South Brook\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-56.81036708192791,51.230617914175824],[-56.784951728219696,51.22728227210812],[-56.7744205114361,51.2364371814008],[-56.79256783870797,51.248562723428996],[-56.80552441189718,51.24383094743623],[-56.81036708192791,51.230617914175824]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-56.793347315955494,\"lat\":51.2369370679113},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1009\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"1009023\"],\"csd_name_en\":[\"Anchor Point\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Anchor Point\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-59.787642650588076,54.904238723942306],[-59.760800138420024,54.91050395863272],[-59.77574497978563,54.91904004962678],[-59.79664270033497,54.91472937467276],[-59.787642650588076,54.904238723942306]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-59.78003716860152,\"lat\":54.911886651103195},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1011\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"1011015\"],\"csd_name_en\":[\"Postville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Postville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.69395578628951,46.340463560244686],[-63.696489042973404,46.34643151939097],[-63.725632012903034,46.33892012584737],[-63.72398762666125,46.332549735025005],[-63.69395578628951,46.340463560244686]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.710073275693205,\"lat\":46.33955852329658},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1103\"],\"cd_name_en\":[\"Prince\"],\"csd_code\":[\"1103015\"],\"csd_name_en\":[\"Bedeque and Area\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Prince\",\"csd_name_fr\":\"Bedeque and Area\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.845497290408666,46.42863568948661],[-63.859943283439094,46.43363010635084],[-63.864217088365606,46.444767886352025],[-63.88321501944602,46.424190291278],[-63.85220908662254,46.42362770107809],[-63.85116032841371,46.4261951567772],[-63.845497290408666,46.42863568948661]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.86519916561114,\"lat\":46.43040960012386},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1103\"],\"cd_name_en\":[\"Prince\"],\"csd_code\":[\"1103024\"],\"csd_name_en\":[\"Miscouche\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Prince\",\"csd_name_fr\":\"Miscouche\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.84115069962395,44.999846746856065],[-66.86573778719561,45.009173118705526],[-66.89429794507882,45.03656738701694],[-66.91542250867889,45.05104197073184],[-66.93293291164436,45.07289084519533],[-66.95851983810076,45.119531123609804],[-67.01460713076936,45.109797971761495],[-67.02310789029504,45.06854702694398],[-67.03239492112836,45.053580237449715],[-67.06735161096682,45.029580260241616],[-67.02166590256337,44.953925941899136],[-66.99686029233702,44.92837033296755],[-66.96874199716348,44.910411303031225],[-66.95568639214267,44.92822844432731],[-66.92762455106862,44.950428518688454],[-66.84115069962395,44.999846746856065]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.96754056182166,\"lat\":45.01523899241476},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1302\"],\"cd_name_en\":[\"Charlotte\"],\"csd_code\":[\"1302006\"],\"csd_name_en\":[\"West Isles\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Charlotte\",\"csd_name_fr\":\"West Isles\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.56346136429883,45.498799521240734],[-66.39551160092384,45.692173316530365],[-66.37466852046632,45.717481620732826],[-66.50399213141282,45.73006356672042],[-66.54822352625182,45.73545991099818],[-66.55237691994289,45.725595208786245],[-66.5845784100815,45.69894616391603],[-66.58154728312346,45.681432098923146],[-66.58460162277312,45.67045776118147],[-66.57019647776147,45.66112439007375],[-66.57584539238418,45.65195234801827],[-66.57196965241411,45.63854504482445],[-66.61275039389625,45.630825754806345],[-66.60593333682088,45.61172293010489],[-66.79216491430448,45.50137095059954],[-66.78631304630235,45.50130168778886],[-66.56346136429883,45.498799521240734]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.55863979809041,\"lat\":45.60914859046434},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1303\"],\"cd_name_en\":[\"Sunbury\"],\"csd_code\":[\"1303001\"],\"csd_name_en\":[\"Blissville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Sunbury\",\"csd_name_fr\":\"Blissville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.2577720534827,45.635048977960075],[-66.39551160092384,45.692173316530365],[-66.56346136429883,45.498799521240734],[-66.46024391997662,45.497224800735246],[-66.46126699763595,45.382829765718704],[-66.45974307533118,45.31273338995463],[-66.45973958577055,45.31260902302465],[-66.24747786485958,45.464351900446616],[-66.16618860897341,45.522937922893156],[-66.19447166435668,45.540811891622084],[-66.21354692543521,45.568484176686454],[-66.20538352575487,45.5788045321461],[-66.25484935393195,45.598350470142215],[-66.27875632492987,45.61071880456817],[-66.2577720534827,45.635048977960075]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.36620434901948,\"lat\":45.52217539381194},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1304\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1304001\"],\"csd_name_en\":[\"Petersville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Petersville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.64419002702479,45.604420605010844],[-65.66729881201435,45.65615395472177],[-65.68766519606872,45.702091701123216],[-65.76412772031213,45.68051049040941],[-65.79068089685843,45.65611460433613],[-65.81400566476105,45.642854189687284],[-65.81820788382107,45.62999753842911],[-65.81435373379375,45.617145088624724],[-65.75126065410439,45.658717418886006],[-65.72994537748365,45.61054694185867],[-65.70837888380214,45.60417710276685],[-65.66442229721291,45.6114337872566],[-65.66100517030644,45.6011476591199],[-65.64419002702479,45.604420605010844]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.71856150896154,\"lat\":45.649293367874236},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1305\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1305018\"],\"csd_name_en\":[\"Norton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Norton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.06891694155922,45.92782948719767],[-67.13907422061664,45.96721840844332],[-67.1560195036749,45.973682359129036],[-67.17946313979974,45.97472175282354],[-67.2144257395333,45.990240590009336],[-67.22546961100167,45.99097840785504],[-67.23595453800924,45.98301974835894],[-67.24269414426936,45.96646186087707],[-67.25205153915672,45.9603133606422],[-67.29878974092902,45.95465464355602],[-67.29158059913445,45.93606015554945],[-67.33369916324712,45.88517019635203],[-67.30052435801275,45.838162277744615],[-67.26979580219756,45.76333159674168],[-67.27570800672933,45.754930905305116],[-67.26158513480058,45.70978760135964],[-67.25255742214597,45.711131071071506],[-67.20202926937857,45.77176787791569],[-67.10430221143352,45.88561569492789],[-67.06891694155922,45.92782948719767]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.21351221859842,\"lat\":45.87511913455271},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1310\"],\"cd_name_en\":[\"York\"],\"csd_code\":[\"1310014\"],\"csd_name_en\":[\"Dumfries\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"York\",\"csd_name_fr\":\"Dumfries\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.10250922921672,47.28008109297166],[-68.07781394429779,47.30979817055864],[-68.03892189620032,47.338081204376955],[-68.02664997627969,47.33081400771691],[-68.00678855690586,47.33496098705695],[-67.98125969379474,47.35174713689457],[-67.92325923869579,47.39494965771003],[-67.94752254849834,47.40590765310344],[-67.90035093760937,47.45389335556768],[-67.79029506911372,47.56778399137268],[-67.76409592193758,47.59373849538724],[-67.97684907952376,47.66039469162682],[-68.04849133103355,47.68347626331557],[-68.18684388586426,47.52009894004098],[-68.08693501646086,47.401517232919],[-68.12973468385566,47.38266622727684],[-68.15361035933772,47.354471796844706],[-68.15269024958613,47.34365142689841],[-68.13500369203956,47.33675907315064],[-68.12469080953265,47.31428810468207],[-68.14610951710458,47.30482214944348],[-68.13588890386286,47.2956388874746],[-68.10250922921672,47.28008109297166]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.00406078119161,\"lat\":47.506356847931066},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1313\"],\"cd_name_en\":[\"Madawaska\"],\"csd_code\":[\"1313015\"],\"csd_name_en\":[\"Rivi\\u00e8re-Verte\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Madawaska\",\"csd_name_fr\":\"Rivi\\u00e8re-Verte\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.51112732720327,48.487726721152335],[-64.51703797075156,48.495763072833725],[-64.45261820930996,48.51779000792409],[-64.45068437685318,48.69440462863005],[-64.4673072986196,48.69498334774698],[-64.65172799713864,48.69449928323051],[-65.0531964990591,48.69444459650001],[-65.05359866051108,48.67945160519039],[-65.50119084206064,48.67903369204897],[-65.31078261312325,48.55688901516647],[-65.22415156547247,48.499739391266345],[-65.13564798814207,48.4440287338645],[-64.95743006041668,48.32836113628662],[-64.81199021011872,48.426598705325176],[-64.82346869407294,48.44068006263586],[-64.63680894546604,48.503453264208076],[-64.60738103399248,48.46333600467861],[-64.51112732720327,48.487726721152335]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.91003414765908,\"lat\":48.56610235643314},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2402\"],\"cd_name_en\":[\"Le Rocher-Perc\\u00e9\"],\"csd_code\":[\"2402902\"],\"csd_name_en\":[\"Mont-Alexandre\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Rocher-Perc\\u00e9\",\"csd_name_fr\":\"Mont-Alexandre\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.13163960484651,48.69698507850373],[-64.13248375643697,48.73218372252959],[-64.13987082793835,48.759853821992486],[-64.1620829711867,48.86627965627845],[-64.19199794129263,48.91827179878293],[-64.23671161397456,48.96188363696313],[-64.28667718839775,48.99345125751402],[-64.336685157732,49.021904426383365],[-64.49574087793053,49.109000625602874],[-64.70772766795577,49.1844784490203],[-64.70758097707517,49.090037191570524],[-64.74333454384545,49.09796852269191],[-64.73991081253418,49.01644207752637],[-64.71767627751618,48.99453047010555],[-64.69489134885123,48.9924003498146],[-64.70668896448241,48.967586651020326],[-64.70219906600089,48.828849705205776],[-64.66168108058214,48.831297555415354],[-64.65044627782083,48.836872452614124],[-64.65179957355434,48.80685920404607],[-64.65172799713864,48.69449928323051],[-64.4673072986196,48.69498334774698],[-64.45068437685318,48.69440462863005],[-64.37709684773439,48.695834971527084],[-64.13163960484651,48.69698507850373]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.46070476238478,\"lat\":48.89429154590929},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2403\"],\"cd_name_en\":[\"La C\\u00f4te-de-Gasp\\u00e9\"],\"csd_code\":[\"2403005\"],\"csd_name_en\":[\"Gasp\\u00e9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La C\\u00f4te-de-Gasp\\u00e9\",\"csd_name_fr\":\"Gasp\\u00e9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.91468995868546,48.00471800988159],[-65.02987682331974,48.103205918820294],[-65.13324850569231,48.2428912829211],[-65.18692994119338,48.227081144566384],[-65.14676276270792,48.176627871656734],[-65.11007939555105,48.12235266037185],[-65.12344297420935,48.117943717185966],[-65.09525241154716,48.08318710095102],[-65.00519247959072,48.00001011783087],[-64.93094199796818,48.00006592103219],[-64.91468995868546,48.00471800988159]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.06072718243176,\"lat\":48.107145816654786},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2405\"],\"cd_name_en\":[\"Bonaventure\"],\"csd_code\":[\"2405010\"],\"csd_name_en\":[\"Shigawake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Bonaventure\",\"csd_name_fr\":\"Shigawake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.33396785822721,48.11559806906662],[-65.34487435541095,48.145108573510456],[-65.31849704482292,48.14700564462255],[-65.33545144610119,48.192938343777364],[-65.28856309494537,48.197710761903515],[-65.30436157874894,48.22570153560913],[-65.38286543365383,48.21829667338548],[-65.45998189438102,48.20962430584908],[-65.45040132862451,48.22431075699208],[-65.63428960496435,48.26807690062729],[-65.64063206292498,48.25894495337589],[-65.5669994759236,48.23964149759695],[-65.57381969871413,48.2309840478295],[-65.56249789227289,48.190285960767085],[-65.53408193000712,48.18590406981831],[-65.5464936479324,48.16865298832876],[-65.49342269543047,48.15401898993941],[-65.46216903541954,48.1044900628995],[-65.42671367592494,48.10814485494428],[-65.42268564007432,48.09690526154776],[-65.40692597593758,48.09836388577735],[-65.3791632847821,48.10092917696121],[-65.38350423861624,48.11077362615951],[-65.33396785822721,48.11559806906662]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.4390780155334,\"lat\":48.17893479156938},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2405\"],\"cd_name_en\":[\"Bonaventure\"],\"csd_code\":[\"2405050\"],\"csd_name_en\":[\"Saint-Elz\\u00e9ar\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Bonaventure\",\"csd_name_fr\":\"Saint-Elz\\u00e9ar\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.87770833176636,47.99342952349882],[-66.89331656060006,48.02754403974145],[-66.9258401712322,48.018742078358336],[-66.93332224627548,48.03296575358928],[-66.95595059558322,48.02708765126548],[-66.97395778894312,48.01392860547212],[-66.99696419492204,48.02800943258558],[-67.01807967360628,48.0110706446966],[-66.99958545984808,47.996981381054105],[-67.01335816335921,47.9840612515516],[-66.97720171637225,47.964188524458095],[-66.9867869098306,47.955264524209696],[-66.99166761646316,47.92770169660577],[-67.00843022558189,47.93663254048321],[-67.02903155083777,47.91905609675972],[-67.00751183183603,47.91112821678406],[-66.97591365740428,47.892659228869725],[-66.9537938790074,47.89336387388145],[-66.95054943452372,47.909429785926946],[-66.97029659055464,47.91738263224425],[-66.96087086338933,47.94689358331627],[-66.94782759970875,47.95401389797874],[-66.94284433405937,47.970430491914044],[-66.9212708559644,47.984605090105056],[-66.90905500410373,47.987616555133634],[-66.87770833176636,47.99342952349882]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.96068766931398,\"lat\":47.97559688945882},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2406\"],\"cd_name_en\":[\"Avignon\"],\"csd_code\":[\"2406045\"],\"csd_name_en\":[\"Matap\\u00e9dia\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Avignon\",\"csd_name_fr\":\"Matap\\u00e9dia\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.9701888487661,48.632683684641165],[-68.02156358460131,48.664426877350316],[-68.0430567360794,48.6647946937911],[-68.06060970409047,48.65170148369872],[-68.06675075094448,48.6469175971054],[-68.04206015893293,48.63366620547864],[-68.06838148888296,48.616020832205514],[-68.08457680403937,48.600971976818805],[-68.10641780226834,48.59417247454906],[-68.12327524083078,48.58966960089569],[-68.11818720235341,48.56971078643842],[-68.13311035980657,48.55243257215085],[-68.11307241442091,48.541408900140055],[-68.09969410705006,48.56089210579647],[-68.07446963254763,48.544812255481084],[-68.04349815181621,48.56092452464413],[-68.06177526017997,48.57172640789245],[-68.03798767561146,48.58685458661213],[-68.02000406563488,48.59332305145261],[-68.00339773909661,48.583573518288944],[-67.9537333962234,48.623054178235016],[-67.9701888487661,48.632683684641165]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.04407095066892,\"lat\":48.60469508222354},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2409\"],\"cd_name_en\":[\"La Mitis\"],\"csd_code\":[\"2409055\"],\"csd_name_en\":[\"Saint-Octave-de-M\\u00e9tis\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Mitis\",\"csd_name_fr\":\"Saint-Octave-de-M\\u00e9tis\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.5816144415087,48.013822260770205],[-68.65942513174876,48.06577265064403],[-68.74477257699826,48.00912396370945],[-68.7136149176074,47.9880262183214],[-68.75320246816257,47.961751932066974],[-68.6899308687587,47.91963937920667],[-68.6691616556745,47.94402958814651],[-68.66387841926428,47.96248091512164],[-68.64759360131016,47.98989938045542],[-68.6276303986435,47.99507733093971],[-68.61186209325325,48.012214422020826],[-68.590637759272,48.008066382614665],[-68.5816144415087,48.013822260770205]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.67780508217922,\"lat\":47.99784104213635},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2413\"],\"cd_name_en\":[\"T\\u00e9miscouata\"],\"csd_code\":[\"2413060\"],\"csd_name_en\":[\"Lac-des-Aigles\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscouata\",\"csd_name_fr\":\"Lac-des-Aigles\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.9216867981357,47.65042728918059],[-69.96783676789002,47.61576152841046],[-70.01149895624492,47.59318133130004],[-69.99886652221913,47.585792702854214],[-69.87990059247934,47.50691725920044],[-69.85381881341439,47.49333232611173],[-69.84870918575439,47.497783694301084],[-69.82485548475668,47.538999023389366],[-69.81692212061185,47.54063173424446],[-69.7980153730878,47.565667604386185],[-69.9216867981357,47.65042728918059]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.89765342586091,\"lat\":47.574002794557884},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2414\"],\"cd_name_en\":[\"Kamouraska\"],\"csd_code\":[\"2414050\"],\"csd_name_en\":[\"Kamouraska\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Kamouraska\",\"csd_name_fr\":\"Kamouraska\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.83148526091264,47.28881598122506],[-69.84758882277663,47.29939850920196],[-69.89636927316838,47.32919906972758],[-69.94423240941738,47.36200548012706],[-69.96507996690934,47.35800743542189],[-69.96921850439304,47.34132750432937],[-70.02871043219244,47.295576177491974],[-70.00303332070445,47.27846873436754],[-69.97438869460132,47.29136768655982],[-69.8832281933212,47.230993936478946],[-69.87141574418705,47.22341074620903],[-69.83148526091264,47.28881598122506]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.92130333743675,\"lat\":47.29606020132368},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2414\"],\"cd_name_en\":[\"Kamouraska\"],\"csd_code\":[\"2414080\"],\"csd_name_en\":[\"Saint-On\\u00e9sime-d'Ixworth\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Kamouraska\",\"csd_name_fr\":\"Saint-On\\u00e9sime-d'Ixworth\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.00126415156,47.99369114358745],[-70.14764339873271,47.99282605579807],[-70.26362841804965,47.992999781106825],[-70.25939834749317,48.00001193086573],[-70.52556855969434,48.000200781640096],[-70.52882939327915,47.78686026073336],[-70.5294914877782,47.71677232721554],[-70.4862610833259,47.746969472675595],[-70.4902753933424,47.759358193729476],[-70.47779145457821,47.76791569710571],[-70.44045636315606,47.76823323332725],[-70.38604871299913,47.76234837863392],[-70.37288041123314,47.75789978300213],[-70.34783191434501,47.72033788915203],[-70.34173557935584,47.7183553182755],[-70.24813616929731,47.75913898410361],[-70.2338254346529,47.76438831006257],[-70.13053885642262,47.813465688568975],[-70.06679178514143,47.88592549783208],[-70.05138525973793,47.903456291088204],[-70.00126415156,47.99369114358745]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.30648148348025,\"lat\":47.883524229616846},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2415\"],\"cd_name_en\":[\"Charlevoix-Est\"],\"csd_code\":[\"2415902\"],\"csd_name_en\":[\"Mont-\\u00c9lie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Charlevoix-Est\",\"csd_name_fr\":\"Mont-\\u00c9lie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.6976127110582,46.995254215561886],[-69.7170152070984,47.007105652357765],[-69.73499744882773,46.99261705152772],[-69.81071349134554,47.04189993455186],[-69.87059301647714,47.00017655357908],[-69.88314726136004,46.99115018343935],[-69.85243739494368,46.97143182179106],[-69.91268710711736,46.92730353272349],[-69.89444551073476,46.91814090831178],[-69.87513815495313,46.920433366685295],[-69.81188862764718,46.88134288859204],[-69.6976127110582,46.995254215561886]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.80828129663426,\"lat\":46.96340015148037},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2417\"],\"cd_name_en\":[\"L'Islet\"],\"csd_code\":[\"2417010\"],\"csd_name_en\":[\"Saint-Pamphile\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"L'Islet\",\"csd_name_fr\":\"Saint-Pamphile\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.00303332070445,47.27846873436754],[-70.02871043219244,47.295576177491974],[-70.07222458936208,47.32316753970122],[-70.1344323022097,47.29799562128512],[-70.13194149170896,47.28967692919324],[-70.15528436814982,47.27069464681799],[-70.1814974698248,47.235860623788405],[-70.17984687495168,47.2347408358491],[-70.13702927807658,47.20591454801467],[-70.10814852555843,47.24006825143654],[-70.09156242395414,47.24857339910821],[-70.05765868866395,47.254651184349164],[-70.00303332070445,47.27846873436754]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.09943158564688,\"lat\":47.269599019031205},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2417\"],\"cd_name_en\":[\"L'Islet\"],\"csd_code\":[\"2417060\"],\"csd_name_en\":[\"Sainte-Louise\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"L'Islet\",\"csd_name_fr\":\"Sainte-Louise\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.56270403546272,46.668456436969535],[-70.59031083216863,46.68757268006003],[-70.6148136662684,46.671908812754594],[-70.63129624383643,46.683389692574984],[-70.67104616514219,46.65694526551833],[-70.68873639633995,46.66749131885839],[-70.71537452269908,46.64979806373315],[-70.71942114063812,46.63622697368685],[-70.70548828169855,46.62515366288947],[-70.73266723907804,46.62059607625219],[-70.74404004376896,46.61471624009749],[-70.72428060547321,46.599307171116585],[-70.7039503715261,46.58383157977511],[-70.68975801703596,46.59337104207995],[-70.66958154671367,46.57774548882099],[-70.64271354367337,46.59686060787286],[-70.62182745045021,46.581490184330754],[-70.61365422946892,46.594993685158315],[-70.59382874537809,46.61002549171488],[-70.63388218618026,46.63598659455062],[-70.56270403546272,46.668456436969535]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.65641516778874,\"lat\":46.63085624450229},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2419\"],\"cd_name_en\":[\"Bellechasse\"],\"csd_code\":[\"2419030\"],\"csd_name_en\":[\"Saint-Damien-de-Buckland\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Bellechasse\",\"csd_name_fr\":\"Saint-Damien-de-Buckland\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.4777602237439,46.719050558911995],[-70.48016606123956,46.729182059488274],[-70.5011153970414,46.75333134377828],[-70.47448977925957,46.76276934391756],[-70.55821665928289,46.8213723103887],[-70.5791098006225,46.8356211888713],[-70.62797229701883,46.802116704998326],[-70.61458153082262,46.79339565986118],[-70.67772994321349,46.74945683315315],[-70.6573377824233,46.73486034673045],[-70.67634678723364,46.721941714623775],[-70.64225873781422,46.69850756668078],[-70.62248057212668,46.68978340077645],[-70.63129624383643,46.683389692574984],[-70.6148136662684,46.671908812754594],[-70.59031083216863,46.68757268006003],[-70.56270403546272,46.668456436969535],[-70.55736521149075,46.66473394027223],[-70.527726526484,46.684905467379764],[-70.51973728122799,46.70148821710672],[-70.5009299517678,46.70317516865016],[-70.4777602237439,46.719050558911995]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.57474969830628,\"lat\":46.745369664613506},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2419\"],\"cd_name_en\":[\"Bellechasse\"],\"csd_code\":[\"2419037\"],\"csd_name_en\":[\"Armagh\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Bellechasse\",\"csd_name_fr\":\"Armagh\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.63129624383643,46.683389692574984],[-70.62248057212668,46.68978340077645],[-70.64225873781422,46.69850756668078],[-70.67634678723364,46.721941714623775],[-70.6573377824233,46.73486034673045],[-70.67772994321349,46.74945683315315],[-70.68941472786345,46.757631826518974],[-70.70971553139935,46.7436861659883],[-70.7288546023621,46.75682528134907],[-70.76989302147717,46.72939894495964],[-70.80047415393857,46.71033264624447],[-70.78191027018974,46.696319227763325],[-70.7647947909528,46.68447149969902],[-70.74208607111503,46.67769702228612],[-70.7207353858921,46.69026834838798],[-70.68873639633995,46.66749131885839],[-70.67104616514219,46.65694526551833],[-70.63129624383643,46.683389692574984]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.71023751764181,\"lat\":46.70864300875804},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2419\"],\"cd_name_en\":[\"Bellechasse\"],\"csd_code\":[\"2419045\"],\"csd_name_en\":[\"Saint-N\\u00e9r\\u00e9e-de-Bellechasse\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Bellechasse\",\"csd_name_fr\":\"Saint-N\\u00e9r\\u00e9e-de-Bellechasse\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.36681090713707,46.81543429575814],[-71.38162976272557,46.807212753583464],[-71.34952857314109,46.78541189676004],[-71.3346388296345,46.79583604667357],[-71.34837366063618,46.81760781027344],[-71.36681090713707,46.81543429575814]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.355813001971,\"lat\":46.80305974228586},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2423\"],\"cd_name_en\":[\"Qu\\u00e9bec\"],\"csd_code\":[\"2423057\"],\"csd_name_en\":[\"L'Ancienne-Lorette\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Qu\\u00e9bec\",\"csd_name_fr\":\"L'Ancienne-Lorette\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.26788339036419,46.221009289357475],[-70.2607543123139,46.22991989601534],[-70.25239969470799,46.25998900896738],[-70.23149298406987,46.291144003244376],[-70.27753992882458,46.32266290357666],[-70.29922596334018,46.307610842999665],[-70.32885983140149,46.32857485473173],[-70.37308358848458,46.29820919634544],[-70.43609143192867,46.259350827447584],[-70.42644869025969,46.25238768806561],[-70.37223993863746,46.21257360027888],[-70.34920297397754,46.22776496217934],[-70.33982872574933,46.217897050646854],[-70.28667576135715,46.237099343962825],[-70.26788339036419,46.221009289357475]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.32759052780294,\"lat\":46.26870121981932},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2428\"],\"cd_name_en\":[\"Les Etchemins\"],\"csd_code\":[\"2428035\"],\"csd_name_en\":[\"Saint-Louis-de-Gonzague\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Etchemins\",\"csd_name_fr\":\"Saint-Louis-de-Gonzague\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.32598183815105,45.895323761312866],[-71.36091527479635,45.91475338903123],[-71.37231054177467,45.89363433111325],[-71.3488492863671,45.890183220346515],[-71.33157273283882,45.87655579889349],[-71.31637700828749,45.89039105203251],[-71.32598183815105,45.895323761312866]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.34528264393754,\"lat\":45.895541328451635},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2431\"],\"cd_name_en\":[\"Les Appalaches\"],\"csd_code\":[\"2431015\"],\"csd_name_en\":[\"Disraeli\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Appalaches\",\"csd_name_fr\":\"Disraeli\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.37152567627578,47.10173213512893],[-72.39386745247427,47.128695383686974],[-72.41960826931324,47.12932440789069],[-72.44231264765101,47.144323602946905],[-72.5151486593487,47.144656516430565],[-72.53711215797614,47.183706943419864],[-72.63329244964454,47.114812607298376],[-72.61030635520136,47.10022024673131],[-72.62857280686028,47.08922681490135],[-72.60169128360299,47.06634792678475],[-72.6119170594776,47.058704322366054],[-72.59751117545655,47.048728808391125],[-72.60764651327683,47.04127666750067],[-72.59216776117066,47.03232482548672],[-72.60437146970507,47.02301683701644],[-72.56260554274238,46.99338390896846],[-72.5781349889759,46.98197551258194],[-72.56128252185734,46.97120063600282],[-72.50924806903664,47.00903797474297],[-72.43801945872856,47.05844889078991],[-72.43620450541016,47.057264109756304],[-72.37152567627578,47.10173213512893]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.51813353402568,\"lat\":47.08453677549196},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2435\"],\"cd_name_en\":[\"M\\u00e9kinac\"],\"csd_code\":[\"2435902\"],\"csd_name_en\":[\"Lac-Masketsi\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"M\\u00e9kinac\",\"csd_name_fr\":\"Lac-Masketsi\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.88918296957584,47.18285076258363],[-72.90366050985331,47.21570118622527],[-72.9221834307935,47.20940593406096],[-72.94587811708283,47.213532367393896],[-72.96538940384609,47.19291581268574],[-72.99261821732256,47.18202681916281],[-72.99106700614158,47.17282907941414],[-73.01824202894129,47.14121493013904],[-73.10443429027913,47.139012605721454],[-73.10456869344733,47.1475681097183],[-73.09166565819831,47.15828887378382],[-73.11465982230385,47.1686516841328],[-73.1478421484701,47.162825697192744],[-73.16858388178538,47.16432954934056],[-73.18621132149185,47.17544124297319],[-73.20542053613714,47.16775564474365],[-73.23502345279607,47.165921199652324],[-73.25999078194747,47.173916199699335],[-73.26876221067494,47.186402411367176],[-73.2891766116439,47.19134517186213],[-73.31637061759044,47.211221081601416],[-73.56633364214491,47.381967507550335],[-73.73618567907982,47.49692872713378],[-73.91825524469985,47.47052755366821],[-73.92929771488774,47.45040949681143],[-73.94210999240772,47.437974194991],[-73.93629731504794,47.42606849538673],[-73.93842410623878,47.40443538746181],[-73.95625328957459,47.388488896261066],[-73.67607845974501,47.197488367491715],[-73.3924600023082,47.001689395581316],[-73.14321635816019,46.83898908253247],[-73.13345354478052,46.83254946472786],[-73.12125089861698,46.829544641208614],[-73.10566855224248,46.84178291862348],[-73.1068310900859,46.852079823403905],[-73.08521433450913,46.8690833585517],[-73.08019311748832,46.885633986388214],[-73.04255440866051,46.904098812704305],[-73.04005633308233,46.91783567141276],[-73.01474167722881,46.91772475124861],[-73.00807287388687,46.90908247373851],[-72.97244320334299,46.90208891871212],[-72.9386791405261,46.89830674632154],[-72.93088602900339,46.90393561660572],[-72.92762127313969,46.92318689606052],[-72.90666130433812,46.92904695115113],[-72.90109196662566,46.93872495935208],[-72.90719491987188,46.948780452617875],[-72.90277381442841,46.97530984058004],[-72.93584662209712,47.01056371470936],[-72.93876028741614,47.02906481943602],[-72.92395057586963,47.03883384249897],[-72.92932225453777,47.04854381826336],[-72.91985169218319,47.070639544972686],[-72.92102938634078,47.097070047988026],[-72.90900826447312,47.120688861172674],[-72.89427954321808,47.1320543674987],[-72.88301655555348,47.1686732698496],[-72.88918296957584,47.18285076258363]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.38436340930599,\"lat\":47.16271305504301},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2435\"],\"cd_name_en\":[\"M\\u00e9kinac\"],\"csd_code\":[\"2435904\"],\"csd_name_en\":[\"Lac-Normand\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"M\\u00e9kinac\",\"csd_name_fr\":\"Lac-Normand\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.1780159424822,46.097189710263315],[-72.19194378275868,46.102307914977594],[-72.21473219683307,46.097648760651154],[-72.2401662773264,46.074959762647644],[-72.29058143172479,46.04621364711291],[-72.25928731224374,46.047386507558606],[-72.2131153398228,46.0252703131989],[-72.19702088902679,46.04091480197097],[-72.17924364842446,46.03148234247857],[-72.16168246737922,46.03471007927808],[-72.16241925602132,46.07837036073149],[-72.17865713661291,46.07565876462539],[-72.1780159424822,46.097189710263315]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.20950339541083,\"lat\":46.06161010473392},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2439\"],\"cd_name_en\":[\"Arthabaska\"],\"csd_code\":[\"2439130\"],\"csd_name_en\":[\"Saint-Samuel\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Arthabaska\",\"csd_name_fr\":\"Saint-Samuel\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.57578254111745,45.7772377640368],[-72.51434326781946,45.82808370528037],[-72.50901645930924,45.83264941938776],[-72.59304191693316,45.88137119399526],[-72.60872868800362,45.889984938435816],[-72.64743942656244,45.85828130364853],[-72.67282427509772,45.83231978323566],[-72.63397795715854,45.81084501185764],[-72.65011850021565,45.797825516728295],[-72.61825594515672,45.778881541340674],[-72.60188568299381,45.792358603444825],[-72.57578254111745,45.7772377640368]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.59431242887207,\"lat\":45.8308727698147},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2449\"],\"cd_name_en\":[\"Drummond\"],\"csd_code\":[\"2449048\"],\"csd_name_en\":[\"Saint-Germain-de-Grantham\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Drummond\",\"csd_name_fr\":\"Saint-Germain-de-Grantham\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.3310853020864,46.22315951128484],[-72.38978906182838,46.1832596329248],[-72.37465551585578,46.17250006403026],[-72.39385997226483,46.16012276330598],[-72.35888267717057,46.14129203206587],[-72.33258147854629,46.11684218182661],[-72.32379114074075,46.12240581951181],[-72.30879534698161,46.11270837132479],[-72.26546247989629,46.14347621710145],[-72.25593264837995,46.15026379470135],[-72.27175776736877,46.16080853787093],[-72.25311903958276,46.17452660903178],[-72.26782524809819,46.18550487732628],[-72.24565189870863,46.20266129833839],[-72.25142581082714,46.20538793090816],[-72.2816667337684,46.19405524518362],[-72.28946581576746,46.20369526227513],[-72.32794213087928,46.21151502049409],[-72.33070767504469,46.22156732457854],[-72.3310853020864,46.22315951128484]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.32023851628556,\"lat\":46.167664619829445},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2450\"],\"cd_name_en\":[\"Nicolet-Yamaska\"],\"csd_code\":[\"2450023\"],\"csd_name_en\":[\"Saint-Wenceslas\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nicolet-Yamaska\",\"csd_name_fr\":\"Saint-Wenceslas\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.30879534698161,46.11270837132479],[-72.32379114074075,46.12240581951181],[-72.33258147854629,46.11684218182661],[-72.35888267717057,46.14129203206587],[-72.39385997226483,46.16012276330598],[-72.41681372992343,46.14281854927339],[-72.42816475770864,46.13464857877046],[-72.45654311608622,46.114696721661005],[-72.44891211376046,46.10848166418649],[-72.42506313807613,46.10650155011698],[-72.39774376508359,46.094407206598305],[-72.41532654735188,46.074456515203565],[-72.36922158609802,46.04820465523461],[-72.35444809059001,46.05879846704998],[-72.30507419581025,46.03299314783752],[-72.29058143172479,46.04621364711291],[-72.29995104583881,46.04890584043561],[-72.31549227940755,46.0651758441001],[-72.30801841056066,46.07543212633409],[-72.32179692156363,46.08563264639367],[-72.29482539544694,46.10210660606995],[-72.30879534698161,46.11270837132479]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.36751269934854,\"lat\":46.09848238918723},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2450\"],\"cd_name_en\":[\"Nicolet-Yamaska\"],\"csd_code\":[\"2450042\"],\"csd_name_en\":[\"Saint-L\\u00e9onard-d'Aston\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nicolet-Yamaska\",\"csd_name_fr\":\"Saint-L\\u00e9onard-d'Aston\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.03689831902379,46.34474385113669],[-73.04954073110373,46.33684283293302],[-73.06173555363348,46.338837552774514],[-73.10147953404956,46.36563774187448],[-73.12699516584264,46.38670930575828],[-73.16184337324823,46.37798815958786],[-73.0907159265658,46.32401268136635],[-73.10472362148717,46.31373346556483],[-73.12380557328417,46.318399305484355],[-73.14031318119336,46.30347438596849],[-73.12947720233333,46.31118913248864],[-73.1099805651585,46.2975560913472],[-73.08762423128438,46.299258404768615],[-73.07361778673165,46.28279178474316],[-73.04744775699623,46.27582846290254],[-73.03243048483549,46.263708879187355],[-72.98760416984182,46.27496652817996],[-72.99506374197067,46.293962599251934],[-72.99611487763396,46.302604160385854],[-73.02976503770344,46.32496236306062],[-73.03689831902379,46.34474385113669]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.06750246910126,\"lat\":46.31842889391027},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2451\"],\"cd_name_en\":[\"Maskinong\\u00e9\"],\"csd_code\":[\"2451040\"],\"csd_name_en\":[\"Sainte-Ursule\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Maskinong\\u00e9\",\"csd_name_fr\":\"Sainte-Ursule\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.94118096816386,45.90453181203789],[-72.9263944706459,45.903046760884386],[-72.92547091375407,45.9153757735399],[-72.93857167672896,45.917172232612415],[-72.94118096816386,45.90453181203789]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.93296822249641,\"lat\":45.909916649920994},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2453\"],\"cd_name_en\":[\"Pierre-De Saurel\"],\"csd_code\":[\"2453010\"],\"csd_name_en\":[\"Massueville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Pierre-De Saurel\",\"csd_name_fr\":\"Massueville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.82012506418359,45.4566345137699],[-72.81719959565466,45.47275519717392],[-72.86073991908697,45.47776501613389],[-72.88383570754283,45.469766993029765],[-72.89661848937666,45.47916838357957],[-72.90564772682265,45.46402135156267],[-72.92093144404464,45.466209850452216],[-72.92499871198967,45.45237313033587],[-72.96605038936777,45.45705619577011],[-72.96359666276005,45.43961660660692],[-72.93085426171152,45.43478690486953],[-72.93600060888807,45.41581176158103],[-72.92255087692462,45.41043435870005],[-72.92540090283451,45.394964549941896],[-72.84115241826619,45.38170859216523],[-72.8248331671092,45.42795899941804],[-72.82012506418359,45.4566345137699]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.87966709936359,\"lat\":45.43287802057262},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2455\"],\"cd_name_en\":[\"Rouville\"],\"csd_code\":[\"2455015\"],\"csd_name_en\":[\"Saint-Paul-d'Abbotsford\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Rouville\",\"csd_name_fr\":\"Saint-Paul-d'Abbotsford\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.24648189671844,45.23326498083811],[-73.2731464302055,45.233404463435896],[-73.27413405270734,45.25952200898046],[-73.29631712597117,45.2590594030126],[-73.29602863868436,45.2377461164663],[-73.3407935264462,45.26814148225059],[-73.366567803981,45.24390421379387],[-73.35187038993439,45.234282770895994],[-73.38020263895673,45.211623286734984],[-73.35940607170046,45.19765201512799],[-73.3092084753673,45.16412022123584],[-73.28750626726202,45.16998299840227],[-73.28633691854705,45.18349844273458],[-73.25585036258964,45.183990664175646],[-73.25380505556099,45.211053225117034],[-73.24648189671844,45.23326498083811]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.31075898360064,\"lat\":45.2157116251105},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2456\"],\"cd_name_en\":[\"Le Haut-Richelieu\"],\"csd_code\":[\"2456065\"],\"csd_name_en\":[\"Saint-Blaise-sur-Richelieu\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Richelieu\",\"csd_name_fr\":\"Saint-Blaise-sur-Richelieu\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.39412796572236,46.218308335760554],[-73.41604780918033,46.20468280465572],[-73.43840383651492,46.2264671480333],[-73.45098970384544,46.2358526803211],[-73.46569478467792,46.226663850282364],[-73.45744507947897,46.22050008367892],[-73.50741516819838,46.18585202945402],[-73.48034137657109,46.173025979705265],[-73.48653468842166,46.141349735734416],[-73.44794893459937,46.13384401372193],[-73.46609622439551,46.12467507641215],[-73.46864100698883,46.114790434647745],[-73.4182168927722,46.1151551888427],[-73.40746270311108,46.120094901424864],[-73.41185361182686,46.126503248219585],[-73.36896225273759,46.15174614673399],[-73.3625278420211,46.170996201494354],[-73.35477278590037,46.19040490343415],[-73.39412796572236,46.218308335760554]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.42914652232871,\"lat\":46.17236351600165},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2462\"],\"cd_name_en\":[\"Matawinie\"],\"csd_code\":[\"2462007\"],\"csd_name_en\":[\"Saint-F\\u00e9lix-de-Valois\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Matawinie\",\"csd_name_fr\":\"Saint-F\\u00e9lix-de-Valois\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.56688805297759,46.12545403572102],[-73.59773786085941,46.14804937410642],[-73.60688397230747,46.154550722881574],[-73.62727812737452,46.15286846949224],[-73.65063723741183,46.136820250177955],[-73.64228157756023,46.13130662552891],[-73.67843472283747,46.106512040267425],[-73.63771659082104,46.07902427800734],[-73.56688805297759,46.12545403572102]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.6231863097609,\"lat\":46.11876852607411},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2462\"],\"cd_name_en\":[\"Matawinie\"],\"csd_code\":[\"2462030\"],\"csd_name_en\":[\"Sainte-Marcelline-de-Kildare\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Matawinie\",\"csd_name_fr\":\"Sainte-Marcelline-de-Kildare\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.03338363378033,46.15062558681951],[-74.02783826526493,46.14665532283583],[-73.97969118746371,46.17931681607047],[-73.8835604047892,46.24585689123549],[-73.91367296279894,46.26608289224883],[-73.9786481643245,46.30986613351356],[-74.04008205358042,46.3493884510999],[-74.18409663634151,46.250051290811875],[-74.11352905647607,46.20344171387739],[-74.03338363378033,46.15062558681951]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.03359191160119,\"lat\":46.24813407054738},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2462\"],\"cd_name_en\":[\"Matawinie\"],\"csd_code\":[\"2462055\"],\"csd_name_en\":[\"Notre-Dame-de-la-Merci\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Matawinie\",\"csd_name_fr\":\"Notre-Dame-de-la-Merci\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.52612015594019,45.79374793257032],[-73.55047603648761,45.793407770526535],[-73.54946725476617,45.81632481662947],[-73.57857016123573,45.8212845275045],[-73.59086279609619,45.8171389044122],[-73.618304416887,45.79638622508834],[-73.64489516710434,45.8141637916876],[-73.6514582545526,45.7984850750007],[-73.67076636186638,45.78764398441387],[-73.68731891700112,45.79476622333946],[-73.70105037949675,45.76863290660195],[-73.69036074813587,45.764969213734375],[-73.69948340791633,45.747003967063456],[-73.6692006609352,45.726772031456356],[-73.58942302642417,45.71720264585541],[-73.56394024850175,45.721727308702484],[-73.55654834595423,45.727535997302745],[-73.55518022427339,45.75464663529077],[-73.5294795044717,45.754234630922085],[-73.52612015594019,45.79374793257032]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.61084373991467,\"lat\":45.766302400555176},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2464\"],\"cd_name_en\":[\"Les Moulins\"],\"csd_code\":[\"2464015\"],\"csd_name_en\":[\"Mascouche\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Moulins\",\"csd_name_fr\":\"Mascouche\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.71377974935952,45.42098752733024],[-73.72489108710671,45.46094795426556],[-73.70836118955782,45.473206882369965],[-73.72404633158683,45.48192169975368],[-73.75020185004209,45.46120812389198],[-73.77230284846905,45.482518645635686],[-73.76792367156445,45.494512215645535],[-73.79467190649784,45.481826842945665],[-73.78029501801174,45.467192765343434],[-73.78217715373744,45.45446713685695],[-73.76692787653458,45.41598355810014],[-73.75275863167087,45.41760462685477],[-73.71377974935952,45.42098752733024]],[[-73.73815831945578,45.43357999591553],[-73.74062489447306,45.4305512077563],[-73.74415371414499,45.433855191692935],[-73.73815831945578,45.43357999591553]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.75044227075033,\"lat\":45.450101668246525},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2466\"],\"cd_name_en\":[\"Montr\\u00e9al\"],\"csd_code\":[\"2466087\"],\"csd_name_en\":[\"Dorval\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Montr\\u00e9al\",\"csd_name_fr\":\"Dorval\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.90105516943403,45.435081603801045],[-73.86465916467611,45.43904399066283],[-73.83846350545257,45.445581079495575],[-73.84639065146122,45.46254541343995],[-73.85458621443023,45.47065937970067],[-73.86606707033197,45.45996796929046],[-73.895056472757,45.44699454231622],[-73.90457549039812,45.446720748286474],[-73.90105516943403,45.435081603801045]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.86841664569411,\"lat\":45.449181170195544},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2466\"],\"cd_name_en\":[\"Montr\\u00e9al\"],\"csd_code\":[\"2466102\"],\"csd_name_en\":[\"Kirkland\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Montr\\u00e9al\",\"csd_name_fr\":\"Kirkland\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.93437792981406,45.40057878247299],[-73.9605515361148,45.405180649167576],[-73.97103694270709,45.41228162581319],[-73.98753407415688,45.39745944286445],[-73.97619009951796,45.3904459372711],[-73.95816683818093,45.38321579086584],[-73.94622128416852,45.375726006907435],[-73.93437792981406,45.40057878247299]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.95955514317521,\"lat\":45.39508517577167},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2471\"],\"cd_name_en\":[\"Vaudreuil-Soulanges\"],\"csd_code\":[\"2471060\"],\"csd_name_en\":[\"L'\\u00cele-Perrot\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Vaudreuil-Soulanges\",\"csd_name_fr\":\"L'\\u00cele-Perrot\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.03904684191893,45.83283472602913],[-75.03384909654348,45.856499707296024],[-75.07038437117455,45.8565276058542],[-75.08072976369891,45.864051423656846],[-75.08458222084504,45.85631852296762],[-75.119215521673,45.85391674132552],[-75.13848082041692,45.84670349013673],[-75.13993886536674,45.82558381898518],[-75.18177819180039,45.82527975224841],[-75.18187484660217,45.81977856783878],[-75.2220065411841,45.81924337953944],[-75.21782165238123,45.74874190575259],[-75.22109817986355,45.734216883301094],[-75.17986985073897,45.73796260080171],[-75.17851354482248,45.71518309857367],[-75.11083614493296,45.719025503423154],[-75.09738045752023,45.75701182234522],[-75.0939563123749,45.77604290453407],[-75.08348247793148,45.80272105162253],[-75.07347723386458,45.8065479921776],[-75.08042479377835,45.820080753097315],[-75.03904684191893,45.83283472602913]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.14027006289473,\"lat\":45.78841255890432},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2480\"],\"cd_name_en\":[\"Papineau\"],\"csd_code\":[\"2480078\"],\"csd_name_en\":[\"Ripon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Papineau\",\"csd_name_fr\":\"Ripon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.76952795355948,45.506971227407305],[-75.78759218767145,45.5165906616142],[-75.78623328835253,45.525520048694496],[-75.81617996569568,45.54950323236834],[-75.82352280973461,45.56048927069414],[-75.86411303018822,45.58112535985981],[-75.87147711667981,45.593766429618725],[-75.89650493589117,45.61042936403841],[-75.89695413960338,45.61594292324474],[-75.929474577349,45.61345772933788],[-75.91791154028331,45.5479075595192],[-75.91681175495765,45.5203269797364],[-75.90876169099907,45.480514240602865],[-75.83943803093948,45.485726919406524],[-75.83704496891394,45.47007054092259],[-75.79644181955744,45.473302474761766],[-75.79381314850956,45.458810351147655],[-75.78113204131996,45.459842860226445],[-75.78278042294261,45.4732644398357],[-75.77527299839511,45.486599901157085],[-75.755757794796,45.47735900136519],[-75.74872939846551,45.487142603309984],[-75.76313350281987,45.49426691848254],[-75.76952795355948,45.506971227407305]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.85639948251546,\"lat\":45.53055074043342},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2482\"],\"cd_name_en\":[\"Les Collines-de-l'Outaouais\"],\"csd_code\":[\"2482025\"],\"csd_name_en\":[\"Chelsea\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Collines-de-l'Outaouais\",\"csd_name_fr\":\"Chelsea\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.93432793595947,45.76922584706393],[-75.83201540418617,45.77723159915755],[-75.72481727444463,45.78454714796352],[-75.73641845527337,45.82499620607682],[-75.73690443540123,45.90122988053682],[-75.91242060240938,45.90170869052855],[-75.91557675691787,45.88955869046228],[-75.89850252744938,45.866354625494345],[-75.91316727840862,45.86467227659372],[-75.91503433710876,45.837781678608955],[-75.90626407297822,45.831663532784916],[-75.91180908597751,45.820272374263446],[-75.93103000656114,45.81077220571889],[-75.93157215177723,45.794798159968515],[-75.94756135257877,45.79004277324777],[-75.93432793595947,45.76922584706393]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.82936599505344,\"lat\":45.836588772799686},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2483\"],\"cd_name_en\":[\"La Vall\\u00e9e-de-la-Gatineau\"],\"csd_code\":[\"2483005\"],\"csd_name_en\":[\"Denholm\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-de-la-Gatineau\",\"csd_name_fr\":\"Denholm\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-76.64997649692003,45.606581149949186],[-76.61372817040198,45.65370216523453],[-76.63150007359664,45.659740989280785],[-76.63919530950974,45.65258857071302],[-76.66453159738441,45.658557546531036],[-76.69385452456325,45.647873641514614],[-76.68701355413705,45.63527776348163],[-76.66916577364454,45.6237158577681],[-76.67036529715286,45.61405060015071],[-76.64997649692003,45.606581149949186]]],[[[-76.48507600202673,45.81836488689217],[-76.47827118787917,45.82848437344885],[-76.63983521909321,45.88953856388471],[-76.64264910666607,45.890398264969036],[-76.69758671081485,45.8227715067529],[-76.68856526805541,45.80387739936366],[-76.66345781272302,45.77507848788702],[-76.62783741840576,45.76285603780011],[-76.60839400581887,45.73753091165061],[-76.57949018758822,45.72945658026446],[-76.58816306920815,45.71659166687871],[-76.60781852448558,45.723486141724315],[-76.60617660696224,45.70642222589961],[-76.6234230369759,45.68295599116189],[-76.61590343470104,45.67012432691433],[-76.60156159829982,45.66482652809861],[-76.55769460737531,45.72179045690822],[-76.53848037547812,45.75000248006392],[-76.52320533733905,45.77499268076857],[-76.49762487723498,45.786910246349805],[-76.48507600202673,45.81836488689217]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.5981939179565,\"lat\":45.78450114319935},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2484\"],\"cd_name_en\":[\"Pontiac\"],\"csd_code\":[\"2484040\"],\"csd_name_en\":[\"Litchfield\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Pontiac\",\"csd_name_fr\":\"Litchfield\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.37335709591626,47.45314179004459],[-79.39484822591692,47.45511251651333],[-79.39503598200605,47.50513193597769],[-79.41672572773275,47.50560367370073],[-79.41891754141965,47.541144354937906],[-79.47390859656623,47.541130195690485],[-79.51362722698818,47.54962757539784],[-79.51708053333269,47.53316399219041],[-79.5473893234085,47.51782616332403],[-79.55621574120892,47.50395989910342],[-79.5607290790273,47.47766544185677],[-79.58421958479283,47.45123666322566],[-79.58687808419488,47.43311495811506],[-79.5810343613752,47.41511400906064],[-79.56679828253952,47.39887155740462],[-79.48648323964369,47.411109463390346],[-79.4142885729747,47.41019687352478],[-79.39278160453865,47.41497180919862],[-79.37274340408936,47.42221167174993],[-79.37335709591626,47.45314179004459]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.48130823858833,\"lat\":47.467537197684585},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2485\"],\"cd_name_en\":[\"T\\u00e9miscamingue\"],\"csd_code\":[\"2485045\"],\"csd_name_en\":[\"Saint-Bruno-de-Guigues\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscamingue\",\"csd_name_fr\":\"Saint-Bruno-de-Guigues\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.80331455579366,46.99648614021508],[-78.81266954865653,46.98814702898838],[-78.79753237437046,46.98423174431978],[-78.79037523320214,46.99507600254297],[-78.80331455579366,46.99648614021508]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.80093742288285,\"lat\":46.99073057806035},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2485\"],\"cd_name_en\":[\"T\\u00e9miscamingue\"],\"csd_code\":[\"2485803\"],\"csd_name_en\":[\"Hunter's Point\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian settlement \\/ \\u00c9tablissement indien\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscamingue\",\"csd_name_fr\":\"Hunter's Point\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.02713738519978,48.57483636968655],[-78.86447651717559,48.57497740526029],[-78.86476461466648,48.560824807624286],[-78.78894344223055,48.56055090560805],[-78.78891265289842,48.55253276012209],[-78.7112896249204,48.55288347681798],[-78.71218202006527,48.56998384667658],[-78.67919300501374,48.57469015123674],[-78.64721760047948,48.574503092224155],[-78.64321015867968,48.57453846761962],[-78.64357187998928,48.719780955782205],[-78.7527377770628,48.71915360159062],[-78.75205407964971,48.69082422952347],[-78.78772193028966,48.690600473623576],[-78.78810891255306,48.67531237028765],[-78.86197365087834,48.67528956722761],[-78.86142834803493,48.6018069703255],[-78.9263188865413,48.60142343916398],[-78.92695833111004,48.58845812968482],[-79.00723222997634,48.587653173138335],[-79.02691618013108,48.587859109491355],[-79.02713738519978,48.57483636968655]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.7632805575515,\"lat\":48.62770744137262},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2487\"],\"cd_name_en\":[\"Abitibi-Ouest\"],\"csd_code\":[\"2487042\"],\"csd_name_en\":[\"Taschereau\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi-Ouest\",\"csd_name_fr\":\"Taschereau\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.08021321969116,48.82160401846853],[-79.12556077446422,48.82155485564056],[-79.12584776523971,48.85100251901638],[-79.16860782831691,48.85092949112831],[-79.16715795418256,48.87875378275187],[-79.29879408834586,48.87875505116284],[-79.29913311605573,48.792346948976366],[-79.278747524747,48.78213599443716],[-79.27795721762284,48.76314889894173],[-79.22141331271588,48.763539580925],[-79.15797434884878,48.763592160229116],[-79.1574537535461,48.79264881534883],[-79.08047488597641,48.7925348538164],[-79.08021321969116,48.82160401846853]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.21029322987899,\"lat\":48.82071356679504},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2487\"],\"cd_name_en\":[\"Abitibi-Ouest\"],\"csd_code\":[\"2487090\"],\"csd_name_en\":[\"La Sarre\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi-Ouest\",\"csd_name_fr\":\"La Sarre\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.87082383513585,48.18161342217091],[-69.89403969217786,48.226488610397766],[-69.91699750458244,48.231256106491514],[-69.95511521039911,48.23462644329576],[-69.99417578987367,48.25183689618077],[-70.07879830511655,48.25612210278635],[-70.11991292744952,48.25192843107364],[-70.13392915518139,48.255682280395725],[-70.21631871008518,48.13831186311205],[-70.17231960473471,48.12473736486602],[-69.95674838959528,48.0574929050791],[-69.87082383513585,48.18161342217091]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.03382087916164,\"lat\":48.16768883052933},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2494\"],\"cd_name_en\":[\"Le Saguenay-et-son-Fjord\"],\"csd_code\":[\"2494205\"],\"csd_name_en\":[\"Petit-Saguenay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Saguenay-et-son-Fjord\",\"csd_name_fr\":\"Petit-Saguenay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-57.106858714672015,51.83967506783434],[-57.107759373027335,51.998494771108014],[-57.31938168497622,51.99787579144521],[-57.58816538734985,51.99777281281789],[-57.96473498778516,51.99644928338541],[-58.32292644669302,51.99706981163042],[-58.78662989583799,51.99760209411472],[-59.034409549861,51.99698112069568],[-60.20170730492833,51.99723227884231],[-60.441692060585346,51.99651187513826],[-60.786813890253605,51.99729109145935],[-61.12988609220474,51.99624936949341],[-61.36860047535834,51.99660118160527],[-61.8065216585819,51.995808708099574],[-62.147280155442125,51.99712797685649],[-62.15323976280446,51.990738642192795],[-62.13673278708425,51.93186920083499],[-62.11216225014484,51.90951673971153],[-62.074911360634644,51.903067913265645],[-62.06945887389624,51.893929734630724],[-62.045803115316495,51.88527054360588],[-62.04718227309916,51.87324396602225],[-62.03505586004759,51.866532686439115],[-62.04688554906955,51.82162068974684],[-62.0303485587619,51.81578448755864],[-62.02364637112478,51.79548330549403],[-62.013838768817855,51.790708588916935],[-62.00673972408564,51.768708946014485],[-61.98731845391724,51.77065085697573],[-61.97688956836461,51.75680702532038],[-61.92170352761963,51.743532827389664],[-61.906596191461404,51.715561052694866],[-61.90891033281439,51.704130869059476],[-61.88706333065944,51.667608958490476],[-61.859310059382075,51.65433944478391],[-61.862493937830266,51.6384387380131],[-61.8582585352623,51.61686665902297],[-61.84354967539877,51.605008824636926],[-61.860971085842436,51.59660327107754],[-61.858563755562734,51.578055636686095],[-61.87038685768104,51.553312200946365],[-61.83394139988674,51.52558674635811],[-61.83545652470843,51.50559972284692],[-61.81005494985775,51.49827596519983],[-61.80771905964536,51.48251875403746],[-61.787001349817764,51.47725025246476],[-61.8039627432466,51.45747950274591],[-61.796800441840915,51.448050248884314],[-61.80141300700521,51.43187473338084],[-61.800068157622945,51.40550956184504],[-61.805485416282465,51.40166501132111],[-61.79513417380951,51.37211464530007],[-61.77102491776828,51.352264256031226],[-61.76755499891086,51.343963101602526],[-61.68770429637577,51.34258079151834],[-61.670157254839246,51.331843146369714],[-61.68003224199347,51.31109504681578],[-61.69178918899208,51.30090452465646],[-61.68715679254809,51.28925895468006],[-61.71282742654103,51.25458166229947],[-61.7259087731681,51.243567852556936],[-61.70780626285803,51.21124950117814],[-61.686628116347755,51.20199402693742],[-61.64293888352475,51.1760937921558],[-61.61091810022952,51.15361527464887],[-61.61118728273534,51.144613403878836],[-61.59337670954013,51.12809681703969],[-61.600103424023835,51.113871337606255],[-61.57725561314538,51.10677979045872],[-61.53717181589292,51.08887901689417],[-61.537287374135516,51.060218668623776],[-61.55228976665463,51.04763358766681],[-61.546758512688776,51.03672072213044],[-61.55796646498887,51.0215359628286],[-61.60057730356137,51.004105162838925],[-61.61289854898478,50.98902838767502],[-61.6182433112558,50.946561530463875],[-61.6339048331665,50.94285205647783],[-61.659340270139474,50.921816269771774],[-61.652942649904695,50.90393982307267],[-61.660121558108685,50.89675017133096],[-61.6888162746844,50.90199522127654],[-61.71425667132041,50.8960862827082],[-61.70521284839056,50.886564519835495],[-61.69870409206106,50.863615222724185],[-61.70330976365445,50.85940506522876],[-61.697905920074575,50.79086951212602],[-61.65453003102288,50.75887387997149],[-61.63332761990918,50.753268362923215],[-61.62783017543946,50.73209433657693],[-61.64284607392325,50.725381641217766],[-61.65103360278527,50.70676062463245],[-61.66250043707674,50.696510079661046],[-61.674009741613744,50.6742743020201],[-61.67164633770658,50.64515206295018],[-61.68553158015626,50.6252813477109],[-61.70338396120821,50.566540465667366],[-61.695829071756314,50.54636001434931],[-61.70159233440739,50.50725912137039],[-61.69671285205282,50.472921972981744],[-61.71809385002233,50.4349107176138],[-61.68526862679085,50.41705696691243],[-61.689036106734,50.407571516308806],[-61.67272115971576,50.38170776759577],[-61.672987410284605,50.36381308358325],[-61.66477750254052,50.331274714399],[-61.653365381571085,50.32046497861242],[-61.62078049109489,50.31887649283298],[-61.61056043856193,50.313624089800825],[-61.64476606223028,50.29095362974553],[-61.638885976090016,50.262854925407],[-61.63224888222567,50.258998450481826],[-61.58855997744433,50.25436415383452],[-61.5646811871799,50.23926954762257],[-61.57082861534155,50.22751784688014],[-61.50557220451328,50.23092211119097],[-61.50260118927975,50.275888277796305],[-61.412649214327246,50.27441169946175],[-61.239564819081885,50.273762171437866],[-61.174415988504705,50.27437705683871],[-61.22730199326255,50.29349083438642],[-61.25700837412508,50.31196714240261],[-61.27373633086901,50.32693932869112],[-61.262565975963945,50.34194577025272],[-61.26405890041014,50.35659925115348],[-61.24978442840319,50.3655289928019],[-61.13648755716662,50.36254124089566],[-60.96678042950691,50.35995853216721],[-60.715278087682684,50.35779451286036],[-60.26795811816483,50.35500539719495],[-60.26986447705979,50.36840427197746],[-60.25120145834258,50.39992292639239],[-60.233090354844954,50.41427349779639],[-60.219484091824675,50.43305965516349],[-59.961435681407806,50.43117513974004],[-59.96291034619735,50.537228714506966],[-59.58312865787208,50.54006886700035],[-59.583836683089764,50.595907277451936],[-59.60221393123078,50.67354010521829],[-59.57714299098577,50.67462556621744],[-59.55890293869423,50.670922315406145],[-59.53830453585663,50.67489859318165],[-59.51209544734887,50.67245468447773],[-59.4928645822871,50.66316412345609],[-59.46494304230446,50.661676496836954],[-59.436028136217224,50.67292668246431],[-59.423654266796106,50.665442199553546],[-59.42041765280903,50.75006763213225],[-59.42026028390658,50.88477224453786],[-59.4030689851503,50.86212841278783],[-59.38259414344266,50.86019635394486],[-59.35986831072497,50.849089151870324],[-59.337020211052725,50.84357956431939],[-59.3156617484896,50.86529451647589],[-59.29921134970583,50.87591231566736],[-59.29773742322078,50.98292920140999],[-59.250355011487876,50.98592386335077],[-59.189616802912305,50.9683806233133],[-59.156127705624435,50.97883549692011],[-59.12857921716779,50.97825100690703],[-59.08669759631601,50.999484288901904],[-59.07095041650083,51.03625890260543],[-59.124772082898524,51.04346309522059],[-59.137488607532084,51.02967589645759],[-59.15750040097954,51.0485427027487],[-59.159847212356425,51.05712371123459],[-59.1443878032915,51.06457259205862],[-59.148718085064125,51.07325979429052],[-59.14754812909246,51.16603938984034],[-58.86678536846558,51.17014201602461],[-58.86425608713608,51.36550408354767],[-58.52184512385386,51.365009022537855],[-58.430579020117776,51.36434278837339],[-58.42981853452518,51.44252526326187],[-58.074451392101686,51.44476760850697],[-58.057820039721534,51.4539307127555],[-57.91996423107262,51.45359544715812],[-57.92139198979485,51.589204672847146],[-57.58148293084812,51.589296345310046],[-57.44588501984736,51.58978779713997],[-57.347375736217195,51.590565476481935],[-57.107879987784194,51.5909282018767],[-57.10548640008561,51.656451372231174],[-57.106858714672015,51.83967506783434]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-60.04783510560523,\"lat\":51.339472768523535},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2498\"],\"cd_name_en\":[\"Minganie--Le Golfe-du-Saint-Laurent\"],\"csd_code\":[\"2498912\"],\"csd_name_en\":[\"Petit-M\\u00e9catina\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Minganie--Le Golfe-du-Saint-Laurent\",\"csd_name_fr\":\"Petit-M\\u00e9catina\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.01610254226989,49.80181971537835],[-74.01708337463175,49.8799725529064],[-74.01977517766036,49.87999753962589],[-74.02039779360726,49.97263004827564],[-74.0189077416417,50.02460746787662],[-74.2170598945074,50.02486165382167],[-74.46798533288928,50.026217030862874],[-74.46838010057154,49.73579258132441],[-74.35265106941611,49.734401073965344],[-74.10017872997282,49.7344708060612],[-74.0920882306861,49.74658000963269],[-74.08606009310067,49.769592495269734],[-74.07184711660153,49.7848621161618],[-74.01610254226989,49.80181971537835]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.24949017467539,\"lat\":49.883370230801056},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499025\"],\"csd_name_en\":[\"Chibougamau\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Chibougamau\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.64743494177392,61.024329880568544],[-69.63874465263842,61.02058484440995],[-69.5554227667941,61.01994963625304],[-69.55524020514618,61.011146695591414],[-69.49754647524696,61.01051883800029],[-69.53602547675293,61.0301209422611],[-69.53659626146646,61.05612091714297],[-69.62365443795208,61.05870283429345],[-69.64155482851524,61.05846879652996],[-69.64744779823653,61.041779591122236],[-69.63669229513135,61.034377089870986],[-69.64743494177392,61.024329880568544]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.58311866080484,\"lat\":61.03630555491875},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499115\"],\"csd_name_en\":[\"Quaqtaq\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village nordique\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Quaqtaq\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-73.8777578536441,50.42184500498128],[-73.86537300719023,50.447700398916425],[-73.87537458493087,50.46784370315381],[-73.85613187978724,50.50899130205567],[-73.87217430713149,50.51772489343234],[-73.8593583090968,50.54028660969089],[-73.85647779442783,50.55867199795239],[-73.8434898981849,50.57565819152838],[-73.8394955095521,50.58956921017594],[-73.82713189922538,50.6049782996745],[-73.80671799258258,50.618025009328115],[-73.81325288759861,50.62960520565931],[-73.79577258581256,50.64831490593288],[-73.79800349965824,50.66790821212679],[-73.80926599778468,50.6768601996578],[-73.83709928639409,50.64557749162466],[-73.86700569474786,50.63304440473608],[-73.8805944029772,50.62131328651666],[-73.88037939294466,50.603414087147385],[-73.93094971477134,50.551920196263744],[-73.92311719260199,50.53451620614536],[-73.93940558007297,50.517328801486904],[-73.92562069385232,50.50232068522185],[-73.93754629642383,50.48549998702071],[-73.89379629246504,50.4860878048443],[-73.89882558434427,50.46749590423016],[-73.92249792004453,50.45090549909512],[-73.92791630468768,50.42871458887617],[-73.92338059691866,50.42199708971888],[-73.8777578536441,50.42184500498128]]],[[[-73.8777578536441,50.42184500498128],[-73.83146150786789,50.378019136804205],[-73.83248666827939,50.36750301402891],[-73.80776891132976,50.338582266613905],[-73.77223998658765,50.332374522181745],[-73.7229454565704,50.352178182732864],[-73.70297784032691,50.37085947799129],[-73.6792932197511,50.38757762437531],[-73.67656923406102,50.41349951904279],[-73.6699979442348,50.424126973376524],[-73.6501763278421,50.428479552641384],[-73.6057146912937,50.46293895345413],[-73.57967044951383,50.49446010663643],[-73.5801481404234,50.50438022413183],[-73.56766066449627,50.51997956477774],[-73.52943763360429,50.53839933960458],[-73.5195421762044,50.55021594030859],[-73.49399892339376,50.56885490683256],[-73.46787883753194,50.580915495659355],[-73.45453133267958,50.59866560349041],[-73.43880603646018,50.60921607796825],[-73.43631744287445,50.62626028296852],[-73.4066679862043,50.64586965131027],[-73.39205549531962,50.66100561754974],[-73.52534354171715,50.698256501685876],[-73.48992127839554,50.75742838135032],[-73.64664499778596,50.801342092812554],[-73.66272090727584,50.769423693880206],[-73.6549752013661,50.759275397126096],[-73.66451091714048,50.742180996254966],[-73.68091538566237,50.74149140950287],[-73.69398628247254,50.71246779458529],[-73.7157914074212,50.70618130047368],[-73.73515911474134,50.672196501560784],[-73.74993540351446,50.66538698691822],[-73.75540768545473,50.651988499181606],[-73.77873120769708,50.62881178926671],[-73.77815780163989,50.61307090837874],[-73.81402358175568,50.59250860667554],[-73.80982277901887,50.576516801125535],[-73.82070900097175,50.56621120079499],[-73.8275510987546,50.54732109031173],[-73.81205398957904,50.53170209272805],[-73.81776390798048,50.52708351043894],[-73.82150459604969,50.486022109124725],[-73.79588871678405,50.49102590339489],[-73.81315671160806,50.46599581244249],[-73.82639620359969,50.46112388146023],[-73.84576880212424,50.46644290561929],[-73.85549150849184,50.44809059649304],[-73.85447171090463,50.43598330629856],[-73.8777578536441,50.42184500498128]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.68213476105166,\"lat\":50.569354437923764},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499804\"],\"csd_name_en\":[\"Mistissini\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Terres r\\u00e9serv\\u00e9es aux Cris\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Mistissini\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-66.14860121801,58.74365949943867],[-66.15938066118704,58.727154538347634],[-66.08669991971179,58.63992090369529],[-66.01595272137772,58.63471958027226],[-65.99752753894535,58.636758560893526],[-65.97580561408343,58.65319131069484],[-65.98777960483113,58.666132196671136],[-66.01414147910006,58.66875949700787],[-66.03045689419804,58.64784538562679],[-66.0648528053446,58.65001069434915],[-66.06435000723788,58.66107889718392],[-66.08114887430266,58.6803301070176],[-66.10316113062434,58.68969589404414],[-66.11254950455161,58.7016236083357],[-66.10121601815713,58.71733510198741],[-66.14860121801,58.74365949943867]]],[[[-65.71399016475377,58.89246605233137],[-65.74950681392227,58.89503360918426],[-65.72954678872928,58.878665307055584],[-65.74893969661221,58.86641349114318],[-65.77324329913866,58.85894050587447],[-65.78444441834685,58.84860189825302],[-65.77541960359696,58.838654407794344],[-65.74354547954985,58.82668609539362],[-65.73519241554528,58.81578210555372],[-65.69374777850544,58.818098894501325],[-65.64462691164172,58.79959830399145],[-65.63486438385304,58.781547489991894],[-65.61227691253609,58.78088000951791],[-65.62592005123369,58.83359925737374],[-65.68738965084623,58.8851056186809],[-65.71399016475377,58.89246605233137]]],[[[-65.93807329626722,58.67076060736645],[-65.93239277731291,58.645289496326114],[-65.89199889879879,58.634073005520925],[-65.87458867761707,58.62467710573756],[-65.85941851104434,58.598246409908896],[-65.84486769043086,58.59401649464608],[-65.81819818093129,58.575082806475734],[-65.83367988407592,58.571571495982575],[-65.85748770534167,58.58734800858661],[-65.89147872313609,58.59648459783693],[-65.89141149068725,58.57830071063754],[-65.88318650298582,58.55581829438506],[-65.90050181861267,58.538565905593195],[-65.89624858334696,58.52874829927492],[-65.90975891679888,58.519087710702294],[-65.92651410082173,58.52258870564896],[-65.93823121241836,58.512189207929985],[-65.96347489524948,58.50503229356186],[-66.00094801217584,58.488551089397724],[-65.96864810242788,58.46672881018757],[-65.9371530708367,58.4810435536852],[-65.90139902241694,58.50855680975299],[-65.80358739868691,58.55481495602234],[-65.75402883022231,58.61273639883132],[-65.75080359955896,58.70588411372559],[-65.71733937593238,58.71027079694056],[-65.63685242144933,58.687774695310715],[-65.62462071912432,58.67499760027736],[-65.59684910715737,58.67397341356682],[-65.61358299350925,58.704185800066654],[-65.52407962741601,58.70653429851224],[-65.52040782124834,58.72013269450588],[-65.56469629825969,58.72621469629072],[-65.59299402189042,58.736477704940654],[-65.60457709007139,58.74899579098306],[-65.59893421737837,58.75990629049221],[-65.61583579086728,58.771417689220335],[-65.64340272733538,58.772116295568836],[-65.66344148651244,58.784096194177884],[-65.66736591466864,58.795909304760634],[-65.69867469698227,58.805254395574394],[-65.70108910129699,58.815922708888834],[-65.7392787082116,58.80668590505069],[-65.74798820467574,58.820829996542216],[-65.76580781998261,58.832278797982724],[-65.79107039030204,58.83339860585754],[-65.80089818017511,58.85730250824585],[-65.83630220909276,58.82754180207393],[-65.8179260965811,58.81164700566284],[-65.81681390286197,58.79380671372691],[-65.84813131087898,58.813963107161705],[-65.85037667555052,58.82431579832001],[-65.93217632100901,58.844082396706995],[-65.94194762015452,58.82715270802455],[-65.96113648665666,58.827099981382865],[-65.97200008922638,58.84186428391138],[-65.97537189550071,58.860318900985554],[-65.99384442195979,58.86545599545227],[-66.02379192837026,58.85238869486452],[-66.0273787239299,58.84159349608365],[-66.0458185227644,58.83410760218357],[-66.06422648152702,58.81766199428767],[-66.08541970708103,58.81205481360136],[-66.07516329676051,58.8008116007626],[-66.10243947348563,58.774080503788674],[-66.07480629058362,58.76653308476133],[-66.05668170788216,58.77503589838519],[-66.03257601486767,58.764040614010916],[-66.0319228886365,58.74433729603082],[-66.02171978243429,58.7350244911022],[-66.03134863207839,58.724033374359955],[-65.90113859258504,58.726291062634346],[-65.8966412872065,58.671813759275146],[-65.93807329626722,58.67076060736645]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.83598912121491,\"lat\":58.72971492718152},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499894\"],\"csd_name_en\":[\"Kangiqsualujjuaq\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Terre inuite\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Kangiqsualujjuaq\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.70839921750778,45.08554136600746],[-74.79909379734451,45.04829850832026],[-74.8444020099016,45.03086548072619],[-74.83370434722227,45.01478414886835],[-74.80144766947504,45.01455093769138],[-74.7928400839526,45.00440938575233],[-74.76309347837449,45.00571894708719],[-74.7603085219957,44.99499184673036],[-74.74446933001278,44.99065457993809],[-74.73092175334072,44.990461425881065],[-74.72176210904861,44.998433205787784],[-74.70224879575784,45.00330804468679],[-74.68637503326615,45.00006613490704],[-74.66856844811268,45.004355079514035],[-74.65303922676085,45.01919770198155],[-74.70839921750778,45.08554136600746]],[[-74.66415155128571,45.01466170079133],[-74.68428133308414,45.00079289851275],[-74.7054740389288,45.005179390771794],[-74.72117092617368,44.99991649095818],[-74.73320653471933,44.99288768707747],[-74.74440114124995,44.99173397692068],[-74.75902715197527,45.00421549139668],[-74.72298572112184,45.01039029697747],[-74.69873144930513,45.01087809561955],[-74.68255094792183,45.01759489289019],[-74.66415155128571,45.01466170079133]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.7422175565858,\"lat\":45.03552347062732},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3501\"],\"cd_name_en\":[\"Stormont\",\"Dundas and Glengarry\"],\"csd_code\":[\"3501012\"],\"csd_name_en\":[\"Cornwall\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Stormont, Dundas and Glengarry\",\"csd_name_fr\":\"Cornwall\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.35318540996224,45.18207449276133],[-75.25902773044889,45.218234865506425],[-75.20115611474026,45.23974210389306],[-75.2341379026084,45.300286795942874],[-75.26816501076452,45.35617230635865],[-75.32832372012959,45.338689592895484],[-75.42594482000887,45.31246569271194],[-75.40247011142377,45.26528650913173],[-75.35318540996224,45.18207449276133]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.31370730888732,\"lat\":45.271916341942095},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3502\"],\"cd_name_en\":[\"Prescott and Russell\"],\"csd_code\":[\"3502048\"],\"csd_name_en\":[\"Russell\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Prescott and Russell\",\"csd_name_fr\":\"Russell\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.95642569419606,44.53971161727988],[-76.00062952789895,44.51941951284043],[-76.01312165787769,44.6134143662307],[-76.03292715392617,44.638005335569204],[-76.09557530498171,44.59996971257889],[-76.17831899560676,44.546090303464396],[-76.25484448509415,44.49800856604585],[-76.25210899439351,44.48028449807448],[-76.23958310139395,44.372708310406374],[-76.2362625061133,44.35591581013575],[-76.2334983116261,44.305228481488506],[-76.21432298753606,44.30834594971653],[-76.19841961972934,44.30465047685859],[-76.1998552961853,44.29396829353077],[-76.1618122208009,44.28074333629934],[-76.13120944997326,44.29649575925076],[-76.09691165716956,44.29981028487421],[-76.04550641236385,44.33188382312086],[-76.00121454460285,44.3479367731601],[-75.97008512953836,44.342497545748905],[-75.9496903623274,44.34894400227461],[-75.91283251341167,44.367790527157226],[-75.85010203755692,44.41081178885908],[-75.8616672424979,44.42213615360728],[-75.9037185035034,44.47283590822183],[-75.95642569419606,44.53971161727988]],[[-76.15250112418994,44.34462421325887],[-76.14531987123027,44.32965161874297],[-76.1831604999272,44.317516754789075],[-76.18584875239142,44.3419182839045],[-76.15250112418994,44.34462421325887]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.07804037371402,\"lat\":44.44384567123534},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3507\"],\"cd_name_en\":[\"Leeds and Grenville\"],\"csd_code\":[\"3507021\"],\"csd_name_en\":[\"Leeds and the Thousand Islands\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Leeds and Grenville\",\"csd_name_fr\":\"Leeds and the Thousand Islands\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.05120056145125,44.17323437148834],[-77.03307318435195,44.18850092937169],[-77.04472476675488,44.20898736365258],[-77.05728373458426,44.20573718125581],[-77.06630743167587,44.19610849236148],[-77.06013183413296,44.18422163031626],[-77.05120056145125,44.17323437148834]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.04990756071446,\"lat\":44.19225261971527},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3512\"],\"cd_name_en\":[\"Hastings\"],\"csd_code\":[\"3512002\"],\"csd_name_en\":[\"Deseronto\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Hastings\",\"csd_name_fr\":\"Deseronto\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.75449185256193,44.23869047328767],[-77.713566952034,44.250034395855316],[-77.683880553409,44.26293498746551],[-77.65362233465487,44.2578533926523],[-77.64619308415509,44.27215700922364],[-77.68478280839132,44.3540002940605],[-77.72737240824841,44.43647221004129],[-77.76038830602884,44.427297091615756],[-77.80708051385396,44.41084229156324],[-77.86118520030624,44.40146217465933],[-77.91308041617165,44.389390896740515],[-77.90112905332936,44.364749655510444],[-77.91192582222999,44.34349902565037],[-77.93673856140512,44.32061757306675],[-77.97268848899155,44.315409351136324],[-77.96896508058909,44.29731665829546],[-78.00454367199187,44.2874785301458],[-78.03051413797039,44.27219428844393],[-77.97393221844247,44.147764788149615],[-77.85154287943494,44.17789133380962],[-77.8123522922213,44.1878246927396],[-77.83065295142976,44.22097696099501],[-77.7723854533814,44.23750260167919],[-77.75449185256193,44.23869047328767]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.83940213310838,\"lat\":44.29136571250686},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3514\"],\"cd_name_en\":[\"Northumberland\"],\"csd_code\":[\"3514045\"],\"csd_name_en\":[\"Trent Hills\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Northumberland\",\"csd_name_fr\":\"Trent Hills\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.36669105863821,44.49317560690494],[-78.36917080066792,44.47647667678323],[-78.38066758914528,44.45647621247461],[-78.36993728536565,44.4504261984491],[-78.34855699977096,44.479822948982026],[-78.33477138474082,44.48749080720607],[-78.35055291772589,44.4982971052865],[-78.36669105863821,44.49317560690494]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.3600104263568,\"lat\":44.47728297136024},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3515\"],\"cd_name_en\":[\"Peterborough\"],\"csd_code\":[\"3515019\"],\"csd_name_en\":[\"Curve Lake First Nation 35\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Peterborough\",\"csd_name_fr\":\"Curve Lake First Nation 35\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.81025270722003,43.58851261993117],[-79.85913481137638,43.544530008610415],[-79.86842931244982,43.54432939784594],[-79.89546684129441,43.5637117708264],[-79.93908260779632,43.52464740060794],[-80.08559119969696,43.628977205117955],[-80.1343781002173,43.585447007424115],[-80.14501724491058,43.566998560226644],[-80.16035631045428,43.561107497837995],[-80.03433919445197,43.47105600722617],[-79.95930529478481,43.41725189432364],[-79.89472360555894,43.47654248858319],[-79.84254878538019,43.44045160619309],[-79.81941708557348,43.42692971852838],[-79.810952591268,43.43476620443873],[-79.79533139149169,43.4491204869797],[-79.80814621038247,43.46677379580928],[-79.7864320155218,43.48660320172503],[-79.773367189016,43.48498474068716],[-79.72691888583911,43.52652738111072],[-79.80802252423835,43.58480590854723],[-79.81025270722003,43.58851261993117]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.94536853393858,\"lat\":43.518823787376526},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3524\"],\"cd_name_en\":[\"Halton\"],\"csd_code\":[\"3524009\"],\"csd_name_en\":[\"Milton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Halton\",\"csd_name_fr\":\"Milton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.08082229075758,42.97274469337932],[-80.06974641614597,42.989161488930804],[-80.0586634078782,43.00565809655973],[-80.1126575090243,43.02559430970367],[-80.13483399137274,42.99251759899677],[-80.08082229075758,42.97274469337932]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.09675568089216,\"lat\":42.99913754610017},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3529\"],\"cd_name_en\":[\"Brant\"],\"csd_code\":[\"3529021\"],\"csd_name_en\":[\"New Credit (Part) 40A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Brant\",\"csd_name_fr\":\"New Credit (Part) 40A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.77377421580745,43.237545243874976],[-81.7773844480953,43.248765189953644],[-81.76318045550666,43.273853454909606],[-81.76252064444088,43.29347732966158],[-81.75298775553713,43.30715761483827],[-81.76332861530983,43.31963364720037],[-81.76961505180644,43.32217850344321],[-81.89503334374656,43.25181019196652],[-81.90643717378903,43.24844456072436],[-81.98363660461466,43.2354717477326],[-81.99999636228262,43.23680687466088],[-81.9999999948568,43.25000000662754],[-82.29491130173658,43.249842861996825],[-82.33841352930844,43.16286843978366],[-82.22662723565075,43.14292823467473],[-82.02293489137135,43.10728778950363],[-82.02427330383732,43.076463591975354],[-82.00101579973095,43.07610088936178],[-81.97020829288752,43.07792269813408],[-81.97021148630138,43.09784339563104],[-81.80846188718812,43.069039680193775],[-81.80825250846398,43.08412281565063],[-81.81928459412396,43.10177924412093],[-81.8070418425149,43.128728057814406],[-81.80763340473926,43.14987189472109],[-81.81621860446448,43.1545475027209],[-81.80995536165213,43.16831084474269],[-81.81887381837596,43.1903947413543],[-81.81196271004733,43.19823315530022],[-81.81322546605973,43.215486400324444],[-81.80018775584638,43.22210691079619],[-81.7827890509297,43.211493587503554],[-81.77377421580745,43.237545243874976]],[[-82.01645616450834,43.21621090560945],[-82.00953674970165,43.208366090068985],[-81.98945677346495,43.206542046597704],[-81.98925918259982,43.179420605010606],[-82.01767810195948,43.17883490428844],[-82.02334985027984,43.199958811645566],[-82.01645616450834,43.21621090560945]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.0180430695547,\"lat\":43.18413793038591},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3538\"],\"cd_name_en\":[\"Lambton\"],\"csd_code\":[\"3538040\"],\"csd_name_en\":[\"Lambton Shores\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Lambton\",\"csd_name_fr\":\"Lambton Shores\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.62365390803427,44.17095061099256],[-80.64739311360452,44.28461669588631],[-80.62848519861275,44.30672379373667],[-80.64844205427954,44.30662855459281],[-80.6652252332639,44.31238478153493],[-80.65406239161614,44.32230729158932],[-80.6640066902292,44.32826089785213],[-80.68749433869229,44.34249964693876],[-80.71254341086988,44.32089390984821],[-80.721498875754,44.326354622531],[-80.93774120685039,44.30380878776255],[-81.06943911066072,44.28833960262022],[-81.03594679767365,44.169555697174076],[-81.0110082156699,44.17350489820321],[-80.99649098100984,44.1664322532575],[-80.993411913342,44.15748413265895],[-81.01277626829545,44.15399068452007],[-81.00589625654506,44.13659021224402],[-81.02570845444671,44.13331714292257],[-81.02349528869021,44.12388446350552],[-80.98911870062207,43.98673669302906],[-80.83582895004793,44.00457664040879],[-80.82747196599652,43.96818011999238],[-80.77136924026767,43.974567707362716],[-80.75426888523032,43.976652208874],[-80.74573870835552,43.98882431078808],[-80.75571481221289,43.99498639719472],[-80.77681228969217,44.00624799573011],[-80.79457579215548,44.04590549007337],[-80.79362018294715,44.06946580476211],[-80.80467699865375,44.10177809528804],[-80.80309599133172,44.11153720892071],[-80.81371170307526,44.14928779953667],[-80.6843238088974,44.164579206807396],[-80.62365390803427,44.17095061099256]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.85802311494942,\"lat\":44.17636665394823},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3542\"],\"cd_name_en\":[\"Grey\"],\"csd_code\":[\"3542004\"],\"csd_name_en\":[\"West Grey\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Grey\",\"csd_name_fr\":\"West Grey\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.71192097415499,44.1660640428451],[-79.7232371933844,44.185214091237995],[-79.82931141505532,44.16235659774017],[-79.84210785661767,44.17742153105725],[-79.88321244787568,44.16925994835755],[-79.8918456925143,44.165329419406724],[-79.88779551679262,44.13662603949122],[-79.87552629116476,44.139311987805456],[-79.83358198183338,43.97703620796853],[-79.7755043990594,43.98975751106231],[-79.67041827051331,44.0128721493188],[-79.69616627367598,44.10482216176994],[-79.69664983114906,44.1177907938222],[-79.71192097415499,44.1660640428451]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.77847521977976,\"lat\":44.08466231601798},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3543\"],\"cd_name_en\":[\"Simcoe\"],\"csd_code\":[\"3543007\"],\"csd_name_en\":[\"New Tecumseth\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Simcoe\",\"csd_name_fr\":\"New Tecumseth\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-79.32034403985003,44.70846605385103],[-79.30420681719099,44.673548324984594],[-79.29538584082303,44.6755191128169],[-79.30350829541797,44.69926518937214],[-79.32034403985003,44.70846605385103]]],[[[-79.33083126397494,44.666431314995535],[-79.35683354217369,44.6536924010902],[-79.33545391085475,44.64886476003686],[-79.32187853415286,44.65693644439114],[-79.33083126397494,44.666431314995535]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.32103270053815,\"lat\":44.67423220711327},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3543\"],\"cd_name_en\":[\"Simcoe\"],\"csd_code\":[\"3543050\"],\"csd_name_en\":[\"Chippewas of Rama First Nation\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Simcoe\",\"csd_name_fr\":\"Chippewas of Rama First Nation\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.68472281651107,45.45173796525194],[-76.64825500550253,45.475273878285876],[-76.65693904979958,45.486527066503946],[-76.67241375088967,45.48161034862872],[-76.68774003232568,45.49373509945787],[-76.71537229219655,45.47626412991249],[-76.68472281651107,45.45173796525194]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.68232530603055,\"lat\":45.47361365115372},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3547\"],\"cd_name_en\":[\"Renfrew\"],\"csd_code\":[\"3547048\"],\"csd_name_en\":[\"Renfrew\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Renfrew\",\"csd_name_fr\":\"Renfrew\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.12388665528435,45.83636292382845],[-77.15159507421696,45.83884020762048],[-77.1274866001483,45.813424403750425],[-77.14110450616295,45.80469120321],[-77.10852838020098,45.798598405385896],[-77.08042502196417,45.820715397377185],[-77.08472153617002,45.826359787644236],[-77.12388665528435,45.83636292382845]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.11515338829825,\"lat\":45.81945778490926},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3547\"],\"cd_name_en\":[\"Renfrew\"],\"csd_code\":[\"3547064\"],\"csd_name_en\":[\"Pembroke\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Renfrew\",\"csd_name_fr\":\"Pembroke\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.63179815460774,47.058460315644126],[-79.63193557950707,47.153027092655],[-79.63038971394946,47.16550342275018],[-79.63269598860438,47.231827394841105],[-79.7161367459496,47.181921714071976],[-79.73372185599239,47.17385895867631],[-79.78982266834264,47.234348683077044],[-80.13146017189611,47.234942732988976],[-80.15467999797562,47.23264640957114],[-80.20307946507235,47.23503304676585],[-80.27018205005652,47.234821905891884],[-80.27415297858758,47.05639628275993],[-80.2892014100749,47.056043356594074],[-80.29127414738213,46.97222393195918],[-80.22369870337039,46.97243671999028],[-80.22729003672139,46.79880584980279],[-79.8837852760169,46.798918231921654],[-79.88469493301514,46.711720221919585],[-79.75850834080424,46.71052946002969],[-79.75715711996189,46.79855027047429],[-79.62636762117076,46.798716869594166],[-79.6315239106506,46.9719100819734],[-79.63179815460774,47.058460315644126]],[[-80.0771446474975,46.99271629636813],[-80.06586315405976,46.988026295237205],[-80.07337235241424,46.97812551236778],[-80.0811900337952,46.98382069328684],[-80.0771446474975,46.99271629636813]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.94350278232179,\"lat\":47.006197687850026},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3548\"],\"cd_name_en\":[\"Nipissing\"],\"csd_code\":[\"3548069\"],\"csd_name_en\":[\"Temagami\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Nipissing\",\"csd_name_fr\":\"Temagami\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.63297180468837,46.37292964265352],[-79.71064471141437,46.370256746100814],[-79.88395260174408,46.36552208666121],[-79.88390078077497,46.32468940278369],[-79.85652065247639,46.30685180812796],[-79.83225885038242,46.30942359434067],[-79.82582484001996,46.32454630251268],[-79.80405484869762,46.329490006058236],[-79.78208733973386,46.322958194094554],[-79.77644445723242,46.33949379311337],[-79.74774564419845,46.36085500014459],[-79.72885084504517,46.367299698403365],[-79.70177624455826,46.36811929188724],[-79.66722344504159,46.3561825015509],[-79.63212031125659,46.35027058413939],[-79.63297180468837,46.37292964265352]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.8003220231766,\"lat\":46.34736610046608},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3548\"],\"cd_name_en\":[\"Nipissing\"],\"csd_code\":[\"3548073\"],\"csd_name_en\":[\"Nipissing 10\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Nipissing\",\"csd_name_fr\":\"Nipissing 10\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.39751109953936,45.75976578172618],[-79.385327542344,45.77272850220914],[-79.4058224033449,45.7758307928141],[-79.39751109953936,45.75976578172618]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.39622034840941,\"lat\":45.7694416922498},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3549\"],\"cd_name_en\":[\"Parry Sound\"],\"csd_code\":[\"3549048\"],\"csd_name_en\":[\"Sundridge\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Parry Sound\",\"csd_name_fr\":\"Sundridge\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.0554808860563,45.33622077870445],[-80.06911235486167,45.34481761090323],[-80.0940099980904,45.34343252321527],[-80.09736082800627,45.33195619819715],[-80.08649713550545,45.31956931143723],[-80.10355018341389,45.30938165011299],[-80.12382861945623,45.30999658330557],[-80.12832265239952,45.317758794763115],[-80.18615345145179,45.32764599155094],[-80.21654884164427,45.3126925888763],[-80.22652574481666,45.28874989407407],[-80.21632413659133,45.28614572027964],[-80.22254175284584,45.27913808876518],[-80.20379284189457,45.26756359841589],[-80.19476434017672,45.2431748037862],[-80.16444166193453,45.23471379206555],[-80.14725893575957,45.26757619742954],[-80.13561083510182,45.278208398509506],[-80.11806994687434,45.27557139895806],[-80.10060905455425,45.283193099662206],[-80.08885553804176,45.281425590302405],[-80.08146634502025,45.29684020180966],[-80.04858215658547,45.31390810487801],[-80.05056975300612,45.33009155386311],[-80.0554808860563,45.33622077870445]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.14685354900915,\"lat\":45.294723797531326},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3549\"],\"cd_name_en\":[\"Parry Sound\"],\"csd_code\":[\"3549073\"],\"csd_name_en\":[\"Parry Island First Nation\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Parry Sound\",\"csd_name_fr\":\"Parry Island First Nation\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-82.80542468967279,45.96594407318244],[-82.79885735372227,45.98219949681221],[-82.80957334692062,45.99764619787336],[-82.82525164756093,45.984309818183064],[-82.83780125484206,45.98781671567829],[-82.85157834480476,45.97930450287577],[-82.85560229812559,45.96643861582468],[-82.80542468967279,45.96594407318244]]],[[[-82.8722378578714,45.962048150863815],[-82.9095483508975,45.96477670121882],[-82.93426794384187,45.96079641209554],[-82.95080854508747,45.95184741522353],[-82.9449515648405,45.94008449630863],[-82.97910285750658,45.93037111384616],[-82.99078665174227,45.92129331760833],[-83.00161495606976,45.92761161449954],[-83.00659004487508,45.94539069663013],[-83.04237574803896,45.95650230666749],[-83.05734215291183,45.95781780733396],[-83.06629666186815,45.94632440755103],[-83.0811251406545,45.91368010552203],[-83.11544226388824,45.92228370710575],[-83.11141632869186,45.9344552159169],[-83.11885084831168,45.950815816388676],[-83.1370651643399,45.961079200674774],[-83.18403125734756,45.95752660965991],[-83.2150772297485,45.92831480971761],[-83.22603614844924,45.90821879579802],[-83.22628016040188,45.89175171696229],[-83.21747443086272,45.873894402012226],[-83.16832635789095,45.86455931660005],[-83.13639915588269,45.86482850918247],[-83.10584135730782,45.86997801386422],[-83.0862205549618,45.8638398988088],[-83.08394284981652,45.85529481121423],[-83.06308114089816,45.83664571587848],[-83.00584424191213,45.840959293888396],[-83.00233966012631,45.8258364014404],[-82.9634227544087,45.82627811388534],[-82.95442844619292,45.8128141012054],[-82.92407413394476,45.807857012854754],[-82.87162383982213,45.792761498136905],[-82.85255803806523,45.79556580776137],[-82.84372395648965,45.807832996270754],[-82.82810363534158,45.80481691308048],[-82.81553356480659,45.79027400326365],[-82.79616584115996,45.79936511709697],[-82.76937886318764,45.780827393959285],[-82.75133822303854,45.781761833891075],[-82.7503236302466,45.831321697278554],[-82.76826615763858,45.868026402667326],[-82.77687053201005,45.876038496138534],[-82.8123538604052,45.890143111757375],[-82.84015694965007,45.912011199310484],[-82.86968672143607,45.91315966418367],[-82.86864789111179,45.9308265819966],[-82.89454968179747,45.93110587821377],[-82.88851327300227,45.94950891739797],[-82.89334328904884,45.95841489358166],[-82.8722378578714,45.962048150863815]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.9697512836995,\"lat\":45.881643608497114},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3551\"],\"cd_name_en\":[\"Manitoulin\"],\"csd_code\":[\"3551094\"],\"csd_name_en\":[\"Manitoulin\",\"Unorganized\",\"West Part\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Manitoulin\",\"csd_name_fr\":\"Manitoulin, Unorganized, West Part\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.59772896071391,51.25511158649594],[-80.57658191345608,51.27366341128836],[-80.58830580907416,51.276540515195386],[-80.61187101732618,51.264587500729355],[-80.59772896071391,51.25511158649594]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.59442012855439,\"lat\":51.266668738060545},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3556\"],\"cd_name_en\":[\"Cochrane\"],\"csd_code\":[\"3556094\"],\"csd_name_en\":[\"Factory Island 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Cochrane\",\"csd_name_fr\":\"Factory Island 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-83.84055118268802,46.108117031188584],[-83.89041975009638,46.16205292627595],[-83.89533860059966,46.159934398142084],[-83.96596676903145,46.23785713319851],[-84.07778045475393,46.1890226197081],[-84.0059720372691,46.14944439795054],[-84.00630546438683,46.118305614879546],[-83.97633316296314,46.10241669724123],[-83.95547203774471,46.056749994032515],[-83.90352764513713,46.06044440015199],[-83.84055118268802,46.108117031188584]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-83.95087304073145,\"lat\":46.14480467933901},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3557\"],\"cd_name_en\":[\"Algoma\"],\"csd_code\":[\"3557001\"],\"csd_name_en\":[\"Jocelyn\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Algoma\",\"csd_name_fr\":\"Jocelyn\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-83.91179562138898,46.52921779754018],[-83.89796046940495,46.538372595806834],[-83.89961318764298,46.573393664982795],[-83.91751154131921,46.57323300096446],[-83.93077164463254,46.5659993759938],[-83.94149522705403,46.550765714070025],[-83.96363631488647,46.54873428851616],[-83.96345760514227,46.533746367392084],[-83.93155122613005,46.52937056006335],[-83.91179562138898,46.52921779754018]]],[[[-84.02751734417795,46.52878450610077],[-84.00331943249881,46.568934585530535],[-84.00272309902293,46.59219546559586],[-83.95699144702996,46.59202263189023],[-83.95908240472319,46.61079658641092],[-83.93805783088538,46.61147112771632],[-83.9344563253582,46.59733896065219],[-83.91311417484887,46.5943739681268],[-83.89962282642195,46.60407666812985],[-83.89848820521188,46.63344595625316],[-83.87101449279,46.633728268117714],[-83.87316598427947,46.660491732834],[-84.03791409297654,46.6591963873311],[-84.0545584999027,46.65985827543848],[-84.05406931683909,46.643588257676676],[-84.04559914621592,46.635360736594976],[-84.02588973247965,46.635800041974164],[-84.02414230901023,46.59524835083267],[-84.22839910676842,46.59687123682578],[-84.22952962312621,46.55668369869347],[-84.22832560077534,46.53126551982476],[-84.19366654889032,46.540222205390606],[-84.17769424983634,46.527083309673316],[-84.13947205712228,46.53244442050217],[-84.12899984579916,46.53049999742946],[-84.11023096351074,46.52636290486402],[-84.11332083330461,46.514651614955945],[-84.09246153172666,46.50123140302594],[-84.08186394895246,46.511717398227724],[-84.05137564298857,46.50730081672684],[-84.0255871615711,46.51309531438776],[-84.02751734417795,46.52878450610077]],[[-84.00161795576388,46.62125779666646],[-84.00227243687148,46.59728122268522],[-84.01566478027044,46.597539949055566],[-84.01370828084072,46.62165267002194],[-84.00161795576388,46.62125779666646]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-84.04874520484537,\"lat\":46.582425695864856},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3557\"],\"cd_name_en\":[\"Algoma\"],\"csd_code\":[\"3557074\"],\"csd_name_en\":[\"Garden River 14\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Algoma\",\"csd_name_fr\":\"Garden River 14\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-89.2083950010477,48.318781121160264],[-89.2127833892069,48.332602288264646],[-89.22542054376446,48.34784993515849],[-89.26346721103761,48.35707068870844],[-89.2863176421232,48.354633134122544],[-89.30622169921004,48.3439299017001],[-89.30629998639652,48.31752624571294],[-89.33353370649806,48.31687280051227],[-89.33668426979085,48.28985258821428],[-89.31992027659187,48.27786892449316],[-89.25634341896696,48.26667039664865],[-89.23585325333725,48.286720709495235],[-89.2387639664974,48.304271925767665],[-89.21378038831138,48.3103761610863],[-89.19955421683015,48.306925272740216],[-89.2083950010477,48.318781121160264]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-89.27201688557227,\"lat\":48.312406051114685},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3558\"],\"cd_name_en\":[\"Thunder Bay\"],\"csd_code\":[\"3558003\"],\"csd_name_en\":[\"Fort William 52\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Thunder Bay\",\"csd_name_fr\":\"Fort William 52\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-89.59464898379693,48.51557004163057],[-89.59990238654115,48.529498035571486],[-89.62825741313395,48.52114230573168],[-89.76362364101227,48.55257537106644],[-89.76790620179169,48.4298112899637],[-89.76593771553779,48.41243292554416],[-89.63818575717416,48.41319274121744],[-89.59655987820211,48.42434146935343],[-89.57936298729115,48.438523296968484],[-89.5788622468112,48.451295595532024],[-89.58788381221834,48.469041911002606],[-89.60533532599385,48.48341153202193],[-89.60525723216946,48.49552173170738],[-89.59464898379693,48.51557004163057]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-89.68385070477702,\"lat\":48.473717632637296},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3558\"],\"cd_name_en\":[\"Thunder Bay\"],\"csd_code\":[\"3558019\"],\"csd_name_en\":[\"Conmee\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Thunder Bay\",\"csd_name_fr\":\"Conmee\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.54967521109006,49.120346208274505],[-97.57234274930747,49.12688410722483],[-97.58388534665092,49.11830703895531],[-97.58275600706084,49.08876788979426],[-97.54971141776899,49.09314146148909],[-97.54967521109006,49.120346208274505]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.56698278986407,\"lat\":49.10725606653763},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4603\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4603040\"],\"csd_name_en\":[\"Altona\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Altona\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-100.87214959469554,49.798303487084794],[-100.87211799981633,49.53285119769086],[-100.85023664749568,49.532833132410154],[-100.48614208218558,49.532858707803314],[-100.46420432253161,49.53240484562227],[-100.46278529810533,49.559251486262546],[-100.46277578316655,49.71007700661597],[-100.4627044894836,49.798196502054196],[-100.50808053811605,49.79789238946062],[-100.53130051694745,49.79798343360496],[-100.87214959469554,49.798303487084794]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.66752172079408,\"lat\":49.66550389464157},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4606\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4606016\"],\"csd_name_en\":[\"Sifton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Sifton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-98.5513488790892,49.797960690668354],[-98.77929097796353,49.79810397153428],[-98.77856501716359,49.62094898513199],[-98.74492112947863,49.62094805266761],[-98.74465796374675,49.59134916292456],[-98.73310540267074,49.591315301589766],[-98.73270999237975,49.53247891188525],[-98.54510249429815,49.532729988366206],[-98.41451560658278,49.53170211007991],[-98.41480101689909,49.62105560213315],[-98.41479317889727,49.7984668656305],[-98.4833294155867,49.797860884176124],[-98.49435128606873,49.79782709237983],[-98.50582569419002,49.79817129738993],[-98.52855948246217,49.79806810374359],[-98.5513488790892,49.797960690668354]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-98.59034272649902,\"lat\":49.66891243879742},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4608\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4608032\"],\"csd_name_en\":[\"Norfolk-Treherne\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Norfolk-Treherne\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-98.48183753161621,49.87208823314723],[-98.482234644196,49.88695106905168],[-98.49411840339039,49.88694862187364],[-98.48922197941381,49.872015902962886],[-98.48183753161621,49.87208823314723]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-98.48696049601203,\"lat\":49.88007873590068},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4609\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4609030\"],\"csd_name_en\":[\"Long Plain\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Long Plain\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-99.40071847414362,50.24052389745201],[-99.40044188782191,50.40275459615618],[-99.40051391512894,50.59468990016738],[-99.41512240938312,50.594647694634396],[-99.41516727491313,50.63921053951034],[-99.5548511971858,50.639016952681295],[-99.69491935062324,50.6388134457143],[-99.69494275923246,50.59444956929063],[-99.67730387974213,50.594422624667466],[-99.6772067933129,50.44180868850572],[-99.6763797524232,50.41688384966207],[-99.67715468339627,50.39570829775056],[-99.67704282096526,50.24049610494548],[-99.66080999511563,50.239960001911314],[-99.49267051606358,50.24052010827869],[-99.49254499979602,50.246610885819344],[-99.43506901677836,50.24697863197098],[-99.43113909510383,50.24052640792411],[-99.40071847414362,50.24052389745201]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-99.54092776023997,\"lat\":50.440616377205934},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4615\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4615078\"],\"csd_name_en\":[\"Rosedale\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Rosedale\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-99.22301633585505,53.259994444629115],[-99.23403618526903,53.26619326790087],[-99.35913191261254,53.26652437266229],[-99.36035360086166,53.25706510546563],[-99.33674420705184,53.1721498061322],[-99.35966365889779,53.171482489852956],[-99.33736106300145,53.14605405472805],[-99.31308115225721,53.142271055146004],[-99.28676493924142,53.14668543966024],[-99.26770616267028,53.16265613541374],[-99.25963116484097,53.186311240927296],[-99.26854686542593,53.20904514509956],[-99.26478545234188,53.22235195260864],[-99.2468750487549,53.23757065632953],[-99.23715065790113,53.25515425015808],[-99.22301633585505,53.259994444629115]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-99.30331706062982,\"lat\":53.21236531014346},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4621\"],\"cd_name_en\":[\"Division No. 21\"],\"csd_code\":[\"4621025\"],\"csd_name_en\":[\"Grand Rapids\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 21\",\"csd_name_fr\":\"Grand Rapids\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.29269088092136,53.88870020167632],[-101.2816918103461,53.93154628623384],[-101.29931276484477,53.93157131257681],[-101.30782317332414,53.91157105928833],[-101.3295224418521,53.885837747572445],[-101.34448500031007,53.886290198693736],[-101.34618172410356,53.858479474351185],[-101.35409866959967,53.845201753939456],[-101.32545137539668,53.83822787896021],[-101.26538125214763,53.82766995263673],[-101.23429410621249,53.839798757417654],[-101.2589887546277,53.83484716876452],[-101.26801391744608,53.841251779151754],[-101.32619049158768,53.851262604184846],[-101.32724029708363,53.859498704964935],[-101.29844001383597,53.878687320554775],[-101.29269088092136,53.88870020167632]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.31000987809287,\"lat\":53.872322005655036},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4621\"],\"cd_name_en\":[\"Division No. 21\"],\"csd_code\":[\"4621043\"],\"csd_name_en\":[\"Opaskwayak Cree Nation 21E\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 21\",\"csd_name_fr\":\"Opaskwayak Cree Nation 21E\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.7946345372472,55.78129634604592],[-97.81148799086628,55.79228956878194],[-97.83855601728627,55.77615249904847],[-97.85873351365805,55.759169917765284],[-97.891815829514,55.75446227155779],[-97.89876583828703,55.74413474482404],[-97.88863014281311,55.733496177862435],[-97.86869490432663,55.72568830964779],[-97.82690027676216,55.7443523497467],[-97.83214597888119,55.75039461793289],[-97.80426002712566,55.7683603387293],[-97.7946345372472,55.78129634604592]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.84656648148946,\"lat\":55.756194443649896},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4622\"],\"cd_name_en\":[\"Division No. 22\"],\"csd_code\":[\"4622026\"],\"csd_name_en\":[\"Thompson\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 22\",\"csd_name_fr\":\"Thompson\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-96.17217221382664,56.339577062625544],[-96.49999999686432,56.34184701278319],[-96.90501614163882,56.34139699524405],[-97.24350911278238,56.33846317055167],[-97.60398086570493,56.33670116925761],[-98.00020331365346,56.33345490692782],[-98.42818270733756,56.3325079335385],[-98.5234643976534,56.33100538093859],[-98.7572318037767,56.333612945496036],[-99.02935154913204,56.33358935126727],[-99.02574025096732,56.09468734825166],[-99.02660596037342,56.000152898295354],[-99.02537191290189,55.88713110956485],[-99.02727339715544,55.80597370910415],[-99.01063765021824,55.80627806598473],[-99.01719346015832,55.62550629662777],[-99.01756954714105,55.5001206623428],[-99.01916655398244,55.445408206735046],[-99.00000001061616,55.44529192811936],[-98.99999999634116,55.10116094414976],[-98.98538677609689,55.100769943592375],[-98.98627694830412,54.993382000169255],[-98.98831048708841,54.750012665705086],[-98.97149963046712,54.75002871454511],[-98.98242498871923,54.695010008426124],[-98.98233034236719,54.56358425181954],[-98.97712267831673,54.415208546355],[-98.96340317804336,54.41528715886139],[-98.96102420321273,54.25011553831238],[-98.96170945778843,54.06830685357316],[-98.9497250625765,54.06680218527335],[-98.94986976320104,53.88225733023866],[-98.94947045447596,53.74585571093073],[-98.92515014472434,53.765500857232844],[-98.88704356695807,53.78318664387893],[-98.84364416948492,53.79794774088284],[-98.7726686435312,53.81727575659569],[-98.72119395286275,53.82795234011014],[-98.63391833776669,53.84124723909922],[-98.53967384747813,53.85060255696445],[-98.48546633655378,53.8529229510254],[-98.42126655686859,53.8523889377731],[-98.36814196491731,53.84837984564408],[-98.30299074064021,53.83684354596148],[-98.26746995226165,53.82740713223132],[-98.18020603873056,53.797932038736754],[-98.1127901374741,53.766849533903695],[-98.07531373099158,53.7520287334072],[-98.05399363448292,53.736874245664815],[-98.03322483355717,53.712654842291265],[-98.02364312153686,53.680151743478795],[-98.0168659042809,53.67528030866771],[-97.9667019366645,53.66163266328537],[-97.92487434971937,53.647615185040046],[-97.83521780387638,53.61364116311398],[-97.79687364503346,53.587903833354495],[-97.77654736085256,53.565063848986696],[-97.76389246113499,53.562132037528215],[-97.73209923289916,53.54072385527828],[-97.71452497141911,53.52331195283766],[-97.70506986901519,53.50000004583651],[-97.711724652583,53.48997484868877],[-97.69817516844789,53.48393694485991],[-97.67356864942761,53.464052452614766],[-97.67460804542426,53.445814037584505],[-97.68234343707223,53.434756434864426],[-97.68167186622863,53.41248223609738],[-97.6548497347859,53.39310165282715],[-97.62285667442391,53.37920426433463],[-97.38450804166524,53.37916241678645],[-97.00000000351746,53.377969142067144],[-96.63908956602096,53.377593755738424],[-96.3360342059228,53.37598462980329],[-96.00000001908558,53.3724064232836],[-95.84799792982962,53.37097644751713],[-95.52339548131725,53.37452703461782],[-95.22959473409637,53.37597663371647],[-95.14564452533192,53.378133577541924],[-94.96267173669524,53.37783456777977],[-94.64889461259281,53.37828129769871],[-94.26973452483203,53.37721974765052],[-93.95844503022923,53.55369426572354],[-93.7376839914978,53.68517876797151],[-93.62955353161752,53.75020269539179],[-93.52052361533961,53.831454011420604],[-93.32920118558329,53.969712106440085],[-93.13997976453948,54.111212193763244],[-92.92764273497808,54.26361688256185],[-92.65857365416521,54.45337888148336],[-92.38382950026589,54.64232109622825],[-92.18869236422617,54.774903598528816],[-91.99997009144782,54.906002706542374],[-91.87006061915827,54.999840752742344],[-91.7475651937864,55.085118683011004],[-91.64779319163773,55.15848486054443],[-91.79088267055015,55.158672586399035],[-92.19742073712584,55.16542317841075],[-92.36009058148503,55.16883037014627],[-92.83342752254174,55.17333849187249],[-93.17576305280988,55.17600948885785],[-93.68014483647505,55.178216369911354],[-93.92636661812826,55.178541500347485],[-94.43924160704759,55.17788774244395],[-94.75750866384837,55.17711095425726],[-95.0001007393947,55.17590669445206],[-95.0001015078128,55.460125700679086],[-95.00010237217528,55.76465297948572],[-95.00010305763114,56.012916698927356],[-95.0001037664319,56.25000012059087],[-95.0001039822768,56.33499942372548],[-95.49999997877305,56.33884999176732],[-96.08685307666616,56.33970340344932],[-96.0796016092461,56.285463387167724],[-96.08538151107166,56.26533196270125],[-96.0591368867839,56.258207758744376],[-96.00011412916032,56.27945797311224],[-95.99904383160312,56.24342296975378],[-96.07952074384842,56.24369725343345],[-96.08659098681152,56.2405598737191],[-96.13094188133705,56.24037097653024],[-96.18870734315603,56.24529358745419],[-96.189467042681,56.23597573132123],[-96.2105841154556,56.21948304983391],[-96.18377714940081,56.213722448673835],[-96.18465794471302,56.199160347133414],[-96.22051102745344,56.19956284539815],[-96.2237715237837,56.23978503621224],[-96.3970366815876,56.23532579754636],[-96.40894491054331,56.217197633587695],[-96.41622395205698,56.19020563981776],[-96.45385550105902,56.17143002546126],[-96.49672094991242,56.175466232465936],[-96.48136751726392,56.191340739779086],[-96.503792511714,56.2017173368329],[-96.50547561370097,56.21186955113869],[-96.48286003583054,56.216398950249065],[-96.47860983313254,56.206169458276634],[-96.44253322336364,56.207870954859246],[-96.43719085188172,56.19638683873512],[-96.41588381786936,56.19982124649263],[-96.4101969187768,56.2175218433867],[-96.43247231857133,56.22309383622035],[-96.40409833134629,56.23454835489972],[-96.36915474583694,56.242915850059525],[-96.3319924362043,56.26332833619533],[-96.24931654043418,56.29114134689372],[-96.19295193319691,56.305674435072575],[-96.18122094265925,56.303142141442926],[-96.14516832136273,56.319175854723944],[-96.1383608314255,56.3325510453571],[-96.1463611824046,56.33962198970968],[-96.15666128593165,56.33960470893329],[-96.17217221382664,56.339577062625544]],[[-94.06051283360807,54.84100876605],[-94.03726891213027,54.83736340130345],[-94.00242857263795,54.84081054223885],[-94.00210814851994,54.83771323135163],[-94.03839372003615,54.83350483140754],[-94.06051283360807,54.84100876605]],[[-97.74070422577103,54.61078243442876],[-97.74061428002085,54.5887867230254],[-97.76458105573121,54.58831953075733],[-97.76452696642508,54.59920733976384],[-97.74070422577103,54.61078243442876]],[[-97.83563433306531,53.95724695062758],[-97.83185782516139,53.96507941575789],[-97.80030769153892,53.983292594463194],[-97.7932942692975,53.97566735200784],[-97.83563433306531,53.95724695062758]],[[-94.9021543213028,53.971651151006704],[-94.87623709816121,53.976733725846806],[-94.86356294686861,53.967800741636424],[-94.83373516004072,53.96291833994844],[-94.83881444758929,53.95588442947429],[-94.9021543213028,53.971651151006704]],[[-94.46151253789441,54.57014513025109],[-94.44463550890619,54.567528751683255],[-94.44802394760539,54.538292742781934],[-94.4720156401776,54.54794185112844],[-94.45935266100953,54.55776186004208],[-94.46151253789441,54.57014513025109]],[[-96.15424533417243,56.07647375487101],[-96.12971331767676,56.080786442712636],[-96.09036204155414,56.07795783376522],[-96.16026646176103,56.06679452607141],[-96.15424533417243,56.07647375487101]],[[-96.1623204140731,56.09797672626319],[-96.07290249731143,56.0977186872586],[-96.07112852585827,56.083303188791774],[-96.08132084981499,56.0791273340281],[-96.12146514620977,56.090946944148364],[-96.1623204140731,56.09797672626319]],[[-97.76354343357266,54.640069709164635],[-97.78218664294938,54.64812413186315],[-97.74450743421035,54.67462863119602],[-97.74520009731145,54.647702232809976],[-97.73771910112958,54.62141854131532],[-97.76406467586213,54.611388394757384],[-97.76354343357266,54.640069709164635]],[[-95.56740250869693,56.0745988679307],[-95.56723262216039,56.058187142681746],[-95.61386787887456,56.04891440407334],[-95.63687126348636,56.053881639194586],[-95.62075662291745,56.06541965160146],[-95.62265166609924,56.08243035428883],[-95.60284325851491,56.089944273953535],[-95.58109201083967,56.08498044409051],[-95.56740250869693,56.0745988679307]],[[-98.90491176579863,55.82505835498911],[-98.86165711957248,55.82614403849489],[-98.84226654117035,55.801165757172996],[-98.85624474592663,55.79099405477849],[-98.87625195875567,55.79034475600095],[-98.88433144603418,55.78192441846891],[-98.9049467633583,55.78247174876288],[-98.90771764597032,55.79396365005981],[-98.9255285478947,55.818038542868294],[-98.90491176579863,55.82505835498911]],[[-97.79544213432112,54.59428374813837],[-97.82376663323593,54.587953038861215],[-97.85262762444026,54.59480453847424],[-97.88063125051113,54.59679074838898],[-97.85585855482823,54.62514875024724],[-97.82038616423046,54.64276143439385],[-97.78836415738051,54.62729033668175],[-97.78057249628175,54.609063040272375],[-97.79544213432112,54.59428374813837]],[[-93.57185333794585,54.172864772161404],[-93.59834361713459,54.17623489998326],[-93.62788861989068,54.16908336881712],[-93.63808584637552,54.179656124962825],[-93.63931692067217,54.199315177807684],[-93.62781274728562,54.20101194310795],[-93.62504518541586,54.181871142856615],[-93.59750465506316,54.187654830974374],[-93.57158571584797,54.1842062343549],[-93.53501515593013,54.17415734548555],[-93.53308128102672,54.1723715796705],[-93.52852248380324,54.16677745840223],[-93.46973503701042,54.15088917251654],[-93.4406650573645,54.151267066265895],[-93.42255907433052,54.137937831872705],[-93.42245562180746,54.113709193494195],[-93.4775673303479,54.13984529676113],[-93.51464447414332,54.14378561129911],[-93.53135894327879,54.15899003161178],[-93.54280192052178,54.166955988922666],[-93.54302095268037,54.169932215088906],[-93.57185333794585,54.172864772161404]],[[-94.53053092066554,54.53172672729849],[-94.55685722825656,54.53569633210388],[-94.57443162353728,54.52836683991807],[-94.57688671952178,54.5185718475234],[-94.60826922595143,54.51234163582238],[-94.65048551573442,54.5127042395512],[-94.66833113318592,54.52266474356472],[-94.71339545834256,54.51213734399865],[-94.73044456124018,54.49026348376405],[-94.76855014271283,54.49062957017622],[-94.7681389212629,54.51493063174004],[-94.73323539588351,54.524797343462474],[-94.61344162664396,54.524386094714075],[-94.61884715776331,54.550909943361894],[-94.52035139107949,54.550862934476044],[-94.53053092066554,54.53172672729849]],[[-95.27992815427444,54.95347273056559],[-95.28341449286417,54.98012624575806],[-95.2611030620043,54.98099934291101],[-95.26163868349374,54.99254059124464],[-95.23552774681376,54.99262336089063],[-95.2671565520347,54.96687122783883],[-95.24405915660276,54.95393313138343],[-95.27045304560735,54.93489334128104],[-95.27130288237987,54.90587006503835],[-95.34656851532506,54.90666773455195],[-95.3493354976891,54.88261504583231],[-95.3479489392142,54.845889297779365],[-95.36591905332133,54.83819143529661],[-95.38697532889289,54.84842585327363],[-95.41411412819929,54.851063943832145],[-95.39677182580499,54.87276634001356],[-95.40972443430651,54.88983654304449],[-95.4285985391092,54.89461654829343],[-95.40050405942866,54.90929554821679],[-95.36201134562705,54.90345995242197],[-95.31798505646685,54.921117031195834],[-95.3193942286603,54.931448630290966],[-95.29391983253228,54.93275522908824],[-95.25989418723601,54.95102603532038],[-95.27992815427444,54.95347273056559]],[[-97.66209052590904,54.1375392409615],[-97.64618989578231,54.13993672051476],[-97.64634480775365,54.12115885213622],[-97.65523211946783,54.107453940462456],[-97.68012674788207,54.10713329861531],[-97.6800331571309,54.09666257859352],[-97.69886318572146,54.09613744657765],[-97.69811343331999,54.02214424571358],[-97.71579942161404,54.021639617470335],[-97.7149820755032,54.008112487375804],[-97.74356673856857,54.00758779977219],[-97.74187528478076,53.944374825408055],[-97.78474306089728,53.9431093657818],[-97.78359007308264,53.92243407374999],[-97.83139399978155,53.92203638735628],[-97.83726245824583,53.91344720234377],[-97.87012547127367,53.91300979696391],[-97.87801573858968,53.92919144482663],[-97.86679254683254,53.939619738135434],[-97.79023945412438,53.97546303178383],[-97.76048504563897,54.00332653571049],[-97.75792086122935,54.02224453159011],[-97.72787706301467,54.029929039598386],[-97.72229424194164,54.039432434659574],[-97.72827306124499,54.053682447423064],[-97.74520106057926,54.06856953171494],[-97.74718612512963,54.078659932747954],[-97.71689324235314,54.09747633048011],[-97.68361783036079,54.112462745099904],[-97.66209052590904,54.1375392409615]],[[-94.86055394474904,53.806429146522845],[-94.8571661251205,53.784669932146166],[-94.84175824874035,53.75731754987412],[-94.82100075914434,53.77213684583191],[-94.8115390409777,53.76600453797531],[-94.8105799339566,53.7514524446887],[-94.82728764921298,53.7453192457777],[-94.82104195974041,53.72779293992904],[-94.84642732477087,53.72663653139097],[-94.86109302751365,53.714654147355674],[-94.86387584587608,53.69820173916006],[-94.88648476880968,53.67181118543224],[-94.90200431166997,53.68823529992533],[-94.92336114375247,53.692349626795504],[-94.96206012257062,53.623786409085625],[-94.98674477814899,53.634197706336046],[-95.02486649282075,53.63543934223228],[-95.08160843342954,53.6020465228097],[-95.10634063560764,53.61276601880736],[-95.06715003424401,53.622239636674976],[-95.02854622480002,53.63996883399195],[-94.97341045611654,53.652097149269586],[-94.96331993031524,53.68214614821481],[-94.9432647515714,53.70854093424147],[-94.95423603848383,53.71897854632528],[-94.9277584280829,53.72435813477747],[-94.90697542230338,53.73935703080858],[-94.89058074262147,53.76506443093718],[-94.89815203492785,53.768367231770526],[-94.8806870541694,53.79995322888309],[-94.86405493329805,53.80647925077179],[-94.8653759457616,53.829560636245844],[-94.84765234672147,53.83109814748652],[-94.84619233102953,53.81447992545917],[-94.86055394474904,53.806429146522845]],[[-94.49371584929985,53.96687421269404],[-94.47455812710163,53.96504930977896],[-94.4979158884405,53.93265196763536],[-94.50684270017878,53.9271669630047],[-94.53927013422516,53.886754868341995],[-94.56801520458177,53.87687857205333],[-94.57962580709749,53.85604320112256],[-94.57921192707153,53.84420800170568],[-94.52925509059313,53.82879610556933],[-94.52245583575572,53.81540073459957],[-94.56292594886582,53.824447134799755],[-94.59354792066664,53.835322534768615],[-94.6128510511004,53.84651442738633],[-94.65527575478417,53.863970544707726],[-94.66440353422756,53.88492774178741],[-94.69501272062827,53.90131853273343],[-94.70539436190298,53.91237863258867],[-94.68815414573608,53.91725233002396],[-94.64082045783827,53.92341524754086],[-94.63482321778973,53.92916672829089],[-94.58769783383494,53.940960448748974],[-94.5423182439659,53.949362143417595],[-94.55000635957009,53.95767814286106],[-94.52365446145186,53.96209504172982],[-94.4998528530397,53.95833403714839],[-94.49371584929985,53.96687421269404]],[[-94.99060341098638,53.841011978399195],[-94.98598514800496,53.83320463954652],[-94.94013423721694,53.82971955016081],[-94.91381393615801,53.83931554799981],[-94.88762485874753,53.8418569493077],[-94.88709142730292,53.82926603613989],[-94.8713811329262,53.820036428599664],[-94.87611734303482,53.81086683991438],[-94.89408912933483,53.8104751428548],[-94.89461253199599,53.788821232377856],[-94.91250553868464,53.78459232706989],[-94.92092792726015,53.77444783667026],[-94.91885483163163,53.75670982947412],[-94.93812733480036,53.75494265057579],[-94.94522934532228,53.73104381729365],[-94.97350542526625,53.71380074136341],[-94.96111624619616,53.7022878345726],[-95.0014909584394,53.6805005383571],[-95.02907422112817,53.68752392933394],[-95.06577413603846,53.678381344959234],[-95.09332803859019,53.69026176263283],[-94.97381497120045,53.70217384074311],[-94.98113646795832,53.7121798271115],[-94.9619070234131,53.722118438277874],[-95.00230258911452,53.7348961411652],[-94.99299993867028,53.746178024788904],[-94.95974399741297,53.74044144754833],[-94.94899693833737,53.76983663639546],[-94.96030575428132,53.78555184897786],[-94.98814473317553,53.78818763769219],[-95.00263702525196,53.80233834414363],[-95.01962490333923,53.807681122974216],[-95.0215405406214,53.866407983239654],[-94.99141702487263,53.86788357541382],[-94.99330615082607,53.923510385502375],[-94.96195454957505,53.96936894705187],[-94.91408652376332,53.97006302912341],[-94.87681904314252,53.964145147607006],[-94.81991665679304,53.944201133148255],[-94.82842603747476,53.9249365268972],[-94.84388083802793,53.92548063112484],[-94.88038314120335,53.94904333751702],[-94.89810944211955,53.94370063911647],[-94.92343362642977,53.944379139443846],[-94.94228152921437,53.90881193580939],[-94.90466254217428,53.886933537309645],[-94.91075972307593,53.870840637189865],[-94.93011552676255,53.872617233666126],[-94.95831875048178,53.853804446491935],[-94.98366225458318,53.8508895484874],[-94.99060341098638,53.841011978399195]],[[-97.49999998270185,55.984146962068856],[-97.22498670919916,55.98273274658044],[-97.22139619683949,55.97462030041835],[-97.27608495392826,55.96025924389533],[-97.29310335966781,55.959434207827876],[-97.37494627132608,55.937263775980036],[-97.41692298515285,55.931749098943115],[-97.45019151506825,55.92042006351557],[-97.45499720906345,55.650305445504415],[-97.45405283080429,55.54384029103514],[-97.37651473109514,55.54441601515687],[-97.37472915930795,55.42694726854772],[-97.37601434325664,55.416587461218626],[-97.60590745233611,55.41686389037542],[-97.60757855217226,55.45886046563824],[-97.85340720565954,55.45914235548786],[-97.79767564988849,55.50004303113241],[-97.77140583852805,55.52218102114185],[-97.77074246932011,55.562741187501764],[-97.91631320343534,55.56187723650436],[-97.91690454213872,55.53198170006869],[-97.98865160379187,55.53118069832988],[-98.04116299965125,55.500042940679116],[-98.06045136672941,55.498280920663696],[-98.09477621988364,55.51496640997125],[-98.10648208894554,55.5099661907467],[-98.0991944680401,55.488617588653334],[-98.0842647215882,55.48900923520205],[-98.0753841995197,55.45508588194424],[-98.07288432091113,55.39472264710884],[-97.98057820745983,55.39613607470038],[-97.9482160726277,55.40696462249366],[-97.9458397291411,55.415606717428176],[-97.91486300023037,55.42869725626329],[-97.91721059705709,55.28609224085806],[-98.07642252482428,55.28555830048708],[-98.07742479015823,55.19250029242401],[-98.23932695938701,55.189374338093266],[-98.2400599550926,55.10457535615829],[-98.3371429284209,55.10450049862976],[-98.48102731809692,55.105628185562104],[-98.48115708537394,55.123112411425204],[-98.5071227369951,55.123098613478966],[-98.50634889909631,55.105879652956546],[-98.69213453184965,55.10632255008461],[-98.68943240337104,55.27808606836459],[-98.53629867460816,55.278861351205386],[-98.53474573689549,55.448099178011745],[-98.33115970803253,55.44974712332722],[-98.24175327739137,55.45120265533696],[-98.23963796089117,55.62221771702984],[-98.11909516163125,55.62348747439584],[-98.08995353213697,55.642811245206886],[-98.08509885011473,55.65357523529649],[-98.0714416754694,55.7515882337487],[-98.06644742400104,55.800866076081654],[-98.07313589370006,55.80112593598825],[-98.06582799814106,55.86420309342086],[-98.10984678963966,55.89472189809375],[-98.08645824379437,55.8916810990387],[-98.06896686087354,55.9004969998244],[-98.02235866851235,55.910727338518136],[-97.9802318906376,55.92570239372184],[-97.94152295718071,55.922085800124194],[-97.90128451815048,55.93415010025103],[-97.88967987295057,55.95076794492153],[-97.84357522364448,55.95435469173253],[-97.82542514308348,55.95906574126572],[-97.809098009597,55.970552848765344],[-97.8016162645735,55.9851238276453],[-97.49999998270185,55.984146962068856]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-96.09559481219245,\"lat\":54.77733937059989},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4622\"],\"cd_name_en\":[\"Division No. 22\"],\"csd_code\":[\"4622046\"],\"csd_name_en\":[\"Division No. 22\",\"Unorganized\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 22\",\"csd_name_fr\":\"Division No. 22, Unorganized\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-95.5996490307333,56.06679371630852],[-95.59482693699293,56.06932371963335],[-95.59592863351524,56.06908482630002],[-95.5967631030997,56.068903869514465],[-95.5996490307333,56.06679371630852]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-95.59707968585637,\"lat\":56.0683404378734},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4622\"],\"cd_name_en\":[\"Division No. 22\"],\"csd_code\":[\"4622802\"],\"csd_name_en\":[\"Mooseocoot\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 22\",\"csd_name_fr\":\"Mooseocoot\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.88567948198556,49.861574701176714],[-102.89857919338696,49.85075276418979],[-102.86510256558509,49.85051797095488],[-102.86497418065422,49.872242131335916],[-102.8869801958056,49.87226690838836],[-102.88567948198556,49.861574701176714]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.87745515794921,\"lat\":49.86057629495943},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701817\"],\"csd_name_en\":[\"Ocean Man 69H\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Ocean Man 69H\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.83431548534988,49.25392625046087],[-103.83409882441624,49.24150789723176],[-103.81728738097328,49.24155566932479],[-103.81724836931049,49.25408307896599],[-103.83431548534988,49.25392625046087]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.8257254599843,\"lat\":49.24778403271442},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4702\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4702008\"],\"csd_name_en\":[\"Tribune\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Tribune\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.57973065796486,49.16879148538226],[-104.58812381558133,49.166637493895074],[-104.58806658086625,49.16276939322817],[-104.5773118761025,49.165882240409935],[-104.57973065796486,49.16879148538226]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.58334784715765,\"lat\":49.16592926891572},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4702\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4702016\"],\"csd_name_en\":[\"Minton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Minton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.6653086841652,49.52330140512207],[-105.6883578968444,49.52277959076792],[-105.9364604130485,49.52269259819927],[-106.00525009073417,49.5236983999817],[-106.0051953625144,49.451168508667095],[-106.00520019263921,49.34899533385976],[-106.00706287673191,49.321930155284434],[-106.00545455888879,49.26129635714653],[-105.93840770198014,49.26076998552493],[-105.92101026546264,49.25367491323876],[-105.88512804255629,49.216175763858956],[-105.86006800925094,49.220349646359416],[-105.84533092204364,49.24137976820167],[-105.82376159706268,49.260937735863386],[-105.63766101044908,49.26079140244609],[-105.50318638944489,49.26107461966498],[-105.50380869791559,49.348041031589034],[-105.36892475706364,49.347987890409414],[-105.36855984237909,49.38866464120057],[-105.40030456764262,49.41929700915489],[-105.42903970446955,49.43791314843493],[-105.46510382037376,49.448469085171986],[-105.50056083689081,49.447953095920866],[-105.54586955973345,49.46046898894183],[-105.59717544206728,49.459065463544206],[-105.63794192081127,49.4701506653236],[-105.63781506127629,49.52326402265837],[-105.6653086841652,49.52330140512207]],[[-105.63759691174921,49.39543169702916],[-105.62643453242495,49.393858763578784],[-105.62650431524973,49.38796350749981],[-105.63780250590163,49.38628494494887],[-105.63759691174921,49.39543169702916]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.74282136278566,\"lat\":49.3827739458337},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4703\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4703026\"],\"csd_name_en\":[\"Willow Bunch No. 42\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Willow Bunch No. 42\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.14549462188467,49.683508156636194],[-107.1334125300469,49.68346435661899],[-107.13341568785444,49.68916223640708],[-107.14630614616979,49.68988916333489],[-107.14549462188467,49.683508156636194]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.13977295586437,\"lat\":49.68654027523938},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4703\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4703052\"],\"csd_name_en\":[\"Hazenmore\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Hazenmore\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.82386779899143,50.04772099445982],[-107.2328615899629,50.047766706413555],[-107.23397178205595,49.873093450569925],[-107.22374921857116,49.87308249311772],[-107.22346534880222,49.78613298872522],[-107.20116700468442,49.78565531100227],[-106.8171089853239,49.78540830689131],[-106.81804040003264,49.87287412217089],[-106.82413339968204,49.87286500297933],[-106.82386779899143,50.04772099445982]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.0259790710954,\"lat\":49.91686621327101},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4703\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4703064\"],\"csd_name_en\":[\"Glen Bain No. 105\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Glen Bain No. 105\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.25756561996373,49.52420891728846],[-109.36899550047394,49.523602430381274],[-109.78834740501831,49.523804095126806],[-109.84747111411679,49.522900700542024],[-110.00450303856292,49.523625833014904],[-110.00508541865938,49.24191250753104],[-110.00502263037167,48.99969874080247],[-109.64804203526158,49.00007805237183],[-109.21154663325474,49.00004208072507],[-109.21203300635882,49.17372977572872],[-109.2341082061457,49.17420765627009],[-109.23364303985521,49.261487754076136],[-109.23096159972741,49.26255214290927],[-109.12241209222155,49.262263143593636],[-109.12079601675337,49.296565016519025],[-109.1223591860171,49.36428356329685],[-109.12230216971865,49.50956203438321],[-109.16717852994576,49.50940845596794],[-109.16738500078905,49.52502800648094],[-109.25756561996373,49.52420891728846]],[[-109.51588258306066,49.29077269837279],[-109.52572940123778,49.290781789619075],[-109.52580628893229,49.29806033362098],[-109.51386324566774,49.29816592976861],[-109.51588258306066,49.29077269837279]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.58693261806187,\"lat\":49.268678259486734},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4704\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"4704019\"],\"csd_name_en\":[\"Reno No. 51\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Reno No. 51\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.92762948637157,50.40303555920667],[-102.92276565405717,50.41856017976837],[-102.94575028219809,50.41880117643188],[-102.94573571155097,50.404170593539554],[-102.92762948637157,50.40303555920667]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.93530454151319,\"lat\":50.411425875997594},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705029\"],\"csd_name_en\":[\"Grenfell\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Grenfell\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.57908900279214,50.3677671941588],[-102.56826578093127,50.382880277800034],[-102.59187109257289,50.38551599965117],[-102.57908900279214,50.3677671941588]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.57974195876544,\"lat\":50.37872115720334},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705031\"],\"csd_name_en\":[\"Broadview\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Broadview\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.8470575136461,50.5326448182218],[-101.87353518520219,50.53548283261166],[-101.93459126079902,50.51751864108209],[-101.97482425852382,50.535157538581295],[-101.99331986033216,50.548093147093155],[-102.0056901810964,50.5464133844218],[-102.00662865566487,50.48396561131773],[-102.00543378898426,50.397509661816116],[-102.00571140357664,50.32515893314252],[-101.98429341208413,50.32604180593955],[-101.75401051128233,50.32797738589929],[-101.47706680064991,50.32889480609175],[-101.47612417597878,50.43889132621828],[-101.47690022207735,50.4853637674369],[-101.48845964991841,50.49013567557173],[-101.56531557530971,50.49076793563268],[-101.59066427941141,50.496741948400114],[-101.60487526379661,50.5074137500248],[-101.63337055800307,50.51959543889269],[-101.68826125011704,50.51888973404091],[-101.70643826152346,50.51526503974954],[-101.75614087615848,50.482343952312696],[-101.78669188376934,50.47710633352644],[-101.81273367351893,50.48758715263636],[-101.80520735562733,50.50340433781697],[-101.82617377528348,50.52988025148042],[-101.8381863735924,50.531991649193984],[-101.8470575136461,50.5326448182218]],[[-101.70780330691163,50.38447478671678],[-101.68460308437263,50.38745071297923],[-101.6846721232129,50.3726918234187],[-101.70780330691163,50.38447478671678]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.75292643279579,\"lat\":50.420274569336904},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705037\"],\"csd_name_en\":[\"Rocanville No. 151\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Rocanville No. 151\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.07317519555014,50.64158613606928],[-102.05236421699766,50.64970219928575],[-102.05228429606085,50.66388018714388],[-102.08717694107054,50.66432781387912],[-102.09906407976347,50.649543691305034],[-102.07317519555014,50.64158613606928]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.07346178473848,\"lat\":50.65421419191008},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705052\"],\"csd_name_en\":[\"Esterhazy\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Esterhazy\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.84249067737038,50.9160166939526],[-102.77263499314738,50.9162467213971],[-102.77279858298301,50.94512909530598],[-102.84255832576147,50.94503680963438],[-102.84249067737038,50.9160166939526]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.80764826383914,\"lat\":50.93060393149672},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705074\"],\"csd_name_en\":[\"Melville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Melville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-102.32641204507934,50.54217874017879],[-102.32602339661129,50.53121518582882],[-102.31044607841316,50.52511694622973],[-102.29258943417629,50.515201572598],[-102.292154143527,50.53410686524059],[-102.3042649320061,50.542534811260126],[-102.32641204507934,50.54217874017879]]],[[[-102.64768550046135,50.40420959256711],[-102.63654317873194,50.418791336597764],[-102.64775841689499,50.4259833103332],[-102.67065993311148,50.418414707291305],[-102.64788646304845,50.41129623128738],[-102.64768550046135,50.40420959256711]]],[[[-102.59071246272708,50.44051990913235],[-102.59068628197336,50.462375482864324],[-102.60203133180235,50.462442016030344],[-102.59071246272708,50.44051990913235]]],[[[-102.49809959905788,50.53437523162416],[-102.51596559143543,50.53503903402297],[-102.54278626573169,50.54975005568817],[-102.58384486760282,50.56335243961462],[-102.60860102248856,50.56764826316828],[-102.60899597412836,50.48391865072271],[-102.49997475317488,50.484286191673824],[-102.49809959905788,50.53437523162416]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.54561666477375,\"lat\":50.5153554605753},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705804\"],\"csd_name_en\":[\"Kahkewistahaw 72\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Kahkewistahaw 72\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.79759108857913,50.63589704738873],[-102.8091834189583,50.63945478888179],[-102.84235687141067,50.638314738156296],[-102.84135629224073,50.59056785547845],[-102.82983939351706,50.568466323152386],[-102.83104790923251,50.484427008890115],[-102.75095973792716,50.48406009118237],[-102.75012834251638,50.60108805509795],[-102.77005190306112,50.595677596764055],[-102.79505539260953,50.611101974569166],[-102.79759108857913,50.63589704738873]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.79590420166096,\"lat\":50.55543589269739},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705805\"],\"csd_name_en\":[\"Sakimay 74\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Sakimay 74\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.26297084842498,50.867599874704915],[-105.23983949910523,50.8628420954589],[-105.23984120373353,50.870274856427116],[-105.26297084842498,50.867599874704915]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.24755051708792,\"lat\":50.86690560886365},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706068\"],\"csd_name_en\":[\"Dilke\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Dilke\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.79837241491991,51.095713399855995],[-105.23987130771815,51.09571310207136],[-105.26366333562,51.096162726412146],[-105.24679730446582,51.05413551318132],[-105.20717863315721,51.00015954443867],[-105.18000261515068,50.974346979635236],[-105.16327873282653,50.94763166208087],[-105.13939727106263,50.92135446516825],[-105.11071361689407,50.89714569447857],[-105.09123829685052,50.85841552138969],[-105.07021856688138,50.83372039508112],[-105.04266498874468,50.79615624590559],[-105.03786157450102,50.79446686334295],[-105.04034908229437,50.80458155529863],[-105.0324372191328,50.80502915714893],[-105.0085400746944,50.8119291580868],[-104.9944116524043,50.809874082184606],[-104.95142170245715,50.79874401972249],[-104.91736638057056,50.798681663949445],[-104.91660593288982,50.80109407117235],[-104.91666084505167,50.812202768745564],[-104.91663774760632,50.92110458783378],[-104.79843081049368,50.921088095355515],[-104.79837241491991,51.095713399855995]],[[-105.095157077758,50.88498023844901],[-105.10076436149164,50.89196558278482],[-105.09542495938064,50.8920192454074],[-105.095157077758,50.88498023844901]],[[-105.15971681296881,50.9630496256255],[-105.1638789781591,50.97296242938127],[-105.15927317210385,50.97185554858165],[-105.15971681296881,50.9630496256255]],[[-104.86339179017575,50.97930121359147],[-104.86818621600042,50.99360614954732],[-104.85727697280616,50.993900998091654],[-104.86339179017575,50.97930121359147]],[[-104.94452497871171,51.05918219775462],[-104.97271437994887,51.05908208387573],[-104.9724751080615,51.080958007710805],[-104.93795176618906,51.08107289664263],[-104.94452497871171,51.05918219775462]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.00567039584071,\"lat\":50.97999952731717},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706071\"],\"csd_name_en\":[\"McKillop No. 220\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"McKillop No. 220\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.0981552787034,50.57238973067228],[-109.32868698812621,50.572307010706695],[-109.717183897515,50.572076956745065],[-109.71723597523687,50.31003354132532],[-109.46505058596775,50.3099863135159],[-109.30394808737445,50.31019860685499],[-109.26932030178773,50.30964444850674],[-109.09856813379879,50.31032287536274],[-109.0981552787034,50.57238973067228]],[[-109.48033376777676,50.469171874817505],[-109.47554046287306,50.46459358735878],[-109.48806198988234,50.46260844473563],[-109.48033376777676,50.469171874817505]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.40771212110023,\"lat\":50.44114244977403},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4708\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4708024\"],\"csd_name_en\":[\"Fox Valley No. 171\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Fox Valley No. 171\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.4630607847318,50.62597570601498],[-108.47469368263391,50.61603748864143],[-108.45160709813743,50.61603818651664],[-108.4630607847318,50.62597570601498]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.46312052183438,\"lat\":50.61935046039102},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4708\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4708032\"],\"csd_name_en\":[\"Cabri\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Cabri\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.93150979152176,51.75551021681375],[-101.93160072735206,51.75733118674043],[-101.93454922950164,51.757215443557975],[-101.93415807104107,51.755416535575726],[-101.93150979152176,51.75551021681375]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.93295523199525,\"lat\":51.75638465641746},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709822\"],\"csd_name_en\":[\"Keeseekoose 66A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Keeseekoose 66A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-104.48439347492891,51.8814467815164],[-104.49708678605077,51.86697124890095],[-104.49215256136307,51.857891157531306],[-104.5062424736036,51.8408324506268],[-104.52742447667936,51.83335474112318],[-104.53221788253887,51.81787684935556],[-104.52175726276388,51.80265143899927],[-104.53091837487759,51.79004343705088],[-104.55689398179557,51.78544661648686],[-104.55710860255994,51.61984547939414],[-104.53832261007216,51.61983634908893],[-104.53795230514967,51.5326546967876],[-104.49031458828252,51.53265839817086],[-104.47959900191135,51.53265254185875],[-104.44441103391426,51.532878433303694],[-104.44441582761057,51.53780872581827],[-104.33745947788056,51.53804701328426],[-104.33692365422908,51.58974658145258],[-104.26769372860484,51.58973206109382],[-104.27039968979385,51.564306155841486],[-104.12883501082767,51.56377098565084],[-104.12877248583442,51.65228579545322],[-104.1320814043548,51.65228889840305],[-104.13239482498095,51.88194288786392],[-104.48439347492891,51.8814467815164]],[[-104.36798060867459,51.64879039953455],[-104.39158350385235,51.64879820176248],[-104.39159089249752,51.633570680182224],[-104.40268280870957,51.63341587516356],[-104.4032898024429,51.65643353035306],[-104.37976711503656,51.663335686242185],[-104.36798060867459,51.64879039953455]],[[-104.36798060867459,51.64879039953455],[-104.3447093363816,51.65617813508177],[-104.34437591322508,51.6779466917043],[-104.30940963158062,51.67070056645092],[-104.30892769889078,51.64145049737977],[-104.32075148738556,51.64145880078376],[-104.34440280716177,51.63421114970069],[-104.35983651975212,51.61334860486739],[-104.38658552210912,51.59738234226833],[-104.38735541223383,51.613707383010045],[-104.36796450315913,51.61980130431129],[-104.36798060867459,51.64879039953455]],[[-104.43160964807527,51.56168053980045],[-104.43101437873204,51.54649485807199],[-104.44432900505872,51.54653871296793],[-104.44440699050834,51.561688005619146],[-104.43160964807527,51.56168053980045]],[[-104.4624389192108,51.72772025356731],[-104.46247168778115,51.73618199427094],[-104.43883769530417,51.73617039019411],[-104.4388329750823,51.72755041862846],[-104.4624389192108,51.72772025356731]],[[-104.4270069941801,51.714368293329066],[-104.41515470183423,51.71448435001733],[-104.4151810207308,51.691240132740596],[-104.43882710084797,51.69095175143578],[-104.43882168713226,51.70706490611065],[-104.4270069941801,51.714368293329066]],[[-104.28623819483575,51.6920449288469],[-104.26497447413175,51.68525688866774],[-104.28495964391671,51.656432862959136],[-104.28623819483575,51.6920449288469]],[[-104.16644842956724,51.77579388193769],[-104.16755468451014,51.75794798727386],[-104.19033200695478,51.7579890958202],[-104.19101474067361,51.77976040892685],[-104.16644842956724,51.77579388193769]]],[[[-104.34451298468596,51.64144530057273],[-104.32075148738556,51.64145880078376],[-104.32302197301881,51.65618145945532],[-104.3447093363816,51.65617813508177],[-104.34451298468596,51.64144530057273]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.34127256407736,\"lat\":51.71587919126681},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710046\"],\"csd_name_en\":[\"Big Quill No. 308\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Big Quill No. 308\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.72208687672934,51.784783737791464],[-104.7105493098103,51.78261010001899],[-104.7039870266063,51.79058364051191],[-104.72204967821155,51.7907403132573],[-104.72208687672934,51.784783737791464]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.71413645866556,\"lat\":51.78735600671173},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710054\"],\"csd_name_en\":[\"Jansen\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Jansen\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.99604059746082,51.30722151007294],[-104.98337291577373,51.30719348443675],[-104.98339898738891,51.314423003172614],[-105.00680119174329,51.31440601153996],[-104.99604059746082,51.30722151007294]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.99266176175088,\"lat\":51.31116967504707},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711004\"],\"csd_name_en\":[\"Govan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Govan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.02222916643188,51.83801732592597],[-105.00555932271556,51.83997460523003],[-105.0052206558192,51.85965927344482],[-105.06156809592105,51.85968740208194],[-105.05239625000054,51.83791308498479],[-105.02222916643188,51.83801732592597]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.0315910348941,\"lat\":51.8493165989359},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711049\"],\"csd_name_en\":[\"Lanigan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Lanigan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.4057164144225,51.82851304763519],[-106.40012349789907,51.82334125758929],[-106.39863590718744,51.83132773476213],[-106.4057164144225,51.82851304763519]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.40149193983633,\"lat\":51.82772734666221},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711064\"],\"csd_name_en\":[\"Shields\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Resort village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Shields\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.97877010477677,52.405992981013284],[-107.00749784829307,52.38207562490897],[-107.02858155164999,52.37307606151571],[-107.06423034931714,52.37125013264045],[-107.08393281627741,52.38364996203618],[-107.11466330188564,52.39006059811407],[-107.14012175732391,52.383329908940105],[-107.15368732932515,52.36891416478392],[-107.17112633455622,52.35911180776892],[-107.19400789512284,52.35298833105525],[-107.23566323323804,52.34916127568176],[-107.29943175939547,52.35158481256308],[-107.29953971884368,52.31856840755068],[-107.28903450979217,52.31859269857019],[-107.28897501876646,52.143835706209536],[-106.86054480816792,52.14388469350687],[-106.86073869890623,51.969193611587144],[-106.79547192579027,51.96899622041213],[-106.43244099583582,51.969140994843166],[-106.43231049738401,52.143803602248234],[-106.43251290137698,52.318394296552455],[-106.44647533847649,52.32676647007991],[-106.42661442817813,52.34885577575973],[-106.40353008314732,52.364197296711936],[-106.40333548713343,52.38165803728944],[-106.38040618821941,52.4030166789092],[-106.34224800015527,52.40491578350328],[-106.34403949751578,52.43505559923614],[-106.5798317199914,52.43476859645986],[-106.67574771579194,52.43477870562844],[-106.67580301086781,52.405601189951035],[-106.97877010477677,52.405992981013284]],[[-106.53130550133274,52.37654169532565],[-106.53599239881801,52.35469715641239],[-106.54649105783356,52.35471480616777],[-106.53130550133274,52.37654169532565]],[[-106.74781871434642,52.3473995840388],[-106.78377713782382,52.332997447880054],[-106.78352789282577,52.347450296043405],[-106.74781871434642,52.3473995840388]],[[-106.95189453643762,52.36947420188025],[-106.93977804413011,52.36212499598173],[-106.9464656862536,52.347854040511315],[-106.97401218271669,52.36196987716566],[-106.95189453643762,52.36947420188025]],[[-106.5768780418284,52.30250983091311],[-106.59223749611374,52.2894215463883],[-106.60385241574514,52.31915900826981],[-106.60384035249521,52.34408103935167],[-106.55573728688593,52.344286866619434],[-106.5654289889019,52.31261641366305],[-106.5768780418284,52.30250983091311]],[[-106.6463860994843,52.31077654882427],[-106.6342707849803,52.30363936569306],[-106.63441258134736,52.28941921300959],[-106.62261168474666,52.28167450137371],[-106.64639048237123,52.27533390837997],[-106.67111365600246,52.28210501079813],[-106.68952195478766,52.28197520033862],[-106.69398189794214,52.30442017833742],[-106.67570005032073,52.3108139234812],[-106.6463860994843,52.31077654882427]],[[-106.67126241695934,52.231213690914686],[-106.67329510838238,52.21089089899031],[-106.6338510781855,52.22298629911285],[-106.61119887039995,52.2231074020819],[-106.59883917204196,52.20785859514493],[-106.57511114529738,52.194463694092036],[-106.53894103319892,52.19454774756633],[-106.50371920774758,52.17291919473758],[-106.50370505246578,52.12265586645225],[-106.50791290702377,52.11468493607406],[-106.52755946539129,52.111539388862894],[-106.53178090462949,52.09547356860881],[-106.51741047236831,52.08614335923346],[-106.56517119111331,52.0862411915995],[-106.59833852687915,52.08957061092608],[-106.60287248008522,52.069526084921115],[-106.64653574154791,52.081472896082296],[-106.64650820506307,52.070997891563],[-106.6703489675748,52.0706295850356],[-106.670418246639,52.08943440040076],[-106.70443616869986,52.092091441654865],[-106.72172233830898,52.085773933855755],[-106.74012311216644,52.09870529385946],[-106.78928894832355,52.099985655914985],[-106.78926847090878,52.121883985758465],[-106.8239604814568,52.122107959882165],[-106.82439136303678,52.150890071269636],[-106.76549133007853,52.15046470047435],[-106.76547897921931,52.15855226959629],[-106.71182861674544,52.158604370863536],[-106.71157190936891,52.172980278725426],[-106.72974830807814,52.17298141071393],[-106.72990341001251,52.184947352149116],[-106.6957871723345,52.18729605628373],[-106.71778579252138,52.21187899405915],[-106.71779337496467,52.22446319700239],[-106.70649848575812,52.231216669519306],[-106.67126241695934,52.231213690914686]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.80068689862442,\"lat\":52.22914064780318},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711065\"],\"csd_name_en\":[\"Corman Park No. 344\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Corman Park No. 344\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.74781871434642,52.3473995840388],[-106.78352789282577,52.347450296043405],[-106.78377713782382,52.332997447880054],[-106.74781871434642,52.3473995840388]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.77170791499867,\"lat\":52.34261577598742},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711073\"],\"csd_name_en\":[\"Dalmeny\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Dalmeny\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.73083911429926,52.4998094969756],[-107.74492271391776,52.50776765863311],[-107.78879507394656,52.52067780795685],[-107.81716721936516,52.536824022533615],[-107.82969416582164,52.550860595137905],[-107.85149950123166,52.563165095250326],[-107.91396894233405,52.572136536233145],[-107.95190688711718,52.57462561662278],[-107.98798458104676,52.57097634192173],[-108.0188468621219,52.57582802653702],[-108.01916390596938,52.496455909185215],[-108.05676952044098,52.49295806850317],[-108.05659898085425,52.42696736330833],[-108.16250695969073,52.42832681254004],[-108.16232090657851,52.40595548488124],[-108.16246849343817,52.31841929535694],[-108.14516588482635,52.31842471232005],[-108.1453784990629,52.23097869627444],[-107.71474369095444,52.23089058779661],[-107.71732501336709,52.23454530423075],[-107.71740740384234,52.318295886420806],[-107.73106655077011,52.31830081305566],[-107.7320572552256,52.43471581928891],[-107.73083911429926,52.4998094969756]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.92742266960602,\"lat\":52.37991873315962},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4712\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4712069\"],\"csd_name_en\":[\"Glenside No. 377\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Glenside No. 377\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.12282058632309,51.93233071555752],[-109.15864159873578,51.925427800789585],[-109.15807980491648,51.91085500432135],[-109.13479331617886,51.9105927973908],[-109.12288082827158,51.903112119331574],[-109.12282058632309,51.93233071555752]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.13863060865388,\"lat\":51.91915545829402},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713042\"],\"csd_name_en\":[\"Kerrobert\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Kerrobert\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.1818421728158,52.45664096394419],[-109.18253145798656,52.42806037465432],[-109.1342855603567,52.427530392085615],[-109.13371761839265,52.4521515756197],[-109.1818421728158,52.45664096394419]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.15869212768689,\"lat\":52.44112569111085},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713074\"],\"csd_name_en\":[\"Unity\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Unity\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.61229755525078,52.26727041192331],[-103.61142658033911,52.24434661398813],[-103.62467499656707,52.23138299042784],[-103.64844019010361,52.23140579301589],[-103.648464697378,52.26048359695333],[-103.67141571457638,52.245566963395554],[-103.68451391582228,52.23164259436643],[-103.72005861613474,52.23143998836796],[-103.7199516990664,52.14399020731742],[-103.29139728325711,52.14381049807859],[-103.29141983038794,52.31882588835847],[-103.30310473623724,52.31883413493177],[-103.3066247008669,52.405710400501206],[-103.44643439485029,52.40569750550727],[-103.44636068225672,52.49265894182094],[-103.5341518070467,52.49312270793353],[-103.73463286398203,52.49247997077561],[-103.7346320115786,52.40567229274379],[-103.70055938535563,52.40565688306684],[-103.71621285371413,52.39192054172837],[-103.71137196835559,52.371831154912286],[-103.71725856603275,52.363412749466775],[-103.7142678892953,52.346005351506534],[-103.72133378538487,52.337588341298584],[-103.69897027223102,52.31855420416596],[-103.68517457467449,52.303506636274335],[-103.69386145114643,52.31860514394617],[-103.68059254802994,52.324283738371435],[-103.69667467757282,52.34154185868734],[-103.68120018011278,52.3825959563569],[-103.69656958143871,52.413661043430366],[-103.68830441108213,52.42320989217608],[-103.6266802826852,52.42324087499743],[-103.62712485313118,52.31977584734725],[-103.61038639817207,52.3125726391061],[-103.61023777824192,52.30003624167514],[-103.63537312907656,52.30006435514058],[-103.63496174440475,52.26048148280966],[-103.61229755525078,52.26727041192331]],[[-103.53552878802199,52.17309832068558],[-103.51571003314126,52.17529285696832],[-103.51571731831172,52.155951274768704],[-103.53596479777185,52.15855596415577],[-103.53552878802199,52.17309832068558]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.50520694867569,\"lat\":52.304726782784094},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714021\"],\"csd_name_en\":[\"Kelvington No. 366\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Kelvington No. 366\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.99451549097924,53.37777962795149],[-104.03857636909206,53.36559040092245],[-104.0244570556227,53.34758350184871],[-104.00000509055327,53.34735478697328],[-103.99451549097924,53.37777962795149]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.01358227820643,\"lat\":53.361003297659664},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714076\"],\"csd_name_en\":[\"Nipawin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Nipawin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.30637957859217,53.75574194215311],[-105.27861851565905,53.74384199677832],[-105.26645290677301,53.72942996320668],[-105.26646326718868,53.714975986937326],[-105.24792218386425,53.71482316953012],[-105.20855017963513,53.72290640171275],[-105.13707621298899,53.75944809667208],[-105.13421801370397,53.77643009811567],[-105.1413308965269,53.80201196968384],[-105.27807730500876,53.801741722093546],[-105.27830152407644,53.860473261993356],[-105.42712770927459,53.86052475033036],[-105.42728954128476,53.802210338989504],[-105.35303287596861,53.802109023995094],[-105.34052993036816,53.787572135968865],[-105.34030300516538,53.77310490994463],[-105.31547330266174,53.77289135748954],[-105.30637957859217,53.75574194215311]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.28182381757419,\"lat\":53.7940174750407},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715070\"],\"csd_name_en\":[\"Candle Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Resort village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Candle Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.00421289425267,52.65623652880836],[-108.00594913205964,52.65895704581455],[-108.01843220574997,52.660959984746356],[-108.01845988117779,52.65816380463639],[-108.00579941868433,52.65442086262333],[-108.00421289425267,52.65623652880836]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.01119484129634,\"lat\":52.657899666910154},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716002\"],\"csd_name_en\":[\"Denholm\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Denholm\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.77856090593215,52.929493385327305],[-106.77851641568236,52.92223859904495],[-106.80264490399327,52.92222549078855],[-106.8026270338541,52.92917424033438],[-107.02035891218355,52.92953810841811],[-107.02010191950194,52.667663696027354],[-107.01136450500447,52.6676177087453],[-107.0126376111055,52.609296310294006],[-107.01165968944986,52.5804283985177],[-106.88127063276036,52.580297100648174],[-106.88069239718713,52.60314333671468],[-106.84588077791737,52.640054751980294],[-106.83537600462195,52.67263092542043],[-106.79023110485946,52.688318863440685],[-106.77285942859619,52.69789287973547],[-106.75572427388626,52.71898516262033],[-106.71916373687043,52.742576380343365],[-106.69206061045976,52.765680209106634],[-106.68597445672935,52.77655699575235],[-106.65390893916,52.78637471928451],[-106.62885839459013,52.80566425402449],[-106.60730408550751,52.814318981120834],[-106.58415763616827,52.83430889119295],[-106.56871864773963,52.86228864420557],[-106.49220124219569,52.88984552746822],[-106.46590461463637,52.913560239903276],[-106.4386286861391,52.93012083447972],[-106.44952200320569,52.92978030495955],[-106.47090798883137,52.92947529579461],[-106.77856090593215,52.929493385327305]],[[-106.64571218213212,52.90034494015999],[-106.6454692105266,52.90798764735633],[-106.58510354413859,52.907252445163806],[-106.5848864550733,52.89355723561057],[-106.59625071539327,52.90022450272775],[-106.64571218213212,52.90034494015999]],[[-106.5848864550733,52.89355723561057],[-106.56097203704833,52.90033151831613],[-106.5238670745155,52.90067368935607],[-106.5455148832175,52.88623670676281],[-106.54490422386702,52.873255933774814],[-106.57348397093341,52.87190668853158],[-106.58465192403051,52.882046955069335],[-106.5848864550733,52.89355723561057]],[[-106.87593780250121,52.82508550303003],[-106.88677867456434,52.81948020901536],[-106.88903328711544,52.83446572107845],[-106.87777975664511,52.834817077482796],[-106.87593780250121,52.82508550303003]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.8311783085563,\"lat\":52.796276899915675},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716013\"],\"csd_name_en\":[\"Blaine Lake No. 434\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Blaine Lake No. 434\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.99948003471762,53.19225811216108],[-107.00305417866575,53.18729467289493],[-107.02566488056914,53.19236887634257],[-107.13192264467271,53.19238326193796],[-107.14765228878298,53.19232608910266],[-107.17192264858005,53.19230768401914],[-107.17192957234943,53.01729675916485],[-107.16429380617886,53.01729734634364],[-107.16445911487142,52.98769087913898],[-107.16787929270828,52.929373896323206],[-107.02035891218355,52.92953810841811],[-106.8026270338541,52.92917424033438],[-106.77856090593215,52.929493385327305],[-106.47090798883137,52.92947529579461],[-106.44952200320569,52.92978030495955],[-106.4386286861391,52.93012083447972],[-106.4267481127233,52.964793801382854],[-106.40002314495922,53.01015759309098],[-106.38417137654838,53.032051038904946],[-106.31083021736096,53.07584303907361],[-106.2897764205914,53.085244789614],[-106.26814494607794,53.10353550676708],[-106.41796172815229,53.10267693067076],[-106.44279849529453,53.106710901120046],[-106.44233221807409,53.191393394783205],[-106.72322442655545,53.19189540969744],[-106.72399508913489,53.104336397543925],[-106.86748670576512,53.10461417196794],[-106.86854608216849,53.19186220697962],[-106.99948003471762,53.19225811216108]],[[-106.92932860075467,53.040350540799224],[-106.9060930767131,53.03553691737643],[-106.85435699403256,53.034938818757894],[-106.85100667883162,53.01699959942541],[-106.85277553991641,52.934176918029735],[-106.89936273108023,52.93407758045537],[-106.95134657179632,52.93643889432143],[-106.95198789862377,52.989589528225736],[-106.95980827450964,52.98918904408999],[-106.95957349464955,53.01764170999952],[-106.95130962205646,53.01749174291723],[-106.95084369618648,53.03562102651836],[-106.92938319620208,53.03561851073647],[-106.92932860075467,53.040350540799224]],[[-106.74751878139134,53.02429956910746],[-106.7352791835811,53.0242740064981],[-106.73534577837111,53.01701768969409],[-106.74748098218343,53.01699265311871],[-106.74751878139134,53.02429956910746]],[[-106.5289572892531,53.17014087696575],[-106.52774391590214,53.162437292573365],[-106.53991162713578,53.165007295316066],[-106.5289572892531,53.17014087696575]],[[-106.60909071933636,52.96281985322526],[-106.6444620349575,52.95854752637618],[-106.64411292187965,52.96550691966379],[-106.60909071933636,52.96281985322526]],[[-106.47705150096337,52.9731279976297],[-106.45110522005248,52.97991793101985],[-106.44022712016317,52.97347970213953],[-106.43904581068118,52.959317769885416],[-106.46365200333794,52.95887112346747],[-106.47705150096337,52.9731279976297]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.7766313856065,\"lat\":53.05903072395632},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716041\"],\"csd_name_en\":[\"Leask No. 464\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Leask No. 464\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.20006910739473,53.62155119770814],[-109.18858868718641,53.63518361418217],[-109.21239160376435,53.63806189917934],[-109.20006910739473,53.62155119770814]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.20034979944849,\"lat\":53.63159890368989},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717036\"],\"csd_name_en\":[\"St. Walburg\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"St. Walburg\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.66237089824999,55.11443922798896],[-107.60557029096451,55.11093264349507],[-107.60545590573612,55.096429423752404],[-107.52702492317538,55.09723060594151],[-107.5280752279739,55.10926321187314],[-107.54287089628387,55.110846700179806],[-107.54022837109332,55.1971907689438],[-107.55785457924873,55.197261083436096],[-107.5580157944063,55.28564429302194],[-107.63559277616883,55.28507857058685],[-107.63543099168953,55.27103135246028],[-107.64412701559392,55.242285729415805],[-107.6358652588395,55.233199531583416],[-107.6133769821167,55.22468979521371],[-107.6146588585699,55.21197735141537],[-107.59624668392934,55.180746745068014],[-107.60535407175547,55.16729355416283],[-107.60183335336482,55.14771514875722],[-107.60675038645795,55.13592065735942],[-107.66237089824999,55.11443922798896]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.58517682592098,\"lat\":55.19047248930537},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718807\"],\"csd_name_en\":[\"La Plonge 192\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"La Plonge 192\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.37472528757797,51.63836828576629],[-112.37903467703924,51.627120423475084],[-112.36089489128837,51.62719589265798],[-112.36093889092385,51.63574210682111],[-112.37472528757797,51.63836828576629]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.369342652303,\"lat\":51.63194732272321},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4805\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4805034\"],\"csd_name_en\":[\"Delia\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Delia\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.10820012373729,51.576523472445075],[-114.11888869425864,51.56947296172676],[-114.11890969411111,51.54736128856301],[-114.09544807622964,51.54743969606443],[-114.095462051068,51.53866724352518],[-114.07204034950985,51.538545645886906],[-114.0720125849568,51.56194169425627],[-114.081746451037,51.56191908871848],[-114.0814866512862,51.58367245836342],[-114.10823885567692,51.58380526330421],[-114.10820012373729,51.576523472445075]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.09504935912365,\"lat\":51.560772809255944},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4806\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4806029\"],\"csd_name_en\":[\"Carstairs\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Carstairs\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.06054751486923,52.568013185524464],[-111.06311763569043,52.55976072522095],[-111.04911537287049,52.56583388407872],[-111.06054751486923,52.568013185524464]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.05759350781004,\"lat\":52.56453593160805},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4807\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4807008\"],\"csd_name_en\":[\"Amisk\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Amisk\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.81884889208135,52.46876835256922],[-112.79995181463248,52.46672570655401],[-112.80735709594332,52.47757276305318],[-112.81884889208135,52.46876835256922]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.80871926755239,\"lat\":52.471022274058804},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4807\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4807027\"],\"csd_name_en\":[\"White Sands\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"White Sands\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.18812502023687,52.404856334878794],[-113.19574800447289,52.3835054933226],[-113.1740246962694,52.39262391253503],[-113.18812502023687,52.404856334878794]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.18596590699305,\"lat\":52.39366191357882},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4808\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4808034\"],\"csd_name_en\":[\"Alix\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Alix\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-113.547338026467,52.8433667905059],[-113.54753289100384,52.82867873826288],[-113.52329495081577,52.8288631988441],[-113.51115188857732,52.81428559517463],[-113.47508887679805,52.81429719491483],[-113.47510123457329,52.82482752214533],[-113.4992119793155,52.82893735874221],[-113.49894190835302,52.84338459727346],[-113.547338026467,52.8433667905059]]],[[[-113.24930227040115,52.75967562269014],[-113.27941711021123,52.76840006051951],[-113.3082842922282,52.78585496683451],[-113.29682571892229,52.80280776491353],[-113.30668828053854,52.824796152600335],[-113.29332188927637,52.832778950725434],[-113.29356280341054,52.84341889531121],[-113.36609238543932,52.84341560721275],[-113.36610081310224,52.821428491960035],[-113.45560837258404,52.82137603311718],[-113.50253826847786,52.778249719037625],[-113.48600163173369,52.778617669205715],[-113.48626392079527,52.76212591450308],[-113.4635278319222,52.75592645145235],[-113.4405329747438,52.75685273517631],[-113.44042141181282,52.763212970819296],[-113.42624398010379,52.76320069566663],[-113.42659466152965,52.753442263421015],[-113.38978895285459,52.74283629498655],[-113.34004861006369,52.74203315511506],[-113.29691879327697,52.730544352504474],[-113.27727079165837,52.72888866100574],[-113.24541488637371,52.738745671320935],[-113.24930227040115,52.75967562269014]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.378510857111,\"lat\":52.786992845083645},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4808\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4808811\"],\"csd_name_en\":[\"Samson 137\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Samson 137\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.16223246133127,53.97670109671668],[-112.18767608950009,53.98839827205476],[-112.19270970388573,54.00245676430987],[-112.17983350125185,54.01497377190686],[-112.18508947950649,54.02840977102015],[-112.21141820933921,54.04229485828636],[-112.23050938426445,54.062375658648904],[-112.24777080453254,54.05640605508753],[-112.27800688594102,54.05460384952967],[-112.30053730132381,54.04222185941377],[-112.33392881608452,54.03330126442569],[-112.34430618621715,54.036288462272864],[-112.37100100168007,54.02855135480941],[-112.38269848525259,54.01261017564549],[-112.40363481438618,53.99604067108796],[-112.41988101154082,53.99161645795427],[-112.50546337913644,53.988513776009775],[-112.51753508158681,53.99703007275958],[-112.54625989107709,53.99669505336723],[-112.61776097237295,54.00575626508932],[-112.67462678246908,54.032500465576675],[-112.71737228810498,54.04807676036243],[-112.77659028632172,54.05659587643455],[-112.79017097533686,54.06254226889347],[-112.81636019448003,54.04961555164704],[-112.8456112991751,54.028327355146736],[-112.84373683603856,53.977818314404885],[-112.84573947788849,53.95922027151635],[-112.86105860856208,53.94190186976516],[-112.91211500012908,53.91241845269426],[-112.95138879150244,53.89339740150803],[-112.95090993030232,53.81785337746305],[-112.9141982413622,53.81784844871282],[-112.9134482449953,53.780267923671],[-112.93808493847993,53.780407092682076],[-112.95103784120475,53.78894813476985],[-112.95102778358292,53.77434539270843],[-112.92622480299774,53.77431729690796],[-112.92639050164945,53.71625709734993],[-112.87722678459141,53.71625550902955],[-112.77955631232527,53.716353005684134],[-112.77910682855335,53.62918090350375],[-112.80415532567586,53.62893805564901],[-112.804009682459,53.58500715906087],[-112.82856906866331,53.585049813800815],[-112.82870118559138,53.57048371353462],[-112.80376150997235,53.57059675346422],[-112.80384619102944,53.54148339561807],[-112.5087412672226,53.541405956430815],[-112.50915281251648,53.45367231604149],[-112.36202121387419,53.45427048493278],[-112.36229499428278,53.4251774037566],[-112.26337091212784,53.42521310636039],[-112.26271241739248,53.541541994851215],[-112.21358010873855,53.54139460969254],[-112.2135973081564,53.657776388155646],[-112.21363781274098,53.715530295968414],[-112.20794370043748,53.74420860588942],[-112.23270630837949,53.74420810575449],[-112.23254341116221,53.84585849931571],[-112.19407281224368,53.84604413267644],[-112.18326799783041,53.860544986038484],[-112.18328380776599,53.976875589499976],[-112.16223246133127,53.97670109671668]],[[-112.34439741752826,53.88148605099951],[-112.3317369867905,53.884537155329475],[-112.32531247828567,53.875150297428554],[-112.34406558947057,53.87691380611025],[-112.34439741752826,53.88148605099951]],[[-112.35840109891183,53.5965577576348],[-112.3364521968214,53.59968339968664],[-112.336387933236,53.57818393935731],[-112.3610152370046,53.57810440207968],[-112.35840109891183,53.5965577576348]],[[-112.78985414580279,53.77055539256883],[-112.75270460637988,53.77425399249402],[-112.75268550820464,53.737605267418765],[-112.76567783000378,53.74530160344625],[-112.78943793985864,53.745300255541935],[-112.78985414580279,53.77055539256883]],[[-112.64310680966152,53.701301555579064],[-112.60664217645505,53.70159469375743],[-112.61949581275253,53.687209672676666],[-112.6193138618437,53.67250693587532],[-112.65622881194523,53.67274951790934],[-112.66910556976555,53.68716636718645],[-112.64310680966152,53.701301555579064]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.52722463942544,\"lat\":53.77227448435815},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4810\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4810058\"],\"csd_name_en\":[\"Lamont County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Lamont County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.66354810642379,54.06405541826187],[-111.69064887671823,54.06416059775485],[-111.69060474262591,54.078831414933504],[-111.77574765101383,54.07877286636464],[-111.78756207346372,54.054843240073225],[-111.78699281631242,53.97689139255858],[-111.861279984525,53.97687109045037],[-111.86145135162707,53.91474852096765],[-111.83816717459133,53.91666477332558],[-111.82008959896244,53.92878995042182],[-111.80284387001305,53.92425036024062],[-111.77688771533172,53.92510846752968],[-111.74994100090494,53.91551506301361],[-111.73142990317007,53.90260936541444],[-111.72357187109166,53.88903559833281],[-111.63862541227354,53.889623004947204],[-111.63858481879936,53.90418630752634],[-111.60036225861283,53.90354420837941],[-111.49020422853101,53.90429016518961],[-111.49056201488462,53.96235778866735],[-111.61382079616786,53.962370011831794],[-111.61386121272737,54.035340608533176],[-111.6634234160139,54.03531099089899],[-111.66354810642379,54.06405541826187]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.68789470224623,\"lat\":53.97006965750237},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4812\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4812806\"],\"csd_name_en\":[\"Saddle Lake 125\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Saddle Lake 125\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.3392251877056,53.70786535310868],[-114.3407956984948,53.70985917601943],[-114.34321200911484,53.70845277255436],[-114.3392251877056,53.70786535310868]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.34107763177174,\"lat\":53.708725767227484},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4813\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4813009\"],\"csd_name_en\":[\"Castle Island\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Castle Island\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.37068783191435,60.000061435413656],[-112.74999999450358,59.999999990253855],[-113.24999999348498,60.00000000362701],[-113.7500000128446,59.99999998970739],[-113.99999997280682,59.99999999257874],[-114.49999999009476,59.999999991558255],[-115.00000001959292,60.00000000039904],[-115.24999997499347,59.99999999916828],[-115.5671601971962,60.0000483360638],[-115.56790460599417,59.850114503094986],[-115.56920611965107,59.64890141333514],[-115.5529512809315,59.64802338981229],[-115.555662820896,59.47595586319974],[-115.33715941906793,59.474022141391295],[-115.1943835526424,59.47495536569588],[-115.04396490901554,59.473686364561175],[-114.67319396693414,59.474875704296316],[-114.38716469006403,59.47555953999466],[-114.00008786639863,59.47468703827031],[-114.00005197598928,59.14954315367598],[-114.00003394478192,58.98325203104326],[-114.00001051324193,58.76528765336216],[-114.00208102979428,58.6983893061576],[-113.99999988715942,58.664427064186405],[-113.9999849524047,58.49996664122429],[-113.99999396870987,58.249986556592866],[-113.99999998600734,58.0813389571425],[-113.76741822532674,58.079959799124],[-113.53428707832221,58.078841940621004],[-113.38824916250078,58.07918097218973],[-113.04515692102267,58.07849047842855],[-112.70034780311289,58.07713961177807],[-112.3625969829732,58.078903695831904],[-112.10989532577086,58.08082558570527],[-111.68569986924022,58.08289246149523],[-111.38892217997781,58.085274662320906],[-111.39405107845197,58.10678247067844],[-111.37343586352168,58.14699695789436],[-111.37018549343009,58.175102862696605],[-111.38302277665669,58.19625725998883],[-111.42009219404267,58.203377069124535],[-111.45052975690695,58.215883277411564],[-111.43859659488767,58.23762726726445],[-111.48503706056238,58.249843459308664],[-111.49362406774316,58.277868582464244],[-111.50901885107912,58.28579256452375],[-111.52205025695001,58.33310756789522],[-111.53492978682897,58.33993565981142],[-111.55059187216112,58.361630863413275],[-111.53873369008971,58.387633767926374],[-111.56571667823948,58.41439817599272],[-111.53950830153624,58.43307017733789],[-111.5410327831187,58.442956680338824],[-111.56143964357175,58.44488606044534],[-111.54854438176267,58.45778767059726],[-111.5177798497125,58.45392216678776],[-111.49354119170461,58.45965957079615],[-111.49080795502064,58.47237777127345],[-111.44363739048862,58.490695366301374],[-111.407616162043,58.48937606118564],[-111.3750128656513,58.46435905783304],[-111.35487215242775,58.46601126882577],[-111.37664686379686,58.506955168325135],[-111.3638915675211,58.513858665230096],[-111.3240074024294,58.504638774992124],[-111.30822766829468,58.51475166321097],[-111.27532795640549,58.51676347971114],[-111.25661215620916,58.505758073115665],[-111.23930647193944,58.51970657826],[-111.24651448106297,58.53400206972353],[-111.20997926435676,58.553424959909556],[-111.18513875468705,58.55642338076071],[-111.1758073845334,58.57239636139792],[-111.15058435539048,58.568304671606796],[-111.15179318856154,58.55818925372093],[-111.09090684304273,58.56873406275271],[-111.09880629362264,58.59650666281727],[-111.09679726997214,58.6097554798782],[-111.06089278517473,58.61160546380149],[-111.03779825260723,58.62698266313474],[-111.04809438079751,58.65346375329736],[-111.04365477539055,58.673557456975246],[-111.06531798096611,58.687176075905114],[-111.0822013958479,58.674727170694176],[-111.12661936554304,58.65184628284708],[-111.14127286097926,58.667266483074584],[-111.16023117703976,58.672180163474],[-111.16607777688647,58.68507675862381],[-111.19081456821681,58.69072067980984],[-111.22615898183157,58.71894085549932],[-111.24374599722059,58.72303316987353],[-111.24699526509285,58.73559897984595],[-111.2313720652807,58.75742405676457],[-111.23547934679596,58.76837816130439],[-111.29529944946185,58.79397567549648],[-111.27981287604874,58.83042148045978],[-111.25601676004138,58.87037977008614],[-111.23567545609959,58.88081196638325],[-111.19544405728051,58.89037556263833],[-111.1822501963805,58.919004069236045],[-111.21933787810104,58.92729507046482],[-111.24416925581174,58.93671758005066],[-111.26291206507824,58.93027828229662],[-111.2894770724521,58.950184371308204],[-111.34413646156287,58.96768246510292],[-111.35086025700487,58.97994877856525],[-111.42160687896254,59.000000062688166],[-111.44527387100956,59.02963047370253],[-111.44040638868334,59.05622525538077],[-111.42056567870054,59.06961996750226],[-111.4254828738166,59.089644456646695],[-111.45285685311407,59.11793296111927],[-111.44856658894587,59.136178772376304],[-111.42739407961602,59.14378736133962],[-111.4297517689269,59.16433466631811],[-111.41633517416005,59.1850075702506],[-111.39150146651176,59.20061898205005],[-111.39485217444322,59.21166258136549],[-111.44575098439039,59.22126996088849],[-111.51626295333806,59.227456979730874],[-111.53870665863663,59.24252806403501],[-111.50759327681487,59.25735056320388],[-111.50382256722963,59.273594684151725],[-111.48948704811075,59.28055287386094],[-111.46411726501995,59.27989848098107],[-111.43130715261003,59.28483557162371],[-111.41736287151811,59.29384835770402],[-111.42062138410665,59.32488116421545],[-111.44747066714535,59.33771866787424],[-111.44618215020543,59.354175679175164],[-111.46280538531398,59.38237915805582],[-111.45666875897012,59.38973697127595],[-111.4684581401564,59.40544504772905],[-111.45368068327377,59.417344864672756],[-111.47559215603765,59.43427318545544],[-111.47447505115564,59.46008568164331],[-111.46569498694055,59.470787558571416],[-111.47444868777978,59.49311277661655],[-111.44761796754415,59.50905845896456],[-111.46183775834263,59.53037385959124],[-111.45444317247538,59.53724896642492],[-111.45286494698414,59.56095647656892],[-111.43245207045508,59.582483279310715],[-111.43377858645269,59.59377105916709],[-111.41827788379017,59.60410447038489],[-111.43120758600986,59.64354036956608],[-111.48404746269662,59.66607237222785],[-111.48753249278633,59.6801397725629],[-111.51705406701271,59.689204664483505],[-111.53356626219659,59.700769062828066],[-111.53829385929684,59.71685948637743],[-111.51605456911761,59.73454565975002],[-111.52737727909928,59.747641259438154],[-111.52451337168006,59.759812857630266],[-111.5386878566765,59.78220437600126],[-111.57299827080467,59.79476657562869],[-111.58897571563284,59.80855991050449],[-111.60927897000032,59.8078611918872],[-111.60560898565599,59.82296940161489],[-111.71441736203901,59.820470677954596],[-111.81576729558493,59.81858224028232],[-111.86116215055718,59.82627057546834],[-111.91974898467997,59.81524257104731],[-111.97123726210276,59.81569755051368],[-111.97042526471441,59.829285077120346],[-111.98175517345143,59.84818005689832],[-112.00991449052879,59.86132187404879],[-112.04515888581358,59.86569888195284],[-112.08389244650589,59.87548356249424],[-112.10897076373432,59.89513026848725],[-112.15284745705512,59.90461087105043],[-112.17186098444192,59.913159157093254],[-112.20393588383075,59.91668837922212],[-112.24205996945692,59.93764195956859],[-112.30118708539031,59.95353715670739],[-112.33213325763826,59.97209868224208],[-112.35479007713008,59.967455662777375],[-112.39284446606341,59.97598737350922],[-112.37068783191435,60.000061435413656]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.01809945992491,\"lat\":59.112989736802064},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4816\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4816051\"],\"csd_name_en\":[\"Improvement District No. 24 Wood Buffalo\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Improvement district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Improvement District No. 24 Wood Buffalo\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-116.09130960070847,55.435956774454134],[-116.10449080335498,55.456331066569845],[-116.1061391010424,55.49118107487041],[-116.14908433973334,55.51022460871965],[-116.170537011029,55.509942890398186],[-116.17153000229976,55.417492616145445],[-116.25766430341096,55.417866059509606],[-116.23207511145313,55.40375829076573],[-116.17223296867044,55.40286113460261],[-116.17152099750245,55.39739554210658],[-116.13468920357678,55.39125142941163],[-116.1277120693799,55.40141695524975],[-116.1072994598388,55.40467689908792],[-116.052419682923,55.40423652635444],[-116.07824010058005,55.43182647485991],[-116.09130960070847,55.435956774454134]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-116.14003840657345,\"lat\":55.44188121571042},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817829\"],\"csd_name_en\":[\"Sucker Creek 150A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Sucker Creek 150A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-116.25374197313424,55.60709909542519],[-116.24644832041973,55.61727710284955],[-116.28041705869417,55.62648197196385],[-116.29162682031345,55.613448867177105],[-116.25374197313424,55.60709909542519]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-116.26890320244354,\"lat\":55.61621545838434},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817830\"],\"csd_name_en\":[\"Kapawe'no First Nation 150D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Kapawe'no First Nation 150D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.1010409154454,58.497461472596775],[-117.10144429602501,58.470011087657504],[-117.07368410684629,58.46973229759054],[-117.07526959957872,58.42750791440125],[-117.01475929989927,58.42745729725624],[-116.96187793982352,58.430004480881244],[-116.8458997018185,58.43019591132727],[-116.84713278398125,58.47165607693073],[-116.96130478429424,58.47149540859719],[-116.96047910400043,58.486808639733],[-117.01459216385518,58.486486326836506],[-117.01494779087608,58.51477011417926],[-116.97243032012888,58.51479280501127],[-116.9718818603478,58.54391659052745],[-117.08859325121216,58.5435448501915],[-117.08839114275746,58.53779894516787],[-117.08749239071476,58.515058534877355],[-117.1015125657028,58.51473775772709],[-117.1010409154454,58.497461472596775]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-116.99686822336257,\"lat\":58.47578650295386},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817848\"],\"csd_name_en\":[\"Bushe River 207\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Bushe River 207\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-116.01964098303014,50.516154853681414],[-115.99463011341791,50.51469493349468],[-115.99531156786539,50.54105099039144],[-116.0120544122412,50.54799862560091],[-116.0225697426134,50.56076634594991],[-116.04624541176048,50.561382664673275],[-116.03884358889833,50.53784386852605],[-116.03341391613846,50.53154405633745],[-116.01964098303014,50.516154853681414]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-116.01869462629224,\"lat\":50.537756370272085},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5901\"],\"cd_name_en\":[\"East Kootenay\"],\"csd_code\":[\"5901806\"],\"csd_name_en\":[\"Shuswap\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"East Kootenay\",\"csd_name_fr\":\"Shuswap\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.98505837490622,49.15962373979455],[-121.98709761982506,49.167633739638475],[-121.98841057414796,49.1716637238796],[-121.98727848697263,49.17906273664581],[-122.00213006584643,49.17840597949436],[-122.00626155497773,49.16514714578866],[-121.99226068042341,49.1617079991928],[-121.98505837490622,49.15962373979455]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.9952374448042,\"lat\":49.17002943759683},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909826\"],\"csd_name_en\":[\"Skway 5\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Skway 5\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.4202219689383,49.468482757268475],[-121.41882110798728,49.47340856310263],[-121.43153259640548,49.473658781318385],[-121.43202722438281,49.46820740791229],[-121.4202219689383,49.468482757268475]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.42574794219061,\"lat\":49.47097462892505},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909841\"],\"csd_name_en\":[\"Stullawheets 8\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Stullawheets 8\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.72998728538737,49.20741323610873],[-121.72076110213277,49.2004024925583],[-121.70542174248789,49.20745902404613],[-121.71272436857994,49.213319702213724],[-121.72998728538737,49.20741323610873]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.71750368827377,\"lat\":49.20705195415872},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909844\"],\"csd_name_en\":[\"Popkum 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Popkum 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.89250590102765,49.23805414990794],[-122.95995134102186,49.201367586101334],[-122.95742637302172,49.19012082749938],[-122.95690884107356,49.175171880178624],[-122.91219619899155,49.19406260704101],[-122.88550404289013,49.217661045379074],[-122.87594385263728,49.22020822568058],[-122.88150692703873,49.23476725824461],[-122.89250590102765,49.23805414990794]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.92029227371069,\"lat\":49.207751339968304},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5915\"],\"cd_name_en\":[\"Greater Vancouver\"],\"csd_code\":[\"5915029\"],\"csd_name_en\":[\"New Westminster\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Greater Vancouver\",\"csd_name_fr\":\"New Westminster\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-126.47167980570416,49.387269974868495],[-126.46365057180833,49.39218366931349],[-126.47930545135983,49.40273374180896],[-126.47889623786396,49.38715897696489],[-126.47167980570416,49.387269974868495]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-126.4736301514998,\"lat\":49.39337532530697},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5923\"],\"cd_name_en\":[\"Alberni-Clayoquot\"],\"csd_code\":[\"5923806\"],\"csd_name_en\":[\"Hesquiat 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Alberni-Clayoquot\",\"csd_name_fr\":\"Hesquiat 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.86589947199121,50.085268691988865],[-124.87813801770297,50.11359306140941],[-124.87745071629566,50.13446331735155],[-124.89004037141112,50.15120395880614],[-124.93922410544975,50.19860979389532],[-124.9540320151965,50.209230512307386],[-124.98077157323702,50.23823568099643],[-125.00959331522098,50.2598413652562],[-125.01131836332203,50.23212253280982],[-125.00334972436859,50.18582637462465],[-125.00708603411682,50.174102292825495],[-125.08184813208119,50.13113556831641],[-125.09846948080208,50.11527213276908],[-125.12063836247583,50.056090981745854],[-125.10757453271151,50.010898447506825],[-125.02585259887887,49.96604307371714],[-124.93989181291727,49.9401700876884],[-124.95494302134804,49.96238983302261],[-124.97087167020189,49.99943307958455],[-124.93385987789304,50.01039629292242],[-124.87232028666118,50.0023760172968],[-124.85497804756673,50.00760485527093],[-124.8404488104279,50.021217581560244],[-124.85623276224266,50.0559950334128],[-124.86589947199121,50.085268691988865]],[[-124.92487863088532,50.145818821643694],[-124.92026233084754,50.14662016793363],[-124.9165923316703,50.144116357831024],[-124.92311082887852,50.143628128024794],[-124.92487863088532,50.145818821643694]],[[-124.93424809169866,50.136748139045224],[-124.92192502937269,50.12130672943978],[-124.94530169867993,50.12055971581348],[-124.9462805317474,50.13671125305277],[-124.93424809169866,50.136748139045224]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.98444275009572,\"lat\":50.08104728965099},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5924\"],\"cd_name_en\":[\"Strathcona\"],\"csd_code\":[\"5924052\"],\"csd_name_en\":[\"Strathcona B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Strathcona\",\"csd_name_fr\":\"Strathcona B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-126.11623538446271,49.6846072043592],[-126.12270867008344,49.68675597810172],[-126.12275920910865,49.68282582995175],[-126.11623538446271,49.6846072043592]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-126.1205677545516,\"lat\":49.68472967080423},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5924\"],\"cd_name_en\":[\"Strathcona\"],\"csd_code\":[\"5924803\"],\"csd_name_en\":[\"Ahaminaquus 12\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Strathcona\",\"csd_name_fr\":\"Ahaminaquus 12\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.08564683487957,49.546322820852495],[-124.10268187402258,49.56745269921193],[-124.13084911212371,49.59087892977024],[-124.19793311457765,49.63249389327478],[-124.25404963072286,49.65973766198861],[-124.29188511813248,49.70156905372372],[-124.3094473465528,49.720183964012946],[-124.33320654182207,49.73009497127666],[-124.44203264367322,49.748762440965805],[-124.48728616517869,49.75707092544608],[-124.51388006280095,49.765807823925044],[-124.5400225254519,49.77922947713244],[-124.58084582347972,49.831947245830065],[-124.77143797467129,49.77054888341275],[-124.79951431295218,49.76753048169058],[-124.74904382304956,49.71026205213603],[-124.69466622933031,49.66599558793341],[-124.65287531999276,49.63758412061784],[-124.56230605215951,49.59239753715722],[-124.53037124621943,49.57496983534866],[-124.50063090643563,49.54868770645227],[-124.4875881112564,49.550772352145756],[-124.36267046217907,49.550270811843916],[-124.30526468012424,49.54046638849678],[-124.26943221250362,49.52863750351069],[-124.23569832538719,49.523201010166865],[-124.19543688180502,49.51013065549218],[-124.16105890842974,49.48670148745262],[-124.14227143956398,49.4680536082223],[-124.12155227061758,49.43883406690505],[-124.04508303532279,49.43856997570487],[-124.06090274842227,49.480957437690506],[-124.07271576595122,49.4994359751319],[-124.08564683487957,49.546322820852495]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.42778570527332,\"lat\":49.6471044737323},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5927\"],\"cd_name_en\":[\"Powell River\"],\"csd_code\":[\"5927018\"],\"csd_name_en\":[\"qathet D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Powell River\",\"csd_name_fr\":\"qathet D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.61844850494086,51.081196655137816],[-122.64665498003833,51.08615451432624],[-122.67518651543212,51.09865077284866],[-122.70747854346618,51.12504403405083],[-122.71345005561825,51.14791060399119],[-122.72633026264343,51.15803681982945],[-122.74303417989832,51.15911070513172],[-122.776047973392,51.13761980002479],[-122.79092143638515,51.148785765351434],[-122.82251969193076,51.14478608660905],[-122.90525868681141,51.183901831452424],[-122.97022420732232,51.19411493711375],[-123.0331586060811,51.200650940824076],[-123.0679376212313,51.22032310427112],[-123.08002883812436,51.212285642798086],[-123.05912350276417,51.1809807344938],[-123.05873377077101,51.15969211930357],[-123.0503195907154,51.14979490641802],[-123.0881125742643,51.13271521346494],[-123.10927238191096,51.13940149066415],[-123.14672119896261,51.122734879266034],[-123.16246925726836,51.09353372516724],[-123.18232472971822,51.07226538199047],[-123.2003633981331,51.072137273890895],[-123.23510394644241,51.05808844700876],[-123.24928221089621,51.04395478479966],[-123.25519443655944,51.025465136843216],[-123.24344186612224,51.00039390213633],[-123.29452643032907,50.99461293858488],[-123.31383998318856,50.98125773698956],[-123.32547588160264,50.991387193860376],[-123.35956387849178,50.9904078993158],[-123.37148723094421,51.0028994197516],[-123.38381852394737,51.004324566146146],[-123.40225953785124,50.98822981320807],[-123.4517481928313,50.98080406115071],[-123.51262669143358,50.95408272436729],[-123.51572665236284,50.94704333846514],[-123.55258591683375,50.9281359056256],[-123.57743508264086,50.931330650581366],[-123.59394249385105,50.92185909417191],[-123.6070904871157,50.901569832553115],[-123.62878672696203,50.89530606048673],[-123.65507689447628,50.901492428394945],[-123.66392235772287,50.89609379990588],[-123.66218832374228,50.880379108329834],[-123.73700070159691,50.88718537016974],[-123.75821747490323,50.88346399214995],[-123.74606044567423,50.872790420988316],[-123.71823179450918,50.871269521032715],[-123.71761931833446,50.85119669553328],[-123.7295082823491,50.84286088094488],[-123.71987186847723,50.8012551330794],[-123.70655668704971,50.79237287100083],[-123.67537088545286,50.80108313231387],[-123.63005121341124,50.79259964474471],[-123.60707809398399,50.77680002432373],[-123.56281667968877,50.797548756932],[-123.5444854990728,50.80120349993804],[-123.52510665800698,50.797752802607754],[-123.50280303418309,50.779854178394196],[-123.46983827772516,50.79409165478674],[-123.43907265356711,50.79654941823708],[-123.4077063688204,50.78055898255863],[-123.36996388867213,50.79619807600382],[-123.36072951438965,50.791534466516644],[-123.35825639945722,50.761165227057226],[-123.33818886125599,50.74965882791705],[-123.32132706292492,50.731355466706646],[-123.27476738432011,50.73269249868018],[-123.23580113211574,50.72296031273116],[-123.22008594497511,50.710914914248384],[-123.200053042863,50.68847891883505],[-123.19822698064442,50.67502261055896],[-123.1806912210828,50.656631857730176],[-123.15731790714233,50.65322223316134],[-123.16370945355038,50.63470040146756],[-123.1325152190257,50.63271023132497],[-123.10426485861612,50.61705398619106],[-123.0814748905392,50.59399735166709],[-123.04459678739904,50.577311328956235],[-123.03166607710025,50.584080267094244],[-123.04375860144793,50.59481960577872],[-123.01880956950396,50.60111020906699],[-122.95676149318567,50.54872768967846],[-122.94089318667423,50.55289534053277],[-122.94175560898383,50.562391588339764],[-122.92793934293557,50.601178201420346],[-122.90688859848456,50.60350491196024],[-122.88871702304638,50.61415640506126],[-122.86107123898405,50.619491430942844],[-122.83283343294961,50.64619964999279],[-122.80140309461804,50.6461691799186],[-122.77752703568088,50.65502847466678],[-122.72900999799592,50.656096967994905],[-122.70392772354049,50.64355494051535],[-122.67811632597096,50.652095658736776],[-122.62923740521094,50.65280706398429],[-122.61146884047784,50.63567289302123],[-122.58893043767948,50.642358117693576],[-122.58818242332451,50.702155542326864],[-122.51326654830854,50.731701925041044],[-122.48893842125966,50.73971443787874],[-122.4489893032244,50.74391066559122],[-122.39152966259975,50.75452013416971],[-122.26248951576378,50.73869678986796],[-122.22596151544245,50.75565948295461],[-122.17212293062141,50.763977703358805],[-122.128788153401,50.74338020694914],[-122.09901664214463,50.741564109511295],[-122.09294417619387,50.769038839886335],[-122.11557179397883,50.78686981262089],[-122.13656913417121,50.798094481825395],[-122.16239823572273,50.81906386729214],[-122.14906263300279,50.832664815364495],[-122.14696744625932,50.851953726190494],[-122.17420711848118,50.86336200259987],[-122.19330137333951,50.85848899707216],[-122.22776009990628,50.86179313358733],[-122.27398795120418,50.83106620901761],[-122.2954327457787,50.82746965080752],[-122.34899819108264,50.855000180779996],[-122.422368545745,50.895980498244434],[-122.42947248408858,50.90314419166175],[-122.43211431572566,50.9327919516182],[-122.45423149061628,50.94376669864026],[-122.50214236706981,50.94898949873241],[-122.53676667088638,50.96151593946342],[-122.58794119484877,51.00944550172126],[-122.59453738523031,51.02727853591771],[-122.57253352586079,51.034060235233476],[-122.58658826324675,51.044406190340474],[-122.58979273518536,51.0563630808825],[-122.61497582004621,51.06753477924806],[-122.61844850494086,51.081196655137816]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.93530416371688,\"lat\":50.873823876579095},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5931\"],\"cd_name_en\":[\"Squamish-Lillooet\"],\"csd_code\":[\"5931032\"],\"csd_name_en\":[\"Squamish-Lillooet A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Squamish-Lillooet\",\"csd_name_fr\":\"Squamish-Lillooet A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.58144909255572,50.19304003318349],[-121.57542722491834,50.19620694198263],[-121.58303883261577,50.19655716495048],[-121.58144909255572,50.19304003318349]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.57997171669662,\"lat\":50.19526804670553},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933824\"],\"csd_name_en\":[\"Skuppah 2A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Skuppah 2A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.57991105116247,50.21836606213384],[-121.59067503278868,50.21426579502876],[-121.58973715820338,50.19800852908544],[-121.58634183112886,50.1980996236164],[-121.58573250006059,50.19975273838676],[-121.57991105116247,50.21836606213384]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.58635911060034,\"lat\":50.208702470671284},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933850\"],\"csd_name_en\":[\"Nickeyeah 25\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Nickeyeah 25\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.26834079235145,50.51436956648813],[-121.28352103970107,50.50587697266748],[-121.29423022513893,50.49162637166597],[-121.29704721284868,50.47327396457681],[-121.28927893585474,50.46321335665826],[-121.26794154674312,50.46484836021438],[-121.24783364075607,50.45440401510301],[-121.24087961739386,50.476148704793395],[-121.23940611052062,50.50922121218083],[-121.26834079235145,50.51436956648813]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.2658826881779,\"lat\":50.48596642340514},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933857\"],\"csd_name_en\":[\"Pemynoos 9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Pemynoos 9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.20035610456351,51.42165408798692],[-120.19868017348152,51.42109635365863],[-120.1982107632242,51.42259753417412],[-120.19932292210129,51.42295142511103],[-120.20035610456351,51.42165408798692]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-120.19916683296825,\"lat\":51.42202649785646},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933886\"],\"csd_name_en\":[\"Nekalliston 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Nekalliston 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.5441741248743,51.99088981791431],[-122.5432350576747,52.00284229375648],[-122.56556446441891,52.0032787372102],[-122.56638078153269,51.99123537706313],[-122.5441741248743,51.99088981791431]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.55485188839327,\"lat\":51.997067599640346},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941849\"],\"csd_name_en\":[\"Baptiste Meadow 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Baptiste Meadow 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.07364685567427,51.85400962205094],[-122.07386307264625,51.86188762833198],[-122.10810197471325,51.86142642328158],[-122.10139282499102,51.84169496978689],[-122.07836787784427,51.84174203596343],[-122.07364685567427,51.85400962205094]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.0899196369764,\"lat\":51.852346827978465},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941885\"],\"csd_name_en\":[\"Little Springs\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Little Springs\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-127.40816768007548,50.69544777114678],[-127.41404267875801,50.69526820836745],[-127.41374808806464,50.69203735509762],[-127.40810487533655,50.69206882452226],[-127.40808910186996,50.69454904098011],[-127.40816768007548,50.69544777114678]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-127.41097989339116,\"lat\":50.69371903961699},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5943\"],\"cd_name_en\":[\"Mount Waddington\"],\"csd_code\":[\"5943815\"],\"csd_name_en\":[\"Kippase 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Mount Waddington\",\"csd_name_fr\":\"Kippase 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-127.38568536426632,50.69687832313393],[-127.3857985501401,50.69445597466079],[-127.38036341302117,50.6944115530883],[-127.38084716465998,50.69813807151776],[-127.38554274000435,50.69992977772367],[-127.38568536426632,50.69687832313393]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-127.38330990783187,\"lat\":50.69670576105951},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5943\"],\"cd_name_en\":[\"Mount Waddington\"],\"csd_code\":[\"5943817\"],\"csd_name_en\":[\"Thomas Point 5\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Mount Waddington\",\"csd_name_fr\":\"Thomas Point 5\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-126.60910991847187,53.00027962116089],[-126.62971547497436,53.00851974369581],[-126.6376434134733,53.02095770727875],[-126.65552020999263,53.031200998182044],[-126.67246851188874,53.02492390478455],[-126.72393869539901,52.99256359971914],[-126.7526238174417,52.99326260370327],[-126.76300183071204,53.00068084418427],[-126.78989978341596,53.000455560595306],[-126.79439315523156,53.02647872493458],[-126.78948884385582,53.049683733289555],[-126.80027384376064,53.0743421048183],[-126.84116168436563,53.11039547320625],[-126.86142970661346,53.10738275249651],[-126.88274659753698,53.08391881657795],[-126.93047439797968,53.08560025823442],[-126.94810750507412,53.09353939579648],[-126.98568207343952,53.07223713013635],[-127.01295136179262,53.075141490240135],[-127.01197597192846,53.09191608906649],[-127.03280920880397,53.11418341520478],[-127.01415434268021,53.1300315678157],[-127.00373637355645,53.158776272263324],[-127.01330807499006,53.18920887788087],[-127.05072039782307,53.20661967337186],[-127.0370856948237,53.226444147169985],[-127.00166121254516,53.2560864777379],[-126.97889317740601,53.26308590311096],[-126.98208791877303,53.27845997648652],[-127.0155319723282,53.3090326703481],[-127.05059936655286,53.29870398086578],[-127.06978360955473,53.28423677482433],[-127.07448726928365,53.25080518864074],[-127.09363837813997,53.23633555746292],[-127.12100500741838,53.23967660151724],[-127.13188323203369,53.26001062956191],[-127.15091733679175,53.281229948924306],[-127.19497441612329,53.264874752268945],[-127.20147361016463,53.249413673849766],[-127.22487279598889,53.25028273544213],[-127.26686157658617,53.27752625644057],[-127.27560892200805,53.25840498061345],[-127.30678914771792,53.215480939723385],[-127.31985587922895,53.21438794390887],[-127.32936848646946,53.227161445622144],[-127.35084029140074,53.232430373591995],[-127.36420606550877,53.2211668357022],[-127.36167529684234,53.20179869363791],[-127.35321239686489,53.18671054858706],[-127.36062272745993,53.17720970486965],[-127.40582686675022,53.184324640369326],[-127.40483586547737,53.164485922983644],[-127.41154888563666,53.15934731565952],[-127.4417402998467,53.16087805036644],[-127.45700176294918,53.14306027366171],[-127.4766465160944,53.13924406732949],[-127.47278931822854,53.1243258261258],[-127.43471386049728,53.11792768375245],[-127.4487556096965,53.099072950090076],[-127.43413309058546,53.08852280864822],[-127.37580691991454,53.08641405267767],[-127.32219778109402,53.06756488383462],[-127.29051035656205,53.04983871081594],[-127.24354631083158,53.016420779745324],[-127.24228052344381,53.00613274538671],[-127.25692318097096,52.98814283239104],[-127.25640099273262,52.97886145997351],[-127.23688512457832,52.96177605123545],[-127.24960529992207,52.95241350633209],[-127.28606413750823,52.937010424566154],[-127.29766218729368,52.90766041607361],[-127.27779958035603,52.89761698856136],[-127.2810413426402,52.88692096231094],[-127.25577727064417,52.8734570486166],[-127.24940786195995,52.86264643676733],[-127.22296730920685,52.85077725574865],[-127.2281029164338,52.829906146211755],[-127.22224620968221,52.822356428526646],[-127.27846668203163,52.81155277570853],[-127.30116987224085,52.813347650572815],[-127.31016722032523,52.799041774613215],[-127.32510881050378,52.795130745865094],[-127.3528266116664,52.808249808986226],[-127.37972742439932,52.78371617048399],[-127.3815259520415,52.76981648465053],[-127.3688334495651,52.75565768690613],[-127.38810009520611,52.749519793456294],[-127.40101185208816,52.73629496137579],[-127.47115782722523,52.70508171144397],[-127.49045319126694,52.692569164883004],[-127.54892943312802,52.695066356220956],[-127.56269966218763,52.69096870132484],[-127.58830129120845,52.72213359598913],[-127.61638260632704,52.73274802107759],[-127.61223108236454,52.7516482755265],[-127.59796694859313,52.76172036097498],[-127.59720796634532,52.7793204337079],[-127.60908684143688,52.78344152253255],[-127.64114236992646,52.7804406433902],[-127.67921955890235,52.7913392689582],[-127.69169711413997,52.78908074474505],[-127.7187929564572,52.7709489549696],[-127.71188932362921,52.75569862443045],[-127.71996091256692,52.71875435807895],[-127.73933425238005,52.717881184601275],[-127.78217312797898,52.69655331041662],[-127.78072724355974,52.677735723991454],[-127.80976601907923,52.66449780263194],[-127.83258722145302,52.66671563450996],[-127.85177472813585,52.67425101017662],[-127.89022885335451,52.67958859641397],[-127.91250622369387,52.675976105439965],[-127.92850575468992,52.71707749668364],[-127.93852897762466,52.72103490904641],[-127.96793505977247,52.7082265729109],[-128.0116816433006,52.719483107683814],[-128.04127186122926,52.71086551648241],[-128.08296874896766,52.68703959448863],[-128.10934018174342,52.67920586008661],[-128.1347963560908,52.68646391108009],[-128.15210130084185,52.671916425291734],[-128.13613982823068,52.65259123124],[-128.10839698957992,52.649287982478604],[-128.12563327785114,52.617341262743096],[-128.14618727350896,52.625141790876356],[-128.189602725794,52.60736151615733],[-128.18152301590683,52.59209285256106],[-128.19687015032002,52.58050391582252],[-128.1748177671912,52.57547913188291],[-128.1746835981727,52.557772624349234],[-128.18561036819543,52.55255757374791],[-128.19443917662232,52.513766879781784],[-128.18024557177264,52.50273880438497],[-128.17694306421694,52.484158523813015],[-128.28266259597564,52.48242893530374],[-128.34891840106994,52.4764814146869],[-128.37474819759046,52.471036360055216],[-128.4589623112546,52.437511462764206],[-128.52793762978715,52.37104337726248],[-128.59485815575644,52.2642257251376],[-128.63497446903384,52.22941114560416],[-128.66693811313698,52.215682940096144],[-128.7295853651867,52.20208305380242],[-128.7492816674542,52.193254729236706],[-128.77350291840617,52.177447079146496],[-128.80661060495208,52.14622593825205],[-128.81956529651313,52.128229447842166],[-128.82220705464874,52.0000635094484],[-129.0681221265656,52.00005939782289],[-129.05789074875568,51.935297330815175],[-129.02158852795174,51.86125379097177],[-129.00000000292866,51.82109561605406],[-128.99999999398955,51.49999998704171],[-129.00000001369105,51.200521602608084],[-129.0168061711504,51.11414185154003],[-129.05976993065897,51.00432318957761],[-129.0843837688484,50.96557513086937],[-128.8448779403441,50.99189314019729],[-128.49947135749466,51.02889350587925],[-127.99283971911848,51.080989454540855],[-127.91785931337839,51.07633020523256],[-127.86239527986427,51.09670258530435],[-127.79288496981363,51.15617976779495],[-127.73530464054902,51.15951325146394],[-127.73823953080027,51.188722903043086],[-127.65986171906788,51.19054364282616],[-127.64880885671137,51.18350760644901],[-127.61079573063897,51.19154359204555],[-127.57674607701613,51.19069121805871],[-127.56654251895193,51.19707783492613],[-127.53506139057605,51.19753892464657],[-127.52416225138562,51.18622065849487],[-127.49519803650738,51.18904829289973],[-127.4928539580918,51.20155822426583],[-127.45682630701485,51.20433363265802],[-127.45290022622922,51.224481343899605],[-127.44281136773441,51.227669701903054],[-127.39100198581531,51.22850780979143],[-127.3605843276855,51.216251827416826],[-127.34285809489592,51.2180015578285],[-127.3234003870892,51.20924591616467],[-127.30351072098351,51.21339664979548],[-127.25566913192085,51.211370088358336],[-127.23498036668013,51.219406053027896],[-127.2182934507282,51.21215405915978],[-127.20805423795993,51.1971943362446],[-127.19454755690288,51.20402431418169],[-127.15510804241572,51.20719611586938],[-127.12085300812788,51.21897420070869],[-127.07347586131044,51.22960372041646],[-127.03720232030123,51.23304350111568],[-127.02642326809331,51.23048045487032],[-126.997268399497,51.24074127562028],[-126.97376965793646,51.240792801778355],[-126.95427659459497,51.23565983333954],[-126.92251483320818,51.242014230269724],[-126.92377080188382,51.277885475542],[-126.8921119425129,51.30674415110503],[-126.86903787603076,51.3055563742465],[-126.85542894020817,51.32248638523523],[-126.8406446865487,51.323011043552015],[-126.81018602844334,51.299058246836765],[-126.76405352233381,51.301295851624054],[-126.75195519550093,51.316842002455616],[-126.750250528217,51.333313968295066],[-126.72545645916489,51.34517327970446],[-126.7241582055576,51.361228488936845],[-126.70968283983487,51.37818390766117],[-126.71055137022371,51.3939256458806],[-126.69907057472359,51.40972759380616],[-126.72356746845765,51.43485654381505],[-126.72251547743085,51.446929550423654],[-126.70735579295561,51.46025048748113],[-126.70437003420287,51.47798942307406],[-126.6797310246996,51.46931479199351],[-126.66454995998427,51.45418986713297],[-126.61992640014614,51.443444912429975],[-126.60636352801305,51.42229533067269],[-126.61611354039402,51.41448043834573],[-126.58542317620751,51.40630026389568],[-126.56722186752005,51.40755715340597],[-126.556380441588,51.42023258645951],[-126.52839524081666,51.41821054882066],[-126.50715159944646,51.42603806442953],[-126.48175777992813,51.44247486964171],[-126.45115164318906,51.4764410486329],[-126.43451186321015,51.48676100105367],[-126.41887495179536,51.478326332170795],[-126.3889862770458,51.48166409204649],[-126.37942045628758,51.46495524228284],[-126.36304742165835,51.45359135135004],[-126.34562801995276,51.46205361120064],[-126.3245057735572,51.456745612095794],[-126.30716962385519,51.46282054810293],[-126.29272469955596,51.45414587737287],[-126.2509578756368,51.45197674955854],[-126.21711654089233,51.453971746643276],[-126.19029910586455,51.43659755873704],[-126.17240350370261,51.435854806082396],[-126.14966459794802,51.46061625158526],[-126.10663557962661,51.462187233241224],[-126.0990316364203,51.475106350701495],[-126.11798197184117,51.51832003631812],[-126.08183767502616,51.528984633737046],[-126.08588067747041,51.54090490947878],[-126.05301754589118,51.565557651672975],[-126.06255715077809,51.58189959619022],[-126.0507066919843,51.592595270538084],[-126.02812905514824,51.5999422339915],[-126.01232655097549,51.59078379224464],[-125.98179837797277,51.58068623543117],[-125.93242410027497,51.595598754793755],[-125.91032136192064,51.614332319219024],[-125.90821756497768,51.62571556622317],[-125.92305766456596,51.62870449218657],[-125.950678136005,51.648435521081616],[-125.94965998695295,51.66480335180139],[-125.94152450602267,51.67388803113133],[-125.95518426309745,51.692210883926194],[-125.99117837729854,51.68829616960127],[-125.99845305225355,51.70359966062933],[-125.9888998622123,51.71321492224756],[-125.99730286292635,51.728354020139776],[-125.97972990428744,51.74183165061094],[-125.96216424299891,51.747364178983865],[-125.94875773182191,51.762348870565205],[-125.95017146704467,51.77557233574383],[-125.97164675207266,51.78881610178768],[-125.94033376663153,51.80551635472132],[-125.92705651667855,51.8177789169623],[-125.91930695362068,51.84235823074658],[-125.91437244050444,51.890152281516244],[-125.88021185066387,51.89242436450598],[-125.87062318854554,51.910876617369276],[-125.88081254096393,51.963397733385506],[-125.85591827696226,51.977365009581014],[-125.81464678908094,51.975418499110255],[-125.80218383011504,51.979685815584055],[-125.77758605017944,52.00053340744154],[-126.0004795529576,52.00225409232341],[-126.21059980773451,52.003903415611965],[-126.22181193190688,52.01950128052371],[-126.22447752140651,52.03895668791184],[-126.23670004594165,52.048609002441694],[-126.27266457575757,52.06567078197678],[-126.26282300496449,52.08593153366794],[-126.23285316348971,52.096685882143845],[-126.21211428197314,52.11693185262708],[-126.19588908748746,52.12725675237664],[-126.20191916300057,52.14726378962938],[-126.25318130050225,52.14778617422464],[-126.24756240324679,52.16785010084856],[-126.25618749123399,52.178962101803926],[-126.27087309163282,52.18209860419092],[-126.28682043523379,52.194235925387495],[-126.30127616976189,52.188526913271666],[-126.33904784166934,52.183511188117016],[-126.38534639242943,52.21835849942588],[-126.40903672301496,52.205670089671365],[-126.44173165039764,52.214751653751485],[-126.46467628233972,52.210122577879844],[-126.47715490847466,52.21437602954036],[-126.48706655746794,52.2456659902966],[-126.5081814080675,52.25491040578934],[-126.51136522569202,52.26848862399231],[-126.5238945902367,52.282226689672456],[-126.51473928479267,52.29018277517327],[-126.555489281405,52.2831094591497],[-126.5742755012952,52.26796402484977],[-126.61191050024497,52.25879999682012],[-126.65031057229993,52.24491222333233],[-126.67644582620706,52.25168201579422],[-126.69509872926837,52.246970113535134],[-126.7098191006584,52.25406449791885],[-126.74322367885067,52.2571999870854],[-126.769210600815,52.268456347029996],[-126.77699160357366,52.256985610270284],[-126.77130070881613,52.23249483041753],[-126.76034783643641,52.23094844459222],[-126.74611040184342,52.21425867818802],[-126.76396049250765,52.21177609831473],[-126.77770243723212,52.22315441021751],[-126.81206060166805,52.223698929637294],[-126.81625172675652,52.23646058295666],[-126.84693970878644,52.23777956695655],[-126.87153193274673,52.249932795467544],[-126.90154592086517,52.284101624509425],[-126.90299490276266,52.29285597468953],[-126.8775118471354,52.3258881026616],[-126.87922798113314,52.380265205326225],[-126.8759191029425,52.429355585668425],[-126.8682800955877,52.49365395353628],[-126.82723152752256,52.48473396854788],[-126.78376138661828,52.53420584362099],[-126.78564220596681,52.543055840212695],[-126.75355485727445,52.56431265525701],[-126.73939216884482,52.584297732361286],[-126.72334982969541,52.57376670470638],[-126.68761624156303,52.59491217808546],[-126.65771996053941,52.59384451533889],[-126.64431122308983,52.57917611177711],[-126.59916126077734,52.59166127121889],[-126.57340033229605,52.622971737905466],[-126.55279928653542,52.61969878061118],[-126.52472934265855,52.61744762476696],[-126.5072039157226,52.625528018837414],[-126.50977464132433,52.64302440796983],[-126.4757954972707,52.6446151922221],[-126.44567406918718,52.65416824778073],[-126.41658039558612,52.66149068441607],[-126.41138912897408,52.688856521165285],[-126.37857355202297,52.69500612169373],[-126.36112167277784,52.706934242475285],[-126.34603401272322,52.70208554511459],[-126.3494922664339,52.73180637601789],[-126.33353332240911,52.75160063357048],[-126.33565614945125,52.829532509575856],[-126.3702492463461,52.82290787038648],[-126.4040582639702,52.79897464332375],[-126.41615760962871,52.79422956804581],[-126.4433233096473,52.795442232136665],[-126.45411007755843,52.784395599438156],[-126.4761783398758,52.78595598424857],[-126.48618973949117,52.77939107517258],[-126.5302796867322,52.775151521139136],[-126.55585367722286,52.79235403680663],[-126.55351406805534,52.81525261858884],[-126.57321600607003,52.818559616613385],[-126.60111948731556,52.81297915973887],[-126.61276411250135,52.83437896369178],[-126.63919710165801,52.846008621547206],[-126.61216448929162,52.86875132229345],[-126.58734841708925,52.87938137640959],[-126.5977598826983,52.91348365187543],[-126.61143816152965,52.917287764708576],[-126.62430070285654,52.93513795006263],[-126.6460628730723,52.9419256960442],[-126.62372384254776,52.971493365063594],[-126.63559664430167,52.98426984339121],[-126.60910991847187,53.00027962116089]],[[-128.1574554619214,52.178063380856294],[-128.1435371379415,52.175375063390916],[-128.14465761092174,52.13948626476986],[-128.16787795466647,52.1425625539615],[-128.16660264346817,52.171249318322666],[-128.1574554619214,52.178063380856294]],[[-127.24984419463222,51.67980500091712],[-127.24993095871277,51.68584298789517],[-127.21042220617011,51.68591841088085],[-127.20866946682723,51.691500214966254],[-127.17568837776737,51.691366838157236],[-127.17242510759093,51.67420329311056],[-127.20906059475443,51.6742744636972],[-127.2263680516796,51.67945965266435],[-127.24984419463222,51.67980500091712]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-127.56836424230043,\"lat\":51.93811559717196},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5945\"],\"cd_name_en\":[\"Central Coast\"],\"csd_code\":[\"5945006\"],\"csd_name_en\":[\"Central Coast A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Central Coast\",\"csd_name_fr\":\"Central Coast A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-131.00167476791418,58.000551352823365],[-131.31898966465423,57.99992755125583],[-131.7508751583273,57.99988882285482],[-132.00078064155474,57.99989679682487],[-132.25068633153958,57.999905185044376],[-132.50059206084646,57.99991395925476],[-132.75049800824186,57.99992312712974],[-133.06954316545807,58.000052424647734],[-132.98899322173418,57.94297332989325],[-132.96181237933337,57.92069717773597],[-132.9179656882342,57.87948996823528],[-132.86806838482218,57.844587313406485],[-132.8229184141994,57.78756716503373],[-132.80247710987697,57.758303554651526],[-132.7594430907023,57.707526445943394],[-132.7194529563463,57.669097008581524],[-132.68674278078447,57.642966485606124],[-132.6250382065433,57.574908568222824],[-132.5760262393039,57.52567558540935],[-132.56357904462465,57.50682642126778],[-132.514447278629,57.4645248496613],[-132.47832482468107,57.437855636935865],[-132.42428238218994,57.39224592628284],[-132.36958172869132,57.3514241256816],[-132.33067839093172,57.306312635007636],[-132.2446207516297,57.21201275376944],[-132.36930758793565,57.09142205035181],[-132.04592656010234,57.044043651789345],[-132.12114693725238,56.86690115408483],[-131.87075825999008,56.80624978547811],[-131.90183823643403,56.75436067949037],[-131.8574570486033,56.70177345391357],[-131.8336316797368,56.59877516140941],[-131.58175481622743,56.61237151040829],[-131.54267192538984,56.589589036489016],[-131.46738488812204,56.55107303797624],[-131.33147953026855,56.50582553008037],[-131.20209347336896,56.4583262013479],[-131.1641573371427,56.447285410345415],[-131.08720274545198,56.40635317509138],[-131.04331970943878,56.40093143169934],[-131.01595293916404,56.43592523930902],[-131.0038598657221,56.44220170924294],[-130.95990861066602,56.44730506117855],[-130.93921676284515,56.453978959081795],[-130.92757774405948,56.46464781701307],[-130.91999072387725,56.486291947311784],[-130.88750581568544,56.49040192074141],[-130.80569508064573,56.49360514758696],[-130.78906262321357,56.49724313824427],[-130.76730814604645,56.512033503272264],[-130.69225863459494,56.51830656710776],[-130.67286042419337,56.52737231615441],[-130.63896563400874,56.5610451320913],[-130.63129010034552,56.574022424098345],[-130.63435933828558,56.58966708105817],[-130.65274974909775,56.60575188169896],[-130.65208759284417,56.61822000685341],[-130.63863254637175,56.63224732081316],[-130.59422110913746,56.636182804731824],[-130.56693019196206,56.6473690925478],[-130.53506849873122,56.647081309374755],[-130.49977601509244,56.657555689366355],[-130.46763070223798,56.65297969040419],[-130.46044495026212,56.66010317942202],[-130.4714601892107,56.67558257785125],[-130.48131926550465,56.703855540965925],[-130.4804873320158,56.72613551367301],[-130.44669924143912,56.728406485833894],[-130.42952369556073,56.724021705850035],[-130.40219421844446,56.705704404560414],[-130.37513092853416,56.69704633385235],[-130.33283447290742,56.70175059102029],[-130.3080690628158,56.71092988382628],[-130.27174143651703,56.71473909554405],[-130.24381534582386,56.72751027048525],[-130.2207750677466,56.72789738292286],[-130.21361715621725,56.74775224832853],[-130.22205811674655,56.76918887852698],[-130.19142076786525,56.77258754540864],[-130.1678530513657,56.76622016129949],[-130.14116341507224,56.774577776650304],[-130.09691326210887,56.781364398969025],[-130.0649503551758,56.77596140694004],[-130.01904802788007,56.78504398161196],[-130.00353422891925,56.793510858245476],[-129.97758887307717,56.79678755588163],[-129.94930675244268,56.81685889428324],[-129.9126592156088,56.816324187709995],[-129.86943956182787,56.80386115345859],[-129.872766281483,56.83620788868016],[-129.89513041313649,56.86356089364967],[-129.88154302087807,56.88685433015414],[-129.89438123813724,56.899454791850744],[-129.89372850809872,56.91444236155358],[-129.9057437195721,56.94233459950423],[-129.900998173213,56.99897502865607],[-129.85530345239405,57.014326602825825],[-129.81945314638537,57.059550638171146],[-129.81156689413743,57.089268024522276],[-129.7958386405522,57.10347285097179],[-129.77599784648862,57.10894185554368],[-129.71814861292793,57.10910669021704],[-129.70343835688192,57.11778653394635],[-129.69622862696212,57.147674260491904],[-129.68169152311526,57.15969328210947],[-129.66264190672925,57.159872178739974],[-129.62171864311733,57.150331747240266],[-129.59777685834524,57.14997272125986],[-129.54173071287732,57.16717370569383],[-129.51250282677026,57.16826212351929],[-129.480824973933,57.160411644472546],[-129.47340300033676,57.14548757225718],[-129.4759401430079,57.13102979875737],[-129.49901978104933,57.111467506618645],[-129.49202468552636,57.09174939873054],[-129.45046350039453,57.07234799631903],[-129.42709889787264,57.067748144792965],[-129.29464477555348,57.078853170336835],[-129.27750711268996,57.06720776586511],[-129.25547195851348,57.071927482165535],[-129.24231490215658,57.10410621481067],[-129.2249613286028,57.11173760318743],[-129.16927057054033,57.120987578495644],[-129.12187487782884,57.1751422200283],[-129.10500119224648,57.17950536880879],[-129.04905327777743,57.17654928153725],[-129.00205422043302,57.164389392052094],[-129.00222554215384,57.344225956947795],[-129.0024998266699,57.62835465560947],[-129.00273603813312,57.86942992540003],[-129.00224609914082,57.99875932475676],[-129.24990388163965,57.99912862524483],[-129.49756715877376,57.999507596339],[-129.74523598140664,57.99989628292651],[-130.2443624670065,58.000428260497586],[-130.4968331442444,58.0004796299407],[-130.74930441108634,58.00052060502394],[-131.00167476791418,58.000551352823365]],[[-131.16650807354648,57.90608243550128],[-131.17798084119244,57.90151175966243],[-131.18433945706673,57.90236298388717],[-131.16982418918852,57.90684014936233],[-131.16650807354648,57.90608243550128]],[[-131.15665423280797,57.90991031631311],[-131.16343222429563,57.90559203078867],[-131.1639056422807,57.91616842099153],[-131.15713251115093,57.916301095515124],[-131.15665423280797,57.90991031631311]],[[-129.97507952293478,57.83192218503342],[-129.9906005995129,57.83768823201156],[-129.9852889114926,57.840271614339066],[-129.97507952293478,57.83192218503342]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-130.8711912522993,\"lat\":57.39068224380526},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5949\"],\"cd_name_en\":[\"Kitimat-Stikine\"],\"csd_code\":[\"5949041\"],\"csd_name_en\":[\"Kitimat-Stikine D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kitimat-Stikine\",\"csd_name_fr\":\"Kitimat-Stikine D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-128.48663429666442,54.56449826576199],[-128.4835822973695,54.551743796278565],[-128.46357784269628,54.5614073745983],[-128.48663429666442,54.56449826576199]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-128.47793147891005,\"lat\":54.55921647887962},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5949\"],\"cd_name_en\":[\"Kitimat-Stikine\"],\"csd_code\":[\"5949805\"],\"csd_name_en\":[\"Kshish 4\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kitimat-Stikine\",\"csd_name_fr\":\"Kshish 4\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.3841505593191,47.80782054428606],[-53.3833444787261,47.80828200890314],[-53.43939894690322,47.85258665419078],[-53.499993474455955,47.79786427808412],[-53.40724365321717,47.79799940260196],[-53.3841505593191,47.80782054428606]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.439372790426866,\"lat\":47.81699229832287},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001316\"],\"csd_name_en\":[\"Heart's Desire\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Heart's Desire\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.214401680932035,47.6751445203386],[-53.163003621980586,47.699690114523015],[-53.163609865585194,47.71388643998566],[-53.1722798252573,47.72091361681014],[-53.196739622486,47.70923669857888],[-53.22324120102911,47.70974998895048],[-53.27864963330909,47.698192450990966],[-53.31574256525783,47.675399987022445],[-53.30912549707119,47.66447389387132],[-53.29025036280136,47.653693833319956],[-53.269015052272145,47.64326959892458],[-53.25912260106078,47.6463891026919],[-53.214401680932035,47.6751445203386]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.24303290255326,\"lat\":47.68308676447876},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001379\"],\"csd_name_en\":[\"Harbour Grace\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Harbour Grace\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.33721641689264,49.12690810215023],[-55.365834075552776,49.11872290396742],[-55.33498091121132,49.09454085602823],[-55.32200508848595,49.09829050452307],[-55.33721641689264,49.12690810215023]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.341452098020504,\"lat\":49.111265578816514},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1006\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"1006021\"],\"csd_name_en\":[\"Peterview\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Peterview\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-56.05473543616475,48.98044997351141],[-56.046997178454305,48.96869849490622],[-56.03156351890513,48.98212294395209],[-56.05473543616475,48.98044997351141]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-56.04443204450806,\"lat\":48.9770904707899},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1006\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"1006026\"],\"csd_name_en\":[\"Badger\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Badger\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.5681493980079,49.288679612677186],[-53.57275238333266,49.2948118955761],[-53.60361279281719,49.30175759667772],[-53.623419711336005,49.31380019073636],[-53.63560671363279,49.31455231244624],[-53.644775342759544,49.301203976021235],[-53.633075502664845,49.28824613167946],[-53.611855496726854,49.2791035288498],[-53.56462390401521,49.25908651269911],[-53.54737129775747,49.26173890103938],[-53.5335935083659,49.27521609325881],[-53.56754440935813,49.281790210688996],[-53.5681493980079,49.288679612677186]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.593299301233394,\"lat\":49.28574154060245},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008004\"],\"csd_name_en\":[\"Lumsden\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Lumsden\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.033902900432494,49.57606336534068],[-54.27305571856614,49.558590938012394],[-54.30651238503494,49.56327075298636],[-54.326021641545,49.57248590509749],[-54.323251279501655,49.595361251359584],[-54.3424627369749,49.62145874298313],[-54.3648745014942,49.68344534455017],[-54.346057117929945,49.698985715008625],[-54.318270112691664,49.71561169230739],[-54.35796477502222,49.7484384940402],[-54.48068883458695,49.82818475126258],[-54.48344487021153,49.79012560525334],[-54.499679628397516,49.60350171760481],[-54.553681575269806,49.57029170516833],[-54.5729543992316,49.55527496865468],[-54.5428057275123,49.53514929624498],[-54.55024572970426,49.5251496255277],[-54.5381349689403,49.50752625289964],[-54.544450100619876,49.48504978434894],[-54.578404005498214,49.4639762961442],[-54.611660425762594,49.43616386345543],[-54.61221296321373,49.42452688914064],[-54.62451343240931,49.40065302888739],[-54.623528246332114,49.389097613590664],[-54.63428589587918,49.37693706003278],[-54.63691211273358,49.357515191734734],[-54.63303829222286,49.33817670252311],[-54.647160100678065,49.32146131032306],[-54.6421735068508,49.31353542805886],[-54.68136461111959,49.2459231250607],[-54.70317679732266,49.217466037560506],[-54.718434513734195,49.18738490631013],[-54.71833321387581,49.17347210323492],[-54.74745717590349,49.11934125144623],[-54.65460484010454,49.09359318066834],[-54.646190112828954,49.082477099644414],[-54.63101661000076,49.07755250089175],[-54.61081032957514,49.08161666478413],[-54.589566651827866,49.07985517097719],[-54.576994942827945,49.08502358148588],[-54.543986882682866,49.070511689803375],[-54.51806498871326,49.03611579410649],[-54.53122850291715,49.01639794937735],[-54.47738922142543,49.01052064322077],[-54.41901190201133,48.99342450459861],[-54.39959090594242,48.98152660114791],[-54.34153498725578,48.99440750252165],[-54.33886303709654,49.01015203180246],[-54.34681054400827,49.02634166029532],[-54.380013093496544,49.06140788822283],[-54.39400511809291,49.08254643029952],[-54.3862905641575,49.09908489445502],[-54.41334470615482,49.10969660175979],[-54.41813937915299,49.11572787926627],[-54.4079684910155,49.134420241017565],[-54.38870441490408,49.152282786966104],[-54.36406913675135,49.16557123330775],[-54.34197299693584,49.16868583348189],[-54.313179726580245,49.186367566775374],[-54.287041346056625,49.167364361127646],[-54.27841182918315,49.151355722267205],[-54.26370165754066,49.14866385525739],[-54.237647877090104,49.148278744077196],[-54.230486619735416,49.165294024407814],[-54.190404318075664,49.17935124205673],[-54.180918334501094,49.19392203554285],[-54.16071922200567,49.20912225366165],[-54.18162283616937,49.215769606297506],[-54.18110287425774,49.244233197184045],[-54.15222890233309,49.24942648322214],[-54.15344785620037,49.26508660985677],[-54.143747465471314,49.27135787601078],[-54.14298206992421,49.30995067536223],[-54.150506231359365,49.31652661594709],[-54.16383478696406,49.350337648827875],[-54.1190417827695,49.37959879125708],[-54.09915718643558,49.39679349527832],[-54.07713788414721,49.39448190196005],[-54.07395430169967,49.40071054110201],[-54.040481733255035,49.41639814003572],[-54.04630729913647,49.430587687255105],[-54.01145891686413,49.44927010635744],[-54.003323558776856,49.467445514778845],[-54.01826900403149,49.50051898944062],[-54.033902900432494,49.57606336534068]],[[-54.3801453204698,49.67348039681879],[-54.39840791848164,49.651129501583966],[-54.416350773238776,49.67150750230637],[-54.3801453204698,49.67348039681879]],[[-54.247606903833166,49.41648460297893],[-54.2647623529484,49.37311042402507],[-54.23027982158309,49.3442818410277],[-54.315883864372225,49.32678201404353],[-54.34240211265346,49.35384847649937],[-54.303212107141874,49.41014477731729],[-54.28727239787559,49.40101180499091],[-54.26553368340066,49.39746129935148],[-54.247606903833166,49.41648460297893]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.393883207648116,\"lat\":49.36501697188687},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008008\"],\"csd_name_en\":[\"Division No.  8\",\"Subd. L\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Division No.  8, Subd. L\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.3801453204698,49.67348039681879],[-54.416350773238776,49.67150750230637],[-54.39840791848164,49.651129501583966],[-54.3801453204698,49.67348039681879]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.39830133739674,\"lat\":49.665372466903044},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008024\"],\"csd_name_en\":[\"Change Islands\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Change Islands\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-56.63033949866635,49.79608581027984],[-56.638383245748486,49.78195693170921],[-56.593213186879865,49.77923692716406],[-56.5908292590636,49.79460201388437],[-56.63033949866635,49.79608581027984]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-56.61302817686093,\"lat\":49.78778536195787},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008093\"],\"csd_name_en\":[\"Westport\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Westport\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.73174441152717,51.58442719271381],[-55.752566379614265,51.57936170604368],[-55.762141396560466,51.56340839900272],[-55.745195097902126,51.552744913088446],[-55.73657469915824,51.539709492957215],[-55.71468148900275,51.53891458702284],[-55.710583117731424,51.54844780523048],[-55.69152511487428,51.560279903019854],[-55.713637817779954,51.56996539061514],[-55.732416643399276,51.555427427801106],[-55.743490395392186,51.561734385534415],[-55.73174441152717,51.58442719271381]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.729681345180055,\"lat\":51.558854106216025},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1009\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"1009035\"],\"csd_name_en\":[\"Raleigh\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Raleigh\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.753993813546906,46.42086499805591],[-63.74591759816178,46.42731672241376],[-63.75388976070355,46.4513710899196],[-63.78191176765435,46.44730344980202],[-63.79247961612851,46.440824590405995],[-63.79697410985986,46.42286520072627],[-63.753993813546906,46.42086499805591]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.770499675007194,\"lat\":46.43456674791636},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1103\"],\"cd_name_en\":[\"Prince\"],\"csd_code\":[\"1103018\"],\"csd_name_en\":[\"Sherbrooke\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Prince\",\"csd_name_fr\":\"Sherbrooke\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.994831695485914,46.46122977899464],[-64.01122196918155,46.459285783384054],[-63.9966478065023,46.446603019853704],[-63.994831695485914,46.46122977899464]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.00090049038992,\"lat\":46.45570619407746},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1103\"],\"cd_name_en\":[\"Prince\"],\"csd_code\":[\"1103029\"],\"csd_name_en\":[\"Wellington\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Prince\",\"csd_name_fr\":\"Wellington\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.43793179240251,44.79771878429998],[-64.43449291532303,44.79045546960681],[-64.42944193225179,44.79480600020156],[-64.43793179240251,44.79771878429998]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.4339555466591,\"lat\":44.794326751369454},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1206\"],\"cd_name_en\":[\"Lunenburg\"],\"csd_code\":[\"1206014\"],\"csd_name_en\":[\"Pennal 19\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Lunenburg\",\"csd_name_fr\":\"Pennal 19\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.48215439609698,44.647085998073756],[-63.483137109663915,44.6489846748724],[-63.47993540080983,44.65207908862095],[-63.48055674789836,44.65373264098386],[-63.48474319557926,44.65052628166595],[-63.487739460723965,44.64919395076029],[-63.48215439609698,44.647085998073756]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.48333072533132,\"lat\":44.6502256616615},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1209\"],\"cd_name_en\":[\"Halifax\"],\"csd_code\":[\"1209019\"],\"csd_name_en\":[\"Cole Harbour 30\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Halifax\",\"csd_name_fr\":\"Cole Harbour 30\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.20652154991446,45.84288096328786],[-64.22030049897121,45.83641548000268],[-64.2324667875689,45.81742290721397],[-64.2085542936477,45.80355189554493],[-64.17874020846938,45.82055853537773],[-64.19320428150498,45.84411852222501],[-64.20652154991446,45.84288096328786]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.20543301037473,\"lat\":45.82434700704486},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1211\"],\"cd_name_en\":[\"Cumberland\"],\"csd_code\":[\"1211011\"],\"csd_name_en\":[\"Amherst\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Cumberland\",\"csd_name_fr\":\"Amherst\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-60.99440918401566,45.97842004007382],[-60.98092690971177,45.99794938607314],[-60.99334224924971,46.02017295340914],[-61.0511138518365,46.11475939793834],[-60.9795031942992,46.214339138620176],[-60.86461511447383,46.3596014083127],[-60.84497462284838,46.37928439352911],[-60.814374767634185,46.42216169108044],[-60.747253497587806,46.505186150343405],[-60.66226047144704,46.73897601841447],[-60.60552978622604,46.89778959551104],[-60.560799512581795,47.017968547223475],[-60.550930049968876,47.05426246807742],[-60.56455553564255,47.06111074099753],[-60.62005029713496,47.06024732908227],[-60.71621857234544,46.97873972063849],[-60.80051570890266,46.87022343473043],[-60.91383766959624,46.783746847244906],[-60.93083046697096,46.75037465737664],[-61.02058845326252,46.66415802929582],[-61.04389705773959,46.64291195158844],[-61.065239627456755,46.603685598400034],[-61.0711592468645,46.56103999432855],[-61.08032448785542,46.523360192179496],[-61.07787828942363,46.500056826668875],[-61.11085311584477,46.500070731161934],[-61.198897145913094,46.42885656420352],[-61.274792670692925,46.36959831742323],[-61.30662227204754,46.24989232310467],[-61.294708494663254,46.24819529052862],[-61.289075307283355,46.22548768890458],[-61.27287831276104,46.19456439127183],[-61.270541398802514,46.17893570763428],[-61.23748516946586,46.16339677836813],[-61.19694750404419,46.13602133642825],[-61.15975902390151,46.10541604053319],[-61.153979169939866,46.094777284618644],[-61.12875212374711,46.074969313181846],[-61.11412299345563,46.0535624055819],[-61.09579418080172,46.03640150503103],[-61.04656938301626,46.0222524345072],[-61.02993240643422,46.01191106214701],[-60.99440918401566,45.97842004007382]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-60.93863110835142,\"lat\":46.51297168596243},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1215\"],\"cd_name_en\":[\"Inverness\"],\"csd_code\":[\"1215011\"],\"csd_name_en\":[\"Inverness\",\"Subd. A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of county municipality \\/ Subdivision municipalit\\u00e9 de comt\\u00e9\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Inverness\",\"csd_name_fr\":\"Inverness, Subd. A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.64055880225867,45.677833073449555],[-66.66509375377964,45.69772606142844],[-66.70233241321085,45.71003146005365],[-66.72778100402209,45.6785960680067],[-66.69563436636102,45.66914184694334],[-66.71232310578092,45.64653282175696],[-66.67121391519093,45.64077578797988],[-66.65828348714244,45.65669753141288],[-66.64055880225867,45.677833073449555]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.68357234105873,\"lat\":45.67527376660712},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1303\"],\"cd_name_en\":[\"Sunbury\"],\"csd_code\":[\"1303005\"],\"csd_name_en\":[\"Tracy\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Sunbury\",\"csd_name_fr\":\"Tracy\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.16636837518132,45.833930532916064],[-66.18177208609994,45.83290789489927],[-66.22604209187283,45.84403485058273],[-66.25171855583429,45.86061466415775],[-66.37466852046632,45.717481620732826],[-66.39551160092384,45.692173316530365],[-66.2577720534827,45.635048977960075],[-66.17706010564663,45.713561676044435],[-66.18219278102657,45.729222488883806],[-66.18462516972112,45.76474494396266],[-66.21044243406676,45.77533670084857],[-66.21037722472873,45.78650623131281],[-66.17679973661873,45.82606327495628],[-66.14081309803667,45.81460480717878],[-66.12564084136051,45.805742016317545],[-66.1344322236862,45.81828033257613],[-66.16636837518132,45.833930532916064]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.26733797513828,\"lat\":45.740717674816466},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1304\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1304004\"],\"csd_name_en\":[\"Gagetown\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Gagetown\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.17025357422163,45.96181553118999],[-65.19689116813176,45.94621989220366],[-65.21432068103768,45.94351608744654],[-65.17737435286016,45.91139560685618],[-65.15756843134639,45.91879744940326],[-65.1395342741932,45.93878977199867],[-65.17025357422163,45.96181553118999]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.17395935350903,\"lat\":45.93653127583975},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1307\"],\"cd_name_en\":[\"Westmorland\"],\"csd_code\":[\"1307029\"],\"csd_name_en\":[\"Petitcodiac\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Westmorland\",\"csd_name_fr\":\"Petitcodiac\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.58627696044707,46.95390357577511],[-65.55762659072643,46.97531839855222],[-65.56433910616856,46.9867197935488],[-65.58075619654437,46.982603206729124],[-65.58875201960798,46.96956281573516],[-65.6124361666628,46.95103786429233],[-65.6276387851367,46.953747596964924],[-65.63893562467821,46.92751263908272],[-65.66540160119422,46.9179597236574],[-65.7079412543345,46.88624725192015],[-65.73399346642829,46.88501642511241],[-65.75203409289414,46.87250358575211],[-65.81826046892938,46.8481265956649],[-65.78943574645106,46.824221763490705],[-65.78050621393461,46.83137668002142],[-65.74750868496147,46.83692868992053],[-65.71546289173139,46.851865820047365],[-65.68178432548908,46.86005964416866],[-65.64835449693484,46.8893062155101],[-65.62616288310605,46.90305698699065],[-65.61052750433385,46.9328662131799],[-65.58627696044707,46.95390357577511]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.69087812702786,\"lat\":46.8892319682079},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1309\"],\"cd_name_en\":[\"Northumberland\"],\"csd_code\":[\"1309011\"],\"csd_name_en\":[\"Derby\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Northumberland\",\"csd_name_fr\":\"Derby\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.16559650825111,46.12760830719588],[-67.1832688243027,46.1348019701051],[-67.18020006945645,46.14301620618857],[-67.19822640671758,46.1606353493245],[-67.21950169101335,46.135401593802285],[-67.21994468196586,46.125011649848574],[-67.20861348867253,46.11452524616111],[-67.187104111545,46.10925700723989],[-67.16559650825111,46.12760830719588]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.196170244248,\"lat\":46.13165893516691},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1310\"],\"cd_name_en\":[\"York\"],\"csd_code\":[\"1310025\"],\"csd_name_en\":[\"Millville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"York\",\"csd_name_fr\":\"Millville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.867260157943,46.77406691735062],[-66.744648449152,46.92735566730413],[-66.76162714956325,46.95270449822666],[-67.09020898805706,46.95324686244249],[-67.51912333420093,46.95224748802744],[-67.55729990131022,46.89606966498585],[-67.5467567414537,46.87464643543616],[-67.5438310226111,46.85755862977462],[-67.52781744023085,46.83408797183586],[-67.52091631038614,46.812185321562204],[-67.51364288302129,46.78634145983024],[-67.50496591433463,46.7700971843166],[-67.50323841447828,46.728725655848],[-67.46611896811511,46.661193336696826],[-67.46071190866346,46.655192441090904],[-67.26313261455228,46.69464929667634],[-66.867260157943,46.77406691735062]],[[-67.39112987909718,46.91843291948607],[-67.38646734213475,46.90138927441606],[-67.40440599486746,46.901785010544835],[-67.40278597123223,46.91569588729804],[-67.39112987909718,46.91843291948607]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.19161528857323,\"lat\":46.83621991261634},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1312\"],\"cd_name_en\":[\"Victoria\"],\"csd_code\":[\"1312008\"],\"csd_name_en\":[\"Gordon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Victoria\",\"csd_name_fr\":\"Gordon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.0154132965969,47.23396972833299],[-67.9917437621835,47.25082151959144],[-68.03497684545988,47.27350016021894],[-68.0467086947487,47.265520606730696],[-68.04292425878211,47.24811365657848],[-68.0154132965969,47.23396972833299]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.02282042392709,\"lat\":47.253422458890995},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1313\"],\"cd_name_en\":[\"Madawaska\"],\"csd_code\":[\"1313012\"],\"csd_name_en\":[\"Sainte-Anne-de-Madawaska\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Madawaska\",\"csd_name_fr\":\"Sainte-Anne-de-Madawaska\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.13512828673551,47.794839817550944],[-65.1391535042365,47.80258176610548],[-65.11749937312455,47.81094981092583],[-65.12743868830256,47.82656951256379],[-65.14893928500926,47.82473060093587],[-65.16625928798891,47.816884597041195],[-65.18143819693844,47.819324399343806],[-65.21739646586055,47.80663047408063],[-65.20178307136055,47.78544203345547],[-65.17316571442662,47.778987027165414],[-65.14155205295283,47.78064663416294],[-65.1296479182516,47.78374183505266],[-65.13512828673551,47.794839817550944]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.16560368142092,\"lat\":47.80162357174413},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1315\"],\"cd_name_en\":[\"Gloucester\"],\"csd_code\":[\"1315038\"],\"csd_name_en\":[\"Grande-Anse\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Gloucester\",\"csd_name_fr\":\"Grande-Anse\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.36768199923623,48.386025228654916],[-64.27665845959535,48.41391325151046],[-64.15040721651376,48.469244183718736],[-64.14111970786551,48.47705834489338],[-64.1273492058324,48.50215028790154],[-64.13163960484651,48.69698507850373],[-64.37709684773439,48.695834971527084],[-64.45068437685318,48.69440462863005],[-64.45261820930996,48.51779000792409],[-64.51703797075156,48.495763072833725],[-64.51112732720327,48.487726721152335],[-64.49602898517024,48.467760521661006],[-64.4601414147939,48.4792791417667],[-64.44930161251212,48.465050658995345],[-64.4308217456355,48.47105183736253],[-64.36768199923623,48.386025228654916]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.29832167794162,\"lat\":48.5604489296655},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2402\"],\"cd_name_en\":[\"Le Rocher-Perc\\u00e9\"],\"csd_code\":[\"2402005\"],\"csd_name_en\":[\"Perc\\u00e9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Rocher-Perc\\u00e9\",\"csd_name_fr\":\"Perc\\u00e9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.91468995868546,48.00471800988159],[-64.823900518667,48.02786085561012],[-64.7096232988019,48.05919646548672],[-64.6169045397173,48.09743885102886],[-64.60760522527968,48.105122932115556],[-64.66161095674944,48.13667786419827],[-64.7646027384214,48.20065252099251],[-64.79717377049305,48.22147957107934],[-64.95754063104748,48.32828357599236],[-65.13526975116052,48.24599993006962],[-65.13324850569231,48.2428912829211],[-65.02987682331974,48.103205918820294],[-64.91468995868546,48.00471800988159]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.89403358714603,\"lat\":48.15866757020882},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2402\"],\"cd_name_en\":[\"Le Rocher-Perc\\u00e9\"],\"csd_code\":[\"2402047\"],\"csd_name_en\":[\"Port-Daniel--Gascons\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Rocher-Perc\\u00e9\",\"csd_name_fr\":\"Port-Daniel--Gascons\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.7060770532681,48.90199870162957],[-66.53993113541033,48.957815323709035],[-66.63395203116768,49.019192978597495],[-66.70009063239496,48.99659473126896],[-66.70619229770031,49.00004672541286],[-66.69941687765305,48.98861841020489],[-66.69434105997692,48.9521222465809],[-66.69977582050464,48.92894868721122],[-66.69656281508843,48.91966108723351],[-66.71579776927533,48.90921236716277],[-66.7060770532681,48.90199870162957]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.64005211511787,\"lat\":48.9636396922119},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2404\"],\"cd_name_en\":[\"La Haute-Gasp\\u00e9sie\"],\"csd_code\":[\"2404904\"],\"csd_name_en\":[\"Coul\\u00e9e-des-Adolphe\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Haute-Gasp\\u00e9sie\",\"csd_name_fr\":\"Coul\\u00e9e-des-Adolphe\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.45837409551231,48.41033588800282],[-67.4743060635259,48.437616863128625],[-67.51271746264628,48.42620966946328],[-67.52151792986376,48.44091698944909],[-67.60687975193181,48.38349848356227],[-67.5740746593361,48.33172990793588],[-67.55307171647522,48.3366072519682],[-67.52833741026622,48.29503392451157],[-67.50926100682912,48.30172302189465],[-67.44725007550231,48.31647909754671],[-67.46333088192465,48.342279324492544],[-67.42434094538142,48.35236407662766],[-67.45837409551231,48.41033588800282]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.5131740929775,\"lat\":48.369447475499705},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2407\"],\"cd_name_en\":[\"La Matap\\u00e9dia\"],\"csd_code\":[\"2407030\"],\"csd_name_en\":[\"Saint-L\\u00e9on-le-Grand\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Matap\\u00e9dia\",\"csd_name_fr\":\"Saint-L\\u00e9on-le-Grand\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.22776417887178,48.45485854599474],[-67.17556316033011,48.502379660509675],[-67.23456236475492,48.531019613507226],[-67.25007699911079,48.53860269948769],[-67.2893543454965,48.502608231729496],[-67.31278083107473,48.51431186733113],[-67.33892730822735,48.49144422410868],[-67.36520123036445,48.46787196161703],[-67.33981568340674,48.4551686608691],[-67.26738665209979,48.420066257572195],[-67.22776417887178,48.45485854599474]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.26900963003209,\"lat\":48.480103181541025},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2407\"],\"cd_name_en\":[\"La Matap\\u00e9dia\"],\"csd_code\":[\"2407065\"],\"csd_name_en\":[\"Saint-Alexandre-des-Lacs\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Matap\\u00e9dia\",\"csd_name_fr\":\"Saint-Alexandre-des-Lacs\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.70426150727766,48.68222899555109],[-67.76098546278276,48.71538341595316],[-67.77471680550873,48.70502862480892],[-67.79161923879768,48.71606521324303],[-67.86780694802876,48.658802385139836],[-67.90969134199183,48.6271002017129],[-67.9166632901823,48.631073968171144],[-67.92421567984924,48.6252691395631],[-67.90590299204524,48.614538193507585],[-67.89798699991785,48.60056571455636],[-67.88306510171752,48.6112246924328],[-67.85961207017615,48.59746522582692],[-67.82834033154263,48.62068393076787],[-67.79569641530558,48.60030821103763],[-67.73757541540044,48.643184196347],[-67.72068552452079,48.63319017613781],[-67.67678136636819,48.665979103160055],[-67.70426150727766,48.68222899555109]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.79643256097182,\"lat\":48.654515104297985},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2407\"],\"cd_name_en\":[\"La Matap\\u00e9dia\"],\"csd_code\":[\"2407105\"],\"csd_name_en\":[\"Saint-Damase\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Matap\\u00e9dia\",\"csd_name_fr\":\"Saint-Damase\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.14486530566879,48.607048263316486],[-68.17524364120281,48.59235363263882],[-68.19274863479143,48.60266348749828],[-68.18147362562354,48.609913529870674],[-68.20105608354164,48.62001874223488],[-68.22029648447753,48.605001358827515],[-68.21719155733147,48.59119412900648],[-68.20301911587981,48.58073791035002],[-68.25331735911631,48.558658439598915],[-68.2353302368805,48.54797186167222],[-68.23433770193131,48.54840729777218],[-68.2164889609789,48.55480795800597],[-68.12511611219993,48.598207971458386],[-68.14486530566879,48.607048263316486]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.19365363631807,\"lat\":48.58441097419754},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2409\"],\"cd_name_en\":[\"La Mitis\"],\"csd_code\":[\"2409077\"],\"csd_name_en\":[\"Mont-Joli\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Mitis\",\"csd_name_fr\":\"Mont-Joli\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.7242206253403,47.61121719134783],[-69.75459950229805,47.63121702191135],[-69.76279604660947,47.62500362514171],[-69.87538338923756,47.697873328018176],[-69.9216867981357,47.65042728918059],[-69.7980153730878,47.565667604386185],[-69.77426053878872,47.55993906315815],[-69.75286397653475,47.572727848135465],[-69.76973297329113,47.591753222979825],[-69.7548635676319,47.60478823178941],[-69.74514829210933,47.59895259235895],[-69.7242206253403,47.61121719134783]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.82671361114879,\"lat\":47.62730249524739},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2414\"],\"cd_name_en\":[\"Kamouraska\"],\"csd_code\":[\"2414045\"],\"csd_name_en\":[\"Saint-Germain\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Kamouraska\",\"csd_name_fr\":\"Saint-Germain\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.10726263155631,46.85930600700176],[-71.04007435791993,46.8828715660506],[-71.0134786542028,46.90134753608705],[-70.99591964060136,46.90931132344795],[-71.03752848837874,46.937274958317616],[-71.05332570162868,46.92636336246315],[-71.10317108069428,46.89780713520739],[-71.13359627607889,46.88135592474629],[-71.13845019929651,46.875873019812246],[-71.10726263155631,46.85930600700176]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.06615007306874,\"lat\":46.89603843793588},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2420\"],\"cd_name_en\":[\"L'\\u00cele-d'Orl\\u00e9ans\"],\"csd_code\":[\"2420025\"],\"csd_name_en\":[\"Saint-Pierre-de-l'\\u00cele-d'Orl\\u00e9ans\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"L'\\u00cele-d'Orl\\u00e9ans\",\"csd_name_fr\":\"Saint-Pierre-de-l'\\u00cele-d'Orl\\u00e9ans\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.70806522171863,46.4659702047637],[-70.74398111289257,46.49390978924796],[-70.75418985708065,46.48712330718302],[-70.76815692622004,46.492070397368224],[-70.8138380274035,46.52836043597107],[-70.81939735541921,46.52475133784235],[-70.8367390093133,46.5134358691075],[-70.89811050337185,46.473371934010565],[-70.85101550826053,46.43602796175991],[-70.80115157198104,46.3815176488398],[-70.78745690990166,46.388925433326925],[-70.75796286304858,46.362079258759074],[-70.68881240670324,46.407079374846475],[-70.7235321748463,46.43471041362022],[-70.69563718808601,46.45629145177414],[-70.70806522171863,46.4659702047637]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.78692308545295,\"lat\":46.44664372533334},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2426\"],\"cd_name_en\":[\"La Nouvelle-Beauce\"],\"csd_code\":[\"2426005\"],\"csd_name_en\":[\"Frampton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Nouvelle-Beauce\",\"csd_name_fr\":\"Frampton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.82426331540668,46.26654705585097],[-70.8469226512773,46.2848771053449],[-70.87353852045385,46.28714369936376],[-70.88989211303092,46.31586079548721],[-70.92245837859737,46.33616737658157],[-70.92369808551476,46.34448444099411],[-70.94840251223346,46.33877796167862],[-70.94747448039959,46.3245439772597],[-70.9304707325664,46.30782316796121],[-70.93264383506798,46.29742086084526],[-70.9187901577006,46.28660876807978],[-70.93635975902245,46.26759017765358],[-70.90336856684776,46.244375880530384],[-70.8949281831366,46.248251834966105],[-70.87351973129493,46.23541372904857],[-70.82426331540668,46.26654705585097]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.89403386198414,\"lat\":46.28388930275039},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2427\"],\"cd_name_en\":[\"Robert-Cliche\"],\"csd_code\":[\"2427050\"],\"csd_name_en\":[\"Saint-Joseph-des-\\u00c9rables\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Robert-Cliche\",\"csd_name_fr\":\"Saint-Joseph-des-\\u00c9rables\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.27132478169194,46.50670869957642],[-70.31699680882717,46.53807468472154],[-70.33385492743375,46.52640974349284],[-70.36337581428263,46.54697142659104],[-70.39642039722696,46.52907710535226],[-70.41449773686759,46.50965502870359],[-70.38820355644158,46.49296872910047],[-70.38980017231634,46.47634734270134],[-70.41108388737065,46.46177709584703],[-70.40534164565906,46.45525744443501],[-70.3918150175676,46.46404347959382],[-70.35888289341975,46.44549290597665],[-70.32108549695685,46.471151857253616],[-70.27132478169194,46.50670869957642]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.3491983845915,\"lat\":46.49888215452695},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2428\"],\"cd_name_en\":[\"Les Etchemins\"],\"csd_code\":[\"2428065\"],\"csd_name_en\":[\"Sainte-Sabine\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Etchemins\",\"csd_name_fr\":\"Sainte-Sabine\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.04645179985147,46.46419209478459],[-70.18905732711413,46.563151835529915],[-70.27132478169194,46.50670869957642],[-70.32108549695685,46.471151857253616],[-70.23597249601126,46.41385395218664],[-70.1579030198737,46.36072609563989],[-70.14808330303019,46.359000001272406],[-70.12815139652706,46.378928410581885],[-70.1107370927266,46.38641909926439],[-70.09514790268747,46.409950198366275],[-70.07616508923937,46.4094864009013],[-70.0570109127117,46.4149118093031],[-70.04645179985147,46.46419209478459]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.1743306006117,\"lat\":46.46084742742113},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2428\"],\"cd_name_en\":[\"Les Etchemins\"],\"csd_code\":[\"2428070\"],\"csd_name_en\":[\"Saint-Camille-de-Lellis\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Etchemins\",\"csd_name_fr\":\"Saint-Camille-de-Lellis\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.7711913856653,46.01155934226715],[-70.81185727304391,46.01170083390479],[-70.8119667945727,46.03511193080702],[-70.85372313902671,46.03469380204981],[-70.85273227861634,46.01136047626662],[-70.89638184267797,46.01152807306654],[-70.89768917837694,45.995740387882755],[-70.89892062942431,45.945303588157955],[-70.87775257959206,45.94532847234204],[-70.87823026932976,45.924906915299715],[-70.8572551139398,45.92450588540547],[-70.85756925835702,45.912480037298494],[-70.73114470882939,45.914268832827624],[-70.7290760971465,45.9864968937533],[-70.77106157082929,45.98839758577104],[-70.7711913856653,46.01155934226715]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.81553719824257,\"lat\":45.96589096689328},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2429\"],\"cd_name_en\":[\"Beauce-Sartigan\"],\"csd_code\":[\"2429038\"],\"csd_name_en\":[\"Saint-Honor\\u00e9-de-Shenley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Beauce-Sartigan\",\"csd_name_fr\":\"Saint-Honor\\u00e9-de-Shenley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.58281455234405,46.60706838434529],[-71.5538584935954,46.62467660067699],[-71.56397273706266,46.632331166601695],[-71.54369773212025,46.64004804384393],[-71.50566293161499,46.64455626512726],[-71.49003393595503,46.63377555362628],[-71.44451442687624,46.648501729132725],[-71.5177339010221,46.69832704324918],[-71.53370248851193,46.69536182606904],[-71.56739827193478,46.682686624603825],[-71.59661402979656,46.68148727215324],[-71.62434983431434,46.672882231575585],[-71.64383413366431,46.66109780701834],[-71.6712369136924,46.652946307739256],[-71.62531777879543,46.62212374922576],[-71.59731844600344,46.606650181320866],[-71.58281455234405,46.60706838434529]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.56150161227106,\"lat\":46.654154897830715},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2433\"],\"cd_name_en\":[\"Lotbini\\u00e8re\"],\"csd_code\":[\"2433095\"],\"csd_name_en\":[\"Saint-Antoine-de-Tilly\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Lotbini\\u00e8re\",\"csd_name_fr\":\"Saint-Antoine-de-Tilly\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.724092599127,46.57465327902524],[-71.65963755468294,46.57289478121514],[-71.65122406899094,46.58434979359283],[-71.66406256228235,46.597216264901206],[-71.63158580241438,46.60177242733845],[-71.6519933410297,46.61577779271764],[-71.62531777879543,46.62212374922576],[-71.6712369136924,46.652946307739256],[-71.70434299917594,46.64844881729885],[-71.74265703494213,46.649145088313254],[-71.78837317893506,46.653115483648214],[-71.84139560242538,46.677100737446466],[-71.87120279895609,46.67793474199714],[-71.8408797479629,46.656551112287055],[-71.85481132751154,46.65116347545104],[-71.85569346010804,46.63326017638249],[-71.82881385200383,46.63310571945046],[-71.79518333330854,46.624625156813735],[-71.81298136203628,46.601599293340556],[-71.80047437173249,46.60820379440482],[-71.79075611141424,46.59963691799448],[-71.77135236160177,46.60790300832667],[-71.724092599127,46.57465327902524]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.73633116895739,\"lat\":46.62286979177194},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2433\"],\"cd_name_en\":[\"Lotbini\\u00e8re\"],\"csd_code\":[\"2433102\"],\"csd_name_en\":[\"Sainte-Croix\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Lotbini\\u00e8re\",\"csd_name_fr\":\"Sainte-Croix\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.63329244964454,47.114812607298376],[-72.70954899377521,47.06175749180017],[-72.86145111542852,47.167430350785075],[-72.88918296957584,47.18285076258363],[-72.88301655555348,47.1686732698496],[-72.89427954321808,47.1320543674987],[-72.90900826447312,47.120688861172674],[-72.92102938634078,47.097070047988026],[-72.91985169218319,47.070639544972686],[-72.92932225453777,47.04854381826336],[-72.92395057586963,47.03883384249897],[-72.93876028741614,47.02906481943602],[-72.93584662209712,47.01056371470936],[-72.90277381442841,46.97530984058004],[-72.90719491987188,46.948780452617875],[-72.90109196662566,46.93872495935208],[-72.90666130433812,46.92904695115113],[-72.92762127313969,46.92318689606052],[-72.93088602900339,46.90393561660572],[-72.92710077397632,46.8899114207641],[-72.91634789920269,46.88160641933803],[-72.90474017430867,46.86259049757829],[-72.89386231600542,46.860993179129395],[-72.87795526590543,46.869885016193756],[-72.8586018530019,46.861428722641996],[-72.82222451810479,46.85611483386137],[-72.8109943320487,46.855576049806736],[-72.75883697879871,46.89533855057948],[-72.71532927349553,46.86696965471759],[-72.61378516367402,46.94031360591075],[-72.56557692045695,46.90801981948064],[-72.54785546403338,46.92365320968954],[-72.51710534879052,46.944934289405474],[-72.56128252185734,46.97120063600282],[-72.5781349889759,46.98197551258194],[-72.56260554274238,46.99338390896846],[-72.60437146970507,47.02301683701644],[-72.59216776117066,47.03232482548672],[-72.60764651327683,47.04127666750067],[-72.59751117545655,47.048728808391125],[-72.6119170594776,47.058704322366054],[-72.60169128360299,47.06634792678475],[-72.62857280686028,47.08922681490135],[-72.61030635520136,47.10022024673131],[-72.63329244964454,47.114812607298376]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.7666124023446,\"lat\":46.9963416191058},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2435\"],\"cd_name_en\":[\"M\\u00e9kinac\"],\"csd_code\":[\"2435055\"],\"csd_name_en\":[\"Trois-Rives\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"M\\u00e9kinac\",\"csd_name_fr\":\"Trois-Rives\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.64493481543575,45.81877100614097],[-71.74058193491958,45.870220856069466],[-71.76996406628203,45.885296089712995],[-71.83227415823774,45.82610509204368],[-71.70753307841404,45.7613157233956],[-71.64493481543575,45.81877100614097]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.73873808501271,\"lat\":45.82312772561982},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2440\"],\"cd_name_en\":[\"Les Sources\"],\"csd_code\":[\"2440010\"],\"csd_name_en\":[\"Saint-Adrien\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Sources\",\"csd_name_fr\":\"Saint-Adrien\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.83188700615972,45.60048456391812],[-71.77528794266982,45.6503055871433],[-71.75295711598861,45.67003545996115],[-71.76531427705918,45.676486887970924],[-71.90504848662069,45.750173997395564],[-71.9112805529598,45.75344413312523],[-71.96172247065657,45.70656016330056],[-71.89159378557906,45.668493093082716],[-71.91938025063422,45.647556204786504],[-71.83188700615972,45.60048456391812]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.85874084888779,\"lat\":45.676907847571634},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2440\"],\"cd_name_en\":[\"Les Sources\"],\"csd_code\":[\"2440032\"],\"csd_name_en\":[\"Saint-Georges-de-Windsor\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Sources\",\"csd_name_fr\":\"Saint-Georges-de-Windsor\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.15857453078578,45.52285681942696],[-71.16524707021219,45.53565755528401],[-71.21625854079687,45.569816440929024],[-71.25343921172463,45.54359101701489],[-71.25399789518343,45.51212486410829],[-71.29748313778879,45.51095265461306],[-71.30472184636052,45.506681632635846],[-71.30843432802509,45.503897016354124],[-71.36983413540486,45.45973258980715],[-71.34391106296395,45.46026232658902],[-71.25871841268024,45.46074072503756],[-71.16026560494204,45.45825940923555],[-71.15857453078578,45.52285681942696]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.2359127294801,\"lat\":45.499025140323155},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2441\"],\"cd_name_en\":[\"Le Haut-Saint-Fran\\u00e7ois\"],\"csd_code\":[\"2441075\"],\"csd_name_en\":[\"Hampden\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Saint-Fran\\u00e7ois\",\"csd_name_fr\":\"Hampden\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.25343921172463,45.54359101701489],[-71.21625854079687,45.569816440929024],[-71.23255949112826,45.58074206785369],[-71.20439644516512,45.60292927643127],[-71.23422029858959,45.62170614388393],[-71.20726319730223,45.64248205157448],[-71.3062981006832,45.708910909014655],[-71.31294038270663,45.7131719816175],[-71.35416202771474,45.683471023482404],[-71.46387913934194,45.60678065902655],[-71.46462278882922,45.604278388125046],[-71.30843432802509,45.503897016354124],[-71.30472184636052,45.506681632635846],[-71.32005418180252,45.51647454844012],[-71.28729012455148,45.5401331493768],[-71.27170517334297,45.530743555544895],[-71.25343921172463,45.54359101701489]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.32202020018771,\"lat\":45.61031825576637},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2441\"],\"cd_name_en\":[\"Le Haut-Saint-Fran\\u00e7ois\"],\"csd_code\":[\"2441085\"],\"csd_name_en\":[\"Lingwick\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Saint-Fran\\u00e7ois\",\"csd_name_fr\":\"Lingwick\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.33424053775856,45.487727857512844],[-72.2954064223086,45.48924449648885],[-72.2955408882494,45.50500865026938],[-72.33600131750217,45.50341451908791],[-72.33424053775856,45.487727857512844]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.31529766263068,\"lat\":45.496402774738726},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2442\"],\"cd_name_en\":[\"Le Val-Saint-Fran\\u00e7ois\"],\"csd_code\":[\"2442055\"],\"csd_name_en\":[\"Valcourt\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Val-Saint-Fran\\u00e7ois\",\"csd_name_fr\":\"Valcourt\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.69455834911464,45.06870775808665],[-72.69448918422816,45.07592597646908],[-72.77459525544263,45.07694387347675],[-72.87786202142124,45.07589981228418],[-72.92837423263046,45.075702684461255],[-72.92845191450108,45.01515220539769],[-72.84830545663824,45.016692419246795],[-72.6918561990775,45.01550921400429],[-72.69455834911464,45.06870775808665]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.81062503139131,\"lat\":45.046102554971604},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2446\"],\"cd_name_en\":[\"Brome-Missisquoi\"],\"csd_code\":[\"2446010\"],\"csd_name_en\":[\"Frelighsburg\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Brome-Missisquoi\",\"csd_name_fr\":\"Frelighsburg\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.00929116464626,45.07598568666101],[-73.01130172335164,45.149968421123475],[-73.0457654193303,45.14897295764973],[-73.02935437444282,45.13942099504211],[-73.0379460806913,45.12242056879098],[-73.03742848453592,45.09911269391761],[-73.04221921528514,45.07590509641093],[-73.00929116464626,45.07598568666101]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.02401863894373,\"lat\":45.11092799381943},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2446\"],\"cd_name_en\":[\"Brome-Missisquoi\"],\"csd_code\":[\"2446030\"],\"csd_name_en\":[\"Stanbridge Station\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Brome-Missisquoi\",\"csd_name_fr\":\"Stanbridge Station\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.40340394978328,45.155747572392016],[-72.40193758723149,45.21239598511284],[-72.39960446458488,45.30802651706105],[-72.4627113780088,45.307435325168676],[-72.47824482103177,45.30734740863279],[-72.47978164393498,45.15791005681265],[-72.40340394978328,45.155747572392016]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.4401154985359,\"lat\":45.23260135244112},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2446\"],\"cd_name_en\":[\"Brome-Missisquoi\"],\"csd_code\":[\"2446065\"],\"csd_name_en\":[\"Bolton-Ouest\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Brome-Missisquoi\",\"csd_name_fr\":\"Bolton-Ouest\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.70184164353901,45.45724325834119],[-72.69277950833506,45.470097185121396],[-72.68950337830366,45.5097250804722],[-72.69084718854526,45.52384672466353],[-72.77316290455771,45.52506149938446],[-72.77137961360323,45.53825629930889],[-72.79982537005563,45.53775858720525],[-72.80825290338309,45.51183491010523],[-72.81719959565466,45.47275519717392],[-72.82012506418359,45.4566345137699],[-72.774383923036,45.457810819502946],[-72.70184164353901,45.45724325834119]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.75428331322432,\"lat\":45.49249909030467},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2447\"],\"cd_name_en\":[\"La Haute-Yamaska\"],\"csd_code\":[\"2447055\"],\"csd_name_en\":[\"Sainte-C\\u00e9cile-de-Milton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Haute-Yamaska\",\"csd_name_fr\":\"Sainte-C\\u00e9cile-de-Milton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.65393673566028,45.60506553922369],[-72.61583927413524,45.605095728983876],[-72.49663437520711,45.604106451725166],[-72.49555193790785,45.63024774256388],[-72.47335024072117,45.63027514746982],[-72.47137112477004,45.67356615819592],[-72.57593779747928,45.6721866592674],[-72.57672507901488,45.65908591620674],[-72.65158556200342,45.65910800955198],[-72.65236465001597,45.63300135758213],[-72.6567146393891,45.62112244395215],[-72.65393673566028,45.60506553922369]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.56192112466141,\"lat\":45.637213477388876},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2448\"],\"cd_name_en\":[\"Acton\"],\"csd_code\":[\"2448028\"],\"csd_name_en\":[\"Acton Vale\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Acton\",\"csd_name_fr\":\"Acton Vale\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.1567966960984,46.04814188484589],[-73.17481537912245,46.05063721732167],[-73.17568991262591,46.05986031062222],[-73.15458322727889,46.103007810453796],[-73.12287636564542,46.11965146564823],[-73.1464254594132,46.13596392078188],[-73.18035517280902,46.111225340882704],[-73.21322164787057,46.12036551433262],[-73.21771368438792,46.12836478932213],[-73.23610883899943,46.136714446193466],[-73.2422543936813,46.11349445456636],[-73.27163370198508,46.11985931201042],[-73.28530677073532,46.116515716654206],[-73.28947387921541,46.098139953847564],[-73.2823322390579,46.075288975495134],[-73.25579463172772,46.0706585551905],[-73.23370925904011,46.055081215259094],[-73.18394947235127,46.020406425192014],[-73.17349623474,46.01526047181784],[-73.15900148843774,46.04201293958059],[-73.15539003420902,46.04479035601655],[-73.1567966960984,46.04814188484589]],[[-73.17290997224228,46.09136832646113],[-73.1783954310633,46.06692092894699],[-73.20620018101687,46.073978947218905],[-73.19748340174917,46.09546361285047],[-73.17290997224228,46.09136832646113]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.21206298412801,\"lat\":46.085279040813724},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2452\"],\"cd_name_en\":[\"D'Autray\"],\"csd_code\":[\"2452040\"],\"csd_name_en\":[\"Sainte-Genevi\\u00e8ve-de-Berthier\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"D'Autray\",\"csd_name_fr\":\"Sainte-Genevi\\u00e8ve-de-Berthier\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.23610883899943,46.136714446193466],[-73.25397195710761,46.1497122681245],[-73.28901568508715,46.161941046601385],[-73.31077965380408,46.2035664039354],[-73.30363828953028,46.2094261699088],[-73.32096994651828,46.26436606610817],[-73.36687028364709,46.235779017624616],[-73.39412796572236,46.218308335760554],[-73.35477278590037,46.19040490343415],[-73.3625278420211,46.170996201494354],[-73.28530677073532,46.116515716654206],[-73.27163370198508,46.11985931201042],[-73.2422543936813,46.11349445456636],[-73.23610883899943,46.136714446193466]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.31831012369912,\"lat\":46.183343912016205},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2452\"],\"cd_name_en\":[\"D'Autray\"],\"csd_code\":[\"2452070\"],\"csd_name_en\":[\"Saint-Norbert\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"D'Autray\",\"csd_name_fr\":\"Saint-Norbert\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.06638502980456,45.894596224524804],[-73.14658469655609,45.95530069994147],[-73.15024935850391,45.935307433545525],[-73.15349369080558,45.884114062110065],[-73.14057739200159,45.82969154505609],[-73.12359389446543,45.817980082920464],[-73.11360448474056,45.83178517796211],[-73.08163652189808,45.85124255469041],[-73.06638502980456,45.894596224524804]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.11739030565329,\"lat\":45.88424475538287},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2453\"],\"cd_name_en\":[\"Pierre-De Saurel\"],\"csd_code\":[\"2453032\"],\"csd_name_en\":[\"Saint-Ours\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Pierre-De Saurel\",\"csd_name_fr\":\"Saint-Ours\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.95292896081243,46.08430904327619],[-72.99682156743793,46.11232866178249],[-73.04378191010227,46.10725183866104],[-73.0942541566164,46.05725717269709],[-73.06982862049652,46.03364774917348],[-73.03551854166966,46.03786349874813],[-73.01218620958565,46.033587891925436],[-73.01083342254456,46.034057617528376],[-73.01334159778133,46.048744101160615],[-72.98463119710814,46.05574907078459],[-72.95292896081243,46.08430904327619]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.02557105697649,\"lat\":46.07265357953608},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2453\"],\"cd_name_en\":[\"Pierre-De Saurel\"],\"csd_code\":[\"2453065\"],\"csd_name_en\":[\"Sainte-Anne-de-Sorel\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Pierre-De Saurel\",\"csd_name_fr\":\"Sainte-Anne-de-Sorel\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.59233837108339,45.045763887858634],[-73.57928765392393,45.04295835676898],[-73.57864726658012,45.050600692066645],[-73.59233837108339,45.045763887858634]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.58342443052913,\"lat\":45.04644097889808},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2468\"],\"cd_name_en\":[\"Les Jardins-de-Napierville\"],\"csd_code\":[\"2468010\"],\"csd_name_en\":[\"Hemmingford\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Jardins-de-Napierville\",\"csd_name_fr\":\"Hemmingford\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.53837859669677,45.006114796705035],[-73.51062237236833,45.087330277889784],[-73.57171766862999,45.13340956034184],[-73.58592662107797,45.128545434173965],[-73.67106650064439,45.09934027833929],[-73.68352853903505,45.094483496084656],[-73.68630983806415,45.046316671581984],[-73.69431492257799,45.04629190222089],[-73.69493733526281,45.00278288003433],[-73.65154034928102,45.002643465234485],[-73.53837859669677,45.006114796705035]],[[-73.59233837108339,45.045763887858634],[-73.57864726658012,45.050600692066645],[-73.57928765392393,45.04295835676898],[-73.59233837108339,45.045763887858634]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.60459246288474,\"lat\":45.06000147838628},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2468\"],\"cd_name_en\":[\"Les Jardins-de-Napierville\"],\"csd_code\":[\"2468015\"],\"csd_name_en\":[\"Hemmingford\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Jardins-de-Napierville\",\"csd_name_fr\":\"Hemmingford\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.1948968680782,45.383506805517875],[-74.24272823873096,45.38887223942432],[-74.25828914514409,45.339621858945705],[-74.26615641880012,45.306884776523106],[-74.25265628419768,45.29725039594522],[-74.24468768452743,45.30701230829014],[-74.2190643954423,45.3238602101524],[-74.23068751865176,45.33215486489873],[-74.2206004952706,45.339385927503166],[-74.20884852993368,45.33099554584848],[-74.1964704639402,45.34132639430981],[-74.16890258532582,45.35242762217255],[-74.1948968680782,45.383506805517875]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.22467640812845,\"lat\":45.35035329589955},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2471\"],\"cd_name_en\":[\"Vaudreuil-Soulanges\"],\"csd_code\":[\"2471045\"],\"csd_name_en\":[\"Saint-Clet\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Vaudreuil-Soulanges\",\"csd_name_fr\":\"Saint-Clet\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.2294945002665,45.60052585925578],[-74.27920147517334,45.60535332310871],[-74.28782689498948,45.616562475219865],[-74.31680018545221,45.621955784337146],[-74.33291060097953,45.61791403015908],[-74.36100362251436,45.62132072620669],[-74.36876626784421,45.62758204954253],[-74.37124669248342,45.61699577869031],[-74.38829246744903,45.59983463787182],[-74.3845621126272,45.58564250542407],[-74.39738329539937,45.57054461453903],[-74.38087638693001,45.565904432501114],[-74.3628050619383,45.55385040800113],[-74.34909022355501,45.533702024928196],[-74.3424966503133,45.51823058131362],[-74.31883496602045,45.50487637620444],[-74.24497964237757,45.506438677605516],[-74.24712917831208,45.52458767369193],[-74.2798822092394,45.52326658957987],[-74.2748003295088,45.54490042995548],[-74.26294448471597,45.551485986027586],[-74.24090006309349,45.551825736334706],[-74.2294945002665,45.60052585925578]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.31076046971285,\"lat\":45.567858387146245},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2476\"],\"cd_name_en\":[\"Argenteuil\"],\"csd_code\":[\"2476008\"],\"csd_name_en\":[\"Saint-Andr\\u00e9-d'Argenteuil\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Argenteuil\",\"csd_name_fr\":\"Saint-Andr\\u00e9-d'Argenteuil\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.15064304724717,46.043700722151215],[-74.16810223170896,46.05534715568027],[-74.15931365557405,46.061249735504845],[-74.19842994049397,46.08620668791714],[-74.21258659553581,46.07728469109073],[-74.2010595795877,46.06880209924419],[-74.2494292386491,46.04110484910383],[-74.23460170573976,46.03016376644525],[-74.25957758784317,46.0130149918222],[-74.264066979676,46.000219059626964],[-74.26959516065757,45.981619257925665],[-74.26053024243888,45.97541082282842],[-74.20611128579851,46.01313508982611],[-74.17878245513175,46.02535119722821],[-74.15064304724717,46.043700722151215]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.21174894005904,\"lat\":46.03330574605043},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2478\"],\"cd_name_en\":[\"Les Laurentides\"],\"csd_code\":[\"2478010\"],\"csd_name_en\":[\"Val-David\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Laurentides\",\"csd_name_fr\":\"Val-David\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.61337325436908,46.26185994896974],[-74.63162411180753,46.26197087268473],[-74.63135892727735,46.276130783325],[-74.6528723036489,46.27663468604227],[-74.65019891188889,46.28756949364632],[-74.6787325178674,46.28729427005872],[-74.68061898708793,46.26584636208475],[-74.67587155001377,46.257224181499176],[-74.6750222420949,46.21972366002967],[-74.66019267253587,46.22078058186595],[-74.63758696863796,46.22144691375859],[-74.62828477335066,46.21686713075833],[-74.61337325436908,46.26185994896974]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.65105843145001,\"lat\":46.251532846936456},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2478\"],\"cd_name_en\":[\"Les Laurentides\"],\"csd_code\":[\"2478127\"],\"csd_name_en\":[\"Lac-Tremblant-Nord\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Laurentides\",\"csd_name_fr\":\"Lac-Tremblant-Nord\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.36073930487723,46.73113376643737],[-75.31948216339973,46.75868534940106],[-75.30646165292087,46.76994739548078],[-75.3222916895522,46.78102356731432],[-75.30307949555208,46.801612847817786],[-75.27034339272886,46.78714617245467],[-75.23533992984423,46.80452349823812],[-75.22717698154513,46.81441391420934],[-75.21176022929224,46.808387345859494],[-75.18969588421518,46.82806720689791],[-75.18398875774625,46.85008261177738],[-75.16896254722245,46.858985798286845],[-75.15816389181933,46.88555441350965],[-75.1956299649423,46.9108858862814],[-75.33257369463475,46.81550697525459],[-75.34873017568435,46.825528946282894],[-75.36993208551891,46.81080165137371],[-75.38629549975168,46.821439789723215],[-75.43846218593735,46.78472838764395],[-75.36073930487723,46.73113376643737]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.29058428154188,\"lat\":46.818154461862555},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2479\"],\"cd_name_en\":[\"Antoine-Labelle\"],\"csd_code\":[\"2479110\"],\"csd_name_en\":[\"Mont-Saint-Michel\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Antoine-Labelle\",\"csd_name_fr\":\"Mont-Saint-Michel\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.54499219419235,47.46252271635624],[-78.54528569585625,47.5578350110363],[-78.44170777439086,47.55943919102186],[-78.43510401728898,47.70218259800482],[-78.65495776261155,47.70230082799662],[-78.70919407220221,47.70250208333332],[-78.7366925905844,47.658079266141584],[-78.73683831675932,47.5965771682493],[-78.80554847618141,47.565410769501334],[-78.81991268608213,47.56524764234264],[-78.81962240894643,47.52269214177398],[-78.82172286307345,47.46244403165795],[-78.69710638877972,47.46352255358985],[-78.54499219419235,47.46252271635624]],[[-78.57004270103674,47.58265091004815],[-78.56783844642572,47.58024922487368],[-78.57860584333768,47.580251945719716],[-78.57471391471047,47.58313841045068],[-78.57004270103674,47.58265091004815]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.62625517294344,\"lat\":47.58386531474001},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2485\"],\"cd_name_en\":[\"T\\u00e9miscamingue\"],\"csd_code\":[\"2485070\"],\"csd_name_en\":[\"Laforce\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscamingue\",\"csd_name_fr\":\"Laforce\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.4641373202157,47.62635123578322],[-79.4427320234139,47.63051605854748],[-79.44299046027932,47.64863145412593],[-79.50433285793639,47.64823716602947],[-79.50427775277144,47.626460052168504],[-79.49091177954844,47.62646665325162],[-79.49078704672696,47.60426587733369],[-79.46166788558119,47.60549300100201],[-79.46429779530614,47.615611035097146],[-79.4641373202157,47.62635123578322]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.47520776314003,\"lat\":47.63084672957495},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2485\"],\"cd_name_en\":[\"T\\u00e9miscamingue\"],\"csd_code\":[\"2485806\"],\"csd_name_en\":[\"Timiskaming\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscamingue\",\"csd_name_fr\":\"Timiskaming\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.64571056851246,48.47380438912719],[-78.64721760047948,48.574503092224155],[-78.67919300501374,48.57469015123674],[-78.71218202006527,48.56998384667658],[-78.7112896249204,48.55288347681798],[-78.78891265289842,48.55253276012209],[-78.78894344223055,48.56055090560805],[-78.86476461466648,48.560824807624286],[-78.86447651717559,48.57497740526029],[-79.02713738519978,48.57483636968655],[-79.02739637136644,48.56111238397932],[-79.08264099729608,48.56120335713434],[-79.08262209649163,48.51750093502349],[-79.08247879708853,48.42966302122378],[-79.30018492493231,48.43002914280383],[-79.44730035485478,48.4305122922008],[-79.51737532513134,48.43159225760427],[-79.51769060380482,48.27620708532827],[-79.51763317710183,48.18712159508609],[-79.51775207308323,48.10141647858737],[-79.51748151198484,47.90828161662813],[-79.3871442892838,47.90821280851388],[-79.38631304472521,47.85127326195478],[-79.30163378821219,47.85115119179633],[-79.14912225470668,47.85110960956086],[-79.15059323051813,47.88104831645362],[-79.02438918289359,47.880297175218004],[-78.6533076164055,47.879967950912075],[-78.65495776261155,47.70230082799662],[-78.43510401728898,47.70218259800482],[-78.22468169879235,47.70158739017941],[-78.22134764367522,47.703321900356045],[-78.22033125001023,47.79651263193832],[-78.22119184478399,47.887411593011265],[-78.22054956382091,47.955084245238055],[-78.22015945669065,47.99546876074634],[-78.30540406983651,47.9957840631662],[-78.29102636829832,48.03293809740843],[-78.28962195778495,48.0476344507726],[-78.29976652483067,48.143035980620986],[-78.29824218297179,48.194090638666886],[-78.29841810813075,48.343059688060755],[-78.32148610700922,48.34525077728134],[-78.35509242284105,48.3166950401907],[-78.38941924956109,48.297041879177264],[-78.42804446222733,48.28358805700138],[-78.42919192408398,48.241068359788486],[-78.5434434516932,48.240876227950714],[-78.5391547362952,48.43047287956552],[-78.64588873973562,48.43025083464874],[-78.64571056851246,48.47380438912719]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.87312450383128,\"lat\":48.13253458886437},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2486\"],\"cd_name_en\":[\"Rouyn-Noranda\"],\"csd_code\":[\"2486042\"],\"csd_name_en\":[\"Rouyn-Noranda\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Rouyn-Noranda\",\"csd_name_fr\":\"Rouyn-Noranda\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.51737532513134,48.43159225760427],[-79.44730035485478,48.4305122922008],[-79.30018492493231,48.43002914280383],[-79.29924144675721,48.50317310023977],[-79.51751668722851,48.503268780407424],[-79.51737532513134,48.43159225760427]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.40826365310635,\"lat\":48.466900768742974},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2487\"],\"cd_name_en\":[\"Abitibi-Ouest\"],\"csd_code\":[\"2487902\"],\"csd_name_en\":[\"Lac-Duparquet\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi-Ouest\",\"csd_name_fr\":\"Lac-Duparquet\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.8780058592808,48.77757184302154],[-77.87863854765295,49.000080745431546],[-77.98703932952657,49.00001587923065],[-77.98774113621668,48.86352104105131],[-78.20580755193983,48.86416405800161],[-78.20603996342327,48.73429867854193],[-78.18451743042507,48.734287159481504],[-78.18529639195604,48.71940910120311],[-78.03653833516903,48.719692912650686],[-77.8791866388695,48.71929736660825],[-77.8780058592808,48.77757184302154]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.01515761218054,\"lat\":48.82567075919017},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2488\"],\"cd_name_en\":[\"Abitibi\"],\"csd_code\":[\"2488065\"],\"csd_name_en\":[\"Saint-Dominique-du-Rosaire\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi\",\"csd_name_fr\":\"Saint-Dominique-du-Rosaire\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.02779559419204,48.81984864513051],[-72.0105551321821,48.81670536387516],[-72.01591548186498,48.802561677072084],[-71.98168326457643,48.79655118020955],[-71.9928061664705,48.76810156148988],[-71.89247212238527,48.75104280687259],[-71.85381586465837,48.849414843987276],[-71.9050897797808,48.85864691646397],[-71.96773622046472,48.86990751928147],[-71.97886175107575,48.841604985522245],[-71.99778289576545,48.845191680409734],[-72.00472925279317,48.830731680522106],[-72.02217768455378,48.83384205164546],[-72.02779559419204,48.81984864513051]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.9347492574234,\"lat\":48.812260422386956},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2492\"],\"cd_name_en\":[\"Maria-Chapdelaine\"],\"csd_code\":[\"2492005\"],\"csd_name_en\":[\"Saint-Augustin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Maria-Chapdelaine\",\"csd_name_fr\":\"Saint-Augustin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.48325906632186,48.51341581507937],[-71.53373968424847,48.53252980286184],[-71.54541377212946,48.51676062682376],[-71.5561537995923,48.48998569659912],[-71.5343367763397,48.486200402845675],[-71.55468116797356,48.43248787144232],[-71.5593043633101,48.43331111425323],[-71.57014499559904,48.40720034358485],[-71.57717403481658,48.3912160450444],[-71.55383661945785,48.38679655812905],[-71.55077410263193,48.39388893189457],[-71.52467584095186,48.38918027846714],[-71.51738655388364,48.40445037724247],[-71.48887802853345,48.39910803526278],[-71.47651797234988,48.43509410693942],[-71.38285424201382,48.41869296536935],[-71.37750906126895,48.431903714989296],[-71.48614642575458,48.45269003204487],[-71.46910008806155,48.49902329536399],[-71.463183383158,48.50681214732489],[-71.48325906632186,48.51341581507937]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.50620806377441,\"lat\":48.45362487587777},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2494\"],\"cd_name_en\":[\"Le Saguenay-et-son-Fjord\"],\"csd_code\":[\"2494265\"],\"csd_name_en\":[\"Larouche\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Saguenay-et-son-Fjord\",\"csd_name_fr\":\"Larouche\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.25599131692985,48.26696790987171],[-69.15858519629316,48.33820543059938],[-69.34356806224024,48.45335544240289],[-69.4822489857572,48.545929362813276],[-69.61669659438853,48.446846147503706],[-69.56124194370999,48.40935379028002],[-69.46364046126168,48.34366582592284],[-69.4243167555134,48.319599090955485],[-69.42251111885723,48.314176690293515],[-69.28231610448626,48.25003693675231],[-69.27877059095327,48.25003341054508],[-69.25599131692985,48.26696790987171]],[[-69.39941529692716,48.32948923647489],[-69.40662415522729,48.33397187846788],[-69.40185791366042,48.34077420058128],[-69.39213880887723,48.33566479057976],[-69.39941529692716,48.32948923647489]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.39030158904568,\"lat\":48.393399315115886},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2495\"],\"cd_name_en\":[\"La Haute-C\\u00f4te-Nord\"],\"csd_code\":[\"2495025\"],\"csd_name_en\":[\"Les Escoumins\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Haute-C\\u00f4te-Nord\",\"csd_name_fr\":\"Les Escoumins\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.8793095189874,48.52716181932884],[-68.672634379639,48.63336637103662],[-68.98172615075276,48.764213282634266],[-68.98528710620737,48.776969472082534],[-69.12683156792748,48.87084354798857],[-69.26324136260544,48.78001273772056],[-69.25059283543547,48.77186100213253],[-69.04373484940409,48.635453648389074],[-68.8793095189874,48.52716181932884]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.97966707521509,\"lat\":48.693156889944234},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2495\"],\"cd_name_en\":[\"La Haute-C\\u00f4te-Nord\"],\"csd_code\":[\"2495045\"],\"csd_name_en\":[\"Forestville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Haute-C\\u00f4te-Nord\",\"csd_name_fr\":\"Forestville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.40069639485401,50.25032999142648],[-66.39664494525202,50.250794524616005],[-66.38374420309773,50.23580116504955],[-66.37636388455834,50.2420846769773],[-66.38303205383414,50.244238955514874],[-66.3879358323618,50.25326576013779],[-66.40069639485401,50.25032999142648]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.38700241654585,\"lat\":50.24509770273957},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2497\"],\"cd_name_en\":[\"Sept-Rivi\\u00e8res--Caniapiscau\"],\"csd_code\":[\"2497802\"],\"csd_name_en\":[\"Uashat 27\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Sept-Rivi\\u00e8res--Caniapiscau\",\"csd_name_fr\":\"Uashat 27\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.77595458403505,54.80828486988187],[-66.78046514819813,54.81880002053289],[-66.79066445860711,54.806424962456305],[-66.77595458403505,54.80828486988187]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.78236139694677,\"lat\":54.811169950957016},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2497\"],\"cd_name_en\":[\"Sept-Rivi\\u00e8res--Caniapiscau\"],\"csd_code\":[\"2497810\"],\"csd_name_en\":[\"Lac-John\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Sept-Rivi\\u00e8res--Caniapiscau\",\"csd_name_fr\":\"Lac-John\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-61.80648744832475,50.12842302365622],[-61.79246793455489,50.141420579844734],[-61.80498950161768,50.14811731006092],[-61.80648744832475,50.12842302365622]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-61.80131496149911,\"lat\":50.13932030452062},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2498\"],\"cd_name_en\":[\"Minganie--Le Golfe-du-Saint-Laurent\"],\"csd_code\":[\"2498806\"],\"csd_name_en\":[\"Nutashkuan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Minganie--Le Golfe-du-Saint-Laurent\",\"csd_name_fr\":\"Nutashkuan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.95312790548269,45.072398102684765],[-75.94113140684351,45.080155109792614],[-76.07500271209403,45.19161470903276],[-76.13939825906397,45.15142341969808],[-76.10726981046447,45.13036845431757],[-76.12673513759023,45.12077498903424],[-76.1515271932146,45.12460918827697],[-76.16149879726709,45.136028902211585],[-76.22392258645661,45.09421649965296],[-76.19082896200636,45.0634622054321],[-76.15382330109973,45.03345179117724],[-76.09509208944205,44.9830322095549],[-75.95312790548269,45.072398102684765]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.08221634420039,\"lat\":45.08590303696457},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3509\"],\"cd_name_en\":[\"Lanark\"],\"csd_code\":[\"3509024\"],\"csd_name_en\":[\"Beckwith\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Lanark\",\"csd_name_fr\":\"Beckwith\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.42024281629729,44.06846680423461],[-79.27616921135329,44.101266093835974],[-79.32801340670369,44.22330250819186],[-79.51785341621995,44.18157520750853],[-79.51626832809077,44.16586511129013],[-79.53183718641075,44.150829059634624],[-79.50940675604701,44.063640380667216],[-79.42237516855296,44.08392497118972],[-79.42024281629729,44.06846680423461]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.40774141608104,\"lat\":44.13962217108467},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3519\"],\"cd_name_en\":[\"York\"],\"csd_code\":[\"3519054\"],\"csd_name_en\":[\"East Gwillimbury\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"York\",\"csd_name_fr\":\"East Gwillimbury\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.47033810769162,43.783937293519465],[-80.50121753603108,43.806692685517895],[-80.51883888572132,43.812441804640315],[-80.5315014810823,43.81019840594622],[-80.56482268477971,43.823898890147305],[-80.56358231154243,43.8302868058384],[-80.74186360696292,43.84402810428518],[-80.76050909540598,43.84464490402248],[-80.82385129788175,43.761573810348544],[-80.8736755941978,43.69906239225256],[-80.75454581099255,43.648404699299945],[-80.60801184215808,43.58910223565875],[-80.59509018981872,43.66203890092271],[-80.55754341343582,43.6895960045302],[-80.44942260582192,43.76898210758161],[-80.47033810769162,43.783937293519465]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.66819861033211,\"lat\":43.735987438166624},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3523\"],\"cd_name_en\":[\"Wellington\"],\"csd_code\":[\"3523033\"],\"csd_name_en\":[\"Mapleton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Wellington\",\"csd_name_fr\":\"Mapleton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.39216942927679,43.45020543983053],[-80.41511638434322,43.45800996048746],[-80.43405825999326,43.481826858177335],[-80.44839700379241,43.476704144830045],[-80.4677965400352,43.48444883047191],[-80.47925020874165,43.50384352537428],[-80.4810316967787,43.489418411403086],[-80.49797957351045,43.48006479439097],[-80.49576294156526,43.47049245295149],[-80.50521991668423,43.46145099853144],[-80.54112758155195,43.449262955341055],[-80.54679991374,43.441560690586364],[-80.57410382246914,43.4326598729146],[-80.51653009674281,43.380233709698985],[-80.50595460686611,43.35385938793388],[-80.41390465728495,43.3698254809498],[-80.39899810298145,43.39094999297699],[-80.37914251616685,43.40196439271671],[-80.38209797045907,43.41177634974905],[-80.40209664507947,43.41577338975009],[-80.40788445122445,43.43923905068171],[-80.39216942927679,43.45020543983053]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.47065176135608,\"lat\":43.42005602985564},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3530\"],\"cd_name_en\":[\"Waterloo\"],\"csd_code\":[\"3530013\"],\"csd_name_en\":[\"Kitchener\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Waterloo\",\"csd_name_fr\":\"Kitchener\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.79636555711542,43.46841183422807],[-80.86903649373691,43.49804870625036],[-80.83810851316467,43.54168879623544],[-80.75454581099255,43.648404699299945],[-80.8736755941978,43.69906239225256],[-80.98783120901761,43.54790759430338],[-81.02730360144145,43.56422060237001],[-81.13308588707604,43.43937389265943],[-81.08995570245703,43.420047497323814],[-81.01404108273569,43.385738888548225],[-81.00149521411045,43.40175578412979],[-80.97296184143556,43.38895969169142],[-80.95308554797457,43.384594799845715],[-80.93782700349392,43.36703446398787],[-80.95281006825147,43.36420054552724],[-80.95356607483549,43.34965687395296],[-80.97072188554529,43.35012949977715],[-80.93696561795497,43.29018028306614],[-80.90102239813402,43.3010722981425],[-80.84630180912971,43.31777509381162],[-80.83942520772835,43.32859571749645],[-80.82226164315382,43.32535947930681],[-80.7357867121152,43.35333740395061],[-80.73764630325967,43.40795908816674],[-80.79636555711542,43.46841183422807]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.907883314199,\"lat\":43.478136594519924},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3531\"],\"cd_name_en\":[\"Perth\"],\"csd_code\":[\"3531030\"],\"csd_name_en\":[\"Perth East\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Perth\",\"csd_name_fr\":\"Perth East\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.60874540819336,43.15163401189607],[-80.52460600390596,43.16462441088113],[-80.43645260586932,43.17940630543442],[-80.47154301322166,43.26680201097689],[-80.5036325960373,43.34806839520412],[-80.6299749864565,43.327207886323386],[-80.73491998599854,43.31098099563805],[-80.7341471359273,43.25342969847586],[-80.7401064831318,43.24265570359511],[-80.7201554522735,43.24196920698717],[-80.68924055260959,43.22234010275553],[-80.69349885921648,43.19078861095475],[-80.71252438585434,43.1731952642732],[-80.7091900840899,43.16219880250629],[-80.66508079830659,43.16852568767317],[-80.65620968810828,43.144573508855174],[-80.60874540819336,43.15163401189607]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.5896500516262,\"lat\":43.24501885509771},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3532\"],\"cd_name_en\":[\"Oxford\"],\"csd_code\":[\"3532045\"],\"csd_name_en\":[\"Blandford-Blenheim\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Oxford\",\"csd_name_fr\":\"Blandford-Blenheim\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.00450958412964,42.75657820275807],[-82.00595560933716,42.92882199776878],[-82.2337078941758,42.93262320094703],[-82.23411526155591,42.92087738963935],[-82.24013711035856,42.76215440423603],[-82.00450958412964,42.75657820275807]],[[-82.13405746665752,42.784045318157865],[-82.13362262742523,42.79611261346679],[-82.09596237861572,42.79517159533002],[-82.09731758139834,42.771204581930576],[-82.13444255659525,42.77181777866632],[-82.13405746665752,42.784045318157865]],[[-82.16159045445721,42.881594052661676],[-82.16072251466247,42.89455049127717],[-82.14586312616926,42.900356429413584],[-82.12341780891255,42.90015046489716],[-82.11574608112224,42.89345430963168],[-82.11636941942487,42.86916674504408],[-82.13470200076344,42.86939189614757],[-82.15230435007611,42.86256749384708],[-82.16598120056122,42.86930370517235],[-82.16159045445721,42.881594052661676]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.1202842965199,\"lat\":42.84453206520068},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3538\"],\"cd_name_en\":[\"Lambton\"],\"csd_code\":[\"3538016\"],\"csd_name_en\":[\"Enniskillen\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Lambton\",\"csd_name_fr\":\"Enniskillen\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.4728754259932,42.756869393830414],[-81.52584406409542,42.79695736412628],[-81.52875369541547,42.799152789132485],[-81.53135430696831,42.80109043428904],[-81.53455600136996,42.80348229169259],[-81.5405828873521,42.80802180989495],[-81.63462848202533,42.87778960523377],[-81.76056918970946,42.78559140940919],[-81.79565530797193,42.81224400080182],[-81.83549940900716,42.843273609421715],[-81.83541850330879,42.75735870067046],[-81.83506290719322,42.65096150576986],[-81.83465275010688,42.608014335371806],[-81.8040972125183,42.61098441150122],[-81.79903766463747,42.62100709086503],[-81.78421711366488,42.62790434783289],[-81.77464723838318,42.647358708158194],[-81.76385680077621,42.64484203989289],[-81.73817994115163,42.66092790233674],[-81.71877940900029,42.65035703909393],[-81.71650348416394,42.666766146459324],[-81.70503925919543,42.673816589895964],[-81.68373630211096,42.672117593412445],[-81.67887449712975,42.67872958808063],[-81.68601964658328,42.69639710289878],[-81.6720475706616,42.70255258057929],[-81.65280751482163,42.69713565570396],[-81.64406088275605,42.68481640853241],[-81.62688440642799,42.683952493348954],[-81.61649213712016,42.69525099938329],[-81.61394290095363,42.71003034657653],[-81.60108898651737,42.710563690119066],[-81.58979396113294,42.72609290489402],[-81.56955552732981,42.73452451334006],[-81.53518025265531,42.741506580253876],[-81.5327962706772,42.76028745233542],[-81.50902544027112,42.76427969483908],[-81.49151153971953,42.75398479564817],[-81.4728754259932,42.756869393830414]],[[-81.79699880976607,42.67579850140371],[-81.81027578790996,42.68562157869454],[-81.80070057759221,42.693053675009644],[-81.78762109146429,42.68336110718382],[-81.79699880976607,42.67579850140371]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.69599092103168,\"lat\":42.75140064067442},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3539\"],\"cd_name_en\":[\"Middlesex\"],\"csd_code\":[\"3539005\"],\"csd_name_en\":[\"Southwest Middlesex\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Middlesex\",\"csd_name_fr\":\"Southwest Middlesex\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.28350680020624,44.318545211014744],[-81.29583380802517,44.315285902876504],[-81.37605930667142,44.22183879979726],[-81.43056780348968,44.14888521026899],[-81.4075148396884,44.06769243463141],[-81.22177659254112,44.096662388207626],[-81.02349528869021,44.12388446350552],[-81.02570845444671,44.13331714292257],[-81.0397480645072,44.14069411258629],[-81.04191430722075,44.151109915462754],[-81.03594679767365,44.169555697174076],[-81.06943911066072,44.28833960262022],[-81.26650961596572,44.25910030126855],[-81.28350680020624,44.318545211014744]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.23109282651245,\"lat\":44.18116739836572},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3541\"],\"cd_name_en\":[\"Bruce\"],\"csd_code\":[\"3541032\"],\"csd_name_en\":[\"Brockton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Bruce\",\"csd_name_fr\":\"Brockton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.11907304969674,44.81206978915572],[-80.12073947632824,44.810926476570764],[-80.1174604979784,44.807897240792514],[-80.11599238450863,44.80888080110428],[-80.11907304969674,44.81206978915572]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.11835182861887,\"lat\":44.80997929919293},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3543\"],\"cd_name_en\":[\"Simcoe\"],\"csd_code\":[\"3543070\"],\"csd_name_en\":[\"Christian Island 30A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Simcoe\",\"csd_name_fr\":\"Christian Island 30A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.64277803340435,45.41902141739546],[-76.66392278210222,45.435613067680094],[-76.74072091733336,45.38736841927602],[-76.86220303733646,45.309334350295735],[-76.90657577421064,45.386353119941646],[-77.08001183828344,45.33937944202517],[-77.10150354555937,45.37646528975382],[-77.26468109183286,45.33216832283734],[-77.21580353145879,45.23703755093651],[-77.16890580448538,45.150062193059036],[-77.13748229534758,45.09926047733425],[-76.97068421799402,45.145322422469036],[-76.99248632480125,45.18443210082941],[-76.98120117168817,45.182993822762995],[-76.9474782526623,45.207190737618255],[-76.92937299390262,45.21103852256244],[-76.91737200237269,45.20169499757443],[-76.89451533946892,45.19351447277781],[-76.85047879652495,45.21628705956186],[-76.81473035718999,45.22139949646003],[-76.76980018022772,45.142285627255596],[-76.66124023641338,45.21231609659591],[-76.58383751117418,45.263932619998144],[-76.52171083046298,45.302120914869505],[-76.50560853946094,45.30997391772061],[-76.64277803340435,45.41902141739546]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.90635916042766,\"lat\":45.27270151246504},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3547\"],\"cd_name_en\":[\"Renfrew\"],\"csd_code\":[\"3547008\"],\"csd_name_en\":[\"Greater Madawaska\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Renfrew\",\"csd_name_fr\":\"Greater Madawaska\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.26468109183286,45.33216832283734],[-77.36073529537356,45.509292444218325],[-77.50080457577677,45.472220887781695],[-77.52201825904945,45.47116764237927],[-77.52799547426191,45.45303553748128],[-77.51898419931156,45.4512501045727],[-77.46780776674929,45.35675619641539],[-77.62356908141417,45.31547660041252],[-77.63600440493342,45.312476080824226],[-77.56148415869168,45.17551534936977],[-77.5414334350261,45.14424706972793],[-77.445981489638,45.17147120934817],[-77.35478653007758,45.19582105622217],[-77.34003949609102,45.20092367300095],[-77.21580353145879,45.23703755093651],[-77.26468109183286,45.33216832283734]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.42241369859543,\"lat\":45.31263145256378},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3547\"],\"cd_name_en\":[\"Renfrew\"],\"csd_code\":[\"3547020\"],\"csd_name_en\":[\"Brudenell\",\"Lyndoch and Raglan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Renfrew\",\"csd_name_fr\":\"Brudenell, Lyndoch and Raglan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.73414067851076,45.453631082829375],[-79.80047197088962,45.572678567048555],[-79.9695789477248,45.52648626285643],[-79.90497123564393,45.40832795965378],[-79.73414067851076,45.453631082829375]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.8521155681696,\"lat\":45.490256424222544},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3549\"],\"cd_name_en\":[\"Parry Sound\"],\"csd_code\":[\"3549028\"],\"csd_name_en\":[\"McKellar\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Parry Sound\",\"csd_name_fr\":\"McKellar\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.36463701638937,45.85435926837252],[-79.41626291241768,45.94966810726842],[-79.43868371846729,45.942912346807574],[-79.58621894297849,45.90574953716056],[-79.54508790433819,45.82623940319599],[-79.52083486263909,45.78416878483525],[-79.36594808026683,45.82499130657978],[-79.35082199726682,45.82880282624259],[-79.35520024498692,45.83724680762503],[-79.37982375024606,45.83067368605687],[-79.39867028068235,45.84564521842846],[-79.36463701638937,45.85435926837252]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.4712843760134,\"lat\":45.86735129122117},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3549\"],\"cd_name_en\":[\"Parry Sound\"],\"csd_code\":[\"3549054\"],\"csd_name_en\":[\"Machar\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Parry Sound\",\"csd_name_fr\":\"Machar\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.48126347504898,47.88018979994209],[-81.48108655423889,47.888560500539384],[-81.57658765974777,47.88910611145681],[-81.57202153513336,47.84782419681355],[-81.56629374493424,47.83742440766637],[-81.54971633469012,47.843146504221835],[-81.52418073954442,47.813384809963075],[-81.51507944963554,47.811581499747824],[-81.47880674033705,47.82240080082321],[-81.48478945128178,47.84204440585005],[-81.48126347504898,47.88018979994209]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.52414479976265,\"lat\":47.856431485335136},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3552\"],\"cd_name_en\":[\"Sudbury\"],\"csd_code\":[\"3552052\"],\"csd_name_en\":[\"Mattagami 71\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Sudbury\",\"csd_name_fr\":\"Mattagami 71\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-81.6198850337656,46.10191949799375],[-81.55872170328155,46.102887977057584],[-81.43448366286061,46.10779042121829],[-81.43594879889301,46.195306264244095],[-81.43635078009258,46.279715665012226],[-81.56625560544633,46.27941576869749],[-81.6905967240934,46.27849279293073],[-81.69015439084988,46.19183453360996],[-81.8154044410085,46.191990380655156],[-81.81666237878537,46.10105234585096],[-81.78760145894393,46.098897617331644],[-81.78258484046538,46.10461121501872],[-81.74638296064477,46.10757170844404],[-81.71890455111466,46.10401281141861],[-81.72146799898815,46.09291885791483],[-81.67187557672604,46.09240244278505],[-81.65264533566338,46.10365000250395],[-81.6355792597878,46.10731297215458],[-81.6198850337656,46.10191949799375]]],[[[-80.56705728585686,46.41394483213366],[-80.5815567310695,46.415408314571124],[-80.60959663472342,46.39376400810796],[-80.60949160695247,46.44995866809286],[-80.69274634898089,46.45006302580319],[-80.69295972409874,46.36099067140941],[-81.0204157009836,46.36350380543531],[-81.04629835878532,46.36437493022899],[-81.04588156865815,46.34798556169619],[-81.0822371521702,46.348136805393366],[-81.07767237857851,46.36360425340593],[-81.09494051765374,46.363689145162134],[-81.1311958227616,46.34850182474242],[-81.13089731976609,46.33773137266381],[-81.14853831273388,46.325651918894124],[-81.1476746095181,46.3184944738447],[-81.23504055969626,46.23417210836908],[-81.22911886319616,46.218114622562936],[-81.30741247367129,46.22700294675725],[-81.30688590201592,46.19978037218724],[-81.18157785264144,46.2021708211729],[-81.1810437668321,46.18973483990173],[-80.95057940050619,46.19021204175513],[-80.95280409626253,46.156061596323276],[-80.9515746797617,46.103155649803526],[-80.69536536638569,46.10479580303129],[-80.69371059890744,46.27623674757215],[-80.56876406765907,46.277755468680816],[-80.56712239681514,46.34626388852967],[-80.56705728585686,46.41394483213366]]],[[[-81.07327918554311,47.928149611759935],[-81.07363982685465,48.10345089908477],[-81.23114055053657,48.10252371416256],[-81.2449778954423,48.10068194105399],[-81.28881248367259,48.10280000848499],[-81.45558112400033,48.1028363637792],[-81.61871436086483,48.103512985444866],[-81.77897106125056,48.10327296287964],[-81.85689418208865,48.10390039826456],[-81.8559684494683,48.14554593184927],[-81.85595390622323,48.277436126069226],[-81.85493373881175,48.415645655796666],[-81.85658920692364,48.4498862028768],[-82.04665091757893,48.45005312189094],[-82.34736436070004,48.45096325011573],[-82.51644239576677,48.45008646428579],[-82.64149178972308,48.45063623659228],[-82.7366665179702,48.45015102862424],[-82.85471704676452,48.450825111788866],[-82.96063175059336,48.44990426884927],[-83.29015871629177,48.45021797786734],[-83.5900777232037,48.44912817091202],[-84.01458456547532,48.44962315703092],[-84.01497548834917,48.25734893054867],[-84.01445725884163,47.99206603237922],[-84.01638346079177,47.93410185673641],[-83.97374497604014,47.9341027756157],[-83.97259557975435,47.88083082288852],[-83.9739323464258,47.842006791418],[-83.97338559809626,47.78004707944002],[-83.97411181729478,47.65262761647378],[-83.97351016430197,47.49567316237479],[-83.97492747709042,47.2361598397971],[-83.8395326102005,47.23516988876155],[-83.57579784445088,47.23559001732994],[-83.27538167179718,47.235571346417466],[-83.03363248130128,47.23607269973163],[-82.76103047807499,47.23568038833921],[-82.57723674959408,47.23563840018917],[-82.57900185202,47.11892827127732],[-82.57868074827145,46.97714489961899],[-82.43044553984994,46.977437984345734],[-82.24325600732465,46.97912010502974],[-82.22749261016627,46.97747742582266],[-81.9499055164941,46.97610402894901],[-81.94811982853179,46.76543767991405],[-81.94475835244482,46.625173946235634],[-82.06915974220033,46.62513867240202],[-82.06822778110093,46.54101262963779],[-82.06796261910618,46.366647635823085],[-81.81599417931281,46.36518025093366],[-81.69168313574103,46.365432863815215],[-81.69413564443816,46.452047451936664],[-81.5678666091145,46.45316800426524],[-81.56824395267397,46.49748127705389],[-81.43908574995767,46.496079267621795],[-81.44394315371466,46.55374433992425],[-81.44462146123432,46.7151024499467],[-81.31225730468996,46.715362756388394],[-81.31214107799076,46.71327579497423],[-81.18344793265108,46.71545704541542],[-81.18474965172818,46.80013402527013],[-81.07317206333951,46.8017756435818],[-81.07476455859364,46.887402104785984],[-80.94888075261922,46.8866925614832],[-80.94814430970513,46.97326613335376],[-80.81792227029152,46.97275970078515],[-80.81997063126819,46.887591515242924],[-80.5640852818615,46.882191654645226],[-80.56656975441744,46.756460889092665],[-80.56377903129894,46.711203557930084],[-80.54881531942084,46.71115644376125],[-80.55693750104936,46.68839468185861],[-80.56559492071234,46.68342906905459],[-80.56457074183447,46.624525590346224],[-80.6599278982603,46.62473175541854],[-80.64954894252399,46.5874842903746],[-80.66133813482952,46.580873595948596],[-80.66092992818498,46.56259889967647],[-80.66727014561462,46.543511494869534],[-80.67795134338779,46.53684955183253],[-80.5667751268292,46.53702544432866],[-80.56614765340477,46.58193751248318],[-80.41888490041308,46.580704102726514],[-80.41874271071538,46.56591730998605],[-80.29248159693374,46.56583185535649],[-80.29170829547883,46.62540208741337],[-80.35860929882455,46.62516527093312],[-80.35508179219754,46.711230729829126],[-80.29161303366003,46.711312034429135],[-80.29171044389054,46.90806725505937],[-80.28841876718616,46.93851783891914],[-80.29127414738213,46.97222393195918],[-80.2892014100749,47.056043356594074],[-80.27415297858758,47.05639628275993],[-80.27018205005652,47.234821905891884],[-80.27206538123836,47.320211847626155],[-80.466080647242,47.32033851379861],[-80.47106238755683,47.321280585154156],[-80.71512230512305,47.32182949480096],[-80.89763540063748,47.3222255206332],[-81.07343468711126,47.32176116960087],[-81.07425117236801,47.490340176271594],[-81.07347095007988,47.683576192291774],[-81.07370043909896,47.842095029976235],[-81.07327918554311,47.928149611759935]],[[-83.31864709348534,47.83528675552168],[-83.33628780015783,47.828144947058426],[-83.33662408289922,47.84269240653677],[-83.31864709348534,47.83528675552168]],[[-83.38176608240687,47.85772725993404],[-83.36810990769976,47.8548423453477],[-83.3806545123442,47.84660043636149],[-83.39086206949905,47.84415721045839],[-83.39224721237909,47.825191962165434],[-83.37200653689291,47.82501824870408],[-83.37226302000835,47.80017104340601],[-83.38121860416756,47.7937952923498],[-83.41532066964581,47.793863948865656],[-83.41567675485646,47.808223892562474],[-83.42548110422669,47.80812385034162],[-83.44637785922993,47.796562911476855],[-83.46769634674088,47.79074331947219],[-83.46899291261843,47.825505019562186],[-83.43634870209381,47.83232869641009],[-83.42943429184646,47.818819044225116],[-83.43022300913883,47.85487048738595],[-83.38176608240687,47.85772725993404]],[[-81.48126347504898,47.88018979994209],[-81.48478945128178,47.84204440585005],[-81.47880674033705,47.82240080082321],[-81.51507944963554,47.811581499747824],[-81.52418073954442,47.813384809963075],[-81.54971633469012,47.843146504221835],[-81.56629374493424,47.83742440766637],[-81.57202153513336,47.84782419681355],[-81.57658765974777,47.88910611145681],[-81.48108655423889,47.888560500539384],[-81.48126347504898,47.88018979994209]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.22942295923656,\"lat\":47.52366823382838},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3552\"],\"cd_name_en\":[\"Sudbury\"],\"csd_code\":[\"3552093\"],\"csd_name_en\":[\"Sudbury\",\"Unorganized\",\"North Part\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Sudbury\",\"csd_name_fr\":\"Sudbury, Unorganized, North Part\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.75999530044108,47.754544699411596],[-79.76005482684882,47.842155539893064],[-79.87701855496195,47.84130194870077],[-79.88831828429304,47.84127448604672],[-79.88849272373835,47.83415582672985],[-79.863257662794,47.8345915684941],[-79.86237223961842,47.81966009238472],[-79.8885360266815,47.820161227919286],[-79.88843340441021,47.75450199781691],[-79.75999530044108,47.754544699411596]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.82238185467364,\"lat\":47.79711020429376},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3554\"],\"cd_name_en\":[\"Timiskaming\"],\"csd_code\":[\"3554049\"],\"csd_name_en\":[\"Evanturel\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Timiskaming\",\"csd_name_fr\":\"Evanturel\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.84419636907101,49.01490382132893],[-80.84398922475862,49.0030280341932],[-80.83226785094607,49.000905034123484],[-80.83208058962812,49.01288211039663],[-80.84419636907101,49.01490382132893]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.83811938772797,\"lat\":49.0079601905663},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3556\"],\"cd_name_en\":[\"Cochrane\"],\"csd_code\":[\"3556102\"],\"csd_name_en\":[\"New Post 69A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Cochrane\",\"csd_name_fr\":\"New Post 69A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-91.59064331232229,48.84646620035609],[-91.75235392828404,48.8460298251366],[-91.75288224382471,48.676755630832595],[-91.49009976600696,48.675001343974216],[-91.49089014059498,48.84599870772351],[-91.59064331232229,48.84646620035609]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-91.62132241267102,\"lat\":48.7609881347761},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3559\"],\"cd_name_en\":[\"Rainy River\"],\"csd_code\":[\"3559001\"],\"csd_name_en\":[\"Atikokan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Rainy River\",\"csd_name_fr\":\"Atikokan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-93.8764874799799,48.6318235508577],[-93.87779221459803,48.67834306160319],[-93.93943648717789,48.67888729051694],[-93.93987680310768,48.63309952160999],[-93.9134721911099,48.63524999825284],[-93.8764874799799,48.6318235508577]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-93.90826807977986,\"lat\":48.656099330958206},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3559\"],\"cd_name_en\":[\"Rainy River\"],\"csd_code\":[\"3559026\"],\"csd_name_en\":[\"Manitou Rapids 11\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Rainy River\",\"csd_name_fr\":\"Manitou Rapids 11\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-93.95039606045059,49.40104166592867],[-93.96850027666937,49.39834012453448],[-93.96811409836084,49.363658190417475],[-93.96767276531722,49.343442195173424],[-93.95810385170667,49.34203585377184],[-93.93588136757877,49.34919932087177],[-93.94976884829116,49.3671163277523],[-93.93147162589389,49.37603311131553],[-93.94804684666812,49.384293435750266],[-93.93719376812156,49.39321533758213],[-93.9493540407072,49.40064513422461],[-93.95039606045059,49.40104166592867]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-93.95474624831397,\"lat\":49.3717862061383},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560005\"],\"csd_name_en\":[\"Whitefish Bay 33A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Whitefish Bay 33A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.45384454720234,49.805645043645924],[-97.45906190016198,49.79814489718327],[-97.73233309355216,49.79844360281404],[-97.73238739392745,49.621029490095474],[-97.730659596548,49.532400192218056],[-97.51606252378785,49.53216839199018],[-97.25414458028963,49.53186629729702],[-97.2540377947779,49.54688700067857],[-97.22565097526383,49.576390794647],[-97.19655641109148,49.59109928574242],[-97.18011100532163,49.60587040380035],[-97.18062009972259,49.62062450555538],[-97.16263818372747,49.6206193901165],[-97.16274249970543,49.70804844119439],[-97.17263362525563,49.7081586357202],[-97.20853979554549,49.6956401110664],[-97.20982910538316,49.70923389124561],[-97.21987008887737,49.71363749049418],[-97.21938579905643,49.75285489190691],[-97.2137489944342,49.75361369508548],[-97.21385638928895,49.797308809809955],[-97.22216478658865,49.81399411117014],[-97.29955451918784,49.80903739677173],[-97.34912125489592,49.80914449010556],[-97.45384454720234,49.805645043645924]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.46278124076771,\"lat\":49.668280688710226},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4610\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4610035\"],\"csd_name_en\":[\"Macdonald\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Macdonald\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-96.95262230355031,50.49162415077091],[-96.98648909147524,50.49172389431887],[-96.98639198905116,50.50666549449283],[-97.11428019984255,50.50696339831683],[-97.11331159595424,50.374039100630135],[-97.11450191519303,50.315261867566164],[-97.11356282467824,50.240987806834745],[-97.11610478709241,50.225972388881154],[-97.11508689342861,50.063835489120976],[-97.03224663863466,50.02865676186599],[-97.0066169344476,50.033054095325454],[-96.98585273670939,50.043025686014495],[-96.9793480851972,50.06327052423837],[-96.96209135308172,50.06417633439931],[-96.93824501523616,50.080137698518534],[-96.93861295182774,50.10026404809965],[-96.92209783370689,50.115109784813484],[-96.90694667269163,50.1159490942448],[-96.88959741006911,50.12601703175075],[-96.96764050796858,50.16071577866355],[-96.96170930706587,50.16674369046886],[-96.8935472993969,50.16657950963931],[-96.89132859484242,50.177709910424205],[-96.85900470961893,50.16503548274166],[-96.83179329764161,50.20039609800403],[-96.83535810919795,50.21547835539421],[-96.83324582273433,50.23889064475879],[-96.84450500191949,50.25458907629842],[-96.84962808874275,50.27936442311274],[-96.86253541681343,50.2889524711641],[-96.85882499313755,50.29680823991566],[-96.83965715974702,50.302547272641014],[-96.82393479833415,50.32051467720449],[-96.8261884848414,50.337007759239434],[-96.84350237363803,50.35154538922835],[-96.87271413517476,50.40045486258339],[-96.93571817220182,50.422029733062246],[-96.94571452556796,50.42931444869978],[-96.96335931129273,50.43979097143673],[-96.95506764338697,50.45496506270652],[-96.95744197610053,50.47683771704511],[-96.94960976929752,50.47798890316528],[-96.95262230355031,50.49162415077091]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-96.99731664046047,\"lat\":50.27415149480179},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4613\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4613043\"],\"csd_name_en\":[\"St. Andrews\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"St. Andrews\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-100.53143844988912,50.727111262222145],[-100.5319348906428,50.7712762553151],[-100.67125059008661,50.77121562729997],[-100.67133044204925,50.859757733179435],[-100.94874056140368,50.85972450005806],[-100.95050499613747,50.85736379517393],[-100.9505903032214,50.72717621051374],[-100.85737011735903,50.72725089497319],[-100.8560492607231,50.690599452108124],[-100.86213897141698,50.652192536120474],[-100.8811789738815,50.64027545194876],[-100.88843794611199,50.62339611787811],[-100.95014561568668,50.62392320453184],[-100.95030869196248,50.5943748038072],[-100.78441598586656,50.594389104585666],[-100.53126928789781,50.594459701511695],[-100.53143844988912,50.727111262222145]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.74366242964814,\"lat\":50.71974969284616},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4616\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4616005\"],\"csd_name_en\":[\"Rossburn\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Rossburn\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-99.01598205534657,51.10213584605851],[-99.0541761836579,51.099398442314296],[-99.05270098159181,51.03739780885821],[-99.05391316672124,51.013280341081966],[-98.97785843441095,51.01313695110501],[-98.9779831818182,51.0278410747797],[-98.96704117375103,51.06424742937458],[-98.99152304305626,51.063662831890156],[-99.01465385716807,51.07974053334221],[-99.02228205448674,51.0901795387073],[-99.01598205534657,51.10213584605851]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-99.01857218495329,\"lat\":51.05055280850296},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4617\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4617029\"],\"csd_name_en\":[\"Ebb and Flow 52\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Ebb and Flow 52\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-100.82217335884289,52.31813618595241],[-101.20376671215266,52.31802980011957],[-101.20342319940328,52.24603086381408],[-101.22268127673522,52.24607986179316],[-101.22295948127186,52.23133570602249],[-101.20388420941664,52.23088421051409],[-101.2038817142472,51.96846699767903],[-101.15245591406894,51.96842834374764],[-101.0001054913808,51.96882991483074],[-100.75149131589731,51.970861927486894],[-100.75168846021691,52.231151980923386],[-100.75312128034652,52.318463575059766],[-100.82217335884289,52.31813618595241]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.9784805291206,\"lat\":52.14377728344196},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4620\"],\"cd_name_en\":[\"Division No. 20\"],\"csd_code\":[\"4620051\"],\"csd_name_en\":[\"Minitonas-Bowsman\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 20\",\"csd_name_fr\":\"Minitonas-Bowsman\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.27683735674985,53.82449494039932],[-101.30046915900455,53.83224614290149],[-101.3053564889752,53.82701269121593],[-101.28113503812823,53.823239489455396],[-101.27683735674985,53.82449494039932]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.29277764195304,\"lat\":53.82724554671476},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4621\"],\"cd_name_en\":[\"Division No. 21\"],\"csd_code\":[\"4621036\"],\"csd_name_en\":[\"Opaskwayak Cree Nation 21D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 21\",\"csd_name_fr\":\"Opaskwayak Cree Nation 21D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-100.34375935816438,53.719585166729544],[-100.3519262122228,53.70028728727479],[-100.33332979241025,53.69937303138389],[-100.32479738276388,53.70927471961722],[-100.34375935816438,53.719585166729544]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.33912172715753,\"lat\":53.707701680216054},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4621\"],\"cd_name_en\":[\"Division No. 21\"],\"csd_code\":[\"4621058\"],\"csd_name_en\":[\"Moose Lake 31A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 21\",\"csd_name_fr\":\"Moose Lake 31A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.81371829872498,49.26077008865982],[-102.81376330240033,49.522662510623434],[-102.82016243701459,49.522666344957166],[-103.21735541457569,49.52270548417883],[-103.21687473231832,49.260704634430816],[-102.81371829872498,49.26077008865982]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.01544148481062,\"lat\":49.39173503873982},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701027\"],\"csd_name_en\":[\"Benson No. 35\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Benson No. 35\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.27552499145877,49.26091298761125],[-102.27565363637456,49.275092157812516],[-102.29805623015822,49.27537878106347],[-102.29805650086149,49.26088468916302],[-102.27552499145877,49.26091298761125]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.28686403289582,\"lat\":49.26806046047288},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701037\"],\"csd_name_en\":[\"Alameda\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Alameda\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.67228182469631,49.63878800452954],[-102.6604928156313,49.65366278015877],[-102.68369765123826,49.653436004007254],[-102.67228182469631,49.63878800452954]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.67215743052198,\"lat\":49.648628929565184},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701061\"],\"csd_name_en\":[\"Kisbey\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Kisbey\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.52892261602719,49.11387374791992],[-105.52303124711433,49.10128493910728],[-105.51172781410612,49.108955084665794],[-105.52892261602719,49.11387374791992]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.52122722574921,\"lat\":49.10803792389767},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4703\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4703004\"],\"csd_name_en\":[\"Coronach\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Coronach\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.07671883183497,49.42706427093795],[-107.07739468087873,49.415134807276274],[-107.0603967867764,49.41536147901151],[-107.06033801009876,49.42375740836061],[-107.07671883183497,49.42706427093795]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.06920270065758,\"lat\":49.420349933929884},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4703\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4703019\"],\"csd_name_en\":[\"Mankota\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Mankota\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.49497518609691,49.74993139047145],[-107.48873792495488,49.74120356698439],[-107.4779052703798,49.74131369496572],[-107.48293827280426,49.749174236236925],[-107.49497518609691,49.74993139047145]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.48626251744231,\"lat\":49.74544638734825},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4703\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4703058\"],\"csd_name_en\":[\"Ponteix\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Ponteix\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.6923378286493,50.046736173639545],[-105.79734204921274,50.0473887248407],[-106.00006139195104,50.046029828842414],[-106.00467409388946,50.04722372867527],[-106.00522778652663,49.90222858297644],[-106.00397470091313,49.843914407223615],[-106.00679142483764,49.78576108251174],[-105.93626831089819,49.784910106027084],[-105.71524912231523,49.78505144019243],[-105.73362371017109,49.8134409252101],[-105.73119783221584,49.824384626722996],[-105.71577000226424,49.84815854239204],[-105.69076869389039,49.869669141744744],[-105.69152821072045,49.878876003613016],[-105.6923378286493,50.046736173639545]],[[-105.953060490612,49.94360631719914],[-105.95719899173157,49.93395693187179],[-105.97783517278178,49.93709926617801],[-105.96445290907877,49.94523189906906],[-105.953060490612,49.94360631719914]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.85223737632344,\"lat\":49.91865990254096},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4703\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4703093\"],\"csd_name_en\":[\"Lake Johnston No. 102\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Lake Johnston No. 102\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.8381863735924,50.531991649193984],[-101.8355615870652,50.54106037686406],[-101.84726040217679,50.54119320539789],[-101.8470575136461,50.5326448182218],[-101.8381863735924,50.531991649193984]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.84192874484371,\"lat\":50.536915868260714},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705042\"],\"csd_name_en\":[\"Tantallon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Tantallon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.6459682502245,50.711788266050945],[-102.63354970581356,50.72447510109523],[-102.65671687999368,50.724484488650376],[-102.6459682502245,50.711788266050945]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.64541161201059,\"lat\":50.720249285265524},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705059\"],\"csd_name_en\":[\"Grayson\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Grayson\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.4273907969716,51.025923389822935],[-102.40427295973097,51.02597924441227],[-102.40405988742138,51.03316643274544],[-102.42729380191086,51.03327960405917],[-102.4273907969716,51.025923389822935]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.41579914781876,\"lat\":51.029590352414196},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705808\"],\"csd_name_en\":[\"Little Bone 74B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Little Bone 74B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.94273398741797,50.330925412642486],[-103.94259878873532,50.33828109603706],[-103.95413600679214,50.33828659972129],[-103.95421889310086,50.330825525691004],[-103.94273398741797,50.330925412642486]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.94843555132294,\"lat\":50.33458249146435},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706007\"],\"csd_name_en\":[\"Vibank\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Vibank\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.86469719481994,50.09855154491611],[-103.86069763122323,50.10545245361532],[-103.87188200371143,50.10546279855063],[-103.87186007381268,50.09845586688872],[-103.86469719481994,50.09855154491611]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.86722465644141,\"lat\":50.102236894239645},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706009\"],\"csd_name_en\":[\"Francis\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Francis\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.71455160692247,50.090717069190674],[-104.71378249107916,50.10167248875482],[-104.73075931057757,50.10123483205906],[-104.73070651169013,50.090806014442926],[-104.71455160692247,50.090717069190674]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.7223816328168,\"lat\":50.09615157912097},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706014\"],\"csd_name_en\":[\"Wilcox\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Wilcox\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.095157077758,50.88498023844901],[-105.09542495938064,50.8920192454074],[-105.10076436149164,50.89196558278482],[-105.095157077758,50.88498023844901]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.0971154662101,\"lat\":50.889655022213745},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706080\"],\"csd_name_en\":[\"Glen Harbour\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Resort village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Glen Harbour\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.48948511076588,50.90899016872577],[-103.4890871960725,50.85714590498475],[-103.48923700516093,50.84245819590453],[-103.29037890847263,50.84230958578031],[-103.28448241919621,50.857071400161225],[-103.2840360487011,50.908371157681316],[-103.48006781489244,50.90966000283415],[-103.48948511076588,50.90899016872577]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.3873878013335,\"lat\":50.87582144568085},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706816\"],\"csd_name_en\":[\"Peepeekisis 81\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Peepeekisis 81\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.00481872863367,50.309320059215],[-106.13347390501325,50.310160097529085],[-106.41722639107148,50.30999710161943],[-106.41725158360633,50.25176889813532],[-106.41433748289515,50.22203379636355],[-106.41434690731388,50.047696507326194],[-106.00467386380166,50.047271853760144],[-106.00481872863367,50.309320059215]],[[-106.39158482739997,50.13103579956103],[-106.39160441973843,50.13965577148823],[-106.37996533506335,50.13962258280011],[-106.3795886404042,50.131167319240724],[-106.39158482739997,50.13103579956103]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.20978771004506,\"lat\":50.17894663805785},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707006\"],\"csd_name_en\":[\"Rodgers No. 133\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Rodgers No. 133\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.39601448513793,50.40033003829389],[-107.3958289441249,50.408854686407366],[-107.40807239862532,50.40573374637618],[-107.40818329539445,50.400394764610674],[-107.39601448513793,50.40033003829389]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.40155742828742,\"lat\":50.40388712648474},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707023\"],\"csd_name_en\":[\"Rush Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Rush Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.69177267369295,50.93562307433599],[-105.6822758657242,50.94265866483394],[-105.70567878288433,50.942823458432535],[-105.70569628755642,50.93530750745232],[-105.69177267369295,50.93562307433599]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.69625848921824,\"lat\":50.9394217276595},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707093\"],\"csd_name_en\":[\"Aylesbury\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Aylesbury\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.75635325343046,50.321355119984524],[-107.78099415231752,50.324530942207126],[-107.79236825376412,50.30981104766242],[-107.8378583086324,50.31001950547031],[-107.83789407712379,50.280899792128515],[-107.81501094047586,50.273466040169524],[-107.81490387145675,50.25822418099519],[-107.78063718762206,50.25900147694538],[-107.75770281241962,50.26630110720524],[-107.76229145954413,50.28085885480026],[-107.75631146705835,50.29199648063328],[-107.75635325343046,50.321355119984524]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.79307664826199,\"lat\":50.28995729488611},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4708\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4708004\"],\"csd_name_en\":[\"Swift Current\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Swift Current\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.05229442013147,50.04783954679399],[-108.0514465967657,50.22224477564457],[-108.06737088860253,50.222709788477395],[-108.06712442127332,50.310052405958],[-108.47953789105306,50.31009730209129],[-108.4796514204792,50.22264840535676],[-108.46192970943889,50.22264019258306],[-108.46195768848155,50.0476596786999],[-108.46205570900376,49.96045188646722],[-108.34808294750219,49.96016454275058],[-108.05137281282026,49.9607676942401],[-108.05229442013147,50.04783954679399]],[[-108.19711020909885,50.17875104146818],[-108.21174438643533,50.18025419166188],[-108.21178940880587,50.185958106465385],[-108.18904911366901,50.18620454541647],[-108.19711020909885,50.17875104146818]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.26116337075972,\"lat\":50.13538937365607},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4708\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4708006\"],\"csd_name_en\":[\"Webb No. 138\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Webb No. 138\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.80338208224184,50.05510485510943],[-108.78060687906012,50.05493784471795],[-108.78061139647565,50.07032410562449],[-108.80339478728379,50.06872480758614],[-108.80338208224184,50.05510485510943]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.79176763694406,\"lat\":50.06228066026655},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4708\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4708012\"],\"csd_name_en\":[\"Tompkins\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Tompkins\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.0669977188549,50.46316380291053],[-108.0901635088227,50.46325273214586],[-108.08995938393967,50.45556410893665],[-108.06701361207963,50.455671293425596],[-108.0669977188549,50.46316380291053]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.07858329181636,\"lat\":50.459418934261535},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4708\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4708036\"],\"csd_name_en\":[\"Success\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Success\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.3791162860658,51.35839529737596],[-109.66047650483719,51.358389807081814],[-110.0050214886932,51.35788380477195],[-110.00507401389423,51.270550998187105],[-110.00469377762884,50.96855454381742],[-109.9786442108441,50.961414591157315],[-109.9661557164091,50.94337497870339],[-109.9483733534082,50.94107534171007],[-109.95677862748964,50.928163165799255],[-109.9217478624019,50.91729273200992],[-109.87947914944996,50.92418876210549],[-109.87852558859953,50.949442641266806],[-109.85594638608819,50.953153702167015],[-109.81385400068551,50.94814120598565],[-109.77188489670893,50.940009697639766],[-109.74737579312983,50.94293415186568],[-109.72339277789294,50.934308379434555],[-109.70114635095526,50.94664137781254],[-109.69385705245696,50.96389343971027],[-109.69440986369992,50.979308085887475],[-109.67247950949698,50.97308592556023],[-109.64258826822986,50.97608882543187],[-109.62128292922571,50.97073288763504],[-109.6144890124444,50.98216457716729],[-109.59388047459596,50.97031610092951],[-109.55628616741386,50.966652036628766],[-109.51118190636738,50.97051672623384],[-109.48384758117915,50.95925760210426],[-109.42701502949448,50.97361321105149],[-109.40759145672732,50.98253776873625],[-109.35371805977782,50.99378773033601],[-109.35283767626385,51.037986192535385],[-109.35283349748467,51.270996104859975],[-109.37919799533142,51.270986405113014],[-109.3791162860658,51.35839529737596]],[[-109.37616348732075,51.226048688866],[-109.37616903757596,51.219159177807505],[-109.40076670533524,51.2188630509642],[-109.39935556178051,51.2278308699146],[-109.37616348732075,51.226048688866]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.68875935793318,\"lat\":51.156381550856494},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4708\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4708065\"],\"csd_name_en\":[\"Chesterfield No. 261\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Chesterfield No. 261\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-102.45554468962614,51.271438993590365],[-102.47458049768657,51.269180190244704],[-102.47467001936877,51.25447689509974],[-102.45097411917831,51.254286805861234],[-102.45554468962614,51.271438993590365]]],[[[-102.42760649213767,51.24735164093076],[-102.45099781595786,51.23960909601826],[-102.52127559913323,51.23963529090602],[-102.52112570666117,51.224837096403924],[-102.49805742102495,51.2229151092687],[-102.50412357979873,51.19757449385748],[-102.47428201243592,51.19538680115891],[-102.46274202829363,51.18850527891474],[-102.44070432838117,51.19503187489949],[-102.42757020121932,51.195456792964755],[-102.42760275736488,51.21221953068101],[-102.4041931112615,51.21024827244767],[-102.404102088175,51.22484381165955],[-102.42758849929785,51.224921906263724],[-102.42759007480429,51.23248649319872],[-102.42760649213767,51.24735164093076]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.46315988636285,\"lat\":51.22191116945498},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709012\"],\"csd_name_en\":[\"Yorkton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Yorkton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.44271930287225,51.652182845633966],[-102.71443363852889,51.65194881480618],[-102.85562071227356,51.65219450453673],[-102.855758396808,51.38693638719055],[-102.6196162880399,51.38692621109942],[-102.4307916871148,51.387064302050554],[-102.43157550615632,51.54944101324201],[-102.43100351560496,51.61468144834998],[-102.43270904265076,51.622763669671905],[-102.45451201831311,51.62274959557507],[-102.45470700266823,51.645172069715905],[-102.44271930287225,51.652182845633966]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.6446295176748,\"lat\":51.51880708282538},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709029\"],\"csd_name_en\":[\"Good Lake No. 274\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Good Lake No. 274\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-103.95263441897083,51.29205300144259],[-103.94221844837004,51.286581321026446],[-103.92989715379042,51.28677609044274],[-103.9302251111129,51.29345832190446],[-103.95263441897083,51.29205300144259]]],[[[-103.95263441897083,51.29205300144259],[-103.9650310847589,51.29210912264426],[-103.96469044743034,51.2703507228102],[-103.96112691743586,51.27034909329681],[-103.95263441897083,51.29205300144259]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.95210571837188,\"lat\":51.28586302079124},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710838\"],\"csd_name_en\":[\"Muskowekwan 85-28\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Muskowekwan 85-28\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.63588871454795,51.09570469651065],[-105.63564660484457,51.27051700535004],[-105.6630119798068,51.27051809860497],[-105.66305491037153,51.35811039228796],[-105.8036892911316,51.3580483124133],[-106.0042778909069,51.35820909372859],[-106.00425410812481,51.273663596244866],[-105.9925465086545,51.27407847064007],[-105.97425303194572,51.25566882881306],[-105.96173166263732,51.25604606384586],[-105.96689411650853,51.24154259102819],[-106.00425333386153,51.26704409267294],[-106.00432960332104,51.09608791199938],[-105.94371069623696,51.0956772442661],[-105.63588871454795,51.09570469651065]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.82354035021254,\"lat\":51.224530299197085},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711011\"],\"csd_name_en\":[\"Arm River No. 252\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Arm River No. 252\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.28759337996338,51.70709529364138],[-106.54721011590281,51.707032323074834],[-106.71252320511897,51.70745671630018],[-106.71287739534819,51.61999500106492],[-106.70741678894899,51.61999360690019],[-106.70648227400731,51.532736529181854],[-106.70701950560894,51.44560639169072],[-106.42588279582763,51.44557750963256],[-106.42586970229492,51.35825149707836],[-106.28535689052165,51.35824991054897],[-106.28551319071741,51.61987780503556],[-106.2877231856819,51.61987150436249],[-106.28759337996338,51.70709529364138]],[[-106.42988691659423,51.620069392148544],[-106.45282637917553,51.620066497249454],[-106.45276909975523,51.63456737714912],[-106.42922927881182,51.634584394737445],[-106.42988691659423,51.620069392148544]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.4834788647937,\"lat\":51.558974829325194},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711031\"],\"csd_name_en\":[\"Rosedale No. 283\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Rosedale No. 283\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.00422740196424,51.6201030974],[-106.28551319071741,51.61987780503556],[-106.28535689052165,51.35824991054897],[-106.0042778909069,51.35820909372859],[-105.8036892911316,51.3580483124133],[-105.80377449420119,51.619807368045535],[-106.00422740196424,51.6201030974]],[[-106.14237544442831,51.37091356022797],[-106.13341850727883,51.37006954425032],[-106.13342573620301,51.36201126042591],[-106.14497040064781,51.36206898984014],[-106.14237544442831,51.37091356022797]],[[-106.27407868775978,51.50928861752211],[-106.26411699717734,51.50376998812652],[-106.26119836402842,51.496932325631704],[-106.27392769609402,51.49621639917947],[-106.27407868775978,51.50928861752211]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.04429859068344,\"lat\":51.489159386996924},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711034\"],\"csd_name_en\":[\"McCraney No. 282\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"McCraney No. 282\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.13028000100645,51.61990829994949],[-108.53528260493924,51.61976161037395],[-108.535261410793,51.35820901046425],[-108.37162697509503,51.358276001056474],[-108.11329960525741,51.35827010880701],[-108.11319424494766,51.57648163680158],[-108.11441059103953,51.61990781669895],[-108.13028000100645,51.61990829994949]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.32429196123645,\"lat\":51.489028855418546},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4712\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4712001\"],\"csd_name_en\":[\"Pleasant Valley No. 288\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Pleasant Valley No. 288\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.41001798082941,51.27106530148642],[-107.40994701795607,51.503813593486164],[-107.40992758070627,51.61993719800803],[-107.69135660191097,51.61994430280469],[-107.69125009707759,51.35821318904696],[-107.69128689867375,51.27084289793807],[-107.67891439320394,51.2708659958483],[-107.41001798082941,51.27106530148642]],[[-107.65636836601549,51.307190364497224],[-107.65598777331094,51.314746959895146],[-107.64437941755561,51.315632904507034],[-107.64437380161917,51.30718914041323],[-107.65636836601549,51.307190364497224]],[[-107.52724402642727,51.47683968488049],[-107.52723659513738,51.489238189679796],[-107.5184843963597,51.48540541713277],[-107.518462334717,51.47712510843599],[-107.52724402642727,51.47683968488049]],[[-107.4568767887799,51.33892262248894],[-107.433459540135,51.33923815019069],[-107.43344117758001,51.32476258290331],[-107.45687120439034,51.32464980191108],[-107.4568767887799,51.33892262248894]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.55093881450117,\"lat\":51.44595770141001},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4712\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4712011\"],\"csd_name_en\":[\"Milden No. 286\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Milden No. 286\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.59103739799396,53.27838289641142],[-103.57522871317731,53.27838378474833],[-103.57532518452365,53.28674954553068],[-103.59895239743136,53.28591677847676],[-103.59103739799396,53.27838289641142]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.58513758357611,\"lat\":53.282634986818046},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714069\"],\"csd_name_en\":[\"Carrot River\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Carrot River\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.75820908151134,53.19099160786728],[-103.75832509789265,53.3654991047457],[-103.77443611390628,53.36550379996012],[-103.77462753427032,53.51398113894265],[-103.78559504500029,53.506260622198994],[-103.86870583182112,53.47330103000732],[-103.8849442600571,53.46987755931693],[-103.91699787937668,53.47207956669991],[-103.93702120867484,53.468508077725744],[-103.93784969085895,53.44864067759458],[-103.96063585443284,53.44070775459785],[-103.97114607029697,53.43030278975937],[-103.9660324191416,53.41420839009882],[-103.97813558522016,53.402002994459835],[-104.00563749136292,53.39822230266577],[-104.02164219684003,53.37928916775922],[-104.0385036949555,53.37186912411974],[-104.04101518031062,53.3425838398931],[-104.03797256397866,53.315706034447906],[-104.06746426198625,53.31941116080279],[-104.07163400226354,53.305468219655566],[-104.09484059255672,53.29814217274381],[-104.10579610687114,53.30945338564984],[-104.13481695644516,53.309055976329496],[-104.1591979490463,53.30359830813317],[-104.17876488105722,53.306649065759345],[-104.19571014320212,53.296407573746265],[-104.2300894509655,53.300410499548924],[-104.26489611781072,53.28597293327758],[-104.30273311655785,53.286379375300086],[-104.33006730906334,53.29708667677875],[-104.40789190699361,53.279985874042794],[-104.46269958940081,53.24267533149464],[-104.48765396938299,53.232617635133565],[-104.50125542033652,53.23420471211982],[-104.51871153376813,53.24704350436866],[-104.53493220681554,53.2484976727393],[-104.55480475626605,53.242643498703046],[-104.57200478387719,53.23158408847687],[-104.6294531598618,53.23433996274159],[-104.63579323404774,53.2316336517046],[-104.63605743965532,53.190931212032844],[-104.41656769747503,53.190886008729656],[-104.19712229892286,53.19087439463922],[-103.81067540097806,53.19100560835396],[-103.81067755240066,53.19556419530451],[-103.79614462109015,53.195462524994426],[-103.7959692037196,53.19102861062371],[-103.75820908151134,53.19099160786728]],[[-104.03206592731544,53.28542401750106],[-104.02654950932514,53.27822980257712],[-104.03454778283304,53.278034090682624],[-104.03206592731544,53.28542401750106]],[[-103.99451549097924,53.37777962795149],[-104.00000509055327,53.34735478697328],[-104.0244570556227,53.34758350184871],[-104.03857636909206,53.36559040092245],[-103.99451549097924,53.37777962795149]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.05394579091214,\"lat\":53.28816101799361},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714072\"],\"csd_name_en\":[\"Nipawin No. 487\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Nipawin No. 487\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.48696149495639,53.49624961193894],[-104.49930609711855,53.48893462232476],[-104.47470983905957,53.488952059690334],[-104.48696149495639,53.49624961193894]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.48699247704482,\"lat\":53.49137876465134},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714092\"],\"csd_name_en\":[\"Choiceland\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Choiceland\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.80713968183147,53.487330952876064],[-104.80335907285499,53.494557509688086],[-104.81819620583427,53.497263034096825],[-104.81690737847072,53.48803079878125],[-104.80713968183147,53.487330952876064]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.8115152925155,\"lat\":53.49211096580564},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714093\"],\"csd_name_en\":[\"Smeaton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Smeaton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.75021908486725,52.49290179965481],[-105.74654330461614,52.484647806802194],[-105.72328875778318,52.48561294108613],[-105.72261611510038,52.49667737531465],[-105.74666419330929,52.499322187383086],[-105.75021908486725,52.49290179965481]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.73632347014801,\"lat\":52.4916772987172},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715041\"],\"csd_name_en\":[\"Cudworth\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Cudworth\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.10707321798316,52.66888620206811],[-106.10067920610724,52.67603242946836],[-106.12272507449853,52.67516726034666],[-106.11785517543478,52.668928889737835],[-106.10707321798316,52.66888620206811]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.11191162485935,\"lat\":52.67263719207182},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715862\"],\"csd_name_en\":[\"One Arrow 95-1A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"One Arrow 95-1A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-107.6278517851171,53.66315040752054],[-107.62769904763086,53.67251160769794],[-107.6563144810685,53.67280928916033],[-107.65694499471248,53.65689361911561],[-107.6278517851171,53.66315040752054]]],[[[-107.75412398468734,53.52465736197309],[-107.75271730998251,53.51153467347699],[-107.72602391488121,53.51153280328498],[-107.71415570862462,53.52633119033644],[-107.75412398468734,53.52465736197309]]],[[[-107.70145195771286,53.57696338392603],[-107.70145571271574,53.56965479953494],[-107.66463352586024,53.56970994808176],[-107.66476292966584,53.58493457267547],[-107.6889643400386,53.58482928036135],[-107.70145195771286,53.57696338392603]]],[[[-107.66476292966584,53.58493457267547],[-107.64130627177266,53.58484443698279],[-107.64030710161694,53.59899272647462],[-107.66460644968474,53.613352514622115],[-107.67695150415251,53.61350510757354],[-107.67689984215563,53.59209317332378],[-107.66476292966584,53.58493457267547]]],[[[-107.68830621270314,53.71416086103797],[-107.6926344580745,53.71413561041455],[-107.70147648437502,53.71408350913849],[-107.69028098086183,53.70779418418708],[-107.71304623267476,53.68616855006888],[-107.71320208370426,53.707613493531305],[-107.72565203557062,53.70775349759267],[-107.72589840996086,53.68074373316805],[-107.72563569348418,53.65611495445393],[-107.70103422592383,53.65670092484969],[-107.7008430937888,53.67827133932986],[-107.68888169120294,53.685841825773835],[-107.66365466846085,53.685988735966404],[-107.66336424209221,53.70048598337815],[-107.67761903783307,53.700035882369534],[-107.6783492581815,53.714218253342146],[-107.68830621270314,53.71416086103797]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.68938630885724,\"lat\":53.63393921626679},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716880\"],\"csd_name_en\":[\"Pelican Lake 191B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Pelican Lake 191B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.67315657014527,56.47267945770615],[-108.67147417050985,56.46324657190871],[-108.66222355958462,56.45334646033021],[-108.6565290875841,56.4708337661],[-108.67315657014527,56.47267945770615]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.66491553803587,\"lat\":56.46513973945352},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718819\"],\"csd_name_en\":[\"Turnor Lake 193B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Turnor Lake 193B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-103.2412250455167,56.290668462864126],[-103.21278195989119,56.308966057687044],[-103.21665655658775,56.334242255801435],[-103.2435010512852,56.33220926537613],[-103.25477817109159,56.294500558014796],[-103.2412250455167,56.290668462864126]]],[[[-103.1652694537769,56.39500316353992],[-103.18315913378034,56.38923915472796],[-103.19669393948121,56.37357126373156],[-103.22122465956596,56.364238954899],[-103.23182703893148,56.34549004762739],[-103.1972930725209,56.32390644190147],[-103.20169265789369,56.304414255507005],[-103.21507939643865,56.284442878140204],[-103.16482998337369,56.28446171076914],[-103.1652694537769,56.39500316353992]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.19794967799784,\"lat\":56.33184886462532},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718822\"],\"csd_name_en\":[\"Southend 200\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Southend 200\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.7549226558794,56.1157083140528],[-103.74532943906044,56.122860451742234],[-103.76048677298765,56.12376364402085],[-103.7549226558794,56.1157083140528]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.7535796226425,\"lat\":56.12077746993863},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718825\"],\"csd_name_en\":[\"Brabant Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian settlement \\/ \\u00c9tablissement indien\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Brabant Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.05940127353145,49.89913180995427],[-113.05753202975407,49.87669832982003],[-113.04737966578051,49.887800140063746],[-113.05940127353145,49.89913180995427]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.05477098968866,\"lat\":49.88787675994602},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4802\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4802014\"],\"csd_name_en\":[\"Nobleford\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Nobleford\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.38922398231297,50.70315570260061],[-111.38834801708806,50.768341542275714],[-111.41626730927406,50.75339314283521],[-111.45155829822464,50.757649262060156],[-111.46140658467426,50.772019243905184],[-111.47372297565332,50.77634384721902],[-111.50185468092923,50.77258705315204],[-111.52353648500669,50.761829660457224],[-111.5696277963658,50.77150166525769],[-111.57368770130184,50.784880355809655],[-111.60600977675867,50.80433394615046],[-111.61516478579335,50.81703057001726],[-111.60536349505446,50.833723947359594],[-111.62026630990307,50.841412248113535],[-111.61972819261685,50.8504031671071],[-111.68434860828401,50.85975665505988],[-111.70600759900552,50.850197369222485],[-111.72024281085646,50.854465160111886],[-111.74135040070466,50.84456855114473],[-111.76537661302379,50.84397224399972],[-111.803827999949,50.83565044956491],[-111.81610249347676,50.840016261217045],[-111.818749118991,50.852023253745436],[-111.83868910221757,50.87772956270833],[-111.83521279994284,50.885565346136055],[-111.85456789691324,50.9070803532046],[-111.90560569529832,50.918422548707206],[-111.92053720860939,50.91122654717991],[-111.96525061247988,50.921314045528675],[-111.97132628856416,50.92822266583139],[-111.95452737579677,50.95302625062574],[-111.92555001821368,50.9538716636122],[-111.93163359824543,50.963972356611656],[-111.9170806987398,50.97367435274922],[-111.93546509566566,50.99159815840675],[-111.93412590071107,51.00412345608025],[-111.9483227995233,51.016068657760194],[-111.95159771171055,51.031612548905194],[-111.96813039915278,51.043757361023786],[-111.96788690292635,51.05879245671596],[-112.00067579897622,51.093968550140154],[-112.02307769335805,51.09678045031118],[-112.03189530141852,51.1073642476072],[-112.06570429472951,51.11214296848876],[-112.09355360692835,51.12715264222452],[-112.10004048135919,51.14091174879031],[-112.1155387145068,51.145939253202364],[-112.12429351167293,51.15714464633066],[-112.15699970719818,51.165825646278705],[-112.16716091979033,51.17743505727795],[-112.20350949836028,51.19480894281391],[-112.21116540458388,51.204795652530606],[-112.23729791945526,51.2133007996145],[-112.23765061276826,51.09607708766976],[-112.3770728795687,51.09607749406494],[-112.37708411098215,51.00889739672976],[-112.51656301469053,51.008733990759914],[-112.51669859406388,50.921348405313914],[-112.63537958484314,50.92120289438278],[-112.63423021936408,50.83412993469263],[-112.6127519869908,50.83413209979334],[-112.61342939372832,50.81301498672381],[-112.54740716000887,50.79883135212942],[-112.49749177167722,50.79110511689891],[-112.49829877987625,50.74671869353096],[-112.54846237169802,50.74953880551245],[-112.56137419369831,50.74137925620199],[-112.54217968849667,50.71495776329938],[-112.52409448431426,50.71511245211266],[-112.51910633286724,50.703309817890286],[-112.52226769122392,50.67868565159734],[-112.50751821435418,50.66883294349825],[-112.48387609324234,50.66787616978247],[-112.49281111436244,50.65366245299982],[-112.4885881000171,50.636217651797395],[-112.45182661264913,50.62586526341875],[-112.42650500964905,50.62735164667855],[-112.37139850770885,50.60573316354827],[-112.3658788059599,50.59697875647992],[-112.38993860087876,50.576506354683055],[-112.39388460391262,50.55697316775425],[-112.36121019298001,50.546919163051705],[-112.35232979183353,50.53790336337988],[-112.36735620050527,50.517553868340066],[-112.36664119098856,50.48997856328264],[-112.33964560064258,50.47028106357487],[-112.32535927633447,50.45464144754393],[-112.2984597863825,50.448043051674524],[-112.30491099019967,50.43035176939665],[-112.26911230836093,50.42586024462717],[-112.21828148334721,50.43070145013444],[-112.19352720865001,50.43638955533792],[-112.1726006144062,50.42408325138519],[-112.16712887616866,50.41473604861412],[-112.17852249512974,50.388398267675],[-112.17409760089724,50.372689167057096],[-112.18383249757377,50.35623634580693],[-112.1803893036497,50.34211795570758],[-112.15837160856488,50.33255554020606],[-112.15731959007135,50.32147486332028],[-112.16916126155355,50.31104982111005],[-112.16656621073622,50.300622346054084],[-112.13913370754825,50.293979543938825],[-112.11501269798354,50.28110496656364],[-112.08806821551688,50.27883514963715],[-112.08706437929077,50.257304949832175],[-112.0779384119942,50.243701739208035],[-112.07596140098067,50.22312434579212],[-112.08552229200507,50.20399526378434],[-112.0606276206975,50.19994215310948],[-112.0107431014274,50.21315745881126],[-111.98520592341761,50.21198865998541],[-111.93739640609179,50.1840497410655],[-111.9253694040709,50.18277654334055],[-111.90638428237335,50.20066904915188],[-111.89034981597626,50.20566884428646],[-111.8511697090812,50.173799143793445],[-111.84973580204647,50.148919452016735],[-111.83097168752892,50.1430208443763],[-111.81541499285481,50.14803886547818],[-111.78885150883845,50.14385443850885],[-111.76766061264001,50.12614493861082],[-111.71641068727692,50.138042255210955],[-111.70276639603992,50.131817942905236],[-111.67912549870397,50.139461254429186],[-111.6689768330688,50.13356391885684],[-111.6450087980412,50.1351623031444],[-111.37018187980476,50.13582394078191],[-111.36999029083934,50.22267885703294],[-111.37940527121809,50.222679040945565],[-111.3792745324667,50.35662331707492],[-111.37929410338023,50.571972104021754],[-111.38896509776869,50.572003305103856],[-111.38922398231297,50.70315570260061]],[[-112.09306222801075,50.75248019561955],[-112.09362356282337,50.760098943703404],[-112.0819541925012,50.75809658419695],[-112.08195600442467,50.752311943415855],[-112.09306222801075,50.75248019561955]],[[-111.92026820788293,50.73671338802247],[-111.89735609983222,50.7370590804511],[-111.89738689528313,50.72594076776419],[-111.91442846676101,50.724806385061015],[-111.92026820788293,50.73671338802247]],[[-112.48611530774161,50.77582699493879],[-112.4865923199543,50.79813946198474],[-112.45158168486428,50.79515369587625],[-112.44496098302034,50.782149339848814],[-112.4745149009229,50.783161289476865],[-112.48611530774161,50.77582699493879]],[[-111.92032158355045,50.58660150234183],[-111.88961393390237,50.586817616355354],[-111.8405710867526,50.560533791409625],[-111.883377276965,50.5429722920009],[-111.90635660766405,50.542910403131465],[-111.92900998813295,50.55016940085276],[-111.928969915068,50.57209520583383],[-111.92032158355045,50.58660150234183]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.94159376070085,\"lat\":50.61679988371806},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4802\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4802031\"],\"csd_name_en\":[\"Newell County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Newell County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.54462198864394,51.3724091107407],[-113.52113539027091,51.38695719157052],[-113.55629060997406,51.386972289652526],[-113.54462198864394,51.3724091107407]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.54068266296296,\"lat\":51.38211286398791},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4806\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4806024\"],\"csd_name_en\":[\"Beiseker\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Beiseker\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.04857682272016,51.43600580720214],[-114.05849316966724,51.43105048125837],[-114.05949225535379,51.409146175089646],[-114.01118257178597,51.40928405153195],[-114.01217621739481,51.445579698153054],[-114.04857649369292,51.44560289146656],[-114.04857682272016,51.43600580720214]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.03385544440998,\"lat\":51.426354053430316},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4806\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4806026\"],\"csd_name_en\":[\"Crossfield\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Crossfield\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.14996271750539,52.28031530917095],[-112.14776991391804,52.28860648522991],[-112.15889727093904,52.28847461469995],[-112.15898757449943,52.28076462334467],[-112.14996271750539,52.28031530917095]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.1538210172723,\"lat\":52.28467257621718},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4807\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4807016\"],\"csd_name_en\":[\"Halkirk\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Halkirk\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.26543943245491,52.87520336032028],[-112.27771052242134,52.86738490152441],[-112.25351308316012,52.859613492018376],[-112.25353700637405,52.87247660765807],[-112.26543943245491,52.87520336032028]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.26273628527345,\"lat\":52.86799415723661},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4807\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4807039\"],\"csd_name_en\":[\"Daysland\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Daysland\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-110.85046887856187,52.8578013472252],[-110.85046418330118,52.85072760310786],[-110.88620072129463,52.8506467088293],[-110.87468640727651,52.828827393189144],[-110.85044609472114,52.82159349004936],[-110.82602879815656,52.821279528837],[-110.82627924440959,52.85838251617328],[-110.85046887856187,52.8578013472252]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-110.85032587950215,\"lat\":52.83931097554943},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4807\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4807054\"],\"csd_name_en\":[\"Wainwright\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Wainwright\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.89839241616882,51.98902370765573],[-114.89805584610603,51.98706057899813],[-114.88560261260378,51.98982875342977],[-114.88668639491173,51.991415289824666],[-114.89839241616882,51.98902370765573]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.89229365552198,\"lat\":51.989297736973946},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4809\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4809005\"],\"csd_name_en\":[\"Burnstick Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Burnstick Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.17856902329159,53.34357560148657],[-111.18747007471309,53.33279136079006],[-111.1684346489173,53.330208582664845],[-111.16834081067893,53.343225025308165],[-111.17856902329159,53.34357560148657]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.17580860591718,\"lat\":53.33680656442595},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4810\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4810034\"],\"csd_name_en\":[\"Mannville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Mannville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.35840109891183,53.5965577576348],[-112.3610152370046,53.57810440207968],[-112.336387933236,53.57818393935731],[-112.3364521968214,53.59968339968664],[-112.35840109891183,53.5965577576348]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.34776206609371,\"lat\":53.58794780375589},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4810\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4810061\"],\"csd_name_en\":[\"Mundare\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Mundare\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.64310680966152,53.701301555579064],[-112.66910556976555,53.68716636718645],[-112.65622881194523,53.67274951790934],[-112.6193138618437,53.67250693587532],[-112.61949581275253,53.687209672676666],[-112.60664217645505,53.70159469375743],[-112.64310680966152,53.701301555579064]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.63811659702101,\"lat\":53.68700231710865},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4810\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4810062\"],\"csd_name_en\":[\"Chipman\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Chipman\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.82841478082184,54.39322639651419],[-111.8525706459683,54.406134920500065],[-111.86210800749744,54.393952908689975],[-111.86225663515528,54.369770520779255],[-111.85212907296045,54.3552547976825],[-111.85196917339768,54.321400967721225],[-111.84076431157915,54.31864236175504],[-111.83975792996006,54.30422613093209],[-111.814916267593,54.30427416606337],[-111.81498620678641,54.26763964242784],[-111.80451241768262,54.25300036730575],[-111.75279417995698,54.253257682820646],[-111.75367678960944,54.23783846939159],[-111.72830060236817,54.23856630702422],[-111.72702561939884,54.28242937151402],[-111.76522580697079,54.28245488254268],[-111.77765367236206,54.297047376846976],[-111.77833918297061,54.33318220191204],[-111.80249684371614,54.34079639233038],[-111.80272531951906,54.35534292635351],[-111.82754055466972,54.355323322313204],[-111.82841478082184,54.39322639651419]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.8018623722913,\"lat\":54.31155982193224},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4812\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4812808\"],\"csd_name_en\":[\"White Fish Lake 128\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"White Fish Lake 128\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-110.75840697023507,54.06427562075067],[-110.75839507605512,54.12006375203314],[-110.77563147437493,54.1253616578432],[-110.77913679683365,54.141193459737806],[-110.8069990829587,54.13615966824861],[-110.82334947537726,54.142894674640516],[-110.85616369807789,54.140097454284025],[-110.87022067030958,54.14910275079399],[-110.89610297488049,54.1504048531346],[-110.90893641765786,54.12946839207514],[-110.9091359968324,54.08895380111739],[-110.8935871417504,54.05972982858648],[-110.75841762625795,54.06010034512103],[-110.75840697023507,54.06427562075067]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-110.83558211580944,\"lat\":54.10090008446297},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4812\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4812811\"],\"csd_name_en\":[\"Kehewin 123\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Kehewin 123\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.32220164607524,54.58866666973952],[-114.30173820558733,54.64996445453698],[-114.32704279757722,54.670467654416775],[-114.32526498595574,54.67693687068484],[-114.29664140839418,54.6961687745345],[-114.28972408666027,54.73523606693493],[-114.28397430735086,54.744369171525136],[-114.28284680976142,54.78427856137036],[-114.27235202011117,54.792848771468655],[-114.25264479022408,54.82853597331896],[-114.22237279707196,54.850467749852264],[-114.46916571620905,54.85037418168723],[-114.92149015694632,54.8499592384894],[-115.069938884781,54.850288951608086],[-115.06918226018,54.76000280130972],[-115.0575065656362,54.759998758922656],[-115.05916653689913,54.62433891630994],[-115.06280632439196,54.502813429753395],[-115.07365759432585,54.49966433359469],[-115.18408288324923,54.5002370802159],[-115.42756085902887,54.499827400655285],[-115.67442051213541,54.500084627822346],[-115.96249582111322,54.50003646860606],[-115.96588778725143,54.50003802985683],[-115.97005407229999,54.412568996349236],[-116.10147919918215,54.414540494431456],[-116.1005108738173,54.32631390591694],[-116.25492694834014,54.32650281828609],[-116.2588481972426,54.29741491141619],[-116.25088656508099,54.291430793810925],[-116.25041864383107,54.25610299035364],[-116.28586166754742,54.2413283325138],[-116.2980496168331,54.230475751103086],[-116.32461221110762,54.234433235198054],[-116.3569802357673,54.228075625395284],[-116.36863338677514,54.218270427685376],[-116.39916913602157,54.2233703484313],[-116.47468344439287,54.20550570595645],[-116.49527608711284,54.185982618443276],[-116.52605143193098,54.16890701582592],[-116.56408533010699,54.15723451763927],[-116.58664976081835,54.1562534075866],[-116.5962301646127,54.14978582192111],[-116.63057967058873,54.13988505037004],[-116.65724863538033,54.12381973505425],[-116.69889801426052,54.12191990380154],[-116.70161438328242,54.06631975491067],[-116.52841772119339,54.06538439661084],[-116.52693355160528,53.97764723054468],[-116.21842158927377,53.97693114964162],[-116.03749819133633,53.97697382312562],[-115.86877337695583,53.97775770719738],[-115.84717820671717,53.95047121879493],[-115.86191572532695,53.94559927061519],[-115.87573421286947,53.9246199053957],[-115.85769183087314,53.91292635931478],[-115.85967368837711,53.89880235956506],[-115.87183109385911,53.89063845918524],[-115.78527738443525,53.89023509221703],[-115.78494669509415,53.8188370100722],[-115.7110033614439,53.818327871232086],[-115.48704629248132,53.818998885832265],[-115.48678478773888,53.803045935919094],[-115.33733919754376,53.80278240812154],[-115.33933389144778,53.81436369621216],[-115.33927178502111,54.021177191199634],[-115.3371618984981,54.06393645824123],[-115.2003658158548,54.06472115922022],[-115.20182104056141,54.15212254549772],[-115.19790289102689,54.16033826950999],[-115.16854840799066,54.17405193070513],[-115.15456349300952,54.169955277458286],[-115.10061931539745,54.19883857291895],[-115.07146317075747,54.210700985015805],[-115.04667126760717,54.22977042868044],[-115.02617039869676,54.23029828844847],[-115.01855296207516,54.248042820402674],[-115.00105461944784,54.2500012026267],[-115.00372387755354,54.261706587114496],[-114.98228600674095,54.266061366791746],[-114.97972492020955,54.275779168181934],[-114.94769125063122,54.28010047594082],[-114.95091847677931,54.293412019274705],[-114.9318123323834,54.293244826876744],[-114.95899062418597,54.31772167236905],[-114.91756308202392,54.322991864205065],[-114.9009731770223,54.306900809512],[-114.8464346822762,54.32608015761193],[-114.82520536429267,54.31246811483034],[-114.78930581905279,54.3100538696652],[-114.78339771596583,54.32193306637507],[-114.757918376578,54.32288195491354],[-114.66866888025132,54.31698625798059],[-114.65321061948612,54.305133581269565],[-114.62952245573152,54.31899811743596],[-114.60048693608722,54.32049567194922],[-114.59525422691617,54.32781010382912],[-114.59620093923175,54.3511042104359],[-114.56266897160286,54.3509860822103],[-114.55314591241977,54.37216647830121],[-114.53629432132469,54.36707837193442],[-114.51983946742052,54.37614737804407],[-114.52888740810252,54.3872345254763],[-114.52148806252661,54.41090261802991],[-114.52846352183256,54.42949703661124],[-114.51813759953451,54.4378173584977],[-114.50133819011157,54.4267503226609],[-114.49768179853773,54.41647994989231],[-114.48006278826288,54.41488786891595],[-114.44973986785605,54.46365724885336],[-114.42630602969597,54.48644663930847],[-114.35615964501287,54.501265904447756],[-114.34234259147107,54.50424572275952],[-114.31798536923613,54.530883667910935],[-114.32030244452174,54.55002904405278],[-114.31333146834174,54.569002587335724],[-114.33270135500868,54.57227558093474],[-114.33632897716997,54.580827133120714],[-114.32220164607524,54.58866666973952]],[[-114.80764781600426,54.3414086067612],[-114.8143865273447,54.34114155505461],[-114.81517249371852,54.34363501909758],[-114.80764781600426,54.3414086067612]],[[-115.65200952906584,54.16277287308661],[-115.63560186525656,54.15227513692679],[-115.60030489575368,54.152207724866656],[-115.59958315206595,54.12211797162418],[-115.62496651860646,54.11608745700035],[-115.67603020091443,54.11608187989898],[-115.70153444365424,54.12378577597845],[-115.70192853850932,54.137237958326914],[-115.72756323655379,54.13737920380981],[-115.72560274458104,54.15234647194819],[-115.68634706989697,54.15446623990674],[-115.66464089821788,54.16607978406696],[-115.65200952906584,54.16277287308661]],[[-115.8719860234219,54.253122906500096],[-115.82672074164597,54.25220600873565],[-115.80245526907954,54.254547077459144],[-115.77405276094905,54.23849643165884],[-115.77591298394987,54.221299077249384],[-115.76593600009758,54.219389709228466],[-115.78294455486642,54.194288152241235],[-115.80259229885802,54.189636197186076],[-115.85513407899893,54.197857495633706],[-115.85382240583067,54.22515239956027],[-115.8781275240467,54.225650266925605],[-115.8719860234219,54.253122906500096]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-115.37804745447458,\"lat\":54.33030489130487},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4813\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4813029\"],\"csd_name_en\":[\"Woodlands County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Woodlands County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-116.56824468148501,58.51243260818721],[-116.59303054489929,58.51476769433916],[-116.59334657025465,58.50064405945983],[-116.62168686700126,58.50136473023595],[-116.62139166662668,58.48683046351313],[-116.59651038495234,58.482804890753016],[-116.59487972602707,58.42951076935619],[-116.54065731943682,58.42958616051551],[-116.54037976869635,58.48568995798413],[-116.56824701478006,58.48568580287977],[-116.56824468148501,58.51243260818721]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-116.57439869683127,\"lat\":58.46840907080873},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817843\"],\"csd_name_en\":[\"Child Lake 164A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Child Lake 164A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-118.90282503998682,56.13049864485333],[-118.93652174569684,56.145192247531895],[-118.94810036201335,56.17685875808641],[-118.9625669790931,56.19318905086395],[-118.9715909725919,56.214769717492054],[-118.95196330334423,56.25234665058152],[-118.96402728696037,56.269199471556526],[-118.99388689313024,56.27330228388348],[-119.0329406588621,56.26820890026585],[-119.07573053829276,56.27578238717007],[-119.12404831229878,56.29030319787644],[-119.13885575713675,56.30568866095684],[-119.15443233217798,56.311902944640025],[-119.1982585688136,56.29882629908587],[-119.21471554022735,56.29018032832246],[-119.24311783214075,56.287108173881066],[-119.29050459876743,56.27539844199313],[-119.3613092150467,56.24291787474507],[-119.40427959644268,56.233123227381625],[-119.46643680398783,56.23457524219059],[-119.49999990724346,56.223582528862714],[-119.54405222679789,56.21290020767326],[-119.57777124948134,56.192262985423184],[-119.60813722269201,56.178780766876244],[-119.64400678915165,56.16698215936555],[-119.67301523772147,56.166006417984086],[-119.7166153652189,56.172989689866334],[-119.76607767258537,56.17399205010845],[-119.80797239071808,56.16351249660666],[-119.83962718773428,56.14976858642517],[-119.86528740683536,56.133528524108],[-119.93647899194549,56.136099786975876],[-119.98710596417982,56.147626378864054],[-119.99999999001159,56.14553507320785],[-120.00131701295346,56.07248380610729],[-120.00028075378708,55.99993791752468],[-119.99994596937307,55.77838166243072],[-119.99999522923144,55.54858333378122],[-120.00152850397734,55.49028102096945],[-119.94158391938532,55.48916589983276],[-119.83669788983299,55.490419524429605],[-119.83638439169334,55.47595649830512],[-119.76020558438832,55.47530736650472],[-119.76013230420969,55.46120800080861],[-119.57637722993995,55.461469317280425],[-119.57766729376186,55.49058580613488],[-119.52573921551183,55.490598800559205],[-119.5259182857786,55.51960190179888],[-119.44825220132054,55.51957059333924],[-119.44823948875927,55.534104696585075],[-119.42390872965497,55.53395782216851],[-119.42355903599616,55.54836522205853],[-119.16387029461215,55.54867840218616],[-119.16385968372919,55.49009810567705],[-118.93095220760715,55.49061094875261],[-118.92644752973037,55.49171054228025],[-118.6211112757296,55.493172470613665],[-118.62111552089749,55.63596730647293],[-118.93129178782318,55.63591760671736],[-118.9314266858389,55.810545594798405],[-118.94022737743701,55.833802477750886],[-118.92717315849228,55.840817635917944],[-118.90071544731437,55.84034311801192],[-118.88782639746108,55.84856810105695],[-118.78281393413089,55.84812742308369],[-118.74350317195358,55.868602717308924],[-118.73016437457368,55.883235112278754],[-118.7303978062944,55.89795949812754],[-118.62741987917617,55.89811304864895],[-118.62784111078737,55.92276918916882],[-118.6457631156835,55.92777595924239],[-118.69653978526554,55.92977757202447],[-118.72268240763422,55.937250072501094],[-118.76708550427762,55.94130377302706],[-118.7867653232262,55.94589116032835],[-118.80520719324326,55.9614742635908],[-118.81748373416067,55.991441079010784],[-118.82143193684703,56.01356412446803],[-118.82883818978074,56.02106762166101],[-118.85859411530973,56.030172378319946],[-118.88492866655692,56.03122298019791],[-118.91120241021275,56.04193996257786],[-118.93042257300402,56.059172546916656],[-118.92796942474288,56.069399662902974],[-118.88793120432501,56.0947861979582],[-118.88652036138102,56.113042876950246],[-118.90282503998682,56.13049864485333]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.38981764820016,\"lat\":55.84883673667445},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4819\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4819059\"],\"csd_name_en\":[\"Saddle Hills County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Saddle Hills County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-115.04991141461683,50.12922375011705],[-115.05205239748607,50.11789987530425],[-115.07670922023193,50.114253078570975],[-115.10425025763966,50.10567538637488],[-115.14267503963272,50.11196163810731],[-115.2064067496232,50.10521387221084],[-115.22398574223959,50.08102914541143],[-115.22727659916123,50.06420260775619],[-115.21568646952322,50.05895315039281],[-115.24501956720277,50.04152576209087],[-115.27130373994684,50.036571297024885],[-115.25044668614308,50.015210103355656],[-115.26875634523422,50.00449927544528],[-115.2382453457653,49.99572630186885],[-115.25036984870682,49.97699948037705],[-115.26316447905282,49.97154262741188],[-115.29596091535603,49.97360291393735],[-115.31184704837011,49.967907624307806],[-115.32677320287904,49.95329108737489],[-115.35530270351057,49.953229769414314],[-115.34465023747883,49.92696325653837],[-115.34319061626749,49.90984343705861],[-115.35736313809383,49.88495469538742],[-115.35632294942772,49.86412598010604],[-115.3423496982945,49.84992922634384],[-115.36258183777433,49.8406430308298],[-115.41616087036073,49.830418286992405],[-115.44279174420495,49.8187276544216],[-115.47136730038352,49.84023318133411],[-115.52097243306146,49.81390019399702],[-115.55348795389273,49.81472160329772],[-115.55492450321526,49.79805621392003],[-115.57053173875644,49.78615803563316],[-115.57950626708755,49.76466842288168],[-115.59443535558236,49.76359293960838],[-115.6012500917922,49.754210628819635],[-115.58842173602721,49.74202272166426],[-115.60270235265273,49.71959646127782],[-115.58525677633037,49.683894467805366],[-115.66789912435151,49.68315861781393],[-115.66923466528296,49.66160789413683],[-115.68320616615351,49.66172767765786],[-115.68793250749705,49.652385259047584],[-115.66720922387292,49.65026035716887],[-115.65852111220224,49.63010926056118],[-115.6332965150306,49.61962419404291],[-115.6607929217438,49.61296466725176],[-115.67992680326263,49.6180375938227],[-115.70583341805397,49.61015460777608],[-115.7304756056692,49.59391585111318],[-115.75456971268255,49.58997645042555],[-115.75076741656636,49.581568769599905],[-115.77483751309076,49.57747602790392],[-115.77481405765462,49.56678351419559],[-115.7546519520513,49.55902101008843],[-115.72869493662989,49.53757275892131],[-115.72819291103337,49.523969394216365],[-115.74132001694987,49.516730416005615],[-115.75738618320571,49.4904385720477],[-115.7841915542241,49.49120219424173],[-115.7967111366584,49.49735772149737],[-115.79606730176867,49.5125584994918],[-115.77685446094311,49.51455672333925],[-115.78973112441682,49.55120349090147],[-115.78624627887186,49.570213596396464],[-115.80581639087795,49.57187380119865],[-115.79037433807194,49.58813530414713],[-115.79047420732398,49.6036499487673],[-115.79027313967421,49.61969001300412],[-115.79015091737105,49.66129535019673],[-115.81310214682743,49.66125777969225],[-115.81354974562171,49.67648660602818],[-115.86191744734953,49.67657495680631],[-115.86265097833278,49.651113462228565],[-115.87807350439007,49.648649959933884],[-115.88009752036844,49.60317100003423],[-115.9060027514747,49.59396966583986],[-115.95081587618667,49.59139312088851],[-116.07150543761875,49.590064621641496],[-116.0904308406064,49.55360413701567],[-116.09492381433978,49.53761663617556],[-116.12805502521466,49.50411207463256],[-116.13372703773507,49.490795821321186],[-116.1637238316914,49.479390179798614],[-116.16467836082838,49.452699107514725],[-116.18227080289664,49.42664721487602],[-116.21050892323741,49.41345508420873],[-116.20966173566686,49.40460545229296],[-116.18291701014628,49.39082961496195],[-116.18196445636072,49.37964515635264],[-116.16682348655736,49.368401865193846],[-116.16533406787818,49.35228215272923],[-116.18521755485197,49.33701659104891],[-116.18895621938188,49.321934539683035],[-116.17109197086903,49.29354612231376],[-116.15847066786962,49.28335279143658],[-116.13084451170538,49.27844900576569],[-116.11549685593904,49.28828234025468],[-116.09512474875456,49.27946463857149],[-116.07262303399371,49.25864367306403],[-116.0782221520233,49.246308503391205],[-116.07007242429422,49.232015061833835],[-116.08593006067666,49.20854462124951],[-116.10076538905082,49.19845023496886],[-116.02847157461986,49.19754956964821],[-116.02810855194915,49.13832783633822],[-116.03246021518413,49.0587590953783],[-116.02481205242617,49.044953030604916],[-116.02704893324879,49.00091738604106],[-115.81811884868057,49.0011554249665],[-115.51999444489864,49.0007132332062],[-115.5346857910947,49.02143138169202],[-115.53305228015823,49.043565057973964],[-115.54625757144231,49.05076587366643],[-115.54734083674022,49.06906962636155],[-115.55484422481861,49.079998698945815],[-115.55058139359824,49.1005472762921],[-115.55680410771373,49.11976158015934],[-115.58791309395102,49.133340681944226],[-115.59551371301406,49.15382668136551],[-115.61870612903752,49.18808018379856],[-115.62052481470681,49.211247979922604],[-115.6337443827936,49.21260616490416],[-115.66335821597946,49.20629250114091],[-115.6876634956394,49.191601662961084],[-115.70306596599981,49.20737701905766],[-115.7275005686778,49.20337396308395],[-115.7431891565889,49.184454842635624],[-115.78010115843095,49.174655495839026],[-115.78449327360055,49.194987694619876],[-115.7567396653969,49.21839264777709],[-115.755501173382,49.23528370035494],[-115.7663394725664,49.2614488301712],[-115.7492088711956,49.27283118692035],[-115.73399071686883,49.268176102654564],[-115.72197317130825,49.28246054304112],[-115.70096878637358,49.282201414901024],[-115.64959702375016,49.298464598994364],[-115.62813409221592,49.31067151023716],[-115.61933380563228,49.32298743066984],[-115.5819911770154,49.32805755943012],[-115.58208268126764,49.3414277570273],[-115.60473982127145,49.350229792640484],[-115.630703805988,49.3685217661722],[-115.62364381962577,49.393542428052456],[-115.50490396788318,49.393453235353896],[-115.37585273252256,49.39033086268282],[-115.37544440110504,49.42718222648278],[-115.31906861481323,49.42513062371631],[-115.20733996000119,49.42703836962795],[-115.21622359537437,49.43876992551086],[-115.23905247327286,49.45268547824986],[-115.25067978396591,49.466879473817066],[-115.24971854532262,49.4849299135983],[-115.25618281381513,49.492494389410794],[-115.24219190713556,49.50779645328525],[-115.22314976327932,49.516822753322344],[-115.20043782246195,49.51923695118715],[-115.18049705699869,49.52896201610631],[-115.16130494227365,49.5216249685034],[-115.13718585062848,49.52869007675961],[-115.12785842672346,49.54657517774126],[-115.13714280485047,49.568936288478476],[-115.12729629451209,49.57600308186833],[-115.0790633336354,49.57673381471378],[-115.07094253708638,49.58090842490121],[-115.06596786738311,49.60295925371304],[-115.0552851819869,49.61269149050523],[-115.03582779420921,49.6118858020276],[-115.0208152628725,49.60080289524401],[-115.00819547175003,49.60494290090569],[-115.00599670773987,49.62199404601704],[-115.01663729961047,49.64023118962146],[-115.01653335586127,49.66645219942811],[-115.00681037227706,49.67882134392826],[-114.98362702338946,49.68786834686387],[-114.9746995337801,49.7033825715597],[-114.98736743793168,49.719977905148106],[-114.98710378898413,49.763191561889755],[-115.01894935203354,49.75965157859256],[-115.06954516700675,49.76871894476773],[-115.08940416595368,49.78048176915987],[-115.10249440828953,49.851005785254756],[-115.0940133393089,49.85988012324501],[-115.06837873209375,49.865694197505015],[-115.07229234368423,49.89046974256152],[-115.08739883424785,49.901192648650124],[-115.10864727799265,49.902846777360075],[-115.11337475552116,49.91280507674939],[-115.10481969367275,49.92439232298487],[-115.10179050184053,49.942120860303085],[-115.09009408245255,49.96520910967148],[-115.05661482355134,49.97101039253419],[-115.05554432102619,49.97930369483467],[-115.07222673329687,50.00553767525985],[-115.07696455972648,50.02178293026597],[-115.06603216002385,50.03178436290342],[-115.03858425813426,50.03767738815664],[-115.02977434592253,50.048520174127994],[-115.03192792267421,50.059514617356456],[-115.02218819961773,50.0787199202444],[-115.02470819655228,50.09748847992038],[-115.00928187170243,50.11298989165998],[-115.04991141461683,50.12922375011705]],[[-115.55969841884347,49.48794308773478],[-115.57089750146832,49.488468292858435],[-115.57088088866087,49.49504046299017],[-115.55996032074907,49.49496912375362],[-115.55969841884347,49.48794308773478]],[[-115.58956551884403,49.536329181955104],[-115.61153081326702,49.54317910819066],[-115.61129551923258,49.55429731936105],[-115.58915152821554,49.55371210503129],[-115.58956551884403,49.536329181955104]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-115.59008903123892,\"lat\":49.50608338974256},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5901\"],\"cd_name_en\":[\"East Kootenay\"],\"csd_code\":[\"5901035\"],\"csd_name_en\":[\"East Kootenay C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"East Kootenay\",\"csd_name_fr\":\"East Kootenay C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-117.48175094518051,49.451347456271364],[-117.47004849455753,49.45126377538429],[-117.45889110245865,49.46698503273922],[-117.46254982838587,49.4761346526735],[-117.47275123081673,49.46150283264814],[-117.50589511342443,49.4620061427179],[-117.50836796738356,49.4509581635949],[-117.48175094518051,49.451347456271364]]],[[[-117.27105593088197,49.51806570459452],[-117.31233440645694,49.4890298866949],[-117.33437078923878,49.494244686129825],[-117.31081086316938,49.4759981900924],[-117.28287536416275,49.472864392948125],[-117.27912043901797,49.49332376675037],[-117.26509147618981,49.50407774492664],[-117.27105593088197,49.51806570459452]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.35179978879049,\"lat\":49.48135107698365},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5903\"],\"cd_name_en\":[\"Central Kootenay\"],\"csd_code\":[\"5903015\"],\"csd_name_en\":[\"Nelson\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Central Kootenay\",\"csd_name_fr\":\"Nelson\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.54611023404583,49.12383258281872],[-117.56704100737652,49.099798758177016],[-117.54528341067333,49.1042638930536],[-117.5369890491872,49.11528307831118],[-117.54611023404583,49.12383258281872]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.54995378330571,\"lat\":49.11077088062786},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5905\"],\"cd_name_en\":[\"Kootenay Boundary\"],\"csd_code\":[\"5905005\"],\"csd_name_en\":[\"Fruitvale\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kootenay Boundary\",\"csd_name_fr\":\"Fruitvale\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.59419820466624,49.08460825692823],[-117.60210067124598,49.072514860535875],[-117.58219215590904,49.07484615602683],[-117.59419820466624,49.08460825692823]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.59283034394043,\"lat\":49.07732309116364},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5905\"],\"cd_name_en\":[\"Kootenay Boundary\"],\"csd_code\":[\"5905009\"],\"csd_name_en\":[\"Montrose\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kootenay Boundary\",\"csd_name_fr\":\"Montrose\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.37590573758658,49.67903282660881],[-119.40552103967411,49.684050953138936],[-119.42703348079017,49.675387991723134],[-119.45389865468687,49.70227846827553],[-119.45876379597655,49.72547007854944],[-119.48589747745856,49.74639297461415],[-119.50130051827604,49.73046581102707],[-119.5153903314061,49.72790398237979],[-119.51902101433569,49.75290327891927],[-119.55631926374028,49.75314119585616],[-119.55662402031756,49.760186025195004],[-119.66098669371097,49.75900515311536],[-119.69708950553331,49.76073836522758],[-119.69745585995102,49.77516161850759],[-119.719551911423,49.76524900232028],[-119.73694980306978,49.743363093903604],[-119.74157461057845,49.72482060868914],[-119.72866460602638,49.712062957493075],[-119.69780818813778,49.685556094278006],[-119.67401521627099,49.6578492927452],[-119.6425080901999,49.6334476152736],[-119.62557948917156,49.60916759913532],[-119.62560618740939,49.60167750502971],[-119.60350331032224,49.57365439676235],[-119.60274070658204,49.54961139102059],[-119.59612488106907,49.52987259969962],[-119.61038017247704,49.50544709629961],[-119.58545679669797,49.50952085742919],[-119.57406384812394,49.53029829060472],[-119.5825462979982,49.55526846213748],[-119.54751536056965,49.555604585861836],[-119.54136080136993,49.51925393003134],[-119.53044456368448,49.504103986030735],[-119.30989495005215,49.505040201414225],[-119.30207491895631,49.52174946366822],[-119.32178017399613,49.53046033574853],[-119.33842210262856,49.556794956531576],[-119.3368372644244,49.57097623604791],[-119.35813095249276,49.61622047855691],[-119.35035563852355,49.63608688055201],[-119.37282873474555,49.65404615884117],[-119.37590573758658,49.67903282660881]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.51792196268255,\"lat\":49.63257255383442},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5907\"],\"cd_name_en\":[\"Okanagan-Similkameen\"],\"csd_code\":[\"5907049\"],\"csd_name_en\":[\"Okanagan-Similkameen E\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Okanagan-Similkameen\",\"csd_name_fr\":\"Okanagan-Similkameen E\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.73768253890036,49.18437134069283],[-119.7377038879337,49.17499562660133],[-119.72638006097898,49.17475556402274],[-119.7264591346844,49.19289802657545],[-119.73768253890036,49.18437134069283]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.73145573922122,\"lat\":49.181967554917634},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5907\"],\"cd_name_en\":[\"Okanagan-Similkameen\"],\"csd_code\":[\"5907806\"],\"csd_name_en\":[\"Blind Creek 6\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Okanagan-Similkameen\",\"csd_name_fr\":\"Blind Creek 6\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.04400647433184,49.302463620727245],[-120.04380874733181,49.27355338857972],[-120.08935115062663,49.27313612552157],[-120.08908995366427,49.24491140574233],[-120.02224431880957,49.244557763215084],[-120.02271291484385,49.199375527351336],[-119.97894182407582,49.199163394153885],[-119.97866113755401,49.21187348634619],[-119.92864697451071,49.211433239551745],[-119.93504970496784,49.21934015789167],[-119.95242242134067,49.21723376561865],[-119.9635243102015,49.22536036586082],[-120.00161908121343,49.23833770233742],[-120.01919183165059,49.251420556202376],[-120.01764781609302,49.259226669857256],[-120.03532243194753,49.27488724557365],[-120.03164607844681,49.30268060586224],[-120.04400647433184,49.302463620727245]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-120.02293723369948,\"lat\":49.240869482360324},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5907\"],\"cd_name_en\":[\"Okanagan-Similkameen\"],\"csd_code\":[\"5907809\"],\"csd_name_en\":[\"Ashnola 10\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Okanagan-Similkameen\",\"csd_name_fr\":\"Ashnola 10\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.78829624046332,49.20691396385541],[-121.80165889850325,49.2140371888914],[-121.8310534985034,49.219751105370605],[-121.83996920357565,49.22850211211967],[-121.85416878094534,49.222486200120436],[-121.9344482975213,49.22462660839731],[-121.94490492307652,49.21558967532734],[-121.96938986763243,49.20771060752301],[-121.99554783361052,49.18586570498464],[-122.02168599546388,49.18142631121547],[-122.05471779879561,49.15310158855332],[-122.0673801309242,49.14956407537807],[-122.11293698962444,49.148606807836785],[-122.09552475168059,49.132931253427856],[-122.09897141598,49.12699439529163],[-122.08012302770219,49.10602546342895],[-122.0803496951563,49.060357888656924],[-122.07256046378015,49.04551762949499],[-122.02865142661823,49.045662966926436],[-122.02895791000864,49.089317997595764],[-122.00692774697154,49.089160279393646],[-122.0074005402325,49.079904776205595],[-121.98508827672404,49.078292348147706],[-121.97242669899039,49.08918568705084],[-121.94084681447264,49.089846286441],[-121.89495091487152,49.08790583228753],[-121.83686367027576,49.08838886543553],[-121.79117119792325,49.091617508248056],[-121.79030699968553,49.11043882650238],[-121.79038097610234,49.15137868739814],[-121.78238830857335,49.18760850777122],[-121.78834967354628,49.20031362752063],[-121.78829624046332,49.20691396385541]],[[-121.99115055039807,49.15135420290432],[-121.9870678841057,49.14816815004339],[-121.99375229429326,49.14785048806881],[-121.99115055039807,49.15135420290432]],[[-121.94060227747427,49.13238666907408],[-121.95310997571295,49.138101000182445],[-121.93726404426964,49.14205656789822],[-121.93522824981306,49.1353406715518],[-121.9349762907031,49.131889814854226],[-121.94060227747427,49.13238666907408]],[[-121.83885336369805,49.183922614948855],[-121.82722513168395,49.18388811691316],[-121.83022615960807,49.170587670479215],[-121.83865568988452,49.17587645911497],[-121.83885336369805,49.183922614948855]],[[-121.96209760943259,49.112626368852354],[-121.96232333407248,49.11840336743993],[-121.92945861882095,49.11848960652091],[-121.92956844022446,49.108883839453206],[-121.96209760943259,49.112626368852354]],[[-121.9729965873177,49.18064909722311],[-121.97326320094919,49.18718393717878],[-121.96038534470962,49.19316895890587],[-121.96407067176277,49.17974824027919],[-121.96947956392835,49.17197078781036],[-121.98841057414796,49.1716637238796],[-121.98709761982506,49.167633739638475],[-121.97916588632232,49.15900819679242],[-121.97446942384032,49.15517246833917],[-121.9813125835805,49.149814506111724],[-121.98482738260826,49.15916572673516],[-121.98505837490622,49.15962373979455],[-121.99226068042341,49.1617079991928],[-122.00626155497773,49.16514714578866],[-122.00213006584643,49.17840597949436],[-121.98727848697263,49.17906273664581],[-121.9729965873177,49.18064909722311]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.92990733361272,\"lat\":49.142722536810616},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909020\"],\"csd_name_en\":[\"Chilliwack\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Chilliwack\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.24890540659692,49.176358522613356],[-122.2699681046833,49.17664162087146],[-122.27103067693697,49.26380064105949],[-122.27313729136561,49.28311249107908],[-122.29835243356797,49.312710668878076],[-122.29441898548414,49.323950679303614],[-122.30099146610084,49.35582288292446],[-122.40996471191187,49.35295039719845],[-122.40914346739002,49.26426971657111],[-122.4242856320035,49.26407878609659],[-122.42378878619432,49.19110275930646],[-122.41069870669266,49.18737380957053],[-122.41902861215097,49.18211688381191],[-122.42458299238417,49.18450265287301],[-122.42580430075782,49.168830604910696],[-122.39506920763033,49.14833670876341],[-122.38723035152037,49.138006610104306],[-122.3598822994415,49.11918548581165],[-122.3384169476604,49.109050987249475],[-122.2595704120039,49.14519360136447],[-122.24969641265483,49.143189687659536],[-122.23341888978076,49.15053418861597],[-122.24890540659692,49.176358522613356]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.34285490268074,\"lat\":49.23301765522325},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909056\"],\"csd_name_en\":[\"Mission\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Mission\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.94124650616335,49.074348313688176],[-121.94084681447264,49.089846286441],[-121.97242669899039,49.08918568705084],[-121.97343164361727,49.074967763152564],[-121.94124650616335,49.074348313688176]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.95676016474246,\"lat\":49.082061304688594},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909827\"],\"csd_name_en\":[\"Soowahlie 14\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Soowahlie 14\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.63022333665205,48.74381377368656],[-123.643856939128,48.744210744472284],[-123.6437828945289,48.74077151583355],[-123.63001435970457,48.740956732383445],[-123.63022333665205,48.74381377368656]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.63718084133971,\"lat\":48.74243674093339},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5919\"],\"cd_name_en\":[\"Cowichan Valley\"],\"csd_code\":[\"5919818\"],\"csd_name_en\":[\"Theik 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cowichan Valley\",\"csd_name_fr\":\"Theik 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.88418210667116,49.873205504901605],[-125.00030469675731,49.870986644356975],[-125.11250732465854,49.87473289849452],[-125.12498141583328,49.868860805519795],[-125.15389069936462,49.86552539561365],[-125.19838648838395,49.886941093337384],[-125.25663560264043,49.896940496821365],[-125.26470521935082,49.88644025311206],[-125.28106423530942,49.885018396800156],[-125.31130557075934,49.90562476191682],[-125.32372802838138,49.919740317040315],[-125.35188710728463,49.91052413659281],[-125.3589848514071,49.891080339957576],[-125.35599680588923,49.87450628685312],[-125.40343322746598,49.87447880022029],[-125.4025567577171,49.84828857773154],[-125.38278956644307,49.848160808607695],[-125.38829436751715,49.83623129831347],[-125.42329578674118,49.83610819316565],[-125.42315120300469,49.82885550489648],[-125.48570589810844,49.82747354591419],[-125.4933203907962,49.8367126836688],[-125.5100022779823,49.815669729063956],[-125.511544856419,49.802963707541814],[-125.53551812443682,49.79661036034479],[-125.5530721994635,49.7851896182284],[-125.54512026521942,49.768669987364596],[-125.54589139494922,49.75534839900808],[-125.52189957835664,49.75457227225163],[-125.49128780694659,49.74080975117659],[-125.49619270141808,49.724971364924876],[-125.5137441950936,49.71021116032123],[-125.42652104146819,49.642665618237686],[-125.23395370755803,49.49103256410621],[-125.19956096110496,49.49442230405933],[-125.16661514908425,49.49171520086578],[-125.173198920265,49.510151061834584],[-125.11470643827988,49.51481257547578],[-125.12376724416954,49.52240592598735],[-125.11956674216792,49.536282651234096],[-125.1355457274746,49.54223508747462],[-125.16116748405841,49.56339731910677],[-125.14886188538767,49.57097138717398],[-125.1149423144749,49.573142084393645],[-125.108321079683,49.58587802977652],[-125.13085921928744,49.59549515208864],[-125.13025040113071,49.60450133847793],[-125.08729116168507,49.60708028309489],[-125.06669747606927,49.60638898274685],[-125.0677610075559,49.6248835132134],[-125.08078669275304,49.62568140607656],[-125.08032890648732,49.646629644391474],[-125.08877811747445,49.65524091916441],[-125.01001700159252,49.653364802333535],[-125.00847004010618,49.664897070837014],[-125.02680138510405,49.68744639391474],[-125.01054938742013,49.690770187050965],[-125.0151456977281,49.69462213965035],[-124.99929025101387,49.70254597507675],[-125.01304248399205,49.707626851159745],[-125.01079424688143,49.73043055885673],[-125.02732744686378,49.76087155481631],[-125.04783759468289,49.771462690405876],[-125.02675422477694,49.780294803754586],[-125.00682357618693,49.79403860713552],[-124.9670117687636,49.79481117094673],[-124.82821487149307,49.80289142309788],[-124.88418210667116,49.873205504901605]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.22559675577246,\"lat\":49.731065837975365},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5926\"],\"cd_name_en\":[\"Comox Valley\"],\"csd_code\":[\"5926024\"],\"csd_name_en\":[\"Comox Valley C (Puntledge - Black Creek)\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Comox Valley\",\"csd_name_fr\":\"Comox Valley C (Puntledge - Black Creek)\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.81648625232253,50.89596118979956],[-121.86612772089555,50.897404471354726],[-121.86045199630853,50.888312701767504],[-121.8684500141281,50.867036554844475],[-121.85719474369897,50.86474216075594],[-121.83274543885285,50.8712621615997],[-121.81648625232253,50.89596118979956]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.84523631454047,\"lat\":50.882788199946845},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5931\"],\"cd_name_en\":[\"Squamish-Lillooet\"],\"csd_code\":[\"5931829\"],\"csd_name_en\":[\"Pavilion 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Squamish-Lillooet\",\"csd_name_fr\":\"Pavilion 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.36688994802283,50.851949933058364],[-121.39591947573004,50.83788535999838],[-121.36709857499348,50.830590267868594],[-121.3556233657936,50.834751839506254],[-121.35001033487563,50.85171421928864],[-121.36688994802283,50.851949933058364]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.3689923021605,\"lat\":50.84142106531011},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933812\"],\"csd_name_en\":[\"Bonaparte 3\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Bonaparte 3\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.23115346817904,51.00620643165527],[-120.24489129662079,51.006454947633664],[-120.2507276047705,50.983778289557925],[-120.26290426393058,50.96820237132108],[-120.23774595218991,50.968304101362676],[-120.23115346817904,51.00620643165527]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-120.24363605626432,\"lat\":50.98535006833387},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933877\"],\"csd_name_en\":[\"Whispering Pines 4\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Whispering Pines 4\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.55606081105033,50.1107951573242],[-121.55516091238887,50.12077219584244],[-121.56571734427379,50.11804057213531],[-121.56336972163962,50.10539213044636],[-121.55598529381004,50.1053168602681],[-121.55606081105033,50.1107951573242]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.56005489919853,\"lat\":50.11284140364128},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933882\"],\"csd_name_en\":[\"Kanaka Bar\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Kanaka Bar\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.31092541243392,50.70302315076333],[-119.31475910019637,50.720681187666614],[-119.3304931412827,50.72037313340667],[-119.34289953001408,50.72028141438062],[-119.34302446721895,50.6989101484721],[-119.31279540530797,50.69901113260372],[-119.31092541243392,50.70302315076333]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.32775048192164,\"lat\":50.70949881946189},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5939\"],\"cd_name_en\":[\"Columbia-Shuswap\"],\"csd_code\":[\"5939808\"],\"csd_name_en\":[\"Switsemalph 3\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Columbia-Shuswap\",\"csd_name_fr\":\"Switsemalph 3\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.43578840493426,52.503099829535884],[-122.47812069771172,52.5065892571321],[-122.6827421804453,52.5073863460868],[-122.8143422286741,52.505932593406385],[-122.90699844623894,52.50577551913765],[-123.30627708494309,52.50102409791379],[-123.50023558269208,52.501712614754744],[-123.99743106715047,52.501379369766624],[-123.99941074191591,52.50137809779426],[-123.99640258246576,52.315600405563494],[-123.97424969611441,52.31370990668734],[-123.9397367818153,52.301065792386694],[-123.93139409158147,52.2855033040441],[-123.90984801954187,52.278608795140954],[-123.88553148490844,52.24297369757448],[-123.86172909632879,52.23184730485345],[-123.82645030918133,52.18149910131333],[-123.79014420421582,52.18517498387761],[-123.76251651207106,52.16650790788055],[-123.7475398833029,52.167500595911605],[-123.72067959557451,52.159794200193865],[-123.71388669242648,52.14839339483769],[-123.69359450878878,52.1406798062548],[-123.67593928488466,52.10406059027928],[-123.65732110341605,52.08986690213382],[-123.61638115375797,52.07699356464181],[-123.56856854071954,52.080884459755886],[-123.55302985757827,52.08793437109183],[-123.55051545907395,52.06814646712864],[-123.60966841068468,52.02852050430073],[-123.64849110087646,52.0242036949185],[-123.65255159023184,52.01373439347264],[-123.67505050564553,52.009690690001605],[-123.6722637764211,52.00174819736806],[-123.6922955081011,51.99328505754491],[-123.68311920656674,51.97613670660267],[-123.68682420227034,51.966810896838616],[-123.6627130111207,51.953626989457675],[-123.66832028907338,51.928231909052656],[-123.68088719690456,51.91741079463999],[-123.69733009657634,51.89358661320096],[-123.68926250679466,51.85281288214932],[-123.67355401629655,51.82675209332658],[-123.67888769145229,51.81785289496721],[-123.65790230554883,51.804654607751445],[-123.67009831719496,51.78976030788677],[-123.6500662119456,51.779004705489484],[-123.65334348990356,51.74594600303726],[-123.6820886976566,51.723520397464284],[-123.69687961566054,51.72257179758121],[-123.71103710800574,51.706095206926285],[-123.72134878795333,51.681312492373785],[-123.74959211116315,51.6690779013375],[-123.74873850596974,51.651295893284086],[-123.73964478448852,51.636850097326636],[-123.72798370367062,51.59387460357663],[-123.69586940984763,51.59260419523316],[-123.71141547306502,51.57993159450214],[-123.69915939473708,51.56531349006148],[-123.6899737009425,51.53505620959932],[-123.67434227727985,51.52105189541682],[-123.68268769165118,51.49452889657],[-123.7081769845125,51.46979739223875],[-123.70487601318439,51.463173487350325],[-123.67143411784109,51.44040610250432],[-123.66180091008641,51.42524248512057],[-123.62984099464697,51.39202819548961],[-123.63392547362275,51.38683009384811],[-123.60994930154678,51.309627686879004],[-123.58644890183719,51.277780395376986],[-123.59476599569446,51.227568398061194],[-123.58661272363831,51.2022609984444],[-123.55297016494686,51.175620428389045],[-123.54800800106068,51.160390088008455],[-123.50933383489703,51.13993657078924],[-123.49803843002827,51.14333784312046],[-123.44046312945473,51.12402856318974],[-123.4181159188649,51.12188670230062],[-123.38821907063631,51.109564943207296],[-123.35282781745389,51.10382966176572],[-123.27034002701131,51.08076768837137],[-123.25543519911766,51.068299113639505],[-123.24928221089621,51.04395478479966],[-123.23510394644241,51.05808844700876],[-123.2003633981331,51.072137273890895],[-123.18232472971822,51.07226538199047],[-123.16246925726836,51.09353372516724],[-123.14672119896261,51.122734879266034],[-123.10927238191096,51.13940149066415],[-123.0881125742643,51.13271521346494],[-123.0503195907154,51.14979490641802],[-123.05873377077101,51.15969211930357],[-123.05912350276417,51.1809807344938],[-123.08002883812436,51.212285642798086],[-123.0679376212313,51.22032310427112],[-123.0331586060811,51.200650940824076],[-122.97022420732232,51.19411493711375],[-122.90525868681141,51.183901831452424],[-122.82251969193076,51.14478608660905],[-122.79092143638515,51.148785765351434],[-122.776047973392,51.13761980002479],[-122.74303417989832,51.15911070513172],[-122.72633026264343,51.15803681982945],[-122.71345005561825,51.14791060399119],[-122.70747854346618,51.12504403405083],[-122.67518651543212,51.09865077284866],[-122.64665498003833,51.08615451432624],[-122.61844850494086,51.081196655137816],[-122.6041182368036,51.086236864228034],[-122.57939323298861,51.10340704122752],[-122.5957947663353,51.11769428660762],[-122.58661679032151,51.127595166384374],[-122.60249606993426,51.14257250420993],[-122.58977054870192,51.176625687598296],[-122.5580138041795,51.18434919556132],[-122.54762789326577,51.20180604248093],[-122.53027091901271,51.20918626290719],[-122.55152879048902,51.22975039988872],[-122.55232711636819,51.23782789323603],[-122.5713395706734,51.24758789948112],[-122.59836408346571,51.24877339104968],[-122.61397394534775,51.244664251492416],[-122.63085889893698,51.24876105560507],[-122.67488330730598,51.274371491466155],[-122.66971432544882,51.28843866478082],[-122.67572561867665,51.30233897449965],[-122.66454631588725,51.31677616991091],[-122.65101545043964,51.318616261062814],[-122.63219782017319,51.35460600360888],[-122.61760430230055,51.36169568557717],[-122.61341879613394,51.37255389773207],[-122.63728113134168,51.400734778834575],[-122.62411995115298,51.41721146621181],[-122.57318363277257,51.43440875764478],[-122.55938225957765,51.43544439106777],[-122.55971132420387,51.485122839964276],[-122.46919384629817,51.48211836084817],[-122.45600723091124,51.49507725402445],[-122.42758823563683,51.509859060856556],[-122.38176093540511,51.51860096998457],[-122.36005922793343,51.517333357696],[-122.33078893409925,51.524138252773355],[-122.28191759619304,51.51887000435118],[-122.28988081132714,51.5344438061994],[-122.29164348130861,51.55293902365157],[-122.29707740548109,51.562201586030135],[-122.29373720151288,51.58406751029568],[-122.30997397626273,51.60358629808355],[-122.30730590309803,51.611064802845455],[-122.32745479216605,51.634830609597344],[-122.32640602303333,51.649823198876334],[-122.35988110228242,51.6916053012777],[-122.351507386112,51.70347320320938],[-122.3629574065454,51.72028168929471],[-122.39353059958326,51.72880559198499],[-122.39939661063339,51.74236409932152],[-122.39086380373315,51.755143486720584],[-122.39338098850219,51.78384131175068],[-122.4057961108391,51.79297620489097],[-122.40866681025643,51.820239902561454],[-122.40009658825505,51.836527105772404],[-122.40161739342318,51.84967261093505],[-122.38664529853733,51.859557997424226],[-122.40095310505404,51.87137610563838],[-122.39600469084148,51.88019910210223],[-122.34545491310739,51.8807829943459],[-122.3288950053287,51.88503708540029],[-122.30377901846043,51.90203359974959],[-122.29651682277398,51.91486580040365],[-122.27881159472307,51.92178461451198],[-122.26906120528847,51.9400528950384],[-122.27701959697362,51.95936799351534],[-122.27266787800019,51.97201069311308],[-122.27501700551313,51.994553034457766],[-122.26509955052721,52.01427528260669],[-122.27044511229485,52.04203697230497],[-122.28006439587007,52.05288717897428],[-122.2751108080654,52.087636603054214],[-122.28439620262874,52.10635209996623],[-122.28310887335459,52.126100194627504],[-122.2699654988194,52.14914531361628],[-122.27238504659175,52.157696219633046],[-122.27455340154809,52.17131009429758],[-122.26965699484505,52.20032289966432],[-122.27976788934903,52.2194970052904],[-122.26396322064474,52.253921599695104],[-122.2723032181303,52.28181195603596],[-122.28883398287647,52.29693699003503],[-122.2755789943778,52.318757294033915],[-122.28201869889986,52.32664310424908],[-122.28264468920577,52.33384251014419],[-122.28944602228339,52.34111449794853],[-122.33523980944042,52.35207519266354],[-122.36096260450091,52.355486208050515],[-122.37449641945739,52.36232809474892],[-122.37611448493173,52.37859119894803],[-122.3897903978836,52.38811911383993],[-122.3913231018075,52.40882569031151],[-122.39893098029383,52.417711899268525],[-122.41024483644883,52.447636590510974],[-122.43460039747393,52.47791649578125],[-122.43578840493426,52.503099829535884]],[[-122.5441741248743,51.99088981791431],[-122.56638078153269,51.99123537706313],[-122.56556446441891,52.0032787372102],[-122.5432350576747,52.00284229375648],[-122.5441741248743,51.99088981791431]],[[-123.23505261436267,52.11671072268046],[-123.22419998936157,52.11710106975682],[-123.22448281278882,52.09555808064425],[-123.24946619606604,52.10271011360915],[-123.24937457139296,52.11521856713425],[-123.23505261436267,52.11671072268046]],[[-123.17194558744433,51.96063324088859],[-123.14504909888836,51.95683071142714],[-123.13425769310308,51.933789212635],[-123.11824779530997,51.937583304500066],[-123.11255728266872,51.911257721781936],[-123.171133635597,51.91121496517285],[-123.17194558744433,51.96063324088859]],[[-122.4921685630362,51.90005706321359],[-122.51925489829829,51.90047057878994],[-122.5193248236661,51.94212411208136],[-122.44869431081115,51.94163690652454],[-122.45000868476227,51.89939918178311],[-122.4921685630362,51.90005706321359]],[[-123.23151621115767,52.053939683365506],[-123.13002208157612,52.05432329751586],[-123.12894106437099,51.98740090482107],[-123.16807992984091,51.98700579154662],[-123.16892021347132,51.99653287831352],[-123.19832686409222,52.01170460125007],[-123.21839267289623,52.02917258247513],[-123.23204810770152,52.03530192546069],[-123.23151621115767,52.053939683365506]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.06549836152637,\"lat\":51.876495996974306},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941041\"],\"csd_name_en\":[\"Cariboo K\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Cariboo K\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.97003289303089,52.13221896252316],[-123.93540795041088,52.135210579666484],[-123.93414659474432,52.145707024949694],[-123.95324302089398,52.146166511910856],[-123.97003289303089,52.13221896252316]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.94910013928832,\"lat\":52.13929152833835},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941839\"],\"csd_name_en\":[\"Redstone Flat 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Redstone Flat 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.10968374152307,51.82520064363679],[-122.13561135424257,51.82572582332784],[-122.13601069893481,51.82194973397264],[-122.11033831283618,51.81957619400072],[-122.10968374152307,51.82520064363679]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.12206424190269,\"lat\":51.82306625788072},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941873\"],\"csd_name_en\":[\"Alkali Lake 4A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Alkali Lake 4A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-126.93015354256231,50.587419438121735],[-126.93364253356376,50.581565941861996],[-126.92169037838677,50.57396811237285],[-126.91514707262009,50.58317616793822],[-126.92091911149033,50.593787262516074],[-126.93015354256231,50.587419438121735]],[[-126.92827912187137,50.582825694159986],[-126.92520740314026,50.58319462372647],[-126.9251173752797,50.582389611254094],[-126.9280468131915,50.58148513193034],[-126.92827912187137,50.582825694159986]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-126.92368875100553,\"lat\":50.58365232672911},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5943\"],\"cd_name_en\":[\"Mount Waddington\"],\"csd_code\":[\"5943008\"],\"csd_name_en\":[\"Alert Bay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Mount Waddington\",\"csd_name_fr\":\"Alert Bay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-127.49425005795068,50.73066847758243],[-127.49504924079159,50.74278407098304],[-127.5053657584514,50.737024937378024],[-127.50262019606113,50.73441470309164],[-127.49425005795068,50.73066847758243]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-127.4984284060767,\"lat\":50.73659730812954},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5943\"],\"cd_name_en\":[\"Mount Waddington\"],\"csd_code\":[\"5943806\"],\"csd_name_en\":[\"Tsulquate 4\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Mount Waddington\",\"csd_name_fr\":\"Tsulquate 4\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.11171092880812,55.72289835991189],[-120.14665440259118,55.72315239312992],[-120.1370528321551,55.711192694056315],[-120.11171092880812,55.72289835991189]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-120.13180605451815,\"lat\":55.719081149032704},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5955\"],\"cd_name_en\":[\"Peace River\"],\"csd_code\":[\"5955005\"],\"csd_name_en\":[\"Pouce Coupe\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Peace River\",\"csd_name_fr\":\"Pouce Coupe\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-139.7770166882051,67.5576726748567],[-139.77113028237292,67.57912957649222],[-139.80340113939752,67.59137880915327],[-139.85478064834817,67.58766824956408],[-139.8800671718781,67.57898366000973],[-139.86934254435346,67.55798944574866],[-139.83640693732158,67.54889511609635],[-139.80436407565077,67.54952400090184],[-139.7770166882051,67.5576726748567]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-139.8239406874666,\"lat\":67.57013213369706},\"year\":\"2021\",\"prov_code\":[\"60\"],\"prov_name_en\":[\"Yukon\"],\"cd_code\":[\"6001\"],\"cd_name_en\":[\"Yukon\"],\"csd_code\":[\"6001043\"],\"csd_name_en\":[\"Old Crow\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Settlement \\/ \\u00c9tablissement\",\"prov_name_fr\":\"Yukon\",\"cd_name_fr\":\"Yukon\",\"csd_name_fr\":\"Old Crow\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-133.26779843665864,60.47167808432925],[-133.24346977277654,60.491003838382596],[-133.26340656389434,60.508623853213344],[-133.29770914166966,60.51445959169369],[-133.3318308153262,60.5089281935425],[-133.34369690827197,60.500786701292135],[-133.34493699633245,60.484713497299126],[-133.3280832027671,60.4681105263827],[-133.2962918507779,60.46584333841783],[-133.26779843665864,60.47167808432925]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-133.2979678257339,\"lat\":60.49019801032504},\"year\":\"2021\",\"prov_code\":[\"60\"],\"prov_name_en\":[\"Yukon\"],\"cd_code\":[\"6001\"],\"cd_name_en\":[\"Yukon\"],\"csd_code\":[\"6001047\"],\"csd_name_en\":[\"Johnsons Crossing\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Settlement \\/ \\u00c9tablissement\",\"prov_name_fr\":\"Yukon\",\"cd_name_fr\":\"Yukon\",\"csd_name_fr\":\"Johnsons Crossing\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-133.59348799425257,67.43203600928106],[-133.64698533556745,67.47189236500044],[-133.813635686991,67.44347516668046],[-133.73867483887355,67.38465233208802],[-133.57042123061393,67.41480480124606],[-133.59348799425257,67.43203600928106]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-133.69258637779149,\"lat\":67.42856655420594},\"year\":\"2021\",\"prov_code\":[\"61\"],\"prov_name_en\":[\"Northwest Territories\"],\"cd_code\":[\"6101\"],\"cd_name_en\":[\"Region 1\"],\"csd_code\":[\"6101010\"],\"csd_name_en\":[\"Tsiigehtchic\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Chartered community\",\"prov_name_fr\":\"Territoires du Nord-Ouest\",\"cd_name_fr\":\"Region 1\",\"csd_name_fr\":\"Tsiigehtchic\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.99999999533011,62.56249998942101],[-105.04264917111281,62.68559584238199],[-105.08082228980375,62.68748224724161],[-106.72243333967499,62.76390639724484],[-109.00042261411707,62.79233356739253],[-109.09299492395606,62.805448334988725],[-109.51429957861826,62.84148497994033],[-109.54843571067957,62.86362730777572],[-109.65943156058539,62.876979275823494],[-109.67964213788149,62.892909613733245],[-110.04698385988401,62.91816901158782],[-110.24427530479457,62.92460069330088],[-110.64312415448312,62.91613188136471],[-110.84236861694161,62.88579188010729],[-111.06326465948558,62.84522920208982],[-111.22720251638243,62.78860519244501],[-111.34171455178358,62.704076775351055],[-111.40324446443306,62.68746365017977],[-111.428038562486,62.685124874175926],[-111.46163609870247,62.67542482078641],[-111.49800009276412,62.626650234632905],[-111.5182855893702,62.60386067463836],[-111.51309340430073,62.58034201134648],[-111.57636856501041,62.53873390364732],[-111.64210832894945,62.48199850328748],[-111.64483912895486,62.46304985823636],[-111.66618708472451,62.42917724610212],[-111.72913354422835,62.367001055953075],[-111.78899606147438,62.35704908409744],[-111.82984338872177,62.342575277298685],[-111.9483758291108,62.28684782197847],[-111.98299841846477,62.2774125258587],[-112.09548202506897,62.239060662415184],[-112.13959066163382,62.21401126581404],[-112.13798802285653,62.20688723781364],[-112.20945264812869,62.169244790939345],[-112.24116233053083,62.16561262545691],[-112.32431826437372,62.13119005112931],[-112.41503755597843,62.07977559662314],[-112.45585461458381,62.074644103789204],[-112.67990132391125,62.0558736572819],[-112.81562779041889,62.04188821257478],[-112.8824174320609,62.02921899944335],[-113.00171310242716,62.01114253122752],[-113.06966241817284,62.007829920062576],[-113.15278557290839,62.02084862593567],[-113.16082306979969,62.00600300450643],[-113.20127719932229,61.99261259774562],[-113.33507885444793,61.982447240307586],[-113.52119880426159,61.97480249029991],[-113.54255725213457,61.98074609449383],[-113.56236779298882,61.97261527934755],[-114.57089679873133,61.72333724776036],[-114.8288324493378,61.68305555860377],[-114.83027410099929,61.680655217984224],[-115.36050211615935,61.05935909724437],[-115.55228221402258,60.82783568051488],[-115.59531061432061,60.73291308837378],[-115.60376078534186,60.7370526719177],[-115.6777721371672,60.74339070824926],[-115.73562009961292,60.74244332423225],[-115.8217291109257,60.75272235263653],[-115.85563838583973,60.738523502713754],[-115.86643208138335,60.72849669443088],[-115.86309721469311,60.712654207956035],[-115.8826543952556,60.70522310542449],[-115.88262009217995,60.69597470995162],[-115.91295591689496,60.689889094527594],[-115.93892029042743,60.669792303341886],[-115.95762909428561,60.67444759116019],[-115.986582930789,60.643001206275954],[-116.01209218004925,60.636176149387175],[-116.04768262384464,60.627892515316894],[-116.06175860265884,60.47437527232236],[-116.32934172179243,60.46059977193109],[-116.36035267569122,60.41581465692491],[-116.3830144056646,60.38792506440218],[-116.38049469175792,60.36871623994158],[-116.40669868126805,60.3524938117055],[-116.46239842503617,60.33970199858141],[-116.49909470985645,60.31042110391441],[-116.54260088202705,60.2885883440733],[-116.56681924150674,60.272121191043695],[-116.61740510250698,60.223610205417785],[-116.66674831150651,60.202929869112786],[-116.67234058627882,60.18481504215237],[-116.69155409687333,60.173870740992584],[-116.69660344728737,60.15987499122216],[-116.68979158569121,60.1447922718276],[-116.71322502954023,60.127542274523876],[-116.74595364614221,60.117067598766255],[-116.76721250723556,60.09776558704381],[-116.77106697086565,60.086467510356016],[-116.7924979875459,60.08003785636663],[-116.84623381918303,60.0529761149235],[-116.86674362234331,60.03890100683221],[-116.89808601843924,60.0380130002793],[-116.97392409358613,60.010303897227715],[-116.97862267293219,60.00001923281293],[-116.49999997075,59.99999999761422],[-115.99999997738097,59.99999999708551],[-115.5671601971962,60.0000483360638],[-115.24999997499347,59.99999999916828],[-115.00000001959292,60.00000000039904],[-114.49999999009476,59.999999991558255],[-113.99999997280682,59.99999999257874],[-113.7500000128446,59.99999998970739],[-113.24999999348498,60.00000000362701],[-112.74999999450358,59.999999990253855],[-112.37068783191435,60.000061435413656],[-112.25285514010709,60.000002766237024],[-112.25326517545395,60.08181520243537],[-112.20452675487122,60.08283432371019],[-112.16626316060199,60.0583811842269],[-112.14689955560722,60.02714204803635],[-112.12259279639113,60.02378391011431],[-112.06768370733406,60.03914538528339],[-112.03932399935431,60.043384091359066],[-111.94961382964907,60.042924625103595],[-111.91233877730357,60.036071149680964],[-111.8685025290656,60.01745357048868],[-111.83495440328888,60.012706822872055],[-111.81102182858326,60.00004538824272],[-111.49999998640104,59.99999999936669],[-111.24999999716947,59.99999999723996],[-110.74999998803094,59.999999992341486],[-110.24999998323496,59.99999999707299],[-110.00000001796549,59.99999999847859],[-109.5000000198823,59.9999999987209],[-109.24999999803664,60.00000000438417],[-108.75000001261975,59.99999999478793],[-108.49999998075212,59.99999998837465],[-108.00000001585,59.999999990312126],[-107.49999998469823,59.99999999153056],[-107.25000002000202,59.99999998649083],[-106.75000000766751,60.0000000019185],[-106.49999997858461,60.000000004703104],[-105.99999999867597,60.00000000505796],[-105.50000001034634,59.99999999962973],[-104.99999998272204,59.9999999914361],[-104.50000000466625,60.00000001142096],[-104.00000001764329,59.999999985409175],[-103.74999998096615,59.99999999559264],[-103.25000000675897,59.99999999635571],[-102.74999997876142,60.00000000389544],[-102.50000000549595,60.000000005638746],[-102.00000001273933,59.99999999726299],[-101.99999997324126,60.20624999821396],[-101.9999999767009,60.38125000622198],[-101.99999999193334,60.69374999639648],[-101.99999998235874,60.94374999018443],[-101.99999997742755,61.14999999099048],[-101.99999997631338,61.443749997339985],[-102.00000002779653,61.65625000945987],[-102.0000000230201,61.79999999585112],[-102.0000000189428,62.04374999386757],[-101.99999997794676,62.23125000941073],[-101.99999997702021,62.40625001000698],[-101.99999999533011,62.56249998942101]],[[-112.23830768883441,60.10080691035257],[-112.24661364611451,60.101749593905645],[-112.24145597577206,60.10870026363174],[-112.23301404111463,60.10707929558503],[-112.23830768883441,60.10080691035257]],[[-110.67325100269704,62.356187226926494],[-110.74373727430996,62.34606646415656],[-110.7881977597994,62.41153802065812],[-110.61606012740039,62.43499253170702],[-110.57324411361277,62.370472648819245],[-110.67325100269704,62.356187226926494]],[[-109.15072939470465,62.66671304134547],[-109.21798126394492,62.750342502233835],[-109.07742874716465,62.77569098555602],[-109.00849252236956,62.69462699613787],[-109.0621860402311,62.676829008027475],[-109.15072939470465,62.66671304134547]],[[-113.65328216002665,60.90266627788549],[-113.7081347761654,60.89174873878562],[-113.82318436484562,60.877214870979266],[-113.8765081608412,60.89262950411327],[-113.92452643547304,60.943661912940954],[-113.79141453039684,61.183141130017056],[-113.68252768018245,61.20683885128191],[-113.65935585086936,61.21887222850751],[-113.51820339671494,61.236254695411326],[-113.49464892931535,61.23038117639603],[-113.48912982753053,61.21586718250264],[-113.52560015946383,61.1904725638651],[-113.46052990773201,61.11381396800038],[-113.55968325180173,61.05910366343304],[-113.54529912286154,61.00283798167701],[-113.51518038125285,60.95980228304721],[-113.53578255807938,60.93399675353858],[-113.60946343455704,60.911365694626134],[-113.65328216002665,60.90266627788549]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.42935784812815,\"lat\":61.26501252240025},\"year\":\"2021\",\"prov_code\":[\"61\"],\"prov_name_en\":[\"Northwest Territories\"],\"cd_code\":[\"6105\"],\"cd_name_en\":[\"Region 5\"],\"csd_code\":[\"6105097\"],\"csd_name_en\":[\"Region 5\",\"Unorganized\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Territoires du Nord-Ouest\",\"cd_name_fr\":\"Region 5\",\"csd_name_fr\":\"Region 5, Unorganized\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.26031613456186,46.71363799599763],[-53.26270395131307,46.70308134546415],[-53.249974067723684,46.70428514245773],[-53.24981690293442,46.71617550315724],[-53.26031613456186,46.71363799599763]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.25557620207863,\"lat\":46.709123575217454},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001105\"],\"csd_name_en\":[\"Portugal Cove South\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Portugal Cove South\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-52.934254464114325,46.972609094494466],[-52.910762699672475,46.9670820147627],[-52.89879829303284,46.98026549065523],[-52.90008002606431,46.994172694894665],[-52.94468904895783,46.99124966394122],[-52.934254464114325,46.972609094494466]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-52.91938812379528,\"lat\":46.98221261239901},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001140\"],\"csd_name_en\":[\"Port Kirwan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Port Kirwan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.20570621289643,47.43706939304607],[-53.20730412836239,47.44470384161683],[-53.188896510033416,47.45227170022181],[-53.16506540652575,47.46916579829507],[-53.16293559561592,47.495601296053714],[-53.16908580741231,47.507857710674905],[-53.1818077289777,47.47451130771893],[-53.20488468493634,47.45672541395942],[-53.25216899831431,47.4353925994108],[-53.256768107665344,47.42006260080068],[-53.297113813868364,47.40698769217603],[-53.2737977771737,47.39147797464864],[-53.20570621289643,47.43706939304607]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.224327095227004,\"lat\":47.4390373692428},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001461\"],\"csd_name_en\":[\"Conception Harbour\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Conception Harbour\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-55.14101848630498,47.076361985114886],[-55.13551399745625,47.12724545160133],[-55.1692792411853,47.1136586698026],[-55.14101848630498,47.076361985114886]]],[[[-55.10118227218526,47.0656342256647],[-55.000000016688745,47.058920117912066],[-54.50000001185638,47.02375557077496],[-54.35914256900158,47.01335770061874],[-54.18322719379881,47.00006579665739],[-54.1814710068866,47.01010429357141],[-54.13904806056366,47.11071416843677],[-54.10950661926905,47.161403136476686],[-54.41686240340676,47.170730643093925],[-54.62721335313101,47.17652856781217],[-55.02436037941439,47.21439388967305],[-55.11501908581264,47.219693878718516],[-55.08802319751647,47.159441684808186],[-55.09254627597212,47.1453030029826],[-55.10466328609761,47.13938866956979],[-55.0845867690465,47.1236108674305],[-55.08471739939822,47.10713421101756],[-55.07112472398993,47.09759959628416],[-55.08050781394357,47.07806789273252],[-55.10345608140169,47.07419019624115],[-55.11021820904382,47.06697979536979],[-55.10118227218526,47.0656342256647]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.61941105926674,\"lat\":47.109210998099705},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1002\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"1002022\"],\"csd_name_en\":[\"Division No.  2\",\"Subd. D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Division No.  2, Subd. D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.747144216990186,48.110029193505156],[-54.75949739705551,48.119693727885],[-54.79427745560459,48.119289477452014],[-54.79109549249623,48.139812376768035],[-54.80514012899118,48.147288861903796],[-54.805357630786524,48.166591570986206],[-54.82463181629551,48.179249788693625],[-54.835973601034304,48.17320320049265],[-54.86753896199951,48.167335105820534],[-54.887272538394505,48.172027866576464],[-54.88279342779283,48.20465381143398],[-54.8854131543479,48.224026516552414],[-54.90296209483577,48.23993324730139],[-54.91615167891001,48.24537442675696],[-54.945896481342984,48.24405291076337],[-54.98445381809533,48.24593428013385],[-54.99873773722659,48.23766127812027],[-55.0038837839292,48.222171759715145],[-54.99348470160088,48.20877372551069],[-54.992590265168495,48.18712064173895],[-55.02207183821695,48.18718211915095],[-55.029985505923555,48.172525011084005],[-55.06648948017839,48.1789090824615],[-55.044982109395825,48.19500880885678],[-55.036175541277515,48.21632374796659],[-55.04237514083108,48.228873809534065],[-55.0625523320916,48.24123148408939],[-55.109432869931595,48.246838687507484],[-55.12521370996441,48.26852667302055],[-55.15198768185424,48.28760166597154],[-55.16316408590995,48.264873634761585],[-55.18732563474884,48.237685482546986],[-55.19651540454475,48.23233204706681],[-55.21475727415987,48.24299647685241],[-55.247915661562175,48.215216941552335],[-55.258711196825615,48.227867035712286],[-55.26154582759481,48.24858863684798],[-55.27854411593278,48.26855685107106],[-55.30087421167123,48.26699725907281],[-55.31419374221172,48.25006261475652],[-55.32611980992264,48.250069488766904],[-55.3379187140186,48.24369444273857],[-55.33266140685689,48.23082289043857],[-55.35661545260646,48.224034049050644],[-55.37981125069604,48.20367471199846],[-55.4066168048782,48.19956366830057],[-55.40576748405548,48.17556618997351],[-55.38911290531601,48.158908688560324],[-55.40435461947963,48.14566047008428],[-55.41740861589029,48.12727361468464],[-55.40495195870555,48.09786678480858],[-55.38419789712216,48.07374631278676],[-55.38075448761011,48.06051882758065],[-55.41298627957844,48.03848364390813],[-55.40410053583821,48.008802470200735],[-55.44848748172101,47.97220654280751],[-55.474704553300526,47.96463572916211],[-55.477663847588886,47.946588839576386],[-55.48893291193253,47.92411327740795],[-55.49673011966436,47.91892568042902],[-55.51567440517791,47.92426414727577],[-55.53728849303927,47.90425289169958],[-55.54268349964885,47.88977597014861],[-55.60385698668523,47.84091247555533],[-55.62470811121079,47.79525174895501],[-55.60671728791835,47.78378275938265],[-55.59606091269856,47.769424617579666],[-55.593817746603605,47.743256516837256],[-55.615876897744855,47.73521191972931],[-55.6140622853998,47.72563372839989],[-55.58981334313191,47.71856297476457],[-55.58411034445718,47.701236363227785],[-55.617610240242854,47.65548031715615],[-55.58664531893258,47.65162675870133],[-55.56133430848041,47.65562236940326],[-55.559373881800916,47.64044953919589],[-55.54887925643714,47.62547752562155],[-55.53109257009625,47.615146173715175],[-55.51827869532512,47.59959096575863],[-55.519530852651094,47.57734622941873],[-55.550193777413334,47.56768045091568],[-55.58611452790651,47.56224627020274],[-55.59883148133405,47.55085308296757],[-55.623179665019514,47.50787626025608],[-55.65336459969609,47.48648487927376],[-55.74366662066704,47.4287952721757],[-55.751356036516064,47.40644478030881],[-55.74886309583637,47.330076372269204],[-55.74366796041073,47.24239743207677],[-55.467518615756475,47.359318218330266],[-55.228635233825244,47.46577713425768],[-55.10965239889759,47.56718654378882],[-55.08851496658479,47.58669034434864],[-55.07993515728363,47.60588903125141],[-55.05742392692635,47.635205202968976],[-55.029267513896585,47.6407177885494],[-55.01979973982574,47.661222719721195],[-55.00717408429177,47.66911136111369],[-54.937461912148066,47.68655016728877],[-54.901446857623434,47.682945899551335],[-54.888004173568184,47.6890643053295],[-54.87726274376927,47.705655959266096],[-54.87297557298506,47.73186083888691],[-54.85438237118622,47.73954509630447],[-54.87720041131268,47.79589367445593],[-54.877174110949205,47.86330414516747],[-54.77537967636879,47.863125670474496],[-54.77471195128987,47.899885400678244],[-54.77130588636921,47.91035593449156],[-54.74449210495444,47.91836417055496],[-54.73794402831955,47.927802013813306],[-54.76190106239203,47.94973946643379],[-54.76385064865377,47.961752631311036],[-54.74951443421451,47.979447823624874],[-54.68965025673128,48.025875884298955],[-54.71596227801848,48.04370986650935],[-54.70696079961053,48.059481415303026],[-54.716111884827775,48.07430041331659],[-54.73666692072168,48.0697115018988],[-54.74993194970919,48.07482082796022],[-54.76166943319919,48.10186491817558],[-54.747144216990186,48.110029193505156]],[[-55.4101595028699,47.51439529865553],[-55.432402771315054,47.53156940018749],[-55.42571717782367,47.537430153141926],[-55.41800903047594,47.52872665347996],[-55.40283533464488,47.522254037939796],[-55.4101595028699,47.51439529865553]],[[-55.44735568410714,47.690255023165406],[-55.429673625334225,47.68306017047407],[-55.44194341263391,47.674514480524046],[-55.44735568410714,47.690255023165406]],[[-55.23560678435754,47.63807898151975],[-55.237963827221044,47.64713636986223],[-55.22004203104948,47.6501972594679],[-55.201779795069676,47.64148912491958],[-55.209384032821646,47.63353561746948],[-55.23560678435754,47.63807898151975]],[[-55.6122900906945,47.50169869284594],[-55.610615553587806,47.50356612005839],[-55.46431049874284,47.50135918811491],[-55.40846919882323,47.50159660390546],[-55.409799788084236,47.49032700394558],[-55.43042179887373,47.49199189021955],[-55.42630619162469,47.47692259555939],[-55.449565997763266,47.466077499769376],[-55.46711078702671,47.467321499617015],[-55.474485816808006,47.46041440312154],[-55.505011490765824,47.45394028536261],[-55.513988922090384,47.45742699568188],[-55.55616620644957,47.45606141123205],[-55.575897197672425,47.43234210756401],[-55.574505797295686,47.417987506157694],[-55.5828030941993,47.40407839765349],[-55.60210680741738,47.39966149397106],[-55.61667931076798,47.40593489616646],[-55.59488288993448,47.424593292150426],[-55.590345001489595,47.435252087621585],[-55.60896788566382,47.439300197447686],[-55.60271879339412,47.45560850572456],[-55.61666581110733,47.45736789647115],[-55.639488516469896,47.43759230147256],[-55.65247040646828,47.43212409212087],[-55.662503294338784,47.439930799727634],[-55.62861741411315,47.45487920309777],[-55.63437019265184,47.45887660173671],[-55.619082902961516,47.48317799876568],[-55.6122900906945,47.50169869284594]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.227758323244984,\"lat\":47.82285168417493},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1003\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"1003001\"],\"csd_name_en\":[\"Division No.  3\",\"Subd. A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Division No.  3, Subd. A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-54.095442201899075,48.08089524428333],[-54.08345734744923,48.09737670511563],[-54.07682578578899,48.121033902219],[-54.0776144974112,48.184722035815675],[-54.15385928109541,48.18637595603185],[-54.15353547339966,48.161019455028935],[-54.13034056313621,48.11118201897844],[-54.1298220427468,48.098764222727446],[-54.095442201899075,48.08089524428333]]],[[[-53.4896933518246,48.23768765298383],[-53.50386115932162,48.24411757189292],[-53.50286771445618,48.26037973922304],[-53.51250861844172,48.28799009359531],[-53.50568011256805,48.29380800465681],[-53.50041509331176,48.314803089400236],[-53.45537965766127,48.330180750651074],[-53.425063293585836,48.35161535315655],[-53.45230234410723,48.387167279111466],[-53.47353621016877,48.407821899290056],[-53.45914655491029,48.419384541657806],[-53.47630695580308,48.44242661684981],[-53.500049513653096,48.4404583795875],[-53.51178810412074,48.43404758630789],[-53.57234042795744,48.35187726216824],[-53.6193598056066,48.344792947948385],[-53.636399211395144,48.33813739103661],[-53.641860109154166,48.32786259125625],[-53.681834915396514,48.32545220052935],[-53.687562899976236,48.31663188388567],[-53.71598390435457,48.29824822076418],[-53.74347425717736,48.292760856073876],[-53.76107220919393,48.275235527806636],[-53.779843113018046,48.270745683768105],[-53.795851483991015,48.25161549633032],[-53.814529460869494,48.25917352887252],[-53.825798005508304,48.27209129902906],[-53.84209550285423,48.26687141159489],[-53.869941403116265,48.26554031355471],[-53.877925203456996,48.25704880748],[-53.902284513285984,48.25740310648704],[-53.95318691924316,48.263343193519525],[-54.018945734524486,48.261822861519825],[-54.04320494029284,48.270546791772134],[-54.08671168108031,48.27243048942223],[-54.1109950629173,48.26320157909337],[-54.13280853647764,48.248561675724034],[-54.092260739207724,48.24698168423153],[-54.06624652333278,48.24028419637827],[-53.97312745096436,48.21035218531873],[-53.95297742815383,48.206987420919866],[-53.9452294023735,48.22089541316541],[-53.9268960686817,48.218437667837705],[-53.89076293496607,48.20491362576598],[-53.87076438326682,48.185057129114966],[-53.85364940272689,48.17726843726256],[-53.8081957860076,48.18696833668778],[-53.78373517315929,48.186586235198696],[-53.75133686879014,48.17757094601924],[-53.720959794026335,48.158782481869814],[-53.67656509071675,48.160716304257896],[-53.64820595729064,48.167234404218185],[-53.503653788074686,48.23346116883527],[-53.4896933518246,48.23768765298383]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.72661449606267,\"lat\":48.25655559188934},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1007\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"1007009\"],\"csd_name_en\":[\"Division No.  7\",\"Subd. K\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Division No.  7, Subd. K\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.359997605697636,48.376661713421285],[-53.3815465975057,48.37932071004944],[-53.374272893290104,48.390572428828484],[-53.41760883362341,48.394724410034414],[-53.41682709767383,48.35467388088408],[-53.35654744679415,48.363479893681856],[-53.359997605697636,48.376661713421285]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.392955939312394,\"lat\":48.37421327508428},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1007\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"1007015\"],\"csd_name_en\":[\"Trinity (Trinity Bay)\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Trinity (Trinity Bay)\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-56.02269434509064,49.874913318836356],[-56.03210711842644,49.8868410469401],[-56.013814484963945,49.90481709842611],[-56.00843524232376,49.92054358303927],[-56.02041312054026,49.927352166405164],[-56.052174741409694,49.93416950333197],[-56.08216813677107,49.93304973269877],[-56.08140952632954,49.949243542057104],[-56.071557096591256,49.9578569462683],[-56.07018401766545,49.972929671170235],[-56.09715716044712,49.97066214183178],[-56.11511978978296,49.954837507203806],[-56.13615298259345,49.95100429564674],[-56.15318766163368,49.96122873028656],[-56.14674858375497,49.98286739588618],[-56.15199538943257,49.99480839277447],[-56.13478812047414,50.00337949500098],[-56.12949410458757,50.01734129880779],[-56.141652258668294,50.029628706580745],[-56.13535357859202,50.03840276856677],[-56.1863060159392,50.05057844509265],[-56.2123204624732,50.025765579880876],[-56.24721244476941,50.009856131558195],[-56.255799535202165,49.98731868595],[-56.27057821185901,49.969286404818796],[-56.29189034010749,49.958811268829876],[-56.31257912858302,49.95703794876637],[-56.33083077965548,49.945510160543556],[-56.33927285952196,49.93117466624273],[-56.37127152418771,49.89224995340096],[-56.366984409316515,49.880519299812],[-56.31831120871008,49.85875088766651],[-56.28323502931034,49.82901851184674],[-56.2594744171066,49.82625394141734],[-56.26615968450874,49.81275616014018],[-56.26351062437962,49.79889541641997],[-56.253440455145174,49.791274741181844],[-56.22699558889857,49.79847186960598],[-56.20933042771385,49.81646867763642],[-56.184830965473125,49.80648863459698],[-56.16628404159996,49.80880864577944],[-56.13323735111595,49.819327137999856],[-56.10619552233551,49.81324545962465],[-56.06807234683055,49.82793568769013],[-56.074540441094435,49.83972583857967],[-56.0666862806253,49.84591606753783],[-56.070457393606866,49.86178955962701],[-56.04245547452362,49.873493099118825],[-56.02269434509064,49.874913318836356]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-56.191893284275096,\"lat\":49.907789788554176},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008079\"],\"csd_name_en\":[\"Baie Verte\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Baie Verte\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-56.10049628773202,50.78685580715279],[-56.10657880534182,50.75659629174735],[-56.10388508409612,50.736182991656015],[-56.11264457692702,50.719994801597274],[-56.088722404596844,50.72379810964023],[-56.05725491674558,50.75492350397311],[-56.03046650161985,50.76539930318735],[-56.03567769967163,50.78381288990113],[-56.01596970770706,50.784420114276855],[-56.00778278860955,50.796501007509505],[-56.06762748536511,50.79510790192406],[-56.079346990986615,50.783783786001045],[-56.10049628773202,50.78685580715279]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-56.070326823368354,\"lat\":50.765526549676146},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1009\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"1009004\"],\"csd_name_en\":[\"Englee\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Englee\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-57.28228518579179,50.681231108471344],[-57.26186309797226,50.724647505507676],[-57.27640820786711,50.73244700889323],[-57.29764178426669,50.728895099504776],[-57.310627823108845,50.72030764883594],[-57.33830039419085,50.72164258544975],[-57.34830600980349,50.73153890447284],[-57.40090731019913,50.71059600794282],[-57.412782786324165,50.69747470248071],[-57.394610383526974,50.69235380426792],[-57.36058348487785,50.69781040539832],[-57.31429685978179,50.67108741537858],[-57.28228518579179,50.681231108471344]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-57.32692068688048,\"lat\":50.70469432703413},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1009\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"1009022\"],\"csd_name_en\":[\"Port au Choix\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Port au Choix\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.27704071560448,46.35662242426913],[-62.28689776447026,46.37215439282224],[-62.29777891049789,46.37239031913922],[-62.30786755969268,46.3569728811328],[-62.29628682011283,46.35128391863439],[-62.32615385337687,46.33140037053115],[-62.28789658226257,46.24354930720828],[-62.27858166481011,46.21904729899435],[-62.25838472556448,46.25157482968983],[-62.216419988760556,46.280405930960875],[-62.275839912130046,46.35522625986357],[-62.27704071560448,46.35662242426913]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.275895255179634,\"lat\":46.29973446133264},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1101\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1101033\"],\"csd_name_en\":[\"Souris West\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Souris West\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.85813682264635,46.37050942304944],[-62.875767894869995,46.371272535503884],[-62.87841766393677,46.363426039805255],[-62.85791213308882,46.359432358282284],[-62.85813682264635,46.37050942304944]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.86710103487237,\"lat\":46.3659670341894},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1102\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1102059\"],\"csd_name_en\":[\"Mount Stewart\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Mount Stewart\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.846540814090545,46.42533102853932],[-63.85116032841371,46.4261951567772],[-63.85220908662254,46.42362770107809],[-63.86194252863933,46.40046093913123],[-63.839439717379214,46.39112133956868],[-63.816933147988415,46.403702602780044],[-63.81317307680239,46.41436383148717],[-63.83872261413497,46.4183067491875],[-63.846540814090545,46.42533102853932]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.83931350468154,\"lat\":46.4076434869178},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1103\"],\"cd_name_en\":[\"Prince\"],\"csd_code\":[\"1103023\"],\"csd_name_en\":[\"Linkletter\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Prince\",\"csd_name_fr\":\"Linkletter\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.97160180297878,46.93875672747865],[-63.9714715219554,46.95220730247934],[-63.99316390204149,46.9506344738645],[-64.0134435473883,46.94249777065858],[-64.01664706375361,46.938152424401544],[-63.97160180297878,46.93875672747865]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.989894828100844,\"lat\":46.94411528606015},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1103\"],\"cd_name_en\":[\"Prince\"],\"csd_code\":[\"1103060\"],\"csd_name_en\":[\"Tignish Shore\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Prince\",\"csd_name_fr\":\"Tignish Shore\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.28692819851949,44.75004408950079],[-65.29775270586555,44.78078329014414],[-65.31828408845736,44.7981446060597],[-65.34367387874589,44.808948430728606],[-65.35610319118433,44.82086159212451],[-65.39207994547773,44.87539347930818],[-65.39481743957815,44.88440329887498],[-65.41586705141886,44.9135481751989],[-65.68530438112995,44.78065832848156],[-65.79359767734819,44.727764324779116],[-65.75343145798236,44.667123413699656],[-65.73970634788166,44.654419853724995],[-65.69838203293254,44.630217156626784],[-65.67206118974278,44.607673236001894],[-65.65547278945705,44.600260345817325],[-65.63359292873604,44.56644762748229],[-65.63280081634436,44.56616538004522],[-65.62466438392688,44.56415340218618],[-65.60923769670626,44.563273599259],[-65.59714447130612,44.55519085324645],[-65.57925908788216,44.566723903865146],[-65.56944288861528,44.58503010183543],[-65.53699469889855,44.60417915160389],[-65.49399529432566,44.62130320294921],[-65.50000002053547,44.63037484215866],[-65.48377913420994,44.63474073001107],[-65.47499420524407,44.654183007001336],[-65.4791711114356,44.66244970292038],[-65.44111699314736,44.66721498381191],[-65.41810188530722,44.65598319621053],[-65.36938889415146,44.65932018927891],[-65.33383360764721,44.64371460992635],[-65.3154028268193,44.647716439339455],[-65.3131044145549,44.657547600661125],[-65.33881982003516,44.670987527944675],[-65.29009820233398,44.72198649783004],[-65.29349667425046,44.73128521981173],[-65.28692819851949,44.75004408950079]],[[-65.50540552243498,44.70728714798658],[-65.50110709819988,44.70895553389104],[-65.49867173329572,44.70507632374062],[-65.50182199667783,44.70176600218046],[-65.50540552243498,44.70728714798658]],[[-65.52463252512102,44.74005544061054],[-65.51405289277866,44.75469690002898],[-65.50011346700217,44.742670587313604],[-65.50869040064892,44.73467027994966],[-65.52463252512102,44.74005544061054]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.52636260937648,\"lat\":44.731230271602676},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1205\"],\"cd_name_en\":[\"Annapolis\"],\"csd_code\":[\"1205004\"],\"csd_name_en\":[\"Annapolis\",\"Subd. A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of county municipality \\/ Subdivision municipalit\\u00e9 de comt\\u00e9\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Annapolis\",\"csd_name_fr\":\"Annapolis, Subd. A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-60.755928241373454,45.50529415949006],[-60.69025493237009,45.51020293323638],[-60.6404691219415,45.5166238302543],[-60.58892594126992,45.519821011737264],[-60.50755731252191,45.53631475406912],[-60.32181083937579,45.60378300528488],[-60.2156537402786,45.65606700449901],[-60.16920744573019,45.67710019447054],[-60.143700369455495,45.69124519477338],[-60.13047775238114,45.704138201200955],[-60.263949822972094,45.736375385324514],[-60.371073688828545,45.75840699586874],[-60.426745609511855,45.76827327489044],[-60.550593189322605,45.794233901995625],[-60.58807101125737,45.8033857920356],[-60.7408182474011,45.83459274277607],[-60.78956413686105,45.80711889965025],[-60.80930095480445,45.80241079359446],[-60.81034625482806,45.75869696421081],[-60.80335283319414,45.735621667103324],[-60.796070244946236,45.7196687105793],[-60.78662865768287,45.705207165191226],[-60.79528780742022,45.69832005713762],[-60.822350492273124,45.68860874259834],[-60.83285136039437,45.67439905507993],[-60.85668287228476,45.6675631798645],[-60.859439208406876,45.65898576906217],[-60.877407425429105,45.648345576756526],[-60.88819918465227,45.63278812080761],[-60.887059953222455,45.60665709858095],[-60.86871802710671,45.58476516646858],[-60.755928241373454,45.50529415949006]],[[-60.78270183021293,45.6959821178897],[-60.77829079131094,45.707185076163235],[-60.79375876402555,45.71791638594856],[-60.781940556899194,45.72597908736618],[-60.763034297742266,45.714563591053995],[-60.748224454265,45.67824654836524],[-60.762843184242804,45.674773483993214],[-60.77288459936835,45.693506810281896],[-60.78270183021293,45.6959821178897]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-60.56941276777321,\"lat\":45.66512838112364},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1216\"],\"cd_name_en\":[\"Richmond\"],\"csd_code\":[\"1216011\"],\"csd_name_en\":[\"Richmond\",\"Subd. B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of county municipality \\/ Subdivision municipalit\\u00e9 de comt\\u00e9\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Richmond\",\"csd_name_fr\":\"Richmond, Subd. B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-60.80969703807935,45.85003696084622],[-60.81182813222207,45.93948745103456],[-60.80327396274228,45.95615872640538],[-60.75017083490584,46.00972615033376],[-60.73296783135033,46.02236106537833],[-60.64157345783525,46.05327638277043],[-60.575870775074,46.08503178538924],[-60.52190286666963,46.117943887412906],[-60.48701020035192,46.15180428308143],[-60.48026284265329,46.16848336306231],[-60.5059094753824,46.19021148424519],[-60.48233654565585,46.20613923973594],[-60.44610000118761,46.236165886061606],[-60.41742271803272,46.25239878030987],[-60.39502089546686,46.27674269387232],[-60.383864793566744,46.273756582693416],[-60.365144700093296,46.303197395015076],[-60.34812007225449,46.313771049721545],[-60.340865067290316,46.36015729733325],[-60.333050493270186,46.413294980084174],[-60.40477712476209,46.40438167461036],[-60.43166717356192,46.39179800997371],[-60.467391549141105,46.37068902103763],[-60.502662089588775,46.331955153997285],[-60.57374025264725,46.270809470231995],[-60.5997539352921,46.26441581658595],[-60.60866747140225,46.27437633651116],[-60.61251309849559,46.296154038198104],[-60.623894624254625,46.30956497814057],[-60.6451172881577,46.31813953302987],[-60.672122883437325,46.3165584045062],[-60.67233146477444,46.324213501332416],[-60.69050335062234,46.33258161569621],[-60.69926129664252,46.34541500261873],[-60.727509010608216,46.35079120392481],[-60.74934600393919,46.36561020575441],[-60.75674140156494,46.37893890211694],[-60.77923020779291,46.40115219404979],[-60.8070801972395,46.403908298475834],[-60.814374767634185,46.42216169108044],[-60.84497462284838,46.37928439352911],[-60.86461511447383,46.3596014083127],[-60.9795031942992,46.214339138620176],[-61.0511138518365,46.11475939793834],[-60.99334224924971,46.02017295340914],[-60.98092690971177,45.99794938607314],[-60.99440918401566,45.97842004007382],[-60.995944966893,45.974335449857556],[-60.989160010847826,45.95104891706621],[-60.985301681678045,45.91849140119223],[-60.960526104306346,45.90131992492848],[-60.92797695962196,45.8916185059413],[-60.8099917967541,45.850147778629854],[-60.80969703807935,45.85003696084622]],[[-60.92367057957278,46.073499878369134],[-60.932368421730644,46.090239721034294],[-60.910352416576806,46.082897499298326],[-60.92367057957278,46.073499878369134]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-60.74574934304422,\"lat\":46.166164376997294},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1218\"],\"cd_name_en\":[\"Victoria\"],\"csd_code\":[\"1218001\"],\"csd_name_en\":[\"Victoria\",\"Subd. B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of county municipality \\/ Subdivision municipalit\\u00e9 de comt\\u00e9\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Victoria\",\"csd_name_fr\":\"Victoria, Subd. B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.11762751856729,45.28229240255644],[-67.15270055089786,45.393679615483904],[-67.23318553461577,45.379939816319826],[-67.22864559615545,45.36537484609777],[-67.24850345696031,45.362283798540915],[-67.24413782194297,45.34778785300674],[-67.26408334189098,45.344528159142335],[-67.26092339671187,45.32704319816891],[-67.27281311228887,45.31784855717175],[-67.2644600758835,45.305921154932996],[-67.27198757858395,45.29775040894735],[-67.26583290471989,45.28329189651408],[-67.27541530062874,45.27736789754183],[-67.2619158380619,45.26241618279841],[-67.24370401007461,45.201072007317165],[-67.22568919321519,45.18591630631933],[-67.19604200033389,45.18769625933385],[-67.1619853995786,45.17991937975228],[-67.15406790303548,45.17183481610661],[-67.14508452401437,45.17674048619619],[-67.14196796191656,45.192294297491564],[-67.16248230731544,45.24066423194225],[-67.14218743481051,45.24489152269955],[-67.15143257269126,45.26818798285533],[-67.13365926723044,45.27025330827822],[-67.11762751856729,45.28229240255644]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.1966937442779,\"lat\":45.28715182806679},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1302\"],\"cd_name_en\":[\"Charlotte\"],\"csd_code\":[\"1302042\"],\"csd_name_en\":[\"Saint David\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Charlotte\",\"csd_name_fr\":\"Saint David\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.58154728312346,45.681432098923146],[-66.5845784100815,45.69894616391603],[-66.55237691994289,45.725595208786245],[-66.54822352625182,45.73545991099818],[-66.71499278932869,45.75598914020567],[-66.81140645501334,45.644272069352226],[-66.93627043814462,45.502670841387584],[-66.93529420222471,45.502627070298026],[-66.79216491430448,45.50137095059954],[-66.60593333682088,45.61172293010489],[-66.61275039389625,45.630825754806345],[-66.6193044024706,45.65194196504127],[-66.65828348714244,45.65669753141288],[-66.67121391519093,45.64077578797988],[-66.71232310578092,45.64653282175696],[-66.69563436636102,45.66914184694334],[-66.72778100402209,45.6785960680067],[-66.70233241321085,45.71003146005365],[-66.66509375377964,45.69772606142844],[-66.64055880225867,45.677833073449555],[-66.62051315232212,45.66881699244607],[-66.61830577699207,45.689213127959704],[-66.59890339847307,45.6820119953373],[-66.58154728312346,45.681432098923146]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.73980027216456,\"lat\":45.62002748614354},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1303\"],\"cd_name_en\":[\"Sunbury\"],\"csd_code\":[\"1303004\"],\"csd_name_en\":[\"Gladstone\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Sunbury\",\"csd_name_fr\":\"Gladstone\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.08994939114712,45.726513266335736],[-66.09830715294393,45.74205282750137],[-66.13786058517007,45.756844060648824],[-66.13609048846051,45.74379340034159],[-66.11320125416509,45.73398858189909],[-66.16697585647832,45.72294939278096],[-66.17706010564663,45.713561676044435],[-66.2577720534827,45.635048977960075],[-66.27875632492987,45.61071880456817],[-66.25484935393195,45.598350470142215],[-66.20538352575487,45.5788045321461],[-66.21354692543521,45.568484176686454],[-66.19447166435668,45.540811891622084],[-66.16618860897341,45.522937922893156],[-66.05191830848749,45.60322609559599],[-66.05098775541113,45.60445422634853],[-66.06418764788435,45.61844445041538],[-66.08038491688401,45.626287251027534],[-66.08761275482334,45.64921541085948],[-66.08928396212372,45.6804514254405],[-66.1008685355824,45.695489397860555],[-66.08994939114712,45.726513266335736]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.15706713098972,\"lat\":45.63199484271136},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1304\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1304006\"],\"csd_name_en\":[\"Hampstead\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Hampstead\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.75836791590407,45.80855171275631],[-65.66913549753652,45.87098727094391],[-65.74907498880721,46.05193281037803],[-65.94096950843331,45.887287994004495],[-65.91301351702229,45.876585652378914],[-65.88313201956143,45.851946279375646],[-65.91514476274914,45.806063476384836],[-65.88061760765969,45.79208806736787],[-65.91159169609217,45.77941270510099],[-65.89077450075521,45.766793676034],[-65.8588800177158,45.737934993844824],[-65.80802781653782,45.7752864092215],[-65.75836791590407,45.80855171275631]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.80104599094214,\"lat\":45.888718909011295},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1304\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1304014\"],\"csd_name_en\":[\"Johnston\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Johnston\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.7659281972669,46.3787065851805],[-64.75017292901906,46.39383016378912],[-64.77426483531856,46.402817418856976],[-64.75385500290291,46.413216595411804],[-64.78049272163538,46.437139612557836],[-64.82225600297214,46.44816901209787],[-64.83772434480166,46.459406190165055],[-64.85645679028126,46.495942517067384],[-64.85534204996989,46.51411115973076],[-64.85991434079013,46.511349192439745],[-64.99665120786692,46.43166093960088],[-64.87921714208555,46.29386582285588],[-64.78101843994534,46.333392980420975],[-64.78521700129026,46.33866087929914],[-64.75435269135085,46.35477411728514],[-64.76893951757727,46.35563961758723],[-64.7783547940941,46.367433910310446],[-64.7659281972669,46.3787065851805]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.86828741216445,\"lat\":46.39888326500094},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1308\"],\"cd_name_en\":[\"Kent\"],\"csd_code\":[\"1308006\"],\"csd_name_en\":[\"Saint Mary\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kent\",\"csd_name_fr\":\"Saint Mary\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.5467920112378,46.45360300388593],[-67.55499632386018,46.47585570538979],[-67.57582891141539,46.47955467102201],[-67.5962468089239,46.46133161525564],[-67.64034781536293,46.447411799300816],[-67.62386611121053,46.419474380458986],[-67.61366124446863,46.41693950527598],[-67.60510727204192,46.438551768527844],[-67.60429173350654,46.45305610782057],[-67.5467920112378,46.45360300388593]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.59482954928258,\"lat\":46.45200179249074},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1311\"],\"cd_name_en\":[\"Carleton\"],\"csd_code\":[\"1311027\"],\"csd_name_en\":[\"Florenceville-Bristol\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town \\/ Ville\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Carleton\",\"csd_name_fr\":\"Florenceville-Bristol\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.73004088656405,46.821181992023874],[-67.7307926650734,46.7906954212365],[-67.72315270611226,46.78999651379667],[-67.71832000050826,46.80880839572763],[-67.73004088656405,46.821181992023874]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.72572707354063,\"lat\":46.8039187650921},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1312\"],\"cd_name_en\":[\"Victoria\"],\"csd_code\":[\"1312002\"],\"csd_name_en\":[\"Aroostook\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Victoria\",\"csd_name_fr\":\"Aroostook\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.72083613601099,46.714327728121546],[-67.70576660677325,46.72154239918514],[-67.68845864430148,46.73724707967325],[-67.69806869813883,46.741670623786476],[-67.69606428245521,46.75599368903428],[-67.70299611791934,46.76485290840914],[-67.7050897746106,46.76641904217149],[-67.71846609718455,46.763645016139876],[-67.71408846574344,46.748838191361415],[-67.72524426716633,46.74671757728268],[-67.73303379449837,46.72429003525415],[-67.72083613601099,46.714327728121546]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.71168539635295,\"lat\":46.73897789702432},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1312\"],\"cd_name_en\":[\"Victoria\"],\"csd_code\":[\"1312006\"],\"csd_name_en\":[\"Perth-Andover\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Victoria\",\"csd_name_fr\":\"Perth-Andover\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.51912333420093,46.95224748802744],[-67.46979794175873,47.023874246332255],[-67.37037129389687,47.17259493081106],[-67.268590256214,47.320005998668236],[-67.231605823763,47.37816761076744],[-67.2065658123685,47.41321333961455],[-67.29440573438075,47.44067833162027],[-67.39102911702945,47.34351015621325],[-67.49080593163002,47.24149672966389],[-67.57395177283864,47.153575483565604],[-67.51170297768668,47.125178864109735],[-67.54932018164646,47.08638362295614],[-67.54425227644995,47.083729309680926],[-67.61902428514817,47.00990080652466],[-67.6261915980356,46.995992803096286],[-67.64549289978117,46.984345586407414],[-67.67193150347195,46.957449086025846],[-67.67832563333761,46.94460273009097],[-67.70798337328617,46.91924461246197],[-67.69269492824968,46.873476763046824],[-67.69293795121683,46.84749889551832],[-67.71291042099448,46.82612815664816],[-67.71539701028084,46.81107579096188],[-67.63000471747078,46.82843494297509],[-67.63018644513099,46.8126215413952],[-67.52091631038614,46.812185321562204],[-67.52781744023085,46.83408797183586],[-67.5438310226111,46.85755862977462],[-67.5467567414537,46.87464643543616],[-67.55729990131022,46.89606966498585],[-67.51912333420093,46.95224748802744]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.47719596246687,\"lat\":47.115394224338864},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1312\"],\"cd_name_en\":[\"Victoria\"],\"csd_code\":[\"1312014\"],\"csd_name_en\":[\"Denmark\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Victoria\",\"csd_name_fr\":\"Denmark\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.5954264221295,47.82615132539584],[-64.6233999398178,47.8349156784275],[-64.64412440952061,47.82052084740573],[-64.6406877650269,47.808839397566544],[-64.65477739522294,47.80266870607716],[-64.65400417147762,47.79036981481412],[-64.62819689469154,47.794666101669065],[-64.59595928427409,47.820279710027364],[-64.5954264221295,47.82615132539584]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.62624675212543,\"lat\":47.813168155688615},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1315\"],\"cd_name_en\":[\"Gloucester\"],\"csd_code\":[\"1315032\"],\"csd_name_en\":[\"Lam\\u00e8que\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town \\/ Ville\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Gloucester\",\"csd_name_fr\":\"Lam\\u00e8que\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.40692597593758,48.09836388577735],[-65.42268564007432,48.09690526154776],[-65.42671367592494,48.10814485494428],[-65.46216903541954,48.1044900628995],[-65.49342269543047,48.15401898993941],[-65.52048730955856,48.110113826235136],[-65.53312740392875,48.08530803262839],[-65.53622494220558,48.069559471975914],[-65.54292278166643,48.00005312550894],[-65.50464636321563,48.00000601936168],[-65.37230303719251,48.00008240469233],[-65.37395934164019,48.01303765194897],[-65.40692597593758,48.09836388577735]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.4656565197831,\"lat\":48.05542442386811},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2405\"],\"cd_name_en\":[\"Bonaventure\"],\"csd_code\":[\"2405045\"],\"csd_name_en\":[\"Bonaventure\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Bonaventure\",\"csd_name_fr\":\"Bonaventure\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.84147907194863,48.15310554097939],[-66.85850017923478,48.169535658161976],[-66.92937421933044,48.24887588143854],[-66.97540515124248,48.30266964635773],[-66.99565921132913,48.29726056274277],[-67.13332348499837,48.25920463817823],[-67.29820968466785,48.214702257829515],[-67.37501008602746,48.195308235810565],[-67.2778670422496,48.03192162759212],[-67.0976296593931,48.07893557784041],[-67.09720645854335,48.08545542678627],[-66.91613473923124,48.127941599016694],[-66.88363829486025,48.136198552956245],[-66.94267920508753,48.17818574826752],[-66.90715940939232,48.197689368338146],[-66.87428406818454,48.17303111339548],[-66.84147907194863,48.15310554097939]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.12458213477485,\"lat\":48.16851755839083},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2407\"],\"cd_name_en\":[\"La Matap\\u00e9dia\"],\"csd_code\":[\"2407902\"],\"csd_name_en\":[\"Routhierville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Matap\\u00e9dia\",\"csd_name_fr\":\"Routhierville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.20809905398833,48.85815467333122],[-67.24682943450586,48.88191100835809],[-67.29743757513073,48.84116262486296],[-67.30639751758581,48.84613868781901],[-67.34299370717135,48.835466719939056],[-67.40746630658106,48.81649023682753],[-67.36121355288088,48.79067379328674],[-67.38811079284368,48.77036770358349],[-67.35736335002935,48.753406847582596],[-67.33146573560312,48.774180028331536],[-67.31096797447655,48.76346033157503],[-67.27026601045581,48.800941488097685],[-67.25849933105813,48.80508008986353],[-67.24263714815183,48.79515660257585],[-67.21237997418068,48.81683316862177],[-67.18082631892302,48.84086839457157],[-67.20809905398833,48.85815467333122]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.2932751161914,\"lat\":48.81781034383763},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2408\"],\"cd_name_en\":[\"La Matanie\"],\"csd_code\":[\"2408030\"],\"csd_name_en\":[\"Saint-Adelme\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Matanie\",\"csd_name_fr\":\"Saint-Adelme\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.41156332566432,48.033315743327265],[-68.26619444873772,48.140405118769735],[-68.40598541926215,48.229368980512625],[-68.50000001120402,48.16242604357297],[-68.5074131272053,48.16686797679232],[-68.55907824266635,48.13228589202305],[-68.41156332566432,48.033315743327265]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.41082522387836,\"lat\":48.13232744409908},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2410\"],\"cd_name_en\":[\"Rimouski-Neigette\"],\"csd_code\":[\"2410010\"],\"csd_name_en\":[\"La Trinit\\u00e9-des-Monts\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Rimouski-Neigette\",\"csd_name_fr\":\"La Trinit\\u00e9-des-Monts\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.91089975310102,47.89221528324464],[-68.95072354273228,47.894745777147],[-68.97011932340054,47.90783900786242],[-68.95732553141312,47.91704759211598],[-68.97276255732348,47.92737026971094],[-68.96332916238607,47.93390591114632],[-68.99229543857976,47.95576016224734],[-69.0383693939157,47.9220152017303],[-69.03002469560873,47.92026200595749],[-69.08706791042172,47.87841164030283],[-69.0396543329701,47.84735366767468],[-69.046941057188,47.8421445438011],[-69.01648907587898,47.822243917763764],[-69.00377206858225,47.82380564673063],[-68.98124405858312,47.851018007400086],[-68.9462290836379,47.82770865628155],[-68.92906359407218,47.84029876346739],[-68.89898427875167,47.82008756773848],[-68.8604285178212,47.79447921366926],[-68.85666715253578,47.813276276005126],[-68.84956901875715,47.81749022804704],[-68.85626569339371,47.832472598274116],[-68.84754908328152,47.86418189666592],[-68.85970958742625,47.87682029786778],[-68.88763638315139,47.8894384746471],[-68.91089975310102,47.89221528324464]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.96420074490383,\"lat\":47.8721972000632},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2412\"],\"cd_name_en\":[\"Rivi\\u00e8re-du-Loup\"],\"csd_code\":[\"2412005\"],\"csd_name_en\":[\"Saint-Cyprien\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Rivi\\u00e8re-du-Loup\",\"csd_name_fr\":\"Saint-Cyprien\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.71756724809111,47.7961151577435],[-68.71971970198452,47.829289154380774],[-68.73063833833535,47.82351460261306],[-68.74030331959426,47.805581980663064],[-68.7588358115523,47.78696870838829],[-68.76690439263895,47.76858388967212],[-68.76791936934968,47.73230047108093],[-68.8557313064755,47.68585807723358],[-68.82125186718417,47.66652827164135],[-68.80740840596691,47.654390864942634],[-68.79572595847671,47.625596441162145],[-68.75416093571161,47.601656278323944],[-68.74017577042179,47.59928999522276],[-68.70302200421321,47.60472418908347],[-68.67849081725382,47.597407829091296],[-68.65314262379563,47.62175432538456],[-68.59166296604941,47.67450934639805],[-68.60091496125902,47.68062952233112],[-68.65439219043043,47.67056800280907],[-68.67510313045058,47.68547058413636],[-68.70874552787124,47.72863913453676],[-68.72700770977586,47.74292671050058],[-68.71755214942345,47.78509797743274],[-68.71756724809111,47.7961151577435]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.73162350638219,\"lat\":47.680203286208275},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2413\"],\"cd_name_en\":[\"T\\u00e9miscouata\"],\"csd_code\":[\"2413040\"],\"csd_name_en\":[\"Saint-Juste-du-Lac\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscouata\",\"csd_name_fr\":\"Saint-Juste-du-Lac\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.07733504225506,46.64013192274437],[-70.02857924420826,46.67311930136536],[-70.05736794016244,46.693531601455504],[-70.08981678211568,46.715452712027606],[-70.14722823225902,46.757809324351385],[-70.19576269146732,46.72451092648823],[-70.282444881912,46.66667630493814],[-70.25328307654746,46.64501325574139],[-70.1630489726004,46.58179255198759],[-70.07733504225506,46.64013192274437]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.1556922682278,\"lat\":46.669514165186406},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2418\"],\"cd_name_en\":[\"Montmagny\"],\"csd_code\":[\"2418015\"],\"csd_name_en\":[\"Saint-Fabien-de-Panet\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Montmagny\",\"csd_name_fr\":\"Saint-Fabien-de-Panet\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.67772994321349,46.74945683315315],[-70.61458153082262,46.79339565986118],[-70.62797229701883,46.802116704998326],[-70.67925914150709,46.835301052924045],[-70.70370266999996,46.80637358557789],[-70.75551875665239,46.843183404869606],[-70.76671829974099,46.83034904030492],[-70.78369366891141,46.82314585460513],[-70.80862532542933,46.840607059817984],[-70.84046886867797,46.81879577397507],[-70.811671753681,46.79965312637603],[-70.8414930484283,46.7774495226227],[-70.76989302147717,46.72939894495964],[-70.7288546023621,46.75682528134907],[-70.70971553139935,46.7436861659883],[-70.68941472786345,46.757631826518974],[-70.67772994321349,46.74945683315315]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.73783206779373,\"lat\":46.78872070113063},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2419\"],\"cd_name_en\":[\"Bellechasse\"],\"csd_code\":[\"2419082\"],\"csd_name_en\":[\"Saint-Rapha\\u00ebl\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Bellechasse\",\"csd_name_fr\":\"Saint-Rapha\\u00ebl\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.47918738439188,47.20685280957895],[-70.61866041989985,47.22736622038628],[-70.66962522902578,47.242776808810824],[-70.74103071272756,47.151611926166304],[-70.75751622658038,47.12517237667479],[-70.77359646747603,47.10741468959172],[-70.71976023930459,47.0600467933851],[-70.69047684624921,47.03509643304268],[-70.68208257263501,47.0607685246386],[-70.67175286367737,47.07047158012495],[-70.5419543563271,47.16161570049752],[-70.47918738439188,47.20685280957895]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.64755580328158,\"lat\":47.153583370627814},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2421\"],\"cd_name_en\":[\"La C\\u00f4te-de-Beaupr\\u00e9\"],\"csd_code\":[\"2421902\"],\"csd_name_en\":[\"Sault-au-Cochon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La C\\u00f4te-de-Beaupr\\u00e9\",\"csd_name_fr\":\"Sault-au-Cochon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.59939358533506,45.62796504217815],[-70.75112312622268,45.70913531327422],[-70.76108344701173,45.70095129582512],[-70.78497090603764,45.69172630434639],[-70.79582744746845,45.678726424364726],[-70.79302130847573,45.66431788687163],[-70.80038163511279,45.65806187566238],[-70.82136083714211,45.63845119057847],[-70.77884576644897,45.61614661011151],[-70.70305312884872,45.572818436413755],[-70.67538358277952,45.57309856214663],[-70.65956591041558,45.58589972582081],[-70.64500932625954,45.60670466187746],[-70.61848805476937,45.61203319246286],[-70.59939358533506,45.62796504217815]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.71613030756833,\"lat\":45.63773179164692},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2430\"],\"cd_name_en\":[\"Le Granit\"],\"csd_code\":[\"2430055\"],\"csd_name_en\":[\"Audet\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Granit\",\"csd_name_fr\":\"Audet\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.24635316312457,46.30069354082222],[-71.25500301092394,46.30142740883811],[-71.3220834785673,46.348990440622046],[-71.4132565381703,46.289639338167675],[-71.3723681222088,46.26826159138574],[-71.3881611639954,46.252499634374956],[-71.34854986552459,46.231675771925076],[-71.32025994741622,46.25721588488406],[-71.30588522987614,46.26985471322611],[-71.2900192076951,46.26262412201365],[-71.24635316312457,46.30069354082222]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.33169764285076,\"lat\":46.291560351531515},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2431\"],\"cd_name_en\":[\"Les Appalaches\"],\"csd_code\":[\"2431140\"],\"csd_name_en\":[\"Saint-Jacques-de-Leeds\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Appalaches\",\"csd_name_fr\":\"Saint-Jacques-de-Leeds\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.88273081060105,46.299097560216495],[-71.88049812645944,46.24826259308926],[-71.86930441653311,46.253323234198355],[-71.80060197746951,46.27802385982304],[-71.80036808747592,46.28401540395912],[-71.74927131874504,46.31698893845566],[-71.7870467646528,46.34672599810047],[-71.76125011144497,46.36368969890749],[-71.788457573409,46.38451297345696],[-71.88493187515924,46.32160799743367],[-71.86591736954155,46.307109748372596],[-71.88273081060105,46.299097560216495]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.82295867994642,\"lat\":46.315215280076515},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2432\"],\"cd_name_en\":[\"L'\\u00c9rable\"],\"csd_code\":[\"2432080\"],\"csd_name_en\":[\"Notre-Dame-de-Lourdes\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"L'\\u00c9rable\",\"csd_name_fr\":\"Notre-Dame-de-Lourdes\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.71475962406456,46.85398740853405],[-71.70682245893225,46.86552775155127],[-71.71308607475795,46.878283858883506],[-71.73054012423509,46.88989118767817],[-71.74160221587088,46.88194598343823],[-71.72731855118317,46.8721881583311],[-71.73390669361814,46.856400078121375],[-71.71475962406456,46.85398740853405]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.72272096102247,\"lat\":46.87077703780169},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2434\"],\"cd_name_en\":[\"Portneuf\"],\"csd_code\":[\"2434120\"],\"csd_name_en\":[\"Lac-Sergent\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Portneuf\",\"csd_name_fr\":\"Lac-Sergent\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.0981611820292,46.344383208440256],[-72.16027600424268,46.38995169316348],[-72.17510041814613,46.368484302839654],[-72.21126356444614,46.35753058180652],[-72.24332835280197,46.354201760964635],[-72.25683403773509,46.34791741489343],[-72.24124598731066,46.33447369429858],[-72.2385485865802,46.31563990255795],[-72.21793602119695,46.32359346330078],[-72.19857260502246,46.31041576591792],[-72.2084422543098,46.30366162015626],[-72.18299733886016,46.28593037876593],[-72.165826688976,46.27380491365462],[-72.15153687704654,46.28430013252361],[-72.16142764878877,46.29126659525121],[-72.13619273144293,46.30639806829413],[-72.14602215643318,46.313528922522934],[-72.0981611820292,46.344383208440256]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.17400807102703,\"lat\":46.334757700703214},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2438\"],\"cd_name_en\":[\"B\\u00e9cancour\"],\"csd_code\":[\"2438015\"],\"csd_name_en\":[\"Sainte-Marie-de-Blandford\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"B\\u00e9cancour\",\"csd_name_fr\":\"Sainte-Marie-de-Blandford\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.03232532324103,45.16053509969836],[-72.03258520906857,45.1831096541752],[-72.03828349846751,45.18985212201304],[-72.0599922979864,45.18161824227261],[-72.07291816169756,45.18151572477672],[-72.06503115237646,45.161083474772866],[-72.03232532324103,45.16053509969836]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.04969921099217,\"lat\":45.17328669391328},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2445\"],\"cd_name_en\":[\"Memphr\\u00e9magog\"],\"csd_code\":[\"2445035\"],\"csd_name_en\":[\"Ayer's Cliff\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Memphr\\u00e9magog\",\"csd_name_fr\":\"Ayer's Cliff\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.14321635816019,46.83898908253247],[-73.17001638559154,46.846926345743384],[-73.18266061653833,46.84044234053362],[-73.20711973465434,46.843953108959376],[-73.22658979085261,46.861821753046385],[-73.24909366060275,46.86863592899456],[-73.24421636090842,46.8824706516442],[-73.27190818583827,46.887795024923754],[-73.31225274478632,46.87063029281212],[-73.32611407971737,46.879602203228465],[-73.34596615128744,46.88112233418338],[-73.36402577069968,46.888280829120404],[-73.41477304792375,46.88055562622617],[-73.41971070922713,46.88532513798257],[-73.44207061458864,46.84339364670523],[-73.4310139902236,46.83055755158672],[-73.45389016775009,46.78373442189086],[-73.44143120706407,46.76645912761282],[-73.45085758270037,46.74604249190119],[-73.46273919111866,46.707099675127374],[-73.43756718261831,46.66981135444706],[-73.43569303781055,46.59863117234024],[-73.39909002915093,46.60074712188353],[-73.36140955812144,46.61815015140569],[-73.33765988659992,46.603470422999884],[-73.31022788525897,46.56706202422182],[-73.3030307480254,46.55062004483768],[-73.28319771800587,46.53343189774488],[-73.33336477810074,46.49844114473602],[-73.253161293753,46.442620305842205],[-73.16914069242796,46.382096886884575],[-73.16184337324823,46.37798815958786],[-73.12699516584264,46.38670930575828],[-73.10049817207894,46.406157455205026],[-73.13302983475417,46.42478029719206],[-73.03735487520233,46.49202915724485],[-73.09496667099505,46.535737696855975],[-73.01241748165467,46.595447867359645],[-73.00314330258533,46.60154514692691],[-73.05672803192273,46.61391698768564],[-73.04586726025896,46.624647187406396],[-73.0539979889139,46.63768033056413],[-73.11523138321567,46.65326914059431],[-73.05709455462528,46.69416113800154],[-73.0637027386727,46.706273607920934],[-73.10966190433305,46.70422097089113],[-73.179134894913,46.750947756886156],[-73.17065483486374,46.76519971906763],[-73.14479104771166,46.77087270800593],[-73.13300326476282,46.78904441013942],[-73.13345354478052,46.83254946472786],[-73.14321635816019,46.83898908253247]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.24664789302568,\"lat\":46.656779385005976},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2451\"],\"cd_name_en\":[\"Maskinong\\u00e9\"],\"csd_code\":[\"2451065\"],\"csd_name_en\":[\"Saint-Alexis-des-Monts\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Maskinong\\u00e9\",\"csd_name_fr\":\"Saint-Alexis-des-Monts\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.73009827179389,45.59756836095914],[-72.70834601406564,45.665011125261884],[-72.7718485159554,45.71207393297559],[-72.81821652834229,45.68160970502125],[-72.81148020715416,45.67688334553559],[-72.83287848155564,45.66269678276225],[-72.82737487595517,45.6569427314573],[-72.82413619898995,45.654707047598116],[-72.79289059874576,45.63268702924551],[-72.80525216384643,45.61124712309153],[-72.78058911249734,45.592144274073384],[-72.77213285310728,45.6186837971124],[-72.73226759040848,45.59091980865772],[-72.73009827179389,45.59756836095914]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.76598834138787,\"lat\":45.65229749443694},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2454\"],\"cd_name_en\":[\"Les Maskoutains\"],\"csd_code\":[\"2454072\"],\"csd_name_en\":[\"Saint-Liboire\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Maskoutains\",\"csd_name_fr\":\"Saint-Liboire\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.70834601406564,45.665011125261884],[-72.68864637993488,45.7241835826657],[-72.68257235216362,45.74368917926632],[-72.70444443271444,45.75911127565077],[-72.75952108893588,45.798618151926696],[-72.7951890379457,45.77272678177908],[-72.77173538628836,45.756173008604826],[-72.80275761947176,45.73298680381228],[-72.7718485159554,45.71207393297559],[-72.70834601406564,45.665011125261884]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.73884175973353,\"lat\":45.73521469689257},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2454\"],\"cd_name_en\":[\"Les Maskoutains\"],\"csd_code\":[\"2454095\"],\"csd_name_en\":[\"Sainte-H\\u00e9l\\u00e8ne-de-Bagot\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Maskoutains\",\"csd_name_fr\":\"Sainte-H\\u00e9l\\u00e8ne-de-Bagot\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.11599466274447,45.685779889787156],[-73.10406091374922,45.7140863084231],[-73.08918297325837,45.729263165959786],[-73.07370349314726,45.71790931764463],[-73.05902306906084,45.74823567042901],[-73.0932978671426,45.77227773308746],[-73.10423434310364,45.78789716047119],[-73.09612459377679,45.79796254102955],[-73.12359389446543,45.817980082920464],[-73.14057739200159,45.82969154505609],[-73.15209403238656,45.8022276236105],[-73.16390555468264,45.78291243914092],[-73.18144925311286,45.7687273881278],[-73.1908217045883,45.74522066653347],[-73.19110310671104,45.728420146440016],[-73.19113269033684,45.72801305247553],[-73.14917430347955,45.69711953454208],[-73.14695270283927,45.706013185788386],[-73.11599466274447,45.685779889787156]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.13045929136493,\"lat\":45.75268722957428},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2457\"],\"cd_name_en\":[\"La Vall\\u00e9e-du-Richelieu\"],\"csd_code\":[\"2457068\"],\"csd_name_en\":[\"Saint-Denis-sur-Richelieu\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-du-Richelieu\",\"csd_name_fr\":\"Saint-Denis-sur-Richelieu\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.32234318344449,45.51362792484013],[-73.29459009486038,45.54036213688362],[-73.29259406907536,45.55316791705307],[-73.33853393944364,45.563507863498074],[-73.3617280199412,45.573477205540925],[-73.37172642306139,45.55607178171096],[-73.37508409328555,45.532950439988724],[-73.3901449673249,45.537363733917935],[-73.37709869090173,45.527485655027796],[-73.39420998503567,45.50957887820908],[-73.37707939317846,45.49724355846209],[-73.37196951526998,45.50784297796805],[-73.33882909243545,45.48195180423029],[-73.32234318344449,45.51362792484013]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.34418165057983,\"lat\":45.530849143074896},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2458\"],\"cd_name_en\":[\"Longueuil\"],\"csd_code\":[\"2458037\"],\"csd_name_en\":[\"Saint-Bruno-de-Montarville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Longueuil\",\"csd_name_fr\":\"Saint-Bruno-de-Montarville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.45076270527849,47.46406768670153],[-74.47263348459487,47.44035888885765],[-74.4964509999377,47.42584259036213],[-74.5136412014114,47.406396507561475],[-74.5284528877433,47.374276302544864],[-74.52916551162245,47.36121739059039],[-74.55468360414663,47.32298770075513],[-74.56146076765951,47.32440268529168],[-74.58329548586326,47.304684390235124],[-74.59237368145237,47.288918798924605],[-74.60484440396857,47.2871618945677],[-74.61822639471185,47.25089609468453],[-74.63024033905407,47.248082194448216],[-74.6015308515251,47.229965583174554],[-74.48597669410213,47.22202413708488],[-74.43046442667335,47.15696992424553],[-74.45905687613764,47.136215481585566],[-74.41170476916503,47.10399566304493],[-74.22840311931635,47.229469750638444],[-74.23730588979863,47.234201527706226],[-74.17585118905164,47.27671037682205],[-74.45076270527849,47.46406768670153]],[[-74.38944150100711,47.22571529030254],[-74.37329909023549,47.21895770966472],[-74.35909067160875,47.19290706109831],[-74.37054918664546,47.1875265468162],[-74.41215945912438,47.21971569446779],[-74.38944150100711,47.22571529030254]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.40470031459465,\"lat\":47.285752566471565},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2462\"],\"cd_name_en\":[\"Matawinie\"],\"csd_code\":[\"2462920\"],\"csd_name_en\":[\"Baie-Atibenne\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Matawinie\",\"csd_name_fr\":\"Baie-Atibenne\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.49263049062806,45.29692261037548],[-73.51133818725879,45.33399881069064],[-73.49291711030817,45.34903411004821],[-73.51634192172239,45.337309101607204],[-73.54731433726118,45.34626855024391],[-73.55068892495437,45.33525030493985],[-73.56962358257363,45.33981197157836],[-73.57310835437724,45.329461489261895],[-73.56943035374526,45.296191114773734],[-73.56812363867736,45.29578017358392],[-73.54748831968286,45.2899298910845],[-73.5307215034444,45.292680314297975],[-73.5100133077132,45.27764663499361],[-73.49263049062806,45.29692261037548]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.53416762991803,\"lat\":45.31364287818994},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2467\"],\"cd_name_en\":[\"Roussillon\"],\"csd_code\":[\"2467005\"],\"csd_name_en\":[\"Saint-Mathieu\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Roussillon\",\"csd_name_fr\":\"Saint-Mathieu\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.31954350446894,45.24275664709046],[-74.34858064913674,45.24640702805565],[-74.37637598912805,45.23003876450268],[-74.32038089497728,45.186936521324],[-74.30760479545867,45.19277087257986],[-74.28353702455328,45.19959833230134],[-74.31954350446894,45.24275664709046]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.32898934608822,\"lat\":45.21853200895976},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2471\"],\"cd_name_en\":[\"Vaudreuil-Soulanges\"],\"csd_code\":[\"2471005\"],\"csd_name_en\":[\"Rivi\\u00e8re-Beaudette\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Vaudreuil-Soulanges\",\"csd_name_fr\":\"Rivi\\u00e8re-Beaudette\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.58818084009681,45.61487731447979],[-74.58321320546058,45.63280106620811],[-74.60864268375072,45.63470159694528],[-74.62076931021438,45.630108281772806],[-74.58818084009681,45.61487731447979]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.59858069981112,\"lat\":45.62708463256408},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2476\"],\"cd_name_en\":[\"Argenteuil\"],\"csd_code\":[\"2476055\"],\"csd_name_en\":[\"Grenville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Argenteuil\",\"csd_name_fr\":\"Grenville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.40163263427303,46.04275608242602],[-74.37527971767467,46.03919061195471],[-74.37254729027057,46.04606857226372],[-74.3445620770941,46.04132367410482],[-74.32662263367433,46.09844305576384],[-74.38640956010721,46.10920604311425],[-74.39784609807697,46.069066725548666],[-74.41366352822025,46.07141996598997],[-74.4174001473835,46.05586710786853],[-74.39884163561162,46.05382862376948],[-74.40163263427303,46.04275608242602]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.36880238401407,\"lat\":46.072914562946366},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2478\"],\"cd_name_en\":[\"Les Laurentides\"],\"csd_code\":[\"2478042\"],\"csd_name_en\":[\"Ivry-sur-le-Lac\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Laurentides\",\"csd_name_fr\":\"Ivry-sur-le-Lac\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.21120015917109,46.1040292172013],[-75.21623319311102,46.178004271538555],[-75.21513879057605,46.21504075513936],[-75.23108148716707,46.21516849083277],[-75.2315036703273,46.23072404521728],[-75.3964380670524,46.23080624848367],[-75.45930431218697,46.23068665973844],[-75.54022866898299,46.230661230605435],[-75.66912344713027,46.23018769436484],[-75.66321970855493,46.21503272569326],[-75.6816096889428,46.19902102146476],[-75.67723900151336,46.176450857167644],[-75.70177609239333,46.17477403541398],[-75.7687609532787,46.17505050613057],[-75.76469438874183,46.02258350134425],[-75.69723611370671,46.023062398675805],[-75.70948670338835,46.01551393687447],[-75.73009480767792,46.01338369283015],[-75.76996709494398,45.98532069756708],[-75.78036087456411,45.964230733438065],[-75.76049597423025,45.960581471892304],[-75.7463264669843,45.9742123991477],[-75.73350491266342,45.97009696342732],[-75.66907789034991,45.970318571232],[-75.66200293308735,45.98213679497933],[-75.62228763267018,45.98284714940777],[-75.62214942800806,45.99463391262982],[-75.60167351564893,45.99478661645617],[-75.6004589281792,45.97160702270195],[-75.57438974782826,45.97180842510253],[-75.40733497716485,45.972404181579435],[-75.40837418758571,46.05649058280859],[-75.4076579286271,46.0971387256321],[-75.21122263561693,46.098001114594084],[-75.21120015917109,46.1040292172013]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.51708467101652,\"lat\":46.11211805468088},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2479\"],\"cd_name_en\":[\"Antoine-Labelle\"],\"csd_code\":[\"2479005\"],\"csd_name_en\":[\"Notre-Dame-du-Laus\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Antoine-Labelle\",\"csd_name_fr\":\"Notre-Dame-du-Laus\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.7221288851369,46.47114859170265],[-74.62920188763421,46.534301909357275],[-74.62453520604362,46.54252550519899],[-74.70799577951246,46.600269495902744],[-74.74945862729079,46.630958071659215],[-74.76736575464037,46.62460773796857],[-74.84260873832015,46.675547275477314],[-74.94013288727686,46.61025394557897],[-74.98712450077839,46.577450247489175],[-74.88392382027514,46.50550626089259],[-74.80661471059278,46.454744207419594],[-74.7691437677855,46.48115901308947],[-74.78394421689943,46.49145685775877],[-74.76974407732632,46.499531624988784],[-74.75207529089832,46.49220555804127],[-74.7221288851369,46.47114859170265]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.80686815185165,\"lat\":46.56187002069316},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2479\"],\"cd_name_en\":[\"Antoine-Labelle\"],\"csd_code\":[\"2479050\"],\"csd_name_en\":[\"L'Ascension\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Antoine-Labelle\",\"csd_name_fr\":\"L'Ascension\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.34526944745275,45.53680516152383],[-75.35528320255887,45.59713808971406],[-75.44562260247471,45.5910416794685],[-75.43895096603205,45.54637731933856],[-75.53185795939372,45.539998651273656],[-75.53712155808822,45.57593688002819],[-75.54208592472547,45.562514160603925],[-75.68369102358653,45.5505768753715],[-75.72350165802166,45.54706146236326],[-75.72004663846461,45.523645787841545],[-75.76213926807407,45.52044574907815],[-75.76952795355948,45.506971227407305],[-75.76313350281987,45.49426691848254],[-75.74872939846551,45.487142603309984],[-75.755757794796,45.47735900136519],[-75.77527299839511,45.486599901157085],[-75.78278042294261,45.4732644398357],[-75.78113204131996,45.459842860226445],[-75.79381314850956,45.458810351147655],[-75.79644181955744,45.473302474761766],[-75.83704496891394,45.47007054092259],[-75.83943803093948,45.485726919406524],[-75.90876169099907,45.480514240602865],[-75.89518509822274,45.401634686028096],[-75.84259032665067,45.37597481352378],[-75.81782532552545,45.372698708443295],[-75.79701680420104,45.378324029502615],[-75.7789182379132,45.390325533938636],[-75.75635894605969,45.412393586563745],[-75.72962004298626,45.41697939912551],[-75.7037445563341,45.42663519947438],[-75.69607242423515,45.449494940676274],[-75.68317719308575,45.45913650049409],[-75.63942123208936,45.465856942536334],[-75.61897140751965,45.47142868374176],[-75.57555679765693,45.47482510508127],[-75.52040230529276,45.49881935503703],[-75.47794127977927,45.51350893557684],[-75.44540843963648,45.521110480911915],[-75.42356160865322,45.519894219933896],[-75.39104194093349,45.52417785157589],[-75.34526944745275,45.53680516152383]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.65882178934697,\"lat\":45.49065988571039},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2481\"],\"cd_name_en\":[\"Gatineau\"],\"csd_code\":[\"2481017\"],\"csd_name_en\":[\"Gatineau\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Gatineau\",\"csd_name_fr\":\"Gatineau\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.95718436035436,46.46608421978706],[-75.94618480799922,46.487306514697806],[-75.9091385253793,46.49824467087413],[-75.90209342957431,46.50574226228853],[-75.91150456527313,46.52848729051549],[-75.9080384936631,46.53647805697851],[-75.91365339927343,46.55811670397326],[-75.93008241760809,46.55441718835521],[-75.93345365087148,46.57689312874299],[-76.00196836985553,46.57669944621294],[-76.00317845541781,46.467221206352065],[-75.95718436035436,46.46608421978706]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.96074456853803,\"lat\":46.524166924704794},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2483\"],\"cd_name_en\":[\"La Vall\\u00e9e-de-la-Gatineau\"],\"csd_code\":[\"2483085\"],\"csd_name_en\":[\"Bois-Franc\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-de-la-Gatineau\",\"csd_name_fr\":\"Bois-Franc\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.60781852448558,45.723486141724315],[-76.58816306920815,45.71659166687871],[-76.57949018758822,45.72945658026446],[-76.60839400581887,45.73753091165061],[-76.60781852448558,45.723486141724315]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.59561437030405,\"lat\":45.727101280571794},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2484\"],\"cd_name_en\":[\"Pontiac\"],\"csd_code\":[\"2484030\"],\"csd_name_en\":[\"Campbell's Bay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Pontiac\",\"csd_name_fr\":\"Campbell's Bay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.94335879731719,47.85112495041635],[-77.00476815515485,47.85025496332224],[-77.32551019044335,47.85079603004856],[-77.36134935906716,47.85094348444604],[-77.36049726293301,47.79709816042614],[-77.3629462714364,47.7013420660603],[-77.4216198911017,47.70276584032219],[-77.42960880072653,47.69351910687121],[-77.4295036094843,47.677859513368276],[-77.44962520464048,47.66885249534612],[-77.46944421571965,47.6489153929389],[-77.45801110124566,47.633719711757394],[-77.46834381725431,47.620346995363384],[-77.46451250016321,47.60372919060591],[-77.4783295880592,47.59934849744077],[-77.49566180605825,47.56237270802338],[-77.49341680180098,47.54695619138553],[-77.45709640564213,47.539834909832486],[-77.4649000820037,47.52567390402722],[-77.45079590939196,47.51904510348552],[-77.45262078878702,47.5024875010983],[-77.49036758317354,47.517675708330046],[-77.50797869110662,47.49152560298589],[-77.52607040107155,47.48414178714413],[-77.51591598887028,47.47367160247197],[-77.56615301470735,47.47202811367195],[-77.55884148609674,47.454122897418046],[-77.60956068876554,47.436632698645354],[-77.60781771756771,47.42875149054436],[-77.62035191712201,47.41035069497965],[-77.6642169910064,47.429101085370704],[-77.68257811360536,47.42264339041196],[-77.69428271210967,47.4279463079138],[-77.70802538878746,47.419094589564885],[-77.72758198742673,47.427963295111155],[-77.76823041675846,47.421016996730046],[-77.7725601985294,47.39663589078192],[-77.80406400953039,47.38105220703118],[-77.7974821946254,47.36649999042648],[-77.81530220897606,47.35737320991093],[-77.82523458190967,47.343243504007965],[-77.83692420729923,47.31558970253362],[-77.8477033106342,47.325925498104866],[-77.90851069235923,47.2920807055718],[-77.93121710396355,47.26968759768388],[-77.90742304439308,47.26902009483545],[-77.64710264670289,47.26949866896632],[-77.64641484305714,47.2892173614715],[-77.50329560029331,47.28967928415753],[-77.43169474487827,47.28913107892812],[-77.43365642989953,47.144981917031124],[-77.16728672728206,47.14489639454384],[-77.00371361301552,47.14546061841584],[-77.00294301137231,47.289188634800965],[-76.78062224164132,47.28914336415932],[-76.57521350510449,47.28801119740173],[-76.57499385798978,47.46467384430797],[-76.57344931657529,47.6008267538207],[-76.80733424832081,47.76042649326245],[-76.82877416870056,47.775702268442295],[-76.94335879731719,47.85112495041635]],[[-77.29966860398646,47.62111620429525],[-77.30631938865655,47.614098408180496],[-77.3101776115143,47.62015198823357],[-77.29966860398646,47.62111620429525]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.12414978790012,\"lat\":47.48618261918862},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2489\"],\"cd_name_en\":[\"La Vall\\u00e9e-de-l'Or\"],\"csd_code\":[\"2489910\"],\"csd_name_en\":[\"R\\u00e9servoir-Dozois\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-de-l'Or\",\"csd_name_fr\":\"R\\u00e9servoir-Dozois\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.4638000840025,47.54228379659964],[-72.53779345549898,47.59286185853495],[-72.60615174468262,47.63775810326041],[-72.65211801729602,47.67062408961218],[-72.75355957012664,47.50375680657824],[-72.64076200522973,47.427266774595815],[-72.54811421670243,47.48866101572584],[-72.4638000840025,47.54228379659964]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.62198545079329,\"lat\":47.54186466650558},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2490\"],\"cd_name_en\":[\"La Tuque\"],\"csd_code\":[\"2490017\"],\"csd_name_en\":[\"La Bostonnais\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Tuque\",\"csd_name_fr\":\"La Bostonnais\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.4111591661787,48.99248739397332],[-72.43459938044886,48.99282896394982],[-72.48522415475499,49.00849102986907],[-72.49825292159318,49.03543262280765],[-72.54754033111716,49.0431803878923],[-72.56889445405008,49.05010750746741],[-72.59527858343522,49.064923703177946],[-72.59925049090089,49.07473985111548],[-72.59387285595982,49.104878988453294],[-72.57484165587658,49.13996310589214],[-72.6151065658431,49.1405004344283],[-72.61954007554999,49.06625564115294],[-72.66328455826003,49.04467495119994],[-72.65018774162515,49.043623816072746],[-72.63206595767073,49.01811634357971],[-72.61966361866763,49.014201643399936],[-72.52878447610766,48.93412791475963],[-72.4111591661787,48.99248739397332]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.55143290755204,\"lat\":49.01689868134517},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2492\"],\"cd_name_en\":[\"Maria-Chapdelaine\"],\"csd_code\":[\"2492055\"],\"csd_name_en\":[\"Girardville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Maria-Chapdelaine\",\"csd_name_fr\":\"Girardville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.7048925819852,48.51737896631944],[-71.73985903355357,48.52457648127401],[-71.72335322810103,48.563726782359716],[-71.73844947518496,48.57748240144892],[-71.74986879174983,48.56194612390311],[-71.80922395630407,48.58012648310039],[-71.81408786100313,48.569036725987885],[-71.92901767562117,48.58091955327239],[-72.04015920050361,48.59154438208403],[-71.99904689136564,48.49861017350852],[-71.90218421377591,48.49270037510741],[-71.795500059785,48.48634876355581],[-71.79250966791587,48.46124233721069],[-71.7723944364797,48.454153906332124],[-71.73168556757524,48.445660545232435],[-71.71856043225962,48.45841965680497],[-71.71245297089426,48.47275578587839],[-71.69872211069291,48.470252365366825],[-71.69380484769455,48.4849733561351],[-71.71072049610274,48.488061000201775],[-71.7048925819852,48.51737896631944]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.859617670824,\"lat\":48.52815183988396},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2493\"],\"cd_name_en\":[\"Lac-Saint-Jean-Est\"],\"csd_code\":[\"2493035\"],\"csd_name_en\":[\"Saint-G\\u00e9d\\u00e9on\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Lac-Saint-Jean-Est\",\"csd_name_fr\":\"Saint-G\\u00e9d\\u00e9on\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.07393193204777,47.95024115439231],[-71.90124738630367,47.95039453135473],[-71.86490802650421,47.949661079798915],[-71.66079240710495,47.95025095268441],[-71.40372459987373,47.95008458853672],[-71.4497989734417,47.99512603968309],[-71.41176812202737,47.995226026053885],[-71.40838721187149,48.00007555916312],[-71.4269390718511,47.999987377780776],[-71.72281783775372,48.000009632352736],[-71.72363540320808,47.997266727564316],[-71.80390722971619,47.998493546401804],[-71.98057549792601,47.997952326048775],[-72.06704969754324,47.998826385037916],[-72.07007733163377,47.999104322937455],[-72.08419269536057,47.99923690788401],[-72.12320377570158,47.9992793126226],[-72.07393193204777,47.95024115439231]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.75915238437068,\"lat\":47.97471292152382},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2493\"],\"cd_name_en\":[\"Lac-Saint-Jean-Est\"],\"csd_code\":[\"2493904\"],\"csd_name_en\":[\"Lac-Moncouche\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Lac-Saint-Jean-Est\",\"csd_name_fr\":\"Lac-Moncouche\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.79659365526764,48.251725046918075],[-69.79658037474641,48.30140628006279],[-69.9173642390515,48.332270135994335],[-70.00849681677161,48.35795647079656],[-70.06777053733451,48.26432048951282],[-70.07879830511655,48.25612210278635],[-69.99417578987367,48.25183689618077],[-69.95511521039911,48.23462644329576],[-69.91699750458244,48.231256106491514],[-69.89403969217786,48.226488610397766],[-69.87082383513585,48.18161342217091],[-69.85755732727502,48.164106793899194],[-69.84235954954079,48.1543067667488],[-69.81008303605856,48.143823845453596],[-69.78284774865939,48.14436535137532],[-69.73011321551981,48.13294913274985],[-69.72988752986694,48.16895624444265],[-69.71870783654919,48.17630514126638],[-69.7611433265702,48.20438140915441],[-69.7373466021542,48.22552278634528],[-69.66166141024144,48.17878334769027],[-69.6084850047303,48.21562758678473],[-69.65724471418177,48.25161414270274],[-69.79659365526764,48.251725046918075]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.85376154449958,\"lat\":48.247676333986234},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2495\"],\"cd_name_en\":[\"La Haute-C\\u00f4te-Nord\"],\"csd_code\":[\"2495010\"],\"csd_name_en\":[\"Sacr\\u00e9-Coeur\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Haute-C\\u00f4te-Nord\",\"csd_name_fr\":\"Sacr\\u00e9-Coeur\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-58.807710333420395,50.90348864772415],[-58.80375774745947,50.984451297864695],[-58.80778640499086,51.025602845668445],[-58.80620563920587,51.05882269713005],[-58.825970918688995,51.059198555676424],[-58.841520088641495,51.09047259195449],[-58.855813026899376,51.09094004520213],[-58.87394571913791,51.103574795316305],[-58.834827615129726,51.1418678951747],[-58.86037191347214,51.17024324145203],[-58.86678536846558,51.17014201602461],[-59.14754812909246,51.16603938984034],[-59.148718085064125,51.07325979429052],[-59.1443878032915,51.06457259205862],[-59.159847212356425,51.05712371123459],[-59.15750040097954,51.0485427027487],[-59.137488607532084,51.02967589645759],[-59.124772082898524,51.04346309522059],[-59.07095041650083,51.03625890260543],[-59.08669759631601,50.999484288901904],[-59.12857921716779,50.97825100690703],[-59.156127705624435,50.97883549692011],[-59.189616802912305,50.9683806233133],[-59.250355011487876,50.98592386335077],[-59.29773742322078,50.98292920140999],[-59.29921134970583,50.87591231566736],[-59.3156617484896,50.86529451647589],[-59.337020211052725,50.84357956431939],[-59.33422656530066,50.83767420954727],[-59.305479242765095,50.83272312813057],[-59.28352849236156,50.82482023141991],[-59.26351852893355,50.82591013203734],[-59.22323349806489,50.842219196148505],[-59.18563262522827,50.83992641011208],[-59.156292170593694,50.82588683816674],[-59.14755530407657,50.81464171491272],[-59.144011512896554,50.797252259116085],[-59.15525669408151,50.787229042583355],[-59.126778000261126,50.756902239987795],[-59.12847230782776,50.72035574468345],[-59.12632196851679,50.686314199740224],[-58.80686908641564,50.68572251876963],[-58.807710333420395,50.90348864772415]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-59.00923171305889,\"lat\":50.91962050836613},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2498\"],\"cd_name_en\":[\"Minganie--Le Golfe-du-Saint-Laurent\"],\"csd_code\":[\"2498014\"],\"csd_name_en\":[\"Gros-M\\u00e9catina\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Minganie--Le Golfe-du-Saint-Laurent\",\"csd_name_fr\":\"Gros-M\\u00e9catina\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-69.71888151671827,59.96553050219917],[-69.76609828980098,59.96540528584961],[-69.82268269220798,59.968296408280146],[-69.82938751775673,59.962765901652446],[-69.87965207304607,59.95386400365738],[-69.923536578516,59.96382839511749],[-69.95110057953386,59.961204706315776],[-69.98736007415158,59.96649329857047],[-69.91521804608698,59.90712252326816],[-69.83905310213687,59.866758799902726],[-69.82155067859524,59.85530583600696],[-69.82350409755416,59.80935404193327],[-69.59149661523875,59.81500459252194],[-69.58251200398843,59.842696388357545],[-69.54660760000745,59.86273669653839],[-69.58508038936978,59.87870070233553],[-69.61062360889935,59.88230570883762],[-69.64090119944373,59.8769580887061],[-69.68149818299102,59.88824069120791],[-69.70363998415739,59.88754918347189],[-69.7535920799875,59.916853201326845],[-69.71557790172434,59.91621519968954],[-69.70575267428323,59.927292800982265],[-69.70794496940843,59.95295250557837],[-69.71888151671827,59.96553050219917]]],[[[-69.91223912420618,60.008460300047574],[-69.86022342018104,59.99475360550283],[-69.83754191233642,59.99239250873386],[-69.82245450937232,59.99824210309926],[-69.77426829822483,59.996573303179346],[-69.775845307799,60.014553714273504],[-69.79892800592046,60.01399461378536],[-69.8380112232361,60.0235325907762],[-69.84342516328678,60.03421334316809],[-69.87589935737044,60.04769701557218],[-70.00326457288402,60.093681377854416],[-70.00348560490175,60.13545559465933],[-70.05823803691433,60.15390624805707],[-70.14482982491656,60.153681776790506],[-70.26821176380852,60.15505863570661],[-70.30881765915356,60.149215603417666],[-70.3089180944023,60.12697325834131],[-70.41930056235434,60.12222785059705],[-70.43344265856354,60.03651559264305],[-70.48016464934895,60.01944555037939],[-70.48736271419705,59.9963077012713],[-70.44468759782272,59.99936858534033],[-70.43366381469039,60.004121688547116],[-70.37294308169241,60.008690097058],[-70.34488749885065,60.005820390079144],[-70.29241198992077,60.00730999177964],[-70.29767271156764,60.027135207523024],[-70.24603739833263,60.02760760236603],[-70.21570349954933,60.021597302333554],[-70.16630786526227,60.018369566437585],[-70.16677906695676,60.04017362821844],[-70.11121462318779,60.04074710326978],[-70.11119275661208,60.06688647830921],[-70.01212159428971,60.0672282545093],[-69.91322718724821,60.03408265240167],[-69.91223912420618,60.008460300047574]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.0278109206088,\"lat\":60.00447170439846},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499890\"],\"csd_name_en\":[\"Kangirsuk\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Terre inuite\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Kangirsuk\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.57716936503542,45.611560571928436],[-74.58818084009681,45.61487731447979],[-74.62076931021438,45.630108281772806],[-74.62553464975345,45.63457356068337],[-74.64366678954562,45.60924930558312],[-74.62864079818662,45.59886480966318],[-74.58742980151484,45.58896650418884],[-74.57716936503542,45.611560571928436]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.61065521704111,\"lat\":45.60959661706868},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3502\"],\"cd_name_en\":[\"Prescott and Russell\"],\"csd_code\":[\"3502008\"],\"csd_name_en\":[\"Hawkesbury\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Prescott and Russell\",\"csd_name_fr\":\"Hawkesbury\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.13467856024695,43.928800848298096],[-80.17174139646654,44.084927902033165],[-80.17989591062032,44.08321342511539],[-80.17919268649716,44.072898287180294],[-80.2029694561963,44.06801952970557],[-80.22106909956653,44.07504028827673],[-80.33256270968936,44.05233700514407],[-80.33672399990937,44.04967738892554],[-80.29614550584448,43.87745270604327],[-80.14601707379897,43.908740485488295],[-80.1306085974215,43.911959289501524],[-80.13467856024695,43.928800848298096]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.2344137621907,\"lat\":43.98032007315394},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3522\"],\"cd_name_en\":[\"Dufferin\"],\"csd_code\":[\"3522008\"],\"csd_name_en\":[\"Amaranth\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Dufferin\",\"csd_name_fr\":\"Amaranth\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.98432309550935,43.13200039393085],[-80.17703272232563,43.20166994626187],[-80.20068139059431,43.21090518869787],[-80.23843479478494,43.30653390133285],[-80.47154301322166,43.26680201097689],[-80.43645260586932,43.17940630543442],[-80.52460600390596,43.16462441088113],[-80.60874540819336,43.15163401189607],[-80.56714808626404,43.042047389390554],[-80.54342299281667,42.98486320070132],[-80.37003349496102,43.01153259422174],[-80.37072849453195,43.01316629473397],[-80.24309798564408,43.03193429645174],[-80.20155857695357,43.09506271563007],[-80.17648085685057,43.08773507285711],[-80.1498578312719,43.092550719357305],[-80.12319431311658,43.11309970912834],[-80.12315628601634,43.1305641073097],[-80.0702924181794,43.111801693554284],[-80.07582029546408,43.09980198798811],[-80.05087905344246,43.08620045532093],[-80.03104349150499,43.09485049946784],[-80.00389070748528,43.08876941211575],[-79.98432309550935,43.13200039393085]],[[-80.23402777412902,43.11722460699161],[-80.2626720626809,43.10737068794623],[-80.26064573036982,43.09907197978579],[-80.28405540358067,43.09455711001631],[-80.32780410447505,43.10981569895025],[-80.30629280193978,43.13752489328838],[-80.31350642300832,43.14993205101806],[-80.33444709475012,43.145986895279584],[-80.35396714666909,43.15664136689575],[-80.3529567504286,43.17380315878339],[-80.33133013991004,43.17766921111967],[-80.33670471878014,43.19099044676046],[-80.31924900651477,43.198525310719674],[-80.26125729431938,43.20830490360421],[-80.25057401878267,43.198322187458444],[-80.22099121037016,43.20359207614887],[-80.20814600802879,43.15821641275223],[-80.19420552063714,43.14862534085837],[-80.2155925796626,43.14216271682044],[-80.21553588483759,43.11994460350392],[-80.22788516964872,43.11876111887615],[-80.23402777412902,43.11722460699161]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.3475022560261,\"lat\":43.134835514067504},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3529\"],\"cd_name_en\":[\"Brant\"],\"csd_code\":[\"3529005\"],\"csd_name_en\":[\"Brant\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Brant\",\"csd_name_fr\":\"Brant\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.57410382246914,43.4326598729146],[-80.62618420668595,43.479747092057906],[-80.74300990434327,43.471389195892534],[-80.79636555711542,43.46841183422807],[-80.73764630325967,43.40795908816674],[-80.7357867121152,43.35333740395061],[-80.73491998599854,43.31098099563805],[-80.6299749864565,43.327207886323386],[-80.5036325960373,43.34806839520412],[-80.50595460686611,43.35385938793388],[-80.51653009674281,43.380233709698985],[-80.57410382246914,43.4326598729146]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.6512872420632,\"lat\":43.39733269848034},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3530\"],\"cd_name_en\":[\"Waterloo\"],\"csd_code\":[\"3530020\"],\"csd_name_en\":[\"Wilmot\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Waterloo\",\"csd_name_fr\":\"Wilmot\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.73491998599854,43.31098099563805],[-80.7357867121152,43.35333740395061],[-80.82226164315382,43.32535947930681],[-80.83942520772835,43.32859571749645],[-80.84630180912971,43.31777509381162],[-80.90102239813402,43.3010722981425],[-80.8052062779433,43.11031795553037],[-80.78434948049627,43.117769156987904],[-80.77786605100118,43.124553353990876],[-80.79005378492569,43.15240600304241],[-80.71679601344387,43.17468059129573],[-80.71252438585434,43.1731952642732],[-80.69349885921648,43.19078861095475],[-80.68924055260959,43.22234010275553],[-80.7201554522735,43.24196920698717],[-80.7401064831318,43.24265570359511],[-80.7341471359273,43.25342969847586],[-80.73491998599854,43.31098099563805]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.79218543581204,\"lat\":43.241752900534536},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3532\"],\"cd_name_en\":[\"Oxford\"],\"csd_code\":[\"3532038\"],\"csd_name_en\":[\"East Zorra-Tavistock\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Oxford\",\"csd_name_fr\":\"East Zorra-Tavistock\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.08183403820397,44.51582270840544],[-79.14635160584909,44.660251503257726],[-79.15489008995627,44.680831808103015],[-79.20788221529475,44.794867008391286],[-79.29674519644563,44.77537037043139],[-79.31104080681753,44.752966311175],[-79.3261589611452,44.75688193430173],[-79.34909350656619,44.725258133726044],[-79.36938218066207,44.68067246316488],[-79.39596933014673,44.6569066803924],[-79.40117800677615,44.64034351610558],[-79.37506638034758,44.62340707014345],[-79.36983825531108,44.603537969561565],[-79.37572454021647,44.586930410182],[-79.34717068871781,44.55197479253846],[-79.26647349942048,44.4565768646173],[-79.24244869137544,44.45978378642913],[-79.1637545028795,44.47100494062699],[-79.15985993291218,44.486893623532836],[-79.14009517664046,44.51294973164147],[-79.1283052008267,44.5070854175895],[-79.08183403820397,44.51582270840544]],[[-79.32034403985003,44.70846605385103],[-79.30350829541797,44.69926518937214],[-79.29538584082303,44.6755191128169],[-79.30420681719099,44.673548324984594],[-79.32034403985003,44.70846605385103]],[[-79.33083126397494,44.666431314995535],[-79.32187853415286,44.65693644439114],[-79.33545391085475,44.64886476003686],[-79.35683354217369,44.6536924010902],[-79.33083126397494,44.666431314995535]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.24374514889982,\"lat\":44.617589236437624},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3543\"],\"cd_name_en\":[\"Simcoe\"],\"csd_code\":[\"3543019\"],\"csd_name_en\":[\"Ramara\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Simcoe\",\"csd_name_fr\":\"Ramara\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.14097996392888,44.47254735761926],[-80.17478908507404,44.62998410806452],[-80.28467677480408,44.67575273880263],[-80.32868204235582,44.69272144977897],[-80.28166528991575,44.48157959954154],[-80.24831808704522,44.488797891660006],[-80.24461189050079,44.47228818912778],[-80.17392398697942,44.487358106666846],[-80.14097996392888,44.47254735761926]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.23617729693187,\"lat\":44.57255387252913},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3543\"],\"cd_name_en\":[\"Simcoe\"],\"csd_code\":[\"3543031\"],\"csd_name_en\":[\"Collingwood\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Simcoe\",\"csd_name_fr\":\"Collingwood\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.85016760210638,46.207969685052376],[-77.88089792215295,46.21644845856068],[-77.92680915528236,46.224098983631215],[-77.98798594533616,46.24656224388701],[-78.01463354389601,46.24822799806162],[-78.0426860528003,46.242511817906895],[-78.06679349434555,46.246663433152555],[-78.08896565739576,46.25645580712684],[-78.11731938043934,46.26367479093502],[-78.1351427861664,46.27472798598919],[-78.17022177346973,46.276301818394906],[-78.21972729246887,46.27005367276386],[-78.23969514085539,46.27501142615613],[-78.26049054853314,46.27394403452216],[-78.2894478744111,46.259515291870756],[-78.30958080965134,46.25316901996805],[-78.34404809839945,46.26623448966221],[-78.38838873033505,46.291687914269474],[-78.40347142936609,46.293388298996845],[-78.39699273773505,46.27358355697964],[-78.41248587322798,46.273316318041296],[-78.34874549016317,46.15654465319803],[-78.32823285282632,46.12145373565849],[-78.3186423176483,46.103620837179214],[-78.132956645262,46.153015580747336],[-78.08663104595907,46.0670407004334],[-77.91990558599096,46.11262538656084],[-77.89041399289454,46.06019738345164],[-77.6920302741319,46.11326386570681],[-77.73877011036927,46.19349475311642],[-77.7839261855539,46.195910532323474],[-77.81607648257821,46.20347581442802],[-77.85016760210638,46.207969685052376]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.06137345737214,\"lat\":46.17504828316413},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3547\"],\"cd_name_en\":[\"Renfrew\"],\"csd_code\":[\"3547098\"],\"csd_name_en\":[\"Head\",\"Clara and Maria\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Renfrew\",\"csd_name_fr\":\"Head, Clara and Maria\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.30158667415687,45.70616524339026],[-79.13046644297049,45.75163894304851],[-79.15377409939472,45.796011549929034],[-79.1953155341278,45.87051897045864],[-79.35082199726682,45.82880282624259],[-79.36594808026683,45.82499130657978],[-79.30158667415687,45.70616524339026]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.24804882980148,\"lat\":45.788307516158355},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3549\"],\"cd_name_en\":[\"Parry Sound\"],\"csd_code\":[\"3549051\"],\"csd_name_en\":[\"Joly\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Parry Sound\",\"csd_name_fr\":\"Joly\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.03432603340296,45.84213337195358],[-82.02994443525843,45.85699869690231],[-82.04787382728485,45.86856361378977],[-82.06815032674021,45.83140981052923],[-82.06868914925583,45.81853361338719],[-82.08544433944752,45.811660915825485],[-82.10043104214894,45.7838217951654],[-82.11415652030952,45.7685004917896],[-82.14040781077458,45.76849089955655],[-82.15385313182716,45.768727204494354],[-82.27178651396964,45.76818051769034],[-82.2717949145154,45.822735530311334],[-82.35081913147995,45.82307358231792],[-82.42752610196116,45.82355232816538],[-82.4289688568641,45.69496470795134],[-82.4108482269901,45.70550381107594],[-82.39028823380663,45.69596281417541],[-82.37958925530627,45.70120509825183],[-82.35414015709891,45.68729710546935],[-82.3367033470661,45.691750993464666],[-82.31624955266761,45.68160140077121],[-82.31904806415307,45.6695438038809],[-82.29863024129345,45.66156891475009],[-82.28278184266793,45.67020890026783],[-82.26379003173163,45.66206771275829],[-82.27182373103753,45.6551737105592],[-82.27259839326933,45.63400130411699],[-82.2726703479568,45.50300754468163],[-82.11725561729256,45.50264039044736],[-82.11923654273689,45.673245016814846],[-81.96110655965906,45.67511282820569],[-81.96162313356184,45.72746729486579],[-81.95758833623468,45.78223357912489],[-81.97420332954208,45.79341111277915],[-81.98966214854599,45.79227909637651],[-82.03164285970067,45.80745211759177],[-82.03735394012372,45.82528510953882],[-82.03432603340296,45.84213337195358]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.19424843572688,\"lat\":45.69351582564797},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3551\"],\"cd_name_en\":[\"Manitoulin\"],\"csd_code\":[\"3551006\"],\"csd_name_en\":[\"Central Manitoulin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Manitoulin\",\"csd_name_fr\":\"Central Manitoulin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.1311958227616,46.34850182474242],[-81.14283390524739,46.40578304970348],[-81.18227656674276,46.40228927166494],[-81.20600722165031,46.39065722630607],[-81.21604775075862,46.39181053042793],[-81.24779218233141,46.378519717726746],[-81.27086760404985,46.38493623048916],[-81.30212798731023,46.37558713021373],[-81.30859491847468,46.355168894617734],[-81.31905083849317,46.33830725883642],[-81.33533533142935,46.32313412111811],[-81.34609147704525,46.31968771990807],[-81.35713719002968,46.305902318368496],[-81.33330241300247,46.27831396702258],[-81.33325132306912,46.26115747847321],[-81.31888391551969,46.250049528421016],[-81.30741247367129,46.22700294675725],[-81.22911886319616,46.218114622562936],[-81.23504055969626,46.23417210836908],[-81.1476746095181,46.3184944738447],[-81.14853831273388,46.325651918894124],[-81.13089731976609,46.33773137266381],[-81.1311958227616,46.34850182474242]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.241335111323,\"lat\":46.31616165675957},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3552\"],\"cd_name_en\":[\"Sudbury\"],\"csd_code\":[\"3552051\"],\"csd_name_en\":[\"Whitefish Lake 6\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Sudbury\",\"csd_name_fr\":\"Whitefish Lake 6\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.6552494838055,49.189487694299864],[-81.47028964944327,49.18876436873323],[-81.47190782122284,49.31862382955684],[-81.66746751953548,49.31980557993891],[-81.66811689557157,49.25462840402756],[-81.66535781529278,49.18951403597907],[-81.6552494838055,49.189487694299864]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.56923582835587,\"lat\":49.254209199796236},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3556\"],\"cd_name_en\":[\"Cochrane\"],\"csd_code\":[\"3556048\"],\"csd_name_en\":[\"Smooth Rock Falls\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Cochrane\",\"csd_name_fr\":\"Smooth Rock Falls\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.48910313572401,51.16003339267861],[-80.69100115914584,51.160151263672795],[-80.72458283205461,51.14444401126443],[-80.72772832291352,51.12954581878225],[-80.7646914073532,51.10443130023925],[-80.75373483943632,51.08704051564278],[-80.76310051418248,51.07294572223707],[-80.48835616010246,51.07320605944096],[-80.48910313572401,51.16003339267861]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.61548794221957,\"lat\":51.114690879716065},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3556\"],\"cd_name_en\":[\"Cochrane\"],\"csd_code\":[\"3556096\"],\"csd_name_en\":[\"Moose Factory 68\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Cochrane\",\"csd_name_fr\":\"Moose Factory 68\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-84.55884969332665,46.52065001874747],[-84.46561559499675,46.52041979481543],[-84.47043601433442,46.60815296557412],[-84.54849857176488,46.60655130591056],[-84.55956594552055,46.6024926200746],[-84.59456333893483,46.57707100697055],[-84.60008735786082,46.547759211236595],[-84.58320275296552,46.52745722163975],[-84.55884969332665,46.52065001874747]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-84.52746265096388,\"lat\":46.56233949381756},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3557\"],\"cd_name_en\":[\"Algoma\"],\"csd_code\":[\"3557066\"],\"csd_name_en\":[\"Prince\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Algoma\",\"csd_name_fr\":\"Prince\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-84.92487409818312,47.95506824190809],[-84.85877854372146,47.95752630465221],[-84.81066900183885,47.91620185593726],[-84.78986458187322,47.921145027257076],[-84.74798989168035,47.90906014459189],[-84.74676057897476,47.8350070272865],[-84.616989789399,47.83490725684416],[-84.61941238101439,47.93505742079234],[-84.66650727045099,47.934609117290314],[-84.66573604752116,47.99424753411874],[-84.66196379994427,48.0451950639525],[-84.66127767299244,48.10784487117615],[-84.77479508969294,48.10636382047],[-84.81126542655655,48.10470922643631],[-84.84532217404465,48.106448192762905],[-84.9212812514049,48.10679355608906],[-84.92165783457712,48.018206692963076],[-84.85478415134072,48.014972291100065],[-84.85810245545862,47.96571243605095],[-84.87755538683976,47.96619854286286],[-84.8774502081152,47.97725234865039],[-84.9003401632107,47.976533760965395],[-84.90020136166447,47.966321888143966],[-84.92226306042879,47.962206958150546],[-84.92487409818312,47.95506824190809]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-84.75764235405157,\"lat\":47.989861416261284},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3557\"],\"cd_name_en\":[\"Algoma\"],\"csd_code\":[\"3557076\"],\"csd_name_en\":[\"Wawa\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Algoma\",\"csd_name_fr\":\"Wawa\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-93.7190488026473,48.73769546571443],[-93.85156221038116,48.737317097033156],[-93.85130161341046,48.63723589047019],[-93.8502459443626,48.63078643769362],[-93.83344438546486,48.62561108863109],[-93.82141668365176,48.60916668756483],[-93.80416670518501,48.57022220071846],[-93.8185000168734,48.53141669426683],[-93.79336108288841,48.51630560308242],[-93.72244829188445,48.517730383593474],[-93.71728624225074,48.61975158388655],[-93.71744348630048,48.70085120532882],[-93.7190488026473,48.73769546571443]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-93.77729435008273,\"lat\":48.637766658421015},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3559\"],\"cd_name_en\":[\"Rainy River\"],\"csd_code\":[\"3559019\"],\"csd_name_en\":[\"Emo\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Rainy River\",\"csd_name_fr\":\"Emo\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-94.54902779470703,48.71475000269222],[-94.56998635833214,48.72648698214784],[-94.58763891684055,48.7175833016567],[-94.54902779470703,48.71475000269222]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-94.56888435662658,\"lat\":48.71960676216558},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3559\"],\"cd_name_en\":[\"Rainy River\"],\"csd_code\":[\"3559042\"],\"csd_name_en\":[\"Rainy River\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Rainy River\",\"csd_name_fr\":\"Rainy River\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-93.72433231546614,48.89578650653283],[-93.76735487770394,48.894998702084955],[-93.766860920396,48.863982005241304],[-93.72413648654559,48.86359997188048],[-93.72433231546614,48.89578650653283]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-93.7455392661198,\"lat\":48.87961151703983},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3559\"],\"cd_name_en\":[\"Rainy River\"],\"csd_code\":[\"3559069\"],\"csd_name_en\":[\"Rainy Lake 17B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Rainy River\",\"csd_name_fr\":\"Rainy Lake 17B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-90.02103242456465,51.46006214558161],[-90.02436636226709,51.53570213385782],[-90.11462499867903,51.535089193387655],[-90.39969941034924,51.5389295997168],[-90.40713047428265,51.45216072630605],[-90.27075786724595,51.45283987696807],[-90.26473401042472,51.41234826506105],[-90.15980777913879,51.410718911349065],[-90.16110478198522,51.45344871448572],[-90.02060616122895,51.45037117169188],[-90.02103242456465,51.46006214558161]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-90.21399810559707,\"lat\":51.48679132995865},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560049\"],\"csd_name_en\":[\"Pickle Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Pickle Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-95.05582984623827,49.37172112933127],[-95.01538304147294,49.362628344524154],[-94.97811134210345,49.378403627717574],[-94.99684833924098,49.38575588026932],[-95.05456321102231,49.3857362521092],[-95.05582984623827,49.37172112933127]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-95.02099810245596,\"lat\":49.37638932971444},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560060\"],\"csd_name_en\":[\"Northwest Angle 33B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Northwest Angle 33B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.04863267011687,49.53167387492932],[-97.15996548284448,49.531934053046044],[-97.1766493691921,49.524445751636904],[-97.17646685315412,49.50235886955534],[-97.18786748162377,49.48756049388266],[-97.18797250095548,49.35480449119719],[-97.18800318867171,49.2662142992613],[-96.78000449696373,49.26627644811721],[-96.78132400690897,49.355016602213354],[-96.91764330044515,49.35491169042498],[-96.91708901674109,49.475398703000984],[-96.91805427111136,49.532179756212436],[-97.04863267011687,49.53167387492932]],[[-96.99686672856224,49.443307512437904],[-96.9745422441743,49.446695484519395],[-96.9737757131066,49.43391416514617],[-97.00013666702651,49.43378384463748],[-96.99686672856224,49.443307512437904]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.02246788682922,\"lat\":49.38534028491325},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4602\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4602032\"],\"csd_name_en\":[\"De Salaberry\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"De Salaberry\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-96.6430173132532,49.53216378544932],[-96.64119839564287,49.618973306795446],[-96.7754978871427,49.61943819469253],[-96.9806312179667,49.62064499129375],[-97.04881056564669,49.620678622481016],[-97.04879430023281,49.609259577580225],[-97.02589845869458,49.6092861606299],[-97.02579780736339,49.59116349649461],[-97.04874297750447,49.59118752034386],[-97.04863267011687,49.53167387492932],[-96.91805427111136,49.532179756212436],[-96.91708901674109,49.475398703000984],[-96.91764330044515,49.35491169042498],[-96.78132400690897,49.355016602213354],[-96.78000449696373,49.26627644811721],[-96.64627922793979,49.26639127740474],[-96.64561758890514,49.29615831079703],[-96.64596830384244,49.502671998569184],[-96.66862026867952,49.49547343492938],[-96.71391520557803,49.49549780337534],[-96.71402819077628,49.51744150439744],[-96.72243732467408,49.53235030267331],[-96.73391358908816,49.53233430134618],[-96.7334648179889,49.552824458368356],[-96.71070470214875,49.55267000112642],[-96.71046154955948,49.56734487359947],[-96.67622296412881,49.567155882983634],[-96.67630761842013,49.545107903630594],[-96.64597400774834,49.53218799044023],[-96.6430173132532,49.53216378544932]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-96.80130155546685,\"lat\":49.47329090233468},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4602\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4602041\"],\"csd_name_en\":[\"Hanover\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Hanover\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-96.6575708244249,49.6806318056729],[-96.66678161799608,49.66542470647053],[-96.63102458915145,49.656802557565435],[-96.63102040872332,49.67108229769524],[-96.6575708244249,49.6806318056729]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-96.64728304835323,\"lat\":49.668333081625256},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4602\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4602061\"],\"csd_name_en\":[\"Ste. Anne\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Ste. Anne\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-100.4628552576168,49.84275687991363],[-100.4625036668279,49.88680726016241],[-100.4851551664989,49.88676741013677],[-100.53085831663479,49.88699375447675],[-100.53130051694745,49.79798343360496],[-100.50808053811605,49.79789238946062],[-100.49828686570297,49.82210444438586],[-100.48105856205272,49.84569444497967],[-100.4628552576168,49.84275687991363]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.50261398934698,\"lat\":49.850893608757254},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4606\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4606040\"],\"csd_name_en\":[\"Sioux Valley Dakota Nation\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Sioux Valley Dakota Nation\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-99.27537341276366,50.63897268262528],[-99.27582998927555,50.771887904986556],[-99.27524221248399,50.86015746410721],[-99.57857529811857,50.86035949992513],[-99.68207720698693,50.8604839449941],[-99.67022758343329,50.84509327597273],[-99.6356815861329,50.845050850933795],[-99.62430280575516,50.83773518065601],[-99.62401827025313,50.81568322953798],[-99.58964110845385,50.81550872887644],[-99.5889054172621,50.793599753803015],[-99.57858140932129,50.7935329966104],[-99.57788328670296,50.76398285133405],[-99.56638344942273,50.76448293700015],[-99.56561265822218,50.742311050547464],[-99.55425594776003,50.74256998673199],[-99.5548511971858,50.639016952681295],[-99.41516727491313,50.63921053951034],[-99.27537341276366,50.63897268262528]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-99.42994813666851,\"lat\":50.75598194635005},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4617\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4617035\"],\"csd_name_en\":[\"McCreary\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"McCreary\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.62285667442391,53.37920426433463],[-97.5960952276089,53.366524131068886],[-97.57712025641484,53.32744413628857],[-97.59616867260189,53.30927745227332],[-97.57609222870148,53.263397334111055],[-97.55331655456995,53.25322823426441],[-97.54537236983288,53.2401908502057],[-97.5146552313317,53.23490323110167],[-97.5054071738079,53.21633045344811],[-97.44133464171416,53.183284237493616],[-97.43551706905275,53.16848775287929],[-97.4658642349037,53.14131764610782],[-97.43451316804479,53.118917127754536],[-97.4294264725522,53.11042575271103],[-97.43782305540111,53.098788138545906],[-97.43485905957398,53.07768345109473],[-97.42402525197595,53.067519940811216],[-97.40071746390147,53.03184784691181],[-97.36080405381183,53.02344094540502],[-97.33189658140921,53.00599057038292],[-97.33195984348436,53.00988776118586],[-97.23627673331887,53.009196097922725],[-97.23841788925436,52.97776726805928],[-97.33005273416488,52.97733185176761],[-97.33141955841553,53.00006609071596],[-97.37871029607385,53.00116100176178],[-97.49990362199718,53.000000884547866],[-97.74995180511739,53.00000054699741],[-97.99999984114383,53.0000000039267],[-98.24999998675031,52.999999996988876],[-98.4954215474946,53.00045401702533],[-99.05895503890487,53.001964833887556],[-99.16439308167452,53.00191300554842],[-99.72065929417708,53.00230755389273],[-100.00658280232004,53.00170679715576],[-100.07541646629039,53.0005368186229],[-100.57480753612647,53.00137166750705],[-101.00018070629241,52.99999336805169],[-101.1584208957907,53.000849222627394],[-101.67160376760629,53.001253123076566],[-101.67159415186805,52.79813433733384],[-101.62322696081023,52.79809730024587],[-101.62310241338321,52.78363512473178],[-101.52652999982227,52.783397197843556],[-101.52670556907066,52.79822304654909],[-101.42942977735811,52.7979853590506],[-101.42982198473993,52.8126031695175],[-101.30862081983253,52.81267603441385],[-101.30842350267598,52.7982312482365],[-101.26022380272975,52.79839123875019],[-101.26009274111871,52.75504796964456],[-101.1872261779931,52.75485572763377],[-101.11458984837816,52.75428971606238],[-101.11421580863929,52.84188121549096],[-100.945221885715,52.8422500357868],[-100.94465132325517,52.66715038385337],[-100.77511434563476,52.66770955461863],[-100.7757358596564,52.63768267743155],[-100.82058825110748,52.61214455726541],[-100.8347329391046,52.59822813889538],[-100.83145247457523,52.59091504548356],[-100.86051935551885,52.57098224730921],[-100.867662845171,52.557638949864916],[-100.8646388737004,52.542338444790445],[-100.85055350074028,52.529067332506614],[-100.8463349430137,52.498813875895934],[-100.82288701914077,52.47988406578844],[-100.82217335884289,52.31813618595241],[-100.75312128034652,52.318463575059766],[-100.75168846021691,52.231151980923386],[-100.60833451644427,52.230787520980606],[-100.61012831196071,52.05620096188177],[-100.4647015737583,52.05700227933776],[-100.46479014272425,52.012429820722126],[-100.24951710075393,52.01261699056983],[-100.25044247255136,52.11417382628888],[-100.154305942829,52.114124335355115],[-100.15357865244302,52.08014913223669],[-100.16542577416934,52.057913948130725],[-100.1655693805548,52.04101335440186],[-100.13357695204313,52.02217394721221],[-100.14424733448715,51.99602166234022],[-100.18961499065082,51.99685898756327],[-100.1899966060959,51.971195898100696],[-100.12540228473982,51.97110935414947],[-100.11740735832707,51.96545343837149],[-100.1272207751581,51.95221443106056],[-100.1421344557744,51.9114696361214],[-100.13800116881748,51.89202944736328],[-100.11733584825808,51.8829302540655],[-100.11142274426318,51.85289604186393],[-100.09723675251828,51.851388236389575],[-100.08673345992285,51.8339611525175],[-100.08642227043683,51.80474123562815],[-100.07037478188394,51.79560903750827],[-100.07564444459194,51.77482175357877],[-100.05511957186587,51.7657822383414],[-100.0427406530231,51.75338535222113],[-100.05530487893554,51.731463843569855],[-100.03823076021267,51.72665694192978],[-100.0382280490309,51.71134477763813],[-100.01797985062097,51.70594183284198],[-99.98521366470663,51.716903337673244],[-99.98002526731143,51.742065031488536],[-99.98961544373992,51.745131739649906],[-99.98397567483121,51.76222725464491],[-99.98830847651331,51.77882095468802],[-100.00609628417422,51.784757344162735],[-99.9917621625622,51.83186454439234],[-99.97933096676248,51.828471048595205],[-99.97386187858791,51.85647104769617],[-99.98467627216972,51.85797253204028],[-99.98387337389747,51.87708163879277],[-99.96507205011845,51.8922080444161],[-99.96648997222898,51.91392414492319],[-99.9777067431342,51.9226206410254],[-100.01214046205328,51.928039146168416],[-100.00915655308181,51.945759855477725],[-100.02597366306293,51.99442844919873],[-100.04314406746022,51.99715934132034],[-100.02924598304584,52.03961264864528],[-100.01493926005855,52.038482449881215],[-99.98228717313916,52.058710636197],[-99.97331064945257,52.023867737952905],[-99.95914294926467,52.0139407513612],[-99.96193925543082,52.002660954201396],[-99.94026125761478,51.975147335270115],[-99.95335317384385,51.96399175047046],[-99.95156965243926,51.93956323300188],[-99.93701765144678,51.89115355502541],[-99.91601257224643,51.88867994350699],[-99.91639715272476,51.86971855562936],[-99.89948208104816,51.85292724433906],[-99.90541025345813,51.84264943110465],[-99.89416515199616,51.8348364453476],[-99.90699584071957,51.824753132810976],[-99.91558886681041,51.79518993081935],[-99.93733286709663,51.79833195411373],[-99.95907854927427,51.79594464280137],[-99.9636300801292,51.77646765399101],[-99.93977426619074,51.76788053355203],[-99.93865276834596,51.75712653754515],[-99.95427517971596,51.71914134937779],[-99.95629648477494,51.7003547540536],[-99.94730438175392,51.67720204805804],[-99.92883318201623,51.67429233685419],[-99.92997927284375,51.6642260311983],[-99.91794885649232,51.65382724983346],[-99.89599807870968,51.64723954705233],[-99.86619407709784,51.64568725374607],[-99.86945116180895,51.63537665416329],[-99.84440855283091,51.62247634570445],[-99.8255511539133,51.60305343278708],[-99.8044035831917,51.60095224188043],[-99.81077237561458,51.57467482909546],[-99.80679848247131,51.56987814857362],[-99.7641622546122,51.57641284350695],[-99.74808836235461,51.58577794002809],[-99.7288616760009,51.61460054808261],[-99.7148549756232,51.60304244538151],[-99.71474409462154,51.5368814885727],[-99.57411819200844,51.535495662046834],[-99.43360808345346,51.53607714182526],[-99.43370662798088,51.44926363653506],[-99.12173848172031,51.4488728355877],[-99.11093848050453,51.408252138520574],[-99.11721507582607,51.397284927631844],[-99.10273245312597,51.38101874103473],[-99.11741486230048,51.36023805340922],[-99.09298325289608,51.32800134019375],[-99.07308315502193,51.2736540447625],[-99.05935594011572,51.25639253185018],[-99.04687737068977,51.26641984730319],[-99.02756765887293,51.26223113074321],[-98.97723856755078,51.19353223773926],[-98.9592451780507,51.19881024547288],[-98.95136196754883,51.175688251995346],[-98.92804896203153,51.177263347786315],[-98.94091507167724,51.21241204003398],[-98.94123747918283,51.2234366470369],[-98.91315597085375,51.23091865207824],[-98.91396784732618,51.24486604573761],[-98.90198966447466,51.25544935102892],[-98.87214336633014,51.25691324399837],[-98.85458664467477,51.27341574313226],[-98.84861804225343,51.22690543656607],[-98.85258375211144,51.220579941688676],[-98.84896176732727,51.194102345174045],[-98.87930236099257,51.166216753510064],[-98.87458647242067,51.14631632761339],[-98.86060707823131,51.131305943751514],[-98.86925767455094,51.09691573690368],[-98.86769394924778,51.076865546349815],[-98.84242284392452,51.101383348365474],[-98.82249928271733,51.106898549684345],[-98.78731940799186,51.104886130908305],[-98.77290935556513,51.12058005101086],[-98.75433006476436,51.113353143112505],[-98.7324498809825,51.12344393892083],[-98.72547625727161,51.10182373019766],[-98.70918108003511,51.081155727294494],[-98.69504224130115,51.08740543160652],[-98.64247367029918,51.093465735972465],[-98.64451227868423,51.11346655060061],[-98.67758127092377,51.12933492969415],[-98.6751702630814,51.13892755011976],[-98.65714646449585,51.14460423831612],[-98.65956694745896,51.16438533907988],[-98.64570845537692,51.161583551712134],[-98.65254077986938,51.185860751240085],[-98.60961036379443,51.17627443974688],[-98.59736117645885,51.18080104562699],[-98.5746682539043,51.201241039818235],[-98.55689087943794,51.205747631554566],[-98.54797695585371,51.214831752354286],[-98.56705824880568,51.22212013408467],[-98.58632665359167,51.24479605273592],[-98.56242494238533,51.27203195441192],[-98.56422627224623,51.28012704830597],[-98.59158136737668,51.28674943067401],[-98.62167995470963,51.2877048447331],[-98.64154257763063,51.29303663255672],[-98.69174286825809,51.285990428538916],[-98.70865376969402,51.294337849878424],[-98.72733427651781,51.294364832946506],[-98.73302688238614,51.30694435109595],[-98.75411777159117,51.314588842644156],[-98.75271614325013,51.34176872930035],[-98.77727846358918,51.370403450355816],[-98.77606017288349,51.38013942999512],[-98.79068156926405,51.39723314874468],[-98.81518176782724,51.38137663192753],[-98.81985796823585,51.407271539276735],[-98.81098198016342,51.41200084986289],[-98.81203535875828,51.42861495187799],[-98.80360045553242,51.448401152833355],[-98.77942236299556,51.46082984590555],[-98.76355774854244,51.464022435182144],[-98.78045677997461,51.49574683431441],[-98.78654685426083,51.53036713190398],[-98.7698334794825,51.53708833570106],[-98.7708333607907,51.54900873257612],[-98.73102546135493,51.565406046519186],[-98.73457299662581,51.57504648402645],[-98.73374046722367,51.58100364566942],[-98.75821824090924,51.59036744137255],[-98.78491944579591,51.5957739521253],[-98.79848664866189,51.61449593302375],[-98.7955997567701,51.62859874930504],[-98.81285304740231,51.6436029513813],[-98.82708127221967,51.67016763261028],[-98.81386315165837,51.67573564548055],[-98.82477938223526,51.69333964965894],[-98.84001407145492,51.701548143157225],[-98.84598795258776,51.71291224072579],[-98.87676648056484,51.7123140206044],[-98.87755837145455,51.75546625396053],[-98.73543991660159,51.755135963629414],[-98.73558590085939,51.885632686583264],[-98.59383526955004,51.88578055623138],[-98.59360015152399,51.82759661340051],[-98.45365350057831,51.82765972287668],[-98.37499020610936,51.829879210639405],[-98.36094384789278,51.827863910534994],[-98.36755284642437,51.807614147176864],[-98.35679315376026,51.784996345228976],[-98.34266947753856,51.789211640997344],[-98.31045814258007,51.77937934883306],[-98.31902666701924,51.76868004766454],[-98.33566353882254,51.78151603792815],[-98.35055314818425,51.76624184012269],[-98.37072192571985,51.76443960608777],[-98.369372340869,51.75204792966869],[-98.39128594893059,51.75295473973567],[-98.42147075549867,51.740973152875966],[-98.4405896440288,51.743241642107165],[-98.44952355242913,51.72558415189127],[-98.49990097137206,51.721898802072644],[-98.52053446381025,51.72196604947892],[-98.53934308447315,51.71134522342501],[-98.52851977042023,51.69799589136477],[-98.48018610996476,51.62653955690162],[-98.44431980699093,51.56789238628938],[-98.4442528841925,51.44892882144357],[-98.30354096376685,51.448914776020665],[-98.30372789184273,51.36154973905755],[-98.15932863926976,51.361639812868574],[-98.16128762938354,51.30292555105156],[-98.13987608612145,51.302786481899005],[-98.13954320165467,51.24399902035459],[-98.1161051530216,51.24376468025733],[-98.11573087022734,51.22929897088555],[-98.13956803582225,51.22911108625131],[-98.13935732212701,51.21473467957212],[-97.88380170355379,51.21517178591383],[-97.88429893618158,51.30352619463904],[-97.74363008200933,51.303521590092906],[-97.74268851886033,51.28705518762785],[-97.67431436852158,51.288705150509855],[-97.67268451626796,51.36265827426543],[-97.60236200861353,51.362626609069075],[-97.60227057021254,51.3916192650976],[-97.55521396325527,51.39174605054973],[-97.55605961680216,51.41329449395581],[-97.50933381584568,51.41302698646698],[-97.50947268922896,51.39170849631857],[-97.46229768659208,51.39173729469925],[-97.46205753365984,51.30403475377165],[-97.36827137265021,51.303184790367766],[-97.3208237439375,51.30264435114159],[-96.96311655291642,51.30352303584209],[-96.93644494100697,51.29833613280143],[-96.94292697617537,51.282981737236476],[-96.97212324197078,51.261192340939026],[-96.97496697596125,51.25177154307364],[-96.99361835825037,51.23959213944443],[-97.00889696723858,51.21440203242342],[-96.99930636287125,51.201611740589016],[-96.97785155316856,51.18583714520275],[-96.91950534092346,51.196541239888134],[-96.89830634860245,51.20519271743729],[-96.89556185281619,51.22315634697037],[-96.86544873749017,51.23369973744979],[-96.85447874238415,51.25456182893313],[-96.83290986313617,51.27024013918595],[-96.82562796447218,51.29161752566234],[-96.80231416582278,51.29113264209537],[-96.7870764368181,51.30077882916832],[-96.76270743542901,51.32558283154198],[-96.77326715887428,51.33323973616648],[-96.74566006341567,51.35472753752117],[-96.73706004608252,51.369077129219946],[-96.72114152796493,51.377150272238545],[-96.53241990880612,51.4433666948713],[-96.51964637438306,51.42702774956757],[-96.5126176633234,51.40134994254185],[-96.48733247000088,51.37408064099022],[-96.45658055680978,51.381722626227145],[-96.45705846782518,51.37038274076211],[-96.47188495656174,51.36729512775728],[-96.46721374903453,51.353658441233165],[-96.43177824478926,51.3379970315252],[-96.40818906959532,51.33935234427326],[-96.37957315883725,51.323956133057905],[-96.3486560649961,51.294667536546235],[-96.32841925292618,51.26271413986825],[-96.29229144823114,51.23250822550066],[-96.26190626854127,51.200401442815135],[-96.27305617038007,51.18966182723762],[-96.28739019436672,51.19080363257939],[-96.27102014216221,51.179850540754906],[-96.22772800512526,51.18357817945173],[-96.227588726025,51.1765703170789],[-96.24918080894273,51.16840324758419],[-96.23239495368206,51.153194049415916],[-96.26051792408039,51.140903784283196],[-96.27855704729242,51.15669807255215],[-96.28750073554843,51.15286874571092],[-96.32541034044522,51.18881882106485],[-96.35830944102452,51.18719394249771],[-96.38044903513251,51.17321133240501],[-96.39218003743787,51.15713553885608],[-96.40840838260405,51.15605484669912],[-96.50020969052281,51.133767621501406],[-96.63340233920555,51.052714768762186],[-96.74963124745263,50.985154721133696],[-96.80126537869013,50.959792958300696],[-96.88351857365572,51.0000771446422],[-96.95759395219764,51.03796423468971],[-96.9628854736854,51.032939223758035],[-96.94586737729719,51.00245423534536],[-96.92818597755357,50.99241493491199],[-96.9335900391809,50.96651874456408],[-96.949900452606,50.950936841874224],[-96.96350223929764,50.926406041474856],[-96.99130256936456,50.90011784470448],[-96.99382655770543,50.88259193581993],[-96.97627957406563,50.8578886375168],[-96.95690294540583,50.84980264406622],[-96.94663397586152,50.837768425869285],[-96.94918606306838,50.81665053316778],[-96.97192516173996,50.80217674352548],[-96.9827424701903,50.77987504432498],[-96.97814973762219,50.75972992635362],[-96.98701155004444,50.732811329211316],[-96.98169434703028,50.72397723978055],[-96.99588116465705,50.69416842794606],[-96.99752293970919,50.67872683442858],[-96.97571344137457,50.65461904671314],[-96.97429464083297,50.64681893793347],[-96.98795707634527,50.627835237366874],[-96.98429375993766,50.617941227924035],[-96.94088974125295,50.597776937992734],[-96.95376048054399,50.58787037723512],[-96.9830380662097,50.576402345721014],[-96.98913974105974,50.564136230569275],[-96.97356444250337,50.52730850205602],[-96.96591555073137,50.49896844069197],[-96.95262230355031,50.49162415077091],[-96.94960976929752,50.47798890316528],[-96.94961194550304,50.45449813724368],[-96.95501635503696,50.4422124256562],[-96.94571452556796,50.42931444869978],[-96.93571817220182,50.422029733062246],[-96.87271413517476,50.40045486258339],[-96.81248347479169,50.39733553966604],[-96.79619995313521,50.383891335905574],[-96.77664885303574,50.390445039514056],[-96.73051954284014,50.38842043844252],[-96.70073426272478,50.38960273702337],[-96.64080426987402,50.40285555410671],[-96.6344888295892,50.40745875805537],[-96.62016536321397,50.42301192656964],[-96.59780544288459,50.43027434618401],[-96.57437684359083,50.44824553542585],[-96.58302114598814,50.48205723650261],[-96.59837446967492,50.495093836410966],[-96.60670965724495,50.52072072641769],[-96.62757877129101,50.53389352614875],[-96.62940518268618,50.54756699354693],[-96.58303299768,50.54781819319485],[-96.58272149576032,50.58224578846486],[-96.57906264537974,50.58699773520245],[-96.59164274217511,50.60570663422071],[-96.59291095867604,50.629038046356236],[-96.6031547556884,50.66171974859438],[-96.565189674351,50.67097933593542],[-96.54806592150581,50.68030684570206],[-96.54513552919157,50.680290441147385],[-96.5296922766358,50.68034737585045],[-96.56779846544622,50.706472442584996],[-96.54063055979816,50.727688782477976],[-96.55062785862222,50.74102962868852],[-96.57347843237045,50.75029830884417],[-96.56263774127484,50.76360573649995],[-96.52557153865868,50.780436127741396],[-96.51631006525723,50.77637153875318],[-96.51831993897662,50.75957653564819],[-96.54466546497679,50.74147083771232],[-96.53605547357918,50.72429842281843],[-96.51625015057587,50.721269533191446],[-96.52552027670413,50.69081314740113],[-96.49542074367189,50.680095831839765],[-96.47728616153334,50.66689602818095],[-96.47402236203027,50.6551951430266],[-96.46029376569813,50.64687323932876],[-96.41134654113202,50.631673624969146],[-96.38938364754559,50.62120792675094],[-96.3748844718934,50.620069298667836],[-96.34102867736135,50.62444033907694],[-96.29701260984626,50.61341755454084],[-96.27748900914075,50.5939719999896],[-96.30700545257761,50.57498049108065],[-96.30104213676206,50.570749131905146],[-96.27160478911706,50.58941720932509],[-96.25541673888416,50.57889034497757],[-96.23331175360734,50.57369979673003],[-96.21534886251679,50.57552619830721],[-96.2454757639046,50.58099423093734],[-96.25827917563431,50.599646633959644],[-96.27978664137524,50.60533232510983],[-96.27861497291211,50.61485774480657],[-96.3104561740587,50.624457740676675],[-96.30437134672499,50.632196629777155],[-96.3327767638343,50.64468814389336],[-96.34412835682842,50.659267722489425],[-96.30639508666569,50.65526298593295],[-96.21391294317918,50.65461138162787],[-96.21465950417863,50.59181062826108],[-96.07543175289965,50.591510285786526],[-96.074956824765,50.57158732551288],[-95.94608358657565,50.57035354176783],[-95.94645855335813,50.48323068962917],[-95.87087997402053,50.48362264088618],[-95.5344280525277,50.48299928771785],[-95.53358189057565,50.4607947885557],[-95.53480590949218,50.36480117053766],[-95.35095785354999,50.36737404148066],[-95.25996700562887,50.370180644401344],[-95.26019965134302,50.395937545905724],[-95.15279423929509,50.39577284105429],[-95.15293204030317,50.55161984261628],[-95.15295299594892,50.78146762566463],[-95.15296784599123,50.94311869356026],[-95.15298421667036,51.11977508884815],[-95.15272380050753,51.330106394872004],[-95.1530239071834,51.542190898632164],[-95.15291476280767,51.745061770022126],[-95.15306466319817,51.969045262047175],[-95.15308540543653,52.179977897889145],[-95.1531003707733,52.33252676180841],[-95.15283235477509,52.630310062854015],[-95.15315109619927,52.840573105163955],[-94.97799815906222,52.94870058074312],[-94.73712767908594,53.09587350170109],[-94.52746431386191,53.22286487853448],[-94.26973452483203,53.37721974765052],[-94.64889461259281,53.37828129769871],[-94.96267173669524,53.37783456777977],[-95.14564452533192,53.378133577541924],[-95.22959473409637,53.37597663371647],[-95.52339548131725,53.37452703461782],[-95.84799792982962,53.37097644751713],[-96.00000001908558,53.3724064232836],[-96.3360342059228,53.37598462980329],[-96.63908956602096,53.377593755738424],[-97.00000000351746,53.377969142067144],[-97.38450804166524,53.37916241678645],[-97.62285667442391,53.37920426433463]],[[-97.0103935579655,52.362317263592516],[-96.912910396076,52.344806460701435],[-96.9118653297856,52.31370595167983],[-97.009342772593,52.33161805156742],[-97.0143261617386,52.353103049769025],[-97.0103935579655,52.362317263592516]],[[-97.0103935579655,52.362317263592516],[-97.05528005570787,52.3670478385841],[-97.06456544923833,52.379027729066316],[-97.01123380602613,52.37872817462016],[-97.0103935579655,52.362317263592516]],[[-95.37981158273135,52.17680951039658],[-95.36984694735739,52.161519446007404],[-95.39555641646147,52.16831005660935],[-95.37981158273135,52.17680951039658]],[[-98.05895273780104,51.96136634450865],[-98.05111493753859,51.95951424260254],[-98.04036329521051,51.944186485162966],[-98.06721007558603,51.950471628729645],[-98.05895273780104,51.96136634450865]],[[-100.67054632642922,52.73491655333082],[-100.6939619476087,52.73531193813942],[-100.69441539196747,52.74888141205767],[-100.67056825419841,52.7571382190097],[-100.67054632642922,52.73491655333082]],[[-100.68024437933533,52.84398953562207],[-100.66828718411577,52.837500653044984],[-100.64309525438023,52.84427134127791],[-100.63421459043353,52.82652608101467],[-100.65624949980592,52.82281153867928],[-100.6538488768591,52.81130283327736],[-100.6704434559081,52.808574149564556],[-100.69750445934302,52.83975213518064],[-100.68024437933533,52.84398953562207]],[[-96.34644175110569,50.838447325158704],[-96.29065323940355,50.83984166757372],[-96.29059446988175,50.81809449420682],[-96.35483878972214,50.81726483969192],[-96.34644175110569,50.838447325158704]],[[-96.7169218324518,51.80108923021764],[-96.68250627398987,51.801029081329666],[-96.65880249711941,51.79408236816994],[-96.65901627130651,51.765333525931595],[-96.67573106022131,51.754977946815075],[-96.6980312604725,51.775485429493045],[-96.70194955434441,51.78793323660197],[-96.7169218324518,51.80108923021764]],[[-97.29676905737298,51.91382664630194],[-97.28740235171334,51.89918644936506],[-97.27279395054241,51.89578522967072],[-97.26862247065263,51.88514800624833],[-97.30953286398602,51.88380482072205],[-97.34090752650918,51.91903349377659],[-97.31067701628179,51.926791187161434],[-97.29676905737298,51.91382664630194]],[[-99.58736395328599,51.996874945384356],[-99.57608817521262,51.96608214397805],[-99.57383614941455,51.94816934514901],[-99.57941604251124,51.938570949250696],[-99.57178886365999,51.923323140093856],[-99.61556744753324,51.9235892794061],[-99.63520858075302,51.914758365140024],[-99.62675146382209,51.97110042586636],[-99.60902610860036,51.97105972638312],[-99.59175357045163,51.98402713166556],[-99.58736395328599,51.996874945384356]],[[-95.44939685438356,52.026977824763684],[-95.44232647029102,52.03334913752217],[-95.40599893854774,52.01280533798341],[-95.40239601838721,52.02421174814782],[-95.36688475814289,52.02417293504996],[-95.36524415853577,51.99117644337979],[-95.45836784128507,51.990649246989115],[-95.47934965071242,52.006431548432175],[-95.44939685438356,52.026977824763684]],[[-99.21548947015843,51.55104883868263],[-99.20151007673485,51.55181994829754],[-99.19269472656609,51.531928474796764],[-99.19307375095443,51.50262699035659],[-99.20492476565678,51.502427920307454],[-99.20451958722201,51.47425286884979],[-99.26462078066783,51.47399396762679],[-99.26176374420966,51.52322884178974],[-99.24707257137709,51.52925363234116],[-99.23504467889826,51.553457028151556],[-99.21548947015843,51.55104883868263]],[[-99.80871437836001,52.84880274502786],[-99.78123204921611,52.88008493889185],[-99.78947464540207,52.884083554386436],[-99.7722241529428,52.90866895466179],[-99.75873737886894,52.92014915290118],[-99.76740206439355,52.930414731769226],[-99.73952154311299,52.942700045780086],[-99.74073876851381,52.95218055133308],[-99.760296938664,52.95976385628255],[-99.7962060718065,52.964827433633765],[-99.84892055540494,52.952772151973086],[-99.87833256963462,52.963652551480855],[-99.8984512542764,52.961840052383444],[-99.92736367029653,52.977991928515195],[-99.88963175153278,52.97775178548842],[-99.85471997221319,52.9637696063134],[-99.80318742167353,52.97504264670334],[-99.71932768777133,52.96284646834486],[-99.70076781074381,52.9476604049946],[-99.69269519296954,52.93282574557866],[-99.6703608891857,52.924791603653794],[-99.67852228602266,52.907785611360964],[-99.70812987365883,52.91027423790052],[-99.71409585077895,52.91776923678331],[-99.73705406288471,52.91525685417873],[-99.75297087812115,52.90738674112948],[-99.77067335498425,52.86690403361527],[-99.77939934152157,52.855411753861425],[-99.80871437836001,52.84880274502786]],[[-97.3597932591333,51.46026643148564],[-97.34889524651274,51.45257505148883],[-97.30267208639994,51.45315456321332],[-97.30215352033447,51.4375466336162],[-97.28634685757379,51.43174634089599],[-97.24251154601616,51.434730233082185],[-97.24118329909126,51.41862002851088],[-97.26742889359683,51.41281684527353],[-97.41744035694148,51.412013036894706],[-97.41749492760087,51.40391201446359],[-97.4644935756743,51.40349148751727],[-97.46509880619902,51.43249156861853],[-97.41757153769926,51.433010800781375],[-97.41842084800538,51.45285808905433],[-97.35921494951063,51.453165560604404],[-97.3597932591333,51.46026643148564]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.43437978742351,\"lat\":52.1624256230318},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4619\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4619045\"],\"csd_name_en\":[\"Division No. 19\",\"Unorganized\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Division No. 19, Unorganized\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-99.58736395328599,51.996874945384356],[-99.59175357045163,51.98402713166556],[-99.60902610860036,51.97105972638312],[-99.62675146382209,51.97110042586636],[-99.63520858075302,51.914758365140024],[-99.61556744753324,51.9235892794061],[-99.57178886365999,51.923323140093856],[-99.57941604251124,51.938570949250696],[-99.57383614941455,51.94816934514901],[-99.57608817521262,51.96608214397805],[-99.58736395328599,51.996874945384356]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-99.60232782976286,\"lat\":51.949392019495804},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4619\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4619069\"],\"csd_name_en\":[\"Waterhen 45\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Waterhen 45\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-100.85055350074028,52.529067332506614],[-100.8646388737004,52.542338444790445],[-100.867662845171,52.557638949864916],[-100.86051935551885,52.57098224730921],[-100.83145247457523,52.59091504548356],[-100.8347329391046,52.59822813889538],[-100.82058825110748,52.61214455726541],[-100.7757358596564,52.63768267743155],[-100.77511434563476,52.66770955461863],[-100.94465132325517,52.66715038385337],[-100.945221885715,52.8422500357868],[-101.11421580863929,52.84188121549096],[-101.11458984837816,52.75428971606238],[-101.1872261779931,52.75485572763377],[-101.18723818958189,52.73314451123053],[-101.16310086601715,52.73308002267933],[-101.16320061682988,52.66760566456172],[-101.13894760984661,52.66772769523274],[-101.13836251811976,52.653103696206266],[-101.11002491807587,52.65308911628671],[-101.1101466660219,52.63840357985808],[-101.08629877840357,52.63842783466127],[-101.08682860025056,52.48751877672646],[-101.08686299238943,52.47838629127797],[-101.09679171290894,52.478468692967034],[-101.11079472517494,52.47840197002895],[-101.11047825828166,52.391792229603034],[-101.13634345233083,52.39171452204449],[-101.13476888823006,52.34737178228506],[-101.15889179114846,52.34739470885243],[-101.15872569626164,52.33282242001594],[-101.20639194685812,52.33286826456468],[-101.20660488673788,52.31854888743732],[-101.20376671215266,52.31802980011957],[-100.82217335884289,52.31813618595241],[-100.82288701914077,52.47988406578844],[-100.8463349430137,52.498813875895934],[-100.8778116424642,52.49890251848072],[-100.8793512159703,52.51162841598531],[-100.86058815578139,52.52910064163364],[-100.85055350074028,52.529067332506614]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.98912140646355,\"lat\":52.55501280162257},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4620\"],\"cd_name_en\":[\"Division No. 20\"],\"csd_code\":[\"4620055\"],\"csd_name_en\":[\"Mountain (North)\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 20\",\"csd_name_fr\":\"Mountain (North)\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-94.71095545416914,56.34559864749993],[-94.70804491528258,56.345752900338404],[-94.70960153778724,56.34698438076659],[-94.71095545416914,56.34559864749993]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-94.70953396907967,\"lat\":56.34611197620165},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4623\"],\"cd_name_en\":[\"Division No. 23\"],\"csd_code\":[\"4623023\"],\"csd_name_en\":[\"A Kwis Ki Mahka\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 23\",\"csd_name_fr\":\"A Kwis Ki Mahka\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.54377800592054,48.99907568522989],[-102.54369420707346,49.013837606459155],[-102.56610938437608,49.013880998544764],[-102.56607613905472,48.99912202618588],[-102.54377800592054,48.99907568522989]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.5549140212281,\"lat\":49.00648551763286},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701018\"],\"csd_name_en\":[\"North Portal\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"North Portal\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.43961869909849,49.87211029775296],[-103.42803978383536,49.8720978134375],[-103.4283359910591,49.88693720604056],[-103.43962689296045,49.88696989769494],[-103.43961869909849,49.87211029775296]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.433906355307,\"lat\":49.87949761521385},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4702\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4702078\"],\"csd_name_en\":[\"Fillmore\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Fillmore\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.63079421696382,49.523845295733686],[-107.63065338919527,49.785682887905956],[-108.0373210994097,49.78572409336719],[-108.03694412121033,49.69837988639555],[-108.03774015850561,49.67959615264248],[-108.03740637869561,49.52453215890529],[-108.02320119786208,49.52384245290311],[-107.986933469972,49.523512267540326],[-107.63079421696382,49.523845295733686]],[[-107.74369439666211,49.73122249947728],[-107.73240926139675,49.73121508465773],[-107.73274055292445,49.72023592124621],[-107.74393931418759,49.72019769253226],[-107.74369439666211,49.73122249947728]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.8342027563037,\"lat\":49.654600463619495},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4704\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"4704028\"],\"csd_name_en\":[\"Wise Creek No. 77\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Wise Creek No. 77\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.50884240637453,50.859814687312834],[-101.64842711741731,50.860083704599255],[-101.78814382300597,50.858399692470826],[-101.90456038345489,50.85790779561502],[-102.00589147843252,50.85569689653976],[-102.00699094042366,50.781373732022345],[-102.00597610414243,50.679244589981565],[-101.64827619730097,50.68294409975046],[-101.50879368039081,50.68310989452072],[-101.50884240637453,50.859814687312834]],[[-101.93858021634689,50.70193400301697],[-101.92794376040113,50.70243041131202],[-101.92794160833206,50.69518459024384],[-101.94436243281352,50.694821301426146],[-101.93858021634689,50.70193400301697]],[[-101.70667796045906,50.836580312223035],[-101.71843046898003,50.83734788450076],[-101.71842370751563,50.85229728447468],[-101.69516604406903,50.8523135553938],[-101.6876340646414,50.83720604856493],[-101.70667796045906,50.836580312223035]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.75775897106955,\"lat\":50.76988623654776},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705047\"],\"csd_name_en\":[\"Langenburg No. 181\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Langenburg No. 181\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.8425785927596,50.74633282180448],[-102.81927326329954,50.74632784948353],[-102.81929873322213,50.761160191657055],[-102.84255249744292,50.761110429295925],[-102.8425785927596,50.74633282180448]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.8309185931077,\"lat\":50.753730097097915},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705062\"],\"csd_name_en\":[\"Killaly\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Killaly\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.90708132936922,50.195383895608565],[-104.91855763630487,50.185219749460146],[-104.89587020475784,50.184969805260266],[-104.90708132936922,50.195383895608565]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.90716972347732,\"lat\":50.18852448344299},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706017\"],\"csd_name_en\":[\"Rouleau\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Rouleau\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.16795915845405,50.3894441779343],[-105.14507667086883,50.3894019799015],[-105.14507829051573,50.39699062175695],[-105.16799071433539,50.39687419456228],[-105.16795915845405,50.3894441779343]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.15648591615994,\"lat\":50.39317863656919},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706022\"],\"csd_name_en\":[\"Belle Plaine\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Belle Plaine\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.5012385010485,50.57173760329578],[-104.89308570806756,50.571623305726256],[-104.89301449595546,50.309493392320036],[-104.48018239055514,50.309504790738984],[-104.48058859159313,50.56952511061837],[-104.5012385010485,50.57173760329578]],[[-104.81316500480747,50.43038190875117],[-104.82420393290478,50.440411033535504],[-104.80131156475547,50.44085552670634],[-104.81316500480747,50.43038190875117]],[[-104.68687219708166,50.52148375429678],[-104.65998771575947,50.52165140783536],[-104.62162378225969,50.5014139919017],[-104.59512885000666,50.49892015289754],[-104.53779589360062,50.49908103127167],[-104.52637731261196,50.48414000454291],[-104.5263419942938,50.46786916987769],[-104.50341625619404,50.47194395710426],[-104.50339907805008,50.44557556078825],[-104.4923928828804,50.44707452490162],[-104.49271688025122,50.41178634596712],[-104.57060372810126,50.41418614966285],[-104.57217161509142,50.39689228680336],[-104.68675469740161,50.396879506866725],[-104.68685505337787,50.44357620750452],[-104.70968075650315,50.44520924991777],[-104.72089515371323,50.44012918292277],[-104.77839806661945,50.434398022646356],[-104.7784028999308,50.46953702283292],[-104.75544748770304,50.4694960267165],[-104.75555864568531,50.484136881749436],[-104.7210786137432,50.48421688320148],[-104.72100163266359,50.513346040943276],[-104.68933998036043,50.51336988586739],[-104.68687219708166,50.52148375429678]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.70233602562375,\"lat\":50.43644193906567},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706026\"],\"csd_name_en\":[\"Sherwood No. 159\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Sherwood No. 159\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.44960370157567,50.46950679379465],[-103.43760158132203,50.48359450532102],[-103.46098790398104,50.48407641782184],[-103.44960370157567,50.46950679379465]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.44939772895958,\"lat\":50.479059238979175},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706041\"],\"csd_name_en\":[\"Sintaluta\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Sintaluta\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.4239129136719,50.74825620566871],[-103.42385011097178,50.73915390957762],[-103.41233927885467,50.73922249013935],[-103.41246773090077,50.75000877907945],[-103.4239129136719,50.74825620566871]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.41798012084965,\"lat\":50.74416965811358},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706046\"],\"csd_name_en\":[\"Abernethy\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Abernethy\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.94670828741536,50.83376679502867],[-104.08526628942015,50.83378409303351],[-104.22380889513502,50.83382560882469],[-104.22392629318963,50.792093849354096],[-104.21995256682548,50.79033360634187],[-104.10926940473789,50.79003140206119],[-104.11045249753661,50.78236884777533],[-104.03318548475919,50.77399715321453],[-104.01774688359573,50.77873165726766],[-104.00790359152158,50.770281252264056],[-103.95788918324187,50.7743789556469],[-103.91856327721784,50.79136391345671],[-103.92179769964405,50.71727560431573],[-104.10940925266375,50.71717940327363],[-104.10982807911067,50.74668768928175],[-104.22385099625879,50.74646808650303],[-104.22377977765564,50.70983677688389],[-104.10860931187722,50.709820043979896],[-104.10828248048306,50.67345633752349],[-103.94683501279965,50.67402790479198],[-103.94647229845695,50.659086970106806],[-103.80768804330847,50.65905523147181],[-103.67880878107576,50.6590441936919],[-103.67811120710464,50.679748089341075],[-103.64426948895901,50.67980136476425],[-103.6418156475391,50.679795285958726],[-103.62640767771796,50.67984367346136],[-103.63931294847295,50.70721447770298],[-103.65895650392393,50.72904158883648],[-103.67697937551634,50.741078550217544],[-103.67683261102127,50.83368038639156],[-103.8543045919853,50.83366951019601],[-103.85448437106479,50.809521006291966],[-103.91230371814169,50.80380749586307],[-103.91009295789337,50.819968936663706],[-103.92255026308216,50.83556463794047],[-103.94670828741536,50.83376679502867]],[[-103.71544725160739,50.762258071580035],[-103.7083559236408,50.76263986820751],[-103.70879829545241,50.76071531108192],[-103.6926873487788,50.75750069147422],[-103.69249169413291,50.74638810602365],[-103.71558656638166,50.753564550353815],[-103.71544725160739,50.762258071580035]],[[-103.7972850453258,50.77784973296589],[-103.82970786706547,50.805803065062904],[-103.80679427203668,50.80503746775217],[-103.80573460145068,50.78985708778927],[-103.79466730448638,50.77547620294733],[-103.77406894220057,50.771991554061685],[-103.77383224795705,50.75369427113382],[-103.80904055231363,50.75351020985522],[-103.80867084615932,50.76863540831389],[-103.81280570121834,50.76884529946124],[-103.82559922148094,50.77556690274449],[-103.83992849289709,50.77950553850491],[-103.8410133737131,50.783161247987536],[-103.81993597042143,50.77297805204249],[-103.80885547128184,50.7733329986706],[-103.7972850453258,50.77784973296589]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.90060587827617,\"lat\":50.74931612743172},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706048\"],\"csd_name_en\":[\"North Qu'Appelle No. 187\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"North Qu'Appelle No. 187\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.21676089324873,50.70287438183826],[-105.19371074296143,50.702535331187335],[-105.19370039488078,50.71145239563943],[-105.21674271630569,50.71721230371767],[-105.21676089324873,50.70287438183826]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.20612407878714,\"lat\":50.708637031820366},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706061\"],\"csd_name_en\":[\"Bethune\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Bethune\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.86339179017575,50.97930121359147],[-104.85727697280616,50.993900998091654],[-104.86818621600042,50.99360614954732],[-104.86339179017575,50.97930121359147]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.86295165966078,\"lat\":50.98893612041015},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706073\"],\"csd_name_en\":[\"Bulyea\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Bulyea\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.8541961951007,50.90011820034581],[-103.84252080052495,50.8989554217094],[-103.8421204557999,50.90645221460269],[-103.85419394420737,50.90647161486459],[-103.8541961951007,50.90011820034581]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.84809136400318,\"lat\":50.903008807478216},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706098\"],\"csd_name_en\":[\"Lipton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Lipton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.26029578510776,51.27069446382927],[-107.41001798082941,51.27106530148642],[-107.67891439320394,51.2708659958483],[-107.6777381652507,51.16279974864814],[-107.67863255858701,51.09645728749979],[-107.67776711337896,51.00921369572],[-107.53917949787161,51.00890608723886],[-107.30640679988163,51.00878871118648],[-107.26027463154449,51.009393909238554],[-107.26095247787647,51.14143645715056],[-107.25830314391877,51.212591062836154],[-107.26029578510776,51.27069446382927]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.46913456137838,\"lat\":51.14005286837341},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707066\"],\"csd_name_en\":[\"King George No. 256\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"King George No. 256\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.22107403300143,51.578317651901436],[-103.19764783039176,51.57884559150022],[-103.22111520692924,51.59071995847172],[-103.22107403300143,51.578317651901436]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.21327902344082,\"lat\":51.58262773395779},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709024\"],\"csd_name_en\":[\"Sheho\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Sheho\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.43123389157103,51.65217301004266],[-102.43193272130472,51.882087299395394],[-102.57224018511923,51.8814701942702],[-102.85722350051026,51.88141389241944],[-102.85722490617749,51.65220580598207],[-102.85562071227356,51.65219450453673],[-102.71443363852889,51.65194881480618],[-102.44271930287225,51.652182845633966],[-102.43123389157103,51.65217301004266]],[[-102.76273920548189,51.696694945230654],[-102.76272619840991,51.70691009020865],[-102.74846998573469,51.70688049598336],[-102.75056568250788,51.69651329449595],[-102.76273920548189,51.696694945230654]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.64417572800701,\"lat\":51.766871430690834},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709049\"],\"csd_name_en\":[\"Buchanan No. 304\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Buchanan No. 304\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.26687899528642,51.73632100135551],[-102.27923182609389,51.73634295697121],[-102.27904426987674,51.721383720295606],[-102.26686705177508,51.72137221655462],[-102.26687899528642,51.73632100135551]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.27300635273649,\"lat\":51.72887281066402},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709832\"],\"csd_name_en\":[\"Keeseekoose 66-KE-05\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Keeseekoose 66-KE-05\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.4093210704641,51.379276124033936],[-104.39740605919961,51.37923035216039],[-104.39743270374622,51.38704080431716],[-104.4093604073861,51.38283825311886],[-104.4093210704641,51.379276124033936]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.40263898449895,\"lat\":51.38222706802688},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710028\"],\"csd_name_en\":[\"Quinton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Quinton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.57801307850725,52.14389695993341],[-105.00429631957829,52.143743706459375],[-105.00499298153294,51.969023995228],[-104.98161528640969,51.96900470127757],[-104.98163579846832,51.881512808700805],[-104.55671330247237,51.8816410945935],[-104.55674629174301,51.96391918680495],[-104.57800578379575,51.96913120617309],[-104.57801307850725,52.14389695993341]],[[-104.74521552812037,52.0092733122042],[-104.72055427317524,52.00554419516689],[-104.72058101420588,51.998255103802265],[-104.74289756092165,51.99696488035408],[-104.74521552812037,52.0092733122042]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.78416730430614,\"lat\":52.01284380557105},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710056\"],\"csd_name_en\":[\"Leroy No. 339\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Leroy No. 339\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.96112967272839,51.262638678898995],[-103.96112691743586,51.27034909329681],[-103.96469044743034,51.2703507228102],[-103.97230105214993,51.26282602350217],[-103.96112967272839,51.262638678898995]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.9651344220532,\"lat\":51.265881758620004},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710836\"],\"csd_name_en\":[\"Muskowekwan 85-33\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Muskowekwan 85-33\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.91783618681171,51.49189377177764],[-106.9306636924102,51.48515193462091],[-106.90774745771077,51.485145017272984],[-106.91783618681171,51.49189377177764]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.91874911231089,\"lat\":51.48739690789051},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711028\"],\"csd_name_en\":[\"Broderick\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Broderick\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.14237544442831,51.37091356022797],[-106.14497040064781,51.36206898984014],[-106.13342573620301,51.36201126042591],[-106.13341850727883,51.37006954425032],[-106.14237544442831,51.37091356022797]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.13866380396122,\"lat\":51.36610147902759},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711038\"],\"csd_name_en\":[\"Bladworth\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Bladworth\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.43754820155158,51.445415610735],[-105.4396292339807,51.46073531933083],[-105.4521764499531,51.46069024976709],[-105.45220209888537,51.445400604969755],[-105.43754820155158,51.445415610735]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.44537317473119,\"lat\":51.452863116789814},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711041\"],\"csd_name_en\":[\"Simpson\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Simpson\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.42015986972459,52.07759627428436],[-107.4317576381953,52.07808576563113],[-107.43179167232516,52.06237448531169],[-107.41873692846852,52.06612581896676],[-107.42015986972459,52.07759627428436]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.4259076161891,\"lat\":52.070852628095466},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4712\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4712052\"],\"csd_name_en\":[\"Kinley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Kinley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.12282058632309,51.93233071555752],[-109.12280399108121,51.96899529153415],[-109.14589401545712,51.96898359449566],[-109.14550709804344,52.14350351195766],[-109.57398508432293,52.143448313104344],[-109.57398769462638,51.991329598664294],[-109.5729064110021,51.96899029851501],[-109.54845521668386,51.96897429384736],[-109.5482268024679,51.881693197794434],[-109.40630589118037,51.88160980873347],[-109.12287080120603,51.88165488976713],[-109.12288082827158,51.903112119331574],[-109.13479331617886,51.9105927973908],[-109.15807980491648,51.91085500432135],[-109.15864159873578,51.925427800789585],[-109.12282058632309,51.93233071555752]],[[-109.39526778771283,52.07331505066624],[-109.4013537497325,52.085147790800576],[-109.38348958256233,52.08517049652446],[-109.38344018075789,52.07353612391541],[-109.39526778771283,52.07331505066624]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.35302110668361,\"lat\":52.013239556658846},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713041\"],\"csd_name_en\":[\"Progress No. 351\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Progress No. 351\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.54338141074092,53.3866428027999],[-105.53023731951754,53.39337051481607],[-105.54336284807174,53.401703416329845],[-105.54338141074092,53.3866428027999]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.5389938594434,\"lat\":53.39390557798194},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715085\"],\"csd_name_en\":[\"Albertville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Albertville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.44560990245608,53.58345202817558],[-106.54146733746381,53.58331543509348],[-106.54828427099372,53.606052459259885],[-106.6052833864395,53.64034324883586],[-106.65642878679982,53.64195216408601],[-106.68665617526142,53.673036044484846],[-106.72859348220962,53.70233215077607],[-106.72378553169767,53.714600548729365],[-106.77217600660995,53.71527580259615],[-107.04822751367422,53.71499797428686],[-107.18531815201847,53.71520303397191],[-107.18512704422992,53.67783972854635],[-107.15642670441731,53.67769031902227],[-107.15752516119727,53.63406558366287],[-107.13324551771922,53.63394392981505],[-107.13370259666881,53.596732122581955],[-107.08424939784689,53.596239046236725],[-107.08326611141277,53.5585137985771],[-107.04728117398106,53.55805711325448],[-107.04684902809765,53.51029341210334],[-107.1347035626823,53.51098577474372],[-107.135314414197,53.530953025936704],[-107.17628679787256,53.531601604178334],[-107.18519515577542,53.54972341568824],[-107.18537498241724,53.45343570877838],[-107.03862168171825,53.45335040738778],[-107.03804711228697,53.366458508822035],[-107.02620321410248,53.3664714034473],[-107.02566488056914,53.19236887634257],[-106.99948003471762,53.19225811216108],[-106.86854608216849,53.19186220697962],[-106.8684678085053,53.22163420748712],[-106.72270963989003,53.22103919488165],[-106.72322442655545,53.19189540969744],[-106.44233221807409,53.191393394783205],[-106.44260451581468,53.36561270422924],[-106.44733900087338,53.36561840242354],[-106.4471172471025,53.470305160128504],[-106.44560990245608,53.58345202817558]],[[-106.89065550325847,53.53362959432658],[-106.87411960952137,53.52990609018426],[-106.87474967908476,53.51774172389496],[-106.88706261755489,53.51724384402085],[-106.89065550325847,53.53362959432658]],[[-106.61278790525326,53.36250830864945],[-106.5887747141626,53.36571100538153],[-106.58996664147318,53.35137766481776],[-106.61281590500325,53.351711001740256],[-106.61278790525326,53.36250830864945]],[[-107.02625937287583,53.4664222951043],[-107.03618182848014,53.456452216298494],[-107.06667899334045,53.45608305602989],[-107.06719298348006,53.4707998446042],[-107.03178942531352,53.4706496744285],[-107.02625937287583,53.4664222951043]],[[-106.76462469367705,53.36613911122587],[-106.76437382501868,53.33989838854039],[-107.00589783600223,53.340199760114984],[-107.00623565170909,53.44256429767039],[-106.86604851117242,53.441724084750895],[-106.76498984407995,53.44235225254521],[-106.76462469367705,53.36613911122587]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.77594543434562,\"lat\":53.457485090676066},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716051\"],\"csd_name_en\":[\"Canwood No. 494\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Canwood No. 494\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.92314086063641,53.62785411061077],[-108.15723561548351,53.62784486488358],[-108.15865057641255,53.606758988591615],[-108.17458597464062,53.598136756379056],[-108.23035098967954,53.53568804531268],[-108.23894616718925,53.51534397225741],[-108.2163910696248,53.49160177000701],[-108.19236113294784,53.50052112100856],[-108.18582880466037,53.51110608285923],[-108.14422620152853,53.51146113385908],[-108.14307973910132,53.49725160335836],[-108.06903047433514,53.49741353583079],[-108.06909766509627,53.46781329225214],[-108.09429581056246,53.47526505108033],[-108.11498578915506,53.46900785477779],[-108.14324326963161,53.47039784504929],[-108.14887028316035,53.48014134442988],[-108.17440489069742,53.49736875720058],[-108.20362278904594,53.469081866693685],[-108.22245306394315,53.463572161042975],[-108.23537546973708,53.4434500624506],[-108.21718405401325,53.43865067253487],[-108.21786499791483,53.3656159349528],[-108.19842828842287,53.36562709362766],[-108.19872428503102,53.19076529040473],[-108.10123146049573,53.19059877660629],[-107.76005879334144,53.190774806743555],[-107.75973094024472,53.36566512036621],[-107.77520311185152,53.36562309170195],[-107.77411428086388,53.45851958597145],[-107.7759741551646,53.54060721780121],[-107.92288731766484,53.54030242509887],[-107.92314086063641,53.62785411061077]],[[-108.08244600315443,53.30138345504134],[-108.07041098595103,53.299697699075416],[-108.06985139170637,53.29505961869343],[-108.08919845614315,53.29589047888855],[-108.08244600315443,53.30138345504134]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.99466586898691,\"lat\":53.39264012859113},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716062\"],\"csd_name_en\":[\"Medstead No. 497\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Medstead No. 497\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.64656830411192,50.166091119666156],[-113.6392251849383,50.15390199691017],[-113.62952487115957,50.16486053243578],[-113.64656830411192,50.166091119666156]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.63843945340327,\"lat\":50.161617883004034},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4803\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4803024\"],\"csd_name_en\":[\"Stavely\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Stavely\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.28887814448875,50.41171944387189],[-113.28908481838637,50.39532160109036],[-113.26170038248166,50.38999284421799],[-113.25547525744962,50.40444188243614],[-113.28887814448875,50.41171944387189]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.2738406431145,\"lat\":50.40065224630411},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4805\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4805006\"],\"csd_name_en\":[\"Vulcan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Vulcan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.74701998019736,52.09750329388478],[-114.7303898036713,52.08956142354513],[-114.72375683632283,52.100456721755215],[-114.74701998019736,52.09750329388478]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.7337222067305,\"lat\":52.09584047972838},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4809\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4809010\"],\"csd_name_en\":[\"Caroline\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Caroline\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.31890339219025,53.017872310484826],[-112.31890658425003,53.10512760580698],[-112.48942460942678,53.10502181031135],[-112.48945738424624,53.19238670485334],[-112.68441381715586,53.1923717956306],[-112.68448261611765,53.279600399006426],[-112.78187232481534,53.279497202564635],[-112.78189050159675,53.293831909391365],[-113.00000000750009,53.294139766542145],[-113.0499141559047,53.294171054293344],[-113.0498413226695,53.23565369439153],[-113.17175658054941,53.235945708164905],[-113.17173696212696,53.21276481045345],[-113.18428929255244,53.21260373073213],[-113.18407519418832,53.167914163539216],[-113.17060804212855,53.16757673607715],[-113.17169680948892,53.11975688542912],[-113.09854891378579,53.11972260944477],[-113.09790250118994,53.076307482397745],[-113.07426222344688,53.07609157071428],[-113.07282595418012,53.033316112909574],[-113.09764385618293,53.03301727324485],[-113.10013925653001,52.97409401403148],[-113.12449095970103,52.97417783997561],[-113.12431496471301,52.843420464003195],[-113.05178840863366,52.84340349474539],[-113.05179981424332,52.756052986887994],[-113.08849081292314,52.755801164999184],[-113.0756158956454,52.73610697223301],[-113.05178787206995,52.72322174455591],[-113.05156692914807,52.62342627497417],[-113.1477486993283,52.622737511775405],[-113.14771161294864,52.57926910546935],[-113.07563681048615,52.57945118517863],[-113.07578398927413,52.564818749341214],[-113.02768195308919,52.56467809922303],[-113.02775418962894,52.550398801922604],[-113.0000000166876,52.55030441937461],[-112.99063889018252,52.52676947527431],[-112.97098001131793,52.523516851054396],[-112.96661080725289,52.50562036174099],[-112.95624097986614,52.496573366235864],[-112.932071025501,52.4921406642193],[-112.78137009421617,52.49210758302332],[-112.78331228103649,52.51781106830527],[-112.81616380450359,52.53223306546104],[-112.8028386167031,52.5457206689875],[-112.80489580805015,52.55538504761494],[-112.77952850560094,52.56549616795015],[-112.78772011040343,52.57979790912075],[-112.67987990613427,52.57970000107655],[-112.67944611816331,52.638150929026104],[-112.59604527794488,52.63764471560217],[-112.59591224405486,52.66806911840248],[-112.39892108143685,52.667905780161874],[-112.39894909179738,52.68279805890493],[-112.3625490664783,52.68253558108234],[-112.36237133095636,52.726807529227635],[-112.32630109322645,52.727411510839566],[-112.32624707875426,53.01786600169242],[-112.31890339219025,53.017872310484826]],[[-112.78696312865364,52.78876743955266],[-112.78194436103396,52.78511667286023],[-112.79094640708311,52.7843400036051],[-112.78696312865364,52.78876743955266]],[[-113.050222589351,53.19244619029295],[-113.05719380372366,53.19244586250788],[-113.06162792428086,53.2000671234224],[-113.04990981526961,53.2001534878086],[-113.050222589351,53.19244619029295]],[[-112.42898376132808,52.78281403918893],[-112.44709108773817,52.78516990943623],[-112.4470959959791,52.79310429967631],[-112.42898376132808,52.78281403918893]],[[-112.47127615468506,52.92319794544365],[-112.45918541730697,52.923317595022155],[-112.45852092658744,52.914817127545895],[-112.4712383134997,52.914597909017715],[-112.47127615468506,52.92319794544365]],[[-112.97953758330375,52.57789590644805],[-112.98218352634028,52.594268403193155],[-112.95555831245156,52.59442410780398],[-112.95558658217186,52.57980779599446],[-112.97953758330375,52.57789590644805]],[[-113.0635767172657,53.01286170661949],[-113.05754369947195,53.018065715743134],[-113.02763433667567,53.01789589672613],[-113.02760631712799,52.989061098100265],[-113.05182370486774,52.9888613077953],[-113.05178848672197,53.003524400504055],[-113.0635767172657,53.01286170661949]],[[-112.8666088675664,53.03256875949976],[-112.86640916799591,53.03958946218871],[-112.80630770689675,53.04005778568072],[-112.7820630947296,53.03277949071874],[-112.7819933093252,53.01805690970867],[-112.76165451655109,52.995849835740444],[-112.80990197360674,52.996600865947784],[-112.80997421990538,52.9668863375267],[-112.84735465250168,52.969414564716836],[-112.84532570540803,52.98237572522472],[-112.85828002133418,52.98884410218142],[-112.88250858849898,52.98890330473095],[-112.88247405889847,53.01068336841094],[-112.89120728151472,53.02589897518159],[-112.8666088675664,53.03256875949976]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.7592110216424,\"lat\":52.91561567541707},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4810\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4810001\"],\"csd_name_en\":[\"Camrose County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Camrose County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-110.80992270321858,53.34317612227189],[-110.80973720467074,53.36556733876733],[-110.89172637387499,53.3655536287977],[-110.89554378965217,53.35043618918922],[-110.88300712083355,53.34332410621669],[-110.80992270321858,53.34317612227189]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-110.85103660160672,\"lat\":53.354530257767394},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4810\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4810042\"],\"csd_name_en\":[\"Vermilion\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Vermilion\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.02423695883544,52.97018097618316],[-114.0250587357109,52.967399633248],[-114.01413060706233,52.967459947911415],[-114.02247994803207,52.97066000727819],[-114.02423695883544,52.97018097618316]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.02093515344022,\"lat\":52.96860849668564},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811007\"],\"csd_name_en\":[\"Norris Beach\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Norris Beach\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.95138879150244,53.89339740150803],[-112.98831759019735,53.880049268755414],[-113.06717738544735,53.86197626885886],[-113.08166777725432,53.83435315964804],[-113.11059180761825,53.82127325569005],[-113.113059195545,53.80695757009037],[-113.1258487817278,53.79051905928499],[-113.1551906944808,53.774256394573705],[-113.12426330156988,53.77428690673542],[-113.12433219634913,53.71584070277647],[-113.17225830928747,53.71590699466203],[-113.18510582521559,53.70077939215294],[-113.18588391198179,53.6816153662614],[-113.21434481176375,53.657683177206806],[-113.28323409811837,53.657687468797036],[-113.28608310758972,53.644454453722915],[-113.31777731055016,53.63690095846883],[-113.32125518582566,53.62852256363122],[-113.29721837740908,53.61960146742648],[-113.29531695245254,53.57027448645842],[-113.34539919260185,53.57112651285985],[-113.37600959313794,53.5661483505693],[-113.3806413722072,53.55336456030904],[-113.3949065775522,53.55142806505922],[-113.39387453665074,53.517154656130444],[-113.34842249455805,53.513745990068834],[-113.34421868736271,53.48661358539264],[-113.3443056988399,53.36683990196829],[-113.04975500918653,53.36674339248907],[-113.04986959344197,53.36399942606545],[-113.00936810722814,53.36065255251723],[-112.97650381575053,53.36697230117127],[-112.8407608687245,53.36694179095213],[-112.84068479285767,53.410642640185976],[-112.85277118256029,53.41062186097994],[-112.85288349707847,53.46042052290101],[-112.87766809719585,53.46028689323553],[-112.87771647889234,53.46866598769755],[-112.90238077671277,53.46867707240042],[-112.90226837533183,53.483218592435115],[-112.95137997314052,53.48312825219385],[-112.95136318111118,53.524250648694576],[-112.95113560760285,53.62864925261823],[-112.92662651416569,53.628871201634745],[-112.92650170038485,53.64350207438843],[-112.90223789126544,53.643246737474264],[-112.90206634911415,53.657874012603784],[-112.87762755068377,53.657793287142766],[-112.87722678459141,53.71625550902955],[-112.92639050164945,53.71625709734993],[-112.92622480299774,53.77431729690796],[-112.95102778358292,53.77434539270843],[-112.95103784120475,53.78894813476985],[-112.95090993030232,53.81785337746305],[-112.95138879150244,53.89339740150803]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.09794999756055,\"lat\":53.566594648194325},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811052\"],\"csd_name_en\":[\"Strathcona County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Specialized municipality\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Strathcona County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-110.7052151967346,54.28034459800992],[-110.7551942203123,54.28238781672837],[-110.75518990210043,54.27702675450345],[-110.79306520137187,54.27581230033549],[-110.80545612958407,54.26063897555542],[-110.78019577849295,54.25340529484372],[-110.69287560138109,54.25342232074148],[-110.70520147924766,54.260592098715215],[-110.7052151967346,54.28034459800992]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-110.74835395197917,\"lat\":54.26627127525906},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4812\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4812009\"],\"csd_name_en\":[\"Bonnyville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Bonnyville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.38561735792439,53.73587066083163],[-114.38611317454972,53.733705721784084],[-114.37323813559857,53.73122607891935],[-114.37320939075634,53.73437490698296],[-114.38561735792439,53.73587066083163]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.37918999864881,\"lat\":53.733728717929424},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4813\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4813007\"],\"csd_name_en\":[\"Yellowstone\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Yellowstone\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-115.65200952906584,54.16277287308661],[-115.66464089821788,54.16607978406696],[-115.68634706989697,54.15446623990674],[-115.72560274458104,54.15234647194819],[-115.72756323655379,54.13737920380981],[-115.70192853850932,54.137237958326914],[-115.70153444365424,54.12378577597845],[-115.67603020091443,54.11608187989898],[-115.62496651860646,54.11608745700035],[-115.59958315206595,54.12211797162418],[-115.60030489575368,54.152207724866656],[-115.63560186525656,54.15227513692679],[-115.65200952906584,54.16277287308661]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-115.65760934644858,\"lat\":54.13808848026387},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4813\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4813030\"],\"csd_name_en\":[\"Whitecourt\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Whitecourt\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.27525839564292,56.27413149120627],[-117.29845928762263,56.25672448995379],[-117.32063585655192,56.24830081021156],[-117.35854367899661,56.24816865588494],[-117.35857418667081,56.21865532830907],[-117.34771787063227,56.21881456493147],[-117.34811755090294,56.19694241089262],[-117.32423696178877,56.19499928918486],[-117.30703948372616,56.20578632657399],[-117.28837769890748,56.205686858724505],[-117.2776825393316,56.20910190758626],[-117.28157835820967,56.263094114134404],[-117.27525839564292,56.27413149120627]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.31621180358614,\"lat\":56.228056839587246},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4819\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4819038\"],\"csd_name_en\":[\"Peace River\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Peace River\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.9729965873177,49.18064909722311],[-121.96407067176277,49.17974824027919],[-121.96038534470962,49.19316895890587],[-121.97326320094919,49.18718393717878],[-121.9729965873177,49.18064909722311]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.96707555993115,\"lat\":49.18553969634191},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909825\"],\"csd_name_en\":[\"Skwali 3\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Skwali 3\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.40301186595926,49.93610532303982],[-122.40345391178532,49.95206643411524],[-122.41949022891997,49.949388463932166],[-122.41817865134692,49.93465908023362],[-122.40301186595926,49.93610532303982]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.41094412169848,\"lat\":49.94314369968874},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909845\"],\"csd_name_en\":[\"Skookumchuck 4\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Skookumchuck 4\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.07345111587554,49.17665949889337],[-122.08380719807123,49.173101962247706],[-122.09242363365445,49.172409398288565],[-122.08940421980009,49.16881927930149],[-122.08372149500433,49.16914631316659],[-122.08127400786512,49.17267515511536],[-122.07345111587554,49.17665949889337]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.08547145928877,\"lat\":49.171618158151645},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909881\"],\"csd_name_en\":[\"Skweahm 10\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Skweahm 10\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.66946905993818,49.19974165343588],[-122.67175284926643,49.205785855936966],[-122.67832116479634,49.205583137611576],[-122.67825972340445,49.200314795264234],[-122.66946905993818,49.19974165343588]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.67434220762615,\"lat\":49.202727211926174},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5915\"],\"cd_name_en\":[\"Greater Vancouver\"],\"csd_code\":[\"5915830\"],\"csd_name_en\":[\"Katzie 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Greater Vancouver\",\"csd_name_fr\":\"Katzie 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.51105033008491,48.69537662515629],[-123.45446057189801,48.71471531979792],[-123.4180614509129,48.71475128905803],[-123.36921786338215,48.75009037503046],[-123.35637021517705,48.778030128391414],[-123.3902501650141,48.80107790768988],[-123.40803577245734,48.82137516632216],[-123.41341457932525,48.85293179931763],[-123.4085969085317,48.872461859565185],[-123.50156264454132,48.922640551909495],[-123.55221128784156,48.92884982027869],[-123.59352531010875,48.95055434855973],[-123.61925496548236,48.9578302826583],[-123.61160516152809,48.941090601738374],[-123.61240348090064,48.91913285431101],[-123.6251055833822,48.889467091941704],[-123.59480729825964,48.865144885730835],[-123.5773960840505,48.84602324813181],[-123.57515756454994,48.82030494465153],[-123.55915681024767,48.80459648761545],[-123.55289269818824,48.77824848748899],[-123.57084339136854,48.76624146072083],[-123.565037844978,48.754156118422934],[-123.53390610373343,48.725787805713814],[-123.51105033008491,48.69537662515629]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.49435166699737,\"lat\":48.82055458773004},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5917\"],\"cd_name_en\":[\"Capital\"],\"csd_code\":[\"5917027\"],\"csd_name_en\":[\"Saltspring Island\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Capital\",\"csd_name_fr\":\"Saltspring Island\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.35712180300476,49.00278449644885],[-123.4015996454538,49.00440664936279],[-123.50598617617433,49.01087386750338],[-123.56840098944235,49.01825724597034],[-123.59172665998904,49.013635710291254],[-123.61241280952794,48.989045984353496],[-123.63003378730417,48.981903980812],[-123.61925496548236,48.9578302826583],[-123.59352531010875,48.95055434855973],[-123.55221128784156,48.92884982027869],[-123.50156264454132,48.922640551909495],[-123.4085969085317,48.872461859565185],[-123.41341457932525,48.85293179931763],[-123.40803577245734,48.82137516632216],[-123.3902501650141,48.80107790768988],[-123.35637021517705,48.778030128391414],[-123.36921786338215,48.75009037503046],[-123.4180614509129,48.71475128905803],[-123.45446057189801,48.71471531979792],[-123.51105033008491,48.69537662515629],[-123.50843039311322,48.67935189349578],[-123.49998417685092,48.63794253310478],[-123.50001643807104,48.575594647598145],[-123.47502051520149,48.57985236196633],[-123.48389181435252,48.603803643201886],[-123.4813759517707,48.61333030755881],[-123.48061512308468,48.635461803666836],[-123.47155178976406,48.64467779862275],[-123.44725363087669,48.654494735947594],[-123.48986086764293,48.67119208284542],[-123.48913669147026,48.69138551865397],[-123.47980601615734,48.696919396439036],[-123.44597512171177,48.7003052540017],[-123.40063818095182,48.69054653425712],[-123.39368201323056,48.673270459383424],[-123.40737399503259,48.6721733317843],[-123.38836940068074,48.66211127836187],[-123.38960645080368,48.64594526975752],[-123.40204372196015,48.63397544674875],[-123.3951587146359,48.614009777366846],[-123.36921429387615,48.600321172174276],[-123.36927918408634,48.582575811092134],[-123.36181948509028,48.57429389341162],[-123.35984048394104,48.55052542123466],[-123.36481952267778,48.52026506619149],[-123.3432487394353,48.503602028859646],[-123.18901178379173,48.50283690064466],[-123.21797258720562,48.54745121092448],[-123.26836475914345,48.69356941963672],[-123.14819197740063,48.72816065605941],[-123.00849174495572,48.767100410623684],[-123.0084889621308,48.83121441992023],[-123.3185514123976,49.00006582379275],[-123.35712180300476,49.00278449644885]],[[-123.58416000865597,49.01123089291857],[-123.58242268177834,49.002578089589385],[-123.58503524862185,49.00459076175047],[-123.5876342419296,49.009200957397304],[-123.58416000865597,49.01123089291857]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.3010056662166,\"lat\":48.79876436004112},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5917\"],\"cd_name_en\":[\"Capital\"],\"csd_code\":[\"5917029\"],\"csd_name_en\":[\"Southern Gulf Islands\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Capital\",\"csd_name_fr\":\"Southern Gulf Islands\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.69894561955229,49.101001255452225],[-123.66455450476701,49.07469546849351],[-123.64436509552053,49.076375077051125],[-123.66964472268566,49.093115366344286],[-123.67357096440146,49.11063358741464],[-123.70718778379626,49.11042786774426],[-123.69894561955229,49.101001255452225]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.67740121145341,\"lat\":49.09454781604033},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5919\"],\"cd_name_en\":[\"Cowichan Valley\"],\"csd_code\":[\"5919813\"],\"csd_name_en\":[\"Lyacksun 3\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cowichan Valley\",\"csd_name_fr\":\"Lyacksun 3\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.80249952700807,49.28351983962553],[-124.82354953808105,49.28391812078223],[-124.8446929258481,49.31153363815544],[-124.85845612585179,49.322125777629246],[-124.88256576266541,49.322443777785395],[-124.88339173811329,49.33233685807275],[-124.91342645661075,49.32886301599094],[-124.89396439340786,49.31140630513733],[-124.88912895672688,49.29753172854176],[-124.88213320670494,49.293710905881014],[-124.85538347235473,49.278910621510285],[-124.85311892213697,49.26924810699944],[-124.82692797220713,49.26949389167436],[-124.8256012069239,49.26946492123957],[-124.79995027476124,49.27445513877091],[-124.80249952700807,49.28351983962553]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.85800666229444,\"lat\":49.29846479570339},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5923\"],\"cd_name_en\":[\"Alberni-Clayoquot\"],\"csd_code\":[\"5923037\"],\"csd_name_en\":[\"Alberni-Clayoquot E\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Alberni-Clayoquot\",\"csd_name_fr\":\"Alberni-Clayoquot E\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.89642199722996,49.12878799608914],[-125.8945741256882,49.13204099319603],[-125.90294906600087,49.132033655007106],[-125.89904303116967,49.128793033536],[-125.89642199722996,49.12878799608914]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.89833528247858,\"lat\":49.130697255792086},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5923\"],\"cd_name_en\":[\"Alberni-Clayoquot\"],\"csd_code\":[\"5923825\"],\"csd_name_en\":[\"Tin Wis 11\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Alberni-Clayoquot\",\"csd_name_fr\":\"Tin Wis 11\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-126.05704039179504,49.79370792222367],[-126.05810422887826,49.77107145444185],[-126.10317660635194,49.709040281956064],[-126.13873377701825,49.67197103772286],[-126.09771034645262,49.67141693771763],[-126.10291875651228,49.68380812305783],[-126.10125057377496,49.70868341688446],[-126.0722173585481,49.74705915844551],[-126.05617748796168,49.7514517904253],[-126.05407788838893,49.76707155885295],[-126.04301738772865,49.76725314495208],[-126.04185140230669,49.793463882028036],[-126.05704039179504,49.79370792222367]],[[-126.11623538446271,49.6846072043592],[-126.12275920910865,49.68282582995175],[-126.12270867008344,49.68675597810172],[-126.11623538446271,49.6846072043592]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-126.08614109245771,\"lat\":49.72559446456069},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5924\"],\"cd_name_en\":[\"Strathcona\"],\"csd_code\":[\"5924025\"],\"csd_name_en\":[\"Gold River\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Strathcona\",\"csd_name_fr\":\"Gold River\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-126.937951427428,49.98711726426814],[-126.9380215773479,49.99091137754751],[-126.94346255290544,49.98889318630642],[-126.937951427428,49.98711726426814]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-126.93981185256045,\"lat\":49.98897394270736},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5924\"],\"cd_name_en\":[\"Strathcona\"],\"csd_code\":[\"5924833\"],\"csd_name_en\":[\"Oclucje 7\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Strathcona\",\"csd_name_fr\":\"Oclucje 7\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.34192663783601,50.449119766174675],[-121.34500945529186,50.4492057757873],[-121.34499725200145,50.445251907418644],[-121.34207250604557,50.44513019216733],[-121.34192663783601,50.449119766174675]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.34349857770769,\"lat\":50.44719416180166},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933810\"],\"csd_name_en\":[\"Chuchhraischin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Chuchhraischin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.66273833071237,50.34648188974346],[-121.65369101592837,50.32718737944003],[-121.64581564847936,50.32779326121885],[-121.6447403041051,50.34602027585212],[-121.66273833071237,50.34648188974346]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.65206462123437,\"lat\":50.338064838559745},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933868\"],\"csd_name_en\":[\"Spintlum Flat 3\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Spintlum Flat 3\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.78598648681593,51.07917987525417],[-119.77615740989218,51.075855569776365],[-119.77371569869699,51.080524936987786],[-119.78598648681593,51.07917987525417]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.77861986513503,\"lat\":51.07852012733944},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933889\"],\"csd_name_en\":[\"Squaam 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Squaam 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.00033476542127,53.000282401289816],[-125.45617647733464,53.000729235986746],[-125.7508057492116,53.00039502033532],[-126.00038611182336,53.000163903105246],[-126.249703418515,53.000086831037976],[-126.60910991847187,53.00027962116089],[-126.63559664430167,52.98426984339121],[-126.62372384254776,52.971493365063594],[-126.6460628730723,52.9419256960442],[-126.62430070285654,52.93513795006263],[-126.61143816152965,52.917287764708576],[-126.5977598826983,52.91348365187543],[-126.58734841708925,52.87938137640959],[-126.61216448929162,52.86875132229345],[-126.63919710165801,52.846008621547206],[-126.61276411250135,52.83437896369178],[-126.60111948731556,52.81297915973887],[-126.57321600607003,52.818559616613385],[-126.55351406805534,52.81525261858884],[-126.55585367722286,52.79235403680663],[-126.5302796867322,52.775151521139136],[-126.48618973949117,52.77939107517258],[-126.4761783398758,52.78595598424857],[-126.45411007755843,52.784395599438156],[-126.4433233096473,52.795442232136665],[-126.41615760962871,52.79422956804581],[-126.4040582639702,52.79897464332375],[-126.3702492463461,52.82290787038648],[-126.33565614945125,52.829532509575856],[-126.33353332240911,52.75160063357048],[-126.3494922664339,52.73180637601789],[-126.34603401272322,52.70208554511459],[-126.36112167277784,52.706934242475285],[-126.37857355202297,52.69500612169373],[-126.41138912897408,52.688856521165285],[-126.41658039558612,52.66149068441607],[-126.44567406918718,52.65416824778073],[-126.41306682056238,52.614748894165295],[-126.39631908375667,52.60257084968177],[-126.41048459245917,52.59322791035469],[-126.3846766269082,52.57832831426968],[-126.38413436231511,52.568365606412634],[-126.35884190165248,52.53504940125863],[-126.34436701545879,52.5245160437336],[-126.31798781165791,52.518335917733],[-126.300805185537,52.545311581170715],[-126.27040579190992,52.541211112972576],[-126.26119491574184,52.53023089479569],[-126.2444340078327,52.52473353549154],[-126.22007345273839,52.49629532264844],[-126.19778243735541,52.49996820553183],[-126.18362101071354,52.52051931670501],[-126.1540105448312,52.54563493383257],[-126.13776795790878,52.549863017265984],[-126.13602534040112,52.57691345691149],[-126.1182910689641,52.58812078342507],[-126.08418432977926,52.59170520962176],[-126.06687408769797,52.579792287883095],[-126.04678464313517,52.581572726770595],[-126.0065756524715,52.60212236125144],[-126.01070456078207,52.61383841565258],[-125.98799414203098,52.6193019655404],[-125.95817331882651,52.60297838703999],[-125.93742858144799,52.6222702475465],[-125.88492910903965,52.628168921176766],[-125.87101421636824,52.633630116721555],[-125.84839497643473,52.62440631546369],[-125.86654561880326,52.61060401952495],[-125.85056860904163,52.576747020876915],[-125.82416997565278,52.57699381074658],[-125.82653189150442,52.55806423786051],[-125.80900080841558,52.54062035475816],[-125.79002887134503,52.53381314404062],[-125.79935912825837,52.52523375669548],[-125.77829805571986,52.51124993386581],[-125.75409549418777,52.50795023384664],[-125.74592271575278,52.49724649523239],[-125.75846131163037,52.48687925318412],[-125.73517764311802,52.47983875126089],[-125.69999022934493,52.49214176965512],[-125.67807871807408,52.492563257383516],[-125.62045876803441,52.51115192801753],[-125.59570455232871,52.504716024803535],[-125.5680993815923,52.50421543673684],[-125.53013695937129,52.49701324396757],[-125.49477223819862,52.480567993457846],[-125.47212418219394,52.48128040114259],[-125.45601831964863,52.47154138247754],[-125.45741541109626,52.4584601400022],[-125.47213717075147,52.45542207328151],[-125.48938222094937,52.43196509971716],[-125.48521981028763,52.40831460157382],[-125.46641476310292,52.398774617864234],[-125.4511336648572,52.4048052881098],[-125.42969316276698,52.404512638651276],[-125.40648571546649,52.39535599992009],[-125.38404476602277,52.395726024611015],[-125.35864715049296,52.38069414606079],[-125.35907097869094,52.366491005082004],[-125.34371562113631,52.34494182439657],[-125.34947695158152,52.33718530364352],[-125.3828098102662,52.32956318244654],[-125.37791354616385,52.31747468104522],[-125.40059175431152,52.30828104400194],[-125.41930459882512,52.28881777406132],[-125.4209053210381,52.280477775665275],[-125.43940268730785,52.276159461942996],[-125.45517702105269,52.28705111501505],[-125.47746974876188,52.28009560524301],[-125.49042040001163,52.24964390906996],[-125.51094328874439,52.24687485926008],[-125.50266766064097,52.22926205387739],[-125.48568233616814,52.227841438790115],[-125.45780548182952,52.214258234561825],[-125.45135843865236,52.20455320444736],[-125.46262365596158,52.186923332107476],[-125.48272764980854,52.17755367674965],[-125.54559161023137,52.16742255981973],[-125.57294704559762,52.17305126316797],[-125.57366788561832,52.15801928301634],[-125.5992242699103,52.15846994266355],[-125.62986122973788,52.13962544409657],[-125.64633397804728,52.1374730761425],[-125.66884336766145,52.122034349207574],[-125.67388565755294,52.10917141758724],[-125.66191023140631,52.10038452246694],[-125.66514343591301,52.07282446188021],[-125.65909722623113,52.06056285341237],[-125.6442663383108,52.05204247206942],[-125.62336741784712,52.04876867128219],[-125.60596072892443,52.056988849270255],[-125.57960170978929,52.05557332008385],[-125.59098796195424,52.02691228443806],[-125.59979424560863,52.0229966933935],[-125.60256127234489,52.00638880936049],[-125.61632122050058,51.98786005530697],[-125.60469547077432,51.96836098626564],[-125.58584579617718,51.95166764150104],[-125.5892361721603,51.94272219562645],[-125.57481475640193,51.931499469107635],[-125.5752915616659,51.913363220227716],[-125.5440543474884,51.91046566757824],[-125.52973109253915,51.92047313259931],[-125.5393021538727,51.93309594956509],[-125.51550133918234,51.93392891398247],[-125.48747494152117,51.915820482757795],[-125.50132089856974,51.87841562338193],[-125.51362421888264,51.86820168744108],[-125.46630755431973,51.86417711310886],[-125.45920790446827,51.85045566126847],[-125.46300707566125,51.84046679186469],[-125.42781247497696,51.841795533290146],[-125.40627975611542,51.8381372122755],[-125.41671443280659,51.82669124454266],[-125.37945561966197,51.7893275378019],[-125.34887095580558,51.790663401527574],[-125.32803015602151,51.78012903758956],[-125.2898255076537,51.771799851975366],[-125.27446515482043,51.77238638750106],[-125.2547145578096,51.765080665151245],[-125.23774585460627,51.74858542674402],[-125.25489290491866,51.73233032984968],[-125.25654760214688,51.72323051253667],[-125.23507740309402,51.69999536540443],[-125.24710687519016,51.679673054972945],[-125.24539228548979,51.66487782429203],[-125.22896025081442,51.64690839436928],[-125.23288209994813,51.640487318108406],[-125.2920231577417,51.6093305128626],[-125.29603158045298,51.589394858995284],[-125.2689447891404,51.57722616655648],[-125.23789230389853,51.572068734946896],[-125.23564235238067,51.561332534358456],[-125.26323318995395,51.552143976943746],[-125.26676831789153,51.54066457314678],[-125.25229175902633,51.52687237254429],[-125.25973308849369,51.51177756993779],[-125.28899033051033,51.504829285405435],[-125.27866040429069,51.48652638088329],[-125.28956318517386,51.475600352361205],[-125.33783983553307,51.48533618197484],[-125.34520140872091,51.47890895614666],[-125.31163352614317,51.45939880668658],[-125.32693638093639,51.45364512085922],[-125.3413706776126,51.4263278853025],[-125.33856416051238,51.4090546806275],[-125.31458138912699,51.38984985810303],[-125.26666799255864,51.37685835117752],[-125.2510043459237,51.393740654261244],[-125.21460040354457,51.3922946360909],[-125.19726497410547,51.39963736980626],[-125.1771115835742,51.39857993897598],[-125.16076936842394,51.37586433233011],[-125.13118588449427,51.364069327746215],[-125.0938315460599,51.35923793038456],[-125.07569885501644,51.35252851450486],[-125.06192941082985,51.35739127072659],[-125.04170365212435,51.35213287035329],[-125.00900702949681,51.34971769623187],[-124.9750140600268,51.34130828783997],[-124.96529312931656,51.328250530363235],[-124.93031073001161,51.32850737307765],[-124.91262876197443,51.332506179606554],[-124.88787485614019,51.33039189594755],[-124.87908656615392,51.32092700459487],[-124.8402982927418,51.31075290063331],[-124.79976342171618,51.30542415964032],[-124.78226459900762,51.28908924234411],[-124.76679851562584,51.243487543614776],[-124.76203153469957,51.238223843384816],[-124.71469104915623,51.225604613713486],[-124.68661496602925,51.20445219775651],[-124.67675497345581,51.21924759818128],[-124.65581761374123,51.207150088093954],[-124.61244702999755,51.1956175996796],[-124.60357256494932,51.187781136937915],[-124.5808260539096,51.181084987398926],[-124.54480489931305,51.17954292167599],[-124.52453079669048,51.1698538645005],[-124.49840249133157,51.16654172814206],[-124.43378308315984,51.14839911071161],[-124.41984269589891,51.157271073508916],[-124.42984090983181,51.168873245896556],[-124.40248995359144,51.188115045080984],[-124.36640592982705,51.19603047223394],[-124.37604214669675,51.17317311755905],[-124.37597315014284,51.142674119520635],[-124.35088365988182,51.14692466809792],[-124.29731995627125,51.13743392124945],[-124.26897006611378,51.139178564136515],[-124.24527098416738,51.14852771734544],[-124.18532611043514,51.13529324129548],[-124.1680281074249,51.126024133137],[-124.17482056602269,51.118220021404035],[-124.17026127551793,51.08811629503376],[-124.15989144661354,51.077776445024945],[-124.17316800610236,51.06148374504955],[-124.1552040243606,51.036632669892114],[-124.1376832211082,51.0306625155265],[-124.11390114136803,51.01497609186621],[-124.08714760676375,51.00969932361545],[-124.0906314068886,50.991710284645386],[-124.0734255975108,50.98507374943566],[-124.05994498581431,50.958892056702105],[-124.0276964735825,50.94437187795774],[-123.99579815672352,50.96271144263831],[-123.9827146248136,50.96265502486339],[-123.94344192820655,50.94634474051879],[-123.9366551480512,50.93618494589851],[-123.89420855066021,50.94005205465318],[-123.88187565262668,50.94860085447902],[-123.86498751493396,50.93996940222842],[-123.83829662214049,50.93441544239112],[-123.82724221839956,50.92409390150282],[-123.83510537916483,50.91279235438576],[-123.82355681570235,50.90428795148071],[-123.80459000264946,50.91118003322391],[-123.75870693273436,50.9050174458285],[-123.75821747490323,50.88346399214995],[-123.73700070159691,50.88718537016974],[-123.66218832374228,50.880379108329834],[-123.66392235772287,50.89609379990588],[-123.65507689447628,50.901492428394945],[-123.62878672696203,50.89530606048673],[-123.6070904871157,50.901569832553115],[-123.59394249385105,50.92185909417191],[-123.57743508264086,50.931330650581366],[-123.55258591683375,50.9281359056256],[-123.51572665236284,50.94704333846514],[-123.51262669143358,50.95408272436729],[-123.4517481928313,50.98080406115071],[-123.40225953785124,50.98822981320807],[-123.38381852394737,51.004324566146146],[-123.37148723094421,51.0028994197516],[-123.35956387849178,50.9904078993158],[-123.32547588160264,50.991387193860376],[-123.31383998318856,50.98125773698956],[-123.29452643032907,50.99461293858488],[-123.24344186612224,51.00039390213633],[-123.25519443655944,51.025465136843216],[-123.24928221089621,51.04395478479966],[-123.25543519911766,51.068299113639505],[-123.27034002701131,51.08076768837137],[-123.35282781745389,51.10382966176572],[-123.38821907063631,51.109564943207296],[-123.4181159188649,51.12188670230062],[-123.44046312945473,51.12402856318974],[-123.49803843002827,51.14333784312046],[-123.50933383489703,51.13993657078924],[-123.54800800106068,51.160390088008455],[-123.55297016494686,51.175620428389045],[-123.58661272363831,51.2022609984444],[-123.59476599569446,51.227568398061194],[-123.58644890183719,51.277780395376986],[-123.60994930154678,51.309627686879004],[-123.63392547362275,51.38683009384811],[-123.62984099464697,51.39202819548961],[-123.66180091008641,51.42524248512057],[-123.67143411784109,51.44040610250432],[-123.70487601318439,51.463173487350325],[-123.7081769845125,51.46979739223875],[-123.68268769165118,51.49452889657],[-123.67434227727985,51.52105189541682],[-123.6899737009425,51.53505620959932],[-123.69915939473708,51.56531349006148],[-123.71141547306502,51.57993159450214],[-123.69586940984763,51.59260419523316],[-123.72798370367062,51.59387460357663],[-123.73964478448852,51.636850097326636],[-123.74873850596974,51.651295893284086],[-123.74959211116315,51.6690779013375],[-123.72134878795333,51.681312492373785],[-123.71103710800574,51.706095206926285],[-123.69687961566054,51.72257179758121],[-123.6820886976566,51.723520397464284],[-123.65334348990356,51.74594600303726],[-123.6500662119456,51.779004705489484],[-123.67009831719496,51.78976030788677],[-123.65790230554883,51.804654607751445],[-123.67888769145229,51.81785289496721],[-123.67355401629655,51.82675209332658],[-123.68926250679466,51.85281288214932],[-123.69733009657634,51.89358661320096],[-123.68088719690456,51.91741079463999],[-123.66832028907338,51.928231909052656],[-123.6627130111207,51.953626989457675],[-123.68682420227034,51.966810896838616],[-123.68311920656674,51.97613670660267],[-123.6922955081011,51.99328505754491],[-123.6722637764211,52.00174819736806],[-123.67505050564553,52.009690690001605],[-123.65255159023184,52.01373439347264],[-123.64849110087646,52.0242036949185],[-123.60966841068468,52.02852050430073],[-123.55051545907395,52.06814646712864],[-123.55302985757827,52.08793437109183],[-123.56856854071954,52.080884459755886],[-123.61638115375797,52.07699356464181],[-123.65732110341605,52.08986690213382],[-123.67593928488466,52.10406059027928],[-123.69359450878878,52.1406798062548],[-123.71388669242648,52.14839339483769],[-123.72067959557451,52.159794200193865],[-123.7475398833029,52.167500595911605],[-123.76251651207106,52.16650790788055],[-123.79014420421582,52.18517498387761],[-123.82645030918133,52.18149910131333],[-123.86172909632879,52.23184730485345],[-123.88553148490844,52.24297369757448],[-123.90984801954187,52.278608795140954],[-123.93139409158147,52.2855033040441],[-123.9397367818153,52.301065792386694],[-123.97424969611441,52.31370990668734],[-123.99640258246576,52.315600405563494],[-123.99941074191591,52.50137809779426],[-123.99743106715047,52.501379369766624],[-123.9979484998439,52.59460718582249],[-123.99676546085888,52.66625410057702],[-123.9937818626612,52.70171096370615],[-124.00279900121478,52.71280063992337],[-124.00316957687416,52.86400407916076],[-123.99524707109418,52.877607626722614],[-123.99846962295656,52.97113613882265],[-124.00071231110805,53.00064787367661],[-124.25056403562861,53.00028482887033],[-124.50000954453623,52.99992545364157],[-124.75017008787252,52.99998495611374],[-125.00033476542127,53.000282401289816]],[[-123.91507615451997,52.151209207370755],[-123.91285063054764,52.1502183439158],[-123.91486085607619,52.14919527476454],[-123.91686437420566,52.15029557172605],[-123.91507615451997,52.151209207370755]],[[-124.06170131395878,52.201885263781],[-124.06330168246524,52.202099115549],[-124.05695527717502,52.21137759338737],[-124.0564135285759,52.2059870722269],[-124.06170131395878,52.201885263781]],[[-125.15872964943783,52.361591867798225],[-125.15478711047318,52.359936355243214],[-125.1532294006088,52.35685326166338],[-125.1617140178469,52.35839876271999],[-125.15872964943783,52.361591867798225]],[[-124.30853978281671,52.17644983390821],[-124.30854430698275,52.17322257345659],[-124.32138428761206,52.17305712980847],[-124.32134902822945,52.17716651746337],[-124.30853978281671,52.17644983390821]],[[-125.15337939744084,52.97360423642607],[-125.15336865390343,52.96673905625429],[-125.1656423106537,52.966544434992315],[-125.16573771912627,52.97376473283631],[-125.15337939744084,52.97360423642607]],[[-124.16828995897424,52.27945781776803],[-124.16803211757197,52.29747671216837],[-124.16182885685608,52.29747381932383],[-124.16142365852096,52.28649371743732],[-124.16828995897424,52.27945781776803]],[[-125.41150407916275,52.91579440379916],[-125.4112797726369,52.9275882045433],[-125.39962262136692,52.927821533889094],[-125.39982601114995,52.91299367212445],[-125.41150407916275,52.91579440379916]],[[-124.28403288624409,52.4828316403575],[-124.28924545662487,52.497375961588766],[-124.2773946145096,52.497504194881806],[-124.28403288624409,52.4828316403575]],[[-124.29606939520339,52.20801127398951],[-124.29580724385802,52.20029177358561],[-124.32549460230878,52.20013513606979],[-124.32597983148727,52.2079566897338],[-124.29606939520339,52.20801127398951]],[[-125.05299725311139,52.371624181354306],[-125.053144363967,52.38608122127545],[-125.02915340988359,52.37954577623825],[-125.05299725311139,52.371624181354306]],[[-123.83360664758588,51.48599721599271],[-123.83090641149894,51.47389987933871],[-123.84559853766022,51.47341969310267],[-123.84570443203481,51.48223947134164],[-123.83360664758588,51.48599721599271]],[[-125.26159664694259,52.44385837504546],[-125.28671528785023,52.44263650102946],[-125.28621764426099,52.456373853437675],[-125.26144518359536,52.45567058719251],[-125.26159664694259,52.44385837504546]],[[-123.9457219552726,51.46329782779071],[-123.94666240208072,51.47689440410865],[-123.92563165182807,51.47633745105001],[-123.92545589520537,51.46112418861021],[-123.9457219552726,51.46329782779071]],[[-125.10692982280437,52.281151891721244],[-125.13081507083557,52.2829645564962],[-125.13144156017165,52.29739241932738],[-125.10787504933103,52.29746996347798],[-125.10692982280437,52.281151891721244]],[[-123.97003289303089,52.13221896252316],[-123.95324302089398,52.146166511910856],[-123.93414659474432,52.145707024949694],[-123.93540795041088,52.135210579666484],[-123.97003289303089,52.13221896252316]],[[-124.28248856048116,52.31324100203864],[-124.28668523137785,52.32771989415237],[-124.26282443326197,52.3279930326995],[-124.26322469429101,52.31327855758128],[-124.28248856048116,52.31324100203864]],[[-124.19742356224522,52.29980238734552],[-124.24509467469676,52.29832074703846],[-124.24512600058684,52.31315761429759],[-124.20913056840946,52.3134632932478],[-124.19742356224522,52.29980238734552]],[[-125.30513371579546,52.479849214526],[-125.34314303751866,52.48874386880205],[-125.34138201498749,52.493432077890745],[-125.30540723553841,52.49323874447201],[-125.30545410337892,52.486038085322434],[-125.28135284857994,52.486260597851526],[-125.28059024349882,52.472572202739016],[-125.30393935274442,52.471163821236516],[-125.30513371579546,52.479849214526]],[[-124.10490414124165,51.41110442379957],[-124.11975842383063,51.40857065794117],[-124.12491332822026,51.41623983885483],[-124.14204497584181,51.42778461320696],[-124.05644720208167,51.42880696609407],[-124.05622347513639,51.44644543978883],[-124.04441242070253,51.44648688556643],[-124.04489339637568,51.42496869823858],[-124.05630301975539,51.42481687982414],[-124.06306894878868,51.42077223193804],[-124.06207113387902,51.4139306053969],[-124.07868888873084,51.41295458365458],[-124.07891410663923,51.420265186448596],[-124.08566724711432,51.41119507516973],[-124.10490414124165,51.41110442379957]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.73173391580859,\"lat\":52.12357103734443},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941039\"],\"csd_name_en\":[\"Cariboo J\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Cariboo J\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.30513371579546,52.479849214526],[-125.30393935274442,52.471163821236516],[-125.28059024349882,52.472572202739016],[-125.28135284857994,52.486260597851526],[-125.30545410337892,52.486038085322434],[-125.30513371579546,52.479849214526]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.29308380878255,\"lat\":52.479035696654584},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941840\"],\"csd_name_en\":[\"Squinas 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Squinas 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.15337939744084,52.97360423642607],[-125.16573771912627,52.97376473283631],[-125.1656423106537,52.966544434992315],[-125.15336865390343,52.96673905625429],[-125.15337939744084,52.97360423642607]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.15958381727752,\"lat\":52.97016695038166},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941862\"],\"csd_name_en\":[\"Salmon River Meadow 7\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Salmon River Meadow 7\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-132.27563219168783,53.66712340860571],[-132.26039582954752,53.68000100638452],[-132.3087936220093,53.6796226980473],[-132.3087067973448,53.66666159497554],[-132.27563219168783,53.66712340860571]]],[[[-132.2996051027893,53.616824403811684],[-132.30714709328942,53.62061280783356],[-132.33632265547746,53.61500139710385],[-132.33643407227422,53.60031391915365],[-132.2869140174092,53.60194063840734],[-132.2996051027893,53.616824403811684]]],[[[-132.18029194156978,53.69561058076365],[-132.1946809167827,53.68858935073528],[-132.20987009225686,53.66545887439981],[-132.19150790184116,53.665704007573936],[-132.18299991045225,53.68172601995514],[-132.1398855787004,53.688541110968494],[-132.1507671304077,53.705998711875544],[-132.17131910028075,53.70907066619188],[-132.18029194156978,53.69561058076365]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-132.24056290690373,\"lat\":53.661845092672095},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5947\"],\"cd_name_en\":[\"Skeena-Queen Charlotte\"],\"csd_code\":[\"5947030\"],\"csd_name_en\":[\"Port Clements\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Skeena-Queen Charlotte\",\"csd_name_fr\":\"Port Clements\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-127.61519990259696,55.2569269001848],[-127.59060393153705,55.25216489526014],[-127.59091347378784,55.26327545449499],[-127.60386683220909,55.26343352665291],[-127.61519990259696,55.2569269001848]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-127.59996907553702,\"lat\":55.25835917271206},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5949\"],\"cd_name_en\":[\"Kitimat-Stikine\"],\"csd_code\":[\"5949811\"],\"csd_name_en\":[\"Hagwilget 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kitimat-Stikine\",\"csd_name_fr\":\"Hagwilget 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-127.6533642975157,55.272362488696416],[-127.65262943806154,55.28830768018129],[-127.70411469501546,55.28842651207604],[-127.70391655539228,55.2598713118093],[-127.67571815358747,55.25868209455093],[-127.68361940240449,55.2536983713205],[-127.65369189873287,55.24824200965361],[-127.6533642975157,55.272362488696416]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-127.67684169672447,\"lat\":55.271343477347564},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5949\"],\"cd_name_en\":[\"Kitimat-Stikine\"],\"csd_code\":[\"5949812\"],\"csd_name_en\":[\"Gitanmaax 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kitimat-Stikine\",\"csd_name_fr\":\"Gitanmaax 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-128.42862965978972,54.62228705598386],[-128.43963182164978,54.62240729254564],[-128.43930116064024,54.596168614066706],[-128.40746480581117,54.597519779404585],[-128.40772638461723,54.621992314884274],[-128.42862965978972,54.62228705598386]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-128.42371687991687,\"lat\":54.60952822527159},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5949\"],\"cd_name_en\":[\"Kitimat-Stikine\"],\"csd_code\":[\"5949844\"],\"csd_name_en\":[\"Kitselas 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kitimat-Stikine\",\"csd_name_fr\":\"Kitselas 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-124.19292295075212,54.467750663756476],[-124.18105347173437,54.460926857268745],[-124.15757409481212,54.46110527710293],[-124.15749355378856,54.475808866050464],[-124.19169372288668,54.47514632907096],[-124.19292295075212,54.467750663756476]]],[[[-124.19339822520547,54.47519426861736],[-124.18115618745472,54.48640042828611],[-124.18177445030005,54.497359094385395],[-124.23483291102411,54.5003772743148],[-124.23235045682789,54.48363646027754],[-124.25656808950424,54.48240764157585],[-124.2561085498514,54.46774241054189],[-124.30246782268671,54.46490663358452],[-124.3022807128181,54.45589552064161],[-124.27161406092151,54.44850793037717],[-124.25714436354922,54.43942314011843],[-124.2310438592373,54.438815640584835],[-124.23096759677652,54.453434310118155],[-124.25102165914826,54.460901950953904],[-124.20201216865895,54.46770317534567],[-124.19339822520547,54.47519426861736]],[[-124.26294240518891,54.45699461451006],[-124.26419392008206,54.44978920316563],[-124.27414348831839,54.45256674947758],[-124.2742886496557,54.45753591908348],[-124.26294240518891,54.45699461451006]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.22784015736998,\"lat\":54.47056528594023},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951013\"],\"csd_name_en\":[\"Fort St. James\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Fort St. James\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.6474269264197,53.952115476642525],[-125.65989905281567,53.95185746679927],[-125.66166200273202,53.94495130020485],[-125.6490712907348,53.9449404007872],[-125.6474269264197,53.952115476642525]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.65447674921666,\"lat\":53.94845793776442},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951824\"],\"csd_name_en\":[\"Skins Lake 16B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Skins Lake 16B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.39714160562602,53.5914237257774],[-122.38810077117945,53.62753982859552],[-122.34010340720181,53.645535856653666],[-122.32209659853066,53.65796460419328],[-122.32507965906989,53.68316441334355],[-122.35856967210964,53.69200791537118],[-122.37971791149783,53.70970921732228],[-122.40473216501744,53.71839500322484],[-122.41391496877267,53.77856069271975],[-122.43018779511549,53.80939575983584],[-122.44829416839147,53.83392213782852],[-122.48408101768678,53.84306074393819],[-122.48801584812836,53.86626601659588],[-122.46154889909576,53.88050183707905],[-122.4623174191388,53.89202188756995],[-122.51816905129857,53.90729753429215],[-122.52106551012453,53.941586965038105],[-122.54327809805207,53.94175591307219],[-122.54315228614347,53.92746367112867],[-122.64194046577117,53.92786949284658],[-122.60403464970042,53.9132028622079],[-122.60508709105935,53.891299439788405],[-122.62907569336302,53.8912568273552],[-122.6276583073737,53.87657189261858],[-122.70600872524197,53.880045944931375],[-122.70579794032997,53.842048143291706],[-122.71817431967709,53.84176550818027],[-122.71438819867258,53.82245537903028],[-122.73352433007915,53.81294071238148],[-122.7309470260017,53.80018430328441],[-122.71694870155845,53.79130769351182],[-122.70840531468815,53.77508970643766],[-122.715251132832,53.74963345419641],[-122.71000883300462,53.722278663793325],[-122.7144463272721,53.70933686353472],[-122.70502192783444,53.689917763558654],[-122.7266574076723,53.67436396231499],[-122.70095873930822,53.66288765742273],[-122.69952781370748,53.6535989659562],[-122.67138953434336,53.64498688187713],[-122.68558672312068,53.61363715631117],[-122.68157602096127,53.5957285174497],[-122.49183391317338,53.591957413004955],[-122.39714160562602,53.5914237257774]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.55132200473044,\"lat\":53.739836436005966},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5953\"],\"cd_name_en\":[\"Fraser-Fort George\"],\"csd_code\":[\"5953044\"],\"csd_name_en\":[\"Fraser-Fort George D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser-Fort George\",\"csd_name_fr\":\"Fraser-Fort George D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-128.49319187198287,59.92303796680387],[-128.4939094081969,59.92567020808006],[-128.50262152534404,59.923637622078424],[-128.49319187198287,59.92303796680387]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-128.49657426850794,\"lat\":59.924115265654116},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5957\"],\"cd_name_en\":[\"Stikine\"],\"csd_code\":[\"5957813\"],\"csd_name_en\":[\"Lower Post\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian settlement \\/ \\u00c9tablissement indien\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Stikine\",\"csd_name_fr\":\"Lower Post\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.29557553013461,65.21764574687683],[-123.3300371318374,65.25924240155793],[-123.58432693601353,65.22466225747335],[-123.53560207684664,65.16413872182859],[-123.2789094966239,65.19747945106671],[-123.29557553013461,65.21764574687683]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.4317023963965,\"lat\":65.21142143397861},\"year\":\"2021\",\"prov_code\":[\"61\"],\"prov_name_en\":[\"Northwest Territories\"],\"cd_code\":[\"6102\"],\"cd_name_en\":[\"Region 2\"],\"csd_code\":[\"6102003\"],\"csd_name_en\":[\"D\\u00e9line\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Chartered community\",\"prov_name_fr\":\"Territoires du Nord-Ouest\",\"cd_name_fr\":\"Region 2\",\"csd_name_fr\":\"D\\u00e9line\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.5954237980123,46.63141163938586],[-53.581988569466326,46.62888723623408],[-53.58522424201037,46.63915688536901],[-53.5954237980123,46.63141163938586]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.587545536496336,\"lat\":46.63315192032965},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001120\"],\"csd_name_en\":[\"St. Shott's\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"St. Shott's\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.26499126613796,47.466178084351945],[-53.25308682021407,47.477509205162974],[-53.21825570012716,47.49867628626211],[-53.198700244077635,47.505018069437014],[-53.16651611845531,47.52543826727112],[-53.15263614398067,47.5401935792934],[-53.144463207045206,47.548857474216824],[-53.176129408046116,47.54360646362167],[-53.186966178401256,47.53072839674692],[-53.22480068723736,47.512662291046915],[-53.24371771926959,47.51616984863857],[-53.240290378331395,47.509419527527626],[-53.253846300967886,47.496870750263305],[-53.27409559708355,47.46498452730496],[-53.26499126613796,47.466178084351945]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.2115387305505,\"lat\":47.5104179042493},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001441\"],\"csd_name_en\":[\"Division No.  1\",\"Subd. N\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Division No.  1, Subd. N\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-52.716799934436445,47.677772028890466],[-52.735087183258464,47.6936719821664],[-52.75906655172328,47.68850094253682],[-52.790310591659754,47.689439985461945],[-52.794485419924975,47.685165473059186],[-52.793739803921305,47.67561080652655],[-52.78286465260535,47.634006779683716],[-52.780863436047966,47.62560548478301],[-52.75490508190893,47.63083514951719],[-52.74136753136894,47.62721525631287],[-52.711530429976094,47.62879361683858],[-52.72492841508241,47.64404160445939],[-52.703528282539494,47.66114520195851],[-52.72073020191414,47.66833319914365],[-52.716799934436445,47.677772028890466]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-52.75289275101298,\"lat\":47.65965831233139},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001509\"],\"csd_name_en\":[\"Torbay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Torbay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.7007949522992,46.92025008933218],[-55.70078568389765,46.86138618273624],[-55.66595271736223,46.87960513587619],[-55.64095892445612,46.880585148947354],[-55.62042550952247,46.897119236449285],[-55.60070177957959,46.90389108224807],[-55.60451291365486,46.919993342177975],[-55.66714060587059,46.92074400147014],[-55.7007949522992,46.92025008933218]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.66014523636564,\"lat\":46.89952838488526},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1002\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"1002013\"],\"csd_name_en\":[\"Lord's Cove\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Lord's Cove\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-56.08620948719489,47.47410412886624],[-56.07626890440179,47.46983453880653],[-56.05910414385667,47.481077889847505],[-56.06665240416244,47.49194341055456],[-56.087568008649335,47.48625276191495],[-56.08620948719489,47.47410412886624]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-56.07453098813653,\"lat\":47.481226420099965},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1003\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"1003010\"],\"csd_name_en\":[\"Seal Cove (Fortune Bay)\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Seal Cove (Fortune Bay)\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-56.15605632010619,48.52732659550078],[-56.14816270028298,48.54748631584547],[-56.145036774112484,48.56953851525852],[-56.13800434308112,48.57485006900699],[-56.14662308943461,48.59867844156472],[-56.16172550658303,48.61376832223023],[-56.127535985652926,48.632565529607376],[-56.12382654257234,48.64565385759037],[-56.10273499912723,48.667455353025176],[-56.11376143383946,48.68187663672468],[-56.142011838580665,48.70690418782923],[-56.15087808104753,48.72017314575105],[-56.179576810189076,48.72982273580189],[-56.16976185483382,48.74091846368888],[-56.17249179884874,48.75337633584997],[-56.16348227280506,48.76764134054198],[-56.167384698321136,48.77733499411106],[-56.20061966673268,48.783787917371086],[-56.239728880564435,48.798258057383826],[-56.25664390742536,48.81519498576365],[-56.30467126756088,48.81778538022281],[-56.31242358820789,48.83326126814004],[-56.32697194632375,48.84307244981897],[-56.35155997616982,48.848188592436784],[-56.35310776272557,48.867284187740324],[-56.333491315872145,48.87732059773214],[-56.33096092051405,48.88710387721044],[-56.30143462922717,48.91065403509817],[-56.310673038675276,48.92611608497933],[-56.299846366924484,48.94060798028815],[-56.28375095965273,48.95167249941962],[-56.26940562774891,48.973560551962244],[-56.26861680662101,48.98313556396407],[-56.28406148609882,48.99369544633643],[-56.294429866618245,49.010049150127266],[-56.29185089393312,49.02485611750903],[-56.2689136836166,49.03338044733371],[-56.256178273823586,49.048331672763055],[-56.27045723259533,49.05719013371936],[-56.29948978473708,49.03636923275938],[-56.33246227791879,49.03316279543305],[-56.35498649495987,49.03681739197487],[-56.40976136741715,49.024005998036984],[-56.4347226919602,49.03085008981583],[-56.47168189523482,49.010512070135064],[-56.495463357969385,49.0093861937689],[-56.50243651571637,49.02400096384555],[-56.49162092874269,49.032181988867386],[-56.509460500476465,49.05231266892487],[-56.49550844140758,49.06877773581178],[-56.50574400886004,49.09323693707692],[-56.53551934275946,49.10233674935707],[-56.56281260351848,49.09834631350235],[-56.582552231957855,49.10203730029881],[-56.633807751667064,49.13965319595049],[-56.67437534429998,49.15258469555685],[-56.698615797763296,49.12763974072843],[-56.69008972307932,49.123896912702726],[-56.687066884430806,49.10555883915501],[-56.702978596800044,49.08800423571263],[-56.71821185187525,49.07803277618507],[-56.72048387855798,49.06170361072886],[-56.6933739483548,49.047000993265485],[-56.694648177101385,49.03518129448656],[-56.74449161903713,49.00076748265841],[-56.7796419395275,48.98212405115059],[-56.80286741807647,48.96462241345649],[-56.82735824171316,48.95090779234782],[-56.84754125505941,48.94492793051771],[-56.848091692942724,48.927882627225685],[-56.882444465514915,48.90681212970692],[-56.93624746655014,48.91137630784832],[-56.95355362918867,48.89586898425732],[-56.95165278899439,48.875452940722376],[-56.975171377725054,48.86500390828374],[-56.99458526340797,48.8718676751125],[-57.02789847232024,48.85882752205611],[-57.05059791723215,48.84559493942451],[-57.06045847447765,48.851768079497695],[-57.10366165901526,48.835977819979824],[-57.093179733632546,48.85680785897179],[-57.14397051720518,48.85469273397836],[-57.14924792279236,48.880063253475285],[-57.17940030679899,48.88805933837501],[-57.204452630266445,48.88436993550274],[-57.23345191230996,48.8741551835299],[-57.24820629341777,48.8911612377461],[-57.30033688547625,48.85979824533792],[-57.33616757824796,48.85726969288238],[-57.382346210783204,48.8384638790725],[-57.395828150354035,48.80445997802777],[-57.393094532633775,48.79538588879273],[-57.41819779678446,48.763053729154436],[-57.42320476024082,48.74276833564866],[-57.41945786357578,48.716851372443394],[-57.46889982819258,48.70598173178846],[-57.486316256701635,48.69871464141232],[-57.502766664656534,48.66957380124261],[-57.49277815948893,48.65242442227294],[-57.45730824486881,48.64590798827395],[-57.44648263738137,48.631612986196906],[-57.44498002821265,48.611333172745276],[-57.42833222375632,48.59886746412612],[-57.49308479344889,48.582214128241226],[-57.47805224298759,48.571309945581994],[-57.42744219239976,48.57887813324802],[-57.40510789858124,48.573019149447944],[-57.412504650259116,48.55533442881],[-57.43771079464796,48.54228113759551],[-57.40456919363866,48.53215647590253],[-57.39289184198689,48.52221822293509],[-57.41037534362994,48.51485021388751],[-57.46855136885508,48.50807358873029],[-57.490632876877044,48.511337225307685],[-57.50809953106814,48.50676774423646],[-57.555486013783,48.50224152242815],[-57.57911061683502,48.488026228610835],[-57.60935131873649,48.49602779316345],[-57.62487625627796,48.49472246080771],[-57.66716113654455,48.50473979267223],[-57.678744850121,48.48882772148044],[-57.696879599792204,48.48006840421173],[-57.678281608832854,48.45700539078916],[-57.657952491132214,48.455943558177005],[-57.61796193234288,48.47132977030465],[-57.597603307469264,48.460476178094574],[-57.61163912540696,48.444816416749134],[-57.56767423826603,48.442038837695414],[-57.5510649831421,48.4289426433052],[-57.570035523679806,48.414097718914334],[-57.593668925479676,48.38195793837676],[-57.63031443089657,48.36104020021064],[-57.63359703425231,48.3469093132074],[-57.66890960389031,48.32601558462229],[-57.737839140570046,48.30790183074771],[-57.76843451513355,48.31260204570869],[-57.79252424533446,48.321202155953046],[-57.81834395564059,48.33480118402236],[-57.83870065548428,48.33610940674574],[-57.85648575503538,48.32693343967495],[-57.87069456547338,48.31021500382454],[-57.89943547732251,48.295517815422215],[-57.91968724508043,48.27333665681627],[-57.948472236518406,48.26663827899948],[-57.97015881827604,48.25713947363594],[-57.968035566365124,48.243660398402106],[-57.92855170535061,48.24407969655291],[-57.921646351138904,48.22389866180349],[-57.858807516928444,48.226337842134726],[-57.82243388683291,48.22323304825702],[-57.786683993392714,48.23710551453161],[-57.75408544170273,48.236900253463624],[-57.73743297798523,48.24077036707528],[-57.712272610943295,48.238791538933334],[-57.70986930533177,48.25004422903294],[-57.69105154268341,48.25005912697717],[-57.68290583083403,48.26212837114394],[-57.646183322266964,48.26528460194785],[-57.63540841656567,48.272371790618195],[-57.632602282656144,48.28583650430721],[-57.59846985597591,48.28823747283161],[-57.57425989170442,48.30295353711238],[-57.57105142486297,48.322791688078595],[-57.57719481274957,48.33776007713483],[-57.5610163466419,48.35895587040417],[-57.54471374170987,48.36699090424828],[-57.51289093065737,48.35820104039542],[-57.4869378815563,48.341115226733216],[-57.4731347463826,48.33903535189962],[-57.44247971960647,48.35841699996799],[-57.416800842626664,48.379558378764436],[-57.374415366977395,48.385977523936035],[-57.315438163009695,48.41224341169172],[-57.332844186906094,48.423401133574856],[-57.332327065957884,48.43520907421807],[-57.27559911413745,48.4576943022699],[-57.246595963144095,48.4744226015145],[-57.227148704463744,48.46647350298655],[-57.218214226981644,48.454655448402335],[-57.223317060666716,48.439025647876036],[-57.28775263584081,48.38879132853661],[-57.29954594541842,48.3759874749458],[-57.288473313453494,48.36712723705839],[-57.26367208763181,48.37320109022878],[-57.20848052553811,48.40815102043483],[-57.19054692521963,48.41389522456129],[-57.170594152140666,48.40672950168181],[-57.201007445457755,48.39042594167673],[-57.17506647953247,48.35784935306898],[-57.12389802247885,48.3643629271274],[-57.033316310061664,48.36969981269455],[-57.021074390875306,48.35804429478111],[-57.01510908195803,48.32585695614605],[-57.026896906728,48.314731363177934],[-57.01866632755232,48.30398755027383],[-56.988519978753075,48.29492867484966],[-56.97132472836091,48.29847697006946],[-56.944662654145176,48.310393407518646],[-56.92636406931314,48.32721631470269],[-56.899647790612114,48.32394613072946],[-56.86982561595581,48.30691483337387],[-56.84789317730158,48.308567935797896],[-56.81240222637801,48.32395936279321],[-56.778705719452894,48.34319280126267],[-56.77207854554151,48.361637402144936],[-56.753296066815686,48.364872759172286],[-56.751893859327986,48.34910808399853],[-56.728372346419505,48.34291435942913],[-56.71247466895023,48.35408477231885],[-56.67648997535827,48.36734485427399],[-56.67411100017648,48.39006539107682],[-56.664270447466286,48.402417246826765],[-56.632358688029434,48.42167341436679],[-56.62370301333411,48.43098490989255],[-56.59314955692775,48.433252043095855],[-56.60171559822397,48.459066917785464],[-56.59028880088351,48.47443157282361],[-56.5625160993393,48.48797867755222],[-56.53405184213441,48.50861549641452],[-56.52228571324044,48.52565009367507],[-56.506747605945826,48.5273963693581],[-56.45929282732599,48.523094682351974],[-56.444735777782334,48.514914545065416],[-56.41862410847781,48.51713306269566],[-56.38106321125967,48.51093690204784],[-56.36825608795221,48.50244230646955],[-56.34129420475713,48.49881872746157],[-56.31858364603806,48.500858383549605],[-56.28380087255621,48.49228140738693],[-56.2632185341683,48.50433133948092],[-56.250859541567735,48.52395635947196],[-56.214126613876516,48.510512968768595],[-56.16239997017216,48.52135236144839],[-56.15605632010619,48.52732659550078]],[[-56.52188096125472,48.819591834248236],[-56.522777990679856,48.80776910589411],[-56.54579180286167,48.80426429170967],[-56.54351134873007,48.82032245377135],[-56.52188096125472,48.819591834248236]],[[-56.88144196854233,48.82080113247917],[-56.849710313323286,48.8278149733578],[-56.82709132416306,48.820422722261235],[-56.82745210451792,48.8120318560921],[-56.88144196854233,48.82080113247917]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-56.864916400137126,\"lat\":48.65768992251908},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1006\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"1006029\"],\"csd_name_en\":[\"Division No.  6\",\"Subd. A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Division No.  6, Subd. A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.80493380503741,48.66813185655277],[-53.80226348958397,48.68247379330718],[-53.867544288831304,48.64871639957254],[-53.809728783913336,48.64445718010377],[-53.80493380503741,48.66813185655277]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.826460365074084,\"lat\":48.658565194399664},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1007\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"1007043\"],\"csd_name_en\":[\"Sandringham\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Sandringham\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.01265638697869,49.28068166249227],[-55.02887300119854,49.31844040247231],[-55.03914530566202,49.3266128966808],[-55.056411971278905,49.32365998843291],[-55.07676884348808,49.308183052851206],[-55.05148240279172,49.27067505781871],[-55.01265638697869,49.28068166249227]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.04421820014886,\"lat\":49.29877106722122},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008043\"],\"csd_name_en\":[\"Embree\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Embree\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.51450129102783,49.53453292012895],[-55.64455648558783,49.49105534987167],[-55.72565943488199,49.46674505699977],[-55.72687862352421,49.479472891532005],[-55.75877206462383,49.48576994895127],[-55.765182705235624,49.500018463813895],[-55.75389368025021,49.62759111207241],[-55.693919797596486,49.67844302929452],[-55.74731694422592,49.69781613979471],[-55.782656104198935,49.70576546270618],[-55.82746788665528,49.70731862440488],[-55.88342236426859,49.701901258894445],[-55.91409291783564,49.696187677832526],[-55.93311873402033,49.68908066327715],[-55.978039163320105,49.663823858344166],[-56.004284563964276,49.652303282895204],[-56.034141237138705,49.62302218417799],[-56.01923353361935,49.608292273216975],[-56.029516957264676,49.597365815178826],[-56.06476795672656,49.58533317769531],[-56.0697792656927,49.57345904590462],[-56.065671584395595,49.54982178116178],[-56.075693329950695,49.54704812006403],[-56.10388500377916,49.520639199692354],[-56.003004000860784,49.53010763966802],[-56.00179947992837,49.521542297611134],[-56.02069719164587,49.51176950548986],[-56.0631612178969,49.50226459538017],[-56.06990448948599,49.48572359455624],[-56.089531366864364,49.497442580914246],[-56.107679296784134,49.50062082097172],[-56.12235250780072,49.510805720727575],[-56.16399420936956,49.491173666943894],[-56.18543953275641,49.496899552633025],[-56.22636633987093,49.48337442402432],[-56.2294780341195,49.47789057073389],[-56.26659549848971,49.48002620636515],[-56.309518118265956,49.4596497958307],[-56.3749554664779,49.47632660097144],[-56.4127993602383,49.46828061345745],[-56.43898939067101,49.45925811721624],[-56.46240001378568,49.452127174755674],[-56.465095289973156,49.43692660869663],[-56.4533568909623,49.42265919818705],[-56.46315582624112,49.40242689483861],[-56.46208211375046,49.38935525352533],[-56.47719121755627,49.36792689590958],[-56.51018216567328,49.3490933023086],[-56.336012477706014,49.318060775924124],[-56.126444113047164,49.28324473970168],[-56.10252083620019,49.27415045925854],[-56.0490107631512,49.28994982109132],[-56.03764246882407,49.28433973981114],[-56.02527905204262,49.29859421542778],[-56.01870616832684,49.3161287509242],[-55.99127452350831,49.32012108154881],[-55.87025251687373,49.35587252648461],[-55.65034850845701,49.29809064711789],[-55.61955249212435,49.31817989374534],[-55.592182124299434,49.32835589752505],[-55.58111607885861,49.34694149809947],[-55.581991519705944,49.37748164027915],[-55.56729852727815,49.425387502238195],[-55.53863377067164,49.45730546584429],[-55.520055970698465,49.50096454936507],[-55.51450129102783,49.53453292012895]],[[-55.94735582117328,49.59228320036471],[-55.95853736717281,49.592995157782276],[-55.961341310466764,49.60370050978023],[-55.948458149351566,49.60280667963262],[-55.94735582117328,49.59228320036471]],[[-55.87279599667881,49.64833548884482],[-55.896902209116035,49.63524909188123],[-55.90967709014225,49.647861681591706],[-55.87279599667881,49.64833548884482]],[[-55.80815760369617,49.53126105172751],[-55.80745762379339,49.549456677604056],[-55.78341399053618,49.53919170406619],[-55.795302622747414,49.528895296509454],[-55.8086199291291,49.529948464719624],[-55.84302738302006,49.537206702227714],[-55.87017390525273,49.52788449144187],[-55.87600049892254,49.53708389008913],[-55.82568568176375,49.54896110425176],[-55.80815760369617,49.53126105172751]],[[-56.058693948270395,49.453607441395455],[-56.07538847169847,49.40994761807338],[-56.0784354950991,49.39430615368796],[-56.098499275473976,49.360753246425965],[-56.12066531306412,49.352924207700134],[-56.112970088248154,49.37937530933492],[-56.089149080696714,49.403666198162334],[-56.110974587080854,49.426925385398455],[-56.10231660272262,49.43406836185051],[-56.08127500896293,49.43346324719182],[-56.070092803679046,49.4487128488818],[-56.058693948270395,49.453607441395455]],[[-55.822655580424204,49.63157111736472],[-55.829458238561834,49.63807739035486],[-55.821940352506026,49.65675570653505],[-55.791629956091555,49.66718629600858],[-55.76985553241778,49.66401842101726],[-55.75455274871937,49.64114009633061],[-55.79167750225203,49.6249852139112],[-55.822655580424204,49.63157111736472]],[[-55.82015465876323,49.50633261875809],[-55.79709180723468,49.49327661255754],[-55.77809851382764,49.48794280504907],[-55.76226237708561,49.466791850537206],[-55.78765776806507,49.45534085418839],[-55.90030485720188,49.4555629198399],[-55.90054404674405,49.48052147489879],[-55.87309718367308,49.497283197654774],[-55.83513359200972,49.510220598817014],[-55.82015465876323,49.50633261875809]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.97835711469321,\"lat\":49.4518643542524},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008058\"],\"csd_name_en\":[\"Division No.  8\",\"Subd. C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Division No.  8, Subd. C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.82015465876323,49.50633261875809],[-55.83513359200972,49.510220598817014],[-55.87309718367308,49.497283197654774],[-55.90054404674405,49.48052147489879],[-55.90030485720188,49.4555629198399],[-55.78765776806507,49.45534085418839],[-55.76226237708561,49.466791850537206],[-55.77809851382764,49.48794280504907],[-55.79709180723468,49.49327661255754],[-55.82015465876323,49.50633261875809]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.83556431462115,\"lat\":49.477397123517335},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008060\"],\"csd_name_en\":[\"Robert's Arm\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Robert's Arm\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.36970535461256,49.893964375254924],[-55.33305449710336,50.000070253464685],[-55.49999999645653,50.00000227435573],[-55.49999999411924,50.038626531495915],[-55.53620722893687,50.00391074556117],[-55.533046017468756,49.981364564410796],[-55.52318577009085,49.96694251109882],[-55.53518812218674,49.956594046439534],[-55.53723686859583,49.94100210809301],[-55.554379258937416,49.92382026928015],[-55.576171486151445,49.92707529302123],[-55.61063851578371,49.91677097485976],[-55.61977881873973,49.92782981887862],[-55.65435253504692,49.91766678993393],[-55.67722155553236,49.899739706580384],[-55.70887994989768,49.88475330356493],[-55.721826020834236,49.88218966784478],[-55.73151705298206,49.90404023245965],[-55.751326445701835,49.90036659433513],[-55.76367620392267,49.89038901609178],[-55.77020278672298,49.865779433442356],[-55.84438501985704,49.86971697622456],[-55.88665928949636,49.86393718188657],[-55.912531271296714,49.84107415482837],[-55.940855982826996,49.82929989967934],[-55.97849550307473,49.83185644762328],[-56.00435455985596,49.84749585918116],[-56.008946522949444,49.863463736599456],[-56.02269434509064,49.874913318836356],[-56.04245547452362,49.873493099118825],[-56.070457393606866,49.86178955962701],[-56.0666862806253,49.84591606753783],[-56.074540441094435,49.83972583857967],[-56.06807234683055,49.82793568769013],[-56.10619552233551,49.81324545962465],[-56.13323735111595,49.819327137999856],[-56.16628404159996,49.80880864577944],[-56.184830965473125,49.80648863459698],[-56.21219850512066,49.76849495973351],[-56.21718169866927,49.74981444154646],[-56.216567644407895,49.706972060070576],[-56.240766790500395,49.68690216558732],[-56.2666010526746,49.674759761820496],[-56.306623878011294,49.66472263414094],[-56.266342018000834,49.67210309900384],[-56.17574391596569,49.69378550567526],[-56.16330284626271,49.698665784840706],[-56.160996800803,49.71936253886013],[-56.05148189686894,49.71956789658046],[-56.05120032057984,49.706953790352784],[-56.08260391864013,49.7049334987143],[-56.07695539680828,49.69351899812149],[-56.04620842599108,49.69279519003422],[-56.02005697692974,49.69586851635192],[-56.000006299470265,49.71078941341756],[-55.94875108086866,49.725886874442686],[-55.90426995223212,49.73652350842521],[-55.86080611406382,49.74354972676424],[-55.821422897589834,49.74701865028177],[-55.70967528967751,49.75295688432281],[-55.64066556369677,49.753308447050145],[-55.595442852205586,49.750076485573025],[-55.46325818890019,49.83379249003962],[-55.36970535461256,49.893964375254924]],[[-55.872959701025536,49.78872748526731],[-55.868029222077425,49.79956141091112],[-55.85414808790334,49.79753729272074],[-55.850095503977826,49.78777638125444],[-55.872959701025536,49.78872748526731]],[[-55.63765068208782,49.88262312294281],[-55.632906461556445,49.89221698492856],[-55.61532283385176,49.89619229567641],[-55.60117037959809,49.88560329651736],[-55.619883782364155,49.87700004494309],[-55.63765068208782,49.88262312294281]],[[-56.02856017456182,49.759914271624794],[-56.00605287920281,49.76020800188516],[-56.02138969374526,49.73611287301633],[-56.03363995470596,49.73423000167853],[-56.02856017456182,49.759914271624794]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.75657512665886,\"lat\":49.83193419224853},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008067\"],\"csd_name_en\":[\"Division No.  8\",\"Subd. O\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Division No.  8, Subd. O\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-56.17703920840625,49.613626301771795],[-56.182589013735054,49.614146807618106],[-56.27268140374601,49.603050172733454],[-56.28247452176498,49.59146002406081],[-56.26311302562945,49.58927073561519],[-56.253464769710945,49.58003479504717],[-56.23422635353274,49.54326206564899],[-56.19202508697129,49.543675232883594],[-56.161101039492,49.568749151343255],[-56.122878120421795,49.5879919995658],[-56.14954630582804,49.601913558826276],[-56.17892490752264,49.58060149567788],[-56.17703920840625,49.613626301771795]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-56.205994042189246,\"lat\":49.58055775111523},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008069\"],\"csd_name_en\":[\"King's Point\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"King's Point\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.872959701025536,49.78872748526731],[-55.850095503977826,49.78777638125444],[-55.85414808790334,49.79753729272074],[-55.868029222077425,49.79956141091112],[-55.872959701025536,49.78872748526731]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.8615926244141,\"lat\":49.79300624896716},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008070\"],\"csd_name_en\":[\"Nippers Harbour\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Nippers Harbour\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-57.925122027561294,49.48013859780734],[-57.92829060340858,49.48472809833035],[-57.9122187184447,49.50453129604898],[-57.92298116169757,49.515559087767876],[-57.94104270233396,49.48675181371495],[-57.93748964170883,49.48010133046515],[-57.925122027561294,49.48013859780734]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-57.927108511768395,\"lat\":49.49632404820463},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1009\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"1009011\"],\"csd_name_en\":[\"Woody Point\",\"Bonne Bay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Woody Point, Bonne Bay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-57.26347958456491,50.61895649264338],[-57.198913606355234,50.6587079267207],[-57.20609396541346,50.69665640451779],[-57.21583526544365,50.69759974278456],[-57.28228518579179,50.681231108471344],[-57.31429685978179,50.67108741537858],[-57.307205696255686,50.660507295120674],[-57.31579571198741,50.64499440315001],[-57.30889961061199,50.639523893608256],[-57.281245083153934,50.648485091722556],[-57.24557491480936,50.63989929005555],[-57.285153298913485,50.63194708897075],[-57.26347958456491,50.61895649264338]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-57.252856483651215,\"lat\":50.66247004595423},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1009\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"1009019\"],\"csd_name_en\":[\"Port Saunders\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Port Saunders\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-57.549214484724004,50.314841590569564],[-57.53095290030742,50.30210799697181],[-57.503937084498666,50.34049260547579],[-57.5281980979722,50.350141589851724],[-57.549214484724004,50.314841590569564]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-57.52757258480461,\"lat\":50.327207130123725},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1009\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"1009042\"],\"csd_name_en\":[\"Bellburns\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Bellburns\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.075187476412786,54.23829304709734],[-63.099891881391656,54.24256881500008],[-63.133223577702616,54.266025969031965],[-63.161299525437805,54.26627075123559],[-63.225274468721054,54.27704026319433],[-63.2164600477371,54.28998840509108],[-63.18651093227896,54.2859226150759],[-63.157712812796476,54.300197676541515],[-63.17017374953459,54.314764186891274],[-63.205719448479066,54.33034075246321],[-63.20514450559866,54.33863648632284],[-63.17822513132873,54.3475739319298],[-63.16976714045606,54.366884652820254],[-63.154756619583964,54.37661770889462],[-63.18306634811881,54.38959045981893],[-63.18575986474852,54.408376986068454],[-63.20956788117728,54.43973994680483],[-63.235552323826596,54.44264770604698],[-63.27700941619793,54.43372221108631],[-63.3051585612172,54.43170809031317],[-63.337717798902396,54.44801220682604],[-63.37347687460953,54.445172363651444],[-63.41976319326969,54.446367330813466],[-63.43607490216836,54.47092771253335],[-63.47233531138652,54.4874922810472],[-63.486933200110805,54.503489719454244],[-63.48967401794656,54.52701398079458],[-63.524303574631,54.543246373173126],[-63.55287220519899,54.552275042213516],[-63.62352111651862,54.59549289186627],[-63.67053094883263,54.61909793209155],[-63.712625413683945,54.624950762484524],[-63.74275793200109,54.62639928925165],[-63.76451271275158,54.637394566747794],[-63.8133772332908,54.650785802135594],[-63.8307490681111,54.632866600238565],[-63.87737612621256,54.61898525579094],[-63.87750766279389,54.613028533888276],[-63.91143915535229,54.604248672372],[-63.93433548240817,54.60661148002063],[-63.97442253623855,54.620120235379055],[-63.984870615747006,54.608567088425474],[-64.0040002613996,54.60212579145191],[-64.03510220980466,54.607030759077574],[-64.05427717774757,54.60090829200483],[-64.0719447854742,54.61701615559067],[-64.0861067384007,54.622955103375325],[-64.10732893486194,54.61318661337313],[-64.11302518258753,54.63347423195509],[-64.10615476305493,54.66038344744907],[-64.14184981278525,54.666957398941896],[-64.14534324395953,54.67614112293631],[-64.18068885699147,54.69358758432349],[-64.17866450651236,54.71695245661806],[-64.19018908068337,54.72797024567287],[-64.22610932524947,54.719375013205045],[-64.2389438026844,54.729120591746494],[-64.27557843784403,54.72796893232612],[-64.30074808135764,54.74149222838277],[-64.294527847135,54.75327376238971],[-64.3626310757688,54.77784408335452],[-64.38410815892566,54.78016303851078],[-64.39747458248213,54.79049295213658],[-64.42178306644752,54.78786227754045],[-64.48606927192452,54.793435570894886],[-64.4799449919915,54.78318046730053],[-64.48547582758538,54.77096280975607],[-64.47480501501398,54.75215171686048],[-64.51418856614615,54.75129779648721],[-64.53418706676274,54.76179269952118],[-64.55481627287764,54.74486891097622],[-64.52895692397425,54.73749507859024],[-64.55688247260667,54.71366228136158],[-64.6003388105856,54.72890938079313],[-64.62289935477035,54.7218740305504],[-64.67996837457167,54.735712552051815],[-64.68780027976757,54.72601627663295],[-64.73095380721308,54.72562116170463],[-64.73489457613663,54.73596964912603],[-64.76371582014517,54.72922936829322],[-64.77808689304041,54.733468773621674],[-64.78516448170602,54.753944008801255],[-64.76531906011382,54.77410709183424],[-64.77624522553725,54.788145504196656],[-64.74787483144952,54.81399429442973],[-64.76111425068868,54.82952814357938],[-64.78387243825726,54.84282308169713],[-64.80070678231718,54.83257223698824],[-64.81586769577329,54.84904792592406],[-64.83809572269739,54.840285454996064],[-64.85682061158404,54.84005504329458],[-64.86169197611291,54.8549361503356],[-64.84692634513314,54.873770308521],[-64.87170904632583,54.89263980590757],[-64.90257045878785,54.90164037623092],[-64.9150388667188,54.920005799137925],[-64.9269133030071,54.9212636874367],[-64.97190055880245,54.93739557531124],[-65.00956061616193,54.93096423264025],[-65.04024279162608,54.94371681150016],[-65.05271807584396,54.955960494269405],[-65.07060165635853,54.95357963729684],[-65.08581468651165,54.96956279096276],[-65.1264493458117,54.961478035889066],[-65.12285467349822,54.941402741838274],[-65.13451733120269,54.928193673268716],[-65.17289287484616,54.93360432045058],[-65.17878224923923,54.90534125737358],[-65.20165846813715,54.880537068103344],[-65.20062348345608,54.85779342273072],[-65.20962312342812,54.84795777852642],[-65.26719484262833,54.84836604571157],[-65.29107710008671,54.840118873674314],[-65.28799651867948,54.82540248540946],[-65.30486723331066,54.819674182858265],[-65.3256952561561,54.84867801185983],[-65.33840480188718,54.841658100062475],[-65.35583965195733,54.818761400518234],[-65.38457398940764,54.829944679916295],[-65.40060311640062,54.8190721656538],[-65.41169205886683,54.82311408751385],[-65.41137640461945,54.841836996670125],[-65.45633571470448,54.84924233284897],[-65.46384308165672,54.841247787218244],[-65.48729464273839,54.83437679230736],[-65.48665520479993,54.82006872611614],[-65.46691319085477,54.8019108941256],[-65.43461979700635,54.78418346204866],[-65.42911443440012,54.74811393622276],[-65.44816211489109,54.74398153037549],[-65.45553031927466,54.72858324513336],[-65.48735298793314,54.72851409206262],[-65.5135984016148,54.73600519091931],[-65.54878233322493,54.72919871411146],[-65.56207054993887,54.73974310328234],[-65.59255370118213,54.74303600819648],[-65.62127895467405,54.73850641067897],[-65.6320648957094,54.75445806641486],[-65.65095465569895,54.7479346302894],[-65.64853383477481,54.73521357836725],[-65.6696698448809,54.718766494112906],[-65.69011531218405,54.71152701644867],[-65.70620972582586,54.71791242467332],[-65.72047007446841,54.73159715093757],[-65.71359276051007,54.74095658791665],[-65.75702462878587,54.786791456419465],[-65.77742521960126,54.80280964811485],[-65.83831487531455,54.83652753035378],[-65.85307182369034,54.85594358757532],[-65.8363866061767,54.87465265318133],[-65.83664731974376,54.88197610330555],[-65.85723390553821,54.89296767946736],[-65.83862044362915,54.90795668202902],[-65.84984542374289,54.92721087551007],[-65.88800770901153,54.925339851254186],[-65.92469998893411,54.94006067097754],[-65.96513058542789,54.929818081154686],[-65.99661549226009,54.930985293225724],[-66.02339588757926,54.94195334216994],[-66.04899545049003,54.93741658642014],[-66.06449035563769,54.929068441295485],[-66.08773877345426,54.94971154894391],[-66.1435813320375,54.98229878768306],[-66.1679833413396,54.97300932500079],[-66.18860830979443,54.980795289353956],[-66.2101253779622,54.97913869720392],[-66.25940477894676,54.99974965446287],[-66.28290240539977,55.032105100993455],[-66.30359716611038,55.035503166018586],[-66.32171971308908,55.05691284099498],[-66.35499499954798,55.08320920243898],[-66.4021026650687,55.113143694495086],[-66.41965700243159,55.13116486901591],[-66.44470741937924,55.140947493612856],[-66.46642624676421,55.16026240785626],[-66.49533797570845,55.205106901553904],[-66.51641656769581,55.19532212876717],[-66.54559502013076,55.2353798942248],[-66.565688941989,55.23839930647656],[-66.60279262793436,55.26898138246146],[-66.64442669273414,55.267101020642585],[-66.65863745630448,55.25514478885818],[-66.66977348310992,55.26944473071088],[-66.70063362623672,55.28995062868851],[-66.69694018258873,55.30532309121711],[-66.70854774235438,55.31661578898271],[-66.72761458348657,55.31844525659405],[-66.77846228213934,55.35238815066062],[-66.81874149041126,55.35531398237814],[-66.81500510243178,55.34089427881081],[-66.80067150364073,55.322952079782084],[-66.82843769582946,55.32681719159053],[-66.8237258224467,55.30696976374336],[-66.78635720705319,55.27314058514835],[-66.74023220235969,55.24802997827553],[-66.72653192886088,55.235538502785595],[-66.70723085962905,55.22712308680574],[-66.68941205398781,55.2097274330154],[-66.68358412348417,55.18506205763815],[-66.71971727183082,55.20954196648498],[-66.74890041761971,55.21569894170141],[-66.75531366290994,55.20569603117569],[-66.73940857397044,55.19408299539871],[-66.76062702748555,55.18781189793394],[-66.7467350473728,55.15853104347796],[-66.76769444023962,55.149696384020764],[-66.76760260707456,55.13513895784205],[-66.78867299169328,55.11841379215717],[-66.75494165324787,55.11357128916543],[-66.73283840658466,55.0927491097773],[-66.69486279912105,55.069517365629764],[-66.69925068607698,55.0632493440411],[-66.74678826121584,55.09207488953503],[-66.75555010035197,55.08675119829484],[-66.74591397415028,55.06610299590204],[-66.73287204744197,55.058571055570084],[-66.73503765266354,55.044052675730725],[-66.69788038609019,55.0279270797185],[-66.68206866572692,55.0297467268269],[-66.6596553177531,55.015937604297896],[-66.65640742119957,55.00793588055633],[-66.62705751430312,54.98486015783726],[-66.64813560680439,54.97713491317791],[-66.68601355335717,55.00005379091603],[-66.76599037157186,55.00001691522533],[-66.74022852747197,54.98511539086405],[-66.74222369831516,54.96948020871087],[-66.71322623178605,54.95549537373316],[-66.71122268329364,54.94736934147355],[-66.6814081789889,54.92366778409904],[-66.68965363220686,54.897965049703615],[-66.66361196667289,54.88197685349206],[-66.65114194140334,54.85768261544236],[-66.633284278604,54.846754873268225],[-66.63200016598066,54.835697720527165],[-66.60265109790352,54.813506309810634],[-66.60962186898242,54.80341391053485],[-66.63822662843688,54.795047156973496],[-66.64461920953386,54.778824196429944],[-66.65942839757706,54.77021777364263],[-66.73288818253182,54.81149879196408],[-66.71693668208985,54.78843380194624],[-66.72793817148612,54.78004405061599],[-66.71809452954747,54.76078226359043],[-66.68624478813267,54.74943548095626],[-66.66281485730258,54.7288671263187],[-66.67529611189455,54.709229986020986],[-66.69631218004547,54.72595417895902],[-66.71702472143195,54.73514113079268],[-66.74986224012821,54.75848171135228],[-66.76880255294192,54.75617450575775],[-66.77323770383973,54.765994482225295],[-66.79994009022852,54.77644560469162],[-66.81271745032315,54.77939723996406],[-66.84292675123179,54.79948115378266],[-66.87511912170393,54.81564707380987],[-66.91126566640858,54.809379241028836],[-66.92704515201424,54.802172964687635],[-66.94784667065808,54.822310512756175],[-66.99698736312959,54.8427309122512],[-67.03985465863406,54.868081493371605],[-67.04135335264259,54.88166530276977],[-67.05651050443083,54.89493770817836],[-67.1183617559856,54.93150165642887],[-67.13925519724069,54.95094361156515],[-67.15718459742766,54.956458348155806],[-67.18778552136838,54.98042531867572],[-67.20922818303336,54.984173487415234],[-67.21924254161861,55.00003048266286],[-67.2574846089391,55.021274194337664],[-67.26329640476962,55.045517654095384],[-67.2362838269861,55.04403082897647],[-67.24373025697385,55.05963544880864],[-67.27281181618103,55.07642725276325],[-67.32283786754576,55.08906531354371],[-67.34586127482869,55.08669465677965],[-67.36843859239268,55.09130281055535],[-67.39526360520574,55.08433088731095],[-67.40963252886563,55.08863323653561],[-67.43801746553765,55.077829667762536],[-67.443216741931,55.064868945606],[-67.46370387188601,55.06285691633867],[-67.4706344550869,55.04901162443556],[-67.43964904663028,55.03249084927241],[-67.44587182125696,55.00850382724267],[-67.42248808346903,55.00006040577005],[-67.40194049025929,54.98895486412853],[-67.4143657973762,54.97607044555971],[-67.39975567350949,54.95785895771948],[-67.37032059306839,54.94165820964601],[-67.35772691131103,54.9396844396474],[-67.33993207652846,54.91652580061781],[-67.33514320388626,54.90348976473415],[-67.31569946638795,54.895395492953554],[-67.31065288408968,54.88036346832485],[-67.28272327034952,54.86769285794576],[-67.25917646375962,54.833811909626284],[-67.24361437822905,54.82660672642632],[-67.22137195682069,54.82491291520218],[-67.22588878251781,54.80825537509028],[-67.21341853149157,54.79274881335532],[-67.18018115936306,54.775877898631734],[-67.17746409279125,54.763956018300114],[-67.13771561927688,54.75003541048655],[-67.07322385459516,54.705063353000995],[-67.06290081383705,54.69293310928389],[-67.0827922659862,54.68057867767064],[-67.07673091887584,54.67107587904452],[-67.10546550734331,54.666629201880696],[-67.12900346540046,54.65771941771479],[-67.12345684250575,54.64512102399986],[-67.1425863931702,54.63613165541291],[-67.1385510099759,54.62453865893809],[-67.17577872737633,54.609538169135384],[-67.22022556601348,54.61814409789709],[-67.23489286821555,54.61227748194585],[-67.23117571894743,54.58756692532475],[-67.26822747404772,54.590863244554164],[-67.27991824561595,54.5852571395516],[-67.26850265999678,54.56517305812544],[-67.29710682799363,54.55359044390532],[-67.27782181033534,54.54870729129954],[-67.25950908487684,54.533748151608485],[-67.22781202609009,54.525266564017116],[-67.24458754906236,54.51475819704857],[-67.24494465165479,54.50003390906575],[-67.28660898028156,54.49027677071062],[-67.28790136070928,54.503456408368095],[-67.30351356081462,54.511979006316416],[-67.32407091992735,54.50541797138533],[-67.33530584205218,54.521103009902156],[-67.34923525258061,54.516991951294685],[-67.40607889130078,54.552905098242],[-67.42309606465574,54.55787141242568],[-67.4290252618353,54.569234384709546],[-67.46763612430453,54.58376152585352],[-67.49174875482508,54.58490951370564],[-67.52688242248364,54.57095109600911],[-67.5160038757887,54.55595914557721],[-67.49762165972074,54.545339830822094],[-67.4847025550708,54.54543045003425],[-67.47311297794629,54.520101921456906],[-67.5000000178452,54.50694097004134],[-67.50040551931676,54.4815065530838],[-67.53193609169423,54.49018474379602],[-67.5508713701395,54.485943596132365],[-67.58165785494359,54.494108526961895],[-67.58168284311286,54.48287129944104],[-67.5926396325567,54.469003145159256],[-67.60947444059414,54.465766180224506],[-67.6278774602044,54.47358685710424],[-67.64270200022118,54.508032273351745],[-67.66641817934723,54.493629800486545],[-67.6623963121964,54.46895314204466],[-67.66781166997052,54.45384196290735],[-67.68576093789575,54.44614613647159],[-67.70665340946333,54.444590192293376],[-67.70546690383696,54.456252831233996],[-67.72749666128765,54.45739927877583],[-67.73431809241848,54.444338621217305],[-67.76391626406782,54.444253093878814],[-67.77639035065565,54.435279848066585],[-67.76896791507754,54.419553374439836],[-67.75102276995834,54.411908753009115],[-67.72469836607354,54.38685578639306],[-67.73195822116139,54.364161886797255],[-67.74803672392133,54.350260854730806],[-67.7250984384132,54.338854470279514],[-67.69701630294104,54.33064500834167],[-67.67636616713145,54.31852430180932],[-67.67902436455456,54.30082852027808],[-67.67227965737143,54.28511177284491],[-67.68820142045475,54.27313318534284],[-67.67733039852212,54.24168031183458],[-67.6517623445851,54.22152268118061],[-67.62830265204599,54.212751464454655],[-67.65335475006286,54.18857483018333],[-67.65345441843694,54.16998949945457],[-67.675321973747,54.15876122098784],[-67.70595361051134,54.16113210050053],[-67.72959282117033,54.15127514008694],[-67.7650365716553,54.15700019186891],[-67.81025241624637,54.12813290872949],[-67.79816490856997,54.1185806272231],[-67.80546108351936,54.106183164513745],[-67.79187310866878,54.09563722799811],[-67.76770536298088,54.099921348532774],[-67.76183525767233,54.08604609211511],[-67.78835837498153,54.085521197823006],[-67.77881526127561,54.071430324271994],[-67.79408220296621,54.054492065365245],[-67.79103001429156,54.04128011248361],[-67.82168528783797,54.02570234616153],[-67.81600639376192,54.01476277875526],[-67.78312868648987,54.0086668088886],[-67.78732437417173,54.000036750545426],[-67.74337598777882,53.98620102489062],[-67.72516326326009,53.97775410477189],[-67.69983932893479,53.97660448225932],[-67.66195152994504,53.9522856586119],[-67.67755545728335,53.941568911483905],[-67.66260854199679,53.9280730549908],[-67.63713029881706,53.93039137063465],[-67.59630593997036,53.92169476523856],[-67.60916460779235,53.901968571026536],[-67.61424164587163,53.884891577435916],[-67.60911892719214,53.869247366091216],[-67.59276684159731,53.86216330063531],[-67.56425882700071,53.85860341097366],[-67.57148974325165,53.84556676128782],[-67.55590572511014,53.83737282376603],[-67.53664793018118,53.84017030051405],[-67.50938724788844,53.83400006782351],[-67.49960831515928,53.8268564037646],[-67.52206765502089,53.816167376416445],[-67.5450972658703,53.798235488370906],[-67.60222661528628,53.79546535490083],[-67.60419506873389,53.79016160921849],[-67.55728254201253,53.78028929257816],[-67.56747609737432,53.77085005360953],[-67.59929029170081,53.7662325246168],[-67.5922190285935,53.757497823074765],[-67.50000001395223,53.75726735018253],[-67.49999998232443,53.74603589835467],[-67.51752694393629,53.73521031571091],[-67.50631906432345,53.71906153276098],[-67.46510927710291,53.708882592350335],[-67.43374213953727,53.70649941906331],[-67.39684971288172,53.68287930054054],[-67.41421138496779,53.674855738281195],[-67.41314778357531,53.66689844918035],[-67.38942149845283,53.64225865269377],[-67.38719555812398,53.62888562631575],[-67.39473092293795,53.6146543061287],[-67.37369386445324,53.60830265574477],[-67.37693580742406,53.59720978971535],[-67.3533678598012,53.59537650606131],[-67.33496728499826,53.586760713416716],[-67.3135497733386,53.58415205977248],[-67.32370718629969,53.55900107508262],[-67.30815176461782,53.546248647264854],[-67.2862965408844,53.543522821412424],[-67.2574058811269,53.55738857481475],[-67.21876905944808,53.53034033518528],[-67.18907995615687,53.53275260101278],[-67.1891323768394,53.55075586485071],[-67.18001528643191,53.55303438953618],[-67.15768545007182,53.53763360903802],[-67.12988668986283,53.53020865891693],[-67.09990848531184,53.52674105274208],[-67.06202481720362,53.537081778433816],[-67.05370980647346,53.52957936286511],[-67.03030823871187,53.526737052796975],[-67.0066531774634,53.50000758173683],[-66.98384275396732,53.49249017229228],[-66.99629644456584,53.48461751779266],[-66.99582222429166,53.46423999922801],[-66.97107643985377,53.466511409513174],[-66.94452408696272,53.476053398179154],[-66.92495217748161,53.454496118579755],[-66.93500637049048,53.44153529979266],[-66.92444786028231,53.41866087699384],[-66.89053683993977,53.4093106127058],[-66.90670779154442,53.39529421980643],[-66.92287244918727,53.399934857200016],[-66.9463196664456,53.39093165833373],[-66.95414208194262,53.37260180109267],[-66.96610332272344,53.364621761092316],[-66.99604663379937,53.37265246889627],[-67.01367585869299,53.36188744814874],[-66.99695178689768,53.35262092456285],[-67.02129783458768,53.34222841108652],[-67.02705061694665,53.334646126743664],[-67.01881419950492,53.32008052537501],[-66.99234959511257,53.32289477397785],[-66.95841549869569,53.306450334469886],[-66.95432675891587,53.28357473482713],[-66.96472538822086,53.27393089481215],[-66.9761924520448,53.2455862270221],[-66.97806167144357,53.21326331212926],[-66.95961727029923,53.18169279960389],[-66.98264783736056,53.17776082261087],[-67.0061330133011,53.168475255194615],[-67.01412280674951,53.152139595234836],[-66.99518234751557,53.13845061810918],[-66.95996500747687,53.1329261802117],[-66.99087320734257,53.117461081557494],[-66.98442990896616,53.08790930022131],[-67.04160760975122,53.07607214046401],[-67.06849067441324,53.078874635766034],[-67.06897385754809,53.100829929407],[-67.04678598499109,53.11846429980027],[-67.06117802862414,53.14193667350785],[-67.07525539546407,53.139312898383224],[-67.08866713957488,53.125926804934295],[-67.11527901184064,53.111946970232694],[-67.13444653878703,53.13786062035753],[-67.15422798034288,53.14722547997593],[-67.21769474601913,53.149663773971064],[-67.24899501641241,53.16567912152912],[-67.25436854669091,53.17822330132755],[-67.2739089455128,53.18011770656103],[-67.30266983154316,53.158925026351106],[-67.2872146026477,53.143921347400294],[-67.33206747440683,53.124102886147604],[-67.34639793040623,53.132090145540616],[-67.37141237870203,53.13530658718962],[-67.38537895814723,53.13197943326983],[-67.39233682881792,53.12085503704988],[-67.39054266694345,53.076835371757525],[-67.3807860791216,53.0462559587143],[-67.35537138390895,53.00896117159061],[-67.36886174302974,53.00232756643885],[-67.34536261572575,52.98119546064844],[-67.30830199739546,52.97787879640918],[-67.28330021063587,52.98424268945322],[-67.248487623538,52.97600567939908],[-67.27583213787689,52.96381433679481],[-67.30692401824946,52.96888667096895],[-67.33266569926239,52.95981815403641],[-67.3557429004987,52.92862777662558],[-67.3421157264093,52.9160631227908],[-67.3329086077508,52.90721964055516],[-67.34185734656495,52.896214035486864],[-67.31682445995955,52.875447679155535],[-67.29984503539382,52.884475991107216],[-67.26853269607587,52.87771071401852],[-67.25242135877069,52.86786253965283],[-67.22747230011291,52.84177083297748],[-67.18552486531831,52.83198920170408],[-67.17541067285565,52.821394337225726],[-67.15490018639109,52.822823139397215],[-67.15555165052743,52.84982530010341],[-67.13418765345526,52.85104259120025],[-67.12259782425997,52.86238076269384],[-67.07425222907817,52.875451808872945],[-67.05412877522888,52.86807761860873],[-67.05592523186286,52.857267125002934],[-67.04767168771015,52.837240206552366],[-67.06225284532023,52.81816110644269],[-67.05784719094864,52.80640063794367],[-67.06700674305895,52.77511624801296],[-67.03961664451002,52.767495955005586],[-67.03430408222707,52.747015631035275],[-66.98983719592862,52.762168653981924],[-66.97641218193716,52.75357418396718],[-66.94926524160962,52.75958268545348],[-66.94387519736887,52.73689325339633],[-66.91731068029428,52.715208980581544],[-66.89446011479197,52.67666170529195],[-66.87233838831696,52.68097207215586],[-66.84908448361753,52.677877744744734],[-66.87653011195289,52.71345220614794],[-66.89758103252672,52.72744309716739],[-66.89116726555524,52.73255023524683],[-66.86676240882178,52.71870190854955],[-66.85370000649013,52.721144817430734],[-66.86610568370472,52.76400175151428],[-66.85986494575893,52.76836278754847],[-66.8361944611376,52.7457963226275],[-66.81683540626416,52.71125696373791],[-66.8010373877668,52.70865265126206],[-66.78604788187982,52.673027940339814],[-66.76467600821302,52.666235003830295],[-66.7575388190811,52.67332728092101],[-66.77212673750932,52.69620359775902],[-66.74757526912914,52.70304430451858],[-66.75548259822162,52.72047451583512],[-66.7537463136731,52.7514881015778],[-66.77494047180625,52.775239966926904],[-66.78679535428029,52.7974189322407],[-66.77286556579648,52.79726762420296],[-66.74624048210332,52.77333089814978],[-66.71935735975879,52.76356219315123],[-66.6863117951891,52.76370009424803],[-66.6863689402211,52.78350715440752],[-66.68019121184511,52.79104668874197],[-66.65081208044684,52.780625945622106],[-66.64606237877021,52.788923467313694],[-66.66486418451275,52.814678534622736],[-66.66477961403028,52.83089156361128],[-66.64504509706731,52.852819153034275],[-66.65561728284571,52.86638889068244],[-66.64508110739507,52.87263119122023],[-66.66369843112764,52.88546428307917],[-66.64930278634209,52.899643506160416],[-66.63210200621529,52.900833246987965],[-66.65028770692835,52.92187629414399],[-66.63291108706676,52.931343681429915],[-66.62555377300188,52.95424326297334],[-66.60174082177886,52.94979803519786],[-66.57699597269048,52.936786870957214],[-66.54777945064001,52.94106194612986],[-66.53054426105915,52.94837695657182],[-66.50700827762492,52.95012304256365],[-66.48832063798453,52.96043569141974],[-66.48872690441372,52.98572262379217],[-66.4696120902836,52.9909716637982],[-66.46190149724448,53.00011528096224],[-66.47432089316932,53.02231707804567],[-66.47498908910207,53.042520024575616],[-66.43183464116832,53.04820259590278],[-66.3935261853852,53.02117107256396],[-66.36077104399116,53.01439036606385],[-66.35489398501676,53.00005714742936],[-66.32668273947131,52.972628907250254],[-66.32195414162432,52.93893308962127],[-66.31162677148447,52.92668523406846],[-66.2950528953207,52.9185517419548],[-66.27274461286865,52.896016794759454],[-66.27615948520203,52.883789828868586],[-66.26085965710868,52.87431188148426],[-66.27018721798103,52.86582391094988],[-66.29462932391732,52.860120140979156],[-66.27371611186904,52.846060506663854],[-66.28323641247825,52.833379512515734],[-66.3049981704691,52.84101289294179],[-66.32054977755213,52.85663787269886],[-66.33963909540428,52.86375694760827],[-66.36874556983348,52.86311035645825],[-66.3794204528507,52.877468193818395],[-66.39856235699379,52.87886757792098],[-66.41071410327108,52.872388683215554],[-66.41388278172221,52.84867394454346],[-66.37747347483949,52.81407482848847],[-66.38145855311438,52.79444318091295],[-66.35417960033972,52.802558547607084],[-66.34427681871009,52.79540127566214],[-66.35126947169464,52.78410375112438],[-66.33084112624955,52.7611395817784],[-66.33183213316357,52.741474436470504],[-66.30833176111956,52.72859107462274],[-66.33736627590365,52.70140422458297],[-66.33877266814834,52.68461678292936],[-66.313717164648,52.669667307403266],[-66.31149895986209,52.65895089756043],[-66.2773800726315,52.63444974441337],[-66.284572225226,52.604219325424964],[-66.30930252235723,52.60459012162563],[-66.31997617368818,52.61343655000396],[-66.34077234957711,52.64544991004398],[-66.36317412798876,52.66001460282282],[-66.36613167109978,52.66739658082681],[-66.38865738287429,52.682284200892965],[-66.4022429929703,52.67453544653812],[-66.41757012225798,52.651200752675955],[-66.41636229033084,52.64204421317907],[-66.44027591727271,52.63640042637976],[-66.4057939052375,52.60491869346547],[-66.37467289157667,52.57275099624563],[-66.36524570801123,52.554171194938455],[-66.36518466133624,52.5311232234694],[-66.3901136306666,52.53153586556184],[-66.39546650659287,52.52439962571656],[-66.37025347130107,52.51301723291694],[-66.35812269629928,52.48825124413395],[-66.35558376464536,52.47322058085752],[-66.3725096830619,52.47317978597117],[-66.39080671530704,52.46593752919496],[-66.35881704527095,52.430757620569615],[-66.37290982018881,52.413038883062576],[-66.34171210642002,52.397210296418145],[-66.34649203714947,52.380764049601055],[-66.34404217533552,52.360415400985254],[-66.37018806908709,52.353940676396086],[-66.3871224359751,52.36983392910358],[-66.40980326087174,52.37452290433258],[-66.41987651394759,52.383023052196904],[-66.44110647691288,52.375809543297834],[-66.43659865317397,52.3588100045198],[-66.45332710465324,52.34838050298935],[-66.4672675063296,52.35452290342344],[-66.4905172545247,52.34163746277879],[-66.48070999316991,52.32129250847214],[-66.46467200494394,52.30647299434066],[-66.44622819595428,52.297472129365396],[-66.46876521584875,52.28466948246428],[-66.43937042611297,52.27724105164582],[-66.432891634386,52.26617430573274],[-66.47042344300176,52.25565522685371],[-66.43996809006781,52.23783838761508],[-66.4232644072535,52.2197577712885],[-66.38960484308093,52.21256935246882],[-66.37134425352716,52.18736177270742],[-66.35683973888719,52.17660317849237],[-66.37979047517653,52.16261116408671],[-66.37636585958278,52.15281604387561],[-66.35797671906666,52.14657759992301],[-66.33322185520088,52.150705987246894],[-66.33011323811337,52.135934659861846],[-66.3068118092247,52.13682456381585],[-66.29168236316262,52.14682974295945],[-66.2694203700917,52.14920444782134],[-66.26411703867298,52.16518140764651],[-66.28669802684946,52.20853102731609],[-66.29939673188457,52.243243518644235],[-66.29824632529053,52.26131684032177],[-66.31256915131101,52.28551795314238],[-66.28346522621807,52.28537311844401],[-66.28961233690349,52.29674649835163],[-66.26004358503933,52.30927289227172],[-66.24869345563378,52.2895562064017],[-66.24964732384504,52.27398367878257],[-66.23728672139836,52.262841192127176],[-66.2181247724072,52.25712892774718],[-66.20572772810642,52.243875479867015],[-66.20835924411523,52.234093129463986],[-66.17697176714098,52.21329356477214],[-66.1600216618864,52.23165324844152],[-66.13841427494275,52.22457897667401],[-66.12797546324447,52.210192984925996],[-66.09793725449325,52.19545202943871],[-66.07716232326435,52.16226273251335],[-66.0781914415971,52.12465970446461],[-66.09636477143877,52.107808372161614],[-66.09691930298725,52.090728709708195],[-66.06631061415908,52.09777031339683],[-66.04959094202022,52.085429395722585],[-66.01563419368685,52.07992534501299],[-65.99619616193418,52.054737390492534],[-65.97040149108976,52.05650258191908],[-65.96143562973491,52.07741612574671],[-65.96785109372456,52.09309988936584],[-65.95478012925395,52.09987883851922],[-65.91928945261867,52.09113806214606],[-65.89771003767378,52.07606689486919],[-65.88901964024888,52.097060289396296],[-65.87698899843008,52.110405411755956],[-65.84204213469074,52.11647204048824],[-65.79736159707564,52.1056979126376],[-65.76160652846595,52.10429020060349],[-65.74942732296635,52.10990331331498],[-65.73834008846319,52.08521836645708],[-65.71392459909188,52.09616682709561],[-65.6865664629077,52.103754778177645],[-65.67482355736931,52.11763988615951],[-65.66242760079614,52.09235917403164],[-65.64856187220188,52.080920729732505],[-65.65123518326331,52.055258650583916],[-65.67991005156014,52.04150752952792],[-65.66869484935373,52.02634909502393],[-65.6781709906674,52.01349817487509],[-65.66864741472774,51.99436024457814],[-65.64680353178768,51.9872990428961],[-65.63404965869296,51.99996239075006],[-65.63672876765075,52.01165798514265],[-65.62054217180703,52.04301065543859],[-65.59828362816951,52.03489703686151],[-65.56418832653506,52.03385050220114],[-65.54844953117794,52.038933609720765],[-65.53109352698345,52.060633954914735],[-65.53066908843692,52.070800161135864],[-65.51375657105328,52.08281057883806],[-65.50175527678616,52.0980223844831],[-65.49999998495949,52.11034883477045],[-65.49010414037988,52.10211055810393],[-65.49719355718001,52.06032483099598],[-65.49607681212454,52.05020601640233],[-65.4561845145193,52.01108679660097],[-65.42676960988959,52.00401417489737],[-65.42486167517984,51.99344156092831],[-65.4109758399262,51.98638300124524],[-65.41229096162888,51.97131125893643],[-65.38997618195614,51.96335010083529],[-65.37121702935164,51.96734475669722],[-65.35477939591159,51.94273797338669],[-65.37409698857397,51.91575399532047],[-65.39322764163084,51.914906936992246],[-65.39756997055143,51.89084734860499],[-65.38513323713025,51.87388687382603],[-65.36259440398038,51.86420761341462],[-65.35504789657499,51.82987601325324],[-65.33678479183833,51.82322714245244],[-65.31783829346293,51.850760679051646],[-65.3232994107619,51.87003320428978],[-65.30023284723359,51.87796694025319],[-65.25387044917257,51.861474865447],[-65.26510524014067,51.83895391041258],[-65.24053718583637,51.822706684256545],[-65.21018477621492,51.812928233892585],[-65.19535808075304,51.82147054053299],[-65.16961455397652,51.82207925871411],[-65.17290081990348,51.80964604905551],[-65.16871287324827,51.789762586525804],[-65.18606374724608,51.77560635869955],[-65.18041801089002,51.76561953373121],[-65.16230436837455,51.76458308175235],[-65.1077051041906,51.748738066895875],[-65.08258584571438,51.746198638121086],[-65.07103758735765,51.76219723247404],[-65.04921692256049,51.76964739820524],[-65.0203997806761,51.76138567816908],[-64.9992320251772,51.75000093950531],[-64.987038341241,51.73143712452946],[-64.9576764238231,51.71658727209585],[-64.930705786493,51.71426156427522],[-64.91644515487754,51.73495677737003],[-64.91982885932715,51.76083259495321],[-64.93863909943383,51.764432338678596],[-64.92467534496355,51.77785845882942],[-64.89223732930783,51.76877919914723],[-64.87217653019692,51.77004483649131],[-64.84781502019767,51.76249865537446],[-64.81176350988443,51.77779510593966],[-64.79403477668875,51.76116683057106],[-64.77309872743521,51.7531352250833],[-64.73942154862453,51.76147271113877],[-64.73090611263416,51.75217683355332],[-64.70975060152603,51.7559540969791],[-64.70786108417138,51.72926621372488],[-64.68811739807187,51.717027399761385],[-64.67738368588275,51.701387631917946],[-64.6535478158672,51.70153364029871],[-64.63777697648055,51.679224867559725],[-64.62110056512206,51.66807004637551],[-64.61688639839215,51.6514123644981],[-64.62596583431315,51.6468560560283],[-64.62417182788433,51.62898471288294],[-64.59687449262158,51.62764560797273],[-64.5873029882035,51.60945981014456],[-64.57537103189267,51.601779677212846],[-64.554355793036,51.57580471165162],[-64.54157748852808,51.58643366606622],[-64.50764502507535,51.60553939839847],[-64.49088984728519,51.60908219123774],[-64.45663670021004,51.62681936773562],[-64.43430317458393,51.65099270586111],[-64.4298862196316,51.66783000432311],[-64.41733164065874,51.67495526974589],[-64.39559220260327,51.66396296836861],[-64.37753722512501,51.66402760338825],[-64.3589225406146,51.67155433545285],[-64.3371252063513,51.66529480198071],[-64.32206253633854,51.6850416903204],[-64.32238967309598,51.698008849303854],[-64.30521086430632,51.7035623623517],[-64.29398816001905,51.72275032163512],[-64.27641151438065,51.73653685664734],[-64.27828931705395,51.74637854889529],[-64.30483193001434,51.762828145694876],[-64.3071593492615,51.788059670524554],[-64.30245518757688,51.80364361555238],[-64.33870206538545,51.82881633322477],[-64.35270342515136,51.84927594247369],[-64.35303578269388,51.8870489129769],[-64.34005726455783,51.89049470380208],[-64.34429935285664,51.91269584185121],[-64.35725776594077,51.92736729870578],[-64.34507064566215,51.937484006876005],[-64.34529932172096,51.97333096485473],[-64.34169224167844,51.98590031528584],[-64.34795825414301,52.001285582620454],[-64.3228573768461,52.00486409645168],[-64.32296605797295,51.99439605649022],[-64.2991849249579,51.98641224402863],[-64.28009965909324,51.974751312023365],[-64.23710505385162,51.97795992476195],[-64.23395175106874,51.99090441237364],[-64.24651634980239,52.000948681606175],[-64.27937834984407,52.037560545670466],[-64.26929815133266,52.046856396660296],[-64.2810572212324,52.05594418770163],[-64.29186602044305,52.07764915913706],[-64.25153778243607,52.079746989143004],[-64.25662311832954,52.097198809866974],[-64.24604104777463,52.103013167826255],[-64.2538529411351,52.12148327132279],[-64.23627427280465,52.12936268556122],[-64.21120662230935,52.13223452917908],[-64.17298725796654,52.11293738620616],[-64.16467301678732,52.12393843660874],[-64.17741102541572,52.13379869226817],[-64.1607974478914,52.1460107280384],[-64.18826832768609,52.16414641478523],[-64.20069285933198,52.17701634808093],[-64.19840297790616,52.18878826636526],[-64.20994715970788,52.2028372712722],[-64.20973780149099,52.2185490701495],[-64.22399305127618,52.229543858510816],[-64.2175548893319,52.257101978776795],[-64.2365284949674,52.263939451492874],[-64.24656135419175,52.27539665583747],[-64.2326800169696,52.28793466097799],[-64.20981391568925,52.284544063664804],[-64.20688998437645,52.29420477480161],[-64.22558327051034,52.3025042219906],[-64.21024217232592,52.3135946369014],[-64.19963454751233,52.305610621508556],[-64.18005280912482,52.306413374795085],[-64.16474232488754,52.314389104090715],[-64.17197616350843,52.33077922701209],[-64.16742499446885,52.36154157999946],[-64.13801185932222,52.3669257889056],[-64.12701910365523,52.383801673114554],[-64.10922908846868,52.39405671795625],[-64.10741715019265,52.40830313751632],[-64.11471812952631,52.42003822658696],[-64.13497410107857,52.424532628864874],[-64.12778620878969,52.43426660074],[-64.1425925845301,52.46786430563679],[-64.14471073458031,52.491604643670655],[-64.15687452951113,52.50380175439899],[-64.15194855237944,52.51992314422003],[-64.16708114880805,52.52876149495811],[-64.17022059836874,52.543563069751904],[-64.19140484552514,52.55425230204492],[-64.21112116116045,52.5736015021442],[-64.19912019874181,52.5817013421648],[-64.194675804153,52.59577303230786],[-64.17153849303179,52.584252586],[-64.16773063152455,52.595950914934086],[-64.15455037296343,52.6034325731676],[-64.16847655050839,52.61206360317701],[-64.17005793345098,52.623727885134166],[-64.15312464382015,52.64037433492401],[-64.15888248305387,52.65847732595222],[-64.17298998887291,52.67056246637333],[-64.15349421894435,52.67314206054712],[-64.12765782233407,52.686423269071575],[-64.12583056198652,52.69845753615413],[-64.14758041575506,52.71370322501388],[-64.1373823937749,52.72923508055903],[-64.08963499445899,52.733195721364346],[-64.07953478877322,52.73658666456034],[-64.06289502985705,52.725046026202484],[-64.03930484924885,52.72588417977145],[-64.03727482876559,52.73824470949828],[-64.00704103887186,52.7370491134104],[-63.98273490270808,52.72544236292161],[-63.93741723299058,52.7310242940778],[-63.918230132052216,52.74006478691314],[-63.92125866228721,52.75643868661947],[-63.89296328042921,52.75007300104158],[-63.89391859842999,52.76386667511281],[-63.87294126566978,52.77396224550021],[-63.85411100792528,52.773422817553595],[-63.81897527219312,52.75853048137964],[-63.76436429787156,52.774073484179475],[-63.751623422262824,52.768422894097796],[-63.72148561344275,52.770311800200936],[-63.71406585928978,52.78642222806124],[-63.719539419734566,52.79896928229788],[-63.68982340264442,52.808390910426375],[-63.66006411711471,52.81123666772585],[-63.64412199311804,52.82376004196687],[-63.64171444013944,52.837329029941365],[-63.676078447709465,52.84906689795019],[-63.65212495951944,52.85287548873075],[-63.61644805273414,52.841606167304015],[-63.60662662749724,52.849903560034136],[-63.62416284413126,52.862373184424655],[-63.60928021551449,52.870490078810036],[-63.593895871751315,52.8927502377156],[-63.59977589593868,52.906858248601644],[-63.5949648937602,52.91746025340158],[-63.568378236373455,52.930213154613625],[-63.560226628068435,52.94114010118301],[-63.54402688530591,52.9386123469566],[-63.52067272341047,52.95200932097369],[-63.4700935503353,52.95652916459742],[-63.45270320366833,52.93851267805206],[-63.475340344656345,52.90627841490491],[-63.466646371015365,52.88463570164927],[-63.45594304904551,52.88276474172857],[-63.43147307578215,52.89094512450748],[-63.39364763826486,52.88594059992053],[-63.40476342268794,52.872666065414066],[-63.38966367460014,52.86354036626368],[-63.39189185734132,52.85488324735153],[-63.37446475069696,52.83225931465218],[-63.32059239151032,52.81832236002327],[-63.29914281053233,52.80082077090295],[-63.28710883315497,52.77587423175561],[-63.30049475178084,52.7597649563843],[-63.26867386176204,52.73570039165653],[-63.23137311726224,52.7149280506349],[-63.21893949673582,52.72182355845206],[-63.208668529163106,52.74271360079315],[-63.1759005453358,52.77071522556832],[-63.175886492387995,52.79251687506109],[-63.16317944787851,52.810593379190244],[-63.14433557664977,52.81455702052559],[-63.09968676022298,52.78840871489415],[-63.06592509802556,52.79359337162388],[-63.040178058125655,52.77649404334664],[-63.01581409150827,52.78514071741741],[-62.96215250098285,52.76007210390855],[-62.948105327238395,52.77246278274677],[-62.94584676444816,52.79328109452975],[-62.93307695961074,52.79830346405131],[-62.91166415896124,52.78666577271813],[-62.79665390257003,52.79440575181452],[-62.778673454296175,52.79433430274687],[-62.73868206426982,52.78768497834432],[-62.70145898128855,52.775492021378064],[-62.67765302754852,52.77542104328304],[-62.684537695658,52.78983722273731],[-62.68496871072528,52.81432256549553],[-62.67165147392096,52.814219038999234],[-62.63345496737065,52.79676636864771],[-62.59169855033413,52.8043613412256],[-62.60440581444907,52.82018734173026],[-62.64820756906074,52.83508656778273],[-62.65649272247377,52.84922040660293],[-62.65257798592362,52.857582904458525],[-62.679255114656,52.85920735941762],[-62.70130418875617,52.86650243357192],[-62.68649075641523,52.88608394869545],[-62.70764228267778,52.895929425319764],[-62.706819785927166,52.90909907501213],[-62.720536120996286,52.923779988508095],[-62.69550247731801,52.93827712706301],[-62.64643881102758,52.93444470448479],[-62.607436246844145,52.925768884871076],[-62.595621892612385,52.916011006771555],[-62.59018137180795,52.89848716971709],[-62.57201845755722,52.89787611447133],[-62.53638476716802,52.9157463283764],[-62.52553515710616,52.913177920030115],[-62.50054943991872,52.881463737976574],[-62.4819387166966,52.88092992526046],[-62.4593810590643,52.89094651706569],[-62.44696741057537,52.90850850502924],[-62.45405340514519,52.926024267411506],[-62.482363853827124,52.935943799410666],[-62.482901216538764,52.95152572066594],[-62.44928483653725,52.953400469103244],[-62.46521344481549,52.96834060223002],[-62.465241401687344,52.98033988400323],[-62.449961541849106,52.98727461618674],[-62.41661143780856,52.9827698456554],[-62.40344889034517,52.96957479344461],[-62.38189171939176,52.97114735681968],[-62.38816525687894,52.98619229455552],[-62.37715288122077,52.99810059643005],[-62.35134643234626,53.00686691984872],[-62.32479095320876,53.00573780874252],[-62.30998101909318,52.98316618698539],[-62.30688217232505,52.960688336249255],[-62.28889762690724,52.96773626008916],[-62.257470015313224,52.95384558630904],[-62.185028478568654,52.95768353675803],[-62.167409120707156,52.9654955976173],[-62.13542246066134,52.97124246179017],[-62.116369827791665,52.980961794733155],[-62.08969116225713,52.97325116025306],[-62.070111529706544,52.974211500194706],[-62.081988439450726,53.00073733941191],[-62.10528280050107,53.01732354341845],[-62.10114281159282,53.03965362218372],[-62.1189329205475,53.05917845666612],[-62.11030286705269,53.08824064227055],[-62.094186279603456,53.090045551223994],[-62.07815072266976,53.08123006527764],[-62.04722216300783,53.09378793884842],[-61.98695145998103,53.10178364138138],[-61.9042110936345,53.09619848322444],[-61.85299910943027,53.07988279942174],[-61.82964941276144,53.07843131587743],[-61.828183226091355,53.10845379847573],[-61.80543450494684,53.123249798456605],[-61.820399207634516,53.13707893762915],[-61.817976166178454,53.150869746407935],[-61.800231448268896,53.16931071325852],[-61.800895004796004,53.189700885564186],[-61.78820688836437,53.19495494188221],[-61.7582360027376,53.19360276675947],[-61.75383382123029,53.20266577136637],[-61.769740628724215,53.21696292596628],[-61.74470481486507,53.22480447907681],[-61.76851521452334,53.238842049578075],[-61.82002925200879,53.248510646264236],[-61.85482560551629,53.25244509782324],[-61.93683275601091,53.251395071078925],[-61.964463552195994,53.26002522651821],[-61.98046954773008,53.27365899036118],[-61.99079359305735,53.295117565873774],[-62.023607939728905,53.29311648593718],[-62.056891649423164,53.31410122881498],[-62.085789871091315,53.32795040454332],[-62.09334858021079,53.34922180244399],[-62.081174859796725,53.36591325600417],[-62.10168253628055,53.37221668472839],[-62.11510087171651,53.38389744237308],[-62.10752346363742,53.399330250298995],[-62.14330044484798,53.40181327599858],[-62.171082882611344,53.4084480734553],[-62.18824586888565,53.42070179828018],[-62.1942587353519,53.436077236685286],[-62.269366856019374,53.44660800664258],[-62.29290009145991,53.458841646332154],[-62.3357069466211,53.46143813589465],[-62.38968689340326,53.447062629845725],[-62.408685145684,53.44673333115097],[-62.437504523944526,53.45882999879625],[-62.456058006029416,53.461357025032605],[-62.53400307350553,53.460518315039515],[-62.55311724473696,53.46616399474566],[-62.60271922743721,53.45252980128385],[-62.639275978980194,53.449764909234],[-62.65304211875069,53.45661561650351],[-62.64316080647054,53.465465051375375],[-62.58981476430931,53.4792018809782],[-62.589838050632935,53.492770370867426],[-62.64993649498859,53.48720993311121],[-62.67057558006167,53.49961200873163],[-62.69224858298,53.49637056051102],[-62.73633210054152,53.500627708137614],[-62.77657707919301,53.49452976791681],[-62.796242186542166,53.50524234019009],[-62.78106468670881,53.51406351449855],[-62.78837603087922,53.530372208669135],[-62.76694701773155,53.53227919126236],[-62.72840589341138,53.54245159283087],[-62.713555434879495,53.55088886090291],[-62.73935971113067,53.55604943574065],[-62.770931151308595,53.55757272728491],[-62.74575384087805,53.57260304001789],[-62.7678284195123,53.57619854303911],[-62.70581061424368,53.60148810927377],[-62.673274138698694,53.60654527500247],[-62.672519209011526,53.63082830133135],[-62.64889321753381,53.63623031195974],[-62.61378662228037,53.631288003714296],[-62.59457063486159,53.633622875912444],[-62.536964998808585,53.658350151220645],[-62.4937269055231,53.66409959403569],[-62.47794605742408,53.67251190725299],[-62.45593459971649,53.67583910657384],[-62.449585131392396,53.68452229783783],[-62.463537138552525,53.69226172489641],[-62.48811487559636,53.693419144979096],[-62.53237626353324,53.68758875122843],[-62.58196822600157,53.67682244975165],[-62.60077225106765,53.682961668889895],[-62.62831386237303,53.675012169012966],[-62.655402850392186,53.67593805503527],[-62.684270000973164,53.689789977770545],[-62.69382752879558,53.71432456386284],[-62.72595517140092,53.72381142184402],[-62.72851562182945,53.74032818099294],[-62.661158115950116,53.75997713954002],[-62.639701849238236,53.77775704930088],[-62.66718882171504,53.79762865023125],[-62.717068661846625,53.805759672551204],[-62.702702465504,53.82196610192532],[-62.66234743830715,53.842940259386104],[-62.58950361562163,53.847853983855515],[-62.56565857327126,53.85989811975574],[-62.531308043442074,53.88516327185995],[-62.54709636721826,53.892706414944385],[-62.58082201789235,53.89159979429962],[-62.61959525867643,53.88546900816822],[-62.645239572706394,53.87390541491265],[-62.70205221941634,53.87249507849122],[-62.72528525173693,53.88812046272247],[-62.70896516749229,53.90812502149895],[-62.710394589619185,53.92022451296721],[-62.73349359155314,53.93557357701418],[-62.73104600685863,53.96006865784689],[-62.743210937346674,53.966306763885704],[-62.77396900609596,53.963578764982415],[-62.804348387556864,53.96880231901083],[-62.83221915265252,53.98226101016645],[-62.842507379141175,53.99413644144614],[-62.80953831316399,54.011039994612666],[-62.83391830278306,54.020257486285644],[-62.86274084674107,54.0149263050637],[-62.88098375944067,54.01791752303757],[-62.91757121955275,54.03083802537029],[-62.96641361803633,54.04220977864832],[-63.00000001629973,54.05256449388398],[-63.04681949341461,54.07362694479308],[-63.04722280300307,54.08732624607453],[-63.057326478695025,54.097354599259994],[-63.027876884449974,54.13383043413988],[-63.06435107722822,54.13666025469261],[-63.11144341102777,54.14986961222873],[-63.157850715415876,54.17753159881166],[-63.11759816789823,54.18177494437582],[-63.100232729866875,54.18994900047016],[-63.0815114620375,54.218688661397266],[-63.075187476412786,54.23829304709734]],[[-66.8914239750882,52.9375584590058],[-66.90206271907202,52.92718160090004],[-66.9415564355965,52.92983410091669],[-66.96757340296372,52.9247941972782],[-66.98848980180631,52.96039652937281],[-66.971726848094,52.98460042516368],[-66.92957165592964,52.99521368882916],[-66.91117627342187,52.99358300942013],[-66.88808035132264,52.977517874789754],[-66.90179122325306,52.964037372022005],[-66.88896117007015,52.93966537198474],[-66.8620960212586,52.938110600760375],[-66.84696930846918,52.91408530377654],[-66.8527112656197,52.881526644980475],[-66.82960902391976,52.841970789429816],[-66.95815507892873,52.84233411605101],[-66.95820946284786,52.85828671562574],[-66.94765606289785,52.86509991543645],[-66.955210989974,52.882191700089315],[-66.86071889370085,52.88217496815989],[-66.87679498638933,52.8920967756744],[-66.8891090171434,52.90868719345593],[-66.8914239750882,52.9375584590058]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.11099859763486,\"lat\":53.54039073084386},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1010\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"1010029\"],\"csd_name_en\":[\"Division No. 10\",\"Subd. D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Division No. 10, Subd. D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-60.14357511810363,53.521887493378884],[-60.17724869135781,53.51906948699739],[-60.198902217104575,53.52565759226865],[-60.22611588886797,53.51607437349378],[-60.14980178922346,53.51159665297756],[-60.14357511810363,53.521887493378884]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-60.18204959950953,\"lat\":53.517686825387855},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1010\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"1010802\"],\"csd_name_en\":[\"Sheshatshiu 3\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Sheshatshiu 3\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.344122669698855,46.46752615685428],[-63.34622570942737,46.45942675260735],[-63.33578051604074,46.4365966009605],[-63.32605073242062,46.429382401828576],[-63.30973678520973,46.4325946816657],[-63.295781496789616,46.452771796420215],[-63.27852179368883,46.447040767634064],[-63.250906023340974,46.48661501818757],[-63.25585223728948,46.48798036062501],[-63.30092269638331,46.463605356568756],[-63.3165504123352,46.4520899084615],[-63.3327781708406,46.46017108143188],[-63.344122669698855,46.46752615685428]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.30195799922305,\"lat\":46.455713121669675},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1102\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1102019\"],\"csd_name_en\":[\"North Rustico\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Fire District\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"North Rustico\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.50443833106443,46.23321528639187],[-63.48948062178321,46.23756892806033],[-63.491739640417975,46.24481315116696],[-63.50780994041912,46.2446410919686],[-63.50443833106443,46.23321528639187]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.498941228106524,\"lat\":46.23996843064284},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1102\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1102034\"],\"csd_name_en\":[\"Crapaud\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Crapaud\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.91046239045009,46.49987289888067],[-63.932814644103274,46.506403547106686],[-63.96852698014571,46.5373723353434],[-63.997659107287035,46.53210309416822],[-64.00846530880142,46.52065096981832],[-64.05423135745667,46.51239552955416],[-64.07973400279067,46.52844100904847],[-64.10754537457184,46.526272012275285],[-64.11726388732019,46.5296589920773],[-64.16775073924298,46.39863412082218],[-64.0037937829881,46.37399630363663],[-63.98196033435005,46.36057956875862],[-63.98902475296015,46.38770289307691],[-63.98965914545539,46.412066459826995],[-63.98338939915201,46.424456883556715],[-63.98651131573261,46.437638821810424],[-63.951502154016644,46.443632535973194],[-63.948299417691935,46.44853650145394],[-63.945167501727454,46.4611118957451],[-63.95348375486095,46.4668277835175],[-63.91046239045009,46.49987289888067]],[[-64.06198569901991,46.455613166544204],[-64.0888705985715,46.44948799564944],[-64.08583589317416,46.461463550183595],[-64.07885599093399,46.45599746230933],[-64.06198569901991,46.455613166544204]],[[-63.994831695485914,46.46122977899464],[-63.9966478065023,46.446603019853704],[-64.01122196918155,46.459285783384054],[-63.994831695485914,46.46122977899464]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.04718055128644,\"lat\":46.45611522566571},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1103\"],\"cd_name_en\":[\"Prince\"],\"csd_code\":[\"1103020\"],\"csd_name_en\":[\"Wellington\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Fire District\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Prince\",\"csd_name_fr\":\"Wellington\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.84131769993819,44.26869639738649],[-64.84417910089961,44.26761780930752],[-64.84063589636393,44.266176304225695],[-64.84131769993819,44.26869639738649]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.84204423240057,\"lat\":44.26749683697324},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1204\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1204001\"],\"csd_name_en\":[\"Medway River 11\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Medway River 11\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.93038572654893,44.35662346435314],[-64.93267699525188,44.34140226679682],[-64.91233589288987,44.33750231466416],[-64.90824253554293,44.367433813917096],[-64.92916319223541,44.36919295145573],[-64.93038572654893,44.35662346435314]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.92038317281092,\"lat\":44.3538834727024},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1204\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1204015\"],\"csd_name_en\":[\"Wildcat 12\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Wildcat 12\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.7705255832054,45.022921801142964],[-62.75334787999162,45.01778467337606],[-62.75006318007493,45.02060313677946],[-62.76456241174805,45.028554995317755],[-62.7705255832054,45.022921801142964]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.76046149907584,\"lat\":45.02282081809665},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1209\"],\"cd_name_en\":[\"Halifax\"],\"csd_code\":[\"1209037\"],\"csd_name_en\":[\"Beaver Lake 17\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Halifax\",\"csd_name_fr\":\"Beaver Lake 17\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.56447353238502,45.33904282962115],[-63.55624114840002,45.36075294246248],[-63.537024063574115,45.382061054404254],[-63.51221439251753,45.39142630492501],[-63.504534408934006,45.40060779227243],[-63.48059922133799,45.414813294249136],[-63.48102359474888,45.42495680924068],[-63.45809100805941,45.44129021435222],[-63.45256731286238,45.47386020773055],[-63.43870239431601,45.48905050006888],[-63.44377958630414,45.50926759450632],[-63.43841470315925,45.51694311005142],[-63.44385271236658,45.552138704152156],[-63.439398304742475,45.57101291079954],[-63.44579431033918,45.583577592410556],[-63.47848879344567,45.607915815379954],[-63.54836760146666,45.551148144089915],[-63.67133149647445,45.51271908698135],[-63.71710651724068,45.49188951953167],[-63.73740594903137,45.49033314177745],[-63.76567836482758,45.541743761095105],[-63.80146500036361,45.543432905243954],[-64.05679395556817,45.54760707800102],[-64.13372495391506,45.54801926881844],[-64.11311800165396,45.49477697279125],[-64.11782459111926,45.4638975970729],[-64.12474600938589,45.43994470361359],[-64.09877929796494,45.41043194657073],[-64.08925588016395,45.33144298707087],[-64.01910706915163,45.31554683725331],[-63.971618126044184,45.30319835451643],[-63.87881970528265,45.30904539698753],[-63.861932671742295,45.31461265266926],[-63.846789110134196,45.32870651462293],[-63.79706508927953,45.35447133414777],[-63.749215058794704,45.357393245592654],[-63.69810806292841,45.35232373100138],[-63.59034050896196,45.33910754731719],[-63.56447353238502,45.33904282962115]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.7986440346749,\"lat\":45.44384282770972},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1210\"],\"cd_name_en\":[\"Colchester\"],\"csd_code\":[\"1210012\"],\"csd_name_en\":[\"Colchester\",\"Subd. A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of county municipality \\/ Subdivision municipalit\\u00e9 de comt\\u00e9\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Colchester\",\"csd_name_fr\":\"Colchester, Subd. A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-61.353687291853035,45.60688299561521],[-61.326962814418565,45.61626026725632],[-61.357611988139844,45.642484193749816],[-61.37792635488265,45.631742458655275],[-61.36829482033381,45.614199783790156],[-61.353687291853035,45.60688299561521]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-61.354760056344155,\"lat\":45.62350369481844},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1215\"],\"cd_name_en\":[\"Inverness\"],\"csd_code\":[\"1215002\"],\"csd_name_en\":[\"Port Hawkesbury\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Inverness\",\"csd_name_fr\":\"Port Hawkesbury\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.5327028904904,45.362231288818975],[-65.5605860022521,45.34889099628821],[-65.53887942665203,45.34906804521175],[-65.5327028904904,45.362231288818975]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.54405610646484,\"lat\":45.35339677677299},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1301\"],\"cd_name_en\":[\"Saint John\"],\"csd_code\":[\"1301002\"],\"csd_name_en\":[\"St. Martins\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Saint John\",\"csd_name_fr\":\"St. Martins\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.45845592070665,45.02287083863086],[-66.25624600749718,45.12244094298297],[-66.2408775479461,45.13127625822511],[-66.23811639908935,45.20836418455974],[-66.23878194531329,45.285135698067464],[-66.24543726566108,45.283373329752486],[-66.36337445900318,45.25025244589954],[-66.45948747041216,45.221930443440854],[-66.46054923902558,45.18484809529038],[-66.45845592070665,45.02287083863086]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.35403004492433,\"lat\":45.16370736831569},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1301\"],\"cd_name_en\":[\"Saint John\"],\"csd_code\":[\"1301016\"],\"csd_name_en\":[\"Musquash\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Saint John\",\"csd_name_fr\":\"Musquash\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.74483015014981,44.556272643533376],[-66.71528454393649,44.555680602587195],[-66.69789288642085,44.56338973463522],[-66.68436136437462,44.57624507294345],[-66.67385683189652,44.59861011148181],[-66.66966052216439,44.6769213286011],[-66.68969960758878,44.662322474837374],[-66.73891639463025,44.6320532888336],[-66.74329601149512,44.617453417719446],[-66.74483015014981,44.556272643533376]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.70715521368479,\"lat\":44.60854094872193},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1302\"],\"cd_name_en\":[\"Charlotte\"],\"csd_code\":[\"1302001\"],\"csd_name_en\":[\"Grand Manan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Charlotte\",\"csd_name_fr\":\"Grand Manan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.0685739355077,45.09725347125546],[-67.08715937109206,45.091548768411414],[-67.08199399704763,45.075946489796806],[-67.06460419834238,45.0778525024066],[-67.04541559995258,45.068823010840156],[-67.03688600745757,45.074378706827424],[-67.06018888524993,45.10126424829453],[-67.0685739355077,45.09725347125546]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.06290054816267,\"lat\":45.084672066341504},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1302\"],\"cd_name_en\":[\"Charlotte\"],\"csd_code\":[\"1302026\"],\"csd_name_en\":[\"Saint Andrews\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town \\/ Ville\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Charlotte\",\"csd_name_fr\":\"Saint Andrews\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.38378887807953,45.82755110098058],[-65.44986120597417,45.85353820758494],[-65.46331748717746,45.87175839963704],[-65.47758149509538,45.87083464443282],[-65.52207578336753,45.97358676777895],[-65.66913549753652,45.87098727094391],[-65.75836791590407,45.80855171275631],[-65.65681413714148,45.76764749762717],[-65.66513902050544,45.749760847857075],[-65.70081299902374,45.73282673552586],[-65.68766519606872,45.702091701123216],[-65.66729881201435,45.65615395472177],[-65.65313099109575,45.66951764980732],[-65.59875664963711,45.70259633546826],[-65.58318498561076,45.7047474383148],[-65.56845886509112,45.713515481254625],[-65.55239085965914,45.71507584247993],[-65.53750719097764,45.72426199415643],[-65.52276395115155,45.73268668658933],[-65.51736737024778,45.743509814047584],[-65.4738547008724,45.746935372508744],[-65.45111908603162,45.741990250259505],[-65.46121735316304,45.76901680347946],[-65.38378887807953,45.82755110098058]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.5749429566919,\"lat\":45.813447875640996},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1305\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1305031\"],\"csd_name_en\":[\"Studholm\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Studholm\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.71883964717759,45.75003752299465],[-64.69448902022418,45.73545474202582],[-64.67559416683184,45.74364938222334],[-64.59517645013517,45.731030465834316],[-64.5919702397893,45.749888853925555],[-64.57691357719632,45.76132715778509],[-64.54997479213029,45.80216676119181],[-64.54110332920854,45.82663369941568],[-64.55608580661396,45.853004459262934],[-64.56874134450636,45.86275045755192],[-64.57660728226102,45.86857684100981],[-64.6491672576969,45.85173517257508],[-64.7396441038222,45.835611676204586],[-64.75666657305044,45.83014390453187],[-64.81867903375591,45.816336024230225],[-64.75030382950358,45.75059319882577],[-64.72181212975032,45.75891837109756],[-64.71883964717759,45.75003752299465]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.66209984717536,\"lat\":45.79919847772176},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1306\"],\"cd_name_en\":[\"Albert\"],\"csd_code\":[\"1306001\"],\"csd_name_en\":[\"Hopewell\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Albert\",\"csd_name_fr\":\"Hopewell\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.57660728226102,45.86857684100981],[-64.60380812572697,45.89235429079878],[-64.62401099546022,45.9318131603994],[-64.67245527404023,45.96921867785041],[-64.69328902251932,45.993203435969875],[-64.78518630809182,45.975975520439064],[-64.94998721674499,45.94340579285677],[-64.82257791739518,45.81550662241319],[-64.81867903375591,45.816336024230225],[-64.75666657305044,45.83014390453187],[-64.7396441038222,45.835611676204586],[-64.6491672576969,45.85173517257508],[-64.57660728226102,45.86857684100981]],[[-64.66292094382054,45.90223176299951],[-64.66408945204462,45.91603925597336],[-64.67782188901765,45.93121846243872],[-64.65275260781871,45.94508324801697],[-64.63651578806554,45.93324660502959],[-64.62484097382402,45.90506333961296],[-64.66292094382054,45.90223176299951]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.76482829232789,\"lat\":45.90519515459412},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1306\"],\"cd_name_en\":[\"Albert\"],\"csd_code\":[\"1306011\"],\"csd_name_en\":[\"Hillsborough\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Albert\",\"csd_name_fr\":\"Hillsborough\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.71971092521913,45.89177904113923],[-66.66408841037818,45.85409828699408],[-66.64069182863116,45.88339335355665],[-66.69547888357617,45.91993133843333],[-66.71971092521913,45.89177904113923]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.67997389895565,\"lat\":45.88721068741459},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1310\"],\"cd_name_en\":[\"York\"],\"csd_code\":[\"1310002\"],\"csd_name_en\":[\"New Maryland\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"York\",\"csd_name_fr\":\"New Maryland\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.88515775578912,45.92633063935055],[-66.97764547717435,46.000217797760406],[-66.99976671813245,46.01378612653406],[-67.04713000777356,46.05285193536838],[-67.13621953824224,46.12272264629683],[-67.16910982072794,46.10492599180418],[-67.18831769002183,46.0847827890584],[-67.1876029137203,46.07166020166998],[-67.20417875245514,46.05357729739157],[-67.18314651156163,46.04190279019271],[-67.22546961100167,45.99097840785504],[-67.2144257395333,45.990240590009336],[-67.17946313979974,45.97472175282354],[-67.1560195036749,45.973682359129036],[-67.13907422061664,45.96721840844332],[-67.06891694155922,45.92782948719767],[-67.05503266802063,45.920824012472686],[-67.01896837965148,45.91032755618079],[-67.00173798738551,45.89671470290959],[-66.97622361302051,45.884568501375774],[-66.9310079236054,45.87520657668967],[-66.92207832629697,45.87709490410833],[-66.91605108550054,45.89405055809085],[-66.88515775578912,45.92633063935055]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.0631279330377,\"lat\":45.991973617116},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1310\"],\"cd_name_en\":[\"York\"],\"csd_code\":[\"1310021\"],\"csd_name_en\":[\"Queensbury\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"York\",\"csd_name_fr\":\"Queensbury\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.90652378750772,46.528923327904856],[-66.96347184690022,46.65605718268937],[-67.03119010389725,46.573975225422224],[-67.10963713751008,46.477489559649705],[-67.1399699082588,46.438581214670606],[-67.20680590947579,46.351654973887086],[-67.25085259685717,46.295852876437756],[-67.0292755077815,46.202933603844606],[-67.01546840533818,46.18468480394966],[-67.02163961166353,46.15052419448041],[-67.03559968440761,46.13839839881864],[-67.02950768391294,46.113783297802165],[-67.01498930203245,46.102115608837856],[-66.98920569126965,46.09952299970881],[-66.98083400877574,46.09199300677907],[-66.95816889003362,46.09103119813694],[-66.94795289792258,46.06205758564454],[-66.93746698048328,46.05456240389657],[-66.89647440061319,46.05782150428037],[-66.85409870033764,46.051443691220314],[-66.83575270892086,46.0133908925977],[-66.84030108950036,46.00683119662942],[-66.82529535140472,45.982012964741216],[-66.82054722396867,45.964472399398396],[-66.80373523227136,45.980334362147566],[-66.77850057945756,45.986515636215366],[-66.73372491792244,45.97664098471532],[-66.71982950480601,45.993253418542125],[-66.69746552083721,45.99159211931935],[-66.67715973450758,46.0207214457985],[-66.62475376439522,46.022332615320416],[-66.60594434627517,46.016330685396845],[-66.59782197614176,46.02660461187273],[-66.6573878755112,46.049325532543165],[-66.69170193474908,46.13900474189856],[-66.72061160834326,46.13539001230186],[-66.75116992268134,46.136450488403774],[-66.77038182535921,46.18802191256714],[-66.7890896809621,46.243664692256914],[-66.79457805585051,46.27765718424584],[-66.82217071731019,46.342767687461745],[-66.85544164007848,46.41638640577083],[-66.90652378750772,46.528923327904856]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.94213197622067,\"lat\":46.28214390149693},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1310\"],\"cd_name_en\":[\"York\"],\"csd_code\":[\"1310028\"],\"csd_name_en\":[\"Douglas\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"York\",\"csd_name_fr\":\"Douglas\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.29440573438075,47.44067833162027],[-67.43496729041814,47.485110921405784],[-67.53485399697536,47.51761603950142],[-67.68853540123908,47.56853973673969],[-67.6886530017549,47.53563141962077],[-67.68922365014942,47.44935496210585],[-67.68917367915338,47.231698194946986],[-67.68888770078846,47.173546252567526],[-67.66956922904023,47.16788638074241],[-67.6739273629247,47.14444457642197],[-67.69673508559205,47.105691294267935],[-67.70901984604123,47.0930738350448],[-67.70793313084557,47.075967470322894],[-67.73038091398027,47.067027001173805],[-67.7122702382756,47.05495806847046],[-67.73741057294559,47.041367188964266],[-67.73024407828795,47.023392932760316],[-67.73100450498335,47.01120617081362],[-67.71591330853573,47.00005717547517],[-67.70710860524974,46.98369588542245],[-67.69357151476433,46.976871169065184],[-67.67767971425361,46.961165120470525],[-67.67832563333761,46.94460273009097],[-67.67193150347195,46.957449086025846],[-67.64549289978117,46.984345586407414],[-67.6261915980356,46.995992803096286],[-67.61902428514817,47.00990080652466],[-67.54425227644995,47.083729309680926],[-67.54932018164646,47.08638362295614],[-67.51170297768668,47.125178864109735],[-67.57395177283864,47.153575483565604],[-67.49080593163002,47.24149672966389],[-67.39102911702945,47.34351015621325],[-67.29440573438075,47.44067833162027]],[[-67.65904340931056,47.03430697596838],[-67.67588623383162,47.01702240992893],[-67.69618503749884,47.02679383577868],[-67.69937334596172,47.04370671656463],[-67.68744945107963,47.05624408879422],[-67.65406823368971,47.04036834028206],[-67.65904340931056,47.03430697596838]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.56761523757122,\"lat\":47.308468683660905},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1312\"],\"cd_name_en\":[\"Victoria\"],\"csd_code\":[\"1312021\"],\"csd_name_en\":[\"Drummond\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Victoria\",\"csd_name_fr\":\"Drummond\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-61.46446009143579,47.54018676578074],[-61.44018434812748,47.5557248132368],[-61.35768729011264,47.62999433289795],[-61.310910773245006,47.69423914272151],[-61.27505764701866,47.73709323632373],[-61.24758701732012,47.76194957102137],[-61.20232578186975,47.786092221072686],[-61.15598451196056,47.81448171055936],[-61.116548422189084,47.83450692029179],[-61.10861969126795,47.84467301250645],[-61.12090089493167,47.85951209530809],[-61.26498269850413,47.83930389872813],[-61.49348752186432,47.811758701784655],[-61.537275829718695,47.76301390096891],[-61.53294259481121,47.74366264951241],[-61.56326443704486,47.702253011897575],[-61.602725027958584,47.64222289120665],[-61.64299564041161,47.589643612211454],[-61.61218939997278,47.56399795828131],[-61.51631888679772,47.59166830371248],[-61.46446009143579,47.54018676578074]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-61.411415053312815,\"lat\":47.712093428161},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2401\"],\"cd_name_en\":[\"Communaut\\u00e9 maritime des \\u00celes-de-la-Madeleine\"],\"csd_code\":[\"2401042\"],\"csd_name_en\":[\"Grosse-\\u00cele\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Communaut\\u00e9 maritime des \\u00celes-de-la-Madeleine\",\"csd_name_fr\":\"Grosse-\\u00cele\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.70693649200147,48.00778138248741],[-66.67665892705381,48.01216834134436],[-66.72262358663805,48.02936294856904],[-66.7133304271471,48.04295605213089],[-66.73018177974862,48.06875449190085],[-66.72228396361405,48.07475332014422],[-66.74541844251125,48.11355451284498],[-66.80591934574437,48.09590814011956],[-66.7805599495379,48.057133257117336],[-66.7609632001989,48.02638770545829],[-66.74734671977149,48.02921734919447],[-66.746295783902,48.013168492855016],[-66.72305516860222,48.00906595156261],[-66.70693649200147,48.00778138248741]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.74967407096655,\"lat\":48.06096687881565},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2406\"],\"cd_name_en\":[\"Avignon\"],\"csd_code\":[\"2406804\"],\"csd_name_en\":[\"Listuguj\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Avignon\",\"csd_name_fr\":\"Listuguj\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.28270249157364,48.6223020541072],[-66.54361833647185,48.794834527683285],[-66.56211908169661,48.78903911231813],[-66.55942768675418,48.738499261541776],[-66.57663638926277,48.74216180296223],[-66.62849713800165,48.724700927769035],[-66.6848931635563,48.70242960900952],[-66.71532303926003,48.68449985017758],[-66.74004627646626,48.67500619423614],[-66.7520627924841,48.66301073058667],[-66.77954803382289,48.68120362603871],[-66.79089868760171,48.6745879897249],[-66.82170069451423,48.66726390915071],[-66.83001380648551,48.6700736095233],[-66.85508414029803,48.662223986307765],[-66.84179536942735,48.61755692740582],[-66.87814795570131,48.60216820105297],[-66.91064688520412,48.59776913497804],[-66.92733641127475,48.601327096717306],[-66.98458981473769,48.577351205665536],[-67.00718768205752,48.56984861778392],[-67.06201026870698,48.57058601853379],[-67.07426964661137,48.58027105129314],[-67.13161751473055,48.54223341721831],[-66.94843934492097,48.453031078232726],[-66.67432647984131,48.52341078993349],[-66.28270249157364,48.6223020541072]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.6904956202224,\"lat\":48.60563508104579},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2407\"],\"cd_name_en\":[\"La Matap\\u00e9dia\"],\"csd_code\":[\"2407910\"],\"csd_name_en\":[\"Ruisseau-des-Mineurs\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Matap\\u00e9dia\",\"csd_name_fr\":\"Ruisseau-des-Mineurs\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.33176923743616,48.37075782996559],[-68.4080127302937,48.4157173640215],[-68.41606844542994,48.4076756106714],[-68.4688240743277,48.4392499496679],[-68.46003598939926,48.45027770063096],[-68.4795081442364,48.465272884874],[-68.46562599093879,48.48059373166021],[-68.44188407793418,48.49106503825406],[-68.4420478821989,48.5002658938246],[-68.41879808354113,48.511593005649274],[-68.402632737461,48.513568559753594],[-68.42622969759732,48.528348552886705],[-68.64637044617514,48.64680986582001],[-68.672634379639,48.63336637103662],[-68.8793095189874,48.52716181932884],[-68.93231086941648,48.50017226873409],[-68.9751470054596,48.46967687245916],[-68.9917213680187,48.45786143074825],[-68.93149767745999,48.414588766783886],[-68.92095752377975,48.389433592085766],[-68.89809442748344,48.37639644256735],[-68.87646740517569,48.37481114006643],[-68.85422874299076,48.379134911505915],[-68.73420672172321,48.305531521187866],[-68.69405640010388,48.327382727805606],[-68.66651919094127,48.33856528832176],[-68.6593421238137,48.349899572165924],[-68.62927641533618,48.35974339172115],[-68.59653181923412,48.378258317796345],[-68.54206774837371,48.34504413284424],[-68.57528420095028,48.332622036807265],[-68.50466806506611,48.2895045523323],[-68.48895323978077,48.28032695970239],[-68.42949501448774,48.32285268579752],[-68.41332438682358,48.31304879540607],[-68.37447415113814,48.340297421130416],[-68.33176923743616,48.37075782996559]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.65713378094682,\"lat\":48.45675382544508},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2410\"],\"cd_name_en\":[\"Rimouski-Neigette\"],\"csd_code\":[\"2410043\"],\"csd_name_en\":[\"Rimouski\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Rimouski-Neigette\",\"csd_name_fr\":\"Rimouski\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.81122534278579,47.97784276104234],[-68.86088335125478,48.01060048442435],[-68.92433461413195,48.05280839070825],[-68.96441963549134,48.0185314847453],[-69.04520698548214,48.06865816175574],[-69.07494118187286,48.048266616855],[-69.09771162173323,48.06195380980807],[-69.10576742813136,48.05846453477851],[-69.11809814366826,48.034592941003815],[-69.13627126650434,48.031842430926865],[-69.12111121619287,48.01591830433254],[-69.102267196308,48.010975272233686],[-69.10039881078431,48.002068439199164],[-69.11309179052351,47.9870747825235],[-69.08250720520988,47.986811448796],[-69.08300938433888,47.9634144293089],[-69.06166300355083,47.963180303761774],[-69.05836097934463,47.93310261567359],[-69.0383693939157,47.9220152017303],[-68.99229543857976,47.95576016224734],[-68.92588346481253,48.00392365259241],[-68.90971546342563,47.99433309385416],[-68.88628424219254,47.989657494416264],[-68.86576758070137,48.00377770199258],[-68.84393450655368,47.98844320876286],[-68.81122534278579,47.97784276104234]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.00967250416328,\"lat\":48.004456600520854},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2411\"],\"cd_name_en\":[\"Les Basques\"],\"csd_code\":[\"2411010\"],\"csd_name_en\":[\"Saint-Jean-de-Dieu\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Basques\",\"csd_name_fr\":\"Saint-Jean-de-Dieu\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.15814021334873,48.114150147602885],[-69.14079887792819,48.12616719282013],[-69.18468867755554,48.15391943421132],[-69.2125482772415,48.134228121080504],[-69.17421518390097,48.110253409449925],[-69.15814021334873,48.114150147602885]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.17693742008831,\"lat\":48.130793178140046},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2411\"],\"cd_name_en\":[\"Les Basques\"],\"csd_code\":[\"2411040\"],\"csd_name_en\":[\"Trois-Pistoles\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Basques\",\"csd_name_fr\":\"Trois-Pistoles\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.07641730372899,48.15137774385467],[-69.10814488640906,48.17094459599852],[-69.25599131692985,48.26696790987171],[-69.27877059095327,48.25003341054508],[-69.3888571092536,48.16744669690886],[-69.26244024857051,48.07950679820229],[-69.24459797937219,48.067967935317085],[-69.23755720262558,48.07361044134146],[-69.19273427097703,48.07897624377929],[-69.188549411981,48.0619556446239],[-69.15865831523111,48.04484608827369],[-69.12741280714233,48.076438188093476],[-69.10426656030474,48.08352829360958],[-69.0773706049967,48.10289872506103],[-69.06277554680781,48.105618722748765],[-69.06082618889596,48.12307266593114],[-69.04709449896795,48.1324396104711],[-69.07641730372899,48.15137774385467]],[[-69.15814021334873,48.114150147602885],[-69.17421518390097,48.110253409449925],[-69.2125482772415,48.134228121080504],[-69.18468867755554,48.15391943421132],[-69.14079887792819,48.12616719282013],[-69.15814021334873,48.114150147602885]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.220446990425,\"lat\":48.15322236451181},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2411\"],\"cd_name_en\":[\"Les Basques\"],\"csd_code\":[\"2411045\"],\"csd_name_en\":[\"Notre-Dame-des-Neiges\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Basques\",\"csd_name_fr\":\"Notre-Dame-des-Neiges\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.310495719485,47.77610488119871],[-69.28078646188784,47.75552252428215],[-69.25079129863423,47.77535995870848],[-69.25882934055352,47.780823566802034],[-69.14332436104908,47.85972205601133],[-69.18591318146937,47.88826088326424],[-69.22102752921401,47.91167023650458],[-69.32296290255309,47.84197114351384],[-69.30743944242445,47.83137072966137],[-69.31814209577904,47.82401691858444],[-69.29398130471549,47.807737703629485],[-69.32623580251902,47.785851218850766],[-69.310495719485,47.77610488119871]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.2442096110339,\"lat\":47.83802488362196},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2412\"],\"cd_name_en\":[\"Rivi\\u00e8re-du-Loup\"],\"csd_code\":[\"2412025\"],\"csd_name_en\":[\"Saint-Fran\\u00e7ois-Xavier-de-Viger\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Rivi\\u00e8re-du-Loup\",\"csd_name_fr\":\"Saint-Fran\\u00e7ois-Xavier-de-Viger\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.25384580900713,47.94924783042064],[-69.27288265424237,47.9560116736487],[-69.29715801919497,47.951625596799545],[-69.33292032997112,47.9373085947474],[-69.38538738707007,47.883610228225415],[-69.32296290255309,47.84197114351384],[-69.22102752921401,47.91167023650458],[-69.25257723902864,47.93239815800904],[-69.24018685247003,47.94061255859392],[-69.25384580900713,47.94924783042064]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.30425509840468,\"lat\":47.902445920333705},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2412\"],\"cd_name_en\":[\"Rivi\\u00e8re-du-Loup\"],\"csd_code\":[\"2412030\"],\"csd_name_en\":[\"Saint-\\u00c9piphane\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Rivi\\u00e8re-du-Loup\",\"csd_name_fr\":\"Saint-\\u00c9piphane\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.275902533036,47.4094739046479],[-69.36783141921354,47.47081617680661],[-69.45362416053965,47.52630120140586],[-69.56521660656178,47.44811565686705],[-69.5886023647136,47.43126561304431],[-69.39087385658277,47.297623983382074],[-69.275902533036,47.4094739046479]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.42813464115252,\"lat\":47.415110996011144},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2413\"],\"cd_name_en\":[\"T\\u00e9miscouata\"],\"csd_code\":[\"2413100\"],\"csd_name_en\":[\"Saint-Athanase\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscouata\",\"csd_name_fr\":\"Saint-Athanase\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.65160756109285,47.62805034567314],[-69.67832201361384,47.64439458521225],[-69.6597877913071,47.67012303923319],[-69.64681322317587,47.68243969110908],[-69.66883830730357,47.6966654073813],[-69.65270684208022,47.71130957265158],[-69.64047760060745,47.71265999375819],[-69.73273493544397,47.775467219031974],[-69.68848361351421,47.81925990931891],[-69.65701796197537,47.85940116133595],[-69.65189186563694,47.915364309692144],[-69.67202556298317,47.941044129002925],[-69.71967791818982,47.89159810465108],[-69.76313958496051,47.83610415229391],[-69.83517617562099,47.74702728057868],[-69.87538338923756,47.697873328018176],[-69.76279604660947,47.62500362514171],[-69.75459950229805,47.63121702191135],[-69.7242206253403,47.61121719134783],[-69.70495652695861,47.615035068825655],[-69.69156695586476,47.633428377298934],[-69.66929534759922,47.61891371157639],[-69.65160756109285,47.62805034567314]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.74109953376501,\"lat\":47.7460129391062},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2414\"],\"cd_name_en\":[\"Kamouraska\"],\"csd_code\":[\"2414040\"],\"csd_name_en\":[\"Saint-Andr\\u00e9-de-Kamouraska\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Kamouraska\",\"csd_name_fr\":\"Saint-Andr\\u00e9-de-Kamouraska\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.84870918575439,47.497783694301084],[-69.85381881341439,47.49333232611173],[-69.87990059247934,47.50691725920044],[-69.90208607602207,47.48762348351339],[-69.91739216873451,47.46065265350747],[-69.92041135908349,47.44800324836412],[-69.93268893864604,47.44216484138258],[-69.90965844960068,47.42643112541853],[-69.86843743804155,47.452553202045195],[-69.83209082148231,47.47275518397926],[-69.828392021911,47.481767161018055],[-69.84870918575439,47.497783694301084]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.88139162417104,\"lat\":47.468564965602866},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2414\"],\"cd_name_en\":[\"Kamouraska\"],\"csd_code\":[\"2414060\"],\"csd_name_en\":[\"Saint-Philippe-de-N\\u00e9ri\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Kamouraska\",\"csd_name_fr\":\"Saint-Philippe-de-N\\u00e9ri\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.33030868363657,46.87958934817132],[-70.27329784579015,46.91656273635414],[-70.24343824752214,46.939245261704215],[-70.29697301600422,46.98456473299313],[-70.34296767697879,47.01611091698933],[-70.4633158882934,47.09994217320529],[-70.50570284821272,47.05648415745107],[-70.52567252655734,47.04360594370162],[-70.55752100102977,47.02889849571274],[-70.51626357059115,47.001582422305795],[-70.42697266417154,46.93985327130474],[-70.42238653643099,46.94295098285074],[-70.33030868363657,46.87958934817132]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.39705660923669,\"lat\":46.98752947032289},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2418\"],\"cd_name_en\":[\"Montmagny\"],\"csd_code\":[\"2418045\"],\"csd_name_en\":[\"Cap-Saint-Ignace\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Montmagny\",\"csd_name_fr\":\"Cap-Saint-Ignace\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.42697266417154,46.93985327130474],[-70.51626357059115,47.001582422305795],[-70.55752100102977,47.02889849571274],[-70.58990937568008,47.01857040327938],[-70.61499395791314,47.0063892159069],[-70.66223392516996,46.975794474719464],[-70.67136198384542,46.953964479596],[-70.6713325902517,46.93284644709631],[-70.64909080487071,46.94222460426833],[-70.6294964278343,46.95510748008864],[-70.58398839435229,46.92187385437421],[-70.5182621067865,46.87893215497334],[-70.42697266417154,46.93985327130474]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.54919961483722,\"lat\":46.95654957317307},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2418\"],\"cd_name_en\":[\"Montmagny\"],\"csd_code\":[\"2418050\"],\"csd_name_en\":[\"Montmagny\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Montmagny\",\"csd_name_fr\":\"Montmagny\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.8803582675834,46.80484399104584],[-70.92204824574577,46.83469346231524],[-70.9241403543147,46.82160774093731],[-70.94567630748911,46.80245388900249],[-70.96907947764052,46.798002108158514],[-70.9792861072708,46.78534333614041],[-70.9939424697272,46.77971871181706],[-71.03172553329067,46.75905350208214],[-71.00804925099767,46.74210115254413],[-70.947932688051,46.69929102144891],[-70.91532545749921,46.712555354706545],[-70.89773891380213,46.73253970790888],[-70.86173461179277,46.766395994357616],[-70.8751658908546,46.76467225408155],[-70.8956942295916,46.776602334146546],[-70.8803582675834,46.80484399104584]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.94113138875905,\"lat\":46.76162284299409},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2419\"],\"cd_name_en\":[\"Bellechasse\"],\"csd_code\":[\"2419097\"],\"csd_name_en\":[\"Saint-Charles-de-Bellechasse\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Bellechasse\",\"csd_name_fr\":\"Saint-Charles-de-Bellechasse\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.34930099506325,45.870340355107935],[-71.37629499834554,45.8763894825706],[-71.41923171155125,45.897854782005744],[-71.44897486488526,45.86936610251673],[-71.45509004078583,45.87267637971573],[-71.46789859432648,45.8192197767973],[-71.4641199201299,45.816742804409785],[-71.43667967158946,45.7987433490118],[-71.39271536453774,45.768742816114845],[-71.37677938386295,45.77589036682367],[-71.34649921270778,45.79901279853959],[-71.34080439989414,45.80860655312716],[-71.33873205172995,45.84203007860893],[-71.35267068195948,45.8624532447405],[-71.34930099506325,45.870340355107935]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.40078290502166,\"lat\":45.8333844651726},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2431\"],\"cd_name_en\":[\"Les Appalaches\"],\"csd_code\":[\"2431008\"],\"csd_name_en\":[\"Beaulac-Garthby\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Appalaches\",\"csd_name_fr\":\"Beaulac-Garthby\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.23095390999701,46.023905791271616],[-71.27525989687292,46.02262982647699],[-71.31411548607637,46.04363252224585],[-71.32784215871483,46.03060272415935],[-71.35251764136427,46.03657411258754],[-71.36709756941062,46.03424905255181],[-71.37852833170095,46.02393417114555],[-71.40280852409134,46.03698514166797],[-71.4170385160569,46.029375733197234],[-71.43865230736614,46.0076573814914],[-71.44241212452854,45.993489200541354],[-71.41291579375039,45.97763414935267],[-71.31189476998246,45.92468799740767],[-71.2821250836234,45.9393755994386],[-71.26975288735339,45.95117877850558],[-71.24205334798862,45.967269225500495],[-71.2217870129034,45.97012640276469],[-71.22980618498745,46.00637670500733],[-71.23095390999701,46.023905791271616]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.32681384847106,\"lat\":45.989892520758126},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2431\"],\"cd_name_en\":[\"Les Appalaches\"],\"csd_code\":[\"2431045\"],\"csd_name_en\":[\"Saint-Joseph-de-Coleraine\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Appalaches\",\"csd_name_fr\":\"Saint-Joseph-de-Coleraine\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.4700882801752,46.49573267576081],[-71.50169543221877,46.52048715150119],[-71.51111673770937,46.51143243520994],[-71.53469445736064,46.48395062392849],[-71.6018599699713,46.486448131335145],[-71.58330367456381,46.47273009036073],[-71.61751843976297,46.45213937196966],[-71.56546207009875,46.41342860715279],[-71.5308404594308,46.43400471689548],[-71.53757864899737,46.443510373067234],[-71.45223643117569,46.44135301137155],[-71.4952707759514,46.4717206689276],[-71.4700882801752,46.49573267576081]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.53690535421997,\"lat\":46.463229929972606},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2433\"],\"cd_name_en\":[\"Lotbini\\u00e8re\"],\"csd_code\":[\"2433040\"],\"csd_name_en\":[\"Dosquet\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Lotbini\\u00e8re\",\"csd_name_fr\":\"Dosquet\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.25473599584704,47.261517928582414],[-72.2658502360277,47.26732029690078],[-72.28505513003994,47.26558625086849],[-72.32238178522546,47.28384539753163],[-72.34191308601753,47.28373682018319],[-72.42689706778485,47.299851506932626],[-72.40076261296245,47.35376951628467],[-72.4452703152844,47.38666758253747],[-72.44042218303484,47.402317693690854],[-72.47936693555704,47.37940525953983],[-72.47214715166263,47.3349817081775],[-72.50224433453751,47.326650566847576],[-72.54756834461237,47.309668799919415],[-72.54719714345538,47.204104494648675],[-72.53711215797614,47.183706943419864],[-72.5151486593487,47.144656516430565],[-72.44231264765101,47.144323602946905],[-72.41960826931324,47.12932440789069],[-72.39386745247427,47.128695383686974],[-72.37152567627578,47.10173213512893],[-72.2876321860077,47.15874831579564],[-72.2860067944508,47.19366793114354],[-72.27018710706402,47.2145546053361],[-72.25088928118666,47.228334835400425],[-72.25473599584704,47.261517928582414]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.41671334207682,\"lat\":47.23277081248583},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2434\"],\"cd_name_en\":[\"Portneuf\"],\"csd_code\":[\"2434906\"],\"csd_name_en\":[\"Lac-Lapeyr\\u00e8re\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Portneuf\",\"csd_name_fr\":\"Lac-Lapeyr\\u00e8re\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.1688536972231,46.87485233588551],[-72.27479445873425,46.94655659767416],[-72.35450126624517,47.00233529751076],[-72.41774669489979,46.9653321749521],[-72.35330696425274,46.91776337477523],[-72.319059561017,46.89435745421784],[-72.36678917633925,46.86070618904172],[-72.34383885034666,46.83942574479165],[-72.36227984611664,46.82236949293255],[-72.35335697332512,46.81686465259479],[-72.33400141844429,46.814519486683395],[-72.30646238663009,46.83334968216203],[-72.30059053596555,46.82797374713578],[-72.27153411740025,46.84658247143104],[-72.24797696386759,46.828691415942124],[-72.22868265116558,46.83517145586078],[-72.19825021765796,46.855481763107825],[-72.1688536972231,46.87485233588551]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.29796345908187,\"lat\":46.902333659217575},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2435\"],\"cd_name_en\":[\"M\\u00e9kinac\"],\"csd_code\":[\"2435005\"],\"csd_name_en\":[\"Notre-Dame-de-Montauban\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"M\\u00e9kinac\",\"csd_name_fr\":\"Notre-Dame-de-Montauban\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.16686524254642,46.213159085797905],[-72.17745465985737,46.220937522854896],[-72.13416951775876,46.25133555495114],[-72.165826688976,46.27380491365462],[-72.18299733886016,46.28593037876593],[-72.22777173516097,46.25612080308579],[-72.25210207778315,46.27349118684085],[-72.33070767504469,46.22156732457854],[-72.32794213087928,46.21151502049409],[-72.28946581576746,46.20369526227513],[-72.2816667337684,46.19405524518362],[-72.25142581082714,46.20538793090816],[-72.24565189870863,46.20266129833839],[-72.21787455110699,46.19520494561204],[-72.19915142652567,46.199509769304015],[-72.16686524254642,46.213159085797905]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.22958906698706,\"lat\":46.235013502019555},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2438\"],\"cd_name_en\":[\"B\\u00e9cancour\"],\"csd_code\":[\"2438005\"],\"csd_name_en\":[\"Saint-Sylv\\u00e8re\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"B\\u00e9cancour\",\"csd_name_fr\":\"Saint-Sylv\\u00e8re\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.68251304095641,45.97018358037703],[-71.75015956690575,46.00395167217683],[-71.80589155065832,46.033189461155715],[-71.80927119448212,46.035130318487106],[-71.86885378282813,45.976381492451495],[-71.87718317297833,45.96582116567374],[-71.8496527818843,45.951206206316456],[-71.85878110715672,45.941547140085056],[-71.82748196477604,45.92724894355371],[-71.8187587155645,45.935696030683985],[-71.75239282519811,45.901708692338666],[-71.68611830323623,45.96670799225215],[-71.68251304095641,45.97018358037703]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.78262758387756,\"lat\":45.96732340381869},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2439\"],\"cd_name_en\":[\"Arthabaska\"],\"csd_code\":[\"2439030\"],\"csd_name_en\":[\"Chesterville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Arthabaska\",\"csd_name_fr\":\"Chesterville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.00460643983752,46.10921342368819],[-72.05192985938781,46.100630296033586],[-72.0549266943189,46.12889398872485],[-72.12917911618759,46.11466447285747],[-72.1294680098995,46.129291549887526],[-72.14942399692676,46.12519022826451],[-72.14949972176092,46.11060262637274],[-72.17255118253925,46.1058797494491],[-72.1780159424822,46.097189710263315],[-72.17865713661291,46.07565876462539],[-72.16241925602132,46.07837036073149],[-72.16168246737922,46.03471007927808],[-72.14544620672157,46.03423093183809],[-72.11358120151655,46.01717523305382],[-72.09711419076643,46.03278635305602],[-72.08247919996592,46.02463494933286],[-72.06901444923128,46.03737800674366],[-72.05449679424989,46.02915110373287],[-72.04526939376812,46.03775410092842],[-72.01776427133998,46.06227326174804],[-72.02469552686138,46.075229442222906],[-72.00319332089055,46.07989215605909],[-72.00460643983752,46.10921342368819]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.09509439838548,\"lat\":46.076260095036396},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2439\"],\"cd_name_en\":[\"Arthabaska\"],\"csd_code\":[\"2439135\"],\"csd_name_en\":[\"Saint-Val\\u00e8re\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Arthabaska\",\"csd_name_fr\":\"Saint-Val\\u00e8re\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.99923486429837,45.55044134876411],[-72.01102416963681,45.55131948764892],[-72.0345675389152,45.563833963528765],[-72.01789278474087,45.58064069664234],[-72.03320685418117,45.593015786327854],[-72.05236266990495,45.600380525673],[-72.14324414717649,45.51440264166031],[-72.12880580266297,45.49894430971963],[-72.13910189831904,45.49116679646196],[-72.13313151121153,45.47353039142783],[-72.10853363190209,45.4895676315046],[-72.0975559167045,45.48403704414154],[-72.08519230752536,45.495546964183056],[-72.03544876110101,45.4701165173413],[-71.98740170492812,45.51924896232639],[-71.98515335154671,45.53554259485084],[-71.99923486429837,45.55044134876411]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.06088304069468,\"lat\":45.52842519353419},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2442\"],\"cd_name_en\":[\"Le Val-Saint-Fran\\u00e7ois\"],\"csd_code\":[\"2442020\"],\"csd_name_en\":[\"Saint-Fran\\u00e7ois-Xavier-de-Brompton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Val-Saint-Fran\\u00e7ois\",\"csd_name_fr\":\"Saint-Fran\\u00e7ois-Xavier-de-Brompton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.3546332376113,45.37705759884786],[-72.24885189132843,45.37464855718851],[-72.24004258533895,45.41586666005524],[-72.23762712241493,45.449764472553454],[-72.27624630162687,45.45074378905523],[-72.31828779850815,45.45099549731843],[-72.31424884295276,45.4305296106956],[-72.32548133985513,45.41718062173171],[-72.34906053986424,45.41039000710778],[-72.3546332376113,45.37705759884786]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.28971756988798,\"lat\":45.41039639713292},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2442\"],\"cd_name_en\":[\"Le Val-Saint-Fran\\u00e7ois\"],\"csd_code\":[\"2442040\"],\"csd_name_en\":[\"Bonsecours\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Val-Saint-Fran\\u00e7ois\",\"csd_name_fr\":\"Bonsecours\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.73634855795461,45.246498507801356],[-71.64336373035032,45.24743410397707],[-71.64440074078503,45.306493701189524],[-71.73864519622398,45.30511297215469],[-71.73634855795461,45.246498507801356]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.69063450925447,\"lat\":45.2764521360371},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2444\"],\"cd_name_en\":[\"Coaticook\"],\"csd_code\":[\"2444060\"],\"csd_name_en\":[\"Martinville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Coaticook\",\"csd_name_fr\":\"Martinville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.2377329285062,45.00476966781416],[-72.17239951282481,45.0058500067583],[-72.17278692530842,45.021565034388814],[-72.11516958854908,45.02166723335352],[-72.11535313554226,45.03251394336845],[-72.09641086840794,45.03321717294104],[-72.09710988900557,45.086795160395944],[-72.20989802462815,45.084689301417825],[-72.21953660125502,45.0739085079465],[-72.24702583735538,45.03100016877817],[-72.2489375960424,45.018908568169245],[-72.2377329285062,45.00476966781416]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.17124477814116,\"lat\":45.04792199314244},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2445\"],\"cd_name_en\":[\"Memphr\\u00e9magog\"],\"csd_code\":[\"2445020\"],\"csd_name_en\":[\"Ogden\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Memphr\\u00e9magog\",\"csd_name_fr\":\"Ogden\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.6867372473658,45.22469117452866],[-72.75991473967277,45.226304623731934],[-72.78693739409643,45.226463480467906],[-72.83681347184533,45.22624370777608],[-72.83729673811209,45.201831280002395],[-72.81799288364965,45.19177301672792],[-72.81822332062416,45.18364334826954],[-72.74373741028133,45.1831449951433],[-72.72399461204184,45.1884903962302],[-72.72324843226244,45.199689204267635],[-72.68770221362801,45.196804902755595],[-72.6867372473658,45.22469117452866]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.76536977265319,\"lat\":45.20686316240889},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2446\"],\"cd_name_en\":[\"Brome-Missisquoi\"],\"csd_code\":[\"2446080\"],\"csd_name_en\":[\"Cowansville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Brome-Missisquoi\",\"csd_name_fr\":\"Cowansville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.7563540241178,45.34104034262269],[-72.75462248920518,45.354241691988264],[-72.81674293838314,45.35507251256968],[-72.81296607155393,45.368397750035655],[-72.84582000380405,45.36843804326764],[-72.87625836333785,45.284440575077404],[-72.85262895054969,45.28654585549539],[-72.85072678095007,45.29898914130711],[-72.79873189697751,45.29966882699113],[-72.78442261620161,45.29986422272489],[-72.7563540241178,45.34104034262269]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.81750225272843,\"lat\":45.32849867742033},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2447\"],\"cd_name_en\":[\"La Haute-Yamaska\"],\"csd_code\":[\"2447010\"],\"csd_name_en\":[\"Saint-Alphonse-de-Granby\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Haute-Yamaska\",\"csd_name_fr\":\"Saint-Alphonse-de-Granby\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.4369677676702,45.98950297351354],[-72.44571025395244,45.98280517792988],[-72.47999150119422,46.001222553388985],[-72.49948467922954,45.99234104507577],[-72.47580268089567,45.97994560236528],[-72.50301239270617,45.9569364792596],[-72.46840812454266,45.937693425609446],[-72.48223969455198,45.925988784479934],[-72.45132776552961,45.908321599077055],[-72.4668506148589,45.89727211459901],[-72.40875022989826,45.86477177748227],[-72.39571525664063,45.875492622522096],[-72.35254453625309,45.85026246272872],[-72.33898957658003,45.86135525105307],[-72.37736408227475,45.8828196076281],[-72.32544478108706,45.92714280433022],[-72.4369677676702,45.98950297351354]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.41643189424484,\"lat\":45.92845074100804},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2449\"],\"cd_name_en\":[\"Drummond\"],\"csd_code\":[\"2449070\"],\"csd_name_en\":[\"Saint-Cyrille-de-Wendover\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Drummond\",\"csd_name_fr\":\"Saint-Cyrille-de-Wendover\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.42816475770864,46.13464857877046],[-72.4540233057758,46.13662320815097],[-72.50000000825511,46.16799133774263],[-72.53800280958066,46.19673959541514],[-72.56111413307583,46.180352556698],[-72.58078781918157,46.17300320389058],[-72.58172676162724,46.158820299402095],[-72.59053324268297,46.147467765897474],[-72.58393384997511,46.132809172718424],[-72.53681103106044,46.10635744466241],[-72.506260195735,46.13078963117909],[-72.48504661481454,46.119114718873526],[-72.4757088133079,46.12467544464812],[-72.45654311608622,46.114696721661005],[-72.42816475770864,46.13464857877046]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.5254848195332,\"lat\":46.14745539145443},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2450\"],\"cd_name_en\":[\"Nicolet-Yamaska\"],\"csd_code\":[\"2450057\"],\"csd_name_en\":[\"Sainte-Monique\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nicolet-Yamaska\",\"csd_name_fr\":\"Sainte-Monique\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.59053324268297,46.147467765897474],[-72.58172676162724,46.158820299402095],[-72.58078781918157,46.17300320389058],[-72.56111413307583,46.180352556698],[-72.53800280958066,46.19673959541514],[-72.51256967151822,46.21153320601208],[-72.60818548974342,46.28153433204657],[-72.69481719392188,46.252887044780785],[-72.73306746663226,46.23491150407931],[-72.61906485443393,46.15428895998392],[-72.60010358813058,46.141319568234046],[-72.59053324268297,46.147467765897474]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.61920463375583,\"lat\":46.21767816195718},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2450\"],\"cd_name_en\":[\"Nicolet-Yamaska\"],\"csd_code\":[\"2450072\"],\"csd_name_en\":[\"Nicolet\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nicolet-Yamaska\",\"csd_name_fr\":\"Nicolet\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.39412796572236,46.218308335760554],[-73.36687028364709,46.235779017624616],[-73.39142331077684,46.256039433448315],[-73.43840383651492,46.2264671480333],[-73.41604780918033,46.20468280465572],[-73.39412796572236,46.218308335760554]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.40307276630843,\"lat\":46.23061206446874},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2452\"],\"cd_name_en\":[\"D'Autray\"],\"csd_code\":[\"2452075\"],\"csd_name_en\":[\"Saint-Cl\\u00e9ophas-de-Brandon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"D'Autray\",\"csd_name_fr\":\"Saint-Cl\\u00e9ophas-de-Brandon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.80825290338309,45.51183491010523],[-72.85097697855406,45.539613919166776],[-72.90253638159842,45.57775830935034],[-72.93611259119362,45.55675574505394],[-72.95879923774797,45.57159984981354],[-72.97921358551662,45.56108680639872],[-72.96447690719579,45.550254778361676],[-72.95971138530024,45.538854351146625],[-72.94504493182238,45.52938841549081],[-72.95400367138265,45.51695603231814],[-72.96287759108947,45.47879068865251],[-72.9581189955877,45.47501578920619],[-72.96605038936777,45.45705619577011],[-72.92499871198967,45.45237313033587],[-72.92093144404464,45.466209850452216],[-72.90564772682265,45.46402135156267],[-72.89661848937666,45.47916838357957],[-72.88383570754283,45.469766993029765],[-72.86073991908697,45.47776501613389],[-72.81719959565466,45.47275519717392],[-72.80825290338309,45.51183491010523]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.89782347129045,\"lat\":45.512804719715426},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2454\"],\"cd_name_en\":[\"Les Maskoutains\"],\"csd_code\":[\"2454008\"],\"csd_name_en\":[\"Saint-Pie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Maskoutains\",\"csd_name_fr\":\"Saint-Pie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.348653018981,45.072391197385066],[-73.33655315514295,45.09219300002662],[-73.31532130248586,45.10600559885956],[-73.31468770168047,45.12682340402606],[-73.2903938247283,45.12798657285697],[-73.28960008097707,45.14336961055411],[-73.30756283245579,45.14387541522903],[-73.3092084753673,45.16412022123584],[-73.35940607170046,45.19765201512799],[-73.36529205406738,45.17966881759587],[-73.35485303047611,45.16695002137904],[-73.3562667141781,45.13232688491728],[-73.35796798794071,45.091633574012064],[-73.348653018981,45.072391197385066]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.33465077202693,\"lat\":45.137881056179396},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2456\"],\"cd_name_en\":[\"Le Haut-Richelieu\"],\"csd_code\":[\"2456030\"],\"csd_name_en\":[\"Saint-Valentin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Richelieu\",\"csd_name_fr\":\"Saint-Valentin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.08570372603253,45.17183158340567],[-73.12855216802333,45.17131385227413],[-73.13154406304483,45.20598986756429],[-73.17716481921639,45.20558267288054],[-73.17545667855121,45.189237436198944],[-73.16602405753878,45.09663353213586],[-73.11540819752314,45.09675853065103],[-73.09715589549376,45.10154055070307],[-73.10123222064918,45.1397489508081],[-73.08493421207817,45.13985323183132],[-73.0853436354707,45.15108273849224],[-73.08570372603253,45.17183158340567]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.13601178971943,\"lat\":45.14771859525242},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2456\"],\"cd_name_en\":[\"Le Haut-Richelieu\"],\"csd_code\":[\"2456050\"],\"csd_name_en\":[\"Saint-S\\u00e9bastien\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Richelieu\",\"csd_name_fr\":\"Saint-S\\u00e9bastien\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.26758982823333,45.483827638992544],[-73.24117417425174,45.51738168327444],[-73.23175042778006,45.53506002983762],[-73.24916003620241,45.54721813419977],[-73.26513298241392,45.558449308755975],[-73.28892105303541,45.5751824647093],[-73.29259406907536,45.55316791705307],[-73.29459009486038,45.54036213688362],[-73.32234318344449,45.51362792484013],[-73.29929526308257,45.49742864562245],[-73.28966826859252,45.485107992855944],[-73.26758982823333,45.483827638992544]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.27568339563388,\"lat\":45.52416886418271},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2457\"],\"cd_name_en\":[\"La Vall\\u00e9e-du-Richelieu\"],\"csd_code\":[\"2457020\"],\"csd_name_en\":[\"Saint-Basile-le-Grand\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-du-Richelieu\",\"csd_name_fr\":\"Saint-Basile-le-Grand\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.26816297649711,45.6545366813372],[-73.2580814694696,45.67466891881468],[-73.28812172140924,45.69614402573389],[-73.31035317501146,45.68262794882187],[-73.32255709979334,45.69211327615377],[-73.33775073146802,45.677243888746474],[-73.33151373953329,45.672385764071265],[-73.34513496825777,45.650789876585854],[-73.30500524500478,45.62196260897136],[-73.28338730002598,45.618752849869466],[-73.26191727027317,45.63884093769474],[-73.26816297649711,45.6545366813372]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.29909864876134,\"lat\":45.657490981164266},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2459\"],\"cd_name_en\":[\"Marguerite-D'Youville\"],\"csd_code\":[\"2459015\"],\"csd_name_en\":[\"Saint-Amable\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Marguerite-D'Youville\",\"csd_name_fr\":\"Saint-Amable\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.48227429915266,45.99262176729896],[-73.51177595189424,46.01089634033198],[-73.5249570625839,46.002027027157126],[-73.51033445410553,45.99219286799623],[-73.5406953343423,45.97237477501644],[-73.5045076620297,45.959738016084856],[-73.48006861744659,45.95663559314391],[-73.47094618351237,45.96002569727531],[-73.45637001561487,45.943759954961976],[-73.45054191600977,45.93964062898713],[-73.43545861337768,45.953309547455994],[-73.44179877905728,45.9646737366032],[-73.4681415550311,45.98586944966623],[-73.48227429915266,45.99262176729896]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.48693703039585,\"lat\":45.974360410473125},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2461\"],\"cd_name_en\":[\"Joliette\"],\"csd_code\":[\"2461013\"],\"csd_name_en\":[\"Crabtree\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Joliette\",\"csd_name_fr\":\"Crabtree\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.41164500856706,46.06954129438643],[-73.40201124586211,46.08317951507945],[-73.39748853295504,46.100823152974186],[-73.40746270311108,46.120094901424864],[-73.4182168927722,46.1151551888427],[-73.46864100698883,46.114790434647745],[-73.47873656013029,46.115820816636216],[-73.49383604386438,46.08667577840274],[-73.51378734187006,46.08746521950297],[-73.5043747291811,46.08088362506804],[-73.49134229580561,46.073063390070864],[-73.45675348652273,46.07259645293029],[-73.4325662870845,46.064939903731194],[-73.41164500856706,46.06954129438643]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.4459834913153,\"lat\":46.09209170440795},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2461\"],\"cd_name_en\":[\"Joliette\"],\"csd_code\":[\"2461045\"],\"csd_name_en\":[\"Notre-Dame-de-Lourdes\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Joliette\",\"csd_name_fr\":\"Notre-Dame-de-Lourdes\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.67689146904827,45.834908965464514],[-73.64137381038606,45.84811568098255],[-73.62603489861824,45.843484920533776],[-73.62452840448799,45.85799637554655],[-73.64275006964841,45.85840706825811],[-73.64911742580516,45.87572074124147],[-73.62534874702581,45.873580677282426],[-73.63540453522138,45.888540260834695],[-73.63934971014676,45.8834213573446],[-73.6862333936776,45.882662826784816],[-73.67248194461924,45.87294156934434],[-73.67921911115913,45.86536388457638],[-73.70552351298085,45.858559459795416],[-73.67689146904827,45.834908965464514]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.66210616286494,\"lat\":45.860379658535905},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2463\"],\"cd_name_en\":[\"Montcalm\"],\"csd_code\":[\"2463040\"],\"csd_name_en\":[\"Saint-Roch-Ouest\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Montcalm\",\"csd_name_fr\":\"Saint-Roch-Ouest\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.47303265886285,45.64188240619771],[-73.48436648949327,45.658612290488335],[-73.48590927146279,45.68270920707346],[-73.47361694222866,45.700409259857224],[-73.49723433112369,45.704743904207554],[-73.52387253251807,45.69922319068586],[-73.53985500279913,45.67852479092058],[-73.60898187611103,45.645385757575156],[-73.63615670781245,45.62368663148841],[-73.64678771460419,45.59917950203494],[-73.66810222876563,45.57395053330435],[-73.67698307830106,45.55539160280196],[-73.69668116405207,45.54909604439335],[-73.76777613696913,45.51092728988251],[-73.80418274047766,45.51656903682714],[-73.86498968507341,45.5200205199172],[-73.89536610156722,45.52658260053769],[-73.90106651858991,45.52530860690098],[-73.93231723446061,45.50405528835079],[-73.95489795294358,45.48854212914932],[-73.95384548997131,45.478742228765945],[-73.96505896446409,45.46877107706087],[-73.97290303009392,45.46140408484745],[-73.93685105600913,45.450473073103126],[-73.92541936182609,45.441180822589075],[-73.90457549039812,45.446720748286474],[-73.895056472757,45.44699454231622],[-73.86606707033197,45.45996796929046],[-73.85458621443023,45.47065937970067],[-73.85060724320711,45.48668781857947],[-73.8193926490009,45.50608956827208],[-73.81023046539626,45.496865441400146],[-73.78990022687611,45.50478176598392],[-73.76792367156445,45.494512215645535],[-73.77230284846905,45.482518645635686],[-73.75020185004209,45.46120812389198],[-73.72404633158683,45.48192169975368],[-73.70836118955782,45.473206882369965],[-73.72489108710671,45.46094795426556],[-73.71377974935952,45.42098752733024],[-73.68689954670542,45.42247219323405],[-73.65479442067159,45.41756154882257],[-73.6278990321393,45.41008214714742],[-73.5991471889193,45.41162789873611],[-73.56823430868282,45.41420947931422],[-73.54120003420466,45.420789792716945],[-73.52161447484555,45.4376513303657],[-73.51913296868838,45.459148935023734],[-73.52371926233657,45.477909676241396],[-73.51851981309089,45.49696002791116],[-73.52570479855272,45.51891005718845],[-73.52919391710246,45.53459621830173],[-73.49958481324178,45.57683681764107],[-73.50057442313567,45.58837613217083],[-73.49977895182938,45.610131381264324],[-73.53617388316245,45.62003749705087],[-73.56759292821062,45.63459536556775],[-73.5453251173925,45.648084026948325],[-73.5221195746094,45.63801206424191],[-73.48655424124067,45.63190736093246],[-73.47303265886285,45.64188240619771]],[[-73.60596660784775,45.49528551045735],[-73.58059332202708,45.485632877904386],[-73.59736249934515,45.47379161645426],[-73.61407198876555,45.48046333456329],[-73.60596660784775,45.49528551045735]],[[-73.6830737448226,45.49057410291456],[-73.66588921345493,45.502577298314456],[-73.6471923843786,45.530475695161634],[-73.62275313719438,45.523376048037456],[-73.64562400479964,45.50154638140149],[-73.66711904316936,45.48607601543057],[-73.6830737448226,45.49057410291456]],[[-73.63891823320844,45.48352011118766],[-73.63073422963741,45.479292290698325],[-73.644235129077,45.47392787569143],[-73.65805597594274,45.45948614372962],[-73.63257647687217,45.44972911639837],[-73.63950300669919,45.44696222915237],[-73.66824019836312,45.45660720345791],[-73.68634835753295,45.454802437416596],[-73.67793734176738,45.481602793356174],[-73.65607334754499,45.479156117199466],[-73.65621662971252,45.484401704368985],[-73.65084616853102,45.48888641887896],[-73.63891823320844,45.48352011118766]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.649113876034,\"lat\":45.52719589492087},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2466\"],\"cd_name_en\":[\"Montr\\u00e9al\"],\"csd_code\":[\"2466023\"],\"csd_name_en\":[\"Montr\\u00e9al\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Montr\\u00e9al\",\"csd_name_fr\":\"Montr\\u00e9al\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.63399554845476,45.31469644527849],[-73.62009953318285,45.329436317388264],[-73.6310071203469,45.34243280772983],[-73.66118457240775,45.35019953815232],[-73.67851487657781,45.345478488350714],[-73.68784851802126,45.33672341288014],[-73.7343497345152,45.25594736216882],[-73.69821215296163,45.2290052868352],[-73.67748310554914,45.24740837570906],[-73.68626814023784,45.25006591660673],[-73.67822433325938,45.26677034933761],[-73.65090432760323,45.301638661243224],[-73.63399554845476,45.31469644527849]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.68089883994112,\"lat\":45.29588294570373},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2467\"],\"cd_name_en\":[\"Roussillon\"],\"csd_code\":[\"2467040\"],\"csd_name_en\":[\"Saint-Isidore\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Roussillon\",\"csd_name_fr\":\"Saint-Isidore\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.05987849412226,45.44949239178266],[-74.06933260208771,45.45381381446342],[-74.09344768640021,45.45089348537176],[-74.13217590604079,45.46639664362645],[-74.15026416790191,45.47957106241604],[-74.18967709093202,45.49072078741957],[-74.21203326066392,45.49581167570802],[-74.2200339521371,45.46775273015271],[-74.18217835687503,45.45708510118883],[-74.18178799947023,45.450419781384156],[-74.15855895548358,45.44386584435118],[-74.14229761424778,45.44724425380948],[-74.10843914943949,45.43021321709625],[-74.09328718167366,45.43209321787151],[-74.05987849412226,45.44949239178266]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.15143017397338,\"lat\":45.461332384920304},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2471\"],\"cd_name_en\":[\"Vaudreuil-Soulanges\"],\"csd_code\":[\"2471100\"],\"csd_name_en\":[\"Hudson\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Vaudreuil-Soulanges\",\"csd_name_fr\":\"Hudson\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.19196238583908,45.91098733664443],[-74.2465905636072,45.948648600168994],[-74.27283113775243,45.96637210370797],[-74.27458261881586,45.95527629386103],[-74.29639504526145,45.88906219951499],[-74.30870026371056,45.83373697062676],[-74.3091447384996,45.828979526863385],[-74.26287592101174,45.85975953594851],[-74.19196238583908,45.91098733664443]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.25890013445662,\"lat\":45.90100507030298},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2477\"],\"cd_name_en\":[\"Les Pays-d'en-Haut\"],\"csd_code\":[\"2477050\"],\"csd_name_en\":[\"Morin-Heights\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Pays-d'en-Haut\",\"csd_name_fr\":\"Morin-Heights\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.61337325436908,46.26185994896974],[-74.59336021012575,46.31433517425611],[-74.62055703680808,46.314461924389065],[-74.78855691702513,46.315235951751326],[-74.87104935942672,46.31498787509141],[-74.87191517744988,46.28402103141138],[-74.82949601273717,46.28450376163976],[-74.82975726864142,46.258482547954145],[-74.85045511534376,46.25355039114312],[-74.85140542020243,46.21673889415912],[-74.89291470762795,46.21636416764985],[-74.89350855888247,46.1325760815404],[-74.83085251751176,46.13453750489982],[-74.8311264533087,46.21634355282641],[-74.6750222420949,46.21972366002967],[-74.67587155001377,46.257224181499176],[-74.68061898708793,46.26584636208475],[-74.6787325178674,46.28729427005872],[-74.65019891188889,46.28756949364632],[-74.6528723036489,46.27663468604227],[-74.63135892727735,46.276130783325],[-74.63162411180753,46.26197087268473],[-74.61337325436908,46.26185994896974]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.77007625728001,\"lat\":46.251527491794505},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2478\"],\"cd_name_en\":[\"Les Laurentides\"],\"csd_code\":[\"2478120\"],\"csd_name_en\":[\"Labelle\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Laurentides\",\"csd_name_fr\":\"Labelle\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.89350855888247,46.1325760815404],[-74.89291470762795,46.21636416764985],[-74.85140542020243,46.21673889415912],[-74.85045511534376,46.25355039114312],[-74.82975726864142,46.258482547954145],[-74.82949601273717,46.28450376163976],[-74.87191517744988,46.28402103141138],[-74.87104935942672,46.31498787509141],[-74.94314540568242,46.31366691579651],[-74.99766877951765,46.310751772002504],[-75.03546419247462,46.31072011001505],[-75.03173446835918,46.26103703549403],[-75.03056192383814,46.21582034756304],[-75.07558743404947,46.216122890770286],[-75.08990400196708,46.10325026697778],[-75.02765631821984,46.10339401590097],[-75.01605370245483,46.10599917916793],[-74.93998378109032,46.10616000936526],[-74.92703568749172,46.11808481514742],[-74.89359448860598,46.11853727733251],[-74.89350855888247,46.1325760815404]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.96729290687074,\"lat\":46.208443767140054},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2478\"],\"cd_name_en\":[\"Les Laurentides\"],\"csd_code\":[\"2478130\"],\"csd_name_en\":[\"La Minerve\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Laurentides\",\"csd_name_fr\":\"La Minerve\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.2001364608729,46.55800382198497],[-75.28406248599775,46.615975854614476],[-75.29102538210991,46.61539311315517],[-75.40735430507064,46.61478660218484],[-75.4073721264019,46.57296590613191],[-75.42733689589836,46.57274870425566],[-75.42694804424735,46.55897607418842],[-75.40787418284667,46.55859548823748],[-75.39991968915945,46.54617622429598],[-75.4183774718975,46.535343037219285],[-75.41452883577479,46.5225690581406],[-75.40265118025066,46.514850997793445],[-75.40648202022751,46.501103399185254],[-75.3431888306151,46.501644564197115],[-75.32103672670783,46.517784435621145],[-75.31093285892061,46.51104987901276],[-75.29682299850333,46.52127906852859],[-75.28710745763362,46.5147771472862],[-75.27191813306894,46.5255177675016],[-75.25772388342455,46.51633821395627],[-75.2001364608729,46.55800382198497]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.32552527188058,\"lat\":46.56086417367127},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2479\"],\"cd_name_en\":[\"Antoine-Labelle\"],\"csd_code\":[\"2479078\"],\"csd_name_en\":[\"Lac-des-\\u00c9corces\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Antoine-Labelle\",\"csd_name_fr\":\"Lac-des-\\u00c9corces\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.45905687613764,47.136215481585566],[-74.43046442667335,47.15696992424553],[-74.48597669410213,47.22202413708488],[-74.6015308515251,47.229965583174554],[-74.47350144589419,47.14435305097666],[-74.45905687613764,47.136215481585566]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.50215291112454,\"lat\":47.190000008328305},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2479\"],\"cd_name_en\":[\"Antoine-Labelle\"],\"csd_code\":[\"2479902\"],\"csd_name_en\":[\"Lac-de-la-Pomme\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Antoine-Labelle\",\"csd_name_fr\":\"Lac-de-la-Pomme\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.63024033905407,47.248082194448216],[-74.63246743794015,47.24884609096202],[-74.9152019272659,47.44169460220723],[-75.0940821195337,47.562460921436355],[-75.39249972658149,47.76193092954543],[-75.52234980573853,47.76416208798397],[-75.54253530757408,47.75644020254672],[-75.530816225928,47.74570063660968],[-75.53339674942497,47.73453264827219],[-75.52263663482037,47.70995242809531],[-75.48825763877977,47.69107513623706],[-75.47408396130314,47.679116186260224],[-75.4562878460657,47.67259716282728],[-75.44641398767818,47.65656192420622],[-75.41936970854171,47.629662132461654],[-75.42893425452668,47.61580923295307],[-75.41569983727027,47.59027331886991],[-75.39073765465578,47.58920256164391],[-75.39538305115737,47.601606877615545],[-75.37934288959374,47.62249118105331],[-75.36953941041199,47.627196200826646],[-75.3541754953585,47.60943773925193],[-75.36560294732963,47.59430888762481],[-75.36480421631799,47.577443771737364],[-75.34459407423884,47.57187177962265],[-75.30852184064443,47.54654057009539],[-75.33555614081668,47.516121331882474],[-75.11076200853171,47.364538865912216],[-74.98259086623632,47.277470816440946],[-74.93415299056927,47.242122805119536],[-74.86760805089192,47.198939031750584],[-74.57592812123781,46.997857391213316],[-74.41170476916503,47.10399566304493],[-74.45905687613764,47.136215481585566],[-74.47350144589419,47.14435305097666],[-74.6015308515251,47.229965583174554],[-74.65720732570652,47.23304102590626],[-74.65191498048213,47.25098734747335],[-74.63024033905407,47.248082194448216]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.96785321359447,\"lat\":47.37636881797537},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2479\"],\"cd_name_en\":[\"Antoine-Labelle\"],\"csd_code\":[\"2479912\"],\"csd_name_en\":[\"Lac-De La Bidi\\u00e8re\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Antoine-Labelle\",\"csd_name_fr\":\"Lac-De La Bidi\\u00e8re\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.52916695859862,45.7042936910168],[-75.5592910407201,45.71392705595683],[-75.58756212190704,45.71959135188334],[-75.58898967758502,45.733870705949975],[-75.57831023241741,45.743529717319],[-75.57846988718855,45.756368106112944],[-75.58849622581963,45.7613797401148],[-75.60618739399769,45.79182688661533],[-75.62886795679734,45.813299829813694],[-75.64116811542917,45.83390703587377],[-75.73641845527337,45.82499620607682],[-75.72481727444463,45.78454714796352],[-75.83201540418617,45.77723159915755],[-75.82613873052911,45.71281454748466],[-75.82086510910806,45.68493984816883],[-75.81597847185145,45.62201734135317],[-75.73497030552255,45.62756879070375],[-75.7347734607022,45.63640364286539],[-75.69856962194528,45.63909027176503],[-75.68869243444585,45.59377509493637],[-75.69086557334512,45.57798296305949],[-75.68369102358653,45.5505768753715],[-75.54208592472547,45.562514160603925],[-75.53712155808822,45.57593688002819],[-75.54254150216883,45.60345054579071],[-75.55682400182216,45.701447322604416],[-75.52916695859862,45.7042936910168]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.67785890754341,\"lat\":45.69135718068902},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2482\"],\"cd_name_en\":[\"Les Collines-de-l'Outaouais\"],\"csd_code\":[\"2482015\"],\"csd_name_en\":[\"Val-des-Monts\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Collines-de-l'Outaouais\",\"csd_name_fr\":\"Val-des-Monts\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.0550955547497,48.99982804066656],[-79.05352611853965,49.00931483627942],[-79.1770277597683,49.009310966912054],[-79.1752640233632,48.996007478510606],[-79.22815852306293,48.99657824358266],[-79.2291163798149,48.96645075463004],[-79.17833912880833,48.9666506935753],[-79.17865369715213,48.93757758831311],[-79.14516409811317,48.937845158895236],[-79.14514057938098,48.908229944254145],[-79.12526080941876,48.90821960465428],[-79.08034723382802,48.90797599456236],[-79.08023545787401,48.937418714493816],[-79.0532062218166,48.93790452415424],[-79.05345898879442,48.96653862127152],[-79.01355525456702,48.966605905565515],[-79.0127339447004,48.99584220289316],[-79.0550955547497,48.99982804066656]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.11740414120217,\"lat\":48.96794823528333},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2487\"],\"cd_name_en\":[\"Abitibi-Ouest\"],\"csd_code\":[\"2487105\"],\"csd_name_en\":[\"Val-Saint-Gilles\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi-Ouest\",\"csd_name_fr\":\"Val-Saint-Gilles\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.31183262156138,48.14648941828245],[-77.46464684590975,48.146825672248426],[-77.46481483058074,48.181935668685654],[-77.51634286782357,48.18209678009322],[-77.51621596686276,48.189826158757256],[-77.56102410178285,48.18970764964847],[-77.56056126431166,48.287969436384714],[-77.67505902672835,48.287178067655525],[-77.77840992288044,48.28751794109196],[-77.91097640717851,48.28669063985992],[-78.07443586190502,48.28740043329655],[-78.09153214611963,48.27037251883346],[-78.11209681492188,48.2578738716048],[-78.11373207852654,48.22940793341959],[-78.0853427336901,48.2346324134654],[-78.03825193151306,48.22943745198272],[-78.03886690441853,48.17133648319637],[-78.00392908374447,48.17112825318605],[-78.00575750872386,48.09799622785182],[-78.00644521945496,47.994974606614164],[-78.07661550899134,47.98557807018276],[-78.13653017036006,47.980834534587146],[-78.14812262656376,47.990944763506334],[-78.16726736668716,47.986513487251656],[-78.1857637371318,47.96416422516507],[-78.22054956382091,47.955084245238055],[-78.22119184478399,47.887411593011265],[-78.22033125001023,47.79651263193832],[-78.22134764367522,47.703321900356045],[-78.06200038192011,47.70315141695119],[-77.75792047645763,47.703121755116705],[-77.57809635450089,47.70264247900602],[-77.5767162933988,47.85050511651721],[-77.40783458134321,47.85097272814901],[-77.40810096552619,47.87916577444589],[-77.36109513981211,47.87960481416868],[-77.32620464879584,47.87923999976711],[-77.32551019044335,47.85079603004856],[-77.00476815515485,47.85025496332224],[-76.94335879731719,47.85112495041635],[-76.93471330125053,47.85112792966094],[-76.93372149463286,47.997985481747456],[-77.14621454406733,47.99549786981158],[-77.14570756204246,48.04305246317881],[-77.14687591083303,48.14594515448578],[-77.31183262156138,48.14648941828245]],[[-77.34289704632819,48.071883579897055],[-77.34152497780322,48.058964208136125],[-77.3603849314076,48.04763031710675],[-77.36068111028945,48.07159023067669],[-77.34289704632819,48.071883579897055]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.67150237187118,\"lat\":47.979117825076635},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2489\"],\"cd_name_en\":[\"La Vall\\u00e9e-de-l'Or\"],\"csd_code\":[\"2489008\"],\"csd_name_en\":[\"Val-d'Or\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-de-l'Or\",\"csd_name_fr\":\"Val-d'Or\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.520457243428,47.84633214181017],[-75.5203301009979,47.95620383307853],[-75.52121784764023,48.13223068445471],[-75.52177736511742,48.30850898513604],[-75.5227175819758,48.52996712155864],[-75.52337288092548,48.70557997003606],[-75.52506216655978,49.00002915213733],[-75.74999999535028,49.000000003351424],[-76.00000000260842,48.99999999586498],[-76.24999998971619,48.99999998972948],[-76.49999999276244,48.99999998487869],[-76.75000000080853,49.00000000978132],[-77.05946174277832,49.000106379746896],[-77.06230464146176,48.96348298028456],[-77.09540867761062,48.9535102505323],[-77.11783262396513,48.93415721786592],[-77.1174866024455,48.914191029887675],[-77.13138068872526,48.900083374017505],[-77.1411985896487,48.86210889546684],[-77.11921457121453,48.85405895206794],[-77.11142741785841,48.83538146258304],[-77.12625850502842,48.81862210197728],[-77.12506553780024,48.800584784481465],[-77.10517233693899,48.7848571177694],[-77.10853344759471,48.76325745751505],[-77.09505147555979,48.75140273604042],[-77.08487674950976,48.723592717231874],[-77.09719165316857,48.70578035668131],[-77.09413319131708,48.66561868139871],[-77.10119713890145,48.63959647462777],[-77.1260515509684,48.6123979577162],[-77.12679531583032,48.58712333640886],[-77.13565569664163,48.57507726352821],[-77.08207791057852,48.57490964921004],[-77.09018268922622,48.55004988980853],[-77.09032701034616,48.53303862565954],[-77.12081167759888,48.511488870878416],[-77.12655199525379,48.499632366914895],[-77.15360107315539,48.47435407973372],[-77.16235917291883,48.45704703728978],[-77.18210900876872,48.4480906761351],[-77.20364767171496,48.43042619572823],[-77.12627428477104,48.43043082466571],[-77.12687329663359,48.37524770580777],[-77.21776152532645,48.37552631570909],[-77.22244393187466,48.397163829722025],[-77.24245098418996,48.40465265964394],[-77.29816939005214,48.40408807687437],[-77.25310538752927,48.39426903079409],[-77.25745973237015,48.382505750118234],[-77.23582046061689,48.37543602354536],[-77.23578341336334,48.287368142152665],[-77.3052858574705,48.28771692104969],[-77.3074778513261,48.27569427516495],[-77.32435254563335,48.25586194209445],[-77.3162823420069,48.248837089595646],[-77.31927015504615,48.23487633349746],[-77.33969482096576,48.19371595492185],[-77.34117930802017,48.18535193850189],[-77.3289841194202,48.169578522733445],[-77.31172689524364,48.16590606147993],[-77.31183262156138,48.14648941828245],[-77.14687591083303,48.14594515448578],[-77.14570756204246,48.04305246317881],[-77.14621454406733,47.99549786981158],[-76.93372149463286,47.997985481747456],[-76.93471330125053,47.85112792966094],[-76.89376253612839,47.85105158333513],[-76.86963708322924,47.86301494798582],[-76.84964942473822,47.892586576094146],[-76.84208188743622,47.91373210962823],[-76.83019655955127,47.925231623912474],[-76.81829038933118,47.94605104713476],[-76.7746779512386,47.97776897913136],[-76.76527151093849,47.991536837627294],[-76.73342229481418,47.990461816690136],[-76.71800500069295,47.994667196204496],[-76.62630638825894,47.93190282479354],[-76.6303344578675,47.92845907441683],[-76.68398028443585,47.91523510236994],[-76.70967279979062,47.89481400339837],[-76.70737101257684,47.87354981199958],[-76.73039288206614,47.85086222088883],[-76.73830827498495,47.82154613266314],[-76.76010628564748,47.81018922396131],[-76.79903648307175,47.78186306651688],[-76.82877416870056,47.775702268442295],[-76.80733424832081,47.76042649326245],[-76.57344931657529,47.6008267538207],[-76.42422667372175,47.5129528237768],[-76.40965202290057,47.56087344284607],[-76.41689458638214,47.59946949698489],[-76.42138257257783,47.60764239759265],[-76.44653631013105,47.60118721270376],[-76.48437310488752,47.601306510411774],[-76.48089819605877,47.61157850315359],[-76.46284549473498,47.61411959550931],[-76.45180411812177,47.62882248938597],[-76.43154871237714,47.63116901231648],[-76.4110261972473,47.64074359154412],[-76.39865868834605,47.656042908274756],[-76.38433040694137,47.65039554356339],[-76.34686292815127,47.654012640664604],[-76.32480859530857,47.66824999594912],[-76.30725099384841,47.6663778946357],[-76.2885806894497,47.68317468849882],[-76.25624398372494,47.696450095041726],[-76.23737158029657,47.72153140722301],[-76.18717861358986,47.729105200480205],[-76.16428681584864,47.725064804640795],[-76.15512310655112,47.71578179449457],[-76.13197808163898,47.72238420842025],[-76.10986269923417,47.71887499765466],[-76.0905232800601,47.7246789986909],[-76.04862598345215,47.72676400855451],[-76.02109698509442,47.72381900145959],[-75.98688930319827,47.73888160747785],[-75.98602971107603,47.75305370525297],[-75.97513094813337,47.77508281972504],[-75.93555688178058,47.80002170116373],[-75.92170531959253,47.801904691376905],[-75.91018587715779,47.79331120883409],[-75.8937682064639,47.80024940111869],[-75.86522149927437,47.80057179667367],[-75.85014063747478,47.79505108451538],[-75.8609645638939,47.78586891877837],[-75.85730066079128,47.77456057600697],[-75.83182487317356,47.76698700856586],[-75.83679458880948,47.73215178564427],[-75.84989996604622,47.71177100529826],[-75.84522092377101,47.702995705465995],[-75.82300492860679,47.69691049077155],[-75.81093112804945,47.674533934712905],[-75.78928750129154,47.67851839307961],[-75.79089173972942,47.69541452472223],[-75.78226465239833,47.76374550993196],[-75.78925129248277,47.778749975701906],[-75.77489413917573,47.81241428733008],[-75.76776796461432,47.82051659607424],[-75.72488174264785,47.84794944811919],[-75.65263784148884,47.84794422847963],[-75.520457243428,47.84633214181017]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.3274173020462,\"lat\":48.375983418391655},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2489\"],\"cd_name_en\":[\"La Vall\\u00e9e-de-l'Or\"],\"csd_code\":[\"2489040\"],\"csd_name_en\":[\"Senneterre\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-de-l'Or\",\"csd_name_fr\":\"Senneterre\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.29966860398646,47.62111620429525],[-77.3101776115143,47.62015198823357],[-77.30631938865655,47.614098408180496],[-77.29966860398646,47.62111620429525]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.3053885347191,\"lat\":47.61845553356977},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2489\"],\"cd_name_en\":[\"La Vall\\u00e9e-de-l'Or\"],\"csd_code\":[\"2489802\"],\"csd_name_en\":[\"Kitcisakik\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian settlement \\/ \\u00c9tablissement indien\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Vall\\u00e9e-de-l'Or\",\"csd_name_fr\":\"Kitcisakik\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.3413499508886,48.52526546330275],[-72.35404660019783,48.53655354596697],[-72.371692363165,48.528369727635585],[-72.40203638100914,48.55457621351995],[-72.40935240811912,48.540199897991634],[-72.42844122926853,48.52704034575017],[-72.44983073946447,48.54563217589807],[-72.48404807463477,48.52808658728919],[-72.45217476705122,48.500138939992574],[-72.63521659141597,48.40866388277102],[-72.58639817487094,48.36325564137473],[-72.50716097617237,48.29574809011908],[-72.47016789550482,48.28649932430059],[-72.37012757993624,48.269145704552],[-72.3374151578574,48.340179230609564],[-72.32521969858612,48.338190454145526],[-72.30577932080335,48.37919003037671],[-72.31787184405403,48.38309493297374],[-72.28521280237622,48.39980095447143],[-72.25735678593455,48.41421432085367],[-72.34401727463369,48.49277284944196],[-72.31894737378936,48.50536541772487],[-72.3413499508886,48.52526546330275]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.43523955979636,\"lat\":48.40437665342433},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2491\"],\"cd_name_en\":[\"Le Domaine-du-Roy\"],\"csd_code\":[\"2491030\"],\"csd_name_en\":[\"Sainte-Hedwidge\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Domaine-du-Roy\",\"csd_name_fr\":\"Sainte-Hedwidge\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.43062572590715,48.35148506350392],[-70.46504052045296,48.35829308567811],[-70.49529322063894,48.36264000722681],[-70.54146078049725,48.363846986213346],[-70.56546788018117,48.37177873347785],[-70.61193297399053,48.36593530242172],[-70.64980128160991,48.37347772839263],[-70.67390484363922,48.36422579046304],[-70.69168933836815,48.362902742444724],[-70.74215775790188,48.31958581414285],[-70.78248507019937,48.28757778481553],[-70.751298614415,48.28091439070687],[-70.77445815058061,48.26319201942302],[-70.64917224705806,48.1922819531839],[-70.60459524991617,48.22729856089716],[-70.5321964444615,48.27690884098816],[-70.43062572590715,48.35148506350392]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.62439453631386,\"lat\":48.29833543987375},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2494\"],\"cd_name_en\":[\"Le Saguenay-et-son-Fjord\"],\"csd_code\":[\"2494225\"],\"csd_name_en\":[\"Saint-F\\u00e9lix-d'Otis\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Saguenay-et-son-Fjord\",\"csd_name_fr\":\"Saint-F\\u00e9lix-d'Otis\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.89861038536304,49.906119393207256],[-63.895254190600724,49.90937906020586],[-63.91436350779705,50.00007130837286],[-63.93291874542698,50.073529654627926],[-63.95076643160905,50.13687045032977],[-63.952961486996664,50.15751139517392],[-63.96900043635397,50.22784593743668],[-63.9847504582632,50.285728515092295],[-63.993087392250956,50.30062126196056],[-64.0220031086214,50.30493195243326],[-64.02455756512866,50.31469962274244],[-64.04889515748854,50.31962985225055],[-64.07180251619323,50.31421108293589],[-64.06996419618697,50.32120396640333],[-64.06136065135472,50.3486188150461],[-64.04111452514869,50.35041995117049],[-64.02019223382636,50.35774016053609],[-64.01050252670407,50.36658426208992],[-63.97894138521283,50.383893361016696],[-63.9692404598898,50.3998481414087],[-63.965900947833305,50.41926421668098],[-63.95198368467207,50.43330749789869],[-63.94918290382927,50.45006736739007],[-63.93761856277688,50.45977345844909],[-63.92819736110228,50.47898536842358],[-63.888783731362786,50.48927101787649],[-63.881129271908655,50.49512423740894],[-64.14073507684842,50.49400723825873],[-64.15676424588943,50.46228765536957],[-64.18449570477355,50.456686978129],[-64.19559803151087,50.444726934296256],[-64.19176875830925,50.4307213709147],[-64.20479858525384,50.424634988648954],[-64.20519315915766,50.39768586717425],[-64.22453780822642,50.38895577714242],[-64.23183568870405,50.371629593072704],[-64.22494844819458,50.35668075087741],[-64.24850175194341,50.34779017911837],[-64.25540453922166,50.332506460389695],[-64.24144727759936,50.31865730340968],[-64.24886339143083,50.310541198652],[-64.267380050146,50.311749988439566],[-64.26717287197044,50.296888514797196],[-64.28633494039224,50.3038173211692],[-64.29805902890257,50.313903237266075],[-64.3135639542147,50.308445310346414],[-64.31990815107602,50.291836362206595],[-64.34360769518807,50.27857130290781],[-64.33876938471742,50.18410919463632],[-64.33968331338681,50.08568043450517],[-64.319397680887,49.95685374550191],[-64.15477128334432,49.96984889473723],[-64.09673425247283,49.95843934958604],[-63.98013297125668,49.93895714668076],[-63.89861038536304,49.906119393207256]],[[-64.06875663035147,50.30676827027044],[-64.0452760028832,50.31728956463425],[-64.03217981260501,50.311943913022006],[-64.03927533330277,50.300913995395746],[-64.01807300661635,50.29045790639297],[-64.04911721662057,50.2873816977491],[-64.06875663035147,50.30676827027044]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.12539643961064,\"lat\":50.18844894767514},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2498\"],\"cd_name_en\":[\"Minganie--Le Golfe-du-Saint-Laurent\"],\"csd_code\":[\"2498045\"],\"csd_name_en\":[\"Longue-Pointe-de-Mingan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Minganie--Le Golfe-du-Saint-Laurent\",\"csd_name_fr\":\"Longue-Pointe-de-Mingan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.2459327872814,45.364639997240694],[-75.26742215650539,45.40174954398103],[-75.29710470957222,45.45888550765311],[-75.34251440313743,45.536983992126096],[-75.34526944745275,45.53680516152383],[-75.39104194093349,45.52417785157589],[-75.42356160865322,45.519894219933896],[-75.44540843963648,45.521110480911915],[-75.47794127977927,45.51350893557684],[-75.52040230529276,45.49881935503703],[-75.57555679765693,45.47482510508127],[-75.61897140751965,45.47142868374176],[-75.63942123208936,45.465856942536334],[-75.68317719308575,45.45913650049409],[-75.69607242423515,45.449494940676274],[-75.7037445563341,45.42663519947438],[-75.72962004298626,45.41697939912551],[-75.75635894605969,45.412393586563745],[-75.7789182379132,45.390325533938636],[-75.79701680420104,45.378324029502615],[-75.81782532552545,45.372698708443295],[-75.84259032665067,45.37597481352378],[-75.89518509822274,45.401634686028096],[-75.9287357365658,45.428849047618684],[-75.95474415048447,45.46026074796359],[-75.98716460661814,45.47964530771276],[-76.02323820462442,45.48908605001442],[-76.04819525689219,45.50005375714934],[-76.089877186838,45.51385244446216],[-76.14039936096255,45.51818110200525],[-76.20100638900726,45.51887913422596],[-76.23348268242768,45.50782872866343],[-76.23851762439612,45.47525390105418],[-76.24508393215223,45.46860894027068],[-76.29621681486712,45.46453156188991],[-76.29739427328802,45.447297852888035],[-76.31527217848159,45.4355799610029],[-76.35397110689236,45.41055763245136],[-76.34349157921994,45.40010401233431],[-76.22973375542053,45.3133269067552],[-76.21073448445993,45.30296449108101],[-76.1477045109712,45.25027429821959],[-76.07500271209403,45.19161470903276],[-75.94113140684351,45.080155109792614],[-75.95312790548269,45.072398102684765],[-75.87643136809409,45.00789298132517],[-75.81954218537322,44.962213115561276],[-75.81804366924867,44.96831597431394],[-75.81009875359608,44.97668327635046],[-75.77010411976066,44.989664931671776],[-75.75702030906777,45.00396629840164],[-75.72548531003652,45.02043809016474],[-75.70588637392892,45.02524196218129],[-75.68860743448072,45.047552830634295],[-75.64778829948486,45.06457655789348],[-75.63963288804437,45.07268985464716],[-75.63479268564626,45.090013921091],[-75.61859693626432,45.1020687480324],[-75.59498419454133,45.084348201834516],[-75.49592939625244,45.12676079812258],[-75.43532159859535,45.14759430597647],[-75.35318540996224,45.18207449276133],[-75.40247011142377,45.26528650913173],[-75.42594482000887,45.31246569271194],[-75.32832372012959,45.338689592895484],[-75.26816501076452,45.35617230635865],[-75.2459327872814,45.364639997240694]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.77515051780357,\"lat\":45.29303365051715},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3506\"],\"cd_name_en\":[\"Ottawa\"],\"csd_code\":[\"3506008\"],\"csd_name_en\":[\"Ottawa\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City \\/ Ville\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Ottawa\",\"csd_name_fr\":\"Ottawa\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.03051413797039,44.27219428844393],[-78.00454367199187,44.2874785301458],[-77.96896508058909,44.29731665829546],[-77.97268848899155,44.315409351136324],[-77.93673856140512,44.32061757306675],[-77.91192582222999,44.34349902565037],[-77.90112905332936,44.364749655510444],[-77.91308041617165,44.389390896740515],[-77.92601675265014,44.41647745140992],[-77.95414070938418,44.40770911308634],[-78.11089258707328,44.36810580494675],[-78.11559721132993,44.36558710635919],[-78.06147791708236,44.25991221514069],[-78.04503932693346,44.26191954305771],[-78.03051413797039,44.27219428844393]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.00745822166357,\"lat\":44.343592382164275},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3515\"],\"cd_name_en\":[\"Peterborough\"],\"csd_code\":[\"3515003\"],\"csd_name_en\":[\"Asphodel-Norwood\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Peterborough\",\"csd_name_fr\":\"Asphodel-Norwood\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.11346701069314,43.79377859166308],[-79.15205908482116,43.81452788885292],[-79.17024551862364,43.85546549510714],[-79.37249519027131,43.80849780169732],[-79.42007360452473,43.797992903151226],[-79.63930240562539,43.74984570709066],[-79.63047380109235,43.73639658992918],[-79.58876324513207,43.66460958725017],[-79.60885188864185,43.64643124413898],[-79.58833315848791,43.64242150180573],[-79.58524646587973,43.62872530274051],[-79.56716935525971,43.62812988506029],[-79.56741665542863,43.61045020194288],[-79.55612936786059,43.602225493108875],[-79.54386628967727,43.58139430157314],[-79.52295964509628,43.5603428803949],[-79.46375921705938,43.62367129903276],[-79.44676329638624,43.63424553468314],[-79.42487220705077,43.624782603474614],[-79.40614186842222,43.62761456234742],[-79.38367267070113,43.61038276166327],[-79.35597712276926,43.62537063871005],[-79.34415998438472,43.6124260716875],[-79.32648466196034,43.6262449158723],[-79.31657820860451,43.62609273011317],[-79.31848656386221,43.64684064107346],[-79.29753640972304,43.663853698417384],[-79.27917018692966,43.66964513373429],[-79.2610120950032,43.687966699823626],[-79.23261488576019,43.69983816019547],[-79.2185163402865,43.7210098652905],[-79.18939777463659,43.74462929788147],[-79.1728720341555,43.75357220822694],[-79.15236592291879,43.75861616043319],[-79.11346701069314,43.79377859166308]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.3905876021492,\"lat\":43.72208011238701},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3520\"],\"cd_name_en\":[\"Toronto\"],\"csd_code\":[\"3520005\"],\"csd_name_en\":[\"Toronto\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City \\/ Cit\\u00e9\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Toronto\",\"csd_name_fr\":\"Toronto\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.17174139646654,44.084927902033165],[-80.18857823233164,44.15830546765118],[-80.21266343553104,44.256905803391916],[-80.2290779021495,44.253419189993984],[-80.41119190730271,44.21461439969463],[-80.42293451344842,44.20004791160873],[-80.40544239761032,44.19344889683343],[-80.3609960078395,44.16738254030895],[-80.39817789883158,44.135142132002365],[-80.37495988403971,44.039275599767045],[-80.33672399990937,44.04967738892554],[-80.33256270968936,44.05233700514407],[-80.22106909956653,44.07504028827673],[-80.22258007486873,44.08577531604993],[-80.19078079052254,44.092929312941116],[-80.17989591062032,44.08321342511539],[-80.17174139646654,44.084927902033165]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.29161911481991,\"lat\":44.14960039888492},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3522\"],\"cd_name_en\":[\"Dufferin\"],\"csd_code\":[\"3522019\"],\"csd_name_en\":[\"Melancthon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Dufferin\",\"csd_name_fr\":\"Melancthon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.12740436072151,43.273316113763634],[-81.16492290294494,43.269392997054666],[-81.15799990065918,43.23559610335834],[-81.12776844514804,43.23872075274948],[-81.1201966812384,43.242905321706004],[-81.12740436072151,43.273316113763634]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.142630860659,\"lat\":43.25454740887739},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3531\"],\"cd_name_en\":[\"Perth\"],\"csd_code\":[\"3531016\"],\"csd_name_en\":[\"St. Marys\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Perth\",\"csd_name_fr\":\"St. Marys\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.43157932317843,42.50975588299686],[-81.49307624742217,42.56054482155891],[-81.58851521386049,42.63750070833872],[-81.6720475706616,42.70255258057929],[-81.68601964658328,42.69639710289878],[-81.67887449712975,42.67872958808063],[-81.68373630211096,42.672117593412445],[-81.70503925919543,42.673816589895964],[-81.71650348416394,42.666766146459324],[-81.71877940900029,42.65035703909393],[-81.73817994115163,42.66092790233674],[-81.76385680077621,42.64484203989289],[-81.77464723838318,42.647358708158194],[-81.78421711366488,42.62790434783289],[-81.79903766463747,42.62100709086503],[-81.8040972125183,42.61098441150122],[-81.83465275010688,42.608014335371806],[-81.71032151518943,42.5069929918537],[-81.6242200009783,42.43590589685222],[-81.50133177561806,42.33563053954711],[-81.50246052190023,42.50125062284906],[-81.43157932317843,42.50975588299686]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.62275228585457,\"lat\":42.54115004803426},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3534\"],\"cd_name_en\":[\"Elgin\"],\"csd_code\":[\"3534042\"],\"csd_name_en\":[\"West Elgin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Elgin\",\"csd_name_fr\":\"West Elgin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.98911870062207,43.98673669302906],[-81.02349528869021,44.12388446350552],[-81.22177659254112,44.096662388207626],[-81.4075148396884,44.06769243463141],[-81.36810978753923,43.927406008901734],[-81.18643829011629,43.958670390757675],[-80.99178752055066,43.986405580228364],[-80.98911870062207,43.98673669302906]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.19825014820405,\"lat\":44.027534386507234},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3541\"],\"cd_name_en\":[\"Bruce\"],\"csd_code\":[\"3541004\"],\"csd_name_en\":[\"South Bruce\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Bruce\",\"csd_name_fr\":\"South Bruce\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.85986447943445,45.41462434995936],[-78.92489615501964,45.533672985208085],[-78.9281738723487,45.5327136734777],[-79.00098030230868,45.513338862485384],[-79.00274133956249,45.516559344882474],[-79.05365316573099,45.50414684678427],[-79.1726482863154,45.470133218951965],[-79.10595522862333,45.348161981513705],[-79.12159860515122,45.344025937296614],[-79.09952069508381,45.30238947916954],[-79.05345129284491,45.222826124608744],[-79.21949589612677,45.17981379085655],[-79.17505354749677,45.09510244842986],[-79.01816896260196,45.138026940847176],[-79.00108547545943,45.10549930603549],[-78.84319645181833,45.14503004045156],[-78.84490279219892,45.157660110086],[-78.85623641683642,45.17457416152359],[-78.86725212045094,45.18194667820741],[-78.87440227364866,45.20691949487188],[-78.88589977504496,45.23020824003793],[-78.89538548572325,45.2406065344701],[-78.90718471700842,45.272731888951384],[-78.93533943118169,45.313996536503964],[-78.9355036241175,45.32720238807062],[-78.94997589851333,45.351444710368334],[-78.95704077380346,45.37076299948847],[-78.97140736865734,45.38445851624838],[-78.85986447943445,45.41462434995936]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.01776555000059,\"lat\":45.30449418314525},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3544\"],\"cd_name_en\":[\"Muskoka\"],\"csd_code\":[\"3544027\"],\"csd_name_en\":[\"Lake of Bays\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Muskoka\",\"csd_name_fr\":\"Lake of Bays\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.97039662708403,45.50200318240511],[-76.98804712969505,45.498197506850225],[-77.01029514237125,45.50430720236321],[-77.02885050021989,45.51607892340985],[-77.05524507222594,45.522812908329136],[-77.06897140643443,45.521788064296054],[-77.08622737774725,45.545381506158435],[-77.09528412705082,45.54993446854978],[-77.1164940154339,45.54386628681626],[-77.14290194227873,45.5468102678643],[-77.15723855787914,45.558134984083175],[-77.17013508284037,45.557706295042266],[-77.19048321760656,45.56523092643633],[-77.20947812987372,45.56370987532006],[-77.25331925935254,45.551743731980515],[-77.26807560323896,45.57640844940717],[-77.28866340796847,45.581084609872406],[-77.33215828348426,45.564327504896404],[-77.39212802418612,45.56635103892542],[-77.36073529537356,45.509292444218325],[-77.26468109183286,45.33216832283734],[-77.10150354555937,45.37646528975382],[-77.08001183828344,45.33937944202517],[-76.90657577421064,45.386353119941646],[-76.97039662708403,45.50200318240511]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.15586537143828,\"lat\":45.45508709508781},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3547\"],\"cd_name_en\":[\"Renfrew\"],\"csd_code\":[\"3547035\"],\"csd_name_en\":[\"Bonnechere Valley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Renfrew\",\"csd_name_fr\":\"Bonnechere Valley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.78070472666478,45.528850859543056],[-76.83814997341264,45.574818590908066],[-76.97300149550442,45.68755709404604],[-77.04751915184967,45.63891214380829],[-76.97039662708403,45.50200318240511],[-76.90657577421064,45.386353119941646],[-76.86220303733646,45.309334350295735],[-76.74072091733336,45.38736841927602],[-76.66392278210222,45.435613067680094],[-76.68472281651107,45.45173796525194],[-76.71537229219655,45.47626412991249],[-76.78070472666478,45.528850859543056]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.8686395381701,\"lat\":45.49553689379121},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3547\"],\"cd_name_en\":[\"Renfrew\"],\"csd_code\":[\"3547043\"],\"csd_name_en\":[\"Admaston\\/Bromley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Renfrew\",\"csd_name_fr\":\"Admaston\\/Bromley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.51362722698818,47.54962757539784],[-79.5176553747883,47.58104742149565],[-79.63129041503888,47.58084310132604],[-79.63163419311775,47.49301595199523],[-79.63125580705857,47.48049989935017],[-79.58421958479283,47.45123666322566],[-79.5607290790273,47.47766544185677],[-79.55621574120892,47.50395989910342],[-79.5473893234085,47.51782616332403],[-79.51708053333269,47.53316399219041],[-79.51362722698818,47.54962757539784]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.58149009519006,\"lat\":47.529471113996834},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3554\"],\"cd_name_en\":[\"Timiskaming\"],\"csd_code\":[\"3554014\"],\"csd_name_en\":[\"Harris\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Timiskaming\",\"csd_name_fr\":\"Harris\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.27632542838452,47.74580983472801],[-80.27631644781894,47.7521568389536],[-80.40439384827916,47.753110669372546],[-80.40165593833238,47.66737600224867],[-80.27558046694486,47.66804253766753],[-80.27632542838452,47.74580983472801]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.33970669184959,\"lat\":47.71027843895519},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3554\"],\"cd_name_en\":[\"Timiskaming\"],\"csd_code\":[\"3554042\"],\"csd_name_en\":[\"James\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Timiskaming\",\"csd_name_fr\":\"James\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.88831863749017,48.189187757773844],[-79.88772051334453,48.27555751797128],[-80.01724511616678,48.27609909723674],[-80.14611716079254,48.27582283908621],[-80.1468432331208,48.101793162965386],[-80.01772466055198,48.10199472334587],[-80.01714903514072,48.188843659057135],[-79.88831863749017,48.189187757773844]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.03890480035767,\"lat\":48.203396784541944},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3554\"],\"cd_name_en\":[\"Timiskaming\"],\"csd_code\":[\"3554068\"],\"csd_name_en\":[\"Kirkland Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Timiskaming\",\"csd_name_fr\":\"Kirkland Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.51763317710183,48.18712159508609],[-79.51769060380482,48.27620708532827],[-79.75800420393784,48.275318777911416],[-79.88772051334453,48.27555751797128],[-79.88831863749017,48.189187757773844],[-79.8602925393454,48.18811621253539],[-79.75938787282271,48.18875415899569],[-79.65301238475152,48.18739619329729],[-79.51763317710183,48.18712159508609]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.70192307091384,\"lat\":48.2317692087938},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3554\"],\"cd_name_en\":[\"Timiskaming\"],\"csd_code\":[\"3554091\"],\"csd_name_en\":[\"Timiskaming\",\"Unorganized\",\"East Part\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Timiskaming\",\"csd_name_fr\":\"Timiskaming, Unorganized, East Part\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.61634430031212,52.292415723373495],[-81.62726770536713,52.29221890056624],[-81.63595131140094,52.28826082617844],[-81.64258661162178,52.27396821012008],[-81.62002433148949,52.27666721637451],[-81.61634430031212,52.292415723373495]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.62842888672662,\"lat\":52.28318963627668},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3556\"],\"cd_name_en\":[\"Cochrane\"],\"csd_code\":[\"3556093\"],\"csd_name_en\":[\"Fort Albany (Part) 67\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Cochrane\",\"csd_name_fr\":\"Fort Albany (Part) 67\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-83.83856895786907,46.43122810562793],[-83.87049171579677,46.4385078119027],[-83.93324874190893,46.438766394201544],[-83.96246117115605,46.4167090030801],[-83.96136144241613,46.326329933948415],[-83.95372660336848,46.321666169480785],[-83.92486733847906,46.31432718634114],[-83.90486184015323,46.291439372483225],[-83.8607958091235,46.277856949772186],[-83.83226573850173,46.26919262023127],[-83.8330951259891,46.362760667731244],[-83.83602052401376,46.364160792258275],[-83.83856895786907,46.43122810562793]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-83.89307190800453,\"lat\":46.363285109090455},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3557\"],\"cd_name_en\":[\"Algoma\"],\"csd_code\":[\"3557016\"],\"csd_name_en\":[\"Johnson\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Algoma\",\"csd_name_fr\":\"Johnson\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.05616663852764,46.10045610367556],[-82.05686470886876,46.17694347409685],[-82.09694512727322,46.18363077645854],[-82.09744366809939,46.17051555322578],[-82.09631796987749,46.10863364528891],[-82.11890316021915,46.11194641396562],[-82.16689315955541,46.1128254040583],[-82.18389223515658,46.11680869381042],[-82.20131455465726,46.129416300121825],[-82.24494504477617,46.14058669999177],[-82.26578073742216,46.14862899537552],[-82.29800954141308,46.136819112510935],[-82.31378819415144,46.140341819363066],[-82.31423486401675,46.04257076303355],[-82.27523087410201,46.06156372343759],[-82.21275010501519,46.06187826734339],[-82.14580266326146,45.997150517345226],[-82.05616663852764,46.10045610367556]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.18152099765273,\"lat\":46.09140695647987},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3557\"],\"cd_name_en\":[\"Algoma\"],\"csd_code\":[\"3557094\"],\"csd_name_en\":[\"Algoma\",\"Unorganized\",\"South East Part\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Algoma\",\"csd_name_fr\":\"Algoma, Unorganized, South East Part\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-90.39138006312112,48.90018351205017],[-90.41506274888543,48.87909662110087],[-90.41468116935225,48.86990292261726],[-90.39664426059302,48.86181972697686],[-90.36703356525689,48.877001723739475],[-90.33871194683822,48.87759341864761],[-90.3237781441688,48.89740649083129],[-90.39138006312112,48.90018351205017]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-90.374475418451,\"lat\":48.884389934138504},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3558\"],\"cd_name_en\":[\"Thunder Bay\"],\"csd_code\":[\"3558100\"],\"csd_name_en\":[\"Lac des Mille Lacs 22A1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Thunder Bay\",\"csd_name_fr\":\"Lac des Mille Lacs 22A1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-94.44450869010954,48.99631836039809],[-94.46544265408883,48.993585970440456],[-94.46304635505115,48.97736436669539],[-94.4099474531791,48.98619139403442],[-94.40962889259563,49.002557226657075],[-94.4302157749264,48.995498617091265],[-94.44450869010954,48.99631836039809]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-94.4376890292896,\"lat\":48.98923190412628},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3559\"],\"cd_name_en\":[\"Rainy River\"],\"csd_code\":[\"3559046\"],\"csd_name_en\":[\"Assabaska\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Rainy River\",\"csd_name_fr\":\"Assabaska\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-93.95990675444521,51.82223939167036],[-93.98972245132252,51.82179243079783],[-93.997043460246,51.811032733418415],[-93.992887951615,51.79882632384629],[-93.97887474229208,51.79769814436603],[-93.9390510266168,51.810086336847235],[-93.9382735515877,51.82256060327076],[-93.95990675444521,51.82223939167036]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-93.96938888934461,\"lat\":51.81176649160039},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560077\"],\"csd_name_en\":[\"Pikangikum 14\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Pikangikum 14\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-96.78000449696373,49.26627644811721],[-97.18800318867171,49.2662142992613],[-97.27826658322925,49.26606570388767],[-97.2771009323834,49.23717854548929],[-97.26635534933206,49.23729425997026],[-97.26542610546993,49.19236845270142],[-97.23301766297202,49.19228905627366],[-97.23524495502079,49.122912296920546],[-97.24004841968633,49.10342759676493],[-97.21670888846992,49.096888221940034],[-97.20945755227952,49.07511482296577],[-97.1883133858742,49.05004202791951],[-97.19629534895533,49.032558324628596],[-97.22505133248195,49.037956885015596],[-97.25780091650236,49.037668992968285],[-97.2577043885064,49.00046529177063],[-97.18914286861043,49.00033970179755],[-96.78630161503065,49.00020549838033],[-96.78601251319373,49.163235592818346],[-96.78102709841158,49.17809170590465],[-96.78000449696373,49.26627644811721]],[[-96.93427008206919,49.236766492872064],[-96.91681211068797,49.236829988325574],[-96.9167898141559,49.20731330899019],[-96.9380647278454,49.20733142706843],[-96.93777548052601,49.192541421071866],[-96.9623404240204,49.19985895577282],[-96.93963912364414,49.21465528659613],[-96.93427008206919,49.236766492872064]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.01352192799585,\"lat\":49.1355702692623},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4602\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4602024\"],\"csd_name_en\":[\"Emerson-Franklin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Emerson-Franklin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-100.93075265706038,49.87206396917106],[-100.95381510587796,49.86522839862877],[-100.95381142418883,49.844914015446456],[-100.91979978237855,49.84252648913351],[-100.91771410741299,49.872065006974296],[-100.93075265706038,49.87206396917106]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.93515812365148,\"lat\":49.857005815748295},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4606\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4606034\"],\"csd_name_en\":[\"Virden\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Virden\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-99.09757826841084,49.753565016781536],[-99.2344377078489,49.75361621796739],[-99.23451232001611,49.79785652796982],[-99.50482857792979,49.79778089915381],[-99.64340593028112,49.797927072795616],[-99.64348931058638,49.709149998586284],[-99.64340398450874,49.53286068856805],[-99.42061229476079,49.532985609789826],[-99.36036096588535,49.53348173595462],[-99.11426251073071,49.532452393461064],[-99.09931091381247,49.53314980464793],[-99.09810119508869,49.53637089770471],[-99.09757826841084,49.753565016781536]],[[-99.34845983511688,49.78385636641892],[-99.2799520138805,49.782918088829604],[-99.2803875293279,49.73916876727078],[-99.31373990239565,49.73915413709637],[-99.31316148278711,49.7237419122378],[-99.32586868758322,49.72406549348389],[-99.32523921944642,49.739016281720986],[-99.3694157263823,49.73971630427129],[-99.34733434275614,49.749528953457414],[-99.34845983511688,49.78385636641892]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-99.38110236324991,\"lat\":49.658212544947304},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4607\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4607039\"],\"csd_name_en\":[\"Glenboro-South Cypress\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Glenboro-South Cypress\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-98.32066960287723,49.964762501629544],[-98.30887563720376,49.958437821974115],[-98.28274307433173,49.935222027231966],[-98.2629563472339,49.93746339492548],[-98.25744707604876,49.950205688937636],[-98.25736685525438,49.98057951153029],[-98.27530259378344,49.99693910762515],[-98.3197234496996,49.99709452168792],[-98.32066960287723,49.964762501629544]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-98.28698931427863,\"lat\":49.969506652786464},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4609\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4609029\"],\"csd_name_en\":[\"Portage la Prairie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Portage la Prairie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-100.95030869196248,50.5943748038072],[-101.19975340233513,50.5943378610548],[-101.20007501476834,50.476430991176876],[-101.19790563019248,50.38737417101595],[-101.20051772317315,50.29946854134236],[-101.13111410086226,50.29955100765261],[-101.13009116983375,50.24025080273263],[-101.17027374739878,50.240307810221054],[-101.19277100279197,50.256920195942115],[-101.19983141200201,50.285415655382934],[-101.20218017375002,50.240466494665654],[-101.17222938840457,50.24051688386515],[-101.1715276697127,50.13421694023324],[-101.17210685803684,50.06366983848315],[-100.95277526349034,50.06406507487196],[-100.75999498620345,50.063669709828766],[-100.75977558771264,50.21046069107062],[-100.7588324806658,50.24064451625078],[-100.78455810308552,50.24218299138274],[-100.78457868877209,50.328943606156614],[-100.78441598586656,50.594389104585666],[-100.95030869196248,50.5943748038072]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.98029442942716,\"lat\":50.33052618658357},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4615\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4615056\"],\"csd_name_en\":[\"Prairie View\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Prairie View\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-100.9768111928502,51.21370461180724],[-100.96509060290714,51.20611891435933],[-100.92978529008347,51.206241929734404],[-100.92983911454823,51.19885848961156],[-100.88397978802138,51.198901825722054],[-100.88304407134791,51.25759460452104],[-100.97661501517642,51.25768120962578],[-100.98753281789311,51.257832896468855],[-100.9885218290919,51.236967527561774],[-101.03516631422971,51.23720211046808],[-101.0351841068082,51.22220799498702],[-100.9766726047996,51.221161886544735],[-100.9768111928502,51.21370461180724]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.94144787050418,\"lat\":51.23072888247248},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4616\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4616046\"],\"csd_name_en\":[\"Valley River 63A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Valley River 63A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-100.67054632642922,52.73491655333082],[-100.67056825419841,52.7571382190097],[-100.69441539196747,52.74888141205767],[-100.6939619476087,52.73531193813942],[-100.67054632642922,52.73491655333082]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.68143130401658,\"lat\":52.74425314734315},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4619\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4619072\"],\"csd_name_en\":[\"Shoal River Indian Reserve 65A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Shoal River Indian Reserve 65A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-94.06051283360807,54.84100876605],[-94.03839372003615,54.83350483140754],[-94.00210814851994,54.83771323135163],[-94.00242857263795,54.84081054223885],[-94.03726891213027,54.83736340130345],[-94.06051283360807,54.84100876605]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-94.02745865048038,\"lat\":54.83728381791042},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4622\"],\"cd_name_en\":[\"Division No. 22\"],\"csd_code\":[\"4622055\"],\"csd_name_en\":[\"God's River 86A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 22\",\"csd_name_fr\":\"God's River 86A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.41014330580792,49.26085338581336],[-102.4102834988373,49.46472479014903],[-102.40932706688501,49.52272135597244],[-102.41292718160443,49.52271989939691],[-102.81376330240033,49.522662510623434],[-102.81371829872498,49.26077008865982],[-102.41014330580792,49.26085338581336]],[[-102.75765019795628,49.38908498737734],[-102.74652996398648,49.37659724950011],[-102.76614179259387,49.375810901938664],[-102.75765019795628,49.38908498737734]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.61176112859542,\"lat\":49.39178832271029},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701031\"],\"csd_name_en\":[\"Browning No. 34\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Browning No. 34\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.28862457506932,49.642529709443046],[-102.28808199389015,49.62448507114627],[-102.27754592963134,49.61692872459048],[-102.25491049716716,49.61775532470046],[-102.25488839603238,49.63903310565878],[-102.28862457506932,49.642529709443046]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.27143906559962,\"lat\":49.629561465061975},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701056\"],\"csd_name_en\":[\"Carlyle\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Carlyle\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.21687473231832,49.260704634430816],[-103.62065018345861,49.26074839043603],[-103.62069578843813,49.17375191340404],[-103.6091022153237,49.1737478085335],[-103.60908391815806,49.086704301165184],[-103.60779368181015,49.05771306635701],[-103.60903285699591,48.999286747990176],[-103.20865609749366,48.99941721029644],[-103.20869325787771,49.17386153306316],[-103.21733954208106,49.173863654633614],[-103.21687473231832,49.260704634430816]],[[-103.49794006090207,49.13557206276088],[-103.49792150837551,49.1448817018867],[-103.47572150923651,49.14486959181289],[-103.4757147809619,49.137757482162826],[-103.49794006090207,49.13557206276088]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.41201060167057,\"lat\":49.13029722377558},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4702\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4702001\"],\"csd_name_en\":[\"Cambria No. 6\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Cambria No. 6\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.36737700240566,49.91602599053396],[-104.36715622444505,49.923344313440175],[-104.37830898984649,49.92321317214088],[-104.37806946426133,49.91602003639422],[-104.36737700240566,49.91602599053396]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.37271261118654,\"lat\":49.91967646422128},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4702\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4702071\"],\"csd_name_en\":[\"Lang\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Lang\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.58020253623343,49.71265646880217],[-106.58079946273672,49.69818791188382],[-106.5686873950797,49.69826080192969],[-106.56870969937975,49.71273361046522],[-106.58020253623343,49.71265646880217]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.57460047331641,\"lat\":49.70539641661817},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4703\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4703044\"],\"csd_name_en\":[\"Lafleche\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Lafleche\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.22346534880222,49.78613298872522],[-107.22374921857116,49.87308249311772],[-107.23397178205595,49.873093450569925],[-107.2328615899629,50.047766706413555],[-107.64292572014038,50.04784730267998],[-107.64282111565058,49.87309800858287],[-107.63065548255557,49.873095997865455],[-107.63065338919527,49.785682887905956],[-107.26898049106325,49.78564210887842],[-107.22346534880222,49.78613298872522]],[[-107.63727871778335,49.967631643844555],[-107.6201247811987,49.967754402356434],[-107.62014729054913,49.960463206346006],[-107.63697812177043,49.96038572139489],[-107.63727871778335,49.967631643844555]],[[-107.29082562677216,49.916484595381846],[-107.29034778757699,49.902287900701886],[-107.31359896597827,49.902264301482376],[-107.29082562677216,49.916484595381846]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.43449702896449,\"lat\":49.91690710487375},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4703\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4703059\"],\"csd_name_en\":[\"Whiska Creek No. 106\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Whiska Creek No. 106\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.44730600459803,50.06400026366166],[-101.44715800144121,50.24052438405252],[-101.47672111132778,50.24050443254835],[-101.47706680064991,50.32889480609175],[-101.75401051128233,50.32797738589929],[-101.75241739682524,50.2405472476631],[-101.7223840172052,50.24051309670634],[-101.7225234919502,50.06356286008272],[-101.5039409855724,50.06389214343654],[-101.50445913630213,50.07139723439539],[-101.49326378313867,50.07847990534978],[-101.49316136442198,50.06372726098192],[-101.44730600459803,50.06400026366166]],[[-101.6766383880558,50.15475179418387],[-101.65371751801071,50.15954393779321],[-101.65368232254981,50.13357509927458],[-101.68843174524513,50.12995489997708],[-101.68840914036085,50.1520278706005],[-101.6766383880558,50.15475179418387]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.59413883590939,\"lat\":50.197049085298175},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705001\"],\"csd_name_en\":[\"Moosomin No. 121\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Moosomin No. 121\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.27337687807149,50.745807118783986],[-102.29626401156003,50.730739560456165],[-102.26221024645429,50.73070835898064],[-102.27337687807149,50.745807118783986]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.27728371202859,\"lat\":50.73575167940694},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705824\"],\"csd_name_en\":[\"Ochapowace 71-18\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Ochapowace 71-18\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.46339839266993,50.04707808915013],[-104.46342911551226,50.2220010026596],[-104.48053131191043,50.221997810946185],[-104.48018239055514,50.309504790738984],[-104.89301449595546,50.309493392320036],[-104.89308430955936,50.22194049321489],[-104.87310861825353,50.2219294083489],[-104.8729696870742,50.04704381437204],[-104.46339839266993,50.04707808915013]],[[-104.71455160692247,50.090717069190674],[-104.73070651169013,50.090806014442926],[-104.73075931057757,50.10123483205906],[-104.71378249107916,50.10167248875482],[-104.71455160692247,50.090717069190674]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.67434395910949,\"lat\":50.1786380919338},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706013\"],\"csd_name_en\":[\"Bratt's Lake No. 129\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Bratt's Lake No. 129\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.1645814630199,50.933951634240465],[-105.17045830510895,50.93379028585526],[-105.17063795428486,50.92126724390284],[-105.1627180062364,50.92194909912305],[-105.1645814630199,50.933951634240465]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.16709634779399,\"lat\":50.92743177295479},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706065\"],\"csd_name_en\":[\"Alice Beach\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Resort village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Alice Beach\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.91660593288982,50.80109407117235],[-104.9043150126624,50.801252575880156],[-104.90446426600207,50.81227893493458],[-104.91666084505167,50.812202768745564],[-104.91660593288982,50.80109407117235]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.91051895483567,\"lat\":50.80669985266051},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706077\"],\"csd_name_en\":[\"Silton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Silton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.53673498416339,50.43320136681079],[-105.56934342803437,50.4334208170703],[-105.59190117564357,50.42576615820405],[-105.60340515260874,50.41135778356161],[-105.60341778685229,50.396878489263884],[-105.62632451495543,50.39696430374358],[-105.6263233624839,50.379788153086935],[-105.59171743853872,50.38217011450123],[-105.59173237282526,50.374961933785194],[-105.55827860004946,50.37495409376583],[-105.55752500116812,50.3530931837507],[-105.46594712719809,50.35301908870293],[-105.46588565091311,50.389514170093435],[-105.48897659939676,50.40119313970715],[-105.48882960759242,50.411473189932124],[-105.51188324196005,50.426079211257296],[-105.53673498416339,50.43320136681079]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.53785959535774,\"lat\":50.3917598076151},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707039\"],\"csd_name_en\":[\"Moose Jaw\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Moose Jaw\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.00423813135887,50.83411341311427],[-106.42014399746795,50.83401509859714],[-106.42021740682642,50.66874199617987],[-106.41956952746466,50.57228671222328],[-106.41634090182981,50.57226196537444],[-106.00459761287897,50.57203449456083],[-106.00454818914628,50.73220579426049],[-106.0276044039713,50.73226569756763],[-106.02755337758397,50.74677209057471],[-106.0045612802564,50.746729695087964],[-106.00423813135887,50.83411341311427]],[[-106.16616100438408,50.79058774980704],[-106.16614197758423,50.805057488777244],[-106.14307958497065,50.80506990418908],[-106.14307557128063,50.79033050478096],[-106.16616100438408,50.79058774980704]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.2130368882897,\"lat\":50.70273895260026},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707047\"],\"csd_name_en\":[\"Eyebrow No. 193\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Eyebrow No. 193\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.90573542171474,50.651431084614444],[-109.89999781547667,50.65962735922578],[-109.91893944677877,50.65954141066429],[-109.91845682196853,50.652355432025],[-109.90573542171474,50.651431084614444]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.91050210349694,\"lat\":50.655969248915625},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4708\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4708062\"],\"csd_name_en\":[\"Burstall\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Burstall\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.96389309960863,51.321342299316285],[-103.96409001568144,51.33548645047408],[-103.97565788583404,51.33623316204321],[-103.97567149324603,51.32173839466935],[-103.96389309960863,51.321342299316285]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.96985251041951,\"lat\":51.328679520150565},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710834\"],\"csd_name_en\":[\"Muskowekwan 85-26\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Muskowekwan 85-26\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.42988691659423,51.620069392148544],[-106.42922927881182,51.634584394737445],[-106.45276909975523,51.63456737714912],[-106.45282637917553,51.620066497249454],[-106.42988691659423,51.620069392148544]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.44117529859571,\"lat\":51.62735313076426},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711032\"],\"csd_name_en\":[\"Hanley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Hanley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.44099788097638,51.69587461449219],[-105.47527002859279,51.69948618679259],[-105.48739652002108,51.70701715972224],[-105.4877975505184,51.670731264572375],[-105.4752252881427,51.6635878514416],[-105.45093066608145,51.66358317421852],[-105.45175228101634,51.677972500096836],[-105.44099788097638,51.69587461449219]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.46824095277603,\"lat\":51.68293824708089},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711053\"],\"csd_name_en\":[\"Watrous\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Watrous\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.43244099583582,51.969140994843166],[-106.79547192579027,51.96899622041213],[-106.80299281440932,51.95654042691126],[-106.77439945264042,51.94242746708797],[-106.75401780963804,51.93916278985471],[-106.75074343260532,51.9282148941221],[-106.77413736394575,51.9179090638886],[-106.73636285498695,51.9179611933539],[-106.72428118931106,51.91064455101081],[-106.72331149670384,51.89614724046526],[-106.68913069538631,51.896128435568606],[-106.6891364673183,51.837939555362226],[-106.71267836027162,51.83793945985839],[-106.72451813613961,51.852432695537736],[-106.71275990110993,51.86702035631019],[-106.7128275889664,51.881733904369995],[-106.75457508861808,51.88158550291442],[-106.75411368865889,51.871645713154166],[-106.73423360590188,51.84957871406022],[-106.72989727442709,51.82977806657485],[-106.73578480682113,51.81324503280122],[-106.76707896532076,51.7900240753001],[-106.79033049942063,51.747580376351124],[-106.79842166784839,51.72320368086595],[-106.8221797168634,51.70706302181663],[-106.71252320511897,51.70745671630018],[-106.54721011590281,51.707032323074834],[-106.28759337996338,51.70709529364138],[-106.28792638271963,51.881676595133385],[-106.42933091181882,51.88186898936663],[-106.42939848728706,51.96914200070491],[-106.43244099583582,51.969140994843166]],[[-106.42561888170425,51.795937161647295],[-106.4340893972418,51.790504746553516],[-106.45330947457673,51.7842126397754],[-106.45412975118843,51.78716337499459],[-106.43437508065406,51.79198382417503],[-106.42561888170425,51.795937161647295]],[[-106.4057164144225,51.82851304763519],[-106.39863590718744,51.83132773476213],[-106.40012349789907,51.82334125758929],[-106.4057164144225,51.82851304763519]],[[-106.50246033012571,51.81332678321703],[-106.5000948708089,51.804852292107384],[-106.51214591925716,51.804809399567965],[-106.5118319128599,51.813065602706665],[-106.50246033012571,51.81332678321703]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.54150532631682,\"lat\":51.82590381913416},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711061\"],\"csd_name_en\":[\"Dundurn No. 314\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Dundurn No. 314\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.68808435191943,51.88166080189393],[-105.68793008242886,51.96910970520783],[-105.7174366193173,51.969104509291505],[-105.71733288779723,52.143828105753414],[-105.86009468161193,52.143835390945725],[-106.00275558186887,52.143841698893546],[-106.00304607352524,51.96906676042427],[-106.00468637505884,51.88182653352103],[-105.68808435191943,51.88166080189393]],[[-105.76493041415551,52.09896244937721],[-105.76482611132026,52.11474059542872],[-105.7533231423506,52.114736454223305],[-105.75340064065715,52.10028928554919],[-105.76493041415551,52.09896244937721]],[[-105.86855188587546,51.96913881382033],[-105.88393831326603,51.96912329180796],[-105.88390015282476,51.98364541748642],[-105.86013770411581,51.983674231836815],[-105.86855188587546,51.96913881382033]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.85521365526876,\"lat\":52.00968338701975},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711076\"],\"csd_name_en\":[\"Colonsay No. 342\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Colonsay No. 342\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.86855188587546,51.96913881382033],[-105.86013770411581,51.983674231836815],[-105.88390015282476,51.98364541748642],[-105.88393831326603,51.96912329180796],[-105.86855188587546,51.96913881382033]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.87398090607952,\"lat\":51.97691344988155},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711079\"],\"csd_name_en\":[\"Colonsay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Colonsay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.54031148873446,52.060395670415325],[-107.55065639451875,52.05633978729224],[-107.55066188456239,52.04853419017288],[-107.54117445318647,52.048199574162034],[-107.54031148873446,52.060395670415325]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.54534624845529,\"lat\":52.05348992495425},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4712\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4712051\"],\"csd_name_en\":[\"Perdue\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Perdue\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.79547192579027,51.96899622041213],[-106.86073869890623,51.969193611587144],[-106.86054480816792,52.14388469350687],[-107.28897501876646,52.143835706209536],[-107.2884192047893,51.968990152191935],[-107.27964430106061,51.96899339337886],[-107.27961199545334,51.88169220277081],[-106.91509266550538,51.88162988857653],[-106.75457508861808,51.88158550291442],[-106.74795010814444,51.90172465671771],[-106.77413736394575,51.9179090638886],[-106.75074343260532,51.9282148941221],[-106.75401780963804,51.93916278985471],[-106.77439945264042,51.94242746708797],[-106.80299281440932,51.95654042691126],[-106.79547192579027,51.96899622041213]],[[-107.22531369673577,52.1293179022814],[-107.23454519623307,52.13979640518713],[-107.21752969935964,52.14204489950144],[-107.22531369673577,52.1293179022814]],[[-106.9675685643027,52.0088276667193],[-106.97958398938677,51.99669580315945],[-106.97957184920507,51.98376815772651],[-107.00338467988296,51.986851300757],[-106.9793315744359,51.997794184562586],[-106.9675685643027,52.0088276667193]],[[-107.12671594751092,51.939740704109866],[-107.1264174274368,51.9143481017516],[-107.14229954486827,51.914718674994184],[-107.14269797538098,51.92926534153159],[-107.12671594751092,51.939740704109866]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.05521767911453,\"lat\":52.00727682563731},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4712\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4712054\"],\"csd_name_en\":[\"Vanscoy No. 345\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Vanscoy No. 345\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.12287080120603,51.88165488976713],[-109.40630589118037,51.88160980873347],[-109.40646654622073,51.62022799272948],[-108.98061510788047,51.62000490001031],[-108.98101519393241,51.88191336528112],[-109.12287080120603,51.88165488976713]],[[-109.25272680620044,51.70792869343986],[-109.23399192746523,51.71438978768076],[-109.23353358895301,51.70407484351325],[-109.25272680620044,51.70792869343986]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.1934952682883,\"lat\":51.75090812986761},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713024\"],\"csd_name_en\":[\"Oakdale No. 320\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Oakdale No. 320\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.39526778771283,52.07331505066624],[-109.38344018075789,52.07353612391541],[-109.38348958256233,52.08517049652446],[-109.4013537497325,52.085147790800576],[-109.39526778771283,52.07331505066624]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.39101674362337,\"lat\":52.07968547786528},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713044\"],\"csd_name_en\":[\"Luseland\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Luseland\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.67808000953882,52.40572769080279],[-108.68997421284958,52.42021718652175],[-108.72651219246804,52.41992702858844],[-108.73780412134406,52.40568670538314],[-108.72706918668256,52.39819546829876],[-108.67805876279262,52.398392205388525],[-108.67808000953882,52.40572769080279]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.707052751808,\"lat\":52.408556192458576},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713069\"],\"csd_name_en\":[\"Wilkie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Wilkie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.59782084036836,52.6668798599463],[-104.5969222813155,52.596730997518634],[-104.5968448128488,52.40549019715469],[-104.50097270610623,52.405474991365054],[-104.50094422294396,52.43274280861994],[-104.48664461849759,52.42011793877368],[-104.49572706829454,52.405475416342355],[-104.16536948960773,52.40563199560376],[-104.16516912864645,52.58721717531536],[-104.28535803546575,52.58759183273955],[-104.28514838314496,52.601648694193464],[-104.2606916878703,52.601864299834546],[-104.26085914898393,52.63142964493927],[-104.16513038343241,52.63119374517262],[-104.16512308173405,52.66738529443078],[-104.18020685970285,52.66737298704321],[-104.59782084036836,52.6668798599463]],[[-104.5138707162201,52.58017848459597],[-104.50093921410279,52.58018320000013],[-104.50870546897119,52.573965633302066],[-104.5138707162201,52.58017848459597]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.38766141317709,\"lat\":52.53360169809806},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714035\"],\"csd_name_en\":[\"Pleasantdale No. 398\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Pleasantdale No. 398\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.37195450865613,52.869368696638055],[-103.35754572256111,52.870814905543696],[-103.35745096701855,52.87460147070796],[-103.37377962260122,52.87466298211875],[-103.37195450865613,52.869368696638055]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.36563615318966,\"lat\":52.87238177925571},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714039\"],\"csd_name_en\":[\"Mistatim\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Mistatim\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.16516912864645,52.58721717531536],[-104.16513038343241,52.63119374517262],[-104.26085914898393,52.63142964493927],[-104.2606916878703,52.601864299834546],[-104.28514838314496,52.601648694193464],[-104.28535803546575,52.58759183273955],[-104.16516912864645,52.58721717531536]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.217537214922,\"lat\":52.60822019568888},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714842\"],\"csd_name_en\":[\"Kinistin 91\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Kinistin 91\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.61229755525078,52.26727041192331],[-103.63496174440475,52.26048148280966],[-103.63537312907656,52.30006435514058],[-103.68066033371736,52.30025053297891],[-103.68517457467449,52.303506636274335],[-103.69897027223102,52.31855420416596],[-103.72169490767122,52.31852164074081],[-103.72494160127684,52.33845021576836],[-103.74468239288211,52.33835199071836],[-103.74386196190703,52.30068604713498],[-103.76765760559952,52.28253547198196],[-103.76765004340133,52.26061571511421],[-103.73315039179687,52.26056328262902],[-103.7323974365461,52.239489042188595],[-103.72005861613474,52.23143998836796],[-103.68451391582228,52.23164259436643],[-103.67141571457638,52.245566963395554],[-103.648464697378,52.26048359695333],[-103.64844019010361,52.23140579301589],[-103.62467499656707,52.23138299042784],[-103.61142658033911,52.24434661398813],[-103.61229755525078,52.26727041192331]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.69466883015818,\"lat\":52.275206425261324},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714843\"],\"csd_name_en\":[\"Yellow Quill 90-9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Yellow Quill 90-9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.76462469367705,53.36613911122587],[-106.76498984407995,53.44235225254521],[-106.86604851117242,53.441724084750895],[-107.00623565170909,53.44256429767039],[-107.00589783600223,53.340199760114984],[-106.76437382501868,53.33989838854039],[-106.76462469367705,53.36613911122587]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.88540212738666,\"lat\":53.39106648553143},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716860\"],\"csd_name_en\":[\"Ahtahkakoop 104\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Ahtahkakoop 104\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.88302331743695,53.00935659272455],[-106.88940875400708,53.00735119063318],[-106.88242527167374,53.0059193464132],[-106.88302331743695,53.00935659272455]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.88495244770591,\"lat\":53.007542376590315},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716888\"],\"csd_name_en\":[\"Muskeg Lake 102F\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Muskeg Lake 102F\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.96361540576912,53.3954172036149],[-108.96777918426,53.3799010998851],[-108.94881151299943,53.384551394329904],[-108.96361540576912,53.3954172036149]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.96006870100952,\"lat\":53.38662323260996},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717041\"],\"csd_name_en\":[\"Turtleford\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Turtleford\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.68303049371522,53.80205104392372],[-109.12889608840672,53.80208369955674],[-109.12886210337584,53.71667438800315],[-109.10141414232088,53.71727265424614],[-109.10258548306079,53.57279789010611],[-109.10140681496505,53.45334907528631],[-109.10227049604714,53.36542884841555],[-109.07745579101022,53.36567819402729],[-109.07644568274043,53.28533825665994],[-109.07650587903174,53.27784945770857],[-108.6363744451344,53.27799634758753],[-108.637964245777,53.32301726507811],[-108.63588371208434,53.36572069343125],[-108.65948528503935,53.365710426462556],[-108.65964981533598,53.53425928026138],[-108.63527764857146,53.54003777340311],[-108.62857661503803,53.55656408192243],[-108.65925877099495,53.55254798973401],[-108.65979944503808,53.60705732626713],[-108.66727647209379,53.6104623708893],[-108.65981741772323,53.613657403865766],[-108.65969768559906,53.62784238962374],[-108.64195443763805,53.6278491838708],[-108.64217761177814,53.64953875530969],[-108.62152136051975,53.656628144910506],[-108.61179687611269,53.67521915298007],[-108.58733747507489,53.694500468848524],[-108.566355583405,53.69323066879821],[-108.54724086980411,53.71523354732923],[-108.68306175670935,53.715288548038025],[-108.68303049371522,53.80205104392372]],[[-108.86724969134286,53.3361869161458],[-108.87706722209803,53.32894625746392],[-108.88230283639857,53.33852569035153],[-108.86724969134286,53.3361869161458]],[[-108.96361540576912,53.3954172036149],[-108.94881151299943,53.384551394329904],[-108.96777918426,53.3799010998851],[-108.96361540576912,53.3954172036149]],[[-108.80712232311276,53.53949791105024],[-108.80706788929835,53.45218101176753],[-108.90540990762788,53.45331690935893],[-108.90607618630487,53.51109000241915],[-108.88104683743069,53.51124820760339],[-108.88086714729243,53.52641500739859],[-108.8690949978819,53.54061796126392],[-108.80712232311276,53.53949791105024]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.8761652478067,\"lat\":53.545198787629246},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717045\"],\"csd_name_en\":[\"Mervin No. 499\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Mervin No. 499\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.82124149346679,54.44259383573443],[-105.83263162961724,54.42604380748339],[-105.77557273706337,54.42130282518738],[-105.77586582146334,54.43095452940692],[-105.79702140205421,54.43329403257659],[-105.79864674351253,54.443168588536246],[-105.82124149346679,54.44259383573443]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.80486450256309,\"lat\":54.431362343260474},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718015\"],\"csd_name_en\":[\"Weyakwin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Northern hamlet\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Weyakwin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.97993607910549,55.88263790952943],[-108.95256323012056,55.87222914177199],[-108.94792242029294,55.882705362274336],[-108.97993607910549,55.88263790952943]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.96014057650632,\"lat\":55.87919080452525},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718071\"],\"csd_name_en\":[\"St. George's Hill\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Northern hamlet\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"St. George's Hill\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.8103790174583,54.28279789065803],[-101.82207635784272,54.28273178677749],[-101.81745998295224,54.27957242469586],[-101.8174188873619,54.27909948661069],[-101.81728544626557,54.277753101678236],[-101.81038717439793,54.27763050495993],[-101.81038300956303,54.2802688838185],[-101.8103811893544,54.281421154023626],[-101.8103790174583,54.28279789065803]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.81475758165404,\"lat\":54.28048987153136},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718815\"],\"csd_name_en\":[\"Sturgeon Weir 205\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Sturgeon Weir 205\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.95337759998569,48.99840551625428],[-111.953310238772,49.006546567048474],[-111.9692738194893,49.00651991945826],[-111.97283123529786,48.998439842114244],[-111.95337759998569,48.99840551625428]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.96221714804214,\"lat\":49.00234424118889},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4802\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4802002\"],\"csd_name_en\":[\"Coutts\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Coutts\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.16916126155355,50.31104982111005],[-112.20439761855471,50.31012149577192],[-112.43300089104922,50.31007360019525],[-112.4329196606615,50.26630748704879],[-112.52476270859572,50.26593190902478],[-112.52464680386747,50.22274319584144],[-112.52968729815186,50.2080792057948],[-112.55240868755571,50.208105094329774],[-112.55236938924803,50.193576193523654],[-112.64341600819535,50.19346590800467],[-112.64347149368155,50.13528430647621],[-112.50691491174135,50.13536210474407],[-112.50686049386168,50.07705730395431],[-112.46140348328974,50.077074000501554],[-112.46159861364583,49.931450786400774],[-112.4605503258636,49.87727100122612],[-112.46339670107393,49.869254145221106],[-112.44291680189984,49.86453195675742],[-112.44288367654063,49.719529786362585],[-112.42065079885613,49.69840954470781],[-112.39788556508189,49.69089489260605],[-112.36399466624687,49.690481149055294],[-112.34216365923572,49.683779052222434],[-112.3302230782107,49.669523798279755],[-112.30775280412175,49.66160515504082],[-112.27461093581084,49.66191793478271],[-112.25255557506757,49.647413980481254],[-112.25220163209515,49.625836400225374],[-112.21776395853225,49.611042510187914],[-112.21781736611663,49.6049262299222],[-112.18480269380741,49.604929475485235],[-112.18449287639237,49.59650062385827],[-112.08198584507593,49.596641226756596],[-112.07173724272273,49.582381506998665],[-112.03697803620135,49.582108925881776],[-112.03694388540285,49.57576429640878],[-111.9688396362111,49.57459308563575],[-111.96893059647508,49.56747355800499],[-111.90162975324232,49.56726267699777],[-111.83361611960328,49.56690477872183],[-111.83362362714074,49.55985908867726],[-111.78823662967265,49.559694017446866],[-111.78837665774797,49.5521779011542],[-111.76583512328808,49.545515407196994],[-111.69816886214815,49.545199364992634],[-111.67556131845956,49.53787853813261],[-111.67567178480965,49.5304445768201],[-111.63054815147828,49.53024703223778],[-111.63023581211803,49.6404210060624],[-111.6302800942585,49.8730549899187],[-111.64207328226635,49.87307878980256],[-111.64201256308611,49.89629063067225],[-111.66028350712018,49.898578045777306],[-111.67889791263102,49.908055745185585],[-111.69584539451456,49.92535975157175],[-111.68956250596179,49.93498785427462],[-111.69535052514804,49.94605691692608],[-111.67325253972723,49.955619339491626],[-111.65745623565563,49.97731333416448],[-111.6235918334487,49.975296735421615],[-111.59708815269809,49.98692566837952],[-111.58824149825011,49.99825794602689],[-111.59394161037845,50.02276654676246],[-111.57809300931098,50.04272505781945],[-111.61796471177344,50.05609496107081],[-111.62833698270336,50.06914665251579],[-111.60757901402138,50.08149235822577],[-111.61163250441399,50.09464305737638],[-111.62412501648328,50.097858159245405],[-111.63880539961258,50.1116295489309],[-111.66386231179506,50.12606194850611],[-111.6689768330688,50.13356391885684],[-111.67912549870397,50.139461254429186],[-111.70276639603992,50.131817942905236],[-111.71641068727692,50.138042255210955],[-111.76766061264001,50.12614493861082],[-111.78885150883845,50.14385443850885],[-111.81541499285481,50.14803886547818],[-111.83097168752892,50.1430208443763],[-111.84973580204647,50.148919452016735],[-111.8511697090812,50.173799143793445],[-111.89034981597626,50.20566884428646],[-111.90638428237335,50.20066904915188],[-111.9253694040709,50.18277654334055],[-111.93739640609179,50.1840497410655],[-111.98520592341761,50.21198865998541],[-112.0107431014274,50.21315745881126],[-112.0606276206975,50.19994215310948],[-112.08552229200507,50.20399526378434],[-112.07596140098067,50.22312434579212],[-112.0779384119942,50.243701739208035],[-112.08706437929077,50.257304949832175],[-112.08806821551688,50.27883514963715],[-112.11501269798354,50.28110496656364],[-112.13913370754825,50.293979543938825],[-112.16656621073622,50.300622346054084],[-112.16916126155355,50.31104982111005]],[[-112.25678588033082,49.755684291390914],[-112.27379188986436,49.758497999324206],[-112.26249410578211,49.7679148914419],[-112.25678588033082,49.755684291390914]],[[-112.10605050657308,50.06222127819766],[-112.1200980630359,50.06243518630668],[-112.12006010653715,50.07709309832259],[-112.09747430704003,50.0770370922672],[-112.10605050657308,50.06222127819766]],[[-112.16139335838189,49.816295464695024],[-112.12714709968584,49.814988498805064],[-112.11594225205543,49.80795816899245],[-112.11591213019379,49.79448854196047],[-112.13840771367404,49.775196954141734],[-112.17211367744082,49.777998770723435],[-112.17211291097279,49.79335109917287],[-112.19473377958941,49.78972647306422],[-112.2059007799663,49.806652714279465],[-112.16139335838189,49.816295464695024]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.06610027265005,\"lat\":49.92677174848857},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4802\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4802021\"],\"csd_name_en\":[\"Taber\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Taber\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-110.00500162052376,52.05557009996649],[-110.21956633508306,52.05563234676779],[-110.21913869239624,52.11388929603945],[-110.36263803826569,52.113759209428984],[-110.36208201187358,52.23040729822541],[-110.64480714046309,52.2303364266552],[-111.00417538840918,52.230123212656906],[-111.1476595109996,52.23024629675311],[-111.14578975073672,52.172227153917426],[-111.19376095957735,52.17219774126683],[-111.19392964639579,52.142972240375954],[-111.24292870233036,52.14297209744943],[-111.2423147416017,51.982921744437974],[-111.29050715137976,51.98286915970028],[-111.29068143277787,51.967711538268944],[-111.27967766172279,51.96779139336589],[-111.28068620159534,51.88187569981965],[-111.27737395024853,51.849950546771424],[-111.2799562551246,51.828214584068604],[-111.28189944816593,51.73565458873744],[-111.27970897889435,51.70680006023755],[-110.96245877669361,51.70714029591281],[-110.9253535267635,51.70628303787787],[-110.79073177412091,51.70758368215078],[-110.66641321277048,51.70718518415171],[-110.2708104144078,51.70709549382305],[-110.00558614143105,51.707083801604234],[-110.00442949292919,51.88161372732577],[-110.00500162052376,52.05557009996649]],[[-111.1120974860791,51.99745701504032],[-111.12506794876325,51.99749717578771],[-111.1239738842708,52.00502690576868],[-111.11308655366958,52.005168682986366],[-111.1120974860791,51.99745701504032]],[[-110.77232994238538,52.00405472550055],[-110.7903955792224,52.00275601617308],[-110.79051608925975,52.01924290220505],[-110.76624798292107,52.019178100047874],[-110.77232994238538,52.00405472550055]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-110.6695452540037,\"lat\":51.94725294528523},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4804\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"4804020\"],\"csd_name_en\":[\"Special Area No. 4\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Special area\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Special Area No. 4\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.75745495598571,51.65325984359719],[-112.76056923832645,51.65926526845621],[-112.768863200536,51.66765620892336],[-112.7688552828191,51.656242303082614],[-112.75745495598571,51.65325984359719]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.76463254260084,\"lat\":51.65920793498762},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4805\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4805038\"],\"csd_name_en\":[\"Morrin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Morrin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.1551906944808,53.774256394573705],[-113.16902309430714,53.76470536767006],[-113.1733972078632,53.74930225273092],[-113.20988838444143,53.72510106108872],[-113.21536388277104,53.71609546679377],[-113.2459898070471,53.6981990649706],[-113.28772599523379,53.679519761264274],[-113.29332447407059,53.672935910904805],[-113.27161548551526,53.66908115693155],[-113.28323409811837,53.657687468797036],[-113.21434481176375,53.657683177206806],[-113.18588391198179,53.6816153662614],[-113.18510582521559,53.70077939215294],[-113.17225830928747,53.71590699466203],[-113.12433219634913,53.71584070277647],[-113.12426330156988,53.77428690673542],[-113.1551906944808,53.774256394573705]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.19600542823609,\"lat\":53.709811575320636},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811056\"],\"csd_name_en\":[\"Fort Saskatchewan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Fort Saskatchewan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.91513412218335,54.11167619739785],[-111.91300276121635,54.12131533992073],[-111.92686310227144,54.12121259698624],[-111.92684149125763,54.111319689536316],[-111.91513412218335,54.11167619739785]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.92047730934264,\"lat\":54.11651945741238},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4812\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4812024\"],\"csd_name_en\":[\"Vilna\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Vilna\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-110.25925073484343,53.874822508918264],[-110.24753280805791,53.88609479495435],[-110.29455296130745,53.88600089152871],[-110.34981370266219,53.85520615209153],[-110.35573398774702,53.875379955594745],[-110.36113390062707,53.9188041629454],[-110.3797138967877,53.92647535559609],[-110.4440459371728,53.9264181112749],[-110.44305058014544,53.89209735379521],[-110.43864289504427,53.88889782515831],[-110.43821826341727,53.83209176181756],[-110.35497098365865,53.83193881093774],[-110.35733033657446,53.82229644976877],[-110.26805339317231,53.8219395502919],[-110.25904391312461,53.83133466026136],[-110.25925073484343,53.874822508918264]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-110.36014626403536,\"lat\":53.86752864612434},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4812\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4812802\"],\"csd_name_en\":[\"Unipouheos 121\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Unipouheos 121\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.4251432761435,54.587470813590855],[-112.42529155588889,54.762187925210576],[-112.44614206540827,54.76217982737116],[-112.44656174478072,55.000076613890066],[-112.4458757992055,55.02396308708248],[-112.34448496285533,55.023953293469425],[-112.34493358674656,55.11150655235776],[-112.31175587100589,55.11172499578244],[-112.31257283854244,55.28790780731985],[-112.31353038314617,55.46057316391541],[-112.75109748097805,55.46088428231539],[-112.75520623310922,55.4423830663315],[-112.72992907251546,55.41903837727846],[-112.72571397646917,55.38121543758487],[-112.70138770088427,55.351975900887574],[-112.6842590758084,55.312101387877675],[-112.69400666883162,55.293125352831545],[-112.70642269880297,55.282190401799475],[-112.7327640869473,55.289518267538774],[-112.74999700340365,55.27302412812236],[-112.78812927446486,55.259477952332205],[-112.78888911330719,55.241833617654116],[-112.81285980705607,55.22855721819946],[-112.81930700183042,55.17376924023046],[-112.83846392476154,55.157807453020204],[-112.84908031913638,55.12611801898732],[-112.87677150609319,55.104285900379566],[-112.889397922628,55.07721014044357],[-112.88021321121259,55.06730790767948],[-112.83593811961163,55.046041584205604],[-112.80137393079477,55.04854517637214],[-112.75849261634289,55.039291693447026],[-112.74402003974829,55.027648252600564],[-112.71594757413438,54.986215867776984],[-112.73644588165212,54.97390036250513],[-112.78765718941355,54.96891985217439],[-112.81150877875771,54.97181636229623],[-112.83546831393932,54.96436256450169],[-112.87551057307199,54.96515187042326],[-112.90380312764009,54.97036729146016],[-112.90388982743822,55.02410734259689],[-113.3613078121039,55.023859356077914],[-113.36108152915759,54.93724948050914],[-113.66560153644576,54.936726694375224],[-113.6663202786346,54.796416497597306],[-113.6644780812338,54.76212409138126],[-113.69157086863635,54.76188180176928],[-113.69446308382885,54.74194379809854],[-113.68938268861282,54.67440115794096],[-113.68722797034991,54.58786782819045],[-113.68540620499321,54.514403490588485],[-113.6855217568655,54.41340850279413],[-113.67611676271575,54.413401697115376],[-113.67532527707698,54.3631224963585],[-113.61292118462269,54.36309149803798],[-113.61308498596765,54.34101919387001],[-113.60045627923752,54.32663019054829],[-113.30058981643965,54.326746582316034],[-113.25052300427039,54.32677160778679],[-113.25059879919105,54.38500364042258],[-113.22555421120263,54.38486558340089],[-113.22574081478173,54.41336150392376],[-113.15448665287016,54.41338356650296],[-113.15444733739419,54.4422155359183],[-113.10587055002071,54.442179437743235],[-113.10589296448214,54.45661447008332],[-112.80358276951745,54.45607399249946],[-112.80341321258287,54.4998697971309],[-112.57654775995022,54.5000793010258],[-112.57649648527892,54.565540671103],[-112.51339862029134,54.56562540453915],[-112.5134129130601,54.58027371143235],[-112.50084494727231,54.58746878342616],[-112.4251432761435,54.587470813590855]],[[-113.53186127548702,54.82362705674968],[-113.53907458044532,54.82559811534737],[-113.5394777527567,54.83233811306843],[-113.53309639059164,54.829509462748035],[-113.53186127548702,54.82362705674968]],[[-113.56439237918416,54.743572190385436],[-113.56901127021932,54.75108888725322],[-113.56187289385976,54.75000006161748],[-113.56439237918416,54.743572190385436]],[[-112.75652783111502,54.61663558014919],[-112.75055147716664,54.61136438460833],[-112.75822525023233,54.60970485186068],[-112.75652783111502,54.61663558014919]],[[-113.54089187924481,54.75227518637248],[-113.5395339848959,54.74610106171646],[-113.54943647988114,54.75063976017872],[-113.54089187924481,54.75227518637248]],[[-113.56844179668082,54.72732055681594],[-113.5636915087933,54.723035151507084],[-113.572616434836,54.721212549405486],[-113.57248217250897,54.733430657930285],[-113.56724999750469,54.732973967184755],[-113.56844179668082,54.72732055681594]],[[-112.70933347807815,54.60340205686056],[-112.71210719365936,54.60740386291929],[-112.70252029329187,54.61211044824441],[-112.70256439471899,54.60361739864691],[-112.68378463568696,54.60144713742313],[-112.68899814921825,54.594695829200944],[-112.69897047166683,54.60265716428325],[-112.70933347807815,54.60340205686056]],[[-113.5431945767441,54.83093178958285],[-113.56115030452303,54.840276789741104],[-113.5550090768046,54.84678486822389],[-113.5431945767441,54.83093178958285]],[[-113.55942673529633,54.75451096562697],[-113.54685660057253,54.766613359067314],[-113.53539099276448,54.75520100027359],[-113.55942673529633,54.75451096562697]],[[-112.80337577952416,54.572846998347146],[-112.82815321760337,54.572752316485385],[-112.82859842276025,54.594606397554344],[-112.80341975618684,54.598517034669214],[-112.78870910134307,54.59468211926969],[-112.78883622723907,54.579977388325176],[-112.80337577952416,54.572846998347146]],[[-113.29632538031171,54.740754503435326],[-113.28491483257166,54.73532846694482],[-113.2486315705837,54.739509187985746],[-113.24512340665567,54.711502802725235],[-113.25847080698856,54.711305845407594],[-113.27247830710574,54.69815177861785],[-113.30891274190891,54.69805039047401],[-113.32127131519367,54.712316709423696],[-113.32099283255582,54.72850767302901],[-113.29632538031171,54.740754503435326]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.97223335526186,\"lat\":54.82407135560121},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4813\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4813044\"],\"csd_name_en\":[\"Athabasca County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Athabasca County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.54828723244243,53.78875952369507],[-114.57200918485863,53.78902753949095],[-114.58365748868144,53.7834893048105],[-114.57997136565393,53.69473619991645],[-114.56120939914567,53.68774465262604],[-114.54517220653688,53.69175296104428],[-114.53799890907945,53.72225067113904],[-114.48084518497168,53.72913685623385],[-114.45220098102065,53.741491161522994],[-114.44366388169378,53.74032300338233],[-114.44371708363474,53.78306319996487],[-114.54856573009542,53.78324684974085],[-114.54828723244243,53.78875952369507]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.52385401102404,\"lat\":53.74918424261361},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4813\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4813811\"],\"csd_name_en\":[\"Alexis 133\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Alexis 133\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-118.29294297195553,53.417666079721286],[-118.31314881562396,53.42334455498583],[-118.36014304264184,53.45699690208344],[-118.411489219724,53.44440646444813],[-118.44457506327852,53.458292083174705],[-118.45671794241143,53.45930853878351],[-118.4754595631216,53.449018271719986],[-118.51880131798691,53.461545457102126],[-118.52469636584297,53.47121203044742],[-118.58103632819773,53.43502209966665],[-118.66731034782177,53.468582640888314],[-118.6838744459688,53.46158616949688],[-118.71900150870772,53.47487136372066],[-118.73904004084058,53.455583707869415],[-118.76251505103691,53.44987348290821],[-118.75109376756296,53.433399505673854],[-118.77415707687003,53.43549252907558],[-118.7916533788268,53.4161767759151],[-118.81621163840663,53.43207353022929],[-118.85754518591189,53.445620581247844],[-118.88325524462908,53.443522079191126],[-118.96451725445925,53.479458723647056],[-118.99891052601392,53.48022541394686],[-119.01384167812184,53.46154126324633],[-119.00103469651431,53.4569083000474],[-118.99913881944543,53.44397644955193],[-119.01879434810783,53.42499552887934],[-119.0417109688745,53.420743881402196],[-119.05300590808675,53.437945838419566],[-119.10270247683404,53.44617928706925],[-119.13892551820581,53.4359041817633],[-119.15509346447897,53.43623982942895],[-119.17001812737354,53.44879148495294],[-119.21461473263452,53.46194220199609],[-119.23708401048708,53.474112539131426],[-119.27446496116261,53.47694414708301],[-119.27985689563748,53.46971890643291],[-119.3355926236975,53.4726436807658],[-119.36054767195021,53.462803796881055],[-119.4051528163339,53.47599465536862],[-119.41588765174961,53.464108477229445],[-119.45481058096526,53.47657047885371],[-119.47027714318365,53.47507341663738],[-119.4785459402614,53.45532488116762],[-119.50025577943605,53.452886594249684],[-119.50904005827131,53.441522176178054],[-119.54140985657375,53.43313946964404],[-119.52410488793348,53.42285658274887],[-119.47286064730365,53.40541191792284],[-119.43201015982812,53.39509716821],[-119.40608481035825,53.368089294537796],[-119.35587852064732,53.340102179676585],[-119.34691248807404,53.3263266169146],[-119.35598006464302,53.31232855675729],[-119.32964889624188,53.29661418353565],[-119.34049629263714,53.287080297804756],[-119.32522950440269,53.26960249582366],[-119.29135843066334,53.250032841948624],[-119.28800191731631,53.24006656087518],[-119.25146261933783,53.19896655526493],[-119.2571161723511,53.17662105945599],[-119.23271506781946,53.181768314020346],[-119.21903071576489,53.194049702141925],[-119.19605678207894,53.185533411034136],[-119.17560531255099,53.1846307125812],[-119.14601293054683,53.19118076861356],[-119.11952400620235,53.16176576397],[-119.08849667207235,53.165531908937304],[-119.04688152684797,53.144909624071516],[-119.04797477133914,53.12682289568183],[-119.02508892306889,53.134570466285034],[-118.9998661560306,53.14858027122348],[-119.02877345855086,53.16419293606015],[-118.99941805270834,53.19276477009838],[-118.99939195861522,53.21272997530264],[-119.0182946373101,53.21942883379427],[-119.02383383346701,53.23194970726286],[-118.97518999557337,53.2416561552717],[-118.94744409721655,53.238935158012985],[-118.92342292473337,53.22522130146408],[-118.91596082726338,53.211844915434206],[-118.87959590088946,53.20592767366366],[-118.86206958500092,53.190942958407234],[-118.83149170538044,53.18305189966032],[-118.82338581110662,53.17291489247554],[-118.78652165888747,53.159224179625255],[-118.78400328319869,53.14491300736752],[-118.7724880811906,53.13303927086822],[-118.73234093348077,53.1192494101021],[-118.74876863007407,53.09715645200809],[-118.74870402541254,53.08830021432249],[-118.7698270807955,53.07449218227551],[-118.75905843996392,53.06577606003673],[-118.77620337937772,53.04535065361347],[-118.75893961774246,53.03800508407288],[-118.74607944323523,53.05233562606118],[-118.72643661511569,53.06021832808997],[-118.70054881003905,53.04435698245986],[-118.69587563527762,53.03280997045583],[-118.66875993739964,53.04250480269645],[-118.65534778600306,53.03479723339301],[-118.65263426715698,53.01838883681816],[-118.64077215980564,52.99933106894774],[-118.6697691259951,52.983415609226626],[-118.66020489429746,52.96393768062808],[-118.61342207156233,52.93601196344632],[-118.6209570562667,52.91625260640251],[-118.61382974913968,52.88372169369512],[-118.59651368820198,52.88104410860748],[-118.59877071995534,52.93494371980045],[-118.55818349972307,52.93568238870457],[-118.34112518543556,52.9360544340316],[-118.34246562813621,53.022375423928935],[-118.07766240412445,53.02200916225512],[-117.86796632849361,53.02056044324256],[-117.87336848884694,52.892663386245374],[-117.87804364678807,52.753039670413564],[-118.16090463090087,52.755412336931464],[-118.1608947599974,52.84100869072945],[-118.40108856689174,52.840507813370714],[-118.39962643062576,52.82446020987374],[-118.41299568550383,52.805983513772645],[-118.42241012943758,52.775786511962735],[-118.34282282867157,52.73855633325497],[-118.34329466527976,52.70888888153544],[-118.29014118574572,52.677693441574],[-118.30103784508414,52.65408122898692],[-118.3544911182317,52.633683980660535],[-118.35250427266114,52.61064739850081],[-118.33360055447136,52.60619521805405],[-118.33256828987776,52.58017159751485],[-118.272783383034,52.56595580745586],[-118.28914629729884,52.53849400402096],[-118.23552910270092,52.49017789295844],[-118.1933509328222,52.477820115697085],[-118.25533801784519,52.449536947527974],[-118.23979562631668,52.42701673093156],[-118.24444712136238,52.408024865105844],[-118.22089177271523,52.39755990042135],[-118.22601544486646,52.38028948983244],[-118.21277316802475,52.3703414530341],[-118.18008626750758,52.372598316925824],[-118.18206655842228,52.382797786275475],[-118.13804609686925,52.407497505511124],[-118.04416878304134,52.3984593604873],[-118.04072404183684,52.418477598706595],[-118.03036292672128,52.438077475881386],[-118.052899059003,52.44956354099687],[-118.04207277378535,52.45897855322572],[-118.02112887880766,52.45552865145385],[-118.02181794371258,52.472301273462534],[-118.00345622827663,52.49257209939747],[-117.9879849034058,52.50023848971107],[-117.96679241620095,52.469708726981956],[-117.88693304606988,52.426091585568685],[-117.83974618078693,52.421116416169234],[-117.76649799083394,52.417692152543154],[-117.72982531825024,52.38232722197169],[-117.70579503120742,52.3653448745019],[-117.72298605757311,52.35558131379601],[-117.75287839938595,52.316423609757386],[-117.77799464538333,52.318930376250584],[-117.79606075162526,52.29250684880189],[-117.83957806474518,52.274127445903936],[-117.82220308552473,52.24640841059131],[-117.81831749566786,52.226354813822496],[-117.74134637875814,52.20299738708301],[-117.7432078576629,52.1939923136207],[-117.66352952334486,52.19789299233723],[-117.62934759471491,52.1747642091423],[-117.61126381283381,52.14425889856054],[-117.52311532294216,52.15824608991329],[-117.50990292581155,52.15781219523599],[-117.50017801526667,52.1442736720973],[-117.38125574043181,52.13772407759406],[-117.33403622995279,52.14864145776575],[-117.32716261631559,52.18994816171266],[-117.31730287210712,52.19404201548251],[-117.28453408118057,52.1633290592108],[-117.19676523618399,52.18097183800629],[-117.19445189266759,52.19940359496769],[-117.13460456306662,52.22288400752864],[-117.19867840942672,52.26356161156014],[-117.19096283570535,52.26945518840061],[-117.15575500788003,52.26375054483126],[-117.11999673590803,52.24407895238123],[-117.10598705381283,52.246720764823216],[-117.07246445722154,52.22993918491023],[-117.07332837620102,52.221529434545026],[-117.03771151838181,52.204592026300084],[-117.02428165016805,52.21176128459435],[-117.03377411551715,52.24246380658995],[-117.08422473361334,52.24907464285066],[-117.09115621738346,52.25923410901104],[-117.06494909631826,52.270947986343636],[-117.03021422348473,52.30225490743456],[-117.00957145955384,52.3425061682807],[-117.00906355152073,52.367065250899024],[-116.99200332409342,52.37804015404906],[-116.9846522029533,52.39419411518461],[-116.91943609134701,52.452462416599865],[-116.90448961493999,52.45702180553003],[-116.8927854732805,52.47897811283868],[-116.86941820239349,52.48739347702539],[-116.87211880377698,52.50976535174732],[-116.90271826742492,52.53637791094175],[-116.88945555327648,52.551106505520664],[-116.88800740229443,52.56766936096336],[-116.86317070822867,52.58184491741593],[-116.84593987689748,52.61518522241722],[-116.8276375458002,52.61679982346744],[-116.8172416096084,52.624934904770925],[-116.82275920965924,52.63647172733189],[-116.80951614893719,52.64742686169952],[-116.81878447088341,52.66087095245131],[-116.79717587380131,52.67195746210825],[-116.79893789115354,52.68576585747375],[-116.81387760692766,52.69563011364432],[-116.81451652467588,52.721629003912774],[-116.84703240816997,52.707604563094876],[-116.87371590367007,52.67840815443662],[-116.8745144891305,52.66718476750298],[-116.90444497425477,52.654103374854465],[-116.96803350478982,52.69562080641476],[-116.98160733593076,52.71495813520447],[-117.03586648128226,52.7199996698617],[-117.08054736519375,52.71644671690499],[-117.12738417201045,52.74388611484434],[-117.15047571041549,52.768699556622586],[-117.19696863946268,52.79174412616329],[-117.19289656691546,52.81091484777493],[-117.23002181853622,52.82036134600658],[-117.24790711353909,52.835201925988514],[-117.26674824999307,52.83682678951094],[-117.27683582453658,52.84575894176577],[-117.36369986558823,52.88588008238589],[-117.39117390213266,52.89054918142765],[-117.41840419741762,52.905431322076396],[-117.42054753928925,52.92734338513423],[-117.43591343521032,52.9315042913133],[-117.46244435135856,52.94715440810989],[-117.49149065579616,52.953948799982086],[-117.50709467697635,52.94993222397144],[-117.54573675631858,52.97027384058451],[-117.55304415783898,52.99136427384617],[-117.53964603779498,53.01456708767725],[-117.52074238244748,53.011224345263415],[-117.48951818147265,53.03860821800796],[-117.59530040561265,53.06721234265959],[-117.60611758940784,53.074203826911],[-117.61109357420496,53.08896301944673],[-117.65002737876235,53.11627642412076],[-117.67163500104068,53.12595169286011],[-117.69764782335749,53.18350503623737],[-117.74249901891712,53.17991623761899],[-117.78583127904525,53.201287740735054],[-117.80457391541731,53.22521723308207],[-117.86646628089238,53.230164998864154],[-117.88879547783061,53.25592211889757],[-117.88646933695135,53.2726078516757],[-117.90678185505979,53.290275208478114],[-117.9320422179621,53.29802484610029],[-117.95883168418705,53.330196642579935],[-118.00780307285467,53.35198255699666],[-118.04945006565512,53.364087706546364],[-118.06799247649391,53.35845759656496],[-118.09197793975125,53.368586829126706],[-118.11321918620912,53.358115733060835],[-118.1507378208055,53.34611910093946],[-118.16399963399745,53.337332046034966],[-118.18143806753974,53.33648520392957],[-118.20779855640035,53.32542520481655],[-118.2339250684797,53.339976099712885],[-118.23988353572163,53.35187570023015],[-118.21954167448935,53.356836984760974],[-118.21236901992457,53.38329940254654],[-118.24013445840426,53.39153154698724],[-118.26765494245019,53.40788889621421],[-118.29294297195553,53.417666079721286]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.96867788974525,\"lat\":52.84788755641159},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4815\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4815037\"],\"csd_name_en\":[\"Improvement District No. 12 Jasper Park\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Improvement district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Improvement District No. 12 Jasper Park\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-116.48863954107544,55.44803731550916],[-116.51391309074425,55.44741108832947],[-116.52819102028906,55.433394608187925],[-116.46200908139964,55.428062282335446],[-116.4630290804448,55.44109037895344],[-116.48863954107544,55.44803731550916]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-116.49234225360259,\"lat\":55.43815306247675},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817021\"],\"csd_name_en\":[\"High Prairie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"High Prairie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-115.67300137052972,55.9320821472283],[-115.67257087845383,55.941314299320354],[-115.72321034441072,55.94189654747771],[-115.72379699061833,56.07389353666861],[-116.03673383241173,56.07293059410027],[-116.03383746499009,55.98507068597355],[-116.22647140343979,55.98425204731222],[-116.50710838195188,55.98437655364255],[-116.50796468133244,55.89749060256659],[-116.61609163076179,55.89679008246793],[-116.97570748145748,55.89851828297568],[-116.9726983753333,55.811655537682554],[-116.92171798123307,55.810735891333636],[-116.91958503686574,55.7375496386688],[-116.84523024534974,55.73794632687424],[-116.84373951740724,55.72313326417828],[-116.7932858545312,55.723115399435976],[-116.79372118951494,55.62530134191879],[-116.79608889446627,55.58539881165775],[-116.79338624050756,55.46202780420401],[-116.76771117255116,55.46118728965531],[-116.76986959227074,55.37462470172947],[-116.92031889719121,55.373881766665605],[-116.92431947449798,55.31638539739036],[-116.9245484968042,55.11256269732655],[-116.7426394622658,55.112591616084394],[-116.74243509206214,55.0605180784576],[-116.74652042087178,54.957282857436354],[-116.74542397304921,54.85029231409346],[-116.45427784244657,54.850870776326566],[-115.9843732789739,54.84956602918686],[-115.9861033361777,54.76206715033787],[-115.96768114824226,54.76261858303178],[-115.96690828926883,54.58789609374641],[-115.96249582111322,54.50003646860606],[-115.67442051213541,54.500084627822346],[-115.42756085902887,54.499827400655285],[-115.18408288324923,54.5002370802159],[-115.07365759432585,54.49966433359469],[-115.06280632439196,54.502813429753395],[-115.05916653689913,54.62433891630994],[-115.0575065656362,54.759998758922656],[-115.06918226018,54.76000280130972],[-115.069938884781,54.850288951608086],[-115.06975602453561,54.986511623058355],[-115.06679986020353,55.10067285296706],[-115.078581536773,55.1116971941651],[-115.07949729406053,55.13311999089475],[-115.07903890113495,55.28579929149719],[-115.2317860313429,55.285820392866995],[-115.23298947717937,55.37918528740024],[-115.23206809164745,55.46183517646105],[-115.24503237923517,55.46189184445122],[-115.24356318498627,55.635789906602845],[-115.24154208204794,55.80880157116098],[-115.25465856130002,55.80895431806384],[-115.25276237285267,55.898739030289],[-115.51040230053651,55.898308821962985],[-115.59957879455474,55.89855986257442],[-115.61541501784751,55.89226186807625],[-115.60760975235657,55.881517752269176],[-115.66155226670904,55.88128376681025],[-115.66208013872038,55.89906253502704],[-115.72294187500398,55.89760870288606],[-115.72319529593496,55.9180132934076],[-115.67165696047272,55.92104896397978],[-115.67300137052972,55.9320821472283]],[[-115.38079379273066,55.48703397597651],[-115.39166039425437,55.48028217039468],[-115.40147527585768,55.48598386580508],[-115.38079379273066,55.48703397597651]],[[-116.13683411555894,55.548628290981256],[-116.13566433462445,55.55973803172138],[-116.12307818625683,55.553354415617164],[-116.13573512796361,55.548228652627806],[-116.16427935838517,55.547210368994236],[-116.16416336227232,55.54885595804374],[-116.13683411555894,55.548628290981256]],[[-116.25374197313424,55.60709909542519],[-116.29162682031345,55.613448867177105],[-116.28041705869417,55.62648197196385],[-116.24644832041973,55.61727710284955],[-116.25374197313424,55.60709909542519]],[[-116.48863954107544,55.44803731550916],[-116.4630290804448,55.44109037895344],[-116.46200908139964,55.428062282335446],[-116.52819102028906,55.433394608187925],[-116.51391309074425,55.44741108832947],[-116.48863954107544,55.44803731550916]],[[-115.36415390087082,55.42079756122376],[-115.331628504024,55.4114023682779],[-115.30496349834287,55.42224997701513],[-115.31050674821866,55.40352142143996],[-115.36036351530595,55.403901824136064],[-115.38610679288794,55.4178261868827],[-115.36415390087082,55.42079756122376]],[[-115.38109957143699,54.74189324761355],[-115.36241749055581,54.74163741386437],[-115.36210372200257,54.690699088871234],[-115.43719609571946,54.69066756757572],[-115.43801642102018,54.733961467964086],[-115.41241348977852,54.734019396991805],[-115.40244048114327,54.742096396839074],[-115.38109957143699,54.74189324761355]],[[-115.36045746988611,55.396931907106605],[-115.36030168993284,55.374373340711045],[-115.37322558036675,55.37424909099509],[-115.38810968652479,55.362540872817625],[-115.38609256765307,55.32447562668169],[-115.46293716575367,55.32317556849892],[-115.47623611782883,55.3317541774563],[-115.47577819523248,55.34528320930757],[-115.43721054015147,55.35352073226476],[-115.43726140814336,55.36776988932549],[-115.41143503742856,55.368407049223904],[-115.41151911260806,55.39002316130043],[-115.38608399231181,55.396577112636606],[-115.36045746988611,55.396931907106605]],[[-116.09130960070847,55.435956774454134],[-116.07824010058005,55.43182647485991],[-116.052419682923,55.40423652635444],[-116.1072994598388,55.40467689908792],[-116.1277120693799,55.40141695524975],[-116.13468920357678,55.39125142941163],[-116.17152099750245,55.39739554210658],[-116.17223296867044,55.40286113460261],[-116.23207511145313,55.40375829076573],[-116.25766430341096,55.417866059509606],[-116.17153000229976,55.417492616145445],[-116.170537011029,55.509942890398186],[-116.14908433973334,55.51022460871965],[-116.1061391010424,55.49118107487041],[-116.10449080335498,55.456331066569845],[-116.09130960070847,55.435956774454134]],[[-115.7801360510724,55.40727591126893],[-115.71025378592886,55.392098150731606],[-115.7016905204754,55.360870843987286],[-115.65586838486261,55.360689047552775],[-115.67236588903876,55.34908346065784],[-115.67684700629142,55.33528496188335],[-115.73305467512677,55.344485591535815],[-115.75842148722487,55.34140030129306],[-115.79985101123462,55.32071678529335],[-115.85000617429549,55.360097298030304],[-115.89853567687432,55.35983905392209],[-115.89916449352458,55.37565785899469],[-115.8731434764921,55.367085265493735],[-115.85496391677667,55.3699118597599],[-115.81989561536165,55.39027685773753],[-115.81546347873467,55.39710316219383],[-115.7801360510724,55.40727591126893]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-115.93573161347794,\"lat\":55.29185209730791},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817027\"],\"csd_name_en\":[\"Big Lakes County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Big Lakes County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-115.44961993519331,57.93530219316732],[-115.44887221823427,57.922621944308204],[-115.48115416541083,57.923534781970424],[-115.48110147262722,57.8895625462065],[-115.39632870471887,57.88413934222037],[-115.36109530765852,57.87184597528878],[-115.36940970687637,57.88836306418787],[-115.34947119188108,57.89437586090302],[-115.32805129586934,57.90920996315504],[-115.3530627028735,57.91596372557788],[-115.3553965830867,57.932686668736636],[-115.40727483514769,57.93228183793206],[-115.44961993519331,57.93530219316732]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-115.40991770360048,\"lat\":57.907766812248305},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817838\"],\"csd_name_en\":[\"Tall Cree 173\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Tall Cree 173\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-115.6103380095492,58.03849359722545],[-115.58260092595428,58.000049494064164],[-115.53109827620446,58.00002839803642],[-115.53134729195135,58.0242791850227],[-115.54528485402561,58.02408777675864],[-115.55047574921879,58.1063517120178],[-115.62930245757238,58.10472314685207],[-115.65864560875711,58.11243103886138],[-115.65830726978226,58.09787332315994],[-115.63806794676032,58.09847125680765],[-115.63582419167376,58.05639780523827],[-115.6103380095492,58.03849359722545]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-115.58587883130538,\"lat\":58.05902333310578},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817840\"],\"csd_name_en\":[\"Tall Cree 173A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Tall Cree 173A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.61904971556989,56.20378859039288],[-117.63681328596762,56.19664229740582],[-117.63684469822635,56.18063755826074],[-117.58348518272155,56.18063018881029],[-117.58360368711269,56.198552575096286],[-117.61904971556989,56.20378859039288]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.6102421573745,\"lat\":56.19081530254826},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4819\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4819074\"],\"csd_name_en\":[\"Grimshaw\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Grimshaw\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-115.4949259752154,50.7800164558387],[-115.4935479128607,50.77066165694701],[-115.51854370965648,50.74576505698785],[-115.54873840121668,50.741989462932494],[-115.57402880542868,50.720610595748205],[-115.59972843095363,50.71110089728686],[-115.62125968623518,50.71225625226519],[-115.66968392166314,50.73582120676768],[-115.73772261215179,50.697710806958035],[-115.76040660894643,50.69529819814608],[-115.79063110918422,50.67442778954771],[-115.79638198729762,50.6397648986865],[-115.81709997735942,50.6390326666773],[-115.79834205813003,50.61635506032338],[-115.80348237309364,50.61057932351291],[-115.84289673494982,50.61078326013142],[-115.86934774865705,50.596437898073894],[-115.89866657641045,50.601301186664685],[-115.91531990796531,50.583356225685755],[-115.9528304272346,50.56259146767527],[-115.98894201740076,50.547757800447165],[-116.0120544122412,50.54799862560091],[-115.99531156786539,50.54105099039144],[-115.99463011341791,50.51469493349468],[-116.01964098303014,50.516154853681414],[-116.01479988688146,50.49928400500344],[-116.02810555381052,50.47516658112394],[-116.04914977012852,50.47294692673021],[-116.0565115987674,50.50000175494972],[-116.0447384880415,50.50956271071051],[-116.04601050235388,50.51980988772383],[-116.03341391613846,50.53154405633745],[-116.03884358889833,50.53784386852605],[-116.12155283462774,50.5378772074402],[-116.12066333977187,50.51293936490024],[-116.22153263307935,50.51233171595936],[-116.26571414228312,50.49933867207239],[-116.31672336953014,50.473990097575495],[-116.31781205862501,50.46306623389526],[-116.36335513526514,50.45097385769762],[-116.39070611885198,50.451659984993725],[-116.40837893723523,50.46567944960032],[-116.43720729397488,50.46674910517311],[-116.46406500043443,50.43903337708601],[-116.45320625973677,50.41622818819684],[-116.49020712589848,50.40773521650577],[-116.50701219563469,50.411271119360784],[-116.56259934628467,50.405117473119546],[-116.61684646141848,50.43065276193812],[-116.63007189388667,50.43045850541875],[-116.65232234103344,50.420224498114685],[-116.63155875567068,50.390387116647794],[-116.63505550535338,50.37853794433637],[-116.61380064042663,50.35017829146398],[-116.62279165403432,50.34502404636503],[-116.61818524508013,50.31751283184777],[-116.59087462359531,50.30841611447397],[-116.55942804310057,50.31767707751607],[-116.54079395086448,50.31899911996886],[-116.55495536196722,50.283487679262784],[-116.54946005671036,50.264682965856096],[-116.55680954103985,50.21287620255935],[-116.54748030930776,50.20563871960908],[-116.5003323008954,50.19790702102963],[-116.4905178560064,50.190891105345464],[-116.48884043456475,50.17352597865635],[-116.47562667903922,50.159470321020166],[-116.4536099476786,50.15500872309967],[-116.449918751439,50.13345714887188],[-116.45916706036135,50.117788681081024],[-116.48011006333236,50.11469820698833],[-116.49516791198086,50.09379070020163],[-116.4982586314414,50.05618010999066],[-116.47143576804989,50.03791064354516],[-116.46582002729953,50.00143082552665],[-116.44207214093626,49.987759694463165],[-116.44311443784704,49.9792870222145],[-116.39853856262499,49.936610427128606],[-116.35565886318355,49.93486188347828],[-116.33435128528801,49.931261735404085],[-116.32176222083126,49.92335165619277],[-116.30243740261783,49.925557923698804],[-116.28813262083935,49.942228315654866],[-116.2756132833005,49.943194027735906],[-116.26983027109644,49.95715622812657],[-116.24359333726036,49.96918692451733],[-116.24012228784828,49.99989614463602],[-116.20847690532904,50.00674865395824],[-116.15777162986666,50.00465643249938],[-116.13688038658849,50.02159420608874],[-116.11299038493392,50.02029618450079],[-116.10572980696561,50.02632167806273],[-116.08074000586097,50.02823512865416],[-116.04113241423339,50.00877401860869],[-116.0230690542469,50.00705463990582],[-115.99811218637493,50.022387841258094],[-115.97509447369316,50.01721949963818],[-115.97842377972147,50.03673777092165],[-115.96081986042772,50.0472381986469],[-115.94610029433345,50.044340427810766],[-115.92890610527395,50.05562689176276],[-115.92266706590335,50.087121453087626],[-115.89886293143736,50.09010837408324],[-115.85577975271563,50.073738665067594],[-115.8532160286858,50.05875074069859],[-115.86285301964408,50.04183524634041],[-115.8762310230252,50.03296454294024],[-115.8461379357668,49.999147455465724],[-115.70219017126163,50.001366304809636],[-115.70729750375409,50.030754426120474],[-115.70032343282905,50.04885834656063],[-115.70973267452223,50.073359275543815],[-115.71145354759487,50.111291909342825],[-115.70626961756483,50.125565025392525],[-115.68611297255883,50.15818698218832],[-115.65759161363106,50.15660227837489],[-115.65883529245215,50.178211240880486],[-115.66819588905551,50.19691258301119],[-115.66018581716256,50.213404624306264],[-115.64741048631383,50.21739632665914],[-115.61814389344218,50.20652470089441],[-115.61598998315026,50.18656494516894],[-115.59673654025377,50.172976076494024],[-115.58008808586506,50.18000634479762],[-115.55993977854554,50.1795303026484],[-115.54409494677344,50.171428735216395],[-115.5304736607842,50.14949468277635],[-115.5516085728288,50.115766685457196],[-115.5373440179512,50.10574378316393],[-115.50842421948066,50.096742278578326],[-115.47563642725011,50.103330592013364],[-115.46183252047348,50.1099846864888],[-115.4394578502794,50.09308017159809],[-115.43684391063667,50.08093648182938],[-115.40884287676974,50.06945369079154],[-115.42024391809692,50.06212478435867],[-115.40641662104242,50.04085378292299],[-115.38660882969127,50.02641258217865],[-115.38607973553216,50.017941234544914],[-115.36148914587953,50.00973808724753],[-115.35530270351057,49.953229769414314],[-115.32677320287904,49.95329108737489],[-115.31184704837011,49.967907624307806],[-115.29596091535603,49.97360291393735],[-115.26316447905282,49.97154262741188],[-115.25036984870682,49.97699948037705],[-115.2382453457653,49.99572630186885],[-115.26875634523422,50.00449927544528],[-115.25044668614308,50.015210103355656],[-115.27130373994684,50.036571297024885],[-115.24501956720277,50.04152576209087],[-115.21568646952322,50.05895315039281],[-115.22727659916123,50.06420260775619],[-115.22398574223959,50.08102914541143],[-115.2064067496232,50.10521387221084],[-115.14267503963272,50.11196163810731],[-115.10425025763966,50.10567538637488],[-115.07670922023193,50.114253078570975],[-115.05205239748607,50.11789987530425],[-115.04991141461683,50.12922375011705],[-115.06819090725006,50.138031992292426],[-115.07047474128986,50.16077247890032],[-115.08493397764458,50.1714030179892],[-115.1030858717729,50.2062227396065],[-115.09960010129859,50.21624395834724],[-115.119006076483,50.2226395095572],[-115.13522234455694,50.23491487507068],[-115.13695664722826,50.25704606407751],[-115.11206725196496,50.269549205908795],[-115.13585645445393,50.277425891228695],[-115.12656682126418,50.28688408571738],[-115.12716463557678,50.299173321187965],[-115.13781690602846,50.31625368462612],[-115.12741634359196,50.32136172012938],[-115.09949664417685,50.320100822304326],[-115.0944613116043,50.32962505786516],[-115.10205184670592,50.341556389911304],[-115.12346067927929,50.354970325824254],[-115.12203091229541,50.36887585019587],[-115.12872018223113,50.388049293546025],[-115.12370455809305,50.39805639575431],[-115.13758957744415,50.418422369980966],[-115.12040326989782,50.43770846377975],[-115.13951653888779,50.46222797606369],[-115.16360059671241,50.47915183507232],[-115.16419854829724,50.5100026903666],[-115.20594986274489,50.528255618463646],[-115.23098413968027,50.544878636022844],[-115.22982360553122,50.55917129810778],[-115.24190913390433,50.57121854936877],[-115.23018058760609,50.57750726614023],[-115.2396506122672,50.589196791294434],[-115.27191762671664,50.59788698542758],[-115.29362560549144,50.61110757932827],[-115.2980158456409,50.624753084537176],[-115.31194342546969,50.63823694768561],[-115.28545559391688,50.638849215666376],[-115.2822540813287,50.663192893178085],[-115.29837565653517,50.68333123204102],[-115.30161449445328,50.700563491874945],[-115.314354448569,50.71540882007971],[-115.3151244963227,50.72582574662967],[-115.33595071889658,50.72344082803378],[-115.3545565631603,50.72271182952685],[-115.39122236791687,50.706452446117744],[-115.41379919576113,50.711257243489975],[-115.41239086453179,50.733603416127295],[-115.43628198058063,50.755730692667434],[-115.48110693562272,50.75518175887376],[-115.48188528157108,50.76856223444597],[-115.4949259752154,50.7800164558387]],[[-115.8073254115454,50.18134506416248],[-115.80767812513885,50.164720736356784],[-115.78375424532632,50.16157134926106],[-115.78333605582256,50.15366404090728],[-115.81969653045086,50.136146311951606],[-115.84288364191664,50.15803322397837],[-115.8502121190804,50.170354821619924],[-115.83440245323726,50.18923475717808],[-115.81635434353362,50.19270883138461],[-115.8073254115454,50.18134506416248]],[[-115.97139538727431,50.461130384993425],[-115.94677340920263,50.46210929665274],[-115.94809020818869,50.447078226400635],[-115.93041387868489,50.44695699185127],[-115.91951116136212,50.45482797431923],[-115.8968444742821,50.45249241526745],[-115.89177099393129,50.396172826548195],[-115.8584784767389,50.39563237448827],[-115.86044558181295,50.36699376389266],[-115.8574069056094,50.35575437398626],[-115.89311550519841,50.36036890367871],[-115.90209049280169,50.370337752036725],[-115.89237881157904,50.378402988734884],[-115.91174610273796,50.3885106070793],[-115.90787593096978,50.3988661626639],[-115.9301938121828,50.40379535507995],[-115.92958840836809,50.41695646525702],[-115.98413159416258,50.45184675559673],[-115.97139538727431,50.461130384993425]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-115.79890173904973,\"lat\":50.3222564138765},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5901\"],\"cd_name_en\":[\"East Kootenay\"],\"csd_code\":[\"5901046\"],\"csd_name_en\":[\"East Kootenay F\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"East Kootenay\",\"csd_name_fr\":\"East Kootenay F\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-116.92036611278074,49.91256028383226],[-116.90795446902126,49.90010058653197],[-116.89758696052617,49.90552069228449],[-116.9050014848287,49.919002696270084],[-116.92036611278074,49.91256028383226]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-116.90807993333745,\"lat\":49.909618937974784},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5903\"],\"cd_name_en\":[\"Central Kootenay\"],\"csd_code\":[\"5903023\"],\"csd_name_en\":[\"Kaslo\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Central Kootenay\",\"csd_name_fr\":\"Kaslo\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-118.74992589673268,49.000190826713656],[-118.75639235910086,49.01524696541385],[-118.78593269633978,49.01838047890222],[-118.84423276712292,49.01844413232249],[-118.83373498342462,49.003094876600194],[-118.85032752485475,49.00018766837641],[-118.74992589673268,49.000190826713656]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-118.79759605343905,\"lat\":49.00900082815313},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5905\"],\"cd_name_en\":[\"Kootenay Boundary\"],\"csd_code\":[\"5905037\"],\"csd_name_en\":[\"Midway\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kootenay Boundary\",\"csd_name_fr\":\"Midway\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-118.67848499586297,49.10823597174694],[-118.68341219366103,49.07961591951199],[-118.67325047364926,49.079838996816534],[-118.67848499586297,49.10823597174694]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-118.67838255439108,\"lat\":49.08923029602516},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5905\"],\"cd_name_en\":[\"Kootenay Boundary\"],\"csd_code\":[\"5905042\"],\"csd_name_en\":[\"Greenwood\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kootenay Boundary\",\"csd_name_fr\":\"Greenwood\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.30989495005215,49.505040201414225],[-119.53044456368448,49.504103986030735],[-119.53690044614441,49.489115383405355],[-119.54840471997088,49.48273561364346],[-119.54926017706276,49.46079405527387],[-119.56002989146566,49.46082563959777],[-119.56843610362027,49.44724797372671],[-119.56797510079102,49.423796192986636],[-119.57789778514238,49.42363073514136],[-119.5879454128689,49.42113052204161],[-119.57187121804621,49.38950019393298],[-119.57426651605886,49.35810638042766],[-119.59146679057801,49.35617575014827],[-119.5856960496479,49.334085868487634],[-119.54742329546714,49.30501335707317],[-119.54151459770443,49.273699920907646],[-119.50391109428939,49.269889977650784],[-119.47999314503745,49.26288392926742],[-119.42285732179839,49.25322356735122],[-119.36848251910288,49.24937674717226],[-119.34822631845387,49.256358256391145],[-119.32876783246239,49.250000052619924],[-119.30134393247596,49.24866606874675],[-119.2697297154186,49.257792461798275],[-119.23787860704427,49.25582415599426],[-119.22877303123039,49.2660756564543],[-119.21749783753882,49.30185466860897],[-119.2208127022068,49.320205556752256],[-119.20689783650644,49.34403266493369],[-119.23639360695695,49.34141023182059],[-119.2604370431979,49.3503144724461],[-119.25138760356015,49.36876904121813],[-119.2620687059423,49.38227487174039],[-119.2829952429209,49.387357801095476],[-119.30035751782964,49.385707472235936],[-119.30079731603458,49.50364479639543],[-119.30989495005215,49.505040201414225]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.4103288737398,\"lat\":49.37290765774849},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5907\"],\"cd_name_en\":[\"Okanagan-Similkameen\"],\"csd_code\":[\"5907047\"],\"csd_name_en\":[\"Okanagan-Similkameen D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Okanagan-Similkameen\",\"csd_name_fr\":\"Okanagan-Similkameen D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.97916588632232,49.15900819679242],[-121.98709761982506,49.167633739638475],[-121.98505837490622,49.15962373979455],[-121.98482738260826,49.15916572673516],[-121.97916588632232,49.15900819679242]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.98373406911057,\"lat\":49.16193976392075},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909821\"],\"csd_name_en\":[\"Kwawkwawapilt 6\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Kwawkwawapilt 6\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.77926811413637,49.016562589499806],[-122.77917710356344,49.03106558536543],[-122.84541310845937,49.03122780295145],[-122.84558783054312,49.00233577249359],[-122.78908379658381,49.002462694041334],[-122.78876133775493,49.015989614180995],[-122.77926811413637,49.016562589499806]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.81456665821227,\"lat\":49.01733512760404},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5915\"],\"cd_name_en\":[\"Greater Vancouver\"],\"csd_code\":[\"5915007\"],\"csd_name_en\":[\"White Rock\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Greater Vancouver\",\"csd_name_fr\":\"White Rock\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.10247183809373,49.297782379962534],[-123.12879337924558,49.310116225829226],[-123.13491576389383,49.31366557181324],[-123.13838718386044,49.31571756046734],[-123.16313950194589,49.31661268142512],[-123.16424854650259,49.282302966773905],[-123.22149815168298,49.28290432932489],[-123.22473441137858,49.27267504651753],[-123.21538831855015,49.25851270065117],[-123.19654519717523,49.25652330338512],[-123.19708119759427,49.23505231043313],[-123.19129597659891,49.21943970492989],[-123.1635435391065,49.2135876345496],[-123.13242289107654,49.198534897007974],[-123.11350605485802,49.204760958797436],[-123.07625867769187,49.20828221321665],[-123.02313950746276,49.19974447006916],[-123.02309527485424,49.29443491288091],[-123.0387348477209,49.29545425120079],[-123.10247183809373,49.297782379962534]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.11113031742165,\"lat\":49.25406257785277},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5915\"],\"cd_name_en\":[\"Greater Vancouver\"],\"csd_code\":[\"5915022\"],\"csd_name_en\":[\"Vancouver\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Greater Vancouver\",\"csd_name_fr\":\"Vancouver\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.70449089525718,49.27638940584619],[-122.73376060959134,49.27852770540827],[-122.73415216674063,49.285751464100606],[-122.76162619330812,49.285840042817796],[-122.76725271514661,49.278367596523594],[-122.79048253779779,49.278069420300156],[-122.79680490590405,49.25112690587253],[-122.78680769249522,49.251829702085544],[-122.78627644550434,49.24373354376057],[-122.8017938998879,49.243725481846745],[-122.80472516951849,49.21933914902369],[-122.77020558207748,49.21338121412917],[-122.75139305338132,49.21577173678069],[-122.7673847068191,49.2303192009539],[-122.72347168059818,49.25186459634949],[-122.70449089525718,49.27638940584619]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.7620656998856,\"lat\":49.25302075238398},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5915\"],\"cd_name_en\":[\"Greater Vancouver\"],\"csd_code\":[\"5915039\"],\"csd_name_en\":[\"Port Coquitlam\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Greater Vancouver\",\"csd_name_fr\":\"Port Coquitlam\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.09927203186972,49.033999263288166],[-123.07970191118035,49.03751639192],[-123.07970240249364,49.05388139923305],[-123.12473317332773,49.05662317007044],[-123.09927203186972,49.033999263288166]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.09744826577473,\"lat\":49.04656086290531},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5915\"],\"cd_name_en\":[\"Greater Vancouver\"],\"csd_code\":[\"5915802\"],\"csd_name_en\":[\"Tsawwassen\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Tsawwassen Lands\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Greater Vancouver\",\"csd_name_fr\":\"Tsawwassen\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-124.0103618209193,48.99958973699312],[-124.02784463776037,48.9974815955249],[-124.05460283880964,49.005934119334064],[-124.08076622395953,49.00318550716035],[-124.0807480712377,48.984737447219544],[-124.09858560263618,48.981267109331135],[-124.10254772389924,48.99816314439575],[-124.13633826949574,49.00220416456098],[-124.17283353423196,49.00152380793092],[-124.17293757879935,49.0089135578491],[-124.20458775824386,49.00444119943186],[-124.23815929576597,49.003926014548455],[-124.24955568445493,48.999777944600375],[-124.2771646682175,48.99977028326851],[-124.28242449352042,49.013111055247414],[-124.29456462360658,49.0132726012127],[-124.29209043597511,48.997234640410376],[-124.3137886215622,48.99974836098495],[-124.37645684725656,48.99965877568539],[-124.38195274711734,48.98756018608767],[-124.36457092716505,48.982185822756755],[-124.34101114472159,48.97567070626598],[-124.3326204773548,48.96529299948356],[-124.30393049884803,48.9824730774735],[-124.29486572316661,48.97381297131662],[-124.26265193589434,48.967676508872486],[-124.23880805931782,48.95769095486458],[-124.21481077039326,48.954990245395535],[-124.1959927206006,48.95835352357815],[-124.14966458902278,48.93954550628777],[-124.1391233302744,48.94574718157101],[-124.09941423949013,48.952410116934054],[-124.09594817862111,48.9624593356794],[-124.05527959737957,48.953084423647276],[-124.04475674160547,48.94579503722296],[-124.01945281522781,48.94772172093438],[-124.02082428502295,48.93672956341396],[-123.97510404097682,48.93714767583785],[-123.96815479961276,48.920186452893994],[-123.89868341538974,48.91873556057615],[-123.89267039345013,48.91227068730109],[-123.84991891350164,48.91617286371874],[-123.84893890110615,48.90862381941229],[-123.82121571535598,48.9095528844299],[-123.80122051492685,48.91020679742437],[-123.79950972336688,48.89458459023669],[-123.78310326347771,48.90008516261788],[-123.78332593221295,48.93627997759746],[-123.80002278069179,48.96831606599137],[-123.83588589226328,48.979267229236356],[-123.84942740258847,48.979179530660346],[-123.85921894819661,48.99083707952336],[-123.9024869730408,48.99767008274172],[-123.92775373597243,48.98814827041984],[-123.96591484277376,48.99185200589845],[-124.00453510802795,48.986159018555945],[-124.0103618209193,48.99958973699312]]],[[[-123.4348002950749,49.129358854319236],[-123.68073994717845,49.12463665060086],[-123.71248224684952,49.12919769118954],[-123.73064256783528,49.12153179825782],[-123.71926315929358,49.10738733438232],[-123.71573947091504,49.09328443329738],[-123.73766601016604,49.07661544995618],[-123.74042660229857,49.05705366529003],[-123.73462403554308,48.9859861593775],[-123.78804199069072,48.971910983824245],[-123.77109497728536,48.944355877001705],[-123.77290075709351,48.93622972078964],[-123.72345170270279,48.936153040003624],[-123.68766108380571,48.93559611461764],[-123.6251055833822,48.889467091941704],[-123.61240348090064,48.91913285431101],[-123.61160516152809,48.941090601738374],[-123.61925496548236,48.9578302826583],[-123.63003378730417,48.981903980812],[-123.61241280952794,48.989045984353496],[-123.59172665998904,49.013635710291254],[-123.56840098944235,49.01825724597034],[-123.50598617617433,49.01087386750338],[-123.4015996454538,49.00440664936279],[-123.35712180300476,49.00278449644885],[-123.4348002950749,49.129358854319236]],[[-123.59722518594862,49.01757161496708],[-123.59621284313808,49.01538205716077],[-123.598057306663,49.015526509816766],[-123.59722518594862,49.01757161496708]],[[-123.63021841524292,49.03867065561331],[-123.6355506282264,49.03830035474557],[-123.64390278231411,49.04474206866027],[-123.63752586206917,49.044745515343706],[-123.63021841524292,49.03867065561331]],[[-123.69894561955229,49.101001255452225],[-123.70718778379626,49.11042786774426],[-123.67357096440146,49.11063358741464],[-123.66964472268566,49.093115366344286],[-123.64436509552053,49.076375077051125],[-123.66455450476701,49.07469546849351],[-123.69894561955229,49.101001255452225]],[[-123.66646283525733,48.977036653005776],[-123.65999604649583,48.98411636186227],[-123.63929934246352,48.97949337247505],[-123.63011653134569,48.96446655252894],[-123.62781815300703,48.94235855341851],[-123.66194254346225,48.95767595981948],[-123.65640553827124,48.96778357570323],[-123.66646283525733,48.977036653005776]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.75671555073878,\"lat\":49.01233900447017},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5919\"],\"cd_name_en\":[\"Cowichan Valley\"],\"csd_code\":[\"5919015\"],\"csd_name_en\":[\"Cowichan Valley G\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cowichan Valley\",\"csd_name_fr\":\"Cowichan Valley G\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.92739143023255,49.15539035350242],[-123.93036367684171,49.15528069925589],[-123.93090963812169,49.14684662954088],[-123.927221934237,49.146296954163056],[-123.92830234438382,49.15132564899776],[-123.92739143023255,49.15539035350242]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.92919461069783,\"lat\":49.150754196004854},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5921\"],\"cd_name_en\":[\"Nanaimo\"],\"csd_code\":[\"5921804\"],\"csd_name_en\":[\"Nanaimo Town 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Nanaimo\",\"csd_name_fr\":\"Nanaimo Town 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-126.08821348866103,49.820588044816084],[-126.07903781671357,49.806516417815715],[-126.06667553962819,49.81104101007511],[-126.0806777938901,49.82629951376198],[-126.08821348866103,49.820588044816084]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-126.07823528129057,\"lat\":49.815847520138114},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5924\"],\"cd_name_en\":[\"Strathcona\"],\"csd_code\":[\"5924835\"],\"csd_name_en\":[\"Tsa Xana 18\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Strathcona\",\"csd_name_fr\":\"Tsa Xana 18\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.95022564414518,49.67402016744152],[-124.94978792021985,49.68246095762456],[-124.95640173135921,49.68438726714982],[-124.95022564414518,49.67402016744152]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.95213843190807,\"lat\":49.680289464071976},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5926\"],\"cd_name_en\":[\"Comox Valley\"],\"csd_code\":[\"5926801\"],\"csd_name_en\":[\"Comox 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Comox Valley\",\"csd_name_fr\":\"Comox 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.0130005786558,51.68744747182775],[-120.04125966199724,51.66771576205757],[-120.07126974721062,51.67358426350739],[-120.1009470967178,51.66064088455836],[-120.10039819932437,51.652312316182645],[-120.12305835910878,51.63048250195716],[-120.08150441975053,51.63266875271946],[-120.0228766386662,51.62884267455902],[-119.95346201604258,51.60436701626027],[-119.94015669830848,51.60783254976391],[-119.94216235835255,51.62729295360169],[-119.96080922010928,51.63695022662407],[-119.97453422057626,51.65812887239645],[-119.96510050267301,51.67129288922907],[-119.99652654304757,51.671766858051186],[-120.00171475589045,51.68650898746852],[-120.0130005786558,51.68744747182775]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-120.02215242407564,\"lat\":51.646218621208305},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933067\"],\"csd_name_en\":[\"Clearwater\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Clearwater\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.63531860828144,50.27403957974875],[-121.61942783402269,50.27004401752155],[-121.6156165713973,50.27491144019116],[-121.63531860828144,50.27403957974875]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.62345433790047,\"lat\":50.27299834582049},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933842\"],\"csd_name_en\":[\"Lytton 9B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Lytton 9B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.65023343189361,50.317378248980155],[-121.66269154473108,50.34489575459143],[-121.667180588655,50.33908513050462],[-121.6562311497527,50.31694704088969],[-121.65023343189361,50.317378248980155]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.65914710812113,\"lat\":50.32994439896928},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933870\"],\"csd_name_en\":[\"Nkaih 10\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Nkaih 10\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-118.20175079808142,51.063073143056684],[-118.22343875111898,51.05565722404549],[-118.22933775360322,51.03396191124372],[-118.24477805275063,51.03272023584967],[-118.24150418873161,50.99873750843613],[-118.21245468359584,50.9826221925228],[-118.20591680497486,50.959993211063406],[-118.19571485174968,50.95189950872822],[-118.17136311436307,50.95804398533112],[-118.15472597232501,50.93627120578182],[-118.13556621068109,50.92600069018359],[-118.13942124343086,50.95077089795992],[-118.14568770394177,50.96113009556371],[-118.14197321605074,50.997108916475554],[-118.15337527237139,51.00471973447322],[-118.19109747004464,51.00481797692268],[-118.20681242599328,51.010387419265676],[-118.21295394699747,51.02036833437132],[-118.206311648578,51.031174534273504],[-118.17745400651452,51.0491509790718],[-118.17853108022767,51.063180050814985],[-118.20175079808142,51.063073143056684]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-118.19052748976783,\"lat\":50.99693942779756},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5939\"],\"cd_name_en\":[\"Columbia-Shuswap\"],\"csd_code\":[\"5939019\"],\"csd_name_en\":[\"Revelstoke\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Columbia-Shuswap\",\"csd_name_fr\":\"Revelstoke\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.64604816854393,53.386900331404796],[-122.66921491708347,53.379394494947796],[-122.68037539613015,53.38898808478353],[-122.69820997677276,53.39168589262476],[-122.73893210697938,53.38243332966675],[-122.76269831297276,53.3860697870635],[-122.78365769819732,53.38423680930065],[-122.83684706942381,53.373557705793026],[-122.85133158193457,53.349758094879135],[-122.87017981446948,53.34078849993385],[-122.88483141132312,53.32524459986773],[-122.87295169296053,53.311766215923605],[-122.88487811401735,53.3046381687554],[-122.88553899464316,53.27225798915828],[-122.8807471054298,53.13858773020663],[-122.87207374086397,53.08862053302613],[-122.9096763033055,53.01067822693933],[-122.91037612817237,52.95613498801805],[-122.88656616235008,52.959174675859245],[-122.78250259624295,52.95861425263852],[-122.68837391986337,52.953722825454605],[-122.63639583356664,52.95750135462262],[-122.58313652153763,52.95498660245943],[-122.54238794058155,52.956688561017785],[-122.53944503357556,52.97833747857385],[-122.52768717381561,52.99473233539541],[-122.51191092670295,53.000808095097874],[-122.5300507718109,53.02646433802321],[-122.50444140083692,53.03380709814026],[-122.48992948083003,53.00461059472775],[-122.48161069707155,53.00668085615942],[-122.48197059396577,53.02621651899902],[-122.44487721488312,53.026630318142956],[-122.43964164392929,53.05527400770141],[-122.41400273608217,53.055375197807045],[-122.41388977469018,53.06936108026148],[-122.35201351722897,53.069533712261546],[-122.34795541601629,53.079874697669275],[-122.33182307984688,53.08159757998911],[-122.32798006097119,53.2113528919849],[-122.41115860532457,53.212105227353895],[-122.41340908630612,53.232613003512185],[-122.4285174615412,53.23263263833948],[-122.42999255035467,53.261110441523506],[-122.44596267040444,53.260830341768546],[-122.44712096480009,53.29302530138966],[-122.4553676003434,53.31348516674486],[-122.46785222892657,53.313605982228616],[-122.47138524670933,53.33057238326964],[-122.4873277502957,53.33094399958431],[-122.48963261024173,53.37259441704802],[-122.61246142167573,53.37243435513882],[-122.63594081187365,53.37592445179277],[-122.64604816854393,53.386900331404796]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.64816335662573,\"lat\":53.165571499356965},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941021\"],\"csd_name_en\":[\"Cariboo B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Cariboo B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.83360664758588,51.48599721599271],[-123.84570443203481,51.48223947134164],[-123.84559853766022,51.47341969310267],[-123.83090641149894,51.47389987933871],[-123.83360664758588,51.48599721599271]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.83855015275742,\"lat\":51.478812758851255},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941831\"],\"csd_name_en\":[\"Tanakut 4\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Tanakut 4\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.06170131395878,52.201885263781],[-124.0564135285759,52.2059870722269],[-124.05695527717502,52.21137759338737],[-124.06330168246524,52.202099115549],[-124.06170131395878,52.201885263781]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.05914955610834,\"lat\":52.205969126321435},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941838\"],\"csd_name_en\":[\"Puntzi Lake 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Puntzi Lake 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-127.42622838103168,50.82797983445299],[-127.45950663472468,50.801814846680834],[-127.56796665835093,50.80394225875076],[-127.60342173273236,50.80864622822347],[-127.6027206229937,50.77122304289391],[-127.65108670338923,50.77132791261423],[-127.76521477644832,50.76819775496999],[-127.75912055678364,50.59712747900911],[-127.70990598727813,50.5946684034869],[-127.62311491728117,50.58708769712241],[-127.62049648900458,50.54666330148978],[-127.66572109672545,50.542633231242704],[-127.66572022177208,50.52880158272154],[-127.6256933494531,50.525635129011015],[-127.56888522672573,50.487665499205825],[-127.51984334373434,50.44469533274242],[-127.48486783291146,50.44737352476582],[-127.47086690260701,50.43434106295595],[-127.47113646496095,50.40472541269367],[-127.45980903445883,50.39334750208194],[-127.44111751968963,50.384368560617276],[-127.447546775656,50.3747709667512],[-127.4445287707886,50.35057419346547],[-127.42904835836886,50.33697459831713],[-127.37620726196027,50.30972046406812],[-127.36025957526014,50.298184470463895],[-127.38362523166025,50.267696643770385],[-127.37776527404323,50.25757587717643],[-127.33392501516441,50.23200417411109],[-127.2957325960025,50.23408410042692],[-127.29109781811653,50.24011000156111],[-127.29692306413267,50.27680550093482],[-127.27577861015169,50.277109148171206],[-127.2655790970297,50.284328308016626],[-127.24523720530128,50.277464901874815],[-127.2254551070469,50.264463653546315],[-127.20155737473631,50.275296000138034],[-127.17871935449938,50.262810950726745],[-127.16147741894353,50.2874814113816],[-127.11237259925912,50.32413896410543],[-127.09559903773368,50.32417287483772],[-127.09477100459817,50.340295157468525],[-127.07643972570018,50.34759257584843],[-127.08780562671674,50.36496245333359],[-127.09980532578516,50.35443331278733],[-127.11907059235845,50.356217159309736],[-127.14372972316797,50.37268878931838],[-127.14697517655559,50.38213660594545],[-127.17075997282456,50.389203476740924],[-127.16335983157302,50.40786458405676],[-127.1402653787183,50.416645491371106],[-127.11754207247316,50.444281672689705],[-127.09760901220467,50.449177341200276],[-127.08619025284325,50.45839739623427],[-127.09056523951516,50.47714532471395],[-127.0540670170589,50.4955965585433],[-127.07722201785114,50.50108037511698],[-127.02002938529448,50.52361096108052],[-127.00085651429069,50.55012569232896],[-126.99736192711002,50.56568822357967],[-126.97929023294418,50.56812485832193],[-126.95604905254903,50.58124535531578],[-127.00576665904208,50.6108188555237],[-127.0561403380159,50.6137229936188],[-127.09610729578334,50.62166687964185],[-127.14980440943202,50.62179470220449],[-127.16795304466187,50.628284359570806],[-127.18121707435282,50.65056914236069],[-127.184909984668,50.68565347065801],[-127.18472459551553,50.75896264134456],[-127.42622838103168,50.82797983445299]],[[-127.5739488100278,50.61253713085195],[-127.57794342926911,50.61359258184447],[-127.56868645170509,50.617068756839515],[-127.56542155770869,50.61919007076667],[-127.56323585226649,50.61778005917304],[-127.5739488100278,50.61253713085195]],[[-127.14747384388134,50.59137395521977],[-127.15030029324635,50.57673815006995],[-127.17318933759186,50.57898741648539],[-127.1684716735132,50.616270414095915],[-127.1438484604571,50.61013227147488],[-127.14747384388134,50.59137395521977]],[[-127.11151208832088,50.59394836915042],[-127.08662813759128,50.59498363825886],[-127.04186515702152,50.591478870300136],[-127.04727888760851,50.57851773109149],[-127.09126551992425,50.57824524003971],[-127.10126294417412,50.57198491065656],[-127.12442415730246,50.57306133080518],[-127.12368641128086,50.59029156376611],[-127.11151208832088,50.59394836915042]],[[-127.49425005795068,50.73066847758243],[-127.468509635938,50.72277907800353],[-127.42883921563717,50.72646278489178],[-127.4207883120338,50.70507791935485],[-127.41102623651369,50.697015054220095],[-127.38131429471989,50.70336034796568],[-127.37241349331478,50.692846851012106],[-127.32773404572471,50.67617594741696],[-127.32803054228188,50.662673787302175],[-127.37225566383687,50.66586007459412],[-127.38372527495353,50.676118282157546],[-127.41772333361918,50.67688489746402],[-127.41811501998198,50.68240939705925],[-127.46616980676822,50.68375053138868],[-127.49482653871355,50.69082720608916],[-127.495233559899,50.70582072457257],[-127.52076569527732,50.70570380634946],[-127.52316365726774,50.734560501869865],[-127.50262019606113,50.73441470309164],[-127.5053657584514,50.737024937378024],[-127.49504924079159,50.74278407098304],[-127.49425005795068,50.73066847758243]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-127.37477174708769,\"lat\":50.56346294037122},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5943\"],\"cd_name_en\":[\"Mount Waddington\"],\"csd_code\":[\"5943031\"],\"csd_name_en\":[\"Mount Waddington C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Mount Waddington\",\"csd_name_fr\":\"Mount Waddington C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-126.44567406918718,52.65416824778073],[-126.4757954972707,52.6446151922221],[-126.50977464132433,52.64302440796983],[-126.5072039157226,52.625528018837414],[-126.52472934265855,52.61744762476696],[-126.55279928653542,52.61969878061118],[-126.52226621787248,52.601686132265925],[-126.534407618156,52.58594270803149],[-126.54320442244986,52.56499824279989],[-126.54212297205387,52.551845537491026],[-126.58259982336668,52.54652681856213],[-126.61451807836305,52.52786565510991],[-126.6363469453534,52.52433108144125],[-126.62684679253059,52.51344669510956],[-126.64360555446987,52.47739101262294],[-126.63147805383257,52.46431698373439],[-126.64030628438229,52.42457319527279],[-126.62625502038038,52.398959573414075],[-126.560617978273,52.39920654669271],[-126.55673102652334,52.39342167915338],[-126.55909565635287,52.36304257688365],[-126.54510985050547,52.34527755519782],[-126.53103936169158,52.30476026865758],[-126.51473928479267,52.29018277517327],[-126.5238945902367,52.282226689672456],[-126.51136522569202,52.26848862399231],[-126.5081814080675,52.25491040578934],[-126.48706655746794,52.2456659902966],[-126.47715490847466,52.21437602954036],[-126.46467628233972,52.210122577879844],[-126.44173165039764,52.214751653751485],[-126.40903672301496,52.205670089671365],[-126.38534639242943,52.21835849942588],[-126.33904784166934,52.183511188117016],[-126.30127616976189,52.188526913271666],[-126.28682043523379,52.194235925387495],[-126.27087309163282,52.18209860419092],[-126.25618749123399,52.178962101803926],[-126.24756240324679,52.16785010084856],[-126.25318130050225,52.14778617422464],[-126.20191916300057,52.14726378962938],[-126.19588908748746,52.12725675237664],[-126.21211428197314,52.11693185262708],[-126.23285316348971,52.096685882143845],[-126.26282300496449,52.08593153366794],[-126.27266457575757,52.06567078197678],[-126.23670004594165,52.048609002441694],[-126.22447752140651,52.03895668791184],[-126.22181193190688,52.01950128052371],[-126.21059980773451,52.003903415611965],[-126.0004795529576,52.00225409232341],[-125.77758605017944,52.00053340744154],[-125.73968160831615,52.01231246384101],[-125.72082804693659,52.00849998587794],[-125.70838654676454,51.99481803701805],[-125.70224037737685,51.97559549217316],[-125.67857356867958,51.94317143567366],[-125.65665898427227,51.92410118720645],[-125.61162566020715,51.90325500320885],[-125.58460126166469,51.90296934499442],[-125.5752915616659,51.913363220227716],[-125.57481475640193,51.931499469107635],[-125.5892361721603,51.94272219562645],[-125.58584579617718,51.95166764150104],[-125.60469547077432,51.96836098626564],[-125.61632122050058,51.98786005530697],[-125.60256127234489,52.00638880936049],[-125.59979424560863,52.0229966933935],[-125.59098796195424,52.02691228443806],[-125.57960170978929,52.05557332008385],[-125.60596072892443,52.056988849270255],[-125.62336741784712,52.04876867128219],[-125.6442663383108,52.05204247206942],[-125.65909722623113,52.06056285341237],[-125.66514343591301,52.07282446188021],[-125.66191023140631,52.10038452246694],[-125.67388565755294,52.10917141758724],[-125.66884336766145,52.122034349207574],[-125.64633397804728,52.1374730761425],[-125.62986122973788,52.13962544409657],[-125.5992242699103,52.15846994266355],[-125.57366788561832,52.15801928301634],[-125.57294704559762,52.17305126316797],[-125.54559161023137,52.16742255981973],[-125.48272764980854,52.17755367674965],[-125.46262365596158,52.186923332107476],[-125.45135843865236,52.20455320444736],[-125.45780548182952,52.214258234561825],[-125.48568233616814,52.227841438790115],[-125.50266766064097,52.22926205387739],[-125.51094328874439,52.24687485926008],[-125.49042040001163,52.24964390906996],[-125.47746974876188,52.28009560524301],[-125.45517702105269,52.28705111501505],[-125.43940268730785,52.276159461942996],[-125.4209053210381,52.280477775665275],[-125.41930459882512,52.28881777406132],[-125.40059175431152,52.30828104400194],[-125.37791354616385,52.31747468104522],[-125.3828098102662,52.32956318244654],[-125.34947695158152,52.33718530364352],[-125.34371562113631,52.34494182439657],[-125.35907097869094,52.366491005082004],[-125.35864715049296,52.38069414606079],[-125.38404476602277,52.395726024611015],[-125.40648571546649,52.39535599992009],[-125.42969316276698,52.404512638651276],[-125.4511336648572,52.4048052881098],[-125.46641476310292,52.398774617864234],[-125.48521981028763,52.40831460157382],[-125.48938222094937,52.43196509971716],[-125.47213717075147,52.45542207328151],[-125.45741541109626,52.4584601400022],[-125.45601831964863,52.47154138247754],[-125.47212418219394,52.48128040114259],[-125.49477223819862,52.480567993457846],[-125.53013695937129,52.49701324396757],[-125.5680993815923,52.50421543673684],[-125.59570455232871,52.504716024803535],[-125.62045876803441,52.51115192801753],[-125.67807871807408,52.492563257383516],[-125.69999022934493,52.49214176965512],[-125.73517764311802,52.47983875126089],[-125.75846131163037,52.48687925318412],[-125.74592271575278,52.49724649523239],[-125.75409549418777,52.50795023384664],[-125.77829805571986,52.51124993386581],[-125.79935912825837,52.52523375669548],[-125.79002887134503,52.53381314404062],[-125.80900080841558,52.54062035475816],[-125.82653189150442,52.55806423786051],[-125.82416997565278,52.57699381074658],[-125.85056860904163,52.576747020876915],[-125.86654561880326,52.61060401952495],[-125.84839497643473,52.62440631546369],[-125.87101421636824,52.633630116721555],[-125.88492910903965,52.628168921176766],[-125.93742858144799,52.6222702475465],[-125.95817331882651,52.60297838703999],[-125.98799414203098,52.6193019655404],[-126.01070456078207,52.61383841565258],[-126.0065756524715,52.60212236125144],[-126.04678464313517,52.581572726770595],[-126.06687408769797,52.579792287883095],[-126.08418432977926,52.59170520962176],[-126.1182910689641,52.58812078342507],[-126.13602534040112,52.57691345691149],[-126.13776795790878,52.549863017265984],[-126.1540105448312,52.54563493383257],[-126.18362101071354,52.52051931670501],[-126.19778243735541,52.49996820553183],[-126.22007345273839,52.49629532264844],[-126.2444340078327,52.52473353549154],[-126.26119491574184,52.53023089479569],[-126.27040579190992,52.541211112972576],[-126.300805185537,52.545311581170715],[-126.31798781165791,52.518335917733],[-126.34436701545879,52.5245160437336],[-126.35884190165248,52.53504940125863],[-126.38413436231511,52.568365606412634],[-126.3846766269082,52.57832831426968],[-126.41048459245917,52.59322791035469],[-126.39631908375667,52.60257084968177],[-126.41306682056238,52.614748894165295],[-126.44567406918718,52.65416824778073]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.99826453841806,\"lat\":52.313108971802095},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5945\"],\"cd_name_en\":[\"Central Coast\"],\"csd_code\":[\"5945010\"],\"csd_name_en\":[\"Central Coast C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Central Coast\",\"csd_name_fr\":\"Central Coast C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.84090735472819,54.066435854397085],[-124.86224073453765,54.0610933322252],[-124.86686376187073,54.05126672077279],[-124.84031860605862,54.05172809752807],[-124.81536116674073,54.06371788279116],[-124.84090735472819,54.066435854397085]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.84402350569395,\"lat\":54.05871967614955},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951009\"],\"csd_name_en\":[\"Fraser Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Fraser Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.76494516377265,54.236200165969215],[-125.76003787478062,54.241702281093026],[-125.76319082645503,54.241685275381485],[-125.76494516377265,54.236200165969215]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.76272462166942,\"lat\":54.2398625741479},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951827\"],\"csd_name_en\":[\"Woyenne 27\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Woyenne 27\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.90050876605787,53.97808582169872],[-122.90901931273504,53.965814902032065],[-122.93377471535796,53.96742350496652],[-122.95071608605765,53.94985869960839],[-122.96903658794213,53.938189089409676],[-122.9403022142353,53.932152993710574],[-122.95809128761455,53.91695839879508],[-122.94590501067752,53.90636339745025],[-122.96315268872273,53.900308997946986],[-122.98598888491519,53.8824935995845],[-123.00197470115936,53.876134494109074],[-123.0427400828551,53.8694207907075],[-123.05371850775906,53.855913587907864],[-123.067436191057,53.85134900120983],[-123.08646260998144,53.85945560019021],[-123.09677421440703,53.88466598941871],[-123.12486221634003,53.90288119261183],[-123.16021051631816,53.901459798162016],[-123.1726315846521,53.91031549772019],[-123.20475018727016,53.915511103579135],[-123.23500498820626,53.910546300979036],[-123.25796789440044,53.92418591224819],[-123.25862740900506,53.94104428531374],[-123.23660311015267,53.9571320909529],[-123.24798067649756,53.981860697930166],[-123.27346891507251,53.98727409308015],[-123.31442578241055,53.9741898961304],[-123.37095849587917,53.967389300233414],[-123.42239773151019,53.97459311270343],[-123.42556079431567,53.974747038781445],[-123.42524967130463,53.79263383845533],[-123.44836707395757,53.79517380974253],[-123.50071045132664,53.78746239825386],[-123.51031265078579,53.78150374622086],[-123.51812708734441,53.758977768987926],[-123.49936754297894,53.72850352676251],[-123.48296315383637,53.724158713341815],[-123.46507467408891,53.70843140800687],[-123.4473355074291,53.70883415843107],[-123.42032395594978,53.678035659734505],[-123.40540985925159,53.67660922374088],[-123.36954985580755,53.65903445992382],[-123.37009396881224,53.647780109520724],[-123.35113354974105,53.647058396889335],[-123.30471803888295,53.627589100109944],[-123.30236619802925,53.55457558395652],[-123.30317902934922,53.499122837122286],[-123.28056145943536,53.499272500401574],[-123.27774508300571,53.47059001537944],[-123.3017093718526,53.47023147557176],[-123.30146398145823,53.3601781834122],[-123.30512038570299,53.28364008527624],[-123.2921601903496,53.28113829175973],[-123.26573270140895,53.29448028867749],[-123.20846350128012,53.30121821165795],[-123.17149247788912,53.29616509711641],[-123.14267490545915,53.28733358502716],[-123.09846471040966,53.29397149234793],[-123.0797839984623,53.289209305823235],[-123.06016030296735,53.29090690697851],[-123.05776058526521,53.29953759887092],[-123.02928329530762,53.292432314705366],[-123.00416701176371,53.27527618827033],[-122.99144352336529,53.28458630635079],[-122.97759668705845,53.283085188846776],[-122.96670810916576,53.298868306882106],[-122.9368143150752,53.295280708777504],[-122.91013295295268,53.30082946853043],[-122.9046482651396,53.31222688440707],[-122.88487811401735,53.3046381687554],[-122.87295169296053,53.311766215923605],[-122.88483141132312,53.32524459986773],[-122.87017981446948,53.34078849993385],[-122.85133158193457,53.349758094879135],[-122.83684706942381,53.373557705793026],[-122.78365769819732,53.38423680930065],[-122.76269831297276,53.3860697870635],[-122.73893210697938,53.38243332966675],[-122.69820997677276,53.39168589262476],[-122.68037539613015,53.38898808478353],[-122.66921491708347,53.379394494947796],[-122.64604816854393,53.386900331404796],[-122.63539731270427,53.39683390379925],[-122.65952329066977,53.425423492539686],[-122.66438448976187,53.442418591949455],[-122.68302418539675,53.457173408260104],[-122.66984427603435,53.4925108945556],[-122.6852516005678,53.520280164967915],[-122.7150944238189,53.52797667569517],[-122.72476903229295,53.55279067240007],[-122.70900231381688,53.58060826278485],[-122.70660131487934,53.59358286001302],[-122.68157602096127,53.5957285174497],[-122.68558672312068,53.61363715631117],[-122.67138953434336,53.64498688187713],[-122.69952781370748,53.6535989659562],[-122.70095873930822,53.66288765742273],[-122.7266574076723,53.67436396231499],[-122.70502192783444,53.689917763558654],[-122.7144463272721,53.70933686353472],[-122.71000883300462,53.722278663793325],[-122.715251132832,53.74963345419641],[-122.70840531468815,53.77508970643766],[-122.71694870155845,53.79130769351182],[-122.7309470260017,53.80018430328441],[-122.73352433007915,53.81294071238148],[-122.80394500889035,53.815984706249075],[-122.88149539362684,53.81588353584694],[-122.8819370511286,53.85192476312205],[-122.89674156672397,53.85253530858053],[-122.89116827447342,53.874262181528835],[-122.891117606961,53.95232410096769],[-122.90050876605787,53.97808582169872]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.06228632397142,\"lat\":53.623260207338596},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5953\"],\"cd_name_en\":[\"Fraser-Fort George\"],\"csd_code\":[\"5953042\"],\"csd_name_en\":[\"Fraser-Fort George C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser-Fort George\",\"csd_name_fr\":\"Fraser-Fort George C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.7277257182462,58.28402557733298],[-121.72374612146153,58.28320526596799],[-121.72304253093169,58.28729468899197],[-121.72861036601314,58.28757860967767],[-121.7277257182462,58.28402557733298]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.7257085508555,\"lat\":58.28562442765328},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5959\"],\"cd_name_en\":[\"Northern Rockies\"],\"csd_code\":[\"5959805\"],\"csd_name_en\":[\"Fontas 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Northern Rockies\",\"csd_name_fr\":\"Fontas 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-133.1990080192777,62.17054727825264],[-133.19871734738092,62.27111957106123],[-133.51228235946152,62.27434901403538],[-133.5092294612349,62.155478991740544],[-133.1990517471894,62.155347993007794],[-133.1990080192777,62.17054727825264]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-133.3555038665937,\"lat\":62.21418264128002},\"year\":\"2021\",\"prov_code\":[\"60\"],\"prov_name_en\":[\"Yukon\"],\"cd_code\":[\"6001\"],\"cd_name_en\":[\"Yukon\"],\"csd_code\":[\"6001004\"],\"csd_name_en\":[\"Faro\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Yukon\",\"cd_name_fr\":\"Yukon\",\"csd_name_fr\":\"Faro\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-132.4231643534785,61.982263232315326],[-132.44756872925956,62.00280600509608],[-132.50833111251035,61.98761707316225],[-132.453894578362,61.94060519518538],[-132.3925802812803,61.95647270151934],[-132.4231643534785,61.982263232315326]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-132.4505568678903,\"lat\":61.97179893718012},\"year\":\"2021\",\"prov_code\":[\"60\"],\"prov_name_en\":[\"Yukon\"],\"cd_code\":[\"6001\"],\"cd_name_en\":[\"Yukon\"],\"csd_code\":[\"6001037\"],\"csd_name_en\":[\"Ross River\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Settlement \\/ \\u00c9tablissement\",\"prov_name_fr\":\"Yukon\",\"cd_name_fr\":\"Yukon\",\"csd_name_fr\":\"Ross River\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-88.98508998738126,67.00000008054289],[-89.57499997299877,66.99999998967358],[-89.88749998577623,66.999999989905],[-90.43749997964795,66.99999999830298],[-90.78749999551808,66.99999998859003],[-91.36249997905453,66.99999998804488],[-91.86249999716276,66.99999998665957],[-92.30000000273827,66.9999999915317],[-92.7249999777,66.99999998888443],[-93.29999999795771,66.99999999360466],[-93.71250003189357,66.99999999966442],[-94.30000000819449,66.99999999319004],[-94.8000000154604,66.99999998635188],[-95.10000002801398,66.99999998622273],[-95.612500008759,66.99999998597151],[-95.93750001128711,66.9999999885054],[-96.36250002369839,66.99999998819719],[-96.6250000265991,66.99999998748204],[-97.17500002895078,66.99999999394994],[-97.70000001302294,66.99999999024362],[-98.03749999563536,67.00000000631626],[-98.56250001004157,66.99999998791205],[-98.80000001034838,66.99999999022145],[-99.16250002881468,66.99999998899763],[-99.66249996942419,66.99999999501864],[-99.97500000609028,66.9999999896078],[-100.40000002950516,66.9999999863631],[-100.77500002233393,66.99999998948421],[-101.24999999868021,67.00000000777304],[-101.58750001667195,66.99999998664335],[-101.95000002019017,66.99999998701458],[-102.18750001163184,66.99999998896376],[-102.62500002865549,66.99999998729697],[-103.20000001088393,66.99999999302241],[-103.56250001225509,66.99999999656583],[-104.00000001985471,66.99999998994797],[-104.27499999031421,66.99999998958266],[-104.65000002123864,66.99999998953163],[-104.99188503795158,67.00000010728844],[-104.9885028913022,66.90922344444304],[-104.98880488110561,66.78320061440412],[-104.98938957602148,66.58158760999719],[-104.99011398723643,66.34253718932924],[-104.99114988258164,66.14596580916961],[-104.99203223003575,66.00722333599253],[-104.99572548954376,65.83733964885346],[-104.99807797561148,65.67379729294305],[-105.00060380032929,65.4958890552808],[-105.00303814512351,65.32210785284084],[-105.0060487701115,65.10398023807244],[-105.00829788452201,64.93866105015573],[-105.01381555090092,64.67167687306001],[-105.01776293550327,64.47739258000357],[-104.87500126936509,64.4659824794822],[-104.47409604000104,64.43106069701159],[-103.85837505669359,64.3751187188138],[-103.56206306039907,64.34719346394789],[-103.1164562150365,64.30396146606026],[-102.67118841700393,64.25926833866674],[-101.99999999692342,64.18905058802498],[-101.99999998674866,63.87499998675435],[-102.0000000313383,63.70625000516549],[-101.99999997142262,63.493749993691225],[-102.00000002376879,63.299999988947434],[-101.99999996927463,63.14999999506257],[-102.00000001191016,62.98124998943525],[-101.99999998112719,62.762499999365986],[-101.99999999533011,62.56249998942101],[-101.99999997702021,62.40625001000698],[-101.99999997794676,62.23125000941073],[-102.0000000189428,62.04374999386757],[-102.0000000230201,61.79999999585112],[-102.00000002779653,61.65625000945987],[-101.99999997631338,61.443749997339985],[-101.99999997742755,61.14999999099048],[-101.99999998235874,60.94374999018443],[-101.99999999193334,60.69374999639648],[-101.9999999767009,60.38125000622198],[-101.99999997324126,60.20624999821396],[-102.00000001273933,59.99999999726299],[-101.50000000126587,59.99999999697558],[-101.000000000965,60.00000000851929],[-100.49999999489373,60.00000000089271],[-100.00000000305585,60.000000008761596],[-99.49999999530951,60.00000000536704],[-99.00000002639095,60.000000000552745],[-98.50000001438634,60.00000000093845],[-98.00000000511297,59.99999999455485],[-97.5000000226624,59.99999998666422],[-97.25000002535361,59.99999999992264],[-96.74999999569653,59.99999998994888],[-96.50000001293806,59.999999995978705],[-96.00000002442218,59.99999999655816],[-95.75000000369295,59.99999998892221],[-95.44999999519511,59.999999990537816],[-95.17499998044048,59.999999986535684],[-94.82437279440695,60.00000004191039],[-94.83388301285662,59.978321544044064],[-94.85274560736045,59.97128093635416],[-94.83913973114718,59.955308440045506],[-94.83770740729102,59.93284125619459],[-94.8230592956748,59.91344993799538],[-94.83185163228711,59.902372858097586],[-94.81878740042339,59.88859745597405],[-94.82736839713108,59.88163855987968],[-94.81126209486519,59.87173624276915],[-94.80060230426932,59.85552555682242],[-94.79898631299294,59.81768804919469],[-94.79197879319929,59.795805550699704],[-94.77254582347223,59.79002044781076],[-94.78298791155181,59.77083635919934],[-94.79483563596064,59.76735725217137],[-94.79652989444467,59.751278351362565],[-94.81906231971367,59.745912158476926],[-94.817081115511,59.727658653250664],[-94.82765428691688,59.702546051088795],[-94.82433121473292,59.68891634232],[-94.83417841931963,59.64887733504892],[-94.82758948756918,59.61586064042955],[-94.83611010022213,59.60257133909858],[-94.81108212714082,59.59140474986722],[-94.79955131914825,59.56630025833538],[-94.8115018000707,59.54451845050203],[-94.80073193849857,59.53418336021011],[-94.80044643610441,59.51566904592886],[-94.77321632159538,59.50108684731405],[-94.76373460423494,59.474564056236034],[-94.74484461114069,59.459502637069434],[-94.73633711175941,59.44004984584057],[-94.75041998705981,59.4276852382756],[-94.73414101344962,59.411797745561216],[-94.7159892064364,59.38017074680414],[-94.74959280383634,59.347226849176124],[-94.76681938991699,59.335938451377096],[-94.75268310630193,59.309143647584705],[-94.78145221348878,59.29779314389435],[-94.77116942183454,59.2850050550069],[-94.80415683048979,59.26600874863683],[-94.78576190400112,59.24601286088609],[-94.81451321664055,59.22912935969606],[-94.7906519026001,59.22218125979053],[-94.78184709829023,59.20662064402643],[-94.80100162855004,59.19841443802545],[-94.80505760767714,59.18779313891592],[-94.78232909472692,59.164055459317346],[-94.78118390159172,59.15263283946047],[-94.79490351251995,59.14712134550802],[-94.79391943498293,59.12664973608824],[-94.8111413006255,59.118245954753796],[-94.81059470087669,59.085618352998836],[-94.79834493858824,59.08121745133571],[-94.78822562833294,59.06538229973575],[-94.7978255275516,59.04635005909093],[-94.78874211873195,59.03641015569172],[-94.78491501092668,59.01692345527195],[-94.75238812722013,59.013744946910606],[-94.73246629045477,59.00275524221062],[-94.70158450364352,58.962296742246316],[-94.67674818843754,58.944111395242736],[-94.6284610575203,58.948567987408026],[-94.60204068234685,58.93868178694139],[-94.6064653968644,58.926789791738834],[-94.60147357672297,58.89715190515652],[-94.60640683684544,58.8884437376302],[-94.60178469562278,58.85669685424351],[-94.57534960524723,58.83908743967025],[-94.52935900537952,58.827061043662795],[-94.51760000870568,58.81887305109879],[-94.51076840460767,58.80121534578447],[-94.48364311708254,58.78483843825464],[-94.47582659615699,58.75812085738732],[-94.47641620562992,58.73770955049119],[-94.45094949784927,58.715266951408616],[-94.42663689673992,58.70282835533162],[-94.36938852110573,58.704169051359514],[-94.32337532753778,58.71988294454225],[-94.30161273351176,58.74151135654694],[-94.30858181126895,58.75004579984824],[-94.29657240317981,58.7625526811548],[-94.29349005554988,58.78133659932733],[-94.27320282592761,58.796275224257165],[-94.2446526071608,58.79537495202637],[-94.21638258135617,58.814860813394],[-94.19839934506416,58.80653273432988],[-94.20058112577256,58.79486190456585],[-94.14459267707045,58.77517215656245],[-94.08983136084093,58.770773627348355],[-94.02039474561693,58.7721782935079],[-94.02930352466312,58.76235309788993],[-93.96791883084853,58.77033785292605],[-93.93941573436967,58.765059334959744],[-93.90887532595585,58.76638624838708],[-93.88968660937374,58.751560743217865],[-93.8736180883279,58.75549905374798],[-93.87003929240602,58.7667440390562],[-93.84116491277146,58.77104815541181],[-93.7835867133392,58.773911046236115],[-93.75663223042682,58.76871574822619],[-93.74133981434997,58.77447084352736],[-93.74570312621087,58.7923699347661],[-93.68635323424185,58.78721973748071],[-93.64074672782397,58.7882069366941],[-93.60780592818472,58.76765805364407],[-93.58058031669289,58.76495674930137],[-93.55113233085032,58.770117744696876],[-93.53739562282026,58.7783932546763],[-93.49787031470962,58.775443047023806],[-93.46607480825001,58.76257945824601],[-93.4587170950304,58.737640938418984],[-93.44868321184624,58.72464873880941],[-93.41458022643226,58.72250515607538],[-93.3926691951508,58.73736274020713],[-93.38322368702435,58.75566575753347],[-93.34837320326886,58.76470953894446],[-93.32792488605465,58.756195451916746],[-93.30052859738144,58.7518612410977],[-93.28108030808558,58.76100675358744],[-93.23875278962622,58.76541345251362],[-93.2101820853892,58.7628222361604],[-93.17982821431009,58.737248937168204],[-93.17603681509172,58.71110843109649],[-93.14406072917544,58.67596623424432],[-93.15430099572444,58.65776804821687],[-93.14771529344101,58.62487283154468],[-93.13517622632331,58.60323084673297],[-93.1355948093643,58.57973974960275],[-93.14166539440293,58.57159753541667],[-93.1344981237448,58.52665363992822],[-93.11563069712969,58.50307964328013],[-93.11552922681719,58.47780413116441],[-93.08384610694,58.44011313598261],[-93.06066773107106,58.407815746253014],[-93.05554029251883,58.37943855311573],[-93.04322290208486,58.367383943197396],[-93.03455949500879,58.34494225400236],[-93.01390569869957,58.32720844239079],[-92.96834952132802,58.30829913730284],[-92.97835001645758,58.3042539520982],[-92.9794395128448,58.280405247171586],[-92.92740208922285,58.21858133101255],[-92.92164188981972,58.1996134427682],[-92.89491730323398,58.17558013344528],[-92.86921532067785,58.17066654492691],[-92.88188100485891,58.1518382500012],[-92.84678539241672,58.133859139253744],[-92.85074329841362,58.10546865033975],[-92.82394222767797,58.06461814243356],[-92.80030890059062,58.04330353344964],[-92.81516583061688,58.031004844037554],[-92.81489810254128,58.018780152144444],[-92.79899030667289,57.98177513771029],[-92.79353780589517,57.95689593908404],[-92.76199120560997,57.87569425317672],[-92.74818829059626,57.85465793077175],[-92.7416058296814,57.83490914887512],[-92.73223680545965,57.83268594543705],[-92.73063910302804,57.809844038744124],[-92.71118372061056,57.773542335761505],[-92.66745203105188,57.7135970423062],[-92.65678693790517,57.70350294058208],[-92.6265316228902,57.65964514279504],[-92.60070310708963,57.6405834467093],[-92.59045239381062,57.619632739922295],[-92.5611674397776,57.592018642485804],[-92.54335472164796,57.56043664720098],[-92.5411823993516,57.540378333431605],[-92.5029722019614,57.531472750835185],[-92.4791375389614,57.48688033587589],[-92.45934560009245,57.460007333759016],[-92.44949129433495,57.43423093873952],[-92.44184210655727,57.398530029683165],[-92.42501702303235,57.35770403398729],[-92.42446581603092,57.32914925160735],[-92.43321524014505,57.30908554575324],[-92.4385858948376,57.263686748402584],[-92.44899369873343,57.23740113572735],[-92.4955724265011,57.179301731624975],[-92.5448769069834,57.101087041644476],[-92.59613244302463,57.05016183982006],[-92.61212639638666,57.04323045025727],[-92.64366010156728,57.01590085157291],[-92.68629733625895,56.98760863048012],[-92.71364330247114,56.9536686446246],[-92.72660051040059,56.945790441530896],[-92.75395558678419,56.94027748463565],[-92.73143750181151,56.922234538350814],[-92.68377501969947,56.93222314592156],[-92.63455280622784,56.95926344617914],[-92.61641311069341,56.97870104539843],[-92.48220700391992,57.03467323098401],[-92.44298823317435,57.046730440591666],[-92.3686625229735,57.058752850693956],[-92.28366031237988,57.063578448537825],[-92.20977321953293,57.07249323261074],[-92.14658871469004,57.044171646225216],[-92.12305342292444,57.04920794594725],[-92.104011111227,57.03921013246579],[-92.09436713028092,57.04770523375706],[-92.01688152601267,57.05123504746871],[-91.9518503942659,57.061401143920726],[-91.87010990994555,57.07719834712699],[-91.82903172553732,57.0897156522634],[-91.78736671214081,57.098198235361465],[-91.71790263521147,57.12050223649872],[-91.68306450239857,57.12930724792742],[-91.64562832804329,57.132925927633465],[-91.63396929452489,57.13786763860177],[-91.57926042639644,57.148270442772755],[-91.47081200111394,57.17663114172272],[-91.45269869948035,57.17976793569689],[-91.37619219938104,57.200997247018826],[-91.33343772126916,57.20736774790662],[-91.31731810321074,57.214121744057195],[-91.26699842084096,57.21965963291627],[-91.25072900524889,57.22839062754566],[-91.14651789061574,57.247668127222795],[-91.12956253000459,57.2539287337803],[-91.1040687184911,57.25337903086263],[-91.06486159748671,57.25930374474781],[-91.00363373466332,57.26385903307418],[-90.964442797238,57.25920762614639],[-90.94774870521702,57.262171050164305],[-90.86123513028771,57.26525063204773],[-90.79776428947662,57.25139563044427],[-90.77247950499103,57.25301204581292],[-90.73434688845923,57.23625303284949],[-90.71431009144028,57.232092129980494],[-90.66352342674192,57.23850153217448],[-90.63580020955,57.23788663520625],[-90.58779890939256,57.22341053511532],[-90.56233680095299,57.21192793840507],[-90.54373950209138,57.21040984612652],[-90.50941361742053,57.19777494157843],[-90.46658062830336,57.19758892538086],[-90.38893483281281,57.17697782901885],[-90.39139379294065,57.15807004422841],[-90.35418993066565,57.152576232165096],[-90.24094461226586,57.11320404728351],[-90.18781512571503,57.09220254985553],[-90.1586109107053,57.07465193209686],[-90.06877231379734,57.051655928624264],[-89.9920284233825,57.02569239011446],[-88.84507864392464,57.99190534791025],[-88.42091062615997,58.28276814432062],[-85.69940207755513,59.999999990679406],[-80.03170564302397,62.91637421740663],[-80.02163164899497,63.83858038728815],[-80.02076926179792,63.914810337209715],[-80.31285623105225,64.1083703917488],[-81.54631766779818,64.92296674767817],[-81.66712454726014,65.00000012465257],[-81.99999998928469,65.21102682224918],[-82.61136189228992,65.58607494245297],[-83.31174159095708,66.00000002103559],[-83.39462497545539,66.04791100333613],[-83.76898373125623,66.26697200755926],[-84.13728484112028,66.47800824767761],[-84.47299676465566,66.66660280924431],[-84.84405142388533,66.87098101918644],[-84.88433497707248,66.89217912558686],[-85.05718281370217,67.00000010756098],[-85.36249998436736,66.99999999748403],[-85.81250000529167,66.99999998746425],[-86.12499998919314,66.99999998644623],[-86.537499980531,66.9999999873193],[-87.02500001445144,66.99999998910742],[-87.58749996565383,67.00000000501477],[-87.96249997794351,66.99999998576085],[-88.52499997388512,66.99999998792092],[-88.98508998738126,67.00000008054289]],[[-92.16097219743551,62.868691690620636],[-92.1337550879403,62.85371409959086],[-92.12365942230721,62.838993198175345],[-92.07787990579394,62.82340539222211],[-92.06590462059883,62.804222312462336],[-92.07846920409514,62.79396620831202],[-92.12607867656354,62.80674939437209],[-92.15726938625849,62.80889199346033],[-92.19476384419727,62.866051478360504],[-92.16097219743551,62.868691690620636]],[[-83.17625376074429,64.10308483237],[-83.22947099542279,64.10321996843825],[-83.33511992071803,64.11288574098603],[-83.42646092868317,64.17591242695954],[-83.42574502776334,64.21954567327604],[-83.00358631104672,64.19946478112938],[-83.01287223863467,64.17058087649457],[-83.07069929252738,64.15093108290057],[-83.13300485513999,64.11991057234431],[-83.17625376074429,64.10308483237]],[[-96.01267306544206,64.37266546408539],[-95.99974418186153,64.38177126659613],[-95.93803856671441,64.3627381288125],[-95.872242353422,64.34961982265935],[-95.85309240849485,64.3392173852676],[-95.79103781844925,64.3339742253301],[-95.75187932161305,64.31826866641455],[-95.76262696032765,64.30554566732664],[-95.7301512920222,64.29481320419927],[-95.72212060241198,64.27858559052156],[-95.74255967327318,64.27449518833974],[-95.80223298197451,64.27868670368593],[-95.88592042414602,64.2939260043407],[-95.93542659608985,64.29863360957168],[-95.94991980502824,64.30426838790459],[-96.04766292894121,64.31925655413417],[-96.0618667058649,64.31143968856905],[-96.07911319839398,64.2868366969282],[-96.13560919321043,64.28066248702842],[-96.21018847227062,64.28197130860661],[-96.22354579989454,64.28635790905614],[-96.24995208043636,64.30969680375837],[-96.3084099893375,64.3374872077787],[-96.18690329183458,64.37346447667618],[-96.10601335564947,64.38347402121896],[-96.03469456744924,64.3847888651199],[-96.01267306544206,64.37266546408539]],[[-94.09546013711397,61.06328560721691],[-94.16059473618033,61.00483457197776],[-94.24840885587439,61.02859241247876],[-94.29479899936483,61.085909899976386],[-94.2722860497835,61.13614499838627],[-94.14643428082081,61.17011508239515],[-93.9665641281819,61.146063082189706],[-93.9387045381114,61.07197660866606],[-94.09546013711397,61.06328560721691]],[[-90.62900074452976,63.34491577476397],[-90.64063433547493,63.22611450181349],[-90.8680507338152,63.236715564661296],[-90.97180767808467,63.354102645435354],[-90.79596973295108,63.429234124655146],[-90.62900074452976,63.34491577476397]],[[-92.45504626275823,62.173243880844716],[-92.42974046007002,62.11921279361568],[-92.62219798789224,62.138911286402774],[-92.65796639014133,62.20407485401421],[-92.69650523288493,62.236255375286696],[-92.7325298247474,62.26020193588578],[-92.81018204037427,62.29319727600786],[-92.93592516472854,62.31204817511295],[-93.02839369877671,62.32173184609141],[-93.17392003308564,62.327560155842136],[-93.2216547993496,62.338084020892126],[-93.28575990393857,62.368752120986734],[-93.3198396392693,62.388175068459184],[-93.32869305535394,62.39961952845071],[-92.9617224680332,62.3850583996657],[-92.61155512283375,62.370233455313794],[-92.51802047622884,62.3124811322101],[-92.48295627744899,62.21596515025993],[-92.45504626275823,62.173243880844716]],[[-86.36214043417453,66.58748495774486],[-86.36172606339952,66.58484452856571],[-85.95951338804672,66.57448437235584],[-85.48245759713346,66.56087171976756],[-85.52506051227869,66.54457402268902],[-85.59361475873472,66.53609040305207],[-85.66761967636322,66.51557352995964],[-85.6829285328443,66.50885178195566],[-85.73575729530293,66.49923318049488],[-85.80672294847942,66.48021774490427],[-85.86264269091252,66.4738599134695],[-85.97687694420385,66.46753830899229],[-86.02949851382391,66.47329889617231],[-86.1165145764629,66.47138703526943],[-86.20243488148931,66.48566766798464],[-86.42207291122432,66.50656876818034],[-86.50535873391985,66.51041569632933],[-86.57896594022631,66.49966051844949],[-86.65673840819346,66.49307709637206],[-86.71669521864155,66.51129811956629],[-86.76651384142298,66.51696965299223],[-86.90075061690858,66.63810072308972],[-86.36815526889073,66.62574929863848],[-86.36214043417453,66.58748495774486]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-92.49724584289835,\"lat\":63.15117797036831},\"year\":\"2021\",\"prov_code\":[\"62\"],\"prov_name_en\":[\"Nunavut\"],\"cd_code\":[\"6205\"],\"cd_name_en\":[\"Kivalliq\"],\"csd_code\":[\"6205033\"],\"csd_name_en\":[\"Kivalliq\",\"Unorganized\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Nunavut\",\"cd_name_fr\":\"Kivalliq\",\"csd_name_fr\":\"Kivalliq, Unorganized\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.55735066055652,46.88753451912755],[-53.54457151079959,46.893457606808525],[-53.52495170847881,46.886916490235265],[-53.50322919293066,46.89372110550779],[-53.48374368430378,46.908420800672474],[-53.463093562421726,46.933735249028054],[-53.478540032373225,46.93080155487885],[-53.50930173405775,46.94022537091742],[-53.52540718848598,46.941754100782994],[-53.550693197567284,46.92521749900682],[-53.576346792272574,46.91568369179568],[-53.58888649832604,46.92417069559353],[-53.61028360288039,46.912074391675795],[-53.60634865608061,46.89803759813239],[-53.59004190716324,46.905238590788954],[-53.55735066055652,46.88753451912755]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.533089060676616,\"lat\":46.913284540748805},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001178\"],\"csd_name_en\":[\"St. Mary's\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"St. Mary's\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.74892863344904,47.159644412202866],[-53.73818012739013,47.166367891255284],[-53.729448811308956,47.18337795433412],[-53.70688978846791,47.202963762146766],[-53.68553944021064,47.21251959753945],[-53.680103218234386,47.2303884642085],[-53.70137406608469,47.2408387137816],[-53.696941359556696,47.24960485588079],[-53.663744191555494,47.27590995343325],[-53.66511953741421,47.28539618390159],[-53.68795511712749,47.28972563766699],[-53.67558338798891,47.324037921534696],[-53.677562158789264,47.342297577109484],[-53.666170904253896,47.38095114145868],[-53.66328047712438,47.38781904449384],[-53.67820892107845,47.41181788942351],[-53.72556930114122,47.37911184003025],[-53.75294768013736,47.36831283228322],[-53.76824479277774,47.35668915912129],[-53.80755934130813,47.41664730245847],[-53.816089519915224,47.421289695768586],[-53.84122049850364,47.411721897842476],[-53.87415669937734,47.40437350648265],[-53.91693688430013,47.40982263198196],[-53.93623953192857,47.41860124696113],[-53.96249583950359,47.43684696687259],[-54.05757355970386,47.433399193321144],[-54.09381550380913,47.37137891099755],[-54.094911017803945,47.34289422402759],[-54.05638999537609,47.24902829421301],[-54.05305233594038,47.23270297448332],[-54.10882363532289,47.161779992894076],[-53.999976309612926,47.14793378874318],[-53.87521745203831,47.15097526063791],[-53.83029223513053,47.17770404868612],[-53.80874401252494,47.175239966821984],[-53.79887515897188,47.16204543645131],[-53.76007035516937,47.15563238613501],[-53.74892863344904,47.159644412202866]],[[-53.866609606106664,47.30558168772879],[-53.88659230643672,47.30695388813722],[-53.9057156062394,47.30114540815718],[-53.92410748003442,47.318461302465835],[-53.924718002192336,47.32681698847734],[-53.90491709772214,47.33559194292912],[-53.823746873185655,47.33382091929544],[-53.85265163615508,47.306514653068135],[-53.82591758236669,47.30517009527584],[-53.80937041187154,47.30862020628711],[-53.79370257591214,47.29483390401353],[-53.80060374139584,47.271473963890365],[-53.836322908311224,47.26835439372514],[-53.84484809500874,47.27165319817847],[-53.88330640112876,47.26539799477925],[-53.935108283701254,47.268582495175686],[-53.959253718343945,47.25569219988247],[-53.95329799536845,47.231277409229286],[-53.96298061797485,47.22306429344797],[-53.923796293658896,47.215792603831844],[-53.90201660986575,47.223702689882494],[-53.870140611564,47.2246102031641],[-53.87355107627041,47.21059525912995],[-53.903173105696254,47.20951841726387],[-53.970653532650644,47.21291482956817],[-53.979520317399476,47.2206922194301],[-53.97541021809488,47.23731420346443],[-53.96333828695621,47.24832880774618],[-53.993545311098735,47.253373900364565],[-54.005455711844604,47.26584900708022],[-54.00546129674979,47.27986300999338],[-53.99543128764277,47.28580610617487],[-53.995276821013945,47.29785229576966],[-54.005236507771,47.31458929131291],[-53.97114269434808,47.315159987465705],[-53.983408801445755,47.303371484872635],[-53.9866982060886,47.28771930742725],[-53.955357295363065,47.30117113746723],[-53.96166531683452,47.280057711343524],[-53.977162977109586,47.270055187612066],[-53.940743740042535,47.26872157788194],[-53.9107507888328,47.2711375140569],[-53.88322811693644,47.28615842713847],[-53.869875964867795,47.2889858826944],[-53.866609606106664,47.30558168772879]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.891964795303316,\"lat\":47.28809599037032},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001234\"],\"csd_name_en\":[\"Division No.  1\",\"Subd. B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Division No.  1, Subd. B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.3833444787261,47.80828200890314],[-53.29132844740258,47.81843834569786],[-53.29612990815212,47.887202341396446],[-53.38707672383133,47.89074046113527],[-53.39529484020795,47.89099454041747],[-53.43596566936526,47.85822473692722],[-53.43939894690322,47.85258665419078],[-53.3833444787261,47.80828200890314]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.35733960570636,\"lat\":47.85145557489896},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001325\"],\"csd_name_en\":[\"Heart's Content\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Heart's Content\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.32992480610555,47.969653899617484],[-53.35424243264039,47.94815325496651],[-53.35175893314509,47.94117445249057],[-53.29151721304773,47.940995893759016],[-53.275852107633725,47.95752179558836],[-53.32992480610555,47.969653899617484]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.316881556117295,\"lat\":47.95273517004749},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001332\"],\"csd_name_en\":[\"Winterton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Winterton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.900876005179605,47.61253393620749],[-55.91851194461802,47.63095406676578],[-55.926822728999625,47.61234021675494],[-55.91804701579882,47.59855305661703],[-55.900876005179605,47.61253393620749]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.915337308369814,\"lat\":47.61399234120326},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1003\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"1003012\"],\"csd_name_en\":[\"Gaultois\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Gaultois\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-57.921646351138904,48.22389866180349],[-57.92855170535061,48.24407969655291],[-57.968035566365124,48.243660398402106],[-57.97015881827604,48.25713947363594],[-57.948472236518406,48.26663827899948],[-57.91968724508043,48.27333665681627],[-57.89943547732251,48.295517815422215],[-57.87069456547338,48.31021500382454],[-57.85648575503538,48.32693343967495],[-57.83870065548428,48.33610940674574],[-57.81834395564059,48.33480118402236],[-57.79252424533446,48.321202155953046],[-57.76843451513355,48.31260204570869],[-57.737839140570046,48.30790183074771],[-57.66890960389031,48.32601558462229],[-57.63359703425231,48.3469093132074],[-57.63031443089657,48.36104020021064],[-57.593668925479676,48.38195793837676],[-57.570035523679806,48.414097718914334],[-57.5510649831421,48.4289426433052],[-57.56767423826603,48.442038837695414],[-57.61163912540696,48.444816416749134],[-57.597603307469264,48.460476178094574],[-57.61796193234288,48.47132977030465],[-57.657952491132214,48.455943558177005],[-57.678281608832854,48.45700539078916],[-57.696879599792204,48.48006840421173],[-57.678744850121,48.48882772148044],[-57.66716113654455,48.50473979267223],[-57.62487625627796,48.49472246080771],[-57.60935131873649,48.49602779316345],[-57.57911061683502,48.488026228610835],[-57.555486013783,48.50224152242815],[-57.50809953106814,48.50676774423646],[-57.490632876877044,48.511337225307685],[-57.46855136885508,48.50807358873029],[-57.41037534362994,48.51485021388751],[-57.39289184198689,48.52221822293509],[-57.40456919363866,48.53215647590253],[-57.424814395457425,48.51980149173874],[-57.472436252453726,48.520827432586124],[-57.51239260283177,48.5137327376396],[-57.56303725535556,48.50938641008404],[-57.629128483216384,48.533863845692814],[-57.66816958825752,48.53855303456428],[-57.695447005636986,48.551180751554654],[-57.6971698404423,48.55750760366794],[-57.754819038725906,48.56242464212764],[-57.78419341873612,48.570809724560306],[-57.86254190170951,48.586929677544745],[-57.873290557368335,48.59855052278103],[-57.900108557796536,48.609514267771324],[-57.90922472827496,48.621198591605044],[-57.95088749714636,48.6225435253855],[-57.94404217508919,48.63499968696816],[-57.95274663424455,48.65123853998025],[-58.014131907311125,48.66781337402309],[-58.06193550201265,48.676382106100476],[-58.12149270522768,48.667288196044176],[-58.16331748793156,48.68184079532209],[-58.18867487160929,48.727814468158876],[-58.197051801347286,48.71890982440272],[-58.22300761256586,48.70978549496379],[-58.21444231464309,48.699158531747734],[-58.23879139496276,48.69518805385794],[-58.243979694739004,48.67437583106155],[-58.25576275019755,48.66030052490587],[-58.28113196835101,48.64972936749185],[-58.27969222555885,48.630750278999336],[-58.29980027126887,48.63754217547376],[-58.307951724785944,48.629058861705495],[-58.29780078224592,48.61790827307016],[-58.312877372998166,48.61017640049866],[-58.31835911863886,48.59841316804445],[-58.33649176862178,48.58347840546457],[-58.35817059068776,48.58649040572712],[-58.37088266257271,48.569767769825766],[-58.383841398715575,48.57192611236888],[-58.40784479901835,48.553152511449994],[-58.419466988431964,48.51370779928907],[-58.434304207568275,48.501124291120654],[-58.43349046108725,48.49039097643986],[-58.46440226860092,48.4874846013074],[-58.52330004107411,48.49415284623296],[-58.59153075348633,48.49319520175053],[-58.664501435933374,48.48637681477962],[-58.701404478765106,48.48556335883991],[-58.86542278109996,48.493747254325285],[-58.91409598492867,48.48869172116739],[-58.94523744382782,48.48774204710376],[-58.9955783856176,48.490040490659325],[-58.886705056961326,48.41656392969989],[-58.78272399702374,48.3612226952522],[-58.7077649226325,48.32227425184493],[-58.694976718696104,48.31168675384591],[-58.67996200799256,48.30935785594002],[-58.66053516317472,48.29821461449172],[-58.62531564022159,48.304922604747574],[-58.571875030594015,48.296274652674796],[-58.52484689391658,48.298721748851165],[-58.49917581154688,48.293424006502946],[-58.47208618561614,48.29414360299936],[-58.45531278719409,48.30050960835607],[-58.426074800260295,48.29761828736968],[-58.41822851039877,48.274304306337356],[-58.41055850597723,48.269723687541315],[-58.413005597095086,48.25316059167786],[-58.40451700691866,48.250000012606975],[-58.39063638544066,48.23177315535953],[-58.35238610562733,48.24458914942995],[-58.333686299671996,48.24701522341639],[-58.31171037505788,48.25676250171426],[-58.29313469170711,48.247932775048604],[-58.27704942188766,48.253613094928276],[-58.26044301701555,48.25141689255895],[-58.23428228934197,48.23433435234277],[-58.21153032962145,48.23389673536385],[-58.16443148775879,48.22741740798185],[-58.15476867867418,48.231007027595986],[-58.11334797255107,48.217599104139225],[-58.023756555581,48.21303152957344],[-58.00300738474498,48.21576810673693],[-57.97208854990038,48.20179130592588],[-57.967813478109846,48.206946946438215],[-57.9878409224191,48.219664373124516],[-57.97187361395252,48.22737059571629],[-57.9430723780392,48.22210935254444],[-57.921646351138904,48.22389866180349]],[[-58.4691699140593,48.43874309016819],[-58.455601040257946,48.43428046073579],[-58.445059597904645,48.414900696145764],[-58.45244119229125,48.40677158323702],[-58.48445459827156,48.40193870632948],[-58.49121091241835,48.39711279733039],[-58.54174510924789,48.39040129803624],[-58.552256205367115,48.41590178965335],[-58.519968806872,48.42095990928754],[-58.5006675035434,48.42830909325116],[-58.477158704715876,48.43112130480777],[-58.4691699140593,48.43874309016819]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-58.17759755838906,\"lat\":48.43595613691439},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1004\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"1004011\"],\"csd_name_en\":[\"Division No.  4\",\"Subd. C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Division No.  4, Subd. C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-58.61258256395808,48.57800127152994],[-58.638519023424074,48.57772807764957],[-58.650995788598046,48.565466599076515],[-58.672850701359685,48.56265678871838],[-58.6730580896529,48.55075158765328],[-58.643777987038376,48.544272509056725],[-58.60131241723678,48.54377989147373],[-58.60272590150062,48.55876758624126],[-58.6121666130842,48.56232268254689],[-58.61258256395808,48.57800127152994]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-58.634359371150225,\"lat\":48.5586140995725},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1004\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"1004020\"],\"csd_name_en\":[\"Kippens\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Kippens\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-56.755419645077474,49.86826441814188],[-56.75728326934797,49.87627951892449],[-56.818397008488645,49.87348801824323],[-56.83491946924036,49.86351729887641],[-56.767075928897896,49.86228652148143],[-56.755419645077474,49.86826441814188]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-56.79063944669581,\"lat\":49.868753503174275},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1005\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"1005005\"],\"csd_name_en\":[\"Jackson's Arm\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Jackson's Arm\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-57.3758627628099,49.22482656870075],[-57.34904254913653,49.25942627434084],[-57.32903601412118,49.27018500128644],[-57.29749997139885,49.27777636891057],[-57.253543800225366,49.29825373687002],[-57.25527624341994,49.307222030266736],[-57.34129346564821,49.30696846755054],[-57.46112872794806,49.2203027234388],[-57.435777999650135,49.195379892721945],[-57.42601089722941,49.19608610161415],[-57.41110239620757,49.21276531175476],[-57.3758627628099,49.22482656870075]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-57.36656669838166,\"lat\":49.25993558708107},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1005\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"1005009\"],\"csd_name_en\":[\"Reidville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Reidville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-52.95829438114882,48.25004561060737],[-52.99999998973007,48.25000000602521],[-53.000000002560874,48.27869974663804],[-53.065791818939054,48.27586357122059],[-53.30797830646606,48.26600974299458],[-53.38072933389946,48.250262532038214],[-53.47040682784373,48.24301965780709],[-53.4896933518246,48.23768765298383],[-53.503653788074686,48.23346116883527],[-53.64820595729064,48.167234404218185],[-53.67656509071675,48.160716304257896],[-53.720959794026335,48.158782481869814],[-53.75133686879014,48.17757094601924],[-53.78373517315929,48.186586235198696],[-53.8081957860076,48.18696833668778],[-53.85364940272689,48.17726843726256],[-53.87076438326682,48.185057129114966],[-53.89076293496607,48.20491362576598],[-53.9268960686817,48.218437667837705],[-53.9452294023735,48.22089541316541],[-53.95297742815383,48.206987420919866],[-53.96454678456118,48.18894450240818],[-53.958185303299715,48.156706791680804],[-53.93048001887901,48.129557476939176],[-53.92414685830907,48.13144546923954],[-53.90573204732287,48.087153606330084],[-53.72362243714851,48.085716401171815],[-53.69065273314452,48.087133156753566],[-53.667398888972286,48.06889688082345],[-53.50161549593013,48.04812523149736],[-53.34343994433003,48.02872016993162],[-53.238126827371474,48.08482119609202],[-53.14841020881258,48.13426205146714],[-53.10081461441378,48.16202758803066],[-52.95829438114882,48.25004561060737]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.44309529740783,\"lat\":48.156803024006386},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1007\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"1007006\"],\"csd_name_en\":[\"Division No.  7\",\"Subd. L\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Division No.  7, Subd. L\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.66386049705215,48.651672902760026],[-53.65658731980807,48.66193010075838],[-53.63470050222452,48.66535769881856],[-53.622335699682,48.693175804746055],[-53.648082504959056,48.69573700246062],[-53.68543350890845,48.67808289547114],[-53.715909867602235,48.66029728310868],[-53.715117617541445,48.65657360773536],[-53.703823806794816,48.66017865059274],[-53.66386049705215,48.651672902760026]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.66284171971407,\"lat\":48.67339556284249},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1007\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"1007046\"],\"csd_name_en\":[\"Salvage\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Salvage\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.5681493980079,49.288679612677186],[-53.54295212546068,49.297243242551815],[-53.498474331061615,49.30629027625682],[-53.19745295082491,49.328255744006555],[-53.16335698181872,49.41443353172434],[-53.12231441810672,49.564427164661645],[-53.103646023248906,49.66812621276367],[-53.10037488007246,49.7560020641861],[-53.110329246306755,49.775051402356674],[-53.33067470963459,49.83269284268557],[-53.49999999746493,49.89526923339813],[-53.533204438795636,49.90549867003446],[-53.70604188486103,49.74960440131603],[-53.84982069725536,49.6839280810041],[-53.94023748002011,49.62993196080316],[-54.033902900432494,49.57606336534068],[-54.01826900403149,49.50051898944062],[-54.003323558776856,49.467445514778845],[-54.01145891686413,49.44927010635744],[-54.04630729913647,49.430587687255105],[-53.99223999209422,49.44487838481919],[-53.97650519100283,49.45547648663677],[-53.95089849364758,49.45213418977713],[-53.93094538918749,49.44236980011485],[-53.90848119959058,49.43802848386382],[-53.87862278028344,49.422210204453656],[-53.86749151335006,49.41109809880944],[-53.86657341116465,49.395557917930326],[-53.87939813739149,49.391433759711845],[-53.98155464153468,49.39161712527893],[-54.07713788414721,49.39448190196005],[-54.09915718643558,49.39679349527832],[-54.1190417827695,49.37959879125708],[-54.16383478696406,49.350337648827875],[-54.150506231359365,49.31652661594709],[-54.14298206992421,49.30995067536223],[-54.143747465471314,49.27135787601078],[-54.15344785620037,49.26508660985677],[-54.15222890233309,49.24942648322214],[-54.18110287425774,49.244233197184045],[-54.18162283616937,49.215769606297506],[-54.16071922200567,49.20912225366165],[-54.180918334501094,49.19392203554285],[-54.190404318075664,49.17935124205673],[-54.230486619735416,49.165294024407814],[-54.237647877090104,49.148278744077196],[-54.26370165754066,49.14866385525739],[-54.25025738303749,49.14308461835142],[-54.23187359704561,49.14445680606697],[-54.218871827038356,49.154859408558806],[-54.19812447669332,49.14538636167761],[-54.17576086735789,49.14358284162834],[-54.122203452486936,49.15188299986019],[-54.09103227388572,49.16260802574001],[-54.066998507731974,49.15622516352779],[-54.017479941989585,49.15947245872781],[-53.99211785497144,49.15257180861613],[-53.95091414971083,49.15430619149504],[-53.90117330731495,49.15950981319275],[-53.89349428513508,49.16591275084975],[-53.887607575035105,49.186456767766494],[-53.868606556108496,49.199225820844816],[-53.82887979109436,49.21383923089959],[-53.81725626758343,49.223598428233004],[-53.815690469582876,49.234876765979116],[-53.76652614857709,49.241281001871386],[-53.772947363118234,49.250026808973836],[-53.76604261295708,49.26673021647361],[-53.73510130116355,49.27807899940552],[-53.7008100444033,49.261726321800815],[-53.66789362234335,49.254159629198504],[-53.65309892782381,49.25818979600981],[-53.611855496726854,49.2791035288498],[-53.633075502664845,49.28824613167946],[-53.644775342759544,49.301203976021235],[-53.63560671363279,49.31455231244624],[-53.623419711336005,49.31380019073636],[-53.60361279281719,49.30175759667772],[-53.57275238333266,49.2948118955761],[-53.5681493980079,49.288679612677186]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.60214143971327,\"lat\":49.51418184545876},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008001\"],\"csd_name_en\":[\"Division No.  8\",\"Subd. M\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Division No.  8, Subd. M\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.51450129102783,49.53453292012895],[-55.44450647732946,49.56856144750667],[-55.29256075194739,49.74684611729961],[-55.16465537268396,49.894532003513014],[-55.13047109669355,49.93352727154898],[-55.13037214345222,49.933641428787546],[-55.36970535461256,49.893964375254924],[-55.46325818890019,49.83379249003962],[-55.595442852205586,49.750076485573025],[-55.683902690680405,49.69184581352347],[-55.693919797596486,49.67844302929452],[-55.75389368025021,49.62759111207241],[-55.765182705235624,49.500018463813895],[-55.75877206462383,49.48576994895127],[-55.72687862352421,49.479472891532005],[-55.72565943488199,49.46674505699977],[-55.64455648558783,49.49105534987167],[-55.51450129102783,49.53453292012895]],[[-55.62822431246405,49.55232735818881],[-55.642710135498994,49.540910566596395],[-55.6508430401759,49.5267718488316],[-55.660547627222016,49.52967124039264],[-55.62822431246405,49.55232735818881]],[[-55.60731889078082,49.537332603131496],[-55.604061411657526,49.529699801260044],[-55.58091304649793,49.52193517301735],[-55.64998582416157,49.50278299378607],[-55.65007185277038,49.51687251559074],[-55.616000632337425,49.52553379253764],[-55.60731889078082,49.537332603131496]],[[-55.679461114382036,49.51407819068472],[-55.69626388724096,49.50041389376568],[-55.734605797486424,49.48675160028174],[-55.756697882083174,49.486813801097114],[-55.744359395008146,49.50883590483324],[-55.75704249953745,49.52427158544748],[-55.7411070378916,49.56198008573638],[-55.72098531036295,49.557844004678856],[-55.69023890130681,49.561848587492555],[-55.67596089741555,49.554713301488356],[-55.680221016525714,49.5365292976896],[-55.66838370963539,49.52455901070069],[-55.679461114382036,49.51407819068472]],[[-55.74701906039987,49.569102276016764],[-55.73008437561253,49.59139674524656],[-55.7304576369519,49.61472867552237],[-55.71093595635073,49.62895967564583],[-55.67569528195814,49.63210307163645],[-55.624577933914715,49.620761839678465],[-55.58456328173813,49.60413953679111],[-55.57599840986358,49.593177655865276],[-55.60122758732374,49.57764897209149],[-55.63844313148772,49.57061901979093],[-55.71816592553133,49.5641236086937],[-55.74701906039987,49.569102276016764]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.465792550570804,\"lat\":49.711469659449115},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008052\"],\"csd_name_en\":[\"Division No.  8\",\"Subd. D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Division No.  8, Subd. D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.94735582117328,49.59228320036471],[-55.948458149351566,49.60280667963262],[-55.961341310466764,49.60370050978023],[-55.95853736717281,49.592995157782276],[-55.94735582117328,49.59228320036471]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.953952542385935,\"lat\":49.59807097805595},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008063\"],\"csd_name_en\":[\"Little Bay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Little Bay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-56.02113317399202,49.98189100278459],[-56.056139928475964,49.98071173396935],[-56.06287911508538,49.96727337472006],[-56.01185571909062,49.97279534931965],[-56.02113317399202,49.98189100278459]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-56.03893789437485,\"lat\":49.975234680534626},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008095\"],\"csd_name_en\":[\"Ming's Bight\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Ming's Bight\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-57.51285766115831,49.82828915326636],[-57.534470111028774,49.84651780401484],[-57.55870941133931,49.8435265115809],[-57.58559391024695,49.83129671041665],[-57.642926547278,49.81573960653758],[-57.66371776804083,49.81937262082707],[-57.66638934648358,49.82639960084492],[-57.69835986371406,49.82230506928798],[-57.73412383513702,49.82693234317909],[-57.799158946165576,49.840491385589615],[-57.830593387694556,49.849215282249915],[-57.97898301619805,49.848442663284864],[-57.99224837283482,49.81389344814921],[-57.996259704550134,49.74982634293607],[-58.16301062599427,49.60938392190548],[-58.37162091567444,49.3433539358437],[-58.23968855034722,49.323022874979735],[-58.22355545215861,49.32185199339308],[-58.18964573523973,49.32667392193969],[-58.15673710586325,49.34154775440273],[-58.13607576944397,49.33581945384874],[-58.15017617952548,49.324360721704494],[-58.11866355878426,49.3057211883459],[-58.0855926735963,49.30957628987633],[-58.033631465608046,49.333342448071654],[-58.003856742026315,49.3143784973219],[-57.990618010428804,49.292428588513964],[-57.98229866422749,49.28734360027205],[-57.935136729348486,49.28664352444972],[-57.89393841585874,49.281970726052634],[-57.84371071062778,49.294125895773846],[-57.81936016612817,49.29564251688325],[-57.81519038696291,49.31343868967836],[-57.73305194429781,49.31787954419573],[-57.74899574922063,49.30245809698441],[-57.75203659167738,49.29173483558918],[-57.716867648457836,49.290898577990134],[-57.6723386053302,49.312488515264896],[-57.619650922020554,49.31070245108319],[-57.6140831002836,49.30713010421379],[-57.56894677969792,49.31279294495952],[-57.536131607531914,49.328468979515776],[-57.51411499726366,49.33359349238156],[-57.49702447793461,49.347538003961],[-57.487705183033434,49.34500332274373],[-57.44922727045467,49.36754643425183],[-57.4263746925108,49.37407010369111],[-57.42354463344568,49.392683840580695],[-57.45632849851753,49.396379729932654],[-57.45314781490587,49.41619035255631],[-57.48854879379193,49.420769052988796],[-57.50773956447426,49.40595118740952],[-57.52167444861165,49.4074412102006],[-57.52900845689522,49.44393908674213],[-57.50692212545852,49.463414000339895],[-57.50525006736513,49.47844657995985],[-57.56208315578694,49.496992548553465],[-57.56215351217155,49.509638941800304],[-57.58733026041325,49.51975710691054],[-57.57990279522064,49.53884839738105],[-57.60322506059636,49.556109377410536],[-57.62587568575232,49.55172564702876],[-57.63701880796967,49.56268087739074],[-57.63451237593064,49.574799746199496],[-57.65998680794625,49.5794988809705],[-57.68598946866275,49.59553913192388],[-57.68023790608841,49.621027880878636],[-57.66304388397251,49.61992717158094],[-57.64248192932762,49.627556103763354],[-57.632309987856885,49.64693955465658],[-57.67998865560284,49.659358962067714],[-57.69725594132887,49.692338905256435],[-57.68416313326556,49.69406948743738],[-57.65314639181177,49.68957347789561],[-57.63778131987858,49.691202597273964],[-57.61935407549755,49.70052954473126],[-57.598279088278325,49.698784359059516],[-57.589626671719905,49.72441207406056],[-57.61388301462559,49.71928314076356],[-57.6170929454366,49.74330527752323],[-57.66625459282783,49.743912430034456],[-57.670798474996694,49.75582899253494],[-57.65102899112705,49.77816123995984],[-57.61516656217552,49.77589846406152],[-57.59450089227767,49.78519234913651],[-57.54841551915969,49.78749964299465],[-57.513957439953245,49.78219856740242],[-57.50331184757174,49.80461165694456],[-57.51653053640944,49.82213719305423],[-57.51285766115831,49.82828915326636]],[[-57.919218604793066,49.7307215792192],[-57.918956541182766,49.71219879782396],[-57.949671309459795,49.71203941821999],[-57.94413129898679,49.72674421750283],[-57.919218604793066,49.7307215792192]],[[-58.12483287522857,49.4923775098411],[-58.10556928911763,49.46349285093047],[-58.14330555188735,49.46044838598869],[-58.1462764479894,49.47629719987845],[-58.12275737227654,49.48572070362557],[-58.12483287522857,49.4923775098411]],[[-57.88188665158515,49.54294571934462],[-57.86161866421162,49.536747267551576],[-57.85323359416713,49.5224783610308],[-57.87691571113311,49.51347831642667],[-57.899166838447755,49.525039103787485],[-57.89632070529953,49.54050422563204],[-57.88188665158515,49.54294571934462]],[[-57.925122027561294,49.48013859780734],[-57.90057938620872,49.45507840269372],[-57.91716063675108,49.45585530770766],[-57.93748964170883,49.48010133046515],[-57.94104270233396,49.48675181371495],[-57.92298116169757,49.515559087767876],[-57.9122187184447,49.50453129604898],[-57.92829060340858,49.48472809833035],[-57.925122027561294,49.48013859780734]],[[-57.91499779391432,49.60762678320794],[-57.89380822134785,49.59776999123041],[-57.89576552752168,49.572933017483486],[-57.902803988804855,49.56689789926278],[-57.934266317620704,49.58171132291078],[-57.9188280969119,49.59345270533362],[-57.95296890749426,49.601310902470075],[-57.95365751163821,49.61735331717749],[-57.91499779391432,49.60762678320794]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-57.87965072385938,\"lat\":49.5309475621535},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1009\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"1009009\"],\"csd_name_en\":[\"Division No.  9\",\"Subd. A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Division No.  9, Subd. A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-57.68938239654126,50.01145850263081],[-57.67549704720446,50.02759561177114],[-57.67615833799935,50.068484534052075],[-57.700393290256386,50.068738978620644],[-57.710607599982715,50.04530210040118],[-57.732242800581915,50.01051790507959],[-57.68938239654126,50.01145850263081]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-57.69738334246124,\"lat\":50.03685460031156},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1009\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"1009017\"],\"csd_name_en\":[\"Parson's Pond\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Parson's Pond\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-57.26347958456491,50.61895649264338],[-57.24630789906388,50.613321604167304],[-57.20877270330604,50.62675911146001],[-57.20008839685123,50.62487121135471],[-57.17226919927274,50.63350770580899],[-57.157638912427075,50.631525303277634],[-57.17688367900262,50.602161895794694],[-57.19299588091885,50.60473939708966],[-57.204437094486586,50.594642610243156],[-57.222157021970204,50.59453549675459],[-57.23443332000409,50.58331529865891],[-57.22474578369686,50.578121991095685],[-57.18373222988856,50.578389748054676],[-57.143442320170635,50.57354630604384],[-57.12748284952744,50.64944183759191],[-57.198913606355234,50.6587079267207],[-57.26347958456491,50.61895649264338]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-57.18085950014063,\"lat\":50.617400583821},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1009\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"1009018\"],\"csd_name_en\":[\"Hawke's Bay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Hawke's Bay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.92498543692364,46.26673793891864],[-62.944755473123905,46.262650585026684],[-62.952064735941796,46.28032858709315],[-62.98725681266916,46.274743289107526],[-62.99273097285849,46.263493394260685],[-62.98950993956512,46.24955187433887],[-63.01141576559987,46.24712713372578],[-63.02439341439065,46.27895592600771],[-63.03727520002195,46.289055083371295],[-63.07368023227371,46.2645421328024],[-63.089882332506505,46.250062992056485],[-63.08391979759765,46.248046024626696],[-63.070119703781785,46.223275802006086],[-63.04539833802273,46.228997135034824],[-63.035505834835064,46.21596613723309],[-63.019967433234186,46.2286635931015],[-62.97743188649161,46.236887887028104],[-62.971826450260714,46.22179855508868],[-62.995541851520045,46.20962946931466],[-63.01361727374212,46.21375433989144],[-63.00201608687778,46.197724852565145],[-63.009517027817594,46.171056965970315],[-63.00641849168595,46.14928855715737],[-62.97998975260992,46.15561815305421],[-62.96619408362007,46.170593012708785],[-62.97945783042007,46.19305187956755],[-62.95814339158409,46.206137089253716],[-62.96449958843973,46.219288197843326],[-62.96582949820843,46.240283409661075],[-62.94007420823557,46.2453406629093],[-62.9430205232212,46.25227208965791],[-62.92176413702297,46.25977999929029],[-62.92498543692364,46.26673793891864]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.006551517531406,\"lat\":46.2333085956319},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1102\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1102010\"],\"csd_name_en\":[\"Crossroads\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Fire District\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Crossroads\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.56041250267168,46.26912040687705],[-63.56675975723003,46.282036359390474],[-63.5940989471162,46.30770054130175],[-63.63459910621087,46.30130053530733],[-63.627994508496045,46.2828373597138],[-63.642814575916205,46.28160894420552],[-63.640106167436976,46.267557279190065],[-63.65318361124102,46.265020150418664],[-63.66217768821658,46.25437777205329],[-63.683495206544414,46.241215892260854],[-63.70124560231008,46.251502907457436],[-63.70216621687852,46.268515595371156],[-63.695925827031424,46.27666006216483],[-63.669117259276234,46.28194566151518],[-63.6699486143489,46.29092563412503],[-63.65179672450752,46.29968601979364],[-63.66704478107335,46.31051646339961],[-63.69092390639011,46.315185191211505],[-63.71681540519518,46.310363365028024],[-63.72983888200126,46.29398590497643],[-63.80241990030523,46.27521324397236],[-63.76986896938608,46.25106603746733],[-63.74911911858621,46.22954637254677],[-63.67909425231397,46.158540764417495],[-63.63017209427209,46.22315309543334],[-63.625481473622045,46.24408556165329],[-63.58637775214117,46.26531811188621],[-63.57987758643576,46.27729372883421],[-63.56041250267168,46.26912040687705]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.68364341952678,\"lat\":46.25095876589656},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1103\"],\"cd_name_en\":[\"Prince\"],\"csd_code\":[\"1103002\"],\"csd_name_en\":[\"Borden\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Fire District\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Prince\",\"csd_name_fr\":\"Borden\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.37208545071139,47.17562912947654],[-53.33718135955441,47.19678218837838],[-53.372106045636286,47.24809465686833],[-53.45760156884304,47.18971817080722],[-53.553560108707636,47.127881711792156],[-53.53939348778459,47.12541159828531],[-53.49914981235491,47.13036050087562],[-53.47222001405855,47.15257449528153],[-53.459717698071465,47.16682299734236],[-53.411353479180384,47.17465140293001],[-53.39708339654479,47.16418898319774],[-53.37208545071139,47.17562912947654]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.424473786002444,\"lat\":47.185971313987444},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001197\"],\"csd_name_en\":[\"Mount Carmel-Mitchells Brook-St. Catherine's\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Mount Carmel-Mitchells Brook-St. Catherine's\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.0543523890177,46.848386270367065],[-54.11687857301265,46.84835792266048],[-54.133714875476045,46.8153465024028],[-54.1129762015556,46.80959780961183],[-54.10281651177589,46.79812380881088],[-54.08834539532817,46.80934760851322],[-54.07232049343739,46.807750196545975],[-54.0625098701106,46.78928161808961],[-54.037844181034394,46.84839405058987],[-54.0543523890177,46.848386270367065]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.08485017592287,\"lat\":46.826641240675585},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001225\"],\"csd_name_en\":[\"Point Lance\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Point Lance\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-52.915094320135765,47.553395382768],[-52.927636603027935,47.542310322443825],[-52.95539715959178,47.53680044041881],[-52.980865983897836,47.51895846265336],[-53.002669730162474,47.51488291966],[-53.02352589918312,47.50619556401851],[-53.064999179850204,47.478298513251154],[-53.08511306047878,47.47119262023801],[-53.097995834353476,47.457778299751695],[-53.09582454345113,47.45678594225937],[-53.09345269639215,47.4359964892713],[-53.08485979820685,47.43333547272659],[-53.05331226318154,47.4503178068477],[-53.03652229867253,47.4500113114415],[-53.03786824632416,47.46352074865302],[-53.01215766938154,47.47623937184264],[-52.97619609661073,47.47058027689935],[-52.93191450894962,47.48059013668645],[-52.91684456657789,47.50696171211167],[-52.92205905436036,47.53004328996943],[-52.91037393907009,47.53238956190676],[-52.915094320135765,47.553395382768]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-52.995512915817244,\"lat\":47.49143593299475},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001485\"],\"csd_name_en\":[\"Conception Bay South\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Conception Bay South\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-52.896704189903666,47.58407940331354],[-52.915094320135765,47.553395382768],[-52.91037393907009,47.53238956190676],[-52.92205905436036,47.53004328996943],[-52.91684456657789,47.50696171211167],[-52.89310890297464,47.502693912516776],[-52.85435919467553,47.50982410878385],[-52.84442959165812,47.52599269031498],[-52.8218916053785,47.53570731184524],[-52.83752595943387,47.545010417734574],[-52.86407882267703,47.53743596654751],[-52.881628485009145,47.55800163516968],[-52.88445595634788,47.57041120683762],[-52.896704189903666,47.58407940331354]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-52.88363357227467,\"lat\":47.534024080945656},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001517\"],\"csd_name_en\":[\"Paradise\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Paradise\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.55244630263616,46.94148879134305],[-55.53991851441357,46.941837995891255],[-55.53432059619804,46.950573059508734],[-55.548983654109,46.954955592867826],[-55.55244630263616,46.94148879134305]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.544235669539766,\"lat\":46.94753777366181},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1002\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"1002011\"],\"csd_name_en\":[\"Lawn\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Lawn\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.88357159446137,46.882677878272595],[-55.84706691124517,46.87448789793782],[-55.83285720254213,46.86376049760511],[-55.79224620079658,46.862272693084805],[-55.77165689435089,46.870384886564636],[-55.73374748892106,46.87682515275625],[-55.7007949522992,46.92025008933218],[-55.66714060587059,46.92074400147014],[-55.71218186836497,46.96828517016944],[-55.8660252003261,46.89161909366743],[-55.88357159446137,46.882677878272595]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.768087545781725,\"lat\":46.90780091349526},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1002\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"1002012\"],\"csd_name_en\":[\"Lamaline\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Lamaline\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-58.99337062414878,47.59743909616785],[-58.97839699347937,47.582681095770624],[-58.96119898908276,47.583579300912305],[-58.936588897416684,47.5995602844427],[-58.94970863840472,47.606693590894416],[-58.99449422169148,47.60595879530162],[-58.99337062414878,47.59743909616785]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-58.96783909780928,\"lat\":47.596412696878126},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1003\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"1003032\"],\"csd_name_en\":[\"Isle aux Morts\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Isle aux Morts\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-58.460334193967256,47.94346059519912],[-58.482485303663616,47.962469674529146],[-58.50414424960414,47.969366649757745],[-58.51472983842669,47.960550646460746],[-58.4978652301952,47.94309748749886],[-58.516272756998184,47.91926616779478],[-58.633788238859054,47.89834305344616],[-58.65591774325223,47.868083325211444],[-58.671379548435276,47.868048412657245],[-58.69327349585172,47.87781053760625],[-58.69953179986238,47.89425262274566],[-58.73680126117009,47.89552401819284],[-58.74260437018529,47.88632127365524],[-58.719505100543465,47.87770360128105],[-58.738841960562134,47.867418337068486],[-58.74772536905944,47.8431239430465],[-58.735383999773966,47.822671179920754],[-58.73910022770012,47.81226593227503],[-58.753624963817096,47.811971467461326],[-58.77903849334734,47.79855852914463],[-58.78878518605909,47.7864713685376],[-58.81039460987871,47.79125539572852],[-58.83745970279496,47.7865646525747],[-58.85760856975605,47.7657083685669],[-58.850451021096816,47.744533270951564],[-58.834650346563755,47.715568754346336],[-58.83639230538266,47.7042897213184],[-58.81395975447739,47.695735900380484],[-58.79495243725518,47.68196165329513],[-58.79413759784249,47.66577121318068],[-58.818603379443225,47.65493199996145],[-58.82905145221653,47.62910789213158],[-58.85372329336205,47.61631311067081],[-58.8460532015917,47.60982770724313],[-58.843655214886866,47.55959472076065],[-58.525889344365055,47.56812206821586],[-58.53328005832682,47.642387833507755],[-58.53336894608311,47.659008726593655],[-58.55649254612085,47.67880755955867],[-58.563379471932365,47.700737847728355],[-58.53673923725601,47.726199048562634],[-58.53160629016767,47.744570588354065],[-58.520079546170365,47.761272776983716],[-58.4906833165237,47.7907294309893],[-58.49295008524074,47.798713911064056],[-58.4753360403998,47.81860683068677],[-58.451547739179304,47.83512027989698],[-58.442113958585125,47.860827216403344],[-58.442088810360424,47.90260789378531],[-58.44886800550128,47.92443219331405],[-58.460334193967256,47.94346059519912]],[[-58.68210570608609,47.6351182023389],[-58.6771960125053,47.61675229052744],[-58.69657240987891,47.61022159412854],[-58.70223645827977,47.63462872366491],[-58.68210570608609,47.6351182023389]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-58.650869978754486,\"lat\":47.73743022187632},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1003\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"1003042\"],\"csd_name_en\":[\"Division No.  3\",\"Subd. J\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Division No.  3, Subd. J\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-58.131208422657906,48.84745299711442],[-58.15903909721999,48.84375990327447],[-58.17487439391645,48.84794149898636],[-58.18307091525726,48.87434529965157],[-58.200218207353274,48.88362421963037],[-58.214304361555826,48.88096815591953],[-58.260572494384526,48.89146154201455],[-58.2879165707895,48.90224206634579],[-58.33899154228435,48.895753194147645],[-58.357951084270255,48.912408845855516],[-58.41126496971161,48.93028888522037],[-58.41642052476918,48.94607822379097],[-58.433702873672274,48.96072761643826],[-58.45046175147191,48.944829707870035],[-58.50577429510796,48.94115890311238],[-58.583459396910214,48.94731815357199],[-58.61850951532768,48.9241995847577],[-58.69397286266422,48.89101372178762],[-58.72690346237796,48.77192576114615],[-58.74804741552513,48.689103660326694],[-58.762252864669215,48.6476358190152],[-58.783780779728566,48.618809212784406],[-58.8002420401154,48.60581968471069],[-58.82240685120297,48.57553765976317],[-58.830163187237304,48.5469694011209],[-58.8443882131559,48.52659850339315],[-58.85594878095849,48.5217636701042],[-58.86542278109996,48.493747254325285],[-58.701404478765106,48.48556335883991],[-58.664501435933374,48.48637681477962],[-58.59153075348633,48.49319520175053],[-58.52330004107411,48.49415284623296],[-58.46440226860092,48.4874846013074],[-58.43349046108725,48.49039097643986],[-58.449477907169275,48.51016721027537],[-58.46663583873781,48.51790039146262],[-58.48885483634539,48.51254797841004],[-58.50820549869521,48.49898228564129],[-58.531500599731295,48.50050052886014],[-58.53771219527592,48.50928569231235],[-58.5231235893825,48.52684300722758],[-58.53433119445431,48.53937511134693],[-58.558588987688125,48.531214992292405],[-58.58413791064397,48.54266819235071],[-58.60131241723678,48.54377989147373],[-58.643777987038376,48.544272509056725],[-58.6730580896529,48.55075158765328],[-58.72794679775836,48.554496950909844],[-58.73595201711787,48.54374099825908],[-58.77594458530228,48.531141600286674],[-58.82478528167395,48.53098310892706],[-58.786092721350144,48.56248306662605],[-58.72265743608245,48.559560032399425],[-58.71367681462887,48.56137639368884],[-58.676374302150684,48.611220595479914],[-58.62690740336699,48.59409529031898],[-58.638519023424074,48.57772807764957],[-58.61258256395808,48.57800127152994],[-58.55751673791273,48.578278902369675],[-58.48438904574295,48.54332115157556],[-58.468664308988735,48.556446663791974],[-58.40824189198653,48.55610025069995],[-58.40784479901835,48.553152511449994],[-58.383841398715575,48.57192611236888],[-58.37088266257271,48.569767769825766],[-58.35817059068776,48.58649040572712],[-58.33649176862178,48.58347840546457],[-58.31835911863886,48.59841316804445],[-58.312877372998166,48.61017640049866],[-58.29780078224592,48.61790827307016],[-58.307951724785944,48.629058861705495],[-58.29980027126887,48.63754217547376],[-58.27969222555885,48.630750278999336],[-58.28113196835101,48.64972936749185],[-58.25576275019755,48.66030052490587],[-58.243979694739004,48.67437583106155],[-58.23879139496276,48.69518805385794],[-58.258810858871826,48.69257095766636],[-58.25433557915961,48.71750609563667],[-58.230811451267584,48.71877120650336],[-58.22300761256586,48.70978549496379],[-58.197051801347286,48.71890982440272],[-58.18867487160929,48.727814468158876],[-58.16858750019221,48.750151204352015],[-58.112980287168455,48.79416607902059],[-58.107973363157896,48.81295326792193],[-58.131208422657906,48.84745299711442]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-58.494621049565154,\"lat\":48.72750175059163},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1004\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"1004016\"],\"csd_name_en\":[\"Division No.  4\",\"Subd. D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Division No.  4, Subd. D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-58.08431899963862,48.98116280155522],[-58.09886521859625,48.995823697929396],[-58.14069289451779,49.018950688475215],[-58.144820311902194,49.03651468921456],[-58.162409190235266,49.06079998500991],[-58.17578120688864,49.056004101715914],[-58.188828090398324,49.06336940105961],[-58.23924097494922,49.06595060190033],[-58.24220399158892,49.05973805184612],[-58.25264557983595,49.04936170059494],[-58.24595420350167,49.03557490042301],[-58.11013803732556,48.95058059839392],[-58.08431899963862,48.98116280155522]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-58.168396722818486,\"lat\":49.01613781656633},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1005\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"1005020\"],\"csd_name_en\":[\"Humber Arm South\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Humber Arm South\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.90160984533659,49.95053838378173],[-54.891698149010246,49.818466966605975],[-54.887618874146675,49.749930734815905],[-54.890003040571216,49.734692052421515],[-54.88187311480233,49.698653669115245],[-54.87288386829938,49.6877864542784],[-54.73627026897157,49.58140688791518],[-54.69543671296431,49.59687867239018],[-54.66377270420172,49.66034280304126],[-54.48344487021153,49.79012560525334],[-54.48068883458695,49.82818475126258],[-54.47398050356954,49.927807472338074],[-54.472858591069276,49.964294684348104],[-54.50208410464096,49.96569282664106],[-54.67313460707546,49.95914525556102],[-54.90160984533659,49.95053838378173]],[[-54.785220590455694,49.679316990256986],[-54.77254408439636,49.653654795526805],[-54.76133599057325,49.653595803613406],[-54.760186705898896,49.672037911324075],[-54.74468621278815,49.67531370352712],[-54.736788394503144,49.66470018444123],[-54.702880723548326,49.66397329507285],[-54.72156708348895,49.64324398623893],[-54.72211621454919,49.62916662322427],[-54.71479877262443,49.605760999947314],[-54.76678401104188,49.6182500938217],[-54.75657831371309,49.63801318929309],[-54.80243103560168,49.665460704864465],[-54.80959418404033,49.677324006939934],[-54.802589104131116,49.6902625881569],[-54.785220590455694,49.679316990256986]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.69890995699908,\"lat\":49.81573105553665},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008026\"],\"csd_name_en\":[\"Division No.  8\",\"Subd. I\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Division No.  8, Subd. I\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-56.04620842599108,49.69279519003422],[-56.07695539680828,49.69351899812149],[-56.08260391864013,49.7049334987143],[-56.05120032057984,49.706953790352784],[-56.05148189686894,49.71956789658046],[-56.160996800803,49.71936253886013],[-56.16330284626271,49.698665784840706],[-56.165121471442625,49.67816821502213],[-56.04620842599108,49.69279519003422]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-56.115738127047,\"lat\":49.702214714169564},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008072\"],\"csd_name_en\":[\"Middle Arm\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Middle Arm\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-56.72230161150232,51.30969279958579],[-56.74727537069161,51.289921327871774],[-56.72937901322978,51.27356839898921],[-56.68270219312486,51.309652301917716],[-56.72230161150232,51.30969279958579]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-56.718942195198416,\"lat\":51.295351861646594},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1009\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"1009024\"],\"csd_name_en\":[\"Flower's Cove\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Flower's Cove\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.5069697304083,52.016530281609306],[-55.50681552962257,52.33054593078097],[-55.50574483719098,52.56430227130659],[-55.50624521966715,52.736611001382265],[-55.50569116495161,52.89781234531508],[-55.50570792520605,53.05930980840335],[-55.5052465811133,53.18930817826281],[-55.57443453952187,53.3353581045785],[-55.593389320476845,53.43308316498306],[-55.616034807016995,53.509894279635795],[-55.67261565685632,53.62190260378609],[-55.7140347252652,53.66850678779516],[-55.90938510315892,53.8435499835999],[-55.98432114708446,53.92344690007663],[-56.08853571593673,54.03825373790296],[-56.22620534275395,54.17770777048865],[-56.389166934993845,54.17831997541557],[-56.51584866884923,54.17003179636143],[-56.74130584014802,54.15342613029037],[-56.965090786920406,54.137763602584045],[-57.19992548279533,54.104370322711375],[-57.29255097585228,54.07668251171231],[-57.32980634749326,54.0483875614214],[-57.3738557853522,54.02315373904762],[-57.406303703598404,53.991784826796035],[-57.49270169175837,53.99802818418755],[-57.52282642274744,53.99575959287206],[-57.550103173117506,53.997939869776445],[-57.58678686896622,53.99250879343604],[-57.61190622130393,53.97853275207435],[-57.67257739384651,53.98177204231003],[-57.71255173992075,53.99382327472869],[-57.761669272368685,53.9976565119102],[-57.80845789394623,53.988764381857024],[-57.79518996304305,53.97273292211481],[-57.8041740519737,53.96547630910292],[-57.84350395830009,53.958928068417535],[-57.84943703852462,53.944666201710405],[-57.915907805213365,53.94362235966077],[-57.96149490953078,53.95084708286106],[-57.96659930850269,53.94322884910453],[-57.99349645062587,53.945663538773125],[-57.99564015756825,53.93009683124101],[-57.98841571029064,53.917203334853916],[-57.996039878934155,53.904533555663136],[-57.995152902231034,53.88445494989077],[-58.034949837250096,53.87557176164775],[-58.05380208312429,53.880148741726366],[-58.06718065664518,53.89022896799332],[-58.10707474612992,53.88036907467006],[-58.12730732294601,53.8928125245737],[-58.13732379818808,53.878512543366845],[-58.15226506399479,53.87776478368305],[-58.180340394099545,53.89241386912923],[-58.19208297938985,53.8856195181502],[-58.20301161059429,53.86867868079555],[-58.22638477581355,53.86023351330105],[-58.22088130425687,53.831208321462334],[-58.267455504819814,53.8270858004338],[-58.317804376793156,53.8267111644293],[-58.29044733798188,53.80545067436762],[-58.288268717079326,53.78991496379494],[-58.32474321599816,53.78328659530162],[-58.3606810839384,53.76193882853769],[-58.36829324701423,53.74486655163031],[-58.35595650719121,53.72781087788756],[-58.34246688848083,53.724633602378965],[-58.31422323013313,53.73901593814698],[-58.28859034900547,53.73804112618595],[-58.280683172733895,53.73087236984649],[-58.3187992609507,53.71744557868089],[-58.31563329008242,53.70206757323444],[-58.38282007840194,53.67160325429278],[-58.3970769454995,53.66126521208825],[-58.36408261307439,53.621324227166745],[-58.374254525279405,53.61007499440823],[-58.41644851071659,53.606690216414805],[-58.45264426718648,53.61622377591324],[-58.45073343105337,53.637698006283344],[-58.53066930391917,53.637171500041376],[-58.574030267215335,53.65893098008973],[-58.65862801859812,53.65866362157603],[-58.77298102867008,53.664291912857706],[-58.82062066816474,53.659404833614865],[-58.86389028708473,53.646157965284566],[-58.90852793608686,53.61940837348881],[-58.928230942015574,53.617758903785685],[-58.95969779634759,53.60295265685834],[-58.97302881550505,53.582989097320976],[-59.02017126865997,53.57495402632111],[-59.013089162456964,53.55739285765642],[-59.0423758752705,53.54821403645908],[-59.06766424579529,53.5242350570151],[-59.130630374960646,53.50197787928071],[-59.138979205501315,53.471565812105744],[-59.12109846455145,53.456736261188084],[-59.126335463731955,53.447754344415706],[-59.167477668992625,53.41205715897624],[-59.2266286251087,53.39440241137824],[-59.23305399541135,53.366793669404935],[-59.25742317422779,53.34523640134812],[-59.30672956030489,53.34134221311688],[-59.34614386593156,53.32971956834904],[-59.3478968976856,53.315683224928804],[-59.41353222945756,53.31163470582057],[-59.44456091615737,53.28014030184751],[-59.47020834924537,53.2935975963475],[-59.4964618050805,53.29507465211528],[-59.52863755924782,53.26834800638806],[-59.53874921315349,53.23912342605488],[-59.550265090626624,53.224969734644915],[-59.54601910810599,53.21382041264248],[-59.52208038879951,53.216032112440935],[-59.521452319052955,53.20535982472337],[-59.56086495929205,53.19518952860171],[-59.58933104684285,53.182815192336136],[-59.59141273187037,53.14558278253809],[-59.57487069162825,53.142482568978025],[-59.53311653188068,53.1508799865499],[-59.51071289616097,53.15845585320039],[-59.47763352829663,53.15222742697164],[-59.4816396296554,53.145297985911725],[-59.52836592441142,53.125450815568826],[-59.5355768984719,53.08798169504721],[-59.558289863833686,53.071281945965005],[-59.56338281249311,53.05353984442603],[-59.59002840643331,53.039985924678476],[-59.64731191719413,53.03283601170518],[-59.67184329638302,53.02472035600082],[-59.69783892153249,53.002970883599225],[-59.75247594608523,52.96756952574577],[-59.78546568162959,52.95335943860982],[-59.78650068164481,52.945302258995376],[-59.74888600929463,52.902294247966495],[-59.75150481384199,52.88556245184623],[-59.767203544051654,52.87560659267519],[-59.80172414614823,52.86473053531745],[-59.79768796770664,52.85177687351708],[-59.80506476207456,52.836242184649414],[-59.784915706832635,52.831573204562204],[-59.813479345174414,52.812877288948904],[-59.85034936362561,52.802692359902025],[-59.86498566136789,52.78272552874569],[-59.876276416738456,52.777999991677625],[-59.90814331517235,52.77761617463255],[-59.92323341860938,52.77265440307712],[-59.9367802226586,52.75125272399949],[-59.9593715050365,52.73404074196518],[-59.9108083185022,52.72948564556759],[-59.84798207331915,52.726278154190936],[-59.834617556911105,52.71657343191289],[-59.85515023981816,52.705246070667464],[-59.85542264462456,52.69860804089645],[-59.800844503819846,52.683696921879466],[-59.73735188145364,52.67634946859491],[-59.68979009466273,52.66061043958772],[-59.63677100965878,52.651355182376726],[-59.6345649870456,52.64595098516255],[-59.654657682017024,52.63065876696641],[-59.66474595748404,52.6131843857017],[-59.644712155330346,52.614904339671384],[-59.62800737979388,52.624643973512924],[-59.58944097487761,52.633282657458274],[-59.58584140813588,52.625184157685794],[-59.61094085961333,52.61880535916002],[-59.59266784541635,52.61008778214664],[-59.587057605567026,52.596477609816766],[-59.58481934553955,52.569868144444925],[-59.55767361278582,52.56149713454944],[-59.516095629821606,52.56323299080907],[-59.50722360940536,52.56724510305108],[-59.50907645233893,52.61084541013041],[-59.44196607841527,52.63414517599667],[-59.42227533787904,52.61744288286428],[-59.39245693350079,52.612633361119705],[-59.34789836551476,52.613683637799326],[-59.33150064764743,52.624115369623375],[-59.31278508074401,52.627200453429055],[-59.30005293804711,52.62065382776415],[-59.267220963147516,52.579454880907136],[-59.232809546159075,52.56053492021923],[-59.186850673225265,52.55163685192147],[-59.171105908137456,52.539823186675925],[-59.1675012858938,52.524670322497826],[-59.14684095440985,52.52349541250652],[-59.10873082330328,52.52741989472115],[-59.05950551896808,52.54463442831805],[-59.01922756050865,52.53403593942114],[-59.00218187324251,52.50822835014774],[-58.98912043408607,52.49664271218698],[-58.96900765466072,52.48865760292037],[-58.9369243320603,52.49483401984657],[-58.90534593565845,52.4898771817175],[-58.88933192958195,52.48191504205757],[-58.85564242382523,52.475699324193094],[-58.84247857176351,52.488446249791224],[-58.83622271699092,52.50787778260558],[-58.8100202926833,52.49496246740355],[-58.79854937741134,52.48391608274598],[-58.781623773517026,52.47913046703786],[-58.74655511525629,52.482702289589525],[-58.71751337379508,52.47152089243845],[-58.69105552815846,52.472053257042745],[-58.678046604796045,52.46748673484812],[-58.64128963008449,52.46363243681633],[-58.634713504881596,52.467110244948955],[-58.64743755298324,52.50040916572693],[-58.660033755693064,52.50936368052231],[-58.671619475482736,52.527274079110704],[-58.6655844477695,52.536737159957184],[-58.684799403226364,52.54875952205878],[-58.68983774324174,52.57670247338284],[-58.66667294585973,52.57979192389429],[-58.62991646668948,52.564888093306756],[-58.5935267002935,52.5662141061319],[-58.56862172411551,52.576356297411365],[-58.53008200990557,52.57816887900044],[-58.53511131892095,52.59380402575523],[-58.53132026839186,52.611755261750886],[-58.55071559625478,52.61706407494437],[-58.57736638356942,52.641800758555235],[-58.573885725975586,52.649400027787735],[-58.53006247498999,52.64055853401673],[-58.523766187008846,52.65372531314403],[-58.47373553589615,52.652259622151036],[-58.42561975584368,52.66747075413324],[-58.4205232184952,52.6732448551292],[-58.445783449054595,52.6859360502628],[-58.4521893368017,52.695763102540596],[-58.44295945459819,52.70891615109539],[-58.38643051062049,52.711960286412456],[-58.35791547708241,52.70656406213189],[-58.32198027189843,52.68678431153073],[-58.31235172893207,52.67731208406171],[-58.26056717561453,52.64593639126546],[-58.246078415916365,52.641549134038975],[-58.23852239700398,52.629510888288145],[-58.250949463551414,52.62002484952199],[-58.24377978898102,52.61191564870269],[-58.19818499292083,52.61225217891364],[-58.17739951215511,52.60535274101362],[-58.15305359866257,52.57668647806889],[-58.106606195052066,52.57489254825926],[-58.08379370585505,52.55004221423267],[-58.08436133540181,52.53380431349423],[-58.05478117253159,52.50804531242815],[-58.04686015699624,52.481402994213035],[-58.01723166856688,52.46568788656543],[-57.98214124203946,52.43975669997307],[-57.94622933756359,52.42072256052298],[-57.92032999392751,52.413647003830825],[-57.8656096381627,52.42350586101642],[-57.87192103541984,52.43668826399418],[-57.83611926321871,52.45478672835751],[-57.83537953446486,52.46795837951781],[-57.81877770710643,52.48249050791371],[-57.85353836397649,52.496330599373785],[-57.850261633195935,52.50655667673097],[-57.82475233402365,52.50671404266409],[-57.77963364168935,52.50052047912088],[-57.77107510592589,52.48460430399719],[-57.73150150623799,52.48128815041415],[-57.74146757407593,52.46291783136105],[-57.75818740491158,52.45086357658882],[-57.76689810795892,52.434619883020126],[-57.766268414756446,52.41907514180734],[-57.72200581141114,52.38396503227309],[-57.6936305957161,52.364637427051115],[-57.68123945265522,52.312218731481735],[-57.64442373634571,52.31400163211348],[-57.622095181582225,52.30735355002603],[-57.5698487716909,52.27366509349701],[-57.52315375196028,52.23409211790665],[-57.48500765157807,52.20485316286161],[-57.46738647868505,52.166691539113856],[-57.45159620413291,52.1512939556098],[-57.4200667955978,52.133037425762126],[-57.41438701301709,52.08728858364008],[-57.40285046634845,52.06998907098186],[-57.34055850244354,52.05126610449539],[-57.33012408373487,52.05526392907503],[-57.28751204726342,52.08436189109949],[-57.27086616849644,52.0928046792913],[-57.213905714556326,52.071795505905484],[-57.1806437526678,52.057267572410474],[-57.13415240946745,52.06201346470119],[-57.112916728394474,52.079033734594844],[-57.080792714124016,52.095924547446906],[-57.06897359925022,52.10741055129263],[-57.025330761963716,52.12099567345168],[-57.00857898720434,52.128902534406315],[-56.97871511288223,52.12623081949822],[-56.94716772376674,52.14689211631882],[-56.91044279913449,52.14792023069101],[-56.877999780137046,52.15491400990669],[-56.87286856750442,52.16243125712235],[-56.88040509254001,52.193874331056506],[-56.853519878189374,52.22632989356911],[-56.88095914672455,52.24814027196888],[-56.878865030760146,52.25155430179054],[-56.83220164198119,52.26396915461593],[-56.785300875831254,52.267629891027404],[-56.76875588693639,52.23654720400923],[-56.72536770099004,52.20678127517726],[-56.71022993215405,52.20217868290368],[-56.69306201486662,52.21428693612406],[-56.66536281214746,52.19989231643667],[-56.598034698407766,52.21569518806662],[-56.57515073949379,52.225301279428535],[-56.56223537281534,52.21665568595369],[-56.53077881700132,52.209125838063386],[-56.50603212140418,52.214280473013915],[-56.49085561133872,52.21205531334488],[-56.471765960770234,52.20096122504752],[-56.47776076067246,52.19028784923214],[-56.464771222772214,52.163232162267505],[-56.44395952655733,52.15851060872157],[-56.42508067563325,52.16125889706144],[-56.36153017021518,52.15156979764271],[-56.32345848189105,52.1505792426657],[-56.28261582287872,52.138024506972606],[-56.255836376802364,52.11063328556788],[-56.22191611114213,52.11127283670228],[-56.18714789302733,52.119462318360625],[-56.17652688436711,52.11582844710343],[-56.202081087946084,52.06667426028991],[-56.23109685149513,52.04784216403274],[-56.252214726786185,51.98637417793174],[-56.25464946613251,51.96920021693978],[-56.21929715976018,51.96411712545656],[-56.190151618580124,51.969231024971066],[-56.15484099940671,51.98503740384982],[-56.11455455273415,51.9788148017875],[-56.06211351396516,51.97752110742305],[-56.036201831902595,51.97914165016661],[-55.96707799644462,51.96036957917347],[-55.67627620645454,51.83000935632664],[-55.50697879685925,51.99785050853537],[-55.5069697304083,52.016530281609306]],[[-57.016921056724605,53.690500098155745],[-57.03413517553947,53.706767906420986],[-57.00880038238045,53.72090081783848],[-56.988314885901346,53.720705547713024],[-56.98254763891531,53.69889533715817],[-57.016921056724605,53.690500098155745]],[[-55.654014160557075,52.36950417242761],[-55.66295943810944,52.351895225419554],[-55.68501249039239,52.35484649697651],[-55.68078367686638,52.36415171719839],[-55.719841479378466,52.36921810586845],[-55.71941501688932,52.38527829236689],[-55.70298173944052,52.38542965042782],[-55.654014160557075,52.36950417242761]],[[-56.12969938862939,52.79604199521259],[-56.12110007633661,52.77442613621324],[-56.09762080165275,52.77564968764571],[-56.08388303182179,52.76741683968853],[-56.09825121177412,52.744474466215074],[-56.17481627600157,52.74613033726805],[-56.18636915004476,52.773325634451865],[-56.14638948625999,52.801999102978414],[-56.12969938862939,52.79604199521259]],[[-56.39063384632255,52.5424968477788],[-56.39232983291981,52.56430016526383],[-56.36252480087085,52.571594950154434],[-56.336018515190915,52.5721408698992],[-56.31380375893727,52.566327500436024],[-56.28295062317776,52.545697641160565],[-56.26680287184061,52.52665134946506],[-56.27415057761581,52.52067538191274],[-56.30911682324389,52.51462667077601],[-56.3818204835045,52.53358388896716],[-56.39063384632255,52.5424968477788]],[[-55.816726403158285,52.32224319519233],[-55.82000499240338,52.31030969385188],[-55.79835248084784,52.30114509937474],[-55.81110380836699,52.29262289113879],[-55.816100638452106,52.245190489971954],[-55.900668652563866,52.24610232219685],[-55.863449196265634,52.31635850083709],[-55.83902502225429,52.325663599079014],[-55.816726403158285,52.32224319519233]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-57.27472051311821,\"lat\":53.073215992579776},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1010\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"1010008\"],\"csd_name_en\":[\"Division No. 10\",\"Subd. B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Division No. 10, Subd. B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-61.84464723361824,56.39860537168778],[-61.91470958382638,56.4025856713892],[-61.956363276027865,56.420589765536434],[-61.981310302443575,56.40805706688736],[-62.00084632869156,56.419224070993955],[-62.04353054524361,56.42620697048947],[-62.07211723833834,56.41235025416945],[-62.08872211466956,56.42711319467313],[-62.16308664010317,56.36986527515853],[-62.17567898796815,56.32816613086624],[-62.16781786347658,56.32480064105048],[-62.17482811055824,56.301418367882476],[-62.08134833231288,56.29648563177202],[-62.06395595650374,56.290531089893435],[-62.043888153881646,56.30085891419008],[-62.00934806467837,56.29590780154024],[-62.0076805743309,56.29042010205474],[-61.97759915122445,56.277691494042664],[-61.94219573977586,56.27353571398491],[-61.90564513800328,56.29791840755185],[-61.9064195306562,56.339925077161496],[-61.86523331158945,56.35176061105806],[-61.8361283105265,56.374802889182526],[-61.84547256734788,56.38430166583202],[-61.84464723361824,56.39860537168778]]],[[[-60.3290657687961,56.00070569406727],[-60.36964226611213,56.093096605716305],[-60.421762325907785,56.23380897376925],[-60.478280581525105,56.38025721362897],[-60.534807301768836,56.47785616289774],[-60.68002500515611,56.20865355375109],[-60.90891538867019,56.13540418827577],[-61.21426088223342,56.051012106152456],[-61.29741180675067,56.046531408522355],[-61.35127270109947,56.05160228927047],[-61.42298024689342,56.04833604863085],[-61.584364889376914,56.05066042189903],[-62.93075114991265,55.99153960244041],[-63.167480226667095,56.01566408907964],[-63.37225069207194,56.12210093149881],[-63.47954201792283,56.12210075721093],[-63.74440130601736,56.13880252960493],[-63.86293385959009,56.212588881893645],[-63.89998348139195,56.19916214622151],[-63.95004446075236,56.18509815925706],[-64.00470346357241,56.17332580153813],[-64.01952820803488,56.159580488561964],[-64.03596331636594,56.15488104128318],[-64.02393427166736,56.14256452714373],[-64.0085504964132,56.13817637418703],[-64.01418494759447,56.12753785258443],[-64.00213330872648,56.10273030723638],[-64.01428132616586,56.10077174594592],[-64.03575981554779,56.082171900365886],[-64.03466693136215,56.07014457820914],[-64.01805375278508,56.06726349572194],[-63.972654489082785,56.086063942445676],[-63.95308818710756,56.088227135277265],[-63.92959718741967,56.111628798629575],[-63.88369470704723,56.137032386226764],[-63.856178766730615,56.13713617819896],[-63.83826689531684,56.12249882897265],[-63.88758056675952,56.092861413898234],[-63.882550282464415,56.08712972707368],[-63.83962808068701,56.10062507148954],[-63.83537491172285,56.08774482652694],[-63.81105063818524,56.08463485911865],[-63.82137289562877,56.06383905581359],[-63.83787376076453,56.04504493823178],[-63.77419947999828,56.05357674582417],[-63.731262805357915,56.07015237459752],[-63.68303386010491,56.05956759620545],[-63.690424939343025,56.043873458048196],[-63.63672129297658,56.023522706640605],[-63.60327625208504,56.031172694724546],[-63.577584038270864,56.0250557488593],[-63.52096581811787,56.03901859814111],[-63.4957718266385,56.04001295677831],[-63.44354512001461,56.02951640328752],[-63.46716172752018,56.01190143676785],[-63.47019454926221,55.998346711491926],[-63.48736042276337,55.98747859635931],[-63.50503655160924,56.001423916971376],[-63.5266491648541,56.00536860496527],[-63.563009934906255,56.00588593972135],[-63.598275710177376,55.982176071301495],[-63.627140336609585,55.973686671975166],[-63.63558975708871,55.9652699433622],[-63.66807243854894,55.96951189975602],[-63.68809197760204,55.9481768940115],[-63.733941897011455,55.928018481204504],[-63.750834820740764,55.933610951486216],[-63.77157878151335,55.92919584561637],[-63.79258279943667,55.9314617061811],[-63.809707661454524,55.92277468228912],[-63.849428229748895,55.91676579211196],[-63.8544416706948,55.910012437572476],[-63.82510995001712,55.904446957698546],[-63.84373495495595,55.88771059847835],[-63.8450986950057,55.87907340509989],[-63.81301610465445,55.86358458120437],[-63.7736125811711,55.856054024324905],[-63.766628212026006,55.83949730573198],[-63.752921214721155,55.83327566331789],[-63.755354681728605,55.82106161457647],[-63.77281241307445,55.8220357779257],[-63.77702275380527,55.80147876027373],[-63.76128270043467,55.79691837742662],[-63.7406921139576,55.78260861509528],[-63.71714346744385,55.780365209698324],[-63.705533196322705,55.78718842234032],[-63.675384568152076,55.79199680771766],[-63.679475556226905,55.77397240621655],[-63.674200580505335,55.75932511027032],[-63.7251386603534,55.726637914163426],[-63.71960193538171,55.70531243930271],[-63.72791069765969,55.695408813502624],[-63.71004328846712,55.688788869193175],[-63.72310299860798,55.67942369136809],[-63.751192389164395,55.67150833673129],[-63.75202273532916,55.65887243386055],[-63.73830269083988,55.65042444815696],[-63.715982406033035,55.65767367543237],[-63.668497502769114,55.652288106294],[-63.64369009546077,55.64157943712951],[-63.68022476282094,55.635220516902294],[-63.68774641912867,55.62547894691986],[-63.682687465313094,55.609052230828446],[-63.66264618030101,55.5988875333288],[-63.68147601259659,55.57565121431242],[-63.66493324783435,55.5675261851657],[-63.66547280641644,55.54598758279086],[-63.68403189235671,55.53775394779958],[-63.69148271059612,55.50871130631804],[-63.71644083078542,55.504406418794375],[-63.7259558852705,55.49300744083397],[-63.756121471240284,55.481652209666514],[-63.77547135873239,55.481709008537955],[-63.78059143480916,55.46546079698496],[-63.76738048151962,55.454935754738614],[-63.74935057623935,55.45486154562247],[-63.736706707830386,55.4382392864854],[-63.665397051740776,55.423050567053586],[-63.64452359492624,55.42328933921524],[-63.630931702960126,55.4302716495495],[-63.60398088977901,55.42849249491211],[-63.5783912285315,55.42045725449287],[-63.56634354114992,55.427118035850796],[-63.5490392135664,55.42076906498821],[-63.53437644801329,55.42745375175123],[-63.510657230194646,55.420274501566276],[-63.478566698584444,55.42920555833958],[-63.47097176789475,55.41977956169227],[-63.449078571702195,55.41197586559622],[-63.39303829326413,55.40478095937898],[-63.35179572877551,55.418359715612546],[-63.33695631777177,55.40987880576172],[-63.319786893706855,55.411806345210074],[-63.333660382034296,55.38393125548915],[-63.32484869471314,55.366046934573774],[-63.39983435457307,55.35454953391403],[-63.44224958007437,55.3440597306277],[-63.48201025507989,55.3497580212814],[-63.529947842386974,55.34185144097442],[-63.55192238432237,55.344887355575125],[-63.590728489065526,55.33319139464022],[-63.59083135910577,55.32072294175208],[-63.55387971659193,55.32097093452341],[-63.53268119221595,55.32549689840637],[-63.52255552153891,55.30986952980613],[-63.542063903023994,55.309667193943405],[-63.56950984855332,55.29765222375295],[-63.58788475095929,55.30264833432818],[-63.644078306040214,55.287775631412714],[-63.67947505774644,55.26688687858075],[-63.65269844584476,55.251911758436634],[-63.63050341071952,55.25617082630304],[-63.62250312360411,55.242608248076664],[-63.57814550756779,55.2364186210887],[-63.5633125153637,55.243403835120574],[-63.5474104727441,55.22546900279983],[-63.5084184603377,55.23210488951682],[-63.490362741418615,55.24445490457601],[-63.474806226410536,55.24535151311774],[-63.46263560822977,55.255264694074896],[-63.44589500936504,55.25142031946457],[-63.40256235171332,55.25776388166629],[-63.40283444256464,55.2490064571818],[-63.422663455790705,55.24303469583766],[-63.41252616281693,55.23363303876424],[-63.42581408249486,55.22623776981415],[-63.43187119056764,55.21134265552767],[-63.452611406637565,55.20194459822627],[-63.48992066338878,55.2003900637873],[-63.562918355718004,55.18761637836373],[-63.55595642279546,55.17285350087147],[-63.531385752701986,55.17459540964265],[-63.54154997279904,55.16009783879564],[-63.57340971327915,55.15575312979176],[-63.56513086017243,55.14026433699593],[-63.57369935312296,55.133051138332945],[-63.602296465066935,55.12873327717441],[-63.58607527317953,55.11585637567646],[-63.59160212504918,55.09532416955343],[-63.61136686487374,55.09080377554697],[-63.6028631167298,55.07636095812619],[-63.60648809048511,55.06119066255702],[-63.57343102824843,55.05398810135837],[-63.57549985644898,55.042247946226915],[-63.55639199955496,55.03444391185216],[-63.59598391499367,55.02140752462726],[-63.60612983872996,55.0083917199189],[-63.55875020215381,55.00005077871545],[-63.557534519589936,54.98993784907304],[-63.58691794965692,54.97375150622371],[-63.61253941344067,54.96901886058526],[-63.59752460162688,54.95939813058989],[-63.60452965905989,54.926251537414565],[-63.61229841199164,54.91993689431999],[-63.59144370903124,54.896592140822136],[-63.619586467169604,54.89954061846851],[-63.630723573488616,54.909200950102104],[-63.66128281597812,54.89995248827373],[-63.6938050038198,54.909948605213884],[-63.696418668033374,54.92533918570743],[-63.71599498792675,54.92554819998152],[-63.75190029630253,54.94230884124239],[-63.78431369531703,54.947832353836866],[-63.79171080105046,54.95589447574561],[-63.820518333412835,54.9479581026171],[-63.824099075512486,54.93426749703965],[-63.7995726793615,54.92613349191483],[-63.837733538879014,54.914512772167676],[-63.828965520492964,54.90113412553131],[-63.84621047485689,54.894825929882124],[-63.85265805153517,54.87605608131687],[-63.84903211347031,54.862611283806224],[-63.82786264568184,54.84732360217794],[-63.81716153848612,54.81692186417625],[-63.8718180437001,54.80047762087778],[-63.9036643910931,54.801078014092674],[-63.92400933987385,54.778407385784455],[-63.88974123488508,54.76835877318827],[-63.89581071322071,54.760121657100335],[-63.8606504320823,54.75274533715423],[-63.83283524656517,54.73636709409432],[-63.80295971264505,54.72564206587713],[-63.803894656122175,54.7167364954622],[-63.76894727778972,54.699843829445314],[-63.75971049155115,54.68558415558871],[-63.76309962507351,54.67368483786252],[-63.72384888614204,54.65979857940924],[-63.725344728905156,54.65177757997449],[-63.712625413683945,54.624950762484524],[-63.67053094883263,54.61909793209155],[-63.62352111651862,54.59549289186627],[-63.55287220519899,54.552275042213516],[-63.524303574631,54.543246373173126],[-63.48967401794656,54.52701398079458],[-63.486933200110805,54.503489719454244],[-63.47233531138652,54.4874922810472],[-63.43607490216836,54.47092771253335],[-63.41976319326969,54.446367330813466],[-63.37347687460953,54.445172363651444],[-63.337717798902396,54.44801220682604],[-63.3051585612172,54.43170809031317],[-63.27700941619793,54.43372221108631],[-63.235552323826596,54.44264770604698],[-63.20956788117728,54.43973994680483],[-63.18575986474852,54.408376986068454],[-63.18306634811881,54.38959045981893],[-63.154756619583964,54.37661770889462],[-63.16976714045606,54.366884652820254],[-63.17822513132873,54.3475739319298],[-63.20514450559866,54.33863648632284],[-63.205719448479066,54.33034075246321],[-63.17017374953459,54.314764186891274],[-63.157712812796476,54.300197676541515],[-63.18651093227896,54.2859226150759],[-63.2164600477371,54.28998840509108],[-63.225274468721054,54.27704026319433],[-63.161299525437805,54.26627075123559],[-63.133223577702616,54.266025969031965],[-63.099891881391656,54.24256881500008],[-63.075187476412786,54.23829304709734],[-63.04519517191144,54.248468500839984],[-63.023319953532,54.245127321891694],[-62.97668406486553,54.24717605185801],[-62.961416422987185,54.24424981302426],[-62.852595693929985,54.25317784011655],[-62.83798238857547,54.263679296805435],[-62.8393264398249,54.276189628250194],[-62.853046132972935,54.28745555716978],[-62.833815547514504,54.293688146831286],[-62.75615149695132,54.29848469913806],[-62.73639513858213,54.30529123928761],[-62.72997237530039,54.31576451690946],[-62.72576024663627,54.343611470958024],[-62.697902289432314,54.36133044180238],[-62.65498769693653,54.35486420208627],[-62.61660560338876,54.355189562581586],[-62.567669395985554,54.33437715666549],[-62.53526620503014,54.327759105992534],[-62.50616642407932,54.33812531688122],[-62.480243512935154,54.35809526240766],[-62.42985227782782,54.411769601210494],[-62.40791814893555,54.464694705169684],[-62.35958169655147,54.500900408989615],[-62.32289556746752,54.52201476700565],[-62.281473375637106,54.536007955301564],[-62.22817604397101,54.548183357090586],[-62.18966128579278,54.55430418539515],[-62.084078451552266,54.56107292674533],[-62.06128756802617,54.557874593763515],[-62.09657372316948,54.54148111191109],[-62.13840831961837,54.531460424222],[-62.15735068215448,54.51398509168068],[-62.137489479836375,54.514070959010574],[-62.08751225386979,54.52307904419983],[-62.03935371751113,54.52555706322319],[-61.998875315799744,54.52360516754094],[-61.93388678395673,54.50660364203866],[-61.92131945648402,54.51440219114611],[-61.904681490098845,54.51151755190089],[-61.86212213216095,54.49666259221118],[-61.805918056122515,54.5111953751392],[-61.73364833753621,54.50975786043934],[-61.71200348559539,54.50311135385642],[-61.70122680232306,54.4660178535473],[-61.676626015842096,54.46275291418002],[-61.62600194784276,54.46434233841927],[-61.57069792816312,54.470465232585845],[-61.50829611092002,54.48020704191837],[-61.47425286408658,54.468082338667834],[-61.463852514282095,54.45673967442832],[-61.462594250289406,54.41496515105412],[-61.410408668587166,54.38593458718958],[-61.36133061553977,54.37075143454397],[-61.32259786291851,54.37335381324671],[-61.280784745246365,54.39359440835299],[-61.25626413550876,54.39882470533654],[-61.207343869255936,54.39268368101142],[-61.184012617605894,54.40798124252801],[-61.159347572426725,54.416891187402484],[-61.1412548861484,54.40350671470111],[-61.0819439493873,54.40815062833957],[-61.045859741181204,54.40194027219866],[-61.02658929056481,54.40481367412062],[-61.00104199275277,54.396209890503556],[-61.003691019452624,54.38300521312835],[-61.02230536782877,54.3700949250126],[-61.02447434951178,54.354993604342276],[-61.053943498896956,54.349613243718416],[-61.07507882743395,54.33965016741782],[-61.062040208882884,54.328535728423645],[-61.00006158209725,54.319181215394806],[-60.97760990867992,54.323485389113],[-60.92952015749885,54.30938154391319],[-60.89162805294231,54.31657116710524],[-60.89098297332668,54.30101415560097],[-60.86420905834526,54.29946061772189],[-60.834375335806996,54.31681147862311],[-60.80291985593837,54.32391361285745],[-60.789958117255736,54.336757491207536],[-60.70975424803779,54.37614011467166],[-60.663174933870124,54.384897239732574],[-60.60964776350379,54.40048457810862],[-60.59074669528621,54.402842986468926],[-60.57729534425179,54.392252803267255],[-60.599491788615495,54.379285743346365],[-60.58219048385569,54.3750029666715],[-60.553795932537405,54.384900399277655],[-60.52718102207357,54.38934028564968],[-60.505363797133285,54.381561436783414],[-60.47521404406729,54.390520016357314],[-60.43735939314209,54.410592714772065],[-60.60003830222804,54.442609474966645],[-60.92366504504046,54.42336913490274],[-61.02855983487121,54.492479286162784],[-61.01394841315598,54.713213930644656],[-61.27908232034428,54.834506767519116],[-61.459788900924636,54.871010254643856],[-61.450551021916944,54.88110576876655],[-61.453034643776704,55.00245753841755],[-61.47711742844296,55.03978005205414],[-61.89419984042441,54.98932035552989],[-62.23353965932786,54.91967402120083],[-62.27035365539856,55.01067036945149],[-61.857868115539915,55.102918192902315],[-61.81556962451214,55.13664934052313],[-61.749359555710456,55.12620285256429],[-61.584268351851,55.17965562848292],[-61.59900558155438,55.2115039351743],[-61.538817010190854,55.27507947590793],[-61.48054923293441,55.282182349213905],[-61.392643234017775,55.33684899493045],[-61.21103818066201,55.50800460924568],[-61.15118555120229,55.58675962390346],[-61.05946131346948,55.772749086153354],[-60.99987461988099,55.81428187414619],[-60.86573492162637,55.847070791101686],[-60.834851184040595,55.84550380771021],[-60.76998138832491,55.85227480843787],[-60.3290657687961,56.00070569406727]],[[-61.10246208766731,55.94847678477869],[-61.08089922590079,55.93636089684274],[-61.0785139945708,55.916051695126924],[-61.08573420895522,55.90690750078011],[-61.07129411716221,55.892263193174635],[-61.09250419250448,55.886291683757136],[-61.1066110785033,55.89152240098951],[-61.134664895860396,55.88553420329124],[-61.15286901507001,55.88871729697957],[-61.16000242109616,55.901637791699905],[-61.13829398828278,55.904357901326705],[-61.13159171794436,55.911904504572696],[-61.15712840131546,55.91931829826737],[-61.169645175860396,55.91028690123926],[-61.23385342123649,55.90798729567344],[-61.25474882703766,55.93215091056955],[-61.18846724947204,55.93621940890246],[-61.14905851964397,55.93247345224005],[-61.10246208766731,55.94847678477869]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.35776335183061,\"lat\":55.28922413905008},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1010\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"1010042\"],\"csd_name_en\":[\"Division No. 10\",\"Subd. E\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Division No. 10, Subd. E\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.29584615051292,46.31732196968061],[-63.327314356216405,46.3326729072064],[-63.35444062358651,46.32629142338983],[-63.34745499707996,46.31337960090226],[-63.32146520064012,46.31551632602812],[-63.29245183866976,46.306458475600365],[-63.29473862991572,46.314075425084866],[-63.29584615051292,46.31732196968061]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.32475179182379,\"lat\":46.32045364031956},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1102\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1102035\"],\"csd_name_en\":[\"Darlington\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Darlington\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.23172575366797,46.21658165425177],[-63.241384753804304,46.245851153179565],[-63.25486719277599,46.24588278537018],[-63.28799596964828,46.24145437888437],[-63.281395110188825,46.214418447562934],[-63.29293291449424,46.20382090485408],[-63.27290218695446,46.19174302083012],[-63.24802825850533,46.222311796734964],[-63.23172575366797,46.21658165425177]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.26456483395443,\"lat\":46.2237746243908},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1102\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1102037\"],\"csd_name_en\":[\"Clyde River\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Clyde River\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.71443204391713,44.17177277664536],[-65.77602317460655,44.23080070137351],[-65.86834481050856,44.321954770167864],[-65.92957780363507,44.38009546368698],[-66.01473691682607,44.391852495146935],[-66.0118351430384,44.40748964477353],[-66.00000129291865,44.420170194134094],[-66.00000229973588,44.43078147760339],[-66.02956916237449,44.447972585568145],[-66.06234590198979,44.44840900819317],[-66.0724385398225,44.44259088426748],[-66.10270440186122,44.41484195156198],[-66.16857023888397,44.34958001342804],[-66.27139615910232,44.24319334058495],[-66.36587916451671,44.15174878352516],[-66.27449527998633,44.056598122092595],[-66.22201842880098,44.000665033378176],[-66.21775474826596,43.962928146287034],[-66.15701837957535,44.000082844974365],[-65.9994351162939,44.08039596410739],[-65.88874608522097,44.13807761613416],[-65.71443204391713,44.17177277664536]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.06683474328212,\"lat\":44.20853335024227},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1203\"],\"cd_name_en\":[\"Digby\"],\"csd_code\":[\"1203001\"],\"csd_name_en\":[\"Clare\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Digby\",\"csd_name_fr\":\"Clare\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.65829523819542,45.07080357155101],[-64.65422797459227,45.06398685886392],[-64.643683416333,45.06650740932035],[-64.64780098477254,45.07268140344077],[-64.65829523819542,45.07080357155101]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.65106425402566,\"lat\":45.0684583506481},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1207\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1207002\"],\"csd_name_en\":[\"Annapolis Valley First Nation\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Annapolis Valley First Nation\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.57400910101132,44.91003202968793],[-62.5521231169959,44.91328744706509],[-62.53944135382587,44.91611814440176],[-62.54111835212162,44.91787448806376],[-62.54822923848058,44.91554714092627],[-62.57400910101132,44.91003202968793]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.55173395384693,\"lat\":44.91428443352512},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1209\"],\"cd_name_en\":[\"Halifax\"],\"csd_code\":[\"1209038\"],\"csd_name_en\":[\"Sheet Harbour 36\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Halifax\",\"csd_name_fr\":\"Sheet Harbour 36\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.62596507161261,45.59946912211409],[-62.64324303349855,45.60599424515699],[-62.66371351011235,45.601365843341945],[-62.6679033167209,45.576157085063016],[-62.65254915468458,45.570902834998975],[-62.63307740543628,45.56505010554843],[-62.62534760240462,45.58668399747726],[-62.62596507161261,45.59946912211409]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.64571014848604,\"lat\":45.586670850544884},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1212\"],\"cd_name_en\":[\"Pictou\"],\"csd_code\":[\"1212014\"],\"csd_name_en\":[\"New Glasgow\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Pictou\",\"csd_name_fr\":\"New Glasgow\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.89209291332311,44.79863926851153],[-66.86303080978706,44.77903158865075],[-66.9104694681475,44.67640656159113],[-66.9135533290779,44.60807202478093],[-66.9110612217184,44.57881001091216],[-66.89456492429323,44.562390974599886],[-66.88206524451678,44.55868926281888],[-66.74483015014981,44.556272643533376],[-66.74329601149512,44.617453417719446],[-66.73891639463025,44.6320532888336],[-66.68969960758878,44.662322474837374],[-66.66966052216439,44.6769213286011],[-66.66820092152882,44.72417577220463],[-66.66960076309364,44.76254481588388],[-66.66793264908277,44.86365070467474],[-66.836533835635,44.83069868939013],[-66.89209291332311,44.79863926851153]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.78898468102413,\"lat\":44.706146489762254},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1302\"],\"cd_name_en\":[\"Charlotte\"],\"csd_code\":[\"1302052\"],\"csd_name_en\":[\"Grand Manan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Charlotte\",\"csd_name_fr\":\"Grand Manan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.30282158911827,45.610361092528066],[-67.34225932681697,45.60341906688504],[-67.34765878875344,45.5763674842686],[-67.30028220533976,45.585682776087324],[-67.29525793187594,45.5740328335829],[-67.27395601295677,45.58076770707445],[-67.30282158911827,45.610361092528066]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.31409078915247,\"lat\":45.592083169748605},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1310\"],\"cd_name_en\":[\"York\"],\"csd_code\":[\"1310006\"],\"csd_name_en\":[\"McAdam\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"York\",\"csd_name_fr\":\"McAdam\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.60275515994522,46.51185864353076],[-67.65346126133946,46.53763250328774],[-67.7043269218346,46.55615868228247],[-67.71269872800008,46.56447685146842],[-67.72277629768799,46.59500254975437],[-67.74114190102087,46.59265580531964],[-67.78787512998267,46.60115673483018],[-67.78422361331411,46.4189652041831],[-67.7229248403092,46.431218305175825],[-67.70936270364838,46.44162658572204],[-67.70016898107657,46.434848180502605],[-67.6715061263222,46.441263393642544],[-67.64034781536293,46.447411799300816],[-67.5962468089239,46.46133161525564],[-67.57582891141539,46.47955467102201],[-67.57886447480755,46.494566515005545],[-67.60275515994522,46.51185864353076]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.70711235156715,\"lat\":46.50175378969566},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1311\"],\"cd_name_en\":[\"Carleton\"],\"csd_code\":[\"1311031\"],\"csd_name_en\":[\"Wicklow\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Carleton\",\"csd_name_fr\":\"Wicklow\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.30036658865517,47.35864958576108],[-68.28633670899792,47.37333580548669],[-68.30304374570736,47.379095736846395],[-68.31895656018688,47.35952925867256],[-68.30036658865517,47.35864958576108]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.30241724207254,\"lat\":47.367890722180285},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1313\"],\"cd_name_en\":[\"Madawaska\"],\"csd_code\":[\"1313020\"],\"csd_name_en\":[\"St. Basile 10\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Madawaska\",\"csd_name_fr\":\"St. Basile 10\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.79396334078454,47.880457727694655],[-65.82669281888465,47.9005325489545],[-65.87517384413941,47.91042304540478],[-65.89938841185267,47.9212417980805],[-65.93816726603976,47.917402830875034],[-65.98926081107774,47.920168418706034],[-66.0155665488944,47.927933842694586],[-66.04732021095089,47.92756456921685],[-66.10229056797384,47.836495101961276],[-66.11599873435199,47.80484101266357],[-66.09691749919324,47.799937284638204],[-66.0872720235388,47.81639706605024],[-66.07055891637262,47.827515914344986],[-66.06173292974405,47.82309228283217],[-66.03859865210713,47.825702447825144],[-66.03275193533604,47.84439576877177],[-65.99413014320831,47.830364553021624],[-65.98428359157829,47.846183556626926],[-65.96723262144899,47.83927723548737],[-65.91529924755083,47.827501439415876],[-65.87325599369545,47.832744342933964],[-65.81689102710018,47.84890071678448],[-65.8074167695951,47.85561649436629],[-65.79396334078454,47.880457727694655]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.95766645719617,\"lat\":47.87252369668129},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1314\"],\"cd_name_en\":[\"Restigouche\"],\"csd_code\":[\"1314025\"],\"csd_name_en\":[\"Belledune\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Restigouche\",\"csd_name_fr\":\"Belledune\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.68867832078922,47.66535690004543],[-65.70628009526312,47.65645301019878],[-65.72318888560972,47.658344408288194],[-65.71080002869331,47.59210423336136],[-65.7152941829718,47.58576684842722],[-65.67933561847953,47.58315078781785],[-65.67001372674625,47.59606163978909],[-65.62114131815241,47.580337574604805],[-65.6111784478929,47.57252726163518],[-65.57681233327845,47.59639461723166],[-65.53320968753135,47.59861740715543],[-65.56617364369356,47.66913410191937],[-65.65455581340983,47.678713640944174],[-65.65647536125456,47.67793410206243],[-65.68867832078922,47.66535690004543]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.63269638121757,\"lat\":47.628365926040416},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1315\"],\"cd_name_en\":[\"Gloucester\"],\"csd_code\":[\"1315011\"],\"csd_name_en\":[\"Bathurst\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City \\/ Cit\\u00e9\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Gloucester\",\"csd_name_fr\":\"Bathurst\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.4968640180809,49.15154818170841],[-65.49698393464334,49.255861601798074],[-65.54771505567186,49.25564365656078],[-65.55665146263458,49.25902669024594],[-65.58875933674918,49.255023103693354],[-65.62828026997862,49.254800773309285],[-65.63789995609159,49.24926762503301],[-65.66597263295377,49.249574682128866],[-65.76539510053746,49.245850364776025],[-65.7471539428719,49.1236522071709],[-65.66824029802052,49.13014714218025],[-65.4968640180809,49.15154818170841]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.62979177986408,\"lat\":49.1946415818736},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2404\"],\"cd_name_en\":[\"La Haute-Gasp\\u00e9sie\"],\"csd_code\":[\"2404010\"],\"csd_name_en\":[\"Saint-Maxime-du-Mont-Louis\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Haute-Gasp\\u00e9sie\",\"csd_name_fr\":\"Saint-Maxime-du-Mont-Louis\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-65.5464936479324,48.16865298832876],[-65.53408193000712,48.18590406981831],[-65.56249789227289,48.190285960767085],[-65.57381969871413,48.2309840478295],[-65.5669994759236,48.23964149759695],[-65.64063206292498,48.25894495337589],[-65.65153155343698,48.24331106124867],[-65.67935119287301,48.251697362928454],[-65.70284331703986,48.218110196077305],[-65.722501099203,48.1823317843892],[-65.69560914757409,48.17377952659797],[-65.66878873726422,48.17363503809782],[-65.67603769207108,48.162049038285055],[-65.58329825016881,48.13917524965237],[-65.56949272610292,48.13558584316553],[-65.5464936479324,48.16865298832876]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.62700031282193,\"lat\":48.19760745815969},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2405\"],\"cd_name_en\":[\"Bonaventure\"],\"csd_code\":[\"2405065\"],\"csd_name_en\":[\"Saint-Alphonse\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Bonaventure\",\"csd_name_fr\":\"Saint-Alphonse\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.95743006041668,48.32836113628662],[-65.13564798814207,48.4440287338645],[-65.22415156547247,48.499739391266345],[-65.31078261312325,48.55688901516647],[-65.50119084206064,48.67903369204897],[-65.50168580981722,48.67922007782234],[-65.65738486687849,48.64057141074694],[-65.94908207496908,48.56781033341681],[-66.18566395505059,48.50643989695565],[-66.27984060838446,48.48323139309319],[-66.21922591126936,48.37675900493135],[-66.22239352458539,48.283889040395806],[-66.22519745446645,48.24174171057231],[-66.08524616701487,48.23271661325845],[-66.08541199838989,48.22969325498768],[-66.03947781958233,48.259191893304425],[-66.03918604780019,48.274549004922534],[-66.10009818245629,48.275837401036355],[-66.09696474926234,48.31045408178821],[-66.06958689615004,48.31537609098774],[-66.02570040768708,48.31050451193882],[-65.99962324599029,48.313914650729835],[-65.99073780208771,48.30766791274082],[-65.96982636850558,48.307675421636766],[-65.93347347391068,48.32830875653476],[-65.81349126387626,48.29194695847444],[-65.67935119287301,48.251697362928454],[-65.65153155343698,48.24331106124867],[-65.64063206292498,48.25894495337589],[-65.63428960496435,48.26807690062729],[-65.45040132862451,48.22431075699208],[-65.45998189438102,48.20962430584908],[-65.38286543365383,48.21829667338548],[-65.30436157874894,48.22570153560913],[-65.28856309494537,48.197710761903515],[-65.23331918788222,48.213435924367204],[-65.18692994119338,48.227081144566384],[-65.13324850569231,48.2428912829211],[-65.13526975116052,48.24599993006962],[-64.95754063104748,48.32828357599236],[-64.95743006041668,48.32836113628662]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-65.63060292866713,\"lat\":48.41762790992012},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2405\"],\"cd_name_en\":[\"Bonaventure\"],\"csd_code\":[\"2405902\"],\"csd_name_en\":[\"Rivi\\u00e8re-Bonaventure\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Bonaventure\",\"csd_name_fr\":\"Rivi\\u00e8re-Bonaventure\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.0034111082573,48.03056805207945],[-66.00400622624721,48.09646553517918],[-66.03039903267607,48.134962597664],[-66.08901708983018,48.165505520383],[-66.08541199838989,48.22969325498768],[-66.08524616701487,48.23271661325845],[-66.22519745446645,48.24174171057231],[-66.22603629514211,48.23538312265477],[-66.27526813533866,48.2364481881687],[-66.27842104748478,48.191620994206296],[-66.28403336802388,48.1917176611026],[-66.28537970103531,48.151802185328236],[-66.26132671314706,48.15136325682265],[-66.26392112924961,48.10141022538007],[-66.26403333128769,48.03710534469137],[-66.20947212112976,48.04543761206216],[-66.15566386633087,48.046353512304115],[-66.11824634364315,48.03924156855126],[-66.07916627177563,48.036650797503036],[-66.0034111082573,48.03056805207945]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.1537443533754,\"lat\":48.13111266296206},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2406\"],\"cd_name_en\":[\"Avignon\"],\"csd_code\":[\"2406013\"],\"csd_name_en\":[\"Carleton-sur-Mer\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Avignon\",\"csd_name_fr\":\"Carleton-sur-Mer\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.89223680979606,48.22023300576409],[-68.909657759341,48.23304075798967],[-68.92736585861665,48.22613756489465],[-68.94618876384743,48.22276077728078],[-69.00235442438593,48.186293514455805],[-69.00790594055078,48.18927838783062],[-69.04202324293159,48.171617951008486],[-69.05083001692694,48.17663031799553],[-69.08040639729289,48.16080583979613],[-69.07641730372899,48.15137774385467],[-69.04709449896795,48.1324396104711],[-69.0081018533431,48.10838711176011],[-68.9827352218514,48.105426963165726],[-68.96296564111894,48.11874027194885],[-68.9521476767996,48.133536481876206],[-68.8898384236833,48.17021260928165],[-68.88251591072901,48.165322749761295],[-68.85373845949975,48.18551790176056],[-68.84246712921885,48.187627433988354],[-68.89223680979606,48.22023300576409]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.96407969888992,\"lat\":48.16904789187585},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2411\"],\"cd_name_en\":[\"Les Basques\"],\"csd_code\":[\"2411050\"],\"csd_name_en\":[\"Saint-Mathieu-de-Rioux\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Basques\",\"csd_name_fr\":\"Saint-Mathieu-de-Rioux\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.95959280496925,47.60351668766843],[-68.95453920753339,47.60737591717973],[-68.9301441008996,47.6692304597474],[-68.91889993884858,47.6852461396359],[-68.93159728839028,47.702867073924736],[-68.96358928774215,47.709187744420404],[-68.98403726466337,47.71993632572151],[-69.01944365877758,47.73787964378467],[-69.04716279831699,47.733535183962644],[-69.05361713224659,47.69348048210469],[-69.04351410956265,47.67078324013196],[-69.09735573208688,47.6753034877347],[-69.07111599365359,47.651714600655374],[-69.03633025637023,47.630826051424144],[-69.0245590721849,47.62057783261498],[-68.97874253129243,47.58975040449157],[-68.95959280496925,47.60351668766843]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.99767450390624,\"lat\":47.66766526674904},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2413\"],\"cd_name_en\":[\"T\\u00e9miscouata\"],\"csd_code\":[\"2413080\"],\"csd_name_en\":[\"Saint-Louis-du-Ha! Ha!\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"T\\u00e9miscouata\",\"csd_name_fr\":\"Saint-Louis-du-Ha! Ha!\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.46996100825183,47.72252097731671],[-70.49338470127665,47.73824044958915],[-70.4862610833259,47.746969472675595],[-70.5294914877782,47.71677232721554],[-70.74829486934703,47.55201231513147],[-70.81765993274497,47.50003213615449],[-70.64281021858459,47.518470833079775],[-70.55695903076487,47.526414618397204],[-70.54304381923896,47.53096962665355],[-70.5057384619766,47.52304182842606],[-70.46755400830833,47.5255725962894],[-70.47336366547827,47.560819092900495],[-70.49247140434971,47.5618293832735],[-70.49487887924217,47.57395158701721],[-70.47116775928963,47.60176874041614],[-70.46889502726113,47.61139540645401],[-70.4874765085548,47.621436872058794],[-70.47147893390796,47.64589754950683],[-70.45068790623367,47.64982242643865],[-70.42489307022622,47.668407834001826],[-70.42555603507861,47.68323107664345],[-70.43430394952865,47.68716346993331],[-70.46996100825183,47.72252097731671]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.58179978860613,\"lat\":47.60079057250983},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2416\"],\"cd_name_en\":[\"Charlevoix\"],\"csd_code\":[\"2416055\"],\"csd_name_en\":[\"Saint-Urbain\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Charlevoix\",\"csd_name_fr\":\"Saint-Urbain\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.48474566473496,46.87858299107983],[-71.51038091781535,46.901222808219174],[-71.63271169304227,46.986930102574426],[-71.68135517062281,46.95441617657525],[-71.65658981522995,46.94868125842259],[-71.65717742521777,46.95879014874745],[-71.63786281115675,46.96482142182713],[-71.59743949836735,46.93672852114683],[-71.6112633613903,46.92720462545364],[-71.61709912562122,46.9074796604694],[-71.60796257890422,46.907832913518185],[-71.57117165337857,46.87897858327696],[-71.53130594256979,46.854425997263235],[-71.50994583972084,46.863206261876755],[-71.48474566473496,46.87858299107983]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.57056251779284,\"lat\":46.914586434181686},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2422\"],\"cd_name_en\":[\"La Jacques-Cartier\"],\"csd_code\":[\"2422020\"],\"csd_name_en\":[\"Shannon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Jacques-Cartier\",\"csd_name_fr\":\"Shannon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.48474566473496,46.87858299107983],[-71.47518351827864,46.87322752398108],[-71.45958229320648,46.88370166883339],[-71.4711270067732,46.89213030793316],[-71.43844632329885,46.91471778704411],[-71.43333121052214,46.911200285233896],[-71.40497280208453,46.92419050586397],[-71.44773413323095,46.96903878540788],[-71.42148344435415,46.98193772076818],[-71.63153725314554,47.19118397073826],[-71.81461940373283,47.112259403042984],[-71.73637217937585,47.059514089465004],[-71.63271169304227,46.986930102574426],[-71.51038091781535,46.901222808219174],[-71.48474566473496,46.87858299107983]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.59414884200939,\"lat\":47.04304278663511},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2422\"],\"cd_name_en\":[\"La Jacques-Cartier\"],\"csd_code\":[\"2422025\"],\"csd_name_en\":[\"Saint-Gabriel-de-Valcartier\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Jacques-Cartier\",\"csd_name_fr\":\"Saint-Gabriel-de-Valcartier\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.90094611771787,46.55880806069527],[-70.9232398650145,46.57778952463135],[-70.93742185776213,46.577382259751026],[-70.96096421177609,46.59367496951758],[-70.98247681971334,46.58585299489939],[-71.01022486118586,46.57265509474545],[-71.00606509903207,46.5636215860098],[-71.05350553366696,46.5451719735975],[-71.04753450828127,46.506324169624165],[-71.03360466870329,46.51424945685361],[-71.01792847864118,46.510336536420546],[-70.98888329411174,46.52892419221041],[-70.94735575111552,46.54686904287898],[-70.93495058538596,46.54632330179451],[-70.90094611771787,46.55880806069527]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.98539071753132,\"lat\":46.55198350956066},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2426\"],\"cd_name_en\":[\"La Nouvelle-Beauce\"],\"csd_code\":[\"2426040\"],\"csd_name_en\":[\"Sainte-H\\u00e9n\\u00e9dine\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Nouvelle-Beauce\",\"csd_name_fr\":\"Sainte-H\\u00e9n\\u00e9dine\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.23149298406987,46.291144003244376],[-70.20599620342236,46.2996017107613],[-70.20884880855826,46.3298393115795],[-70.19180981335614,46.34972020333765],[-70.1579030198737,46.36072609563989],[-70.23597249601126,46.41385395218664],[-70.33229866875935,46.34657210833403],[-70.34335628507083,46.33889771274305],[-70.32885983140149,46.32857485473173],[-70.29922596334018,46.307610842999665],[-70.27753992882458,46.32266290357666],[-70.23149298406987,46.291144003244376]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.24929358821771,\"lat\":46.35111522067401},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2428\"],\"cd_name_en\":[\"Les Etchemins\"],\"csd_code\":[\"2428040\"],\"csd_name_en\":[\"Saint-Cyprien\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Etchemins\",\"csd_name_fr\":\"Saint-Cyprien\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.1786193905622,45.81524588408618],[-71.23155972135035,45.84599197510813],[-71.24699331620621,45.83261951933241],[-71.26108226282905,45.84035856472012],[-71.27371688270897,45.82955116633982],[-71.30928108116339,45.85026692722432],[-71.34930099506325,45.870340355107935],[-71.35267068195948,45.8624532447405],[-71.33873205172995,45.84203007860893],[-71.34080439989414,45.80860655312716],[-71.34649921270778,45.79901279853959],[-71.37677938386295,45.77589036682367],[-71.39271536453774,45.768742816114845],[-71.31294038270663,45.7131719816175],[-71.3062981006832,45.708910909014655],[-71.24309639107256,45.76041811905267],[-71.1786193905622,45.81524588408618]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.29039254671633,\"lat\":45.78913572195135},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2430\"],\"cd_name_en\":[\"Le Granit\"],\"csd_code\":[\"2430110\"],\"csd_name_en\":[\"Stratford\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Granit\",\"csd_name_fr\":\"Stratford\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.01986882658338,46.22822230638443],[-71.04466857896917,46.25179374936309],[-71.0827148373166,46.287710960076076],[-71.09822350521301,46.27781046205401],[-71.12579588805681,46.2585265531462],[-71.11668396316871,46.25025934785187],[-71.13096407831078,46.24100836656377],[-71.12189659139473,46.232630068706534],[-71.1504891986313,46.213566829703076],[-71.12186859860437,46.18830782392306],[-71.13112152452474,46.17494373374249],[-71.09464176887411,46.141628584172736],[-71.07967473024931,46.1513358458692],[-71.08831545594552,46.159121595458835],[-71.07459565389672,46.16818813999522],[-71.06108872010273,46.1563050913142],[-71.04885730536176,46.165422154944665],[-71.03610731547124,46.15332997260436],[-71.01529302933243,46.15011291899261],[-71.0027442751311,46.15982247534631],[-71.01339101514547,46.16795284462359],[-70.978987356376,46.19016542643999],[-71.01986882658338,46.22822230638443]],[[-71.06177975525812,46.22208110568527],[-71.08979369781099,46.20314129410458],[-71.10871114406409,46.220519345843464],[-71.07277214270023,46.24329083303722],[-71.05413676606841,46.22726770733402],[-71.06177975525812,46.22208110568527]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.06910020491902,\"lat\":46.20760181016809},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2431\"],\"cd_name_en\":[\"Les Appalaches\"],\"csd_code\":[\"2431130\"],\"csd_name_en\":[\"Sacr\\u00e9-Coeur-de-J\\u00e9sus\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Appalaches\",\"csd_name_fr\":\"Sacr\\u00e9-Coeur-de-J\\u00e9sus\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.05329487396274,46.976248145998056],[-72.1168759606769,47.01859256908187],[-72.055578000076,47.06289721735111],[-72.07145902183146,47.07366671021753],[-72.27018710706402,47.2145546053361],[-72.2860067944508,47.19366793114354],[-72.2876321860077,47.15874831579564],[-72.37152567627578,47.10173213512893],[-72.43620450541016,47.057264109756304],[-72.35450126624517,47.00233529751076],[-72.27479445873425,46.94655659767416],[-72.1688536972231,46.87485233588551],[-72.16569596109775,46.872936531107996],[-72.15374754961529,46.87858927145969],[-72.13659888236572,46.89683354621315],[-72.13020232732262,46.91781395853905],[-72.120170017787,46.93181251352212],[-72.05329487396274,46.976248145998056]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.22713768590232,\"lat\":47.04091534116442},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2434\"],\"cd_name_en\":[\"Portneuf\"],\"csd_code\":[\"2434135\"],\"csd_name_en\":[\"Rivi\\u00e8re-\\u00e0-Pierre\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Portneuf\",\"csd_name_fr\":\"Rivi\\u00e8re-\\u00e0-Pierre\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.65076220440214,46.72416005826858],[-72.63202057946333,46.73756337907254],[-72.64028217620218,46.7440700421671],[-72.58804118120253,46.7822040296499],[-72.6580150178102,46.82909912393122],[-72.72632847125806,46.78276016876279],[-72.74514997007066,46.74903326572805],[-72.75462817479222,46.75570600136401],[-72.77332516473525,46.74270055384138],[-72.7516240178075,46.70687486090746],[-72.73329294636241,46.68525249214368],[-72.70387494954413,46.67703995036418],[-72.70474835067445,46.657752331843014],[-72.68784033053153,46.64855929599105],[-72.65704008629876,46.671649539132964],[-72.66566226075616,46.69444148506283],[-72.68200313392855,46.705763186955245],[-72.65076220440214,46.72416005826858]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.68499511479793,\"lat\":46.74567797297408},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2435\"],\"cd_name_en\":[\"M\\u00e9kinac\"],\"csd_code\":[\"2435040\"],\"csd_name_en\":[\"Grandes-Piles\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"M\\u00e9kinac\",\"csd_name_fr\":\"Grandes-Piles\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.60818548974342,46.28153433204657],[-72.58244406421234,46.29165944112964],[-72.56457204995816,46.303399951637275],[-72.46112822083946,46.38349795246134],[-72.44720433680773,46.38441999887641],[-72.40685445816132,46.395571916166986],[-72.46964245369102,46.43919841114801],[-72.48588585158689,46.449907798198105],[-72.52956308862811,46.42130314741299],[-72.5969995917984,46.4690587813507],[-72.67909976504596,46.411224340560985],[-72.6887157551648,46.42149901713966],[-72.7043604474526,46.42411452282278],[-72.73976082429245,46.40074645273973],[-72.69067104264937,46.36594220720127],[-72.70245264880495,46.35555749674223],[-72.74552628158418,46.35333456591027],[-72.77466573746919,46.329152338268095],[-72.77788429386646,46.316329996662205],[-72.69481719392188,46.252887044780785],[-72.60818548974342,46.28153433204657]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.611647571275,\"lat\":46.362868543873894},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2437\"],\"cd_name_en\":[\"Francheville\"],\"csd_code\":[\"2437067\"],\"csd_name_en\":[\"Trois-Rivi\\u00e8res\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Francheville\",\"csd_name_fr\":\"Trois-Rivi\\u00e8res\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.41215354341509,46.56610853260232],[-72.42904728471008,46.56143142283457],[-72.4924728098425,46.60745547045777],[-72.55147504325014,46.64567895719426],[-72.58491481783396,46.622869498070926],[-72.61525355749541,46.602798303173984],[-72.58342295864162,46.580645645679056],[-72.53564681839049,46.5477011559148],[-72.55387666505322,46.534995299323995],[-72.52935525586521,46.5176051761359],[-72.51107157665959,46.53047705971538],[-72.49919853131179,46.521671692785226],[-72.48317430808004,46.53562545198166],[-72.45349953465791,46.516632672016335],[-72.44106029607299,46.52613643681111],[-72.4095848211392,46.547858142770984],[-72.41215354341509,46.56610853260232]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.51358196850205,\"lat\":46.57595287286691},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2437\"],\"cd_name_en\":[\"Francheville\"],\"csd_code\":[\"2437240\"],\"csd_name_en\":[\"Saint-Narcisse\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Francheville\",\"csd_name_fr\":\"Saint-Narcisse\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.40724472479194,45.24160730518171],[-71.37822718214673,45.24386960007512],[-71.35930422869431,45.25049749718682],[-71.36338077642633,45.265732565188465],[-71.3344089056809,45.27407054891475],[-71.32223805899878,45.28150133436232],[-71.32104363182383,45.31008742794308],[-71.33931420782363,45.309862330005664],[-71.54852401144491,45.3078244392478],[-71.64440074078503,45.306493701189524],[-71.64336373035032,45.24743410397707],[-71.60557778559807,45.24796617817836],[-71.60511380575696,45.238594378488465],[-71.45908483874265,45.24018147538082],[-71.40724472479194,45.24160730518171]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.4898525171024,\"lat\":45.276019524383734},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2441\"],\"cd_name_en\":[\"Le Haut-Saint-Fran\\u00e7ois\"],\"csd_code\":[\"2441012\"],\"csd_name_en\":[\"Saint-Isidore-de-Clifton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Saint-Fran\\u00e7ois\",\"csd_name_fr\":\"Saint-Isidore-de-Clifton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.99923486429837,45.55044134876411],[-71.97514831952626,45.55449019974282],[-71.95842329803097,45.56972334003621],[-71.9980950274109,45.59133176491039],[-72.01789278474087,45.58064069664234],[-72.0345675389152,45.563833963528765],[-72.01102416963681,45.55131948764892],[-71.99923486429837,45.55044134876411]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.99702556491843,\"lat\":45.56853810105935},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2442\"],\"cd_name_en\":[\"Le Val-Saint-Fran\\u00e7ois\"],\"csd_code\":[\"2442088\"],\"csd_name_en\":[\"Windsor\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Val-Saint-Fran\\u00e7ois\",\"csd_name_fr\":\"Windsor\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.47491046745917,45.08369624796173],[-71.4518470112902,45.10238900275912],[-71.44861820583348,45.11229381115751],[-71.42951251606029,45.122461903063154],[-71.4357401910883,45.13964319309155],[-71.42361023087403,45.16021726408006],[-71.57024365927755,45.15965951880348],[-71.57182370873174,45.133313315826605],[-71.55703625009917,45.133634518230956],[-71.52985464443108,45.13437344650405],[-71.53055119762283,45.10617882141299],[-71.49062492545397,45.106694303796004],[-71.48986553489925,45.09412878178902],[-71.47491046745917,45.08369624796173]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.49207184255799,\"lat\":45.1330386290713},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2444\"],\"cd_name_en\":[\"Coaticook\"],\"csd_code\":[\"2444005\"],\"csd_name_en\":[\"Saint-Venant-de-Paquette\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Coaticook\",\"csd_name_fr\":\"Saint-Venant-de-Paquette\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.04026508132962,45.006474017549884],[-72.04068264378003,45.022668409488006],[-72.0774245884169,45.02207443629125],[-72.07713925898051,45.032705963715486],[-72.09641086840794,45.03321717294104],[-72.11535313554226,45.03251394336845],[-72.11516958854908,45.02166723335352],[-72.17278692530842,45.021565034388814],[-72.17239951282481,45.0058500067583],[-72.04026508132962,45.006474017549884]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.10455527821918,\"lat\":45.01627739905128},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2445\"],\"cd_name_en\":[\"Memphr\\u00e9magog\"],\"csd_code\":[\"2445008\"],\"csd_name_en\":[\"Stanstead\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Memphr\\u00e9magog\",\"csd_name_fr\":\"Stanstead\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.75991473967277,45.226304623731934],[-72.75887686130137,45.24846027588569],[-72.78635808103586,45.24880417836916],[-72.78693739409643,45.226463480467906],[-72.75991473967277,45.226304623731934]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.77303906962538,\"lat\":45.23753995403931},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2446\"],\"cd_name_en\":[\"Brome-Missisquoi\"],\"csd_code\":[\"2446085\"],\"csd_name_en\":[\"East Farnham\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Brome-Missisquoi\",\"csd_name_fr\":\"East Farnham\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.68394305495289,45.2530117603224],[-72.73183139683904,45.25501890930317],[-72.73084086795805,45.28543697247527],[-72.77852984461302,45.2866326648769],[-72.77889999197109,45.270548596495665],[-72.7993311263457,45.27057496500046],[-72.79873189697751,45.29966882699113],[-72.85072678095007,45.29898914130711],[-72.85262895054969,45.28654585549539],[-72.87625836333785,45.284440575077404],[-72.8823784095505,45.26455296945999],[-72.8823518294334,45.22580402199144],[-72.87674193609166,45.22593967885023],[-72.83681347184533,45.22624370777608],[-72.78693739409643,45.226463480467906],[-72.78635808103586,45.24880417836916],[-72.75887686130137,45.24846027588569],[-72.75991473967277,45.226304623731934],[-72.6867372473658,45.22469117452866],[-72.68394305495289,45.2530117603224]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.7971758192551,\"lat\":45.25674227200397},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2446\"],\"cd_name_en\":[\"Brome-Missisquoi\"],\"csd_code\":[\"2446090\"],\"csd_name_en\":[\"Brigham\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Brome-Missisquoi\",\"csd_name_fr\":\"Brigham\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.44862939086111,45.494262921037745],[-72.57933727194607,45.49811237101552],[-72.58011041896407,45.471606666979625],[-72.59396780111231,45.472062811205554],[-72.59768795308848,45.40391496310906],[-72.60236999252291,45.39315704354873],[-72.53524364459095,45.388201672233684],[-72.49123286949043,45.38511590738946],[-72.46180473011604,45.383128132288235],[-72.45467898644088,45.45087280634443],[-72.44862939086111,45.494262921037745]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.52350721487912,\"lat\":45.44146328984144},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2447\"],\"cd_name_en\":[\"La Haute-Yamaska\"],\"csd_code\":[\"2447040\"],\"csd_name_en\":[\"Saint-Joachim-de-Shefford\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Haute-Yamaska\",\"csd_name_fr\":\"Saint-Joachim-de-Shefford\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.11017816234494,45.07468573105097],[-73.11540819752314,45.09675853065103],[-73.16602405753878,45.09663353213586],[-73.1735536055214,45.09643635559204],[-73.17281080378177,45.05776311190463],[-73.1247233571887,45.05682530771992],[-73.11017816234494,45.07468573105097]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.14374960162618,\"lat\":45.07746164375634},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2456\"],\"cd_name_en\":[\"Le Haut-Richelieu\"],\"csd_code\":[\"2456005\"],\"csd_name_en\":[\"Venise-en-Qu\\u00e9bec\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Richelieu\",\"csd_name_fr\":\"Venise-en-Qu\\u00e9bec\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.32255709979334,45.69211327615377],[-73.39441886233278,45.74929499611441],[-73.42152940402507,45.74534153831462],[-73.43682344956035,45.726029308520914],[-73.46023899258195,45.70428545034692],[-73.47361694222866,45.700409259857224],[-73.48590927146279,45.68270920707346],[-73.48436648949327,45.658612290488335],[-73.47303265886285,45.64188240619771],[-73.44497799925176,45.657253289951825],[-73.38343937958125,45.60844852440139],[-73.3701279982186,45.62543847156249],[-73.35000522596874,45.63192325806702],[-73.33965138493808,45.645275957555725],[-73.34513496825777,45.650789876585854],[-73.33151373953329,45.672385764071265],[-73.33775073146802,45.677243888746474],[-73.32255709979334,45.69211327615377]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.40266866354389,\"lat\":45.68142415039685},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2459\"],\"cd_name_en\":[\"Marguerite-D'Youville\"],\"csd_code\":[\"2459020\"],\"csd_name_en\":[\"Varennes\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Marguerite-D'Youville\",\"csd_name_fr\":\"Varennes\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.72244016896616,46.41840523914225],[-73.8365478165219,46.49242412344725],[-73.88024812653734,46.52205455560891],[-73.89423840974924,46.512830174431706],[-73.93222693558513,46.53820339605416],[-73.9246185566499,46.55235726987458],[-73.938054088982,46.562047949887486],[-74.0425813004292,46.63216341006821],[-74.13006857919132,46.69342490669517],[-74.13256475757376,46.695010884352506],[-74.20214472611144,46.64801092224421],[-74.24809550231323,46.6188453174823],[-74.09141696226052,46.51244644396402],[-74.19051080641655,46.4485003744472],[-74.15127156747796,46.42282785625849],[-74.09912054795171,46.385979181897646],[-74.04008205358042,46.3493884510999],[-73.9786481643245,46.30986613351356],[-73.91367296279894,46.26608289224883],[-73.87720066388107,46.291250564171854],[-73.90488503389707,46.31011306353899],[-73.86037571837416,46.3403633184876],[-73.83136140803171,46.32017786019203],[-73.80656818426688,46.338419127876584],[-73.82154963215132,46.34852869000332],[-73.72244016896616,46.41840523914225]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.99458304435502,\"lat\":46.47340710178314},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2462\"],\"cd_name_en\":[\"Matawinie\"],\"csd_code\":[\"2462912\"],\"csd_name_en\":[\"Saint-Guillaume-Nord\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Matawinie\",\"csd_name_fr\":\"Saint-Guillaume-Nord\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.63073422963741,45.479292290698325],[-73.63891823320844,45.48352011118766],[-73.65084616853102,45.48888641887896],[-73.65621662971252,45.484401704368985],[-73.65607334754499,45.479156117199466],[-73.644235129077,45.47392787569143],[-73.63073422963741,45.479292290698325]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.64567271668999,\"lat\":45.48097585206925},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2466\"],\"cd_name_en\":[\"Montr\\u00e9al\"],\"csd_code\":[\"2466062\"],\"csd_name_en\":[\"Hampstead\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Montr\\u00e9al\",\"csd_name_fr\":\"Hampstead\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.67851487657781,45.345478488350714],[-73.75248349803599,45.39956440170637],[-73.75275863167087,45.41760462685477],[-73.76692787653458,45.41598355810014],[-73.78463560466739,45.411958126679885],[-73.80528954875854,45.39848100651201],[-73.80891626576269,45.394648505265096],[-73.77118859155307,45.367654250711645],[-73.77466912507819,45.34874206161983],[-73.8142675993693,45.31592073921065],[-73.81128906271279,45.3137355385443],[-73.7983811116072,45.30375930298502],[-73.7917857919399,45.31844645777436],[-73.76383084849697,45.32856235616893],[-73.75047419083178,45.34615485842708],[-73.70551695671534,45.341627894982786],[-73.68784851802126,45.33672341288014],[-73.67851487657781,45.345478488350714]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.75508925966892,\"lat\":45.36594761828741},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2467\"],\"cd_name_en\":[\"Roussillon\"],\"csd_code\":[\"2467050\"],\"csd_name_en\":[\"Ch\\u00e2teauguay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Roussillon\",\"csd_name_fr\":\"Ch\\u00e2teauguay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.16913515537227,45.09082173446127],[-74.17572425730343,45.09648612201883],[-74.19382579848681,45.08884107569199],[-74.17873934295415,45.07687548363475],[-74.16913515537227,45.09082173446127]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.18024541840705,\"lat\":45.08760286232902},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2469\"],\"cd_name_en\":[\"Le Haut-Saint-Laurent\"],\"csd_code\":[\"2469055\"],\"csd_name_en\":[\"Huntingdon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Saint-Laurent\",\"csd_name_fr\":\"Huntingdon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.38951873909745,45.02709515515947],[-74.3034877541115,45.074945314768335],[-74.22307539911749,45.122719990289994],[-74.30760479545867,45.19277087257986],[-74.32038089497728,45.186936521324],[-74.37761462642344,45.15376489348417],[-74.41964089758027,45.14106022196876],[-74.44167199607352,45.13081282079901],[-74.46558429473376,45.100527072923484],[-74.38951873909745,45.02709515515947]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.34902698557235,\"lat\":45.11152909766693},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2469\"],\"cd_name_en\":[\"Le Haut-Saint-Laurent\"],\"csd_code\":[\"2469070\"],\"csd_name_en\":[\"Saint-Anicet\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Saint-Laurent\",\"csd_name_fr\":\"Saint-Anicet\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.80891626576269,45.394648505265096],[-73.80528954875854,45.39848100651201],[-73.82130135935473,45.400758320427364],[-73.86849179133957,45.40515335228108],[-73.89409368460575,45.40963179301858],[-73.93437792981406,45.40057878247299],[-73.94622128416852,45.375726006907435],[-73.95816683818093,45.38321579086584],[-73.97646713415025,45.37555452687658],[-73.96721007970328,45.34495248599647],[-73.96322028231185,45.34287042150774],[-73.94430918123257,45.33734196489706],[-73.91737462306324,45.33671829687123],[-73.88668017601579,45.34116249283528],[-73.8519555612985,45.357149819349836],[-73.82577634012614,45.37748597196705],[-73.80891626576269,45.394648505265096]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.89772157508729,\"lat\":45.373407285091076},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2471\"],\"cd_name_en\":[\"Vaudreuil-Soulanges\"],\"csd_code\":[\"2471065\"],\"csd_name_en\":[\"Notre-Dame-de-l'\\u00cele-Perrot\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Vaudreuil-Soulanges\",\"csd_name_fr\":\"Notre-Dame-de-l'\\u00cele-Perrot\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.45932158629684,46.35794105762184],[-75.44323610621146,46.36352660052933],[-75.4156935818084,46.37966371034149],[-75.4340089827601,46.39868191535608],[-75.42764273631283,46.42974156525687],[-75.44309594161028,46.438191068655144],[-75.45935695200826,46.43941336376171],[-75.68213737934336,46.43823632308419],[-75.68404854250772,46.37176718323636],[-75.59921388063373,46.371344923053],[-75.59908935217554,46.33373300334054],[-75.5347709563792,46.33370609520086],[-75.50686224719104,46.354176921518885],[-75.45932158629684,46.35794105762184]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.55207672798596,\"lat\":46.39530483789527},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2479\"],\"cd_name_en\":[\"Antoine-Labelle\"],\"csd_code\":[\"2479022\"],\"csd_name_en\":[\"Saint-Aim\\u00e9-du-Lac-des-\\u00celes\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Antoine-Labelle\",\"csd_name_fr\":\"Saint-Aim\\u00e9-du-Lac-des-\\u00celes\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.94314540568242,46.31366691579651],[-74.94388281873572,46.3501602273012],[-74.94347218157728,46.47565253364053],[-75.03160123271873,46.472339995092796],[-75.07160737568934,46.47250389072126],[-75.07524972412858,46.46447956295528],[-75.09528886243532,46.464585927562304],[-75.09594842169753,46.44467130186882],[-75.23288333115715,46.44429622672109],[-75.23242274291742,46.401749565467576],[-75.21254951231357,46.40191433543653],[-75.21347340034288,46.373286013968624],[-75.23215733175729,46.37336333604272],[-75.23359483830366,46.31097599709752],[-75.03546419247462,46.31072011001505],[-74.99766877951765,46.310751772002504],[-74.94314540568242,46.31366691579651]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.0793328208217,\"lat\":46.38568222570957},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2479\"],\"cd_name_en\":[\"Antoine-Labelle\"],\"csd_code\":[\"2479030\"],\"csd_name_en\":[\"Nominingue\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Antoine-Labelle\",\"csd_name_fr\":\"Nominingue\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.5077422923379,47.50275399238262],[-74.53859059935833,47.51004380565026],[-74.55557210541845,47.5241927449207],[-74.56062241311717,47.53735000389782],[-74.58262888883222,47.54359400198839],[-74.61531355856438,47.57610782791748],[-74.63003541353592,47.58609379235723],[-74.69855291533125,47.63342619863564],[-74.7129294775685,47.64233772076808],[-74.88863101004227,47.76085464423986],[-75.16608199741277,47.761819149529565],[-75.39249972658149,47.76193092954543],[-75.0940821195337,47.562460921436355],[-74.9152019272659,47.44169460220723],[-74.63246743794015,47.24884609096202],[-74.63024033905407,47.248082194448216],[-74.61822639471185,47.25089609468453],[-74.60484440396857,47.2871618945677],[-74.59237368145237,47.288918798924605],[-74.58329548586326,47.304684390235124],[-74.56146076765951,47.32440268529168],[-74.55468360414663,47.32298770075513],[-74.52916551162245,47.36121739059039],[-74.5284528877433,47.374276302544864],[-74.5136412014114,47.406396507561475],[-74.4964509999377,47.42584259036213],[-74.47263348459487,47.44035888885765],[-74.45076270527849,47.46406768670153],[-74.50374437851403,47.50000491604031],[-74.5077422923379,47.50275399238262]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.85702851664247,\"lat\":47.55429937304068},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2479\"],\"cd_name_en\":[\"Antoine-Labelle\"],\"csd_code\":[\"2479910\"],\"csd_name_en\":[\"Lac-Bazinet\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Antoine-Labelle\",\"csd_name_fr\":\"Lac-Bazinet\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.92376779043866,45.64546924355962],[-74.92353358286903,45.6700851336276],[-74.96637553172343,45.66762783337372],[-74.96587461079314,45.660930778175434],[-74.9659789456711,45.64167903194225],[-74.96071575742164,45.63025602814902],[-74.94921690222819,45.64018775790995],[-74.92376779043866,45.64546924355962]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.94609529281952,\"lat\":45.654105398402685},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2480\"],\"cd_name_en\":[\"Papineau\"],\"csd_code\":[\"2480010\"],\"csd_name_en\":[\"Montebello\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Papineau\",\"csd_name_fr\":\"Montebello\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.39232376221706,45.972690758460246],[-75.40733497716485,45.972404181579435],[-75.57438974782826,45.97180842510253],[-75.58849397565983,45.9527607863504],[-75.59591863851199,45.92680114571316],[-75.59022450606788,45.91881775838184],[-75.61402867802283,45.90773368950355],[-75.62098096148192,45.88858273776096],[-75.64929281048965,45.86727540417289],[-75.65298802843053,45.841049823301354],[-75.64116811542917,45.83390703587377],[-75.55836017349897,45.83931484449293],[-75.5392963385731,45.8441218683483],[-75.51060208109234,45.84595348269022],[-75.39229802651414,45.85246744628423],[-75.39232376221706,45.972690758460246]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.50808677376183,\"lat\":45.90358054401079},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2480\"],\"cd_name_en\":[\"Papineau\"],\"csd_code\":[\"2480140\"],\"csd_name_en\":[\"Val-des-Bois\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Papineau\",\"csd_name_fr\":\"Val-des-Bois\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-77.00371361301552,47.14546061841584],[-77.16728672728206,47.14489639454384],[-77.43365642989953,47.144981917031124],[-77.43169474487827,47.28913107892812],[-77.50329560029331,47.28967928415753],[-77.64641484305714,47.2892173614715],[-77.64710264670289,47.26949866896632],[-77.90742304439308,47.26902009483545],[-77.93121710396355,47.26968759768388],[-77.9011348939892,47.242585985861886],[-77.87089009246628,47.24270637066065],[-77.85837230878704,47.2362821090951],[-77.85015630348653,47.17748290045463],[-77.85518600777723,47.17189999287054],[-77.84837800675975,47.1562284013145],[-77.85360879830723,47.14720660497127],[-77.84262759218129,47.127418695836184],[-77.84647469885661,47.10488341043977],[-77.83125138800762,47.0861695051125],[-77.8279444046148,47.06015519190554],[-77.84501838230972,47.039723594653594],[-77.84644489682921,47.02162439762676],[-77.83488659584992,47.00598940348145],[-77.84534151287176,46.98502280736294],[-77.84190579707416,46.969085698049945],[-77.8427087034219,46.94077401034232],[-77.85119561622619,46.9397923937506],[-77.87313521160031,46.90449959406719],[-77.8876266912984,46.8866917954258],[-77.8795455178431,46.88319100070517],[-77.8818884089365,46.86354149529483],[-77.89280931673953,46.85776829590761],[-77.88318959971116,46.82176408646491],[-77.85857159359573,46.82419119511744],[-77.83798459856182,46.81694870083046],[-77.82351861895053,46.81702689770807],[-77.83735640690173,46.79055119863492],[-77.83804780556143,46.77405239802952],[-77.82860678786626,46.76554369746646],[-77.8323860040288,46.75314738849222],[-77.82900329219882,46.733214287603104],[-77.81929438892904,46.70585088690125],[-77.83773858251928,46.69604123409504],[-77.83295652423068,46.683175188966985],[-77.85929026315257,46.660463694284395],[-77.85668699433232,46.641343784717684],[-77.78545641802204,46.60244018762163],[-77.77434368998588,46.58407096882974],[-77.78939039016223,46.570988840438005],[-77.77811013291132,46.54572239846611],[-77.76866710686839,46.534637764562596],[-77.78383491120104,46.523838946704394],[-77.76106095277352,46.51197979917054],[-77.75942622391936,46.496043561973124],[-77.76470348075428,46.47332266322634],[-77.77635986178412,46.452852674264946],[-77.75987119121234,46.440414007914285],[-77.76559553331434,46.43042268633502],[-77.7417472997602,46.40488963557347],[-77.76999440149756,46.38767802875693],[-77.77394384236645,46.373484365867014],[-77.80238123086481,46.364450528627685],[-77.826397444805,46.32262501103659],[-77.83646498911514,46.31748217334933],[-77.84246587193162,46.286655012904475],[-77.85368412599058,46.27734836117725],[-77.84812236038326,46.247348020587424],[-77.85588063989603,46.23245032038769],[-77.85138496962131,46.22425867013997],[-77.7285081402401,46.36883434333221],[-77.56574588601252,46.304600856214115],[-77.57026029759541,46.29898025387477],[-77.39542612726414,46.21592138311428],[-77.19251108047189,46.12905356916827],[-77.09570232991956,46.089371894838955],[-77.00587921607918,46.054694267473565],[-77.00591087726295,46.16492981056624],[-76.93204472563922,46.16496418262847],[-76.81904519696356,46.163566171584364],[-76.62705991993904,46.16388611681549],[-76.63016693598703,46.024422882639044],[-76.45050731452075,46.022912282512614],[-76.31937172249994,46.024767742207274],[-76.31887229307713,46.172413266967816],[-76.31749704481742,46.26586799710916],[-76.34318334432038,46.28345709506152],[-76.36295690115517,46.2846360272187],[-76.3937108849702,46.259083127040256],[-76.40783501476294,46.255301074568614],[-76.43453646603596,46.26176410244376],[-76.45509600163032,46.24879915064022],[-76.48000683712803,46.24168853409608],[-76.49899969515297,46.243837229353915],[-76.52409970663405,46.25246493680306],[-76.55310540935626,46.28872826485565],[-76.59289032958623,46.31575541357173],[-76.59390551275717,46.32565089683565],[-76.57621453938214,46.33051036867985],[-76.55214346635152,46.325836987727506],[-76.5042365681395,46.34470447981236],[-76.51357674413995,46.38268149457814],[-76.53229860716223,46.39929883876255],[-76.51980941862543,46.415470354814005],[-76.5438230350224,46.42791545713378],[-76.55541775580127,46.44617082666934],[-76.57470745862054,46.45203472377967],[-76.59911714756699,46.473210329007905],[-76.61493432073026,46.50006443585],[-76.65950881310106,46.5151241396434],[-76.6610082569825,46.52067869282777],[-76.64205239338034,46.54385630899878],[-76.65681455672998,46.570321814835694],[-76.67882072187327,46.580530773676266],[-76.66320020781234,46.59193726352408],[-76.67323742105509,46.60339056055248],[-76.67369078915615,46.628243028503775],[-76.6176778120533,46.63289196338021],[-76.61171819559843,46.645805556494466],[-76.6304682533892,46.652099917938294],[-76.64883644044625,46.664217957731644],[-76.66272876213507,46.66749722365778],[-76.70005350024823,46.64790611987108],[-76.72496766175448,46.655119513846735],[-76.740845050155,46.636478307646186],[-76.75952611042246,46.65484483628833],[-76.7822363330656,46.643045827475504],[-76.7968589475329,46.64021876328704],[-76.79525190244922,46.709605595548794],[-76.79905735909811,46.80319600730345],[-76.79578172773205,46.92434202290366],[-76.79677029762588,47.0000511216771],[-76.99987223788054,47.00000016125413],[-77.00371361301552,47.14546061841584]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.21415377614157,\"lat\":46.6370806651105},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2484\"],\"cd_name_en\":[\"Pontiac\"],\"csd_code\":[\"2484902\"],\"csd_name_en\":[\"Lac-Nilgaut\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Pontiac\",\"csd_name_fr\":\"Lac-Nilgaut\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.90728639755451,48.792852772608974],[-78.94968868395648,48.82337446222689],[-78.94967824155985,48.821816057159076],[-79.08021321969116,48.82160401846853],[-79.08047488597641,48.7925348538164],[-79.1574537535461,48.79264881534883],[-79.15797434884878,48.763592160229116],[-79.22141331271588,48.763539580925],[-79.23533275504201,48.73426614683369],[-79.18985263848151,48.73433837759051],[-79.18987466913538,48.70494653917622],[-79.10152609925603,48.7046434427956],[-78.90637383325792,48.70498071247032],[-78.90728639755451,48.792852772608974]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.04373370623784,\"lat\":48.75646918644118},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2487\"],\"cd_name_en\":[\"Abitibi-Ouest\"],\"csd_code\":[\"2487058\"],\"csd_name_en\":[\"Macamic\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi-Ouest\",\"csd_name_fr\":\"Macamic\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.04719990485987,48.4301728879327],[-78.22398512919831,48.42995488257144],[-78.22383277879278,48.29784800118293],[-78.22364895713459,48.25853253264593],[-78.11209681492188,48.2578738716048],[-78.09153214611963,48.27037251883346],[-78.07443586190502,48.28740043329655],[-78.07104626529502,48.30264787314283],[-78.08683713014716,48.331046529692316],[-78.09894450247147,48.345952331298264],[-78.08446317989608,48.361116595314954],[-78.08813926922474,48.37051011299055],[-78.04426416297557,48.400035602012885],[-78.0417315220744,48.41558951877377],[-78.04719990485987,48.4301728879327]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.14813114150073,\"lat\":48.34856507782273},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2488\"],\"cd_name_en\":[\"Abitibi\"],\"csd_code\":[\"2488045\"],\"csd_name_en\":[\"La Motte\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi\",\"csd_name_fr\":\"La Motte\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-71.99904689136564,48.49861017350852],[-72.04015920050361,48.59154438208403],[-72.10218300628503,48.730786583250165],[-72.3198002339741,48.67829198696127],[-72.30724708784793,48.65187412585041],[-72.29560176161043,48.61077967688799],[-72.27078122822921,48.590777979703425],[-72.22504122025116,48.5858201769184],[-72.21210763626112,48.559117398003075],[-72.18970160151122,48.512780083357555],[-72.16293537138871,48.51698603227221],[-72.1589489539355,48.493622771914396],[-72.1431040906315,48.48690320751177],[-72.13303589744226,48.505791395248224],[-72.09049918336169,48.50571267916902],[-72.09086275788654,48.500189541689444],[-72.00208230116372,48.45883648219565],[-71.97940311767273,48.454045270881934],[-71.99904689136564,48.49861017350852]]],[[[-72.93816325984992,48.90521551389958],[-73.05924467653837,48.95948182280196],[-73.07082719113286,48.97785097132272],[-73.06701855500764,48.99877654828923],[-73.10028295477188,49.01025384854287],[-73.10135705027159,49.03426325892281],[-73.11321664919866,49.04839856434897],[-73.11593852452533,49.07846240040413],[-73.12139998333924,49.09253441365044],[-73.12931002175908,49.13714123507661],[-73.14202452230323,49.151138488892954],[-73.16088776770636,49.16177774441286],[-73.19128325458394,49.17111727868177],[-73.20527648010052,49.16667816396792],[-73.21801562367521,49.18439531463812],[-73.23239961130506,49.1937807190781],[-73.25554161556684,49.19601512280571],[-73.28226439765048,49.187885817979],[-73.29609382224945,49.20115211533155],[-73.31247179685278,49.20010029941859],[-73.32215808066572,49.1915405731381],[-73.36112760124573,49.20466301562899],[-73.36365221609468,49.26051406636062],[-73.34317262221734,49.30522079827349],[-73.39368947801225,49.339703472891195],[-73.4017826283614,49.35792416578247],[-73.39053054478258,49.375388207988046],[-73.37872851154216,49.40680542216812],[-73.38144741151031,49.416090384191946],[-73.3803877635442,49.46363936935406],[-73.37117743737412,49.48638520130344],[-73.35128734820488,49.503977293334586],[-73.33854815520009,49.528541089225676],[-73.35888311499986,49.54795747621103],[-73.36575371019234,49.57044656784829],[-73.39058098341022,49.55959337300891],[-73.41148333146438,49.56712015812349],[-73.44207203402418,49.55836301045915],[-73.45613747754157,49.53746385731708],[-73.47530703756219,49.54482988968054],[-73.46160683978033,49.55975722400675],[-73.45761262058276,49.57620965833312],[-73.46178033875164,49.587682179825904],[-73.45736979817627,49.60422040030738],[-73.46240256313904,49.63871684231673],[-73.484277136014,49.64462743170552],[-73.47408761398155,49.662884561958336],[-73.48242928353459,49.68014278233082],[-73.4717058824097,49.70005749831274],[-73.51202351222103,49.7166841909589],[-73.53282208529573,49.732586585749225],[-73.56223399282386,49.73432798721282],[-73.57387200812985,49.74261150100131],[-73.57164489223825,49.756657994379],[-73.58088549088099,49.763126000509274],[-73.57052940457797,49.78183549249341],[-73.58991820044606,49.798537607349175],[-73.57887289811575,49.80609869561678],[-73.57370208584538,49.82274560803371],[-73.55721670764271,49.83269058711375],[-73.56455870888514,49.84489749891561],[-73.5653872829037,49.871592899291606],[-73.5577903067716,49.89407580433311],[-73.56258569260382,49.910509804673374],[-73.58008077912923,49.90653380088207],[-73.59875877981143,49.91738120567261],[-73.6199238811807,49.92243239645503],[-73.6591163981177,49.9062185029617],[-73.66894958342138,49.91139270527299],[-73.68680490755459,49.93437461173769],[-73.67637378785629,49.98086759755359],[-73.68521440828255,49.98821770270213],[-73.67944350123751,50.003934686551226],[-73.66653769843087,50.00744259288113],[-73.65876758632628,50.02462701012633],[-73.81532390963926,50.02605224317392],[-73.82180947146635,50.01573762622886],[-73.83969888368937,50.010173950313096],[-73.85339131436433,49.99820089030267],[-73.8696634306133,49.97009998626449],[-73.89242901026304,49.957265322532145],[-73.89601167534344,49.94083689223781],[-73.90925089831065,49.92154948675485],[-73.91276471230532,49.896054810459034],[-73.94047181529983,49.86600390423932],[-73.95809037397635,49.84119203633596],[-73.98499671031728,49.83099427050348],[-73.99043190199998,49.81857315469112],[-74.01610254226989,49.80181971537835],[-74.07184711660153,49.7848621161618],[-74.08606009310067,49.769592495269734],[-74.0920882306861,49.74658000963269],[-74.10017872997282,49.7344708060612],[-74.12319247590088,49.69241928009993],[-74.1438647139373,49.67899883803508],[-74.17733251958106,49.67668906533109],[-74.19480550209904,49.65623681030462],[-74.1987527896926,49.64324551956459],[-74.19190437558822,49.62716334492866],[-74.19319026151658,49.61316954577334],[-74.2117211633782,49.59861203115065],[-74.22146955442581,49.58329559970138],[-74.24949205018117,49.57099421505125],[-74.25268920142155,49.54403492419027],[-74.26561782619864,49.527301423232764],[-74.26032451266768,49.5119822276867],[-74.27574613915489,49.504706670967664],[-74.29680143036299,49.48601448431944],[-74.31097496877868,49.479039939152386],[-74.33142585096478,49.47866467086296],[-74.3280011772519,49.49021550223511],[-74.34993169691616,49.502030334541736],[-74.36252369733009,49.495016632985326],[-74.3675421142407,49.47792842894722],[-74.39299008039369,49.46914172673275],[-74.37865625158999,49.45133926619838],[-74.3801336366401,49.44241290152692],[-74.41179046861733,49.421547013866906],[-74.41240578592084,49.37503689867337],[-74.39908833221483,49.3663717268447],[-74.42420897611471,49.34195276728321],[-74.43025299092974,49.3255810473935],[-74.4148764872484,49.31496423163595],[-74.37506985092449,49.31896849198098],[-74.37327995384857,49.30332409277602],[-74.33669989525644,49.28265462501129],[-74.30767906417627,49.26074778101426],[-74.29777410725141,49.280883241759334],[-74.28542280722351,49.28743570608907],[-74.27599857670236,49.275183916530516],[-74.25641719418434,49.28823586302895],[-74.24070877524773,49.28345988593292],[-74.2415296627331,49.24837620886303],[-74.23902094658591,49.21887064358987],[-74.2461310892691,49.213082640031594],[-74.24395345919591,49.186024095483965],[-74.25414988669284,49.17528221837574],[-74.2500238102215,49.150819087618906],[-74.26925486437041,49.13424480600729],[-74.27520527233447,49.09955185701803],[-74.2738799733046,49.08676472382962],[-74.2914828770538,49.06052251490239],[-74.29053362530547,49.04171731247902],[-74.30601291417013,49.041726865175654],[-74.29722589568111,49.01366778540781],[-74.3265380877996,48.986981399217754],[-74.3274109532086,48.93649626137589],[-74.34098132994532,48.92784223799637],[-74.36227920048397,48.93726919170468],[-74.38532492525177,48.93897679334447],[-74.4098619547037,48.926581890674086],[-74.43111121266868,48.93577580742284],[-74.44389030549014,48.92928155593773],[-74.39091886303387,48.89425293187171],[-74.36558370035912,48.87977882098901],[-74.2054631718661,48.77795782008867],[-74.01432459293848,48.65546389617689],[-73.83592519456134,48.540194521180496],[-73.59410090913605,48.38248129943544],[-73.41771707922952,48.26637437423742],[-73.17494385329795,48.105069431680505],[-73.0164052753561,47.99872265272682],[-72.83786139669853,47.99864244902739],[-72.65726578199433,47.998966358885056],[-72.45387272687059,47.99999706308211],[-72.37430379220638,48.12830871063149],[-72.29434914215697,48.2536239536155],[-72.37012757993624,48.269145704552],[-72.47016789550482,48.28649932430059],[-72.50716097617237,48.29574809011908],[-72.58639817487094,48.36325564137473],[-72.63521659141597,48.40866388277102],[-72.45217476705122,48.500138939992574],[-72.48404807463477,48.52808658728919],[-72.55814886184105,48.592888694290785],[-72.61727944950985,48.64442716477617],[-72.6405984840149,48.632758599911476],[-72.64216906149844,48.62455084493341],[-72.84995350874706,48.70013971124235],[-72.82504052997396,48.730107801128995],[-72.8040348606846,48.725264105391496],[-72.80343441014057,48.76797140870026],[-72.77036627227248,48.77967018171658],[-72.79590056274891,48.8024911793239],[-72.72882093282598,48.8350081134819],[-72.72609605094917,48.83933599697697],[-72.75493255445612,48.840868509937145],[-72.77340042674845,48.86349220138156],[-72.80058677668593,48.86651456025487],[-72.82512463416327,48.87906609236572],[-72.84317119648013,48.87009113031706],[-72.8662899630729,48.871095430078725],[-72.9132030009575,48.8885278209275],[-72.93816325984992,48.90521551389958]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.4418491399215,\"lat\":48.89330508853552},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2491\"],\"cd_name_en\":[\"Le Domaine-du-Roy\"],\"csd_code\":[\"2491902\"],\"csd_name_en\":[\"Lac-Ashuapmushuan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Domaine-du-Roy\",\"csd_name_fr\":\"Lac-Ashuapmushuan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.45657017361735,48.117467122213796],[-69.50345779352381,48.14852694866334],[-69.6084850047303,48.21562758678473],[-69.66166141024144,48.17878334769027],[-69.7373466021542,48.22552278634528],[-69.7611433265702,48.20438140915441],[-69.71870783654919,48.17630514126638],[-69.72988752986694,48.16895624444265],[-69.73011321551981,48.13294913274985],[-69.70259164006087,48.127313643644264],[-69.53633729988759,48.05613266708462],[-69.50056520995778,48.08510710878824],[-69.45657017361735,48.117467122213796]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.60537694756488,\"lat\":48.141005757139816},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2495\"],\"cd_name_en\":[\"La Haute-C\\u00f4te-Nord\"],\"csd_code\":[\"2495005\"],\"csd_name_en\":[\"Tadoussac\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Haute-C\\u00f4te-Nord\",\"csd_name_fr\":\"Tadoussac\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.25940477894676,54.99974965446287],[-66.2101253779622,54.97913869720392],[-66.18860830979443,54.980795289353956],[-66.1679833413396,54.97300932500079],[-66.1435813320375,54.98229878768306],[-66.08773877345426,54.94971154894391],[-66.06449035563769,54.929068441295485],[-66.04899545049003,54.93741658642014],[-66.02339588757926,54.94195334216994],[-65.99661549226009,54.930985293225724],[-65.96513058542789,54.929818081154686],[-65.92469998893411,54.94006067097754],[-65.88800770901153,54.925339851254186],[-65.84984542374289,54.92721087551007],[-65.83862044362915,54.90795668202902],[-65.85723390553821,54.89296767946736],[-65.83664731974376,54.88197610330555],[-65.8363866061767,54.87465265318133],[-65.85307182369034,54.85594358757532],[-65.83831487531455,54.83652753035378],[-65.77742521960126,54.80280964811485],[-65.75702462878587,54.786791456419465],[-65.71359276051007,54.74095658791665],[-65.72047007446841,54.73159715093757],[-65.70620972582586,54.71791242467332],[-65.69011531218405,54.71152701644867],[-65.6696698448809,54.718766494112906],[-65.64853383477481,54.73521357836725],[-65.65095465569895,54.7479346302894],[-65.6320648957094,54.75445806641486],[-65.62127895467405,54.73850641067897],[-65.59255370118213,54.74303600819648],[-65.56207054993887,54.73974310328234],[-65.54878233322493,54.72919871411146],[-65.5135984016148,54.73600519091931],[-65.48735298793314,54.72851409206262],[-65.45553031927466,54.72858324513336],[-65.44816211489109,54.74398153037549],[-65.42911443440012,54.74811393622276],[-65.43461979700635,54.78418346204866],[-65.46691319085477,54.8019108941256],[-65.48665520479993,54.82006872611614],[-65.48729464273839,54.83437679230736],[-65.46384308165672,54.841247787218244],[-65.45633571470448,54.84924233284897],[-65.41137640461945,54.841836996670125],[-65.41169205886683,54.82311408751385],[-65.40060311640062,54.8190721656538],[-65.38457398940764,54.829944679916295],[-65.35583965195733,54.818761400518234],[-65.33840480188718,54.841658100062475],[-65.3256952561561,54.84867801185983],[-65.30486723331066,54.819674182858265],[-65.28799651867948,54.82540248540946],[-65.29107710008671,54.840118873674314],[-65.26719484262833,54.84836604571157],[-65.20962312342812,54.84795777852642],[-65.20062348345608,54.85779342273072],[-65.20165846813715,54.880537068103344],[-65.17878224923923,54.90534125737358],[-65.17289287484616,54.93360432045058],[-65.13451733120269,54.928193673268716],[-65.12285467349822,54.941402741838274],[-65.1264493458117,54.961478035889066],[-65.08581468651165,54.96956279096276],[-65.07060165635853,54.95357963729684],[-65.05271807584396,54.955960494269405],[-65.04024279162608,54.94371681150016],[-65.00956061616193,54.93096423264025],[-64.97190055880245,54.93739557531124],[-64.9269133030071,54.9212636874367],[-64.9150388667188,54.920005799137925],[-64.90257045878785,54.90164037623092],[-64.87170904632583,54.89263980590757],[-64.84692634513314,54.873770308521],[-64.86169197611291,54.8549361503356],[-64.85682061158404,54.84005504329458],[-64.83809572269739,54.840285454996064],[-64.81586769577329,54.84904792592406],[-64.80070678231718,54.83257223698824],[-64.78387243825726,54.84282308169713],[-64.76111425068868,54.82952814357938],[-64.74787483144952,54.81399429442973],[-64.77624522553725,54.788145504196656],[-64.76531906011382,54.77410709183424],[-64.78516448170602,54.753944008801255],[-64.77808689304041,54.733468773621674],[-64.76371582014517,54.72922936829322],[-64.73489457613663,54.73596964912603],[-64.73095380721308,54.72562116170463],[-64.68780027976757,54.72601627663295],[-64.67996837457167,54.735712552051815],[-64.62289935477035,54.7218740305504],[-64.6003388105856,54.72890938079313],[-64.55688247260667,54.71366228136158],[-64.52895692397425,54.73749507859024],[-64.55481627287764,54.74486891097622],[-64.53418706676274,54.76179269952118],[-64.51418856614615,54.75129779648721],[-64.47480501501398,54.75215171686048],[-64.48547582758538,54.77096280975607],[-64.4799449919915,54.78318046730053],[-64.48606927192452,54.793435570894886],[-64.42178306644752,54.78786227754045],[-64.39747458248213,54.79049295213658],[-64.38410815892566,54.78016303851078],[-64.3626310757688,54.77784408335452],[-64.294527847135,54.75327376238971],[-64.30074808135764,54.74149222838277],[-64.27557843784403,54.72796893232612],[-64.2389438026844,54.729120591746494],[-64.22610932524947,54.719375013205045],[-64.19018908068337,54.72797024567287],[-64.17866450651236,54.71695245661806],[-64.18068885699147,54.69358758432349],[-64.14534324395953,54.67614112293631],[-64.14184981278525,54.666957398941896],[-64.10615476305493,54.66038344744907],[-64.11302518258753,54.63347423195509],[-64.10732893486194,54.61318661337313],[-64.0861067384007,54.622955103375325],[-64.0719447854742,54.61701615559067],[-64.05427717774757,54.60090829200483],[-64.03510220980466,54.607030759077574],[-64.0040002613996,54.60212579145191],[-63.984870615747006,54.608567088425474],[-63.97442253623855,54.620120235379055],[-63.93433548240817,54.60661148002063],[-63.91143915535229,54.604248672372],[-63.87750766279389,54.613028533888276],[-63.87737612621256,54.61898525579094],[-63.8307490681111,54.632866600238565],[-63.8133772332908,54.650785802135594],[-63.76451271275158,54.637394566747794],[-63.74275793200109,54.62639928925165],[-63.712625413683945,54.624950762484524],[-63.725344728905156,54.65177757997449],[-63.72384888614204,54.65979857940924],[-63.76309962507351,54.67368483786252],[-63.75971049155115,54.68558415558871],[-63.76894727778972,54.699843829445314],[-63.803894656122175,54.7167364954622],[-63.80295971264505,54.72564206587713],[-63.83283524656517,54.73636709409432],[-63.8606504320823,54.75274533715423],[-63.89581071322071,54.760121657100335],[-63.88974123488508,54.76835877318827],[-63.92400933987385,54.778407385784455],[-63.9036643910931,54.801078014092674],[-63.8718180437001,54.80047762087778],[-63.81716153848612,54.81692186417625],[-63.82786264568184,54.84732360217794],[-63.84903211347031,54.862611283806224],[-63.85265805153517,54.87605608131687],[-63.84621047485689,54.894825929882124],[-63.828965520492964,54.90113412553131],[-63.837733538879014,54.914512772167676],[-63.7995726793615,54.92613349191483],[-63.824099075512486,54.93426749703965],[-63.820518333412835,54.9479581026171],[-63.79171080105046,54.95589447574561],[-63.78431369531703,54.947832353836866],[-63.75190029630253,54.94230884124239],[-63.71599498792675,54.92554819998152],[-63.696418668033374,54.92533918570743],[-63.6938050038198,54.909948605213884],[-63.66128281597812,54.89995248827373],[-63.630723573488616,54.909200950102104],[-63.619586467169604,54.89954061846851],[-63.59144370903124,54.896592140822136],[-63.61229841199164,54.91993689431999],[-63.60452965905989,54.926251537414565],[-63.59752460162688,54.95939813058989],[-63.61253941344067,54.96901886058526],[-63.58691794965692,54.97375150622371],[-63.557534519589936,54.98993784907304],[-63.55875020215381,55.00005077871545],[-63.99999999882134,54.99999998935472],[-64.25000000035486,54.99999999641995],[-64.50000000950085,54.99999999363108],[-64.7500000200936,54.99999999234394],[-64.99999998488939,55.00000000197038],[-65.24999999566396,54.99999999062604],[-65.49999998680923,55.00000000903115],[-65.74999998505544,54.99999999729125],[-66.03084946784632,54.99974674878447],[-66.25940477894676,54.99974965446287]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.71096519644185,\"lat\":54.87116912522046},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2497\"],\"cd_name_en\":[\"Sept-Rivi\\u00e8res--Caniapiscau\"],\"csd_code\":[\"2497912\"],\"csd_name_en\":[\"Lac-Juillet\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Sept-Rivi\\u00e8res--Caniapiscau\",\"csd_name_fr\":\"Lac-Juillet\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-58.69085960460776,51.213119369368016],[-58.66218990797988,51.21966868026155],[-58.67080557711992,51.234883386399986],[-58.6960650844921,51.22570094519407],[-58.69085960460776,51.213119369368016]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-58.67942859831551,\"lat\":51.223413719843315},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2498\"],\"cd_name_en\":[\"Minganie--Le Golfe-du-Saint-Laurent\"],\"csd_code\":[\"2498802\"],\"csd_name_en\":[\"Pakuashipi\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian settlement \\/ \\u00c9tablissement indien\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Minganie--Le Golfe-du-Saint-Laurent\",\"csd_name_fr\":\"Pakuashipi\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-73.39205549531962,50.66100561754974],[-73.38093767403247,50.66792700164544],[-73.34198678309244,50.71416809687795],[-73.48992127839554,50.75742838135032],[-73.52534354171715,50.698256501685876],[-73.39205549531962,50.66100561754974]]],[[[-73.92338059691866,50.42199708971888],[-73.93528400570537,50.424830310146305],[-73.94511890381328,50.45156749495085],[-73.97001640296757,50.4687405891393],[-73.98244988958626,50.48623060313033],[-73.9934835852439,50.484844786740396],[-74.03858850288151,50.464820312665296],[-74.09235081487023,50.422887007983235],[-74.11798969712369,50.399988904822116],[-74.1261933912053,50.38312310834267],[-74.12495287574158,50.368978206234466],[-74.14060762160395,50.33831489230988],[-74.16413561007381,50.330055100565914],[-74.18014089157947,50.30300770516599],[-74.2152640778751,50.28432030704518],[-74.22735143826476,50.27303140424594],[-74.11913813210347,50.24405948265422],[-74.01700815272302,50.218902099755155],[-73.85964233615522,50.217244596545484],[-73.86155913566388,50.2612578006931],[-73.87243519938747,50.26909308914289],[-73.89399660599025,50.267493588258205],[-73.88851748883319,50.314687504285864],[-73.89718281494005,50.31829949187198],[-73.90950221572723,50.3416871023001],[-73.90752510362196,50.35035209436249],[-73.92079429657254,50.35880118890122],[-73.91368379544652,50.366981389232144],[-73.92180267512367,50.38104864859415],[-73.92338059691866,50.42199708971888]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.93447843964869,\"lat\":50.383890757382964},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499030\"],\"csd_name_en\":[\"Mistissini\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village cri\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Mistissini\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-76.2511909002363,44.885430691436625],[-76.2373047934378,44.87385198632704],[-76.22767991753352,44.879854890577214],[-76.24025391103547,44.892285893323695],[-76.22964412079259,44.91557589002424],[-76.2406655255432,44.924458530094185],[-76.25758210922685,44.91434569120688],[-76.27665389129976,44.911001202201376],[-76.28286207917805,44.89877064171182],[-76.27035833295241,44.88903341397961],[-76.2511909002363,44.885430691436625]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.2526327775406,\"lat\":44.900510451731506},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3509\"],\"cd_name_en\":[\"Lanark\"],\"csd_code\":[\"3509021\"],\"csd_name_en\":[\"Perth\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Lanark\",\"csd_name_fr\":\"Perth\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.03866744646199,43.81599643625098],[-79.05156861751561,43.845461522658795],[-79.06078088582109,43.84183178922938],[-79.07873226302657,43.87083502624808],[-79.06969045263136,43.87614057296982],[-79.0773944599234,43.89467205725003],[-79.08850819575918,43.90418089934883],[-79.00854293234248,43.92250230623077],[-79.04731130407693,44.00924009734462],[-79.04801549020917,44.01076940680671],[-79.22004280992438,43.97092871177111],[-79.21741469896327,43.96251460250001],[-79.21435558176285,43.95312130323215],[-79.17024551862364,43.85546549510714],[-79.15205908482116,43.81452788885292],[-79.11346701069314,43.79377859166308],[-79.09195521075083,43.80948200629569],[-79.06041136667058,43.80572352690069],[-79.03866744646199,43.81599643625098]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.11396956746813,\"lat\":43.91147171846881},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3518\"],\"cd_name_en\":[\"Durham\"],\"csd_code\":[\"3518001\"],\"csd_name_en\":[\"Pickering\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Durham\",\"csd_name_fr\":\"Pickering\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.07033229875049,43.92516504280403],[-80.08372128660143,43.93296272826544],[-80.10972600736514,43.93329466883815],[-80.13467856024695,43.928800848298096],[-80.1306085974215,43.911959289501524],[-80.14601707379897,43.908740485488295],[-80.11743120148226,43.88926059597038],[-80.09712807227584,43.907900823100526],[-80.07123381409012,43.91548738983852],[-80.07033229875049,43.92516504280403]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.10807107445139,\"lat\":43.91585428517523},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3522\"],\"cd_name_en\":[\"Dufferin\"],\"csd_code\":[\"3522014\"],\"csd_name_en\":[\"Orangeville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Dufferin\",\"csd_name_fr\":\"Orangeville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.9690347088406,43.73445100022692],[-80.13987539092564,43.86153918663345],[-80.25104690988697,43.761442611199925],[-80.26154450072822,43.752138909991004],[-80.22276500023803,43.72530228771465],[-80.08575470536442,43.62911000420274],[-79.9690347088406,43.73445100022692]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.11455090950513,\"lat\":43.74473065343109},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3523\"],\"cd_name_en\":[\"Wellington\"],\"csd_code\":[\"3523017\"],\"csd_name_en\":[\"Erin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Wellington\",\"csd_name_fr\":\"Erin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.810952591268,43.43476620443873],[-79.81941708557348,43.42692971852838],[-79.84254878538019,43.44045160619309],[-79.89472360555894,43.47654248858319],[-79.95930529478481,43.41725189432364],[-79.85995113317989,43.346933506092874],[-79.87538601601634,43.32932124567639],[-79.88434271165642,43.32917409293764],[-79.91252965779933,43.308468722346255],[-79.88594859438608,43.28922429082071],[-79.86797894016118,43.286631085728864],[-79.85448834791586,43.29678900535197],[-79.8152014515125,43.312300803536374],[-79.80316096123113,43.295668253217265],[-79.79316922458749,43.30113071327437],[-79.79692316364928,43.31786760841144],[-79.76998602925751,43.333809523505366],[-79.72035172341104,43.36893111580325],[-79.810952591268,43.43476620443873]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.84406516481745,\"lat\":43.38034394410869},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3524\"],\"cd_name_en\":[\"Halton\"],\"csd_code\":[\"3524002\"],\"csd_name_en\":[\"Burlington\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Halton\",\"csd_name_fr\":\"Burlington\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.16875026592581,42.959594116673806],[-79.16911470666864,43.041634821285186],[-79.18673662550623,43.03608296928754],[-79.20225191192175,43.03959137846817],[-79.20561833643502,43.028710566419825],[-79.26745108371017,43.02667953433529],[-79.2804126639291,43.02694974778284],[-79.29058020041272,43.01722374220059],[-79.29087910652268,42.966271225827896],[-79.28135473534147,42.94546967622018],[-79.24830831883725,42.94543262051552],[-79.24254426078895,42.92303139538869],[-79.22953188237685,42.95903100279355],[-79.16875026592581,42.959594116673806]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.22994202467758,\"lat\":42.99081464862957},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3526\"],\"cd_name_en\":[\"Niagara\"],\"csd_code\":[\"3526032\"],\"csd_name_en\":[\"Welland\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Niagara\",\"csd_name_fr\":\"Welland\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.00389070748528,43.08876941211575],[-80.03104349150499,43.09485049946784],[-80.05087905344246,43.08620045532093],[-80.07582029546408,43.09980198798811],[-80.0702924181794,43.111801693554284],[-80.12315628601634,43.1305641073097],[-80.12319431311658,43.11309970912834],[-80.1498578312719,43.092550719357305],[-80.17648085685057,43.08773507285711],[-80.20155857695357,43.09506271563007],[-80.24309798564408,43.03193429645174],[-80.1850082019517,43.011092406089354],[-80.13483399137274,42.99251759899677],[-80.1126575090243,43.02559430970367],[-80.0586634078782,43.00565809655973],[-80.00389070748528,43.08876941211575]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.12373479891926,\"lat\":43.05735318611532},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3529\"],\"cd_name_en\":[\"Brant\"],\"csd_code\":[\"3529020\"],\"csd_name_en\":[\"Six Nations (Part) 40\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Brant\",\"csd_name_fr\":\"Six Nations (Part) 40\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.21949589612677,45.17981379085655],[-79.05345129284491,45.222826124608744],[-79.09952069508381,45.30238947916954],[-79.12159860515122,45.344025937296614],[-79.10595522862333,45.348161981513705],[-79.1726482863154,45.470133218951965],[-79.34253361323249,45.42417700237799],[-79.47473648405429,45.38886190310218],[-79.50097758757543,45.38032930025516],[-79.41510762773822,45.22054910013669],[-79.37322631558023,45.14088180825789],[-79.21949589612677,45.17981379085655]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.27552363448717,\"lat\":45.30501505204976},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3544\"],\"cd_name_en\":[\"Muskoka\"],\"csd_code\":[\"3544042\"],\"csd_name_en\":[\"Huntsville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Muskoka\",\"csd_name_fr\":\"Huntsville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.98310334359782,48.73032331839933],[-79.99671234185908,48.715454607793596],[-80.01269947531719,48.710628517424055],[-80.01349586635182,48.5389745981397],[-79.94875314789056,48.54008716013863],[-79.94954251461218,48.65128313014553],[-79.95324873403064,48.675475096974225],[-79.97519254341668,48.67453860161382],[-79.98751522173215,48.681898599029516],[-79.99406706949459,48.69753056214457],[-79.98310334359782,48.73032331839933]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.9832450555436,\"lat\":48.61564371423576},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3556\"],\"cd_name_en\":[\"Cochrane\"],\"csd_code\":[\"3556033\"],\"csd_name_en\":[\"Abitibi 70\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Cochrane\",\"csd_name_fr\":\"Abitibi 70\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-93.56908246459817,48.87412703735271],[-93.61800428292138,48.87325030153786],[-93.61758696533597,48.86158096735838],[-93.59952717556656,48.856547528922796],[-93.61690764921809,48.84590913856487],[-93.59705326175292,48.84211062144301],[-93.57939444750257,48.84564502702071],[-93.57316524953785,48.85453502145177],[-93.54537087270067,48.85422903198124],[-93.5385555097673,48.87487516425002],[-93.56908246459817,48.87412703735271]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-93.58089751877561,\"lat\":48.86152835627276},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3559\"],\"cd_name_en\":[\"Rainy River\"],\"csd_code\":[\"3559068\"],\"csd_name_en\":[\"Rainy Lake 17A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Rainy River\",\"csd_name_fr\":\"Rainy Lake 17A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-91.91772963001428,51.7126689249394],[-91.96292543902922,51.70617973400028],[-91.97310024962516,51.69896783569677],[-91.94597375991395,51.68939432058318],[-91.92256174247999,51.69064573995568],[-91.92920595282375,51.70239292685914],[-91.91772963001428,51.7126689249394]]],[[[-91.82389773437592,51.75088122375195],[-91.84066914422895,51.741467625773815],[-91.83059114556097,51.723336539175044],[-91.81158466277144,51.717730135819046],[-91.80732285201985,51.73135482994027],[-91.79033214908736,51.732977132086454],[-91.78524367191017,51.745249888703924],[-91.82389773437592,51.75088122375195]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-91.86755232327447,\"lat\":51.72182061334309},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560054\"],\"csd_name_en\":[\"Cat Lake 63C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Cat Lake 63C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-95.13000635409219,49.60854941722792],[-95.15319314552323,49.61676758432215],[-95.15287861750448,49.603432186633995],[-95.12937595358574,49.600053544305965],[-95.13000635409219,49.60854941722792]]],[[[-95.1525507169585,49.57653292320528],[-95.12690326848329,49.58297112503529],[-95.12378937400648,49.59188013908946],[-95.15385686173889,49.588969049234564],[-95.1525507169585,49.57653292320528]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-95.14114944729853,\"lat\":49.59540232817708},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560082\"],\"csd_name_en\":[\"Shoal Lake (Part) 40\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Shoal Lake (Part) 40\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-98.73270999237975,49.53247891188525],[-98.82343841283769,49.53221220970725],[-99.08850218759896,49.53234900238871],[-99.08840391241716,49.35493330914636],[-98.95275137794266,49.355025088345215],[-98.95262406228503,49.324346703503764],[-98.93729715610206,49.35015563385938],[-98.92874096869193,49.35418954240016],[-98.81750630090967,49.354714991983805],[-98.72646902055888,49.354312714596134],[-98.69528206296148,49.356392256313185],[-98.65858428958431,49.3550475057754],[-98.40897259964568,49.354841888610416],[-98.40813948337589,49.39923691057153],[-98.40906513175764,49.487847314310606],[-98.40907240187005,49.53168887229678],[-98.41451560658278,49.53170211007991],[-98.54510249429815,49.532729988366206],[-98.73270999237975,49.53247891188525]],[[-98.92105100554642,49.38408399151531],[-98.93042000795013,49.38415299167692],[-98.930447296065,49.4136115987336],[-98.83974401410694,49.41430399075449],[-98.83973190395609,49.38411679819905],[-98.8606411091918,49.37672968663141],[-98.88526717437166,49.376789384043214],[-98.89659291439112,49.369576947350026],[-98.92105100554642,49.38408399151531]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-98.74535039033276,\"lat\":49.44468381990734},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4604\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"4604064\"],\"csd_name_en\":[\"Lorne\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Lorne\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-96.85900470961893,50.16503548274166],[-96.89132859484242,50.177709910424205],[-96.8935472993969,50.16657950963931],[-96.96170930706587,50.16674369046886],[-96.96764050796858,50.16071577866355],[-96.88959741006911,50.12601703175075],[-96.86577852144207,50.124843725649974],[-96.87161845316585,50.13870768604571],[-96.85139902997412,50.151610894355606],[-96.85900470961893,50.16503548274166]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-96.90052154669124,\"lat\":50.15202926341386},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4613\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4613047\"],\"csd_name_en\":[\"Selkirk\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Selkirk\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-99.6763797524232,50.41688384966207],[-99.69667838635642,50.41746529866207],[-99.95263881717598,50.417485179053415],[-99.95351457039213,50.40988581145423],[-99.95340404134568,50.40314443076346],[-99.95343653761242,50.37418980072139],[-99.95368829962895,50.32894311176199],[-99.95426180054339,50.2408921298822],[-99.93468449018164,50.24023831091907],[-99.9352682854642,50.06357299391749],[-99.66016660487344,50.063404002400816],[-99.65971030907284,50.16633360089706],[-99.66080999511563,50.239960001911314],[-99.67704282096526,50.24049610494548],[-99.67715468339627,50.39570829775056],[-99.6763797524232,50.41688384966207]],[[-99.81548070892944,50.244364792328184],[-99.8207597824212,50.23326499876992],[-99.87604691330309,50.23284530125165],[-99.88451319945025,50.24050759485483],[-99.88444230202225,50.26257054647012],[-99.81521039130674,50.26303816051166],[-99.81548070892944,50.244364792328184]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-99.8055814239098,\"lat\":50.2405425951652},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4615\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4615074\"],\"csd_name_en\":[\"Minto-Odanah\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Minto-Odanah\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-99.43370662798088,51.44926363653506],[-99.43360808345346,51.53607714182526],[-99.57411819200844,51.535495662046834],[-99.71474409462154,51.5368814885727],[-99.71307914645381,51.50003943529647],[-99.71472589490187,51.449138693534714],[-99.8731112617167,51.44976841779354],[-99.85531096629796,51.425685829385124],[-99.85237376815276,51.25007213588075],[-99.85678406919678,51.218431342857315],[-99.84791024835407,51.20695424386621],[-99.85036504747777,51.19527773617003],[-99.83973757415632,51.18970734131529],[-99.83833194640901,51.17336015124789],[-99.85233578374928,51.153215988564206],[-99.85233549288749,50.94845752445551],[-99.83429644249992,50.9485365717723],[-99.83421062820626,50.86044940746087],[-99.68207720698693,50.8604839449941],[-99.57857529811857,50.86035949992513],[-99.57874641431121,50.94873039212311],[-99.59347774718775,50.94863592807072],[-99.59395636106815,51.12558407310132],[-99.54727822232874,51.12535024838849],[-99.54759920747328,51.184618587302786],[-99.43001303484395,51.184545195591],[-99.43058004254829,51.302418912758476],[-99.43398100216658,51.33256648658222],[-99.43370662798088,51.44926363653506]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-99.66280397779758,\"lat\":51.223827071512744},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4617\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4617075\"],\"csd_name_en\":[\"Lakeshore\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Lakeshore\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-95.37981158273135,52.17680951039658],[-95.39555641646147,52.16831005660935],[-95.36984694735739,52.161519446007404],[-95.37981158273135,52.17680951039658]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-95.38173831551676,\"lat\":52.168879671004454},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4619\"],\"cd_name_en\":[\"Division No. 19\"],\"csd_code\":[\"4619079\"],\"csd_name_en\":[\"Pauingassi First Nation\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 19\",\"csd_name_fr\":\"Pauingassi First Nation\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-100.75149131589731,51.970861927486894],[-101.0001054913808,51.96882991483074],[-101.15245591406894,51.96842834374764],[-101.15220745693296,51.88183495693143],[-101.29392409337154,51.88082379769536],[-101.29424811794149,51.705989799417765],[-101.5773289591472,51.70619733526673],[-101.57734897625348,51.65493521501733],[-101.57051507292391,51.65492175003738],[-101.57052208161751,51.56635639035792],[-101.42896739353976,51.56685430460556],[-101.39955466606155,51.565029421249996],[-101.39898664709001,51.621089318210146],[-101.25946756747122,51.62140050875125],[-101.26067245256252,51.53705827969574],[-101.25975789155754,51.44927439051004],[-100.97869613095737,51.44929694840768],[-100.97848297062856,51.36188566805397],[-100.69786937559472,51.362280033612066],[-100.697185593553,51.62387153323244],[-100.72240134386416,51.62401159473222],[-100.72262534177193,51.711100986152616],[-100.65159412299975,51.711378688724395],[-100.65141382302885,51.725767127930865],[-100.69892947175215,51.725637552101404],[-100.69935744116549,51.74020677185485],[-100.67542016177529,51.74019433285622],[-100.67542351411313,51.755179665447244],[-100.65293571222236,51.75544088679528],[-100.65174859772328,51.88572741690804],[-100.72229839678606,51.885658043586105],[-100.72260194256988,51.97098042137893],[-100.75149131589731,51.970861927486894]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.01185806521497,\"lat\":51.678219467888525},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4620\"],\"cd_name_en\":[\"Division No. 20\"],\"csd_code\":[\"4620066\"],\"csd_name_en\":[\"Division No. 20\",\"Unorganized\",\"South Part\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 20\",\"csd_name_fr\":\"Division No. 20, Unorganized, South Part\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-96.15424533417243,56.07647375487101],[-96.16026646176103,56.06679452607141],[-96.09036204155414,56.07795783376522],[-96.12971331767676,56.080786442712636],[-96.15424533417243,56.07647375487101]]],[[[-96.1623204140731,56.09797672626319],[-96.12146514620977,56.090946944148364],[-96.08132084981499,56.0791273340281],[-96.07112852585827,56.083303188791774],[-96.07290249731143,56.0977186872586],[-96.1623204140731,56.09797672626319]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-96.11143651021118,\"lat\":56.08579187977982},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4622\"],\"cd_name_en\":[\"Division No. 22\"],\"csd_code\":[\"4622065\"],\"csd_name_en\":[\"York Landing\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 22\",\"csd_name_fr\":\"York Landing\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-98.48989552386324,58.72457154024185],[-98.50518954855828,58.717075676374684],[-98.47812572457568,58.707372947515104],[-98.47678900232349,58.72149185113613],[-98.48989552386324,58.72457154024185]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-98.48775657112675,\"lat\":58.71685532135611},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4623\"],\"cd_name_en\":[\"Division No. 23\"],\"csd_code\":[\"4623058\"],\"csd_name_en\":[\"Churchill 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 23\",\"csd_name_fr\":\"Churchill 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.16804709514388,49.784749523392584],[-102.16525705883132,49.80623526070527],[-102.33500265285092,49.80632829260499],[-102.33540729479441,49.784282793711185],[-102.33738564831151,49.71710076516701],[-102.28616197802428,49.71727222211603],[-102.1698931698347,49.715345625840115],[-102.16804709514388,49.784749523392584]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.25195217718328,\"lat\":49.761482635701675},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4701\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4701808\"],\"csd_name_en\":[\"White Bear 70\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"White Bear 70\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.62065018345861,49.26074839043603],[-103.88990601531515,49.2605281067366],[-104.02433599051713,49.26058130416863],[-104.02467343104568,49.17406966842042],[-104.00983410647734,49.174065404265235],[-104.00980051366864,49.0022028077796],[-104.01244479143392,48.99985058898911],[-103.60903285699591,48.999286747990176],[-103.60779368181015,49.05771306635701],[-103.60908391815806,49.086704301165184],[-103.6091022153237,49.1737478085335],[-103.62069578843813,49.17375191340404],[-103.62065018345861,49.26074839043603]],[[-103.83431548534988,49.25392625046087],[-103.81724836931049,49.25408307896599],[-103.81728738097328,49.24155566932479],[-103.83409882441624,49.24150789723176],[-103.83431548534988,49.25392625046087]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.81360770443074,\"lat\":49.13002228906473},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4702\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4702006\"],\"csd_name_en\":[\"Souris Valley No. 7\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Souris Valley No. 7\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.85818881000888,49.68902679936903],[-103.88076670809262,49.675467098861446],[-103.88072327167602,49.647049467839466],[-103.86343890465935,49.639202355756936],[-103.84638063080733,49.646861150549505],[-103.82460320284596,49.646683193356886],[-103.8130547019442,49.66104598929897],[-103.8130579441859,49.67529464871136],[-103.83562135774841,49.68968638366164],[-103.85818881000888,49.68902679936903]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.84859568921415,\"lat\":49.66542079727616},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4702\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4702047\"],\"csd_name_en\":[\"Weyburn\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Weyburn\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.22383351273794,49.524055020992314],[-107.23887843634338,49.52370637456193],[-107.62090473697025,49.52369794275273],[-107.62077489905978,49.37573005103849],[-107.61908018028629,49.30858666427535],[-107.62054840990548,49.261834192051325],[-107.44555466481421,49.262297626109316],[-107.21734028024643,49.26184487301953],[-107.2171073152458,49.378425776389264],[-107.21757329795935,49.52370242652296],[-107.22383351273794,49.524055020992314]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.4188416467418,\"lat\":49.3929596472627},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4703\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4703016\"],\"csd_name_en\":[\"Glen McPherson No. 46\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Glen McPherson No. 46\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.41089771420339,49.523573185166505],[-106.81416051421007,49.52373570202809],[-106.81367070301272,49.27137861074599],[-106.81272695496641,49.174569706385505],[-106.80719251767496,49.17459629999443],[-106.80841707114296,49.09644266193548],[-106.8085670612524,49.00005799323478],[-106.54115143371244,49.00004445900451],[-106.5413683131154,49.174607807618294],[-106.50046404178119,49.174737409775574],[-106.50007642552602,49.26197540096395],[-106.41042077719551,49.26217965994748],[-106.41101832523361,49.29866233516421],[-106.42198880542428,49.30581550448177],[-106.4776365513072,49.305593511036584],[-106.47750841237037,49.34938250805186],[-106.41036854438731,49.34936420044721],[-106.41084496270534,49.46562034573609],[-106.41089771420339,49.523573185166505]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.63851271069024,\"lat\":49.28622370225102},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4703\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4703022\"],\"csd_name_en\":[\"Waverley No. 44\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Waverley No. 44\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.03694412121033,49.69837988639555],[-108.44413250688001,49.69838789963613],[-108.44432371300964,49.523795995047976],[-108.42703370848567,49.52382584012296],[-108.42753948660658,49.436483901674976],[-108.24327958343206,49.436171872242966],[-108.16397614769032,49.43760956379756],[-108.13262390834953,49.43655608128899],[-108.02432404174381,49.436245906100396],[-108.02320119786208,49.52384245290311],[-108.03740637869561,49.52453215890529],[-108.03774015850561,49.67959615264248],[-108.03694412121033,49.69837988639555]],[[-108.41107363424703,49.65983828824209],[-108.39891314884657,49.66209825877875],[-108.39892090252118,49.64016570631763],[-108.43318014188283,49.63665000640452],[-108.43304244831285,49.65470521240074],[-108.41107363424703,49.65983828824209]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.23464247742059,\"lat\":49.56714165668823},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4704\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"4704034\"],\"csd_name_en\":[\"Grassy Creek No. 78\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Grassy Creek No. 78\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.72708658094368,50.61321103915948],[-102.72323757110567,50.615734934467085],[-102.72707620904701,50.61577622251954],[-102.72708658094368,50.61321103915948]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.72580012036545,\"lat\":50.61490739871537},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705060\"],\"csd_name_en\":[\"Melville Beach\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Resort village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Melville Beach\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.02007701757562,50.717376559222245],[-103.02103055021836,50.70218330794092],[-103.00533335636415,50.70223574223659],[-103.00509738596534,50.71789147360669],[-103.02007701757562,50.717376559222245]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.01284750269214,\"lat\":50.709860829595925},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705064\"],\"csd_name_en\":[\"Neudorf\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Neudorf\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.51821539965984,50.047151297940694],[-102.51824978650544,50.05458791656259],[-102.50676316973517,50.054514714973024],[-102.50677189648155,50.06130493800889],[-102.52350990651713,50.06157640988177],[-102.5294948866657,50.04717691115535],[-102.51821539965984,50.047151297940694]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.51856311530622,\"lat\":50.05526869476557},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705815\"],\"csd_name_en\":[\"Kahkewistahaw No. 72-W\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Kahkewistahaw No. 72-W\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.01965171676248,50.16368000982434],[-104.00835678131598,50.16365019475387],[-104.00839139108989,50.17822089222724],[-104.0196996371636,50.178727258387624],[-104.01965171676248,50.16368000982434]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.01405517414437,\"lat\":50.17107161584045},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706008\"],\"csd_name_en\":[\"Sedley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Sedley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.28419576929417,50.945251191931426],[-103.49010510909447,50.945199981437824],[-103.48948511076588,50.90899016872577],[-103.48006781489244,50.90966000283415],[-103.2840360487011,50.908371157681316],[-103.28419576929417,50.945251191931426]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.38634014313389,\"lat\":50.92713256830794},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706815\"],\"csd_name_en\":[\"Okanese 82\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Okanese 82\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.71544725160739,50.762258071580035],[-103.70879829545241,50.76071531108192],[-103.7083559236408,50.76263986820751],[-103.71544725160739,50.762258071580035]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.7108671569002,\"lat\":50.761871083623156},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706820\"],\"csd_name_en\":[\"Wa-Pii Moos-Toosis (White Calf) 83A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Wa-Pii Moos-Toosis (White Calf) 83A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.03821150972132,50.4191614956829],[-107.0465800638212,50.41052564109613],[-107.02446156451262,50.4105043019754],[-107.02478338266614,50.419326408496175],[-107.03821150972132,50.4191614956829]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.03363736744072,\"lat\":50.41451975623109},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707027\"],\"csd_name_en\":[\"Morse\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Morse\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.41956952746466,50.57228671222328],[-106.51003571364089,50.572027599813815],[-106.82923391183581,50.57208700261931],[-106.82983115699005,50.30945677823479],[-106.80679178456377,50.3100181041871],[-106.55409697647632,50.30977923497204],[-106.55422638891422,50.295333638636734],[-106.53190108717085,50.29533741598886],[-106.53197731340191,50.28072602659133],[-106.50902413345376,50.28078517340117],[-106.5091207124679,50.26620784584998],[-106.48611156768371,50.26623617532798],[-106.48615192922277,50.25167269792258],[-106.41725158360633,50.25176889813532],[-106.41722639107148,50.30999710161943],[-106.41634090182981,50.57226196537444],[-106.41956952746466,50.57228671222328]],[[-106.663971863589,50.455567097485925],[-106.66412009066444,50.466281018239265],[-106.65136043350908,50.4663034063277],[-106.64626820454386,50.458638190295716],[-106.663971863589,50.455567097485925]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.61514613886499,\"lat\":50.43275959798788},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707029\"],\"csd_name_en\":[\"Chaplin No. 164\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Chaplin No. 164\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.63588871454795,51.09570469651065],[-105.94371069623696,51.0956772442661],[-106.00432960332104,51.09608791199938],[-106.00464560340473,50.878574522787254],[-105.98292656515947,50.867090951644855],[-105.96507299696259,50.852330647379645],[-105.94570048852007,50.85064245930532],[-105.93847028709874,50.84058026176009],[-105.88714208519679,50.81866844775535],[-105.86203856206487,50.79562913923791],[-105.84455966692398,50.796243359246084],[-105.83702977182551,50.786276359207534],[-105.80117398944061,50.773921842421174],[-105.68360566595037,50.76353256138668],[-105.63263335183234,50.739720406968196],[-105.60953246645037,50.72527588431098],[-105.60935981055079,50.833745894720124],[-105.60927558146317,50.92099857720764],[-105.63591309733111,50.923415301942576],[-105.63588871454795,51.09570469651065]],[[-105.69177267369295,50.93562307433599],[-105.70569628755642,50.93530750745232],[-105.70567878288433,50.942823458432535],[-105.6822758657242,50.94265866483394],[-105.69177267369295,50.93562307433599]],[[-105.82716230667484,51.0570628904727],[-105.809440451292,51.05508273520989],[-105.80442852871927,51.0403338146845],[-105.82827490339113,51.040355040180124],[-105.82716230667484,51.0570628904727]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.79923088475942,\"lat\":50.938542390883235},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707091\"],\"csd_name_en\":[\"Craik No. 222\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Craik No. 222\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.84871388477019,51.12175139828723],[-102.84897328848365,51.23971589282984],[-102.84750626024068,51.29856642228164],[-102.85562731462173,51.300237994598746],[-102.855758396808,51.38693638719055],[-102.92650940893019,51.38584490990646],[-103.02085111067792,51.386996457504765],[-103.28020029415138,51.38701180379962],[-103.2798625935308,51.29707295594341],[-103.26915482117438,51.29710152422792],[-103.27015619327292,51.12198420408288],[-103.08327479163245,51.12183960401989],[-102.84871388477019,51.12175139828723]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.06217076704961,\"lat\":51.254548484918345},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709019\"],\"csd_name_en\":[\"Garry No. 245\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Garry No. 245\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.85291793739225,51.653648585967964],[-101.83569256083663,51.62400237365529],[-101.78493991968278,51.624464411410216],[-101.78758660905335,51.5944131298239],[-101.95944722113515,51.59308082279959],[-101.97016662451796,51.609138038071436],[-101.98081948717117,51.60946788920437],[-101.99485997506883,51.635968125644155],[-101.99452539213722,51.65233662156104],[-102.00627609927454,51.6522109027283],[-102.00621319515649,51.40164201013204],[-102.00706014897237,51.386925147447926],[-101.73904548479587,51.39001123709054],[-101.72981208420133,51.38094303721136],[-101.73151368550187,51.368996530986294],[-101.72334646314131,51.342209656902476],[-101.71341206943703,51.32684484696648],[-101.68840177767115,51.31465694488737],[-101.57875724690325,51.28878003434318],[-101.54992256448716,51.27869865436131],[-101.53974453476201,51.26549039302158],[-101.53912744994656,51.301721214432476],[-101.57054393736752,51.30187588726489],[-101.57060175490807,51.397807540249524],[-101.59416249789611,51.39787049069701],[-101.59415731827369,51.4050149009606],[-101.57062801181856,51.40494891045055],[-101.57052208161751,51.56635639035792],[-101.57051507292391,51.65492175003738],[-101.57734897625348,51.65493521501733],[-101.83733339445402,51.65473829426164],[-101.85291793739225,51.653648585967964]],[[-101.9220469235838,51.56879890191884],[-101.87732458611981,51.571331775918146],[-101.8764768686522,51.55030044454651],[-101.90105572925556,51.55027396613314],[-101.9220469235838,51.56879890191884]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.76133937049158,\"lat\":51.492404755523054},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709037\"],\"csd_name_en\":[\"Cote No. 271\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Cote No. 271\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.85722490617749,51.65220580598207],[-102.85722350051026,51.88141389241944],[-103.28227189164268,51.881455803054166],[-103.28231537603783,51.79420308539852],[-103.28234000644646,51.65214519588369],[-103.28034108324155,51.65214704920138],[-102.85722490617749,51.65220580598207]],[[-103.00479816861233,51.76146773305468],[-102.99380135194114,51.761151858417044],[-102.9933656205365,51.75470158000023],[-103.00456290085471,51.754469952645145],[-103.00479816861233,51.76146773305468]],[[-103.14804121130241,51.80139676243651],[-103.16432393722808,51.80204417936042],[-103.16431037051117,51.810484534753556],[-103.14757230776888,51.81067309197419],[-103.14804121130241,51.80139676243651]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.0697095959864,\"lat\":51.766750327891714},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709054\"],\"csd_name_en\":[\"Invermay No. 305\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Invermay No. 305\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.14804121130241,51.80139676243651],[-103.14757230776888,51.81067309197419],[-103.16431037051117,51.810484534753556],[-103.16432393722808,51.80204417936042],[-103.14804121130241,51.80139676243651]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.15593065451866,\"lat\":51.80616715820506},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709058\"],\"csd_name_en\":[\"Invermay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Invermay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.02233909707203,51.342706095405084],[-104.03438498983455,51.35074923352063],[-104.04606301581038,51.34299240712897],[-104.02233909707203,51.342706095405084]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.03426236757231,\"lat\":51.3454825786849},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710801\"],\"csd_name_en\":[\"Muskowekwan 85-4\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Muskowekwan 85-4\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.43305949929184,51.80144790456988],[-107.42138377236849,51.801489776065466],[-107.42140118287081,51.8126418030318],[-107.43306291306439,51.81266446747677],[-107.43305949929184,51.80144790456988]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.4272324507839,\"lat\":51.80705986040028},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4712\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4712031\"],\"csd_name_en\":[\"Tessier\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Tessier\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.84987172759752,53.48667607346252],[-102.85013331199114,53.50516049804204],[-102.88933467297797,53.50526467097833],[-102.90882816232181,53.497845284318764],[-102.9073096293327,53.484129476493464],[-102.84987172759752,53.48667607346252]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.8783339679722,\"lat\":53.49484046417415},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714845\"],\"csd_name_en\":[\"Carrot River 29A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Carrot River 29A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.02873761806724,53.45254408701419],[-106.05315099655367,53.452538497506794],[-106.05258368472553,53.51771885943772],[-106.0525909187628,53.52502876150171],[-106.10249432588355,53.52513449482177],[-106.10246316946375,53.53972571767388],[-106.10232105458758,53.583422968700525],[-106.44560990245608,53.58345202817558],[-106.4471172471025,53.470305160128504],[-106.44733900087338,53.36561840242354],[-106.44260451581468,53.36561270422924],[-106.44233221807409,53.191393394783205],[-106.44279849529453,53.106710901120046],[-106.41796172815229,53.10267693067076],[-106.26814494607794,53.10353550676708],[-106.24212706657292,53.13332926529848],[-106.2280963979481,53.157661828695886],[-106.19198043980168,53.17654203708315],[-106.13014487491469,53.19111954702662],[-106.09724152860628,53.20093790559781],[-106.06511342868836,53.205071843022566],[-106.04060436144555,53.20433020925302],[-106.02198065840413,53.197139245064776],[-106.02029248946121,53.17178272141847],[-106.00530845759629,53.15242351906572],[-106.00396698020364,53.19863580621984],[-106.0041006186649,53.3304284973504],[-106.00499795511669,53.35616568383658],[-106.13125271554512,53.356621858445905],[-106.13342448792326,53.39297642164043],[-106.18543679338983,53.39311998793578],[-106.18625253370928,53.42087076031923],[-106.17050646845473,53.421952962477306],[-106.12807518901866,53.405733355744296],[-106.11719306745789,53.3951304631774],[-106.08639438710794,53.40438605603224],[-106.07839136750384,53.4117283510621],[-106.07827026805433,53.43625718371038],[-106.02830631347305,53.436315598459885],[-106.02873761806724,53.45254408701419]],[[-106.39579071209027,53.22441920387275],[-106.38175795628405,53.213289401740916],[-106.41798970240559,53.213037293380985],[-106.41802468851243,53.220452893143914],[-106.39579071209027,53.22441920387275]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.25513171344967,\"lat\":53.35412094947908},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716046\"],\"csd_name_en\":[\"Shellbrook No. 493\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Shellbrook No. 493\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.56468436796042,54.159269576223764],[-108.55288036247423,54.16639318174216],[-108.52796242546562,54.16676603687378],[-108.52798319360996,54.17999550127111],[-108.56005264803574,54.18002468836818],[-108.56468436796042,54.159269576223764]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.54601893675182,\"lat\":54.17248567715361},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717831\"],\"csd_name_en\":[\"Flying Dust First Nation 105E\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Flying Dust First Nation 105E\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.44778588439347,56.51402239071862],[-109.45318198874371,56.49218764920874],[-109.43184418882049,56.47871005919114],[-109.42264697217998,56.4604500558704],[-109.38533653243748,56.46691200423793],[-109.38743733242929,56.50145703733942],[-109.41175536614072,56.48662865271145],[-109.42106899807314,56.498995663953465],[-109.40360030848358,56.51461679664775],[-109.44778588439347,56.51402239071862]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.41838195846078,\"lat\":56.48831276740718},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718074\"],\"csd_name_en\":[\"La Loche\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Northern village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"La Loche\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.82207635784272,54.28273178677749],[-101.82535349839961,54.302958478430874],[-101.819150275831,54.312972345903674],[-101.86401594727631,54.322071678543765],[-101.88517468139001,54.31815283470619],[-101.88524945455978,54.26834918618905],[-101.87902471971063,54.261552258225784],[-101.83024913885373,54.26480745398544],[-101.81728544626557,54.277753101678236],[-101.8174188873619,54.27909948661069],[-101.81745998295224,54.27957242469586],[-101.82207635784272,54.28273178677749]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.85477119837209,\"lat\":54.29119578391043},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4718\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4718821\"],\"csd_name_en\":[\"Sturgeon Weir 184F\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"Sturgeon Weir 184F\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.28635944971721,49.202895730427585],[-113.34011809118451,49.20236489167652],[-113.33089314199395,49.19500597069182],[-113.33102640527322,49.18147350648461],[-113.28515482209062,49.180949893027076],[-113.28635944971721,49.202895730427585]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.3090593292236,\"lat\":49.19216661398551},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4803\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4803004\"],\"csd_name_en\":[\"Cardston\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Cardston\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.4787849864495,51.58336529269126],[-113.47409526662855,51.597840382543],[-113.49755139309578,51.597858098544165],[-113.49660548749539,51.58308285823894],[-113.4787849864495,51.58336529269126]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.48675594080578,\"lat\":51.590871751251946},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4805\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4805046\"],\"csd_name_en\":[\"Linden\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Linden\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.18929784397902,52.7308979613798],[-111.22905495742668,52.715636217482476],[-111.25153287954585,52.697359962664464],[-111.25069108247291,52.644415099874436],[-111.29196088483047,52.6470492055323],[-111.30954896261427,52.64381136626522],[-111.30804990111969,52.629675393830986],[-111.32187772536363,52.6124960614375],[-111.31332333386716,52.603133122180644],[-111.3037698834048,52.57017486205619],[-111.28685899098157,52.535706620700665],[-111.26728015698542,52.51890944429705],[-111.26824922786093,52.505210528266886],[-111.24332702603495,52.49660450262886],[-111.26769154031214,52.478733221489485],[-111.29471098154792,52.46960126974186],[-111.30251493807621,52.462394490011995],[-111.30044338229419,52.404860804561395],[-111.15658989905882,52.40443454385729],[-111.15668080123604,52.31761969359727],[-111.1475299465957,52.31761254777977],[-111.14770911521752,52.2884813944193],[-111.0525172754956,52.28836512919966],[-111.05229960277937,52.259280103922805],[-111.0041064024132,52.259314078158326],[-111.00417538840918,52.230123212656906],[-110.64480714046309,52.2303364266552],[-110.36208201187358,52.23040729822541],[-110.36263803826569,52.113759209428984],[-110.21913869239624,52.11388929603945],[-110.21956633508306,52.05563234676779],[-110.00500162052376,52.05557009996649],[-110.00503681872273,52.143042805848516],[-110.00379477833903,52.18154271328328],[-110.00502690093333,52.25944838783887],[-110.00300693395866,52.27373817673912],[-110.0053780348788,52.33031051020046],[-110.00494638756533,52.404948011110825],[-110.00444606508846,52.52138173637276],[-110.22137663427468,52.52171707331675],[-110.2212672928166,52.535859112975004],[-110.26883500418211,52.53591070649777],[-110.26881421345738,52.550460384244424],[-110.4306106078562,52.5504988029003],[-110.43677526458835,52.53559782897056],[-110.46089679608495,52.53472400220615],[-110.60533069193868,52.535974767913885],[-110.60481453327631,52.623536717470685],[-110.77329930692947,52.62341489122408],[-110.94049600814401,52.62385084450908],[-110.94053278310314,52.63823770559394],[-111.01283210546266,52.63822080687058],[-111.01200121500263,52.66804956545848],[-111.06792174976862,52.66761942004216],[-111.06780478589529,52.69780814527791],[-111.18932158075971,52.69769259580158],[-111.18929784397902,52.7308979613798]],[[-111.06054751486923,52.568013185524464],[-111.04911537287049,52.56583388407872],[-111.06311763569043,52.55976072522095],[-111.06054751486923,52.568013185524464]],[[-110.96562721679221,52.5062971014939],[-110.9769601580085,52.50678966880164],[-110.97656127554265,52.513319180099025],[-110.96078340242785,52.51371423320488],[-110.96562721679221,52.5062971014939]],[[-110.81925230204106,52.44843028801619],[-110.832596513634,52.44843290485218],[-110.83266948968551,52.45826910921747],[-110.82031477048106,52.45910546515591],[-110.81925230204106,52.44843028801619]],[[-110.26878619200343,52.36393509345489],[-110.23315180229119,52.36117619536316],[-110.244836182075,52.346603802359766],[-110.27450436704562,52.35019632623099],[-110.26878619200343,52.36393509345489]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-110.61995444292003,\"lat\":52.39769692146451},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4807\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4807001\"],\"csd_name_en\":[\"Provost No. 52\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Provost No. 52\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-110.46323291445219,52.76558319130575],[-110.46353449009307,52.7558730110833],[-110.43933449511294,52.750968198791206],[-110.43954919813774,52.76327258639975],[-110.46323291445219,52.76558319130575]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-110.45095700621744,\"lat\":52.758835396721764},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4807\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4807052\"],\"csd_name_en\":[\"Edgerton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Edgerton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.53047722593286,53.383755770136744],[-111.53127441953313,53.37522993855218],[-111.5169663571842,53.37475150403331],[-111.53047722593286,53.383755770136744]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.52623933421673,\"lat\":53.37791240424074},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4810\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4810031\"],\"csd_name_en\":[\"Innisfree\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Innisfree\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-110.30558381807435,53.03786423727111],[-110.29488589114352,53.02822716041047],[-110.29373750202407,53.031975687155736],[-110.29785961646357,53.037838000408996],[-110.30558381807435,53.03786423727111]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-110.29853385050369,\"lat\":53.03419115998125},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4810\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4810038\"],\"csd_name_en\":[\"Paradise Valley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Paradise Valley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.03826347073095,53.04821937330079],[-114.03843443087464,53.0543995638962],[-114.03858423316134,53.054398558076755],[-114.03826347073095,53.04821937330079]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.03842737825565,\"lat\":53.05233916509125},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811003\"],\"csd_name_en\":[\"Argentia Beach\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Argentia Beach\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.04982742366971,52.98541947776504],[-114.06050068971508,52.9950109744057],[-114.08620771163889,52.99713615342243],[-114.08632640703807,52.99638989295396],[-114.06296195651363,52.99463261205021],[-114.05020848667347,52.983944898345364],[-114.04982742366971,52.98541947776504]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.06340247168991,\"lat\":52.992301764064685},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811004\"],\"csd_name_en\":[\"Grandview\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Grandview\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-115.55789984111283,51.19308670494964],[-115.58126678332171,51.18441306569748],[-115.58243866519548,51.16823173769781],[-115.55708161880358,51.1705676258533],[-115.56329978663997,51.18066912428337],[-115.55789984111283,51.19308670494964]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-115.57051169530935,\"lat\":51.17871896347201},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4815\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4815035\"],\"csd_name_en\":[\"Banff\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Banff\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.99894069999188,49.842482481029],[-114.00081786270137,49.859169861048784],[-114.00035816757782,49.9606247109072],[-113.99945219639511,50.19372283280968],[-114.06788204886071,50.19331678776445],[-114.06987710771895,50.309955033253416],[-114.20776967888249,50.3096103153748],[-114.34535703929089,50.309777280932195],[-114.34510205811895,50.295174828327994],[-114.32174290925217,50.29508722902915],[-114.32127835994035,50.2658396565676],[-114.35201470359274,50.241364286507],[-114.40022348099441,50.22841749682482],[-114.41262592118122,50.21574760022935],[-114.43467441310479,50.21204889139333],[-114.4461219078209,50.20170620749358],[-114.44211508016838,50.186597401184194],[-114.46180189328855,50.17900139626696],[-114.4767199194958,50.18361690357248],[-114.50887659938827,50.18351079408068],[-114.5524157681509,50.19342302975925],[-114.56809601788333,50.18890426400836],[-114.55700329935927,50.166473161131684],[-114.59485410398706,50.15803798681067],[-114.60443299024591,50.16699827494262],[-114.60476167717054,50.18469532807255],[-114.64384669269454,50.18428196061715],[-114.69199336893888,50.174967876430166],[-114.72631622852407,50.160738465424394],[-114.72475923284716,50.14327405007512],[-114.73325919665572,50.11861061798698],[-114.71079332054718,50.102219341796605],[-114.69736823547274,50.08694400643494],[-114.69129853479862,50.0713417940307],[-114.66637119771778,50.05094437397303],[-114.65765505176516,50.019125614892104],[-114.66658263404534,50.00328570208277],[-114.6548491274983,49.99694870296892],[-114.65150037462196,49.975518781521444],[-114.65743624890818,49.96839673911026],[-114.6833107132617,49.967060772608754],[-114.69367620540046,49.942583955612854],[-114.68731662390327,49.917054949417704],[-114.69178590695964,49.89628610420888],[-114.67268831408197,49.87833597369757],[-114.67137070562278,49.86451154533706],[-114.63993243584716,49.82772088319305],[-114.64741901684566,49.81926817138768],[-114.63605150522969,49.7848115861821],[-114.65913532717275,49.76507938030089],[-114.63311912237111,49.73407963466125],[-114.63890515628626,49.71784260817671],[-114.66838503820792,49.70387516512307],[-114.66734841332809,49.669821692163765],[-114.61184094302875,49.66968831948198],[-114.61219483894867,49.6843151775898],[-114.59123586386261,49.68417448424251],[-114.59073806696534,49.670093934710856],[-114.50985583226495,49.669558670270575],[-114.50954055408876,49.6552305338671],[-114.45228841200658,49.65615984954815],[-114.45268817611752,49.640548811910044],[-114.36091688503538,49.640344454799674],[-114.36225173331331,49.625414835402125],[-114.3169960129246,49.62585385270763],[-114.31665205706517,49.67559141840794],[-114.3179009611356,49.800882504510376],[-114.34057840746908,49.801008821799755],[-114.3398289040481,49.8739815407245],[-114.321462434962,49.874040542165964],[-114.31680113992158,49.86283571763863],[-114.29380619795936,49.855080390761636],[-114.25630505291934,49.86017782832563],[-114.22799177417185,49.84450311683588],[-114.17735917541553,49.84287446627384],[-113.99894069999188,49.842482481029]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.35375036256853,\"lat\":49.99215108854068},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4815\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4815045\"],\"csd_name_en\":[\"Ranchland No. 66\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Ranchland No. 66\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.18379497546557,56.43919985726896],[-111.16886867611443,56.43985708159361],[-111.17896509626848,56.446129866201595],[-111.18379497546557,56.43919985726896]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.17720958261616,\"lat\":56.441728935021395},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4816\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4816822\"],\"csd_name_en\":[\"Gregoire Lake 176A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Gregoire Lake 176A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.89329650585344,55.95615522875992],[-113.90462889644223,55.96289547735835],[-113.93307518795713,55.95934777140373],[-113.96408878649532,55.985260479569135],[-114.00217872937395,55.984705988648436],[-114.00223440693696,55.94110129493237],[-113.89573522191128,55.938952140024696],[-113.89329650585344,55.95615522875992]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.95746434051209,\"lat\":55.95820340552056},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817821\"],\"csd_name_en\":[\"Wabasca 166B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Wabasca 166B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-116.13683411555894,55.548628290981256],[-116.16416336227232,55.54885595804374],[-116.16427935838517,55.547210368994236],[-116.13573512796361,55.548228652627806],[-116.13683411555894,55.548628290981256]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-116.15302882024723,\"lat\":55.54818600648416},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817836\"],\"csd_name_en\":[\"Kapawe'no First Nation 150B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Kapawe'no First Nation 150B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-115.75890683082596,58.45679393370874],[-115.75973603436881,58.428900485716326],[-115.71723465969784,58.42704124782865],[-115.71750262159983,58.45669709302383],[-115.75890683082596,58.45679393370874]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-115.7381346853104,\"lat\":58.442289593332724},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817841\"],\"csd_name_en\":[\"Beaver Ranch 163\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Beaver Ranch 163\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.2937753461158,49.198352498629085],[-117.27096602050024,49.181903832168736],[-117.2717447765509,49.198471150203034],[-117.2937753461158,49.198352498629085]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.27882871438898,\"lat\":49.19290916033361},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5903\"],\"cd_name_en\":[\"Central Kootenay\"],\"csd_code\":[\"5903011\"],\"csd_name_en\":[\"Salmo\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Central Kootenay\",\"csd_name_fr\":\"Salmo\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-117.35300401335412,49.95477320207441],[-117.36647160094554,49.9539470924299],[-117.36334870425908,49.9468297820381],[-117.35300401335412,49.95477320207441]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.36094143951956,\"lat\":49.95185002551414},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5903\"],\"cd_name_en\":[\"Central Kootenay\"],\"csd_code\":[\"5903027\"],\"csd_name_en\":[\"Silverton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Central Kootenay\",\"csd_name_fr\":\"Silverton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.67638449086074,49.196492542709166],[-119.79157645863329,49.19599341297523],[-119.78247270278577,49.16755390934372],[-119.78248278268687,49.113390737424965],[-119.76088802195608,49.113418711060476],[-119.7605805905656,49.13551901675656],[-119.71704267511528,49.1354010659591],[-119.71462084811577,49.096958596301995],[-119.74769853798863,49.09695948046223],[-119.74939639796605,49.10214798642979],[-119.75901222037103,49.09401117136752],[-119.78324684244836,49.09694645855776],[-119.79429322572015,49.08847385789486],[-119.83719228722175,49.06841566637572],[-119.892197000496,49.03596375295934],[-119.91847518532278,49.013110974413735],[-119.94623130369921,49.000157086237486],[-119.736879691363,49.00008374846988],[-119.73495187572705,49.059103175889334],[-119.72975434673499,49.0805930259492],[-119.71617432820315,49.073983951323946],[-119.70851163891221,49.049152856627686],[-119.71143882806412,49.03203526764504],[-119.69753614067515,49.01883856020781],[-119.70300448273004,49.0000499391504],[-119.62612343561455,49.00008080953583],[-119.62656114868332,49.073469944833626],[-119.64853627067235,49.09911692775317],[-119.67061823422017,49.09929827461868],[-119.66962147231902,49.120932794086585],[-119.67094733063838,49.18243929225323],[-119.67638449086074,49.196492542709166]],[[-119.73768253890036,49.18437134069283],[-119.7264591346844,49.19289802657545],[-119.72638006097898,49.17475556402274],[-119.7377038879337,49.17499562660133],[-119.73768253890036,49.18437134069283]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.74548700334454,\"lat\":49.07676483316587},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5907\"],\"cd_name_en\":[\"Okanagan-Similkameen\"],\"csd_code\":[\"5907026\"],\"csd_name_en\":[\"Okanagan-Similkameen B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Okanagan-Similkameen\",\"csd_name_fr\":\"Okanagan-Similkameen B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.22650092164335,49.40042832922806],[-120.22664873643899,49.40599420304021],[-120.23167217078705,49.406153841548715],[-120.23159599361334,49.40143712590845],[-120.22650092164335,49.40042832922806]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-120.22903522782788,\"lat\":49.40349088071312},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5907\"],\"cd_name_en\":[\"Okanagan-Similkameen\"],\"csd_code\":[\"5907850\"],\"csd_name_en\":[\"Lulu 5\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Okanagan-Similkameen\",\"csd_name_fr\":\"Lulu 5\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.81393020211615,49.304120907199966],[-121.79701426012296,49.30188243747019],[-121.78862469440377,49.28068934856984],[-121.76602979441442,49.280437854379805],[-121.77140793832262,49.30936496247825],[-121.79917509804413,49.31389292554743],[-121.81393020211615,49.304120907199966]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.78450827479897,\"lat\":49.29774422131553},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909027\"],\"csd_name_en\":[\"Harrison Hot Springs\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Harrison Hot Springs\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.3384169476604,49.109050987249475],[-122.35995373038246,49.1039613342722],[-122.3598822994415,49.11918548581165],[-122.38723035152037,49.138006610104306],[-122.39506920763033,49.14833670876341],[-122.42580430075782,49.168830604910696],[-122.46147846461116,49.17132706297204],[-122.45955817397534,49.080422958169315],[-122.45915453446993,49.002256446015046],[-122.11677438352744,49.00223376893847],[-122.11697178437045,49.01636723928189],[-122.09432979559968,49.01659529956489],[-122.09442942237877,49.03844065510315],[-122.07256046378015,49.04551762949499],[-122.0803496951563,49.060357888656924],[-122.08012302770219,49.10602546342895],[-122.09897141598,49.12699439529163],[-122.09552475168059,49.132931253427856],[-122.11540009219658,49.11828786652002],[-122.11576510281247,49.10778288152642],[-122.13201710021374,49.0970764798326],[-122.18481093509004,49.096550895224645],[-122.17425763941354,49.11354732973874],[-122.18150359407919,49.138232793168726],[-122.20124130620617,49.13077848741415],[-122.2202359831062,49.13143790354563],[-122.24969641265483,49.143189687659536],[-122.2595704120039,49.14519360136447],[-122.3384169476604,49.109050987249475]],[[-122.20131038408222,49.06072562247722],[-122.18289554379167,49.057547695871556],[-122.19437704411692,49.04076136038091],[-122.20624166814835,49.053397340092744],[-122.20131038408222,49.06072562247722]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.28594258045453,\"lat\":49.06871616604403},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909052\"],\"csd_name_en\":[\"Abbotsford\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Abbotsford\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.65929876842958,49.296537128000566],[-121.65679749730616,49.29588497677709],[-121.64603356064131,49.30224370651941],[-121.66055473967286,49.305728462768556],[-121.65929876842958,49.296537128000566]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.65510682161661,\"lat\":49.30100828961019},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909843\"],\"csd_name_en\":[\"Peters 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Peters 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.42458299238417,49.18450265287301],[-122.41902861215097,49.18211688381191],[-122.41069870669266,49.18737380957053],[-122.42378878619432,49.19110275930646],[-122.42458299238417,49.18450265287301]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.41912768071957,\"lat\":49.186597933908885},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909856\"],\"csd_name_en\":[\"Langley 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Langley 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.82207409842368,49.321449429666046],[-122.82232139192114,49.35162572558135],[-122.83206558819559,49.364980250871255],[-122.83362676074316,49.382046452998104],[-122.87840431340298,49.381880185972236],[-122.89440438882329,49.3560432145028],[-122.87766888947154,49.35160102352541],[-122.87756983834271,49.33015955900248],[-122.8670036532452,49.32279544652776],[-122.8734832022589,49.30578534768148],[-122.84133435085293,49.305881819489144],[-122.82207409842368,49.321449429666046]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.85340361792413,\"lat\":49.34590640475135},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5915\"],\"cd_name_en\":[\"Greater Vancouver\"],\"csd_code\":[\"5915038\"],\"csd_name_en\":[\"Anmore\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Greater Vancouver\",\"csd_name_fr\":\"Anmore\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.56951882529145,49.179738678582666],[-122.57554041404782,49.17241189491334],[-122.54859823684724,49.16873805503805],[-122.55468844457025,49.17626495866048],[-122.56951882529145,49.179738678582666]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.56252394956901,\"lat\":49.17400438050923},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5915\"],\"cd_name_en\":[\"Greater Vancouver\"],\"csd_code\":[\"5915816\"],\"csd_name_en\":[\"McMillan Island 6\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Greater Vancouver\",\"csd_name_fr\":\"McMillan Island 6\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.45567815040327,48.665515067571164],[-123.4507303157126,48.66270668316101],[-123.4441258892104,48.66266809340844],[-123.44404820550521,48.66618181284864],[-123.45567815040327,48.665515067571164]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.44864177209624,\"lat\":48.6644289475592},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5917\"],\"cd_name_en\":[\"Capital\"],\"csd_code\":[\"5917802\"],\"csd_name_en\":[\"Union Bay 4\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Capital\",\"csd_name_fr\":\"Union Bay 4\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.00381933540022,48.913847267808045],[-125.01134409225756,48.90074327607443],[-125.00112515699787,48.8876644466796],[-124.96914540579475,48.88764378357032],[-124.96958504774503,48.90889078423109],[-125.00207671311964,48.9088140857197],[-125.00381933540022,48.913847267808045]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.98864599172113,\"lat\":48.89873479278096},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5923\"],\"cd_name_en\":[\"Alberni-Clayoquot\"],\"csd_code\":[\"5923809\"],\"csd_name_en\":[\"Numukamis 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Alberni-Clayoquot\",\"csd_name_fr\":\"Numukamis 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-123.73548843154394,49.48629747511017],[-123.75269330954636,49.486169539272844],[-123.75337778687727,49.48307214854415],[-123.75340726184346,49.47075210695941],[-123.74333038679534,49.46437345017558],[-123.73513049152393,49.4672111444336],[-123.73548843154394,49.48629747511017]]],[[[-123.74565614287962,50.09346577477302],[-123.76809733141269,50.07613175794487],[-123.75653066675568,50.07277107254643],[-123.74565614287962,50.09346577477302]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.74759717290418,\"lat\":49.646902457232144},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5929\"],\"cd_name_en\":[\"Sunshine Coast\"],\"csd_code\":[\"5929803\"],\"csd_name_en\":[\"Sechelt (Part)\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian government district\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Sunshine Coast\",\"csd_name_fr\":\"Sechelt (Part)\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.91631570409766,50.04018783490319],[-122.86100443791707,50.0401699752097],[-122.86058272970288,50.13684015068318],[-122.91365569597401,50.13715901672943],[-122.91398804681499,50.16529267630044],[-122.92278021533453,50.17399800475367],[-122.95207033967405,50.16471966457225],[-123.00682439615761,50.16500729843792],[-123.06873633737032,50.124993189709635],[-123.10143882720111,50.10149966206754],[-123.15497943308938,50.10170663526393],[-123.15055881990104,50.03994722028362],[-123.11354481660453,50.04058902706056],[-123.09592119523184,50.03328248420495],[-123.05826712857903,50.02701627976825],[-122.978297125054,50.02591201432369],[-122.978655652892,50.04036518653064],[-122.91631570409766,50.04018783490319]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.99465698472288,\"lat\":50.089919696292895},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5931\"],\"cd_name_en\":[\"Squamish-Lillooet\"],\"csd_code\":[\"5931020\"],\"csd_name_en\":[\"Whistler\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Squamish-Lillooet\",\"csd_name_fr\":\"Whistler\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.98718153346223,50.6688392565413],[-121.98877483477796,50.66847606265857],[-121.98952891421274,50.66690887047751],[-121.98718153346223,50.6688392565413]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.98849509415099,\"lat\":50.66807472989245},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5931\"],\"cd_name_en\":[\"Squamish-Lillooet\"],\"csd_code\":[\"5931824\"],\"csd_name_en\":[\"Seton Lake 5\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Squamish-Lillooet\",\"csd_name_fr\":\"Seton Lake 5\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.75236726672192,50.085712495553196],[-120.74986572634458,50.09886962783619],[-120.76322035065068,50.098621654514815],[-120.75236726672192,50.085712495553196]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-120.75515111457239,\"lat\":50.0944012593014},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933805\"],\"csd_name_en\":[\"Joeyaska 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Joeyaska 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.97769663661286,51.41046558692634],[-121.97747657421003,51.43582144505554],[-122.06660933700302,51.438407765256585],[-122.06560178429224,51.451306276543086],[-122.08631377706708,51.45165106722969],[-122.08686415909943,51.42535805120648],[-122.0002071591557,51.42455989130738],[-122.00094750910267,51.4070058090652],[-121.97769663661286,51.41046558692634]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.03127380148345,\"lat\":51.43034031347505},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933821\"],\"csd_name_en\":[\"Canoe Creek 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Canoe Creek 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.57977166711669,50.23015178342278],[-121.57900671643677,50.22595450736052],[-121.5751905372575,50.22659389495418],[-121.57528636344335,50.228720819241566],[-121.57977166711669,50.23015178342278]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.57753958991375,\"lat\":50.22790136877341},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933829\"],\"csd_name_en\":[\"Klahkamich 17\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Klahkamich 17\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.73679591787801,50.50711886559185],[-121.74250285502914,50.490923760018056],[-121.72854522417751,50.490658614536166],[-121.72648952740819,50.498048069947785],[-121.73679591787801,50.50711886559185]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.73437818898978,\"lat\":50.49693215328703},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933858\"],\"csd_name_en\":[\"Seah 5\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Seah 5\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.24073410536644,50.36073431147266],[-121.2336355937944,50.354596718288335],[-121.23370686753584,50.36916118627346],[-121.24073410536644,50.36073431147266]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.23602552223223,\"lat\":50.361497405344814},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933861\"],\"csd_name_en\":[\"Kloklowuck 7\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Kloklowuck 7\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.37552530261513,50.0050541288123],[-119.37465322340374,50.019994689203145],[-119.3991406314323,50.02011463317419],[-119.39163022844302,50.007586035936356],[-119.40288223707964,50.00540458063751],[-119.46289518659296,50.00436034184074],[-119.47898409141229,49.966718074828215],[-119.48451281072282,49.94093750762611],[-119.50698170862607,49.917952283726805],[-119.51827449350861,49.90397710086642],[-119.51149574249685,49.87874454745684],[-119.51545300630856,49.85093588899766],[-119.52218399602232,49.8368662100169],[-119.56454951274995,49.81000729722012],[-119.5897711296186,49.801470753516],[-119.5888443634451,49.773402742691296],[-119.54496629865145,49.77412142937768],[-119.54488319067546,49.78099342839451],[-119.51254498283579,49.781292351680946],[-119.5128448228136,49.788994533434426],[-119.4554958199196,49.78833529582757],[-119.44401717489568,49.793933331881526],[-119.44436785565443,49.80812833740224],[-119.42135908031615,49.80885752971869],[-119.4096129344747,49.82303017565718],[-119.35411739098754,49.8245081828291],[-119.34209080134444,49.83146696996955],[-119.34229700512334,49.85287964147024],[-119.31995739674484,49.852800838644164],[-119.32007735698915,49.87454665701488],[-119.33075318838235,49.87471082219233],[-119.33126149345584,49.91808342916018],[-119.35184990049054,49.91806112878341],[-119.37076198188831,49.92357286201457],[-119.37753149078469,49.94000319755982],[-119.36867740029051,49.94569871104422],[-119.37590956531216,49.96030592772827],[-119.37552530261513,50.0050541288123]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.44047496343417,\"lat\":49.88481531020683},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5935\"],\"cd_name_en\":[\"Central Okanagan\"],\"csd_code\":[\"5935010\"],\"csd_name_en\":[\"Kelowna\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Central Okanagan\",\"csd_name_fr\":\"Kelowna\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.08197269663344,50.553988915073695],[-119.1253422636943,50.53622488866648],[-119.12368478440459,50.51862388479246],[-119.13932481710054,50.520370980857884],[-119.13790991353073,50.49961050871217],[-119.18345635989662,50.50000044409184],[-119.18337170821098,50.52781476928139],[-119.30846641971793,50.52860320799074],[-119.30811639755586,50.5145723787715],[-119.308015946323,50.500270311754186],[-119.29620048499288,50.492878628875516],[-119.26317969477701,50.49282120745773],[-119.26319391663098,50.484970500961914],[-119.29746500553702,50.484901604345744],[-119.29738276493796,50.47135010814293],[-119.32892854352538,50.469983349042366],[-119.32821861889117,50.441066089360625],[-119.3173753798669,50.44078940989287],[-119.31786342611008,50.416146245596984],[-119.30856992585132,50.405177809250475],[-119.30602460215341,50.36930754132604],[-119.27768885310698,50.35149425723808],[-119.27788178506407,50.34037685783297],[-119.24279685031829,50.34023894878028],[-119.17126040196871,50.339813997156455],[-119.17255784883638,50.41264526966282],[-119.15038265216778,50.413035156310364],[-119.14909133482105,50.441757675825265],[-119.07939790963454,50.4447061549188],[-119.08197269663344,50.553988915073695]],[[-119.23002327845471,50.38397196148777],[-119.23859705311013,50.38396992431531],[-119.23825325702151,50.39058242554606],[-119.22873151891638,50.39061212140011],[-119.23002327845471,50.38397196148777]],[[-119.2101774423417,50.45596319190772],[-119.18256450905325,50.45582845790382],[-119.19447839032267,50.43787663392333],[-119.21712458395903,50.43625816973287],[-119.2101774423417,50.45596319190772]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.21221820109305,\"lat\":50.44619014116738},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5937\"],\"cd_name_en\":[\"North Okanagan\"],\"csd_code\":[\"5937024\"],\"csd_name_en\":[\"Spallumcheen\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"North Okanagan\",\"csd_name_fr\":\"Spallumcheen\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-118.92386926889019,51.68956225211715],[-118.93782763499192,51.70272153474947],[-118.96106303859385,51.70151564040717],[-118.97909924518952,51.69228366391735],[-119.00994132172315,51.687260331795045],[-118.9944890241672,51.669456320626175],[-118.9757039275387,51.65948004937751],[-118.97798879549991,51.64407000227665],[-118.98317639258845,51.63523266911827],[-118.96055967831114,51.60952164797827],[-118.97292717204185,51.59544816977841],[-118.96613091424219,51.574958760670555],[-118.98123318455714,51.55354653758011],[-118.98368790541764,51.54235816003254],[-118.96477897686509,51.529114149103016],[-118.95019426570818,51.507398369566864],[-118.96470404721526,51.490641247739276],[-118.95222012293246,51.47149514488682],[-118.9534538741414,51.46131035394043],[-119.00029405336143,51.43060170795697],[-119.02902696490762,51.42290157536584],[-119.05878826370471,51.39501142599631],[-119.07615770525054,51.38939251470571],[-119.09152794655004,51.3950262688695],[-119.10902823393536,51.37616516711181],[-119.15431491038238,51.35866205905208],[-119.18704895813184,51.35449509980522],[-119.19242495283454,51.31760557657068],[-119.22098710116555,51.311124603392926],[-119.22451956195395,51.27989674807288],[-119.23722320792575,51.268109228029275],[-119.27498179868856,51.257225057536715],[-119.29399449073557,51.24634292622944],[-119.32415819271532,51.25321936037944],[-119.3708816411726,51.25549364424913],[-119.3866653298869,51.24126817027341],[-119.44069469321866,51.221772775535975],[-119.44548554580543,51.21404491741168],[-119.43965648890668,51.18228344660909],[-119.47399223566961,51.17909684192297],[-119.48393414795052,51.17372818304496],[-119.5094536744199,51.143205971742134],[-119.50865590516553,51.118573640989915],[-119.52569883935175,51.10664693173659],[-119.50713150984751,51.06665214955037],[-119.52169110722421,51.032646426296445],[-119.54807206314442,51.01103044779492],[-119.53774483760012,51.00008958999214],[-119.536918404455,50.98359434586235],[-119.6059867421596,50.98478267416602],[-119.70453126624193,50.98370475601514],[-119.67569360989788,50.97007807531837],[-119.66906782293843,50.9582727000753],[-119.61589620731793,50.97237219033707],[-119.60371253266197,50.96522005673113],[-119.62402762317645,50.94862946978891],[-119.65601652641274,50.939064470829955],[-119.64232267416841,50.9257101983188],[-119.6643512942585,50.92539225803596],[-119.66419384683739,50.86772658977897],[-119.60906621024864,50.90191272330083],[-119.57885504187462,50.90089426968821],[-119.55733302752381,50.88944215386861],[-119.56219538408563,50.88086270708062],[-119.53623665120139,50.8934517577446],[-119.50403723010965,50.897081939828475],[-119.45651523854359,50.892632732977916],[-119.42178075487352,50.89778617736235],[-119.40178183843378,50.905807303936825],[-119.38249066257514,50.927702036174765],[-119.36217354604953,50.933893492842344],[-119.29057155184606,50.94444132470796],[-119.15318184904542,50.9560785081428],[-119.09401626442418,50.97273699419848],[-119.04259624465804,50.99987956322083],[-118.99281558139243,50.99999662071179],[-118.97566947882193,50.99997041648605],[-118.96783742471786,51.03077271171156],[-118.94297995911346,51.035434943047846],[-118.82710186260131,51.04681085128411],[-118.82463381817185,51.05484086131386],[-118.7960685913883,51.06372936350382],[-118.7645770936803,51.0642404614322],[-118.75813372913123,51.07061186058235],[-118.7725878479959,51.11176998930351],[-118.75294479318934,51.11563475385087],[-118.73953139709418,51.12660130658587],[-118.74078487736556,51.14420384199181],[-118.72436764532245,51.148347246237684],[-118.71767625605247,51.16952890203032],[-118.73693290567691,51.21618527746516],[-118.71585619897516,51.224744380673265],[-118.70632995078927,51.237107814274474],[-118.71050894426915,51.2456167477837],[-118.69971320661344,51.258709629872826],[-118.72939220037296,51.28755998166383],[-118.7069418069625,51.30542410672873],[-118.68972428109215,51.31128950514339],[-118.67626681390452,51.303752957384894],[-118.62834576253185,51.301023223823066],[-118.6000035892796,51.31009100421561],[-118.61141929773342,51.339669986568325],[-118.6165552686062,51.36297442832778],[-118.59066470063208,51.37201431383442],[-118.58153785141016,51.39008736770087],[-118.6168379370873,51.409338327001905],[-118.60871085720336,51.42296771319554],[-118.6142397164195,51.44158397980283],[-118.63318849218433,51.44561205316492],[-118.63253735056647,51.46376294181544],[-118.67521940851866,51.46089749435367],[-118.70394024342461,51.4752649225759],[-118.71487464462496,51.490174640476084],[-118.69316682393752,51.504209613306756],[-118.7137992199034,51.510729912593575],[-118.72779779552862,51.52398673143172],[-118.74208204352477,51.528673540154436],[-118.76839116267433,51.52136843738617],[-118.8110114680702,51.52399676660786],[-118.83232494835455,51.53105003118391],[-118.82849170622346,51.550767775861615],[-118.82845282637938,51.58284242219041],[-118.81739507058563,51.589099736453356],[-118.8177043004677,51.62664166789373],[-118.82581105926387,51.634819099869674],[-118.86375064007775,51.64579109834614],[-118.88394563248839,51.64419352660929],[-118.90369779020921,51.65674025187318],[-118.90801212401182,51.67040195286949],[-118.92386926889019,51.68956225211715]],[[-119.48715114370509,50.93474609801887],[-119.46071627703512,50.934713844450286],[-119.46004147601963,50.91636640976583],[-119.4680519889432,50.90254002712564],[-119.48173862305806,50.90173306089648],[-119.50955361952687,50.91536706863863],[-119.49608731885488,50.92001987239197],[-119.48715114370509,50.93474609801887]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.06777492508272,\"lat\":51.21766124712646},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5939\"],\"cd_name_en\":[\"Columbia-Shuswap\"],\"csd_code\":[\"5939044\"],\"csd_name_en\":[\"Columbia-Shuswap F\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Columbia-Shuswap\",\"csd_name_fr\":\"Columbia-Shuswap F\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.31475910019637,50.720681187666614],[-119.30939322020835,50.73552216898598],[-119.33148435412977,50.73821404846184],[-119.3304931412827,50.72037313340667],[-119.31475910019637,50.720681187666614]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.32171645887459,\"lat\":50.72919586803259},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5939\"],\"cd_name_en\":[\"Columbia-Shuswap\"],\"csd_code\":[\"5939811\"],\"csd_name_en\":[\"Switsemalph\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Columbia-Shuswap\",\"csd_name_fr\":\"Switsemalph\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-132.13232469363797,53.99999596188647],[-132.10443751592845,54.000030263644135],[-132.10282757628076,54.01414533781929],[-132.02783155756626,54.016057204775606],[-132.02688434415046,54.02920067818455],[-132.0568412542329,54.03252848218157],[-132.11272555534833,54.03124098652622],[-132.15930263728012,54.03897152025993],[-132.16056839682818,54.02192689652323],[-132.16056150940364,54.012376481231755],[-132.14128910198707,53.99998340433455],[-132.13232469363797,53.99999596188647]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-132.10544819144087,\"lat\":54.02027449596067},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5947\"],\"cd_name_en\":[\"Skeena-Queen Charlotte\"],\"csd_code\":[\"5947023\"],\"csd_name_en\":[\"Masset\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Skeena-Queen Charlotte\",\"csd_name_fr\":\"Masset\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-132.10634603932886,53.27703477331159],[-132.1617971072287,53.27832561935862],[-132.15714939108273,53.260397132332116],[-132.1663214897236,53.23929159503311],[-132.1628293354186,53.22844790411522],[-132.1263823773704,53.20731723601631],[-132.11658288165498,53.20811906783831],[-132.0384767536598,53.22681342019463],[-132.00322236087672,53.23106368467935],[-132.0026646240946,53.25565399459234],[-132.01617000741732,53.25449421238428],[-132.0170703298164,53.27705628067529],[-132.10634603932886,53.27703477331159]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-132.08909215934997,\"lat\":53.247112304100035},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5947\"],\"cd_name_en\":[\"Skeena-Queen Charlotte\"],\"csd_code\":[\"5947026\"],\"csd_name_en\":[\"Queen Charlotte\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Skeena-Queen Charlotte\",\"csd_name_fr\":\"Queen Charlotte\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-130.98889023321266,54.70281503883701],[-131.4999999976159,54.69294919989179],[-131.99999829672424,54.68098965586914],[-132.33658846020825,54.67187825289841],[-132.6836092732347,54.66137395210769],[-132.92463378200736,54.65592006678683],[-133.24395797466372,54.645918436952655],[-133.24547509139163,54.39478120119361],[-133.2472613648831,54.16545704816303],[-133.24587777955827,54.01329547112762],[-133.24396018063527,53.79722587367378],[-133.23377121714898,53.720094073087495],[-133.22014614876525,53.67543976400244],[-133.1737646875624,53.55354502461651],[-133.12527141580046,53.417808489576686],[-133.09887482740464,53.35882346547521],[-133.02154995613037,53.167660274016455],[-132.81422626033648,53.16689742939473],[-132.6219075270855,53.16367022214241],[-132.58968877103956,53.166000527967014],[-132.5519993739472,53.1571990840301],[-132.51481374162148,53.14152588391846],[-132.47847339357904,53.1307367091953],[-132.42488951467195,53.13270902044856],[-132.37827103933483,53.131779773969946],[-132.3533340671065,53.150312267510905],[-132.31943488701364,53.14853850765922],[-132.30338791869647,53.1542338280111],[-132.22132963153987,53.14277164900367],[-132.2053484705299,53.145576468131964],[-132.14726217159443,53.162963342092695],[-132.12976313511766,53.16496334726036],[-132.1092218702622,53.159349781832546],[-132.0793852445653,53.161565240337474],[-132.05916367077836,53.18118983273809],[-132.0012154815418,53.22376179244234],[-131.98578824491221,53.224936577153464],[-131.94240751494658,53.25281826226175],[-131.89840595540176,53.29708050494957],[-131.88520076992154,53.317708668819336],[-131.7986485994315,53.29104561004405],[-131.7282202942096,53.25045834652333],[-131.49418082086308,53.29469275170235],[-131.21172159373626,53.33660938837528],[-130.93251039003096,53.37675786079484],[-130.71401131342958,53.40877312822282],[-130.7228511231237,53.46945303107114],[-130.72460682768562,53.68446493134028],[-130.72231489187303,53.75672692175618],[-130.71362034970073,53.78057718512071],[-130.6965434604629,53.80064420121801],[-130.72754748125215,53.816600438078105],[-130.79868534491123,53.863789147353685],[-130.84560864046904,53.906924350858695],[-130.86992768859335,53.934903537333604],[-130.91529833201383,53.995031664595075],[-130.9878027826252,54.16492075859297],[-130.9944749093495,54.23210553097594],[-131.00091949841882,54.245638033365786],[-130.9713085944878,54.28024521014479],[-130.96962752425404,54.290707840790695],[-130.97683525651283,54.39721723397208],[-131.0145884530602,54.44381001810534],[-131.0292691016617,54.484964732971235],[-131.039536233935,54.49900756036753],[-131.03905472716073,54.5114561065808],[-131.0493802907311,54.54089293508082],[-131.05938392745702,54.55218814144333],[-131.10354877353834,54.57422633154789],[-131.10890208702648,54.57973209971783],[-131.10871408893198,54.617783315671744],[-131.09604156111078,54.63892474492078],[-130.98889023321266,54.70281503883701]],[[-132.27563219168783,53.66712340860571],[-132.3087067973448,53.66666159497554],[-132.3087936220093,53.6796226980473],[-132.26039582954752,53.68000100638452],[-132.27563219168783,53.66712340860571]],[[-131.98607317891944,53.28324794660073],[-131.9750573098652,53.30311599265788],[-131.96639129105517,53.3020986628078],[-131.96922610876095,53.28307649393449],[-131.98607317891944,53.28324794660073]],[[-132.2996051027893,53.616824403811684],[-132.2869140174092,53.60194063840734],[-132.33643407227422,53.60031391915365],[-132.33632265547746,53.61500139710385],[-132.30714709328942,53.62061280783356],[-132.2996051027893,53.616824403811684]],[[-132.18029194156978,53.69561058076365],[-132.17131910028075,53.70907066619188],[-132.1507671304077,53.705998711875544],[-132.1398855787004,53.688541110968494],[-132.18299991045225,53.68172601995514],[-132.19150790184116,53.665704007573936],[-132.20987009225686,53.66545887439981],[-132.1946809167827,53.68858935073528],[-132.18029194156978,53.69561058076365]],[[-132.16056839682818,54.02192689652323],[-132.1966202706077,54.04280406548424],[-132.18517137427372,54.04944097526932],[-132.15930263728012,54.03897152025993],[-132.11272555534833,54.03124098652622],[-132.0568412542329,54.03252848218157],[-132.02688434415046,54.02920067818455],[-132.02783155756626,54.016057204775606],[-132.10282757628076,54.01414533781929],[-132.10443751592845,54.000030263644135],[-132.13232469363797,53.99999596188647],[-132.12988714413697,53.98614789189816],[-132.14128910198707,53.99998340433455],[-132.16056150940364,54.012376481231755],[-132.16056839682818,54.02192689652323]],[[-132.10634603932886,53.27703477331159],[-132.0170703298164,53.27705628067529],[-132.01617000741732,53.25449421238428],[-132.0026646240946,53.25565399459234],[-132.00322236087672,53.23106368467935],[-132.0384767536598,53.22681342019463],[-132.11658288165498,53.20811906783831],[-132.1263823773704,53.20731723601631],[-132.1628293354186,53.22844790411522],[-132.1663214897236,53.23929159503311],[-132.15714939108273,53.260397132332116],[-132.1617971072287,53.27832561935862],[-132.10634603932886,53.27703477331159]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-132.0689237836609,\"lat\":53.946446289135615},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5947\"],\"cd_name_en\":[\"Skeena-Queen Charlotte\"],\"csd_code\":[\"5947027\"],\"csd_name_en\":[\"North Coast D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Skeena-Queen Charlotte\",\"csd_name_fr\":\"North Coast D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-126.23374299788635,54.1831952344875],[-126.21862773268857,54.17682755618414],[-126.20745296984263,54.14559316114749],[-126.18055160934846,54.13938322981536],[-126.16948855021609,54.12711404018862],[-126.17208823325167,54.11489943698137],[-126.19270567822646,54.10509601185283],[-126.23059869995737,54.112558256891305],[-126.23970715255021,54.10212132701204],[-126.2610360347492,54.107338081155966],[-126.31601635480752,54.10128919501137],[-126.32517946553402,54.112924004640334],[-126.32688007860462,54.13314822731924],[-126.33960091060956,54.14182888489736],[-126.38034920373255,54.14614377967491],[-126.41877387665265,54.15351532515936],[-126.41749736932516,54.16317889087531],[-126.49021526562609,54.1644220955765],[-126.52872916051929,54.16848962927183],[-126.54988255337855,54.17647832421607],[-126.59610149628615,54.18425371051471],[-126.60994325371209,54.19991601721688],[-126.63789583793509,54.196598497529],[-126.63879858074128,54.15314826561246],[-126.63564073006553,54.05761102997982],[-126.77044972740192,54.056769768597626],[-126.78020720658807,54.05108506765631],[-126.800047141052,54.055175509864064],[-126.82402513219643,54.07237968367065],[-126.86596695778259,54.09583853852615],[-126.92209796250344,54.108371432472346],[-126.94957646548347,54.07838090670841],[-126.94972564060365,54.057003116312664],[-126.97582539268916,54.057044998803974],[-126.98019888462241,54.063183345203086],[-127.00966174253661,54.064153665558905],[-127.07953423117202,54.0780391161898],[-127.08235508486274,54.059512299281906],[-127.11082210737933,54.05204399235467],[-127.1071497678422,54.034420635480444],[-127.09711964678094,54.02323579847686],[-127.11347933042747,53.99473978702751],[-127.13113329753502,53.98675004806923],[-127.15476761211552,54.00286702120255],[-127.15944386928146,54.01862421230739],[-127.2386920256091,53.98961316582135],[-127.25885316336253,53.96612794343567],[-127.27300007385224,53.9580471386912],[-127.28247880436014,53.93129395790183],[-127.26592973480844,53.91579678457197],[-127.28044587090629,53.90507499230235],[-127.2819621757737,53.891257845636105],[-127.26566275906275,53.88180584027095],[-127.26735105237732,53.86192434538551],[-127.29359475555721,53.83362259469201],[-127.29892888662366,53.8205613575706],[-127.27672285885727,53.79657504051304],[-127.29563507338294,53.75554057743134],[-127.31514937976213,53.7596587003864],[-127.32974872771031,53.75489186615343],[-127.3288728871562,53.739823200642135],[-127.35826599182717,53.74070284635038],[-127.42785385170811,53.770252078445466],[-127.43809082107035,53.75835042180942],[-127.47507493117142,53.76877778410303],[-127.5112442056186,53.75933515462196],[-127.53723896026005,53.7351568120929],[-127.5719531866705,53.737788783855486],[-127.58632189555163,53.72591207275812],[-127.64965503540003,53.71060465397137],[-127.64948320809826,53.69572644909929],[-127.63821672995319,53.685112311464074],[-127.67183343620171,53.67799408508967],[-127.69414817590302,53.68288716472332],[-127.7348494530673,53.665750087283925],[-127.78589339029277,53.66185539443982],[-127.78083811165544,53.636906961826085],[-127.76297480113826,53.63292938780737],[-127.7647091076199,53.62340481963341],[-127.7492779642449,53.608070019398944],[-127.76140673567079,53.58890184665037],[-127.74147102576819,53.58088177914382],[-127.76782723832562,53.56602023058981],[-127.75911688741063,53.55286412864124],[-127.73259967408175,53.55556208446895],[-127.71019842049094,53.548083768109635],[-127.6774671315582,53.54945463802687],[-127.66684533195634,53.53610904937339],[-127.64928676027735,53.5335870813747],[-127.6144226052026,53.56820515458611],[-127.60347529152062,53.54836057221184],[-127.57122840018285,53.54152206704803],[-127.55430689958109,53.52510576561299],[-127.56691444727062,53.508058914868336],[-127.5653722883113,53.49293830350916],[-127.54488117961387,53.47643226519978],[-127.51870233833537,53.46114364801694],[-127.49924149490762,53.45926777750457],[-127.4984359588123,53.475146931150555],[-127.47917734812559,53.48802148073213],[-127.43497529589493,53.49089429577031],[-127.41573322563639,53.473003973651565],[-127.4190313191374,53.46118747740418],[-127.41041362013247,53.44716522140164],[-127.39457331789947,53.44080245038283],[-127.39275452399438,53.426596769899255],[-127.37049130755459,53.427830219516146],[-127.3620177579219,53.39897747513694],[-127.36447822104985,53.38596985667747],[-127.35501390781556,53.37292149683163],[-127.32667518996878,53.35813509472349],[-127.3147958999546,53.328432675966894],[-127.30089763582767,53.31762130708179],[-127.258691076824,53.302151534347594],[-127.25518188402046,53.296700228821116],[-127.26686157658617,53.27752625644057],[-127.22487279598889,53.25028273544213],[-127.20147361016463,53.249413673849766],[-127.19497441612329,53.264874752268945],[-127.15091733679175,53.281229948924306],[-127.13188323203369,53.26001062956191],[-127.12100500741838,53.23967660151724],[-127.09363837813997,53.23633555746292],[-127.07448726928365,53.25080518864074],[-127.06978360955473,53.28423677482433],[-127.05059936655286,53.29870398086578],[-127.0155319723282,53.3090326703481],[-126.98208791877303,53.27845997648652],[-126.97889317740601,53.26308590311096],[-127.00166121254516,53.2560864777379],[-127.0370856948237,53.226444147169985],[-127.05072039782307,53.20661967337186],[-127.01330807499006,53.18920887788087],[-127.00373637355645,53.158776272263324],[-127.01415434268021,53.1300315678157],[-127.03280920880397,53.11418341520478],[-127.01197597192846,53.09191608906649],[-127.01295136179262,53.075141490240135],[-126.98568207343952,53.07223713013635],[-126.94810750507412,53.09353939579648],[-126.93047439797968,53.08560025823442],[-126.88274659753698,53.08391881657795],[-126.86142970661346,53.10738275249651],[-126.84116168436563,53.11039547320625],[-126.80027384376064,53.0743421048183],[-126.78948884385582,53.049683733289555],[-126.79439315523156,53.02647872493458],[-126.78989978341596,53.000455560595306],[-126.76300183071204,53.00068084418427],[-126.7526238174417,52.99326260370327],[-126.72393869539901,52.99256359971914],[-126.67246851188874,53.02492390478455],[-126.65552020999263,53.031200998182044],[-126.6376434134733,53.02095770727875],[-126.62971547497436,53.00851974369581],[-126.60910991847187,53.00027962116089],[-126.249703418515,53.000086831037976],[-126.00038611182336,53.000163903105246],[-125.7508057492116,53.00039502033532],[-125.45617647733464,53.000729235986746],[-125.00033476542127,53.000282401289816],[-125.00061963835155,53.190369954166776],[-125.00455786991283,53.23495963598457],[-124.99631284524315,53.241811027497775],[-125.00118810847528,53.37710794146435],[-125.00172120503012,53.44683820246297],[-124.99956388482128,53.459857207255276],[-125.01528098286556,53.46158392640498],[-125.02373748015727,53.44394738567854],[-125.10213137425707,53.43143001590728],[-125.15406725379707,53.43322680244699],[-125.21786092758292,53.44320282702283],[-125.23776184972675,53.44885207263155],[-125.23605940545198,53.49500882342647],[-125.23871576358135,53.656827866036615],[-125.23699529571834,53.827265055762744],[-125.24721396801104,53.89397800465779],[-125.2422240068737,53.94887875311708],[-125.23533281542271,53.99899064211382],[-125.29202149988825,54.00340924288667],[-125.30868099513417,54.01510498726165],[-125.29903758414545,54.02394725676752],[-125.23961624169404,54.02158821044281],[-125.24176842165274,54.086132779761336],[-125.24054219124552,54.10777591899768],[-125.29062432818819,54.1121185572818],[-125.36377628871269,54.111896888320445],[-125.36494946791774,54.12009343267592],[-125.39579206726388,54.113442666584795],[-125.41382393781218,54.119459561259795],[-125.48936994095726,54.12455389021873],[-125.49549734258366,54.130330948680125],[-125.52990756381875,54.138199879180206],[-125.54843415783598,54.137134581360804],[-125.5745289798538,54.14608899390231],[-125.59708635886238,54.142798792489955],[-125.61300421840829,54.125869841590344],[-125.6667629448257,54.135519046281686],[-125.68247576097816,54.133123257847195],[-125.68333508666454,54.15292676823999],[-125.70672453897718,54.157313142706414],[-125.73892502771992,54.15704889604314],[-125.74924427867784,54.17169736573364],[-125.78690255298288,54.172130912940446],[-125.83646169355062,54.181946810741856],[-125.85557306939131,54.18123248810872],[-125.89943792398863,54.17197072676498],[-125.92680795111741,54.16110722699563],[-125.9568799631952,54.16562977459084],[-125.96809961048871,54.16062558439699],[-125.97805966839182,54.14000351582504],[-126.00260641542832,54.12168581873852],[-126.05231691334365,54.129349098005996],[-126.07929978807567,54.12687571223433],[-126.13047027233885,54.14745580691377],[-126.13284700045392,54.168714317937365],[-126.15330866677043,54.18490493166325],[-126.16055806807461,54.207434865861494],[-126.17975940970803,54.213450924373205],[-126.2072089451669,54.19491613006709],[-126.21864475379223,54.19727588518191],[-126.23374299788635,54.1831952344875]],[[-125.84894300752217,53.99476673870073],[-125.84878813501803,53.987535552259416],[-125.8607797178859,53.98755149274367],[-125.85862653182573,53.99213076057244],[-125.84894300752217,53.99476673870073]],[[-125.66188331411479,53.93139072324192],[-125.67572062787161,53.934304288903576],[-125.6751274315458,53.93659418555304],[-125.66183079476005,53.93580443292689],[-125.66188331411479,53.93139072324192]],[[-125.87164413108576,53.994780464711305],[-125.88680564490636,53.99407413713676],[-125.886864173415,54.00037535341208],[-125.8715945507454,54.00043154622787],[-125.87164413108576,53.994780464711305]],[[-126.4905149806687,53.98229645684213],[-126.49819727937148,53.98501568011475],[-126.49132239666972,53.99051961475531],[-126.48104475431691,53.99083617812749],[-126.47759884099935,53.98305566047787],[-126.4905149806687,53.98229645684213]],[[-125.96171604988686,54.015977672154264],[-125.94823665028493,54.00888765634847],[-125.9604535586225,54.002292801838095],[-125.96171604988686,54.015977672154264]],[[-125.6474269264197,53.952115476642525],[-125.6490712907348,53.9449404007872],[-125.66166200273202,53.94495130020485],[-125.65989905281567,53.95185746679927],[-125.6474269264197,53.952115476642525]],[[-125.71851501711623,54.014643402680974],[-125.69988080820657,54.01481334492244],[-125.69899520102025,54.00077759638658],[-125.71806281499198,53.999794652947145],[-125.71851501711623,54.014643402680974]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-126.22338572597798,\"lat\":53.56273135753003},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951031\"],\"csd_name_en\":[\"Bulkley-Nechako E\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Bulkley-Nechako E\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.60194088983064,54.085348784056784],[-124.6125440716739,54.081672824284745],[-124.6202880099456,54.0632603027952],[-124.60500242493413,54.06439157595958],[-124.57735770361175,54.09379250888422],[-124.60227364161592,54.09361010673782],[-124.60194088983064,54.085348784056784]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.60083454271128,\"lat\":54.07951821823951},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951802\"],\"csd_name_en\":[\"Nautley (Fort Fraser) 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Nautley (Fort Fraser) 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.71851501711623,54.014643402680974],[-125.71806281499198,53.999794652947145],[-125.69899520102025,54.00077759638658],[-125.69988080820657,54.01481334492244],[-125.71851501711623,54.014643402680974]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.70894893638344,\"lat\":54.00747456103211},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951818\"],\"csd_name_en\":[\"Cheslatta 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Cheslatta 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.84894300752217,53.99476673870073],[-125.85862653182573,53.99213076057244],[-125.8607797178859,53.98755149274367],[-125.84878813501803,53.987535552259416],[-125.84894300752217,53.99476673870073]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.85384836522537,\"lat\":53.99042366011954},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951819\"],\"csd_name_en\":[\"Omineca 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Omineca 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.95697514457771,55.48155740606382],[-125.95646508057717,55.484489817822784],[-125.97566577716765,55.485158079175726],[-125.95778820186854,55.4768824448515],[-125.95697514457771,55.48155740606382]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.9633063663753,\"lat\":55.48217678315398},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951848\"],\"csd_name_en\":[\"North Tacla Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"North Tacla Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-110.67325100269704,62.356187226926494],[-110.57324411361277,62.370472648819245],[-110.61606012740039,62.43499253170702],[-110.7881977597994,62.41153802065812],[-110.74373727430996,62.34606646415656],[-110.67325100269704,62.356187226926494]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-110.680570250638,\"lat\":62.390770455343706},\"year\":\"2021\",\"prov_code\":[\"61\"],\"prov_name_en\":[\"Northwest Territories\"],\"cd_code\":[\"6105\"],\"cd_name_en\":[\"Region 5\"],\"csd_code\":[\"6105020\"],\"csd_name_en\":[\"Lutselk'e\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Settlement\",\"prov_name_fr\":\"Territoires du Nord-Ouest\",\"cd_name_fr\":\"Region 5\",\"csd_name_fr\":\"Lutselk'e\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.01776293550327,64.47739258000357],[-105.63199895824374,64.52480446780298],[-106.21283024918094,64.56714467139953],[-106.58312064803508,64.59288094091148],[-107.33393067472672,64.64316002149965],[-108.06436333162405,64.68826247327873],[-108.40980884191056,64.70829241466265],[-108.8378944472495,64.73212966910698],[-108.92741925351727,64.7766295623091],[-109.02488424436373,64.83144885778036],[-109.44276101144814,64.99961684500649],[-109.67875925956102,65.0976750596164],[-110.53841741474038,65.4458207497998],[-111.60046365185627,65.44905859578382],[-112.58339481084316,65.44706504856724],[-114.3137598871441,66.05472263374087],[-115.01271477234837,66.28696867726993],[-116.63108512106432,66.79742651139736],[-117.08701005035894,66.62673899257689],[-117.7406425960708,66.37558991647931],[-118.09730041195938,65.3641183715565],[-119.43846482407208,65.35710474752258],[-119.56741605973163,65.0641254003601],[-119.15316134383829,65.0498637577077],[-119.24121269158377,65.00000010060663],[-119.9996027746636,64.56050465784364],[-119.9984449642581,64.38157917685015],[-119.9968373588286,64.12921584144644],[-119.99568365598662,63.96633959802316],[-119.99402743870063,63.72915367473289],[-119.99300989023881,63.46523956221381],[-119.99286685834858,63.23774976513225],[-119.99276229161963,63.00000013399108],[-119.99272189904592,62.82236022574771],[-119.63399585480381,62.75590449043326],[-119.2881735501366,62.690565622572436],[-118.85068323841783,62.60624398184042],[-118.3064838022834,62.48941996716445],[-117.99999997479091,62.42226518633777],[-117.34550561370827,62.27551864136528],[-116.85344371053338,62.165063724766604],[-116.62430440422231,62.11273846181857],[-116.12450969318934,62.00000001282496],[-115.5955326911256,61.877725680921586],[-115.20817226239073,61.788855500672994],[-114.8288324493378,61.68305555860377],[-114.57089679873133,61.72333724776036],[-113.56236779298882,61.97261527934755],[-113.54255725213457,61.98074609449383],[-113.52119880426159,61.97480249029991],[-113.33507885444793,61.982447240307586],[-113.20127719932229,61.99261259774562],[-113.16082306979969,62.00600300450643],[-113.15278557290839,62.02084862593567],[-113.06966241817284,62.007829920062576],[-113.00171310242716,62.01114253122752],[-112.8824174320609,62.02921899944335],[-112.81562779041889,62.04188821257478],[-112.67990132391125,62.0558736572819],[-112.45585461458381,62.074644103789204],[-112.41503755597843,62.07977559662314],[-112.32431826437372,62.13119005112931],[-112.24116233053083,62.16561262545691],[-112.20945264812869,62.169244790939345],[-112.13798802285653,62.20688723781364],[-112.13959066163382,62.21401126581404],[-112.09548202506897,62.239060662415184],[-111.98299841846477,62.2774125258587],[-111.9483758291108,62.28684782197847],[-111.82984338872177,62.342575277298685],[-111.78899606147438,62.35704908409744],[-111.72913354422835,62.367001055953075],[-111.66618708472451,62.42917724610212],[-111.64483912895486,62.46304985823636],[-111.64210832894945,62.48199850328748],[-111.57636856501041,62.53873390364732],[-111.51309340430073,62.58034201134648],[-111.5182855893702,62.60386067463836],[-111.49800009276412,62.626650234632905],[-111.46163609870247,62.67542482078641],[-111.428038562486,62.685124874175926],[-111.40324446443306,62.68746365017977],[-111.34171455178358,62.704076775351055],[-111.22720251638243,62.78860519244501],[-111.06326465948558,62.84522920208982],[-110.84236861694161,62.88579188010729],[-110.64312415448312,62.91613188136471],[-110.24427530479457,62.92460069330088],[-110.04698385988401,62.91816901158782],[-109.67964213788149,62.892909613733245],[-109.65943156058539,62.876979275823494],[-109.54843571067957,62.86362730777572],[-109.51429957861826,62.84148497994033],[-109.09299492395606,62.805448334988725],[-109.00042261411707,62.79233356739253],[-106.72243333967499,62.76390639724484],[-105.08082228980375,62.68748224724161],[-105.04264917111281,62.68559584238199],[-101.99999999533011,62.56249998942101],[-101.99999998112719,62.762499999365986],[-102.00000001191016,62.98124998943525],[-101.99999996927463,63.14999999506257],[-102.00000002376879,63.299999988947434],[-101.99999997142262,63.493749993691225],[-102.0000000313383,63.70625000516549],[-101.99999998674866,63.87499998675435],[-101.99999999692342,64.18905058802498],[-102.67118841700393,64.25926833866674],[-103.1164562150365,64.30396146606026],[-103.56206306039907,64.34719346394789],[-103.85837505669359,64.3751187188138],[-104.47409604000104,64.43106069701159],[-104.87500126936509,64.4659824794822],[-105.01776293550327,64.47739258000357]],[[-114.29776590682141,62.4040832120567],[-114.31648069888693,62.40428891228755],[-114.32344072601208,62.416943738140134],[-114.29849763360319,62.42050254757031],[-114.29776590682141,62.4040832120567]],[[-114.29968919346811,62.53930280606121],[-114.30017255795298,62.45754260421559],[-114.33204709533632,62.45665639523988],[-114.33326542120751,62.408563456044085],[-114.51831183257435,62.40851319892079],[-114.51793081055419,62.4995790964853],[-114.43177500809608,62.49983865379221],[-114.4319167590161,62.5412518327593],[-114.29967776427236,62.54122730694264],[-114.29968919346811,62.53930280606121]],[[-116.0680183839482,62.75538655998917],[-116.18110362891213,62.697691385510254],[-116.4155448249165,62.9677940255186],[-116.86536510412482,62.962039670815884],[-116.86303238076952,63.081565599945684],[-117.87287567427666,63.05569539870523],[-118.20917354125821,63.1161998853926],[-118.76871826414843,63.233496424928745],[-118.71165339279464,63.61958566330104],[-118.37573656607812,63.63267101047682],[-118.33473099762084,63.64786366021284],[-118.31935587567912,63.668700217425965],[-118.30525551313103,63.723131213456774],[-117.82786183058998,63.73553087898411],[-117.94288538082667,64.43079184803302],[-118.3797161648406,64.65917791364134],[-118.6551110800625,64.65180600427743],[-118.78216135853997,64.86802537456606],[-118.46515334456458,64.90210864870419],[-118.38870524601528,64.9307671568422],[-118.3859002305788,64.99783072309937],[-118.401476560581,65.02342861748158],[-118.42337620107095,65.03358453770083],[-118.44634482200414,65.03403084757743],[-118.4123352402787,65.0713037072477],[-118.19056088038364,65.13392900211156],[-117.98918593809894,64.87950092873719],[-117.73331031995045,64.6876125894891],[-117.41977264365988,64.54428661009153],[-116.03281405012449,64.59726005349177],[-116.0430648169397,64.68441986543992],[-116.02321969976326,64.71588816442485],[-115.70012412506173,64.74489321383295],[-115.53045868877992,64.72662145366178],[-115.53391940931111,64.64673756444991],[-115.72111266483587,64.65496159452368],[-115.72355797155436,64.31358307994049],[-115.31319692608741,64.15464943540098],[-114.98993995633344,64.20244850101203],[-114.58910816060796,64.26049979260833],[-114.55017435108815,64.32710661980802],[-114.54133511718024,64.33549140409933],[-114.26639658578449,64.32631347528725],[-113.98026415524065,64.41779942073114],[-114.02233470290713,64.42969556650468],[-114.02489752453732,64.4454768440477],[-113.98061129108761,64.45010383660842],[-113.95915797928465,64.4372817678852],[-113.82547079544882,64.49506286622876],[-113.71534648422323,64.55593439927938],[-113.57686168878746,64.60252650328168],[-113.36837869527017,64.67560510068479],[-113.25724525348484,64.7106996819805],[-113.1495959122919,64.7106433362911],[-113.03050833664422,64.70300428965471],[-112.53201604072619,64.62205295462877],[-112.59145441004243,64.47353220786331],[-112.9440170743487,64.37961194810514],[-113.94751696222846,64.10401158069432],[-114.40613370624324,64.07687748925001],[-114.66358999737888,63.68126551550118],[-114.79033028757394,63.48218375979011],[-114.75789834302363,63.48067760097572],[-114.8183019031965,63.256810517273685],[-114.85840608730537,63.26159992364559],[-114.88814396000677,63.23561772690937],[-114.8570849370368,63.22930014371208],[-114.95087377291922,63.18769802071078],[-115.06495342706702,63.17039685688367],[-115.25103670039333,63.18935843865383],[-115.34724155082284,63.08901994707244],[-115.59923986939481,62.822533974278244],[-115.82002541928938,62.79445667928308],[-115.87065111897311,62.79061107035004],[-116.0680183839482,62.75538655998917]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.88202352400018,\"lat\":63.96170524127679},\"year\":\"2021\",\"prov_code\":[\"61\"],\"prov_name_en\":[\"Northwest Territories\"],\"cd_code\":[\"6106\"],\"cd_name_en\":[\"Region 6\"],\"csd_code\":[\"6106097\"],\"csd_name_en\":[\"Region 6\",\"Unorganized\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Territoires du Nord-Ouest\",\"cd_name_fr\":\"Region 6\",\"csd_name_fr\":\"Region 6, Unorganized\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.27902181713323,68.74947647704141],[-81.26603658392143,68.73665311747496],[-81.21478815631048,68.74350193582248],[-81.19309159229822,68.75588582442542],[-81.19982490845248,68.78481315863573],[-81.24467185732907,68.80907179058973],[-81.32848829387873,68.7981846393845],[-81.27902181713323,68.74947647704141]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.25354003693984,\"lat\":68.77449595748448},\"year\":\"2021\",\"prov_code\":[\"62\"],\"prov_name_en\":[\"Nunavut\"],\"cd_code\":[\"6204\"],\"cd_name_en\":[\"Qikiqtaaluk\"],\"csd_code\":[\"6204011\"],\"csd_name_en\":[\"Hall Beach\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Hamlet\",\"prov_name_fr\":\"Nunavut\",\"cd_name_fr\":\"Qikiqtaaluk\",\"csd_name_fr\":\"Hall Beach\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-93.48245595542673,69.50562583535142],[-93.38049697892156,69.57261876758896],[-93.51425029426224,69.59771774905528],[-93.62445082079331,69.53863449852594],[-93.53543762048308,69.50288735493673],[-93.48245595542673,69.50562583535142]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-93.50450193542665,\"lat\":69.54977583798158},\"year\":\"2021\",\"prov_code\":[\"62\"],\"prov_name_en\":[\"Nunavut\"],\"cd_code\":[\"6208\"],\"cd_name_en\":[\"Kitikmeot\"],\"csd_code\":[\"6208087\"],\"csd_name_en\":[\"Taloyoak\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Hamlet\",\"prov_name_fr\":\"Nunavut\",\"cd_name_fr\":\"Kitikmeot\",\"csd_name_fr\":\"Taloyoak\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.47848879344567,45.607915815379954],[-63.45244163475456,45.62924396157619],[-63.479990045262795,45.68416992083111],[-63.47374660715914,45.69704450085414],[-63.460013206354446,45.699052023324164],[-63.40402183889105,45.76102082029532],[-63.346934553773,45.750211467184016],[-63.29842520978699,45.7582574550452],[-63.18755433041852,45.809902694779524],[-63.330699737215966,46.06821074457862],[-63.48373264676513,46.0884815671663],[-63.579253310208365,46.10018761788332],[-63.614711611238334,46.09309699082309],[-63.65973876657765,46.08413134638001],[-63.682350788230146,45.98376013288307],[-63.69297761570295,45.95169710769419],[-63.70794497888568,45.924228036953025],[-63.7124041765248,45.873549950446275],[-63.71835470668104,45.862996418785784],[-63.73949090404185,45.85113616789613],[-63.75416461067564,45.84979119366955],[-63.760366553557944,45.805122260135356],[-63.7754116987021,45.79584715567198],[-63.78132288823679,45.777107557610655],[-63.794569438951186,45.77686236906843],[-63.815778790054345,45.76136335972139],[-63.84816548137937,45.74473984534124],[-63.8322117156046,45.72879569480978],[-63.85682461081002,45.728049290286506],[-63.86170551008304,45.71627703054703],[-63.87637200613394,45.713839405840076],[-63.87374158295955,45.705661297691336],[-63.88613652323777,45.693815248159474],[-63.85815037529878,45.68314223823982],[-63.83894564046753,45.68088164769529],[-63.8027968534885,45.68400555161639],[-63.81279379852647,45.659049284646784],[-63.810661502636655,45.647645009391596],[-63.825191595560185,45.60333461083819],[-63.816621885405716,45.59538260352008],[-63.81602369451295,45.578174193632535],[-63.80181110193321,45.561776199321386],[-63.80146500036361,45.543432905243954],[-63.76567836482758,45.541743761095105],[-63.73740594903137,45.49033314177745],[-63.71710651724068,45.49188951953167],[-63.67133149647445,45.51271908698135],[-63.54836760146666,45.551148144089915],[-63.47848879344567,45.607915815379954]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.54639944312529,\"lat\":45.815891135447},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1211\"],\"cd_name_en\":[\"Cumberland\"],\"csd_code\":[\"1211014\"],\"csd_name_en\":[\"Cumberland\",\"Subd. D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of county municipality \\/ Subdivision municipalit\\u00e9 de comt\\u00e9\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Cumberland\",\"csd_name_fr\":\"Cumberland, Subd. D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-60.78270183021293,45.6959821178897],[-60.77288459936835,45.693506810281896],[-60.762843184242804,45.674773483993214],[-60.748224454265,45.67824654836524],[-60.763034297742266,45.714563591053995],[-60.781940556899194,45.72597908736618],[-60.79375876402555,45.71791638594856],[-60.77829079131094,45.707185076163235],[-60.78270183021293,45.6959821178897]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-60.768920429338756,\"lat\":45.70096502250027},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1216\"],\"cd_name_en\":[\"Richmond\"],\"csd_code\":[\"1216014\"],\"csd_name_en\":[\"Chapel Island 5\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Richmond\",\"csd_name_fr\":\"Chapel Island 5\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.14417602319706,46.08389753355901],[-64.13735710977014,46.106800891910304],[-64.1619041919073,46.11246320473937],[-64.15961062063423,46.12660199537883],[-64.13180440142911,46.13148369277812],[-64.14843875497985,46.17159086320835],[-64.14189151777221,46.18257519878862],[-64.16582190288874,46.19942269522706],[-64.21073178025134,46.213108205273564],[-64.22754526307601,46.22494653007949],[-64.24779626835148,46.22051081253012],[-64.24413089499849,46.2066063412868],[-64.27344946184735,46.19216455321712],[-64.27912045399759,46.204402553845085],[-64.3107319814058,46.197632006852096],[-64.32104459661598,46.20207627781922],[-64.33114768720131,46.22903661302347],[-64.36573207580031,46.22343033219667],[-64.39173099220199,46.223584588239014],[-64.41341669176096,46.23714730824765],[-64.49676433909382,46.2381299444889],[-64.50019893678643,46.22338582361832],[-64.48543269410112,46.19162266012568],[-64.48491582313216,46.17033445795483],[-64.48995581913601,46.15940577378231],[-64.47839352228634,46.140256321351835],[-64.49853015274829,46.134287345197414],[-64.49869092553632,46.1188192501023],[-64.48895564367596,46.095372783071774],[-64.25568125415779,46.14120592166654],[-64.23369586818445,46.12535833947244],[-64.22692772340496,46.128507284127224],[-64.14417602319706,46.08389753355901]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.33316829500276,\"lat\":46.16735284861811},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1307\"],\"cd_name_en\":[\"Westmorland\"],\"csd_code\":[\"1307005\"],\"csd_name_en\":[\"Beaubassin East \\/ Beaubassin-est\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural community \\/ Communaut\\u00e9 rurale\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Westmorland\",\"csd_name_fr\":\"Beaubassin East \\/ Beaubassin-est\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-64.97621911706567,46.58067270274924],[-64.9654908195527,46.553908010740194],[-64.9562809069903,46.55544959996549],[-64.96764069624146,46.581622405064245],[-64.97621911706567,46.58067270274924]]],[[[-64.96721202134431,46.61125202535896],[-65.03490930647152,46.58687753859214],[-65.03137969976987,46.57795578885782],[-64.99900001521618,46.58186233782941],[-64.94693240050161,46.58295776937761],[-64.96721202134431,46.61125202535896]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.98489674725592,\"lat\":46.58818046643206},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1308\"],\"cd_name_en\":[\"Kent\"],\"csd_code\":[\"1308015\"],\"csd_name_en\":[\"Richibucto 15\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Kent\",\"csd_name_fr\":\"Richibucto 15\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.13621953824224,46.12272264629683],[-67.20151652528087,46.17346546220005],[-67.29407605984098,46.24348010450146],[-67.32007197142516,46.21260297283067],[-67.49198858773586,46.01198007898802],[-67.50026155668186,46.00133758595398],[-67.49871240406534,46.00076878566812],[-67.46033641682646,45.99561522149565],[-67.44747372981207,45.99583042524542],[-67.39658224431446,45.96880880172246],[-67.35299894802544,45.96174471284307],[-67.32512739766803,45.96111594159265],[-67.29878974092902,45.95465464355602],[-67.25205153915672,45.9603133606422],[-67.24269414426936,45.96646186087707],[-67.23595453800924,45.98301974835894],[-67.22546961100167,45.99097840785504],[-67.18314651156163,46.04190279019271],[-67.20417875245514,46.05357729739157],[-67.1876029137203,46.07166020166998],[-67.18831769002183,46.0847827890584],[-67.16910982072794,46.10492599180418],[-67.13621953824224,46.12272264629683]],[[-67.22656901519035,46.00162000365467],[-67.22841562351587,45.99075400551196],[-67.23758199998404,45.983074304732995],[-67.24269212838036,45.96755175297116],[-67.25305931107201,45.9702796544331],[-67.25188483537598,46.00004271715688],[-67.23475056408795,46.023993237813634],[-67.21438745251132,46.01527245407248],[-67.22656901519035,46.00162000365467]],[[-67.16559650825111,46.12760830719588],[-67.187104111545,46.10925700723989],[-67.20861348867253,46.11452524616111],[-67.21994468196586,46.125011649848574],[-67.21950169101335,46.135401593802285],[-67.19822640671758,46.1606353493245],[-67.18020006945645,46.14301620618857],[-67.1832688243027,46.1348019701051],[-67.16559650825111,46.12760830719588]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.31270613705614,\"lat\":46.07871794957192},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1310\"],\"cd_name_en\":[\"York\"],\"csd_code\":[\"1310024\"],\"csd_name_en\":[\"Southampton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"York\",\"csd_name_fr\":\"Southampton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.58189614048085,45.91319112757345],[-66.40090333191671,46.12420132513545],[-66.2710898680413,46.273439034448785],[-66.20096874113679,46.354649223196105],[-66.50983720890275,46.29401603511587],[-66.59496001124586,46.27662299586712],[-66.66178577087987,46.2642087272492],[-66.63612618941357,46.1994763302309],[-66.64409808066084,46.198027949331895],[-66.63490012883186,46.17454138611469],[-66.65884108000832,46.170017064419284],[-66.647038791202,46.14846952417643],[-66.66969919263117,46.13997039561618],[-66.69170193474908,46.13900474189856],[-66.6573878755112,46.049325532543165],[-66.59782197614176,46.02660461187273],[-66.60594434627517,46.016330685396845],[-66.59916806767508,46.01425744405987],[-66.59502322662642,46.01291340360295],[-66.54977687838785,46.001801528602684],[-66.60447719725293,45.93844182277858],[-66.59893520528722,45.92292921512068],[-66.58326754665917,45.911773076495095],[-66.58189614048085,45.91319112757345]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.49000812070253,\"lat\":46.17445500991631},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1310\"],\"cd_name_en\":[\"York\"],\"csd_code\":[\"1310031\"],\"csd_name_en\":[\"Saint Marys\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Parish \\/ Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"York\",\"csd_name_fr\":\"Saint Marys\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.70299611791934,46.76485290840914],[-67.68991354834378,46.79197427078832],[-67.66230012953827,46.79565689844796],[-67.63049807668962,46.78789071897605],[-67.63018644513099,46.8126215413952],[-67.63000471747078,46.82843494297509],[-67.71539701028084,46.81107579096188],[-67.71631327975422,46.80840976390483],[-67.72308828377128,46.779849453044676],[-67.7050897746106,46.76641904217149],[-67.70299611791934,46.76485290840914]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.67622546819811,\"lat\":46.80173214214421},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1312\"],\"cd_name_en\":[\"Victoria\"],\"csd_code\":[\"1312007\"],\"csd_name_en\":[\"Tobique 20\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Victoria\",\"csd_name_fr\":\"Tobique 20\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.40732393586335,47.37262595547643],[-68.51422181775987,47.39353660624133],[-68.53839725302593,47.392220599657875],[-68.55898014248767,47.3970581711041],[-68.56854457152878,47.41734445041769],[-68.5831845279988,47.42240119815121],[-68.69849476646637,47.382942805599505],[-68.6785989302617,47.37752714471449],[-68.63352411394034,47.35673265253823],[-68.62566280582811,47.36477281599041],[-68.57731195119213,47.34310555574333],[-68.5931052915201,47.319631306706924],[-68.58652948428552,47.309209362496546],[-68.62341072795012,47.30127023826243],[-68.63404634710574,47.31931446091901],[-68.73534934272296,47.370753318380665],[-68.74503135309729,47.36749093930022],[-68.79962823559508,47.34894193058395],[-68.91167903597683,47.32725553751904],[-69.05096114557124,47.300097812391435],[-69.05075005602428,47.2564817929945],[-69.04088893740636,47.24500958844761],[-68.98827781931378,47.22359288936509],[-68.94966668478597,47.20213889513961],[-68.94105559660669,47.206083291413826],[-68.91994438380189,47.19483330548765],[-68.90486112078361,47.18047219779349],[-68.8821111101333,47.18288889472754],[-68.85744440572837,47.19033331410999],[-68.81144439128971,47.21516668375274],[-68.75199999129353,47.22630560426188],[-68.71530559129326,47.2408332907547],[-68.70588889782242,47.237722186173684],[-68.68713883287559,47.244426300795446],[-68.66319431981468,47.23628739802615],[-68.60749988239591,47.24698181015843],[-68.59330549264043,47.261092908621684],[-68.59766656685466,47.27014851186114],[-68.58002769062826,47.287120710934346],[-68.54977765743348,47.28214849480277],[-68.51674985308269,47.29609292488264],[-68.49013873105332,47.293870714043685],[-68.4749998412099,47.297148519193534],[-68.45847205683097,47.28437070547011],[-68.4298054333504,47.281259622879624],[-68.41508311705671,47.28745401652172],[-68.37786088958883,47.28737072243421],[-68.38388871692192,47.30117633100377],[-68.38293816735045,47.31762095902003],[-68.41655268038744,47.32567698633918],[-68.41429167023831,47.34684923636623],[-68.42837582221898,47.355405987346586],[-68.40732393586335,47.37262595547643]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.73032754365832,\"lat\":47.298281595733876},\"year\":\"2021\",\"prov_code\":[\"13\"],\"prov_name_en\":[\"New Brunswick\"],\"cd_code\":[\"1313\"],\"cd_name_en\":[\"Madawaska\"],\"csd_code\":[\"1313031\"],\"csd_name_en\":[\"Haut-Madawaska\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural community \\/ Communaut\\u00e9 rurale\",\"prov_name_fr\":\"Nouveau-Brunswick\",\"cd_name_fr\":\"Madawaska\",\"csd_name_fr\":\"Haut-Madawaska\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-64.55773974349286,48.34665909452564],[-64.58085270762126,48.376102349306485],[-64.60084090657806,48.38650414377674],[-64.59256336547142,48.394437302683414],[-64.60387899874259,48.40958025890005],[-64.57556408996918,48.42022496903299],[-64.60738103399248,48.46333600467861],[-64.63680894546604,48.503453264208076],[-64.82346869407294,48.44068006263586],[-64.81199021011872,48.426598705325176],[-64.95743006041668,48.32836113628662],[-64.95754063104748,48.32828357599236],[-64.79717377049305,48.22147957107934],[-64.7646027384214,48.20065252099251],[-64.7380893484551,48.25202931915473],[-64.61985815911073,48.333725965368735],[-64.55773974349286,48.34665909452564]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-64.7464585149647,\"lat\":48.3597553071182},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2402\"],\"cd_name_en\":[\"Le Rocher-Perc\\u00e9\"],\"csd_code\":[\"2402028\"],\"csd_name_en\":[\"Chandler\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Rocher-Perc\\u00e9\",\"csd_name_fr\":\"Chandler\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-67.42294942156478,48.700198229425794],[-67.45435430347428,48.71785961028116],[-67.4783651844872,48.72175149248468],[-67.49157303284635,48.711620150579776],[-67.50728422136703,48.7217373649159],[-67.51189735629292,48.717904271783986],[-67.57126011327091,48.6722230846614],[-67.58755448003478,48.68204763048807],[-67.61401403057012,48.662058147941686],[-67.59856782024862,48.65262350777607],[-67.62265053136987,48.6340594590506],[-67.60620980677825,48.62436249112636],[-67.58065369588289,48.62450149552812],[-67.56300372764942,48.615060197966486],[-67.55180140140926,48.6236489887701],[-67.53644162468252,48.61573002844677],[-67.42294942156478,48.700198229425794]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-67.52518177869973,\"lat\":48.6686317467503},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2408\"],\"cd_name_en\":[\"La Matanie\"],\"csd_code\":[\"2408040\"],\"csd_name_en\":[\"Sainte-Paule\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Matanie\",\"csd_name_fr\":\"Sainte-Paule\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.35290590779529,48.48535491087618],[-68.32203552084299,48.50564427179237],[-68.30601346409817,48.50235756458055],[-68.27907505718301,48.506587124491276],[-68.28674624310413,48.51796959473223],[-68.24961701996752,48.53364961402897],[-68.2353302368805,48.54797186167222],[-68.25331735911631,48.558658439598915],[-68.29461253556175,48.58310693851722],[-68.51858303540655,48.7124827583035],[-68.64637044617514,48.64680986582001],[-68.42622969759732,48.528348552886705],[-68.402632737461,48.513568559753594],[-68.35290590779529,48.48535491087618]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.43732883622826,\"lat\":48.598499027084955},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2409\"],\"cd_name_en\":[\"La Mitis\"],\"csd_code\":[\"2409092\"],\"csd_name_en\":[\"Sainte-Luce\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"La Mitis\",\"csd_name_fr\":\"Sainte-Luce\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-68.76941773418329,48.13920153439203],[-68.84246712921885,48.187627433988354],[-68.85373845949975,48.18551790176056],[-68.88251591072901,48.165322749761295],[-68.8898384236833,48.17021260928165],[-68.9521476767996,48.133536481876206],[-68.96296564111894,48.11874027194885],[-68.9827352218514,48.105426963165726],[-69.0081018533431,48.10838711176011],[-68.94129528498993,48.06601899011582],[-68.83859050516485,48.12043495221442],[-68.8232508114137,48.11034478731585],[-68.76941773418329,48.13920153439203]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-68.88473403583524,\"lat\":48.12814811362031},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2411\"],\"cd_name_en\":[\"Les Basques\"],\"csd_code\":[\"2411902\"],\"csd_name_en\":[\"Lac-Boisbouscache\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Basques\",\"csd_name_fr\":\"Lac-Boisbouscache\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.64988054288536,47.55384324472359],[-69.64407266711211,47.56046029884312],[-69.66553574975032,47.57404596811765],[-69.65996228000377,47.59686919081503],[-69.66929534759922,47.61891371157639],[-69.69156695586476,47.633428377298934],[-69.70495652695861,47.615035068825655],[-69.7242206253403,47.61121719134783],[-69.74514829210933,47.59895259235895],[-69.7548635676319,47.60478823178941],[-69.76973297329113,47.591753222979825],[-69.75286397653475,47.572727848135465],[-69.70440296233308,47.540283008724174],[-69.65785402248838,47.51010797449424],[-69.6362049850324,47.52714309119132],[-69.65994456945005,47.54281716130423],[-69.64988054288536,47.55384324472359]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.69652367928697,\"lat\":47.57395540842},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2414\"],\"cd_name_en\":[\"Kamouraska\"],\"csd_code\":[\"2414025\"],\"csd_name_en\":[\"Sainte-H\\u00e9l\\u00e8ne-de-Kamouraska\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Kamouraska\",\"csd_name_fr\":\"Sainte-H\\u00e9l\\u00e8ne-de-Kamouraska\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-69.90965844960068,47.42643112541853],[-69.93268893864604,47.44216484138258],[-69.96872587551232,47.42104385741636],[-69.99181953421225,47.41477133670623],[-69.97817905756256,47.40660770284041],[-69.99079299817987,47.393044698987865],[-69.96968546823362,47.37836318807667],[-69.9463283821449,47.37745259928469],[-69.93151869200715,47.39341782813983],[-69.90870087932505,47.402848044749824],[-69.89344982961198,47.414813294331],[-69.90965844960068,47.42643112541853]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-69.94532884956065,\"lat\":47.40819123963444},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2414\"],\"cd_name_en\":[\"Kamouraska\"],\"csd_code\":[\"2414070\"],\"csd_name_en\":[\"Saint-Pac\\u00f4me\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Kamouraska\",\"csd_name_fr\":\"Saint-Pac\\u00f4me\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.35450449614088,46.858802669300225],[-71.36656974471899,46.88113887654128],[-71.37320732387559,46.871477524025636],[-71.35450449614088,46.858802669300225]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.36476052157849,\"lat\":46.870473023289044},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2423\"],\"cd_name_en\":[\"Qu\\u00e9bec\"],\"csd_code\":[\"2423802\"],\"csd_name_en\":[\"Wendake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Qu\\u00e9bec\",\"csd_name_fr\":\"Wendake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.39642039722696,46.52907710535226],[-70.38741179785873,46.53596009069384],[-70.44520554688386,46.575869854553964],[-70.4949529915914,46.610617528236034],[-70.57998560704624,46.54991036214848],[-70.58207725318081,46.548366718187474],[-70.52852017206887,46.51130274812469],[-70.55115076432504,46.4935477335008],[-70.52945881888056,46.478503897434656],[-70.47041075250071,46.440321009968876],[-70.44815135396554,46.45574004578918],[-70.42575469613986,46.44089554227957],[-70.40534164565906,46.45525744443501],[-70.41108388737065,46.46177709584703],[-70.38980017231634,46.47634734270134],[-70.38820355644158,46.49296872910047],[-70.41449773686759,46.50965502870359],[-70.39642039722696,46.52907710535226]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.47647165266066,\"lat\":46.52188866828494},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2428\"],\"cd_name_en\":[\"Les Etchemins\"],\"csd_code\":[\"2428060\"],\"csd_name_en\":[\"Saint-Luc-de-Bellechasse\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Etchemins\",\"csd_name_fr\":\"Saint-Luc-de-Bellechasse\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.9688106105074,45.33238031493916],[-70.95363404195196,45.33891877265648],[-70.94484173890682,45.32494163956681],[-70.91890303497752,45.312538205223476],[-70.9120318164232,45.29679508628996],[-70.92160601748718,45.28027651425628],[-70.89900883863639,45.2584389114775],[-70.89848283643435,45.24370951666548],[-70.88549424484393,45.23478730975194],[-70.85794790373484,45.22863758266988],[-70.83722479726862,45.23695942537646],[-70.84943460969681,45.244664170837105],[-70.84903143482543,45.2621385642088],[-70.8328483578441,45.27771946971662],[-70.83440820145451,45.293522925991134],[-70.81446414599759,45.29973962128275],[-70.80666815622047,45.32114105959408],[-70.81840287937735,45.33288766846764],[-70.81377057607803,45.35513433096353],[-70.8021287298387,45.36670736004463],[-70.82524714257279,45.40005699074239],[-70.79837550880768,45.42576077535708],[-70.781411554644,45.43070673946042],[-70.75682077060006,45.4286035079807],[-70.73027579361667,45.39929004511511],[-70.71022392416013,45.39010605077415],[-70.68129513488729,45.394940001846344],[-70.65040401775572,45.37737792729375],[-70.63703240404463,45.382281114291864],[-70.63521151982502,45.39669125529519],[-70.6219627709466,45.404967303715665],[-70.63501872397306,45.41164880801706],[-70.62817208547646,45.42126787171972],[-70.65093562344653,45.44532218758171],[-70.6810876384119,45.453013259589206],[-70.84700480179022,45.45314290770709],[-70.84728559637543,45.4264720078242],[-70.96938486781166,45.42763819745248],[-70.97158978947917,45.41058240931343],[-70.9688106105074,45.33238031493916]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.83723826340419,\"lat\":45.370429672389896},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2430\"],\"cd_name_en\":[\"Le Granit\"],\"csd_code\":[\"2430005\"],\"csd_name_en\":[\"Saint-Augustin-de-Woburn\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Granit\",\"csd_name_fr\":\"Saint-Augustin-de-Woburn\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.43394136690165,45.95691833007821],[-71.47533015099751,45.978175679509086],[-71.48827053940234,45.96681772901155],[-71.51229719383197,45.98054748900084],[-71.53547853548314,45.97439303170784],[-71.54954202764,45.98172378030359],[-71.5593273150771,45.96948849209185],[-71.5411739913195,45.96015981723207],[-71.55264190014064,45.949301131699954],[-71.5405206098453,45.942967215986876],[-71.55254115888486,45.93264046768536],[-71.55218175963267,45.91748901210585],[-71.49951730569923,45.892025646740805],[-71.48936870585528,45.89123250317262],[-71.48099730446158,45.90171510641799],[-71.45878829707961,45.90902090844444],[-71.44479554527607,45.92698351424594],[-71.45838563792226,45.933433608159795],[-71.43394136690165,45.95691833007821]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.499730228811,\"lat\":45.939216416381356},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2431\"],\"cd_name_en\":[\"Les Appalaches\"],\"csd_code\":[\"2431025\"],\"csd_name_en\":[\"Saint-Jacques-le-Majeur-de-Wolfestown\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Appalaches\",\"csd_name_fr\":\"Saint-Jacques-le-Majeur-de-Wolfestown\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.81298136203628,46.601599293340556],[-71.79518333330854,46.624625156813735],[-71.82881385200383,46.63310571945046],[-71.85569346010804,46.63326017638249],[-71.85481132751154,46.65116347545104],[-71.8408797479629,46.656551112287055],[-71.87120279895609,46.67793474199714],[-71.88859466627375,46.66952745574505],[-71.91802299622447,46.638011462695246],[-71.96741607107269,46.619475692283046],[-72.01224394923972,46.587273934221585],[-71.98227679569025,46.56850790043063],[-71.9791203777734,46.56053593512128],[-71.93376867985334,46.546659302082084],[-71.90714029542163,46.556509306535794],[-71.89964238723059,46.553582610386734],[-71.9195922248379,46.566037719742745],[-71.86892427239948,46.60161095700339],[-71.81298136203628,46.601599293340556]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.90844868354617,\"lat\":46.60838411254961},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2433\"],\"cd_name_en\":[\"Lotbini\\u00e8re\"],\"csd_code\":[\"2433115\"],\"csd_name_en\":[\"Lotbini\\u00e8re\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Lotbini\\u00e8re\",\"csd_name_fr\":\"Lotbini\\u00e8re\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.50389363223525,46.701983997790634],[-71.5901771255345,46.76421869608942],[-71.64203047306549,46.745796826362046],[-71.66795581237747,46.740328414626845],[-71.69086651115009,46.7313813437983],[-71.70981669955296,46.71634539247294],[-71.64383413366431,46.66109780701834],[-71.62434983431434,46.672882231575585],[-71.59661402979656,46.68148727215324],[-71.56739827193478,46.682686624603825],[-71.53370248851193,46.69536182606904],[-71.5177339010221,46.69832704324918],[-71.50389363223525,46.701983997790634]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.61236539065266,\"lat\":46.71330617390466},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2434\"],\"cd_name_en\":[\"Portneuf\"],\"csd_code\":[\"2434007\"],\"csd_name_en\":[\"Neuville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Portneuf\",\"csd_name_fr\":\"Neuville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.04762674838793,46.7020850619286],[-72.05771154996236,46.70965155006495],[-72.04216301510162,46.72181144681156],[-72.02506751560482,46.747035164396536],[-72.02681301598281,46.756744054336885],[-72.01188410184616,46.76745489477849],[-72.0294752803861,46.78119220157177],[-72.12711265255291,46.84710219614633],[-72.16569596109775,46.872936531107996],[-72.1688536972231,46.87485233588551],[-72.19825021765796,46.855481763107825],[-72.18749939928396,46.842345393465955],[-72.15947355243787,46.824061206632216],[-72.22024548081144,46.78296174139626],[-72.19656972984572,46.76596104365849],[-72.1237640986591,46.715719056008716],[-72.08001231554923,46.68480946611702],[-72.04762674838793,46.7020850619286]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.1148541710443,\"lat\":46.77601482305886},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2434\"],\"cd_name_en\":[\"Portneuf\"],\"csd_code\":[\"2434097\"],\"csd_name_en\":[\"Saint-Alban\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Portneuf\",\"csd_name_fr\":\"Saint-Alban\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.6580150178102,46.82909912393122],[-72.71532927349553,46.86696965471759],[-72.75883697879871,46.89533855057948],[-72.8109943320487,46.855576049806736],[-72.82222451810479,46.85611483386137],[-72.90947339953658,46.79468261534052],[-72.85199969492108,46.758646495616844],[-72.82222812326162,46.780373697610074],[-72.79828956291624,46.76624834239404],[-72.77332516473525,46.74270055384138],[-72.75462817479222,46.75570600136401],[-72.74514997007066,46.74903326572805],[-72.72632847125806,46.78276016876279],[-72.6580150178102,46.82909912393122]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.77953606636602,\"lat\":46.8161839457309},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2435\"],\"cd_name_en\":[\"M\\u00e9kinac\"],\"csd_code\":[\"2435045\"],\"csd_name_en\":[\"Saint-Roch-de-M\\u00e9kinac\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"M\\u00e9kinac\",\"csd_name_fr\":\"Saint-Roch-de-M\\u00e9kinac\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.58143695633761,46.87059064117814],[-73.66491923952756,46.927627622775695],[-73.66481969634242,46.901373909876376],[-73.6740683691063,46.87474441212076],[-73.65626408638502,46.86339722467688],[-73.62857769332108,46.865620296388244],[-73.60607118384591,46.85825149395387],[-73.6021485433082,46.87169503631318],[-73.58143695633761,46.87059064117814]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.63777999654883,\"lat\":46.885980065374355},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2435\"],\"cd_name_en\":[\"M\\u00e9kinac\"],\"csd_code\":[\"2435908\"],\"csd_name_en\":[\"Lac-Boul\\u00e9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"M\\u00e9kinac\",\"csd_name_fr\":\"Lac-Boul\\u00e9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.26061447121538,46.43694514810334],[-72.31989665429664,46.48006821104253],[-72.33602750643921,46.47543415077084],[-72.35125454038553,46.486348670197174],[-72.36189977169774,46.49329251400959],[-72.36311694832843,46.47252713315017],[-72.39602403828204,46.467810514848736],[-72.43528416792856,46.44635297596492],[-72.44428323872967,46.45256304511353],[-72.46964245369102,46.43919841114801],[-72.40685445816132,46.395571916166986],[-72.28255626649313,46.42839301734209],[-72.26061447121538,46.43694514810334]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.36516011325068,\"lat\":46.439990872983245},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2437\"],\"cd_name_en\":[\"Francheville\"],\"csd_code\":[\"2437220\"],\"csd_name_en\":[\"Champlain\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Francheville\",\"csd_name_fr\":\"Champlain\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.54852401144491,45.3078244392478],[-71.55022737181865,45.335866358587275],[-71.55304914404287,45.455391049972825],[-71.71037070892322,45.45430348150261],[-71.70862084264833,45.412603459259735],[-71.72377137073917,45.41240784763485],[-71.72335193570267,45.399262134979445],[-71.76026901045591,45.39837727500666],[-71.76095210805433,45.41642156411602],[-71.80044572651657,45.416439471715215],[-71.80623641183345,45.399971047111556],[-71.81862678843687,45.378744341250766],[-71.81614263684567,45.31774930053966],[-71.81572839847294,45.30641021631921],[-71.73864519622398,45.30511297215469],[-71.64440074078503,45.306493701189524],[-71.54852401144491,45.3078244392478]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.67257129099849,\"lat\":45.372960638221635},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2441\"],\"cd_name_en\":[\"Le Haut-Saint-Fran\\u00e7ois\"],\"csd_code\":[\"2441038\"],\"csd_name_en\":[\"Cookshire-Eaton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Saint-Fran\\u00e7ois\",\"csd_name_fr\":\"Cookshire-Eaton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.46387913934194,45.60678065902655],[-71.4794558047561,45.611675989286546],[-71.48907089202059,45.624802343660214],[-71.5854992140398,45.69307228432481],[-71.61184871682302,45.712251587074796],[-71.66539341444191,45.676172684489664],[-71.70923721538489,45.64462980521256],[-71.693770354377,45.63417794075467],[-71.71608633720928,45.61740437145487],[-71.6261936066655,45.566843699290516],[-71.66101689314013,45.532444221353884],[-71.615175072417,45.50038834117114],[-71.61302384806625,45.5163938481114],[-71.55076960597786,45.55312967469855],[-71.54318319470279,45.54792663685465],[-71.46462278882922,45.604278388125046],[-71.46387913934194,45.60678065902655]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.59659102731352,\"lat\":45.6128606487309},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2441\"],\"cd_name_en\":[\"Le Haut-Saint-Fran\\u00e7ois\"],\"csd_code\":[\"2441117\"],\"csd_name_en\":[\"Dudswell\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Haut-Saint-Fran\\u00e7ois\",\"csd_name_fr\":\"Dudswell\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-71.83104786085265,45.453139620005295],[-71.8692207334794,45.453269430683996],[-71.89365803207946,45.466891967020786],[-71.87985412987805,45.47870874738164],[-71.89010050736162,45.484828311337054],[-71.87758082449632,45.4955252115143],[-71.91070250471175,45.51424336907184],[-71.91988013445597,45.524048516626316],[-71.93258963447077,45.513190205389506],[-71.9506307149499,45.52290935239527],[-71.97877915092643,45.50250718005917],[-71.98740170492812,45.51924896232639],[-72.03544876110101,45.4701165173413],[-71.99467052086142,45.448637703819074],[-72.01355202996088,45.443235626900595],[-72.06038230808349,45.442350544096605],[-72.0684818300671,45.439833314226306],[-72.06670636439586,45.400502008813696],[-72.10503579775386,45.389811360601165],[-72.10531663198081,45.38522883898225],[-72.10666498658608,45.321464770409854],[-72.10883727713171,45.30152115488988],[-72.04270029472964,45.29974976724533],[-72.03925614597625,45.30849959320687],[-72.01108583855773,45.308018954783776],[-71.94866637807445,45.30774289721526],[-71.949302389125,45.333998393811626],[-71.92954759275464,45.36046047750774],[-71.87632469702888,45.36053413939315],[-71.86386886870837,45.35051782847204],[-71.85512889856689,45.34193270692719],[-71.83216116652767,45.337424509773946],[-71.82410515759854,45.318724165291236],[-71.81614263684567,45.31774930053966],[-71.81862678843687,45.378744341250766],[-71.80623641183345,45.399971047111556],[-71.8194884164308,45.40815503740408],[-71.822219316057,45.45320206524116],[-71.83104786085265,45.453139620005295]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-71.96233855774774,\"lat\":45.401840326193366},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2443\"],\"cd_name_en\":[\"Sherbrooke\"],\"csd_code\":[\"2443027\"],\"csd_name_en\":[\"Sherbrooke\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Sherbrooke\",\"csd_name_fr\":\"Sherbrooke\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.4858008055286,45.008715544907446],[-72.44971914782518,45.00852559449195],[-72.31187599157238,45.00379702490085],[-72.2377329285062,45.00476966781416],[-72.2489375960424,45.018908568169245],[-72.24702583735538,45.03100016877817],[-72.26609513659359,45.049448865298054],[-72.27714599183807,45.06592852237038],[-72.28215675265648,45.08442208658093],[-72.27823594795039,45.120791039812126],[-72.27136292089449,45.13945354374918],[-72.26205901960206,45.14907847971235],[-72.30836006791804,45.15331162806053],[-72.40340394978328,45.155747572392016],[-72.47978164393498,45.15791005681265],[-72.47979267045513,45.15760323101496],[-72.4858008055286,45.008715544907446]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.37520821552772,\"lat\":45.078259060448694},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2445\"],\"cd_name_en\":[\"Memphr\\u00e9magog\"],\"csd_code\":[\"2445030\"],\"csd_name_en\":[\"Potton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Memphr\\u00e9magog\",\"csd_name_fr\":\"Potton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.30836006791804,45.15331162806053],[-72.3065968714605,45.22771253726439],[-72.28849854513541,45.226173461068086],[-72.28339491096818,45.285756617458524],[-72.32879320662114,45.286706002073686],[-72.3368415074305,45.261537607283735],[-72.34515002499322,45.24826052344117],[-72.34460792391927,45.21747699821885],[-72.3823906908922,45.22453605293626],[-72.38278710889827,45.21329134260889],[-72.40193758723149,45.21239598511284],[-72.40340394978328,45.155747572392016],[-72.30836006791804,45.15331162806053]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.33968469315991,\"lat\":45.21045705373713},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2445\"],\"cd_name_en\":[\"Memphr\\u00e9magog\"],\"csd_code\":[\"2445095\"],\"csd_name_en\":[\"Bolton-Est\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Memphr\\u00e9magog\",\"csd_name_fr\":\"Bolton-Est\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.87786202142124,45.07589981228418],[-72.87797842892536,45.150955303907345],[-72.95373726181977,45.14994627233919],[-72.95395384645775,45.07575533324438],[-72.92837423263046,45.075702684461255],[-72.87786202142124,45.07589981228418]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.91581227935681,\"lat\":45.11308706481329},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2446\"],\"cd_name_en\":[\"Brome-Missisquoi\"],\"csd_code\":[\"2446045\"],\"csd_name_en\":[\"Stanbridge East\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Brome-Missisquoi\",\"csd_name_fr\":\"Stanbridge East\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.8823784095505,45.26455296945999],[-72.97808346441312,45.33341487138884],[-72.99481315550439,45.33756677733035],[-73.01035540739282,45.33015488800042],[-73.04886019103233,45.32531562114981],[-73.04781630845977,45.31125597425864],[-73.01428159157253,45.28935254845118],[-73.01649382085516,45.27249336426929],[-73.01745760886143,45.253067964145686],[-72.9842874120197,45.25355201177423],[-72.97956161947792,45.23990325750458],[-72.94660051852178,45.239788884723296],[-72.94918282740946,45.22476167672737],[-72.8823518294334,45.22580402199144],[-72.8823784095505,45.26455296945999]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.96142464576431,\"lat\":45.27831202111982},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2446\"],\"cd_name_en\":[\"Brome-Missisquoi\"],\"csd_code\":[\"2446112\"],\"csd_name_en\":[\"Farnham\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Brome-Missisquoi\",\"csd_name_fr\":\"Farnham\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.2244905756863,45.75834744735679],[-72.24213991357882,45.77860124660655],[-72.26487828129964,45.78392513450685],[-72.27385613841446,45.796139998310615],[-72.28393002538947,45.802386528569734],[-72.29606142264024,45.82679066355535],[-72.38629362717023,45.75299364078255],[-72.35375862361447,45.73202626575559],[-72.36754354299481,45.720517214195276],[-72.35409113051371,45.712840586689246],[-72.36712375199292,45.702375849467415],[-72.35126856049912,45.69305352236197],[-72.33807286995071,45.70369800658925],[-72.31083930375773,45.68836430856323],[-72.28586075315373,45.70708801736879],[-72.2244905756863,45.75834744735679]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.30749994714458,\"lat\":45.75252375278059},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2449\"],\"cd_name_en\":[\"Drummond\"],\"csd_code\":[\"2449025\"],\"csd_name_en\":[\"L'Avenir\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Drummond\",\"csd_name_fr\":\"L'Avenir\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.32557724925623,46.01261936671381],[-72.36193442827475,46.00733824804379],[-72.37052322077751,45.9993074103321],[-72.35103089748003,45.986798304345946],[-72.32557724925623,46.01261936671381]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.34988279894225,\"lat\":46.00115554391758},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2449\"],\"cd_name_en\":[\"Drummond\"],\"csd_code\":[\"2449075\"],\"csd_name_en\":[\"Notre-Dame-du-Bon-Conseil\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Drummond\",\"csd_name_fr\":\"Notre-Dame-du-Bon-Conseil\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.44865326758708,46.22082715679618],[-72.4264983042894,46.205718595602036],[-72.42296275146376,46.20865206615455],[-72.44591178686466,46.224879824424214],[-72.44865326758708,46.22082715679618]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.43618166140432,\"lat\":46.21516431537525},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2450\"],\"cd_name_en\":[\"Nicolet-Yamaska\"],\"csd_code\":[\"2450030\"],\"csd_name_en\":[\"Saint-C\\u00e9lestin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nicolet-Yamaska\",\"csd_name_fr\":\"Saint-C\\u00e9lestin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.3310853020864,46.22315951128484],[-72.34142421301208,46.242398701173514],[-72.35665024740155,46.2564049075905],[-72.39010175806973,46.24566754350169],[-72.40891373606,46.259361553048016],[-72.43509333363892,46.24190057265513],[-72.44591178686466,46.224879824424214],[-72.42296275146376,46.20865206615455],[-72.4264983042894,46.205718595602036],[-72.44865326758708,46.22082715679618],[-72.48743093787054,46.193611227305],[-72.41681372992343,46.14281854927339],[-72.39385997226483,46.16012276330598],[-72.37465551585578,46.17250006403026],[-72.38978906182838,46.1832596329248],[-72.3310853020864,46.22315951128484]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.40746166462331,\"lat\":46.20580654517338},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2450\"],\"cd_name_en\":[\"Nicolet-Yamaska\"],\"csd_code\":[\"2450035\"],\"csd_name_en\":[\"Saint-C\\u00e9lestin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nicolet-Yamaska\",\"csd_name_fr\":\"Saint-C\\u00e9lestin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.17349623474,46.01526047181784],[-73.18394947235127,46.020406425192014],[-73.23370925904011,46.055081215259094],[-73.26135955549438,46.04496324286136],[-73.27880862125413,46.01393371303066],[-73.3219426887325,45.98236565359695],[-73.31337233205393,45.976051264208515],[-73.33328529932878,45.961221506358626],[-73.32884749741237,45.95272110520513],[-73.24044228028694,45.89222587113607],[-73.23291613974035,45.911499306939554],[-73.20970616802907,45.95398541196147],[-73.18577979351258,45.98437783391652],[-73.17349623474,46.01526047181784]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.25021607417621,\"lat\":45.97824702146765},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2452\"],\"cd_name_en\":[\"D'Autray\"],\"csd_code\":[\"2452017\"],\"csd_name_en\":[\"Lanoraie\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"D'Autray\",\"csd_name_fr\":\"Lanoraie\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.09952796580923,45.61116893267815],[-73.13175614857208,45.63199029972842],[-73.14004612898198,45.61211893478845],[-73.1302129372009,45.589209387922224],[-73.13876544071918,45.574398245235116],[-73.12057800606236,45.561960759857286],[-73.1023113906918,45.55532579726504],[-73.10076657277477,45.56806700011635],[-73.06251202870358,45.538310902496235],[-73.05111805360944,45.56797442700688],[-73.00502463563473,45.569700322167975],[-72.9992098291221,45.579748278351666],[-72.99780977186442,45.60138139926727],[-73.04836843083363,45.600071091659885],[-73.08253310029971,45.60796768763529],[-73.0863006853172,45.57649688823155],[-73.10139073010865,45.582074482623675],[-73.11042026754795,45.603927310795704],[-73.09952796580923,45.61116893267815]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.07472665568153,\"lat\":45.584041557116976},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2454\"],\"cd_name_en\":[\"Les Maskoutains\"],\"csd_code\":[\"2454030\"],\"csd_name_en\":[\"Sainte-Marie-Madeleine\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Maskoutains\",\"csd_name_fr\":\"Sainte-Marie-Madeleine\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-72.82737487595517,45.6569427314573],[-72.83287848155564,45.66269678276225],[-72.81148020715416,45.67688334553559],[-72.81821652834229,45.68160970502125],[-72.7718485159554,45.71207393297559],[-72.80275761947176,45.73298680381228],[-72.87278812742012,45.78125502025183],[-72.88870956346643,45.75670059563812],[-72.88924756196265,45.73877380924141],[-72.90994068103954,45.7141874140156],[-72.82737487595517,45.6569427314573]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-72.84604520911103,\"lat\":45.718792086283344},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2454\"],\"cd_name_en\":[\"Les Maskoutains\"],\"csd_code\":[\"2454090\"],\"csd_name_en\":[\"Saint-Simon\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Maskoutains\",\"csd_name_fr\":\"Saint-Simon\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.2059518341129,45.44308571036478],[-73.27425816210489,45.45704155080588],[-73.25445300229525,45.439198919935436],[-73.24273068980567,45.41521115732868],[-73.25688177040583,45.401967662583075],[-73.25256864090981,45.38488602141036],[-73.22001828841645,45.36206320595481],[-73.20969688146823,45.370623034472246],[-73.19944793886131,45.377676117419846],[-73.19654698059605,45.41137824286322],[-73.20306143610776,45.42211294803732],[-73.2059518341129,45.44308571036478]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.22718110663156,\"lat\":45.40994221369257},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2455\"],\"cd_name_en\":[\"Rouville\"],\"csd_code\":[\"2455057\"],\"csd_name_en\":[\"Richelieu\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Rouville\",\"csd_name_fr\":\"Richelieu\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.4871602844308,45.71231876749231],[-73.4834940817207,45.72951839543277],[-73.50186918050022,45.736475896022334],[-73.49733434516479,45.72154158623926],[-73.4871602844308,45.71231876749231]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.49196594656058,\"lat\":45.72545609721835},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2460\"],\"cd_name_en\":[\"L'Assomption\"],\"csd_code\":[\"2460005\"],\"csd_name_en\":[\"Charlemagne\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"L'Assomption\",\"csd_name_fr\":\"Charlemagne\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.93437792981406,45.40057878247299],[-73.89409368460575,45.40963179301858],[-73.90105516943403,45.435081603801045],[-73.9315949532867,45.41986537103993],[-73.93437792981406,45.40057878247299]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.91402200288731,\"lat\":45.41623798682423},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2466\"],\"cd_name_en\":[\"Montr\\u00e9al\"],\"csd_code\":[\"2466112\"],\"csd_name_en\":[\"Baie-D'Urf\\u00e9\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Montr\\u00e9al\",\"csd_name_fr\":\"Baie-D'Urf\\u00e9\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.5538937771882,45.38667675141901],[-73.59566782165543,45.39522275460561],[-73.61187266090548,45.38482767621379],[-73.626093908377,45.369544707974995],[-73.64860066119024,45.35246893932812],[-73.66118457240775,45.35019953815232],[-73.6310071203469,45.34243280772983],[-73.62009953318285,45.329436317388264],[-73.63399554845476,45.31469644527849],[-73.56943035374526,45.296191114773734],[-73.57310835437724,45.329461489261895],[-73.56962358257363,45.33981197157836],[-73.55068892495437,45.33525030493985],[-73.54731433726118,45.34626855024391],[-73.51634192172239,45.337309101607204],[-73.51989177203427,45.35364590092249],[-73.55917217675056,45.36906207890935],[-73.5538937771882,45.38667675141901]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.58904542673535,\"lat\":45.349185124602116},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2467\"],\"cd_name_en\":[\"Roussillon\"],\"csd_code\":[\"2467035\"],\"csd_name_en\":[\"Saint-Constant\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Roussillon\",\"csd_name_fr\":\"Saint-Constant\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.34858064913674,45.24640702805565],[-74.34187075962201,45.284570117759955],[-74.35650033526882,45.288986395768696],[-74.35819773400027,45.30452893988723],[-74.37687932508827,45.309737924792614],[-74.40452548059615,45.33042516812481],[-74.47118010515447,45.304921241092536],[-74.47191127919558,45.30273420964523],[-74.37637598912805,45.23003876450268],[-74.34858064913674,45.24640702805565]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.39762832071013,\"lat\":45.28350607790167},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2471\"],\"cd_name_en\":[\"Vaudreuil-Soulanges\"],\"csd_code\":[\"2471015\"],\"csd_name_en\":[\"Saint-T\\u00e9lesphore\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Vaudreuil-Soulanges\",\"csd_name_fr\":\"Saint-T\\u00e9lesphore\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.91737462306324,45.33671829687123],[-73.94430918123257,45.33734196489706],[-73.96322028231185,45.34287042150774],[-73.97091956941746,45.3352984034361],[-73.99334987675157,45.33451369309945],[-73.97926854113103,45.31724908042649],[-73.97607986096178,45.31856948481114],[-73.93419304847026,45.32577465531454],[-73.91737462306324,45.33671829687123]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.9586582818353,\"lat\":45.33027378633561},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2471\"],\"cd_name_en\":[\"Vaudreuil-Soulanges\"],\"csd_code\":[\"2471055\"],\"csd_name_en\":[\"Pointe-des-Cascades\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Vaudreuil-Soulanges\",\"csd_name_fr\":\"Pointe-des-Cascades\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.00108408812075,45.38674318261316],[-73.97619009951796,45.3904459372711],[-73.98753407415688,45.39745944286445],[-74.00108408812075,45.38674318261316]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-73.98826942059854,\"lat\":45.39154952091624},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2471\"],\"cd_name_en\":[\"Vaudreuil-Soulanges\"],\"csd_code\":[\"2471075\"],\"csd_name_en\":[\"Terrasse-Vaudreuil\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Vaudreuil-Soulanges\",\"csd_name_fr\":\"Terrasse-Vaudreuil\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.53444914766563,45.77316312789224],[-74.59278237362808,45.78339784336462],[-74.66135175846797,45.79080065971661],[-74.68507593491829,45.79043311416905],[-74.75372111696802,45.80133689768678],[-74.7731997090395,45.75450328153745],[-74.80057927887063,45.66289004376543],[-74.80765163889473,45.63842198924677],[-74.77968901604974,45.63799245129012],[-74.72934567182479,45.628326087615044],[-74.67831623910911,45.63245738316202],[-74.63806070990528,45.63875815128382],[-74.62553464975345,45.63457356068337],[-74.62076931021438,45.630108281772806],[-74.60864268375072,45.63470159694528],[-74.58321320546058,45.63280106620811],[-74.58818084009681,45.61487731447979],[-74.57716936503542,45.611560571928436],[-74.56249897552492,45.60648443567953],[-74.55571532584744,45.60315833130539],[-74.5271852670042,45.71389131834227],[-74.51655709913616,45.76151745896106],[-74.53645190237488,45.76357706808889],[-74.53444914766563,45.77316312789224]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.65962816693609,\"lat\":45.707707388277996},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2476\"],\"cd_name_en\":[\"Argenteuil\"],\"csd_code\":[\"2476052\"],\"csd_name_en\":[\"Grenville-sur-la-Rouge\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Argenteuil\",\"csd_name_fr\":\"Grenville-sur-la-Rouge\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-73.98958866641752,46.043919416329274],[-74.00628808009311,46.05599272203567],[-74.04398162014505,46.0673910421307],[-74.0604518101495,46.05552355769102],[-74.02910088819132,46.03583624039039],[-74.04796380513731,46.023743518574975],[-74.03504688508143,46.01221590178462],[-74.00431124155357,46.03274561808588],[-74.00213022283971,46.03430982313891],[-74.0157148327149,46.04393734902139],[-74.00530957256207,46.051543413194736],[-73.99227481555955,46.0419228880069],[-73.98958866641752,46.043919416329274]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.02839099449889,\"lat\":46.042991593240544},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2477\"],\"cd_name_en\":[\"Les Pays-d'en-Haut\"],\"csd_code\":[\"2477011\"],\"csd_name_en\":[\"Est\\u00e9rel\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Ville\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Pays-d'en-Haut\",\"csd_name_fr\":\"Est\\u00e9rel\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.09976329878918,45.88273929740358],[-74.13340476831053,45.87350226609121],[-74.18831298292415,45.834525717516506],[-74.14195439544042,45.8193374315837],[-74.12613377135557,45.83144150676686],[-74.09277199493935,45.83121433084617],[-74.09073067243372,45.84704933249955],[-74.10466182639121,45.848168796564984],[-74.09744426836701,45.86526819958772],[-74.09976329878918,45.88273929740358]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.13224828591433,\"lat\":45.848212329918766},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2477\"],\"cd_name_en\":[\"Les Pays-d'en-Haut\"],\"csd_code\":[\"2477035\"],\"csd_name_en\":[\"Sainte-Anne-des-Lacs\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Paroisse (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Pays-d'en-Haut\",\"csd_name_fr\":\"Sainte-Anne-des-Lacs\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-74.43066479747834,46.896977929894376],[-74.57592812123781,46.997857391213316],[-74.70303740958198,46.91328211267752],[-74.79449382631458,46.85121535324514],[-74.63390704903189,46.75083949924331],[-74.5083015296828,46.66419988748225],[-74.51155992053752,46.67997597678888],[-74.50039308844072,46.68724285126285],[-74.47860811458362,46.721591572381065],[-74.49427011640064,46.73229139487435],[-74.48537491265138,46.7587693537335],[-74.47605048710494,46.75784255000275],[-74.48146845203267,46.78179068813382],[-74.4687059023126,46.792887561620184],[-74.47469508079737,46.85008332869118],[-74.47133444687682,46.86915980711783],[-74.45584136122233,46.865162485649805],[-74.44128268436317,46.89347157993804],[-74.43066479747834,46.896977929894376]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-74.5894997927666,\"lat\":46.84423285826571},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2479\"],\"cd_name_en\":[\"Antoine-Labelle\"],\"csd_code\":[\"2479916\"],\"csd_name_en\":[\"Lac-de-la-Maison-de-Pierre\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Antoine-Labelle\",\"csd_name_fr\":\"Lac-de-la-Maison-de-Pierre\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.02765631821984,46.10339401590097],[-75.08990400196708,46.10325026697778],[-75.07558743404947,46.216122890770286],[-75.11746579238589,46.21593668034312],[-75.11807455418396,46.18311555299154],[-75.13828893638193,46.1828775423491],[-75.1384273858819,46.15763307816109],[-75.15538370845941,46.157553858342965],[-75.15635312484126,46.13180468716597],[-75.17849264494727,46.132497496909764],[-75.17978973426817,46.10339345561978],[-75.21120015917109,46.1040292172013],[-75.21122263561693,46.098001114594084],[-75.4076579286271,46.0971387256321],[-75.40837418758571,46.05649058280859],[-75.40733497716485,45.972404181579435],[-75.39232376221706,45.972690758460246],[-75.28259369501058,45.9726296916896],[-75.21425599758852,45.97380211558211],[-75.18226767385973,45.9728265176841],[-75.02477791287393,45.9741491307829],[-75.02485948617272,46.07173016422663],[-75.02765631821984,46.10339401590097]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-75.20231786885195,\"lat\":46.05139951279067},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2480\"],\"cd_name_en\":[\"Papineau\"],\"csd_code\":[\"2480135\"],\"csd_name_en\":[\"Duhamel\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Papineau\",\"csd_name_fr\":\"Duhamel\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-75.929474577349,45.61345772933788],[-75.99389122414263,45.60735344331632],[-76.11880335664053,45.598184110044],[-76.13384019221697,45.65994001807068],[-76.13741069813275,45.68264250812616],[-76.29963481681699,45.67046400907172],[-76.32326766022737,45.6674891570011],[-76.30953219500248,45.5960855272483],[-76.29767208346932,45.51950031555376],[-76.29621681486712,45.46453156188991],[-76.24508393215223,45.46860894027068],[-76.23851762439612,45.47525390105418],[-76.23348268242768,45.50782872866343],[-76.20100638900726,45.51887913422596],[-76.14039936096255,45.51818110200525],[-76.089877186838,45.51385244446216],[-76.04819525689219,45.50005375714934],[-76.02323820462442,45.48908605001442],[-75.98716460661814,45.47964530771276],[-75.95474415048447,45.46026074796359],[-75.9287357365658,45.428849047618684],[-75.89518509822274,45.401634686028096],[-75.90876169099907,45.480514240602865],[-75.91681175495765,45.5203269797364],[-75.91791154028331,45.5479075595192],[-75.929474577349,45.61345772933788]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-76.12439000184897,\"lat\":45.56521525005746},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2482\"],\"cd_name_en\":[\"Les Collines-de-l'Outaouais\"],\"csd_code\":[\"2482030\"],\"csd_name_en\":[\"Pontiac\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Les Collines-de-l'Outaouais\",\"csd_name_fr\":\"Pontiac\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.32289362642244,48.574400770242285],[-79.3229419317939,48.61811888641352],[-79.35595858816744,48.61847408529739],[-79.35552116235645,48.648652514363846],[-79.37131068508107,48.6776766707934],[-79.40347051860829,48.677875970422846],[-79.46664593262061,48.659066226501935],[-79.51767131655531,48.66890739685074],[-79.51747401895227,48.561629470170324],[-79.32983337788157,48.56156637724959],[-79.32289362642244,48.574400770242285]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.42610686632804,\"lat\":48.612887517754835},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2487\"],\"cd_name_en\":[\"Abitibi-Ouest\"],\"csd_code\":[\"2487015\"],\"csd_name_en\":[\"Roquemaure\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipalit\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi-Ouest\",\"csd_name_fr\":\"Roquemaure\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.64321015867968,48.57453846761962],[-78.42938883820517,48.57493435468286],[-78.42451857870397,48.574996799116356],[-78.42502947233281,48.67551092988206],[-78.42474707402418,48.71931004507726],[-78.64357187998928,48.719780955782205],[-78.64321015867968,48.57453846761962]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.53421030797448,\"lat\":48.64714318719279},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2488\"],\"cd_name_en\":[\"Abitibi\"],\"csd_code\":[\"2488080\"],\"csd_name_en\":[\"Launay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Canton (municipalit\\u00e9 de)\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Abitibi\",\"csd_name_fr\":\"Launay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-70.02485800804408,51.56248782738822],[-70.02255738423155,51.663316223107834],[-70.02440214919937,51.8215179051565],[-70.02511732171047,52.05322827664431],[-70.02596450014829,52.169343749332],[-70.02447521580235,52.453824133527036],[-70.02391715732794,52.69636036173543],[-70.04919167545933,52.68549210714589],[-70.05295272540528,52.65370337795961],[-70.0797853762446,52.650169905728646],[-70.13604842698378,52.620121221126674],[-70.1478866503253,52.60807136778972],[-70.1752847277401,52.594419275674674],[-70.17098105706359,52.5655885846976],[-70.1579984303803,52.55825096348383],[-70.17638337093794,52.54499382577792],[-70.19160315784114,52.512651936399074],[-70.21545112512058,52.48992049647596],[-70.21974434531275,52.47303721376338],[-70.22911952680623,52.46469923759591],[-70.25904078904952,52.45408551837134],[-70.27352117951794,52.41664160097948],[-70.26553456275822,52.41228992292574],[-70.23171577874227,52.41752898341803],[-70.23537420872618,52.40708218442879],[-70.25102779838396,52.40229556876347],[-70.26352748209987,52.38602775037278],[-70.26203818049783,52.373740559390505],[-70.2704967810364,52.36156258696648],[-70.29183464580314,52.348522050651184],[-70.33997023038374,52.33936632890102],[-70.37930412658287,52.3386515163288],[-70.45293296229428,52.31933779149998],[-70.46351276858823,52.308927954112],[-70.48569609237178,52.30421037237055],[-70.4910412574194,52.31234877252568],[-70.52425560103833,52.306196544022505],[-70.53964302236224,52.307137985702205],[-70.56200387595477,52.31655590137364],[-70.61061389727769,52.29326077268213],[-70.63009576240668,52.290910680087705],[-70.65031816826834,52.282293244282116],[-70.6650233876519,52.284906311865036],[-70.69958551772321,52.279836399630966],[-70.71781652467286,52.27005890841659],[-70.72791430475694,52.25644313548953],[-70.74936421550386,52.248513172836276],[-70.78352800250933,52.2434135801997],[-70.80797578278624,52.233265999451696],[-70.82445630766804,52.246145912389586],[-70.80965087646192,52.27269505431463],[-70.83767471639895,52.27038270573287],[-70.85672510430571,52.26557270097085],[-70.89287228016063,52.246199151114034],[-70.89771058875743,52.23637296544686],[-70.92698044772963,52.20939582316204],[-70.93793291650651,52.206256197138316],[-70.95170773177944,52.186837875058835],[-70.97056507264033,52.17380672839267],[-70.99694827389469,52.164850657807186],[-71.04387560588319,52.14422763159449],[-71.06563326710852,52.14001905464373],[-71.07858201886349,52.118207245929135],[-71.09545603728203,52.116788406728325],[-71.09681856202275,52.09183577818727],[-71.12538893791013,52.04366846272754],[-71.12872530713231,52.02639728410399],[-71.14414562841668,52.00272030236294],[-71.17062776242412,51.98256250243539],[-71.18028704661488,51.96119682741873],[-71.20163037708143,51.929688255162304],[-71.22698861567726,51.90425981780587],[-71.24004914870352,51.8780593060772],[-71.23516540197305,51.86758423034847],[-71.25693903435013,51.84290469216263],[-71.28305854394516,51.82636670563916],[-71.30680540203642,51.79502469687728],[-71.30766847340428,51.778000571985295],[-71.29701309383131,51.76364161185877],[-71.30117854225152,51.747478378394696],[-71.31066303301904,51.74069804166996],[-71.30860079336536,51.722445172692545],[-71.32392387983678,51.69933065020896],[-71.35340151457358,51.67187808947404],[-71.36922411829019,51.66431956254573],[-71.37776960236589,51.649326812103496],[-71.41087853864894,51.62555991404127],[-71.42535321515183,51.62014825873066],[-71.41944442615943,51.607072945487566],[-71.4303972252788,51.579324714307546],[-71.42412152957152,51.57482239401175],[-71.43160897627583,51.557737993913825],[-71.4347467966767,51.5353536778022],[-71.42329836181067,51.51478403350966],[-71.44794586233644,51.4970704808191],[-71.45322045809458,51.481733460153215],[-71.44442572247358,51.46924380380645],[-71.45038134929354,51.45665251265409],[-71.44556984994087,51.435962940913136],[-71.46475149044701,51.40828635075995],[-71.47028442319589,51.38918632212684],[-71.46056327226363,51.37244316420216],[-71.45508378505615,51.34558527954164],[-71.45761009943479,51.33442767169733],[-71.44215394705081,51.301077421100295],[-71.46336485182479,51.25887205459198],[-71.48684465421249,51.25177840479794],[-71.50787626117729,51.23131385855168],[-71.49777756651396,51.22230245368423],[-71.48620867107435,51.19371295348045],[-71.4707573406896,51.188862770910916],[-71.4338038667002,51.166173632337824],[-71.43863786193472,51.15840350207896],[-71.42620020464564,51.14783476801784],[-71.4268329789094,51.130486196947324],[-71.40529937740597,51.110548636875855],[-71.40067546071285,51.099438156426366],[-71.38257146275963,51.09340141964504],[-71.37046826438012,51.070782063350414],[-71.3594306649651,51.06903333874726],[-71.33035235120904,51.02305009454678],[-71.33873212632024,50.977809271932514],[-71.34554499946212,50.96094780568684],[-71.34657693882754,50.93262904666407],[-71.317657533657,50.91834103669621],[-71.32055712193785,50.903645703053925],[-71.30335643632279,50.89143761382468],[-71.30783312040357,50.8790604173929],[-71.29192779205928,50.865580379824074],[-71.2922439730406,50.84491327030468],[-71.2836407623529,50.835278479347394],[-71.29205003638441,50.79775408507963],[-71.29017068103035,50.79046126870406],[-71.3219135775986,50.75006386764881],[-71.30795793319969,50.7140950603267],[-71.28434374813973,50.71564386759473],[-71.27332585629323,50.69865267525768],[-71.28542472484801,50.68488127521787],[-71.28101067495562,50.66628868784041],[-71.28366439517403,50.64108778407102],[-71.27378494396083,50.62089904451595],[-71.25731413569223,50.61413998098647],[-71.24321858168837,50.596799725301196],[-71.25334044729235,50.58575130587191],[-71.28834752720874,50.56262506659082],[-71.27895029841102,50.55014095995274],[-71.28221321424783,50.53541225789211],[-71.27721248393617,50.500010043881616],[-71.31028331071678,50.488215815406924],[-71.3291156076565,50.47358319901892],[-71.32647409469509,50.464299558142386],[-71.34385645983012,50.454357727595486],[-71.34502490962952,50.42493036136272],[-71.36036800012437,50.41470663268814],[-71.34150984900837,50.38610540497677],[-71.34022140715139,50.37002373522064],[-71.34784381828645,50.356853919866175],[-71.34995989714372,50.33159998031665],[-71.34241880994128,50.318079556526065],[-71.31571461156952,50.30511705996887],[-71.28715402861506,50.27526688278693],[-71.27710815326309,50.2421236232872],[-71.26408863767996,50.21689564209199],[-71.26318024493368,50.20017681839431],[-71.2878152209778,50.16182332767762],[-71.28447309529955,50.15107436420066],[-71.25827726404812,50.132439268011964],[-71.23252305792079,50.09944623195799],[-71.2180622457233,50.07539271859563],[-71.2114446270222,50.050339268535865],[-71.19729014620103,50.0220245669078],[-71.19723050299686,50.005759678491245],[-71.23005284382735,49.98359137122994],[-71.24715341674316,49.95604510650345],[-71.25652881290733,49.93397733455714],[-71.24629487790078,49.91319755997041],[-71.26669444439902,49.8900583320737],[-71.24671593506024,49.87899235953215],[-71.22834530489367,49.87869009029442],[-71.20819869329779,49.85167407655043],[-71.18388039142732,49.838924951924355],[-71.16312820176722,49.83445973254909],[-71.16497824869505,49.812139313570185],[-71.17863725245174,49.796981867614605],[-71.18533255819277,49.77804180843281],[-71.18555690294063,49.754945228731316],[-71.19808373517395,49.722505962280444],[-71.19309084468104,49.70272702421917],[-71.19901072825856,49.67341696054181],[-71.19812424013844,49.65597584546762],[-71.1858135075034,49.63061416676186],[-71.19331021909939,49.58708252544798],[-71.20052291428695,49.582631106424415],[-71.21185814621225,49.53807652491132],[-71.20141930907442,49.52073520165936],[-71.18654222354999,49.51255523001422],[-71.17025855481266,49.49152548316888],[-71.20356641849797,49.424278732095935],[-71.20674413500818,49.38184667232698],[-71.22656026906694,49.356728142891804],[-71.24704261838278,49.314693659060595],[-71.25807947385806,49.28292056675136],[-71.25359080803732,49.26096244131931],[-71.2555008517371,49.197405181161855],[-71.27302509580709,49.103633894700174],[-71.2932241954761,49.07212477559749],[-71.31743212594911,49.05254548997627],[-71.33280850986131,49.03133802352648],[-71.33698944617736,48.98927590277577],[-71.36813440135013,48.96430715569251],[-71.37516470917527,48.94050862041352],[-71.39196725115794,48.93171436338524],[-71.44822700197159,48.88595200616397],[-71.4612900851399,48.849493605721925],[-71.40297301379812,48.837113458603675],[-71.36547417066308,48.80205761755778],[-71.3210101415522,48.771763904259906],[-71.209908884583,48.75248825296846],[-70.81810777353229,48.68337633207505],[-70.86922593389863,48.633136182007725],[-70.90779911015743,48.61944174131819],[-70.93250398034485,48.618739017935724],[-70.93755579129855,48.60834037464442],[-70.9132116129909,48.58426583281893],[-70.92299569468452,48.58196708027274],[-70.8908970987406,48.56849060136351],[-70.84371621569416,48.544268800148124],[-70.79062179370749,48.536795166019076],[-70.76995316419973,48.539087358932626],[-70.72634351292778,48.53048184322513],[-70.72209704157675,48.524203670923676],[-70.48945855504611,48.48103813601105],[-70.51130768049805,48.42543651023667],[-70.51346652692143,48.41920686481528],[-70.4547467729207,48.40837504433756],[-70.4668330506025,48.38177167320953],[-70.46504052045296,48.35829308567811],[-70.43062572590715,48.35148506350392],[-70.41989012129052,48.35439996928277],[-70.35569075775418,48.34630860300058],[-70.24545738653899,48.29968148188297],[-70.21002288329763,48.28191048885082],[-70.16804971896913,48.2648093372106],[-70.13392915518139,48.255682280395725],[-70.11991292744952,48.25192843107364],[-70.07879830511655,48.25612210278635],[-70.06777053733451,48.26432048951282],[-70.00849681677161,48.35795647079656],[-70.0090557557681,48.599418279120144],[-70.00943220452658,48.76064079279056],[-70.00999614645701,49.00001240665537],[-70.01853470340703,49.00002219740263],[-70.0188223407467,49.18181646563695],[-70.01906357507814,49.333167218106865],[-70.01933143977482,49.500022838049524],[-70.01981369781303,49.79735092539377],[-70.03389062804135,49.797140991871956],[-70.03487833654626,50.00003802154029],[-70.02563442161711,50.000029153141526],[-70.02555465964082,50.16890546033392],[-70.02541456621428,50.462368514515624],[-70.02530328633911,50.69271090218341],[-70.02515300515607,51.00002805099297],[-70.02502910907673,51.25002776441913],[-70.02485800804408,51.56248782738822]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-70.63177527232067,\"lat\":50.413462123781876},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2494\"],\"cd_name_en\":[\"Le Saguenay-et-son-Fjord\"],\"csd_code\":[\"2494930\"],\"csd_name_en\":[\"Mont-Valin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Le Saguenay-et-son-Fjord\",\"csd_name_fr\":\"Mont-Valin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-77.22140242972543,55.163800997086874],[-77.19054024030744,55.16428603369695],[-77.19347059624263,55.198403692592954],[-77.22643183499426,55.20802681273401],[-77.22140242972543,55.163800997086874]]],[[[-77.19595839000897,55.15870209852001],[-77.22559067734741,55.15852410056422],[-77.26584789729934,55.15263000455185],[-77.29770048441898,55.152340302395295],[-77.372597097318,55.142692200512286],[-77.28702348817566,55.101725499592476],[-77.18383620502435,55.10135494904668],[-77.19169159011255,55.15776984678884],[-77.19595839000897,55.15870209852001]]],[[[-77.8503911333035,55.25299695686097],[-77.85453898894231,55.220613654481056],[-77.73002391212049,55.22286649055676],[-77.65829100359639,55.22292797959479],[-77.6598177030699,55.27761361464632],[-77.70090960239479,55.27626658889718],[-77.72040801201285,55.26840309727267],[-77.78141979090482,55.265099711586174],[-77.81097658385337,55.25699259319788],[-77.84228025566942,55.258216635172566],[-77.8503911333035,55.25299695686097]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-77.49601884055245,\"lat\":55.190193822697616},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499070\"],\"csd_name_en\":[\"Whapmagoostui\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village cri\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Whapmagoostui\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.0000000050786,52.19752809223856],[-78.0000000157078,52.224189244377904],[-78.0404733158708,52.22912990097132],[-78.06693710152292,52.235806902642985],[-78.07848228885736,52.24485199794352],[-78.14928730263192,52.23353629536839],[-78.18458532350405,52.233523794114106],[-78.20722811287558,52.22608921410405],[-78.26100679236971,52.22979510962854],[-78.3064346963448,52.22833901198773],[-78.32060778646513,52.225226985627266],[-78.41846798980455,52.23019489062911],[-78.45046888567333,52.23970160434333],[-78.48900100098267,52.24681859996926],[-78.50640240256612,52.24629620031907],[-78.56090229808734,52.23179980704922],[-78.55405391632367,52.21204431341956],[-78.54068329795695,52.19743260615065],[-78.30554776424673,52.197868840371356],[-78.0000000050786,52.19752809223856]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.28520899303781,\"lat\":52.216165532354246},\"year\":\"2021\",\"prov_code\":[\"24\"],\"prov_name_en\":[\"Quebec\"],\"cd_code\":[\"2499\"],\"cd_name_en\":[\"Nord-du-Qu\\u00e9bec\"],\"csd_code\":[\"2499810\"],\"csd_name_en\":[\"Eastmain\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Terres r\\u00e9serv\\u00e9es aux Cris\",\"prov_name_fr\":\"Qu\\u00e9bec\",\"cd_name_fr\":\"Nord-du-Qu\\u00e9bec\",\"csd_name_fr\":\"Eastmain\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.79619656202833,43.867031218538344],[-78.87187710498979,44.040532197527924],[-78.87508961221778,44.04739171277063],[-78.95938741881628,44.02868708933537],[-78.90549429784605,43.90764550419759],[-78.88219486971417,43.85262524874084],[-78.8686583199967,43.83507418799027],[-78.78232022609717,43.83576919281138],[-78.79619656202833,43.867031218538344]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.87201888161836,\"lat\":43.93715474520895},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3518\"],\"cd_name_en\":[\"Durham\"],\"csd_code\":[\"3518013\"],\"csd_name_en\":[\"Oshawa\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Durham\",\"csd_name_fr\":\"Oshawa\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.30602629098593,43.472066191728835],[-80.37395268577451,43.53282299610581],[-80.3677395094976,43.56898330907558],[-80.38301450081993,43.56359640282171],[-80.4097492494637,43.58319224057976],[-80.55754341343582,43.6895960045302],[-80.59509018981872,43.66203890092271],[-80.60801184215808,43.58910223565875],[-80.62618420668595,43.479747092057906],[-80.48246441237225,43.53057344761736],[-80.46751201663929,43.52031949453961],[-80.49512464376747,43.50926124143936],[-80.47925020874165,43.50384352537428],[-80.4677965400352,43.48444883047191],[-80.44839700379241,43.476704144830045],[-80.43405825999326,43.481826858177335],[-80.41511638434322,43.45800996048746],[-80.39216942927679,43.45020543983053],[-80.38778760482077,43.44360229040792],[-80.3175891811302,43.47059154881453],[-80.30602629098593,43.472066191728835]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.49068694647443,\"lat\":43.55740056727927},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3530\"],\"cd_name_en\":[\"Waterloo\"],\"csd_code\":[\"3530035\"],\"csd_name_en\":[\"Woolwich\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Waterloo\",\"csd_name_fr\":\"Woolwich\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.97072188554529,43.35012949977715],[-80.99692643470286,43.349126428443],[-81.00224590625965,43.33705037663859],[-81.01593492587007,43.33218463508448],[-81.03039076464356,43.337738721018646],[-81.01323687122498,43.36362228841343],[-81.01404108273569,43.385738888548225],[-81.08995570245703,43.420047497323814],[-81.17462480915586,43.32126921190766],[-81.20264841692843,43.31838649623409],[-81.2868103146966,43.35605260982876],[-81.36371900316419,43.26381589825212],[-81.22447046023566,43.20332520797222],[-81.13220345190746,43.231461883594484],[-81.05089428443533,43.256683902545824],[-80.93696561795497,43.29018028306614],[-80.97072188554529,43.35012949977715]],[[-81.12740436072151,43.273316113763634],[-81.1201966812384,43.242905321706004],[-81.12776844514804,43.23872075274948],[-81.15799990065918,43.23559610335834],[-81.16492290294494,43.269392997054666],[-81.12740436072151,43.273316113763634]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.14775922221152,\"lat\":43.30080184150337},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3531\"],\"cd_name_en\":[\"Perth\"],\"csd_code\":[\"3531013\"],\"csd_name_en\":[\"Perth South\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Perth\",\"csd_name_fr\":\"Perth South\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-80.54342299281667,42.98486320070132],[-80.56714808626404,43.042047389390554],[-80.60874540819336,43.15163401189607],[-80.65620968810828,43.144573508855174],[-80.67577635255377,43.13805239731628],[-80.66905959076917,43.11740770879054],[-80.73880918284601,43.107147894181125],[-80.73664625780333,43.09813497688924],[-80.75362443127716,43.0943440421311],[-80.74338821477316,43.082515298572886],[-80.7236851072556,43.02730480631205],[-80.74659048282572,43.023872907725305],[-80.70516252178918,42.870060499380564],[-80.70102660135544,42.85514998994221],[-80.50538490877898,42.88408129034426],[-80.54342299281667,42.98486320070132]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-80.63847912535314,\"lat\":42.99178403243433},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3532\"],\"cd_name_en\":[\"Oxford\"],\"csd_code\":[\"3532002\"],\"csd_name_en\":[\"Norwich\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Oxford\",\"csd_name_fr\":\"Norwich\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.79699880976607,42.67579850140371],[-81.78762109146429,42.68336110718382],[-81.80070057759221,42.693053675009644],[-81.81027578790996,42.68562157869454],[-81.79699880976607,42.67579850140371]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.79891147588296,\"lat\":42.684450720102284},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3539\"],\"cd_name_en\":[\"Middlesex\"],\"csd_code\":[\"3539002\"],\"csd_name_en\":[\"Newbury\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Middlesex\",\"csd_name_fr\":\"Newbury\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.2868103146966,43.35605260982876],[-81.29697769972313,43.36094309549454],[-81.30110329024278,43.38163359445037],[-81.33761149760441,43.3777228055538],[-81.44303828527866,43.424077991141786],[-81.49487880510124,43.41632780846748],[-81.48430052201033,43.36543198568986],[-81.49639193986518,43.36033837694251],[-81.73673541616141,43.335352804476756],[-81.7527429760719,43.34519706616229],[-81.76332861530983,43.31963364720037],[-81.75298775553713,43.30715761483827],[-81.76252064444088,43.29347732966158],[-81.76318045550666,43.273853454909606],[-81.7773844480953,43.248765189953644],[-81.77377421580745,43.237545243874976],[-81.76984824971356,43.23691514689869],[-81.46525750911258,43.270658887524675],[-81.46889100870163,43.28892530146868],[-81.43094239094282,43.29287039026279],[-81.36371900316419,43.26381589825212],[-81.2868103146966,43.35605260982876]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.52716734408314,\"lat\":43.319914184881064},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3540\"],\"cd_name_en\":[\"Huron\"],\"csd_code\":[\"3540005\"],\"csd_name_en\":[\"South Huron\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Huron\",\"csd_name_fr\":\"South Huron\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-81.42308567190115,43.72699397528854],[-81.4215151271253,43.74659115290254],[-81.31768048320069,43.88035479707133],[-81.30068943207564,43.87933057914198],[-81.29594148676325,43.892861694397936],[-81.31104270848624,43.89909379719777],[-81.3201398880864,43.88144474580535],[-81.38354250493603,43.90799339540932],[-81.4173135806344,43.92183040740742],[-81.53306691772096,43.77143719211583],[-81.42308567190115,43.72699397528854]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-81.42353160598101,\"lat\":43.8268276347492},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3540\"],\"cd_name_en\":[\"Huron\"],\"csd_code\":[\"3540055\"],\"csd_name_en\":[\"North Huron\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Huron\",\"csd_name_fr\":\"North Huron\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-78.72175255491732,46.311232450154904],[-78.68656405040463,46.30536883621919],[-78.68605262747319,46.31626579885044],[-78.70450825884187,46.32186244511794],[-78.72175255491732,46.311232450154904]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-78.70070092227141,\"lat\":46.31332514826011},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3548\"],\"cd_name_en\":[\"Nipissing\"],\"csd_code\":[\"3548021\"],\"csd_name_en\":[\"Mattawa\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Nipissing\",\"csd_name_fr\":\"Mattawa\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.41925689513367,45.615340301167556],[-79.39003328502325,45.617962299342764],[-79.39764052261631,45.630809325446336],[-79.41438410157433,45.625516891074845],[-79.41925689513367,45.615340301167556]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.40448387954757,\"lat\":45.62204499320085},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3549\"],\"cd_name_en\":[\"Parry Sound\"],\"csd_code\":[\"3549022\"],\"csd_name_en\":[\"Burk's Falls\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Parry Sound\",\"csd_name_fr\":\"Burk's Falls\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-83.41567675485646,47.808223892562474],[-83.41532066964581,47.793863948865656],[-83.38121860416756,47.7937952923498],[-83.37226302000835,47.80017104340601],[-83.37200653689291,47.82501824870408],[-83.39224721237909,47.825191962165434],[-83.3954597287631,47.80933372055422],[-83.41567675485646,47.808223892562474]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-83.39040685001603,\"lat\":47.807114041613524},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3552\"],\"cd_name_en\":[\"Sudbury\"],\"csd_code\":[\"3552053\"],\"csd_name_en\":[\"Chapleau 74A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Sudbury\",\"csd_name_fr\":\"Chapleau 74A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-79.69368783698496,47.40660777737362],[-79.69311362021335,47.389617944536084],[-79.6645582475179,47.40631506654416],[-79.69368783698496,47.40660777737362]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-79.68378656823874,\"lat\":47.400846929484615},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3554\"],\"cd_name_en\":[\"Timiskaming\"],\"csd_code\":[\"3554008\"],\"csd_name_en\":[\"Cobalt\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Timiskaming\",\"csd_name_fr\":\"Cobalt\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.0823194540336,48.528283386034616],[-82.06952590290875,48.52177302350902],[-82.07147305288736,48.5033532001008],[-81.953693275982,48.50370982440333],[-81.95471516346403,48.56072240491264],[-82.08353185334092,48.562693276628835],[-82.0823194540336,48.528283386034616]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.01679199501126,\"lat\":48.53327049399795},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3556\"],\"cd_name_en\":[\"Cochrane\"],\"csd_code\":[\"3556100\"],\"csd_name_en\":[\"Flying Post 73\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Cochrane\",\"csd_name_fr\":\"Flying Post 73\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-94.20381521969864,49.272332306095976],[-94.29080618535049,49.2725573906019],[-94.29114939877098,49.2830239954961],[-94.55943013604222,49.28373051980386],[-94.56163330466023,49.36656332412106],[-94.69865128374548,49.36611608636432],[-94.69747244930313,49.28575763563444],[-94.82301455231367,49.28790723324808],[-94.7972429088894,49.2137472887054],[-94.79792280279868,49.19804769241159],[-94.7728606898782,49.120583296528224],[-94.74972140794931,49.09868019060503],[-94.71909194196196,48.99995853698504],[-94.4999999202856,48.99999999914928],[-94.49847631017121,48.91404898870907],[-94.33370764923713,48.91336747137744],[-94.2293486555939,48.91379603457656],[-94.22962141070938,49.00002419670272],[-94.22875128527824,49.096176703062824],[-94.20781925301043,49.102411629354066],[-94.17964335954582,49.089964932546316],[-94.1605056717974,49.099253819829116],[-94.14470175863937,49.09651501769092],[-94.11785367744011,49.119177830012504],[-94.09481327448958,49.10849572920393],[-94.09004585836314,49.18203604220151],[-94.09284924413753,49.20099194821084],[-94.20296885401095,49.20026295501241],[-94.20381521969864,49.272332306095976]],[[-94.31570206555432,49.11961064073973],[-94.31687206009973,49.12600233979797],[-94.30609437712206,49.12588385514326],[-94.30667399210918,49.11754365828171],[-94.31570206555432,49.11961064073973]],[[-94.44450869010954,48.99631836039809],[-94.4302157749264,48.995498617091265],[-94.40962889259563,49.002557226657075],[-94.4099474531791,48.98619139403442],[-94.46304635505115,48.97736436669539],[-94.46544265408883,48.993585970440456],[-94.44450869010954,48.99631836039809]],[[-94.30005829613076,49.07917635202044],[-94.25361930884648,49.07981504767177],[-94.25385312511459,49.03691888883539],[-94.36241904631694,49.03957044172339],[-94.36295685786497,49.05607272668487],[-94.35036517559253,49.06036793566204],[-94.34395237147487,49.07714852845497],[-94.36649476485229,49.07838174851824],[-94.36055716853883,49.08895442921625],[-94.34346154970206,49.09295104181427],[-94.33787374038293,49.07871325375508],[-94.30531188558561,49.07929308894384],[-94.30563358502842,49.089304683438385],[-94.30045953612229,49.08936356767422],[-94.30005829613076,49.07917635202044]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-94.47333343885813,\"lat\":49.13802106279621},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3559\"],\"cd_name_en\":[\"Rainy River\"],\"csd_code\":[\"3559047\"],\"csd_name_en\":[\"Lake of the Woods\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Township\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Rainy River\",\"csd_name_fr\":\"Lake of the Woods\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-91.95489562770851,48.40486707945947],[-91.95489890016539,48.4064193714658],[-92.19815993324181,48.406487585655576],[-92.1974935085529,48.358082482986084],[-92.18105034662406,48.369060524954506],[-92.15077324080164,48.369911824648916],[-92.07276156741987,48.38582831401346],[-92.05847114398098,48.382472224988035],[-92.06710115123875,48.368868530909786],[-92.02066155759769,48.36993552030335],[-92.00881334377637,48.37424692568858],[-91.98756635184658,48.37108392873866],[-91.97626586367956,48.37831741724757],[-91.95484612406295,48.38112935961579],[-91.95489562770851,48.40486707945947]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-92.08085188696317,\"lat\":48.38966293202291},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3559\"],\"cd_name_en\":[\"Rainy River\"],\"csd_code\":[\"3559060\"],\"csd_name_en\":[\"Neguaguon Lake 25D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Rainy River\",\"csd_name_fr\":\"Neguaguon Lake 25D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-93.36519213036014,48.631626265800996],[-93.360740783694,48.62877869970615],[-93.35819614561922,48.63162267166556],[-93.36519213036014,48.631626265800996]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-93.36137635322446,\"lat\":48.63067587905756},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3559\"],\"cd_name_en\":[\"Rainy River\"],\"csd_code\":[\"3559062\"],\"csd_name_en\":[\"Agency 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Rainy River\",\"csd_name_fr\":\"Agency 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-94.2293486555939,48.91379603457656],[-94.33370764923713,48.91336747137744],[-94.49847631017121,48.91404898870907],[-94.4999999202856,48.99999999914928],[-94.71909194196196,48.99995853698504],[-94.68344426232007,48.88411111893336],[-94.68364741086243,48.881340246884506],[-94.56103378196133,48.878957262862166],[-94.56415291218971,48.85496831009424],[-94.56322293769581,48.82534151070238],[-94.38581980419704,48.82534049322376],[-94.38463878875052,48.736930101828605],[-94.25108999392343,48.73687431066159],[-94.25138672335258,48.825700488980104],[-94.23028528973924,48.82604612482125],[-94.2293486555939,48.91379603457656]]],[[[-90.96537228907673,49.019556817834186],[-91.05542463451273,49.02056547845141],[-91.12459262089375,49.01994343456684],[-91.4249821982152,49.02014888937422],[-91.61556663275036,49.01970166387323],[-91.96301515072344,49.02132100434476],[-92.3934632505815,49.0215959592013],[-92.63086360206863,49.020927918760854],[-92.93700220036801,49.01935626456061],[-92.93409467297283,49.10578452396886],[-93.35235480780365,49.10711163285828],[-93.72759016901193,49.106772066579126],[-93.82948609285116,49.107451107315356],[-93.83000854259018,49.00005988892931],[-93.92927450748327,49.00080090987621],[-94.09573534952946,49.00007638145518],[-94.0954477870793,48.914064064207906],[-93.91267323883721,48.91363109315384],[-93.82810029054396,48.91243852923572],[-93.82838364444262,48.825758171949346],[-93.85224094503788,48.825222504761186],[-93.85156221038116,48.737317097033156],[-93.7190488026473,48.73769546571443],[-93.58323743186982,48.73765163056575],[-93.58360316749595,48.64907494617549],[-93.44998178375367,48.649003413963904],[-93.42090647078912,48.648662874108275],[-93.42157406536037,48.66152873558243],[-93.48286234803909,48.66175442774227],[-93.48369549115868,48.739500063873706],[-93.42263041594035,48.74006666963028],[-93.39700216624766,48.708166333331924],[-93.39935577346134,48.692954717241776],[-93.41143646771292,48.684662723775126],[-93.40985215773624,48.670565628402755],[-93.38985206270611,48.65708342542909],[-93.35917315868588,48.671856034740756],[-93.35845756388366,48.64756842624663],[-93.33531474706298,48.65655342640784],[-93.31670383879721,48.65200011173903],[-93.30827706158307,48.633487121378295],[-93.25466653812616,48.64280561451853],[-93.2075276635535,48.642500016177614],[-93.17838877030825,48.6232500296288],[-93.09033315439908,48.62777783605524],[-92.98458315811584,48.62383332354089],[-92.94977766978744,48.6303333159686],[-92.94999985685965,48.60836112838927],[-92.92955545739609,48.60694442684932],[-92.91005544696895,48.596388928481076],[-92.89449987221114,48.59500003316368],[-92.72841655108996,48.53938892792849],[-92.65786084193039,48.54622223414971],[-92.63488876375519,48.54255561396992],[-92.625083158931,48.51291672326894],[-92.637110142788,48.49933351039322],[-92.69869426862918,48.494833325801984],[-92.71269426012138,48.46297222321588],[-92.68811097614191,48.443694421600945],[-92.6562220702235,48.43647223700882],[-92.57655545090162,48.440583327387145],[-92.5369442676239,48.44775003154546],[-92.50747206006494,48.44797221413482],[-92.4754442652628,48.418611126991834],[-92.45644426358734,48.41408332328603],[-92.4563887428062,48.40111112202873],[-92.47649987094542,48.37191672087396],[-92.46977766111608,48.35208332236935],[-92.43183314654623,48.30516671632337],[-92.41563874533438,48.29508333689648],[-92.38469427289714,48.249166723198215],[-92.37516655009892,48.2259444376288],[-92.31488876957457,48.24050003455949],[-92.2803887541747,48.244361128169174],[-92.2736387553066,48.25652783582087],[-92.29016656591733,48.26505561667337],[-92.30144426749557,48.28830562007179],[-92.29455546466366,48.306222238320956],[-92.30616653740901,48.31625001342595],[-92.29544424925852,48.32386113655792],[-92.28883317238018,48.34280561822367],[-92.26255544982436,48.3549167373491],[-92.20672204786206,48.34563893077805],[-92.17852765225587,48.351805616905786],[-92.16199986926956,48.363305617943574],[-92.1436942675914,48.35602783435648],[-92.09088873768074,48.35450001815506],[-92.05522207119289,48.359361125275335],[-92.0469442706411,48.33477782047441],[-92.0307776676208,48.32569443732684],[-92.0001109540408,48.32108331723342],[-92.0129720689921,48.29744442801758],[-92.00652767397473,48.26541671827268],[-91.98913874669356,48.26027782487756],[-91.9805831745479,48.24791671959315],[-91.95902766913987,48.25366672885874],[-91.95836096981053,48.23313892989104],[-91.91488876098607,48.238916727035246],[-91.89311096598253,48.23797221753635],[-91.86755544434398,48.219194433804276],[-91.86436096325151,48.20694442457914],[-91.81544426103416,48.211805617276184],[-91.79727766432435,48.202694425962974],[-91.71536096881717,48.1995000175991],[-91.71224984991939,48.18752782497248],[-91.72436096415979,48.1705278353325],[-91.70483313717571,48.170722211534404],[-91.70688875111756,48.15036112048525],[-91.69777763673629,48.14161113452818],[-91.7117498573668,48.114638935392534],[-91.69216654977593,48.116888926964286],[-91.67677764854767,48.10750001831659],[-91.65308316595134,48.109805629508266],[-91.63991653761667,48.09711112456347],[-91.61486096965535,48.10227783605609],[-91.5888054536275,48.10247222247381],[-91.55911093694546,48.10858332350144],[-91.56944427382997,48.09369442306751],[-91.57538874591485,48.06672222461196],[-91.57544426450345,48.048944423769306],[-91.56749986633281,48.04377783057795],[-91.54166656945515,48.0538611155679],[-91.48819423796287,48.068388915620865],[-91.4499998728837,48.0690833136843],[-91.42958316698571,48.048666721665285],[-91.39088875295336,48.05716673049983],[-91.37083314821517,48.06972222124097],[-91.33997205226629,48.073555619011735],[-91.2897220531378,48.07416671430596],[-91.24969427161291,48.08408333596134],[-91.2348887651325,48.096138914665126],[-91.21491654619446,48.10286112086328],[-91.19005543932361,48.12511113197273],[-91.17661095308225,48.12552783612341],[-91.15630547097071,48.140500034029614],[-91.13733314749341,48.14925001492594],[-91.11472203939226,48.16650001505822],[-91.08247205735874,48.1811389130662],[-91.05541655058846,48.18830562685322],[-91.031083140999,48.18883331892138],[-90.97697203509011,48.21955561696839],[-90.96491020046666,48.22200390420946],[-90.96510392722456,48.52982937864714],[-90.96523381441216,48.77687912290646],[-90.96537228907673,49.019556817834186]],[[-93.72433231546614,48.89578650653283],[-93.72413648654559,48.86359997188048],[-93.766860920396,48.863982005241304],[-93.76735487770394,48.894998702084955],[-93.72433231546614,48.89578650653283]],[[-93.56908246459817,48.87412703735271],[-93.5385555097673,48.87487516425002],[-93.54537087270067,48.85422903198124],[-93.57316524953785,48.85453502145177],[-93.57939444750257,48.84564502702071],[-93.59705326175292,48.84211062144301],[-93.61690764921809,48.84590913856487],[-93.59952717556656,48.856547528922796],[-93.61758696533597,48.86158096735838],[-93.61800428292138,48.87325030153786],[-93.56908246459817,48.87412703735271]],[[-93.33065224832816,48.73461752892581],[-93.3224626490697,48.725743623089535],[-93.32955363728378,48.7080371241181],[-93.3257078698544,48.697657533229425],[-93.33305597080513,48.67849273664227],[-93.3511848533984,48.675569039603644],[-93.36939485903132,48.687701935230855],[-93.35396083929751,48.69756522854676],[-93.36564604209782,48.712273417504676],[-93.38616234315973,48.70735753132449],[-93.38379646985192,48.721525334715885],[-93.33065224832816,48.73461752892581]],[[-92.9122205401617,48.78298932360008],[-92.90258514658592,48.78165022515528],[-92.8946970035406,48.72334321091744],[-92.89940723713619,48.70540148452922],[-92.94577046269691,48.70577238848031],[-92.94761610853911,48.76406971659529],[-92.93396984490248,48.77586102282183],[-92.9122205401617,48.78298932360008]],[[-92.39603902245797,48.735364616607484],[-92.39838091343297,48.766012852433214],[-92.29510562139737,48.76595764176631],[-92.29466648728759,48.739774517278306],[-92.31626385017678,48.73501728739144],[-92.3729117525183,48.734127247474376],[-92.39491494842606,48.72621137345962],[-92.37275383899544,48.72454112832985],[-92.37411154221516,48.71488315163869],[-92.40702209703139,48.71425131843059],[-92.40744193190149,48.707553269175136],[-92.48308165698462,48.70739473262843],[-92.48057385905727,48.735501048665064],[-92.39603902245797,48.735364616607484]],[[-91.95489562770851,48.40486707945947],[-91.95484612406295,48.38112935961579],[-91.97626586367956,48.37831741724757],[-91.98756635184658,48.37108392873866],[-92.00881334377637,48.37424692568858],[-92.02066155759769,48.36993552030335],[-92.06710115123875,48.368868530909786],[-92.05847114398098,48.382472224988035],[-92.07276156741987,48.38582831401346],[-92.15077324080164,48.369911824648916],[-92.18105034662406,48.369060524954506],[-92.1974935085529,48.358082482986084],[-92.19815993324181,48.406487585655576],[-91.95489890016539,48.4064193714658],[-91.95489562770851,48.40486707945947]],[[-91.59064331232229,48.84646620035609],[-91.49089014059498,48.84599870772351],[-91.49009976600696,48.675001343974216],[-91.75288224382471,48.676755630832595],[-91.75235392828404,48.8460298251366],[-91.59064331232229,48.84646620035609]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-92.26361064656682,\"lat\":48.69028617561238},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3559\"],\"cd_name_en\":[\"Rainy River\"],\"csd_code\":[\"3559090\"],\"csd_name_en\":[\"Rainy River\",\"Unorganized\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Rainy River\",\"csd_name_fr\":\"Rainy River, Unorganized\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-94.95194586834657,50.199193541744776],[-94.97909934978051,50.19436244128758],[-94.99745217357531,50.19598202872658],[-95.03177946481352,50.18734472431627],[-95.03319966324531,50.17460103487343],[-95.0204375544407,50.1672321273367],[-95.0251091619978,50.15616794111375],[-95.01335343844929,50.151281342627925],[-95.00654465733824,50.130755935883585],[-95.01333737048928,50.124566728296195],[-94.98059957039483,50.113418733994536],[-94.95387615667042,50.12596993161567],[-94.9220802678725,50.13172694163675],[-94.88211325671843,50.1299080269123],[-94.8216173215743,50.198681015669706],[-94.95194586834657,50.199193541744776]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-94.93677970337322,\"lat\":50.16440188215079},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560061\"],\"csd_name_en\":[\"Wabaseemoong\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Wabaseemoong\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-88.03918822414022,52.21280712938599],[-88.06934682068828,52.206527126250776],[-88.06511521553459,52.19511787920036],[-88.04886196843361,52.181111075122246],[-88.00371690914238,52.18835957463266],[-88.01360424166866,52.20938552251094],[-88.03918822414022,52.21280712938599]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-88.03665546356882,\"lat\":52.19762388080728},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560093\"],\"csd_name_en\":[\"Neskantaga\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Neskantaga\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-90.83901448451425,53.929600496297205],[-90.84761229898021,53.943235770016585],[-91.00000001723774,53.944342264917665],[-91.07033967950913,53.941973093910356],[-91.06653699564725,53.89329492964938],[-91.0669945228702,53.86113718803603],[-91.05693172509064,53.856533028756125],[-91.05441107607832,53.83502936993507],[-90.87475272520093,53.83176777879226],[-90.86386761838588,53.84915482586893],[-90.83734943917902,53.86181902157804],[-90.8440614317842,53.87585923373997],[-90.8373140342696,53.882662424681655],[-90.85155419925687,53.8971213934964],[-90.83363015385125,53.90791234803425],[-90.83901448451425,53.929600496297205]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-90.9548461760704,\"lat\":53.89019861132668},\"year\":\"2021\",\"prov_code\":[\"35\"],\"prov_name_en\":[\"Ontario\"],\"cd_code\":[\"3560\"],\"cd_name_en\":[\"Kenora\"],\"csd_code\":[\"3560095\"],\"csd_name_en\":[\"Bearskin Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Ontario\",\"cd_name_fr\":\"Kenora\",\"csd_name_fr\":\"Bearskin Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.730659596548,49.532400192218056],[-97.73238739392745,49.621029490095474],[-98.21035631770418,49.620687000452456],[-98.41480101689909,49.62105560213315],[-98.41451560658278,49.53170211007991],[-98.40907240187005,49.53168887229678],[-98.40906513175764,49.487847314310606],[-98.27310329485181,49.48751760796918],[-98.27304640444389,49.443384996661386],[-98.06961579392384,49.44345929569922],[-97.86612180097015,49.443523010827036],[-97.85373973516144,49.442685037500205],[-97.73055038583978,49.443715306344245],[-97.730659596548,49.532400192218056]],[[-97.9911303928381,49.51053363237857],[-98.00164509621673,49.49501179640845],[-98.01922175439135,49.50000002595573],[-98.01901187220335,49.5172632898211],[-97.99139021657751,49.51731441299335],[-97.9911303928381,49.51053363237857]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-98.05747240867012,\"lat\":49.535892806359115},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4603\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"4603072\"],\"csd_name_en\":[\"Dufferin\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Dufferin\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-98.40897259964568,49.354841888610416],[-98.65858428958431,49.3550475057754],[-98.69528206296148,49.356392256313185],[-98.72646902055888,49.354312714596134],[-98.81750630090967,49.354714991983805],[-98.81592277830924,49.3401766142108],[-98.79454503032832,49.339794771074146],[-98.79452904693237,49.32503151627999],[-98.77186407693267,49.32509214397911],[-98.77185403174913,49.310316965823596],[-98.7379220545117,49.31051751275086],[-98.73782436620584,49.29565806306271],[-98.72483234659472,49.29564354254893],[-98.72531056819294,49.25139821406216],[-98.70375864076853,49.25138285362639],[-98.70311085420975,49.199788291575345],[-98.68049238484363,49.19990830987355],[-98.68030083079137,49.177554642199645],[-98.67231077823104,49.17746922949707],[-98.67174699949712,49.0150435056257],[-98.6725514169274,49.000069128135664],[-98.38909053618362,49.00007979050292],[-98.2679648970914,49.00029214229212],[-98.26766470808376,49.177526489819215],[-98.27320034449578,49.1777520795443],[-98.27297551393995,49.266416404033635],[-98.4088953003222,49.26608529858201],[-98.40897259964568,49.354841888610416]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-98.50069980389154,\"lat\":49.17468622000414},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4604\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"4604034\"],\"csd_name_en\":[\"Pembina\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Pembina\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-99.47060618858524,49.26685479612942],[-99.47307384077514,49.281658783485994],[-99.49634811997592,49.28852431756675],[-99.49648584873202,49.30383211356138],[-99.5372550799286,49.32285173592101],[-99.5587557584144,49.34281794747896],[-99.57109926674839,49.36317213543488],[-99.604038464445,49.40045573618453],[-99.61884965806162,49.40277014928237],[-99.63132058797046,49.39552913295286],[-99.58884888278965,49.35491608399102],[-99.63068749159928,49.35511799473097],[-99.62993200825062,49.2668785867837],[-99.9013674020764,49.266815897422546],[-99.90133829437936,49.177635409659516],[-99.88450730860141,49.17558870208573],[-99.88463574196766,49.00008033593064],[-99.48224150501757,49.00003104772147],[-99.48133418504597,49.007004112474704],[-99.4812922142023,49.17127149806588],[-99.49520488758573,49.17830110935651],[-99.4948948930493,49.26687929606573],[-99.47060618858524,49.26685479612942]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-99.67717355552021,\"lat\":49.1506309303913},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4605\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4605025\"],\"csd_name_en\":[\"Killarney - Turtle Mountain\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Killarney - Turtle Mountain\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-100.07206599276076,50.063609587490156],[-100.20774029794167,50.06352199622488],[-100.47119435102137,50.06361350672847],[-100.48455418912046,50.06303690125719],[-100.48533239045778,50.06228787036129],[-100.4851551664989,49.88676741013677],[-100.4625036668279,49.88680726016241],[-100.18926983477937,49.8865951870981],[-100.07245289265835,49.88687948836724],[-100.07206599276076,50.063609587490156]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.2787367114523,\"lat\":49.97515705261062},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4607\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4607076\"],\"csd_name_en\":[\"Riverdale\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Riverdale\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-98.50582569419002,49.79817129738993],[-98.50584463352043,49.80524183480762],[-98.52859060126714,49.80517799538715],[-98.52855948246217,49.79806810374359],[-98.50582569419002,49.79817129738993]]],[[[-98.48183753161621,49.87208823314723],[-98.48922197941381,49.872015902962886],[-98.52903952743021,49.87178482413741],[-98.52870408155829,49.8275433942193],[-98.50599909739583,49.827556804052364],[-98.50589741001892,49.81296741001481],[-98.48402516853366,49.81291605319861],[-98.46377307197658,49.817343012860135],[-98.45410689602298,49.826005458587275],[-98.467103763206,49.841596240789926],[-98.45305561902376,49.85756845844185],[-98.41467701583288,49.85764049980431],[-98.41413423087619,49.87190568879401],[-98.48183753161621,49.87208823314723]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-98.48546459993509,\"lat\":49.84629653919001},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4609\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4609025\"],\"csd_name_en\":[\"Long Plain 6\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Long Plain 6\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.62461818935503,50.41823335037685],[-97.64485681084945,50.418106101044074],[-97.64453637761845,50.47681464720249],[-97.66798279384047,50.4767685229456],[-97.66874502092416,50.59455607381008],[-97.73698718613508,50.59455508893776],[-97.73681838591611,50.50676820884572],[-97.98693588028456,50.50605410436689],[-98.00119291996641,50.51856420300722],[-98.04266821493943,50.5053619800623],[-98.01822205138568,50.485428437492615],[-97.9796882562517,50.44851562929249],[-97.959790344571,50.41842202708345],[-97.96227325626361,50.40722014429102],[-97.94943084365588,50.38497582740895],[-97.95680266693081,50.37050374051269],[-97.94809368306495,50.35289644635707],[-97.97623954101029,50.32941885405642],[-97.59873466958473,50.32961528535482],[-97.59858072779865,50.403734417440745],[-97.60788358189518,50.41386634562713],[-97.62461818935503,50.41823335037685]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-97.79362978737025,\"lat\":50.42974036216462},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4618\"],\"cd_name_en\":[\"Division No. 18\"],\"csd_code\":[\"4618040\"],\"csd_name_en\":[\"St. Laurent\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 18\",\"csd_name_fr\":\"St. Laurent\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-101.09679171290894,52.478468692967034],[-101.08686299238943,52.47838629127797],[-101.08682860025056,52.48751877672646],[-101.09679171290894,52.478468692967034]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-101.09016110184963,\"lat\":52.48145792032382},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4620\"],\"cd_name_en\":[\"Division No. 20\"],\"csd_code\":[\"4620060\"],\"csd_name_en\":[\"Wuskwi Sipihk First Nation 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 20\",\"csd_name_fr\":\"Wuskwi Sipihk First Nation 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-100.36417932882779,53.849847800809954],[-100.41920793665267,53.84817836999201],[-100.42944206746289,53.84283715845764],[-100.42332621265399,53.82367922542289],[-100.39415371854341,53.818601334071296],[-100.3608862254905,53.82773427420321],[-100.36417932882779,53.849847800809954]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.39451890057457,\"lat\":53.83540993959424},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4621\"],\"cd_name_en\":[\"Division No. 21\"],\"csd_code\":[\"4621060\"],\"csd_name_en\":[\"Moose Lake 31G\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 21\",\"csd_name_fr\":\"Moose Lake 31G\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-97.62285667442391,53.37920426433463],[-97.6548497347859,53.39310165282715],[-97.68167186622863,53.41248223609738],[-97.68234343707223,53.434756434864426],[-97.67460804542426,53.445814037584505],[-97.67356864942761,53.464052452614766],[-97.69817516844789,53.48393694485991],[-97.711724652583,53.48997484868877],[-97.70506986901519,53.50000004583651],[-97.71452497141911,53.52331195283766],[-97.73209923289916,53.54072385527828],[-97.76389246113499,53.562132037528215],[-97.77654736085256,53.565063848986696],[-97.79687364503346,53.587903833354495],[-97.83521780387638,53.61364116311398],[-97.92487434971937,53.647615185040046],[-97.9667019366645,53.66163266328537],[-98.0168659042809,53.67528030866771],[-98.02364312153686,53.680151743478795],[-98.03322483355717,53.712654842291265],[-98.05399363448292,53.736874245664815],[-98.07531373099158,53.7520287334072],[-98.1127901374741,53.766849533903695],[-98.18020603873056,53.797932038736754],[-98.26746995226165,53.82740713223132],[-98.30299074064021,53.83684354596148],[-98.36814196491731,53.84837984564408],[-98.42126655686859,53.8523889377731],[-98.48546633655378,53.8529229510254],[-98.53967384747813,53.85060255696445],[-98.63391833776669,53.84124723909922],[-98.72119395286275,53.82795234011014],[-98.7726686435312,53.81727575659569],[-98.84364416948492,53.79794774088284],[-98.88704356695807,53.78318664387893],[-98.92515014472434,53.765500857232844],[-98.94947045447596,53.74585571093073],[-98.94986976320104,53.88225733023866],[-98.9497250625765,54.06680218527335],[-98.96170945778843,54.06830685357316],[-98.96102420321273,54.25011553831238],[-98.96340317804336,54.41528715886139],[-98.97712267831673,54.415208546355],[-98.98233034236719,54.56358425181954],[-98.98242498871923,54.695010008426124],[-98.97149963046712,54.75002871454511],[-98.98831048708841,54.750012665705086],[-98.98627694830412,54.993382000169255],[-98.98538677609689,55.100769943592375],[-98.99999999634116,55.10116094414976],[-99.00000001061616,55.44529192811936],[-99.01916655398244,55.445408206735046],[-99.01756954714105,55.5001206623428],[-99.01719346015832,55.62550629662777],[-99.37177835370143,55.62601315635651],[-99.53444436266824,55.62451040494164],[-100.02619367240483,55.62291158359365],[-100.33562144949047,55.62461464325199],[-100.78178172854663,55.62547103052689],[-101.01647110427444,55.62521081659001],[-101.33702907754112,55.62591590549114],[-101.85650759137347,55.62511785570774],[-101.96366510858893,55.62400200127284],[-101.96395494363104,55.46042008989317],[-101.92422703066082,55.46021659132771],[-101.9237909599566,55.196869165454466],[-101.92436060643084,55.11209058995163],[-101.88526563857572,55.11159665535117],[-101.88528899262421,54.93831157333161],[-101.88534712489987,54.79122896442452],[-101.88531837552482,54.76252586406403],[-101.87788563901911,54.762525955425716],[-101.86281713053133,54.77847878012195],[-101.8635124087059,54.794348958870216],[-101.82040948218659,54.79443847710857],[-101.82139878549133,54.743694175510136],[-101.84723079072947,54.742325114346265],[-101.84746387609322,54.5302002613383],[-101.84748426351908,54.41356389822826],[-101.81046130903624,54.41353989396375],[-101.8103790174583,54.28279789065803],[-101.8103811893544,54.281421154023626],[-101.81038300956303,54.2802688838185],[-101.81038717439793,54.27763050495993],[-101.81114596350152,54.20473085251687],[-101.81043452049781,54.06440581813879],[-101.77132275803069,54.06440246114992],[-101.77124559080804,53.74646299683454],[-101.77066399919583,53.71091002548052],[-101.7550319443219,53.7108160175063],[-101.75503852317557,53.72229283371076],[-101.71320113362619,53.7238632592442],[-101.69212260212815,53.741947480013536],[-101.69047290125856,53.75210850602139],[-101.67088318878359,53.7629236053129],[-101.63340958103245,53.76386232723406],[-101.62116913309582,53.77191908789733],[-101.62106981923415,53.78578762337192],[-101.5471509058111,53.76817794541933],[-101.52255617241033,53.769914114748005],[-101.49435429250651,53.76693641975388],[-101.46492676897518,53.778954554531744],[-101.4233412185748,53.81231801475889],[-101.42371932676838,53.830634730614875],[-101.3735952187831,53.821604438636854],[-101.35786471938214,53.83213675708108],[-101.32545137539668,53.83822787896021],[-101.35409866959967,53.845201753939456],[-101.34618172410356,53.858479474351185],[-101.34448500031007,53.886290198693736],[-101.3295224418521,53.885837747572445],[-101.30782317332414,53.91157105928833],[-101.29931276484477,53.93157131257681],[-101.2816918103461,53.93154628623384],[-101.29269088092136,53.88870020167632],[-101.17629729957969,53.8893494855255],[-101.17700533371301,53.86846138655711],[-101.15112742269231,53.86774957115307],[-101.15540398412692,53.85593966923745],[-101.0822883474873,53.861586444549516],[-101.04491865506445,53.86838553816403],[-101.03706945209592,53.85308845362302],[-101.0577434660846,53.83606473754026],[-101.0605377622077,53.79713319016039],[-101.17562229711666,53.79281350077681],[-101.17629057585556,53.70875472688967],[-101.20402949323862,53.708953701039526],[-101.20679817526245,53.699377217773055],[-101.23405656009203,53.669442950330776],[-101.26565578504119,53.64972402483394],[-101.32090826112272,53.627835838056434],[-101.35484102702591,53.60280757478566],[-101.35428109779663,53.590835313296836],[-101.37344603754163,53.58694435981359],[-101.41349771180684,53.58571509239876],[-101.43851455427358,53.57659485817266],[-101.51173981208365,53.575857756849864],[-101.5111379574713,53.59766693240664],[-101.54002975210807,53.61040328640607],[-101.59516335927124,53.60750099470518],[-101.61580194783028,53.615184987059195],[-101.63449991733133,53.60982534093818],[-101.66672865245148,53.58771684626406],[-101.70255907125501,53.595496250904915],[-101.73714527569892,53.61011851833467],[-101.73548179992663,53.56392707088027],[-101.7355436848977,53.365808442675785],[-101.70060567806499,53.3657811165886],[-101.70069426314089,53.01645077643397],[-101.67160451924241,53.01644787432135],[-101.67160376760629,53.001253123076566],[-101.1584208957907,53.000849222627394],[-101.00018070629241,52.99999336805169],[-100.57480753612647,53.00137166750705],[-100.07541646629039,53.0005368186229],[-100.00658280232004,53.00170679715576],[-99.72065929417708,53.00230755389273],[-99.16439308167452,53.00191300554842],[-99.05895503890487,53.001964833887556],[-98.4954215474946,53.00045401702533],[-98.24999998675031,52.999999996988876],[-97.99999984114383,53.0000000039267],[-97.74995180511739,53.00000054699741],[-97.49990362199718,53.000000884547866],[-97.37871029607385,53.00116100176178],[-97.33141955841553,53.00006609071596],[-97.33189658140921,53.00599057038292],[-97.36080405381183,53.02344094540502],[-97.40071746390147,53.03184784691181],[-97.42402525197595,53.067519940811216],[-97.43485905957398,53.07768345109473],[-97.43782305540111,53.098788138545906],[-97.4294264725522,53.11042575271103],[-97.43451316804479,53.118917127754536],[-97.4658642349037,53.14131764610782],[-97.43551706905275,53.16848775287929],[-97.44133464171416,53.183284237493616],[-97.5054071738079,53.21633045344811],[-97.5146552313317,53.23490323110167],[-97.54537236983288,53.2401908502057],[-97.55331655456995,53.25322823426441],[-97.57609222870148,53.263397334111055],[-97.59616867260189,53.30927745227332],[-97.57712025641484,53.32744413628857],[-97.5960952276089,53.366524131068886],[-97.62285667442391,53.37920426433463]],[[-100.38020115060633,53.70163468759595],[-100.37766383569554,53.69687523332239],[-100.39017806343638,53.69721305499775],[-100.3907448112262,53.70159207474992],[-100.38020115060633,53.70163468759595]],[[-99.80542786281602,53.11037772206268],[-99.78474242911963,53.10199349833086],[-99.7963601188552,53.09129690792335],[-99.81169948923419,53.10194169225153],[-99.80542786281602,53.11037772206268]],[[-100.34375935816438,53.719585166729544],[-100.32479738276388,53.70927471961722],[-100.33332979241025,53.69937303138389],[-100.3519262122228,53.70028728727479],[-100.34375935816438,53.719585166729544]],[[-100.36417932882779,53.849847800809954],[-100.3608862254905,53.82773427420321],[-100.39415371854341,53.818601334071296],[-100.42332621265399,53.82367922542289],[-100.42944206746289,53.84283715845764],[-100.41920793665267,53.84817836999201],[-100.36417932882779,53.849847800809954]],[[-101.0746925274247,53.98696274329362],[-101.07214098977015,53.974519958894305],[-101.05507004673805,53.95636875064368],[-101.09427412944218,53.94709570155936],[-101.14176149703225,53.94798670675275],[-101.14315423164827,53.9562890894916],[-101.11954751260902,53.97009269084601],[-101.11876336944965,53.97855987187023],[-101.0746925274247,53.98696274329362]],[[-99.21076204161378,53.191611737369556],[-99.2070154557485,53.17529205584767],[-99.22773383582472,53.13568925995163],[-99.26077189572301,53.137084603241306],[-99.2735522597973,53.145082821713835],[-99.26090393860096,53.15903944399367],[-99.25938586328142,53.17417213812573],[-99.24412456514803,53.181846846027284],[-99.21257855351031,53.18010335515587],[-99.21076204161378,53.191611737369556]],[[-101.34239460836467,54.616393419891445],[-101.34000192713181,54.57362739607568],[-101.36638388486101,54.57369247352313],[-101.36725289039732,54.56193498943374],[-101.39079330957355,54.56213653597618],[-101.41628826482062,54.55038623570879],[-101.4352251009124,54.547385211757145],[-101.43211425592058,54.562734454410645],[-101.39178473770988,54.57082305212499],[-101.38543904546975,54.58222655511282],[-101.41927466382378,54.585105160395415],[-101.42080155838676,54.601757860971226],[-101.3988676703248,54.6005723396428],[-101.39727572363546,54.610303738085435],[-101.34239460836467,54.616393419891445]],[[-101.33693812976924,54.21940318884485],[-101.3386794081968,54.15195893404816],[-101.4091851465378,54.15201347900405],[-101.39574493598748,54.16320095227913],[-101.39394034288806,54.17519205316949],[-101.40713603624162,54.18199685066895],[-101.4101809192448,54.23809649649814],[-101.33672224259702,54.23987172568806],[-101.33693812976924,54.21940318884485]],[[-99.22301633585505,53.259994444629115],[-99.23715065790113,53.25515425015808],[-99.2468750487549,53.23757065632953],[-99.26478545234188,53.22235195260864],[-99.26854686542593,53.20904514509956],[-99.25963116484097,53.186311240927296],[-99.26770616267028,53.16265613541374],[-99.28676493924142,53.14668543966024],[-99.31308115225721,53.142271055146004],[-99.33736106300145,53.14605405472805],[-99.35966365889779,53.171482489852956],[-99.33674420705184,53.1721498061322],[-99.36035360086166,53.25706510546563],[-99.35913191261254,53.26652437266229],[-99.23403618526903,53.26619326790087],[-99.22301633585505,53.259994444629115]],[[-99.60106474058765,54.947048240682605],[-99.62814273866097,54.92539115793449],[-99.67733303493927,54.89752193865621],[-99.69123565593304,54.90558665381423],[-99.72923823984952,54.879279260555066],[-99.71765505477936,54.86771523780704],[-99.71882513876174,54.84888624730801],[-99.73288763736983,54.828705349476714],[-99.7664764409185,54.80875174160819],[-99.80001952949051,54.803042538875346],[-99.81649075797891,54.80990313808978],[-99.82949103978441,54.83633674940035],[-99.85506186724432,54.85121085484703],[-99.8572942698036,54.86000755159332],[-99.83486554143519,54.868513343904766],[-99.79861356613732,54.87390003570878],[-99.79471854189066,54.880137451901916],[-99.7623324642061,54.890024650515585],[-99.77077503685662,54.89566274963196],[-99.80059482785344,54.89095223992757],[-99.82088546392006,54.88007805761264],[-99.86089164817452,54.86588915280037],[-99.8783233400721,54.86866145029058],[-99.91302316762085,54.8385211335343],[-99.94684713200498,54.82044386084311],[-99.97614914842326,54.810381752751326],[-99.9646204650287,54.79496684100932],[-99.91434835937028,54.790774157497594],[-99.90366515899248,54.779300753076996],[-99.89908435925564,54.7446370359362],[-99.91739803047487,54.72252524959229],[-99.96501485335484,54.70857694235415],[-99.96055895682625,54.70245514830196],[-99.92386665516975,54.7163705503112],[-99.87909055523474,54.722988150944126],[-99.83631953403177,54.689773741231186],[-99.83889955289689,54.67073933783739],[-99.87417466012552,54.65139264198634],[-99.85978954296925,54.63951714894578],[-99.83245245417558,54.63828704289869],[-99.8195140682388,54.645298152363985],[-99.78304708242032,54.64108010421537],[-99.7891005146425,54.61280289025619],[-99.78097941307144,54.60271790406544],[-99.77713551088883,54.582540096053194],[-99.8642914141309,54.5835676162009],[-100.0376944160321,54.583275034091805],[-100.18817353628489,54.58503736308637],[-100.20287763805345,54.621876636675275],[-100.18886945405441,54.64268945817757],[-100.23807351590666,54.625662734756595],[-100.26483609382605,54.633148857633415],[-100.26631700542714,54.656754653698805],[-100.25824405563553,54.6647694436143],[-100.26857176685338,54.67595054705859],[-100.24554466878777,54.68155433839077],[-100.26451213538515,54.69894174098329],[-100.26815697276912,54.712758851283986],[-100.28498022898583,54.71708373241474],[-100.31545513315935,54.74602934416182],[-100.28460994999877,54.748649045309904],[-100.27682994800797,54.77050155327097],[-100.2901301281498,54.77549974083309],[-100.27509295087371,54.78648075731674],[-100.30563563105451,54.79846315384759],[-100.26653424812453,54.829236655265255],[-100.24642153758674,54.82964733822959],[-100.22800584855459,54.84585225621301],[-100.18521877713007,54.84785061488846],[-100.17849176164017,54.86292504168642],[-100.19862946453397,54.878881342823554],[-100.1689256925897,54.901023447390585],[-100.14296173584839,54.91484614769886],[-100.14383782376885,55.00006901193117],[-99.74999999868395,55.00000001168487],[-99.59827664868916,55.00006737400779],[-99.60106474058765,54.947048240682605]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-100.12551390096797,\"lat\":54.20793580335903},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4621\"],\"cd_name_en\":[\"Division No. 21\"],\"csd_code\":[\"4621078\"],\"csd_name_en\":[\"Division No. 21\",\"Unorganized\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Unorganized \\/ Non organis\\u00e9\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 21\",\"csd_name_fr\":\"Division No. 21, Unorganized\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-93.53308128102672,54.1723715796705],[-93.53501515593013,54.17415734548555],[-93.57185333794585,54.172864772161404],[-93.54302095268037,54.169932215088906],[-93.53308128102672,54.1723715796705]]],[[[-93.53135894327879,54.15899003161178],[-93.53187016364753,54.16720447961489],[-93.54280192052178,54.166955988922666],[-93.53135894327879,54.15899003161178]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-93.54373463653998,\"lat\":54.16953486621459},\"year\":\"2021\",\"prov_code\":[\"46\"],\"prov_name_en\":[\"Manitoba\"],\"cd_code\":[\"4622\"],\"cd_name_en\":[\"Division No. 22\"],\"csd_code\":[\"4622056\"],\"csd_name_en\":[\"Red Sucker Lake 1976\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Manitoba\",\"cd_name_fr\":\"Division No. 22\",\"csd_name_fr\":\"Red Sucker Lake 1976\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.8729696870742,50.04704381437204],[-105.28237168912784,50.04701269710282],[-105.28271572687842,49.872069530432185],[-105.2581122833684,49.87181850714341],[-105.25780214268866,49.78501901585908],[-105.12332871746192,49.7847683073801],[-104.85173619650867,49.78472109625454],[-104.85123996473912,49.871584197475],[-104.87410426270355,49.87170566853261],[-104.87256846378244,49.98891453483647],[-104.8729696870742,50.04704381437204]],[[-105.0583015556089,50.01014200058534],[-105.06628938185804,50.01797180797778],[-105.0453201464141,50.017978235720584],[-105.04518572515869,50.01094124942764],[-105.0583015556089,50.01014200058534]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.07019400597113,\"lat\":49.91603421842538},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4702\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4702061\"],\"csd_name_en\":[\"Elmsthorpe No. 100\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Elmsthorpe No. 100\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.64424810839826,50.04721760087365],[-104.0538213985051,50.047133094983266],[-104.05379131443172,49.87225619976077],[-104.0389280133176,49.87225980279339],[-104.03896298909999,49.78699199998388],[-104.03696409393949,49.78480768686478],[-103.63245898566663,49.78475118936719],[-103.6332082834954,49.8722028551329],[-103.64426749491568,49.87220104962042],[-103.6432165925031,50.000065479398856],[-103.64424810839826,50.04721760087365]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.84448439453583,\"lat\":49.91627039920008},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4702\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4702073\"],\"csd_name_en\":[\"Wellington No. 97\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Wellington No. 97\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.51588258306066,49.29077269837279],[-109.51386324566774,49.29816592976861],[-109.52580628893229,49.29806033362098],[-109.52572940123778,49.290781789619075],[-109.51588258306066,49.29077269837279]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.52029185848771,\"lat\":49.29456208318269},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4704\"],\"cd_name_en\":[\"Division No.  4\"],\"csd_code\":[\"4704021\"],\"csd_name_en\":[\"Consul\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  4\",\"csd_name_fr\":\"Consul\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.41923408243407,50.30953311297202],[-102.83115490137064,50.30946530811017],[-102.8312227143018,50.221803089195646],[-102.82532011644149,50.22180959634521],[-102.82525502355418,50.11246466897111],[-102.82524675508448,50.10446422286161],[-102.82527501084357,50.04720700428532],[-102.5294948866657,50.04717691115535],[-102.52350990651713,50.06157640988177],[-102.50677189648155,50.06130493800889],[-102.50676316973517,50.054514714973024],[-102.51824978650544,50.05458791656259],[-102.51821539965984,50.047151297940694],[-102.41575770930376,50.04713659652534],[-102.41589700698108,50.19341767651338],[-102.41870370278602,50.23691629604392],[-102.41923408243407,50.30953311297202]],[[-102.6431908934244,50.09086488846991],[-102.64316239198516,50.105888388523816],[-102.62041668648102,50.10540619490758],[-102.62042405561401,50.090871404167764],[-102.6431908934244,50.09086488846991]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.62224603156787,\"lat\":50.17900866845598},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4705\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4705014\"],\"csd_name_en\":[\"Kingsley No. 124\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Kingsley No. 124\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.58727274826606,50.39661322336312],[-103.65631185906099,50.39690564148039],[-103.65589450146437,50.22211200559637],[-103.64597794604147,50.22211903966704],[-103.64419078846933,50.19286180376947],[-103.64424810839826,50.04721760087365],[-103.23381729533358,50.047269514453276],[-103.23494640176472,50.20573940920094],[-103.24345529857958,50.22209448850009],[-103.24470500908734,50.30944010108018],[-103.38101709499257,50.309072961204826],[-103.3810685960528,50.29498457449885],[-103.58699414325241,50.29452345759274],[-103.58727274826606,50.39661322336312]],[[-103.6215194900625,50.251317896046125],[-103.62185751811633,50.25800926037299],[-103.61010390679033,50.25795649116137],[-103.6100868862719,50.251325694778494],[-103.6215194900625,50.251317896046125]],[[-103.45142498441741,50.22522874341109],[-103.4393651115505,50.21452033164264],[-103.46198718541409,50.21469437268181],[-103.45142498441741,50.22522874341109]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.45161022239935,\"lat\":50.18446712049477},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706001\"],\"csd_name_en\":[\"Montmartre No. 126\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Montmartre No. 126\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.0085400746944,50.8119291580868],[-105.0324372191328,50.80502915714893],[-105.0369459915124,50.80225833769718],[-105.04034908229437,50.80458155529863],[-105.03786157450102,50.79446686334295],[-105.037193502286,50.780931807997256],[-105.02011841062782,50.77102864201901],[-105.04270889796274,50.76424297770191],[-105.05536513777051,50.75541845653599],[-105.05515830702203,50.64441021821983],[-105.04374989339378,50.64444027608272],[-105.0437094924457,50.63718414393335],[-105.05513641363737,50.63713639628085],[-105.05536982571792,50.571570045363146],[-104.89308570806756,50.571623305726256],[-104.5012385010485,50.57173760329578],[-104.50077219990274,50.65912214562037],[-104.50072103905717,50.67376537286931],[-104.50066842014833,50.706322422256996],[-104.50090130845382,50.746435990500416],[-104.47781171383126,50.746424991925174],[-104.47755948284491,50.78265232114974],[-104.5003392997277,50.7826217205],[-104.50086069526117,50.818952560847855],[-104.52960439091113,50.81141234580488],[-104.56137909515267,50.81604704692866],[-104.57844479136895,50.80435835445462],[-104.59346878554823,50.80436795311731],[-104.64334827195889,50.78837474716503],[-104.676023475754,50.76626545368508],[-104.70351064827787,50.73282910928594],[-104.72586917209662,50.72403755698451],[-104.74616072351343,50.72235310024386],[-104.75803403632656,50.71044447512224],[-104.77643419602502,50.70460317775955],[-104.80116254023706,50.70659123385883],[-104.80849133253531,50.70264745774263],[-104.83219245386657,50.70203266343469],[-104.8446434052963,50.70806502728205],[-104.84290182952388,50.719424623508736],[-104.85934729031148,50.72805271194503],[-104.86805275036885,50.743552589085844],[-104.88038834468773,50.75190682960521],[-104.88853605166807,50.766700518610854],[-104.91683716190624,50.78182908121714],[-104.92841094403973,50.775491654595186],[-104.96286921351768,50.77553788572249],[-104.98587377884583,50.77556089433573],[-104.98588358364108,50.79023719555731],[-105.00874689443786,50.79024369307706],[-105.00813315629108,50.79944261079178],[-104.96294104229736,50.798063883375676],[-104.96275804403699,50.790243091373135],[-104.92834529452436,50.79078614908558],[-104.9167828148084,50.78283878402841],[-104.9165183359876,50.78775577878981],[-104.95142170245715,50.79874401972249],[-104.9944116524043,50.809874082184606],[-104.9935931438052,50.804398949023586],[-105.00801193299705,50.80412905653002],[-105.0085400746944,50.8119291580868]],[[-104.90522387202292,50.76318705455393],[-104.90532100882994,50.77086206534016],[-104.89273483204295,50.76632239533451],[-104.90522387202292,50.76318705455393]],[[-104.87132608627992,50.659068200752024],[-104.85799616103883,50.65907107527872],[-104.85914166471186,50.63620215933254],[-104.8822755143433,50.63306121617121],[-104.88235920997899,50.65261218328394],[-104.87132608627992,50.659068200752024]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.7682030986987,\"lat\":50.67351885333672},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706053\"],\"csd_name_en\":[\"Lumsden No. 189\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Lumsden No. 189\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.9103127042283,50.789954936086005],[-104.9165183359876,50.78775577878981],[-104.9022230751872,50.78188574981807],[-104.89629388873409,50.782465277494374],[-104.9103127042283,50.789954936086005]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.90674323844279,\"lat\":50.785762698351284},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706075\"],\"csd_name_en\":[\"Kannata Valley\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Resort village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Kannata Valley\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.26983569034199,51.01835245968602],[-103.48952256890784,51.01891197654235],[-103.48896299124985,50.9773235008394],[-103.26997889172421,50.97818485285037],[-103.26983569034199,51.01835245968602]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.3802106231778,\"lat\":50.998203562638466},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4706\"],\"cd_name_en\":[\"Division No.  6\"],\"csd_code\":[\"4706814\"],\"csd_name_en\":[\"Little Black Bear 84\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  6\",\"csd_name_fr\":\"Little Black Bear 84\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.82983115699005,50.30945677823479],[-106.85271918976274,50.31000559034822],[-107.24212910503817,50.3099272965806],[-107.24216340427031,50.22432239027467],[-107.23330781354024,50.22264009685018],[-107.2328615899629,50.047766706413555],[-106.82386779899143,50.04772099445982],[-106.82337135476807,50.04770116430327],[-106.82395318744769,50.222557800069325],[-106.82988301979037,50.22254549885964],[-106.82983115699005,50.30945677823479]],[[-106.96033531676987,50.121449977521436],[-106.95706774656945,50.10779742927621],[-106.97150862291505,50.109606239609],[-106.96033531676987,50.121449977521436]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.03096733506173,\"lat\":50.17910448429331},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707014\"],\"csd_name_en\":[\"Lawtonia No. 135\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Lawtonia No. 135\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.82013857973945,50.46957599855433],[-105.82110819118522,50.44769016575549],[-105.80976409711567,50.44844826547732],[-105.80982442865302,50.469641394405784],[-105.82013857973945,50.46957599855433]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.81523978232259,\"lat\":50.458669486564794},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707037\"],\"csd_name_en\":[\"Caronport\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Caronport\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.34152739365278,50.571594099810525],[-105.57408374093953,50.57176008545286],[-105.58623170263506,50.5717709959337],[-105.71790269433416,50.571744286581634],[-105.71796221521858,50.30943040922204],[-105.30545218660914,50.30947421251544],[-105.30566855909348,50.57154097332616],[-105.34152739365278,50.571594099810525]],[[-105.53673498416339,50.43320136681079],[-105.51188324196005,50.426079211257296],[-105.48882960759242,50.411473189932124],[-105.48897659939676,50.40119313970715],[-105.46588565091311,50.389514170093435],[-105.46594712719809,50.35301908870293],[-105.55752500116812,50.3530931837507],[-105.55827860004946,50.37495409376583],[-105.59173237282526,50.374961933785194],[-105.59171743853872,50.38217011450123],[-105.6263233624839,50.379788153086935],[-105.62632451495543,50.39696430374358],[-105.60341778685229,50.396878489263884],[-105.60340515260874,50.41135778356161],[-105.59190117564357,50.42576615820405],[-105.56934342803437,50.4334208170703],[-105.53673498416339,50.43320136681079]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.50947510373413,\"lat\":50.44487250872107},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707038\"],\"csd_name_en\":[\"Moose Jaw No. 161\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Moose Jaw No. 161\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.89256702266218,51.00945225094395],[-107.02773171772563,51.0088150959191],[-107.23703439337162,51.00875309821833],[-107.26027463154449,51.009393909238554],[-107.26009549294996,50.92150800971308],[-107.25170148892762,50.92153530812252],[-107.25095016178496,50.72720817073409],[-107.25080714075196,50.72729603005441],[-107.20539755061161,50.75802844980073],[-107.17169705270582,50.767907060580676],[-107.09958032147959,50.74333811576772],[-107.078460551142,50.74198203268215],[-107.0453565592159,50.74768481652383],[-107.00539404495818,50.76360694375743],[-106.98892910071909,50.774433595794335],[-106.97372785905307,50.80932282346291],[-106.9496571299466,50.8342555101005],[-106.9574999679581,50.85049575209567],[-106.97350495105228,50.864156671463356],[-106.97675252287958,50.87991744963267],[-106.96554991331739,50.89216023391777],[-106.92421150748633,50.91541082268752],[-106.9134005129545,50.929732313309295],[-106.89956906006242,50.97676208798773],[-106.89819676804744,51.0002067846229],[-106.89256702266218,51.00945225094395]],[[-107.13634122080329,50.98938113284413],[-107.12834020511441,50.98585118121639],[-107.12836425140537,50.979835974919474],[-107.13885521699362,50.97997740106475],[-107.13634122080329,50.98938113284413]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.09868020213484,\"lat\":50.88884625571861},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4707\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4707058\"],\"csd_name_en\":[\"Canaan No. 225\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Canaan No. 225\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.41841028715133,50.85642586082522],[-109.39799977237234,50.8486699811009],[-109.39794948231693,50.85595040401654],[-109.41841028715133,50.85642586082522]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.40478651394689,\"lat\":50.85368208198089},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4708\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"4708057\"],\"csd_name_en\":[\"Prelate\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Prelate\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.92897112692849,51.43260035764851],[-102.92653770171856,51.416368307996414],[-102.91286986751703,51.416562208920915],[-102.9142041094205,51.43106278749271],[-102.92897112692849,51.43260035764851]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.92078580257612,\"lat\":51.4242349178736},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709028\"],\"csd_name_en\":[\"Theodore\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Theodore\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-102.10127739096492,51.88188360412419],[-102.43193272130472,51.882087299395394],[-102.43123389157103,51.65217301004266],[-102.00627609927454,51.6522109027283],[-102.00593693367183,51.882169020759605],[-102.06856672905961,51.881862132719746],[-102.10127739096492,51.88188360412419]],[[-102.25335124617041,51.66239894510241],[-102.25311871155654,51.6541652187088],[-102.2673042737474,51.654185073106774],[-102.2673527405106,51.66228889622836],[-102.25335124617041,51.66239894510241]],[[-102.26687899528642,51.73632100135551],[-102.26686705177508,51.72137221655462],[-102.27904426987674,51.721383720295606],[-102.27923182609389,51.73634295697121],[-102.26687899528642,51.73632100135551]],[[-102.07762923695098,51.75027121484116],[-102.08761875602534,51.730846545232566],[-102.11156026544542,51.72335355140606],[-102.14337557699818,51.72121223441681],[-102.15812647464313,51.727283535138945],[-102.18117437579828,51.726403133824846],[-102.19589097216658,51.73402325397332],[-102.19551602534366,51.79465226385145],[-102.07816835747781,51.79396018180377],[-102.07762923695098,51.75027121484116]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-102.22593124511383,\"lat\":51.767953289325646},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4709\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4709046\"],\"csd_name_en\":[\"Keys No. 303\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Keys No. 303\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.75183188856869,51.25527683706604],[-103.72792964981201,51.25570828530542],[-103.72845062087961,51.27036409988665],[-103.75204617417869,51.270310440622744],[-103.75183188856869,51.25527683706604]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.74011411182369,\"lat\":51.26289794755568},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710009\"],\"csd_name_en\":[\"Kelliher\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Kelliher\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.28231537603783,51.79420308539852],[-103.47139083594978,51.79490994894114],[-103.4717368671498,51.81477175949145],[-103.49893977073744,51.83022416094914],[-103.52227088716401,51.854423451490625],[-103.56818848322038,51.859806351527105],[-103.59668095090439,51.86591733413612],[-103.62750058005588,51.85570944751145],[-103.61034867596298,51.84601545151707],[-103.59898226781351,51.85097774122928],[-103.5937310614907,51.82677015722359],[-103.70715269875278,51.827312503753845],[-103.70703219949742,51.654963690949096],[-103.70629868637769,51.65229400600746],[-103.70434718342989,51.65229039558697],[-103.70428651582726,51.387289491557766],[-103.5154039273719,51.38650753334272],[-103.28020029415138,51.38701180379962],[-103.28034108324155,51.65214704920138],[-103.28234000644646,51.65214519588369],[-103.28231537603783,51.79420308539852]],[[-103.55778232778843,51.809602184345344],[-103.5569180424237,51.80609428076613],[-103.56545420410079,51.80702798092874],[-103.56545251117244,51.80882751092769],[-103.56640831592166,51.82174419325391],[-103.56023415549153,51.819374739042956],[-103.55778232778843,51.809602184345344]],[[-103.54279409990015,51.648094708010305],[-103.5157613053441,51.65216229895736],[-103.5157902460354,51.62997840858118],[-103.55128483711,51.629941706765024],[-103.54279409990015,51.648094708010305]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.49814927246958,\"lat\":51.60379544813317},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4710\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4710036\"],\"csd_name_en\":[\"Foam Lake No. 276\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Foam Lake No. 276\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.38185740884954,51.358015487053216],[-105.66305491037153,51.35811039228796],[-105.6630119798068,51.27051809860497],[-105.63564660484457,51.27051700535004],[-105.63588871454795,51.09570469651065],[-105.29095328732173,51.09575899171779],[-105.26377702073202,51.09618984272268],[-105.27476368422415,51.12852319828565],[-105.28055933331385,51.173347009172566],[-105.27979576946873,51.20121213839132],[-105.26688288728212,51.249056864273726],[-105.2653947310132,51.29338862237262],[-105.25254488538407,51.33924700922653],[-105.23994835376003,51.35803851029355],[-105.38185740884954,51.358015487053216]],[[-105.30115858377827,51.233516494574964],[-105.2973299835351,51.24182685937095],[-105.2921965221751,51.240894478776795],[-105.30115858377827,51.233516494574964]],[[-105.43771281698903,51.35173565932824],[-105.42879998045268,51.343411898571546],[-105.45227935559005,51.34340057867893],[-105.45225255534122,51.34980511010086],[-105.43771281698903,51.35173565932824]],[[-105.43820910474439,51.13927914312861],[-105.4556184578795,51.135939683911786],[-105.45578080481839,51.14656237493155],[-105.43818521572858,51.14658992381236],[-105.43820910474439,51.13927914312861]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.45694130498212,\"lat\":51.23044726356462},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4711\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4711006\"],\"csd_name_en\":[\"Big Arm No. 251\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Big Arm No. 251\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.75457508861808,51.88158550291442],[-106.91509266550538,51.88162988857653],[-107.27961199545334,51.88169220277081],[-107.27964660786344,51.620031201173],[-107.00083382955381,51.6198463168344],[-106.98452108987493,51.64440985004358],[-106.96652036411666,51.66122585256346],[-106.93700098555712,51.675581566148885],[-106.85081583433613,51.69528599910852],[-106.8221797168634,51.70706302181663],[-106.79842166784839,51.72320368086595],[-106.79033049942063,51.747580376351124],[-106.76707896532076,51.7900240753001],[-106.73578480682113,51.81324503280122],[-106.72989727442709,51.82977806657485],[-106.73423360590188,51.84957871406022],[-106.75411368865889,51.871645713154166],[-106.75457508861808,51.88158550291442]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.04220175521971,\"lat\":51.764577992556084},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4712\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4712026\"],\"csd_name_en\":[\"Montrose No. 315\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Montrose No. 315\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.57589460652119,51.727846583684276],[-107.57556359524474,51.73668634259325],[-107.58680430380937,51.736550097065326],[-107.5867622379839,51.727839636369765],[-107.57589460652119,51.727846583684276]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.58124246079726,\"lat\":51.7322552929228},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4712\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4712032\"],\"csd_name_en\":[\"Harris\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Harris\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.70520892590993,51.88153213064581],[-108.1303011824494,51.8816244073013],[-108.13028000100645,51.61990829994949],[-108.11441059103953,51.61990781669895],[-107.75711657317504,51.61992388999018],[-107.73288409003538,51.619938699871845],[-107.70493798524983,51.61994668998623],[-107.70520892590993,51.88153213064581]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.91769820502833,\"lat\":51.750735426829685},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4712\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4712034\"],\"csd_name_en\":[\"Marriott No. 317\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Marriott No. 317\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.71017894542362,51.44559532312966],[-108.72283690458039,51.445591896817284],[-108.72278300370375,51.438288311987336],[-108.71012598550081,51.43823795901341],[-108.71017894542362,51.44559532312966]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.71647347154978,\"lat\":51.44192842272252},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4713\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4713002\"],\"csd_name_en\":[\"Brock\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Brock\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-103.69897027223102,52.31855420416596],[-103.72133378538487,52.337588341298584],[-103.7142678892953,52.346005351506534],[-103.71725856603275,52.363412749466775],[-103.71137196835559,52.371831154912286],[-103.71621285371413,52.39192054172837],[-103.70055938535563,52.40565688306684],[-103.7346320115786,52.40567229274379],[-103.94826768918102,52.40495043803122],[-104.16536948960773,52.40563199560376],[-104.16600879446922,52.31867900486033],[-104.149092786445,52.318675211759064],[-104.14808051799967,52.2314989776908],[-104.14888978437713,52.14399049979297],[-103.7199516990664,52.14399020731742],[-103.72005861613474,52.23143998836796],[-103.7323974365461,52.239489042188595],[-103.73315039179687,52.26056328262902],[-103.76765004340133,52.26061571511421],[-103.76765760559952,52.28253547198196],[-103.74386196190703,52.30068604713498],[-103.74468239288211,52.33835199071836],[-103.72494160127684,52.33845021576836],[-103.72169490767122,52.31852164074081],[-103.69897027223102,52.31855420416596]],[[-103.80910048887881,52.196497494044834],[-103.80949273321755,52.187684083450996],[-103.81520965535394,52.18964614696904],[-103.80910048887881,52.196497494044834]],[[-103.81197756644815,52.298850561944626],[-103.8024293220772,52.296992928289676],[-103.80633179834132,52.28353689694857],[-103.81539362802768,52.28381320549654],[-103.81197756644815,52.298850561944626]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-103.941285205676,\"lat\":52.27598333614128},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714023\"],\"csd_name_en\":[\"Ponass Lake No. 367\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Ponass Lake No. 367\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.14862446962192,53.05791716182401],[-104.16038217790239,53.060611900281536],[-104.16063785936879,53.05263787675386],[-104.14866761559875,53.05290019264513],[-104.14862446962192,53.05791716182401]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-104.15503051803091,\"lat\":53.05605657521668},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4714\"],\"cd_name_en\":[\"Division No. 14\"],\"csd_code\":[\"4714058\"],\"csd_name_en\":[\"Ridgedale\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 14\",\"csd_name_fr\":\"Ridgedale\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-105.90446091081213,53.29249068578425],[-105.92892949116109,53.26381901983448],[-105.83119518784025,53.263547913295554],[-105.83117738354403,53.27809270744055],[-105.85559206796184,53.278121762285544],[-105.855583359991,53.292377752020705],[-105.90446091081213,53.29249068578425]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.87929847537946,\"lat\":53.276064193776165},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4715\"],\"cd_name_en\":[\"Division No. 15\"],\"csd_code\":[\"4715848\"],\"csd_name_en\":[\"Wahpaton 94A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 15\",\"csd_name_fr\":\"Wahpaton 94A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.61278790525326,53.36250830864945],[-106.61281590500325,53.351711001740256],[-106.58996664147318,53.35137766481776],[-106.5887747141626,53.36571100538153],[-106.61278790525326,53.36250830864945]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-106.60054411610682,\"lat\":53.35790453573009},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716052\"],\"csd_name_en\":[\"Canwood\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Canwood\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.52933270839252,53.3679878072493],[-107.53696539870421,53.35891046434115],[-107.50010297798921,53.35923650931764],[-107.50048217096624,53.36657988277268],[-107.52933270839252,53.3679878072493]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.51740473492711,\"lat\":53.363039037853},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716058\"],\"csd_name_en\":[\"Spiritwood\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Spiritwood\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-107.12448050425164,53.20668354057182],[-107.12810302711975,53.2140860620452],[-107.13400948774334,53.20676723524621],[-107.12448050425164,53.20668354057182]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.12886433970492,\"lat\":53.20917894595441},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716060\"],\"csd_name_en\":[\"Echo Bay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Resort village\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Echo Bay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-106.72378553169767,53.714600548729365],[-106.72610766034454,53.73101796425434],[-106.75864366099991,53.76760564859693],[-106.77827835680655,53.78513614989935],[-106.768915062843,53.799177044270394],[-106.7714440562247,53.81774205095671],[-106.75229450447097,53.822518902375826],[-106.75058628435502,53.90273599223822],[-106.7513912924196,54.14884894544936],[-107.0513743172723,54.14951898829143],[-107.35301127163063,54.149355319840126],[-107.35365631433795,54.06344093138199],[-107.34362718499422,54.063403716572736],[-107.34496713919211,53.97658139775305],[-107.6293916368798,53.97662789758473],[-107.7914974637323,53.97690481231491],[-107.79125735559687,53.8022642406866],[-107.93986375601636,53.80237405031783],[-107.93995667936251,53.71522528643038],[-107.92262985391558,53.71511800152633],[-107.8729069641761,53.71515092498082],[-107.86087464724046,53.715155412632946],[-107.84811200065636,53.715158723342626],[-107.8421396413422,53.71515975487374],[-107.83507995757351,53.715160524396026],[-107.81841206704242,53.715160534262886],[-107.78110738111394,53.71478728331015],[-107.76791011964998,53.71503650699643],[-107.75553573648781,53.7151302124361],[-107.74892457351956,53.72622089916553],[-107.73435619915375,53.72977480378124],[-107.73337550641547,53.7442517769244],[-107.73294516700511,53.75118464599283],[-107.71687820133948,53.75878193057771],[-107.71693023199704,53.744195101166405],[-107.71788691265127,53.714182583226446],[-107.70147648437502,53.71408350913849],[-107.6926344580745,53.71413561041455],[-107.68830621270314,53.71416086103797],[-107.6783492581815,53.714218253342146],[-107.4664794837697,53.71547336843008],[-107.18531815201847,53.71520303397191],[-107.04822751367422,53.71499797428686],[-106.77217600660995,53.71527580259615],[-106.72378553169767,53.714600548729365]],[[-107.02329734828584,53.84127881793482],[-107.02326488828356,53.82752730484721],[-107.04375488011392,53.83552564560082],[-107.02329734828584,53.84127881793482]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.23164744901632,\"lat\":53.90112053916612},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716075\"],\"csd_name_en\":[\"Big River No. 555\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Big River No. 555\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.17440489069742,53.49736875720058],[-108.14887028316035,53.48014134442988],[-108.14324326963161,53.47039784504929],[-108.11498578915506,53.46900785477779],[-108.09429581056246,53.47526505108033],[-108.06909766509627,53.46781329225214],[-108.06903047433514,53.49741353583079],[-108.14307973910132,53.49725160335836],[-108.14422620152853,53.51146113385908],[-108.18582880466037,53.51110608285923],[-108.19236113294784,53.50052112100856],[-108.17440489069742,53.49736875720058]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.12459088362407,\"lat\":53.489031467947925},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716861\"],\"csd_name_en\":[\"Saulteaux 159A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Saulteaux 159A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-107.63920317047821,53.533834816130216],[-107.63988055032077,53.540631077692105],[-107.64746150479921,53.548553596230434],[-107.65232707410087,53.53399271054842],[-107.65235309950228,53.51975646278511],[-107.62778262849972,53.51981173208989],[-107.63996770983468,53.50431332307602],[-107.62758190484143,53.49760998932722],[-107.62718874687162,53.48243912915689],[-107.62674790442259,53.453431594336045],[-107.63999069449093,53.45340381098929],[-107.63998661453888,53.43953699166107],[-107.67668199498043,53.438502243225095],[-107.67689666242333,53.424513712903845],[-107.70141027336702,53.417923979683785],[-107.7013933103251,53.39510200441031],[-107.67675552803752,53.38769840818438],[-107.67674939970259,53.383859906553326],[-107.62778506580973,53.38797639272572],[-107.60296725623688,53.38008886500645],[-107.60231041246777,53.39962270679494],[-107.6137237776326,53.403068248712835],[-107.62320589075212,53.42551085933192],[-107.6062873672586,53.44610954472472],[-107.60035349178374,53.480367552939235],[-107.57725967713647,53.49885595356356],[-107.57716579293891,53.52475684327591],[-107.6032018689319,53.52475879813907],[-107.60441280932744,53.57807787187914],[-107.62747509030154,53.57830759903122],[-107.62812845817015,53.55560153519168],[-107.62778451523435,53.54061830293702],[-107.63920317047821,53.533834816130216]]],[[[-107.6523761938817,53.50420809176398],[-107.63992360024751,53.49729251637999],[-107.63996770983468,53.50431332307602],[-107.6523761938817,53.50420809176398]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-107.63159606087578,\"lat\":53.464471097807134},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4716\"],\"cd_name_en\":[\"Division No. 16\"],\"csd_code\":[\"4716862\"],\"csd_name_en\":[\"Witchekan Lake 117\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 16\",\"csd_name_fr\":\"Witchekan Lake 117\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-109.54479823443654,53.41702336130864],[-109.56317286544424,53.4290998475508],[-109.56904352773913,53.443412834027136],[-109.54198900539005,53.47118824312386],[-109.54409499273632,53.48836572243657],[-109.62285409679804,53.5218505890148],[-109.63595943068364,53.54512569961406],[-109.6281400121388,53.57162432698733],[-109.63204468398247,53.583931436010324],[-109.64590372750752,53.588558725795465],[-109.68000389531421,53.590066750669905],[-109.71644212804682,53.599603791811546],[-109.74211558711151,53.60251285908417],[-109.7661822133236,53.59746414365706],[-109.7857397649638,53.581680065598036],[-109.79178869119282,53.562508359846404],[-109.8227701380135,53.55075789601115],[-109.88972184346426,53.564218583912094],[-109.99073604085561,53.598330343615956],[-110.00571375740115,53.601912346156304],[-110.0054059069824,53.30713588647396],[-109.96758183290464,53.30713796429948],[-109.96689894497402,53.278049655327614],[-109.51621097415251,53.277587571202176],[-109.5159714747181,53.36612069209954],[-109.5449200173154,53.366081592524885],[-109.54479823443654,53.41702336130864]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-109.77769858650966,\"lat\":53.42338476641052},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717028\"],\"csd_name_en\":[\"Britannia No. 502\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Britannia No. 502\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-108.19877981563084,53.147992229855994],[-108.198723995164,53.16161260389438],[-108.22212820704445,53.161467688335215],[-108.22125065457315,53.146989829270304],[-108.27150568306621,53.14707118736199],[-108.27132709083548,53.13224746190178],[-108.32070054799689,53.13224029669814],[-108.32079301782493,53.07761885279177],[-108.27199408915212,53.074742413328565],[-108.26071717865021,53.089207064708404],[-108.23517614029194,53.10333517624519],[-108.22095591925437,53.103289888447414],[-108.22082331816371,53.088993829171365],[-108.19892027549949,53.08873044644895],[-108.14878022818456,53.103485681917384],[-108.14997411009867,53.14679395917117],[-108.19832450426242,53.14701794706271],[-108.19877981563084,53.147992229855994]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-108.23631490707987,\"lat\":53.11679775398309},\"year\":\"2021\",\"prov_code\":[\"47\"],\"prov_name_en\":[\"Saskatchewan\"],\"cd_code\":[\"4717\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4717812\"],\"csd_name_en\":[\"Moosomin 112B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Saskatchewan\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Moosomin 112B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.38020996721691,49.886907603961916],[-111.39192339491906,49.88044440079615],[-111.39243319162267,49.86563123518156],[-111.36927996463076,49.859898803640384],[-111.35929238337664,49.87095450289436],[-111.36919173883054,49.88707022273482],[-111.38020996721691,49.886907603961916]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.37679150091199,\"lat\":49.87372930735467},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4801\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"4801014\"],\"csd_name_en\":[\"Bow Island\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Bow Island\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.07623559874713,49.148254297765156],[-112.0763907715479,49.16273858082823],[-112.09738960416236,49.162826965100855],[-112.09354209755294,49.15269188742266],[-112.07623559874713,49.148254297765156]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.08529594746616,\"lat\":49.15679343096786},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4802\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4802004\"],\"csd_name_en\":[\"Milk River\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Milk River\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.48611530774161,50.77582699493879],[-112.4745149009229,50.783161289476865],[-112.44496098302034,50.782149339848814],[-112.45158168486428,50.79515369587625],[-112.4865923199543,50.79813946198474],[-112.48611530774161,50.77582699493879]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.46892815804912,\"lat\":50.788869733196634},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4802\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"4802039\"],\"csd_name_en\":[\"Bassano\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Bassano\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.42351979999292,51.06693848604278],[-113.44374938612484,51.05921308204758],[-113.44685189385123,51.03780230206408],[-113.42355009180034,51.03102343906964],[-113.40027281412654,51.030934887685135],[-113.38238834147444,51.01724561619778],[-113.36426078375911,51.015125578988936],[-113.35382239786509,51.023264598733675],[-113.3647720064507,51.04909768793621],[-113.36497209754587,51.074235545785356],[-113.4235272844945,51.07427209994839],[-113.42351979999292,51.06693848604278]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.39744092177203,\"lat\":51.0478191049381},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4805\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"4805018\"],\"csd_name_en\":[\"Strathmore\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Strathmore\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.90971498609576,52.22648911436968],[-111.92097891552716,52.22313823942882],[-111.91594137779417,52.208554232922566],[-111.89643744867072,52.21043806150515],[-111.90971498609576,52.22648911436968]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.91021871254446,\"lat\":52.216637467048656},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4807\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"4807014\"],\"csd_name_en\":[\"Castor\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Castor\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-115.28192810512544,52.71200189776711],[-115.28251877725977,52.66922033775075],[-115.20969870407191,52.66803329987471],[-115.20977275566146,52.682121059662265],[-115.23311739550148,52.68266729148655],[-115.23392742548785,52.69710967982063],[-115.25901909112156,52.69740518006396],[-115.25970099260105,52.7125817813385],[-115.28192810512544,52.71200189776711]]],[[[-115.28192810512544,52.71200189776711],[-115.28250212700041,52.842952712196244],[-115.2812319297537,52.858903294943545],[-115.50278690677175,52.85829673931485],[-115.50218919794298,52.8433347085138],[-115.50143990096632,52.82823025449277],[-115.47487100653376,52.82764811157848],[-115.47519887278777,52.79950566356013],[-115.4511316862433,52.79863267153929],[-115.44992603760174,52.81382203137434],[-115.35666045385487,52.81347280195846],[-115.35399087765175,52.72599342872798],[-115.30744090823002,52.72625218671648],[-115.30626993714434,52.71212544918672],[-115.28192810512544,52.71200189776711]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-115.34910286922556,\"lat\":52.79437978171167},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4809\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"4809806\"],\"csd_name_en\":[\"O'Chiese 203\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"O'Chiese 203\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.0635767172657,53.01286170661949],[-113.05178848672197,53.003524400504055],[-113.05182370486774,52.9888613077953],[-113.02760631712799,52.989061098100265],[-113.02763433667567,53.01789589672613],[-113.05754369947195,53.018065715743134],[-113.0635767172657,53.01286170661949]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.04177376190651,\"lat\":53.004553320799175},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4810\"],\"cd_name_en\":[\"Division No. 10\"],\"csd_code\":[\"4810012\"],\"csd_name_en\":[\"Bittern Lake\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 10\",\"csd_name_fr\":\"Bittern Lake\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-114.69000512017543,53.62511396594179],[-114.68795974333342,53.62940684473475],[-114.7580397126037,53.62818545899334],[-114.77599099314307,53.621604756371674],[-114.77078251480162,53.60999667142715],[-114.80190018816657,53.59923475980217],[-114.81279849102464,53.60600936111747],[-114.81253979113598,53.716389763603004],[-114.88682964779625,53.71446727741649],[-114.875825237389,53.7073400727263],[-114.87312404819697,53.68897291239346],[-114.89682085420127,53.670911523737246],[-114.93407756871787,53.655929757782985],[-114.95856066346556,53.637244362946504],[-114.95639526229715,53.629109260699586],[-114.96922659801885,53.61039132226705],[-114.98315595863565,53.60594491220743],[-115.01011990391922,53.58795406934527],[-115.00292289750334,53.577473956901734],[-115.01924490262854,53.54755765189515],[-115.00291544930528,53.54693286370135],[-114.99649729515818,53.53516287903147],[-115.00815159421533,53.5256902702158],[-114.98950780466069,53.49672336732673],[-115.00181681495913,53.491627007618256],[-115.01219900054241,53.46332976582325],[-115.03026319739811,53.462352179911],[-115.04815184128628,53.4420748709421],[-115.09270667296593,53.43286211180824],[-115.10717642916669,53.42667337190077],[-115.09033497611263,53.4177381677466],[-115.11143642774523,53.384048612996594],[-115.10824409881972,53.366970771026004],[-114.87928851811715,53.36691270447655],[-114.87929135002844,53.352302858938025],[-114.85494713294108,53.35248304325201],[-114.85473899089409,53.33782538730241],[-114.80924468253815,53.33754343007033],[-114.78366372275578,53.329640270428534],[-114.77692308343684,53.312971169641884],[-114.74400519933828,53.319367175432376],[-114.71351741485125,53.30383067076049],[-114.70467739223736,53.31408425732973],[-114.67843401294493,53.323313252025464],[-114.64245130126551,53.322325563202355],[-114.61996427905225,53.30743185798564],[-114.58083760209502,53.32084136459919],[-114.56187315838766,53.312077758648975],[-114.54593742274557,53.31467996205477],[-114.52025412328753,53.30963906982747],[-114.50522188940427,53.315245265062416],[-114.4798560060701,53.34036295704863],[-114.44663370712769,53.34468397407142],[-114.41421569475428,53.34367907049392],[-114.39872379907341,53.34984896405128],[-114.39765668834414,53.36245825289542],[-114.41949840513107,53.36344825884867],[-114.4006198968306,53.38509315785999],[-114.38942009532174,53.382133765222655],[-114.36074041449692,53.407301959093935],[-114.37332589902054,53.42252875146577],[-114.31542220267997,53.42126437534267],[-114.29160250651906,53.40655045164148],[-114.30026551176691,53.39604275349269],[-114.27873068001918,53.3828428530109],[-114.27299518268109,53.3703768677846],[-114.25561219259858,53.37183887128558],[-114.22127267931491,53.358054563825405],[-114.16171609335727,53.354924076584794],[-114.1256348872588,53.34571936277276],[-114.09041880408326,53.35038596408412],[-114.05981700527462,53.348393665609166],[-114.04562490860974,53.32558517150524],[-113.99702339111867,53.32488125773131],[-113.96911458455942,53.34102935396019],[-113.92186349255111,53.336367565127524],[-113.87531358377981,53.34251396841198],[-113.83167859927204,53.361013262235595],[-113.80472678392705,53.35486995879686],[-113.75632555658294,53.36078769644668],[-113.74699028517513,53.37177625579324],[-113.71150547220165,53.37111315482037],[-113.69541988162959,53.35403424753453],[-113.68394822024062,53.36299326037885],[-113.69086078010392,53.37804316885264],[-113.65093219600932,53.383335369681895],[-113.6437011189973,53.39135586822607],[-113.64957141677759,53.40341877816363],[-113.68918980293122,53.4031554082013],[-113.68892488840731,53.45402690591724],[-113.81164958985278,53.453965890072034],[-113.81169677968845,53.512082401189375],[-113.7134260022138,53.51221130714912],[-113.71362932412816,53.592372286832656],[-113.73434658130256,53.584984373163955],[-113.7611734054297,53.58244555576389],[-113.75712472257003,53.5997939507725],[-113.83622159355849,53.59956899820116],[-113.83621170396009,53.6289543077958],[-113.91000898469798,53.62862029568212],[-113.91014401109494,53.657639884005924],[-114.02647010920016,53.65756580319078],[-114.12447362133268,53.656951304024275],[-114.12308159060164,53.59929217482701],[-114.24764536909146,53.59926716527788],[-114.24731643498345,53.613892560012],[-114.569403273702,53.613467329522464],[-114.68968471455689,53.61382438562297],[-114.68962041851127,53.62302960413252],[-114.69000512017543,53.62511396594179]],[[-114.48057447881996,53.549464956117745],[-114.48045859686869,53.54805525731406],[-114.48630980566945,53.54960366057832],[-114.48779246428845,53.551227174492986],[-114.48057447881996,53.549464956117745]],[[-114.68757540030771,53.54382667113946],[-114.67631079053106,53.542892128424576],[-114.67705448873718,53.541413902461],[-114.68983371662425,53.541176730917336],[-114.68757540030771,53.54382667113946]],[[-114.4642335471484,53.56249062978571],[-114.45446689541828,53.562524859276245],[-114.4568624604727,53.55643942167883],[-114.46185555650713,53.5574112246421],[-114.4642335471484,53.56249062978571]],[[-114.70258316146338,53.57767799418746],[-114.71969069955881,53.568196669767055],[-114.73215891493011,53.56235936642458],[-114.73461201471548,53.552368176064704],[-114.7386562194602,53.550709306877614],[-114.73864481554993,53.5597281970072],[-114.71971259234962,53.56949230387269],[-114.71279890417435,53.57400059318819],[-114.70258316146338,53.57767799418746]],[[-114.12448304330756,53.5270439040118],[-114.12440190537279,53.512081289296354],[-114.15023659478767,53.51240370615521],[-114.14946425053769,53.52717895516327],[-114.12448304330756,53.5270439040118]],[[-114.44382331276158,53.547572533441205],[-114.42414732288425,53.54121702340893],[-114.34564422124662,53.54117300316205],[-114.34562300042043,53.48313249402049],[-114.49239356952612,53.48367082334709],[-114.52196847941137,53.49423481466048],[-114.48736461033502,53.532018867045174],[-114.46654850727715,53.53192137137407],[-114.44555390344716,53.54095347357826],[-114.44382331276158,53.547572533441205]],[[-113.94689219595159,53.512068505207914],[-113.9471109339463,53.505594122612635],[-113.97126821457185,53.50002351212318],[-114.0018315033731,53.499984000864266],[-114.05099500765861,53.512090105875814],[-114.05099681504362,53.54128890316677],[-114.03863246280183,53.55573617927085],[-113.9591946853751,53.55588160416158],[-113.95914072957677,53.569112264127995],[-113.84857406462429,53.571301041525345],[-113.84765080212928,53.54177309149341],[-113.86086928245184,53.54012537316701],[-113.86085560347382,53.52622494811511],[-113.885423807183,53.519377898469706],[-113.92156907087107,53.5193474715671],[-113.94689219595159,53.512068505207914]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-114.40476105591404,\"lat\":53.48331421004138},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811034\"],\"csd_name_en\":[\"Parkland County\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Municipal district\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Parkland County\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.30956749864853,53.846394661995184],[-113.34729230135416,53.832725902203464],[-113.3475402798608,53.80347590329592],[-113.30944264296569,53.80345603837378],[-113.30956749864853,53.846394661995184]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.32725635015902,\"lat\":53.82169848672532},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811064\"],\"csd_name_en\":[\"Gibbons\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Gibbons\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-113.62009157868172,53.77463099545207],[-113.62006890933235,53.81800150729603],[-113.65249181469905,53.81824603353445],[-113.66017952015854,53.81239530557734],[-113.66046060045096,53.792270893356445],[-113.63927828779495,53.77452531004439],[-113.62009157868172,53.77463099545207]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-113.63839644790217,\"lat\":53.79795858708328},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4811\"],\"cd_name_en\":[\"Division No. 11\"],\"csd_code\":[\"4811068\"],\"csd_name_en\":[\"Morinville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 11\",\"csd_name_fr\":\"Morinville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-111.372140090575,54.129567173156765],[-111.36628206546654,54.12213642508599],[-111.3781366903829,54.12215589320616],[-111.3781326822272,54.11443470442564],[-111.36263748521596,54.114530869918184],[-111.36800181225381,54.12029606690783],[-111.36203357671498,54.1255360644223],[-111.372140090575,54.129567173156765]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-111.37074067824457,\"lat\":54.119719417331474},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4812\"],\"cd_name_en\":[\"Division No. 12\"],\"csd_code\":[\"4812020\"],\"csd_name_en\":[\"Horseshoe Bay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 12\",\"csd_name_fr\":\"Horseshoe Bay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.75652783111502,54.61663558014919],[-112.75822525023233,54.60970485186068],[-112.75055147716664,54.61136438460833],[-112.75652783111502,54.61663558014919]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.75510151950468,\"lat\":54.61256827220607},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4813\"],\"cd_name_en\":[\"Division No. 13\"],\"csd_code\":[\"4813045\"],\"csd_name_en\":[\"Mewatha Beach\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Summer village\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 13\",\"csd_name_fr\":\"Mewatha Beach\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-115.38109957143699,54.74189324761355],[-115.40244048114327,54.742096396839074],[-115.41241348977852,54.734019396991805],[-115.43801642102018,54.733961467964086],[-115.43719609571946,54.69066756757572],[-115.36210372200257,54.690699088871234],[-115.36241749055581,54.74163741386437],[-115.38109957143699,54.74189324761355]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-115.39847891831499,\"lat\":54.71486981099915},\"year\":\"2021\",\"prov_code\":[\"48\"],\"prov_name_en\":[\"Alberta\"],\"cd_code\":[\"4817\"],\"cd_name_en\":[\"Division No. 17\"],\"csd_code\":[\"4817024\"],\"csd_name_en\":[\"Swan Hills\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Alberta\",\"cd_name_fr\":\"Division No. 17\",\"csd_name_fr\":\"Swan Hills\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-115.04804308482846,49.000055854734114],[-115.0756760756322,49.00270854620905],[-115.07371796079407,49.043151080248],[-115.07457498413523,49.09415073177817],[-115.12975214039203,49.096254716608996],[-115.12814977350591,49.00008072536148],[-115.04804308482846,49.000055854734114]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-115.10153927195752,\"lat\":49.047694271678715},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5901\"],\"cd_name_en\":[\"East Kootenay\"],\"csd_code\":[\"5901801\"],\"csd_name_en\":[\"Tobacco Plains 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"East Kootenay\",\"csd_name_fr\":\"Tobacco Plains 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-117.65330030729733,49.31599970151745],[-117.63704280726424,49.30326761885918],[-117.63105170131642,49.31675726341209],[-117.65330030729733,49.31599970151745]]],[[[-118.00349871842442,49.69211659518365],[-118.06694881665474,49.69754421674123],[-118.0778102888395,49.708030742841395],[-118.09971752474675,49.70269891202326],[-118.11408109585496,49.7130889253369],[-118.15539166076753,49.72640552911838],[-118.19065753658377,49.7277606986881],[-118.19452586555204,49.711488410408734],[-118.21215172024908,49.70946107098982],[-118.2305956430644,49.718298864682566],[-118.23678017902068,49.73461311293347],[-118.23715311004428,49.7544889935034],[-118.25569294064925,49.762222874544996],[-118.25725500552842,49.784775214730615],[-118.26672424309666,49.78711408732811],[-118.26463130133733,49.80447183725977],[-118.28622100631041,49.81988817971007],[-118.312086272718,49.82352320655097],[-118.31219441177743,49.81230454222221],[-118.29030971389139,49.7940167176483],[-118.28725402163207,49.77884661003244],[-118.29910651445644,49.76627633495133],[-118.28768697806748,49.75983201173933],[-118.30130342500864,49.750188297211956],[-118.28479770645765,49.74238042653175],[-118.27545912555199,49.714179564305844],[-118.28077683252444,49.6829090308213],[-118.27544370341305,49.65838497682784],[-118.2529898605548,49.65642091143675],[-118.24189336619199,49.63616032689712],[-118.25337987782703,49.6206786123662],[-118.25192841908603,49.593245873051835],[-118.24487746701435,49.56156683089336],[-118.26054426337215,49.55054326399206],[-118.26543163077,49.52934953401475],[-118.28736234122542,49.49490499328187],[-118.28319582729102,49.47053051698445],[-118.25283319489233,49.444493544825264],[-118.26118172253277,49.42910903532896],[-118.257109389544,49.40270468057601],[-118.26419453154001,49.388950588946805],[-118.25101756213859,49.37860614536969],[-118.25179354807159,49.36361067184131],[-118.23862600503944,49.35763550939088],[-118.23809820350856,49.341035967247166],[-118.21929048010502,49.32836755057835],[-118.20912871542278,49.32608455305602],[-118.20766397487344,49.29580218388982],[-118.17689180409981,49.27440325256007],[-118.1819211946142,49.26699945155978],[-118.17682339257813,49.24932460465465],[-118.14221517005139,49.27767868097956],[-118.1358124841489,49.26400335243987],[-118.04994935343579,49.26349872910779],[-117.92617627031127,49.26502047846104],[-117.70309203458704,49.26534223293577],[-117.70199255755958,49.22804859824247],[-117.67556790236839,49.22433730469159],[-117.68361481742973,49.20853420748529],[-117.6740807209726,49.207724366201965],[-117.67427467372686,49.17504158960612],[-117.49396124076006,49.17548721728699],[-117.49121921591279,49.33745224202128],[-117.49087380396627,49.34899073505648],[-117.55493492584093,49.348707889736],[-117.5789634023404,49.34850402462359],[-117.61336975839818,49.33101979400994],[-117.60957891669821,49.3189370976038],[-117.6306259463088,49.316248964458374],[-117.62763302342688,49.28906289862153],[-117.64458871416618,49.29019880439599],[-117.64149629230648,49.265400410435724],[-117.65418207093657,49.25967248125717],[-117.6511449176268,49.24173720618184],[-117.6651839307807,49.243426455355724],[-117.66514485170971,49.29941365416645],[-117.67842456671595,49.300627961064855],[-117.6828088414857,49.317432917805405],[-117.67462847628721,49.32742939198296],[-117.65403557194206,49.32857462440096],[-117.65754558350217,49.34857490907409],[-117.69232469876039,49.35308427768045],[-117.69158626887439,49.41814185486104],[-117.69170402158143,49.43350392963151],[-117.72196892546584,49.45564137523458],[-117.72730858557395,49.47984165832163],[-117.75186015468556,49.497899711305635],[-117.78339774657694,49.49907208130955],[-117.79496736260366,49.50478732562441],[-117.82329031718122,49.508740207608255],[-117.8470676137352,49.53923190552523],[-117.86861668337488,49.54629693933402],[-117.88556035524797,49.532895664032004],[-117.90341959279104,49.529748923428606],[-117.93513598947932,49.53299720411202],[-117.95277261490341,49.540771888761135],[-117.96117755557279,49.55199486181481],[-117.9987788633132,49.55966279100275],[-118.01538290262592,49.570565341737506],[-118.01006858506835,49.597775461540735],[-118.00171942683221,49.612019652193744],[-118.00082296781882,49.62994299577281],[-118.00594373403784,49.65249567135066],[-117.98721138248158,49.66469979273081],[-117.98709186250868,49.67931936178498],[-118.00349871842442,49.69211659518365]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-117.96384171627032,\"lat\":49.43300087869987},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5903\"],\"cd_name_en\":[\"Central Kootenay\"],\"csd_code\":[\"5903058\"],\"csd_name_en\":[\"Central Kootenay J\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Central Kootenay\",\"csd_name_fr\":\"Central Kootenay J\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.65679749730616,49.29588497677709],[-121.65929876842958,49.296537128000566],[-121.66863924511006,49.29641594108945],[-121.67921424685973,49.27219241254063],[-121.69439300740963,49.25479440675483],[-121.71019639797066,49.24370549389616],[-121.71551031855195,49.22757515380282],[-121.73208468546383,49.21444145771178],[-121.77293399932898,49.2046224015239],[-121.78829624046332,49.20691396385541],[-121.78834967354628,49.20031362752063],[-121.75541634207524,49.20649805285435],[-121.75963937503722,49.191544366629714],[-121.78238830857335,49.18760850777122],[-121.79038097610234,49.15137868739814],[-121.79030699968553,49.11043882650238],[-121.77993741326561,49.104345982621226],[-121.76193750274955,49.11067414187553],[-121.76439765659525,49.13060457283615],[-121.7502452615178,49.13835988742408],[-121.74864339055891,49.15130963149212],[-121.73518607433931,49.16028150383326],[-121.71429898988549,49.159060016345215],[-121.69381448042996,49.18124040815733],[-121.68336364994354,49.18576226535985],[-121.66440001943897,49.17223972938908],[-121.64551892619106,49.166948301239685],[-121.61999328428814,49.17058370424823],[-121.61176307241318,49.16281029352823],[-121.59002341903452,49.15759343229788],[-121.55811417496069,49.18233031012564],[-121.55066187681464,49.20341320953763],[-121.51842717107372,49.20717516533286],[-121.51195992166936,49.2006238935339],[-121.52208191701524,49.18748212567974],[-121.5015531479938,49.172099546870164],[-121.50194626363792,49.296017741845894],[-121.65679749730616,49.29588497677709]],[[-121.72998728538737,49.20741323610873],[-121.71272436857994,49.213319702213724],[-121.70542174248789,49.20745902404613],[-121.72076110213277,49.2004024925583],[-121.72998728538737,49.20741323610873]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.63188645479647,\"lat\":49.22143613421487},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909034\"],\"csd_name_en\":[\"Fraser Valley D\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Fraser Valley D\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.5015531479938,49.172099546870164],[-121.52208191701524,49.18748212567974],[-121.51195992166936,49.2006238935339],[-121.51842717107372,49.20717516533286],[-121.55066187681464,49.20341320953763],[-121.55811417496069,49.18233031012564],[-121.59002341903452,49.15759343229788],[-121.61176307241318,49.16281029352823],[-121.61999328428814,49.17058370424823],[-121.64551892619106,49.166948301239685],[-121.66440001943897,49.17223972938908],[-121.68336364994354,49.18576226535985],[-121.69381448042996,49.18124040815733],[-121.71429898988549,49.159060016345215],[-121.73518607433931,49.16028150383326],[-121.74864339055891,49.15130963149212],[-121.7502452615178,49.13835988742408],[-121.76439765659525,49.13060457283615],[-121.76193750274955,49.11067414187553],[-121.77993741326561,49.104345982621226],[-121.79030699968553,49.11043882650238],[-121.79117119792325,49.091617508248056],[-121.83686367027576,49.08838886543553],[-121.89495091487152,49.08790583228753],[-121.94084681447264,49.089846286441],[-121.94124650616335,49.074348313688176],[-121.94255632960294,49.06141510650219],[-121.89774109474699,49.05966479106132],[-121.88981742475896,49.04702636770193],[-121.86516596494937,49.02476218097557],[-121.87260922421417,49.01425212378967],[-121.85462725355333,49.00007867683254],[-121.49999999914793,49.00000000271947],[-121.27292340115989,49.00002692037695],[-121.26889162394475,49.01363846177933],[-121.29731467816474,49.01815951398485],[-121.29633028733197,49.03608934148497],[-121.30432080128085,49.05838417351794],[-121.31900113255114,49.0681670467373],[-121.3456118875235,49.09760969886702],[-121.36368125159747,49.07962640984181],[-121.39300893757931,49.079477836619475],[-121.39509717594267,49.093710087680435],[-121.40974780877634,49.101006293491906],[-121.40414612222004,49.12654021390305],[-121.41127319905661,49.144709117926624],[-121.43143562290196,49.15668746647913],[-121.45594181027305,49.15214904163512],[-121.47959064736382,49.13979247682551],[-121.50035060955105,49.14881713739689],[-121.4853930795058,49.15582814806782],[-121.5015531479938,49.172099546870164]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.59703460801576,\"lat\":49.07427740979566},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909036\"],\"csd_name_en\":[\"Fraser Valley E\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Fraser Valley E\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.94060227747427,49.13238666907408],[-121.9349762907031,49.131889814854226],[-121.93522824981306,49.1353406715518],[-121.94060227747427,49.13238666907408]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.93693560599681,\"lat\":49.13320571849337},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909831\"],\"csd_name_en\":[\"Yakweakwioose 12\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Yakweakwioose 12\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.78238830857335,49.18760850777122],[-121.75963937503722,49.191544366629714],[-121.75541634207524,49.20649805285435],[-121.78834967354628,49.20031362752063],[-121.78238830857335,49.18760850777122]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.7714090432104,\"lat\":49.196925717036244},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5909\"],\"cd_name_en\":[\"Fraser Valley\"],\"csd_code\":[\"5909837\"],\"csd_name_en\":[\"Cheam 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Fraser Valley\",\"csd_name_fr\":\"Cheam 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.95690884107356,49.175171880178624],[-122.98223059617668,49.163597608083606],[-122.98864081836611,49.15573780005048],[-123.03439229389056,49.14668419524561],[-123.07501460321663,49.121969804003456],[-123.08583662661383,49.11811065430469],[-123.0966464286051,49.09013644268286],[-123.12675678678934,49.08867267580742],[-123.14529237258432,49.10891509126142],[-123.1934950274811,49.119657631928725],[-123.22920643484518,49.13060038403162],[-123.24620641380686,49.12580688108162],[-123.29990187388017,49.10371895637877],[-123.35208880838084,49.08215317697845],[-123.19915104654626,49.00216083535419],[-122.95891751027295,49.00242343666602],[-122.9589030964308,49.009553929557924],[-122.89036223277952,49.06220802116698],[-122.89011005913078,49.177143052926674],[-122.92332576807243,49.177210256894995],[-122.91219619899155,49.19406260704101],[-122.95690884107356,49.175171880178624]],[[-123.13055820508157,49.06397231074443],[-123.13047119006848,49.0699841792025],[-123.11939999861482,49.06956662628422],[-123.11958424028101,49.063646561341805],[-123.13055820508157,49.06397231074443]],[[-123.09927203186972,49.033999263288166],[-123.12473317332773,49.05662317007044],[-123.07970240249364,49.05388139923305],[-123.07970191118035,49.03751639192],[-123.09927203186972,49.033999263288166]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.07804962939538,\"lat\":49.07700375890202},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5915\"],\"cd_name_en\":[\"Greater Vancouver\"],\"csd_code\":[\"5915011\"],\"csd_name_en\":[\"Delta\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Greater Vancouver\",\"csd_name_fr\":\"Delta\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.0294564773834,49.30700171950072],[-123.02113477534978,49.30679587409611],[-123.0198211050654,49.312325892408445],[-123.02441711283721,49.312526674553894],[-123.0236467498337,49.308782157324835],[-123.0294564773834,49.30700171950072]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.02294818965503,\"lat\":49.30938528754439},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5915\"],\"cd_name_en\":[\"Greater Vancouver\"],\"csd_code\":[\"5915811\"],\"csd_name_en\":[\"Seymour Creek 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Greater Vancouver\",\"csd_name_fr\":\"Seymour Creek 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.40737399503259,48.6721733317843],[-123.39368201323056,48.673270459383424],[-123.40063818095182,48.69054653425712],[-123.44597512171177,48.7003052540017],[-123.47980601615734,48.696919396439036],[-123.48913669147026,48.69138551865397],[-123.48986086764293,48.67119208284542],[-123.44725363087669,48.654494735947594],[-123.47155178976406,48.64467779862275],[-123.48061512308468,48.635461803666836],[-123.4813759517707,48.61333030755881],[-123.44379619811123,48.61154819643401],[-123.3951587146359,48.614009777366846],[-123.40204372196015,48.63397544674875],[-123.41709415920457,48.63538806603051],[-123.41678799707394,48.666153873151195],[-123.40737399503259,48.6721733317843]],[[-123.45567815040327,48.665515067571164],[-123.44404820550521,48.66618181284864],[-123.4441258892104,48.66266809340844],[-123.4507303157126,48.66270668316101],[-123.45567815040327,48.665515067571164]],[[-123.46562414463041,48.62626096020762],[-123.44414481980206,48.63001390480051],[-123.44371652670567,48.615799911664695],[-123.47141791576202,48.61587395887392],[-123.46562414463041,48.62626096020762]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.4424038046268,\"lat\":48.6576601193282},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5917\"],\"cd_name_en\":[\"Capital\"],\"csd_code\":[\"5917005\"],\"csd_name_en\":[\"North Saanich\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Capital\",\"csd_name_fr\":\"North Saanich\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.68494038366289,48.78051660521423],[-123.71899449598348,48.78025662603096],[-123.69874301909284,48.77196325859435],[-123.68470505558255,48.772483030555286],[-123.68494038366289,48.78051660521423]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.69767135966194,\"lat\":48.77684855045295},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5919\"],\"cd_name_en\":[\"Cowichan Valley\"],\"csd_code\":[\"5919012\"],\"csd_name_en\":[\"Duncan\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"City\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cowichan Valley\",\"csd_name_fr\":\"Duncan\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.54175183605794,49.34215023978562],[-124.56638798027839,49.34648982433963],[-124.56703779123337,49.32654572717508],[-124.58359213989584,49.31145899424305],[-124.60986365359796,49.312341899908326],[-124.62009550126486,49.32705855319391],[-124.62020781778112,49.338005346498065],[-124.66129405923468,49.32130090368325],[-124.6561172480999,49.30141481669592],[-124.6725772744756,49.29981786621296],[-124.67229329177938,49.31327791665675],[-124.69440712266173,49.32161050482123],[-124.69453745929563,49.30731451777353],[-124.68176096374877,49.29989371156671],[-124.68771813337932,49.2678069242181],[-124.67719766252357,49.25764016160334],[-124.67423772814229,49.23389255021996],[-124.6576350635002,49.23408724732669],[-124.63961754375563,49.21961944204089],[-124.63344612061482,49.23622607519348],[-124.64467758929335,49.24992697246213],[-124.66221790777722,49.28142903669841],[-124.64315523048374,49.27203679400607],[-124.62041943909433,49.273579270228396],[-124.60533827494783,49.28406883726516],[-124.5700458280015,49.27270528721655],[-124.55925437256612,49.25701476879666],[-124.52949424620655,49.25262510109825],[-124.52524005759658,49.241145903034706],[-124.49286075776331,49.23074532624061],[-124.44701613577577,49.22311487015108],[-124.4477741246917,49.236339879804575],[-124.38885986257515,49.2305828457154],[-124.32675469812794,49.2302052594749],[-124.30720703665007,49.20858011434616],[-124.29216658243959,49.21894825062607],[-124.30715310292432,49.226344082406904],[-124.24590975585201,49.22632820025819],[-124.23627130018883,49.25282000756558],[-124.26650666961721,49.26772899491101],[-124.29195063709992,49.27114101313831],[-124.30713165479379,49.28826244425579],[-124.30149676239714,49.30519620326941],[-124.34703173598385,49.312676131811926],[-124.3883859644601,49.31716510704209],[-124.45359996297938,49.317211677655386],[-124.47613598274852,49.32319222549158],[-124.46512156776062,49.333940604408866],[-124.53054184574762,49.33319400198234],[-124.54175183605794,49.34215023978562]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.46461558005255,\"lat\":49.277837032193524},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5921\"],\"cd_name_en\":[\"Nanaimo\"],\"csd_code\":[\"5921032\"],\"csd_name_en\":[\"Nanaimo F\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Nanaimo\",\"csd_name_fr\":\"Nanaimo F\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-127.40471975999863,50.01455317128236],[-127.40495573722762,50.007413668955614],[-127.39589914345004,50.00906997325531],[-127.39769346122645,50.014275474282506],[-127.40471975999863,50.01455317128236]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-127.40098788338233,\"lat\":50.0111679412197},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5924\"],\"cd_name_en\":[\"Strathcona\"],\"csd_code\":[\"5924813\"],\"csd_name_en\":[\"Village Island 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Strathcona\",\"csd_name_fr\":\"Village Island 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.92487863088532,50.145818821643694],[-124.92311082887852,50.143628128024794],[-124.9165923316703,50.144116357831024],[-124.92026233084754,50.14662016793363],[-124.92487863088532,50.145818821643694]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.92106282589438,\"lat\":50.14500894443187},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5924\"],\"cd_name_en\":[\"Strathcona\"],\"csd_code\":[\"5924818\"],\"csd_name_en\":[\"Squirrel Cove 8\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Strathcona\",\"csd_name_fr\":\"Squirrel Cove 8\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.22345665639924,49.915772241817365],[-125.20567582780723,49.90302107494131],[-125.1955825521568,49.915914685430344],[-125.22345665639924,49.915772241817365]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.2082383454544,\"lat\":49.91156933406301},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5924\"],\"cd_name_en\":[\"Strathcona\"],\"csd_code\":[\"5924843\"],\"csd_name_en\":[\"Nenagwas 12\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Strathcona\",\"csd_name_fr\":\"Nenagwas 12\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-124.95269746642863,49.688736781926],[-124.97228108697325,49.69516298049695],[-124.98923461705166,49.68717865619368],[-124.97589584977952,49.679423067328635],[-124.95188228808195,49.670378569229044],[-124.95022564414518,49.67402016744152],[-124.95640173135921,49.68438726714982],[-124.95269746642863,49.688736781926]]],[[[-124.82821487149307,49.80289142309788],[-124.9670117687636,49.79481117094673],[-125.00682357618693,49.79403860713552],[-125.02675422477694,49.780294803754586],[-125.04783759468289,49.771462690405876],[-125.02732744686378,49.76087155481631],[-125.01079424688143,49.73043055885673],[-125.01304248399205,49.707626851159745],[-124.99327352395333,49.719700904455415],[-124.96909522231832,49.724521104693444],[-124.97797861936058,49.73383301159155],[-124.9659235112324,49.74072826624023],[-124.93313970805437,49.73377174267191],[-124.93394169925209,49.709557923540274],[-124.94538184776411,49.69370193055559],[-124.92014039694551,49.703132253545824],[-124.90886702420482,49.71832350262934],[-124.91138918423417,49.72656874948102],[-124.88405438122257,49.72604339252319],[-124.87109220310562,49.70488529883759],[-124.89006849981837,49.70239228779364],[-124.89822526325351,49.69265832246761],[-124.8975197813219,49.674528133955825],[-124.91428443507655,49.665455104106954],[-124.92708894705669,49.65807276533143],[-124.89371049969944,49.65271128704519],[-124.82724061928288,49.65306468882255],[-124.77668479858488,49.65644558795039],[-124.69466622933031,49.66599558793341],[-124.74904382304956,49.71026205213603],[-124.79951431295218,49.76753048169058],[-124.82821487149307,49.80289142309788]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.87051589993828,\"lat\":49.72863910181881},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5926\"],\"cd_name_en\":[\"Comox Valley\"],\"csd_code\":[\"5926022\"],\"csd_name_en\":[\"Comox Valley B (Lazo North)\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Comox Valley\",\"csd_name_fr\":\"Comox Valley B (Lazo North)\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.50109923379381,49.40571508428272],[-123.49629191366847,49.41112816451418],[-123.50130330990147,49.41066629813065],[-123.50124380186104,49.408098570808654],[-123.50109923379381,49.40571508428272]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.49957988161503,\"lat\":49.40916063365544},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5929\"],\"cd_name_en\":[\"Sunshine Coast\"],\"csd_code\":[\"5929801\"],\"csd_name_en\":[\"Chekwelp 26\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Sunshine Coast\",\"csd_name_fr\":\"Chekwelp 26\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.57392035070022,50.202385959236736],[-121.56291370129577,50.2260138039524],[-121.55343374917938,50.22600402589806],[-121.55846352933752,50.248272597526515],[-121.57893243529519,50.23811547413406],[-121.57214190870648,50.238504278536375],[-121.57201295179283,50.23466921225674],[-121.58120018430081,50.23629996352821],[-121.57991105116247,50.21836606213384],[-121.58573250006059,50.19975273838676],[-121.57342660124198,50.199526346147316],[-121.57392035070022,50.202385959236736]],[[-121.57977166711669,50.23015178342278],[-121.57528636344335,50.228720819241566],[-121.5751905372575,50.22659389495418],[-121.57900671643677,50.22595450736052],[-121.57977166711669,50.23015178342278]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.5703081659353,\"lat\":50.224856634450305},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5933\"],\"cd_name_en\":[\"Thompson-Nicola\"],\"csd_code\":[\"5933015\"],\"csd_name_en\":[\"Lytton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Thompson-Nicola\",\"csd_name_fr\":\"Lytton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-119.07939790963454,50.4447061549188],[-119.14909133482105,50.441757675825265],[-119.15038265216778,50.413035156310364],[-119.17255784883638,50.41264526966282],[-119.17126040196871,50.339813997156455],[-119.24279685031829,50.34023894878028],[-119.23539128617936,50.33464309637921],[-119.2311986035364,50.29961029643021],[-119.23315781370283,50.283162099880556],[-119.24537538937825,50.263722311392485],[-119.24819192027691,50.245431633597505],[-119.21646694564986,50.24540630719357],[-119.21699762638441,50.25312909515319],[-119.16966460381298,50.25279873170706],[-119.16986825427097,50.245513387345284],[-119.1352097026426,50.24545362971264],[-119.13518845269137,50.25281821191449],[-119.07929833719768,50.25289579376295],[-119.07920310276953,50.263464052058715],[-119.03349226219456,50.26700178008416],[-118.9987745074814,50.26684998742559],[-119.00311257175602,50.30597326636024],[-118.99684112527554,50.349600754174176],[-119.00020586444644,50.372744778500326],[-119.0007052008528,50.473663101655674],[-119.01139707830096,50.45960807388278],[-119.05972036232977,50.458573437473156],[-119.05955509200305,50.44464727170229],[-119.07939790963454,50.4447061549188]],[[-119.21385723700705,50.32097939433439],[-119.20548397146794,50.31095533461275],[-119.21148854402061,50.29959194855],[-119.22639484404556,50.29915549165136],[-119.22695194375817,50.320268593385954],[-119.21385723700705,50.32097939433439]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.1020277488766,\"lat\":50.34324028741121},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5937\"],\"cd_name_en\":[\"North Okanagan\"],\"csd_code\":[\"5937021\"],\"csd_name_en\":[\"North Okanagan C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"North Okanagan\",\"csd_name_fr\":\"North Okanagan C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-118.99281558139243,50.99999662071179],[-119.04259624465804,50.99987956322083],[-119.09401626442418,50.97273699419848],[-119.15318184904542,50.9560785081428],[-119.29057155184606,50.94444132470796],[-119.36217354604953,50.933893492842344],[-119.38249066257514,50.927702036174765],[-119.40178183843378,50.905807303936825],[-119.42178075487352,50.89778617736235],[-119.45651523854359,50.892632732977916],[-119.50403723010965,50.897081939828475],[-119.53623665120139,50.8934517577446],[-119.56219538408563,50.88086270708062],[-119.58659613094045,50.869117256237644],[-119.60538801587671,50.86634146063707],[-119.60410284063958,50.864697968284055],[-119.57436667603086,50.8669406547723],[-119.51681660932893,50.86734923056418],[-119.51647721056837,50.83861348937051],[-119.46079738660987,50.83838732789521],[-119.46209787253659,50.7505814943547],[-119.52466515425412,50.75094513484523],[-119.52473385603027,50.74459590282901],[-119.50635541066359,50.72768005354256],[-119.48260913637743,50.71810417933524],[-119.44011926828216,50.73495378083924],[-119.43680112776147,50.74467487432768],[-119.41480931648968,50.74259352260209],[-119.40842551521757,50.72392004328571],[-119.38724767163588,50.725990626055136],[-119.38738532184871,50.75132807591049],[-119.32370132978475,50.75114781907399],[-119.20669859104457,50.770399781808145],[-119.20396338203803,50.76817212312795],[-119.17064896613309,50.78713822397158],[-119.06991382792108,50.8135742061652],[-119.04811720342241,50.82526063033588],[-119.05860164559375,50.86472405339513],[-119.06062211334022,50.893512508891085],[-119.05845828201556,50.92149518178939],[-119.02105766070632,50.94882135426681],[-119.00326187336371,50.976508356388386],[-118.99281558139243,50.99999662071179]],[[-119.3292114071863,50.79341382519463],[-119.30505040765686,50.79312346699727],[-119.30425303726457,50.77824448883099],[-119.34125797567407,50.785957081828855],[-119.3292114071863,50.79341382519463]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-119.26934073812883,\"lat\":50.858155306967504},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5939\"],\"cd_name_en\":[\"Columbia-Shuswap\"],\"csd_code\":[\"5939037\"],\"csd_name_en\":[\"Columbia-Shuswap C\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Columbia-Shuswap\",\"csd_name_fr\":\"Columbia-Shuswap C\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.20399219545946,51.99232377661521],[-121.21035459979069,52.07086901285966],[-121.40902653307951,52.075499634666336],[-121.55551877890844,52.080391601270605],[-121.5549312283226,51.99194381307584],[-121.70793473432235,51.99127185552757],[-121.8294739972315,51.99224779662682],[-121.83896407541125,51.98555110700279],[-121.83577249147686,51.8758187346776],[-121.9781360244479,51.87556377612523],[-121.97965557244231,51.80165615992691],[-121.97877671563596,51.73217845153904],[-121.95504477690719,51.73186089745185],[-121.95481125224619,51.70209281156143],[-121.94940648934993,51.69139432038219],[-121.94103842675153,51.63976940878309],[-121.94875205072918,51.57246286696908],[-121.94636410065043,51.5170016062985],[-121.88572777364531,51.51784655288858],[-121.88589267595658,51.56613312607204],[-121.63108047730725,51.564048309204416],[-121.63049759542757,51.54738354247066],[-121.52662721583955,51.547723999183354],[-121.52514210501123,51.451053301569914],[-121.50896978718178,51.44649538998663],[-121.47558436952409,51.44595097837515],[-121.4738132023538,51.436453757059546],[-121.42616168787305,51.43670319887458],[-121.42668305041163,51.401461620155],[-121.42064190445292,51.37755958808855],[-121.36248565194039,51.38006779230911],[-121.33259892560268,51.377364701398726],[-121.28223123058731,51.376792364734776],[-121.27661851536045,51.379857793924074],[-121.27561836265143,51.49335808551954],[-121.27876128796474,51.54146268819954],[-121.27807216630532,51.568224185916336],[-121.28895256294625,51.57756205206329],[-121.29008678977576,51.59944418859024],[-121.29102411334928,51.61153533180796],[-121.36016711068868,51.611413576079016],[-121.35907094225982,51.63909175841056],[-121.3814649431317,51.63622767799949],[-121.39788421084829,51.64373557908796],[-121.39632850696192,51.66498763158896],[-121.30378055718421,51.665646293864995],[-121.30378319277166,51.67603391758307],[-121.28043263075182,51.675895522111496],[-121.28017895443804,51.69898262751626],[-121.23278296180382,51.700674710654496],[-121.2279824581572,51.71243681515074],[-121.23457481078047,51.727931569242465],[-121.23508343346666,51.76299958017008],[-121.20935911197624,51.762990438387185],[-121.21207755017419,51.8616105316777],[-121.21010807198299,51.98858335397444],[-121.20399219545946,51.99232377661521]],[[-121.57925044294282,51.848846563482816],[-121.58130811466462,51.84805326065172],[-121.58212798451987,51.849817432300256],[-121.57919701441065,51.84999026077819],[-121.57925044294282,51.848846563482816]],[[-121.4762150495983,51.79713096373178],[-121.47158221064426,51.79645846404491],[-121.46972601997972,51.79462952203592],[-121.47624847783607,51.79432883397342],[-121.4762150495983,51.79713096373178]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.55309780275962,\"lat\":51.76398563709953},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941015\"],\"csd_name_en\":[\"Cariboo G\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Cariboo G\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-120.55841504442225,51.66454835674849],[-120.65733537951952,51.664628830127384],[-120.66083523552447,51.71720744791095],[-120.67921732079938,51.71747587775311],[-120.68013805388824,51.73407858366705],[-120.7792218336186,51.732931458452896],[-120.78092602603698,51.692237813653854],[-121.04530058413512,51.68904893436567],[-121.04516438408655,51.67634956280176],[-121.07357414300866,51.67650756536389],[-121.07453281077423,51.66173848066534],[-121.10609455282129,51.662752058651975],[-121.21403483050146,51.66099028303769],[-121.21287726469788,51.64768535339444],[-121.23475823720597,51.64806748475239],[-121.23514741228747,51.62878295799735],[-121.30026535980345,51.62856647609873],[-121.2839531254697,51.617049497574776],[-121.26678867004958,51.616489593266756],[-121.26681338454624,51.59969036377187],[-121.29008678977576,51.59944418859024],[-121.28895256294625,51.57756205206329],[-121.27807216630532,51.568224185916336],[-121.27876128796474,51.54146268819954],[-121.27561836265143,51.49335808551954],[-121.27661851536045,51.379857793924074],[-121.21792021758893,51.41058271748472],[-121.17179210642696,51.430894255888425],[-121.13384203317229,51.439629720604636],[-121.0633504465031,51.43585607100216],[-121.04760100945427,51.42984760909036],[-121.0017202573667,51.429060077880074],[-121.00149137676942,51.43895117332108],[-120.96070954061489,51.439859286240285],[-120.9483287205719,51.445102190586596],[-120.89574822040731,51.44229410003995],[-120.8334670298005,51.435158628884835],[-120.74247678779074,51.433567184389105],[-120.7219552101718,51.43444998735646],[-120.61910251394553,51.43340427561827],[-120.56072881186645,51.43461791161262],[-120.55767132673571,51.4669099583916],[-120.56146176877152,51.59415364581793],[-120.56042770474585,51.661258833806706],[-120.55841504442225,51.66454835674849]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-120.91132117173771,\"lat\":51.55846417384304},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941017\"],\"csd_name_en\":[\"Cariboo L\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Cariboo L\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-121.12570046180036,51.74025615058453],[-121.12705193449288,51.74663354818311],[-121.13763621161934,51.746592128266556],[-121.1363123079254,51.73985033966079],[-121.12570046180036,51.74025615058453]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-121.1317229347255,\"lat\":51.743326780340865},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941813\"],\"csd_name_en\":[\"Canim Lake 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Canim Lake 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-123.23151621115767,52.053939683365506],[-123.23204810770152,52.03530192546069],[-123.21839267289623,52.02917258247513],[-123.19832686409222,52.01170460125007],[-123.16892021347132,51.99653287831352],[-123.16807992984091,51.98700579154662],[-123.12894106437099,51.98740090482107],[-123.13002208157612,52.05432329751586],[-123.23151621115767,52.053939683365506]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-123.17102555916321,\"lat\":52.02646315693554},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941821\"],\"csd_name_en\":[\"Anahim's Flat 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Anahim's Flat 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-122.4921685630362,51.90005706321359],[-122.45000868476227,51.89939918178311],[-122.44869431081115,51.94163690652454],[-122.5193248236661,51.94212411208136],[-122.51925489829829,51.90047057878994],[-122.4921685630362,51.90005706321359]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-122.48423616767988,\"lat\":51.92097688922934},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941850\"],\"csd_name_en\":[\"Toosey 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Toosey 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.07891410663923,51.420265186448596],[-124.07868888873084,51.41295458365458],[-124.06207113387902,51.4139306053969],[-124.06306894878868,51.42077223193804],[-124.07891410663923,51.420265186448596]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.070765799999,\"lat\":51.41694745543789},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941876\"],\"csd_name_en\":[\"Lezbye 6\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Lezbye 6\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-125.26159664694259,52.44385837504546],[-125.26144518359536,52.45567058719251],[-125.28621764426099,52.456373853437675],[-125.28671528785023,52.44263650102946],[-125.26159664694259,52.44385837504546]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-125.27430678146193,\"lat\":52.449618888477254},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941880\"],\"csd_name_en\":[\"Ulkatcho 14A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Ulkatcho 14A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.05630301975539,51.42481687982414],[-124.04489339637568,51.42496869823858],[-124.04441242070253,51.44648688556643],[-124.05622347513639,51.44644543978883],[-124.05644720208167,51.42880696609407],[-124.05630301975539,51.42481687982414]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.05050230528396,\"lat\":51.43572557006256},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5941\"],\"cd_name_en\":[\"Cariboo\"],\"csd_code\":[\"5941884\"],\"csd_name_en\":[\"Garden\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Cariboo\",\"csd_name_fr\":\"Garden\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-127.447546775656,50.3747709667512],[-127.44111751968963,50.384368560617276],[-127.45980903445883,50.39334750208194],[-127.47113646496095,50.40472541269367],[-127.47086690260701,50.43434106295595],[-127.48486783291146,50.44737352476582],[-127.51984334373434,50.44469533274242],[-127.49473041993836,50.404053171459886],[-127.48289166613688,50.39301579330543],[-127.447546775656,50.3747709667512]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-127.48371897334576,\"lat\":50.41666093500432},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5943\"],\"cd_name_en\":[\"Mount Waddington\"],\"csd_code\":[\"5943017\"],\"csd_name_en\":[\"Port Alice\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Village\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Mount Waddington\",\"csd_name_fr\":\"Port Alice\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-126.5983393463954,50.59549245952261],[-126.59266931616517,50.59223447729371],[-126.58814886583417,50.593117001125506],[-126.5876092634411,50.59731204691723],[-126.5983393463954,50.59549245952261]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-126.59188777175771,\"lat\":50.594783415778856},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5943\"],\"cd_name_en\":[\"Mount Waddington\"],\"csd_code\":[\"5943807\"],\"csd_name_en\":[\"Dead Point 5\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Mount Waddington\",\"csd_name_fr\":\"Dead Point 5\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-127.62826405118886,55.2526138030455],[-127.64608398205509,55.24884363423715],[-127.64606242192316,55.23265067407079],[-127.61378988105653,55.230129622204586],[-127.61382204657201,55.222954679954995],[-127.54330758937726,55.22314251222505],[-127.54287376770205,55.24502038659446],[-127.53671665549086,55.26898465895361],[-127.559466103794,55.25901330295823],[-127.58816789860609,55.26562589161103],[-127.60386683220909,55.26343352665291],[-127.59091347378784,55.26327545449499],[-127.59060393153705,55.25216489526014],[-127.61519990259696,55.2569269001848],[-127.62826405118886,55.2526138030455]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-127.5867797235936,\"lat\":55.24228072507962},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5949\"],\"cd_name_en\":[\"Kitimat-Stikine\"],\"csd_code\":[\"5949024\"],\"csd_name_en\":[\"New Hazelton\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"District municipality\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kitimat-Stikine\",\"csd_name_fr\":\"New Hazelton\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-128.52256496503102,56.08372512528083],[-128.55446687895417,56.07944883435716],[-128.56144310378272,56.052713744774024],[-128.61816839324172,56.01289573358624],[-128.62776467292656,55.993971435134476],[-128.66516061151623,55.96487433407792],[-128.65864837179763,55.94735647439822],[-128.68816517447135,55.944011931431],[-128.70665864417563,55.92613292962288],[-128.72379369853067,55.91926041256539],[-128.73041129873462,55.906872334855855],[-128.71111329000885,55.88459501257358],[-128.71929527903433,55.879599144583025],[-128.75113062227572,55.883839254207714],[-128.76090960636486,55.866799610342134],[-128.77975746140143,55.87480822969965],[-128.79378039051053,55.85543909143621],[-128.75971553826864,55.82519728327642],[-128.75527082596662,55.8153340123011],[-128.66379618905165,55.7624839311],[-128.61679461960802,55.72693729656302],[-128.55744084649135,55.72518172296979],[-128.49686789456868,55.712984880931096],[-128.48159322306947,55.71997986676424],[-128.44456090675362,55.69775356114441],[-128.4030176539941,55.686163641873755],[-128.38733822243418,55.665996683088],[-128.3916699995774,55.65117501325198],[-128.3745471128122,55.63797671241954],[-128.35311462658157,55.64286491794247],[-128.34911310762934,55.62860168978601],[-128.2865604247638,55.59147980545577],[-128.26628465082507,55.58163174256277],[-128.1742076439365,55.54499444745466],[-128.18672508195684,55.531435721813516],[-128.17773228890954,55.494899752150744],[-128.13630093940944,55.46211448181744],[-128.13333170900268,55.44180004454496],[-128.12131758744584,55.43128040719646],[-128.13401191800725,55.41752324467537],[-128.1626814632176,55.415059921609185],[-128.16355642692355,55.378873631265996],[-128.34624848800314,55.3852461522622],[-128.36855643988122,55.378870951536165],[-128.37674783368394,55.36138846448328],[-128.34121304698598,55.343885841677626],[-128.35445796954673,55.335474471326954],[-128.3684177662696,55.30663790523717],[-128.37762144622127,55.30259967016554],[-128.38756800358004,55.27646356062736],[-128.35492357451147,55.2668671992661],[-128.3655131386115,55.2375858242517],[-128.3884291681937,55.221906831598034],[-128.38429538464754,55.20963641161345],[-128.3649360059037,55.19516773203806],[-128.3947459011958,55.18564165128615],[-128.40032591336478,55.17270955938407],[-128.38310767845994,55.16067463373967],[-128.3770703843654,55.14146641017169],[-128.4525650173532,55.14136988419506],[-128.480408406798,55.1340793685688],[-128.50811719205345,55.112195639651624],[-128.52943105773025,55.1215897568291],[-128.5886863059224,55.10882879939016],[-128.6041965215199,55.1253409637643],[-128.63225955683342,55.14143674932875],[-128.66310333455553,55.14560773955918],[-128.68241038105032,55.12485890448014],[-128.71515682838643,55.1453955655159],[-128.71227584103167,55.162188639386194],[-128.74017069781868,55.17090226247593],[-128.78015516378574,55.1917728081289],[-128.8066353589329,55.2000497265533],[-128.82593942153713,55.19914708149821],[-128.83978185146154,55.187585022935274],[-128.82824115351505,55.17451390128216],[-128.79626480151344,55.1616642370066],[-128.7907340994553,55.12424431110577],[-128.7962403753527,55.11554402687074],[-128.81960939944614,55.108538801367324],[-128.83954854950028,55.07532858116424],[-128.85675281296204,55.0591636528767],[-128.8681813542864,55.06782681043333],[-128.89244818212148,55.06666811013258],[-128.91216650364836,55.03501855053599],[-128.94221422866732,55.01284927187626],[-128.95032781724584,55.00021170562896],[-128.92728445809604,55.00022023106826],[-128.49959174999447,55.00025146756835],[-128.24825034346173,54.9999483527861],[-127.99905647588035,54.99965281936297],[-127.80104571145112,54.99946669052339],[-127.43981463565271,55.000595747819666],[-127.3421411380029,55.00002635140056],[-127.34231365955432,55.02366931372289],[-127.34777259359777,55.03324079191961],[-127.3306262393016,55.035114477331696],[-127.30436383925544,55.033836506639275],[-127.31370566084134,55.02271979231829],[-127.30272567883476,55.00032701537637],[-127.27252137314072,55.000278379137654],[-127.27162627979924,55.00794780471315],[-127.24151999838654,55.00687638055475],[-127.24011364665019,55.000219146844074],[-126.93720119287997,55.000035093924524],[-126.94296325950359,55.00707016363662],[-126.9128469140697,55.02531227781979],[-126.8734736014032,55.03496788785369],[-126.88307841303805,55.04986303559217],[-126.88000136442413,55.059850003971775],[-126.85524443036621,55.064791617262266],[-126.84345387664304,55.07502182768306],[-126.76298256047082,55.06939759011783],[-126.73493584395604,55.062735166995495],[-126.71615488423905,55.06410348572881],[-126.70480994089462,55.075503936468834],[-126.64762450062271,55.10078028515838],[-126.64470008070921,55.12448512602278],[-126.68560258370063,55.124746453806885],[-126.7349436333795,55.16030465665065],[-126.74147366190623,55.178892942951585],[-126.73597999762057,55.194150669008906],[-126.7420025916376,55.207145853630024],[-126.78546461181013,55.227035009202694],[-126.80805098267399,55.22932494178036],[-126.83807556399668,55.22192840257943],[-126.84533504386803,55.240279011085384],[-126.87996966886584,55.26897869922446],[-126.90799911024006,55.26590314195752],[-126.92834010067821,55.26826031152519],[-126.95398516550772,55.28201724874298],[-126.95364617307388,55.2885447184137],[-126.90518230570423,55.297146410769265],[-126.88102963447864,55.3039949444156],[-126.8750286030149,55.3140549331856],[-126.8711698300261,55.35200795871318],[-126.85338551010598,55.36080386034236],[-126.89216581859536,55.37099767483714],[-126.93740319369361,55.38614509048595],[-126.96108551665233,55.378372761316605],[-127.03184190065757,55.385866832502735],[-127.04663268807542,55.37550294621625],[-127.06337760109881,55.38306359382919],[-127.06300674135382,55.39605406147482],[-127.08975493934761,55.40532900984714],[-127.17260377947356,55.462592916324866],[-127.21843011784917,55.47506612268524],[-127.25723306221472,55.47392275583963],[-127.27848722635653,55.49487466112184],[-127.29301514721483,55.500107961517905],[-127.30016885471811,55.512119680556836],[-127.33356088889775,55.51620804951368],[-127.35614659254989,55.50950658515356],[-127.39503533851625,55.51090797845505],[-127.41558233812017,55.494005353115284],[-127.44890261187751,55.49973445880618],[-127.45840545527402,55.50929369933903],[-127.45770087191902,55.53756378943419],[-127.50653269770773,55.54235506212364],[-127.53336958885576,55.55002523393444],[-127.56884361243183,55.57793532486864],[-127.59086937085408,55.60156791745648],[-127.65279419972197,55.63849409688438],[-127.65696491604494,55.67392453098191],[-127.66409697460512,55.685445324576534],[-127.7133211709979,55.710818488588515],[-127.78538821788503,55.70499926008578],[-127.79802181515674,55.70991518922037],[-127.85366624878215,55.708393842830226],[-127.88201839437137,55.71708305042259],[-127.91507216336522,55.71703100942672],[-127.93678961684527,55.68762142741934],[-127.96294849492263,55.688450112697204],[-127.97630100120202,55.699812146883254],[-127.98318604143212,55.71696737798347],[-127.99615573203724,55.72669226724694],[-128.00444538865315,55.75208254384258],[-128.03159163558314,55.74655526300362],[-128.0717489355329,55.75957070168236],[-128.08775715925222,55.77018199291712],[-128.09951375930248,55.76447476323836],[-128.09457926564497,55.749689828958275],[-128.11512092174814,55.72140931008801],[-128.14686181859045,55.7277299972659],[-128.18016760647595,55.72773855475192],[-128.21385260690877,55.74085071769704],[-128.24061020300002,55.76796881642975],[-128.19323172796226,55.81040853801281],[-128.18948998288693,55.82238761599868],[-128.16887736749024,55.82979411192033],[-128.1428732815799,55.846492971945594],[-128.1560015143585,55.86301952080918],[-128.1884814984335,55.87091596087101],[-128.18904392059844,55.910786906311],[-128.22425607744788,55.93245087843408],[-128.27537305101296,55.93605314190621],[-128.33093567848374,55.914164086867096],[-128.3868993849822,55.91429943284907],[-128.45516605581778,55.928820584406395],[-128.48555037529127,55.94483758201198],[-128.47518798741817,55.96746378409529],[-128.43928065806898,56.002952485859005],[-128.36462689175144,56.003179122828925],[-128.39152662238655,56.02775354613333],[-128.41605479608347,56.03974361020377],[-128.51142918129344,56.07675800857537],[-128.52256496503102,56.08372512528083]],[[-127.69654378808164,55.32209133736092],[-127.68032671087698,55.32443372143494],[-127.66777973455835,55.30820986466718],[-127.67363075209403,55.300446485878155],[-127.6963895345774,55.29360379754897],[-127.69654378808164,55.32209133736092]],[[-128.0593998022958,55.25311185011139],[-128.08943636185373,55.256752555207214],[-128.094682517132,55.27606476098986],[-128.06204340110915,55.27798821007206],[-128.0593998022958,55.25311185011139]],[[-127.78162922617994,55.12445184123676],[-127.77341318369015,55.1066108774082],[-127.81138322195534,55.09251359309346],[-127.81132954926696,55.0824846838476],[-127.85746201372689,55.087313571219994],[-127.86086514371719,55.09860235983223],[-127.82270649996386,55.096382598874435],[-127.82199286875705,55.106561126424104],[-127.80800269710011,55.1170874200063],[-127.78162922617994,55.12445184123676]],[[-127.70972102034975,55.369556192869084],[-127.65717819602443,55.37150124306274],[-127.65724116407507,55.33418060480448],[-127.70919021112654,55.33354043065153],[-127.70972102034975,55.369556192869084]],[[-128.0198361484412,55.087002908903905],[-128.1157067001287,55.075937325718506],[-128.11352402269355,55.10577180963933],[-128.0582590196536,55.1138367059821],[-128.05605448132354,55.1084734100786],[-128.0121365823526,55.109393680568076],[-128.0198361484412,55.087002908903905]],[[-127.67571815358747,55.25868209455093],[-127.70391655539228,55.2598713118093],[-127.70411469501546,55.28842651207604],[-127.65262943806154,55.28830768018129],[-127.6533642975157,55.272362488696416],[-127.64142211900803,55.2576717415694],[-127.62826405118886,55.2526138030455],[-127.61519990259696,55.2569269001848],[-127.60386683220909,55.26343352665291],[-127.58816789860609,55.26562589161103],[-127.559466103794,55.25901330295823],[-127.53671665549086,55.26898465895361],[-127.54287376770205,55.24502038659446],[-127.54330758937726,55.22314251222505],[-127.61382204657201,55.222954679954995],[-127.61378988105653,55.230129622204586],[-127.64606242192316,55.23265067407079],[-127.64608398205509,55.24884363423715],[-127.65369189873287,55.24824200965361],[-127.68361940240449,55.2536983713205],[-127.67571815358747,55.25868209455093]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-127.83035518588727,\"lat\":55.35657968625139},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5949\"],\"cd_name_en\":[\"Kitimat-Stikine\"],\"csd_code\":[\"5949028\"],\"csd_name_en\":[\"Kitimat-Stikine B\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kitimat-Stikine\",\"csd_name_fr\":\"Kitimat-Stikine B\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-129.00224609914082,57.99875932475676],[-128.95873555254627,58.74781277541639],[-128.94319054554407,59.00225460244679],[-129.24428990187064,59.00159474785874],[-129.48949141239325,59.00111520310415],[-129.79776144849632,59.00058811705333],[-130.23992880938792,59.00117449537923],[-130.7465122614396,59.00163231289481],[-131.00978700692485,59.002096855950285],[-131.00996143427258,58.93998807227646],[-131.00597712824546,58.74841495087065],[-131.0045837474398,58.6098380869848],[-131.00421573453767,58.06751692047355],[-131.0007599002577,58.012370962005754],[-130.9874564041608,58.01532950737318],[-130.97038778018,58.01200728555454],[-130.98971688279448,58.00555138256992],[-131.00137318148535,58.0052562121639],[-131.00167476791418,58.000551352823365],[-130.74930441108634,58.00052060502394],[-130.4968331442444,58.0004796299407],[-130.2443624670065,58.000428260497586],[-129.74523598140664,57.99989628292651],[-129.49756715877376,57.999507596339],[-129.24990388163965,57.99912862524483],[-129.00224609914082,57.99875932475676]],[[-130.01967129761334,58.4718983022862],[-130.03343384324913,58.47025948867489],[-130.03177621264425,58.480113354021604],[-130.02445641434875,58.48039379026446],[-130.01967129761334,58.4718983022862]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-129.98874414415795,\"lat\":58.50336168134671},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5949\"],\"cd_name_en\":[\"Kitimat-Stikine\"],\"csd_code\":[\"5949038\"],\"csd_name_en\":[\"Kitimat-Stikine F\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Regional district electoral area\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kitimat-Stikine\",\"csd_name_fr\":\"Kitimat-Stikine F\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-127.78162922617994,55.12445184123676],[-127.80800269710011,55.1170874200063],[-127.82199286875705,55.106561126424104],[-127.82270649996386,55.096382598874435],[-127.86086514371719,55.09860235983223],[-127.85746201372689,55.087313571219994],[-127.81132954926696,55.0824846838476],[-127.81138322195534,55.09251359309346],[-127.77341318369015,55.1066108774082],[-127.78162922617994,55.12445184123676]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-127.81257192858222,\"lat\":55.10155213249439},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5949\"],\"cd_name_en\":[\"Kitimat-Stikine\"],\"csd_code\":[\"5949814\"],\"csd_name_en\":[\"Gitsegukla 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kitimat-Stikine\",\"csd_name_fr\":\"Gitsegukla 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-131.16650807354648,57.90608243550128],[-131.16982418918852,57.90684014936233],[-131.18433945706673,57.90236298388717],[-131.17798084119244,57.90151175966243],[-131.16650807354648,57.90608243550128]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-131.17518960017972,\"lat\":57.9040288388902},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5949\"],\"cd_name_en\":[\"Kitimat-Stikine\"],\"csd_code\":[\"5949843\"],\"csd_name_en\":[\"Guhthe Tah 12\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Kitimat-Stikine\",\"csd_name_fr\":\"Guhthe Tah 12\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.54048034711428,54.56649296723186],[-124.51529963708408,54.56981286060989],[-124.47284344058235,54.557871256762525],[-124.47212998689673,54.576229048280354],[-124.52331768324835,54.575897317967836],[-124.54048034711428,54.56649296723186]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.49643701476754,\"lat\":54.56983109535381},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951805\"],\"csd_name_en\":[\"Binche 2\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Binche 2\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-124.75372604404905,54.649344723411616],[-124.70948086925527,54.64906229190752],[-124.70991394253136,54.66006846563072],[-124.73415753730092,54.6609506918358],[-124.73404956804421,54.676501034393034],[-124.78178153805686,54.676638118604195],[-124.78134910184473,54.66380395443078],[-124.75372604404905,54.649344723411616]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-124.7484359657187,\"lat\":54.66259724860076},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951810\"],\"csd_name_en\":[\"Tache 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Tache 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-127.0002756255788,54.744259889916044],[-127.0024880642239,54.74996234058875],[-127.02847674031472,54.751274049063944],[-127.02877424997897,54.743359664104354],[-127.0002756255788,54.744259889916044]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-127.01574009240264,\"lat\":54.747160797759705},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5951\"],\"cd_name_en\":[\"Bulkley-Nechako\"],\"csd_code\":[\"5951830\"],\"csd_name_en\":[\"Jean Baptiste 28\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Bulkley-Nechako\",\"csd_name_fr\":\"Jean Baptiste 28\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-133.701866411956,59.569582010139094],[-133.70412022054373,59.5684823836597],[-133.70328263345036,59.567200406590764],[-133.70078003535136,59.56744345392548],[-133.701866411956,59.569582010139094]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-133.70242642200952,\"lat\":59.56821527722952},\"year\":\"2021\",\"prov_code\":[\"59\"],\"prov_name_en\":[\"British Columbia\"],\"cd_code\":[\"5957\"],\"cd_name_en\":[\"Stikine\"],\"csd_code\":[\"5957802\"],\"csd_name_en\":[\"Unnamed 10\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Colombie-Britannique\",\"cd_name_fr\":\"Stikine\",\"csd_name_fr\":\"Unnamed 10\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-135.11621516815066,60.9895762378494],[-135.13759953612592,60.98981754152931],[-135.1386649434631,60.97270242120589],[-135.1158153608472,60.972099769596284],[-135.11621516815066,60.9895762378494]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-135.12704008340344,\"lat\":60.98095241214054},\"year\":\"2021\",\"prov_code\":[\"60\"],\"prov_name_en\":[\"Yukon\"],\"cd_code\":[\"6001\"],\"cd_name_en\":[\"Yukon\"],\"csd_code\":[\"6001010\"],\"csd_name_en\":[\"Lake Laberge 1\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Self-government \\/ Autonomie gouvernementale\",\"prov_name_fr\":\"Yukon\",\"cd_name_fr\":\"Yukon\",\"csd_name_fr\":\"Lake Laberge 1\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-134.99220891162827,68.22099080688726],[-135.03706000308176,68.24252998590717],[-135.07926331181017,68.25764248148963],[-135.154463100481,68.22404752214717],[-135.10274512156832,68.21150744030174],[-135.08686211392927,68.21474787735302],[-135.0354510347463,68.20153608762101],[-134.99220891162827,68.22099080688726]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-135.06988496295068,\"lat\":68.22790509585485},\"year\":\"2021\",\"prov_code\":[\"61\"],\"prov_name_en\":[\"Northwest Territories\"],\"cd_code\":[\"6101\"],\"cd_name_en\":[\"Region 1\"],\"csd_code\":[\"6101025\"],\"csd_name_en\":[\"Aklavik\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Hamlet\",\"prov_name_fr\":\"Territoires du Nord-Ouest\",\"cd_name_fr\":\"Region 1\",\"csd_name_fr\":\"Aklavik\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-116.01209218004925,60.636176149387175],[-116.10029067840978,60.640007458611564],[-116.34932092651547,60.64800619371899],[-116.35012172290904,60.632230558804046],[-116.34666670171,60.459688270714594],[-116.32934172179243,60.46059977193109],[-116.06175860265884,60.47437527232236],[-116.04768262384464,60.627892515316894],[-116.01209218004925,60.636176149387175]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-116.20425498135963,\"lat\":60.556265902228134},\"year\":\"2021\",\"prov_code\":[\"61\"],\"prov_name_en\":[\"Northwest Territories\"],\"cd_code\":[\"6105\"],\"cd_name_en\":[\"Region 5\"],\"csd_code\":[\"6105003\"],\"csd_name_en\":[\"Enterprise\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Hamlet\",\"prov_name_fr\":\"Territoires du Nord-Ouest\",\"cd_name_fr\":\"Region 5\",\"csd_name_fr\":\"Enterprise\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-112.23830768883441,60.10080691035257],[-112.23301404111463,60.10707929558503],[-112.24145597577206,60.10870026363174],[-112.24661364611451,60.101749593905645],[-112.23830768883441,60.10080691035257]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-112.2398785641856,\"lat\":60.10463293873932},\"year\":\"2021\",\"prov_code\":[\"61\"],\"prov_name_en\":[\"Northwest Territories\"],\"cd_code\":[\"6105\"],\"cd_name_en\":[\"Region 5\"],\"csd_code\":[\"6105004\"],\"csd_name_en\":[\"Salt Plains 195\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Indian reserve \\/ R\\u00e9serve indienne\",\"prov_name_fr\":\"Territoires du Nord-Ouest\",\"cd_name_fr\":\"Region 5\",\"csd_name_fr\":\"Salt Plains 195\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-82.4574229034553,76.3682599389157],[-82.42740196391078,76.57838123174501],[-83.17690001394978,76.58118976004471],[-83.1332455599554,76.50977816440928],[-83.15136654338258,76.45318955786547],[-83.05286252166528,76.37776640249133],[-82.4574229034553,76.3682599389157]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-82.78550380502398,\"lat\":76.47955671813946},\"year\":\"2021\",\"prov_code\":[\"62\"],\"prov_name_en\":[\"Nunavut\"],\"cd_code\":[\"6204\"],\"cd_name_en\":[\"Qikiqtaaluk\"],\"csd_code\":[\"6204025\"],\"csd_name_en\":[\"Grise Fiord\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Hamlet\",\"prov_name_fr\":\"Nunavut\",\"cd_name_fr\":\"Qikiqtaaluk\",\"csd_name_fr\":\"Grise Fiord\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-90.62900074452976,63.34491577476397],[-90.79596973295108,63.429234124655146],[-90.97180767808467,63.354102645435354],[-90.8680507338152,63.236715564661296],[-90.64063433547493,63.22611450181349],[-90.62900074452976,63.34491577476397]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-90.78400049675582,\"lat\":63.31829279961926},\"year\":\"2021\",\"prov_code\":[\"62\"],\"prov_name_en\":[\"Nunavut\"],\"cd_code\":[\"6205\"],\"cd_name_en\":[\"Kivalliq\"],\"csd_code\":[\"6205019\"],\"csd_name_en\":[\"Chesterfield Inlet\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Hamlet\",\"prov_name_fr\":\"Nunavut\",\"cd_name_fr\":\"Kivalliq\",\"csd_name_fr\":\"Chesterfield Inlet\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-104.94814793071866,69.04801843463497],[-104.93106909683988,69.20996557979265],[-105.39624532823784,69.22285228012771],[-105.41106578679687,69.13564912155857],[-105.4269516764077,69.05747483796446],[-104.94782628527855,69.04599629098736],[-104.94814793071866,69.04801843463497]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-105.17578862945119,\"lat\":69.13369581737501},\"year\":\"2021\",\"prov_code\":[\"62\"],\"prov_name_en\":[\"Nunavut\"],\"cd_code\":[\"6208\"],\"cd_name_en\":[\"Kitikmeot\"],\"csd_code\":[\"6208073\"],\"csd_name_en\":[\"Cambridge Bay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Hamlet\",\"prov_name_fr\":\"Nunavut\",\"cd_name_fr\":\"Kitikmeot\",\"csd_name_fr\":\"Cambridge Bay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.603257202534074,46.83493594025375],[-53.58162337524797,46.864756401481216],[-53.55735066055652,46.88753451912755],[-53.59004190716324,46.905238590788954],[-53.60634865608061,46.89803759813239],[-53.609633493181974,46.881169900904],[-53.624258093035564,46.86934910516861],[-53.651139198815635,46.83566489598763],[-53.603257202534074,46.83493594025375]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.602741891002665,\"lat\":46.867111212611825},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001174\"],\"csd_name_en\":[\"Gaskiers-Point La Haye\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Gaskiers-Point La Haye\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.46017545085147,47.06073767930311],[-53.45803163691375,47.06938337944501],[-53.46887709163646,47.09135890312803],[-53.49237877125046,47.10200767622469],[-53.49934732097352,47.12091579823637],[-53.54645301451668,47.11307769886746],[-53.58084572834365,47.092624681377316],[-53.50039985052292,47.069693804794085],[-53.46268655398341,47.06135310370675],[-53.46017545085147,47.06073767930311]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.513120823721884,\"lat\":47.091564832263536},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001192\"],\"csd_name_en\":[\"St. Joseph's\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"St. Joseph's\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[[-53.25335890246424,47.6437526119932],[-53.209895988438554,47.666417494469634],[-53.214401680932035,47.6751445203386],[-53.25912260106078,47.6463891026919],[-53.25335890246424,47.6437526119932]]],[[[-52.88481983744261,47.65986400796789],[-52.876777535429824,47.69597762418848],[-52.849426196156934,47.744153714985146],[-53.167454189572865,47.745373810655806],[-53.18170113858971,47.72996467461166],[-53.22480490486164,47.714463191844196],[-53.26858808783666,47.72081951213423],[-53.26362163813438,47.73360557639908],[-53.30534763391235,47.738862756482135],[-53.33386708086349,47.7384008646563],[-53.365689517430695,47.72744854262778],[-53.3746678173617,47.70968823125289],[-53.36739220659081,47.69104287725883],[-53.38178440674164,47.676162714279336],[-53.37801669208688,47.66568584525793],[-53.39256100445954,47.65847957474092],[-53.38677190611944,47.646992018978096],[-53.333813759785706,47.656835132340916],[-53.29025036280136,47.653693833319956],[-53.30912549707119,47.66447389387132],[-53.31574256525783,47.675399987022445],[-53.27864963330909,47.698192450990966],[-53.22324120102911,47.70974998895048],[-53.196739622486,47.70923669857888],[-53.1722798252573,47.72091361681014],[-53.163609865585194,47.71388643998566],[-53.163003621980586,47.699690114523015],[-53.17045115527741,47.67484168475077],[-53.184895906385634,47.666045699021424],[-53.18008280791427,47.657948153463316],[-53.152651396735145,47.64693269175522],[-53.0737385147935,47.66468099918074],[-53.062101996777685,47.7086612970862],[-52.998963961000065,47.70323591152534],[-52.88481983744261,47.65986400796789]]]],\"type\":\"MultiPolygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.114803629824266,\"lat\":47.70540109146735},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1001\"],\"cd_name_en\":[\"Division No.  1\"],\"csd_code\":[\"1001374\"],\"csd_name_en\":[\"Division No.  1\",\"Subd. I\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  1\",\"csd_name_fr\":\"Division No.  1, Subd. I\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.10466328609761,47.13938866956979],[-55.09254627597212,47.1453030029826],[-55.08802319751647,47.159441684808186],[-55.11501908581264,47.219693878718516],[-55.15482360730777,47.19420488082561],[-55.243090194019985,47.161236394798905],[-55.2392225428479,47.1523588772525],[-55.227649151309635,47.148464503891255],[-55.220123397266285,47.12275823409755],[-55.22366807609029,47.11267556346011],[-55.1692792411853,47.1136586698026],[-55.13551399745625,47.12724545160133],[-55.10466328609761,47.13938866956979]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.15942694490128,\"lat\":47.15778357825572},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1002\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"1002024\"],\"csd_name_en\":[\"Marystown\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Marystown\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.02129998797933,47.29812989150293],[-55.03395917529297,47.28778957107539],[-55.00696082997461,47.26906751556008],[-54.99314089011938,47.28507609792713],[-54.96899469742738,47.29033813237305],[-54.984955571693796,47.31300279323886],[-55.004242495187924,47.30860499367899],[-55.02129998797933,47.29812989150293]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.00155069531908,\"lat\":47.29266962834152},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1002\"],\"cd_name_en\":[\"Division No.  2\"],\"csd_code\":[\"1002037\"],\"csd_name_en\":[\"Red Harbour\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  2\",\"csd_name_fr\":\"Red Harbour\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-55.89312892850139,47.578211768175024],[-55.916390617779406,47.57489710145206],[-55.9256233787628,47.56856900271506],[-55.95940950974353,47.557392606125376],[-55.97646870447652,47.509719137382994],[-55.95566441178247,47.50776350394867],[-55.94865010355276,47.52363218646691],[-55.91405140230409,47.53790644915601],[-55.875044889093076,47.53622085725062],[-55.87110301989636,47.555453299547196],[-55.89312892850139,47.578211768175024]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-55.92388814144559,\"lat\":47.5469668675669},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1003\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"1003011\"],\"csd_name_en\":[\"Hermitage-Sandyville\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Hermitage-Sandyville\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-57.68273083677604,47.637797673768844],[-57.66642099251751,47.6249912058948],[-57.65569719913478,47.60987600219538],[-57.66220065696462,47.58426885353822],[-57.577746169120765,47.58524275662915],[-57.57979038954929,47.61788214236273],[-57.586185610630984,47.62830595021094],[-57.57706020835592,47.63969636735258],[-57.55638500591971,47.64116775961565],[-57.54861931225401,47.65177232132549],[-57.6720668799255,47.65042585947047],[-57.68273083677604,47.637797673768844]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-57.620559718977795,\"lat\":47.6205806962134},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1003\"],\"cd_name_en\":[\"Division No.  3\"],\"csd_code\":[\"1003028\"],\"csd_name_en\":[\"Burgeo\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  3\",\"csd_name_fr\":\"Burgeo\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-56.43804840412559,50.1159804119141],[-56.62165231968013,50.11580570788058],[-56.661822457221156,50.128904082410436],[-56.685629229803496,50.13201108811558],[-56.71603694724527,50.12364594109615],[-56.73979320661804,50.13247250584052],[-56.781040757502836,50.118247334145934],[-56.80058229180846,50.102773361704884],[-56.84440695462255,50.11150234631035],[-56.88173017168855,50.10847121692478],[-56.906647000752066,50.09502114990536],[-56.922499190079044,50.07474783045701],[-56.94714157643068,50.071140761662974],[-56.98274788376459,50.09143078590537],[-56.99009144380393,50.10772605323617],[-57.014569028488125,50.10751119058416],[-57.0417222772422,50.128589290416805],[-57.03854496732043,50.13518801617224],[-57.049148542996846,50.15466775065087],[-57.04073893254999,50.17049356820523],[-57.05989225318103,50.18921973402922],[-57.07372107823145,50.19464260517805],[-57.09380428072647,50.2121724981727],[-57.09534196755796,50.229541499469036],[-57.10886081258264,50.22786205794982],[-57.11375000531024,50.21413525915848],[-57.09760405607802,50.200060324974196],[-57.10720776966946,50.18807897586886],[-57.159549787332075,50.16418845907102],[-57.18282977007093,50.143107144571594],[-57.17329957521606,50.12709386824032],[-57.19150173386679,50.08789571451245],[-57.204426195287134,50.073448360336],[-57.22680521538659,50.058262750619235],[-57.19691823934726,50.05091925270886],[-57.19930515833016,50.03103538166198],[-57.242160321247226,50.01798552666384],[-57.26418661520375,50.008427296269645],[-57.32380099201692,50.00012114242649],[-57.34165885374688,50.0001013747666],[-57.37205914700238,49.99179846994674],[-57.41472847564648,49.97289622755659],[-57.44797562315223,49.95265814421454],[-57.44758150881144,49.942019402294385],[-57.431059392802844,49.93805214422025],[-57.407052521789865,49.91613720234224],[-57.401184190139794,49.906160581999615],[-57.41002814926538,49.88126730527703],[-57.441772170747555,49.87332300837601],[-57.45017735832797,49.85788419714976],[-57.41540166903163,49.85747760814904],[-57.41653180215172,49.84812585859844],[-57.45169678748168,49.8486863609197],[-57.475386528577765,49.83132499301881],[-57.51285766115831,49.82828915326636],[-57.51653053640944,49.82213719305423],[-57.50331184757174,49.80461165694456],[-57.513957439953245,49.78219856740242],[-57.54841551915969,49.78749964299465],[-57.59450089227767,49.78519234913651],[-57.61516656217552,49.77589846406152],[-57.65102899112705,49.77816123995984],[-57.670798474996694,49.75582899253494],[-57.66625459282783,49.743912430034456],[-57.6170929454366,49.74330527752323],[-57.61388301462559,49.71928314076356],[-57.589626671719905,49.72441207406056],[-57.598279088278325,49.698784359059516],[-57.61935407549755,49.70052954473126],[-57.63778131987858,49.691202597273964],[-57.65314639181177,49.68957347789561],[-57.68416313326556,49.69406948743738],[-57.69725594132887,49.692338905256435],[-57.67998865560284,49.659358962067714],[-57.632309987856885,49.64693955465658],[-57.64248192932762,49.627556103763354],[-57.66304388397251,49.61992717158094],[-57.68023790608841,49.621027880878636],[-57.68598946866275,49.59553913192388],[-57.65998680794625,49.5794988809705],[-57.63451237593064,49.574799746199496],[-57.63701880796967,49.56268087739074],[-57.62587568575232,49.55172564702876],[-57.60322506059636,49.556109377410536],[-57.57990279522064,49.53884839738105],[-57.58733026041325,49.51975710691054],[-57.56215351217155,49.509638941800304],[-57.56208315578694,49.496992548553465],[-57.50525006736513,49.47844657995985],[-57.50692212545852,49.463414000339895],[-57.52900845689522,49.44393908674213],[-57.52167444861165,49.4074412102006],[-57.50773956447426,49.40595118740952],[-57.48854879379193,49.420769052988796],[-57.45314781490587,49.41619035255631],[-57.45632849851753,49.396379729932654],[-57.42354463344568,49.392683840580695],[-57.4263746925108,49.37407010369111],[-57.425351508991156,49.36042409932839],[-57.40454943649591,49.34797117519708],[-57.34551299717541,49.405722020379464],[-57.305852854422575,49.38975789481684],[-57.29729670750321,49.406265225748406],[-57.26845493039077,49.42550625175828],[-57.23698742538998,49.42758258546752],[-57.205492476464116,49.4452603985714],[-57.17875939097965,49.43949449235406],[-57.17036347105443,49.45088394607744],[-57.134336548483134,49.47829564841984],[-57.11067362001756,49.501190901581886],[-57.10794131452998,49.509338920821065],[-57.07896443175008,49.50799816632328],[-57.04628294140549,49.52418277538642],[-57.02709231963964,49.521520962956686],[-57.00729272306066,49.53826276750033],[-57.003884467100434,49.54807612646759],[-56.91491068519189,49.55327581262308],[-56.914155200251805,49.575921973198575],[-56.84440792052174,49.575271486827134],[-56.839934532217,49.57518033364734],[-56.79238829316721,49.634932648379944],[-56.73813836507644,49.74405896074047],[-56.66049862247279,49.82709523487999],[-56.53971557829052,49.98448110315445],[-56.43804840412559,50.1159804119141]],[[-56.755419645077474,49.86826441814188],[-56.767075928897896,49.86228652148143],[-56.83491946924036,49.86351729887641],[-56.818397008488645,49.87348801824323],[-56.75728326934797,49.87627951892449],[-56.755419645077474,49.86826441814188]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-57.10680875271303,\"lat\":49.79162644771008},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1005\"],\"cd_name_en\":[\"Division No.  5\"],\"csd_code\":[\"1005003\"],\"csd_name_en\":[\"Division No.  5\",\"Subd. G\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  5\",\"csd_name_fr\":\"Division No.  5, Subd. G\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.32939053625527,48.58746799301983],[-53.341912193702754,48.60061099863728],[-53.36347141723153,48.59681779098743],[-53.360789974752024,48.61718597952526],[-53.39023841005587,48.59903138919261],[-53.423371024039284,48.58588941084583],[-53.41900734157999,48.560778592769154],[-53.32939053625527,48.58746799301983]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.38144176341929,\"lat\":48.58630346351145},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1007\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"1007026\"],\"csd_name_en\":[\"Duntara\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Duntara\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-53.283124184067695,49.07739556917705],[-53.19745295082491,49.328255744006555],[-53.498474331061615,49.30629027625682],[-53.54295212546068,49.297243242551815],[-53.5681493980079,49.288679612677186],[-53.56754440935813,49.281790210688996],[-53.5335935083659,49.27521609325881],[-53.54737129775747,49.26173890103938],[-53.56462390401521,49.25908651269911],[-53.611855496726854,49.2791035288498],[-53.65309892782381,49.25818979600981],[-53.66789362234335,49.254159629198504],[-53.7008100444033,49.261726321800815],[-53.73510130116355,49.27807899940552],[-53.76604261295708,49.26673021647361],[-53.772947363118234,49.250026808973836],[-53.76652614857709,49.241281001871386],[-53.815690469582876,49.234876765979116],[-53.81725626758343,49.223598428233004],[-53.82887979109436,49.21383923089959],[-53.868606556108496,49.199225820844816],[-53.887607575035105,49.186456767766494],[-53.89349428513508,49.16591275084975],[-53.90117330731495,49.15950981319275],[-53.95091414971083,49.15430619149504],[-53.93043193065051,49.14247120618245],[-53.93605918587565,49.13300260765337],[-53.89806999934829,49.091191741490924],[-53.84741658795776,49.091230098336126],[-53.84788835681337,49.074739833384626],[-53.70940026501981,49.07798724109851],[-53.73842030687011,49.11654121382809],[-53.76985999840125,49.15152029195135],[-53.73388878092084,49.1493264908275],[-53.68069066232244,49.16563230893911],[-53.63869267888375,49.170293703950506],[-53.569378525796985,49.24085895963899],[-53.500000007332815,49.24415420332441],[-53.48352999157833,49.23692210048332],[-53.511587385382256,49.22203579695204],[-53.52343050687768,49.20237100657265],[-53.54329010557818,49.19835739318423],[-53.55316882327983,49.18987708969104],[-53.553816901804886,49.163513101107746],[-53.54848839501477,49.148750288577354],[-53.57884939690636,49.139409504593495],[-53.574066694995324,49.12876011211659],[-53.58531511295712,49.12224950646158],[-53.59105210326444,49.10651508559812],[-53.606852673756315,49.10433140254517],[-53.60087656012149,49.087639411927995],[-53.53997423846278,49.087722470954375],[-53.3338561671271,49.092223412290124],[-53.283124184067695,49.07739556917705]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-53.5247879118352,\"lat\":49.194263886900934},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1007\"],\"cd_name_en\":[\"Division No.  7\"],\"csd_code\":[\"1007056\"],\"csd_name_en\":[\"Division No.  7\",\"Subd. A\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Subdivision of unorganized \\/ Subdivision non organis\\u00e9e\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  7\",\"csd_name_fr\":\"Division No.  7, Subd. A\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.76195639861135,49.31092320804599],[-54.74815388619613,49.266971978009515],[-54.69677140758185,49.2671501466464],[-54.68333832151963,49.36646799884857],[-54.69664992437329,49.37468319766828],[-54.7446768925906,49.36213188633159],[-54.74220599475173,49.33469578483923],[-54.76245334338401,49.31315241017011],[-54.76195639861135,49.31092320804599]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.72010713105982,\"lat\":49.31802499944713},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008038\"],\"csd_name_en\":[\"Birchy Bay\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Birchy Bay\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-54.033902900432494,49.57606336534068],[-53.94023748002011,49.62993196080316],[-53.84982069725536,49.6839280810041],[-53.70604188486103,49.74960440131603],[-53.533204438795636,49.90549867003446],[-54.00141572807591,49.946401392951714],[-54.29238502872279,49.957304772281965],[-54.472858591069276,49.964294684348104],[-54.47398050356954,49.927807472338074],[-54.48068883458695,49.82818475126258],[-54.35796477502222,49.7484384940402],[-54.318270112691664,49.71561169230739],[-54.346057117929945,49.698985715008625],[-54.3648745014942,49.68344534455017],[-54.3424627369749,49.62145874298313],[-54.323251279501655,49.595361251359584],[-54.326021641545,49.57248590509749],[-54.30651238503494,49.56327075298636],[-54.27305571856614,49.558590938012394],[-54.033902900432494,49.57606336534068]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-54.071567081911894,\"lat\":49.78999794299678},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1008\"],\"cd_name_en\":[\"Division No.  8\"],\"csd_code\":[\"1008099\"],\"csd_name_en\":[\"Fogo Island\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  8\",\"csd_name_fr\":\"Fogo Island\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-57.780209591521,49.93514740213355],[-57.77647390417455,49.925637903753916],[-57.786012422631686,49.91617949363382],[-57.81327616914109,49.902738724885445],[-57.787771346859024,49.88720043309512],[-57.778675373599334,49.89573140348277],[-57.724221102437184,49.92971874569162],[-57.74899308627652,49.94782770810742],[-57.76698998384478,49.936246804320305],[-57.780209591521,49.93514740213355]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-57.76734834153437,\"lat\":49.91819548968914},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1009\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"1009016\"],\"csd_name_en\":[\"Cow Head\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Cow Head\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-56.913829490325625,51.05668532307402],[-56.962180186307656,51.04932009070383],[-56.93172099458373,51.03123410376676],[-56.911229092183966,51.034138100929574],[-56.90474164623118,51.05036493181802],[-56.913829490325625,51.05668532307402]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-56.928584010131324,\"lat\":51.04453506330091},\"year\":\"2021\",\"prov_code\":[\"10\"],\"prov_name_en\":[\"Newfoundland and Labrador\"],\"cd_code\":[\"1009\"],\"cd_name_en\":[\"Division No.  9\"],\"csd_code\":[\"1009026\"],\"csd_name_en\":[\"Bird Cove\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Terre-Neuve-et-Labrador\",\"cd_name_fr\":\"Division No.  9\",\"csd_name_fr\":\"Bird Cove\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-62.275839912130046,46.35522625986357],[-62.2636853076687,46.3566260998749],[-62.23885222003461,46.34264439933017],[-62.23212319108744,46.366312727606825],[-62.27704071560448,46.35662242426913],[-62.275839912130046,46.35522625986357]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-62.24748351526835,\"lat\":46.355941879694946},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1101\"],\"cd_name_en\":[\"Kings\"],\"csd_code\":[\"1101036\"],\"csd_name_en\":[\"Souris\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Kings\",\"csd_name_fr\":\"Souris\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.086478678223216,46.33761068204057],[-63.11991967051646,46.333603961295125],[-63.12240577156166,46.31443925064387],[-63.114159011526255,46.30548901289349],[-63.09768264986693,46.294193307067715],[-63.08912152676273,46.30588145668908],[-63.07587247130418,46.30848350318604],[-63.07539881579117,46.32702272121012],[-63.086478678223216,46.33761068204057]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.098710573684166,\"lat\":46.31881603512057},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1102\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1102061\"],\"csd_name_en\":[\"York\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"York\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.19408517224051,46.37548516409084],[-63.202845926086866,46.393260640920346],[-63.217830116503976,46.39014922889639],[-63.2222572193623,46.37519742154981],[-63.21895306864114,46.3566256654365],[-63.199719190759815,46.33772092201753],[-63.187564738242806,46.33875166174429],[-63.17900459457193,46.34626993410344],[-63.19408517224051,46.37548516409084]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.202893883997305,\"lat\":46.36401327041306},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1102\"],\"cd_name_en\":[\"Queens\"],\"csd_code\":[\"1102069\"],\"csd_name_en\":[\"Winsloe North\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Fire District\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Queens\",\"csd_name_fr\":\"Winsloe North\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-63.87947514679723,46.34373660753404],[-63.92923167376232,46.41782415710509],[-63.93065537830763,46.43526342453768],[-63.948299417691935,46.44853650145394],[-63.951502154016644,46.443632535973194],[-63.98651131573261,46.437638821810424],[-63.98338939915201,46.424456883556715],[-63.98965914545539,46.412066459826995],[-63.98902475296015,46.38770289307691],[-63.98196033435005,46.36057956875862],[-63.94174423949022,46.33583361409376],[-63.90539881819119,46.32620820412705],[-63.87947514679723,46.34373660753404]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-63.94265930696526,\"lat\":46.38338827845777},\"year\":\"2021\",\"prov_code\":[\"11\"],\"prov_name_en\":[\"Prince Edward Island\"],\"cd_code\":[\"1103\"],\"cd_name_en\":[\"Prince\"],\"csd_code\":[\"1103022\"],\"csd_name_en\":[\"St. Nicholas\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Rural municipality\",\"prov_name_fr\":\"\\u00cele-du-Prince-\\u00c9douard\",\"cd_name_fr\":\"Prince\",\"csd_name_fr\":\"St. Nicholas\"}},{\"type\":\"Feature\",\"geometry\":{\"coordinates\":[[[-66.1257225121623,43.82089451240026],[-66.09708167543421,43.81845790930359],[-66.0893718063882,43.837118179524566],[-66.09076316049722,43.855771694711976],[-66.11642846351049,43.856548021488365],[-66.1257225121623,43.82089451240026]]],\"type\":\"Polygon\"},\"properties\":{\"geo_point_2d\":{\"lon\":-66.10631023249766,\"lat\":43.83751094771534},\"year\":\"2021\",\"prov_code\":[\"12\"],\"prov_name_en\":[\"Nova Scotia\"],\"cd_code\":[\"1202\"],\"cd_name_en\":[\"Yarmouth\"],\"csd_code\":[\"1202006\"],\"csd_name_en\":[\"Yarmouth\"],\"csd_area_code\":\"CAN\",\"csd_type\":\"Town\",\"prov_name_fr\":\"Nouvelle-\\u00c9cosse\",\"cd_name_fr\":\"Yarmouth\",\"csd_name_fr\":\"Yarmouth\"}}]}"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/features/canada-census-subdivision-millesime.geojson.meta",
    "content": "title: $:/geospatialdemo/features/canada-census-subdivision-millesime\ncaption: Canada Census Subdivisions Millesime\ntype: application/json\ntags: $:/tags/GeoFeature\ncolor: #f8f\npopup-template: $:/geospatialdemo/features/canada-census-subdivision-millesime/popupTemplate\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/features/denver-bikerental.tid",
    "content": "title: $:/geospatialdemo/features/denver/bikerental\ncaption: Denver bike rentals as ~GeoJSON points\ntags: $:/tags/GeoFeature\ntype: application/json\ncolor: blue\n\n {\n    \"type\": \"FeatureCollection\",\n    \"features\": [\n        {\n            \"geometry\": {\n                \"type\": \"Point\",\n                \"coordinates\": [\n                    -104.9998241,\n                    39.7471494\n                ]\n            },\n            \"type\": \"Feature\",\n            \"properties\": {\n                \"popupContent\": \"This is a B-Cycle Station. Come pick up a bike and pay by the hour. What a deal!\"\n            },\n            \"id\": 51\n        },\n        {\n            \"geometry\": {\n                \"type\": \"Point\",\n                \"coordinates\": [\n                    -104.9983545,\n                    39.7502833\n                ]\n            },\n            \"type\": \"Feature\",\n            \"properties\": {\n                \"popupContent\": \"This is a B-Cycle Station. Come pick up a bike and pay by the hour. What a deal!\"\n            },\n            \"id\": 52\n        },\n        {\n            \"geometry\": {\n                \"type\": \"Point\",\n                \"coordinates\": [\n                    -104.9963919,\n                    39.7444271\n                ]\n            },\n            \"type\": \"Feature\",\n            \"properties\": {\n                \"popupContent\": \"This is a B-Cycle Station. Come pick up a bike and pay by the hour. What a deal!\"\n            },\n            \"id\": 54\n        },\n        {\n            \"geometry\": {\n                \"type\": \"Point\",\n                \"coordinates\": [\n                    -104.9960754,\n                    39.7498956\n                ]\n            },\n            \"type\": \"Feature\",\n            \"properties\": {\n                \"popupContent\": \"This is a B-Cycle Station. Come pick up a bike and pay by the hour. What a deal!\"\n            },\n            \"id\": 55\n        },\n        {\n            \"geometry\": {\n                \"type\": \"Point\",\n                \"coordinates\": [\n                    -104.9933717,\n                    39.7477264\n                ]\n            },\n            \"type\": \"Feature\",\n            \"properties\": {\n                \"popupContent\": \"This is a B-Cycle Station. Come pick up a bike and pay by the hour. What a deal!\"\n            },\n            \"id\": 57\n        },\n        {\n            \"geometry\": {\n                \"type\": \"Point\",\n                \"coordinates\": [\n                    -104.9913392,\n                    39.7432392\n                ]\n            },\n            \"type\": \"Feature\",\n            \"properties\": {\n                \"popupContent\": \"This is a B-Cycle Station. Come pick up a bike and pay by the hour. What a deal!\"\n            },\n            \"id\": 58\n        },\n        {\n            \"geometry\": {\n                \"type\": \"Point\",\n                \"coordinates\": [\n                    -104.9788452,\n                    39.6933755\n                ]\n            },\n            \"type\": \"Feature\",\n            \"properties\": {\n                \"popupContent\": \"This is a B-Cycle Station. Come pick up a bike and pay by the hour. What a deal!\"\n            },\n            \"id\": 74\n        }\n    ]\n}"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/features/denver-campus.tid",
    "content": "title: $:/geospatialdemo/features/denver/campus\ncaption: Denver Auraria West Campus as ~GeoJSON multipolygons\ntags: $:/tags/GeoFeature\ntype: application/json\ncolor: purple\n\n{\n    \"type\": \"Feature\",\n    \"properties\": {\n        \"popupContent\": \"This is the Auraria West Campus\",\n        \"style\": {\n            \"weight\": 2,\n            \"color\": \"#999\",\n            \"opacity\": 1,\n            \"fillColor\": \"#B0DE5C\",\n            \"fillOpacity\": 0.8\n        }\n    },\n    \"geometry\": {\n        \"type\": \"MultiPolygon\",\n        \"coordinates\": [\n            [\n                [\n                    [-105.00432014465332, 39.74732195489861],\n                    [-105.00715255737305, 39.74620006835170],\n                    [-105.00921249389647, 39.74468219277038],\n                    [-105.01067161560059, 39.74362625960105],\n                    [-105.01195907592773, 39.74290029616054],\n                    [-105.00989913940431, 39.74078835902781],\n                    [-105.00758171081543, 39.74059036160317],\n                    [-105.00346183776855, 39.74059036160317],\n                    [-105.00097274780272, 39.74059036160317],\n                    [-105.00062942504881, 39.74072235994946],\n                    [-105.00020027160645, 39.74191033368865],\n                    [-105.00071525573731, 39.74276830198601],\n                    [-105.00097274780272, 39.74369225589818],\n                    [-105.00097274780272, 39.74461619742136],\n                    [-105.00123023986816, 39.74534214278395],\n                    [-105.00183105468751, 39.74613407445653],\n                    [-105.00432014465332, 39.74732195489861]\n                ],[\n                    [-105.00361204147337, 39.74354376414072],\n                    [-105.00301122665405, 39.74278480127163],\n                    [-105.00221729278564, 39.74316428375108],\n                    [-105.00283956527711, 39.74390674342741],\n                    [-105.00361204147337, 39.74354376414072]\n                ]\n            ],[\n                [\n                    [-105.00942707061768, 39.73989736613708],\n                    [-105.00942707061768, 39.73910536278566],\n                    [-105.00685214996338, 39.73923736397631],\n                    [-105.00384807586671, 39.73910536278566],\n                    [-105.00174522399902, 39.73903936209552],\n                    [-105.00041484832764, 39.73910536278566],\n                    [-105.00041484832764, 39.73979836621592],\n                    [-105.00535011291504, 39.73986436617916],\n                    [-105.00942707061768, 39.73989736613708]\n                ]\n            ]\n        ]\n    }\n}"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/features/denver-freebus.tid",
    "content": "title: $:/geospatialdemo/features/denver/freebus\ncaption: Denver free bus routes as ~GeoJSON linestrings\ntags: $:/tags/GeoFeature\ntype: application/json\ncolor: green\n\n{\n    \"type\": \"FeatureCollection\",\n    \"features\": [\n        {\n            \"type\": \"Feature\",\n            \"geometry\": {\n                \"type\": \"LineString\",\n                \"coordinates\": [\n                    [-105.00341892242432, 39.75383843460583],\n                    [-105.0008225440979, 39.751891803969535]\n                ]\n            },\n            \"properties\": {\n                \"popupContent\": \"This is a free bus line that will take you across downtown.\",\n                \"underConstruction\": false\n            },\n            \"id\": 1\n        },\n        {\n            \"type\": \"Feature\",\n            \"geometry\": {\n                \"type\": \"LineString\",\n                \"coordinates\": [\n                    [-105.0008225440979, 39.751891803969535],\n                    [-104.99820470809937, 39.74979664004068]\n                ]\n            },\n            \"properties\": {\n                \"popupContent\": \"This is a free bus line that will take you across downtown.\",\n                \"underConstruction\": true\n            },\n            \"id\": 2\n        },\n        {\n            \"type\": \"Feature\",\n            \"geometry\": {\n                \"type\": \"LineString\",\n                \"coordinates\": [\n                    [-104.99820470809937, 39.74979664004068],\n                    [-104.98689651489258, 39.741052354709055]\n                ]\n            },\n            \"properties\": {\n                \"popupContent\": \"This is a free bus line that will take you across downtown.\",\n                \"underConstruction\": false\n            },\n            \"id\": 3\n        }\n    ]\n}"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/features/denver-lightrail.tid",
    "content": "title: $:/geospatialdemo/features/denver/lightrail\ncaption: Denver light rail stops as ~GeoJSON points\ntags: $:/tags/GeoFeature\ntype: application/json\ncolor: red\n\n{\n    \"type\": \"FeatureCollection\",\n    \"features\": [\n        {\n            \"type\": \"Feature\",\n            \"properties\": {\n                \"popupContent\": \"18th & California Light Rail Stop\"\n            },\n            \"geometry\": {\n                \"type\": \"Point\",\n                \"coordinates\": [-104.98999178409576, 39.74683938093904]\n            }\n        },{\n            \"type\": \"Feature\",\n            \"properties\": {\n                \"popupContent\": \"20th & Welton Light Rail Stop\"\n            },\n            \"geometry\": {\n                \"type\": \"Point\",\n                \"coordinates\": [-104.98689115047453, 39.747924136466565]\n            }\n        }\n    ]\n}"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/features/harvard-glb-volc-geojson-popuptemplate.tid",
    "content": "title: $:/geospatialdemo/features/harvard-volcanoes-of-the-world/popupTemplate\n\n!!! Harvard Volcanoes of the World\n\n|Number |<$text text={{{ [<feature>jsonget[properties],[NUMBER_]] }}}/> |\n|Name |<$text text={{{ [<feature>jsonget[properties],[NAME_]] }}}/> |\n|Location |<$text text={{{ [<feature>jsonget[properties],[LOCATION]] }}}/> |\n|Type |<$text text={{{ [<feature>jsonget[properties],[TYPE_]] }}}/> |\n|Status |<$text text={{{ [<feature>jsonget[properties],[STATUS]] }}}/> |\n|Time Frame |<$text text={{{ [<feature>jsonget[properties],[TIME_FRAME]] }}}/> |\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/features/harvard-glb-volc-geojson.json",
    "content": "{\"type\":\"FeatureCollection\",\"totalFeatures\":1509,\"features\":[{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[6.85000007,50.16789464]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0100-01-\",\"NAME_\":\"WEST EIFE\",\"LOCATION\":\"Germany\",\"LAT\":50.17,\"LON\":6.85,\"ELEV\":600,\"TYPE_\":\"Maars\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.2\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[2.75000007,45.49785949]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0100-02-\",\"NAME_\":\"CHAINE DE\",\"LOCATION\":\"France\",\"LAT\":45.5,\"LON\":2.75,\"ELEV\":1464,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.3\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[2.53000006,42.16786921]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0100-03-\",\"NAME_\":\"OLOT VOLC\",\"LOCATION\":\"Spain\",\"LAT\":42.17,\"LON\":2.53,\"ELEV\":893,\"TYPE_\":\"Pyroclast\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.4\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[10.8699999,43.24786285]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0101-001\",\"NAME_\":\"LARDERELL\",\"LOCATION\":\"Italy\",\"LAT\":43.25,\"LON\":10.87,\"ELEV\":500,\"TYPE_\":\"Explosion\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.5\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[11.62999999,42.89786467]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0101-002\",\"NAME_\":\"AMIATA\",\"LOCATION\":\"Italy\",\"LAT\":42.9,\"LON\":11.63,\"ELEV\":1738,\"TYPE_\":\"Lava dome\",\"STATUS\":\"Pleistoce\",\"TIME_FRAME\":\"Q\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.6\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[11.92999997,42.59786641]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0101-003\",\"NAME_\":\"VULSINI\",\"LOCATION\":\"Italy\",\"LAT\":42.6,\"LON\":11.93,\"ELEV\":800,\"TYPE_\":\"Caldera\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.7\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[12.7,41.72787263]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0101-004\",\"NAME_\":\"ALBANO, M\",\"LOCATION\":\"Italy\",\"LAT\":41.73,\"LON\":12.7,\"ELEV\":949,\"TYPE_\":\"Caldera\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.8\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[14.13899992,40.82488131]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0101-01=\",\"NAME_\":\"CAMPI FLE\",\"LOCATION\":\"Italy\",\"LAT\":40.827,\"LON\":14.139,\"ELEV\":458,\"TYPE_\":\"Caldera\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D5\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.9\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[14.42599993,40.81888133]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0101-02=\",\"NAME_\":\"VESUVIUS\",\"LOCATION\":\"Italy\",\"LAT\":40.821,\"LON\":14.426,\"ELEV\":1281,\"TYPE_\":\"Complex v\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.10\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[13.89799995,40.72788233]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0101-03=\",\"NAME_\":\"ISCHIA\",\"LOCATION\":\"Italy\",\"LAT\":40.73,\"LON\":13.898,\"ELEV\":789,\"TYPE_\":\"Complex v\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.11\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[15.21300004,38.78690851]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0101-04=\",\"NAME_\":\"STROMBOLI\",\"LOCATION\":\"Italy\",\"LAT\":38.789,\"LON\":15.213,\"ELEV\":926,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.12\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[14.95000002,38.47791352]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0101-041\",\"NAME_\":\"LIPARI\",\"LOCATION\":\"Italy\",\"LAT\":38.48,\"LON\":14.95,\"ELEV\":602,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.13\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[14.96199991,38.40191472]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0101-05=\",\"NAME_\":\"VULCANO\",\"LOCATION\":\"Italy\",\"LAT\":38.404,\"LON\":14.962,\"ELEV\":500,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.14\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[15.00400005,37.73192667]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0101-06=\",\"NAME_\":\"ETNA\",\"LOCATION\":\"Italy\",\"LAT\":37.734,\"LON\":15.004,\"ELEV\":3350,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.15\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[12.7,37.09793912]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0101-07=\",\"NAME_\":\"CAMPI FLE\",\"LOCATION\":\"Italy\",\"LAT\":37.1,\"LON\":12.7,\"ELEV\":-8,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.16\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[12.02000008,36.76794592]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0101-071\",\"NAME_\":\"PANTELLER\",\"LOCATION\":\"Italy\",\"LAT\":36.77,\"LON\":12.02,\"ELEV\":836,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.17\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[23.3360001,37.61292904]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0102-02=\",\"NAME_\":\"METHANA\",\"LOCATION\":\"Greece\",\"LAT\":37.615,\"LON\":23.336,\"ELEV\":760,\"TYPE_\":\"Lava dome\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.18\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[24.43899997,36.69694732]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0102-03=\",\"NAME_\":\"MILOS\",\"LOCATION\":\"Greece\",\"LAT\":36.699,\"LON\":24.439,\"ELEV\":751,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.19\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[25.39599994,36.40195369]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0102-04=\",\"NAME_\":\"SANTORINI\",\"LOCATION\":\"Greece\",\"LAT\":36.404,\"LON\":25.396,\"ELEV\":564,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.20\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[27.18000001,36.57795]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0102-05=\",\"NAME_\":\"NISYROS\",\"LOCATION\":\"Greece\",\"LAT\":36.58,\"LON\":27.18,\"ELEV\":698,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.21\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[27.10000004,36.62794885]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0102-051\",\"NAME_\":\"YALI\",\"LOCATION\":\"Greece\",\"LAT\":36.63,\"LON\":27.1,\"ELEV\":176,\"TYPE_\":\"Lava dome\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.22\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[27.25699995,36.82694468]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0102-06=\",\"NAME_\":\"KOS\",\"LOCATION\":\"Greece\",\"LAT\":36.829,\"LON\":27.257,\"ELEV\":430,\"TYPE_\":\"Fumarole\",\"STATUS\":\"Pleistoce\",\"TIME_FRAME\":\"Q\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.23\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[28.51999995,38.57791191]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0103-00-\",\"NAME_\":\"KULA\",\"LOCATION\":\"Turkey\",\"LAT\":38.58,\"LON\":28.52,\"ELEV\":750,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.24\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[33.64999998,37.6679279]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0103-001\",\"NAME_\":\"KARAPINAR\",\"LOCATION\":\"Turkey\",\"LAT\":37.67,\"LON\":33.65,\"ELEV\":1302,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.25\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[34.16999996,38.12791963]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0103-002\",\"NAME_\":\"HASAN DAG\",\"LOCATION\":\"Turkey\",\"LAT\":38.13,\"LON\":34.17,\"ELEV\":3253,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.26\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[34.57,38.24791748]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0103-003\",\"NAME_\":\"GOLLU DAG\",\"LOCATION\":\"Turkey\",\"LAT\":38.25,\"LON\":34.57,\"ELEV\":2143,\"TYPE_\":\"Lava dome\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.27\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[34.52000007,38.56791214]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0103-004\",\"NAME_\":\"ACIGOL-NE\",\"LOCATION\":\"Turkey\",\"LAT\":38.57,\"LON\":34.52,\"ELEV\":1689,\"TYPE_\":\"Maars\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.28\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[35.48000008,38.51791283]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0103-01=\",\"NAME_\":\"ERCIYES D\",\"LOCATION\":\"Turkey\",\"LAT\":38.52,\"LON\":35.48,\"ELEV\":3916,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.29\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[39.82999992,37.6679279]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0103-011\",\"NAME_\":\"KARACALID\",\"LOCATION\":\"Turkey\",\"LAT\":37.67,\"LON\":39.83,\"ELEV\":1957,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.30\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[42.02000007,38.64791079]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0103-02=\",\"NAME_\":\"NEMRUT DA\",\"LOCATION\":\"Turkey\",\"LAT\":38.65,\"LON\":42.02,\"ELEV\":3050,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.31\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[42.81999993,38.91790641]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0103-021\",\"NAME_\":\"SUPHAN DA\",\"LOCATION\":\"Turkey\",\"LAT\":38.92,\"LON\":42.82,\"ELEV\":4434,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.32\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[43.32999997,39.16790263]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0103-022\",\"NAME_\":\"GIREKOL\",\"LOCATION\":\"Turkey\",\"LAT\":39.17,\"LON\":43.33,\"ELEV\":0,\"TYPE_\":\"Unknown\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.33\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[43.83000007,39.3279002]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0103-03=\",\"NAME_\":\"TENDURUK\",\"LOCATION\":\"Turkey\",\"LAT\":39.33,\"LON\":43.83,\"ELEV\":3584,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.34\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[44.28000003,39.69789498]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0103-04-\",\"NAME_\":\"ARARAT, M\",\"LOCATION\":\"Turkey\",\"LAT\":39.7,\"LON\":44.28,\"ELEV\":5165,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.35\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[42.8999999,40.74788221]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0103-05-\",\"NAME_\":\"KARS PLAT\",\"LOCATION\":\"Turkey\",\"LAT\":40.75,\"LON\":42.9,\"ELEV\":3000,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.36\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[42.44999994,43.32786247]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0104-01-\",\"NAME_\":\"ELBRUS\",\"LOCATION\":\"Russia-SW\",\"LAT\":43.33,\"LON\":42.45,\"ELEV\":5633,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Tephrochr\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.37\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[44.50000004,42.69786566]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0104-02-\",\"NAME_\":\"KASBEK\",\"LOCATION\":\"Georgia\",\"LAT\":42.7,\"LON\":44.5,\"ELEV\":5050,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Tephrochr\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.38\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[43.99999995,42.54786659]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0104-03-\",\"NAME_\":\"KABARGIN\",\"LOCATION\":\"Georgia\",\"LAT\":42.55,\"LON\":44,\"ELEV\":3650,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.39\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[44.25,42.44786737]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0104-04-\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Georgia\",\"LAT\":42.45,\"LON\":44.25,\"ELEV\":3750,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.40\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[43.59999991,41.54787416]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0104-05-\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Georgia\",\"LAT\":41.55,\"LON\":43.6,\"ELEV\":3400,\"TYPE_\":\"Cones\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.41\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[44.1200001,40.54788432]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0104-06-\",\"NAME_\":\"ARAGATS\",\"LOCATION\":\"Armenia\",\"LAT\":40.55,\"LON\":44.12,\"ELEV\":4090,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.42\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[44.75000009,40.27288766]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0104-07-\",\"NAME_\":\"AGMAGAN-K\",\"LOCATION\":\"Armenia\",\"LAT\":40.275,\"LON\":44.75,\"ELEV\":3560,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.43\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[45.54199996,39.69789498]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0104-08-\",\"NAME_\":\"DAR-ALAGE\",\"LOCATION\":\"Armenia\",\"LAT\":39.7,\"LON\":45.542,\"ELEV\":3329,\"TYPE_\":\"Unknown\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.44\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[41.74199993,15.69888307]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-01=\",\"NAME_\":\"TEYR, DJE\",\"LOCATION\":\"Red Sea\",\"LAT\":15.7,\"LON\":41.742,\"ELEV\":244,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.45\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[42.17000006,15.07892287]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-02=\",\"NAME_\":\"ZUBAYR, J\",\"LOCATION\":\"Red Sea\",\"LAT\":15.08,\"LON\":42.17,\"ELEV\":191,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.46\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[39.81999998,15.04092529]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-03=\",\"NAME_\":\"JALUA\",\"LOCATION\":\"Ethiopia\",\"LAT\":15.042,\"LON\":39.82,\"ELEV\":713,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.47\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[39.92000004,14.87893571]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-04=\",\"NAME_\":\"ALID\",\"LOCATION\":\"Ethiopia\",\"LAT\":14.88,\"LON\":39.92,\"ELEV\":904,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.48\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[40.29999998,14.24097742]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-041\",\"NAME_\":\"DALLOL\",\"LOCATION\":\"Ethiopia\",\"LAT\":14.242,\"LON\":40.3,\"ELEV\":-48,\"TYPE_\":\"Explosion\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.49\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[40.40800004,13.97399511]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-05=\",\"NAME_\":\"GADA ALE\",\"LOCATION\":\"Ethiopia\",\"LAT\":13.975,\"LON\":40.408,\"ELEV\":287,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.50\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[40.41999993,13.91899864]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-051\",\"NAME_\":\"CATHERINE\",\"LOCATION\":\"Ethiopia\",\"LAT\":13.92,\"LON\":40.42,\"ELEV\":100,\"TYPE_\":\"Tuff ring\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.51\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[40.55000003,13.81900541]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-06=\",\"NAME_\":\"ALU\",\"LOCATION\":\"Ethiopia\",\"LAT\":13.82,\"LON\":40.55,\"ELEV\":429,\"TYPE_\":\"Fissure v\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.52\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[40.55000003,13.79100717]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-07=\",\"NAME_\":\"DALAFFILL\",\"LOCATION\":\"Ethiopia\",\"LAT\":13.792,\"LON\":40.55,\"ELEV\":613,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.53\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[40.59999995,13.72401162]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-071\",\"NAME_\":\"BORALE AL\",\"LOCATION\":\"Ethiopia\",\"LAT\":13.725,\"LON\":40.6,\"ELEV\":668,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.54\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[40.66999998,13.59902001]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-08=\",\"NAME_\":\"ERTA ALE\",\"LOCATION\":\"Ethiopia\",\"LAT\":13.6,\"LON\":40.67,\"ELEV\":613,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.55\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[40.62999999,13.51902537]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-09=\",\"NAME_\":\"ALE BAGU\",\"LOCATION\":\"Ethiopia\",\"LAT\":13.52,\"LON\":40.63,\"ELEV\":1031,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.56\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[40.7199999,13.4990266]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-091\",\"NAME_\":\"HAYLI GUB\",\"LOCATION\":\"Ethiopia\",\"LAT\":13.5,\"LON\":40.72,\"ELEV\":521,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.57\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[41.80800006,13.57902124]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-10=\",\"NAME_\":\"DUBBI\",\"LOCATION\":\"Ethiopia\",\"LAT\":13.58,\"LON\":41.808,\"ELEV\":1625,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.58\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[41.7,13.36903518]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-101\",\"NAME_\":\"NABRO\",\"LOCATION\":\"Ethiopia\",\"LAT\":13.37,\"LON\":41.7,\"ELEV\":2218,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.59\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[41.65000007,13.26904202]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-102\",\"NAME_\":\"MALLAHLE\",\"LOCATION\":\"Ethiopia\",\"LAT\":13.27,\"LON\":41.65,\"ELEV\":1875,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.60\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[41.72500007,13.17904793]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-103\",\"NAME_\":\"SORKALE\",\"LOCATION\":\"Ethiopia\",\"LAT\":13.18,\"LON\":41.725,\"ELEV\":1611,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.61\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[41.59999994,13.0690553]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-104\",\"NAME_\":\"ASAVYO\",\"LOCATION\":\"Ethiopia\",\"LAT\":13.07,\"LON\":41.6,\"ELEV\":1200,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.62\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[41.14999998,13.09905333]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-105\",\"NAME_\":\"MAT ALA\",\"LOCATION\":\"Ethiopia\",\"LAT\":13.1,\"LON\":41.15,\"ELEV\":523,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.63\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[41.07000001,13.27904129]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-106\",\"NAME_\":\"TAT ALI\",\"LOCATION\":\"Ethiopia\",\"LAT\":13.28,\"LON\":41.07,\"ELEV\":700,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.64\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[40.9800001,13.29904005]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-107\",\"NAME_\":\"BORAWLI\",\"LOCATION\":\"Ethiopia\",\"LAT\":13.3,\"LON\":40.98,\"ELEV\":812,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.65\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[40.85,13.07905478]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-11=\",\"NAME_\":\"AFDERA\",\"LOCATION\":\"Ethiopia\",\"LAT\":13.08,\"LON\":40.85,\"ELEV\":1295,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.66\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[40.19999992,13.01905874]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-111\",\"NAME_\":\"MA ALALTA\",\"LOCATION\":\"Ethiopia\",\"LAT\":13.02,\"LON\":40.2,\"ELEV\":1815,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.67\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[40.56999991,12.87906811]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-112\",\"NAME_\":\"ALAYTA\",\"LOCATION\":\"Ethiopia\",\"LAT\":12.88,\"LON\":40.57,\"ELEV\":1501,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.68\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[40.48000001,12.59908715]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-113\",\"NAME_\":\"DABBAHU\",\"LOCATION\":\"Ethiopia\",\"LAT\":12.6,\"LON\":40.48,\"ELEV\":1442,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.69\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[40.07000003,12.37910206]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-114\",\"NAME_\":\"DABBAYRA\",\"LOCATION\":\"Ethiopia\",\"LAT\":12.38,\"LON\":40.07,\"ELEV\":1302,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.70\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[40.81999996,12.16911628]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-115\",\"NAME_\":\"HARARO MA\",\"LOCATION\":\"Ethiopia\",\"LAT\":12.17,\"LON\":40.82,\"ELEV\":600,\"TYPE_\":\"Fissure v\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.71\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[40.25000005,11.72914636]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-116\",\"NAME_\":\"GROPPO\",\"LOCATION\":\"Ethiopia\",\"LAT\":11.73,\"LON\":40.25,\"ELEV\":930,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.72\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[41.2079999,11.87913607]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-12=\",\"NAME_\":\"KURUB\",\"LOCATION\":\"Ethiopia\",\"LAT\":11.88,\"LON\":41.208,\"ELEV\":625,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.73\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[41.44999995,11.62915317]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-121\",\"NAME_\":\"BORAWLI C\",\"LOCATION\":\"Ethiopia\",\"LAT\":11.63,\"LON\":41.45,\"ELEV\":875,\"TYPE_\":\"Lava dome\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.74\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[42.2000001,12.37910206]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-122\",\"NAME_\":\"MANDA-INA\",\"LOCATION\":\"Ethiopia\",\"LAT\":12.38,\"LON\":42.2,\"ELEV\":600,\"TYPE_\":\"Fissure v\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.75\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[42.40000001,12.46909586]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-123\",\"NAME_\":\"MOUSA ALL\",\"LOCATION\":\"Ethiopia\",\"LAT\":12.47,\"LON\":42.4,\"ELEV\":2028,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.76\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[42.5299999,12.5490904]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-124\",\"NAME_\":\"GUFA\",\"LOCATION\":\"Ethiopia\",\"LAT\":12.55,\"LON\":42.53,\"ELEV\":600,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.77\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[42.43000005,12.94906342]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-125\",\"NAME_\":\"ASSAB VOL\",\"LOCATION\":\"Ethiopia\",\"LAT\":12.95,\"LON\":42.43,\"ELEV\":987,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.78\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[42.47000003,11.57915668]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-126\",\"NAME_\":\"ARDOUKOBA\",\"LOCATION\":\"Djibouti\",\"LAT\":11.58,\"LON\":42.47,\"ELEV\":298,\"TYPE_\":\"Fissure v\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.79\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[42.0499999,11.5291602]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-127\",\"NAME_\":\"TIHO\",\"LOCATION\":\"Djibouti\",\"LAT\":11.53,\"LON\":42.05,\"ELEV\":500,\"TYPE_\":\"Fumarole\",\"STATUS\":\"Pleistoce\",\"TIME_FRAME\":\"Q\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.80\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[42.2000001,11.41916777]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-13=\",\"NAME_\":\"GARBES\",\"LOCATION\":\"Djibouti\",\"LAT\":11.42,\"LON\":42.2,\"ELEV\":1000,\"TYPE_\":\"Fumarole\",\"STATUS\":\"Pleistoce\",\"TIME_FRAME\":\"Q\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.81\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[41.8300001,11.24917943]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-14=\",\"NAME_\":\"BOINA\",\"LOCATION\":\"Djibouti\",\"LAT\":11.25,\"LON\":41.83,\"ELEV\":300,\"TYPE_\":\"Fumarole\",\"STATUS\":\"Pleistoce\",\"TIME_FRAME\":\"Q\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.82\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[41.62999998,11.27917739]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-141\",\"NAME_\":\"DAMA ALI\",\"LOCATION\":\"Ethiopia\",\"LAT\":11.28,\"LON\":41.63,\"ELEV\":1068,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"D5\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.83\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[41.51999997,11.26917814]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-142\",\"NAME_\":\"ASMARA\",\"LOCATION\":\"Ethiopia\",\"LAT\":11.27,\"LON\":41.52,\"ELEV\":500,\"TYPE_\":\"Pyroclast\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.84\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[41.26999992,11.07919111]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-15=\",\"NAME_\":\"GABILLEMA\",\"LOCATION\":\"Ethiopia\",\"LAT\":11.08,\"LON\":41.27,\"ELEV\":1459,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.85\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[41.04199992,10.579226]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-151\",\"NAME_\":\"YANGUDI\",\"LOCATION\":\"Ethiopia\",\"LAT\":10.58,\"LON\":41.042,\"ELEV\":1383,\"TYPE_\":\"Complex v\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.86\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[40.70199996,10.08126092]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-16=\",\"NAME_\":\"AYELU\",\"LOCATION\":\"Ethiopia\",\"LAT\":10.082,\"LON\":40.702,\"ELEV\":2145,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.87\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[40.84000006,10.06926167]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-17=\",\"NAME_\":\"ADWA\",\"LOCATION\":\"Ethiopia\",\"LAT\":10.07,\"LON\":40.84,\"ELEV\":1733,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.88\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[40.33000002,9.77928205]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-171\",\"NAME_\":\"HERTALI\",\"LOCATION\":\"Ethiopia\",\"LAT\":9.78,\"LON\":40.33,\"ELEV\":900,\"TYPE_\":\"Fissure v\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.89\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[40.28000009,9.56929702]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-172\",\"NAME_\":\"LIADO HAY\",\"LOCATION\":\"Ethiopia\",\"LAT\":9.57,\"LON\":40.28,\"ELEV\":878,\"TYPE_\":\"Maars\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.90\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[40.1300001,9.34931258]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-18=\",\"NAME_\":\"DOFEN\",\"LOCATION\":\"Ethiopia\",\"LAT\":9.35,\"LON\":40.13,\"ELEV\":1151,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.91\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[39.92999998,8.97433905]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-19=\",\"NAME_\":\"FENTALE\",\"LOCATION\":\"Ethiopia\",\"LAT\":8.975,\"LON\":39.93,\"ELEV\":2007,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.92\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[39.74999996,8.94934097]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-191\",\"NAME_\":\"BERU\",\"LOCATION\":\"Ethiopia\",\"LAT\":8.95,\"LON\":39.75,\"ELEV\":1100,\"TYPE_\":\"Unknown\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.93\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[39.69200003,8.79935167]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-20-\",\"NAME_\":\"KONE\",\"LOCATION\":\"Ethiopia\",\"LAT\":8.8,\"LON\":39.692,\"ELEV\":1619,\"TYPE_\":\"Calderas\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.94\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[39.63000001,8.69935875]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-201\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Ethiopia\",\"LAT\":8.7,\"LON\":39.63,\"ELEV\":1300,\"TYPE_\":\"Pyroclast\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.95\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[39.47500005,8.55736891]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-21-\",\"NAME_\":\"BOSET-BER\",\"LOCATION\":\"Ethiopia\",\"LAT\":8.558,\"LON\":39.475,\"ELEV\":2447,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.96\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[38.97999992,8.779353]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-22-\",\"NAME_\":\"BISHOFTU\",\"LOCATION\":\"Ethiopia\",\"LAT\":8.78,\"LON\":38.98,\"ELEV\":1850,\"TYPE_\":\"Fissure v\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.97\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[38.95000009,8.6193645]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-221\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Ethiopia\",\"LAT\":8.62,\"LON\":38.95,\"ELEV\":1800,\"TYPE_\":\"Fissure v\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.98\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[39.34999992,8.42937812]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-222\",\"NAME_\":\"SODORE\",\"LOCATION\":\"Ethiopia\",\"LAT\":8.43,\"LON\":39.35,\"ELEV\":1765,\"TYPE_\":\"Pyroclast\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.99\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[39.18000005,8.34938389]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-23-\",\"NAME_\":\"GEDAMSA C\",\"LOCATION\":\"Ethiopia\",\"LAT\":8.35,\"LON\":39.18,\"ELEV\":1984,\"TYPE_\":\"Caldera\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.100\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[39.03000006,8.26938945]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-24-\",\"NAME_\":\"BORA-BERI\",\"LOCATION\":\"Ethiopia\",\"LAT\":8.27,\"LON\":39.03,\"ELEV\":2285,\"TYPE_\":\"Pumice co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.101\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[39.12999991,8.15739754]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-25-\",\"NAME_\":\"TULLU MOJ\",\"LOCATION\":\"Ethiopia\",\"LAT\":8.158,\"LON\":39.13,\"ELEV\":2349,\"TYPE_\":\"Pumice co\",\"STATUS\":\"Anthropol\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.102\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[39.07000004,8.0694039]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-251\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Ethiopia\",\"LAT\":8.07,\"LON\":39.07,\"ELEV\":1800,\"TYPE_\":\"Fissure v\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.103\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[38.93,7.94941259]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-252\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Ethiopia\",\"LAT\":7.95,\"LON\":38.93,\"ELEV\":1889,\"TYPE_\":\"Fissure v\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.104\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[38.34999993,8.04940525]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-26-\",\"NAME_\":\"BUTAJIRI-\",\"LOCATION\":\"Ethiopia\",\"LAT\":8.05,\"LON\":38.35,\"ELEV\":2281,\"TYPE_\":\"Fissure v\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.105\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[38.78000001,7.76942553]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-27-\",\"NAME_\":\"ALUTU\",\"LOCATION\":\"Ethiopia\",\"LAT\":7.77,\"LON\":38.78,\"ELEV\":2335,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.106\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[38.55000006,7.46944722]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-28-\",\"NAME_\":\"SHALA\",\"LOCATION\":\"Ethiopia\",\"LAT\":7.47,\"LON\":38.55,\"ELEV\":2075,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.107\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[38.4299999,7.17946818]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-29-\",\"NAME_\":\"CORBETTI\",\"LOCATION\":\"Ethiopia\",\"LAT\":7.18,\"LON\":38.43,\"ELEV\":2320,\"TYPE_\":\"Caldera\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.108\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[38.10000009,7.06947616]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-291\",\"NAME_\":\"BILATE RI\",\"LOCATION\":\"Ethiopia\",\"LAT\":7.07,\"LON\":38.1,\"ELEV\":1700,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.109\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[35.42999994,7.4194507]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-292\",\"NAME_\":\"TEPI\",\"LOCATION\":\"Ethiopia\",\"LAT\":7.42,\"LON\":35.43,\"ELEV\":2728,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.110\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[37.82999995,6.7794972]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-293\",\"NAME_\":\"HOBICHA C\",\"LOCATION\":\"Ethiopia\",\"LAT\":6.78,\"LON\":37.83,\"ELEV\":1800,\"TYPE_\":\"Caldera\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.111\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[38.11999998,6.64950677]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-30-\",\"NAME_\":\"CHIRACHA\",\"LOCATION\":\"Ethiopia\",\"LAT\":6.65,\"LON\":38.12,\"ELEV\":1650,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.112\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[37.56999996,5.91956005]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-31-\",\"NAME_\":\"TOSA SUCH\",\"LOCATION\":\"Ethiopia\",\"LAT\":5.92,\"LON\":37.57,\"ELEV\":1650,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.113\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[37.67000002,5.64957971]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-311\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Ethiopia\",\"LAT\":5.65,\"LON\":37.67,\"ELEV\":1200,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.114\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[35.8799999,5.09962034]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-32-\",\"NAME_\":\"KORATH RA\",\"LOCATION\":\"Ethiopia\",\"LAT\":5.1,\"LON\":35.88,\"ELEV\":912,\"TYPE_\":\"Tuff cone\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.115\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[37.41999997,4.07969562]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0201-33-\",\"NAME_\":\"MEGA BASA\",\"LOCATION\":\"Ethiopia\",\"LAT\":4.08,\"LON\":37.42,\"ELEV\":1067,\"TYPE_\":\"Pyroclast\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.116\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[36.04999999,4.06969642]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0202-001\",\"NAME_\":\"NORTH ISL\",\"LOCATION\":\"Africa-E\",\"LAT\":4.07,\"LON\":36.05,\"ELEV\":520,\"TYPE_\":\"Tuff cone\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.117\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[36.04199999,3.49973859]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0202-01=\",\"NAME_\":\"CENTRAL I\",\"LOCATION\":\"Africa-E\",\"LAT\":3.5,\"LON\":36.042,\"ELEV\":550,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.118\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[36.60000001,2.62980346]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0202-02=\",\"NAME_\":\"SOUTH ISL\",\"LOCATION\":\"Africa-E\",\"LAT\":2.63,\"LON\":36.6,\"ELEV\":700,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.119\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[37.96999999,2.31982645]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0202-021\",\"NAME_\":\"MARSABIT\",\"LOCATION\":\"Africa-E\",\"LAT\":2.32,\"LON\":37.97,\"ELEV\":1707,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.120\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[36.56999997,2.31982645]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0202-03=\",\"NAME_\":\"BARRIER,\",\"LOCATION\":\"Africa-E\",\"LAT\":2.32,\"LON\":36.57,\"ELEV\":1032,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.121\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[36.27,1.89985788]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0202-04-\",\"NAME_\":\"NAMARUNU\",\"LOCATION\":\"Africa-E\",\"LAT\":1.9,\"LON\":36.27,\"ELEV\":817,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Tephrochr\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.122\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[37.89999997,1.56988252]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0202-05-\",\"NAME_\":\"SEGERERUA\",\"LOCATION\":\"Africa-E\",\"LAT\":1.57,\"LON\":37.9,\"ELEV\":699,\"TYPE_\":\"Pyroclast\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.123\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[36.33000008,1.49988773]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0202-051\",\"NAME_\":\"EMURUANGO\",\"LOCATION\":\"Africa-E\",\"LAT\":1.5,\"LON\":36.33,\"ELEV\":1328,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.124\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[36.23000001,1.149914]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0202-052\",\"NAME_\":\"SILALI\",\"LOCATION\":\"Africa-E\",\"LAT\":1.15,\"LON\":36.23,\"ELEV\":1528,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Ar/Ar\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.125\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[36.18000009,0.91993105]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0202-053\",\"NAME_\":\"PAKA\",\"LOCATION\":\"Africa-E\",\"LAT\":0.92,\"LON\":36.18,\"ELEV\":1697,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Ar/Ar\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.126\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[36.12000001,0.76994228]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0202-054\",\"NAME_\":\"KOROSI\",\"LOCATION\":\"Africa-E\",\"LAT\":0.77,\"LON\":36.12,\"ELEV\":1446,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.127\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[36.08000003,0.62995293]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0202-055\",\"NAME_\":\"OL KOKWE\",\"LOCATION\":\"Africa-E\",\"LAT\":0.63,\"LON\":36.08,\"ELEV\":1130,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.128\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[37.86999993,0.22998283]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0202-056\",\"NAME_\":\"NYAMBENI\",\"LOCATION\":\"Africa-E\",\"LAT\":0.23,\"LON\":37.87,\"ELEV\":750,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.129\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[36.07000008,-0.19998506]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0202-06=\",\"NAME_\":\"MENENGAI\",\"LOCATION\":\"Africa-E\",\"LAT\":-0.2,\"LON\":36.07,\"ELEV\":2278,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Tephrochr\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.130\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[34.49999998,-0.37997161]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0202-07=\",\"NAME_\":\"HOMA MOUN\",\"LOCATION\":\"Africa-E\",\"LAT\":-0.38,\"LON\":34.5,\"ELEV\":1751,\"TYPE_\":\"Complex v\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.131\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[36.27,-0.51996118]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0202-071\",\"NAME_\":\"ELMENTEIT\",\"LOCATION\":\"Africa-E\",\"LAT\":-0.52,\"LON\":36.27,\"ELEV\":2126,\"TYPE_\":\"Pyroclast\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.132\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[36.23000001,-0.62995295]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0202-08=\",\"NAME_\":\"EBURRU, O\",\"LOCATION\":\"Africa-E\",\"LAT\":-0.63,\"LON\":36.23,\"ELEV\":2856,\"TYPE_\":\"Complex v\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.133\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[36.29200004,-0.90393227]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0202-09=\",\"NAME_\":\"OLKARIA\",\"LOCATION\":\"Africa-E\",\"LAT\":-0.904,\"LON\":36.292,\"ELEV\":2434,\"TYPE_\":\"Pumice co\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D4\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.134\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[36.45000002,-0.91993107]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0202-10=\",\"NAME_\":\"LONGONOT\",\"LOCATION\":\"Africa-E\",\"LAT\":-0.92,\"LON\":36.45,\"ELEV\":2776,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Anthropol\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.135\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[36.34999996,-1.17491201]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0202-11=\",\"NAME_\":\"SUSWA\",\"LOCATION\":\"Africa-E\",\"LAT\":-1.175,\"LON\":36.35,\"ELEV\":2356,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.136\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[35.90199995,-2.75079449]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0202-12=\",\"NAME_\":\"LENGAI, O\",\"LOCATION\":\"Africa-E\",\"LAT\":-2.751,\"LON\":35.902,\"ELEV\":2890,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.137\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[37.88000008,-2.67979968]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0202-13=\",\"NAME_\":\"CHYULU HI\",\"LOCATION\":\"Africa-E\",\"LAT\":-2.68,\"LON\":37.88,\"ELEV\":2188,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Anthropol\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.138\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[37.34999995,-3.06977073]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0202-15=\",\"NAME_\":\"KILIMANJA\",\"LOCATION\":\"Africa-E\",\"LAT\":-3.07,\"LON\":37.35,\"ELEV\":5895,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.139\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[36.75,-3.24975715]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0202-16=\",\"NAME_\":\"MERU\",\"LOCATION\":\"Africa-E\",\"LAT\":-3.25,\"LON\":36.75,\"ELEV\":4565,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.140\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[31.91999994,-4.86963715]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0202-161\",\"NAME_\":\"IGWISI HI\",\"LOCATION\":\"Africa-E\",\"LAT\":-4.87,\"LON\":31.92,\"ELEV\":0,\"TYPE_\":\"Tuff cone\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.141\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[33.57000001,-8.62936375]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0202-162\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Africa-E\",\"LAT\":-8.63,\"LON\":33.57,\"ELEV\":0,\"TYPE_\":\"Pyroclast\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.142\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[33.79999997,-8.74935513]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0202-163\",\"NAME_\":\"SW USANGU\",\"LOCATION\":\"Africa-E\",\"LAT\":-8.75,\"LON\":33.8,\"ELEV\":2179,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.143\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[33.57000001,-8.96933945]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0202-164\",\"NAME_\":\"NGOZI\",\"LOCATION\":\"Africa-E\",\"LAT\":-8.97,\"LON\":33.57,\"ELEV\":2622,\"TYPE_\":\"Caldera\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.144\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[33.39999993,-8.92934232]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0202-165\",\"NAME_\":\"IZUMBWE-M\",\"LOCATION\":\"Africa-E\",\"LAT\":-8.93,\"LON\":33.4,\"ELEV\":1568,\"TYPE_\":\"Pyroclast\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.145\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[33.67000008,-9.12932821]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0202-166\",\"NAME_\":\"RUNGWE\",\"LOCATION\":\"Africa-E\",\"LAT\":-9.13,\"LON\":33.67,\"ELEV\":2961,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.146\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[33.78000008,-9.22932096]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0202-17=\",\"NAME_\":\"KIEYO\",\"LOCATION\":\"Africa-E\",\"LAT\":-9.23,\"LON\":33.78,\"ELEV\":2175,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.147\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[30.38000009,0.7299453]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0203-001\",\"NAME_\":\"RUSEKERE\",\"LOCATION\":\"Africa-C\",\"LAT\":0.73,\"LON\":30.38,\"ELEV\":1615,\"TYPE_\":\"Tuff cone\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.148\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[30.24999999,0.6999475]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0203-002\",\"NAME_\":\"FORT PORT\",\"LOCATION\":\"Africa-C\",\"LAT\":0.7,\"LON\":30.25,\"ELEV\":1524,\"TYPE_\":\"Tuff cone\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.149\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[30.24999999,0.44996637]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0203-003\",\"NAME_\":\"KYATWA VO\",\"LOCATION\":\"Africa-C\",\"LAT\":0.45,\"LON\":30.25,\"ELEV\":1430,\"TYPE_\":\"Tuff cone\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.150\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[29.91999997,-0.07999409]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0203-004\",\"NAME_\":\"KATWE-KIK\",\"LOCATION\":\"Africa-C\",\"LAT\":-0.08,\"LON\":29.92,\"ELEV\":1067,\"TYPE_\":\"Tuff cone\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.151\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[30.0799999,-0.19998506]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0203-005\",\"NAME_\":\"BUNYARUGU\",\"LOCATION\":\"Africa-C\",\"LAT\":-0.2,\"LON\":30.08,\"ELEV\":1554,\"TYPE_\":\"Explosion\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.152\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[30.17999996,-0.46996478]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0203-006\",\"NAME_\":\"KATUNGA\",\"LOCATION\":\"Africa-C\",\"LAT\":-0.47,\"LON\":30.18,\"ELEV\":1707,\"TYPE_\":\"Tuff cone\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.153\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[29.32999997,-0.92993047]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0203-01=\",\"NAME_\":\"MAY-YA-MO\",\"LOCATION\":\"Africa-C\",\"LAT\":-0.93,\"LON\":29.33,\"ELEV\":950,\"TYPE_\":\"Fumarole\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.154\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[29.20000008,-1.40789457]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0203-02=\",\"NAME_\":\"NYAMURAGI\",\"LOCATION\":\"Africa-C\",\"LAT\":-1.408,\"LON\":29.2,\"ELEV\":3058,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.155\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[29.25,-1.51988636]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0203-03=\",\"NAME_\":\"NYIRAGONG\",\"LOCATION\":\"Africa-C\",\"LAT\":-1.52,\"LON\":29.25,\"ELEV\":3469,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.156\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[29.44999991,-1.49988776]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0203-04-\",\"NAME_\":\"KARISIMBI\",\"LOCATION\":\"Africa-C\",\"LAT\":-1.5,\"LON\":29.45,\"ELEV\":4507,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.157\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[29.49200005,-1.46988996]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0203-05-\",\"NAME_\":\"VISOKE\",\"LOCATION\":\"Africa-C\",\"LAT\":-1.47,\"LON\":29.492,\"ELEV\":3711,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.158\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[29.66999992,-1.37989678]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0203-06-\",\"NAME_\":\"MUHAVURA\",\"LOCATION\":\"Africa-C\",\"LAT\":-1.38,\"LON\":29.67,\"ELEV\":4127,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.159\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[29.72000006,-1.22990801]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0203-07-\",\"NAME_\":\"BUFUMBIRA\",\"LOCATION\":\"Africa-C\",\"LAT\":-1.23,\"LON\":29.72,\"ELEV\":2440,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.160\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[28.7499999,-2.31982647]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0203-08-\",\"NAME_\":\"TSHIBINDA\",\"LOCATION\":\"Africa-C\",\"LAT\":-2.32,\"LON\":28.75,\"ELEV\":1460,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.161\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[11.99999999,10.74921423]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0204-001\",\"NAME_\":\"BIU PLATE\",\"LOCATION\":\"Africa-W\",\"LAT\":10.75,\"LON\":12,\"ELEV\":0,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.162\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[13.66999994,7.24946313]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0204-002\",\"NAME_\":\"NGAOUNDER\",\"LOCATION\":\"Africa-W\",\"LAT\":7.25,\"LON\":13.67,\"ELEV\":0,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.163\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[10.4999999,6.24953592]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0204-003\",\"NAME_\":\"OKU VOLC\",\"LOCATION\":\"Africa-W\",\"LAT\":6.25,\"LON\":10.5,\"ELEV\":3011,\"TYPE_\":\"Maars\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D5\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.164\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[9.82999993,5.02962547]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0204-004\",\"NAME_\":\"MANENGOUB\",\"LOCATION\":\"Africa-W\",\"LAT\":5.03,\"LON\":9.83,\"ELEV\":2411,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.165\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[9.1699999,4.20268648]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0204-01=\",\"NAME_\":\"CAMEROON,\",\"LOCATION\":\"Africa-W\",\"LAT\":4.203,\"LON\":9.17,\"ELEV\":4095,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.166\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[8.74999998,3.57973262]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0204-02-\",\"NAME_\":\"SANTA ISA\",\"LOCATION\":\"Africa-W\",\"LAT\":3.58,\"LON\":8.75,\"ELEV\":3007,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.167\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[8.63000003,3.34974975]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0204-03-\",\"NAME_\":\"SAN JOAQU\",\"LOCATION\":\"Africa-W\",\"LAT\":3.35,\"LON\":8.63,\"ELEV\":2009,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.168\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[8.52000003,3.34974975]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0204-04-\",\"NAME_\":\"SAN CARLO\",\"LOCATION\":\"Africa-W\",\"LAT\":3.35,\"LON\":8.52,\"ELEV\":2260,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.169\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[6.71999997,0.319976]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0204-05-\",\"NAME_\":\"SAO TOME\",\"LOCATION\":\"Africa-W\",\"LAT\":0.32,\"LON\":6.72,\"ELEV\":2024,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.170\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[17.50000001,27.24825534]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0205-00-\",\"NAME_\":\"HARUJ\",\"LOCATION\":\"Africa-N\",\"LAT\":27.25,\"LON\":17.5,\"ELEV\":1200,\"TYPE_\":\"Scoria co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.171\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[16.32999994,21.32854746]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0205-001\",\"NAME_\":\"TOH, TARS\",\"LOCATION\":\"Africa-N\",\"LAT\":21.33,\"LON\":16.33,\"ELEV\":2000,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.172\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[16.4500001,21.02856405]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0205-01=\",\"NAME_\":\"TOUSSIDE,\",\"LOCATION\":\"Africa-N\",\"LAT\":21.03,\"LON\":16.45,\"ELEV\":3265,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.173\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[17.28,20.91857016]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0205-02=\",\"NAME_\":\"VOON, TAR\",\"LOCATION\":\"Africa-N\",\"LAT\":20.92,\"LON\":17.28,\"ELEV\":3100,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.174\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[18.53000004,19.79863368]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0205-021\",\"NAME_\":\"KOUSSI, E\",\"LOCATION\":\"Africa-N\",\"LAT\":19.8,\"LON\":18.53,\"ELEV\":3415,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.175\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[24.26999996,12.94906342]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0205-03-\",\"NAME_\":\"MARRA, JE\",\"LOCATION\":\"Africa-N\",\"LAT\":12.95,\"LON\":24.27,\"ELEV\":3042,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.176\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[25.80000008,14.49896054]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0205-04-\",\"NAME_\":\"KUTUM VOL\",\"LOCATION\":\"Africa-N\",\"LAT\":14.5,\"LON\":25.8,\"ELEV\":0,\"TYPE_\":\"Scoria co\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.177\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[26.17000008,15.12891957]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0205-05-\",\"NAME_\":\"MEIDOB VO\",\"LOCATION\":\"Africa-N\",\"LAT\":15.13,\"LON\":26.17,\"ELEV\":1000,\"TYPE_\":\"Scoria co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.178\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[32.75000006,18.32872009]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0205-06-\",\"NAME_\":\"BAYUDA VO\",\"LOCATION\":\"Africa-N\",\"LAT\":18.33,\"LON\":32.75,\"ELEV\":0,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.179\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[33.79999997,18.1987278]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0205-07-\",\"NAME_\":\"UMM MARAF\",\"LOCATION\":\"Africa-N\",\"LAT\":18.2,\"LON\":33.8,\"ELEV\":0,\"TYPE_\":\"Scoria co\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.180\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[40.85,36.52795094]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0300-01-\",\"NAME_\":\"SHARAT KO\",\"LOCATION\":\"Syria\",\"LAT\":36.53,\"LON\":40.85,\"ELEV\":534,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.181\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[37.00000005,36.66794798]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0300-02-\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Syria\",\"LAT\":36.67,\"LON\":37,\"ELEV\":0,\"TYPE_\":\"Unknown\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.182\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[36.92500005,33.30603366]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0300-03-\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Syria\",\"LAT\":33.308,\"LON\":36.925,\"ELEV\":945,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.183\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[36.2579999,33.14803838]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0300-04-\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Syria\",\"LAT\":33.15,\"LON\":36.258,\"ELEV\":1197,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.184\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[37.15000003,33.07804046]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0300-05-\",\"NAME_\":\"ES SAFA\",\"LOCATION\":\"Syria\",\"LAT\":33.08,\"LON\":37.15,\"ELEV\":0,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.185\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[36.42499996,32.65605331]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0300-06-\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Syria\",\"LAT\":32.658,\"LON\":36.425,\"ELEV\":1436,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.186\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[36.16999994,27.79823184]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0301-01=\",\"NAME_\":\"RAHAH, HA\",\"LOCATION\":\"Arabia-W\",\"LAT\":27.8,\"LON\":36.17,\"ELEV\":1660,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Anthropol\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.187\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[37.2500001,27.07826287]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0301-02=\",\"NAME_\":\"'UWAYRID,\",\"LOCATION\":\"Arabia-W\",\"LAT\":27.08,\"LON\":37.25,\"ELEV\":1900,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Anthropol\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.188\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[37.74999998,25.16835011]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0301-04-\",\"NAME_\":\"LUNAYYIR,\",\"LOCATION\":\"Arabia-W\",\"LAT\":25.17,\"LON\":37.75,\"ELEV\":1370,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.189\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[40.19999992,26.57828489]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0301-05=\",\"NAME_\":\"ITHNAYN,\",\"LOCATION\":\"Arabia-W\",\"LAT\":26.58,\"LON\":40.2,\"ELEV\":1625,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.190\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[39.92000004,24.99835816]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0301-06=\",\"NAME_\":\"KHAYBAR,\",\"LOCATION\":\"Arabia-W\",\"LAT\":25,\"LON\":39.92,\"ELEV\":2093,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.191\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[39.77999999,23.07845397]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0301-07=\",\"NAME_\":\"RAHAT, HA\",\"LOCATION\":\"Arabia-W\",\"LAT\":23.08,\"LON\":39.78,\"ELEV\":1744,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.192\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[41.37999993,22.79846866]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0301-071\",\"NAME_\":\"KISHB, HA\",\"LOCATION\":\"Arabia-W\",\"LAT\":22.8,\"LON\":41.38,\"ELEV\":1475,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.193\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[42.83000009,17.04879805]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0301-08-\",\"NAME_\":\"YAR, JABA\",\"LOCATION\":\"Arabia-W\",\"LAT\":17.05,\"LON\":42.83,\"ELEV\":305,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.194\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[44.07999991,15.62888752]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0301-09-\",\"NAME_\":\"ARHAB, HA\",\"LOCATION\":\"Arabia-S\",\"LAT\":15.63,\"LON\":44.08,\"ELEV\":3100,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.195\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[44.21999996,15.27890988]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0301-10-\",\"NAME_\":\"MARHA, JA\",\"LOCATION\":\"Arabia-S\",\"LAT\":15.28,\"LON\":44.22,\"ELEV\":2650,\"TYPE_\":\"Tuff cone\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.196\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[44.77999992,15.42890022]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0301-11-\",\"NAME_\":\"HAYLAN, J\",\"LOCATION\":\"Arabia-S\",\"LAT\":15.43,\"LON\":44.78,\"ELEV\":1550,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Anthropol\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.197\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[44.66999992,14.56895599]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0301-12-\",\"NAME_\":\"DHAMAR, H\",\"LOCATION\":\"Arabia-S\",\"LAT\":14.57,\"LON\":44.67,\"ELEV\":3500,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.198\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[44.75000009,14.04899015]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0301-13-\",\"NAME_\":\"HAMMAN DE\",\"LOCATION\":\"Arabia-S\",\"LAT\":14.05,\"LON\":44.75,\"ELEV\":0,\"TYPE_\":\"Cone\",\"STATUS\":\"Anthropol\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.199\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[44.99999993,12.2491108]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0301-15-\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Arabia-S\",\"LAT\":12.25,\"LON\":45,\"ELEV\":0,\"TYPE_\":\"Submarine\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.200\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[46.12000008,13.57902124]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0301-16-\",\"NAME_\":\"SAWAD, HA\",\"LOCATION\":\"Arabia-S\",\"LAT\":13.58,\"LON\":46.12,\"ELEV\":1737,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.201\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[48.3299999,14.04899015]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0301-17-\",\"NAME_\":\"BAL HAF,\",\"LOCATION\":\"Arabia-S\",\"LAT\":14.05,\"LON\":48.33,\"ELEV\":233,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.202\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[50.63000006,15.54889247]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0301-18-\",\"NAME_\":\"BIR BORHU\",\"LOCATION\":\"Arabia-S\",\"LAT\":15.55,\"LON\":50.63,\"ELEV\":0,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.203\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[52.10899997,35.94896392]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0302-01-\",\"NAME_\":\"DAMAVAND\",\"LOCATION\":\"Iran\",\"LAT\":35.951,\"LON\":52.109,\"ELEV\":5670,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.204\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[57.57000009,29.3981671]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0302-02-\",\"NAME_\":\"QAL'EH HA\",\"LOCATION\":\"Iran\",\"LAT\":29.4,\"LON\":57.57,\"ELEV\":0,\"TYPE_\":\"Maars\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.205\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[59.99999993,28.06822047]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0302-03-\",\"NAME_\":\"BAZMAN\",\"LOCATION\":\"Iran\",\"LAT\":28.07,\"LON\":60,\"ELEV\":3490,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.206\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[60.6699999,28.16821638]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0302-04-\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Iran\",\"LAT\":28.17,\"LON\":60.67,\"ELEV\":0,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.207\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[61.60000007,28.59819887]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0302-05-\",\"NAME_\":\"TAFTAN\",\"LOCATION\":\"Iran\",\"LAT\":28.6,\"LON\":61.6,\"ELEV\":4050,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.208\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[67.92000006,33.94801526]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0302-06-\",\"NAME_\":\"DACHT-I-N\",\"LOCATION\":\"Afghanist\",\"LAT\":33.95,\"LON\":67.92,\"ELEV\":3800,\"TYPE_\":\"Lava dome\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.209\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[67.96999998,34.24800694]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0302-07-\",\"NAME_\":\"VAKAK GRO\",\"LOCATION\":\"Afghanist\",\"LAT\":34.25,\"LON\":67.97,\"ELEV\":3190,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.210\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[43.32999997,-11.46916427]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0303-001\",\"NAME_\":\"GRILLE, L\",\"LOCATION\":\"Indian O.\",\"LAT\":-11.47,\"LON\":43.33,\"ELEV\":1087,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.211\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[43.3799999,-11.74914511]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0303-01=\",\"NAME_\":\"KARTHALA\",\"LOCATION\":\"Indian O.\",\"LAT\":-11.75,\"LON\":43.38,\"ELEV\":2361,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.212\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[55.71299998,-21.2275529]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0303-02=\",\"NAME_\":\"FOURNAISE\",\"LOCATION\":\"Indian O.\",\"LAT\":-21.229,\"LON\":55.713,\"ELEV\":2631,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.213\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[49.09999994,-12.47909514]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0303-03-\",\"NAME_\":\"AMBRE-BOB\",\"LOCATION\":\"Madagasca\",\"LAT\":-12.48,\"LON\":49.1,\"ELEV\":1475,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.214\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[48.4800001,-13.31903862]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0303-04-\",\"NAME_\":\"NOSY-BE\",\"LOCATION\":\"Madagasca\",\"LAT\":-13.32,\"LON\":48.48,\"ELEV\":214,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.215\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[48.67000007,-14.29897376]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0303-05-\",\"NAME_\":\"ANKAIZINA\",\"LOCATION\":\"Madagasca\",\"LAT\":-14.3,\"LON\":48.67,\"ELEV\":2878,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.216\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[46.76999995,-18.99868024]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0303-06-\",\"NAME_\":\"ITASY VOL\",\"LOCATION\":\"Madagasca\",\"LAT\":-19,\"LON\":46.77,\"ELEV\":1800,\"TYPE_\":\"Scoria co\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.217\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[47.20000003,-19.39865684]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0303-07-\",\"NAME_\":\"ANKARATRA\",\"LOCATION\":\"Madagasca\",\"LAT\":-19.4,\"LON\":47.2,\"ELEV\":2644,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.218\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[73.51300001,-53.10394534]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0304-01=\",\"NAME_\":\"HEARD\",\"LOCATION\":\"Indian O.\",\"LAT\":-53.106,\"LON\":73.513,\"ELEV\":2745,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.219\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[69.5000001,-49.57788711]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0304-02=\",\"NAME_\":\"KERGUELEN\",\"LOCATION\":\"Indian O.\",\"LAT\":-49.58,\"LON\":69.5,\"ELEV\":1840,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.220\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[77.53000003,-38.7179097]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0304-03=\",\"NAME_\":\"ST. PAUL\",\"LOCATION\":\"Indian O.\",\"LAT\":-38.72,\"LON\":77.53,\"ELEV\":268,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D4\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.221\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[77.52000008,-37.82792487]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0304-04-\",\"NAME_\":\"AMSTERDAM\",\"LOCATION\":\"Indian O.\",\"LAT\":-37.83,\"LON\":77.52,\"ELEV\":881,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.222\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[51.63000004,-46.41786195]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0304-05-\",\"NAME_\":\"POSSESSIO\",\"LOCATION\":\"Indian O.\",\"LAT\":-46.42,\"LON\":51.63,\"ELEV\":934,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.223\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[50.23000002,-46.09786079]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0304-06-\",\"NAME_\":\"COCHONS,\",\"LOCATION\":\"Indian O.\",\"LAT\":-46.1,\"LON\":50.23,\"ELEV\":775,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.224\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[37.9499999,-46.62786288]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0304-07-\",\"NAME_\":\"PRINCE ED\",\"LOCATION\":\"Indian O.\",\"LAT\":-46.63,\"LON\":37.95,\"ELEV\":672,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.225\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[37.74999998,-46.89786409]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0304-08-\",\"NAME_\":\"MARION IS\",\"LOCATION\":\"Indian O.\",\"LAT\":-46.9,\"LON\":37.75,\"ELEV\":1230,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.226\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[80.74999999,11.74914509]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0305-01=\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Indian O.\",\"LAT\":11.75,\"LON\":80.75,\"ELEV\":0,\"TYPE_\":\"Submarine\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.227\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[173.8999999,-35.29797956]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0401-01=\",\"NAME_\":\"KAIKOHE-B\",\"LOCATION\":\"New Z\",\"LAT\":-35.3,\"LON\":173.9,\"ELEV\":388,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.228\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[174.2699999,-35.74796865]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0401-011\",\"NAME_\":\"WHANGAREI\",\"LOCATION\":\"New Zeala\",\"LAT\":-35.75,\"LON\":174.27,\"ELEV\":397,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.229\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[174.87000006,-36.89794311]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0401-02=\",\"NAME_\":\"AUCKLAND\",\"LOCATION\":\"New Zeala\",\"LAT\":-36.9,\"LON\":174.87,\"ELEV\":260,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.230\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[176.24999998,-37.27793556]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0401-021\",\"NAME_\":\"MAYOR ISL\",\"LOCATION\":\"New Zeala\",\"LAT\":-37.28,\"LON\":176.25,\"ELEV\":355,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.231\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[174.06999999,-39.29790062]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0401-03=\",\"NAME_\":\"EGMONT\",\"LOCATION\":\"New Zeala\",\"LAT\":-39.3,\"LON\":174.07,\"ELEV\":2518,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D4\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.232\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[177.17999995,-37.51793078]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0401-04=\",\"NAME_\":\"WHITE ISL\",\"LOCATION\":\"New Zeala\",\"LAT\":-37.52,\"LON\":177.18,\"ELEV\":321,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.233\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[176.98000003,-37.85592445]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0401-041\",\"NAME_\":\"WHALE ISL\",\"LOCATION\":\"New Zeala\",\"LAT\":-37.858,\"LON\":176.98,\"ELEV\":348,\"TYPE_\":\"Complex v\",\"STATUS\":\"Pleistoce\",\"TIME_FRAME\":\"Q\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.234\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[176.27000008,-38.0779204]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0401-042\",\"NAME_\":\"ROTORUA\",\"LOCATION\":\"New Zeala\",\"LAT\":-38.08,\"LON\":176.27,\"ELEV\":757,\"TYPE_\":\"Caldera\",\"STATUS\":\"Pleistoce\",\"TIME_FRAME\":\"Q\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.235\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[176.50000003,-38.11791968]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0401-05=\",\"NAME_\":\"OKATAINA\",\"LOCATION\":\"New Zeala\",\"LAT\":-38.12,\"LON\":176.5,\"ELEV\":1111,\"TYPE_\":\"Lava dome\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.236\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[176.32999995,-38.41791447]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0401-06-\",\"NAME_\":\"REPOROA\",\"LOCATION\":\"New Zeala\",\"LAT\":-38.42,\"LON\":176.33,\"ELEV\":592,\"TYPE_\":\"Caldera\",\"STATUS\":\"Tephrochr\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.237\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[176.0799999,-38.41791447]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0401-061\",\"NAME_\":\"MAROA\",\"LOCATION\":\"New Zeala\",\"LAT\":-38.42,\"LON\":176.08,\"ELEV\":1156,\"TYPE_\":\"Calderas\",\"STATUS\":\"Tephrochr\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.238\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[175.99999993,-38.81790795]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0401-07=\",\"NAME_\":\"TAUPO\",\"LOCATION\":\"New Zeala\",\"LAT\":-38.82,\"LON\":176,\"ELEV\":760,\"TYPE_\":\"Caldera\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.239\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[175.64200004,-39.12790327]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0401-08=\",\"NAME_\":\"TONGARIRO\",\"LOCATION\":\"New Zeala\",\"LAT\":-39.13,\"LON\":175.642,\"ELEV\":1978,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.240\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[175.57000007,-39.27790103]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0401-10=\",\"NAME_\":\"RUAPEHU\",\"LOCATION\":\"New Zeala\",\"LAT\":-39.28,\"LON\":175.57,\"ELEV\":2797,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.241\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[178.87499997,-35.49797458]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0401-11-\",\"NAME_\":\"RUMBLE I\",\"LOCATION\":\"New Zeala\",\"LAT\":-35.5,\"LON\":178.875,\"ELEV\":-1100,\"TYPE_\":\"Submarine\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.242\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[178.64999999,-35.42797626]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0401-12-\",\"NAME_\":\"RUMBLE II\",\"LOCATION\":\"New Zeala\",\"LAT\":-35.43,\"LON\":178.65,\"ELEV\":-880,\"TYPE_\":\"Submarine\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.243\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[178.47799996,-35.74296879]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0401-13-\",\"NAME_\":\"RUMBLE II\",\"LOCATION\":\"New Zeala\",\"LAT\":-35.745,\"LON\":178.478,\"ELEV\":-140,\"TYPE_\":\"Submarine\",\"STATUS\":\"Hydrophon\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.244\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[178.05000004,-36.21795788]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0401-14-\",\"NAME_\":\"RUMBLE IV\",\"LOCATION\":\"New Zeala\",\"LAT\":-36.22,\"LON\":178.05,\"ELEV\":-450,\"TYPE_\":\"Submarine\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.245\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[178.197,-36.13695966]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0401-15-\",\"NAME_\":\"RUMBLE V\",\"LOCATION\":\"New Zeala\",\"LAT\":-36.139,\"LON\":178.197,\"ELEV\":-700,\"TYPE_\":\"Submarine\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.246\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-178.56100005,-30.54012442]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0402-01=\",\"NAME_\":\"CURTIS IS\",\"LOCATION\":\"Kermadec\",\"LAT\":-30.542,\"LON\":-178.561,\"ELEV\":137,\"TYPE_\":\"Submarine\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.247\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-178.92000003,-30.22813592]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0402-02=\",\"NAME_\":\"BRIMSTONE\",\"LOCATION\":\"Kermadec\",\"LAT\":-30.23,\"LON\":-178.92,\"ELEV\":-2000,\"TYPE_\":\"Submarine\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.248\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-178.47000006,-30.19813699]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0402-021\",\"NAME_\":\"MACAULEY\",\"LOCATION\":\"Kermadec\",\"LAT\":-30.2,\"LON\":-178.47,\"ELEV\":238,\"TYPE_\":\"Caldera\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.249\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-177.92000004,-29.26817227]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0402-03=\",\"NAME_\":\"RAOUL ISL\",\"LOCATION\":\"Kermadec\",\"LAT\":-29.27,\"LON\":-177.92,\"ELEV\":516,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.250\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-177.8699999,-29.17817567]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0402-04=\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Kermadec\",\"LAT\":-29.18,\"LON\":-177.87,\"ELEV\":-560,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.251\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-177.18800004,-25.88631638]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0402-05-\",\"NAME_\":\"MONOWAI S\",\"LOCATION\":\"Kermadec\",\"LAT\":-25.888,\"LON\":-177.188,\"ELEV\":-100,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.252\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-175.64999992,-21.37854466]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0403-01=\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Tonga-SW\",\"LAT\":-21.38,\"LON\":-175.65,\"ELEV\":-500,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.253\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-175.52999998,-20.84857407]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0403-03=\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Tonga-SW\",\"LAT\":-20.85,\"LON\":-175.53,\"ELEV\":-13,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.254\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-175.37999999,-20.56858967]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0403-04=\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Tonga-SW\",\"LAT\":-20.57,\"LON\":-175.38,\"ELEV\":0,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.255\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-175.41999997,-20.31860375]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0403-05=\",\"NAME_\":\"FALCON IS\",\"LOCATION\":\"Tonga-SW\",\"LAT\":-20.32,\"LON\":-175.42,\"ELEV\":145,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.256\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-175.07000007,-19.74863645]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0403-06=\",\"NAME_\":\"TOFUA\",\"LOCATION\":\"Tonga-SW\",\"LAT\":-19.75,\"LON\":-175.07,\"ELEV\":512,\"TYPE_\":\"Caldera\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.257\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-174.86999995,-19.17866969]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0403-07=\",\"NAME_\":\"METIS SHO\",\"LOCATION\":\"Tonga-SW\",\"LAT\":-19.18,\"LON\":-174.87,\"ELEV\":-4,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.258\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-174.77500007,-18.99068072]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0403-08=\",\"NAME_\":\"HOME REEF\",\"LOCATION\":\"Tonga-SW\",\"LAT\":-18.992,\"LON\":-174.775,\"ELEV\":-2,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.259\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-174.64999994,-18.80469163]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0403-09=\",\"NAME_\":\"LATE\",\"LOCATION\":\"Tonga-SW\",\"LAT\":-18.806,\"LON\":-174.65,\"ELEV\":518,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.260\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-174.3249999,-18.01873865]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0403-10=\",\"NAME_\":\"FONUALEI\",\"LOCATION\":\"Tonga-SW\",\"LAT\":-18.02,\"LON\":-174.325,\"ELEV\":200,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.261\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-173.67000005,-15.61888803]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0403-101\",\"NAME_\":\"CURACOA\",\"LOCATION\":\"Tonga-SW\",\"LAT\":-15.62,\"LON\":-173.67,\"ELEV\":-33,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.262\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-175.63000004,-15.59888943]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0403-11=\",\"NAME_\":\"NIUAFO'OU\",\"LOCATION\":\"Tonga-SW\",\"LAT\":-15.6,\"LON\":-175.63,\"ELEV\":260,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.263\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-169.06999995,-14.22897834]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0404-00-\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Samoa-SW\",\"LAT\":-14.23,\"LON\":-169.07,\"ELEV\":-650,\"TYPE_\":\"Submarine\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.264\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-169.45399999,-14.22897834]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0404-001\",\"NAME_\":\"TA'U\",\"LOCATION\":\"Samoa-SW\",\"LAT\":-14.23,\"LON\":-169.454,\"ELEV\":931,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.265\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-169.61800002,-14.17398185]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0404-01=\",\"NAME_\":\"OFU-OLOSE\",\"LOCATION\":\"Samoa-SW\",\"LAT\":-14.175,\"LON\":-169.618,\"ELEV\":639,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.266\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-170.69999992,-14.29397391]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0404-02-\",\"NAME_\":\"TUTUILA\",\"LOCATION\":\"Samoa-SW\",\"LAT\":-14.295,\"LON\":-170.7,\"ELEV\":653,\"TYPE_\":\"Tuff cone\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.267\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-171.72,-13.93399779]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0404-03-\",\"NAME_\":\"UPOLU\",\"LOCATION\":\"Samoa-SW\",\"LAT\":-13.935,\"LON\":-171.72,\"ELEV\":1100,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.268\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-172.52500005,-13.61101912]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0404-04=\",\"NAME_\":\"SAVAI'I\",\"LOCATION\":\"Samoa-SW\",\"LAT\":-13.612,\"LON\":-172.525,\"ELEV\":1858,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.269\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-176.16999991,-13.29903986]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0404-05-\",\"NAME_\":\"WALLIS IS\",\"LOCATION\":\"SW Pacifi\",\"LAT\":-13.3,\"LON\":-176.17,\"ELEV\":143,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.270\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-179.96999994,-16.8188124]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0405-01-\",\"NAME_\":\"TAVEUNI\",\"LOCATION\":\"Fiji Is-S\",\"LAT\":-16.82,\"LON\":-179.97,\"ELEV\":1241,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.271\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[179.39999993,-17.31878134]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0405-02-\",\"NAME_\":\"KORO\",\"LOCATION\":\"Fiji Is-S\",\"LAT\":-17.32,\"LON\":179.4,\"ELEV\":522,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.272\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[147.35000004,-2.37982207]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0500-01=\",\"NAME_\":\"ST. ANDRE\",\"LOCATION\":\"Admiralty\",\"LAT\":-2.38,\"LON\":147.35,\"ELEV\":270,\"TYPE_\":\"Complex v\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.273\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[147.28000002,-2.56980787]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0500-02-\",\"NAME_\":\"BALUAN\",\"LOCATION\":\"Admiralty\",\"LAT\":-2.57,\"LON\":147.28,\"ELEV\":254,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.274\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[147.77999991,-3.02977351]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0500-03-\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Admiralty\",\"LAT\":-3.03,\"LON\":147.78,\"ELEV\":-1300,\"TYPE_\":\"Submarine\",\"STATUS\":\"Hydrophon\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.275\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[144.62000002,-3.50773802]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0501-001\",\"NAME_\":\"BLUP BLUP\",\"LOCATION\":\"New Guine\",\"LAT\":-3.508,\"LON\":144.62,\"ELEV\":402,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.276\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[144.62000002,-3.61972965]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0501-002\",\"NAME_\":\"KADOVAR\",\"LOCATION\":\"New Guine\",\"LAT\":-3.62,\"LON\":144.62,\"ELEV\":365,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.277\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[144.84999997,-3.59973125]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0501-01=\",\"NAME_\":\"BAM\",\"LOCATION\":\"New Guine\",\"LAT\":-3.6,\"LON\":144.85,\"ELEV\":685,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.278\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[144.963,-3.993702]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0501-011\",\"NAME_\":\"BOISA\",\"LOCATION\":\"New Guine\",\"LAT\":-3.994,\"LON\":144.963,\"ELEV\":240,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.279\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[145.06099991,-4.09969405]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0501-02=\",\"NAME_\":\"MANAM\",\"LOCATION\":\"New Guine\",\"LAT\":-4.1,\"LON\":145.061,\"ELEV\":1807,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.280\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[145.96400007,-4.64865359]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0501-03=\",\"NAME_\":\"KARKAR\",\"LOCATION\":\"New Guine\",\"LAT\":-4.649,\"LON\":145.964,\"ELEV\":1839,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.281\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[146.25600005,-4.31067857]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0501-04=\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"New Guine\",\"LAT\":-4.311,\"LON\":146.256,\"ELEV\":-2000,\"TYPE_\":\"Submarine\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.282\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[146.75000009,-4.9196336]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0501-041\",\"NAME_\":\"YOMBA\",\"LOCATION\":\"New Guine\",\"LAT\":-4.92,\"LON\":146.75,\"ELEV\":0,\"TYPE_\":\"Unknown\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.283\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[147.12000009,-5.3576012]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0501-05=\",\"NAME_\":\"LONG ISLA\",\"LOCATION\":\"New Guine\",\"LAT\":-5.358,\"LON\":147.12,\"ELEV\":1280,\"TYPE_\":\"Complex v\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.284\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[147.875,-5.58858426]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0501-06=\",\"NAME_\":\"UMBOI\",\"LOCATION\":\"New Guine\",\"LAT\":-5.589,\"LON\":147.875,\"ELEV\":1548,\"TYPE_\":\"Complex v\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.285\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[148.12099994,-5.51958938]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0501-07=\",\"NAME_\":\"RITTER IS\",\"LOCATION\":\"New Guine\",\"LAT\":-5.52,\"LON\":148.121,\"ELEV\":140,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.286\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[148.09399993,-5.41359706]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0501-08=\",\"NAME_\":\"SAKAR\",\"LOCATION\":\"New Guine\",\"LAT\":-5.414,\"LON\":148.094,\"ELEV\":992,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.287\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[148.57000004,-5.19961285]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0502-001\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"New Brita\",\"LAT\":-5.2,\"LON\":148.57,\"ELEV\":0,\"TYPE_\":\"Submarine\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.288\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[148.42000005,-5.52458899]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0502-01=\",\"NAME_\":\"LANGILA\",\"LOCATION\":\"New Brita\",\"LAT\":-5.525,\"LON\":148.42,\"ELEV\":1330,\"TYPE_\":\"Complex v\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.289\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[149.12500003,-4.54966092]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0502-02=\",\"NAME_\":\"NARAGE\",\"LOCATION\":\"New Brita\",\"LAT\":-4.55,\"LON\":149.125,\"ELEV\":307,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Pleistoce\",\"TIME_FRAME\":\"Q\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.290\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[149.35000001,-4.62965497]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0502-021\",\"NAME_\":\"MUNDUA\",\"LOCATION\":\"New Brita\",\"LAT\":-4.63,\"LON\":149.35,\"ELEV\":179,\"TYPE_\":\"Complex v\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.291\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[149.5,-4.69165042]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0502-03=\",\"NAME_\":\"GAROVE\",\"LOCATION\":\"New Brita\",\"LAT\":-4.692,\"LON\":149.5,\"ELEV\":368,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.292\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[150.10799995,-5.05562351]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0502-04=\",\"NAME_\":\"DAKATAUA\",\"LOCATION\":\"New Brita\",\"LAT\":-5.056,\"LON\":150.108,\"ELEV\":400,\"TYPE_\":\"Caldera\",\"STATUS\":\"Anthropol\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.293\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[150.02999993,-5.1496166]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0502-05=\",\"NAME_\":\"BOLA\",\"LOCATION\":\"New Brita\",\"LAT\":-5.15,\"LON\":150.03,\"ELEV\":1155,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.294\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[150.08800006,-5.26860771]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0502-06=\",\"NAME_\":\"GARUA HAR\",\"LOCATION\":\"New Brita\",\"LAT\":-5.269,\"LON\":150.088,\"ELEV\":565,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.295\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[150.02999993,-5.4495945]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0502-07=\",\"NAME_\":\"GARBUNA G\",\"LOCATION\":\"New Brita\",\"LAT\":-5.45,\"LON\":150.03,\"ELEV\":564,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.296\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[150.49999999,-5.46959313]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0502-071\",\"NAME_\":\"LOLO\",\"LOCATION\":\"New Brita\",\"LAT\":-5.47,\"LON\":150.5,\"ELEV\":805,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.297\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[150.52000008,-5.57958484]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0502-08=\",\"NAME_\":\"PAGO\",\"LOCATION\":\"New Brita\",\"LAT\":-5.58,\"LON\":150.52,\"ELEV\":742,\"TYPE_\":\"Caldera\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.298\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[150.90000002,-5.52958859]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0502-09=\",\"NAME_\":\"WALO\",\"LOCATION\":\"New Brita\",\"LAT\":-5.53,\"LON\":150.9,\"ELEV\":15,\"TYPE_\":\"Hydrother\",\"STATUS\":\"Hot Sprin\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.299\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[151.09999994,-5.32960338]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0502-10=\",\"NAME_\":\"HARGY\",\"LOCATION\":\"New Brita\",\"LAT\":-5.33,\"LON\":151.1,\"ELEV\":1148,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.300\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[151.23000004,-5.19961285]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0502-11=\",\"NAME_\":\"BAMUS\",\"LOCATION\":\"New Brita\",\"LAT\":-5.2,\"LON\":151.23,\"ELEV\":2248,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Anthropol\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.301\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[151.3300001,-5.04962391]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0502-12=\",\"NAME_\":\"ULAWUN\",\"LOCATION\":\"New Brita\",\"LAT\":-5.05,\"LON\":151.33,\"ELEV\":2334,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.302\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[151.15800007,-4.9196336]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0502-13=\",\"NAME_\":\"LOLOBAU\",\"LOCATION\":\"New Brita\",\"LAT\":-4.92,\"LON\":151.158,\"ELEV\":858,\"TYPE_\":\"Caldera\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.303\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[150.8500001,-4.74964606]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0502-131\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"New Brita\",\"LAT\":-4.75,\"LON\":150.85,\"ELEV\":0,\"TYPE_\":\"Submarine\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.304\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[152.20300001,-4.27068155]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0502-14=\",\"NAME_\":\"RABAUL\",\"LOCATION\":\"New Brita\",\"LAT\":-4.271,\"LON\":152.203,\"ELEV\":688,\"TYPE_\":\"Pyroclast\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.305\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[143.14999998,-5.89956144]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0503-00-\",\"NAME_\":\"DOMA PEAK\",\"LOCATION\":\"New Guine\",\"LAT\":-5.9,\"LON\":143.15,\"ELEV\":3568,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.306\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[145.07999993,-6.57951187]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0503-001\",\"NAME_\":\"CRATER MO\",\"LOCATION\":\"New Guine\",\"LAT\":-6.58,\"LON\":145.08,\"ELEV\":3233,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.307\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[145.85799996,-7.04947754]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0503-002\",\"NAME_\":\"YELIA\",\"LOCATION\":\"New Guine\",\"LAT\":-7.05,\"LON\":145.858,\"ELEV\":3384,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.308\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[146.70799995,-7.32945732]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0503-003\",\"NAME_\":\"KORANGA\",\"LOCATION\":\"New Guine\",\"LAT\":-7.33,\"LON\":146.708,\"ELEV\":0,\"TYPE_\":\"Explosion\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.309\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[147.57000005,-9.19932305]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0503-004\",\"NAME_\":\"MADILOGO\",\"LOCATION\":\"New Guine\",\"LAT\":-9.2,\"LON\":147.57,\"ELEV\":850,\"TYPE_\":\"Pyroclast\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.310\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[148.14999991,-8.94934099]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0503-01=\",\"NAME_\":\"LAMINGTON\",\"LOCATION\":\"New Guine\",\"LAT\":-8.95,\"LON\":148.15,\"ELEV\":1680,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.311\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[148.36999992,-8.99933736]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0503-011\",\"NAME_\":\"HYDROGRAP\",\"LOCATION\":\"New Guine\",\"LAT\":-9,\"LON\":148.37,\"ELEV\":1915,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.312\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[148.13000002,-9.30731544]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0503-02=\",\"NAME_\":\"MUSA RIVE\",\"LOCATION\":\"New Guine\",\"LAT\":-9.308,\"LON\":148.13,\"ELEV\":808,\"TYPE_\":\"Hydrother\",\"STATUS\":\"Hot Sprin\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.313\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[148.32999993,-9.07933163]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0503-021\",\"NAME_\":\"MANAGLASE\",\"LOCATION\":\"New Guine\",\"LAT\":-9.08,\"LON\":148.33,\"ELEV\":1342,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Anthropol\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.314\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[149.06999993,-9.19932305]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0503-03=\",\"NAME_\":\"VICTORY\",\"LOCATION\":\"New Guine\",\"LAT\":-9.2,\"LON\":149.07,\"ELEV\":1925,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.315\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[149.13,-9.47930329]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0503-031\",\"NAME_\":\"SESSAGARA\",\"LOCATION\":\"New Guine\",\"LAT\":-9.48,\"LON\":149.13,\"ELEV\":370,\"TYPE_\":\"Unknown\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.316\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[149.0749999,-9.56929683]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0503-04=\",\"NAME_\":\"WAIOWA\",\"LOCATION\":\"New Guine\",\"LAT\":-9.57,\"LON\":149.075,\"ELEV\":640,\"TYPE_\":\"Pyroclast\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.317\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[150.35,-9.47930329]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0503-041\",\"NAME_\":\"GOODENOUG\",\"LOCATION\":\"D'Entreca\",\"LAT\":-9.48,\"LON\":150.35,\"ELEV\":220,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.318\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[150.53000003,-9.51930044]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0503-05=\",\"NAME_\":\"IAMELELE\",\"LOCATION\":\"D'Entreca\",\"LAT\":-9.52,\"LON\":150.53,\"ELEV\":200,\"TYPE_\":\"Lava dome\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.319\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[150.87999993,-9.61929343]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0503-06=\",\"NAME_\":\"DAWSON ST\",\"LOCATION\":\"D'Entreca\",\"LAT\":-9.62,\"LON\":150.88,\"ELEV\":500,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Hydration\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.320\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[152.64199995,-3.12476653]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0504-01=\",\"NAME_\":\"LIHIR\",\"LOCATION\":\"New Irela\",\"LAT\":-3.125,\"LON\":152.642,\"ELEV\":700,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.321\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[153.64999993,-4.07969564]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0504-02=\",\"NAME_\":\"AMBITLE\",\"LOCATION\":\"New Irela\",\"LAT\":-4.08,\"LON\":153.65,\"ELEV\":450,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.322\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[154.93,-5.82956655]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0505-00-\",\"NAME_\":\"TORE\",\"LOCATION\":\"Bougainvi\",\"LAT\":-5.83,\"LON\":154.93,\"ELEV\":2200,\"TYPE_\":\"Lava cone\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.323\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[154.97999993,-5.82956655]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0505-01=\",\"NAME_\":\"BALBI\",\"LOCATION\":\"Bougainvi\",\"LAT\":-5.83,\"LON\":154.98,\"ELEV\":2715,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.324\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[155.22500001,-6.09154751]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0505-011\",\"NAME_\":\"BILLY MIT\",\"LOCATION\":\"Bougainvi\",\"LAT\":-6.092,\"LON\":155.225,\"ELEV\":1544,\"TYPE_\":\"Pyroclast\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D5\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.325\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[155.19499997,-6.13954398]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0505-02=\",\"NAME_\":\"BAGANA\",\"LOCATION\":\"Bougainvi\",\"LAT\":-6.14,\"LON\":155.195,\"ELEV\":1750,\"TYPE_\":\"Lava cone\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.326\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[155.60799997,-6.44152184]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0505-021\",\"NAME_\":\"TAKUAN GR\",\"LOCATION\":\"Bougainvi\",\"LAT\":-6.442,\"LON\":155.608,\"ELEV\":2210,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.327\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[155.62000007,-6.51951617]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0505-03=\",\"NAME_\":\"LOLORU\",\"LOCATION\":\"Bougainvi\",\"LAT\":-6.52,\"LON\":155.62,\"ELEV\":1887,\"TYPE_\":\"Pyroclast\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.328\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[156.59999996,-7.6694327]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0505-04=\",\"NAME_\":\"NONDA\",\"LOCATION\":\"Solomon I\",\"LAT\":-7.67,\"LON\":156.6,\"ELEV\":760,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Pleistoce\",\"TIME_FRAME\":\"Q\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.329\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[156.52,-8.29138794]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0505-05=\",\"NAME_\":\"SIMBO\",\"LOCATION\":\"Solomon I\",\"LAT\":-8.292,\"LON\":156.52,\"ELEV\":335,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.330\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[157.03000004,-8.74935513]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0505-052\",\"NAME_\":\"KANA KEOK\",\"LOCATION\":\"Solomon I\",\"LAT\":-8.75,\"LON\":157.03,\"ELEV\":-700,\"TYPE_\":\"Submarine\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.331\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[157.17000008,-8.82934938]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0505-053\",\"NAME_\":\"COLEMAN S\",\"LOCATION\":\"Solomon I\",\"LAT\":-8.83,\"LON\":157.17,\"ELEV\":0,\"TYPE_\":\"Submarine\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.332\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[157.95000006,-9.01933603]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0505-06=\",\"NAME_\":\"KAVACHI\",\"LOCATION\":\"Solomon I\",\"LAT\":-9.02,\"LON\":157.95,\"ELEV\":-20,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.333\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[158.03000002,-8.91934309]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0505-061\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Solomon I\",\"LAT\":-8.92,\"LON\":158.03,\"ELEV\":-240,\"TYPE_\":\"Submarine\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.334\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[159.73000002,-9.34931261]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0505-062\",\"NAME_\":\"GALLEGO\",\"LOCATION\":\"Solomon I\",\"LAT\":-9.35,\"LON\":159.73,\"ELEV\":1000,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.335\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[159.81999993,-9.12932821]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0505-07=\",\"NAME_\":\"SAVO\",\"LOCATION\":\"Solomon I\",\"LAT\":-9.13,\"LON\":159.82,\"ELEV\":510,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.336\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[165.79999996,-10.37923987]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0506-01=\",\"NAME_\":\"TINAKULA\",\"LOCATION\":\"Santa Cru\",\"LAT\":-10.38,\"LON\":165.8,\"ELEV\":851,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.337\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[167.67000004,-13.66901519]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0507-001\",\"NAME_\":\"MOTLAV\",\"LOCATION\":\"Vanuatu-S\",\"LAT\":-13.67,\"LON\":167.67,\"ELEV\":411,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.338\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[167.46999991,-13.79900666]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0507-01=\",\"NAME_\":\"SORETIMEA\",\"LOCATION\":\"Vanuatu-S\",\"LAT\":-13.8,\"LON\":167.47,\"ELEV\":921,\"TYPE_\":\"Complex v\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.339\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[167.49999995,-14.26897569]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0507-02=\",\"NAME_\":\"GAUA\",\"LOCATION\":\"Vanuatu-S\",\"LAT\":-14.27,\"LON\":167.5,\"ELEV\":797,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.340\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[168.04999998,-14.44896391]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0507-021\",\"NAME_\":\"MERE LAVA\",\"LOCATION\":\"Vanuatu-S\",\"LAT\":-14.45,\"LON\":168.05,\"ELEV\":1028,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.341\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[167.82999997,-15.39890213]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0507-03=\",\"NAME_\":\"AOBA\",\"LOCATION\":\"Vanuatu-S\",\"LAT\":-15.4,\"LON\":167.83,\"ELEV\":1496,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Anthropol\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.342\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[168.12,-16.248848]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0507-04=\",\"NAME_\":\"AMBRYM\",\"LOCATION\":\"Vanuatu-S\",\"LAT\":-16.25,\"LON\":168.12,\"ELEV\":1334,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.343\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[168.34600006,-16.50583181]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0507-05=\",\"NAME_\":\"LOPEVI\",\"LOCATION\":\"Vanuatu-S\",\"LAT\":-16.507,\"LON\":168.346,\"ELEV\":1413,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.344\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[168.37000005,-16.67882109]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0507-06=\",\"NAME_\":\"EAST EPI\",\"LOCATION\":\"Vanuatu-S\",\"LAT\":-16.68,\"LON\":168.37,\"ELEV\":-34,\"TYPE_\":\"Caldera\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.345\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[168.27999993,-16.72881789]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0507-061\",\"NAME_\":\"KUTALI, T\",\"LOCATION\":\"Vanuatu-S\",\"LAT\":-16.73,\"LON\":168.28,\"ELEV\":833,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.346\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[168.42999992,-16.79881355]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0507-062\",\"NAME_\":\"TAVAI RUR\",\"LOCATION\":\"Vanuatu-S\",\"LAT\":-16.8,\"LON\":168.43,\"ELEV\":554,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.347\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[168.53600003,-16.8278117]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0507-07=\",\"NAME_\":\"KUWAE\",\"LOCATION\":\"Vanuatu-S\",\"LAT\":-16.829,\"LON\":168.536,\"ELEV\":-2,\"TYPE_\":\"Caldera\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.348\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[168.592,-16.99080174]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0507-08-\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Vanuatu-S\",\"LAT\":-16.992,\"LON\":168.592,\"ELEV\":216,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.349\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[168.33000006,-17.44877345]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0507-081\",\"NAME_\":\"NORTH VAT\",\"LOCATION\":\"Vanuatu-S\",\"LAT\":-17.45,\"LON\":168.33,\"ELEV\":594,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.350\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[169.22999999,-18.74869498]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0507-09=\",\"NAME_\":\"TRAITOR'S\",\"LOCATION\":\"Vanuatu-S\",\"LAT\":-18.75,\"LON\":169.23,\"ELEV\":837,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.351\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[169.42499993,-19.51864981]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0507-10=\",\"NAME_\":\"YASUR\",\"LOCATION\":\"Vanuatu-S\",\"LAT\":-19.52,\"LON\":169.425,\"ELEV\":361,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.352\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[169.82999994,-20.19861062]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0507-11-\",\"NAME_\":\"ANEITYUM\",\"LOCATION\":\"Vanuatu-S\",\"LAT\":-20.2,\"LON\":169.83,\"ELEV\":852,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.353\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[171.32000008,-22.3284934]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0508-01=\",\"NAME_\":\"MATTHEW I\",\"LOCATION\":\"SW Pacifi\",\"LAT\":-22.33,\"LON\":171.32,\"ELEV\":177,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.354\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[172.04999992,-22.3984897]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0508-02=\",\"NAME_\":\"HUNTER IS\",\"LOCATION\":\"SW Pacifi\",\"LAT\":-22.4,\"LON\":172.05,\"ELEV\":297,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.355\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[168.63000004,-25.77832132]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0508-03-\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"SW Pacifi\",\"LAT\":-25.78,\"LON\":168.63,\"ELEV\":-2400,\"TYPE_\":\"Submarine\",\"STATUS\":\"Hydrophon\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.356\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[142.5000001,-37.76792611]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0509-01-\",\"NAME_\":\"NEWER VOL\",\"LOCATION\":\"Australia\",\"LAT\":-37.77,\"LON\":142.5,\"ELEV\":1011,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.357\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[94.24999991,13.42903125]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0600-001\",\"NAME_\":\"NARCONDUM\",\"LOCATION\":\"Andaman I\",\"LAT\":13.43,\"LON\":94.25,\"ELEV\":710,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.358\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[93.87499994,12.29110787]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0600-01=\",\"NAME_\":\"BARREN IS\",\"LOCATION\":\"Andaman I\",\"LAT\":12.292,\"LON\":93.875,\"ELEV\":305,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.359\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[95.33000007,5.879563]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0601-01=\",\"NAME_\":\"PULAU WEH\",\"LOCATION\":\"Sumatra\",\"LAT\":5.88,\"LON\":95.33,\"ELEV\":584,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.360\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[95.6,5.42459625]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0601-02=\",\"NAME_\":\"SEULAWAH\",\"LOCATION\":\"Sumatra\",\"LAT\":5.425,\"LON\":95.6,\"ELEV\":1726,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.361\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[96.33000005,4.92463318]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0601-03=\",\"NAME_\":\"PEUET SAG\",\"LOCATION\":\"Sumatra\",\"LAT\":4.925,\"LON\":96.33,\"ELEV\":2780,\"TYPE_\":\"Complex v\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.362\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[96.7999999,4.81964089]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0601-04=\",\"NAME_\":\"GEUREUDON\",\"LOCATION\":\"Sumatra\",\"LAT\":4.82,\"LON\":96.8,\"ELEV\":2590,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.363\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[96.8079999,4.76964466]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0601-05=\",\"NAME_\":\"TELONG, B\",\"LOCATION\":\"Sumatra\",\"LAT\":4.77,\"LON\":96.808,\"ELEV\":2624,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.364\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[97.59999997,3.86971112]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0601-06=\",\"NAME_\":\"GAYOLESTE\",\"LOCATION\":\"Sumatra\",\"LAT\":3.87,\"LON\":97.6,\"ELEV\":1500,\"TYPE_\":\"Fumarole\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.365\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[98.47000007,3.20776032]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0601-07=\",\"NAME_\":\"SIBAYAK\",\"LOCATION\":\"Sumatra\",\"LAT\":3.208,\"LON\":98.47,\"ELEV\":2212,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.366\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[98.39200005,3.16976311]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0601-08=\",\"NAME_\":\"SINABUNG\",\"LOCATION\":\"Sumatra\",\"LAT\":3.17,\"LON\":98.392,\"ELEV\":2460,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.367\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[98.82999991,2.57980705]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0601-09=\",\"NAME_\":\"TOBA\",\"LOCATION\":\"Sumatra\",\"LAT\":2.58,\"LON\":98.83,\"ELEV\":2157,\"TYPE_\":\"Caldera\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.368\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[98.92999997,2.02984827]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0601-10=\",\"NAME_\":\"HELATOBA-\",\"LOCATION\":\"Sumatra\",\"LAT\":2.03,\"LON\":98.93,\"ELEV\":1100,\"TYPE_\":\"Fumarole\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.369\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[99.25000004,1.56988252]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0601-11=\",\"NAME_\":\"BUAL BUAL\",\"LOCATION\":\"Sumatra\",\"LAT\":1.57,\"LON\":99.25,\"ELEV\":1819,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.370\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[99.53700005,0.68694851]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0601-12=\",\"NAME_\":\"SORIKMARA\",\"LOCATION\":\"Sumatra\",\"LAT\":0.687,\"LON\":99.537,\"ELEV\":2145,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.371\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[99.98200004,0.07899407]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0601-13=\",\"NAME_\":\"TALAKMAU\",\"LOCATION\":\"Sumatra\",\"LAT\":0.079,\"LON\":99.982,\"ELEV\":2912,\"TYPE_\":\"Complex v\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.372\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[100.47099991,-0.37997161]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0601-14=\",\"NAME_\":\"MARAPI\",\"LOCATION\":\"Sumatra\",\"LAT\":-0.38,\"LON\":100.471,\"ELEV\":2891,\"TYPE_\":\"Complex v\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.373\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[100.31700003,-0.43296759]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0601-15=\",\"NAME_\":\"TANDIKAT\",\"LOCATION\":\"Sumatra\",\"LAT\":-0.433,\"LON\":100.317,\"ELEV\":2438,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.374\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[100.67900003,-0.97792686]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0601-16=\",\"NAME_\":\"TALANG\",\"LOCATION\":\"Sumatra\",\"LAT\":-0.978,\"LON\":100.679,\"ELEV\":2896,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.375\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[101.2699999,-1.69187332]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0601-17=\",\"NAME_\":\"KERINCI\",\"LOCATION\":\"Sumatra\",\"LAT\":-1.692,\"LON\":101.27,\"ELEV\":3805,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.376\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[101.59999991,-2.26983028]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0601-171\",\"NAME_\":\"HUTAPANJA\",\"LOCATION\":\"Sumatra\",\"LAT\":-2.27,\"LON\":101.6,\"ELEV\":0,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.377\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[101.73000002,-2.41981907]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0601-18=\",\"NAME_\":\"SUMBING\",\"LOCATION\":\"Sumatra\",\"LAT\":-2.42,\"LON\":101.73,\"ELEV\":2508,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.378\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[101.62999995,-2.59180628]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0601-19=\",\"NAME_\":\"KUNYIT\",\"LOCATION\":\"Sumatra\",\"LAT\":-2.592,\"LON\":101.63,\"ELEV\":2151,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.379\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[102.02000005,-2.81978929]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0601-191\",\"NAME_\":\"PENDAN\",\"LOCATION\":\"Sumatra\",\"LAT\":-2.82,\"LON\":102.02,\"ELEV\":0,\"TYPE_\":\"Unknown\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.380\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[102.17999998,-2.81978929]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0601-20=\",\"NAME_\":\"BELIRANG-\",\"LOCATION\":\"Sumatra\",\"LAT\":-2.82,\"LON\":102.18,\"ELEV\":1958,\"TYPE_\":\"Compound\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.381\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[102.36999995,-3.37974759]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0601-21=\",\"NAME_\":\"LUMUTDAUN\",\"LOCATION\":\"Sumatra\",\"LAT\":-3.38,\"LON\":102.37,\"ELEV\":2467,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.382\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[102.62,-3.51973723]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0601-22=\",\"NAME_\":\"KABA\",\"LOCATION\":\"Sumatra\",\"LAT\":-3.52,\"LON\":102.62,\"ELEV\":1952,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.383\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[103.13000004,-4.02969942]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0601-23=\",\"NAME_\":\"DEMPO\",\"LOCATION\":\"Sumatra\",\"LAT\":-4.03,\"LON\":103.13,\"ELEV\":3173,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.384\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[103.29999991,-4.26968154]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0601-231\",\"NAME_\":\"PATAH\",\"LOCATION\":\"Sumatra\",\"LAT\":-4.27,\"LON\":103.3,\"ELEV\":2817,\"TYPE_\":\"Unknown\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.385\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[103.61999998,-4.21968532]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0601-24=\",\"NAME_\":\"LUMUT BAL\",\"LOCATION\":\"Sumatra\",\"LAT\":-4.22,\"LON\":103.62,\"ELEV\":2055,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.386\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[103.66999991,-4.42966963]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0601-25=\",\"NAME_\":\"BESAR, GU\",\"LOCATION\":\"Sumatra\",\"LAT\":-4.43,\"LON\":103.67,\"ELEV\":1899,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.387\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[103.91999996,-4.82964012]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0601-251\",\"NAME_\":\"RANAU\",\"LOCATION\":\"Sumatra\",\"LAT\":-4.83,\"LON\":103.92,\"ELEV\":1881,\"TYPE_\":\"Caldera\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.388\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[104.31999999,-5.11961877]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0601-26=\",\"NAME_\":\"SEKINCAU\",\"LOCATION\":\"Sumatra\",\"LAT\":-5.12,\"LON\":104.32,\"ELEV\":1719,\"TYPE_\":\"Caldera\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.389\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[104.27000007,-5.2496093]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0601-27=\",\"NAME_\":\"SUOH\",\"LOCATION\":\"Sumatra\",\"LAT\":-5.25,\"LON\":104.27,\"ELEV\":1000,\"TYPE_\":\"Maars\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.390\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[104.60000008,-5.3496018]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0601-28=\",\"NAME_\":\"HULUBELU\",\"LOCATION\":\"Sumatra\",\"LAT\":-5.35,\"LON\":104.6,\"ELEV\":1040,\"TYPE_\":\"Caldera\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.391\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[105.62499992,-5.77957029]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0601-29=\",\"NAME_\":\"RAJABASA\",\"LOCATION\":\"Sumatra\",\"LAT\":-5.78,\"LON\":105.625,\"ELEV\":1281,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.392\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[105.42300006,-6.10154672]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0602-00=\",\"NAME_\":\"KRAKATAU\",\"LOCATION\":\"Indonesia\",\"LAT\":-6.102,\"LON\":105.423,\"ELEV\":813,\"TYPE_\":\"Caldera\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.393\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[105.97000006,-6.19953946]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0603-01=\",\"NAME_\":\"DANAU COM\",\"LOCATION\":\"Java\",\"LAT\":-6.2,\"LON\":105.97,\"ELEV\":1778,\"TYPE_\":\"Caldera\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.394\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[106.04200003,-6.26953437]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0603-02=\",\"NAME_\":\"KARANG\",\"LOCATION\":\"Java\",\"LAT\":-6.27,\"LON\":106.042,\"ELEV\":1778,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.395\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[106.64999998,-6.72950094]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0603-03=\",\"NAME_\":\"KIARABERE\",\"LOCATION\":\"Java\",\"LAT\":-6.73,\"LON\":106.65,\"ELEV\":1511,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.396\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[106.68000002,-6.74949937]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0603-04=\",\"NAME_\":\"PERBAKTI\",\"LOCATION\":\"Java\",\"LAT\":-6.75,\"LON\":106.68,\"ELEV\":1699,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.397\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[106.72999994,-6.71950151]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0603-05=\",\"NAME_\":\"SALAK\",\"LOCATION\":\"Java\",\"LAT\":-6.72,\"LON\":106.73,\"ELEV\":2211,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.398\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[106.97999999,-6.77949722]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0603-06=\",\"NAME_\":\"GEDE\",\"LOCATION\":\"Java\",\"LAT\":-6.78,\"LON\":106.98,\"ELEV\":2958,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.399\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[107.37000009,-7.14947034]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0603-07=\",\"NAME_\":\"PATUHA\",\"LOCATION\":\"Java\",\"LAT\":-7.15,\"LON\":107.37,\"ELEV\":2434,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.400\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[107.63000008,-7.20746606]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0603-08=\",\"NAME_\":\"WAYANG-WI\",\"LOCATION\":\"Java\",\"LAT\":-7.208,\"LON\":107.63,\"ELEV\":2182,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.401\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[107.60000004,-6.76949801]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0603-09=\",\"NAME_\":\"TANGKUBAN\",\"LOCATION\":\"Java\",\"LAT\":-6.77,\"LON\":107.6,\"ELEV\":2084,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.402\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[107.72999993,-7.31945811]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0603-10=\",\"NAME_\":\"PAPANDAYA\",\"LOCATION\":\"Java\",\"LAT\":-7.32,\"LON\":107.73,\"ELEV\":2665,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.403\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[107.71999999,-7.22946451]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0603-11=\",\"NAME_\":\"KAWAHMANU\",\"LOCATION\":\"Java\",\"LAT\":-7.23,\"LON\":107.72,\"ELEV\":2608,\"TYPE_\":\"Fumarole\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.404\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[107.79999995,-7.12447209]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0603-12=\",\"NAME_\":\"KAWAHKAMO\",\"LOCATION\":\"Java\",\"LAT\":-7.125,\"LON\":107.8,\"ELEV\":1730,\"TYPE_\":\"Fumarole\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.405\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[107.82999999,-7.1294717]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0603-13=\",\"NAME_\":\"GUNTUR\",\"LOCATION\":\"Java\",\"LAT\":-7.13,\"LON\":107.83,\"ELEV\":2249,\"TYPE_\":\"Complex v\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.406\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[107.94999994,-6.76949801]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0603-131\",\"NAME_\":\"TAMPOMAS\",\"LOCATION\":\"Java\",\"LAT\":-6.77,\"LON\":107.95,\"ELEV\":1684,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.407\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[108.05,-7.24946315]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0603-14=\",\"NAME_\":\"GALUNGGUN\",\"LOCATION\":\"Java\",\"LAT\":-7.25,\"LON\":108.05,\"ELEV\":2168,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.408\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[108.0700001,-7.20746606]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0603-15=\",\"NAME_\":\"TALAGABOD\",\"LOCATION\":\"Java\",\"LAT\":-7.208,\"LON\":108.07,\"ELEV\":1020,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.409\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[108.08000004,-7.16946899]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0603-16=\",\"NAME_\":\"KAWAHKARA\",\"LOCATION\":\"Java\",\"LAT\":-7.17,\"LON\":108.08,\"ELEV\":1155,\"TYPE_\":\"Fumarole\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.410\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[108.3999999,-6.89148903]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0603-17=\",\"NAME_\":\"CEREME\",\"LOCATION\":\"Java\",\"LAT\":-6.892,\"LON\":108.4,\"ELEV\":3078,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.411\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[109.20799997,-7.24146374]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0603-18=\",\"NAME_\":\"SLAMET\",\"LOCATION\":\"Java\",\"LAT\":-7.242,\"LON\":109.208,\"ELEV\":3432,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.412\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[109.92000008,-7.19946664]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0603-20=\",\"NAME_\":\"DIENG VOL\",\"LOCATION\":\"Java\",\"LAT\":-7.2,\"LON\":109.92,\"ELEV\":2565,\"TYPE_\":\"Complex v\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.413\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[109.99200005,-7.29945946]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0603-21=\",\"NAME_\":\"SUNDORO\",\"LOCATION\":\"Java\",\"LAT\":-7.3,\"LON\":109.992,\"ELEV\":3151,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.414\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[110.05799997,-7.37945363]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0603-22=\",\"NAME_\":\"SUMBING\",\"LOCATION\":\"Java\",\"LAT\":-7.38,\"LON\":110.058,\"ELEV\":3371,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D4\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.415\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[110.33000006,-7.17946821]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0603-23=\",\"NAME_\":\"UNGARAN\",\"LOCATION\":\"Java\",\"LAT\":-7.18,\"LON\":110.33,\"ELEV\":2050,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.416\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[110.40000008,-7.36945441]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0603-231\",\"NAME_\":\"TELOMOYO\",\"LOCATION\":\"Java\",\"LAT\":-7.37,\"LON\":110.4,\"ELEV\":1894,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.417\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[110.42999991,-7.44944859]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0603-24=\",\"NAME_\":\"MERBABU\",\"LOCATION\":\"Java\",\"LAT\":-7.45,\"LON\":110.43,\"ELEV\":3145,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D4\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.418\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[110.44200001,-7.541442]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0603-25=\",\"NAME_\":\"MERAPI\",\"LOCATION\":\"Java\",\"LAT\":-7.542,\"LON\":110.442,\"ELEV\":2911,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.419\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[111.19199995,-7.624436]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0603-26=\",\"NAME_\":\"LAWU\",\"LOCATION\":\"Java\",\"LAT\":-7.625,\"LON\":111.192,\"ELEV\":3265,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.420\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[111.75799996,-7.80742285]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0603-27=\",\"NAME_\":\"WILIS\",\"LOCATION\":\"Java\",\"LAT\":-7.808,\"LON\":111.758,\"ELEV\":2563,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.421\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[112.30799999,-7.92941395]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0603-28=\",\"NAME_\":\"KELUT\",\"LOCATION\":\"Java\",\"LAT\":-7.93,\"LON\":112.308,\"ELEV\":1731,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.422\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[112.44999998,-7.91941473]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0603-281\",\"NAME_\":\"KAWI-BUTA\",\"LOCATION\":\"Java\",\"LAT\":-7.92,\"LON\":112.45,\"ELEV\":2651,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.423\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[112.58000008,-7.72442884]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0603-29=\",\"NAME_\":\"ARJUNO-WE\",\"LOCATION\":\"Java\",\"LAT\":-7.725,\"LON\":112.58,\"ELEV\":3339,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.424\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[112.63000001,-7.61943639]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0603-291\",\"NAME_\":\"PENANGGUN\",\"LOCATION\":\"Java\",\"LAT\":-7.62,\"LON\":112.63,\"ELEV\":1653,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.425\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[112.67999993,-8.01940759]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0603-292\",\"NAME_\":\"MALANG PL\",\"LOCATION\":\"Java\",\"LAT\":-8.02,\"LON\":112.68,\"ELEV\":680,\"TYPE_\":\"Maars\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.426\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[112.92000004,-8.10740123]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0603-30=\",\"NAME_\":\"SEMERU\",\"LOCATION\":\"Java\",\"LAT\":-8.108,\"LON\":112.92,\"ELEV\":3676,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.427\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[112.95000008,-7.94141319]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0603-31=\",\"NAME_\":\"TENGGER C\",\"LOCATION\":\"Java\",\"LAT\":-7.942,\"LON\":112.95,\"ELEV\":2329,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.428\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[113.34199991,-7.99940894]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0603-32=\",\"NAME_\":\"LAMONGAN\",\"LOCATION\":\"Java\",\"LAT\":-8,\"LON\":113.342,\"ELEV\":1651,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.429\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[113.58000007,-7.69943058]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0603-321\",\"NAME_\":\"LURUS\",\"LOCATION\":\"Java\",\"LAT\":-7.7,\"LON\":113.58,\"ELEV\":539,\"TYPE_\":\"Complex v\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.430\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[113.56999991,-7.96941106]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0603-33=\",\"NAME_\":\"IYANG-ARG\",\"LOCATION\":\"Java\",\"LAT\":-7.97,\"LON\":113.57,\"ELEV\":3088,\"TYPE_\":\"Complex v\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.431\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[114.04199992,-8.12439987]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0603-34=\",\"NAME_\":\"RAUNG\",\"LOCATION\":\"Java\",\"LAT\":-8.125,\"LON\":114.042,\"ELEV\":3332,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.432\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[114.24200004,-8.05740469]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0603-35=\",\"NAME_\":\"IJEN\",\"LOCATION\":\"Java\",\"LAT\":-8.058,\"LON\":114.242,\"ELEV\":2386,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.433\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[114.36999998,-7.84941975]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0603-351\",\"NAME_\":\"BALURAN\",\"LOCATION\":\"Java\",\"LAT\":-7.85,\"LON\":114.37,\"ELEV\":1247,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.434\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[115.13000007,-8.27938891]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0604-001\",\"NAME_\":\"BRATAN\",\"LOCATION\":\"Lesser Su\",\"LAT\":-8.28,\"LON\":115.13,\"ELEV\":2276,\"TYPE_\":\"Caldera\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.435\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[115.37499994,-8.2413916]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0604-01=\",\"NAME_\":\"BATUR\",\"LOCATION\":\"Lesser Su\",\"LAT\":-8.242,\"LON\":115.375,\"ELEV\":1717,\"TYPE_\":\"Caldera\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.436\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[115.50800007,-8.34138428]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0604-02=\",\"NAME_\":\"AGUNG\",\"LOCATION\":\"Lesser Su\",\"LAT\":-8.342,\"LON\":115.508,\"ELEV\":3142,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.437\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[116.47000002,-8.41937871]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0604-03=\",\"NAME_\":\"RINJANI\",\"LOCATION\":\"Lesser Su\",\"LAT\":-8.42,\"LON\":116.47,\"ELEV\":3726,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.438\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[117.99999993,-8.24939102]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0604-04=\",\"NAME_\":\"TAMBORA\",\"LOCATION\":\"Lesser Su\",\"LAT\":-8.25,\"LON\":118,\"ELEV\":2850,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.439\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[119.05800005,-8.17939603]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0604-05=\",\"NAME_\":\"SANGEANG\",\"LOCATION\":\"Lesser Su\",\"LAT\":-8.18,\"LON\":119.058,\"ELEV\":1949,\"TYPE_\":\"Complex v\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.440\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[119.35000003,-8.51937161]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0604-051\",\"NAME_\":\"GILIBANTA\",\"LOCATION\":\"Lesser Su\",\"LAT\":-8.52,\"LON\":119.35,\"ELEV\":0,\"TYPE_\":\"Submarine\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.441\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[120.02499997,-8.6793601]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0604-06=\",\"NAME_\":\"SANO, WAI\",\"LOCATION\":\"Lesser Su\",\"LAT\":-8.68,\"LON\":120.025,\"ELEV\":903,\"TYPE_\":\"Caldera\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.442\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[120.4799999,-8.6793601]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0604-07=\",\"NAME_\":\"POCO LEOK\",\"LOCATION\":\"Lesser Su\",\"LAT\":-8.68,\"LON\":120.48,\"ELEV\":1675,\"TYPE_\":\"Unknown\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.443\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[120.5200001,-8.61936452]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0604-071\",\"NAME_\":\"RANAKAH,\",\"LOCATION\":\"Lesser Su\",\"LAT\":-8.62,\"LON\":120.52,\"ELEV\":2100,\"TYPE_\":\"Lava dome\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.444\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[120.94999996,-8.87434634]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0604-08=\",\"NAME_\":\"INIERIE\",\"LOCATION\":\"Lesser Su\",\"LAT\":-8.875,\"LON\":120.95,\"ELEV\":2245,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.445\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[120.98,-8.72935667]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0604-09=\",\"NAME_\":\"INIELIKA\",\"LOCATION\":\"Lesser Su\",\"LAT\":-8.73,\"LON\":120.98,\"ELEV\":1559,\"TYPE_\":\"Complex v\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.446\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[121.17999991,-8.80735112]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0604-10=\",\"NAME_\":\"EBULOBO\",\"LOCATION\":\"Lesser Su\",\"LAT\":-8.808,\"LON\":121.18,\"ELEV\":2124,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.447\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[121.63000009,-8.87934595]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0604-11=\",\"NAME_\":\"IYA\",\"LOCATION\":\"Lesser Su\",\"LAT\":-8.88,\"LON\":121.63,\"ELEV\":637,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.448\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[121.76999992,-8.79135227]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0604-12=\",\"NAME_\":\"SUKARIA C\",\"LOCATION\":\"Lesser Su\",\"LAT\":-8.792,\"LON\":121.77,\"ELEV\":1500,\"TYPE_\":\"Caldera\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.449\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[121.78000007,-8.71935723]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0604-13=\",\"NAME_\":\"NDETE NAP\",\"LOCATION\":\"Lesser Su\",\"LAT\":-8.72,\"LON\":121.78,\"ELEV\":750,\"TYPE_\":\"Fumarole\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.450\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[121.83,-8.75735455]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0604-14=\",\"NAME_\":\"KELIMUTU\",\"LOCATION\":\"Lesser Su\",\"LAT\":-8.758,\"LON\":121.83,\"ELEV\":1640,\"TYPE_\":\"Complex v\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.451\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[121.7080001,-8.31938602]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0604-15=\",\"NAME_\":\"PALUWEH\",\"LOCATION\":\"Lesser Su\",\"LAT\":-8.32,\"LON\":121.708,\"ELEV\":875,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.452\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[122.45000004,-8.66936087]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0604-16=\",\"NAME_\":\"EGON\",\"LOCATION\":\"Lesser Su\",\"LAT\":-8.67,\"LON\":122.45,\"ELEV\":1703,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.453\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[122.67099992,-8.47737469]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0604-17=\",\"NAME_\":\"ILIMUDA\",\"LOCATION\":\"Lesser Su\",\"LAT\":-8.478,\"LON\":122.671,\"ELEV\":1100,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.454\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[122.77500009,-8.52937084]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0604-18=\",\"NAME_\":\"LEWOTOBI\",\"LOCATION\":\"Lesser Su\",\"LAT\":-8.53,\"LON\":122.775,\"ELEV\":1703,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.455\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[122.84200008,-8.35738313]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0604-20=\",\"NAME_\":\"LEREBOLEN\",\"LOCATION\":\"Lesser Su\",\"LAT\":-8.358,\"LON\":122.842,\"ELEV\":1117,\"TYPE_\":\"Complex v\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.456\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[122.89200001,-8.29938736]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0604-21=\",\"NAME_\":\"RIANG KOT\",\"LOCATION\":\"Lesser Su\",\"LAT\":-8.3,\"LON\":122.892,\"ELEV\":200,\"TYPE_\":\"Fumarole\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.457\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[123.2579999,-8.34138428]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0604-22=\",\"NAME_\":\"ILIBOLENG\",\"LOCATION\":\"Lesser Su\",\"LAT\":-8.342,\"LON\":123.258,\"ELEV\":1659,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.458\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[123.50499993,-8.27138949]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0604-23=\",\"NAME_\":\"LEWOTOLO\",\"LOCATION\":\"Lesser Su\",\"LAT\":-8.272,\"LON\":123.505,\"ELEV\":1423,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.459\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[123.41999999,-8.52937084]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0604-24=\",\"NAME_\":\"ILILABALE\",\"LOCATION\":\"Lesser Su\",\"LAT\":-8.53,\"LON\":123.42,\"ELEV\":1018,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.460\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[123.59000007,-8.53937028]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0604-25=\",\"NAME_\":\"ILIWERUNG\",\"LOCATION\":\"Lesser Su\",\"LAT\":-8.54,\"LON\":123.59,\"ELEV\":1018,\"TYPE_\":\"Complex v\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.461\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[123.57900005,-7.79142401]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0604-26=\",\"NAME_\":\"TARA, BAT\",\"LOCATION\":\"Lesser Su\",\"LAT\":-7.792,\"LON\":123.579,\"ELEV\":748,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.462\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[124.14800009,-8.50937238]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0604-27=\",\"NAME_\":\"SIRUNG\",\"LOCATION\":\"Lesser Su\",\"LAT\":-8.51,\"LON\":124.148,\"ELEV\":862,\"TYPE_\":\"Complex v\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.463\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[123.94999992,-7.52944277]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0604-28=\",\"NAME_\":\"YERSEY\",\"LOCATION\":\"Lesser Su\",\"LAT\":-7.53,\"LON\":123.95,\"ELEV\":-3800,\"TYPE_\":\"Submarine\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.464\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[124.22000006,-6.61950894]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0605-01=\",\"NAME_\":\"EMPEROR O\",\"LOCATION\":\"Banda Sea\",\"LAT\":-6.62,\"LON\":124.22,\"ELEV\":-2850,\"TYPE_\":\"Submarine\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.465\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[124.675,-6.5995103]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0605-02=\",\"NAME_\":\"NIEUWERKE\",\"LOCATION\":\"Banda Sea\",\"LAT\":-6.6,\"LON\":124.675,\"ELEV\":-2285,\"TYPE_\":\"Submarine\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.466\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[126.6499999,-6.64150717]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0605-03=\",\"NAME_\":\"GUNUNGAPI\",\"LOCATION\":\"Banda Sea\",\"LAT\":-6.642,\"LON\":126.65,\"ELEV\":282,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D5\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.467\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[128.67499994,-7.12447209]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0605-04=\",\"NAME_\":\"WURLALI\",\"LOCATION\":\"Banda Sea\",\"LAT\":-7.125,\"LON\":128.675,\"ELEV\":868,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.468\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[129.1249999,-6.91948709]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0605-05=\",\"NAME_\":\"TEON\",\"LOCATION\":\"Banda Sea\",\"LAT\":-6.92,\"LON\":129.125,\"ELEV\":655,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.469\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[129.50000008,-6.72950094]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0605-06=\",\"NAME_\":\"NILA\",\"LOCATION\":\"Banda Sea\",\"LAT\":-6.73,\"LON\":129.5,\"ELEV\":781,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.470\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[129.99999997,-6.29953222]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0605-07=\",\"NAME_\":\"SERUA\",\"LOCATION\":\"Banda Sea\",\"LAT\":-6.3,\"LON\":130,\"ELEV\":641,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.471\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[130.29199995,-5.52958859]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0605-08=\",\"NAME_\":\"MANUK\",\"LOCATION\":\"Banda Sea\",\"LAT\":-5.53,\"LON\":130.292,\"ELEV\":282,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.472\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[129.87099994,-4.5246627]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0605-09=\",\"NAME_\":\"BANDA API\",\"LOCATION\":\"Banda Sea\",\"LAT\":-4.525,\"LON\":129.871,\"ELEV\":640,\"TYPE_\":\"Caldera\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.473\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[121.60800004,-0.16998726]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0606-01=\",\"NAME_\":\"COLO [UNA\",\"LOCATION\":\"Sulawesi-\",\"LAT\":-0.17,\"LON\":121.608,\"ELEV\":507,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.474\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[124.41999998,0.74994389]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0606-02=\",\"NAME_\":\"AMBANG\",\"LOCATION\":\"Sulawesi-\",\"LAT\":0.75,\"LON\":124.42,\"ELEV\":1795,\"TYPE_\":\"Complex v\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.475\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[124.72499992,1.10791701]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0606-03=\",\"NAME_\":\"SOPUTAN\",\"LOCATION\":\"Sulawesi-\",\"LAT\":1.108,\"LON\":124.725,\"ELEV\":1784,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.476\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[124.7300001,1.14191461]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0606-04=\",\"NAME_\":\"SEMPU\",\"LOCATION\":\"Sulawesi-\",\"LAT\":1.142,\"LON\":124.73,\"ELEV\":1549,\"TYPE_\":\"Caldera\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.477\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[124.82999996,1.22990799]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0606-07-\",\"NAME_\":\"TONDANO C\",\"LOCATION\":\"Sulawesi-\",\"LAT\":1.23,\"LON\":124.83,\"ELEV\":1202,\"TYPE_\":\"Caldera\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.478\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[124.79199992,1.35789836]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0606-10=\",\"NAME_\":\"LOKON-EMP\",\"LOCATION\":\"Sulawesi-\",\"LAT\":1.358,\"LON\":124.792,\"ELEV\":1580,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.479\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[124.85800005,1.35789836]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0606-11=\",\"NAME_\":\"MAHAWU\",\"LOCATION\":\"Sulawesi-\",\"LAT\":1.358,\"LON\":124.858,\"ELEV\":1324,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.480\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[125.03000008,1.46988994]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0606-12=\",\"NAME_\":\"KLABAT\",\"LOCATION\":\"Sulawesi-\",\"LAT\":1.47,\"LON\":125.03,\"ELEV\":1995,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.481\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[125.19999995,1.51988633]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0606-13=\",\"NAME_\":\"TONGKOKO\",\"LOCATION\":\"Sulawesi-\",\"LAT\":1.52,\"LON\":125.2,\"ELEV\":1149,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.482\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[125.42499993,2.27982945]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0607-01=\",\"NAME_\":\"RUANG\",\"LOCATION\":\"Sangihe I\",\"LAT\":2.28,\"LON\":125.425,\"ELEV\":725,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.483\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[125.48000004,2.77979227]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0607-02=\",\"NAME_\":\"KARANGETA\",\"LOCATION\":\"Sangihe\",\"LAT\":2.78,\"LON\":125.48,\"ELEV\":1784,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.484\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[125.49100006,3.13776551]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0607-03=\",\"NAME_\":\"BANUA WUH\",\"LOCATION\":\"Sangihe I\",\"LAT\":3.138,\"LON\":125.491,\"ELEV\":-5,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.485\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[125.49999993,3.66972605]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0607-04=\",\"NAME_\":\"AWU\",\"LOCATION\":\"Sangihe I\",\"LAT\":3.67,\"LON\":125.5,\"ELEV\":1320,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.486\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[124.16999993,3.96970377]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0607-05=\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Sangihe I\",\"LAT\":3.97,\"LON\":124.17,\"ELEV\":-5000,\"TYPE_\":\"Submarine\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.487\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[127.8699999,1.69987291]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0608-01=\",\"NAME_\":\"DUKONO\",\"LOCATION\":\"Halmahera\",\"LAT\":1.7,\"LON\":127.87,\"ELEV\":1087,\"TYPE_\":\"Complex v\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.488\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[127.63,1.47988934]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0608-03=\",\"NAME_\":\"IBU\",\"LOCATION\":\"Halmahera\",\"LAT\":1.48,\"LON\":127.63,\"ELEV\":1325,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.489\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[127.51999999,1.37489716]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0608-04=\",\"NAME_\":\"GAMKONORA\",\"LOCATION\":\"Halmahera\",\"LAT\":1.375,\"LON\":127.52,\"ELEV\":1635,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.490\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[127.43000009,1.29990277]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0608-05=\",\"NAME_\":\"TODOKO-RA\",\"LOCATION\":\"Halmahera\",\"LAT\":1.3,\"LON\":127.43,\"ELEV\":979,\"TYPE_\":\"Calderas\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.491\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[127.32000008,1.1699124]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0608-051\",\"NAME_\":\"JAILOLO\",\"LOCATION\":\"Halmahera\",\"LAT\":1.17,\"LON\":127.32,\"ELEV\":1130,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.492\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[127.32500005,0.79994008]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0608-06=\",\"NAME_\":\"GAMALAMA\",\"LOCATION\":\"Halmahera\",\"LAT\":0.8,\"LON\":127.325,\"ELEV\":1715,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.493\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[127.40000005,0.44996637]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0608-061\",\"NAME_\":\"MOTIR\",\"LOCATION\":\"Halmahera\",\"LAT\":0.45,\"LON\":127.4,\"ELEV\":690,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.494\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[127.40000005,0.319976]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0608-07=\",\"NAME_\":\"MAKIAN\",\"LOCATION\":\"Halmahera\",\"LAT\":0.32,\"LON\":127.4,\"ELEV\":1357,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.495\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[117.87999998,4.399672]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0610-01-\",\"NAME_\":\"BOMBALAI\",\"LOCATION\":\"Borneo\",\"LAT\":4.4,\"LON\":117.88,\"ELEV\":531,\"TYPE_\":\"Cone\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.496\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[121.06999991,5.94955789]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0700-01=\",\"NAME_\":\"BUD DAJO\",\"LOCATION\":\"Sulu Is-P\",\"LAT\":5.95,\"LON\":121.07,\"ELEV\":440,\"TYPE_\":\"Pyroclast\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.497\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[125.37500001,5.39959823]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0701-01=\",\"NAME_\":\"BALUT\",\"LOCATION\":\"Mindanao-\",\"LAT\":5.4,\"LON\":125.375,\"ELEV\":852,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.498\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[125.1080001,6.36952711]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0701-02=\",\"NAME_\":\"MATUTUM\",\"LOCATION\":\"Mindanao-\",\"LAT\":6.37,\"LON\":125.108,\"ELEV\":2293,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.499\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[125.273,6.9864822]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0701-03=\",\"NAME_\":\"APO\",\"LOCATION\":\"Mindanao-\",\"LAT\":6.987,\"LON\":125.273,\"ELEV\":2954,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.500\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[126.39700004,7.39245264]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0701-031\",\"NAME_\":\"LEONARD R\",\"LOCATION\":\"Mindanao-\",\"LAT\":7.393,\"LON\":126.397,\"ELEV\":800,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.501\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[126.07300007,7.44244916]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0701-032\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Mindanao-\",\"LAT\":7.443,\"LON\":126.073,\"ELEV\":1300,\"TYPE_\":\"Unknown\",\"STATUS\":\"Hot Sprin\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.502\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[124.31999992,7.64643443]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0701-04=\",\"NAME_\":\"MAKATURIN\",\"LOCATION\":\"Mindanao-\",\"LAT\":7.647,\"LON\":124.32,\"ELEV\":1940,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.503\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[124.4699999,7.64943424]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0701-05=\",\"NAME_\":\"LATUKAN\",\"LOCATION\":\"Mindanao-\",\"LAT\":7.65,\"LON\":124.47,\"ELEV\":2158,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.504\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[124.49999994,7.66943268]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0701-06=\",\"NAME_\":\"RAGANG\",\"LOCATION\":\"Mindanao-\",\"LAT\":7.67,\"LON\":124.5,\"ELEV\":2815,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.505\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[124.79999992,7.94941259]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0701-061\",\"NAME_\":\"KALATUNGA\",\"LOCATION\":\"Mindanao-\",\"LAT\":7.95,\"LON\":124.8,\"ELEV\":2824,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.506\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[125.06799991,7.8764178]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0701-07=\",\"NAME_\":\"CALAYO\",\"LOCATION\":\"Mindanao-\",\"LAT\":7.877,\"LON\":125.068,\"ELEV\":646,\"TYPE_\":\"Tuff cone\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.507\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[123.63000006,8.21939311]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0701-071\",\"NAME_\":\"MALINDANG\",\"LOCATION\":\"Mindanao-\",\"LAT\":8.22,\"LON\":123.63,\"ELEV\":2435,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.508\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[124.92000007,8.79935167]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0701-072\",\"NAME_\":\"BALATOCAN\",\"LOCATION\":\"Mindanao-\",\"LAT\":8.8,\"LON\":124.92,\"ELEV\":2300,\"TYPE_\":\"Compound\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.509\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[124.67300005,9.20232284]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0701-08=\",\"NAME_\":\"HIBOK-HIB\",\"LOCATION\":\"Mindanao-\",\"LAT\":9.203,\"LON\":124.673,\"ELEV\":1332,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.510\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[125.52000002,9.5922953]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0701-09-\",\"NAME_\":\"PACO\",\"LOCATION\":\"Mindanao-\",\"LAT\":9.593,\"LON\":125.52,\"ELEV\":524,\"TYPE_\":\"Compound\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.511\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[123.17499991,9.25731904]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0702-01=\",\"NAME_\":\"MAGASO\",\"LOCATION\":\"Philippin\",\"LAT\":9.258,\"LON\":123.175,\"ELEV\":1904,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.512\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[123.13199991,10.41123781]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0702-02=\",\"NAME_\":\"CANLAON\",\"LOCATION\":\"Philippin\",\"LAT\":10.412,\"LON\":123.132,\"ELEV\":2435,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.513\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[123.22000008,10.61422357]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0702-03=\",\"NAME_\":\"MANDALAGA\",\"LOCATION\":\"Philippin\",\"LAT\":10.615,\"LON\":123.22,\"ELEV\":1879,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.514\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[123.23000002,10.76921272]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0702-04=\",\"NAME_\":\"SILAY\",\"LOCATION\":\"Philippin\",\"LAT\":10.77,\"LON\":123.23,\"ELEV\":1535,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.515\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[125.22000005,10.28624643]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0702-05=\",\"NAME_\":\"CABALIAN\",\"LOCATION\":\"Philippin\",\"LAT\":10.287,\"LON\":125.22,\"ELEV\":945,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.516\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[124.85300008,10.87120564]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0702-07=\",\"NAME_\":\"MAHAGNOA\",\"LOCATION\":\"Philippin\",\"LAT\":10.872,\"LON\":124.853,\"ELEV\":800,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.517\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[124.53400008,11.52216055]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0702-08=\",\"NAME_\":\"BILIRAN\",\"LOCATION\":\"Philippin\",\"LAT\":11.523,\"LON\":124.534,\"ELEV\":1187,\"TYPE_\":\"Compound\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.518\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[124.04999998,12.76907553]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0703-01=\",\"NAME_\":\"BULUSAN\",\"LOCATION\":\"Luzon-Phi\",\"LAT\":12.77,\"LON\":124.05,\"ELEV\":1565,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.519\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[123.95799991,13.04905676]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0703-02=\",\"NAME_\":\"POCDOL MO\",\"LOCATION\":\"Luzon-Phi\",\"LAT\":13.05,\"LON\":123.958,\"ELEV\":1102,\"TYPE_\":\"Compound\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.520\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[123.68499995,13.25604292]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0703-03=\",\"NAME_\":\"MAYON\",\"LOCATION\":\"Luzon-Phi\",\"LAT\":13.257,\"LON\":123.685,\"ELEV\":2462,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.521\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[123.60000002,13.3190386]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0703-031\",\"NAME_\":\"MASARAGA\",\"LOCATION\":\"Luzon-Phi\",\"LAT\":13.32,\"LON\":123.6,\"ELEV\":1328,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.522\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[123.59699999,13.42103179]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0703-04=\",\"NAME_\":\"MALINAO\",\"LOCATION\":\"Luzon-Phi\",\"LAT\":13.422,\"LON\":123.597,\"ELEV\":1548,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.523\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[123.45699995,13.45602946]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0703-041\",\"NAME_\":\"IRIGA\",\"LOCATION\":\"Luzon-Phi\",\"LAT\":13.457,\"LON\":123.457,\"ELEV\":1196,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D5\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.524\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[123.37000006,13.65701607]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0703-042\",\"NAME_\":\"ISAROG\",\"LOCATION\":\"Luzon-Phi\",\"LAT\":13.658,\"LON\":123.37,\"ELEV\":1966,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.525\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[122.79199995,14.01899209]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0703-043\",\"NAME_\":\"LABO\",\"LOCATION\":\"Luzon-Phi\",\"LAT\":14.02,\"LON\":122.792,\"ELEV\":1544,\"TYPE_\":\"Compound\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.526\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[122.01800002,13.23904398]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0703-044\",\"NAME_\":\"MALINDIG\",\"LOCATION\":\"Luzon-Phi\",\"LAT\":13.24,\"LON\":122.018,\"ELEV\":1157,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Hot Sprin\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.527\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[121.07799991,13.52902464]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0703-045\",\"NAME_\":\"DAGIT-DAG\",\"LOCATION\":\"Luzon-Phi\",\"LAT\":13.53,\"LON\":121.078,\"ELEV\":364,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Pleistoce\",\"TIME_FRAME\":\"Q\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.528\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[120.89299991,13.7220118]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0703-046\",\"NAME_\":\"PANAY\",\"LOCATION\":\"Luzon-Phi\",\"LAT\":13.723,\"LON\":120.893,\"ELEV\":501,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Pleistoce\",\"TIME_FRAME\":\"Q\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.529\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[121.4800001,14.06898871]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0703-05=\",\"NAME_\":\"BANAHAW\",\"LOCATION\":\"Luzon-Phi\",\"LAT\":14.07,\"LON\":121.48,\"ELEV\":2177,\"TYPE_\":\"Complex v\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.530\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[121.30000007,14.11898555]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0703-051\",\"NAME_\":\"LAGUNA VO\",\"LOCATION\":\"Luzon-Phi\",\"LAT\":14.12,\"LON\":121.3,\"ELEV\":654,\"TYPE_\":\"Scoria co\",\"STATUS\":\"Anthropol\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.531\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[121.20000001,14.12898484]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0703-06=\",\"NAME_\":\"MAQUILING\",\"LOCATION\":\"Luzon-Phi\",\"LAT\":14.13,\"LON\":121.2,\"ELEV\":1090,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.532\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[120.99299997,14.00099334]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0703-07=\",\"NAME_\":\"TAAL\",\"LOCATION\":\"Luzon-Phi\",\"LAT\":14.002,\"LON\":120.993,\"ELEV\":400,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.533\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[121.3299999,14.34897038]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0703-08=\",\"NAME_\":\"JALAJALA\",\"LOCATION\":\"Luzon-Phi\",\"LAT\":14.35,\"LON\":121.33,\"ELEV\":743,\"TYPE_\":\"Fumarole\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.534\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[120.5,14.49896054]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0703-081\",\"NAME_\":\"MARIVELES\",\"LOCATION\":\"Luzon-Phi\",\"LAT\":14.5,\"LON\":120.5,\"ELEV\":1420,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.535\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[120.39999994,14.70394725]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0703-082\",\"NAME_\":\"NATIB\",\"LOCATION\":\"Luzon-Phi\",\"LAT\":14.705,\"LON\":120.4,\"ELEV\":1287,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.536\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[120.35000001,15.12891957]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0703-083\",\"NAME_\":\"PINATUBO\",\"LOCATION\":\"Luzon-Phi\",\"LAT\":15.13,\"LON\":120.35,\"ELEV\":1600,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.537\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[120.74200005,15.19891507]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0703-084\",\"NAME_\":\"ARAYAT\",\"LOCATION\":\"Luzon-Phi\",\"LAT\":15.2,\"LON\":120.742,\"ELEV\":1026,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.538\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[120.80499995,15.82687486]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0703-085\",\"NAME_\":\"AMORONG\",\"LOCATION\":\"Luzon-Phi\",\"LAT\":15.828,\"LON\":120.805,\"ELEV\":376,\"TYPE_\":\"Unknown\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.539\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[120.54999993,16.32884312]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0703-086\",\"NAME_\":\"SANTO TOM\",\"LOCATION\":\"Luzon-Phi\",\"LAT\":16.33,\"LON\":120.55,\"ELEV\":2260,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.540\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[120.98,17.14579208]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0703-087\",\"NAME_\":\"PATOC\",\"LOCATION\":\"Luzon-Phi\",\"LAT\":17.147,\"LON\":120.98,\"ELEV\":1865,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.541\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[121.09300003,17.30678217]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0703-088\",\"NAME_\":\"BINULUAN\",\"LOCATION\":\"Luzon-Phi\",\"LAT\":17.308,\"LON\":121.093,\"ELEV\":2329,\"TYPE_\":\"Compound\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.542\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[121.09999995,17.31878132]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0703-089\",\"NAME_\":\"AMBALATUN\",\"LOCATION\":\"Luzon-Phi\",\"LAT\":17.32,\"LON\":121.1,\"ELEV\":0,\"TYPE_\":\"Compound\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.543\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[122.12300006,18.22072651]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0703-09=\",\"NAME_\":\"CAGUA\",\"LOCATION\":\"Luzon-Phi\",\"LAT\":18.222,\"LON\":122.123,\"ELEV\":1133,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.544\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[121.86000004,18.82869018]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0704-01=\",\"NAME_\":\"CAMIGUIN\",\"LOCATION\":\"Luzon-N o\",\"LAT\":18.83,\"LON\":121.86,\"ELEV\":712,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.545\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[122.20199994,19.07567563]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0704-02=\",\"NAME_\":\"DIDICAS\",\"LOCATION\":\"Luzon Is-\",\"LAT\":19.077,\"LON\":122.202,\"ELEV\":244,\"TYPE_\":\"Compound\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.546\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[121.94,19.52164964]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0704-03=\",\"NAME_\":\"BABUYAN C\",\"LOCATION\":\"Luzon Is-\",\"LAT\":19.523,\"LON\":121.94,\"ELEV\":1180,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.547\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[121.75000003,20.32860332]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0704-05=\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Luzon Is-\",\"LAT\":20.33,\"LON\":121.75,\"ELEV\":-24,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.548\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[122.01000003,20.46759542]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0704-06-\",\"NAME_\":\"IRAYA\",\"LOCATION\":\"Luzon Is-\",\"LAT\":20.469,\"LON\":122.01,\"ELEV\":1009,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.549\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[109.78000004,20.82857506]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0705-01-\",\"NAME_\":\"LEIZHOU B\",\"LOCATION\":\"SE Asia\",\"LAT\":20.83,\"LON\":109.78,\"ELEV\":259,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.550\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[109.12000001,15.3789035]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0705-02-\",\"NAME_\":\"CU-LAO RE\",\"LOCATION\":\"SE Asia\",\"LAT\":15.38,\"LON\":109.12,\"ELEV\":181,\"TYPE_\":\"Cones\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.551\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[108.00000007,14.9289326]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0705-03-\",\"NAME_\":\"TOROENG P\",\"LOCATION\":\"SE Asia\",\"LAT\":14.93,\"LON\":108,\"ELEV\":800,\"TYPE_\":\"Unknown\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.552\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[108.19999999,11.5991554]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0705-04-\",\"NAME_\":\"HAUT DONG\",\"LOCATION\":\"SE Asia\",\"LAT\":11.6,\"LON\":108.2,\"ELEV\":1000,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.553\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[107.2,10.79921068]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0705-05-\",\"NAME_\":\"BAS DONG\",\"LOCATION\":\"SE Asia\",\"LAT\":10.8,\"LON\":107.2,\"ELEV\":392,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.554\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[109.0139999,10.15725545]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0705-06-\",\"NAME_\":\"CENDRES,\",\"LOCATION\":\"SE Asia\",\"LAT\":10.158,\"LON\":109.014,\"ELEV\":-20,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.555\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[109.04999999,9.82927866]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0705-07-\",\"NAME_\":\"VETERAN\",\"LOCATION\":\"SE Asia\",\"LAT\":9.83,\"LON\":109.05,\"ELEV\":0,\"TYPE_\":\"Submarine\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.556\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[95.23,20.86857282]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0705-08-\",\"NAME_\":\"POPA\",\"LOCATION\":\"SE Asia\",\"LAT\":20.87,\"LON\":95.23,\"ELEV\":1518,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Anthropol\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.557\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[95.0999999,22.27849611]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0705-09-\",\"NAME_\":\"LOWER CHI\",\"LOCATION\":\"SE Asia\",\"LAT\":22.28,\"LON\":95.1,\"ELEV\":385,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.558\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[95.97999994,22.69847383]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0705-10-\",\"NAME_\":\"SINGU PLA\",\"LOCATION\":\"SE Asia\",\"LAT\":22.7,\"LON\":95.98,\"ELEV\":507,\"TYPE_\":\"Fissure v\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.559\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[98.47000007,25.31834297]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0705-11-\",\"NAME_\":\"TENGCHONG\",\"LOCATION\":\"China-S\",\"LAT\":25.32,\"LON\":98.47,\"ELEV\":2865,\"TYPE_\":\"Pyroclast\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D5\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.560\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[134.75000006,20.92856955]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0801-01=\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Taiwan-E\",\"LAT\":20.93,\"LON\":134.75,\"ELEV\":-6000,\"TYPE_\":\"Submarine\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.561\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[132.24999999,19.1686701]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0801-011\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Taiwan-E\",\"LAT\":19.17,\"LON\":132.25,\"ELEV\":-10,\"TYPE_\":\"Submarine\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.562\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[121.17999991,21.82852009]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0801-02=\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Taiwan-E\",\"LAT\":21.83,\"LON\":121.18,\"ELEV\":-115,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.563\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[121.83,23.99840718]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0801-03=\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Taiwan-E\",\"LAT\":24,\"LON\":121.83,\"ELEV\":0,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.564\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[121.91999991,24.8483654]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0801-031\",\"NAME_\":\"KUEI-SHAN\",\"LOCATION\":\"Taiwan\",\"LAT\":24.85,\"LON\":121.92,\"ELEV\":401,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Pleistoce\",\"TIME_FRAME\":\"Q\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.565\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[121.52000008,25.16835011]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0801-032\",\"NAME_\":\"DATUN GRO\",\"LOCATION\":\"Taiwan\",\"LAT\":25.17,\"LON\":121.52,\"ELEV\":1130,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Pleistoce\",\"TIME_FRAME\":\"Q\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.566\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[122.3300001,25.4183383]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0801-04=\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Taiwan-N\",\"LAT\":25.42,\"LON\":122.33,\"ELEV\":-100,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.567\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[122.0700001,25.6283283]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0801-041\",\"NAME_\":\"PENG-CHIA\",\"LOCATION\":\"Taiwan-N\",\"LAT\":25.63,\"LON\":122.07,\"ELEV\":129,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Pleistoce\",\"TIME_FRAME\":\"Q\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.568\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[122.45800004,26.17830293]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0801-05=\",\"NAME_\":\"ZENGYU\",\"LOCATION\":\"Taiwan-N\",\"LAT\":26.18,\"LON\":122.458,\"ELEV\":-418,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.569\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[124.00000005,24.55637961]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0802-01=\",\"NAME_\":\"IRIOMOTE-\",\"LOCATION\":\"Ryukyu Is\",\"LAT\":24.558,\"LON\":124,\"ELEV\":-200,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.570\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[128.25000004,27.84822966]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0802-02=\",\"NAME_\":\"OKINAWA-T\",\"LOCATION\":\"Ryukyu Is\",\"LAT\":27.85,\"LON\":128.25,\"ELEV\":217,\"TYPE_\":\"Complex v\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.571\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[129.59999993,29.4481653]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0802-021\",\"NAME_\":\"AKUSEKI-J\",\"LOCATION\":\"Ryukyu Is\",\"LAT\":29.45,\"LON\":129.6,\"ELEV\":586,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.572\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[129.72000009,29.52816219]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0802-03=\",\"NAME_\":\"SUWANOSE-\",\"LOCATION\":\"Ryukyu Is\",\"LAT\":29.53,\"LON\":129.72,\"ELEV\":799,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.573\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[129.87000008,29.8481501]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0802-04=\",\"NAME_\":\"NAKANO-SH\",\"LOCATION\":\"Ryukyu Is\",\"LAT\":29.85,\"LON\":129.87,\"ELEV\":979,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.574\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[129.92999995,29.96814555]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0802-041\",\"NAME_\":\"KUCHINO-S\",\"LOCATION\":\"Ryukyu Is\",\"LAT\":29.97,\"LON\":129.93,\"ELEV\":627,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.575\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[130.21999998,30.42812851]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0802-05=\",\"NAME_\":\"KUCHINOER\",\"LOCATION\":\"Ryukyu Is\",\"LAT\":30.43,\"LON\":130.22,\"ELEV\":649,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.576\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[130.28000006,30.77811604]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0802-06=\",\"NAME_\":\"KIKAI\",\"LOCATION\":\"Ryukyu Is\",\"LAT\":30.78,\"LON\":130.28,\"ELEV\":717,\"TYPE_\":\"Caldera\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.577\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[130.57000009,31.21810066]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0802-07=\",\"NAME_\":\"IBUSUKI V\",\"LOCATION\":\"Kyushu-Ja\",\"LAT\":31.22,\"LON\":130.57,\"ELEV\":922,\"TYPE_\":\"Calderas\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.578\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[130.66999994,31.57808823]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0802-08=\",\"NAME_\":\"SAKURA-JI\",\"LOCATION\":\"Kyushu-Ja\",\"LAT\":31.58,\"LON\":130.67,\"ELEV\":1117,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.579\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[130.59400008,31.76608196]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0802-081\",\"NAME_\":\"SUMIYOSHI\",\"LOCATION\":\"Kyushu-Ja\",\"LAT\":31.768,\"LON\":130.594,\"ELEV\":100,\"TYPE_\":\"Maars\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.580\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[130.87000006,31.9280767]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0802-09=\",\"NAME_\":\"KIRISHIMA\",\"LOCATION\":\"Kyushu-Ja\",\"LAT\":31.93,\"LON\":130.87,\"ELEV\":1700,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.581\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[130.29999994,32.74805052]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0802-10=\",\"NAME_\":\"UNZEN\",\"LOCATION\":\"Kyushu-Ja\",\"LAT\":32.75,\"LON\":130.3,\"ELEV\":1359,\"TYPE_\":\"Complex v\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.582\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[131.10000001,32.87804662]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0802-11=\",\"NAME_\":\"ASO\",\"LOCATION\":\"Kyushu-Ja\",\"LAT\":32.88,\"LON\":131.1,\"ELEV\":1592,\"TYPE_\":\"Caldera\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.583\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[131.25,33.07804046]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0802-12=\",\"NAME_\":\"KUJU GROU\",\"LOCATION\":\"Kyushu-Ja\",\"LAT\":33.08,\"LON\":131.25,\"ELEV\":1788,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D5\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.584\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[131.43000003,33.2780344]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0802-13=\",\"NAME_\":\"TSURUMI\",\"LOCATION\":\"Kyushu-Ja\",\"LAT\":33.28,\"LON\":131.43,\"ELEV\":1374,\"TYPE_\":\"Lava dome\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.585\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[131.5999999,34.49800003]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-001\",\"NAME_\":\"ABU\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":34.5,\"LON\":131.6,\"ELEV\":571,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.586\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[132.61999998,35.12798369]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-002\",\"NAME_\":\"SANBE\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":35.13,\"LON\":132.62,\"ELEV\":1126,\"TYPE_\":\"Caldera\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.587\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[133.32999994,36.16795906]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-003\",\"NAME_\":\"OKI-DOGO\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":36.17,\"LON\":133.33,\"ELEV\":151,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Anthropol\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.588\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[133.54999995,35.36797784]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-004\",\"NAME_\":\"DAISEN\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":35.37,\"LON\":133.55,\"ELEV\":1731,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.589\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[134.68000003,35.49797456]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-005\",\"NAME_\":\"KANNABE\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":35.5,\"LON\":134.68,\"ELEV\":460,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.590\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[139.12,34.91798917]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-01=\",\"NAME_\":\"IZU-TOBU\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":34.92,\"LON\":139.12,\"ELEV\":1406,\"TYPE_\":\"Pyroclast\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.591\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[139.01999993,35.21798156]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-02=\",\"NAME_\":\"HAKONE\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":35.22,\"LON\":139.02,\"ELEV\":1438,\"TYPE_\":\"Complex v\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.592\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[138.7299999,35.34797823]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-03=\",\"NAME_\":\"FUJI\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":35.35,\"LON\":138.73,\"ELEV\":3776,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D4\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.593\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[138.30000004,36.09796062]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-031\",\"NAME_\":\"TATESHINA\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":36.1,\"LON\":138.3,\"ELEV\":2530,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.594\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[137.48000008,35.8979651]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-04=\",\"NAME_\":\"ON-TAKE\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":35.9,\"LON\":137.48,\"ELEV\":3063,\"TYPE_\":\"Complex v\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.595\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[136.78000007,36.14795941]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-05=\",\"NAME_\":\"HAKU-SAN\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":36.15,\"LON\":136.78,\"ELEV\":2702,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D5\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.596\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[137.5500001,36.11796006]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-06=\",\"NAME_\":\"NORIKURA\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":36.12,\"LON\":137.55,\"ELEV\":3026,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.597\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[137.57999993,36.21795786]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-07=\",\"NAME_\":\"YAKE-DAKE\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":36.22,\"LON\":137.58,\"ELEV\":2455,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.598\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[137.60000003,36.56795006]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-08=\",\"NAME_\":\"TATE-YAMA\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":36.57,\"LON\":137.6,\"ELEV\":2621,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.599\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[138.0300001,36.91794277]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-09=\",\"NAME_\":\"NIIGATA-Y\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":36.92,\"LON\":138.03,\"ELEV\":2400,\"TYPE_\":\"Lava dome\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.600\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[138.12000001,36.87794362]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-10=\",\"NAME_\":\"MYOKO\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":36.88,\"LON\":138.12,\"ELEV\":2446,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.601\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[138.12999995,36.79794533]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-101\",\"NAME_\":\"KUROHIME\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":36.8,\"LON\":138.13,\"ELEV\":2053,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.602\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[138.12999995,36.72794678]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-102\",\"NAME_\":\"IIZUNA\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":36.73,\"LON\":138.13,\"ELEV\":1917,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.603\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[138.52999999,36.39795389]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-11=\",\"NAME_\":\"ASAMA\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":36.4,\"LON\":138.53,\"ELEV\":2560,\"TYPE_\":\"Complex v\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.604\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[138.55000009,36.61794912]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-12=\",\"NAME_\":\"KUSATSU-S\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":36.62,\"LON\":138.55,\"ELEV\":2176,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.605\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[138.52000005,36.69794738]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-121\",\"NAME_\":\"SHIGA\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":36.7,\"LON\":138.52,\"ELEV\":2036,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.606\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[138.8800001,36.46795238]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-122\",\"NAME_\":\"HARUNA\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":36.47,\"LON\":138.88,\"ELEV\":1449,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Anthropol\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.607\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[139.18000007,36.52795094]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-13=\",\"NAME_\":\"AKAGI\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":36.53,\"LON\":139.18,\"ELEV\":1828,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.608\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[139.27999993,36.94794219]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-131\",\"NAME_\":\"HIUCHI\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":36.95,\"LON\":139.28,\"ELEV\":2346,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.609\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[139.37999999,36.79794533]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-14=\",\"NAME_\":\"NIKKO-SHI\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":36.8,\"LON\":139.38,\"ELEV\":2578,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.610\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[139.49999994,36.76794592]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-141\",\"NAME_\":\"NANTAI\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":36.77,\"LON\":139.5,\"ELEV\":2484,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.611\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[139.49999994,36.77794565]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-142\",\"NAME_\":\"OMANAGO G\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":36.78,\"LON\":139.5,\"ELEV\":2375,\"TYPE_\":\"Lava dome\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.612\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[139.78000002,36.89794309]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-143\",\"NAME_\":\"TAKAHARA\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":36.9,\"LON\":139.78,\"ELEV\":1795,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.613\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[139.96999999,37.1179386]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-15=\",\"NAME_\":\"NASU\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":37.12,\"LON\":139.97,\"ELEV\":1917,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.614\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[139.5799999,37.42793259]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-151\",\"NAME_\":\"NUMAZAWA\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":37.43,\"LON\":139.58,\"ELEV\":1100,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.615\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[140.08,37.5979292]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-16=\",\"NAME_\":\"BANDAI\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":37.6,\"LON\":140.08,\"ELEV\":1819,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.616\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[140.27999991,37.61792892]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-17=\",\"NAME_\":\"ADATARA\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":37.62,\"LON\":140.28,\"ELEV\":1718,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.617\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[140.25000008,37.72792685]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-18=\",\"NAME_\":\"AZUMA\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":37.73,\"LON\":140.25,\"ELEV\":2024,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.618\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[140.45,38.14791917]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-19=\",\"NAME_\":\"ZAO\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":38.15,\"LON\":140.45,\"ELEV\":1841,\"TYPE_\":\"Complex v\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.619\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[140.18000006,38.59791147]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-191\",\"NAME_\":\"HIJIORI\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":38.6,\"LON\":140.18,\"ELEV\":516,\"TYPE_\":\"Caldera\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.620\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[140.73000008,38.72790946]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-20=\",\"NAME_\":\"NARUGO\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":38.73,\"LON\":140.73,\"ELEV\":462,\"TYPE_\":\"Lava dome\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.621\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[140.78000001,38.94790598]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-21=\",\"NAME_\":\"KURIKOMA\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":38.95,\"LON\":140.78,\"ELEV\":1628,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.622\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[140.03000007,39.07790388]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-22=\",\"NAME_\":\"CHOKAI\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":39.08,\"LON\":140.03,\"ELEV\":2230,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.623\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[140.7999999,39.74789444]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-23=\",\"NAME_\":\"AKITA-KOM\",\"LOCATION\":\"Japan\",\"LAT\":39.75,\"LON\":140.8,\"ELEV\":1637,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.624\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[141.00000002,39.84789295]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-24=\",\"NAME_\":\"IWATE\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":39.85,\"LON\":141,\"ELEV\":2041,\"TYPE_\":\"Complex v\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.625\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[140.85000003,39.9478917]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-25=\",\"NAME_\":\"HACHIMANT\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":39.95,\"LON\":140.85,\"ELEV\":1614,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.626\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[140.77000007,39.96789133]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-26=\",\"NAME_\":\"AKITA-YAK\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":39.97,\"LON\":140.77,\"ELEV\":1366,\"TYPE_\":\"Complex v\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.627\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[139.88000009,39.92789186]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-261\",\"NAME_\":\"KANPU\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":39.93,\"LON\":139.88,\"ELEV\":355,\"TYPE_\":\"Lava dome\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.628\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[139.7300001,39.9478917]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-262\",\"NAME_\":\"MEGATA\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":39.95,\"LON\":139.73,\"ELEV\":291,\"TYPE_\":\"Maars\",\"STATUS\":\"Tephrochr\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.629\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[140.30000001,40.64788325]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-27=\",\"NAME_\":\"IWAKI\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":40.65,\"LON\":140.3,\"ELEV\":1625,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.630\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[140.92000005,40.46788528]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-271\",\"NAME_\":\"TOWADA\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":40.47,\"LON\":140.92,\"ELEV\":1159,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.631\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[140.88000007,40.64788325]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-28=\",\"NAME_\":\"HAKKODA G\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":40.65,\"LON\":140.88,\"ELEV\":1585,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.632\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[141.07999998,41.31787631]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-29=\",\"NAME_\":\"OSORE-YAM\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":41.32,\"LON\":141.08,\"ELEV\":879,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D4\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.633\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[141.07000004,41.42787529]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0803-30-\",\"NAME_\":\"MUTSU-HIU\",\"LOCATION\":\"Honshu-Ja\",\"LAT\":41.43,\"LON\":141.07,\"ELEV\":781,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.634\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[139.37999999,34.72799412]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0804-01=\",\"NAME_\":\"OSHIMA\",\"LOCATION\":\"Izu Is-Ja\",\"LAT\":34.73,\"LON\":139.38,\"ELEV\":758,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.635\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[139.27999993,34.51799959]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0804-011\",\"NAME_\":\"TO-SHIMA\",\"LOCATION\":\"Izu Is-Ja\",\"LAT\":34.52,\"LON\":139.28,\"ELEV\":508,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.636\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[139.26999998,34.36800363]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0804-02=\",\"NAME_\":\"NII-JIMA\",\"LOCATION\":\"Izu Is-Ja\",\"LAT\":34.37,\"LON\":139.27,\"ELEV\":432,\"TYPE_\":\"Lava dome\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.637\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[139.15000003,34.21800772]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0804-03=\",\"NAME_\":\"KOZU-SHIM\",\"LOCATION\":\"Izu Is-Ja\",\"LAT\":34.22,\"LON\":139.15,\"ELEV\":574,\"TYPE_\":\"Lava dome\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.638\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[139.52999997,34.07801153]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0804-04=\",\"NAME_\":\"MIYAKE-JI\",\"LOCATION\":\"Izu Is-Ja\",\"LAT\":34.08,\"LON\":139.53,\"ELEV\":815,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.639\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[139.67999996,33.39803102]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0804-041\",\"NAME_\":\"KUROSE HO\",\"LOCATION\":\"Izu Is-Ja\",\"LAT\":33.4,\"LON\":139.68,\"ELEV\":-107,\"TYPE_\":\"Submarine\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.640\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[139.77000008,33.12803889]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0804-05=\",\"NAME_\":\"HACHIJO-J\",\"LOCATION\":\"Izu Is-Ja\",\"LAT\":33.13,\"LON\":139.77,\"ELEV\":854,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D5\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.641\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[139.77000008,32.44805992]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0804-06=\",\"NAME_\":\"AOGA-SHIM\",\"LOCATION\":\"Izu Is-Ja\",\"LAT\":32.45,\"LON\":139.77,\"ELEV\":423,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D4\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.642\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[139.92000007,31.91807709]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0804-07=\",\"NAME_\":\"BAYONNAIS\",\"LOCATION\":\"Izu Is-Ja\",\"LAT\":31.92,\"LON\":139.92,\"ELEV\":10,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.643\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[140.04999996,31.31809707]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0804-08=\",\"NAME_\":\"SMITH ROC\",\"LOCATION\":\"Izu Is-Ja\",\"LAT\":31.32,\"LON\":140.05,\"ELEV\":136,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.644\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[140.3200001,30.47812683]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0804-09=\",\"NAME_\":\"TORI-SHIM\",\"LOCATION\":\"Izu Is-Ja\",\"LAT\":30.48,\"LON\":140.32,\"ELEV\":403,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.645\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[140.7999999,29.21817406]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0804-091\",\"NAME_\":\"OMACHI SE\",\"LOCATION\":\"Izu Is-Ja\",\"LAT\":29.22,\"LON\":140.8,\"ELEV\":-1700,\"TYPE_\":\"Submarine\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.646\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[140.87700005,27.24125572]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0804-092\",\"NAME_\":\"NISHINO-S\",\"LOCATION\":\"Volcano I\",\"LAT\":27.243,\"LON\":140.877,\"ELEV\":52,\"TYPE_\":\"Caldera\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.647\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[144.47999998,26.12830529]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0804-093\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Volcano I\",\"LAT\":26.13,\"LON\":144.48,\"ELEV\":-3200,\"TYPE_\":\"Submarine\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.648\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[141.10200003,26.12030566]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0804-10=\",\"NAME_\":\"KAITOKU S\",\"LOCATION\":\"Volcano I\",\"LAT\":26.122,\"LON\":141.102,\"ELEV\":-10,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.649\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[141.22999997,25.42833778]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0804-11=\",\"NAME_\":\"KITA-IWO-\",\"LOCATION\":\"Volcano I\",\"LAT\":25.43,\"LON\":141.23,\"ELEV\":792,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.650\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[141.33000003,24.74837018]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0804-12=\",\"NAME_\":\"IWO-JIMA\",\"LOCATION\":\"Volcano I\",\"LAT\":24.75,\"LON\":141.33,\"ELEV\":161,\"TYPE_\":\"Caldera\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.651\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[141.52,24.27839335]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0804-13=\",\"NAME_\":\"SHIN-IWO-\",\"LOCATION\":\"Volcano I\",\"LAT\":24.28,\"LON\":141.52,\"ELEV\":-14,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.652\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[141.90499991,23.50543209]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0804-131\",\"NAME_\":\"MINAMI-HI\",\"LOCATION\":\"Volcano I\",\"LAT\":23.507,\"LON\":141.905,\"ELEV\":-30,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.653\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[142.30799998,23.07345426]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0804-132\",\"NAME_\":\"NIKKO\",\"LOCATION\":\"Volcano I\",\"LAT\":23.075,\"LON\":142.308,\"ELEV\":-391,\"TYPE_\":\"Submarine\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.654\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[143.44199996,21.92351505]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0804-133\",\"NAME_\":\"FUKUJIN\",\"LOCATION\":\"Volcano I\",\"LAT\":21.925,\"LON\":143.442,\"ELEV\":-217,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.655\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[143.7200001,21.76852347]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0804-134\",\"NAME_\":\"KASUGA SE\",\"LOCATION\":\"Volcano I\",\"LAT\":21.77,\"LON\":143.72,\"ELEV\":-558,\"TYPE_\":\"Submarine\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.656\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[142.89999993,20.99856568]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0804-135\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Mariana I\",\"LAT\":21,\"LON\":142.9,\"ELEV\":0,\"TYPE_\":\"Submarine\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.657\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[143.1999999,20.29860498]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0804-136\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Mariana I\",\"LAT\":20.3,\"LON\":143.2,\"ELEV\":0,\"TYPE_\":\"Submarine\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.658\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[144.8999999,20.52859192]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0804-14=\",\"NAME_\":\"FARALLON\",\"LOCATION\":\"Mariana I\",\"LAT\":20.53,\"LON\":144.9,\"ELEV\":360,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.659\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[145.03,20.42859772]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0804-141\",\"NAME_\":\"AHYI\",\"LOCATION\":\"Mariana I\",\"LAT\":20.43,\"LON\":145.03,\"ELEV\":-70,\"TYPE_\":\"Submarine\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.660\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[145.10000002,20.12861457]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0804-142\",\"NAME_\":\"SUPPLY RE\",\"LOCATION\":\"Mariana I\",\"LAT\":20.13,\"LON\":145.1,\"ELEV\":-8,\"TYPE_\":\"Submarine\",\"STATUS\":\"Hydrophon\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.661\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[145.4,19.66864108]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0804-15=\",\"NAME_\":\"ASUNCION\",\"LOCATION\":\"Mariana I\",\"LAT\":19.67,\"LON\":145.4,\"ELEV\":857,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.662\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[145.66999993,18.76869386]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0804-16=\",\"NAME_\":\"AGRIGAN\",\"LOCATION\":\"Mariana I\",\"LAT\":18.77,\"LON\":145.67,\"ELEV\":965,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.663\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[145.80000003,18.12873199]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0804-17=\",\"NAME_\":\"PAGAN\",\"LOCATION\":\"Mariana I\",\"LAT\":18.13,\"LON\":145.8,\"ELEV\":570,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.664\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[145.83000007,17.59876424]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0804-18=\",\"NAME_\":\"ALAMAGAN\",\"LOCATION\":\"Mariana I\",\"LAT\":17.6,\"LON\":145.83,\"ELEV\":744,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.665\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[145.84999996,17.31878132]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0804-19=\",\"NAME_\":\"GUGUAN\",\"LOCATION\":\"Mariana I\",\"LAT\":17.32,\"LON\":145.85,\"ELEV\":287,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.666\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[145.77999994,16.70681941]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0804-191\",\"NAME_\":\"SARIGAN\",\"LOCATION\":\"Mariana I\",\"LAT\":16.708,\"LON\":145.78,\"ELEV\":538,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.667\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[145.66999993,16.34884174]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0804-20=\",\"NAME_\":\"ANATAHAN\",\"LOCATION\":\"Mariana I\",\"LAT\":16.35,\"LON\":145.67,\"ELEV\":788,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.668\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[145.57000008,15.61888801]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0804-201\",\"NAME_\":\"RUBY\",\"LOCATION\":\"Mariana I\",\"LAT\":15.62,\"LON\":145.57,\"ELEV\":-230,\"TYPE_\":\"Submarine\",\"STATUS\":\"Hydrophon\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.669\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[145.25000001,14.99892808]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0804-21=\",\"NAME_\":\"ESMERALDA\",\"LOCATION\":\"Mariana I\",\"LAT\":15,\"LON\":145.25,\"ELEV\":-43,\"TYPE_\":\"Submarine\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.670\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[139.37000004,41.49787468]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0805-01=\",\"NAME_\":\"OSHIMA-OS\",\"LOCATION\":\"Hokkaido-\",\"LAT\":41.5,\"LON\":139.37,\"ELEV\":737,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D4\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.671\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[141.1700001,41.79787207]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0805-011\",\"NAME_\":\"E-SAN\",\"LOCATION\":\"Hokkaido-\",\"LAT\":41.8,\"LON\":141.17,\"ELEV\":618,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.672\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[140.67999995,42.06786989]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0805-02=\",\"NAME_\":\"KOMAGA-TA\",\"LOCATION\":\"Hokkaido-\",\"LAT\":42.07,\"LON\":140.68,\"ELEV\":1140,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.673\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[140.45,42.11786965]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0805-021\",\"NAME_\":\"NIGORIGAW\",\"LOCATION\":\"Hokkaido-\",\"LAT\":42.12,\"LON\":140.45,\"ELEV\":356,\"TYPE_\":\"Hydrother\",\"STATUS\":\"Pleistoce\",\"TIME_FRAME\":\"Q\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.674\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[140.82999994,42.52786683]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0805-03=\",\"NAME_\":\"USU\",\"LOCATION\":\"Hokkaido-\",\"LAT\":42.53,\"LON\":140.83,\"ELEV\":731,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.675\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[140.63000002,42.87786468]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0805-031\",\"NAME_\":\"IWAONUPUR\",\"LOCATION\":\"Hokkaido-\",\"LAT\":42.88,\"LON\":140.63,\"ELEV\":1154,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.676\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[140.81999999,42.82786502]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0805-032\",\"NAME_\":\"YOTEI\",\"LOCATION\":\"Hokkaido-\",\"LAT\":42.83,\"LON\":140.82,\"ELEV\":1893,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.677\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[140.91599995,42.76486527]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0805-033\",\"NAME_\":\"SHIRIBETS\",\"LOCATION\":\"Hokkaido-\",\"LAT\":42.767,\"LON\":140.916,\"ELEV\":1107,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.678\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[141.18000005,42.49786698]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0805-034\",\"NAME_\":\"KUTTARA\",\"LOCATION\":\"Hokkaido-\",\"LAT\":42.5,\"LON\":141.18,\"ELEV\":581,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Tephrochr\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.679\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[141.33300006,42.69786566]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0805-04=\",\"NAME_\":\"SHIKOTSU\",\"LOCATION\":\"Hokkaido-\",\"LAT\":42.7,\"LON\":141.333,\"ELEV\":1320,\"TYPE_\":\"Caldera\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.680\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[141.25000007,45.17785931]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0805-041\",\"NAME_\":\"RISHIRI\",\"LOCATION\":\"Hokkaido-\",\"LAT\":45.18,\"LON\":141.25,\"ELEV\":1719,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.681\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[142.67999992,43.41786222]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0805-05=\",\"NAME_\":\"TOKACHI\",\"LOCATION\":\"Hokkaido-\",\"LAT\":43.42,\"LON\":142.68,\"ELEV\":2077,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.682\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[142.88000004,43.67786126]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0805-06=\",\"NAME_\":\"DAISETSU\",\"LOCATION\":\"Hokkaido-\",\"LAT\":43.68,\"LON\":142.88,\"ELEV\":2290,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Tephrochr\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.683\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[143.03000003,43.44786214]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0805-061\",\"NAME_\":\"NIPESOTSU\",\"LOCATION\":\"Japan\",\"LAT\":43.45,\"LON\":143.03,\"ELEV\":2013,\"TYPE_\":\"Lava dome\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.684\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[143.07999996,43.27786276]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0805-062\",\"NAME_\":\"SHIKARIBE\",\"LOCATION\":\"Hokkaido-\",\"LAT\":43.28,\"LON\":143.08,\"ELEV\":1430,\"TYPE_\":\"Lava dome\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.685\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[144.02000007,43.3778624]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0805-07=\",\"NAME_\":\"AKAN\",\"LOCATION\":\"Hokkaido-\",\"LAT\":43.38,\"LON\":144.02,\"ELEV\":1499,\"TYPE_\":\"Caldera\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.686\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[144.43000005,43.54786162]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0805-08=\",\"NAME_\":\"KUTCHARO\",\"LOCATION\":\"Hokkaido-\",\"LAT\":43.55,\"LON\":144.43,\"ELEV\":1000,\"TYPE_\":\"Caldera\",\"STATUS\":\"Tephrochr\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.687\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[144.5700001,43.56786164]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0805-081\",\"NAME_\":\"MASHU\",\"LOCATION\":\"Hokkaido-\",\"LAT\":43.57,\"LON\":144.57,\"ELEV\":855,\"TYPE_\":\"Caldera\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.688\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[145.12500009,44.07086007]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0805-082\",\"NAME_\":\"RAUSU\",\"LOCATION\":\"Hokkaido-\",\"LAT\":44.073,\"LON\":145.125,\"ELEV\":1660,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.689\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[145.17000004,44.12786]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0805-09=\",\"NAME_\":\"SHIRETOKO\",\"LOCATION\":\"Hokkaido\",\"LAT\":44.13,\"LON\":145.17,\"ELEV\":1563,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.690\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[145.5300001,43.84786082]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-01=\",\"NAME_\":\"GOLOVNIN\",\"LOCATION\":\"Kurile Is\",\"LAT\":43.85,\"LON\":145.53,\"ELEV\":541,\"TYPE_\":\"Caldera\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.691\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[145.69999997,43.97786036]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-02=\",\"NAME_\":\"MENDELEEV\",\"LOCATION\":\"Kurile Is\",\"LAT\":43.98,\"LON\":145.7,\"ELEV\":887,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.692\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[146.13000005,44.42785945]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-021\",\"NAME_\":\"SMIRNOV\",\"LOCATION\":\"Kurile Is\",\"LAT\":44.43,\"LON\":146.13,\"ELEV\":1189,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.693\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[146.27000009,44.35585958]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-03=\",\"NAME_\":\"TIATIA\",\"LOCATION\":\"Kurile Is\",\"LAT\":44.358,\"LON\":146.27,\"ELEV\":1819,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.694\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[146.92999991,44.46785938]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-04=\",\"NAME_\":\"BERUTARUB\",\"LOCATION\":\"Kurile Is\",\"LAT\":44.47,\"LON\":146.93,\"ELEV\":1220,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.695\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[146.99999993,44.61785921]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-041\",\"NAME_\":\"LVINAYA P\",\"LOCATION\":\"Kurile Is\",\"LAT\":44.62,\"LON\":147,\"ELEV\":528,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.696\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[147.13000003,44.80185922]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-05=\",\"NAME_\":\"ATSONUPUR\",\"LOCATION\":\"Kurile Is\",\"LAT\":44.804,\"LON\":147.13,\"ELEV\":1205,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.697\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[147.36999993,44.82785915]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-06-\",\"NAME_\":\"BOGATYR R\",\"LOCATION\":\"Kurile Is\",\"LAT\":44.83,\"LON\":147.37,\"ELEV\":1634,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.698\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[147.20800005,45.02785905]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-061\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Kurile Is\",\"LAT\":45.03,\"LON\":147.208,\"ELEV\":-930,\"TYPE_\":\"Submarine\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.699\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[147.87000003,45.0178591]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-07=\",\"NAME_\":\"GROZNY GR\",\"LOCATION\":\"Kurile Is\",\"LAT\":45.02,\"LON\":147.87,\"ELEV\":1211,\"TYPE_\":\"Complex v\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.700\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[148.02000001,45.09785909]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-08=\",\"NAME_\":\"BARANSKY\",\"LOCATION\":\"Kurile Is\",\"LAT\":45.1,\"LON\":148.02,\"ELEV\":1132,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.701\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[147.91999995,45.37785939]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-09=\",\"NAME_\":\"CHIRIP\",\"LOCATION\":\"Kurile Is\",\"LAT\":45.38,\"LON\":147.92,\"ELEV\":1589,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.702\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[148.35000003,45.24785917]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-091\",\"NAME_\":\"GOLETS-TO\",\"LOCATION\":\"Kurile Is\",\"LAT\":45.25,\"LON\":148.35,\"ELEV\":442,\"TYPE_\":\"Pyroclast\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.703\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[148.83000003,45.37785939]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-10=\",\"NAME_\":\"MEDVEZHIA\",\"LOCATION\":\"Kurile Is\",\"LAT\":45.38,\"LON\":148.83,\"ELEV\":1124,\"TYPE_\":\"Somma vol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.704\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[148.84999992,45.49785949]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-11-\",\"NAME_\":\"DEMON\",\"LOCATION\":\"Kurile Is\",\"LAT\":45.5,\"LON\":148.85,\"ELEV\":1205,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.705\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[149.68000003,45.76785991]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-111\",\"NAME_\":\"IVAO GROU\",\"LOCATION\":\"Kurile Is\",\"LAT\":45.77,\"LON\":149.68,\"ELEV\":1426,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.706\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[149.83000002,45.87786016]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-112\",\"NAME_\":\"RUDAKOV\",\"LOCATION\":\"Kurile Is\",\"LAT\":45.88,\"LON\":149.83,\"ELEV\":542,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.707\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[149.91999992,45.92786042]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-113\",\"NAME_\":\"TRI SESTR\",\"LOCATION\":\"Kurile Is\",\"LAT\":45.93,\"LON\":149.92,\"ELEV\":998,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.708\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[150.05000002,46.03986068]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-12=\",\"NAME_\":\"KOLOKOL G\",\"LOCATION\":\"Kurile Is\",\"LAT\":46.042,\"LON\":150.05,\"ELEV\":1328,\"TYPE_\":\"Somma vol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.709\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[150.49999999,46.09786077]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-13-\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Kurile Is\",\"LAT\":46.1,\"LON\":150.5,\"ELEV\":-100,\"TYPE_\":\"Submarine\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.710\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[150.87499996,46.52286238]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-15=\",\"NAME_\":\"CHIRPOI\",\"LOCATION\":\"Kurile Is\",\"LAT\":46.525,\"LON\":150.875,\"ELEV\":742,\"TYPE_\":\"Caldera\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.711\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[151.27999996,46.46786205]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-16-\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Kurile Is\",\"LAT\":46.47,\"LON\":151.28,\"ELEV\":-502,\"TYPE_\":\"Submarine\",\"STATUS\":\"Hydrophon\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.712\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[151.78000006,46.81786371]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-17A\",\"NAME_\":\"MILNE\",\"LOCATION\":\"Kurile Is\",\"LAT\":46.82,\"LON\":151.78,\"ELEV\":1540,\"TYPE_\":\"Somma vol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.713\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[151.75000002,46.8278637]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-17B\",\"NAME_\":\"GORIASCHA\",\"LOCATION\":\"Kurile Is\",\"LAT\":46.83,\"LON\":151.75,\"ELEV\":891,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.714\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[151.94999993,46.92286427]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-18=\",\"NAME_\":\"ZAVARITZK\",\"LOCATION\":\"Kurile Is\",\"LAT\":46.925,\"LON\":151.95,\"ELEV\":624,\"TYPE_\":\"Caldera\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.715\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[152.12000002,47.01786465]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-19=\",\"NAME_\":\"PREVO PEA\",\"LOCATION\":\"Kurile Is\",\"LAT\":47.02,\"LON\":152.12,\"ELEV\":1360,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.716\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[152.23000002,47.11786526]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-191\",\"NAME_\":\"URATAMAN\",\"LOCATION\":\"Kurile Is\",\"LAT\":47.12,\"LON\":152.23,\"ELEV\":678,\"TYPE_\":\"Somma vol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.717\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[152.4750001,47.34786658]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-20=\",\"NAME_\":\"KETOI\",\"LOCATION\":\"Kurile Is\",\"LAT\":47.35,\"LON\":152.475,\"ELEV\":1172,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.718\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[152.79999993,47.51786777]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-21=\",\"NAME_\":\"USHISHUR\",\"LOCATION\":\"Kurile Is\",\"LAT\":47.52,\"LON\":152.8,\"ELEV\":401,\"TYPE_\":\"Caldera\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.719\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[152.92000009,47.59786827]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-211\",\"NAME_\":\"SREDNII\",\"LOCATION\":\"Kurile Is\",\"LAT\":47.6,\"LON\":152.92,\"ELEV\":36,\"TYPE_\":\"Submarine\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.720\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[153.01999994,47.76786957]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-22=\",\"NAME_\":\"RASSHUA\",\"LOCATION\":\"Kurile Is\",\"LAT\":47.77,\"LON\":153.02,\"ELEV\":956,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.721\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[153.33000007,48.07787189]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-23=\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Kurile Is\",\"LAT\":48.08,\"LON\":153.33,\"ELEV\":-150,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.722\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[153.19999997,48.08987208]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-24=\",\"NAME_\":\"SARYCHEV\",\"LOCATION\":\"Kurile Is\",\"LAT\":48.092,\"LON\":153.2,\"ELEV\":1496,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.723\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[153.2500001,48.28987368]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-25=\",\"NAME_\":\"RAIKOKE\",\"LOCATION\":\"Kurile Is\",\"LAT\":48.292,\"LON\":153.25,\"ELEV\":551,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.724\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[153.48000006,48.97788019]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-26=\",\"NAME_\":\"CHIRINKOT\",\"LOCATION\":\"Kurile Is\",\"LAT\":48.98,\"LON\":153.48,\"ELEV\":724,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.725\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[153.93000002,48.95588012]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-27=\",\"NAME_\":\"EKARMA\",\"LOCATION\":\"Kurile Is\",\"LAT\":48.958,\"LON\":153.93,\"ELEV\":1170,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.726\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[154.01999993,48.76787819]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-28=\",\"NAME_\":\"KUNTOMINT\",\"LOCATION\":\"Kurile Is\",\"LAT\":48.77,\"LON\":154.02,\"ELEV\":828,\"TYPE_\":\"Hydrother\",\"STATUS\":\"Pleistoce\",\"TIME_FRAME\":\"Q\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.727\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[154.1750001,48.87287928]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-29=\",\"NAME_\":\"SINARKA\",\"LOCATION\":\"Kurile Is\",\"LAT\":48.875,\"LON\":154.175,\"ELEV\":934,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.728\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[154.50799993,49.11788172]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-30=\",\"NAME_\":\"HARIMKOTA\",\"LOCATION\":\"Kurile Is\",\"LAT\":49.12,\"LON\":154.508,\"ELEV\":1145,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.729\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[154.70000005,49.34788423]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-31=\",\"NAME_\":\"TAO-RUSYR\",\"LOCATION\":\"Kurile Is\",\"LAT\":49.35,\"LON\":154.7,\"ELEV\":1325,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.730\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[154.8079999,49.56788682]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-32=\",\"NAME_\":\"NEMO PEAK\",\"LOCATION\":\"Kurile Is\",\"LAT\":49.57,\"LON\":154.808,\"ELEV\":1018,\"TYPE_\":\"Caldera\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.731\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[154.97999993,50.19789487]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-331\",\"NAME_\":\"SHIRINKI\",\"LOCATION\":\"Kurile Is\",\"LAT\":50.2,\"LON\":154.98,\"ELEV\":761,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.732\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[155.25000008,50.26789585]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-34=\",\"NAME_\":\"FUSS PEAK\",\"LOCATION\":\"Kurile Is\",\"LAT\":50.27,\"LON\":155.25,\"ELEV\":1772,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.733\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[155.37000002,50.12789411]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-35=\",\"NAME_\":\"KARPINSKY\",\"LOCATION\":\"Kurile Is\",\"LAT\":50.13,\"LON\":155.37,\"ELEV\":1345,\"TYPE_\":\"Cones\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.734\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[155.4300001,50.24789569]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-351\",\"NAME_\":\"LOMONOSOV\",\"LOCATION\":\"Kurile Is\",\"LAT\":50.25,\"LON\":155.43,\"ELEV\":1681,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.735\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[155.45799999,50.32289672]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-36=\",\"NAME_\":\"CHIKURACH\",\"LOCATION\":\"Kurile Is\",\"LAT\":50.325,\"LON\":155.458,\"ELEV\":1816,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.736\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[155.96999997,50.5478999]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-37-\",\"NAME_\":\"VERNADSKI\",\"LOCATION\":\"Kurile Is\",\"LAT\":50.55,\"LON\":155.97,\"ELEV\":1183,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.737\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[156.0199999,50.6779017]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-38=\",\"NAME_\":\"EBEKO\",\"LOCATION\":\"Kurile Is\",\"LAT\":50.68,\"LON\":156.02,\"ELEV\":1156,\"TYPE_\":\"Somma vol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.738\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[155.55000005,50.85590446]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"0900-39=\",\"NAME_\":\"ALAID\",\"LOCATION\":\"Kurile Is\",\"LAT\":50.858,\"LON\":155.55,\"ELEV\":2339,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.739\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[156.71999991,51.09790829]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-001\",\"NAME_\":\"MASHKOVTS\",\"LOCATION\":\"Kamchatka\",\"LAT\":51.1,\"LON\":156.72,\"ELEV\":503,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.740\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[156.8699999,51.29791144]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-01=\",\"NAME_\":\"KAMBALNY\",\"LOCATION\":\"Kamchatka\",\"LAT\":51.3,\"LON\":156.87,\"ELEV\":2156,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.741\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[156.74999995,51.35491243]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-02=\",\"NAME_\":\"KOSHELEV\",\"LOCATION\":\"Kamchatka\",\"LAT\":51.357,\"LON\":156.75,\"ELEV\":1812,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D5\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.742\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[156.55000004,51.59791645]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-021\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Kamchatka\",\"LAT\":51.6,\"LON\":156.55,\"ELEV\":298,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.743\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[156.92999998,51.42791369]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-022\",\"NAME_\":\"PAUZHETKA\",\"LOCATION\":\"Kamchatka\",\"LAT\":51.43,\"LON\":156.93,\"ELEV\":1331,\"TYPE_\":\"Calderas\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.744\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[157.19999991,51.48791457]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-03=\",\"NAME_\":\"ILYINSKY\",\"LOCATION\":\"Kamchatka\",\"LAT\":51.49,\"LON\":157.2,\"ELEV\":1578,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.745\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[157.32300009,51.5679159]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-04=\",\"NAME_\":\"ZHELTOVSK\",\"LOCATION\":\"Kamchatka\",\"LAT\":51.57,\"LON\":157.323,\"ELEV\":1953,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.746\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[157.3499999,51.64791745]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-041\",\"NAME_\":\"KELL\",\"LOCATION\":\"Kamchatka\",\"LAT\":51.65,\"LON\":157.35,\"ELEV\":900,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.747\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[157.26999993,51.74791904]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-042\",\"NAME_\":\"BELEN'KAY\",\"LOCATION\":\"Kamchatka\",\"LAT\":51.75,\"LON\":157.27,\"ELEV\":892,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.748\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[157.52999993,51.79792006]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-05=\",\"NAME_\":\"KSUDACH\",\"LOCATION\":\"Kamchatka\",\"LAT\":51.8,\"LON\":157.53,\"ELEV\":1079,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.749\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[157.37999994,51.87792145]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-051\",\"NAME_\":\"OZERNOY\",\"LOCATION\":\"Kamchatka\",\"LAT\":51.88,\"LON\":157.38,\"ELEV\":562,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.750\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[157.52999993,52.01792402]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-052\",\"NAME_\":\"PLOSKY VO\",\"LOCATION\":\"Kamchatka\",\"LAT\":52.02,\"LON\":157.53,\"ELEV\":681,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.751\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[157.70300003,52.06092481]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-053\",\"NAME_\":\"KHODUTKA\",\"LOCATION\":\"Kamchatka\",\"LAT\":52.063,\"LON\":157.703,\"ELEV\":2090,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.752\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[157.84899992,52.11092566]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-054\",\"NAME_\":\"PIRATKOVS\",\"LOCATION\":\"Kamchatka\",\"LAT\":52.113,\"LON\":157.849,\"ELEV\":1322,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.753\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[157.47699997,52.07492491]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-055\",\"NAME_\":\"OLKOVIY\",\"LOCATION\":\"Kamchatka\",\"LAT\":52.077,\"LON\":157.477,\"ELEV\":636,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.754\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[157.32200002,52.15192648]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-056\",\"NAME_\":\"OSTANETS\",\"LOCATION\":\"Kamchatka\",\"LAT\":52.154,\"LON\":157.322,\"ELEV\":719,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.755\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[157.42799992,52.21792763]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-057\",\"NAME_\":\"OTDELNIY\",\"LOCATION\":\"Kamchatka\",\"LAT\":52.22,\"LON\":157.428,\"ELEV\":791,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.756\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[157.33000001,52.32792971]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-058\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Kamchatka\",\"LAT\":52.33,\"LON\":157.33,\"ELEV\":638,\"TYPE_\":\"Pyroclast\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.757\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[157.59999995,52.24792823]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-059\",\"NAME_\":\"TUNDROVIY\",\"LOCATION\":\"Kamchatka\",\"LAT\":52.25,\"LON\":157.6,\"ELEV\":739,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.758\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[158.19499993,52.45093205]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-06=\",\"NAME_\":\"MUTNOVSKY\",\"LOCATION\":\"Kamchatka\",\"LAT\":52.453,\"LON\":158.195,\"ELEV\":2322,\"TYPE_\":\"Complex v\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.759\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[157.7870001,52.26092845]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-061\",\"NAME_\":\"GOLAYA\",\"LOCATION\":\"Kamchatka\",\"LAT\":52.263,\"LON\":157.787,\"ELEV\":858,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.760\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[157.82700009,52.35293026]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-062\",\"NAME_\":\"ASACHA\",\"LOCATION\":\"Kamchatka\",\"LAT\":52.355,\"LON\":157.827,\"ELEV\":1910,\"TYPE_\":\"Complex v\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.761\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[157.92999996,52.42793169]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-063\",\"NAME_\":\"VISOKIY\",\"LOCATION\":\"Kamchatka\",\"LAT\":52.43,\"LON\":157.93,\"ELEV\":1234,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.762\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[158.03000002,52.55593412]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-07=\",\"NAME_\":\"GORELY\",\"LOCATION\":\"Kamchatka\",\"LAT\":52.558,\"LON\":158.03,\"ELEV\":1829,\"TYPE_\":\"Caldera\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.763\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[157.33499998,52.54093391]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-08=\",\"NAME_\":\"OPALA\",\"LOCATION\":\"Kamchatka\",\"LAT\":52.543,\"LON\":157.335,\"ELEV\":2475,\"TYPE_\":\"Caldera\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.764\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[157.02000009,52.56793446]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-081\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Kamchatka\",\"LAT\":52.57,\"LON\":157.02,\"ELEV\":610,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.765\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[157.58000006,52.62793551]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-082\",\"NAME_\":\"TOLMACHEV\",\"LOCATION\":\"Kamchatka\",\"LAT\":52.63,\"LON\":157.58,\"ELEV\":1021,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.766\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[158.29999996,52.67793664]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-083\",\"NAME_\":\"VILYUCHIK\",\"LOCATION\":\"Kamchatka\",\"LAT\":52.68,\"LON\":158.3,\"ELEV\":2173,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Tephrochr\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.767\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[158.26999992,52.82093937]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-084\",\"NAME_\":\"BARKHATNA\",\"LOCATION\":\"Kamchatka\",\"LAT\":52.823,\"LON\":158.27,\"ELEV\":870,\"TYPE_\":\"Lava dome\",\"STATUS\":\"Tephrochr\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.768\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[158.51999997,52.91794138]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-085\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Kamchatka\",\"LAT\":52.92,\"LON\":158.52,\"ELEV\":450,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.769\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[158.29999996,52.87794058]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-086\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Kamchatka\",\"LAT\":52.88,\"LON\":158.3,\"ELEV\":700,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.770\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[157.77999997,52.89794088]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-087\",\"NAME_\":\"BOLSHE-BA\",\"LOCATION\":\"Kamchatka\",\"LAT\":52.9,\"LON\":157.78,\"ELEV\":1200,\"TYPE_\":\"Lava dome\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.771\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[158.6879999,53.31794982]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-09=\",\"NAME_\":\"KORYAKSKY\",\"LOCATION\":\"Kamchatka\",\"LAT\":53.32,\"LON\":158.688,\"ELEV\":3456,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.772\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[158.8300001,53.25294838]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-10=\",\"NAME_\":\"AVACHINSK\",\"LOCATION\":\"Kamchatka\",\"LAT\":53.255,\"LON\":158.83,\"ELEV\":2741,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.773\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[158.10000005,53.62795652]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-101\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Kamchatka\",\"LAT\":53.63,\"LON\":158.1,\"ELEV\":200,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.774\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[158.41999991,53.62795652]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-102\",\"NAME_\":\"VEER\",\"LOCATION\":\"Kamchatka\",\"LAT\":53.63,\"LON\":158.42,\"ELEV\":350,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.775\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[158.92199995,53.63495681]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-11=\",\"NAME_\":\"DZENZURSK\",\"LOCATION\":\"Kamchatka\",\"LAT\":53.637,\"LON\":158.922,\"ELEV\":2155,\"TYPE_\":\"Compound\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.776\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[159.14699993,53.58795565]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-12=\",\"NAME_\":\"ZHUPANOVS\",\"LOCATION\":\"Kamchatka\",\"LAT\":53.59,\"LON\":159.147,\"ELEV\":2958,\"TYPE_\":\"Compound\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.777\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[158.3849999,53.90296286]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-121\",\"NAME_\":\"ZAVARITSK\",\"LOCATION\":\"Kamchatka\",\"LAT\":53.905,\"LON\":158.385,\"ELEV\":1567,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.778\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[158.07000001,53.90296286]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-122\",\"NAME_\":\"BAKENIN\",\"LOCATION\":\"Kamchatka\",\"LAT\":53.905,\"LON\":158.07,\"ELEV\":2277,\"TYPE_\":\"Caldera\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.779\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[159.44999993,53.97796458]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-123\",\"NAME_\":\"AKADEMIA\",\"LOCATION\":\"Kamchatka\",\"LAT\":53.98,\"LON\":159.45,\"ELEV\":1180,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.780\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[159.43000005,54.04796623]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-13=\",\"NAME_\":\"KARYMSKY\",\"LOCATION\":\"Kamchatka\",\"LAT\":54.05,\"LON\":159.43,\"ELEV\":1486,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.781\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[159.66999994,54.12796807]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-14=\",\"NAME_\":\"MALY SEMI\",\"LOCATION\":\"Kamchatka\",\"LAT\":54.13,\"LON\":159.67,\"ELEV\":1560,\"TYPE_\":\"Caldera\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.782\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[160.02000005,54.31797255]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-15=\",\"NAME_\":\"BOLSHOI S\",\"LOCATION\":\"Kamchatka\",\"LAT\":54.32,\"LON\":160.02,\"ELEV\":1720,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.783\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[159.80000004,54.52797771]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-16-\",\"NAME_\":\"TAUNSHITS\",\"LOCATION\":\"Kamchatka\",\"LAT\":54.53,\"LON\":159.8,\"ELEV\":2353,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.784\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[159.96999992,54.49797694]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-17=\",\"NAME_\":\"UZON\",\"LOCATION\":\"Kamchatka\",\"LAT\":54.5,\"LON\":159.97,\"ELEV\":1617,\"TYPE_\":\"Calderas\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.785\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[160.25300003,54.48497665]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-18=\",\"NAME_\":\"KIKHPINYC\",\"LOCATION\":\"Kamchatka\",\"LAT\":54.487,\"LON\":160.253,\"ELEV\":1552,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D5\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.786\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[160.27299992,54.59097915]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-19=\",\"NAME_\":\"KRASHENIN\",\"LOCATION\":\"Kamchatka\",\"LAT\":54.593,\"LON\":160.273,\"ELEV\":1856,\"TYPE_\":\"Caldera\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D5\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.787\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[160.52700007,54.75098306]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-20=\",\"NAME_\":\"KRONOTSKY\",\"LOCATION\":\"Kamchatka\",\"LAT\":54.753,\"LON\":160.527,\"ELEV\":3528,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.788\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[160.70199991,54.97098864]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-21=\",\"NAME_\":\"GAMCHEN\",\"LOCATION\":\"Kamchatka\",\"LAT\":54.973,\"LON\":160.702,\"ELEV\":2576,\"TYPE_\":\"Complex v\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.789\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[160.72000006,55.02999016]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-22=\",\"NAME_\":\"KOMAROV\",\"LOCATION\":\"Kamchatka\",\"LAT\":55.032,\"LON\":160.72,\"ELEV\":2070,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.790\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[160.76999999,55.06799117]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-221\",\"NAME_\":\"KOLKHOZHN\",\"LOCATION\":\"Kamchatka\",\"LAT\":55.07,\"LON\":160.77,\"ELEV\":2161,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.791\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[160.32000003,55.1279928]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-23=\",\"NAME_\":\"KIZIMEN\",\"LOCATION\":\"Kamchatka\",\"LAT\":55.13,\"LON\":160.32,\"ELEV\":2485,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.792\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[160.58699994,55.22799548]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-231\",\"NAME_\":\"IULT\",\"LOCATION\":\"Kamchatka\",\"LAT\":55.23,\"LON\":160.587,\"ELEV\":1857,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.793\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[161.75000009,55.918014]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-232\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Kamchatka\",\"LAT\":55.92,\"LON\":161.75,\"ELEV\":0,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.794\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[160.32999997,55.82801159]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-24=\",\"NAME_\":\"TOLBACHIK\",\"LOCATION\":\"Kamchatka\",\"LAT\":55.83,\"LON\":160.33,\"ELEV\":3682,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.795\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[160.52700007,55.75300953]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-241\",\"NAME_\":\"UDINA\",\"LOCATION\":\"Kamchatka\",\"LAT\":55.755,\"LON\":160.527,\"ELEV\":2923,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.796\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[160.60299993,55.86001247]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-242\",\"NAME_\":\"ZIMINA\",\"LOCATION\":\"Kamchatka\",\"LAT\":55.862,\"LON\":160.603,\"ELEV\":3081,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.797\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[160.58699994,55.97601576]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-25=\",\"NAME_\":\"BEZYMIANN\",\"LOCATION\":\"Kamchatka\",\"LAT\":55.978,\"LON\":160.587,\"ELEV\":2882,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.798\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[160.59299999,56.01801687]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-251\",\"NAME_\":\"KAMEN\",\"LOCATION\":\"Kamchatka\",\"LAT\":56.02,\"LON\":160.593,\"ELEV\":4585,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.799\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[160.63799994,56.05501787]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-26=\",\"NAME_\":\"KLIUCHEVS\",\"LOCATION\":\"Kamchatka\",\"LAT\":56.057,\"LON\":160.638,\"ELEV\":4835,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.800\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[160.47000001,56.1030192]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-261\",\"NAME_\":\"USHKOVSKY\",\"LOCATION\":\"Kamchatka\",\"LAT\":56.105,\"LON\":160.47,\"ELEV\":3943,\"TYPE_\":\"Compound\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.801\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[160.83000007,56.3780272]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-262\",\"NAME_\":\"ZARECHNY\",\"LOCATION\":\"Kamchatka\",\"LAT\":56.38,\"LON\":160.83,\"ELEV\":760,\"TYPE_\":\"Somma vol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.802\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[160.87000005,56.52803157]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-263\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Kamchatka\",\"LAT\":56.53,\"LON\":160.87,\"ELEV\":200,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.803\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[161.35999999,56.65103517]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-27=\",\"NAME_\":\"SHIVELUCH\",\"LOCATION\":\"Kamchatka\",\"LAT\":56.653,\"LON\":161.36,\"ELEV\":3283,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.804\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[167.33000008,55.41800047]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-271\",\"NAME_\":\"PIIP\",\"LOCATION\":\"Kamchatka\",\"LAT\":55.42,\"LON\":167.33,\"ELEV\":-300,\"TYPE_\":\"Submarine\",\"STATUS\":\"Tephrochr\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.805\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[157.37999994,54.74798317]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-272\",\"NAME_\":\"HANGAR\",\"LOCATION\":\"Kamchatka\",\"LAT\":54.75,\"LON\":157.38,\"ELEV\":2000,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.806\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[157.73000005,55.67800748]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-28=\",\"NAME_\":\"ICHINSKY\",\"LOCATION\":\"Kamchatka\",\"LAT\":55.68,\"LON\":157.73,\"ELEV\":3621,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.807\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[157.9800001,55.81801137]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-29-\",\"NAME_\":\"MALY PAYA\",\"LOCATION\":\"Kamchatka\",\"LAT\":55.82,\"LON\":157.98,\"ELEV\":1802,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.808\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[157.77999997,55.87801291]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-30-\",\"NAME_\":\"BOLSHOY P\",\"LOCATION\":\"Kamchatka\",\"LAT\":55.88,\"LON\":157.78,\"ELEV\":1906,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.809\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[158.47000004,55.19799465]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-31-\",\"NAME_\":\"PLOSKY\",\"LOCATION\":\"Kamchatka\",\"LAT\":55.2,\"LON\":158.47,\"ELEV\":1236,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.810\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[158.65000007,55.42800068]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-32-\",\"NAME_\":\"AKHTANG\",\"LOCATION\":\"Kamchatka\",\"LAT\":55.43,\"LON\":158.65,\"ELEV\":1956,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.811\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[158.37999992,55.5780047]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-33-\",\"NAME_\":\"KOZYREVSK\",\"LOCATION\":\"Kamchatka\",\"LAT\":55.58,\"LON\":158.38,\"ELEV\":2016,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.812\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[158.80000006,55.64800662]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-34-\",\"NAME_\":\"ROMANOVKA\",\"LOCATION\":\"Kamchatka\",\"LAT\":55.65,\"LON\":158.8,\"ELEV\":1442,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.813\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[158.37999992,56.07801864]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-35-\",\"NAME_\":\"UKSICHAN\",\"LOCATION\":\"Kamchatka\",\"LAT\":56.08,\"LON\":158.38,\"ELEV\":1692,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.814\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[157.80000007,56.46802973]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-36-\",\"NAME_\":\"BOLSHOY-K\",\"LOCATION\":\"Kamchatka\",\"LAT\":56.47,\"LON\":157.8,\"ELEV\":1401,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.815\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[158.36999998,56.36802676]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-37-\",\"NAME_\":\"KULKEV\",\"LOCATION\":\"Kamchatka\",\"LAT\":56.37,\"LON\":158.37,\"ELEV\":915,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.816\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[158.66999996,56.32802562]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-38-\",\"NAME_\":\"GEODESIST\",\"LOCATION\":\"Kamchatka\",\"LAT\":56.33,\"LON\":158.67,\"ELEV\":1170,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.817\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[158.8300001,56.31802539]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-39-\",\"NAME_\":\"ANAUN\",\"LOCATION\":\"Kamchatka\",\"LAT\":56.32,\"LON\":158.83,\"ELEV\":1828,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.818\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[159.03000001,56.36802676]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-40-\",\"NAME_\":\"KRAINY\",\"LOCATION\":\"Kamchatka\",\"LAT\":56.37,\"LON\":159.03,\"ELEV\":1554,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.819\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[158.84999998,56.39802767]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-41-\",\"NAME_\":\"KEKURNY\",\"LOCATION\":\"Kamchatka\",\"LAT\":56.4,\"LON\":158.85,\"ELEV\":1377,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.820\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[158.51999997,56.56803273]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-42-\",\"NAME_\":\"EGGELLA\",\"LOCATION\":\"Kamchatka\",\"LAT\":56.57,\"LON\":158.52,\"ELEV\":1046,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.821\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[158.95000004,56.81804021]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-43-\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Kamchatka\",\"LAT\":56.82,\"LON\":158.95,\"ELEV\":1185,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.822\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[159.5299999,56.51803112]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-44-\",\"NAME_\":\"VERKHOVOY\",\"LOCATION\":\"Kamchatka\",\"LAT\":56.52,\"LON\":159.53,\"ELEV\":1400,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.823\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[159.65000005,56.69803647]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-45-\",\"NAME_\":\"ALNEY-CHA\",\"LOCATION\":\"Kamchatka\",\"LAT\":56.7,\"LON\":159.65,\"ELEV\":2598,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.824\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[159.66999994,56.81804021]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-46-\",\"NAME_\":\"CHERNY\",\"LOCATION\":\"Kamchatka\",\"LAT\":56.82,\"LON\":159.67,\"ELEV\":1778,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.825\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[159.80000004,56.84804095]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-47-\",\"NAME_\":\"POGRANYCH\",\"LOCATION\":\"Kamchatka\",\"LAT\":56.85,\"LON\":159.8,\"ELEV\":1427,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.826\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[159.95000003,56.87804189]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-48-\",\"NAME_\":\"ZAOZERNY\",\"LOCATION\":\"Kamchatka\",\"LAT\":56.88,\"LON\":159.95,\"ELEV\":1349,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.827\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[159.77999995,56.96804474]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-49-\",\"NAME_\":\"BLIZNETS\",\"LOCATION\":\"Kamchatka\",\"LAT\":56.97,\"LON\":159.78,\"ELEV\":1244,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.828\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[159.92999993,57.0980486]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-50-\",\"NAME_\":\"KEBENEY\",\"LOCATION\":\"Kamchatka\",\"LAT\":57.1,\"LON\":159.93,\"ELEV\":1527,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.829\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[160.39999999,57.12804956]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-51-\",\"NAME_\":\"FEDOTYCH\",\"LOCATION\":\"Kamchatka\",\"LAT\":57.13,\"LON\":160.4,\"ELEV\":965,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.830\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[160.07999992,57.22805271]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-52-\",\"NAME_\":\"SEDANKINS\",\"LOCATION\":\"Kamchatka\",\"LAT\":57.23,\"LON\":160.08,\"ELEV\":1241,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.831\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[160.20000008,57.32805568]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-53-\",\"NAME_\":\"GORNY INS\",\"LOCATION\":\"Kamchatka\",\"LAT\":57.33,\"LON\":160.2,\"ELEV\":2125,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.832\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[159.83000008,57.29805491]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-54-\",\"NAME_\":\"LEUTONGEY\",\"LOCATION\":\"Kamchatka\",\"LAT\":57.3,\"LON\":159.83,\"ELEV\":1333,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.833\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[159.96999992,57.31805542]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-55-\",\"NAME_\":\"TUZOVSKY\",\"LOCATION\":\"Kamchatka\",\"LAT\":57.32,\"LON\":159.97,\"ELEV\":1533,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.834\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[160.10000002,57.3980579]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-56-\",\"NAME_\":\"TITILA\",\"LOCATION\":\"Kamchatka\",\"LAT\":57.4,\"LON\":160.1,\"ELEV\":1559,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.835\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[160.20000008,57.42805888]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-57-\",\"NAME_\":\"MEZHDUSOP\",\"LOCATION\":\"Kamchatka\",\"LAT\":57.43,\"LON\":160.2,\"ELEV\":1641,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.836\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[160.36999995,57.44805961]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-58-\",\"NAME_\":\"SHISHEL\",\"LOCATION\":\"Kamchatka\",\"LAT\":57.45,\"LON\":160.37,\"ELEV\":2525,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.837\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[160.53000009,57.5280621]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-59-\",\"NAME_\":\"ELOVSKY\",\"LOCATION\":\"Kamchatka\",\"LAT\":57.53,\"LON\":160.53,\"ELEV\":1381,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.838\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[160.39999999,57.69806741]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-60-\",\"NAME_\":\"ALNGEY\",\"LOCATION\":\"Kamchatka\",\"LAT\":57.7,\"LON\":160.4,\"ELEV\":1853,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.839\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[160.58000002,57.69806741]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-61-\",\"NAME_\":\"UKA\",\"LOCATION\":\"Kamchatka\",\"LAT\":57.7,\"LON\":160.58,\"ELEV\":1643,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.840\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[160.66999993,57.79807069]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-62-\",\"NAME_\":\"KAILENEY\",\"LOCATION\":\"Kamchatka\",\"LAT\":57.8,\"LON\":160.67,\"ELEV\":1582,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.841\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[160.25,57.8280717]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-63-\",\"NAME_\":\"PLOSKY\",\"LOCATION\":\"Kamchatka\",\"LAT\":57.83,\"LON\":160.25,\"ELEV\":1255,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.842\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[160.53000009,57.87807326]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-64-\",\"NAME_\":\"BELY\",\"LOCATION\":\"Kamchatka\",\"LAT\":57.88,\"LON\":160.53,\"ELEV\":2080,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.843\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[160.65000004,57.96807631]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-65-\",\"NAME_\":\"ATLASOVA\",\"LOCATION\":\"Kamchatka\",\"LAT\":57.97,\"LON\":160.65,\"ELEV\":1764,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.844\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[160.7500001,58.01807788]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-66-\",\"NAME_\":\"SNEZHNIY\",\"LOCATION\":\"Kamchatka\",\"LAT\":58.02,\"LON\":160.75,\"ELEV\":2169,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.845\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[160.76999999,58.07807994]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-67-\",\"NAME_\":\"IKTUNUP\",\"LOCATION\":\"Kamchatka\",\"LAT\":58.08,\"LON\":160.77,\"ELEV\":2300,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.846\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[160.81999991,58.1780831]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-68-\",\"NAME_\":\"OSTRY\",\"LOCATION\":\"Kamchatka\",\"LAT\":58.18,\"LON\":160.82,\"ELEV\":2552,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.847\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[160.9699999,58.19808386]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-69-\",\"NAME_\":\"SNEGOVOY\",\"LOCATION\":\"Kamchatka\",\"LAT\":58.2,\"LON\":160.97,\"ELEV\":2169,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.848\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[160.87000005,58.2780865]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-70-\",\"NAME_\":\"SEVERNY\",\"LOCATION\":\"Kamchatka\",\"LAT\":58.28,\"LON\":160.87,\"ELEV\":1936,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.849\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[161.07999991,58.39809048]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-71-\",\"NAME_\":\"IETTUNUP\",\"LOCATION\":\"Kamchatka\",\"LAT\":58.4,\"LON\":161.08,\"ELEV\":1340,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.850\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[160.62,58.36808964]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1000-72-\",\"NAME_\":\"VOYAMPOLS\",\"LOCATION\":\"Kamchatka\",\"LAT\":58.37,\"LON\":160.62,\"ELEV\":1225,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.851\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[165.63000008,66.11841678]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1001-01-\",\"NAME_\":\"ALUCHIN G\",\"LOCATION\":\"Russia-NE\",\"LAT\":66.12,\"LON\":165.63,\"ELEV\":1000,\"TYPE_\":\"Cones\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.852\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[165.20000001,67.16847071]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1001-02-\",\"NAME_\":\"ANJUISKY\",\"LOCATION\":\"Russia-NE\",\"LAT\":67.17,\"LON\":165.2,\"ELEV\":1050,\"TYPE_\":\"Complex v\",\"STATUS\":\"Tephrochr\",\"TIME_FRAME\":\"D5\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.853\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[143.73000004,66.42843258]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1001-03-\",\"NAME_\":\"BALAGAN-T\",\"LOCATION\":\"Russia-NE\",\"LAT\":66.43,\"LON\":143.73,\"ELEV\":993,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D4\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.854\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[135.49999999,44.49785938]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1002-01-\",\"NAME_\":\"SOUTHERN\",\"LOCATION\":\"Russia-SE\",\"LAT\":44.5,\"LON\":135.5,\"ELEV\":0,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.855\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[118.06999995,56.32802562]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1002-02-\",\"NAME_\":\"NE UDOKAN\",\"LOCATION\":\"Russia-SE\",\"LAT\":56.33,\"LON\":118.07,\"ELEV\":2180,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.856\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[117.47,56.17802133]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1002-03-\",\"NAME_\":\"UDOKAN VO\",\"LOCATION\":\"Russia-SE\",\"LAT\":56.18,\"LON\":117.47,\"ELEV\":1980,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.857\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[103.24999999,50.51789943]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1002-04-\",\"NAME_\":\"DGIDA BAS\",\"LOCATION\":\"Russia-SE\",\"LAT\":50.52,\"LON\":103.25,\"ELEV\":1500,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.858\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[102.50000005,51.49791489]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1002-05-\",\"NAME_\":\"TUNKIN DE\",\"LOCATION\":\"Russia-SE\",\"LAT\":51.5,\"LON\":102.5,\"ELEV\":1200,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.859\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[98.9799999,52.69793692]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1002-06-\",\"NAME_\":\"OKA VOLC\",\"LOCATION\":\"Russia-SE\",\"LAT\":52.7,\"LON\":98.98,\"ELEV\":2077,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.860\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[98.00000001,52.32792971]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1002-07-\",\"NAME_\":\"ULUG-ARGI\",\"LOCATION\":\"Russia-SE\",\"LAT\":52.33,\"LON\":98,\"ELEV\":1800,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.861\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[99.7,48.16787254]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1003-01-\",\"NAME_\":\"TARYATU-C\",\"LOCATION\":\"Mongolia\",\"LAT\":48.17,\"LON\":99.7,\"ELEV\":2400,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.862\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[102.7500001,48.66787715]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1003-02-\",\"NAME_\":\"KHANUY GO\",\"LOCATION\":\"Mongolia\",\"LAT\":48.67,\"LON\":102.75,\"ELEV\":1886,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.863\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[109.08000003,47.11786526]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1003-03-\",\"NAME_\":\"BUS-OBO\",\"LOCATION\":\"Mongolia\",\"LAT\":47.12,\"LON\":109.08,\"ELEV\":1162,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.864\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[113.99999999,45.32785941]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1003-04-\",\"NAME_\":\"DARIGANGA\",\"LOCATION\":\"Mongolia\",\"LAT\":45.33,\"LON\":114,\"ELEV\":1778,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.865\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[106.6999999,45.27785923]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1003-05-\",\"NAME_\":\"MIDDLE GO\",\"LOCATION\":\"Mongolia\",\"LAT\":45.28,\"LON\":106.7,\"ELEV\":1120,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.866\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[89.24999998,42.89786467]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1004-01-\",\"NAME_\":\"TURFAN\",\"LOCATION\":\"China-W\",\"LAT\":42.9,\"LON\":89.25,\"ELEV\":0,\"TYPE_\":\"Cone\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.867\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[86.50000007,42.49786698]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1004-02-\",\"NAME_\":\"TIANSHAN\",\"LOCATION\":\"China-W\",\"LAT\":42.5,\"LON\":86.5,\"ELEV\":0,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.868\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[80.19999997,35.51797417]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1004-03-\",\"NAME_\":\"KUNLUN VO\",\"LOCATION\":\"China-W\",\"LAT\":35.52,\"LON\":80.2,\"ELEV\":5808,\"TYPE_\":\"Pyroclast\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.869\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[91.69999991,35.84796634]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1004-04-\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"China-W\",\"LAT\":35.85,\"LON\":91.7,\"ELEV\":5400,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.870\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[113.28000009,39.99789098]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1005-01-\",\"NAME_\":\"DATONG\",\"LOCATION\":\"China-E\",\"LAT\":40,\"LON\":113.28,\"ELEV\":1882,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.871\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[113,41.46787491]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1005-02-\",\"NAME_\":\"HONGGEERT\",\"LOCATION\":\"China-E\",\"LAT\":41.47,\"LON\":113,\"ELEV\":1700,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.872\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[125.92000006,49.36788456]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1005-03-\",\"NAME_\":\"KELUO GRO\",\"LOCATION\":\"China-E\",\"LAT\":49.37,\"LON\":125.92,\"ELEV\":670,\"TYPE_\":\"Pyroclast\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.873\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[126.11999997,48.71787756]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1005-04-\",\"NAME_\":\"WUDALIANC\",\"LOCATION\":\"China-E\",\"LAT\":48.72,\"LON\":126.12,\"ELEV\":597,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D4\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.874\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[128.8299999,44.07786018]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1005-05-\",\"NAME_\":\"JINGPOHU\",\"LOCATION\":\"China-E\",\"LAT\":44.08,\"LON\":128.83,\"ELEV\":500,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.875\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[126.49999991,42.32786802]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1005-06-\",\"NAME_\":\"LONGGANG\",\"LOCATION\":\"China-E\",\"LAT\":42.33,\"LON\":126.5,\"ELEV\":1000,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D4\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.876\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[128.07999996,41.97787067]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1005-07-\",\"NAME_\":\"BAITOUSHA\",\"LOCATION\":\"China-E\",\"LAT\":41.98,\"LON\":128.08,\"ELEV\":2744,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D4\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.877\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[128,41.32787616]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1006-01-\",\"NAME_\":\"XIANJINDA\",\"LOCATION\":\"Korea\",\"LAT\":41.33,\"LON\":128,\"ELEV\":0,\"TYPE_\":\"Unknown\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D5\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.878\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[127.33000002,38.32791607]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1006-02-\",\"NAME_\":\"CH'UGA-RY\",\"LOCATION\":\"Korea\",\"LAT\":38.33,\"LON\":127.33,\"ELEV\":452,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.879\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[130.87000006,37.49793126]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1006-03-\",\"NAME_\":\"ULREUNG\",\"LOCATION\":\"Korea\",\"LAT\":37.5,\"LON\":130.87,\"ELEV\":984,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.880\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[126.52999995,33.36803186]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1006-04-\",\"NAME_\":\"HALLA\",\"LOCATION\":\"Korea\",\"LAT\":33.37,\"LON\":126.53,\"ELEV\":1950,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.881\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[175.98000005,52.36793046]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1101-01-\",\"NAME_\":\"BULDIR\",\"LOCATION\":\"Aleutian\",\"LAT\":52.37,\"LON\":175.98,\"ELEV\":656,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.882\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[177.60000008,52.09792545]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1101-02-\",\"NAME_\":\"KISKA\",\"LOCATION\":\"Aleutian\",\"LAT\":52.1,\"LON\":177.6,\"ELEV\":1220,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.883\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[178.13000001,52.01792402]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1101-03-\",\"NAME_\":\"SEGULA\",\"LOCATION\":\"Aleutian\",\"LAT\":52.02,\"LON\":178.13,\"ELEV\":1153,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.884\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[178.32999992,51.96792298]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1101-04-\",\"NAME_\":\"DAVIDOF\",\"LOCATION\":\"Aleutian\",\"LAT\":51.97,\"LON\":178.33,\"ELEV\":328,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.885\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[178.53000004,51.94792273]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1101-05-\",\"NAME_\":\"LITTLE SI\",\"LOCATION\":\"Aleutian\",\"LAT\":51.95,\"LON\":178.53,\"ELEV\":1188,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.886\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[179.61999994,51.94792273]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1101-06-\",\"NAME_\":\"SEMISOPOC\",\"LOCATION\":\"Aleutian\",\"LAT\":51.95,\"LON\":179.62,\"ELEV\":1221,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.887\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-178.80000008,51.77791961]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1101-07-\",\"NAME_\":\"GARELOI\",\"LOCATION\":\"Aleutian\",\"LAT\":51.78,\"LON\":-178.8,\"ELEV\":1573,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.888\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-178.1299999,51.87792145]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1101-08-\",\"NAME_\":\"TANAGA\",\"LOCATION\":\"Aleutian\",\"LAT\":51.88,\"LON\":-178.13,\"ELEV\":1806,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.889\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-178.0200001,51.86792132]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1101-09-\",\"NAME_\":\"TAKAWANGH\",\"LOCATION\":\"Aleutian\",\"LAT\":51.87,\"LON\":-178.02,\"ELEV\":1449,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.890\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-177.4300001,51.89792169]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1101-10-\",\"NAME_\":\"BOBROF\",\"LOCATION\":\"Aleutian\",\"LAT\":51.9,\"LON\":-177.43,\"ELEV\":738,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.891\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-177.1700001,51.91792215]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1101-11-\",\"NAME_\":\"KANAGA\",\"LOCATION\":\"Aleutian\",\"LAT\":51.92,\"LON\":-177.17,\"ELEV\":1307,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.892\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-176.74999997,51.92792227]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1101-111\",\"NAME_\":\"MOFFETT\",\"LOCATION\":\"Aleutian\",\"LAT\":51.93,\"LON\":-176.75,\"ELEV\":1196,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.893\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-176.59999998,51.97792331]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1101-112\",\"NAME_\":\"ADAGDAK\",\"LOCATION\":\"Aleutian\",\"LAT\":51.98,\"LON\":-176.6,\"ELEV\":645,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.894\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-176.12999993,52.07792499]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1101-12-\",\"NAME_\":\"GREAT SIT\",\"LOCATION\":\"Aleutian\",\"LAT\":52.08,\"LON\":-176.13,\"ELEV\":1740,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.895\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-175.49999994,52.1779269]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1101-13-\",\"NAME_\":\"KASATOCHI\",\"LOCATION\":\"Aleutian\",\"LAT\":52.18,\"LON\":-175.5,\"ELEV\":314,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D4\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.896\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-175.12999994,52.21792763]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1101-14-\",\"NAME_\":\"KONIUJI\",\"LOCATION\":\"Aleutian\",\"LAT\":52.22,\"LON\":-175.13,\"ELEV\":272,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.897\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-174.93000003,52.02792415]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1101-15-\",\"NAME_\":\"SERGIEF\",\"LOCATION\":\"Aleutian\",\"LAT\":52.03,\"LON\":-174.93,\"ELEV\":560,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.898\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-174.15000005,52.37793059]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1101-16-\",\"NAME_\":\"ATKA\",\"LOCATION\":\"Aleutian\",\"LAT\":52.38,\"LON\":-174.15,\"ELEV\":1533,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.899\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-172.52000008,52.31792958]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1101-18-\",\"NAME_\":\"SEGUAM\",\"LOCATION\":\"Aleutian\",\"LAT\":52.32,\"LON\":-172.52,\"ELEV\":1054,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.900\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-171.24999995,52.49793307]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1101-19-\",\"NAME_\":\"AMUKTA\",\"LOCATION\":\"Aleutian\",\"LAT\":52.5,\"LON\":-171.25,\"ELEV\":1066,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.901\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-171.13,52.56793446]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1101-20-\",\"NAME_\":\"CHAGULAK\",\"LOCATION\":\"Aleutian\",\"LAT\":52.57,\"LON\":-171.13,\"ELEV\":1142,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.902\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-170.6299999,52.62793551]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1101-21-\",\"NAME_\":\"YUNASKA\",\"LOCATION\":\"Aleutian\",\"LAT\":52.63,\"LON\":-170.63,\"ELEV\":550,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.903\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-170.12000007,52.74793785]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1101-22-\",\"NAME_\":\"HERBERT\",\"LOCATION\":\"Aleutian\",\"LAT\":52.75,\"LON\":-170.12,\"ELEV\":1290,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.904\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-170.05000005,52.89794088]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1101-23-\",\"NAME_\":\"CARLISLE\",\"LOCATION\":\"Aleutian\",\"LAT\":52.9,\"LON\":-170.05,\"ELEV\":1620,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.905\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-169.94999998,52.81793928]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1101-24-\",\"NAME_\":\"CLEVELAND\",\"LOCATION\":\"Aleutian\",\"LAT\":52.82,\"LON\":-169.95,\"ELEV\":1730,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.906\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-169.76999996,53.06794447]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1101-25-\",\"NAME_\":\"ULIAGA\",\"LOCATION\":\"Aleutian\",\"LAT\":53.07,\"LON\":-169.77,\"ELEV\":888,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.907\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-169.72000003,52.96794234]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1101-26-\",\"NAME_\":\"KAGAMIL\",\"LOCATION\":\"Aleutian\",\"LAT\":52.97,\"LON\":-169.72,\"ELEV\":893,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.908\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-168.68000006,53.12794581]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1101-27-\",\"NAME_\":\"VSEVIDOF\",\"LOCATION\":\"Aleutian\",\"LAT\":53.13,\"LON\":-168.68,\"ELEV\":2149,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.909\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-168.54999996,53.14794612]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1101-28-\",\"NAME_\":\"RECHESCHN\",\"LOCATION\":\"Aleutian\",\"LAT\":53.15,\"LON\":-168.55,\"ELEV\":1984,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.910\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-168.13000004,53.41795204]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1101-29-\",\"NAME_\":\"OKMOK\",\"LOCATION\":\"Aleutian\",\"LAT\":53.42,\"LON\":-168.13,\"ELEV\":1073,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.911\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-168.02999998,53.92796329]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1101-30-\",\"NAME_\":\"BOGOSLOF\",\"LOCATION\":\"Aleutian\",\"LAT\":53.93,\"LON\":-168.03,\"ELEV\":101,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.912\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-166.92999993,53.89796277]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1101-31-\",\"NAME_\":\"MAKUSHIN\",\"LOCATION\":\"Aleutian\",\"LAT\":53.9,\"LON\":-166.93,\"ELEV\":2036,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.913\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-166.66999994,53.97796458]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1101-311\",\"NAME_\":\"TABLE TOP\",\"LOCATION\":\"Aleutian\",\"LAT\":53.98,\"LON\":-166.67,\"ELEV\":800,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.914\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-165.96999993,54.12796807]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1101-32-\",\"NAME_\":\"AKUTAN\",\"LOCATION\":\"Aleutian\",\"LAT\":54.13,\"LON\":-165.97,\"ELEV\":1303,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.915\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-164.65000008,54.51797731]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1101-34-\",\"NAME_\":\"WESTDAHL\",\"LOCATION\":\"Aleutian\",\"LAT\":54.52,\"LON\":-164.65,\"ELEV\":1654,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.916\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-164.3499999,54.667981]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1101-35-\",\"NAME_\":\"FISHER\",\"LOCATION\":\"Aleutian\",\"LAT\":54.67,\"LON\":-164.35,\"ELEV\":1094,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.917\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-163.96999996,54.74798317]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1101-36-\",\"NAME_\":\"SHISHALDI\",\"LOCATION\":\"Aleutian\",\"LAT\":54.75,\"LON\":-163.97,\"ELEV\":2857,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.918\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-163.73000006,54.74798317]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1101-37-\",\"NAME_\":\"ISANOTSKI\",\"LOCATION\":\"Aleutian\",\"LAT\":54.75,\"LON\":-163.73,\"ELEV\":2446,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.919\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-163.59999996,54.79798435]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1101-38-\",\"NAME_\":\"ROUNDTOP\",\"LOCATION\":\"Aleutian\",\"LAT\":54.8,\"LON\":-163.6,\"ELEV\":1871,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.920\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-163.15,55.41800047]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1101-39-\",\"NAME_\":\"AMAK\",\"LOCATION\":\"Aleutian\",\"LAT\":55.42,\"LON\":-163.15,\"ELEV\":513,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D4\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.921\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-162.81999998,55.06799117]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1102-01-\",\"NAME_\":\"FROSTY\",\"LOCATION\":\"Alaska Pe\",\"LAT\":55.07,\"LON\":-162.82,\"ELEV\":1920,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.922\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-162.26999996,55.17799403]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1102-011\",\"NAME_\":\"DUTTON\",\"LOCATION\":\"Alaska Pe\",\"LAT\":55.18,\"LON\":-162.27,\"ELEV\":1473,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.923\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-162.07000005,55.32799796]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1102-02-\",\"NAME_\":\"EMMONS LA\",\"LOCATION\":\"Alaska Pe\",\"LAT\":55.33,\"LON\":-162.07,\"ELEV\":1465,\"TYPE_\":\"Caldera\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.924\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-161.89999996,55.41800047]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1102-03-\",\"NAME_\":\"PAVLOF\",\"LOCATION\":\"Alaska Pe\",\"LAT\":55.42,\"LON\":-161.9,\"ELEV\":2519,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.925\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-161.86999993,55.44800131]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1102-04-\",\"NAME_\":\"PAVLOF SI\",\"LOCATION\":\"Alaska Pe\",\"LAT\":55.45,\"LON\":-161.87,\"ELEV\":2142,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D4\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.926\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-161.22000005,55.61800577]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1102-05-\",\"NAME_\":\"DANA\",\"LOCATION\":\"Alaska Pe\",\"LAT\":55.62,\"LON\":-161.22,\"ELEV\":1354,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.927\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-160.00000005,55.92801423]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1102-051\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Alaska Pe\",\"LAT\":55.93,\"LON\":-160,\"ELEV\":1555,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.928\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-159.79999993,56.01801687]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1102-06-\",\"NAME_\":\"KUPREANOF\",\"LOCATION\":\"Alaska Pe\",\"LAT\":56.02,\"LON\":-159.8,\"ELEV\":1895,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.929\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-159.38000001,56.1680211]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1102-07-\",\"NAME_\":\"VENIAMINO\",\"LOCATION\":\"Alaska Pe\",\"LAT\":56.17,\"LON\":-159.38,\"ELEV\":2507,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.930\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-158.79999995,56.52803157]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1102-08-\",\"NAME_\":\"BLACK PEA\",\"LOCATION\":\"Alaska Pe\",\"LAT\":56.53,\"LON\":-158.8,\"ELEV\":1032,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.931\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-158.16999996,56.87804189]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1102-09-\",\"NAME_\":\"ANIAKCHAK\",\"LOCATION\":\"Alaska Pe\",\"LAT\":56.88,\"LON\":-158.17,\"ELEV\":1341,\"TYPE_\":\"Caldera\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.932\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-157.17999991,57.01804619]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1102-10-\",\"NAME_\":\"YANTARNI\",\"LOCATION\":\"Alaska Pe\",\"LAT\":57.02,\"LON\":-157.18,\"ELEV\":1336,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Tephrochr\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.933\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-157.0000001,57.12804956]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1102-11-\",\"NAME_\":\"CHIGINAGA\",\"LOCATION\":\"Alaska Pe\",\"LAT\":57.13,\"LON\":-157,\"ELEV\":2075,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.934\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-156.75000005,57.37805738]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1102-12-\",\"NAME_\":\"KIALAGVIK\",\"LOCATION\":\"Alaska Pe\",\"LAT\":57.38,\"LON\":-156.75,\"ELEV\":1575,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.935\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-155.42000005,57.86807299]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1102-131\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Alaska Pe\",\"LAT\":57.87,\"LON\":-155.42,\"ELEV\":300,\"TYPE_\":\"Lava dome\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.936\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-156.3699999,57.74806915]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1102-13A\",\"NAME_\":\"UGASHIK-P\",\"LOCATION\":\"Alaska Pe\",\"LAT\":57.75,\"LON\":-156.37,\"ELEV\":1474,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.937\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-156.5200001,57.8280717]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1102-13B\",\"NAME_\":\"UKINREK M\",\"LOCATION\":\"Alaska Pe\",\"LAT\":57.83,\"LON\":-156.52,\"ELEV\":91,\"TYPE_\":\"Maars\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.938\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-155.35000003,58.16808283]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1102-14-\",\"NAME_\":\"MARTIN\",\"LOCATION\":\"Alaska Pe\",\"LAT\":58.17,\"LON\":-155.35,\"ELEV\":1860,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.939\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-155.24999997,58.19808386]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1102-15-\",\"NAME_\":\"MAGEIK\",\"LOCATION\":\"Alaska Pe\",\"LAT\":58.2,\"LON\":-155.25,\"ELEV\":2165,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.940\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-155.08000009,58.2280849]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1102-16-\",\"NAME_\":\"TRIDENT\",\"LOCATION\":\"Alaska Pe\",\"LAT\":58.23,\"LON\":-155.08,\"ELEV\":1864,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.941\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-154.98000003,58.26808622]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1102-17-\",\"NAME_\":\"KATMAI\",\"LOCATION\":\"Alaska Pe\",\"LAT\":58.27,\"LON\":-154.98,\"ELEV\":2047,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.942\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-155.16000006,58.26808622]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1102-18-\",\"NAME_\":\"NOVARUPTA\",\"LOCATION\":\"Alaska Pe\",\"LAT\":58.27,\"LON\":-155.16,\"ELEV\":841,\"TYPE_\":\"Caldera\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.943\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-155.09999998,58.34808887]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1102-19-\",\"NAME_\":\"GRIGGS\",\"LOCATION\":\"Alaska Pe\",\"LAT\":58.35,\"LON\":-155.1,\"ELEV\":2317,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.944\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-154.68000006,58.3280881]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1102-20-\",\"NAME_\":\"SNOWY\",\"LOCATION\":\"Alaska Pe\",\"LAT\":58.33,\"LON\":-154.68,\"ELEV\":2161,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.945\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-154.4500001,58.41809126]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1102-21-\",\"NAME_\":\"DENISON\",\"LOCATION\":\"Alaska Pe\",\"LAT\":58.42,\"LON\":-154.45,\"ELEV\":2318,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.946\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-154.39999997,58.42809154]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1102-22-\",\"NAME_\":\"STELLER\",\"LOCATION\":\"Alaska Pe\",\"LAT\":58.43,\"LON\":-154.4,\"ELEV\":2272,\"TYPE_\":\"Unknown\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.947\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-154.35000004,58.46809288]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1102-23-\",\"NAME_\":\"KUKAK\",\"LOCATION\":\"Alaska Pe\",\"LAT\":58.47,\"LON\":-154.35,\"ELEV\":2040,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.948\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-154.29999991,58.47809337]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1102-24-\",\"NAME_\":\"DEVILS DE\",\"LOCATION\":\"Alaska Pe\",\"LAT\":58.48,\"LON\":-154.3,\"ELEV\":1954,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.949\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-154.05000007,58.61809798]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1102-25-\",\"NAME_\":\"KAGUYAK\",\"LOCATION\":\"Alaska Pe\",\"LAT\":58.62,\"LON\":-154.05,\"ELEV\":901,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.950\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-153.68000007,58.76810313]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1102-26-\",\"NAME_\":\"FOURPEAKE\",\"LOCATION\":\"Alaska Pe\",\"LAT\":58.77,\"LON\":-153.68,\"ELEV\":2104,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.951\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-153.54999997,58.86810667]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1102-27-\",\"NAME_\":\"DOUGLAS\",\"LOCATION\":\"Alaska Pe\",\"LAT\":58.87,\"LON\":-153.55,\"ELEV\":2140,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.952\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-153.42000008,59.36812448]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1103-01-\",\"NAME_\":\"AUGUSTINE\",\"LOCATION\":\"Alaska-SW\",\"LAT\":59.37,\"LON\":-153.42,\"ELEV\":1252,\"TYPE_\":\"Lava dome\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.953\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-153.07999991,60.02814856]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1103-02-\",\"NAME_\":\"ILIAMNA\",\"LOCATION\":\"Alaska-SW\",\"LAT\":60.03,\"LON\":-153.08,\"ELEV\":3053,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.954\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-152.7499999,60.47816583]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1103-03-\",\"NAME_\":\"REDOUBT\",\"LOCATION\":\"Alaska-SW\",\"LAT\":60.48,\"LON\":-152.75,\"ELEV\":3108,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.955\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-152.25000001,61.29819811]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1103-04-\",\"NAME_\":\"SPURR\",\"LOCATION\":\"Alaska-SW\",\"LAT\":61.3,\"LON\":-152.25,\"ELEV\":3374,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.956\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-152.47999996,61.61821119]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1103-05-\",\"NAME_\":\"HAYES\",\"LOCATION\":\"Alaska-SW\",\"LAT\":61.62,\"LON\":-152.48,\"ELEV\":2788,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.957\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-164.33000001,66.34842855]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1104-01-\",\"NAME_\":\"ESPENBERG\",\"LOCATION\":\"Alaska-W\",\"LAT\":66.35,\"LON\":-164.33,\"ELEV\":243,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Tephrochr\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.958\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-163.92000003,65.59839093]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1104-02-\",\"NAME_\":\"IMURUK LA\",\"LOCATION\":\"Alaska-W\",\"LAT\":65.6,\"LON\":-163.92,\"ELEV\":610,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.959\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-170.42999999,63.59829647]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1104-03-\",\"NAME_\":\"KOOKOOLIG\",\"LOCATION\":\"Alaska-W\",\"LAT\":63.6,\"LON\":-170.43,\"ELEV\":673,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.960\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-162.11999997,63.44828972]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1104-04-\",\"NAME_\":\"ST. MICHA\",\"LOCATION\":\"Alaska-W\",\"LAT\":63.45,\"LON\":-162.12,\"ELEV\":715,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Anthropol\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.961\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-164.47000006,61.42820326]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1104-05-\",\"NAME_\":\"INGAKSLUG\",\"LOCATION\":\"Alaska-W\",\"LAT\":61.43,\"LON\":-164.47,\"ELEV\":190,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.962\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-166.32999998,60.01814824]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1104-06-\",\"NAME_\":\"NUNIVAK I\",\"LOCATION\":\"Alaska-W\",\"LAT\":60.02,\"LON\":-166.33,\"ELEV\":511,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.963\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-170.30000009,57.17805103]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1104-07-\",\"NAME_\":\"ST. PAUL\",\"LOCATION\":\"Alaska-W\",\"LAT\":57.18,\"LON\":-170.3,\"ELEV\":203,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.964\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-148.41999994,64.068318]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1105-001\",\"NAME_\":\"BUZZARD C\",\"LOCATION\":\"Alaska-E\",\"LAT\":64.07,\"LON\":-148.42,\"ELEV\":830,\"TYPE_\":\"Tuff ring\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.965\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-144.12999997,62.21823614]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1105-01-\",\"NAME_\":\"SANFORD\",\"LOCATION\":\"Alaska-E\",\"LAT\":62.22,\"LON\":-144.13,\"ELEV\":4949,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.966\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-144.01999996,61.99822687]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1105-02-\",\"NAME_\":\"WRANGELL\",\"LOCATION\":\"Alaska-E\",\"LAT\":62,\"LON\":-144.02,\"ELEV\":4317,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.967\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-143.08000005,62.12823222]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1105-021\",\"NAME_\":\"GORDON\",\"LOCATION\":\"Alaska-E\",\"LAT\":62.13,\"LON\":-143.08,\"ELEV\":2755,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.968\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-141.75000005,61.3782013]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1105-03-\",\"NAME_\":\"BONA-CHUR\",\"LOCATION\":\"Alaska-E\",\"LAT\":61.38,\"LON\":-141.75,\"ELEV\":5005,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.969\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-135.74999993,57.04804714]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1105-04-\",\"NAME_\":\"EDGECUMBE\",\"LOCATION\":\"Alaska-SE\",\"LAT\":57.05,\"LON\":-135.75,\"ELEV\":976,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.970\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-133.10000008,56.49803065]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1105-05-\",\"NAME_\":\"DUNCAN CA\",\"LOCATION\":\"Alaska-SE\",\"LAT\":56.5,\"LON\":-133.1,\"ELEV\":15,\"TYPE_\":\"Unknown\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.971\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-133.3,55.24799589]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1105-06-\",\"NAME_\":\"TLEVAK ST\",\"LOCATION\":\"Alaska-SE\",\"LAT\":55.25,\"LON\":-133.3,\"ELEV\":50,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.972\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-131.04999998,55.31799775]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1105-07-\",\"NAME_\":\"REVILLAGI\",\"LOCATION\":\"Alaska-SE\",\"LAT\":55.32,\"LON\":-131.05,\"ELEV\":500,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.973\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-137.37999991,62.92826667]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1200-01-\",\"NAME_\":\"FORT SELK\",\"LOCATION\":\"Canada\",\"LAT\":62.93,\"LON\":-137.38,\"ELEV\":1239,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.974\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-135.41999992,60.41816344]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1200-02-\",\"NAME_\":\"ALLIGATOR\",\"LOCATION\":\"Canada\",\"LAT\":60.42,\"LON\":-135.42,\"ELEV\":2217,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.975\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-133.32000009,59.67813567]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1200-03-\",\"NAME_\":\"RUBY MOUN\",\"LOCATION\":\"Canada\",\"LAT\":59.68,\"LON\":-133.32,\"ELEV\":1523,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.976\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-131.97,58.59809741]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1200-04-\",\"NAME_\":\"HEART PEA\",\"LOCATION\":\"Canada\",\"LAT\":58.6,\"LON\":-131.97,\"ELEV\":2012,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.977\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-131.34999995,58.41809126]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1200-05-\",\"NAME_\":\"LEVEL MOU\",\"LOCATION\":\"Canada\",\"LAT\":58.42,\"LON\":-131.35,\"ELEV\":2190,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.978\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-130.63000006,57.71806815]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1200-06-\",\"NAME_\":\"EDZIZA\",\"LOCATION\":\"Canada\",\"LAT\":57.72,\"LON\":-130.63,\"ELEV\":2786,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.979\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-130.67999998,57.42805888]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1200-07-\",\"NAME_\":\"SPECTRUM\",\"LOCATION\":\"Canada\",\"LAT\":57.43,\"LON\":-130.68,\"ELEV\":2430,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.980\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-131.27999993,56.77803903]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1200-08-\",\"NAME_\":\"HOODOO MO\",\"LOCATION\":\"Canada\",\"LAT\":56.78,\"LON\":-131.28,\"ELEV\":1820,\"TYPE_\":\"Subglacia\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.981\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-130.55000009,56.57803296]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1200-09-\",\"NAME_\":\"ISKUT-UNU\",\"LOCATION\":\"Canada\",\"LAT\":56.58,\"LON\":-130.55,\"ELEV\":1880,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.982\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-128.90000002,55.1179926]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1200-10-\",\"NAME_\":\"TSEAX RIV\",\"LOCATION\":\"Canada\",\"LAT\":55.12,\"LON\":-128.9,\"ELEV\":609,\"TYPE_\":\"Pyroclast\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D4\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.983\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-130.23000002,54.69798179]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1200-11-\",\"NAME_\":\"CROW LAGO\",\"LOCATION\":\"Canada\",\"LAT\":54.7,\"LON\":-130.23,\"ELEV\":335,\"TYPE_\":\"Pyroclast\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.984\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-128.72999994,52.49793307]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1200-12-\",\"NAME_\":\"MILBANKE\",\"LOCATION\":\"Canada\",\"LAT\":52.5,\"LON\":-128.73,\"ELEV\":335,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.985\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-124.69999995,52.46793245]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1200-13-\",\"NAME_\":\"SATAH MOU\",\"LOCATION\":\"Canada\",\"LAT\":52.47,\"LON\":-124.7,\"ELEV\":1921,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.986\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-123.73000001,52.89794088]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1200-14-\",\"NAME_\":\"NAZKO\",\"LOCATION\":\"Canada\",\"LAT\":52.9,\"LON\":-123.73,\"ELEV\":1230,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.987\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-120.56999991,52.32792971]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1200-15-\",\"NAME_\":\"WELLS GRA\",\"LOCATION\":\"Canada\",\"LAT\":52.33,\"LON\":-120.57,\"ELEV\":2015,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Dendrochr\",\"TIME_FRAME\":\"D5\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.988\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-126.3000001,51.42791369]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1200-16-\",\"NAME_\":\"SILVERTHR\",\"LOCATION\":\"Canada\",\"LAT\":51.43,\"LON\":-126.3,\"ELEV\":3160,\"TYPE_\":\"Caldera\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.989\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-123.39999999,50.79790366]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1200-17-\",\"NAME_\":\"BRIDGE RI\",\"LOCATION\":\"Canada\",\"LAT\":50.8,\"LON\":-123.4,\"ELEV\":2500,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.990\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-123.50000006,50.62790104]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1200-18-\",\"NAME_\":\"MEAGER\",\"LOCATION\":\"Canada\",\"LAT\":50.63,\"LON\":-123.5,\"ELEV\":2680,\"TYPE_\":\"Complex v\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.991\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-123.03,49.91789128]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1200-19-\",\"NAME_\":\"GARIBALDI\",\"LOCATION\":\"Canada\",\"LAT\":49.92,\"LON\":-123.03,\"ELEV\":2316,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.992\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-122.99999996,49.84789037]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1200-20-\",\"NAME_\":\"GARIBALDI\",\"LOCATION\":\"Canada\",\"LAT\":49.85,\"LON\":-123,\"ELEV\":2678,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.993\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-121.81999995,48.78387834]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1201-01=\",\"NAME_\":\"BAKER\",\"LOCATION\":\"US-Washin\",\"LAT\":48.786,\"LON\":-121.82,\"ELEV\":3285,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.994\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-121.11300002,48.10987213]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1201-02-\",\"NAME_\":\"GLACIER P\",\"LOCATION\":\"US-Washin\",\"LAT\":48.112,\"LON\":-121.113,\"ELEV\":3213,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Tephrochr\",\"TIME_FRAME\":\"D4\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.995\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-121.75799992,46.86786388]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1201-03-\",\"NAME_\":\"RAINIER\",\"LOCATION\":\"US-Washin\",\"LAT\":46.87,\"LON\":-121.758,\"ELEV\":4392,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Dendrochr\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.996\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-121.48999993,46.20386121]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1201-04-\",\"NAME_\":\"ADAMS\",\"LOCATION\":\"US-Washin\",\"LAT\":46.206,\"LON\":-121.49,\"ELEV\":3742,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Tephrochr\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.997\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-122.18,46.19786114]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1201-05-\",\"NAME_\":\"ST. HELEN\",\"LOCATION\":\"US-Washin\",\"LAT\":46.2,\"LON\":-122.18,\"ELEV\":2549,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.998\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-122.07999994,45.87786016]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1201-06-\",\"NAME_\":\"WEST CRAT\",\"LOCATION\":\"US-Washin\",\"LAT\":45.88,\"LON\":-122.08,\"ELEV\":914,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.999\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-121.81999995,45.92786042]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1201-07-\",\"NAME_\":\"INDIAN HE\",\"LOCATION\":\"US-Washin\",\"LAT\":45.93,\"LON\":-121.82,\"ELEV\":1513,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1000\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-121.69399995,45.37185933]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1202-01-\",\"NAME_\":\"HOOD\",\"LOCATION\":\"US-Oregon\",\"LAT\":45.374,\"LON\":-121.694,\"ELEV\":3426,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1001\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-121.80000006,44.68985933]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1202-02-\",\"NAME_\":\"JEFFERSON\",\"LOCATION\":\"US-Oregon\",\"LAT\":44.692,\"LON\":-121.8,\"ELEV\":3199,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Varve Cou\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1002\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-121.77000002,44.41785952]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1202-03-\",\"NAME_\":\"BLUE LAKE\",\"LOCATION\":\"US-Oregon\",\"LAT\":44.42,\"LON\":-121.77,\"ELEV\":1230,\"TYPE_\":\"Maar\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1003\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-121.92999995,44.37785959]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1202-04-\",\"NAME_\":\"SAND MOUN\",\"LOCATION\":\"US-Oregon\",\"LAT\":44.38,\"LON\":-121.93,\"ELEV\":1664,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1004\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-121.83700002,44.32985969]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1202-05-\",\"NAME_\":\"WASHINGTO\",\"LOCATION\":\"US-Oregon\",\"LAT\":44.332,\"LON\":-121.837,\"ELEV\":2376,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1005\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-121.84099991,44.28285966]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1202-06-\",\"NAME_\":\"BELKNAP\",\"LOCATION\":\"US-Oregon\",\"LAT\":44.285,\"LON\":-121.841,\"ELEV\":2095,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1006\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-121.77000002,44.1678599]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1202-07-\",\"NAME_\":\"NORTH SIS\",\"LOCATION\":\"US-Oregon\",\"LAT\":44.17,\"LON\":-121.77,\"ELEV\":3074,\"TYPE_\":\"Complex v\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1007\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-121.77000002,44.09786002]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1202-08-\",\"NAME_\":\"SOUTH SIS\",\"LOCATION\":\"US-Oregon\",\"LAT\":44.1,\"LON\":-121.77,\"ELEV\":3157,\"TYPE_\":\"Complex v\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1008\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-121.6879999,43.97686028]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1202-09-\",\"NAME_\":\"BACHELOR\",\"LOCATION\":\"US-Oregon\",\"LAT\":43.979,\"LON\":-121.688,\"ELEV\":2763,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Tephrochr\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1009\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-121.81999995,43.56786164]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1202-10-\",\"NAME_\":\"DAVIS LAK\",\"LOCATION\":\"US-Oregon\",\"LAT\":43.57,\"LON\":-121.82,\"ELEV\":2163,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1010\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-121.22900007,43.71986106]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1202-11-\",\"NAME_\":\"NEWBERRY\",\"LOCATION\":\"US-Oregon\",\"LAT\":43.722,\"LON\":-121.229,\"ELEV\":2434,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1011\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-120.86100002,43.50986193]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1202-12-\",\"NAME_\":\"DEVILS GA\",\"LOCATION\":\"US-Oregon\",\"LAT\":43.512,\"LON\":-120.861,\"ELEV\":1698,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1012\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-120.75400004,43.46986189]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1202-13-\",\"NAME_\":\"SQUAW RID\",\"LOCATION\":\"US-Oregon\",\"LAT\":43.472,\"LON\":-120.754,\"ELEV\":1711,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1013\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-120.6690001,43.35886246]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1202-14-\",\"NAME_\":\"FOUR CRAT\",\"LOCATION\":\"US-Oregon\",\"LAT\":43.361,\"LON\":-120.669,\"ELEV\":1501,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1014\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-122.10800003,43.23886303]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1202-15-\",\"NAME_\":\"CINNAMON\",\"LOCATION\":\"US-Oregon\",\"LAT\":43.241,\"LON\":-122.108,\"ELEV\":1956,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1015\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-122.11999992,42.92786455]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1202-16-\",\"NAME_\":\"CRATER LA\",\"LOCATION\":\"US-Oregon\",\"LAT\":42.93,\"LON\":-122.12,\"ELEV\":2487,\"TYPE_\":\"Caldera\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1016\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-122.20099996,42.54986673]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1202-161\",\"NAME_\":\"IMAGINATI\",\"LOCATION\":\"US-Oregon\",\"LAT\":42.552,\"LON\":-122.201,\"ELEV\":1986,\"TYPE_\":\"Pyroclast\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1017\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-118.74999997,43.09786356]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1202-17-\",\"NAME_\":\"DIAMOND C\",\"LOCATION\":\"US-Oregon\",\"LAT\":43.1,\"LON\":-118.75,\"ELEV\":1435,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1018\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-117.79999991,42.99786421]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1202-18-\",\"NAME_\":\"SADDLE BU\",\"LOCATION\":\"US-Oregon\",\"LAT\":43,\"LON\":-117.8,\"ELEV\":1700,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1019\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-117.41999997,43.02786388]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1202-19-\",\"NAME_\":\"JORDAN CR\",\"LOCATION\":\"US-Oregon\",\"LAT\":43.03,\"LON\":-117.42,\"ELEV\":1473,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1020\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-117.58899997,43.6038616]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1202-20-\",\"NAME_\":\"JACKIES B\",\"LOCATION\":\"US-Oregon\",\"LAT\":43.606,\"LON\":-117.589,\"ELEV\":1420,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1021\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-122.20000009,41.41787544]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1203-01-\",\"NAME_\":\"SHASTA\",\"LOCATION\":\"US-Califo\",\"LAT\":41.42,\"LON\":-122.2,\"ELEV\":4317,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D4\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1022\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-121.5699999,41.57787393]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1203-02-\",\"NAME_\":\"MEDICINE\",\"LOCATION\":\"US-Califo\",\"LAT\":41.58,\"LON\":-121.57,\"ELEV\":2412,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1023\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-121.44300003,41.17587769]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1203-03-\",\"NAME_\":\"BRUSHY BU\",\"LOCATION\":\"US-Califo\",\"LAT\":41.178,\"LON\":-121.443,\"ELEV\":1174,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1024\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-121.36500001,40.95287991]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1203-04-\",\"NAME_\":\"BIG CAVE\",\"LOCATION\":\"US-Califo\",\"LAT\":40.955,\"LON\":-121.365,\"ELEV\":1259,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1025\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-121.59999994,40.77788171]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1203-05-\",\"NAME_\":\"TWIN BUTT\",\"LOCATION\":\"US-Califo\",\"LAT\":40.78,\"LON\":-121.6,\"ELEV\":1631,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1026\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-121.55000001,40.67788296]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1203-06-\",\"NAME_\":\"TUMBLE BU\",\"LOCATION\":\"US-Califo\",\"LAT\":40.68,\"LON\":-121.55,\"ELEV\":2191,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1027\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-121.43000006,40.62788338]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1203-07-\",\"NAME_\":\"POTATO BU\",\"LOCATION\":\"US-Califo\",\"LAT\":40.63,\"LON\":-121.43,\"ELEV\":1532,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1028\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-121.50800008,40.48988507]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1203-08-\",\"NAME_\":\"LASSEN VO\",\"LOCATION\":\"US-Calif\",\"LAT\":40.492,\"LON\":-121.508,\"ELEV\":3187,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1029\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-120.8299999,40.62788338]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1203-09-\",\"NAME_\":\"EAGLE LAK\",\"LOCATION\":\"US-Califo\",\"LAT\":40.63,\"LON\":-120.83,\"ELEV\":1652,\"TYPE_\":\"Fissure v\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1030\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-122.77000001,38.96790556]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1203-10-\",\"NAME_\":\"CLEAR LAK\",\"LOCATION\":\"US-Califo\",\"LAT\":38.97,\"LON\":-122.77,\"ELEV\":1439,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1031\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-119.03000005,37.99792185]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1203-11-\",\"NAME_\":\"MONO LAKE\",\"LOCATION\":\"US-Calif\",\"LAT\":38,\"LON\":-119.03,\"ELEV\":2121,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Tephrochr\",\"TIME_FRAME\":\"D4\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1032\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-119.00000002,37.87792407]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1203-12-\",\"NAME_\":\"MONO CRAT\",\"LOCATION\":\"US-Califo\",\"LAT\":37.88,\"LON\":-119,\"ELEV\":2796,\"TYPE_\":\"Lava dome\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1033\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-119.0199999,37.68992753]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1203-13-\",\"NAME_\":\"INYO CRAT\",\"LOCATION\":\"US-Califo\",\"LAT\":37.692,\"LON\":-119.02,\"ELEV\":2629,\"TYPE_\":\"Lava dome\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1034\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-118.86999991,37.69792738]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1203-14-\",\"NAME_\":\"LONG VALL\",\"LOCATION\":\"US-Califo\",\"LAT\":37.7,\"LON\":-118.87,\"ELEV\":3390,\"TYPE_\":\"Caldera\",\"STATUS\":\"Pleistoce\",\"TIME_FRAME\":\"Q\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1035\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-119.04999994,37.57792969]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1203-15-\",\"NAME_\":\"RED CONES\",\"LOCATION\":\"US-Califo\",\"LAT\":37.58,\"LON\":-119.05,\"ELEV\":2748,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1036\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-117.45000001,37.01794078]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1203-16-\",\"NAME_\":\"UBEHEBE C\",\"LOCATION\":\"US-Calif\",\"LAT\":37.02,\"LON\":-117.45,\"ELEV\":752,\"TYPE_\":\"Maars\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1037\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-118.3200001,36.35595488]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1203-17-\",\"NAME_\":\"GOLDEN TR\",\"LOCATION\":\"US-Calif\",\"LAT\":36.358,\"LON\":-118.32,\"ELEV\":2886,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Tephrochr\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1038\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-117.82,36.0279622]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1203-18-\",\"NAME_\":\"COSO VOLC\",\"LOCATION\":\"US-Califo\",\"LAT\":36.03,\"LON\":-117.82,\"ELEV\":2400,\"TYPE_\":\"Lava dome\",\"STATUS\":\"Pleistoce\",\"TIME_FRAME\":\"Q\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1039\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-116.62500008,34.74799348]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1203-19-\",\"NAME_\":\"LAVIC LAK\",\"LOCATION\":\"US-Califo\",\"LAT\":34.75,\"LON\":-116.625,\"ELEV\":1495,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1040\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-115.78000005,34.54799884]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1203-20-\",\"NAME_\":\"AMBOY\",\"LOCATION\":\"US-Califo\",\"LAT\":34.55,\"LON\":-115.78,\"ELEV\":288,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1041\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-114.42999995,43.06786367]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1204-01-\",\"NAME_\":\"SHOSHONE\",\"LOCATION\":\"US-Idaho\",\"LAT\":43.07,\"LON\":-114.43,\"ELEV\":1525,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1042\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-113.49999999,43.41786222]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1204-02-\",\"NAME_\":\"CRATERS O\",\"LOCATION\":\"US-Idaho\",\"LAT\":43.42,\"LON\":-113.5,\"ELEV\":2005,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1043\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-113.2199999,42.87786468]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1204-03-\",\"NAME_\":\"WAPI LAVA\",\"LOCATION\":\"US-Idaho\",\"LAT\":42.88,\"LON\":-113.22,\"ELEV\":1604,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1044\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-112.45000008,43.49786188]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1204-04-\",\"NAME_\":\"HELL'S HA\",\"LOCATION\":\"US-Idaho\",\"LAT\":43.5,\"LON\":-112.45,\"ELEV\":1631,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1045\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-110.66999991,44.42785945]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1205-01-\",\"NAME_\":\"YELLOWSTO\",\"LOCATION\":\"US-Wyomin\",\"LAT\":44.43,\"LON\":-110.67,\"ELEV\":2805,\"TYPE_\":\"Calderas\",\"STATUS\":\"Tephrochr\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1046\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-119.71999991,39.3728995]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1206-01-\",\"NAME_\":\"STEAMBOAT\",\"LOCATION\":\"US-Nevada\",\"LAT\":39.375,\"LON\":-119.72,\"ELEV\":1415,\"TYPE_\":\"Lava dome\",\"STATUS\":\"Pleistoce\",\"TIME_FRAME\":\"Q\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1047\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-115.97000002,38.47791352]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1206-02-\",\"NAME_\":\"LUNAR CRA\",\"LOCATION\":\"US-Nevada\",\"LAT\":38.48,\"LON\":-115.97,\"ELEV\":2255,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1048\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-116.55000008,36.76794592]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1206-03-\",\"NAME_\":\"CRATER FL\",\"LOCATION\":\"US-Nevada\",\"LAT\":36.77,\"LON\":-116.55,\"ELEV\":1128,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1049\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-113.62499991,37.25493587]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1207-01-\",\"NAME_\":\"SANTA CLA\",\"LOCATION\":\"US-Utah\",\"LAT\":37.257,\"LON\":-113.625,\"ELEV\":1465,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1050\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-113.12000005,37.32793448]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1207-02-\",\"NAME_\":\"KOLOB\",\"LOCATION\":\"US-Utah\",\"LAT\":37.33,\"LON\":-113.12,\"ELEV\":2727,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1051\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-112.40799994,37.32593457]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1207-03-\",\"NAME_\":\"BALD KNOL\",\"LOCATION\":\"US-Utah\",\"LAT\":37.328,\"LON\":-112.408,\"ELEV\":2135,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1052\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-112.67000009,37.57792969]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1207-04-\",\"NAME_\":\"MARKAGUNT\",\"LOCATION\":\"US-Utah\",\"LAT\":37.58,\"LON\":-112.67,\"ELEV\":2840,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Dendrochr\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1053\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-112.5,38.96790556]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1207-05-\",\"NAME_\":\"BLACK ROC\",\"LOCATION\":\"US-Utah\",\"LAT\":38.97,\"LON\":-112.5,\"ELEV\":1800,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1054\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-107.03000002,39.64789574]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1208-01-\",\"NAME_\":\"DOTSERO\",\"LOCATION\":\"US-Colora\",\"LAT\":39.65,\"LON\":-107.03,\"ELEV\":2250,\"TYPE_\":\"Explosion\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1055\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-113.12999999,36.37795423]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1209-01-\",\"NAME_\":\"UINKARET\",\"LOCATION\":\"US-Arizon\",\"LAT\":36.38,\"LON\":-113.13,\"ELEV\":1555,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1056\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-111.50000002,35.36797784]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1209-02-\",\"NAME_\":\"SUNSET CR\",\"LOCATION\":\"US-Arizon\",\"LAT\":35.37,\"LON\":-111.5,\"ELEV\":2447,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Dendrochr\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1057\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-105.92999997,33.77801998]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1210-01-\",\"NAME_\":\"CARRIZOZO\",\"LOCATION\":\"US-New Me\",\"LAT\":33.78,\"LON\":-105.93,\"ELEV\":1731,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1058\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-107.99999996,34.79799232]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1210-02-\",\"NAME_\":\"ZUNI-BAND\",\"LOCATION\":\"US-New Me\",\"LAT\":34.8,\"LON\":-108,\"ELEV\":2550,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Anthropol\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1059\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-106.5699999,35.86796597]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1210-03-\",\"NAME_\":\"VALLES CA\",\"LOCATION\":\"US-New Me\",\"LAT\":35.87,\"LON\":-106.57,\"ELEV\":3430,\"TYPE_\":\"Caldera\",\"STATUS\":\"Pleistoce\",\"TIME_FRAME\":\"Q\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1060\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-104.07999999,36.41795333]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1210-04-\",\"NAME_\":\"RATON-CLA\",\"LOCATION\":\"US-New Me\",\"LAT\":36.42,\"LON\":-104.08,\"ELEV\":3350,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Tephrochr\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1061\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-129.57999993,46.51786239]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1301-01-\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Pacific-N\",\"LAT\":46.52,\"LON\":-129.58,\"ELEV\":-2400,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1062\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-130.19999998,45.02785905]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1301-02-\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Pacific-N\",\"LAT\":45.03,\"LON\":-130.2,\"ELEV\":-2300,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1063\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-124.24999999,31.74808262]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1301-03-\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Pacific-N\",\"LAT\":31.75,\"LON\":-124.25,\"ELEV\":-2533,\"TYPE_\":\"Submarine\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1064\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-155.27000006,18.91868498]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1302-00-\",\"NAME_\":\"LOIHI SEA\",\"LOCATION\":\"Hawaiian\",\"LAT\":18.92,\"LON\":-155.27,\"ELEV\":-980,\"TYPE_\":\"Submarine\",\"STATUS\":\"Seismicit\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1065\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-155.2920001,19.42365522]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1302-01-\",\"NAME_\":\"KILAUEA\",\"LOCATION\":\"Hawaiian\",\"LAT\":19.425,\"LON\":-155.292,\"ELEV\":1222,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1066\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-155.60800007,19.47365245]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1302-02=\",\"NAME_\":\"MAUNA LOA\",\"LOCATION\":\"Hawaiian\",\"LAT\":19.475,\"LON\":-155.608,\"ELEV\":4170,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1067\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-155.46999998,19.81863242]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1302-03-\",\"NAME_\":\"MAUNA KEA\",\"LOCATION\":\"Hawaiian\",\"LAT\":19.82,\"LON\":-155.47,\"ELEV\":4206,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1068\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-155.87000001,19.69063986]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1302-04-\",\"NAME_\":\"HUALALAI\",\"LOCATION\":\"Hawaiian\",\"LAT\":19.692,\"LON\":-155.87,\"ELEV\":2523,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1069\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-156.57000002,20.56858965]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1302-05-\",\"NAME_\":\"KAHOOLAWE\",\"LOCATION\":\"Hawaiian\",\"LAT\":20.57,\"LON\":-156.57,\"ELEV\":450,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1070\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-156.24999995,20.706582]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1302-06-\",\"NAME_\":\"HALEAKALA\",\"LOCATION\":\"Hawaiian\",\"LAT\":20.708,\"LON\":-156.25,\"ELEV\":3055,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D4\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1071\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-157.79999996,21.36854524]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1302-07-\",\"NAME_\":\"KOOLAU\",\"LOCATION\":\"Hawaiian\",\"LAT\":21.37,\"LON\":-157.8,\"ELEV\":941,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1072\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-158.75000002,21.74852445]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1302-08-\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Hawaiian\",\"LAT\":21.75,\"LON\":-158.75,\"ELEV\":-3000,\"TYPE_\":\"Submarine\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1073\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-163.82999991,23.57842843]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1302-09-\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Hawaiian\",\"LAT\":23.58,\"LON\":-163.83,\"ELEV\":-4000,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1074\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-104.3,9.81927921]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1303-01-\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Pacific-E\",\"LAT\":9.82,\"LON\":-104.3,\"ELEV\":-2500,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1075\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-86.15000006,0.79194068]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1303-02-\",\"NAME_\":\"GALAPAGOS\",\"LOCATION\":\"Pacific-E\",\"LAT\":0.792,\"LON\":-86.15,\"ELEV\":-2500,\"TYPE_\":\"Submarine\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1076\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-148.85000002,-17.56876605]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1303-03-\",\"NAME_\":\"TEAHITIA\",\"LOCATION\":\"Society I\",\"LAT\":-17.57,\"LON\":-148.85,\"ELEV\":-1600,\"TYPE_\":\"Submarine\",\"STATUS\":\"Seismicit\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1077\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-148.59999997,-17.64076162]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1303-04-\",\"NAME_\":\"ROCARD\",\"LOCATION\":\"Society I\",\"LAT\":-17.642,\"LON\":-148.6,\"ELEV\":-2100,\"TYPE_\":\"Submarine\",\"STATUS\":\"Seismicit\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1078\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-148.66999999,-18.31872055]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1303-05-\",\"NAME_\":\"MOUA PIHA\",\"LOCATION\":\"Society I\",\"LAT\":-18.32,\"LON\":-148.67,\"ELEV\":-180,\"TYPE_\":\"Submarine\",\"STATUS\":\"Seismicit\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1079\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-148.07000004,-17.86874775]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1303-06-\",\"NAME_\":\"MEHETIA\",\"LOCATION\":\"Society I\",\"LAT\":-17.87,\"LON\":-148.07,\"ELEV\":435,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Anthropol\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1080\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-140.24999997,-28.97818363]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1303-07-\",\"NAME_\":\"MACDONALD\",\"LOCATION\":\"Austral I\",\"LAT\":-28.98,\"LON\":-140.25,\"ELEV\":-50,\"TYPE_\":\"Submarine\",\"STATUS\":\"Hydrophon\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1081\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-109.44999991,-27.11826112]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1303-08-\",\"NAME_\":\"EASTER IS\",\"LOCATION\":\"Pacific-C\",\"LAT\":-27.12,\"LON\":-109.45,\"ELEV\":530,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1082\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[178.76999994,-49.67788818]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1304-01-\",\"NAME_\":\"ANTIPODES\",\"LOCATION\":\"Pacific-S\",\"LAT\":-49.68,\"LON\":178.77,\"ELEV\":402,\"TYPE_\":\"Pyroclast\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1083\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-140.2999999,-53.89796259]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1304-02-\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Pacific-S\",\"LAT\":-53.9,\"LON\":-140.3,\"ELEV\":-1000,\"TYPE_\":\"Submarine\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1084\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-143.16999996,-55.96801535]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1304-03-\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Pacific-S\",\"LAT\":-55.97,\"LON\":-143.17,\"ELEV\":0,\"TYPE_\":\"Submarine\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1085\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-115.30500002,32.41606095]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1401-00-\",\"NAME_\":\"PRIETO, C\",\"LOCATION\":\"Mexico\",\"LAT\":32.418,\"LON\":-115.305,\"ELEV\":410,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1086\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-113.49800004,31.77108177]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1401-001\",\"NAME_\":\"PINACATE\",\"LOCATION\":\"Mexico\",\"LAT\":31.773,\"LON\":-113.498,\"ELEV\":1200,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1087\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-115.99599996,30.46612716]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1401-002\",\"NAME_\":\"SAN QUINT\",\"LOCATION\":\"Mexico\",\"LAT\":30.468,\"LON\":-115.996,\"ELEV\":267,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1088\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-114.38399992,29.81215137]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1401-003\",\"NAME_\":\"SAN LUIS\",\"LOCATION\":\"Mexico\",\"LAT\":29.814,\"LON\":-114.384,\"ELEV\":160,\"TYPE_\":\"Explosion\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1089\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-114.49999998,29.32816979]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1401-004\",\"NAME_\":\"JARAQUAY\",\"LOCATION\":\"Mexico\",\"LAT\":29.33,\"LON\":-114.5,\"ELEV\":960,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1090\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-113.51299996,29.07817972]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1401-005\",\"NAME_\":\"CORONADO\",\"LOCATION\":\"Mexico\",\"LAT\":29.08,\"LON\":-113.513,\"ELEV\":460,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1091\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-118.27999991,29.06817996]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1401-006\",\"NAME_\":\"GUADELUPE\",\"LOCATION\":\"Mexico\",\"LAT\":29.07,\"LON\":-118.28,\"ELEV\":1100,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1092\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-113.75000004,28.49820286]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1401-007\",\"NAME_\":\"SAN BORJA\",\"LOCATION\":\"Mexico\",\"LAT\":28.5,\"LON\":-113.75,\"ELEV\":0,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1093\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-115.00000007,27.99822336]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1401-008\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Mexico\",\"LAT\":28,\"LON\":-115,\"ELEV\":0,\"TYPE_\":\"Submarine\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1094\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-112.59099999,27.46824586]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1401-01=\",\"NAME_\":\"TRES VIRG\",\"LOCATION\":\"Mexico\",\"LAT\":27.47,\"LON\":-112.591,\"ELEV\":1940,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D4\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1095\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-111.85799992,27.39024919]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1401-011\",\"NAME_\":\"TORTUGA,\",\"LOCATION\":\"Mexico\",\"LAT\":27.392,\"LON\":-111.858,\"ELEV\":310,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1096\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-110.8200001,19.29866259]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1401-02=\",\"NAME_\":\"BARCENA\",\"LOCATION\":\"Mexico-Is\",\"LAT\":19.3,\"LON\":-110.82,\"ELEV\":332,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1097\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-110.94999999,18.77869321]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1401-021\",\"NAME_\":\"SOCORRO\",\"LOCATION\":\"Mexico-Is\",\"LAT\":18.78,\"LON\":-110.95,\"ELEV\":1050,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1098\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-104.44999998,24.14839969]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1401-022\",\"NAME_\":\"DURANGO V\",\"LOCATION\":\"Mexico\",\"LAT\":24.15,\"LON\":-104.45,\"ELEV\":2075,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1099\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-104.73000007,21.44854082]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1401-023\",\"NAME_\":\"SANGANGUE\",\"LOCATION\":\"Mexico\",\"LAT\":21.45,\"LON\":-104.73,\"ELEV\":2353,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1100\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-104.70000003,21.26855068]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1401-024\",\"NAME_\":\"TEPETILTI\",\"LOCATION\":\"Mexico\",\"LAT\":21.27,\"LON\":-104.7,\"ELEV\":2020,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1101\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-104.49999991,21.12355867]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1401-03=\",\"NAME_\":\"CEBORUCO,\",\"LOCATION\":\"Mexico\",\"LAT\":21.125,\"LON\":-104.5,\"ELEV\":2164,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1102\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-104.82999992,20.61858697]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1401-031\",\"NAME_\":\"MASCOTA V\",\"LOCATION\":\"Mexico\",\"LAT\":20.62,\"LON\":-104.83,\"ELEV\":2540,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1103\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-103.62000008,19.51265009]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1401-04=\",\"NAME_\":\"COLIMA VO\",\"LOCATION\":\"Mexico\",\"LAT\":19.514,\"LON\":-103.62,\"ELEV\":4100,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1104\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-102.2500001,19.47865213]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1401-06=\",\"NAME_\":\"MICHOACAN\",\"LOCATION\":\"Mexico\",\"LAT\":19.48,\"LON\":-102.25,\"ELEV\":3170,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1105\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-99.75699995,19.72263799]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1401-061\",\"NAME_\":\"JOCOTITLA\",\"LOCATION\":\"Mexico\",\"LAT\":19.724,\"LON\":-99.757,\"ELEV\":3950,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1106\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-99.48000009,19.07867548]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1401-07-\",\"NAME_\":\"HOLOTEPEC\",\"LOCATION\":\"Mexico\",\"LAT\":19.08,\"LON\":-99.48,\"ELEV\":3000,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1107\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-99.12999998,19.07867548]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1401-08=\",\"NAME_\":\"CHICHINAU\",\"LOCATION\":\"Mexico\",\"LAT\":19.08,\"LON\":-99.13,\"ELEV\":3930,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1108\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-98.82000007,19.1686701]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1401-081\",\"NAME_\":\"TENAYO GR\",\"LOCATION\":\"Mexico\",\"LAT\":19.17,\"LON\":-98.82,\"ELEV\":3080,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1109\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-99.00000009,19.31866152]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1401-082\",\"NAME_\":\"SANTA CAT\",\"LOCATION\":\"Mexico\",\"LAT\":19.32,\"LON\":-99,\"ELEV\":2734,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Anthropol\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1110\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-98.80799997,19.74863643]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1401-083\",\"NAME_\":\"GORDO, CE\",\"LOCATION\":\"Mexico\",\"LAT\":19.75,\"LON\":-98.808,\"ELEV\":3046,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1111\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-98.74700002,19.92162658]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1401-084\",\"NAME_\":\"PITOS, SI\",\"LOCATION\":\"Mexico\",\"LAT\":19.923,\"LON\":-98.747,\"ELEV\":3000,\"TYPE_\":\"Unknown\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1112\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-98.69999991,19.30666212]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1401-085\",\"NAME_\":\"PAPAYO\",\"LOCATION\":\"Mexico\",\"LAT\":19.308,\"LON\":-98.7,\"ELEV\":3600,\"TYPE_\":\"Lava dome\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1113\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-98.64199999,19.17766965]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1401-086\",\"NAME_\":\"IZTACCIHU\",\"LOCATION\":\"Mexico\",\"LAT\":19.179,\"LON\":-98.642,\"ELEV\":5230,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1114\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-98.6220001,19.02167878]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1401-09=\",\"NAME_\":\"POPOCATEP\",\"LOCATION\":\"Mexico\",\"LAT\":19.023,\"LON\":-98.622,\"ELEV\":5465,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1115\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-98.02999994,19.22866667]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1401-091\",\"NAME_\":\"MALINCHE,\",\"LOCATION\":\"Mexico\",\"LAT\":19.23,\"LON\":-98.03,\"ELEV\":4420,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1116\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-97.2679999,19.02867849]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1401-10=\",\"NAME_\":\"ORIZABA,\",\"LOCATION\":\"Mexico\",\"LAT\":19.03,\"LON\":-97.268,\"ELEV\":5610,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D5\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1117\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-95.16899995,18.57070546]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1401-11=\",\"NAME_\":\"SAN MARTI\",\"LOCATION\":\"Mexico\",\"LAT\":18.572,\"LON\":-95.169,\"ELEV\":1650,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D4\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1118\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-93.22799998,17.35877884]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1401-12=\",\"NAME_\":\"CHICHON,\",\"LOCATION\":\"Mexico\",\"LAT\":17.36,\"LON\":-93.228,\"ELEV\":1060,\"TYPE_\":\"Lava dome\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1119\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-92.11300001,15.12891957]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1401-13=\",\"NAME_\":\"TACANA\",\"LOCATION\":\"Mexico\",\"LAT\":15.13,\"LON\":-92.113,\"ELEV\":4110,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1120\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-91.90299995,15.03292582]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1402-02=\",\"NAME_\":\"TAJUMULCO\",\"LOCATION\":\"Guatemala\",\"LAT\":15.034,\"LON\":-91.903,\"ELEV\":4220,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1121\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-91.55199997,14.75494393]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1402-03=\",\"NAME_\":\"SANTA MAR\",\"LOCATION\":\"Guatemala\",\"LAT\":14.756,\"LON\":-91.552,\"ELEV\":3772,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1122\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-91.48,14.81893974]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1402-04=\",\"NAME_\":\"ALMOLONGA\",\"LOCATION\":\"Guatemala\",\"LAT\":14.82,\"LON\":-91.48,\"ELEV\":3197,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1123\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-91.43000007,14.74894427]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1402-05=\",\"NAME_\":\"TZANJUYUB\",\"LOCATION\":\"Guatemala\",\"LAT\":14.75,\"LON\":-91.43,\"ELEV\":3542,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Pleistoce\",\"TIME_FRAME\":\"Q\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1124\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-91.18600008,14.5819551]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1402-06=\",\"NAME_\":\"ATITLAN\",\"LOCATION\":\"Guatemala\",\"LAT\":14.583,\"LON\":-91.186,\"ELEV\":3535,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1125\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-91.1890001,14.61195318]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1402-07=\",\"NAME_\":\"TOLIMAN\",\"LOCATION\":\"Guatemala\",\"LAT\":14.613,\"LON\":-91.189,\"ELEV\":3158,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1126\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-90.87599995,14.49996055]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1402-08=\",\"NAME_\":\"ACATENANG\",\"LOCATION\":\"Guatemala\",\"LAT\":14.501,\"LON\":-90.876,\"ELEV\":3976,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1127\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-90.88000005,14.47196229]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1402-09=\",\"NAME_\":\"FUEGO\",\"LOCATION\":\"Guatemala\",\"LAT\":14.473,\"LON\":-90.88,\"ELEV\":3763,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1128\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-90.74300003,14.46396282]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1402-10=\",\"NAME_\":\"AGUA\",\"LOCATION\":\"Guatemala\",\"LAT\":14.465,\"LON\":-90.743,\"ELEV\":3760,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1129\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-90.60100004,14.37996826]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1402-11=\",\"NAME_\":\"PACAYA\",\"LOCATION\":\"Guatemala\",\"LAT\":14.381,\"LON\":-90.601,\"ELEV\":2552,\"TYPE_\":\"Complex v\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1130\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-90.40000005,14.3289716]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1402-111\",\"NAME_\":\"CUILAPA-B\",\"LOCATION\":\"Guatemala\",\"LAT\":14.33,\"LON\":-90.4,\"ELEV\":1454,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1131\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-90.40699997,14.15498306]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1402-12=\",\"NAME_\":\"TECUAMBUR\",\"LOCATION\":\"Guatemala\",\"LAT\":14.156,\"LON\":-90.407,\"ELEV\":1845,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1132\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-90.10000007,14.02899137]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1402-13-\",\"NAME_\":\"MOYUTA\",\"LOCATION\":\"Guatemala\",\"LAT\":14.03,\"LON\":-90.1,\"ELEV\":1662,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Hot Sprin\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1133\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-90.00000001,14.29897374]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1402-14-\",\"NAME_\":\"FLORES, V\",\"LOCATION\":\"Guatemala\",\"LAT\":14.3,\"LON\":-90,\"ELEV\":1600,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1134\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-89.73000008,14.11898555]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1402-15-\",\"NAME_\":\"CHINGO VO\",\"LOCATION\":\"Guatemala\",\"LAT\":14.12,\"LON\":-89.73,\"ELEV\":1775,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1135\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-89.86999991,14.3289716]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1402-16-\",\"NAME_\":\"SANTIAGO,\",\"LOCATION\":\"Guatemala\",\"LAT\":14.33,\"LON\":-89.87,\"ELEV\":1192,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1136\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-89.78,14.39896703]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1402-17-\",\"NAME_\":\"SUCHITAN\",\"LOCATION\":\"Guatemala\",\"LAT\":14.4,\"LON\":-89.78,\"ELEV\":2042,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1137\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-89.67999994,14.41896581]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1402-18-\",\"NAME_\":\"IXTEPEQUE\",\"LOCATION\":\"Guatemala\",\"LAT\":14.42,\"LON\":-89.68,\"ELEV\":1292,\"TYPE_\":\"Lava dome\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1138\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-89.63000002,14.5489572]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1402-19-\",\"NAME_\":\"IPALA VOL\",\"LOCATION\":\"Guatemala\",\"LAT\":14.55,\"LON\":-89.63,\"ELEV\":1650,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1139\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-89.55000005,14.82893903]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1402-20-\",\"NAME_\":\"CHIQUIMUL\",\"LOCATION\":\"Guatemala\",\"LAT\":14.83,\"LON\":-89.55,\"ELEV\":1192,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1140\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-89.34999993,14.64895073]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1402-21-\",\"NAME_\":\"QUEZALTEP\",\"LOCATION\":\"Guatemala\",\"LAT\":14.65,\"LON\":-89.35,\"ELEV\":1200,\"TYPE_\":\"Unknown\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1141\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-89.78600005,13.89000059]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1403-01=\",\"NAME_\":\"VERDE, LA\",\"LOCATION\":\"El Salvad\",\"LAT\":13.891,\"LON\":-89.786,\"ELEV\":1829,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1142\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-89.63000002,14.04899015]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1403-011\",\"NAME_\":\"SINGUIL,\",\"LOCATION\":\"El Salvad\",\"LAT\":14.05,\"LON\":-89.63,\"ELEV\":958,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1143\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-89.47000009,14.26897567]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1403-012\",\"NAME_\":\"SAN DIEGO\",\"LOCATION\":\"El Salvad\",\"LAT\":14.27,\"LON\":-89.47,\"ELEV\":860,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1144\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-89.63000002,13.85200307]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1403-02=\",\"NAME_\":\"SANTA ANA\",\"LOCATION\":\"El Salvad\",\"LAT\":13.853,\"LON\":-89.63,\"ELEV\":2365,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1145\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-89.63300004,13.81200574]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1403-03=\",\"NAME_\":\"IZALCO\",\"LOCATION\":\"El Salvad\",\"LAT\":13.813,\"LON\":-89.633,\"ELEV\":1950,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1146\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-89.55000005,13.86900202]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1403-041\",\"NAME_\":\"COATEPEQU\",\"LOCATION\":\"El Salvad\",\"LAT\":13.87,\"LON\":-89.55,\"ELEV\":746,\"TYPE_\":\"Caldera\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1147\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-89.28599996,13.73501091]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1403-05=\",\"NAME_\":\"SAN SALVA\",\"LOCATION\":\"El Salvad\",\"LAT\":13.736,\"LON\":-89.286,\"ELEV\":1893,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1148\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-89.11999998,13.89900007]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1403-051\",\"NAME_\":\"GUAZAPA\",\"LOCATION\":\"El Salvad\",\"LAT\":13.9,\"LON\":-89.12,\"ELEV\":1438,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1149\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-89.05299998,13.67101519]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1403-06=\",\"NAME_\":\"ILOPANGO\",\"LOCATION\":\"El Salvad\",\"LAT\":13.672,\"LON\":-89.053,\"ELEV\":450,\"TYPE_\":\"Caldera\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1150\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-88.85199999,13.62201839]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1403-07=\",\"NAME_\":\"SAN VICEN\",\"LOCATION\":\"El Salvad\",\"LAT\":13.623,\"LON\":-88.852,\"ELEV\":2000,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1151\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-88.77000007,13.71901198]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1403-071\",\"NAME_\":\"APASTEPEQ\",\"LOCATION\":\"El Salvad\",\"LAT\":13.72,\"LON\":-88.77,\"ELEV\":700,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1152\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-88.52999997,13.44903001]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1403-072\",\"NAME_\":\"TABURETE\",\"LOCATION\":\"El Salvad\",\"LAT\":13.45,\"LON\":-88.53,\"ELEV\":1172,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1153\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-88.50299995,13.49602678]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1403-08=\",\"NAME_\":\"TECAPA\",\"LOCATION\":\"El Salvad\",\"LAT\":13.497,\"LON\":-88.503,\"ELEV\":1592,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1154\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-88.4700001,13.41903198]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1403-081\",\"NAME_\":\"USULUTAN\",\"LOCATION\":\"El Salvad\",\"LAT\":13.42,\"LON\":-88.47,\"ELEV\":1450,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1155\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-88.3199999,13.47902784]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1403-09=\",\"NAME_\":\"CHINAMECA\",\"LOCATION\":\"El Salvad\",\"LAT\":13.48,\"LON\":-88.32,\"ELEV\":1228,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1156\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-88.27199992,13.43003126]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1403-10=\",\"NAME_\":\"SAN MIGUE\",\"LOCATION\":\"El Salvad\",\"LAT\":13.431,\"LON\":-88.272,\"ELEV\":2130,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1157\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-87.85300008,13.27604146]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1403-11=\",\"NAME_\":\"CONCHAGUA\",\"LOCATION\":\"El Salvad\",\"LAT\":13.277,\"LON\":-87.853,\"ELEV\":1250,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1158\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-87.76499991,13.21904523]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1403-12=\",\"NAME_\":\"CONCHAGUI\",\"LOCATION\":\"El Salvad\",\"LAT\":13.22,\"LON\":-87.765,\"ELEV\":550,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1159\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-87.63000005,13.26904202]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1403-13-\",\"NAME_\":\"TIGRE, IS\",\"LOCATION\":\"Honduras\",\"LAT\":13.27,\"LON\":-87.63,\"ELEV\":760,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1160\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-87.63000005,13.32903787]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1403-14-\",\"NAME_\":\"ZACATE GR\",\"LOCATION\":\"Honduras\",\"LAT\":13.33,\"LON\":-87.63,\"ELEV\":600,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1161\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-87.97999995,14.97892928]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1403-15-\",\"NAME_\":\"YOJOA, LA\",\"LOCATION\":\"Honduras\",\"LAT\":14.98,\"LON\":-87.98,\"ELEV\":1090,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1162\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-86.89999999,16.09885747]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1403-16-\",\"NAME_\":\"UTILA ISL\",\"LOCATION\":\"Honduras\",\"LAT\":16.1,\"LON\":-86.9,\"ELEV\":90,\"TYPE_\":\"Pyroclast\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1163\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-87.56999997,12.97906144]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1404-01=\",\"NAME_\":\"COSIGUINA\",\"LOCATION\":\"Nicaragua\",\"LAT\":12.98,\"LON\":-87.57,\"ELEV\":859,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1164\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-87.00399995,12.70108026]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1404-02=\",\"NAME_\":\"SAN CRIST\",\"LOCATION\":\"Nicaragua\",\"LAT\":12.702,\"LON\":-87.004,\"ELEV\":1745,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1165\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-86.8450001,12.60208676]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1404-04=\",\"NAME_\":\"TELICA\",\"LOCATION\":\"Nicaragua\",\"LAT\":12.603,\"LON\":-86.845,\"ELEV\":1010,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1166\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-86.75000001,12.5490904]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1404-06-\",\"NAME_\":\"ROTA\",\"LOCATION\":\"Nicaragua\",\"LAT\":12.55,\"LON\":-86.75,\"ELEV\":836,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1167\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-86.70200003,12.5050935]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1404-07=\",\"NAME_\":\"NEGRO, CE\",\"LOCATION\":\"Nicaragua\",\"LAT\":12.506,\"LON\":-86.702,\"ELEV\":675,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1168\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-86.68799998,12.49409423]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1404-08=\",\"NAME_\":\"PILAS, LA\",\"LOCATION\":\"Nicaragua\",\"LAT\":12.495,\"LON\":-86.688,\"ELEV\":1050,\"TYPE_\":\"Complex v\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1169\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-86.53999994,12.42209914]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1404-09=\",\"NAME_\":\"MOMOTOMBO\",\"LOCATION\":\"Nicaragua\",\"LAT\":12.423,\"LON\":-86.54,\"ELEV\":1258,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1170\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-86.34199997,12.24111135]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1404-091\",\"NAME_\":\"APOYEQUE\",\"LOCATION\":\"Nicaragua\",\"LAT\":12.242,\"LON\":-86.342,\"ELEV\":420,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Anthropol\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1171\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-86.31999993,12.11911977]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1404-092\",\"NAME_\":\"NEJAPA-TI\",\"LOCATION\":\"Nicaragua\",\"LAT\":12.12,\"LON\":-86.32,\"ELEV\":220,\"TYPE_\":\"Fissure v\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1172\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-86.16100008,11.98312891]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1404-10=\",\"NAME_\":\"MASAYA\",\"LOCATION\":\"Nicaragua\",\"LAT\":11.984,\"LON\":-86.161,\"ELEV\":635,\"TYPE_\":\"Caldera\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1173\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-86.0299999,11.91913331]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1404-101\",\"NAME_\":\"APOYO\",\"LOCATION\":\"Nicaragua\",\"LAT\":11.92,\"LON\":-86.03,\"ELEV\":468,\"TYPE_\":\"Caldera\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1174\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-85.96800008,11.82513974]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1404-11=\",\"NAME_\":\"MOMBACHO\",\"LOCATION\":\"Nicaragua\",\"LAT\":11.826,\"LON\":-85.968,\"ELEV\":1345,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1175\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-85.82000004,11.72914636]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1404-111\",\"NAME_\":\"ZAPATERA\",\"LOCATION\":\"Nicaragua\",\"LAT\":11.73,\"LON\":-85.82,\"ELEV\":625,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1176\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-85.62299995,11.53715965]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1404-12=\",\"NAME_\":\"CONCEPCIO\",\"LOCATION\":\"Nicaragua\",\"LAT\":11.538,\"LON\":-85.623,\"ELEV\":1610,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1177\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-85.5150001,11.44516592]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1404-13-\",\"NAME_\":\"MADERA, L\",\"LOCATION\":\"Nicaragua\",\"LAT\":11.446,\"LON\":-85.515,\"ELEV\":1394,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1178\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-83.91999992,12.6790817]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1404-14-\",\"NAME_\":\"BLUE, VOL\",\"LOCATION\":\"Nicaragua\",\"LAT\":12.68,\"LON\":-83.92,\"ELEV\":150,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1179\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-85.47299996,10.97919819]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1405-01=\",\"NAME_\":\"OROSI\",\"LOCATION\":\"Costa Ric\",\"LAT\":10.98,\"LON\":-85.473,\"ELEV\":1659,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1180\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-85.32400005,10.82920863]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1405-02=\",\"NAME_\":\"RINCON DE\",\"LOCATION\":\"Costa Ric\",\"LAT\":10.83,\"LON\":-85.324,\"ELEV\":1916,\"TYPE_\":\"Complex v\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1181\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-85.1530001,10.74721421]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1405-03=\",\"NAME_\":\"MIRAVALLE\",\"LOCATION\":\"Costa Ric\",\"LAT\":10.748,\"LON\":-85.153,\"ELEV\":2028,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1182\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-85.015,10.67221944]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1405-031\",\"NAME_\":\"TENORIO G\",\"LOCATION\":\"Costa Ric\",\"LAT\":10.673,\"LON\":-85.015,\"ELEV\":1916,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1183\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-85.0699999,10.47123348]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1405-032\",\"NAME_\":\"ANUNCIACI\",\"LOCATION\":\"Costa Ric\",\"LAT\":10.472,\"LON\":-85.07,\"ELEV\":402,\"TYPE_\":\"Pyroclast\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1184\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-84.70299993,10.46223424]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1405-033\",\"NAME_\":\"ARENAL\",\"LOCATION\":\"Costa Ric\",\"LAT\":10.463,\"LON\":-84.703,\"ELEV\":1657,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1185\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-84.65999992,10.31924418]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1405-034\",\"NAME_\":\"POCO SOL,\",\"LOCATION\":\"Costa Ric\",\"LAT\":10.32,\"LON\":-84.66,\"ELEV\":789,\"TYPE_\":\"Explosion\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1186\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-84.31000002,10.41923724]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1405-035\",\"NAME_\":\"AGUAS ZAR\",\"LOCATION\":\"Costa Ric\",\"LAT\":10.42,\"LON\":-84.31,\"ELEV\":621,\"TYPE_\":\"Pyroclast\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1187\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-84.36599999,10.29924548]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1405-036\",\"NAME_\":\"PLATANAR,\",\"LOCATION\":\"Costa Ric\",\"LAT\":10.3,\"LON\":-84.366,\"ELEV\":2183,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1188\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-84.23300008,10.19925264]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1405-04=\",\"NAME_\":\"POAS\",\"LOCATION\":\"Costa Ric\",\"LAT\":10.2,\"LON\":-84.233,\"ELEV\":2708,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1189\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-84.09999995,10.13425715]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1405-05=\",\"NAME_\":\"BARVA\",\"LOCATION\":\"Costa Ric\",\"LAT\":10.135,\"LON\":-84.1,\"ELEV\":2906,\"TYPE_\":\"Complex v\",\"STATUS\":\"Tephrochr\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1190\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-83.85299993,9.97826808]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1405-06=\",\"NAME_\":\"IRAZU\",\"LOCATION\":\"Costa Ric\",\"LAT\":9.979,\"LON\":-83.853,\"ELEV\":3432,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1191\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-83.76999994,10.0292645]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1405-07=\",\"NAME_\":\"TURRIALBA\",\"LOCATION\":\"Costa Ric\",\"LAT\":10.03,\"LON\":-83.77,\"ELEV\":3340,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1192\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-82.55799994,8.79935167]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1406-01-\",\"NAME_\":\"BARU\",\"LOCATION\":\"Panama\",\"LAT\":8.8,\"LON\":-82.558,\"ELEV\":3477,\"TYPE_\":\"Complex v\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D5\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1193\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-80.91000002,8.5223714]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1406-02-\",\"NAME_\":\"YEGUADA,\",\"LOCATION\":\"Panama\",\"LAT\":8.523,\"LON\":-80.91,\"ELEV\":1297,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D5\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1194\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-75.29999999,5.09162093]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1501-011\",\"NAME_\":\"BRAVO, CE\",\"LOCATION\":\"Colombia\",\"LAT\":5.092,\"LON\":-75.3,\"ELEV\":4000,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D4\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1195\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-75.32299991,4.89463535]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1501-02=\",\"NAME_\":\"RUIZ\",\"LOCATION\":\"Colombia\",\"LAT\":4.895,\"LON\":-75.323,\"ELEV\":5321,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1196\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-75.37000002,4.81964089]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1501-021\",\"NAME_\":\"SANTA ISA\",\"LOCATION\":\"Colombia\",\"LAT\":4.82,\"LON\":-75.37,\"ELEV\":4950,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1197\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-75.33000003,4.66965198]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1501-03=\",\"NAME_\":\"TOLIMA\",\"LOCATION\":\"Colombia\",\"LAT\":4.67,\"LON\":-75.33,\"ELEV\":5200,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1198\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-75.40000006,4.47966605]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1501-04=\",\"NAME_\":\"MACHIN, C\",\"LOCATION\":\"Colombia\",\"LAT\":4.48,\"LON\":-75.4,\"ELEV\":2650,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Tephrochr\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1199\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-76.04999993,2.91978188]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1501-05=\",\"NAME_\":\"HUILA\",\"LOCATION\":\"Colombia\",\"LAT\":2.92,\"LON\":-76.05,\"ELEV\":5365,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D5\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1200\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-76.40000004,2.31982645]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1501-06=\",\"NAME_\":\"PURACE\",\"LOCATION\":\"Colombia\",\"LAT\":2.32,\"LON\":-76.4,\"ELEV\":4650,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1201\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-76.58000007,2.11984146]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1501-061\",\"NAME_\":\"SOTARA\",\"LOCATION\":\"Colombia\",\"LAT\":2.12,\"LON\":-76.58,\"ELEV\":4400,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1202\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-76.77999998,1.56988252]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1501-062\",\"NAME_\":\"PETACAS\",\"LOCATION\":\"Colombia\",\"LAT\":1.57,\"LON\":-76.78,\"ELEV\":4054,\"TYPE_\":\"Lava dome\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1203\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-76.92000003,1.46988994]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1501-07=\",\"NAME_\":\"DONA JUAN\",\"LOCATION\":\"Colombia\",\"LAT\":1.47,\"LON\":-76.92,\"ELEV\":4150,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1204\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-77.36999999,1.21990879]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1501-08=\",\"NAME_\":\"GALERAS\",\"LOCATION\":\"Colombia\",\"LAT\":1.22,\"LON\":-77.37,\"ELEV\":4276,\"TYPE_\":\"Complex v\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1205\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-77.67999991,1.07991922]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1501-09=\",\"NAME_\":\"AZUFRAL,\",\"LOCATION\":\"Colombia\",\"LAT\":1.08,\"LON\":-77.68,\"ELEV\":4070,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1206\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-77.88000003,0.97992664]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1501-10=\",\"NAME_\":\"CUMBAL\",\"LOCATION\":\"Colombia\",\"LAT\":0.98,\"LON\":-77.88,\"ELEV\":4764,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1207\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-77.9640001,0.82793808]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1501-11=\",\"NAME_\":\"NEGRO DE\",\"LOCATION\":\"Colombia\",\"LAT\":0.828,\"LON\":-77.964,\"ELEV\":4445,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1208\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-77.58000005,0.55195875]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1502-001\",\"NAME_\":\"SOCHE\",\"LOCATION\":\"Ecuador\",\"LAT\":0.552,\"LON\":-77.58,\"ELEV\":3955,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1209\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-78.36399992,0.30797701]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1502-002\",\"NAME_\":\"CUICOCHA\",\"LOCATION\":\"Ecuador\",\"LAT\":0.308,\"LON\":-78.364,\"ELEV\":3246,\"TYPE_\":\"Caldera\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1210\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-78.26999991,0.12999025]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1502-003\",\"NAME_\":\"MOJANDA\",\"LOCATION\":\"Ecuador\",\"LAT\":0.13,\"LON\":-78.27,\"ELEV\":4294,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1211\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-77.98599993,0.02899788]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1502-004\",\"NAME_\":\"CAYAMBE\",\"LOCATION\":\"Ecuador\",\"LAT\":0.029,\"LON\":-77.986,\"ELEV\":5790,\"TYPE_\":\"Compound\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1212\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-77.65599992,-0.07799409]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1502-01=\",\"NAME_\":\"REVENTADO\",\"LOCATION\":\"Ecuador\",\"LAT\":-0.078,\"LON\":-77.656,\"ELEV\":3562,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1213\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-78.46299991,0.03799708]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1502-011\",\"NAME_\":\"PULULAGUA\",\"LOCATION\":\"Ecuador\",\"LAT\":0.038,\"LON\":-78.463,\"ELEV\":3356,\"TYPE_\":\"Caldera\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1214\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-78.59799998,-0.17098727]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1502-02=\",\"NAME_\":\"GUAGUA PI\",\"LOCATION\":\"Ecuador\",\"LAT\":-0.171,\"LON\":-78.598,\"ELEV\":4784,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1215\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-78.617,-0.35297362]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1502-021\",\"NAME_\":\"ATACAZO\",\"LOCATION\":\"Ecuador\",\"LAT\":-0.353,\"LON\":-78.617,\"ELEV\":4463,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1216\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-78.25000002,-0.37497201]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1502-022\",\"NAME_\":\"CHACANA\",\"LOCATION\":\"Ecuador\",\"LAT\":-0.375,\"LON\":-78.25,\"ELEV\":4643,\"TYPE_\":\"Caldera\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D4\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1217\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-78.1410001,-0.48096398]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1502-03=\",\"NAME_\":\"ANTISANA\",\"LOCATION\":\"Ecuador\",\"LAT\":-0.481,\"LON\":-78.141,\"ELEV\":5753,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1218\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-77.7200001,-0.42996779]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1502-031\",\"NAME_\":\"PAN DE AZ\",\"LOCATION\":\"Ecuador\",\"LAT\":-0.43,\"LON\":-77.72,\"ELEV\":3482,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1219\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-77.62600009,-0.53795977]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1502-04=\",\"NAME_\":\"SUMACO\",\"LOCATION\":\"Ecuador\",\"LAT\":-0.538,\"LON\":-77.626,\"ELEV\":3990,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1220\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-78.71400003,-0.65895074]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1502-041\",\"NAME_\":\"ILINIZA\",\"LOCATION\":\"Ecuador\",\"LAT\":-0.659,\"LON\":-78.714,\"ELEV\":5248,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1221\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-78.4360001,-0.67694933]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1502-05=\",\"NAME_\":\"COTOPAXI\",\"LOCATION\":\"Ecuador\",\"LAT\":-0.677,\"LON\":-78.436,\"ELEV\":5911,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1222\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-78.8999999,-0.84993629]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1502-06=\",\"NAME_\":\"QUILOTOA\",\"LOCATION\":\"Ecuador\",\"LAT\":-0.85,\"LON\":-78.9,\"ELEV\":3914,\"TYPE_\":\"Caldera\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1223\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-78.44199994,-1.46689016]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1502-08=\",\"NAME_\":\"TUNGURAHU\",\"LOCATION\":\"Ecuador\",\"LAT\":-1.467,\"LON\":-78.442,\"ELEV\":5023,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1224\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-78.6130001,-1.77986692]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1502-081\",\"NAME_\":\"TULABUG\",\"LOCATION\":\"Ecuador\",\"LAT\":-1.78,\"LON\":-78.613,\"ELEV\":3336,\"TYPE_\":\"Scoria co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1225\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-78.32999999,-2.02984808]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1502-09=\",\"NAME_\":\"SANGAY\",\"LOCATION\":\"Ecuador\",\"LAT\":-2.03,\"LON\":-78.33,\"ELEV\":5230,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1226\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-91.55000002,-0.36997221]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1503-01=\",\"NAME_\":\"FERNANDIN\",\"LOCATION\":\"Galapagos\",\"LAT\":-0.37,\"LON\":-91.55,\"ELEV\":1495,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1227\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-91.54599992,-0.0199985]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1503-011\",\"NAME_\":\"ECUADOR,\",\"LOCATION\":\"Galapagos\",\"LAT\":-0.02,\"LON\":-91.546,\"ELEV\":790,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1228\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-91.3499999,0.01999848]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1503-02=\",\"NAME_\":\"WOLF, VOL\",\"LOCATION\":\"Galapagos\",\"LAT\":0.02,\"LON\":-91.35,\"ELEV\":1710,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1229\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-91.28000009,-0.17998646]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1503-03=\",\"NAME_\":\"DARWIN, V\",\"LOCATION\":\"Galapagos\",\"LAT\":-0.18,\"LON\":-91.28,\"ELEV\":1330,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1230\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-91.11999995,-0.42996779]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1503-04=\",\"NAME_\":\"ALCEDO, V\",\"LOCATION\":\"Galapagos\",\"LAT\":-0.43,\"LON\":-91.12,\"ELEV\":1130,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1231\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-91.17000008,-0.8299379]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1503-05=\",\"NAME_\":\"NEGRA, SI\",\"LOCATION\":\"Galapagos\",\"LAT\":-0.83,\"LON\":-91.17,\"ELEV\":1490,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1232\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-91.41999992,-0.89993268]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1503-06=\",\"NAME_\":\"AZUL, CER\",\"LOCATION\":\"Galapagos\",\"LAT\":-0.9,\"LON\":-91.42,\"ELEV\":1690,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1233\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-90.74999995,0.57995653]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1503-07=\",\"NAME_\":\"PINTA\",\"LOCATION\":\"Galapagos\",\"LAT\":0.58,\"LON\":-90.75,\"ELEV\":780,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1234\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-90.47000007,0.3299752]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1503-08=\",\"NAME_\":\"MARCHENA\",\"LOCATION\":\"Galapagos\",\"LAT\":0.33,\"LON\":-90.47,\"ELEV\":343,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1235\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-89.95800008,0.319976]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1503-081\",\"NAME_\":\"GENOVESA\",\"LOCATION\":\"Galapagos\",\"LAT\":0.32,\"LON\":-89.958,\"ELEV\":64,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1236\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-90.77000005,-0.21998345]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1503-09=\",\"NAME_\":\"SANTIAGO\",\"LOCATION\":\"Galapagos\",\"LAT\":-0.22,\"LON\":-90.77,\"ELEV\":920,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1237\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-90.33000003,-0.61995354]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1503-091\",\"NAME_\":\"SANTA CRU\",\"LOCATION\":\"Galapagos\",\"LAT\":-0.62,\"LON\":-90.33,\"ELEV\":864,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1238\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-90.44999998,-1.2999028]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1503-10=\",\"NAME_\":\"FLOREANA\",\"LOCATION\":\"Galapagos\",\"LAT\":-1.3,\"LON\":-90.45,\"ELEV\":640,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1239\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-89.49999992,-0.87993408]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1503-12-\",\"NAME_\":\"SAN CRIST\",\"LOCATION\":\"Galapagos\",\"LAT\":-0.88,\"LON\":-89.5,\"ELEV\":759,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1240\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-72.63000005,-15.22891319]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1504-00-\",\"NAME_\":\"FIRURA, N\",\"LOCATION\":\"Peru\",\"LAT\":-15.23,\"LON\":-72.63,\"ELEV\":5498,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1241\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-72.64999994,-15.51889458]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1504-001\",\"NAME_\":\"COROPUNA\",\"LOCATION\":\"Peru\",\"LAT\":-15.52,\"LON\":-72.65,\"ELEV\":6377,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1242\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-72.33000008,-15.41890094]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1504-002\",\"NAME_\":\"ANDAHUA V\",\"LOCATION\":\"Peru\",\"LAT\":-15.42,\"LON\":-72.33,\"ELEV\":4713,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1243\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-71.85000007,-15.77887796]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1504-003\",\"NAME_\":\"SABANCAYA\",\"LOCATION\":\"Peru\",\"LAT\":-15.78,\"LON\":-71.85,\"ELEV\":5967,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1244\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-71.16999995,-14.36896898]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1504-004\",\"NAME_\":\"QUIMSACHA\",\"LOCATION\":\"Peru\",\"LAT\":-14.37,\"LON\":-71.17,\"ELEV\":3923,\"TYPE_\":\"Lava dome\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1245\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-71.53,-16.18985173]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1504-005\",\"NAME_\":\"CHACHANI,\",\"LOCATION\":\"Peru\",\"LAT\":-16.191,\"LON\":-71.53,\"ELEV\":6057,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1246\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-71.40899998,-16.29284532]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1504-01=\",\"NAME_\":\"MISTI, EL\",\"LOCATION\":\"Peru\",\"LAT\":-16.294,\"LON\":-71.409,\"ELEV\":5822,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D4\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1247\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-70.90300004,-16.35384142]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1504-02=\",\"NAME_\":\"UBINAS\",\"LOCATION\":\"Peru\",\"LAT\":-16.355,\"LON\":-70.903,\"ELEV\":5672,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1248\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-70.85000009,-16.60682562]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1504-03=\",\"NAME_\":\"HUAYNAPUT\",\"LOCATION\":\"Peru\",\"LAT\":-16.608,\"LON\":-70.85,\"ELEV\":4850,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D5\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1249\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-70.59500007,-16.7538164]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1504-031\",\"NAME_\":\"TICSANI\",\"LOCATION\":\"Peru\",\"LAT\":-16.755,\"LON\":-70.595,\"ELEV\":5408,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1250\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-70.35799999,-17.02379955]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1504-04=\",\"NAME_\":\"TUTUPACA\",\"LOCATION\":\"Peru\",\"LAT\":-17.025,\"LON\":-70.358,\"ELEV\":5815,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1251\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-70.2,-17.17878992]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1504-05-\",\"NAME_\":\"YUCAMANE\",\"LOCATION\":\"Peru\",\"LAT\":-17.18,\"LON\":-70.2,\"ELEV\":5550,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D4\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1252\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-69.82000006,-17.46877211]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1504-06-\",\"NAME_\":\"CASIRI, N\",\"LOCATION\":\"Peru\",\"LAT\":-17.47,\"LON\":-69.82,\"ELEV\":5650,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1253\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-69.76999993,-17.71875688]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-01=\",\"NAME_\":\"TACORA\",\"LOCATION\":\"Chile-N\",\"LAT\":-17.72,\"LON\":-69.77,\"ELEV\":5980,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1254\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-69.4799999,-17.86874775]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-011\",\"NAME_\":\"LEXONE\",\"LOCATION\":\"Chile-N\",\"LAT\":-17.87,\"LON\":-69.48,\"ELEV\":5340,\"TYPE_\":\"Lava dome\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1255\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-69.02999994,-18.04873688]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-012\",\"NAME_\":\"PATILLA P\",\"LOCATION\":\"Bolivia\",\"LAT\":-18.05,\"LON\":-69.03,\"ELEV\":5300,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1256\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-68.91999993,-17.91874485]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-013\",\"NAME_\":\"ANALLAJSI\",\"LOCATION\":\"Bolivia\",\"LAT\":-17.92,\"LON\":-68.92,\"ELEV\":5750,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1257\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-68.53000005,-18.24872474]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-014\",\"NAME_\":\"MACIZO DE\",\"LOCATION\":\"Bolivia\",\"LAT\":-18.25,\"LON\":-68.53,\"ELEV\":5520,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1258\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-68.79999998,-18.31872055]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-015\",\"NAME_\":\"MACIZO DE\",\"LOCATION\":\"Bolivia\",\"LAT\":-18.32,\"LON\":-68.8,\"ELEV\":5400,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1259\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-69.15000009,-18.16872958]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-016\",\"NAME_\":\"PARINACOT\",\"LOCATION\":\"Chile-N\",\"LAT\":-18.17,\"LON\":-69.15,\"ELEV\":6348,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1260\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-69.05000003,-18.36871769]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-017\",\"NAME_\":\"ACOTANGO\",\"LOCATION\":\"Chile-N\",\"LAT\":-18.37,\"LON\":-69.05,\"ELEV\":6052,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1261\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-69.16999998,-18.41871462]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-02=\",\"NAME_\":\"GUALLATIR\",\"LOCATION\":\"Chile-N\",\"LAT\":-18.42,\"LON\":-69.17,\"ELEV\":6071,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1262\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-68.06999993,-18.49870981]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-021\",\"NAME_\":\"COLLUMA,\",\"LOCATION\":\"Bolivia\",\"LAT\":-18.5,\"LON\":-68.07,\"ELEV\":3876,\"TYPE_\":\"Maar\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1263\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-68.75000006,-18.6187026]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-022\",\"NAME_\":\"SACABAYA,\",\"LOCATION\":\"Bolivia\",\"LAT\":-18.62,\"LON\":-68.75,\"ELEV\":4215,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1264\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-69.05000003,-18.72869607]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-023\",\"NAME_\":\"ARINTICA,\",\"LOCATION\":\"Chile-N\",\"LAT\":-18.73,\"LON\":-69.05,\"ELEV\":5597,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1265\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-68.53000005,-19.12867249]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-024\",\"NAME_\":\"TATA SABA\",\"LOCATION\":\"Bolivia\",\"LAT\":-19.13,\"LON\":-68.53,\"ELEV\":5430,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1266\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-68.83000002,-19.14867141]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-03=\",\"NAME_\":\"ISLUGA\",\"LOCATION\":\"Chile-N\",\"LAT\":-19.15,\"LON\":-68.83,\"ELEV\":5050,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1267\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-68.97000007,-19.41865556]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-031\",\"NAME_\":\"PUCHULDIZ\",\"LOCATION\":\"Chile-N\",\"LAT\":-19.42,\"LON\":-68.97,\"ELEV\":4500,\"TYPE_\":\"Hydrother\",\"STATUS\":\"Pleistoce\",\"TIME_FRAME\":\"Q\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1268\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-68.65,-19.49065134]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-032\",\"NAME_\":\"PINA, CER\",\"LOCATION\":\"Chile-N\",\"LAT\":-19.492,\"LON\":-68.65,\"ELEV\":4037,\"TYPE_\":\"Unknown\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1269\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-66.47999994,-19.77863476]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-033\",\"NAME_\":\"NUEVO MUN\",\"LOCATION\":\"Bolivia\",\"LAT\":-19.78,\"LON\":-66.48,\"ELEV\":5438,\"TYPE_\":\"Lava dome\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1270\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-68.54999993,-20.72858083]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-04=\",\"NAME_\":\"IRRUPUTUN\",\"LOCATION\":\"Chile-N\",\"LAT\":-20.73,\"LON\":-68.55,\"ELEV\":5163,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1271\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-68.6299999,-20.82857509]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-041\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Chile-N\",\"LAT\":-20.83,\"LON\":-68.63,\"ELEV\":4200,\"TYPE_\":\"Pumice co\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1272\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-68.20000003,-20.84857407]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-042\",\"NAME_\":\"PAMPA LUX\",\"LOCATION\":\"Bolivia\",\"LAT\":-20.85,\"LON\":-68.2,\"ELEV\":5543,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1273\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-68.47999991,-20.92856957]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-05=\",\"NAME_\":\"OLCA-PARU\",\"LOCATION\":\"Chile-N\",\"LAT\":-20.93,\"LON\":-68.48,\"ELEV\":5407,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1274\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-68.46999997,-21.21855353]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-051\",\"NAME_\":\"AUCANQUIL\",\"LOCATION\":\"Chile-N\",\"LAT\":-21.22,\"LON\":-68.47,\"ELEV\":6176,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1275\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-67.75000007,-21.24855192]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-052\",\"NAME_\":\"SAN AGUST\",\"LOCATION\":\"Bolivia\",\"LAT\":-21.25,\"LON\":-67.75,\"ELEV\":4980,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1276\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-68.17999994,-21.29854909]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-06=\",\"NAME_\":\"OLLAGUE\",\"LOCATION\":\"Chile-N\",\"LAT\":-21.3,\"LON\":-68.18,\"ELEV\":5868,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1277\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-67.50000002,-21.49853804]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-061\",\"NAME_\":\"YUMIA, CE\",\"LOCATION\":\"Bolivia\",\"LAT\":-21.5,\"LON\":-67.5,\"ELEV\":4050,\"TYPE_\":\"Cone\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1278\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-66.87999998,-21.59853264]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-062\",\"NAME_\":\"ESCALA\",\"LOCATION\":\"Bolivia\",\"LAT\":-21.6,\"LON\":-66.88,\"ELEV\":4000,\"TYPE_\":\"Lava dome\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1279\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-66.50000004,-21.66852885]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-063\",\"NAME_\":\"SANTA ISA\",\"LOCATION\":\"Bolivia\",\"LAT\":-21.67,\"LON\":-66.5,\"ELEV\":5100,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1280\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-67.46999998,-21.67852825]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-064\",\"NAME_\":\"MOIRO, CE\",\"LOCATION\":\"Bolivia\",\"LAT\":-21.68,\"LON\":-67.47,\"ELEV\":4250,\"TYPE_\":\"Scoria co\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1281\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-68.23000007,-21.77852289]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-065\",\"NAME_\":\"AZUFRE, C\",\"LOCATION\":\"Chile-N\",\"LAT\":-21.78,\"LON\":-68.23,\"ELEV\":5486,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1282\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-68.39999995,-21.87851754]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-07=\",\"NAME_\":\"SAN PEDRO\",\"LOCATION\":\"Chile-N\",\"LAT\":-21.88,\"LON\":-68.4,\"ELEV\":6145,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1283\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-67.90000006,-21.87851754]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-071\",\"NAME_\":\"CHASCON,\",\"LOCATION\":\"Bolivia\",\"LAT\":-21.88,\"LON\":-67.9,\"ELEV\":5125,\"TYPE_\":\"Lava dome\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1284\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-68.1499999,-22.11850454]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-072\",\"NAME_\":\"CHAO\",\"LOCATION\":\"Chile-N\",\"LAT\":-22.12,\"LON\":-68.15,\"ELEV\":5100,\"TYPE_\":\"Lava dome\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1285\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-68.09999997,-22.19850022]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-073\",\"NAME_\":\"TOCONCE,\",\"LOCATION\":\"Chile-N\",\"LAT\":-22.2,\"LON\":-68.1,\"ELEV\":5435,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1286\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-67.42000006,-22.24849769]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-074\",\"NAME_\":\"QUETENA\",\"LOCATION\":\"Bolivia\",\"LAT\":-22.25,\"LON\":-67.42,\"ELEV\":5730,\"TYPE_\":\"Fissure v\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1287\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-67.21999993,-22.26849651]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-075\",\"NAME_\":\"UTURUNCO\",\"LOCATION\":\"Bolivia\",\"LAT\":-22.27,\"LON\":-67.22,\"ELEV\":6008,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1288\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-68.02999995,-22.34849222]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-08=\",\"NAME_\":\"TATIO\",\"LOCATION\":\"Chile-N\",\"LAT\":-22.35,\"LON\":-68.03,\"ELEV\":4280,\"TYPE_\":\"Hydrother\",\"STATUS\":\"Pleistoce\",\"TIME_FRAME\":\"Q\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1289\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-67.90000006,-22.42848815]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-081\",\"NAME_\":\"TOCORPURI\",\"LOCATION\":\"Chile-N\",\"LAT\":-22.43,\"LON\":-67.9,\"ELEV\":5808,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1290\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-67.87000002,-22.56848059]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-09=\",\"NAME_\":\"PUTANA\",\"LOCATION\":\"Chile-N\",\"LAT\":-22.57,\"LON\":-67.87,\"ELEV\":5890,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1291\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-67.87999996,-22.72847232]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-091\",\"NAME_\":\"SAIRECABU\",\"LOCATION\":\"Chile-N\",\"LAT\":-22.73,\"LON\":-67.88,\"ELEV\":5971,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1292\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-67.87999996,-22.82846694]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-092\",\"NAME_\":\"LICANCABU\",\"LOCATION\":\"Chile-N\",\"LAT\":-22.83,\"LON\":-67.88,\"ELEV\":5916,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1293\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-67.57999999,-22.87846447]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-093\",\"NAME_\":\"GUAYAQUES\",\"LOCATION\":\"Chile-N\",\"LAT\":-22.88,\"LON\":-67.58,\"ELEV\":5598,\"TYPE_\":\"Lava dome\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1294\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-67.75000007,-22.99845817]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-094\",\"NAME_\":\"PURICO CO\",\"LOCATION\":\"Chile-N\",\"LAT\":-23,\"LON\":-67.75,\"ELEV\":5703,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1295\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-67.65000001,-23.22844624]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-095\",\"NAME_\":\"COLACHI\",\"LOCATION\":\"Chile-N\",\"LAT\":-23.23,\"LON\":-67.65,\"ELEV\":5631,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1296\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-67.61999997,-23.29844266]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-096\",\"NAME_\":\"ACAMARCHI\",\"LOCATION\":\"Chile-N\",\"LAT\":-23.3,\"LON\":-67.62,\"ELEV\":6046,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1297\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-67.6699999,-23.34844023]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-097\",\"NAME_\":\"OVERO, CE\",\"LOCATION\":\"Chile-N\",\"LAT\":-23.35,\"LON\":-67.67,\"ELEV\":4555,\"TYPE_\":\"Maar\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1298\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-67.72999997,-23.36843909]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-10=\",\"NAME_\":\"LASCAR\",\"LOCATION\":\"Chile-N\",\"LAT\":-23.37,\"LON\":-67.73,\"ELEV\":5592,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1299\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-67.69999994,-23.57842845]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-101\",\"NAME_\":\"CHILIQUES\",\"LOCATION\":\"Chile-N\",\"LAT\":-23.58,\"LON\":-67.7,\"ELEV\":5778,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1300\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-67.53000006,-23.74841971]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-102\",\"NAME_\":\"CORDON DE\",\"LOCATION\":\"Chile-N\",\"LAT\":-23.75,\"LON\":-67.53,\"ELEV\":5852,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1301\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-67.61999997,-23.84841474]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-103\",\"NAME_\":\"CORDON CH\",\"LOCATION\":\"Chile-N\",\"LAT\":-23.85,\"LON\":-67.62,\"ELEV\":5623,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1302\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-67.94999998,-23.82841565]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-104\",\"NAME_\":\"TUJLE, CE\",\"LOCATION\":\"Chile-N\",\"LAT\":-23.83,\"LON\":-67.95,\"ELEV\":3550,\"TYPE_\":\"Maar\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1303\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-68.05000005,-24.17839826]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-105\",\"NAME_\":\"PULAR\",\"LOCATION\":\"Chile-N\",\"LAT\":-24.18,\"LON\":-68.05,\"ELEV\":6233,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1304\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-68.24999996,-24.17839826]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-106\",\"NAME_\":\"NEGRILLAR\",\"LOCATION\":\"Chile-N\",\"LAT\":-24.18,\"LON\":-68.25,\"ELEV\":3500,\"TYPE_\":\"Pyroclast\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1305\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-67.76999996,-24.26839371]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-107\",\"NAME_\":\"ARACAR\",\"LOCATION\":\"Argentina\",\"LAT\":-24.27,\"LON\":-67.77,\"ELEV\":6082,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1306\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-68.24999996,-24.3983874]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-108\",\"NAME_\":\"SOCOMPA\",\"LOCATION\":\"Chile-N\",\"LAT\":-24.4,\"LON\":-68.25,\"ELEV\":6051,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1307\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-68.60000007,-24.27839337]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-109\",\"NAME_\":\"NEGRILLAR\",\"LOCATION\":\"Chile-N\",\"LAT\":-24.28,\"LON\":-68.6,\"ELEV\":4109,\"TYPE_\":\"Pyroclast\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1308\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-68.53000005,-24.71837183]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-11=\",\"NAME_\":\"LLULLAILL\",\"LOCATION\":\"Chile-N\",\"LAT\":-24.72,\"LON\":-68.53,\"ELEV\":6739,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1309\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-66.47999994,-24.04840463]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-111\",\"NAME_\":\"TUZGLE, C\",\"LOCATION\":\"Argentina\",\"LAT\":-24.05,\"LON\":-66.48,\"ELEV\":5550,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1310\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-68.36999991,-25.07835431]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-112\",\"NAME_\":\"ESCORIAL,\",\"LOCATION\":\"Chile-N\",\"LAT\":-25.08,\"LON\":-68.37,\"ELEV\":5447,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1311\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-68.50000001,-25.16835013]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-12=\",\"NAME_\":\"LASTARRIA\",\"LOCATION\":\"Chile-N\",\"LAT\":-25.17,\"LON\":-68.5,\"ELEV\":5697,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1312\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-68.5200001,-25.32834246]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-121\",\"NAME_\":\"CORDON DE\",\"LOCATION\":\"Chile-N\",\"LAT\":-25.33,\"LON\":-68.52,\"ELEV\":5463,\"TYPE_\":\"Complex v\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1313\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-68.57999997,-25.41833833]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-122\",\"NAME_\":\"BAYO, CER\",\"LOCATION\":\"Chile-N\",\"LAT\":-25.42,\"LON\":-68.58,\"ELEV\":5401,\"TYPE_\":\"Complex v\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1314\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-67.99999991,-25.52833316]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-123\",\"NAME_\":\"ANTOFALLA\",\"LOCATION\":\"Argentina\",\"LAT\":-25.53,\"LON\":-68,\"ELEV\":6100,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1315\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-67.50000002,-26.07830746]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-124\",\"NAME_\":\"ANTOFAGAS\",\"LOCATION\":\"Argentina\",\"LAT\":-26.08,\"LON\":-67.5,\"ELEV\":4000,\"TYPE_\":\"Scoria co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1316\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-68.57999997,-26.47828934]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-125\",\"NAME_\":\"NEVADA, S\",\"LOCATION\":\"Chile\",\"LAT\":-26.48,\"LON\":-68.58,\"ELEV\":6127,\"TYPE_\":\"Volcanic\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1317\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-68.35000002,-26.61828311]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-126\",\"NAME_\":\"CONDOR, C\",\"LOCATION\":\"Argentina\",\"LAT\":-26.62,\"LON\":-68.35,\"ELEV\":6532,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1318\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-68.1499999,-26.61828311]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-127\",\"NAME_\":\"PEINADO\",\"LOCATION\":\"Argentina\",\"LAT\":-26.62,\"LON\":-68.15,\"ELEV\":5740,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1319\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-67.72000003,-26.76827641]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-128\",\"NAME_\":\"ROBLEDO\",\"LOCATION\":\"Argentina\",\"LAT\":-26.77,\"LON\":-67.72,\"ELEV\":4400,\"TYPE_\":\"Caldera\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1320\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-68.36999991,-26.79827512]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-129\",\"NAME_\":\"FALSO AZU\",\"LOCATION\":\"Chile-N\",\"LAT\":-26.8,\"LON\":-68.37,\"ELEV\":5890,\"TYPE_\":\"Complex v\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1321\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-68.53000005,-27.11826112]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-13=\",\"NAME_\":\"OJOS DEL\",\"LOCATION\":\"Chile-N\",\"LAT\":-27.12,\"LON\":-68.53,\"ELEV\":6887,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1322\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-68.54999993,-27.1982576]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-131\",\"NAME_\":\"TIPAS\",\"LOCATION\":\"Argentina\",\"LAT\":-27.2,\"LON\":-68.55,\"ELEV\":6660,\"TYPE_\":\"Complex v\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1323\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-69.13,-27.29825312]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1505-14-\",\"NAME_\":\"COPIAPO\",\"LOCATION\":\"Chile-N\",\"LAT\":-27.3,\"LON\":-69.13,\"ELEV\":6052,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1324\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-80.1199999,-26.26829897]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1506-01=\",\"NAME_\":\"SAN FELIX\",\"LOCATION\":\"Chile-Is\",\"LAT\":-26.27,\"LON\":-80.12,\"ELEV\":183,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1325\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-78.84999997,-33.65602338]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1506-02=\",\"NAME_\":\"ROBINSON\",\"LOCATION\":\"Chile-Is\",\"LAT\":-33.658,\"LON\":-78.85,\"ELEV\":922,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1326\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-76.82999991,-33.61802444]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1506-04=\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Chile-Is\",\"LAT\":-33.62,\"LON\":-76.83,\"ELEV\":-642,\"TYPE_\":\"Submarine\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1327\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-69.79999997,-33.39803104]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-01=\",\"NAME_\":\"TUPUNGATI\",\"LOCATION\":\"Chile-C\",\"LAT\":-33.4,\"LON\":-69.8,\"ELEV\":6000,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1328\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-69.897,-33.78001989]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-02=\",\"NAME_\":\"SAN JOSE\",\"LOCATION\":\"Chile-C\",\"LAT\":-33.782,\"LON\":-69.897,\"ELEV\":5856,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1329\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-69.83300003,-34.15900936]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-021\",\"NAME_\":\"MAIPO\",\"LOCATION\":\"Chile-C\",\"LAT\":-34.161,\"LON\":-69.833,\"ELEV\":5264,\"TYPE_\":\"Caldera\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1330\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-70.29500009,-34.60599724]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-022\",\"NAME_\":\"PALOMO\",\"LOCATION\":\"Chile-C\",\"LAT\":-34.608,\"LON\":-70.295,\"ELEV\":4860,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1331\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-70.35199994,-34.81199181]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-03=\",\"NAME_\":\"TINGUIRIR\",\"LOCATION\":\"Chile-C\",\"LAT\":-34.814,\"LON\":-70.352,\"ELEV\":4280,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1332\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-70.57,-35.23798097]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-04=\",\"NAME_\":\"PLANCHON-\",\"LOCATION\":\"Chile-C\",\"LAT\":-35.24,\"LON\":-70.57,\"ELEV\":4107,\"TYPE_\":\"Calderas\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1333\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-70.79999995,-35.46197557]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-041\",\"NAME_\":\"MONDACA\",\"LOCATION\":\"Chile-C\",\"LAT\":-35.464,\"LON\":-70.8,\"ELEV\":2048,\"TYPE_\":\"Lava dome\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1334\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-70.49600009,-35.55597331]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-042\",\"NAME_\":\"CALABOZOS\",\"LOCATION\":\"Chile-C\",\"LAT\":-35.558,\"LON\":-70.496,\"ELEV\":3508,\"TYPE_\":\"Caldera\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1335\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-70.75000003,-35.57797282]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-05=\",\"NAME_\":\"DESCABEZA\",\"LOCATION\":\"Chile-C\",\"LAT\":-35.58,\"LON\":-70.75,\"ELEV\":3953,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1336\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-70.76100005,-35.65097091]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-06=\",\"NAME_\":\"AZUL, CER\",\"LOCATION\":\"Chile-C\",\"LAT\":-35.653,\"LON\":-70.761,\"ELEV\":3788,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1337\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-70.80799995,-35.72296917]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-061\",\"NAME_\":\"HORNITOS,\",\"LOCATION\":\"Chile-C\",\"LAT\":-35.725,\"LON\":-70.808,\"ELEV\":2000,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1338\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-70.57999994,-36.0179623]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-062\",\"NAME_\":\"MAULE, LA\",\"LOCATION\":\"Chile-C\",\"LAT\":-36.02,\"LON\":-70.58,\"ELEV\":3092,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1339\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-70.84900001,-35.9869631]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-063\",\"NAME_\":\"SAN PEDRO\",\"LOCATION\":\"Chile-C\",\"LAT\":-35.989,\"LON\":-70.849,\"ELEV\":3621,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1340\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-71.16100009,-36.19095847]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-064\",\"NAME_\":\"LONGAVI,\",\"LOCATION\":\"Chile-C\",\"LAT\":-36.193,\"LON\":-71.161,\"ELEV\":3242,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1341\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-71.00899994,-36.28395632]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-065\",\"NAME_\":\"BLANCA, L\",\"LOCATION\":\"Chile-C\",\"LAT\":-36.286,\"LON\":-71.009,\"ELEV\":2268,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1342\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-70.9199999,-36.44795274]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-066\",\"NAME_\":\"RESAGO, V\",\"LOCATION\":\"Chile-C\",\"LAT\":-36.45,\"LON\":-70.92,\"ELEV\":1550,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1343\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-69.20000002,-36.41795336]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-067\",\"NAME_\":\"PAYUN MAT\",\"LOCATION\":\"Argentina\",\"LAT\":-36.42,\"LON\":-69.2,\"ELEV\":3691,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1344\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-70.42000001,-36.62794887]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-068\",\"NAME_\":\"DOMUYO, V\",\"LOCATION\":\"Argentina\",\"LAT\":-36.63,\"LON\":-70.42,\"ELEV\":4709,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1345\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-71.37699999,-36.86094392]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-07=\",\"NAME_\":\"CHILLAN,\",\"LOCATION\":\"Chile-C\",\"LAT\":-36.863,\"LON\":-71.377,\"ELEV\":3212,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1346\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-70.02999992,-37.13993822]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-071\",\"NAME_\":\"TROMEN\",\"LOCATION\":\"Argentina\",\"LAT\":-37.142,\"LON\":-70.03,\"ELEV\":3978,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1347\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-69.61999994,-37.54793025]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-072\",\"NAME_\":\"PUESTO CO\",\"LOCATION\":\"Argentina\",\"LAT\":-37.55,\"LON\":-69.62,\"ELEV\":970,\"TYPE_\":\"Pyroclast\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1348\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-71.3489999,-37.40393309]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-08=\",\"NAME_\":\"ANTUCO\",\"LOCATION\":\"Chile-C\",\"LAT\":-37.406,\"LON\":-71.349,\"ELEV\":2979,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1349\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-71.16999995,-37.8479246]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-09=\",\"NAME_\":\"COPAHUE\",\"LOCATION\":\"Chile-C\",\"LAT\":-37.85,\"LON\":-71.17,\"ELEV\":2965,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1350\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-71.45000004,-37.91792335]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-091\",\"NAME_\":\"CALLAQUI\",\"LOCATION\":\"Chile-C\",\"LAT\":-37.92,\"LON\":-71.45,\"ELEV\":3164,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1351\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-71.64499998,-38.30791634]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-092\",\"NAME_\":\"TOLGUACA\",\"LOCATION\":\"Chile-C\",\"LAT\":-38.31,\"LON\":-71.645,\"ELEV\":2806,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1352\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-71.57999993,-38.37491519]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-10=\",\"NAME_\":\"LONQUIMAY\",\"LOCATION\":\"Chile-C\",\"LAT\":-38.377,\"LON\":-71.58,\"ELEV\":2865,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1353\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-71.08000004,-38.36791539]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-101\",\"NAME_\":\"CHAPULUL,\",\"LOCATION\":\"Chile-C\",\"LAT\":-38.37,\"LON\":-71.08,\"ELEV\":2143,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1354\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-71.72900005,-38.68991006]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-11=\",\"NAME_\":\"LLAIMA\",\"LOCATION\":\"Chile-C\",\"LAT\":-38.692,\"LON\":-71.729,\"ELEV\":3125,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1355\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-71.52000006,-38.96790558]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-111\",\"NAME_\":\"SOLLIPULL\",\"LOCATION\":\"Chile-C\",\"LAT\":-38.97,\"LON\":-71.52,\"ELEV\":2282,\"TYPE_\":\"Caldera\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1356\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-71.82999998,-39.19790225]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-112\",\"NAME_\":\"CABURGUA\",\"LOCATION\":\"Chile-C\",\"LAT\":-39.2,\"LON\":-71.83,\"ELEV\":995,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Tephrochr\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1357\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-71.70000009,-39.26790102]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-113\",\"NAME_\":\"REDONDO,\",\"LOCATION\":\"Chile-C\",\"LAT\":-39.27,\"LON\":-71.7,\"ELEV\":1496,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Tephrochr\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1358\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-71.82000004,-39.29790062]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-114\",\"NAME_\":\"HUELEMOLL\",\"LOCATION\":\"Chile-C\",\"LAT\":-39.3,\"LON\":-71.82,\"ELEV\":810,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Tephrochr\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1359\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-71.93000004,-39.41789883]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-12=\",\"NAME_\":\"VILLARRIC\",\"LOCATION\":\"Chile-C\",\"LAT\":-39.42,\"LON\":-71.93,\"ELEV\":2847,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1360\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-71.70000009,-39.49789786]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-121\",\"NAME_\":\"QUETRUPIL\",\"LOCATION\":\"Chile-C\",\"LAT\":-39.5,\"LON\":-71.7,\"ELEV\":2360,\"TYPE_\":\"Caldera\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1361\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-71.49999996,-39.63089592]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-122\",\"NAME_\":\"LANIN\",\"LOCATION\":\"Chile-C\",\"LAT\":-39.633,\"LON\":-71.5,\"ELEV\":3747,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1362\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-71.5500001,-39.8678928]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-123\",\"NAME_\":\"HUANQUIHU\",\"LOCATION\":\"Argentina\",\"LAT\":-39.87,\"LON\":-71.55,\"ELEV\":1300,\"TYPE_\":\"Pyroclast\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1363\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-72.02700008,-39.92589197]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-13=\",\"NAME_\":\"MOCHO-CHO\",\"LOCATION\":\"Chile-C\",\"LAT\":-39.928,\"LON\":-72.027,\"ELEV\":2422,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1364\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-72.07000008,-40.34788677]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-14=\",\"NAME_\":\"CARRAN-LO\",\"LOCATION\":\"Chile-C\",\"LAT\":-40.35,\"LON\":-72.07,\"ELEV\":1114,\"TYPE_\":\"Pyroclast\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1365\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-72.19999998,-40.51788465]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-141\",\"NAME_\":\"CORDON CA\",\"LOCATION\":\"Chile-C\",\"LAT\":-40.52,\"LON\":-72.2,\"ELEV\":1798,\"TYPE_\":\"Fissure v\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1366\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-72.11699999,-40.58788387]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-15=\",\"NAME_\":\"PUYEHUE\",\"LOCATION\":\"Chile-C\",\"LAT\":-40.59,\"LON\":-72.117,\"ELEV\":2236,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1367\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-72.0380001,-40.53188453]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-151\",\"NAME_\":\"MENCHECA\",\"LOCATION\":\"Chile-C\",\"LAT\":-40.534,\"LON\":-72.038,\"ELEV\":1840,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1368\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-71.94999993,-40.7678819]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-152\",\"NAME_\":\"PANTOJA,\",\"LOCATION\":\"Chile-C\",\"LAT\":-40.77,\"LON\":-71.95,\"ELEV\":2112,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1369\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-72.15300007,-40.76888197]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-153\",\"NAME_\":\"ANTILLANC\",\"LOCATION\":\"Chile-C\",\"LAT\":-40.771,\"LON\":-72.153,\"ELEV\":1990,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1370\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-72.26399995,-40.96687983]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1507-16-\",\"NAME_\":\"PUNTIGUID\",\"LOCATION\":\"Chile-C\",\"LAT\":-40.969,\"LON\":-72.264,\"ELEV\":2493,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1371\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-72.49300003,-41.09787846]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1508-01=\",\"NAME_\":\"OSORNO\",\"LOCATION\":\"Chile-S\",\"LAT\":-41.1,\"LON\":-72.493,\"ELEV\":2652,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1372\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-72.61400006,-41.32387633]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1508-02=\",\"NAME_\":\"CALBUCO\",\"LOCATION\":\"Chile-S\",\"LAT\":-41.326,\"LON\":-72.614,\"ELEV\":2003,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1373\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-72.27,-41.24787698]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1508-021\",\"NAME_\":\"CAYUTE-LA\",\"LOCATION\":\"Chile-S\",\"LAT\":-41.25,\"LON\":-72.27,\"ELEV\":506,\"TYPE_\":\"Pyroclast\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1374\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-72.396,-41.75287251]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1508-022\",\"NAME_\":\"YATE, MT.\",\"LOCATION\":\"Chile-S\",\"LAT\":-41.755,\"LON\":-72.396,\"ELEV\":2187,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1375\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-72.43100001,-41.87187141]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1508-023\",\"NAME_\":\"HORNOPIRE\",\"LOCATION\":\"Chile-S\",\"LAT\":-41.874,\"LON\":-72.431,\"ELEV\":1572,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1376\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-71.64999995,-42.06786991]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1508-024\",\"NAME_\":\"VOLCANICO\",\"LOCATION\":\"Argentina\",\"LAT\":-42.07,\"LON\":-71.65,\"ELEV\":0,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1377\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-72.57799997,-42.37486783]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1508-03=\",\"NAME_\":\"HUEQUI\",\"LOCATION\":\"Chile-S\",\"LAT\":-42.377,\"LON\":-72.578,\"ELEV\":1318,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1378\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-72.42999993,-42.77786519]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1508-04=\",\"NAME_\":\"MINCHINMA\",\"LOCATION\":\"Chile-S\",\"LAT\":-42.78,\"LON\":-72.43,\"ELEV\":2404,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1379\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-72.64600004,-42.83086505]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1508-041\",\"NAME_\":\"CHAITEN\",\"LOCATION\":\"Chile-S\",\"LAT\":-42.833,\"LON\":-72.646,\"ELEV\":962,\"TYPE_\":\"Caldera\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1380\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-72.79999993,-43.17786317]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1508-05=\",\"NAME_\":\"CORCOVADO\",\"LOCATION\":\"Chile-S\",\"LAT\":-43.18,\"LON\":-72.8,\"ELEV\":2300,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1381\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-72.82999996,-43.41786224]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1508-051\",\"NAME_\":\"YANTELES,\",\"LOCATION\":\"Chile-S\",\"LAT\":-43.42,\"LON\":-72.83,\"ELEV\":2050,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1382\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-72.49999995,-43.67786128]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1508-052\",\"NAME_\":\"PALENA VO\",\"LOCATION\":\"Chile-S\",\"LAT\":-43.68,\"LON\":-72.5,\"ELEV\":0,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1383\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-72.8800001,-44.0778602]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1508-053\",\"NAME_\":\"MELIMOYU\",\"LOCATION\":\"Chile-S\",\"LAT\":-44.08,\"LON\":-72.88,\"ELEV\":2400,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1384\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-72.52999999,-44.29785978]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1508-054\",\"NAME_\":\"PUYUHUAPI\",\"LOCATION\":\"Chile-S\",\"LAT\":-44.3,\"LON\":-72.53,\"ELEV\":255,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1385\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-73.08000001,-44.66785932]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1508-055\",\"NAME_\":\"MENTOLAT\",\"LOCATION\":\"Chile-S\",\"LAT\":-44.67,\"LON\":-73.08,\"ELEV\":1660,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1386\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-73.19999996,-45.09785911]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1508-056\",\"NAME_\":\"MACA\",\"LOCATION\":\"Chile-S\",\"LAT\":-45.1,\"LON\":-73.2,\"ELEV\":3078,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1387\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-72.97000001,-45.89786033]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1508-057\",\"NAME_\":\"HUDSON, C\",\"LOCATION\":\"Chile-S\",\"LAT\":-45.9,\"LON\":-72.97,\"ELEV\":1905,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1388\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-73.55000007,-49.01788061]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1508-06=\",\"NAME_\":\"LAUTARO\",\"LOCATION\":\"Chile-S\",\"LAT\":-49.02,\"LON\":-73.55,\"ELEV\":3380,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1389\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-73.27999993,-49.35588434]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1508-061\",\"NAME_\":\"VIEDMA, V\",\"LOCATION\":\"Argentina\",\"LAT\":-49.358,\"LON\":-73.28,\"ELEV\":1300,\"TYPE_\":\"Subglacia\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1390\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-73.82999995,-50.16789445]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1508-062\",\"NAME_\":\"AGUILERA\",\"LOCATION\":\"Chile-S\",\"LAT\":-50.17,\"LON\":-73.83,\"ELEV\":0,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1391\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-73.70000006,-50.97790626]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1508-063\",\"NAME_\":\"RECLUS\",\"LOCATION\":\"Chile-S\",\"LAT\":-50.98,\"LON\":-73.7,\"ELEV\":0,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1392\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-73.40000008,-52.32792974]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1508-07=\",\"NAME_\":\"BURNEY, M\",\"LOCATION\":\"Chile-S\",\"LAT\":-52.33,\"LON\":-73.4,\"ELEV\":1758,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1393\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-70.00000009,-51.99792358]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1508-08-\",\"NAME_\":\"PALEI-AIK\",\"LOCATION\":\"Chile-S\",\"LAT\":-52,\"LON\":-70,\"ELEV\":250,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Anthropol\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1394\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-70.27000003,-54.94798816]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1508-09-\",\"NAME_\":\"COOK, ISL\",\"LOCATION\":\"Chile-S\",\"LAT\":-54.95,\"LON\":-70.27,\"ELEV\":150,\"TYPE_\":\"Lava dome\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1395\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-63.22999993,17.62876244]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1600-01=\",\"NAME_\":\"SABA\",\"LOCATION\":\"W Indies\",\"LAT\":17.63,\"LON\":-63.23,\"ELEV\":887,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D5\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1396\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-62.95000006,17.47877163]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1600-02=\",\"NAME_\":\"QUILL, TH\",\"LOCATION\":\"W Indies\",\"LAT\":17.48,\"LON\":-62.95,\"ELEV\":601,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1397\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-62.80000007,17.36877838]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1600-03=\",\"NAME_\":\"LIAMUIGA\",\"LOCATION\":\"W Indies\",\"LAT\":17.37,\"LON\":-62.8,\"ELEV\":1156,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1398\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-62.58000006,17.14879192]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1600-04=\",\"NAME_\":\"NEVIS PEA\",\"LOCATION\":\"W Indies\",\"LAT\":17.15,\"LON\":-62.58,\"ELEV\":985,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1399\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-62.18000002,16.71881855]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1600-05=\",\"NAME_\":\"SOUFRIERE\",\"LOCATION\":\"W Indies\",\"LAT\":16.72,\"LON\":-62.18,\"ELEV\":915,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1400\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-61.66999998,16.04886071]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1600-06=\",\"NAME_\":\"SOUFRIERE\",\"LOCATION\":\"W Ind\",\"LAT\":16.05,\"LON\":-61.67,\"ELEV\":1467,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1401\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-61.44999997,15.61888801]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1600-08=\",\"NAME_\":\"DIABLE, M\",\"LOCATION\":\"W Indies\",\"LAT\":15.62,\"LON\":-61.45,\"ELEV\":861,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1402\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-61.41999993,15.49889575]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1600-09=\",\"NAME_\":\"DIABLOTIN\",\"LOCATION\":\"W Indies\",\"LAT\":15.5,\"LON\":-61.42,\"ELEV\":1430,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1403\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-61.33000002,15.32890679]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1600-10=\",\"NAME_\":\"MICOTRIN\",\"LOCATION\":\"W Indies\",\"LAT\":15.33,\"LON\":-61.33,\"ELEV\":1387,\"TYPE_\":\"Lava dome\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1404\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-61.37000001,15.21891387]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1600-11=\",\"NAME_\":\"PATATES,\",\"LOCATION\":\"W Indies\",\"LAT\":15.22,\"LON\":-61.37,\"ELEV\":960,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D5\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1405\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-61.17000009,14.81893974]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1600-12=\",\"NAME_\":\"PELEE\",\"LOCATION\":\"W Indies\",\"LAT\":14.82,\"LON\":-61.17,\"ELEV\":1397,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1406\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-61.04999994,13.82900469]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1600-14=\",\"NAME_\":\"QUALIBOU\",\"LOCATION\":\"W Indies\",\"LAT\":13.83,\"LON\":-61.05,\"ELEV\":777,\"TYPE_\":\"Caldera\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D4\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1407\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-61.18000004,13.32903787]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1600-15=\",\"NAME_\":\"SOUFRIERE\",\"LOCATION\":\"W Indies\",\"LAT\":13.33,\"LON\":-61.18,\"ELEV\":1220,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1408\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-61.63,12.29910732]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1600-16=\",\"NAME_\":\"KICK-'EM-\",\"LOCATION\":\"W Indies\",\"LAT\":12.3,\"LON\":-61.63,\"ELEV\":-160,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1409\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-61.66999998,12.14911755]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1600-17=\",\"NAME_\":\"ST. CATHE\",\"LOCATION\":\"W Indies\",\"LAT\":12.15,\"LON\":-61.67,\"ELEV\":840,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1410\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-23.7799999,64.79835231]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1700-01=\",\"NAME_\":\"SNAEFELLS\",\"LOCATION\":\"Iceland-W\",\"LAT\":64.8,\"LON\":-23.78,\"ELEV\":1448,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1411\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-23.24999998,64.86835546]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1700-02=\",\"NAME_\":\"LYSUHOLL\",\"LOCATION\":\"Iceland-W\",\"LAT\":64.87,\"LON\":-23.25,\"ELEV\":540,\"TYPE_\":\"Pyroclast\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1412\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-22.2299999,64.86835546]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1700-03=\",\"NAME_\":\"LJOSUFJOL\",\"LOCATION\":\"Iceland-W\",\"LAT\":64.87,\"LON\":-22.23,\"ELEV\":988,\"TYPE_\":\"Fissure v\",\"STATUS\":\"Anthropol\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1413\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-23.32999994,63.66829966]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1701-01=\",\"NAME_\":\"REYKJANES\",\"LOCATION\":\"Iceland-S\",\"LAT\":63.67,\"LON\":-23.33,\"ELEV\":80,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1414\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-22.50000004,63.87830929]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1701-02=\",\"NAME_\":\"REYKJANES\",\"LOCATION\":\"Iceland-S\",\"LAT\":63.88,\"LON\":-22.5,\"ELEV\":230,\"TYPE_\":\"Crater ro\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1415\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-22.1,63.92831151]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1701-03=\",\"NAME_\":\"KRISUVIK\",\"LOCATION\":\"Iceland-S\",\"LAT\":63.93,\"LON\":-22.1,\"ELEV\":379,\"TYPE_\":\"Crater ro\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1416\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-21.83000007,63.91831111]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1701-04=\",\"NAME_\":\"BRENNISTE\",\"LOCATION\":\"Iceland-S\",\"LAT\":63.92,\"LON\":-21.83,\"ELEV\":626,\"TYPE_\":\"Crater ro\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1417\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-21.32999997,64.1783231]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1701-05=\",\"NAME_\":\"HENGILL\",\"LOCATION\":\"Iceland-S\",\"LAT\":64.18,\"LON\":-21.33,\"ELEV\":803,\"TYPE_\":\"Crater ro\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1418\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-20.87000007,64.02831617]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1701-06=\",\"NAME_\":\"GRIMSNES\",\"LOCATION\":\"Iceland-S\",\"LAT\":64.03,\"LON\":-20.87,\"ELEV\":214,\"TYPE_\":\"Crater ro\",\"STATUS\":\"Tephrochr\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1419\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-20.58000003,64.59834269]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1701-07=\",\"NAME_\":\"PRESTAHNU\",\"LOCATION\":\"Iceland-S\",\"LAT\":64.6,\"LON\":-20.58,\"ELEV\":1390,\"TYPE_\":\"Subglacia\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1420\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-19.98000009,64.74834979]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1701-08=\",\"NAME_\":\"LANGJOKUL\",\"LOCATION\":\"Iceland-S\",\"LAT\":64.75,\"LON\":-19.98,\"ELEV\":1360,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1421\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-18.92000002,64.77835126]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1701-09=\",\"NAME_\":\"HOFSJOKUL\",\"LOCATION\":\"Iceland-S\",\"LAT\":64.78,\"LON\":-18.92,\"ELEV\":1782,\"TYPE_\":\"Subglacia\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1422\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-19.32000006,64.62834415]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1701-10=\",\"NAME_\":\"KERLINGAR\",\"LOCATION\":\"Iceland-S\",\"LAT\":64.63,\"LON\":-19.32,\"ELEV\":1488,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1423\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-20.28000006,63.42828893]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1702-01=\",\"NAME_\":\"VESTMANNA\",\"LOCATION\":\"Iceland-S\",\"LAT\":63.43,\"LON\":-20.28,\"ELEV\":279,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1424\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-19.62000003,63.62829786]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1702-02=\",\"NAME_\":\"EYJAFJOLL\",\"LOCATION\":\"Iceland-S\",\"LAT\":63.63,\"LON\":-19.62,\"ELEV\":1666,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1425\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-19.04999991,63.62829786]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1702-03=\",\"NAME_\":\"KATLA\",\"LOCATION\":\"Iceland-S\",\"LAT\":63.63,\"LON\":-19.05,\"ELEV\":1512,\"TYPE_\":\"Subglacia\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1426\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-19.5699999,63.77830466]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1702-04=\",\"NAME_\":\"TINDFJALL\",\"LOCATION\":\"Iceland-S\",\"LAT\":63.78,\"LON\":-19.57,\"ELEV\":1463,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1427\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-19.17000007,63.91831111]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1702-05=\",\"NAME_\":\"TORFAJOKU\",\"LOCATION\":\"Iceland-S\",\"LAT\":63.92,\"LON\":-19.17,\"ELEV\":1259,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1428\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-19.66999996,63.91831111]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1702-06=\",\"NAME_\":\"VATNAFJOL\",\"LOCATION\":\"Iceland-S\",\"LAT\":63.92,\"LON\":-19.67,\"ELEV\":1235,\"TYPE_\":\"Fissure v\",\"STATUS\":\"Tephrochr\",\"TIME_FRAME\":\"D6\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1429\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-19.7,63.97831374]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1702-07=\",\"NAME_\":\"HEKLA\",\"LOCATION\":\"Iceland-S\",\"LAT\":63.98,\"LON\":-19.7,\"ELEV\":1491,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1430\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-17.33000003,64.41833419]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1703-01=\",\"NAME_\":\"GRIMSVOTN\",\"LOCATION\":\"Iceland-N\",\"LAT\":64.42,\"LON\":-17.33,\"ELEV\":1725,\"TYPE_\":\"Caldera\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1431\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-17.80000009,64.47833709]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1703-02=\",\"NAME_\":\"LOKI-FOGR\",\"LOCATION\":\"Iceland-N\",\"LAT\":64.48,\"LON\":-17.8,\"ELEV\":1570,\"TYPE_\":\"Subglacia\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1432\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-17.52999994,64.62834415]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1703-03=\",\"NAME_\":\"BARDARBUN\",\"LOCATION\":\"Iceland-N\",\"LAT\":64.63,\"LON\":-17.53,\"ELEV\":2000,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1433\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-17.92000004,64.72834895]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1703-04=\",\"NAME_\":\"TUNGNAFEL\",\"LOCATION\":\"Iceland-N\",\"LAT\":64.73,\"LON\":-17.92,\"ELEV\":1535,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1434\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-16.71999993,64.64834519]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1703-05=\",\"NAME_\":\"KVERKFJOL\",\"LOCATION\":\"Iceland-N\",\"LAT\":64.65,\"LON\":-16.72,\"ELEV\":1920,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1435\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-16.74999997,65.02836327]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1703-06=\",\"NAME_\":\"ASKJA\",\"LOCATION\":\"Iceland-N\",\"LAT\":65.03,\"LON\":-16.75,\"ELEV\":1516,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1436\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-16.6499999,65.42838271]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1703-07=\",\"NAME_\":\"FREMRINAM\",\"LOCATION\":\"Iceland-N\",\"LAT\":65.43,\"LON\":-16.65,\"ELEV\":939,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Tephrochr\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1437\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-16.78000001,65.72839745]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1703-08=\",\"NAME_\":\"KRAFLA\",\"LOCATION\":\"Iceland-N\",\"LAT\":65.73,\"LON\":-16.78,\"ELEV\":650,\"TYPE_\":\"Caldera\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1438\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-16.82999993,65.87840488]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1703-09=\",\"NAME_\":\"THEISTARE\",\"LOCATION\":\"Iceland\",\"LAT\":65.88,\"LON\":-16.83,\"ELEV\":564,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Tephrochr\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1439\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-17.10000008,66.29842589]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1703-10=\",\"NAME_\":\"TJORNES F\",\"LOCATION\":\"Iceland-N\",\"LAT\":66.3,\"LON\":-17.1,\"ELEV\":0,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1440\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-16.6499999,63.99831475]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1704-01=\",\"NAME_\":\"ORAEFAJOK\",\"LOCATION\":\"Iceland-S\",\"LAT\":64,\"LON\":-16.65,\"ELEV\":2119,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D4\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1441\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-16.6499999,64.26832719]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1704-02=\",\"NAME_\":\"ESJUFJOLL\",\"LOCATION\":\"Iceland-S\",\"LAT\":64.27,\"LON\":-16.65,\"ELEV\":1760,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1442\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-18.5000001,66.66844473]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1705-01=\",\"NAME_\":\"KOLBEINSE\",\"LOCATION\":\"Iceland-N\",\"LAT\":66.67,\"LON\":-18.5,\"ELEV\":0,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D4\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1443\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-8.17000002,71.07868852]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1706-01=\",\"NAME_\":\"JAN MAYEN\",\"LOCATION\":\"Atl-N-Jan\",\"LAT\":71.08,\"LON\":-8.17,\"ELEV\":2277,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1444\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-65.5999999,88.26987104]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1707-01-\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Arctic Oc\",\"LAT\":88.27,\"LON\":-65.6,\"ELEV\":-1500,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1445\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-34.50000008,48.99788049]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1801-02=\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Atlantic-\",\"LAT\":49,\"LON\":-34.5,\"ELEV\":-1650,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1446\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-25.83000001,39.9478917]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1801-03=\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Atlantic-\",\"LAT\":39.95,\"LON\":-25.83,\"ELEV\":-2835,\"TYPE_\":\"Submarine\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1447\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-38.0800001,38.74790902]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1801-04=\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Atlantic-\",\"LAT\":38.75,\"LON\":-38.08,\"ELEV\":-4200,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1448\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-31.1699999,39.39789921]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1802-001\",\"NAME_\":\"FLORES\",\"LOCATION\":\"Azores\",\"LAT\":39.4,\"LON\":-31.17,\"ELEV\":915,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1449\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-28.72999991,38.59791147]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1802-01=\",\"NAME_\":\"FAYAL\",\"LOCATION\":\"Azores\",\"LAT\":38.6,\"LON\":-28.73,\"ELEV\":1043,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1450\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-28.4000001,38.46791374]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1802-02=\",\"NAME_\":\"PICO\",\"LOCATION\":\"Azores\",\"LAT\":38.47,\"LON\":-28.4,\"ELEV\":2351,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D4\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1451\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-28.08000003,38.64791079]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1802-03=\",\"NAME_\":\"SAN JORGE\",\"LOCATION\":\"Azores\",\"LAT\":38.65,\"LON\":-28.08,\"ELEV\":1053,\"TYPE_\":\"Fissure v\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1452\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-27.97000003,39.01790492]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1802-04=\",\"NAME_\":\"GRACIOSA\",\"LOCATION\":\"Azores\",\"LAT\":39.02,\"LON\":-27.97,\"ELEV\":402,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1453\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-27.31999994,38.72790946]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1802-05=\",\"NAME_\":\"TERCEIRA\",\"LOCATION\":\"Azores\",\"LAT\":38.73,\"LON\":-27.32,\"ELEV\":1023,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1454\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-26.63000008,38.22791773]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1802-07=\",\"NAME_\":\"DON JOAO\",\"LOCATION\":\"Azores\",\"LAT\":38.23,\"LON\":-26.63,\"ELEV\":-14,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D4\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1455\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-25.78000009,37.86792431]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1802-08=\",\"NAME_\":\"SETE CIDA\",\"LOCATION\":\"Azores\",\"LAT\":37.87,\"LON\":-25.78,\"ELEV\":856,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1456\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-25.67000008,37.77792585]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1802-081\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Azores\",\"LAT\":37.78,\"LON\":-25.67,\"ELEV\":350,\"TYPE_\":\"Pyroclast\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D5\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1457\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-25.46999996,37.76792609]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1802-09=\",\"NAME_\":\"AGUA DE P\",\"LOCATION\":\"Azores\",\"LAT\":37.77,\"LON\":-25.47,\"ELEV\":947,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D5\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1458\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-25.31999997,37.76792609]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1802-10=\",\"NAME_\":\"FURNAS\",\"LOCATION\":\"Azores\",\"LAT\":37.77,\"LON\":-25.32,\"ELEV\":805,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D5\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1459\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-25.87999994,37.5979292]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1802-11=\",\"NAME_\":\"MONACO BA\",\"LOCATION\":\"Azores\",\"LAT\":37.6,\"LON\":-25.88,\"ELEV\":-197,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1460\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-17.82999992,28.57819958]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1803-01-\",\"NAME_\":\"LA PALMA\",\"LOCATION\":\"Canary Is\",\"LAT\":28.58,\"LON\":-17.83,\"ELEV\":2426,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1461\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-18.03000004,27.72823478]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1803-02-\",\"NAME_\":\"HIERRO\",\"LOCATION\":\"Canary Is\",\"LAT\":27.73,\"LON\":-18.03,\"ELEV\":1500,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D4\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1462\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-16.64100004,28.26921214]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1803-03-\",\"NAME_\":\"TENERIFE\",\"LOCATION\":\"Canary Is\",\"LAT\":28.271,\"LON\":-16.641,\"ELEV\":3715,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1463\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-15.5799999,27.99822336]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1803-04-\",\"NAME_\":\"GRAN CANA\",\"LOCATION\":\"Canary Is\",\"LAT\":28,\"LON\":-15.58,\"ELEV\":1950,\"TYPE_\":\"Fissure v\",\"STATUS\":\"Radiocarb\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1464\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-14.01999994,28.35620867]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1803-05-\",\"NAME_\":\"FUERTEVEN\",\"LOCATION\":\"Canary Is\",\"LAT\":28.358,\"LON\":-14.02,\"ELEV\":529,\"TYPE_\":\"Fissure v\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1465\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-13.63000006,29.02818156]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1803-06-\",\"NAME_\":\"LANZAROTE\",\"LOCATION\":\"Canary Is\",\"LAT\":29.03,\"LON\":-13.63,\"ELEV\":670,\"TYPE_\":\"Fissure v\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1466\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-24.35000002,14.94893119]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1804-01=\",\"NAME_\":\"FOGO\",\"LOCATION\":\"Cape Verd\",\"LAT\":14.95,\"LON\":-24.35,\"ELEV\":2829,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1467\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-24.72000002,14.84893783]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1804-02-\",\"NAME_\":\"BRAVA\",\"LOCATION\":\"Cape Verd\",\"LAT\":14.85,\"LON\":-24.72,\"ELEV\":900,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1468\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-25.16999998,17.06879691]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1804-03-\",\"NAME_\":\"SANTO ANT\",\"LOCATION\":\"Cape Verd\",\"LAT\":17.07,\"LON\":-25.17,\"ELEV\":1979,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1469\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-24.97000007,16.84881055]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1804-04-\",\"NAME_\":\"SAN VICEN\",\"LOCATION\":\"Cape Verd\",\"LAT\":16.85,\"LON\":-24.97,\"ELEV\":697,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1470\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-21.83000007,6.99948122]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1805-01=\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Atlantic-\",\"LAT\":7,\"LON\":-21.83,\"ELEV\":-1415,\"TYPE_\":\"Submarine\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1471\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-21.44999992,4.19968668]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1805-02=\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Atlantic-\",\"LAT\":4.2,\"LON\":-21.45,\"ELEV\":-2900,\"TYPE_\":\"Submarine\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1472\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-15.82999995,-0.57995655]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1805-03=\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Atlantic-\",\"LAT\":-0.58,\"LON\":-15.83,\"ELEV\":-1528,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1473\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-24.50000001,-3.49973862]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1805-04=\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Atlantic-\",\"LAT\":-3.5,\"LON\":-24.5,\"ELEV\":-5300,\"TYPE_\":\"Submarine\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1474\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-14.37000005,-7.94941261]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1805-05-\",\"NAME_\":\"ASCENSION\",\"LOCATION\":\"Atlantic-\",\"LAT\":-7.95,\"LON\":-14.37,\"ELEV\":858,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1475\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-29.33099993,-20.51259285]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1805-051\",\"NAME_\":\"TRINDADE\",\"LOCATION\":\"Atlantic-\",\"LAT\":-20.514,\"LON\":-29.331,\"ELEV\":600,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1476\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-12.27999997,-37.0899393]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1806-01=\",\"NAME_\":\"TRISTAN D\",\"LOCATION\":\"Atlantic-\",\"LAT\":-37.092,\"LON\":-12.28,\"ELEV\":2060,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1477\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[3.35000002,-54.41797505]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1806-02-\",\"NAME_\":\"BOUVET\",\"LOCATION\":\"Atlantic-\",\"LAT\":-54.42,\"LON\":3.35,\"ELEV\":780,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Magnetism\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1478\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[5.49999998,-53.92796332]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1806-03-\",\"NAME_\":\"THOMPSON\",\"LOCATION\":\"Atlantic-\",\"LAT\":-53.93,\"LON\":5.5,\"ELEV\":0,\"TYPE_\":\"Submarine\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1479\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[163.24999996,-66.79845154]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1900-01=\",\"NAME_\":\"BUCKLE IS\",\"LOCATION\":\"Antarctic\",\"LAT\":-66.8,\"LON\":163.25,\"ELEV\":1239,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1480\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[162.4500001,-66.41843194]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1900-011\",\"NAME_\":\"YOUNG ISL\",\"LOCATION\":\"Antarctic\",\"LAT\":-66.42,\"LON\":162.45,\"ELEV\":1340,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1481\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[164.83000001,-67.39848275]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1900-012\",\"NAME_\":\"STURGE IS\",\"LOCATION\":\"Antarctic\",\"LAT\":-67.4,\"LON\":164.83,\"ELEV\":1167,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1482\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[165.49999998,-72.66878428]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1900-013\",\"NAME_\":\"PLEIADES,\",\"LOCATION\":\"Antarctic\",\"LAT\":-72.67,\"LON\":165.5,\"ELEV\":3040,\"TYPE_\":\"Stratovol\",\"STATUS\":\"K-Ar\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1483\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[164.57999996,-73.44883261]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1900-014\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Antarctic\",\"LAT\":-73.45,\"LON\":164.58,\"ELEV\":2987,\"TYPE_\":\"Scoria co\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1484\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[164.69999991,-74.34888939]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1900-015\",\"NAME_\":\"MELBOURNE\",\"LOCATION\":\"Antarctic\",\"LAT\":-74.35,\"LON\":164.7,\"ELEV\":2732,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Tephrochr\",\"TIME_FRAME\":\"D4\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1485\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[162.99999991,-76.82905152]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1900-016\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Antarctic\",\"LAT\":-76.83,\"LON\":163,\"ELEV\":-500,\"TYPE_\":\"Submarine\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1486\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[167.16999994,-77.52909864]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1900-02=\",\"NAME_\":\"EREBUS\",\"LOCATION\":\"Antarctic\",\"LAT\":-77.53,\"LON\":167.17,\"ELEV\":3794,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1487\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[163.60000007,-78.24914775]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1900-021\",\"NAME_\":\"ROYAL SOC\",\"LOCATION\":\"Antarctic\",\"LAT\":-78.25,\"LON\":163.6,\"ELEV\":3000,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1488\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-135.99999998,-76.04899973]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1900-022\",\"NAME_\":\"BERLIN\",\"LOCATION\":\"Antarctic\",\"LAT\":-76.05,\"LON\":-136,\"ELEV\":3478,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1489\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-132.33000005,-75.79898322]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1900-023\",\"NAME_\":\"ANDRUS\",\"LOCATION\":\"Antarctic\",\"LAT\":-75.8,\"LON\":-132.33,\"ELEV\":2978,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1490\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-126.87999995,-77.16907429]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1900-024\",\"NAME_\":\"WAESCHE\",\"LOCATION\":\"Antarctic\",\"LAT\":-77.17,\"LON\":-126.88,\"ELEV\":3292,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1491\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-126.6700001,-73.42883126]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1900-025\",\"NAME_\":\"SIPLE\",\"LOCATION\":\"Antarctic\",\"LAT\":-73.43,\"LON\":-126.67,\"ELEV\":3110,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1492\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-115.82999997,-75.79898322]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1900-026\",\"NAME_\":\"TONEY MOU\",\"LOCATION\":\"Antarctic\",\"LAT\":-75.8,\"LON\":-115.83,\"ELEV\":3595,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene?\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1493\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-112.08000008,-76.27901488]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1900-027\",\"NAME_\":\"TAKAHE\",\"LOCATION\":\"Antarctic\",\"LAT\":-76.28,\"LON\":-112.08,\"ELEV\":3460,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Ice Core\",\"TIME_FRAME\":\"D7\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1494\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-99.42000002,-74.32888802]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1900-028\",\"NAME_\":\"HUDSON MO\",\"LOCATION\":\"Antarctic\",\"LAT\":-74.33,\"LON\":-99.42,\"ELEV\":749,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1495\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-90.58000008,-68.84856096]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1900-029\",\"NAME_\":\"PETER I I\",\"LOCATION\":\"Antarctic\",\"LAT\":-68.85,\"LON\":-90.58,\"ELEV\":1640,\"TYPE_\":\"Shield vo\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1496\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-60.6499999,-62.96826842]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1900-03=\",\"NAME_\":\"DECEPTION\",\"LOCATION\":\"Antarctic\",\"LAT\":-62.97,\"LON\":-60.65,\"ELEV\":576,\"TYPE_\":\"Caldera\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D1\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1497\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-57.93000003,-62.09823094]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1900-031\",\"NAME_\":\"PENGUIN I\",\"LOCATION\":\"Antarctic\",\"LAT\":-62.1,\"LON\":-57.93,\"ELEV\":180,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Lichenome\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1498\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-56.75000002,-62.04822891]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1900-04=\",\"NAME_\":\"BRIDGEMAN\",\"LOCATION\":\"Antarctic\",\"LAT\":-62.05,\"LON\":-56.75,\"ELEV\":240,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1499\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-55.76999992,-63.57829549]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1900-041\",\"NAME_\":\"PAULET\",\"LOCATION\":\"Antarctic\",\"LAT\":-63.58,\"LON\":-55.77,\"ELEV\":353,\"TYPE_\":\"Cinder co\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1500\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-60.04999995,-65.0283633]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1900-05=\",\"NAME_\":\"SEAL NUNA\",\"LOCATION\":\"Antarctic\",\"LAT\":-65.03,\"LON\":-60.05,\"ELEV\":368,\"TYPE_\":\"Pyroclast\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1501\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-72.16999994,-56.24802337]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1900-051\",\"NAME_\":\"UNNAMED\",\"LOCATION\":\"Antarctic\",\"LAT\":-56.25,\"LON\":-72.17,\"ELEV\":0,\"TYPE_\":\"Submarine\",\"STATUS\":\"Uncertain\",\"TIME_FRAME\":\"?\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1502\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-27.37000008,-59.44812736]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1900-07=\",\"NAME_\":\"THULE ISL\",\"LOCATION\":\"Antarctic\",\"LAT\":-59.45,\"LON\":-27.37,\"ELEV\":1075,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1503\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-26.57999995,-59.02811223]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1900-08=\",\"NAME_\":\"BRISTOL I\",\"LOCATION\":\"Antarctic\",\"LAT\":-59.03,\"LON\":-26.58,\"ELEV\":1100,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1504\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-26.45000006,-57.77806997]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1900-09=\",\"NAME_\":\"MICHAEL\",\"LOCATION\":\"Antarctic\",\"LAT\":-57.78,\"LON\":-26.45,\"ELEV\":990,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1505\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-26.71999999,-57.07804812]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1900-10=\",\"NAME_\":\"CANDLEMAS\",\"LOCATION\":\"Antarctic\",\"LAT\":-57.08,\"LON\":-26.72,\"ELEV\":550,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1506\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-27.15000007,-56.69803649]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1900-11=\",\"NAME_\":\"HODSON\",\"LOCATION\":\"Antarctic\",\"LAT\":-56.7,\"LON\":-27.15,\"ELEV\":1005,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Holocene\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1507\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-28.12999996,-56.66803556]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1900-12=\",\"NAME_\":\"LESKOV IS\",\"LOCATION\":\"Antarctic\",\"LAT\":-56.67,\"LON\":-28.13,\"ELEV\":190,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Fumarolic\",\"TIME_FRAME\":\"U\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1508\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-27.56999999,-56.29802474]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1900-13=\",\"NAME_\":\"ZAVODOVSK\",\"LOCATION\":\"Antarctic\",\"LAT\":-56.3,\"LON\":-27.57,\"ELEV\":551,\"TYPE_\":\"Stratovol\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D3\"}},{\"type\":\"Feature\",\"id\":\"GLB_VOLC.1509\",\"geometry\":{\"type\":\"Point\",\"coordinates\":[-28.08000003,-55.91801402]},\"geometry_name\":\"the_geom\",\"properties\":{\"NUMBER_\":\"1900-14-\",\"NAME_\":\"PROTECTOR\",\"LOCATION\":\"Antarctic\",\"LAT\":-55.92,\"LON\":-28.08,\"ELEV\":-27,\"TYPE_\":\"Submarine\",\"STATUS\":\"Historica\",\"TIME_FRAME\":\"D2\"}}],\"crs\":{\"type\":\"name\",\"properties\":{\"name\":\"urn:ogc:def:crs:EPSG::4326\"}}}"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/features/harvard-glb-volc-geojson.json.meta",
    "content": "title: $:/geospatialdemo/features/harvard-volcanoes-of-the-world\ncaption: Harvard Volcanoes of the World\ntype: application/json\ntags: $:/tags/GeoFeature\ncolor: #f88\npopup-template: $:/geospatialdemo/features/harvard-volcanoes-of-the-world/popupTemplate"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/features/natural-earth-countries-low-res-popuptemplate.tid",
    "content": "title: $:/geospatialdemo/features/natural-earth-countries-low-res/popupTemplate\n\n!!! Countries of the World from Natural Earth\n\n''<$text text={{{ [<feature>jsonget[properties],[name_en]] }}}/>'' (<$text text={{{ [<feature>jsonget[properties],[formal_en]] }}}/>)\n\n<div style=`height: 10em; overflow: scroll;`>\n\t<table>\n\t\t<thead>\n\t\t\t<tr>\n\t\t\t\t<th>\n\t\t\t\t\tField\n\t\t\t\t</th>\n\t\t\t\t<th>\n\t\t\t\t\tValue\n\t\t\t\t</th>\n\t\t\t</tr>\n\t\t</thead>\n\t\t<tbody>\n\t\t\t<$list filter=\"[<feature>jsonindexes[properties]]\">\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<$text text=<<currentTiddler>>/>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<$text text={{{ [<feature>jsonget[properties],<currentTiddler>] }}}/>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</$list>\n\t\t</tbody>\n\t</table>\n</div>\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/features/natural-earth-countries-low-res.json",
    "content": "{\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":5,\"sovereignt\":\"Costa Rica\",\"sov_a3\":\"CRI\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Costa Rica\",\"adm0_a3\":\"CRI\",\"geou_dif\":0,\"geounit\":\"Costa Rica\",\"gu_a3\":\"CRI\",\"su_dif\":0,\"subunit\":\"Costa Rica\",\"su_a3\":\"CRI\",\"brk_diff\":0,\"name\":\"Costa Rica\",\"name_long\":\"Costa Rica\",\"brk_a3\":\"CRI\",\"brk_name\":\"Costa Rica\",\"brk_group\":null,\"abbrev\":\"C.R.\",\"postal\":\"CR\",\"formal_en\":\"Republic of Costa Rica\",\"formal_fr\":null,\"name_ciawf\":\"Costa Rica\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Costa Rica\",\"name_alt\":null,\"mapcolor7\":3,\"mapcolor8\":2,\"mapcolor9\":4,\"mapcolor13\":2,\"pop_est\":5047561,\"pop_rank\":13,\"pop_year\":2019,\"gdp_md\":61801,\"gdp_year\":2019,\"economy\":\"5. Emerging region: G20\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"CS\",\"iso_a2\":\"CR\",\"iso_a2_eh\":\"CR\",\"iso_a3\":\"CRI\",\"iso_a3_eh\":\"CRI\",\"iso_n3\":\"188\",\"iso_n3_eh\":\"188\",\"un_a3\":\"188\",\"wb_a2\":\"CR\",\"wb_a3\":\"CRI\",\"woe_id\":23424791,\"woe_id_eh\":23424791,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"CRI\",\"adm0_diff\":null,\"adm0_tlc\":\"CRI\",\"adm0_a3_us\":\"CRI\",\"adm0_a3_fr\":\"CRI\",\"adm0_a3_ru\":\"CRI\",\"adm0_a3_es\":\"CRI\",\"adm0_a3_cn\":\"CRI\",\"adm0_a3_tw\":\"CRI\",\"adm0_a3_in\":\"CRI\",\"adm0_a3_np\":\"CRI\",\"adm0_a3_pk\":\"CRI\",\"adm0_a3_de\":\"CRI\",\"adm0_a3_gb\":\"CRI\",\"adm0_a3_br\":\"CRI\",\"adm0_a3_il\":\"CRI\",\"adm0_a3_ps\":\"CRI\",\"adm0_a3_sa\":\"CRI\",\"adm0_a3_eg\":\"CRI\",\"adm0_a3_ma\":\"CRI\",\"adm0_a3_pt\":\"CRI\",\"adm0_a3_ar\":\"CRI\",\"adm0_a3_jp\":\"CRI\",\"adm0_a3_ko\":\"CRI\",\"adm0_a3_vn\":\"CRI\",\"adm0_a3_tr\":\"CRI\",\"adm0_a3_id\":\"CRI\",\"adm0_a3_pl\":\"CRI\",\"adm0_a3_gr\":\"CRI\",\"adm0_a3_it\":\"CRI\",\"adm0_a3_nl\":\"CRI\",\"adm0_a3_se\":\"CRI\",\"adm0_a3_bd\":\"CRI\",\"adm0_a3_ua\":\"CRI\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"North America\",\"region_un\":\"Americas\",\"subregion\":\"Central America\",\"region_wb\":\"Latin America & Caribbean\",\"name_len\":10,\"long_len\":10,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":2.5,\"max_label\":8,\"label_x\":-84.077922,\"label_y\":10.0651,\"ne_id\":1159320525,\"wikidataid\":\"Q800\",\"name_ar\":\"كوستاريكا\",\"name_bn\":\"কোস্টা রিকা\",\"name_de\":\"Costa Rica\",\"name_en\":\"Costa Rica\",\"name_es\":\"Costa Rica\",\"name_fa\":\"کاستاریکا\",\"name_fr\":\"Costa Rica\",\"name_el\":\"Κόστα Ρίκα\",\"name_he\":\"קוסטה ריקה\",\"name_hi\":\"कोस्टा रीका\",\"name_hu\":\"Costa Rica\",\"name_id\":\"Kosta Rika\",\"name_it\":\"Costa Rica\",\"name_ja\":\"コスタリカ\",\"name_ko\":\"코스타리카\",\"name_nl\":\"Costa Rica\",\"name_pl\":\"Kostaryka\",\"name_pt\":\"Costa Rica\",\"name_ru\":\"Коста-Рика\",\"name_sv\":\"Costa Rica\",\"name_tr\":\"Kosta Rika\",\"name_uk\":\"Коста-Рика\",\"name_ur\":\"کوسٹاریکا\",\"name_vi\":\"Costa Rica\",\"name_zh\":\"哥斯达黎加\",\"name_zht\":\"哥斯大黎加\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"CRI.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-82.54619625520348,9.566134751824677],[-82.93289099804358,9.476812038608173],[-82.92715491405916,9.074330145702916],[-82.71918311230053,8.925708726431495],[-82.86865719270477,8.807266343618522],[-82.82977067740516,8.62629547773237],[-82.91317643912421,8.42351715741907],[-82.96578304719736,8.225027980985985],[-83.50843726269431,8.446926581247283],[-83.71147396516908,8.656836249216866],[-83.59631303580665,8.830443223501419],[-83.63264156770784,9.051385809765321],[-83.90988562695374,9.29080272057358],[-84.30340165885636,9.487354030795714],[-84.64764421256866,9.61553742109571],[-84.71335079622777,9.908051866083852],[-84.97566036654133,10.086723130733006],[-84.91137488477024,9.795991522658923],[-85.11092342806532,9.55703969974131],[-85.33948828809227,9.83454214114866],[-85.66078650586698,9.933347479690724],[-85.79744483106285,10.134885565629034],[-85.79170874707843,10.439337266476613],[-85.65931372754667,10.75433095951172],[-85.94172543002176,10.895278428587801],[-85.7125404528073,11.088444932494824],[-85.5618519762442,11.217119248901597],[-84.90300330273895,10.952303371621896],[-84.67306901725627,11.082657172078143],[-84.35593075228104,10.999225572142905],[-84.19017859570485,10.793450018756674],[-83.89505449088595,10.726839097532446],[-83.65561174186158,10.938764146361422],[-83.40231970898296,10.395438137244653],[-83.01567664257517,9.992982082555557],[-82.54619625520348,9.566134751824677]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":5,\"sovereignt\":\"Nicaragua\",\"sov_a3\":\"NIC\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Nicaragua\",\"adm0_a3\":\"NIC\",\"geou_dif\":0,\"geounit\":\"Nicaragua\",\"gu_a3\":\"NIC\",\"su_dif\":0,\"subunit\":\"Nicaragua\",\"su_a3\":\"NIC\",\"brk_diff\":0,\"name\":\"Nicaragua\",\"name_long\":\"Nicaragua\",\"brk_a3\":\"NIC\",\"brk_name\":\"Nicaragua\",\"brk_group\":null,\"abbrev\":\"Nic.\",\"postal\":\"NI\",\"formal_en\":\"Republic of Nicaragua\",\"formal_fr\":null,\"name_ciawf\":\"Nicaragua\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Nicaragua\",\"name_alt\":null,\"mapcolor7\":1,\"mapcolor8\":4,\"mapcolor9\":1,\"mapcolor13\":9,\"pop_est\":6545502,\"pop_rank\":13,\"pop_year\":2019,\"gdp_md\":12520,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"NU\",\"iso_a2\":\"NI\",\"iso_a2_eh\":\"NI\",\"iso_a3\":\"NIC\",\"iso_a3_eh\":\"NIC\",\"iso_n3\":\"558\",\"iso_n3_eh\":\"558\",\"un_a3\":\"558\",\"wb_a2\":\"NI\",\"wb_a3\":\"NIC\",\"woe_id\":23424915,\"woe_id_eh\":23424915,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"NIC\",\"adm0_diff\":null,\"adm0_tlc\":\"NIC\",\"adm0_a3_us\":\"NIC\",\"adm0_a3_fr\":\"NIC\",\"adm0_a3_ru\":\"NIC\",\"adm0_a3_es\":\"NIC\",\"adm0_a3_cn\":\"NIC\",\"adm0_a3_tw\":\"NIC\",\"adm0_a3_in\":\"NIC\",\"adm0_a3_np\":\"NIC\",\"adm0_a3_pk\":\"NIC\",\"adm0_a3_de\":\"NIC\",\"adm0_a3_gb\":\"NIC\",\"adm0_a3_br\":\"NIC\",\"adm0_a3_il\":\"NIC\",\"adm0_a3_ps\":\"NIC\",\"adm0_a3_sa\":\"NIC\",\"adm0_a3_eg\":\"NIC\",\"adm0_a3_ma\":\"NIC\",\"adm0_a3_pt\":\"NIC\",\"adm0_a3_ar\":\"NIC\",\"adm0_a3_jp\":\"NIC\",\"adm0_a3_ko\":\"NIC\",\"adm0_a3_vn\":\"NIC\",\"adm0_a3_tr\":\"NIC\",\"adm0_a3_id\":\"NIC\",\"adm0_a3_pl\":\"NIC\",\"adm0_a3_gr\":\"NIC\",\"adm0_a3_it\":\"NIC\",\"adm0_a3_nl\":\"NIC\",\"adm0_a3_se\":\"NIC\",\"adm0_a3_bd\":\"NIC\",\"adm0_a3_ua\":\"NIC\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"North America\",\"region_un\":\"Americas\",\"subregion\":\"Central America\",\"region_wb\":\"Latin America & Caribbean\",\"name_len\":9,\"long_len\":9,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":-85.069347,\"label_y\":12.670697,\"ne_id\":1159321091,\"wikidataid\":\"Q811\",\"name_ar\":\"نيكاراغوا\",\"name_bn\":\"নিকারাগুয়া\",\"name_de\":\"Nicaragua\",\"name_en\":\"Nicaragua\",\"name_es\":\"Nicaragua\",\"name_fa\":\"نیکاراگوئه\",\"name_fr\":\"Nicaragua\",\"name_el\":\"Νικαράγουα\",\"name_he\":\"ניקרגואה\",\"name_hi\":\"निकारागुआ\",\"name_hu\":\"Nicaragua\",\"name_id\":\"Nikaragua\",\"name_it\":\"Nicaragua\",\"name_ja\":\"ニカラグア\",\"name_ko\":\"니카라과\",\"name_nl\":\"Nicaragua\",\"name_pl\":\"Nikaragua\",\"name_pt\":\"Nicarágua\",\"name_ru\":\"Никарагуа\",\"name_sv\":\"Nicaragua\",\"name_tr\":\"Nikaragua\",\"name_uk\":\"Нікарагуа\",\"name_ur\":\"نکاراگوا\",\"name_vi\":\"Nicaragua\",\"name_zh\":\"尼加拉瓜\",\"name_zht\":\"尼加拉瓜\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"NIC.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-83.65561174186158,10.938764146361422],[-83.89505449088595,10.726839097532446],[-84.19017859570485,10.793450018756674],[-84.35593075228104,10.999225572142905],[-84.67306901725627,11.082657172078143],[-84.90300330273895,10.952303371621896],[-85.5618519762442,11.217119248901597],[-85.7125404528073,11.088444932494824],[-86.05848832878526,11.403438625529944],[-86.52584998243296,11.806876532432597],[-86.74599158399633,12.143961900272487],[-87.16751624220116,12.458257961471658],[-87.66849341505471,12.909909979702633],[-87.55746660027562,13.064551703336065],[-87.39238623731923,12.914018256069838],[-87.31665442579549,12.984685777228975],[-87.00576900912758,13.025794379117158],[-86.88055701368438,13.254204209847217],[-86.7338217841916,13.263092556201443],[-86.75508663607971,13.754845485890913],[-86.52070817741992,13.778487453664468],[-86.31214209668993,13.77135610600817],[-86.09626380079061,14.038187364147234],[-85.80129472526859,13.83605499923759],[-85.69866533073696,13.960078436738002],[-85.51441301140028,14.079011745657908],[-85.16536454948482,14.354369615125051],[-85.14875057650296,14.560196844943617],[-85.05278744173694,14.551541042534723],[-84.9245006985724,14.79049286545235],[-84.82003679069436,14.81958669683267],[-84.64958207877964,14.666805324761867],[-84.4493359036486,14.621614284722511],[-84.22834164095241,14.74876414637663],[-83.97572140169359,14.749435939996488],[-83.62858496777292,14.880073960830302],[-83.48998877636612,15.016267198135537],[-83.14721900097413,14.99582916916411],[-83.23323442252394,14.899866034398102],[-83.2841615465476,14.6766238468972],[-83.18212643098728,14.31070302983845],[-83.41249996614445,13.970077826386557],[-83.51983191601468,13.567699286345883],[-83.55220720084554,13.127054348193086],[-83.49851538769427,12.869292303921227],[-83.47332312695198,12.419087225794428],[-83.62610449902292,12.320850328007566],[-83.71961300325506,11.893124497927728],[-83.65085751009072,11.62903209070012],[-83.8554703437504,11.373311265503787],[-83.80893571647155,11.103043524617275],[-83.65561174186158,10.938764146361422]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":5,\"sovereignt\":\"Haiti\",\"sov_a3\":\"HTI\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Haiti\",\"adm0_a3\":\"HTI\",\"geou_dif\":0,\"geounit\":\"Haiti\",\"gu_a3\":\"HTI\",\"su_dif\":0,\"subunit\":\"Haiti\",\"su_a3\":\"HTI\",\"brk_diff\":0,\"name\":\"Haiti\",\"name_long\":\"Haiti\",\"brk_a3\":\"HTI\",\"brk_name\":\"Haiti\",\"brk_group\":null,\"abbrev\":\"Haiti\",\"postal\":\"HT\",\"formal_en\":\"Republic of Haiti\",\"formal_fr\":null,\"name_ciawf\":\"Haiti\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Haiti\",\"name_alt\":null,\"mapcolor7\":2,\"mapcolor8\":1,\"mapcolor9\":7,\"mapcolor13\":2,\"pop_est\":11263077,\"pop_rank\":14,\"pop_year\":2019,\"gdp_md\":14332,\"gdp_year\":2019,\"economy\":\"7. Least developed region\",\"income_grp\":\"5. Low income\",\"fips_10\":\"HA\",\"iso_a2\":\"HT\",\"iso_a2_eh\":\"HT\",\"iso_a3\":\"HTI\",\"iso_a3_eh\":\"HTI\",\"iso_n3\":\"332\",\"iso_n3_eh\":\"332\",\"un_a3\":\"332\",\"wb_a2\":\"HT\",\"wb_a3\":\"HTI\",\"woe_id\":23424839,\"woe_id_eh\":23424839,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"HTI\",\"adm0_diff\":null,\"adm0_tlc\":\"HTI\",\"adm0_a3_us\":\"HTI\",\"adm0_a3_fr\":\"HTI\",\"adm0_a3_ru\":\"HTI\",\"adm0_a3_es\":\"HTI\",\"adm0_a3_cn\":\"HTI\",\"adm0_a3_tw\":\"HTI\",\"adm0_a3_in\":\"HTI\",\"adm0_a3_np\":\"HTI\",\"adm0_a3_pk\":\"HTI\",\"adm0_a3_de\":\"HTI\",\"adm0_a3_gb\":\"HTI\",\"adm0_a3_br\":\"HTI\",\"adm0_a3_il\":\"HTI\",\"adm0_a3_ps\":\"HTI\",\"adm0_a3_sa\":\"HTI\",\"adm0_a3_eg\":\"HTI\",\"adm0_a3_ma\":\"HTI\",\"adm0_a3_pt\":\"HTI\",\"adm0_a3_ar\":\"HTI\",\"adm0_a3_jp\":\"HTI\",\"adm0_a3_ko\":\"HTI\",\"adm0_a3_vn\":\"HTI\",\"adm0_a3_tr\":\"HTI\",\"adm0_a3_id\":\"HTI\",\"adm0_a3_pl\":\"HTI\",\"adm0_a3_gr\":\"HTI\",\"adm0_a3_it\":\"HTI\",\"adm0_a3_nl\":\"HTI\",\"adm0_a3_se\":\"HTI\",\"adm0_a3_bd\":\"HTI\",\"adm0_a3_ua\":\"HTI\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"North America\",\"region_un\":\"Americas\",\"subregion\":\"Caribbean\",\"region_wb\":\"Latin America & Caribbean\",\"name_len\":5,\"long_len\":5,\"abbrev_len\":5,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":-72.224051,\"label_y\":19.263784,\"ne_id\":1159320839,\"wikidataid\":\"Q790\",\"name_ar\":\"هايتي\",\"name_bn\":\"হাইতি\",\"name_de\":\"Haiti\",\"name_en\":\"Haiti\",\"name_es\":\"Haití\",\"name_fa\":\"هائیتی\",\"name_fr\":\"Haïti\",\"name_el\":\"Αϊτή\",\"name_he\":\"האיטי\",\"name_hi\":\"हैती\",\"name_hu\":\"Haiti\",\"name_id\":\"Haiti\",\"name_it\":\"Haiti\",\"name_ja\":\"ハイチ\",\"name_ko\":\"아이티\",\"name_nl\":\"Haïti\",\"name_pl\":\"Haiti\",\"name_pt\":\"Haiti\",\"name_ru\":\"Республика Гаити\",\"name_sv\":\"Haiti\",\"name_tr\":\"Haiti\",\"name_uk\":\"Гаїті\",\"name_ur\":\"ہیٹی\",\"name_vi\":\"Haiti\",\"name_zh\":\"海地\",\"name_zht\":\"海地\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"HTI.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-71.71236141629296,19.714455878167357],[-71.62487321642283,19.169837958243306],[-71.7013026597825,18.785416978424053],[-71.94511206733556,18.61690013272026],[-71.68773759630588,18.31666006110447],[-71.70830481635805,18.044997056546094],[-72.37247616238935,18.21496084235406],[-72.84441118029488,18.145611070218365],[-73.45455481636503,18.2179063989947],[-73.92243323433566,18.030992743395004],[-74.45803361682478,18.342549953682706],[-74.36992529976713,18.66490753831941],[-73.44954220243272,18.526052964751145],[-72.69493709989064,18.445799465401862],[-72.334881557897,18.668421535715254],[-72.79164954292489,19.10162506761803],[-72.78410478381028,19.48359141690341],[-73.41502234566175,19.639550889560283],[-73.18979061551762,19.915683905511912],[-72.57967281766362,19.871500555902358],[-71.71236141629296,19.714455878167357]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":5,\"sovereignt\":\"Dominican Republic\",\"sov_a3\":\"DOM\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Dominican Republic\",\"adm0_a3\":\"DOM\",\"geou_dif\":0,\"geounit\":\"Dominican Republic\",\"gu_a3\":\"DOM\",\"su_dif\":0,\"subunit\":\"Dominican Republic\",\"su_a3\":\"DOM\",\"brk_diff\":0,\"name\":\"Dominican Rep.\",\"name_long\":\"Dominican Republic\",\"brk_a3\":\"DOM\",\"brk_name\":\"Dominican Rep.\",\"brk_group\":null,\"abbrev\":\"Dom. Rep.\",\"postal\":\"DO\",\"formal_en\":\"Dominican Republic\",\"formal_fr\":null,\"name_ciawf\":\"Dominican Republic\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Dominican Republic\",\"name_alt\":null,\"mapcolor7\":5,\"mapcolor8\":2,\"mapcolor9\":5,\"mapcolor13\":7,\"pop_est\":10738958,\"pop_rank\":14,\"pop_year\":2019,\"gdp_md\":88941,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"DR\",\"iso_a2\":\"DO\",\"iso_a2_eh\":\"DO\",\"iso_a3\":\"DOM\",\"iso_a3_eh\":\"DOM\",\"iso_n3\":\"214\",\"iso_n3_eh\":\"214\",\"un_a3\":\"214\",\"wb_a2\":\"DO\",\"wb_a3\":\"DOM\",\"woe_id\":23424800,\"woe_id_eh\":23424800,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"DOM\",\"adm0_diff\":null,\"adm0_tlc\":\"DOM\",\"adm0_a3_us\":\"DOM\",\"adm0_a3_fr\":\"DOM\",\"adm0_a3_ru\":\"DOM\",\"adm0_a3_es\":\"DOM\",\"adm0_a3_cn\":\"DOM\",\"adm0_a3_tw\":\"DOM\",\"adm0_a3_in\":\"DOM\",\"adm0_a3_np\":\"DOM\",\"adm0_a3_pk\":\"DOM\",\"adm0_a3_de\":\"DOM\",\"adm0_a3_gb\":\"DOM\",\"adm0_a3_br\":\"DOM\",\"adm0_a3_il\":\"DOM\",\"adm0_a3_ps\":\"DOM\",\"adm0_a3_sa\":\"DOM\",\"adm0_a3_eg\":\"DOM\",\"adm0_a3_ma\":\"DOM\",\"adm0_a3_pt\":\"DOM\",\"adm0_a3_ar\":\"DOM\",\"adm0_a3_jp\":\"DOM\",\"adm0_a3_ko\":\"DOM\",\"adm0_a3_vn\":\"DOM\",\"adm0_a3_tr\":\"DOM\",\"adm0_a3_id\":\"DOM\",\"adm0_a3_pl\":\"DOM\",\"adm0_a3_gr\":\"DOM\",\"adm0_a3_it\":\"DOM\",\"adm0_a3_nl\":\"DOM\",\"adm0_a3_se\":\"DOM\",\"adm0_a3_bd\":\"DOM\",\"adm0_a3_ua\":\"DOM\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"North America\",\"region_un\":\"Americas\",\"subregion\":\"Caribbean\",\"region_wb\":\"Latin America & Caribbean\",\"name_len\":14,\"long_len\":18,\"abbrev_len\":9,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4.5,\"max_label\":9.5,\"label_x\":-70.653998,\"label_y\":19.104137,\"ne_id\":1159320563,\"wikidataid\":\"Q786\",\"name_ar\":\"جمهورية الدومينيكان\",\"name_bn\":\"ডোমিনিকান প্রজাতন্ত্র\",\"name_de\":\"Dominikanische Republik\",\"name_en\":\"Dominican Republic\",\"name_es\":\"República Dominicana\",\"name_fa\":\"جمهوری دومینیکن\",\"name_fr\":\"République dominicaine\",\"name_el\":\"Δομινικανή Δημοκρατία\",\"name_he\":\"הרפובליקה הדומיניקנית\",\"name_hi\":\"डोमिनिकन गणराज्य\",\"name_hu\":\"Dominikai Köztársaság\",\"name_id\":\"Republik Dominika\",\"name_it\":\"Repubblica Dominicana\",\"name_ja\":\"ドミニカ共和国\",\"name_ko\":\"도미니카 공화국\",\"name_nl\":\"Dominicaanse Republiek\",\"name_pl\":\"Dominikana\",\"name_pt\":\"República Dominicana\",\"name_ru\":\"Доминиканская Республика\",\"name_sv\":\"Dominikanska republiken\",\"name_tr\":\"Dominik Cumhuriyeti\",\"name_uk\":\"Домініканська Республіка\",\"name_ur\":\"جمہوریہ ڈومینیکن\",\"name_vi\":\"Cộng hòa Dominica\",\"name_zh\":\"多米尼加\",\"name_zht\":\"多明尼加\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"DOM.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-71.70830481635805,18.044997056546094],[-71.68773759630588,18.31666006110447],[-71.94511206733556,18.61690013272026],[-71.7013026597825,18.785416978424053],[-71.62487321642283,19.169837958243306],[-71.71236141629296,19.714455878167357],[-71.58730445014663,19.8849105900821],[-70.80670610216174,19.880285549391985],[-70.21436499701613,19.62288524014616],[-69.95081519232758,19.64799998624001],[-69.76925004747008,19.29326711677244],[-69.22212582057988,19.313214219637103],[-69.25434607611385,19.015196234609874],[-68.80941199408083,18.979074408437853],[-68.31794328476897,18.612197577381693],[-68.68931596543452,18.205142320218613],[-69.16494584824892,18.42264842373511],[-69.62398759629764,18.38071299893025],[-69.95293392605154,18.42830699307106],[-70.1332329983179,18.245915025296895],[-70.51713721381422,18.184290879788833],[-70.66929846869763,18.426885891183034],[-70.99995012071719,18.283328762276213],[-71.4002099270339,17.5985643579766],[-71.65766191271202,17.7575727401387],[-71.70830481635805,18.044997056546094]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":6,\"sovereignt\":\"El Salvador\",\"sov_a3\":\"SLV\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"El Salvador\",\"adm0_a3\":\"SLV\",\"geou_dif\":0,\"geounit\":\"El Salvador\",\"gu_a3\":\"SLV\",\"su_dif\":0,\"subunit\":\"El Salvador\",\"su_a3\":\"SLV\",\"brk_diff\":0,\"name\":\"El Salvador\",\"name_long\":\"El Salvador\",\"brk_a3\":\"SLV\",\"brk_name\":\"El Salvador\",\"brk_group\":null,\"abbrev\":\"El. S.\",\"postal\":\"SV\",\"formal_en\":\"Republic of El Salvador\",\"formal_fr\":null,\"name_ciawf\":\"El Salvador\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"El Salvador\",\"name_alt\":null,\"mapcolor7\":1,\"mapcolor8\":4,\"mapcolor9\":6,\"mapcolor13\":8,\"pop_est\":6453553,\"pop_rank\":13,\"pop_year\":2019,\"gdp_md\":27022,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"ES\",\"iso_a2\":\"SV\",\"iso_a2_eh\":\"SV\",\"iso_a3\":\"SLV\",\"iso_a3_eh\":\"SLV\",\"iso_n3\":\"222\",\"iso_n3_eh\":\"222\",\"un_a3\":\"222\",\"wb_a2\":\"SV\",\"wb_a3\":\"SLV\",\"woe_id\":23424807,\"woe_id_eh\":23424807,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"SLV\",\"adm0_diff\":null,\"adm0_tlc\":\"SLV\",\"adm0_a3_us\":\"SLV\",\"adm0_a3_fr\":\"SLV\",\"adm0_a3_ru\":\"SLV\",\"adm0_a3_es\":\"SLV\",\"adm0_a3_cn\":\"SLV\",\"adm0_a3_tw\":\"SLV\",\"adm0_a3_in\":\"SLV\",\"adm0_a3_np\":\"SLV\",\"adm0_a3_pk\":\"SLV\",\"adm0_a3_de\":\"SLV\",\"adm0_a3_gb\":\"SLV\",\"adm0_a3_br\":\"SLV\",\"adm0_a3_il\":\"SLV\",\"adm0_a3_ps\":\"SLV\",\"adm0_a3_sa\":\"SLV\",\"adm0_a3_eg\":\"SLV\",\"adm0_a3_ma\":\"SLV\",\"adm0_a3_pt\":\"SLV\",\"adm0_a3_ar\":\"SLV\",\"adm0_a3_jp\":\"SLV\",\"adm0_a3_ko\":\"SLV\",\"adm0_a3_vn\":\"SLV\",\"adm0_a3_tr\":\"SLV\",\"adm0_a3_id\":\"SLV\",\"adm0_a3_pl\":\"SLV\",\"adm0_a3_gr\":\"SLV\",\"adm0_a3_it\":\"SLV\",\"adm0_a3_nl\":\"SLV\",\"adm0_a3_se\":\"SLV\",\"adm0_a3_bd\":\"SLV\",\"adm0_a3_ua\":\"SLV\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"North America\",\"region_un\":\"Americas\",\"subregion\":\"Central America\",\"region_wb\":\"Latin America & Caribbean\",\"name_len\":11,\"long_len\":11,\"abbrev_len\":6,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":5,\"max_label\":10,\"label_x\":-88.890124,\"label_y\":13.685371,\"ne_id\":1159321253,\"wikidataid\":\"Q792\",\"name_ar\":\"السلفادور\",\"name_bn\":\"এল সালভাদোর\",\"name_de\":\"El Salvador\",\"name_en\":\"El Salvador\",\"name_es\":\"El Salvador\",\"name_fa\":\"السالوادور\",\"name_fr\":\"Salvador\",\"name_el\":\"Ελ Σαλβαδόρ\",\"name_he\":\"אל סלוודור\",\"name_hi\":\"अल साल्वाडोर\",\"name_hu\":\"Salvador\",\"name_id\":\"El Salvador\",\"name_it\":\"El Salvador\",\"name_ja\":\"エルサルバドル\",\"name_ko\":\"엘살바도르\",\"name_nl\":\"El Salvador\",\"name_pl\":\"Salwador\",\"name_pt\":\"El Salvador\",\"name_ru\":\"Сальвадор\",\"name_sv\":\"El Salvador\",\"name_tr\":\"El Salvador\",\"name_uk\":\"Сальвадор\",\"name_ur\":\"ایل سیلواڈور\",\"name_vi\":\"El Salvador\",\"name_zh\":\"萨尔瓦多\",\"name_zht\":\"薩爾瓦多\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"SLV.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-89.35332597528281,14.424132798719086],[-89.05851192905766,14.340029405164087],[-88.84307288283284,14.14050670008517],[-88.541230841816,13.980154730683479],[-88.50399797234971,13.845485948130857],[-88.06534257684014,13.964625962779778],[-87.85951534702161,13.893312486217098],[-87.7235029772294,13.785050360565506],[-87.79311113152657,13.384480495655055],[-87.90411210808952,13.149016831917137],[-88.48330156121682,13.163951320849492],[-88.84322791212972,13.259733588102478],[-89.2567427233293,13.458532823129303],[-89.81239356154767,13.520622056527998],[-90.09555457229098,13.735337632700734],[-90.0646779039966,13.881969509328925],[-89.72193396682073,14.134228013561696],[-89.53421932652051,14.244815578666305],[-89.58734269891656,14.36258616785949],[-89.35332597528281,14.424132798719086]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Guatemala\",\"sov_a3\":\"GTM\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Guatemala\",\"adm0_a3\":\"GTM\",\"geou_dif\":0,\"geounit\":\"Guatemala\",\"gu_a3\":\"GTM\",\"su_dif\":0,\"subunit\":\"Guatemala\",\"su_a3\":\"GTM\",\"brk_diff\":0,\"name\":\"Guatemala\",\"name_long\":\"Guatemala\",\"brk_a3\":\"GTM\",\"brk_name\":\"Guatemala\",\"brk_group\":null,\"abbrev\":\"Guat.\",\"postal\":\"GT\",\"formal_en\":\"Republic of Guatemala\",\"formal_fr\":null,\"name_ciawf\":\"Guatemala\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Guatemala\",\"name_alt\":null,\"mapcolor7\":3,\"mapcolor8\":3,\"mapcolor9\":3,\"mapcolor13\":6,\"pop_est\":16604026,\"pop_rank\":14,\"pop_year\":2019,\"gdp_md\":76710,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"GT\",\"iso_a2\":\"GT\",\"iso_a2_eh\":\"GT\",\"iso_a3\":\"GTM\",\"iso_a3_eh\":\"GTM\",\"iso_n3\":\"320\",\"iso_n3_eh\":\"320\",\"un_a3\":\"320\",\"wb_a2\":\"GT\",\"wb_a3\":\"GTM\",\"woe_id\":23424834,\"woe_id_eh\":23424834,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"GTM\",\"adm0_diff\":null,\"adm0_tlc\":\"GTM\",\"adm0_a3_us\":\"GTM\",\"adm0_a3_fr\":\"GTM\",\"adm0_a3_ru\":\"GTM\",\"adm0_a3_es\":\"GTM\",\"adm0_a3_cn\":\"GTM\",\"adm0_a3_tw\":\"GTM\",\"adm0_a3_in\":\"GTM\",\"adm0_a3_np\":\"GTM\",\"adm0_a3_pk\":\"GTM\",\"adm0_a3_de\":\"GTM\",\"adm0_a3_gb\":\"GTM\",\"adm0_a3_br\":\"GTM\",\"adm0_a3_il\":\"GTM\",\"adm0_a3_ps\":\"GTM\",\"adm0_a3_sa\":\"GTM\",\"adm0_a3_eg\":\"GTM\",\"adm0_a3_ma\":\"GTM\",\"adm0_a3_pt\":\"GTM\",\"adm0_a3_ar\":\"GTM\",\"adm0_a3_jp\":\"GTM\",\"adm0_a3_ko\":\"GTM\",\"adm0_a3_vn\":\"GTM\",\"adm0_a3_tr\":\"GTM\",\"adm0_a3_id\":\"GTM\",\"adm0_a3_pl\":\"GTM\",\"adm0_a3_gr\":\"GTM\",\"adm0_a3_it\":\"GTM\",\"adm0_a3_nl\":\"GTM\",\"adm0_a3_se\":\"GTM\",\"adm0_a3_bd\":\"GTM\",\"adm0_a3_ua\":\"GTM\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"North America\",\"region_un\":\"Americas\",\"subregion\":\"Central America\",\"region_wb\":\"Latin America & Caribbean\",\"name_len\":9,\"long_len\":9,\"abbrev_len\":5,\"tiny\":4,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":-90.497134,\"label_y\":14.982133,\"ne_id\":1159320815,\"wikidataid\":\"Q774\",\"name_ar\":\"غواتيمالا\",\"name_bn\":\"গুয়াতেমালা\",\"name_de\":\"Guatemala\",\"name_en\":\"Guatemala\",\"name_es\":\"Guatemala\",\"name_fa\":\"گواتمالا\",\"name_fr\":\"Guatemala\",\"name_el\":\"Γουατεμάλα\",\"name_he\":\"גואטמלה\",\"name_hi\":\"ग्वाटेमाला\",\"name_hu\":\"Guatemala\",\"name_id\":\"Guatemala\",\"name_it\":\"Guatemala\",\"name_ja\":\"グアテマラ\",\"name_ko\":\"과테말라\",\"name_nl\":\"Guatemala\",\"name_pl\":\"Gwatemala\",\"name_pt\":\"Guatemala\",\"name_ru\":\"Гватемала\",\"name_sv\":\"Guatemala\",\"name_tr\":\"Guatemala\",\"name_uk\":\"Гватемала\",\"name_ur\":\"گواتیمالا\",\"name_vi\":\"Guatemala\",\"name_zh\":\"危地马拉\",\"name_zht\":\"瓜地馬拉\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"GTM.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-92.22775000686983,14.538828640190928],[-92.20322953974733,14.830102850804069],[-92.08721594925207,15.064584662328441],[-92.2292486234063,15.251446641495875],[-91.74796017125595,16.066564846251765],[-90.46447262242266,16.069562079324655],[-90.43886695022204,16.410109768128095],[-90.60084672724093,16.47077789963879],[-90.71182186558772,16.687483018454728],[-91.08167009150065,16.918476670799407],[-91.45392127151516,17.252177232324172],[-91.00226925328421,17.25465770107418],[-91.00151994501596,17.81759491624571],[-90.06793351923098,17.819326076727478],[-89.14308041050333,17.808318996649405],[-89.15080603713095,17.015576687075836],[-89.22912167026928,15.886937567605171],[-88.93061275913527,15.887273464415076],[-88.60458614780585,15.70638011317736],[-88.51836402052686,15.855389105690975],[-88.22502275262202,15.727722479713904],[-88.68067969435563,15.346247056535304],[-89.15481096063357,15.06641917567481],[-89.22522009963127,14.874286200413621],[-89.14553504103719,14.678019110569153],[-89.35332597528281,14.424132798719086],[-89.58734269891656,14.36258616785949],[-89.53421932652051,14.244815578666305],[-89.72193396682073,14.134228013561696],[-90.0646779039966,13.881969509328925],[-90.09555457229098,13.735337632700734],[-90.60862403030085,13.909771429901951],[-91.23241024449605,13.927832342987957],[-91.68974667027913,14.126218166556455],[-92.22775000686983,14.538828640190928]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Cuba\",\"sov_a3\":\"CU1\",\"adm0_dif\":1,\"level\":1,\"type\":\"Sovereignty\",\"tlc\":\"1\",\"admin\":\"Cuba\",\"adm0_a3\":\"CUB\",\"geou_dif\":0,\"geounit\":\"Cuba\",\"gu_a3\":\"CUB\",\"su_dif\":0,\"subunit\":\"Cuba\",\"su_a3\":\"CUB\",\"brk_diff\":0,\"name\":\"Cuba\",\"name_long\":\"Cuba\",\"brk_a3\":\"CUB\",\"brk_name\":\"Cuba\",\"brk_group\":null,\"abbrev\":\"Cuba\",\"postal\":\"CU\",\"formal_en\":\"Republic of Cuba\",\"formal_fr\":null,\"name_ciawf\":\"Cuba\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Cuba\",\"name_alt\":null,\"mapcolor7\":3,\"mapcolor8\":5,\"mapcolor9\":3,\"mapcolor13\":4,\"pop_est\":11333483,\"pop_rank\":14,\"pop_year\":2019,\"gdp_md\":100023,\"gdp_year\":2018,\"economy\":\"5. Emerging region: G20\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"CU\",\"iso_a2\":\"CU\",\"iso_a2_eh\":\"CU\",\"iso_a3\":\"CUB\",\"iso_a3_eh\":\"CUB\",\"iso_n3\":\"192\",\"iso_n3_eh\":\"192\",\"un_a3\":\"192\",\"wb_a2\":\"CU\",\"wb_a3\":\"CUB\",\"woe_id\":23424793,\"woe_id_eh\":23424793,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"CUB\",\"adm0_diff\":null,\"adm0_tlc\":\"CUB\",\"adm0_a3_us\":\"CUB\",\"adm0_a3_fr\":\"CUB\",\"adm0_a3_ru\":\"CUB\",\"adm0_a3_es\":\"CUB\",\"adm0_a3_cn\":\"CUB\",\"adm0_a3_tw\":\"CUB\",\"adm0_a3_in\":\"CUB\",\"adm0_a3_np\":\"CUB\",\"adm0_a3_pk\":\"CUB\",\"adm0_a3_de\":\"CUB\",\"adm0_a3_gb\":\"CUB\",\"adm0_a3_br\":\"CUB\",\"adm0_a3_il\":\"CUB\",\"adm0_a3_ps\":\"CUB\",\"adm0_a3_sa\":\"CUB\",\"adm0_a3_eg\":\"CUB\",\"adm0_a3_ma\":\"CUB\",\"adm0_a3_pt\":\"CUB\",\"adm0_a3_ar\":\"CUB\",\"adm0_a3_jp\":\"CUB\",\"adm0_a3_ko\":\"CUB\",\"adm0_a3_vn\":\"CUB\",\"adm0_a3_tr\":\"CUB\",\"adm0_a3_id\":\"CUB\",\"adm0_a3_pl\":\"CUB\",\"adm0_a3_gr\":\"CUB\",\"adm0_a3_it\":\"CUB\",\"adm0_a3_nl\":\"CUB\",\"adm0_a3_se\":\"CUB\",\"adm0_a3_bd\":\"CUB\",\"adm0_a3_ua\":\"CUB\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"North America\",\"region_un\":\"Americas\",\"subregion\":\"Caribbean\",\"region_wb\":\"Latin America & Caribbean\",\"name_len\":4,\"long_len\":4,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":2.7,\"max_label\":8,\"label_x\":-77.975855,\"label_y\":21.334024,\"ne_id\":1159320527,\"wikidataid\":\"Q241\",\"name_ar\":\"كوبا\",\"name_bn\":\"কিউবা\",\"name_de\":\"Kuba\",\"name_en\":\"Cuba\",\"name_es\":\"Cuba\",\"name_fa\":\"کوبا\",\"name_fr\":\"Cuba\",\"name_el\":\"Κούβα\",\"name_he\":\"קובה\",\"name_hi\":\"क्यूबा\",\"name_hu\":\"Kuba\",\"name_id\":\"Kuba\",\"name_it\":\"Cuba\",\"name_ja\":\"キューバ\",\"name_ko\":\"쿠바\",\"name_nl\":\"Cuba\",\"name_pl\":\"Kuba\",\"name_pt\":\"Cuba\",\"name_ru\":\"Куба\",\"name_sv\":\"Kuba\",\"name_tr\":\"Küba\",\"name_uk\":\"Куба\",\"name_ur\":\"کیوبا\",\"name_vi\":\"Cuba\",\"name_zh\":\"古巴\",\"name_zht\":\"古巴\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"CUB.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-82.26815121125706,23.188610744717707],[-81.40445716014683,23.117271429938782],[-80.6187686835812,23.105980129483],[-79.67952368846025,22.76530324959883],[-79.28148596873208,22.399201565027056],[-78.34743445505649,22.512166246017088],[-77.99329586456028,22.277193508385935],[-77.14642249216105,21.657851467367834],[-76.52382483590856,21.206819566324373],[-76.19462012399319,21.220565497314013],[-75.59822241891267,21.016624457274133],[-75.67106035022806,20.735091254148003],[-74.9338960435845,20.693905137611385],[-74.17802486845126,20.28462779385974],[-74.29664811877726,20.05037852628068],[-74.96159461129294,19.92343537035569],[-75.63468014189459,19.873774318923196],[-76.323656175426,19.95289093676206],[-77.75548092315307,19.855480861891877],[-77.08510840524674,20.413353786698792],[-77.49265458851661,20.673105373613893],[-78.13729224314159,20.739948838783434],[-78.48282670766119,21.02861338956585],[-78.71986650258401,21.598113511638434],[-79.28499996612794,21.5591753199065],[-80.21747534861865,21.827324327069036],[-80.51753455272141,22.03707896574176],[-81.82094336620318,22.19205658618507],[-82.16999182811864,22.387109279870753],[-81.79500179719267,22.636964830001958],[-82.77589799674085,22.688150336187064],[-83.49445878775936,22.16851797127613],[-83.90880042187563,22.154565334557333],[-84.05215084505326,21.910575059491254],[-84.54703019889638,21.801227728761646],[-84.97491105827311,21.89602814380109],[-84.44706214062776,22.204949856041907],[-84.23035702181178,22.565754706303764],[-83.7782399156902,22.788118394455694],[-83.26754757356575,22.983041897060644],[-82.51043616405751,23.078746649665188],[-82.26815121125706,23.188610744717707]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":5,\"sovereignt\":\"Honduras\",\"sov_a3\":\"HND\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Honduras\",\"adm0_a3\":\"HND\",\"geou_dif\":0,\"geounit\":\"Honduras\",\"gu_a3\":\"HND\",\"su_dif\":0,\"subunit\":\"Honduras\",\"su_a3\":\"HND\",\"brk_diff\":0,\"name\":\"Honduras\",\"name_long\":\"Honduras\",\"brk_a3\":\"HND\",\"brk_name\":\"Honduras\",\"brk_group\":null,\"abbrev\":\"Hond.\",\"postal\":\"HN\",\"formal_en\":\"Republic of Honduras\",\"formal_fr\":null,\"name_ciawf\":\"Honduras\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Honduras\",\"name_alt\":null,\"mapcolor7\":2,\"mapcolor8\":5,\"mapcolor9\":2,\"mapcolor13\":5,\"pop_est\":9746117,\"pop_rank\":13,\"pop_year\":2019,\"gdp_md\":25095,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"HO\",\"iso_a2\":\"HN\",\"iso_a2_eh\":\"HN\",\"iso_a3\":\"HND\",\"iso_a3_eh\":\"HND\",\"iso_n3\":\"340\",\"iso_n3_eh\":\"340\",\"un_a3\":\"340\",\"wb_a2\":\"HN\",\"wb_a3\":\"HND\",\"woe_id\":23424841,\"woe_id_eh\":23424841,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"HND\",\"adm0_diff\":null,\"adm0_tlc\":\"HND\",\"adm0_a3_us\":\"HND\",\"adm0_a3_fr\":\"HND\",\"adm0_a3_ru\":\"HND\",\"adm0_a3_es\":\"HND\",\"adm0_a3_cn\":\"HND\",\"adm0_a3_tw\":\"HND\",\"adm0_a3_in\":\"HND\",\"adm0_a3_np\":\"HND\",\"adm0_a3_pk\":\"HND\",\"adm0_a3_de\":\"HND\",\"adm0_a3_gb\":\"HND\",\"adm0_a3_br\":\"HND\",\"adm0_a3_il\":\"HND\",\"adm0_a3_ps\":\"HND\",\"adm0_a3_sa\":\"HND\",\"adm0_a3_eg\":\"HND\",\"adm0_a3_ma\":\"HND\",\"adm0_a3_pt\":\"HND\",\"adm0_a3_ar\":\"HND\",\"adm0_a3_jp\":\"HND\",\"adm0_a3_ko\":\"HND\",\"adm0_a3_vn\":\"HND\",\"adm0_a3_tr\":\"HND\",\"adm0_a3_id\":\"HND\",\"adm0_a3_pl\":\"HND\",\"adm0_a3_gr\":\"HND\",\"adm0_a3_it\":\"HND\",\"adm0_a3_nl\":\"HND\",\"adm0_a3_se\":\"HND\",\"adm0_a3_bd\":\"HND\",\"adm0_a3_ua\":\"HND\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"North America\",\"region_un\":\"Americas\",\"subregion\":\"Central America\",\"region_wb\":\"Latin America & Caribbean\",\"name_len\":8,\"long_len\":8,\"abbrev_len\":5,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4.5,\"max_label\":9.5,\"label_x\":-86.887604,\"label_y\":14.794801,\"ne_id\":1159320827,\"wikidataid\":\"Q783\",\"name_ar\":\"هندوراس\",\"name_bn\":\"হন্ডুরাস\",\"name_de\":\"Honduras\",\"name_en\":\"Honduras\",\"name_es\":\"Honduras\",\"name_fa\":\"هندوراس\",\"name_fr\":\"Honduras\",\"name_el\":\"Ονδούρα\",\"name_he\":\"הונדורס\",\"name_hi\":\"हौण्डुरस\",\"name_hu\":\"Honduras\",\"name_id\":\"Honduras\",\"name_it\":\"Honduras\",\"name_ja\":\"ホンジュラス\",\"name_ko\":\"온두라스\",\"name_nl\":\"Honduras\",\"name_pl\":\"Honduras\",\"name_pt\":\"Honduras\",\"name_ru\":\"Гондурас\",\"name_sv\":\"Honduras\",\"name_tr\":\"Honduras\",\"name_uk\":\"Гондурас\",\"name_ur\":\"ہونڈوراس\",\"name_vi\":\"Honduras\",\"name_zh\":\"洪都拉斯\",\"name_zht\":\"宏都拉斯\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"HND.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-83.14721900097413,14.99582916916411],[-83.48998877636612,15.016267198135537],[-83.62858496777292,14.880073960830302],[-83.97572140169359,14.749435939996488],[-84.22834164095241,14.74876414637663],[-84.4493359036486,14.621614284722511],[-84.64958207877964,14.666805324761867],[-84.82003679069436,14.81958669683267],[-84.9245006985724,14.79049286545235],[-85.05278744173694,14.551541042534723],[-85.14875057650296,14.560196844943617],[-85.16536454948482,14.354369615125051],[-85.51441301140028,14.079011745657908],[-85.69866533073696,13.960078436738002],[-85.80129472526859,13.83605499923759],[-86.09626380079061,14.038187364147234],[-86.31214209668993,13.77135610600817],[-86.52070817741992,13.778487453664468],[-86.75508663607971,13.754845485890913],[-86.7338217841916,13.263092556201443],[-86.88055701368438,13.254204209847217],[-87.00576900912758,13.025794379117158],[-87.31665442579549,12.984685777228975],[-87.48940873894713,13.297534898323931],[-87.79311113152657,13.384480495655055],[-87.7235029772294,13.785050360565506],[-87.85951534702161,13.893312486217098],[-88.06534257684014,13.964625962779778],[-88.50399797234971,13.845485948130857],[-88.541230841816,13.980154730683479],[-88.84307288283284,14.14050670008517],[-89.05851192905766,14.340029405164087],[-89.35332597528281,14.424132798719086],[-89.14553504103719,14.678019110569153],[-89.22522009963127,14.874286200413621],[-89.15481096063357,15.06641917567481],[-88.68067969435563,15.346247056535304],[-88.22502275262202,15.727722479713904],[-88.12115312371537,15.688655096901357],[-87.90181250685242,15.864458319558196],[-87.61568010125234,15.878798529519202],[-87.52292090528846,15.797278957578783],[-87.36776241733213,15.846940009011291],[-86.90319129102818,15.75671295822957],[-86.44094560417739,15.782835394753192],[-86.11923397494434,15.893448798073962],[-86.00195431185784,16.00540578863439],[-85.68331743034628,15.953651841693954],[-85.44400387240256,15.885749009662447],[-85.18244361035721,15.909158433490632],[-84.98372188997882,15.995923163308703],[-84.52697974316715,15.857223619037427],[-84.36825558138258,15.835157782448732],[-84.06305457226682,15.648244126849136],[-83.77397661002612,15.424071763566872],[-83.41038123242038,15.270902818253774],[-83.14721900097413,14.99582916916411]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":2,\"sovereignt\":\"United States of America\",\"sov_a3\":\"US1\",\"adm0_dif\":1,\"level\":2,\"type\":\"Country\",\"tlc\":\"1\",\"admin\":\"United States of America\",\"adm0_a3\":\"USA\",\"geou_dif\":0,\"geounit\":\"United States of America\",\"gu_a3\":\"USA\",\"su_dif\":0,\"subunit\":\"United States\",\"su_a3\":\"USA\",\"brk_diff\":0,\"name\":\"United States of America\",\"name_long\":\"United States\",\"brk_a3\":\"USA\",\"brk_name\":\"United States\",\"brk_group\":null,\"abbrev\":\"U.S.A.\",\"postal\":\"US\",\"formal_en\":\"United States of America\",\"formal_fr\":null,\"name_ciawf\":\"United States\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"United States of America\",\"name_alt\":null,\"mapcolor7\":4,\"mapcolor8\":5,\"mapcolor9\":1,\"mapcolor13\":1,\"pop_est\":328239523,\"pop_rank\":17,\"pop_year\":2019,\"gdp_md\":21433226,\"gdp_year\":2019,\"economy\":\"1. Developed region: G7\",\"income_grp\":\"1. High income: OECD\",\"fips_10\":\"US\",\"iso_a2\":\"US\",\"iso_a2_eh\":\"US\",\"iso_a3\":\"USA\",\"iso_a3_eh\":\"USA\",\"iso_n3\":\"840\",\"iso_n3_eh\":\"840\",\"un_a3\":\"840\",\"wb_a2\":\"US\",\"wb_a3\":\"USA\",\"woe_id\":23424977,\"woe_id_eh\":23424977,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"USA\",\"adm0_diff\":null,\"adm0_tlc\":\"USA\",\"adm0_a3_us\":\"USA\",\"adm0_a3_fr\":\"USA\",\"adm0_a3_ru\":\"USA\",\"adm0_a3_es\":\"USA\",\"adm0_a3_cn\":\"USA\",\"adm0_a3_tw\":\"USA\",\"adm0_a3_in\":\"USA\",\"adm0_a3_np\":\"USA\",\"adm0_a3_pk\":\"USA\",\"adm0_a3_de\":\"USA\",\"adm0_a3_gb\":\"USA\",\"adm0_a3_br\":\"USA\",\"adm0_a3_il\":\"USA\",\"adm0_a3_ps\":\"USA\",\"adm0_a3_sa\":\"USA\",\"adm0_a3_eg\":\"USA\",\"adm0_a3_ma\":\"USA\",\"adm0_a3_pt\":\"USA\",\"adm0_a3_ar\":\"USA\",\"adm0_a3_jp\":\"USA\",\"adm0_a3_ko\":\"USA\",\"adm0_a3_vn\":\"USA\",\"adm0_a3_tr\":\"USA\",\"adm0_a3_id\":\"USA\",\"adm0_a3_pl\":\"USA\",\"adm0_a3_gr\":\"USA\",\"adm0_a3_it\":\"USA\",\"adm0_a3_nl\":\"USA\",\"adm0_a3_se\":\"USA\",\"adm0_a3_bd\":\"USA\",\"adm0_a3_ua\":\"USA\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"North America\",\"region_un\":\"Americas\",\"subregion\":\"Northern America\",\"region_wb\":\"North America\",\"name_len\":24,\"long_len\":13,\"abbrev_len\":6,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":1.7,\"max_label\":5.7,\"label_x\":-97.482602,\"label_y\":39.538479,\"ne_id\":1159321369,\"wikidataid\":\"Q30\",\"name_ar\":\"الولايات المتحدة\",\"name_bn\":\"মার্কিন যুক্তরাষ্ট্র\",\"name_de\":\"Vereinigte Staaten\",\"name_en\":\"United States of America\",\"name_es\":\"Estados Unidos\",\"name_fa\":\"ایالات متحده آمریکا\",\"name_fr\":\"États-Unis\",\"name_el\":\"Ηνωμένες Πολιτείες Αμερικής\",\"name_he\":\"ארצות הברית\",\"name_hi\":\"संयुक्त राज्य अमेरिका\",\"name_hu\":\"Amerikai Egyesült Államok\",\"name_id\":\"Amerika Serikat\",\"name_it\":\"Stati Uniti d'America\",\"name_ja\":\"アメリカ合衆国\",\"name_ko\":\"미국\",\"name_nl\":\"Verenigde Staten van Amerika\",\"name_pl\":\"Stany Zjednoczone\",\"name_pt\":\"Estados Unidos\",\"name_ru\":\"США\",\"name_sv\":\"USA\",\"name_tr\":\"Amerika Birleşik Devletleri\",\"name_uk\":\"Сполучені Штати Америки\",\"name_ur\":\"ریاستہائے متحدہ امریکا\",\"name_vi\":\"Hoa Kỳ\",\"name_zh\":\"美国\",\"name_zht\":\"美國\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"USA.geojson\"},\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[[[-122.84,49.000000000000114],[-120,49.000000000000114],[-117.03121,49],[-116.04818,49],[-113,49],[-110.05,49],[-107.05,49],[-104.04826,48.99986],[-100.65,49.000000000000114],[-97.2287200000048,49.0007],[-95.15906950917206,49],[-95.15609,49.38425],[-94.81758,49.38905],[-94.64,48.84],[-94.32914,48.67074],[-93.63087,48.60926],[-92.61,48.45],[-91.64,48.14],[-90.83,48.27],[-89.6,48.010000000000105],[-89.27291744663665,48.01980825458281],[-88.37811418328671,48.302917588893706],[-87.43979262330028,47.94],[-86.46199083122826,47.553338019392],[-85.65236324740341,47.22021881773051],[-84.8760798815149,46.90008331968238],[-84.77923824739992,46.63710195574902],[-84.54374874544584,46.538684190449146],[-84.6049,46.4396],[-84.3367,46.40877],[-84.1421195136734,46.51222585711571],[-84.0918512641615,46.27541860613826],[-83.89076534700574,46.116926988299014],[-83.61613094759059,46.116926988299014],[-83.46955074739469,45.994686387712534],[-83.59285071484311,45.81689362241252],[-82.55092464875821,45.34751658790543],[-82.33776312543114,44.44],[-82.13764238150395,43.57108755143997],[-82.43,42.98],[-82.9,42.43],[-83.12,42.08],[-83.14199968131264,41.975681057292874],[-83.029810146807,41.83279572200598],[-82.69008928092023,41.675105088867326],[-82.4392777167916,41.675105088867326],[-81.27774654816716,42.209025987306816],[-80.24744767934794,42.36619985612255],[-78.93936214874375,42.86361135514798],[-78.92,42.965],[-79.01,43.27],[-79.17167355011186,43.46633942318426],[-78.72027991404235,43.62508942318493],[-77.7378850979577,43.62905558936328],[-76.82003414580558,43.628784288093755],[-76.5,44.01845889375865],[-76.375,44.09631],[-75.31821,44.81645],[-74.867,45.00048],[-73.34783,45.00738],[-71.50506,45.0082],[-71.405,45.255],[-71.08482,45.30524000000014],[-70.66,45.46],[-70.305,45.915],[-69.99997,46.69307],[-69.237216,47.447781],[-68.905,47.185],[-68.23444,47.35486],[-67.79046,47.06636],[-67.79134,45.70281],[-67.13741,45.13753],[-66.96466,44.809700000000134],[-68.03252,44.3252],[-69.06,43.98],[-70.11617,43.68405000000013],[-70.64547563341102,43.09023834896402],[-70.81489,42.8653],[-70.825,42.335],[-70.495,41.805],[-70.08,41.78],[-70.185,42.145],[-69.88497,41.92283],[-69.96503,41.63717000000014],[-70.64,41.475],[-71.12039,41.49445000000014],[-71.86,41.32],[-72.295,41.27],[-72.87643,41.22065],[-73.71,40.93110235165449],[-72.24126,41.119480000000124],[-71.94499999999988,40.93],[-73.345,40.63],[-73.982,40.628],[-73.952325,40.75075],[-74.25671,40.47351],[-73.96244,40.42763],[-74.17838,39.70926],[-74.90604,38.93954],[-74.98041,39.1964],[-75.20002,39.248450000000105],[-75.52805,39.4985],[-75.32,38.96],[-75.07183476478986,38.782032230179254],[-75.05673,38.40412],[-75.37747,38.01551],[-75.94023,37.21689],[-76.03127,37.2566],[-75.72204999999985,37.93705000000011],[-76.23287,38.319215],[-76.35,39.15],[-76.542725,38.717615],[-76.32933,38.08326],[-76.98999793161352,38.23999176691336],[-76.30162,37.917945],[-76.25874,36.9664],[-75.9718,36.89726],[-75.8680399999999,36.55125],[-75.72749,35.55074000000013],[-76.36318,34.80854000000011],[-77.397635,34.51201],[-78.05496,33.92547],[-78.55434999999989,33.86133000000012],[-79.06067,33.49395],[-79.20357,33.15839],[-80.301325,32.509355],[-80.86498,32.0333],[-81.33629,31.44049],[-81.49042,30.7299900000001],[-81.31371,30.03552],[-80.98,29.18000000000012],[-80.535585,28.47213],[-80.52999999999986,28.04],[-80.05653928497759,26.88000000000011],[-80.088015,26.205765],[-80.13156,25.816775],[-80.38103,25.20616],[-80.68,25.08],[-81.17213,25.201260000000104],[-81.33,25.64],[-81.70999999999987,25.87],[-82.24,26.730000000000132],[-82.70515,27.49504],[-82.85526,27.88624],[-82.65,28.550000000000125],[-82.93,29.1],[-83.70959,29.93656],[-84.1,30.09],[-85.10882,29.63615],[-85.28784,29.68612000000013],[-85.7731,30.15261],[-86.4,30.4],[-87.53036,30.27433],[-88.41782,30.3849],[-89.18049,30.31598],[-89.5938311784198,30.159994004836847],[-89.413735,29.89419],[-89.43,29.48864],[-89.21767,29.29108],[-89.40823,29.15961],[-89.77928,29.307140000000118],[-90.15463,29.11743],[-90.880225,29.148535],[-91.626785,29.677000000000135],[-92.49906,29.5523],[-93.22637,29.78375],[-93.84842,29.71363],[-94.69,29.480000000000132],[-95.60026,28.73863],[-96.59404,28.30748],[-97.13999999999987,27.83],[-97.37,27.38],[-97.38,26.69],[-97.33,26.21],[-97.13999999999987,25.87],[-97.53,25.84],[-98.24,26.06],[-99.02,26.37],[-99.3,26.84],[-99.52,27.54],[-100.11,28.110000000000127],[-100.45584,28.69612000000012],[-100.9576,29.380710000000136],[-101.6624,29.7793],[-102.48,29.76],[-103.11,28.97],[-103.94,29.27],[-104.4569699999999,29.57196],[-104.70575,30.12173],[-105.03737,30.64402],[-105.63159,31.08383],[-106.1429,31.39995],[-106.50758999999988,31.75452],[-108.24,31.754853718166373],[-108.24194,31.34222],[-109.035,31.341940000000136],[-111.02361,31.33472],[-113.30498,32.03914],[-114.815,32.52528],[-114.72139,32.72083],[-115.99135,32.61239000000012],[-117.12775999999985,32.53534],[-117.29593769127393,33.04622461520387],[-117.944,33.621236431201396],[-118.41060227589753,33.74090922312445],[-118.51989482279976,34.02778157757575],[-119.081,34.078],[-119.43884064201671,34.34847717828427],[-120.36778,34.44711],[-120.62286,34.60855],[-120.74433,35.15686000000011],[-121.71457,36.16153],[-122.54747,37.551760000000115],[-122.51201,37.78339000000011],[-122.95319,38.11371],[-123.7272,38.95166000000012],[-123.86517,39.76699],[-124.39807,40.3132],[-124.17886,41.142020000000116],[-124.2137,41.99964000000011],[-124.53284,42.7659900000001],[-124.14214,43.70838],[-124.020535,44.615895],[-123.89893,45.52341],[-124.079635,46.86475],[-124.39567,47.72017000000011],[-124.68721008300781,48.18443298339855],[-124.56610107421875,48.37971496582037],[-123.12,48.04],[-122.58736,47.096],[-122.34,47.36],[-122.5,48.18],[-122.84,49.000000000000114]]],[[[-155.40214,20.07975],[-155.22452,19.99302],[-155.06226,19.8591],[-154.80741,19.50871],[-154.83147,19.45328],[-155.22217,19.23972],[-155.54211,19.08348],[-155.68817,18.91619],[-155.93665,19.05939],[-155.90806,19.33888],[-156.07347,19.70294],[-156.02368,19.81422],[-155.85008,19.97729],[-155.91907,20.17395],[-155.86108,20.26721],[-155.78505,20.2487],[-155.40214,20.07975]]],[[[-155.99566,20.76404],[-156.07926,20.64397],[-156.41445,20.57241],[-156.58673,20.783],[-156.70167,20.8643],[-156.71055,20.92676],[-156.61258,21.01249],[-156.25711,20.91745],[-155.99566,20.76404]]],[[[-156.75824,21.17684],[-156.78933,21.06873],[-157.32521,21.09777],[-157.25027,21.21958],[-156.75824,21.17684]]],[[[-158.0252,21.71696],[-157.94161,21.65272],[-157.65283,21.32217],[-157.70703,21.26442],[-157.7786,21.27729],[-158.12667,21.31244],[-158.2538,21.53919],[-158.29265,21.57912],[-158.0252,21.71696]]],[[[-159.36569,22.21494],[-159.34512,21.982],[-159.46372,21.88299],[-159.80051,22.06533],[-159.74877,22.1382],[-159.5962,22.23618],[-159.36569,22.21494]]],[[[-166.46779212142462,60.384169826897754],[-165.67442969466364,60.29360687930625],[-165.57916419173358,59.90998688418753],[-166.19277014876727,59.75444082298899],[-166.84833736882197,59.941406155020985],[-167.45527706609008,60.21306915957936],[-166.46779212142462,60.384169826897754]]],[[[-153.22872941792113,57.96896841087248],[-152.56479061583514,57.901427313866996],[-152.1411472239064,57.591058661522],[-153.00631405333692,57.11584219016593],[-154.0050902984581,56.734676825581076],[-154.51640275777004,56.99274892844669],[-154.67099280497118,57.46119578717253],[-153.7627795074415,57.81657461204373],[-153.22872941792113,57.96896841087248]]],[[[-140.98598761037601,69.71199839952635],[-140.986,69.712],[-140.9925,66.00003],[-140.99778,60.30639],[-140.013,60.27682],[-139.039,60],[-138.34089,59.56211],[-137.4525,58.905],[-136.47972,59.46389],[-135.47583,59.78778],[-134.945,59.2705600000001],[-134.27111,58.86111],[-133.35556,58.41028],[-132.73042,57.69289],[-131.70781,56.55212],[-130.00778,55.91583],[-129.98,55.285],[-130.53611,54.80278],[-130.53610895273684,54.80275447679924],[-130.5361101894673,54.8027534043494],[-131.08581823797215,55.17890615500204],[-131.9672114671423,55.497775580459006],[-132.2500107428595,56.3699962428974],[-133.53918108435641,57.17888743756214],[-134.07806292029608,58.12306753196691],[-135.0382110322791,58.18771474876394],[-136.62806230995471,58.21220937767043],[-137.800006279686,58.49999542910376],[-139.867787041413,59.53776154238915],[-140.825273817133,59.727517401765056],[-142.57444353556446,60.08444651960497],[-143.9588809948799,59.999180406323376],[-145.92555681682788,60.45860972761426],[-147.11437394914665,60.884656073644635],[-148.22430620012761,60.67298940697714],[-148.01806555885082,59.97832896589364],[-148.57082251686086,59.914172675203304],[-149.72785783587585,59.70565827090553],[-150.60824337461642,59.368211168039466],[-151.7163927886833,59.15582103131993],[-151.85943315326722,59.744984035879554],[-151.40971900124717,60.72580272077937],[-150.3469414947325,61.03358755150987],[-150.62111080625704,61.2844249538544],[-151.89583919981683,60.727197984451266],[-152.57832984109558,60.061657212964235],[-154.01917212625764,59.35027944603428],[-153.28751135965317,58.86472768821977],[-154.23249243875847,58.14637360293051],[-155.3074914215102,57.727794501366304],[-156.30833472392305,57.422774359763594],[-156.55609737854638,56.97998484967064],[-158.11721655986779,56.46360809999419],[-158.43332129619714,55.99415355083852],[-159.60332739971741,55.56668610292013],[-160.28971961163427,55.643580634170576],[-161.22304765525777,55.364734605523495],[-162.23776607974105,55.02418691672011],[-163.06944658104638,54.68973704692712],[-164.78556922102717,54.40417308208214],[-164.94222632552007,54.57222483989534],[-163.84833960676565,55.03943146424609],[-162.87000139061595,55.34804311789321],[-161.80417497459607,55.89498647727038],[-160.5636047027812,56.00805451112501],[-160.07055986228448,56.41805532492873],[-158.6844429189195,57.01667511659787],[-158.46109737855403,57.21692129172885],[-157.72277035218391,57.57000051536306],[-157.55027442119362,58.328326321030204],[-157.04167497457698,58.91888458926172],[-158.19473120830554,58.61580231386978],[-158.51721798402303,58.78778148053732],[-159.0586061269288,58.42418610293163],[-159.71166704001737,58.93139028587632],[-159.98128882550017,58.572549140041644],[-160.3552711659965,59.07112335879361],[-161.3550034251151,58.670837714260756],[-161.96889360252632,58.67166453717738],[-162.05498653872465,59.26692536074745],[-161.8741707021354,59.63362132429057],[-162.51805904849212,59.98972361921386],[-163.8183414378202,59.79805573184336],[-164.66221757714652,60.26748444278263],[-165.3463877024748,60.50749563256238],[-165.3508318756519,61.073895168697504],[-166.12137915755602,61.50001902937623],[-165.73445187077058,62.074996853271784],[-164.9191786367179,62.63307648380794],[-164.56250790103934,63.14637848576302],[-163.75333248599708,63.21944896102377],[-163.06722449445786,63.05945872664802],[-162.26055538638175,63.54193573674115],[-161.53444983624863,63.455816962326764],[-160.7725066803211,63.766108100023246],[-160.9583351308426,64.22279857040274],[-161.51806840721218,64.40278758407527],[-160.77777767641481,64.78860382756642],[-161.39192623598765,64.77723501246231],[-162.4530500966689,64.55944468856819],[-162.75778601789415,64.33860545516876],[-163.54639421288428,64.5591604681905],[-164.96082984114514,64.44694509546883],[-166.42528825586447,64.68667206487066],[-166.8450042389391,65.08889557561452],[-168.11056006576715,65.66999705673675],[-166.70527116602193,66.08831777613938],[-164.47470964257548,66.5766600612975],[-163.65251176659564,66.5766600612975],[-163.78860165103623,66.07720734319668],[-161.67777442121013,66.11611969671242],[-162.48971452538004,66.73556509059512],[-163.71971696679117,67.11639455837008],[-164.4309913808565,67.61633820257777],[-165.39028683170673,68.04277212185025],[-166.76444068099605,68.35887685817966],[-166.20470740462667,68.88303091091615],[-164.43081051334346,68.91553538682774],[-163.1686136546145,69.37111481391287],[-162.930566169262,69.85806183539927],[-161.90889726463556,70.33332998318764],[-160.93479651593367,70.44768992784958],[-159.03917578838713,70.89164215766891],[-158.11972286683394,70.82472117785102],[-156.58082455139808,71.35776357694175],[-155.06779029032427,71.14777639432367],[-154.3441652089412,70.69640859647018],[-153.9000062733926,70.88998851183567],[-152.21000606993528,70.82999217394485],[-152.27000240782613,70.60000621202983],[-150.73999243874448,70.43001658800569],[-149.7200030181675,70.53001048449045],[-147.61336157935705,70.2140349392418],[-145.68998980022533,70.12000967068673],[-144.9200109590764,69.98999176704046],[-143.58944618042523,70.15251414659832],[-142.07251034871348,69.85193817817265],[-140.98598752156073,69.71199839952635],[-140.98598761037601,69.71199839952635]]],[[[-171.73165686753944,63.782515367275934],[-171.1144335602453,63.59219106714495],[-170.4911124339407,63.694975490973505],[-169.6825054596536,63.43111562769119],[-168.6894394603007,63.297506212000556],[-168.77194088445466,63.18859813094544],[-169.5294398672051,62.97693146427792],[-170.29055620021595,63.194437567794424],[-170.67138566799093,63.3758218451389],[-171.55306311753873,63.317789211675105],[-171.79111060289122,63.40584585230046],[-171.73165686753944,63.782515367275934]]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":2,\"sovereignt\":\"Canada\",\"sov_a3\":\"CAN\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Canada\",\"adm0_a3\":\"CAN\",\"geou_dif\":0,\"geounit\":\"Canada\",\"gu_a3\":\"CAN\",\"su_dif\":0,\"subunit\":\"Canada\",\"su_a3\":\"CAN\",\"brk_diff\":0,\"name\":\"Canada\",\"name_long\":\"Canada\",\"brk_a3\":\"CAN\",\"brk_name\":\"Canada\",\"brk_group\":null,\"abbrev\":\"Can.\",\"postal\":\"CA\",\"formal_en\":\"Canada\",\"formal_fr\":null,\"name_ciawf\":\"Canada\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Canada\",\"name_alt\":null,\"mapcolor7\":6,\"mapcolor8\":6,\"mapcolor9\":2,\"mapcolor13\":2,\"pop_est\":37589262,\"pop_rank\":15,\"pop_year\":2019,\"gdp_md\":1736425,\"gdp_year\":2019,\"economy\":\"1. Developed region: G7\",\"income_grp\":\"1. High income: OECD\",\"fips_10\":\"CA\",\"iso_a2\":\"CA\",\"iso_a2_eh\":\"CA\",\"iso_a3\":\"CAN\",\"iso_a3_eh\":\"CAN\",\"iso_n3\":\"124\",\"iso_n3_eh\":\"124\",\"un_a3\":\"124\",\"wb_a2\":\"CA\",\"wb_a3\":\"CAN\",\"woe_id\":23424775,\"woe_id_eh\":23424775,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"CAN\",\"adm0_diff\":null,\"adm0_tlc\":\"CAN\",\"adm0_a3_us\":\"CAN\",\"adm0_a3_fr\":\"CAN\",\"adm0_a3_ru\":\"CAN\",\"adm0_a3_es\":\"CAN\",\"adm0_a3_cn\":\"CAN\",\"adm0_a3_tw\":\"CAN\",\"adm0_a3_in\":\"CAN\",\"adm0_a3_np\":\"CAN\",\"adm0_a3_pk\":\"CAN\",\"adm0_a3_de\":\"CAN\",\"adm0_a3_gb\":\"CAN\",\"adm0_a3_br\":\"CAN\",\"adm0_a3_il\":\"CAN\",\"adm0_a3_ps\":\"CAN\",\"adm0_a3_sa\":\"CAN\",\"adm0_a3_eg\":\"CAN\",\"adm0_a3_ma\":\"CAN\",\"adm0_a3_pt\":\"CAN\",\"adm0_a3_ar\":\"CAN\",\"adm0_a3_jp\":\"CAN\",\"adm0_a3_ko\":\"CAN\",\"adm0_a3_vn\":\"CAN\",\"adm0_a3_tr\":\"CAN\",\"adm0_a3_id\":\"CAN\",\"adm0_a3_pl\":\"CAN\",\"adm0_a3_gr\":\"CAN\",\"adm0_a3_it\":\"CAN\",\"adm0_a3_nl\":\"CAN\",\"adm0_a3_se\":\"CAN\",\"adm0_a3_bd\":\"CAN\",\"adm0_a3_ua\":\"CAN\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"North America\",\"region_un\":\"Americas\",\"subregion\":\"Northern America\",\"region_wb\":\"North America\",\"name_len\":6,\"long_len\":6,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":1.7,\"max_label\":5.7,\"label_x\":-101.9107,\"label_y\":60.324287,\"ne_id\":1159320467,\"wikidataid\":\"Q16\",\"name_ar\":\"كندا\",\"name_bn\":\"কানাডা\",\"name_de\":\"Kanada\",\"name_en\":\"Canada\",\"name_es\":\"Canadá\",\"name_fa\":\"کانادا\",\"name_fr\":\"Canada\",\"name_el\":\"Καναδάς\",\"name_he\":\"קנדה\",\"name_hi\":\"कनाडा\",\"name_hu\":\"Kanada\",\"name_id\":\"Kanada\",\"name_it\":\"Canada\",\"name_ja\":\"カナダ\",\"name_ko\":\"캐나다\",\"name_nl\":\"Canada\",\"name_pl\":\"Kanada\",\"name_pt\":\"Canadá\",\"name_ru\":\"Канада\",\"name_sv\":\"Kanada\",\"name_tr\":\"Kanada\",\"name_uk\":\"Канада\",\"name_ur\":\"کینیڈا\",\"name_vi\":\"Canada\",\"name_zh\":\"加拿大\",\"name_zht\":\"加拿大\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"CAN.geojson\"},\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[[[-122.84,49.000000000000114],[-122.97421,49.00253777777778],[-124.91024,49.98456],[-125.62461,50.41656],[-127.43561,50.83061],[-127.99276,51.71583],[-127.85032,52.32961],[-129.12979,52.75538],[-129.30523,53.56159],[-130.51497,54.28757],[-130.53610895273684,54.80275447679924],[-130.53611,54.80278],[-129.98,55.285],[-130.00778,55.91583],[-131.70781,56.55212],[-132.73042,57.69289],[-133.35556,58.41028],[-134.27111,58.86111],[-134.945,59.2705600000001],[-135.47583,59.78778],[-136.47972,59.46389],[-137.4525,58.905],[-138.34089,59.56211],[-139.039,60],[-140.013,60.27682],[-140.99778,60.30639],[-140.9925,66.00003],[-140.986,69.712],[-140.98598761037601,69.71199839952635],[-139.12052,69.47102],[-137.54636,68.99002],[-136.50358,68.89804],[-135.62576,69.31512],[-134.41464,69.62743],[-132.92925,69.50534],[-131.43136,69.94451],[-129.79471,70.19369],[-129.10773,69.77927],[-128.36156,70.01286],[-128.13817,70.48384],[-127.44712,70.37721],[-125.75632,69.48058],[-124.42483,70.1584],[-124.28968,69.39969],[-123.06108,69.56372],[-122.6835,69.85553],[-121.47226,69.79778],[-119.94288,69.37786],[-117.60268,69.01128],[-116.22643,68.84151],[-115.2469,68.90591],[-113.89794,68.3989],[-115.30489,67.90261],[-113.49727,67.68815],[-110.798,67.80612],[-109.94619,67.98104],[-108.8802,67.38144],[-107.79239,67.88736],[-108.81299,68.31164],[-108.16721,68.65392],[-106.95,68.7],[-106.15,68.8],[-105.34282,68.56122],[-104.33791,68.018],[-103.22115,68.09775],[-101.45433,67.64689],[-99.90195,67.80566],[-98.4432,67.78165],[-98.5586,68.40394],[-97.66948,68.57864],[-96.11991,68.23939],[-96.12588,67.29338],[-95.48943,68.0907],[-94.685,68.06383],[-94.23282,69.06903],[-95.30408,69.68571],[-96.47131,70.08976],[-96.39115,71.19482],[-95.2088,71.92053],[-93.88997,71.76015],[-92.87818,71.31869],[-91.51964,70.19129],[-92.40692,69.69997],[-90.5471,69.49766],[-90.55151,68.47499],[-89.21515,69.25873],[-88.01966,68.61508],[-88.31749,67.87338],[-87.35017,67.19872],[-86.30607,67.92146],[-85.57664,68.78456],[-85.52197,69.88211],[-84.10081,69.80539],[-82.62258,69.65826],[-81.28043,69.16202],[-81.2202,68.66567],[-81.96436,68.13253],[-81.25928,67.59716],[-81.38653,67.11078],[-83.34456,66.41154],[-84.73542,66.2573],[-85.76943,66.55833],[-86.0676,66.05625],[-87.03143,65.21297],[-87.32324,64.77563],[-88.48296,64.09897],[-89.91444,64.03273],[-90.70398,63.61017],[-90.77004,62.96021],[-91.93342,62.83508],[-93.15698,62.02469],[-94.24153,60.89865],[-94.62931,60.11021],[-94.6846,58.94882],[-93.21502,58.78212],[-92.76462,57.84571],[-92.29703,57.08709],[-90.89769,57.28468],[-89.03953,56.85172],[-88.03978,56.47162],[-87.32421,55.99914],[-86.07121,55.72383],[-85.01181,55.3026],[-83.36055,55.24489],[-82.27285,55.14832],[-82.4362,54.28227],[-82.12502,53.27703],[-81.40075,52.15788],[-79.91289,51.20842],[-79.14301,51.53393],[-78.60191,52.56208],[-79.12421,54.14145],[-79.82958,54.66772],[-78.22874,55.13645],[-77.0956,55.83741],[-76.54137,56.53423],[-76.62319,57.20263],[-77.30226,58.05209],[-78.51688,58.80458],[-77.33676,59.85261],[-77.77272,60.75788],[-78.10687,62.31964],[-77.41067,62.55053],[-75.69621,62.2784],[-74.6682,62.18111],[-73.83988,62.4438],[-72.90853,62.10507],[-71.67708,61.52535],[-71.37369,61.13717],[-69.59042,61.06141],[-69.62033,60.22125],[-69.2879,58.95736],[-68.37455,58.80106],[-67.64976,58.21206],[-66.20178,58.76731],[-65.24517,59.87071],[-64.58352,60.33558],[-63.80475,59.4426],[-62.50236,58.16708],[-61.39655,56.96745],[-61.79866,56.33945],[-60.46853,55.77548],[-59.56962,55.20407],[-57.97508,54.94549],[-57.3332,54.6265],[-56.93689,53.78032],[-56.15811,53.64749],[-55.75632,53.27036],[-55.68338,52.14664],[-56.40916,51.7707],[-57.12691,51.41972],[-58.77482,51.0643],[-60.03309,50.24277],[-61.72366,50.08046],[-63.86251,50.29099],[-65.36331,50.2982],[-66.39905,50.22897],[-67.23631,49.51156],[-68.51114,49.06836],[-69.95362,47.74488],[-71.10458,46.82171],[-70.25522,46.98606],[-68.65,48.3],[-66.55243,49.1331],[-65.05626,49.23278],[-64.17099,48.74248],[-65.11545,48.07085],[-64.79854,46.99297],[-64.47219,46.23849],[-63.17329,45.73902],[-61.52072,45.88377],[-60.51815,47.00793],[-60.4486,46.28264],[-59.80287,45.9204],[-61.03988,45.26525],[-63.25471,44.67014],[-64.24656,44.26553],[-65.36406,43.54523],[-66.1234,43.61867],[-66.16173,44.46512],[-64.42549,45.29204],[-66.02605,45.25931],[-67.13741,45.13753],[-67.79134,45.70281],[-67.79046,47.06636],[-68.23444,47.35486],[-68.905,47.185],[-69.237216,47.447781],[-69.99997,46.69307],[-70.305,45.915],[-70.66,45.46],[-71.08482,45.30524000000014],[-71.405,45.255],[-71.50506,45.0082],[-73.34783,45.00738],[-74.867,45.00048],[-75.31821,44.81645],[-76.375,44.09631],[-76.5,44.01845889375865],[-76.82003414580558,43.628784288093755],[-77.7378850979577,43.62905558936328],[-78.72027991404235,43.62508942318493],[-79.17167355011186,43.46633942318426],[-79.01,43.27],[-78.92,42.965],[-78.93936214874375,42.86361135514798],[-80.24744767934794,42.36619985612255],[-81.27774654816716,42.209025987306816],[-82.4392777167916,41.675105088867326],[-82.69008928092023,41.675105088867326],[-83.029810146807,41.83279572200598],[-83.14199968131264,41.975681057292874],[-83.12,42.08],[-82.9,42.43],[-82.43,42.98],[-82.13764238150395,43.57108755143997],[-82.33776312543114,44.44],[-82.55092464875821,45.34751658790543],[-83.59285071484311,45.81689362241252],[-83.46955074739469,45.994686387712534],[-83.61613094759059,46.116926988299014],[-83.89076534700574,46.116926988299014],[-84.0918512641615,46.27541860613826],[-84.1421195136734,46.51222585711571],[-84.3367,46.40877],[-84.6049,46.4396],[-84.54374874544584,46.538684190449146],[-84.77923824739992,46.63710195574902],[-84.8760798815149,46.90008331968238],[-85.65236324740341,47.22021881773051],[-86.46199083122826,47.553338019392],[-87.43979262330028,47.94],[-88.37811418328671,48.302917588893706],[-89.27291744663665,48.01980825458281],[-89.6,48.010000000000105],[-90.83,48.27],[-91.64,48.14],[-92.61,48.45],[-93.63087,48.60926],[-94.32914,48.67074],[-94.64,48.84],[-94.81758,49.38905],[-95.15609,49.38425],[-95.15906950917206,49],[-97.2287200000048,49.0007],[-100.65,49.000000000000114],[-104.04826,48.99986],[-107.05,49],[-110.05,49],[-113,49],[-116.04818,49],[-117.03121,49],[-120,49.000000000000114],[-122.84,49.000000000000114]]],[[[-83.99367,62.4528],[-83.25048,62.91409],[-81.87699,62.90458],[-81.89825,62.7108],[-83.06857,62.15922],[-83.77462,62.18231],[-83.99367,62.4528]]],[[[-79.77583312988281,72.8029022216797],[-80.87609863281251,73.33318328857422],[-80.83388519287111,73.69318389892578],[-80.35305786132812,73.75971984863281],[-78.06443786621094,73.65193176269531],[-76.34,73.10268498995305],[-76.25140380859375,72.82638549804688],[-77.31443786621094,72.85554504394531],[-78.39167022705078,72.87665557861328],[-79.4862518310547,72.74220275878906],[-79.77583312988281,72.8029022216797]]],[[[-80.315395,62.085565],[-79.92939,62.3856],[-79.52002,62.36371],[-79.26582,62.158675],[-79.65752,61.63308],[-80.09956,61.7181],[-80.36215,62.01649],[-80.315395,62.085565]]],[[[-93.61275590694046,74.97999726022438],[-94.15690873897391,74.59234650338688],[-95.60868058956564,74.66686391875176],[-96.82093217648455,74.92762319609658],[-96.28858740922982,75.37782827422338],[-94.85081987178917,75.64721751576089],[-93.97774654821797,75.29648956979595],[-93.61275590694046,74.97999726022438]]],[[[-93.84000301794399,77.51999726023455],[-94.29560828324529,77.49134267852868],[-96.16965410031007,77.55511139597685],[-96.43630449093614,77.83462921824362],[-94.42257727738641,77.820004787905],[-93.7206562975659,77.63433136668031],[-93.84000301794399,77.51999726023455]]],[[[-96.75439876990876,78.76581268992702],[-95.5592779202946,78.41831452098033],[-95.83029496944934,78.05694122996324],[-97.30984290239799,77.85059723582181],[-98.12428931353404,78.08285696075761],[-98.55286780474668,78.45810537384507],[-98.63198442258553,78.87193024363837],[-97.33723141151266,78.83198436147676],[-96.75439876990876,78.76581268992702]]],[[[-88.15035030796028,74.39230703398503],[-89.7647220527584,74.51555532500116],[-92.42244096552946,74.83775788034099],[-92.76828548864282,75.38681997344214],[-92.88990597204175,75.88265534128267],[-93.89382402217599,76.31924367950056],[-95.9624574450358,76.4413809272224],[-97.1213789538295,76.7510777859476],[-96.74512285031237,77.16138865834507],[-94.68408586299944,77.09787832305837],[-93.57392106807313,76.77629588490605],[-91.6050231595366,76.7785179714946],[-90.7418458727493,76.44959747995681],[-90.96966142450802,76.07401317005947],[-89.82223792189926,75.84777374948565],[-89.18708289259985,75.61016551380762],[-87.83827633334965,75.56618886992725],[-86.37919226758864,75.4824213731821],[-84.78962521029058,75.69920400664653],[-82.75344458691006,75.78431509063124],[-81.12853084992436,75.71398346628199],[-80.05751095245915,75.33684886341591],[-79.83393286814837,74.92312734648716],[-80.45777075877587,74.65730377877777],[-81.94884253612557,74.44245901152432],[-83.22889360221143,74.56402781849094],[-86.09745235873332,74.41003205026117],[-88.15035030796028,74.39230703398503]]],[[[-111.26444332563088,78.15295604116154],[-109.85445187054711,77.99632477488488],[-110.18693803591302,77.69701487905034],[-112.0511911690585,77.4092288276169],[-113.53427893761912,77.73220652944111],[-112.7245867582539,78.05105011668196],[-111.26444332563088,78.15295604116154]]],[[[-110.96366065147602,78.8044408230652],[-109.6631457182026,78.60197256134565],[-110.88131425661892,78.40691986765997],[-112.54209143761516,78.4079017198735],[-112.52589087609164,78.55055451121522],[-111.5000103422334,78.8499935981305],[-110.96366065147602,78.8044408230652]]],[[[-55.600218268442056,51.31707469339794],[-56.13403581401709,50.68700979267928],[-56.795881720595276,49.81230866149089],[-56.14310502788433,50.15011749938286],[-55.471492275603,49.93581533466846],[-55.82240108908096,49.58712860777905],[-54.935142584845636,49.3130109726868],[-54.473775397343786,49.556691189159125],[-53.47654944519137,49.24913890237404],[-53.786013759971254,48.516780503933624],[-53.08613399922626,48.68780365660358],[-52.958648240762216,48.15716421161447],[-52.64809872090421,47.53554840757552],[-53.069158291218386,46.65549876564492],[-53.521456264853,46.61829173439477],[-54.17893551290251,46.80706574155698],[-53.9618686590605,47.62520701760193],[-54.24048214376214,47.752279364607645],[-55.40077307801157,46.884993801453135],[-55.99748084168583,46.919720363953275],[-55.29121904155279,47.38956248635099],[-56.250798712780586,47.632545070987376],[-57.32522925477708,47.57280711525797],[-59.26601518414682,47.60334788674247],[-59.419494188053676,47.899453843774886],[-58.79658647320744,48.25152537697942],[-59.23162451845657,48.52318838153781],[-58.3918049790652,49.12558055276418],[-57.35868974468606,50.71827403421587],[-56.738650071832026,51.28743825947855],[-55.87097693543532,51.63209422464921],[-55.40697424988659,51.5882726100657],[-55.600218268442056,51.31707469339794]]],[[[-83.88262630891977,65.10961782496354],[-82.78757687043883,64.76669302027467],[-81.6420137193926,64.45513580998697],[-81.55344031444432,63.97960928003714],[-80.81736121287886,64.057485663501],[-80.10345130076664,63.72598135034862],[-80.99101986359572,63.41124603947496],[-82.54717810741704,63.65172231714521],[-83.10879757356511,64.10187571883971],[-84.10041663281388,63.569711819098],[-85.52340471061905,63.052379055424055],[-85.8667687649824,63.63725291610349],[-87.22198320183678,63.54123810490519],[-86.35275977247133,64.0358332383707],[-86.2248864407651,64.82291697860823],[-85.88384782585486,65.7387783881171],[-85.1613079495499,65.6572846543928],[-84.97576371940592,65.21751821558898],[-84.4640120104195,65.37177236598022],[-83.88262630891977,65.10961782496354]]],[[[-78.77063859731078,72.35217316353418],[-77.8246239895596,72.74961660429098],[-75.60584469267573,72.2436784939374],[-74.228616095665,71.76714427355789],[-74.09914079455771,71.33084015571758],[-72.24222571479768,71.55692454699452],[-71.20001542833518,70.92001251899718],[-68.7860542466849,70.52502370877427],[-67.91497046575694,70.12194753689765],[-66.9690333726542,69.18608734809182],[-68.8051228502006,68.72019847276444],[-66.4498660956339,68.06716339789203],[-64.86231441919524,67.84753856065159],[-63.424934454996794,66.92847321234059],[-61.851981370680605,66.86212067327783],[-62.16317684594226,66.16025136988962],[-63.918444383384184,64.9986685248329],[-65.14886023625368,65.42603261988667],[-66.72121904159852,66.38804108343219],[-68.015016038674,66.26272573512439],[-68.1412874009792,65.68978913030439],[-67.08964616562342,65.10845510523696],[-65.73208045109976,64.64840566675856],[-65.32016760930125,64.38273712834605],[-64.66940629744968,63.392926744227495],[-65.01380388045888,62.67418508569598],[-66.27504472519048,62.94509878198612],[-68.7831862046927,63.74567007105183],[-67.36968075221309,62.88396556258484],[-66.32829728866726,62.28007477482201],[-66.16556820338015,61.93089712182582],[-68.87736650254465,62.330149237712824],[-71.02343705919385,62.91070811629588],[-72.23537858751902,63.39783600529522],[-71.88627844917127,63.67998932560887],[-73.37830624051838,64.19396312118384],[-74.83441891142263,64.6790756293238],[-74.81850257027673,64.38909332951793],[-77.70997982452008,64.22954234481678],[-78.5559488593542,64.57290639918013],[-77.89728105336198,65.30919220647475],[-76.01827429879717,65.32696889918314],[-73.95979529488268,65.45476471624094],[-74.29388342964964,65.81177134872938],[-73.94491248238262,66.31057811142666],[-72.65116716173942,67.28457550726391],[-72.92605994331605,67.72692576768235],[-73.31161780464572,68.06943716091287],[-74.84330725777684,68.55462718370127],[-76.86910091826672,68.89473562283025],[-76.22864905465738,69.14776927354741],[-77.28736996123715,69.76954010688321],[-78.1686339993266,69.82648753526887],[-78.95724219431673,70.16688019477543],[-79.49245500356366,69.87180776638884],[-81.30547095409176,69.74318512641436],[-84.94470618359851,69.96663401964442],[-87.06000342481789,70.26000112576538],[-88.68171322300148,70.4107412787608],[-89.51341956252303,70.76203766548095],[-88.46772111688082,71.21818553332132],[-89.88815121128755,71.22255219184997],[-90.20516028518205,72.23507436796079],[-89.436576707705,73.12946421985238],[-88.40824154331287,73.53788890247121],[-85.82615108920098,73.80381582304518],[-86.56217851433412,73.15744700793844],[-85.77437130404454,72.53412588163387],[-84.85011247428822,73.34027822538708],[-82.31559017610101,73.7509508328106],[-80.60008765330768,72.71654368762417],[-80.74894161652443,72.06190664335072],[-78.77063859731078,72.35217316353418]]],[[[-94.50365759965237,74.13490672473922],[-92.42001217321173,74.1000251329422],[-90.50979285354263,73.85673248971206],[-92.00396521682987,72.96624420845852],[-93.19629553910026,72.77199249947334],[-94.26904659704726,72.02459625923599],[-95.40985551632266,72.06188080513458],[-96.03374508338244,72.94027680123183],[-96.01826799191102,73.43742991809582],[-95.49579342322404,73.86241689726417],[-94.50365759965237,74.13490672473922]]],[[[-122.85492448615902,76.11654287383568],[-122.85492529360326,76.11654287383568],[-121.15753536032824,76.86450755482828],[-119.1039389718211,77.51221995717462],[-117.570130784966,77.4983189968881],[-116.19858659550738,77.6452867703262],[-116.33581336145845,76.87696157501061],[-117.10605058476882,76.53003184681911],[-118.04041215703819,76.48117178008714],[-119.89931758688572,76.053213406062],[-121.49999507712648,75.90001862253276],[-122.85492448615902,76.11654287383568]]],[[[-132.71000788443126,54.04000931542356],[-131.74998958400334,54.12000438090922],[-132.049480347351,52.98462148702447],[-131.1790425218266,52.180432847698285],[-131.57782954982298,52.18237071390928],[-132.18042842677852,52.639707139692405],[-132.54999243231384,53.100014960332146],[-133.05461117875552,53.411468817755406],[-133.2396644827927,53.851080227262344],[-133.1800040417117,54.169975490935315],[-132.71000788443126,54.04000931542356]]],[[[-105.4922891914932,79.30159393992916],[-103.52928239623795,79.16534902619163],[-100.8251580472688,78.80046173777872],[-100.0601918200522,78.32475434031589],[-99.67093909381364,77.90754466420744],[-101.30394019245301,78.01898489044486],[-102.94980872273302,78.34322866486023],[-105.17613277873151,78.3803323432458],[-104.21042945027713,78.67742015249176],[-105.41958045125853,78.91833567983649],[-105.4922891914932,79.30159393992916]]],[[[-123.51000158755119,48.51001089130341],[-124.01289078839955,48.37084625914139],[-125.65501277733838,48.8250045843385],[-125.95499446679275,49.17999583596759],[-126.85000443587185,49.53000031188043],[-127.02999344954443,49.81499583597008],[-128.0593363043662,49.9949590114266],[-128.44458410710214,50.539137681676095],[-128.35841365625546,50.77064809834371],[-127.30858109602994,50.552573554071955],[-126.69500097721235,50.400903225295394],[-125.7550066738232,50.29501821552935],[-125.4150015875588,49.95000051533259],[-124.92076818911934,49.475274970083376],[-123.92250870832106,49.06248362893581],[-123.51000158755119,48.51001089130341]]],[[[-121.53788,74.44893],[-120.10978,74.24135],[-117.55564,74.18577],[-116.58442,73.89607],[-115.51081,73.47519],[-116.76794,73.22292],[-119.22,72.52],[-120.46,71.82],[-120.46,71.38360179308756],[-123.09219,70.90164],[-123.62,71.34],[-125.92894873747338,71.86868846301138],[-125.5,72.29226081179502],[-124.80729,73.02256],[-123.94,73.68000000000012],[-124.91775,74.29275000000013],[-121.53788,74.44893]]],[[[-107.81943,75.84552],[-106.92893,76.01282],[-105.881,75.9694],[-105.70498,75.47951],[-106.31347,75.00527],[-109.7,74.85],[-112.22307,74.41696],[-113.74381,74.39427],[-113.87135,74.72029],[-111.79421,75.1625],[-116.31221,75.04343],[-117.7104,75.2222],[-116.34602,76.19903],[-115.40487,76.47887],[-112.59056,76.14134],[-110.81422,75.54919],[-109.0671,75.47321],[-110.49726,76.42982],[-109.5811,76.79417],[-108.54859,76.67832],[-108.21141,76.20168],[-107.81943,75.84552]]],[[[-106.52259,73.07601],[-105.40246,72.67259],[-104.77484,71.6984000000001],[-104.4647599999999,70.99297],[-102.78537,70.49776],[-100.98078,70.02432],[-101.08929,69.58447000000012],[-102.73116,69.50402],[-102.09329,69.11962000000011],[-102.43024,68.75282],[-104.24,68.91],[-105.96,69.18000000000012],[-107.12254,69.11922],[-109,68.78],[-111.53414887520017,68.63005915681794],[-113.3132,68.53554],[-113.85495999999989,69.00744],[-115.22,69.28],[-116.10794,69.16821],[-117.34,69.96],[-116.67473,70.06655],[-115.13112,70.2373],[-113.72141,70.19237],[-112.4161,70.36638],[-114.35,70.6],[-116.48684,70.52045],[-117.9048,70.54056000000014],[-118.43238,70.9092],[-116.11311,71.30918],[-117.65568,71.2952],[-119.40199,71.55859],[-118.56267,72.30785],[-117.86642,72.70594],[-115.18909,73.31459000000012],[-114.16717,73.12145],[-114.66634,72.65277],[-112.44102,72.95540000000011],[-111.05039,72.4504],[-109.92035,72.96113],[-109.00654,72.63335],[-108.18835,71.65089],[-107.68599,72.06548],[-108.39639,73.08953],[-107.51645,73.23598],[-106.52259,73.07601]]],[[[-100.43836,72.70588],[-101.54,73.36],[-100.35642,73.84389],[-99.16387,73.63339],[-97.38,73.76],[-97.12,73.47],[-98.05359,72.99052],[-96.54,72.56],[-96.72,71.66],[-98.35966,71.27285],[-99.32286,71.35639],[-100.01482,71.73827],[-102.5,72.51],[-102.48,72.83],[-100.43836,72.70588]]],[[[-106.6,73.6],[-105.26,73.64],[-104.5,73.42],[-105.38,72.76],[-106.94,73.46],[-106.6,73.6]]],[[[-98.5,76.72],[-97.735585,76.25656],[-97.704415,75.74344],[-98.16,75],[-99.80874,74.89744],[-100.88366,75.05736],[-100.86292,75.64075],[-102.50209,75.5638],[-102.56552,76.3366],[-101.48973,76.30537],[-99.98349,76.64634],[-98.57699,76.58859],[-98.5,76.72]]],[[[-96.01644,80.60233],[-95.32345,80.90729],[-94.29843,80.97727],[-94.73542,81.20646],[-92.40984,81.25739],[-91.13289,80.72345],[-89.45,80.50932203389831],[-87.81,80.32],[-87.02,79.66],[-85.81435,79.3369],[-87.18756,79.0393],[-89.03535,78.28723],[-90.80436,78.21533],[-92.87669,78.34333],[-93.95116,78.75099],[-93.93574,79.11373],[-93.14524,79.3801],[-94.974,79.37248],[-96.07614,79.70502],[-96.70972,80.15777],[-96.01644,80.60233]]],[[[-91.58702,81.89429],[-90.1,82.085],[-88.93227,82.11751],[-86.97024,82.27961],[-85.5,82.65227345805702],[-84.260005,82.6],[-83.18,82.32],[-82.42,82.86],[-81.1,83.02],[-79.30664,83.13056],[-76.25,83.17205882352941],[-75.71878,83.06404],[-72.83153,83.23324],[-70.665765,83.16978075838284],[-68.5,83.10632151676572],[-65.82735,83.02801],[-63.68,82.9],[-61.85,82.6286],[-61.89388,82.36165],[-64.334,81.92775],[-66.75342,81.72527],[-67.65755,81.50141],[-65.48031,81.50657],[-67.84,80.9],[-69.4697,80.61683],[-71.18,79.8],[-73.2428,79.63415],[-73.88,79.43016220480206],[-76.90773,79.32309],[-75.52924,79.19766],[-76.22046,79.01907],[-75.39345,78.52581],[-76.34354,78.18296],[-77.88851,77.89991],[-78.36269,77.50859],[-79.75951,77.20968],[-79.61965,76.98336],[-77.91089,77.022045],[-77.88911,76.777955],[-80.56125,76.17812],[-83.17439,76.45403],[-86.11184,76.29901],[-87.6,76.42],[-89.49068,76.47239],[-89.6161,76.95213],[-87.76739,77.17833],[-88.26,77.9],[-87.65,77.97022222222223],[-84.97634,77.53873],[-86.34,78.18],[-87.96192,78.37181],[-87.15198,78.75867],[-85.37868,78.9969],[-85.09495,79.34543],[-86.50734,79.73624],[-86.93179,80.25145],[-84.19844,80.20836],[-83.40869565217389,80.1],[-81.84823,80.46442],[-84.1,80.58],[-87.59895,80.51627],[-89.36663,80.85569],[-90.2,81.26],[-91.36786,81.5531],[-91.58702,81.89429]]],[[[-75.21597,67.44425],[-75.86588,67.14886],[-76.98687,67.09873],[-77.2364,67.58809],[-76.81166,68.14856],[-75.89521,68.28721],[-75.1145,68.01036],[-75.10333,67.58202],[-75.21597,67.44425]]],[[[-96.25740120380055,69.49003035832177],[-95.64768120380054,69.10769035832178],[-96.26952120380055,68.75704035832177],[-97.61740120380055,69.06003035832177],[-98.43180120380055,68.95070035832177],[-99.79740120380055,69.40003035832177],[-98.91740120380055,69.71003035832177],[-98.21826120380055,70.14354035832177],[-97.15740120380055,69.86003035832177],[-96.55740120380055,69.68003035832177],[-96.25740120380055,69.49003035832177]]],[[[-64.51912,49.87304],[-64.17322,49.95718],[-62.85829,49.70641],[-61.835585,49.28855],[-61.806305,49.10506],[-62.29318,49.08717],[-63.58926,49.40069],[-64.51912,49.87304]]],[[[-64.01486,47.03601],[-63.6645,46.55001],[-62.9393,46.41587],[-62.01208,46.44314],[-62.50391,46.03339],[-62.87433,45.96818],[-64.1428,46.39265],[-64.39261,46.72747],[-64.01486,47.03601]]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":2,\"sovereignt\":\"Mexico\",\"sov_a3\":\"MEX\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Mexico\",\"adm0_a3\":\"MEX\",\"geou_dif\":0,\"geounit\":\"Mexico\",\"gu_a3\":\"MEX\",\"su_dif\":0,\"subunit\":\"Mexico\",\"su_a3\":\"MEX\",\"brk_diff\":0,\"name\":\"Mexico\",\"name_long\":\"Mexico\",\"brk_a3\":\"MEX\",\"brk_name\":\"Mexico\",\"brk_group\":null,\"abbrev\":\"Mex.\",\"postal\":\"MX\",\"formal_en\":\"United Mexican States\",\"formal_fr\":null,\"name_ciawf\":\"Mexico\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Mexico\",\"name_alt\":null,\"mapcolor7\":6,\"mapcolor8\":1,\"mapcolor9\":7,\"mapcolor13\":3,\"pop_est\":127575529,\"pop_rank\":17,\"pop_year\":2019,\"gdp_md\":1268870,\"gdp_year\":2019,\"economy\":\"4. Emerging region: MIKT\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"MX\",\"iso_a2\":\"MX\",\"iso_a2_eh\":\"MX\",\"iso_a3\":\"MEX\",\"iso_a3_eh\":\"MEX\",\"iso_n3\":\"484\",\"iso_n3_eh\":\"484\",\"un_a3\":\"484\",\"wb_a2\":\"MX\",\"wb_a3\":\"MEX\",\"woe_id\":23424900,\"woe_id_eh\":23424900,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"MEX\",\"adm0_diff\":null,\"adm0_tlc\":\"MEX\",\"adm0_a3_us\":\"MEX\",\"adm0_a3_fr\":\"MEX\",\"adm0_a3_ru\":\"MEX\",\"adm0_a3_es\":\"MEX\",\"adm0_a3_cn\":\"MEX\",\"adm0_a3_tw\":\"MEX\",\"adm0_a3_in\":\"MEX\",\"adm0_a3_np\":\"MEX\",\"adm0_a3_pk\":\"MEX\",\"adm0_a3_de\":\"MEX\",\"adm0_a3_gb\":\"MEX\",\"adm0_a3_br\":\"MEX\",\"adm0_a3_il\":\"MEX\",\"adm0_a3_ps\":\"MEX\",\"adm0_a3_sa\":\"MEX\",\"adm0_a3_eg\":\"MEX\",\"adm0_a3_ma\":\"MEX\",\"adm0_a3_pt\":\"MEX\",\"adm0_a3_ar\":\"MEX\",\"adm0_a3_jp\":\"MEX\",\"adm0_a3_ko\":\"MEX\",\"adm0_a3_vn\":\"MEX\",\"adm0_a3_tr\":\"MEX\",\"adm0_a3_id\":\"MEX\",\"adm0_a3_pl\":\"MEX\",\"adm0_a3_gr\":\"MEX\",\"adm0_a3_it\":\"MEX\",\"adm0_a3_nl\":\"MEX\",\"adm0_a3_se\":\"MEX\",\"adm0_a3_bd\":\"MEX\",\"adm0_a3_ua\":\"MEX\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"North America\",\"region_un\":\"Americas\",\"subregion\":\"Central America\",\"region_wb\":\"Latin America & Caribbean\",\"name_len\":6,\"long_len\":6,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":2,\"max_label\":6.7,\"label_x\":-102.289448,\"label_y\":23.919988,\"ne_id\":1159321055,\"wikidataid\":\"Q96\",\"name_ar\":\"المكسيك\",\"name_bn\":\"মেক্সিকো\",\"name_de\":\"Mexiko\",\"name_en\":\"Mexico\",\"name_es\":\"México\",\"name_fa\":\"مکزیک\",\"name_fr\":\"Mexique\",\"name_el\":\"Μεξικό\",\"name_he\":\"מקסיקו\",\"name_hi\":\"मेक्सिको\",\"name_hu\":\"Mexikó\",\"name_id\":\"Meksiko\",\"name_it\":\"Messico\",\"name_ja\":\"メキシコ\",\"name_ko\":\"멕시코\",\"name_nl\":\"Mexico\",\"name_pl\":\"Meksyk\",\"name_pt\":\"México\",\"name_ru\":\"Мексика\",\"name_sv\":\"Mexiko\",\"name_tr\":\"Meksika\",\"name_uk\":\"Мексика\",\"name_ur\":\"میکسیکو\",\"name_vi\":\"México\",\"name_zh\":\"墨西哥\",\"name_zht\":\"墨西哥\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"MEX.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-117.12775999999985,32.53534],[-115.99135,32.61239000000012],[-114.72139,32.72083],[-114.815,32.52528],[-113.30498,32.03914],[-111.02361,31.33472],[-109.035,31.341940000000136],[-108.24194,31.34222],[-108.24,31.754853718166373],[-106.50758999999988,31.75452],[-106.1429,31.39995],[-105.63159,31.08383],[-105.03737,30.64402],[-104.70575,30.12173],[-104.4569699999999,29.57196],[-103.94,29.27],[-103.11,28.97],[-102.48,29.76],[-101.6624,29.7793],[-100.9576,29.380710000000136],[-100.45584,28.69612000000012],[-100.11,28.110000000000127],[-99.52,27.54],[-99.3,26.84],[-99.02,26.37],[-98.24,26.06],[-97.53,25.84],[-97.14000830767071,25.8699974634784],[-97.52807247596655,24.9921440699203],[-97.70294552284224,24.272343044526735],[-97.77604183631905,22.93257986092766],[-97.87236670611111,22.44421173755336],[-97.69904395220419,21.898689480064263],[-97.38895952023677,21.411018988525825],[-97.18933346229329,20.635433254473128],[-96.52557552772032,19.890930894444068],[-96.29212724484177,19.320371405509547],[-95.90088497595997,18.82802419684873],[-94.83906348344271,18.562717393462208],[-94.42572953975622,18.144370835843347],[-93.5486512926824,18.423836981677937],[-92.7861138577835,18.52483856859226],[-92.0373481920904,18.704569200103435],[-91.40790340855926,18.87608327888023],[-90.77186987991087,19.28412038825678],[-90.53358985061305,19.8674181177513],[-90.45147599970124,20.707521877520435],[-90.2786183336849,20.999855454995554],[-89.60132117385149,21.26172577563449],[-88.54386633986286,21.49367544197662],[-87.65841651075772,21.45884552661198],[-87.05189022494807,21.5435431991383],[-86.81198238803296,21.331514797444754],[-86.84590796583262,20.849864610268355],[-87.38329118523586,20.25540477139873],[-87.62105445021075,19.64655304613592],[-87.43675045444178,19.47240346931227],[-87.58656043165593,19.04013011319074],[-87.83719112827151,18.25981598558343],[-88.09066402866318,18.51664785407405],[-88.3000310940937,18.4999822046599],[-88.49012285027935,18.486830552641607],[-88.84834387892661,17.883198147040233],[-89.02985734735182,18.001511338772488],[-89.15090938999553,17.95546763760042],[-89.14308041050333,17.808318996649405],[-90.06793351923098,17.819326076727478],[-91.00151994501596,17.81759491624571],[-91.00226925328421,17.25465770107418],[-91.45392127151516,17.252177232324172],[-91.08167009150065,16.918476670799407],[-90.71182186558772,16.687483018454728],[-90.60084672724093,16.47077789963879],[-90.43886695022204,16.410109768128095],[-90.46447262242266,16.069562079324655],[-91.74796017125595,16.066564846251765],[-92.2292486234063,15.251446641495875],[-92.08721594925207,15.064584662328441],[-92.20322953974733,14.830102850804069],[-92.22775000686983,14.538828640190928],[-93.35946387406176,15.615429592343673],[-93.87516883011853,15.940164292865916],[-94.69165646033014,16.200975246642884],[-95.25022701697304,16.128318182840644],[-96.05338212765332,15.752087917539598],[-96.55743404822829,15.653515122942792],[-97.26359249549665,15.917064927631316],[-98.01302995480961,16.107311713113916],[-98.94767574745651,16.566043402568766],[-99.69739742714705,16.70616404872817],[-100.82949886758132,17.17107107184205],[-101.66608862995446,17.649026394109626],[-101.91852800170022,17.916090196193977],[-102.47813208698892,17.975750637275098],[-103.50098954955808,18.29229462327885],[-103.91752743204682,18.74857168220001],[-104.9920096504755,19.316133938061682],[-105.49303849976144,19.946767279535436],[-105.73139604370766,20.434101874264115],[-105.39777299683135,20.531718654863425],[-105.50066077352443,20.81689504646613],[-105.27075232625793,21.07628489835514],[-105.26581722697404,21.42210358325235],[-105.6031609769754,21.87114594165257],[-105.69341386597313,22.269080308516152],[-106.02871639689897,22.773752346278627],[-106.90998043498837,23.767774359628902],[-107.91544877809139,24.54891531015295],[-108.40190487347098,25.172313951105934],[-109.26019873740665,25.58060944264406],[-109.44408932171734,25.82488393808768],[-109.29164384645628,26.442934068298428],[-109.80145768923182,26.676175645447927],[-110.3917317370857,27.16211497650454],[-110.64101884646163,27.859876003525528],[-111.17891883018785,27.94124054616907],[-111.75960689985163,28.46795258230395],[-112.2282346260904,28.95440867768349],[-112.27182369672869,29.266844387320077],[-112.80959448937398,30.02111359305235],[-113.16381059451868,30.786880804969428],[-113.14866939985717,31.170965887978923],[-113.87188106978186,31.567608344035193],[-114.20573666060352,31.524045111613134],[-114.77645117883503,31.79953217216115],[-114.93669979537214,31.393484605427602],[-114.7712318591735,30.913617255165263],[-114.67389929895177,30.162681179315996],[-114.33097449426293,29.750432440707414],[-113.58887508833544,29.061611436473015],[-113.42405310754054,28.82617361095123],[-113.27196936730553,28.7547826197399],[-113.14003943566439,28.41128937429596],[-112.9622983467965,28.42519033458251],[-112.76158708377488,27.780216783147523],[-112.45791052941166,27.52581370697476],[-112.2449519519368,27.17172679291076],[-111.61648902061921,26.662817287700477],[-111.28467464887302,25.732589830014433],[-110.9878193835724,25.294606228124564],[-110.71000688357134,24.82600434010186],[-110.65504899782889,24.298594672131117],[-110.17285620811344,24.265547593680424],[-109.77184709352855,23.811182562754198],[-109.40910437705571,23.36467234953625],[-109.43339230023292,23.1855876734287],[-109.85421932660171,22.818271592698068],[-110.03139197471444,22.823077500901206],[-110.29507097048366,23.43097321216669],[-110.94950130902805,24.000964260345995],[-111.6705684070127,24.484423122652515],[-112.18203589562148,24.738412787367167],[-112.14898881717085,25.47012523040405],[-112.3007108223797,26.012004299416617],[-112.77729671919155,26.32195954030317],[-113.46467078332194,26.768185533143424],[-113.59672990604383,26.639459540304472],[-113.84893673384425,26.90006378835244],[-114.46574662968004,27.142090358991368],[-115.05514217818501,27.72272675222291],[-114.98225257043742,27.798200181585116],[-114.57036556685495,27.74148529714489],[-114.19932878299926,28.115002549750557],[-114.16201839888464,28.566111965442303],[-114.93184221073665,29.27947927501549],[-115.518653937627,29.5563615992354],[-115.88736528202958,30.180793768834178],[-116.25835038945291,30.836464341753583],[-116.72152625208497,31.635743720012044],[-117.12775999999985,32.53534]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":6,\"sovereignt\":\"Belize\",\"sov_a3\":\"BLZ\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Belize\",\"adm0_a3\":\"BLZ\",\"geou_dif\":0,\"geounit\":\"Belize\",\"gu_a3\":\"BLZ\",\"su_dif\":0,\"subunit\":\"Belize\",\"su_a3\":\"BLZ\",\"brk_diff\":0,\"name\":\"Belize\",\"name_long\":\"Belize\",\"brk_a3\":\"BLZ\",\"brk_name\":\"Belize\",\"brk_group\":null,\"abbrev\":\"Belize\",\"postal\":\"BZ\",\"formal_en\":\"Belize\",\"formal_fr\":null,\"name_ciawf\":\"Belize\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Belize\",\"name_alt\":null,\"mapcolor7\":1,\"mapcolor8\":4,\"mapcolor9\":5,\"mapcolor13\":7,\"pop_est\":390353,\"pop_rank\":10,\"pop_year\":2019,\"gdp_md\":1879,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"BH\",\"iso_a2\":\"BZ\",\"iso_a2_eh\":\"BZ\",\"iso_a3\":\"BLZ\",\"iso_a3_eh\":\"BLZ\",\"iso_n3\":\"084\",\"iso_n3_eh\":\"084\",\"un_a3\":\"084\",\"wb_a2\":\"BZ\",\"wb_a3\":\"BLZ\",\"woe_id\":23424760,\"woe_id_eh\":23424760,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"BLZ\",\"adm0_diff\":null,\"adm0_tlc\":\"BLZ\",\"adm0_a3_us\":\"BLZ\",\"adm0_a3_fr\":\"BLZ\",\"adm0_a3_ru\":\"BLZ\",\"adm0_a3_es\":\"BLZ\",\"adm0_a3_cn\":\"BLZ\",\"adm0_a3_tw\":\"BLZ\",\"adm0_a3_in\":\"BLZ\",\"adm0_a3_np\":\"BLZ\",\"adm0_a3_pk\":\"BLZ\",\"adm0_a3_de\":\"BLZ\",\"adm0_a3_gb\":\"BLZ\",\"adm0_a3_br\":\"BLZ\",\"adm0_a3_il\":\"BLZ\",\"adm0_a3_ps\":\"BLZ\",\"adm0_a3_sa\":\"BLZ\",\"adm0_a3_eg\":\"BLZ\",\"adm0_a3_ma\":\"BLZ\",\"adm0_a3_pt\":\"BLZ\",\"adm0_a3_ar\":\"BLZ\",\"adm0_a3_jp\":\"BLZ\",\"adm0_a3_ko\":\"BLZ\",\"adm0_a3_vn\":\"BLZ\",\"adm0_a3_tr\":\"BLZ\",\"adm0_a3_id\":\"BLZ\",\"adm0_a3_pl\":\"BLZ\",\"adm0_a3_gr\":\"BLZ\",\"adm0_a3_it\":\"BLZ\",\"adm0_a3_nl\":\"BLZ\",\"adm0_a3_se\":\"BLZ\",\"adm0_a3_bd\":\"BLZ\",\"adm0_a3_ua\":\"BLZ\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"North America\",\"region_un\":\"Americas\",\"subregion\":\"Central America\",\"region_wb\":\"Latin America & Caribbean\",\"name_len\":6,\"long_len\":6,\"abbrev_len\":6,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":5,\"max_label\":10,\"label_x\":-88.712962,\"label_y\":17.202068,\"ne_id\":1159320431,\"wikidataid\":\"Q242\",\"name_ar\":\"بليز\",\"name_bn\":\"বেলিজ\",\"name_de\":\"Belize\",\"name_en\":\"Belize\",\"name_es\":\"Belice\",\"name_fa\":\"بلیز\",\"name_fr\":\"Belize\",\"name_el\":\"Μπελίζ\",\"name_he\":\"בליז\",\"name_hi\":\"बेलीज़\",\"name_hu\":\"Belize\",\"name_id\":\"Belize\",\"name_it\":\"Belize\",\"name_ja\":\"ベリーズ\",\"name_ko\":\"벨리즈\",\"name_nl\":\"Belize\",\"name_pl\":\"Belize\",\"name_pt\":\"Belize\",\"name_ru\":\"Белиз\",\"name_sv\":\"Belize\",\"name_tr\":\"Belize\",\"name_uk\":\"Беліз\",\"name_ur\":\"بیلیز\",\"name_vi\":\"Belize\",\"name_zh\":\"伯利兹\",\"name_zht\":\"貝里斯\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"BLZ.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-89.14308041050333,17.808318996649405],[-89.15090938999553,17.95546763760042],[-89.02985734735182,18.001511338772488],[-88.84834387892661,17.883198147040233],[-88.49012285027935,18.486830552641607],[-88.3000310940937,18.4999822046599],[-88.29633622918482,18.35327281338327],[-88.10681291375438,18.348673610909287],[-88.1234785631685,18.07667470954101],[-88.2853549873228,17.644142971258034],[-88.19786678745265,17.489475409408456],[-88.30264075392444,17.131693630435663],[-88.23951799187991,17.036066392479555],[-88.35542822951057,16.530774237529627],[-88.55182451043585,16.265467434143147],[-88.73243364129594,16.233634751851355],[-88.93061275913527,15.887273464415076],[-89.22912167026928,15.886937567605171],[-89.15080603713095,17.015576687075836],[-89.14308041050333,17.808318996649405]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":4,\"sovereignt\":\"Panama\",\"sov_a3\":\"PAN\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Panama\",\"adm0_a3\":\"PAN\",\"geou_dif\":0,\"geounit\":\"Panama\",\"gu_a3\":\"PAN\",\"su_dif\":0,\"subunit\":\"Panama\",\"su_a3\":\"PAN\",\"brk_diff\":0,\"name\":\"Panama\",\"name_long\":\"Panama\",\"brk_a3\":\"PAN\",\"brk_name\":\"Panama\",\"brk_group\":null,\"abbrev\":\"Pan.\",\"postal\":\"PA\",\"formal_en\":\"Republic of Panama\",\"formal_fr\":null,\"name_ciawf\":\"Panama\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Panama\",\"name_alt\":null,\"mapcolor7\":4,\"mapcolor8\":4,\"mapcolor9\":6,\"mapcolor13\":3,\"pop_est\":4246439,\"pop_rank\":12,\"pop_year\":2019,\"gdp_md\":66800,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"PM\",\"iso_a2\":\"PA\",\"iso_a2_eh\":\"PA\",\"iso_a3\":\"PAN\",\"iso_a3_eh\":\"PAN\",\"iso_n3\":\"591\",\"iso_n3_eh\":\"591\",\"un_a3\":\"591\",\"wb_a2\":\"PA\",\"wb_a3\":\"PAN\",\"woe_id\":23424924,\"woe_id_eh\":23424924,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"PAN\",\"adm0_diff\":null,\"adm0_tlc\":\"PAN\",\"adm0_a3_us\":\"PAN\",\"adm0_a3_fr\":\"PAN\",\"adm0_a3_ru\":\"PAN\",\"adm0_a3_es\":\"PAN\",\"adm0_a3_cn\":\"PAN\",\"adm0_a3_tw\":\"PAN\",\"adm0_a3_in\":\"PAN\",\"adm0_a3_np\":\"PAN\",\"adm0_a3_pk\":\"PAN\",\"adm0_a3_de\":\"PAN\",\"adm0_a3_gb\":\"PAN\",\"adm0_a3_br\":\"PAN\",\"adm0_a3_il\":\"PAN\",\"adm0_a3_ps\":\"PAN\",\"adm0_a3_sa\":\"PAN\",\"adm0_a3_eg\":\"PAN\",\"adm0_a3_ma\":\"PAN\",\"adm0_a3_pt\":\"PAN\",\"adm0_a3_ar\":\"PAN\",\"adm0_a3_jp\":\"PAN\",\"adm0_a3_ko\":\"PAN\",\"adm0_a3_vn\":\"PAN\",\"adm0_a3_tr\":\"PAN\",\"adm0_a3_id\":\"PAN\",\"adm0_a3_pl\":\"PAN\",\"adm0_a3_gr\":\"PAN\",\"adm0_a3_it\":\"PAN\",\"adm0_a3_nl\":\"PAN\",\"adm0_a3_se\":\"PAN\",\"adm0_a3_bd\":\"PAN\",\"adm0_a3_ua\":\"PAN\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"North America\",\"region_un\":\"Americas\",\"subregion\":\"Central America\",\"region_wb\":\"Latin America & Caribbean\",\"name_len\":6,\"long_len\":6,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":-80.352106,\"label_y\":8.72198,\"ne_id\":1159321161,\"wikidataid\":\"Q804\",\"name_ar\":\"بنما\",\"name_bn\":\"পানামা\",\"name_de\":\"Panama\",\"name_en\":\"Panama\",\"name_es\":\"Panamá\",\"name_fa\":\"پاناما\",\"name_fr\":\"Panama\",\"name_el\":\"Παναμάς\",\"name_he\":\"פנמה\",\"name_hi\":\"पनामा\",\"name_hu\":\"Panama\",\"name_id\":\"Panama\",\"name_it\":\"Panama\",\"name_ja\":\"パナマ\",\"name_ko\":\"파나마\",\"name_nl\":\"Panama\",\"name_pl\":\"Panama\",\"name_pt\":\"Panamá\",\"name_ru\":\"Панама\",\"name_sv\":\"Panama\",\"name_tr\":\"Panama\",\"name_uk\":\"Панама\",\"name_ur\":\"پاناما\",\"name_vi\":\"Panama\",\"name_zh\":\"巴拿马\",\"name_zht\":\"巴拿馬\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"PAN.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-77.35336076527386,8.67050466555807],[-77.47472286651133,8.524286200388218],[-77.24256649444008,7.935278225125444],[-77.43110795765699,7.638061224798734],[-77.7534138658614,7.709839789252143],[-77.88157141794525,7.223771267114785],[-78.21493608266012,7.512254950384161],[-78.42916073272607,8.052041123888927],[-78.18209570993864,8.319182440621773],[-78.4354652574657,8.38770538984079],[-78.62212053090394,8.718124497915028],[-79.12030717641375,8.996092027213024],[-79.55787736684519,8.932374986197146],[-79.76057817251005,8.5845150822244],[-80.16448116730334,8.333315944853595],[-80.38265906443962,8.298408514840432],[-80.4806892564973,8.09030752200107],[-80.00368994822716,7.547524115423372],[-80.276670701809,7.419754136581716],[-80.42115800649708,7.271571966984765],[-80.8864009264208,7.220541490096537],[-81.05954281281473,7.817921047390597],[-81.18971574575795,7.64790558515034],[-81.51951473664468,7.706610012233909],[-81.72131120474447,8.108962714058435],[-82.13144120962892,8.175392767769637],[-82.39093441438257,8.29236237226229],[-82.82008134635042,8.290863755725823],[-82.85095801464482,8.073822740099956],[-82.96578304719736,8.225027980985985],[-82.91317643912421,8.42351715741907],[-82.82977067740516,8.62629547773237],[-82.86865719270477,8.807266343618522],[-82.71918311230053,8.925708726431495],[-82.92715491405916,9.074330145702916],[-82.93289099804358,9.476812038608173],[-82.54619625520348,9.566134751824677],[-82.18712256542341,9.20744863528678],[-82.20758643261097,8.9955752628901],[-81.80856686066929,8.950616766796173],[-81.71415401887204,9.031955471223583],[-81.43928707551154,8.786234035675719],[-80.94730160187676,8.858503526235907],[-80.52190121125008,9.111072089062432],[-79.91459977895599,9.31276520429762],[-79.57330278188431,9.611610012241528],[-79.02119177927793,9.552931423374105],[-79.05845048696037,9.454565334506526],[-78.50088762074719,9.420458889193881],[-78.05592770049802,9.2477304142583],[-77.72951351592641,8.946844387238869],[-77.35336076527386,8.67050466555807]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Denmark\",\"sov_a3\":\"DN1\",\"adm0_dif\":1,\"level\":2,\"type\":\"Country\",\"tlc\":\"1\",\"admin\":\"Greenland\",\"adm0_a3\":\"GRL\",\"geou_dif\":0,\"geounit\":\"Greenland\",\"gu_a3\":\"GRL\",\"su_dif\":0,\"subunit\":\"Greenland\",\"su_a3\":\"GRL\",\"brk_diff\":0,\"name\":\"Greenland\",\"name_long\":\"Greenland\",\"brk_a3\":\"GRL\",\"brk_name\":\"Greenland\",\"brk_group\":null,\"abbrev\":\"Grlnd.\",\"postal\":\"GL\",\"formal_en\":\"Greenland\",\"formal_fr\":null,\"name_ciawf\":\"Greenland\",\"note_adm0\":\"Den.\",\"note_brk\":null,\"name_sort\":\"Greenland\",\"name_alt\":null,\"mapcolor7\":4,\"mapcolor8\":1,\"mapcolor9\":3,\"mapcolor13\":12,\"pop_est\":56225,\"pop_rank\":8,\"pop_year\":2019,\"gdp_md\":3051,\"gdp_year\":2018,\"economy\":\"2. Developed region: nonG7\",\"income_grp\":\"2. High income: nonOECD\",\"fips_10\":\"GL\",\"iso_a2\":\"GL\",\"iso_a2_eh\":\"GL\",\"iso_a3\":\"GRL\",\"iso_a3_eh\":\"GRL\",\"iso_n3\":\"304\",\"iso_n3_eh\":\"304\",\"un_a3\":\"304\",\"wb_a2\":\"GL\",\"wb_a3\":\"GRL\",\"woe_id\":23424828,\"woe_id_eh\":23424828,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"GRL\",\"adm0_diff\":null,\"adm0_tlc\":\"GRL\",\"adm0_a3_us\":\"GRL\",\"adm0_a3_fr\":\"GRL\",\"adm0_a3_ru\":\"GRL\",\"adm0_a3_es\":\"GRL\",\"adm0_a3_cn\":\"GRL\",\"adm0_a3_tw\":\"GRL\",\"adm0_a3_in\":\"GRL\",\"adm0_a3_np\":\"GRL\",\"adm0_a3_pk\":\"GRL\",\"adm0_a3_de\":\"GRL\",\"adm0_a3_gb\":\"GRL\",\"adm0_a3_br\":\"GRL\",\"adm0_a3_il\":\"GRL\",\"adm0_a3_ps\":\"GRL\",\"adm0_a3_sa\":\"GRL\",\"adm0_a3_eg\":\"GRL\",\"adm0_a3_ma\":\"GRL\",\"adm0_a3_pt\":\"GRL\",\"adm0_a3_ar\":\"GRL\",\"adm0_a3_jp\":\"GRL\",\"adm0_a3_ko\":\"GRL\",\"adm0_a3_vn\":\"GRL\",\"adm0_a3_tr\":\"GRL\",\"adm0_a3_id\":\"GRL\",\"adm0_a3_pl\":\"GRL\",\"adm0_a3_gr\":\"GRL\",\"adm0_a3_it\":\"GRL\",\"adm0_a3_nl\":\"GRL\",\"adm0_a3_se\":\"GRL\",\"adm0_a3_bd\":\"GRL\",\"adm0_a3_ua\":\"GRL\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"North America\",\"region_un\":\"Americas\",\"subregion\":\"Northern America\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":9,\"long_len\":9,\"abbrev_len\":6,\"tiny\":-99,\"homepart\":-99,\"min_zoom\":0,\"min_label\":1.7,\"max_label\":6.7,\"label_x\":-39.335251,\"label_y\":74.319387,\"ne_id\":1159320551,\"wikidataid\":\"Q223\",\"name_ar\":\"جرينلاند\",\"name_bn\":\"গ্রিনল্যান্ড\",\"name_de\":\"Grönland\",\"name_en\":\"Greenland\",\"name_es\":\"Groenlandia\",\"name_fa\":\"گرینلند\",\"name_fr\":\"Groenland\",\"name_el\":\"Γροιλανδία\",\"name_he\":\"גרינלנד\",\"name_hi\":\"ग्रीनलैण्ड\",\"name_hu\":\"Grönland\",\"name_id\":\"Greenland\",\"name_it\":\"Groenlandia\",\"name_ja\":\"グリーンランド\",\"name_ko\":\"그린란드\",\"name_nl\":\"Groenland\",\"name_pl\":\"Grenlandia\",\"name_pt\":\"Groenlândia\",\"name_ru\":\"Гренландия\",\"name_sv\":\"Grönland\",\"name_tr\":\"Grönland\",\"name_uk\":\"Гренландія\",\"name_ur\":\"گرین لینڈ\",\"name_vi\":\"Greenland\",\"name_zh\":\"格陵兰\",\"name_zht\":\"格陵蘭\",\"fclass_iso\":\"Admin-0 dependency\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 dependency\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"GRL.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-46.76379,82.62796],[-43.40644,83.22516],[-39.89753,83.18018],[-38.62214,83.54905],[-35.08787,83.64513],[-27.10046,83.51966],[-20.84539,82.72669],[-22.69182,82.34165],[-26.51753,82.29765],[-31.9,82.2],[-31.39646,82.02154],[-27.85666,82.13178],[-24.84448,81.78697],[-22.90328,82.09317],[-22.07175,81.73449],[-23.16961,81.15271],[-20.62363,81.52462],[-15.76818,81.91245],[-12.77018,81.71885],[-12.20855,81.29154],[-16.28533,80.58004],[-16.85,80.35],[-20.04624,80.17708],[-17.73035,80.12912],[-18.9,79.4],[-19.70499,78.75128],[-19.67353,77.63859],[-18.47285,76.98565],[-20.03503,76.94434],[-21.67944,76.62795],[-19.83407,76.09808],[-19.59896,75.24838],[-20.66818,75.15585],[-19.37281,74.29561],[-21.59422,74.22382],[-20.43454,73.81713],[-20.76234,73.46436],[-22.17221,73.30955],[-23.56593,73.30663],[-22.31311,72.62928],[-22.29954,72.18409],[-24.27834,72.59788],[-24.79296,72.3302],[-23.44296,72.08016],[-22.13281,71.46898],[-21.75356,70.66369],[-23.53603,70.471],[-24.30702,70.85649],[-25.54341,71.43094],[-25.20135,70.75226],[-26.36276,70.22646],[-23.72742,70.18401],[-22.34902,70.12946],[-25.02927,69.2588],[-27.74737,68.47046],[-30.67371,68.12503],[-31.77665,68.12078],[-32.81105,67.73547],[-34.20196,66.67974],[-36.35284,65.9789],[-37.04378,65.93768],[-38.37505,65.69213],[-39.81222,65.45848],[-40.66899,64.83997],[-40.68281,64.13902],[-41.1887,63.48246],[-42.81938,62.68233],[-42.41666,61.90093],[-42.86619,61.07404],[-43.3784,60.09772],[-44.7875,60.03676],[-46.26364,60.85328],[-48.26294,60.85843],[-49.23308,61.40681],[-49.90039,62.38336],[-51.63325,63.62691],[-52.14014,64.27842],[-52.27659,65.1767],[-53.66166,66.09957],[-53.30161,66.8365],[-53.96911,67.18899],[-52.9804,68.35759],[-51.47536,68.72958],[-51.08041,69.14781],[-50.87122,69.9291],[-52.013585,69.574925],[-52.55792,69.42616],[-53.45629,69.283625],[-54.68336,69.61003],[-54.75001,70.28932],[-54.35884,70.821315],[-53.431315,70.835755],[-51.39014,70.56978],[-53.10937,71.20485],[-54.00422,71.54719],[-55,71.40653696727257],[-55.83468,71.65444],[-54.71819,72.58625],[-55.32634,72.95861],[-56.12003,73.64977],[-57.32363,74.71026],[-58.59679,75.09861],[-58.58516,75.51727],[-61.26861,76.10238],[-63.39165,76.1752],[-66.06427,76.13486],[-68.50438,76.06141],[-69.66485,76.37975],[-71.40257,77.00857],[-68.77671,77.32312],[-66.76397,77.37595],[-71.04293,77.63595],[-73.297,78.04419],[-73.15938,78.43271],[-69.37345,78.91388],[-65.7107,79.39436],[-65.3239,79.75814],[-68.02298,80.11721],[-67.15129,80.51582],[-63.68925,81.21396],[-62.23444,81.3211],[-62.65116,81.77042],[-60.28249,82.03363],[-57.20744,82.19074],[-54.13442,82.19962],[-53.04328,81.88833],[-50.39061,82.43883],[-48.00386,82.06481],[-46.59984,81.985945],[-44.523,81.6607],[-46.9007,82.19979],[-46.76379,82.62796]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":4,\"sovereignt\":\"The Bahamas\",\"sov_a3\":\"BHS\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"The Bahamas\",\"adm0_a3\":\"BHS\",\"geou_dif\":0,\"geounit\":\"The Bahamas\",\"gu_a3\":\"BHS\",\"su_dif\":0,\"subunit\":\"The Bahamas\",\"su_a3\":\"BHS\",\"brk_diff\":0,\"name\":\"Bahamas\",\"name_long\":\"Bahamas\",\"brk_a3\":\"BHS\",\"brk_name\":\"Bahamas\",\"brk_group\":null,\"abbrev\":\"Bhs.\",\"postal\":\"BS\",\"formal_en\":\"Commonwealth of the Bahamas\",\"formal_fr\":null,\"name_ciawf\":\"Bahamas, The\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Bahamas, The\",\"name_alt\":null,\"mapcolor7\":1,\"mapcolor8\":1,\"mapcolor9\":2,\"mapcolor13\":5,\"pop_est\":389482,\"pop_rank\":10,\"pop_year\":2019,\"gdp_md\":13578,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"2. High income: nonOECD\",\"fips_10\":\"BF\",\"iso_a2\":\"BS\",\"iso_a2_eh\":\"BS\",\"iso_a3\":\"BHS\",\"iso_a3_eh\":\"BHS\",\"iso_n3\":\"044\",\"iso_n3_eh\":\"044\",\"un_a3\":\"044\",\"wb_a2\":\"BS\",\"wb_a3\":\"BHS\",\"woe_id\":23424758,\"woe_id_eh\":23424758,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"BHS\",\"adm0_diff\":null,\"adm0_tlc\":\"BHS\",\"adm0_a3_us\":\"BHS\",\"adm0_a3_fr\":\"BHS\",\"adm0_a3_ru\":\"BHS\",\"adm0_a3_es\":\"BHS\",\"adm0_a3_cn\":\"BHS\",\"adm0_a3_tw\":\"BHS\",\"adm0_a3_in\":\"BHS\",\"adm0_a3_np\":\"BHS\",\"adm0_a3_pk\":\"BHS\",\"adm0_a3_de\":\"BHS\",\"adm0_a3_gb\":\"BHS\",\"adm0_a3_br\":\"BHS\",\"adm0_a3_il\":\"BHS\",\"adm0_a3_ps\":\"BHS\",\"adm0_a3_sa\":\"BHS\",\"adm0_a3_eg\":\"BHS\",\"adm0_a3_ma\":\"BHS\",\"adm0_a3_pt\":\"BHS\",\"adm0_a3_ar\":\"BHS\",\"adm0_a3_jp\":\"BHS\",\"adm0_a3_ko\":\"BHS\",\"adm0_a3_vn\":\"BHS\",\"adm0_a3_tr\":\"BHS\",\"adm0_a3_id\":\"BHS\",\"adm0_a3_pl\":\"BHS\",\"adm0_a3_gr\":\"BHS\",\"adm0_a3_it\":\"BHS\",\"adm0_a3_nl\":\"BHS\",\"adm0_a3_se\":\"BHS\",\"adm0_a3_bd\":\"BHS\",\"adm0_a3_ua\":\"BHS\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"North America\",\"region_un\":\"Americas\",\"subregion\":\"Caribbean\",\"region_wb\":\"Latin America & Caribbean\",\"name_len\":7,\"long_len\":7,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":-77.146688,\"label_y\":26.401789,\"ne_id\":1159320415,\"wikidataid\":\"Q778\",\"name_ar\":\"باهاماس\",\"name_bn\":\"বাহামা দ্বীপপুঞ্জ\",\"name_de\":\"Bahamas\",\"name_en\":\"The Bahamas\",\"name_es\":\"Bahamas\",\"name_fa\":\"باهاما\",\"name_fr\":\"Bahamas\",\"name_el\":\"Μπαχάμες\",\"name_he\":\"איי בהאמה\",\"name_hi\":\"बहामास\",\"name_hu\":\"Bahama-szigetek\",\"name_id\":\"Bahama\",\"name_it\":\"Bahamas\",\"name_ja\":\"バハマ\",\"name_ko\":\"바하마\",\"name_nl\":\"Bahama's\",\"name_pl\":\"Bahamy\",\"name_pt\":\"Bahamas\",\"name_ru\":\"Багамские Острова\",\"name_sv\":\"Bahamas\",\"name_tr\":\"Bahamalar\",\"name_uk\":\"Багамські Острови\",\"name_ur\":\"بہاماس\",\"name_vi\":\"Bahamas\",\"name_zh\":\"巴哈马\",\"name_zht\":\"巴哈馬\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"BHS.geojson\"},\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[[[-78.98,26.79],[-78.51,26.87],[-77.85,26.84],[-77.82,26.58],[-78.91,26.42],[-78.98,26.79]]],[[[-77.79,27.04],[-77,26.59],[-77.17255,25.87918],[-77.35641,26.00735],[-77.34,26.53],[-77.78802,26.92516],[-77.79,27.04]]],[[[-78.19087,25.2103],[-77.89,25.17],[-77.54,24.34],[-77.53466,23.75975],[-77.78,23.71],[-78.03405,24.28615],[-78.40848,24.57564],[-78.19087,25.2103]]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":5,\"sovereignt\":\"Trinidad and Tobago\",\"sov_a3\":\"TTO\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Trinidad and Tobago\",\"adm0_a3\":\"TTO\",\"geou_dif\":0,\"geounit\":\"Trinidad and Tobago\",\"gu_a3\":\"TTO\",\"su_dif\":0,\"subunit\":\"Trinidad and Tobago\",\"su_a3\":\"TTO\",\"brk_diff\":0,\"name\":\"Trinidad and Tobago\",\"name_long\":\"Trinidad and Tobago\",\"brk_a3\":\"TTO\",\"brk_name\":\"Trinidad and Tobago\",\"brk_group\":null,\"abbrev\":\"Tr.T.\",\"postal\":\"TT\",\"formal_en\":\"Republic of Trinidad and Tobago\",\"formal_fr\":null,\"name_ciawf\":\"Trinidad and Tobago\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Trinidad and Tobago\",\"name_alt\":null,\"mapcolor7\":5,\"mapcolor8\":6,\"mapcolor9\":2,\"mapcolor13\":5,\"pop_est\":1394973,\"pop_rank\":12,\"pop_year\":2019,\"gdp_md\":24269,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"2. High income: nonOECD\",\"fips_10\":\"TD\",\"iso_a2\":\"TT\",\"iso_a2_eh\":\"TT\",\"iso_a3\":\"TTO\",\"iso_a3_eh\":\"TTO\",\"iso_n3\":\"780\",\"iso_n3_eh\":\"780\",\"un_a3\":\"780\",\"wb_a2\":\"TT\",\"wb_a3\":\"TTO\",\"woe_id\":23424958,\"woe_id_eh\":23424958,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"TTO\",\"adm0_diff\":null,\"adm0_tlc\":\"TTO\",\"adm0_a3_us\":\"TTO\",\"adm0_a3_fr\":\"TTO\",\"adm0_a3_ru\":\"TTO\",\"adm0_a3_es\":\"TTO\",\"adm0_a3_cn\":\"TTO\",\"adm0_a3_tw\":\"TTO\",\"adm0_a3_in\":\"TTO\",\"adm0_a3_np\":\"TTO\",\"adm0_a3_pk\":\"TTO\",\"adm0_a3_de\":\"TTO\",\"adm0_a3_gb\":\"TTO\",\"adm0_a3_br\":\"TTO\",\"adm0_a3_il\":\"TTO\",\"adm0_a3_ps\":\"TTO\",\"adm0_a3_sa\":\"TTO\",\"adm0_a3_eg\":\"TTO\",\"adm0_a3_ma\":\"TTO\",\"adm0_a3_pt\":\"TTO\",\"adm0_a3_ar\":\"TTO\",\"adm0_a3_jp\":\"TTO\",\"adm0_a3_ko\":\"TTO\",\"adm0_a3_vn\":\"TTO\",\"adm0_a3_tr\":\"TTO\",\"adm0_a3_id\":\"TTO\",\"adm0_a3_pl\":\"TTO\",\"adm0_a3_gr\":\"TTO\",\"adm0_a3_it\":\"TTO\",\"adm0_a3_nl\":\"TTO\",\"adm0_a3_se\":\"TTO\",\"adm0_a3_bd\":\"TTO\",\"adm0_a3_ua\":\"TTO\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"North America\",\"region_un\":\"Americas\",\"subregion\":\"Caribbean\",\"region_wb\":\"Latin America & Caribbean\",\"name_len\":19,\"long_len\":19,\"abbrev_len\":5,\"tiny\":2,\"homepart\":1,\"min_zoom\":0,\"min_label\":4.5,\"max_label\":9.5,\"label_x\":-60.9184,\"label_y\":10.9989,\"ne_id\":1159321321,\"wikidataid\":\"Q754\",\"name_ar\":\"ترينيداد وتوباغو\",\"name_bn\":\"ত্রিনিদাদ ও টোবাগো\",\"name_de\":\"Trinidad und Tobago\",\"name_en\":\"Trinidad and Tobago\",\"name_es\":\"Trinidad y Tobago\",\"name_fa\":\"ترینیداد و توباگو\",\"name_fr\":\"Trinité-et-Tobago\",\"name_el\":\"Τρινιντάντ και Τομπάγκο\",\"name_he\":\"טרינידד וטובגו\",\"name_hi\":\"त्रिनिदाद और टोबैगो\",\"name_hu\":\"Trinidad és Tobago\",\"name_id\":\"Trinidad dan Tobago\",\"name_it\":\"Trinidad e Tobago\",\"name_ja\":\"トリニダード・トバゴ\",\"name_ko\":\"트리니다드 토바고\",\"name_nl\":\"Trinidad en Tobago\",\"name_pl\":\"Trynidad i Tobago\",\"name_pt\":\"Trinidad e Tobago\",\"name_ru\":\"Тринидад и Тобаго\",\"name_sv\":\"Trinidad och Tobago\",\"name_tr\":\"Trinidad ve Tobago\",\"name_uk\":\"Тринідад і Тобаго\",\"name_ur\":\"ٹرینیڈاڈ و ٹوباگو\",\"name_vi\":\"Trinidad và Tobago\",\"name_zh\":\"特立尼达和多巴哥\",\"name_zht\":\"千里達及托巴哥\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"TTO.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-61.68,10.76],[-61.105,10.89],[-60.895,10.855],[-60.935,10.11],[-61.77,10],[-61.95,10.09],[-61.66,10.365],[-61.68,10.76]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":5,\"sovereignt\":\"United States of America\",\"sov_a3\":\"US1\",\"adm0_dif\":1,\"level\":2,\"type\":\"Dependency\",\"tlc\":\"1\",\"admin\":\"Puerto Rico\",\"adm0_a3\":\"PRI\",\"geou_dif\":0,\"geounit\":\"Puerto Rico\",\"gu_a3\":\"PRI\",\"su_dif\":0,\"subunit\":\"Puerto Rico\",\"su_a3\":\"PRI\",\"brk_diff\":0,\"name\":\"Puerto Rico\",\"name_long\":\"Puerto Rico\",\"brk_a3\":\"PRI\",\"brk_name\":\"Puerto Rico\",\"brk_group\":null,\"abbrev\":\"P.R.\",\"postal\":\"PR\",\"formal_en\":\"Commonwealth of Puerto Rico\",\"formal_fr\":null,\"name_ciawf\":\"Puerto Rico\",\"note_adm0\":\"U.S.A.\",\"note_brk\":null,\"name_sort\":\"Puerto Rico\",\"name_alt\":null,\"mapcolor7\":4,\"mapcolor8\":5,\"mapcolor9\":1,\"mapcolor13\":1,\"pop_est\":3193694,\"pop_rank\":12,\"pop_year\":2019,\"gdp_md\":104988,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"2. High income: nonOECD\",\"fips_10\":\"RQ\",\"iso_a2\":\"PR\",\"iso_a2_eh\":\"PR\",\"iso_a3\":\"PRI\",\"iso_a3_eh\":\"PRI\",\"iso_n3\":\"630\",\"iso_n3_eh\":\"630\",\"un_a3\":\"630\",\"wb_a2\":\"PR\",\"wb_a3\":\"PRI\",\"woe_id\":23424935,\"woe_id_eh\":23424935,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"PRI\",\"adm0_diff\":null,\"adm0_tlc\":\"PRI\",\"adm0_a3_us\":\"PRI\",\"adm0_a3_fr\":\"PRI\",\"adm0_a3_ru\":\"PRI\",\"adm0_a3_es\":\"PRI\",\"adm0_a3_cn\":\"PRI\",\"adm0_a3_tw\":\"PRI\",\"adm0_a3_in\":\"PRI\",\"adm0_a3_np\":\"PRI\",\"adm0_a3_pk\":\"PRI\",\"adm0_a3_de\":\"PRI\",\"adm0_a3_gb\":\"PRI\",\"adm0_a3_br\":\"PRI\",\"adm0_a3_il\":\"PRI\",\"adm0_a3_ps\":\"PRI\",\"adm0_a3_sa\":\"PRI\",\"adm0_a3_eg\":\"PRI\",\"adm0_a3_ma\":\"PRI\",\"adm0_a3_pt\":\"PRI\",\"adm0_a3_ar\":\"PRI\",\"adm0_a3_jp\":\"PRI\",\"adm0_a3_ko\":\"PRI\",\"adm0_a3_vn\":\"PRI\",\"adm0_a3_tr\":\"PRI\",\"adm0_a3_id\":\"PRI\",\"adm0_a3_pl\":\"PRI\",\"adm0_a3_gr\":\"PRI\",\"adm0_a3_it\":\"PRI\",\"adm0_a3_nl\":\"PRI\",\"adm0_a3_se\":\"PRI\",\"adm0_a3_bd\":\"PRI\",\"adm0_a3_ua\":\"PRI\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"North America\",\"region_un\":\"Americas\",\"subregion\":\"Caribbean\",\"region_wb\":\"Latin America & Caribbean\",\"name_len\":11,\"long_len\":11,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":-99,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":-66.481065,\"label_y\":18.234668,\"ne_id\":1159321363,\"wikidataid\":\"Q1183\",\"name_ar\":\"بورتوريكو\",\"name_bn\":\"পুয়ের্তো রিকো\",\"name_de\":\"Puerto Rico\",\"name_en\":\"Puerto Rico\",\"name_es\":\"Puerto Rico\",\"name_fa\":\"پورتوریکو\",\"name_fr\":\"Porto Rico\",\"name_el\":\"Πουέρτο Ρίκο\",\"name_he\":\"פוארטו ריקו\",\"name_hi\":\"पोर्टो रीको\",\"name_hu\":\"Puerto Rico\",\"name_id\":\"Puerto Riko\",\"name_it\":\"Porto Rico\",\"name_ja\":\"プエルトリコ\",\"name_ko\":\"푸에르토리코\",\"name_nl\":\"Puerto Rico\",\"name_pl\":\"Portoryko\",\"name_pt\":\"Porto Rico\",\"name_ru\":\"Пуэрто-Рико\",\"name_sv\":\"Puerto Rico\",\"name_tr\":\"Porto Riko\",\"name_uk\":\"Пуерто-Рико\",\"name_ur\":\"پورٹو ریکو\",\"name_vi\":\"Puerto Rico\",\"name_zh\":\"波多黎各\",\"name_zht\":\"波多黎各\",\"fclass_iso\":\"Admin-0 dependency\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 dependency\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"PRI.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-66.28243445500821,18.514761664295364],[-65.7713028632093,18.426679185453878],[-65.59100379094295,18.228034979723915],[-65.84716386581377,17.97590566657186],[-66.59993445500949,17.981822618069273],[-67.18416236028527,17.946553453030077],[-67.24242753769435,18.374460150622937],[-67.10067908391774,18.52060110114435],[-66.28243445500821,18.514761664295364]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":4,\"sovereignt\":\"Jamaica\",\"sov_a3\":\"JAM\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Jamaica\",\"adm0_a3\":\"JAM\",\"geou_dif\":0,\"geounit\":\"Jamaica\",\"gu_a3\":\"JAM\",\"su_dif\":0,\"subunit\":\"Jamaica\",\"su_a3\":\"JAM\",\"brk_diff\":0,\"name\":\"Jamaica\",\"name_long\":\"Jamaica\",\"brk_a3\":\"JAM\",\"brk_name\":\"Jamaica\",\"brk_group\":null,\"abbrev\":\"Jam.\",\"postal\":\"J\",\"formal_en\":\"Jamaica\",\"formal_fr\":null,\"name_ciawf\":\"Jamaica\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Jamaica\",\"name_alt\":null,\"mapcolor7\":1,\"mapcolor8\":2,\"mapcolor9\":4,\"mapcolor13\":10,\"pop_est\":2948279,\"pop_rank\":12,\"pop_year\":2019,\"gdp_md\":16458,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"JM\",\"iso_a2\":\"JM\",\"iso_a2_eh\":\"JM\",\"iso_a3\":\"JAM\",\"iso_a3_eh\":\"JAM\",\"iso_n3\":\"388\",\"iso_n3_eh\":\"388\",\"un_a3\":\"388\",\"wb_a2\":\"JM\",\"wb_a3\":\"JAM\",\"woe_id\":23424858,\"woe_id_eh\":23424858,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"JAM\",\"adm0_diff\":null,\"adm0_tlc\":\"JAM\",\"adm0_a3_us\":\"JAM\",\"adm0_a3_fr\":\"JAM\",\"adm0_a3_ru\":\"JAM\",\"adm0_a3_es\":\"JAM\",\"adm0_a3_cn\":\"JAM\",\"adm0_a3_tw\":\"JAM\",\"adm0_a3_in\":\"JAM\",\"adm0_a3_np\":\"JAM\",\"adm0_a3_pk\":\"JAM\",\"adm0_a3_de\":\"JAM\",\"adm0_a3_gb\":\"JAM\",\"adm0_a3_br\":\"JAM\",\"adm0_a3_il\":\"JAM\",\"adm0_a3_ps\":\"JAM\",\"adm0_a3_sa\":\"JAM\",\"adm0_a3_eg\":\"JAM\",\"adm0_a3_ma\":\"JAM\",\"adm0_a3_pt\":\"JAM\",\"adm0_a3_ar\":\"JAM\",\"adm0_a3_jp\":\"JAM\",\"adm0_a3_ko\":\"JAM\",\"adm0_a3_vn\":\"JAM\",\"adm0_a3_tr\":\"JAM\",\"adm0_a3_id\":\"JAM\",\"adm0_a3_pl\":\"JAM\",\"adm0_a3_gr\":\"JAM\",\"adm0_a3_it\":\"JAM\",\"adm0_a3_nl\":\"JAM\",\"adm0_a3_se\":\"JAM\",\"adm0_a3_bd\":\"JAM\",\"adm0_a3_ua\":\"JAM\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"North America\",\"region_un\":\"Americas\",\"subregion\":\"Caribbean\",\"region_wb\":\"Latin America & Caribbean\",\"name_len\":7,\"long_len\":7,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":-77.318767,\"label_y\":18.137124,\"ne_id\":1159320931,\"wikidataid\":\"Q766\",\"name_ar\":\"جامايكا\",\"name_bn\":\"জ্যামাইকা\",\"name_de\":\"Jamaika\",\"name_en\":\"Jamaica\",\"name_es\":\"Jamaica\",\"name_fa\":\"جامائیکا\",\"name_fr\":\"Jamaïque\",\"name_el\":\"Τζαμάικα\",\"name_he\":\"ג'מייקה\",\"name_hi\":\"जमैका\",\"name_hu\":\"Jamaica\",\"name_id\":\"Jamaika\",\"name_it\":\"Giamaica\",\"name_ja\":\"ジャマイカ\",\"name_ko\":\"자메이카\",\"name_nl\":\"Jamaica\",\"name_pl\":\"Jamajka\",\"name_pt\":\"Jamaica\",\"name_ru\":\"Ямайка\",\"name_sv\":\"Jamaica\",\"name_tr\":\"Jamaika\",\"name_uk\":\"Ямайка\",\"name_ur\":\"جمیکا\",\"name_vi\":\"Jamaica\",\"name_zh\":\"牙买加\",\"name_zht\":\"牙買加\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"JAM.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-77.56960079619921,18.490525417550487],[-76.89661861846213,18.400866807524082],[-76.36535905628554,18.160700588447597],[-76.19965857614164,17.886867173732966],[-76.9025614081757,17.868237819891746],[-77.20634131540348,17.70111623785982],[-77.76602291534061,17.86159739834224],[-78.33771928578561,18.225967922432233],[-78.21772661000388,18.454532782459196],[-77.79736467152563,18.524218451404778],[-77.56960079619921,18.490525417550487]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":2,\"sovereignt\":\"Indonesia\",\"sov_a3\":\"IDN\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Indonesia\",\"adm0_a3\":\"IDN\",\"geou_dif\":0,\"geounit\":\"Indonesia\",\"gu_a3\":\"IDN\",\"su_dif\":0,\"subunit\":\"Indonesia\",\"su_a3\":\"IDN\",\"brk_diff\":0,\"name\":\"Indonesia\",\"name_long\":\"Indonesia\",\"brk_a3\":\"IDN\",\"brk_name\":\"Indonesia\",\"brk_group\":null,\"abbrev\":\"Indo.\",\"postal\":\"INDO\",\"formal_en\":\"Republic of Indonesia\",\"formal_fr\":null,\"name_ciawf\":\"Indonesia\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Indonesia\",\"name_alt\":null,\"mapcolor7\":6,\"mapcolor8\":6,\"mapcolor9\":6,\"mapcolor13\":11,\"pop_est\":270625568,\"pop_rank\":17,\"pop_year\":2019,\"gdp_md\":1119190,\"gdp_year\":2019,\"economy\":\"4. Emerging region: MIKT\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"ID\",\"iso_a2\":\"ID\",\"iso_a2_eh\":\"ID\",\"iso_a3\":\"IDN\",\"iso_a3_eh\":\"IDN\",\"iso_n3\":\"360\",\"iso_n3_eh\":\"360\",\"un_a3\":\"360\",\"wb_a2\":\"ID\",\"wb_a3\":\"IDN\",\"woe_id\":23424846,\"woe_id_eh\":23424846,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"IDN\",\"adm0_diff\":null,\"adm0_tlc\":\"IDN\",\"adm0_a3_us\":\"IDN\",\"adm0_a3_fr\":\"IDN\",\"adm0_a3_ru\":\"IDN\",\"adm0_a3_es\":\"IDN\",\"adm0_a3_cn\":\"IDN\",\"adm0_a3_tw\":\"IDN\",\"adm0_a3_in\":\"IDN\",\"adm0_a3_np\":\"IDN\",\"adm0_a3_pk\":\"IDN\",\"adm0_a3_de\":\"IDN\",\"adm0_a3_gb\":\"IDN\",\"adm0_a3_br\":\"IDN\",\"adm0_a3_il\":\"IDN\",\"adm0_a3_ps\":\"IDN\",\"adm0_a3_sa\":\"IDN\",\"adm0_a3_eg\":\"IDN\",\"adm0_a3_ma\":\"IDN\",\"adm0_a3_pt\":\"IDN\",\"adm0_a3_ar\":\"IDN\",\"adm0_a3_jp\":\"IDN\",\"adm0_a3_ko\":\"IDN\",\"adm0_a3_vn\":\"IDN\",\"adm0_a3_tr\":\"IDN\",\"adm0_a3_id\":\"IDN\",\"adm0_a3_pl\":\"IDN\",\"adm0_a3_gr\":\"IDN\",\"adm0_a3_it\":\"IDN\",\"adm0_a3_nl\":\"IDN\",\"adm0_a3_se\":\"IDN\",\"adm0_a3_bd\":\"IDN\",\"adm0_a3_ua\":\"IDN\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"South-Eastern Asia\",\"region_wb\":\"East Asia & Pacific\",\"name_len\":9,\"long_len\":9,\"abbrev_len\":5,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":1.7,\"max_label\":6.7,\"label_x\":101.892949,\"label_y\":-0.954404,\"ne_id\":1159320845,\"wikidataid\":\"Q252\",\"name_ar\":\"إندونيسيا\",\"name_bn\":\"ইন্দোনেশিয়া\",\"name_de\":\"Indonesien\",\"name_en\":\"Indonesia\",\"name_es\":\"Indonesia\",\"name_fa\":\"اندونزی\",\"name_fr\":\"Indonésie\",\"name_el\":\"Ινδονησία\",\"name_he\":\"אינדונזיה\",\"name_hi\":\"इंडोनेशिया\",\"name_hu\":\"Indonézia\",\"name_id\":\"Indonesia\",\"name_it\":\"Indonesia\",\"name_ja\":\"インドネシア\",\"name_ko\":\"인도네시아\",\"name_nl\":\"Indonesië\",\"name_pl\":\"Indonezja\",\"name_pt\":\"Indonésia\",\"name_ru\":\"Индонезия\",\"name_sv\":\"Indonesien\",\"name_tr\":\"Endonezya\",\"name_uk\":\"Індонезія\",\"name_ur\":\"انڈونیشیا\",\"name_vi\":\"Indonesia\",\"name_zh\":\"印度尼西亚\",\"name_zht\":\"印度尼西亞\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"IDN.geojson\"},\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[[[141.00021040259185,-2.60015105551566],[141.01705691951895,-5.859021905138071],[141.03385176001382,-9.117892754760483],[140.14341515519254,-8.29716765710095],[139.1277665549281,-8.096042982620979],[138.881476678625,-8.380935153846075],[137.61447391169287,-8.41168263105974],[138.03909915583517,-7.597882175327321],[138.66862145401478,-7.320224704623087],[138.4079138531023,-6.232849216337485],[137.92783979711078,-5.393365573756],[135.98925011611345,-4.54654387778907],[135.16459760959975,-4.462931410340822],[133.66288048719787,-3.538853448097541],[133.36770470594672,-4.024818617370315],[132.98395551974727,-4.112978610860253],[132.75694095268904,-3.746282647317123],[132.75378869031925,-3.31178720460705],[131.98980431531618,-2.820551039240499],[133.0668445171434,-2.460417982598436],[133.78003095920354,-2.479848321140182],[133.69621178602614,-2.214541517753702],[132.23237348849426,-2.212526136894319],[131.83622195854474,-1.617161960459647],[130.94283979708285,-1.432522067880783],[130.5195581401801,-0.937720228686089],[131.8675378765136,-0.695461114101789],[132.3801164084167,-0.369537855636949],[133.98554813042836,-0.780210463060456],[134.14336795464772,-1.151867364103623],[134.42262739475302,-2.769184665542376],[135.45760298069467,-3.367752780779149],[136.29331424371884,-2.307042331556154],[137.44073774632756,-1.703513278819365],[138.3297274110447,-1.702686455902693],[139.18492068904288,-2.051295668143673],[139.92668419816044,-2.409051608900313],[141.00021040259185,-2.60015105551566]]],[[[124.96868248911623,-8.892790215697083],[125.07001997284061,-9.089987481322872],[125.08852013560109,-9.393173109579294],[124.43595014861933,-10.140000909061449],[123.57998172413669,-10.359987481327956],[123.459989048355,-10.239994805546223],[123.55000939340744,-9.900015557497987],[123.9800089865081,-9.290026950724716],[124.96868248911623,-8.892790215697083]]],[[[134.21013390516885,-6.89523772545472],[134.11277550673094,-6.142467136259],[134.29033572808584,-5.783057549669017],[134.49962527886788,-5.445042006047871],[134.72700158095216,-5.737582289252167],[134.7246244650667,-6.214400730009288],[134.21013390516885,-6.89523772545472]]],[[[117.88203494677018,4.137551377779516],[117.3132324565335,3.234428208830593],[118.0483297058854,2.287690131027333],[117.87562706916597,1.827640692548925],[118.99674726773816,0.902219143066063],[117.8118583517178,0.784241848143708],[117.47833865770603,0.102474676917026],[117.52164350796664,-0.803723239753268],[116.56004845587947,-1.48766082113621],[116.5337968282752,-2.483517347832901],[116.14808393764866,-4.012726332214022],[116.00085778204911,-3.657037448749058],[114.86480309454456,-4.106984144714396],[114.46865156459506,-3.495703627133828],[113.75567182826407,-3.43916961020652],[113.25699425664752,-3.118775729996905],[112.06812625534067,-3.478392022316051],[111.70329064336005,-2.994442233902654],[111.04824018762824,-3.049425957861211],[110.223846063276,-2.934032484553455],[110.07093550012434,-1.592874037282463],[109.571947869914,-1.314906507984475],[109.0918738139225,-0.459506524257094],[108.9526575053282,0.415375474444318],[109.06913618371408,1.341933905437614],[109.66326012577375,2.006466986494956],[109.83022667850881,1.338135687664163],[110.51406090702716,0.773131415200965],[111.15913781132662,0.976478176269481],[111.79754845586041,0.904441229654608],[112.38025190638359,1.410120957846743],[112.85980919805218,1.497790025229904],[113.8058496440195,1.217548732911069],[114.62135542201753,1.430688177898901],[115.13403730678522,2.821481838386234],[115.51907840379198,3.169238389494396],[115.8655172058767,4.3065591495901],[117.01521447150628,4.306094061699469],[117.88203494677018,4.137551377779516]]],[[[129.37099775606094,-2.802154229344595],[130.47134402885177,-3.093764336767634],[130.83483605359282,-3.858472181822776],[129.99054650280817,-3.446300957862796],[129.15524865124235,-3.362636813982248],[128.59068362845363,-3.428679294451264],[127.89889122936235,-3.393435967628207],[128.13587934785284,-2.843650404474971],[129.37099775606094,-2.802154229344595]]],[[[126.87492272349886,-3.790982761249587],[126.18380211802736,-3.607376397316564],[125.98903364471926,-3.177273451351305],[127.00065148326497,-3.129317722184446],[127.24921512258891,-3.45906503663889],[126.87492272349886,-3.790982761249587]]],[[[127.93237755748748,2.174596258956569],[128.00415612194087,1.628531398928345],[128.5945593608755,1.540810655112878],[128.6882487326207,1.132385972494063],[128.63595218314134,0.258485826006194],[128.1201697124361,0.356412665199286],[127.96803429576886,-0.252077325037519],[128.3799988139997,-0.7800037573313],[128.1000159038423,-0.899996433113031],[127.69647464407507,-0.266598402511534],[127.39949018769369,1.011721503092545],[127.60051150930906,1.810690822757195],[127.93237755748748,2.174596258956569]]],[[[122.9275667664518,0.875192368977409],[124.07752241424288,0.917101955566125],[125.0659892111218,1.64325918213153],[125.2405005229715,1.419836127117605],[124.4370353536974,0.427881171058957],[123.6855049988767,0.235593166500891],[122.72308312387287,0.431136786293337],[121.05672488818911,0.381217352699394],[120.18308312386272,0.237246812334234],[120.04086958219548,-0.519657891444837],[120.93590538949073,-1.408905938323393],[121.4758207540762,-0.95596200928513],[123.34056481332846,-0.615672702643138],[123.25839928598441,-1.076213067228309],[122.82271528533161,-0.930950616055853],[122.38852990121529,-1.516858005381117],[121.50827355355551,-1.904482924002458],[122.4545723816843,-3.186058444840924],[122.2718961935325,-3.529500013852712],[123.17096276254655,-4.683693129091701],[123.1623327983538,-5.340603936385996],[122.62851525277875,-5.634591159694466],[122.23639448454801,-5.282933037948268],[122.71956912647701,-4.464171644715826],[121.73823367725436,-4.851331475446543],[121.48946333220127,-4.574552504091265],[121.61917117725386,-4.188477878438682],[120.89818159391766,-3.602105401222794],[120.97238895068878,-2.627642917494939],[120.30545291552986,-2.931603692235733],[120.39004723519167,-4.097579034037274],[120.43071658740537,-5.528241062037793],[119.79654341031949,-5.673400160345665],[119.36690555224489,-5.37987802492782],[119.65360639860017,-4.459417412944973],[119.49883548388601,-3.494411716326532],[119.07834435432704,-3.487021986508793],[118.76776899625287,-2.801999200047718],[119.18097374885869,-2.147103773612805],[119.3233939962551,-1.353147067880464],[119.82599897672587,0.154254462073482],[120.0357019389663,0.566477362465761],[120.88577925016762,1.30922272379685],[121.66681684782696,1.013943589681091],[122.9275667664518,0.875192368977409]]],[[[120.29501427620689,-10.258649997603591],[118.96780846565471,-9.557969252158074],[119.90030968636157,-9.361340427287502],[120.42575564990534,-9.665921319215798],[120.77550174365675,-9.96967538822743],[120.71560875863045,-10.239581394087885],[120.29501427620689,-10.258649997603591]]],[[[121.34166873584651,-8.536739597206072],[122.00736453663043,-8.460620212440148],[122.90353722543607,-8.094234307490765],[122.75698286345632,-8.649807631060696],[121.2544905945701,-8.933666273639957],[119.92439090380958,-8.81041798262384],[119.92092858284605,-8.444858900591122],[120.71509199430757,-8.236964613480914],[121.34166873584651,-8.536739597206072]]],[[[118.26061648974044,-8.362383314653293],[118.87845991422208,-8.280682875199844],[119.12650678922307,-8.705824883665088],[117.97040164598928,-8.906639499551304],[117.27773074754901,-9.040894870645594],[116.74014082241665,-9.032936700072646],[117.0837374207253,-8.45715789147659],[117.6320243673421,-8.449303073768228],[117.90001834520776,-8.09568124759494],[118.26061648974044,-8.362383314653293]]],[[[108.48684614464926,-6.42198495852574],[108.62347863162896,-6.777673841990705],[110.53922732955328,-6.877357679881726],[110.75957563684585,-6.465186455921747],[112.6148112325564,-6.946035658397626],[112.97876834518806,-7.594213148634594],[114.47893517462114,-7.776527601760328],[115.70552697150106,-8.370806573116873],[114.56451134649649,-8.751816908404855],[113.46473351446085,-8.348947442257405],[112.55967247930097,-8.376180922075221],[111.52206139531245,-8.302128594600973],[110.58614953007432,-8.122604668819001],[109.42766727095511,-7.740664157749762],[108.69365522668133,-7.641600437046243],[108.27776329959633,-7.766657403192576],[106.45410200401612,-7.354899590690934],[106.28062422081231,-6.924899997590252],[105.36548628135552,-6.851416110871206],[106.05164594932702,-5.895918877794472],[107.2650085795402,-5.954985039904081],[108.07209109907467,-6.345762220895224],[108.48684614464926,-6.42198495852574]]],[[[104.36999148968489,-1.084843031421059],[104.53949018760221,-1.782371514496766],[104.88789269411402,-2.340425306816705],[105.62211144411697,-2.428843682468099],[106.10859337771265,-3.061776625178965],[105.85744591677414,-4.305524997579774],[105.8176550639094,-5.85235564537242],[104.71038414919144,-5.873284600450632],[103.86821333213078,-5.037314955264996],[102.5842606954069,-4.220258884298183],[102.156173130301,-3.614146009946801],[101.39911339722507,-2.799777113459164],[100.90250288290015,-2.050262139497832],[100.14198082886065,-0.650347588710986],[99.26373986206028,0.183141587724634],[98.97001102091326,1.042882391764536],[98.60135135294306,1.823506577965574],[97.69959760944985,2.45318390544206],[97.17694217324984,3.308790594898596],[96.42401655475726,3.868859768077925],[95.3808760925135,4.970782172053688],[95.29302615761729,5.479820868344788],[95.93686282754174,5.439513251157123],[97.4848820332771,5.246320909033955],[98.36916914265566,4.268370266126396],[99.1425586283358,3.590349636240873],[99.69399783732241,3.174328518075143],[100.64143354696162,2.099381211755741],[101.65801232300734,2.083697414555161],[102.49827111207323,1.398700466310231],[103.07684044801303,0.561361395668868],[103.83839603069836,0.104541734208695],[103.4376452982749,-0.711945896002902],[104.01078860882404,-1.059211521004286],[104.36999148968489,-1.084843031421059]]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Malaysia\",\"sov_a3\":\"MYS\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Malaysia\",\"adm0_a3\":\"MYS\",\"geou_dif\":0,\"geounit\":\"Malaysia\",\"gu_a3\":\"MYS\",\"su_dif\":0,\"subunit\":\"Malaysia\",\"su_a3\":\"MYS\",\"brk_diff\":0,\"name\":\"Malaysia\",\"name_long\":\"Malaysia\",\"brk_a3\":\"MYS\",\"brk_name\":\"Malaysia\",\"brk_group\":null,\"abbrev\":\"Malay.\",\"postal\":\"MY\",\"formal_en\":\"Malaysia\",\"formal_fr\":null,\"name_ciawf\":\"Malaysia\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Malaysia\",\"name_alt\":null,\"mapcolor7\":2,\"mapcolor8\":4,\"mapcolor9\":3,\"mapcolor13\":6,\"pop_est\":31949777,\"pop_rank\":15,\"pop_year\":2019,\"gdp_md\":364681,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"MY\",\"iso_a2\":\"MY\",\"iso_a2_eh\":\"MY\",\"iso_a3\":\"MYS\",\"iso_a3_eh\":\"MYS\",\"iso_n3\":\"458\",\"iso_n3_eh\":\"458\",\"un_a3\":\"458\",\"wb_a2\":\"MY\",\"wb_a3\":\"MYS\",\"woe_id\":23424901,\"woe_id_eh\":23424901,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"MYS\",\"adm0_diff\":null,\"adm0_tlc\":\"MYS\",\"adm0_a3_us\":\"MYS\",\"adm0_a3_fr\":\"MYS\",\"adm0_a3_ru\":\"MYS\",\"adm0_a3_es\":\"MYS\",\"adm0_a3_cn\":\"MYS\",\"adm0_a3_tw\":\"MYS\",\"adm0_a3_in\":\"MYS\",\"adm0_a3_np\":\"MYS\",\"adm0_a3_pk\":\"MYS\",\"adm0_a3_de\":\"MYS\",\"adm0_a3_gb\":\"MYS\",\"adm0_a3_br\":\"MYS\",\"adm0_a3_il\":\"MYS\",\"adm0_a3_ps\":\"MYS\",\"adm0_a3_sa\":\"MYS\",\"adm0_a3_eg\":\"MYS\",\"adm0_a3_ma\":\"MYS\",\"adm0_a3_pt\":\"MYS\",\"adm0_a3_ar\":\"MYS\",\"adm0_a3_jp\":\"MYS\",\"adm0_a3_ko\":\"MYS\",\"adm0_a3_vn\":\"MYS\",\"adm0_a3_tr\":\"MYS\",\"adm0_a3_id\":\"MYS\",\"adm0_a3_pl\":\"MYS\",\"adm0_a3_gr\":\"MYS\",\"adm0_a3_it\":\"MYS\",\"adm0_a3_nl\":\"MYS\",\"adm0_a3_se\":\"MYS\",\"adm0_a3_bd\":\"MYS\",\"adm0_a3_ua\":\"MYS\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"South-Eastern Asia\",\"region_wb\":\"East Asia & Pacific\",\"name_len\":8,\"long_len\":8,\"abbrev_len\":6,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":113.83708,\"label_y\":2.528667,\"ne_id\":1159321083,\"wikidataid\":\"Q833\",\"name_ar\":\"ماليزيا\",\"name_bn\":\"মালয়েশিয়া\",\"name_de\":\"Malaysia\",\"name_en\":\"Malaysia\",\"name_es\":\"Malasia\",\"name_fa\":\"مالزی\",\"name_fr\":\"Malaisie\",\"name_el\":\"Μαλαισία\",\"name_he\":\"מלזיה\",\"name_hi\":\"मलेशिया\",\"name_hu\":\"Malajzia\",\"name_id\":\"Malaysia\",\"name_it\":\"Malaysia\",\"name_ja\":\"マレーシア\",\"name_ko\":\"말레이시아\",\"name_nl\":\"Maleisië\",\"name_pl\":\"Malezja\",\"name_pt\":\"Malásia\",\"name_ru\":\"Малайзия\",\"name_sv\":\"Malaysia\",\"name_tr\":\"Malezya\",\"name_uk\":\"Малайзія\",\"name_ur\":\"ملائیشیا\",\"name_vi\":\"Malaysia\",\"name_zh\":\"马来西亚\",\"name_zht\":\"馬來西亞\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"MYS.geojson\"},\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[[[100.0857568705271,6.464489447450291],[100.25959638875696,6.642824815289543],[101.07551557821336,6.204867051615921],[101.15421878459387,5.691384182147715],[101.81428185425798,5.810808417174242],[102.14118696493638,6.221636053894628],[102.37114708863521,6.128205064310919],[102.96170535686673,5.524495144061106],[103.38121463421217,4.855001125503748],[103.43857547405612,4.181605536308339],[103.33212202353486,3.726697902842986],[103.42942874554049,3.382868760589005],[103.50244754436889,2.791018581550176],[103.8546741068703,2.515454006353764],[104.24793175661145,1.631141058759084],[104.22881147666348,1.293048000489492],[103.51970747275439,1.226333726400682],[102.57361535035477,1.967115383304687],[101.39063846232919,2.760813706875581],[101.27353966675582,3.270291652841152],[100.69543541870664,3.93913971599487],[100.55740766805502,4.767280381688295],[100.19670617065775,5.312492580583708],[100.30626020711652,6.040561835143905],[100.0857568705271,6.464489447450291]]],[[[117.88203494677018,4.137551377779516],[117.01521447150628,4.306094061699469],[115.8655172058767,4.3065591495901],[115.51907840379198,3.169238389494396],[115.13403730678522,2.821481838386234],[114.62135542201753,1.430688177898901],[113.8058496440195,1.217548732911069],[112.85980919805218,1.497790025229904],[112.38025190638359,1.410120957846743],[111.79754845586041,0.904441229654608],[111.15913781132662,0.976478176269481],[110.51406090702716,0.773131415200965],[109.83022667850881,1.338135687664163],[109.66326012577375,2.006466986494956],[110.3961352885371,1.663774725751395],[111.16885298059748,1.850636704918813],[111.37008100794205,2.697303371588859],[111.7969283386729,2.885896511238059],[112.99561486211522,3.102394924324855],[113.71293541875868,3.893509426281156],[114.20401655482837,4.525873928236805],[114.65959598191353,4.007636826997754],[114.8695573263154,4.348313706881925],[115.34746097215066,4.316636053887009],[115.40570031134361,4.955227565933839],[115.45071048386981,5.447729803891534],[116.22074100145102,6.143191229675566],[116.72510298061971,6.924771429873999],[117.12962609260047,6.92805288332454],[117.64339318244627,6.422166449403249],[117.68907514859231,5.987490139180154],[118.34769127815224,5.708695786965492],[119.18190392463997,5.407835598162207],[119.11069380094176,5.016128241389808],[118.43972700406408,4.966518866389606],[118.6183207540648,4.478202419447555],[117.88203494677018,4.137551377779516]]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":5,\"sovereignt\":\"Cyprus\",\"sov_a3\":\"CYP\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Cyprus\",\"adm0_a3\":\"CYP\",\"geou_dif\":0,\"geounit\":\"Cyprus\",\"gu_a3\":\"CYP\",\"su_dif\":0,\"subunit\":\"Cyprus\",\"su_a3\":\"CYP\",\"brk_diff\":0,\"name\":\"Cyprus\",\"name_long\":\"Cyprus\",\"brk_a3\":\"CYP\",\"brk_name\":\"Cyprus\",\"brk_group\":null,\"abbrev\":\"Cyp.\",\"postal\":\"CY\",\"formal_en\":\"Republic of Cyprus\",\"formal_fr\":null,\"name_ciawf\":\"Cyprus\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Cyprus\",\"name_alt\":null,\"mapcolor7\":1,\"mapcolor8\":2,\"mapcolor9\":3,\"mapcolor13\":7,\"pop_est\":1198575,\"pop_rank\":12,\"pop_year\":2019,\"gdp_md\":24948,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"2. High income: nonOECD\",\"fips_10\":\"CY\",\"iso_a2\":\"CY\",\"iso_a2_eh\":\"CY\",\"iso_a3\":\"CYP\",\"iso_a3_eh\":\"CYP\",\"iso_n3\":\"196\",\"iso_n3_eh\":\"196\",\"un_a3\":\"196\",\"wb_a2\":\"CY\",\"wb_a3\":\"CYP\",\"woe_id\":-90,\"woe_id_eh\":23424994,\"woe_note\":\"WOE lists as subunit of united Cyprus\",\"adm0_iso\":\"CYP\",\"adm0_diff\":null,\"adm0_tlc\":\"CYP\",\"adm0_a3_us\":\"CYP\",\"adm0_a3_fr\":\"CYP\",\"adm0_a3_ru\":\"CYP\",\"adm0_a3_es\":\"CYP\",\"adm0_a3_cn\":\"CYP\",\"adm0_a3_tw\":\"CYP\",\"adm0_a3_in\":\"CYP\",\"adm0_a3_np\":\"CYP\",\"adm0_a3_pk\":\"CYP\",\"adm0_a3_de\":\"CYP\",\"adm0_a3_gb\":\"CYP\",\"adm0_a3_br\":\"CYP\",\"adm0_a3_il\":\"CYP\",\"adm0_a3_ps\":\"CYP\",\"adm0_a3_sa\":\"CYP\",\"adm0_a3_eg\":\"CYP\",\"adm0_a3_ma\":\"CYP\",\"adm0_a3_pt\":\"CYP\",\"adm0_a3_ar\":\"CYP\",\"adm0_a3_jp\":\"CYP\",\"adm0_a3_ko\":\"CYP\",\"adm0_a3_vn\":\"CYP\",\"adm0_a3_tr\":\"CYP\",\"adm0_a3_id\":\"CYP\",\"adm0_a3_pl\":\"CYP\",\"adm0_a3_gr\":\"CYP\",\"adm0_a3_it\":\"CYP\",\"adm0_a3_nl\":\"CYP\",\"adm0_a3_se\":\"CYP\",\"adm0_a3_bd\":\"CYP\",\"adm0_a3_ua\":\"CYP\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"Western Asia\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":6,\"long_len\":6,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4.5,\"max_label\":9.5,\"label_x\":33.084182,\"label_y\":34.913329,\"ne_id\":1159320533,\"wikidataid\":\"Q229\",\"name_ar\":\"قبرص\",\"name_bn\":\"সাইপ্রাস\",\"name_de\":\"Republik Zypern\",\"name_en\":\"Cyprus\",\"name_es\":\"Chipre\",\"name_fa\":\"قبرس\",\"name_fr\":\"Chypre\",\"name_el\":\"Κύπρος\",\"name_he\":\"קפריסין\",\"name_hi\":\"साइप्रस\",\"name_hu\":\"Ciprus\",\"name_id\":\"Siprus\",\"name_it\":\"Cipro\",\"name_ja\":\"キプロス\",\"name_ko\":\"키프로스\",\"name_nl\":\"Cyprus\",\"name_pl\":\"Cypr\",\"name_pt\":\"Chipre\",\"name_ru\":\"Кипр\",\"name_sv\":\"Cypern\",\"name_tr\":\"Kıbrıs Cumhuriyeti\",\"name_uk\":\"Кіпр\",\"name_ur\":\"قبرص\",\"name_vi\":\"Cộng hòa Síp\",\"name_zh\":\"塞浦路斯\",\"name_zht\":\"賽普勒斯\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"CYP.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[32.73178022637745,35.14002594658844],[32.919572381326134,35.08783274997364],[33.19097700372305,35.17312470147138],[33.3838334490363,35.16271190036457],[33.45592207208347,35.10142365166641],[33.47581749851585,35.000344550103506],[33.5256852556775,35.03868846286407],[33.675391880027064,35.01786286065045],[33.86643965021011,35.09359467217419],[33.97361657078346,35.058506374648005],[34.00488081232004,34.97809784600186],[32.97982710137845,34.57186941175544],[32.49029625827754,34.701654771456475],[32.25666710788596,35.10323232679663],[32.73178022637745,35.14002594658844]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":2,\"sovereignt\":\"India\",\"sov_a3\":\"IND\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"India\",\"adm0_a3\":\"IND\",\"geou_dif\":0,\"geounit\":\"India\",\"gu_a3\":\"IND\",\"su_dif\":0,\"subunit\":\"India\",\"su_a3\":\"IND\",\"brk_diff\":0,\"name\":\"India\",\"name_long\":\"India\",\"brk_a3\":\"IND\",\"brk_name\":\"India\",\"brk_group\":null,\"abbrev\":\"India\",\"postal\":\"IND\",\"formal_en\":\"Republic of India\",\"formal_fr\":null,\"name_ciawf\":\"India\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"India\",\"name_alt\":null,\"mapcolor7\":1,\"mapcolor8\":3,\"mapcolor9\":2,\"mapcolor13\":2,\"pop_est\":1366417754,\"pop_rank\":18,\"pop_year\":2019,\"gdp_md\":2868929,\"gdp_year\":2019,\"economy\":\"3. Emerging region: BRIC\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"IN\",\"iso_a2\":\"IN\",\"iso_a2_eh\":\"IN\",\"iso_a3\":\"IND\",\"iso_a3_eh\":\"IND\",\"iso_n3\":\"356\",\"iso_n3_eh\":\"356\",\"un_a3\":\"356\",\"wb_a2\":\"IN\",\"wb_a3\":\"IND\",\"woe_id\":23424848,\"woe_id_eh\":23424848,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"IND\",\"adm0_diff\":null,\"adm0_tlc\":\"IND\",\"adm0_a3_us\":\"IND\",\"adm0_a3_fr\":\"IND\",\"adm0_a3_ru\":\"IND\",\"adm0_a3_es\":\"IND\",\"adm0_a3_cn\":\"IND\",\"adm0_a3_tw\":\"IND\",\"adm0_a3_in\":\"IND\",\"adm0_a3_np\":\"IND\",\"adm0_a3_pk\":\"IND\",\"adm0_a3_de\":\"IND\",\"adm0_a3_gb\":\"IND\",\"adm0_a3_br\":\"IND\",\"adm0_a3_il\":\"IND\",\"adm0_a3_ps\":\"IND\",\"adm0_a3_sa\":\"IND\",\"adm0_a3_eg\":\"IND\",\"adm0_a3_ma\":\"IND\",\"adm0_a3_pt\":\"IND\",\"adm0_a3_ar\":\"IND\",\"adm0_a3_jp\":\"IND\",\"adm0_a3_ko\":\"IND\",\"adm0_a3_vn\":\"IND\",\"adm0_a3_tr\":\"IND\",\"adm0_a3_id\":\"IND\",\"adm0_a3_pl\":\"IND\",\"adm0_a3_gr\":\"IND\",\"adm0_a3_it\":\"IND\",\"adm0_a3_nl\":\"IND\",\"adm0_a3_se\":\"IND\",\"adm0_a3_bd\":\"IND\",\"adm0_a3_ua\":\"IND\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"Southern Asia\",\"region_wb\":\"South Asia\",\"name_len\":5,\"long_len\":5,\"abbrev_len\":5,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":1.7,\"max_label\":6.7,\"label_x\":79.358105,\"label_y\":22.686852,\"ne_id\":1159320847,\"wikidataid\":\"Q668\",\"name_ar\":\"الهند\",\"name_bn\":\"ভারত\",\"name_de\":\"Indien\",\"name_en\":\"India\",\"name_es\":\"India\",\"name_fa\":\"هند\",\"name_fr\":\"Inde\",\"name_el\":\"Ινδία\",\"name_he\":\"הודו\",\"name_hi\":\"भारत\",\"name_hu\":\"India\",\"name_id\":\"India\",\"name_it\":\"India\",\"name_ja\":\"インド\",\"name_ko\":\"인도\",\"name_nl\":\"India\",\"name_pl\":\"Indie\",\"name_pt\":\"Índia\",\"name_ru\":\"Индия\",\"name_sv\":\"Indien\",\"name_tr\":\"Hindistan\",\"name_uk\":\"Індія\",\"name_ur\":\"بھارت\",\"name_vi\":\"Ấn Độ\",\"name_zh\":\"印度\",\"name_zht\":\"印度\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"IND.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[97.32711388549004,28.26158274994634],[97.40256147663614,27.882536119085444],[97.0519885599681,27.69905894623315],[97.1339990580153,27.083773505149964],[96.41936567585097,27.264589341739224],[95.12476769407496,26.5735720891323],[95.1551534362626,26.001307277932085],[94.60324913938538,25.162495428970402],[94.55265791217164,24.675238348890336],[94.10674197792507,23.85074087167348],[93.3251876159428,24.078556423432204],[93.28632693885928,23.043658352139005],[93.06029422401463,22.70311066333557],[93.16612755734837,22.278459580977103],[92.67272098182556,22.041238918541254],[92.14603478390681,23.627498684172593],[91.86992760617132,23.624346421802784],[91.70647505083211,22.985263983649187],[91.15896325069973,23.50352692310439],[91.46772993364368,24.072639471934792],[91.91509280799443,24.130413723237112],[92.37620161333481,24.976692816664965],[91.79959598182208,25.147431748957317],[90.87221072791212,25.132600612889547],[89.92069258012185,25.26974986419218],[89.83248091019962,25.96508209889548],[89.35509402868729,26.014407253518073],[88.56304935094977,26.446525580342723],[88.2097892598025,25.768065700782714],[88.93155398962308,25.238692328384776],[88.30637251175602,24.866079413344206],[88.08442223506242,24.501657212821925],[88.69994022009092,24.23371491138856],[88.52976972855379,23.631141872649167],[88.87631188350309,22.87914642993783],[89.03196129756623,22.055708319582976],[88.88876590368542,21.690588487224748],[88.20849734899522,21.703171698487807],[86.97570438024027,21.49556163175521],[87.03316857294887,20.743307806882413],[86.49935102737379,20.151638495356607],[85.0602657409097,19.4785788029711],[83.94100589390001,18.302009792549725],[83.18921715691785,17.67122142177898],[82.19279218946592,17.016636053937816],[82.19124189649719,16.556664130107848],[81.69271935417748,16.310219224507904],[80.79199913933014,15.951972357644493],[80.32489586784388,15.89918488205835],[80.02506920768644,15.136414903214147],[80.2332735533904,13.835770778859981],[80.28629357292186,13.006260687710835],[79.8625468281285,12.056215318240888],[79.85799930208682,10.35727509199711],[79.340511509116,10.30885427493962],[78.88534549348918,9.546135972527722],[79.1897196796883,9.216543687370148],[78.2779407083305,8.933046779816934],[77.94116539908435,8.252959092639742],[77.53989790233794,7.965534776232332],[76.59297895702167,8.89927623131419],[76.13006147655108,10.299630031775521],[75.7464673196485,11.308250637248307],[75.39610110870959,11.781245022015824],[74.86481570831683,12.741935736537897],[74.61671715688354,13.99258291264968],[74.44385949086723,14.617221787977698],[73.5341992532334,15.99065216721496],[73.11990929554943,17.928570054592498],[72.82090945830865,19.208233547436166],[72.8244751321368,20.419503282141534],[72.6305334817454,21.356009426351008],[71.17527347197395,20.757441311114235],[70.4704586119451,20.877330634031384],[69.16413008003883,22.0892980005727],[69.6449276060824,22.450774644454338],[69.34959679553435,22.84317963306269],[68.1766451353734,23.69196503345671],[68.84259931831878,24.35913361256094],[71.04324018746823,24.3565239527302],[70.84469933460284,25.21510203704352],[70.2828731627256,25.72222870533983],[70.16892662952202,26.491871649678842],[69.51439293811313,26.940965684511372],[70.61649620960193,27.989196275335868],[71.77766564320032,27.913180243434525],[72.8237516620847,28.961591701772054],[73.45063846221743,29.97641347911987],[74.42138024282028,30.979814764931177],[74.40592898956501,31.69263947196528],[75.25864179881322,32.2711054550405],[74.45155927927871,32.7648996038055],[74.10429365427734,33.44147329358685],[73.74994835805197,34.31769887952785],[74.24020267120497,34.748887030571254],[75.75706098826834,34.50492259372132],[76.87172163280403,34.65354401299274],[77.83745079947457,35.494009507787766],[78.91226891471322,34.32193634697579],[78.81108646028574,33.50619802503242],[79.20889163606859,32.994394639613716],[79.17612877799553,32.48377981213771],[78.45844648632601,32.61816437431273],[78.73889448437401,31.515906073527063],[79.7213668151071,30.88271474865473],[81.11125613802932,30.183480943313402],[80.4767212259174,29.72986522065534],[80.08842451367627,28.79447011974014],[81.05720258985203,28.416095282499043],[81.99998742058497,27.925479234319994],[83.30424889519955,27.36450572357556],[84.6750179381738,27.234901231387536],[85.25177859898338,26.726198431906344],[86.02439293817918,26.63098460540857],[87.2274719583663,26.397898057556077],[88.06023766474982,26.41461538340249],[88.17480431514092,26.81040517832595],[88.04313276566123,27.445818589786825],[88.12044070836987,27.876541652939594],[88.73032596227856,28.086864732367516],[88.81424848832056,27.299315904239364],[88.83564253128938,27.098966376243762],[89.74452762243885,26.719402981059957],[90.37327477413407,26.87572418874288],[91.21751264848643,26.808648179628022],[92.03348351437509,26.83831045176356],[92.10371178585974,27.452614040633208],[91.69665652869668,27.771741848251665],[92.50311893104364,27.89687632904645],[93.41334760943269,28.640629380807226],[94.56599043170294,29.277438055939985],[95.40480228066464,29.03171662039213],[96.11767866413103,29.452802028922466],[96.58659061074749,28.83097951915434],[96.24883344928779,28.411030992134442],[97.32711388549004,28.26158274994634]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":2,\"sovereignt\":\"China\",\"sov_a3\":\"CH1\",\"adm0_dif\":1,\"level\":2,\"type\":\"Country\",\"tlc\":\"1\",\"admin\":\"China\",\"adm0_a3\":\"CHN\",\"geou_dif\":0,\"geounit\":\"China\",\"gu_a3\":\"CHN\",\"su_dif\":0,\"subunit\":\"China\",\"su_a3\":\"CHN\",\"brk_diff\":0,\"name\":\"China\",\"name_long\":\"China\",\"brk_a3\":\"CHN\",\"brk_name\":\"China\",\"brk_group\":null,\"abbrev\":\"China\",\"postal\":\"CN\",\"formal_en\":\"People's Republic of China\",\"formal_fr\":null,\"name_ciawf\":\"China\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"China\",\"name_alt\":null,\"mapcolor7\":4,\"mapcolor8\":4,\"mapcolor9\":4,\"mapcolor13\":3,\"pop_est\":1397715000,\"pop_rank\":18,\"pop_year\":2019,\"gdp_md\":14342903,\"gdp_year\":2019,\"economy\":\"3. Emerging region: BRIC\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"CH\",\"iso_a2\":\"CN\",\"iso_a2_eh\":\"CN\",\"iso_a3\":\"CHN\",\"iso_a3_eh\":\"CHN\",\"iso_n3\":\"156\",\"iso_n3_eh\":\"156\",\"un_a3\":\"156\",\"wb_a2\":\"CN\",\"wb_a3\":\"CHN\",\"woe_id\":23424781,\"woe_id_eh\":23424781,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"CHN\",\"adm0_diff\":null,\"adm0_tlc\":\"CHN\",\"adm0_a3_us\":\"CHN\",\"adm0_a3_fr\":\"CHN\",\"adm0_a3_ru\":\"CHN\",\"adm0_a3_es\":\"CHN\",\"adm0_a3_cn\":\"CHN\",\"adm0_a3_tw\":\"TWN\",\"adm0_a3_in\":\"CHN\",\"adm0_a3_np\":\"CHN\",\"adm0_a3_pk\":\"CHN\",\"adm0_a3_de\":\"CHN\",\"adm0_a3_gb\":\"CHN\",\"adm0_a3_br\":\"CHN\",\"adm0_a3_il\":\"CHN\",\"adm0_a3_ps\":\"CHN\",\"adm0_a3_sa\":\"CHN\",\"adm0_a3_eg\":\"CHN\",\"adm0_a3_ma\":\"CHN\",\"adm0_a3_pt\":\"CHN\",\"adm0_a3_ar\":\"CHN\",\"adm0_a3_jp\":\"CHN\",\"adm0_a3_ko\":\"CHN\",\"adm0_a3_vn\":\"CHN\",\"adm0_a3_tr\":\"CHN\",\"adm0_a3_id\":\"CHN\",\"adm0_a3_pl\":\"CHN\",\"adm0_a3_gr\":\"CHN\",\"adm0_a3_it\":\"CHN\",\"adm0_a3_nl\":\"CHN\",\"adm0_a3_se\":\"CHN\",\"adm0_a3_bd\":\"CHN\",\"adm0_a3_ua\":\"CHN\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"Eastern Asia\",\"region_wb\":\"East Asia & Pacific\",\"name_len\":5,\"long_len\":5,\"abbrev_len\":5,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":1.7,\"max_label\":5.7,\"label_x\":106.337289,\"label_y\":32.498178,\"ne_id\":1159320471,\"wikidataid\":\"Q148\",\"name_ar\":\"الصين\",\"name_bn\":\"গণচীন\",\"name_de\":\"Volksrepublik China\",\"name_en\":\"People's Republic of China\",\"name_es\":\"China\",\"name_fa\":\"جمهوری خلق چین\",\"name_fr\":\"République populaire de Chine\",\"name_el\":\"Λαϊκή Δημοκρατία της Κίνας\",\"name_he\":\"הרפובליקה העממית של סין\",\"name_hi\":\"चीनी जनवादी गणराज्य\",\"name_hu\":\"Kína\",\"name_id\":\"Republik Rakyat Tiongkok\",\"name_it\":\"Cina\",\"name_ja\":\"中華人民共和国\",\"name_ko\":\"중화인민공화국\",\"name_nl\":\"Volksrepubliek China\",\"name_pl\":\"Chińska Republika Ludowa\",\"name_pt\":\"China\",\"name_ru\":\"Китайская Народная Республика\",\"name_sv\":\"Kina\",\"name_tr\":\"Çin Halk Cumhuriyeti\",\"name_uk\":\"Китайська Народна Республіка\",\"name_ur\":\"عوامی جمہوریہ چین\",\"name_vi\":\"Trung Quốc\",\"name_zh\":\"中华人民共和国\",\"name_zht\":\"中華人民共和國\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":\"Unrecognized\",\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"CHN.geojson\"},\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[[[109.47520958866365,18.197700913968575],[108.65520796105616,18.507681993071387],[108.62621748254044,19.367887885001906],[109.11905561730804,19.821038519769345],[110.21159874882281,20.101253973872033],[110.78655073450221,20.077534491450052],[111.01005130416458,19.69592987719072],[110.57064660038677,19.25587921800927],[110.33918786015147,18.678395087147592],[109.47520958866365,18.197700913968575]]],[[[80.2599902688853,42.34999929459906],[80.1801501809943,42.92006785742694],[80.86620649610126,43.18036204688101],[79.96610639844141,44.91751699480463],[81.9470707539181,45.31702749285312],[82.45892581576906,45.539649563166506],[83.18048383986047,47.33003123635086],[85.16429039911324,47.0009557155161],[85.72048383987067,47.452969468773105],[85.7682328633083,48.45575063739699],[86.59877648310336,48.549181626980626],[87.35997033076265,49.21498078062912],[87.75126427607671,49.297197984405486],[88.01383222855173,48.599462795600616],[88.85429772334676,48.069081732772965],[90.28082563676392,47.69354909930793],[90.97080936072501,46.88814606382293],[90.58576826371828,45.71971609148753],[90.9455395853343,45.28607330991028],[92.13389082231822,45.11507599545646],[93.4807336771413,44.975472113619965],[94.68892866412533,44.35233185482842],[95.30687544147153,44.24133087826547],[95.76245486855669,43.319449164394605],[96.34939578652781,42.725635280928685],[97.45175744017801,42.74888967546002],[99.51581749878004,42.524691473961724],[100.84586551310827,42.66380442969145],[101.83304039917994,42.51487295182628],[103.31227827353482,41.9074681666676],[104.52228193564899,41.908346666016556],[104.96499393109347,41.59740957291635],[106.12931562706169,42.13432770442891],[107.74477257693795,42.48151581478187],[109.24359581913146,42.5194463160841],[110.41210330611528,42.87123362891103],[111.12968224492023,43.40683401140015],[111.82958784388137,43.74311839453952],[111.66773725794323,44.07317576758771],[111.34837690637946,44.45744171811009],[111.8733061056003,45.10207937273506],[112.43606245325881,45.01164561622429],[113.46390669154417,44.80889313412712],[114.46033165899607,45.339816799493825],[115.98509647020009,45.727235012386004],[116.71786828009886,46.38820241961521],[117.42170128791419,46.67273285581426],[118.87432579963873,46.80541209572365],[119.66326989143876,46.69267995867892],[119.7728239278975,47.04805878355013],[118.86657433479495,47.74706004494617],[118.06414269416672,48.06673045510369],[117.29550744025741,47.69770905210743],[116.30895267137323,47.85341014260284],[115.74283735561579,47.72654450132629],[115.48528201707306,48.13538259540344],[116.19180219936757,49.134598090199106],[116.67880089728612,49.888531399121405],[117.8792444194264,49.510983384796965],[119.2884607280258,50.142882798862004],[119.27939,50.58292],[120.18208000000016,51.64355000000012],[120.7382,51.96411],[120.72578901579197,52.516226304730935],[120.17708865771681,52.75388621684124],[121.00308475147017,53.25140106873119],[122.24574791879283,53.431725979213695],[123.57147,53.4588],[125.06821129771038,53.16104482686886],[125.94634891164617,52.79279857035698],[126.56439904185697,51.7842554795327],[126.93915652883766,51.35389415140592],[127.28745568248485,50.73979726826548],[127.65740000000028,49.760270000000105],[129.39781782442043,49.44060008401544],[130.58229332898242,48.72968740497614],[130.9872600000001,47.79013],[132.50669,47.78896],[133.37359581922794,48.18344167743487],[135.02631147678665,48.478229885443874],[134.50081,47.57845],[134.1123500000001,47.21248],[133.76964399631288,46.116926988299014],[133.09712000000013,45.14409],[131.8834542176595,45.32116160743652],[131.02519000000018,44.96796],[131.28855512911548,44.11151968034828],[131.1446879416149,42.92998973242689],[130.63386640840974,42.90301463477053],[130.63999970690955,42.39502427522179],[129.99426720593323,42.985386867843786],[129.59666873587952,42.42498179785456],[128.0522152039723,41.99428457291795],[128.20843305879066,41.46677155208249],[127.34378299368302,41.50315176041597],[126.86908328664987,41.81656932226619],[126.18204511932943,41.10733612727637],[125.07994184784064,40.56982371679245],[124.26562462778531,39.928493353834156],[122.86757042856095,39.63778758397622],[122.1313879741309,39.170451768544666],[121.05455447803286,38.897471014962846],[121.58599490772248,39.36085358332407],[121.37675703337268,39.75026133885949],[122.16859500538106,40.422442531896024],[121.64035851449353,40.94638987890333],[120.76862877816194,40.59338816991754],[119.63960208544907,39.898055935214245],[119.02346398323306,39.252333075511146],[118.04274865119791,39.2042739934797],[117.53270226447711,38.73763580988408],[118.05969852098964,38.06147553156106],[118.87814985562832,37.89732534438593],[118.91163618375344,37.44846385349871],[119.70280236214205,37.15638865818505],[120.8234574728236,37.87042776137801],[121.711258579598,37.48112335870718],[122.35793745329849,37.45448415786072],[122.5199947449658,36.93061432550185],[121.10416385303307,36.651329047180425],[120.63700890511453,36.111439520811075],[119.66456180224606,35.60979055433772],[119.1512081238586,34.90985911716044],[120.22752485563373,34.36033193616865],[120.62036909391655,33.37672272392514],[121.22901411345023,32.46031871187719],[121.90814578663003,31.692174384074647],[121.89191938689038,30.949351508095106],[121.26425744027328,30.6762674016487],[121.50351932178467,30.14291494396429],[122.0921138855891,29.83252045340315],[121.93842817595306,29.01802236583478],[121.68443851123851,28.225512600206617],[121.12566124886649,28.135673122667185],[120.39547326058232,27.05320689544932],[119.5854968608395,25.740780544532612],[118.65687137255452,24.54739085540024],[117.28160647997088,23.624501451099658],[115.89073530483512,22.78287323657807],[114.76382734584624,22.668074042241667],[114.15254682826564,22.22376007739615],[113.80677981980074,22.5483397486214],[113.24107791550159,22.051367499270455],[111.84359215703248,21.550493679281473],[110.78546552942407,21.397143866455338],[110.44403934127168,20.34103261970633],[109.88986128137361,20.282457383703488],[109.62765506392466,21.008227037026703],[109.86448815311832,21.395050970947523],[108.5228129415244,21.715212307211814],[108.05018029178294,21.55237986906012],[107.04342003787264,21.811898912029914],[106.56727339073532,22.21820486092477],[106.72540327354847,22.79426788989842],[105.81124718630522,22.976892401617903],[105.32920942588663,23.352063300056912],[104.47685835166448,22.819150092046968],[103.50451460166056,22.70375661873921],[102.7069922221001,22.708795070887675],[102.17043582561358,22.464753119389304],[101.65201785686152,22.318198757409547],[101.80311974488293,21.17436676684507],[101.27002566935997,21.201651923095184],[101.18000532430754,21.436572984294028],[101.15003299357825,21.849984442629022],[100.41653771362738,21.558839423096614],[99.98348921102149,21.7429367131364],[99.24089887898725,22.11831431730458],[99.5319922220874,22.94903880461258],[98.89874922078278,23.14272207284253],[98.66026248575577,24.063286037689966],[97.60471967976198,23.897404690033042],[97.72460900267914,25.083637193293],[98.67183800658916,25.918702500913525],[98.71209394734451,26.743535874940267],[98.68269005737046,27.50881216075062],[98.2462309102333,27.74722138112918],[97.91198774616944,28.335945136014345],[97.32711388549004,28.26158274994634],[96.24883344928779,28.411030992134442],[96.58659061074749,28.83097951915434],[96.11767866413103,29.452802028922466],[95.40480228066464,29.03171662039213],[94.56599043170294,29.277438055939985],[93.41334760943269,28.640629380807226],[92.50311893104364,27.89687632904645],[91.69665652869668,27.771741848251665],[91.25885379431992,28.040614325466294],[90.7305139505678,28.064953925075756],[90.01582889197118,28.296438503527217],[89.47581017452111,28.042758897406397],[88.81424848832056,27.299315904239364],[88.73032596227856,28.086864732367516],[88.12044070836987,27.876541652939594],[86.9545170430006,27.974261786403517],[85.82331994013151,28.203575954698707],[85.01163821812304,28.642773952747344],[84.23457970575015,28.839893703724698],[83.89899295444673,29.320226141877658],[83.33711510613719,29.463731594352197],[82.32751264845088,30.115268052688137],[81.52580447787474,30.42271698660863],[81.11125613802932,30.183480943313402],[79.7213668151071,30.88271474865473],[78.73889448437401,31.515906073527063],[78.45844648632601,32.61816437431273],[79.17612877799553,32.48377981213771],[79.20889163606859,32.994394639613716],[78.81108646028574,33.50619802503242],[78.91226891471322,34.32193634697579],[77.83745079947457,35.494009507787766],[76.19284834178569,35.89840342868783],[75.89689741405013,36.666806138651836],[75.15802778514092,37.13303091078912],[74.98000247589542,37.419990139305895],[74.8299857929521,37.9900070257014],[74.86481570831683,38.3788463404816],[74.25751427602273,38.60650686294345],[73.92885216664644,38.50581533462274],[73.6753792662548,39.4312368841056],[73.96001305531843,39.660008449861735],[73.8222436868283,39.893973497063186],[74.77686242055606,40.36642527929163],[75.4678279967307,40.56207225194867],[76.52636803579745,40.42794607193512],[76.90448449087708,41.06648590754965],[78.18719689322597,41.18531586360481],[78.54366092317531,41.58224254003869],[80.11943037305139,42.12394074153825],[80.2599902688853,42.34999929459906]]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":4,\"sovereignt\":\"Israel\",\"sov_a3\":\"IS1\",\"adm0_dif\":1,\"level\":2,\"type\":\"Disputed\",\"tlc\":\"1\",\"admin\":\"Israel\",\"adm0_a3\":\"ISR\",\"geou_dif\":0,\"geounit\":\"Israel\",\"gu_a3\":\"ISR\",\"su_dif\":0,\"subunit\":\"Israel\",\"su_a3\":\"ISR\",\"brk_diff\":1,\"name\":\"Israel\",\"name_long\":\"Israel\",\"brk_a3\":\"ISR\",\"brk_name\":\"Israel\",\"brk_group\":null,\"abbrev\":\"Isr.\",\"postal\":\"IS\",\"formal_en\":\"State of Israel\",\"formal_fr\":null,\"name_ciawf\":\"Israel\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Israel\",\"name_alt\":null,\"mapcolor7\":3,\"mapcolor8\":2,\"mapcolor9\":5,\"mapcolor13\":9,\"pop_est\":9053300,\"pop_rank\":13,\"pop_year\":2019,\"gdp_md\":394652,\"gdp_year\":2019,\"economy\":\"2. Developed region: nonG7\",\"income_grp\":\"1. High income: OECD\",\"fips_10\":\"-99\",\"iso_a2\":\"IL\",\"iso_a2_eh\":\"IL\",\"iso_a3\":\"ISR\",\"iso_a3_eh\":\"ISR\",\"iso_n3\":\"376\",\"iso_n3_eh\":\"376\",\"un_a3\":\"376\",\"wb_a2\":\"IL\",\"wb_a3\":\"ISR\",\"woe_id\":23424852,\"woe_id_eh\":23424852,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"ISR\",\"adm0_diff\":null,\"adm0_tlc\":\"ISR\",\"adm0_a3_us\":\"ISR\",\"adm0_a3_fr\":\"ISR\",\"adm0_a3_ru\":\"ISR\",\"adm0_a3_es\":\"ISR\",\"adm0_a3_cn\":\"ISR\",\"adm0_a3_tw\":\"ISR\",\"adm0_a3_in\":\"ISR\",\"adm0_a3_np\":\"ISR\",\"adm0_a3_pk\":\"PSX\",\"adm0_a3_de\":\"ISR\",\"adm0_a3_gb\":\"ISR\",\"adm0_a3_br\":\"ISR\",\"adm0_a3_il\":\"ISR\",\"adm0_a3_ps\":\"ISR\",\"adm0_a3_sa\":\"PSX\",\"adm0_a3_eg\":\"ISR\",\"adm0_a3_ma\":\"ISR\",\"adm0_a3_pt\":\"ISR\",\"adm0_a3_ar\":\"ISR\",\"adm0_a3_jp\":\"ISR\",\"adm0_a3_ko\":\"ISR\",\"adm0_a3_vn\":\"ISR\",\"adm0_a3_tr\":\"ISR\",\"adm0_a3_id\":\"ISR\",\"adm0_a3_pl\":\"ISR\",\"adm0_a3_gr\":\"ISR\",\"adm0_a3_it\":\"ISR\",\"adm0_a3_nl\":\"ISR\",\"adm0_a3_se\":\"ISR\",\"adm0_a3_bd\":\"PSX\",\"adm0_a3_ua\":\"ISR\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"Western Asia\",\"region_wb\":\"Middle East & North Africa\",\"name_len\":6,\"long_len\":6,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":34.847915,\"label_y\":30.911148,\"ne_id\":1159320895,\"wikidataid\":\"Q801\",\"name_ar\":\"إسرائيل\",\"name_bn\":\"ইসরায়েল\",\"name_de\":\"Israel\",\"name_en\":\"Israel\",\"name_es\":\"Israel\",\"name_fa\":\"اسرائیل\",\"name_fr\":\"Israël\",\"name_el\":\"Ισραήλ\",\"name_he\":\"ישראל\",\"name_hi\":\"इज़राइल\",\"name_hu\":\"Izrael\",\"name_id\":\"Israel\",\"name_it\":\"Israele\",\"name_ja\":\"イスラエル\",\"name_ko\":\"이스라엘\",\"name_nl\":\"Israël\",\"name_pl\":\"Izrael\",\"name_pt\":\"Israel\",\"name_ru\":\"Израиль\",\"name_sv\":\"Israel\",\"name_tr\":\"İsrail\",\"name_uk\":\"Ізраїль\",\"name_ur\":\"اسرائیل\",\"name_vi\":\"Israel\",\"name_zh\":\"以色列\",\"name_zht\":\"以色列\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":\"Unrecognized\",\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":\"Unrecognized\",\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":\"Unrecognized\",\"fclass_ua\":null,\"filename\":\"ISR.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[35.71991824722275,32.709192409794866],[35.54566531753454,32.393992011030576],[35.183930291491436,32.53251068778894],[34.97464074070933,31.866582343059722],[35.22589155451243,31.754341132121766],[34.970506626125996,31.61677846936081],[34.92740848159457,31.353435370401414],[35.397560662586045,31.489086005167582],[35.420918409981965,31.100065822874356],[34.92260257339143,29.501326198844524],[34.823243288783814,29.76108076171822],[34.26544,31.21936],[34.26543474464621,31.21935730952032],[34.26543338393569,31.219360866820153],[34.55637169773891,31.548823960896996],[34.48810713068136,31.60553884533732],[34.75258711115117,32.07292633720117],[34.95541710789678,32.82737641044638],[35.098457472480675,33.080539252244265],[35.126052687324545,33.09090037691878],[35.460709262846706,33.08904002535628],[35.55279666519081,33.26427480725802],[35.82110070165024,33.2774264592763],[35.836396925608625,32.86812327730851],[35.70079796727475,32.71601369885738],[35.71991824722275,32.709192409794866]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":5,\"sovereignt\":\"Israel\",\"sov_a3\":\"IS1\",\"adm0_dif\":1,\"level\":2,\"type\":\"Indeterminate\",\"tlc\":\"1\",\"admin\":\"Palestine\",\"adm0_a3\":\"PSX\",\"geou_dif\":0,\"geounit\":\"Palestine\",\"gu_a3\":\"PSX\",\"su_dif\":0,\"subunit\":\"Palestine\",\"su_a3\":\"PSX\",\"brk_diff\":0,\"name\":\"Palestine\",\"name_long\":\"Palestine\",\"brk_a3\":\"PSX\",\"brk_name\":\"Palestine\",\"brk_group\":null,\"abbrev\":\"Pal.\",\"postal\":\"PAL\",\"formal_en\":\"West Bank and Gaza\",\"formal_fr\":null,\"name_ciawf\":null,\"note_adm0\":null,\"note_brk\":\"Partial self-admin.\",\"name_sort\":\"Palestine (West Bank and Gaza)\",\"name_alt\":null,\"mapcolor7\":3,\"mapcolor8\":2,\"mapcolor9\":5,\"mapcolor13\":8,\"pop_est\":4685306,\"pop_rank\":12,\"pop_year\":2019,\"gdp_md\":16276,\"gdp_year\":2018,\"economy\":\"6. Developing region\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"-99\",\"iso_a2\":\"PS\",\"iso_a2_eh\":\"PS\",\"iso_a3\":\"PSE\",\"iso_a3_eh\":\"PSE\",\"iso_n3\":\"275\",\"iso_n3_eh\":\"275\",\"un_a3\":\"275\",\"wb_a2\":\"GZ\",\"wb_a3\":\"WBG\",\"woe_id\":28289408,\"woe_id_eh\":28289408,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"PSX\",\"adm0_diff\":null,\"adm0_tlc\":\"PSX\",\"adm0_a3_us\":\"PSX\",\"adm0_a3_fr\":\"PSX\",\"adm0_a3_ru\":\"PSX\",\"adm0_a3_es\":\"PSX\",\"adm0_a3_cn\":\"PSX\",\"adm0_a3_tw\":\"PSX\",\"adm0_a3_in\":\"PSX\",\"adm0_a3_np\":\"PSX\",\"adm0_a3_pk\":\"PSX\",\"adm0_a3_de\":\"PSX\",\"adm0_a3_gb\":\"PSX\",\"adm0_a3_br\":\"PSX\",\"adm0_a3_il\":\"PSX\",\"adm0_a3_ps\":\"PSX\",\"adm0_a3_sa\":\"PSX\",\"adm0_a3_eg\":\"PSX\",\"adm0_a3_ma\":\"PSX\",\"adm0_a3_pt\":\"PSX\",\"adm0_a3_ar\":\"PSX\",\"adm0_a3_jp\":\"PSX\",\"adm0_a3_ko\":\"PSX\",\"adm0_a3_vn\":\"PSX\",\"adm0_a3_tr\":\"PSX\",\"adm0_a3_id\":\"PSX\",\"adm0_a3_pl\":\"PSX\",\"adm0_a3_gr\":\"PSX\",\"adm0_a3_it\":\"PSX\",\"adm0_a3_nl\":\"PSX\",\"adm0_a3_se\":\"PSX\",\"adm0_a3_bd\":\"PSX\",\"adm0_a3_ua\":\"PSX\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"Western Asia\",\"region_wb\":\"Middle East & North Africa\",\"name_len\":9,\"long_len\":9,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":-99,\"min_zoom\":7,\"min_label\":4.5,\"max_label\":9.5,\"label_x\":35.291341,\"label_y\":32.047431,\"ne_id\":1159320899,\"wikidataid\":\"Q23792\",\"name_ar\":\"فلسطين\",\"name_bn\":\"ফিলিস্তিন অঞ্চল\",\"name_de\":\"Palästina\",\"name_en\":\"Palestine\",\"name_es\":\"Palestina\",\"name_fa\":\"فلسطین\",\"name_fr\":\"Palestine\",\"name_el\":\"Παλαιστίνη\",\"name_he\":\"ארץ ישראל\",\"name_hi\":\"फ़िलिस्तीनी राज्यक्षेत्र\",\"name_hu\":\"Palesztina\",\"name_id\":\"Palestina\",\"name_it\":\"Palestina\",\"name_ja\":\"パレスチナ\",\"name_ko\":\"팔레스타인\",\"name_nl\":\"Palestina\",\"name_pl\":\"Palestyna\",\"name_pt\":\"Palestina\",\"name_ru\":\"Палестина\",\"name_sv\":\"Palestina\",\"name_tr\":\"Filistin\",\"name_uk\":\"Палестина\",\"name_ur\":\"فلسطین\",\"name_vi\":\"Palestine\",\"name_zh\":\"巴勒斯坦\",\"name_zht\":\"巴勒斯坦地區\",\"fclass_iso\":\"Admin-0 dependency\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 dependency\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":\"Admin-0 country\",\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":\"Admin-0 country\",\"fclass_sa\":\"Admin-0 country\",\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":\"Admin-0 country\",\"fclass_ua\":null,\"filename\":\"PSE.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[35.397560662586045,31.489086005167582],[34.92740848159457,31.353435370401414],[34.970506626125996,31.61677846936081],[35.22589155451243,31.754341132121766],[34.97464074070933,31.866582343059722],[35.183930291491436,32.53251068778894],[35.54566531753454,32.393992011030576],[35.5452519060762,31.78250478772084],[35.397560662586045,31.489086005167582]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":5,\"sovereignt\":\"Lebanon\",\"sov_a3\":\"LBN\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Lebanon\",\"adm0_a3\":\"LBN\",\"geou_dif\":0,\"geounit\":\"Lebanon\",\"gu_a3\":\"LBN\",\"su_dif\":0,\"subunit\":\"Lebanon\",\"su_a3\":\"LBN\",\"brk_diff\":0,\"name\":\"Lebanon\",\"name_long\":\"Lebanon\",\"brk_a3\":\"LBN\",\"brk_name\":\"Lebanon\",\"brk_group\":null,\"abbrev\":\"Leb.\",\"postal\":\"LB\",\"formal_en\":\"Lebanese Republic\",\"formal_fr\":null,\"name_ciawf\":\"Lebanon\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Lebanon\",\"name_alt\":null,\"mapcolor7\":4,\"mapcolor8\":4,\"mapcolor9\":4,\"mapcolor13\":12,\"pop_est\":6855713,\"pop_rank\":13,\"pop_year\":2019,\"gdp_md\":51991,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"LE\",\"iso_a2\":\"LB\",\"iso_a2_eh\":\"LB\",\"iso_a3\":\"LBN\",\"iso_a3_eh\":\"LBN\",\"iso_n3\":\"422\",\"iso_n3_eh\":\"422\",\"un_a3\":\"422\",\"wb_a2\":\"LB\",\"wb_a3\":\"LBN\",\"woe_id\":23424873,\"woe_id_eh\":23424873,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"LBN\",\"adm0_diff\":null,\"adm0_tlc\":\"LBN\",\"adm0_a3_us\":\"LBN\",\"adm0_a3_fr\":\"LBN\",\"adm0_a3_ru\":\"LBN\",\"adm0_a3_es\":\"LBN\",\"adm0_a3_cn\":\"LBN\",\"adm0_a3_tw\":\"LBN\",\"adm0_a3_in\":\"LBN\",\"adm0_a3_np\":\"LBN\",\"adm0_a3_pk\":\"LBN\",\"adm0_a3_de\":\"LBN\",\"adm0_a3_gb\":\"LBN\",\"adm0_a3_br\":\"LBN\",\"adm0_a3_il\":\"LBN\",\"adm0_a3_ps\":\"LBN\",\"adm0_a3_sa\":\"LBN\",\"adm0_a3_eg\":\"LBN\",\"adm0_a3_ma\":\"LBN\",\"adm0_a3_pt\":\"LBN\",\"adm0_a3_ar\":\"LBN\",\"adm0_a3_jp\":\"LBN\",\"adm0_a3_ko\":\"LBN\",\"adm0_a3_vn\":\"LBN\",\"adm0_a3_tr\":\"LBN\",\"adm0_a3_id\":\"LBN\",\"adm0_a3_pl\":\"LBN\",\"adm0_a3_gr\":\"LBN\",\"adm0_a3_it\":\"LBN\",\"adm0_a3_nl\":\"LBN\",\"adm0_a3_se\":\"LBN\",\"adm0_a3_bd\":\"LBN\",\"adm0_a3_ua\":\"LBN\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"Western Asia\",\"region_wb\":\"Middle East & North Africa\",\"name_len\":7,\"long_len\":7,\"abbrev_len\":4,\"tiny\":4,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":35.992892,\"label_y\":34.133368,\"ne_id\":1159321013,\"wikidataid\":\"Q822\",\"name_ar\":\"لبنان\",\"name_bn\":\"লেবানন\",\"name_de\":\"Libanon\",\"name_en\":\"Lebanon\",\"name_es\":\"Líbano\",\"name_fa\":\"لبنان\",\"name_fr\":\"Liban\",\"name_el\":\"Λίβανος\",\"name_he\":\"לבנון\",\"name_hi\":\"लेबनान\",\"name_hu\":\"Libanon\",\"name_id\":\"Lebanon\",\"name_it\":\"Libano\",\"name_ja\":\"レバノン\",\"name_ko\":\"레바논\",\"name_nl\":\"Libanon\",\"name_pl\":\"Liban\",\"name_pt\":\"Líbano\",\"name_ru\":\"Ливан\",\"name_sv\":\"Libanon\",\"name_tr\":\"Lübnan\",\"name_uk\":\"Ліван\",\"name_ur\":\"لبنان\",\"name_vi\":\"Liban\",\"name_zh\":\"黎巴嫩\",\"name_zht\":\"黎巴嫩\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"LBN.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[35.82110070165024,33.2774264592763],[35.55279666519081,33.26427480725802],[35.460709262846706,33.08904002535628],[35.126052687324545,33.09090037691878],[35.48220665868013,33.90545014091944],[35.9795923194894,34.61005829521913],[35.99840254084364,34.644914048800004],[36.4481942075121,34.59393524834407],[36.61175011571589,34.20178864189718],[36.066460402172055,33.82491242119255],[35.82110070165024,33.2774264592763]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Syria\",\"sov_a3\":\"SYR\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Syria\",\"adm0_a3\":\"SYR\",\"geou_dif\":0,\"geounit\":\"Syria\",\"gu_a3\":\"SYR\",\"su_dif\":0,\"subunit\":\"Syria\",\"su_a3\":\"SYR\",\"brk_diff\":0,\"name\":\"Syria\",\"name_long\":\"Syria\",\"brk_a3\":\"SYR\",\"brk_name\":\"Syria\",\"brk_group\":null,\"abbrev\":\"Syria\",\"postal\":\"SYR\",\"formal_en\":\"Syrian Arab Republic\",\"formal_fr\":null,\"name_ciawf\":\"Syria\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Syrian Arab Republic\",\"name_alt\":null,\"mapcolor7\":2,\"mapcolor8\":6,\"mapcolor9\":2,\"mapcolor13\":6,\"pop_est\":17070135,\"pop_rank\":14,\"pop_year\":2019,\"gdp_md\":98830,\"gdp_year\":2015,\"economy\":\"6. Developing region\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"SY\",\"iso_a2\":\"SY\",\"iso_a2_eh\":\"SY\",\"iso_a3\":\"SYR\",\"iso_a3_eh\":\"SYR\",\"iso_n3\":\"760\",\"iso_n3_eh\":\"760\",\"un_a3\":\"760\",\"wb_a2\":\"SY\",\"wb_a3\":\"SYR\",\"woe_id\":23424956,\"woe_id_eh\":23424956,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"SYR\",\"adm0_diff\":null,\"adm0_tlc\":\"SYR\",\"adm0_a3_us\":\"SYR\",\"adm0_a3_fr\":\"SYR\",\"adm0_a3_ru\":\"SYR\",\"adm0_a3_es\":\"SYR\",\"adm0_a3_cn\":\"SYR\",\"adm0_a3_tw\":\"SYR\",\"adm0_a3_in\":\"SYR\",\"adm0_a3_np\":\"SYR\",\"adm0_a3_pk\":\"SYR\",\"adm0_a3_de\":\"SYR\",\"adm0_a3_gb\":\"SYR\",\"adm0_a3_br\":\"SYR\",\"adm0_a3_il\":\"SYR\",\"adm0_a3_ps\":\"SYR\",\"adm0_a3_sa\":\"SYR\",\"adm0_a3_eg\":\"SYR\",\"adm0_a3_ma\":\"SYR\",\"adm0_a3_pt\":\"SYR\",\"adm0_a3_ar\":\"SYR\",\"adm0_a3_jp\":\"SYR\",\"adm0_a3_ko\":\"SYR\",\"adm0_a3_vn\":\"SYR\",\"adm0_a3_tr\":\"SYR\",\"adm0_a3_id\":\"SYR\",\"adm0_a3_pl\":\"SYR\",\"adm0_a3_gr\":\"SYR\",\"adm0_a3_it\":\"SYR\",\"adm0_a3_nl\":\"SYR\",\"adm0_a3_se\":\"SYR\",\"adm0_a3_bd\":\"SYR\",\"adm0_a3_ua\":\"SYR\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"Western Asia\",\"region_wb\":\"Middle East & North Africa\",\"name_len\":5,\"long_len\":5,\"abbrev_len\":5,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":38.277783,\"label_y\":35.006636,\"ne_id\":1159321295,\"wikidataid\":\"Q858\",\"name_ar\":\"سوريا\",\"name_bn\":\"সিরিয়া\",\"name_de\":\"Syrien\",\"name_en\":\"Syria\",\"name_es\":\"Siria\",\"name_fa\":\"سوریه\",\"name_fr\":\"Syrie\",\"name_el\":\"Συρία\",\"name_he\":\"סוריה\",\"name_hi\":\"सीरिया\",\"name_hu\":\"Szíria\",\"name_id\":\"Suriah\",\"name_it\":\"Siria\",\"name_ja\":\"シリア\",\"name_ko\":\"시리아\",\"name_nl\":\"Syrië\",\"name_pl\":\"Syria\",\"name_pt\":\"Síria\",\"name_ru\":\"Сирия\",\"name_sv\":\"Syrien\",\"name_tr\":\"Suriye\",\"name_uk\":\"Сирія\",\"name_ur\":\"سوریہ\",\"name_vi\":\"Syria\",\"name_zh\":\"叙利亚\",\"name_zht\":\"敘利亞\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"SYR.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[35.71991824722275,32.709192409794866],[35.70079796727475,32.71601369885738],[35.836396925608625,32.86812327730851],[35.82110070165024,33.2774264592763],[36.066460402172055,33.82491242119255],[36.61175011571589,34.20178864189718],[36.4481942075121,34.59393524834407],[35.99840254084364,34.644914048800004],[35.905023227692226,35.410009467097325],[36.149762811026534,35.82153473565367],[36.417550083163036,36.04061697035506],[36.6853890317318,36.259699205056464],[36.7394942563414,36.81752045343109],[37.06676110204583,36.62303620050062],[38.1677274920242,36.90121043552777],[38.6998913917659,36.71292735447234],[39.52258019385255,36.71605377862599],[40.67325931169569,37.09127635349729],[41.21208947120305,37.074352321921694],[42.34959109881177,37.2298725449041],[41.83706424334096,36.605853786763575],[41.289707472505455,36.35881460219227],[41.383965285005814,35.628316555314356],[41.006158888519934,34.41937226006212],[38.792340529136084,33.378686428352225],[36.834062127435544,32.312937526980775],[35.71991824722275,32.709192409794866]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":2,\"sovereignt\":\"South Korea\",\"sov_a3\":\"KOR\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"South Korea\",\"adm0_a3\":\"KOR\",\"geou_dif\":0,\"geounit\":\"South Korea\",\"gu_a3\":\"KOR\",\"su_dif\":0,\"subunit\":\"South Korea\",\"su_a3\":\"KOR\",\"brk_diff\":0,\"name\":\"South Korea\",\"name_long\":\"Republic of Korea\",\"brk_a3\":\"KOR\",\"brk_name\":\"Republic of Korea\",\"brk_group\":null,\"abbrev\":\"S.K.\",\"postal\":\"KR\",\"formal_en\":\"Republic of Korea\",\"formal_fr\":null,\"name_ciawf\":\"Korea, South\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Korea, Rep.\",\"name_alt\":null,\"mapcolor7\":4,\"mapcolor8\":1,\"mapcolor9\":1,\"mapcolor13\":5,\"pop_est\":51709098,\"pop_rank\":16,\"pop_year\":2019,\"gdp_md\":1646739,\"gdp_year\":2019,\"economy\":\"4. Emerging region: MIKT\",\"income_grp\":\"1. High income: OECD\",\"fips_10\":\"KS\",\"iso_a2\":\"KR\",\"iso_a2_eh\":\"KR\",\"iso_a3\":\"KOR\",\"iso_a3_eh\":\"KOR\",\"iso_n3\":\"410\",\"iso_n3_eh\":\"410\",\"un_a3\":\"410\",\"wb_a2\":\"KR\",\"wb_a3\":\"KOR\",\"woe_id\":23424868,\"woe_id_eh\":23424868,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"KOR\",\"adm0_diff\":null,\"adm0_tlc\":\"KOR\",\"adm0_a3_us\":\"KOR\",\"adm0_a3_fr\":\"KOR\",\"adm0_a3_ru\":\"KOR\",\"adm0_a3_es\":\"KOR\",\"adm0_a3_cn\":\"KOR\",\"adm0_a3_tw\":\"KOR\",\"adm0_a3_in\":\"KOR\",\"adm0_a3_np\":\"KOR\",\"adm0_a3_pk\":\"KOR\",\"adm0_a3_de\":\"KOR\",\"adm0_a3_gb\":\"KOR\",\"adm0_a3_br\":\"KOR\",\"adm0_a3_il\":\"KOR\",\"adm0_a3_ps\":\"KOR\",\"adm0_a3_sa\":\"KOR\",\"adm0_a3_eg\":\"KOR\",\"adm0_a3_ma\":\"KOR\",\"adm0_a3_pt\":\"KOR\",\"adm0_a3_ar\":\"KOR\",\"adm0_a3_jp\":\"KOR\",\"adm0_a3_ko\":\"KOR\",\"adm0_a3_vn\":\"KOR\",\"adm0_a3_tr\":\"KOR\",\"adm0_a3_id\":\"KOR\",\"adm0_a3_pl\":\"KOR\",\"adm0_a3_gr\":\"KOR\",\"adm0_a3_it\":\"KOR\",\"adm0_a3_nl\":\"KOR\",\"adm0_a3_se\":\"KOR\",\"adm0_a3_bd\":\"KOR\",\"adm0_a3_ua\":\"KOR\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"Eastern Asia\",\"region_wb\":\"East Asia & Pacific\",\"name_len\":11,\"long_len\":17,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":2.5,\"max_label\":7,\"label_x\":128.129504,\"label_y\":36.384924,\"ne_id\":1159320985,\"wikidataid\":\"Q884\",\"name_ar\":\"كوريا الجنوبية\",\"name_bn\":\"দক্ষিণ কোরিয়া\",\"name_de\":\"Südkorea\",\"name_en\":\"South Korea\",\"name_es\":\"Corea del Sur\",\"name_fa\":\"کره جنوبی\",\"name_fr\":\"Corée du Sud\",\"name_el\":\"Νότια Κορέα\",\"name_he\":\"קוריאה הדרומית\",\"name_hi\":\"दक्षिण कोरिया\",\"name_hu\":\"Dél-Korea\",\"name_id\":\"Korea Selatan\",\"name_it\":\"Corea del Sud\",\"name_ja\":\"大韓民国\",\"name_ko\":\"대한민국\",\"name_nl\":\"Zuid-Korea\",\"name_pl\":\"Korea Południowa\",\"name_pt\":\"Coreia do Sul\",\"name_ru\":\"Республика Корея\",\"name_sv\":\"Sydkorea\",\"name_tr\":\"Güney Kore\",\"name_uk\":\"Південна Корея\",\"name_ur\":\"جنوبی کوریا\",\"name_vi\":\"Hàn Quốc\",\"name_zh\":\"大韩民国\",\"name_zht\":\"大韓民國\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"KOR.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[126.17475874237624,37.74968577732804],[126.23733890188176,37.84037791600028],[126.68371992401893,37.80477285415118],[127.07330854706737,38.2561148137884],[127.78003543509101,38.30453563084589],[128.20574588431145,38.37039724380189],[128.34971642467661,38.61224294692785],[129.21291954968007,37.43239248305595],[129.46044966035817,36.78418915460283],[129.4683044780665,35.63214061130395],[129.0913765809296,35.082484239231434],[128.1858504578791,34.89037710218639],[127.3865194031884,34.47567373304412],[126.48574751190876,34.39004588473648],[126.37391971242914,34.934560451795946],[126.55923139862779,35.6845405136479],[126.11739790253229,36.72548472751926],[126.86014326386339,36.893924058574626],[126.17475874237624,37.74968577732804]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"North Korea\",\"sov_a3\":\"PRK\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"North Korea\",\"adm0_a3\":\"PRK\",\"geou_dif\":0,\"geounit\":\"North Korea\",\"gu_a3\":\"PRK\",\"su_dif\":0,\"subunit\":\"North Korea\",\"su_a3\":\"PRK\",\"brk_diff\":0,\"name\":\"North Korea\",\"name_long\":\"Dem. Rep. Korea\",\"brk_a3\":\"PRK\",\"brk_name\":\"Dem. Rep. Korea\",\"brk_group\":null,\"abbrev\":\"N.K.\",\"postal\":\"KP\",\"formal_en\":\"Democratic People's Republic of Korea\",\"formal_fr\":null,\"name_ciawf\":\"Korea, North\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Korea, Dem. Rep.\",\"name_alt\":null,\"mapcolor7\":3,\"mapcolor8\":5,\"mapcolor9\":3,\"mapcolor13\":9,\"pop_est\":25666161,\"pop_rank\":15,\"pop_year\":2019,\"gdp_md\":40000,\"gdp_year\":2016,\"economy\":\"7. Least developed region\",\"income_grp\":\"5. Low income\",\"fips_10\":\"KN\",\"iso_a2\":\"KP\",\"iso_a2_eh\":\"KP\",\"iso_a3\":\"PRK\",\"iso_a3_eh\":\"PRK\",\"iso_n3\":\"408\",\"iso_n3_eh\":\"408\",\"un_a3\":\"408\",\"wb_a2\":\"KP\",\"wb_a3\":\"PRK\",\"woe_id\":23424865,\"woe_id_eh\":23424865,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"PRK\",\"adm0_diff\":null,\"adm0_tlc\":\"PRK\",\"adm0_a3_us\":\"PRK\",\"adm0_a3_fr\":\"PRK\",\"adm0_a3_ru\":\"PRK\",\"adm0_a3_es\":\"PRK\",\"adm0_a3_cn\":\"PRK\",\"adm0_a3_tw\":\"PRK\",\"adm0_a3_in\":\"PRK\",\"adm0_a3_np\":\"PRK\",\"adm0_a3_pk\":\"PRK\",\"adm0_a3_de\":\"PRK\",\"adm0_a3_gb\":\"PRK\",\"adm0_a3_br\":\"PRK\",\"adm0_a3_il\":\"PRK\",\"adm0_a3_ps\":\"PRK\",\"adm0_a3_sa\":\"PRK\",\"adm0_a3_eg\":\"PRK\",\"adm0_a3_ma\":\"PRK\",\"adm0_a3_pt\":\"PRK\",\"adm0_a3_ar\":\"PRK\",\"adm0_a3_jp\":\"PRK\",\"adm0_a3_ko\":\"PRK\",\"adm0_a3_vn\":\"PRK\",\"adm0_a3_tr\":\"PRK\",\"adm0_a3_id\":\"PRK\",\"adm0_a3_pl\":\"PRK\",\"adm0_a3_gr\":\"PRK\",\"adm0_a3_it\":\"PRK\",\"adm0_a3_nl\":\"PRK\",\"adm0_a3_se\":\"PRK\",\"adm0_a3_bd\":\"PRK\",\"adm0_a3_ua\":\"PRK\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"Eastern Asia\",\"region_wb\":\"East Asia & Pacific\",\"name_len\":11,\"long_len\":15,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":126.444516,\"label_y\":39.885252,\"ne_id\":1159321181,\"wikidataid\":\"Q423\",\"name_ar\":\"كوريا الشمالية\",\"name_bn\":\"উত্তর কোরিয়া\",\"name_de\":\"Nordkorea\",\"name_en\":\"North Korea\",\"name_es\":\"Corea del Norte\",\"name_fa\":\"کره شمالی\",\"name_fr\":\"Corée du Nord\",\"name_el\":\"Βόρεια Κορέα\",\"name_he\":\"קוריאה הצפונית\",\"name_hi\":\"उत्तर कोरिया\",\"name_hu\":\"Észak-Korea\",\"name_id\":\"Korea Utara\",\"name_it\":\"Corea del Nord\",\"name_ja\":\"朝鮮民主主義人民共和国\",\"name_ko\":\"조선민주주의인민공화국\",\"name_nl\":\"Noord-Korea\",\"name_pl\":\"Korea Północna\",\"name_pt\":\"Coreia do Norte\",\"name_ru\":\"КНДР\",\"name_sv\":\"Nordkorea\",\"name_tr\":\"Kuzey Kore\",\"name_uk\":\"Корейська Народно-Демократична Республіка\",\"name_ur\":\"شمالی کوریا\",\"name_vi\":\"Cộng hòa Dân chủ Nhân dân Triều Tiên\",\"name_zh\":\"朝鲜民主主义人民共和国\",\"name_zht\":\"朝鮮民主主義人民共和國\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"PRK.geojson\"},\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[[[130.78000366004676,42.220007813203225],[130.78000485358513,42.22001036108258],[130.78000735893113,42.22000722916885],[130.78000366004676,42.220007813203225]]],[[[130.63999970690955,42.39502427522179],[130.6400000000001,42.395],[130.77999231657833,42.22000960427719],[130.40003055228902,42.28000356705971],[129.96594852103726,41.94136790625106],[129.66736209525482,41.60110443782523],[129.70518924369247,40.88282786718433],[129.18811486218,40.66180776627199],[129.01039961152821,40.485436102859815],[128.63336836152672,40.18984691015031],[127.96741417858135,40.02541250259756],[127.53343550019417,39.7568500839767],[127.5021195822253,39.32393077245153],[127.38543419811027,39.213472398427655],[127.78334272675772,39.05089834243742],[128.34971642467661,38.61224294692785],[128.20574588431145,38.37039724380189],[127.78003543509101,38.30453563084589],[127.07330854706737,38.2561148137884],[126.68371992401893,37.80477285415118],[126.23733890188176,37.84037791600028],[126.17475874237624,37.74968577732804],[125.68910363169721,37.94001007745902],[125.5684391622957,37.75208873142962],[125.2753304383362,37.669070542952724],[125.24008711151316,37.85722443292744],[124.98103315643397,37.94882090916478],[124.71216067921938,38.10834605564979],[124.98599409393398,38.54847422947968],[125.2219486837787,38.66585724543067],[125.13285851450752,38.84855927179859],[125.3865897970606,39.387957872061165],[125.32111575734682,39.55138458918421],[124.7374821310424,39.66034434667162],[124.26562462778531,39.928493353834156],[125.07994184784064,40.56982371679245],[126.18204511932943,41.10733612727637],[126.86908328664987,41.81656932226619],[127.34378299368302,41.50315176041597],[128.20843305879066,41.46677155208249],[128.0522152039723,41.99428457291795],[129.59666873587952,42.42498179785456],[129.99426720593323,42.985386867843786],[130.63999970690955,42.39502427522179]]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":5,\"sovereignt\":\"Bhutan\",\"sov_a3\":\"BTN\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Bhutan\",\"adm0_a3\":\"BTN\",\"geou_dif\":0,\"geounit\":\"Bhutan\",\"gu_a3\":\"BTN\",\"su_dif\":0,\"subunit\":\"Bhutan\",\"su_a3\":\"BTN\",\"brk_diff\":0,\"name\":\"Bhutan\",\"name_long\":\"Bhutan\",\"brk_a3\":\"BTN\",\"brk_name\":\"Bhutan\",\"brk_group\":null,\"abbrev\":\"Bhutan\",\"postal\":\"BT\",\"formal_en\":\"Kingdom of Bhutan\",\"formal_fr\":null,\"name_ciawf\":\"Bhutan\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Bhutan\",\"name_alt\":null,\"mapcolor7\":5,\"mapcolor8\":6,\"mapcolor9\":1,\"mapcolor13\":8,\"pop_est\":763092,\"pop_rank\":11,\"pop_year\":2019,\"gdp_md\":2530,\"gdp_year\":2019,\"economy\":\"7. Least developed region\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"BT\",\"iso_a2\":\"BT\",\"iso_a2_eh\":\"BT\",\"iso_a3\":\"BTN\",\"iso_a3_eh\":\"BTN\",\"iso_n3\":\"064\",\"iso_n3_eh\":\"064\",\"un_a3\":\"064\",\"wb_a2\":\"BT\",\"wb_a3\":\"BTN\",\"woe_id\":23424770,\"woe_id_eh\":23424770,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"BTN\",\"adm0_diff\":null,\"adm0_tlc\":\"BTN\",\"adm0_a3_us\":\"BTN\",\"adm0_a3_fr\":\"BTN\",\"adm0_a3_ru\":\"BTN\",\"adm0_a3_es\":\"BTN\",\"adm0_a3_cn\":\"BTN\",\"adm0_a3_tw\":\"BTN\",\"adm0_a3_in\":\"BTN\",\"adm0_a3_np\":\"BTN\",\"adm0_a3_pk\":\"BTN\",\"adm0_a3_de\":\"BTN\",\"adm0_a3_gb\":\"BTN\",\"adm0_a3_br\":\"BTN\",\"adm0_a3_il\":\"BTN\",\"adm0_a3_ps\":\"BTN\",\"adm0_a3_sa\":\"BTN\",\"adm0_a3_eg\":\"BTN\",\"adm0_a3_ma\":\"BTN\",\"adm0_a3_pt\":\"BTN\",\"adm0_a3_ar\":\"BTN\",\"adm0_a3_jp\":\"BTN\",\"adm0_a3_ko\":\"BTN\",\"adm0_a3_vn\":\"BTN\",\"adm0_a3_tr\":\"BTN\",\"adm0_a3_id\":\"BTN\",\"adm0_a3_pl\":\"BTN\",\"adm0_a3_gr\":\"BTN\",\"adm0_a3_it\":\"BTN\",\"adm0_a3_nl\":\"BTN\",\"adm0_a3_se\":\"BTN\",\"adm0_a3_bd\":\"BTN\",\"adm0_a3_ua\":\"BTN\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"Southern Asia\",\"region_wb\":\"South Asia\",\"name_len\":6,\"long_len\":6,\"abbrev_len\":6,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":90.040294,\"label_y\":27.536685,\"ne_id\":1159320453,\"wikidataid\":\"Q917\",\"name_ar\":\"بوتان\",\"name_bn\":\"ভুটান\",\"name_de\":\"Bhutan\",\"name_en\":\"Bhutan\",\"name_es\":\"Bután\",\"name_fa\":\"بوتان\",\"name_fr\":\"Bhoutan\",\"name_el\":\"Μπουτάν\",\"name_he\":\"בהוטן\",\"name_hi\":\"भूटान\",\"name_hu\":\"Bhután\",\"name_id\":\"Bhutan\",\"name_it\":\"Bhutan\",\"name_ja\":\"ブータン\",\"name_ko\":\"부탄\",\"name_nl\":\"Bhutan\",\"name_pl\":\"Bhutan\",\"name_pt\":\"Butão\",\"name_ru\":\"Бутан\",\"name_sv\":\"Bhutan\",\"name_tr\":\"Bhutan\",\"name_uk\":\"Бутан\",\"name_ur\":\"بھوٹان\",\"name_vi\":\"Bhutan\",\"name_zh\":\"不丹\",\"name_zht\":\"不丹\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"BTN.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[91.69665652869668,27.771741848251665],[92.10371178585974,27.452614040633208],[92.03348351437509,26.83831045176356],[91.21751264848643,26.808648179628022],[90.37327477413407,26.87572418874288],[89.74452762243885,26.719402981059957],[88.83564253128938,27.098966376243762],[88.81424848832056,27.299315904239364],[89.47581017452111,28.042758897406397],[90.01582889197118,28.296438503527217],[90.7305139505678,28.064953925075756],[91.25885379431992,28.040614325466294],[91.69665652869668,27.771741848251665]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":4,\"sovereignt\":\"Oman\",\"sov_a3\":\"OMN\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Oman\",\"adm0_a3\":\"OMN\",\"geou_dif\":0,\"geounit\":\"Oman\",\"gu_a3\":\"OMN\",\"su_dif\":0,\"subunit\":\"Oman\",\"su_a3\":\"OMN\",\"brk_diff\":0,\"name\":\"Oman\",\"name_long\":\"Oman\",\"brk_a3\":\"OMN\",\"brk_name\":\"Oman\",\"brk_group\":null,\"abbrev\":\"Oman\",\"postal\":\"OM\",\"formal_en\":\"Sultanate of Oman\",\"formal_fr\":null,\"name_ciawf\":\"Oman\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Oman\",\"name_alt\":null,\"mapcolor7\":1,\"mapcolor8\":4,\"mapcolor9\":1,\"mapcolor13\":6,\"pop_est\":4974986,\"pop_rank\":12,\"pop_year\":2019,\"gdp_md\":76331,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"2. High income: nonOECD\",\"fips_10\":\"MU\",\"iso_a2\":\"OM\",\"iso_a2_eh\":\"OM\",\"iso_a3\":\"OMN\",\"iso_a3_eh\":\"OMN\",\"iso_n3\":\"512\",\"iso_n3_eh\":\"512\",\"un_a3\":\"512\",\"wb_a2\":\"OM\",\"wb_a3\":\"OMN\",\"woe_id\":23424898,\"woe_id_eh\":23424898,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"OMN\",\"adm0_diff\":null,\"adm0_tlc\":\"OMN\",\"adm0_a3_us\":\"OMN\",\"adm0_a3_fr\":\"OMN\",\"adm0_a3_ru\":\"OMN\",\"adm0_a3_es\":\"OMN\",\"adm0_a3_cn\":\"OMN\",\"adm0_a3_tw\":\"OMN\",\"adm0_a3_in\":\"OMN\",\"adm0_a3_np\":\"OMN\",\"adm0_a3_pk\":\"OMN\",\"adm0_a3_de\":\"OMN\",\"adm0_a3_gb\":\"OMN\",\"adm0_a3_br\":\"OMN\",\"adm0_a3_il\":\"OMN\",\"adm0_a3_ps\":\"OMN\",\"adm0_a3_sa\":\"OMN\",\"adm0_a3_eg\":\"OMN\",\"adm0_a3_ma\":\"OMN\",\"adm0_a3_pt\":\"OMN\",\"adm0_a3_ar\":\"OMN\",\"adm0_a3_jp\":\"OMN\",\"adm0_a3_ko\":\"OMN\",\"adm0_a3_vn\":\"OMN\",\"adm0_a3_tr\":\"OMN\",\"adm0_a3_id\":\"OMN\",\"adm0_a3_pl\":\"OMN\",\"adm0_a3_gr\":\"OMN\",\"adm0_a3_it\":\"OMN\",\"adm0_a3_nl\":\"OMN\",\"adm0_a3_se\":\"OMN\",\"adm0_a3_bd\":\"OMN\",\"adm0_a3_ua\":\"OMN\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"Western Asia\",\"region_wb\":\"Middle East & North Africa\",\"name_len\":4,\"long_len\":4,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":57.336553,\"label_y\":22.120427,\"ne_id\":1159321151,\"wikidataid\":\"Q842\",\"name_ar\":\"سلطنة عمان\",\"name_bn\":\"ওমান\",\"name_de\":\"Oman\",\"name_en\":\"Oman\",\"name_es\":\"Omán\",\"name_fa\":\"عمان\",\"name_fr\":\"Oman\",\"name_el\":\"Ομάν\",\"name_he\":\"עומאן\",\"name_hi\":\"ओमान\",\"name_hu\":\"Omán\",\"name_id\":\"Oman\",\"name_it\":\"Oman\",\"name_ja\":\"オマーン\",\"name_ko\":\"오만\",\"name_nl\":\"Oman\",\"name_pl\":\"Oman\",\"name_pt\":\"Omã\",\"name_ru\":\"Оман\",\"name_sv\":\"Oman\",\"name_tr\":\"Umman\",\"name_uk\":\"Оман\",\"name_ur\":\"عمان\",\"name_vi\":\"Oman\",\"name_zh\":\"阿曼\",\"name_zht\":\"阿曼\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"OMN.geojson\"},\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[[[55.208341098863194,22.708329982997046],[55.234489373602884,23.110992743415324],[55.525841098864475,23.524869289640932],[55.52863162620824,23.933604030853502],[55.98121382022046,24.13054291431783],[55.804118686756226,24.269604193615265],[55.88623253766801,24.920830593357447],[56.396847365144005,24.924732163995486],[56.845140415276006,24.241673081961505],[57.4034525897574,23.878594468678813],[58.13694786970825,23.74793060962881],[58.72921146020542,23.56566783293536],[59.18050174341033,22.992395331305474],[59.45009769067703,22.6602709009656],[59.80806033716286,22.533611965418217],[59.806148309168066,22.310524807214193],[59.442191196536385,21.714540513592027],[59.28240766788991,21.43388580981485],[58.86114139184656,21.114034532144302],[58.48798587426694,20.428985907467094],[58.034318475176605,20.481437486243337],[57.826372511634105,20.24300242764863],[57.665762160070955,19.73600495043307],[57.788700392493325,19.067570298737678],[57.694390903560645,18.94470958096376],[57.234263950433814,18.947991034414287],[56.60965091332193,18.574267076079465],[56.51218916201947,18.087113348863966],[56.28352094912793,17.876066799383963],[55.66149173363064,17.884128322821496],[55.26993940615512,17.632309068263197],[55.27490034365513,17.22835439703762],[54.79100223167404,16.95069692633338],[54.23925296409371,17.044980577049913],[53.570508253804576,16.707662665264706],[53.10857262554751,16.651051133688952],[52.78218427919205,17.349742336491232],[52.00000980002224,19.000003363516058],[54.99998172386236,19.999994004796108],[55.666659376859826,22.00000112557234],[55.208341098863194,22.708329982997046]]],[[[56.261041701080956,25.71460643157677],[56.07082075381456,26.05546417897398],[56.36201744977927,26.39593435312898],[56.48567915225374,26.309117946878633],[56.39142133975335,25.895990708921246],[56.261041701080956,25.71460643157677]]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Uzbekistan\",\"sov_a3\":\"UZB\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Uzbekistan\",\"adm0_a3\":\"UZB\",\"geou_dif\":0,\"geounit\":\"Uzbekistan\",\"gu_a3\":\"UZB\",\"su_dif\":0,\"subunit\":\"Uzbekistan\",\"su_a3\":\"UZB\",\"brk_diff\":0,\"name\":\"Uzbekistan\",\"name_long\":\"Uzbekistan\",\"brk_a3\":\"UZB\",\"brk_name\":\"Uzbekistan\",\"brk_group\":null,\"abbrev\":\"Uzb.\",\"postal\":\"UZ\",\"formal_en\":\"Republic of Uzbekistan\",\"formal_fr\":null,\"name_ciawf\":\"Uzbekistan\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Uzbekistan\",\"name_alt\":null,\"mapcolor7\":2,\"mapcolor8\":3,\"mapcolor9\":5,\"mapcolor13\":4,\"pop_est\":33580650,\"pop_rank\":15,\"pop_year\":2019,\"gdp_md\":57921,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"UZ\",\"iso_a2\":\"UZ\",\"iso_a2_eh\":\"UZ\",\"iso_a3\":\"UZB\",\"iso_a3_eh\":\"UZB\",\"iso_n3\":\"860\",\"iso_n3_eh\":\"860\",\"un_a3\":\"860\",\"wb_a2\":\"UZ\",\"wb_a3\":\"UZB\",\"woe_id\":23424980,\"woe_id_eh\":23424980,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"UZB\",\"adm0_diff\":null,\"adm0_tlc\":\"UZB\",\"adm0_a3_us\":\"UZB\",\"adm0_a3_fr\":\"UZB\",\"adm0_a3_ru\":\"UZB\",\"adm0_a3_es\":\"UZB\",\"adm0_a3_cn\":\"UZB\",\"adm0_a3_tw\":\"UZB\",\"adm0_a3_in\":\"UZB\",\"adm0_a3_np\":\"UZB\",\"adm0_a3_pk\":\"UZB\",\"adm0_a3_de\":\"UZB\",\"adm0_a3_gb\":\"UZB\",\"adm0_a3_br\":\"UZB\",\"adm0_a3_il\":\"UZB\",\"adm0_a3_ps\":\"UZB\",\"adm0_a3_sa\":\"UZB\",\"adm0_a3_eg\":\"UZB\",\"adm0_a3_ma\":\"UZB\",\"adm0_a3_pt\":\"UZB\",\"adm0_a3_ar\":\"UZB\",\"adm0_a3_jp\":\"UZB\",\"adm0_a3_ko\":\"UZB\",\"adm0_a3_vn\":\"UZB\",\"adm0_a3_tr\":\"UZB\",\"adm0_a3_id\":\"UZB\",\"adm0_a3_pl\":\"UZB\",\"adm0_a3_gr\":\"UZB\",\"adm0_a3_it\":\"UZB\",\"adm0_a3_nl\":\"UZB\",\"adm0_a3_se\":\"UZB\",\"adm0_a3_bd\":\"UZB\",\"adm0_a3_ua\":\"UZB\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"Central Asia\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":10,\"long_len\":10,\"abbrev_len\":4,\"tiny\":5,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":64.005429,\"label_y\":41.693603,\"ne_id\":1159321405,\"wikidataid\":\"Q265\",\"name_ar\":\"أوزبكستان\",\"name_bn\":\"উজবেকিস্তান\",\"name_de\":\"Usbekistan\",\"name_en\":\"Uzbekistan\",\"name_es\":\"Uzbekistán\",\"name_fa\":\"ازبکستان\",\"name_fr\":\"Ouzbékistan\",\"name_el\":\"Ουζμπεκιστάν\",\"name_he\":\"אוזבקיסטן\",\"name_hi\":\"उज़्बेकिस्तान\",\"name_hu\":\"Üzbegisztán\",\"name_id\":\"Uzbekistan\",\"name_it\":\"Uzbekistan\",\"name_ja\":\"ウズベキスタン\",\"name_ko\":\"우즈베키스탄\",\"name_nl\":\"Oezbekistan\",\"name_pl\":\"Uzbekistan\",\"name_pt\":\"Uzbequistão\",\"name_ru\":\"Узбекистан\",\"name_sv\":\"Uzbekistan\",\"name_tr\":\"Özbekistan\",\"name_uk\":\"Узбекистан\",\"name_ur\":\"ازبکستان\",\"name_vi\":\"Uzbekistan\",\"name_zh\":\"乌兹别克斯坦\",\"name_zht\":\"烏茲別克\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"UZB.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[55.96819135928291,41.30864166926936],[55.928917270741096,44.99585846615911],[58.50312706892845,45.586804307632974],[58.68998904809581,45.50001373959873],[60.23997195825834,44.78403677019473],[61.05831994003245,44.40581696225051],[62.01330040878625,43.50447663021565],[63.18578698105657,43.650074978198006],[64.90082441595928,43.72808055274258],[66.09801232286509,42.997660020513095],[66.02339155463562,41.99464630794404],[66.51064863471572,41.987644151368556],[66.71404707221652,41.1684435084615],[67.98585574735182,41.13599070898222],[68.25989586779562,40.6623245305949],[68.63248294462002,40.66868073176681],[69.07002729683524,41.38424428971234],[70.3889648782208,42.08130768489745],[70.96231489449914,42.266154283205495],[71.25924767444823,42.16771067968946],[70.42002241402821,41.51999827734314],[71.1578585142916,41.14358714452912],[71.87011478057047,41.392900092121266],[73.05541710804917,40.866033026689465],[71.77487511585656,40.14584442805378],[71.01419803252017,40.24436554621823],[70.60140669137269,40.21852733007229],[70.45815962105962,40.49649485937029],[70.66662234892505,40.960213324541414],[69.32949466337283,40.72782440852485],[69.0116329283455,40.08615814875667],[68.53641645698943,39.53345286717894],[67.70142866401736,39.58047842056453],[67.44221967964131,39.140143541005486],[68.17602501818592,38.901553453113905],[68.39203250516596,38.15702525486874],[67.82999962755952,37.144994004864685],[67.07578209825962,37.35614390720929],[66.51860680528867,37.36278432875879],[66.54615034370022,37.97468496352687],[65.2159989765074,38.4026950139843],[64.17022301621677,38.892406724598246],[63.51801476426103,39.36325653742564],[62.374260288345006,40.05388621679039],[61.88271406438469,41.084856879229406],[61.54717898951356,41.266370347654615],[60.465952996670694,41.22032664648255],[60.083340691981675,41.425146185871405],[59.976422153569786,42.22308197689021],[58.62901085799146,42.75155101172305],[57.78652998233708,42.17055288346552],[56.932215203687804,41.826026109375604],[57.0963912290791,41.32231008561057],[55.96819135928291,41.30864166926936]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Kazakhstan\",\"sov_a3\":\"KA1\",\"adm0_dif\":1,\"level\":1,\"type\":\"Sovereignty\",\"tlc\":\"1\",\"admin\":\"Kazakhstan\",\"adm0_a3\":\"KAZ\",\"geou_dif\":0,\"geounit\":\"Kazakhstan\",\"gu_a3\":\"KAZ\",\"su_dif\":0,\"subunit\":\"Kazakhstan\",\"su_a3\":\"KAZ\",\"brk_diff\":0,\"name\":\"Kazakhstan\",\"name_long\":\"Kazakhstan\",\"brk_a3\":\"KAZ\",\"brk_name\":\"Kazakhstan\",\"brk_group\":null,\"abbrev\":\"Kaz.\",\"postal\":\"KZ\",\"formal_en\":\"Republic of Kazakhstan\",\"formal_fr\":null,\"name_ciawf\":\"Kazakhstan\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Kazakhstan\",\"name_alt\":null,\"mapcolor7\":6,\"mapcolor8\":1,\"mapcolor9\":6,\"mapcolor13\":1,\"pop_est\":18513930,\"pop_rank\":14,\"pop_year\":2019,\"gdp_md\":181665,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"KZ\",\"iso_a2\":\"KZ\",\"iso_a2_eh\":\"KZ\",\"iso_a3\":\"KAZ\",\"iso_a3_eh\":\"KAZ\",\"iso_n3\":\"398\",\"iso_n3_eh\":\"398\",\"un_a3\":\"398\",\"wb_a2\":\"KZ\",\"wb_a3\":\"KAZ\",\"woe_id\":-90,\"woe_id_eh\":23424871,\"woe_note\":\"Includes Baykonur Cosmodrome as an Admin-1 states provinces\",\"adm0_iso\":\"KAZ\",\"adm0_diff\":null,\"adm0_tlc\":\"KAZ\",\"adm0_a3_us\":\"KAZ\",\"adm0_a3_fr\":\"KAZ\",\"adm0_a3_ru\":\"KAZ\",\"adm0_a3_es\":\"KAZ\",\"adm0_a3_cn\":\"KAZ\",\"adm0_a3_tw\":\"KAZ\",\"adm0_a3_in\":\"KAZ\",\"adm0_a3_np\":\"KAZ\",\"adm0_a3_pk\":\"KAZ\",\"adm0_a3_de\":\"KAZ\",\"adm0_a3_gb\":\"KAZ\",\"adm0_a3_br\":\"KAZ\",\"adm0_a3_il\":\"KAZ\",\"adm0_a3_ps\":\"KAZ\",\"adm0_a3_sa\":\"KAZ\",\"adm0_a3_eg\":\"KAZ\",\"adm0_a3_ma\":\"KAZ\",\"adm0_a3_pt\":\"KAZ\",\"adm0_a3_ar\":\"KAZ\",\"adm0_a3_jp\":\"KAZ\",\"adm0_a3_ko\":\"KAZ\",\"adm0_a3_vn\":\"KAZ\",\"adm0_a3_tr\":\"KAZ\",\"adm0_a3_id\":\"KAZ\",\"adm0_a3_pl\":\"KAZ\",\"adm0_a3_gr\":\"KAZ\",\"adm0_a3_it\":\"KAZ\",\"adm0_a3_nl\":\"KAZ\",\"adm0_a3_se\":\"KAZ\",\"adm0_a3_bd\":\"KAZ\",\"adm0_a3_ua\":\"KAZ\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"Central Asia\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":10,\"long_len\":10,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":2.7,\"max_label\":7,\"label_x\":68.685548,\"label_y\":49.054149,\"ne_id\":1159320967,\"wikidataid\":\"Q232\",\"name_ar\":\"كازاخستان\",\"name_bn\":\"কাজাখস্তান\",\"name_de\":\"Kasachstan\",\"name_en\":\"Kazakhstan\",\"name_es\":\"Kazajistán\",\"name_fa\":\"قزاقستان\",\"name_fr\":\"Kazakhstan\",\"name_el\":\"Καζακστάν\",\"name_he\":\"קזחסטן\",\"name_hi\":\"कज़ाख़िस्तान\",\"name_hu\":\"Kazahsztán\",\"name_id\":\"Kazakhstan\",\"name_it\":\"Kazakistan\",\"name_ja\":\"カザフスタン\",\"name_ko\":\"카자흐스탄\",\"name_nl\":\"Kazachstan\",\"name_pl\":\"Kazachstan\",\"name_pt\":\"Cazaquistão\",\"name_ru\":\"Казахстан\",\"name_sv\":\"Kazakstan\",\"name_tr\":\"Kazakistan\",\"name_uk\":\"Казахстан\",\"name_ur\":\"قازقستان\",\"name_vi\":\"Kazakhstan\",\"name_zh\":\"哈萨克斯坦\",\"name_zht\":\"哈薩克\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"KAZ.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[87.35997033076265,49.21498078062912],[86.59877648310336,48.549181626980626],[85.7682328633083,48.45575063739699],[85.72048383987067,47.452969468773105],[85.16429039911324,47.0009557155161],[83.18048383986047,47.33003123635086],[82.45892581576906,45.539649563166506],[81.9470707539181,45.31702749285312],[79.96610639844141,44.91751699480463],[80.86620649610126,43.18036204688101],[80.1801501809943,42.92006785742694],[80.2599902688853,42.34999929459906],[79.64364546094012,42.49668284765953],[79.14217736197978,42.85609243424952],[77.65839196158322,42.96068553320826],[76.00035363149846,42.98802236589067],[75.63696495962202,42.87789988867668],[74.21286583852256,43.29833934180337],[73.64530358266092,43.09127187760987],[73.48975752146237,42.50089447689132],[71.8446382994506,42.8453954127651],[71.18628055205212,42.70429291439214],[70.96231489449914,42.266154283205495],[70.3889648782208,42.08130768489745],[69.07002729683524,41.38424428971234],[68.63248294462002,40.66868073176681],[68.25989586779562,40.6623245305949],[67.98585574735182,41.13599070898222],[66.71404707221652,41.1684435084615],[66.51064863471572,41.987644151368556],[66.02339155463562,41.99464630794404],[66.09801232286509,42.997660020513095],[64.90082441595928,43.72808055274258],[63.18578698105657,43.650074978198006],[62.01330040878625,43.50447663021565],[61.05831994003245,44.40581696225051],[60.23997195825834,44.78403677019473],[58.68998904809581,45.50001373959873],[58.50312706892845,45.586804307632974],[55.928917270741096,44.99585846615911],[55.96819135928291,41.30864166926936],[55.45525109235377,41.25985911718584],[54.75534549339264,42.043971462566574],[54.07941775901495,42.32410940202083],[52.944293247291654,42.11603424739759],[52.50245975119615,41.78331553808637],[52.44633914572722,42.027150783855575],[52.692112257707265,42.44389537207337],[52.50142622255032,42.7922978785852],[51.342427199108215,43.132974758469345],[50.89129194520024,44.03103363705378],[50.339129266161365,44.284015611338475],[50.30564293803627,44.609835516938915],[51.278503452363225,44.51485423438646],[51.31689904155604,45.2459982366679],[52.16738976421573,45.40839142514511],[53.0408764992452,45.25904653582177],[53.220865512917726,46.234645901059935],[53.042736850807785,46.85300608986449],[52.04202273947561,46.80463694923924],[51.191945428274266,47.048704738953916],[50.03408328634248,46.60898997658222],[49.10116000000011,46.399330000000134],[48.59325000000018,46.56104],[48.694733514201744,47.07562816017793],[48.05725,47.74377],[47.31524000000013,47.7158500000001],[46.46644575377627,48.39415233010493],[47.04367150247651,49.152038886097614],[46.75159630716274,49.35600576435377],[47.54948042174931,50.454698391311126],[48.57784142435753,49.87475962991567],[48.70238162618102,50.60512848571284],[50.76664839051216,51.6927623561599],[52.32872358583097,51.718652248738124],[54.532878452376224,51.02623973245932],[55.71694,50.62171000000018],[56.77798000000013,51.04355],[58.36332,51.06364],[59.642282342370606,50.545442206415714],[59.93280724471549,50.842194118851864],[61.337424350840934,50.79907013610426],[61.58800337102417,51.272658799843214],[59.967533807215545,51.9604204372157],[60.92726850774028,52.44754832621504],[60.73999311711458,52.71998647725775],[61.699986199800605,52.97999644633427],[60.978066440683165,53.66499339457914],[61.43660000000017,54.00625],[65.17853356309593,54.35422781027211],[65.66687,54.60125000000011],[68.16910037625883,54.97039175070432],[69.06816694527288,55.38525014914353],[70.86526655465514,55.169733588270105],[71.18013105660941,54.13328522400826],[72.22415001820218,54.376655381886735],[73.5085160663844,54.0356167669766],[73.42567874542044,53.489810289109755],[74.38482000000016,53.54685000000012],[76.89110029491343,54.49052440044193],[76.52517947785475,54.17700348572714],[77.80091556184425,53.404414984747575],[80.03555952344169,50.86475088154725],[80.56844689323549,51.38833649352847],[81.94598554883993,50.81219594990637],[83.38300377801238,51.069182847693924],[83.93511478061885,50.88924551045358],[84.41637739455308,50.311399644565824],[85.11555952346203,50.11730296487764],[85.54126997268247,49.69285858824816],[86.82935672398963,49.82667470966817],[87.35997033076265,49.21498078062912]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":4,\"sovereignt\":\"Tajikistan\",\"sov_a3\":\"TJK\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Tajikistan\",\"adm0_a3\":\"TJK\",\"geou_dif\":0,\"geounit\":\"Tajikistan\",\"gu_a3\":\"TJK\",\"su_dif\":0,\"subunit\":\"Tajikistan\",\"su_a3\":\"TJK\",\"brk_diff\":0,\"name\":\"Tajikistan\",\"name_long\":\"Tajikistan\",\"brk_a3\":\"TJK\",\"brk_name\":\"Tajikistan\",\"brk_group\":null,\"abbrev\":\"Tjk.\",\"postal\":\"TJ\",\"formal_en\":\"Republic of Tajikistan\",\"formal_fr\":null,\"name_ciawf\":\"Tajikistan\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Tajikistan\",\"name_alt\":null,\"mapcolor7\":3,\"mapcolor8\":6,\"mapcolor9\":2,\"mapcolor13\":5,\"pop_est\":9321018,\"pop_rank\":13,\"pop_year\":2019,\"gdp_md\":8116,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"5. Low income\",\"fips_10\":\"TI\",\"iso_a2\":\"TJ\",\"iso_a2_eh\":\"TJ\",\"iso_a3\":\"TJK\",\"iso_a3_eh\":\"TJK\",\"iso_n3\":\"762\",\"iso_n3_eh\":\"762\",\"un_a3\":\"762\",\"wb_a2\":\"TJ\",\"wb_a3\":\"TJK\",\"woe_id\":23424961,\"woe_id_eh\":23424961,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"TJK\",\"adm0_diff\":null,\"adm0_tlc\":\"TJK\",\"adm0_a3_us\":\"TJK\",\"adm0_a3_fr\":\"TJK\",\"adm0_a3_ru\":\"TJK\",\"adm0_a3_es\":\"TJK\",\"adm0_a3_cn\":\"TJK\",\"adm0_a3_tw\":\"TJK\",\"adm0_a3_in\":\"TJK\",\"adm0_a3_np\":\"TJK\",\"adm0_a3_pk\":\"TJK\",\"adm0_a3_de\":\"TJK\",\"adm0_a3_gb\":\"TJK\",\"adm0_a3_br\":\"TJK\",\"adm0_a3_il\":\"TJK\",\"adm0_a3_ps\":\"TJK\",\"adm0_a3_sa\":\"TJK\",\"adm0_a3_eg\":\"TJK\",\"adm0_a3_ma\":\"TJK\",\"adm0_a3_pt\":\"TJK\",\"adm0_a3_ar\":\"TJK\",\"adm0_a3_jp\":\"TJK\",\"adm0_a3_ko\":\"TJK\",\"adm0_a3_vn\":\"TJK\",\"adm0_a3_tr\":\"TJK\",\"adm0_a3_id\":\"TJK\",\"adm0_a3_pl\":\"TJK\",\"adm0_a3_gr\":\"TJK\",\"adm0_a3_it\":\"TJK\",\"adm0_a3_nl\":\"TJK\",\"adm0_a3_se\":\"TJK\",\"adm0_a3_bd\":\"TJK\",\"adm0_a3_ua\":\"TJK\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"Central Asia\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":10,\"long_len\":10,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":72.587276,\"label_y\":38.199835,\"ne_id\":1159321307,\"wikidataid\":\"Q863\",\"name_ar\":\"طاجيكستان\",\"name_bn\":\"তাজিকিস্তান\",\"name_de\":\"Tadschikistan\",\"name_en\":\"Tajikistan\",\"name_es\":\"Tayikistán\",\"name_fa\":\"تاجیکستان\",\"name_fr\":\"Tadjikistan\",\"name_el\":\"Τατζικιστάν\",\"name_he\":\"טג׳יקיסטן\",\"name_hi\":\"ताजिकिस्तान\",\"name_hu\":\"Tádzsikisztán\",\"name_id\":\"Tajikistan\",\"name_it\":\"Tagikistan\",\"name_ja\":\"タジキスタン\",\"name_ko\":\"타지키스탄\",\"name_nl\":\"Tadzjikistan\",\"name_pl\":\"Tadżykistan\",\"name_pt\":\"Tajiquistão\",\"name_ru\":\"Таджикистан\",\"name_sv\":\"Tadzjikistan\",\"name_tr\":\"Tacikistan\",\"name_uk\":\"Таджикистан\",\"name_ur\":\"تاجکستان\",\"name_vi\":\"Tajikistan\",\"name_zh\":\"塔吉克斯坦\",\"name_zht\":\"塔吉克\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"TJK.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[67.82999962755952,37.144994004864685],[68.39203250516596,38.15702525486874],[68.17602501818592,38.901553453113905],[67.44221967964131,39.140143541005486],[67.70142866401736,39.58047842056453],[68.53641645698943,39.53345286717894],[69.0116329283455,40.08615814875667],[69.32949466337283,40.72782440852485],[70.66662234892505,40.960213324541414],[70.45815962105962,40.49649485937029],[70.60140669137269,40.21852733007229],[71.01419803252017,40.24436554621823],[70.64801883329997,39.93575389257117],[69.55960981636852,40.10321137141298],[69.46488691597753,39.5266832545487],[70.54916181832562,39.6041979029865],[71.784693637992,39.27946320246437],[73.6753792662548,39.4312368841056],[73.92885216664644,38.50581533462274],[74.25751427602273,38.60650686294345],[74.86481570831683,38.3788463404816],[74.8299857929521,37.9900070257014],[74.98000247589542,37.419990139305895],[73.9486959166465,37.4215662704908],[73.26005577992501,37.495256862939],[72.63688968291729,37.047558091778356],[72.1930408059624,36.948287665345674],[71.8446382994506,36.73817129164692],[71.44869347523024,37.06564484308052],[71.54191775908478,37.905774441065645],[71.23940392444817,37.953265082341886],[71.34813113799026,38.25890534113216],[70.80682050973289,38.486281643216415],[70.3763041523093,38.13839590102752],[70.27057417184014,37.735164699854025],[70.11657840361033,37.58822276463209],[69.51878543485796,37.60899669041342],[69.19627282092438,37.15114350030743],[68.85944583524594,37.344335842430596],[68.13556237170138,37.02311513930431],[67.82999962755952,37.144994004864685]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Mongolia\",\"sov_a3\":\"MNG\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Mongolia\",\"adm0_a3\":\"MNG\",\"geou_dif\":0,\"geounit\":\"Mongolia\",\"gu_a3\":\"MNG\",\"su_dif\":0,\"subunit\":\"Mongolia\",\"su_a3\":\"MNG\",\"brk_diff\":0,\"name\":\"Mongolia\",\"name_long\":\"Mongolia\",\"brk_a3\":\"MNG\",\"brk_name\":\"Mongolia\",\"brk_group\":null,\"abbrev\":\"Mong.\",\"postal\":\"MN\",\"formal_en\":\"Mongolia\",\"formal_fr\":null,\"name_ciawf\":\"Mongolia\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Mongolia\",\"name_alt\":null,\"mapcolor7\":3,\"mapcolor8\":5,\"mapcolor9\":5,\"mapcolor13\":6,\"pop_est\":3225167,\"pop_rank\":12,\"pop_year\":2019,\"gdp_md\":13996,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"MG\",\"iso_a2\":\"MN\",\"iso_a2_eh\":\"MN\",\"iso_a3\":\"MNG\",\"iso_a3_eh\":\"MNG\",\"iso_n3\":\"496\",\"iso_n3_eh\":\"496\",\"un_a3\":\"496\",\"wb_a2\":\"MN\",\"wb_a3\":\"MNG\",\"woe_id\":23424887,\"woe_id_eh\":23424887,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"MNG\",\"adm0_diff\":null,\"adm0_tlc\":\"MNG\",\"adm0_a3_us\":\"MNG\",\"adm0_a3_fr\":\"MNG\",\"adm0_a3_ru\":\"MNG\",\"adm0_a3_es\":\"MNG\",\"adm0_a3_cn\":\"MNG\",\"adm0_a3_tw\":\"MNG\",\"adm0_a3_in\":\"MNG\",\"adm0_a3_np\":\"MNG\",\"adm0_a3_pk\":\"MNG\",\"adm0_a3_de\":\"MNG\",\"adm0_a3_gb\":\"MNG\",\"adm0_a3_br\":\"MNG\",\"adm0_a3_il\":\"MNG\",\"adm0_a3_ps\":\"MNG\",\"adm0_a3_sa\":\"MNG\",\"adm0_a3_eg\":\"MNG\",\"adm0_a3_ma\":\"MNG\",\"adm0_a3_pt\":\"MNG\",\"adm0_a3_ar\":\"MNG\",\"adm0_a3_jp\":\"MNG\",\"adm0_a3_ko\":\"MNG\",\"adm0_a3_vn\":\"MNG\",\"adm0_a3_tr\":\"MNG\",\"adm0_a3_id\":\"MNG\",\"adm0_a3_pl\":\"MNG\",\"adm0_a3_gr\":\"MNG\",\"adm0_a3_it\":\"MNG\",\"adm0_a3_nl\":\"MNG\",\"adm0_a3_se\":\"MNG\",\"adm0_a3_bd\":\"MNG\",\"adm0_a3_ua\":\"MNG\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"Eastern Asia\",\"region_wb\":\"East Asia & Pacific\",\"name_len\":8,\"long_len\":8,\"abbrev_len\":5,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":7,\"label_x\":104.150405,\"label_y\":45.997488,\"ne_id\":1159321071,\"wikidataid\":\"Q711\",\"name_ar\":\"منغوليا\",\"name_bn\":\"মঙ্গোলিয়া\",\"name_de\":\"Mongolei\",\"name_en\":\"Mongolia\",\"name_es\":\"Mongolia\",\"name_fa\":\"مغولستان\",\"name_fr\":\"Mongolie\",\"name_el\":\"Μογγολία\",\"name_he\":\"מונגוליה\",\"name_hi\":\"मंगोलिया\",\"name_hu\":\"Mongólia\",\"name_id\":\"Mongolia\",\"name_it\":\"Mongolia\",\"name_ja\":\"モンゴル国\",\"name_ko\":\"몽골\",\"name_nl\":\"Mongolië\",\"name_pl\":\"Mongolia\",\"name_pt\":\"Mongólia\",\"name_ru\":\"Монголия\",\"name_sv\":\"Mongoliet\",\"name_tr\":\"Moğolistan\",\"name_uk\":\"Монголія\",\"name_ur\":\"منگولیا\",\"name_vi\":\"Mông Cổ\",\"name_zh\":\"蒙古国\",\"name_zht\":\"蒙古國\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"MNG.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[87.75126427607671,49.297197984405486],[88.80556684769552,49.47052073831242],[90.71366743364068,50.33181183532109],[92.23471154171968,50.80217072204172],[93.10421,50.49529],[94.14756635943559,50.48053660745717],[94.81594933469873,50.01343333597085],[95.8140200000002,49.97746000000012],[97.25976000000014,49.72605],[98.23176150919156,50.422400621128745],[97.82573978067431,51.01099518493318],[98.86149051310034,52.04736603454669],[99.98173221232354,51.63400625264399],[100.88948042196262,51.51685578063832],[102.06521,51.25991],[102.25589,50.51056000000011],[103.67654544476022,50.089966132195116],[104.62158,50.27532000000019],[105.88659142458675,50.406019192092224],[106.8888041524553,50.27429596618032],[107.86817589725095,49.793705145865815],[108.47516727095129,49.28254771585074],[109.40244917199664,49.292960516957635],[110.66201053267878,49.13012807880585],[111.58123091028662,49.37796824807769],[112.89773969935436,49.54356537535699],[114.36245649623527,50.24830272073741],[114.96210981655018,50.140247300815126],[115.48569542853136,49.80517731383475],[116.67880089728612,49.888531399121405],[116.19180219936757,49.134598090199106],[115.48528201707306,48.13538259540344],[115.74283735561579,47.72654450132629],[116.30895267137323,47.85341014260284],[117.29550744025741,47.69770905210743],[118.06414269416672,48.06673045510369],[118.86657433479495,47.74706004494617],[119.7728239278975,47.04805878355013],[119.66326989143876,46.69267995867892],[118.87432579963873,46.80541209572365],[117.42170128791419,46.67273285581426],[116.71786828009886,46.38820241961521],[115.98509647020009,45.727235012386004],[114.46033165899607,45.339816799493825],[113.46390669154417,44.80889313412712],[112.43606245325881,45.01164561622429],[111.8733061056003,45.10207937273506],[111.34837690637946,44.45744171811009],[111.66773725794323,44.07317576758771],[111.82958784388137,43.74311839453952],[111.12968224492023,43.40683401140015],[110.41210330611528,42.87123362891103],[109.24359581913146,42.5194463160841],[107.74477257693795,42.48151581478187],[106.12931562706169,42.13432770442891],[104.96499393109347,41.59740957291635],[104.52228193564899,41.908346666016556],[103.31227827353482,41.9074681666676],[101.83304039917994,42.51487295182628],[100.84586551310827,42.66380442969145],[99.51581749878004,42.524691473961724],[97.45175744017801,42.74888967546002],[96.34939578652781,42.725635280928685],[95.76245486855669,43.319449164394605],[95.30687544147153,44.24133087826547],[94.68892866412533,44.35233185482842],[93.4807336771413,44.975472113619965],[92.13389082231822,45.11507599545646],[90.9455395853343,45.28607330991028],[90.58576826371828,45.71971609148753],[90.97080936072501,46.88814606382293],[90.28082563676392,47.69354909930793],[88.85429772334676,48.069081732772965],[88.01383222855173,48.599462795600616],[87.75126427607671,49.297197984405486]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":2,\"sovereignt\":\"Vietnam\",\"sov_a3\":\"VNM\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Vietnam\",\"adm0_a3\":\"VNM\",\"geou_dif\":0,\"geounit\":\"Vietnam\",\"gu_a3\":\"VNM\",\"su_dif\":0,\"subunit\":\"Vietnam\",\"su_a3\":\"VNM\",\"brk_diff\":0,\"name\":\"Vietnam\",\"name_long\":\"Vietnam\",\"brk_a3\":\"VNM\",\"brk_name\":\"Vietnam\",\"brk_group\":null,\"abbrev\":\"Viet.\",\"postal\":\"VN\",\"formal_en\":\"Socialist Republic of Vietnam\",\"formal_fr\":null,\"name_ciawf\":\"Vietnam\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Vietnam\",\"name_alt\":null,\"mapcolor7\":5,\"mapcolor8\":6,\"mapcolor9\":5,\"mapcolor13\":4,\"pop_est\":96462106,\"pop_rank\":16,\"pop_year\":2019,\"gdp_md\":261921,\"gdp_year\":2019,\"economy\":\"5. Emerging region: G20\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"VM\",\"iso_a2\":\"VN\",\"iso_a2_eh\":\"VN\",\"iso_a3\":\"VNM\",\"iso_a3_eh\":\"VNM\",\"iso_n3\":\"704\",\"iso_n3_eh\":\"704\",\"un_a3\":\"704\",\"wb_a2\":\"VN\",\"wb_a3\":\"VNM\",\"woe_id\":23424984,\"woe_id_eh\":23424984,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"VNM\",\"adm0_diff\":null,\"adm0_tlc\":\"VNM\",\"adm0_a3_us\":\"VNM\",\"adm0_a3_fr\":\"VNM\",\"adm0_a3_ru\":\"VNM\",\"adm0_a3_es\":\"VNM\",\"adm0_a3_cn\":\"VNM\",\"adm0_a3_tw\":\"VNM\",\"adm0_a3_in\":\"VNM\",\"adm0_a3_np\":\"VNM\",\"adm0_a3_pk\":\"VNM\",\"adm0_a3_de\":\"VNM\",\"adm0_a3_gb\":\"VNM\",\"adm0_a3_br\":\"VNM\",\"adm0_a3_il\":\"VNM\",\"adm0_a3_ps\":\"VNM\",\"adm0_a3_sa\":\"VNM\",\"adm0_a3_eg\":\"VNM\",\"adm0_a3_ma\":\"VNM\",\"adm0_a3_pt\":\"VNM\",\"adm0_a3_ar\":\"VNM\",\"adm0_a3_jp\":\"VNM\",\"adm0_a3_ko\":\"VNM\",\"adm0_a3_vn\":\"VNM\",\"adm0_a3_tr\":\"VNM\",\"adm0_a3_id\":\"VNM\",\"adm0_a3_pl\":\"VNM\",\"adm0_a3_gr\":\"VNM\",\"adm0_a3_it\":\"VNM\",\"adm0_a3_nl\":\"VNM\",\"adm0_a3_se\":\"VNM\",\"adm0_a3_bd\":\"VNM\",\"adm0_a3_ua\":\"VNM\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"South-Eastern Asia\",\"region_wb\":\"East Asia & Pacific\",\"name_len\":7,\"long_len\":7,\"abbrev_len\":5,\"tiny\":2,\"homepart\":1,\"min_zoom\":0,\"min_label\":2,\"max_label\":7,\"label_x\":105.387292,\"label_y\":21.715416,\"ne_id\":1159321417,\"wikidataid\":\"Q881\",\"name_ar\":\"فيتنام\",\"name_bn\":\"ভিয়েতনাম\",\"name_de\":\"Vietnam\",\"name_en\":\"Vietnam\",\"name_es\":\"Vietnam\",\"name_fa\":\"ویتنام\",\"name_fr\":\"Viêt Nam\",\"name_el\":\"Βιετνάμ\",\"name_he\":\"וייטנאם\",\"name_hi\":\"वियतनाम\",\"name_hu\":\"Vietnám\",\"name_id\":\"Vietnam\",\"name_it\":\"Vietnam\",\"name_ja\":\"ベトナム\",\"name_ko\":\"베트남\",\"name_nl\":\"Vietnam\",\"name_pl\":\"Wietnam\",\"name_pt\":\"Vietname\",\"name_ru\":\"Вьетнам\",\"name_sv\":\"Vietnam\",\"name_tr\":\"Vietnam\",\"name_uk\":\"В'єтнам\",\"name_ur\":\"ویتنام\",\"name_vi\":\"Việt Nam\",\"name_zh\":\"越南\",\"name_zht\":\"越南\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"VNM.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[104.33433475140347,10.48654368737523],[105.19991499229235,10.889309800658097],[106.24967003786946,10.961811835163587],[105.81052371625313,11.567614650921229],[107.49140302941089,12.337205918827948],[107.61454796756243,13.535530707244206],[107.38272749230109,14.202440904186972],[107.5645251811039,15.20217316330556],[107.3127059265456,15.90853831630318],[106.55600792849569,16.604283962464805],[105.92576216026403,17.48531545660896],[105.09459842328152,18.66697459561108],[103.89653201702671,19.265180975821806],[104.18338789267894,19.62466807706022],[104.8225736836971,19.886641750563882],[104.43500044150805,20.75873322192153],[103.20386111858645,20.76656220141375],[102.75489627483466,21.675137233969465],[102.17043582561358,22.464753119389304],[102.7069922221001,22.708795070887675],[103.50451460166056,22.70375661873921],[104.47685835166448,22.819150092046968],[105.32920942588663,23.352063300056912],[105.81124718630522,22.976892401617903],[106.72540327354847,22.79426788989842],[106.56727339073532,22.21820486092477],[107.04342003787264,21.811898912029914],[108.05018029178294,21.55237986906012],[106.7150679870901,20.69685069425202],[105.88168216351903,19.752050482659698],[105.66200564984631,19.05816518806057],[106.42681684776602,18.004120998603227],[107.36195356651974,16.697456569887052],[108.26949507042963,16.07974233648615],[108.87710656131748,15.27669057867044],[109.33526981001722,13.426028347217724],[109.20013593957398,11.666859239137764],[108.36612999881545,11.008320624226272],[107.22092858279524,10.364483954301832],[106.40511274620343,9.53083974856932],[105.15826378786511,8.599759629750494],[104.79518517458239,9.241038316276502],[105.07620161338562,9.918490505406808],[104.33433475140347,10.48654368737523]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Cambodia\",\"sov_a3\":\"KHM\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Cambodia\",\"adm0_a3\":\"KHM\",\"geou_dif\":0,\"geounit\":\"Cambodia\",\"gu_a3\":\"KHM\",\"su_dif\":0,\"subunit\":\"Cambodia\",\"su_a3\":\"KHM\",\"brk_diff\":0,\"name\":\"Cambodia\",\"name_long\":\"Cambodia\",\"brk_a3\":\"KHM\",\"brk_name\":\"Cambodia\",\"brk_group\":null,\"abbrev\":\"Camb.\",\"postal\":\"KH\",\"formal_en\":\"Kingdom of Cambodia\",\"formal_fr\":null,\"name_ciawf\":\"Cambodia\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Cambodia\",\"name_alt\":null,\"mapcolor7\":6,\"mapcolor8\":3,\"mapcolor9\":6,\"mapcolor13\":5,\"pop_est\":16486542,\"pop_rank\":14,\"pop_year\":2019,\"gdp_md\":27089,\"gdp_year\":2019,\"economy\":\"7. Least developed region\",\"income_grp\":\"5. Low income\",\"fips_10\":\"CB\",\"iso_a2\":\"KH\",\"iso_a2_eh\":\"KH\",\"iso_a3\":\"KHM\",\"iso_a3_eh\":\"KHM\",\"iso_n3\":\"116\",\"iso_n3_eh\":\"116\",\"un_a3\":\"116\",\"wb_a2\":\"KH\",\"wb_a3\":\"KHM\",\"woe_id\":23424776,\"woe_id_eh\":23424776,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"KHM\",\"adm0_diff\":null,\"adm0_tlc\":\"KHM\",\"adm0_a3_us\":\"KHM\",\"adm0_a3_fr\":\"KHM\",\"adm0_a3_ru\":\"KHM\",\"adm0_a3_es\":\"KHM\",\"adm0_a3_cn\":\"KHM\",\"adm0_a3_tw\":\"KHM\",\"adm0_a3_in\":\"KHM\",\"adm0_a3_np\":\"KHM\",\"adm0_a3_pk\":\"KHM\",\"adm0_a3_de\":\"KHM\",\"adm0_a3_gb\":\"KHM\",\"adm0_a3_br\":\"KHM\",\"adm0_a3_il\":\"KHM\",\"adm0_a3_ps\":\"KHM\",\"adm0_a3_sa\":\"KHM\",\"adm0_a3_eg\":\"KHM\",\"adm0_a3_ma\":\"KHM\",\"adm0_a3_pt\":\"KHM\",\"adm0_a3_ar\":\"KHM\",\"adm0_a3_jp\":\"KHM\",\"adm0_a3_ko\":\"KHM\",\"adm0_a3_vn\":\"KHM\",\"adm0_a3_tr\":\"KHM\",\"adm0_a3_id\":\"KHM\",\"adm0_a3_pl\":\"KHM\",\"adm0_a3_gr\":\"KHM\",\"adm0_a3_it\":\"KHM\",\"adm0_a3_nl\":\"KHM\",\"adm0_a3_se\":\"KHM\",\"adm0_a3_bd\":\"KHM\",\"adm0_a3_ua\":\"KHM\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"South-Eastern Asia\",\"region_wb\":\"East Asia & Pacific\",\"name_len\":8,\"long_len\":8,\"abbrev_len\":5,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":104.50487,\"label_y\":12.647584,\"ne_id\":1159320979,\"wikidataid\":\"Q424\",\"name_ar\":\"كمبوديا\",\"name_bn\":\"কম্বোডিয়া\",\"name_de\":\"Kambodscha\",\"name_en\":\"Cambodia\",\"name_es\":\"Camboya\",\"name_fa\":\"کامبوج\",\"name_fr\":\"Cambodge\",\"name_el\":\"Καμπότζη\",\"name_he\":\"קמבודיה\",\"name_hi\":\"कम्बोडिया\",\"name_hu\":\"Kambodzsa\",\"name_id\":\"Kamboja\",\"name_it\":\"Cambogia\",\"name_ja\":\"カンボジア\",\"name_ko\":\"캄보디아\",\"name_nl\":\"Cambodja\",\"name_pl\":\"Kambodża\",\"name_pt\":\"Camboja\",\"name_ru\":\"Камбоджа\",\"name_sv\":\"Kambodja\",\"name_tr\":\"Kamboçya\",\"name_uk\":\"Камбоджа\",\"name_ur\":\"کمبوڈیا\",\"name_vi\":\"Campuchia\",\"name_zh\":\"柬埔寨\",\"name_zht\":\"柬埔寨\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"KHM.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[102.5849324890267,12.186594956913282],[102.34809939983302,13.394247341358223],[102.98842207236163,14.225721136934467],[104.28141808473661,14.416743068901367],[105.21877689007889,14.273211778210694],[106.04394616091552,13.881091009979956],[106.49637332563088,14.570583807834282],[107.38272749230109,14.202440904186972],[107.61454796756243,13.535530707244206],[107.49140302941089,12.337205918827948],[105.81052371625313,11.567614650921229],[106.24967003786946,10.961811835163587],[105.19991499229235,10.889309800658097],[104.33433475140347,10.48654368737523],[103.4972799011397,10.632555446815928],[103.09068973186726,11.153660590047165],[102.5849324890267,12.186594956913282]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":4,\"sovereignt\":\"United Arab Emirates\",\"sov_a3\":\"ARE\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"United Arab Emirates\",\"adm0_a3\":\"ARE\",\"geou_dif\":0,\"geounit\":\"United Arab Emirates\",\"gu_a3\":\"ARE\",\"su_dif\":0,\"subunit\":\"United Arab Emirates\",\"su_a3\":\"ARE\",\"brk_diff\":0,\"name\":\"United Arab Emirates\",\"name_long\":\"United Arab Emirates\",\"brk_a3\":\"ARE\",\"brk_name\":\"United Arab Emirates\",\"brk_group\":null,\"abbrev\":\"U.A.E.\",\"postal\":\"AE\",\"formal_en\":\"United Arab Emirates\",\"formal_fr\":null,\"name_ciawf\":\"United Arab Emirates\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"United Arab Emirates\",\"name_alt\":null,\"mapcolor7\":2,\"mapcolor8\":1,\"mapcolor9\":3,\"mapcolor13\":3,\"pop_est\":9770529,\"pop_rank\":13,\"pop_year\":2019,\"gdp_md\":421142,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"2. High income: nonOECD\",\"fips_10\":\"AE\",\"iso_a2\":\"AE\",\"iso_a2_eh\":\"AE\",\"iso_a3\":\"ARE\",\"iso_a3_eh\":\"ARE\",\"iso_n3\":\"784\",\"iso_n3_eh\":\"784\",\"un_a3\":\"784\",\"wb_a2\":\"AE\",\"wb_a3\":\"ARE\",\"woe_id\":23424738,\"woe_id_eh\":23424738,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"ARE\",\"adm0_diff\":null,\"adm0_tlc\":\"ARE\",\"adm0_a3_us\":\"ARE\",\"adm0_a3_fr\":\"ARE\",\"adm0_a3_ru\":\"ARE\",\"adm0_a3_es\":\"ARE\",\"adm0_a3_cn\":\"ARE\",\"adm0_a3_tw\":\"ARE\",\"adm0_a3_in\":\"ARE\",\"adm0_a3_np\":\"ARE\",\"adm0_a3_pk\":\"ARE\",\"adm0_a3_de\":\"ARE\",\"adm0_a3_gb\":\"ARE\",\"adm0_a3_br\":\"ARE\",\"adm0_a3_il\":\"ARE\",\"adm0_a3_ps\":\"ARE\",\"adm0_a3_sa\":\"ARE\",\"adm0_a3_eg\":\"ARE\",\"adm0_a3_ma\":\"ARE\",\"adm0_a3_pt\":\"ARE\",\"adm0_a3_ar\":\"ARE\",\"adm0_a3_jp\":\"ARE\",\"adm0_a3_ko\":\"ARE\",\"adm0_a3_vn\":\"ARE\",\"adm0_a3_tr\":\"ARE\",\"adm0_a3_id\":\"ARE\",\"adm0_a3_pl\":\"ARE\",\"adm0_a3_gr\":\"ARE\",\"adm0_a3_it\":\"ARE\",\"adm0_a3_nl\":\"ARE\",\"adm0_a3_se\":\"ARE\",\"adm0_a3_bd\":\"ARE\",\"adm0_a3_ua\":\"ARE\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"Western Asia\",\"region_wb\":\"Middle East & North Africa\",\"name_len\":20,\"long_len\":20,\"abbrev_len\":6,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":54.547256,\"label_y\":23.466285,\"ne_id\":1159320329,\"wikidataid\":\"Q878\",\"name_ar\":\"الإمارات العربية المتحدة\",\"name_bn\":\"সংযুক্ত আরব আমিরাত\",\"name_de\":\"Vereinigte Arabische Emirate\",\"name_en\":\"United Arab Emirates\",\"name_es\":\"Emiratos Árabes Unidos\",\"name_fa\":\"امارات متحده عربی\",\"name_fr\":\"Émirats arabes unis\",\"name_el\":\"Ηνωμένα Αραβικά Εμιράτα\",\"name_he\":\"איחוד האמירויות הערביות\",\"name_hi\":\"संयुक्त अरब अमीरात\",\"name_hu\":\"Egyesült Arab Emírségek\",\"name_id\":\"Uni Emirat Arab\",\"name_it\":\"Emirati Arabi Uniti\",\"name_ja\":\"アラブ首長国連邦\",\"name_ko\":\"아랍에미리트\",\"name_nl\":\"Verenigde Arabische Emiraten\",\"name_pl\":\"Zjednoczone Emiraty Arabskie\",\"name_pt\":\"Emirados Árabes Unidos\",\"name_ru\":\"Объединённые Арабские Эмираты\",\"name_sv\":\"Förenade Arabemiraten\",\"name_tr\":\"Birleşik Arap Emirlikleri\",\"name_uk\":\"Об'єднані Арабські Емірати\",\"name_ur\":\"متحدہ عرب امارات\",\"name_vi\":\"Các Tiểu vương quốc Ả Rập Thống nhất\",\"name_zh\":\"阿拉伯联合酋长国\",\"name_zht\":\"阿拉伯聯合大公國\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"ARE.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[51.57951867046327,24.245497137951105],[51.757440626844186,24.29407298430547],[51.79438927593287,24.019826158132506],[52.57708051942561,24.177439276622707],[53.404006788960146,24.15131684009917],[54.00800092958758,24.121757920828216],[54.69302371604863,24.79789236093509],[55.43902469261414,25.43914520924494],[56.07082075381456,26.05546417897398],[56.261041701080956,25.71460643157677],[56.396847365144005,24.924732163995486],[55.88623253766801,24.920830593357447],[55.804118686756226,24.269604193615265],[55.98121382022046,24.13054291431783],[55.52863162620824,23.933604030853502],[55.525841098864475,23.524869289640932],[55.234489373602884,23.110992743415324],[55.208341098863194,22.708329982997046],[55.006803012924905,22.496947536707136],[52.000733270074335,23.00115448657894],[51.61770755392698,24.01421926522883],[51.57951867046327,24.245497137951105]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":5,\"sovereignt\":\"Georgia\",\"sov_a3\":\"GEO\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Georgia\",\"adm0_a3\":\"GEO\",\"geou_dif\":0,\"geounit\":\"Georgia\",\"gu_a3\":\"GEO\",\"su_dif\":0,\"subunit\":\"Georgia\",\"su_a3\":\"GEO\",\"brk_diff\":0,\"name\":\"Georgia\",\"name_long\":\"Georgia\",\"brk_a3\":\"GEO\",\"brk_name\":\"Georgia\",\"brk_group\":null,\"abbrev\":\"Geo.\",\"postal\":\"GE\",\"formal_en\":\"Georgia\",\"formal_fr\":null,\"name_ciawf\":\"Georgia\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Georgia\",\"name_alt\":null,\"mapcolor7\":5,\"mapcolor8\":1,\"mapcolor9\":3,\"mapcolor13\":2,\"pop_est\":3720382,\"pop_rank\":12,\"pop_year\":2019,\"gdp_md\":17477,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"GG\",\"iso_a2\":\"GE\",\"iso_a2_eh\":\"GE\",\"iso_a3\":\"GEO\",\"iso_a3_eh\":\"GEO\",\"iso_n3\":\"268\",\"iso_n3_eh\":\"268\",\"un_a3\":\"268\",\"wb_a2\":\"GE\",\"wb_a3\":\"GEO\",\"woe_id\":23424823,\"woe_id_eh\":23424823,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"GEO\",\"adm0_diff\":null,\"adm0_tlc\":\"GEO\",\"adm0_a3_us\":\"GEO\",\"adm0_a3_fr\":\"GEO\",\"adm0_a3_ru\":\"GEO\",\"adm0_a3_es\":\"GEO\",\"adm0_a3_cn\":\"GEO\",\"adm0_a3_tw\":\"GEO\",\"adm0_a3_in\":\"GEO\",\"adm0_a3_np\":\"GEO\",\"adm0_a3_pk\":\"GEO\",\"adm0_a3_de\":\"GEO\",\"adm0_a3_gb\":\"GEO\",\"adm0_a3_br\":\"GEO\",\"adm0_a3_il\":\"GEO\",\"adm0_a3_ps\":\"GEO\",\"adm0_a3_sa\":\"GEO\",\"adm0_a3_eg\":\"GEO\",\"adm0_a3_ma\":\"GEO\",\"adm0_a3_pt\":\"GEO\",\"adm0_a3_ar\":\"GEO\",\"adm0_a3_jp\":\"GEO\",\"adm0_a3_ko\":\"GEO\",\"adm0_a3_vn\":\"GEO\",\"adm0_a3_tr\":\"GEO\",\"adm0_a3_id\":\"GEO\",\"adm0_a3_pl\":\"GEO\",\"adm0_a3_gr\":\"GEO\",\"adm0_a3_it\":\"GEO\",\"adm0_a3_nl\":\"GEO\",\"adm0_a3_se\":\"GEO\",\"adm0_a3_bd\":\"GEO\",\"adm0_a3_ua\":\"GEO\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"Western Asia\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":7,\"long_len\":7,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":43.735724,\"label_y\":41.870087,\"ne_id\":1159320779,\"wikidataid\":\"Q230\",\"name_ar\":\"جورجيا\",\"name_bn\":\"জর্জিয়া\",\"name_de\":\"Georgien\",\"name_en\":\"Georgia\",\"name_es\":\"Georgia\",\"name_fa\":\"گرجستان\",\"name_fr\":\"Géorgie\",\"name_el\":\"Γεωργία\",\"name_he\":\"גאורגיה\",\"name_hi\":\"जॉर्जिया\",\"name_hu\":\"Grúzia\",\"name_id\":\"Georgia\",\"name_it\":\"Georgia\",\"name_ja\":\"ジョージア\",\"name_ko\":\"조지아\",\"name_nl\":\"Georgië\",\"name_pl\":\"Gruzja\",\"name_pt\":\"Geórgia\",\"name_ru\":\"Грузия\",\"name_sv\":\"Georgien\",\"name_tr\":\"Gürcistan\",\"name_uk\":\"Грузія\",\"name_ur\":\"جارجیا\",\"name_vi\":\"Gruzia\",\"name_zh\":\"格鲁吉亚\",\"name_zht\":\"喬治亞\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"GEO.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[39.955008579270924,43.43499766699922],[40.07696495947977,43.553104153002316],[40.922190000000114,43.38215000000014],[42.39440000000013,43.2203],[43.75599000000011,42.74083],[43.931210000000135,42.55496000000011],[44.537622918481986,42.71199270280363],[45.47027916848572,42.50278066666998],[45.7764,42.09244000000018],[46.404950799348825,41.860675157227305],[46.14543175637902,41.72280243587258],[46.63790815612058,41.181672675128226],[46.50163740416693,41.06444468847411],[45.96260053893039,41.123872585609774],[45.217426385281584,41.41145193131405],[44.97248009621808,41.248128567055595],[43.58274580259273,41.09214325618257],[42.61954878110449,41.58317271581994],[41.55408410011066,41.53565623632757],[41.70317060727271,41.96294281673292],[41.45347008643839,42.64512339941794],[40.87546919125379,43.013628038091284],[40.32139448422032,43.128633938156845],[39.955008579270924,43.43499766699922]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":5,\"sovereignt\":\"Azerbaijan\",\"sov_a3\":\"AZE\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Azerbaijan\",\"adm0_a3\":\"AZE\",\"geou_dif\":0,\"geounit\":\"Azerbaijan\",\"gu_a3\":\"AZE\",\"su_dif\":0,\"subunit\":\"Azerbaijan\",\"su_a3\":\"AZE\",\"brk_diff\":0,\"name\":\"Azerbaijan\",\"name_long\":\"Azerbaijan\",\"brk_a3\":\"AZE\",\"brk_name\":\"Azerbaijan\",\"brk_group\":null,\"abbrev\":\"Aze.\",\"postal\":\"AZ\",\"formal_en\":\"Republic of Azerbaijan\",\"formal_fr\":null,\"name_ciawf\":\"Azerbaijan\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Azerbaijan\",\"name_alt\":null,\"mapcolor7\":1,\"mapcolor8\":6,\"mapcolor9\":5,\"mapcolor13\":8,\"pop_est\":10023318,\"pop_rank\":14,\"pop_year\":2019,\"gdp_md\":48047,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"AJ\",\"iso_a2\":\"AZ\",\"iso_a2_eh\":\"AZ\",\"iso_a3\":\"AZE\",\"iso_a3_eh\":\"AZE\",\"iso_n3\":\"031\",\"iso_n3_eh\":\"031\",\"un_a3\":\"031\",\"wb_a2\":\"AZ\",\"wb_a3\":\"AZE\",\"woe_id\":23424741,\"woe_id_eh\":23424741,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"AZE\",\"adm0_diff\":null,\"adm0_tlc\":\"AZE\",\"adm0_a3_us\":\"AZE\",\"adm0_a3_fr\":\"AZE\",\"adm0_a3_ru\":\"AZE\",\"adm0_a3_es\":\"AZE\",\"adm0_a3_cn\":\"AZE\",\"adm0_a3_tw\":\"AZE\",\"adm0_a3_in\":\"AZE\",\"adm0_a3_np\":\"AZE\",\"adm0_a3_pk\":\"AZE\",\"adm0_a3_de\":\"AZE\",\"adm0_a3_gb\":\"AZE\",\"adm0_a3_br\":\"AZE\",\"adm0_a3_il\":\"AZE\",\"adm0_a3_ps\":\"AZE\",\"adm0_a3_sa\":\"AZE\",\"adm0_a3_eg\":\"AZE\",\"adm0_a3_ma\":\"AZE\",\"adm0_a3_pt\":\"AZE\",\"adm0_a3_ar\":\"AZE\",\"adm0_a3_jp\":\"AZE\",\"adm0_a3_ko\":\"AZE\",\"adm0_a3_vn\":\"AZE\",\"adm0_a3_tr\":\"AZE\",\"adm0_a3_id\":\"AZE\",\"adm0_a3_pl\":\"AZE\",\"adm0_a3_gr\":\"AZE\",\"adm0_a3_it\":\"AZE\",\"adm0_a3_nl\":\"AZE\",\"adm0_a3_se\":\"AZE\",\"adm0_a3_bd\":\"AZE\",\"adm0_a3_ua\":\"AZE\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"Western Asia\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":10,\"long_len\":10,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":47.210994,\"label_y\":40.402387,\"ne_id\":1159320381,\"wikidataid\":\"Q227\",\"name_ar\":\"أذربيجان\",\"name_bn\":\"আজারবাইজান\",\"name_de\":\"Aserbaidschan\",\"name_en\":\"Azerbaijan\",\"name_es\":\"Azerbaiyán\",\"name_fa\":\"جمهوری آذربایجان\",\"name_fr\":\"Azerbaïdjan\",\"name_el\":\"Αζερμπαϊτζάν\",\"name_he\":\"אזרבייג'ן\",\"name_hi\":\"अज़रबैजान\",\"name_hu\":\"Azerbajdzsán\",\"name_id\":\"Azerbaijan\",\"name_it\":\"Azerbaigian\",\"name_ja\":\"アゼルバイジャン\",\"name_ko\":\"아제르바이잔\",\"name_nl\":\"Azerbeidzjan\",\"name_pl\":\"Azerbejdżan\",\"name_pt\":\"Azerbaijão\",\"name_ru\":\"Азербайджан\",\"name_sv\":\"Azerbajdzjan\",\"name_tr\":\"Azerbaycan\",\"name_uk\":\"Азербайджан\",\"name_ur\":\"آذربائیجان\",\"name_vi\":\"Azerbaijan\",\"name_zh\":\"阿塞拜疆\",\"name_zht\":\"亞塞拜然\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"AZE.geojson\"},\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[[[46.404950799348825,41.860675157227305],[46.68607059101661,41.82713715266988],[47.37331546406623,41.2197323675112],[47.81566572448463,41.15141612402135],[47.98728315612598,41.40581920019423],[48.58435339611342,41.80886879162067],[49.110263706260696,41.28228668880051],[49.6189148293096,40.57292430272996],[50.08482954285313,40.52615713150581],[50.39282107931268,40.25656118423912],[49.569202101444795,40.176100979160665],[49.395259230350376,39.39948171646225],[49.22322838725071,39.04921885838793],[48.85653242370759,38.81548635513178],[48.88324913920249,38.32024526626262],[48.63437544128482,38.27037750910097],[48.01074425638648,38.79401479751452],[48.35552941263788,39.28876496027691],[48.06009524922524,39.58223541926246],[47.685079380083096,39.50836395930122],[46.50571984231797,38.770605373686294],[46.48349897643246,39.464154771475535],[46.034534132680676,39.628020738273065],[45.61001224140293,39.89999380142518],[45.89190717955509,40.21847565364],[45.35917483905817,40.56150381119346],[45.56035118997045,40.812289537105926],[45.17949588397934,40.98535390885141],[44.97248009621808,41.248128567055595],[45.217426385281584,41.41145193131405],[45.96260053893039,41.123872585609774],[46.50163740416693,41.06444468847411],[46.63790815612058,41.181672675128226],[46.14543175637902,41.72280243587258],[46.404950799348825,41.860675157227305]]],[[[46.14362308124882,38.74120148371222],[45.45772179543877,38.87413910578306],[44.95268802265031,39.33576467544637],[44.79398969908195,39.71300263117705],[45.00198733905675,39.740003567049555],[45.29814497252146,39.471751207022436],[45.73997846861698,39.47399913182713],[45.73537926614301,39.31971914321974],[46.14362308124882,38.74120148371222]]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":2,\"sovereignt\":\"Turkey\",\"sov_a3\":\"TUR\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Turkey\",\"adm0_a3\":\"TUR\",\"geou_dif\":0,\"geounit\":\"Turkey\",\"gu_a3\":\"TUR\",\"su_dif\":0,\"subunit\":\"Turkey\",\"su_a3\":\"TUR\",\"brk_diff\":0,\"name\":\"Turkey\",\"name_long\":\"Turkey\",\"brk_a3\":\"TUR\",\"brk_name\":\"Turkey\",\"brk_group\":null,\"abbrev\":\"Tur.\",\"postal\":\"TR\",\"formal_en\":\"Republic of Turkey\",\"formal_fr\":null,\"name_ciawf\":\"Turkey\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Turkey\",\"name_alt\":null,\"mapcolor7\":6,\"mapcolor8\":3,\"mapcolor9\":8,\"mapcolor13\":4,\"pop_est\":83429615,\"pop_rank\":16,\"pop_year\":2019,\"gdp_md\":761425,\"gdp_year\":2019,\"economy\":\"4. Emerging region: MIKT\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"TU\",\"iso_a2\":\"TR\",\"iso_a2_eh\":\"TR\",\"iso_a3\":\"TUR\",\"iso_a3_eh\":\"TUR\",\"iso_n3\":\"792\",\"iso_n3_eh\":\"792\",\"un_a3\":\"792\",\"wb_a2\":\"TR\",\"wb_a3\":\"TUR\",\"woe_id\":23424969,\"woe_id_eh\":23424969,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"TUR\",\"adm0_diff\":null,\"adm0_tlc\":\"TUR\",\"adm0_a3_us\":\"TUR\",\"adm0_a3_fr\":\"TUR\",\"adm0_a3_ru\":\"TUR\",\"adm0_a3_es\":\"TUR\",\"adm0_a3_cn\":\"TUR\",\"adm0_a3_tw\":\"TUR\",\"adm0_a3_in\":\"TUR\",\"adm0_a3_np\":\"TUR\",\"adm0_a3_pk\":\"TUR\",\"adm0_a3_de\":\"TUR\",\"adm0_a3_gb\":\"TUR\",\"adm0_a3_br\":\"TUR\",\"adm0_a3_il\":\"TUR\",\"adm0_a3_ps\":\"TUR\",\"adm0_a3_sa\":\"TUR\",\"adm0_a3_eg\":\"TUR\",\"adm0_a3_ma\":\"TUR\",\"adm0_a3_pt\":\"TUR\",\"adm0_a3_ar\":\"TUR\",\"adm0_a3_jp\":\"TUR\",\"adm0_a3_ko\":\"TUR\",\"adm0_a3_vn\":\"TUR\",\"adm0_a3_tr\":\"TUR\",\"adm0_a3_id\":\"TUR\",\"adm0_a3_pl\":\"TUR\",\"adm0_a3_gr\":\"TUR\",\"adm0_a3_it\":\"TUR\",\"adm0_a3_nl\":\"TUR\",\"adm0_a3_se\":\"TUR\",\"adm0_a3_bd\":\"TUR\",\"adm0_a3_ua\":\"TUR\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"Western Asia\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":6,\"long_len\":6,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":2,\"max_label\":7,\"label_x\":34.508268,\"label_y\":39.345388,\"ne_id\":1159321331,\"wikidataid\":\"Q43\",\"name_ar\":\"تركيا\",\"name_bn\":\"তুরস্ক\",\"name_de\":\"Türkei\",\"name_en\":\"Turkey\",\"name_es\":\"Turquía\",\"name_fa\":\"ترکیه\",\"name_fr\":\"Turquie\",\"name_el\":\"Τουρκία\",\"name_he\":\"טורקיה\",\"name_hi\":\"तुर्की\",\"name_hu\":\"Törökország\",\"name_id\":\"Turki\",\"name_it\":\"Turchia\",\"name_ja\":\"トルコ\",\"name_ko\":\"터키\",\"name_nl\":\"Turkije\",\"name_pl\":\"Turcja\",\"name_pt\":\"Turquia\",\"name_ru\":\"Турция\",\"name_sv\":\"Turkiet\",\"name_tr\":\"Türkiye\",\"name_uk\":\"Туреччина\",\"name_ur\":\"ترکی\",\"name_vi\":\"Thổ Nhĩ Kỳ\",\"name_zh\":\"土耳其\",\"name_zht\":\"土耳其\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"TUR.geojson\"},\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[[[44.77267710159504,37.17043692561684],[44.29345177590287,37.0015143906063],[43.9422587420473,37.25622752537295],[42.77912560402183,37.385263576805755],[42.34959109881177,37.2298725449041],[41.21208947120305,37.074352321921694],[40.67325931169569,37.09127635349729],[39.52258019385255,36.71605377862599],[38.6998913917659,36.71292735447234],[38.1677274920242,36.90121043552777],[37.06676110204583,36.62303620050062],[36.7394942563414,36.81752045343109],[36.6853890317318,36.259699205056464],[36.417550083163036,36.04061697035506],[36.149762811026534,35.82153473565367],[35.782084995269855,36.27499542901485],[36.160821567537,36.65060557712833],[35.55093631362831,36.565442816711325],[34.714553256984345,36.7955321314909],[34.026894972476384,36.219960028624016],[32.509158156064075,36.107563788389186],[31.699595167779567,36.64427521417258],[30.621624790171097,36.6778648951623],[30.391096225717064,36.26298065850699],[29.69997562024554,36.144357408180994],[28.732902866335422,36.67683136651647],[27.641186557737317,36.65882212986274],[27.048767937943264,37.653360907536],[26.318218214633045,38.208133246405396],[26.804700148228733,38.985760199533516],[26.17078535330433,39.463612168936464],[27.28001997244939,40.42001373957831],[28.81997765474722,40.46001129817221],[29.240003696415584,41.21999074967267],[31.14593387220444,41.08762156835702],[32.34797936374571,41.736264146484615],[33.51328291192746,42.01896006933731],[35.167703891751785,42.040224921225416],[36.9131270688421,41.33535838476427],[38.34766482926452,40.94858612727573],[39.512606642420195,41.10276276301855],[40.373432651538224,41.01367259374735],[41.55408410011066,41.53565623632757],[42.61954878110449,41.58317271581994],[43.58274580259273,41.09214325618257],[43.75265791196841,40.74020091405876],[43.65643639504094,40.253563951166186],[44.4000085792887,40.00500031184228],[44.79398969908195,39.71300263117705],[44.10922529478234,39.4281362981681],[44.421402622257546,38.28128123631454],[44.22575564960053,37.97158437758935],[44.77267,37.17045],[44.77267710159504,37.17043692561684]]],[[[26.1170418637208,41.82690460872456],[27.13573937349048,42.14148489030134],[27.99672041190539,42.00735871028779],[28.115524529744416,41.62288605403624],[28.988442824018733,41.29993419042819],[28.806438429486743,41.05496206314856],[27.61901736828409,40.99982330989314],[27.19237674328238,40.69056570084242],[26.35800906749779,40.151993923496505],[26.04335127127257,40.61775360774317],[26.05694217296534,40.82412344010076],[26.294602085075667,40.93626129817413],[26.60419559093623,41.562114569661105],[26.1170418637208,41.82690460872456]]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":4,\"sovereignt\":\"Laos\",\"sov_a3\":\"LAO\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Laos\",\"adm0_a3\":\"LAO\",\"geou_dif\":0,\"geounit\":\"Laos\",\"gu_a3\":\"LAO\",\"su_dif\":0,\"subunit\":\"Laos\",\"su_a3\":\"LAO\",\"brk_diff\":0,\"name\":\"Laos\",\"name_long\":\"Lao PDR\",\"brk_a3\":\"LAO\",\"brk_name\":\"Laos\",\"brk_group\":null,\"abbrev\":\"Laos\",\"postal\":\"LA\",\"formal_en\":\"Lao People's Democratic Republic\",\"formal_fr\":null,\"name_ciawf\":\"Laos\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Lao PDR\",\"name_alt\":null,\"mapcolor7\":1,\"mapcolor8\":1,\"mapcolor9\":1,\"mapcolor13\":9,\"pop_est\":7169455,\"pop_rank\":13,\"pop_year\":2019,\"gdp_md\":18173,\"gdp_year\":2019,\"economy\":\"7. Least developed region\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"LA\",\"iso_a2\":\"LA\",\"iso_a2_eh\":\"LA\",\"iso_a3\":\"LAO\",\"iso_a3_eh\":\"LAO\",\"iso_n3\":\"418\",\"iso_n3_eh\":\"418\",\"un_a3\":\"418\",\"wb_a2\":\"LA\",\"wb_a3\":\"LAO\",\"woe_id\":23424872,\"woe_id_eh\":23424872,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"LAO\",\"adm0_diff\":null,\"adm0_tlc\":\"LAO\",\"adm0_a3_us\":\"LAO\",\"adm0_a3_fr\":\"LAO\",\"adm0_a3_ru\":\"LAO\",\"adm0_a3_es\":\"LAO\",\"adm0_a3_cn\":\"LAO\",\"adm0_a3_tw\":\"LAO\",\"adm0_a3_in\":\"LAO\",\"adm0_a3_np\":\"LAO\",\"adm0_a3_pk\":\"LAO\",\"adm0_a3_de\":\"LAO\",\"adm0_a3_gb\":\"LAO\",\"adm0_a3_br\":\"LAO\",\"adm0_a3_il\":\"LAO\",\"adm0_a3_ps\":\"LAO\",\"adm0_a3_sa\":\"LAO\",\"adm0_a3_eg\":\"LAO\",\"adm0_a3_ma\":\"LAO\",\"adm0_a3_pt\":\"LAO\",\"adm0_a3_ar\":\"LAO\",\"adm0_a3_jp\":\"LAO\",\"adm0_a3_ko\":\"LAO\",\"adm0_a3_vn\":\"LAO\",\"adm0_a3_tr\":\"LAO\",\"adm0_a3_id\":\"LAO\",\"adm0_a3_pl\":\"LAO\",\"adm0_a3_gr\":\"LAO\",\"adm0_a3_it\":\"LAO\",\"adm0_a3_nl\":\"LAO\",\"adm0_a3_se\":\"LAO\",\"adm0_a3_bd\":\"LAO\",\"adm0_a3_ua\":\"LAO\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"South-Eastern Asia\",\"region_wb\":\"East Asia & Pacific\",\"name_len\":4,\"long_len\":7,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":102.533912,\"label_y\":19.431821,\"ne_id\":1159321011,\"wikidataid\":\"Q819\",\"name_ar\":\"لاوس\",\"name_bn\":\"লাওস\",\"name_de\":\"Laos\",\"name_en\":\"Laos\",\"name_es\":\"Laos\",\"name_fa\":\"لائوس\",\"name_fr\":\"Laos\",\"name_el\":\"Λάος\",\"name_he\":\"לאוס\",\"name_hi\":\"लाओस\",\"name_hu\":\"Laosz\",\"name_id\":\"Laos\",\"name_it\":\"Laos\",\"name_ja\":\"ラオス\",\"name_ko\":\"라오스\",\"name_nl\":\"Laos\",\"name_pl\":\"Laos\",\"name_pt\":\"Laos\",\"name_ru\":\"Лаос\",\"name_sv\":\"Laos\",\"name_tr\":\"Laos\",\"name_uk\":\"Лаос\",\"name_ur\":\"لاؤس\",\"name_vi\":\"Lào\",\"name_zh\":\"老挝\",\"name_zht\":\"寮國\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"LAO.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[107.38272749230109,14.202440904186972],[106.49637332563088,14.570583807834282],[106.04394616091552,13.881091009979956],[105.21877689007889,14.273211778210694],[105.54433841351769,14.723933620660418],[105.58903852745016,15.570316066952858],[104.7793205098688,16.44186493577145],[104.7169470560925,17.42885895433008],[103.9564766784853,18.24095408779688],[103.20019209189374,18.309632066312773],[102.99870568238771,17.9616946476916],[102.41300499879162,17.932781683824288],[102.11359175009248,18.109101670804165],[101.05954756063517,17.51249725999449],[101.03593143107777,18.408928330961615],[101.2820146016517,19.462584947176765],[100.60629357300316,19.508344427971224],[100.54888105672688,20.109237982661128],[100.11598758341785,20.417849636308187],[100.32910119018953,20.786121731036232],[101.18000532430754,21.436572984294028],[101.27002566935997,21.201651923095184],[101.80311974488293,21.17436676684507],[101.65201785686152,22.318198757409547],[102.17043582561358,22.464753119389304],[102.75489627483466,21.675137233969465],[103.20386111858645,20.76656220141375],[104.43500044150805,20.75873322192153],[104.8225736836971,19.886641750563882],[104.18338789267894,19.62466807706022],[103.89653201702671,19.265180975821806],[105.09459842328152,18.66697459561108],[105.92576216026403,17.48531545660896],[106.55600792849569,16.604283962464805],[107.3127059265456,15.90853831630318],[107.5645251811039,15.20217316330556],[107.38272749230109,14.202440904186972]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":4,\"sovereignt\":\"Kyrgyzstan\",\"sov_a3\":\"KGZ\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Kyrgyzstan\",\"adm0_a3\":\"KGZ\",\"geou_dif\":0,\"geounit\":\"Kyrgyzstan\",\"gu_a3\":\"KGZ\",\"su_dif\":0,\"subunit\":\"Kyrgyzstan\",\"su_a3\":\"KGZ\",\"brk_diff\":0,\"name\":\"Kyrgyzstan\",\"name_long\":\"Kyrgyzstan\",\"brk_a3\":\"KGZ\",\"brk_name\":\"Kyrgyzstan\",\"brk_group\":null,\"abbrev\":\"Kgz.\",\"postal\":\"KG\",\"formal_en\":\"Kyrgyz Republic\",\"formal_fr\":null,\"name_ciawf\":\"Kyrgyzstan\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Kyrgyz Republic\",\"name_alt\":null,\"mapcolor7\":5,\"mapcolor8\":7,\"mapcolor9\":7,\"mapcolor13\":6,\"pop_est\":6456900,\"pop_rank\":13,\"pop_year\":2019,\"gdp_md\":8454,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"5. Low income\",\"fips_10\":\"KG\",\"iso_a2\":\"KG\",\"iso_a2_eh\":\"KG\",\"iso_a3\":\"KGZ\",\"iso_a3_eh\":\"KGZ\",\"iso_n3\":\"417\",\"iso_n3_eh\":\"417\",\"un_a3\":\"417\",\"wb_a2\":\"KG\",\"wb_a3\":\"KGZ\",\"woe_id\":23424864,\"woe_id_eh\":23424864,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"KGZ\",\"adm0_diff\":null,\"adm0_tlc\":\"KGZ\",\"adm0_a3_us\":\"KGZ\",\"adm0_a3_fr\":\"KGZ\",\"adm0_a3_ru\":\"KGZ\",\"adm0_a3_es\":\"KGZ\",\"adm0_a3_cn\":\"KGZ\",\"adm0_a3_tw\":\"KGZ\",\"adm0_a3_in\":\"KGZ\",\"adm0_a3_np\":\"KGZ\",\"adm0_a3_pk\":\"KGZ\",\"adm0_a3_de\":\"KGZ\",\"adm0_a3_gb\":\"KGZ\",\"adm0_a3_br\":\"KGZ\",\"adm0_a3_il\":\"KGZ\",\"adm0_a3_ps\":\"KGZ\",\"adm0_a3_sa\":\"KGZ\",\"adm0_a3_eg\":\"KGZ\",\"adm0_a3_ma\":\"KGZ\",\"adm0_a3_pt\":\"KGZ\",\"adm0_a3_ar\":\"KGZ\",\"adm0_a3_jp\":\"KGZ\",\"adm0_a3_ko\":\"KGZ\",\"adm0_a3_vn\":\"KGZ\",\"adm0_a3_tr\":\"KGZ\",\"adm0_a3_id\":\"KGZ\",\"adm0_a3_pl\":\"KGZ\",\"adm0_a3_gr\":\"KGZ\",\"adm0_a3_it\":\"KGZ\",\"adm0_a3_nl\":\"KGZ\",\"adm0_a3_se\":\"KGZ\",\"adm0_a3_bd\":\"KGZ\",\"adm0_a3_ua\":\"KGZ\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"Central Asia\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":10,\"long_len\":10,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":74.532637,\"label_y\":41.66854,\"ne_id\":1159320977,\"wikidataid\":\"Q813\",\"name_ar\":\"قيرغيزستان\",\"name_bn\":\"কিরগিজস্তান\",\"name_de\":\"Kirgisistan\",\"name_en\":\"Kyrgyzstan\",\"name_es\":\"Kirguistán\",\"name_fa\":\"قرقیزستان\",\"name_fr\":\"Kirghizistan\",\"name_el\":\"Κιργιζία\",\"name_he\":\"קירגיזסטן\",\"name_hi\":\"किर्गिज़स्तान\",\"name_hu\":\"Kirgizisztán\",\"name_id\":\"Kirgizstan\",\"name_it\":\"Kirghizistan\",\"name_ja\":\"キルギス\",\"name_ko\":\"키르기스스탄\",\"name_nl\":\"Kirgizië\",\"name_pl\":\"Kirgistan\",\"name_pt\":\"Quirguistão\",\"name_ru\":\"Киргизия\",\"name_sv\":\"Kirgizistan\",\"name_tr\":\"Kırgızistan\",\"name_uk\":\"Киргизстан\",\"name_ur\":\"کرغیزستان\",\"name_vi\":\"Kyrgyzstan\",\"name_zh\":\"吉尔吉斯斯坦\",\"name_zht\":\"吉爾吉斯\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"KGZ.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[70.96231489449914,42.266154283205495],[71.18628055205212,42.70429291439214],[71.8446382994506,42.8453954127651],[73.48975752146237,42.50089447689132],[73.64530358266092,43.09127187760987],[74.21286583852256,43.29833934180337],[75.63696495962202,42.87789988867668],[76.00035363149846,42.98802236589067],[77.65839196158322,42.96068553320826],[79.14217736197978,42.85609243424952],[79.64364546094012,42.49668284765953],[80.2599902688853,42.34999929459906],[80.11943037305139,42.12394074153825],[78.54366092317531,41.58224254003869],[78.18719689322597,41.18531586360481],[76.90448449087708,41.06648590754965],[76.52636803579745,40.42794607193512],[75.4678279967307,40.56207225194867],[74.77686242055606,40.36642527929163],[73.8222436868283,39.893973497063186],[73.96001305531843,39.660008449861735],[73.6753792662548,39.4312368841056],[71.784693637992,39.27946320246437],[70.54916181832562,39.6041979029865],[69.46488691597753,39.5266832545487],[69.55960981636852,40.10321137141298],[70.64801883329997,39.93575389257117],[71.01419803252017,40.24436554621823],[71.77487511585656,40.14584442805378],[73.05541710804917,40.866033026689465],[71.87011478057047,41.392900092121266],[71.1578585142916,41.14358714452912],[70.42002241402821,41.51999827734314],[71.25924767444823,42.16771067968946],[70.96231489449914,42.266154283205495]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":6,\"sovereignt\":\"Armenia\",\"sov_a3\":\"ARM\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Armenia\",\"adm0_a3\":\"ARM\",\"geou_dif\":0,\"geounit\":\"Armenia\",\"gu_a3\":\"ARM\",\"su_dif\":0,\"subunit\":\"Armenia\",\"su_a3\":\"ARM\",\"brk_diff\":0,\"name\":\"Armenia\",\"name_long\":\"Armenia\",\"brk_a3\":\"ARM\",\"brk_name\":\"Armenia\",\"brk_group\":null,\"abbrev\":\"Arm.\",\"postal\":\"ARM\",\"formal_en\":\"Republic of Armenia\",\"formal_fr\":null,\"name_ciawf\":\"Armenia\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Armenia\",\"name_alt\":null,\"mapcolor7\":3,\"mapcolor8\":1,\"mapcolor9\":2,\"mapcolor13\":10,\"pop_est\":2957731,\"pop_rank\":12,\"pop_year\":2019,\"gdp_md\":13672,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"AM\",\"iso_a2\":\"AM\",\"iso_a2_eh\":\"AM\",\"iso_a3\":\"ARM\",\"iso_a3_eh\":\"ARM\",\"iso_n3\":\"051\",\"iso_n3_eh\":\"051\",\"un_a3\":\"051\",\"wb_a2\":\"AM\",\"wb_a3\":\"ARM\",\"woe_id\":23424743,\"woe_id_eh\":23424743,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"ARM\",\"adm0_diff\":null,\"adm0_tlc\":\"ARM\",\"adm0_a3_us\":\"ARM\",\"adm0_a3_fr\":\"ARM\",\"adm0_a3_ru\":\"ARM\",\"adm0_a3_es\":\"ARM\",\"adm0_a3_cn\":\"ARM\",\"adm0_a3_tw\":\"ARM\",\"adm0_a3_in\":\"ARM\",\"adm0_a3_np\":\"ARM\",\"adm0_a3_pk\":\"ARM\",\"adm0_a3_de\":\"ARM\",\"adm0_a3_gb\":\"ARM\",\"adm0_a3_br\":\"ARM\",\"adm0_a3_il\":\"ARM\",\"adm0_a3_ps\":\"ARM\",\"adm0_a3_sa\":\"ARM\",\"adm0_a3_eg\":\"ARM\",\"adm0_a3_ma\":\"ARM\",\"adm0_a3_pt\":\"ARM\",\"adm0_a3_ar\":\"ARM\",\"adm0_a3_jp\":\"ARM\",\"adm0_a3_ko\":\"ARM\",\"adm0_a3_vn\":\"ARM\",\"adm0_a3_tr\":\"ARM\",\"adm0_a3_id\":\"ARM\",\"adm0_a3_pl\":\"ARM\",\"adm0_a3_gr\":\"ARM\",\"adm0_a3_it\":\"ARM\",\"adm0_a3_nl\":\"ARM\",\"adm0_a3_se\":\"ARM\",\"adm0_a3_bd\":\"ARM\",\"adm0_a3_ua\":\"ARM\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"Western Asia\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":7,\"long_len\":7,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":5,\"max_label\":10,\"label_x\":44.800564,\"label_y\":40.459077,\"ne_id\":1159320333,\"wikidataid\":\"Q399\",\"name_ar\":\"أرمينيا\",\"name_bn\":\"আর্মেনিয়া\",\"name_de\":\"Armenien\",\"name_en\":\"Armenia\",\"name_es\":\"Armenia\",\"name_fa\":\"ارمنستان\",\"name_fr\":\"Arménie\",\"name_el\":\"Αρμενία\",\"name_he\":\"ארמניה\",\"name_hi\":\"आर्मीनिया\",\"name_hu\":\"Örményország\",\"name_id\":\"Armenia\",\"name_it\":\"Armenia\",\"name_ja\":\"アルメニア\",\"name_ko\":\"아르메니아\",\"name_nl\":\"Armenië\",\"name_pl\":\"Armenia\",\"name_pt\":\"Arménia\",\"name_ru\":\"Армения\",\"name_sv\":\"Armenien\",\"name_tr\":\"Ermenistan\",\"name_uk\":\"Вірменія\",\"name_ur\":\"آرمینیا\",\"name_vi\":\"Armenia\",\"name_zh\":\"亚美尼亚\",\"name_zht\":\"亞美尼亞\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"ARM.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[46.50571984231797,38.770605373686294],[46.14362308124882,38.74120148371222],[45.73537926614301,39.31971914321974],[45.73997846861698,39.47399913182713],[45.29814497252146,39.471751207022436],[45.00198733905675,39.740003567049555],[44.79398969908195,39.71300263117705],[44.4000085792887,40.00500031184228],[43.65643639504094,40.253563951166186],[43.75265791196841,40.74020091405876],[43.58274580259273,41.09214325618257],[44.97248009621808,41.248128567055595],[45.17949588397934,40.98535390885141],[45.56035118997045,40.812289537105926],[45.35917483905817,40.56150381119346],[45.89190717955509,40.21847565364],[45.61001224140293,39.89999380142518],[46.034534132680676,39.628020738273065],[46.48349897643246,39.464154771475535],[46.50571984231797,38.770605373686294]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Iraq\",\"sov_a3\":\"IRQ\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Iraq\",\"adm0_a3\":\"IRQ\",\"geou_dif\":0,\"geounit\":\"Iraq\",\"gu_a3\":\"IRQ\",\"su_dif\":0,\"subunit\":\"Iraq\",\"su_a3\":\"IRQ\",\"brk_diff\":0,\"name\":\"Iraq\",\"name_long\":\"Iraq\",\"brk_a3\":\"IRQ\",\"brk_name\":\"Iraq\",\"brk_group\":null,\"abbrev\":\"Iraq\",\"postal\":\"IRQ\",\"formal_en\":\"Republic of Iraq\",\"formal_fr\":null,\"name_ciawf\":\"Iraq\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Iraq\",\"name_alt\":null,\"mapcolor7\":1,\"mapcolor8\":4,\"mapcolor9\":3,\"mapcolor13\":1,\"pop_est\":39309783,\"pop_rank\":15,\"pop_year\":2019,\"gdp_md\":234094,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"IZ\",\"iso_a2\":\"IQ\",\"iso_a2_eh\":\"IQ\",\"iso_a3\":\"IRQ\",\"iso_a3_eh\":\"IRQ\",\"iso_n3\":\"368\",\"iso_n3_eh\":\"368\",\"un_a3\":\"368\",\"wb_a2\":\"IQ\",\"wb_a3\":\"IRQ\",\"woe_id\":23424855,\"woe_id_eh\":23424855,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"IRQ\",\"adm0_diff\":null,\"adm0_tlc\":\"IRQ\",\"adm0_a3_us\":\"IRQ\",\"adm0_a3_fr\":\"IRQ\",\"adm0_a3_ru\":\"IRQ\",\"adm0_a3_es\":\"IRQ\",\"adm0_a3_cn\":\"IRQ\",\"adm0_a3_tw\":\"IRQ\",\"adm0_a3_in\":\"IRQ\",\"adm0_a3_np\":\"IRQ\",\"adm0_a3_pk\":\"IRQ\",\"adm0_a3_de\":\"IRQ\",\"adm0_a3_gb\":\"IRQ\",\"adm0_a3_br\":\"IRQ\",\"adm0_a3_il\":\"IRQ\",\"adm0_a3_ps\":\"IRQ\",\"adm0_a3_sa\":\"IRQ\",\"adm0_a3_eg\":\"IRQ\",\"adm0_a3_ma\":\"IRQ\",\"adm0_a3_pt\":\"IRQ\",\"adm0_a3_ar\":\"IRQ\",\"adm0_a3_jp\":\"IRQ\",\"adm0_a3_ko\":\"IRQ\",\"adm0_a3_vn\":\"IRQ\",\"adm0_a3_tr\":\"IRQ\",\"adm0_a3_id\":\"IRQ\",\"adm0_a3_pl\":\"IRQ\",\"adm0_a3_gr\":\"IRQ\",\"adm0_a3_it\":\"IRQ\",\"adm0_a3_nl\":\"IRQ\",\"adm0_a3_se\":\"IRQ\",\"adm0_a3_bd\":\"IRQ\",\"adm0_a3_ua\":\"IRQ\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"Western Asia\",\"region_wb\":\"Middle East & North Africa\",\"name_len\":4,\"long_len\":4,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":7.5,\"label_x\":43.26181,\"label_y\":33.09403,\"ne_id\":1159320887,\"wikidataid\":\"Q796\",\"name_ar\":\"العراق\",\"name_bn\":\"ইরাক\",\"name_de\":\"Irak\",\"name_en\":\"Iraq\",\"name_es\":\"Irak\",\"name_fa\":\"عراق\",\"name_fr\":\"Irak\",\"name_el\":\"Ιράκ\",\"name_he\":\"עיראק\",\"name_hi\":\"इराक\",\"name_hu\":\"Irak\",\"name_id\":\"Irak\",\"name_it\":\"Iraq\",\"name_ja\":\"イラク\",\"name_ko\":\"이라크\",\"name_nl\":\"Irak\",\"name_pl\":\"Irak\",\"name_pt\":\"Iraque\",\"name_ru\":\"Ирак\",\"name_sv\":\"Irak\",\"name_tr\":\"Irak\",\"name_uk\":\"Ірак\",\"name_ur\":\"عراق\",\"name_vi\":\"Iraq\",\"name_zh\":\"伊拉克\",\"name_zht\":\"伊拉克\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"IRQ.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[39.19546837744497,32.16100881604267],[38.792340529136084,33.378686428352225],[41.006158888519934,34.41937226006212],[41.383965285005814,35.628316555314356],[41.289707472505455,36.35881460219227],[41.83706424334096,36.605853786763575],[42.34959109881177,37.2298725449041],[42.77912560402183,37.385263576805755],[43.9422587420473,37.25622752537295],[44.29345177590287,37.0015143906063],[44.77267710159504,37.17043692561684],[45.42061811705321,35.977545884742824],[46.0763403664048,35.67738332777549],[46.15178795755094,35.09325877536429],[45.64845950702809,34.748137722303014],[45.41669070819904,33.967797756479584],[46.10936160663932,33.017287299119005],[47.33466149271191,32.46915538179911],[47.8492037290421,31.70917593029867],[47.68528608581227,30.984853217079632],[48.004698113808324,30.985137437457244],[48.0145683123761,30.452456773392598],[48.567971225789755,29.926778265903522],[47.974519077349896,29.975819200148504],[47.30262210469096,30.059069932570722],[46.568713413281756,29.09902517345229],[44.70949873228474,29.178891099559383],[41.889980910007836,31.19000865327837],[40.399994337736246,31.889991766887935],[39.19546837744497,32.16100881604267]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":2,\"sovereignt\":\"Iran\",\"sov_a3\":\"IRN\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Iran\",\"adm0_a3\":\"IRN\",\"geou_dif\":0,\"geounit\":\"Iran\",\"gu_a3\":\"IRN\",\"su_dif\":0,\"subunit\":\"Iran\",\"su_a3\":\"IRN\",\"brk_diff\":0,\"name\":\"Iran\",\"name_long\":\"Iran\",\"brk_a3\":\"IRN\",\"brk_name\":\"Iran\",\"brk_group\":null,\"abbrev\":\"Iran\",\"postal\":\"IRN\",\"formal_en\":\"Islamic Republic of Iran\",\"formal_fr\":null,\"name_ciawf\":\"Iran\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Iran, Islamic Rep.\",\"name_alt\":null,\"mapcolor7\":4,\"mapcolor8\":3,\"mapcolor9\":4,\"mapcolor13\":13,\"pop_est\":82913906,\"pop_rank\":16,\"pop_year\":2019,\"gdp_md\":453996,\"gdp_year\":2018,\"economy\":\"5. Emerging region: G20\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"IR\",\"iso_a2\":\"IR\",\"iso_a2_eh\":\"IR\",\"iso_a3\":\"IRN\",\"iso_a3_eh\":\"IRN\",\"iso_n3\":\"364\",\"iso_n3_eh\":\"364\",\"un_a3\":\"364\",\"wb_a2\":\"IR\",\"wb_a3\":\"IRN\",\"woe_id\":23424851,\"woe_id_eh\":23424851,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"IRN\",\"adm0_diff\":null,\"adm0_tlc\":\"IRN\",\"adm0_a3_us\":\"IRN\",\"adm0_a3_fr\":\"IRN\",\"adm0_a3_ru\":\"IRN\",\"adm0_a3_es\":\"IRN\",\"adm0_a3_cn\":\"IRN\",\"adm0_a3_tw\":\"IRN\",\"adm0_a3_in\":\"IRN\",\"adm0_a3_np\":\"IRN\",\"adm0_a3_pk\":\"IRN\",\"adm0_a3_de\":\"IRN\",\"adm0_a3_gb\":\"IRN\",\"adm0_a3_br\":\"IRN\",\"adm0_a3_il\":\"IRN\",\"adm0_a3_ps\":\"IRN\",\"adm0_a3_sa\":\"IRN\",\"adm0_a3_eg\":\"IRN\",\"adm0_a3_ma\":\"IRN\",\"adm0_a3_pt\":\"IRN\",\"adm0_a3_ar\":\"IRN\",\"adm0_a3_jp\":\"IRN\",\"adm0_a3_ko\":\"IRN\",\"adm0_a3_vn\":\"IRN\",\"adm0_a3_tr\":\"IRN\",\"adm0_a3_id\":\"IRN\",\"adm0_a3_pl\":\"IRN\",\"adm0_a3_gr\":\"IRN\",\"adm0_a3_it\":\"IRN\",\"adm0_a3_nl\":\"IRN\",\"adm0_a3_se\":\"IRN\",\"adm0_a3_bd\":\"IRN\",\"adm0_a3_ua\":\"IRN\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"Southern Asia\",\"region_wb\":\"Middle East & North Africa\",\"name_len\":4,\"long_len\":4,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":2.5,\"max_label\":6.7,\"label_x\":54.931495,\"label_y\":32.166225,\"ne_id\":1159320881,\"wikidataid\":\"Q794\",\"name_ar\":\"إيران\",\"name_bn\":\"ইরান\",\"name_de\":\"Iran\",\"name_en\":\"Iran\",\"name_es\":\"Irán\",\"name_fa\":\"ایران\",\"name_fr\":\"Iran\",\"name_el\":\"Ιράν\",\"name_he\":\"איראן\",\"name_hi\":\"ईरान\",\"name_hu\":\"Irán\",\"name_id\":\"Iran\",\"name_it\":\"Iran\",\"name_ja\":\"イラン\",\"name_ko\":\"이란\",\"name_nl\":\"Iran\",\"name_pl\":\"Iran\",\"name_pt\":\"Irão\",\"name_ru\":\"Иран\",\"name_sv\":\"Iran\",\"name_tr\":\"İran\",\"name_uk\":\"Іран\",\"name_ur\":\"ایران\",\"name_vi\":\"Iran\",\"name_zh\":\"伊朗\",\"name_zht\":\"伊朗\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"IRN.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[48.567971225789755,29.926778265903522],[48.0145683123761,30.452456773392598],[48.004698113808324,30.985137437457244],[47.68528608581227,30.984853217079632],[47.8492037290421,31.70917593029867],[47.33466149271191,32.46915538179911],[46.10936160663932,33.017287299119005],[45.41669070819904,33.967797756479584],[45.64845950702809,34.748137722303014],[46.15178795755094,35.09325877536429],[46.0763403664048,35.67738332777549],[45.42061811705321,35.977545884742824],[44.77267710159504,37.17043692561684],[44.77267,37.17045],[44.22575564960053,37.97158437758935],[44.421402622257546,38.28128123631454],[44.10922529478234,39.4281362981681],[44.79398969908195,39.71300263117705],[44.95268802265031,39.33576467544637],[45.45772179543877,38.87413910578306],[46.14362308124882,38.74120148371222],[46.50571984231797,38.770605373686294],[47.685079380083096,39.50836395930122],[48.06009524922524,39.58223541926246],[48.35552941263788,39.28876496027691],[48.01074425638648,38.79401479751452],[48.63437544128482,38.27037750910097],[48.88324913920249,38.32024526626262],[49.19961225769334,37.582874253889884],[50.14777143738462,37.37456655532134],[50.84235436381971,36.8728142359834],[52.264024692601424,36.7004216578577],[53.82578982932642,36.965030829408235],[53.92159793479556,37.19891836196126],[54.800303989486565,37.392420762678185],[55.51157840355191,37.96411713312317],[56.18037479027333,37.93512665460743],[56.61936608259282,38.121394354803485],[57.330433790928986,38.02922943781094],[58.436154412678206,37.5223094752438],[59.23476199731681,37.41298798273034],[60.37763797388388,36.52738312432837],[61.123070509694145,36.491597194966246],[61.210817091725744,35.650072333309225],[60.80319339380745,34.40410187431986],[60.52842980331158,33.676446031218006],[60.963700392506006,33.52883230237626],[60.536077915290775,32.98126882581157],[60.863654819588966,32.18291962333443],[60.94194461451113,31.548074652628753],[61.69931440618083,31.379506130492672],[61.781221551363444,30.735850328081238],[60.87424848820879,29.829238999952608],[61.36930870956494,29.303276272085924],[61.77186811711863,28.6993338078908],[62.72783043808599,28.25964488373539],[62.75542565292986,27.378923448184988],[63.2338977395203,27.21704702403071],[63.31663170761959,26.756532497661667],[61.87418745305655,26.239974880472104],[61.49736290878419,25.0782370061185],[59.616134067630846,25.380156561783778],[58.525761346272304,25.60996165618573],[57.39725141788239,25.73990204518364],[56.970765822177555,26.966106268821363],[56.492138706290206,27.143304755150197],[55.723710158110066,26.964633490501043],[54.71508955263727,26.480657863871514],[53.49309695823135,26.81236888275305],[52.48359785340961,27.580849107365495],[51.52076256694742,27.865689602158298],[50.85294803243954,28.814520575469388],[50.115008579311585,30.147772528599717],[49.576850213423995,29.985715236932407],[48.94133344909855,30.317090359004037],[48.567971225789755,29.926778265903522]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":5,\"sovereignt\":\"Qatar\",\"sov_a3\":\"QAT\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Qatar\",\"adm0_a3\":\"QAT\",\"geou_dif\":0,\"geounit\":\"Qatar\",\"gu_a3\":\"QAT\",\"su_dif\":0,\"subunit\":\"Qatar\",\"su_a3\":\"QAT\",\"brk_diff\":0,\"name\":\"Qatar\",\"name_long\":\"Qatar\",\"brk_a3\":\"QAT\",\"brk_name\":\"Qatar\",\"brk_group\":null,\"abbrev\":\"Qatar\",\"postal\":\"QA\",\"formal_en\":\"State of Qatar\",\"formal_fr\":null,\"name_ciawf\":\"Qatar\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Qatar\",\"name_alt\":null,\"mapcolor7\":3,\"mapcolor8\":6,\"mapcolor9\":2,\"mapcolor13\":4,\"pop_est\":2832067,\"pop_rank\":12,\"pop_year\":2019,\"gdp_md\":175837,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"2. High income: nonOECD\",\"fips_10\":\"QA\",\"iso_a2\":\"QA\",\"iso_a2_eh\":\"QA\",\"iso_a3\":\"QAT\",\"iso_a3_eh\":\"QAT\",\"iso_n3\":\"634\",\"iso_n3_eh\":\"634\",\"un_a3\":\"634\",\"wb_a2\":\"QA\",\"wb_a3\":\"QAT\",\"woe_id\":23424930,\"woe_id_eh\":23424930,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"QAT\",\"adm0_diff\":null,\"adm0_tlc\":\"QAT\",\"adm0_a3_us\":\"QAT\",\"adm0_a3_fr\":\"QAT\",\"adm0_a3_ru\":\"QAT\",\"adm0_a3_es\":\"QAT\",\"adm0_a3_cn\":\"QAT\",\"adm0_a3_tw\":\"QAT\",\"adm0_a3_in\":\"QAT\",\"adm0_a3_np\":\"QAT\",\"adm0_a3_pk\":\"QAT\",\"adm0_a3_de\":\"QAT\",\"adm0_a3_gb\":\"QAT\",\"adm0_a3_br\":\"QAT\",\"adm0_a3_il\":\"QAT\",\"adm0_a3_ps\":\"QAT\",\"adm0_a3_sa\":\"QAT\",\"adm0_a3_eg\":\"QAT\",\"adm0_a3_ma\":\"QAT\",\"adm0_a3_pt\":\"QAT\",\"adm0_a3_ar\":\"QAT\",\"adm0_a3_jp\":\"QAT\",\"adm0_a3_ko\":\"QAT\",\"adm0_a3_vn\":\"QAT\",\"adm0_a3_tr\":\"QAT\",\"adm0_a3_id\":\"QAT\",\"adm0_a3_pl\":\"QAT\",\"adm0_a3_gr\":\"QAT\",\"adm0_a3_it\":\"QAT\",\"adm0_a3_nl\":\"QAT\",\"adm0_a3_se\":\"QAT\",\"adm0_a3_bd\":\"QAT\",\"adm0_a3_ua\":\"QAT\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"Western Asia\",\"region_wb\":\"Middle East & North Africa\",\"name_len\":5,\"long_len\":5,\"abbrev_len\":5,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":51.143509,\"label_y\":25.237383,\"ne_id\":1159321197,\"wikidataid\":\"Q846\",\"name_ar\":\"قطر\",\"name_bn\":\"কাতার\",\"name_de\":\"Katar\",\"name_en\":\"Qatar\",\"name_es\":\"Catar\",\"name_fa\":\"قطر\",\"name_fr\":\"Qatar\",\"name_el\":\"Κατάρ\",\"name_he\":\"קטר\",\"name_hi\":\"क़तर\",\"name_hu\":\"Katar\",\"name_id\":\"Qatar\",\"name_it\":\"Qatar\",\"name_ja\":\"カタール\",\"name_ko\":\"카타르\",\"name_nl\":\"Qatar\",\"name_pl\":\"Katar\",\"name_pt\":\"Catar\",\"name_ru\":\"Катар\",\"name_sv\":\"Qatar\",\"name_tr\":\"Katar\",\"name_uk\":\"Катар\",\"name_ur\":\"قطر\",\"name_vi\":\"Qatar\",\"name_zh\":\"卡塔尔\",\"name_zht\":\"卡達\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"QAT.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[50.81010827006958,24.754742539971378],[50.74391076030369,25.482424221289396],[51.013351678273494,26.006991685484195],[51.28646162293606,26.11458201751587],[51.58907881043726,25.80111277923338],[51.60670047384881,25.21567047779874],[51.38960778179063,24.62738597258806],[51.11241539897702,24.556330878186724],[50.81010827006958,24.754742539971378]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":2,\"sovereignt\":\"Saudi Arabia\",\"sov_a3\":\"SAU\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Saudi Arabia\",\"adm0_a3\":\"SAU\",\"geou_dif\":0,\"geounit\":\"Saudi Arabia\",\"gu_a3\":\"SAU\",\"su_dif\":0,\"subunit\":\"Saudi Arabia\",\"su_a3\":\"SAU\",\"brk_diff\":0,\"name\":\"Saudi Arabia\",\"name_long\":\"Saudi Arabia\",\"brk_a3\":\"SAU\",\"brk_name\":\"Saudi Arabia\",\"brk_group\":null,\"abbrev\":\"Saud.\",\"postal\":\"SA\",\"formal_en\":\"Kingdom of Saudi Arabia\",\"formal_fr\":null,\"name_ciawf\":\"Saudi Arabia\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Saudi Arabia\",\"name_alt\":null,\"mapcolor7\":6,\"mapcolor8\":1,\"mapcolor9\":6,\"mapcolor13\":7,\"pop_est\":34268528,\"pop_rank\":15,\"pop_year\":2019,\"gdp_md\":792966,\"gdp_year\":2019,\"economy\":\"2. Developed region: nonG7\",\"income_grp\":\"2. High income: nonOECD\",\"fips_10\":\"SA\",\"iso_a2\":\"SA\",\"iso_a2_eh\":\"SA\",\"iso_a3\":\"SAU\",\"iso_a3_eh\":\"SAU\",\"iso_n3\":\"682\",\"iso_n3_eh\":\"682\",\"un_a3\":\"682\",\"wb_a2\":\"SA\",\"wb_a3\":\"SAU\",\"woe_id\":23424938,\"woe_id_eh\":23424938,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"SAU\",\"adm0_diff\":null,\"adm0_tlc\":\"SAU\",\"adm0_a3_us\":\"SAU\",\"adm0_a3_fr\":\"SAU\",\"adm0_a3_ru\":\"SAU\",\"adm0_a3_es\":\"SAU\",\"adm0_a3_cn\":\"SAU\",\"adm0_a3_tw\":\"SAU\",\"adm0_a3_in\":\"SAU\",\"adm0_a3_np\":\"SAU\",\"adm0_a3_pk\":\"SAU\",\"adm0_a3_de\":\"SAU\",\"adm0_a3_gb\":\"SAU\",\"adm0_a3_br\":\"SAU\",\"adm0_a3_il\":\"SAU\",\"adm0_a3_ps\":\"SAU\",\"adm0_a3_sa\":\"SAU\",\"adm0_a3_eg\":\"SAU\",\"adm0_a3_ma\":\"SAU\",\"adm0_a3_pt\":\"SAU\",\"adm0_a3_ar\":\"SAU\",\"adm0_a3_jp\":\"SAU\",\"adm0_a3_ko\":\"SAU\",\"adm0_a3_vn\":\"SAU\",\"adm0_a3_tr\":\"SAU\",\"adm0_a3_id\":\"SAU\",\"adm0_a3_pl\":\"SAU\",\"adm0_a3_gr\":\"SAU\",\"adm0_a3_it\":\"SAU\",\"adm0_a3_nl\":\"SAU\",\"adm0_a3_se\":\"SAU\",\"adm0_a3_bd\":\"SAU\",\"adm0_a3_ua\":\"SAU\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"Western Asia\",\"region_wb\":\"Middle East & North Africa\",\"name_len\":12,\"long_len\":12,\"abbrev_len\":5,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":1.7,\"max_label\":7,\"label_x\":44.6996,\"label_y\":23.806908,\"ne_id\":1159321225,\"wikidataid\":\"Q851\",\"name_ar\":\"السعودية\",\"name_bn\":\"সৌদি আরব\",\"name_de\":\"Saudi-Arabien\",\"name_en\":\"Saudi Arabia\",\"name_es\":\"Arabia Saudita\",\"name_fa\":\"عربستان سعودی\",\"name_fr\":\"Arabie saoudite\",\"name_el\":\"Σαουδική Αραβία\",\"name_he\":\"ערב הסעודית\",\"name_hi\":\"सउदी अरब\",\"name_hu\":\"Szaúd-Arábia\",\"name_id\":\"Arab Saudi\",\"name_it\":\"Arabia Saudita\",\"name_ja\":\"サウジアラビア\",\"name_ko\":\"사우디아라비아\",\"name_nl\":\"Saoedi-Arabië\",\"name_pl\":\"Arabia Saudyjska\",\"name_pt\":\"Arábia Saudita\",\"name_ru\":\"Саудовская Аравия\",\"name_sv\":\"Saudiarabien\",\"name_tr\":\"Suudi Arabistan\",\"name_uk\":\"Саудівська Аравія\",\"name_ur\":\"سعودی عرب\",\"name_vi\":\"Ả Rập Saudi\",\"name_zh\":\"沙特阿拉伯\",\"name_zht\":\"沙烏地阿拉伯\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"SAU.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[34.95603722508426,29.356554673778845],[36.06894087092206,29.197494615184453],[36.50121422704359,29.505253607698705],[36.74052778498725,29.86528331147619],[37.503581984209035,30.003776150018407],[37.66811974462638,30.3386652694859],[37.998848911294374,30.508499864213135],[37.00216556168101,31.508412990844747],[39.00488569515255,32.01021698661498],[39.19546837744497,32.16100881604267],[40.399994337736246,31.889991766887935],[41.889980910007836,31.19000865327837],[44.70949873228474,29.178891099559383],[46.568713413281756,29.09902517345229],[47.45982181172283,29.002519436147224],[47.708850538937384,28.526062730416143],[48.416094191283946,28.55200429942667],[48.80759484232718,27.689627997339883],[49.29955447774583,27.46121816660981],[49.47091352722566,27.109999294538085],[50.15242231629088,26.689663194275997],[50.212935418504685,26.277026882425375],[50.11330325704594,25.94397227630425],[50.239858839728754,25.608049628190926],[50.527386509000735,25.327808335872103],[50.66055667501689,24.999895534764022],[50.81010827006958,24.754742539971378],[51.11241539897702,24.556330878186724],[51.38960778179063,24.62738597258806],[51.57951867046327,24.245497137951105],[51.61770755392698,24.01421926522883],[52.000733270074335,23.00115448657894],[55.006803012924905,22.496947536707136],[55.208341098863194,22.708329982997046],[55.666659376859826,22.00000112557234],[54.99998172386236,19.999994004796108],[52.00000980002224,19.000003363516058],[49.11667158386487,18.616667588774945],[48.18334354024134,18.166669216377315],[47.46669477721763,17.116681626854884],[47.000004917189756,16.949999294497445],[46.74999433776165,17.283338120996177],[46.366658563020536,17.233315334537636],[45.39999922056876,17.333335069238558],[45.21665123879719,17.433328965723334],[44.06261315285508,17.410358791569593],[43.79151858905192,17.31997671149111],[43.380794305196105,17.57998668056767],[43.11579756040336,17.088440456607373],[43.21837527850275,16.66688996018641],[42.77933230975097,16.347891343648683],[42.649572788266084,16.774635321514964],[42.34798912941071,17.075805568912003],[42.270887892431226,17.474721787989125],[41.75438195167396,17.833046169500975],[41.22139122901558,18.67159963630121],[40.93934126156654,19.486485297111756],[40.247652215339826,20.17463450772649],[39.80168460466095,20.338862209550058],[39.139399448408284,21.291904812092934],[39.023695916506796,21.986875311770195],[39.06632897314759,22.57965566659027],[38.49277225114008,23.688451036060854],[38.02386030452362,24.078685614512935],[37.483634881344386,24.285494696545015],[37.154817742671185,24.85848297779731],[37.209491408036,25.084541530858107],[36.93162723160259,25.60295949961018],[36.639603712721225,25.826227525327223],[36.249136590323815,26.57013560638488],[35.64018151219639,27.376520494083422],[35.13018680190788,28.06335195567472],[34.63233605320798,28.058546047471566],[34.787778761541944,28.6074272730597],[34.832220493312946,28.957483425404845],[34.95603722508426,29.356554673778845]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":2,\"sovereignt\":\"Pakistan\",\"sov_a3\":\"PAK\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Pakistan\",\"adm0_a3\":\"PAK\",\"geou_dif\":0,\"geounit\":\"Pakistan\",\"gu_a3\":\"PAK\",\"su_dif\":0,\"subunit\":\"Pakistan\",\"su_a3\":\"PAK\",\"brk_diff\":0,\"name\":\"Pakistan\",\"name_long\":\"Pakistan\",\"brk_a3\":\"PAK\",\"brk_name\":\"Pakistan\",\"brk_group\":null,\"abbrev\":\"Pak.\",\"postal\":\"PK\",\"formal_en\":\"Islamic Republic of Pakistan\",\"formal_fr\":null,\"name_ciawf\":\"Pakistan\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Pakistan\",\"name_alt\":null,\"mapcolor7\":2,\"mapcolor8\":2,\"mapcolor9\":3,\"mapcolor13\":11,\"pop_est\":216565318,\"pop_rank\":17,\"pop_year\":2019,\"gdp_md\":278221,\"gdp_year\":2019,\"economy\":\"5. Emerging region: G20\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"PK\",\"iso_a2\":\"PK\",\"iso_a2_eh\":\"PK\",\"iso_a3\":\"PAK\",\"iso_a3_eh\":\"PAK\",\"iso_n3\":\"586\",\"iso_n3_eh\":\"586\",\"un_a3\":\"586\",\"wb_a2\":\"PK\",\"wb_a3\":\"PAK\",\"woe_id\":23424922,\"woe_id_eh\":23424922,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"PAK\",\"adm0_diff\":null,\"adm0_tlc\":\"PAK\",\"adm0_a3_us\":\"PAK\",\"adm0_a3_fr\":\"PAK\",\"adm0_a3_ru\":\"PAK\",\"adm0_a3_es\":\"PAK\",\"adm0_a3_cn\":\"PAK\",\"adm0_a3_tw\":\"PAK\",\"adm0_a3_in\":\"PAK\",\"adm0_a3_np\":\"PAK\",\"adm0_a3_pk\":\"PAK\",\"adm0_a3_de\":\"PAK\",\"adm0_a3_gb\":\"PAK\",\"adm0_a3_br\":\"PAK\",\"adm0_a3_il\":\"PAK\",\"adm0_a3_ps\":\"PAK\",\"adm0_a3_sa\":\"PAK\",\"adm0_a3_eg\":\"PAK\",\"adm0_a3_ma\":\"PAK\",\"adm0_a3_pt\":\"PAK\",\"adm0_a3_ar\":\"PAK\",\"adm0_a3_jp\":\"PAK\",\"adm0_a3_ko\":\"PAK\",\"adm0_a3_vn\":\"PAK\",\"adm0_a3_tr\":\"PAK\",\"adm0_a3_id\":\"PAK\",\"adm0_a3_pl\":\"PAK\",\"adm0_a3_gr\":\"PAK\",\"adm0_a3_it\":\"PAK\",\"adm0_a3_nl\":\"PAK\",\"adm0_a3_se\":\"PAK\",\"adm0_a3_bd\":\"PAK\",\"adm0_a3_ua\":\"PAK\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"Southern Asia\",\"region_wb\":\"South Asia\",\"name_len\":8,\"long_len\":8,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":2.7,\"max_label\":7,\"label_x\":68.545632,\"label_y\":29.328389,\"ne_id\":1159321153,\"wikidataid\":\"Q843\",\"name_ar\":\"باكستان\",\"name_bn\":\"পাকিস্তান\",\"name_de\":\"Pakistan\",\"name_en\":\"Pakistan\",\"name_es\":\"Pakistán\",\"name_fa\":\"پاکستان\",\"name_fr\":\"Pakistan\",\"name_el\":\"Πακιστάν\",\"name_he\":\"פקיסטן\",\"name_hi\":\"पाकिस्तान\",\"name_hu\":\"Pakisztán\",\"name_id\":\"Pakistan\",\"name_it\":\"Pakistan\",\"name_ja\":\"パキスタン\",\"name_ko\":\"파키스탄\",\"name_nl\":\"Pakistan\",\"name_pl\":\"Pakistan\",\"name_pt\":\"Paquistão\",\"name_ru\":\"Пакистан\",\"name_sv\":\"Pakistan\",\"name_tr\":\"Pakistan\",\"name_uk\":\"Пакистан\",\"name_ur\":\"پاکستان\",\"name_vi\":\"Pakistan\",\"name_zh\":\"巴基斯坦\",\"name_zht\":\"巴基斯坦\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"PAK.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[77.83745079947457,35.494009507787766],[76.87172163280403,34.65354401299274],[75.75706098826834,34.50492259372132],[74.24020267120497,34.748887030571254],[73.74994835805197,34.31769887952785],[74.10429365427734,33.44147329358685],[74.45155927927871,32.7648996038055],[75.25864179881322,32.2711054550405],[74.40592898956501,31.69263947196528],[74.42138024282028,30.979814764931177],[73.45063846221743,29.97641347911987],[72.8237516620847,28.961591701772054],[71.77766564320032,27.913180243434525],[70.61649620960193,27.989196275335868],[69.51439293811313,26.940965684511372],[70.16892662952202,26.491871649678842],[70.2828731627256,25.72222870533983],[70.84469933460284,25.21510203704352],[71.04324018746823,24.3565239527302],[68.84259931831878,24.35913361256094],[68.1766451353734,23.69196503345671],[67.44366661974547,23.94484365487699],[67.14544192898907,24.663611151624647],[66.37282758979327,25.42514089609385],[64.53040774929113,25.23703868255143],[62.90570071803461,25.21840932871021],[61.49736290878419,25.0782370061185],[61.87418745305655,26.239974880472104],[63.31663170761959,26.756532497661667],[63.2338977395203,27.21704702403071],[62.75542565292986,27.378923448184988],[62.72783043808599,28.25964488373539],[61.77186811711863,28.6993338078908],[61.36930870956494,29.303276272085924],[60.87424848820879,29.829238999952608],[62.54985680527278,29.31857249604431],[63.55026085801117,29.468330796826166],[64.14800215033125,29.340819200145972],[64.35041873561852,29.560030625928093],[65.0468620136161,29.472180691031905],[66.34647260932442,29.887943427036177],[66.38145755398602,30.738899237586452],[66.93889122911847,31.304911200479353],[67.68339358914747,31.30315420178142],[67.79268924344478,31.58293040620963],[68.55693200060932,31.713310044882018],[68.92667687365767,31.620189113892067],[69.31776411324256,31.901412258424443],[69.26252200712256,32.5019440780883],[69.68714725126486,33.105498969041236],[70.3235941913716,33.35853261975839],[69.9305432473596,34.02012014417511],[70.8818030129884,33.98885590263852],[71.15677330921346,34.34891144463215],[71.11501875192164,34.733125718722235],[71.61307620635071,35.153203436822864],[71.49876793812109,35.650563259416],[71.26234826038575,36.074387518857804],[71.84629194528392,36.50994232842986],[72.92002485544447,36.72000702569632],[74.06755171091783,36.83617564548845],[74.57589277537298,37.02084137628346],[75.15802778514092,37.13303091078912],[75.89689741405013,36.666806138651836],[76.19284834178569,35.89840342868783],[77.83745079947457,35.494009507787766]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Thailand\",\"sov_a3\":\"THA\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Thailand\",\"adm0_a3\":\"THA\",\"geou_dif\":0,\"geounit\":\"Thailand\",\"gu_a3\":\"THA\",\"su_dif\":0,\"subunit\":\"Thailand\",\"su_a3\":\"THA\",\"brk_diff\":0,\"name\":\"Thailand\",\"name_long\":\"Thailand\",\"brk_a3\":\"THA\",\"brk_name\":\"Thailand\",\"brk_group\":null,\"abbrev\":\"Thai.\",\"postal\":\"TH\",\"formal_en\":\"Kingdom of Thailand\",\"formal_fr\":null,\"name_ciawf\":\"Thailand\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Thailand\",\"name_alt\":null,\"mapcolor7\":3,\"mapcolor8\":6,\"mapcolor9\":8,\"mapcolor13\":1,\"pop_est\":69625582,\"pop_rank\":16,\"pop_year\":2019,\"gdp_md\":543548,\"gdp_year\":2019,\"economy\":\"5. Emerging region: G20\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"TH\",\"iso_a2\":\"TH\",\"iso_a2_eh\":\"TH\",\"iso_a3\":\"THA\",\"iso_a3_eh\":\"THA\",\"iso_n3\":\"764\",\"iso_n3_eh\":\"764\",\"un_a3\":\"764\",\"wb_a2\":\"TH\",\"wb_a3\":\"THA\",\"woe_id\":23424960,\"woe_id_eh\":23424960,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"THA\",\"adm0_diff\":null,\"adm0_tlc\":\"THA\",\"adm0_a3_us\":\"THA\",\"adm0_a3_fr\":\"THA\",\"adm0_a3_ru\":\"THA\",\"adm0_a3_es\":\"THA\",\"adm0_a3_cn\":\"THA\",\"adm0_a3_tw\":\"THA\",\"adm0_a3_in\":\"THA\",\"adm0_a3_np\":\"THA\",\"adm0_a3_pk\":\"THA\",\"adm0_a3_de\":\"THA\",\"adm0_a3_gb\":\"THA\",\"adm0_a3_br\":\"THA\",\"adm0_a3_il\":\"THA\",\"adm0_a3_ps\":\"THA\",\"adm0_a3_sa\":\"THA\",\"adm0_a3_eg\":\"THA\",\"adm0_a3_ma\":\"THA\",\"adm0_a3_pt\":\"THA\",\"adm0_a3_ar\":\"THA\",\"adm0_a3_jp\":\"THA\",\"adm0_a3_ko\":\"THA\",\"adm0_a3_vn\":\"THA\",\"adm0_a3_tr\":\"THA\",\"adm0_a3_id\":\"THA\",\"adm0_a3_pl\":\"THA\",\"adm0_a3_gr\":\"THA\",\"adm0_a3_it\":\"THA\",\"adm0_a3_nl\":\"THA\",\"adm0_a3_se\":\"THA\",\"adm0_a3_bd\":\"THA\",\"adm0_a3_ua\":\"THA\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"South-Eastern Asia\",\"region_wb\":\"East Asia & Pacific\",\"name_len\":8,\"long_len\":8,\"abbrev_len\":5,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":2.7,\"max_label\":8,\"label_x\":101.073198,\"label_y\":15.45974,\"ne_id\":1159321305,\"wikidataid\":\"Q869\",\"name_ar\":\"تايلاند\",\"name_bn\":\"থাইল্যান্ড\",\"name_de\":\"Thailand\",\"name_en\":\"Thailand\",\"name_es\":\"Tailandia\",\"name_fa\":\"تایلند\",\"name_fr\":\"Thaïlande\",\"name_el\":\"Ταϊλάνδη\",\"name_he\":\"תאילנד\",\"name_hi\":\"थाईलैण्ड\",\"name_hu\":\"Thaiföld\",\"name_id\":\"Thailand\",\"name_it\":\"Thailandia\",\"name_ja\":\"タイ王国\",\"name_ko\":\"태국\",\"name_nl\":\"Thailand\",\"name_pl\":\"Tajlandia\",\"name_pt\":\"Tailândia\",\"name_ru\":\"Таиланд\",\"name_sv\":\"Thailand\",\"name_tr\":\"Tayland\",\"name_uk\":\"Таїланд\",\"name_ur\":\"تھائی لینڈ\",\"name_vi\":\"Thái Lan\",\"name_zh\":\"泰国\",\"name_zht\":\"泰國\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"THA.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[105.21877689007889,14.273211778210694],[104.28141808473661,14.416743068901367],[102.98842207236163,14.225721136934467],[102.34809939983302,13.394247341358223],[102.5849324890267,12.186594956913282],[101.68715783081996,12.645740057826572],[100.83180952352487,12.627084865769206],[100.9784672383692,13.412721665902566],[100.09779747925111,13.406856390837433],[100.01873253784456,12.307001044153354],[99.47892052612363,10.846366685423547],[99.15377241414316,9.963061428258555],[99.22239871622676,9.239255479362427],[99.87383182169813,9.20786204674512],[100.27964684448622,8.295152899606052],[100.45927412313276,7.429572658717177],[101.01732791545273,6.856868597842478],[101.62307905477806,6.74062246340192],[102.14118696493638,6.221636053894628],[101.81428185425798,5.810808417174242],[101.15421878459387,5.691384182147715],[101.07551557821336,6.204867051615921],[100.25959638875696,6.642824815289543],[100.0857568705271,6.464489447450291],[99.69069054565576,6.848212795433597],[99.51964155476963,7.34345388430276],[98.9882528015123,7.907993068875328],[98.503786248776,8.382305202666288],[98.339661899817,7.794511623562386],[98.15000939330582,8.350007432483878],[98.25915001830626,8.973922837759801],[98.55355065307305,9.932959906448545],[99.03812055867398,10.960545762572437],[99.58728600463972,11.892762762901697],[99.19635379435167,12.80474843998867],[99.21201175333609,13.269293728076464],[99.09775516153876,13.827502549693278],[98.43081912637987,14.622027696180837],[98.1920740091914,15.123702500870351],[98.53737592976572,15.308497422746084],[98.90334842325676,16.17782420497612],[98.49376102091135,16.83783559820793],[97.85912275593486,17.567946071843664],[97.37589643757354,18.445437730375815],[97.79778283080441,18.627080389881755],[98.25372399291561,19.708203029860044],[98.95967573445488,19.752980658440947],[99.54330936075931,20.186597601802063],[100.11598758341785,20.417849636308187],[100.54888105672688,20.109237982661128],[100.60629357300316,19.508344427971224],[101.2820146016517,19.462584947176765],[101.03593143107777,18.408928330961615],[101.05954756063517,17.51249725999449],[102.11359175009248,18.109101670804165],[102.41300499879162,17.932781683824288],[102.99870568238771,17.9616946476916],[103.20019209189374,18.309632066312773],[103.9564766784853,18.24095408779688],[104.7169470560925,17.42885895433008],[104.7793205098688,16.44186493577145],[105.58903852745016,15.570316066952858],[105.54433841351769,14.723933620660418],[105.21877689007889,14.273211778210694]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":6,\"sovereignt\":\"Kuwait\",\"sov_a3\":\"KWT\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Kuwait\",\"adm0_a3\":\"KWT\",\"geou_dif\":0,\"geounit\":\"Kuwait\",\"gu_a3\":\"KWT\",\"su_dif\":0,\"subunit\":\"Kuwait\",\"su_a3\":\"KWT\",\"brk_diff\":0,\"name\":\"Kuwait\",\"name_long\":\"Kuwait\",\"brk_a3\":\"KWT\",\"brk_name\":\"Kuwait\",\"brk_group\":null,\"abbrev\":\"Kwt.\",\"postal\":\"KW\",\"formal_en\":\"State of Kuwait\",\"formal_fr\":null,\"name_ciawf\":\"Kuwait\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Kuwait\",\"name_alt\":null,\"mapcolor7\":2,\"mapcolor8\":2,\"mapcolor9\":2,\"mapcolor13\":2,\"pop_est\":4207083,\"pop_rank\":12,\"pop_year\":2019,\"gdp_md\":134628,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"2. High income: nonOECD\",\"fips_10\":\"KU\",\"iso_a2\":\"KW\",\"iso_a2_eh\":\"KW\",\"iso_a3\":\"KWT\",\"iso_a3_eh\":\"KWT\",\"iso_n3\":\"414\",\"iso_n3_eh\":\"414\",\"un_a3\":\"414\",\"wb_a2\":\"KW\",\"wb_a3\":\"KWT\",\"woe_id\":23424870,\"woe_id_eh\":23424870,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"KWT\",\"adm0_diff\":null,\"adm0_tlc\":\"KWT\",\"adm0_a3_us\":\"KWT\",\"adm0_a3_fr\":\"KWT\",\"adm0_a3_ru\":\"KWT\",\"adm0_a3_es\":\"KWT\",\"adm0_a3_cn\":\"KWT\",\"adm0_a3_tw\":\"KWT\",\"adm0_a3_in\":\"KWT\",\"adm0_a3_np\":\"KWT\",\"adm0_a3_pk\":\"KWT\",\"adm0_a3_de\":\"KWT\",\"adm0_a3_gb\":\"KWT\",\"adm0_a3_br\":\"KWT\",\"adm0_a3_il\":\"KWT\",\"adm0_a3_ps\":\"KWT\",\"adm0_a3_sa\":\"KWT\",\"adm0_a3_eg\":\"KWT\",\"adm0_a3_ma\":\"KWT\",\"adm0_a3_pt\":\"KWT\",\"adm0_a3_ar\":\"KWT\",\"adm0_a3_jp\":\"KWT\",\"adm0_a3_ko\":\"KWT\",\"adm0_a3_vn\":\"KWT\",\"adm0_a3_tr\":\"KWT\",\"adm0_a3_id\":\"KWT\",\"adm0_a3_pl\":\"KWT\",\"adm0_a3_gr\":\"KWT\",\"adm0_a3_it\":\"KWT\",\"adm0_a3_nl\":\"KWT\",\"adm0_a3_se\":\"KWT\",\"adm0_a3_bd\":\"KWT\",\"adm0_a3_ua\":\"KWT\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"Western Asia\",\"region_wb\":\"Middle East & North Africa\",\"name_len\":6,\"long_len\":6,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":5,\"max_label\":10,\"label_x\":47.313999,\"label_y\":29.413628,\"ne_id\":1159321009,\"wikidataid\":\"Q817\",\"name_ar\":\"الكويت\",\"name_bn\":\"কুয়েত\",\"name_de\":\"Kuwait\",\"name_en\":\"Kuwait\",\"name_es\":\"Kuwait\",\"name_fa\":\"کویت\",\"name_fr\":\"Koweït\",\"name_el\":\"Κουβέιτ\",\"name_he\":\"כווית\",\"name_hi\":\"कुवैत\",\"name_hu\":\"Kuvait\",\"name_id\":\"Kuwait\",\"name_it\":\"Kuwait\",\"name_ja\":\"クウェート\",\"name_ko\":\"쿠웨이트\",\"name_nl\":\"Koeweit\",\"name_pl\":\"Kuwejt\",\"name_pt\":\"Kuwait\",\"name_ru\":\"Кувейт\",\"name_sv\":\"Kuwait\",\"name_tr\":\"Kuveyt\",\"name_uk\":\"Кувейт\",\"name_ur\":\"کویت\",\"name_vi\":\"Kuwait\",\"name_zh\":\"科威特\",\"name_zht\":\"科威特\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"KWT.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[47.974519077349896,29.975819200148504],[48.18318851094449,29.534476630159762],[48.09394331237642,29.306299343375002],[48.416094191283946,28.55200429942667],[47.708850538937384,28.526062730416143],[47.45982181172283,29.002519436147224],[46.568713413281756,29.09902517345229],[47.30262210469096,30.059069932570722],[47.974519077349896,29.975819200148504]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":5,\"sovereignt\":\"East Timor\",\"sov_a3\":\"TLS\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"East Timor\",\"adm0_a3\":\"TLS\",\"geou_dif\":0,\"geounit\":\"East Timor\",\"gu_a3\":\"TLS\",\"su_dif\":0,\"subunit\":\"East Timor\",\"su_a3\":\"TLS\",\"brk_diff\":0,\"name\":\"Timor-Leste\",\"name_long\":\"Timor-Leste\",\"brk_a3\":\"TLS\",\"brk_name\":\"Timor-Leste\",\"brk_group\":null,\"abbrev\":\"T.L.\",\"postal\":\"TL\",\"formal_en\":\"Democratic Republic of Timor-Leste\",\"formal_fr\":null,\"name_ciawf\":\"Timor-Leste\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Timor-Leste\",\"name_alt\":\"East Timor\",\"mapcolor7\":2,\"mapcolor8\":2,\"mapcolor9\":4,\"mapcolor13\":3,\"pop_est\":1293119,\"pop_rank\":12,\"pop_year\":2019,\"gdp_md\":2017,\"gdp_year\":2019,\"economy\":\"7. Least developed region\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"TT\",\"iso_a2\":\"TL\",\"iso_a2_eh\":\"TL\",\"iso_a3\":\"TLS\",\"iso_a3_eh\":\"TLS\",\"iso_n3\":\"626\",\"iso_n3_eh\":\"626\",\"un_a3\":\"626\",\"wb_a2\":\"TP\",\"wb_a3\":\"TMP\",\"woe_id\":23424968,\"woe_id_eh\":23424968,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"TLS\",\"adm0_diff\":null,\"adm0_tlc\":\"TLS\",\"adm0_a3_us\":\"TLS\",\"adm0_a3_fr\":\"TLS\",\"adm0_a3_ru\":\"TLS\",\"adm0_a3_es\":\"TLS\",\"adm0_a3_cn\":\"TLS\",\"adm0_a3_tw\":\"TLS\",\"adm0_a3_in\":\"TLS\",\"adm0_a3_np\":\"TLS\",\"adm0_a3_pk\":\"TLS\",\"adm0_a3_de\":\"TLS\",\"adm0_a3_gb\":\"TLS\",\"adm0_a3_br\":\"TLS\",\"adm0_a3_il\":\"TLS\",\"adm0_a3_ps\":\"TLS\",\"adm0_a3_sa\":\"TLS\",\"adm0_a3_eg\":\"TLS\",\"adm0_a3_ma\":\"TLS\",\"adm0_a3_pt\":\"TLS\",\"adm0_a3_ar\":\"TLS\",\"adm0_a3_jp\":\"TLS\",\"adm0_a3_ko\":\"TLS\",\"adm0_a3_vn\":\"TLS\",\"adm0_a3_tr\":\"TLS\",\"adm0_a3_id\":\"TLS\",\"adm0_a3_pl\":\"TLS\",\"adm0_a3_gr\":\"TLS\",\"adm0_a3_it\":\"TLS\",\"adm0_a3_nl\":\"TLS\",\"adm0_a3_se\":\"TLS\",\"adm0_a3_bd\":\"TLS\",\"adm0_a3_ua\":\"TLS\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"South-Eastern Asia\",\"region_wb\":\"East Asia & Pacific\",\"name_len\":11,\"long_len\":11,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":125.854679,\"label_y\":-8.803705,\"ne_id\":1159321313,\"wikidataid\":\"Q574\",\"name_ar\":\"تيمور الشرقية\",\"name_bn\":\"পূর্ব তিমুর\",\"name_de\":\"Osttimor\",\"name_en\":\"East Timor\",\"name_es\":\"Timor Oriental\",\"name_fa\":\"تیمور شرقی\",\"name_fr\":\"Timor oriental\",\"name_el\":\"Ανατολικό Τιμόρ\",\"name_he\":\"מזרח טימור\",\"name_hi\":\"पूर्वी तिमोर\",\"name_hu\":\"Kelet-Timor\",\"name_id\":\"Timor Leste\",\"name_it\":\"Timor Est\",\"name_ja\":\"東ティモール\",\"name_ko\":\"동티모르\",\"name_nl\":\"Oost-Timor\",\"name_pl\":\"Timor Wschodni\",\"name_pt\":\"Timor-Leste\",\"name_ru\":\"Восточный Тимор\",\"name_sv\":\"Östtimor\",\"name_tr\":\"Doğu Timor\",\"name_uk\":\"Східний Тимор\",\"name_ur\":\"مشرقی تیمور\",\"name_vi\":\"Đông Timor\",\"name_zh\":\"东帝汶\",\"name_zht\":\"東帝汶\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"TLS.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[124.96868248911623,-8.892790215697083],[125.08624637258026,-8.65688730228468],[125.94707238169826,-8.432094821815035],[126.64470421763855,-8.398246758663852],[126.95724328013983,-8.273344821814398],[127.33592817597463,-8.397316582882603],[126.96799197805655,-8.668256117388893],[125.9258850444586,-9.106007175333353],[125.08852013560109,-9.393173109579294],[125.07001997284061,-9.089987481322872],[124.96868248911623,-8.892790215697083]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":6,\"sovereignt\":\"Brunei\",\"sov_a3\":\"BRN\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Brunei\",\"adm0_a3\":\"BRN\",\"geou_dif\":0,\"geounit\":\"Brunei\",\"gu_a3\":\"BRN\",\"su_dif\":0,\"subunit\":\"Brunei\",\"su_a3\":\"BRN\",\"brk_diff\":0,\"name\":\"Brunei\",\"name_long\":\"Brunei Darussalam\",\"brk_a3\":\"BRN\",\"brk_name\":\"Brunei\",\"brk_group\":null,\"abbrev\":\"Brunei\",\"postal\":\"BN\",\"formal_en\":\"Negara Brunei Darussalam\",\"formal_fr\":null,\"name_ciawf\":\"Brunei\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Brunei\",\"name_alt\":null,\"mapcolor7\":4,\"mapcolor8\":6,\"mapcolor9\":6,\"mapcolor13\":12,\"pop_est\":433285,\"pop_rank\":10,\"pop_year\":2019,\"gdp_md\":13469,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"2. High income: nonOECD\",\"fips_10\":\"BX\",\"iso_a2\":\"BN\",\"iso_a2_eh\":\"BN\",\"iso_a3\":\"BRN\",\"iso_a3_eh\":\"BRN\",\"iso_n3\":\"096\",\"iso_n3_eh\":\"096\",\"un_a3\":\"096\",\"wb_a2\":\"BN\",\"wb_a3\":\"BRN\",\"woe_id\":23424773,\"woe_id_eh\":23424773,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"BRN\",\"adm0_diff\":null,\"adm0_tlc\":\"BRN\",\"adm0_a3_us\":\"BRN\",\"adm0_a3_fr\":\"BRN\",\"adm0_a3_ru\":\"BRN\",\"adm0_a3_es\":\"BRN\",\"adm0_a3_cn\":\"BRN\",\"adm0_a3_tw\":\"BRN\",\"adm0_a3_in\":\"BRN\",\"adm0_a3_np\":\"BRN\",\"adm0_a3_pk\":\"BRN\",\"adm0_a3_de\":\"BRN\",\"adm0_a3_gb\":\"BRN\",\"adm0_a3_br\":\"BRN\",\"adm0_a3_il\":\"BRN\",\"adm0_a3_ps\":\"BRN\",\"adm0_a3_sa\":\"BRN\",\"adm0_a3_eg\":\"BRN\",\"adm0_a3_ma\":\"BRN\",\"adm0_a3_pt\":\"BRN\",\"adm0_a3_ar\":\"BRN\",\"adm0_a3_jp\":\"BRN\",\"adm0_a3_ko\":\"BRN\",\"adm0_a3_vn\":\"BRN\",\"adm0_a3_tr\":\"BRN\",\"adm0_a3_id\":\"BRN\",\"adm0_a3_pl\":\"BRN\",\"adm0_a3_gr\":\"BRN\",\"adm0_a3_it\":\"BRN\",\"adm0_a3_nl\":\"BRN\",\"adm0_a3_se\":\"BRN\",\"adm0_a3_bd\":\"BRN\",\"adm0_a3_ua\":\"BRN\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"South-Eastern Asia\",\"region_wb\":\"East Asia & Pacific\",\"name_len\":6,\"long_len\":17,\"abbrev_len\":6,\"tiny\":2,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":114.551943,\"label_y\":4.448298,\"ne_id\":1159320451,\"wikidataid\":\"Q921\",\"name_ar\":\"بروناي\",\"name_bn\":\"ব্রুনাই\",\"name_de\":\"Brunei\",\"name_en\":\"Brunei\",\"name_es\":\"Brunéi\",\"name_fa\":\"برونئی\",\"name_fr\":\"Brunei\",\"name_el\":\"Μπρουνέι\",\"name_he\":\"ברוניי\",\"name_hi\":\"ब्रुनेई\",\"name_hu\":\"Brunei\",\"name_id\":\"Brunei Darussalam\",\"name_it\":\"Brunei\",\"name_ja\":\"ブルネイ\",\"name_ko\":\"브루나이\",\"name_nl\":\"Brunei\",\"name_pl\":\"Brunei\",\"name_pt\":\"Brunei\",\"name_ru\":\"Бруней\",\"name_sv\":\"Brunei\",\"name_tr\":\"Brunei\",\"name_uk\":\"Бруней\",\"name_ur\":\"برونائی دار السلام\",\"name_vi\":\"Brunei\",\"name_zh\":\"文莱\",\"name_zht\":\"汶萊\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"BRN.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[115.45071048386981,5.447729803891534],[115.40570031134361,4.955227565933839],[115.34746097215066,4.316636053887009],[114.8695573263154,4.348313706881925],[114.65959598191353,4.007636826997754],[114.20401655482837,4.525873928236805],[114.59996137904872,4.900011298029966],[115.45071048386981,5.447729803891534]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Myanmar\",\"sov_a3\":\"MMR\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Myanmar\",\"adm0_a3\":\"MMR\",\"geou_dif\":0,\"geounit\":\"Myanmar\",\"gu_a3\":\"MMR\",\"su_dif\":0,\"subunit\":\"Myanmar\",\"su_a3\":\"MMR\",\"brk_diff\":0,\"name\":\"Myanmar\",\"name_long\":\"Myanmar\",\"brk_a3\":\"MMR\",\"brk_name\":\"Myanmar\",\"brk_group\":null,\"abbrev\":\"Myan.\",\"postal\":\"MM\",\"formal_en\":\"Republic of the Union of Myanmar\",\"formal_fr\":null,\"name_ciawf\":\"Burma\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Myanmar\",\"name_alt\":null,\"mapcolor7\":2,\"mapcolor8\":2,\"mapcolor9\":5,\"mapcolor13\":13,\"pop_est\":54045420,\"pop_rank\":16,\"pop_year\":2019,\"gdp_md\":76085,\"gdp_year\":2019,\"economy\":\"7. Least developed region\",\"income_grp\":\"5. Low income\",\"fips_10\":\"BM\",\"iso_a2\":\"MM\",\"iso_a2_eh\":\"MM\",\"iso_a3\":\"MMR\",\"iso_a3_eh\":\"MMR\",\"iso_n3\":\"104\",\"iso_n3_eh\":\"104\",\"un_a3\":\"104\",\"wb_a2\":\"MM\",\"wb_a3\":\"MMR\",\"woe_id\":23424763,\"woe_id_eh\":23424763,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"MMR\",\"adm0_diff\":null,\"adm0_tlc\":\"MMR\",\"adm0_a3_us\":\"MMR\",\"adm0_a3_fr\":\"MMR\",\"adm0_a3_ru\":\"MMR\",\"adm0_a3_es\":\"MMR\",\"adm0_a3_cn\":\"MMR\",\"adm0_a3_tw\":\"MMR\",\"adm0_a3_in\":\"MMR\",\"adm0_a3_np\":\"MMR\",\"adm0_a3_pk\":\"MMR\",\"adm0_a3_de\":\"MMR\",\"adm0_a3_gb\":\"MMR\",\"adm0_a3_br\":\"MMR\",\"adm0_a3_il\":\"MMR\",\"adm0_a3_ps\":\"MMR\",\"adm0_a3_sa\":\"MMR\",\"adm0_a3_eg\":\"MMR\",\"adm0_a3_ma\":\"MMR\",\"adm0_a3_pt\":\"MMR\",\"adm0_a3_ar\":\"MMR\",\"adm0_a3_jp\":\"MMR\",\"adm0_a3_ko\":\"MMR\",\"adm0_a3_vn\":\"MMR\",\"adm0_a3_tr\":\"MMR\",\"adm0_a3_id\":\"MMR\",\"adm0_a3_pl\":\"MMR\",\"adm0_a3_gr\":\"MMR\",\"adm0_a3_it\":\"MMR\",\"adm0_a3_nl\":\"MMR\",\"adm0_a3_se\":\"MMR\",\"adm0_a3_bd\":\"MMR\",\"adm0_a3_ua\":\"MMR\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"South-Eastern Asia\",\"region_wb\":\"East Asia & Pacific\",\"name_len\":7,\"long_len\":7,\"abbrev_len\":5,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":95.804497,\"label_y\":21.573855,\"ne_id\":1159321067,\"wikidataid\":\"Q836\",\"name_ar\":\"ميانمار\",\"name_bn\":\"মিয়ানমার\",\"name_de\":\"Myanmar\",\"name_en\":\"Myanmar\",\"name_es\":\"Birmania\",\"name_fa\":\"میانمار\",\"name_fr\":\"Birmanie\",\"name_el\":\"Μιανμάρ\",\"name_he\":\"מיאנמר\",\"name_hi\":\"म्यान्मार\",\"name_hu\":\"Mianmar\",\"name_id\":\"Myanmar\",\"name_it\":\"Birmania\",\"name_ja\":\"ミャンマー\",\"name_ko\":\"미얀마\",\"name_nl\":\"Myanmar\",\"name_pl\":\"Mjanma\",\"name_pt\":\"Myanmar\",\"name_ru\":\"Мьянма\",\"name_sv\":\"Myanmar\",\"name_tr\":\"Myanmar\",\"name_uk\":\"М'янма\",\"name_ur\":\"میانمار\",\"name_vi\":\"Myanma\",\"name_zh\":\"缅甸\",\"name_zht\":\"緬甸\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"MMR.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[100.11598758341785,20.417849636308187],[99.54330936075931,20.186597601802063],[98.95967573445488,19.752980658440947],[98.25372399291561,19.708203029860044],[97.79778283080441,18.627080389881755],[97.37589643757354,18.445437730375815],[97.85912275593486,17.567946071843664],[98.49376102091135,16.83783559820793],[98.90334842325676,16.17782420497612],[98.53737592976572,15.308497422746084],[98.1920740091914,15.123702500870351],[98.43081912637987,14.622027696180837],[99.09775516153876,13.827502549693278],[99.21201175333609,13.269293728076464],[99.19635379435167,12.80474843998867],[99.58728600463972,11.892762762901697],[99.03812055867398,10.960545762572437],[98.55355065307305,9.932959906448545],[98.45717410684873,10.67526601810515],[98.76454552612078,11.441291612183749],[98.42833865762985,12.032986761925685],[98.50957400919268,13.122377631070677],[98.1036039571077,13.640459703012851],[97.77773237507517,14.837285874892642],[97.59707156778276,16.10056793869977],[97.1645398294998,16.92873444260934],[96.505768670643,16.42724050543285],[95.3693522481124,15.7143899601826],[94.80840457558412,15.80345429123764],[94.18880415240454,16.037936102762018],[94.53348595579135,17.277240301985728],[94.32481652219676,18.2135139022499],[93.54098839719364,19.366492621330025],[93.66325483599621,19.726961574781996],[93.07827762245219,19.855144965081976],[92.36855350135562,20.670883287025347],[92.30323449093868,21.47548533780982],[92.65225711463799,21.324047552978485],[92.67272098182556,22.041238918541254],[93.16612755734837,22.278459580977103],[93.06029422401463,22.70311066333557],[93.28632693885928,23.043658352139005],[93.3251876159428,24.078556423432204],[94.10674197792507,23.85074087167348],[94.55265791217164,24.675238348890336],[94.60324913938538,25.162495428970402],[95.1551534362626,26.001307277932085],[95.12476769407496,26.5735720891323],[96.41936567585097,27.264589341739224],[97.1339990580153,27.083773505149964],[97.0519885599681,27.69905894623315],[97.40256147663614,27.882536119085444],[97.32711388549004,28.26158274994634],[97.91198774616944,28.335945136014345],[98.2462309102333,27.74722138112918],[98.68269005737046,27.50881216075062],[98.71209394734451,26.743535874940267],[98.67183800658916,25.918702500913525],[97.72460900267914,25.083637193293],[97.60471967976198,23.897404690033042],[98.66026248575577,24.063286037689966],[98.89874922078278,23.14272207284253],[99.5319922220874,22.94903880461258],[99.24089887898725,22.11831431730458],[99.98348921102149,21.7429367131364],[100.41653771362738,21.558839423096614],[101.15003299357825,21.849984442629022],[101.18000532430754,21.436572984294028],[100.32910119018953,20.786121731036232],[100.11598758341785,20.417849636308187]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Bangladesh\",\"sov_a3\":\"BGD\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Bangladesh\",\"adm0_a3\":\"BGD\",\"geou_dif\":0,\"geounit\":\"Bangladesh\",\"gu_a3\":\"BGD\",\"su_dif\":0,\"subunit\":\"Bangladesh\",\"su_a3\":\"BGD\",\"brk_diff\":0,\"name\":\"Bangladesh\",\"name_long\":\"Bangladesh\",\"brk_a3\":\"BGD\",\"brk_name\":\"Bangladesh\",\"brk_group\":null,\"abbrev\":\"Bang.\",\"postal\":\"BD\",\"formal_en\":\"People's Republic of Bangladesh\",\"formal_fr\":null,\"name_ciawf\":\"Bangladesh\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Bangladesh\",\"name_alt\":null,\"mapcolor7\":3,\"mapcolor8\":4,\"mapcolor9\":7,\"mapcolor13\":7,\"pop_est\":163046161,\"pop_rank\":17,\"pop_year\":2019,\"gdp_md\":302571,\"gdp_year\":2019,\"economy\":\"7. Least developed region\",\"income_grp\":\"5. Low income\",\"fips_10\":\"BG\",\"iso_a2\":\"BD\",\"iso_a2_eh\":\"BD\",\"iso_a3\":\"BGD\",\"iso_a3_eh\":\"BGD\",\"iso_n3\":\"050\",\"iso_n3_eh\":\"050\",\"un_a3\":\"050\",\"wb_a2\":\"BD\",\"wb_a3\":\"BGD\",\"woe_id\":23424759,\"woe_id_eh\":23424759,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"BGD\",\"adm0_diff\":null,\"adm0_tlc\":\"BGD\",\"adm0_a3_us\":\"BGD\",\"adm0_a3_fr\":\"BGD\",\"adm0_a3_ru\":\"BGD\",\"adm0_a3_es\":\"BGD\",\"adm0_a3_cn\":\"BGD\",\"adm0_a3_tw\":\"BGD\",\"adm0_a3_in\":\"BGD\",\"adm0_a3_np\":\"BGD\",\"adm0_a3_pk\":\"BGD\",\"adm0_a3_de\":\"BGD\",\"adm0_a3_gb\":\"BGD\",\"adm0_a3_br\":\"BGD\",\"adm0_a3_il\":\"BGD\",\"adm0_a3_ps\":\"BGD\",\"adm0_a3_sa\":\"BGD\",\"adm0_a3_eg\":\"BGD\",\"adm0_a3_ma\":\"BGD\",\"adm0_a3_pt\":\"BGD\",\"adm0_a3_ar\":\"BGD\",\"adm0_a3_jp\":\"BGD\",\"adm0_a3_ko\":\"BGD\",\"adm0_a3_vn\":\"BGD\",\"adm0_a3_tr\":\"BGD\",\"adm0_a3_id\":\"BGD\",\"adm0_a3_pl\":\"BGD\",\"adm0_a3_gr\":\"BGD\",\"adm0_a3_it\":\"BGD\",\"adm0_a3_nl\":\"BGD\",\"adm0_a3_se\":\"BGD\",\"adm0_a3_bd\":\"BGD\",\"adm0_a3_ua\":\"BGD\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"Southern Asia\",\"region_wb\":\"South Asia\",\"name_len\":10,\"long_len\":10,\"abbrev_len\":5,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":89.684963,\"label_y\":24.214956,\"ne_id\":1159320407,\"wikidataid\":\"Q902\",\"name_ar\":\"بنغلاديش\",\"name_bn\":\"বাংলাদেশ\",\"name_de\":\"Bangladesch\",\"name_en\":\"Bangladesh\",\"name_es\":\"Bangladés\",\"name_fa\":\"بنگلادش\",\"name_fr\":\"Bangladesh\",\"name_el\":\"Μπανγκλαντές\",\"name_he\":\"בנגלדש\",\"name_hi\":\"बांग्लादेश\",\"name_hu\":\"Banglades\",\"name_id\":\"Bangladesh\",\"name_it\":\"Bangladesh\",\"name_ja\":\"バングラデシュ\",\"name_ko\":\"방글라데시\",\"name_nl\":\"Bangladesh\",\"name_pl\":\"Bangladesz\",\"name_pt\":\"Bangladesh\",\"name_ru\":\"Бангладеш\",\"name_sv\":\"Bangladesh\",\"name_tr\":\"Bangladeş\",\"name_uk\":\"Бангладеш\",\"name_ur\":\"بنگلہ دیش\",\"name_vi\":\"Bangladesh\",\"name_zh\":\"孟加拉国\",\"name_zht\":\"孟加拉\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"BGD.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[92.67272098182556,22.041238918541254],[92.65225711463799,21.324047552978485],[92.30323449093868,21.47548533780982],[92.36855350135562,20.670883287025347],[92.08288618364614,21.19219513598577],[92.02521528520839,21.701569729086767],[91.83489098507744,22.182935695885565],[91.41708702999766,22.76501902922122],[90.49600630082728,22.80501658781513],[90.58695682166098,22.392793687422866],[90.27297081905556,21.83636770272011],[89.84746707556428,22.039146023033425],[89.70204959509493,21.857115790285306],[89.41886274613549,21.9661789006373],[89.03196129756623,22.055708319582976],[88.87631188350309,22.87914642993783],[88.52976972855379,23.631141872649167],[88.69994022009092,24.23371491138856],[88.08442223506242,24.501657212821925],[88.30637251175602,24.866079413344206],[88.93155398962308,25.238692328384776],[88.2097892598025,25.768065700782714],[88.56304935094977,26.446525580342723],[89.35509402868729,26.014407253518073],[89.83248091019962,25.96508209889548],[89.92069258012185,25.26974986419218],[90.87221072791212,25.132600612889547],[91.79959598182208,25.147431748957317],[92.37620161333481,24.976692816664965],[91.91509280799443,24.130413723237112],[91.46772993364368,24.072639471934792],[91.15896325069973,23.50352692310439],[91.70647505083211,22.985263983649187],[91.86992760617132,23.624346421802784],[92.14603478390681,23.627498684172593],[92.67272098182556,22.041238918541254]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Afghanistan\",\"sov_a3\":\"AFG\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Afghanistan\",\"adm0_a3\":\"AFG\",\"geou_dif\":0,\"geounit\":\"Afghanistan\",\"gu_a3\":\"AFG\",\"su_dif\":0,\"subunit\":\"Afghanistan\",\"su_a3\":\"AFG\",\"brk_diff\":0,\"name\":\"Afghanistan\",\"name_long\":\"Afghanistan\",\"brk_a3\":\"AFG\",\"brk_name\":\"Afghanistan\",\"brk_group\":null,\"abbrev\":\"Afg.\",\"postal\":\"AF\",\"formal_en\":\"Islamic State of Afghanistan\",\"formal_fr\":null,\"name_ciawf\":\"Afghanistan\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Afghanistan\",\"name_alt\":null,\"mapcolor7\":5,\"mapcolor8\":6,\"mapcolor9\":8,\"mapcolor13\":7,\"pop_est\":38041754,\"pop_rank\":15,\"pop_year\":2019,\"gdp_md\":19291,\"gdp_year\":2019,\"economy\":\"7. Least developed region\",\"income_grp\":\"5. Low income\",\"fips_10\":\"AF\",\"iso_a2\":\"AF\",\"iso_a2_eh\":\"AF\",\"iso_a3\":\"AFG\",\"iso_a3_eh\":\"AFG\",\"iso_n3\":\"004\",\"iso_n3_eh\":\"004\",\"un_a3\":\"004\",\"wb_a2\":\"AF\",\"wb_a3\":\"AFG\",\"woe_id\":23424739,\"woe_id_eh\":23424739,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"AFG\",\"adm0_diff\":null,\"adm0_tlc\":\"AFG\",\"adm0_a3_us\":\"AFG\",\"adm0_a3_fr\":\"AFG\",\"adm0_a3_ru\":\"AFG\",\"adm0_a3_es\":\"AFG\",\"adm0_a3_cn\":\"AFG\",\"adm0_a3_tw\":\"AFG\",\"adm0_a3_in\":\"AFG\",\"adm0_a3_np\":\"AFG\",\"adm0_a3_pk\":\"AFG\",\"adm0_a3_de\":\"AFG\",\"adm0_a3_gb\":\"AFG\",\"adm0_a3_br\":\"AFG\",\"adm0_a3_il\":\"AFG\",\"adm0_a3_ps\":\"AFG\",\"adm0_a3_sa\":\"AFG\",\"adm0_a3_eg\":\"AFG\",\"adm0_a3_ma\":\"AFG\",\"adm0_a3_pt\":\"AFG\",\"adm0_a3_ar\":\"AFG\",\"adm0_a3_jp\":\"AFG\",\"adm0_a3_ko\":\"AFG\",\"adm0_a3_vn\":\"AFG\",\"adm0_a3_tr\":\"AFG\",\"adm0_a3_id\":\"AFG\",\"adm0_a3_pl\":\"AFG\",\"adm0_a3_gr\":\"AFG\",\"adm0_a3_it\":\"AFG\",\"adm0_a3_nl\":\"AFG\",\"adm0_a3_se\":\"AFG\",\"adm0_a3_bd\":\"AFG\",\"adm0_a3_ua\":\"AFG\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"Southern Asia\",\"region_wb\":\"South Asia\",\"name_len\":11,\"long_len\":11,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":7,\"label_x\":66.496586,\"label_y\":34.164262,\"ne_id\":1159320319,\"wikidataid\":\"Q889\",\"name_ar\":\"أفغانستان\",\"name_bn\":\"আফগানিস্তান\",\"name_de\":\"Afghanistan\",\"name_en\":\"Afghanistan\",\"name_es\":\"Afganistán\",\"name_fa\":\"افغانستان\",\"name_fr\":\"Afghanistan\",\"name_el\":\"Αφγανιστάν\",\"name_he\":\"אפגניסטן\",\"name_hi\":\"अफ़्गानिस्तान\",\"name_hu\":\"Afganisztán\",\"name_id\":\"Afganistan\",\"name_it\":\"Afghanistan\",\"name_ja\":\"アフガニスタン\",\"name_ko\":\"아프가니스탄\",\"name_nl\":\"Afghanistan\",\"name_pl\":\"Afganistan\",\"name_pt\":\"Afeganistão\",\"name_ru\":\"Афганистан\",\"name_sv\":\"Afghanistan\",\"name_tr\":\"Afganistan\",\"name_uk\":\"Афганістан\",\"name_ur\":\"افغانستان\",\"name_vi\":\"Afghanistan\",\"name_zh\":\"阿富汗\",\"name_zht\":\"阿富汗\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"AFG.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[66.51860680528867,37.36278432875879],[67.07578209825962,37.35614390720929],[67.82999962755952,37.144994004864685],[68.13556237170138,37.02311513930431],[68.85944583524594,37.344335842430596],[69.19627282092438,37.15114350030743],[69.51878543485796,37.60899669041342],[70.11657840361033,37.58822276463209],[70.27057417184014,37.735164699854025],[70.3763041523093,38.13839590102752],[70.80682050973289,38.486281643216415],[71.34813113799026,38.25890534113216],[71.23940392444817,37.953265082341886],[71.54191775908478,37.905774441065645],[71.44869347523024,37.06564484308052],[71.8446382994506,36.73817129164692],[72.1930408059624,36.948287665345674],[72.63688968291729,37.047558091778356],[73.26005577992501,37.495256862939],[73.9486959166465,37.4215662704908],[74.98000247589542,37.419990139305895],[75.15802778514092,37.13303091078912],[74.57589277537298,37.02084137628346],[74.06755171091783,36.83617564548845],[72.92002485544447,36.72000702569632],[71.84629194528392,36.50994232842986],[71.26234826038575,36.074387518857804],[71.49876793812109,35.650563259416],[71.61307620635071,35.153203436822864],[71.11501875192164,34.733125718722235],[71.15677330921346,34.34891144463215],[70.8818030129884,33.98885590263852],[69.9305432473596,34.02012014417511],[70.3235941913716,33.35853261975839],[69.68714725126486,33.105498969041236],[69.26252200712256,32.5019440780883],[69.31776411324256,31.901412258424443],[68.92667687365767,31.620189113892067],[68.55693200060932,31.713310044882018],[67.79268924344478,31.58293040620963],[67.68339358914747,31.30315420178142],[66.93889122911847,31.304911200479353],[66.38145755398602,30.738899237586452],[66.34647260932442,29.887943427036177],[65.0468620136161,29.472180691031905],[64.35041873561852,29.560030625928093],[64.14800215033125,29.340819200145972],[63.55026085801117,29.468330796826166],[62.54985680527278,29.31857249604431],[60.87424848820879,29.829238999952608],[61.781221551363444,30.735850328081238],[61.69931440618083,31.379506130492672],[60.94194461451113,31.548074652628753],[60.863654819588966,32.18291962333443],[60.536077915290775,32.98126882581157],[60.963700392506006,33.52883230237626],[60.52842980331158,33.676446031218006],[60.80319339380745,34.40410187431986],[61.210817091725744,35.650072333309225],[62.230651483005886,35.270663967422294],[62.98466230657661,35.40404083916762],[63.19353844590035,35.857165635718914],[63.98289594915871,36.0079574651466],[64.5464791197339,36.31207326918427],[64.7461051776774,37.111817735333304],[65.58894778835784,37.30521678318564],[65.74563073106683,37.66116404881207],[66.21738488145934,37.39379018813392],[66.51860680528867,37.36278432875879]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":4,\"sovereignt\":\"Turkmenistan\",\"sov_a3\":\"TKM\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Turkmenistan\",\"adm0_a3\":\"TKM\",\"geou_dif\":0,\"geounit\":\"Turkmenistan\",\"gu_a3\":\"TKM\",\"su_dif\":0,\"subunit\":\"Turkmenistan\",\"su_a3\":\"TKM\",\"brk_diff\":0,\"name\":\"Turkmenistan\",\"name_long\":\"Turkmenistan\",\"brk_a3\":\"TKM\",\"brk_name\":\"Turkmenistan\",\"brk_group\":null,\"abbrev\":\"Turkm.\",\"postal\":\"TM\",\"formal_en\":\"Turkmenistan\",\"formal_fr\":null,\"name_ciawf\":\"Turkmenistan\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Turkmenistan\",\"name_alt\":null,\"mapcolor7\":3,\"mapcolor8\":2,\"mapcolor9\":1,\"mapcolor13\":9,\"pop_est\":5942089,\"pop_rank\":13,\"pop_year\":2019,\"gdp_md\":40761,\"gdp_year\":2018,\"economy\":\"6. Developing region\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"TX\",\"iso_a2\":\"TM\",\"iso_a2_eh\":\"TM\",\"iso_a3\":\"TKM\",\"iso_a3_eh\":\"TKM\",\"iso_n3\":\"795\",\"iso_n3_eh\":\"795\",\"un_a3\":\"795\",\"wb_a2\":\"TM\",\"wb_a3\":\"TKM\",\"woe_id\":23424972,\"woe_id_eh\":23424972,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"TKM\",\"adm0_diff\":null,\"adm0_tlc\":\"TKM\",\"adm0_a3_us\":\"TKM\",\"adm0_a3_fr\":\"TKM\",\"adm0_a3_ru\":\"TKM\",\"adm0_a3_es\":\"TKM\",\"adm0_a3_cn\":\"TKM\",\"adm0_a3_tw\":\"TKM\",\"adm0_a3_in\":\"TKM\",\"adm0_a3_np\":\"TKM\",\"adm0_a3_pk\":\"TKM\",\"adm0_a3_de\":\"TKM\",\"adm0_a3_gb\":\"TKM\",\"adm0_a3_br\":\"TKM\",\"adm0_a3_il\":\"TKM\",\"adm0_a3_ps\":\"TKM\",\"adm0_a3_sa\":\"TKM\",\"adm0_a3_eg\":\"TKM\",\"adm0_a3_ma\":\"TKM\",\"adm0_a3_pt\":\"TKM\",\"adm0_a3_ar\":\"TKM\",\"adm0_a3_jp\":\"TKM\",\"adm0_a3_ko\":\"TKM\",\"adm0_a3_vn\":\"TKM\",\"adm0_a3_tr\":\"TKM\",\"adm0_a3_id\":\"TKM\",\"adm0_a3_pl\":\"TKM\",\"adm0_a3_gr\":\"TKM\",\"adm0_a3_it\":\"TKM\",\"adm0_a3_nl\":\"TKM\",\"adm0_a3_se\":\"TKM\",\"adm0_a3_bd\":\"TKM\",\"adm0_a3_ua\":\"TKM\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"Central Asia\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":12,\"long_len\":12,\"abbrev_len\":6,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":58.676647,\"label_y\":39.855246,\"ne_id\":1159321309,\"wikidataid\":\"Q874\",\"name_ar\":\"تركمانستان\",\"name_bn\":\"তুর্কমেনিস্তান\",\"name_de\":\"Turkmenistan\",\"name_en\":\"Turkmenistan\",\"name_es\":\"Turkmenistán\",\"name_fa\":\"ترکمنستان\",\"name_fr\":\"Turkménistan\",\"name_el\":\"Τουρκμενιστάν\",\"name_he\":\"טורקמניסטן\",\"name_hi\":\"तुर्कमेनिस्तान\",\"name_hu\":\"Türkmenisztán\",\"name_id\":\"Turkmenistan\",\"name_it\":\"Turkmenistan\",\"name_ja\":\"トルクメニスタン\",\"name_ko\":\"투르크메니스탄\",\"name_nl\":\"Turkmenistan\",\"name_pl\":\"Turkmenistan\",\"name_pt\":\"Turquemenistão\",\"name_ru\":\"Туркмения\",\"name_sv\":\"Turkmenistan\",\"name_tr\":\"Türkmenistan\",\"name_uk\":\"Туркменістан\",\"name_ur\":\"ترکمانستان\",\"name_vi\":\"Turkmenistan\",\"name_zh\":\"土库曼斯坦\",\"name_zht\":\"土庫曼\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"TKM.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[52.50245975119615,41.78331553808637],[52.944293247291654,42.11603424739759],[54.07941775901495,42.32410940202083],[54.75534549339264,42.043971462566574],[55.45525109235377,41.25985911718584],[55.96819135928291,41.30864166926936],[57.0963912290791,41.32231008561057],[56.932215203687804,41.826026109375604],[57.78652998233708,42.17055288346552],[58.62901085799146,42.75155101172305],[59.976422153569786,42.22308197689021],[60.083340691981675,41.425146185871405],[60.465952996670694,41.22032664648255],[61.54717898951356,41.266370347654615],[61.88271406438469,41.084856879229406],[62.374260288345006,40.05388621679039],[63.51801476426103,39.36325653742564],[64.17022301621677,38.892406724598246],[65.2159989765074,38.4026950139843],[66.54615034370022,37.97468496352687],[66.51860680528867,37.36278432875879],[66.21738488145934,37.39379018813392],[65.74563073106683,37.66116404881207],[65.58894778835784,37.30521678318564],[64.7461051776774,37.111817735333304],[64.5464791197339,36.31207326918427],[63.98289594915871,36.0079574651466],[63.19353844590035,35.857165635718914],[62.98466230657661,35.40404083916762],[62.230651483005886,35.270663967422294],[61.210817091725744,35.650072333309225],[61.123070509694145,36.491597194966246],[60.37763797388388,36.52738312432837],[59.23476199731681,37.41298798273034],[58.436154412678206,37.5223094752438],[57.330433790928986,38.02922943781094],[56.61936608259282,38.121394354803485],[56.18037479027333,37.93512665460743],[55.51157840355191,37.96411713312317],[54.800303989486565,37.392420762678185],[53.92159793479556,37.19891836196126],[53.73551110211252,37.90613617609169],[53.880928582581845,38.95209300389536],[53.1010278664329,39.29057363540713],[53.35780805849123,39.97528636327445],[52.69397260926982,40.03362905533197],[52.915251092343624,40.87652334244473],[53.858139275941134,40.63103445084218],[54.73684533063215,40.95101491959346],[54.008310988181314,41.55121084244742],[53.72171349469059,42.12319143327003],[52.916749708880076,41.86811656347733],[52.81468875510362,41.13537059179471],[52.50245975119615,41.78331553808637]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":4,\"sovereignt\":\"Jordan\",\"sov_a3\":\"JOR\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Jordan\",\"adm0_a3\":\"JOR\",\"geou_dif\":0,\"geounit\":\"Jordan\",\"gu_a3\":\"JOR\",\"su_dif\":0,\"subunit\":\"Jordan\",\"su_a3\":\"JOR\",\"brk_diff\":0,\"name\":\"Jordan\",\"name_long\":\"Jordan\",\"brk_a3\":\"JOR\",\"brk_name\":\"Jordan\",\"brk_group\":null,\"abbrev\":\"Jord.\",\"postal\":\"J\",\"formal_en\":\"Hashemite Kingdom of Jordan\",\"formal_fr\":null,\"name_ciawf\":\"Jordan\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Jordan\",\"name_alt\":null,\"mapcolor7\":5,\"mapcolor8\":3,\"mapcolor9\":4,\"mapcolor13\":4,\"pop_est\":10101694,\"pop_rank\":14,\"pop_year\":2019,\"gdp_md\":44502,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"JO\",\"iso_a2\":\"JO\",\"iso_a2_eh\":\"JO\",\"iso_a3\":\"JOR\",\"iso_a3_eh\":\"JOR\",\"iso_n3\":\"400\",\"iso_n3_eh\":\"400\",\"un_a3\":\"400\",\"wb_a2\":\"JO\",\"wb_a3\":\"JOR\",\"woe_id\":23424860,\"woe_id_eh\":23424860,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"JOR\",\"adm0_diff\":null,\"adm0_tlc\":\"JOR\",\"adm0_a3_us\":\"JOR\",\"adm0_a3_fr\":\"JOR\",\"adm0_a3_ru\":\"JOR\",\"adm0_a3_es\":\"JOR\",\"adm0_a3_cn\":\"JOR\",\"adm0_a3_tw\":\"JOR\",\"adm0_a3_in\":\"JOR\",\"adm0_a3_np\":\"JOR\",\"adm0_a3_pk\":\"JOR\",\"adm0_a3_de\":\"JOR\",\"adm0_a3_gb\":\"JOR\",\"adm0_a3_br\":\"JOR\",\"adm0_a3_il\":\"JOR\",\"adm0_a3_ps\":\"JOR\",\"adm0_a3_sa\":\"JOR\",\"adm0_a3_eg\":\"JOR\",\"adm0_a3_ma\":\"JOR\",\"adm0_a3_pt\":\"JOR\",\"adm0_a3_ar\":\"JOR\",\"adm0_a3_jp\":\"JOR\",\"adm0_a3_ko\":\"JOR\",\"adm0_a3_vn\":\"JOR\",\"adm0_a3_tr\":\"JOR\",\"adm0_a3_id\":\"JOR\",\"adm0_a3_pl\":\"JOR\",\"adm0_a3_gr\":\"JOR\",\"adm0_a3_it\":\"JOR\",\"adm0_a3_nl\":\"JOR\",\"adm0_a3_se\":\"JOR\",\"adm0_a3_bd\":\"JOR\",\"adm0_a3_ua\":\"JOR\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"Western Asia\",\"region_wb\":\"Middle East & North Africa\",\"name_len\":6,\"long_len\":6,\"abbrev_len\":5,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":36.375991,\"label_y\":30.805025,\"ne_id\":1159320935,\"wikidataid\":\"Q810\",\"name_ar\":\"الأردن\",\"name_bn\":\"জর্ডান\",\"name_de\":\"Jordanien\",\"name_en\":\"Jordan\",\"name_es\":\"Jordania\",\"name_fa\":\"اردن\",\"name_fr\":\"Jordanie\",\"name_el\":\"Ιορδανία\",\"name_he\":\"ירדן\",\"name_hi\":\"जॉर्डन\",\"name_hu\":\"Jordánia\",\"name_id\":\"Yordania\",\"name_it\":\"Giordania\",\"name_ja\":\"ヨルダン\",\"name_ko\":\"요르단\",\"name_nl\":\"Jordanië\",\"name_pl\":\"Jordania\",\"name_pt\":\"Jordânia\",\"name_ru\":\"Иордания\",\"name_sv\":\"Jordanien\",\"name_tr\":\"Ürdün\",\"name_uk\":\"Йорданія\",\"name_ur\":\"اردن\",\"name_vi\":\"Jordan\",\"name_zh\":\"约旦\",\"name_zht\":\"約旦\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"JOR.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[35.54566531753454,32.393992011030576],[35.71991824722275,32.709192409794866],[36.834062127435544,32.312937526980775],[38.792340529136084,33.378686428352225],[39.19546837744497,32.16100881604267],[39.00488569515255,32.01021698661498],[37.00216556168101,31.508412990844747],[37.998848911294374,30.508499864213135],[37.66811974462638,30.3386652694859],[37.503581984209035,30.003776150018407],[36.74052778498725,29.86528331147619],[36.50121422704359,29.505253607698705],[36.06894087092206,29.197494615184453],[34.95603722508426,29.356554673778845],[34.92260257339143,29.501326198844524],[35.420918409981965,31.100065822874356],[35.397560662586045,31.489086005167582],[35.5452519060762,31.78250478772084],[35.54566531753454,32.393992011030576]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Nepal\",\"sov_a3\":\"NPL\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Nepal\",\"adm0_a3\":\"NPL\",\"geou_dif\":0,\"geounit\":\"Nepal\",\"gu_a3\":\"NPL\",\"su_dif\":0,\"subunit\":\"Nepal\",\"su_a3\":\"NPL\",\"brk_diff\":0,\"name\":\"Nepal\",\"name_long\":\"Nepal\",\"brk_a3\":\"NPL\",\"brk_name\":\"Nepal\",\"brk_group\":null,\"abbrev\":\"Nepal\",\"postal\":\"NP\",\"formal_en\":\"Nepal\",\"formal_fr\":null,\"name_ciawf\":\"Nepal\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Nepal\",\"name_alt\":null,\"mapcolor7\":2,\"mapcolor8\":2,\"mapcolor9\":3,\"mapcolor13\":12,\"pop_est\":28608710,\"pop_rank\":15,\"pop_year\":2019,\"gdp_md\":30641,\"gdp_year\":2019,\"economy\":\"7. Least developed region\",\"income_grp\":\"5. Low income\",\"fips_10\":\"NP\",\"iso_a2\":\"NP\",\"iso_a2_eh\":\"NP\",\"iso_a3\":\"NPL\",\"iso_a3_eh\":\"NPL\",\"iso_n3\":\"524\",\"iso_n3_eh\":\"524\",\"un_a3\":\"524\",\"wb_a2\":\"NP\",\"wb_a3\":\"NPL\",\"woe_id\":23424911,\"woe_id_eh\":23424911,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"NPL\",\"adm0_diff\":null,\"adm0_tlc\":\"NPL\",\"adm0_a3_us\":\"NPL\",\"adm0_a3_fr\":\"NPL\",\"adm0_a3_ru\":\"NPL\",\"adm0_a3_es\":\"NPL\",\"adm0_a3_cn\":\"NPL\",\"adm0_a3_tw\":\"NPL\",\"adm0_a3_in\":\"NPL\",\"adm0_a3_np\":\"NPL\",\"adm0_a3_pk\":\"NPL\",\"adm0_a3_de\":\"NPL\",\"adm0_a3_gb\":\"NPL\",\"adm0_a3_br\":\"NPL\",\"adm0_a3_il\":\"NPL\",\"adm0_a3_ps\":\"NPL\",\"adm0_a3_sa\":\"NPL\",\"adm0_a3_eg\":\"NPL\",\"adm0_a3_ma\":\"NPL\",\"adm0_a3_pt\":\"NPL\",\"adm0_a3_ar\":\"NPL\",\"adm0_a3_jp\":\"NPL\",\"adm0_a3_ko\":\"NPL\",\"adm0_a3_vn\":\"NPL\",\"adm0_a3_tr\":\"NPL\",\"adm0_a3_id\":\"NPL\",\"adm0_a3_pl\":\"NPL\",\"adm0_a3_gr\":\"NPL\",\"adm0_a3_it\":\"NPL\",\"adm0_a3_nl\":\"NPL\",\"adm0_a3_se\":\"NPL\",\"adm0_a3_bd\":\"NPL\",\"adm0_a3_ua\":\"NPL\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"Southern Asia\",\"region_wb\":\"South Asia\",\"name_len\":5,\"long_len\":5,\"abbrev_len\":5,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":83.639914,\"label_y\":28.297925,\"ne_id\":1159321121,\"wikidataid\":\"Q837\",\"name_ar\":\"نيبال\",\"name_bn\":\"নেপাল\",\"name_de\":\"Nepal\",\"name_en\":\"Nepal\",\"name_es\":\"Nepal\",\"name_fa\":\"نپال\",\"name_fr\":\"Népal\",\"name_el\":\"Νεπάλ\",\"name_he\":\"נפאל\",\"name_hi\":\"नेपाल\",\"name_hu\":\"Nepál\",\"name_id\":\"Nepal\",\"name_it\":\"Nepal\",\"name_ja\":\"ネパール\",\"name_ko\":\"네팔\",\"name_nl\":\"Nepal\",\"name_pl\":\"Nepal\",\"name_pt\":\"Nepal\",\"name_ru\":\"Непал\",\"name_sv\":\"Nepal\",\"name_tr\":\"Nepal\",\"name_uk\":\"Непал\",\"name_ur\":\"نیپال\",\"name_vi\":\"Nepal\",\"name_zh\":\"尼泊尔\",\"name_zht\":\"尼泊爾\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"NPL.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[88.12044070836987,27.876541652939594],[88.04313276566123,27.445818589786825],[88.17480431514092,26.81040517832595],[88.06023766474982,26.41461538340249],[87.2274719583663,26.397898057556077],[86.02439293817918,26.63098460540857],[85.25177859898338,26.726198431906344],[84.6750179381738,27.234901231387536],[83.30424889519955,27.36450572357556],[81.99998742058497,27.925479234319994],[81.05720258985203,28.416095282499043],[80.08842451367627,28.79447011974014],[80.4767212259174,29.72986522065534],[81.11125613802932,30.183480943313402],[81.52580447787474,30.42271698660863],[82.32751264845088,30.115268052688137],[83.33711510613719,29.463731594352197],[83.89899295444673,29.320226141877658],[84.23457970575015,28.839893703724698],[85.01163821812304,28.642773952747344],[85.82331994013151,28.203575954698707],[86.9545170430006,27.974261786403517],[88.12044070836987,27.876541652939594]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Yemen\",\"sov_a3\":\"YEM\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Yemen\",\"adm0_a3\":\"YEM\",\"geou_dif\":0,\"geounit\":\"Yemen\",\"gu_a3\":\"YEM\",\"su_dif\":0,\"subunit\":\"Yemen\",\"su_a3\":\"YEM\",\"brk_diff\":0,\"name\":\"Yemen\",\"name_long\":\"Yemen\",\"brk_a3\":\"YEM\",\"brk_name\":\"Yemen\",\"brk_group\":null,\"abbrev\":\"Yem.\",\"postal\":\"YE\",\"formal_en\":\"Republic of Yemen\",\"formal_fr\":null,\"name_ciawf\":\"Yemen\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Yemen, Rep.\",\"name_alt\":null,\"mapcolor7\":5,\"mapcolor8\":3,\"mapcolor9\":3,\"mapcolor13\":11,\"pop_est\":29161922,\"pop_rank\":15,\"pop_year\":2019,\"gdp_md\":22581,\"gdp_year\":2019,\"economy\":\"7. Least developed region\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"YM\",\"iso_a2\":\"YE\",\"iso_a2_eh\":\"YE\",\"iso_a3\":\"YEM\",\"iso_a3_eh\":\"YEM\",\"iso_n3\":\"887\",\"iso_n3_eh\":\"887\",\"un_a3\":\"887\",\"wb_a2\":\"RY\",\"wb_a3\":\"YEM\",\"woe_id\":23425002,\"woe_id_eh\":23425002,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"YEM\",\"adm0_diff\":null,\"adm0_tlc\":\"YEM\",\"adm0_a3_us\":\"YEM\",\"adm0_a3_fr\":\"YEM\",\"adm0_a3_ru\":\"YEM\",\"adm0_a3_es\":\"YEM\",\"adm0_a3_cn\":\"YEM\",\"adm0_a3_tw\":\"YEM\",\"adm0_a3_in\":\"YEM\",\"adm0_a3_np\":\"YEM\",\"adm0_a3_pk\":\"YEM\",\"adm0_a3_de\":\"YEM\",\"adm0_a3_gb\":\"YEM\",\"adm0_a3_br\":\"YEM\",\"adm0_a3_il\":\"YEM\",\"adm0_a3_ps\":\"YEM\",\"adm0_a3_sa\":\"YEM\",\"adm0_a3_eg\":\"YEM\",\"adm0_a3_ma\":\"YEM\",\"adm0_a3_pt\":\"YEM\",\"adm0_a3_ar\":\"YEM\",\"adm0_a3_jp\":\"YEM\",\"adm0_a3_ko\":\"YEM\",\"adm0_a3_vn\":\"YEM\",\"adm0_a3_tr\":\"YEM\",\"adm0_a3_id\":\"YEM\",\"adm0_a3_pl\":\"YEM\",\"adm0_a3_gr\":\"YEM\",\"adm0_a3_it\":\"YEM\",\"adm0_a3_nl\":\"YEM\",\"adm0_a3_se\":\"YEM\",\"adm0_a3_bd\":\"YEM\",\"adm0_a3_ua\":\"YEM\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"Western Asia\",\"region_wb\":\"Middle East & North Africa\",\"name_len\":5,\"long_len\":5,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":45.874383,\"label_y\":15.328226,\"ne_id\":1159321425,\"wikidataid\":\"Q805\",\"name_ar\":\"اليمن\",\"name_bn\":\"ইয়েমেন\",\"name_de\":\"Jemen\",\"name_en\":\"Yemen\",\"name_es\":\"Yemen\",\"name_fa\":\"یمن\",\"name_fr\":\"Yémen\",\"name_el\":\"Υεμένη\",\"name_he\":\"תימן\",\"name_hi\":\"यमन\",\"name_hu\":\"Jemen\",\"name_id\":\"Yaman\",\"name_it\":\"Yemen\",\"name_ja\":\"イエメン\",\"name_ko\":\"예멘\",\"name_nl\":\"Jemen\",\"name_pl\":\"Jemen\",\"name_pt\":\"Iémen\",\"name_ru\":\"Йемен\",\"name_sv\":\"Jemen\",\"name_tr\":\"Yemen\",\"name_uk\":\"Ємен\",\"name_ur\":\"یمن\",\"name_vi\":\"Yemen\",\"name_zh\":\"也门\",\"name_zht\":\"葉門\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"YEM.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[52.00000980002224,19.000003363516058],[52.78218427919205,17.349742336491232],[53.10857262554751,16.651051133688952],[52.38520592632588,16.382411200419654],[52.19172936382509,15.93843313238402],[52.1681649107,15.597420355689948],[51.172515089732485,15.175249742081492],[49.57457645040315,14.708766587782748],[48.67923058451416,14.00320241948566],[48.23894738138742,13.948089504446372],[47.938914015500785,14.007233181204427],[47.354453566279716,13.592219753468383],[46.717076450391744,13.39969920496502],[45.87759280781027,13.347764390511685],[45.62505008319988,13.290946153206763],[45.406458774605255,13.026905422411433],[45.14435591002086,12.95393830001531],[44.989533318874415,12.69958690027471],[44.49457645038285,12.721652736863348],[44.17511274595449,12.585950425664876],[43.48295861183713,12.636800035040084],[43.22287112811213,13.220950425667425],[43.25144819516953,13.767583726450852],[43.08794396339806,14.06263031662131],[42.892245314308724,14.802249253798749],[42.60487267433362,15.213335272680595],[42.80501549660005,15.261962795467255],[42.70243777850066,15.718885809791999],[42.823670688657415,15.911742255105267],[42.77933230975097,16.347891343648683],[43.21837527850275,16.66688996018641],[43.11579756040336,17.088440456607373],[43.380794305196105,17.57998668056767],[43.79151858905192,17.31997671149111],[44.06261315285508,17.410358791569593],[45.21665123879719,17.433328965723334],[45.39999922056876,17.333335069238558],[46.366658563020536,17.233315334537636],[46.74999433776165,17.283338120996177],[47.000004917189756,16.949999294497445],[47.46669477721763,17.116681626854884],[48.18334354024134,18.166669216377315],[49.11667158386487,18.616667588774945],[52.00000980002224,19.000003363516058]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":6,\"sovereignt\":\"Northern Cyprus\",\"sov_a3\":\"CYN\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Northern Cyprus\",\"adm0_a3\":\"CYN\",\"geou_dif\":0,\"geounit\":\"Northern Cyprus\",\"gu_a3\":\"CYN\",\"su_dif\":0,\"subunit\":\"Northern Cyprus\",\"su_a3\":\"CYN\",\"brk_diff\":0,\"name\":\"N. Cyprus\",\"name_long\":\"Northern Cyprus\",\"brk_a3\":\"CYN\",\"brk_name\":\"N. Cyprus\",\"brk_group\":null,\"abbrev\":\"N. Cy.\",\"postal\":\"CN\",\"formal_en\":\"Turkish Republic of Northern Cyprus\",\"formal_fr\":null,\"name_ciawf\":null,\"note_adm0\":\"Self admin.\",\"note_brk\":\"Self admin.; Claimed by Cyprus\",\"name_sort\":\"Cyprus, Northern\",\"name_alt\":null,\"mapcolor7\":3,\"mapcolor8\":1,\"mapcolor9\":4,\"mapcolor13\":8,\"pop_est\":326000,\"pop_rank\":10,\"pop_year\":2017,\"gdp_md\":3600,\"gdp_year\":2013,\"economy\":\"6. Developing region\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"-99\",\"iso_a2\":\"-99\",\"iso_a2_eh\":\"-99\",\"iso_a3\":\"-99\",\"iso_a3_eh\":\"-99\",\"iso_n3\":\"-99\",\"iso_n3_eh\":\"-99\",\"un_a3\":\"-099\",\"wb_a2\":\"-99\",\"wb_a3\":\"-99\",\"woe_id\":-90,\"woe_id_eh\":23424995,\"woe_note\":\"WOE lists as subunit of united Cyprus\",\"adm0_iso\":\"CYP\",\"adm0_diff\":\"1\",\"adm0_tlc\":\"CYN\",\"adm0_a3_us\":\"CYP\",\"adm0_a3_fr\":\"CYP\",\"adm0_a3_ru\":\"CYP\",\"adm0_a3_es\":\"CYP\",\"adm0_a3_cn\":\"CYP\",\"adm0_a3_tw\":\"CYP\",\"adm0_a3_in\":\"CYP\",\"adm0_a3_np\":\"CYP\",\"adm0_a3_pk\":\"CYP\",\"adm0_a3_de\":\"CYP\",\"adm0_a3_gb\":\"CYP\",\"adm0_a3_br\":\"CYP\",\"adm0_a3_il\":\"CYP\",\"adm0_a3_ps\":\"CYP\",\"adm0_a3_sa\":\"CYP\",\"adm0_a3_eg\":\"CYP\",\"adm0_a3_ma\":\"CYP\",\"adm0_a3_pt\":\"CYP\",\"adm0_a3_ar\":\"CYP\",\"adm0_a3_jp\":\"CYP\",\"adm0_a3_ko\":\"CYP\",\"adm0_a3_vn\":\"CYP\",\"adm0_a3_tr\":\"CYN\",\"adm0_a3_id\":\"CYP\",\"adm0_a3_pl\":\"CYP\",\"adm0_a3_gr\":\"CYP\",\"adm0_a3_it\":\"CYP\",\"adm0_a3_nl\":\"CYP\",\"adm0_a3_se\":\"CYP\",\"adm0_a3_bd\":\"CYP\",\"adm0_a3_ua\":\"CYP\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"Western Asia\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":9,\"long_len\":15,\"abbrev_len\":6,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":6,\"max_label\":10,\"label_x\":33.692434,\"label_y\":35.216071,\"ne_id\":1159320531,\"wikidataid\":\"Q23681\",\"name_ar\":\"قبرص الشمالية\",\"name_bn\":\"উত্তর সাইপ্রাস\",\"name_de\":\"Türkische Republik Nordzypern\",\"name_en\":\"Turkish Republic of Northern Cyprus\",\"name_es\":\"República Turca del Norte de Chipre\",\"name_fa\":\"جمهوری ترک قبرس شمالی\",\"name_fr\":\"Chypre du Nord\",\"name_el\":\"Τουρκική Δημοκρατία της Βόρειας Κύπρου\",\"name_he\":\"הרפובליקה הטורקית של צפון קפריסין\",\"name_hi\":\"उत्तरी साइप्रस\",\"name_hu\":\"Észak-Ciprus\",\"name_id\":\"Republik Turki Siprus Utara\",\"name_it\":\"Cipro del Nord\",\"name_ja\":\"北キプロス・トルコ共和国\",\"name_ko\":\"북키프로스\",\"name_nl\":\"Noord-Cyprus\",\"name_pl\":\"Cypr Północny\",\"name_pt\":\"República Turca do Chipre do Norte\",\"name_ru\":\"Турецкая Республика Северного Кипра\",\"name_sv\":\"Nordcypern\",\"name_tr\":\"Kuzey Kıbrıs Türk Cumhuriyeti\",\"name_uk\":\"Турецька Республіка Північного Кіпру\",\"name_ur\":\"ترک جمہوریہ شمالی قبرص\",\"name_vi\":\"Bắc Síp\",\"name_zh\":\"北塞浦路斯土耳其共和国\",\"name_zht\":\"北賽普勒斯土耳其共和國\",\"fclass_iso\":\"Unrecognized\",\"tlc_diff\":\"1\",\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":\"Admin-0 breakaway and disputed\",\"fclass_fr\":\"Unrecognized\",\"fclass_ru\":\"Unrecognized\",\"fclass_es\":\"Unrecognized\",\"fclass_cn\":\"Unrecognized\",\"fclass_tw\":\"Unrecognized\",\"fclass_in\":\"Unrecognized\",\"fclass_np\":\"Unrecognized\",\"fclass_pk\":\"Unrecognized\",\"fclass_de\":\"Unrecognized\",\"fclass_gb\":\"Unrecognized\",\"fclass_br\":\"Unrecognized\",\"fclass_il\":\"Unrecognized\",\"fclass_ps\":\"Unrecognized\",\"fclass_sa\":\"Unrecognized\",\"fclass_eg\":\"Unrecognized\",\"fclass_ma\":\"Unrecognized\",\"fclass_pt\":\"Unrecognized\",\"fclass_ar\":\"Unrecognized\",\"fclass_jp\":\"Unrecognized\",\"fclass_ko\":\"Unrecognized\",\"fclass_vn\":\"Unrecognized\",\"fclass_tr\":\"Admin-0 country\",\"fclass_id\":\"Unrecognized\",\"fclass_pl\":\"Unrecognized\",\"fclass_gr\":\"Unrecognized\",\"fclass_it\":\"Unrecognized\",\"fclass_nl\":\"Unrecognized\",\"fclass_se\":\"Unrecognized\",\"fclass_bd\":\"Unrecognized\",\"fclass_ua\":\"Unrecognized\",\"filename\":\"CYN.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[32.73178022637745,35.14002594658844],[32.80247358575275,35.14550364841138],[32.946960890440806,35.3867033961337],[33.667227003724946,35.37321584730552],[34.576473829900465,35.67159556735879],[33.900804477684204,35.245755927057616],[33.97361657078346,35.058506374648005],[33.86643965021011,35.09359467217419],[33.675391880027064,35.01786286065045],[33.5256852556775,35.03868846286407],[33.47581749851585,35.000344550103506],[33.45592207208347,35.10142365166641],[33.3838334490363,35.16271190036457],[33.19097700372305,35.17312470147138],[32.919572381326134,35.08783274997364],[32.73178022637745,35.14002594658844]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":2,\"sovereignt\":\"Philippines\",\"sov_a3\":\"PHL\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Philippines\",\"adm0_a3\":\"PHL\",\"geou_dif\":0,\"geounit\":\"Philippines\",\"gu_a3\":\"PHL\",\"su_dif\":0,\"subunit\":\"Philippines\",\"su_a3\":\"PHL\",\"brk_diff\":0,\"name\":\"Philippines\",\"name_long\":\"Philippines\",\"brk_a3\":\"PHL\",\"brk_name\":\"Philippines\",\"brk_group\":null,\"abbrev\":\"Phil.\",\"postal\":\"PH\",\"formal_en\":\"Republic of the Philippines\",\"formal_fr\":null,\"name_ciawf\":\"Philippines\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Philippines\",\"name_alt\":null,\"mapcolor7\":3,\"mapcolor8\":2,\"mapcolor9\":2,\"mapcolor13\":8,\"pop_est\":108116615,\"pop_rank\":17,\"pop_year\":2019,\"gdp_md\":376795,\"gdp_year\":2019,\"economy\":\"5. Emerging region: G20\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"RP\",\"iso_a2\":\"PH\",\"iso_a2_eh\":\"PH\",\"iso_a3\":\"PHL\",\"iso_a3_eh\":\"PHL\",\"iso_n3\":\"608\",\"iso_n3_eh\":\"608\",\"un_a3\":\"608\",\"wb_a2\":\"PH\",\"wb_a3\":\"PHL\",\"woe_id\":23424934,\"woe_id_eh\":23424934,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"PHL\",\"adm0_diff\":null,\"adm0_tlc\":\"PHL\",\"adm0_a3_us\":\"PHL\",\"adm0_a3_fr\":\"PHL\",\"adm0_a3_ru\":\"PHL\",\"adm0_a3_es\":\"PHL\",\"adm0_a3_cn\":\"PHL\",\"adm0_a3_tw\":\"PHL\",\"adm0_a3_in\":\"PHL\",\"adm0_a3_np\":\"PHL\",\"adm0_a3_pk\":\"PHL\",\"adm0_a3_de\":\"PHL\",\"adm0_a3_gb\":\"PHL\",\"adm0_a3_br\":\"PHL\",\"adm0_a3_il\":\"PHL\",\"adm0_a3_ps\":\"PHL\",\"adm0_a3_sa\":\"PHL\",\"adm0_a3_eg\":\"PHL\",\"adm0_a3_ma\":\"PHL\",\"adm0_a3_pt\":\"PHL\",\"adm0_a3_ar\":\"PHL\",\"adm0_a3_jp\":\"PHL\",\"adm0_a3_ko\":\"PHL\",\"adm0_a3_vn\":\"PHL\",\"adm0_a3_tr\":\"PHL\",\"adm0_a3_id\":\"PHL\",\"adm0_a3_pl\":\"PHL\",\"adm0_a3_gr\":\"PHL\",\"adm0_a3_it\":\"PHL\",\"adm0_a3_nl\":\"PHL\",\"adm0_a3_se\":\"PHL\",\"adm0_a3_bd\":\"PHL\",\"adm0_a3_ua\":\"PHL\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"South-Eastern Asia\",\"region_wb\":\"East Asia & Pacific\",\"name_len\":11,\"long_len\":11,\"abbrev_len\":5,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":2.5,\"max_label\":7,\"label_x\":122.465,\"label_y\":11.198,\"ne_id\":1159321169,\"wikidataid\":\"Q928\",\"name_ar\":\"الفلبين\",\"name_bn\":\"ফিলিপাইন\",\"name_de\":\"Philippinen\",\"name_en\":\"Philippines\",\"name_es\":\"Filipinas\",\"name_fa\":\"فیلیپین\",\"name_fr\":\"Philippines\",\"name_el\":\"Φιλιππίνες\",\"name_he\":\"הפיליפינים\",\"name_hi\":\"फ़िलीपीन्स\",\"name_hu\":\"Fülöp-szigetek\",\"name_id\":\"Filipina\",\"name_it\":\"Filippine\",\"name_ja\":\"フィリピン\",\"name_ko\":\"필리핀\",\"name_nl\":\"Filipijnen\",\"name_pl\":\"Filipiny\",\"name_pt\":\"Filipinas\",\"name_ru\":\"Филиппины\",\"name_sv\":\"Filippinerna\",\"name_tr\":\"Filipinler\",\"name_uk\":\"Філіппіни\",\"name_ur\":\"فلپائن\",\"name_vi\":\"Philippines\",\"name_zh\":\"菲律宾\",\"name_zht\":\"菲律賓\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"PHL.geojson\"},\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[[[120.83389611214656,12.704496161342433],[120.32343631396745,13.466413479053825],[121.18012820850211,13.429697373910443],[121.5273938335035,13.06959015548452],[121.26219038298159,12.205560207564403],[120.83389611214656,12.704496161342433]]],[[[122.5860889018671,9.981044826696134],[122.83708133350875,10.261156927934225],[122.9474105164519,10.88186839440806],[123.49884972543845,10.94062449792392],[123.33777428598472,10.267383938025404],[124.0779358257012,11.232725531453738],[123.98243777882584,10.278778591345755],[123.62318322153271,9.950090643753299],[123.30992068897939,9.318268744336706],[122.99588300994166,9.022188625520414],[122.38005496631942,9.713360907424217],[122.5860889018671,9.981044826696134]]],[[[126.37681359263745,8.414706325713297],[126.47851281138789,7.750354112168978],[126.53742394420061,7.189380601424545],[126.19677290253259,6.274294338400054],[125.83142052622907,7.293715318221842],[125.36385216685221,6.786485297060949],[125.68316084198369,6.049656887227272],[125.39651167206063,5.581003322772276],[124.21978763234239,6.161355495626154],[123.9387195171069,6.885135606306136],[124.24366214406128,7.360610459823661],[123.61021243702749,7.83352732994274],[123.29607140512519,7.418875637232759],[122.82550581267537,7.457374579290204],[122.08549930225573,6.899424139834836],[121.91992801319256,7.192119452336015],[122.31235884001705,8.034962063016465],[122.94239790251959,8.316236883981134],[123.48768761606347,8.69300975182118],[123.84115441293983,8.240324204944372],[124.60146976125021,8.514157619659002],[124.76461225799562,8.960409450715488],[125.47139082245155,8.986996975129657],[125.41211795461277,9.760334784377534],[126.2227144715431,9.286074327018866],[126.30663699758514,8.78248749433456],[126.37681359263745,8.414706325713297]]],[[[118.50458092659036,9.316382554558047],[117.17427453010066,8.367499904814679],[117.66447716682137,9.066888739452892],[118.38691369026175,9.68449961998921],[118.98734215706105,10.376292019080523],[119.51149620979751,11.3696680770272],[119.68967654833989,10.554291490109875],[119.02945844937892,10.003653265823829],[118.50458092659036,9.316382554558047]]],[[[122.336956821788,18.224882717354106],[122.17427941293317,17.810282701076403],[122.5156539246533,17.093504746971973],[122.25231082569393,16.26244436285407],[121.66278608610821,15.931017564350142],[121.50506961475342,15.124813544164622],[121.7288285665772,14.328376369682275],[122.25892540902726,14.21820221603599],[122.70127566944569,14.336541245984378],[123.9502950379403,13.782130642141027],[123.85510704965867,13.237771104378425],[124.18128869028493,12.9975273706535],[124.0774190613783,12.536676947474575],[123.29803510955225,13.02752553959894],[122.92865197152994,13.552919826710422],[122.6713550151487,13.185836289925092],[122.03464969288052,13.784481919810304],[121.12638471891857,13.636687323455547],[120.62863732308324,13.857655747935596],[120.67938357959386,14.271015529838294],[120.99181928923053,14.52539276779504],[120.69333621631267,14.756670640517312],[120.56414513558299,14.396279201713796],[120.07042850146644,14.970869452367126],[119.92092858284605,15.406346747290739],[119.88377322802819,16.363704331929995],[120.28648766487875,16.034628811095345],[120.39004723519167,17.599081122299523],[120.71586714079191,18.505227362537525],[121.32130822152351,18.504064642810945],[121.9376013530364,18.218552354398355],[122.24600630095429,18.478949896717097],[122.336956821788,18.224882717354106]]],[[[122.03837039600555,11.415840969279998],[121.88354780485909,11.891755072471994],[122.48382124236149,11.582187404827538],[123.12021650603594,11.583660183147856],[123.10083784392646,11.16593374271649],[122.63771365772669,10.74130849857417],[122.00261030485957,10.441016750526089],[121.96736697803652,10.905691229694625],[122.03837039600555,11.415840969279998]]],[[[125.50255171112354,12.162694606978292],[125.78346479706221,11.046121934447783],[125.01188398651226,11.311454576050409],[125.03276126515817,10.975816148314692],[125.27744917206019,10.358722032101284],[124.80181928924577,10.134678859899864],[124.76016808481853,10.837995103392258],[124.45910119028605,10.889929917845592],[124.30252160044171,11.495370998577187],[124.89101281138153,11.415582587118536],[124.87799035044401,11.794189968304947],[124.26676150929569,12.557760931849671],[125.22711632700788,12.53572093347718],[125.50255171112354,12.162694606978292]]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Sri Lanka\",\"sov_a3\":\"LKA\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Sri Lanka\",\"adm0_a3\":\"LKA\",\"geou_dif\":0,\"geounit\":\"Sri Lanka\",\"gu_a3\":\"LKA\",\"su_dif\":0,\"subunit\":\"Sri Lanka\",\"su_a3\":\"LKA\",\"brk_diff\":0,\"name\":\"Sri Lanka\",\"name_long\":\"Sri Lanka\",\"brk_a3\":\"LKA\",\"brk_name\":\"Sri Lanka\",\"brk_group\":null,\"abbrev\":\"Sri L.\",\"postal\":\"LK\",\"formal_en\":\"Democratic Socialist Republic of Sri Lanka\",\"formal_fr\":null,\"name_ciawf\":\"Sri Lanka\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Sri Lanka\",\"name_alt\":null,\"mapcolor7\":3,\"mapcolor8\":5,\"mapcolor9\":4,\"mapcolor13\":9,\"pop_est\":21803000,\"pop_rank\":15,\"pop_year\":2019,\"gdp_md\":84008,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"CE\",\"iso_a2\":\"LK\",\"iso_a2_eh\":\"LK\",\"iso_a3\":\"LKA\",\"iso_a3_eh\":\"LKA\",\"iso_n3\":\"144\",\"iso_n3_eh\":\"144\",\"un_a3\":\"144\",\"wb_a2\":\"LK\",\"wb_a3\":\"LKA\",\"woe_id\":23424778,\"woe_id_eh\":23424778,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"LKA\",\"adm0_diff\":null,\"adm0_tlc\":\"LKA\",\"adm0_a3_us\":\"LKA\",\"adm0_a3_fr\":\"LKA\",\"adm0_a3_ru\":\"LKA\",\"adm0_a3_es\":\"LKA\",\"adm0_a3_cn\":\"LKA\",\"adm0_a3_tw\":\"LKA\",\"adm0_a3_in\":\"LKA\",\"adm0_a3_np\":\"LKA\",\"adm0_a3_pk\":\"LKA\",\"adm0_a3_de\":\"LKA\",\"adm0_a3_gb\":\"LKA\",\"adm0_a3_br\":\"LKA\",\"adm0_a3_il\":\"LKA\",\"adm0_a3_ps\":\"LKA\",\"adm0_a3_sa\":\"LKA\",\"adm0_a3_eg\":\"LKA\",\"adm0_a3_ma\":\"LKA\",\"adm0_a3_pt\":\"LKA\",\"adm0_a3_ar\":\"LKA\",\"adm0_a3_jp\":\"LKA\",\"adm0_a3_ko\":\"LKA\",\"adm0_a3_vn\":\"LKA\",\"adm0_a3_tr\":\"LKA\",\"adm0_a3_id\":\"LKA\",\"adm0_a3_pl\":\"LKA\",\"adm0_a3_gr\":\"LKA\",\"adm0_a3_it\":\"LKA\",\"adm0_a3_nl\":\"LKA\",\"adm0_a3_se\":\"LKA\",\"adm0_a3_bd\":\"LKA\",\"adm0_a3_ua\":\"LKA\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"Southern Asia\",\"region_wb\":\"South Asia\",\"name_len\":9,\"long_len\":9,\"abbrev_len\":6,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":80.704823,\"label_y\":7.581097,\"ne_id\":1159321025,\"wikidataid\":\"Q854\",\"name_ar\":\"سريلانكا\",\"name_bn\":\"শ্রীলঙ্কা\",\"name_de\":\"Sri Lanka\",\"name_en\":\"Sri Lanka\",\"name_es\":\"Sri Lanka\",\"name_fa\":\"سریلانکا\",\"name_fr\":\"Sri Lanka\",\"name_el\":\"Σρι Λάνκα\",\"name_he\":\"סרי לנקה\",\"name_hi\":\"श्रीलंका\",\"name_hu\":\"Srí Lanka\",\"name_id\":\"Sri Lanka\",\"name_it\":\"Sri Lanka\",\"name_ja\":\"スリランカ\",\"name_ko\":\"스리랑카\",\"name_nl\":\"Sri Lanka\",\"name_pl\":\"Sri Lanka\",\"name_pt\":\"Sri Lanka\",\"name_ru\":\"Шри-Ланка\",\"name_sv\":\"Sri Lanka\",\"name_tr\":\"Sri Lanka\",\"name_uk\":\"Шрі-Ланка\",\"name_ur\":\"سری لنکا\",\"name_vi\":\"Sri Lanka\",\"name_zh\":\"斯里兰卡\",\"name_zht\":\"斯里蘭卡\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"LKA.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[81.7879590188914,7.523055324733164],[81.63732221876059,6.481775214051922],[81.21801964714433,6.197141424988288],[80.34835696810441,5.968369859232155],[79.87246870312853,6.76346344647493],[79.69516686393513,8.200843410673386],[80.14780073437964,9.824077663609557],[80.83881798698656,9.268426825391188],[81.30431928907177,8.56420624433369],[81.7879590188914,7.523055324733164]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Taiwan\",\"sov_a3\":\"TWN\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Taiwan\",\"adm0_a3\":\"TWN\",\"geou_dif\":0,\"geounit\":\"Taiwan\",\"gu_a3\":\"TWN\",\"su_dif\":0,\"subunit\":\"Taiwan\",\"su_a3\":\"TWN\",\"brk_diff\":0,\"name\":\"Taiwan\",\"name_long\":\"Taiwan\",\"brk_a3\":\"TWN\",\"brk_name\":\"Taiwan\",\"brk_group\":null,\"abbrev\":\"Taiwan\",\"postal\":\"TW\",\"formal_en\":null,\"formal_fr\":null,\"name_ciawf\":\"Taiwan\",\"note_adm0\":null,\"note_brk\":\"Self admin.; Claimed by China\",\"name_sort\":\"Taiwan\",\"name_alt\":null,\"mapcolor7\":1,\"mapcolor8\":5,\"mapcolor9\":7,\"mapcolor13\":2,\"pop_est\":23568378,\"pop_rank\":15,\"pop_year\":2020,\"gdp_md\":1127000,\"gdp_year\":2016,\"economy\":\"2. Developed region: nonG7\",\"income_grp\":\"2. High income: nonOECD\",\"fips_10\":\"TW\",\"iso_a2\":\"CN-TW\",\"iso_a2_eh\":\"TW\",\"iso_a3\":\"TWN\",\"iso_a3_eh\":\"TWN\",\"iso_n3\":\"158\",\"iso_n3_eh\":\"158\",\"un_a3\":\"-099\",\"wb_a2\":\"-99\",\"wb_a3\":\"-99\",\"woe_id\":23424971,\"woe_id_eh\":23424971,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"TWN\",\"adm0_diff\":null,\"adm0_tlc\":\"TWN\",\"adm0_a3_us\":\"TWN\",\"adm0_a3_fr\":\"TWN\",\"adm0_a3_ru\":\"CHN\",\"adm0_a3_es\":\"TWN\",\"adm0_a3_cn\":\"CHN\",\"adm0_a3_tw\":\"TWN\",\"adm0_a3_in\":\"TWN\",\"adm0_a3_np\":\"CHN\",\"adm0_a3_pk\":\"CHN\",\"adm0_a3_de\":\"TWN\",\"adm0_a3_gb\":\"TWN\",\"adm0_a3_br\":\"TWN\",\"adm0_a3_il\":\"TWN\",\"adm0_a3_ps\":\"TWN\",\"adm0_a3_sa\":\"TWN\",\"adm0_a3_eg\":\"CHN\",\"adm0_a3_ma\":\"CHN\",\"adm0_a3_pt\":\"TWN\",\"adm0_a3_ar\":\"TWN\",\"adm0_a3_jp\":\"TWN\",\"adm0_a3_ko\":\"TWN\",\"adm0_a3_vn\":\"TWN\",\"adm0_a3_tr\":\"TWN\",\"adm0_a3_id\":\"CHN\",\"adm0_a3_pl\":\"TWN\",\"adm0_a3_gr\":\"TWN\",\"adm0_a3_it\":\"TWN\",\"adm0_a3_nl\":\"TWN\",\"adm0_a3_se\":\"TWN\",\"adm0_a3_bd\":\"CHN\",\"adm0_a3_ua\":\"TWN\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"Eastern Asia\",\"region_wb\":\"East Asia & Pacific\",\"name_len\":6,\"long_len\":6,\"abbrev_len\":6,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4.5,\"max_label\":8,\"label_x\":120.868204,\"label_y\":23.652408,\"ne_id\":1159321335,\"wikidataid\":\"Q865\",\"name_ar\":\"تايوان\",\"name_bn\":\"তাইওয়ান\",\"name_de\":\"Republik China\",\"name_en\":\"Taiwan\",\"name_es\":\"República de China\",\"name_fa\":\"تایوان\",\"name_fr\":\"Taïwan\",\"name_el\":\"Δημοκρατία της Κίνας\",\"name_he\":\"טאיוואן\",\"name_hi\":\"चीनी गणराज्य\",\"name_hu\":\"Kínai Köztársaság\",\"name_id\":\"Taiwan\",\"name_it\":\"Taiwan\",\"name_ja\":\"中華民国\",\"name_ko\":\"중화민국\",\"name_nl\":\"Taiwan\",\"name_pl\":\"Republika Chińska\",\"name_pt\":\"Taiwan\",\"name_ru\":\"Тайвань\",\"name_sv\":\"Taiwan\",\"name_tr\":\"Çin Cumhuriyeti\",\"name_uk\":\"Республіка Китай\",\"name_ur\":\"تائیوان\",\"name_vi\":\"Đài Loan\",\"name_zh\":\"中华民国\",\"name_zht\":\"中華民國\",\"fclass_iso\":\"Admin-1 states provinces\",\"tlc_diff\":\"1\",\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":\"Admin-1 states provinces\",\"fclass_tw\":\"Admin-0 country\",\"fclass_in\":null,\"fclass_np\":\"Admin-1 states provinces\",\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":\"Admin-1 states provinces\",\"fclass_ma\":\"Admin-1 states provinces\",\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":\"Admin-1 states provinces\",\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":\"Admin-1 states provinces\",\"fclass_ua\":null,\"filename\":\"TWN.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[121.77781782438993,24.3942735865194],[121.17563235889274,22.790857245367167],[120.74707970589623,21.970571397382113],[120.22008344938368,22.81486094816674],[120.1061885926124,23.556262722258236],[120.69467980355225,24.538450832613737],[121.49504438688878,25.295458889257386],[121.95124393116146,24.997595933527037],[121.77781782438993,24.3942735865194]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":2,\"sovereignt\":\"Japan\",\"sov_a3\":\"JPN\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Japan\",\"adm0_a3\":\"JPN\",\"geou_dif\":0,\"geounit\":\"Japan\",\"gu_a3\":\"JPN\",\"su_dif\":0,\"subunit\":\"Japan\",\"su_a3\":\"JPN\",\"brk_diff\":0,\"name\":\"Japan\",\"name_long\":\"Japan\",\"brk_a3\":\"JPN\",\"brk_name\":\"Japan\",\"brk_group\":null,\"abbrev\":\"Japan\",\"postal\":\"J\",\"formal_en\":\"Japan\",\"formal_fr\":null,\"name_ciawf\":\"Japan\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Japan\",\"name_alt\":null,\"mapcolor7\":5,\"mapcolor8\":3,\"mapcolor9\":5,\"mapcolor13\":4,\"pop_est\":126264931,\"pop_rank\":17,\"pop_year\":2019,\"gdp_md\":5081769,\"gdp_year\":2019,\"economy\":\"1. Developed region: G7\",\"income_grp\":\"1. High income: OECD\",\"fips_10\":\"JA\",\"iso_a2\":\"JP\",\"iso_a2_eh\":\"JP\",\"iso_a3\":\"JPN\",\"iso_a3_eh\":\"JPN\",\"iso_n3\":\"392\",\"iso_n3_eh\":\"392\",\"un_a3\":\"392\",\"wb_a2\":\"JP\",\"wb_a3\":\"JPN\",\"woe_id\":23424856,\"woe_id_eh\":23424856,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"JPN\",\"adm0_diff\":null,\"adm0_tlc\":\"JPN\",\"adm0_a3_us\":\"JPN\",\"adm0_a3_fr\":\"JPN\",\"adm0_a3_ru\":\"JPN\",\"adm0_a3_es\":\"JPN\",\"adm0_a3_cn\":\"JPN\",\"adm0_a3_tw\":\"JPN\",\"adm0_a3_in\":\"JPN\",\"adm0_a3_np\":\"JPN\",\"adm0_a3_pk\":\"JPN\",\"adm0_a3_de\":\"JPN\",\"adm0_a3_gb\":\"JPN\",\"adm0_a3_br\":\"JPN\",\"adm0_a3_il\":\"JPN\",\"adm0_a3_ps\":\"JPN\",\"adm0_a3_sa\":\"JPN\",\"adm0_a3_eg\":\"JPN\",\"adm0_a3_ma\":\"JPN\",\"adm0_a3_pt\":\"JPN\",\"adm0_a3_ar\":\"JPN\",\"adm0_a3_jp\":\"JPN\",\"adm0_a3_ko\":\"JPN\",\"adm0_a3_vn\":\"JPN\",\"adm0_a3_tr\":\"JPN\",\"adm0_a3_id\":\"JPN\",\"adm0_a3_pl\":\"JPN\",\"adm0_a3_gr\":\"JPN\",\"adm0_a3_it\":\"JPN\",\"adm0_a3_nl\":\"JPN\",\"adm0_a3_se\":\"JPN\",\"adm0_a3_bd\":\"JPN\",\"adm0_a3_ua\":\"JPN\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Asia\",\"region_un\":\"Asia\",\"subregion\":\"Eastern Asia\",\"region_wb\":\"East Asia & Pacific\",\"name_len\":5,\"long_len\":5,\"abbrev_len\":5,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":1.7,\"max_label\":7,\"label_x\":138.44217,\"label_y\":36.142538,\"ne_id\":1159320937,\"wikidataid\":\"Q17\",\"name_ar\":\"اليابان\",\"name_bn\":\"জাপান\",\"name_de\":\"Japan\",\"name_en\":\"Japan\",\"name_es\":\"Japón\",\"name_fa\":\"ژاپن\",\"name_fr\":\"Japon\",\"name_el\":\"Ιαπωνία\",\"name_he\":\"יפן\",\"name_hi\":\"जापान\",\"name_hu\":\"Japán\",\"name_id\":\"Jepang\",\"name_it\":\"Giappone\",\"name_ja\":\"日本\",\"name_ko\":\"일본\",\"name_nl\":\"Japan\",\"name_pl\":\"Japonia\",\"name_pt\":\"Japão\",\"name_ru\":\"Япония\",\"name_sv\":\"Japan\",\"name_tr\":\"Japonya\",\"name_uk\":\"Японія\",\"name_ur\":\"جاپان\",\"name_vi\":\"Nhật Bản\",\"name_zh\":\"日本\",\"name_zht\":\"日本\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"JPN.geojson\"},\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[[[141.88460086483497,39.180864569651476],[140.95948937394581,38.17400096287662],[140.97638756730527,37.14207428644019],[140.5997697287621,36.3439834661245],[140.77407433488258,35.842877102190215],[140.2532792502451,35.138113918593646],[138.9755277853962,34.66760000257614],[137.21759891169125,34.60628591566183],[135.79298302626893,33.46480520276663],[135.1209827007454,33.849071153289],[135.0794348491827,34.596544908174806],[133.34031619683202,34.375938218720805],[132.15677086805124,33.90493337659652],[130.98614464734345,33.88576142021624],[132.00003624890996,33.149992377244544],[131.33279015515734,31.450354519164822],[130.686317987186,31.029579169228246],[130.2024198752049,31.418237616495432],[130.44767622286213,32.319474595665696],[129.81469160371893,32.61030955660436],[129.40846316947255,33.29605581311752],[130.35393517468464,33.60415070244167],[130.87845096244718,34.23274282484002],[131.8842293641439,34.74971385348792],[132.61767296766243,35.433393052709405],[134.6083008159777,35.731617743465804],[135.67753787652885,35.52713410088687],[136.72383060114242,37.304984239240326],[137.39061160700447,36.82739065199884],[138.8576021669062,37.82748464614346],[139.42640465714283,38.21596222589761],[140.054790073812,39.43880748143637],[139.88337934789985,40.56331248632368],[140.30578250545364,41.19500519465953],[141.3689734234266,41.378559882160275],[141.91426313697048,39.991616115878685],[141.88460086483497,39.180864569651476]]],[[[144.61342654843963,43.96088288021748],[145.32082523008307,44.38473297787541],[145.5431372418027,43.26208832455062],[144.05966189999987,42.98835826270056],[143.18384972551723,41.9952147486992],[141.6114909201724,42.6787905950561],[141.06728641170668,41.58459381770797],[139.955106235921,41.56955597591103],[139.81754357315998,42.563758856774385],[140.31208703019325,43.33327261003269],[141.38054894426,43.38882477474644],[141.67195234595386,44.77212535255146],[141.96764489152798,45.55148346616134],[143.14287031470974,44.51035838477697],[143.91016198137947,44.17409983985374],[144.61342654843963,43.96088288021748]]],[[[132.37117638563024,33.46364248304006],[132.92437259331473,34.06029857028204],[133.4929683778222,33.94462087659667],[133.90410607313635,34.36493113864263],[134.63842817600386,34.149233710256354],[134.76637902235854,33.80633474378362],[134.2034159689709,33.20117788342964],[133.79295006727654,33.5219851750976],[133.28026818250885,33.28957042086489],[133.0148580262578,32.70456736910474],[132.36311486219267,32.989382025681394],[132.37117638563024,33.46364248304006]]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":2,\"sovereignt\":\"Chile\",\"sov_a3\":\"CHL\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Chile\",\"adm0_a3\":\"CHL\",\"geou_dif\":0,\"geounit\":\"Chile\",\"gu_a3\":\"CHL\",\"su_dif\":0,\"subunit\":\"Chile\",\"su_a3\":\"CHL\",\"brk_diff\":0,\"name\":\"Chile\",\"name_long\":\"Chile\",\"brk_a3\":\"CHL\",\"brk_name\":\"Chile\",\"brk_group\":null,\"abbrev\":\"Chile\",\"postal\":\"CL\",\"formal_en\":\"Republic of Chile\",\"formal_fr\":null,\"name_ciawf\":\"Chile\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Chile\",\"name_alt\":null,\"mapcolor7\":5,\"mapcolor8\":1,\"mapcolor9\":5,\"mapcolor13\":9,\"pop_est\":18952038,\"pop_rank\":14,\"pop_year\":2019,\"gdp_md\":282318,\"gdp_year\":2019,\"economy\":\"5. Emerging region: G20\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"CI\",\"iso_a2\":\"CL\",\"iso_a2_eh\":\"CL\",\"iso_a3\":\"CHL\",\"iso_a3_eh\":\"CHL\",\"iso_n3\":\"152\",\"iso_n3_eh\":\"152\",\"un_a3\":\"152\",\"wb_a2\":\"CL\",\"wb_a3\":\"CHL\",\"woe_id\":23424782,\"woe_id_eh\":23424782,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"CHL\",\"adm0_diff\":null,\"adm0_tlc\":\"CHL\",\"adm0_a3_us\":\"CHL\",\"adm0_a3_fr\":\"CHL\",\"adm0_a3_ru\":\"CHL\",\"adm0_a3_es\":\"CHL\",\"adm0_a3_cn\":\"CHL\",\"adm0_a3_tw\":\"CHL\",\"adm0_a3_in\":\"CHL\",\"adm0_a3_np\":\"CHL\",\"adm0_a3_pk\":\"CHL\",\"adm0_a3_de\":\"CHL\",\"adm0_a3_gb\":\"CHL\",\"adm0_a3_br\":\"CHL\",\"adm0_a3_il\":\"CHL\",\"adm0_a3_ps\":\"CHL\",\"adm0_a3_sa\":\"CHL\",\"adm0_a3_eg\":\"CHL\",\"adm0_a3_ma\":\"CHL\",\"adm0_a3_pt\":\"CHL\",\"adm0_a3_ar\":\"CHL\",\"adm0_a3_jp\":\"CHL\",\"adm0_a3_ko\":\"CHL\",\"adm0_a3_vn\":\"CHL\",\"adm0_a3_tr\":\"CHL\",\"adm0_a3_id\":\"CHL\",\"adm0_a3_pl\":\"CHL\",\"adm0_a3_gr\":\"CHL\",\"adm0_a3_it\":\"CHL\",\"adm0_a3_nl\":\"CHL\",\"adm0_a3_se\":\"CHL\",\"adm0_a3_bd\":\"CHL\",\"adm0_a3_ua\":\"CHL\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"South America\",\"region_un\":\"Americas\",\"subregion\":\"South America\",\"region_wb\":\"Latin America & Caribbean\",\"name_len\":5,\"long_len\":5,\"abbrev_len\":5,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":1.7,\"max_label\":6.7,\"label_x\":-72.318871,\"label_y\":-38.151771,\"ne_id\":1159320493,\"wikidataid\":\"Q298\",\"name_ar\":\"تشيلي\",\"name_bn\":\"চিলি\",\"name_de\":\"Chile\",\"name_en\":\"Chile\",\"name_es\":\"Chile\",\"name_fa\":\"شیلی\",\"name_fr\":\"Chili\",\"name_el\":\"Χιλή\",\"name_he\":\"צ'ילה\",\"name_hi\":\"चिली\",\"name_hu\":\"Chile\",\"name_id\":\"Chili\",\"name_it\":\"Cile\",\"name_ja\":\"チリ\",\"name_ko\":\"칠레\",\"name_nl\":\"Chili\",\"name_pl\":\"Chile\",\"name_pt\":\"Chile\",\"name_ru\":\"Чили\",\"name_sv\":\"Chile\",\"name_tr\":\"Şili\",\"name_uk\":\"Чилі\",\"name_ur\":\"چلی\",\"name_vi\":\"Chile\",\"name_zh\":\"智利\",\"name_zht\":\"智利\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"CHL.geojson\"},\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[[[-68.63401022758323,-52.63637045887449],[-68.63335,-54.8695],[-67.56244,-54.87001],[-66.95992,-54.89681],[-67.29103,-55.30124],[-68.14863,-55.61183],[-68.63999081081187,-55.58001799908692],[-69.2321,-55.49906],[-69.95809,-55.19843],[-71.00568,-55.05383],[-72.2639,-54.49514],[-73.2852,-53.95752],[-74.66253,-52.83749],[-73.8381,-53.04743],[-72.43418,-53.7154],[-71.10773,-54.07433],[-70.59177999999986,-53.61583],[-70.26748,-52.93123],[-69.34565,-52.5183],[-68.63401022758323,-52.63637045887449]]],[[[-69.59042375352405,-17.580011895419332],[-69.10024695501949,-18.260125420812678],[-68.96681840684187,-18.981683444904107],[-68.44222510443092,-19.40506845467143],[-68.75716712103375,-20.372657972904463],[-68.21991309271128,-21.494346612231865],[-67.82817989772273,-22.872918796482175],[-67.1066735500636,-22.735924574476417],[-66.9852339341777,-22.98634856536284],[-67.32844295924417,-24.02530323659095],[-68.41765296087614,-24.51855478281688],[-68.38600114609736,-26.185016371365215],[-68.59479977077268,-26.506908868111296],[-68.29554155137043,-26.89933969493578],[-69.00123491074825,-27.52121388113618],[-69.65613033718317,-28.459141127233686],[-70.01355038112992,-29.367922865518572],[-69.91900834825194,-30.33633920666828],[-70.53506893581951,-31.36501026787031],[-70.0743993801536,-33.09120981214805],[-69.81477698431922,-33.273886000299825],[-69.81730912950152,-34.1935714657983],[-70.38804948594913,-35.16968759535949],[-70.36476925320164,-36.00508879978992],[-71.12188066270987,-36.65812387466232],[-71.11862504747549,-37.57682748794724],[-70.81466427273469,-38.55299529394074],[-71.41351660834906,-38.91602223079114],[-71.68076127794649,-39.808164157878046],[-71.91573401557763,-40.83233936947069],[-71.7468037584155,-42.05138640723598],[-72.14889807807856,-42.254888197601375],[-71.91542395698389,-43.40856454851745],[-71.46405615913051,-43.787611179378345],[-71.79362260607193,-44.207172133156064],[-71.32980078803622,-44.407521661151655],[-71.22277889675976,-44.784242852559416],[-71.65931555854536,-44.973688653341426],[-71.55200944689128,-45.5607329241771],[-71.91725847033024,-46.88483814879177],[-72.44735531278027,-47.73853281025352],[-72.33116085477201,-48.2442383766618],[-72.64824744331494,-48.87861825947683],[-73.4154357571201,-49.31843637471297],[-73.32805091011453,-50.378785088909915],[-72.97574683296469,-50.741450290734285],[-72.30997351753234,-50.67700977966632],[-72.32940385607407,-51.42595631287243],[-71.91480383979638,-52.0090223058659],[-69.49836218939609,-52.14276091263727],[-68.57154537624133,-52.299443855346226],[-69.46128434922667,-52.29195077266391],[-69.9427795071062,-52.53793059037322],[-70.8451016913546,-52.89920052852571],[-71.00633216010525,-53.83325204220132],[-71.429794684521,-53.85645476030037],[-72.55794287788488,-53.53141000118449],[-73.7027567206629,-52.835069268607235],[-73.7027567206629,-52.835070076051494],[-74.94676347522517,-52.262753588419],[-75.2600260077785,-51.62935475037325],[-74.97663245308988,-51.0433956846157],[-75.47975419788355,-50.37837167745158],[-75.60801510283198,-48.67377288187184],[-75.18276974150216,-47.7119194476232],[-74.1265809801047,-46.93925343199511],[-75.64439531116545,-46.64764332457207],[-74.69215369332312,-45.76397633238103],[-74.35170935738425,-44.10304412208794],[-73.24035600451522,-44.454960625995604],[-72.7178039211798,-42.38335580827898],[-73.38889990913822,-42.117532240569574],[-73.70133561877488,-43.365776462579774],[-74.33194312203261,-43.22495818458442],[-74.0179571194272,-41.79481292090683],[-73.67709937202999,-39.94221282324317],[-73.21759253609065,-39.25868865331856],[-73.50555945503712,-38.282882582351114],[-73.58806087919109,-37.15628468195598],[-73.1667170884993,-37.12378020604439],[-72.55313696968174,-35.50884002049106],[-71.86173214383263,-33.90909270603153],[-71.4384504869299,-32.41889942803078],[-71.66872066922247,-30.920644626592495],[-71.37008256700773,-30.09568206148503],[-71.48989437527645,-28.861442152625923],[-70.90512386746161,-27.640379734001247],[-70.72495398627599,-25.705924167587256],[-70.40396582709502,-23.628996677344574],[-70.09124589708074,-21.39331918710126],[-70.16441972520605,-19.756468194256165],[-70.37257239447771,-18.34797535570887],[-69.85844356960587,-18.092693780187012],[-69.59042375352405,-17.580011895419332]]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Bolivia\",\"sov_a3\":\"BOL\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Bolivia\",\"adm0_a3\":\"BOL\",\"geou_dif\":0,\"geounit\":\"Bolivia\",\"gu_a3\":\"BOL\",\"su_dif\":0,\"subunit\":\"Bolivia\",\"su_a3\":\"BOL\",\"brk_diff\":0,\"name\":\"Bolivia\",\"name_long\":\"Bolivia\",\"brk_a3\":\"BOL\",\"brk_name\":\"Bolivia\",\"brk_group\":null,\"abbrev\":\"Bolivia\",\"postal\":\"BO\",\"formal_en\":\"Plurinational State of Bolivia\",\"formal_fr\":null,\"name_ciawf\":\"Bolivia\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Bolivia\",\"name_alt\":null,\"mapcolor7\":1,\"mapcolor8\":5,\"mapcolor9\":2,\"mapcolor13\":3,\"pop_est\":11513100,\"pop_rank\":14,\"pop_year\":2019,\"gdp_md\":40895,\"gdp_year\":2019,\"economy\":\"5. Emerging region: G20\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"BL\",\"iso_a2\":\"BO\",\"iso_a2_eh\":\"BO\",\"iso_a3\":\"BOL\",\"iso_a3_eh\":\"BOL\",\"iso_n3\":\"068\",\"iso_n3_eh\":\"068\",\"un_a3\":\"068\",\"wb_a2\":\"BO\",\"wb_a3\":\"BOL\",\"woe_id\":23424762,\"woe_id_eh\":23424762,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"BOL\",\"adm0_diff\":null,\"adm0_tlc\":\"BOL\",\"adm0_a3_us\":\"BOL\",\"adm0_a3_fr\":\"BOL\",\"adm0_a3_ru\":\"BOL\",\"adm0_a3_es\":\"BOL\",\"adm0_a3_cn\":\"BOL\",\"adm0_a3_tw\":\"BOL\",\"adm0_a3_in\":\"BOL\",\"adm0_a3_np\":\"BOL\",\"adm0_a3_pk\":\"BOL\",\"adm0_a3_de\":\"BOL\",\"adm0_a3_gb\":\"BOL\",\"adm0_a3_br\":\"BOL\",\"adm0_a3_il\":\"BOL\",\"adm0_a3_ps\":\"BOL\",\"adm0_a3_sa\":\"BOL\",\"adm0_a3_eg\":\"BOL\",\"adm0_a3_ma\":\"BOL\",\"adm0_a3_pt\":\"BOL\",\"adm0_a3_ar\":\"BOL\",\"adm0_a3_jp\":\"BOL\",\"adm0_a3_ko\":\"BOL\",\"adm0_a3_vn\":\"BOL\",\"adm0_a3_tr\":\"BOL\",\"adm0_a3_id\":\"BOL\",\"adm0_a3_pl\":\"BOL\",\"adm0_a3_gr\":\"BOL\",\"adm0_a3_it\":\"BOL\",\"adm0_a3_nl\":\"BOL\",\"adm0_a3_se\":\"BOL\",\"adm0_a3_bd\":\"BOL\",\"adm0_a3_ua\":\"BOL\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"South America\",\"region_un\":\"Americas\",\"subregion\":\"South America\",\"region_wb\":\"Latin America & Caribbean\",\"name_len\":7,\"long_len\":7,\"abbrev_len\":7,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":7.5,\"label_x\":-64.593433,\"label_y\":-16.666015,\"ne_id\":1159320439,\"wikidataid\":\"Q750\",\"name_ar\":\"بوليفيا\",\"name_bn\":\"বলিভিয়া\",\"name_de\":\"Bolivien\",\"name_en\":\"Bolivia\",\"name_es\":\"Bolivia\",\"name_fa\":\"بولیوی\",\"name_fr\":\"Bolivie\",\"name_el\":\"Βολιβία\",\"name_he\":\"בוליביה\",\"name_hi\":\"बोलिविया\",\"name_hu\":\"Bolívia\",\"name_id\":\"Bolivia\",\"name_it\":\"Bolivia\",\"name_ja\":\"ボリビア\",\"name_ko\":\"볼리비아\",\"name_nl\":\"Bolivia\",\"name_pl\":\"Boliwia\",\"name_pt\":\"Bolívia\",\"name_ru\":\"Боливия\",\"name_sv\":\"Bolivia\",\"name_tr\":\"Bolivya\",\"name_uk\":\"Болівія\",\"name_ur\":\"بولیویا\",\"name_vi\":\"Bolivia\",\"name_zh\":\"玻利维亚\",\"name_zht\":\"玻利維亞\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"BOL.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-69.52967810736496,-10.951734307502194],[-68.78615759954948,-11.03638030359628],[-68.27125362819326,-11.01452117273682],[-68.04819230820539,-10.712059014532485],[-67.17380123561074,-10.306812432499612],[-66.6469083319628,-9.931331475466862],[-65.33843522811642,-9.761987806846392],[-65.44483700220539,-10.511451104375432],[-65.32189876978302,-10.895872084194679],[-65.40228146021303,-11.566270440317155],[-64.3163529120316,-12.461978041232193],[-63.19649878605057,-12.627032565972435],[-62.803060268796386,-13.000653171442686],[-62.127080857986385,-13.198780612849724],[-61.71320431176078,-13.489202162330052],[-61.08412126325565,-13.479383640194598],[-60.503304002511136,-13.775954685117659],[-60.45919816755003,-14.354007256734555],[-60.26432634137737,-14.645979099183641],[-60.251148851142936,-15.07721892665932],[-60.54296566429515,-15.093910414289596],[-60.158389655179036,-16.258283786690086],[-58.24121985536668,-16.299573256091293],[-58.38805843772404,-16.877109063385276],[-58.28080400250225,-17.271710300366017],[-57.734558274961,-17.55246835700777],[-57.49837114117099,-18.174187513911292],[-57.67600887717431,-18.96183969490403],[-57.949997321185826,-19.40000416430682],[-57.85380164247451,-19.96999521248619],[-58.166392381408045,-20.176700941653678],[-58.183471442280506,-19.868399346600363],[-59.11504248720611,-19.3569060197754],[-60.04356462262649,-19.342746677327426],[-61.78632646345377,-19.633736667562964],[-62.2659612697708,-20.513734633061276],[-62.291179368729225,-21.051634616787393],[-62.685057135657885,-22.249029229422387],[-62.84646847192156,-22.03498544686945],[-63.986838141522476,-21.99364430103595],[-64.37702104354226,-22.79809132252354],[-64.96489213729461,-22.075861504812327],[-66.27333940292485,-21.83231047942072],[-67.1066735500636,-22.735924574476417],[-67.82817989772273,-22.872918796482175],[-68.21991309271128,-21.494346612231865],[-68.75716712103375,-20.372657972904463],[-68.44222510443092,-19.40506845467143],[-68.96681840684187,-18.981683444904107],[-69.10024695501949,-18.260125420812678],[-69.59042375352405,-17.580011895419332],[-68.9596353827533,-16.50069793057127],[-69.38976416693471,-15.660129082911652],[-69.16034664577495,-15.323973890853019],[-69.33953467474701,-14.953195489158832],[-68.9488866848366,-14.453639418193283],[-68.92922380234954,-13.602683607643009],[-68.88007951523997,-12.899729099176653],[-68.66507971868963,-12.561300144097173],[-69.52967810736496,-10.951734307502194]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":2,\"sovereignt\":\"Peru\",\"sov_a3\":\"PER\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Peru\",\"adm0_a3\":\"PER\",\"geou_dif\":0,\"geounit\":\"Peru\",\"gu_a3\":\"PER\",\"su_dif\":0,\"subunit\":\"Peru\",\"su_a3\":\"PER\",\"brk_diff\":0,\"name\":\"Peru\",\"name_long\":\"Peru\",\"brk_a3\":\"PER\",\"brk_name\":\"Peru\",\"brk_group\":null,\"abbrev\":\"Peru\",\"postal\":\"PE\",\"formal_en\":\"Republic of Peru\",\"formal_fr\":null,\"name_ciawf\":\"Peru\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Peru\",\"name_alt\":null,\"mapcolor7\":4,\"mapcolor8\":4,\"mapcolor9\":4,\"mapcolor13\":11,\"pop_est\":32510453,\"pop_rank\":15,\"pop_year\":2019,\"gdp_md\":226848,\"gdp_year\":2019,\"economy\":\"5. Emerging region: G20\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"PE\",\"iso_a2\":\"PE\",\"iso_a2_eh\":\"PE\",\"iso_a3\":\"PER\",\"iso_a3_eh\":\"PER\",\"iso_n3\":\"604\",\"iso_n3_eh\":\"604\",\"un_a3\":\"604\",\"wb_a2\":\"PE\",\"wb_a3\":\"PER\",\"woe_id\":23424919,\"woe_id_eh\":23424919,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"PER\",\"adm0_diff\":null,\"adm0_tlc\":\"PER\",\"adm0_a3_us\":\"PER\",\"adm0_a3_fr\":\"PER\",\"adm0_a3_ru\":\"PER\",\"adm0_a3_es\":\"PER\",\"adm0_a3_cn\":\"PER\",\"adm0_a3_tw\":\"PER\",\"adm0_a3_in\":\"PER\",\"adm0_a3_np\":\"PER\",\"adm0_a3_pk\":\"PER\",\"adm0_a3_de\":\"PER\",\"adm0_a3_gb\":\"PER\",\"adm0_a3_br\":\"PER\",\"adm0_a3_il\":\"PER\",\"adm0_a3_ps\":\"PER\",\"adm0_a3_sa\":\"PER\",\"adm0_a3_eg\":\"PER\",\"adm0_a3_ma\":\"PER\",\"adm0_a3_pt\":\"PER\",\"adm0_a3_ar\":\"PER\",\"adm0_a3_jp\":\"PER\",\"adm0_a3_ko\":\"PER\",\"adm0_a3_vn\":\"PER\",\"adm0_a3_tr\":\"PER\",\"adm0_a3_id\":\"PER\",\"adm0_a3_pl\":\"PER\",\"adm0_a3_gr\":\"PER\",\"adm0_a3_it\":\"PER\",\"adm0_a3_nl\":\"PER\",\"adm0_a3_se\":\"PER\",\"adm0_a3_bd\":\"PER\",\"adm0_a3_ua\":\"PER\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"South America\",\"region_un\":\"Americas\",\"subregion\":\"South America\",\"region_wb\":\"Latin America & Caribbean\",\"name_len\":4,\"long_len\":4,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":2,\"max_label\":7,\"label_x\":-72.90016,\"label_y\":-12.976679,\"ne_id\":1159321163,\"wikidataid\":\"Q419\",\"name_ar\":\"بيرو\",\"name_bn\":\"পেরু\",\"name_de\":\"Peru\",\"name_en\":\"Peru\",\"name_es\":\"Perú\",\"name_fa\":\"پرو\",\"name_fr\":\"Pérou\",\"name_el\":\"Περού\",\"name_he\":\"פרו\",\"name_hi\":\"पेरू\",\"name_hu\":\"Peru\",\"name_id\":\"Peru\",\"name_it\":\"Perù\",\"name_ja\":\"ペルー\",\"name_ko\":\"페루\",\"name_nl\":\"Peru\",\"name_pl\":\"Peru\",\"name_pt\":\"Peru\",\"name_ru\":\"Перу\",\"name_sv\":\"Peru\",\"name_tr\":\"Peru\",\"name_uk\":\"Перу\",\"name_ur\":\"پیرو\",\"name_vi\":\"Peru\",\"name_zh\":\"秘鲁\",\"name_zht\":\"秘魯\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"PER.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-69.89363521999663,-4.298186944194327],[-70.7947688463023,-4.251264743673303],[-70.92884334988358,-4.401591485210368],[-71.74840572781655,-4.593982842633011],[-72.89192765978726,-5.274561455916981],[-72.9645072089412,-5.741251315944893],[-73.21971126981461,-6.089188734566078],[-73.1200274319236,-6.629930922068239],[-73.72448666044164,-6.91859547285064],[-73.7234014553635,-7.340998630404414],[-73.98723548042966,-7.523829847853065],[-73.57105933296707,-8.424446709835834],[-73.01538265653255,-9.032833347208062],[-73.22671342639016,-9.462212823121234],[-72.56303300646564,-9.520193780152717],[-72.18489071316985,-10.053597914269432],[-71.30241227892154,-10.079436130415374],[-70.48189388699117,-9.490118096558845],[-70.54868567572841,-11.009146823778465],[-70.0937522040469,-11.123971856331012],[-69.52967810736496,-10.951734307502194],[-68.66507971868963,-12.561300144097173],[-68.88007951523997,-12.899729099176653],[-68.92922380234954,-13.602683607643009],[-68.9488866848366,-14.453639418193283],[-69.33953467474701,-14.953195489158832],[-69.16034664577495,-15.323973890853019],[-69.38976416693471,-15.660129082911652],[-68.9596353827533,-16.50069793057127],[-69.59042375352405,-17.580011895419332],[-69.85844356960587,-18.092693780187012],[-70.37257239447771,-18.34797535570887],[-71.37525021023693,-17.773798516513857],[-71.46204077827113,-17.363487644116383],[-73.44452958850042,-16.359362888252996],[-75.23788265654144,-15.265682875227782],[-76.00920508492995,-14.649286390850321],[-76.42346920439775,-13.823186944232432],[-76.25924150257417,-13.535039157772943],[-77.10619238962184,-12.22271615972082],[-78.09215287953464,-10.377712497604065],[-79.03695309112695,-8.386567884965892],[-79.44592037628485,-7.93083342858386],[-79.76057817251005,-7.194340915560084],[-80.53748165558608,-6.541667575713717],[-81.24999630402642,-6.136834405139183],[-80.92634680858244,-5.690556735866565],[-81.41094255239946,-4.736764825055459],[-81.09966956248937,-4.036394138203697],[-80.30256059438722,-3.404856459164713],[-80.18401485870967,-3.821161797708044],[-80.46929460317695,-4.059286797708999],[-80.44224199087216,-4.425724379090674],[-80.02890804718561,-4.346090996928893],[-79.62497921417618,-4.454198093283495],[-79.20528906931773,-4.959128513207389],[-78.63989722361234,-4.547784112164074],[-78.45068396677564,-3.873096612161376],[-77.83790483265861,-3.003020521663103],[-76.63539425322672,-2.608677666843818],[-75.54499569365204,-1.56160979574588],[-75.23372270374195,-0.911416924649529],[-75.37322323271385,-0.15203175212045],[-75.10662451852008,-0.05720549886486],[-74.44160051135597,-0.530820000819887],[-74.12239518908906,-1.002832533373848],[-73.6595035468346,-1.260491224781134],[-73.07039221870724,-2.308954359550953],[-72.32578650581365,-2.434218031426454],[-71.7747607082854,-2.169789727388938],[-71.41364579942979,-2.342802422702128],[-70.81347571479196,-2.256864515800743],[-70.04770850287485,-2.725156345229699],[-70.69268205430971,-3.742872002785859],[-70.39404395209499,-3.766591485207825],[-69.89363521999663,-4.298186944194327]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":2,\"sovereignt\":\"Argentina\",\"sov_a3\":\"ARG\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Argentina\",\"adm0_a3\":\"ARG\",\"geou_dif\":0,\"geounit\":\"Argentina\",\"gu_a3\":\"ARG\",\"su_dif\":0,\"subunit\":\"Argentina\",\"su_a3\":\"ARG\",\"brk_diff\":0,\"name\":\"Argentina\",\"name_long\":\"Argentina\",\"brk_a3\":\"ARG\",\"brk_name\":\"Argentina\",\"brk_group\":null,\"abbrev\":\"Arg.\",\"postal\":\"AR\",\"formal_en\":\"Argentine Republic\",\"formal_fr\":null,\"name_ciawf\":\"Argentina\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Argentina\",\"name_alt\":null,\"mapcolor7\":3,\"mapcolor8\":1,\"mapcolor9\":3,\"mapcolor13\":13,\"pop_est\":44938712,\"pop_rank\":15,\"pop_year\":2019,\"gdp_md\":445445,\"gdp_year\":2019,\"economy\":\"5. Emerging region: G20\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"AR\",\"iso_a2\":\"AR\",\"iso_a2_eh\":\"AR\",\"iso_a3\":\"ARG\",\"iso_a3_eh\":\"ARG\",\"iso_n3\":\"032\",\"iso_n3_eh\":\"032\",\"un_a3\":\"032\",\"wb_a2\":\"AR\",\"wb_a3\":\"ARG\",\"woe_id\":23424747,\"woe_id_eh\":23424747,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"ARG\",\"adm0_diff\":null,\"adm0_tlc\":\"ARG\",\"adm0_a3_us\":\"ARG\",\"adm0_a3_fr\":\"ARG\",\"adm0_a3_ru\":\"ARG\",\"adm0_a3_es\":\"ARG\",\"adm0_a3_cn\":\"ARG\",\"adm0_a3_tw\":\"ARG\",\"adm0_a3_in\":\"ARG\",\"adm0_a3_np\":\"ARG\",\"adm0_a3_pk\":\"ARG\",\"adm0_a3_de\":\"ARG\",\"adm0_a3_gb\":\"ARG\",\"adm0_a3_br\":\"ARG\",\"adm0_a3_il\":\"ARG\",\"adm0_a3_ps\":\"ARG\",\"adm0_a3_sa\":\"ARG\",\"adm0_a3_eg\":\"ARG\",\"adm0_a3_ma\":\"ARG\",\"adm0_a3_pt\":\"ARG\",\"adm0_a3_ar\":\"ARG\",\"adm0_a3_jp\":\"ARG\",\"adm0_a3_ko\":\"ARG\",\"adm0_a3_vn\":\"ARG\",\"adm0_a3_tr\":\"ARG\",\"adm0_a3_id\":\"ARG\",\"adm0_a3_pl\":\"ARG\",\"adm0_a3_gr\":\"ARG\",\"adm0_a3_it\":\"ARG\",\"adm0_a3_nl\":\"ARG\",\"adm0_a3_se\":\"ARG\",\"adm0_a3_bd\":\"ARG\",\"adm0_a3_ua\":\"ARG\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"South America\",\"region_un\":\"Americas\",\"subregion\":\"South America\",\"region_wb\":\"Latin America & Caribbean\",\"name_len\":9,\"long_len\":9,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":2,\"max_label\":7,\"label_x\":-64.173331,\"label_y\":-33.501159,\"ne_id\":1159320331,\"wikidataid\":\"Q414\",\"name_ar\":\"الأرجنتين\",\"name_bn\":\"আর্জেন্টিনা\",\"name_de\":\"Argentinien\",\"name_en\":\"Argentina\",\"name_es\":\"Argentina\",\"name_fa\":\"آرژانتین\",\"name_fr\":\"Argentine\",\"name_el\":\"Αργεντινή\",\"name_he\":\"ארגנטינה\",\"name_hi\":\"अर्जेण्टीना\",\"name_hu\":\"Argentína\",\"name_id\":\"Argentina\",\"name_it\":\"Argentina\",\"name_ja\":\"アルゼンチン\",\"name_ko\":\"아르헨티나\",\"name_nl\":\"Argentinië\",\"name_pl\":\"Argentyna\",\"name_pt\":\"Argentina\",\"name_ru\":\"Аргентина\",\"name_sv\":\"Argentina\",\"name_tr\":\"Arjantin\",\"name_uk\":\"Аргентина\",\"name_ur\":\"ارجنٹائن\",\"name_vi\":\"Argentina\",\"name_zh\":\"阿根廷\",\"name_zht\":\"阿根廷\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"ARG.geojson\"},\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[[[-68.63401022758323,-52.63637045887449],[-68.25,-53.1],[-67.75,-53.85],[-66.45,-54.45],[-65.05,-54.7],[-65.5,-55.2],[-66.45,-55.25],[-66.95992,-54.89681],[-67.56244,-54.87001],[-68.63335,-54.8695],[-68.63401022758323,-52.63637045887449]]],[[[-57.62513342958296,-30.21629485445426],[-57.87493730328188,-31.016556084926208],[-58.14244035504076,-32.044503676076154],[-58.13264767112145,-33.040566908502015],[-58.349611172098875,-33.26318897881541],[-58.42707414410439,-33.909454441057576],[-58.49544206402655,-34.43148976007008],[-57.22582963726366,-35.28802662530788],[-57.36235877137878,-35.977390232081476],[-56.73748735210545,-36.41312590916655],[-56.78828528504836,-36.901571547189334],[-57.74915686708346,-38.18387053807989],[-59.23185706240189,-38.720220228837235],[-61.23744523786564,-38.9284245745412],[-62.33595699731013,-38.827707208004334],[-62.125763108962936,-39.42410491308485],[-62.330530971919494,-40.17258635840034],[-62.145994432205214,-40.67689666113672],[-62.745802781816984,-41.0287614886121],[-63.77049475773255,-41.16678923926369],[-64.73208980981973,-40.80267709733515],[-65.11803524439158,-41.06431487402891],[-64.97856055363582,-42.05800099056934],[-64.3034079657425,-42.35901620866951],[-63.75594784204239,-42.043686618824495],[-63.458059048095876,-42.563138116222405],[-64.37880388045633,-42.87355844499969],[-65.18180396183975,-43.495380954767796],[-65.32882341171013,-44.501366062193696],[-65.5652689276616,-45.036785577169795],[-66.50996578638934,-45.03962778094586],[-67.29379391139247,-45.55189625425519],[-67.58054643418008,-46.30177296324257],[-66.59706641301729,-47.033924655953825],[-65.64102657740149,-47.23613453551193],[-65.98508826360079,-48.133289076531135],[-67.16617896184769,-48.697337334996945],[-67.81608761256643,-49.86966887797038],[-68.72874508327321,-50.26421843851883],[-69.13853919134777,-50.732510267947795],[-68.81556148952356,-51.771104011594126],[-68.14999487982038,-52.34998340612768],[-68.57154537624133,-52.299443855346226],[-69.49836218939609,-52.14276091263727],[-71.91480383979638,-52.0090223058659],[-72.32940385607407,-51.42595631287243],[-72.30997351753234,-50.67700977966632],[-72.97574683296469,-50.741450290734285],[-73.32805091011453,-50.378785088909915],[-73.4154357571201,-49.31843637471297],[-72.64824744331494,-48.87861825947683],[-72.33116085477201,-48.2442383766618],[-72.44735531278027,-47.73853281025352],[-71.91725847033024,-46.88483814879177],[-71.55200944689128,-45.5607329241771],[-71.65931555854536,-44.973688653341426],[-71.22277889675976,-44.784242852559416],[-71.32980078803622,-44.407521661151655],[-71.79362260607193,-44.207172133156064],[-71.46405615913051,-43.787611179378345],[-71.91542395698389,-43.40856454851745],[-72.14889807807856,-42.254888197601375],[-71.7468037584155,-42.05138640723598],[-71.91573401557763,-40.83233936947069],[-71.68076127794649,-39.808164157878046],[-71.41351660834906,-38.91602223079114],[-70.81466427273469,-38.55299529394074],[-71.11862504747549,-37.57682748794724],[-71.12188066270987,-36.65812387466232],[-70.36476925320164,-36.00508879978992],[-70.38804948594913,-35.16968759535949],[-69.81730912950152,-34.1935714657983],[-69.81477698431922,-33.273886000299825],[-70.0743993801536,-33.09120981214805],[-70.53506893581951,-31.36501026787031],[-69.91900834825194,-30.33633920666828],[-70.01355038112992,-29.367922865518572],[-69.65613033718317,-28.459141127233686],[-69.00123491074825,-27.52121388113618],[-68.29554155137043,-26.89933969493578],[-68.59479977077268,-26.506908868111296],[-68.38600114609736,-26.185016371365215],[-68.41765296087614,-24.51855478281688],[-67.32844295924417,-24.02530323659095],[-66.9852339341777,-22.98634856536284],[-67.1066735500636,-22.735924574476417],[-66.27333940292485,-21.83231047942072],[-64.96489213729461,-22.075861504812327],[-64.37702104354226,-22.79809132252354],[-63.986838141522476,-21.99364430103595],[-62.84646847192156,-22.03498544686945],[-62.685057135657885,-22.249029229422387],[-60.846564704009914,-23.880712579038292],[-60.02896603050403,-24.032796319273274],[-58.80712846539498,-24.77145924245331],[-57.77721716981794,-25.16233977630904],[-57.63366004091113,-25.60365650808164],[-58.61817359071975,-27.123718763947096],[-57.60975969097614,-27.395898532828387],[-56.486701626192996,-27.548499037386293],[-55.69584550639816,-27.387837009390864],[-54.78879492859505,-26.621785577096134],[-54.625290696823576,-25.739255466415514],[-54.13004960795439,-25.547639255477254],[-53.628348965048744,-26.124865004177472],[-53.64873531758789,-26.92347258881609],[-54.490725267135524,-27.47475676850579],[-55.16228634298457,-27.881915378533463],[-56.29089962423908,-28.852760512000895],[-57.62513342958296,-30.21629485445426]]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":4,\"sovereignt\":\"Suriname\",\"sov_a3\":\"SUR\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Suriname\",\"adm0_a3\":\"SUR\",\"geou_dif\":0,\"geounit\":\"Suriname\",\"gu_a3\":\"SUR\",\"su_dif\":0,\"subunit\":\"Suriname\",\"su_a3\":\"SUR\",\"brk_diff\":0,\"name\":\"Suriname\",\"name_long\":\"Suriname\",\"brk_a3\":\"SUR\",\"brk_name\":\"Suriname\",\"brk_group\":null,\"abbrev\":\"Sur.\",\"postal\":\"SR\",\"formal_en\":\"Republic of Suriname\",\"formal_fr\":null,\"name_ciawf\":\"Suriname\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Suriname\",\"name_alt\":null,\"mapcolor7\":1,\"mapcolor8\":4,\"mapcolor9\":7,\"mapcolor13\":6,\"pop_est\":581363,\"pop_rank\":11,\"pop_year\":2019,\"gdp_md\":3697,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"NS\",\"iso_a2\":\"SR\",\"iso_a2_eh\":\"SR\",\"iso_a3\":\"SUR\",\"iso_a3_eh\":\"SUR\",\"iso_n3\":\"740\",\"iso_n3_eh\":\"740\",\"un_a3\":\"740\",\"wb_a2\":\"SR\",\"wb_a3\":\"SUR\",\"woe_id\":23424913,\"woe_id_eh\":23424913,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"SUR\",\"adm0_diff\":null,\"adm0_tlc\":\"SUR\",\"adm0_a3_us\":\"SUR\",\"adm0_a3_fr\":\"SUR\",\"adm0_a3_ru\":\"SUR\",\"adm0_a3_es\":\"SUR\",\"adm0_a3_cn\":\"SUR\",\"adm0_a3_tw\":\"SUR\",\"adm0_a3_in\":\"SUR\",\"adm0_a3_np\":\"SUR\",\"adm0_a3_pk\":\"SUR\",\"adm0_a3_de\":\"SUR\",\"adm0_a3_gb\":\"SUR\",\"adm0_a3_br\":\"SUR\",\"adm0_a3_il\":\"SUR\",\"adm0_a3_ps\":\"SUR\",\"adm0_a3_sa\":\"SUR\",\"adm0_a3_eg\":\"SUR\",\"adm0_a3_ma\":\"SUR\",\"adm0_a3_pt\":\"SUR\",\"adm0_a3_ar\":\"SUR\",\"adm0_a3_jp\":\"SUR\",\"adm0_a3_ko\":\"SUR\",\"adm0_a3_vn\":\"SUR\",\"adm0_a3_tr\":\"SUR\",\"adm0_a3_id\":\"SUR\",\"adm0_a3_pl\":\"SUR\",\"adm0_a3_gr\":\"SUR\",\"adm0_a3_it\":\"SUR\",\"adm0_a3_nl\":\"SUR\",\"adm0_a3_se\":\"SUR\",\"adm0_a3_bd\":\"SUR\",\"adm0_a3_ua\":\"SUR\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"South America\",\"region_un\":\"Americas\",\"subregion\":\"South America\",\"region_wb\":\"Latin America & Caribbean\",\"name_len\":8,\"long_len\":8,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":-55.91094,\"label_y\":4.143987,\"ne_id\":1159321281,\"wikidataid\":\"Q730\",\"name_ar\":\"سورينام\",\"name_bn\":\"সুরিনাম\",\"name_de\":\"Suriname\",\"name_en\":\"Suriname\",\"name_es\":\"Surinam\",\"name_fa\":\"سورینام\",\"name_fr\":\"Suriname\",\"name_el\":\"Σουρινάμ\",\"name_he\":\"סורינאם\",\"name_hi\":\"सूरीनाम\",\"name_hu\":\"Suriname\",\"name_id\":\"Suriname\",\"name_it\":\"Suriname\",\"name_ja\":\"スリナム\",\"name_ko\":\"수리남\",\"name_nl\":\"Suriname\",\"name_pl\":\"Surinam\",\"name_pt\":\"Suriname\",\"name_ru\":\"Суринам\",\"name_sv\":\"Surinam\",\"name_tr\":\"Surinam\",\"name_uk\":\"Суринам\",\"name_ur\":\"سرینام\",\"name_vi\":\"Suriname\",\"name_zh\":\"苏里南\",\"name_zht\":\"蘇利南\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"SUR.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-54.524754197799716,2.311848863123785],[-55.09758744975514,2.523748073736613],[-55.569755011606,2.421506252447131],[-55.973322109589375,2.510363877773017],[-56.0733418442903,2.220794989425499],[-55.905600145070885,2.02199575439866],[-55.995698004771754,1.817667141116601],[-56.539385748914555,1.899522609866921],[-57.15009782573991,2.768926906745406],[-57.28143347840971,3.333491929534119],[-57.60156897645787,3.334654649260685],[-58.04469438336068,4.060863552258382],[-57.8602095200787,4.57680105226045],[-57.91428890647214,4.812626451024414],[-57.307245856339506,5.073566595882227],[-57.14743648947689,5.973149929219161],[-55.9493184067898,5.772877915872002],[-55.841779751190415,5.95312531170606],[-55.033250291551774,6.025291449401664],[-53.9580446030709,5.756548163267765],[-54.47863298197923,4.896755682795586],[-54.399542202356514,4.212611395683467],[-54.00693050801901,3.620037746592558],[-54.181726040246275,3.189779771330421],[-54.2697051662232,2.732391669115046],[-54.524754197799716,2.311848863123785]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":4,\"sovereignt\":\"Guyana\",\"sov_a3\":\"GUY\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Guyana\",\"adm0_a3\":\"GUY\",\"geou_dif\":0,\"geounit\":\"Guyana\",\"gu_a3\":\"GUY\",\"su_dif\":0,\"subunit\":\"Guyana\",\"su_a3\":\"GUY\",\"brk_diff\":0,\"name\":\"Guyana\",\"name_long\":\"Guyana\",\"brk_a3\":\"GUY\",\"brk_name\":\"Guyana\",\"brk_group\":null,\"abbrev\":\"Guy.\",\"postal\":\"GY\",\"formal_en\":\"Co-operative Republic of Guyana\",\"formal_fr\":null,\"name_ciawf\":\"Guyana\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Guyana\",\"name_alt\":null,\"mapcolor7\":3,\"mapcolor8\":1,\"mapcolor9\":4,\"mapcolor13\":8,\"pop_est\":782766,\"pop_rank\":11,\"pop_year\":2019,\"gdp_md\":5173,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"GY\",\"iso_a2\":\"GY\",\"iso_a2_eh\":\"GY\",\"iso_a3\":\"GUY\",\"iso_a3_eh\":\"GUY\",\"iso_n3\":\"328\",\"iso_n3_eh\":\"328\",\"un_a3\":\"328\",\"wb_a2\":\"GY\",\"wb_a3\":\"GUY\",\"woe_id\":23424836,\"woe_id_eh\":23424836,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"GUY\",\"adm0_diff\":null,\"adm0_tlc\":\"GUY\",\"adm0_a3_us\":\"GUY\",\"adm0_a3_fr\":\"GUY\",\"adm0_a3_ru\":\"GUY\",\"adm0_a3_es\":\"GUY\",\"adm0_a3_cn\":\"GUY\",\"adm0_a3_tw\":\"GUY\",\"adm0_a3_in\":\"GUY\",\"adm0_a3_np\":\"GUY\",\"adm0_a3_pk\":\"GUY\",\"adm0_a3_de\":\"GUY\",\"adm0_a3_gb\":\"GUY\",\"adm0_a3_br\":\"GUY\",\"adm0_a3_il\":\"GUY\",\"adm0_a3_ps\":\"GUY\",\"adm0_a3_sa\":\"GUY\",\"adm0_a3_eg\":\"GUY\",\"adm0_a3_ma\":\"GUY\",\"adm0_a3_pt\":\"GUY\",\"adm0_a3_ar\":\"GUY\",\"adm0_a3_jp\":\"GUY\",\"adm0_a3_ko\":\"GUY\",\"adm0_a3_vn\":\"GUY\",\"adm0_a3_tr\":\"GUY\",\"adm0_a3_id\":\"GUY\",\"adm0_a3_pl\":\"GUY\",\"adm0_a3_gr\":\"GUY\",\"adm0_a3_it\":\"GUY\",\"adm0_a3_nl\":\"GUY\",\"adm0_a3_se\":\"GUY\",\"adm0_a3_bd\":\"GUY\",\"adm0_a3_ua\":\"GUY\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"South America\",\"region_un\":\"Americas\",\"subregion\":\"South America\",\"region_wb\":\"Latin America & Caribbean\",\"name_len\":6,\"long_len\":6,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":-58.942643,\"label_y\":5.124317,\"ne_id\":1159320817,\"wikidataid\":\"Q734\",\"name_ar\":\"غيانا\",\"name_bn\":\"গায়ানা\",\"name_de\":\"Guyana\",\"name_en\":\"Guyana\",\"name_es\":\"Guyana\",\"name_fa\":\"گویان\",\"name_fr\":\"Guyana\",\"name_el\":\"Γουιάνα\",\"name_he\":\"גיאנה\",\"name_hi\":\"गयाना\",\"name_hu\":\"Guyana\",\"name_id\":\"Guyana\",\"name_it\":\"Guyana\",\"name_ja\":\"ガイアナ\",\"name_ko\":\"가이아나\",\"name_nl\":\"Guyana\",\"name_pl\":\"Gujana\",\"name_pt\":\"Guiana\",\"name_ru\":\"Гайана\",\"name_sv\":\"Guyana\",\"name_tr\":\"Guyana\",\"name_uk\":\"Гаяна\",\"name_ur\":\"گیانا\",\"name_vi\":\"Guyana\",\"name_zh\":\"圭亚那\",\"name_zht\":\"圭亞那\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"GUY.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-56.539385748914555,1.899522609866921],[-56.78270423036083,1.863710842288654],[-57.335822923396904,1.948537705895759],[-57.66097103537737,1.682584947105639],[-58.11344987652502,1.507195135907025],[-58.429477098205965,1.463941962078721],[-58.540012986878295,1.268088283692521],[-59.03086157900265,1.317697658692722],[-59.64604366722126,1.786893825686789],[-59.71854570172675,2.24963043864436],[-59.97452490908456,2.755232652188056],[-59.815413174057866,3.606498521332085],[-59.53803992373123,3.958802598481938],[-59.767405768458715,4.423502915866607],[-60.11100236676738,4.574966538914083],[-59.980958624904886,5.014061184098139],[-60.21368343773133,5.244486395687602],[-60.73357418480372,5.200277207861901],[-61.410302903881956,5.959068101419618],[-61.13941504580795,6.234296779806144],[-61.15933631045648,6.696077378766319],[-60.54399919294099,6.856584377464883],[-60.2956680975624,7.043911444522919],[-60.637972785063766,7.414999904810855],[-60.5505879380582,7.779602972846178],[-59.758284878159195,8.367034816924047],[-59.10168412945866,7.999201971870492],[-58.48296220562806,7.347691351750697],[-58.45487606467742,6.832787380394464],[-58.078103196837375,6.809093736188643],[-57.542218593970645,6.321268215353356],[-57.14743648947689,5.973149929219161],[-57.307245856339506,5.073566595882227],[-57.91428890647214,4.812626451024414],[-57.8602095200787,4.57680105226045],[-58.04469438336068,4.060863552258382],[-57.60156897645787,3.334654649260685],[-57.28143347840971,3.333491929534119],[-57.15009782573991,2.768926906745406],[-56.539385748914555,1.899522609866921]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":2,\"sovereignt\":\"Brazil\",\"sov_a3\":\"BRA\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Brazil\",\"adm0_a3\":\"BRA\",\"geou_dif\":0,\"geounit\":\"Brazil\",\"gu_a3\":\"BRA\",\"su_dif\":0,\"subunit\":\"Brazil\",\"su_a3\":\"BRA\",\"brk_diff\":0,\"name\":\"Brazil\",\"name_long\":\"Brazil\",\"brk_a3\":\"BRA\",\"brk_name\":\"Brazil\",\"brk_group\":null,\"abbrev\":\"Brazil\",\"postal\":\"BR\",\"formal_en\":\"Federative Republic of Brazil\",\"formal_fr\":null,\"name_ciawf\":\"Brazil\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Brazil\",\"name_alt\":null,\"mapcolor7\":5,\"mapcolor8\":6,\"mapcolor9\":5,\"mapcolor13\":7,\"pop_est\":211049527,\"pop_rank\":17,\"pop_year\":2019,\"gdp_md\":1839758,\"gdp_year\":2019,\"economy\":\"3. Emerging region: BRIC\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"BR\",\"iso_a2\":\"BR\",\"iso_a2_eh\":\"BR\",\"iso_a3\":\"BRA\",\"iso_a3_eh\":\"BRA\",\"iso_n3\":\"076\",\"iso_n3_eh\":\"076\",\"un_a3\":\"076\",\"wb_a2\":\"BR\",\"wb_a3\":\"BRA\",\"woe_id\":23424768,\"woe_id_eh\":23424768,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"BRA\",\"adm0_diff\":null,\"adm0_tlc\":\"BRA\",\"adm0_a3_us\":\"BRA\",\"adm0_a3_fr\":\"BRA\",\"adm0_a3_ru\":\"BRA\",\"adm0_a3_es\":\"BRA\",\"adm0_a3_cn\":\"BRA\",\"adm0_a3_tw\":\"BRA\",\"adm0_a3_in\":\"BRA\",\"adm0_a3_np\":\"BRA\",\"adm0_a3_pk\":\"BRA\",\"adm0_a3_de\":\"BRA\",\"adm0_a3_gb\":\"BRA\",\"adm0_a3_br\":\"BRA\",\"adm0_a3_il\":\"BRA\",\"adm0_a3_ps\":\"BRA\",\"adm0_a3_sa\":\"BRA\",\"adm0_a3_eg\":\"BRA\",\"adm0_a3_ma\":\"BRA\",\"adm0_a3_pt\":\"BRA\",\"adm0_a3_ar\":\"BRA\",\"adm0_a3_jp\":\"BRA\",\"adm0_a3_ko\":\"BRA\",\"adm0_a3_vn\":\"BRA\",\"adm0_a3_tr\":\"BRA\",\"adm0_a3_id\":\"BRA\",\"adm0_a3_pl\":\"BRA\",\"adm0_a3_gr\":\"BRA\",\"adm0_a3_it\":\"BRA\",\"adm0_a3_nl\":\"BRA\",\"adm0_a3_se\":\"BRA\",\"adm0_a3_bd\":\"BRA\",\"adm0_a3_ua\":\"BRA\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"South America\",\"region_un\":\"Americas\",\"subregion\":\"South America\",\"region_wb\":\"Latin America & Caribbean\",\"name_len\":6,\"long_len\":6,\"abbrev_len\":6,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":1.7,\"max_label\":5.7,\"label_x\":-49.55945,\"label_y\":-12.098687,\"ne_id\":1159320441,\"wikidataid\":\"Q155\",\"name_ar\":\"البرازيل\",\"name_bn\":\"ব্রাজিল\",\"name_de\":\"Brasilien\",\"name_en\":\"Brazil\",\"name_es\":\"Brasil\",\"name_fa\":\"برزیل\",\"name_fr\":\"Brésil\",\"name_el\":\"Βραζιλία\",\"name_he\":\"ברזיל\",\"name_hi\":\"ब्राज़ील\",\"name_hu\":\"Brazília\",\"name_id\":\"Brasil\",\"name_it\":\"Brasile\",\"name_ja\":\"ブラジル\",\"name_ko\":\"브라질\",\"name_nl\":\"Brazilië\",\"name_pl\":\"Brazylia\",\"name_pt\":\"Brasil\",\"name_ru\":\"Бразилия\",\"name_sv\":\"Brasilien\",\"name_tr\":\"Brezilya\",\"name_uk\":\"Бразилія\",\"name_ur\":\"برازیل\",\"name_vi\":\"Brasil\",\"name_zh\":\"巴西\",\"name_zht\":\"巴西\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"BRA.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-53.373661668498244,-33.768377780900764],[-53.6505439927181,-33.20200408298183],[-53.209588995971544,-32.727666110974724],[-53.78795162618219,-32.047242526987624],[-54.57245154480512,-31.494511407193748],[-55.601510179249345,-30.853878676071393],[-55.97324459494094,-30.883075860316303],[-56.976025763564735,-30.109686374636127],[-57.62513342958296,-30.21629485445426],[-56.29089962423908,-28.852760512000895],[-55.16228634298457,-27.881915378533463],[-54.490725267135524,-27.47475676850579],[-53.64873531758789,-26.92347258881609],[-53.628348965048744,-26.124865004177472],[-54.13004960795439,-25.547639255477254],[-54.625290696823576,-25.739255466415514],[-54.42894609233059,-25.162184747012166],[-54.29347632507745,-24.570799655863965],[-54.29295956075452,-24.02101409271073],[-54.65283423523513,-23.83957813893396],[-55.02790178080955,-24.00127369557523],[-55.40074723979542,-23.956935316668805],[-55.517639329639636,-23.571997572526637],[-55.610682745981144,-22.655619398694846],[-55.79795813660691,-22.356929620047822],[-56.47331743022939,-22.086300144135283],[-56.8815095689029,-22.28215382252148],[-57.937155727761294,-22.090175876557172],[-57.8706739976178,-20.73268767668195],[-58.166392381408045,-20.176700941653678],[-57.85380164247451,-19.96999521248619],[-57.949997321185826,-19.40000416430682],[-57.67600887717431,-18.96183969490403],[-57.49837114117099,-18.174187513911292],[-57.734558274961,-17.55246835700777],[-58.28080400250225,-17.271710300366017],[-58.38805843772404,-16.877109063385276],[-58.24121985536668,-16.299573256091293],[-60.158389655179036,-16.258283786690086],[-60.54296566429515,-15.093910414289596],[-60.251148851142936,-15.07721892665932],[-60.26432634137737,-14.645979099183641],[-60.45919816755003,-14.354007256734555],[-60.503304002511136,-13.775954685117659],[-61.08412126325565,-13.479383640194598],[-61.71320431176078,-13.489202162330052],[-62.127080857986385,-13.198780612849724],[-62.803060268796386,-13.000653171442686],[-63.19649878605057,-12.627032565972435],[-64.3163529120316,-12.461978041232193],[-65.40228146021303,-11.566270440317155],[-65.32189876978302,-10.895872084194679],[-65.44483700220539,-10.511451104375432],[-65.33843522811642,-9.761987806846392],[-66.6469083319628,-9.931331475466862],[-67.17380123561074,-10.306812432499612],[-68.04819230820539,-10.712059014532485],[-68.27125362819326,-11.01452117273682],[-68.78615759954948,-11.03638030359628],[-69.52967810736496,-10.951734307502194],[-70.0937522040469,-11.123971856331012],[-70.54868567572841,-11.009146823778465],[-70.48189388699117,-9.490118096558845],[-71.30241227892154,-10.079436130415374],[-72.18489071316985,-10.053597914269432],[-72.56303300646564,-9.520193780152717],[-73.22671342639016,-9.462212823121234],[-73.01538265653255,-9.032833347208062],[-73.57105933296707,-8.424446709835834],[-73.98723548042966,-7.523829847853065],[-73.7234014553635,-7.340998630404414],[-73.72448666044164,-6.91859547285064],[-73.1200274319236,-6.629930922068239],[-73.21971126981461,-6.089188734566078],[-72.9645072089412,-5.741251315944893],[-72.89192765978726,-5.274561455916981],[-71.74840572781655,-4.593982842633011],[-70.92884334988358,-4.401591485210368],[-70.7947688463023,-4.251264743673303],[-69.89363521999663,-4.298186944194327],[-69.44410193548961,-1.556287123219818],[-69.42048580593223,-1.122618503426409],[-69.5770653957766,-0.549991957200163],[-70.02065589057005,-0.185156345219539],[-70.01556576198931,0.541414292804205],[-69.45239600287246,0.706158758950693],[-69.25243404811906,0.602650865070075],[-69.21863766140018,0.985676581217433],[-69.80459672715773,1.089081122233466],[-69.81697323269162,1.714805202639624],[-67.86856502955884,1.692455145673392],[-67.5378100246747,2.03716278727633],[-67.2599975246736,1.719998684084956],[-67.0650481838525,1.130112209473225],[-66.87632585312258,1.253360500489336],[-66.32576514348496,0.724452215982012],[-65.54826738143757,0.78925446207603],[-65.35471330428837,1.0952822941085],[-64.61101192895987,1.328730576987042],[-64.19930579289051,1.49285492594602],[-64.08308549666609,1.91636912679408],[-63.368788011311665,2.200899562993129],[-63.42286739770512,2.411067613124175],[-64.2699991522658,2.497005520025567],[-64.40882788761792,3.126786200366624],[-64.3684944322141,3.797210394705246],[-64.81606401229402,4.056445217297423],[-64.62865943058755,4.14848094320925],[-63.88834286157416,4.020530096854571],[-63.093197597899106,3.770571193858785],[-62.804533047116706,4.006965033377952],[-62.08542965355913,4.162123521334308],[-60.96689327660154,4.536467596856639],[-60.601179165271944,4.91809804933213],[-60.73357418480372,5.200277207861901],[-60.21368343773133,5.244486395687602],[-59.980958624904886,5.014061184098139],[-60.11100236676738,4.574966538914083],[-59.767405768458715,4.423502915866607],[-59.53803992373123,3.958802598481938],[-59.815413174057866,3.606498521332085],[-59.97452490908456,2.755232652188056],[-59.71854570172675,2.24963043864436],[-59.64604366722126,1.786893825686789],[-59.03086157900265,1.317697658692722],[-58.540012986878295,1.268088283692521],[-58.429477098205965,1.463941962078721],[-58.11344987652502,1.507195135907025],[-57.66097103537737,1.682584947105639],[-57.335822923396904,1.948537705895759],[-56.78270423036083,1.863710842288654],[-56.539385748914555,1.899522609866921],[-55.995698004771754,1.817667141116601],[-55.905600145070885,2.02199575439866],[-56.0733418442903,2.220794989425499],[-55.973322109589375,2.510363877773017],[-55.569755011606,2.421506252447131],[-55.09758744975514,2.523748073736613],[-54.524754197799716,2.311848863123785],[-54.08806250671725,2.105556545414629],[-53.77852067728892,2.376702785650082],[-53.554839240113544,2.334896551925951],[-53.41846513529531,2.053389187015981],[-52.939657151894956,2.124857692875636],[-52.55642473001842,2.504705308437053],[-52.249337531123956,3.241094468596245],[-51.65779741067889,4.156232408053029],[-51.31714636901086,4.203490505383954],[-51.069771287629656,3.650397650564031],[-50.508875291533656,1.901563828942457],[-49.97407589374506,1.736483465986069],[-49.94710079608871,1.046189683431223],[-50.699251268096916,0.222984117021682],[-50.38821082213214,-0.078444512536819],[-48.62056677915632,-0.235489190271821],[-48.58449662941659,-1.237805271005001],[-47.824956427590635,-0.5816179337628],[-46.566583624851226,-0.941027520352776],[-44.905703090990414,-1.551739597178134],[-44.417619187993665,-2.137750339367976],[-44.58158850765578,-2.691308282078524],[-43.418791266440195,-2.383110039889793],[-41.47265682632825,-2.912018324397116],[-39.97866533055404,-2.873054294449041],[-38.50038347019657,-3.700652357603396],[-37.2232521225352,-4.820945733258917],[-36.45293738457639,-5.109403578312154],[-35.59779578301047,-5.149504489770649],[-35.23538896334756,-5.464937432480247],[-34.89602983248683,-6.738193047719711],[-34.729993455533034,-7.343220716992967],[-35.12821204277422,-8.996401462442286],[-35.636966518687714,-9.649281508017815],[-37.046518724097,-11.040721123908803],[-37.68361161960736,-12.171194756725823],[-38.42387651218844,-13.038118584854288],[-38.67388709161652,-13.057652276260619],[-38.953275722802545,-13.793369642800023],[-38.88229814304965,-15.667053724838768],[-39.16109249526431,-17.208406670808472],[-39.2673392400564,-17.867746270420483],[-39.58352149103423,-18.262295830968938],[-39.76082333022764,-19.59911345792741],[-40.77474077001034,-20.904511814052423],[-40.94475623225061,-21.93731698983781],[-41.754164191238225,-22.370675551037458],[-41.98828426773656,-22.970070489190896],[-43.07470374202475,-22.96769337330547],[-44.64781185563781,-23.351959323827842],[-45.35213578955992,-23.796841729428582],[-46.47209326840554,-24.088968601174543],[-47.64897233742066,-24.885199069927722],[-48.4954581365777,-25.877024834905654],[-48.64100480812774,-26.623697605090932],[-48.474735887228654,-27.17591196056189],[-48.661520351747626,-28.18613453543572],[-48.8884574041574,-28.674115085567884],[-49.587329474472675,-29.224469089476337],[-50.696874152211485,-30.98446502047296],[-51.576226162306156,-31.77769825615321],[-52.256081305538046,-32.24536996839467],[-52.712099982297694,-33.19657805759118],[-53.373661668498244,-33.768377780900764]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":4,\"sovereignt\":\"Uruguay\",\"sov_a3\":\"URY\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Uruguay\",\"adm0_a3\":\"URY\",\"geou_dif\":0,\"geounit\":\"Uruguay\",\"gu_a3\":\"URY\",\"su_dif\":0,\"subunit\":\"Uruguay\",\"su_a3\":\"URY\",\"brk_diff\":0,\"name\":\"Uruguay\",\"name_long\":\"Uruguay\",\"brk_a3\":\"URY\",\"brk_name\":\"Uruguay\",\"brk_group\":null,\"abbrev\":\"Ury.\",\"postal\":\"UY\",\"formal_en\":\"Oriental Republic of Uruguay\",\"formal_fr\":null,\"name_ciawf\":\"Uruguay\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Uruguay\",\"name_alt\":null,\"mapcolor7\":1,\"mapcolor8\":2,\"mapcolor9\":2,\"mapcolor13\":10,\"pop_est\":3461734,\"pop_rank\":12,\"pop_year\":2019,\"gdp_md\":56045,\"gdp_year\":2019,\"economy\":\"5. Emerging region: G20\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"UY\",\"iso_a2\":\"UY\",\"iso_a2_eh\":\"UY\",\"iso_a3\":\"URY\",\"iso_a3_eh\":\"URY\",\"iso_n3\":\"858\",\"iso_n3_eh\":\"858\",\"un_a3\":\"858\",\"wb_a2\":\"UY\",\"wb_a3\":\"URY\",\"woe_id\":23424979,\"woe_id_eh\":23424979,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"URY\",\"adm0_diff\":null,\"adm0_tlc\":\"URY\",\"adm0_a3_us\":\"URY\",\"adm0_a3_fr\":\"URY\",\"adm0_a3_ru\":\"URY\",\"adm0_a3_es\":\"URY\",\"adm0_a3_cn\":\"URY\",\"adm0_a3_tw\":\"URY\",\"adm0_a3_in\":\"URY\",\"adm0_a3_np\":\"URY\",\"adm0_a3_pk\":\"URY\",\"adm0_a3_de\":\"URY\",\"adm0_a3_gb\":\"URY\",\"adm0_a3_br\":\"URY\",\"adm0_a3_il\":\"URY\",\"adm0_a3_ps\":\"URY\",\"adm0_a3_sa\":\"URY\",\"adm0_a3_eg\":\"URY\",\"adm0_a3_ma\":\"URY\",\"adm0_a3_pt\":\"URY\",\"adm0_a3_ar\":\"URY\",\"adm0_a3_jp\":\"URY\",\"adm0_a3_ko\":\"URY\",\"adm0_a3_vn\":\"URY\",\"adm0_a3_tr\":\"URY\",\"adm0_a3_id\":\"URY\",\"adm0_a3_pl\":\"URY\",\"adm0_a3_gr\":\"URY\",\"adm0_a3_it\":\"URY\",\"adm0_a3_nl\":\"URY\",\"adm0_a3_se\":\"URY\",\"adm0_a3_bd\":\"URY\",\"adm0_a3_ua\":\"URY\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"South America\",\"region_un\":\"Americas\",\"subregion\":\"South America\",\"region_wb\":\"Latin America & Caribbean\",\"name_len\":7,\"long_len\":7,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":-55.966942,\"label_y\":-32.961127,\"ne_id\":1159321353,\"wikidataid\":\"Q77\",\"name_ar\":\"الأوروغواي\",\"name_bn\":\"উরুগুয়ে\",\"name_de\":\"Uruguay\",\"name_en\":\"Uruguay\",\"name_es\":\"Uruguay\",\"name_fa\":\"اروگوئه\",\"name_fr\":\"Uruguay\",\"name_el\":\"Ουρουγουάη\",\"name_he\":\"אורוגוואי\",\"name_hi\":\"उरुग्वे\",\"name_hu\":\"Uruguay\",\"name_id\":\"Uruguay\",\"name_it\":\"Uruguay\",\"name_ja\":\"ウルグアイ\",\"name_ko\":\"우루과이\",\"name_nl\":\"Uruguay\",\"name_pl\":\"Urugwaj\",\"name_pt\":\"Uruguai\",\"name_ru\":\"Уругвай\",\"name_sv\":\"Uruguay\",\"name_tr\":\"Uruguay\",\"name_uk\":\"Уругвай\",\"name_ur\":\"یوراگوئے\",\"name_vi\":\"Uruguay\",\"name_zh\":\"乌拉圭\",\"name_zht\":\"烏拉圭\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"URY.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-57.62513342958296,-30.21629485445426],[-56.976025763564735,-30.109686374636127],[-55.97324459494094,-30.883075860316303],[-55.601510179249345,-30.853878676071393],[-54.57245154480512,-31.494511407193748],[-53.78795162618219,-32.047242526987624],[-53.209588995971544,-32.727666110974724],[-53.6505439927181,-33.20200408298183],[-53.373661668498244,-33.768377780900764],[-53.806425950726535,-34.39681487400223],[-54.93586605489773,-34.952646579733624],[-55.67408972840329,-34.75265878676407],[-56.21529700379607,-34.85983570733742],[-57.1396850246331,-34.430456231424245],[-57.81786068381551,-34.4625472958775],[-58.42707414410439,-33.909454441057576],[-58.349611172098875,-33.26318897881541],[-58.13264767112145,-33.040566908502015],[-58.14244035504076,-32.044503676076154],[-57.87493730328188,-31.016556084926208],[-57.62513342958296,-30.21629485445426]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Ecuador\",\"sov_a3\":\"ECU\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Ecuador\",\"adm0_a3\":\"ECU\",\"geou_dif\":0,\"geounit\":\"Ecuador\",\"gu_a3\":\"ECU\",\"su_dif\":0,\"subunit\":\"Ecuador\",\"su_a3\":\"ECU\",\"brk_diff\":0,\"name\":\"Ecuador\",\"name_long\":\"Ecuador\",\"brk_a3\":\"ECU\",\"brk_name\":\"Ecuador\",\"brk_group\":null,\"abbrev\":\"Ecu.\",\"postal\":\"EC\",\"formal_en\":\"Republic of Ecuador\",\"formal_fr\":null,\"name_ciawf\":\"Ecuador\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Ecuador\",\"name_alt\":null,\"mapcolor7\":1,\"mapcolor8\":5,\"mapcolor9\":2,\"mapcolor13\":12,\"pop_est\":17373662,\"pop_rank\":14,\"pop_year\":2019,\"gdp_md\":107435,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"EC\",\"iso_a2\":\"EC\",\"iso_a2_eh\":\"EC\",\"iso_a3\":\"ECU\",\"iso_a3_eh\":\"ECU\",\"iso_n3\":\"218\",\"iso_n3_eh\":\"218\",\"un_a3\":\"218\",\"wb_a2\":\"EC\",\"wb_a3\":\"ECU\",\"woe_id\":23424801,\"woe_id_eh\":23424801,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"ECU\",\"adm0_diff\":null,\"adm0_tlc\":\"ECU\",\"adm0_a3_us\":\"ECU\",\"adm0_a3_fr\":\"ECU\",\"adm0_a3_ru\":\"ECU\",\"adm0_a3_es\":\"ECU\",\"adm0_a3_cn\":\"ECU\",\"adm0_a3_tw\":\"ECU\",\"adm0_a3_in\":\"ECU\",\"adm0_a3_np\":\"ECU\",\"adm0_a3_pk\":\"ECU\",\"adm0_a3_de\":\"ECU\",\"adm0_a3_gb\":\"ECU\",\"adm0_a3_br\":\"ECU\",\"adm0_a3_il\":\"ECU\",\"adm0_a3_ps\":\"ECU\",\"adm0_a3_sa\":\"ECU\",\"adm0_a3_eg\":\"ECU\",\"adm0_a3_ma\":\"ECU\",\"adm0_a3_pt\":\"ECU\",\"adm0_a3_ar\":\"ECU\",\"adm0_a3_jp\":\"ECU\",\"adm0_a3_ko\":\"ECU\",\"adm0_a3_vn\":\"ECU\",\"adm0_a3_tr\":\"ECU\",\"adm0_a3_id\":\"ECU\",\"adm0_a3_pl\":\"ECU\",\"adm0_a3_gr\":\"ECU\",\"adm0_a3_it\":\"ECU\",\"adm0_a3_nl\":\"ECU\",\"adm0_a3_se\":\"ECU\",\"adm0_a3_bd\":\"ECU\",\"adm0_a3_ua\":\"ECU\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"South America\",\"region_un\":\"Americas\",\"subregion\":\"South America\",\"region_wb\":\"Latin America & Caribbean\",\"name_len\":7,\"long_len\":7,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":-78.188375,\"label_y\":-1.259076,\"ne_id\":1159320567,\"wikidataid\":\"Q736\",\"name_ar\":\"الإكوادور\",\"name_bn\":\"ইকুয়েডর\",\"name_de\":\"Ecuador\",\"name_en\":\"Ecuador\",\"name_es\":\"Ecuador\",\"name_fa\":\"اکوادور\",\"name_fr\":\"Équateur\",\"name_el\":\"Εκουαδόρ\",\"name_he\":\"אקוודור\",\"name_hi\":\"ईक्वाडोर\",\"name_hu\":\"Ecuador\",\"name_id\":\"Ekuador\",\"name_it\":\"Ecuador\",\"name_ja\":\"エクアドル\",\"name_ko\":\"에콰도르\",\"name_nl\":\"Ecuador\",\"name_pl\":\"Ekwador\",\"name_pt\":\"Equador\",\"name_ru\":\"Эквадор\",\"name_sv\":\"Ecuador\",\"name_tr\":\"Ekvador\",\"name_uk\":\"Еквадор\",\"name_ur\":\"ایکواڈور\",\"name_vi\":\"Ecuador\",\"name_zh\":\"厄瓜多尔\",\"name_zht\":\"厄瓜多爾\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"ECU.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-75.37322323271385,-0.15203175212045],[-75.23372270374195,-0.911416924649529],[-75.54499569365204,-1.56160979574588],[-76.63539425322672,-2.608677666843818],[-77.83790483265861,-3.003020521663103],[-78.45068396677564,-3.873096612161376],[-78.63989722361234,-4.547784112164074],[-79.20528906931773,-4.959128513207389],[-79.62497921417618,-4.454198093283495],[-80.02890804718561,-4.346090996928893],[-80.44224199087216,-4.425724379090674],[-80.46929460317695,-4.059286797708999],[-80.18401485870967,-3.821161797708044],[-80.30256059438722,-3.404856459164713],[-79.77029334178093,-2.65751189535964],[-79.98655921092242,-2.220794366061014],[-80.36878394236925,-2.685158786635788],[-80.96776546906436,-2.246942640800704],[-80.76480628123804,-1.965047702648533],[-80.93365902375172,-1.057454522306358],[-80.58337032746127,-0.906662692878683],[-80.39932471385376,-0.283703301600141],[-80.02089820018037,0.360340074053468],[-80.09060970734211,0.768428859862397],[-79.5427620103998,0.982937730305963],[-78.85525875518871,1.380923773601822],[-77.85506140817952,0.809925034992773],[-77.66861284047044,0.825893052570962],[-77.4249843004304,0.395686753741117],[-76.5763797675494,0.256935533037435],[-76.29231441924097,0.416047268064119],[-75.8014658271166,0.084801337073202],[-75.37322323271385,-0.15203175212045]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":2,\"sovereignt\":\"Colombia\",\"sov_a3\":\"COL\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Colombia\",\"adm0_a3\":\"COL\",\"geou_dif\":0,\"geounit\":\"Colombia\",\"gu_a3\":\"COL\",\"su_dif\":0,\"subunit\":\"Colombia\",\"su_a3\":\"COL\",\"brk_diff\":0,\"name\":\"Colombia\",\"name_long\":\"Colombia\",\"brk_a3\":\"COL\",\"brk_name\":\"Colombia\",\"brk_group\":null,\"abbrev\":\"Col.\",\"postal\":\"CO\",\"formal_en\":\"Republic of Colombia\",\"formal_fr\":null,\"name_ciawf\":\"Colombia\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Colombia\",\"name_alt\":null,\"mapcolor7\":2,\"mapcolor8\":1,\"mapcolor9\":3,\"mapcolor13\":1,\"pop_est\":50339443,\"pop_rank\":16,\"pop_year\":2019,\"gdp_md\":323615,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"CO\",\"iso_a2\":\"CO\",\"iso_a2_eh\":\"CO\",\"iso_a3\":\"COL\",\"iso_a3_eh\":\"COL\",\"iso_n3\":\"170\",\"iso_n3_eh\":\"170\",\"un_a3\":\"170\",\"wb_a2\":\"CO\",\"wb_a3\":\"COL\",\"woe_id\":23424787,\"woe_id_eh\":23424787,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"COL\",\"adm0_diff\":null,\"adm0_tlc\":\"COL\",\"adm0_a3_us\":\"COL\",\"adm0_a3_fr\":\"COL\",\"adm0_a3_ru\":\"COL\",\"adm0_a3_es\":\"COL\",\"adm0_a3_cn\":\"COL\",\"adm0_a3_tw\":\"COL\",\"adm0_a3_in\":\"COL\",\"adm0_a3_np\":\"COL\",\"adm0_a3_pk\":\"COL\",\"adm0_a3_de\":\"COL\",\"adm0_a3_gb\":\"COL\",\"adm0_a3_br\":\"COL\",\"adm0_a3_il\":\"COL\",\"adm0_a3_ps\":\"COL\",\"adm0_a3_sa\":\"COL\",\"adm0_a3_eg\":\"COL\",\"adm0_a3_ma\":\"COL\",\"adm0_a3_pt\":\"COL\",\"adm0_a3_ar\":\"COL\",\"adm0_a3_jp\":\"COL\",\"adm0_a3_ko\":\"COL\",\"adm0_a3_vn\":\"COL\",\"adm0_a3_tr\":\"COL\",\"adm0_a3_id\":\"COL\",\"adm0_a3_pl\":\"COL\",\"adm0_a3_gr\":\"COL\",\"adm0_a3_it\":\"COL\",\"adm0_a3_nl\":\"COL\",\"adm0_a3_se\":\"COL\",\"adm0_a3_bd\":\"COL\",\"adm0_a3_ua\":\"COL\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"South America\",\"region_un\":\"Americas\",\"subregion\":\"South America\",\"region_wb\":\"Latin America & Caribbean\",\"name_len\":8,\"long_len\":8,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":7,\"label_x\":-73.174347,\"label_y\":3.373111,\"ne_id\":1159320517,\"wikidataid\":\"Q739\",\"name_ar\":\"كولومبيا\",\"name_bn\":\"কলম্বিয়া\",\"name_de\":\"Kolumbien\",\"name_en\":\"Colombia\",\"name_es\":\"Colombia\",\"name_fa\":\"کلمبیا\",\"name_fr\":\"Colombie\",\"name_el\":\"Κολομβία\",\"name_he\":\"קולומביה\",\"name_hi\":\"कोलम्बिया\",\"name_hu\":\"Kolumbia\",\"name_id\":\"Kolombia\",\"name_it\":\"Colombia\",\"name_ja\":\"コロンビア\",\"name_ko\":\"콜롬비아\",\"name_nl\":\"Colombia\",\"name_pl\":\"Kolumbia\",\"name_pt\":\"Colômbia\",\"name_ru\":\"Колумбия\",\"name_sv\":\"Colombia\",\"name_tr\":\"Kolombiya\",\"name_uk\":\"Колумбія\",\"name_ur\":\"کولمبیا\",\"name_vi\":\"Colombia\",\"name_zh\":\"哥伦比亚\",\"name_zht\":\"哥倫比亞\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"COL.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-66.87632585312258,1.253360500489336],[-67.0650481838525,1.130112209473225],[-67.2599975246736,1.719998684084956],[-67.5378100246747,2.03716278727633],[-67.86856502955884,1.692455145673392],[-69.81697323269162,1.714805202639624],[-69.80459672715773,1.089081122233466],[-69.21863766140018,0.985676581217433],[-69.25243404811906,0.602650865070075],[-69.45239600287246,0.706158758950693],[-70.01556576198931,0.541414292804205],[-70.02065589057005,-0.185156345219539],[-69.5770653957766,-0.549991957200163],[-69.42048580593223,-1.122618503426409],[-69.44410193548961,-1.556287123219818],[-69.89363521999663,-4.298186944194327],[-70.39404395209499,-3.766591485207825],[-70.69268205430971,-3.742872002785859],[-70.04770850287485,-2.725156345229699],[-70.81347571479196,-2.256864515800743],[-71.41364579942979,-2.342802422702128],[-71.7747607082854,-2.169789727388938],[-72.32578650581365,-2.434218031426454],[-73.07039221870724,-2.308954359550953],[-73.6595035468346,-1.260491224781134],[-74.12239518908906,-1.002832533373848],[-74.44160051135597,-0.530820000819887],[-75.10662451852008,-0.05720549886486],[-75.37322323271385,-0.15203175212045],[-75.8014658271166,0.084801337073202],[-76.29231441924097,0.416047268064119],[-76.5763797675494,0.256935533037435],[-77.4249843004304,0.395686753741117],[-77.66861284047044,0.825893052570962],[-77.85506140817952,0.809925034992773],[-78.85525875518871,1.380923773601822],[-78.99093522817104,1.691369940595251],[-78.61783138702371,1.766404120283056],[-78.66211808949785,2.267355454920477],[-78.42761043975733,2.629555568854215],[-77.93154252797149,2.696605739752926],[-77.51043128122501,3.325016994638247],[-77.12768978545526,3.849636135265357],[-77.49627193877703,4.087606105969428],[-77.3076012844794,4.667984117039452],[-77.53322058786573,5.582811997902497],[-77.31881507028675,5.84535411216136],[-77.47666073272228,6.691116441266303],[-77.88157141794525,7.223771267114785],[-77.7534138658614,7.709839789252143],[-77.43110795765699,7.638061224798734],[-77.24256649444008,7.935278225125444],[-77.47472286651133,8.524286200388218],[-77.35336076527386,8.67050466555807],[-76.83667395700357,8.638749497914716],[-76.08638383655786,9.336820583529487],[-75.67460018584006,9.443248195834599],[-75.66470414905618,9.774003200718738],[-75.48042599150335,10.618990383339309],[-74.90689510771199,11.083044745320322],[-74.27675269234489,11.102035834187587],[-74.1972226630477,11.310472723836867],[-73.41476396350029,11.22701528568548],[-72.62783525255963,11.731971543825523],[-72.23819495307892,11.955549628136326],[-71.75409013536864,12.437303168177309],[-71.3998223537917,12.376040757695293],[-71.13746110704588,12.112981879113505],[-71.3315836249503,11.776284084515808],[-71.97392167833829,11.60867157637712],[-72.22757544624294,11.10870209395324],[-72.61465776232521,10.821975409381778],[-72.9052860175347,10.450344346554772],[-73.02760413276957,9.736770331252444],[-73.30495154488005,9.151999823437606],[-72.7887298245004,9.085027167187334],[-72.6604947577681,8.625287787302682],[-72.43986223009796,8.405275376820029],[-72.36090064155597,8.002638454617895],[-72.47967892117885,7.632506008327354],[-72.44448727078807,7.423784898300482],[-72.19835242378188,7.340430813013683],[-71.96017574734864,6.991614895043539],[-70.67423356798152,7.087784735538719],[-70.09331295437242,6.96037649172311],[-69.38947994655712,6.099860541198836],[-68.98531856960236,6.206804917826858],[-68.26505245631823,6.153268133972475],[-67.69508724635502,6.267318020040647],[-67.34143958196557,6.095468044454023],[-67.52153194850275,5.556870428891969],[-67.74469662135522,5.221128648291668],[-67.82301225449355,4.503937282728899],[-67.62183590358129,3.839481716319995],[-67.33756384954368,3.542342230641722],[-67.30317318385345,3.31845408773718],[-67.8099381171237,2.820655015469569],[-67.44709204778631,2.600280869960869],[-67.18129431829307,2.250638129074062],[-66.87632585312258,1.253360500489336]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":4,\"sovereignt\":\"Paraguay\",\"sov_a3\":\"PRY\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Paraguay\",\"adm0_a3\":\"PRY\",\"geou_dif\":0,\"geounit\":\"Paraguay\",\"gu_a3\":\"PRY\",\"su_dif\":0,\"subunit\":\"Paraguay\",\"su_a3\":\"PRY\",\"brk_diff\":0,\"name\":\"Paraguay\",\"name_long\":\"Paraguay\",\"brk_a3\":\"PRY\",\"brk_name\":\"Paraguay\",\"brk_group\":null,\"abbrev\":\"Para.\",\"postal\":\"PY\",\"formal_en\":\"Republic of Paraguay\",\"formal_fr\":null,\"name_ciawf\":\"Paraguay\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Paraguay\",\"name_alt\":null,\"mapcolor7\":6,\"mapcolor8\":3,\"mapcolor9\":6,\"mapcolor13\":2,\"pop_est\":7044636,\"pop_rank\":13,\"pop_year\":2019,\"gdp_md\":38145,\"gdp_year\":2019,\"economy\":\"5. Emerging region: G20\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"PA\",\"iso_a2\":\"PY\",\"iso_a2_eh\":\"PY\",\"iso_a3\":\"PRY\",\"iso_a3_eh\":\"PRY\",\"iso_n3\":\"600\",\"iso_n3_eh\":\"600\",\"un_a3\":\"600\",\"wb_a2\":\"PY\",\"wb_a3\":\"PRY\",\"woe_id\":23424917,\"woe_id_eh\":23424917,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"PRY\",\"adm0_diff\":null,\"adm0_tlc\":\"PRY\",\"adm0_a3_us\":\"PRY\",\"adm0_a3_fr\":\"PRY\",\"adm0_a3_ru\":\"PRY\",\"adm0_a3_es\":\"PRY\",\"adm0_a3_cn\":\"PRY\",\"adm0_a3_tw\":\"PRY\",\"adm0_a3_in\":\"PRY\",\"adm0_a3_np\":\"PRY\",\"adm0_a3_pk\":\"PRY\",\"adm0_a3_de\":\"PRY\",\"adm0_a3_gb\":\"PRY\",\"adm0_a3_br\":\"PRY\",\"adm0_a3_il\":\"PRY\",\"adm0_a3_ps\":\"PRY\",\"adm0_a3_sa\":\"PRY\",\"adm0_a3_eg\":\"PRY\",\"adm0_a3_ma\":\"PRY\",\"adm0_a3_pt\":\"PRY\",\"adm0_a3_ar\":\"PRY\",\"adm0_a3_jp\":\"PRY\",\"adm0_a3_ko\":\"PRY\",\"adm0_a3_vn\":\"PRY\",\"adm0_a3_tr\":\"PRY\",\"adm0_a3_id\":\"PRY\",\"adm0_a3_pl\":\"PRY\",\"adm0_a3_gr\":\"PRY\",\"adm0_a3_it\":\"PRY\",\"adm0_a3_nl\":\"PRY\",\"adm0_a3_se\":\"PRY\",\"adm0_a3_bd\":\"PRY\",\"adm0_a3_ua\":\"PRY\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"South America\",\"region_un\":\"Americas\",\"subregion\":\"South America\",\"region_wb\":\"Latin America & Caribbean\",\"name_len\":8,\"long_len\":8,\"abbrev_len\":5,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":-60.146394,\"label_y\":-21.674509,\"ne_id\":1159321195,\"wikidataid\":\"Q733\",\"name_ar\":\"باراغواي\",\"name_bn\":\"প্যারাগুয়ে\",\"name_de\":\"Paraguay\",\"name_en\":\"Paraguay\",\"name_es\":\"Paraguay\",\"name_fa\":\"پاراگوئه\",\"name_fr\":\"Paraguay\",\"name_el\":\"Παραγουάη\",\"name_he\":\"פרגוואי\",\"name_hi\":\"पैराग्वे\",\"name_hu\":\"Paraguay\",\"name_id\":\"Paraguay\",\"name_it\":\"Paraguay\",\"name_ja\":\"パラグアイ\",\"name_ko\":\"파라과이\",\"name_nl\":\"Paraguay\",\"name_pl\":\"Paragwaj\",\"name_pt\":\"Paraguai\",\"name_ru\":\"Парагвай\",\"name_sv\":\"Paraguay\",\"name_tr\":\"Paraguay\",\"name_uk\":\"Парагвай\",\"name_ur\":\"پیراگوئے\",\"name_vi\":\"Paraguay\",\"name_zh\":\"巴拉圭\",\"name_zht\":\"巴拉圭\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"PRY.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-58.166392381408045,-20.176700941653678],[-57.8706739976178,-20.73268767668195],[-57.937155727761294,-22.090175876557172],[-56.8815095689029,-22.28215382252148],[-56.47331743022939,-22.086300144135283],[-55.79795813660691,-22.356929620047822],[-55.610682745981144,-22.655619398694846],[-55.517639329639636,-23.571997572526637],[-55.40074723979542,-23.956935316668805],[-55.02790178080955,-24.00127369557523],[-54.65283423523513,-23.83957813893396],[-54.29295956075452,-24.02101409271073],[-54.29347632507745,-24.570799655863965],[-54.42894609233059,-25.162184747012166],[-54.625290696823576,-25.739255466415514],[-54.78879492859505,-26.621785577096134],[-55.69584550639816,-27.387837009390864],[-56.486701626192996,-27.548499037386293],[-57.60975969097614,-27.395898532828387],[-58.61817359071975,-27.123718763947096],[-57.63366004091113,-25.60365650808164],[-57.77721716981794,-25.16233977630904],[-58.80712846539498,-24.77145924245331],[-60.02896603050403,-24.032796319273274],[-60.846564704009914,-23.880712579038292],[-62.685057135657885,-22.249029229422387],[-62.291179368729225,-21.051634616787393],[-62.2659612697708,-20.513734633061276],[-61.78632646345377,-19.633736667562964],[-60.04356462262649,-19.342746677327426],[-59.11504248720611,-19.3569060197754],[-58.183471442280506,-19.868399346600363],[-58.166392381408045,-20.176700941653678]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Venezuela\",\"sov_a3\":\"VEN\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Venezuela\",\"adm0_a3\":\"VEN\",\"geou_dif\":0,\"geounit\":\"Venezuela\",\"gu_a3\":\"VEN\",\"su_dif\":0,\"subunit\":\"Venezuela\",\"su_a3\":\"VEN\",\"brk_diff\":0,\"name\":\"Venezuela\",\"name_long\":\"Venezuela\",\"brk_a3\":\"VEN\",\"brk_name\":\"Venezuela\",\"brk_group\":null,\"abbrev\":\"Ven.\",\"postal\":\"VE\",\"formal_en\":\"Bolivarian Republic of Venezuela\",\"formal_fr\":\"República Bolivariana de Venezuela\",\"name_ciawf\":\"Venezuela\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Venezuela, RB\",\"name_alt\":null,\"mapcolor7\":1,\"mapcolor8\":3,\"mapcolor9\":1,\"mapcolor13\":4,\"pop_est\":28515829,\"pop_rank\":15,\"pop_year\":2019,\"gdp_md\":482359,\"gdp_year\":2014,\"economy\":\"5. Emerging region: G20\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"VE\",\"iso_a2\":\"VE\",\"iso_a2_eh\":\"VE\",\"iso_a3\":\"VEN\",\"iso_a3_eh\":\"VEN\",\"iso_n3\":\"862\",\"iso_n3_eh\":\"862\",\"un_a3\":\"862\",\"wb_a2\":\"VE\",\"wb_a3\":\"VEN\",\"woe_id\":23424982,\"woe_id_eh\":23424982,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"VEN\",\"adm0_diff\":null,\"adm0_tlc\":\"VEN\",\"adm0_a3_us\":\"VEN\",\"adm0_a3_fr\":\"VEN\",\"adm0_a3_ru\":\"VEN\",\"adm0_a3_es\":\"VEN\",\"adm0_a3_cn\":\"VEN\",\"adm0_a3_tw\":\"VEN\",\"adm0_a3_in\":\"VEN\",\"adm0_a3_np\":\"VEN\",\"adm0_a3_pk\":\"VEN\",\"adm0_a3_de\":\"VEN\",\"adm0_a3_gb\":\"VEN\",\"adm0_a3_br\":\"VEN\",\"adm0_a3_il\":\"VEN\",\"adm0_a3_ps\":\"VEN\",\"adm0_a3_sa\":\"VEN\",\"adm0_a3_eg\":\"VEN\",\"adm0_a3_ma\":\"VEN\",\"adm0_a3_pt\":\"VEN\",\"adm0_a3_ar\":\"VEN\",\"adm0_a3_jp\":\"VEN\",\"adm0_a3_ko\":\"VEN\",\"adm0_a3_vn\":\"VEN\",\"adm0_a3_tr\":\"VEN\",\"adm0_a3_id\":\"VEN\",\"adm0_a3_pl\":\"VEN\",\"adm0_a3_gr\":\"VEN\",\"adm0_a3_it\":\"VEN\",\"adm0_a3_nl\":\"VEN\",\"adm0_a3_se\":\"VEN\",\"adm0_a3_bd\":\"VEN\",\"adm0_a3_ua\":\"VEN\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"South America\",\"region_un\":\"Americas\",\"subregion\":\"South America\",\"region_wb\":\"Latin America & Caribbean\",\"name_len\":9,\"long_len\":9,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":2.5,\"max_label\":7.5,\"label_x\":-64.599381,\"label_y\":7.182476,\"ne_id\":1159321411,\"wikidataid\":\"Q717\",\"name_ar\":\"فنزويلا\",\"name_bn\":\"ভেনেজুয়েলা\",\"name_de\":\"Venezuela\",\"name_en\":\"Venezuela\",\"name_es\":\"Venezuela\",\"name_fa\":\"ونزوئلا\",\"name_fr\":\"Venezuela\",\"name_el\":\"Βενεζουέλα\",\"name_he\":\"ונצואלה\",\"name_hi\":\"वेनेज़ुएला\",\"name_hu\":\"Venezuela\",\"name_id\":\"Venezuela\",\"name_it\":\"Venezuela\",\"name_ja\":\"ベネズエラ\",\"name_ko\":\"베네수엘라\",\"name_nl\":\"Venezuela\",\"name_pl\":\"Wenezuela\",\"name_pt\":\"Venezuela\",\"name_ru\":\"Венесуэла\",\"name_sv\":\"Venezuela\",\"name_tr\":\"Venezuela\",\"name_uk\":\"Венесуела\",\"name_ur\":\"وینیزویلا\",\"name_vi\":\"Venezuela\",\"name_zh\":\"委内瑞拉\",\"name_zht\":\"委內瑞拉\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"VEN.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-60.73357418480372,5.200277207861901],[-60.601179165271944,4.91809804933213],[-60.96689327660154,4.536467596856639],[-62.08542965355913,4.162123521334308],[-62.804533047116706,4.006965033377952],[-63.093197597899106,3.770571193858785],[-63.88834286157416,4.020530096854571],[-64.62865943058755,4.14848094320925],[-64.81606401229402,4.056445217297423],[-64.3684944322141,3.797210394705246],[-64.40882788761792,3.126786200366624],[-64.2699991522658,2.497005520025567],[-63.42286739770512,2.411067613124175],[-63.368788011311665,2.200899562993129],[-64.08308549666609,1.91636912679408],[-64.19930579289051,1.49285492594602],[-64.61101192895987,1.328730576987042],[-65.35471330428837,1.0952822941085],[-65.54826738143757,0.78925446207603],[-66.32576514348496,0.724452215982012],[-66.87632585312258,1.253360500489336],[-67.18129431829307,2.250638129074062],[-67.44709204778631,2.600280869960869],[-67.8099381171237,2.820655015469569],[-67.30317318385345,3.31845408773718],[-67.33756384954368,3.542342230641722],[-67.62183590358129,3.839481716319995],[-67.82301225449355,4.503937282728899],[-67.74469662135522,5.221128648291668],[-67.52153194850275,5.556870428891969],[-67.34143958196557,6.095468044454023],[-67.69508724635502,6.267318020040647],[-68.26505245631823,6.153268133972475],[-68.98531856960236,6.206804917826858],[-69.38947994655712,6.099860541198836],[-70.09331295437242,6.96037649172311],[-70.67423356798152,7.087784735538719],[-71.96017574734864,6.991614895043539],[-72.19835242378188,7.340430813013683],[-72.44448727078807,7.423784898300482],[-72.47967892117885,7.632506008327354],[-72.36090064155597,8.002638454617895],[-72.43986223009796,8.405275376820029],[-72.6604947577681,8.625287787302682],[-72.7887298245004,9.085027167187334],[-73.30495154488005,9.151999823437606],[-73.02760413276957,9.736770331252444],[-72.9052860175347,10.450344346554772],[-72.61465776232521,10.821975409381778],[-72.22757544624294,11.10870209395324],[-71.97392167833829,11.60867157637712],[-71.3315836249503,11.776284084515808],[-71.36000566271082,11.539993597861212],[-71.94704993354651,11.423282375530022],[-71.62086829292019,10.969459947142795],[-71.63306393094109,10.446494452349029],[-72.07417395698451,9.865651353388373],[-71.69564409044654,9.072263088411248],[-71.26455929226773,9.137194525585983],[-71.03999935574339,9.859992784052409],[-71.35008378771079,10.211935126176215],[-71.40062333849224,10.968969021036015],[-70.15529883490652,11.37548167566004],[-70.29384334988103,11.846822414594214],[-69.94324459499683,12.162307033736099],[-69.58430009629747,11.459610907431212],[-68.88299923366445,11.443384507691563],[-68.23327145045873,10.885744126829946],[-68.19412655299763,10.554653225135922],[-67.29624854192633,10.54586823164631],[-66.227864142508,10.648626817258688],[-65.65523759628175,10.200798855017323],[-64.89045223657817,10.0772146671913],[-64.32947872583374,10.38959870039568],[-64.31800655786495,10.64141795495398],[-63.07932247582873,10.7017243514386],[-61.880946010980196,10.715625311725104],[-62.73011898461641,10.420268662960906],[-62.388511928950976,9.94820445397464],[-61.58876746280194,9.873066921422264],[-60.83059668643172,9.381339829948942],[-60.67125240745973,8.580174261911878],[-60.15009558779618,8.602756862823426],[-59.758284878159195,8.367034816924047],[-60.5505879380582,7.779602972846178],[-60.637972785063766,7.414999904810855],[-60.2956680975624,7.043911444522919],[-60.54399919294099,6.856584377464883],[-61.15933631045648,6.696077378766319],[-61.13941504580795,6.234296779806144],[-61.410302903881956,5.959068101419618],[-60.73357418480372,5.200277207861901]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":5,\"sovereignt\":\"United Kingdom\",\"sov_a3\":\"GB1\",\"adm0_dif\":1,\"level\":2,\"type\":\"Disputed\",\"tlc\":\"1\",\"admin\":\"Falkland Islands\",\"adm0_a3\":\"FLK\",\"geou_dif\":0,\"geounit\":\"Falkland Islands\",\"gu_a3\":\"FLK\",\"su_dif\":0,\"subunit\":\"Falkland Islands\",\"su_a3\":\"FLK\",\"brk_diff\":1,\"name\":\"Falkland Is.\",\"name_long\":\"Falkland Islands / Malvinas\",\"brk_a3\":\"B12\",\"brk_name\":\"Falkland Is.\",\"brk_group\":null,\"abbrev\":\"Flk. Is.\",\"postal\":\"FK\",\"formal_en\":\"Falkland Islands\",\"formal_fr\":null,\"name_ciawf\":\"Falkland Islands (Islas Malvinas)\",\"note_adm0\":\"U.K.\",\"note_brk\":\"Admin. by U.K.; Claimed by Argentina\",\"name_sort\":\"Falkland Islands\",\"name_alt\":\"Islas Malvinas\",\"mapcolor7\":6,\"mapcolor8\":6,\"mapcolor9\":6,\"mapcolor13\":3,\"pop_est\":3398,\"pop_rank\":4,\"pop_year\":2016,\"gdp_md\":282,\"gdp_year\":2012,\"economy\":\"2. Developed region: nonG7\",\"income_grp\":\"1. High income: OECD\",\"fips_10\":\"FK\",\"iso_a2\":\"FK\",\"iso_a2_eh\":\"FK\",\"iso_a3\":\"FLK\",\"iso_a3_eh\":\"FLK\",\"iso_n3\":\"238\",\"iso_n3_eh\":\"238\",\"un_a3\":\"238\",\"wb_a2\":\"-99\",\"wb_a3\":\"-99\",\"woe_id\":23424814,\"woe_id_eh\":23424814,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"B12\",\"adm0_diff\":null,\"adm0_tlc\":\"B12\",\"adm0_a3_us\":\"FLK\",\"adm0_a3_fr\":\"FLK\",\"adm0_a3_ru\":\"FLK\",\"adm0_a3_es\":\"FLK\",\"adm0_a3_cn\":\"FLK\",\"adm0_a3_tw\":\"FLK\",\"adm0_a3_in\":\"FLK\",\"adm0_a3_np\":\"FLK\",\"adm0_a3_pk\":\"FLK\",\"adm0_a3_de\":\"FLK\",\"adm0_a3_gb\":\"FLK\",\"adm0_a3_br\":\"FLK\",\"adm0_a3_il\":\"FLK\",\"adm0_a3_ps\":\"FLK\",\"adm0_a3_sa\":\"FLK\",\"adm0_a3_eg\":\"FLK\",\"adm0_a3_ma\":\"FLK\",\"adm0_a3_pt\":\"FLK\",\"adm0_a3_ar\":\"ARG\",\"adm0_a3_jp\":\"FLK\",\"adm0_a3_ko\":\"FLK\",\"adm0_a3_vn\":\"FLK\",\"adm0_a3_tr\":\"FLK\",\"adm0_a3_id\":\"FLK\",\"adm0_a3_pl\":\"FLK\",\"adm0_a3_gr\":\"FLK\",\"adm0_a3_it\":\"FLK\",\"adm0_a3_nl\":\"FLK\",\"adm0_a3_se\":\"FLK\",\"adm0_a3_bd\":\"FLK\",\"adm0_a3_ua\":\"FLK\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"South America\",\"region_un\":\"Americas\",\"subregion\":\"South America\",\"region_wb\":\"Latin America & Caribbean\",\"name_len\":12,\"long_len\":27,\"abbrev_len\":8,\"tiny\":-99,\"homepart\":-99,\"min_zoom\":0,\"min_label\":4.5,\"max_label\":9,\"label_x\":-58.738602,\"label_y\":-51.608913,\"ne_id\":1159320711,\"wikidataid\":\"Q9648\",\"name_ar\":\"جزر فوكلاند\",\"name_bn\":\"ফকল্যান্ড দ্বীপপুঞ্জ\",\"name_de\":\"Falklandinseln\",\"name_en\":\"Falkland Islands\",\"name_es\":\"Islas Malvinas\",\"name_fa\":\"جزایر فالکلند\",\"name_fr\":\"îles Malouines\",\"name_el\":\"Νήσοι Φώκλαντ\",\"name_he\":\"איי פוקלנד\",\"name_hi\":\"फ़ॉकलैंड द्वीपसमूह\",\"name_hu\":\"Falkland-szigetek\",\"name_id\":\"Kepulauan Falkland\",\"name_it\":\"Isole Falkland\",\"name_ja\":\"フォークランド諸島\",\"name_ko\":\"포클랜드 제도\",\"name_nl\":\"Falklandeilanden\",\"name_pl\":\"Falklandy\",\"name_pt\":\"Ilhas Malvinas\",\"name_ru\":\"Фолклендские острова\",\"name_sv\":\"Falklandsöarna\",\"name_tr\":\"Falkland Adaları\",\"name_uk\":\"Фолклендські острови\",\"name_ur\":\"جزائر فاکلینڈ\",\"name_vi\":\"Quần đảo Falkland\",\"name_zh\":\"福克兰群岛\",\"name_zht\":\"福克蘭群島\",\"fclass_iso\":\"Admin-0 dependency\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 dependency\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":\"Unrecognized\",\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"FLK.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-61.2,-51.85],[-60,-51.25],[-59.15,-51.5],[-58.55,-51.1],[-57.75,-51.55],[-58.05,-51.9],[-59.4,-52.2],[-59.85,-51.85],[-60.7,-52.3],[-61.2,-51.85]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":2,\"sovereignt\":\"Ethiopia\",\"sov_a3\":\"ETH\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Ethiopia\",\"adm0_a3\":\"ETH\",\"geou_dif\":0,\"geounit\":\"Ethiopia\",\"gu_a3\":\"ETH\",\"su_dif\":0,\"subunit\":\"Ethiopia\",\"su_a3\":\"ETH\",\"brk_diff\":0,\"name\":\"Ethiopia\",\"name_long\":\"Ethiopia\",\"brk_a3\":\"ETH\",\"brk_name\":\"Ethiopia\",\"brk_group\":null,\"abbrev\":\"Eth.\",\"postal\":\"ET\",\"formal_en\":\"Federal Democratic Republic of Ethiopia\",\"formal_fr\":null,\"name_ciawf\":\"Ethiopia\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Ethiopia\",\"name_alt\":null,\"mapcolor7\":4,\"mapcolor8\":4,\"mapcolor9\":1,\"mapcolor13\":13,\"pop_est\":112078730,\"pop_rank\":17,\"pop_year\":2019,\"gdp_md\":95912,\"gdp_year\":2019,\"economy\":\"7. Least developed region\",\"income_grp\":\"5. Low income\",\"fips_10\":\"ET\",\"iso_a2\":\"ET\",\"iso_a2_eh\":\"ET\",\"iso_a3\":\"ETH\",\"iso_a3_eh\":\"ETH\",\"iso_n3\":\"231\",\"iso_n3_eh\":\"231\",\"un_a3\":\"231\",\"wb_a2\":\"ET\",\"wb_a3\":\"ETH\",\"woe_id\":23424808,\"woe_id_eh\":23424808,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"ETH\",\"adm0_diff\":null,\"adm0_tlc\":\"ETH\",\"adm0_a3_us\":\"ETH\",\"adm0_a3_fr\":\"ETH\",\"adm0_a3_ru\":\"ETH\",\"adm0_a3_es\":\"ETH\",\"adm0_a3_cn\":\"ETH\",\"adm0_a3_tw\":\"ETH\",\"adm0_a3_in\":\"ETH\",\"adm0_a3_np\":\"ETH\",\"adm0_a3_pk\":\"ETH\",\"adm0_a3_de\":\"ETH\",\"adm0_a3_gb\":\"ETH\",\"adm0_a3_br\":\"ETH\",\"adm0_a3_il\":\"ETH\",\"adm0_a3_ps\":\"ETH\",\"adm0_a3_sa\":\"ETH\",\"adm0_a3_eg\":\"ETH\",\"adm0_a3_ma\":\"ETH\",\"adm0_a3_pt\":\"ETH\",\"adm0_a3_ar\":\"ETH\",\"adm0_a3_jp\":\"ETH\",\"adm0_a3_ko\":\"ETH\",\"adm0_a3_vn\":\"ETH\",\"adm0_a3_tr\":\"ETH\",\"adm0_a3_id\":\"ETH\",\"adm0_a3_pl\":\"ETH\",\"adm0_a3_gr\":\"ETH\",\"adm0_a3_it\":\"ETH\",\"adm0_a3_nl\":\"ETH\",\"adm0_a3_se\":\"ETH\",\"adm0_a3_bd\":\"ETH\",\"adm0_a3_ua\":\"ETH\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Eastern Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":8,\"long_len\":8,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":2,\"max_label\":7,\"label_x\":39.0886,\"label_y\":8.032795,\"ne_id\":1159320617,\"wikidataid\":\"Q115\",\"name_ar\":\"إثيوبيا\",\"name_bn\":\"ইথিওপিয়া\",\"name_de\":\"Äthiopien\",\"name_en\":\"Ethiopia\",\"name_es\":\"Etiopía\",\"name_fa\":\"اتیوپی\",\"name_fr\":\"Éthiopie\",\"name_el\":\"Αιθιοπία\",\"name_he\":\"אתיופיה\",\"name_hi\":\"इथियोपिया\",\"name_hu\":\"Etiópia\",\"name_id\":\"Ethiopia\",\"name_it\":\"Etiopia\",\"name_ja\":\"エチオピア\",\"name_ko\":\"에티오피아\",\"name_nl\":\"Ethiopië\",\"name_pl\":\"Etiopia\",\"name_pt\":\"Etiópia\",\"name_ru\":\"Эфиопия\",\"name_sv\":\"Etiopien\",\"name_tr\":\"Etiyopya\",\"name_uk\":\"Ефіопія\",\"name_ur\":\"ایتھوپیا\",\"name_vi\":\"Ethiopia\",\"name_zh\":\"埃塞俄比亚\",\"name_zht\":\"衣索比亞\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"ETH.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[47.78942,8.003],[44.9636,5.00162],[43.66087,4.95755],[42.76967,4.25259],[42.12861,4.23413],[41.85508309264397,3.918911920483727],[41.1718,3.91909],[40.76848,4.25702],[39.85494,3.83879],[39.55938425876585,3.42206],[38.89251,3.50074],[38.67114,3.61607],[38.43697,3.58851],[38.120915,3.598605],[36.85509323800812,4.447864127672769],[36.159078632855646,4.447864127672769],[35.817447662353516,4.77696566346189],[35.817447662353516,5.338232082790797],[35.29800711823298,5.506],[34.70702,6.594220000000121],[34.25032,6.82607],[34.0751,7.22595],[33.568290000000104,7.71334],[32.95418,7.784970000000101],[33.29480000000012,8.35458],[33.82550000000015,8.37916],[33.97498,8.68456],[33.96162,9.58358],[34.25745,10.63009],[34.73115000000013,10.910170000000107],[34.83163000000013,11.318960000000118],[35.26049,12.08286],[35.86363,12.57828],[36.27022,13.563330000000121],[36.42951,14.42211],[37.59377,14.2131],[37.90607000000011,14.959430000000168],[38.51295,14.50547],[39.0994,14.74064],[39.34061,14.53155],[40.02625000000012,14.51959],[40.8966,14.118640000000141],[41.1552,13.77333],[41.59856,13.452090000000112],[42.00975,12.86582],[42.35156000000012,12.542230000000131],[42.000000000000114,12.100000000000136],[41.66176000000013,11.6312],[41.73959000000019,11.355110000000138],[41.755570000000205,11.050910000000101],[42.31414000000012,11.0342],[42.55493000000013,11.105110000000195],[42.77685184100096,10.92687856693442],[42.55876,10.57258000000013],[42.92812,10.021940000000143],[43.29699000000011,9.540480000000173],[43.67875,9.18358000000012],[46.94834,7.99688],[47.78942,8.003]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"South Sudan\",\"sov_a3\":\"SDS\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"South Sudan\",\"adm0_a3\":\"SDS\",\"geou_dif\":0,\"geounit\":\"South Sudan\",\"gu_a3\":\"SDS\",\"su_dif\":0,\"subunit\":\"South Sudan\",\"su_a3\":\"SDS\",\"brk_diff\":0,\"name\":\"S. Sudan\",\"name_long\":\"South Sudan\",\"brk_a3\":\"SDS\",\"brk_name\":\"S. Sudan\",\"brk_group\":null,\"abbrev\":\"S. Sud.\",\"postal\":\"SS\",\"formal_en\":\"Republic of South Sudan\",\"formal_fr\":null,\"name_ciawf\":\"South Sudan\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"South Sudan\",\"name_alt\":null,\"mapcolor7\":1,\"mapcolor8\":3,\"mapcolor9\":3,\"mapcolor13\":5,\"pop_est\":11062113,\"pop_rank\":14,\"pop_year\":2019,\"gdp_md\":11998,\"gdp_year\":2015,\"economy\":\"7. Least developed region\",\"income_grp\":\"5. Low income\",\"fips_10\":\"-99\",\"iso_a2\":\"SS\",\"iso_a2_eh\":\"SS\",\"iso_a3\":\"SSD\",\"iso_a3_eh\":\"SSD\",\"iso_n3\":\"728\",\"iso_n3_eh\":\"728\",\"un_a3\":\"728\",\"wb_a2\":\"SS\",\"wb_a3\":\"SSD\",\"woe_id\":-99,\"woe_id_eh\":-99,\"woe_note\":\"Includes states of 20069899, 20069897, 20069898, 20069901, 20069909, and 20069908 but maybe more?\",\"adm0_iso\":\"SSD\",\"adm0_diff\":\"1\",\"adm0_tlc\":\"SDS\",\"adm0_a3_us\":\"SDS\",\"adm0_a3_fr\":\"SDS\",\"adm0_a3_ru\":\"SDS\",\"adm0_a3_es\":\"SDS\",\"adm0_a3_cn\":\"SDS\",\"adm0_a3_tw\":\"SDS\",\"adm0_a3_in\":\"SDS\",\"adm0_a3_np\":\"SDS\",\"adm0_a3_pk\":\"SDS\",\"adm0_a3_de\":\"SDS\",\"adm0_a3_gb\":\"SDS\",\"adm0_a3_br\":\"SDS\",\"adm0_a3_il\":\"SDS\",\"adm0_a3_ps\":\"SDS\",\"adm0_a3_sa\":\"SDS\",\"adm0_a3_eg\":\"SDS\",\"adm0_a3_ma\":\"SDS\",\"adm0_a3_pt\":\"SDS\",\"adm0_a3_ar\":\"SDS\",\"adm0_a3_jp\":\"SDS\",\"adm0_a3_ko\":\"SDS\",\"adm0_a3_vn\":\"SDS\",\"adm0_a3_tr\":\"SDS\",\"adm0_a3_id\":\"SDS\",\"adm0_a3_pl\":\"SDS\",\"adm0_a3_gr\":\"SDS\",\"adm0_a3_it\":\"SDS\",\"adm0_a3_nl\":\"SDS\",\"adm0_a3_se\":\"SDS\",\"adm0_a3_bd\":\"SDS\",\"adm0_a3_ua\":\"SDS\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Eastern Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":8,\"long_len\":11,\"abbrev_len\":7,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":30.390151,\"label_y\":7.230477,\"ne_id\":1159321235,\"wikidataid\":\"Q958\",\"name_ar\":\"جنوب السودان\",\"name_bn\":\"দক্ষিণ সুদান\",\"name_de\":\"Südsudan\",\"name_en\":\"South Sudan\",\"name_es\":\"Sudán del Sur\",\"name_fa\":\"سودان جنوبی\",\"name_fr\":\"Soudan du Sud\",\"name_el\":\"Νότιο Σουδάν\",\"name_he\":\"דרום סודאן\",\"name_hi\":\"दक्षिण सूडान\",\"name_hu\":\"Dél-Szudán\",\"name_id\":\"Sudan Selatan\",\"name_it\":\"Sudan del Sud\",\"name_ja\":\"南スーダン\",\"name_ko\":\"남수단\",\"name_nl\":\"Zuid-Soedan\",\"name_pl\":\"Sudan Południowy\",\"name_pt\":\"Sudão do Sul\",\"name_ru\":\"Южный Судан\",\"name_sv\":\"Sydsudan\",\"name_tr\":\"Güney Sudan\",\"name_uk\":\"Південний Судан\",\"name_ur\":\"جنوبی سوڈان\",\"name_vi\":\"Nam Sudan\",\"name_zh\":\"南苏丹\",\"name_zht\":\"南蘇丹\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"SSD.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[30.833852421715427,3.509171604222463],[29.953500197069474,4.173699042167684],[29.71599531425602,4.600804755060153],[29.1590784034465,4.389267279473231],[28.696677687298802,4.455077215996937],[28.428993768026913,4.287154649264494],[27.97997724784281,4.408413397637375],[27.37422610851749,5.233944403500061],[27.21340905122517,5.550953477394557],[26.465909458123235,5.94671743410187],[26.213418409945117,6.546603298362072],[25.79664798351118,6.979315904158071],[25.124130893664727,7.500085150579437],[25.11493248871679,7.825104071479174],[24.567369012152085,8.229187933785468],[23.886979580860668,8.619729712933065],[24.19406772118765,8.728696472403897],[24.53741516360202,8.91753756573172],[24.794925745412684,9.810240916008695],[25.069603699343986,10.273759963267992],[25.790633328413946,10.411098940233728],[25.962307049621018,10.136420986302426],[26.477328213242515,9.552730334198088],[26.752006167173818,9.466893473594496],[27.112520981708883,9.638567194801624],[27.833550610778786,9.60423245056029],[27.970889587744352,9.398223985111656],[28.966597170745786,9.398223985111656],[29.000931914987177,9.60423245056029],[29.515953078608618,9.793073543888056],[29.61895731133285,10.084918869940225],[29.996639497988554,10.290927335388687],[30.837840731903384,9.70723668328452],[31.35286189552488,9.810240916008695],[31.850715687025513,10.531270545078826],[32.400071594888345,11.080626452941488],[32.31423473428475,11.68148447716652],[32.073891524594785,11.973329803218519],[32.67474954881965,12.02483191958072],[32.743419037302544,12.248007757149992],[33.206938084561784,12.179338268667095],[33.086766479716744,11.441141267476496],[33.206938084561784,10.720111638406593],[33.72195924818311,10.325262079630193],[33.84213085302815,9.981914637215993],[33.82496348090751,9.484060845715362],[33.963392794971185,9.464285229420625],[33.97498,8.68456],[33.82550000000015,8.37916],[33.29480000000012,8.35458],[32.95418,7.784970000000101],[33.568290000000104,7.71334],[34.0751,7.22595],[34.25032,6.82607],[34.70702,6.594220000000121],[35.29800711823298,5.506],[34.62019626785388,4.847122742081988],[34.005,4.249884947362048],[33.3900000000001,3.79],[32.68642,3.79232],[31.88145,3.55827],[31.24556,3.7819],[30.833852421715427,3.509171604222463]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":6,\"sovereignt\":\"Somalia\",\"sov_a3\":\"SOM\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Somalia\",\"adm0_a3\":\"SOM\",\"geou_dif\":0,\"geounit\":\"Somalia\",\"gu_a3\":\"SOM\",\"su_dif\":0,\"subunit\":\"Somalia\",\"su_a3\":\"SOM\",\"brk_diff\":0,\"name\":\"Somalia\",\"name_long\":\"Somalia\",\"brk_a3\":\"SOM\",\"brk_name\":\"Somalia\",\"brk_group\":null,\"abbrev\":\"Som.\",\"postal\":\"SO\",\"formal_en\":\"Federal Republic of Somalia\",\"formal_fr\":null,\"name_ciawf\":\"Somalia\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Somalia\",\"name_alt\":null,\"mapcolor7\":2,\"mapcolor8\":8,\"mapcolor9\":6,\"mapcolor13\":7,\"pop_est\":10192317.3,\"pop_rank\":14,\"pop_year\":2019,\"gdp_md\":4719,\"gdp_year\":2016,\"economy\":\"7. Least developed region\",\"income_grp\":\"5. Low income\",\"fips_10\":\"SO\",\"iso_a2\":\"SO\",\"iso_a2_eh\":\"SO\",\"iso_a3\":\"SOM\",\"iso_a3_eh\":\"SOM\",\"iso_n3\":\"706\",\"iso_n3_eh\":\"706\",\"un_a3\":\"706\",\"wb_a2\":\"SO\",\"wb_a3\":\"SOM\",\"woe_id\":-90,\"woe_id_eh\":23424949,\"woe_note\":\"Includes Somaliland (2347021, 2347020, 2347017 and portion of 2347016)\",\"adm0_iso\":\"SOM\",\"adm0_diff\":null,\"adm0_tlc\":\"SOM\",\"adm0_a3_us\":\"SOM\",\"adm0_a3_fr\":\"SOM\",\"adm0_a3_ru\":\"SOM\",\"adm0_a3_es\":\"SOM\",\"adm0_a3_cn\":\"SOM\",\"adm0_a3_tw\":\"SOM\",\"adm0_a3_in\":\"SOM\",\"adm0_a3_np\":\"SOM\",\"adm0_a3_pk\":\"SOM\",\"adm0_a3_de\":\"SOM\",\"adm0_a3_gb\":\"SOM\",\"adm0_a3_br\":\"SOM\",\"adm0_a3_il\":\"SOM\",\"adm0_a3_ps\":\"SOM\",\"adm0_a3_sa\":\"SOM\",\"adm0_a3_eg\":\"SOM\",\"adm0_a3_ma\":\"SOM\",\"adm0_a3_pt\":\"SOM\",\"adm0_a3_ar\":\"SOM\",\"adm0_a3_jp\":\"SOM\",\"adm0_a3_ko\":\"SOM\",\"adm0_a3_vn\":\"SOM\",\"adm0_a3_tr\":\"SOM\",\"adm0_a3_id\":\"SOM\",\"adm0_a3_pl\":\"SOM\",\"adm0_a3_gr\":\"SOM\",\"adm0_a3_it\":\"SOM\",\"adm0_a3_nl\":\"SOM\",\"adm0_a3_se\":\"SOM\",\"adm0_a3_bd\":\"SOM\",\"adm0_a3_ua\":\"SOM\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Eastern Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":7,\"long_len\":7,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":45.19238,\"label_y\":3.568925,\"ne_id\":1159321261,\"wikidataid\":\"Q1045\",\"name_ar\":\"الصومال\",\"name_bn\":\"সোমালিয়া\",\"name_de\":\"Somalia\",\"name_en\":\"Somalia\",\"name_es\":\"Somalia\",\"name_fa\":\"سومالی\",\"name_fr\":\"Somalie\",\"name_el\":\"Σομαλία\",\"name_he\":\"סומליה\",\"name_hi\":\"सोमालिया\",\"name_hu\":\"Szomália\",\"name_id\":\"Somalia\",\"name_it\":\"Somalia\",\"name_ja\":\"ソマリア\",\"name_ko\":\"소말리아\",\"name_nl\":\"Somalië\",\"name_pl\":\"Somalia\",\"name_pt\":\"Somália\",\"name_ru\":\"Сомали\",\"name_sv\":\"Somalia\",\"name_tr\":\"Somali\",\"name_uk\":\"Сомалі\",\"name_ur\":\"صومالیہ\",\"name_vi\":\"Somalia\",\"name_zh\":\"索马里\",\"name_zht\":\"索馬利亞\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"SOM.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[41.58513,-1.68325],[40.993,-0.85829],[40.98105,2.78452],[41.85508309264397,3.918911920483727],[42.12861,4.23413],[42.76967,4.25259],[43.66087,4.95755],[44.9636,5.00162],[47.78942,8.003],[48.48673587422695,8.837626247589995],[48.93812951029645,9.451748968946617],[48.93823286316103,9.973500067581512],[48.938491245322496,10.982327378783467],[48.94200524271835,11.394266058798138],[48.94820475850974,11.410617281697963],[48.94820475850985,11.41061728169797],[49.26776,11.43033],[49.72862,11.5789],[50.25878,11.67957],[50.73202,12.0219],[51.1112,12.02464],[51.13387,11.74815],[51.04153,11.16651],[51.04531,10.6409],[50.83418,10.27972],[50.55239,9.19874],[50.07092,8.08173],[49.4527,6.80466],[48.59455,5.33911],[47.74079,4.2194],[46.56476,2.85529],[45.56399,2.04576],[44.06815,1.05283],[43.13597,0.2922],[42.04157,-0.91916],[41.81095,-1.44647],[41.58513,-1.68325]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":2,\"sovereignt\":\"Kenya\",\"sov_a3\":\"KEN\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Kenya\",\"adm0_a3\":\"KEN\",\"geou_dif\":0,\"geounit\":\"Kenya\",\"gu_a3\":\"KEN\",\"su_dif\":0,\"subunit\":\"Kenya\",\"su_a3\":\"KEN\",\"brk_diff\":0,\"name\":\"Kenya\",\"name_long\":\"Kenya\",\"brk_a3\":\"KEN\",\"brk_name\":\"Kenya\",\"brk_group\":null,\"abbrev\":\"Ken.\",\"postal\":\"KE\",\"formal_en\":\"Republic of Kenya\",\"formal_fr\":null,\"name_ciawf\":\"Kenya\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Kenya\",\"name_alt\":null,\"mapcolor7\":5,\"mapcolor8\":2,\"mapcolor9\":7,\"mapcolor13\":3,\"pop_est\":52573973,\"pop_rank\":16,\"pop_year\":2019,\"gdp_md\":95503,\"gdp_year\":2019,\"economy\":\"5. Emerging region: G20\",\"income_grp\":\"5. Low income\",\"fips_10\":\"KE\",\"iso_a2\":\"KE\",\"iso_a2_eh\":\"KE\",\"iso_a3\":\"KEN\",\"iso_a3_eh\":\"KEN\",\"iso_n3\":\"404\",\"iso_n3_eh\":\"404\",\"un_a3\":\"404\",\"wb_a2\":\"KE\",\"wb_a3\":\"KEN\",\"woe_id\":23424863,\"woe_id_eh\":23424863,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"KEN\",\"adm0_diff\":null,\"adm0_tlc\":\"KEN\",\"adm0_a3_us\":\"KEN\",\"adm0_a3_fr\":\"KEN\",\"adm0_a3_ru\":\"KEN\",\"adm0_a3_es\":\"KEN\",\"adm0_a3_cn\":\"KEN\",\"adm0_a3_tw\":\"KEN\",\"adm0_a3_in\":\"KEN\",\"adm0_a3_np\":\"KEN\",\"adm0_a3_pk\":\"KEN\",\"adm0_a3_de\":\"KEN\",\"adm0_a3_gb\":\"KEN\",\"adm0_a3_br\":\"KEN\",\"adm0_a3_il\":\"KEN\",\"adm0_a3_ps\":\"KEN\",\"adm0_a3_sa\":\"KEN\",\"adm0_a3_eg\":\"KEN\",\"adm0_a3_ma\":\"KEN\",\"adm0_a3_pt\":\"KEN\",\"adm0_a3_ar\":\"KEN\",\"adm0_a3_jp\":\"KEN\",\"adm0_a3_ko\":\"KEN\",\"adm0_a3_vn\":\"KEN\",\"adm0_a3_tr\":\"KEN\",\"adm0_a3_id\":\"KEN\",\"adm0_a3_pl\":\"KEN\",\"adm0_a3_gr\":\"KEN\",\"adm0_a3_it\":\"KEN\",\"adm0_a3_nl\":\"KEN\",\"adm0_a3_se\":\"KEN\",\"adm0_a3_bd\":\"KEN\",\"adm0_a3_ua\":\"KEN\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Eastern Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":5,\"long_len\":5,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":1.7,\"max_label\":6.7,\"label_x\":37.907632,\"label_y\":0.549043,\"ne_id\":1159320971,\"wikidataid\":\"Q114\",\"name_ar\":\"كينيا\",\"name_bn\":\"কেনিয়া\",\"name_de\":\"Kenia\",\"name_en\":\"Kenya\",\"name_es\":\"Kenia\",\"name_fa\":\"کنیا\",\"name_fr\":\"Kenya\",\"name_el\":\"Κένυα\",\"name_he\":\"קניה\",\"name_hi\":\"कीनिया\",\"name_hu\":\"Kenya\",\"name_id\":\"Kenya\",\"name_it\":\"Kenya\",\"name_ja\":\"ケニア\",\"name_ko\":\"케냐\",\"name_nl\":\"Kenia\",\"name_pl\":\"Kenia\",\"name_pt\":\"Quénia\",\"name_ru\":\"Кения\",\"name_sv\":\"Kenya\",\"name_tr\":\"Kenya\",\"name_uk\":\"Кенія\",\"name_ur\":\"کینیا\",\"name_vi\":\"Kenya\",\"name_zh\":\"肯尼亚\",\"name_zht\":\"肯亞\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"KEN.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[39.20222,-4.67677],[37.7669,-3.67712],[37.69869,-3.09699],[34.07262,-1.05982],[33.90371119710453,-0.95],[33.893568969666944,0.109813537861896],[34.18,0.515],[34.6721,1.17694],[35.03599,1.90584],[34.59607,3.053740000000118],[34.47913,3.5556],[34.005,4.249884947362048],[34.62019626785388,4.847122742081988],[35.29800711823298,5.506],[35.817447662353516,5.338232082790797],[35.817447662353516,4.77696566346189],[36.159078632855646,4.447864127672769],[36.85509323800812,4.447864127672769],[38.120915,3.598605],[38.43697,3.58851],[38.67114,3.61607],[38.89251,3.50074],[39.55938425876585,3.42206],[39.85494,3.83879],[40.76848,4.25702],[41.1718,3.91909],[41.85508309264397,3.918911920483727],[40.98105,2.78452],[40.993,-0.85829],[41.58513,-1.68325],[40.88477,-2.08255],[40.63785,-2.49979],[40.26304,-2.57309],[40.12119,-3.27768],[39.80006,-3.68116],[39.60489,-4.34653],[39.20222,-4.67677]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":6,\"sovereignt\":\"Malawi\",\"sov_a3\":\"MWI\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Malawi\",\"adm0_a3\":\"MWI\",\"geou_dif\":0,\"geounit\":\"Malawi\",\"gu_a3\":\"MWI\",\"su_dif\":0,\"subunit\":\"Malawi\",\"su_a3\":\"MWI\",\"brk_diff\":0,\"name\":\"Malawi\",\"name_long\":\"Malawi\",\"brk_a3\":\"MWI\",\"brk_name\":\"Malawi\",\"brk_group\":null,\"abbrev\":\"Mal.\",\"postal\":\"MW\",\"formal_en\":\"Republic of Malawi\",\"formal_fr\":null,\"name_ciawf\":\"Malawi\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Malawi\",\"name_alt\":null,\"mapcolor7\":1,\"mapcolor8\":3,\"mapcolor9\":4,\"mapcolor13\":5,\"pop_est\":18628747,\"pop_rank\":14,\"pop_year\":2019,\"gdp_md\":7666,\"gdp_year\":2019,\"economy\":\"7. Least developed region\",\"income_grp\":\"5. Low income\",\"fips_10\":\"MI\",\"iso_a2\":\"MW\",\"iso_a2_eh\":\"MW\",\"iso_a3\":\"MWI\",\"iso_a3_eh\":\"MWI\",\"iso_n3\":\"454\",\"iso_n3_eh\":\"454\",\"un_a3\":\"454\",\"wb_a2\":\"MW\",\"wb_a3\":\"MWI\",\"woe_id\":23424889,\"woe_id_eh\":23424889,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"MWI\",\"adm0_diff\":null,\"adm0_tlc\":\"MWI\",\"adm0_a3_us\":\"MWI\",\"adm0_a3_fr\":\"MWI\",\"adm0_a3_ru\":\"MWI\",\"adm0_a3_es\":\"MWI\",\"adm0_a3_cn\":\"MWI\",\"adm0_a3_tw\":\"MWI\",\"adm0_a3_in\":\"MWI\",\"adm0_a3_np\":\"MWI\",\"adm0_a3_pk\":\"MWI\",\"adm0_a3_de\":\"MWI\",\"adm0_a3_gb\":\"MWI\",\"adm0_a3_br\":\"MWI\",\"adm0_a3_il\":\"MWI\",\"adm0_a3_ps\":\"MWI\",\"adm0_a3_sa\":\"MWI\",\"adm0_a3_eg\":\"MWI\",\"adm0_a3_ma\":\"MWI\",\"adm0_a3_pt\":\"MWI\",\"adm0_a3_ar\":\"MWI\",\"adm0_a3_jp\":\"MWI\",\"adm0_a3_ko\":\"MWI\",\"adm0_a3_vn\":\"MWI\",\"adm0_a3_tr\":\"MWI\",\"adm0_a3_id\":\"MWI\",\"adm0_a3_pl\":\"MWI\",\"adm0_a3_gr\":\"MWI\",\"adm0_a3_it\":\"MWI\",\"adm0_a3_nl\":\"MWI\",\"adm0_a3_se\":\"MWI\",\"adm0_a3_bd\":\"MWI\",\"adm0_a3_ua\":\"MWI\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Eastern Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":6,\"long_len\":6,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":33.608082,\"label_y\":-13.386737,\"ne_id\":1159321081,\"wikidataid\":\"Q1020\",\"name_ar\":\"مالاوي\",\"name_bn\":\"মালাউই\",\"name_de\":\"Malawi\",\"name_en\":\"Malawi\",\"name_es\":\"Malaui\",\"name_fa\":\"مالاوی\",\"name_fr\":\"Malawi\",\"name_el\":\"Μαλάουι\",\"name_he\":\"מלאווי\",\"name_hi\":\"मलावी\",\"name_hu\":\"Malawi\",\"name_id\":\"Malawi\",\"name_it\":\"Malawi\",\"name_ja\":\"マラウイ\",\"name_ko\":\"말라위\",\"name_nl\":\"Malawi\",\"name_pl\":\"Malawi\",\"name_pt\":\"Malawi\",\"name_ru\":\"Малави\",\"name_sv\":\"Malawi\",\"name_tr\":\"Malavi\",\"name_uk\":\"Малаві\",\"name_ur\":\"ملاوی\",\"name_vi\":\"Malawi\",\"name_zh\":\"马拉维\",\"name_zht\":\"馬拉威\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"MWI.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[32.75937544122132,-9.23059905358906],[33.73972,-9.41715],[33.940837724096525,-9.693673841980285],[34.28,-10.16],[34.55998904799935,-11.520020033415925],[34.28000613784198,-12.280025323132506],[34.55998904799935,-13.579997653866876],[34.907151320136165,-13.565424899960568],[35.26795617039801,-13.887834161029566],[35.68684533055594,-14.611045830954332],[35.77190473810836,-15.896858819240727],[35.339062941231646,-16.10744028083011],[35.033810255683534,-16.801299737213093],[34.38129194513405,-16.183559665596043],[34.307291294092096,-15.478641452702597],[34.51766604995231,-15.013708591372612],[34.45963341648854,-14.613009535381423],[34.064825473778626,-14.35995004644812],[33.789700148256685,-14.45183074306307],[33.214024692525214,-13.971860039936153],[32.68816531752313,-13.712857761289277],[32.991764357237884,-12.783870537978274],[33.306422153463075,-12.435778090060218],[33.114289178201915,-11.607198174692314],[33.315310499817286,-10.796549981329697],[33.48568769708359,-10.525558770391115],[33.2313879737753,-9.6767216935648],[32.75937544122132,-9.23059905358906]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"United Republic of Tanzania\",\"sov_a3\":\"TZA\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"United Republic of Tanzania\",\"adm0_a3\":\"TZA\",\"geou_dif\":0,\"geounit\":\"Tanzania\",\"gu_a3\":\"TZA\",\"su_dif\":0,\"subunit\":\"Tanzania\",\"su_a3\":\"TZA\",\"brk_diff\":0,\"name\":\"Tanzania\",\"name_long\":\"Tanzania\",\"brk_a3\":\"TZA\",\"brk_name\":\"Tanzania\",\"brk_group\":null,\"abbrev\":\"Tanz.\",\"postal\":\"TZ\",\"formal_en\":\"United Republic of Tanzania\",\"formal_fr\":null,\"name_ciawf\":\"Tanzania\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Tanzania\",\"name_alt\":null,\"mapcolor7\":3,\"mapcolor8\":6,\"mapcolor9\":2,\"mapcolor13\":2,\"pop_est\":58005463,\"pop_rank\":16,\"pop_year\":2019,\"gdp_md\":63177,\"gdp_year\":2019,\"economy\":\"7. Least developed region\",\"income_grp\":\"5. Low income\",\"fips_10\":\"TZ\",\"iso_a2\":\"TZ\",\"iso_a2_eh\":\"TZ\",\"iso_a3\":\"TZA\",\"iso_a3_eh\":\"TZA\",\"iso_n3\":\"834\",\"iso_n3_eh\":\"834\",\"un_a3\":\"834\",\"wb_a2\":\"TZ\",\"wb_a3\":\"TZA\",\"woe_id\":23424973,\"woe_id_eh\":23424973,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"TZA\",\"adm0_diff\":null,\"adm0_tlc\":\"TZA\",\"adm0_a3_us\":\"TZA\",\"adm0_a3_fr\":\"TZA\",\"adm0_a3_ru\":\"TZA\",\"adm0_a3_es\":\"TZA\",\"adm0_a3_cn\":\"TZA\",\"adm0_a3_tw\":\"TZA\",\"adm0_a3_in\":\"TZA\",\"adm0_a3_np\":\"TZA\",\"adm0_a3_pk\":\"TZA\",\"adm0_a3_de\":\"TZA\",\"adm0_a3_gb\":\"TZA\",\"adm0_a3_br\":\"TZA\",\"adm0_a3_il\":\"TZA\",\"adm0_a3_ps\":\"TZA\",\"adm0_a3_sa\":\"TZA\",\"adm0_a3_eg\":\"TZA\",\"adm0_a3_ma\":\"TZA\",\"adm0_a3_pt\":\"TZA\",\"adm0_a3_ar\":\"TZA\",\"adm0_a3_jp\":\"TZA\",\"adm0_a3_ko\":\"TZA\",\"adm0_a3_vn\":\"TZA\",\"adm0_a3_tr\":\"TZA\",\"adm0_a3_id\":\"TZA\",\"adm0_a3_pl\":\"TZA\",\"adm0_a3_gr\":\"TZA\",\"adm0_a3_it\":\"TZA\",\"adm0_a3_nl\":\"TZA\",\"adm0_a3_se\":\"TZA\",\"adm0_a3_bd\":\"TZA\",\"adm0_a3_ua\":\"TZA\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Eastern Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":8,\"long_len\":8,\"abbrev_len\":5,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":34.959183,\"label_y\":-6.051866,\"ne_id\":1159321337,\"wikidataid\":\"Q924\",\"name_ar\":\"تنزانيا\",\"name_bn\":\"তানজানিয়া\",\"name_de\":\"Tansania\",\"name_en\":\"Tanzania\",\"name_es\":\"Tanzania\",\"name_fa\":\"تانزانیا\",\"name_fr\":\"Tanzanie\",\"name_el\":\"Τανζανία\",\"name_he\":\"טנזניה\",\"name_hi\":\"तंज़ानिया\",\"name_hu\":\"Tanzánia\",\"name_id\":\"Tanzania\",\"name_it\":\"Tanzania\",\"name_ja\":\"タンザニア\",\"name_ko\":\"탄자니아\",\"name_nl\":\"Tanzania\",\"name_pl\":\"Tanzania\",\"name_pt\":\"Tanzânia\",\"name_ru\":\"Танзания\",\"name_sv\":\"Tanzania\",\"name_tr\":\"Tanzanya\",\"name_uk\":\"Танзанія\",\"name_ur\":\"تنزانیہ\",\"name_vi\":\"Tanzania\",\"name_zh\":\"坦桑尼亚\",\"name_zht\":\"坦尚尼亞\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"TZA.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[33.90371119710453,-0.95],[34.07262,-1.05982],[37.69869,-3.09699],[37.7669,-3.67712],[39.20222,-4.67677],[38.74054,-5.90895],[38.79977,-6.47566],[39.44,-6.839999999999861],[39.47000000000014,-7.1],[39.19469,-7.7039],[39.25203,-8.00781],[39.18652,-8.48551],[39.53574,-9.112369999999885],[39.9496,-10.0984],[40.316586229110854,-10.317097752817492],[40.31659,-10.317099999999868],[39.521,-10.89688],[38.42755659358775,-11.285202325081656],[37.82764,-11.26879],[37.47129,-11.56876],[36.775150994622805,-11.594537448780805],[36.51408165868426,-11.720938002166735],[35.31239790216904,-11.439146416879147],[34.55998904799935,-11.520020033415925],[34.28,-10.16],[33.940837724096525,-9.693673841980285],[33.73972,-9.41715],[32.75937544122132,-9.23059905358906],[32.19186486179194,-8.930358981973257],[31.556348097466497,-8.762048841998642],[31.15775133695005,-8.594578747317366],[30.740009731422095,-8.34000593035372],[30.74001549655179,-8.340007419470915],[30.199996779101696,-7.079980970898163],[29.620032179490014,-6.520015150583426],[29.419992710088167,-5.939998874539434],[29.519986606572928,-5.419978936386315],[29.339997592900346,-4.499983412294092],[29.753512404099865,-4.452389418153302],[30.11632,-4.09012],[30.50554,-3.56858],[30.75224,-3.35931],[30.74301,-3.03431],[30.52766,-2.80762],[30.469673645761223,-2.41385475710134],[30.46967,-2.41383],[30.75830895358311,-2.287250257988369],[30.816134881317712,-1.698914076345389],[30.419104852019245,-1.134659112150416],[30.769860000000108,-1.01455],[31.86617,-1.02736],[33.90371119710453,-0.95]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":5,\"sovereignt\":\"Somaliland\",\"sov_a3\":\"SOL\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Somaliland\",\"adm0_a3\":\"SOL\",\"geou_dif\":0,\"geounit\":\"Somaliland\",\"gu_a3\":\"SOL\",\"su_dif\":0,\"subunit\":\"Somaliland\",\"su_a3\":\"SOL\",\"brk_diff\":0,\"name\":\"Somaliland\",\"name_long\":\"Somaliland\",\"brk_a3\":\"SOL\",\"brk_name\":\"Somaliland\",\"brk_group\":null,\"abbrev\":\"Solnd.\",\"postal\":\"SL\",\"formal_en\":\"Republic of Somaliland\",\"formal_fr\":null,\"name_ciawf\":null,\"note_adm0\":\"Disputed\",\"note_brk\":\"Self admin.; Claimed by Somalia\",\"name_sort\":\"Somaliland\",\"name_alt\":null,\"mapcolor7\":3,\"mapcolor8\":6,\"mapcolor9\":5,\"mapcolor13\":2,\"pop_est\":5096159,\"pop_rank\":13,\"pop_year\":2014,\"gdp_md\":17836,\"gdp_year\":2013,\"economy\":\"6. Developing region\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"-99\",\"iso_a2\":\"-99\",\"iso_a2_eh\":\"-99\",\"iso_a3\":\"-99\",\"iso_a3_eh\":\"-99\",\"iso_n3\":\"-99\",\"iso_n3_eh\":\"-99\",\"un_a3\":\"-099\",\"wb_a2\":\"-99\",\"wb_a3\":\"-99\",\"woe_id\":-99,\"woe_id_eh\":-99,\"woe_note\":\"Includes old states of 2347021, 2347020, 2347017 and portion of 2347016.\",\"adm0_iso\":\"SOM\",\"adm0_diff\":\"1\",\"adm0_tlc\":\"SOL\",\"adm0_a3_us\":\"SOM\",\"adm0_a3_fr\":\"SOM\",\"adm0_a3_ru\":\"SOM\",\"adm0_a3_es\":\"SOM\",\"adm0_a3_cn\":\"SOM\",\"adm0_a3_tw\":\"SOL\",\"adm0_a3_in\":\"SOM\",\"adm0_a3_np\":\"SOM\",\"adm0_a3_pk\":\"SOM\",\"adm0_a3_de\":\"SOM\",\"adm0_a3_gb\":\"SOM\",\"adm0_a3_br\":\"SOM\",\"adm0_a3_il\":\"SOM\",\"adm0_a3_ps\":\"SOM\",\"adm0_a3_sa\":\"SOM\",\"adm0_a3_eg\":\"SOM\",\"adm0_a3_ma\":\"SOM\",\"adm0_a3_pt\":\"SOM\",\"adm0_a3_ar\":\"SOM\",\"adm0_a3_jp\":\"SOM\",\"adm0_a3_ko\":\"SOM\",\"adm0_a3_vn\":\"SOM\",\"adm0_a3_tr\":\"SOM\",\"adm0_a3_id\":\"SOM\",\"adm0_a3_pl\":\"SOM\",\"adm0_a3_gr\":\"SOM\",\"adm0_a3_it\":\"SOM\",\"adm0_a3_nl\":\"SOM\",\"adm0_a3_se\":\"SOM\",\"adm0_a3_bd\":\"SOM\",\"adm0_a3_ua\":\"SOM\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Eastern Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":10,\"long_len\":10,\"abbrev_len\":6,\"tiny\":-99,\"homepart\":1,\"min_zoom\":4,\"min_label\":4.5,\"max_label\":9,\"label_x\":46.731595,\"label_y\":9.443889,\"ne_id\":1159321259,\"wikidataid\":\"Q34754\",\"name_ar\":\"صوماليلاند\",\"name_bn\":\"সোমালিল্যান্ড\",\"name_de\":\"Somaliland\",\"name_en\":\"Somaliland\",\"name_es\":\"Somalilandia\",\"name_fa\":\"سومالیلند\",\"name_fr\":\"Somaliland\",\"name_el\":\"Σομαλιλάνδη\",\"name_he\":\"סומלילנד\",\"name_hi\":\"सोमालीदेश\",\"name_hu\":\"Szomáliföld\",\"name_id\":\"Somaliland\",\"name_it\":\"Somaliland\",\"name_ja\":\"ソマリランド\",\"name_ko\":\"소말릴란드\",\"name_nl\":\"Somaliland\",\"name_pl\":\"Somaliland\",\"name_pt\":\"Somalilândia\",\"name_ru\":\"Сомалиленд\",\"name_sv\":\"Somaliland\",\"name_tr\":\"Somaliland\",\"name_uk\":\"Сомаліленд\",\"name_ur\":\"صومالی لینڈ\",\"name_vi\":\"Somaliland\",\"name_zh\":\"索马里兰\",\"name_zht\":\"索馬利蘭\",\"fclass_iso\":\"Unrecognized\",\"tlc_diff\":\"1\",\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":\"Unrecognized\",\"fclass_fr\":\"Unrecognized\",\"fclass_ru\":\"Unrecognized\",\"fclass_es\":\"Unrecognized\",\"fclass_cn\":\"Unrecognized\",\"fclass_tw\":\"Admin-0 country\",\"fclass_in\":\"Unrecognized\",\"fclass_np\":\"Unrecognized\",\"fclass_pk\":\"Unrecognized\",\"fclass_de\":\"Unrecognized\",\"fclass_gb\":\"Unrecognized\",\"fclass_br\":\"Unrecognized\",\"fclass_il\":\"Unrecognized\",\"fclass_ps\":\"Unrecognized\",\"fclass_sa\":\"Unrecognized\",\"fclass_eg\":\"Unrecognized\",\"fclass_ma\":\"Unrecognized\",\"fclass_pt\":\"Unrecognized\",\"fclass_ar\":\"Unrecognized\",\"fclass_jp\":\"Unrecognized\",\"fclass_ko\":\"Unrecognized\",\"fclass_vn\":\"Unrecognized\",\"fclass_tr\":\"Unrecognized\",\"fclass_id\":\"Unrecognized\",\"fclass_pl\":\"Unrecognized\",\"fclass_gr\":\"Unrecognized\",\"fclass_it\":\"Unrecognized\",\"fclass_nl\":\"Unrecognized\",\"fclass_se\":\"Unrecognized\",\"fclass_bd\":\"Unrecognized\",\"fclass_ua\":\"Unrecognized\",\"filename\":\"SOL.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[48.94820475850985,11.41061728169797],[48.94820475850974,11.410617281697963],[48.94200524271835,11.394266058798138],[48.938491245322496,10.982327378783467],[48.93823286316103,9.973500067581512],[48.93812951029645,9.451748968946617],[48.48673587422695,8.837626247589995],[47.78942,8.003],[46.94834,7.99688],[43.67875,9.18358000000012],[43.29699000000011,9.540480000000173],[42.92812,10.021940000000143],[42.55876,10.57258000000013],[42.77685184100096,10.92687856693442],[43.14530480324214,11.462039699748857],[43.470659620951665,11.277709865763882],[43.66666832863484,10.86416921634816],[44.11780358254282,10.445538438351605],[44.614259067570856,10.442205308468942],[45.55694054543915,10.698029486529776],[46.645401238803004,10.816549383991173],[47.525657586462785,11.12722809492999],[48.02159630716778,11.193063869669743],[48.37878380716927,11.375481675660126],[48.94820641459347,11.41062164961852],[48.94820475850985,11.41061728169797]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Morocco\",\"sov_a3\":\"MAR\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Morocco\",\"adm0_a3\":\"MAR\",\"geou_dif\":0,\"geounit\":\"Morocco\",\"gu_a3\":\"MAR\",\"su_dif\":0,\"subunit\":\"Morocco\",\"su_a3\":\"MAR\",\"brk_diff\":0,\"name\":\"Morocco\",\"name_long\":\"Morocco\",\"brk_a3\":\"MAR\",\"brk_name\":\"Morocco\",\"brk_group\":null,\"abbrev\":\"Mor.\",\"postal\":\"MA\",\"formal_en\":\"Kingdom of Morocco\",\"formal_fr\":null,\"name_ciawf\":\"Morocco\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Morocco\",\"name_alt\":null,\"mapcolor7\":2,\"mapcolor8\":2,\"mapcolor9\":3,\"mapcolor13\":9,\"pop_est\":36471769,\"pop_rank\":15,\"pop_year\":2019,\"gdp_md\":119700,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"MO\",\"iso_a2\":\"MA\",\"iso_a2_eh\":\"MA\",\"iso_a3\":\"MAR\",\"iso_a3_eh\":\"MAR\",\"iso_n3\":\"504\",\"iso_n3_eh\":\"504\",\"un_a3\":\"504\",\"wb_a2\":\"MA\",\"wb_a3\":\"MAR\",\"woe_id\":23424893,\"woe_id_eh\":23424893,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"MAR\",\"adm0_diff\":null,\"adm0_tlc\":\"MAR\",\"adm0_a3_us\":\"MAR\",\"adm0_a3_fr\":\"MAR\",\"adm0_a3_ru\":\"MAR\",\"adm0_a3_es\":\"MAR\",\"adm0_a3_cn\":\"MAR\",\"adm0_a3_tw\":\"MAR\",\"adm0_a3_in\":\"MAR\",\"adm0_a3_np\":\"MAR\",\"adm0_a3_pk\":\"MAR\",\"adm0_a3_de\":\"MAR\",\"adm0_a3_gb\":\"MAR\",\"adm0_a3_br\":\"MAR\",\"adm0_a3_il\":\"MAR\",\"adm0_a3_ps\":\"MAR\",\"adm0_a3_sa\":\"MAR\",\"adm0_a3_eg\":\"MAR\",\"adm0_a3_ma\":\"MAR\",\"adm0_a3_pt\":\"MAR\",\"adm0_a3_ar\":\"MAR\",\"adm0_a3_jp\":\"MAR\",\"adm0_a3_ko\":\"MAR\",\"adm0_a3_vn\":\"MAR\",\"adm0_a3_tr\":\"MAR\",\"adm0_a3_id\":\"MAR\",\"adm0_a3_pl\":\"MAR\",\"adm0_a3_gr\":\"MAR\",\"adm0_a3_it\":\"MAR\",\"adm0_a3_nl\":\"MAR\",\"adm0_a3_se\":\"MAR\",\"adm0_a3_bd\":\"MAR\",\"adm0_a3_ua\":\"MAR\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Northern Africa\",\"region_wb\":\"Middle East & North Africa\",\"name_len\":7,\"long_len\":7,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":2.7,\"max_label\":8,\"label_x\":-7.187296,\"label_y\":31.650723,\"ne_id\":1159321035,\"wikidataid\":\"Q1028\",\"name_ar\":\"المغرب\",\"name_bn\":\"মরক্কো\",\"name_de\":\"Marokko\",\"name_en\":\"Morocco\",\"name_es\":\"Marruecos\",\"name_fa\":\"مراکش\",\"name_fr\":\"Maroc\",\"name_el\":\"Μαρόκο\",\"name_he\":\"מרוקו\",\"name_hi\":\"मोरक्को\",\"name_hu\":\"Marokkó\",\"name_id\":\"Maroko\",\"name_it\":\"Marocco\",\"name_ja\":\"モロッコ\",\"name_ko\":\"모로코\",\"name_nl\":\"Marokko\",\"name_pl\":\"Maroko\",\"name_pt\":\"Marrocos\",\"name_ru\":\"Марокко\",\"name_sv\":\"Marocko\",\"name_tr\":\"Fas\",\"name_uk\":\"Марокко\",\"name_ur\":\"مراکش\",\"name_vi\":\"Maroc\",\"name_zh\":\"摩洛哥\",\"name_zht\":\"摩洛哥\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"MAR.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-2.169913702798624,35.16839630791668],[-1.792985805661715,34.527918606091305],[-1.733454555661467,33.91971283623212],[-1.388049282222596,32.86401500094138],[-1.124551153966308,32.65152151135713],[-1.30789913573787,32.2628889023061],[-2.616604783529567,32.09434621838619],[-3.068980271812648,31.724497992473218],[-3.647497931320146,31.637294012980675],[-3.690441046554724,30.896951605751156],[-4.859646165374471,30.501187649043846],[-5.242129278982787,30.00044302013559],[-6.060632290053774,29.731699734001694],[-7.059227667661958,29.5792284205246],[-8.674116176782974,28.84128896739658],[-8.665589565454809,27.656425889592356],[-8.817828334986672,27.656425889592356],[-8.794883999049077,27.120696316022507],[-9.41303748212448,27.088476060488574],[-9.735343390328879,26.860944729107405],[-10.189424200877582,26.860944729107405],[-10.551262579785273,26.990807603456886],[-11.392554897497007,26.883423977154393],[-11.718219773800357,26.104091701760623],[-12.03075883630163,26.030866197203068],[-12.50096269372537,24.7701162785782],[-13.891110398809047,23.691009019459305],[-14.221167771857253,22.31016307218816],[-14.630832688851072,21.860939846274903],[-14.750954555713534,21.500600083903663],[-17.00296179856109,21.420734157796577],[-17.02042843267577,21.422310288981578],[-16.973247849993243,21.885744533774982],[-16.589136928767687,22.158234361250095],[-16.261921759495635,22.679339504481277],[-16.3264139469959,23.017768459560898],[-15.982610642958036,23.723358466074046],[-15.426003790742186,24.35913361256104],[-15.089331834360735,24.520260728447],[-14.824645148161665,25.103532619725343],[-14.800925665739726,25.63626496022232],[-14.439939947964831,26.254418443297652],[-13.773804897506466,26.618892320252314],[-13.13994177901435,27.640147813420526],[-13.121613369914769,27.65414767171984],[-12.618836635783111,28.03818553314869],[-11.688919236690765,28.148643907172527],[-10.900956997104402,28.83214223888092],[-10.399592251008642,29.09858592377782],[-9.564811163765683,29.93357371674989],[-9.814718390329176,31.17773550060906],[-9.434793260119363,32.038096421836485],[-9.300692918321886,32.564679266890664],[-8.657476365585012,33.240245266242425],[-7.654178432638219,33.69706492770251],[-6.912544114601417,34.110476386037476],[-6.244342006851411,35.145865383437524],[-5.92999426921989,35.75998810479399],[-5.193863491222032,35.75518219659085],[-4.591006232105144,35.330711981745594],[-3.640056525070065,35.399855048152006],[-2.604305792644084,35.179093329401155],[-2.169913702798624,35.16839630791668]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":7,\"sovereignt\":\"Western Sahara\",\"sov_a3\":\"SAH\",\"adm0_dif\":0,\"level\":2,\"type\":\"Indeterminate\",\"tlc\":\"1\",\"admin\":\"Western Sahara\",\"adm0_a3\":\"SAH\",\"geou_dif\":0,\"geounit\":\"Western Sahara\",\"gu_a3\":\"SAH\",\"su_dif\":0,\"subunit\":\"Western Sahara\",\"su_a3\":\"SAH\",\"brk_diff\":1,\"name\":\"W. Sahara\",\"name_long\":\"Western Sahara\",\"brk_a3\":\"B28\",\"brk_name\":\"W. Sahara\",\"brk_group\":null,\"abbrev\":\"W. Sah.\",\"postal\":\"WS\",\"formal_en\":\"Sahrawi Arab Democratic Republic\",\"formal_fr\":null,\"name_ciawf\":\"Western Sahara\",\"note_adm0\":null,\"note_brk\":\"Self admin.; Claimed by Morocco\",\"name_sort\":\"Western Sahara\",\"name_alt\":null,\"mapcolor7\":4,\"mapcolor8\":7,\"mapcolor9\":4,\"mapcolor13\":4,\"pop_est\":603253,\"pop_rank\":11,\"pop_year\":2017,\"gdp_md\":907,\"gdp_year\":2007,\"economy\":\"7. Least developed region\",\"income_grp\":\"5. Low income\",\"fips_10\":\"WI\",\"iso_a2\":\"EH\",\"iso_a2_eh\":\"EH\",\"iso_a3\":\"ESH\",\"iso_a3_eh\":\"ESH\",\"iso_n3\":\"732\",\"iso_n3_eh\":\"732\",\"un_a3\":\"732\",\"wb_a2\":\"-99\",\"wb_a3\":\"-99\",\"woe_id\":23424990,\"woe_id_eh\":23424990,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"B28\",\"adm0_diff\":null,\"adm0_tlc\":\"B28\",\"adm0_a3_us\":\"SAH\",\"adm0_a3_fr\":\"MAR\",\"adm0_a3_ru\":\"SAH\",\"adm0_a3_es\":\"SAH\",\"adm0_a3_cn\":\"SAH\",\"adm0_a3_tw\":\"SAH\",\"adm0_a3_in\":\"MAR\",\"adm0_a3_np\":\"SAH\",\"adm0_a3_pk\":\"SAH\",\"adm0_a3_de\":\"SAH\",\"adm0_a3_gb\":\"SAH\",\"adm0_a3_br\":\"SAH\",\"adm0_a3_il\":\"SAH\",\"adm0_a3_ps\":\"MAR\",\"adm0_a3_sa\":\"MAR\",\"adm0_a3_eg\":\"SAH\",\"adm0_a3_ma\":\"MAR\",\"adm0_a3_pt\":\"SAH\",\"adm0_a3_ar\":\"SAH\",\"adm0_a3_jp\":\"SAH\",\"adm0_a3_ko\":\"SAH\",\"adm0_a3_vn\":\"SAH\",\"adm0_a3_tr\":\"MAR\",\"adm0_a3_id\":\"MAR\",\"adm0_a3_pl\":\"MAR\",\"adm0_a3_gr\":\"SAH\",\"adm0_a3_it\":\"SAH\",\"adm0_a3_nl\":\"MAR\",\"adm0_a3_se\":\"SAH\",\"adm0_a3_bd\":\"SAH\",\"adm0_a3_ua\":\"SAH\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Northern Africa\",\"region_wb\":\"Middle East & North Africa\",\"name_len\":9,\"long_len\":14,\"abbrev_len\":7,\"tiny\":-99,\"homepart\":1,\"min_zoom\":4.7,\"min_label\":6,\"max_label\":11,\"label_x\":-12.630304,\"label_y\":23.967592,\"ne_id\":1159321223,\"wikidataid\":\"Q6250\",\"name_ar\":\"الصحراء الغربية\",\"name_bn\":\"পশ্চিম সাহারা\",\"name_de\":\"Westsahara\",\"name_en\":\"Western Sahara\",\"name_es\":\"Sahara Occidental\",\"name_fa\":\"صحرای غربی\",\"name_fr\":\"Sahara occidental\",\"name_el\":\"Δυτική Σαχάρα\",\"name_he\":\"סהרה המערבית\",\"name_hi\":\"पश्चिमी सहारा\",\"name_hu\":\"Nyugat-Szahara\",\"name_id\":\"Sahara Barat\",\"name_it\":\"Sahara Occidentale\",\"name_ja\":\"西サハラ\",\"name_ko\":\"서사하라\",\"name_nl\":\"Westelijke Sahara\",\"name_pl\":\"Sahara Zachodnia\",\"name_pt\":\"Sara Ocidental\",\"name_ru\":\"Западная Сахара\",\"name_sv\":\"Västsahara\",\"name_tr\":\"Batı Sahra\",\"name_uk\":\"Західна Сахара\",\"name_ur\":\"مغربی صحارا\",\"name_vi\":\"Tây Sahara\",\"name_zh\":\"西撒哈拉\",\"name_zht\":\"西撒哈拉\",\"fclass_iso\":\"Admin-0 dependency\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 dependency\",\"fclass_us\":null,\"fclass_fr\":\"Unrecognized\",\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":\"Unrecognized\",\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":\"Unrecognized\",\"fclass_sa\":\"Unrecognized\",\"fclass_eg\":null,\"fclass_ma\":\"Unrecognized\",\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":\"Unrecognized\",\"fclass_id\":\"Unrecognized\",\"fclass_pl\":\"Unrecognized\",\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":\"Unrecognized\",\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"ESH.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-8.665589565454809,27.656425889592356],[-8.665124477564191,27.589479071558227],[-8.684399786809053,27.395744126896005],[-8.6872936670174,25.881056219988906],[-11.96941891117116,25.933352769468268],[-11.937224493853321,23.374594224536168],[-12.874221564169575,23.284832261645178],[-13.118754441774712,22.771220201096256],[-12.929101935263532,21.327070624267563],[-16.845193650773993,21.33332347257488],[-17.06342322434257,20.999752102130827],[-17.02042843267577,21.422310288981578],[-17.00296179856109,21.420734157796577],[-14.750954555713534,21.500600083903663],[-14.630832688851072,21.860939846274903],[-14.221167771857253,22.31016307218816],[-13.891110398809047,23.691009019459305],[-12.50096269372537,24.7701162785782],[-12.03075883630163,26.030866197203068],[-11.718219773800357,26.104091701760623],[-11.392554897497007,26.883423977154393],[-10.551262579785273,26.990807603456886],[-10.189424200877582,26.860944729107405],[-9.735343390328879,26.860944729107405],[-9.41303748212448,27.088476060488574],[-8.794883999049077,27.120696316022507],[-8.817828334986672,27.656425889592356],[-8.665589565454809,27.656425889592356]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":4,\"sovereignt\":\"Republic of the Congo\",\"sov_a3\":\"COG\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Republic of the Congo\",\"adm0_a3\":\"COG\",\"geou_dif\":0,\"geounit\":\"Republic of the Congo\",\"gu_a3\":\"COG\",\"su_dif\":0,\"subunit\":\"Republic of the Congo\",\"su_a3\":\"COG\",\"brk_diff\":0,\"name\":\"Congo\",\"name_long\":\"Republic of the Congo\",\"brk_a3\":\"COG\",\"brk_name\":\"Republic of the Congo\",\"brk_group\":null,\"abbrev\":\"Rep. Congo\",\"postal\":\"CG\",\"formal_en\":\"Republic of the Congo\",\"formal_fr\":null,\"name_ciawf\":\"Congo, Republic of the\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Congo, Rep.\",\"name_alt\":null,\"mapcolor7\":2,\"mapcolor8\":1,\"mapcolor9\":3,\"mapcolor13\":10,\"pop_est\":5380508,\"pop_rank\":13,\"pop_year\":2019,\"gdp_md\":12267,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"CF\",\"iso_a2\":\"CG\",\"iso_a2_eh\":\"CG\",\"iso_a3\":\"COG\",\"iso_a3_eh\":\"COG\",\"iso_n3\":\"178\",\"iso_n3_eh\":\"178\",\"un_a3\":\"178\",\"wb_a2\":\"CG\",\"wb_a3\":\"COG\",\"woe_id\":23424779,\"woe_id_eh\":23424779,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"COG\",\"adm0_diff\":null,\"adm0_tlc\":\"COG\",\"adm0_a3_us\":\"COG\",\"adm0_a3_fr\":\"COG\",\"adm0_a3_ru\":\"COG\",\"adm0_a3_es\":\"COG\",\"adm0_a3_cn\":\"COG\",\"adm0_a3_tw\":\"COG\",\"adm0_a3_in\":\"COG\",\"adm0_a3_np\":\"COG\",\"adm0_a3_pk\":\"COG\",\"adm0_a3_de\":\"COG\",\"adm0_a3_gb\":\"COG\",\"adm0_a3_br\":\"COG\",\"adm0_a3_il\":\"COG\",\"adm0_a3_ps\":\"COG\",\"adm0_a3_sa\":\"COG\",\"adm0_a3_eg\":\"COG\",\"adm0_a3_ma\":\"COG\",\"adm0_a3_pt\":\"COG\",\"adm0_a3_ar\":\"COG\",\"adm0_a3_jp\":\"COG\",\"adm0_a3_ko\":\"COG\",\"adm0_a3_vn\":\"COG\",\"adm0_a3_tr\":\"COG\",\"adm0_a3_id\":\"COG\",\"adm0_a3_pl\":\"COG\",\"adm0_a3_gr\":\"COG\",\"adm0_a3_it\":\"COG\",\"adm0_a3_nl\":\"COG\",\"adm0_a3_se\":\"COG\",\"adm0_a3_bd\":\"COG\",\"adm0_a3_ua\":\"COG\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Middle Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":5,\"long_len\":21,\"abbrev_len\":10,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":15.9005,\"label_y\":0.142331,\"ne_id\":1159320515,\"wikidataid\":\"Q971\",\"name_ar\":\"جمهورية الكونغو\",\"name_bn\":\"কঙ্গো প্রজাতন্ত্র\",\"name_de\":\"Republik Kongo\",\"name_en\":\"Republic of the Congo\",\"name_es\":\"República del Congo\",\"name_fa\":\"جمهوری کنگو\",\"name_fr\":\"République du Congo\",\"name_el\":\"Δημοκρατία του Κονγκό\",\"name_he\":\"הרפובליקה של קונגו\",\"name_hi\":\"कांगो गणराज्य\",\"name_hu\":\"Kongói Köztársaság\",\"name_id\":\"Republik Kongo\",\"name_it\":\"Repubblica del Congo\",\"name_ja\":\"コンゴ共和国\",\"name_ko\":\"콩고 공화국\",\"name_nl\":\"Congo-Brazzaville\",\"name_pl\":\"Kongo\",\"name_pt\":\"República do Congo\",\"name_ru\":\"Республика Конго\",\"name_sv\":\"Kongo-Brazzaville\",\"name_tr\":\"Kongo Cumhuriyeti\",\"name_uk\":\"Республіка Конго\",\"name_ur\":\"جمہوریہ کانگو\",\"name_vi\":\"Cộng hòa Congo\",\"name_zh\":\"刚果共和国\",\"name_zht\":\"剛果共和國\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"COG.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[18.45306521980993,3.504385891123349],[18.393792351971143,2.90044342692822],[18.094275750407434,2.365721543788055],[17.898835483479587,1.741831976728278],[17.774191928791566,0.855658677571085],[17.826540154703252,0.288923244626105],[17.66355268725468,-0.058083998213817],[17.638644646889986,-0.424831638189247],[17.523716261472856,-0.743830254726987],[16.865306837642123,-1.225816338713287],[16.407091912510054,-1.740927015798682],[15.972803175529151,-2.712392266453612],[16.0062895036543,-3.535132744972529],[15.753540073314753,-3.855164890156097],[15.170991652088444,-4.343507175314301],[14.582603794013181,-4.97023894615014],[14.209034864975223,-4.793092136253598],[14.144956088933299,-4.510008640158716],[13.600234816144678,-4.50013844159097],[13.258240187237048,-4.882957452009165],[12.995517205465177,-4.781103203961884],[12.620759718484493,-4.438023369976136],[12.318607618873926,-4.606230157086188],[11.91496300624209,-5.037986748884791],[11.093772820691925,-3.978826592630547],[11.855121697648116,-3.426870619321051],[11.478038771214303,-2.765618991714241],[11.820963575903193,-2.514161472181982],[12.495702752338161,-2.391688327650243],[12.575284458067642,-1.948511244315135],[13.109618767965628,-2.428740329603514],[13.99240726080771,-2.4708049454891],[14.299210239324566,-1.998275648612214],[14.425455763413595,-1.333406670744971],[14.316418491277744,-0.552627455247048],[13.843320753645656,0.038757635901149],[14.276265903386957,1.196929836426619],[14.026668735417218,1.395677395021153],[13.282631463278818,1.31418366129688],[13.003113641012078,1.83089630778332],[13.075822381246752,2.267097072759015],[14.33781253424658,2.227874660649491],[15.146341993885244,1.964014797367184],[15.940918816805066,1.727672634280296],[16.012852410555354,2.267639675298085],[16.537058139724138,3.198254706226279],[17.133042433346304,3.728196519379452],[17.809900343505262,3.56019643799857],[18.45306521980993,3.504385891123349]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":2,\"sovereignt\":\"Democratic Republic of the Congo\",\"sov_a3\":\"COD\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Democratic Republic of the Congo\",\"adm0_a3\":\"COD\",\"geou_dif\":0,\"geounit\":\"Democratic Republic of the Congo\",\"gu_a3\":\"COD\",\"su_dif\":0,\"subunit\":\"Democratic Republic of the Congo\",\"su_a3\":\"COD\",\"brk_diff\":0,\"name\":\"Dem. Rep. Congo\",\"name_long\":\"Democratic Republic of the Congo\",\"brk_a3\":\"COD\",\"brk_name\":\"Democratic Republic of the Congo\",\"brk_group\":null,\"abbrev\":\"D.R.C.\",\"postal\":\"DRC\",\"formal_en\":\"Democratic Republic of the Congo\",\"formal_fr\":null,\"name_ciawf\":\"Congo, Democratic Republic of the\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Congo, Dem. Rep.\",\"name_alt\":null,\"mapcolor7\":4,\"mapcolor8\":4,\"mapcolor9\":4,\"mapcolor13\":7,\"pop_est\":86790567,\"pop_rank\":16,\"pop_year\":2019,\"gdp_md\":50400,\"gdp_year\":2019,\"economy\":\"7. Least developed region\",\"income_grp\":\"5. Low income\",\"fips_10\":\"CG\",\"iso_a2\":\"CD\",\"iso_a2_eh\":\"CD\",\"iso_a3\":\"COD\",\"iso_a3_eh\":\"COD\",\"iso_n3\":\"180\",\"iso_n3_eh\":\"180\",\"un_a3\":\"180\",\"wb_a2\":\"ZR\",\"wb_a3\":\"ZAR\",\"woe_id\":23424780,\"woe_id_eh\":23424780,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"COD\",\"adm0_diff\":null,\"adm0_tlc\":\"COD\",\"adm0_a3_us\":\"COD\",\"adm0_a3_fr\":\"COD\",\"adm0_a3_ru\":\"COD\",\"adm0_a3_es\":\"COD\",\"adm0_a3_cn\":\"COD\",\"adm0_a3_tw\":\"COD\",\"adm0_a3_in\":\"COD\",\"adm0_a3_np\":\"COD\",\"adm0_a3_pk\":\"COD\",\"adm0_a3_de\":\"COD\",\"adm0_a3_gb\":\"COD\",\"adm0_a3_br\":\"COD\",\"adm0_a3_il\":\"COD\",\"adm0_a3_ps\":\"COD\",\"adm0_a3_sa\":\"COD\",\"adm0_a3_eg\":\"COD\",\"adm0_a3_ma\":\"COD\",\"adm0_a3_pt\":\"COD\",\"adm0_a3_ar\":\"COD\",\"adm0_a3_jp\":\"COD\",\"adm0_a3_ko\":\"COD\",\"adm0_a3_vn\":\"COD\",\"adm0_a3_tr\":\"COD\",\"adm0_a3_id\":\"COD\",\"adm0_a3_pl\":\"COD\",\"adm0_a3_gr\":\"COD\",\"adm0_a3_it\":\"COD\",\"adm0_a3_nl\":\"COD\",\"adm0_a3_se\":\"COD\",\"adm0_a3_bd\":\"COD\",\"adm0_a3_ua\":\"COD\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Middle Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":15,\"long_len\":32,\"abbrev_len\":6,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":2,\"max_label\":7,\"label_x\":23.458829,\"label_y\":-1.858167,\"ne_id\":1159320513,\"wikidataid\":\"Q974\",\"name_ar\":\"جمهورية الكونغو الديمقراطية\",\"name_bn\":\"গণতান্ত্রিক কঙ্গো প্রজাতন্ত্র\",\"name_de\":\"Demokratische Republik Kongo\",\"name_en\":\"Democratic Republic of the Congo\",\"name_es\":\"República Democrática del Congo\",\"name_fa\":\"جمهوری دموکراتیک کنگو\",\"name_fr\":\"République démocratique du Congo\",\"name_el\":\"Λαϊκή Δημοκρατία του Κονγκό\",\"name_he\":\"הרפובליקה הדמוקרטית של קונגו\",\"name_hi\":\"कांगो लोकतान्त्रिक गणराज्य\",\"name_hu\":\"Kongói Demokratikus Köztársaság\",\"name_id\":\"Republik Demokratik Kongo\",\"name_it\":\"Repubblica Democratica del Congo\",\"name_ja\":\"コンゴ民主共和国\",\"name_ko\":\"콩고 민주 공화국\",\"name_nl\":\"Congo-Kinshasa\",\"name_pl\":\"Demokratyczna Republika Konga\",\"name_pt\":\"República Democrática do Congo\",\"name_ru\":\"Демократическая Республика Конго\",\"name_sv\":\"Kongo-Kinshasa\",\"name_tr\":\"Demokratik Kongo Cumhuriyeti\",\"name_uk\":\"Демократична Республіка Конго\",\"name_ur\":\"جمہوری جمہوریہ کانگو\",\"name_vi\":\"Cộng hòa Dân chủ Congo\",\"name_zh\":\"刚果民主共和国\",\"name_zht\":\"剛果民主共和國\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"COD.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[29.339997592900346,-4.499983412294092],[29.519986606572928,-5.419978936386315],[29.419992710088167,-5.939998874539434],[29.620032179490014,-6.520015150583426],[30.199996779101696,-7.079980970898163],[30.74001549655179,-8.340007419470915],[30.740009731422095,-8.34000593035372],[30.346086053190817,-8.238256524288218],[29.00291222506047,-8.407031752153472],[28.734866570762502,-8.526559340044578],[28.449871046672826,-9.164918308146085],[28.67368167492893,-9.605924981324932],[28.49606977714177,-10.789883721564046],[28.372253045370428,-11.793646742401393],[28.642417433392353,-11.971568698782315],[29.34154788586909,-12.360743910372413],[29.61600141777123,-12.178894545137311],[29.69961388521949,-13.257226657771831],[28.934285922976837,-13.248958428605135],[28.523561639121027,-12.698604424696683],[28.155108676879987,-12.272480564017897],[27.388798862423783,-12.132747491100666],[27.164419793412463,-11.608748467661075],[26.553087599399618,-11.924439792532127],[25.752309604604733,-11.784965101776358],[25.418118116973204,-11.330935967659961],[24.78316979340295,-11.238693536018964],[24.31451622894795,-11.26282642989927],[24.25715538910399,-10.951992689663657],[23.912215203555718,-10.926826267137514],[23.45679080576744,-10.867863457892483],[22.83734541188474,-11.01762175867433],[22.402798292742375,-10.993075453335692],[22.155268182064308,-11.084801120653772],[22.208753289486395,-9.894796237836509],[21.875181919042348,-9.523707777548566],[21.8018013851879,-8.90870655684298],[21.949130893652043,-8.305900974158277],[21.74645592620331,-7.920084730667149],[21.7281107927397,-7.290872491081302],[20.5147481625265,-7.299605808138629],[20.6018229509383,-6.939317722199682],[20.091621534920648,-6.943090101756994],[20.037723016040218,-7.116361179231646],[19.41750247567316,-7.155428562044299],[19.16661339689611,-7.738183688999754],[19.01675174324967,-7.988245944860132],[18.464175652752687,-7.847014255406443],[18.13422163256905,-7.987677504104923],[17.472970004962235,-8.0685511206417],[17.08999596524717,-7.545688978712526],[16.8601908708452,-7.222297865429987],[16.573179965896145,-6.622644545115087],[16.326528354567046,-5.877470391466268],[13.375597364971895,-5.864241224799549],[13.024869419006961,-5.984388929878158],[12.735171339578699,-5.965682061388499],[12.32243167486351,-6.10009246177966],[12.182336866920252,-5.789930515163839],[12.436688266660868,-5.684303887559246],[12.468004184629736,-5.248361504745005],[12.63161176926579,-4.991271254092936],[12.995517205465177,-4.781103203961884],[13.258240187237048,-4.882957452009165],[13.600234816144678,-4.50013844159097],[14.144956088933299,-4.510008640158716],[14.209034864975223,-4.793092136253598],[14.582603794013181,-4.97023894615014],[15.170991652088444,-4.343507175314301],[15.753540073314753,-3.855164890156097],[16.0062895036543,-3.535132744972529],[15.972803175529151,-2.712392266453612],[16.407091912510054,-1.740927015798682],[16.865306837642123,-1.225816338713287],[17.523716261472856,-0.743830254726987],[17.638644646889986,-0.424831638189247],[17.66355268725468,-0.058083998213817],[17.826540154703252,0.288923244626105],[17.774191928791566,0.855658677571085],[17.898835483479587,1.741831976728278],[18.094275750407434,2.365721543788055],[18.393792351971143,2.90044342692822],[18.45306521980993,3.504385891123349],[18.54298221199778,4.201785183118318],[18.93231245288476,4.709506130385975],[19.46778364429315,5.03152781821278],[20.290679152108936,4.691677761245288],[20.927591180106276,4.322785549329737],[21.659122755630023,4.22434194581372],[22.405123732195538,4.029160061047321],[22.70412356943629,4.633050848810157],[22.841479526468106,4.710126247573484],[23.29721398285014,4.609693101414223],[24.410531040146253,5.10878408448913],[24.805028924262416,4.89724660890235],[25.12883344900328,4.92724477784779],[25.278798455514305,5.170408229997192],[25.650455356557472,5.256087754737123],[26.402760857862543,5.150874538590871],[27.04406538260471,5.127852688004836],[27.37422610851749,5.233944403500061],[27.97997724784281,4.408413397637375],[28.428993768026913,4.287154649264494],[28.696677687298802,4.455077215996937],[29.1590784034465,4.389267279473231],[29.71599531425602,4.600804755060153],[29.953500197069474,4.173699042167684],[30.833852421715427,3.509171604222463],[30.83385989759381,3.509165961110341],[30.77334679538004,2.339883327642127],[31.174149204235817,2.204465236821264],[30.85267011894806,1.849396470543809],[30.46850752129029,1.583805446779706],[30.086153598762706,1.062312730306289],[29.875778842902434,0.597379868976361],[29.819503208136638,-0.205310153813372],[29.58783776217217,-0.587405694179381],[29.579466180140884,-1.341313164885626],[29.291886834436614,-1.620055840667987],[29.254834832483343,-2.215109958508911],[29.117478875451553,-2.292211195488385],[29.024926385216787,-2.839257907730158],[29.276383904749053,-3.293907159034063],[29.339997592900346,-4.499983412294092]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Namibia\",\"sov_a3\":\"NAM\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Namibia\",\"adm0_a3\":\"NAM\",\"geou_dif\":0,\"geounit\":\"Namibia\",\"gu_a3\":\"NAM\",\"su_dif\":0,\"subunit\":\"Namibia\",\"su_a3\":\"NAM\",\"brk_diff\":0,\"name\":\"Namibia\",\"name_long\":\"Namibia\",\"brk_a3\":\"NAM\",\"brk_name\":\"Namibia\",\"brk_group\":null,\"abbrev\":\"Nam.\",\"postal\":\"NA\",\"formal_en\":\"Republic of Namibia\",\"formal_fr\":null,\"name_ciawf\":\"Namibia\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Namibia\",\"name_alt\":null,\"mapcolor7\":4,\"mapcolor8\":1,\"mapcolor9\":1,\"mapcolor13\":7,\"pop_est\":2494530,\"pop_rank\":12,\"pop_year\":2019,\"gdp_md\":12366,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"WA\",\"iso_a2\":\"NA\",\"iso_a2_eh\":\"NA\",\"iso_a3\":\"NAM\",\"iso_a3_eh\":\"NAM\",\"iso_n3\":\"516\",\"iso_n3_eh\":\"516\",\"un_a3\":\"516\",\"wb_a2\":\"NA\",\"wb_a3\":\"NAM\",\"woe_id\":23424987,\"woe_id_eh\":23424987,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"NAM\",\"adm0_diff\":null,\"adm0_tlc\":\"NAM\",\"adm0_a3_us\":\"NAM\",\"adm0_a3_fr\":\"NAM\",\"adm0_a3_ru\":\"NAM\",\"adm0_a3_es\":\"NAM\",\"adm0_a3_cn\":\"NAM\",\"adm0_a3_tw\":\"NAM\",\"adm0_a3_in\":\"NAM\",\"adm0_a3_np\":\"NAM\",\"adm0_a3_pk\":\"NAM\",\"adm0_a3_de\":\"NAM\",\"adm0_a3_gb\":\"NAM\",\"adm0_a3_br\":\"NAM\",\"adm0_a3_il\":\"NAM\",\"adm0_a3_ps\":\"NAM\",\"adm0_a3_sa\":\"NAM\",\"adm0_a3_eg\":\"NAM\",\"adm0_a3_ma\":\"NAM\",\"adm0_a3_pt\":\"NAM\",\"adm0_a3_ar\":\"NAM\",\"adm0_a3_jp\":\"NAM\",\"adm0_a3_ko\":\"NAM\",\"adm0_a3_vn\":\"NAM\",\"adm0_a3_tr\":\"NAM\",\"adm0_a3_id\":\"NAM\",\"adm0_a3_pl\":\"NAM\",\"adm0_a3_gr\":\"NAM\",\"adm0_a3_it\":\"NAM\",\"adm0_a3_nl\":\"NAM\",\"adm0_a3_se\":\"NAM\",\"adm0_a3_bd\":\"NAM\",\"adm0_a3_ua\":\"NAM\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Southern Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":7,\"long_len\":7,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":7.5,\"label_x\":17.108166,\"label_y\":-20.575298,\"ne_id\":1159321085,\"wikidataid\":\"Q1030\",\"name_ar\":\"ناميبيا\",\"name_bn\":\"নামিবিয়া\",\"name_de\":\"Namibia\",\"name_en\":\"Namibia\",\"name_es\":\"Namibia\",\"name_fa\":\"نامیبیا\",\"name_fr\":\"Namibie\",\"name_el\":\"Ναμίμπια\",\"name_he\":\"נמיביה\",\"name_hi\":\"नामीबिया\",\"name_hu\":\"Namíbia\",\"name_id\":\"Namibia\",\"name_it\":\"Namibia\",\"name_ja\":\"ナミビア\",\"name_ko\":\"나미비아\",\"name_nl\":\"Namibië\",\"name_pl\":\"Namibia\",\"name_pt\":\"Namíbia\",\"name_ru\":\"Намибия\",\"name_sv\":\"Namibia\",\"name_tr\":\"Namibya\",\"name_uk\":\"Намібія\",\"name_ur\":\"نمیبیا\",\"name_vi\":\"Namibia\",\"name_zh\":\"纳米比亚\",\"name_zht\":\"納米比亞\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"NAM.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[19.895767856534434,-24.76779021576059],[19.894734327888614,-28.461104831660776],[19.002127312911085,-28.972443129188868],[18.464899122804752,-29.04546192801728],[17.83615197110953,-28.85637786226132],[17.387497185951503,-28.78351409272978],[17.218928663815404,-28.35594329194681],[16.824017368240902,-28.08216155366447],[16.344976840895242,-28.5767050106977],[15.601818068105816,-27.821247247022804],[15.21047244635946,-27.090955905874047],[14.989710727608553,-26.117371921495156],[14.743214145576331,-25.39292001719538],[14.408144158595833,-23.853014011329847],[14.385716586981149,-22.65665292734069],[14.257714064194175,-22.111208184499958],[13.86864220546866,-21.699036960539978],[13.35249799973744,-20.872834161057504],[12.826845330464494,-19.673165785401665],[12.608564080463621,-19.0453488094877],[11.794918654028066,-18.069129327061916],[11.734198846085121,-17.301889336824473],[12.215461460019355,-17.111668389558083],[12.814081251688407,-16.94134286872407],[13.462362094789967,-16.971211846588773],[14.05850141770901,-17.423380629142663],[14.209706658595024,-17.35310068122572],[18.263309360434164,-17.309950860262006],[18.956186964603603,-17.789094740472258],[21.377176141045567,-17.930636488519696],[23.215048455506064,-17.523116143465984],[24.033861525170778,-17.295843194246324],[24.682349074001507,-17.353410739819473],[25.07695031098226,-17.57882333747662],[25.08444339366457,-17.661815687737374],[24.520705193792537,-17.887124932529936],[24.217364536239213,-17.88934701911849],[23.579005568137717,-18.28126108162006],[23.1968583513393,-17.869038181227786],[21.655040317478978,-18.219146010005225],[20.910641310314535,-18.252218926672022],[20.88113406747587,-21.814327080983148],[19.89545779794068,-21.84915699634787],[19.895767856534434,-24.76779021576059]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":2,\"sovereignt\":\"South Africa\",\"sov_a3\":\"ZAF\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"South Africa\",\"adm0_a3\":\"ZAF\",\"geou_dif\":0,\"geounit\":\"South Africa\",\"gu_a3\":\"ZAF\",\"su_dif\":0,\"subunit\":\"South Africa\",\"su_a3\":\"ZAF\",\"brk_diff\":0,\"name\":\"South Africa\",\"name_long\":\"South Africa\",\"brk_a3\":\"ZAF\",\"brk_name\":\"South Africa\",\"brk_group\":null,\"abbrev\":\"S.Af.\",\"postal\":\"ZA\",\"formal_en\":\"Republic of South Africa\",\"formal_fr\":null,\"name_ciawf\":\"South Africa\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"South Africa\",\"name_alt\":null,\"mapcolor7\":2,\"mapcolor8\":3,\"mapcolor9\":4,\"mapcolor13\":2,\"pop_est\":58558270,\"pop_rank\":16,\"pop_year\":2019,\"gdp_md\":351431,\"gdp_year\":2019,\"economy\":\"5. Emerging region: G20\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"SF\",\"iso_a2\":\"ZA\",\"iso_a2_eh\":\"ZA\",\"iso_a3\":\"ZAF\",\"iso_a3_eh\":\"ZAF\",\"iso_n3\":\"710\",\"iso_n3_eh\":\"710\",\"un_a3\":\"710\",\"wb_a2\":\"ZA\",\"wb_a3\":\"ZAF\",\"woe_id\":23424942,\"woe_id_eh\":23424942,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"ZAF\",\"adm0_diff\":null,\"adm0_tlc\":\"ZAF\",\"adm0_a3_us\":\"ZAF\",\"adm0_a3_fr\":\"ZAF\",\"adm0_a3_ru\":\"ZAF\",\"adm0_a3_es\":\"ZAF\",\"adm0_a3_cn\":\"ZAF\",\"adm0_a3_tw\":\"ZAF\",\"adm0_a3_in\":\"ZAF\",\"adm0_a3_np\":\"ZAF\",\"adm0_a3_pk\":\"ZAF\",\"adm0_a3_de\":\"ZAF\",\"adm0_a3_gb\":\"ZAF\",\"adm0_a3_br\":\"ZAF\",\"adm0_a3_il\":\"ZAF\",\"adm0_a3_ps\":\"ZAF\",\"adm0_a3_sa\":\"ZAF\",\"adm0_a3_eg\":\"ZAF\",\"adm0_a3_ma\":\"ZAF\",\"adm0_a3_pt\":\"ZAF\",\"adm0_a3_ar\":\"ZAF\",\"adm0_a3_jp\":\"ZAF\",\"adm0_a3_ko\":\"ZAF\",\"adm0_a3_vn\":\"ZAF\",\"adm0_a3_tr\":\"ZAF\",\"adm0_a3_id\":\"ZAF\",\"adm0_a3_pl\":\"ZAF\",\"adm0_a3_gr\":\"ZAF\",\"adm0_a3_it\":\"ZAF\",\"adm0_a3_nl\":\"ZAF\",\"adm0_a3_se\":\"ZAF\",\"adm0_a3_bd\":\"ZAF\",\"adm0_a3_ua\":\"ZAF\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Southern Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":12,\"long_len\":12,\"abbrev_len\":5,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":1.7,\"max_label\":6.7,\"label_x\":23.665734,\"label_y\":-29.708776,\"ne_id\":1159321431,\"wikidataid\":\"Q258\",\"name_ar\":\"جنوب أفريقيا\",\"name_bn\":\"দক্ষিণ আফ্রিকা\",\"name_de\":\"Südafrika\",\"name_en\":\"South Africa\",\"name_es\":\"Sudáfrica\",\"name_fa\":\"آفریقای جنوبی\",\"name_fr\":\"Afrique du Sud\",\"name_el\":\"Νότια Αφρική\",\"name_he\":\"דרום אפריקה\",\"name_hi\":\"दक्षिण अफ़्रीका\",\"name_hu\":\"Dél-afrikai Köztársaság\",\"name_id\":\"Afrika Selatan\",\"name_it\":\"Sudafrica\",\"name_ja\":\"南アフリカ共和国\",\"name_ko\":\"남아프리카 공화국\",\"name_nl\":\"Zuid-Afrika\",\"name_pl\":\"Południowa Afryka\",\"name_pt\":\"África do Sul\",\"name_ru\":\"ЮАР\",\"name_sv\":\"Sydafrika\",\"name_tr\":\"Güney Afrika Cumhuriyeti\",\"name_uk\":\"Південно-Африканська Республіка\",\"name_ur\":\"جنوبی افریقا\",\"name_vi\":\"Cộng hòa Nam Phi\",\"name_zh\":\"南非\",\"name_zht\":\"南非\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"ZAF.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[16.344976840895242,-28.5767050106977],[16.824017368240902,-28.08216155366447],[17.218928663815404,-28.35594329194681],[17.387497185951503,-28.78351409272978],[17.83615197110953,-28.85637786226132],[18.464899122804752,-29.04546192801728],[19.002127312911085,-28.972443129188868],[19.894734327888614,-28.461104831660776],[19.895767856534434,-24.76779021576059],[20.16572553882719,-24.91796192800077],[20.75860924651184,-25.86813648855145],[20.66647016773544,-26.477453301704923],[20.88960900237174,-26.828542982695915],[21.605896030369394,-26.726533705351756],[22.105968865657868,-26.280256036079138],[22.57953169118059,-25.979447523708146],[22.8242712745149,-25.50045867279477],[23.312096795350186,-25.26868987396572],[23.73356977712271,-25.390129489851617],[24.211266717228796,-25.670215752873574],[25.025170525825786,-25.7196700985769],[25.66466637543772,-25.486816094669713],[25.76584882986521,-25.17484547292368],[25.94165205252216,-24.69637338633322],[26.4857532081233,-24.616326592713104],[26.786406691197413,-24.240690606383485],[27.119409620886245,-23.574323011979775],[28.01723595552525,-22.82775359465908],[29.43218834810904,-22.091312758067588],[29.839036899542972,-22.102216485281176],[30.322883335091774,-22.271611830333935],[30.65986535006709,-22.151567478119915],[31.19140913262129,-22.2515096981724],[31.670397983534656,-23.658969008073864],[31.930588820124253,-24.36941659922254],[31.75240848158188,-25.484283949487413],[31.83777794772806,-25.84333180105135],[31.333157586397903,-25.66019052500895],[31.04407962415715,-25.731452325139443],[30.949666782359913,-26.02264902110415],[30.67660851412964,-26.398078301704608],[30.68596194837448,-26.743845310169533],[31.28277306491333,-27.285879408478998],[31.86806033705108,-27.177927341421277],[32.07166548028107,-26.73382008230491],[32.830120477028885,-26.742191664336197],[32.580264926897684,-27.470157566031816],[32.46213260267845,-28.301011244420557],[32.20338870619304,-28.75240488049007],[31.521001417778876,-29.257386976846256],[31.325561150851,-29.401977634398914],[30.901762729625347,-29.909956963828037],[30.62281334811382,-30.42377573010613],[30.05571618014278,-31.140269463832958],[28.92555260591954,-32.1720411109725],[28.2197558936771,-32.771952813448856],[27.464608188595975,-33.2269637997788],[26.419452345492825,-33.61495045342619],[25.90966434093349,-33.6670402971764],[25.780628289500697,-33.94464609144834],[25.172861769315972,-33.796851495093584],[24.677853224392123,-33.98717579522455],[23.594043409934642,-33.794474379208154],[22.988188917744736,-33.91643075941698],[22.574157342222236,-33.86408253350531],[21.542799106541025,-34.258838799782936],[20.689052768647002,-34.417175388325234],[20.071261020597632,-34.79513681410799],[19.61640506356457,-34.81916635512371],[19.193278435958717,-34.46259897230979],[18.85531456876987,-34.444305515278465],[18.42464318204938,-33.99787281670897],[18.377410922934615,-34.13652068454807],[18.24449913907992,-33.86775156019803],[18.250080193767445,-33.28143075941444],[17.92519046394844,-32.61129078545343],[18.247909783611192,-32.42913136162457],[18.22176150887148,-31.66163298922567],[17.56691775886887,-30.725721123987547],[17.064416131262703,-29.878641045859162],[17.062917514726223,-29.875953871379984],[16.344976840895242,-28.5767050106977]],[[28.978262566857243,-28.95559661226171],[28.541700066855498,-28.64750172293757],[28.074338413207784,-28.851468601193588],[27.532511020627478,-29.24271087007536],[26.999261915807637,-29.875953871379984],[27.749397006956485,-30.645105889612225],[28.107204624145425,-30.54573211031495],[28.29106937023991,-30.2262167294543],[28.84839969250774,-30.070050551068256],[29.018415154748027,-29.74376555757737],[29.32516645683259,-29.257386976846256],[28.978262566857243,-28.95559661226171]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Libya\",\"sov_a3\":\"LBY\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Libya\",\"adm0_a3\":\"LBY\",\"geou_dif\":0,\"geounit\":\"Libya\",\"gu_a3\":\"LBY\",\"su_dif\":0,\"subunit\":\"Libya\",\"su_a3\":\"LBY\",\"brk_diff\":0,\"name\":\"Libya\",\"name_long\":\"Libya\",\"brk_a3\":\"LBY\",\"brk_name\":\"Libya\",\"brk_group\":null,\"abbrev\":\"Libya\",\"postal\":\"LY\",\"formal_en\":\"Libya\",\"formal_fr\":null,\"name_ciawf\":\"Libya\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Libya\",\"name_alt\":null,\"mapcolor7\":1,\"mapcolor8\":2,\"mapcolor9\":2,\"mapcolor13\":11,\"pop_est\":6777452,\"pop_rank\":13,\"pop_year\":2019,\"gdp_md\":52091,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"LY\",\"iso_a2\":\"LY\",\"iso_a2_eh\":\"LY\",\"iso_a3\":\"LBY\",\"iso_a3_eh\":\"LBY\",\"iso_n3\":\"434\",\"iso_n3_eh\":\"434\",\"un_a3\":\"434\",\"wb_a2\":\"LY\",\"wb_a3\":\"LBY\",\"woe_id\":23424882,\"woe_id_eh\":23424882,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"LBY\",\"adm0_diff\":null,\"adm0_tlc\":\"LBY\",\"adm0_a3_us\":\"LBY\",\"adm0_a3_fr\":\"LBY\",\"adm0_a3_ru\":\"LBY\",\"adm0_a3_es\":\"LBY\",\"adm0_a3_cn\":\"LBY\",\"adm0_a3_tw\":\"LBY\",\"adm0_a3_in\":\"LBY\",\"adm0_a3_np\":\"LBY\",\"adm0_a3_pk\":\"LBY\",\"adm0_a3_de\":\"LBY\",\"adm0_a3_gb\":\"LBY\",\"adm0_a3_br\":\"LBY\",\"adm0_a3_il\":\"LBY\",\"adm0_a3_ps\":\"LBY\",\"adm0_a3_sa\":\"LBY\",\"adm0_a3_eg\":\"LBY\",\"adm0_a3_ma\":\"LBY\",\"adm0_a3_pt\":\"LBY\",\"adm0_a3_ar\":\"LBY\",\"adm0_a3_jp\":\"LBY\",\"adm0_a3_ko\":\"LBY\",\"adm0_a3_vn\":\"LBY\",\"adm0_a3_tr\":\"LBY\",\"adm0_a3_id\":\"LBY\",\"adm0_a3_pl\":\"LBY\",\"adm0_a3_gr\":\"LBY\",\"adm0_a3_it\":\"LBY\",\"adm0_a3_nl\":\"LBY\",\"adm0_a3_se\":\"LBY\",\"adm0_a3_bd\":\"LBY\",\"adm0_a3_ua\":\"LBY\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Northern Africa\",\"region_wb\":\"Middle East & North Africa\",\"name_len\":5,\"long_len\":5,\"abbrev_len\":5,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":18.011015,\"label_y\":26.638944,\"ne_id\":1159321017,\"wikidataid\":\"Q1016\",\"name_ar\":\"ليبيا\",\"name_bn\":\"লিবিয়া\",\"name_de\":\"Libyen\",\"name_en\":\"Libya\",\"name_es\":\"Libia\",\"name_fa\":\"لیبی\",\"name_fr\":\"Libye\",\"name_el\":\"Λιβύη\",\"name_he\":\"לוב\",\"name_hi\":\"लीबिया\",\"name_hu\":\"Líbia\",\"name_id\":\"Libya\",\"name_it\":\"Libia\",\"name_ja\":\"リビア\",\"name_ko\":\"리비아\",\"name_nl\":\"Libië\",\"name_pl\":\"Libia\",\"name_pt\":\"Líbia\",\"name_ru\":\"Ливия\",\"name_sv\":\"Libyen\",\"name_tr\":\"Libya\",\"name_uk\":\"Лівія\",\"name_ur\":\"لیبیا\",\"name_vi\":\"Libya\",\"name_zh\":\"利比亚\",\"name_zht\":\"利比亞\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"LBY.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[25,22],[25.000000000000114,20.00304],[23.850000000000136,20],[23.83766000000014,19.580470000000105],[19.84926,21.49509],[15.86085,23.40972],[14.8513,22.862950000000126],[14.143870883855243,22.491288967371133],[13.581424594790462,23.04050608976928],[11.999505649471613,23.47166840259645],[11.560669386449005,24.097909247325518],[10.771363559622927,24.56253205006175],[10.303846876678362,24.379313259370917],[9.94826134607797,24.936953640232517],[9.910692579801776,25.365454616796796],[9.319410841518163,26.094324856057455],[9.716285841519664,26.512206325785655],[9.629056023811074,27.14095347748092],[9.756128370816782,27.688258571884205],[9.683884718472768,28.1441738957792],[9.859997999723447,28.959989732371014],[9.805634392952356,29.424638373323376],[9.482139926805274,30.307556057246188],[9.970017124072854,30.53932485607524],[10.056575148161699,30.961831366493527],[9.950225050505082,31.376069647745258],[10.636901482799487,31.761420803345757],[10.944789666394456,32.081814683555365],[11.432253452203696,32.368903103152874],[11.488787469131012,33.13699575452324],[12.66331,32.79278],[13.08326,32.87882],[13.91868,32.71196],[15.24563,32.26508],[15.71394,31.37626],[16.61162,31.18218],[18.02109,30.76357],[19.08641,30.26639],[19.57404,30.52582],[20.05335,30.98576],[19.82033,31.751790000000142],[20.13397,32.2382],[20.85452,32.7068],[21.54298,32.8432],[22.89576,32.63858],[23.2368,32.19149],[23.609130000000107,32.18726],[23.9275,32.01667],[24.92114,31.89936],[25.16482,31.56915],[24.80287,31.08929],[24.95762,30.6616],[24.70007,30.04419],[25,29.23865452953346],[25,25.682499996361],[25,22]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Tunisia\",\"sov_a3\":\"TUN\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Tunisia\",\"adm0_a3\":\"TUN\",\"geou_dif\":0,\"geounit\":\"Tunisia\",\"gu_a3\":\"TUN\",\"su_dif\":0,\"subunit\":\"Tunisia\",\"su_a3\":\"TUN\",\"brk_diff\":0,\"name\":\"Tunisia\",\"name_long\":\"Tunisia\",\"brk_a3\":\"TUN\",\"brk_name\":\"Tunisia\",\"brk_group\":null,\"abbrev\":\"Tun.\",\"postal\":\"TN\",\"formal_en\":\"Republic of Tunisia\",\"formal_fr\":null,\"name_ciawf\":\"Tunisia\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Tunisia\",\"name_alt\":null,\"mapcolor7\":4,\"mapcolor8\":3,\"mapcolor9\":3,\"mapcolor13\":2,\"pop_est\":11694719,\"pop_rank\":14,\"pop_year\":2019,\"gdp_md\":38796,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"TS\",\"iso_a2\":\"TN\",\"iso_a2_eh\":\"TN\",\"iso_a3\":\"TUN\",\"iso_a3_eh\":\"TUN\",\"iso_n3\":\"788\",\"iso_n3_eh\":\"788\",\"un_a3\":\"788\",\"wb_a2\":\"TN\",\"wb_a3\":\"TUN\",\"woe_id\":23424967,\"woe_id_eh\":23424967,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"TUN\",\"adm0_diff\":null,\"adm0_tlc\":\"TUN\",\"adm0_a3_us\":\"TUN\",\"adm0_a3_fr\":\"TUN\",\"adm0_a3_ru\":\"TUN\",\"adm0_a3_es\":\"TUN\",\"adm0_a3_cn\":\"TUN\",\"adm0_a3_tw\":\"TUN\",\"adm0_a3_in\":\"TUN\",\"adm0_a3_np\":\"TUN\",\"adm0_a3_pk\":\"TUN\",\"adm0_a3_de\":\"TUN\",\"adm0_a3_gb\":\"TUN\",\"adm0_a3_br\":\"TUN\",\"adm0_a3_il\":\"TUN\",\"adm0_a3_ps\":\"TUN\",\"adm0_a3_sa\":\"TUN\",\"adm0_a3_eg\":\"TUN\",\"adm0_a3_ma\":\"TUN\",\"adm0_a3_pt\":\"TUN\",\"adm0_a3_ar\":\"TUN\",\"adm0_a3_jp\":\"TUN\",\"adm0_a3_ko\":\"TUN\",\"adm0_a3_vn\":\"TUN\",\"adm0_a3_tr\":\"TUN\",\"adm0_a3_id\":\"TUN\",\"adm0_a3_pl\":\"TUN\",\"adm0_a3_gr\":\"TUN\",\"adm0_a3_it\":\"TUN\",\"adm0_a3_nl\":\"TUN\",\"adm0_a3_se\":\"TUN\",\"adm0_a3_bd\":\"TUN\",\"adm0_a3_ua\":\"TUN\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Northern Africa\",\"region_wb\":\"Middle East & North Africa\",\"name_len\":7,\"long_len\":7,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":9.007881,\"label_y\":33.687263,\"ne_id\":1159321327,\"wikidataid\":\"Q948\",\"name_ar\":\"تونس\",\"name_bn\":\"তিউনিসিয়া\",\"name_de\":\"Tunesien\",\"name_en\":\"Tunisia\",\"name_es\":\"Túnez\",\"name_fa\":\"تونس\",\"name_fr\":\"Tunisie\",\"name_el\":\"Τυνησία\",\"name_he\":\"תוניסיה\",\"name_hi\":\"ट्यूनिशिया\",\"name_hu\":\"Tunézia\",\"name_id\":\"Tunisia\",\"name_it\":\"Tunisia\",\"name_ja\":\"チュニジア\",\"name_ko\":\"튀니지\",\"name_nl\":\"Tunesië\",\"name_pl\":\"Tunezja\",\"name_pt\":\"Tunísia\",\"name_ru\":\"Тунис\",\"name_sv\":\"Tunisien\",\"name_tr\":\"Tunus\",\"name_uk\":\"Туніс\",\"name_ur\":\"تونس\",\"name_vi\":\"Tuy-ni-di\",\"name_zh\":\"突尼斯\",\"name_zht\":\"突尼西亞\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"TUN.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[9.482139926805274,30.307556057246188],[9.05560265466815,32.10269196220129],[8.439102817426118,32.50628489840082],[8.430472853233368,32.74833730725595],[7.612641635782182,33.34411489514896],[7.524481642292244,34.09737641045146],[8.140981479534304,34.65514598239379],[8.376367628623768,35.479876003555944],[8.217824334352315,36.433176988260286],[8.420964389691676,36.94642731378316],[9.509993523810607,37.349994411766545],[10.210002475636317,37.230001735984814],[10.180650262094531,36.724037787415085],[11.02886722173335,37.09210317641396],[11.100025668999251,36.899996039368915],[10.600004510143094,36.410000108377375],[10.593286573945138,35.94744436293281],[10.939518670300687,35.698984076473494],[10.807847120821009,34.83350718844919],[10.149592726287125,34.33077301689771],[10.339658644256616,33.78574168551532],[10.856836378633687,33.76874013929128],[11.108500603895122,33.293342800422195],[11.488787469131012,33.13699575452324],[11.432253452203696,32.368903103152874],[10.944789666394456,32.081814683555365],[10.636901482799487,31.761420803345757],[9.950225050505082,31.376069647745258],[10.056575148161699,30.961831366493527],[9.970017124072854,30.53932485607524],[9.482139926805274,30.307556057246188]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Zambia\",\"sov_a3\":\"ZMB\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Zambia\",\"adm0_a3\":\"ZMB\",\"geou_dif\":0,\"geounit\":\"Zambia\",\"gu_a3\":\"ZMB\",\"su_dif\":0,\"subunit\":\"Zambia\",\"su_a3\":\"ZMB\",\"brk_diff\":0,\"name\":\"Zambia\",\"name_long\":\"Zambia\",\"brk_a3\":\"ZMB\",\"brk_name\":\"Zambia\",\"brk_group\":null,\"abbrev\":\"Zambia\",\"postal\":\"ZM\",\"formal_en\":\"Republic of Zambia\",\"formal_fr\":null,\"name_ciawf\":\"Zambia\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Zambia\",\"name_alt\":null,\"mapcolor7\":5,\"mapcolor8\":8,\"mapcolor9\":5,\"mapcolor13\":13,\"pop_est\":17861030,\"pop_rank\":14,\"pop_year\":2019,\"gdp_md\":23309,\"gdp_year\":2019,\"economy\":\"7. Least developed region\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"ZA\",\"iso_a2\":\"ZM\",\"iso_a2_eh\":\"ZM\",\"iso_a3\":\"ZMB\",\"iso_a3_eh\":\"ZMB\",\"iso_n3\":\"894\",\"iso_n3_eh\":\"894\",\"un_a3\":\"894\",\"wb_a2\":\"ZM\",\"wb_a3\":\"ZMB\",\"woe_id\":23425003,\"woe_id_eh\":23425003,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"ZMB\",\"adm0_diff\":null,\"adm0_tlc\":\"ZMB\",\"adm0_a3_us\":\"ZMB\",\"adm0_a3_fr\":\"ZMB\",\"adm0_a3_ru\":\"ZMB\",\"adm0_a3_es\":\"ZMB\",\"adm0_a3_cn\":\"ZMB\",\"adm0_a3_tw\":\"ZMB\",\"adm0_a3_in\":\"ZMB\",\"adm0_a3_np\":\"ZMB\",\"adm0_a3_pk\":\"ZMB\",\"adm0_a3_de\":\"ZMB\",\"adm0_a3_gb\":\"ZMB\",\"adm0_a3_br\":\"ZMB\",\"adm0_a3_il\":\"ZMB\",\"adm0_a3_ps\":\"ZMB\",\"adm0_a3_sa\":\"ZMB\",\"adm0_a3_eg\":\"ZMB\",\"adm0_a3_ma\":\"ZMB\",\"adm0_a3_pt\":\"ZMB\",\"adm0_a3_ar\":\"ZMB\",\"adm0_a3_jp\":\"ZMB\",\"adm0_a3_ko\":\"ZMB\",\"adm0_a3_vn\":\"ZMB\",\"adm0_a3_tr\":\"ZMB\",\"adm0_a3_id\":\"ZMB\",\"adm0_a3_pl\":\"ZMB\",\"adm0_a3_gr\":\"ZMB\",\"adm0_a3_it\":\"ZMB\",\"adm0_a3_nl\":\"ZMB\",\"adm0_a3_se\":\"ZMB\",\"adm0_a3_bd\":\"ZMB\",\"adm0_a3_ua\":\"ZMB\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Eastern Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":6,\"long_len\":6,\"abbrev_len\":6,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":26.395298,\"label_y\":-14.660804,\"ne_id\":1159321439,\"wikidataid\":\"Q953\",\"name_ar\":\"زامبيا\",\"name_bn\":\"জাম্বিয়া\",\"name_de\":\"Sambia\",\"name_en\":\"Zambia\",\"name_es\":\"Zambia\",\"name_fa\":\"زامبیا\",\"name_fr\":\"Zambie\",\"name_el\":\"Ζάμπια\",\"name_he\":\"זמביה\",\"name_hi\":\"ज़ाम्बिया\",\"name_hu\":\"Zambia\",\"name_id\":\"Zambia\",\"name_it\":\"Zambia\",\"name_ja\":\"ザンビア\",\"name_ko\":\"잠비아\",\"name_nl\":\"Zambia\",\"name_pl\":\"Zambia\",\"name_pt\":\"Zâmbia\",\"name_ru\":\"Замбия\",\"name_sv\":\"Zambia\",\"name_tr\":\"Zambiya\",\"name_uk\":\"Замбія\",\"name_ur\":\"زیمبیا\",\"name_vi\":\"Zambia\",\"name_zh\":\"赞比亚\",\"name_zht\":\"尚比亞\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"ZMB.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[30.740009731422095,-8.34000593035372],[31.15775133695005,-8.594578747317366],[31.556348097466497,-8.762048841998642],[32.19186486179194,-8.930358981973257],[32.75937544122132,-9.23059905358906],[33.2313879737753,-9.6767216935648],[33.48568769708359,-10.525558770391115],[33.315310499817286,-10.796549981329697],[33.114289178201915,-11.607198174692314],[33.306422153463075,-12.435778090060218],[32.991764357237884,-12.783870537978274],[32.68816531752313,-13.712857761289277],[33.214024692525214,-13.971860039936153],[30.17948123548183,-14.796099134991529],[30.27425581230511,-15.507786960515213],[29.516834344203147,-15.644677829656388],[28.947463413211267,-16.04305144619444],[28.8258687680285,-16.389748630440614],[28.467906121542683,-16.468400160388846],[27.59824344250276,-17.290830580314008],[27.044427117630732,-17.938026218337434],[26.70677330903564,-17.961228936436484],[26.381935255648926,-17.8460421688579],[25.264225701608012,-17.736539808831417],[25.08444339366457,-17.661815687737374],[25.07695031098226,-17.57882333747662],[24.682349074001507,-17.353410739819473],[24.033861525170778,-17.295843194246324],[23.215048455506064,-17.523116143465984],[22.56247846852426,-16.898451429921813],[21.887842644953874,-16.08031015387688],[21.933886346125917,-12.898437188369359],[24.016136508894675,-12.911046237848574],[23.930922072045377,-12.565847670138856],[24.079905226342845,-12.191296888887365],[23.904153680118185,-11.722281589406322],[24.01789350759259,-11.23729827234709],[23.912215203555718,-10.926826267137514],[24.25715538910399,-10.951992689663657],[24.31451622894795,-11.26282642989927],[24.78316979340295,-11.238693536018964],[25.418118116973204,-11.330935967659961],[25.752309604604733,-11.784965101776358],[26.553087599399618,-11.924439792532127],[27.164419793412463,-11.608748467661075],[27.388798862423783,-12.132747491100666],[28.155108676879987,-12.272480564017897],[28.523561639121027,-12.698604424696683],[28.934285922976837,-13.248958428605135],[29.69961388521949,-13.257226657771831],[29.61600141777123,-12.178894545137311],[29.34154788586909,-12.360743910372413],[28.642417433392353,-11.971568698782315],[28.372253045370428,-11.793646742401393],[28.49606977714177,-10.789883721564046],[28.67368167492893,-9.605924981324932],[28.449871046672826,-9.164918308146085],[28.734866570762502,-8.526559340044578],[29.00291222506047,-8.407031752153472],[30.346086053190817,-8.238256524288218],[30.740009731422095,-8.34000593035372]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":4,\"sovereignt\":\"Sierra Leone\",\"sov_a3\":\"SLE\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Sierra Leone\",\"adm0_a3\":\"SLE\",\"geou_dif\":0,\"geounit\":\"Sierra Leone\",\"gu_a3\":\"SLE\",\"su_dif\":0,\"subunit\":\"Sierra Leone\",\"su_a3\":\"SLE\",\"brk_diff\":0,\"name\":\"Sierra Leone\",\"name_long\":\"Sierra Leone\",\"brk_a3\":\"SLE\",\"brk_name\":\"Sierra Leone\",\"brk_group\":null,\"abbrev\":\"S.L.\",\"postal\":\"SL\",\"formal_en\":\"Republic of Sierra Leone\",\"formal_fr\":null,\"name_ciawf\":\"Sierra Leone\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Sierra Leone\",\"name_alt\":null,\"mapcolor7\":1,\"mapcolor8\":4,\"mapcolor9\":1,\"mapcolor13\":7,\"pop_est\":7813215,\"pop_rank\":13,\"pop_year\":2019,\"gdp_md\":4121,\"gdp_year\":2019,\"economy\":\"7. Least developed region\",\"income_grp\":\"5. Low income\",\"fips_10\":\"SL\",\"iso_a2\":\"SL\",\"iso_a2_eh\":\"SL\",\"iso_a3\":\"SLE\",\"iso_a3_eh\":\"SLE\",\"iso_n3\":\"694\",\"iso_n3_eh\":\"694\",\"un_a3\":\"694\",\"wb_a2\":\"SL\",\"wb_a3\":\"SLE\",\"woe_id\":23424946,\"woe_id_eh\":23424946,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"SLE\",\"adm0_diff\":null,\"adm0_tlc\":\"SLE\",\"adm0_a3_us\":\"SLE\",\"adm0_a3_fr\":\"SLE\",\"adm0_a3_ru\":\"SLE\",\"adm0_a3_es\":\"SLE\",\"adm0_a3_cn\":\"SLE\",\"adm0_a3_tw\":\"SLE\",\"adm0_a3_in\":\"SLE\",\"adm0_a3_np\":\"SLE\",\"adm0_a3_pk\":\"SLE\",\"adm0_a3_de\":\"SLE\",\"adm0_a3_gb\":\"SLE\",\"adm0_a3_br\":\"SLE\",\"adm0_a3_il\":\"SLE\",\"adm0_a3_ps\":\"SLE\",\"adm0_a3_sa\":\"SLE\",\"adm0_a3_eg\":\"SLE\",\"adm0_a3_ma\":\"SLE\",\"adm0_a3_pt\":\"SLE\",\"adm0_a3_ar\":\"SLE\",\"adm0_a3_jp\":\"SLE\",\"adm0_a3_ko\":\"SLE\",\"adm0_a3_vn\":\"SLE\",\"adm0_a3_tr\":\"SLE\",\"adm0_a3_id\":\"SLE\",\"adm0_a3_pl\":\"SLE\",\"adm0_a3_gr\":\"SLE\",\"adm0_a3_it\":\"SLE\",\"adm0_a3_nl\":\"SLE\",\"adm0_a3_se\":\"SLE\",\"adm0_a3_bd\":\"SLE\",\"adm0_a3_ua\":\"SLE\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Western Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":12,\"long_len\":12,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":-11.763677,\"label_y\":8.617449,\"ne_id\":1159321251,\"wikidataid\":\"Q1044\",\"name_ar\":\"سيراليون\",\"name_bn\":\"সিয়েরা লিওন\",\"name_de\":\"Sierra Leone\",\"name_en\":\"Sierra Leone\",\"name_es\":\"Sierra Leona\",\"name_fa\":\"سیرالئون\",\"name_fr\":\"Sierra Leone\",\"name_el\":\"Σιέρα Λεόνε\",\"name_he\":\"סיירה לאון\",\"name_hi\":\"सिएरा लियोन\",\"name_hu\":\"Sierra Leone\",\"name_id\":\"Sierra Leone\",\"name_it\":\"Sierra Leone\",\"name_ja\":\"シエラレオネ\",\"name_ko\":\"시에라리온\",\"name_nl\":\"Sierra Leone\",\"name_pl\":\"Sierra Leone\",\"name_pt\":\"Serra Leoa\",\"name_ru\":\"Сьерра-Леоне\",\"name_sv\":\"Sierra Leone\",\"name_tr\":\"Sierra Leone\",\"name_uk\":\"Сьєрра-Леоне\",\"name_ur\":\"سیرالیون\",\"name_vi\":\"Sierra Leone\",\"name_zh\":\"塞拉利昂\",\"name_zht\":\"獅子山\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"SLE.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-13.246550258832515,8.903048610871508],[-12.71195756677308,9.342711696810767],[-12.59671912276221,9.62018830000197],[-12.425928514037565,9.835834051955956],[-12.150338100625005,9.858571682164381],[-11.917277390988659,10.046983954300558],[-11.11748124840733,10.045872911006285],[-10.839151984083301,9.688246161330369],[-10.622395188835041,9.267910061068278],[-10.654770473665891,8.977178452994195],[-10.494315151399633,8.715540676300435],[-10.505477260774668,8.348896389189605],[-10.23009355309128,8.406205552601293],[-10.69559485517648,7.939464016141088],[-11.146704270868383,7.396706447779536],[-11.19980180504828,7.105845648624737],[-11.438779466182055,6.785916856305747],[-11.70819454593574,6.860098374860726],[-12.428098924193819,7.26294200279203],[-12.949049038128194,7.798645738145738],[-13.124025437868482,8.163946438016978],[-13.246550258832515,8.903048610871508]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Guinea\",\"sov_a3\":\"GIN\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Guinea\",\"adm0_a3\":\"GIN\",\"geou_dif\":0,\"geounit\":\"Guinea\",\"gu_a3\":\"GIN\",\"su_dif\":0,\"subunit\":\"Guinea\",\"su_a3\":\"GIN\",\"brk_diff\":0,\"name\":\"Guinea\",\"name_long\":\"Guinea\",\"brk_a3\":\"GIN\",\"brk_name\":\"Guinea\",\"brk_group\":null,\"abbrev\":\"Gin.\",\"postal\":\"GN\",\"formal_en\":\"Republic of Guinea\",\"formal_fr\":null,\"name_ciawf\":\"Guinea\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Guinea\",\"name_alt\":null,\"mapcolor7\":6,\"mapcolor8\":3,\"mapcolor9\":7,\"mapcolor13\":2,\"pop_est\":12771246,\"pop_rank\":14,\"pop_year\":2019,\"gdp_md\":12296,\"gdp_year\":2019,\"economy\":\"7. Least developed region\",\"income_grp\":\"5. Low income\",\"fips_10\":\"GV\",\"iso_a2\":\"GN\",\"iso_a2_eh\":\"GN\",\"iso_a3\":\"GIN\",\"iso_a3_eh\":\"GIN\",\"iso_n3\":\"324\",\"iso_n3_eh\":\"324\",\"un_a3\":\"324\",\"wb_a2\":\"GN\",\"wb_a3\":\"GIN\",\"woe_id\":23424835,\"woe_id_eh\":23424835,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"GIN\",\"adm0_diff\":null,\"adm0_tlc\":\"GIN\",\"adm0_a3_us\":\"GIN\",\"adm0_a3_fr\":\"GIN\",\"adm0_a3_ru\":\"GIN\",\"adm0_a3_es\":\"GIN\",\"adm0_a3_cn\":\"GIN\",\"adm0_a3_tw\":\"GIN\",\"adm0_a3_in\":\"GIN\",\"adm0_a3_np\":\"GIN\",\"adm0_a3_pk\":\"GIN\",\"adm0_a3_de\":\"GIN\",\"adm0_a3_gb\":\"GIN\",\"adm0_a3_br\":\"GIN\",\"adm0_a3_il\":\"GIN\",\"adm0_a3_ps\":\"GIN\",\"adm0_a3_sa\":\"GIN\",\"adm0_a3_eg\":\"GIN\",\"adm0_a3_ma\":\"GIN\",\"adm0_a3_pt\":\"GIN\",\"adm0_a3_ar\":\"GIN\",\"adm0_a3_jp\":\"GIN\",\"adm0_a3_ko\":\"GIN\",\"adm0_a3_vn\":\"GIN\",\"adm0_a3_tr\":\"GIN\",\"adm0_a3_id\":\"GIN\",\"adm0_a3_pl\":\"GIN\",\"adm0_a3_gr\":\"GIN\",\"adm0_a3_it\":\"GIN\",\"adm0_a3_nl\":\"GIN\",\"adm0_a3_se\":\"GIN\",\"adm0_a3_bd\":\"GIN\",\"adm0_a3_ua\":\"GIN\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Western Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":6,\"long_len\":6,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":-10.016402,\"label_y\":10.618516,\"ne_id\":1159320795,\"wikidataid\":\"Q1006\",\"name_ar\":\"غينيا\",\"name_bn\":\"গিনি\",\"name_de\":\"Guinea\",\"name_en\":\"Guinea\",\"name_es\":\"Guinea\",\"name_fa\":\"گینه\",\"name_fr\":\"Guinée\",\"name_el\":\"Γουινέα\",\"name_he\":\"גינאה\",\"name_hi\":\"गिनी\",\"name_hu\":\"Guinea\",\"name_id\":\"Guinea\",\"name_it\":\"Guinea\",\"name_ja\":\"ギニア\",\"name_ko\":\"기니\",\"name_nl\":\"Guinee\",\"name_pl\":\"Gwinea\",\"name_pt\":\"Guiné\",\"name_ru\":\"Гвинея\",\"name_sv\":\"Guinea\",\"name_tr\":\"Gine\",\"name_uk\":\"Гвінея\",\"name_ur\":\"جمہوریہ گنی\",\"name_vi\":\"Guinée\",\"name_zh\":\"几内亚\",\"name_zht\":\"幾內亞\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"GIN.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-13.700476040084325,12.586182969610194],[-13.217818162478238,12.575873521367967],[-12.499050665730564,12.332089952031057],[-12.27859900557344,12.354440008997287],[-12.203564825885634,12.465647691289405],[-11.658300950557932,12.386582749882836],[-11.51394283695059,12.442987575729418],[-11.456168585648271,12.076834214725338],[-11.297573614944511,12.077971096235771],[-11.03655595543826,12.211244615116515],[-10.870829637078215,12.17788747807211],[-10.593223842806282,11.92397532800598],[-10.165213792348837,11.844083563682744],[-9.890992804392013,12.060478623904972],[-9.567911749703214,12.194243068892476],[-9.327616339546012,12.334286200403454],[-9.127473517279583,12.308060411015333],[-8.90526485842453,12.088358059126437],[-8.786099005559464,11.812560939984706],[-8.376304897484914,11.393645941610629],[-8.581305304386774,11.136245632364805],[-8.620321010767128,10.810890814655183],[-8.407310756860028,10.909256903522762],[-8.282357143578281,10.792597357623846],[-8.33537716310974,10.494811916541934],[-8.029943610048619,10.206534939001713],[-8.229337124046822,10.1290202905639],[-8.30961646161225,9.789531968622441],[-8.07911373537435,9.376223863152035],[-7.832100389019188,8.575704250518626],[-8.20349890790088,8.455453192575447],[-8.299048631208564,8.316443589710303],[-8.221792364932199,8.123328762235573],[-8.280703497744938,7.687179673692157],[-8.439298468448698,7.686042792181738],[-8.722123582382125,7.71167430259851],[-8.926064622422004,7.309037380396376],[-9.208786383490846,7.313920803247953],[-9.40334815106975,7.526905218938907],[-9.337279832384581,7.928534450711354],[-9.755342169625834,8.541055202666925],[-10.016566534861255,8.428503933135232],[-10.23009355309128,8.406205552601293],[-10.505477260774668,8.348896389189605],[-10.494315151399633,8.715540676300435],[-10.654770473665891,8.977178452994195],[-10.622395188835041,9.267910061068278],[-10.839151984083301,9.688246161330369],[-11.11748124840733,10.045872911006285],[-11.917277390988659,10.046983954300558],[-12.150338100625005,9.858571682164381],[-12.425928514037565,9.835834051955956],[-12.59671912276221,9.62018830000197],[-12.71195756677308,9.342711696810767],[-13.246550258832515,8.903048610871508],[-13.685153977909792,9.49474376061346],[-14.074044969122282,9.886166897008252],[-14.33007585291237,10.015719712763968],[-14.579698859098258,10.214467271358515],[-14.693231980843505,10.656300767454042],[-14.839553798877944,10.87657156009814],[-15.130311245168173,11.040411688679526],[-14.685687221728898,11.527823798056488],[-14.382191534878729,11.509271958863692],[-14.121406419317779,11.677117010947697],[-13.900799729863776,11.678718980348748],[-13.743160773157413,11.811269029177412],[-13.828271857142125,12.142644151249044],[-13.718743658899513,12.24718557377551],[-13.700476040084325,12.586182969610194]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":4,\"sovereignt\":\"Liberia\",\"sov_a3\":\"LBR\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Liberia\",\"adm0_a3\":\"LBR\",\"geou_dif\":0,\"geounit\":\"Liberia\",\"gu_a3\":\"LBR\",\"su_dif\":0,\"subunit\":\"Liberia\",\"su_a3\":\"LBR\",\"brk_diff\":0,\"name\":\"Liberia\",\"name_long\":\"Liberia\",\"brk_a3\":\"LBR\",\"brk_name\":\"Liberia\",\"brk_group\":null,\"abbrev\":\"Liberia\",\"postal\":\"LR\",\"formal_en\":\"Republic of Liberia\",\"formal_fr\":null,\"name_ciawf\":\"Liberia\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Liberia\",\"name_alt\":null,\"mapcolor7\":2,\"mapcolor8\":3,\"mapcolor9\":4,\"mapcolor13\":9,\"pop_est\":4937374,\"pop_rank\":12,\"pop_year\":2019,\"gdp_md\":3070,\"gdp_year\":2019,\"economy\":\"7. Least developed region\",\"income_grp\":\"5. Low income\",\"fips_10\":\"LI\",\"iso_a2\":\"LR\",\"iso_a2_eh\":\"LR\",\"iso_a3\":\"LBR\",\"iso_a3_eh\":\"LBR\",\"iso_n3\":\"430\",\"iso_n3_eh\":\"430\",\"un_a3\":\"430\",\"wb_a2\":\"LR\",\"wb_a3\":\"LBR\",\"woe_id\":23424876,\"woe_id_eh\":23424876,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"LBR\",\"adm0_diff\":null,\"adm0_tlc\":\"LBR\",\"adm0_a3_us\":\"LBR\",\"adm0_a3_fr\":\"LBR\",\"adm0_a3_ru\":\"LBR\",\"adm0_a3_es\":\"LBR\",\"adm0_a3_cn\":\"LBR\",\"adm0_a3_tw\":\"LBR\",\"adm0_a3_in\":\"LBR\",\"adm0_a3_np\":\"LBR\",\"adm0_a3_pk\":\"LBR\",\"adm0_a3_de\":\"LBR\",\"adm0_a3_gb\":\"LBR\",\"adm0_a3_br\":\"LBR\",\"adm0_a3_il\":\"LBR\",\"adm0_a3_ps\":\"LBR\",\"adm0_a3_sa\":\"LBR\",\"adm0_a3_eg\":\"LBR\",\"adm0_a3_ma\":\"LBR\",\"adm0_a3_pt\":\"LBR\",\"adm0_a3_ar\":\"LBR\",\"adm0_a3_jp\":\"LBR\",\"adm0_a3_ko\":\"LBR\",\"adm0_a3_vn\":\"LBR\",\"adm0_a3_tr\":\"LBR\",\"adm0_a3_id\":\"LBR\",\"adm0_a3_pl\":\"LBR\",\"adm0_a3_gr\":\"LBR\",\"adm0_a3_it\":\"LBR\",\"adm0_a3_nl\":\"LBR\",\"adm0_a3_se\":\"LBR\",\"adm0_a3_bd\":\"LBR\",\"adm0_a3_ua\":\"LBR\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Western Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":7,\"long_len\":7,\"abbrev_len\":7,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":-9.460379,\"label_y\":6.447177,\"ne_id\":1159321015,\"wikidataid\":\"Q1014\",\"name_ar\":\"ليبيريا\",\"name_bn\":\"লাইবেরিয়া\",\"name_de\":\"Liberia\",\"name_en\":\"Liberia\",\"name_es\":\"Liberia\",\"name_fa\":\"لیبریا\",\"name_fr\":\"Liberia\",\"name_el\":\"Λιβερία\",\"name_he\":\"ליבריה\",\"name_hi\":\"लाइबेरिया\",\"name_hu\":\"Libéria\",\"name_id\":\"Liberia\",\"name_it\":\"Liberia\",\"name_ja\":\"リベリア\",\"name_ko\":\"라이베리아\",\"name_nl\":\"Liberia\",\"name_pl\":\"Liberia\",\"name_pt\":\"Libéria\",\"name_ru\":\"Либерия\",\"name_sv\":\"Liberia\",\"name_tr\":\"Liberya\",\"name_uk\":\"Ліберія\",\"name_ur\":\"لائبیریا\",\"name_vi\":\"Liberia\",\"name_zh\":\"利比里亚\",\"name_zht\":\"賴比瑞亞\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"LBR.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-8.439298468448698,7.686042792181738],[-8.48544552248535,7.39520783124307],[-8.385451626000574,6.911800645368743],[-8.60288021486862,6.46756419517166],[-8.311347622094019,6.193033148621083],[-7.993692592795881,6.126189683451543],[-7.570152553731688,5.707352199725904],[-7.539715135111763,5.313345241716519],[-7.635368211284031,5.188159084489456],[-7.71215938966975,4.364565944837722],[-7.974107224957251,4.355755113131963],[-9.004793667018674,4.8324185245922],[-9.913420376006684,5.593560695819207],[-10.765383876986645,6.140710760925558],[-11.438779466182055,6.785916856305747],[-11.19980180504828,7.105845648624737],[-11.146704270868383,7.396706447779536],[-10.69559485517648,7.939464016141088],[-10.23009355309128,8.406205552601293],[-10.016566534861255,8.428503933135232],[-9.755342169625834,8.541055202666925],[-9.337279832384581,7.928534450711354],[-9.40334815106975,7.526905218938907],[-9.208786383490846,7.313920803247953],[-8.926064622422004,7.309037380396376],[-8.722123582382125,7.71167430259851],[-8.439298468448698,7.686042792181738]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":4,\"sovereignt\":\"Central African Republic\",\"sov_a3\":\"CAF\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Central African Republic\",\"adm0_a3\":\"CAF\",\"geou_dif\":0,\"geounit\":\"Central African Republic\",\"gu_a3\":\"CAF\",\"su_dif\":0,\"subunit\":\"Central African Republic\",\"su_a3\":\"CAF\",\"brk_diff\":0,\"name\":\"Central African Rep.\",\"name_long\":\"Central African Republic\",\"brk_a3\":\"CAF\",\"brk_name\":\"Central African Rep.\",\"brk_group\":null,\"abbrev\":\"C.A.R.\",\"postal\":\"CF\",\"formal_en\":\"Central African Republic\",\"formal_fr\":null,\"name_ciawf\":\"Central African Republic\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Central African Republic\",\"name_alt\":null,\"mapcolor7\":5,\"mapcolor8\":6,\"mapcolor9\":6,\"mapcolor13\":9,\"pop_est\":4745185,\"pop_rank\":12,\"pop_year\":2019,\"gdp_md\":2220,\"gdp_year\":2019,\"economy\":\"7. Least developed region\",\"income_grp\":\"5. Low income\",\"fips_10\":\"CT\",\"iso_a2\":\"CF\",\"iso_a2_eh\":\"CF\",\"iso_a3\":\"CAF\",\"iso_a3_eh\":\"CAF\",\"iso_n3\":\"140\",\"iso_n3_eh\":\"140\",\"un_a3\":\"140\",\"wb_a2\":\"CF\",\"wb_a3\":\"CAF\",\"woe_id\":23424792,\"woe_id_eh\":23424792,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"CAF\",\"adm0_diff\":null,\"adm0_tlc\":\"CAF\",\"adm0_a3_us\":\"CAF\",\"adm0_a3_fr\":\"CAF\",\"adm0_a3_ru\":\"CAF\",\"adm0_a3_es\":\"CAF\",\"adm0_a3_cn\":\"CAF\",\"adm0_a3_tw\":\"CAF\",\"adm0_a3_in\":\"CAF\",\"adm0_a3_np\":\"CAF\",\"adm0_a3_pk\":\"CAF\",\"adm0_a3_de\":\"CAF\",\"adm0_a3_gb\":\"CAF\",\"adm0_a3_br\":\"CAF\",\"adm0_a3_il\":\"CAF\",\"adm0_a3_ps\":\"CAF\",\"adm0_a3_sa\":\"CAF\",\"adm0_a3_eg\":\"CAF\",\"adm0_a3_ma\":\"CAF\",\"adm0_a3_pt\":\"CAF\",\"adm0_a3_ar\":\"CAF\",\"adm0_a3_jp\":\"CAF\",\"adm0_a3_ko\":\"CAF\",\"adm0_a3_vn\":\"CAF\",\"adm0_a3_tr\":\"CAF\",\"adm0_a3_id\":\"CAF\",\"adm0_a3_pl\":\"CAF\",\"adm0_a3_gr\":\"CAF\",\"adm0_a3_it\":\"CAF\",\"adm0_a3_nl\":\"CAF\",\"adm0_a3_se\":\"CAF\",\"adm0_a3_bd\":\"CAF\",\"adm0_a3_ua\":\"CAF\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Middle Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":20,\"long_len\":24,\"abbrev_len\":6,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":20.906897,\"label_y\":6.989681,\"ne_id\":1159320463,\"wikidataid\":\"Q929\",\"name_ar\":\"جمهورية أفريقيا الوسطى\",\"name_bn\":\"মধ্য আফ্রিকান প্রজাতন্ত্র\",\"name_de\":\"Zentralafrikanische Republik\",\"name_en\":\"Central African Republic\",\"name_es\":\"República Centroafricana\",\"name_fa\":\"جمهوری آفریقای مرکزی\",\"name_fr\":\"République centrafricaine\",\"name_el\":\"Κεντροαφρικανική Δημοκρατία\",\"name_he\":\"הרפובליקה המרכז-אפריקאית\",\"name_hi\":\"मध्य अफ़्रीकी गणराज्य\",\"name_hu\":\"Közép-afrikai Köztársaság\",\"name_id\":\"Republik Afrika Tengah\",\"name_it\":\"Repubblica Centrafricana\",\"name_ja\":\"中央アフリカ共和国\",\"name_ko\":\"중앙아프리카 공화국\",\"name_nl\":\"Centraal-Afrikaanse Republiek\",\"name_pl\":\"Republika Środkowoafrykańska\",\"name_pt\":\"República Centro-Africana\",\"name_ru\":\"Центральноафриканская Республика\",\"name_sv\":\"Centralafrikanska republiken\",\"name_tr\":\"Orta Afrika Cumhuriyeti\",\"name_uk\":\"Центральноафриканська Республіка\",\"name_ur\":\"وسطی افریقی جمہوریہ\",\"name_vi\":\"Cộng hòa Trung Phi\",\"name_zh\":\"中非共和国\",\"name_zht\":\"中非共和國\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"CAF.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[27.37422610851749,5.233944403500061],[27.04406538260471,5.127852688004836],[26.402760857862543,5.150874538590871],[25.650455356557472,5.256087754737123],[25.278798455514305,5.170408229997192],[25.12883344900328,4.92724477784779],[24.805028924262416,4.89724660890235],[24.410531040146253,5.10878408448913],[23.29721398285014,4.609693101414223],[22.841479526468106,4.710126247573484],[22.70412356943629,4.633050848810157],[22.405123732195538,4.029160061047321],[21.659122755630023,4.22434194581372],[20.927591180106276,4.322785549329737],[20.290679152108936,4.691677761245288],[19.46778364429315,5.03152781821278],[18.93231245288476,4.709506130385975],[18.54298221199778,4.201785183118318],[18.45306521980993,3.504385891123349],[17.809900343505262,3.56019643799857],[17.133042433346304,3.728196519379452],[16.537058139724138,3.198254706226279],[16.012852410555354,2.267639675298085],[15.907380812247652,2.557389431158612],[15.862732374747482,3.013537298998983],[15.405395948964383,3.33530060466434],[15.036219516671252,3.851367295747124],[14.950953403389661,4.210389309094921],[14.47837243008047,4.732605495620447],[14.558935988023507,5.03059764243153],[14.459407179429348,5.4517605656103],[14.536560092841114,6.22695872642069],[14.776545444404576,6.408498033062045],[15.279460483469109,7.421924546737969],[16.106231723706742,7.497087917506462],[16.290561557691888,7.754307359239419],[16.456184523187346,7.734773667832968],[16.705988396886255,7.508327541529979],[17.964929640380888,7.890914008002994],[18.38955488452322,8.281303615751824],[18.911021762780507,8.630894680206353],[18.812009718509273,8.982914536978598],[19.09400800952602,9.07484691002584],[20.05968549976427,9.012706000194854],[21.000868361096167,9.475985215691509],[21.723821648859456,10.567055568885976],[22.23112918466876,10.97188873946061],[22.864165480244225,11.142395127807546],[22.97754357269261,10.71446259199854],[23.554304233502194,10.089255275915308],[23.55724979014283,9.681218166538684],[23.394779087017184,9.265067857292223],[23.459012892355986,8.954285793488893],[23.805813429466752,8.666318874542526],[24.567369012152085,8.229187933785468],[25.11493248871679,7.825104071479174],[25.124130893664727,7.500085150579437],[25.79664798351118,6.979315904158071],[26.213418409945117,6.546603298362072],[26.465909458123235,5.94671743410187],[27.21340905122517,5.550953477394557],[27.37422610851749,5.233944403500061]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Sudan\",\"sov_a3\":\"SDN\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Sudan\",\"adm0_a3\":\"SDN\",\"geou_dif\":0,\"geounit\":\"Sudan\",\"gu_a3\":\"SDN\",\"su_dif\":0,\"subunit\":\"Sudan\",\"su_a3\":\"SDN\",\"brk_diff\":0,\"name\":\"Sudan\",\"name_long\":\"Sudan\",\"brk_a3\":\"SDN\",\"brk_name\":\"Sudan\",\"brk_group\":null,\"abbrev\":\"Sudan\",\"postal\":\"SD\",\"formal_en\":\"Republic of the Sudan\",\"formal_fr\":null,\"name_ciawf\":\"Sudan\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Sudan\",\"name_alt\":null,\"mapcolor7\":2,\"mapcolor8\":6,\"mapcolor9\":4,\"mapcolor13\":1,\"pop_est\":42813238,\"pop_rank\":15,\"pop_year\":2019,\"gdp_md\":30513,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"SU\",\"iso_a2\":\"SD\",\"iso_a2_eh\":\"SD\",\"iso_a3\":\"SDN\",\"iso_a3_eh\":\"SDN\",\"iso_n3\":\"729\",\"iso_n3_eh\":\"729\",\"un_a3\":\"729\",\"wb_a2\":\"SD\",\"wb_a3\":\"SDN\",\"woe_id\":-90,\"woe_id_eh\":23424952,\"woe_note\":\"Almost all FLickr photos are in the north.\",\"adm0_iso\":\"SDZ\",\"adm0_diff\":null,\"adm0_tlc\":\"SDZ\",\"adm0_a3_us\":\"SDN\",\"adm0_a3_fr\":\"SDN\",\"adm0_a3_ru\":\"SDN\",\"adm0_a3_es\":\"SDN\",\"adm0_a3_cn\":\"SDN\",\"adm0_a3_tw\":\"SDN\",\"adm0_a3_in\":\"SDN\",\"adm0_a3_np\":\"SDN\",\"adm0_a3_pk\":\"SDN\",\"adm0_a3_de\":\"SDN\",\"adm0_a3_gb\":\"SDN\",\"adm0_a3_br\":\"SDN\",\"adm0_a3_il\":\"SDN\",\"adm0_a3_ps\":\"SDN\",\"adm0_a3_sa\":\"SDN\",\"adm0_a3_eg\":\"SDN\",\"adm0_a3_ma\":\"SDN\",\"adm0_a3_pt\":\"SDN\",\"adm0_a3_ar\":\"SDN\",\"adm0_a3_jp\":\"SDN\",\"adm0_a3_ko\":\"SDN\",\"adm0_a3_vn\":\"SDN\",\"adm0_a3_tr\":\"SDN\",\"adm0_a3_id\":\"SDN\",\"adm0_a3_pl\":\"SDN\",\"adm0_a3_gr\":\"SDN\",\"adm0_a3_it\":\"SDN\",\"adm0_a3_nl\":\"SDN\",\"adm0_a3_se\":\"SDN\",\"adm0_a3_bd\":\"SDN\",\"adm0_a3_ua\":\"SDN\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Northern Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":5,\"long_len\":5,\"abbrev_len\":5,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":2.5,\"max_label\":8,\"label_x\":29.260657,\"label_y\":16.330746,\"ne_id\":1159321229,\"wikidataid\":\"Q1049\",\"name_ar\":\"السودان\",\"name_bn\":\"সুদান\",\"name_de\":\"Sudan\",\"name_en\":\"Sudan\",\"name_es\":\"Sudán\",\"name_fa\":\"سودان\",\"name_fr\":\"Soudan\",\"name_el\":\"Σουδάν\",\"name_he\":\"סודאן\",\"name_hi\":\"सूडान\",\"name_hu\":\"Szudán\",\"name_id\":\"Sudan\",\"name_it\":\"Sudan\",\"name_ja\":\"スーダン\",\"name_ko\":\"수단\",\"name_nl\":\"Soedan\",\"name_pl\":\"Sudan\",\"name_pt\":\"Sudão\",\"name_ru\":\"Судан\",\"name_sv\":\"Sudan\",\"name_tr\":\"Sudan\",\"name_uk\":\"Судан\",\"name_ur\":\"سوڈان\",\"name_vi\":\"Sudan\",\"name_zh\":\"苏丹\",\"name_zht\":\"蘇丹\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"SDN.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[24.567369012152085,8.229187933785468],[23.805813429466752,8.666318874542526],[23.459012892355986,8.954285793488893],[23.394779087017184,9.265067857292223],[23.55724979014283,9.681218166538684],[23.554304233502194,10.089255275915308],[22.97754357269261,10.71446259199854],[22.864165480244225,11.142395127807546],[22.87622,11.384610000000123],[22.50869,11.67936],[22.49762,12.26024],[22.28801,12.64605],[21.93681,12.588180000000136],[22.03759,12.95546],[22.29658,13.37232],[22.18329,13.78648],[22.51202,14.09318],[22.30351,14.32682],[22.56795000000011,14.944290000000137],[23.024590000000103,15.68072],[23.886890000000108,15.61084],[23.83766000000014,19.580470000000105],[23.850000000000136,20],[25.000000000000114,20.00304],[25,22],[29.02,22],[32.9,22],[36.86623,22],[37.1887200000001,21.01885],[36.96941,20.83744000000013],[37.11470000000014,19.80796],[37.4817900000001,18.61409],[37.86276,18.36786],[38.410089959473225,17.998307399970315],[37.90400000000011,17.42754],[37.16747,17.263140000000135],[36.852530000000115,16.95655],[36.75389,16.29186],[36.32322,14.82249],[36.42951,14.42211],[36.27022,13.563330000000121],[35.86363,12.57828],[35.26049,12.08286],[34.83163000000013,11.318960000000118],[34.73115000000013,10.910170000000107],[34.25745,10.63009],[33.96162,9.58358],[33.97498,8.68456],[33.963392794971185,9.464285229420625],[33.82496348090751,9.484060845715362],[33.84213085302815,9.981914637215993],[33.72195924818311,10.325262079630193],[33.206938084561784,10.720111638406593],[33.086766479716744,11.441141267476496],[33.206938084561784,12.179338268667095],[32.743419037302544,12.248007757149992],[32.67474954881965,12.02483191958072],[32.073891524594785,11.973329803218519],[32.31423473428475,11.68148447716652],[32.400071594888345,11.080626452941488],[31.850715687025513,10.531270545078826],[31.35286189552488,9.810240916008695],[30.837840731903384,9.70723668328452],[29.996639497988554,10.290927335388687],[29.61895731133285,10.084918869940225],[29.515953078608618,9.793073543888056],[29.000931914987177,9.60423245056029],[28.966597170745786,9.398223985111656],[27.970889587744352,9.398223985111656],[27.833550610778786,9.60423245056029],[27.112520981708883,9.638567194801624],[26.752006167173818,9.466893473594496],[26.477328213242515,9.552730334198088],[25.962307049621018,10.136420986302426],[25.790633328413946,10.411098940233728],[25.069603699343986,10.273759963267992],[24.794925745412684,9.810240916008695],[24.53741516360202,8.91753756573172],[24.19406772118765,8.728696472403897],[23.886979580860668,8.619729712933065],[24.567369012152085,8.229187933785468]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":5,\"sovereignt\":\"Djibouti\",\"sov_a3\":\"DJI\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Djibouti\",\"adm0_a3\":\"DJI\",\"geou_dif\":0,\"geounit\":\"Djibouti\",\"gu_a3\":\"DJI\",\"su_dif\":0,\"subunit\":\"Djibouti\",\"su_a3\":\"DJI\",\"brk_diff\":0,\"name\":\"Djibouti\",\"name_long\":\"Djibouti\",\"brk_a3\":\"DJI\",\"brk_name\":\"Djibouti\",\"brk_group\":null,\"abbrev\":\"Dji.\",\"postal\":\"DJ\",\"formal_en\":\"Republic of Djibouti\",\"formal_fr\":null,\"name_ciawf\":\"Djibouti\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Djibouti\",\"name_alt\":null,\"mapcolor7\":1,\"mapcolor8\":2,\"mapcolor9\":4,\"mapcolor13\":8,\"pop_est\":973560,\"pop_rank\":11,\"pop_year\":2019,\"gdp_md\":3324,\"gdp_year\":2019,\"economy\":\"7. Least developed region\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"DJ\",\"iso_a2\":\"DJ\",\"iso_a2_eh\":\"DJ\",\"iso_a3\":\"DJI\",\"iso_a3_eh\":\"DJI\",\"iso_n3\":\"262\",\"iso_n3_eh\":\"262\",\"un_a3\":\"262\",\"wb_a2\":\"DJ\",\"wb_a3\":\"DJI\",\"woe_id\":23424797,\"woe_id_eh\":23424797,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"DJI\",\"adm0_diff\":null,\"adm0_tlc\":\"DJI\",\"adm0_a3_us\":\"DJI\",\"adm0_a3_fr\":\"DJI\",\"adm0_a3_ru\":\"DJI\",\"adm0_a3_es\":\"DJI\",\"adm0_a3_cn\":\"DJI\",\"adm0_a3_tw\":\"DJI\",\"adm0_a3_in\":\"DJI\",\"adm0_a3_np\":\"DJI\",\"adm0_a3_pk\":\"DJI\",\"adm0_a3_de\":\"DJI\",\"adm0_a3_gb\":\"DJI\",\"adm0_a3_br\":\"DJI\",\"adm0_a3_il\":\"DJI\",\"adm0_a3_ps\":\"DJI\",\"adm0_a3_sa\":\"DJI\",\"adm0_a3_eg\":\"DJI\",\"adm0_a3_ma\":\"DJI\",\"adm0_a3_pt\":\"DJI\",\"adm0_a3_ar\":\"DJI\",\"adm0_a3_jp\":\"DJI\",\"adm0_a3_ko\":\"DJI\",\"adm0_a3_vn\":\"DJI\",\"adm0_a3_tr\":\"DJI\",\"adm0_a3_id\":\"DJI\",\"adm0_a3_pl\":\"DJI\",\"adm0_a3_gr\":\"DJI\",\"adm0_a3_it\":\"DJI\",\"adm0_a3_nl\":\"DJI\",\"adm0_a3_se\":\"DJI\",\"adm0_a3_bd\":\"DJI\",\"adm0_a3_ua\":\"DJI\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Eastern Africa\",\"region_wb\":\"Middle East & North Africa\",\"name_len\":8,\"long_len\":8,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":42.498825,\"label_y\":11.976343,\"ne_id\":1159320541,\"wikidataid\":\"Q977\",\"name_ar\":\"جيبوتي\",\"name_bn\":\"জিবুতি\",\"name_de\":\"Dschibuti\",\"name_en\":\"Djibouti\",\"name_es\":\"Yibuti\",\"name_fa\":\"جیبوتی\",\"name_fr\":\"Djibouti\",\"name_el\":\"Τζιμπουτί\",\"name_he\":\"ג'יבוטי\",\"name_hi\":\"जिबूती\",\"name_hu\":\"Dzsibuti\",\"name_id\":\"Djibouti\",\"name_it\":\"Gibuti\",\"name_ja\":\"ジブチ\",\"name_ko\":\"지부티\",\"name_nl\":\"Djibouti\",\"name_pl\":\"Dżibuti\",\"name_pt\":\"Djibouti\",\"name_ru\":\"Джибути\",\"name_sv\":\"Djibouti\",\"name_tr\":\"Cibuti\",\"name_uk\":\"Джибуті\",\"name_ur\":\"جبوتی\",\"name_vi\":\"Djibouti\",\"name_zh\":\"吉布提\",\"name_zht\":\"吉布地\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"DJI.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[42.35156000000012,12.542230000000131],[42.77964236834475,12.455415757695675],[43.08122602720016,12.699638576707116],[43.31785241066467,12.390148423711025],[43.286381463398925,11.974928290245884],[42.715873650896526,11.735640570518342],[43.14530480324214,11.462039699748857],[42.77685184100096,10.92687856693442],[42.55493000000013,11.105110000000195],[42.31414000000012,11.0342],[41.755570000000205,11.050910000000101],[41.73959000000019,11.355110000000138],[41.66176000000013,11.6312],[42.000000000000114,12.100000000000136],[42.35156000000012,12.542230000000131]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":4,\"sovereignt\":\"Eritrea\",\"sov_a3\":\"ERI\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Eritrea\",\"adm0_a3\":\"ERI\",\"geou_dif\":0,\"geounit\":\"Eritrea\",\"gu_a3\":\"ERI\",\"su_dif\":0,\"subunit\":\"Eritrea\",\"su_a3\":\"ERI\",\"brk_diff\":0,\"name\":\"Eritrea\",\"name_long\":\"Eritrea\",\"brk_a3\":\"ERI\",\"brk_name\":\"Eritrea\",\"brk_group\":null,\"abbrev\":\"Erit.\",\"postal\":\"ER\",\"formal_en\":\"State of Eritrea\",\"formal_fr\":null,\"name_ciawf\":\"Eritrea\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Eritrea\",\"name_alt\":null,\"mapcolor7\":3,\"mapcolor8\":1,\"mapcolor9\":2,\"mapcolor13\":12,\"pop_est\":6081196,\"pop_rank\":13,\"pop_year\":2020,\"gdp_md\":2065,\"gdp_year\":2011,\"economy\":\"7. Least developed region\",\"income_grp\":\"5. Low income\",\"fips_10\":\"ER\",\"iso_a2\":\"ER\",\"iso_a2_eh\":\"ER\",\"iso_a3\":\"ERI\",\"iso_a3_eh\":\"ERI\",\"iso_n3\":\"232\",\"iso_n3_eh\":\"232\",\"un_a3\":\"232\",\"wb_a2\":\"ER\",\"wb_a3\":\"ERI\",\"woe_id\":23424806,\"woe_id_eh\":23424806,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"ERI\",\"adm0_diff\":null,\"adm0_tlc\":\"ERI\",\"adm0_a3_us\":\"ERI\",\"adm0_a3_fr\":\"ERI\",\"adm0_a3_ru\":\"ERI\",\"adm0_a3_es\":\"ERI\",\"adm0_a3_cn\":\"ERI\",\"adm0_a3_tw\":\"ERI\",\"adm0_a3_in\":\"ERI\",\"adm0_a3_np\":\"ERI\",\"adm0_a3_pk\":\"ERI\",\"adm0_a3_de\":\"ERI\",\"adm0_a3_gb\":\"ERI\",\"adm0_a3_br\":\"ERI\",\"adm0_a3_il\":\"ERI\",\"adm0_a3_ps\":\"ERI\",\"adm0_a3_sa\":\"ERI\",\"adm0_a3_eg\":\"ERI\",\"adm0_a3_ma\":\"ERI\",\"adm0_a3_pt\":\"ERI\",\"adm0_a3_ar\":\"ERI\",\"adm0_a3_jp\":\"ERI\",\"adm0_a3_ko\":\"ERI\",\"adm0_a3_vn\":\"ERI\",\"adm0_a3_tr\":\"ERI\",\"adm0_a3_id\":\"ERI\",\"adm0_a3_pl\":\"ERI\",\"adm0_a3_gr\":\"ERI\",\"adm0_a3_it\":\"ERI\",\"adm0_a3_nl\":\"ERI\",\"adm0_a3_se\":\"ERI\",\"adm0_a3_bd\":\"ERI\",\"adm0_a3_ua\":\"ERI\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Eastern Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":7,\"long_len\":7,\"abbrev_len\":5,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":38.285566,\"label_y\":15.787401,\"ne_id\":1159320581,\"wikidataid\":\"Q986\",\"name_ar\":\"إريتريا\",\"name_bn\":\"ইরিত্রিয়া\",\"name_de\":\"Eritrea\",\"name_en\":\"Eritrea\",\"name_es\":\"Eritrea\",\"name_fa\":\"اریتره\",\"name_fr\":\"Érythrée\",\"name_el\":\"Ερυθραία\",\"name_he\":\"אריתריאה\",\"name_hi\":\"इरित्रिया\",\"name_hu\":\"Eritrea\",\"name_id\":\"Eritrea\",\"name_it\":\"Eritrea\",\"name_ja\":\"エリトリア\",\"name_ko\":\"에리트레아\",\"name_nl\":\"Eritrea\",\"name_pl\":\"Erytrea\",\"name_pt\":\"Eritreia\",\"name_ru\":\"Эритрея\",\"name_sv\":\"Eritrea\",\"name_tr\":\"Eritre\",\"name_uk\":\"Еритрея\",\"name_ur\":\"اریتریا\",\"name_vi\":\"Eritrea\",\"name_zh\":\"厄立特里亚\",\"name_zht\":\"厄利垂亞\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"ERI.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[36.42951,14.42211],[36.32322,14.82249],[36.75389,16.29186],[36.852530000000115,16.95655],[37.16747,17.263140000000135],[37.90400000000011,17.42754],[38.410089959473225,17.998307399970315],[38.990622999840014,16.840626125551694],[39.26611006038803,15.92272349696725],[39.814293654140215,15.435647284400318],[41.17927493669765,14.491079616753211],[41.73495161313235,13.921036892141558],[42.27683068214486,13.343992010954423],[42.58957645037526,13.000421250861905],[43.08122602720016,12.699638576707116],[42.77964236834475,12.455415757695675],[42.35156000000012,12.542230000000131],[42.00975,12.86582],[41.59856,13.452090000000112],[41.1552,13.77333],[40.8966,14.118640000000141],[40.02625000000012,14.51959],[39.34061,14.53155],[39.0994,14.74064],[38.51295,14.50547],[37.90607000000011,14.959430000000168],[37.59377,14.2131],[36.42951,14.42211]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Ivory Coast\",\"sov_a3\":\"CIV\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Ivory Coast\",\"adm0_a3\":\"CIV\",\"geou_dif\":0,\"geounit\":\"Ivory Coast\",\"gu_a3\":\"CIV\",\"su_dif\":0,\"subunit\":\"Ivory Coast\",\"su_a3\":\"CIV\",\"brk_diff\":0,\"name\":\"Côte d'Ivoire\",\"name_long\":\"Côte d'Ivoire\",\"brk_a3\":\"CIV\",\"brk_name\":\"Côte d'Ivoire\",\"brk_group\":null,\"abbrev\":\"I.C.\",\"postal\":\"CI\",\"formal_en\":\"Republic of Ivory Coast\",\"formal_fr\":\"Republic of Cote D'Ivoire\",\"name_ciawf\":\"Cote D'ivoire\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Côte d'Ivoire\",\"name_alt\":null,\"mapcolor7\":4,\"mapcolor8\":6,\"mapcolor9\":3,\"mapcolor13\":3,\"pop_est\":25716544,\"pop_rank\":15,\"pop_year\":2019,\"gdp_md\":58539,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"IV\",\"iso_a2\":\"CI\",\"iso_a2_eh\":\"CI\",\"iso_a3\":\"CIV\",\"iso_a3_eh\":\"CIV\",\"iso_n3\":\"384\",\"iso_n3_eh\":\"384\",\"un_a3\":\"384\",\"wb_a2\":\"CI\",\"wb_a3\":\"CIV\",\"woe_id\":23424854,\"woe_id_eh\":23424854,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"CIV\",\"adm0_diff\":null,\"adm0_tlc\":\"CIV\",\"adm0_a3_us\":\"CIV\",\"adm0_a3_fr\":\"CIV\",\"adm0_a3_ru\":\"CIV\",\"adm0_a3_es\":\"CIV\",\"adm0_a3_cn\":\"CIV\",\"adm0_a3_tw\":\"CIV\",\"adm0_a3_in\":\"CIV\",\"adm0_a3_np\":\"CIV\",\"adm0_a3_pk\":\"CIV\",\"adm0_a3_de\":\"CIV\",\"adm0_a3_gb\":\"CIV\",\"adm0_a3_br\":\"CIV\",\"adm0_a3_il\":\"CIV\",\"adm0_a3_ps\":\"CIV\",\"adm0_a3_sa\":\"CIV\",\"adm0_a3_eg\":\"CIV\",\"adm0_a3_ma\":\"CIV\",\"adm0_a3_pt\":\"CIV\",\"adm0_a3_ar\":\"CIV\",\"adm0_a3_jp\":\"CIV\",\"adm0_a3_ko\":\"CIV\",\"adm0_a3_vn\":\"CIV\",\"adm0_a3_tr\":\"CIV\",\"adm0_a3_id\":\"CIV\",\"adm0_a3_pl\":\"CIV\",\"adm0_a3_gr\":\"CIV\",\"adm0_a3_it\":\"CIV\",\"adm0_a3_nl\":\"CIV\",\"adm0_a3_se\":\"CIV\",\"adm0_a3_bd\":\"CIV\",\"adm0_a3_ua\":\"CIV\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Western Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":13,\"long_len\":13,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":2.5,\"max_label\":8,\"label_x\":-5.568618,\"label_y\":7.49139,\"ne_id\":1159320507,\"wikidataid\":\"Q1008\",\"name_ar\":\"ساحل العاج\",\"name_bn\":\"কোত দিভোয়ার\",\"name_de\":\"Elfenbeinküste\",\"name_en\":\"Ivory Coast\",\"name_es\":\"Costa de Marfil\",\"name_fa\":\"ساحل عاج\",\"name_fr\":\"Côte d'Ivoire\",\"name_el\":\"Ακτή Ελεφαντοστού\",\"name_he\":\"חוף השנהב\",\"name_hi\":\"कोत दिव्वार\",\"name_hu\":\"Elefántcsontpart\",\"name_id\":\"Pantai Gading\",\"name_it\":\"Costa d'Avorio\",\"name_ja\":\"コートジボワール\",\"name_ko\":\"코트디부아르\",\"name_nl\":\"Ivoorkust\",\"name_pl\":\"Wybrzeże Kości Słoniowej\",\"name_pt\":\"Costa do Marfim\",\"name_ru\":\"Кот-д’Ивуар\",\"name_sv\":\"Elfenbenskusten\",\"name_tr\":\"Fildişi Sahili\",\"name_uk\":\"Кот-д'Івуар\",\"name_ur\":\"کوت داوواغ\",\"name_vi\":\"Bờ Biển Ngà\",\"name_zh\":\"科特迪瓦\",\"name_zht\":\"象牙海岸\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"CIV.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-8.029943610048619,10.206534939001713],[-7.899589809592372,10.297382106970828],[-7.622759161804809,10.147236232946796],[-6.850506557635057,10.138993841996239],[-6.666460944027548,10.430810655148449],[-6.493965013037268,10.411302801958271],[-6.205222947606431,10.524060777219134],[-6.050452032892267,10.096360785355444],[-5.816926235365287,10.222554633012194],[-5.404341599946974,10.370736802609146],[-4.954653286143099,10.152713934769736],[-4.779883592131966,9.821984768101743],[-4.330246954760383,9.610834865757141],[-3.980449184576685,9.8623440617217],[-3.511898972986273,9.90032623945622],[-2.827496303712707,9.642460842319778],[-2.562189500326241,8.219627793811483],[-2.983584967450327,7.379704901555513],[-3.244370083011262,6.250471503113502],[-2.81070146321784,5.38905121502411],[-2.856125047202397,4.994475816259509],[-3.311084357100071,4.984295559098015],[-4.008819545904942,5.179813340674315],[-4.649917364917911,5.168263658057086],[-5.834496222344526,4.993700669775137],[-6.528769090185847,4.705087795425015],[-7.518941209330436,4.338288479017308],[-7.71215938966975,4.364565944837722],[-7.635368211284031,5.188159084489456],[-7.539715135111763,5.313345241716519],[-7.570152553731688,5.707352199725904],[-7.993692592795881,6.126189683451543],[-8.311347622094019,6.193033148621083],[-8.60288021486862,6.46756419517166],[-8.385451626000574,6.911800645368743],[-8.48544552248535,7.39520783124307],[-8.439298468448698,7.686042792181738],[-8.280703497744938,7.687179673692157],[-8.221792364932199,8.123328762235573],[-8.299048631208564,8.316443589710303],[-8.20349890790088,8.455453192575447],[-7.832100389019188,8.575704250518626],[-8.07911373537435,9.376223863152035],[-8.30961646161225,9.789531968622441],[-8.229337124046822,10.1290202905639],[-8.029943610048619,10.206534939001713]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Mali\",\"sov_a3\":\"MLI\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Mali\",\"adm0_a3\":\"MLI\",\"geou_dif\":0,\"geounit\":\"Mali\",\"gu_a3\":\"MLI\",\"su_dif\":0,\"subunit\":\"Mali\",\"su_a3\":\"MLI\",\"brk_diff\":0,\"name\":\"Mali\",\"name_long\":\"Mali\",\"brk_a3\":\"MLI\",\"brk_name\":\"Mali\",\"brk_group\":null,\"abbrev\":\"Mali\",\"postal\":\"ML\",\"formal_en\":\"Republic of Mali\",\"formal_fr\":null,\"name_ciawf\":\"Mali\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Mali\",\"name_alt\":null,\"mapcolor7\":1,\"mapcolor8\":4,\"mapcolor9\":1,\"mapcolor13\":7,\"pop_est\":19658031,\"pop_rank\":14,\"pop_year\":2019,\"gdp_md\":17279,\"gdp_year\":2019,\"economy\":\"7. Least developed region\",\"income_grp\":\"5. Low income\",\"fips_10\":\"ML\",\"iso_a2\":\"ML\",\"iso_a2_eh\":\"ML\",\"iso_a3\":\"MLI\",\"iso_a3_eh\":\"MLI\",\"iso_n3\":\"466\",\"iso_n3_eh\":\"466\",\"un_a3\":\"466\",\"wb_a2\":\"ML\",\"wb_a3\":\"MLI\",\"woe_id\":23424891,\"woe_id_eh\":23424891,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"MLI\",\"adm0_diff\":null,\"adm0_tlc\":\"MLI\",\"adm0_a3_us\":\"MLI\",\"adm0_a3_fr\":\"MLI\",\"adm0_a3_ru\":\"MLI\",\"adm0_a3_es\":\"MLI\",\"adm0_a3_cn\":\"MLI\",\"adm0_a3_tw\":\"MLI\",\"adm0_a3_in\":\"MLI\",\"adm0_a3_np\":\"MLI\",\"adm0_a3_pk\":\"MLI\",\"adm0_a3_de\":\"MLI\",\"adm0_a3_gb\":\"MLI\",\"adm0_a3_br\":\"MLI\",\"adm0_a3_il\":\"MLI\",\"adm0_a3_ps\":\"MLI\",\"adm0_a3_sa\":\"MLI\",\"adm0_a3_eg\":\"MLI\",\"adm0_a3_ma\":\"MLI\",\"adm0_a3_pt\":\"MLI\",\"adm0_a3_ar\":\"MLI\",\"adm0_a3_jp\":\"MLI\",\"adm0_a3_ko\":\"MLI\",\"adm0_a3_vn\":\"MLI\",\"adm0_a3_tr\":\"MLI\",\"adm0_a3_id\":\"MLI\",\"adm0_a3_pl\":\"MLI\",\"adm0_a3_gr\":\"MLI\",\"adm0_a3_it\":\"MLI\",\"adm0_a3_nl\":\"MLI\",\"adm0_a3_se\":\"MLI\",\"adm0_a3_bd\":\"MLI\",\"adm0_a3_ua\":\"MLI\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Western Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":4,\"long_len\":4,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":7,\"label_x\":-2.038455,\"label_y\":18.692713,\"ne_id\":1159321063,\"wikidataid\":\"Q912\",\"name_ar\":\"مالي\",\"name_bn\":\"মালি\",\"name_de\":\"Mali\",\"name_en\":\"Mali\",\"name_es\":\"Malí\",\"name_fa\":\"مالی\",\"name_fr\":\"Mali\",\"name_el\":\"Μάλι\",\"name_he\":\"מאלי\",\"name_hi\":\"माली\",\"name_hu\":\"Mali\",\"name_id\":\"Mali\",\"name_it\":\"Mali\",\"name_ja\":\"マリ共和国\",\"name_ko\":\"말리\",\"name_nl\":\"Mali\",\"name_pl\":\"Mali\",\"name_pt\":\"Mali\",\"name_ru\":\"Мали\",\"name_sv\":\"Mali\",\"name_tr\":\"Mali\",\"name_uk\":\"Малі\",\"name_ur\":\"مالی\",\"name_vi\":\"Mali\",\"name_zh\":\"马里\",\"name_zht\":\"馬利共和國\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"MLI.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-11.51394283695059,12.442987575729418],[-11.467899135778524,12.754518947800975],[-11.55339779300543,13.141213690641067],[-11.927716030311615,13.422075100147396],[-12.12488745772126,13.994727484589788],[-12.170750291380301,14.616834214735505],[-11.834207526079467,14.79909699142894],[-11.666078253617854,15.388208319556298],[-11.349095017939504,15.411256008358478],[-10.650791388379417,15.132745876521426],[-10.086846482778213,15.330485744686271],[-9.700255092802706,15.264107367407362],[-9.55023840985939,15.486496893775438],[-5.537744309908447,15.501689764869257],[-5.315277268891933,16.20185374599184],[-5.488522508150439,16.325102037007966],[-5.971128709324248,20.64083344164763],[-6.453786586930335,24.956590684503425],[-4.923337368174231,24.974574082941],[-1.550054897457613,22.792665920497384],[1.823227573259032,20.610809434486043],[2.06099083823392,20.142233384679486],[2.683588494486429,19.856230170160117],[3.1466610042539,19.693578599521445],[3.158133172222705,19.057364203360038],[4.267419467800039,19.155265204337],[4.270209995143802,16.852227484601215],[3.723421665063483,16.184283759012615],[3.638258904646477,15.568119818580456],[2.749992709981484,15.409524847876696],[1.385528191746858,15.323561102759172],[1.015783318698482,14.96818227788799],[0.374892205414682,14.92890818934613],[-0.26625729003058,14.924308986872148],[-0.515854458000348,15.116157741755728],[-1.066363491205664,14.973815009007765],[-2.001035122068771,14.559008287000893],[-2.191824510090385,14.246417548067356],[-2.967694464520577,13.79815033615151],[-3.10370683431276,13.541266791228594],[-3.522802700199861,13.337661647998615],[-4.006390753587226,13.472485459848116],[-4.28040503581488,13.228443508349741],[-4.427166103523803,12.542645575404295],[-5.220941941743121,11.713858954307227],[-5.197842576508648,11.37514577885014],[-5.470564947929006,10.951269842976048],[-5.404341599946974,10.370736802609146],[-5.816926235365287,10.222554633012194],[-6.050452032892267,10.096360785355444],[-6.205222947606431,10.524060777219134],[-6.493965013037268,10.411302801958271],[-6.666460944027548,10.430810655148449],[-6.850506557635057,10.138993841996239],[-7.622759161804809,10.147236232946796],[-7.899589809592372,10.297382106970828],[-8.029943610048619,10.206534939001713],[-8.33537716310974,10.494811916541934],[-8.282357143578281,10.792597357623846],[-8.407310756860028,10.909256903522762],[-8.620321010767128,10.810890814655183],[-8.581305304386774,11.136245632364805],[-8.376304897484914,11.393645941610629],[-8.786099005559464,11.812560939984706],[-8.90526485842453,12.088358059126437],[-9.127473517279583,12.308060411015333],[-9.327616339546012,12.334286200403454],[-9.567911749703214,12.194243068892476],[-9.890992804392013,12.060478623904972],[-10.165213792348837,11.844083563682744],[-10.593223842806282,11.92397532800598],[-10.870829637078215,12.17788747807211],[-11.03655595543826,12.211244615116515],[-11.297573614944511,12.077971096235771],[-11.456168585648271,12.076834214725338],[-11.51394283695059,12.442987575729418]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Senegal\",\"sov_a3\":\"SEN\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Senegal\",\"adm0_a3\":\"SEN\",\"geou_dif\":0,\"geounit\":\"Senegal\",\"gu_a3\":\"SEN\",\"su_dif\":0,\"subunit\":\"Senegal\",\"su_a3\":\"SEN\",\"brk_diff\":0,\"name\":\"Senegal\",\"name_long\":\"Senegal\",\"brk_a3\":\"SEN\",\"brk_name\":\"Senegal\",\"brk_group\":null,\"abbrev\":\"Sen.\",\"postal\":\"SN\",\"formal_en\":\"Republic of Senegal\",\"formal_fr\":null,\"name_ciawf\":\"Senegal\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Senegal\",\"name_alt\":null,\"mapcolor7\":2,\"mapcolor8\":6,\"mapcolor9\":5,\"mapcolor13\":5,\"pop_est\":16296364,\"pop_rank\":14,\"pop_year\":2019,\"gdp_md\":23578,\"gdp_year\":2019,\"economy\":\"7. Least developed region\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"SG\",\"iso_a2\":\"SN\",\"iso_a2_eh\":\"SN\",\"iso_a3\":\"SEN\",\"iso_a3_eh\":\"SEN\",\"iso_n3\":\"686\",\"iso_n3_eh\":\"686\",\"un_a3\":\"686\",\"wb_a2\":\"SN\",\"wb_a3\":\"SEN\",\"woe_id\":23424943,\"woe_id_eh\":23424943,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"SEN\",\"adm0_diff\":null,\"adm0_tlc\":\"SEN\",\"adm0_a3_us\":\"SEN\",\"adm0_a3_fr\":\"SEN\",\"adm0_a3_ru\":\"SEN\",\"adm0_a3_es\":\"SEN\",\"adm0_a3_cn\":\"SEN\",\"adm0_a3_tw\":\"SEN\",\"adm0_a3_in\":\"SEN\",\"adm0_a3_np\":\"SEN\",\"adm0_a3_pk\":\"SEN\",\"adm0_a3_de\":\"SEN\",\"adm0_a3_gb\":\"SEN\",\"adm0_a3_br\":\"SEN\",\"adm0_a3_il\":\"SEN\",\"adm0_a3_ps\":\"SEN\",\"adm0_a3_sa\":\"SEN\",\"adm0_a3_eg\":\"SEN\",\"adm0_a3_ma\":\"SEN\",\"adm0_a3_pt\":\"SEN\",\"adm0_a3_ar\":\"SEN\",\"adm0_a3_jp\":\"SEN\",\"adm0_a3_ko\":\"SEN\",\"adm0_a3_vn\":\"SEN\",\"adm0_a3_tr\":\"SEN\",\"adm0_a3_id\":\"SEN\",\"adm0_a3_pl\":\"SEN\",\"adm0_a3_gr\":\"SEN\",\"adm0_a3_it\":\"SEN\",\"adm0_a3_nl\":\"SEN\",\"adm0_a3_se\":\"SEN\",\"adm0_a3_bd\":\"SEN\",\"adm0_a3_ua\":\"SEN\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Western Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":7,\"long_len\":7,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":2.7,\"max_label\":8,\"label_x\":-14.778586,\"label_y\":15.138125,\"ne_id\":1159321243,\"wikidataid\":\"Q1041\",\"name_ar\":\"السنغال\",\"name_bn\":\"সেনেগাল\",\"name_de\":\"Senegal\",\"name_en\":\"Senegal\",\"name_es\":\"Senegal\",\"name_fa\":\"سنگال\",\"name_fr\":\"Sénégal\",\"name_el\":\"Σενεγάλη\",\"name_he\":\"סנגל\",\"name_hi\":\"सेनेगल\",\"name_hu\":\"Szenegál\",\"name_id\":\"Senegal\",\"name_it\":\"Senegal\",\"name_ja\":\"セネガル\",\"name_ko\":\"세네갈\",\"name_nl\":\"Senegal\",\"name_pl\":\"Senegal\",\"name_pt\":\"Senegal\",\"name_ru\":\"Сенегал\",\"name_sv\":\"Senegal\",\"name_tr\":\"Senegal\",\"name_uk\":\"Сенегал\",\"name_ur\":\"سینیگال\",\"name_vi\":\"Sénégal\",\"name_zh\":\"塞内加尔\",\"name_zht\":\"塞內加爾\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"SEN.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-16.71372880702347,13.594958604379855],[-17.126106736712615,14.373515733289224],[-17.62504269049066,14.729540513564073],[-17.18517289882223,14.919477240452862],[-16.700706346085923,15.621527411354108],[-16.463098110407884,16.13503611903846],[-16.12069007004193,16.455662543193384],[-15.623666144258692,16.369337063049812],[-15.135737270558819,16.587282416240782],[-14.577347581428981,16.59826365810281],[-14.099521450242179,16.304302273010492],[-13.435737677453062,16.03938304286619],[-12.830658331747516,15.303691514542948],[-12.170750291380301,14.616834214735505],[-12.12488745772126,13.994727484589788],[-11.927716030311615,13.422075100147396],[-11.55339779300543,13.141213690641067],[-11.467899135778524,12.754518947800975],[-11.51394283695059,12.442987575729418],[-11.658300950557932,12.386582749882836],[-12.203564825885634,12.465647691289405],[-12.27859900557344,12.354440008997287],[-12.499050665730564,12.332089952031057],[-13.217818162478238,12.575873521367967],[-13.700476040084325,12.586182969610194],[-15.54847693527401,12.628170070847347],[-15.816574266004254,12.515567124883347],[-16.147716844130585,12.547761542201187],[-16.677451951554573,12.384851589401052],[-16.841524624081273,13.15139394780256],[-15.931295945692211,13.130284125211332],[-15.691000535534995,13.270353094938457],[-15.511812506562933,13.278569647672867],[-15.141163295949468,13.509511623585238],[-14.712197231494628,13.298206691943777],[-14.277701788784555,13.280585028532244],[-13.844963344772408,13.505041612192002],[-14.046992356817482,13.79406789800045],[-14.376713833055788,13.625680243377374],[-14.687030808968487,13.630356960499784],[-15.08173539881382,13.876491807505985],[-15.39877031092446,13.86036876063092],[-15.624596320039942,13.62358734786956],[-16.71372880702347,13.594958604379855]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":2,\"sovereignt\":\"Nigeria\",\"sov_a3\":\"NGA\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Nigeria\",\"adm0_a3\":\"NGA\",\"geou_dif\":0,\"geounit\":\"Nigeria\",\"gu_a3\":\"NGA\",\"su_dif\":0,\"subunit\":\"Nigeria\",\"su_a3\":\"NGA\",\"brk_diff\":0,\"name\":\"Nigeria\",\"name_long\":\"Nigeria\",\"brk_a3\":\"NGA\",\"brk_name\":\"Nigeria\",\"brk_group\":null,\"abbrev\":\"Nigeria\",\"postal\":\"NG\",\"formal_en\":\"Federal Republic of Nigeria\",\"formal_fr\":null,\"name_ciawf\":\"Nigeria\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Nigeria\",\"name_alt\":null,\"mapcolor7\":3,\"mapcolor8\":2,\"mapcolor9\":5,\"mapcolor13\":2,\"pop_est\":200963599,\"pop_rank\":17,\"pop_year\":2019,\"gdp_md\":448120,\"gdp_year\":2019,\"economy\":\"5. Emerging region: G20\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"NI\",\"iso_a2\":\"NG\",\"iso_a2_eh\":\"NG\",\"iso_a3\":\"NGA\",\"iso_a3_eh\":\"NGA\",\"iso_n3\":\"566\",\"iso_n3_eh\":\"566\",\"un_a3\":\"566\",\"wb_a2\":\"NG\",\"wb_a3\":\"NGA\",\"woe_id\":23424908,\"woe_id_eh\":23424908,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"NGA\",\"adm0_diff\":null,\"adm0_tlc\":\"NGA\",\"adm0_a3_us\":\"NGA\",\"adm0_a3_fr\":\"NGA\",\"adm0_a3_ru\":\"NGA\",\"adm0_a3_es\":\"NGA\",\"adm0_a3_cn\":\"NGA\",\"adm0_a3_tw\":\"NGA\",\"adm0_a3_in\":\"NGA\",\"adm0_a3_np\":\"NGA\",\"adm0_a3_pk\":\"NGA\",\"adm0_a3_de\":\"NGA\",\"adm0_a3_gb\":\"NGA\",\"adm0_a3_br\":\"NGA\",\"adm0_a3_il\":\"NGA\",\"adm0_a3_ps\":\"NGA\",\"adm0_a3_sa\":\"NGA\",\"adm0_a3_eg\":\"NGA\",\"adm0_a3_ma\":\"NGA\",\"adm0_a3_pt\":\"NGA\",\"adm0_a3_ar\":\"NGA\",\"adm0_a3_jp\":\"NGA\",\"adm0_a3_ko\":\"NGA\",\"adm0_a3_vn\":\"NGA\",\"adm0_a3_tr\":\"NGA\",\"adm0_a3_id\":\"NGA\",\"adm0_a3_pl\":\"NGA\",\"adm0_a3_gr\":\"NGA\",\"adm0_a3_it\":\"NGA\",\"adm0_a3_nl\":\"NGA\",\"adm0_a3_se\":\"NGA\",\"adm0_a3_bd\":\"NGA\",\"adm0_a3_ua\":\"NGA\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Western Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":7,\"long_len\":7,\"abbrev_len\":7,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":1.7,\"max_label\":6.7,\"label_x\":7.50322,\"label_y\":9.439799,\"ne_id\":1159321089,\"wikidataid\":\"Q1033\",\"name_ar\":\"نيجيريا\",\"name_bn\":\"নাইজেরিয়া\",\"name_de\":\"Nigeria\",\"name_en\":\"Nigeria\",\"name_es\":\"Nigeria\",\"name_fa\":\"نیجریه\",\"name_fr\":\"Nigeria\",\"name_el\":\"Νιγηρία\",\"name_he\":\"ניגריה\",\"name_hi\":\"नाईजीरिया\",\"name_hu\":\"Nigéria\",\"name_id\":\"Nigeria\",\"name_it\":\"Nigeria\",\"name_ja\":\"ナイジェリア\",\"name_ko\":\"나이지리아\",\"name_nl\":\"Nigeria\",\"name_pl\":\"Nigeria\",\"name_pt\":\"Nigéria\",\"name_ru\":\"Нигерия\",\"name_sv\":\"Nigeria\",\"name_tr\":\"Nijerya\",\"name_uk\":\"Нігерія\",\"name_ur\":\"نائجیریا\",\"name_vi\":\"Nigeria\",\"name_zh\":\"尼日利亚\",\"name_zht\":\"奈及利亞\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"NGA.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[2.691701694356254,6.258817246928629],[2.74906253420022,7.870734361192888],[2.723792758809509,8.50684540448971],[2.912308383810256,9.137607937044322],[3.220351596702101,9.444152533399702],[3.705438266625919,10.063210354040208],[3.600070021182802,10.332186184119408],[3.797112257511714,10.734745591673105],[3.572216424177469,11.32793935795152],[3.611180454125559,11.660167141155968],[3.680633579125811,12.552903347214226],[3.967282749048849,12.956108710171575],[4.107945997747322,13.531215725147831],[4.368343540066007,13.747481594289411],[5.443058302440136,13.865923977102227],[6.445426059605637,13.492768459522678],[6.820441928747754,13.115091254117518],[7.330746697630019,13.0980380314612],[7.804671258178786,13.343526923063747],[9.014933302454438,12.826659247280418],[9.524928012742947,12.851102199754479],[10.114814487354693,13.27725189864941],[10.701031935273706,13.246917832894084],[10.989593133191534,13.387322699431195],[11.527803175511394,13.328980007373588],[12.302071160540523,13.037189032437524],[13.083987257548813,13.596147162322495],[13.318701613018561,13.556356309457826],[13.995352817448293,12.461565253138303],[14.181336297266794,12.483656927943116],[14.577177768622533,12.085360826053503],[14.468192172918975,11.904751695193411],[14.415378859116684,11.572368882692075],[13.572949659894562,10.798565985553566],[13.308676385153918,10.160362046748928],[13.167599724997103,9.640626328973411],[12.955467970438974,9.417771714714704],[12.753671502339216,8.717762762888995],[12.218872104550599,8.305824082874324],[12.063946160539558,7.799808457872302],[11.839308709366803,7.397042344589437],[11.74577436691851,6.981382961449754],[11.058787876030351,6.644426784690594],[10.497375115611419,7.055357774275564],[10.118276808318257,7.03876963950988],[9.522705926154401,6.453482367372117],[9.233162876023044,6.444490668153335],[8.757532993208628,5.479665839047911],[8.500287713259695,4.771982937026849],[7.462108188515941,4.412108262546241],[7.082596469764439,4.464689032403228],[6.6980721370806,4.240594183769517],[5.898172641634687,4.262453314628985],[5.362804803090881,4.887970689305959],[5.033574252959369,5.611802476418234],[4.325607130560684,6.270651149923467],[3.574180128604553,6.258300482605719],[2.691701694356254,6.258817246928629]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":5,\"sovereignt\":\"Benin\",\"sov_a3\":\"BEN\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Benin\",\"adm0_a3\":\"BEN\",\"geou_dif\":0,\"geounit\":\"Benin\",\"gu_a3\":\"BEN\",\"su_dif\":0,\"subunit\":\"Benin\",\"su_a3\":\"BEN\",\"brk_diff\":0,\"name\":\"Benin\",\"name_long\":\"Benin\",\"brk_a3\":\"BEN\",\"brk_name\":\"Benin\",\"brk_group\":null,\"abbrev\":\"Benin\",\"postal\":\"BJ\",\"formal_en\":\"Republic of Benin\",\"formal_fr\":null,\"name_ciawf\":\"Benin\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Benin\",\"name_alt\":null,\"mapcolor7\":1,\"mapcolor8\":2,\"mapcolor9\":2,\"mapcolor13\":12,\"pop_est\":11801151,\"pop_rank\":14,\"pop_year\":2019,\"gdp_md\":14390,\"gdp_year\":2019,\"economy\":\"7. Least developed region\",\"income_grp\":\"5. Low income\",\"fips_10\":\"BN\",\"iso_a2\":\"BJ\",\"iso_a2_eh\":\"BJ\",\"iso_a3\":\"BEN\",\"iso_a3_eh\":\"BEN\",\"iso_n3\":\"204\",\"iso_n3_eh\":\"204\",\"un_a3\":\"204\",\"wb_a2\":\"BJ\",\"wb_a3\":\"BEN\",\"woe_id\":23424764,\"woe_id_eh\":23424764,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"BEN\",\"adm0_diff\":null,\"adm0_tlc\":\"BEN\",\"adm0_a3_us\":\"BEN\",\"adm0_a3_fr\":\"BEN\",\"adm0_a3_ru\":\"BEN\",\"adm0_a3_es\":\"BEN\",\"adm0_a3_cn\":\"BEN\",\"adm0_a3_tw\":\"BEN\",\"adm0_a3_in\":\"BEN\",\"adm0_a3_np\":\"BEN\",\"adm0_a3_pk\":\"BEN\",\"adm0_a3_de\":\"BEN\",\"adm0_a3_gb\":\"BEN\",\"adm0_a3_br\":\"BEN\",\"adm0_a3_il\":\"BEN\",\"adm0_a3_ps\":\"BEN\",\"adm0_a3_sa\":\"BEN\",\"adm0_a3_eg\":\"BEN\",\"adm0_a3_ma\":\"BEN\",\"adm0_a3_pt\":\"BEN\",\"adm0_a3_ar\":\"BEN\",\"adm0_a3_jp\":\"BEN\",\"adm0_a3_ko\":\"BEN\",\"adm0_a3_vn\":\"BEN\",\"adm0_a3_tr\":\"BEN\",\"adm0_a3_id\":\"BEN\",\"adm0_a3_pl\":\"BEN\",\"adm0_a3_gr\":\"BEN\",\"adm0_a3_it\":\"BEN\",\"adm0_a3_nl\":\"BEN\",\"adm0_a3_se\":\"BEN\",\"adm0_a3_bd\":\"BEN\",\"adm0_a3_ua\":\"BEN\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Western Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":5,\"long_len\":5,\"abbrev_len\":5,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":2.352018,\"label_y\":10.324775,\"ne_id\":1159320399,\"wikidataid\":\"Q962\",\"name_ar\":\"بنين\",\"name_bn\":\"বেনিন\",\"name_de\":\"Benin\",\"name_en\":\"Benin\",\"name_es\":\"Benín\",\"name_fa\":\"بنین\",\"name_fr\":\"Bénin\",\"name_el\":\"Μπενίν\",\"name_he\":\"בנין\",\"name_hi\":\"बेनिन\",\"name_hu\":\"Benin\",\"name_id\":\"Benin\",\"name_it\":\"Benin\",\"name_ja\":\"ベナン\",\"name_ko\":\"베냉\",\"name_nl\":\"Benin\",\"name_pl\":\"Benin\",\"name_pt\":\"Benim\",\"name_ru\":\"Бенин\",\"name_sv\":\"Benin\",\"name_tr\":\"Benin\",\"name_uk\":\"Бенін\",\"name_ur\":\"بینن\",\"name_vi\":\"Bénin\",\"name_zh\":\"贝宁\",\"name_zht\":\"貝南\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"BEN.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[2.691701694356254,6.258817246928629],[1.865240512712319,6.142157701029731],[1.618950636409238,6.832038072126238],[1.664477573258381,9.12859039960938],[1.46304284018467,9.334624335157088],[1.425060662450136,9.825395412633],[1.077795037448738,10.175606594275024],[0.772335646171484,10.470808213742359],[0.899563022474069,10.99733938236426],[1.243469679376489,11.110510769083461],[1.447178175471066,11.547719224488858],[1.935985548519881,11.641150214072553],[2.154473504249921,11.940150051313339],[2.49016360841793,12.233052069543675],[2.848643019226586,12.23563589115821],[3.611180454125559,11.660167141155968],[3.572216424177469,11.32793935795152],[3.797112257511714,10.734745591673105],[3.600070021182802,10.332186184119408],[3.705438266625919,10.063210354040208],[3.220351596702101,9.444152533399702],[2.912308383810256,9.137607937044322],[2.723792758809509,8.50684540448971],[2.74906253420022,7.870734361192888],[2.691701694356254,6.258817246928629]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Angola\",\"sov_a3\":\"AGO\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Angola\",\"adm0_a3\":\"AGO\",\"geou_dif\":0,\"geounit\":\"Angola\",\"gu_a3\":\"AGO\",\"su_dif\":0,\"subunit\":\"Angola\",\"su_a3\":\"AGO\",\"brk_diff\":0,\"name\":\"Angola\",\"name_long\":\"Angola\",\"brk_a3\":\"AGO\",\"brk_name\":\"Angola\",\"brk_group\":null,\"abbrev\":\"Ang.\",\"postal\":\"AO\",\"formal_en\":\"People's Republic of Angola\",\"formal_fr\":null,\"name_ciawf\":\"Angola\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Angola\",\"name_alt\":null,\"mapcolor7\":3,\"mapcolor8\":2,\"mapcolor9\":6,\"mapcolor13\":1,\"pop_est\":31825295,\"pop_rank\":15,\"pop_year\":2019,\"gdp_md\":88815,\"gdp_year\":2019,\"economy\":\"7. Least developed region\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"AO\",\"iso_a2\":\"AO\",\"iso_a2_eh\":\"AO\",\"iso_a3\":\"AGO\",\"iso_a3_eh\":\"AGO\",\"iso_n3\":\"024\",\"iso_n3_eh\":\"024\",\"un_a3\":\"024\",\"wb_a2\":\"AO\",\"wb_a3\":\"AGO\",\"woe_id\":23424745,\"woe_id_eh\":23424745,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"AGO\",\"adm0_diff\":null,\"adm0_tlc\":\"AGO\",\"adm0_a3_us\":\"AGO\",\"adm0_a3_fr\":\"AGO\",\"adm0_a3_ru\":\"AGO\",\"adm0_a3_es\":\"AGO\",\"adm0_a3_cn\":\"AGO\",\"adm0_a3_tw\":\"AGO\",\"adm0_a3_in\":\"AGO\",\"adm0_a3_np\":\"AGO\",\"adm0_a3_pk\":\"AGO\",\"adm0_a3_de\":\"AGO\",\"adm0_a3_gb\":\"AGO\",\"adm0_a3_br\":\"AGO\",\"adm0_a3_il\":\"AGO\",\"adm0_a3_ps\":\"AGO\",\"adm0_a3_sa\":\"AGO\",\"adm0_a3_eg\":\"AGO\",\"adm0_a3_ma\":\"AGO\",\"adm0_a3_pt\":\"AGO\",\"adm0_a3_ar\":\"AGO\",\"adm0_a3_jp\":\"AGO\",\"adm0_a3_ko\":\"AGO\",\"adm0_a3_vn\":\"AGO\",\"adm0_a3_tr\":\"AGO\",\"adm0_a3_id\":\"AGO\",\"adm0_a3_pl\":\"AGO\",\"adm0_a3_gr\":\"AGO\",\"adm0_a3_it\":\"AGO\",\"adm0_a3_nl\":\"AGO\",\"adm0_a3_se\":\"AGO\",\"adm0_a3_bd\":\"AGO\",\"adm0_a3_ua\":\"AGO\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Middle Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":6,\"long_len\":6,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":7,\"label_x\":17.984249,\"label_y\":-12.182762,\"ne_id\":1159320323,\"wikidataid\":\"Q916\",\"name_ar\":\"أنغولا\",\"name_bn\":\"অ্যাঙ্গোলা\",\"name_de\":\"Angola\",\"name_en\":\"Angola\",\"name_es\":\"Angola\",\"name_fa\":\"آنگولا\",\"name_fr\":\"Angola\",\"name_el\":\"Ανγκόλα\",\"name_he\":\"אנגולה\",\"name_hi\":\"अंगोला\",\"name_hu\":\"Angola\",\"name_id\":\"Angola\",\"name_it\":\"Angola\",\"name_ja\":\"アンゴラ\",\"name_ko\":\"앙골라\",\"name_nl\":\"Angola\",\"name_pl\":\"Angola\",\"name_pt\":\"Angola\",\"name_ru\":\"Ангола\",\"name_sv\":\"Angola\",\"name_tr\":\"Angola\",\"name_uk\":\"Ангола\",\"name_ur\":\"انگولا\",\"name_vi\":\"Angola\",\"name_zh\":\"安哥拉\",\"name_zht\":\"安哥拉\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"AGO.geojson\"},\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[[[12.995517205465177,-4.781103203961884],[12.63161176926579,-4.991271254092936],[12.468004184629736,-5.248361504745005],[12.436688266660868,-5.684303887559246],[12.182336866920252,-5.789930515163839],[11.91496300624209,-5.037986748884791],[12.318607618873926,-4.606230157086188],[12.620759718484493,-4.438023369976136],[12.995517205465177,-4.781103203961884]]],[[[12.32243167486351,-6.10009246177966],[12.735171339578699,-5.965682061388499],[13.024869419006961,-5.984388929878158],[13.375597364971895,-5.864241224799549],[16.326528354567046,-5.877470391466268],[16.573179965896145,-6.622644545115087],[16.8601908708452,-7.222297865429987],[17.08999596524717,-7.545688978712526],[17.472970004962235,-8.0685511206417],[18.13422163256905,-7.987677504104923],[18.464175652752687,-7.847014255406443],[19.01675174324967,-7.988245944860132],[19.16661339689611,-7.738183688999754],[19.41750247567316,-7.155428562044299],[20.037723016040218,-7.116361179231646],[20.091621534920648,-6.943090101756994],[20.6018229509383,-6.939317722199682],[20.5147481625265,-7.299605808138629],[21.7281107927397,-7.290872491081302],[21.74645592620331,-7.920084730667149],[21.949130893652043,-8.305900974158277],[21.8018013851879,-8.90870655684298],[21.875181919042348,-9.523707777548566],[22.208753289486395,-9.894796237836509],[22.155268182064308,-11.084801120653772],[22.402798292742375,-10.993075453335692],[22.83734541188474,-11.01762175867433],[23.45679080576744,-10.867863457892483],[23.912215203555718,-10.926826267137514],[24.01789350759259,-11.23729827234709],[23.904153680118185,-11.722281589406322],[24.079905226342845,-12.191296888887365],[23.930922072045377,-12.565847670138856],[24.016136508894675,-12.911046237848574],[21.933886346125917,-12.898437188369359],[21.887842644953874,-16.08031015387688],[22.56247846852426,-16.898451429921813],[23.215048455506064,-17.523116143465984],[21.377176141045567,-17.930636488519696],[18.956186964603603,-17.789094740472258],[18.263309360434164,-17.309950860262006],[14.209706658595024,-17.35310068122572],[14.05850141770901,-17.423380629142663],[13.462362094789967,-16.971211846588773],[12.814081251688407,-16.94134286872407],[12.215461460019355,-17.111668389558083],[11.734198846085121,-17.301889336824473],[11.64009606288161,-16.67314218512925],[11.778537224991537,-15.793816013250735],[12.12358076340439,-14.878316338767904],[12.175618930722294,-14.449143568583892],[12.50009524908299,-13.54769988368445],[12.738478631245385,-13.137905775609902],[13.312913852601866,-12.483630466362492],[13.6337211442698,-12.03864470789717],[13.738727654686897,-11.297863050993165],[13.686379428775238,-10.73107594161589],[13.387327915102162,-10.373578383020714],[13.120987583069846,-9.766897067914122],[12.875369500386569,-9.166933689005468],[12.92906131353783,-8.959091078327553],[13.236432732809874,-8.562629489784307],[12.93304039882429,-7.596538588087733],[12.728298374083892,-6.927122084178805],[12.227347039446471,-6.294447523629394],[12.32243167486351,-6.10009246177966]]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":4,\"sovereignt\":\"Botswana\",\"sov_a3\":\"BWA\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Botswana\",\"adm0_a3\":\"BWA\",\"geou_dif\":0,\"geounit\":\"Botswana\",\"gu_a3\":\"BWA\",\"su_dif\":0,\"subunit\":\"Botswana\",\"su_a3\":\"BWA\",\"brk_diff\":0,\"name\":\"Botswana\",\"name_long\":\"Botswana\",\"brk_a3\":\"BWA\",\"brk_name\":\"Botswana\",\"brk_group\":null,\"abbrev\":\"Bwa.\",\"postal\":\"BW\",\"formal_en\":\"Republic of Botswana\",\"formal_fr\":null,\"name_ciawf\":\"Botswana\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Botswana\",\"name_alt\":null,\"mapcolor7\":6,\"mapcolor8\":5,\"mapcolor9\":7,\"mapcolor13\":3,\"pop_est\":2303697,\"pop_rank\":12,\"pop_year\":2019,\"gdp_md\":18340,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"BC\",\"iso_a2\":\"BW\",\"iso_a2_eh\":\"BW\",\"iso_a3\":\"BWA\",\"iso_a3_eh\":\"BWA\",\"iso_n3\":\"072\",\"iso_n3_eh\":\"072\",\"un_a3\":\"072\",\"wb_a2\":\"BW\",\"wb_a3\":\"BWA\",\"woe_id\":23424755,\"woe_id_eh\":23424755,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"BWA\",\"adm0_diff\":null,\"adm0_tlc\":\"BWA\",\"adm0_a3_us\":\"BWA\",\"adm0_a3_fr\":\"BWA\",\"adm0_a3_ru\":\"BWA\",\"adm0_a3_es\":\"BWA\",\"adm0_a3_cn\":\"BWA\",\"adm0_a3_tw\":\"BWA\",\"adm0_a3_in\":\"BWA\",\"adm0_a3_np\":\"BWA\",\"adm0_a3_pk\":\"BWA\",\"adm0_a3_de\":\"BWA\",\"adm0_a3_gb\":\"BWA\",\"adm0_a3_br\":\"BWA\",\"adm0_a3_il\":\"BWA\",\"adm0_a3_ps\":\"BWA\",\"adm0_a3_sa\":\"BWA\",\"adm0_a3_eg\":\"BWA\",\"adm0_a3_ma\":\"BWA\",\"adm0_a3_pt\":\"BWA\",\"adm0_a3_ar\":\"BWA\",\"adm0_a3_jp\":\"BWA\",\"adm0_a3_ko\":\"BWA\",\"adm0_a3_vn\":\"BWA\",\"adm0_a3_tr\":\"BWA\",\"adm0_a3_id\":\"BWA\",\"adm0_a3_pl\":\"BWA\",\"adm0_a3_gr\":\"BWA\",\"adm0_a3_it\":\"BWA\",\"adm0_a3_nl\":\"BWA\",\"adm0_a3_se\":\"BWA\",\"adm0_a3_bd\":\"BWA\",\"adm0_a3_ua\":\"BWA\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Southern Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":8,\"long_len\":8,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":24.179216,\"label_y\":-22.102634,\"ne_id\":1159320461,\"wikidataid\":\"Q963\",\"name_ar\":\"بوتسوانا\",\"name_bn\":\"বতসোয়ানা\",\"name_de\":\"Botswana\",\"name_en\":\"Botswana\",\"name_es\":\"Botsuana\",\"name_fa\":\"بوتسوانا\",\"name_fr\":\"Botswana\",\"name_el\":\"Μποτσουάνα\",\"name_he\":\"בוטסואנה\",\"name_hi\":\"बोत्सवाना\",\"name_hu\":\"Botswana\",\"name_id\":\"Botswana\",\"name_it\":\"Botswana\",\"name_ja\":\"ボツワナ\",\"name_ko\":\"보츠와나\",\"name_nl\":\"Botswana\",\"name_pl\":\"Botswana\",\"name_pt\":\"Botsuana\",\"name_ru\":\"Ботсвана\",\"name_sv\":\"Botswana\",\"name_tr\":\"Botsvana\",\"name_uk\":\"Ботсвана\",\"name_ur\":\"بوٹسوانا\",\"name_vi\":\"Botswana\",\"name_zh\":\"博茨瓦纳\",\"name_zht\":\"波札那\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"BWA.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[29.43218834810904,-22.091312758067588],[28.01723595552525,-22.82775359465908],[27.119409620886245,-23.574323011979775],[26.786406691197413,-24.240690606383485],[26.4857532081233,-24.616326592713104],[25.94165205252216,-24.69637338633322],[25.76584882986521,-25.17484547292368],[25.66466637543772,-25.486816094669713],[25.025170525825786,-25.7196700985769],[24.211266717228796,-25.670215752873574],[23.73356977712271,-25.390129489851617],[23.312096795350186,-25.26868987396572],[22.8242712745149,-25.50045867279477],[22.57953169118059,-25.979447523708146],[22.105968865657868,-26.280256036079138],[21.605896030369394,-26.726533705351756],[20.88960900237174,-26.828542982695915],[20.66647016773544,-26.477453301704923],[20.75860924651184,-25.86813648855145],[20.16572553882719,-24.91796192800077],[19.895767856534434,-24.76779021576059],[19.89545779794068,-21.84915699634787],[20.88113406747587,-21.814327080983148],[20.910641310314535,-18.252218926672022],[21.655040317478978,-18.219146010005225],[23.1968583513393,-17.869038181227786],[23.579005568137717,-18.28126108162006],[24.217364536239213,-17.88934701911849],[24.520705193792537,-17.887124932529936],[25.08444339366457,-17.661815687737374],[25.264225701608012,-17.736539808831417],[25.649163445750162,-18.53602589281899],[25.85039147309473,-18.714412937090536],[26.164790887158485,-19.29308562589494],[27.296504754350508,-20.391519870691],[27.724747348753255,-20.49905852629039],[27.72722781750326,-20.851801853114715],[28.021370070108617,-21.485975030200585],[28.794656202924216,-21.63945403410745],[29.43218834810904,-22.091312758067588]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Zimbabwe\",\"sov_a3\":\"ZWE\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Zimbabwe\",\"adm0_a3\":\"ZWE\",\"geou_dif\":0,\"geounit\":\"Zimbabwe\",\"gu_a3\":\"ZWE\",\"su_dif\":0,\"subunit\":\"Zimbabwe\",\"su_a3\":\"ZWE\",\"brk_diff\":0,\"name\":\"Zimbabwe\",\"name_long\":\"Zimbabwe\",\"brk_a3\":\"ZWE\",\"brk_name\":\"Zimbabwe\",\"brk_group\":null,\"abbrev\":\"Zimb.\",\"postal\":\"ZW\",\"formal_en\":\"Republic of Zimbabwe\",\"formal_fr\":null,\"name_ciawf\":\"Zimbabwe\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Zimbabwe\",\"name_alt\":null,\"mapcolor7\":1,\"mapcolor8\":5,\"mapcolor9\":3,\"mapcolor13\":9,\"pop_est\":14645468,\"pop_rank\":14,\"pop_year\":2019,\"gdp_md\":21440,\"gdp_year\":2019,\"economy\":\"5. Emerging region: G20\",\"income_grp\":\"5. Low income\",\"fips_10\":\"ZI\",\"iso_a2\":\"ZW\",\"iso_a2_eh\":\"ZW\",\"iso_a3\":\"ZWE\",\"iso_a3_eh\":\"ZWE\",\"iso_n3\":\"716\",\"iso_n3_eh\":\"716\",\"un_a3\":\"716\",\"wb_a2\":\"ZW\",\"wb_a3\":\"ZWE\",\"woe_id\":23425004,\"woe_id_eh\":23425004,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"ZWE\",\"adm0_diff\":null,\"adm0_tlc\":\"ZWE\",\"adm0_a3_us\":\"ZWE\",\"adm0_a3_fr\":\"ZWE\",\"adm0_a3_ru\":\"ZWE\",\"adm0_a3_es\":\"ZWE\",\"adm0_a3_cn\":\"ZWE\",\"adm0_a3_tw\":\"ZWE\",\"adm0_a3_in\":\"ZWE\",\"adm0_a3_np\":\"ZWE\",\"adm0_a3_pk\":\"ZWE\",\"adm0_a3_de\":\"ZWE\",\"adm0_a3_gb\":\"ZWE\",\"adm0_a3_br\":\"ZWE\",\"adm0_a3_il\":\"ZWE\",\"adm0_a3_ps\":\"ZWE\",\"adm0_a3_sa\":\"ZWE\",\"adm0_a3_eg\":\"ZWE\",\"adm0_a3_ma\":\"ZWE\",\"adm0_a3_pt\":\"ZWE\",\"adm0_a3_ar\":\"ZWE\",\"adm0_a3_jp\":\"ZWE\",\"adm0_a3_ko\":\"ZWE\",\"adm0_a3_vn\":\"ZWE\",\"adm0_a3_tr\":\"ZWE\",\"adm0_a3_id\":\"ZWE\",\"adm0_a3_pl\":\"ZWE\",\"adm0_a3_gr\":\"ZWE\",\"adm0_a3_it\":\"ZWE\",\"adm0_a3_nl\":\"ZWE\",\"adm0_a3_se\":\"ZWE\",\"adm0_a3_bd\":\"ZWE\",\"adm0_a3_ua\":\"ZWE\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Eastern Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":8,\"long_len\":8,\"abbrev_len\":5,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":2.5,\"max_label\":8,\"label_x\":29.925444,\"label_y\":-18.91164,\"ne_id\":1159321441,\"wikidataid\":\"Q954\",\"name_ar\":\"زيمبابوي\",\"name_bn\":\"জিম্বাবুয়ে\",\"name_de\":\"Simbabwe\",\"name_en\":\"Zimbabwe\",\"name_es\":\"Zimbabue\",\"name_fa\":\"زیمبابوه\",\"name_fr\":\"Zimbabwe\",\"name_el\":\"Ζιμπάμπουε\",\"name_he\":\"זימבבואה\",\"name_hi\":\"ज़िम्बाब्वे\",\"name_hu\":\"Zimbabwe\",\"name_id\":\"Zimbabwe\",\"name_it\":\"Zimbabwe\",\"name_ja\":\"ジンバブエ\",\"name_ko\":\"짐바브웨\",\"name_nl\":\"Zimbabwe\",\"name_pl\":\"Zimbabwe\",\"name_pt\":\"Zimbábue\",\"name_ru\":\"Зимбабве\",\"name_sv\":\"Zimbabwe\",\"name_tr\":\"Zimbabve\",\"name_uk\":\"Зімбабве\",\"name_ur\":\"زمبابوے\",\"name_vi\":\"Zimbabwe\",\"name_zh\":\"津巴布韦\",\"name_zht\":\"辛巴威\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"ZWE.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[31.19140913262129,-22.2515096981724],[30.65986535006709,-22.151567478119915],[30.322883335091774,-22.271611830333935],[29.839036899542972,-22.102216485281176],[29.43218834810904,-22.091312758067588],[28.794656202924216,-21.63945403410745],[28.021370070108617,-21.485975030200585],[27.72722781750326,-20.851801853114715],[27.724747348753255,-20.49905852629039],[27.296504754350508,-20.391519870691],[26.164790887158485,-19.29308562589494],[25.85039147309473,-18.714412937090536],[25.649163445750162,-18.53602589281899],[25.264225701608012,-17.736539808831417],[26.381935255648926,-17.8460421688579],[26.70677330903564,-17.961228936436484],[27.044427117630732,-17.938026218337434],[27.59824344250276,-17.290830580314008],[28.467906121542683,-16.468400160388846],[28.8258687680285,-16.389748630440614],[28.947463413211267,-16.04305144619444],[29.516834344203147,-15.644677829656388],[30.27425581230511,-15.507786960515213],[30.338954705534544,-15.880839125230246],[31.17306399915768,-15.860943698797874],[31.636498243951195,-16.071990248277885],[31.8520406430406,-16.319417006091378],[32.32823896661023,-16.392074069893752],[32.847638787575846,-16.713398125884616],[32.84986087416439,-17.97905730557718],[32.65488569512715,-18.672089939043495],[32.61199425632489,-19.419382826416275],[32.772707960752626,-19.715592136313298],[32.65974327976258,-20.304290052982317],[32.50869306817344,-20.395292250248307],[32.244988234188014,-21.116488539313693],[31.19140913262129,-22.2515096981724]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Chad\",\"sov_a3\":\"TCD\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Chad\",\"adm0_a3\":\"TCD\",\"geou_dif\":0,\"geounit\":\"Chad\",\"gu_a3\":\"TCD\",\"su_dif\":0,\"subunit\":\"Chad\",\"su_a3\":\"TCD\",\"brk_diff\":0,\"name\":\"Chad\",\"name_long\":\"Chad\",\"brk_a3\":\"TCD\",\"brk_name\":\"Chad\",\"brk_group\":null,\"abbrev\":\"Chad\",\"postal\":\"TD\",\"formal_en\":\"Republic of Chad\",\"formal_fr\":null,\"name_ciawf\":\"Chad\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Chad\",\"name_alt\":null,\"mapcolor7\":6,\"mapcolor8\":1,\"mapcolor9\":8,\"mapcolor13\":6,\"pop_est\":15946876,\"pop_rank\":14,\"pop_year\":2019,\"gdp_md\":11314,\"gdp_year\":2019,\"economy\":\"7. Least developed region\",\"income_grp\":\"5. Low income\",\"fips_10\":\"CD\",\"iso_a2\":\"TD\",\"iso_a2_eh\":\"TD\",\"iso_a3\":\"TCD\",\"iso_a3_eh\":\"TCD\",\"iso_n3\":\"148\",\"iso_n3_eh\":\"148\",\"un_a3\":\"148\",\"wb_a2\":\"TD\",\"wb_a3\":\"TCD\",\"woe_id\":23424777,\"woe_id_eh\":23424777,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"TCD\",\"adm0_diff\":null,\"adm0_tlc\":\"TCD\",\"adm0_a3_us\":\"TCD\",\"adm0_a3_fr\":\"TCD\",\"adm0_a3_ru\":\"TCD\",\"adm0_a3_es\":\"TCD\",\"adm0_a3_cn\":\"TCD\",\"adm0_a3_tw\":\"TCD\",\"adm0_a3_in\":\"TCD\",\"adm0_a3_np\":\"TCD\",\"adm0_a3_pk\":\"TCD\",\"adm0_a3_de\":\"TCD\",\"adm0_a3_gb\":\"TCD\",\"adm0_a3_br\":\"TCD\",\"adm0_a3_il\":\"TCD\",\"adm0_a3_ps\":\"TCD\",\"adm0_a3_sa\":\"TCD\",\"adm0_a3_eg\":\"TCD\",\"adm0_a3_ma\":\"TCD\",\"adm0_a3_pt\":\"TCD\",\"adm0_a3_ar\":\"TCD\",\"adm0_a3_jp\":\"TCD\",\"adm0_a3_ko\":\"TCD\",\"adm0_a3_vn\":\"TCD\",\"adm0_a3_tr\":\"TCD\",\"adm0_a3_id\":\"TCD\",\"adm0_a3_pl\":\"TCD\",\"adm0_a3_gr\":\"TCD\",\"adm0_a3_it\":\"TCD\",\"adm0_a3_nl\":\"TCD\",\"adm0_a3_se\":\"TCD\",\"adm0_a3_bd\":\"TCD\",\"adm0_a3_ua\":\"TCD\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Middle Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":4,\"long_len\":4,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":18.645041,\"label_y\":15.142959,\"ne_id\":1159321301,\"wikidataid\":\"Q657\",\"name_ar\":\"تشاد\",\"name_bn\":\"চাদ\",\"name_de\":\"Tschad\",\"name_en\":\"Chad\",\"name_es\":\"Chad\",\"name_fa\":\"چاد\",\"name_fr\":\"Tchad\",\"name_el\":\"Τσαντ\",\"name_he\":\"צ'אד\",\"name_hi\":\"चाड\",\"name_hu\":\"Csád\",\"name_id\":\"Chad\",\"name_it\":\"Ciad\",\"name_ja\":\"チャド\",\"name_ko\":\"차드\",\"name_nl\":\"Tsjaad\",\"name_pl\":\"Czad\",\"name_pt\":\"Chade\",\"name_ru\":\"Чад\",\"name_sv\":\"Tchad\",\"name_tr\":\"Çad\",\"name_uk\":\"Чад\",\"name_ur\":\"چاڈ\",\"name_vi\":\"Tchad\",\"name_zh\":\"乍得\",\"name_zht\":\"查德\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"TCD.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[23.83766000000014,19.580470000000105],[23.886890000000108,15.61084],[23.024590000000103,15.68072],[22.56795000000011,14.944290000000137],[22.30351,14.32682],[22.51202,14.09318],[22.18329,13.78648],[22.29658,13.37232],[22.03759,12.95546],[21.93681,12.588180000000136],[22.28801,12.64605],[22.49762,12.26024],[22.50869,11.67936],[22.87622,11.384610000000123],[22.864165480244225,11.142395127807546],[22.23112918466876,10.97188873946061],[21.723821648859456,10.567055568885976],[21.000868361096167,9.475985215691509],[20.05968549976427,9.012706000194854],[19.09400800952602,9.07484691002584],[18.812009718509273,8.982914536978598],[18.911021762780507,8.630894680206353],[18.38955488452322,8.281303615751824],[17.964929640380888,7.890914008002994],[16.705988396886255,7.508327541529979],[16.456184523187346,7.734773667832968],[16.290561557691888,7.754307359239419],[16.106231723706742,7.497087917506462],[15.279460483469109,7.421924546737969],[15.436091749745742,7.692812404811889],[15.120865512765306,8.382150173369439],[14.97999555833769,8.796104234243472],[14.54446658698177,8.965861314322268],[13.954218377344006,9.549494940626687],[14.171466098699028,10.021378282099931],[14.62720055508106,9.920919297724538],[14.909353875394716,9.992129421422732],[15.467872755605242,9.982336737503545],[14.92356489427496,10.891325181517473],[14.9601518083376,11.555574042197224],[14.89336,12.21905],[14.495787387762846,12.85939626713733],[14.595781284247607,13.33042694747786],[13.95447675950561,13.353448798063766],[13.956698846094127,13.996691189016929],[13.540393507550789,14.367133693901224],[13.97217,15.68437],[15.247731154041844,16.627305813050782],[15.30044111497972,17.927949937405003],[15.685740594147774,19.957180080642388],[15.903246697664315,20.387618923417506],[15.487148064850146,20.730414537025638],[15.47106,21.04845],[15.096887648181848,21.30851878507491],[14.8513,22.862950000000126],[15.86085,23.40972],[19.84926,21.49509],[23.83766000000014,19.580470000000105]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Algeria\",\"sov_a3\":\"DZA\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Algeria\",\"adm0_a3\":\"DZA\",\"geou_dif\":0,\"geounit\":\"Algeria\",\"gu_a3\":\"DZA\",\"su_dif\":0,\"subunit\":\"Algeria\",\"su_a3\":\"DZA\",\"brk_diff\":0,\"name\":\"Algeria\",\"name_long\":\"Algeria\",\"brk_a3\":\"DZA\",\"brk_name\":\"Algeria\",\"brk_group\":null,\"abbrev\":\"Alg.\",\"postal\":\"DZ\",\"formal_en\":\"People's Democratic Republic of Algeria\",\"formal_fr\":null,\"name_ciawf\":\"Algeria\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Algeria\",\"name_alt\":null,\"mapcolor7\":5,\"mapcolor8\":1,\"mapcolor9\":6,\"mapcolor13\":3,\"pop_est\":43053054,\"pop_rank\":15,\"pop_year\":2019,\"gdp_md\":171091,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"AG\",\"iso_a2\":\"DZ\",\"iso_a2_eh\":\"DZ\",\"iso_a3\":\"DZA\",\"iso_a3_eh\":\"DZA\",\"iso_n3\":\"012\",\"iso_n3_eh\":\"012\",\"un_a3\":\"012\",\"wb_a2\":\"DZ\",\"wb_a3\":\"DZA\",\"woe_id\":23424740,\"woe_id_eh\":23424740,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"DZA\",\"adm0_diff\":null,\"adm0_tlc\":\"DZA\",\"adm0_a3_us\":\"DZA\",\"adm0_a3_fr\":\"DZA\",\"adm0_a3_ru\":\"DZA\",\"adm0_a3_es\":\"DZA\",\"adm0_a3_cn\":\"DZA\",\"adm0_a3_tw\":\"DZA\",\"adm0_a3_in\":\"DZA\",\"adm0_a3_np\":\"DZA\",\"adm0_a3_pk\":\"DZA\",\"adm0_a3_de\":\"DZA\",\"adm0_a3_gb\":\"DZA\",\"adm0_a3_br\":\"DZA\",\"adm0_a3_il\":\"DZA\",\"adm0_a3_ps\":\"DZA\",\"adm0_a3_sa\":\"DZA\",\"adm0_a3_eg\":\"DZA\",\"adm0_a3_ma\":\"DZA\",\"adm0_a3_pt\":\"DZA\",\"adm0_a3_ar\":\"DZA\",\"adm0_a3_jp\":\"DZA\",\"adm0_a3_ko\":\"DZA\",\"adm0_a3_vn\":\"DZA\",\"adm0_a3_tr\":\"DZA\",\"adm0_a3_id\":\"DZA\",\"adm0_a3_pl\":\"DZA\",\"adm0_a3_gr\":\"DZA\",\"adm0_a3_it\":\"DZA\",\"adm0_a3_nl\":\"DZA\",\"adm0_a3_se\":\"DZA\",\"adm0_a3_bd\":\"DZA\",\"adm0_a3_ua\":\"DZA\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Northern Africa\",\"region_wb\":\"Middle East & North Africa\",\"name_len\":7,\"long_len\":7,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":2.5,\"max_label\":7,\"label_x\":2.808241,\"label_y\":27.397406,\"ne_id\":1159320565,\"wikidataid\":\"Q262\",\"name_ar\":\"الجزائر\",\"name_bn\":\"আলজেরিয়া\",\"name_de\":\"Algerien\",\"name_en\":\"Algeria\",\"name_es\":\"Argelia\",\"name_fa\":\"الجزایر\",\"name_fr\":\"Algérie\",\"name_el\":\"Αλγερία\",\"name_he\":\"אלג'יריה\",\"name_hi\":\"अल्जीरिया\",\"name_hu\":\"Algéria\",\"name_id\":\"Aljazair\",\"name_it\":\"Algeria\",\"name_ja\":\"アルジェリア\",\"name_ko\":\"알제리\",\"name_nl\":\"Algerije\",\"name_pl\":\"Algieria\",\"name_pt\":\"Argélia\",\"name_ru\":\"Алжир\",\"name_sv\":\"Algeriet\",\"name_tr\":\"Cezayir\",\"name_uk\":\"Алжир\",\"name_ur\":\"الجزائر\",\"name_vi\":\"Algérie\",\"name_zh\":\"阿尔及利亚\",\"name_zht\":\"阿爾及利亞\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"DZA.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-8.684399786809053,27.395744126896005],[-8.665124477564191,27.589479071558227],[-8.665589565454809,27.656425889592356],[-8.674116176782974,28.84128896739658],[-7.059227667661958,29.5792284205246],[-6.060632290053774,29.731699734001694],[-5.242129278982787,30.00044302013559],[-4.859646165374471,30.501187649043846],[-3.690441046554724,30.896951605751156],[-3.647497931320146,31.637294012980675],[-3.068980271812648,31.724497992473218],[-2.616604783529567,32.09434621838619],[-1.30789913573787,32.2628889023061],[-1.124551153966308,32.65152151135713],[-1.388049282222596,32.86401500094138],[-1.733454555661467,33.91971283623212],[-1.792985805661715,34.527918606091305],[-2.169913702798624,35.16839630791668],[-1.208602871089056,35.7148487411871],[-0.127454392894606,35.888662421200806],[0.503876580415209,36.30127289483528],[1.466918572606545,36.605647081034405],[3.161698846050825,36.78390493422522],[4.81575809084913,36.86503693292346],[5.320120070017794,36.71651886651662],[6.261819695672613,37.11065501560674],[7.330384962603971,37.11838064223437],[7.737078484741005,36.885707505840216],[8.420964389691676,36.94642731378316],[8.217824334352315,36.433176988260286],[8.376367628623768,35.479876003555944],[8.140981479534304,34.65514598239379],[7.524481642292244,34.09737641045146],[7.612641635782182,33.34411489514896],[8.430472853233368,32.74833730725595],[8.439102817426118,32.50628489840082],[9.05560265466815,32.10269196220129],[9.482139926805274,30.307556057246188],[9.805634392952356,29.424638373323376],[9.859997999723447,28.959989732371014],[9.683884718472768,28.1441738957792],[9.756128370816782,27.688258571884205],[9.629056023811074,27.14095347748092],[9.716285841519664,26.512206325785655],[9.319410841518163,26.094324856057455],[9.910692579801776,25.365454616796796],[9.94826134607797,24.936953640232517],[10.303846876678362,24.379313259370917],[10.771363559622927,24.56253205006175],[11.560669386449005,24.097909247325518],[11.999505649471613,23.47166840259645],[8.572893100629784,21.565660712159143],[5.677565952180686,19.601206976799716],[4.267419467800039,19.155265204337],[3.158133172222705,19.057364203360038],[3.1466610042539,19.693578599521445],[2.683588494486429,19.856230170160117],[2.06099083823392,20.142233384679486],[1.823227573259032,20.610809434486043],[-1.550054897457613,22.792665920497384],[-4.923337368174231,24.974574082941],[-8.684399786809053,27.395744126896005]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Mozambique\",\"sov_a3\":\"MOZ\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Mozambique\",\"adm0_a3\":\"MOZ\",\"geou_dif\":0,\"geounit\":\"Mozambique\",\"gu_a3\":\"MOZ\",\"su_dif\":0,\"subunit\":\"Mozambique\",\"su_a3\":\"MOZ\",\"brk_diff\":0,\"name\":\"Mozambique\",\"name_long\":\"Mozambique\",\"brk_a3\":\"MOZ\",\"brk_name\":\"Mozambique\",\"brk_group\":null,\"abbrev\":\"Moz.\",\"postal\":\"MZ\",\"formal_en\":\"Republic of Mozambique\",\"formal_fr\":null,\"name_ciawf\":\"Mozambique\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Mozambique\",\"name_alt\":null,\"mapcolor7\":4,\"mapcolor8\":2,\"mapcolor9\":1,\"mapcolor13\":4,\"pop_est\":30366036,\"pop_rank\":15,\"pop_year\":2019,\"gdp_md\":15291,\"gdp_year\":2019,\"economy\":\"7. Least developed region\",\"income_grp\":\"5. Low income\",\"fips_10\":\"MZ\",\"iso_a2\":\"MZ\",\"iso_a2_eh\":\"MZ\",\"iso_a3\":\"MOZ\",\"iso_a3_eh\":\"MOZ\",\"iso_n3\":\"508\",\"iso_n3_eh\":\"508\",\"un_a3\":\"508\",\"wb_a2\":\"MZ\",\"wb_a3\":\"MOZ\",\"woe_id\":23424902,\"woe_id_eh\":23424902,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"MOZ\",\"adm0_diff\":null,\"adm0_tlc\":\"MOZ\",\"adm0_a3_us\":\"MOZ\",\"adm0_a3_fr\":\"MOZ\",\"adm0_a3_ru\":\"MOZ\",\"adm0_a3_es\":\"MOZ\",\"adm0_a3_cn\":\"MOZ\",\"adm0_a3_tw\":\"MOZ\",\"adm0_a3_in\":\"MOZ\",\"adm0_a3_np\":\"MOZ\",\"adm0_a3_pk\":\"MOZ\",\"adm0_a3_de\":\"MOZ\",\"adm0_a3_gb\":\"MOZ\",\"adm0_a3_br\":\"MOZ\",\"adm0_a3_il\":\"MOZ\",\"adm0_a3_ps\":\"MOZ\",\"adm0_a3_sa\":\"MOZ\",\"adm0_a3_eg\":\"MOZ\",\"adm0_a3_ma\":\"MOZ\",\"adm0_a3_pt\":\"MOZ\",\"adm0_a3_ar\":\"MOZ\",\"adm0_a3_jp\":\"MOZ\",\"adm0_a3_ko\":\"MOZ\",\"adm0_a3_vn\":\"MOZ\",\"adm0_a3_tr\":\"MOZ\",\"adm0_a3_id\":\"MOZ\",\"adm0_a3_pl\":\"MOZ\",\"adm0_a3_gr\":\"MOZ\",\"adm0_a3_it\":\"MOZ\",\"adm0_a3_nl\":\"MOZ\",\"adm0_a3_se\":\"MOZ\",\"adm0_a3_bd\":\"MOZ\",\"adm0_a3_ua\":\"MOZ\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Eastern Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":10,\"long_len\":10,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":37.83789,\"label_y\":-13.94323,\"ne_id\":1159321073,\"wikidataid\":\"Q1029\",\"name_ar\":\"موزمبيق\",\"name_bn\":\"মোজাম্বিক\",\"name_de\":\"Mosambik\",\"name_en\":\"Mozambique\",\"name_es\":\"Mozambique\",\"name_fa\":\"موزامبیک\",\"name_fr\":\"Mozambique\",\"name_el\":\"Μοζαμβίκη\",\"name_he\":\"מוזמביק\",\"name_hi\":\"मोज़ाम्बीक\",\"name_hu\":\"Mozambik\",\"name_id\":\"Mozambik\",\"name_it\":\"Mozambico\",\"name_ja\":\"モザンビーク\",\"name_ko\":\"모잠비크\",\"name_nl\":\"Mozambique\",\"name_pl\":\"Mozambik\",\"name_pt\":\"Moçambique\",\"name_ru\":\"Мозамбик\",\"name_sv\":\"Moçambique\",\"name_tr\":\"Mozambik\",\"name_uk\":\"Мозамбік\",\"name_ur\":\"موزمبیق\",\"name_vi\":\"Mozambique\",\"name_zh\":\"莫桑比克\",\"name_zht\":\"莫三比克\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"MOZ.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[34.55998904799935,-11.520020033415925],[35.31239790216904,-11.439146416879147],[36.51408165868426,-11.720938002166735],[36.775150994622805,-11.594537448780805],[37.47129,-11.56876],[37.82764,-11.26879],[38.42755659358775,-11.285202325081656],[39.521,-10.89688],[40.31659,-10.317099999999868],[40.316586229110854,-10.317097752817492],[40.31658857601719,-10.317096042525698],[40.47838748552303,-10.765440769089993],[40.437253045418686,-11.761710707245015],[40.56081139502857,-12.639176527561027],[40.59962039567975,-14.201975192931862],[40.775475294768995,-14.691764418194241],[40.4772506040126,-15.406294447493972],[40.08926395036522,-16.10077402106446],[39.45255862809705,-16.72089120856694],[38.53835086442152,-17.101023044505958],[37.41113284683888,-17.586368096591237],[36.28127933120936,-18.65968759529345],[35.89649661636406,-18.842260430580637],[35.198399692533144,-19.552811374593894],[34.78638349787005,-19.784011732667736],[34.70189253107284,-20.49704314543101],[35.176127150215365,-21.25436126066841],[35.37342776870574,-21.840837090748877],[35.385848253705404,-22.14],[35.562545536369086,-22.09],[35.533934767404304,-23.070787855727758],[35.37177412287238,-23.5353589820317],[35.60747033055563,-23.706563002214683],[35.45874555841962,-24.12260995859655],[35.04073489761066,-24.478350518493805],[34.21582400893547,-24.81631438568266],[33.01321007663901,-25.357573337507738],[32.574632195777866,-25.727318210556092],[32.66036339695009,-26.148584486599447],[32.91595503106569,-26.215867201443466],[32.830120477028885,-26.742191664336197],[32.07166548028107,-26.73382008230491],[31.98577924981197,-26.291779880480227],[31.83777794772806,-25.84333180105135],[31.75240848158188,-25.484283949487413],[31.930588820124253,-24.36941659922254],[31.670397983534656,-23.658969008073864],[31.19140913262129,-22.2515096981724],[32.244988234188014,-21.116488539313693],[32.50869306817344,-20.395292250248307],[32.65974327976258,-20.304290052982317],[32.772707960752626,-19.715592136313298],[32.61199425632489,-19.419382826416275],[32.65488569512715,-18.672089939043495],[32.84986087416439,-17.97905730557718],[32.847638787575846,-16.713398125884616],[32.32823896661023,-16.392074069893752],[31.8520406430406,-16.319417006091378],[31.636498243951195,-16.071990248277885],[31.17306399915768,-15.860943698797874],[30.338954705534544,-15.880839125230246],[30.27425581230511,-15.507786960515213],[30.17948123548183,-14.796099134991529],[33.214024692525214,-13.971860039936153],[33.789700148256685,-14.45183074306307],[34.064825473778626,-14.35995004644812],[34.45963341648854,-14.613009535381423],[34.51766604995231,-15.013708591372612],[34.307291294092096,-15.478641452702597],[34.38129194513405,-16.183559665596043],[35.033810255683534,-16.801299737213093],[35.339062941231646,-16.10744028083011],[35.77190473810836,-15.896858819240727],[35.68684533055594,-14.611045830954332],[35.26795617039801,-13.887834161029566],[34.907151320136165,-13.565424899960568],[34.55998904799935,-13.579997653866876],[34.28000613784198,-12.280025323132506],[34.55998904799935,-11.520020033415925]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":4,\"sovereignt\":\"eSwatini\",\"sov_a3\":\"SWZ\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"eSwatini\",\"adm0_a3\":\"SWZ\",\"geou_dif\":0,\"geounit\":\"eSwatini\",\"gu_a3\":\"SWZ\",\"su_dif\":0,\"subunit\":\"eSwatini\",\"su_a3\":\"SWZ\",\"brk_diff\":0,\"name\":\"eSwatini\",\"name_long\":\"Kingdom of eSwatini\",\"brk_a3\":\"SWZ\",\"brk_name\":\"eSwatini\",\"brk_group\":null,\"abbrev\":\"eSw.\",\"postal\":\"ES\",\"formal_en\":\"Kingdom of eSwatini\",\"formal_fr\":null,\"name_ciawf\":\"eSwatini\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"eSwatini\",\"name_alt\":\"Swaziland\",\"mapcolor7\":3,\"mapcolor8\":6,\"mapcolor9\":2,\"mapcolor13\":5,\"pop_est\":1148130,\"pop_rank\":12,\"pop_year\":2019,\"gdp_md\":4471,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"WZ\",\"iso_a2\":\"SZ\",\"iso_a2_eh\":\"SZ\",\"iso_a3\":\"SWZ\",\"iso_a3_eh\":\"SWZ\",\"iso_n3\":\"748\",\"iso_n3_eh\":\"748\",\"un_a3\":\"748\",\"wb_a2\":\"SZ\",\"wb_a3\":\"SWZ\",\"woe_id\":23424993,\"woe_id_eh\":23424993,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"SWZ\",\"adm0_diff\":null,\"adm0_tlc\":\"SWZ\",\"adm0_a3_us\":\"SWZ\",\"adm0_a3_fr\":\"SWZ\",\"adm0_a3_ru\":\"SWZ\",\"adm0_a3_es\":\"SWZ\",\"adm0_a3_cn\":\"SWZ\",\"adm0_a3_tw\":\"SWZ\",\"adm0_a3_in\":\"SWZ\",\"adm0_a3_np\":\"SWZ\",\"adm0_a3_pk\":\"SWZ\",\"adm0_a3_de\":\"SWZ\",\"adm0_a3_gb\":\"SWZ\",\"adm0_a3_br\":\"SWZ\",\"adm0_a3_il\":\"SWZ\",\"adm0_a3_ps\":\"SWZ\",\"adm0_a3_sa\":\"SWZ\",\"adm0_a3_eg\":\"SWZ\",\"adm0_a3_ma\":\"SWZ\",\"adm0_a3_pt\":\"SWZ\",\"adm0_a3_ar\":\"SWZ\",\"adm0_a3_jp\":\"SWZ\",\"adm0_a3_ko\":\"SWZ\",\"adm0_a3_vn\":\"SWZ\",\"adm0_a3_tr\":\"SWZ\",\"adm0_a3_id\":\"SWZ\",\"adm0_a3_pl\":\"SWZ\",\"adm0_a3_gr\":\"SWZ\",\"adm0_a3_it\":\"SWZ\",\"adm0_a3_nl\":\"SWZ\",\"adm0_a3_se\":\"SWZ\",\"adm0_a3_bd\":\"SWZ\",\"adm0_a3_ua\":\"SWZ\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Southern Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":8,\"long_len\":19,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":31.467264,\"label_y\":-26.533676,\"ne_id\":1159321289,\"wikidataid\":\"Q1050\",\"name_ar\":\"إسواتيني\",\"name_bn\":\"ইসোয়াতিনি\",\"name_de\":\"Eswatini\",\"name_en\":\"Eswatini\",\"name_es\":\"Suazilandia\",\"name_fa\":\"اسواتینی\",\"name_fr\":\"Eswatini\",\"name_el\":\"Εσουατίνι\",\"name_he\":\"אסוואטיני\",\"name_hi\":\"एस्वातीनी\",\"name_hu\":\"Szváziföld\",\"name_id\":\"Eswatini\",\"name_it\":\"eSwatini\",\"name_ja\":\"エスワティニ\",\"name_ko\":\"에스와티니\",\"name_nl\":\"Swaziland\",\"name_pl\":\"Eswatini\",\"name_pt\":\"Essuatíni\",\"name_ru\":\"Эсватини\",\"name_sv\":\"Swaziland\",\"name_tr\":\"Esvatini\",\"name_uk\":\"Есватіні\",\"name_ur\":\"اسواتینی\",\"name_vi\":\"Eswatini\",\"name_zh\":\"斯威士兰\",\"name_zht\":\"史瓦帝尼\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"SWZ.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[32.07166548028107,-26.73382008230491],[31.86806033705108,-27.177927341421277],[31.28277306491333,-27.285879408478998],[30.68596194837448,-26.743845310169533],[30.67660851412964,-26.398078301704608],[30.949666782359913,-26.02264902110415],[31.04407962415715,-25.731452325139443],[31.333157586397903,-25.66019052500895],[31.83777794772806,-25.84333180105135],[31.98577924981197,-26.291779880480227],[32.07166548028107,-26.73382008230491]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":6,\"sovereignt\":\"Burundi\",\"sov_a3\":\"BDI\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Burundi\",\"adm0_a3\":\"BDI\",\"geou_dif\":0,\"geounit\":\"Burundi\",\"gu_a3\":\"BDI\",\"su_dif\":0,\"subunit\":\"Burundi\",\"su_a3\":\"BDI\",\"brk_diff\":0,\"name\":\"Burundi\",\"name_long\":\"Burundi\",\"brk_a3\":\"BDI\",\"brk_name\":\"Burundi\",\"brk_group\":null,\"abbrev\":\"Bur.\",\"postal\":\"BI\",\"formal_en\":\"Republic of Burundi\",\"formal_fr\":null,\"name_ciawf\":\"Burundi\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Burundi\",\"name_alt\":null,\"mapcolor7\":2,\"mapcolor8\":2,\"mapcolor9\":5,\"mapcolor13\":8,\"pop_est\":11530580,\"pop_rank\":14,\"pop_year\":2019,\"gdp_md\":3012,\"gdp_year\":2019,\"economy\":\"7. Least developed region\",\"income_grp\":\"5. Low income\",\"fips_10\":\"BY\",\"iso_a2\":\"BI\",\"iso_a2_eh\":\"BI\",\"iso_a3\":\"BDI\",\"iso_a3_eh\":\"BDI\",\"iso_n3\":\"108\",\"iso_n3_eh\":\"108\",\"un_a3\":\"108\",\"wb_a2\":\"BI\",\"wb_a3\":\"BDI\",\"woe_id\":23424774,\"woe_id_eh\":23424774,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"BDI\",\"adm0_diff\":null,\"adm0_tlc\":\"BDI\",\"adm0_a3_us\":\"BDI\",\"adm0_a3_fr\":\"BDI\",\"adm0_a3_ru\":\"BDI\",\"adm0_a3_es\":\"BDI\",\"adm0_a3_cn\":\"BDI\",\"adm0_a3_tw\":\"BDI\",\"adm0_a3_in\":\"BDI\",\"adm0_a3_np\":\"BDI\",\"adm0_a3_pk\":\"BDI\",\"adm0_a3_de\":\"BDI\",\"adm0_a3_gb\":\"BDI\",\"adm0_a3_br\":\"BDI\",\"adm0_a3_il\":\"BDI\",\"adm0_a3_ps\":\"BDI\",\"adm0_a3_sa\":\"BDI\",\"adm0_a3_eg\":\"BDI\",\"adm0_a3_ma\":\"BDI\",\"adm0_a3_pt\":\"BDI\",\"adm0_a3_ar\":\"BDI\",\"adm0_a3_jp\":\"BDI\",\"adm0_a3_ko\":\"BDI\",\"adm0_a3_vn\":\"BDI\",\"adm0_a3_tr\":\"BDI\",\"adm0_a3_id\":\"BDI\",\"adm0_a3_pl\":\"BDI\",\"adm0_a3_gr\":\"BDI\",\"adm0_a3_it\":\"BDI\",\"adm0_a3_nl\":\"BDI\",\"adm0_a3_se\":\"BDI\",\"adm0_a3_bd\":\"BDI\",\"adm0_a3_ua\":\"BDI\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Eastern Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":7,\"long_len\":7,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":29.917086,\"label_y\":-3.332836,\"ne_id\":1159320387,\"wikidataid\":\"Q967\",\"name_ar\":\"بوروندي\",\"name_bn\":\"বুরুন্ডি\",\"name_de\":\"Burundi\",\"name_en\":\"Burundi\",\"name_es\":\"Burundi\",\"name_fa\":\"بوروندی\",\"name_fr\":\"Burundi\",\"name_el\":\"Μπουρούντι\",\"name_he\":\"בורונדי\",\"name_hi\":\"बुरुण्डी\",\"name_hu\":\"Burundi\",\"name_id\":\"Burundi\",\"name_it\":\"Burundi\",\"name_ja\":\"ブルンジ\",\"name_ko\":\"부룬디\",\"name_nl\":\"Burundi\",\"name_pl\":\"Burundi\",\"name_pt\":\"Burundi\",\"name_ru\":\"Бурунди\",\"name_sv\":\"Burundi\",\"name_tr\":\"Burundi\",\"name_uk\":\"Бурунді\",\"name_ur\":\"برونڈی\",\"name_vi\":\"Burundi\",\"name_zh\":\"布隆迪\",\"name_zht\":\"蒲隆地\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"BDI.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[30.469673645761223,-2.41385475710134],[30.52766,-2.80762],[30.74301,-3.03431],[30.75224,-3.35931],[30.50554,-3.56858],[30.11632,-4.09012],[29.753512404099865,-4.452389418153302],[29.339997592900346,-4.499983412294092],[29.276383904749053,-3.293907159034063],[29.024926385216787,-2.839257907730158],[29.632176141078588,-2.917857761246097],[29.93835900240794,-2.348486830254238],[30.469673645761223,-2.41385475710134]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Rwanda\",\"sov_a3\":\"RWA\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Rwanda\",\"adm0_a3\":\"RWA\",\"geou_dif\":0,\"geounit\":\"Rwanda\",\"gu_a3\":\"RWA\",\"su_dif\":0,\"subunit\":\"Rwanda\",\"su_a3\":\"RWA\",\"brk_diff\":0,\"name\":\"Rwanda\",\"name_long\":\"Rwanda\",\"brk_a3\":\"RWA\",\"brk_name\":\"Rwanda\",\"brk_group\":null,\"abbrev\":\"Rwa.\",\"postal\":\"RW\",\"formal_en\":\"Republic of Rwanda\",\"formal_fr\":null,\"name_ciawf\":\"Rwanda\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Rwanda\",\"name_alt\":null,\"mapcolor7\":5,\"mapcolor8\":2,\"mapcolor9\":3,\"mapcolor13\":10,\"pop_est\":12626950,\"pop_rank\":14,\"pop_year\":2019,\"gdp_md\":10354,\"gdp_year\":2019,\"economy\":\"7. Least developed region\",\"income_grp\":\"5. Low income\",\"fips_10\":\"RW\",\"iso_a2\":\"RW\",\"iso_a2_eh\":\"RW\",\"iso_a3\":\"RWA\",\"iso_a3_eh\":\"RWA\",\"iso_n3\":\"646\",\"iso_n3_eh\":\"646\",\"un_a3\":\"646\",\"wb_a2\":\"RW\",\"wb_a3\":\"RWA\",\"woe_id\":23424937,\"woe_id_eh\":23424937,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"RWA\",\"adm0_diff\":null,\"adm0_tlc\":\"RWA\",\"adm0_a3_us\":\"RWA\",\"adm0_a3_fr\":\"RWA\",\"adm0_a3_ru\":\"RWA\",\"adm0_a3_es\":\"RWA\",\"adm0_a3_cn\":\"RWA\",\"adm0_a3_tw\":\"RWA\",\"adm0_a3_in\":\"RWA\",\"adm0_a3_np\":\"RWA\",\"adm0_a3_pk\":\"RWA\",\"adm0_a3_de\":\"RWA\",\"adm0_a3_gb\":\"RWA\",\"adm0_a3_br\":\"RWA\",\"adm0_a3_il\":\"RWA\",\"adm0_a3_ps\":\"RWA\",\"adm0_a3_sa\":\"RWA\",\"adm0_a3_eg\":\"RWA\",\"adm0_a3_ma\":\"RWA\",\"adm0_a3_pt\":\"RWA\",\"adm0_a3_ar\":\"RWA\",\"adm0_a3_jp\":\"RWA\",\"adm0_a3_ko\":\"RWA\",\"adm0_a3_vn\":\"RWA\",\"adm0_a3_tr\":\"RWA\",\"adm0_a3_id\":\"RWA\",\"adm0_a3_pl\":\"RWA\",\"adm0_a3_gr\":\"RWA\",\"adm0_a3_it\":\"RWA\",\"adm0_a3_nl\":\"RWA\",\"adm0_a3_se\":\"RWA\",\"adm0_a3_bd\":\"RWA\",\"adm0_a3_ua\":\"RWA\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Eastern Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":6,\"long_len\":6,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":30.103894,\"label_y\":-1.897196,\"ne_id\":1159321219,\"wikidataid\":\"Q1037\",\"name_ar\":\"رواندا\",\"name_bn\":\"রুয়ান্ডা\",\"name_de\":\"Ruanda\",\"name_en\":\"Rwanda\",\"name_es\":\"Ruanda\",\"name_fa\":\"رواندا\",\"name_fr\":\"Rwanda\",\"name_el\":\"Ρουάντα\",\"name_he\":\"רואנדה\",\"name_hi\":\"रवाण्डा\",\"name_hu\":\"Ruanda\",\"name_id\":\"Rwanda\",\"name_it\":\"Ruanda\",\"name_ja\":\"ルワンダ\",\"name_ko\":\"르완다\",\"name_nl\":\"Rwanda\",\"name_pl\":\"Rwanda\",\"name_pt\":\"Ruanda\",\"name_ru\":\"Руанда\",\"name_sv\":\"Rwanda\",\"name_tr\":\"Ruanda\",\"name_uk\":\"Руанда\",\"name_ur\":\"روانڈا\",\"name_vi\":\"Rwanda\",\"name_zh\":\"卢旺达\",\"name_zht\":\"盧旺達\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"RWA.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[30.419104852019245,-1.134659112150416],[30.816134881317712,-1.698914076345389],[30.75830895358311,-2.287250257988369],[30.46967,-2.41383],[30.469673645761223,-2.41385475710134],[29.93835900240794,-2.348486830254238],[29.632176141078588,-2.917857761246097],[29.024926385216787,-2.839257907730158],[29.117478875451553,-2.292211195488385],[29.254834832483343,-2.215109958508911],[29.291886834436614,-1.620055840667987],[29.579466180140884,-1.341313164885626],[29.821518588996014,-1.443322442229785],[30.419104852019245,-1.134659112150416]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Uganda\",\"sov_a3\":\"UGA\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Uganda\",\"adm0_a3\":\"UGA\",\"geou_dif\":0,\"geounit\":\"Uganda\",\"gu_a3\":\"UGA\",\"su_dif\":0,\"subunit\":\"Uganda\",\"su_a3\":\"UGA\",\"brk_diff\":0,\"name\":\"Uganda\",\"name_long\":\"Uganda\",\"brk_a3\":\"UGA\",\"brk_name\":\"Uganda\",\"brk_group\":null,\"abbrev\":\"Uga.\",\"postal\":\"UG\",\"formal_en\":\"Republic of Uganda\",\"formal_fr\":null,\"name_ciawf\":\"Uganda\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Uganda\",\"name_alt\":null,\"mapcolor7\":6,\"mapcolor8\":3,\"mapcolor9\":6,\"mapcolor13\":4,\"pop_est\":44269594,\"pop_rank\":15,\"pop_year\":2019,\"gdp_md\":35165,\"gdp_year\":2019,\"economy\":\"7. Least developed region\",\"income_grp\":\"5. Low income\",\"fips_10\":\"UG\",\"iso_a2\":\"UG\",\"iso_a2_eh\":\"UG\",\"iso_a3\":\"UGA\",\"iso_a3_eh\":\"UGA\",\"iso_n3\":\"800\",\"iso_n3_eh\":\"800\",\"un_a3\":\"800\",\"wb_a2\":\"UG\",\"wb_a3\":\"UGA\",\"woe_id\":23424974,\"woe_id_eh\":23424974,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"UGA\",\"adm0_diff\":null,\"adm0_tlc\":\"UGA\",\"adm0_a3_us\":\"UGA\",\"adm0_a3_fr\":\"UGA\",\"adm0_a3_ru\":\"UGA\",\"adm0_a3_es\":\"UGA\",\"adm0_a3_cn\":\"UGA\",\"adm0_a3_tw\":\"UGA\",\"adm0_a3_in\":\"UGA\",\"adm0_a3_np\":\"UGA\",\"adm0_a3_pk\":\"UGA\",\"adm0_a3_de\":\"UGA\",\"adm0_a3_gb\":\"UGA\",\"adm0_a3_br\":\"UGA\",\"adm0_a3_il\":\"UGA\",\"adm0_a3_ps\":\"UGA\",\"adm0_a3_sa\":\"UGA\",\"adm0_a3_eg\":\"UGA\",\"adm0_a3_ma\":\"UGA\",\"adm0_a3_pt\":\"UGA\",\"adm0_a3_ar\":\"UGA\",\"adm0_a3_jp\":\"UGA\",\"adm0_a3_ko\":\"UGA\",\"adm0_a3_vn\":\"UGA\",\"adm0_a3_tr\":\"UGA\",\"adm0_a3_id\":\"UGA\",\"adm0_a3_pl\":\"UGA\",\"adm0_a3_gr\":\"UGA\",\"adm0_a3_it\":\"UGA\",\"adm0_a3_nl\":\"UGA\",\"adm0_a3_se\":\"UGA\",\"adm0_a3_bd\":\"UGA\",\"adm0_a3_ua\":\"UGA\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Eastern Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":6,\"long_len\":6,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":32.948555,\"label_y\":1.972589,\"ne_id\":1159321343,\"wikidataid\":\"Q1036\",\"name_ar\":\"أوغندا\",\"name_bn\":\"উগান্ডা\",\"name_de\":\"Uganda\",\"name_en\":\"Uganda\",\"name_es\":\"Uganda\",\"name_fa\":\"اوگاندا\",\"name_fr\":\"Ouganda\",\"name_el\":\"Ουγκάντα\",\"name_he\":\"אוגנדה\",\"name_hi\":\"युगाण्डा\",\"name_hu\":\"Uganda\",\"name_id\":\"Uganda\",\"name_it\":\"Uganda\",\"name_ja\":\"ウガンダ\",\"name_ko\":\"우간다\",\"name_nl\":\"Oeganda\",\"name_pl\":\"Uganda\",\"name_pt\":\"Uganda\",\"name_ru\":\"Уганда\",\"name_sv\":\"Uganda\",\"name_tr\":\"Uganda\",\"name_uk\":\"Уганда\",\"name_ur\":\"یوگنڈا\",\"name_vi\":\"Uganda\",\"name_zh\":\"乌干达\",\"name_zht\":\"烏干達\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"UGA.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[33.90371119710453,-0.95],[31.86617,-1.02736],[30.769860000000108,-1.01455],[30.419104852019245,-1.134659112150416],[29.821518588996014,-1.443322442229785],[29.579466180140884,-1.341313164885626],[29.58783776217217,-0.587405694179381],[29.819503208136638,-0.205310153813372],[29.875778842902434,0.597379868976361],[30.086153598762706,1.062312730306289],[30.46850752129029,1.583805446779706],[30.85267011894806,1.849396470543809],[31.174149204235817,2.204465236821264],[30.77334679538004,2.339883327642127],[30.83385989759381,3.509165961110341],[30.833852421715427,3.509171604222463],[31.24556,3.7819],[31.88145,3.55827],[32.68642,3.79232],[33.3900000000001,3.79],[34.005,4.249884947362048],[34.47913,3.5556],[34.59607,3.053740000000118],[35.03599,1.90584],[34.6721,1.17694],[34.18,0.515],[33.893568969666944,0.109813537861896],[33.90371119710453,-0.95]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":6,\"sovereignt\":\"Lesotho\",\"sov_a3\":\"LSO\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Lesotho\",\"adm0_a3\":\"LSO\",\"geou_dif\":0,\"geounit\":\"Lesotho\",\"gu_a3\":\"LSO\",\"su_dif\":0,\"subunit\":\"Lesotho\",\"su_a3\":\"LSO\",\"brk_diff\":0,\"name\":\"Lesotho\",\"name_long\":\"Lesotho\",\"brk_a3\":\"LSO\",\"brk_name\":\"Lesotho\",\"brk_group\":null,\"abbrev\":\"Les.\",\"postal\":\"LS\",\"formal_en\":\"Kingdom of Lesotho\",\"formal_fr\":null,\"name_ciawf\":\"Lesotho\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Lesotho\",\"name_alt\":null,\"mapcolor7\":1,\"mapcolor8\":5,\"mapcolor9\":2,\"mapcolor13\":8,\"pop_est\":2125268,\"pop_rank\":12,\"pop_year\":2019,\"gdp_md\":2376,\"gdp_year\":2019,\"economy\":\"7. Least developed region\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"LT\",\"iso_a2\":\"LS\",\"iso_a2_eh\":\"LS\",\"iso_a3\":\"LSO\",\"iso_a3_eh\":\"LSO\",\"iso_n3\":\"426\",\"iso_n3_eh\":\"426\",\"un_a3\":\"426\",\"wb_a2\":\"LS\",\"wb_a3\":\"LSO\",\"woe_id\":23424880,\"woe_id_eh\":23424880,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"LSO\",\"adm0_diff\":null,\"adm0_tlc\":\"LSO\",\"adm0_a3_us\":\"LSO\",\"adm0_a3_fr\":\"LSO\",\"adm0_a3_ru\":\"LSO\",\"adm0_a3_es\":\"LSO\",\"adm0_a3_cn\":\"LSO\",\"adm0_a3_tw\":\"LSO\",\"adm0_a3_in\":\"LSO\",\"adm0_a3_np\":\"LSO\",\"adm0_a3_pk\":\"LSO\",\"adm0_a3_de\":\"LSO\",\"adm0_a3_gb\":\"LSO\",\"adm0_a3_br\":\"LSO\",\"adm0_a3_il\":\"LSO\",\"adm0_a3_ps\":\"LSO\",\"adm0_a3_sa\":\"LSO\",\"adm0_a3_eg\":\"LSO\",\"adm0_a3_ma\":\"LSO\",\"adm0_a3_pt\":\"LSO\",\"adm0_a3_ar\":\"LSO\",\"adm0_a3_jp\":\"LSO\",\"adm0_a3_ko\":\"LSO\",\"adm0_a3_vn\":\"LSO\",\"adm0_a3_tr\":\"LSO\",\"adm0_a3_id\":\"LSO\",\"adm0_a3_pl\":\"LSO\",\"adm0_a3_gr\":\"LSO\",\"adm0_a3_it\":\"LSO\",\"adm0_a3_nl\":\"LSO\",\"adm0_a3_se\":\"LSO\",\"adm0_a3_bd\":\"LSO\",\"adm0_a3_ua\":\"LSO\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Southern Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":7,\"long_len\":7,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":28.246639,\"label_y\":-29.480158,\"ne_id\":1159321027,\"wikidataid\":\"Q1013\",\"name_ar\":\"ليسوتو\",\"name_bn\":\"লেসোথো\",\"name_de\":\"Lesotho\",\"name_en\":\"Lesotho\",\"name_es\":\"Lesoto\",\"name_fa\":\"لسوتو\",\"name_fr\":\"Lesotho\",\"name_el\":\"Λεσότο\",\"name_he\":\"לסוטו\",\"name_hi\":\"लेसोथो\",\"name_hu\":\"Lesotho\",\"name_id\":\"Lesotho\",\"name_it\":\"Lesotho\",\"name_ja\":\"レソト\",\"name_ko\":\"레소토\",\"name_nl\":\"Lesotho\",\"name_pl\":\"Lesotho\",\"name_pt\":\"Lesoto\",\"name_ru\":\"Лесото\",\"name_sv\":\"Lesotho\",\"name_tr\":\"Lesotho\",\"name_uk\":\"Лесото\",\"name_ur\":\"لیسوتھو\",\"name_vi\":\"Lesotho\",\"name_zh\":\"莱索托\",\"name_zht\":\"賴索托\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"LSO.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[28.978262566857243,-28.95559661226171],[29.32516645683259,-29.257386976846256],[29.018415154748027,-29.74376555757737],[28.84839969250774,-30.070050551068256],[28.29106937023991,-30.2262167294543],[28.107204624145425,-30.54573211031495],[27.749397006956485,-30.645105889612225],[26.999261915807637,-29.875953871379984],[27.532511020627478,-29.24271087007536],[28.074338413207784,-28.851468601193588],[28.541700066855498,-28.64750172293757],[28.978262566857243,-28.95559661226171]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Cameroon\",\"sov_a3\":\"CMR\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Cameroon\",\"adm0_a3\":\"CMR\",\"geou_dif\":0,\"geounit\":\"Cameroon\",\"gu_a3\":\"CMR\",\"su_dif\":0,\"subunit\":\"Cameroon\",\"su_a3\":\"CMR\",\"brk_diff\":0,\"name\":\"Cameroon\",\"name_long\":\"Cameroon\",\"brk_a3\":\"CMR\",\"brk_name\":\"Cameroon\",\"brk_group\":null,\"abbrev\":\"Cam.\",\"postal\":\"CM\",\"formal_en\":\"Republic of Cameroon\",\"formal_fr\":null,\"name_ciawf\":\"Cameroon\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Cameroon\",\"name_alt\":null,\"mapcolor7\":1,\"mapcolor8\":4,\"mapcolor9\":1,\"mapcolor13\":3,\"pop_est\":25876380,\"pop_rank\":15,\"pop_year\":2019,\"gdp_md\":39007,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"CM\",\"iso_a2\":\"CM\",\"iso_a2_eh\":\"CM\",\"iso_a3\":\"CMR\",\"iso_a3_eh\":\"CMR\",\"iso_n3\":\"120\",\"iso_n3_eh\":\"120\",\"un_a3\":\"120\",\"wb_a2\":\"CM\",\"wb_a3\":\"CMR\",\"woe_id\":23424785,\"woe_id_eh\":23424785,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"CMR\",\"adm0_diff\":null,\"adm0_tlc\":\"CMR\",\"adm0_a3_us\":\"CMR\",\"adm0_a3_fr\":\"CMR\",\"adm0_a3_ru\":\"CMR\",\"adm0_a3_es\":\"CMR\",\"adm0_a3_cn\":\"CMR\",\"adm0_a3_tw\":\"CMR\",\"adm0_a3_in\":\"CMR\",\"adm0_a3_np\":\"CMR\",\"adm0_a3_pk\":\"CMR\",\"adm0_a3_de\":\"CMR\",\"adm0_a3_gb\":\"CMR\",\"adm0_a3_br\":\"CMR\",\"adm0_a3_il\":\"CMR\",\"adm0_a3_ps\":\"CMR\",\"adm0_a3_sa\":\"CMR\",\"adm0_a3_eg\":\"CMR\",\"adm0_a3_ma\":\"CMR\",\"adm0_a3_pt\":\"CMR\",\"adm0_a3_ar\":\"CMR\",\"adm0_a3_jp\":\"CMR\",\"adm0_a3_ko\":\"CMR\",\"adm0_a3_vn\":\"CMR\",\"adm0_a3_tr\":\"CMR\",\"adm0_a3_id\":\"CMR\",\"adm0_a3_pl\":\"CMR\",\"adm0_a3_gr\":\"CMR\",\"adm0_a3_it\":\"CMR\",\"adm0_a3_nl\":\"CMR\",\"adm0_a3_se\":\"CMR\",\"adm0_a3_bd\":\"CMR\",\"adm0_a3_ua\":\"CMR\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Middle Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":8,\"long_len\":8,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":12.473488,\"label_y\":4.585041,\"ne_id\":1159320509,\"wikidataid\":\"Q1009\",\"name_ar\":\"الكاميرون\",\"name_bn\":\"ক্যামেরুন\",\"name_de\":\"Kamerun\",\"name_en\":\"Cameroon\",\"name_es\":\"Camerún\",\"name_fa\":\"کامرون\",\"name_fr\":\"Cameroun\",\"name_el\":\"Καμερούν\",\"name_he\":\"קמרון\",\"name_hi\":\"कैमरुन\",\"name_hu\":\"Kamerun\",\"name_id\":\"Kamerun\",\"name_it\":\"Camerun\",\"name_ja\":\"カメルーン\",\"name_ko\":\"카메룬\",\"name_nl\":\"Kameroen\",\"name_pl\":\"Kamerun\",\"name_pt\":\"Camarões\",\"name_ru\":\"Камерун\",\"name_sv\":\"Kamerun\",\"name_tr\":\"Kamerun\",\"name_uk\":\"Камерун\",\"name_ur\":\"کیمرون\",\"name_vi\":\"Cameroon\",\"name_zh\":\"喀麦隆\",\"name_zht\":\"喀麥隆\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"CMR.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[14.495787387762846,12.85939626713733],[14.89336,12.21905],[14.9601518083376,11.555574042197224],[14.92356489427496,10.891325181517473],[15.467872755605242,9.982336737503545],[14.909353875394716,9.992129421422732],[14.62720055508106,9.920919297724538],[14.171466098699028,10.021378282099931],[13.954218377344006,9.549494940626687],[14.54446658698177,8.965861314322268],[14.97999555833769,8.796104234243472],[15.120865512765306,8.382150173369439],[15.436091749745742,7.692812404811889],[15.279460483469109,7.421924546737969],[14.776545444404576,6.408498033062045],[14.536560092841114,6.22695872642069],[14.459407179429348,5.4517605656103],[14.558935988023507,5.03059764243153],[14.47837243008047,4.732605495620447],[14.950953403389661,4.210389309094921],[15.036219516671252,3.851367295747124],[15.405395948964383,3.33530060466434],[15.862732374747482,3.013537298998983],[15.907380812247652,2.557389431158612],[16.012852410555354,2.267639675298085],[15.940918816805066,1.727672634280296],[15.146341993885244,1.964014797367184],[14.33781253424658,2.227874660649491],[13.075822381246752,2.267097072759015],[12.951333855855609,2.32161570882694],[12.359380323952221,2.19281220133945],[11.75166548019979,2.326757513839993],[11.276449008843713,2.261050930180872],[9.649158155972628,2.283866075037736],[9.795195753629457,3.073404445809117],[9.404366896206,3.734526882335203],[8.948115675501072,3.904128933117136],[8.744923943729418,4.35221527751996],[8.48881554529089,4.495617377129918],[8.500287713259695,4.771982937026849],[8.757532993208628,5.479665839047911],[9.233162876023044,6.444490668153335],[9.522705926154401,6.453482367372117],[10.118276808318257,7.03876963950988],[10.497375115611419,7.055357774275564],[11.058787876030351,6.644426784690594],[11.74577436691851,6.981382961449754],[11.839308709366803,7.397042344589437],[12.063946160539558,7.799808457872302],[12.218872104550599,8.305824082874324],[12.753671502339216,8.717762762888995],[12.955467970438974,9.417771714714704],[13.167599724997103,9.640626328973411],[13.308676385153918,10.160362046748928],[13.572949659894562,10.798565985553566],[14.415378859116684,11.572368882692075],[14.468192172918975,11.904751695193411],[14.577177768622533,12.085360826053503],[14.181336297266794,12.483656927943116],[14.213530714584635,12.802035427293347],[14.495787387762846,12.85939626713733]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":4,\"sovereignt\":\"Gabon\",\"sov_a3\":\"GAB\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Gabon\",\"adm0_a3\":\"GAB\",\"geou_dif\":0,\"geounit\":\"Gabon\",\"gu_a3\":\"GAB\",\"su_dif\":0,\"subunit\":\"Gabon\",\"su_a3\":\"GAB\",\"brk_diff\":0,\"name\":\"Gabon\",\"name_long\":\"Gabon\",\"brk_a3\":\"GAB\",\"brk_name\":\"Gabon\",\"brk_group\":null,\"abbrev\":\"Gabon\",\"postal\":\"GA\",\"formal_en\":\"Gabonese Republic\",\"formal_fr\":null,\"name_ciawf\":\"Gabon\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Gabon\",\"name_alt\":null,\"mapcolor7\":6,\"mapcolor8\":2,\"mapcolor9\":5,\"mapcolor13\":5,\"pop_est\":2172579,\"pop_rank\":12,\"pop_year\":2019,\"gdp_md\":16874,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"GB\",\"iso_a2\":\"GA\",\"iso_a2_eh\":\"GA\",\"iso_a3\":\"GAB\",\"iso_a3_eh\":\"GAB\",\"iso_n3\":\"266\",\"iso_n3_eh\":\"266\",\"un_a3\":\"266\",\"wb_a2\":\"GA\",\"wb_a3\":\"GAB\",\"woe_id\":23424822,\"woe_id_eh\":23424822,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"GAB\",\"adm0_diff\":null,\"adm0_tlc\":\"GAB\",\"adm0_a3_us\":\"GAB\",\"adm0_a3_fr\":\"GAB\",\"adm0_a3_ru\":\"GAB\",\"adm0_a3_es\":\"GAB\",\"adm0_a3_cn\":\"GAB\",\"adm0_a3_tw\":\"GAB\",\"adm0_a3_in\":\"GAB\",\"adm0_a3_np\":\"GAB\",\"adm0_a3_pk\":\"GAB\",\"adm0_a3_de\":\"GAB\",\"adm0_a3_gb\":\"GAB\",\"adm0_a3_br\":\"GAB\",\"adm0_a3_il\":\"GAB\",\"adm0_a3_ps\":\"GAB\",\"adm0_a3_sa\":\"GAB\",\"adm0_a3_eg\":\"GAB\",\"adm0_a3_ma\":\"GAB\",\"adm0_a3_pt\":\"GAB\",\"adm0_a3_ar\":\"GAB\",\"adm0_a3_jp\":\"GAB\",\"adm0_a3_ko\":\"GAB\",\"adm0_a3_vn\":\"GAB\",\"adm0_a3_tr\":\"GAB\",\"adm0_a3_id\":\"GAB\",\"adm0_a3_pl\":\"GAB\",\"adm0_a3_gr\":\"GAB\",\"adm0_a3_it\":\"GAB\",\"adm0_a3_nl\":\"GAB\",\"adm0_a3_se\":\"GAB\",\"adm0_a3_bd\":\"GAB\",\"adm0_a3_ua\":\"GAB\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Middle Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":5,\"long_len\":5,\"abbrev_len\":5,\"tiny\":3,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":11.835939,\"label_y\":-0.437739,\"ne_id\":1159320693,\"wikidataid\":\"Q1000\",\"name_ar\":\"الغابون\",\"name_bn\":\"গ্যাবন\",\"name_de\":\"Gabun\",\"name_en\":\"Gabon\",\"name_es\":\"Gabón\",\"name_fa\":\"گابن\",\"name_fr\":\"Gabon\",\"name_el\":\"Γκαμπόν\",\"name_he\":\"גבון\",\"name_hi\":\"गबॉन\",\"name_hu\":\"Gabon\",\"name_id\":\"Gabon\",\"name_it\":\"Gabon\",\"name_ja\":\"ガボン\",\"name_ko\":\"가봉\",\"name_nl\":\"Gabon\",\"name_pl\":\"Gabon\",\"name_pt\":\"Gabão\",\"name_ru\":\"Габон\",\"name_sv\":\"Gabon\",\"name_tr\":\"Gabon\",\"name_uk\":\"Габон\",\"name_ur\":\"گیبون\",\"name_vi\":\"Gabon\",\"name_zh\":\"加蓬\",\"name_zht\":\"加彭\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"GAB.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[11.276449008843713,2.261050930180872],[11.75166548019979,2.326757513839993],[12.359380323952221,2.19281220133945],[12.951333855855609,2.32161570882694],[13.075822381246752,2.267097072759015],[13.003113641012078,1.83089630778332],[13.282631463278818,1.31418366129688],[14.026668735417218,1.395677395021153],[14.276265903386957,1.196929836426619],[13.843320753645656,0.038757635901149],[14.316418491277744,-0.552627455247048],[14.425455763413595,-1.333406670744971],[14.299210239324566,-1.998275648612214],[13.99240726080771,-2.4708049454891],[13.109618767965628,-2.428740329603514],[12.575284458067642,-1.948511244315135],[12.495702752338161,-2.391688327650243],[11.820963575903193,-2.514161472181982],[11.478038771214303,-2.765618991714241],[11.855121697648116,-3.426870619321051],[11.093772820691925,-3.978826592630547],[10.06613528813574,-2.969482517105682],[9.40524539555497,-2.144313246269043],[8.79799563969317,-1.111301364754496],[8.830086704146424,-0.779073581550037],[9.048419630579588,-0.459351494960217],[9.29135053878369,0.268666083167687],[9.492888624721985,1.010119533691494],[9.830284051155644,1.067893784993799],[11.285078973036462,1.057661851400013],[11.276449008843713,2.261050930180872]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Niger\",\"sov_a3\":\"NER\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Niger\",\"adm0_a3\":\"NER\",\"geou_dif\":0,\"geounit\":\"Niger\",\"gu_a3\":\"NER\",\"su_dif\":0,\"subunit\":\"Niger\",\"su_a3\":\"NER\",\"brk_diff\":0,\"name\":\"Niger\",\"name_long\":\"Niger\",\"brk_a3\":\"NER\",\"brk_name\":\"Niger\",\"brk_group\":null,\"abbrev\":\"Niger\",\"postal\":\"NE\",\"formal_en\":\"Republic of Niger\",\"formal_fr\":null,\"name_ciawf\":\"Niger\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Niger\",\"name_alt\":null,\"mapcolor7\":4,\"mapcolor8\":5,\"mapcolor9\":3,\"mapcolor13\":13,\"pop_est\":23310715,\"pop_rank\":15,\"pop_year\":2019,\"gdp_md\":12911,\"gdp_year\":2019,\"economy\":\"7. Least developed region\",\"income_grp\":\"5. Low income\",\"fips_10\":\"NG\",\"iso_a2\":\"NE\",\"iso_a2_eh\":\"NE\",\"iso_a3\":\"NER\",\"iso_a3_eh\":\"NER\",\"iso_n3\":\"562\",\"iso_n3_eh\":\"562\",\"un_a3\":\"562\",\"wb_a2\":\"NE\",\"wb_a3\":\"NER\",\"woe_id\":23424906,\"woe_id_eh\":23424906,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"NER\",\"adm0_diff\":null,\"adm0_tlc\":\"NER\",\"adm0_a3_us\":\"NER\",\"adm0_a3_fr\":\"NER\",\"adm0_a3_ru\":\"NER\",\"adm0_a3_es\":\"NER\",\"adm0_a3_cn\":\"NER\",\"adm0_a3_tw\":\"NER\",\"adm0_a3_in\":\"NER\",\"adm0_a3_np\":\"NER\",\"adm0_a3_pk\":\"NER\",\"adm0_a3_de\":\"NER\",\"adm0_a3_gb\":\"NER\",\"adm0_a3_br\":\"NER\",\"adm0_a3_il\":\"NER\",\"adm0_a3_ps\":\"NER\",\"adm0_a3_sa\":\"NER\",\"adm0_a3_eg\":\"NER\",\"adm0_a3_ma\":\"NER\",\"adm0_a3_pt\":\"NER\",\"adm0_a3_ar\":\"NER\",\"adm0_a3_jp\":\"NER\",\"adm0_a3_ko\":\"NER\",\"adm0_a3_vn\":\"NER\",\"adm0_a3_tr\":\"NER\",\"adm0_a3_id\":\"NER\",\"adm0_a3_pl\":\"NER\",\"adm0_a3_gr\":\"NER\",\"adm0_a3_it\":\"NER\",\"adm0_a3_nl\":\"NER\",\"adm0_a3_se\":\"NER\",\"adm0_a3_bd\":\"NER\",\"adm0_a3_ua\":\"NER\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Western Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":5,\"long_len\":5,\"abbrev_len\":5,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":9.504356,\"label_y\":17.446195,\"ne_id\":1159321087,\"wikidataid\":\"Q1032\",\"name_ar\":\"النيجر\",\"name_bn\":\"নাইজার\",\"name_de\":\"Niger\",\"name_en\":\"Niger\",\"name_es\":\"Níger\",\"name_fa\":\"نیجر\",\"name_fr\":\"Niger\",\"name_el\":\"Νίγηρας\",\"name_he\":\"ניז'ר\",\"name_hi\":\"नाइजर\",\"name_hu\":\"Niger\",\"name_id\":\"Niger\",\"name_it\":\"Niger\",\"name_ja\":\"ニジェール\",\"name_ko\":\"니제르\",\"name_nl\":\"Niger\",\"name_pl\":\"Niger\",\"name_pt\":\"Níger\",\"name_ru\":\"Нигер\",\"name_sv\":\"Niger\",\"name_tr\":\"Nijer\",\"name_uk\":\"Нігер\",\"name_ur\":\"نائجر\",\"name_vi\":\"Niger\",\"name_zh\":\"尼日尔\",\"name_zht\":\"尼日\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"NER.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[14.8513,22.862950000000126],[15.096887648181848,21.30851878507491],[15.47106,21.04845],[15.487148064850146,20.730414537025638],[15.903246697664315,20.387618923417506],[15.685740594147774,19.957180080642388],[15.30044111497972,17.927949937405003],[15.247731154041844,16.627305813050782],[13.97217,15.68437],[13.540393507550789,14.367133693901224],[13.956698846094127,13.996691189016929],[13.95447675950561,13.353448798063766],[14.595781284247607,13.33042694747786],[14.495787387762846,12.85939626713733],[14.213530714584635,12.802035427293347],[14.181336297266794,12.483656927943116],[13.995352817448293,12.461565253138303],[13.318701613018561,13.556356309457826],[13.083987257548813,13.596147162322495],[12.302071160540523,13.037189032437524],[11.527803175511394,13.328980007373588],[10.989593133191534,13.387322699431195],[10.701031935273706,13.246917832894084],[10.114814487354693,13.27725189864941],[9.524928012742947,12.851102199754479],[9.014933302454438,12.826659247280418],[7.804671258178786,13.343526923063747],[7.330746697630019,13.0980380314612],[6.820441928747754,13.115091254117518],[6.445426059605637,13.492768459522678],[5.443058302440136,13.865923977102227],[4.368343540066007,13.747481594289411],[4.107945997747322,13.531215725147831],[3.967282749048849,12.956108710171575],[3.680633579125811,12.552903347214226],[3.611180454125559,11.660167141155968],[2.848643019226586,12.23563589115821],[2.49016360841793,12.233052069543675],[2.154473504249921,11.940150051313339],[2.177107781593776,12.625017808477535],[1.024103224297477,12.851825669806574],[0.993045688490071,13.335749620003824],[0.429927605805517,13.988733018443924],[0.295646396495101,14.444234930880654],[0.374892205414682,14.92890818934613],[1.015783318698482,14.96818227788799],[1.385528191746858,15.323561102759172],[2.749992709981484,15.409524847876696],[3.638258904646477,15.568119818580456],[3.723421665063483,16.184283759012615],[4.270209995143802,16.852227484601215],[4.267419467800039,19.155265204337],[5.677565952180686,19.601206976799716],[8.572893100629784,21.565660712159143],[11.999505649471613,23.47166840259645],[13.581424594790462,23.04050608976928],[14.143870883855243,22.491288967371133],[14.8513,22.862950000000126]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Burkina Faso\",\"sov_a3\":\"BFA\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Burkina Faso\",\"adm0_a3\":\"BFA\",\"geou_dif\":0,\"geounit\":\"Burkina Faso\",\"gu_a3\":\"BFA\",\"su_dif\":0,\"subunit\":\"Burkina Faso\",\"su_a3\":\"BFA\",\"brk_diff\":0,\"name\":\"Burkina Faso\",\"name_long\":\"Burkina Faso\",\"brk_a3\":\"BFA\",\"brk_name\":\"Burkina Faso\",\"brk_group\":null,\"abbrev\":\"B.F.\",\"postal\":\"BF\",\"formal_en\":\"Burkina Faso\",\"formal_fr\":null,\"name_ciawf\":\"Burkina Faso\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Burkina Faso\",\"name_alt\":null,\"mapcolor7\":2,\"mapcolor8\":1,\"mapcolor9\":5,\"mapcolor13\":11,\"pop_est\":20321378,\"pop_rank\":15,\"pop_year\":2019,\"gdp_md\":15990,\"gdp_year\":2019,\"economy\":\"7. Least developed region\",\"income_grp\":\"5. Low income\",\"fips_10\":\"UV\",\"iso_a2\":\"BF\",\"iso_a2_eh\":\"BF\",\"iso_a3\":\"BFA\",\"iso_a3_eh\":\"BFA\",\"iso_n3\":\"854\",\"iso_n3_eh\":\"854\",\"un_a3\":\"854\",\"wb_a2\":\"BF\",\"wb_a3\":\"BFA\",\"woe_id\":23424978,\"woe_id_eh\":23424978,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"BFA\",\"adm0_diff\":null,\"adm0_tlc\":\"BFA\",\"adm0_a3_us\":\"BFA\",\"adm0_a3_fr\":\"BFA\",\"adm0_a3_ru\":\"BFA\",\"adm0_a3_es\":\"BFA\",\"adm0_a3_cn\":\"BFA\",\"adm0_a3_tw\":\"BFA\",\"adm0_a3_in\":\"BFA\",\"adm0_a3_np\":\"BFA\",\"adm0_a3_pk\":\"BFA\",\"adm0_a3_de\":\"BFA\",\"adm0_a3_gb\":\"BFA\",\"adm0_a3_br\":\"BFA\",\"adm0_a3_il\":\"BFA\",\"adm0_a3_ps\":\"BFA\",\"adm0_a3_sa\":\"BFA\",\"adm0_a3_eg\":\"BFA\",\"adm0_a3_ma\":\"BFA\",\"adm0_a3_pt\":\"BFA\",\"adm0_a3_ar\":\"BFA\",\"adm0_a3_jp\":\"BFA\",\"adm0_a3_ko\":\"BFA\",\"adm0_a3_vn\":\"BFA\",\"adm0_a3_tr\":\"BFA\",\"adm0_a3_id\":\"BFA\",\"adm0_a3_pl\":\"BFA\",\"adm0_a3_gr\":\"BFA\",\"adm0_a3_it\":\"BFA\",\"adm0_a3_nl\":\"BFA\",\"adm0_a3_se\":\"BFA\",\"adm0_a3_bd\":\"BFA\",\"adm0_a3_ua\":\"BFA\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Western Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":12,\"long_len\":12,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":-1.36388,\"label_y\":12.673048,\"ne_id\":1159320405,\"wikidataid\":\"Q965\",\"name_ar\":\"بوركينا فاسو\",\"name_bn\":\"বুর্কিনা ফাসো\",\"name_de\":\"Burkina Faso\",\"name_en\":\"Burkina Faso\",\"name_es\":\"Burkina Faso\",\"name_fa\":\"بورکینافاسو\",\"name_fr\":\"Burkina Faso\",\"name_el\":\"Μπουρκίνα Φάσο\",\"name_he\":\"בורקינה פאסו\",\"name_hi\":\"बुर्किना फासो\",\"name_hu\":\"Burkina Faso\",\"name_id\":\"Burkina Faso\",\"name_it\":\"Burkina Faso\",\"name_ja\":\"ブルキナファソ\",\"name_ko\":\"부르키나파소\",\"name_nl\":\"Burkina Faso\",\"name_pl\":\"Burkina Faso\",\"name_pt\":\"Burkina Faso\",\"name_ru\":\"Буркина-Фасо\",\"name_sv\":\"Burkina Faso\",\"name_tr\":\"Burkina Faso\",\"name_uk\":\"Буркіна-Фасо\",\"name_ur\":\"برکینا فاسو\",\"name_vi\":\"Burkina Faso\",\"name_zh\":\"布基纳法索\",\"name_zht\":\"布基納法索\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"BFA.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-5.404341599946974,10.370736802609146],[-5.470564947929006,10.951269842976048],[-5.197842576508648,11.37514577885014],[-5.220941941743121,11.713858954307227],[-4.427166103523803,12.542645575404295],[-4.28040503581488,13.228443508349741],[-4.006390753587226,13.472485459848116],[-3.522802700199861,13.337661647998615],[-3.10370683431276,13.541266791228594],[-2.967694464520577,13.79815033615151],[-2.191824510090385,14.246417548067356],[-2.001035122068771,14.559008287000893],[-1.066363491205664,14.973815009007765],[-0.515854458000348,15.116157741755728],[-0.26625729003058,14.924308986872148],[0.374892205414682,14.92890818934613],[0.295646396495101,14.444234930880654],[0.429927605805517,13.988733018443924],[0.993045688490071,13.335749620003824],[1.024103224297477,12.851825669806574],[2.177107781593776,12.625017808477535],[2.154473504249921,11.940150051313339],[1.935985548519881,11.641150214072553],[1.447178175471066,11.547719224488858],[1.243469679376489,11.110510769083461],[0.899563022474069,10.99733938236426],[0.023802524423701,11.018681748900804],[-0.438701544588582,11.098340969278722],[-0.761575893548183,10.936929633015055],[-1.203357713211432,11.009819240762738],[-2.940409308270461,10.962690334512558],[-2.963896246747112,10.395334784380083],[-2.827496303712707,9.642460842319778],[-3.511898972986273,9.90032623945622],[-3.980449184576685,9.8623440617217],[-4.330246954760383,9.610834865757141],[-4.779883592131966,9.821984768101743],[-4.954653286143099,10.152713934769736],[-5.404341599946974,10.370736802609146]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":6,\"sovereignt\":\"Togo\",\"sov_a3\":\"TGO\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Togo\",\"adm0_a3\":\"TGO\",\"geou_dif\":0,\"geounit\":\"Togo\",\"gu_a3\":\"TGO\",\"su_dif\":0,\"subunit\":\"Togo\",\"su_a3\":\"TGO\",\"brk_diff\":0,\"name\":\"Togo\",\"name_long\":\"Togo\",\"brk_a3\":\"TGO\",\"brk_name\":\"Togo\",\"brk_group\":null,\"abbrev\":\"Togo\",\"postal\":\"TG\",\"formal_en\":\"Togolese Republic\",\"formal_fr\":\"République Togolaise\",\"name_ciawf\":\"Togo\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Togo\",\"name_alt\":null,\"mapcolor7\":3,\"mapcolor8\":1,\"mapcolor9\":3,\"mapcolor13\":5,\"pop_est\":8082366,\"pop_rank\":13,\"pop_year\":2019,\"gdp_md\":5490,\"gdp_year\":2019,\"economy\":\"7. Least developed region\",\"income_grp\":\"5. Low income\",\"fips_10\":\"TO\",\"iso_a2\":\"TG\",\"iso_a2_eh\":\"TG\",\"iso_a3\":\"TGO\",\"iso_a3_eh\":\"TGO\",\"iso_n3\":\"768\",\"iso_n3_eh\":\"768\",\"un_a3\":\"768\",\"wb_a2\":\"TG\",\"wb_a3\":\"TGO\",\"woe_id\":23424965,\"woe_id_eh\":23424965,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"TGO\",\"adm0_diff\":null,\"adm0_tlc\":\"TGO\",\"adm0_a3_us\":\"TGO\",\"adm0_a3_fr\":\"TGO\",\"adm0_a3_ru\":\"TGO\",\"adm0_a3_es\":\"TGO\",\"adm0_a3_cn\":\"TGO\",\"adm0_a3_tw\":\"TGO\",\"adm0_a3_in\":\"TGO\",\"adm0_a3_np\":\"TGO\",\"adm0_a3_pk\":\"TGO\",\"adm0_a3_de\":\"TGO\",\"adm0_a3_gb\":\"TGO\",\"adm0_a3_br\":\"TGO\",\"adm0_a3_il\":\"TGO\",\"adm0_a3_ps\":\"TGO\",\"adm0_a3_sa\":\"TGO\",\"adm0_a3_eg\":\"TGO\",\"adm0_a3_ma\":\"TGO\",\"adm0_a3_pt\":\"TGO\",\"adm0_a3_ar\":\"TGO\",\"adm0_a3_jp\":\"TGO\",\"adm0_a3_ko\":\"TGO\",\"adm0_a3_vn\":\"TGO\",\"adm0_a3_tr\":\"TGO\",\"adm0_a3_id\":\"TGO\",\"adm0_a3_pl\":\"TGO\",\"adm0_a3_gr\":\"TGO\",\"adm0_a3_it\":\"TGO\",\"adm0_a3_nl\":\"TGO\",\"adm0_a3_se\":\"TGO\",\"adm0_a3_bd\":\"TGO\",\"adm0_a3_ua\":\"TGO\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Western Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":4,\"long_len\":4,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":5,\"max_label\":10,\"label_x\":1.058113,\"label_y\":8.80722,\"ne_id\":1159321303,\"wikidataid\":\"Q945\",\"name_ar\":\"توغو\",\"name_bn\":\"টোগো\",\"name_de\":\"Togo\",\"name_en\":\"Togo\",\"name_es\":\"Togo\",\"name_fa\":\"توگو\",\"name_fr\":\"Togo\",\"name_el\":\"Τόγκο\",\"name_he\":\"טוגו\",\"name_hi\":\"टोगो\",\"name_hu\":\"Togo\",\"name_id\":\"Togo\",\"name_it\":\"Togo\",\"name_ja\":\"トーゴ\",\"name_ko\":\"토고\",\"name_nl\":\"Togo\",\"name_pl\":\"Togo\",\"name_pt\":\"Togo\",\"name_ru\":\"Того\",\"name_sv\":\"Togo\",\"name_tr\":\"Togo\",\"name_uk\":\"Того\",\"name_ur\":\"ٹوگو\",\"name_vi\":\"Togo\",\"name_zh\":\"多哥\",\"name_zht\":\"多哥\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"TGO.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[0.899563022474069,10.99733938236426],[0.772335646171484,10.470808213742359],[1.077795037448738,10.175606594275024],[1.425060662450136,9.825395412633],[1.46304284018467,9.334624335157088],[1.664477573258381,9.12859039960938],[1.618950636409238,6.832038072126238],[1.865240512712319,6.142157701029731],[1.060121697604927,5.928837388528876],[0.836931186536333,6.279978745952149],[0.570384148774849,6.914358628767189],[0.490957472342245,7.411744289576475],[0.712029249686879,8.31246450442383],[0.461191847342121,8.677222601756014],[0.365900506195885,9.465003973829482],[0.367579990245389,10.19121287682718],[-0.049784715159944,10.706917832883931],[0.023802524423701,11.018681748900804],[0.899563022474069,10.99733938236426]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Ghana\",\"sov_a3\":\"GHA\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Ghana\",\"adm0_a3\":\"GHA\",\"geou_dif\":0,\"geounit\":\"Ghana\",\"gu_a3\":\"GHA\",\"su_dif\":0,\"subunit\":\"Ghana\",\"su_a3\":\"GHA\",\"brk_diff\":0,\"name\":\"Ghana\",\"name_long\":\"Ghana\",\"brk_a3\":\"GHA\",\"brk_name\":\"Ghana\",\"brk_group\":null,\"abbrev\":\"Ghana\",\"postal\":\"GH\",\"formal_en\":\"Republic of Ghana\",\"formal_fr\":null,\"name_ciawf\":\"Ghana\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Ghana\",\"name_alt\":null,\"mapcolor7\":5,\"mapcolor8\":3,\"mapcolor9\":1,\"mapcolor13\":4,\"pop_est\":30417856,\"pop_rank\":15,\"pop_year\":2019,\"gdp_md\":66983,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"GH\",\"iso_a2\":\"GH\",\"iso_a2_eh\":\"GH\",\"iso_a3\":\"GHA\",\"iso_a3_eh\":\"GHA\",\"iso_n3\":\"288\",\"iso_n3_eh\":\"288\",\"un_a3\":\"288\",\"wb_a2\":\"GH\",\"wb_a3\":\"GHA\",\"woe_id\":23424824,\"woe_id_eh\":23424824,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"GHA\",\"adm0_diff\":null,\"adm0_tlc\":\"GHA\",\"adm0_a3_us\":\"GHA\",\"adm0_a3_fr\":\"GHA\",\"adm0_a3_ru\":\"GHA\",\"adm0_a3_es\":\"GHA\",\"adm0_a3_cn\":\"GHA\",\"adm0_a3_tw\":\"GHA\",\"adm0_a3_in\":\"GHA\",\"adm0_a3_np\":\"GHA\",\"adm0_a3_pk\":\"GHA\",\"adm0_a3_de\":\"GHA\",\"adm0_a3_gb\":\"GHA\",\"adm0_a3_br\":\"GHA\",\"adm0_a3_il\":\"GHA\",\"adm0_a3_ps\":\"GHA\",\"adm0_a3_sa\":\"GHA\",\"adm0_a3_eg\":\"GHA\",\"adm0_a3_ma\":\"GHA\",\"adm0_a3_pt\":\"GHA\",\"adm0_a3_ar\":\"GHA\",\"adm0_a3_jp\":\"GHA\",\"adm0_a3_ko\":\"GHA\",\"adm0_a3_vn\":\"GHA\",\"adm0_a3_tr\":\"GHA\",\"adm0_a3_id\":\"GHA\",\"adm0_a3_pl\":\"GHA\",\"adm0_a3_gr\":\"GHA\",\"adm0_a3_it\":\"GHA\",\"adm0_a3_nl\":\"GHA\",\"adm0_a3_se\":\"GHA\",\"adm0_a3_bd\":\"GHA\",\"adm0_a3_ua\":\"GHA\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Western Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":5,\"long_len\":5,\"abbrev_len\":5,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":2.7,\"max_label\":8,\"label_x\":-1.036941,\"label_y\":7.717639,\"ne_id\":1159320793,\"wikidataid\":\"Q117\",\"name_ar\":\"غانا\",\"name_bn\":\"ঘানা\",\"name_de\":\"Ghana\",\"name_en\":\"Ghana\",\"name_es\":\"Ghana\",\"name_fa\":\"غنا\",\"name_fr\":\"Ghana\",\"name_el\":\"Γκάνα\",\"name_he\":\"גאנה\",\"name_hi\":\"घाना\",\"name_hu\":\"Ghána\",\"name_id\":\"Ghana\",\"name_it\":\"Ghana\",\"name_ja\":\"ガーナ\",\"name_ko\":\"가나\",\"name_nl\":\"Ghana\",\"name_pl\":\"Ghana\",\"name_pt\":\"Gana\",\"name_ru\":\"Гана\",\"name_sv\":\"Ghana\",\"name_tr\":\"Gana\",\"name_uk\":\"Гана\",\"name_ur\":\"گھانا\",\"name_vi\":\"Ghana\",\"name_zh\":\"加纳\",\"name_zht\":\"迦納\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"GHA.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[0.023802524423701,11.018681748900804],[-0.049784715159944,10.706917832883931],[0.367579990245389,10.19121287682718],[0.365900506195885,9.465003973829482],[0.461191847342121,8.677222601756014],[0.712029249686879,8.31246450442383],[0.490957472342245,7.411744289576475],[0.570384148774849,6.914358628767189],[0.836931186536333,6.279978745952149],[1.060121697604927,5.928837388528876],[-0.507637905265938,5.343472601742675],[-1.063624640294194,5.000547797053812],[-1.964706590167594,4.710462144383371],[-2.856125047202397,4.994475816259509],[-2.81070146321784,5.38905121502411],[-3.244370083011262,6.250471503113502],[-2.983584967450327,7.379704901555513],[-2.562189500326241,8.219627793811483],[-2.827496303712707,9.642460842319778],[-2.963896246747112,10.395334784380083],[-2.940409308270461,10.962690334512558],[-1.203357713211432,11.009819240762738],[-0.761575893548183,10.936929633015055],[-0.438701544588582,11.098340969278722],[0.023802524423701,11.018681748900804]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":6,\"sovereignt\":\"Guinea-Bissau\",\"sov_a3\":\"GNB\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Guinea-Bissau\",\"adm0_a3\":\"GNB\",\"geou_dif\":0,\"geounit\":\"Guinea-Bissau\",\"gu_a3\":\"GNB\",\"su_dif\":0,\"subunit\":\"Guinea-Bissau\",\"su_a3\":\"GNB\",\"brk_diff\":0,\"name\":\"Guinea-Bissau\",\"name_long\":\"Guinea-Bissau\",\"brk_a3\":\"GNB\",\"brk_name\":\"Guinea-Bissau\",\"brk_group\":null,\"abbrev\":\"GnB.\",\"postal\":\"GW\",\"formal_en\":\"Republic of Guinea-Bissau\",\"formal_fr\":null,\"name_ciawf\":\"Guinea-Bissau\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Guinea-Bissau\",\"name_alt\":null,\"mapcolor7\":3,\"mapcolor8\":5,\"mapcolor9\":3,\"mapcolor13\":4,\"pop_est\":1920922,\"pop_rank\":12,\"pop_year\":2019,\"gdp_md\":1339,\"gdp_year\":2019,\"economy\":\"7. Least developed region\",\"income_grp\":\"5. Low income\",\"fips_10\":\"PU\",\"iso_a2\":\"GW\",\"iso_a2_eh\":\"GW\",\"iso_a3\":\"GNB\",\"iso_a3_eh\":\"GNB\",\"iso_n3\":\"624\",\"iso_n3_eh\":\"624\",\"un_a3\":\"624\",\"wb_a2\":\"GW\",\"wb_a3\":\"GNB\",\"woe_id\":23424929,\"woe_id_eh\":23424929,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"GNB\",\"adm0_diff\":null,\"adm0_tlc\":\"GNB\",\"adm0_a3_us\":\"GNB\",\"adm0_a3_fr\":\"GNB\",\"adm0_a3_ru\":\"GNB\",\"adm0_a3_es\":\"GNB\",\"adm0_a3_cn\":\"GNB\",\"adm0_a3_tw\":\"GNB\",\"adm0_a3_in\":\"GNB\",\"adm0_a3_np\":\"GNB\",\"adm0_a3_pk\":\"GNB\",\"adm0_a3_de\":\"GNB\",\"adm0_a3_gb\":\"GNB\",\"adm0_a3_br\":\"GNB\",\"adm0_a3_il\":\"GNB\",\"adm0_a3_ps\":\"GNB\",\"adm0_a3_sa\":\"GNB\",\"adm0_a3_eg\":\"GNB\",\"adm0_a3_ma\":\"GNB\",\"adm0_a3_pt\":\"GNB\",\"adm0_a3_ar\":\"GNB\",\"adm0_a3_jp\":\"GNB\",\"adm0_a3_ko\":\"GNB\",\"adm0_a3_vn\":\"GNB\",\"adm0_a3_tr\":\"GNB\",\"adm0_a3_id\":\"GNB\",\"adm0_a3_pl\":\"GNB\",\"adm0_a3_gr\":\"GNB\",\"adm0_a3_it\":\"GNB\",\"adm0_a3_nl\":\"GNB\",\"adm0_a3_se\":\"GNB\",\"adm0_a3_bd\":\"GNB\",\"adm0_a3_ua\":\"GNB\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Western Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":13,\"long_len\":13,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":5,\"max_label\":10,\"label_x\":-14.52413,\"label_y\":12.163712,\"ne_id\":1159320799,\"wikidataid\":\"Q1007\",\"name_ar\":\"غينيا بيساو\",\"name_bn\":\"গিনি-বিসাউ\",\"name_de\":\"Guinea-Bissau\",\"name_en\":\"Guinea-Bissau\",\"name_es\":\"Guinea-Bisáu\",\"name_fa\":\"گینه بیسائو\",\"name_fr\":\"Guinée-Bissau\",\"name_el\":\"Γουινέα-Μπισσάου\",\"name_he\":\"גינאה ביסאו\",\"name_hi\":\"गिनी-बिसाऊ\",\"name_hu\":\"Bissau-Guinea\",\"name_id\":\"Guinea-Bissau\",\"name_it\":\"Guinea-Bissau\",\"name_ja\":\"ギニアビサウ\",\"name_ko\":\"기니비사우\",\"name_nl\":\"Guinee-Bissau\",\"name_pl\":\"Gwinea Bissau\",\"name_pt\":\"Guiné-Bissau\",\"name_ru\":\"Гвинея-Бисау\",\"name_sv\":\"Guinea-Bissau\",\"name_tr\":\"Gine-Bissau\",\"name_uk\":\"Гвінея-Бісау\",\"name_ur\":\"گنی بساؤ\",\"name_vi\":\"Guiné-Bissau\",\"name_zh\":\"几内亚比绍\",\"name_zht\":\"幾內亞比索\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"GNB.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-16.677451951554573,12.384851589401052],[-16.147716844130585,12.547761542201187],[-15.816574266004254,12.515567124883347],[-15.54847693527401,12.628170070847347],[-13.700476040084325,12.586182969610194],[-13.718743658899513,12.24718557377551],[-13.828271857142125,12.142644151249044],[-13.743160773157413,11.811269029177412],[-13.900799729863776,11.678718980348748],[-14.121406419317779,11.677117010947697],[-14.382191534878729,11.509271958863692],[-14.685687221728898,11.527823798056488],[-15.130311245168173,11.040411688679526],[-15.664180467175527,11.458474025920795],[-16.085214199273565,11.52459402103824],[-16.314786749730203,11.80651479740655],[-16.30894731288123,11.95870189050612],[-16.61383826340328,12.170911159712702],[-16.677451951554573,12.384851589401052]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":2,\"sovereignt\":\"Egypt\",\"sov_a3\":\"EGY\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Egypt\",\"adm0_a3\":\"EGY\",\"geou_dif\":0,\"geounit\":\"Egypt\",\"gu_a3\":\"EGY\",\"su_dif\":0,\"subunit\":\"Egypt\",\"su_a3\":\"EGY\",\"brk_diff\":0,\"name\":\"Egypt\",\"name_long\":\"Egypt\",\"brk_a3\":\"EGY\",\"brk_name\":\"Egypt\",\"brk_group\":null,\"abbrev\":\"Egypt\",\"postal\":\"EG\",\"formal_en\":\"Arab Republic of Egypt\",\"formal_fr\":null,\"name_ciawf\":\"Egypt\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Egypt, Arab Rep.\",\"name_alt\":null,\"mapcolor7\":4,\"mapcolor8\":6,\"mapcolor9\":7,\"mapcolor13\":2,\"pop_est\":100388073,\"pop_rank\":17,\"pop_year\":2019,\"gdp_md\":303092,\"gdp_year\":2019,\"economy\":\"5. Emerging region: G20\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"EG\",\"iso_a2\":\"EG\",\"iso_a2_eh\":\"EG\",\"iso_a3\":\"EGY\",\"iso_a3_eh\":\"EGY\",\"iso_n3\":\"818\",\"iso_n3_eh\":\"818\",\"un_a3\":\"818\",\"wb_a2\":\"EG\",\"wb_a3\":\"EGY\",\"woe_id\":23424802,\"woe_id_eh\":23424802,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"EGY\",\"adm0_diff\":null,\"adm0_tlc\":\"EGY\",\"adm0_a3_us\":\"EGY\",\"adm0_a3_fr\":\"EGY\",\"adm0_a3_ru\":\"EGY\",\"adm0_a3_es\":\"EGY\",\"adm0_a3_cn\":\"EGY\",\"adm0_a3_tw\":\"EGY\",\"adm0_a3_in\":\"EGY\",\"adm0_a3_np\":\"EGY\",\"adm0_a3_pk\":\"EGY\",\"adm0_a3_de\":\"EGY\",\"adm0_a3_gb\":\"EGY\",\"adm0_a3_br\":\"EGY\",\"adm0_a3_il\":\"EGY\",\"adm0_a3_ps\":\"EGY\",\"adm0_a3_sa\":\"EGY\",\"adm0_a3_eg\":\"EGY\",\"adm0_a3_ma\":\"EGY\",\"adm0_a3_pt\":\"EGY\",\"adm0_a3_ar\":\"EGY\",\"adm0_a3_jp\":\"EGY\",\"adm0_a3_ko\":\"EGY\",\"adm0_a3_vn\":\"EGY\",\"adm0_a3_tr\":\"EGY\",\"adm0_a3_id\":\"EGY\",\"adm0_a3_pl\":\"EGY\",\"adm0_a3_gr\":\"EGY\",\"adm0_a3_it\":\"EGY\",\"adm0_a3_nl\":\"EGY\",\"adm0_a3_se\":\"EGY\",\"adm0_a3_bd\":\"EGY\",\"adm0_a3_ua\":\"EGY\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Northern Africa\",\"region_wb\":\"Middle East & North Africa\",\"name_len\":5,\"long_len\":5,\"abbrev_len\":5,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":1.7,\"max_label\":6.7,\"label_x\":29.445837,\"label_y\":26.186173,\"ne_id\":1159320575,\"wikidataid\":\"Q79\",\"name_ar\":\"مصر\",\"name_bn\":\"মিশর\",\"name_de\":\"Ägypten\",\"name_en\":\"Egypt\",\"name_es\":\"Egipto\",\"name_fa\":\"مصر\",\"name_fr\":\"Égypte\",\"name_el\":\"Αίγυπτος\",\"name_he\":\"מצרים\",\"name_hi\":\"मिस्र\",\"name_hu\":\"Egyiptom\",\"name_id\":\"Mesir\",\"name_it\":\"Egitto\",\"name_ja\":\"エジプト\",\"name_ko\":\"이집트\",\"name_nl\":\"Egypte\",\"name_pl\":\"Egipt\",\"name_pt\":\"Egito\",\"name_ru\":\"Египет\",\"name_sv\":\"Egypten\",\"name_tr\":\"Mısır\",\"name_uk\":\"Єгипет\",\"name_ur\":\"مصر\",\"name_vi\":\"Ai Cập\",\"name_zh\":\"埃及\",\"name_zht\":\"埃及\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"EGY.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[36.86623,22],[32.9,22],[29.02,22],[25,22],[25,25.682499996361],[25,29.23865452953346],[24.70007,30.04419],[24.95762,30.6616],[24.80287,31.08929],[25.16482,31.56915],[26.49533,31.58568],[27.45762,31.32126],[28.45048,31.02577],[28.91353,30.87005],[29.68342,31.18686],[30.09503,31.4734],[30.97693,31.55586],[31.68796,31.4296],[31.96041,30.9336],[32.19247,31.26034],[32.99392,31.02407],[33.7734,30.96746],[34.26543474464621,31.21935730952032],[34.26544,31.21936],[34.823243288783814,29.76108076171822],[34.9226,29.50133],[34.64174,29.09942],[34.42655,28.34399],[34.15451,27.8233],[33.92136,27.6487],[33.58811,27.97136],[33.13676,28.41765],[32.42323,29.85108],[32.32046,29.76043],[32.73482,28.70523],[33.34876,27.69989],[34.10455,26.14227],[34.47387,25.59856],[34.79507,25.03375],[35.69241,23.92671],[35.49372,23.75237],[35.52598,23.10244],[36.69069,22.20485],[36.86623,22]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Mauritania\",\"sov_a3\":\"MRT\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Mauritania\",\"adm0_a3\":\"MRT\",\"geou_dif\":0,\"geounit\":\"Mauritania\",\"gu_a3\":\"MRT\",\"su_dif\":0,\"subunit\":\"Mauritania\",\"su_a3\":\"MRT\",\"brk_diff\":0,\"name\":\"Mauritania\",\"name_long\":\"Mauritania\",\"brk_a3\":\"MRT\",\"brk_name\":\"Mauritania\",\"brk_group\":null,\"abbrev\":\"Mrt.\",\"postal\":\"MR\",\"formal_en\":\"Islamic Republic of Mauritania\",\"formal_fr\":null,\"name_ciawf\":\"Mauritania\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Mauritania\",\"name_alt\":null,\"mapcolor7\":3,\"mapcolor8\":3,\"mapcolor9\":2,\"mapcolor13\":1,\"pop_est\":4525696,\"pop_rank\":12,\"pop_year\":2019,\"gdp_md\":7600,\"gdp_year\":2019,\"economy\":\"7. Least developed region\",\"income_grp\":\"5. Low income\",\"fips_10\":\"MR\",\"iso_a2\":\"MR\",\"iso_a2_eh\":\"MR\",\"iso_a3\":\"MRT\",\"iso_a3_eh\":\"MRT\",\"iso_n3\":\"478\",\"iso_n3_eh\":\"478\",\"un_a3\":\"478\",\"wb_a2\":\"MR\",\"wb_a3\":\"MRT\",\"woe_id\":23424896,\"woe_id_eh\":23424896,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"MRT\",\"adm0_diff\":null,\"adm0_tlc\":\"MRT\",\"adm0_a3_us\":\"MRT\",\"adm0_a3_fr\":\"MRT\",\"adm0_a3_ru\":\"MRT\",\"adm0_a3_es\":\"MRT\",\"adm0_a3_cn\":\"MRT\",\"adm0_a3_tw\":\"MRT\",\"adm0_a3_in\":\"MRT\",\"adm0_a3_np\":\"MRT\",\"adm0_a3_pk\":\"MRT\",\"adm0_a3_de\":\"MRT\",\"adm0_a3_gb\":\"MRT\",\"adm0_a3_br\":\"MRT\",\"adm0_a3_il\":\"MRT\",\"adm0_a3_ps\":\"MRT\",\"adm0_a3_sa\":\"MRT\",\"adm0_a3_eg\":\"MRT\",\"adm0_a3_ma\":\"MRT\",\"adm0_a3_pt\":\"MRT\",\"adm0_a3_ar\":\"MRT\",\"adm0_a3_jp\":\"MRT\",\"adm0_a3_ko\":\"MRT\",\"adm0_a3_vn\":\"MRT\",\"adm0_a3_tr\":\"MRT\",\"adm0_a3_id\":\"MRT\",\"adm0_a3_pl\":\"MRT\",\"adm0_a3_gr\":\"MRT\",\"adm0_a3_it\":\"MRT\",\"adm0_a3_nl\":\"MRT\",\"adm0_a3_se\":\"MRT\",\"adm0_a3_bd\":\"MRT\",\"adm0_a3_ua\":\"MRT\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Western Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":10,\"long_len\":10,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":-9.740299,\"label_y\":19.587062,\"ne_id\":1159321075,\"wikidataid\":\"Q1025\",\"name_ar\":\"موريتانيا\",\"name_bn\":\"মৌরিতানিয়া\",\"name_de\":\"Mauretanien\",\"name_en\":\"Mauritania\",\"name_es\":\"Mauritania\",\"name_fa\":\"موریتانی\",\"name_fr\":\"Mauritanie\",\"name_el\":\"Μαυριτανία\",\"name_he\":\"מאוריטניה\",\"name_hi\":\"मॉरीतानिया\",\"name_hu\":\"Mauritánia\",\"name_id\":\"Mauritania\",\"name_it\":\"Mauritania\",\"name_ja\":\"モーリタニア\",\"name_ko\":\"모리타니\",\"name_nl\":\"Mauritanië\",\"name_pl\":\"Mauretania\",\"name_pt\":\"Mauritânia\",\"name_ru\":\"Мавритания\",\"name_sv\":\"Mauretanien\",\"name_tr\":\"Moritanya\",\"name_uk\":\"Мавританія\",\"name_ur\":\"موریتانیہ\",\"name_vi\":\"Mauritanie\",\"name_zh\":\"毛里塔尼亚\",\"name_zht\":\"茅利塔尼亞\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"MRT.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-17.06342322434257,20.999752102130827],[-16.845193650773993,21.33332347257488],[-12.929101935263532,21.327070624267563],[-13.118754441774712,22.771220201096256],[-12.874221564169575,23.284832261645178],[-11.937224493853321,23.374594224536168],[-11.96941891117116,25.933352769468268],[-8.6872936670174,25.881056219988906],[-8.684399786809053,27.395744126896005],[-4.923337368174231,24.974574082941],[-6.453786586930335,24.956590684503425],[-5.971128709324248,20.64083344164763],[-5.488522508150439,16.325102037007966],[-5.315277268891933,16.20185374599184],[-5.537744309908447,15.501689764869257],[-9.55023840985939,15.486496893775438],[-9.700255092802706,15.264107367407362],[-10.086846482778213,15.330485744686271],[-10.650791388379417,15.132745876521426],[-11.349095017939504,15.411256008358478],[-11.666078253617854,15.388208319556298],[-11.834207526079467,14.79909699142894],[-12.170750291380301,14.616834214735505],[-12.830658331747516,15.303691514542948],[-13.435737677453062,16.03938304286619],[-14.099521450242179,16.304302273010492],[-14.577347581428981,16.59826365810281],[-15.135737270558819,16.587282416240782],[-15.623666144258692,16.369337063049812],[-16.12069007004193,16.455662543193384],[-16.463098110407884,16.13503611903846],[-16.549707810929064,16.673892116761962],[-16.270551723688357,17.166962795474873],[-16.14634741867485,18.108481553616656],[-16.256883307347167,19.096715806550307],[-16.37765112961327,19.593817246981985],[-16.277838100641517,20.0925206568147],[-16.536323614965468,20.567866319251493],[-17.06342322434257,20.999752102130827]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":4,\"sovereignt\":\"Equatorial Guinea\",\"sov_a3\":\"GNQ\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Equatorial Guinea\",\"adm0_a3\":\"GNQ\",\"geou_dif\":0,\"geounit\":\"Equatorial Guinea\",\"gu_a3\":\"GNQ\",\"su_dif\":0,\"subunit\":\"Equatorial Guinea\",\"su_a3\":\"GNQ\",\"brk_diff\":0,\"name\":\"Eq. Guinea\",\"name_long\":\"Equatorial Guinea\",\"brk_a3\":\"GNQ\",\"brk_name\":\"Eq. Guinea\",\"brk_group\":null,\"abbrev\":\"Eq. G.\",\"postal\":\"GQ\",\"formal_en\":\"Republic of Equatorial Guinea\",\"formal_fr\":null,\"name_ciawf\":\"Equatorial Guinea\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Equatorial Guinea\",\"name_alt\":null,\"mapcolor7\":4,\"mapcolor8\":1,\"mapcolor9\":4,\"mapcolor13\":8,\"pop_est\":1355986,\"pop_rank\":12,\"pop_year\":2019,\"gdp_md\":11026,\"gdp_year\":2019,\"economy\":\"7. Least developed region\",\"income_grp\":\"2. High income: nonOECD\",\"fips_10\":\"EK\",\"iso_a2\":\"GQ\",\"iso_a2_eh\":\"GQ\",\"iso_a3\":\"GNQ\",\"iso_a3_eh\":\"GNQ\",\"iso_n3\":\"226\",\"iso_n3_eh\":\"226\",\"un_a3\":\"226\",\"wb_a2\":\"GQ\",\"wb_a3\":\"GNQ\",\"woe_id\":23424804,\"woe_id_eh\":23424804,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"GNQ\",\"adm0_diff\":null,\"adm0_tlc\":\"GNQ\",\"adm0_a3_us\":\"GNQ\",\"adm0_a3_fr\":\"GNQ\",\"adm0_a3_ru\":\"GNQ\",\"adm0_a3_es\":\"GNQ\",\"adm0_a3_cn\":\"GNQ\",\"adm0_a3_tw\":\"GNQ\",\"adm0_a3_in\":\"GNQ\",\"adm0_a3_np\":\"GNQ\",\"adm0_a3_pk\":\"GNQ\",\"adm0_a3_de\":\"GNQ\",\"adm0_a3_gb\":\"GNQ\",\"adm0_a3_br\":\"GNQ\",\"adm0_a3_il\":\"GNQ\",\"adm0_a3_ps\":\"GNQ\",\"adm0_a3_sa\":\"GNQ\",\"adm0_a3_eg\":\"GNQ\",\"adm0_a3_ma\":\"GNQ\",\"adm0_a3_pt\":\"GNQ\",\"adm0_a3_ar\":\"GNQ\",\"adm0_a3_jp\":\"GNQ\",\"adm0_a3_ko\":\"GNQ\",\"adm0_a3_vn\":\"GNQ\",\"adm0_a3_tr\":\"GNQ\",\"adm0_a3_id\":\"GNQ\",\"adm0_a3_pl\":\"GNQ\",\"adm0_a3_gr\":\"GNQ\",\"adm0_a3_it\":\"GNQ\",\"adm0_a3_nl\":\"GNQ\",\"adm0_a3_se\":\"GNQ\",\"adm0_a3_bd\":\"GNQ\",\"adm0_a3_ua\":\"GNQ\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Middle Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":10,\"long_len\":17,\"abbrev_len\":6,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":8.9902,\"label_y\":2.333,\"ne_id\":1159320801,\"wikidataid\":\"Q983\",\"name_ar\":\"غينيا الاستوائية\",\"name_bn\":\"বিষুবীয় গিনি\",\"name_de\":\"Äquatorialguinea\",\"name_en\":\"Equatorial Guinea\",\"name_es\":\"Guinea Ecuatorial\",\"name_fa\":\"گینه استوایی\",\"name_fr\":\"Guinée équatoriale\",\"name_el\":\"Ισημερινή Γουινέα\",\"name_he\":\"גינאה המשוונית\",\"name_hi\":\"भूमध्यरेखीय गिनी\",\"name_hu\":\"Egyenlítői-Guinea\",\"name_id\":\"Guinea Khatulistiwa\",\"name_it\":\"Guinea Equatoriale\",\"name_ja\":\"赤道ギニア\",\"name_ko\":\"적도 기니\",\"name_nl\":\"Equatoriaal-Guinea\",\"name_pl\":\"Gwinea Równikowa\",\"name_pt\":\"Guiné Equatorial\",\"name_ru\":\"Экваториальная Гвинея\",\"name_sv\":\"Ekvatorialguinea\",\"name_tr\":\"Ekvator Ginesi\",\"name_uk\":\"Екваторіальна Гвінея\",\"name_ur\":\"استوائی گنی\",\"name_vi\":\"Guinea Xích Đạo\",\"name_zh\":\"赤道几内亚\",\"name_zht\":\"赤道幾內亞\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"GNQ.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[9.649158155972628,2.283866075037736],[11.276449008843713,2.261050930180872],[11.285078973036462,1.057661851400013],[9.830284051155644,1.067893784993799],[9.492888624721985,1.010119533691494],[9.305613234096256,1.160911363119183],[9.649158155972628,2.283866075037736]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":6,\"sovereignt\":\"Gambia\",\"sov_a3\":\"GMB\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Gambia\",\"adm0_a3\":\"GMB\",\"geou_dif\":0,\"geounit\":\"Gambia\",\"gu_a3\":\"GMB\",\"su_dif\":0,\"subunit\":\"Gambia\",\"su_a3\":\"GMB\",\"brk_diff\":0,\"name\":\"Gambia\",\"name_long\":\"The Gambia\",\"brk_a3\":\"GMB\",\"brk_name\":\"Gambia\",\"brk_group\":null,\"abbrev\":\"Gambia\",\"postal\":\"GM\",\"formal_en\":\"Republic of the Gambia\",\"formal_fr\":null,\"name_ciawf\":\"Gambia, The\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Gambia, The\",\"name_alt\":null,\"mapcolor7\":1,\"mapcolor8\":4,\"mapcolor9\":1,\"mapcolor13\":8,\"pop_est\":2347706,\"pop_rank\":12,\"pop_year\":2019,\"gdp_md\":1826,\"gdp_year\":2019,\"economy\":\"7. Least developed region\",\"income_grp\":\"5. Low income\",\"fips_10\":\"GA\",\"iso_a2\":\"GM\",\"iso_a2_eh\":\"GM\",\"iso_a3\":\"GMB\",\"iso_a3_eh\":\"GMB\",\"iso_n3\":\"270\",\"iso_n3_eh\":\"270\",\"un_a3\":\"270\",\"wb_a2\":\"GM\",\"wb_a3\":\"GMB\",\"woe_id\":23424821,\"woe_id_eh\":23424821,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"GMB\",\"adm0_diff\":null,\"adm0_tlc\":\"GMB\",\"adm0_a3_us\":\"GMB\",\"adm0_a3_fr\":\"GMB\",\"adm0_a3_ru\":\"GMB\",\"adm0_a3_es\":\"GMB\",\"adm0_a3_cn\":\"GMB\",\"adm0_a3_tw\":\"GMB\",\"adm0_a3_in\":\"GMB\",\"adm0_a3_np\":\"GMB\",\"adm0_a3_pk\":\"GMB\",\"adm0_a3_de\":\"GMB\",\"adm0_a3_gb\":\"GMB\",\"adm0_a3_br\":\"GMB\",\"adm0_a3_il\":\"GMB\",\"adm0_a3_ps\":\"GMB\",\"adm0_a3_sa\":\"GMB\",\"adm0_a3_eg\":\"GMB\",\"adm0_a3_ma\":\"GMB\",\"adm0_a3_pt\":\"GMB\",\"adm0_a3_ar\":\"GMB\",\"adm0_a3_jp\":\"GMB\",\"adm0_a3_ko\":\"GMB\",\"adm0_a3_vn\":\"GMB\",\"adm0_a3_tr\":\"GMB\",\"adm0_a3_id\":\"GMB\",\"adm0_a3_pl\":\"GMB\",\"adm0_a3_gr\":\"GMB\",\"adm0_a3_it\":\"GMB\",\"adm0_a3_nl\":\"GMB\",\"adm0_a3_se\":\"GMB\",\"adm0_a3_bd\":\"GMB\",\"adm0_a3_ua\":\"GMB\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Western Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":6,\"long_len\":10,\"abbrev_len\":6,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":5,\"max_label\":10,\"label_x\":-14.998318,\"label_y\":13.641721,\"ne_id\":1159320797,\"wikidataid\":\"Q1005\",\"name_ar\":\"غامبيا\",\"name_bn\":\"গাম্বিয়া\",\"name_de\":\"Gambia\",\"name_en\":\"The Gambia\",\"name_es\":\"Gambia\",\"name_fa\":\"گامبیا\",\"name_fr\":\"Gambie\",\"name_el\":\"Γκάμπια\",\"name_he\":\"גמביה\",\"name_hi\":\"गाम्बिया\",\"name_hu\":\"Gambia\",\"name_id\":\"Gambia\",\"name_it\":\"Gambia\",\"name_ja\":\"ガンビア\",\"name_ko\":\"감비아\",\"name_nl\":\"Gambia\",\"name_pl\":\"Gambia\",\"name_pt\":\"Gâmbia\",\"name_ru\":\"Гамбия\",\"name_sv\":\"Gambia\",\"name_tr\":\"Gambiya\",\"name_uk\":\"Гамбія\",\"name_ur\":\"گیمبیا\",\"name_vi\":\"Gambia\",\"name_zh\":\"冈比亚\",\"name_zht\":\"甘比亞\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"GMB.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-16.71372880702347,13.594958604379855],[-15.624596320039942,13.62358734786956],[-15.39877031092446,13.86036876063092],[-15.08173539881382,13.876491807505985],[-14.687030808968487,13.630356960499784],[-14.376713833055788,13.625680243377374],[-14.046992356817482,13.79406789800045],[-13.844963344772408,13.505041612192002],[-14.277701788784555,13.280585028532244],[-14.712197231494628,13.298206691943777],[-15.141163295949468,13.509511623585238],[-15.511812506562933,13.278569647672867],[-15.691000535534995,13.270353094938457],[-15.931295945692211,13.130284125211332],[-16.841524624081273,13.15139394780256],[-16.71372880702347,13.594958604379855]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Madagascar\",\"sov_a3\":\"MDG\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Madagascar\",\"adm0_a3\":\"MDG\",\"geou_dif\":0,\"geounit\":\"Madagascar\",\"gu_a3\":\"MDG\",\"su_dif\":0,\"subunit\":\"Madagascar\",\"su_a3\":\"MDG\",\"brk_diff\":0,\"name\":\"Madagascar\",\"name_long\":\"Madagascar\",\"brk_a3\":\"MDG\",\"brk_name\":\"Madagascar\",\"brk_group\":null,\"abbrev\":\"Mad.\",\"postal\":\"MG\",\"formal_en\":\"Republic of Madagascar\",\"formal_fr\":null,\"name_ciawf\":\"Madagascar\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Madagascar\",\"name_alt\":null,\"mapcolor7\":6,\"mapcolor8\":5,\"mapcolor9\":2,\"mapcolor13\":3,\"pop_est\":26969307,\"pop_rank\":15,\"pop_year\":2019,\"gdp_md\":14114,\"gdp_year\":2019,\"economy\":\"7. Least developed region\",\"income_grp\":\"5. Low income\",\"fips_10\":\"MA\",\"iso_a2\":\"MG\",\"iso_a2_eh\":\"MG\",\"iso_a3\":\"MDG\",\"iso_a3_eh\":\"MDG\",\"iso_n3\":\"450\",\"iso_n3_eh\":\"450\",\"un_a3\":\"450\",\"wb_a2\":\"MG\",\"wb_a3\":\"MDG\",\"woe_id\":23424883,\"woe_id_eh\":23424883,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"MDG\",\"adm0_diff\":null,\"adm0_tlc\":\"MDG\",\"adm0_a3_us\":\"MDG\",\"adm0_a3_fr\":\"MDG\",\"adm0_a3_ru\":\"MDG\",\"adm0_a3_es\":\"MDG\",\"adm0_a3_cn\":\"MDG\",\"adm0_a3_tw\":\"MDG\",\"adm0_a3_in\":\"MDG\",\"adm0_a3_np\":\"MDG\",\"adm0_a3_pk\":\"MDG\",\"adm0_a3_de\":\"MDG\",\"adm0_a3_gb\":\"MDG\",\"adm0_a3_br\":\"MDG\",\"adm0_a3_il\":\"MDG\",\"adm0_a3_ps\":\"MDG\",\"adm0_a3_sa\":\"MDG\",\"adm0_a3_eg\":\"MDG\",\"adm0_a3_ma\":\"MDG\",\"adm0_a3_pt\":\"MDG\",\"adm0_a3_ar\":\"MDG\",\"adm0_a3_jp\":\"MDG\",\"adm0_a3_ko\":\"MDG\",\"adm0_a3_vn\":\"MDG\",\"adm0_a3_tr\":\"MDG\",\"adm0_a3_id\":\"MDG\",\"adm0_a3_pl\":\"MDG\",\"adm0_a3_gr\":\"MDG\",\"adm0_a3_it\":\"MDG\",\"adm0_a3_nl\":\"MDG\",\"adm0_a3_se\":\"MDG\",\"adm0_a3_bd\":\"MDG\",\"adm0_a3_ua\":\"MDG\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Africa\",\"region_un\":\"Africa\",\"subregion\":\"Eastern Africa\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":10,\"long_len\":10,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":2.7,\"max_label\":7,\"label_x\":46.704241,\"label_y\":-18.628288,\"ne_id\":1159321051,\"wikidataid\":\"Q1019\",\"name_ar\":\"مدغشقر\",\"name_bn\":\"মাদাগাস্কার\",\"name_de\":\"Madagaskar\",\"name_en\":\"Madagascar\",\"name_es\":\"Madagascar\",\"name_fa\":\"ماداگاسکار\",\"name_fr\":\"Madagascar\",\"name_el\":\"Μαδαγασκάρη\",\"name_he\":\"מדגסקר\",\"name_hi\":\"मेडागास्कर\",\"name_hu\":\"Madagaszkár\",\"name_id\":\"Madagaskar\",\"name_it\":\"Madagascar\",\"name_ja\":\"マダガスカル\",\"name_ko\":\"마다가스카르\",\"name_nl\":\"Madagaskar\",\"name_pl\":\"Madagaskar\",\"name_pt\":\"Madagáscar\",\"name_ru\":\"Мадагаскар\",\"name_sv\":\"Madagaskar\",\"name_tr\":\"Madagaskar\",\"name_uk\":\"Мадагаскар\",\"name_ur\":\"مڈغاسکر\",\"name_vi\":\"Madagascar\",\"name_zh\":\"马达加斯加\",\"name_zht\":\"馬達加斯加\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"MDG.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[49.54351891459575,-12.469832858940554],[49.808980747279094,-12.895284925999555],[50.056510857957164,-13.555761407121985],[50.21743126811407,-14.758788750876796],[50.47653689962553,-15.226512139550543],[50.377111443895956,-15.706069431219127],[50.20027469259318,-16.000263360256767],[49.86060550313868,-15.414252618066918],[49.67260664246086,-15.710203545802479],[49.863344354050156,-16.451036879138776],[49.77456424337271,-16.8750420060936],[49.49861209493412,-17.106035658438273],[49.435618523970305,-17.953064060134366],[49.041792433473944,-19.118781019774445],[48.54854088724801,-20.496888116134127],[47.93074913919867,-22.391501153251085],[47.54772342305131,-23.781958916928517],[47.095761346226595,-24.941629733990453],[46.282477654817086,-25.178462823184105],[45.40950768411045,-25.60143442149309],[44.833573846217554,-25.34610116953894],[44.03972049334976,-24.988345228782308],[43.76376834491117,-24.46067717864999],[43.697777540874455,-23.574116306250602],[43.345654331237625,-22.776903985283873],[43.254187046081,-22.057413018484123],[43.43329756040464,-21.33647511158019],[43.893682895692926,-21.16330738697013],[43.896370070172104,-20.830459486578174],[44.37432539243966,-20.07236622485639],[44.46439741392439,-19.435454196859048],[44.23242190936617,-18.961994724200906],[44.042976108584156,-18.33138722094317],[43.96308434426091,-17.409944756746782],[44.31246870298628,-16.850495700754955],[44.4465173683514,-16.216219170804507],[44.94493655780653,-16.1793738745804],[45.50273196796499,-15.97437346767854],[45.87299360533626,-15.793454278224687],[46.31224327981721,-15.780018405828798],[46.882182651564285,-15.210182386946315],[47.70512983581236,-14.594302666891764],[48.005214878131255,-14.091232598530375],[47.869047479042166,-13.663868503476586],[48.29382775248138,-13.784067884987486],[48.84506025573879,-13.089174899958664],[48.86350874206698,-12.48786793381042],[49.194651320193316,-12.04055673589197],[49.54351891459575,-12.469832858940554]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":2,\"sovereignt\":\"France\",\"sov_a3\":\"FR1\",\"adm0_dif\":1,\"level\":2,\"type\":\"Country\",\"tlc\":\"1\",\"admin\":\"France\",\"adm0_a3\":\"FRA\",\"geou_dif\":0,\"geounit\":\"France\",\"gu_a3\":\"FRA\",\"su_dif\":0,\"subunit\":\"France\",\"su_a3\":\"FRA\",\"brk_diff\":0,\"name\":\"France\",\"name_long\":\"France\",\"brk_a3\":\"FRA\",\"brk_name\":\"France\",\"brk_group\":null,\"abbrev\":\"Fr.\",\"postal\":\"F\",\"formal_en\":\"French Republic\",\"formal_fr\":null,\"name_ciawf\":\"France\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"France\",\"name_alt\":null,\"mapcolor7\":7,\"mapcolor8\":5,\"mapcolor9\":9,\"mapcolor13\":11,\"pop_est\":67059887,\"pop_rank\":16,\"pop_year\":2019,\"gdp_md\":2715518,\"gdp_year\":2019,\"economy\":\"1. Developed region: G7\",\"income_grp\":\"1. High income: OECD\",\"fips_10\":\"FR\",\"iso_a2\":\"-99\",\"iso_a2_eh\":\"FR\",\"iso_a3\":\"-99\",\"iso_a3_eh\":\"FRA\",\"iso_n3\":\"-99\",\"iso_n3_eh\":\"250\",\"un_a3\":\"250\",\"wb_a2\":\"FR\",\"wb_a3\":\"FRA\",\"woe_id\":-90,\"woe_id_eh\":23424819,\"woe_note\":\"Includes only Metropolitan France (including Corsica)\",\"adm0_iso\":\"FRA\",\"adm0_diff\":null,\"adm0_tlc\":\"FRA\",\"adm0_a3_us\":\"FRA\",\"adm0_a3_fr\":\"FRA\",\"adm0_a3_ru\":\"FRA\",\"adm0_a3_es\":\"FRA\",\"adm0_a3_cn\":\"FRA\",\"adm0_a3_tw\":\"FRA\",\"adm0_a3_in\":\"FRA\",\"adm0_a3_np\":\"FRA\",\"adm0_a3_pk\":\"FRA\",\"adm0_a3_de\":\"FRA\",\"adm0_a3_gb\":\"FRA\",\"adm0_a3_br\":\"FRA\",\"adm0_a3_il\":\"FRA\",\"adm0_a3_ps\":\"FRA\",\"adm0_a3_sa\":\"FRA\",\"adm0_a3_eg\":\"FRA\",\"adm0_a3_ma\":\"FRA\",\"adm0_a3_pt\":\"FRA\",\"adm0_a3_ar\":\"FRA\",\"adm0_a3_jp\":\"FRA\",\"adm0_a3_ko\":\"FRA\",\"adm0_a3_vn\":\"FRA\",\"adm0_a3_tr\":\"FRA\",\"adm0_a3_id\":\"FRA\",\"adm0_a3_pl\":\"FRA\",\"adm0_a3_gr\":\"FRA\",\"adm0_a3_it\":\"FRA\",\"adm0_a3_nl\":\"FRA\",\"adm0_a3_se\":\"FRA\",\"adm0_a3_bd\":\"FRA\",\"adm0_a3_ua\":\"FRA\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Europe\",\"region_un\":\"Europe\",\"subregion\":\"Western Europe\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":6,\"long_len\":6,\"abbrev_len\":3,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":1.7,\"max_label\":6.7,\"label_x\":2.552275,\"label_y\":46.696113,\"ne_id\":1159320637,\"wikidataid\":\"Q142\",\"name_ar\":\"فرنسا\",\"name_bn\":\"ফ্রান্স\",\"name_de\":\"Frankreich\",\"name_en\":\"France\",\"name_es\":\"Francia\",\"name_fa\":\"فرانسه\",\"name_fr\":\"France\",\"name_el\":\"Γαλλία\",\"name_he\":\"צרפת\",\"name_hi\":\"फ़्रान्स\",\"name_hu\":\"Franciaország\",\"name_id\":\"Prancis\",\"name_it\":\"Francia\",\"name_ja\":\"フランス\",\"name_ko\":\"프랑스\",\"name_nl\":\"Frankrijk\",\"name_pl\":\"Francja\",\"name_pt\":\"França\",\"name_ru\":\"Франция\",\"name_sv\":\"Frankrike\",\"name_tr\":\"Fransa\",\"name_uk\":\"Франція\",\"name_ur\":\"فرانس\",\"name_vi\":\"Pháp\",\"name_zh\":\"法国\",\"name_zht\":\"法國\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"FRA.geojson\"},\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[[[-51.65779741067889,4.156232408053029],[-52.249337531123956,3.241094468596245],[-52.55642473001842,2.504705308437053],[-52.939657151894956,2.124857692875636],[-53.41846513529531,2.053389187015981],[-53.554839240113544,2.334896551925951],[-53.77852067728892,2.376702785650082],[-54.08806250671725,2.105556545414629],[-54.524754197799716,2.311848863123785],[-54.2697051662232,2.732391669115046],[-54.181726040246275,3.189779771330421],[-54.00693050801901,3.620037746592558],[-54.399542202356514,4.212611395683467],[-54.47863298197923,4.896755682795586],[-53.9580446030709,5.756548163267765],[-53.618452928264844,5.646529038918374],[-52.88214128275409,5.409850979021584],[-51.8233428615259,4.565768133966131],[-51.65779741067889,4.156232408053029]]],[[[6.186320428094177,49.463802802114515],[6.658229607783568,49.20195831969157],[8.099278598674744,49.01778351500333],[7.593676385131062,48.33301911070372],[7.466759067422231,47.62058197691181],[7.192202182655507,47.44976552997102],[6.736571079138059,47.541801255882845],[6.768713820023606,47.2877082383037],[6.037388950229001,46.725778713561866],[6.022609490593538,46.27298981382047],[6.500099724970426,46.42967275652944],[6.843592970414505,45.99114655210061],[6.802355177445605,45.70857982032864],[7.096652459347837,45.33309886329589],[6.749955275101655,45.02851797136758],[7.007562290076635,44.25476675066136],[7.549596388386107,44.12790110938481],[7.435184767291872,43.69384491634922],[6.52924523278304,43.128892320318315],[4.556962517931424,43.399650987311595],[3.100410597352663,43.075200507167054],[2.985998976258458,42.47301504166986],[1.826793247087153,42.34338471126569],[0.701590610363894,42.795734361332606],[0.338046909190581,42.57954600683955],[-1.502770961910528,43.03401439063043],[-1.901351284177764,43.42280202897834],[-1.384225226232985,44.022610378590116],[-1.193797573237418,46.01491771095486],[-2.225724249673846,47.06436269793822],[-2.963276129559603,47.57032664650795],[-4.491554938159481,47.954954332056374],[-4.592349819344776,48.68416046812699],[-3.295813971357802,48.90169240985963],[-1.616510789384961,48.64442129169454],[-1.933494025063311,49.776341864615745],[-0.98946895995536,49.34737580016091],[1.338761020522696,50.12717316344526],[1.6390010921385,50.9466063502975],[2.513573032246143,51.14850617126183],[2.658422071960274,50.796848049515745],[3.123251580425688,50.78036326761455],[3.588184441755658,50.37899241800356],[4.286022983425084,49.907496649772554],[4.799221632515724,49.98537303323637],[5.674051954784829,49.529483547557504],[5.897759230176348,49.44266714130711],[6.186320428094177,49.463802802114515]]],[[[8.746009148807559,42.62812185319392],[9.390000848028876,43.00998484961471],[9.560016310269134,42.15249197037952],[9.229752231491773,41.380006822264455],[8.775723097375362,41.58361196549443],[8.544212680707773,42.25651662858306],[8.746009148807559,42.62812185319392]]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Ukraine\",\"sov_a3\":\"UKR\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Ukraine\",\"adm0_a3\":\"UKR\",\"geou_dif\":0,\"geounit\":\"Ukraine\",\"gu_a3\":\"UKR\",\"su_dif\":0,\"subunit\":\"Ukraine\",\"su_a3\":\"UKR\",\"brk_diff\":0,\"name\":\"Ukraine\",\"name_long\":\"Ukraine\",\"brk_a3\":\"UKR\",\"brk_name\":\"Ukraine\",\"brk_group\":null,\"abbrev\":\"Ukr.\",\"postal\":\"UA\",\"formal_en\":\"Ukraine\",\"formal_fr\":null,\"name_ciawf\":\"Ukraine\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Ukraine\",\"name_alt\":null,\"mapcolor7\":5,\"mapcolor8\":1,\"mapcolor9\":6,\"mapcolor13\":3,\"pop_est\":44385155,\"pop_rank\":15,\"pop_year\":2019,\"gdp_md\":153781,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"UP\",\"iso_a2\":\"UA\",\"iso_a2_eh\":\"UA\",\"iso_a3\":\"UKR\",\"iso_a3_eh\":\"UKR\",\"iso_n3\":\"804\",\"iso_n3_eh\":\"804\",\"un_a3\":\"804\",\"wb_a2\":\"UA\",\"wb_a3\":\"UKR\",\"woe_id\":23424976,\"woe_id_eh\":23424976,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"UKR\",\"adm0_diff\":null,\"adm0_tlc\":\"UKR\",\"adm0_a3_us\":\"UKR\",\"adm0_a3_fr\":\"UKR\",\"adm0_a3_ru\":\"UKR\",\"adm0_a3_es\":\"UKR\",\"adm0_a3_cn\":\"UKR\",\"adm0_a3_tw\":\"UKR\",\"adm0_a3_in\":\"UKR\",\"adm0_a3_np\":\"UKR\",\"adm0_a3_pk\":\"UKR\",\"adm0_a3_de\":\"UKR\",\"adm0_a3_gb\":\"UKR\",\"adm0_a3_br\":\"UKR\",\"adm0_a3_il\":\"UKR\",\"adm0_a3_ps\":\"UKR\",\"adm0_a3_sa\":\"UKR\",\"adm0_a3_eg\":\"UKR\",\"adm0_a3_ma\":\"UKR\",\"adm0_a3_pt\":\"UKR\",\"adm0_a3_ar\":\"UKR\",\"adm0_a3_jp\":\"UKR\",\"adm0_a3_ko\":\"UKR\",\"adm0_a3_vn\":\"UKR\",\"adm0_a3_tr\":\"UKR\",\"adm0_a3_id\":\"UKR\",\"adm0_a3_pl\":\"UKR\",\"adm0_a3_gr\":\"UKR\",\"adm0_a3_it\":\"UKR\",\"adm0_a3_nl\":\"UKR\",\"adm0_a3_se\":\"UKR\",\"adm0_a3_bd\":\"UKR\",\"adm0_a3_ua\":\"UKR\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Europe\",\"region_un\":\"Europe\",\"subregion\":\"Eastern Europe\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":7,\"long_len\":7,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":2.7,\"max_label\":7,\"label_x\":32.140865,\"label_y\":49.724739,\"ne_id\":1159321345,\"wikidataid\":\"Q212\",\"name_ar\":\"أوكرانيا\",\"name_bn\":\"ইউক্রেন\",\"name_de\":\"Ukraine\",\"name_en\":\"Ukraine\",\"name_es\":\"Ucrania\",\"name_fa\":\"اوکراین\",\"name_fr\":\"Ukraine\",\"name_el\":\"Ουκρανία\",\"name_he\":\"אוקראינה\",\"name_hi\":\"युक्रेन\",\"name_hu\":\"Ukrajna\",\"name_id\":\"Ukraina\",\"name_it\":\"Ucraina\",\"name_ja\":\"ウクライナ\",\"name_ko\":\"우크라이나\",\"name_nl\":\"Oekraïne\",\"name_pl\":\"Ukraina\",\"name_pt\":\"Ucrânia\",\"name_ru\":\"Украина\",\"name_sv\":\"Ukraina\",\"name_tr\":\"Ukrayna\",\"name_uk\":\"Україна\",\"name_ur\":\"یوکرین\",\"name_vi\":\"Ukraina\",\"name_zh\":\"乌克兰\",\"name_zht\":\"烏克蘭\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"UKR.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[31.78599244755525,52.1016775699397],[32.15944000000013,52.06125000000014],[32.41205813978769,52.28869497334978],[32.715760532367085,52.23846548116211],[33.75269982273579,52.3350745713318],[34.39173058445709,51.768881740925906],[34.141978387190534,51.566413479206346],[34.22481570815427,51.25599315042888],[35.02218305841791,51.2075723333715],[35.37791,50.77394],[35.356116163887975,50.57719737405904],[36.62616784032542,50.225590928745135],[37.39345950699516,50.38395335550365],[38.01063113785693,49.9156615260747],[38.59498823421342,49.9264619004237],[40.06904000000014,49.60105],[40.080789015469406,49.30742991799934],[39.67465,48.78382000000016],[39.89562000000018,48.23241],[39.738277622238854,47.89893707945197],[38.77057,47.825620000000185],[38.25511233902978,47.54640045835691],[38.223538038899335,47.10218984637595],[37.4251371599899,47.02222056740419],[36.75985477066445,46.69870026304102],[35.82368452326489,46.64596446388714],[34.96234174982385,46.27319651954974],[35.01265897004737,45.73772519982549],[34.861792128174045,45.76818243191957],[34.73201738827845,45.96566573176062],[34.41040172853718,46.005162391728845],[33.69946184910907,46.219572831556434],[33.435988094713366,45.971917370797485],[33.29856733575474,46.08059845639781],[31.744140252415207,46.33334788673733],[31.67530724460255,46.70624502215554],[30.74874881360921,46.583100084004116],[30.377608676888883,46.03241018328572],[29.603289015427436,45.293308010431126],[29.149724969201653,45.464925442072456],[28.67977949393938,45.304030870131704],[28.23355350109904,45.48828318946829],[28.485269402792767,45.5969070501459],[28.65998742037158,45.93998688413164],[28.933717482221596,46.25883047137256],[28.862972446414062,46.43788930926383],[29.07210696789929,46.517677720722496],[29.170653924279804,46.37926239682872],[29.759971958136394,46.34998769793536],[30.024658644335375,46.42393667254504],[29.838210076626297,46.52532583270169],[29.908851759569302,46.67436066343146],[29.559674106573112,46.928582872091326],[29.415135125452736,47.34664520933258],[29.05086795422727,47.5102269557525],[29.12269819511303,47.849095160506465],[28.670891147585166,48.1181485052341],[28.259546746541844,48.15556224221342],[27.522537469195157,48.467119452501116],[26.857823520624805,48.368210761094495],[26.619336785597795,48.22072622333347],[26.19745039236693,48.22088125263035],[25.9459411964024,47.987148749374214],[25.20774336111299,47.89105642352747],[24.866317172960578,47.737525743188314],[24.40205610525038,47.98187775328043],[23.76095828623741,47.985598456405455],[23.142236362406805,48.09634105080695],[22.710531447040495,47.88219391538941],[22.640819939878725,48.150239569687415],[22.085608351334855,48.42226430927179],[22.28084191253356,48.82539215758067],[22.558137648211755,49.085738023467144],[22.776418898212626,49.02739533140962],[22.518450148211603,49.47677358661974],[23.426508416444392,50.30850576435745],[23.92275719574326,50.42488108987874],[24.029985792748903,50.70540660257518],[23.52707075368437,51.57845408793031],[24.00507775238418,51.617443956094405],[24.553106316839518,51.888461005249184],[25.32778771332701,51.91065603291855],[26.337958611768556,51.83228872334797],[27.454066196408405,51.592303371784396],[28.24161502453657,51.57222707783907],[28.61761274589225,51.42771393493484],[28.992835320763533,51.602044379271476],[29.25493818534784,51.36823436136689],[30.157363722460897,51.41613841410147],[30.555117221811457,51.31950348571566],[30.619454380014815,51.822806098022454],[30.927549269338982,52.04235342061439],[31.78599244755525,52.1016775699397]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":4,\"sovereignt\":\"Belarus\",\"sov_a3\":\"BLR\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Belarus\",\"adm0_a3\":\"BLR\",\"geou_dif\":0,\"geounit\":\"Belarus\",\"gu_a3\":\"BLR\",\"su_dif\":0,\"subunit\":\"Belarus\",\"su_a3\":\"BLR\",\"brk_diff\":0,\"name\":\"Belarus\",\"name_long\":\"Belarus\",\"brk_a3\":\"BLR\",\"brk_name\":\"Belarus\",\"brk_group\":null,\"abbrev\":\"Bela.\",\"postal\":\"BY\",\"formal_en\":\"Republic of Belarus\",\"formal_fr\":null,\"name_ciawf\":\"Belarus\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Belarus\",\"name_alt\":null,\"mapcolor7\":1,\"mapcolor8\":1,\"mapcolor9\":5,\"mapcolor13\":11,\"pop_est\":9466856,\"pop_rank\":13,\"pop_year\":2019,\"gdp_md\":63080,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"BO\",\"iso_a2\":\"BY\",\"iso_a2_eh\":\"BY\",\"iso_a3\":\"BLR\",\"iso_a3_eh\":\"BLR\",\"iso_n3\":\"112\",\"iso_n3_eh\":\"112\",\"un_a3\":\"112\",\"wb_a2\":\"BY\",\"wb_a3\":\"BLR\",\"woe_id\":23424765,\"woe_id_eh\":23424765,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"BLR\",\"adm0_diff\":null,\"adm0_tlc\":\"BLR\",\"adm0_a3_us\":\"BLR\",\"adm0_a3_fr\":\"BLR\",\"adm0_a3_ru\":\"BLR\",\"adm0_a3_es\":\"BLR\",\"adm0_a3_cn\":\"BLR\",\"adm0_a3_tw\":\"BLR\",\"adm0_a3_in\":\"BLR\",\"adm0_a3_np\":\"BLR\",\"adm0_a3_pk\":\"BLR\",\"adm0_a3_de\":\"BLR\",\"adm0_a3_gb\":\"BLR\",\"adm0_a3_br\":\"BLR\",\"adm0_a3_il\":\"BLR\",\"adm0_a3_ps\":\"BLR\",\"adm0_a3_sa\":\"BLR\",\"adm0_a3_eg\":\"BLR\",\"adm0_a3_ma\":\"BLR\",\"adm0_a3_pt\":\"BLR\",\"adm0_a3_ar\":\"BLR\",\"adm0_a3_jp\":\"BLR\",\"adm0_a3_ko\":\"BLR\",\"adm0_a3_vn\":\"BLR\",\"adm0_a3_tr\":\"BLR\",\"adm0_a3_id\":\"BLR\",\"adm0_a3_pl\":\"BLR\",\"adm0_a3_gr\":\"BLR\",\"adm0_a3_it\":\"BLR\",\"adm0_a3_nl\":\"BLR\",\"adm0_a3_se\":\"BLR\",\"adm0_a3_bd\":\"BLR\",\"adm0_a3_ua\":\"BLR\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Europe\",\"region_un\":\"Europe\",\"subregion\":\"Eastern Europe\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":7,\"long_len\":7,\"abbrev_len\":5,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":28.417701,\"label_y\":53.821888,\"ne_id\":1159320427,\"wikidataid\":\"Q184\",\"name_ar\":\"بيلاروسيا\",\"name_bn\":\"বেলারুশ\",\"name_de\":\"Belarus\",\"name_en\":\"Belarus\",\"name_es\":\"Bielorrusia\",\"name_fa\":\"بلاروس\",\"name_fr\":\"Biélorussie\",\"name_el\":\"Λευκορωσία\",\"name_he\":\"בלארוס\",\"name_hi\":\"बेलारूस\",\"name_hu\":\"Fehéroroszország\",\"name_id\":\"Belarus\",\"name_it\":\"Bielorussia\",\"name_ja\":\"ベラルーシ\",\"name_ko\":\"벨라루스\",\"name_nl\":\"Wit-Rusland\",\"name_pl\":\"Białoruś\",\"name_pt\":\"Bielorrússia\",\"name_ru\":\"Белоруссия\",\"name_sv\":\"Belarus\",\"name_tr\":\"Beyaz Rusya\",\"name_uk\":\"Білорусь\",\"name_ur\":\"بیلاروس\",\"name_vi\":\"Belarus\",\"name_zh\":\"白俄罗斯\",\"name_zht\":\"白俄羅斯\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"BLR.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[28.17670942557794,56.16912995057879],[29.229513380660308,55.91834422466636],[29.371571893030673,55.670090643936184],[29.896294386522356,55.78946320253041],[30.87390913262001,55.55097646750341],[30.971835971813135,55.08154775656404],[30.75753380709872,54.81177094178432],[31.38447228366374,54.15705638286238],[31.79142418796224,53.974638576872124],[31.731272820774507,53.79402944601202],[32.405598585751164,53.61804535584204],[32.69364301934604,53.35142080343218],[32.30451948418823,53.13272614197291],[31.49764,53.16743000000014],[31.305200636528014,53.07399587667321],[31.54001834486226,52.74205231384636],[31.78597,52.1016800000001],[31.78599244755525,52.1016775699397],[30.927549269338982,52.04235342061439],[30.619454380014815,51.822806098022454],[30.555117221811457,51.31950348571566],[30.157363722460897,51.41613841410147],[29.25493818534784,51.36823436136689],[28.992835320763533,51.602044379271476],[28.61761274589225,51.42771393493484],[28.24161502453657,51.57222707783907],[27.454066196408405,51.592303371784396],[26.337958611768556,51.83228872334797],[25.32778771332701,51.91065603291855],[24.553106316839518,51.888461005249184],[24.00507775238418,51.617443956094405],[23.52707075368437,51.57845408793031],[23.508002150168693,52.02364655212473],[23.199493849386187,52.48697744405367],[23.79919884613338,52.69109935160657],[23.80493493011778,53.089731350306074],[23.527535841575002,53.470121568406555],[23.48412763844985,53.91249766704114],[24.450683628037037,53.905702216194754],[25.536353794056993,54.28242340760253],[25.7684326514798,54.84696259217509],[26.58827924979039,55.16717560487167],[26.494331495883756,55.615106919977634],[27.10245975109453,55.783313707087686],[28.17670942557794,56.16912995057879]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":5,\"sovereignt\":\"Lithuania\",\"sov_a3\":\"LTU\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Lithuania\",\"adm0_a3\":\"LTU\",\"geou_dif\":0,\"geounit\":\"Lithuania\",\"gu_a3\":\"LTU\",\"su_dif\":0,\"subunit\":\"Lithuania\",\"su_a3\":\"LTU\",\"brk_diff\":0,\"name\":\"Lithuania\",\"name_long\":\"Lithuania\",\"brk_a3\":\"LTU\",\"brk_name\":\"Lithuania\",\"brk_group\":null,\"abbrev\":\"Lith.\",\"postal\":\"LT\",\"formal_en\":\"Republic of Lithuania\",\"formal_fr\":null,\"name_ciawf\":\"Lithuania\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Lithuania\",\"name_alt\":null,\"mapcolor7\":6,\"mapcolor8\":3,\"mapcolor9\":3,\"mapcolor13\":9,\"pop_est\":2786844,\"pop_rank\":12,\"pop_year\":2019,\"gdp_md\":54627,\"gdp_year\":2019,\"economy\":\"2. Developed region: nonG7\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"LH\",\"iso_a2\":\"LT\",\"iso_a2_eh\":\"LT\",\"iso_a3\":\"LTU\",\"iso_a3_eh\":\"LTU\",\"iso_n3\":\"440\",\"iso_n3_eh\":\"440\",\"un_a3\":\"440\",\"wb_a2\":\"LT\",\"wb_a3\":\"LTU\",\"woe_id\":23424875,\"woe_id_eh\":23424875,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"LTU\",\"adm0_diff\":null,\"adm0_tlc\":\"LTU\",\"adm0_a3_us\":\"LTU\",\"adm0_a3_fr\":\"LTU\",\"adm0_a3_ru\":\"LTU\",\"adm0_a3_es\":\"LTU\",\"adm0_a3_cn\":\"LTU\",\"adm0_a3_tw\":\"LTU\",\"adm0_a3_in\":\"LTU\",\"adm0_a3_np\":\"LTU\",\"adm0_a3_pk\":\"LTU\",\"adm0_a3_de\":\"LTU\",\"adm0_a3_gb\":\"LTU\",\"adm0_a3_br\":\"LTU\",\"adm0_a3_il\":\"LTU\",\"adm0_a3_ps\":\"LTU\",\"adm0_a3_sa\":\"LTU\",\"adm0_a3_eg\":\"LTU\",\"adm0_a3_ma\":\"LTU\",\"adm0_a3_pt\":\"LTU\",\"adm0_a3_ar\":\"LTU\",\"adm0_a3_jp\":\"LTU\",\"adm0_a3_ko\":\"LTU\",\"adm0_a3_vn\":\"LTU\",\"adm0_a3_tr\":\"LTU\",\"adm0_a3_id\":\"LTU\",\"adm0_a3_pl\":\"LTU\",\"adm0_a3_gr\":\"LTU\",\"adm0_a3_it\":\"LTU\",\"adm0_a3_nl\":\"LTU\",\"adm0_a3_se\":\"LTU\",\"adm0_a3_bd\":\"LTU\",\"adm0_a3_ua\":\"LTU\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Europe\",\"region_un\":\"Europe\",\"subregion\":\"Northern Europe\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":9,\"long_len\":9,\"abbrev_len\":5,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":24.089932,\"label_y\":55.103703,\"ne_id\":1159321029,\"wikidataid\":\"Q37\",\"name_ar\":\"ليتوانيا\",\"name_bn\":\"লিথুয়ানিয়া\",\"name_de\":\"Litauen\",\"name_en\":\"Lithuania\",\"name_es\":\"Lituania\",\"name_fa\":\"لیتوانی\",\"name_fr\":\"Lituanie\",\"name_el\":\"Λιθουανία\",\"name_he\":\"ליטא\",\"name_hi\":\"लिथुआनिया\",\"name_hu\":\"Litvánia\",\"name_id\":\"Lituania\",\"name_it\":\"Lituania\",\"name_ja\":\"リトアニア\",\"name_ko\":\"리투아니아\",\"name_nl\":\"Litouwen\",\"name_pl\":\"Litwa\",\"name_pt\":\"Lituânia\",\"name_ru\":\"Литва\",\"name_sv\":\"Litauen\",\"name_tr\":\"Litvanya\",\"name_uk\":\"Литва\",\"name_ur\":\"لتھووینیا\",\"name_vi\":\"Litva\",\"name_zh\":\"立陶宛\",\"name_zht\":\"立陶宛\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"LTU.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[26.494331495883756,55.615106919977634],[26.58827924979039,55.16717560487167],[25.7684326514798,54.84696259217509],[25.536353794056993,54.28242340760253],[24.450683628037037,53.905702216194754],[23.48412763844985,53.91249766704114],[23.24398725758951,54.22056671814914],[22.731098667092652,54.327536932993326],[22.65105187347254,54.582740993866736],[22.75776370615526,54.85657440858138],[22.315723504330577,55.015298570365864],[21.268448927503467,55.190481675835315],[21.055800408622417,56.031076361711065],[22.201156853939494,56.33780182557949],[23.878263787539964,56.27367137310527],[24.86068444184076,56.37252838807963],[25.000934279080894,56.16453074810484],[25.533046502390334,56.100296942766036],[26.494331495883756,55.615106919977634]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":2,\"sovereignt\":\"Russia\",\"sov_a3\":\"RUS\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Russia\",\"adm0_a3\":\"RUS\",\"geou_dif\":0,\"geounit\":\"Russia\",\"gu_a3\":\"RUS\",\"su_dif\":0,\"subunit\":\"Russia\",\"su_a3\":\"RUS\",\"brk_diff\":0,\"name\":\"Russia\",\"name_long\":\"Russian Federation\",\"brk_a3\":\"RUS\",\"brk_name\":\"Russia\",\"brk_group\":null,\"abbrev\":\"Rus.\",\"postal\":\"RUS\",\"formal_en\":\"Russian Federation\",\"formal_fr\":null,\"name_ciawf\":\"Russia\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Russian Federation\",\"name_alt\":null,\"mapcolor7\":2,\"mapcolor8\":5,\"mapcolor9\":7,\"mapcolor13\":7,\"pop_est\":144373535,\"pop_rank\":17,\"pop_year\":2019,\"gdp_md\":1699876,\"gdp_year\":2019,\"economy\":\"3. Emerging region: BRIC\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"RS\",\"iso_a2\":\"RU\",\"iso_a2_eh\":\"RU\",\"iso_a3\":\"RUS\",\"iso_a3_eh\":\"RUS\",\"iso_n3\":\"643\",\"iso_n3_eh\":\"643\",\"un_a3\":\"643\",\"wb_a2\":\"RU\",\"wb_a3\":\"RUS\",\"woe_id\":23424936,\"woe_id_eh\":23424936,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"RUS\",\"adm0_diff\":null,\"adm0_tlc\":\"RUS\",\"adm0_a3_us\":\"RUS\",\"adm0_a3_fr\":\"RUS\",\"adm0_a3_ru\":\"RUS\",\"adm0_a3_es\":\"RUS\",\"adm0_a3_cn\":\"RUS\",\"adm0_a3_tw\":\"RUS\",\"adm0_a3_in\":\"RUS\",\"adm0_a3_np\":\"RUS\",\"adm0_a3_pk\":\"RUS\",\"adm0_a3_de\":\"RUS\",\"adm0_a3_gb\":\"RUS\",\"adm0_a3_br\":\"RUS\",\"adm0_a3_il\":\"RUS\",\"adm0_a3_ps\":\"RUS\",\"adm0_a3_sa\":\"RUS\",\"adm0_a3_eg\":\"RUS\",\"adm0_a3_ma\":\"RUS\",\"adm0_a3_pt\":\"RUS\",\"adm0_a3_ar\":\"RUS\",\"adm0_a3_jp\":\"RUS\",\"adm0_a3_ko\":\"RUS\",\"adm0_a3_vn\":\"RUS\",\"adm0_a3_tr\":\"RUS\",\"adm0_a3_id\":\"RUS\",\"adm0_a3_pl\":\"RUS\",\"adm0_a3_gr\":\"RUS\",\"adm0_a3_it\":\"RUS\",\"adm0_a3_nl\":\"RUS\",\"adm0_a3_se\":\"RUS\",\"adm0_a3_bd\":\"RUS\",\"adm0_a3_ua\":\"RUS\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Europe\",\"region_un\":\"Europe\",\"subregion\":\"Eastern Europe\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":6,\"long_len\":18,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":1.7,\"max_label\":5.2,\"label_x\":44.686469,\"label_y\":58.249357,\"ne_id\":1159321201,\"wikidataid\":\"Q159\",\"name_ar\":\"روسيا\",\"name_bn\":\"রাশিয়া\",\"name_de\":\"Russland\",\"name_en\":\"Russia\",\"name_es\":\"Rusia\",\"name_fa\":\"روسیه\",\"name_fr\":\"Russie\",\"name_el\":\"Ρωσία\",\"name_he\":\"רוסיה\",\"name_hi\":\"रूस\",\"name_hu\":\"Oroszország\",\"name_id\":\"Rusia\",\"name_it\":\"Russia\",\"name_ja\":\"ロシア\",\"name_ko\":\"러시아\",\"name_nl\":\"Rusland\",\"name_pl\":\"Rosja\",\"name_pt\":\"Rússia\",\"name_ru\":\"Россия\",\"name_sv\":\"Ryssland\",\"name_tr\":\"Rusya\",\"name_uk\":\"Росія\",\"name_ur\":\"روس\",\"name_vi\":\"Nga\",\"name_zh\":\"俄罗斯\",\"name_zht\":\"俄羅斯\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"RUS.geojson\"},\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[[[178.7253,71.0988],[180,71.51571433642829],[180,70.83219920854673],[178.903425,70.78114],[178.7253,71.0988]]],[[[49.10116000000011,46.399330000000134],[48.64541,45.806290000000104],[47.67591,45.64149000000015],[46.68201,44.6092000000001],[47.59094,43.66016],[47.49252,42.98658000000012],[48.58437000000015,41.80888],[48.58435339611342,41.80886879162067],[47.98728315612598,41.40581920019423],[47.81566572448463,41.15141612402135],[47.37331546406623,41.2197323675112],[46.68607059101661,41.82713715266988],[46.404950799348825,41.860675157227305],[45.7764,42.09244000000018],[45.47027916848572,42.50278066666998],[44.537622918481986,42.71199270280363],[43.931210000000135,42.55496000000011],[43.75599000000011,42.74083],[42.39440000000013,43.2203],[40.922190000000114,43.38215000000014],[40.07696495947977,43.553104153002316],[39.955008579270924,43.43499766699922],[38.68,44.28],[37.53912,44.65721],[36.6754600000001,45.244690000000105],[37.4031700000001,45.40451000000013],[38.23295,46.24087],[37.67372,46.63657],[39.14767000000012,47.044750000000136],[39.1212,47.26336],[38.223538038899335,47.10218984637595],[38.25511233902978,47.54640045835691],[38.77057,47.825620000000185],[39.738277622238854,47.89893707945197],[39.89562000000018,48.23241],[39.67465,48.78382000000016],[40.080789015469406,49.30742991799934],[40.06904000000014,49.60105],[38.59498823421342,49.9264619004237],[38.01063113785693,49.9156615260747],[37.39345950699516,50.38395335550365],[36.62616784032542,50.225590928745135],[35.356116163887975,50.57719737405904],[35.37791,50.77394],[35.02218305841791,51.2075723333715],[34.22481570815427,51.25599315042888],[34.141978387190534,51.566413479206346],[34.39173058445709,51.768881740925906],[33.75269982273579,52.3350745713318],[32.715760532367085,52.23846548116211],[32.41205813978769,52.28869497334978],[32.15944000000013,52.06125000000014],[31.78599244755525,52.1016775699397],[31.78597,52.1016800000001],[31.54001834486226,52.74205231384636],[31.305200636528014,53.07399587667321],[31.49764,53.16743000000014],[32.30451948418823,53.13272614197291],[32.69364301934604,53.35142080343218],[32.405598585751164,53.61804535584204],[31.731272820774507,53.79402944601202],[31.79142418796224,53.974638576872124],[31.38447228366374,54.15705638286238],[30.75753380709872,54.81177094178432],[30.971835971813135,55.08154775656404],[30.87390913262001,55.55097646750341],[29.896294386522356,55.78946320253041],[29.371571893030673,55.670090643936184],[29.229513380660308,55.91834422466636],[28.17670942557794,56.16912995057879],[27.855282016722526,56.75932648378429],[27.77001590344093,57.24425812441123],[27.288184848751513,57.47452830670383],[27.71668582531572,57.79189911562436],[27.42015000000015,58.72457000000014],[28.13169925305175,59.300825100330925],[27.98112,59.47537000000011],[27.981126857000987,59.47537333432527],[29.1177,60.02805000000012],[28.070001921525666,60.50351912796823],[28.07,60.50352],[30.21110721204445,61.780027777749694],[31.139991082490894,62.35769277612441],[31.516092156711125,62.86768748641289],[30.035872430142717,63.55281362573855],[30.44468468600371,64.20445343693909],[29.54442955904699,64.94867157659048],[30.21765,65.80598],[29.054588657352326,66.94428620062206],[29.97742638522061,67.69829702419275],[28.445943637818658,68.36461294216404],[28.591929559043194,69.06477692328666],[29.39955,69.15692000000013],[31.101042202597625,69.55810108805622],[31.10108,69.55811000000011],[32.13272000000018,69.90595000000019],[33.77547,69.30142000000012],[36.51396,69.06342],[40.29234000000014,67.9324],[41.05987,67.45713000000012],[41.1259500000001,66.79158],[40.01583,66.26618000000013],[38.38295,65.9995300000001],[33.91871000000015,66.75961],[33.18444,66.63253],[34.814770000000124,65.90015000000017],[34.87857425307874,65.4362128770482],[34.94391,64.41437000000019],[36.23129,64.10945],[37.01273,63.84983000000011],[37.141970000000185,64.33471],[36.53957903508979,64.76446],[37.17604,65.14322000000016],[39.59345,64.5207900000002],[40.4356,64.76446],[39.76260000000019,65.49682],[42.09309000000013,66.47623],[43.01604,66.41858000000013],[43.94975000000011,66.06908],[44.53226,66.75634000000014],[43.69839,67.35245],[44.18795000000017,67.95051000000012],[43.45282,68.57079],[46.250000000000114,68.25],[46.82134,67.68997],[45.55517,67.56652],[45.56202000000013,67.01005000000015],[46.34915000000012,66.6676700000001],[47.89416000000017,66.8845500000001],[48.13876,67.52238],[50.22766000000013,67.99867000000017],[53.71743000000015,68.85738000000015],[54.47171,68.80815],[53.48582000000016,68.20131],[54.72628,68.09702],[55.44268000000011,68.43866],[57.31702,68.46628],[58.802000000000135,68.88082],[59.94142000000011,68.27844],[61.07784000000021,68.94069],[60.03,69.52],[60.55,69.85],[63.50400000000013,69.54739],[64.888115,69.234835],[68.51216000000016,68.09233000000012],[69.18068000000011,68.61563000000012],[68.16444,69.14436],[68.13522,69.35649000000012],[66.93008000000015,69.45461000000012],[67.25976,69.92873],[66.72492000000017,70.70889000000017],[66.69466,71.02897000000019],[68.54006,71.93450000000018],[69.19636,72.84336000000019],[69.94,73.04],[72.58754,72.77629000000013],[72.79603,72.22006],[71.84811,71.40898],[72.47011,71.09019],[72.79188,70.39114],[72.56470000000013,69.02085],[73.66787,68.4079],[73.2387,67.7404],[71.28,66.3200000000001],[72.42301,66.17267000000021],[72.82077,66.53267],[73.92099000000013,66.78946000000013],[74.18651000000011,67.28429],[75.052,67.76047000000011],[74.46926000000013,68.32899],[74.93584,68.98918],[73.84236,69.07146],[73.60187000000019,69.62763],[74.3998,70.63175],[73.1011,71.4471700000002],[74.89082000000019,72.12119000000013],[74.65926,72.83227],[75.1580100000001,72.85497000000015],[75.68351000000013,72.30056000000013],[75.28898,71.3355600000001],[76.35911,71.15287000000018],[75.90313000000015,71.87401],[77.57665,72.26717],[79.6520200000001,72.32011],[81.5,71.75],[80.61071,72.58285000000012],[80.51109,73.6482],[82.25,73.85000000000014],[84.65526,73.80591000000021],[86.82230000000015,73.93688],[86.00956,74.45967000000019],[87.16682000000014,75.11643],[88.31571,75.14393],[90.26,75.64],[92.90058,75.7733300000001],[93.23421,76.0472],[95.86000000000018,76.1400000000001],[96.67821,75.91548],[98.92254000000014,76.44689],[100.75967000000014,76.43028],[101.03532,76.86189],[101.9908400000001,77.28754000000015],[104.35160000000013,77.69792],[106.06664000000018,77.37389],[104.70500000000015,77.1274],[106.97013,76.97419],[107.24000000000012,76.48],[108.1538000000001,76.72335],[111.0772600000002,76.71],[113.33151,76.22224],[114.13417,75.84764],[113.88539,75.32779000000016],[112.77918,75.03186000000011],[110.15125000000012,74.47673],[109.4,74.18],[110.64,74.04],[112.11919,73.78774000000016],[113.01954000000023,73.97693000000015],[113.52958000000024,73.33505000000014],[113.96881,73.59488],[115.56782,73.75285],[118.77633000000014,73.58772],[119.02,73.12],[123.20066,72.97122],[123.25777000000016,73.73503],[125.38000000000011,73.56],[126.97644,73.56549000000012],[128.59126,73.03871],[129.05157,72.39872],[128.46,71.98],[129.71599000000015,71.19304000000011],[131.28858000000025,70.78699000000012],[132.25350000000014,71.83630000000011],[133.85766000000024,71.3864200000001],[135.56193,71.65525000000014],[137.49755,71.34763],[138.23409000000015,71.62803],[139.86983,71.48783000000014],[139.14791,72.41619000000014],[140.46817,72.84941000000015],[149.5,72.2],[150.3511800000001,71.60643],[152.9689000000002,70.84222],[157.00688,71.03141],[158.99779,70.86672],[159.83031000000017,70.45324],[159.70866,69.72198],[160.9405300000003,69.4372800000001],[162.27907,69.64204],[164.05248,69.66823],[165.94037000000014,69.47199],[167.83567,69.58269000000013],[169.5776300000001,68.6938],[170.8168800000002,69.01363],[170.0082000000001,69.65276],[170.4534500000002,70.09703],[173.64391000000012,69.81743],[175.7240300000002,69.87725000000017],[178.6,69.4],[180,68.96363636363651],[180,64.97970870219848],[179.99281,64.97433],[178.70720000000028,64.53493],[177.41128,64.60821],[178.3130000000001,64.07593],[178.90825000000018,63.25197],[179.37034,62.98262000000011],[179.48636,62.56894],[179.22825,62.304100000000176],[177.3643,62.5219],[174.56929000000025,61.76915],[173.68013,61.65261],[172.15,60.95],[170.6985,60.33618000000013],[170.33085000000028,59.88177],[168.90046,60.57355],[166.29498000000024,59.78855000000016],[165.84000000000015,60.16],[164.87674,59.7316],[163.53929,59.86871],[163.21711000000016,59.21101],[162.01733,58.24328],[162.05297,57.83912],[163.19191,57.615030000000104],[163.05794000000014,56.159240000000125],[162.12958000000015,56.12219],[161.70146,55.285680000000184],[162.11749,54.85514],[160.36877000000027,54.34433],[160.02173000000016,53.20257],[158.5309400000001,52.958680000000186],[158.23118,51.94269],[156.78979000000027,51.01105],[156.42,51.7],[155.99182,53.15895],[155.43366,55.38103000000012],[155.9144200000003,56.767920000000174],[156.75815,57.3647],[156.81035,57.83204],[158.3643300000001,58.05575],[160.15064,59.31477],[161.87204,60.343],[163.66969,61.1409000000001],[164.47355,62.55061],[163.25842000000011,62.46627000000012],[162.65791,61.6425],[160.12148,60.54423],[159.30232,61.7739600000001],[156.72068,61.43442],[154.21806000000026,59.75818000000015],[155.04375,59.14495],[152.81185,58.88385],[151.2657300000002,58.78089],[151.33815,59.50396],[149.78371,59.655730000000176],[148.54481,59.16448],[145.48722,59.33637],[142.19782,59.03998000000013],[138.95848000000024,57.08805],[135.12619,54.72959],[136.70171,54.603550000000155],[137.19342,53.97732],[138.1647,53.7550100000002],[138.80463,54.25455],[139.90151,54.18968000000012],[141.34531,53.08957000000015],[141.37923,52.23877],[140.59742000000017,51.2396700000001],[140.51308,50.045530000000156],[140.0619300000002,48.44671000000011],[138.5547200000002,46.99965],[138.21971,46.30795],[136.86232,45.14350000000013],[135.51535000000013,43.989],[134.86939000000018,43.39821],[133.53687000000025,42.81147],[132.90627,42.79849000000013],[132.27807000000018,43.28456000000011],[130.93587000000014,42.55274],[130.78000485358513,42.22001036108258],[130.78000366004676,42.220007813203225],[130.78,42.22000000000014],[130.77999231657833,42.22000960427719],[130.6400000000001,42.395],[130.63999970690955,42.39502427522179],[130.63386640840974,42.90301463477053],[131.1446879416149,42.92998973242689],[131.28855512911548,44.11151968034828],[131.02519000000018,44.96796],[131.8834542176595,45.32116160743652],[133.09712000000013,45.14409],[133.76964399631288,46.116926988299014],[134.1123500000001,47.21248],[134.50081,47.57845],[135.02631147678665,48.478229885443874],[133.37359581922794,48.18344167743487],[132.50669,47.78896],[130.9872600000001,47.79013],[130.58229332898242,48.72968740497614],[129.39781782442043,49.44060008401544],[127.65740000000028,49.760270000000105],[127.28745568248485,50.73979726826548],[126.93915652883766,51.35389415140592],[126.56439904185697,51.7842554795327],[125.94634891164617,52.79279857035698],[125.06821129771038,53.16104482686886],[123.57147,53.4588],[122.24574791879283,53.431725979213695],[121.00308475147017,53.25140106873119],[120.17708865771681,52.75388621684124],[120.72578901579197,52.516226304730935],[120.7382,51.96411],[120.18208000000016,51.64355000000012],[119.27939,50.58292],[119.2884607280258,50.142882798862004],[117.8792444194264,49.510983384796965],[116.67880089728612,49.888531399121405],[115.48569542853136,49.80517731383475],[114.96210981655018,50.140247300815126],[114.36245649623527,50.24830272073741],[112.89773969935436,49.54356537535699],[111.58123091028662,49.37796824807769],[110.66201053267878,49.13012807880585],[109.40244917199664,49.292960516957635],[108.47516727095129,49.28254771585074],[107.86817589725095,49.793705145865815],[106.8888041524553,50.27429596618032],[105.88659142458675,50.406019192092224],[104.62158,50.27532000000019],[103.67654544476022,50.089966132195116],[102.25589,50.51056000000011],[102.06521,51.25991],[100.88948042196262,51.51685578063832],[99.98173221232354,51.63400625264399],[98.86149051310034,52.04736603454669],[97.82573978067431,51.01099518493318],[98.23176150919156,50.422400621128745],[97.25976000000014,49.72605],[95.8140200000002,49.97746000000012],[94.81594933469873,50.01343333597085],[94.14756635943559,50.48053660745717],[93.10421,50.49529],[92.23471154171968,50.80217072204172],[90.71366743364068,50.33181183532109],[88.80556684769552,49.47052073831242],[87.75126427607671,49.297197984405486],[87.35997033076265,49.21498078062912],[86.82935672398963,49.82667470966817],[85.54126997268247,49.69285858824816],[85.11555952346203,50.11730296487764],[84.41637739455308,50.311399644565824],[83.93511478061885,50.88924551045358],[83.38300377801238,51.069182847693924],[81.94598554883993,50.81219594990637],[80.56844689323549,51.38833649352847],[80.03555952344169,50.86475088154725],[77.80091556184425,53.404414984747575],[76.52517947785475,54.17700348572714],[76.89110029491343,54.49052440044193],[74.38482000000016,53.54685000000012],[73.42567874542044,53.489810289109755],[73.5085160663844,54.0356167669766],[72.22415001820218,54.376655381886735],[71.18013105660941,54.13328522400826],[70.86526655465514,55.169733588270105],[69.06816694527288,55.38525014914353],[68.16910037625883,54.97039175070432],[65.66687,54.60125000000011],[65.17853356309593,54.35422781027211],[61.43660000000017,54.00625],[60.978066440683165,53.66499339457914],[61.699986199800605,52.97999644633427],[60.73999311711458,52.71998647725775],[60.92726850774028,52.44754832621504],[59.967533807215545,51.9604204372157],[61.58800337102417,51.272658799843214],[61.337424350840934,50.79907013610426],[59.93280724471549,50.842194118851864],[59.642282342370606,50.545442206415714],[58.36332,51.06364],[56.77798000000013,51.04355],[55.71694,50.62171000000018],[54.532878452376224,51.02623973245932],[52.32872358583097,51.718652248738124],[50.76664839051216,51.6927623561599],[48.70238162618102,50.60512848571284],[48.57784142435753,49.87475962991567],[47.54948042174931,50.454698391311126],[46.75159630716274,49.35600576435377],[47.04367150247651,49.152038886097614],[46.46644575377627,48.39415233010493],[47.31524000000013,47.7158500000001],[48.05725,47.74377],[48.694733514201744,47.07562816017793],[48.59325000000018,46.56104],[49.10116000000011,46.399330000000134]]],[[[93.77766,81.0246],[95.940895,81.2504],[97.88385,80.746975],[100.186655,79.780135],[99.93976,78.88094],[97.75794,78.7562],[94.97259,79.044745],[93.31288,79.4265],[92.5454,80.14379],[91.18107,80.34146],[93.77766,81.0246]]],[[[102.837815,79.28129],[105.37243,78.71334],[105.07547,78.30689],[99.43814,77.921],[101.2649,79.23399],[102.08635,79.34641],[102.837815,79.28129]]],[[[138.831075,76.13676],[141.471615,76.09289],[145.086285,75.562625],[144.3,74.82],[140.61381,74.84768],[138.95544,74.61148],[136.97439,75.26167],[137.51176,75.94917],[138.831075,76.13676]]],[[[148.22223,75.345845],[150.73167,75.08406],[149.575925,74.68892],[147.977465,74.778355],[146.11919,75.17298],[146.358485,75.49682],[148.22223,75.345845]]],[[[139.86312,73.36983],[140.81171,73.76506],[142.06207,73.85758],[143.48283,73.47525],[143.60385,73.21244],[142.08763,73.20544],[140.038155,73.31692],[139.86312,73.36983]]],[[[44.84695804218114,80.58980988231714],[46.79913862487123,80.77191762971368],[48.31847741068461,80.78400991486998],[48.52280602396667,80.51456899690017],[49.097189568890855,80.7539859077084],[50.03976769389462,80.91888540315178],[51.522932977103665,80.69972565380193],[51.13618655783128,80.54728017854093],[49.79368452332071,80.4154277615482],[48.89441124857755,80.33956675894375],[48.75493655782177,80.17546824820089],[47.58611901224418,80.01018117951533],[46.50282596210963,80.2472468126543],[47.07245527526294,80.55942414012951],[44.84695804218114,80.58980988231714]]],[[[22.731098667092652,54.327536932993326],[20.892244500418627,54.31252492941253],[19.660640089606403,54.42608388937393],[19.888481479581287,54.86616038677151],[21.268448927503467,55.190481675835315],[22.315723504330577,55.015298570365864],[22.75776370615526,54.85657440858138],[22.65105187347254,54.582740993866736],[22.731098667092652,54.327536932993326]]],[[[53.50828982932515,73.7498139513002],[55.90245893740766,74.62748647734536],[55.631932814359686,75.08141225859718],[57.86864383324885,75.60939036732326],[61.170044386647476,76.25188345000812],[64.49836836127017,76.43905548776927],[66.21097700385513,76.80978221303117],[68.1570597675348,76.93969676381293],[68.85221113472508,76.5448113064546],[68.1805725442276,76.23364166940907],[64.63732628770302,75.73775462513625],[61.58350752141476,75.26088450794684],[58.47708214705335,74.30905630156285],[56.98678551618803,73.33304352486623],[55.419335971910925,72.37126760526603],[55.62283776227633,71.54059479439032],[57.535692579992315,70.72046397570212],[56.94497928246388,70.63274323188666],[53.67737511578417,70.76265778266846],[53.412016635965394,71.20666168892022],[51.601894565645665,71.47475901965045],[51.455753615124216,72.01488108996513],[52.47827518088354,72.22944163684097],[52.44416873557088,72.77473135038481],[54.42761355979758,73.6275475124976],[53.50828982932515,73.7498139513002]]],[[[142.91461551327654,53.704577541714784],[143.2608476096321,52.74076040303906],[143.23526777564763,51.75666026468876],[143.64800744036285,50.747600409541505],[144.6541475770856,48.97639069273754],[143.1739278505172,49.306551418650315],[142.55866824765013,47.86157501890495],[143.53349246640403,46.83672801369252],[143.50527713437265,46.137907619809525],[142.74770063697383,46.74076487892651],[142.09203006405454,45.966755276058834],[141.906925083585,46.80592886004656],[142.01844282447087,47.78013296161296],[141.90444461483503,48.85918854429957],[142.1358000022057,49.61516307229739],[142.17998335181528,50.9523424342819],[141.59407596249002,51.9354348822025],[141.6825460145737,53.301966457728795],[142.60693403541075,53.762145087287934],[142.20974897681543,54.225475979216874],[142.65478641171302,54.36588084575389],[142.91461551327654,53.704577541714784]]],[[[-174.92825,67.20589],[-175.01425,66.58435],[-174.33983,66.33556],[-174.57182,67.06219],[-171.85731,66.91308],[-169.89958,65.97724],[-170.89107,65.54139],[-172.53025,65.43791],[-172.555,64.46079],[-172.95533,64.25269],[-173.89184,64.2826],[-174.65392,64.63125],[-175.98353,64.92288],[-176.20716,65.35667],[-177.22266,65.52024],[-178.35993,65.39052],[-178.90332,65.74044],[-178.68611,66.11211],[-179.88377,65.87456],[-179.43268,65.40411],[-180,64.9797087021984],[-180,68.96363636363635],[-177.55,68.2],[-174.92825,67.20589]]],[[[-178.69378,70.89302],[-180,70.83219920854673],[-180,71.51571433642827],[-179.871875,71.55762],[-179.02433,71.55553],[-177.577945,71.26948],[-177.663575,71.13277],[-178.69378,70.89302]]],[[[33.435988094713366,45.971917370797485],[33.69946184910907,46.219572831556434],[34.41040172853718,46.005162391728845],[34.73201738827845,45.96566573176062],[34.861792128174045,45.76818243191957],[35.01265897004737,45.73772519982549],[35.02078779474607,45.65121898048466],[35.51000857925311,45.40999339454612],[36.52999799983019,45.46998973243717],[36.334712762199274,45.11321564389402],[35.239999220528205,44.93999624285175],[33.882511020652885,44.361478583344194],[33.32642093276013,44.564877020844904],[33.546924269349404,45.03477081967486],[32.4541744321055,45.327466132176085],[32.63080447767919,45.51918569597899],[33.58816206231842,45.85156850848023],[33.435988094713366,45.971917370797485]]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":5,\"sovereignt\":\"Czechia\",\"sov_a3\":\"CZE\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Czechia\",\"adm0_a3\":\"CZE\",\"geou_dif\":0,\"geounit\":\"Czechia\",\"gu_a3\":\"CZE\",\"su_dif\":0,\"subunit\":\"Czechia\",\"su_a3\":\"CZE\",\"brk_diff\":0,\"name\":\"Czechia\",\"name_long\":\"Czech Republic\",\"brk_a3\":\"CZE\",\"brk_name\":\"Czechia\",\"brk_group\":null,\"abbrev\":\"Cz.\",\"postal\":\"CZ\",\"formal_en\":\"Czech Republic\",\"formal_fr\":\"la République tchèque\",\"name_ciawf\":\"Czechia\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Czechia\",\"name_alt\":\"Česko\",\"mapcolor7\":1,\"mapcolor8\":1,\"mapcolor9\":2,\"mapcolor13\":6,\"pop_est\":10669709,\"pop_rank\":14,\"pop_year\":2019,\"gdp_md\":250680,\"gdp_year\":2019,\"economy\":\"2. Developed region: nonG7\",\"income_grp\":\"1. High income: OECD\",\"fips_10\":\"EZ\",\"iso_a2\":\"CZ\",\"iso_a2_eh\":\"CZ\",\"iso_a3\":\"CZE\",\"iso_a3_eh\":\"CZE\",\"iso_n3\":\"203\",\"iso_n3_eh\":\"203\",\"un_a3\":\"203\",\"wb_a2\":\"CZ\",\"wb_a3\":\"CZE\",\"woe_id\":23424810,\"woe_id_eh\":23424810,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"CZE\",\"adm0_diff\":null,\"adm0_tlc\":\"CZE\",\"adm0_a3_us\":\"CZE\",\"adm0_a3_fr\":\"CZE\",\"adm0_a3_ru\":\"CZE\",\"adm0_a3_es\":\"CZE\",\"adm0_a3_cn\":\"CZE\",\"adm0_a3_tw\":\"CZE\",\"adm0_a3_in\":\"CZE\",\"adm0_a3_np\":\"CZE\",\"adm0_a3_pk\":\"CZE\",\"adm0_a3_de\":\"CZE\",\"adm0_a3_gb\":\"CZE\",\"adm0_a3_br\":\"CZE\",\"adm0_a3_il\":\"CZE\",\"adm0_a3_ps\":\"CZE\",\"adm0_a3_sa\":\"CZE\",\"adm0_a3_eg\":\"CZE\",\"adm0_a3_ma\":\"CZE\",\"adm0_a3_pt\":\"CZE\",\"adm0_a3_ar\":\"CZE\",\"adm0_a3_jp\":\"CZE\",\"adm0_a3_ko\":\"CZE\",\"adm0_a3_vn\":\"CZE\",\"adm0_a3_tr\":\"CZE\",\"adm0_a3_id\":\"CZE\",\"adm0_a3_pl\":\"CZE\",\"adm0_a3_gr\":\"CZE\",\"adm0_a3_it\":\"CZE\",\"adm0_a3_nl\":\"CZE\",\"adm0_a3_se\":\"CZE\",\"adm0_a3_bd\":\"CZE\",\"adm0_a3_ua\":\"CZE\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Europe\",\"region_un\":\"Europe\",\"subregion\":\"Eastern Europe\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":7,\"long_len\":14,\"abbrev_len\":3,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":15.377555,\"label_y\":49.882364,\"ne_id\":1159320535,\"wikidataid\":\"Q213\",\"name_ar\":\"التشيك\",\"name_bn\":\"চেক প্রজাতন্ত্র\",\"name_de\":\"Tschechien\",\"name_en\":\"Czech Republic\",\"name_es\":\"República Checa\",\"name_fa\":\"جمهوری چک\",\"name_fr\":\"Tchéquie\",\"name_el\":\"Τσεχία\",\"name_he\":\"צ'כיה\",\"name_hi\":\"चेक गणराज्य\",\"name_hu\":\"Csehország\",\"name_id\":\"Republik Ceko\",\"name_it\":\"Repubblica Ceca\",\"name_ja\":\"チェコ\",\"name_ko\":\"체코\",\"name_nl\":\"Tsjechië\",\"name_pl\":\"Czechy\",\"name_pt\":\"Chéquia\",\"name_ru\":\"Чехия\",\"name_sv\":\"Tjeckien\",\"name_tr\":\"Çek Cumhuriyeti\",\"name_uk\":\"Чехія\",\"name_ur\":\"چیک جمہوریہ\",\"name_vi\":\"Cộng hòa Séc\",\"name_zh\":\"捷克\",\"name_zht\":\"捷克共和國\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"CZE.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[15.01699588385867,51.10667409932158],[15.490972120839729,50.78472992614321],[16.23862674323857,50.69773265237984],[16.176253289462267,50.42260732685791],[16.719475945714436,50.21574656839354],[16.86876915860566,50.47397370055603],[17.55456709155112,50.36214590107642],[17.64944502123899,50.049038397819956],[18.392913852622172,49.98862864847075],[18.853144158613617,49.49622976337764],[18.554971144289482,49.495015367218784],[18.399993523846177,49.31500051533004],[18.170498488037964,49.271514797556435],[18.104972771891852,49.04398346617531],[17.913511590250465,48.996492824899086],[17.88648481616181,48.90347524677371],[17.545006951577108,48.80001902932537],[17.101984897538898,48.816968899117114],[16.960288120194576,48.5969823268506],[16.499282667718774,48.78580801044511],[16.02964725105022,48.73389903420793],[15.253415561593982,49.03907420510758],[14.901447381254057,48.964401760445824],[14.338897739324722,48.55530528420721],[13.595945672264437,48.87717194273715],[13.031328973043431,49.30706818297324],[12.521024204161193,49.547415269562734],[12.415190870827445,49.96912079528057],[12.240111118222558,50.266337795607285],[12.966836785543194,50.484076443069085],[13.338131951560285,50.73323436136435],[14.056227654688172,50.9269176295943],[14.307013380600637,51.117267767941414],[14.570718214586066,51.002339382524276],[15.01699588385867,51.10667409932158]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":2,\"sovereignt\":\"Germany\",\"sov_a3\":\"DEU\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Germany\",\"adm0_a3\":\"DEU\",\"geou_dif\":0,\"geounit\":\"Germany\",\"gu_a3\":\"DEU\",\"su_dif\":0,\"subunit\":\"Germany\",\"su_a3\":\"DEU\",\"brk_diff\":0,\"name\":\"Germany\",\"name_long\":\"Germany\",\"brk_a3\":\"DEU\",\"brk_name\":\"Germany\",\"brk_group\":null,\"abbrev\":\"Ger.\",\"postal\":\"D\",\"formal_en\":\"Federal Republic of Germany\",\"formal_fr\":null,\"name_ciawf\":\"Germany\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Germany\",\"name_alt\":null,\"mapcolor7\":2,\"mapcolor8\":5,\"mapcolor9\":5,\"mapcolor13\":1,\"pop_est\":83132799,\"pop_rank\":16,\"pop_year\":2019,\"gdp_md\":3861123,\"gdp_year\":2019,\"economy\":\"1. Developed region: G7\",\"income_grp\":\"1. High income: OECD\",\"fips_10\":\"GM\",\"iso_a2\":\"DE\",\"iso_a2_eh\":\"DE\",\"iso_a3\":\"DEU\",\"iso_a3_eh\":\"DEU\",\"iso_n3\":\"276\",\"iso_n3_eh\":\"276\",\"un_a3\":\"276\",\"wb_a2\":\"DE\",\"wb_a3\":\"DEU\",\"woe_id\":23424829,\"woe_id_eh\":23424829,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"DEU\",\"adm0_diff\":null,\"adm0_tlc\":\"DEU\",\"adm0_a3_us\":\"DEU\",\"adm0_a3_fr\":\"DEU\",\"adm0_a3_ru\":\"DEU\",\"adm0_a3_es\":\"DEU\",\"adm0_a3_cn\":\"DEU\",\"adm0_a3_tw\":\"DEU\",\"adm0_a3_in\":\"DEU\",\"adm0_a3_np\":\"DEU\",\"adm0_a3_pk\":\"DEU\",\"adm0_a3_de\":\"DEU\",\"adm0_a3_gb\":\"DEU\",\"adm0_a3_br\":\"DEU\",\"adm0_a3_il\":\"DEU\",\"adm0_a3_ps\":\"DEU\",\"adm0_a3_sa\":\"DEU\",\"adm0_a3_eg\":\"DEU\",\"adm0_a3_ma\":\"DEU\",\"adm0_a3_pt\":\"DEU\",\"adm0_a3_ar\":\"DEU\",\"adm0_a3_jp\":\"DEU\",\"adm0_a3_ko\":\"DEU\",\"adm0_a3_vn\":\"DEU\",\"adm0_a3_tr\":\"DEU\",\"adm0_a3_id\":\"DEU\",\"adm0_a3_pl\":\"DEU\",\"adm0_a3_gr\":\"DEU\",\"adm0_a3_it\":\"DEU\",\"adm0_a3_nl\":\"DEU\",\"adm0_a3_se\":\"DEU\",\"adm0_a3_bd\":\"DEU\",\"adm0_a3_ua\":\"DEU\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Europe\",\"region_un\":\"Europe\",\"subregion\":\"Western Europe\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":7,\"long_len\":7,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":1.7,\"max_label\":6.7,\"label_x\":9.678348,\"label_y\":50.961733,\"ne_id\":1159320539,\"wikidataid\":\"Q183\",\"name_ar\":\"ألمانيا\",\"name_bn\":\"জার্মানি\",\"name_de\":\"Deutschland\",\"name_en\":\"Germany\",\"name_es\":\"Alemania\",\"name_fa\":\"آلمان\",\"name_fr\":\"Allemagne\",\"name_el\":\"Γερμανία\",\"name_he\":\"גרמניה\",\"name_hi\":\"जर्मनी\",\"name_hu\":\"Németország\",\"name_id\":\"Jerman\",\"name_it\":\"Germania\",\"name_ja\":\"ドイツ\",\"name_ko\":\"독일\",\"name_nl\":\"Duitsland\",\"name_pl\":\"Niemcy\",\"name_pt\":\"Alemanha\",\"name_ru\":\"Германия\",\"name_sv\":\"Tyskland\",\"name_tr\":\"Almanya\",\"name_uk\":\"Німеччина\",\"name_ur\":\"جرمنی\",\"name_vi\":\"Đức\",\"name_zh\":\"德国\",\"name_zht\":\"德國\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"DEU.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[14.119686313542559,53.75702912049104],[14.353315463934138,53.24817129171297],[14.074521111719434,52.98126251892535],[14.437599725002201,52.62485016540839],[14.685026482815687,52.0899474147552],[14.607098422919535,51.74518809671997],[15.01699588385867,51.10667409932158],[14.570718214586066,51.002339382524276],[14.307013380600637,51.117267767941414],[14.056227654688172,50.9269176295943],[13.338131951560285,50.73323436136435],[12.966836785543194,50.484076443069085],[12.240111118222558,50.266337795607285],[12.415190870827445,49.96912079528057],[12.521024204161193,49.547415269562734],[13.031328973043431,49.30706818297324],[13.595945672264437,48.87717194273715],[13.243357374737,48.416114813829054],[12.884102817443875,48.28914581968786],[13.02585127122049,47.63758352313583],[12.932626987365948,47.467645575544],[12.620759718484493,47.67238760028441],[12.141357456112788,47.703083401065776],[11.426414015354737,47.523766181012974],[10.544504021861599,47.5663992376538],[10.402083774465211,47.30248769793916],[9.89606814946319,47.580196845075704],[9.59422610844635,47.52505809182027],[8.522611932009767,47.83082754169129],[8.317301466514095,47.61357982033627],[7.466759067422231,47.62058197691181],[7.593676385131062,48.33301911070372],[8.099278598674744,49.01778351500333],[6.658229607783568,49.20195831969157],[6.186320428094177,49.463802802114515],[6.242751092156993,49.90222565367873],[6.043073357781111,50.128051662794235],[6.15665815595878,50.80372101501058],[5.988658074577813,51.851615709025054],[6.589396599970826,51.852029120483394],[6.842869500362383,52.22844025329755],[7.092053256873896,53.144043280644894],[6.905139601274129,53.48216217713065],[7.100424838905269,53.69393219666267],[7.936239454793963,53.74829580343379],[8.121706170289485,53.52779246684429],[8.800734490604668,54.020785630908904],[8.57211795414537,54.39564647075406],[8.526229282270208,54.96274363872516],[9.282048780971138,54.830865383516176],[9.921906365609118,54.98310415304803],[9.9395797054529,54.596641954153256],[10.950112338920519,54.363607082733154],[10.93946699386845,54.00869334575259],[11.956252475643282,54.19648550070116],[12.518440382546714,54.470370591847995],[13.647467075259499,54.0755109727059],[14.119686313542559,53.75702912049104]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":6,\"sovereignt\":\"Estonia\",\"sov_a3\":\"EST\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Estonia\",\"adm0_a3\":\"EST\",\"geou_dif\":0,\"geounit\":\"Estonia\",\"gu_a3\":\"EST\",\"su_dif\":0,\"subunit\":\"Estonia\",\"su_a3\":\"EST\",\"brk_diff\":0,\"name\":\"Estonia\",\"name_long\":\"Estonia\",\"brk_a3\":\"EST\",\"brk_name\":\"Estonia\",\"brk_group\":null,\"abbrev\":\"Est.\",\"postal\":\"EST\",\"formal_en\":\"Republic of Estonia\",\"formal_fr\":null,\"name_ciawf\":\"Estonia\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Estonia\",\"name_alt\":null,\"mapcolor7\":3,\"mapcolor8\":2,\"mapcolor9\":1,\"mapcolor13\":10,\"pop_est\":1326590,\"pop_rank\":12,\"pop_year\":2019,\"gdp_md\":31471,\"gdp_year\":2019,\"economy\":\"2. Developed region: nonG7\",\"income_grp\":\"1. High income: OECD\",\"fips_10\":\"EN\",\"iso_a2\":\"EE\",\"iso_a2_eh\":\"EE\",\"iso_a3\":\"EST\",\"iso_a3_eh\":\"EST\",\"iso_n3\":\"233\",\"iso_n3_eh\":\"233\",\"un_a3\":\"233\",\"wb_a2\":\"EE\",\"wb_a3\":\"EST\",\"woe_id\":23424805,\"woe_id_eh\":23424805,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"EST\",\"adm0_diff\":null,\"adm0_tlc\":\"EST\",\"adm0_a3_us\":\"EST\",\"adm0_a3_fr\":\"EST\",\"adm0_a3_ru\":\"EST\",\"adm0_a3_es\":\"EST\",\"adm0_a3_cn\":\"EST\",\"adm0_a3_tw\":\"EST\",\"adm0_a3_in\":\"EST\",\"adm0_a3_np\":\"EST\",\"adm0_a3_pk\":\"EST\",\"adm0_a3_de\":\"EST\",\"adm0_a3_gb\":\"EST\",\"adm0_a3_br\":\"EST\",\"adm0_a3_il\":\"EST\",\"adm0_a3_ps\":\"EST\",\"adm0_a3_sa\":\"EST\",\"adm0_a3_eg\":\"EST\",\"adm0_a3_ma\":\"EST\",\"adm0_a3_pt\":\"EST\",\"adm0_a3_ar\":\"EST\",\"adm0_a3_jp\":\"EST\",\"adm0_a3_ko\":\"EST\",\"adm0_a3_vn\":\"EST\",\"adm0_a3_tr\":\"EST\",\"adm0_a3_id\":\"EST\",\"adm0_a3_pl\":\"EST\",\"adm0_a3_gr\":\"EST\",\"adm0_a3_it\":\"EST\",\"adm0_a3_nl\":\"EST\",\"adm0_a3_se\":\"EST\",\"adm0_a3_bd\":\"EST\",\"adm0_a3_ua\":\"EST\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Europe\",\"region_un\":\"Europe\",\"subregion\":\"Northern Europe\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":7,\"long_len\":7,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":25.867126,\"label_y\":58.724865,\"ne_id\":1159320615,\"wikidataid\":\"Q191\",\"name_ar\":\"إستونيا\",\"name_bn\":\"এস্তোনিয়া\",\"name_de\":\"Estland\",\"name_en\":\"Estonia\",\"name_es\":\"Estonia\",\"name_fa\":\"استونی\",\"name_fr\":\"Estonie\",\"name_el\":\"Εσθονία\",\"name_he\":\"אסטוניה\",\"name_hi\":\"एस्टोनिया\",\"name_hu\":\"Észtország\",\"name_id\":\"Estonia\",\"name_it\":\"Estonia\",\"name_ja\":\"エストニア\",\"name_ko\":\"에스토니아\",\"name_nl\":\"Estland\",\"name_pl\":\"Estonia\",\"name_pt\":\"Estónia\",\"name_ru\":\"Эстония\",\"name_sv\":\"Estland\",\"name_tr\":\"Estonya\",\"name_uk\":\"Естонія\",\"name_ur\":\"استونیا\",\"name_vi\":\"Estonia\",\"name_zh\":\"爱沙尼亚\",\"name_zht\":\"愛沙尼亞\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"EST.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[27.981126857000987,59.47537333432527],[27.98112,59.47537000000011],[28.13169925305175,59.300825100330925],[27.42015000000015,58.72457000000014],[27.71668582531572,57.79189911562436],[27.288184848751513,57.47452830670383],[26.463532342237787,57.47638865826633],[25.60280968598437,57.84752879498657],[25.16459354014927,57.97015696881519],[24.312862583114622,57.79342357037697],[24.42892785004216,58.38341339785329],[24.061198357853186,58.25737457949341],[23.426560092876684,58.612753404364625],[23.339795363058645,59.187240302153384],[24.604214308376186,59.46585378685502],[25.86418908051664,59.61109039981133],[26.949135776484525,59.445803331125774],[27.981114129353244,59.475388088612874],[27.981126857000987,59.47537333432527]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":5,\"sovereignt\":\"Latvia\",\"sov_a3\":\"LVA\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Latvia\",\"adm0_a3\":\"LVA\",\"geou_dif\":0,\"geounit\":\"Latvia\",\"gu_a3\":\"LVA\",\"su_dif\":0,\"subunit\":\"Latvia\",\"su_a3\":\"LVA\",\"brk_diff\":0,\"name\":\"Latvia\",\"name_long\":\"Latvia\",\"brk_a3\":\"LVA\",\"brk_name\":\"Latvia\",\"brk_group\":null,\"abbrev\":\"Lat.\",\"postal\":\"LV\",\"formal_en\":\"Republic of Latvia\",\"formal_fr\":null,\"name_ciawf\":\"Latvia\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Latvia\",\"name_alt\":null,\"mapcolor7\":4,\"mapcolor8\":7,\"mapcolor9\":6,\"mapcolor13\":13,\"pop_est\":1912789,\"pop_rank\":12,\"pop_year\":2019,\"gdp_md\":34102,\"gdp_year\":2019,\"economy\":\"2. Developed region: nonG7\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"LG\",\"iso_a2\":\"LV\",\"iso_a2_eh\":\"LV\",\"iso_a3\":\"LVA\",\"iso_a3_eh\":\"LVA\",\"iso_n3\":\"428\",\"iso_n3_eh\":\"428\",\"un_a3\":\"428\",\"wb_a2\":\"LV\",\"wb_a3\":\"LVA\",\"woe_id\":23424874,\"woe_id_eh\":23424874,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"LVA\",\"adm0_diff\":null,\"adm0_tlc\":\"LVA\",\"adm0_a3_us\":\"LVA\",\"adm0_a3_fr\":\"LVA\",\"adm0_a3_ru\":\"LVA\",\"adm0_a3_es\":\"LVA\",\"adm0_a3_cn\":\"LVA\",\"adm0_a3_tw\":\"LVA\",\"adm0_a3_in\":\"LVA\",\"adm0_a3_np\":\"LVA\",\"adm0_a3_pk\":\"LVA\",\"adm0_a3_de\":\"LVA\",\"adm0_a3_gb\":\"LVA\",\"adm0_a3_br\":\"LVA\",\"adm0_a3_il\":\"LVA\",\"adm0_a3_ps\":\"LVA\",\"adm0_a3_sa\":\"LVA\",\"adm0_a3_eg\":\"LVA\",\"adm0_a3_ma\":\"LVA\",\"adm0_a3_pt\":\"LVA\",\"adm0_a3_ar\":\"LVA\",\"adm0_a3_jp\":\"LVA\",\"adm0_a3_ko\":\"LVA\",\"adm0_a3_vn\":\"LVA\",\"adm0_a3_tr\":\"LVA\",\"adm0_a3_id\":\"LVA\",\"adm0_a3_pl\":\"LVA\",\"adm0_a3_gr\":\"LVA\",\"adm0_a3_it\":\"LVA\",\"adm0_a3_nl\":\"LVA\",\"adm0_a3_se\":\"LVA\",\"adm0_a3_bd\":\"LVA\",\"adm0_a3_ua\":\"LVA\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Europe\",\"region_un\":\"Europe\",\"subregion\":\"Northern Europe\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":6,\"long_len\":6,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":25.458723,\"label_y\":57.066872,\"ne_id\":1159321033,\"wikidataid\":\"Q211\",\"name_ar\":\"لاتفيا\",\"name_bn\":\"লাতভিয়া\",\"name_de\":\"Lettland\",\"name_en\":\"Latvia\",\"name_es\":\"Letonia\",\"name_fa\":\"لتونی\",\"name_fr\":\"Lettonie\",\"name_el\":\"Λετονία\",\"name_he\":\"לטביה\",\"name_hi\":\"लातविया\",\"name_hu\":\"Lettország\",\"name_id\":\"Latvia\",\"name_it\":\"Lettonia\",\"name_ja\":\"ラトビア\",\"name_ko\":\"라트비아\",\"name_nl\":\"Letland\",\"name_pl\":\"Łotwa\",\"name_pt\":\"Letónia\",\"name_ru\":\"Латвия\",\"name_sv\":\"Lettland\",\"name_tr\":\"Letonya\",\"name_uk\":\"Латвія\",\"name_ur\":\"لٹویا\",\"name_vi\":\"Latvia\",\"name_zh\":\"拉脱维亚\",\"name_zht\":\"拉脫維亞\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"LVA.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[27.288184848751513,57.47452830670383],[27.77001590344093,57.24425812441123],[27.855282016722526,56.75932648378429],[28.17670942557794,56.16912995057879],[27.10245975109453,55.783313707087686],[26.494331495883756,55.615106919977634],[25.533046502390334,56.100296942766036],[25.000934279080894,56.16453074810484],[24.86068444184076,56.37252838807963],[23.878263787539964,56.27367137310527],[22.201156853939494,56.33780182557949],[21.055800408622417,56.031076361711065],[21.090423618257972,56.78387278912294],[21.581866489353672,57.411870632549935],[22.52434126149288,57.75337433535076],[23.318452996522097,57.00623647727487],[24.12072960785343,57.02569265403277],[24.312862583114622,57.79342357037697],[25.16459354014927,57.97015696881519],[25.60280968598437,57.84752879498657],[26.463532342237787,57.47638865826633],[27.288184848751513,57.47452830670383]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Norway\",\"sov_a3\":\"NOR\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":null,\"admin\":\"Norway\",\"adm0_a3\":\"NOR\",\"geou_dif\":0,\"geounit\":\"Norway\",\"gu_a3\":\"NOR\",\"su_dif\":0,\"subunit\":\"Norway\",\"su_a3\":\"NOR\",\"brk_diff\":0,\"name\":\"Norway\",\"name_long\":\"Norway\",\"brk_a3\":\"NOR\",\"brk_name\":\"Norway\",\"brk_group\":null,\"abbrev\":\"Nor.\",\"postal\":\"N\",\"formal_en\":\"Kingdom of Norway\",\"formal_fr\":null,\"name_ciawf\":\"Norway\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Norway\",\"name_alt\":null,\"mapcolor7\":5,\"mapcolor8\":3,\"mapcolor9\":8,\"mapcolor13\":12,\"pop_est\":5347896,\"pop_rank\":13,\"pop_year\":2019,\"gdp_md\":403336,\"gdp_year\":2019,\"economy\":\"2. Developed region: nonG7\",\"income_grp\":\"1. High income: OECD\",\"fips_10\":\"-99\",\"iso_a2\":\"-99\",\"iso_a2_eh\":\"NO\",\"iso_a3\":\"-99\",\"iso_a3_eh\":\"NOR\",\"iso_n3\":\"-99\",\"iso_n3_eh\":\"578\",\"un_a3\":\"-99\",\"wb_a2\":\"-99\",\"wb_a3\":\"-99\",\"woe_id\":-90,\"woe_id_eh\":23424910,\"woe_note\":\"Does not include Svalbard, Jan Mayen, or Bouvet Islands (28289410).\",\"adm0_iso\":\"NOR\",\"adm0_diff\":null,\"adm0_tlc\":\"NOR\",\"adm0_a3_us\":\"NOR\",\"adm0_a3_fr\":\"NOR\",\"adm0_a3_ru\":\"NOR\",\"adm0_a3_es\":\"NOR\",\"adm0_a3_cn\":\"NOR\",\"adm0_a3_tw\":\"NOR\",\"adm0_a3_in\":\"NOR\",\"adm0_a3_np\":\"NOR\",\"adm0_a3_pk\":\"NOR\",\"adm0_a3_de\":\"NOR\",\"adm0_a3_gb\":\"NOR\",\"adm0_a3_br\":\"NOR\",\"adm0_a3_il\":\"NOR\",\"adm0_a3_ps\":\"NOR\",\"adm0_a3_sa\":\"NOR\",\"adm0_a3_eg\":\"NOR\",\"adm0_a3_ma\":\"NOR\",\"adm0_a3_pt\":\"NOR\",\"adm0_a3_ar\":\"NOR\",\"adm0_a3_jp\":\"NOR\",\"adm0_a3_ko\":\"NOR\",\"adm0_a3_vn\":\"NOR\",\"adm0_a3_tr\":\"NOR\",\"adm0_a3_id\":\"NOR\",\"adm0_a3_pl\":\"NOR\",\"adm0_a3_gr\":\"NOR\",\"adm0_a3_it\":\"NOR\",\"adm0_a3_nl\":\"NOR\",\"adm0_a3_se\":\"NOR\",\"adm0_a3_bd\":\"NOR\",\"adm0_a3_ua\":\"NOR\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Europe\",\"region_un\":\"Europe\",\"subregion\":\"Northern Europe\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":6,\"long_len\":6,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":7,\"label_x\":9.679975,\"label_y\":61.357092,\"ne_id\":1159321109,\"wikidataid\":\"Q20\",\"name_ar\":\"النرويج\",\"name_bn\":\"নরওয়ে\",\"name_de\":\"Norwegen\",\"name_en\":\"Norway\",\"name_es\":\"Noruega\",\"name_fa\":\"نروژ\",\"name_fr\":\"Norvège\",\"name_el\":\"Νορβηγία\",\"name_he\":\"נורווגיה\",\"name_hi\":\"नॉर्वे\",\"name_hu\":\"Norvégia\",\"name_id\":\"Norwegia\",\"name_it\":\"Norvegia\",\"name_ja\":\"ノルウェー\",\"name_ko\":\"노르웨이\",\"name_nl\":\"Noorwegen\",\"name_pl\":\"Norwegia\",\"name_pt\":\"Noruega\",\"name_ru\":\"Норвегия\",\"name_sv\":\"Norge\",\"name_tr\":\"Norveç\",\"name_uk\":\"Норвегія\",\"name_ur\":\"ناروے\",\"name_vi\":\"Na Uy\",\"name_zh\":\"挪威\",\"name_zht\":\"挪威\",\"fclass_iso\":\"Unrecognized\",\"tlc_diff\":null,\"fclass_tlc\":\"Unrecognized\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"NOR.geojson\"},\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[[[15.14282,79.67431],[15.52255,80.01608],[16.99085,80.05086],[18.25183,79.70175],[21.54383,78.95611],[19.02737,78.5626],[18.47172,77.82669],[17.59441,77.63796],[17.1182,76.80941],[15.91315,76.77045],[13.76259,77.38035],[14.66956,77.73565],[13.1706,78.02493],[11.22231,78.8693],[10.44453,79.65239],[13.17077,80.01046],[13.71852,79.66039],[15.14282,79.67431]]],[[[31.101042202597625,69.55810108805622],[29.39955,69.15692000000013],[28.591929559043194,69.06477692328666],[29.015572950971972,69.76649119737799],[27.732292107867863,70.16419302029625],[26.179622023226244,69.82529897732614],[25.689212680776365,69.09211375596904],[24.735679152126725,68.64955678982146],[23.66204959483076,68.89124746365054],[22.356237827247412,68.84174144151491],[21.244936150810673,69.37044302029308],[20.645592889089528,69.10624726020087],[20.025268995857886,69.0651386583127],[19.878559604581255,68.40719432237258],[17.993868442464333,68.56739126247736],[17.729181756265348,68.01055186631628],[16.768878614985482,68.0139366726314],[16.108712192456778,67.30245555283689],[15.108411492583002,66.19386688909547],[13.55568973150909,64.78702769638151],[13.919905226302204,64.44542064071608],[13.571916131248713,64.04911408146971],[12.579935336973934,64.06621898055833],[11.930569288794231,63.12831757267698],[11.992064243221563,61.80036245385655],[12.631146681375185,61.293571682370136],[12.3003658382749,60.11793284773003],[11.468271925511146,59.43239329694604],[11.027368605196868,58.85614940045936],[10.356556837616067,59.469807033925356],[8.382000359743586,58.313288479233215],[7.048748406613271,58.078884182357285],[5.665835402050419,58.5881554225937],[5.308234490590678,59.663231919993834],[4.992078077828978,61.97099803328432],[5.912900424837886,62.614472968182724],[8.553411085655739,63.45400828719648],[10.527709181366758,64.4860383164975],[12.358346795306373,65.87972585719318],[14.761145867581604,67.81064158799516],[16.435927361728943,68.56320547146173],[19.18402835457846,69.81744415961778],[21.378416375420585,70.2551693793461],[23.023742303161526,70.2020718451662],[24.546543409938465,71.03049673123722],[26.37004967622181,70.98626170519539],[28.165547316202943,71.18547435168055],[31.293418409965454,70.4537877468599],[30.005435011522792,70.18625885688489],[31.101042202597625,69.55810108805622]]],[[[27.407505730913446,80.05640574820042],[25.92465050629815,79.51783397085451],[23.024465773213617,79.40001170522903],[20.075188429451828,79.56682322866722],[19.897266473070914,79.84236196564747],[18.462263624757867,79.85988027619443],[17.368015170977458,80.31889618602698],[20.45599205901064,80.59815562613225],[21.907944777115404,80.35767934846204],[22.91925255706738,80.65714427359343],[25.447625359811866,80.40734039989452],[27.407505730913446,80.05640574820042]]],[[[24.72412,77.85385],[22.49032,77.44493],[20.72601,77.67704],[21.41611,77.93504],[20.8119,78.25463],[22.88426,78.45494],[23.28134,78.07954],[24.72412,77.85385]]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Sweden\",\"sov_a3\":\"SWE\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Sweden\",\"adm0_a3\":\"SWE\",\"geou_dif\":0,\"geounit\":\"Sweden\",\"gu_a3\":\"SWE\",\"su_dif\":0,\"subunit\":\"Sweden\",\"su_a3\":\"SWE\",\"brk_diff\":0,\"name\":\"Sweden\",\"name_long\":\"Sweden\",\"brk_a3\":\"SWE\",\"brk_name\":\"Sweden\",\"brk_group\":null,\"abbrev\":\"Swe.\",\"postal\":\"S\",\"formal_en\":\"Kingdom of Sweden\",\"formal_fr\":null,\"name_ciawf\":\"Sweden\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Sweden\",\"name_alt\":null,\"mapcolor7\":1,\"mapcolor8\":4,\"mapcolor9\":2,\"mapcolor13\":4,\"pop_est\":10285453,\"pop_rank\":14,\"pop_year\":2019,\"gdp_md\":530883,\"gdp_year\":2019,\"economy\":\"2. Developed region: nonG7\",\"income_grp\":\"1. High income: OECD\",\"fips_10\":\"SW\",\"iso_a2\":\"SE\",\"iso_a2_eh\":\"SE\",\"iso_a3\":\"SWE\",\"iso_a3_eh\":\"SWE\",\"iso_n3\":\"752\",\"iso_n3_eh\":\"752\",\"un_a3\":\"752\",\"wb_a2\":\"SE\",\"wb_a3\":\"SWE\",\"woe_id\":23424954,\"woe_id_eh\":23424954,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"SWE\",\"adm0_diff\":null,\"adm0_tlc\":\"SWE\",\"adm0_a3_us\":\"SWE\",\"adm0_a3_fr\":\"SWE\",\"adm0_a3_ru\":\"SWE\",\"adm0_a3_es\":\"SWE\",\"adm0_a3_cn\":\"SWE\",\"adm0_a3_tw\":\"SWE\",\"adm0_a3_in\":\"SWE\",\"adm0_a3_np\":\"SWE\",\"adm0_a3_pk\":\"SWE\",\"adm0_a3_de\":\"SWE\",\"adm0_a3_gb\":\"SWE\",\"adm0_a3_br\":\"SWE\",\"adm0_a3_il\":\"SWE\",\"adm0_a3_ps\":\"SWE\",\"adm0_a3_sa\":\"SWE\",\"adm0_a3_eg\":\"SWE\",\"adm0_a3_ma\":\"SWE\",\"adm0_a3_pt\":\"SWE\",\"adm0_a3_ar\":\"SWE\",\"adm0_a3_jp\":\"SWE\",\"adm0_a3_ko\":\"SWE\",\"adm0_a3_vn\":\"SWE\",\"adm0_a3_tr\":\"SWE\",\"adm0_a3_id\":\"SWE\",\"adm0_a3_pl\":\"SWE\",\"adm0_a3_gr\":\"SWE\",\"adm0_a3_it\":\"SWE\",\"adm0_a3_nl\":\"SWE\",\"adm0_a3_se\":\"SWE\",\"adm0_a3_bd\":\"SWE\",\"adm0_a3_ua\":\"SWE\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Europe\",\"region_un\":\"Europe\",\"subregion\":\"Northern Europe\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":6,\"long_len\":6,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":2,\"max_label\":7,\"label_x\":19.01705,\"label_y\":65.85918,\"ne_id\":1159321287,\"wikidataid\":\"Q34\",\"name_ar\":\"السويد\",\"name_bn\":\"সুইডেন\",\"name_de\":\"Schweden\",\"name_en\":\"Sweden\",\"name_es\":\"Suecia\",\"name_fa\":\"سوئد\",\"name_fr\":\"Suède\",\"name_el\":\"Σουηδία\",\"name_he\":\"שוודיה\",\"name_hi\":\"स्वीडन\",\"name_hu\":\"Svédország\",\"name_id\":\"Swedia\",\"name_it\":\"Svezia\",\"name_ja\":\"スウェーデン\",\"name_ko\":\"스웨덴\",\"name_nl\":\"Zweden\",\"name_pl\":\"Szwecja\",\"name_pt\":\"Suécia\",\"name_ru\":\"Швеция\",\"name_sv\":\"Sverige\",\"name_tr\":\"İsveç\",\"name_uk\":\"Швеція\",\"name_ur\":\"سویڈن\",\"name_vi\":\"Thụy Điển\",\"name_zh\":\"瑞典\",\"name_zht\":\"瑞典\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"SWE.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[11.027368605196868,58.85614940045936],[11.468271925511146,59.43239329694604],[12.3003658382749,60.11793284773003],[12.631146681375185,61.293571682370136],[11.992064243221563,61.80036245385655],[11.930569288794231,63.12831757267698],[12.579935336973934,64.06621898055833],[13.571916131248713,64.04911408146971],[13.919905226302204,64.44542064071608],[13.55568973150909,64.78702769638151],[15.108411492583002,66.19386688909547],[16.108712192456778,67.30245555283689],[16.768878614985482,68.0139366726314],[17.729181756265348,68.01055186631628],[17.993868442464333,68.56739126247736],[19.878559604581255,68.40719432237258],[20.025268995857886,69.0651386583127],[20.645592889089528,69.10624726020087],[21.978534783626117,68.6168456081807],[23.53947309743444,67.93600861273525],[23.565879754335583,66.39605093043743],[23.903378533633802,66.00692739527962],[22.18317345550193,65.72374054632017],[21.21351687997722,65.02600535751527],[21.369631381930958,64.41358795842429],[19.77887576669022,63.60955434839504],[17.84777916837521,62.74940013289681],[17.119554884518124,61.34116567651097],[17.83134606290639,60.63658336042741],[18.78772179533209,60.081914374422595],[17.86922488777634,58.9537661810587],[16.829185011470088,58.71982697207339],[16.447709588291474,57.041118069071885],[15.879785597403783,56.10430186626866],[14.666681349352075,56.200885118222175],[14.100721062891465,55.40778107362265],[12.942910597392057,55.36173737245058],[12.625100538797028,56.30708018658197],[11.787942335668674,57.44181712506307],[11.027368605196868,58.85614940045936]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Finland\",\"sov_a3\":\"FI1\",\"adm0_dif\":1,\"level\":2,\"type\":\"Country\",\"tlc\":\"1\",\"admin\":\"Finland\",\"adm0_a3\":\"FIN\",\"geou_dif\":0,\"geounit\":\"Finland\",\"gu_a3\":\"FIN\",\"su_dif\":0,\"subunit\":\"Finland\",\"su_a3\":\"FIN\",\"brk_diff\":0,\"name\":\"Finland\",\"name_long\":\"Finland\",\"brk_a3\":\"FIN\",\"brk_name\":\"Finland\",\"brk_group\":null,\"abbrev\":\"Fin.\",\"postal\":\"FIN\",\"formal_en\":\"Republic of Finland\",\"formal_fr\":null,\"name_ciawf\":\"Finland\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Finland\",\"name_alt\":null,\"mapcolor7\":4,\"mapcolor8\":1,\"mapcolor9\":4,\"mapcolor13\":6,\"pop_est\":5520314,\"pop_rank\":13,\"pop_year\":2019,\"gdp_md\":269296,\"gdp_year\":2019,\"economy\":\"2. Developed region: nonG7\",\"income_grp\":\"1. High income: OECD\",\"fips_10\":\"FI\",\"iso_a2\":\"FI\",\"iso_a2_eh\":\"FI\",\"iso_a3\":\"FIN\",\"iso_a3_eh\":\"FIN\",\"iso_n3\":\"246\",\"iso_n3_eh\":\"246\",\"un_a3\":\"246\",\"wb_a2\":\"FI\",\"wb_a3\":\"FIN\",\"woe_id\":23424812,\"woe_id_eh\":23424812,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"FIN\",\"adm0_diff\":null,\"adm0_tlc\":\"FIN\",\"adm0_a3_us\":\"FIN\",\"adm0_a3_fr\":\"FIN\",\"adm0_a3_ru\":\"FIN\",\"adm0_a3_es\":\"FIN\",\"adm0_a3_cn\":\"FIN\",\"adm0_a3_tw\":\"FIN\",\"adm0_a3_in\":\"FIN\",\"adm0_a3_np\":\"FIN\",\"adm0_a3_pk\":\"FIN\",\"adm0_a3_de\":\"FIN\",\"adm0_a3_gb\":\"FIN\",\"adm0_a3_br\":\"FIN\",\"adm0_a3_il\":\"FIN\",\"adm0_a3_ps\":\"FIN\",\"adm0_a3_sa\":\"FIN\",\"adm0_a3_eg\":\"FIN\",\"adm0_a3_ma\":\"FIN\",\"adm0_a3_pt\":\"FIN\",\"adm0_a3_ar\":\"FIN\",\"adm0_a3_jp\":\"FIN\",\"adm0_a3_ko\":\"FIN\",\"adm0_a3_vn\":\"FIN\",\"adm0_a3_tr\":\"FIN\",\"adm0_a3_id\":\"FIN\",\"adm0_a3_pl\":\"FIN\",\"adm0_a3_gr\":\"FIN\",\"adm0_a3_it\":\"FIN\",\"adm0_a3_nl\":\"FIN\",\"adm0_a3_se\":\"FIN\",\"adm0_a3_bd\":\"FIN\",\"adm0_a3_ua\":\"FIN\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Europe\",\"region_un\":\"Europe\",\"subregion\":\"Northern Europe\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":7,\"long_len\":7,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":27.276449,\"label_y\":63.252361,\"ne_id\":1159320623,\"wikidataid\":\"Q33\",\"name_ar\":\"فنلندا\",\"name_bn\":\"ফিনল্যান্ড\",\"name_de\":\"Finnland\",\"name_en\":\"Finland\",\"name_es\":\"Finlandia\",\"name_fa\":\"فنلاند\",\"name_fr\":\"Finlande\",\"name_el\":\"Φινλανδία\",\"name_he\":\"פינלנד\",\"name_hi\":\"फ़िनलैण्ड\",\"name_hu\":\"Finnország\",\"name_id\":\"Finlandia\",\"name_it\":\"Finlandia\",\"name_ja\":\"フィンランド\",\"name_ko\":\"핀란드\",\"name_nl\":\"Finland\",\"name_pl\":\"Finlandia\",\"name_pt\":\"Finlândia\",\"name_ru\":\"Финляндия\",\"name_sv\":\"Finland\",\"name_tr\":\"Finlandiya\",\"name_uk\":\"Фінляндія\",\"name_ur\":\"فن لینڈ\",\"name_vi\":\"Phần Lan\",\"name_zh\":\"芬兰\",\"name_zht\":\"芬蘭\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"FIN.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[28.591929559043194,69.06477692328666],[28.445943637818658,68.36461294216404],[29.97742638522061,67.69829702419275],[29.054588657352326,66.94428620062206],[30.21765,65.80598],[29.54442955904699,64.94867157659048],[30.44468468600371,64.20445343693909],[30.035872430142717,63.55281362573855],[31.516092156711125,62.86768748641289],[31.139991082490894,62.35769277612441],[30.21110721204445,61.780027777749694],[28.07,60.50352],[28.070001921525666,60.50351912796823],[28.069997592895277,60.50351654727584],[26.255172967236973,60.4239606797625],[24.496623976344523,60.05731639265166],[22.869694858499457,59.846373196036225],[22.290763787533592,60.39192129174154],[21.322244093519316,60.720169989659524],[21.544866163832694,61.70532949487179],[21.05921105315369,62.60739329695874],[21.536029493910803,63.18973501245587],[22.442744174903993,63.81781037053129],[24.730511508897536,64.90234365504084],[25.398067661243942,65.11142650009374],[25.294043003040404,65.53434642197045],[23.903378533633802,66.00692739527962],[23.565879754335583,66.39605093043743],[23.53947309743444,67.93600861273525],[21.978534783626117,68.6168456081807],[20.645592889089528,69.10624726020087],[21.244936150810673,69.37044302029308],[22.356237827247412,68.84174144151491],[23.66204959483076,68.89124746365054],[24.735679152126725,68.64955678982146],[25.689212680776365,69.09211375596904],[26.179622023226244,69.82529897732614],[27.732292107867863,70.16419302029625],[29.015572950971972,69.76649119737799],[28.591929559043194,69.06477692328666]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":6,\"sovereignt\":\"Luxembourg\",\"sov_a3\":\"LUX\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Luxembourg\",\"adm0_a3\":\"LUX\",\"geou_dif\":0,\"geounit\":\"Luxembourg\",\"gu_a3\":\"LUX\",\"su_dif\":0,\"subunit\":\"Luxembourg\",\"su_a3\":\"LUX\",\"brk_diff\":0,\"name\":\"Luxembourg\",\"name_long\":\"Luxembourg\",\"brk_a3\":\"LUX\",\"brk_name\":\"Luxembourg\",\"brk_group\":null,\"abbrev\":\"Lux.\",\"postal\":\"L\",\"formal_en\":\"Grand Duchy of Luxembourg\",\"formal_fr\":null,\"name_ciawf\":\"Luxembourg\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Luxembourg\",\"name_alt\":null,\"mapcolor7\":1,\"mapcolor8\":7,\"mapcolor9\":3,\"mapcolor13\":7,\"pop_est\":619896,\"pop_rank\":11,\"pop_year\":2019,\"gdp_md\":71104,\"gdp_year\":2019,\"economy\":\"2. Developed region: nonG7\",\"income_grp\":\"1. High income: OECD\",\"fips_10\":\"LU\",\"iso_a2\":\"LU\",\"iso_a2_eh\":\"LU\",\"iso_a3\":\"LUX\",\"iso_a3_eh\":\"LUX\",\"iso_n3\":\"442\",\"iso_n3_eh\":\"442\",\"un_a3\":\"442\",\"wb_a2\":\"LU\",\"wb_a3\":\"LUX\",\"woe_id\":23424881,\"woe_id_eh\":23424881,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"LUX\",\"adm0_diff\":null,\"adm0_tlc\":\"LUX\",\"adm0_a3_us\":\"LUX\",\"adm0_a3_fr\":\"LUX\",\"adm0_a3_ru\":\"LUX\",\"adm0_a3_es\":\"LUX\",\"adm0_a3_cn\":\"LUX\",\"adm0_a3_tw\":\"LUX\",\"adm0_a3_in\":\"LUX\",\"adm0_a3_np\":\"LUX\",\"adm0_a3_pk\":\"LUX\",\"adm0_a3_de\":\"LUX\",\"adm0_a3_gb\":\"LUX\",\"adm0_a3_br\":\"LUX\",\"adm0_a3_il\":\"LUX\",\"adm0_a3_ps\":\"LUX\",\"adm0_a3_sa\":\"LUX\",\"adm0_a3_eg\":\"LUX\",\"adm0_a3_ma\":\"LUX\",\"adm0_a3_pt\":\"LUX\",\"adm0_a3_ar\":\"LUX\",\"adm0_a3_jp\":\"LUX\",\"adm0_a3_ko\":\"LUX\",\"adm0_a3_vn\":\"LUX\",\"adm0_a3_tr\":\"LUX\",\"adm0_a3_id\":\"LUX\",\"adm0_a3_pl\":\"LUX\",\"adm0_a3_gr\":\"LUX\",\"adm0_a3_it\":\"LUX\",\"adm0_a3_nl\":\"LUX\",\"adm0_a3_se\":\"LUX\",\"adm0_a3_bd\":\"LUX\",\"adm0_a3_ua\":\"LUX\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Europe\",\"region_un\":\"Europe\",\"subregion\":\"Western Europe\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":10,\"long_len\":10,\"abbrev_len\":4,\"tiny\":5,\"homepart\":1,\"min_zoom\":0,\"min_label\":5.7,\"max_label\":10,\"label_x\":6.07762,\"label_y\":49.733732,\"ne_id\":1159321031,\"wikidataid\":\"Q32\",\"name_ar\":\"لوكسمبورغ\",\"name_bn\":\"লুক্সেমবুর্গ\",\"name_de\":\"Luxemburg\",\"name_en\":\"Luxembourg\",\"name_es\":\"Luxemburgo\",\"name_fa\":\"لوکزامبورگ\",\"name_fr\":\"Luxembourg\",\"name_el\":\"Λουξεμβούργο\",\"name_he\":\"לוקסמבורג\",\"name_hi\":\"लक्ज़मबर्ग\",\"name_hu\":\"Luxemburg\",\"name_id\":\"Luksemburg\",\"name_it\":\"Lussemburgo\",\"name_ja\":\"ルクセンブルク\",\"name_ko\":\"룩셈부르크\",\"name_nl\":\"Luxemburg\",\"name_pl\":\"Luksemburg\",\"name_pt\":\"Luxemburgo\",\"name_ru\":\"Люксембург\",\"name_sv\":\"Luxemburg\",\"name_tr\":\"Lüksemburg\",\"name_uk\":\"Люксембург\",\"name_ur\":\"لکسمبرگ\",\"name_vi\":\"Luxembourg\",\"name_zh\":\"卢森堡\",\"name_zht\":\"盧森堡\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"LUX.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[6.043073357781111,50.128051662794235],[6.242751092156993,49.90222565367873],[6.186320428094177,49.463802802114515],[5.897759230176348,49.44266714130711],[5.674051954784829,49.529483547557504],[5.782417433300907,50.09032786722122],[6.043073357781111,50.128051662794235]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":2,\"sovereignt\":\"Belgium\",\"sov_a3\":\"BEL\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Belgium\",\"adm0_a3\":\"BEL\",\"geou_dif\":0,\"geounit\":\"Belgium\",\"gu_a3\":\"BEL\",\"su_dif\":0,\"subunit\":\"Belgium\",\"su_a3\":\"BEL\",\"brk_diff\":0,\"name\":\"Belgium\",\"name_long\":\"Belgium\",\"brk_a3\":\"BEL\",\"brk_name\":\"Belgium\",\"brk_group\":null,\"abbrev\":\"Belg.\",\"postal\":\"B\",\"formal_en\":\"Kingdom of Belgium\",\"formal_fr\":null,\"name_ciawf\":\"Belgium\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Belgium\",\"name_alt\":null,\"mapcolor7\":3,\"mapcolor8\":2,\"mapcolor9\":1,\"mapcolor13\":8,\"pop_est\":11484055,\"pop_rank\":14,\"pop_year\":2019,\"gdp_md\":533097,\"gdp_year\":2019,\"economy\":\"2. Developed region: nonG7\",\"income_grp\":\"1. High income: OECD\",\"fips_10\":\"BE\",\"iso_a2\":\"BE\",\"iso_a2_eh\":\"BE\",\"iso_a3\":\"BEL\",\"iso_a3_eh\":\"BEL\",\"iso_n3\":\"056\",\"iso_n3_eh\":\"056\",\"un_a3\":\"056\",\"wb_a2\":\"BE\",\"wb_a3\":\"BEL\",\"woe_id\":23424757,\"woe_id_eh\":23424757,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"BEL\",\"adm0_diff\":null,\"adm0_tlc\":\"BEL\",\"adm0_a3_us\":\"BEL\",\"adm0_a3_fr\":\"BEL\",\"adm0_a3_ru\":\"BEL\",\"adm0_a3_es\":\"BEL\",\"adm0_a3_cn\":\"BEL\",\"adm0_a3_tw\":\"BEL\",\"adm0_a3_in\":\"BEL\",\"adm0_a3_np\":\"BEL\",\"adm0_a3_pk\":\"BEL\",\"adm0_a3_de\":\"BEL\",\"adm0_a3_gb\":\"BEL\",\"adm0_a3_br\":\"BEL\",\"adm0_a3_il\":\"BEL\",\"adm0_a3_ps\":\"BEL\",\"adm0_a3_sa\":\"BEL\",\"adm0_a3_eg\":\"BEL\",\"adm0_a3_ma\":\"BEL\",\"adm0_a3_pt\":\"BEL\",\"adm0_a3_ar\":\"BEL\",\"adm0_a3_jp\":\"BEL\",\"adm0_a3_ko\":\"BEL\",\"adm0_a3_vn\":\"BEL\",\"adm0_a3_tr\":\"BEL\",\"adm0_a3_id\":\"BEL\",\"adm0_a3_pl\":\"BEL\",\"adm0_a3_gr\":\"BEL\",\"adm0_a3_it\":\"BEL\",\"adm0_a3_nl\":\"BEL\",\"adm0_a3_se\":\"BEL\",\"adm0_a3_bd\":\"BEL\",\"adm0_a3_ua\":\"BEL\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Europe\",\"region_un\":\"Europe\",\"subregion\":\"Western Europe\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":7,\"long_len\":7,\"abbrev_len\":5,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":4.800448,\"label_y\":50.785392,\"ne_id\":1159320389,\"wikidataid\":\"Q31\",\"name_ar\":\"بلجيكا\",\"name_bn\":\"বেলজিয়াম\",\"name_de\":\"Belgien\",\"name_en\":\"Belgium\",\"name_es\":\"Bélgica\",\"name_fa\":\"بلژیک\",\"name_fr\":\"Belgique\",\"name_el\":\"Βέλγιο\",\"name_he\":\"בלגיה\",\"name_hi\":\"बेल्जियम\",\"name_hu\":\"Belgium\",\"name_id\":\"Belgia\",\"name_it\":\"Belgio\",\"name_ja\":\"ベルギー\",\"name_ko\":\"벨기에\",\"name_nl\":\"België\",\"name_pl\":\"Belgia\",\"name_pt\":\"Bélgica\",\"name_ru\":\"Бельгия\",\"name_sv\":\"Belgien\",\"name_tr\":\"Belçika\",\"name_uk\":\"Бельгія\",\"name_ur\":\"بلجئیم\",\"name_vi\":\"Bỉ\",\"name_zh\":\"比利时\",\"name_zht\":\"比利時\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"BEL.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[6.15665815595878,50.80372101501058],[6.043073357781111,50.128051662794235],[5.782417433300907,50.09032786722122],[5.674051954784829,49.529483547557504],[4.799221632515724,49.98537303323637],[4.286022983425084,49.907496649772554],[3.588184441755658,50.37899241800356],[3.123251580425688,50.78036326761455],[2.658422071960274,50.796848049515745],[2.513573032246143,51.14850617126183],[3.314971144228537,51.345780951536085],[3.31501148496416,51.34577662473805],[3.314971144228537,51.34575511331991],[4.047071160507528,51.26725861266857],[4.973991326526914,51.47502370869813],[5.606975945670001,51.03729848896978],[6.15665815595878,50.80372101501058]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":6,\"sovereignt\":\"North Macedonia\",\"sov_a3\":\"MKD\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"North Macedonia\",\"adm0_a3\":\"MKD\",\"geou_dif\":0,\"geounit\":\"North Macedonia\",\"gu_a3\":\"MKD\",\"su_dif\":0,\"subunit\":\"North Macedonia\",\"su_a3\":\"MKD\",\"brk_diff\":0,\"name\":\"North Macedonia\",\"name_long\":\"North Macedonia\",\"brk_a3\":\"MKD\",\"brk_name\":\"North Macedonia\",\"brk_group\":null,\"abbrev\":\"N. Mac.\",\"postal\":\"NM\",\"formal_en\":\"Republic of North Macedonia\",\"formal_fr\":null,\"name_ciawf\":\"North Macedonia\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"North Macedonia\",\"name_alt\":null,\"mapcolor7\":5,\"mapcolor8\":3,\"mapcolor9\":7,\"mapcolor13\":3,\"pop_est\":2083459,\"pop_rank\":12,\"pop_year\":2019,\"gdp_md\":12547,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"MK\",\"iso_a2\":\"MK\",\"iso_a2_eh\":\"MK\",\"iso_a3\":\"MKD\",\"iso_a3_eh\":\"MKD\",\"iso_n3\":\"807\",\"iso_n3_eh\":\"807\",\"un_a3\":\"807\",\"wb_a2\":\"MK\",\"wb_a3\":\"MKD\",\"woe_id\":23424890,\"woe_id_eh\":23424890,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"MKD\",\"adm0_diff\":null,\"adm0_tlc\":\"MKD\",\"adm0_a3_us\":\"MKD\",\"adm0_a3_fr\":\"MKD\",\"adm0_a3_ru\":\"MKD\",\"adm0_a3_es\":\"MKD\",\"adm0_a3_cn\":\"MKD\",\"adm0_a3_tw\":\"MKD\",\"adm0_a3_in\":\"MKD\",\"adm0_a3_np\":\"MKD\",\"adm0_a3_pk\":\"MKD\",\"adm0_a3_de\":\"MKD\",\"adm0_a3_gb\":\"MKD\",\"adm0_a3_br\":\"MKD\",\"adm0_a3_il\":\"MKD\",\"adm0_a3_ps\":\"MKD\",\"adm0_a3_sa\":\"MKD\",\"adm0_a3_eg\":\"MKD\",\"adm0_a3_ma\":\"MKD\",\"adm0_a3_pt\":\"MKD\",\"adm0_a3_ar\":\"MKD\",\"adm0_a3_jp\":\"MKD\",\"adm0_a3_ko\":\"MKD\",\"adm0_a3_vn\":\"MKD\",\"adm0_a3_tr\":\"MKD\",\"adm0_a3_id\":\"MKD\",\"adm0_a3_pl\":\"MKD\",\"adm0_a3_gr\":\"MKD\",\"adm0_a3_it\":\"MKD\",\"adm0_a3_nl\":\"MKD\",\"adm0_a3_se\":\"MKD\",\"adm0_a3_bd\":\"MKD\",\"adm0_a3_ua\":\"MKD\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Europe\",\"region_un\":\"Europe\",\"subregion\":\"Southern Europe\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":15,\"long_len\":15,\"abbrev_len\":7,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":5,\"max_label\":10,\"label_x\":21.555839,\"label_y\":41.558223,\"ne_id\":1159321061,\"wikidataid\":\"Q221\",\"name_ar\":\"مقدونيا الشمالية\",\"name_bn\":\"উত্তর মেসিডোনিয়া\",\"name_de\":\"Nordmazedonien\",\"name_en\":\"North Macedonia\",\"name_es\":\"Macedonia del Norte\",\"name_fa\":\"مقدونیه شمالی\",\"name_fr\":\"Macédoine du Nord\",\"name_el\":\"Βόρεια Μακεδονία\",\"name_he\":\"מקדוניה הצפונית\",\"name_hi\":\"उत्तर मैसिडोनिया\",\"name_hu\":\"Észak-Macedónia\",\"name_id\":\"Republik Makedonia Utara\",\"name_it\":\"Macedonia del Nord\",\"name_ja\":\"北マケドニア\",\"name_ko\":\"북마케도니아\",\"name_nl\":\"Noord-Macedonië\",\"name_pl\":\"Macedonia Północna\",\"name_pt\":\"Macedónia do Norte\",\"name_ru\":\"Северная Македония\",\"name_sv\":\"Nordmakedonien\",\"name_tr\":\"Kuzey Makedonya\",\"name_uk\":\"Північна Македонія\",\"name_ur\":\"شمالی مقدونیہ\",\"name_vi\":\"Bắc Macedonia\",\"name_zh\":\"北马其顿\",\"name_zht\":\"北馬其頓\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"MKD.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[22.380525750424592,42.32025950781509],[22.881373732197346,41.999297186850356],[22.952377150166452,41.33799388281115],[22.76177,41.3048],[22.597308383889015,41.130487168943205],[22.05537763844427,41.14986583105269],[21.674160597426976,40.931274522457954],[21.0200403174764,40.84272695572588],[20.605181919037364,41.086226304685226],[20.463175083099202,41.51508901627534],[20.59024743010491,41.855404161133606],[20.590246546680227,41.855408919283626],[20.71731000000011,41.84711],[20.76216,42.05186],[21.35270000000014,42.2068],[21.57663598940212,42.24522439706186],[21.917080000000112,42.30364],[22.380525750424592,42.32025950781509]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":6,\"sovereignt\":\"Albania\",\"sov_a3\":\"ALB\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Albania\",\"adm0_a3\":\"ALB\",\"geou_dif\":0,\"geounit\":\"Albania\",\"gu_a3\":\"ALB\",\"su_dif\":0,\"subunit\":\"Albania\",\"su_a3\":\"ALB\",\"brk_diff\":0,\"name\":\"Albania\",\"name_long\":\"Albania\",\"brk_a3\":\"ALB\",\"brk_name\":\"Albania\",\"brk_group\":null,\"abbrev\":\"Alb.\",\"postal\":\"AL\",\"formal_en\":\"Republic of Albania\",\"formal_fr\":null,\"name_ciawf\":\"Albania\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Albania\",\"name_alt\":null,\"mapcolor7\":1,\"mapcolor8\":4,\"mapcolor9\":1,\"mapcolor13\":6,\"pop_est\":2854191,\"pop_rank\":12,\"pop_year\":2019,\"gdp_md\":15279,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"AL\",\"iso_a2\":\"AL\",\"iso_a2_eh\":\"AL\",\"iso_a3\":\"ALB\",\"iso_a3_eh\":\"ALB\",\"iso_n3\":\"008\",\"iso_n3_eh\":\"008\",\"un_a3\":\"008\",\"wb_a2\":\"AL\",\"wb_a3\":\"ALB\",\"woe_id\":23424742,\"woe_id_eh\":23424742,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"ALB\",\"adm0_diff\":null,\"adm0_tlc\":\"ALB\",\"adm0_a3_us\":\"ALB\",\"adm0_a3_fr\":\"ALB\",\"adm0_a3_ru\":\"ALB\",\"adm0_a3_es\":\"ALB\",\"adm0_a3_cn\":\"ALB\",\"adm0_a3_tw\":\"ALB\",\"adm0_a3_in\":\"ALB\",\"adm0_a3_np\":\"ALB\",\"adm0_a3_pk\":\"ALB\",\"adm0_a3_de\":\"ALB\",\"adm0_a3_gb\":\"ALB\",\"adm0_a3_br\":\"ALB\",\"adm0_a3_il\":\"ALB\",\"adm0_a3_ps\":\"ALB\",\"adm0_a3_sa\":\"ALB\",\"adm0_a3_eg\":\"ALB\",\"adm0_a3_ma\":\"ALB\",\"adm0_a3_pt\":\"ALB\",\"adm0_a3_ar\":\"ALB\",\"adm0_a3_jp\":\"ALB\",\"adm0_a3_ko\":\"ALB\",\"adm0_a3_vn\":\"ALB\",\"adm0_a3_tr\":\"ALB\",\"adm0_a3_id\":\"ALB\",\"adm0_a3_pl\":\"ALB\",\"adm0_a3_gr\":\"ALB\",\"adm0_a3_it\":\"ALB\",\"adm0_a3_nl\":\"ALB\",\"adm0_a3_se\":\"ALB\",\"adm0_a3_bd\":\"ALB\",\"adm0_a3_ua\":\"ALB\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Europe\",\"region_un\":\"Europe\",\"subregion\":\"Southern Europe\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":7,\"long_len\":7,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":5,\"max_label\":10,\"label_x\":20.11384,\"label_y\":40.654855,\"ne_id\":1159320325,\"wikidataid\":\"Q222\",\"name_ar\":\"ألبانيا\",\"name_bn\":\"আলবেনিয়া\",\"name_de\":\"Albanien\",\"name_en\":\"Albania\",\"name_es\":\"Albania\",\"name_fa\":\"آلبانی\",\"name_fr\":\"Albanie\",\"name_el\":\"Αλβανία\",\"name_he\":\"אלבניה\",\"name_hi\":\"अल्बानिया\",\"name_hu\":\"Albánia\",\"name_id\":\"Albania\",\"name_it\":\"Albania\",\"name_ja\":\"アルバニア\",\"name_ko\":\"알바니아\",\"name_nl\":\"Albanië\",\"name_pl\":\"Albania\",\"name_pt\":\"Albânia\",\"name_ru\":\"Албания\",\"name_sv\":\"Albanien\",\"name_tr\":\"Arnavutluk\",\"name_uk\":\"Албанія\",\"name_ur\":\"البانیا\",\"name_vi\":\"Albania\",\"name_zh\":\"阿尔巴尼亚\",\"name_zht\":\"阿爾巴尼亞\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"ALB.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[21.0200403174764,40.84272695572588],[20.999989861747224,40.58000397395398],[20.674996779063633,40.43499990494303],[20.615000441172754,40.11000682225938],[20.15001590341052,39.62499766698397],[19.980000441170148,39.69499339452341],[19.960001661873207,39.91500580500605],[19.406081984136733,40.250773423822466],[19.319058872157143,40.72723012955356],[19.40354983895429,41.40956574153546],[19.540027296637106,41.71998607031276],[19.37176883309496,41.877547512370654],[19.37176816334725,41.877550679783496],[19.304486118250793,42.19574514420782],[19.73805138517963,42.68824738216557],[19.801613396898688,42.50009349219084],[20.0707,42.58863],[20.283754510181893,42.32025950781508],[20.52295,42.21787],[20.590246546680227,41.855408919283626],[20.59024743010491,41.855404161133606],[20.463175083099202,41.51508901627534],[20.605181919037364,41.086226304685226],[21.0200403174764,40.84272695572588]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":6,\"sovereignt\":\"Kosovo\",\"sov_a3\":\"KOS\",\"adm0_dif\":0,\"level\":2,\"type\":\"Disputed\",\"tlc\":\"1\",\"admin\":\"Kosovo\",\"adm0_a3\":\"KOS\",\"geou_dif\":0,\"geounit\":\"Kosovo\",\"gu_a3\":\"KOS\",\"su_dif\":0,\"subunit\":\"Kosovo\",\"su_a3\":\"KOS\",\"brk_diff\":0,\"name\":\"Kosovo\",\"name_long\":\"Kosovo\",\"brk_a3\":\"KOS\",\"brk_name\":\"Kosovo\",\"brk_group\":null,\"abbrev\":\"Kos.\",\"postal\":\"KO\",\"formal_en\":\"Republic of Kosovo\",\"formal_fr\":null,\"name_ciawf\":\"Kosovo\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Kosovo\",\"name_alt\":null,\"mapcolor7\":2,\"mapcolor8\":2,\"mapcolor9\":3,\"mapcolor13\":11,\"pop_est\":1794248,\"pop_rank\":12,\"pop_year\":2019,\"gdp_md\":7926,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"KV\",\"iso_a2\":\"-99\",\"iso_a2_eh\":\"XK\",\"iso_a3\":\"-99\",\"iso_a3_eh\":\"-99\",\"iso_n3\":\"-99\",\"iso_n3_eh\":\"-99\",\"un_a3\":\"-099\",\"wb_a2\":\"KV\",\"wb_a3\":\"KSV\",\"woe_id\":-90,\"woe_id_eh\":29389201,\"woe_note\":\"Subunit of Serbia in WOE still; should include 29389201, 29389207, 29389218, 29389209 and 29389214.\",\"adm0_iso\":\"SRB\",\"adm0_diff\":\"1\",\"adm0_tlc\":\"KOS\",\"adm0_a3_us\":\"KOS\",\"adm0_a3_fr\":\"KOS\",\"adm0_a3_ru\":\"SRB\",\"adm0_a3_es\":\"SRB\",\"adm0_a3_cn\":\"SRB\",\"adm0_a3_tw\":\"KOS\",\"adm0_a3_in\":\"SRB\",\"adm0_a3_np\":\"SRB\",\"adm0_a3_pk\":\"KOS\",\"adm0_a3_de\":\"KOS\",\"adm0_a3_gb\":\"SRB\",\"adm0_a3_br\":\"KOS\",\"adm0_a3_il\":\"KOS\",\"adm0_a3_ps\":\"SRB\",\"adm0_a3_sa\":\"KOS\",\"adm0_a3_eg\":\"KOS\",\"adm0_a3_ma\":\"SRB\",\"adm0_a3_pt\":\"KOS\",\"adm0_a3_ar\":\"SRB\",\"adm0_a3_jp\":\"KOS\",\"adm0_a3_ko\":\"KOS\",\"adm0_a3_vn\":\"SRB\",\"adm0_a3_tr\":\"KOS\",\"adm0_a3_id\":\"SRB\",\"adm0_a3_pl\":\"KOS\",\"adm0_a3_gr\":\"SRB\",\"adm0_a3_it\":\"KOS\",\"adm0_a3_nl\":\"KOS\",\"adm0_a3_se\":\"KOS\",\"adm0_a3_bd\":\"KOS\",\"adm0_a3_ua\":\"SRB\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Europe\",\"region_un\":\"Europe\",\"subregion\":\"Southern Europe\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":6,\"long_len\":6,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":5,\"max_label\":10,\"label_x\":20.860719,\"label_y\":42.593587,\"ne_id\":1159321007,\"wikidataid\":\"Q1246\",\"name_ar\":\"كوسوفو\",\"name_bn\":\"কসোভো\",\"name_de\":\"Kosovo\",\"name_en\":\"Kosovo\",\"name_es\":\"Kosovo\",\"name_fa\":\"کوزووو\",\"name_fr\":\"Kosovo\",\"name_el\":\"Κοσσυφοπέδιο\",\"name_he\":\"קוסובו\",\"name_hi\":\"कोसोवो गणराज्य\",\"name_hu\":\"Koszovó\",\"name_id\":\"Kosovo\",\"name_it\":\"Kosovo\",\"name_ja\":\"コソボ共和国\",\"name_ko\":\"코소보\",\"name_nl\":\"Kosovo\",\"name_pl\":\"Kosowo\",\"name_pt\":\"Kosovo\",\"name_ru\":\"Республика Косово\",\"name_sv\":\"Kosovo\",\"name_tr\":\"Kosova\",\"name_uk\":\"Косово\",\"name_ur\":\"کوسووہ\",\"name_vi\":\"Kosovo\",\"name_zh\":\"科索沃\",\"name_zht\":\"科索沃\",\"fclass_iso\":\"Unrecognized\",\"tlc_diff\":\"1\",\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":\"Admin-0 country\",\"fclass_fr\":\"Admin-0 country\",\"fclass_ru\":\"Admin-1 region\",\"fclass_es\":\"Unrecognized\",\"fclass_cn\":\"Unrecognized\",\"fclass_tw\":\"Admin-0 country\",\"fclass_in\":\"Admin-1 region\",\"fclass_np\":\"Unrecognized\",\"fclass_pk\":\"Admin-0 country\",\"fclass_de\":\"Admin-0 country\",\"fclass_gb\":\"Admin-0 country\",\"fclass_br\":\"Unrecognized\",\"fclass_il\":\"Admin-0 country\",\"fclass_ps\":\"Unrecognized\",\"fclass_sa\":\"Admin-0 country\",\"fclass_eg\":\"Admin-0 country\",\"fclass_ma\":\"Unrecognized\",\"fclass_pt\":\"Admin-0 country\",\"fclass_ar\":\"Unrecognized\",\"fclass_jp\":\"Admin-0 country\",\"fclass_ko\":\"Admin-0 country\",\"fclass_vn\":\"Unrecognized\",\"fclass_tr\":\"Admin-0 country\",\"fclass_id\":\"Unrecognized\",\"fclass_pl\":\"Admin-0 country\",\"fclass_gr\":\"Unrecognized\",\"fclass_it\":\"Admin-0 country\",\"fclass_nl\":\"Admin-0 country\",\"fclass_se\":\"Admin-0 country\",\"fclass_bd\":\"Admin-0 country\",\"fclass_ua\":\"Unrecognized\",\"filename\":\"kosovo.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[20.590246546680227,41.855408919283626],[20.52295,42.21787],[20.283754510181893,42.32025950781508],[20.0707,42.58863],[20.25758,42.81275000000011],[20.49679,42.88469],[20.63508,43.21671],[20.81448,43.27205],[20.95651,43.13094],[21.143395,43.06868500000013],[21.27421,42.90959],[21.43866,42.86255],[21.63302,42.67717],[21.77505,42.6827],[21.66292,42.43922],[21.54332,42.3202500000001],[21.57663598940212,42.24522439706186],[21.35270000000014,42.2068],[20.76216,42.05186],[20.71731000000011,41.84711],[20.590246546680227,41.855408919283626]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":2,\"sovereignt\":\"Spain\",\"sov_a3\":\"ESP\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Spain\",\"adm0_a3\":\"ESP\",\"geou_dif\":0,\"geounit\":\"Spain\",\"gu_a3\":\"ESP\",\"su_dif\":0,\"subunit\":\"Spain\",\"su_a3\":\"ESP\",\"brk_diff\":0,\"name\":\"Spain\",\"name_long\":\"Spain\",\"brk_a3\":\"ESP\",\"brk_name\":\"Spain\",\"brk_group\":null,\"abbrev\":\"Sp.\",\"postal\":\"E\",\"formal_en\":\"Kingdom of Spain\",\"formal_fr\":null,\"name_ciawf\":\"Spain\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Spain\",\"name_alt\":null,\"mapcolor7\":4,\"mapcolor8\":5,\"mapcolor9\":5,\"mapcolor13\":5,\"pop_est\":47076781,\"pop_rank\":15,\"pop_year\":2019,\"gdp_md\":1393490,\"gdp_year\":2019,\"economy\":\"2. Developed region: nonG7\",\"income_grp\":\"1. High income: OECD\",\"fips_10\":\"SP\",\"iso_a2\":\"ES\",\"iso_a2_eh\":\"ES\",\"iso_a3\":\"ESP\",\"iso_a3_eh\":\"ESP\",\"iso_n3\":\"724\",\"iso_n3_eh\":\"724\",\"un_a3\":\"724\",\"wb_a2\":\"ES\",\"wb_a3\":\"ESP\",\"woe_id\":23424950,\"woe_id_eh\":23424950,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"ESP\",\"adm0_diff\":null,\"adm0_tlc\":\"ESP\",\"adm0_a3_us\":\"ESP\",\"adm0_a3_fr\":\"ESP\",\"adm0_a3_ru\":\"ESP\",\"adm0_a3_es\":\"ESP\",\"adm0_a3_cn\":\"ESP\",\"adm0_a3_tw\":\"ESP\",\"adm0_a3_in\":\"ESP\",\"adm0_a3_np\":\"ESP\",\"adm0_a3_pk\":\"ESP\",\"adm0_a3_de\":\"ESP\",\"adm0_a3_gb\":\"ESP\",\"adm0_a3_br\":\"ESP\",\"adm0_a3_il\":\"ESP\",\"adm0_a3_ps\":\"ESP\",\"adm0_a3_sa\":\"ESP\",\"adm0_a3_eg\":\"ESP\",\"adm0_a3_ma\":\"ESP\",\"adm0_a3_pt\":\"ESP\",\"adm0_a3_ar\":\"ESP\",\"adm0_a3_jp\":\"ESP\",\"adm0_a3_ko\":\"ESP\",\"adm0_a3_vn\":\"ESP\",\"adm0_a3_tr\":\"ESP\",\"adm0_a3_id\":\"ESP\",\"adm0_a3_pl\":\"ESP\",\"adm0_a3_gr\":\"ESP\",\"adm0_a3_it\":\"ESP\",\"adm0_a3_nl\":\"ESP\",\"adm0_a3_se\":\"ESP\",\"adm0_a3_bd\":\"ESP\",\"adm0_a3_ua\":\"ESP\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Europe\",\"region_un\":\"Europe\",\"subregion\":\"Southern Europe\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":5,\"long_len\":5,\"abbrev_len\":3,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":2,\"max_label\":7,\"label_x\":-3.464718,\"label_y\":40.090953,\"ne_id\":1159320587,\"wikidataid\":\"Q29\",\"name_ar\":\"إسبانيا\",\"name_bn\":\"স্পেন\",\"name_de\":\"Spanien\",\"name_en\":\"Spain\",\"name_es\":\"España\",\"name_fa\":\"اسپانیا\",\"name_fr\":\"Espagne\",\"name_el\":\"Ισπανία\",\"name_he\":\"ספרד\",\"name_hi\":\"स्पेन\",\"name_hu\":\"Spanyolország\",\"name_id\":\"Spanyol\",\"name_it\":\"Spagna\",\"name_ja\":\"スペイン\",\"name_ko\":\"스페인\",\"name_nl\":\"Spanje\",\"name_pl\":\"Hiszpania\",\"name_pt\":\"Espanha\",\"name_ru\":\"Испания\",\"name_sv\":\"Spanien\",\"name_tr\":\"İspanya\",\"name_uk\":\"Іспанія\",\"name_ur\":\"ہسپانیہ\",\"name_vi\":\"Tây Ban Nha\",\"name_zh\":\"西班牙\",\"name_zht\":\"西班牙\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"ESP.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-7.453725551778092,37.09778758396607],[-7.537105475281024,37.42890432387624],[-7.166507941099865,37.803894354802225],[-7.029281175148796,38.07576406508977],[-7.374092169616318,38.37305858006492],[-7.098036668313128,39.03007274022379],[-7.498632371439726,39.62957103124181],[-7.066591559263529,39.711891587882775],[-7.026413133156595,40.184524237624245],[-6.864019944679385,40.33087189387483],[-6.851126674822552,41.11108266861753],[-6.389087693700915,41.381815497394655],[-6.668605515967656,41.883386949219584],[-7.251308966490824,41.91834605566505],[-7.422512986673795,41.79207469335984],[-8.013174607769912,41.790886135417125],[-8.263856980817792,42.28046865495034],[-8.67194576662672,42.13468943945496],[-9.034817674180246,41.880570583659676],[-8.984433152695672,42.59277517350627],[-9.392883673530648,43.0266246608127],[-7.97818966310831,43.74833771420099],[-6.754491746436756,43.567909450853925],[-5.411886359061597,43.57423981380968],[-4.347842779955783,43.40344920508504],[-3.517531704106091,43.4559007838613],[-1.901351284177764,43.42280202897834],[-1.502770961910528,43.03401439063043],[0.338046909190581,42.57954600683955],[0.701590610363894,42.795734361332606],[1.826793247087153,42.34338471126569],[2.985998976258458,42.47301504166986],[3.039484083680549,41.892120266276905],[2.091841668312185,41.226088568683096],[0.810524529635188,41.01473196060934],[0.721331007499401,40.678318386389236],[0.106691521819869,40.12393362076202],[-0.278711310212941,39.30997813573272],[0.111290724293838,38.73851430923304],[-0.467123582349103,38.29236583104115],[-0.683389451490598,37.642353827457825],[-1.438382127274849,37.44306366632422],[-2.146452602538119,36.67414419203729],[-3.415780808923387,36.65889964451118],[-4.368900926114719,36.677839056946155],[-4.995219285492212,36.32470815687964],[-5.377159796561457,35.946850083961465],[-5.866432257500904,36.02981659600606],[-6.236693894872175,36.367677110330334],[-6.520190802425404,36.94291331638732],[-7.453725551778092,37.09778758396607]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":4,\"sovereignt\":\"Denmark\",\"sov_a3\":\"DN1\",\"adm0_dif\":1,\"level\":2,\"type\":\"Country\",\"tlc\":\"1\",\"admin\":\"Denmark\",\"adm0_a3\":\"DNK\",\"geou_dif\":0,\"geounit\":\"Denmark\",\"gu_a3\":\"DNK\",\"su_dif\":0,\"subunit\":\"Denmark\",\"su_a3\":\"DNK\",\"brk_diff\":0,\"name\":\"Denmark\",\"name_long\":\"Denmark\",\"brk_a3\":\"DNK\",\"brk_name\":\"Denmark\",\"brk_group\":null,\"abbrev\":\"Den.\",\"postal\":\"DK\",\"formal_en\":\"Kingdom of Denmark\",\"formal_fr\":null,\"name_ciawf\":\"Denmark\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Denmark\",\"name_alt\":null,\"mapcolor7\":4,\"mapcolor8\":1,\"mapcolor9\":3,\"mapcolor13\":12,\"pop_est\":5818553,\"pop_rank\":13,\"pop_year\":2019,\"gdp_md\":350104,\"gdp_year\":2019,\"economy\":\"2. Developed region: nonG7\",\"income_grp\":\"1. High income: OECD\",\"fips_10\":\"DA\",\"iso_a2\":\"DK\",\"iso_a2_eh\":\"DK\",\"iso_a3\":\"DNK\",\"iso_a3_eh\":\"DNK\",\"iso_n3\":\"208\",\"iso_n3_eh\":\"208\",\"un_a3\":\"208\",\"wb_a2\":\"DK\",\"wb_a3\":\"DNK\",\"woe_id\":23424796,\"woe_id_eh\":23424796,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"DNK\",\"adm0_diff\":null,\"adm0_tlc\":\"DNK\",\"adm0_a3_us\":\"DNK\",\"adm0_a3_fr\":\"DNK\",\"adm0_a3_ru\":\"DNK\",\"adm0_a3_es\":\"DNK\",\"adm0_a3_cn\":\"DNK\",\"adm0_a3_tw\":\"DNK\",\"adm0_a3_in\":\"DNK\",\"adm0_a3_np\":\"DNK\",\"adm0_a3_pk\":\"DNK\",\"adm0_a3_de\":\"DNK\",\"adm0_a3_gb\":\"DNK\",\"adm0_a3_br\":\"DNK\",\"adm0_a3_il\":\"DNK\",\"adm0_a3_ps\":\"DNK\",\"adm0_a3_sa\":\"DNK\",\"adm0_a3_eg\":\"DNK\",\"adm0_a3_ma\":\"DNK\",\"adm0_a3_pt\":\"DNK\",\"adm0_a3_ar\":\"DNK\",\"adm0_a3_jp\":\"DNK\",\"adm0_a3_ko\":\"DNK\",\"adm0_a3_vn\":\"DNK\",\"adm0_a3_tr\":\"DNK\",\"adm0_a3_id\":\"DNK\",\"adm0_a3_pl\":\"DNK\",\"adm0_a3_gr\":\"DNK\",\"adm0_a3_it\":\"DNK\",\"adm0_a3_nl\":\"DNK\",\"adm0_a3_se\":\"DNK\",\"adm0_a3_bd\":\"DNK\",\"adm0_a3_ua\":\"DNK\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Europe\",\"region_un\":\"Europe\",\"subregion\":\"Northern Europe\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":7,\"long_len\":7,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":9.018163,\"label_y\":55.966965,\"ne_id\":1159320547,\"wikidataid\":\"Q35\",\"name_ar\":\"الدنمارك\",\"name_bn\":\"ডেনমার্ক\",\"name_de\":\"Dänemark\",\"name_en\":\"Denmark\",\"name_es\":\"Dinamarca\",\"name_fa\":\"دانمارک\",\"name_fr\":\"Danemark\",\"name_el\":\"Δανία\",\"name_he\":\"דנמרק\",\"name_hi\":\"डेनमार्क\",\"name_hu\":\"Dánia\",\"name_id\":\"Denmark\",\"name_it\":\"Danimarca\",\"name_ja\":\"デンマーク\",\"name_ko\":\"덴마크\",\"name_nl\":\"Denemarken\",\"name_pl\":\"Dania\",\"name_pt\":\"Dinamarca\",\"name_ru\":\"Дания\",\"name_sv\":\"Danmark\",\"name_tr\":\"Danimarka\",\"name_uk\":\"Данія\",\"name_ur\":\"ڈنمارک\",\"name_vi\":\"Đan Mạch\",\"name_zh\":\"丹麦\",\"name_zht\":\"丹麥\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"DNK.geojson\"},\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[[[9.921906365609118,54.98310415304803],[9.282048780971138,54.830865383516176],[8.526229282270208,54.96274363872516],[8.120310906617533,55.5177226833236],[8.08997684086222,56.54001170513759],[8.256581658571207,56.80996938743033],[8.543437534223415,57.11000275331695],[9.424469028367554,57.1720661484995],[9.775558709358535,57.44794078228966],[10.580005730846125,57.73001658795485],[10.546105991262664,57.21573273378612],[10.250000034230226,56.89001618105044],[10.369992710011957,56.60998159446079],[10.912181837618306,56.458621324277885],[10.667803989310016,56.08138336854721],[10.369992710011957,56.19000722922473],[9.649984978889279,55.469999498102055],[9.921906365609118,54.98310415304803]]],[[[12.370904168353292,56.111407375708794],[12.690006137755603,55.60999095318074],[12.089991082414684,54.80001455343792],[11.043543328504226,55.36486379660424],[10.903913608451603,55.77995473898872],[12.370904168353292,56.111407375708794]]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Romania\",\"sov_a3\":\"ROU\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Romania\",\"adm0_a3\":\"ROU\",\"geou_dif\":0,\"geounit\":\"Romania\",\"gu_a3\":\"ROU\",\"su_dif\":0,\"subunit\":\"Romania\",\"su_a3\":\"ROU\",\"brk_diff\":0,\"name\":\"Romania\",\"name_long\":\"Romania\",\"brk_a3\":\"ROU\",\"brk_name\":\"Romania\",\"brk_group\":null,\"abbrev\":\"Rom.\",\"postal\":\"RO\",\"formal_en\":\"Romania\",\"formal_fr\":null,\"name_ciawf\":\"Romania\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Romania\",\"name_alt\":null,\"mapcolor7\":1,\"mapcolor8\":4,\"mapcolor9\":3,\"mapcolor13\":13,\"pop_est\":19356544,\"pop_rank\":14,\"pop_year\":2019,\"gdp_md\":250077,\"gdp_year\":2019,\"economy\":\"2. Developed region: nonG7\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"RO\",\"iso_a2\":\"RO\",\"iso_a2_eh\":\"RO\",\"iso_a3\":\"ROU\",\"iso_a3_eh\":\"ROU\",\"iso_n3\":\"642\",\"iso_n3_eh\":\"642\",\"un_a3\":\"642\",\"wb_a2\":\"RO\",\"wb_a3\":\"ROM\",\"woe_id\":23424933,\"woe_id_eh\":23424933,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"ROU\",\"adm0_diff\":null,\"adm0_tlc\":\"ROU\",\"adm0_a3_us\":\"ROU\",\"adm0_a3_fr\":\"ROU\",\"adm0_a3_ru\":\"ROU\",\"adm0_a3_es\":\"ROU\",\"adm0_a3_cn\":\"ROU\",\"adm0_a3_tw\":\"ROU\",\"adm0_a3_in\":\"ROU\",\"adm0_a3_np\":\"ROU\",\"adm0_a3_pk\":\"ROU\",\"adm0_a3_de\":\"ROU\",\"adm0_a3_gb\":\"ROU\",\"adm0_a3_br\":\"ROU\",\"adm0_a3_il\":\"ROU\",\"adm0_a3_ps\":\"ROU\",\"adm0_a3_sa\":\"ROU\",\"adm0_a3_eg\":\"ROU\",\"adm0_a3_ma\":\"ROU\",\"adm0_a3_pt\":\"ROU\",\"adm0_a3_ar\":\"ROU\",\"adm0_a3_jp\":\"ROU\",\"adm0_a3_ko\":\"ROU\",\"adm0_a3_vn\":\"ROU\",\"adm0_a3_tr\":\"ROU\",\"adm0_a3_id\":\"ROU\",\"adm0_a3_pl\":\"ROU\",\"adm0_a3_gr\":\"ROU\",\"adm0_a3_it\":\"ROU\",\"adm0_a3_nl\":\"ROU\",\"adm0_a3_se\":\"ROU\",\"adm0_a3_bd\":\"ROU\",\"adm0_a3_ua\":\"ROU\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Europe\",\"region_un\":\"Europe\",\"subregion\":\"Eastern Europe\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":7,\"long_len\":7,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":24.972624,\"label_y\":45.733237,\"ne_id\":1159321199,\"wikidataid\":\"Q218\",\"name_ar\":\"رومانيا\",\"name_bn\":\"রোমানিয়া\",\"name_de\":\"Rumänien\",\"name_en\":\"Romania\",\"name_es\":\"Rumania\",\"name_fa\":\"رومانی\",\"name_fr\":\"Roumanie\",\"name_el\":\"Ρουμανία\",\"name_he\":\"רומניה\",\"name_hi\":\"रोमानिया\",\"name_hu\":\"Románia\",\"name_id\":\"Rumania\",\"name_it\":\"Romania\",\"name_ja\":\"ルーマニア\",\"name_ko\":\"루마니아\",\"name_nl\":\"Roemenië\",\"name_pl\":\"Rumunia\",\"name_pt\":\"Roménia\",\"name_ru\":\"Румыния\",\"name_sv\":\"Rumänien\",\"name_tr\":\"Romanya\",\"name_uk\":\"Румунія\",\"name_ur\":\"رومانیہ\",\"name_vi\":\"Romania\",\"name_zh\":\"罗马尼亚\",\"name_zht\":\"羅馬尼亞\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"ROU.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[28.23355350109904,45.48828318946829],[28.67977949393938,45.304030870131704],[29.149724969201653,45.464925442072456],[29.603289015427436,45.293308010431126],[29.62654340995877,45.0353909368624],[29.141611769331835,44.820210272799045],[28.8378577003202,44.913873806328056],[28.558081495891997,43.70746165625813],[27.970107049275075,43.81246816667522],[27.242399529740908,44.175986029632405],[26.065158725699746,43.94349376075127],[25.569271681426926,43.68844472917472],[24.100679152124172,43.74105133724785],[23.332302280376325,43.897010809904714],[22.944832391051847,43.82378530534713],[22.65714969248299,44.23492300066128],[22.4740084164406,44.40922760678177],[22.705725538837356,44.57800283464702],[22.459022251075936,44.7025171982543],[22.14508792490281,44.47842234962059],[21.56202273935361,44.7689472519655],[21.48352623870221,45.18117015235788],[20.874312778413355,45.416375433934235],[20.762174920339987,45.734573065771485],[20.220192498462836,46.127468980486555],[21.02195234547125,46.3160879583519],[21.626514926853872,46.99423777931816],[22.099767693782837,47.6724392767167],[22.710531447040495,47.88219391538941],[23.142236362406805,48.09634105080695],[23.76095828623741,47.985598456405455],[24.40205610525038,47.98187775328043],[24.866317172960578,47.737525743188314],[25.20774336111299,47.89105642352747],[25.9459411964024,47.987148749374214],[26.19745039236693,48.22088125263035],[26.619336785597795,48.22072622333347],[26.924176059687568,48.123264472030996],[27.233872918412743,47.82677094175638],[27.551166212684848,47.40511709247083],[28.128030226359044,46.810476386088254],[28.160017937947714,46.37156260841722],[28.0544429867754,45.944586086605625],[28.23355350109904,45.48828318946829]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":5,\"sovereignt\":\"Hungary\",\"sov_a3\":\"HUN\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Hungary\",\"adm0_a3\":\"HUN\",\"geou_dif\":0,\"geounit\":\"Hungary\",\"gu_a3\":\"HUN\",\"su_dif\":0,\"subunit\":\"Hungary\",\"su_a3\":\"HUN\",\"brk_diff\":0,\"name\":\"Hungary\",\"name_long\":\"Hungary\",\"brk_a3\":\"HUN\",\"brk_name\":\"Hungary\",\"brk_group\":null,\"abbrev\":\"Hun.\",\"postal\":\"HU\",\"formal_en\":\"Republic of Hungary\",\"formal_fr\":null,\"name_ciawf\":\"Hungary\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Hungary\",\"name_alt\":null,\"mapcolor7\":4,\"mapcolor8\":6,\"mapcolor9\":1,\"mapcolor13\":5,\"pop_est\":9769949,\"pop_rank\":13,\"pop_year\":2019,\"gdp_md\":163469,\"gdp_year\":2019,\"economy\":\"2. Developed region: nonG7\",\"income_grp\":\"1. High income: OECD\",\"fips_10\":\"HU\",\"iso_a2\":\"HU\",\"iso_a2_eh\":\"HU\",\"iso_a3\":\"HUN\",\"iso_a3_eh\":\"HUN\",\"iso_n3\":\"348\",\"iso_n3_eh\":\"348\",\"un_a3\":\"348\",\"wb_a2\":\"HU\",\"wb_a3\":\"HUN\",\"woe_id\":23424844,\"woe_id_eh\":23424844,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"HUN\",\"adm0_diff\":null,\"adm0_tlc\":\"HUN\",\"adm0_a3_us\":\"HUN\",\"adm0_a3_fr\":\"HUN\",\"adm0_a3_ru\":\"HUN\",\"adm0_a3_es\":\"HUN\",\"adm0_a3_cn\":\"HUN\",\"adm0_a3_tw\":\"HUN\",\"adm0_a3_in\":\"HUN\",\"adm0_a3_np\":\"HUN\",\"adm0_a3_pk\":\"HUN\",\"adm0_a3_de\":\"HUN\",\"adm0_a3_gb\":\"HUN\",\"adm0_a3_br\":\"HUN\",\"adm0_a3_il\":\"HUN\",\"adm0_a3_ps\":\"HUN\",\"adm0_a3_sa\":\"HUN\",\"adm0_a3_eg\":\"HUN\",\"adm0_a3_ma\":\"HUN\",\"adm0_a3_pt\":\"HUN\",\"adm0_a3_ar\":\"HUN\",\"adm0_a3_jp\":\"HUN\",\"adm0_a3_ko\":\"HUN\",\"adm0_a3_vn\":\"HUN\",\"adm0_a3_tr\":\"HUN\",\"adm0_a3_id\":\"HUN\",\"adm0_a3_pl\":\"HUN\",\"adm0_a3_gr\":\"HUN\",\"adm0_a3_it\":\"HUN\",\"adm0_a3_nl\":\"HUN\",\"adm0_a3_se\":\"HUN\",\"adm0_a3_bd\":\"HUN\",\"adm0_a3_ua\":\"HUN\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Europe\",\"region_un\":\"Europe\",\"subregion\":\"Eastern Europe\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":7,\"long_len\":7,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":19.447867,\"label_y\":47.086841,\"ne_id\":1159320841,\"wikidataid\":\"Q28\",\"name_ar\":\"المجر\",\"name_bn\":\"হাঙ্গেরি\",\"name_de\":\"Ungarn\",\"name_en\":\"Hungary\",\"name_es\":\"Hungría\",\"name_fa\":\"مجارستان\",\"name_fr\":\"Hongrie\",\"name_el\":\"Ουγγαρία\",\"name_he\":\"הונגריה\",\"name_hi\":\"हंगरी\",\"name_hu\":\"Magyarország\",\"name_id\":\"Hongaria\",\"name_it\":\"Ungheria\",\"name_ja\":\"ハンガリー\",\"name_ko\":\"헝가리\",\"name_nl\":\"Hongarije\",\"name_pl\":\"Węgry\",\"name_pt\":\"Hungria\",\"name_ru\":\"Венгрия\",\"name_sv\":\"Ungern\",\"name_tr\":\"Macaristan\",\"name_uk\":\"Угорщина\",\"name_ur\":\"ہنگری\",\"name_vi\":\"Hungary\",\"name_zh\":\"匈牙利\",\"name_zht\":\"匈牙利\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"HUN.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[22.085608351334855,48.42226430927179],[22.640819939878725,48.150239569687415],[22.710531447040495,47.88219391538941],[22.099767693782837,47.6724392767167],[21.626514926853872,46.99423777931816],[21.02195234547125,46.3160879583519],[20.220192498462836,46.127468980486555],[19.596044549241583,46.17172984474454],[18.82983808764996,45.90887767189193],[18.829824792873946,45.908872358025285],[18.45606245288286,45.75948110613615],[17.630066359129557,45.95176911069419],[16.8825150895953,46.38063182228444],[16.564808383864857,46.50375092221983],[16.370504998447416,46.841327216166505],[16.202298211337364,46.85238597267696],[16.534267612380376,47.49617096616912],[16.340584344150415,47.71290192320123],[16.90375410326726,47.71486562762833],[16.979666782304037,48.123497015976305],[17.48847293464982,47.867466132186216],[17.857132602620027,47.75842886005037],[18.696512892336926,47.880953681014404],[18.77702477384767,48.081768296900634],[19.17436486173989,48.11137889260387],[19.661363559658497,48.26661489520866],[19.769470656013112,48.202691148463614],[20.239054396249347,48.32756724709692],[20.473562045989866,48.562850043321816],[20.801293979584926,48.623854071642384],[21.872236362401736,48.31997081155002],[22.085608351334855,48.42226430927179]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":6,\"sovereignt\":\"Slovakia\",\"sov_a3\":\"SVK\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Slovakia\",\"adm0_a3\":\"SVK\",\"geou_dif\":0,\"geounit\":\"Slovakia\",\"gu_a3\":\"SVK\",\"su_dif\":0,\"subunit\":\"Slovakia\",\"su_a3\":\"SVK\",\"brk_diff\":0,\"name\":\"Slovakia\",\"name_long\":\"Slovakia\",\"brk_a3\":\"SVK\",\"brk_name\":\"Slovakia\",\"brk_group\":null,\"abbrev\":\"Svk.\",\"postal\":\"SK\",\"formal_en\":\"Slovak Republic\",\"formal_fr\":null,\"name_ciawf\":\"Slovakia\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Slovak Republic\",\"name_alt\":null,\"mapcolor7\":2,\"mapcolor8\":4,\"mapcolor9\":4,\"mapcolor13\":9,\"pop_est\":5454073,\"pop_rank\":13,\"pop_year\":2019,\"gdp_md\":105079,\"gdp_year\":2019,\"economy\":\"2. Developed region: nonG7\",\"income_grp\":\"1. High income: OECD\",\"fips_10\":\"LO\",\"iso_a2\":\"SK\",\"iso_a2_eh\":\"SK\",\"iso_a3\":\"SVK\",\"iso_a3_eh\":\"SVK\",\"iso_n3\":\"703\",\"iso_n3_eh\":\"703\",\"un_a3\":\"703\",\"wb_a2\":\"SK\",\"wb_a3\":\"SVK\",\"woe_id\":23424877,\"woe_id_eh\":23424877,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"SVK\",\"adm0_diff\":null,\"adm0_tlc\":\"SVK\",\"adm0_a3_us\":\"SVK\",\"adm0_a3_fr\":\"SVK\",\"adm0_a3_ru\":\"SVK\",\"adm0_a3_es\":\"SVK\",\"adm0_a3_cn\":\"SVK\",\"adm0_a3_tw\":\"SVK\",\"adm0_a3_in\":\"SVK\",\"adm0_a3_np\":\"SVK\",\"adm0_a3_pk\":\"SVK\",\"adm0_a3_de\":\"SVK\",\"adm0_a3_gb\":\"SVK\",\"adm0_a3_br\":\"SVK\",\"adm0_a3_il\":\"SVK\",\"adm0_a3_ps\":\"SVK\",\"adm0_a3_sa\":\"SVK\",\"adm0_a3_eg\":\"SVK\",\"adm0_a3_ma\":\"SVK\",\"adm0_a3_pt\":\"SVK\",\"adm0_a3_ar\":\"SVK\",\"adm0_a3_jp\":\"SVK\",\"adm0_a3_ko\":\"SVK\",\"adm0_a3_vn\":\"SVK\",\"adm0_a3_tr\":\"SVK\",\"adm0_a3_id\":\"SVK\",\"adm0_a3_pl\":\"SVK\",\"adm0_a3_gr\":\"SVK\",\"adm0_a3_it\":\"SVK\",\"adm0_a3_nl\":\"SVK\",\"adm0_a3_se\":\"SVK\",\"adm0_a3_bd\":\"SVK\",\"adm0_a3_ua\":\"SVK\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Europe\",\"region_un\":\"Europe\",\"subregion\":\"Eastern Europe\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":8,\"long_len\":8,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":19.049868,\"label_y\":48.734044,\"ne_id\":1159321283,\"wikidataid\":\"Q214\",\"name_ar\":\"سلوفاكيا\",\"name_bn\":\"স্লোভাকিয়া\",\"name_de\":\"Slowakei\",\"name_en\":\"Slovakia\",\"name_es\":\"Eslovaquia\",\"name_fa\":\"اسلواکی\",\"name_fr\":\"Slovaquie\",\"name_el\":\"Σλοβακία\",\"name_he\":\"סלובקיה\",\"name_hi\":\"स्लोवाकिया\",\"name_hu\":\"Szlovákia\",\"name_id\":\"Slowakia\",\"name_it\":\"Slovacchia\",\"name_ja\":\"スロバキア\",\"name_ko\":\"슬로바키아\",\"name_nl\":\"Slowakije\",\"name_pl\":\"Słowacja\",\"name_pt\":\"Eslováquia\",\"name_ru\":\"Словакия\",\"name_sv\":\"Slovakien\",\"name_tr\":\"Slovakya\",\"name_uk\":\"Словаччина\",\"name_ur\":\"سلوواکیہ\",\"name_vi\":\"Slovakia\",\"name_zh\":\"斯洛伐克\",\"name_zht\":\"斯洛伐克\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"SVK.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[22.558137648211755,49.085738023467144],[22.28084191253356,48.82539215758067],[22.085608351334855,48.42226430927179],[21.872236362401736,48.31997081155002],[20.801293979584926,48.623854071642384],[20.473562045989866,48.562850043321816],[20.239054396249347,48.32756724709692],[19.769470656013112,48.202691148463614],[19.661363559658497,48.26661489520866],[19.17436486173989,48.11137889260387],[18.77702477384767,48.081768296900634],[18.696512892336926,47.880953681014404],[17.857132602620027,47.75842886005037],[17.48847293464982,47.867466132186216],[16.979666782304037,48.123497015976305],[16.879982944413,48.47001333270947],[16.960288120194576,48.5969823268506],[17.101984897538898,48.816968899117114],[17.545006951577108,48.80001902932537],[17.88648481616181,48.90347524677371],[17.913511590250465,48.996492824899086],[18.104972771891852,49.04398346617531],[18.170498488037964,49.271514797556435],[18.399993523846177,49.31500051533004],[18.554971144289482,49.495015367218784],[18.853144158613617,49.49622976337764],[18.90957482267632,49.435845852244576],[19.320712517990472,49.571574001659194],[19.825022820726872,49.21712535256923],[20.415839471119853,49.43145335549977],[20.887955356538413,49.32877228453583],[21.607808058364213,49.47010732685409],[22.558137648211755,49.085738023467144]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Poland\",\"sov_a3\":\"POL\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Poland\",\"adm0_a3\":\"POL\",\"geou_dif\":0,\"geounit\":\"Poland\",\"gu_a3\":\"POL\",\"su_dif\":0,\"subunit\":\"Poland\",\"su_a3\":\"POL\",\"brk_diff\":0,\"name\":\"Poland\",\"name_long\":\"Poland\",\"brk_a3\":\"POL\",\"brk_name\":\"Poland\",\"brk_group\":null,\"abbrev\":\"Pol.\",\"postal\":\"PL\",\"formal_en\":\"Republic of Poland\",\"formal_fr\":null,\"name_ciawf\":\"Poland\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Poland\",\"name_alt\":null,\"mapcolor7\":3,\"mapcolor8\":7,\"mapcolor9\":1,\"mapcolor13\":2,\"pop_est\":37970874,\"pop_rank\":15,\"pop_year\":2019,\"gdp_md\":595858,\"gdp_year\":2019,\"economy\":\"2. Developed region: nonG7\",\"income_grp\":\"1. High income: OECD\",\"fips_10\":\"PL\",\"iso_a2\":\"PL\",\"iso_a2_eh\":\"PL\",\"iso_a3\":\"POL\",\"iso_a3_eh\":\"POL\",\"iso_n3\":\"616\",\"iso_n3_eh\":\"616\",\"un_a3\":\"616\",\"wb_a2\":\"PL\",\"wb_a3\":\"POL\",\"woe_id\":23424923,\"woe_id_eh\":23424923,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"POL\",\"adm0_diff\":null,\"adm0_tlc\":\"POL\",\"adm0_a3_us\":\"POL\",\"adm0_a3_fr\":\"POL\",\"adm0_a3_ru\":\"POL\",\"adm0_a3_es\":\"POL\",\"adm0_a3_cn\":\"POL\",\"adm0_a3_tw\":\"POL\",\"adm0_a3_in\":\"POL\",\"adm0_a3_np\":\"POL\",\"adm0_a3_pk\":\"POL\",\"adm0_a3_de\":\"POL\",\"adm0_a3_gb\":\"POL\",\"adm0_a3_br\":\"POL\",\"adm0_a3_il\":\"POL\",\"adm0_a3_ps\":\"POL\",\"adm0_a3_sa\":\"POL\",\"adm0_a3_eg\":\"POL\",\"adm0_a3_ma\":\"POL\",\"adm0_a3_pt\":\"POL\",\"adm0_a3_ar\":\"POL\",\"adm0_a3_jp\":\"POL\",\"adm0_a3_ko\":\"POL\",\"adm0_a3_vn\":\"POL\",\"adm0_a3_tr\":\"POL\",\"adm0_a3_id\":\"POL\",\"adm0_a3_pl\":\"POL\",\"adm0_a3_gr\":\"POL\",\"adm0_a3_it\":\"POL\",\"adm0_a3_nl\":\"POL\",\"adm0_a3_se\":\"POL\",\"adm0_a3_bd\":\"POL\",\"adm0_a3_ua\":\"POL\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Europe\",\"region_un\":\"Europe\",\"subregion\":\"Eastern Europe\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":6,\"long_len\":6,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":2.5,\"max_label\":7,\"label_x\":19.490468,\"label_y\":51.990316,\"ne_id\":1159321179,\"wikidataid\":\"Q36\",\"name_ar\":\"بولندا\",\"name_bn\":\"পোল্যান্ড\",\"name_de\":\"Polen\",\"name_en\":\"Poland\",\"name_es\":\"Polonia\",\"name_fa\":\"لهستان\",\"name_fr\":\"Pologne\",\"name_el\":\"Πολωνία\",\"name_he\":\"פולין\",\"name_hi\":\"पोलैंड\",\"name_hu\":\"Lengyelország\",\"name_id\":\"Polandia\",\"name_it\":\"Polonia\",\"name_ja\":\"ポーランド\",\"name_ko\":\"폴란드\",\"name_nl\":\"Polen\",\"name_pl\":\"Polska\",\"name_pt\":\"Polónia\",\"name_ru\":\"Польша\",\"name_sv\":\"Polen\",\"name_tr\":\"Polonya\",\"name_uk\":\"Польща\",\"name_ur\":\"پولینڈ\",\"name_vi\":\"Ba Lan\",\"name_zh\":\"波兰\",\"name_zht\":\"波蘭\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"POL.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[23.48412763844985,53.91249766704114],[23.527535841575002,53.470121568406555],[23.80493493011778,53.089731350306074],[23.79919884613338,52.69109935160657],[23.199493849386187,52.48697744405367],[23.508002150168693,52.02364655212473],[23.52707075368437,51.57845408793031],[24.029985792748903,50.70540660257518],[23.92275719574326,50.42488108987874],[23.426508416444392,50.30850576435745],[22.518450148211603,49.47677358661974],[22.776418898212626,49.02739533140962],[22.558137648211755,49.085738023467144],[21.607808058364213,49.47010732685409],[20.887955356538413,49.32877228453583],[20.415839471119853,49.43145335549977],[19.825022820726872,49.21712535256923],[19.320712517990472,49.571574001659194],[18.90957482267632,49.435845852244576],[18.853144158613617,49.49622976337764],[18.392913852622172,49.98862864847075],[17.64944502123899,50.049038397819956],[17.55456709155112,50.36214590107642],[16.86876915860566,50.47397370055603],[16.719475945714436,50.21574656839354],[16.176253289462267,50.42260732685791],[16.23862674323857,50.69773265237984],[15.490972120839729,50.78472992614321],[15.01699588385867,51.10667409932158],[14.607098422919535,51.74518809671997],[14.685026482815687,52.0899474147552],[14.437599725002201,52.62485016540839],[14.074521111719434,52.98126251892535],[14.353315463934138,53.24817129171297],[14.119686313542559,53.75702912049104],[14.802900424873458,54.05070628520575],[16.36347700365573,54.513158677785725],[17.622831658608675,54.85153595643291],[18.62085859546164,54.68260569927078],[18.696254510175464,54.43871877706929],[19.660640089606403,54.42608388937393],[20.892244500418627,54.31252492941253],[22.731098667092652,54.327536932993326],[23.24398725758951,54.22056671814914],[23.48412763844985,53.91249766704114]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Ireland\",\"sov_a3\":\"IRL\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Ireland\",\"adm0_a3\":\"IRL\",\"geou_dif\":0,\"geounit\":\"Ireland\",\"gu_a3\":\"IRL\",\"su_dif\":0,\"subunit\":\"Ireland\",\"su_a3\":\"IRL\",\"brk_diff\":0,\"name\":\"Ireland\",\"name_long\":\"Ireland\",\"brk_a3\":\"IRL\",\"brk_name\":\"Ireland\",\"brk_group\":null,\"abbrev\":\"Ire.\",\"postal\":\"IRL\",\"formal_en\":\"Ireland\",\"formal_fr\":null,\"name_ciawf\":\"Ireland\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Ireland\",\"name_alt\":null,\"mapcolor7\":2,\"mapcolor8\":3,\"mapcolor9\":2,\"mapcolor13\":2,\"pop_est\":4941444,\"pop_rank\":12,\"pop_year\":2019,\"gdp_md\":388698,\"gdp_year\":2019,\"economy\":\"2. Developed region: nonG7\",\"income_grp\":\"1. High income: OECD\",\"fips_10\":\"EI\",\"iso_a2\":\"IE\",\"iso_a2_eh\":\"IE\",\"iso_a3\":\"IRL\",\"iso_a3_eh\":\"IRL\",\"iso_n3\":\"372\",\"iso_n3_eh\":\"372\",\"un_a3\":\"372\",\"wb_a2\":\"IE\",\"wb_a3\":\"IRL\",\"woe_id\":23424803,\"woe_id_eh\":23424803,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"IRL\",\"adm0_diff\":null,\"adm0_tlc\":\"IRL\",\"adm0_a3_us\":\"IRL\",\"adm0_a3_fr\":\"IRL\",\"adm0_a3_ru\":\"IRL\",\"adm0_a3_es\":\"IRL\",\"adm0_a3_cn\":\"IRL\",\"adm0_a3_tw\":\"IRL\",\"adm0_a3_in\":\"IRL\",\"adm0_a3_np\":\"IRL\",\"adm0_a3_pk\":\"IRL\",\"adm0_a3_de\":\"IRL\",\"adm0_a3_gb\":\"IRL\",\"adm0_a3_br\":\"IRL\",\"adm0_a3_il\":\"IRL\",\"adm0_a3_ps\":\"IRL\",\"adm0_a3_sa\":\"IRL\",\"adm0_a3_eg\":\"IRL\",\"adm0_a3_ma\":\"IRL\",\"adm0_a3_pt\":\"IRL\",\"adm0_a3_ar\":\"IRL\",\"adm0_a3_jp\":\"IRL\",\"adm0_a3_ko\":\"IRL\",\"adm0_a3_vn\":\"IRL\",\"adm0_a3_tr\":\"IRL\",\"adm0_a3_id\":\"IRL\",\"adm0_a3_pl\":\"IRL\",\"adm0_a3_gr\":\"IRL\",\"adm0_a3_it\":\"IRL\",\"adm0_a3_nl\":\"IRL\",\"adm0_a3_se\":\"IRL\",\"adm0_a3_bd\":\"IRL\",\"adm0_a3_ua\":\"IRL\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Europe\",\"region_un\":\"Europe\",\"subregion\":\"Northern Europe\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":7,\"long_len\":7,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":-7.798588,\"label_y\":53.078726,\"ne_id\":1159320877,\"wikidataid\":\"Q27\",\"name_ar\":\"جمهورية أيرلندا\",\"name_bn\":\"প্রজাতন্ত্রী আয়ারল্যান্ড\",\"name_de\":\"Irland\",\"name_en\":\"Ireland\",\"name_es\":\"Irlanda\",\"name_fa\":\"ایرلند\",\"name_fr\":\"Irlande\",\"name_el\":\"Δημοκρατία της Ιρλανδίας\",\"name_he\":\"אירלנד\",\"name_hi\":\"आयरलैण्ड\",\"name_hu\":\"Írország\",\"name_id\":\"Republik Irlandia\",\"name_it\":\"Irlanda\",\"name_ja\":\"アイルランド\",\"name_ko\":\"아일랜드\",\"name_nl\":\"Ierland\",\"name_pl\":\"Irlandia\",\"name_pt\":\"República da Irlanda\",\"name_ru\":\"Ирландия\",\"name_sv\":\"Irland\",\"name_tr\":\"İrlanda\",\"name_uk\":\"Ірландія\",\"name_ur\":\"جمہوریہ آئرلینڈ\",\"name_vi\":\"Cộng hòa Ireland\",\"name_zh\":\"爱尔兰\",\"name_zht\":\"愛爾蘭\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"IRL.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-6.197884894220991,53.867565009163364],[-6.032985398777611,53.15316417094435],[-6.788856573910849,52.260117906292336],[-8.56161658368356,51.669301255899356],[-9.977085740590269,51.82045482035308],[-9.166282517930782,52.86462881124268],[-9.688524542672454,53.8813626165853],[-8.327987433292009,54.66451894796863],[-7.572167934591064,55.13162221945487],[-7.366030646178785,54.59584096945272],[-7.572167934591064,54.059956366586],[-6.953730231138067,54.073702297575636],[-6.197884894220991,53.867565009163364]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":2,\"sovereignt\":\"United Kingdom\",\"sov_a3\":\"GB1\",\"adm0_dif\":1,\"level\":2,\"type\":\"Country\",\"tlc\":\"1\",\"admin\":\"United Kingdom\",\"adm0_a3\":\"GBR\",\"geou_dif\":0,\"geounit\":\"United Kingdom\",\"gu_a3\":\"GBR\",\"su_dif\":0,\"subunit\":\"United Kingdom\",\"su_a3\":\"GBR\",\"brk_diff\":0,\"name\":\"United Kingdom\",\"name_long\":\"United Kingdom\",\"brk_a3\":\"GBR\",\"brk_name\":\"United Kingdom\",\"brk_group\":null,\"abbrev\":\"U.K.\",\"postal\":\"GB\",\"formal_en\":\"United Kingdom of Great Britain and Northern Ireland\",\"formal_fr\":null,\"name_ciawf\":\"United Kingdom\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"United Kingdom\",\"name_alt\":null,\"mapcolor7\":6,\"mapcolor8\":6,\"mapcolor9\":6,\"mapcolor13\":3,\"pop_est\":66834405,\"pop_rank\":16,\"pop_year\":2019,\"gdp_md\":2829108,\"gdp_year\":2019,\"economy\":\"1. Developed region: G7\",\"income_grp\":\"1. High income: OECD\",\"fips_10\":\"UK\",\"iso_a2\":\"GB\",\"iso_a2_eh\":\"GB\",\"iso_a3\":\"GBR\",\"iso_a3_eh\":\"GBR\",\"iso_n3\":\"826\",\"iso_n3_eh\":\"826\",\"un_a3\":\"826\",\"wb_a2\":\"GB\",\"wb_a3\":\"GBR\",\"woe_id\":-90,\"woe_id_eh\":23424975,\"woe_note\":\"Eh ID includes Channel Islands and Isle of Man. UK constituent countries of England (24554868), Wales (12578049), Scotland (12578048), and Northern Ireland (20070563).\",\"adm0_iso\":\"GBR\",\"adm0_diff\":null,\"adm0_tlc\":\"GBR\",\"adm0_a3_us\":\"GBR\",\"adm0_a3_fr\":\"GBR\",\"adm0_a3_ru\":\"GBR\",\"adm0_a3_es\":\"GBR\",\"adm0_a3_cn\":\"GBR\",\"adm0_a3_tw\":\"GBR\",\"adm0_a3_in\":\"GBR\",\"adm0_a3_np\":\"GBR\",\"adm0_a3_pk\":\"GBR\",\"adm0_a3_de\":\"GBR\",\"adm0_a3_gb\":\"GBR\",\"adm0_a3_br\":\"GBR\",\"adm0_a3_il\":\"GBR\",\"adm0_a3_ps\":\"GBR\",\"adm0_a3_sa\":\"GBR\",\"adm0_a3_eg\":\"GBR\",\"adm0_a3_ma\":\"GBR\",\"adm0_a3_pt\":\"GBR\",\"adm0_a3_ar\":\"GBR\",\"adm0_a3_jp\":\"GBR\",\"adm0_a3_ko\":\"GBR\",\"adm0_a3_vn\":\"GBR\",\"adm0_a3_tr\":\"GBR\",\"adm0_a3_id\":\"GBR\",\"adm0_a3_pl\":\"GBR\",\"adm0_a3_gr\":\"GBR\",\"adm0_a3_it\":\"GBR\",\"adm0_a3_nl\":\"GBR\",\"adm0_a3_se\":\"GBR\",\"adm0_a3_bd\":\"GBR\",\"adm0_a3_ua\":\"GBR\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Europe\",\"region_un\":\"Europe\",\"subregion\":\"Northern Europe\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":14,\"long_len\":14,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":1.7,\"max_label\":6.7,\"label_x\":-2.116346,\"label_y\":54.402739,\"ne_id\":1159320713,\"wikidataid\":\"Q145\",\"name_ar\":\"المملكة المتحدة\",\"name_bn\":\"যুক্তরাজ্য\",\"name_de\":\"Vereinigtes Königreich\",\"name_en\":\"United Kingdom\",\"name_es\":\"Reino Unido\",\"name_fa\":\"بریتانیا\",\"name_fr\":\"Royaume-Uni\",\"name_el\":\"Ηνωμένο Βασίλειο\",\"name_he\":\"הממלכה המאוחדת\",\"name_hi\":\"यूनाइटेड किंगडम\",\"name_hu\":\"Egyesült Királyság\",\"name_id\":\"Britania Raya\",\"name_it\":\"Regno Unito\",\"name_ja\":\"イギリス\",\"name_ko\":\"영국\",\"name_nl\":\"Verenigd Koninkrijk\",\"name_pl\":\"Wielka Brytania\",\"name_pt\":\"Reino Unido\",\"name_ru\":\"Великобритания\",\"name_sv\":\"Storbritannien\",\"name_tr\":\"Birleşik Krallık\",\"name_uk\":\"Велика Британія\",\"name_ur\":\"مملکت متحدہ\",\"name_vi\":\"Vương quốc Liên hiệp Anh và Bắc Ireland\",\"name_zh\":\"英国\",\"name_zht\":\"英國\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"GBR.geojson\"},\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[[[-6.197884894220991,53.867565009163364],[-6.953730231138067,54.073702297575636],[-7.572167934591064,54.059956366586],[-7.366030646178785,54.59584096945272],[-7.572167934591064,55.13162221945487],[-6.733847011736145,55.17286001242378],[-5.661948614921968,54.55460317648381],[-6.197884894220991,53.867565009163364]]],[[[-3.093830673788716,53.404547400669685],[-3.092079637047107,53.40444082296358],[-2.945008510744344,53.98499970154671],[-3.614700825433033,54.600936773292574],[-3.630005458989331,54.615012925833014],[-4.844169073903061,54.790971177786844],[-5.082526617849283,55.06160065369937],[-4.7191121077567,55.50847260194348],[-5.047980922862109,55.78398550070756],[-5.586397670911197,55.31114614523682],[-5.644998745130238,56.27501496034483],[-6.149980841486411,56.785009670633485],[-5.786824713555291,57.81884837506465],[-5.009998745127632,58.63001333275008],[-4.211494513353557,58.55084503847911],[-3.005004848635281,58.63500010846633],[-4.073828497728073,57.55302480735526],[-3.055001796877718,57.69001902936094],[-1.959280564776918,57.68479970969952],[-2.219988165689358,56.87001740175356],[-3.119003058271176,55.973793036515474],[-2.085009324543023,55.9099984808513],[-2.005675679673857,55.804902850350175],[-1.11499101399221,54.624986477265395],[-0.4304849918542,54.46437612570219],[0.184981316742039,53.32501414653103],[0.469976840831805,52.929999498092],[1.681530795914682,52.739520168664],[1.559987827164321,52.09999848083601],[1.050561557630942,51.806760565795685],[1.449865349950244,51.28942780212191],[0.550333693045502,50.765738837275876],[-0.787517462558696,50.77498891865622],[-2.489997524414434,50.50001862243124],[-2.956273972984093,50.696879991247044],[-3.617448085942385,50.22835561787275],[-4.542507900399244,50.341837063185665],[-5.245023159191135,49.95999990498109],[-5.776566941745273,50.15967763935686],[-4.309989793301895,51.21000112568919],[-3.414850633142123,51.42600861266925],[-3.422719467108379,51.42684816740609],[-4.98436723471093,51.593466091511004],[-5.267295701508942,51.991400458374585],[-4.222346564134909,52.301355699261364],[-4.77001339356417,52.840004991255626],[-4.579999152026971,53.49500377055517],[-3.093830673788716,53.404547400669685]]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Greece\",\"sov_a3\":\"GRC\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Greece\",\"adm0_a3\":\"GRC\",\"geou_dif\":0,\"geounit\":\"Greece\",\"gu_a3\":\"GRC\",\"su_dif\":0,\"subunit\":\"Greece\",\"su_a3\":\"GRC\",\"brk_diff\":0,\"name\":\"Greece\",\"name_long\":\"Greece\",\"brk_a3\":\"GRC\",\"brk_name\":\"Greece\",\"brk_group\":null,\"abbrev\":\"Greece\",\"postal\":\"GR\",\"formal_en\":\"Hellenic Republic\",\"formal_fr\":null,\"name_ciawf\":\"Greece\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Greece\",\"name_alt\":null,\"mapcolor7\":2,\"mapcolor8\":2,\"mapcolor9\":2,\"mapcolor13\":9,\"pop_est\":10716322,\"pop_rank\":14,\"pop_year\":2019,\"gdp_md\":209852,\"gdp_year\":2019,\"economy\":\"2. Developed region: nonG7\",\"income_grp\":\"1. High income: OECD\",\"fips_10\":\"GR\",\"iso_a2\":\"GR\",\"iso_a2_eh\":\"GR\",\"iso_a3\":\"GRC\",\"iso_a3_eh\":\"GRC\",\"iso_n3\":\"300\",\"iso_n3_eh\":\"300\",\"un_a3\":\"300\",\"wb_a2\":\"GR\",\"wb_a3\":\"GRC\",\"woe_id\":23424833,\"woe_id_eh\":23424833,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"GRC\",\"adm0_diff\":null,\"adm0_tlc\":\"GRC\",\"adm0_a3_us\":\"GRC\",\"adm0_a3_fr\":\"GRC\",\"adm0_a3_ru\":\"GRC\",\"adm0_a3_es\":\"GRC\",\"adm0_a3_cn\":\"GRC\",\"adm0_a3_tw\":\"GRC\",\"adm0_a3_in\":\"GRC\",\"adm0_a3_np\":\"GRC\",\"adm0_a3_pk\":\"GRC\",\"adm0_a3_de\":\"GRC\",\"adm0_a3_gb\":\"GRC\",\"adm0_a3_br\":\"GRC\",\"adm0_a3_il\":\"GRC\",\"adm0_a3_ps\":\"GRC\",\"adm0_a3_sa\":\"GRC\",\"adm0_a3_eg\":\"GRC\",\"adm0_a3_ma\":\"GRC\",\"adm0_a3_pt\":\"GRC\",\"adm0_a3_ar\":\"GRC\",\"adm0_a3_jp\":\"GRC\",\"adm0_a3_ko\":\"GRC\",\"adm0_a3_vn\":\"GRC\",\"adm0_a3_tr\":\"GRC\",\"adm0_a3_id\":\"GRC\",\"adm0_a3_pl\":\"GRC\",\"adm0_a3_gr\":\"GRC\",\"adm0_a3_it\":\"GRC\",\"adm0_a3_nl\":\"GRC\",\"adm0_a3_se\":\"GRC\",\"adm0_a3_bd\":\"GRC\",\"adm0_a3_ua\":\"GRC\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Europe\",\"region_un\":\"Europe\",\"subregion\":\"Southern Europe\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":6,\"long_len\":6,\"abbrev_len\":6,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":2.7,\"max_label\":8,\"label_x\":21.72568,\"label_y\":39.492763,\"ne_id\":1159320811,\"wikidataid\":\"Q41\",\"name_ar\":\"اليونان\",\"name_bn\":\"গ্রিস\",\"name_de\":\"Griechenland\",\"name_en\":\"Greece\",\"name_es\":\"Grecia\",\"name_fa\":\"یونان\",\"name_fr\":\"Grèce\",\"name_el\":\"Ελλάδα\",\"name_he\":\"יוון\",\"name_hi\":\"यूनान\",\"name_hu\":\"Görögország\",\"name_id\":\"Yunani\",\"name_it\":\"Grecia\",\"name_ja\":\"ギリシャ\",\"name_ko\":\"그리스\",\"name_nl\":\"Griekenland\",\"name_pl\":\"Grecja\",\"name_pt\":\"Grécia\",\"name_ru\":\"Греция\",\"name_sv\":\"Grekland\",\"name_tr\":\"Yunanistan\",\"name_uk\":\"Греція\",\"name_ur\":\"یونان\",\"name_vi\":\"Hy Lạp\",\"name_zh\":\"希腊\",\"name_zht\":\"希臘\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"GRC.geojson\"},\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[[[26.290002882601698,35.29999034274793],[26.16499759288766,35.00499542900977],[24.724982130642303,34.91998769788964],[24.735007358506916,35.08499054619759],[23.51497846852808,35.27999156345098],[23.699980096133004,35.70500438083549],[24.246665073348705,35.368022365860185],[25.02501549652891,35.42499563246197],[25.769207797964185,35.35401805270908],[25.745023227651586,35.1799976669662],[26.290002882601698,35.29999034274793]]],[[[22.952377150166452,41.33799388281115],[23.692073601992348,41.309080918943856],[24.492644891057978,41.58389618587205],[25.197201368925448,41.23448598893053],[26.106138136507127,41.32889883072784],[26.1170418637208,41.82690460872456],[26.60419559093623,41.562114569661105],[26.294602085075667,40.93626129817413],[26.05694217296534,40.82412344010076],[25.44767703624416,40.85254547786144],[24.92584842296094,40.947061672523205],[23.71481123220076,40.687129218095095],[24.40799889496401,40.12499298762407],[23.899967889102584,39.96200552017552],[23.342999301860743,39.96099782974579],[22.813987664488934,40.476005153966526],[22.626298862404724,40.25656118423916],[22.84974775563478,39.659310818025745],[23.35002729665257,39.190011298167235],[22.973099399515547,38.97090322524963],[23.530016310324925,38.51000112563844],[24.025024855248887,38.21999298761642],[24.040011020613576,37.655014553369426],[23.115002882589124,37.920011298162194],[23.409971958111043,37.40999074965737],[22.77497195810861,37.30501007745653],[23.15422529469862,36.422505804992056],[22.490028110451078,36.4100001083774],[21.67002648284364,36.8449864771942],[21.29501061370155,37.64498932550464],[21.120034213961333,38.31032339126273],[20.730032179454554,38.769985256498785],[20.217712029712857,39.34023468683961],[20.15001590341052,39.62499766698397],[20.615000441172754,40.11000682225938],[20.674996779063633,40.43499990494303],[20.999989861747224,40.58000397395398],[21.0200403174764,40.84272695572588],[21.674160597426976,40.931274522457954],[22.05537763844427,41.14986583105269],[22.597308383889015,41.130487168943205],[22.76177,41.3048],[22.952377150166452,41.33799388281115]]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":4,\"sovereignt\":\"Austria\",\"sov_a3\":\"AUT\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Austria\",\"adm0_a3\":\"AUT\",\"geou_dif\":0,\"geounit\":\"Austria\",\"gu_a3\":\"AUT\",\"su_dif\":0,\"subunit\":\"Austria\",\"su_a3\":\"AUT\",\"brk_diff\":0,\"name\":\"Austria\",\"name_long\":\"Austria\",\"brk_a3\":\"AUT\",\"brk_name\":\"Austria\",\"brk_group\":null,\"abbrev\":\"Aust.\",\"postal\":\"A\",\"formal_en\":\"Republic of Austria\",\"formal_fr\":null,\"name_ciawf\":\"Austria\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Austria\",\"name_alt\":null,\"mapcolor7\":3,\"mapcolor8\":1,\"mapcolor9\":3,\"mapcolor13\":4,\"pop_est\":8877067,\"pop_rank\":13,\"pop_year\":2019,\"gdp_md\":445075,\"gdp_year\":2019,\"economy\":\"2. Developed region: nonG7\",\"income_grp\":\"1. High income: OECD\",\"fips_10\":\"AU\",\"iso_a2\":\"AT\",\"iso_a2_eh\":\"AT\",\"iso_a3\":\"AUT\",\"iso_a3_eh\":\"AUT\",\"iso_n3\":\"040\",\"iso_n3_eh\":\"040\",\"un_a3\":\"040\",\"wb_a2\":\"AT\",\"wb_a3\":\"AUT\",\"woe_id\":23424750,\"woe_id_eh\":23424750,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"AUT\",\"adm0_diff\":null,\"adm0_tlc\":\"AUT\",\"adm0_a3_us\":\"AUT\",\"adm0_a3_fr\":\"AUT\",\"adm0_a3_ru\":\"AUT\",\"adm0_a3_es\":\"AUT\",\"adm0_a3_cn\":\"AUT\",\"adm0_a3_tw\":\"AUT\",\"adm0_a3_in\":\"AUT\",\"adm0_a3_np\":\"AUT\",\"adm0_a3_pk\":\"AUT\",\"adm0_a3_de\":\"AUT\",\"adm0_a3_gb\":\"AUT\",\"adm0_a3_br\":\"AUT\",\"adm0_a3_il\":\"AUT\",\"adm0_a3_ps\":\"AUT\",\"adm0_a3_sa\":\"AUT\",\"adm0_a3_eg\":\"AUT\",\"adm0_a3_ma\":\"AUT\",\"adm0_a3_pt\":\"AUT\",\"adm0_a3_ar\":\"AUT\",\"adm0_a3_jp\":\"AUT\",\"adm0_a3_ko\":\"AUT\",\"adm0_a3_vn\":\"AUT\",\"adm0_a3_tr\":\"AUT\",\"adm0_a3_id\":\"AUT\",\"adm0_a3_pl\":\"AUT\",\"adm0_a3_gr\":\"AUT\",\"adm0_a3_it\":\"AUT\",\"adm0_a3_nl\":\"AUT\",\"adm0_a3_se\":\"AUT\",\"adm0_a3_bd\":\"AUT\",\"adm0_a3_ua\":\"AUT\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Europe\",\"region_un\":\"Europe\",\"subregion\":\"Western Europe\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":7,\"long_len\":7,\"abbrev_len\":5,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":14.130515,\"label_y\":47.518859,\"ne_id\":1159320379,\"wikidataid\":\"Q40\",\"name_ar\":\"النمسا\",\"name_bn\":\"অস্ট্রিয়া\",\"name_de\":\"Österreich\",\"name_en\":\"Austria\",\"name_es\":\"Austria\",\"name_fa\":\"اتریش\",\"name_fr\":\"Autriche\",\"name_el\":\"Αυστρία\",\"name_he\":\"אוסטריה\",\"name_hi\":\"ऑस्ट्रिया\",\"name_hu\":\"Ausztria\",\"name_id\":\"Austria\",\"name_it\":\"Austria\",\"name_ja\":\"オーストリア\",\"name_ko\":\"오스트리아\",\"name_nl\":\"Oostenrijk\",\"name_pl\":\"Austria\",\"name_pt\":\"Áustria\",\"name_ru\":\"Австрия\",\"name_sv\":\"Österrike\",\"name_tr\":\"Avusturya\",\"name_uk\":\"Австрія\",\"name_ur\":\"آسٹریا\",\"name_vi\":\"Áo\",\"name_zh\":\"奥地利\",\"name_zht\":\"奧地利\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"AUT.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[16.979666782304037,48.123497015976305],[16.90375410326726,47.71486562762833],[16.340584344150415,47.71290192320123],[16.534267612380376,47.49617096616912],[16.202298211337364,46.85238597267696],[16.011663852612656,46.6836107448117],[15.137091912504985,46.65870270444703],[14.63247155117483,46.43181732846955],[13.806475457421527,46.509306138691215],[12.376485223040817,46.76755910906985],[12.153088006243054,47.11539317482645],[11.16482791509327,46.94157949481273],[11.048555942436536,46.75135854754634],[10.44270145024663,46.89354625099743],[9.932448357796659,46.92072805438296],[9.479969516649021,47.102809963563374],[9.632931756232978,47.34760122332999],[9.59422610844635,47.52505809182027],[9.89606814946319,47.580196845075704],[10.402083774465211,47.30248769793916],[10.544504021861599,47.5663992376538],[11.426414015354737,47.523766181012974],[12.141357456112788,47.703083401065776],[12.620759718484493,47.67238760028441],[12.932626987365948,47.467645575544],[13.02585127122049,47.63758352313583],[12.884102817443875,48.28914581968786],[13.243357374737,48.416114813829054],[13.595945672264437,48.87717194273715],[14.338897739324722,48.55530528420721],[14.901447381254057,48.964401760445824],[15.253415561593982,49.03907420510758],[16.02964725105022,48.73389903420793],[16.499282667718774,48.78580801044511],[16.960288120194576,48.5969823268506],[16.879982944413,48.47001333270947],[16.979666782304037,48.123497015976305]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":2,\"sovereignt\":\"Italy\",\"sov_a3\":\"ITA\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Italy\",\"adm0_a3\":\"ITA\",\"geou_dif\":0,\"geounit\":\"Italy\",\"gu_a3\":\"ITA\",\"su_dif\":0,\"subunit\":\"Italy\",\"su_a3\":\"ITA\",\"brk_diff\":0,\"name\":\"Italy\",\"name_long\":\"Italy\",\"brk_a3\":\"ITA\",\"brk_name\":\"Italy\",\"brk_group\":null,\"abbrev\":\"Italy\",\"postal\":\"I\",\"formal_en\":\"Italian Republic\",\"formal_fr\":null,\"name_ciawf\":\"Italy\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Italy\",\"name_alt\":null,\"mapcolor7\":6,\"mapcolor8\":7,\"mapcolor9\":8,\"mapcolor13\":7,\"pop_est\":60297396,\"pop_rank\":16,\"pop_year\":2019,\"gdp_md\":2003576,\"gdp_year\":2019,\"economy\":\"1. Developed region: G7\",\"income_grp\":\"1. High income: OECD\",\"fips_10\":\"IT\",\"iso_a2\":\"IT\",\"iso_a2_eh\":\"IT\",\"iso_a3\":\"ITA\",\"iso_a3_eh\":\"ITA\",\"iso_n3\":\"380\",\"iso_n3_eh\":\"380\",\"un_a3\":\"380\",\"wb_a2\":\"IT\",\"wb_a3\":\"ITA\",\"woe_id\":23424853,\"woe_id_eh\":23424853,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"ITA\",\"adm0_diff\":null,\"adm0_tlc\":\"ITA\",\"adm0_a3_us\":\"ITA\",\"adm0_a3_fr\":\"ITA\",\"adm0_a3_ru\":\"ITA\",\"adm0_a3_es\":\"ITA\",\"adm0_a3_cn\":\"ITA\",\"adm0_a3_tw\":\"ITA\",\"adm0_a3_in\":\"ITA\",\"adm0_a3_np\":\"ITA\",\"adm0_a3_pk\":\"ITA\",\"adm0_a3_de\":\"ITA\",\"adm0_a3_gb\":\"ITA\",\"adm0_a3_br\":\"ITA\",\"adm0_a3_il\":\"ITA\",\"adm0_a3_ps\":\"ITA\",\"adm0_a3_sa\":\"ITA\",\"adm0_a3_eg\":\"ITA\",\"adm0_a3_ma\":\"ITA\",\"adm0_a3_pt\":\"ITA\",\"adm0_a3_ar\":\"ITA\",\"adm0_a3_jp\":\"ITA\",\"adm0_a3_ko\":\"ITA\",\"adm0_a3_vn\":\"ITA\",\"adm0_a3_tr\":\"ITA\",\"adm0_a3_id\":\"ITA\",\"adm0_a3_pl\":\"ITA\",\"adm0_a3_gr\":\"ITA\",\"adm0_a3_it\":\"ITA\",\"adm0_a3_nl\":\"ITA\",\"adm0_a3_se\":\"ITA\",\"adm0_a3_bd\":\"ITA\",\"adm0_a3_ua\":\"ITA\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Europe\",\"region_un\":\"Europe\",\"subregion\":\"Southern Europe\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":5,\"long_len\":5,\"abbrev_len\":5,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":2,\"max_label\":7,\"label_x\":11.076907,\"label_y\":44.732482,\"ne_id\":1159320919,\"wikidataid\":\"Q38\",\"name_ar\":\"إيطاليا\",\"name_bn\":\"ইতালি\",\"name_de\":\"Italien\",\"name_en\":\"Italy\",\"name_es\":\"Italia\",\"name_fa\":\"ایتالیا\",\"name_fr\":\"Italie\",\"name_el\":\"Ιταλία\",\"name_he\":\"איטליה\",\"name_hi\":\"इटली\",\"name_hu\":\"Olaszország\",\"name_id\":\"Italia\",\"name_it\":\"Italia\",\"name_ja\":\"イタリア\",\"name_ko\":\"이탈리아\",\"name_nl\":\"Italië\",\"name_pl\":\"Włochy\",\"name_pt\":\"Itália\",\"name_ru\":\"Италия\",\"name_sv\":\"Italien\",\"name_tr\":\"İtalya\",\"name_uk\":\"Італія\",\"name_ur\":\"اطالیہ\",\"name_vi\":\"Ý\",\"name_zh\":\"意大利\",\"name_zht\":\"義大利\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"ITA.geojson\"},\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[[[10.44270145024663,46.89354625099743],[11.048555942436536,46.75135854754634],[11.16482791509327,46.94157949481273],[12.153088006243054,47.11539317482645],[12.376485223040817,46.76755910906985],[13.806475457421527,46.509306138691215],[13.698109978905478,46.01677806251735],[13.937630242578308,45.59101593686462],[13.141606479554296,45.73669179949542],[12.32858117030625,45.381778062514826],[12.383874952858548,44.885374253919096],[12.261453484759102,44.600482082693986],[12.589237094786455,44.09136587175446],[13.526905958722494,43.587727362637864],[14.029820997787029,42.761007798832466],[15.142569614327925,41.95513967545685],[15.926191033601896,41.961315009115715],[16.169897088290384,41.74029490820339],[15.889345737377797,41.541082261718216],[16.785001661860548,41.17960561783656],[17.51916873543118,40.87714345963222],[18.37668745288252,40.35562490494263],[18.48024702319543,40.16886627863981],[18.293385044028042,39.810774441073264],[17.738380161213314,40.277671006830346],[16.869595981522338,40.44223460546381],[16.448743116937322,39.79540070246644],[17.17148969897147,39.42469981542068],[17.052840610429314,38.90287120213735],[16.635088331781816,38.843572496082416],[16.100960727613,37.9858987493342],[15.684086948314473,37.908849188787016],[15.687962680736348,38.21459280044188],[15.89198123542468,38.75094249119924],[16.109332309644287,38.9645470240777],[15.718813510814613,39.54407237401492],[15.413612501698793,40.048356838535156],[14.99849572109818,40.17294871679087],[14.703268263414714,40.604550279292596],[14.060671827865264,40.7863479680954],[13.627985060285397,41.1882872584616],[12.888081902730365,41.253089504555604],[12.106682570044939,41.70453481705741],[11.191906365614216,42.3554253199897],[10.51194786951774,42.93146251074721],[10.200028924203991,43.9200068222746],[9.702488234097842,44.03627879493132],[8.88894616052687,44.36633616797951],[8.428560825238577,44.23122813575242],[7.850766635783144,43.76714793555524],[7.435184767291872,43.69384491634922],[7.549596388386107,44.12790110938481],[7.007562290076635,44.25476675066136],[6.749955275101655,45.02851797136758],[7.096652459347837,45.33309886329589],[6.802355177445605,45.70857982032864],[6.843592970414505,45.99114655210061],[7.273850945676656,45.776947740250776],[7.755992058959833,45.82449005795931],[8.31662967289438,46.16364248309086],[8.489952426801324,46.005150865251686],[8.966305779667806,46.03693187111119],[9.182881707403055,46.44021474871698],[9.922836541390382,46.31489940040919],[10.363378126678612,46.48357127540986],[10.44270145024663,46.89354625099743]]],[[[14.761249220446189,38.14387360285046],[15.520376010813806,38.23115509699143],[15.160242954171736,37.44404551853776],[15.309897902089006,37.13421946873183],[15.099988234119422,36.6199872909954],[14.335228712631988,36.996630967754726],[13.826732618879959,37.10453135838016],[12.431003859108756,37.61294993748375],[12.570943637755136,38.12638113051966],[13.741156447004613,38.03496552179533],[14.761249220446189,38.14387360285046]]],[[[8.709990675500109,40.899984442705225],[9.210011834356266,41.209991360024176],[9.80997521326492,40.50000885676613],[9.669518670295616,39.17737641047178],[9.214817742559433,39.24047333430015],[8.806935662479674,38.906617743478506],[8.428302443077115,39.17184703221655],[8.388253208050912,40.37831085871876],[8.159998406617689,40.95000722916376],[8.709990675500109,40.899984442705225]]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":4,\"sovereignt\":\"Switzerland\",\"sov_a3\":\"CHE\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Switzerland\",\"adm0_a3\":\"CHE\",\"geou_dif\":0,\"geounit\":\"Switzerland\",\"gu_a3\":\"CHE\",\"su_dif\":0,\"subunit\":\"Switzerland\",\"su_a3\":\"CHE\",\"brk_diff\":0,\"name\":\"Switzerland\",\"name_long\":\"Switzerland\",\"brk_a3\":\"CHE\",\"brk_name\":\"Switzerland\",\"brk_group\":null,\"abbrev\":\"Switz.\",\"postal\":\"CH\",\"formal_en\":\"Swiss Confederation\",\"formal_fr\":null,\"name_ciawf\":\"Switzerland\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Switzerland\",\"name_alt\":null,\"mapcolor7\":5,\"mapcolor8\":2,\"mapcolor9\":7,\"mapcolor13\":3,\"pop_est\":8574832,\"pop_rank\":13,\"pop_year\":2019,\"gdp_md\":703082,\"gdp_year\":2019,\"economy\":\"2. Developed region: nonG7\",\"income_grp\":\"1. High income: OECD\",\"fips_10\":\"SZ\",\"iso_a2\":\"CH\",\"iso_a2_eh\":\"CH\",\"iso_a3\":\"CHE\",\"iso_a3_eh\":\"CHE\",\"iso_n3\":\"756\",\"iso_n3_eh\":\"756\",\"un_a3\":\"756\",\"wb_a2\":\"CH\",\"wb_a3\":\"CHE\",\"woe_id\":23424957,\"woe_id_eh\":23424957,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"CHE\",\"adm0_diff\":null,\"adm0_tlc\":\"CHE\",\"adm0_a3_us\":\"CHE\",\"adm0_a3_fr\":\"CHE\",\"adm0_a3_ru\":\"CHE\",\"adm0_a3_es\":\"CHE\",\"adm0_a3_cn\":\"CHE\",\"adm0_a3_tw\":\"CHE\",\"adm0_a3_in\":\"CHE\",\"adm0_a3_np\":\"CHE\",\"adm0_a3_pk\":\"CHE\",\"adm0_a3_de\":\"CHE\",\"adm0_a3_gb\":\"CHE\",\"adm0_a3_br\":\"CHE\",\"adm0_a3_il\":\"CHE\",\"adm0_a3_ps\":\"CHE\",\"adm0_a3_sa\":\"CHE\",\"adm0_a3_eg\":\"CHE\",\"adm0_a3_ma\":\"CHE\",\"adm0_a3_pt\":\"CHE\",\"adm0_a3_ar\":\"CHE\",\"adm0_a3_jp\":\"CHE\",\"adm0_a3_ko\":\"CHE\",\"adm0_a3_vn\":\"CHE\",\"adm0_a3_tr\":\"CHE\",\"adm0_a3_id\":\"CHE\",\"adm0_a3_pl\":\"CHE\",\"adm0_a3_gr\":\"CHE\",\"adm0_a3_it\":\"CHE\",\"adm0_a3_nl\":\"CHE\",\"adm0_a3_se\":\"CHE\",\"adm0_a3_bd\":\"CHE\",\"adm0_a3_ua\":\"CHE\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Europe\",\"region_un\":\"Europe\",\"subregion\":\"Western Europe\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":11,\"long_len\":11,\"abbrev_len\":6,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":7.463965,\"label_y\":46.719114,\"ne_id\":1159320491,\"wikidataid\":\"Q39\",\"name_ar\":\"سويسرا\",\"name_bn\":\"সুইজারল্যান্ড\",\"name_de\":\"Schweiz\",\"name_en\":\"Switzerland\",\"name_es\":\"Suiza\",\"name_fa\":\"سوئیس\",\"name_fr\":\"Suisse\",\"name_el\":\"Ελβετία\",\"name_he\":\"שווייץ\",\"name_hi\":\"स्विट्ज़रलैण्ड\",\"name_hu\":\"Svájc\",\"name_id\":\"Swiss\",\"name_it\":\"Svizzera\",\"name_ja\":\"スイス\",\"name_ko\":\"스위스\",\"name_nl\":\"Zwitserland\",\"name_pl\":\"Szwajcaria\",\"name_pt\":\"Suíça\",\"name_ru\":\"Швейцария\",\"name_sv\":\"Schweiz\",\"name_tr\":\"İsviçre\",\"name_uk\":\"Швейцарія\",\"name_ur\":\"سویٹزرلینڈ\",\"name_vi\":\"Thụy Sĩ\",\"name_zh\":\"瑞士\",\"name_zht\":\"瑞士\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"CHE.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[9.59422610844635,47.52505809182027],[9.632931756232978,47.34760122332999],[9.479969516649021,47.102809963563374],[9.932448357796659,46.92072805438296],[10.44270145024663,46.89354625099743],[10.363378126678612,46.48357127540986],[9.922836541390382,46.31489940040919],[9.182881707403055,46.44021474871698],[8.966305779667806,46.03693187111119],[8.489952426801324,46.005150865251686],[8.31662967289438,46.16364248309086],[7.755992058959833,45.82449005795931],[7.273850945676656,45.776947740250776],[6.843592970414505,45.99114655210061],[6.500099724970426,46.42967275652944],[6.022609490593538,46.27298981382047],[6.037388950229001,46.725778713561866],[6.768713820023606,47.2877082383037],[6.736571079138059,47.541801255882845],[7.192202182655507,47.44976552997102],[7.466759067422231,47.62058197691181],[8.317301466514095,47.61357982033627],[8.522611932009767,47.83082754169129],[9.59422610844635,47.52505809182027]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":5,\"sovereignt\":\"Netherlands\",\"sov_a3\":\"NL1\",\"adm0_dif\":1,\"level\":2,\"type\":\"Country\",\"tlc\":\"1\",\"admin\":\"Netherlands\",\"adm0_a3\":\"NLD\",\"geou_dif\":0,\"geounit\":\"Netherlands\",\"gu_a3\":\"NLD\",\"su_dif\":0,\"subunit\":\"Netherlands\",\"su_a3\":\"NLD\",\"brk_diff\":0,\"name\":\"Netherlands\",\"name_long\":\"Netherlands\",\"brk_a3\":\"NLD\",\"brk_name\":\"Netherlands\",\"brk_group\":null,\"abbrev\":\"Neth.\",\"postal\":\"NL\",\"formal_en\":\"Kingdom of the Netherlands\",\"formal_fr\":null,\"name_ciawf\":\"Netherlands\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Netherlands\",\"name_alt\":null,\"mapcolor7\":4,\"mapcolor8\":2,\"mapcolor9\":2,\"mapcolor13\":9,\"pop_est\":17332850,\"pop_rank\":14,\"pop_year\":2019,\"gdp_md\":907050,\"gdp_year\":2019,\"economy\":\"2. Developed region: nonG7\",\"income_grp\":\"1. High income: OECD\",\"fips_10\":\"NL\",\"iso_a2\":\"NL\",\"iso_a2_eh\":\"NL\",\"iso_a3\":\"NLD\",\"iso_a3_eh\":\"NLD\",\"iso_n3\":\"528\",\"iso_n3_eh\":\"528\",\"un_a3\":\"528\",\"wb_a2\":\"NL\",\"wb_a3\":\"NLD\",\"woe_id\":-90,\"woe_id_eh\":23424909,\"woe_note\":\"Doesn't include new former units of Netherlands Antilles (24549811, 24549808, and 24549809)\",\"adm0_iso\":\"NLD\",\"adm0_diff\":null,\"adm0_tlc\":\"NLD\",\"adm0_a3_us\":\"NLD\",\"adm0_a3_fr\":\"NLD\",\"adm0_a3_ru\":\"NLD\",\"adm0_a3_es\":\"NLD\",\"adm0_a3_cn\":\"NLD\",\"adm0_a3_tw\":\"NLD\",\"adm0_a3_in\":\"NLD\",\"adm0_a3_np\":\"NLD\",\"adm0_a3_pk\":\"NLD\",\"adm0_a3_de\":\"NLD\",\"adm0_a3_gb\":\"NLD\",\"adm0_a3_br\":\"NLD\",\"adm0_a3_il\":\"NLD\",\"adm0_a3_ps\":\"NLD\",\"adm0_a3_sa\":\"NLD\",\"adm0_a3_eg\":\"NLD\",\"adm0_a3_ma\":\"NLD\",\"adm0_a3_pt\":\"NLD\",\"adm0_a3_ar\":\"NLD\",\"adm0_a3_jp\":\"NLD\",\"adm0_a3_ko\":\"NLD\",\"adm0_a3_vn\":\"NLD\",\"adm0_a3_tr\":\"NLD\",\"adm0_a3_id\":\"NLD\",\"adm0_a3_pl\":\"NLD\",\"adm0_a3_gr\":\"NLD\",\"adm0_a3_it\":\"NLD\",\"adm0_a3_nl\":\"NLD\",\"adm0_a3_se\":\"NLD\",\"adm0_a3_bd\":\"NLD\",\"adm0_a3_ua\":\"NLD\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Europe\",\"region_un\":\"Europe\",\"subregion\":\"Western Europe\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":11,\"long_len\":11,\"abbrev_len\":5,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":10,\"label_x\":5.61144,\"label_y\":52.422211,\"ne_id\":1159321101,\"wikidataid\":\"Q55\",\"name_ar\":\"هولندا\",\"name_bn\":\"নেদারল্যান্ডস\",\"name_de\":\"Niederlande\",\"name_en\":\"Netherlands\",\"name_es\":\"Países Bajos\",\"name_fa\":\"هلند\",\"name_fr\":\"Pays-Bas\",\"name_el\":\"Ολλανδία\",\"name_he\":\"הולנד\",\"name_hi\":\"नीदरलैण्ड\",\"name_hu\":\"Hollandia\",\"name_id\":\"Belanda\",\"name_it\":\"Paesi Bassi\",\"name_ja\":\"オランダ\",\"name_ko\":\"네덜란드\",\"name_nl\":\"Nederland\",\"name_pl\":\"Holandia\",\"name_pt\":\"Países Baixos\",\"name_ru\":\"Нидерланды\",\"name_sv\":\"Nederländerna\",\"name_tr\":\"Hollanda\",\"name_uk\":\"Нідерланди\",\"name_ur\":\"نیدرلینڈز\",\"name_vi\":\"Hà Lan\",\"name_zh\":\"荷兰\",\"name_zht\":\"荷蘭\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"NLD.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[6.905139601274129,53.48216217713065],[7.092053256873896,53.144043280644894],[6.842869500362383,52.22844025329755],[6.589396599970826,51.852029120483394],[5.988658074577813,51.851615709025054],[6.15665815595878,50.80372101501058],[5.606975945670001,51.03729848896978],[4.973991326526914,51.47502370869813],[4.047071160507528,51.26725861266857],[3.314971144228537,51.34575511331991],[3.31501148496416,51.34577662473805],[3.830288527043137,51.62054454203195],[4.705997348661185,53.091798407597764],[6.074182570020923,53.510403347378144],[6.905139601274129,53.48216217713065]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":5,\"sovereignt\":\"Republic of Serbia\",\"sov_a3\":\"SRB\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Republic of Serbia\",\"adm0_a3\":\"SRB\",\"geou_dif\":0,\"geounit\":\"Republic of Serbia\",\"gu_a3\":\"SRB\",\"su_dif\":0,\"subunit\":\"Republic of Serbia\",\"su_a3\":\"SRB\",\"brk_diff\":0,\"name\":\"Serbia\",\"name_long\":\"Serbia\",\"brk_a3\":\"SRB\",\"brk_name\":\"Serbia\",\"brk_group\":null,\"abbrev\":\"Serb.\",\"postal\":\"RS\",\"formal_en\":\"Republic of Serbia\",\"formal_fr\":null,\"name_ciawf\":\"Serbia\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Serbia\",\"name_alt\":null,\"mapcolor7\":3,\"mapcolor8\":3,\"mapcolor9\":2,\"mapcolor13\":10,\"pop_est\":6944975,\"pop_rank\":13,\"pop_year\":2019,\"gdp_md\":51475,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"RI\",\"iso_a2\":\"RS\",\"iso_a2_eh\":\"RS\",\"iso_a3\":\"SRB\",\"iso_a3_eh\":\"SRB\",\"iso_n3\":\"688\",\"iso_n3_eh\":\"688\",\"un_a3\":\"688\",\"wb_a2\":\"YF\",\"wb_a3\":\"SRB\",\"woe_id\":-90,\"woe_id_eh\":20069818,\"woe_note\":\"Expired WOE also contains Kosovo.\",\"adm0_iso\":\"SRB\",\"adm0_diff\":null,\"adm0_tlc\":\"SRB\",\"adm0_a3_us\":\"SRB\",\"adm0_a3_fr\":\"SRB\",\"adm0_a3_ru\":\"SRB\",\"adm0_a3_es\":\"SRB\",\"adm0_a3_cn\":\"SRB\",\"adm0_a3_tw\":\"SRB\",\"adm0_a3_in\":\"SRB\",\"adm0_a3_np\":\"SRB\",\"adm0_a3_pk\":\"SRB\",\"adm0_a3_de\":\"SRB\",\"adm0_a3_gb\":\"SRB\",\"adm0_a3_br\":\"SRB\",\"adm0_a3_il\":\"SRB\",\"adm0_a3_ps\":\"SRB\",\"adm0_a3_sa\":\"SRB\",\"adm0_a3_eg\":\"SRB\",\"adm0_a3_ma\":\"SRB\",\"adm0_a3_pt\":\"SRB\",\"adm0_a3_ar\":\"SRB\",\"adm0_a3_jp\":\"SRB\",\"adm0_a3_ko\":\"SRB\",\"adm0_a3_vn\":\"SRB\",\"adm0_a3_tr\":\"SRB\",\"adm0_a3_id\":\"SRB\",\"adm0_a3_pl\":\"SRB\",\"adm0_a3_gr\":\"SRB\",\"adm0_a3_it\":\"SRB\",\"adm0_a3_nl\":\"SRB\",\"adm0_a3_se\":\"SRB\",\"adm0_a3_bd\":\"SRB\",\"adm0_a3_ua\":\"SRB\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Europe\",\"region_un\":\"Europe\",\"subregion\":\"Southern Europe\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":6,\"long_len\":6,\"abbrev_len\":5,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":7,\"label_x\":20.787989,\"label_y\":44.189919,\"ne_id\":1159321267,\"wikidataid\":\"Q403\",\"name_ar\":\"صربيا\",\"name_bn\":\"সার্বিয়া\",\"name_de\":\"Serbien\",\"name_en\":\"Serbia\",\"name_es\":\"Serbia\",\"name_fa\":\"صربستان\",\"name_fr\":\"Serbie\",\"name_el\":\"Σερβία\",\"name_he\":\"סרביה\",\"name_hi\":\"सर्बिया\",\"name_hu\":\"Szerbia\",\"name_id\":\"Serbia\",\"name_it\":\"Serbia\",\"name_ja\":\"セルビア\",\"name_ko\":\"세르비아\",\"name_nl\":\"Servië\",\"name_pl\":\"Serbia\",\"name_pt\":\"Sérvia\",\"name_ru\":\"Сербия\",\"name_sv\":\"Serbien\",\"name_tr\":\"Sırbistan\",\"name_uk\":\"Сербія\",\"name_ur\":\"سربیا\",\"name_vi\":\"Serbia\",\"name_zh\":\"塞尔维亚\",\"name_zht\":\"塞爾維亞\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"SRB.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[18.829824792873946,45.908872358025285],[18.82983808764996,45.90887767189193],[19.596044549241583,46.17172984474454],[20.220192498462836,46.127468980486555],[20.762174920339987,45.734573065771485],[20.874312778413355,45.416375433934235],[21.48352623870221,45.18117015235788],[21.56202273935361,44.7689472519655],[22.14508792490281,44.47842234962059],[22.459022251075936,44.7025171982543],[22.705725538837356,44.57800283464702],[22.4740084164406,44.40922760678177],[22.65714969248299,44.23492300066128],[22.410446404721597,44.008063462899955],[22.500156691180223,43.642814439461006],[22.986018507588483,43.2111612005271],[22.60480146657133,42.898518785161144],[22.43659467946128,42.580321153323936],[22.54501183440962,42.46136200618804],[22.380525750424592,42.32025950781509],[21.917080000000112,42.30364],[21.57663598940212,42.24522439706186],[21.54332,42.3202500000001],[21.66292,42.43922],[21.77505,42.6827],[21.63302,42.67717],[21.43866,42.86255],[21.27421,42.90959],[21.143395,43.06868500000013],[20.95651,43.13094],[20.81448,43.27205],[20.63508,43.21671],[20.49679,42.88469],[20.25758,42.81275000000011],[20.3398,42.89852],[19.95857,43.10604],[19.63,43.21377997027054],[19.48389,43.35229],[19.21852,43.52384],[19.454,43.56810000000013],[19.59976,44.03847],[19.11761,44.42307000000011],[19.36803,44.863],[19.00548,44.86023],[19.005484597557594,44.86023449354299],[19.39047570158459,45.236515611342384],[19.072768995854176,45.52151113543209],[18.829824792873946,45.908872358025285]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":6,\"sovereignt\":\"Croatia\",\"sov_a3\":\"HRV\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Croatia\",\"adm0_a3\":\"HRV\",\"geou_dif\":0,\"geounit\":\"Croatia\",\"gu_a3\":\"HRV\",\"su_dif\":0,\"subunit\":\"Croatia\",\"su_a3\":\"HRV\",\"brk_diff\":0,\"name\":\"Croatia\",\"name_long\":\"Croatia\",\"brk_a3\":\"HRV\",\"brk_name\":\"Croatia\",\"brk_group\":null,\"abbrev\":\"Cro.\",\"postal\":\"HR\",\"formal_en\":\"Republic of Croatia\",\"formal_fr\":null,\"name_ciawf\":\"Croatia\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Croatia\",\"name_alt\":null,\"mapcolor7\":5,\"mapcolor8\":4,\"mapcolor9\":5,\"mapcolor13\":1,\"pop_est\":4067500,\"pop_rank\":12,\"pop_year\":2019,\"gdp_md\":60752,\"gdp_year\":2019,\"economy\":\"2. Developed region: nonG7\",\"income_grp\":\"2. High income: nonOECD\",\"fips_10\":\"HR\",\"iso_a2\":\"HR\",\"iso_a2_eh\":\"HR\",\"iso_a3\":\"HRV\",\"iso_a3_eh\":\"HRV\",\"iso_n3\":\"191\",\"iso_n3_eh\":\"191\",\"un_a3\":\"191\",\"wb_a2\":\"HR\",\"wb_a3\":\"HRV\",\"woe_id\":23424843,\"woe_id_eh\":23424843,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"HRV\",\"adm0_diff\":null,\"adm0_tlc\":\"HRV\",\"adm0_a3_us\":\"HRV\",\"adm0_a3_fr\":\"HRV\",\"adm0_a3_ru\":\"HRV\",\"adm0_a3_es\":\"HRV\",\"adm0_a3_cn\":\"HRV\",\"adm0_a3_tw\":\"HRV\",\"adm0_a3_in\":\"HRV\",\"adm0_a3_np\":\"HRV\",\"adm0_a3_pk\":\"HRV\",\"adm0_a3_de\":\"HRV\",\"adm0_a3_gb\":\"HRV\",\"adm0_a3_br\":\"HRV\",\"adm0_a3_il\":\"HRV\",\"adm0_a3_ps\":\"HRV\",\"adm0_a3_sa\":\"HRV\",\"adm0_a3_eg\":\"HRV\",\"adm0_a3_ma\":\"HRV\",\"adm0_a3_pt\":\"HRV\",\"adm0_a3_ar\":\"HRV\",\"adm0_a3_jp\":\"HRV\",\"adm0_a3_ko\":\"HRV\",\"adm0_a3_vn\":\"HRV\",\"adm0_a3_tr\":\"HRV\",\"adm0_a3_id\":\"HRV\",\"adm0_a3_pl\":\"HRV\",\"adm0_a3_gr\":\"HRV\",\"adm0_a3_it\":\"HRV\",\"adm0_a3_nl\":\"HRV\",\"adm0_a3_se\":\"HRV\",\"adm0_a3_bd\":\"HRV\",\"adm0_a3_ua\":\"HRV\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Europe\",\"region_un\":\"Europe\",\"subregion\":\"Southern Europe\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":7,\"long_len\":7,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":16.37241,\"label_y\":45.805799,\"ne_id\":1159320833,\"wikidataid\":\"Q224\",\"name_ar\":\"كرواتيا\",\"name_bn\":\"ক্রোয়েশিয়া\",\"name_de\":\"Kroatien\",\"name_en\":\"Croatia\",\"name_es\":\"Croacia\",\"name_fa\":\"کرواسی\",\"name_fr\":\"Croatie\",\"name_el\":\"Κροατία\",\"name_he\":\"קרואטיה\",\"name_hi\":\"क्रोएशिया\",\"name_hu\":\"Horvátország\",\"name_id\":\"Kroasia\",\"name_it\":\"Croazia\",\"name_ja\":\"クロアチア\",\"name_ko\":\"크로아티아\",\"name_nl\":\"Kroatië\",\"name_pl\":\"Chorwacja\",\"name_pt\":\"Croácia\",\"name_ru\":\"Хорватия\",\"name_sv\":\"Kroatien\",\"name_tr\":\"Hırvatistan\",\"name_uk\":\"Хорватія\",\"name_ur\":\"کروشیا\",\"name_vi\":\"Croatia\",\"name_zh\":\"克罗地亚\",\"name_zht\":\"克羅地亞\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"HRV.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[16.564808383864857,46.50375092221983],[16.8825150895953,46.38063182228444],[17.630066359129557,45.95176911069419],[18.45606245288286,45.75948110613615],[18.829824792873946,45.908872358025285],[19.072768995854176,45.52151113543209],[19.39047570158459,45.236515611342384],[19.005484597557594,44.86023449354299],[18.553214145591653,45.08158966733146],[17.861783481526402,45.067740383477144],[17.002146030351014,45.23377676043094],[16.534939406000206,45.21160757097772],[16.318156772535872,45.00412669532591],[15.959367303133376,45.23377676043094],[15.750026075918981,44.818711656262565],[16.23966027188453,44.35114329688571],[16.456442905348865,44.04123973243128],[16.91615644701733,43.66772247982567],[17.297373488034452,43.44634064388737],[17.674921502358984,43.02856252702361],[18.56,42.65],[18.45001688302086,42.47999224531218],[18.450016310304818,42.47999136002932],[17.509970330483327,42.849994615239154],[16.930005730871642,43.20999848080038],[16.015384555737683,43.50721548112722],[15.174453973052096,44.243191229827914],[15.376250441151797,44.31791535092208],[14.92030927904051,44.73848399512946],[14.901602410550879,45.07606028907611],[14.258747592839995,45.23377676043094],[13.952254672917036,44.80212352149687],[13.656975538801191,45.13693512631596],[13.67940311041582,45.48414907488501],[13.715059848697223,45.500323798192376],[14.411968214585414,45.46616567644746],[14.595109490627806,45.634940904312714],[14.935243767972935,45.471695054702685],[15.327674594797429,45.45231639259333],[15.323953891672405,45.73178253842768],[15.671529575267556,45.83415355079788],[15.768732944408553,46.23810822202345],[16.564808383864857,46.50375092221983]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":6,\"sovereignt\":\"Slovenia\",\"sov_a3\":\"SVN\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Slovenia\",\"adm0_a3\":\"SVN\",\"geou_dif\":0,\"geounit\":\"Slovenia\",\"gu_a3\":\"SVN\",\"su_dif\":0,\"subunit\":\"Slovenia\",\"su_a3\":\"SVN\",\"brk_diff\":0,\"name\":\"Slovenia\",\"name_long\":\"Slovenia\",\"brk_a3\":\"SVN\",\"brk_name\":\"Slovenia\",\"brk_group\":null,\"abbrev\":\"Slo.\",\"postal\":\"SLO\",\"formal_en\":\"Republic of Slovenia\",\"formal_fr\":null,\"name_ciawf\":\"Slovenia\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Slovenia\",\"name_alt\":null,\"mapcolor7\":2,\"mapcolor8\":3,\"mapcolor9\":2,\"mapcolor13\":12,\"pop_est\":2087946,\"pop_rank\":12,\"pop_year\":2019,\"gdp_md\":54174,\"gdp_year\":2019,\"economy\":\"2. Developed region: nonG7\",\"income_grp\":\"1. High income: OECD\",\"fips_10\":\"SI\",\"iso_a2\":\"SI\",\"iso_a2_eh\":\"SI\",\"iso_a3\":\"SVN\",\"iso_a3_eh\":\"SVN\",\"iso_n3\":\"705\",\"iso_n3_eh\":\"705\",\"un_a3\":\"705\",\"wb_a2\":\"SI\",\"wb_a3\":\"SVN\",\"woe_id\":23424945,\"woe_id_eh\":23424945,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"SVN\",\"adm0_diff\":null,\"adm0_tlc\":\"SVN\",\"adm0_a3_us\":\"SVN\",\"adm0_a3_fr\":\"SVN\",\"adm0_a3_ru\":\"SVN\",\"adm0_a3_es\":\"SVN\",\"adm0_a3_cn\":\"SVN\",\"adm0_a3_tw\":\"SVN\",\"adm0_a3_in\":\"SVN\",\"adm0_a3_np\":\"SVN\",\"adm0_a3_pk\":\"SVN\",\"adm0_a3_de\":\"SVN\",\"adm0_a3_gb\":\"SVN\",\"adm0_a3_br\":\"SVN\",\"adm0_a3_il\":\"SVN\",\"adm0_a3_ps\":\"SVN\",\"adm0_a3_sa\":\"SVN\",\"adm0_a3_eg\":\"SVN\",\"adm0_a3_ma\":\"SVN\",\"adm0_a3_pt\":\"SVN\",\"adm0_a3_ar\":\"SVN\",\"adm0_a3_jp\":\"SVN\",\"adm0_a3_ko\":\"SVN\",\"adm0_a3_vn\":\"SVN\",\"adm0_a3_tr\":\"SVN\",\"adm0_a3_id\":\"SVN\",\"adm0_a3_pl\":\"SVN\",\"adm0_a3_gr\":\"SVN\",\"adm0_a3_it\":\"SVN\",\"adm0_a3_nl\":\"SVN\",\"adm0_a3_se\":\"SVN\",\"adm0_a3_bd\":\"SVN\",\"adm0_a3_ua\":\"SVN\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Europe\",\"region_un\":\"Europe\",\"subregion\":\"Southern Europe\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":8,\"long_len\":8,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":5,\"max_label\":10,\"label_x\":14.915312,\"label_y\":46.06076,\"ne_id\":1159321285,\"wikidataid\":\"Q215\",\"name_ar\":\"سلوفينيا\",\"name_bn\":\"স্লোভেনিয়া\",\"name_de\":\"Slowenien\",\"name_en\":\"Slovenia\",\"name_es\":\"Eslovenia\",\"name_fa\":\"اسلوونی\",\"name_fr\":\"Slovénie\",\"name_el\":\"Σλοβενία\",\"name_he\":\"סלובניה\",\"name_hi\":\"स्लोवेनिया\",\"name_hu\":\"Szlovénia\",\"name_id\":\"Slovenia\",\"name_it\":\"Slovenia\",\"name_ja\":\"スロベニア\",\"name_ko\":\"슬로베니아\",\"name_nl\":\"Slovenië\",\"name_pl\":\"Słowenia\",\"name_pt\":\"Eslovénia\",\"name_ru\":\"Словения\",\"name_sv\":\"Slovenien\",\"name_tr\":\"Slovenya\",\"name_uk\":\"Словенія\",\"name_ur\":\"سلووینیا\",\"name_vi\":\"Slovenia\",\"name_zh\":\"斯洛文尼亚\",\"name_zht\":\"斯洛維尼亞\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"SVN.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[13.806475457421527,46.509306138691215],[14.63247155117483,46.43181732846955],[15.137091912504985,46.65870270444703],[16.011663852612656,46.6836107448117],[16.202298211337364,46.85238597267696],[16.370504998447416,46.841327216166505],[16.564808383864857,46.50375092221983],[15.768732944408553,46.23810822202345],[15.671529575267556,45.83415355079788],[15.323953891672405,45.73178253842768],[15.327674594797429,45.45231639259333],[14.935243767972935,45.471695054702685],[14.595109490627806,45.634940904312714],[14.411968214585414,45.46616567644746],[13.715059848697223,45.500323798192376],[13.937630242578308,45.59101593686462],[13.698109978905478,46.01677806251735],[13.806475457421527,46.509306138691215]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":4,\"sovereignt\":\"Bulgaria\",\"sov_a3\":\"BGR\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Bulgaria\",\"adm0_a3\":\"BGR\",\"geou_dif\":0,\"geounit\":\"Bulgaria\",\"gu_a3\":\"BGR\",\"su_dif\":0,\"subunit\":\"Bulgaria\",\"su_a3\":\"BGR\",\"brk_diff\":0,\"name\":\"Bulgaria\",\"name_long\":\"Bulgaria\",\"brk_a3\":\"BGR\",\"brk_name\":\"Bulgaria\",\"brk_group\":null,\"abbrev\":\"Bulg.\",\"postal\":\"BG\",\"formal_en\":\"Republic of Bulgaria\",\"formal_fr\":null,\"name_ciawf\":\"Bulgaria\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Bulgaria\",\"name_alt\":null,\"mapcolor7\":4,\"mapcolor8\":5,\"mapcolor9\":1,\"mapcolor13\":8,\"pop_est\":6975761,\"pop_rank\":13,\"pop_year\":2019,\"gdp_md\":68558,\"gdp_year\":2019,\"economy\":\"2. Developed region: nonG7\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"BU\",\"iso_a2\":\"BG\",\"iso_a2_eh\":\"BG\",\"iso_a3\":\"BGR\",\"iso_a3_eh\":\"BGR\",\"iso_n3\":\"100\",\"iso_n3_eh\":\"100\",\"un_a3\":\"100\",\"wb_a2\":\"BG\",\"wb_a3\":\"BGR\",\"woe_id\":23424771,\"woe_id_eh\":23424771,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"BGR\",\"adm0_diff\":null,\"adm0_tlc\":\"BGR\",\"adm0_a3_us\":\"BGR\",\"adm0_a3_fr\":\"BGR\",\"adm0_a3_ru\":\"BGR\",\"adm0_a3_es\":\"BGR\",\"adm0_a3_cn\":\"BGR\",\"adm0_a3_tw\":\"BGR\",\"adm0_a3_in\":\"BGR\",\"adm0_a3_np\":\"BGR\",\"adm0_a3_pk\":\"BGR\",\"adm0_a3_de\":\"BGR\",\"adm0_a3_gb\":\"BGR\",\"adm0_a3_br\":\"BGR\",\"adm0_a3_il\":\"BGR\",\"adm0_a3_ps\":\"BGR\",\"adm0_a3_sa\":\"BGR\",\"adm0_a3_eg\":\"BGR\",\"adm0_a3_ma\":\"BGR\",\"adm0_a3_pt\":\"BGR\",\"adm0_a3_ar\":\"BGR\",\"adm0_a3_jp\":\"BGR\",\"adm0_a3_ko\":\"BGR\",\"adm0_a3_vn\":\"BGR\",\"adm0_a3_tr\":\"BGR\",\"adm0_a3_id\":\"BGR\",\"adm0_a3_pl\":\"BGR\",\"adm0_a3_gr\":\"BGR\",\"adm0_a3_it\":\"BGR\",\"adm0_a3_nl\":\"BGR\",\"adm0_a3_se\":\"BGR\",\"adm0_a3_bd\":\"BGR\",\"adm0_a3_ua\":\"BGR\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Europe\",\"region_un\":\"Europe\",\"subregion\":\"Eastern Europe\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":8,\"long_len\":8,\"abbrev_len\":5,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":25.15709,\"label_y\":42.508785,\"ne_id\":1159320409,\"wikidataid\":\"Q219\",\"name_ar\":\"بلغاريا\",\"name_bn\":\"বুলগেরিয়া\",\"name_de\":\"Bulgarien\",\"name_en\":\"Bulgaria\",\"name_es\":\"Bulgaria\",\"name_fa\":\"بلغارستان\",\"name_fr\":\"Bulgarie\",\"name_el\":\"Βουλγαρία\",\"name_he\":\"בולגריה\",\"name_hi\":\"बुल्गारिया\",\"name_hu\":\"Bulgária\",\"name_id\":\"Bulgaria\",\"name_it\":\"Bulgaria\",\"name_ja\":\"ブルガリア\",\"name_ko\":\"불가리아\",\"name_nl\":\"Bulgarije\",\"name_pl\":\"Bułgaria\",\"name_pt\":\"Bulgária\",\"name_ru\":\"Болгария\",\"name_sv\":\"Bulgarien\",\"name_tr\":\"Bulgaristan\",\"name_uk\":\"Болгарія\",\"name_ur\":\"بلغاریہ\",\"name_vi\":\"Bulgaria\",\"name_zh\":\"保加利亚\",\"name_zht\":\"保加利亞\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"BGR.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[22.65714969248299,44.23492300066128],[22.944832391051847,43.82378530534713],[23.332302280376325,43.897010809904714],[24.100679152124172,43.74105133724785],[25.569271681426926,43.68844472917472],[26.065158725699746,43.94349376075127],[27.242399529740908,44.175986029632405],[27.970107049275075,43.81246816667522],[28.558081495891997,43.70746165625813],[28.03909508638472,43.293171698574184],[27.67389773937805,42.57789236100622],[27.99672041190539,42.00735871028779],[27.13573937349048,42.14148489030134],[26.1170418637208,41.82690460872456],[26.106138136507127,41.32889883072784],[25.197201368925448,41.23448598893053],[24.492644891057978,41.58389618587205],[23.692073601992348,41.309080918943856],[22.952377150166452,41.33799388281115],[22.881373732197346,41.999297186850356],[22.380525750424592,42.32025950781509],[22.54501183440962,42.46136200618804],[22.43659467946128,42.580321153323936],[22.60480146657133,42.898518785161144],[22.986018507588483,43.2111612005271],[22.500156691180223,43.642814439461006],[22.410446404721597,44.008063462899955],[22.65714969248299,44.23492300066128]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":6,\"sovereignt\":\"Montenegro\",\"sov_a3\":\"MNE\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Montenegro\",\"adm0_a3\":\"MNE\",\"geou_dif\":0,\"geounit\":\"Montenegro\",\"gu_a3\":\"MNE\",\"su_dif\":0,\"subunit\":\"Montenegro\",\"su_a3\":\"MNE\",\"brk_diff\":0,\"name\":\"Montenegro\",\"name_long\":\"Montenegro\",\"brk_a3\":\"MNE\",\"brk_name\":\"Montenegro\",\"brk_group\":null,\"abbrev\":\"Mont.\",\"postal\":\"ME\",\"formal_en\":\"Montenegro\",\"formal_fr\":null,\"name_ciawf\":\"Montenegro\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Montenegro\",\"name_alt\":null,\"mapcolor7\":4,\"mapcolor8\":1,\"mapcolor9\":4,\"mapcolor13\":5,\"pop_est\":622137,\"pop_rank\":11,\"pop_year\":2019,\"gdp_md\":5542,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"MJ\",\"iso_a2\":\"ME\",\"iso_a2_eh\":\"ME\",\"iso_a3\":\"MNE\",\"iso_a3_eh\":\"MNE\",\"iso_n3\":\"499\",\"iso_n3_eh\":\"499\",\"un_a3\":\"499\",\"wb_a2\":\"ME\",\"wb_a3\":\"MNE\",\"woe_id\":20069817,\"woe_id_eh\":20069817,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"MNE\",\"adm0_diff\":null,\"adm0_tlc\":\"MNE\",\"adm0_a3_us\":\"MNE\",\"adm0_a3_fr\":\"MNE\",\"adm0_a3_ru\":\"MNE\",\"adm0_a3_es\":\"MNE\",\"adm0_a3_cn\":\"MNE\",\"adm0_a3_tw\":\"MNE\",\"adm0_a3_in\":\"MNE\",\"adm0_a3_np\":\"MNE\",\"adm0_a3_pk\":\"MNE\",\"adm0_a3_de\":\"MNE\",\"adm0_a3_gb\":\"MNE\",\"adm0_a3_br\":\"MNE\",\"adm0_a3_il\":\"MNE\",\"adm0_a3_ps\":\"MNE\",\"adm0_a3_sa\":\"MNE\",\"adm0_a3_eg\":\"MNE\",\"adm0_a3_ma\":\"MNE\",\"adm0_a3_pt\":\"MNE\",\"adm0_a3_ar\":\"MNE\",\"adm0_a3_jp\":\"MNE\",\"adm0_a3_ko\":\"MNE\",\"adm0_a3_vn\":\"MNE\",\"adm0_a3_tr\":\"MNE\",\"adm0_a3_id\":\"MNE\",\"adm0_a3_pl\":\"MNE\",\"adm0_a3_gr\":\"MNE\",\"adm0_a3_it\":\"MNE\",\"adm0_a3_nl\":\"MNE\",\"adm0_a3_se\":\"MNE\",\"adm0_a3_bd\":\"MNE\",\"adm0_a3_ua\":\"MNE\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Europe\",\"region_un\":\"Europe\",\"subregion\":\"Southern Europe\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":10,\"long_len\":10,\"abbrev_len\":5,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":5,\"max_label\":10,\"label_x\":19.143727,\"label_y\":42.803101,\"ne_id\":1159321069,\"wikidataid\":\"Q236\",\"name_ar\":\"الجبل الأسود\",\"name_bn\":\"মন্টিনিগ্রো\",\"name_de\":\"Montenegro\",\"name_en\":\"Montenegro\",\"name_es\":\"Montenegro\",\"name_fa\":\"مونتهنگرو\",\"name_fr\":\"Monténégro\",\"name_el\":\"Μαυροβούνιο\",\"name_he\":\"מונטנגרו\",\"name_hi\":\"मॉन्टेनीग्रो\",\"name_hu\":\"Montenegró\",\"name_id\":\"Montenegro\",\"name_it\":\"Montenegro\",\"name_ja\":\"モンテネグロ\",\"name_ko\":\"몬테네그로\",\"name_nl\":\"Montenegro\",\"name_pl\":\"Czarnogóra\",\"name_pt\":\"Montenegro\",\"name_ru\":\"Черногория\",\"name_sv\":\"Montenegro\",\"name_tr\":\"Karadağ\",\"name_uk\":\"Чорногорія\",\"name_ur\":\"مونٹینیگرو\",\"name_vi\":\"Montenegro\",\"name_zh\":\"黑山\",\"name_zht\":\"蒙特內哥羅\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"MNE.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[20.0707,42.58863],[19.801613396898688,42.50009349219084],[19.73805138517963,42.68824738216557],[19.304486118250793,42.19574514420782],[19.37176816334725,41.877550679783496],[19.16246,41.95502],[18.88214,42.28151],[18.45001688302086,42.47999224531218],[18.56,42.65],[18.70648,43.20011],[19.03165,43.43253],[19.21852,43.52384],[19.48389,43.35229],[19.63,43.21377997027054],[19.95857,43.10604],[20.3398,42.89852],[20.25758,42.81275000000011],[20.0707,42.58863]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":5,\"sovereignt\":\"Bosnia and Herzegovina\",\"sov_a3\":\"BIH\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Bosnia and Herzegovina\",\"adm0_a3\":\"BIH\",\"geou_dif\":0,\"geounit\":\"Bosnia and Herzegovina\",\"gu_a3\":\"BIH\",\"su_dif\":0,\"subunit\":\"Bosnia and Herzegovina\",\"su_a3\":\"BIH\",\"brk_diff\":0,\"name\":\"Bosnia and Herz.\",\"name_long\":\"Bosnia and Herzegovina\",\"brk_a3\":\"BIH\",\"brk_name\":\"Bosnia and Herz.\",\"brk_group\":null,\"abbrev\":\"B.H.\",\"postal\":\"BiH\",\"formal_en\":\"Bosnia and Herzegovina\",\"formal_fr\":null,\"name_ciawf\":\"Bosnia and Herzegovina\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Bosnia and Herzegovina\",\"name_alt\":null,\"mapcolor7\":1,\"mapcolor8\":1,\"mapcolor9\":1,\"mapcolor13\":2,\"pop_est\":3301000,\"pop_rank\":12,\"pop_year\":2019,\"gdp_md\":20164,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"3. Upper middle income\",\"fips_10\":\"BK\",\"iso_a2\":\"BA\",\"iso_a2_eh\":\"BA\",\"iso_a3\":\"BIH\",\"iso_a3_eh\":\"BIH\",\"iso_n3\":\"070\",\"iso_n3_eh\":\"070\",\"un_a3\":\"070\",\"wb_a2\":\"BA\",\"wb_a3\":\"BIH\",\"woe_id\":23424761,\"woe_id_eh\":23424761,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"BIH\",\"adm0_diff\":null,\"adm0_tlc\":\"BIH\",\"adm0_a3_us\":\"BIH\",\"adm0_a3_fr\":\"BIH\",\"adm0_a3_ru\":\"BIH\",\"adm0_a3_es\":\"BIH\",\"adm0_a3_cn\":\"BIH\",\"adm0_a3_tw\":\"BIH\",\"adm0_a3_in\":\"BIH\",\"adm0_a3_np\":\"BIH\",\"adm0_a3_pk\":\"BIH\",\"adm0_a3_de\":\"BIH\",\"adm0_a3_gb\":\"BIH\",\"adm0_a3_br\":\"BIH\",\"adm0_a3_il\":\"BIH\",\"adm0_a3_ps\":\"BIH\",\"adm0_a3_sa\":\"BIH\",\"adm0_a3_eg\":\"BIH\",\"adm0_a3_ma\":\"BIH\",\"adm0_a3_pt\":\"BIH\",\"adm0_a3_ar\":\"BIH\",\"adm0_a3_jp\":\"BIH\",\"adm0_a3_ko\":\"BIH\",\"adm0_a3_vn\":\"BIH\",\"adm0_a3_tr\":\"BIH\",\"adm0_a3_id\":\"BIH\",\"adm0_a3_pl\":\"BIH\",\"adm0_a3_gr\":\"BIH\",\"adm0_a3_it\":\"BIH\",\"adm0_a3_nl\":\"BIH\",\"adm0_a3_se\":\"BIH\",\"adm0_a3_bd\":\"BIH\",\"adm0_a3_ua\":\"BIH\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Europe\",\"region_un\":\"Europe\",\"subregion\":\"Southern Europe\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":16,\"long_len\":22,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4.5,\"max_label\":6.8,\"label_x\":18.06841,\"label_y\":44.091051,\"ne_id\":1159320417,\"wikidataid\":\"Q225\",\"name_ar\":\"البوسنة والهرسك\",\"name_bn\":\"বসনিয়া ও হার্জেগোভিনা\",\"name_de\":\"Bosnien und Herzegowina\",\"name_en\":\"Bosnia and Herzegovina\",\"name_es\":\"Bosnia y Herzegovina\",\"name_fa\":\"بوسنی و هرزگوین\",\"name_fr\":\"Bosnie-Herzégovine\",\"name_el\":\"Βοσνία και Ερζεγοβίνη\",\"name_he\":\"בוסניה והרצגובינה\",\"name_hi\":\"बॉस्निया और हर्ज़ेगोविना\",\"name_hu\":\"Bosznia-Hercegovina\",\"name_id\":\"Bosnia dan Herzegovina\",\"name_it\":\"Bosnia ed Erzegovina\",\"name_ja\":\"ボスニア・ヘルツェゴビナ\",\"name_ko\":\"보스니아 헤르체고비나\",\"name_nl\":\"Bosnië en Herzegovina\",\"name_pl\":\"Bośnia i Hercegowina\",\"name_pt\":\"Bósnia e Herzegovina\",\"name_ru\":\"Босния и Герцеговина\",\"name_sv\":\"Bosnien och Hercegovina\",\"name_tr\":\"Bosna-Hersek\",\"name_uk\":\"Боснія і Герцеговина\",\"name_ur\":\"بوسنیا و ہرزیگووینا\",\"name_vi\":\"Bosna và Hercegovina\",\"name_zh\":\"波斯尼亚和黑塞哥维那\",\"name_zht\":\"波士尼亞與赫塞哥維納\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"BIH.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[18.56,42.65],[17.674921502358984,43.02856252702361],[17.297373488034452,43.44634064388737],[16.91615644701733,43.66772247982567],[16.456442905348865,44.04123973243128],[16.23966027188453,44.35114329688571],[15.750026075918981,44.818711656262565],[15.959367303133376,45.23377676043094],[16.318156772535872,45.00412669532591],[16.534939406000206,45.21160757097772],[17.002146030351014,45.23377676043094],[17.861783481526402,45.067740383477144],[18.553214145591653,45.08158966733146],[19.005484597557594,44.86023449354299],[19.00548,44.86023],[19.36803,44.863],[19.11761,44.42307000000011],[19.59976,44.03847],[19.454,43.56810000000013],[19.21852,43.52384],[19.03165,43.43253],[18.70648,43.20011],[18.56,42.65]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":2,\"sovereignt\":\"Portugal\",\"sov_a3\":\"PRT\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Portugal\",\"adm0_a3\":\"PRT\",\"geou_dif\":0,\"geounit\":\"Portugal\",\"gu_a3\":\"PRT\",\"su_dif\":1,\"subunit\":\"Portugal\",\"su_a3\":\"PR1\",\"brk_diff\":0,\"name\":\"Portugal\",\"name_long\":\"Portugal\",\"brk_a3\":\"PR1\",\"brk_name\":\"Portugal\",\"brk_group\":null,\"abbrev\":\"Port.\",\"postal\":\"P\",\"formal_en\":\"Portuguese Republic\",\"formal_fr\":null,\"name_ciawf\":\"Portugal\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Portugal\",\"name_alt\":null,\"mapcolor7\":1,\"mapcolor8\":7,\"mapcolor9\":1,\"mapcolor13\":4,\"pop_est\":10269417,\"pop_rank\":14,\"pop_year\":2019,\"gdp_md\":238785,\"gdp_year\":2019,\"economy\":\"2. Developed region: nonG7\",\"income_grp\":\"1. High income: OECD\",\"fips_10\":\"PO\",\"iso_a2\":\"PT\",\"iso_a2_eh\":\"PT\",\"iso_a3\":\"PRT\",\"iso_a3_eh\":\"PRT\",\"iso_n3\":\"620\",\"iso_n3_eh\":\"620\",\"un_a3\":\"620\",\"wb_a2\":\"PT\",\"wb_a3\":\"PRT\",\"woe_id\":23424925,\"woe_id_eh\":23424925,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"PR1\",\"adm0_diff\":null,\"adm0_tlc\":\"PR1\",\"adm0_a3_us\":\"PRT\",\"adm0_a3_fr\":\"PRT\",\"adm0_a3_ru\":\"PRT\",\"adm0_a3_es\":\"PRT\",\"adm0_a3_cn\":\"PRT\",\"adm0_a3_tw\":\"PRT\",\"adm0_a3_in\":\"PRT\",\"adm0_a3_np\":\"PRT\",\"adm0_a3_pk\":\"PRT\",\"adm0_a3_de\":\"PRT\",\"adm0_a3_gb\":\"PRT\",\"adm0_a3_br\":\"PRT\",\"adm0_a3_il\":\"PRT\",\"adm0_a3_ps\":\"PRT\",\"adm0_a3_sa\":\"PRT\",\"adm0_a3_eg\":\"PRT\",\"adm0_a3_ma\":\"PRT\",\"adm0_a3_pt\":\"PRT\",\"adm0_a3_ar\":\"PRT\",\"adm0_a3_jp\":\"PRT\",\"adm0_a3_ko\":\"PRT\",\"adm0_a3_vn\":\"PRT\",\"adm0_a3_tr\":\"PRT\",\"adm0_a3_id\":\"PRT\",\"adm0_a3_pl\":\"PRT\",\"adm0_a3_gr\":\"PRT\",\"adm0_a3_it\":\"PRT\",\"adm0_a3_nl\":\"PRT\",\"adm0_a3_se\":\"PRT\",\"adm0_a3_bd\":\"PRT\",\"adm0_a3_ua\":\"PRT\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Europe\",\"region_un\":\"Europe\",\"subregion\":\"Southern Europe\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":8,\"long_len\":8,\"abbrev_len\":5,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":-8.271754,\"label_y\":39.606675,\"ne_id\":1159321187,\"wikidataid\":\"Q45\",\"name_ar\":\"البرتغال\",\"name_bn\":\"পর্তুগাল\",\"name_de\":\"Portugal\",\"name_en\":\"Portugal\",\"name_es\":\"Portugal\",\"name_fa\":\"پرتغال\",\"name_fr\":\"Portugal\",\"name_el\":\"Πορτογαλία\",\"name_he\":\"פורטוגל\",\"name_hi\":\"पुर्तगाल\",\"name_hu\":\"Portugália\",\"name_id\":\"Portugal\",\"name_it\":\"Portogallo\",\"name_ja\":\"ポルトガル\",\"name_ko\":\"포르투갈\",\"name_nl\":\"Portugal\",\"name_pl\":\"Portugalia\",\"name_pt\":\"Portugal\",\"name_ru\":\"Португалия\",\"name_sv\":\"Portugal\",\"name_tr\":\"Portekiz\",\"name_uk\":\"Португалія\",\"name_ur\":\"پرتگال\",\"name_vi\":\"Bồ Đào Nha\",\"name_zh\":\"葡萄牙\",\"name_zht\":\"葡萄牙\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"PRT.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-9.034817674180246,41.880570583659676],[-8.67194576662672,42.13468943945496],[-8.263856980817792,42.28046865495034],[-8.013174607769912,41.790886135417125],[-7.422512986673795,41.79207469335984],[-7.251308966490824,41.91834605566505],[-6.668605515967656,41.883386949219584],[-6.389087693700915,41.381815497394655],[-6.851126674822552,41.11108266861753],[-6.864019944679385,40.33087189387483],[-7.026413133156595,40.184524237624245],[-7.066591559263529,39.711891587882775],[-7.498632371439726,39.62957103124181],[-7.098036668313128,39.03007274022379],[-7.374092169616318,38.37305858006492],[-7.029281175148796,38.07576406508977],[-7.166507941099865,37.803894354802225],[-7.537105475281024,37.42890432387624],[-7.453725551778092,37.09778758396607],[-7.855613165711986,36.83826854099627],[-8.382816127953689,36.97888011326246],[-8.898856980820327,36.86880931248078],[-8.746101446965554,37.65134552667661],[-8.83999752443988,38.266243394517616],[-9.287463751655224,38.3584858261586],[-9.526570603869715,38.73742910415491],[-9.446988898140233,39.39206614842837],[-9.048305223008427,39.75509308527877],[-8.977353481471681,40.15930613866581],[-8.768684047877102,40.76063894303019],[-8.79085323733031,41.18433401139126],[-8.99078935386757,41.54345937760364],[-9.034817674180246,41.880570583659676]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":6,\"sovereignt\":\"Moldova\",\"sov_a3\":\"MDA\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Moldova\",\"adm0_a3\":\"MDA\",\"geou_dif\":0,\"geounit\":\"Moldova\",\"gu_a3\":\"MDA\",\"su_dif\":0,\"subunit\":\"Moldova\",\"su_a3\":\"MDA\",\"brk_diff\":0,\"name\":\"Moldova\",\"name_long\":\"Moldova\",\"brk_a3\":\"MDA\",\"brk_name\":\"Moldova\",\"brk_group\":null,\"abbrev\":\"Mda.\",\"postal\":\"MD\",\"formal_en\":\"Republic of Moldova\",\"formal_fr\":null,\"name_ciawf\":\"Moldova\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Moldova\",\"name_alt\":null,\"mapcolor7\":3,\"mapcolor8\":5,\"mapcolor9\":4,\"mapcolor13\":12,\"pop_est\":2657637,\"pop_rank\":12,\"pop_year\":2019,\"gdp_md\":11968,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"MD\",\"iso_a2\":\"MD\",\"iso_a2_eh\":\"MD\",\"iso_a3\":\"MDA\",\"iso_a3_eh\":\"MDA\",\"iso_n3\":\"498\",\"iso_n3_eh\":\"498\",\"un_a3\":\"498\",\"wb_a2\":\"MD\",\"wb_a3\":\"MDA\",\"woe_id\":23424885,\"woe_id_eh\":23424885,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"MDA\",\"adm0_diff\":null,\"adm0_tlc\":\"MDA\",\"adm0_a3_us\":\"MDA\",\"adm0_a3_fr\":\"MDA\",\"adm0_a3_ru\":\"MDA\",\"adm0_a3_es\":\"MDA\",\"adm0_a3_cn\":\"MDA\",\"adm0_a3_tw\":\"MDA\",\"adm0_a3_in\":\"MDA\",\"adm0_a3_np\":\"MDA\",\"adm0_a3_pk\":\"MDA\",\"adm0_a3_de\":\"MDA\",\"adm0_a3_gb\":\"MDA\",\"adm0_a3_br\":\"MDA\",\"adm0_a3_il\":\"MDA\",\"adm0_a3_ps\":\"MDA\",\"adm0_a3_sa\":\"MDA\",\"adm0_a3_eg\":\"MDA\",\"adm0_a3_ma\":\"MDA\",\"adm0_a3_pt\":\"MDA\",\"adm0_a3_ar\":\"MDA\",\"adm0_a3_jp\":\"MDA\",\"adm0_a3_ko\":\"MDA\",\"adm0_a3_vn\":\"MDA\",\"adm0_a3_tr\":\"MDA\",\"adm0_a3_id\":\"MDA\",\"adm0_a3_pl\":\"MDA\",\"adm0_a3_gr\":\"MDA\",\"adm0_a3_it\":\"MDA\",\"adm0_a3_nl\":\"MDA\",\"adm0_a3_se\":\"MDA\",\"adm0_a3_bd\":\"MDA\",\"adm0_a3_ua\":\"MDA\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Europe\",\"region_un\":\"Europe\",\"subregion\":\"Eastern Europe\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":7,\"long_len\":7,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":5,\"max_label\":10,\"label_x\":28.487904,\"label_y\":47.434999,\"ne_id\":1159321045,\"wikidataid\":\"Q217\",\"name_ar\":\"مولدوفا\",\"name_bn\":\"মলদোভা\",\"name_de\":\"Republik Moldau\",\"name_en\":\"Moldova\",\"name_es\":\"Moldavia\",\"name_fa\":\"مولداوی\",\"name_fr\":\"Moldavie\",\"name_el\":\"Μολδαβία\",\"name_he\":\"מולדובה\",\"name_hi\":\"मॉल्डोवा\",\"name_hu\":\"Moldova\",\"name_id\":\"Moldova\",\"name_it\":\"Moldavia\",\"name_ja\":\"モルドバ\",\"name_ko\":\"몰도바\",\"name_nl\":\"Moldavië\",\"name_pl\":\"Mołdawia\",\"name_pt\":\"Moldávia\",\"name_ru\":\"Молдавия\",\"name_sv\":\"Moldavien\",\"name_tr\":\"Moldova\",\"name_uk\":\"Молдова\",\"name_ur\":\"مالدووا\",\"name_vi\":\"Moldova\",\"name_zh\":\"摩尔多瓦\",\"name_zht\":\"摩爾多瓦\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"MDA.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[26.619336785597795,48.22072622333347],[26.857823520624805,48.368210761094495],[27.522537469195157,48.467119452501116],[28.259546746541844,48.15556224221342],[28.670891147585166,48.1181485052341],[29.12269819511303,47.849095160506465],[29.05086795422727,47.5102269557525],[29.415135125452736,47.34664520933258],[29.559674106573112,46.928582872091326],[29.908851759569302,46.67436066343146],[29.838210076626297,46.52532583270169],[30.024658644335375,46.42393667254504],[29.759971958136394,46.34998769793536],[29.170653924279804,46.37926239682872],[29.07210696789929,46.517677720722496],[28.862972446414062,46.43788930926383],[28.933717482221596,46.25883047137256],[28.65998742037158,45.93998688413164],[28.485269402792767,45.5969070501459],[28.23355350109904,45.48828318946829],[28.0544429867754,45.944586086605625],[28.160017937947714,46.37156260841722],[28.128030226359044,46.810476386088254],[27.551166212684848,47.40511709247083],[27.233872918412743,47.82677094175638],[26.924176059687568,48.123264472030996],[26.619336785597795,48.22072622333347]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Iceland\",\"sov_a3\":\"ISL\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Iceland\",\"adm0_a3\":\"ISL\",\"geou_dif\":0,\"geounit\":\"Iceland\",\"gu_a3\":\"ISL\",\"su_dif\":0,\"subunit\":\"Iceland\",\"su_a3\":\"ISL\",\"brk_diff\":0,\"name\":\"Iceland\",\"name_long\":\"Iceland\",\"brk_a3\":\"ISL\",\"brk_name\":\"Iceland\",\"brk_group\":null,\"abbrev\":\"Iceland\",\"postal\":\"IS\",\"formal_en\":\"Republic of Iceland\",\"formal_fr\":null,\"name_ciawf\":\"Iceland\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Iceland\",\"name_alt\":null,\"mapcolor7\":1,\"mapcolor8\":4,\"mapcolor9\":4,\"mapcolor13\":9,\"pop_est\":361313,\"pop_rank\":10,\"pop_year\":2019,\"gdp_md\":24188,\"gdp_year\":2019,\"economy\":\"2. Developed region: nonG7\",\"income_grp\":\"1. High income: OECD\",\"fips_10\":\"IC\",\"iso_a2\":\"IS\",\"iso_a2_eh\":\"IS\",\"iso_a3\":\"ISL\",\"iso_a3_eh\":\"ISL\",\"iso_n3\":\"352\",\"iso_n3_eh\":\"352\",\"un_a3\":\"352\",\"wb_a2\":\"IS\",\"wb_a3\":\"ISL\",\"woe_id\":23424845,\"woe_id_eh\":23424845,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"ISL\",\"adm0_diff\":null,\"adm0_tlc\":\"ISL\",\"adm0_a3_us\":\"ISL\",\"adm0_a3_fr\":\"ISL\",\"adm0_a3_ru\":\"ISL\",\"adm0_a3_es\":\"ISL\",\"adm0_a3_cn\":\"ISL\",\"adm0_a3_tw\":\"ISL\",\"adm0_a3_in\":\"ISL\",\"adm0_a3_np\":\"ISL\",\"adm0_a3_pk\":\"ISL\",\"adm0_a3_de\":\"ISL\",\"adm0_a3_gb\":\"ISL\",\"adm0_a3_br\":\"ISL\",\"adm0_a3_il\":\"ISL\",\"adm0_a3_ps\":\"ISL\",\"adm0_a3_sa\":\"ISL\",\"adm0_a3_eg\":\"ISL\",\"adm0_a3_ma\":\"ISL\",\"adm0_a3_pt\":\"ISL\",\"adm0_a3_ar\":\"ISL\",\"adm0_a3_jp\":\"ISL\",\"adm0_a3_ko\":\"ISL\",\"adm0_a3_vn\":\"ISL\",\"adm0_a3_tr\":\"ISL\",\"adm0_a3_id\":\"ISL\",\"adm0_a3_pl\":\"ISL\",\"adm0_a3_gr\":\"ISL\",\"adm0_a3_it\":\"ISL\",\"adm0_a3_nl\":\"ISL\",\"adm0_a3_se\":\"ISL\",\"adm0_a3_bd\":\"ISL\",\"adm0_a3_ua\":\"ISL\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Europe\",\"region_un\":\"Europe\",\"subregion\":\"Northern Europe\",\"region_wb\":\"Europe & Central Asia\",\"name_len\":7,\"long_len\":7,\"abbrev_len\":7,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":2,\"max_label\":7,\"label_x\":-18.673711,\"label_y\":64.779286,\"ne_id\":1159320917,\"wikidataid\":\"Q189\",\"name_ar\":\"آيسلندا\",\"name_bn\":\"আইসল্যান্ড\",\"name_de\":\"Island\",\"name_en\":\"Iceland\",\"name_es\":\"Islandia\",\"name_fa\":\"ایسلند\",\"name_fr\":\"Islande\",\"name_el\":\"Ισλανδία\",\"name_he\":\"איסלנד\",\"name_hi\":\"आइसलैण्ड\",\"name_hu\":\"Izland\",\"name_id\":\"Islandia\",\"name_it\":\"Islanda\",\"name_ja\":\"アイスランド\",\"name_ko\":\"아이슬란드\",\"name_nl\":\"IJsland\",\"name_pl\":\"Islandia\",\"name_pt\":\"Islândia\",\"name_ru\":\"Исландия\",\"name_sv\":\"Island\",\"name_tr\":\"İzlanda\",\"name_uk\":\"Ісландія\",\"name_ur\":\"آئس لینڈ\",\"name_vi\":\"Iceland\",\"name_zh\":\"冰岛\",\"name_zht\":\"冰島\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"ISL.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-14.508695441129234,66.45589223903143],[-14.739637417041607,65.8087482774403],[-13.60973222497981,65.12667104761987],[-14.909833746794902,64.36408193628868],[-17.794438035543422,63.678749091233854],[-18.656245896874992,63.49638296167582],[-19.97275468594276,63.64363495549153],[-22.762971971110158,63.960178941495386],[-21.778484259517683,64.40211579045551],[-23.95504391121911,64.8911298692335],[-22.184402635170358,65.0849681667603],[-22.227423265053332,65.37859365504274],[-24.326184047939336,65.61118927678847],[-23.65051469572309,66.26251902939522],[-22.134922451250887,66.41046865504687],[-20.57628373867955,65.73211212835143],[-19.05684160000159,66.27660085719477],[-17.79862382655905,65.99385325790978],[-16.167818976292125,66.52679230413587],[-14.508695441129234,66.45589223903143]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":2,\"sovereignt\":\"Papua New Guinea\",\"sov_a3\":\"PNG\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Papua New Guinea\",\"adm0_a3\":\"PNG\",\"geou_dif\":0,\"geounit\":\"Papua New Guinea\",\"gu_a3\":\"PNG\",\"su_dif\":1,\"subunit\":\"Papua New Guinea\",\"su_a3\":\"PN1\",\"brk_diff\":0,\"name\":\"Papua New Guinea\",\"name_long\":\"Papua New Guinea\",\"brk_a3\":\"PN1\",\"brk_name\":\"Papua New Guinea\",\"brk_group\":null,\"abbrev\":\"P.N.G.\",\"postal\":\"PG\",\"formal_en\":\"Independent State of Papua New Guinea\",\"formal_fr\":null,\"name_ciawf\":\"Papua New Guinea\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Papua New Guinea\",\"name_alt\":null,\"mapcolor7\":4,\"mapcolor8\":2,\"mapcolor9\":3,\"mapcolor13\":1,\"pop_est\":8776109,\"pop_rank\":13,\"pop_year\":2019,\"gdp_md\":24829,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"PP\",\"iso_a2\":\"PG\",\"iso_a2_eh\":\"PG\",\"iso_a3\":\"PNG\",\"iso_a3_eh\":\"PNG\",\"iso_n3\":\"598\",\"iso_n3_eh\":\"598\",\"un_a3\":\"598\",\"wb_a2\":\"PG\",\"wb_a3\":\"PNG\",\"woe_id\":23424926,\"woe_id_eh\":23424926,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"PN1\",\"adm0_diff\":null,\"adm0_tlc\":\"PN1\",\"adm0_a3_us\":\"PNG\",\"adm0_a3_fr\":\"PNG\",\"adm0_a3_ru\":\"PNG\",\"adm0_a3_es\":\"PNG\",\"adm0_a3_cn\":\"PNG\",\"adm0_a3_tw\":\"PNG\",\"adm0_a3_in\":\"PNG\",\"adm0_a3_np\":\"PNG\",\"adm0_a3_pk\":\"PNG\",\"adm0_a3_de\":\"PNG\",\"adm0_a3_gb\":\"PNG\",\"adm0_a3_br\":\"PNG\",\"adm0_a3_il\":\"PNG\",\"adm0_a3_ps\":\"PNG\",\"adm0_a3_sa\":\"PNG\",\"adm0_a3_eg\":\"PNG\",\"adm0_a3_ma\":\"PNG\",\"adm0_a3_pt\":\"PNG\",\"adm0_a3_ar\":\"PNG\",\"adm0_a3_jp\":\"PNG\",\"adm0_a3_ko\":\"PNG\",\"adm0_a3_vn\":\"PNG\",\"adm0_a3_tr\":\"PNG\",\"adm0_a3_id\":\"PNG\",\"adm0_a3_pl\":\"PNG\",\"adm0_a3_gr\":\"PNG\",\"adm0_a3_it\":\"PNG\",\"adm0_a3_nl\":\"PNG\",\"adm0_a3_se\":\"PNG\",\"adm0_a3_bd\":\"PNG\",\"adm0_a3_ua\":\"PNG\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Oceania\",\"region_un\":\"Oceania\",\"subregion\":\"Melanesia\",\"region_wb\":\"East Asia & Pacific\",\"name_len\":16,\"long_len\":16,\"abbrev_len\":6,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":2.5,\"max_label\":7.5,\"label_x\":143.910216,\"label_y\":-5.695285,\"ne_id\":1159321173,\"wikidataid\":\"Q691\",\"name_ar\":\"بابوا غينيا الجديدة\",\"name_bn\":\"পাপুয়া নিউগিনি\",\"name_de\":\"Papua-Neuguinea\",\"name_en\":\"Papua New Guinea\",\"name_es\":\"Papúa Nueva Guinea\",\"name_fa\":\"پاپوآ گینه نو\",\"name_fr\":\"Papouasie-Nouvelle-Guinée\",\"name_el\":\"Παπούα Νέα Γουινέα\",\"name_he\":\"פפואה גינאה החדשה\",\"name_hi\":\"पापुआ न्यू गिनी\",\"name_hu\":\"Pápua Új-Guinea\",\"name_id\":\"Papua Nugini\",\"name_it\":\"Papua Nuova Guinea\",\"name_ja\":\"パプアニューギニア\",\"name_ko\":\"파푸아뉴기니\",\"name_nl\":\"Papoea-Nieuw-Guinea\",\"name_pl\":\"Papua-Nowa Gwinea\",\"name_pt\":\"Papua-Nova Guiné\",\"name_ru\":\"Папуа — Новая Гвинея\",\"name_sv\":\"Papua Nya Guinea\",\"name_tr\":\"Papua Yeni Gine\",\"name_uk\":\"Папуа Нова Гвінея\",\"name_ur\":\"پاپوا نیو گنی\",\"name_vi\":\"Papua New Guinea\",\"name_zh\":\"巴布亚新几内亚\",\"name_zht\":\"巴布亞紐幾內亞\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"PNG.geojson\"},\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[[[141.00021040259185,-2.60015105551566],[142.73524661679147,-3.28915292726321],[144.58397098203324,-3.861417738463416],[145.27317955950997,-4.373737888205049],[145.8297864117257,-4.876497897972683],[145.981921828393,-5.465609226100043],[147.64807335834757,-6.083659356310847],[147.89110761941623,-6.614014580922343],[146.97090538959486,-6.721656589386313],[147.19187381407494,-7.388024183790023],[148.08463585834932,-8.044108168167647],[148.73410525939357,-9.104663588093764],[149.30683515848443,-9.07143564213009],[149.26663089416132,-9.514406019736029],[150.03872846903425,-9.684318129111709],[149.7387984560122,-9.872937106977048],[150.80162763895913,-10.293686618697478],[150.6905749859639,-10.582712904505925],[150.02839318257583,-10.652476088099952],[149.78231001200197,-10.393267103723923],[148.92313764871727,-10.280922539921384],[147.913018426708,-10.13044076908745],[147.13544315001218,-9.492443536011983],[146.56788089415056,-8.942554619994155],[146.04848107318492,-8.067414239131281],[144.74416792213805,-7.630128269077446],[143.89708784400966,-7.915330498896296],[143.28637576718432,-8.24549122480908],[143.41391320208066,-8.983068942910982],[142.62843143124417,-9.326820570516524],[142.06825890520025,-9.159595635620022],[141.03385176001382,-9.117892754760483],[141.01705691951895,-5.859021905138071],[141.00021040259185,-2.60015105551566]]],[[[152.64001671774253,-3.659983005389691],[153.0199935243847,-3.980015150573265],[153.14003787659874,-4.499983412294092],[152.82729210836828,-4.766427097190991],[152.63867313050298,-4.176127211120921],[152.40602583232493,-3.789742526874583],[151.95323693258354,-3.462062269711816],[151.38427941305002,-3.035421644710112],[150.66204959533883,-2.741486097833935],[150.93996544820448,-2.500002129734007],[151.47998416565457,-2.779985039891379],[151.8200150901351,-2.999971612157886],[152.23998945537113,-3.24000864015364],[152.64001671774253,-3.659983005389691]]],[[[151.30139041565388,-5.840728448106752],[150.75444705627666,-6.083762709175431],[150.2411967307538,-6.317753594593028],[149.70996300679332,-6.316513360218025],[148.89006473205046,-6.026040134305404],[148.31893680236067,-5.747142429226166],[148.40182579975686,-5.437755629094717],[149.29841190002082,-5.58374155031926],[149.84556196512722,-5.505503431829368],[149.99625044169028,-5.026101169457654],[150.13975589416486,-5.001348158389852],[150.23690758687354,-5.532220147324267],[150.80746707580812,-5.455842380396874],[151.08967207255404,-5.113692722192383],[151.6478808941709,-4.757073662946162],[151.53786176982146,-4.167807305521933],[152.1367916200843,-4.14879037843852],[152.33874311748093,-4.312966403829805],[152.3186926617517,-4.867661228050771],[151.98279585185452,-5.478063246282382],[151.45910688700866,-5.560280450058754],[151.30139041565388,-5.840728448106752]]],[[[154.75999067608439,-5.339983819198495],[155.06291792217934,-5.56679168052753],[155.5477462099417,-6.200654799019645],[156.0199654482248,-6.540013929880381],[155.8800256695784,-6.819996840037753],[155.59999108298877,-6.919990736522522],[155.16699425681514,-6.535931491729322],[154.72919152243838,-5.900828138862195],[154.51411421123964,-5.139117526879986],[154.65250369691728,-5.04243092206189],[154.75999067608439,-5.339983819198495]]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":2,\"sovereignt\":\"Australia\",\"sov_a3\":\"AU1\",\"adm0_dif\":1,\"level\":2,\"type\":\"Country\",\"tlc\":\"1\",\"admin\":\"Australia\",\"adm0_a3\":\"AUS\",\"geou_dif\":0,\"geounit\":\"Australia\",\"gu_a3\":\"AUS\",\"su_dif\":0,\"subunit\":\"Australia\",\"su_a3\":\"AUS\",\"brk_diff\":0,\"name\":\"Australia\",\"name_long\":\"Australia\",\"brk_a3\":\"AUS\",\"brk_name\":\"Australia\",\"brk_group\":null,\"abbrev\":\"Auz.\",\"postal\":\"AU\",\"formal_en\":\"Commonwealth of Australia\",\"formal_fr\":null,\"name_ciawf\":\"Australia\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Australia\",\"name_alt\":null,\"mapcolor7\":1,\"mapcolor8\":2,\"mapcolor9\":2,\"mapcolor13\":7,\"pop_est\":25364307,\"pop_rank\":15,\"pop_year\":2019,\"gdp_md\":1396567,\"gdp_year\":2019,\"economy\":\"2. Developed region: nonG7\",\"income_grp\":\"1. High income: OECD\",\"fips_10\":\"AS\",\"iso_a2\":\"AU\",\"iso_a2_eh\":\"AU\",\"iso_a3\":\"AUS\",\"iso_a3_eh\":\"AUS\",\"iso_n3\":\"036\",\"iso_n3_eh\":\"036\",\"un_a3\":\"036\",\"wb_a2\":\"AU\",\"wb_a3\":\"AUS\",\"woe_id\":-90,\"woe_id_eh\":23424748,\"woe_note\":\"Includes Ashmore and Cartier Islands (23424749) and Coral Sea Islands (23424790).\",\"adm0_iso\":\"AUS\",\"adm0_diff\":null,\"adm0_tlc\":\"AUS\",\"adm0_a3_us\":\"AUS\",\"adm0_a3_fr\":\"AUS\",\"adm0_a3_ru\":\"AUS\",\"adm0_a3_es\":\"AUS\",\"adm0_a3_cn\":\"AUS\",\"adm0_a3_tw\":\"AUS\",\"adm0_a3_in\":\"AUS\",\"adm0_a3_np\":\"AUS\",\"adm0_a3_pk\":\"AUS\",\"adm0_a3_de\":\"AUS\",\"adm0_a3_gb\":\"AUS\",\"adm0_a3_br\":\"AUS\",\"adm0_a3_il\":\"AUS\",\"adm0_a3_ps\":\"AUS\",\"adm0_a3_sa\":\"AUS\",\"adm0_a3_eg\":\"AUS\",\"adm0_a3_ma\":\"AUS\",\"adm0_a3_pt\":\"AUS\",\"adm0_a3_ar\":\"AUS\",\"adm0_a3_jp\":\"AUS\",\"adm0_a3_ko\":\"AUS\",\"adm0_a3_vn\":\"AUS\",\"adm0_a3_tr\":\"AUS\",\"adm0_a3_id\":\"AUS\",\"adm0_a3_pl\":\"AUS\",\"adm0_a3_gr\":\"AUS\",\"adm0_a3_it\":\"AUS\",\"adm0_a3_nl\":\"AUS\",\"adm0_a3_se\":\"AUS\",\"adm0_a3_bd\":\"AUS\",\"adm0_a3_ua\":\"AUS\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Oceania\",\"region_un\":\"Oceania\",\"subregion\":\"Australia and New Zealand\",\"region_wb\":\"East Asia & Pacific\",\"name_len\":9,\"long_len\":9,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":1.7,\"max_label\":5.7,\"label_x\":134.04972,\"label_y\":-24.129522,\"ne_id\":1159320355,\"wikidataid\":\"Q408\",\"name_ar\":\"أستراليا\",\"name_bn\":\"অস্ট্রেলিয়া\",\"name_de\":\"Australien\",\"name_en\":\"Australia\",\"name_es\":\"Australia\",\"name_fa\":\"استرالیا\",\"name_fr\":\"Australie\",\"name_el\":\"Αυστραλία\",\"name_he\":\"אוסטרליה\",\"name_hi\":\"ऑस्ट्रेलिया\",\"name_hu\":\"Ausztrália\",\"name_id\":\"Australia\",\"name_it\":\"Australia\",\"name_ja\":\"オーストラリア\",\"name_ko\":\"오스트레일리아\",\"name_nl\":\"Australië\",\"name_pl\":\"Australia\",\"name_pt\":\"Austrália\",\"name_ru\":\"Австралия\",\"name_sv\":\"Australien\",\"name_tr\":\"Avustralya\",\"name_uk\":\"Австралія\",\"name_ur\":\"آسٹریلیا\",\"name_vi\":\"Úc\",\"name_zh\":\"澳大利亚\",\"name_zht\":\"澳大利亞\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"AUS.geojson\"},\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[[[147.68925947488418,-40.808258152022674],[148.289067824496,-40.87543751400211],[148.35986453673587,-42.06244516374644],[148.01730146707303,-42.40702361426865],[147.91405195535384,-43.211522312188535],[147.56456424376393,-42.937688897473905],[146.87034305235488,-43.6345972633621],[146.66332726459365,-43.58085377377856],[146.04837772032033,-43.549744561538844],[145.4319295595106,-42.693776137056254],[145.29509036680173,-42.033609714527564],[144.71807132383066,-41.16255177181576],[144.7437545106797,-40.70397511165767],[145.3979781434948,-40.79254851660594],[146.3641207216237,-41.13769540788336],[146.90858361225088,-41.00054615658073],[147.68925947488418,-40.808258152022674]]],[[[126.14871382050114,-32.21596607842059],[125.08862348846566,-32.72875131605285],[124.22164798390492,-32.95948658623607],[124.02894656788851,-33.4838473447017],[123.65966678273077,-33.89017913181271],[122.81103641163364,-33.914467054989885],[122.1830644064228,-34.0034021949642],[121.29919070850259,-33.821036065406176],[120.58026818245806,-33.93017669040661],[119.89369510302822,-33.9760653622818],[119.29889936734875,-34.50936614353394],[119.00734093635802,-34.46414926527854],[118.5057178081008,-34.74681934991509],[118.02497195848949,-35.0647327613747],[117.29550744025741,-35.02545867283287],[116.62510908413495,-35.02509693780683],[115.56434695847966,-34.38642791111157],[115.02680870977957,-34.19651702243893],[115.04861616420676,-33.623425388322055],[115.54512332566708,-33.48725798923297],[115.7146737000167,-33.25957162855497],[115.67937869676135,-32.900368747694166],[115.80164513556394,-32.205062351207005],[115.68961063035516,-31.612437025683807],[115.160909051577,-30.601594333622465],[114.99704308477948,-30.03072478609414],[115.04003787644629,-29.46109547294082],[114.64197431850201,-28.81023080822467],[114.6164978373821,-28.51639861421308],[114.17357913620847,-28.11807667410732],[114.04888390508816,-27.334765313427106],[113.47749759323692,-26.543134047147902],[113.33895307826242,-26.116545098578484],[113.77835778204022,-26.549025160429174],[113.44096235560656,-25.621278171493167],[113.93690107631167,-25.91123463308287],[114.23285200404723,-26.29844614024588],[114.21616051641698,-25.786281019801123],[113.7212553243577,-24.99893889740214],[113.62534386602397,-24.683971042583167],[113.39352339076264,-24.384764499613226],[113.5020438985756,-23.806350192970285],[113.70699262904515,-23.56021534596409],[113.84341841029567,-23.059987481378755],[113.73655154831609,-22.47547535572538],[114.1497563009219,-21.75588103606104],[114.22530724493262,-22.517488295178673],[114.6477620789187,-21.829519952076954],[115.46016727097924,-21.495173435148537],[115.94737267462702,-21.068687839443704],[116.71161543179153,-20.701681817306824],[117.16631635952771,-20.623598728113805],[117.44154503791424,-20.74689869556221],[118.229558953933,-20.37420826587322],[118.83608523974274,-20.263310642174858],[118.98780724495168,-20.044202569257315],[119.25249393115067,-19.952941989829867],[119.80522505094451,-19.976506442954964],[120.85622033089668,-19.683707777589206],[121.39985639860717,-19.239755547769725],[121.65513797412902,-18.70531788500717],[122.24166548064179,-18.197648614171804],[122.28662397673571,-17.798603204013958],[122.3127722514754,-17.25496713630345],[123.01257449757193,-16.405199883695886],[123.43378909718304,-17.268558037996215],[123.85934451710659,-17.069035332917288],[123.50324222218329,-16.596506036040402],[123.81707319549184,-16.111316013252],[124.25828657439985,-16.327943617419535],[124.37972619028575,-15.56705982835399],[124.92615278534004,-15.07510019293536],[125.16727501841387,-14.680395603090028],[125.67008670461381,-14.510070082256014],[125.68579634003055,-14.23065561285385],[126.12514936737608,-14.347340996968903],[126.14282270721986,-14.095986830301227],[126.58258914602374,-13.952791436420448],[127.06586714081732,-13.817967624570954],[127.80463341686196,-14.27690601975508],[128.35968997610894,-14.869169610252243],[128.98554324759584,-14.875990899314765],[129.62147342337965,-14.969783623924522],[129.40960005098293,-14.42066985439107],[129.8886405783286,-13.618703301653492],[130.33946577364293,-13.357375583553484],[130.18350630098604,-13.107520033422276],[130.61779503796697,-12.536392103732489],[131.22349450086,-12.183648776908166],[131.73509118054955,-12.302452894747184],[132.5752982931831,-12.114040622611007],[132.55721154188097,-11.603012383676678],[131.82469811414364,-11.27378183354515],[132.3572237489114,-11.128519382372696],[133.01956058159635,-11.376411228076812],[133.55084598198908,-11.786515394745116],[134.39306847548204,-12.042365411022182],[134.67863244032696,-11.941182956594693],[135.29849124566795,-12.248606052299046],[135.8826933127276,-11.962266940969776],[136.2583809754895,-12.049341729381588],[136.49247521377168,-11.857208754120398],[136.951620314685,-12.351958916882793],[136.6851249533558,-12.887223402562022],[136.3054065288751,-13.291229750219884],[135.96175825413417,-13.324509372615852],[136.07761681533253,-13.724278252825783],[135.78383629775323,-14.2239893530882],[135.4286641786112,-14.715432224183912],[135.50018436090318,-14.997740573794424],[136.2951745952813,-15.55026498785913],[137.06536014215942,-15.87076222093333],[137.5804708192448,-16.21508228929408],[138.30321740127897,-16.807604261952704],[138.58516401586343,-16.806622409739155],[139.10854292211548,-17.06267913174539],[139.2605749859182,-17.371600843986208],[140.21524539607827,-17.710804945550066],[140.87546349503924,-17.369068698803908],[141.07111046769626,-16.83204721442676],[141.27409549373874,-16.38887013109165],[141.39822228410384,-15.840531508042588],[141.70218305884464,-15.044921156476901],[141.56338016170866,-14.561333103089552],[141.6355204611881,-14.270394789286307],[141.5198686057189,-13.698078301653808],[141.65092003801107,-12.944687595270585],[141.8426912782462,-12.741547539931231],[141.68699018775084,-12.407614434461145],[141.9286291851476,-11.877465915578817],[142.11848839738798,-11.328042087451612],[142.1437064963464,-11.042736504768186],[142.51526004452495,-10.668185723516686],[142.797310011974,-11.157354831591562],[142.86676313697427,-11.784706719614903],[143.11594689348573,-11.905629571177885],[143.15863162655876,-12.325655612846232],[143.5221236512998,-12.834358412327433],[143.5971578309876,-13.400422051652612],[143.5618111513,-13.763655694232192],[143.9220992372389,-14.548310642151996],[144.56371382057483,-14.171176039285903],[144.89490807513346,-14.594457696188641],[145.3747237489635,-14.98497649501833],[145.27199100156724,-15.428205254785732],[145.4852596376358,-16.28567229580478],[145.637033319277,-16.78491830817657],[145.88890425026761,-16.906926364817686],[146.16030887266453,-17.761654554925272],[146.06367394427872,-18.28007252367734],[146.38747846901964,-18.958274021075887],[147.4710815777479,-19.48072275154673],[148.17760176004242,-19.9559392229028],[148.84841352762322,-20.391209812097244],[148.71746544819558,-20.63346892668155],[149.28942020080206,-21.260510756111135],[149.6783370302307,-22.342511895438385],[150.07738244038853,-22.122783705333337],[150.48293908101516,-22.556142266532994],[150.72726525289113,-22.402404880464665],[150.89955447815225,-23.462236830338696],[151.60917524638427,-24.07625619883074],[152.07353966695905,-24.457886651306225],[152.8551973818059,-25.267501316023],[153.1361621441768,-26.071173191026215],[153.16194868389044,-26.641319268502457],[153.0929089703485,-27.260299574494514],[153.56946902894418,-28.11006682710208],[153.51210818910022,-28.99507740653271],[153.339095493787,-29.45820159273248],[153.06924116435886,-30.350240166954794],[153.08960167868184,-30.923641859665423],[152.89157759013938,-31.640445651986],[152.45000247620533,-32.550002536755265],[151.70911746643674,-33.041342054986394],[151.3439717958624,-33.81602345147387],[151.0105554547152,-34.31036020277793],[150.71413943908902,-35.173459974916796],[150.3282198427333,-35.671879164371916],[150.0752120302323,-36.42020558039054],[149.9461243023672,-37.10905242284121],[149.99728397033613,-37.42526051203518],[149.42388227762552,-37.77268116633344],[148.30462243061584,-37.809061374666925],[147.38173302631526,-38.21921721776752],[146.92212283751132,-38.606532077795116],[146.31792199115478,-39.03575652441141],[145.4896521343806,-38.59376799901902],[144.87697635312816,-38.41744801203915],[145.03221235573295,-37.89618783951102],[144.48568240781407,-38.085323581699285],[143.60997358619602,-38.8094654274053],[142.74542687395297,-38.538267510737555],[142.17832970598192,-38.380034275059835],[141.60658165910468,-38.30851409276788],[140.63857872941327,-38.019332777662555],[139.99215823787426,-37.402936293285094],[139.8065881695141,-36.64360279718831],[139.57414757706528,-36.13836231867066],[139.08280805883413,-35.732754001611745],[138.12074791885635,-35.61229623793939],[138.44946170466494,-35.127261244447865],[138.20756432510672,-34.38472258884593],[137.71917036351618,-35.076825046531],[136.8294055523147,-35.26053476332861],[137.35237104710848,-34.7073385556441],[137.50388634658827,-34.13026783624075],[137.8901160015377,-33.64047861097838],[137.81032759007905,-32.90000701266812],[136.9968371929404,-33.752771498348615],[136.37206912653164,-34.094766127256236],[135.98904341038428,-34.89011809666046],[135.20821251845405,-34.478670342752565],[135.23921837782916,-33.94795338311502],[134.6134167827746,-33.222778008763164],[134.08590376193916,-32.84807219821479],[134.27390262261702,-32.61723357516699],[132.99077680880976,-32.01122405368019],[132.28808068250487,-31.982646986622782],[131.32633060112084,-31.49580331800104],[129.53579389863972,-31.590422865527465],[128.24093753470225,-31.948488864877852],[127.1028674663383,-32.28226694105106],[126.14871382050114,-32.21596607842059]]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":6,\"sovereignt\":\"Fiji\",\"sov_a3\":\"FJI\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Fiji\",\"adm0_a3\":\"FJI\",\"geou_dif\":0,\"geounit\":\"Fiji\",\"gu_a3\":\"FJI\",\"su_dif\":0,\"subunit\":\"Fiji\",\"su_a3\":\"FJI\",\"brk_diff\":0,\"name\":\"Fiji\",\"name_long\":\"Fiji\",\"brk_a3\":\"FJI\",\"brk_name\":\"Fiji\",\"brk_group\":null,\"abbrev\":\"Fiji\",\"postal\":\"FJ\",\"formal_en\":\"Republic of Fiji\",\"formal_fr\":null,\"name_ciawf\":\"Fiji\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Fiji\",\"name_alt\":null,\"mapcolor7\":5,\"mapcolor8\":1,\"mapcolor9\":2,\"mapcolor13\":2,\"pop_est\":889953,\"pop_rank\":11,\"pop_year\":2019,\"gdp_md\":5496,\"gdp_year\":2019,\"economy\":\"6. Developing region\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"FJ\",\"iso_a2\":\"FJ\",\"iso_a2_eh\":\"FJ\",\"iso_a3\":\"FJI\",\"iso_a3_eh\":\"FJI\",\"iso_n3\":\"242\",\"iso_n3_eh\":\"242\",\"un_a3\":\"242\",\"wb_a2\":\"FJ\",\"wb_a3\":\"FJI\",\"woe_id\":23424813,\"woe_id_eh\":23424813,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"FJI\",\"adm0_diff\":null,\"adm0_tlc\":\"FJI\",\"adm0_a3_us\":\"FJI\",\"adm0_a3_fr\":\"FJI\",\"adm0_a3_ru\":\"FJI\",\"adm0_a3_es\":\"FJI\",\"adm0_a3_cn\":\"FJI\",\"adm0_a3_tw\":\"FJI\",\"adm0_a3_in\":\"FJI\",\"adm0_a3_np\":\"FJI\",\"adm0_a3_pk\":\"FJI\",\"adm0_a3_de\":\"FJI\",\"adm0_a3_gb\":\"FJI\",\"adm0_a3_br\":\"FJI\",\"adm0_a3_il\":\"FJI\",\"adm0_a3_ps\":\"FJI\",\"adm0_a3_sa\":\"FJI\",\"adm0_a3_eg\":\"FJI\",\"adm0_a3_ma\":\"FJI\",\"adm0_a3_pt\":\"FJI\",\"adm0_a3_ar\":\"FJI\",\"adm0_a3_jp\":\"FJI\",\"adm0_a3_ko\":\"FJI\",\"adm0_a3_vn\":\"FJI\",\"adm0_a3_tr\":\"FJI\",\"adm0_a3_id\":\"FJI\",\"adm0_a3_pl\":\"FJI\",\"adm0_a3_gr\":\"FJI\",\"adm0_a3_it\":\"FJI\",\"adm0_a3_nl\":\"FJI\",\"adm0_a3_se\":\"FJI\",\"adm0_a3_bd\":\"FJI\",\"adm0_a3_ua\":\"FJI\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Oceania\",\"region_un\":\"Oceania\",\"subregion\":\"Melanesia\",\"region_wb\":\"East Asia & Pacific\",\"name_len\":4,\"long_len\":4,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":177.975427,\"label_y\":-17.826099,\"ne_id\":1159320625,\"wikidataid\":\"Q712\",\"name_ar\":\"فيجي\",\"name_bn\":\"ফিজি\",\"name_de\":\"Fidschi\",\"name_en\":\"Fiji\",\"name_es\":\"Fiyi\",\"name_fa\":\"فیجی\",\"name_fr\":\"Fidji\",\"name_el\":\"Φίτζι\",\"name_he\":\"פיג'י\",\"name_hi\":\"फ़िजी\",\"name_hu\":\"Fidzsi-szigetek\",\"name_id\":\"Fiji\",\"name_it\":\"Figi\",\"name_ja\":\"フィジー\",\"name_ko\":\"피지\",\"name_nl\":\"Fiji\",\"name_pl\":\"Fidżi\",\"name_pt\":\"Fiji\",\"name_ru\":\"Фиджи\",\"name_sv\":\"Fiji\",\"name_tr\":\"Fiji\",\"name_uk\":\"Фіджі\",\"name_ur\":\"فجی\",\"name_vi\":\"Fiji\",\"name_zh\":\"斐济\",\"name_zht\":\"斐濟\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"FJI.geojson\"},\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[[[180,-16.067132663642447],[180,-16.555216566639196],[179.36414266196414,-16.801354076946883],[178.72505936299711,-17.01204167436804],[178.59683859511713,-16.63915],[179.0966093629971,-16.433984277547403],[179.4135093629971,-16.379054277547404],[180,-16.067132663642447]]],[[[178.12557,-17.50481],[178.3736,-17.33992],[178.71806,-17.62846],[178.55271,-18.15059],[177.93266,-18.28799],[177.38146,-18.16432],[177.28504,-17.72465],[177.67087,-17.38114],[178.12557,-17.50481]]],[[[-179.79332010904864,-16.020882256741224],[-179.9173693847653,-16.501783135649397],[-180,-16.555216566639196],[-180,-16.067132663642447],[-179.79332010904864,-16.020882256741224]]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":2,\"sovereignt\":\"New Zealand\",\"sov_a3\":\"NZ1\",\"adm0_dif\":1,\"level\":2,\"type\":\"Country\",\"tlc\":\"1\",\"admin\":\"New Zealand\",\"adm0_a3\":\"NZL\",\"geou_dif\":0,\"geounit\":\"New Zealand\",\"gu_a3\":\"NZL\",\"su_dif\":0,\"subunit\":\"New Zealand\",\"su_a3\":\"NZL\",\"brk_diff\":0,\"name\":\"New Zealand\",\"name_long\":\"New Zealand\",\"brk_a3\":\"NZL\",\"brk_name\":\"New Zealand\",\"brk_group\":null,\"abbrev\":\"N.Z.\",\"postal\":\"NZ\",\"formal_en\":\"New Zealand\",\"formal_fr\":null,\"name_ciawf\":\"New Zealand\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"New Zealand\",\"name_alt\":null,\"mapcolor7\":3,\"mapcolor8\":3,\"mapcolor9\":4,\"mapcolor13\":4,\"pop_est\":4917000,\"pop_rank\":12,\"pop_year\":2019,\"gdp_md\":206928,\"gdp_year\":2019,\"economy\":\"2. Developed region: nonG7\",\"income_grp\":\"1. High income: OECD\",\"fips_10\":\"NZ\",\"iso_a2\":\"NZ\",\"iso_a2_eh\":\"NZ\",\"iso_a3\":\"NZL\",\"iso_a3_eh\":\"NZL\",\"iso_n3\":\"554\",\"iso_n3_eh\":\"554\",\"un_a3\":\"554\",\"wb_a2\":\"NZ\",\"wb_a3\":\"NZL\",\"woe_id\":23424916,\"woe_id_eh\":23424916,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"NZL\",\"adm0_diff\":null,\"adm0_tlc\":\"NZL\",\"adm0_a3_us\":\"NZL\",\"adm0_a3_fr\":\"NZL\",\"adm0_a3_ru\":\"NZL\",\"adm0_a3_es\":\"NZL\",\"adm0_a3_cn\":\"NZL\",\"adm0_a3_tw\":\"NZL\",\"adm0_a3_in\":\"NZL\",\"adm0_a3_np\":\"NZL\",\"adm0_a3_pk\":\"NZL\",\"adm0_a3_de\":\"NZL\",\"adm0_a3_gb\":\"NZL\",\"adm0_a3_br\":\"NZL\",\"adm0_a3_il\":\"NZL\",\"adm0_a3_ps\":\"NZL\",\"adm0_a3_sa\":\"NZL\",\"adm0_a3_eg\":\"NZL\",\"adm0_a3_ma\":\"NZL\",\"adm0_a3_pt\":\"NZL\",\"adm0_a3_ar\":\"NZL\",\"adm0_a3_jp\":\"NZL\",\"adm0_a3_ko\":\"NZL\",\"adm0_a3_vn\":\"NZL\",\"adm0_a3_tr\":\"NZL\",\"adm0_a3_id\":\"NZL\",\"adm0_a3_pl\":\"NZL\",\"adm0_a3_gr\":\"NZL\",\"adm0_a3_it\":\"NZL\",\"adm0_a3_nl\":\"NZL\",\"adm0_a3_se\":\"NZL\",\"adm0_a3_bd\":\"NZL\",\"adm0_a3_ua\":\"NZL\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Oceania\",\"region_un\":\"Oceania\",\"subregion\":\"Australia and New Zealand\",\"region_wb\":\"East Asia & Pacific\",\"name_len\":11,\"long_len\":11,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":2,\"max_label\":6.7,\"label_x\":172.787,\"label_y\":-39.759,\"ne_id\":1159321135,\"wikidataid\":\"Q664\",\"name_ar\":\"نيوزيلندا\",\"name_bn\":\"নিউজিল্যান্ড\",\"name_de\":\"Neuseeland\",\"name_en\":\"New Zealand\",\"name_es\":\"Nueva Zelanda\",\"name_fa\":\"نیوزیلند\",\"name_fr\":\"Nouvelle-Zélande\",\"name_el\":\"Νέα Ζηλανδία\",\"name_he\":\"ניו זילנד\",\"name_hi\":\"न्यूज़ीलैण्ड\",\"name_hu\":\"Új-Zéland\",\"name_id\":\"Selandia Baru\",\"name_it\":\"Nuova Zelanda\",\"name_ja\":\"ニュージーランド\",\"name_ko\":\"뉴질랜드\",\"name_nl\":\"Nieuw-Zeeland\",\"name_pl\":\"Nowa Zelandia\",\"name_pt\":\"Nova Zelândia\",\"name_ru\":\"Новая Зеландия\",\"name_sv\":\"Nya Zeeland\",\"name_tr\":\"Yeni Zelanda\",\"name_uk\":\"Нова Зеландія\",\"name_ur\":\"نیوزی لینڈ\",\"name_vi\":\"New Zealand\",\"name_zh\":\"新西兰\",\"name_zht\":\"新西蘭\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"NZL.geojson\"},\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[[[176.8858236026052,-40.0659778785822],[176.50801720611926,-40.60480803808957],[176.01244022044023,-41.28962411882147],[175.23956749908297,-41.68830779395328],[175.06789839100935,-41.42589487077513],[174.65097293527847,-41.2818209775454],[175.22763024322356,-40.45923552832336],[174.9001566917899,-39.9089332008472],[173.82404666574394,-39.50885426204351],[173.85226199777532,-39.14660247167748],[174.57480187408035,-38.797683200842755],[174.74347374908098,-38.02780771255843],[174.6970166364506,-37.38112883885792],[174.2920284365792,-36.71109221776149],[174.31900353423552,-36.53482390721391],[173.8409965355357,-36.12198088963413],[173.0541711774596,-35.23712533950039],[172.63600548735377,-34.52910654066943],[173.00704227120946,-34.45066171645037],[173.55129845610747,-35.00618336358801],[174.3293904971262,-35.26549570082862],[174.61200890533044,-36.15639739354052],[175.33661583892712,-37.20909799575827],[175.3575964704376,-36.52619394302117],[175.80888675364253,-36.79894215265767],[175.9584900251275,-37.55538176854612],[176.76319542877656,-37.881253350578675],[177.4388131045605,-37.961248467766495],[178.01035444570866,-37.579824721020174],[178.51709354076274,-37.6953732236248],[178.27473107331383,-38.58281259537314],[177.97046023997927,-39.166342868812976],[177.20699262929918,-39.14577564876082],[176.93998050364706,-39.44973642350161],[177.0329464053401,-39.879942722331464],[176.8858236026052,-40.0659778785822]]],[[[169.66781456937315,-43.555325616226376],[170.52491987536615,-43.031688327812816],[171.125089960004,-42.51275359473782],[171.56971398344325,-41.767424411792135],[171.94870893787186,-41.514416599291124],[172.0972270042787,-40.956104424809716],[172.79857954334403,-40.4939620908235],[173.02037479074076,-40.919052422856446],[173.2472343285021,-41.33199879330081],[173.9584053897028,-40.926700534835646],[174.24758670480816,-41.34915536882171],[174.24851688058942,-41.77000823340673],[173.87644656808794,-42.23318409603879],[173.2227396995957,-42.970038344088614],[172.71124637277074,-43.372287693048555],[173.08011274647015,-43.853343601253606],[172.3085836123525,-43.86569426857136],[171.45292524646362,-44.2425188128437],[171.18513797432718,-44.89710418068486],[170.61669721911653,-45.908928724959736],[169.8314221540093,-46.35577483498757],[169.33233117093428,-46.641235446967876],[168.41135379462855,-46.61994475686363],[167.76374474514682,-46.29019744240919],[166.67688602118417,-46.219917494492236],[166.50914432196467,-45.85270476662619],[167.0464241885033,-45.110941257508635],[168.30376346259686,-44.12397307716614],[168.94940880765157,-43.935819187191434],[169.66781456937315,-43.555325616226376]]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"France\",\"sov_a3\":\"FR1\",\"adm0_dif\":1,\"level\":2,\"type\":\"Dependency\",\"tlc\":\"1\",\"admin\":\"New Caledonia\",\"adm0_a3\":\"NCL\",\"geou_dif\":0,\"geounit\":\"New Caledonia\",\"gu_a3\":\"NCL\",\"su_dif\":0,\"subunit\":\"New Caledonia\",\"su_a3\":\"NCL\",\"brk_diff\":0,\"name\":\"New Caledonia\",\"name_long\":\"New Caledonia\",\"brk_a3\":\"NCL\",\"brk_name\":\"New Caledonia\",\"brk_group\":null,\"abbrev\":\"New C.\",\"postal\":\"NC\",\"formal_en\":\"New Caledonia\",\"formal_fr\":\"Nouvelle-Calédonie\",\"name_ciawf\":\"New Caledonia\",\"note_adm0\":\"Fr.\",\"note_brk\":null,\"name_sort\":\"New Caledonia\",\"name_alt\":null,\"mapcolor7\":7,\"mapcolor8\":5,\"mapcolor9\":9,\"mapcolor13\":11,\"pop_est\":287800,\"pop_rank\":10,\"pop_year\":2019,\"gdp_md\":10770,\"gdp_year\":2016,\"economy\":\"6. Developing region\",\"income_grp\":\"2. High income: nonOECD\",\"fips_10\":\"NC\",\"iso_a2\":\"NC\",\"iso_a2_eh\":\"NC\",\"iso_a3\":\"NCL\",\"iso_a3_eh\":\"NCL\",\"iso_n3\":\"540\",\"iso_n3_eh\":\"540\",\"un_a3\":\"540\",\"wb_a2\":\"NC\",\"wb_a3\":\"NCL\",\"woe_id\":23424903,\"woe_id_eh\":23424903,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"NCL\",\"adm0_diff\":null,\"adm0_tlc\":\"NCL\",\"adm0_a3_us\":\"NCL\",\"adm0_a3_fr\":\"NCL\",\"adm0_a3_ru\":\"NCL\",\"adm0_a3_es\":\"NCL\",\"adm0_a3_cn\":\"NCL\",\"adm0_a3_tw\":\"NCL\",\"adm0_a3_in\":\"NCL\",\"adm0_a3_np\":\"NCL\",\"adm0_a3_pk\":\"NCL\",\"adm0_a3_de\":\"NCL\",\"adm0_a3_gb\":\"NCL\",\"adm0_a3_br\":\"NCL\",\"adm0_a3_il\":\"NCL\",\"adm0_a3_ps\":\"NCL\",\"adm0_a3_sa\":\"NCL\",\"adm0_a3_eg\":\"NCL\",\"adm0_a3_ma\":\"NCL\",\"adm0_a3_pt\":\"NCL\",\"adm0_a3_ar\":\"NCL\",\"adm0_a3_jp\":\"NCL\",\"adm0_a3_ko\":\"NCL\",\"adm0_a3_vn\":\"NCL\",\"adm0_a3_tr\":\"NCL\",\"adm0_a3_id\":\"NCL\",\"adm0_a3_pl\":\"NCL\",\"adm0_a3_gr\":\"NCL\",\"adm0_a3_it\":\"NCL\",\"adm0_a3_nl\":\"NCL\",\"adm0_a3_se\":\"NCL\",\"adm0_a3_bd\":\"NCL\",\"adm0_a3_ua\":\"NCL\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Oceania\",\"region_un\":\"Oceania\",\"subregion\":\"Melanesia\",\"region_wb\":\"East Asia & Pacific\",\"name_len\":13,\"long_len\":13,\"abbrev_len\":6,\"tiny\":-99,\"homepart\":-99,\"min_zoom\":0,\"min_label\":4.6,\"max_label\":8,\"label_x\":165.084004,\"label_y\":-21.064697,\"ne_id\":1159320641,\"wikidataid\":\"Q33788\",\"name_ar\":\"كاليدونيا الجديدة\",\"name_bn\":\"নতুন ক্যালিডোনিয়া\",\"name_de\":\"Neukaledonien\",\"name_en\":\"New Caledonia\",\"name_es\":\"Nueva Caledonia\",\"name_fa\":\"کالدونیای جدید\",\"name_fr\":\"Nouvelle-Calédonie\",\"name_el\":\"Νέα Καληδονία\",\"name_he\":\"קלדוניה החדשה\",\"name_hi\":\"नया कैलेडोनिया\",\"name_hu\":\"Új-Kaledónia\",\"name_id\":\"Kaledonia Baru\",\"name_it\":\"Nuova Caledonia\",\"name_ja\":\"ニューカレドニア\",\"name_ko\":\"누벨칼레도니\",\"name_nl\":\"Nieuw-Caledonië\",\"name_pl\":\"Nowa Kaledonia\",\"name_pt\":\"Nova Caledónia\",\"name_ru\":\"Новая Каледония\",\"name_sv\":\"Nya Kaledonien\",\"name_tr\":\"Yeni Kaledonya\",\"name_uk\":\"Нова Каледонія\",\"name_ur\":\"نیو کیلیڈونیا\",\"name_vi\":\"Nouvelle-Calédonie\",\"name_zh\":\"新喀里多尼亚\",\"name_zht\":\"新喀里多尼亞\",\"fclass_iso\":\"Admin-0 dependency\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 dependency\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"NCL.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[165.77998986232637,-21.08000497811563],[166.59999148993384,-21.700018812753527],[167.1200114280869,-22.15999073658349],[166.7400346214448,-22.39997608814695],[166.18973229396866,-22.129708347260454],[165.47437544175222,-21.679606621998232],[164.82981530177568,-21.14981983814195],[164.16799523341365,-20.444746595951628],[164.029605747736,-20.105645847252354],[164.45996707586272,-20.1200118954295],[165.02003624904205,-20.45999114347773],[165.46000939357512,-20.80002206795826],[165.77998986232637,-21.08000497811563]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":3,\"sovereignt\":\"Solomon Islands\",\"sov_a3\":\"SLB\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Solomon Islands\",\"adm0_a3\":\"SLB\",\"geou_dif\":0,\"geounit\":\"Solomon Islands\",\"gu_a3\":\"SLB\",\"su_dif\":0,\"subunit\":\"Solomon Islands\",\"su_a3\":\"SLB\",\"brk_diff\":0,\"name\":\"Solomon Is.\",\"name_long\":\"Solomon Islands\",\"brk_a3\":\"SLB\",\"brk_name\":\"Solomon Is.\",\"brk_group\":null,\"abbrev\":\"S. Is.\",\"postal\":\"SB\",\"formal_en\":null,\"formal_fr\":null,\"name_ciawf\":\"Solomon Islands\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Solomon Islands\",\"name_alt\":null,\"mapcolor7\":1,\"mapcolor8\":4,\"mapcolor9\":1,\"mapcolor13\":6,\"pop_est\":669823,\"pop_rank\":11,\"pop_year\":2019,\"gdp_md\":1589,\"gdp_year\":2019,\"economy\":\"7. Least developed region\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"BP\",\"iso_a2\":\"SB\",\"iso_a2_eh\":\"SB\",\"iso_a3\":\"SLB\",\"iso_a3_eh\":\"SLB\",\"iso_n3\":\"090\",\"iso_n3_eh\":\"090\",\"un_a3\":\"090\",\"wb_a2\":\"SB\",\"wb_a3\":\"SLB\",\"woe_id\":23424766,\"woe_id_eh\":23424766,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"SLB\",\"adm0_diff\":null,\"adm0_tlc\":\"SLB\",\"adm0_a3_us\":\"SLB\",\"adm0_a3_fr\":\"SLB\",\"adm0_a3_ru\":\"SLB\",\"adm0_a3_es\":\"SLB\",\"adm0_a3_cn\":\"SLB\",\"adm0_a3_tw\":\"SLB\",\"adm0_a3_in\":\"SLB\",\"adm0_a3_np\":\"SLB\",\"adm0_a3_pk\":\"SLB\",\"adm0_a3_de\":\"SLB\",\"adm0_a3_gb\":\"SLB\",\"adm0_a3_br\":\"SLB\",\"adm0_a3_il\":\"SLB\",\"adm0_a3_ps\":\"SLB\",\"adm0_a3_sa\":\"SLB\",\"adm0_a3_eg\":\"SLB\",\"adm0_a3_ma\":\"SLB\",\"adm0_a3_pt\":\"SLB\",\"adm0_a3_ar\":\"SLB\",\"adm0_a3_jp\":\"SLB\",\"adm0_a3_ko\":\"SLB\",\"adm0_a3_vn\":\"SLB\",\"adm0_a3_tr\":\"SLB\",\"adm0_a3_id\":\"SLB\",\"adm0_a3_pl\":\"SLB\",\"adm0_a3_gr\":\"SLB\",\"adm0_a3_it\":\"SLB\",\"adm0_a3_nl\":\"SLB\",\"adm0_a3_se\":\"SLB\",\"adm0_a3_bd\":\"SLB\",\"adm0_a3_ua\":\"SLB\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Oceania\",\"region_un\":\"Oceania\",\"subregion\":\"Melanesia\",\"region_wb\":\"East Asia & Pacific\",\"name_len\":11,\"long_len\":15,\"abbrev_len\":6,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":3,\"max_label\":8,\"label_x\":159.170468,\"label_y\":-8.029548,\"ne_id\":1159321249,\"wikidataid\":\"Q685\",\"name_ar\":\"جزر سليمان\",\"name_bn\":\"সলোমন দ্বীপপুঞ্জ\",\"name_de\":\"Salomonen\",\"name_en\":\"Solomon Islands\",\"name_es\":\"Islas Salomón\",\"name_fa\":\"جزایر سلیمان\",\"name_fr\":\"Îles Salomon\",\"name_el\":\"Νησιά Σολομώντα\",\"name_he\":\"איי שלמה\",\"name_hi\":\"सोलोमन द्वीपसमूह\",\"name_hu\":\"Salamon-szigetek\",\"name_id\":\"Kepulauan Solomon\",\"name_it\":\"Isole Salomone\",\"name_ja\":\"ソロモン諸島\",\"name_ko\":\"솔로몬 제도\",\"name_nl\":\"Salomonseilanden\",\"name_pl\":\"Wyspy Salomona\",\"name_pt\":\"Ilhas Salomão\",\"name_ru\":\"Соломоновы Острова\",\"name_sv\":\"Salomonöarna\",\"name_tr\":\"Solomon Adaları\",\"name_uk\":\"Соломонові Острови\",\"name_ur\":\"جزائر سلیمان\",\"name_vi\":\"Quần đảo Solomon\",\"name_zh\":\"所罗门群岛\",\"name_zht\":\"索羅門群島\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"SLB.geojson\"},\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[[[162.1190246930409,-10.48271900802115],[162.3986458681722,-10.826367282762106],[161.70003218001835,-10.820011081590211],[161.31979699121476,-10.204751478723168],[161.91738325423802,-10.446700534713713],[162.1190246930409,-10.48271900802115]]],[[[161.67998172428912,-9.599982191611367],[161.5293966005906,-9.784312025596485],[160.78825320866054,-8.917543226764892],[160.57999718652434,-8.32000864017396],[160.92002811100485,-8.32000864017396],[161.28000613835,-9.120011488484451],[161.67998172428912,-9.599982191611367]]],[[[160.85222863183787,-9.872937106977048],[160.4625883323572,-9.895209649294841],[159.84944746321412,-9.794027194867354],[159.64000288313514,-9.639979750205278],[159.70294477766663,-9.242949720906815],[160.36295617089843,-9.40030445723557],[160.68851769433724,-9.610162448772869],[160.85222863183787,-9.872937106977048]]],[[[159.64000288313514,-8.020026950719632],[159.87502729719859,-8.337320244991737],[159.91740197167792,-8.53828989017483],[159.13367719953936,-8.114181410355428],[158.5861137229747,-7.754823500197737],[158.21114953026483,-7.421872246941199],[158.35997765526542,-7.320017998893917],[158.8200012555277,-7.560003350457379],[159.64000288313514,-8.020026950719632]]],[[[157.14000044171888,-7.021638278840641],[157.5384257346892,-7.347819919466943],[157.33941979393325,-7.404767347852592],[156.90203047101483,-7.176874281445428],[156.4913578635913,-6.765943291860452],[156.542827590154,-6.599338474151452],[157.14000044171888,-7.021638278840641]]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":4,\"sovereignt\":\"Vanuatu\",\"sov_a3\":\"VUT\",\"adm0_dif\":0,\"level\":2,\"type\":\"Sovereign country\",\"tlc\":\"1\",\"admin\":\"Vanuatu\",\"adm0_a3\":\"VUT\",\"geou_dif\":0,\"geounit\":\"Vanuatu\",\"gu_a3\":\"VUT\",\"su_dif\":0,\"subunit\":\"Vanuatu\",\"su_a3\":\"VUT\",\"brk_diff\":0,\"name\":\"Vanuatu\",\"name_long\":\"Vanuatu\",\"brk_a3\":\"VUT\",\"brk_name\":\"Vanuatu\",\"brk_group\":null,\"abbrev\":\"Van.\",\"postal\":\"VU\",\"formal_en\":\"Republic of Vanuatu\",\"formal_fr\":null,\"name_ciawf\":\"Vanuatu\",\"note_adm0\":null,\"note_brk\":null,\"name_sort\":\"Vanuatu\",\"name_alt\":null,\"mapcolor7\":6,\"mapcolor8\":3,\"mapcolor9\":7,\"mapcolor13\":3,\"pop_est\":299882,\"pop_rank\":10,\"pop_year\":2019,\"gdp_md\":934,\"gdp_year\":2019,\"economy\":\"7. Least developed region\",\"income_grp\":\"4. Lower middle income\",\"fips_10\":\"NH\",\"iso_a2\":\"VU\",\"iso_a2_eh\":\"VU\",\"iso_a3\":\"VUT\",\"iso_a3_eh\":\"VUT\",\"iso_n3\":\"548\",\"iso_n3_eh\":\"548\",\"un_a3\":\"548\",\"wb_a2\":\"VU\",\"wb_a3\":\"VUT\",\"woe_id\":23424907,\"woe_id_eh\":23424907,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"VUT\",\"adm0_diff\":null,\"adm0_tlc\":\"VUT\",\"adm0_a3_us\":\"VUT\",\"adm0_a3_fr\":\"VUT\",\"adm0_a3_ru\":\"VUT\",\"adm0_a3_es\":\"VUT\",\"adm0_a3_cn\":\"VUT\",\"adm0_a3_tw\":\"VUT\",\"adm0_a3_in\":\"VUT\",\"adm0_a3_np\":\"VUT\",\"adm0_a3_pk\":\"VUT\",\"adm0_a3_de\":\"VUT\",\"adm0_a3_gb\":\"VUT\",\"adm0_a3_br\":\"VUT\",\"adm0_a3_il\":\"VUT\",\"adm0_a3_ps\":\"VUT\",\"adm0_a3_sa\":\"VUT\",\"adm0_a3_eg\":\"VUT\",\"adm0_a3_ma\":\"VUT\",\"adm0_a3_pt\":\"VUT\",\"adm0_a3_ar\":\"VUT\",\"adm0_a3_jp\":\"VUT\",\"adm0_a3_ko\":\"VUT\",\"adm0_a3_vn\":\"VUT\",\"adm0_a3_tr\":\"VUT\",\"adm0_a3_id\":\"VUT\",\"adm0_a3_pl\":\"VUT\",\"adm0_a3_gr\":\"VUT\",\"adm0_a3_it\":\"VUT\",\"adm0_a3_nl\":\"VUT\",\"adm0_a3_se\":\"VUT\",\"adm0_a3_bd\":\"VUT\",\"adm0_a3_ua\":\"VUT\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Oceania\",\"region_un\":\"Oceania\",\"subregion\":\"Melanesia\",\"region_wb\":\"East Asia & Pacific\",\"name_len\":7,\"long_len\":7,\"abbrev_len\":4,\"tiny\":2,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":166.908762,\"label_y\":-15.37153,\"ne_id\":1159321421,\"wikidataid\":\"Q686\",\"name_ar\":\"فانواتو\",\"name_bn\":\"ভানুয়াতু\",\"name_de\":\"Vanuatu\",\"name_en\":\"Vanuatu\",\"name_es\":\"Vanuatu\",\"name_fa\":\"وانواتو\",\"name_fr\":\"Vanuatu\",\"name_el\":\"Βανουάτου\",\"name_he\":\"ונואטו\",\"name_hi\":\"वानूआटू\",\"name_hu\":\"Vanuatu\",\"name_id\":\"Vanuatu\",\"name_it\":\"Vanuatu\",\"name_ja\":\"バヌアツ\",\"name_ko\":\"바누아투\",\"name_nl\":\"Vanuatu\",\"name_pl\":\"Vanuatu\",\"name_pt\":\"Vanuatu\",\"name_ru\":\"Вануату\",\"name_sv\":\"Vanuatu\",\"name_tr\":\"Vanuatu\",\"name_uk\":\"Вануату\",\"name_ur\":\"وانواتو\",\"name_vi\":\"Vanuatu\",\"name_zh\":\"瓦努阿图\",\"name_zht\":\"萬那杜\",\"fclass_iso\":\"Admin-0 country\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 country\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"VUT.geojson\"},\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[[[167.2168013857696,-15.89184620530842],[167.84487674384502,-16.46633310309717],[167.51518110582288,-16.59784962327999],[167.1800077659778,-16.159995212470946],[167.2168013857696,-15.89184620530842]]],[[[166.79315799384085,-15.668810723536687],[166.6498592470955,-15.392703545801211],[166.6291369977464,-14.626497084209605],[167.10771243720149,-14.933920179913954],[167.27002811103023,-15.740020847234888],[167.00120731024793,-15.614602146062516],[166.79315799384085,-15.668810723536687]]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":1,\"labelrank\":4,\"sovereignt\":\"Antarctica\",\"sov_a3\":\"ATA\",\"adm0_dif\":0,\"level\":2,\"type\":\"Indeterminate\",\"tlc\":\"1\",\"admin\":\"Antarctica\",\"adm0_a3\":\"ATA\",\"geou_dif\":0,\"geounit\":\"Antarctica\",\"gu_a3\":\"ATA\",\"su_dif\":0,\"subunit\":\"Antarctica\",\"su_a3\":\"ATA\",\"brk_diff\":0,\"name\":\"Antarctica\",\"name_long\":\"Antarctica\",\"brk_a3\":\"ATA\",\"brk_name\":\"Antarctica\",\"brk_group\":null,\"abbrev\":\"Ant.\",\"postal\":\"AQ\",\"formal_en\":null,\"formal_fr\":null,\"name_ciawf\":null,\"note_adm0\":\"By treaty\",\"note_brk\":\"Multiple claims held in abeyance by treaty\",\"name_sort\":\"Antarctica\",\"name_alt\":null,\"mapcolor7\":4,\"mapcolor8\":5,\"mapcolor9\":1,\"mapcolor13\":-99,\"pop_est\":4490,\"pop_rank\":4,\"pop_year\":2019,\"gdp_md\":898,\"gdp_year\":2013,\"economy\":\"6. Developing region\",\"income_grp\":\"2. High income: nonOECD\",\"fips_10\":\"AY\",\"iso_a2\":\"AQ\",\"iso_a2_eh\":\"AQ\",\"iso_a3\":\"ATA\",\"iso_a3_eh\":\"ATA\",\"iso_n3\":\"010\",\"iso_n3_eh\":\"010\",\"un_a3\":\"010\",\"wb_a2\":\"-99\",\"wb_a3\":\"-99\",\"woe_id\":28289409,\"woe_id_eh\":28289409,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"ATA\",\"adm0_diff\":null,\"adm0_tlc\":\"ATA\",\"adm0_a3_us\":\"ATA\",\"adm0_a3_fr\":\"ATA\",\"adm0_a3_ru\":\"ATA\",\"adm0_a3_es\":\"ATA\",\"adm0_a3_cn\":\"ATA\",\"adm0_a3_tw\":\"ATA\",\"adm0_a3_in\":\"ATA\",\"adm0_a3_np\":\"ATA\",\"adm0_a3_pk\":\"ATA\",\"adm0_a3_de\":\"ATA\",\"adm0_a3_gb\":\"ATA\",\"adm0_a3_br\":\"ATA\",\"adm0_a3_il\":\"ATA\",\"adm0_a3_ps\":\"ATA\",\"adm0_a3_sa\":\"ATA\",\"adm0_a3_eg\":\"ATA\",\"adm0_a3_ma\":\"ATA\",\"adm0_a3_pt\":\"ATA\",\"adm0_a3_ar\":\"ATA\",\"adm0_a3_jp\":\"ATA\",\"adm0_a3_ko\":\"ATA\",\"adm0_a3_vn\":\"ATA\",\"adm0_a3_tr\":\"ATA\",\"adm0_a3_id\":\"ATA\",\"adm0_a3_pl\":\"ATA\",\"adm0_a3_gr\":\"ATA\",\"adm0_a3_it\":\"ATA\",\"adm0_a3_nl\":\"ATA\",\"adm0_a3_se\":\"ATA\",\"adm0_a3_bd\":\"ATA\",\"adm0_a3_ua\":\"ATA\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Antarctica\",\"region_un\":\"Antarctica\",\"subregion\":\"Antarctica\",\"region_wb\":\"Antarctica\",\"name_len\":10,\"long_len\":10,\"abbrev_len\":4,\"tiny\":-99,\"homepart\":1,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":35.885455,\"label_y\":-79.843222,\"ne_id\":1159320335,\"wikidataid\":\"Q51\",\"name_ar\":\"القارة القطبية الجنوبية\",\"name_bn\":\"অ্যান্টার্কটিকা\",\"name_de\":\"Antarktika\",\"name_en\":\"Antarctica\",\"name_es\":\"Antártida\",\"name_fa\":\"جنوبگان\",\"name_fr\":\"Antarctique\",\"name_el\":\"Ανταρκτική\",\"name_he\":\"אנטארקטיקה\",\"name_hi\":\"अंटार्कटिका\",\"name_hu\":\"Antarktika\",\"name_id\":\"Antartika\",\"name_it\":\"Antartide\",\"name_ja\":\"南極大陸\",\"name_ko\":\"남극\",\"name_nl\":\"Antarctica\",\"name_pl\":\"Antarktyda\",\"name_pt\":\"Antártida\",\"name_ru\":\"Антарктида\",\"name_sv\":\"Antarktis\",\"name_tr\":\"Antarktika\",\"name_uk\":\"Антарктида\",\"name_ur\":\"انٹارکٹکا\",\"name_vi\":\"Châu Nam Cực\",\"name_zh\":\"南极洲\",\"name_zht\":\"南極洲\",\"fclass_iso\":\"Admin-0 dependency\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 dependency\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"ATA.geojson\"},\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[[[-48.66061601418252,-78.04701873159873],[-48.1513964503784,-78.04706960058677],[-46.66285681821098,-77.83147552506506],[-45.15475765642109,-78.04706960058677],[-43.92082780615574,-78.47810272233328],[-43.48994971370611,-79.0855599913685],[-43.37243750667439,-79.51664478954731],[-43.33326677099714,-80.0261227355129],[-44.880536668464266,-80.33964365022769],[-46.50617387550203,-80.59435678499433],[-48.38642086444183,-80.82948455192233],[-50.48210689960646,-81.02544158317313],[-52.85198808451179,-80.96668547965729],[-54.16425940613162,-80.63352752067158],[-53.987991095584036,-80.22202809033138],[-51.85313432474216,-79.94772958772612],[-50.99132646341059,-79.6146233051727],[-50.364594692574755,-79.1834868305616],[-49.91413123228649,-78.81120900488669],[-49.30695899107312,-78.45856903092695],[-48.66061601418252,-78.04701792415447],[-48.66061601418252,-78.04701873159873]]],[[[-66.29003089055513,-80.25577280061798],[-64.03768775089767,-80.29494353629522],[-61.88324561221718,-80.39287037548831],[-61.13897579613348,-79.98137094514813],[-60.61011918805844,-79.6286792947561],[-59.572094692611586,-80.04017872509628],[-59.86584937197473,-80.54965667106185],[-60.15965572777019,-81.00032683707929],[-62.25539343936711,-80.86317758577665],[-64.48812537296979,-80.92193368929253],[-65.74166642928991,-80.5888274067391],[-65.74166642928991,-80.54965667106185],[-66.29003089055513,-80.25577280061798]]],[[[-73.9158186510023,-71.26934457792578],[-73.9158186510023,-71.26934377048153],[-73.23033077665059,-71.15177988701751],[-72.07471655952358,-71.19095062269476],[-71.78096188016042,-70.68147267672917],[-71.72217993842841,-70.30919565849851],[-71.74179114448319,-69.50578216565675],[-71.1738154771632,-69.03547495536841],[-70.25325151231577,-68.87874033622717],[-69.72444658067303,-69.25101735445783],[-69.48942216660959,-69.62334604912077],[-69.05851823594381,-70.0740162151382],[-68.72554114447112,-70.5051526897493],[-68.45134599473043,-70.95582285576673],[-68.33383378769872,-71.40649302178416],[-68.51012793646244,-71.79840708428573],[-68.78429724798698,-72.17073577894867],[-69.95947099473648,-72.3078850302513],[-71.07588863797011,-72.50384206150208],[-72.38813412137378,-72.48425669366347],[-71.89849992540829,-72.0923426311619],[-73.07362199572549,-72.22949188246453],[-74.19003963895912,-72.36669281019945],[-74.95389482288145,-72.07275726332328],[-75.01262508818117,-71.6612578329831],[-73.9158186510023,-71.26934457792578]]],[[[-102.33072506387639,-71.89416432076682],[-102.33072506387639,-71.89416351332257],[-101.70396745482441,-71.7177918499104],[-100.43091854531409,-71.85499277764532],[-98.98154964882391,-71.9333342489998],[-97.88474321164506,-72.07053517673472],[-96.78793677446619,-71.95297129327072],[-96.20034990109144,-72.52120534275215],[-96.98376461463623,-72.44286387139768],[-98.19808325884682,-72.48203460707492],[-99.43201310911218,-72.44286387139768],[-100.78345516640925,-72.50161997491354],[-101.80186845580137,-72.30566294366275],[-102.33072506387639,-71.89416432076682]]],[[[-122.62173458544193,-73.65777760202387],[-122.6217353928862,-73.65777679457962],[-122.40624467022907,-73.32461883559391],[-121.21151139385711,-73.50099049900608],[-119.91885127829204,-73.65772511814733],[-118.72414303269196,-73.48135345473517],[-119.29211870001194,-73.8340967815595],[-120.23221716370998,-74.08880991632614],[-121.62282995668428,-74.01046844497165],[-122.62173458544193,-73.65777760202387]]],[[[-127.28312964568192,-73.46176889434079],[-127.28313045312619,-73.46176808689654],[-126.55847184309725,-73.24622568780714],[-125.55956640689534,-73.48135345473517],[-124.03188187726683,-73.87326751723673],[-124.61946875064157,-73.8340967815595],[-125.91218054263894,-73.7361182659341],[-127.28312964568192,-73.46176889434079]]],[[[-163.7128956777287,-78.59566741324154],[-163.7128956777287,-78.59566660579729],[-163.1058009511638,-78.22333791113434],[-161.24511349184644,-78.38017588314018],[-160.24620805564453,-78.69364512142268],[-159.48240454815448,-79.04633757925897],[-159.20818356019765,-79.49705942170868],[-161.12760128481472,-79.63420867301133],[-162.43984676821842,-79.28146534618699],[-163.027407803377,-78.92877369579496],[-163.06660437727038,-78.8699659158468],[-163.7128956777287,-78.59566741324154]]],[[[180,-84.71338],[180,-90],[-180,-90],[-180,-84.71338],[-179.94249935617898,-84.72144337355252],[-179.05867733469117,-84.13941171664914],[-177.25677181710577,-84.45293263136392],[-177.1408066732658,-84.41794122714828],[-176.08467281807765,-84.09925912875838],[-175.94723461362773,-84.11044871021659],[-175.82988216866258,-84.11791432081571],[-174.38250281481567,-84.53432301222352],[-173.11655941474544,-84.11791432081571],[-172.88910559801278,-84.06101856886238],[-169.9512229075714,-83.88464690545015],[-168.9999889801587,-84.11791432081571],[-168.5301985341933,-84.23739023227444],[-167.02209937240337,-84.57049651482794],[-164.1821435211551,-84.82520964959463],[-161.9297745432814,-85.13873056430941],[-158.07137956442492,-85.37391000766968],[-155.19225297749927,-85.09955982863215],[-150.942098965438,-85.29551685988292],[-148.53307288307155,-85.60903777459771],[-145.88891822633295,-85.31510222772158],[-143.10771847860048,-85.04075204868394],[-142.89227943237557,-84.57049651482794],[-146.82906836646328,-84.53127410271838],[-150.06073157448392,-84.29614633579035],[-150.9029282297608,-83.90423227328881],[-153.58620113830017,-83.68868987419938],[-153.4099069895364,-83.23801970818204],[-153.03775916238646,-82.82652027784184],[-152.66563717345272,-82.45419158317884],[-152.86151669005503,-82.04269215283858],[-154.52629879455392,-81.76839365023335],[-155.29017981669236,-81.41565032340901],[-156.83744971415953,-81.10212940869428],[-154.4087865875222,-81.16093718864244],[-152.0976615061328,-81.00415089306881],[-150.6482926096426,-81.33730885205455],[-148.86599829811203,-81.0433733051783],[-147.22074988501947,-80.67104461051548],[-146.41774899619182,-80.33793832796204],[-146.77028642473124,-79.92643889762189],[-148.06294654029634,-79.65208871858425],[-149.53190080462508,-79.35820484814042],[-151.58841610411247,-79.29939706819226],[-153.39032162169778,-79.16224781688965],[-155.32937639058574,-79.06426930126423],[-155.97566769104412,-78.69193979915707],[-157.26830196839302,-78.37841888444223],[-158.05176835837008,-78.02567555761794],[-158.365134243788,-76.889207458655],[-157.8754742096064,-76.98723765071264],[-156.974573127246,-77.30075856542754],[-155.32937639058574,-77.20272837336978],[-153.74283240457677,-77.06557912206722],[-152.92024695535474,-77.49666392024602],[-151.33378048399427,-77.39873708105284],[-150.00194963275192,-77.18314300553124],[-148.7484860910803,-76.90884450292594],[-147.61248308000805,-76.57573822037256],[-146.10440894899006,-76.47775970474709],[-146.14352800823497,-76.1054310100842],[-146.4960912749905,-75.7331539918535],[-146.20230994996697,-75.38041066502922],[-144.9096239961858,-75.20403900161699],[-144.32203712281103,-75.53719696060273],[-142.79435259318257,-75.34123992935196],[-141.63876421427165,-75.08647511815298],[-140.2090065238362,-75.06688975031443],[-138.85759030475532,-74.96891123468896],[-137.5061999238905,-74.73378346776099],[-136.42890133990187,-74.51824106867161],[-135.21458269569132,-74.30269866958218],[-134.43119382036258,-74.36145477309799],[-133.7456542695786,-74.43984792088486],[-132.25716792873203,-74.30269866958218],[-130.92531123927358,-74.47901865656195],[-129.55428381413782,-74.45943328872346],[-128.2420383307342,-74.32228403742073],[-126.89062211165322,-74.4202625530462],[-125.40208247948584,-74.51824106867161],[-124.01149552472765,-74.47901865656195],[-122.56215246645365,-74.49860402440066],[-121.07361283428622,-74.51824106867161],[-119.70255957093428,-74.47901865656195],[-118.68414547409799,-74.18508310968588],[-117.46980099167126,-74.02834849054466],[-116.21631161178345,-74.24389088963397],[-115.02155249719539,-74.06751922622186],[-113.9443314278551,-73.71482757582987],[-113.29798845096451,-74.02834849054466],[-112.94545182986934,-74.38104014093665],[-112.29908301476263,-74.71419809992238],[-111.26105851931567,-74.4202625530462],[-110.06632524294378,-74.79253957127685],[-108.71490902386279,-74.91010345474086],[-107.55934648316816,-75.18445363377845],[-106.14914832235507,-75.12569753026253],[-104.87607357462872,-74.94932586685042],[-103.36794857462269,-74.98849660252768],[-102.01650651732564,-75.12569753026253],[-100.64553076862228,-75.30201751724246],[-100.1166999987633,-74.87093271906349],[-100.763042975654,-74.53782643651022],[-101.25270300983556,-74.18508310968588],[-102.54533728718457,-74.10674163833141],[-103.11331295450452,-73.73441294366842],[-103.32875200072931,-73.36208424900553],[-103.68128862182442,-72.61753021254418],[-102.9174851143344,-72.75467946384686],[-101.60523963093078,-72.81343556736266],[-100.31252783893342,-72.75467946384686],[-99.13737993040007,-72.91141408298807],[-98.11888912635953,-73.2053496298642],[-97.68803687212608,-73.5580412802563],[-96.33659481482897,-73.6168490602044],[-95.0439605374799,-73.47969980890184],[-93.67290727412814,-73.28374277765096],[-92.43900326207898,-73.16617889418706],[-91.42056413447074,-73.40130666111509],[-90.08873328322846,-73.32291351332816],[-89.22695126011297,-72.55872243259591],[-88.42395117872957,-73.00939259861343],[-87.26833696160259,-73.18576426202566],[-86.01482174349849,-73.08778574640019],[-85.19223629427654,-73.47969980890184],[-83.87999081087281,-73.51887054457893],[-82.66564632844609,-73.63643442804306],[-81.4709130520742,-73.85197682713243],[-80.68744666209705,-73.47969980890184],[-80.29579098175702,-73.12695648207739],[-79.29688554555503,-73.51887054457893],[-77.92585812041932,-73.42089202895363],[-76.90736731637878,-73.63643442804306],[-76.2218794420271,-73.96954071059645],[-74.89004859078483,-73.87161387140338],[-73.85202409533798,-73.65601979588166],[-72.83353329129744,-73.40130666111509],[-71.61921464708689,-73.26415740981241],[-70.20904232448999,-73.1465418499161],[-68.93591590033128,-73.00939259861343],[-67.95662167018412,-72.79385019952406],[-67.36906063502556,-72.48032928480927],[-67.13403622096206,-72.04924448663041],[-67.25154842799373,-71.63774505629027],[-67.56494015162792,-71.24583099378873],[-67.91747677272303,-70.85391693128707],[-68.23084265814094,-70.46205454521782],[-68.48545244004305,-70.10931121839354],[-68.54420854355897,-69.717397155892],[-68.44628170436579,-69.3255347698227],[-67.97623287623895,-68.95320607515976],[-67.58449968125035,-68.5417066448195],[-67.42784257675754,-68.14984425875025],[-67.62367041692767,-67.7187594605715],[-67.74118262395939,-67.3268453980699],[-67.25154842799373,-66.87617523205245],[-66.7031839667286,-66.5822396851762],[-66.05681515162189,-66.20996266694567],[-65.37132727727015,-65.89639007579859],[-64.56827551945446,-65.6025062053547],[-64.17654232446586,-65.1714230220644],[-63.62815202498456,-64.8970728430267],[-63.00139441593262,-64.6423080318279],[-62.041685553624006,-64.58355192831198],[-61.41492794457207,-64.27003101359719],[-60.70985470238173,-64.07407398234642],[-59.887269253159616,-63.956510098882404],[-59.16258480491456,-63.701745287683536],[-58.59455746116231,-63.38822437296864],[-57.811142747617566,-63.27066048950462],[-57.223581712458895,-63.52542530070366],[-57.5957295396089,-63.85853158325705],[-58.61414282900097,-64.15246713013318],[-59.04507259788289,-64.3680095292226],[-59.78934241396661,-64.2112232336491],[-60.61192786318867,-64.3092017492744],[-61.29741573754035,-64.54432951620254],[-62.02210018578546,-64.7990943274014],[-62.51176021996696,-65.09302987427748],[-62.6488577948374,-65.48494232189068],[-62.59012752953771,-65.85721934012133],[-62.12007870141076,-66.19032562267466],[-62.80556657576244,-66.42550506603499],[-63.7456900702324,-66.50384653738956],[-64.29410620792999,-66.83700449637524],[-64.88169308130466,-67.15047373465768],[-65.50842485214054,-67.58161020926889],[-65.66508195663334,-67.95388722749948],[-65.31254533553812,-68.36533498140739],[-64.7837145656793,-68.67890757255452],[-63.961103278241126,-68.9139836630502],[-63.1972997707511,-69.22755625419728],[-62.78595536970778,-69.61941864026653],[-62.570516323482934,-69.99174733492953],[-62.27673580590357,-70.38366139743107],[-61.80666113956062,-70.71676767998451],[-61.51290646019743,-71.0890446982151],[-61.37580888532716,-72.01007375095315],[-61.08197669131556,-72.38235076918386],[-61.003661058177215,-72.7742648316854],[-60.69026933454313,-73.16617889418706],[-60.827366909413456,-73.69524220799121],[-61.37580888532716,-74.10674163833141],[-61.96336992048572,-74.43984792088486],[-63.29520077172799,-74.57699717218742],[-63.7456900702324,-74.92974049901176],[-64.35283647322962,-75.2628467815652],[-65.86098731145182,-75.63512379979574],[-67.19281816269415,-75.79191009536942],[-68.44628170436579,-76.00745249445879],[-69.7977237616629,-76.22299489354822],[-70.6007238430463,-76.63449432388842],[-72.2067756822454,-76.67366505956568],[-73.9695363023697,-76.63449432388842],[-75.55597693551408,-76.71288747167517],[-77.24037024606764,-76.71288747167517],[-76.92697852243361,-77.10480153417677],[-75.39929399280499,-77.28106984472436],[-74.28287634957144,-77.55542002376177],[-73.6561187405195,-77.90811167415393],[-74.7725363837531,-78.22163258886872],[-76.49610042998398,-78.12365407324324],[-77.92585812041932,-78.37841888444223],[-77.98466590036753,-78.78991831478237],[-78.0237849596125,-79.18183318472825],[-76.8486370510791,-79.51493946728169],[-76.63322384307043,-79.88721648551223],[-75.36009741891172,-80.25954518017522],[-73.24485185412459,-80.41633147574879],[-71.44294633653925,-80.69062997835402],[-70.01316280788774,-81.00415089306881],[-68.19164608424757,-81.3176718077836],[-65.70427853052672,-81.47445810335722],[-63.25603003605073,-81.74875660596251],[-61.55202551944234,-82.04269215283858],[-59.69141557477349,-82.37585011182438],[-58.71212134462627,-82.84610564568038],[-58.22248714866089,-83.21843434034338],[-57.008116828017876,-82.86569101351904],[-55.362894253141576,-82.5717554666428],[-53.61977067728827,-82.25823455192807],[-51.54364417174605,-82.00352141716132],[-49.76134986021549,-81.7291712381238],[-47.27393063006224,-81.70958587028525],[-44.82570797380254,-81.84673512158781],[-42.80836340999241,-82.08191456494814],[-42.162020433101816,-81.65082976676933],[-40.771433478343624,-81.3568942198932],[-38.24481767429711,-81.33730885205455],[-36.26666968438025,-81.12171477653294],[-34.38639685722438,-80.90617237744351],[-32.31029618989834,-80.76902312614078],[-30.097097947702025,-80.59265146272867],[-28.549802212018733,-80.33793832796204],[-29.25490129242513,-79.9851950011377],[-29.685805223090995,-79.63250335074571],[-29.685805223090995,-79.260226332515],[-31.62480831554666,-79.29939706819226],[-33.68132361503399,-79.45613168733348],[-35.63991207532831,-79.45613168733348],[-35.91410722506902,-79.08385466910289],[-35.77700965019869,-78.33924814876502],[-35.32654618991046,-78.12365407324324],[-33.89676266125889,-77.88852630631527],[-32.21236935070527,-77.65345021581953],[-30.99805070649461,-77.35951466894335],[-29.783732062284116,-77.06557912206722],[-28.882779303491418,-76.67366505956568],[-27.511751878355653,-76.49734507258574],[-26.16033565927478,-76.36014414485078],[-25.474821946706925,-76.28180267349632],[-23.927552049239807,-76.24258026138676],[-22.458597784910978,-76.1054310100842],[-21.224693772861826,-75.90947397883343],[-20.010375128651106,-75.6743462119054],[-18.913542853256217,-75.43921844497731],[-17.5229817367142,-75.12569753026253],[-16.641588507544043,-74.79253957127685],[-15.70149085129026,-74.49860402440066],[-15.407710333710895,-74.10674163833141],[-16.4653201969964,-73.87161387140338],[-16.11278357590129,-73.46011444106318],[-15.44685523117198,-73.1465418499161],[-14.408804897509015,-72.95058481866533],[-13.311972622114013,-72.7154570517373],[-12.293507656289592,-72.40193613702252],[-11.510067104528616,-72.01007375095315],[-11.020432908563066,-71.53976654066486],[-10.295774298534184,-71.26541636162733],[-9.101015183946117,-71.32422414157548],[-8.611380987980624,-71.65733042412887],[-7.416621873392444,-71.69650115980608],[-7.377451137715298,-71.32422414157548],[-6.868231573911146,-70.93231007907394],[-5.790984666354802,-71.0302885946993],[-5.536374884452698,-71.4026172893623],[-4.341667446296924,-71.4613733928781],[-3.048981492515622,-71.28505340589817],[-1.795492112627812,-71.16743784600186],[-0.65948910155555,-71.22624562595007],[-0.228636847322093,-71.63774505629027],[0.868195428072909,-71.30463877373683],[1.886686232113505,-71.12826711032471],[3.022637566753417,-70.9911178590221],[4.139055209987021,-70.85391693128707],[5.157546014027616,-70.61878916435904],[6.273911980828871,-70.46205454521782],[7.135719842160597,-70.24651214612834],[7.742866245157813,-69.89376881930406],[8.487110223025297,-70.14853363050304],[9.525134718472202,-70.01133270276819],[10.249845004933434,-70.48163991305648],[10.817820672253333,-70.83433156344853],[11.953823683325595,-70.63837453219776],[12.404287143613942,-70.24651214612834],[13.422777947654367,-69.97216196709093],[14.734997592841978,-70.03091807060673],[15.126756626046586,-70.40324676526973],[15.94934207526859,-70.03091807060673],[17.02658898282516,-69.91335418714277],[18.201711053142276,-69.87418345146551],[19.259372592860018,-69.89376881930406],[20.375738559661443,-70.01133270276819],[21.452985467217786,-70.07014048271628],[21.923034295344735,-70.40324676526973],[22.56940311045139,-70.69718231214586],[23.666183709414213,-70.52081064873374],[24.841357456163564,-70.48163991305648],[25.977308790803647,-70.48163991305648],[27.09372643403725,-70.46205454521782],[28.09258019380684,-70.32485361748297],[29.15024173352458,-70.20728973401896],[30.031583286262503,-69.93293955498132],[30.97173261894858,-69.7566195680015],[31.990171746556825,-69.65864105237603],[32.75405276869532,-69.3842908733385],[33.30244306817667,-68.83564219169574],[33.87041873549657,-68.50258758557459],[34.908494907375825,-68.65927052828351],[35.300202264148254,-69.01201385510791],[36.16201012547975,-69.24714162203594],[37.2000346209266,-69.16874847424907],[37.905107863116825,-69.52144012464123],[38.649403517416886,-69.77620493584016],[39.66789432145737,-69.54107716891207],[40.02043094255248,-69.10994069430097],[40.92135786312906,-68.93362070732115],[41.959434035008144,-68.60051442476771],[42.938702426939074,-68.46331349703274],[44.11387617368865,-68.26740814221426],[44.897290887233396,-68.05186574312489],[45.719928012887806,-67.8167379761968],[46.50334272643261,-67.60119557710749],[47.443440382686276,-67.7187594605715],[48.34441897969509,-67.36606781017946],[48.99073611836957,-67.09171763114188],[49.930885451055644,-67.11130299898048],[50.753470900277705,-66.87617523205245],[50.94932457866389,-66.52348358166046],[51.79154707215696,-66.24913340262287],[52.61413252137896,-66.0531763713721],[53.61303795758079,-65.89639007579859],[54.533550245996025,-65.81804860444396],[55.41494347516618,-65.87680470795993],[56.35504113141985,-65.97478322358535],[57.15809288923566,-66.24913340262287],[57.25596805199649,-66.68021820080168],[58.13736128116665,-67.01332448335512],[58.744507684163864,-67.28767466239265],[59.93931847518422,-67.40523854585672],[60.60522098169736,-67.67958872489424],[61.42780643091936,-67.95388722749948],[62.38748945501169,-68.01269500744758],[63.19048953639515,-67.8167379761968],[64.052349074159,-67.40523854585672],[64.9924467304129,-67.62072926851374],[65.97171512234388,-67.73834482840999],[66.91186445502973,-67.85590871187412],[67.89113284696089,-67.93430185966076],[68.89003828316288,-67.93430185966076],[69.71262373238477,-68.97279144299841],[69.67345299670745,-69.22755625419728],[69.55594078967584,-69.67822642021474],[68.59625776558352,-69.93293955498132],[67.81273969917413,-70.30526824964431],[67.94988895047663,-70.69718231214586],[69.06630659371024,-70.67754526787496],[68.92915734240779,-71.06945933037656],[68.41998945503593,-71.4417880250395],[67.94988895047663,-71.85328745537964],[68.71376997261513,-72.16680837009437],[69.86930667509387,-72.26478688571984],[71.02489505400456,-72.08841522230773],[71.57328535348603,-71.69650115980608],[71.90628828317489,-71.32422414157548],[72.45462690622401,-71.01070322686058],[73.08141035349206,-70.71676767998451],[73.33602013539416,-70.36402435316018],[73.86487674346921,-69.87418345146551],[74.49155683787268,-69.77620493584016],[75.62755984894494,-69.73703420016284],[76.62646528514676,-69.61941864026653],[77.64490441275518,-69.46268402112526],[78.13453860872056,-69.07076995862371],[78.42837080273216,-68.69844126396072],[79.1138586770839,-68.32621592216248],[80.09312706901488,-68.07150278739579],[80.93534956250772,-67.87554575614502],[81.48379153842143,-67.54238779715922],[82.05176720574138,-67.36606781017946],[82.77642581577044,-67.20928151460589],[83.77533125197237,-67.30726003023125],[84.6762064961166,-67.20928151460589],[85.65552656447994,-67.09171763114188],[86.75235883987477,-67.15047373465768],[87.47701744990383,-66.87617523205245],[87.98628869014021,-66.20991099051338],[88.35841067907398,-66.4842611695509],[88.82840783076853,-66.95456837983926],[89.6706303242616,-67.15047373465768],[90.63036502478627,-67.22886688244449],[91.59009972531084,-67.11130299898048],[92.60853885291903,-67.18969614676723],[93.54863650917292,-67.20928151460589],[94.17541995644098,-67.11130299898048],[95.01759077350164,-67.17011077892869],[95.78147179564019,-67.385653178018],[96.68239871621677,-67.24850392671544],[97.75964562377311,-67.24850392671544],[98.68020958862053,-67.11130299898048],[99.71818240763503,-67.24850392671544],[100.38418826701275,-66.9153459677297],[100.8933561543846,-66.5822396851762],[101.57889570516852,-66.30788950613868],[102.83241092327262,-65.56328379324515],[103.47867638551475,-65.70048472098],[104.24255740765307,-65.97478322358535],[104.9084599141662,-66.32752655040969],[106.18156050010873,-66.93493133556836],[107.16088056847207,-66.95456837983926],[108.08139285688713,-66.95456837983926],[109.15863976444365,-66.83700449637524],[110.23583499556781,-66.69980356864033],[111.05847212122205,-66.42550506603499],[111.74395999557385,-66.13156951915892],[112.86037763880745,-66.09234710704936],[113.60467329310734,-65.87680470795993],[114.38808800665197,-66.0727617392107],[114.89730757045618,-66.38628265392543],[115.60238081264652,-66.69980356864033],[116.69916141160934,-66.66063283296302],[117.38470096239314,-66.9153459677297],[118.57946007698126,-67.17011077892869],[119.83292361865301,-67.26808929455399],[120.8709997905321,-67.18969614676723],[121.65441450407707,-66.87617523205245],[122.32036868702232,-66.56265431733766],[123.2212956075989,-66.4842611695509],[124.1222742046076,-66.62146209728587],[125.16024702362222,-66.71938893647894],[126.10039635630835,-66.56265431733766],[127.00142662974929,-66.56265431733766],[127.88276818248721,-66.66063283296302],[128.80328047090234,-66.75861134858849],[129.70425906791115,-66.5822396851762],[130.78145429903543,-66.42550506603499],[131.79994510307586,-66.38628265392543],[132.9358964377161,-66.38628265392543],[133.85646040256336,-66.28830413830013],[134.75738732313982,-66.20996266694567],[135.0315824728807,-65.72007008881866],[135.0707532085578,-65.30857065847846],[135.6974849793935,-65.58286916108369],[135.87380496637343,-66.03359100353345],[136.2067045431977,-66.4450904338737],[136.61804894424108,-66.77819671642698],[137.46027143773392,-66.95456837983926],[138.59622277237406,-66.8957605998911],[139.90844241756145,-66.87617523205245],[140.80942101457026,-66.81736745210435],[142.1216923361901,-66.81736745210435],[143.06184166887613,-66.79778208426569],[144.37406131406362,-66.83700449637524],[145.490427280865,-66.9153459677297],[146.1955521994878,-67.22886688244449],[145.99969852110144,-67.60119557710749],[146.64606733620815,-67.89513112398367],[147.7232625673323,-68.1302588909117],[148.83962853413368,-68.38502370211057],[150.13231448791487,-68.56129201265821],[151.48370486877957,-68.71812998466402],[152.50224734925246,-68.87481292737294],[153.63819868389248,-68.89450164807613],[154.2845674989992,-68.56129201265821],[155.16585737530477,-68.83564219169574],[155.92979007387544,-69.14921478284282],[156.81113162661336,-69.3842908733385],[158.02552778547238,-69.48226938896397],[159.1810128115187,-69.59983327242799],[159.6706986839165,-69.99174733492953],[160.8066500185564,-70.2268751018575],[161.57047936426272,-70.57961842868184],[162.68689700749633,-70.73635304782317],[163.8424337099749,-70.71676767998451],[164.91968061753118,-70.77552378350032],[166.11443973211942,-70.75593841566177],[167.30909549384296,-70.83433156344853],[168.42561648994115,-70.97148081475109],[169.46358930895587,-71.20666025811136],[170.50166548083496,-71.4026172893623],[171.20679039945753,-71.69650115980608],[171.0892265159937,-72.08841522230773],[170.5604215843507,-72.44115854913207],[170.10995812406236,-72.89182871514942],[169.75736982653507,-73.24452036554152],[169.2873209984083,-73.65601979588166],[167.97510135322068,-73.81280609145517],[167.38748864162972,-74.16549774184722],[166.09480268784841,-74.38104014093665],[165.64439090399242,-74.77295420343819],[164.9588513532085,-75.14528289810119],[164.23419274317962,-75.45880381281597],[163.8227966657039,-75.87030324315617],[163.56823856023425,-76.24258026138676],[163.47026004460895,-76.69330210383652],[163.48989708887973,-77.06557912206722],[164.05787275619969,-77.45744150813647],[164.27336347885694,-77.82977020279935],[164.74346398341606,-78.18251352962375],[166.60412560451732,-78.31961110449402],[166.99578128485734,-78.75074757910522],[165.19387576727195,-78.90748300569072],[163.66621707585955,-79.12302540477998],[161.7663847190811,-79.16224781688965],[160.92416222558825,-79.73048186637101],[160.74789391504066,-80.20073740022713],[160.31696414615863,-80.57306609489001],[159.78821089094833,-80.945394789553],[161.12001590397438,-81.27850107210645],[161.62928714421082,-81.6900005024466],[162.49099165267796,-82.0622775206773],[163.70533613510474,-82.39543547966286],[165.09594892807877,-82.70895639437782],[166.60412560451732,-83.02247730909255],[168.89566531806793,-83.3359982238074],[169.40478152900755,-83.82589080193435],[172.28393395414935,-84.04143320102366],[172.47704878162415,-84.11791432081571],[173.22408328683537,-84.41371021925437],[175.9856718285131,-84.15899708448768],[178.27721154206392,-84.47251799920247],[180,-84.71338]]]]}},{\"type\":\"Feature\",\"properties\":{\"featurecla\":\"Admin-0 country\",\"scalerank\":3,\"labelrank\":6,\"sovereignt\":\"France\",\"sov_a3\":\"FR1\",\"adm0_dif\":1,\"level\":2,\"type\":\"Dependency\",\"tlc\":\"1\",\"admin\":\"French Southern and Antarctic Lands\",\"adm0_a3\":\"ATF\",\"geou_dif\":0,\"geounit\":\"French Southern and Antarctic Lands\",\"gu_a3\":\"ATF\",\"su_dif\":0,\"subunit\":\"French Southern and Antarctic Lands\",\"su_a3\":\"ATF\",\"brk_diff\":0,\"name\":\"Fr. S. Antarctic Lands\",\"name_long\":\"French Southern and Antarctic Lands\",\"brk_a3\":\"ATF\",\"brk_name\":\"Fr. S. and Antarctic Lands\",\"brk_group\":null,\"abbrev\":\"Fr. S.A.L.\",\"postal\":\"TF\",\"formal_en\":\"Territory of the French Southern and Antarctic Lands\",\"formal_fr\":null,\"name_ciawf\":null,\"note_adm0\":\"Fr.\",\"note_brk\":null,\"name_sort\":\"French Southern and Antarctic Lands\",\"name_alt\":null,\"mapcolor7\":7,\"mapcolor8\":5,\"mapcolor9\":9,\"mapcolor13\":11,\"pop_est\":140,\"pop_rank\":1,\"pop_year\":2017,\"gdp_md\":16,\"gdp_year\":2016,\"economy\":\"6. Developing region\",\"income_grp\":\"2. High income: nonOECD\",\"fips_10\":\"FS\",\"iso_a2\":\"TF\",\"iso_a2_eh\":\"TF\",\"iso_a3\":\"ATF\",\"iso_a3_eh\":\"ATF\",\"iso_n3\":\"260\",\"iso_n3_eh\":\"260\",\"un_a3\":\"260\",\"wb_a2\":\"-99\",\"wb_a3\":\"-99\",\"woe_id\":28289406,\"woe_id_eh\":28289406,\"woe_note\":\"Exact WOE match as country\",\"adm0_iso\":\"ATF\",\"adm0_diff\":null,\"adm0_tlc\":\"ATF\",\"adm0_a3_us\":\"ATF\",\"adm0_a3_fr\":\"ATF\",\"adm0_a3_ru\":\"ATF\",\"adm0_a3_es\":\"ATF\",\"adm0_a3_cn\":\"ATF\",\"adm0_a3_tw\":\"ATF\",\"adm0_a3_in\":\"ATF\",\"adm0_a3_np\":\"ATF\",\"adm0_a3_pk\":\"ATF\",\"adm0_a3_de\":\"ATF\",\"adm0_a3_gb\":\"ATF\",\"adm0_a3_br\":\"ATF\",\"adm0_a3_il\":\"ATF\",\"adm0_a3_ps\":\"ATF\",\"adm0_a3_sa\":\"ATF\",\"adm0_a3_eg\":\"ATF\",\"adm0_a3_ma\":\"ATF\",\"adm0_a3_pt\":\"ATF\",\"adm0_a3_ar\":\"ATF\",\"adm0_a3_jp\":\"ATF\",\"adm0_a3_ko\":\"ATF\",\"adm0_a3_vn\":\"ATF\",\"adm0_a3_tr\":\"ATF\",\"adm0_a3_id\":\"ATF\",\"adm0_a3_pl\":\"ATF\",\"adm0_a3_gr\":\"ATF\",\"adm0_a3_it\":\"ATF\",\"adm0_a3_nl\":\"ATF\",\"adm0_a3_se\":\"ATF\",\"adm0_a3_bd\":\"ATF\",\"adm0_a3_ua\":\"ATF\",\"adm0_a3_un\":-99,\"adm0_a3_wb\":-99,\"continent\":\"Seven seas (open ocean)\",\"region_un\":\"Africa\",\"subregion\":\"Seven seas (open ocean)\",\"region_wb\":\"Sub-Saharan Africa\",\"name_len\":22,\"long_len\":35,\"abbrev_len\":10,\"tiny\":2,\"homepart\":-99,\"min_zoom\":0,\"min_label\":4,\"max_label\":9,\"label_x\":69.122136,\"label_y\":-49.303721,\"ne_id\":1159320631,\"wikidataid\":\"Q129003\",\"name_ar\":\"أراض فرنسية جنوبية وأنتارتيكية\",\"name_bn\":\"ফ্র. এস. অ্যান্ড অ্যান্টার্কটিক ল্যান্ড\",\"name_de\":\"Französische Süd- und Antarktisgebiete\",\"name_en\":\"French Southern and Antarctic Lands\",\"name_es\":\"Tierras Australes y Antárticas Francesas\",\"name_fa\":\"سرزمینهای جنوبی و جنوبگانی فرانسه\",\"name_fr\":\"Terres australes et antarctiques françaises\",\"name_el\":\"Γαλλικά Νότια και Ανταρκτικά Εδάφη\",\"name_he\":\"הארצות הדרומיות והאנטארקטיות של צרפת\",\"name_hi\":\"दक्षिण फ्रांसीसी और अंटार्कटिक लैंड\",\"name_hu\":\"Francia déli és antarktiszi területek\",\"name_id\":\"Daratan Selatan dan Antarktika Perancis\",\"name_it\":\"Terre australi e antartiche francesi\",\"name_ja\":\"フランス領南方・南極地域\",\"name_ko\":\"프랑스령 남방 및 남극\",\"name_nl\":\"Franse Zuidelijke Gebieden\",\"name_pl\":\"Francuskie Terytoria Południowe i Antarktyczne\",\"name_pt\":\"Terras Austrais e Antárticas Francesas\",\"name_ru\":\"Французские Южные и Антарктические территории\",\"name_sv\":\"Franska sydterritorierna\",\"name_tr\":\"Fransız Güney ve Antarktika Toprakları\",\"name_uk\":\"Французькі Південні і Антарктичні території\",\"name_ur\":\"سرزمین جنوبی فرانسیسیہ و انٹارکٹیکا\",\"name_vi\":\"Vùng đất phía Nam và châu Nam Cực thuộc Pháp\",\"name_zh\":\"法属南部和南极领地\",\"name_zht\":\"法屬南部和南極領地\",\"fclass_iso\":\"Admin-0 dependency\",\"tlc_diff\":null,\"fclass_tlc\":\"Admin-0 dependency\",\"fclass_us\":null,\"fclass_fr\":null,\"fclass_ru\":null,\"fclass_es\":null,\"fclass_cn\":null,\"fclass_tw\":null,\"fclass_in\":null,\"fclass_np\":null,\"fclass_pk\":null,\"fclass_de\":null,\"fclass_gb\":null,\"fclass_br\":null,\"fclass_il\":null,\"fclass_ps\":null,\"fclass_sa\":null,\"fclass_eg\":null,\"fclass_ma\":null,\"fclass_pt\":null,\"fclass_ar\":null,\"fclass_jp\":null,\"fclass_ko\":null,\"fclass_vn\":null,\"fclass_tr\":null,\"fclass_id\":null,\"fclass_pl\":null,\"fclass_gr\":null,\"fclass_it\":null,\"fclass_nl\":null,\"fclass_se\":null,\"fclass_bd\":null,\"fclass_ua\":null,\"filename\":\"ATF.geojson\"},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[68.935,-48.625],[69.58,-48.94],[70.525,-49.065],[70.56,-49.255],[70.28,-49.71],[68.745,-49.775],[68.72,-49.2425],[68.8675,-48.83],[68.935,-48.625]]]}}]}"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/features/natural-earth-countries-low-res.json.meta",
    "content": "title: $:/geospatialdemo/features/natural-earth-countries-low-res\ncaption: Countries of the World from Natural Earth\ntype: application/json\ntags: $:/tags/GeoFeature\ncolor: #88f\npopup-template: $:/geospatialdemo/features/natural-earth-countries-low-res/popupTemplate"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/features/us-states-popuptemplate.tid",
    "content": "title: $:/geospatialdemo/features/us-states/popupTemplate\n\n!!! US State Boundary\n\n|State |<$text text={{{ [<feature>jsonget[properties],[name]] }}}/> |\n|Population Density |<$text text={{{ [<feature>jsonget[properties],[density]] }}}/> |\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/features/us-states.geojson",
    "content": "{\"type\":\"FeatureCollection\",\"features\":[\n\t{\"type\":\"Feature\",\"id\":\"01\",\"properties\":{\"name\":\"Alabama\",\"density\":94.65},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-87.359296,35.00118],[-85.606675,34.984749],[-85.431413,34.124869],[-85.184951,32.859696],[-85.069935,32.580372],[-84.960397,32.421541],[-85.004212,32.322956],[-84.889196,32.262709],[-85.058981,32.13674],[-85.053504,32.01077],[-85.141136,31.840985],[-85.042551,31.539753],[-85.113751,31.27686],[-85.004212,31.003013],[-85.497137,30.997536],[-87.600282,30.997536],[-87.633143,30.86609],[-87.408589,30.674397],[-87.446927,30.510088],[-87.37025,30.427934],[-87.518128,30.280057],[-87.655051,30.247195],[-87.90699,30.411504],[-87.934375,30.657966],[-88.011052,30.685351],[-88.10416,30.499135],[-88.137022,30.318396],[-88.394438,30.367688],[-88.471115,31.895754],[-88.241084,33.796253],[-88.098683,34.891641],[-88.202745,34.995703],[-87.359296,35.00118]]]}},\n\t{\"type\":\"Feature\",\"id\":\"02\",\"properties\":{\"name\":\"Alaska\",\"density\":1.264},\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[[[-131.602021,55.117982],[-131.569159,55.28229],[-131.355558,55.183705],[-131.38842,55.01392],[-131.645836,55.035827],[-131.602021,55.117982]]],[[[-131.832052,55.42469],[-131.645836,55.304197],[-131.749898,55.128935],[-131.832052,55.189182],[-131.832052,55.42469]]],[[[-132.976733,56.437924],[-132.735747,56.459832],[-132.631685,56.421493],[-132.664547,56.273616],[-132.878148,56.240754],[-133.069841,56.333862],[-132.976733,56.437924]]],[[[-133.595627,56.350293],[-133.162949,56.317431],[-133.05341,56.125739],[-132.620732,55.912138],[-132.472854,55.780691],[-132.4619,55.671152],[-132.357838,55.649245],[-132.341408,55.506844],[-132.166146,55.364444],[-132.144238,55.238474],[-132.029222,55.276813],[-131.97993,55.178228],[-131.958022,54.789365],[-132.029222,54.701734],[-132.308546,54.718165],[-132.385223,54.915335],[-132.483808,54.898904],[-132.686455,55.046781],[-132.746701,54.997489],[-132.916486,55.046781],[-132.889102,54.898904],[-132.73027,54.937242],[-132.626209,54.882473],[-132.675501,54.679826],[-132.867194,54.701734],[-133.157472,54.95915],[-133.239626,55.090597],[-133.223195,55.22752],[-133.453227,55.216566],[-133.453227,55.320628],[-133.277964,55.331582],[-133.102702,55.42469],[-133.17938,55.588998],[-133.387503,55.62186],[-133.420365,55.884753],[-133.497042,56.0162],[-133.639442,55.923092],[-133.694212,56.070969],[-133.546335,56.142169],[-133.666827,56.311955],[-133.595627,56.350293]]],[[[-133.738027,55.556137],[-133.546335,55.490413],[-133.414888,55.572568],[-133.283441,55.534229],[-133.420365,55.386352],[-133.633966,55.430167],[-133.738027,55.556137]]],[[[-133.907813,56.930849],[-134.050213,57.029434],[-133.885905,57.095157],[-133.343688,57.002049],[-133.102702,57.007526],[-132.932917,56.82131],[-132.620732,56.667956],[-132.653593,56.55294],[-132.817901,56.492694],[-133.042456,56.520078],[-133.201287,56.448878],[-133.420365,56.492694],[-133.66135,56.448878],[-133.710643,56.684386],[-133.688735,56.837741],[-133.869474,56.843218],[-133.907813,56.930849]]],[[[-134.115936,56.48174],[-134.25286,56.558417],[-134.400737,56.722725],[-134.417168,56.848695],[-134.296675,56.908941],[-134.170706,56.848695],[-134.143321,56.952757],[-133.748981,56.772017],[-133.710643,56.596755],[-133.847566,56.574848],[-133.935197,56.377678],[-133.836612,56.322908],[-133.957105,56.092877],[-134.110459,56.142169],[-134.132367,55.999769],[-134.230952,56.070969],[-134.291198,56.350293],[-134.115936,56.48174]]],[[[-134.636246,56.28457],[-134.669107,56.169554],[-134.806031,56.235277],[-135.178463,56.67891],[-135.413971,56.810356],[-135.331817,56.914418],[-135.424925,57.166357],[-135.687818,57.369004],[-135.419448,57.566174],[-135.298955,57.48402],[-135.063447,57.418296],[-134.849846,57.407343],[-134.844369,57.248511],[-134.636246,56.728202],[-134.636246,56.28457]]],[[[-134.712923,58.223407],[-134.373353,58.14673],[-134.176183,58.157683],[-134.187137,58.081006],[-133.902336,57.807159],[-134.099505,57.850975],[-134.148798,57.757867],[-133.935197,57.615466],[-133.869474,57.363527],[-134.083075,57.297804],[-134.154275,57.210173],[-134.499322,57.029434],[-134.603384,57.034911],[-134.6472,57.226604],[-134.575999,57.341619],[-134.608861,57.511404],[-134.729354,57.719528],[-134.707446,57.829067],[-134.784123,58.097437],[-134.91557,58.212453],[-134.953908,58.409623],[-134.712923,58.223407]]],[[[-135.857603,57.330665],[-135.715203,57.330665],[-135.567326,57.149926],[-135.633049,57.023957],[-135.857603,56.996572],[-135.824742,57.193742],[-135.857603,57.330665]]],[[[-136.279328,58.206976],[-135.978096,58.201499],[-135.780926,58.28913],[-135.496125,58.168637],[-135.64948,58.037191],[-135.59471,57.987898],[-135.45231,58.135776],[-135.107263,58.086483],[-134.91557,57.976944],[-135.025108,57.779775],[-134.937477,57.763344],[-134.822462,57.500451],[-135.085355,57.462112],[-135.572802,57.675713],[-135.556372,57.456635],[-135.709726,57.369004],[-135.890465,57.407343],[-136.000004,57.544266],[-136.208128,57.637374],[-136.366959,57.829067],[-136.569606,57.916698],[-136.558652,58.075529],[-136.421728,58.130299],[-136.377913,58.267222],[-136.279328,58.206976]]],[[[-147.079854,60.200582],[-147.501579,59.948643],[-147.53444,59.850058],[-147.874011,59.784335],[-147.80281,59.937689],[-147.435855,60.09652],[-147.205824,60.271782],[-147.079854,60.200582]]],[[[-147.561825,60.578491],[-147.616594,60.370367],[-147.758995,60.156767],[-147.956165,60.227967],[-147.791856,60.474429],[-147.561825,60.578491]]],[[[-147.786379,70.245291],[-147.682318,70.201475],[-147.162008,70.15766],[-146.888161,70.185044],[-146.510252,70.185044],[-146.099482,70.146706],[-145.858496,70.168614],[-145.622988,70.08646],[-145.195787,69.993352],[-144.620708,69.971444],[-144.461877,70.026213],[-144.078491,70.059075],[-143.914183,70.130275],[-143.497935,70.141229],[-143.503412,70.091936],[-143.25695,70.119321],[-142.747594,70.042644],[-142.402547,69.916674],[-142.079408,69.856428],[-142.008207,69.801659],[-141.712453,69.790705],[-141.433129,69.697597],[-141.378359,69.63735],[-141.208574,69.686643],[-141.00045,69.648304],[-141.00045,60.304644],[-140.53491,60.22249],[-140.474664,60.310121],[-139.987216,60.184151],[-139.696939,60.342983],[-139.088998,60.359413],[-139.198537,60.091043],[-139.045183,59.997935],[-138.700135,59.910304],[-138.623458,59.767904],[-137.604747,59.242118],[-137.445916,58.908024],[-137.265177,59.001132],[-136.827022,59.159963],[-136.580559,59.16544],[-136.465544,59.285933],[-136.476498,59.466672],[-136.301236,59.466672],[-136.25742,59.625503],[-135.945234,59.663842],[-135.479694,59.800766],[-135.025108,59.565257],[-135.068924,59.422857],[-134.959385,59.280456],[-134.701969,59.247595],[-134.378829,59.033994],[-134.400737,58.973748],[-134.25286,58.858732],[-133.842089,58.727285],[-133.173903,58.152206],[-133.075318,57.998852],[-132.867194,57.845498],[-132.560485,57.505928],[-132.253777,57.21565],[-132.368792,57.095157],[-132.05113,57.051341],[-132.127807,56.876079],[-131.870391,56.804879],[-131.837529,56.602232],[-131.580113,56.613186],[-131.087188,56.405062],[-130.78048,56.366724],[-130.621648,56.268139],[-130.468294,56.240754],[-130.424478,56.142169],[-130.101339,56.114785],[-130.002754,55.994292],[-130.150631,55.769737],[-130.128724,55.583521],[-129.986323,55.276813],[-130.095862,55.200136],[-130.336847,54.920812],[-130.687372,54.718165],[-130.785957,54.822227],[-130.917403,54.789365],[-131.010511,54.997489],[-130.983126,55.08512],[-131.092665,55.189182],[-130.862634,55.298721],[-130.928357,55.337059],[-131.158389,55.200136],[-131.284358,55.287767],[-131.426759,55.238474],[-131.843006,55.457552],[-131.700606,55.698537],[-131.963499,55.616383],[-131.974453,55.49589],[-132.182576,55.588998],[-132.226392,55.704014],[-132.083991,55.829984],[-132.127807,55.955953],[-132.324977,55.851892],[-132.522147,56.076446],[-132.642639,56.032631],[-132.719317,56.218847],[-132.527624,56.339339],[-132.341408,56.339339],[-132.396177,56.487217],[-132.297592,56.67891],[-132.450946,56.673433],[-132.768609,56.837741],[-132.993164,57.034911],[-133.51895,57.177311],[-133.507996,57.577128],[-133.677781,57.62642],[-133.639442,57.790728],[-133.814705,57.834544],[-134.072121,58.053622],[-134.143321,58.168637],[-134.586953,58.206976],[-135.074401,58.502731],[-135.282525,59.192825],[-135.38111,59.033994],[-135.337294,58.891593],[-135.140124,58.617746],[-135.189417,58.573931],[-135.05797,58.349376],[-135.085355,58.201499],[-135.277048,58.234361],[-135.430402,58.398669],[-135.633049,58.426053],[-135.91785,58.382238],[-135.912373,58.617746],[-136.087635,58.814916],[-136.246466,58.75467],[-136.876314,58.962794],[-136.931084,58.902547],[-136.586036,58.836824],[-136.317666,58.672516],[-136.213604,58.667039],[-136.180743,58.535592],[-136.043819,58.382238],[-136.388867,58.294607],[-136.591513,58.349376],[-136.59699,58.212453],[-136.859883,58.316515],[-136.947514,58.393192],[-137.111823,58.393192],[-137.566409,58.590362],[-137.900502,58.765624],[-137.933364,58.869686],[-138.11958,59.02304],[-138.634412,59.132579],[-138.919213,59.247595],[-139.417615,59.379041],[-139.746231,59.505011],[-139.718846,59.641934],[-139.625738,59.598119],[-139.5162,59.68575],[-139.625738,59.88292],[-139.488815,59.992458],[-139.554538,60.041751],[-139.801,59.833627],[-140.315833,59.696704],[-140.92925,59.745996],[-141.444083,59.871966],[-141.46599,59.970551],[-141.706976,59.948643],[-141.964392,60.019843],[-142.539471,60.085566],[-142.873564,60.091043],[-143.623905,60.036274],[-143.892275,59.997935],[-144.231845,60.140336],[-144.65357,60.206059],[-144.785016,60.29369],[-144.834309,60.441568],[-145.124586,60.430614],[-145.223171,60.299167],[-145.738004,60.474429],[-145.820158,60.551106],[-146.351421,60.408706],[-146.608837,60.238921],[-146.718376,60.397752],[-146.608837,60.485383],[-146.455483,60.463475],[-145.951604,60.578491],[-146.017328,60.666122],[-146.252836,60.622307],[-146.345944,60.737322],[-146.565022,60.753753],[-146.784099,61.044031],[-146.866253,60.972831],[-147.172962,60.934492],[-147.271547,60.972831],[-147.375609,60.879723],[-147.758995,60.912584],[-147.775426,60.808523],[-148.032842,60.781138],[-148.153334,60.819476],[-148.065703,61.005692],[-148.175242,61.000215],[-148.350504,60.803046],[-148.109519,60.737322],[-148.087611,60.594922],[-147.939734,60.441568],[-148.027365,60.277259],[-148.219058,60.332029],[-148.273827,60.249875],[-148.087611,60.217013],[-147.983549,59.997935],[-148.251919,59.95412],[-148.399797,59.997935],[-148.635305,59.937689],[-148.755798,59.986981],[-149.067984,59.981505],[-149.05703,60.063659],[-149.204907,60.008889],[-149.287061,59.904827],[-149.418508,59.997935],[-149.582816,59.866489],[-149.511616,59.806242],[-149.741647,59.729565],[-149.949771,59.718611],[-150.031925,59.61455],[-150.25648,59.521442],[-150.409834,59.554303],[-150.579619,59.444764],[-150.716543,59.450241],[-151.001343,59.225687],[-151.308052,59.209256],[-151.406637,59.280456],[-151.592853,59.159963],[-151.976239,59.253071],[-151.888608,59.422857],[-151.636669,59.483103],[-151.47236,59.472149],[-151.423068,59.537872],[-151.127313,59.669319],[-151.116359,59.778858],[-151.505222,59.63098],[-151.828361,59.718611],[-151.8667,59.778858],[-151.702392,60.030797],[-151.423068,60.211536],[-151.379252,60.359413],[-151.297098,60.386798],[-151.264237,60.545629],[-151.406637,60.720892],[-151.06159,60.786615],[-150.404357,61.038554],[-150.245526,60.939969],[-150.042879,60.912584],[-149.741647,61.016646],[-150.075741,61.15357],[-150.207187,61.257632],[-150.47008,61.246678],[-150.656296,61.29597],[-150.711066,61.252155],[-151.023251,61.180954],[-151.165652,61.044031],[-151.477837,61.011169],[-151.800977,60.852338],[-151.833838,60.748276],[-152.080301,60.693507],[-152.13507,60.578491],[-152.310332,60.507291],[-152.392486,60.304644],[-152.732057,60.173197],[-152.567748,60.069136],[-152.704672,59.915781],[-153.022334,59.888397],[-153.049719,59.691227],[-153.345474,59.620026],[-153.438582,59.702181],[-153.586459,59.548826],[-153.761721,59.543349],[-153.72886,59.433811],[-154.117723,59.368087],[-154.1944,59.066856],[-153.750768,59.050425],[-153.400243,58.968271],[-153.301658,58.869686],[-153.444059,58.710854],[-153.679567,58.612269],[-153.898645,58.606793],[-153.920553,58.519161],[-154.062953,58.4863],[-153.99723,58.376761],[-154.145107,58.212453],[-154.46277,58.059098],[-154.643509,58.059098],[-154.818771,58.004329],[-154.988556,58.015283],[-155.120003,57.955037],[-155.081664,57.872883],[-155.328126,57.829067],[-155.377419,57.708574],[-155.547204,57.785251],[-155.73342,57.549743],[-156.045606,57.566174],[-156.023698,57.440204],[-156.209914,57.473066],[-156.34136,57.418296],[-156.34136,57.248511],[-156.549484,56.985618],[-156.883577,56.952757],[-157.157424,56.832264],[-157.20124,56.766541],[-157.376502,56.859649],[-157.672257,56.607709],[-157.754411,56.67891],[-157.918719,56.657002],[-157.957058,56.514601],[-158.126843,56.459832],[-158.32949,56.48174],[-158.488321,56.339339],[-158.208997,56.295524],[-158.510229,55.977861],[-159.375585,55.873799],[-159.616571,55.594475],[-159.676817,55.654722],[-159.643955,55.829984],[-159.813741,55.857368],[-160.027341,55.791645],[-160.060203,55.720445],[-160.394296,55.605429],[-160.536697,55.473983],[-160.580512,55.567091],[-160.668143,55.457552],[-160.865313,55.528752],[-161.232268,55.358967],[-161.506115,55.364444],[-161.467776,55.49589],[-161.588269,55.62186],[-161.697808,55.517798],[-161.686854,55.408259],[-162.053809,55.074166],[-162.179779,55.15632],[-162.218117,55.03035],[-162.470057,55.052258],[-162.508395,55.249428],[-162.661749,55.293244],[-162.716519,55.222043],[-162.579595,55.134412],[-162.645319,54.997489],[-162.847965,54.926289],[-163.00132,55.079643],[-163.187536,55.090597],[-163.220397,55.03035],[-163.034181,54.942719],[-163.373752,54.800319],[-163.14372,54.76198],[-163.138243,54.696257],[-163.329936,54.74555],[-163.587352,54.614103],[-164.085754,54.61958],[-164.332216,54.531949],[-164.354124,54.466226],[-164.638925,54.389548],[-164.847049,54.416933],[-164.918249,54.603149],[-164.710125,54.663395],[-164.551294,54.88795],[-164.34317,54.893427],[-163.894061,55.041304],[-163.532583,55.046781],[-163.39566,54.904381],[-163.291598,55.008443],[-163.313505,55.128935],[-163.105382,55.183705],[-162.880827,55.183705],[-162.579595,55.446598],[-162.245502,55.682106],[-161.807347,55.89023],[-161.292514,55.983338],[-161.078914,55.939523],[-160.87079,55.999769],[-160.816021,55.912138],[-160.931036,55.813553],[-160.805067,55.736876],[-160.766728,55.857368],[-160.509312,55.868322],[-160.438112,55.791645],[-160.27928,55.76426],[-160.273803,55.857368],[-160.536697,55.939523],[-160.558604,55.994292],[-160.383342,56.251708],[-160.147834,56.399586],[-159.830171,56.541986],[-159.326293,56.667956],[-158.959338,56.848695],[-158.784076,56.782971],[-158.641675,56.810356],[-158.701922,56.925372],[-158.658106,57.034911],[-158.378782,57.264942],[-157.995396,57.41282],[-157.688688,57.609989],[-157.705118,57.719528],[-157.458656,58.497254],[-157.07527,58.705377],[-157.119086,58.869686],[-158.039212,58.634177],[-158.32949,58.661562],[-158.40069,58.760147],[-158.564998,58.803962],[-158.619768,58.913501],[-158.767645,58.864209],[-158.860753,58.694424],[-158.701922,58.480823],[-158.893615,58.387715],[-159.0634,58.420577],[-159.392016,58.760147],[-159.616571,58.929932],[-159.731586,58.929932],[-159.808264,58.803962],[-159.906848,58.782055],[-160.054726,58.886116],[-160.235465,58.902547],[-160.317619,59.072332],[-160.854359,58.88064],[-161.33633,58.743716],[-161.374669,58.667039],[-161.752577,58.552023],[-161.938793,58.656085],[-161.769008,58.776578],[-161.829255,59.061379],[-161.955224,59.36261],[-161.703285,59.48858],[-161.911409,59.740519],[-162.092148,59.88292],[-162.234548,60.091043],[-162.448149,60.178674],[-162.502918,59.997935],[-162.760334,59.959597],[-163.171105,59.844581],[-163.66403,59.795289],[-163.9324,59.806242],[-164.162431,59.866489],[-164.189816,60.02532],[-164.386986,60.074613],[-164.699171,60.29369],[-164.962064,60.337506],[-165.268773,60.578491],[-165.060649,60.68803],[-165.016834,60.890677],[-165.175665,60.846861],[-165.197573,60.972831],[-165.120896,61.076893],[-165.323543,61.170001],[-165.34545,61.071416],[-165.591913,61.109754],[-165.624774,61.279539],[-165.816467,61.301447],[-165.920529,61.416463],[-165.915052,61.558863],[-166.106745,61.49314],[-166.139607,61.630064],[-165.904098,61.662925],[-166.095791,61.81628],[-165.756221,61.827233],[-165.756221,62.013449],[-165.674067,62.139419],[-165.044219,62.539236],[-164.912772,62.659728],[-164.819664,62.637821],[-164.874433,62.807606],[-164.633448,63.097884],[-164.425324,63.212899],[-164.036462,63.262192],[-163.73523,63.212899],[-163.313505,63.037637],[-163.039658,63.059545],[-162.661749,63.22933],[-162.272887,63.486746],[-162.075717,63.514131],[-162.026424,63.448408],[-161.555408,63.448408],[-161.13916,63.503177],[-160.766728,63.771547],[-160.766728,63.837271],[-160.952944,64.08921],[-160.974852,64.237087],[-161.26513,64.395918],[-161.374669,64.532842],[-161.078914,64.494503],[-160.79959,64.609519],[-160.783159,64.719058],[-161.144637,64.921705],[-161.413007,64.762873],[-161.664946,64.790258],[-161.900455,64.702627],[-162.168825,64.680719],[-162.234548,64.620473],[-162.541257,64.532842],[-162.634365,64.384965],[-162.787719,64.324718],[-162.858919,64.49998],[-163.045135,64.538319],[-163.176582,64.401395],[-163.253259,64.467119],[-163.598306,64.565704],[-164.304832,64.560227],[-164.80871,64.450688],[-165.000403,64.434257],[-165.411174,64.49998],[-166.188899,64.576658],[-166.391546,64.636904],[-166.484654,64.735489],[-166.413454,64.872412],[-166.692778,64.987428],[-166.638008,65.113398],[-166.462746,65.179121],[-166.517516,65.337952],[-166.796839,65.337952],[-167.026871,65.381768],[-167.47598,65.414629],[-167.711489,65.496784],[-168.072967,65.578938],[-168.105828,65.682999],[-167.541703,65.819923],[-166.829701,66.049954],[-166.3313,66.186878],[-166.046499,66.110201],[-165.756221,66.09377],[-165.690498,66.203309],[-165.86576,66.21974],[-165.88219,66.312848],[-165.186619,66.466202],[-164.403417,66.581218],[-163.981692,66.592172],[-163.751661,66.553833],[-163.872153,66.389525],[-163.828338,66.274509],[-163.915969,66.192355],[-163.768091,66.060908],[-163.494244,66.082816],[-163.149197,66.060908],[-162.749381,66.088293],[-162.634365,66.039001],[-162.371472,66.028047],[-162.14144,66.077339],[-161.840208,66.02257],[-161.549931,66.241647],[-161.341807,66.252601],[-161.199406,66.208786],[-161.128206,66.334755],[-161.528023,66.395002],[-161.911409,66.345709],[-161.87307,66.510017],[-162.174302,66.68528],[-162.502918,66.740049],[-162.601503,66.89888],[-162.344087,66.937219],[-162.015471,66.778388],[-162.075717,66.652418],[-161.916886,66.553833],[-161.571838,66.438817],[-161.489684,66.55931],[-161.884024,66.718141],[-161.714239,67.002942],[-161.851162,67.052235],[-162.240025,66.991988],[-162.639842,67.008419],[-162.700088,67.057712],[-162.902735,67.008419],[-163.740707,67.128912],[-163.757138,67.254881],[-164.009077,67.534205],[-164.211724,67.638267],[-164.534863,67.725898],[-165.192096,67.966884],[-165.493328,68.059992],[-165.794559,68.081899],[-166.243668,68.246208],[-166.681824,68.339316],[-166.703731,68.372177],[-166.375115,68.42147],[-166.227238,68.574824],[-166.216284,68.881533],[-165.329019,68.859625],[-164.255539,68.930825],[-163.976215,68.985595],[-163.532583,69.138949],[-163.110859,69.374457],[-163.023228,69.609966],[-162.842489,69.812613],[-162.470057,69.982398],[-162.311225,70.108367],[-161.851162,70.311014],[-161.779962,70.256245],[-161.396576,70.239814],[-160.837928,70.343876],[-160.487404,70.453415],[-159.649432,70.792985],[-159.33177,70.809416],[-159.298908,70.760123],[-158.975769,70.798462],[-158.658106,70.787508],[-158.033735,70.831323],[-157.420318,70.979201],[-156.812377,71.285909],[-156.565915,71.351633],[-156.522099,71.296863],[-155.585543,71.170894],[-155.508865,71.083263],[-155.832005,70.968247],[-155.979882,70.96277],[-155.974405,70.809416],[-155.503388,70.858708],[-155.476004,70.940862],[-155.262403,71.017539],[-155.191203,70.973724],[-155.032372,71.148986],[-154.566832,70.990155],[-154.643509,70.869662],[-154.353231,70.8368],[-154.183446,70.7656],[-153.931507,70.880616],[-153.487874,70.886093],[-153.235935,70.924431],[-152.589656,70.886093],[-152.26104,70.842277],[-152.419871,70.606769],[-151.817408,70.546523],[-151.773592,70.486276],[-151.187559,70.382214],[-151.182082,70.431507],[-150.760358,70.49723],[-150.355064,70.491753],[-150.349588,70.436984],[-150.114079,70.431507],[-149.867617,70.508184],[-149.462323,70.519138],[-149.177522,70.486276],[-148.78866,70.404122],[-148.607921,70.420553],[-148.350504,70.305537],[-148.202627,70.349353],[-147.961642,70.316491],[-147.786379,70.245291]]],[[[-152.94018,58.026237],[-152.945657,57.982421],[-153.290705,58.048145],[-153.044242,58.305561],[-152.819688,58.327469],[-152.666333,58.562977],[-152.496548,58.354853],[-152.354148,58.426053],[-152.080301,58.311038],[-152.080301,58.152206],[-152.480117,58.130299],[-152.655379,58.059098],[-152.94018,58.026237]]],[[[-153.958891,57.538789],[-153.67409,57.670236],[-153.931507,57.69762],[-153.936983,57.812636],[-153.723383,57.889313],[-153.570028,57.834544],[-153.548121,57.719528],[-153.46049,57.796205],[-153.455013,57.96599],[-153.268797,57.889313],[-153.235935,57.998852],[-153.071627,57.933129],[-152.874457,57.933129],[-152.721103,57.993375],[-152.469163,57.889313],[-152.469163,57.599035],[-152.151501,57.620943],[-152.359625,57.42925],[-152.74301,57.505928],[-152.60061,57.379958],[-152.710149,57.275896],[-152.907319,57.325188],[-152.912796,57.128019],[-153.214027,57.073249],[-153.312612,56.991095],[-153.498828,57.067772],[-153.695998,56.859649],[-153.849352,56.837741],[-154.013661,56.744633],[-154.073907,56.969187],[-154.303938,56.848695],[-154.314892,56.919895],[-154.523016,56.991095],[-154.539447,57.193742],[-154.742094,57.275896],[-154.627078,57.511404],[-154.227261,57.659282],[-153.980799,57.648328],[-153.958891,57.538789]]],[[[-154.53397,56.602232],[-154.742094,56.399586],[-154.807817,56.432447],[-154.53397,56.602232]]],[[[-155.634835,55.923092],[-155.476004,55.912138],[-155.530773,55.704014],[-155.793666,55.731399],[-155.837482,55.802599],[-155.634835,55.923092]]],[[[-159.890418,55.28229],[-159.950664,55.068689],[-160.257373,54.893427],[-160.109495,55.161797],[-160.005433,55.134412],[-159.890418,55.28229]]],[[[-160.520266,55.358967],[-160.33405,55.358967],[-160.339527,55.249428],[-160.525743,55.128935],[-160.690051,55.211089],[-160.794113,55.134412],[-160.854359,55.320628],[-160.79959,55.380875],[-160.520266,55.358967]]],[[[-162.256456,54.981058],[-162.234548,54.893427],[-162.349564,54.838658],[-162.437195,54.931766],[-162.256456,54.981058]]],[[[-162.415287,63.634624],[-162.563165,63.536039],[-162.612457,63.62367],[-162.415287,63.634624]]],[[[-162.80415,54.488133],[-162.590549,54.449795],[-162.612457,54.367641],[-162.782242,54.373118],[-162.80415,54.488133]]],[[[-165.548097,54.29644],[-165.476897,54.181425],[-165.630251,54.132132],[-165.685021,54.252625],[-165.548097,54.29644]]],[[[-165.73979,54.15404],[-166.046499,54.044501],[-166.112222,54.121178],[-165.980775,54.219763],[-165.73979,54.15404]]],[[[-166.364161,60.359413],[-166.13413,60.397752],[-166.084837,60.326552],[-165.88219,60.342983],[-165.685021,60.277259],[-165.646682,59.992458],[-165.750744,59.89935],[-166.00816,59.844581],[-166.062929,59.745996],[-166.440838,59.855535],[-166.6161,59.850058],[-166.994009,59.992458],[-167.125456,59.992458],[-167.344534,60.074613],[-167.421211,60.206059],[-167.311672,60.238921],[-166.93924,60.206059],[-166.763978,60.310121],[-166.577762,60.321075],[-166.495608,60.392275],[-166.364161,60.359413]]],[[[-166.375115,54.01164],[-166.210807,53.934962],[-166.5449,53.748746],[-166.539423,53.715885],[-166.117699,53.852808],[-166.112222,53.776131],[-166.282007,53.683023],[-166.555854,53.622777],[-166.583239,53.529669],[-166.878994,53.431084],[-167.13641,53.425607],[-167.306195,53.332499],[-167.623857,53.250345],[-167.793643,53.337976],[-167.459549,53.442038],[-167.355487,53.425607],[-167.103548,53.513238],[-167.163794,53.611823],[-167.021394,53.715885],[-166.807793,53.666592],[-166.785886,53.732316],[-167.015917,53.754223],[-167.141887,53.825424],[-167.032348,53.945916],[-166.643485,54.017116],[-166.561331,53.880193],[-166.375115,54.01164]]],[[[-168.790446,53.157237],[-168.40706,53.34893],[-168.385152,53.431084],[-168.237275,53.524192],[-168.007243,53.568007],[-167.886751,53.518715],[-167.842935,53.387268],[-168.270136,53.244868],[-168.500168,53.036744],[-168.686384,52.965544],[-168.790446,53.157237]]],[[[-169.74891,52.894344],[-169.705095,52.795759],[-169.962511,52.790282],[-169.989896,52.856005],[-169.74891,52.894344]]],[[[-170.148727,57.221127],[-170.28565,57.128019],[-170.313035,57.221127],[-170.148727,57.221127]]],[[[-170.669036,52.697174],[-170.603313,52.604066],[-170.789529,52.538343],[-170.816914,52.636928],[-170.669036,52.697174]]],[[[-171.742517,63.716778],[-170.94836,63.5689],[-170.488297,63.69487],[-170.280174,63.683916],[-170.093958,63.612716],[-170.044665,63.492223],[-169.644848,63.4265],[-169.518879,63.366254],[-168.99857,63.338869],[-168.686384,63.295053],[-168.856169,63.147176],[-169.108108,63.180038],[-169.376478,63.152653],[-169.513402,63.08693],[-169.639372,62.939052],[-169.831064,63.075976],[-170.055619,63.169084],[-170.263743,63.180038],[-170.362328,63.2841],[-170.866206,63.415546],[-171.101715,63.421023],[-171.463193,63.306007],[-171.73704,63.366254],[-171.852055,63.486746],[-171.742517,63.716778]]],[[[-172.432611,52.390465],[-172.41618,52.275449],[-172.607873,52.253542],[-172.569535,52.352127],[-172.432611,52.390465]]],[[[-173.626584,52.14948],[-173.495138,52.105664],[-173.122706,52.111141],[-173.106275,52.07828],[-173.549907,52.028987],[-173.626584,52.14948]]],[[[-174.322156,52.280926],[-174.327632,52.379511],[-174.185232,52.41785],[-173.982585,52.319265],[-174.059262,52.226157],[-174.179755,52.231634],[-174.141417,52.127572],[-174.333109,52.116618],[-174.738403,52.007079],[-174.968435,52.039941],[-174.902711,52.116618],[-174.656249,52.105664],[-174.322156,52.280926]]],[[[-176.469116,51.853725],[-176.288377,51.870156],[-176.288377,51.744186],[-176.518409,51.760617],[-176.80321,51.61274],[-176.912748,51.80991],[-176.792256,51.815386],[-176.775825,51.963264],[-176.627947,51.968741],[-176.627947,51.859202],[-176.469116,51.853725]]],[[[-177.153734,51.946833],[-177.044195,51.897541],[-177.120872,51.727755],[-177.274226,51.678463],[-177.279703,51.782525],[-177.153734,51.946833]]],[[[-178.123152,51.919448],[-177.953367,51.913971],[-177.800013,51.793479],[-177.964321,51.651078],[-178.123152,51.919448]]],[[[-187.107557,52.992929],[-187.293773,52.927205],[-187.304726,52.823143],[-188.90491,52.762897],[-188.642017,52.927205],[-188.642017,53.003883],[-187.107557,52.992929]]]]}},\n\t{\"type\":\"Feature\",\"id\":\"04\",\"properties\":{\"name\":\"Arizona\",\"density\":57.05},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-109.042503,37.000263],[-109.04798,31.331629],[-111.074448,31.331629],[-112.246513,31.704061],[-114.815198,32.492741],[-114.72209,32.717295],[-114.524921,32.755634],[-114.470151,32.843265],[-114.524921,33.029481],[-114.661844,33.034958],[-114.727567,33.40739],[-114.524921,33.54979],[-114.497536,33.697668],[-114.535874,33.933176],[-114.415382,34.108438],[-114.256551,34.174162],[-114.136058,34.305608],[-114.333228,34.448009],[-114.470151,34.710902],[-114.634459,34.87521],[-114.634459,35.00118],[-114.574213,35.138103],[-114.596121,35.324319],[-114.678275,35.516012],[-114.738521,36.102045],[-114.371566,36.140383],[-114.251074,36.01989],[-114.152489,36.025367],[-114.048427,36.195153],[-114.048427,37.000263],[-110.499369,37.00574],[-109.042503,37.000263]]]}},\n\t{\"type\":\"Feature\",\"id\":\"05\",\"properties\":{\"name\":\"Arkansas\",\"density\":56.43},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-94.473842,36.501861],[-90.152536,36.496384],[-90.064905,36.304691],[-90.218259,36.184199],[-90.377091,35.997983],[-89.730812,35.997983],[-89.763673,35.811767],[-89.911551,35.756997],[-89.944412,35.603643],[-90.130628,35.439335],[-90.114197,35.198349],[-90.212782,35.023087],[-90.311367,34.995703],[-90.251121,34.908072],[-90.409952,34.831394],[-90.481152,34.661609],[-90.585214,34.617794],[-90.568783,34.420624],[-90.749522,34.365854],[-90.744046,34.300131],[-90.952169,34.135823],[-90.891923,34.026284],[-91.072662,33.867453],[-91.231493,33.560744],[-91.056231,33.429298],[-91.143862,33.347144],[-91.089093,33.13902],[-91.16577,33.002096],[-93.608485,33.018527],[-94.041164,33.018527],[-94.041164,33.54979],[-94.183564,33.593606],[-94.380734,33.544313],[-94.484796,33.637421],[-94.430026,35.395519],[-94.616242,36.501861],[-94.473842,36.501861]]]}},\n\t{\"type\":\"Feature\",\"id\":\"06\",\"properties\":{\"name\":\"California\",\"density\":241.7},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-123.233256,42.006186],[-122.378853,42.011663],[-121.037003,41.995232],[-120.001861,41.995232],[-119.996384,40.264519],[-120.001861,38.999346],[-118.71478,38.101128],[-117.498899,37.21934],[-116.540435,36.501861],[-115.85034,35.970598],[-114.634459,35.00118],[-114.634459,34.87521],[-114.470151,34.710902],[-114.333228,34.448009],[-114.136058,34.305608],[-114.256551,34.174162],[-114.415382,34.108438],[-114.535874,33.933176],[-114.497536,33.697668],[-114.524921,33.54979],[-114.727567,33.40739],[-114.661844,33.034958],[-114.524921,33.029481],[-114.470151,32.843265],[-114.524921,32.755634],[-114.72209,32.717295],[-116.04751,32.624187],[-117.126467,32.536556],[-117.24696,32.668003],[-117.252437,32.876127],[-117.329114,33.122589],[-117.471515,33.297851],[-117.7837,33.538836],[-118.183517,33.763391],[-118.260194,33.703145],[-118.413548,33.741483],[-118.391641,33.840068],[-118.566903,34.042715],[-118.802411,33.998899],[-119.218659,34.146777],[-119.278905,34.26727],[-119.558229,34.415147],[-119.875891,34.40967],[-120.138784,34.475393],[-120.472878,34.448009],[-120.64814,34.579455],[-120.609801,34.858779],[-120.670048,34.902595],[-120.631709,35.099764],[-120.894602,35.247642],[-120.905556,35.450289],[-121.004141,35.461243],[-121.168449,35.636505],[-121.283465,35.674843],[-121.332757,35.784382],[-121.716143,36.195153],[-121.896882,36.315645],[-121.935221,36.638785],[-121.858544,36.6114],[-121.787344,36.803093],[-121.929744,36.978355],[-122.105006,36.956447],[-122.335038,37.115279],[-122.417192,37.241248],[-122.400761,37.361741],[-122.515777,37.520572],[-122.515777,37.783465],[-122.329561,37.783465],[-122.406238,38.15042],[-122.488392,38.112082],[-122.504823,37.931343],[-122.701993,37.893004],[-122.937501,38.029928],[-122.97584,38.265436],[-123.129194,38.451652],[-123.331841,38.566668],[-123.44138,38.698114],[-123.737134,38.95553],[-123.687842,39.032208],[-123.824765,39.366301],[-123.764519,39.552517],[-123.85215,39.831841],[-124.109566,40.105688],[-124.361506,40.259042],[-124.410798,40.439781],[-124.158859,40.877937],[-124.109566,41.025814],[-124.158859,41.14083],[-124.065751,41.442061],[-124.147905,41.715908],[-124.257444,41.781632],[-124.213628,42.000709],[-123.233256,42.006186]]]}},\n\t{\"type\":\"Feature\",\"id\":\"08\",\"properties\":{\"name\":\"Colorado\",\"density\":49.33},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-107.919731,41.003906],[-105.728954,40.998429],[-104.053011,41.003906],[-102.053927,41.003906],[-102.053927,40.001626],[-102.042974,36.994786],[-103.001438,37.000263],[-104.337812,36.994786],[-106.868158,36.994786],[-107.421329,37.000263],[-109.042503,37.000263],[-109.042503,38.166851],[-109.058934,38.27639],[-109.053457,39.125316],[-109.04798,40.998429],[-107.919731,41.003906]]]}},\n\t{\"type\":\"Feature\",\"id\":\"09\",\"properties\":{\"name\":\"Connecticut\",\"density\":739.1},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-73.053528,42.039048],[-71.799309,42.022617],[-71.799309,42.006186],[-71.799309,41.414677],[-71.859555,41.321569],[-71.947186,41.338],[-72.385341,41.261322],[-72.905651,41.28323],[-73.130205,41.146307],[-73.371191,41.102491],[-73.655992,40.987475],[-73.727192,41.102491],[-73.48073,41.21203],[-73.55193,41.294184],[-73.486206,42.050002],[-73.053528,42.039048]]]}},\n\t{\"type\":\"Feature\",\"id\":\"10\",\"properties\":{\"name\":\"Delaware\",\"density\":464.3},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-75.414089,39.804456],[-75.507197,39.683964],[-75.611259,39.61824],[-75.589352,39.459409],[-75.441474,39.311532],[-75.403136,39.065069],[-75.189535,38.807653],[-75.09095,38.796699],[-75.047134,38.451652],[-75.693413,38.462606],[-75.786521,39.722302],[-75.616736,39.831841],[-75.414089,39.804456]]]}},\n\t{\"type\":\"Feature\",\"id\":\"11\",\"properties\":{\"name\":\"District of Columbia\",\"density\":10065},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-77.035264,38.993869],[-76.909294,38.895284],[-77.040741,38.791222],[-77.117418,38.933623],[-77.035264,38.993869]]]}},\n\t{\"type\":\"Feature\",\"id\":\"12\",\"properties\":{\"name\":\"Florida\",\"density\":353.4},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-85.497137,30.997536],[-85.004212,31.003013],[-84.867289,30.712735],[-83.498053,30.647012],[-82.216449,30.570335],[-82.167157,30.356734],[-82.046664,30.362211],[-82.002849,30.564858],[-82.041187,30.751074],[-81.948079,30.827751],[-81.718048,30.745597],[-81.444201,30.707258],[-81.383954,30.27458],[-81.257985,29.787132],[-80.967707,29.14633],[-80.524075,28.461713],[-80.589798,28.41242],[-80.56789,28.094758],[-80.381674,27.738757],[-80.091397,27.021277],[-80.03115,26.796723],[-80.036627,26.566691],[-80.146166,25.739673],[-80.239274,25.723243],[-80.337859,25.465826],[-80.304997,25.383672],[-80.49669,25.197456],[-80.573367,25.241272],[-80.759583,25.164595],[-81.077246,25.120779],[-81.170354,25.224841],[-81.126538,25.378195],[-81.351093,25.821827],[-81.526355,25.903982],[-81.679709,25.843735],[-81.800202,26.090198],[-81.833064,26.292844],[-82.041187,26.517399],[-82.09048,26.665276],[-82.057618,26.878877],[-82.172634,26.917216],[-82.145249,26.791246],[-82.249311,26.758384],[-82.566974,27.300601],[-82.692943,27.437525],[-82.391711,27.837342],[-82.588881,27.815434],[-82.720328,27.689464],[-82.851774,27.886634],[-82.676512,28.434328],[-82.643651,28.888914],[-82.764143,28.998453],[-82.802482,29.14633],[-82.994175,29.179192],[-83.218729,29.420177],[-83.399469,29.518762],[-83.410422,29.66664],[-83.536392,29.721409],[-83.640454,29.885717],[-84.02384,30.104795],[-84.357933,30.055502],[-84.341502,29.902148],[-84.451041,29.929533],[-84.867289,29.743317],[-85.310921,29.699501],[-85.299967,29.80904],[-85.404029,29.940487],[-85.924338,30.236241],[-86.29677,30.362211],[-86.630863,30.395073],[-86.910187,30.373165],[-87.518128,30.280057],[-87.37025,30.427934],[-87.446927,30.510088],[-87.408589,30.674397],[-87.633143,30.86609],[-87.600282,30.997536],[-85.497137,30.997536]]]}},\n\t{\"type\":\"Feature\",\"id\":\"13\",\"properties\":{\"name\":\"Georgia\",\"density\":169.5},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-83.109191,35.00118],[-83.322791,34.787579],[-83.339222,34.683517],[-83.005129,34.469916],[-82.901067,34.486347],[-82.747713,34.26727],[-82.714851,34.152254],[-82.55602,33.94413],[-82.325988,33.81816],[-82.194542,33.631944],[-81.926172,33.462159],[-81.937125,33.347144],[-81.761863,33.160928],[-81.493493,33.007573],[-81.42777,32.843265],[-81.416816,32.629664],[-81.279893,32.558464],[-81.121061,32.290094],[-81.115584,32.120309],[-80.885553,32.032678],[-81.132015,31.693108],[-81.175831,31.517845],[-81.279893,31.364491],[-81.290846,31.20566],[-81.400385,31.13446],[-81.444201,30.707258],[-81.718048,30.745597],[-81.948079,30.827751],[-82.041187,30.751074],[-82.002849,30.564858],[-82.046664,30.362211],[-82.167157,30.356734],[-82.216449,30.570335],[-83.498053,30.647012],[-84.867289,30.712735],[-85.004212,31.003013],[-85.113751,31.27686],[-85.042551,31.539753],[-85.141136,31.840985],[-85.053504,32.01077],[-85.058981,32.13674],[-84.889196,32.262709],[-85.004212,32.322956],[-84.960397,32.421541],[-85.069935,32.580372],[-85.184951,32.859696],[-85.431413,34.124869],[-85.606675,34.984749],[-84.319594,34.990226],[-83.618546,34.984749],[-83.109191,35.00118]]]}},\n\t{\"type\":\"Feature\",\"id\":\"15\",\"properties\":{\"name\":\"Hawaii\",\"density\":214.1},\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[[[-155.634835,18.948267],[-155.881297,19.035898],[-155.919636,19.123529],[-155.886774,19.348084],[-156.062036,19.73147],[-155.925113,19.857439],[-155.826528,20.032702],[-155.897728,20.147717],[-155.87582,20.26821],[-155.596496,20.12581],[-155.284311,20.021748],[-155.092618,19.868393],[-155.092618,19.736947],[-154.807817,19.523346],[-154.983079,19.348084],[-155.295265,19.26593],[-155.514342,19.134483],[-155.634835,18.948267]]],[[[-156.587823,21.029505],[-156.472807,20.892581],[-156.324929,20.952827],[-156.00179,20.793996],[-156.051082,20.651596],[-156.379699,20.580396],[-156.445422,20.60778],[-156.461853,20.783042],[-156.631638,20.821381],[-156.697361,20.919966],[-156.587823,21.029505]]],[[[-156.982162,21.210244],[-157.080747,21.106182],[-157.310779,21.106182],[-157.239579,21.221198],[-156.982162,21.210244]]],[[[-157.951581,21.697691],[-157.842042,21.462183],[-157.896811,21.325259],[-158.110412,21.303352],[-158.252813,21.582676],[-158.126843,21.588153],[-157.951581,21.697691]]],[[[-159.468693,22.228955],[-159.353678,22.218001],[-159.298908,22.113939],[-159.33177,21.966061],[-159.446786,21.872953],[-159.764448,21.987969],[-159.726109,22.152277],[-159.468693,22.228955]]]]}},\n\t{\"type\":\"Feature\",\"id\":\"16\",\"properties\":{\"name\":\"Idaho\",\"density\":19.15},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-116.04751,49.000239],[-116.04751,47.976051],[-115.724371,47.696727],[-115.718894,47.42288],[-115.527201,47.302388],[-115.324554,47.258572],[-115.302646,47.187372],[-114.930214,46.919002],[-114.886399,46.809463],[-114.623506,46.705401],[-114.612552,46.639678],[-114.322274,46.645155],[-114.464674,46.272723],[-114.492059,46.037214],[-114.387997,45.88386],[-114.568736,45.774321],[-114.497536,45.670259],[-114.546828,45.560721],[-114.333228,45.456659],[-114.086765,45.593582],[-113.98818,45.703121],[-113.807441,45.604536],[-113.834826,45.522382],[-113.736241,45.330689],[-113.571933,45.128042],[-113.45144,45.056842],[-113.456917,44.865149],[-113.341901,44.782995],[-113.133778,44.772041],[-113.002331,44.448902],[-112.887315,44.394132],[-112.783254,44.48724],[-112.471068,44.481763],[-112.241036,44.569394],[-112.104113,44.520102],[-111.868605,44.563917],[-111.819312,44.509148],[-111.616665,44.547487],[-111.386634,44.75561],[-111.227803,44.580348],[-111.047063,44.476286],[-111.047063,42.000709],[-112.164359,41.995232],[-114.04295,41.995232],[-117.027882,42.000709],[-117.027882,43.830007],[-116.896436,44.158624],[-116.97859,44.240778],[-117.170283,44.257209],[-117.241483,44.394132],[-117.038836,44.750133],[-116.934774,44.782995],[-116.830713,44.930872],[-116.847143,45.02398],[-116.732128,45.144473],[-116.671881,45.319735],[-116.463758,45.61549],[-116.545912,45.752413],[-116.78142,45.823614],[-116.918344,45.993399],[-116.92382,46.168661],[-117.055267,46.343923],[-117.038836,46.426077],[-117.044313,47.762451],[-117.033359,49.000239],[-116.04751,49.000239]]]}},\n\t{\"type\":\"Feature\",\"id\":\"17\",\"properties\":{\"name\":\"Illinois\",\"density\":231.5},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-90.639984,42.510065],[-88.788778,42.493634],[-87.802929,42.493634],[-87.83579,42.301941],[-87.682436,42.077386],[-87.523605,41.710431],[-87.529082,39.34987],[-87.63862,39.169131],[-87.512651,38.95553],[-87.49622,38.780268],[-87.62219,38.637868],[-87.655051,38.506421],[-87.83579,38.292821],[-87.950806,38.27639],[-87.923421,38.15042],[-88.000098,38.101128],[-88.060345,37.865619],[-88.027483,37.799896],[-88.15893,37.657496],[-88.065822,37.482234],[-88.476592,37.389126],[-88.514931,37.285064],[-88.421823,37.153617],[-88.547792,37.071463],[-88.914747,37.224817],[-89.029763,37.213863],[-89.183118,37.038601],[-89.133825,36.983832],[-89.292656,36.994786],[-89.517211,37.279587],[-89.435057,37.34531],[-89.517211,37.537003],[-89.517211,37.690357],[-89.84035,37.903958],[-89.949889,37.88205],[-90.059428,38.013497],[-90.355183,38.216144],[-90.349706,38.374975],[-90.179921,38.632391],[-90.207305,38.725499],[-90.10872,38.845992],[-90.251121,38.917192],[-90.470199,38.961007],[-90.585214,38.867899],[-90.661891,38.928146],[-90.727615,39.256762],[-91.061708,39.470363],[-91.368417,39.727779],[-91.494386,40.034488],[-91.50534,40.237135],[-91.417709,40.379535],[-91.401278,40.560274],[-91.121954,40.669813],[-91.09457,40.823167],[-90.963123,40.921752],[-90.946692,41.097014],[-91.111001,41.239415],[-91.045277,41.414677],[-90.656414,41.463969],[-90.344229,41.589939],[-90.311367,41.743293],[-90.179921,41.809016],[-90.141582,42.000709],[-90.168967,42.126679],[-90.393521,42.225264],[-90.420906,42.329326],[-90.639984,42.510065]]]}},\n\t{\"type\":\"Feature\",\"id\":\"18\",\"properties\":{\"name\":\"Indiana\",\"density\":181.7},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-85.990061,41.759724],[-84.807042,41.759724],[-84.807042,41.694001],[-84.801565,40.500028],[-84.817996,39.103408],[-84.894673,39.059592],[-84.812519,38.785745],[-84.987781,38.780268],[-85.173997,38.68716],[-85.431413,38.730976],[-85.42046,38.533806],[-85.590245,38.451652],[-85.655968,38.325682],[-85.83123,38.27639],[-85.924338,38.024451],[-86.039354,37.958727],[-86.263908,38.051835],[-86.302247,38.166851],[-86.521325,38.040881],[-86.504894,37.931343],[-86.729448,37.893004],[-86.795172,37.991589],[-87.047111,37.893004],[-87.129265,37.788942],[-87.381204,37.93682],[-87.512651,37.903958],[-87.600282,37.975158],[-87.682436,37.903958],[-87.934375,37.893004],[-88.027483,37.799896],[-88.060345,37.865619],[-88.000098,38.101128],[-87.923421,38.15042],[-87.950806,38.27639],[-87.83579,38.292821],[-87.655051,38.506421],[-87.62219,38.637868],[-87.49622,38.780268],[-87.512651,38.95553],[-87.63862,39.169131],[-87.529082,39.34987],[-87.523605,41.710431],[-87.42502,41.644708],[-87.118311,41.644708],[-86.822556,41.759724],[-85.990061,41.759724]]]}},\n\t{\"type\":\"Feature\",\"id\":\"19\",\"properties\":{\"name\":\"Iowa\",\"density\":54.81},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-91.368417,43.501391],[-91.215062,43.501391],[-91.204109,43.353514],[-91.056231,43.254929],[-91.176724,43.134436],[-91.143862,42.909881],[-91.067185,42.75105],[-90.711184,42.636034],[-90.639984,42.510065],[-90.420906,42.329326],[-90.393521,42.225264],[-90.168967,42.126679],[-90.141582,42.000709],[-90.179921,41.809016],[-90.311367,41.743293],[-90.344229,41.589939],[-90.656414,41.463969],[-91.045277,41.414677],[-91.111001,41.239415],[-90.946692,41.097014],[-90.963123,40.921752],[-91.09457,40.823167],[-91.121954,40.669813],[-91.401278,40.560274],[-91.417709,40.379535],[-91.527248,40.412397],[-91.729895,40.615043],[-91.833957,40.609566],[-93.257961,40.582182],[-94.632673,40.571228],[-95.7664,40.587659],[-95.881416,40.719105],[-95.826646,40.976521],[-95.925231,41.201076],[-95.919754,41.453015],[-96.095016,41.540646],[-96.122401,41.67757],[-96.062155,41.798063],[-96.127878,41.973325],[-96.264801,42.039048],[-96.44554,42.488157],[-96.631756,42.707235],[-96.544125,42.855112],[-96.511264,43.052282],[-96.434587,43.123482],[-96.560556,43.222067],[-96.527695,43.397329],[-96.582464,43.479483],[-96.451017,43.501391],[-91.368417,43.501391]]]}},\n\t{\"type\":\"Feature\",\"id\":\"20\",\"properties\":{\"name\":\"Kansas\",\"density\":35.09},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-101.90605,40.001626],[-95.306337,40.001626],[-95.207752,39.908518],[-94.884612,39.831841],[-95.109167,39.541563],[-94.983197,39.442978],[-94.824366,39.20747],[-94.610765,39.158177],[-94.616242,37.000263],[-100.087706,37.000263],[-102.042974,36.994786],[-102.053927,40.001626],[-101.90605,40.001626]]]}},\n\t{\"type\":\"Feature\",\"id\":\"21\",\"properties\":{\"name\":\"Kentucky\",\"density\":110},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-83.903347,38.769315],[-83.678792,38.632391],[-83.519961,38.703591],[-83.142052,38.626914],[-83.032514,38.725499],[-82.890113,38.758361],[-82.846298,38.588575],[-82.731282,38.561191],[-82.594358,38.424267],[-82.621743,38.123036],[-82.50125,37.931343],[-82.342419,37.783465],[-82.293127,37.668449],[-82.101434,37.553434],[-81.969987,37.537003],[-82.353373,37.268633],[-82.720328,37.120755],[-82.720328,37.044078],[-82.868205,36.978355],[-82.879159,36.890724],[-83.070852,36.852385],[-83.136575,36.742847],[-83.673316,36.600446],[-83.689746,36.584015],[-84.544149,36.594969],[-85.289013,36.627831],[-85.486183,36.616877],[-86.592525,36.655216],[-87.852221,36.633308],[-88.071299,36.677123],[-88.054868,36.496384],[-89.298133,36.507338],[-89.418626,36.496384],[-89.363857,36.622354],[-89.215979,36.578538],[-89.133825,36.983832],[-89.183118,37.038601],[-89.029763,37.213863],[-88.914747,37.224817],[-88.547792,37.071463],[-88.421823,37.153617],[-88.514931,37.285064],[-88.476592,37.389126],[-88.065822,37.482234],[-88.15893,37.657496],[-88.027483,37.799896],[-87.934375,37.893004],[-87.682436,37.903958],[-87.600282,37.975158],[-87.512651,37.903958],[-87.381204,37.93682],[-87.129265,37.788942],[-87.047111,37.893004],[-86.795172,37.991589],[-86.729448,37.893004],[-86.504894,37.931343],[-86.521325,38.040881],[-86.302247,38.166851],[-86.263908,38.051835],[-86.039354,37.958727],[-85.924338,38.024451],[-85.83123,38.27639],[-85.655968,38.325682],[-85.590245,38.451652],[-85.42046,38.533806],[-85.431413,38.730976],[-85.173997,38.68716],[-84.987781,38.780268],[-84.812519,38.785745],[-84.894673,39.059592],[-84.817996,39.103408],[-84.43461,39.103408],[-84.231963,38.895284],[-84.215533,38.807653],[-83.903347,38.769315]]]}},\n\t{\"type\":\"Feature\",\"id\":\"22\",\"properties\":{\"name\":\"Louisiana\",\"density\":105},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-93.608485,33.018527],[-91.16577,33.002096],[-91.072662,32.887081],[-91.143862,32.843265],[-91.154816,32.640618],[-91.006939,32.514649],[-90.985031,32.218894],[-91.105524,31.988862],[-91.341032,31.846462],[-91.401278,31.621907],[-91.499863,31.643815],[-91.516294,31.27686],[-91.636787,31.265906],[-91.565587,31.068736],[-91.636787,30.997536],[-89.747242,30.997536],[-89.845827,30.66892],[-89.681519,30.449842],[-89.643181,30.285534],[-89.522688,30.181472],[-89.818443,30.044549],[-89.84035,29.945964],[-89.599365,29.88024],[-89.495303,30.039072],[-89.287179,29.88024],[-89.30361,29.754271],[-89.424103,29.699501],[-89.648657,29.748794],[-89.621273,29.655686],[-89.69795,29.513285],[-89.506257,29.387316],[-89.199548,29.348977],[-89.09001,29.2011],[-89.002379,29.179192],[-89.16121,29.009407],[-89.336472,29.042268],[-89.484349,29.217531],[-89.851304,29.310638],[-89.851304,29.480424],[-90.032043,29.425654],[-90.021089,29.283254],[-90.103244,29.151807],[-90.23469,29.129899],[-90.333275,29.277777],[-90.563307,29.283254],[-90.645461,29.129899],[-90.798815,29.086084],[-90.963123,29.179192],[-91.09457,29.190146],[-91.220539,29.436608],[-91.445094,29.546147],[-91.532725,29.529716],[-91.620356,29.73784],[-91.883249,29.710455],[-91.888726,29.836425],[-92.146142,29.715932],[-92.113281,29.622824],[-92.31045,29.535193],[-92.617159,29.579009],[-92.97316,29.715932],[-93.2251,29.776178],[-93.767317,29.726886],[-93.838517,29.688547],[-93.926148,29.787132],[-93.690639,30.143133],[-93.767317,30.334826],[-93.696116,30.438888],[-93.728978,30.575812],[-93.630393,30.679874],[-93.526331,30.93729],[-93.542762,31.15089],[-93.816609,31.556184],[-93.822086,31.775262],[-94.041164,31.994339],[-94.041164,33.018527],[-93.608485,33.018527]]]}},\n\t{\"type\":\"Feature\",\"id\":\"23\",\"properties\":{\"name\":\"Maine\",\"density\":43.04},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-70.703921,43.057759],[-70.824413,43.128959],[-70.807983,43.227544],[-70.966814,43.34256],[-71.032537,44.657025],[-71.08183,45.303304],[-70.649151,45.440228],[-70.720352,45.511428],[-70.556043,45.664782],[-70.386258,45.735983],[-70.41912,45.796229],[-70.260289,45.889337],[-70.309581,46.064599],[-70.210996,46.327492],[-70.057642,46.415123],[-69.997395,46.694447],[-69.225147,47.461219],[-69.044408,47.428357],[-69.033454,47.242141],[-68.902007,47.176418],[-68.578868,47.285957],[-68.376221,47.285957],[-68.233821,47.357157],[-67.954497,47.198326],[-67.790188,47.066879],[-67.779235,45.944106],[-67.801142,45.675736],[-67.456095,45.604536],[-67.505388,45.48952],[-67.417757,45.379982],[-67.488957,45.281397],[-67.346556,45.128042],[-67.16034,45.160904],[-66.979601,44.804903],[-67.187725,44.646072],[-67.308218,44.706318],[-67.406803,44.596779],[-67.549203,44.624164],[-67.565634,44.531056],[-67.75185,44.54201],[-68.047605,44.328409],[-68.118805,44.476286],[-68.222867,44.48724],[-68.173574,44.328409],[-68.403606,44.251732],[-68.458375,44.377701],[-68.567914,44.311978],[-68.82533,44.311978],[-68.830807,44.459856],[-68.984161,44.426994],[-68.956777,44.322932],[-69.099177,44.103854],[-69.071793,44.043608],[-69.258008,43.923115],[-69.444224,43.966931],[-69.553763,43.840961],[-69.707118,43.82453],[-69.833087,43.720469],[-69.986442,43.742376],[-70.030257,43.851915],[-70.254812,43.676653],[-70.194565,43.567114],[-70.358873,43.528776],[-70.369827,43.435668],[-70.556043,43.320652],[-70.703921,43.057759]]]}},\n\t{\"type\":\"Feature\",\"id\":\"24\",\"properties\":{\"name\":\"Maryland\",\"density\":596.3},\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[[[-75.994645,37.95325],[-76.016553,37.95325],[-76.043938,37.95325],[-75.994645,37.95325]]],[[[-79.477979,39.722302],[-75.786521,39.722302],[-75.693413,38.462606],[-75.047134,38.451652],[-75.244304,38.029928],[-75.397659,38.013497],[-75.671506,37.95325],[-75.885106,37.909435],[-75.879629,38.073743],[-75.961783,38.139466],[-75.846768,38.210667],[-76.000122,38.374975],[-76.049415,38.303775],[-76.257538,38.320205],[-76.328738,38.500944],[-76.263015,38.500944],[-76.257538,38.736453],[-76.191815,38.829561],[-76.279446,39.147223],[-76.169907,39.333439],[-76.000122,39.366301],[-75.972737,39.557994],[-76.098707,39.536086],[-76.104184,39.437501],[-76.367077,39.311532],[-76.443754,39.196516],[-76.460185,38.906238],[-76.55877,38.769315],[-76.514954,38.539283],[-76.383508,38.380452],[-76.399939,38.259959],[-76.317785,38.139466],[-76.3616,38.057312],[-76.591632,38.216144],[-76.920248,38.292821],[-77.018833,38.446175],[-77.205049,38.358544],[-77.276249,38.479037],[-77.128372,38.632391],[-77.040741,38.791222],[-76.909294,38.895284],[-77.035264,38.993869],[-77.117418,38.933623],[-77.248864,39.026731],[-77.456988,39.076023],[-77.456988,39.223901],[-77.566527,39.306055],[-77.719881,39.322485],[-77.834897,39.601809],[-78.004682,39.601809],[-78.174467,39.694917],[-78.267575,39.61824],[-78.431884,39.623717],[-78.470222,39.514178],[-78.765977,39.585379],[-78.963147,39.437501],[-79.094593,39.470363],[-79.291763,39.300578],[-79.488933,39.20747],[-79.477979,39.722302]]]]}},\n\t{\"type\":\"Feature\",\"id\":\"25\",\"properties\":{\"name\":\"Massachusetts\",\"density\":840.2},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-70.917521,42.887974],[-70.818936,42.871543],[-70.780598,42.696281],[-70.824413,42.55388],[-70.983245,42.422434],[-70.988722,42.269079],[-70.769644,42.247172],[-70.638197,42.08834],[-70.660105,41.962371],[-70.550566,41.929509],[-70.539613,41.814493],[-70.260289,41.715908],[-69.937149,41.809016],[-70.008349,41.672093],[-70.484843,41.5516],[-70.660105,41.546123],[-70.764167,41.639231],[-70.928475,41.611847],[-70.933952,41.540646],[-71.120168,41.496831],[-71.196845,41.67757],[-71.22423,41.710431],[-71.328292,41.781632],[-71.383061,42.01714],[-71.530939,42.01714],[-71.799309,42.006186],[-71.799309,42.022617],[-73.053528,42.039048],[-73.486206,42.050002],[-73.508114,42.08834],[-73.267129,42.745573],[-72.456542,42.729142],[-71.29543,42.696281],[-71.185891,42.789389],[-70.917521,42.887974]]]}},\n\t{\"type\":\"Feature\",\"id\":\"26\",\"properties\":{\"name\":\"Michigan\",\"density\":173.9},\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[[[-83.454238,41.732339],[-84.807042,41.694001],[-84.807042,41.759724],[-85.990061,41.759724],[-86.822556,41.759724],[-86.619909,41.891171],[-86.482986,42.115725],[-86.357016,42.252649],[-86.263908,42.444341],[-86.209139,42.718189],[-86.231047,43.013943],[-86.526801,43.594499],[-86.433693,43.813577],[-86.499417,44.07647],[-86.269385,44.34484],[-86.220093,44.569394],[-86.252954,44.689887],[-86.088646,44.73918],[-86.066738,44.903488],[-85.809322,44.947303],[-85.612152,45.128042],[-85.628583,44.766564],[-85.524521,44.750133],[-85.393075,44.930872],[-85.387598,45.237581],[-85.305444,45.314258],[-85.031597,45.363551],[-85.119228,45.577151],[-84.938489,45.75789],[-84.713934,45.768844],[-84.461995,45.653829],[-84.215533,45.637398],[-84.09504,45.494997],[-83.908824,45.484043],[-83.596638,45.352597],[-83.4871,45.358074],[-83.317314,45.144473],[-83.454238,45.029457],[-83.322791,44.88158],[-83.273499,44.711795],[-83.333745,44.339363],[-83.536392,44.246255],[-83.585684,44.054562],[-83.82667,43.988839],[-83.958116,43.758807],[-83.908824,43.671176],[-83.667839,43.589022],[-83.481623,43.714992],[-83.262545,43.972408],[-82.917498,44.070993],[-82.747713,43.994316],[-82.643651,43.851915],[-82.539589,43.435668],[-82.523158,43.227544],[-82.413619,42.975605],[-82.517681,42.614127],[-82.681989,42.559357],[-82.687466,42.690804],[-82.797005,42.652465],[-82.922975,42.351234],[-83.125621,42.236218],[-83.185868,42.006186],[-83.437807,41.814493],[-83.454238,41.732339]]],[[[-85.508091,45.730506],[-85.49166,45.610013],[-85.623106,45.588105],[-85.568337,45.75789],[-85.508091,45.730506]]],[[[-87.589328,45.095181],[-87.742682,45.199243],[-87.649574,45.341643],[-87.885083,45.363551],[-87.791975,45.500474],[-87.781021,45.675736],[-87.989145,45.796229],[-88.10416,45.922199],[-88.531362,46.020784],[-88.662808,45.987922],[-89.09001,46.135799],[-90.119674,46.338446],[-90.229213,46.508231],[-90.415429,46.568478],[-90.026566,46.672539],[-89.851304,46.793032],[-89.413149,46.842325],[-89.128348,46.990202],[-88.996902,46.995679],[-88.887363,47.099741],[-88.575177,47.247618],[-88.416346,47.373588],[-88.180837,47.455742],[-87.956283,47.384542],[-88.350623,47.077833],[-88.443731,46.973771],[-88.438254,46.787555],[-88.246561,46.929956],[-87.901513,46.908048],[-87.633143,46.809463],[-87.392158,46.535616],[-87.260711,46.486323],[-87.008772,46.530139],[-86.948526,46.469893],[-86.696587,46.437031],[-86.159846,46.667063],[-85.880522,46.68897],[-85.508091,46.678016],[-85.256151,46.754694],[-85.064458,46.760171],[-85.02612,46.480847],[-84.82895,46.442508],[-84.63178,46.486323],[-84.549626,46.4206],[-84.418179,46.502754],[-84.127902,46.530139],[-84.122425,46.179615],[-83.990978,46.031737],[-83.793808,45.993399],[-83.7719,46.091984],[-83.580208,46.091984],[-83.476146,45.987922],[-83.563777,45.911245],[-84.111471,45.976968],[-84.374364,45.933153],[-84.659165,46.053645],[-84.741319,45.944106],[-84.70298,45.850998],[-84.82895,45.872906],[-85.015166,46.00983],[-85.338305,46.091984],[-85.502614,46.097461],[-85.661445,45.966014],[-85.924338,45.933153],[-86.209139,45.960537],[-86.324155,45.905768],[-86.351539,45.796229],[-86.663725,45.703121],[-86.647294,45.834568],[-86.784218,45.861952],[-86.838987,45.725029],[-87.069019,45.719552],[-87.17308,45.659305],[-87.326435,45.423797],[-87.611236,45.122565],[-87.589328,45.095181]]],[[[-88.805209,47.976051],[-89.057148,47.850082],[-89.188594,47.833651],[-89.177641,47.937713],[-88.547792,48.173221],[-88.668285,48.008913],[-88.805209,47.976051]]]]}},\n\t{\"type\":\"Feature\",\"id\":\"27\",\"properties\":{\"name\":\"Minnesota\",\"density\":67.14},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-92.014696,46.705401],[-92.091373,46.749217],[-92.29402,46.667063],[-92.29402,46.075553],[-92.354266,46.015307],[-92.639067,45.933153],[-92.869098,45.719552],[-92.885529,45.577151],[-92.770513,45.566198],[-92.644544,45.440228],[-92.75956,45.286874],[-92.737652,45.117088],[-92.808852,44.750133],[-92.545959,44.569394],[-92.337835,44.552964],[-92.233773,44.443425],[-91.927065,44.333886],[-91.877772,44.202439],[-91.592971,44.032654],[-91.43414,43.994316],[-91.242447,43.775238],[-91.269832,43.616407],[-91.215062,43.501391],[-91.368417,43.501391],[-96.451017,43.501391],[-96.451017,45.297827],[-96.681049,45.412843],[-96.856311,45.604536],[-96.582464,45.818137],[-96.560556,45.933153],[-96.598895,46.332969],[-96.719387,46.437031],[-96.801542,46.656109],[-96.785111,46.924479],[-96.823449,46.968294],[-96.856311,47.609096],[-97.053481,47.948667],[-97.130158,48.140359],[-97.16302,48.545653],[-97.097296,48.682577],[-97.228743,49.000239],[-95.152983,49.000239],[-95.152983,49.383625],[-94.955813,49.372671],[-94.824366,49.295994],[-94.69292,48.775685],[-94.588858,48.715438],[-94.260241,48.699007],[-94.221903,48.649715],[-93.838517,48.627807],[-93.794701,48.518268],[-93.466085,48.545653],[-93.466085,48.589469],[-93.208669,48.644238],[-92.984114,48.62233],[-92.726698,48.540176],[-92.655498,48.436114],[-92.50762,48.447068],[-92.370697,48.222514],[-92.304974,48.315622],[-92.053034,48.359437],[-92.009219,48.266329],[-91.713464,48.200606],[-91.713464,48.112975],[-91.565587,48.041775],[-91.264355,48.080113],[-91.083616,48.178698],[-90.837154,48.238944],[-90.749522,48.091067],[-90.579737,48.123929],[-90.377091,48.091067],[-90.141582,48.112975],[-89.873212,47.987005],[-89.615796,48.008913],[-89.637704,47.954144],[-89.971797,47.828174],[-90.437337,47.729589],[-90.738569,47.625527],[-91.171247,47.368111],[-91.357463,47.20928],[-91.642264,47.028541],[-92.091373,46.787555],[-92.014696,46.705401]]]}},\n\t{\"type\":\"Feature\",\"id\":\"28\",\"properties\":{\"name\":\"Mississippi\",\"density\":63.50},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-88.471115,34.995703],[-88.202745,34.995703],[-88.098683,34.891641],[-88.241084,33.796253],[-88.471115,31.895754],[-88.394438,30.367688],[-88.503977,30.323872],[-88.744962,30.34578],[-88.843547,30.411504],[-89.084533,30.367688],[-89.418626,30.252672],[-89.522688,30.181472],[-89.643181,30.285534],[-89.681519,30.449842],[-89.845827,30.66892],[-89.747242,30.997536],[-91.636787,30.997536],[-91.565587,31.068736],[-91.636787,31.265906],[-91.516294,31.27686],[-91.499863,31.643815],[-91.401278,31.621907],[-91.341032,31.846462],[-91.105524,31.988862],[-90.985031,32.218894],[-91.006939,32.514649],[-91.154816,32.640618],[-91.143862,32.843265],[-91.072662,32.887081],[-91.16577,33.002096],[-91.089093,33.13902],[-91.143862,33.347144],[-91.056231,33.429298],[-91.231493,33.560744],[-91.072662,33.867453],[-90.891923,34.026284],[-90.952169,34.135823],[-90.744046,34.300131],[-90.749522,34.365854],[-90.568783,34.420624],[-90.585214,34.617794],[-90.481152,34.661609],[-90.409952,34.831394],[-90.251121,34.908072],[-90.311367,34.995703],[-88.471115,34.995703]]]}},\n\t{\"type\":\"Feature\",\"id\":\"29\",\"properties\":{\"name\":\"Missouri\",\"density\":87.26},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-91.833957,40.609566],[-91.729895,40.615043],[-91.527248,40.412397],[-91.417709,40.379535],[-91.50534,40.237135],[-91.494386,40.034488],[-91.368417,39.727779],[-91.061708,39.470363],[-90.727615,39.256762],[-90.661891,38.928146],[-90.585214,38.867899],[-90.470199,38.961007],[-90.251121,38.917192],[-90.10872,38.845992],[-90.207305,38.725499],[-90.179921,38.632391],[-90.349706,38.374975],[-90.355183,38.216144],[-90.059428,38.013497],[-89.949889,37.88205],[-89.84035,37.903958],[-89.517211,37.690357],[-89.517211,37.537003],[-89.435057,37.34531],[-89.517211,37.279587],[-89.292656,36.994786],[-89.133825,36.983832],[-89.215979,36.578538],[-89.363857,36.622354],[-89.418626,36.496384],[-89.484349,36.496384],[-89.539119,36.496384],[-89.533642,36.249922],[-89.730812,35.997983],[-90.377091,35.997983],[-90.218259,36.184199],[-90.064905,36.304691],[-90.152536,36.496384],[-94.473842,36.501861],[-94.616242,36.501861],[-94.616242,37.000263],[-94.610765,39.158177],[-94.824366,39.20747],[-94.983197,39.442978],[-95.109167,39.541563],[-94.884612,39.831841],[-95.207752,39.908518],[-95.306337,40.001626],[-95.552799,40.264519],[-95.7664,40.587659],[-94.632673,40.571228],[-93.257961,40.582182],[-91.833957,40.609566]]]}},\n\t{\"type\":\"Feature\",\"id\":\"30\",\"properties\":{\"name\":\"Montana\",\"density\":6.858},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-104.047534,49.000239],[-104.042057,47.861036],[-104.047534,45.944106],[-104.042057,44.996596],[-104.058488,44.996596],[-105.91517,45.002073],[-109.080842,45.002073],[-111.05254,45.002073],[-111.047063,44.476286],[-111.227803,44.580348],[-111.386634,44.75561],[-111.616665,44.547487],[-111.819312,44.509148],[-111.868605,44.563917],[-112.104113,44.520102],[-112.241036,44.569394],[-112.471068,44.481763],[-112.783254,44.48724],[-112.887315,44.394132],[-113.002331,44.448902],[-113.133778,44.772041],[-113.341901,44.782995],[-113.456917,44.865149],[-113.45144,45.056842],[-113.571933,45.128042],[-113.736241,45.330689],[-113.834826,45.522382],[-113.807441,45.604536],[-113.98818,45.703121],[-114.086765,45.593582],[-114.333228,45.456659],[-114.546828,45.560721],[-114.497536,45.670259],[-114.568736,45.774321],[-114.387997,45.88386],[-114.492059,46.037214],[-114.464674,46.272723],[-114.322274,46.645155],[-114.612552,46.639678],[-114.623506,46.705401],[-114.886399,46.809463],[-114.930214,46.919002],[-115.302646,47.187372],[-115.324554,47.258572],[-115.527201,47.302388],[-115.718894,47.42288],[-115.724371,47.696727],[-116.04751,47.976051],[-116.04751,49.000239],[-111.50165,48.994762],[-109.453274,49.000239],[-104.047534,49.000239]]]}},\n\t{\"type\":\"Feature\",\"id\":\"31\",\"properties\":{\"name\":\"Nebraska\",\"density\":23.97},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-103.324578,43.002989],[-101.626726,42.997512],[-98.499393,42.997512],[-98.466531,42.94822],[-97.951699,42.767481],[-97.831206,42.866066],[-97.688806,42.844158],[-97.217789,42.844158],[-96.692003,42.657942],[-96.626279,42.515542],[-96.44554,42.488157],[-96.264801,42.039048],[-96.127878,41.973325],[-96.062155,41.798063],[-96.122401,41.67757],[-96.095016,41.540646],[-95.919754,41.453015],[-95.925231,41.201076],[-95.826646,40.976521],[-95.881416,40.719105],[-95.7664,40.587659],[-95.552799,40.264519],[-95.306337,40.001626],[-101.90605,40.001626],[-102.053927,40.001626],[-102.053927,41.003906],[-104.053011,41.003906],[-104.053011,43.002989],[-103.324578,43.002989]]]}},\n\t{\"type\":\"Feature\",\"id\":\"32\",\"properties\":{\"name\":\"Nevada\",\"density\":24.80},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-117.027882,42.000709],[-114.04295,41.995232],[-114.048427,37.000263],[-114.048427,36.195153],[-114.152489,36.025367],[-114.251074,36.01989],[-114.371566,36.140383],[-114.738521,36.102045],[-114.678275,35.516012],[-114.596121,35.324319],[-114.574213,35.138103],[-114.634459,35.00118],[-115.85034,35.970598],[-116.540435,36.501861],[-117.498899,37.21934],[-118.71478,38.101128],[-120.001861,38.999346],[-119.996384,40.264519],[-120.001861,41.995232],[-118.698349,41.989755],[-117.027882,42.000709]]]}},\n\t{\"type\":\"Feature\",\"id\":\"33\",\"properties\":{\"name\":\"New Hampshire\",\"density\":147},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-71.08183,45.303304],[-71.032537,44.657025],[-70.966814,43.34256],[-70.807983,43.227544],[-70.824413,43.128959],[-70.703921,43.057759],[-70.818936,42.871543],[-70.917521,42.887974],[-71.185891,42.789389],[-71.29543,42.696281],[-72.456542,42.729142],[-72.544173,42.80582],[-72.533219,42.953697],[-72.445588,43.008466],[-72.456542,43.150867],[-72.379864,43.572591],[-72.204602,43.769761],[-72.116971,43.994316],[-72.02934,44.07647],[-72.034817,44.322932],[-71.700724,44.41604],[-71.536416,44.585825],[-71.629524,44.750133],[-71.4926,44.914442],[-71.503554,45.013027],[-71.361154,45.270443],[-71.131122,45.243058],[-71.08183,45.303304]]]}},\n\t{\"type\":\"Feature\",\"id\":\"34\",\"properties\":{\"name\":\"New Jersey\",\"density\":1189 },\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-74.236547,41.14083],[-73.902454,40.998429],[-74.022947,40.708151],[-74.187255,40.642428],[-74.274886,40.489074],[-74.001039,40.412397],[-73.979131,40.297381],[-74.099624,39.760641],[-74.411809,39.360824],[-74.614456,39.245808],[-74.795195,38.993869],[-74.888303,39.158177],[-75.178581,39.240331],[-75.534582,39.459409],[-75.55649,39.607286],[-75.561967,39.629194],[-75.507197,39.683964],[-75.414089,39.804456],[-75.145719,39.88661],[-75.129289,39.963288],[-74.82258,40.127596],[-74.773287,40.215227],[-75.058088,40.417874],[-75.069042,40.543843],[-75.195012,40.576705],[-75.205966,40.691721],[-75.052611,40.866983],[-75.134765,40.971045],[-74.882826,41.179168],[-74.828057,41.288707],[-74.69661,41.359907],[-74.236547,41.14083]]]}},\n\t{\"type\":\"Feature\",\"id\":\"35\",\"properties\":{\"name\":\"New Mexico\",\"density\":17.16},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-107.421329,37.000263],[-106.868158,36.994786],[-104.337812,36.994786],[-103.001438,37.000263],[-103.001438,36.501861],[-103.039777,36.501861],[-103.045254,34.01533],[-103.067161,33.002096],[-103.067161,31.999816],[-106.616219,31.999816],[-106.643603,31.901231],[-106.528588,31.786216],[-108.210008,31.786216],[-108.210008,31.331629],[-109.04798,31.331629],[-109.042503,37.000263],[-107.421329,37.000263]]]}},\n\t{\"type\":\"Feature\",\"id\":\"36\",\"properties\":{\"name\":\"New York\",\"density\":412.3},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-73.343806,45.013027],[-73.332852,44.804903],[-73.387622,44.618687],[-73.294514,44.437948],[-73.321898,44.246255],[-73.436914,44.043608],[-73.349283,43.769761],[-73.404052,43.687607],[-73.245221,43.523299],[-73.278083,42.833204],[-73.267129,42.745573],[-73.508114,42.08834],[-73.486206,42.050002],[-73.55193,41.294184],[-73.48073,41.21203],[-73.727192,41.102491],[-73.655992,40.987475],[-73.22879,40.905321],[-73.141159,40.965568],[-72.774204,40.965568],[-72.587988,40.998429],[-72.28128,41.157261],[-72.259372,41.042245],[-72.100541,40.992952],[-72.467496,40.845075],[-73.239744,40.625997],[-73.562884,40.582182],[-73.776484,40.593136],[-73.935316,40.543843],[-74.022947,40.708151],[-73.902454,40.998429],[-74.236547,41.14083],[-74.69661,41.359907],[-74.740426,41.431108],[-74.89378,41.436584],[-75.074519,41.60637],[-75.052611,41.754247],[-75.173104,41.869263],[-75.249781,41.863786],[-75.35932,42.000709],[-79.76278,42.000709],[-79.76278,42.252649],[-79.76278,42.269079],[-79.149363,42.55388],[-79.050778,42.690804],[-78.853608,42.783912],[-78.930285,42.953697],[-79.012439,42.986559],[-79.072686,43.260406],[-78.486653,43.375421],[-77.966344,43.369944],[-77.75822,43.34256],[-77.533665,43.233021],[-77.391265,43.276836],[-76.958587,43.271359],[-76.695693,43.34256],[-76.41637,43.523299],[-76.235631,43.528776],[-76.230154,43.802623],[-76.137046,43.961454],[-76.3616,44.070993],[-76.312308,44.196962],[-75.912491,44.366748],[-75.764614,44.514625],[-75.282643,44.848718],[-74.828057,45.018503],[-74.148916,44.991119],[-73.343806,45.013027]]]}},\n\t{\"type\":\"Feature\",\"id\":\"37\",\"properties\":{\"name\":\"North Carolina\",\"density\":198.2},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-80.978661,36.562108],[-80.294043,36.545677],[-79.510841,36.5402],[-75.868676,36.551154],[-75.75366,36.151337],[-76.032984,36.189676],[-76.071322,36.140383],[-76.410893,36.080137],[-76.460185,36.025367],[-76.68474,36.008937],[-76.673786,35.937736],[-76.399939,35.987029],[-76.3616,35.943213],[-76.060368,35.992506],[-75.961783,35.899398],[-75.781044,35.937736],[-75.715321,35.696751],[-75.775568,35.581735],[-75.89606,35.570781],[-76.147999,35.324319],[-76.482093,35.313365],[-76.536862,35.14358],[-76.394462,34.973795],[-76.279446,34.940933],[-76.493047,34.661609],[-76.673786,34.694471],[-76.991448,34.667086],[-77.210526,34.60684],[-77.555573,34.415147],[-77.82942,34.163208],[-77.971821,33.845545],[-78.179944,33.916745],[-78.541422,33.851022],[-79.675149,34.80401],[-80.797922,34.820441],[-80.781491,34.935456],[-80.934845,35.105241],[-81.038907,35.044995],[-81.044384,35.149057],[-82.276696,35.198349],[-82.550543,35.160011],[-82.764143,35.066903],[-83.109191,35.00118],[-83.618546,34.984749],[-84.319594,34.990226],[-84.29221,35.225734],[-84.09504,35.247642],[-84.018363,35.41195],[-83.7719,35.559827],[-83.498053,35.565304],[-83.251591,35.718659],[-82.994175,35.773428],[-82.775097,35.997983],[-82.638174,36.063706],[-82.610789,35.965121],[-82.216449,36.156814],[-82.03571,36.118475],[-81.909741,36.304691],[-81.723525,36.353984],[-81.679709,36.589492],[-80.978661,36.562108]]]}},\n\t{\"type\":\"Feature\",\"id\":\"38\",\"properties\":{\"name\":\"North Dakota\",\"density\":9.916},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-97.228743,49.000239],[-97.097296,48.682577],[-97.16302,48.545653],[-97.130158,48.140359],[-97.053481,47.948667],[-96.856311,47.609096],[-96.823449,46.968294],[-96.785111,46.924479],[-96.801542,46.656109],[-96.719387,46.437031],[-96.598895,46.332969],[-96.560556,45.933153],[-104.047534,45.944106],[-104.042057,47.861036],[-104.047534,49.000239],[-97.228743,49.000239]]]}},\n\t{\"type\":\"Feature\",\"id\":\"39\",\"properties\":{\"name\":\"Ohio\",\"density\":281.9},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-80.518598,41.978802],[-80.518598,40.636951],[-80.666475,40.582182],[-80.595275,40.472643],[-80.600752,40.319289],[-80.737675,40.078303],[-80.830783,39.711348],[-81.219646,39.388209],[-81.345616,39.344393],[-81.455155,39.410117],[-81.57017,39.267716],[-81.685186,39.273193],[-81.811156,39.0815],[-81.783771,38.966484],[-81.887833,38.873376],[-82.03571,39.026731],[-82.221926,38.785745],[-82.172634,38.632391],[-82.293127,38.577622],[-82.331465,38.446175],[-82.594358,38.424267],[-82.731282,38.561191],[-82.846298,38.588575],[-82.890113,38.758361],[-83.032514,38.725499],[-83.142052,38.626914],[-83.519961,38.703591],[-83.678792,38.632391],[-83.903347,38.769315],[-84.215533,38.807653],[-84.231963,38.895284],[-84.43461,39.103408],[-84.817996,39.103408],[-84.801565,40.500028],[-84.807042,41.694001],[-83.454238,41.732339],[-83.065375,41.595416],[-82.933929,41.513262],[-82.835344,41.589939],[-82.616266,41.431108],[-82.479343,41.381815],[-82.013803,41.513262],[-81.739956,41.485877],[-81.444201,41.672093],[-81.011523,41.852832],[-80.518598,41.978802],[-80.518598,41.978802]]]}},\n\t{\"type\":\"Feature\",\"id\":\"40\",\"properties\":{\"name\":\"Oklahoma\",\"density\":55.22},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-100.087706,37.000263],[-94.616242,37.000263],[-94.616242,36.501861],[-94.430026,35.395519],[-94.484796,33.637421],[-94.868182,33.74696],[-94.966767,33.861976],[-95.224183,33.960561],[-95.289906,33.87293],[-95.547322,33.878407],[-95.602092,33.933176],[-95.8376,33.834591],[-95.936185,33.889361],[-96.149786,33.840068],[-96.346956,33.686714],[-96.423633,33.774345],[-96.631756,33.845545],[-96.850834,33.845545],[-96.922034,33.960561],[-97.173974,33.736006],[-97.256128,33.861976],[-97.371143,33.823637],[-97.458774,33.905791],[-97.694283,33.982469],[-97.869545,33.851022],[-97.946222,33.987946],[-98.088623,34.004376],[-98.170777,34.113915],[-98.36247,34.157731],[-98.488439,34.064623],[-98.570593,34.146777],[-98.767763,34.135823],[-98.986841,34.223454],[-99.189488,34.2125],[-99.260688,34.404193],[-99.57835,34.415147],[-99.698843,34.382285],[-99.923398,34.573978],[-100.000075,34.563024],[-100.000075,36.501861],[-101.812942,36.501861],[-103.001438,36.501861],[-103.001438,37.000263],[-102.042974,36.994786],[-100.087706,37.000263]]]}},\n\t{\"type\":\"Feature\",\"id\":\"41\",\"properties\":{\"name\":\"Oregon\",\"density\":40.33},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-123.211348,46.174138],[-123.11824,46.185092],[-122.904639,46.08103],[-122.811531,45.960537],[-122.762239,45.659305],[-122.247407,45.549767],[-121.809251,45.708598],[-121.535404,45.725029],[-121.217742,45.670259],[-121.18488,45.604536],[-120.637186,45.746937],[-120.505739,45.697644],[-120.209985,45.725029],[-119.963522,45.823614],[-119.525367,45.911245],[-119.125551,45.933153],[-118.988627,45.998876],[-116.918344,45.993399],[-116.78142,45.823614],[-116.545912,45.752413],[-116.463758,45.61549],[-116.671881,45.319735],[-116.732128,45.144473],[-116.847143,45.02398],[-116.830713,44.930872],[-116.934774,44.782995],[-117.038836,44.750133],[-117.241483,44.394132],[-117.170283,44.257209],[-116.97859,44.240778],[-116.896436,44.158624],[-117.027882,43.830007],[-117.027882,42.000709],[-118.698349,41.989755],[-120.001861,41.995232],[-121.037003,41.995232],[-122.378853,42.011663],[-123.233256,42.006186],[-124.213628,42.000709],[-124.356029,42.115725],[-124.432706,42.438865],[-124.416275,42.663419],[-124.553198,42.838681],[-124.454613,43.002989],[-124.383413,43.271359],[-124.235536,43.55616],[-124.169813,43.8081],[-124.060274,44.657025],[-124.076705,44.772041],[-123.97812,45.144473],[-123.939781,45.659305],[-123.994551,45.944106],[-123.945258,46.113892],[-123.545441,46.261769],[-123.370179,46.146753],[-123.211348,46.174138]]]}},\n\t{\"type\":\"Feature\",\"id\":\"42\",\"properties\":{\"name\":\"Pennsylvania\",\"density\":284.3},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-79.76278,42.252649],[-79.76278,42.000709],[-75.35932,42.000709],[-75.249781,41.863786],[-75.173104,41.869263],[-75.052611,41.754247],[-75.074519,41.60637],[-74.89378,41.436584],[-74.740426,41.431108],[-74.69661,41.359907],[-74.828057,41.288707],[-74.882826,41.179168],[-75.134765,40.971045],[-75.052611,40.866983],[-75.205966,40.691721],[-75.195012,40.576705],[-75.069042,40.543843],[-75.058088,40.417874],[-74.773287,40.215227],[-74.82258,40.127596],[-75.129289,39.963288],[-75.145719,39.88661],[-75.414089,39.804456],[-75.616736,39.831841],[-75.786521,39.722302],[-79.477979,39.722302],[-80.518598,39.722302],[-80.518598,40.636951],[-80.518598,41.978802],[-80.518598,41.978802],[-80.332382,42.033571],[-79.76278,42.269079],[-79.76278,42.252649]]]}},\n\t{\"type\":\"Feature\",\"id\":\"44\",\"properties\":{\"name\":\"Rhode Island\",\"density\":1006 },\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[[[-71.196845,41.67757],[-71.120168,41.496831],[-71.317338,41.474923],[-71.196845,41.67757]]],[[[-71.530939,42.01714],[-71.383061,42.01714],[-71.328292,41.781632],[-71.22423,41.710431],[-71.344723,41.726862],[-71.448785,41.578985],[-71.481646,41.370861],[-71.859555,41.321569],[-71.799309,41.414677],[-71.799309,42.006186],[-71.530939,42.01714]]]]}},\n\t{\"type\":\"Feature\",\"id\":\"45\",\"properties\":{\"name\":\"South Carolina\",\"density\":155.4},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-82.764143,35.066903],[-82.550543,35.160011],[-82.276696,35.198349],[-81.044384,35.149057],[-81.038907,35.044995],[-80.934845,35.105241],[-80.781491,34.935456],[-80.797922,34.820441],[-79.675149,34.80401],[-78.541422,33.851022],[-78.716684,33.80173],[-78.935762,33.637421],[-79.149363,33.380005],[-79.187701,33.171881],[-79.357487,33.007573],[-79.582041,33.007573],[-79.631334,32.887081],[-79.866842,32.755634],[-79.998289,32.613234],[-80.206412,32.552987],[-80.430967,32.399633],[-80.452875,32.328433],[-80.660998,32.246279],[-80.885553,32.032678],[-81.115584,32.120309],[-81.121061,32.290094],[-81.279893,32.558464],[-81.416816,32.629664],[-81.42777,32.843265],[-81.493493,33.007573],[-81.761863,33.160928],[-81.937125,33.347144],[-81.926172,33.462159],[-82.194542,33.631944],[-82.325988,33.81816],[-82.55602,33.94413],[-82.714851,34.152254],[-82.747713,34.26727],[-82.901067,34.486347],[-83.005129,34.469916],[-83.339222,34.683517],[-83.322791,34.787579],[-83.109191,35.00118],[-82.764143,35.066903]]]}},\n\t{\"type\":\"Feature\",\"id\":\"46\",\"properties\":{\"name\":\"South Dakota\",\"density\":98.07},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-104.047534,45.944106],[-96.560556,45.933153],[-96.582464,45.818137],[-96.856311,45.604536],[-96.681049,45.412843],[-96.451017,45.297827],[-96.451017,43.501391],[-96.582464,43.479483],[-96.527695,43.397329],[-96.560556,43.222067],[-96.434587,43.123482],[-96.511264,43.052282],[-96.544125,42.855112],[-96.631756,42.707235],[-96.44554,42.488157],[-96.626279,42.515542],[-96.692003,42.657942],[-97.217789,42.844158],[-97.688806,42.844158],[-97.831206,42.866066],[-97.951699,42.767481],[-98.466531,42.94822],[-98.499393,42.997512],[-101.626726,42.997512],[-103.324578,43.002989],[-104.053011,43.002989],[-104.058488,44.996596],[-104.042057,44.996596],[-104.047534,45.944106]]]}},\n\t{\"type\":\"Feature\",\"id\":\"47\",\"properties\":{\"name\":\"Tennessee\",\"density\":88.08},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-88.054868,36.496384],[-88.071299,36.677123],[-87.852221,36.633308],[-86.592525,36.655216],[-85.486183,36.616877],[-85.289013,36.627831],[-84.544149,36.594969],[-83.689746,36.584015],[-83.673316,36.600446],[-81.679709,36.589492],[-81.723525,36.353984],[-81.909741,36.304691],[-82.03571,36.118475],[-82.216449,36.156814],[-82.610789,35.965121],[-82.638174,36.063706],[-82.775097,35.997983],[-82.994175,35.773428],[-83.251591,35.718659],[-83.498053,35.565304],[-83.7719,35.559827],[-84.018363,35.41195],[-84.09504,35.247642],[-84.29221,35.225734],[-84.319594,34.990226],[-85.606675,34.984749],[-87.359296,35.00118],[-88.202745,34.995703],[-88.471115,34.995703],[-90.311367,34.995703],[-90.212782,35.023087],[-90.114197,35.198349],[-90.130628,35.439335],[-89.944412,35.603643],[-89.911551,35.756997],[-89.763673,35.811767],[-89.730812,35.997983],[-89.533642,36.249922],[-89.539119,36.496384],[-89.484349,36.496384],[-89.418626,36.496384],[-89.298133,36.507338],[-88.054868,36.496384]]]}},\n\t{\"type\":\"Feature\",\"id\":\"48\",\"properties\":{\"name\":\"Texas\",\"density\":98.07},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-101.812942,36.501861],[-100.000075,36.501861],[-100.000075,34.563024],[-99.923398,34.573978],[-99.698843,34.382285],[-99.57835,34.415147],[-99.260688,34.404193],[-99.189488,34.2125],[-98.986841,34.223454],[-98.767763,34.135823],[-98.570593,34.146777],[-98.488439,34.064623],[-98.36247,34.157731],[-98.170777,34.113915],[-98.088623,34.004376],[-97.946222,33.987946],[-97.869545,33.851022],[-97.694283,33.982469],[-97.458774,33.905791],[-97.371143,33.823637],[-97.256128,33.861976],[-97.173974,33.736006],[-96.922034,33.960561],[-96.850834,33.845545],[-96.631756,33.845545],[-96.423633,33.774345],[-96.346956,33.686714],[-96.149786,33.840068],[-95.936185,33.889361],[-95.8376,33.834591],[-95.602092,33.933176],[-95.547322,33.878407],[-95.289906,33.87293],[-95.224183,33.960561],[-94.966767,33.861976],[-94.868182,33.74696],[-94.484796,33.637421],[-94.380734,33.544313],[-94.183564,33.593606],[-94.041164,33.54979],[-94.041164,33.018527],[-94.041164,31.994339],[-93.822086,31.775262],[-93.816609,31.556184],[-93.542762,31.15089],[-93.526331,30.93729],[-93.630393,30.679874],[-93.728978,30.575812],[-93.696116,30.438888],[-93.767317,30.334826],[-93.690639,30.143133],[-93.926148,29.787132],[-93.838517,29.688547],[-94.002825,29.68307],[-94.523134,29.546147],[-94.70935,29.622824],[-94.742212,29.787132],[-94.873659,29.672117],[-94.966767,29.699501],[-95.016059,29.557101],[-94.911997,29.496854],[-94.895566,29.310638],[-95.081782,29.113469],[-95.383014,28.867006],[-95.985477,28.604113],[-96.045724,28.647929],[-96.226463,28.582205],[-96.23194,28.642452],[-96.478402,28.598636],[-96.593418,28.724606],[-96.664618,28.697221],[-96.401725,28.439805],[-96.593418,28.357651],[-96.774157,28.406943],[-96.801542,28.226204],[-97.026096,28.039988],[-97.256128,27.694941],[-97.404005,27.333463],[-97.513544,27.360848],[-97.540929,27.229401],[-97.425913,27.262263],[-97.480682,26.99937],[-97.557359,26.988416],[-97.562836,26.840538],[-97.469728,26.758384],[-97.442344,26.457153],[-97.332805,26.353091],[-97.30542,26.161398],[-97.217789,25.991613],[-97.524498,25.887551],[-97.650467,26.018997],[-97.885976,26.06829],[-98.198161,26.057336],[-98.466531,26.221644],[-98.669178,26.238075],[-98.822533,26.369522],[-99.030656,26.413337],[-99.173057,26.539307],[-99.266165,26.840538],[-99.446904,27.021277],[-99.424996,27.174632],[-99.50715,27.33894],[-99.479765,27.48134],[-99.605735,27.640172],[-99.709797,27.656603],[-99.879582,27.799003],[-99.934351,27.979742],[-100.082229,28.14405],[-100.29583,28.280974],[-100.399891,28.582205],[-100.498476,28.66436],[-100.629923,28.905345],[-100.673738,29.102515],[-100.799708,29.244915],[-101.013309,29.370885],[-101.062601,29.458516],[-101.259771,29.535193],[-101.413125,29.754271],[-101.851281,29.803563],[-102.114174,29.792609],[-102.338728,29.869286],[-102.388021,29.765225],[-102.629006,29.732363],[-102.809745,29.524239],[-102.919284,29.190146],[-102.97953,29.184669],[-103.116454,28.987499],[-103.280762,28.982022],[-103.527224,29.135376],[-104.146119,29.381839],[-104.266611,29.513285],[-104.507597,29.639255],[-104.677382,29.924056],[-104.688336,30.181472],[-104.858121,30.389596],[-104.896459,30.570335],[-105.005998,30.685351],[-105.394861,30.855136],[-105.602985,31.085167],[-105.77277,31.167321],[-105.953509,31.364491],[-106.205448,31.468553],[-106.38071,31.731446],[-106.528588,31.786216],[-106.643603,31.901231],[-106.616219,31.999816],[-103.067161,31.999816],[-103.067161,33.002096],[-103.045254,34.01533],[-103.039777,36.501861],[-103.001438,36.501861],[-101.812942,36.501861]]]}},\n\t{\"type\":\"Feature\",\"id\":\"49\",\"properties\":{\"name\":\"Utah\",\"density\":34.30},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-112.164359,41.995232],[-111.047063,42.000709],[-111.047063,40.998429],[-109.04798,40.998429],[-109.053457,39.125316],[-109.058934,38.27639],[-109.042503,38.166851],[-109.042503,37.000263],[-110.499369,37.00574],[-114.048427,37.000263],[-114.04295,41.995232],[-112.164359,41.995232]]]}},\n\t{\"type\":\"Feature\",\"id\":\"50\",\"properties\":{\"name\":\"Vermont\",\"density\":67.73},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-71.503554,45.013027],[-71.4926,44.914442],[-71.629524,44.750133],[-71.536416,44.585825],[-71.700724,44.41604],[-72.034817,44.322932],[-72.02934,44.07647],[-72.116971,43.994316],[-72.204602,43.769761],[-72.379864,43.572591],[-72.456542,43.150867],[-72.445588,43.008466],[-72.533219,42.953697],[-72.544173,42.80582],[-72.456542,42.729142],[-73.267129,42.745573],[-73.278083,42.833204],[-73.245221,43.523299],[-73.404052,43.687607],[-73.349283,43.769761],[-73.436914,44.043608],[-73.321898,44.246255],[-73.294514,44.437948],[-73.387622,44.618687],[-73.332852,44.804903],[-73.343806,45.013027],[-72.308664,45.002073],[-71.503554,45.013027]]]}},\n\t{\"type\":\"Feature\",\"id\":\"51\",\"properties\":{\"name\":\"Virginia\",\"density\":204.5},\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[[[-75.397659,38.013497],[-75.244304,38.029928],[-75.375751,37.860142],[-75.512674,37.799896],[-75.594828,37.569865],[-75.802952,37.197433],[-75.972737,37.120755],[-76.027507,37.257679],[-75.939876,37.564388],[-75.671506,37.95325],[-75.397659,38.013497]]],[[[-76.016553,37.95325],[-75.994645,37.95325],[-76.043938,37.95325],[-76.016553,37.95325]]],[[[-78.349729,39.464886],[-77.82942,39.130793],[-77.719881,39.322485],[-77.566527,39.306055],[-77.456988,39.223901],[-77.456988,39.076023],[-77.248864,39.026731],[-77.117418,38.933623],[-77.040741,38.791222],[-77.128372,38.632391],[-77.248864,38.588575],[-77.325542,38.446175],[-77.281726,38.342113],[-77.013356,38.374975],[-76.964064,38.216144],[-76.613539,38.15042],[-76.514954,38.024451],[-76.235631,37.887527],[-76.3616,37.608203],[-76.246584,37.389126],[-76.383508,37.285064],[-76.399939,37.159094],[-76.273969,37.082417],[-76.410893,36.961924],[-76.619016,37.120755],[-76.668309,37.065986],[-76.48757,36.95097],[-75.994645,36.923586],[-75.868676,36.551154],[-79.510841,36.5402],[-80.294043,36.545677],[-80.978661,36.562108],[-81.679709,36.589492],[-83.673316,36.600446],[-83.136575,36.742847],[-83.070852,36.852385],[-82.879159,36.890724],[-82.868205,36.978355],[-82.720328,37.044078],[-82.720328,37.120755],[-82.353373,37.268633],[-81.969987,37.537003],[-81.986418,37.454849],[-81.849494,37.285064],[-81.679709,37.20291],[-81.55374,37.208387],[-81.362047,37.339833],[-81.225123,37.235771],[-80.967707,37.290541],[-80.513121,37.482234],[-80.474782,37.421987],[-80.29952,37.509618],[-80.294043,37.690357],[-80.184505,37.849189],[-79.998289,37.997066],[-79.921611,38.177805],[-79.724442,38.364021],[-79.647764,38.594052],[-79.477979,38.457129],[-79.313671,38.413313],[-79.209609,38.495467],[-78.996008,38.851469],[-78.870039,38.763838],[-78.404499,39.169131],[-78.349729,39.464886]]]]}},\n\t{\"type\":\"Feature\",\"id\":\"53\",\"properties\":{\"name\":\"Washington\",\"density\":102.6},\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[[[-117.033359,49.000239],[-117.044313,47.762451],[-117.038836,46.426077],[-117.055267,46.343923],[-116.92382,46.168661],[-116.918344,45.993399],[-118.988627,45.998876],[-119.125551,45.933153],[-119.525367,45.911245],[-119.963522,45.823614],[-120.209985,45.725029],[-120.505739,45.697644],[-120.637186,45.746937],[-121.18488,45.604536],[-121.217742,45.670259],[-121.535404,45.725029],[-121.809251,45.708598],[-122.247407,45.549767],[-122.762239,45.659305],[-122.811531,45.960537],[-122.904639,46.08103],[-123.11824,46.185092],[-123.211348,46.174138],[-123.370179,46.146753],[-123.545441,46.261769],[-123.72618,46.300108],[-123.874058,46.239861],[-124.065751,46.327492],[-124.027412,46.464416],[-123.895966,46.535616],[-124.098612,46.74374],[-124.235536,47.285957],[-124.31769,47.357157],[-124.427229,47.740543],[-124.624399,47.88842],[-124.706553,48.184175],[-124.597014,48.381345],[-124.394367,48.288237],[-123.983597,48.162267],[-123.704273,48.167744],[-123.424949,48.118452],[-123.162056,48.167744],[-123.036086,48.080113],[-122.800578,48.08559],[-122.636269,47.866512],[-122.515777,47.882943],[-122.493869,47.587189],[-122.422669,47.318818],[-122.324084,47.346203],[-122.422669,47.576235],[-122.395284,47.800789],[-122.230976,48.030821],[-122.362422,48.123929],[-122.373376,48.288237],[-122.471961,48.468976],[-122.422669,48.600422],[-122.488392,48.753777],[-122.647223,48.775685],[-122.795101,48.8907],[-122.756762,49.000239],[-117.033359,49.000239]]],[[[-122.718423,48.310145],[-122.586977,48.35396],[-122.608885,48.151313],[-122.767716,48.227991],[-122.718423,48.310145]]],[[[-123.025132,48.583992],[-122.915593,48.715438],[-122.767716,48.556607],[-122.811531,48.419683],[-123.041563,48.458022],[-123.025132,48.583992]]]]}},\n\t{\"type\":\"Feature\",\"id\":\"54\",\"properties\":{\"name\":\"West Virginia\",\"density\":77.06},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-80.518598,40.636951],[-80.518598,39.722302],[-79.477979,39.722302],[-79.488933,39.20747],[-79.291763,39.300578],[-79.094593,39.470363],[-78.963147,39.437501],[-78.765977,39.585379],[-78.470222,39.514178],[-78.431884,39.623717],[-78.267575,39.61824],[-78.174467,39.694917],[-78.004682,39.601809],[-77.834897,39.601809],[-77.719881,39.322485],[-77.82942,39.130793],[-78.349729,39.464886],[-78.404499,39.169131],[-78.870039,38.763838],[-78.996008,38.851469],[-79.209609,38.495467],[-79.313671,38.413313],[-79.477979,38.457129],[-79.647764,38.594052],[-79.724442,38.364021],[-79.921611,38.177805],[-79.998289,37.997066],[-80.184505,37.849189],[-80.294043,37.690357],[-80.29952,37.509618],[-80.474782,37.421987],[-80.513121,37.482234],[-80.967707,37.290541],[-81.225123,37.235771],[-81.362047,37.339833],[-81.55374,37.208387],[-81.679709,37.20291],[-81.849494,37.285064],[-81.986418,37.454849],[-81.969987,37.537003],[-82.101434,37.553434],[-82.293127,37.668449],[-82.342419,37.783465],[-82.50125,37.931343],[-82.621743,38.123036],[-82.594358,38.424267],[-82.331465,38.446175],[-82.293127,38.577622],[-82.172634,38.632391],[-82.221926,38.785745],[-82.03571,39.026731],[-81.887833,38.873376],[-81.783771,38.966484],[-81.811156,39.0815],[-81.685186,39.273193],[-81.57017,39.267716],[-81.455155,39.410117],[-81.345616,39.344393],[-81.219646,39.388209],[-80.830783,39.711348],[-80.737675,40.078303],[-80.600752,40.319289],[-80.595275,40.472643],[-80.666475,40.582182],[-80.518598,40.636951]]]}},\n\t{\"type\":\"Feature\",\"id\":\"55\",\"properties\":{\"name\":\"Wisconsin\",\"density\":105.2},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-90.415429,46.568478],[-90.229213,46.508231],[-90.119674,46.338446],[-89.09001,46.135799],[-88.662808,45.987922],[-88.531362,46.020784],[-88.10416,45.922199],[-87.989145,45.796229],[-87.781021,45.675736],[-87.791975,45.500474],[-87.885083,45.363551],[-87.649574,45.341643],[-87.742682,45.199243],[-87.589328,45.095181],[-87.627666,44.974688],[-87.819359,44.95278],[-87.983668,44.722749],[-88.043914,44.563917],[-87.928898,44.536533],[-87.775544,44.640595],[-87.611236,44.837764],[-87.403112,44.914442],[-87.238804,45.166381],[-87.03068,45.22115],[-87.047111,45.089704],[-87.189511,44.969211],[-87.468835,44.552964],[-87.545512,44.322932],[-87.540035,44.158624],[-87.644097,44.103854],[-87.737205,43.8793],[-87.704344,43.687607],[-87.791975,43.561637],[-87.912467,43.249452],[-87.885083,43.002989],[-87.76459,42.783912],[-87.802929,42.493634],[-88.788778,42.493634],[-90.639984,42.510065],[-90.711184,42.636034],[-91.067185,42.75105],[-91.143862,42.909881],[-91.176724,43.134436],[-91.056231,43.254929],[-91.204109,43.353514],[-91.215062,43.501391],[-91.269832,43.616407],[-91.242447,43.775238],[-91.43414,43.994316],[-91.592971,44.032654],[-91.877772,44.202439],[-91.927065,44.333886],[-92.233773,44.443425],[-92.337835,44.552964],[-92.545959,44.569394],[-92.808852,44.750133],[-92.737652,45.117088],[-92.75956,45.286874],[-92.644544,45.440228],[-92.770513,45.566198],[-92.885529,45.577151],[-92.869098,45.719552],[-92.639067,45.933153],[-92.354266,46.015307],[-92.29402,46.075553],[-92.29402,46.667063],[-92.091373,46.749217],[-92.014696,46.705401],[-91.790141,46.694447],[-91.09457,46.864232],[-90.837154,46.95734],[-90.749522,46.88614],[-90.886446,46.754694],[-90.55783,46.584908],[-90.415429,46.568478]]]}},\n\t{\"type\":\"Feature\",\"id\":\"56\",\"properties\":{\"name\":\"Wyoming\",\"density\":5.851},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-109.080842,45.002073],[-105.91517,45.002073],[-104.058488,44.996596],[-104.053011,43.002989],[-104.053011,41.003906],[-105.728954,40.998429],[-107.919731,41.003906],[-109.04798,40.998429],[-111.047063,40.998429],[-111.047063,42.000709],[-111.047063,44.476286],[-111.05254,45.002073],[-109.080842,45.002073]]]}},\n\t{\"type\":\"Feature\",\"id\":\"72\",\"properties\":{\"name\":\"Puerto Rico\",\"density\":1082 },\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-66.448338,17.984326],[-66.771478,18.006234],[-66.924832,17.929556],[-66.985078,17.973372],[-67.209633,17.956941],[-67.154863,18.19245],[-67.269879,18.362235],[-67.094617,18.515589],[-66.957694,18.488204],[-66.409999,18.488204],[-65.840398,18.433435],[-65.632274,18.367712],[-65.626797,18.203403],[-65.730859,18.186973],[-65.834921,18.017187],[-66.234737,17.929556],[-66.448338,17.984326]]]}}\n\t]}"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/features/us-states.geojson.meta",
    "content": "title: $:/geospatialdemo/features/us-states\ncaption: US State Boundaries\ntype: application/json\ntags: $:/tags/GeoFeature\ncolor: #88f\npopup-template: $:/geospatialdemo/features/us-states/popupTemplate"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/real-estate-demo/real-estate-demo.tid",
    "content": "title: real-estate-demo\ncaption: Real Estate Demo\ntags: $:/tags/GeospatialDemo\n\n\\define default-display-filter() [<currentTiddler>get<fieldname>]\n\\define default-limit() 10\n\nThis is a list of all the tiddlers containing ~GeoJSON markers in this wiki (identified by the tag <<tag \"$:/tags/GeoMarker\">>) viewed as both a map and a table.\n\n<$let\n\tschema={{real-estate-demo/schema}}\n>\n\t<div>\n\t\t<$list filter=\"[<schema>jsonindexes[columns]]\" variable=\"index\">\n\t\t\t<$let\n\t\t\t\tconfig={{{ [<schema>jsonget[columns],<index>,[name]addprefix[$:/config/geospatial/demo/real-estate-demo/columns/]] }}}\n\t\t\t>\n\t\t\t\t<div>\n\t\t\t\t\t<$checkbox tiddler=<<config>> field=\"visible\" checked=\"yes\" unchecked=\"no\" default=\"yes\">\n\t\t\t\t\t\t<$text text={{{ [<schema>jsonget[columns],<index>,[caption]] }}}/>\n\t\t\t\t\t</$checkbox>\n\t\t\t\t</div>\n\t\t\t</$let>\n\t\t</$list>\n\t</div>\n\t<div>\n\t\tSorting by\n\t\t<$select tiddler=\"$:/config/geospatial/demo/real-estate-demo/sort-field\" default=\"title\">\n\t\t\t<$list filter=\"[<schema>jsonindexes[columns]]\" variable=\"index\">\n\t\t\t\t<option value={{{ [<schema>jsonget[columns],<index>,[name]] }}}>\n\t\t\t\t\t<$text text={{{ [<schema>jsonget[columns],<index>,[caption]] }}}/>\n\t\t\t\t</option>\n\t\t\t</$list>\n\t\t</$select>\n\t\t<$checkbox tiddler=\"$:/config/geospatial/demo/real-estate-demo/sort-order\" field=\"text\" checked=\"reverse\" unchecked=\"normal\" default=\"normal\">\n\t\t\tReverse sort order\n\t\t</$checkbox>\n\t</div>\n\t<div>\n\tSearch: <$edit-text tiddler=\"$:/config/geospatial/demo/real-estate-demo/search\" tag=\"input\"/>\n\t</div>\n\t<div>\n\tLimit: <$edit-text tiddler=\"$:/config/geospatial/demo/real-estate-demo/limit\" tag=\"input\" placeholder=<<default-limit>>/>\n\t</div>\n\t<table>\n\t\t<thead>\n\t\t\t<tr>\n\t\t\t\t<$list filter=\"[<schema>jsonindexes[columns]]\" variable=\"index\">\n\t\t\t\t\t<$let\n\t\t\t\t\t\tconfig={{{ [<schema>jsonget[columns],<index>,[name]addprefix[$:/config/geospatial/demo/real-estate-demo/columns/]] }}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<$list filter=\"[<config>get[visible]else[yes]match[yes]]\" variable=\"ignore\">\n\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t<$text text={{{ [<schema>jsonget[columns],<index>,[caption]] }}}/>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t</$list>\n\t\t\t\t\t</$let>\n\t\t\t\t</$list>\n\t\t\t</tr>\n\t\t</thead>\n\t\t<tbody>\n\t\t\t<$let\n\t\t\t\tsortField={{{ [[$:/config/geospatial/demo/real-estate-demo/sort-field]get[text]else[title]] }}}\n\t\t\t\tsortOrder={{{ [[$:/config/geospatial/demo/real-estate-demo/sort-order]get[text]else[normal]] }}}\n\t\t\t\tlimit={{{ [[$:/config/geospatial/demo/real-estate-demo/limit]get[text]] :else[<default-limit>] }}}\n\t\t\t>\n\t\t\t\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/GeoMarker]search:*{$:/config/geospatial/demo/real-estate-demo/search}nsort<sortField>order<sortOrder>limit<limit>]\">\n\t\t\t\t\t<$let\n\t\t\t\t\t\trowTiddler=<<currentTiddler>>\n\t\t\t\t\t>\n\t\t\t\t\t\t<$setmultiplevariables\n\t\t\t\t\t\t\t$names=\"[<schema>jsonindexes[variables]sort[]]\"\n\t\t\t\t\t\t\t$values=\"[<schema>jsonindexes[variables]sort[]] :map[<schema>jsonget[variables],<currentTiddler>] :map[subfilter<currentTiddler>]\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<$list filter=\"[<schema>jsonindexes[columns]]\" variable=\"index\">\n\t\t\t\t\t\t\t\t\t<$let\n\t\t\t\t\t\t\t\t\t\tconfig={{{ [<schema>jsonget[columns],<index>,[name]addprefix[$:/config/geospatial/demo/real-estate-demo/columns/]] }}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<$list filter=\"[<config>get[visible]else[yes]match[yes]]\" variable=\"ignore\">\n\t\t\t\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t\t\t\t<$let\n\t\t\t\t\t\t\t\t\t\t\t\t\tfieldname={{{ [<schema>jsonget[columns],<index>,[name]] }}}\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisplayFilter={{{ [<schema>jsonget[columns],<index>,[display]] :else[<default-display-filter>] }}}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<$text text={{{ [subfilter<displayFilter>] }}}/>\n\t\t\t\t\t\t\t\t\t\t\t\t</$let>\n\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t</$list>\n\t\t\t\t\t\t\t\t\t</$let>\n\t\t\t\t\t\t\t\t</$list>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t</$setmultiplevariables>\n\t\t\t\t\t</$let>\n\t\t\t\t</$list>\n\t\t\t</$let>\n\t\t</tbody>\n\t</table>\n</$let>\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/real-estate-demo/schema.json",
    "content": "{\n\t\"columns\": [\n\t\t{\"name\": \"address\", \"caption\": \"Address\", \"type\": \"string\"},\n\t\t{\"name\": \"broker\", \"caption\": \"Broker\", \"type\": \"string\"},\n\t\t{\"name\": \"city\", \"caption\": \"City\", \"type\": \"string\"},\n\t\t{\"name\": \"lat\", \"caption\": \"Latitude\", \"type\": \"number\"},\n\t\t{\"name\": \"long\", \"caption\": \"Longitude\", \"type\": \"number\"},\n\t\t{\"name\": \"price\", \"caption\": \"Price\", \"type\": \"number\"},\n\t\t{\"name\": \"salesagent\", \"caption\": \"Sales Agent\", \"type\": \"string\"},\n\t\t{\"name\": \"state\", \"caption\": \"State\", \"type\": \"string\"},\n\t\t{\"name\": \"title\", \"caption\": \"Title\", \"type\": \"string\"},\n\t\t{\"name\": \"zipcode\", \"caption\": \"Zip Code\", \"type\": \"string\"},\n\t\t{\"name\": \"census-province\", \"caption\": \"Census Province\", \"type\": \"string\", \"display\": \"[<census-data>jsonget[0],[prov_name_en],[0]]\"},\n\t\t{\"name\": \"census-division\", \"caption\": \"Census Division\", \"type\": \"string\", \"display\": \"[<census-data>jsonget[0],[cd_name_en],[0]]\"},\n\t\t{\"name\": \"census-subdivision\", \"caption\": \"Census Subdivision\", \"type\": \"string\", \"display\": \"[<census-data>jsonget[0],[csd_name_en],[0]]\"},\n\t\t{\"name\": \"nearest-volcano\", \"caption\": \"Nearest Volcano\", \"type\": \"string\", \"display\": \"[{$:/geospatialdemo/features/harvard-volcanoes-of-the-world}geonearestpoint<coords>]\"}\n\t],\n\t\"variables\": {\n\t\t\"coords\": \"[<rowTiddler>] :map[geopoint{!!lat},{!!long}]\",\n\t\t\"census-data\": \"[<rowTiddler>] :map[geopoint{!!lat},{!!long}geolookup{$:/geospatialdemo/features/canada-census-subdivision-millesime}]\"\n\t}\n}\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/real-estate-demo/schema.json.meta",
    "content": "title: real-estate-demo/schema\ntype: application/json\n\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/real-estate-demo/xlsx-utils-import-specs/PropertiesRow.tid",
    "content": "import-spec-role: row\nlist: $:/_importspec/RealEstate/PropertiesRow/Field/long $:/_importspec/RealEstate/PropertiesRow/Field/lat $:/_importspec/RealEstate/PropertiesRow/Field/price $:/_importspec/RealEstate/PropertiesRow/Field/broker $:/_importspec/RealEstate/PropertiesRow/Field/salesagent $:/_importspec/RealEstate/PropertiesRow/Field/zipcode $:/_importspec/RealEstate/PropertiesRow/Field/state $:/_importspec/RealEstate/PropertiesRow/Field/city $:/_importspec/RealEstate/PropertiesRow/Field/tags $:/_importspec/RealEstate/PropertiesRow/Field/title $:/_importspec/RealEstate/PropertiesRow/Field/address\ntags: \ntitle: $:/_importspec/RealEstate/PropertiesRow\ntype: text/vnd.tiddlywiki\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/real-estate-demo/xlsx-utils-import-specs/PropertiesRowFieldAddress.tid",
    "content": "import-field-column: Address\nimport-field-name: address\nimport-field-source: column\nimport-spec-role: field\ntitle: $:/_importspec/RealEstate/PropertiesRow/Field/address\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/real-estate-demo/xlsx-utils-import-specs/PropertiesRowFieldBroker.tid",
    "content": "import-field-column: Broker\nimport-field-name: broker\nimport-field-source: column\nimport-spec-role: field\ntitle: $:/_importspec/RealEstate/PropertiesRow/Field/broker\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/real-estate-demo/xlsx-utils-import-specs/PropertiesRowFieldCity.tid",
    "content": "import-field-column: City\nimport-field-name: city\nimport-field-source: column\nimport-spec-role: field\ntitle: $:/_importspec/RealEstate/PropertiesRow/Field/city\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/real-estate-demo/xlsx-utils-import-specs/PropertiesRowFieldLat.tid",
    "content": "import-field-column: Latitude\nimport-field-name: lat\nimport-field-type: number\nimport-field-source: column\nimport-spec-role: field\ntitle: $:/_importspec/RealEstate/PropertiesRow/Field/lat\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/real-estate-demo/xlsx-utils-import-specs/PropertiesRowFieldLong.tid",
    "content": "import-field-column: Longitude\nimport-field-name: long\nimport-field-type: number\nimport-field-source: column\nimport-spec-role: field\ntitle: $:/_importspec/RealEstate/PropertiesRow/Field/long\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/real-estate-demo/xlsx-utils-import-specs/PropertiesRowFieldPrice.tid",
    "content": "import-field-column: Price\nimport-field-name: price\nimport-field-type: number\nimport-field-source: column\nimport-spec-role: field\ntitle: $:/_importspec/RealEstate/PropertiesRow/Field/price\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/real-estate-demo/xlsx-utils-import-specs/PropertiesRowFieldSalesAgent.tid",
    "content": "import-field-column: Sales Agent\nimport-field-name: salesagent\nimport-field-source: column\nimport-spec-role: field\ntitle: $:/_importspec/RealEstate/PropertiesRow/Field/salesagent\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/real-estate-demo/xlsx-utils-import-specs/PropertiesRowFieldState.tid",
    "content": "import-field-column: State\nimport-field-name: state\nimport-field-source: column\nimport-spec-role: field\ntitle: $:/_importspec/RealEstate/PropertiesRow/Field/state\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/real-estate-demo/xlsx-utils-import-specs/PropertiesRowFieldTags.tid",
    "content": "import-spec-role: field\nimport-field-name: tags\nimport-field-type: string\nimport-field-source: constant\nimport-field-value: $:/tags/GeoMarker\ntitle: $:/_importspec/RealEstate/PropertiesRow/Field/tags\ntype: text/vnd.tiddlywiki\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/real-estate-demo/xlsx-utils-import-specs/PropertiesRowFieldTitle.tid",
    "content": "import-field-column: Address\nimport-field-name: title\nimport-field-source: column\nimport-spec-role: field\nimport-field-skip-tiddler-if-blank: yes\ntitle: $:/_importspec/RealEstate/PropertiesRow/Field/title\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/real-estate-demo/xlsx-utils-import-specs/PropertiesRowFieldZipCode.tid",
    "content": "import-field-column: Zip Code\nimport-field-name: zipcode\nimport-field-source: column\nimport-spec-role: field\ntitle: $:/_importspec/RealEstate/PropertiesRow/Field/zipcode\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/real-estate-demo/xlsx-utils-import-specs/PropertiesSheet.tid",
    "content": "import-sheet-name: Final Day 1 and 2\nimport-spec-role: sheet\nlist: [[$:/_importspec/RealEstate/PropertiesRow]]\ntags: \ntitle: $:/_importspec/RealEstate/PropertiesSheet\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/real-estate-demo/xlsx-utils-import-specs/workbook.tid",
    "content": "caption: Real Estate Listing Demo\nimport-spec-role: workbook\nlist: [[$:/_importspec/RealEstate/PropertiesSheet]]\ntags: \ntitle: $:/_importspec/RealEstate/\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/sidebarlayout.tid",
    "content": "title: $:/themes/tiddlywiki/vanilla/options/sidebarlayout\ntext: fluid-fixed\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/ui/geofeature.tid",
    "content": "title: ui/geofeature\n\n\\define create-intersection()\n<$let\n\tintersectLayer={{{ =[<currentTiddler>get[text]] =[<otherFeature>get[text]] +[geointersect[]] }}}\n>\n\t<$action-createtiddler $basetitle=\"$:/temp/_IsochroneLayer\" text={{{ [<intersectLayer>] }}} tags=\"$:/tags/GeoFeature\" caption={{{ [<captionThisFeature>addsuffix[ intersected with ]addsuffix<captionOtherFeature>] }}}/>\n</$let>\n\\end\n\n!! Mapped\n\n<$geomap\n\tstate=<<qualify \"$:/state/demo-map\">>\n\tstartPosition=\"bounds\"\n>\n\t<$geolayer json={{!!text}} color={{!!color}} popupTemplate={{!!popup-template}}/>\n</$geomap>\n\n!! Intersect with other features\n\n<$let \n\tcaptionThisFeature={{{ [<currentTiddler>get[caption]else<currentTiddler>] }}}\n>\n<ul>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/GeoFeature]sort[caption]] -[<currentTiddler>]\" variable=\"otherFeature\">\n<$let\n\tcaptionOtherFeature={{{ [<otherFeature>get[caption]else<otherFeature>] }}}\n>\n<li>\n<$link to=<<otherFeature>>><$transclude tiddler=<<otherFeature>> field=\"caption\"><$view tiddler=<<otherFeature>> field=\"title\"/></$transclude></$link>\n<$button actions=<<create-intersection>>>\nCreate intersection\n</$button>\n</li>\n</$let>\n</$list>\n</ul>\n</$let>\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/ui/geomarker.tid",
    "content": "title: ui/geomarker\n\n\\define default-traveltime-time() 5400\n\n\\define completion-actions()\n<$action-log/>\n<$action-setfield $tiddler=\"$:/temp/_StatusCode\" text=<<status>>/>\n<$action-setfield $tiddler=\"$:/temp/_StatusText\" text=<<statusText>>/>\n<$action-setfield $tiddler=\"$:/temp/_Error\" text=<<error>>/>\n<$action-setfield $tiddler=\"$:/temp/_Result\" text=<<data>>/>\n<$action-setfield $tiddler=\"$:/temp/_Headers\" text=<<headers>>/>\n<$list filter=\"[<status>compare:number:gteq[200]compare:number:lteq[299]]\" variable=\"ignore\">\n<$action-createtiddler $basetitle=\"$:/temp/_IsochroneLayer\" text={{{ [<data>] }}} tags=\"$:/tags/GeoFeature\" caption={{{ [<currentTiddler>get[caption]else<currentTiddler>addprefix[Travel time from ]] }}}/>\n</$list>\n\\end\n\n\\define progress-actions()\n<$action-log message=\"In progress-actions\"/>\n<$action-log/>\n\\end\n\n\\define payload-source()\n\\rules only transcludeinline transcludeblock filteredtranscludeinline filteredtranscludeblock\n{\n  \"departure_searches\": [\n    {\n      \"id\": \"My first isochrone\",\n      \"coords\": {\n        \"lat\": {{!!lat}},\n        \"lng\": {{!!long}}\n      },\n      \"departure_time\": \"2023-02-27T08:00:00Z\",\n      \"travel_time\": {{{ [[$:/config/plugins/geospatial/traveltime/time]get[text]else<default-traveltime-time>] }}},\n      \"transportation\": {\n        \"type\": \"driving\"\n      }\n    }\n  ]\n}\n\\end\n\n\\define get-traveltime-actions()\n<$wikify name=\"payload\" text=<<payload-source>>>\n\t<$action-log $message=\"Making payload\"/>\n\t<$action-log/>\n\t<$action-sendmessage\n\t\t$message=\"tm-http-request\"\n\t\turl=\"https://api.traveltimeapp.com/v4/time-map\"\n\t\tmethod=\"POST\"\n\t\theader-accept=\"application/geo+json\"\n\t\theader-Content-Type=\"application/json\"\n\t\tpassword-header-X-Api-Key=\"traveltime-secret-key\"\n\t\tpassword-header-X-Application-Id=\"traveltime-application-id\"\n\t\tbody=<<payload>>\n\t\tvar-currentTiddler=<<currentTiddler>>\n\t\tbind-status=\"$:/temp/plugins/tiddlywiki/geospatial/demo/traveltime/status\"\n\t\tbind-progress=\"$:/temp/plugins/tiddlywiki/geospatial/demo/traveltime/progress\"\n\t\toncompletion=<<completion-actions>>\n\t\tonprogress=<<progress-actions>>\n\t/>\n</$wikify>\n\\end\n\n!! Mapped\n\n<$geomap\n\tstate=<<qualify \"$:/state/demo-map\">>\n\tstartPosition=\"bounds\"\n>\n\t<$geolayer lat={{!!lat}} long={{!!long}} alt={{!!alt}} color={{!!color}} properties={{{ [[{}]jsonset[title],<currentTiddler>] }}} popupTemplate=\"ui/PopupTemplate\"/>\n</$geomap>\n\n!! Distance to other markers\n\n<$let\n\tthisLocation={{{ [geopoint{!!lat},{!!long}] }}}\n>\n<ul>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/GeoMarker]sort[caption]] -[<currentTiddler>]\">\n<li>\n<$link><$view field=\"caption\"><$view field=\"title\"/></$view></$link>\n--\n<$let\n\totherLocation={{{ [geopoint{!!lat},{!!long}] }}}\n>\n<$text text={{{ [geodistance<thisLocation>,<otherLocation>,[miles]fixed[0]] }}}/> miles\n</$let>\n</li>\n</$list>\n</ul>\n</$let>\n\n!! GeoFeature Lookups\n\n<$let\n\tthisLocation={{{ [geopoint{!!lat},{!!long}] }}}\n>\n<ul>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/GeoFeature]sort[caption]]\">\n<li>\n<$text text={{{ [<currentTiddler>get[caption]] :else[<currentTiddler>] }}}/> --\n<$text text={{{ [<thisLocation>geolookup{!!text}] }}}/>\n</li>\n</$list>\n</ul>\n</$let>\n\n!! Travel Time\n\n<$button actions=<<get-traveltime-actions>>>\nCall ~TravelTime\n</$button>\n\nMaximum time: <$edit-text tiddler=\"$:/config/plugins/geospatial/traveltime/time\" default=<<default-traveltime-time>> tag=\"input\"/> seconds\n\n|Status |<$text text={{$:/temp/plugins/tiddlywiki/geospatial/demo/traveltime/status}}/> |\n|Progress |<$text text={{$:/temp/plugins/tiddlywiki/geospatial/demo/traveltime/progress}}/> |\n|Status Code |<$text text={{$:/temp/_StatusCode}}/> |\n|Status Text |<$text text={{$:/temp/_StatusText}}/> |\n|Error |<$text text={{$:/temp/_Error}}/> |\n\n<$list filter=\"[<currentTiddler>has[photo-url]]\" variable=\"ignore\">\n\n!! Photo\n\n<img src={{!!photo-url}}/>\n\n</$list>"
  },
  {
    "path": "editions/geospatialdemo/tiddlers/ui/popuptemplate.tid",
    "content": "title: ui/PopupTemplate\n\n<div width=\"300px\">\n\t<$let currentTiddler={{{ [<feature>jsonget[properties],[title]] }}}>\n\t\t<$link><$text text=<<currentTiddler>>/></$link>\n\t\t<!-- <$codeblock code={{{ [<feature>] }}}/> -->\n\t\t<$transclude $tiddler=<<currentTiddler>> $mode=\"block\"/>\n\t</$let>\n</div>\n"
  },
  {
    "path": "editions/geospatialdemo/tiddlywiki.info",
    "content": "{\n\t\"description\": \"Demo of the geospatial plugin for TiddlyWiki\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/geospatial\",\n\t\t\"tiddlywiki/jszip\",\n\t\t\"tiddlywiki/xlsx-utils\",\n\t\t\"tiddlywiki/codemirror\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\"\n\t],\n\t\"includeWikis\": [\n\t],\n\t\"build\": {\n\t\t\"index\": [\n\t\t\t\"--render\",\"$:/core/save/all\",\"index.html\",\"text/plain\"],\n\t\t\"external\": [\n\t\t\t\"--render\",\"$:/core/save/all-external-js\",\"index.html\",\"text/plain\"\n\t\t],\n\t\t\"favicon\": [],\n\t\t\"static\": [],\n\t\t\"empty\": [],\n\t\t\"encrypted\": []\n\t}\n}\n"
  },
  {
    "path": "editions/highlightdemo/tiddlers/$__coreURL.tid",
    "content": "title: $:/coreURL\ntags: $:/tags/Global\n\n\\function coreURL() [[../../../tiddlywikicore-$(version)$.js]substitute[]]\n"
  },
  {
    "path": "editions/highlightdemo/tiddlers/DefaultTiddlers.tid",
    "content": "title: $:/DefaultTiddlers\n\n[[HelloThere]]\n[[HighlightExample]]\n"
  },
  {
    "path": "editions/highlightdemo/tiddlers/HelloThere.tid",
    "content": "title: HelloThere\n\nThis is a demo of TiddlyWiki5 incorporating a plugin for the [[highlight.js|https://github.com/isagalaev/highlight.js]] syntax highlighting library from Ivan Sagalaev.\n"
  },
  {
    "path": "editions/highlightdemo/tiddlers/HighlightExample.tid",
    "content": "title: HighlightExample\n\n''Javascript'' code:\n\n```javascript\n(function(a,b){\n    var result = a+b;\n    return result;\n})(10,20)\n```\n\n''CSS'' code:\n\n```css\n * { margin: 0; padding: 0; } /* micro reset */\n\nhtml { font-size: 62.5%; }\nbody { font-size: 14px; font-size: 1.4rem; } /* =14px */\nh1   { font-size: 24px; font-size: 2.4rem; } /* =24px */\n```\n\n''Perl'' code:\n\n```perl\npackage Name;\nmy $singleton;\n\nBEGIN {\n    $singleton = {\n        attribute => 'value',\n        another   => 'something',\n    };\n    bless $singleton, \"Name\";\n}\n\nsub new {\n    my $class = shift;\n    return $singleton;\n}\n```\n\n''Python'' code:\n\n```python\nclass Singleton:\n    __single = None\n    def __init__( self ):\n        if Singleton.__single:\n            raise Singleton.__single\n        Singleton.__single = self\n```\n"
  },
  {
    "path": "editions/highlightdemo/tiddlers/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\na demo of the Highlight plugin for TiddlyWiki5\n"
  },
  {
    "path": "editions/highlightdemo/tiddlers/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\nhighlightdemo\n"
  },
  {
    "path": "editions/highlightdemo/tiddlywiki.info",
    "content": "{\n\t\"description\": \"Demo of the highlight plugin\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/highlight\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\"\n\t],\n\t\"includeWikis\": [\n\t],\n\t\"build\": {\n\t\t\"index\": [\n\t\t\t\"--render\",\"$:/core/save/all\",\"highlightdemo.html\",\"text/plain\"],\n\t\t\"static\": [\n\t\t\t\"--render\",\"$:/core/templates/static.template.html\",\"static.html\",\"text/plain\",\n\t\t\t\"--render\",\"$:/core/templates/alltiddlers.template.html\",\"alltiddlers.html\",\"text/plain\",\n\t\t\t\"--render\",\"[!is[system]]\",\"[encodeuricomponent[]addprefix[static/]addsuffix[.html]]\",\"text/plain\",\"$:/core/templates/static.tiddler.html\",\n\t\t\t\"--render\",\"$:/core/templates/static.template.css\",\"static/static.css\",\"text/plain\"],\n\t\t\"external\": [\n\t\t\t\"--render\",\"$:/core/save/all-external-js\",\"highlightdemo.html\",\"text/plain\"\n\t\t]\n\t}\n}\n"
  },
  {
    "path": "editions/innerwikidemo/tiddlers/HelloThere.tid",
    "content": "title: HelloThere\n\nThis is a demo of TiddlyWiki 5's ''innerwiki'' plugin.\n\nTo try these examples under Node.js:\n\n# Install Puppeteer, as described in the [[readme|$:/plugins/tiddlywiki/innerwiki/readme]]\n# Execute the following command in the root of the TiddlyWiki 5 repo:\n\n```\n./tiddlywiki.js editions/innerwikidemo --screenshot '[[$:/plugins/tiddlywiki/innerwiki/examples]]' 4 --render '[[$:/plugins/tiddlywiki/innerwiki/examples]]' \"examples.html\"\n```\n\nOpen `examples.html` to see the generated static HTML rendering.\n"
  },
  {
    "path": "editions/innerwikidemo/tiddlers/screenshot-7-anchor-1-x.tid",
    "content": "title: screenshot-7-anchor-1-x\ntext: 100\n"
  },
  {
    "path": "editions/innerwikidemo/tiddlers/screenshot-7-anchor-1-y.tid",
    "content": "title: screenshot-7-anchor-1-y\ntext: 70\n"
  },
  {
    "path": "editions/innerwikidemo/tiddlers/system/$__coreURL.tid",
    "content": "title: $:/coreURL\ntags: $:/tags/Global\n\n\\function coreURL() [[../../../tiddlywikicore-$(version)$.js]substitute[]]\n"
  },
  {
    "path": "editions/innerwikidemo/tiddlers/system/DefaultTiddlers.tid",
    "content": "title: $:/DefaultTiddlers\n\nHelloThere\n[[$:/plugins/tiddlywiki/innerwiki/readme]]\n[[$:/plugins/tiddlywiki/innerwiki/examples]]\n[[$:/plugins/tiddlywiki/innerwiki/docs]]"
  },
  {
    "path": "editions/innerwikidemo/tiddlers/system/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\nEmbedding wikis within wikis"
  },
  {
    "path": "editions/innerwikidemo/tiddlers/system/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\nInnerwiki Demo"
  },
  {
    "path": "editions/innerwikidemo/tiddlywiki.info",
    "content": "{\n\t\"description\": \"Innerwiki Plugin Demo\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/innerwiki\",\n\t\t\"tiddlywiki/railroad\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\"\n\t],\n\t\"build\": {\n\t\t\"index\": [\n\t\t\t\"--rendertiddler\",\n\t\t\t\"$:/core/save/all\",\n\t\t\t\"index.html\",\n\t\t\t\"text/plain\"\n\t\t],\n\t\t\"save-screenshots\": [\n\t\t\t\"--screenshot\",\n\t\t\t\"[[$:/plugins/tiddlywiki/innerwiki/examples]]\",\n\t\t\t\"4\"\n\t\t],\n\t\t\"external\": [\n\t\t\t\"--render\",\"$:/core/save/all-external-js\",\"index.html\",\"text/plain\"\n\t\t]\n\t}\n}"
  },
  {
    "path": "editions/introduction/themes/hidefurniture/base.tid",
    "content": "title: $:/themes/tiddlywiki/hidefurniture/base\ntags: [[$:/tags/Stylesheet]]\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\nhtml body .tc-tiddler-frame {\n\tbackground-color: inherit;\n\tborder: none;\n\t<<box-shadow \"none\">>\n}\n\nhtml body .tc-tiddler-title {\n\tbackground-color: inherit;\n}\n\nhtml body .tc-story-river {\n\tmargin-top: 70px;\n}\n\nhtml body .tc-tiddler-frame .tc-tiddler-title {\n\tfont-size: 24px;\n\tline-height: 28px;\n}\n\nhtml body .tc-tiddler-frame .tc-tags-wrapper { \n\tfont-size: 18px;\n\tline-height: 22px;\n}\n\nhtml body .tc-tiddler-frame .tc-tiddler-body {\n\tfont-size: 20px;\n\tline-height: 32px;\n}\n\nhtml body .tc-titlebar {\n\tposition: relative;\n}\n\nhtml body .tc-edit-texteditor {\n\tfont-family: monospace;\n}\n"
  },
  {
    "path": "editions/introduction/themes/hidefurniture/plugin.info",
    "content": "{\n\t\"title\": \"$:/themes/tiddlywiki/hidefurniture\",\n\t\"name\": \"Hide Furniture\",\n\t\"author\": \"JeremyRuston\",\n\t\"core-version\": \">=5.0.0\",\n\t\"plugin-type\": \"theme\",\n\t\"description\": \"Hides the normal user interface, presentational\",\n\t\"dependents\": [\"$:/themes/tiddlywiki/centralised\"]\n}\n"
  },
  {
    "path": "editions/introduction/tiddlers/audio/TiddlyWiki.mp3.meta",
    "content": "title: TiddlyWiki.mp3\ntype: audio/mp3\n"
  },
  {
    "path": "editions/introduction/tiddlers/images/Motovun Jack Big.jpg.meta",
    "content": "title: Motovun Jack Big.jpg\ntype: image/jpeg\nsource: http://www.flickr.com/photos/jermy/6292279493/in/photostream\n"
  },
  {
    "path": "editions/introduction/tiddlers/images/Motovun Jack.svg.meta",
    "content": "title: Motovun Jack.svg\ntype: image/svg+xml\ntags: picture\n"
  },
  {
    "path": "editions/introduction/tiddlers/slides/Audio.tid",
    "content": "title: Audio\n\nTiddlyWiki supports audio as a first class citizen alongside images and text.\n\n{{TiddlyWiki.mp3}}\n\nNext, create structure with [[Tags]].\n"
  },
  {
    "path": "editions/introduction/tiddlers/slides/CecilyMap.tid",
    "content": "title: CecilyMap\ntype: application/json\n\n{\n\t\"newTiddlerPosition\": {\"x\": 360,\"y\": 100},\n\t\"positions\": {\n\t\t\" \":\t\t\t\t{\"x\":  30,\"y\": 17,\"w\": 120,\"h\": 120, \"r\": -2},\n\t\t\"Tiddlers\":\t\t\t{\"x\":  60,\"y\": 15,\"w\": 120,\"h\": 120, \"r\": 10},\n\t\t\"Links\":\t\t\t{\"x\":  90,\"y\": 13,\"w\": 120,\"h\": 120, \"r\": -7},\n\t\t\"Formatting\":\t\t{\"x\": 120,\"y\": 18,\"w\": 120,\"h\": 120, \"r\": 5},\n\t\t\"Images\":\t\t\t{\"x\": 150,\"y\": 12,\"w\": 120,\"h\": 120, \"r\": -11},\n\t\t\"Audio\":\t\t\t{\"x\": 180,\"y\": 14,\"w\": 120,\"h\": 120, \"r\": 16},\n\t\t\"Tags\":\t\t\t\t{\"x\": 210,\"y\": 15,\"w\": 120,\"h\": 120, \"r\": 20},\n\t\t\"Transclusion\":\t\t{\"x\": 240,\"y\": 16,\"w\": 120,\"h\": 120, \"r\": -4},\n\t\t\"Lists\":\t\t\t{\"x\": 275,\"y\": 13,\"w\": 120,\"h\": 120, \"r\": 6},\n\t\t\"Customisation\":\t{\"x\": 310,\"y\": 19,\"w\": 120,\"h\": 120, \"r\": -5},\n\t\t\"Plugins\":\t\t\t{\"x\": 350,\"y\": 12,\"w\": 120,\"h\": 120, \"r\": 10},\n\t\t\"Translations\":\t\t{\"x\": 390,\"y\": 15,\"w\": 120,\"h\": 120, \"r\": 8}\n\t}\n}"
  },
  {
    "path": "editions/introduction/tiddlers/slides/Customisation.tid",
    "content": "title: Customisation\n\nTiddlyWiki supports deep customisation to fit your particular needs. For example, you can choose which tiddler toolbar buttons you need:\n\n<div class=\"tc-view-toolbar-tools\">\n\n{{$:/core/ui/TiddlerInfo/Tools}}\n\n</div>\n\n\nYou can make TiddlyWiki your own through [[Customisation]]."
  },
  {
    "path": "editions/introduction/tiddlers/slides/Formatting.tid",
    "content": "created: 20141029162816366\nmodified: 20141029163114250\ntitle: Formatting\n\nTiddlers can contain formatted text:\n\n> {{FormattingDemoText}}\n\nFormatting is typed with special codes:\n\n<$edit-text tiddler=\"FormattingDemoText\" class=\"tc-edit-texteditor\" minHeight=\"100px\"/>\n\nTiddlyWiki is not just for text. [[Images]] are first class citizens, too.\n"
  },
  {
    "path": "editions/introduction/tiddlers/slides/FormattingDemoText.tid",
    "content": "title: FormattingDemoText\n\nThe //quick// brown ''fox'' jumps ~~over~~ the __lazy__ dog"
  },
  {
    "path": "editions/introduction/tiddlers/slides/Get Started.tid",
    "content": "title: Get Started\n\n[img height=\"150px\" [Motovun Jack.svg]]\n\nLearn more about TiddlyWiki:\n\nhttps://tiddlywiki.com/#GettingStarted\n"
  },
  {
    "path": "editions/introduction/tiddlers/slides/Images.tid",
    "content": "title: Images\n\n<$edit-bitmap tiddler=\"Motovun Jack Big.jpg\"/>\n\nTiddlyWiki also supports [[Audio]].\n"
  },
  {
    "path": "editions/introduction/tiddlers/slides/Links.tid",
    "content": "title: Links\n\nUse links to navigate between tiddlers. They are typed with double square brackets:\n\n```\nTiddlers can also include [[Formatting]].\n```\n\nLinking becomes part of the punctuation of writing.\n\nTiddlers can also include [[Formatting]].\n"
  },
  {
    "path": "editions/introduction/tiddlers/slides/Lists.tid",
    "content": "title: Lists\n\nTiddlyWiki allows you to generate lists of tiddlers automatically, simplifying organisation and exploration.\n\nFor example, here's how to generate a list of all the tiddlers with a particular tag:\n\n```\n{{{ [tag[This is another tag]] }}}\n```\n\n<div class=\"tc-example-box\">\n\n{{{ [tag[This is another tag]] }}}\n\n</div>\n\nNext, extend TiddlyWiki in new ways with [[Plugins]].\n"
  },
  {
    "path": "editions/introduction/tiddlers/slides/Other Story Views.tid",
    "content": "title: Other Story Views\n\nHere's an experimental view that displays tiddlers sideways:\n\n<$scrollable class=\"tc-scrollable-storyview\">\n<div class=\"tc-scrollable-storyview-inner\">\n<$list filter=\"[list[$:/StoryList]] -[[Other Story Views]]\" template=\"$:/core/ui/ViewTemplate\" storyview=\"cecily\"/>\n</div>\n</$scrollable>\n\nNext, tiddlers can be controlled with [[Toolbars]].\n\n"
  },
  {
    "path": "editions/introduction/tiddlers/slides/Plugins.tid",
    "content": "title: Plugins\n\nPlugins are used to add functionality to TiddlyWiki.\n\nFor example, the ~KaTeX plugin uses an open source library from Khan Academy to typeset mathematical notation:\n\n$$\\displaystyle \\frac{1}{\\Bigl(\\sqrt{\\phi \\sqrt{5}}-\\phi\\Bigr) e^{\\frac25 \\pi}} = 1+\\frac{e^{-2\\pi}} {1+\\frac{e^{-4\\pi}} {1+\\frac{e^{-6\\pi}} {1+\\frac{e^{-8\\pi}} {1+\\cdots} } } }$$\n\nNext, TiddlyWiki has [[Translations]] in several languages."
  },
  {
    "path": "editions/introduction/tiddlers/slides/Story Views.tid",
    "content": "title: Story Views\n\nA story is a sequence of tiddlers. The current story view shows a single tiddler at a time.\n\n<$button class=\"tc-btn-big-blue\">\n<$action-setfield $tiddler=\"$:/view\" text=\"classic\"/>\n{{$:/core/images/storyview-classic}} Switch to the default story view</$button>\n\n<$button class=\"tc-btn-big-blue\">\n<$action-setfield $tiddler=\"$:/view\" text=\"zoomin\"/>\n{{$:/core/images/storyview-zoomin}} Revert to the presentation story view</$button>\n\nNext, [[Themes]] change the appearance of TiddlyWiki.\n"
  },
  {
    "path": "editions/introduction/tiddlers/slides/Tags.tid",
    "content": "created: 20141029163127136\nmodified: 20141029163157772\ntitle: Tags\ntags: [[This is a tag]] [[This is another tag]]\n\nTags allow you to organise your tiddlers into categories.\n"
  },
  {
    "path": "editions/introduction/tiddlers/slides/Themes.tid",
    "content": "title: Themes\n\nThemes can change the layout, fonts, colours and background images of the page.\n\nFor example,\n\n<$button class=\"tc-btn-big-blue\">\n<$action-setfield $tiddler=\"$:/theme\" text=\"$:/themes/tiddlywiki/snowwhite\"/>\n{{$:/core/images/theme-button}} Switch to the default \"Snow White\" theme</$button>\n\n<$button class=\"tc-btn-big-blue\">\n<$action-setfield $tiddler=\"$:/theme\" text=\"$:/themes/tiddlywiki/starlight\"/>\n{{$:/core/images/theme-button}} Switch to the optional \"Starlight\" theme</$button>\n\n<$button class=\"tc-btn-big-blue\">\n<$action-setfield $tiddler=\"$:/theme\" text=\"$:/themes/tiddlywiki/hidefurniture\"/>\n{{$:/core/images/theme-button}} Revert to the presentation theme</$button>\n\n[[Other Story Views]] are also provided, and more are available as plugins.\n"
  },
  {
    "path": "editions/introduction/tiddlers/slides/This is a tag.tid",
    "content": "title: This is a tag\ncolor: red\n"
  },
  {
    "path": "editions/introduction/tiddlers/slides/This is another tag.tid",
    "content": "title: This is another tag\ncolor: #0da703\n"
  },
  {
    "path": "editions/introduction/tiddlers/slides/Tiddlers.tid",
    "content": "created: 20141029162816366\nmodified: 20141029163114250\ntitle: Tiddlers\n\nTiddlers are the fundamental units of information in TiddlyWiki. Tiddlers work best when they are as small as possible so that they can be reused by weaving them together into different narratives and perspectives.\n\nYou can create relationships between tiddlers with [[Links]].\n"
  },
  {
    "path": "editions/introduction/tiddlers/slides/TiddlyWiki.tid",
    "content": "created: 20141029161248510\nmodified: 20141029161417820\ntitle: TiddlyWiki\n\n~TiddlyWiki is a powerful notetaking tool that helps you collect and structure any kind of information and work with it to get stuff done.\n\n<$scrollable class=\"tc-cecily-demo\">\n<div class=\"tc-cecily-demo-inner\">\n<$linkcatcher>\n<$list filter=\"[{$:/DefaultTiddlers}enlist-input[]] -[[ ]] -[[TiddlyWiki]]\" template=\"$:/core/ui/ViewTemplate\" storyview=\"cecily\" cecily-width=\"550px\" cecily-map=\"CecilyMap\"/>\n</$linkcatcher>\n</div>\n</$scrollable>\n\nIt's like a hypertext card index system from the future.\n\n~TiddlyWiki deals with information in bite-sized, linked chunks called [[Tiddlers]].\n"
  },
  {
    "path": "editions/introduction/tiddlers/slides/Transclusion.tid",
    "content": "title: Transclusion\ntags: [[This is a tag]] [[This is another tag]]\n\nTranscluding a tiddler inserts a copy of its content, allowing you to reuse the same text or image more than once. For example,\n\n```\nThis is my cat {{Motovun Jack.svg}} and his identical twin {{Motovun Jack.svg}}\n```\n\n<div class=\"tc-example-box\">\nThis is my cat {{Motovun Jack.svg}} and his identical twin {{Motovun Jack.svg}}\n</div>\n\nNext, weaving tiddlers into [[Lists]].\n"
  },
  {
    "path": "editions/introduction/tiddlers/slides/Translations.tid",
    "content": "title: Translations\n\nTiddlyWiki is currently available in <$count filter=\"[[$:/languages/en-GB]] [plugin-type[language]sort[title]] -[[$:/languages/de-AT]]\"/> languages:\n\n<div style.height=\"400px\" style.overflowY=\"auto\">\n{{$:/snippets/languageswitcher}}\n</div>\n\nFind out how to [[Get Started]].\n"
  },
  {
    "path": "editions/introduction/tiddlers/slides/blank.json",
    "content": "[\n{\"title\": \" \", \"text\": \"[[TiddlyWiki]]\"}\n]\n"
  },
  {
    "path": "editions/introduction/tiddlers/system/AnimationDuration.tid",
    "content": "title: $:/config/AnimationDuration\n\n1000"
  },
  {
    "path": "editions/introduction/tiddlers/system/BitmapEditorColour.tid",
    "content": "title: $:/config/BitmapEditor/Colour\n\nYellow"
  },
  {
    "path": "editions/introduction/tiddlers/system/DefaultTiddlers.tid",
    "content": "title: $:/DefaultTiddlers\n\n[[ ]]\nTiddlyWiki\nTiddlers\nLinks\nFormatting\nAudio\nTags\nTransclusion\nLists\nCustomisation\nPlugins\nTranslations\n"
  },
  {
    "path": "editions/introduction/tiddlers/system/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\na step by step introduction to ~TiddlyWiki"
  },
  {
    "path": "editions/introduction/tiddlers/system/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\nIntroduction"
  },
  {
    "path": "editions/introduction/tiddlers/system/page-toolbar-buttons.multids",
    "content": "title: $:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/\n\nstoryview: show\ntheme: show\nfull-screen: show\nhome: show\n"
  },
  {
    "path": "editions/introduction/tiddlers/system/state-sidebar.tid",
    "content": "title: $:/state/sidebar\n\nno"
  },
  {
    "path": "editions/introduction/tiddlers/system/styles.tid",
    "content": "title: $:/demoshow/styles\ntags: [[$:/tags/Stylesheet]]\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\nhtml body .tc-subtitle {\n\tdisplay: none;\n}\n\n.tc-btn-big-blue {\n\tpadding: 6px;\n\tmargin: 4px 6px;\n\tbackground: #44f;\n\tcolor: #fff;\n\tfill: #fff;\n\tborder: none;\n\tfont-size: 16px;\n\tline-height: 18px;\n}\n\n.tc-view-toolbar-tools {\n\tfont-size: 0.5em;\n\tline-height: 1.1;\n}\n\n.tc-view-toolbar-tools p {\n\tmargin: 0;\n}\n\n.tc-edit-bitmapeditor-width,\n.tc-edit-bitmapeditor-height {\n\tdisplay: none;\n}\n\n.tc-language-list {\n\tcolor: #777;\n}\n\n.tc-language-list-greeting {\n\tdisplay: inline-block;\n\twidth: 40%;\n}\n\n.tc-language-list-name {\n\tdisplay: inline-block;\n\twidth: 55%;\n}\n.tc-language-list-name img {\n\tmargin: 0.1em 0.5em;\n}\n\n.tc-example-box {\n\tborder: 3px dashed #ddd;\n\tbackground: #fff;\n\tpadding: 1em;\t\n}\n\n.tc-example-box img {\n\twidth: 2em;\n}\n\n.tc-cecily-demo {\n\theight: 7em;\n}\n\n.tc-cecily-demo-inner {\n}\n\n.tc-cecily-demo .tc-tiddler-frame {\n\tbackground-color: white;\n\t<<box-shadow \"0px 0px 15px rgba(0, 0, 0, 0.3)\">>\n}\n"
  },
  {
    "path": "editions/introduction/tiddlers/system/theme.tid",
    "content": "title: $:/theme\n\n$:/themes/tiddlywiki/hidefurniture"
  },
  {
    "path": "editions/introduction/tiddlers/system/view-toolbar-buttons.multids",
    "content": "title: $:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/\n\nclose: hide\nedit: hide\nmore-tiddler-actions: hide\nexport-tiddler: hide\n"
  },
  {
    "path": "editions/introduction/tiddlers/system/view.tid",
    "content": "title: $:/view\n\nzoomin"
  },
  {
    "path": "editions/introduction/tiddlywiki.info",
    "content": "{\n\t\"description\": \"A step by step introduction to TiddlyWiki\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/cecily\",\n\t\t\"tiddlywiki/codemirror\",\n\t\t\"tiddlywiki/highlight\",\n\t\t\"tiddlywiki/katex\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\",\n\t\t\"tiddlywiki/starlight\",\n\t\t\"tiddlywiki/seamless\",\n\t\t\"tiddlywiki/centralised\",\n\t\t\"tiddlywiki/tight\",\n\t\t\"tiddlywiki/readonly\"\n\t],\n\t\"languages\": [\n\t\t\"ar-PS\",\n\t\t\"ca-ES\",\n\t\t\"cs-CZ\",\n\t\t\"da-DK\",\n\t\t\"de-AT\",\n\t\t\"de-CH\",\n\t\t\"de-DE\",\n\t\t\"el-GR\",\n\t\t\"en-US\",\n\t\t\"en-PH\",\n\t\t\"es-ES\",\n\t\t\"fa-IR\",\n\t\t\"fr-FR\",\n\t\t\"he-IL\",\n\t\t\"hi-IN\",\n\t\t\"ia-IA\",\n\t\t\"it-IT\",\n\t\t\"ja-JP\",\n\t\t\"ko-KR\",\n\t\t\"mk-MK\",\n\t\t\"nl-NL\",\n\t\t\"pa-IN\",\n\t\t\"pl-PL\",\n\t\t\"pt-BR\",\n\t\t\"pt-PT\",\n\t\t\"ru-RU\",\n\t\t\"sk-SK\",\n\t\t\"sl-SI\",\n\t\t\"sv-SE\",\n\t\t\"zh-CN\",\n\t\t\"zh-Hans\",\n\t\t\"zh-Hant\",\n\t\t\"zh-HK\",\n\t\t\"zh-TW\"\n\t],\n\t\"build\": {\n\t\t\"index\": [\n\t\t\t\"--rendertiddler\",\"$:/core/save/all\",\"index.html\",\"text/plain\"]\n\t}\n}\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/$_config_ViewTemplateSubtitle_original-modified.tid",
    "content": "created: 20241008104504617\nmodified: 20241008105625074\ntags: $:/tags/ViewTemplate/Subtitle\ntitle: $:/config/ViewTemplateSubtitle/original-modified\n\n<$view field=\"original-modified\" format=\"date\" template=\"(原文: YYYY年MM月DD日(ddd) 0hh:0mm)\"/>"
  },
  {
    "path": "editions/ja-JP/tiddlers/$_config_ViewTemplateTitleFilters_ja-default.tid",
    "content": "created: 20220219141117559\nlist-before: $:/config/ViewTemplateTitleFilters/default\nmodified: 20240929101800579\noriginal-modified: 20220220192507247\ntags: $:/tags/ViewTemplateTitleFilter\ntitle: $:/config/ViewTemplateTitleFilters/fr-default\n\n[has[ja-title]then[$:/core/ui/ViewTemplate/title/ja-default]]"
  },
  {
    "path": "editions/ja-JP/tiddlers/$_core_ui_ViewTemplate_title_ja-default.tid",
    "content": "created: 20220219134855444\nmodified: 20240929102821839\noriginal-modified: 20220220192530872\ntitle: $:/core/ui/ViewTemplate/title/ja-default\n\n\\whitespace trim\n<h2 class=\"tc-title\">\n<$view field=\"ja-title\"/>\n</h2>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/$_editions_ja-JP_Macros_list.tid",
    "content": "created: 20141127091159720\nmodified: 20240929104004177\noriginal-modified: 20141221122727114\ntags: $:/tags/Macro\ntitle: $:/editions/ja-JP/Macros/list\ntype: text/vnd.tiddlywiki\n\n\\define list-links(filter,type:\"ul\",subtype:\"li\",class:\"\")\n<!-- Essentially overriding $:/core/macros/list\n\t so that the list item is rather labeled with ja-title\n     when present. -->\n<$type$ class=\"$class$\">\n<$list filter=\"$filter$\">\n<$subtype$>\n<$link to={{!!title}}>\n<$transclude field=\"caption\">\n<$view field=\"ja-title\">\n<$view field=\"title\"/>\n</$view>\n</$transclude>\n</$link>\n</$subtype$>\n</$list>\n</$type$>\n\\end\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/$_editions_ja-JP_Macros_timeline-title.tid",
    "content": "created: 20141212105632762\nmodified: 20240929104207215\noriginal-modified: 20141212105822388\ntags: $:/tags/Macro\ntitle: $:/editions/ja-JP/Macros/timeline-title\ntype: text/vnd.tiddlywiki\n\n\\define timeline-title()\n<$view field=\"ja-title\">\n<$view field=\"title\"/>\n</$view>\n\\end"
  },
  {
    "path": "editions/ja-JP/tiddlers/$_editions_ja-JP_Macros_toc-caption.tid",
    "content": "created: 20141212090228728\nmodified: 20240929104321590\noriginal-modified: 20141212090606825\ntags: $:/tags/Macro\ntitle: $:/editions/ja-JP/Macros/toc-caption\ntype: text/vnd.tiddlywiki\n\n\\define toc-caption()\n<$set name=\"tv-wikilinks\" value=\"no\">\n<$transclude field=\"caption\">\n<$view field=\"ja-title\">\n<$view field=\"title\"/>\n</$view>\n</$transclude>\n</$set>\n\\end\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/$_plugins_tiddlywiki_menubar_items_contents.tid",
    "content": "title: $:/plugins/tiddlywiki/menubar/items/contents\nja-title: $:/plugins/tiddlywiki/menubar/items/contents\ncaption: 目次\ndescription: 目次\nis-dropdown: yes\ntags: $:/tags/MenuBar\n\n<div class=\"tc-table-of-contents\">\n\n<$macrocall $name=\"toc-selective-expandable\" tag={{$:/config/plugins/menubar/TableOfContents/Tag}}/>\n\n</div>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/Hidden Setting_ Import Content Types for Editor.tid",
    "content": "created: 20210519155910219\nmodified: 20241128113941852\noriginal-modified: 20210519160221219\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: Import Content Types for Editor\nja-title: 隠し設定: エディターのインポートコンテンツタイプ\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.2.0\">>\n\n$:/config/Editor/ImportContentTypesFilter\n\nこのフィルターは、エディターにドラッグアンドドロップしてインポートできる`contentTypes`を決定します。これは、`contentTypesFilter`属性のために、エディターを囲むDropzoneWidgetによって使用されます。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/TiddlyWiki Docs PR Maker.tid",
    "content": "created: 20240313100515958\nmodified: 20251214111324789\noriginal-modified: 20251023154747366\ntags: Editions\ntitle: TiddlyWiki Docs PR Maker\nja-title: TiddlyWikiドキュメントPRメーカー\n\n''~TiddlyWikiドキュメントPRメーカー''は、ドキュメントへの貢献と改善を支援するために設計された、tiddlywiki.comの特別エディションです。\nhttps://edit.tiddlywiki.com\n\nドキュメントに加えられたすべての変更は、GitHubに簡単に送信できます。 -- プルリクエストは自動的に作成されるため、エディションの名前は\"PRメーカー\"になります。\n\nドキュメントPRメーカーを使用する前に、無料の~GitHubアカウントを作成し、[[貢献者ライセンス契約|Contributor License Agreement]]に署名する必要があります。ドキュメントへの貢献の詳細については、[[ここ|Improving TiddlyWiki Documentation]]をご覧ください。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/Welcome.tid",
    "content": "list: HelloThere [[Quick Start]] [[Find Out More]] [[TiddlyWiki on the Web]] [[Testimonials and Reviews]] GettingStarted Community\ntags: TableOfContents\ntitle: Welcome\nja-title: ようこそ\ntype: text/vnd.tiddlywiki\n\n<$transclude $tiddler=\"HelloThere\"/>\n\n''詳細については、トピックを選択してください:''\n<div class=\"tc-table-of-contents\"><<toc-selective-expandable \"Welcome\">></div>"
  },
  {
    "path": "editions/ja-JP/tiddlers/_TiddlyStudy_ by Kebi.tid",
    "content": "created: 20210101162308245\nmodified: 20260211104401035 \noriginal-modified: 20230110220417543\ntags: [[Community Editions]]\ntitle: \"TiddlyStudy\" by Kebi\nja-title: Kebiによる\"TiddlyStudy\"\ntype: text/vnd.tiddlywiki\nurl: https://postkevone.github.io/tiddlystudy/\n\nノートブックシステムとして使用するのに最適なTiddlyWikiの適応版です。\n\n{{!!url}}\n\n<<<\nTiddly Researchは、 TiddlyWikiをベースにした無料のローカルメモ環境です\n\n主機能:\n\n* 複数レベルでの双方向ノートリンク\n* タグ\n* リンクされたリファレンス\n* リンクされていないリファレンス\n* トランスクルージョン\n* 階層的ノート作成構造に基づく箇条書き\n* 間隔をあけた反復練習のフラッシュカードツールAnkiとの統合\n* ToDo\n* その他\n<<<"
  },
  {
    "path": "editions/ja-JP/tiddlers/_tw_shared/sites/classic.tiddlywiki.com.tid",
    "content": "title: $:/_tw_shared/sites/classic.tiddlywiki.com\nja-title: $:/_tw_shared/sites/classic.tiddlywiki.com\ntags: $:/tags/TiddlyWikiSites TiddlyWikiSitesMenu\ncaption: classic.tiddlywiki.com\ndescription: オリジナルクラシックバージョン (v2.x.x)\nurl: https://classic.tiddlywiki.com/\nicon: $:/_tw_shared/favicons/classic.tiddlywiki.com\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/_tw_shared/sites/links.tiddlywiki.org.tid",
    "content": "title: $:/_tw_shared/sites/links.tiddlywiki.org\nja-title: $:/_tw_shared/sites/links.tiddlywiki.org\ntags: $:/tags/TiddlyWikiSites TiddlyWikiSitesMenu\ncaption: links.tiddlywiki.org\ndescription: コミュニティリンク集\nurl: https://links.tiddlywiki.org/\nicon: $:/_tw_shared/favicons/links.tiddlywiki.org\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/_tw_shared/sites/marketplace.tid",
    "content": "title: $:/_tw_shared/sites/marketplace\nja-title: $:/_tw_shared/sites/marketplace\ntags: $:/tags/TiddlyWikiSites TiddlyWikiSitesMenu\ncaption: marketplace\ndescription: 商用プロダクト・サービス\nurl: https://talk.tiddlywiki.org/c/marketplace/22\nicon: $:/_tw_shared/favicons/marketplace\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/_tw_shared/sites/talk.tiddlywiki.org.tid",
    "content": "title: $:/_tw_shared/sites/talk.tiddlywiki.org\nja-title: $:/_tw_shared/sites/talk.tiddlywiki.org\ntags: $:/tags/TiddlyWikiSites TiddlyWikiSitesMenu\ncaption: talk.tiddlywiki.org\ndescription: コミュニティフォーラム\nurl: https://talk.tiddlywiki.org/\nicon: $:/_tw_shared/favicons/talk.tiddlywiki.org\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/_tw_shared/sites/tiddlywiki.com.dev.tid",
    "content": "title: $:/_tw_shared/sites/tiddlywiki.com.dev\nja-title: $:/_tw_shared/sites/tiddlywiki.com.dev\ntags: $:/tags/TiddlyWikiSites TiddlyWikiSitesMenu\ncaption: tiddlywiki.com/dev\ndescription: 開発者サイト\nurl: https://tiddlywiki.com/dev/\nicon: $:/_tw_shared/favicons/tiddlywiki.com.dev\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/_tw_shared/sites/tiddlywiki.com.prerelease.tid",
    "content": "title: $:/_tw_shared/sites/tiddlywiki.com.prerelease\nja-title: $:/_tw_shared/sites/tiddlywiki.com.prerelease\ntags: $:/tags/TiddlyWikiSites TiddlyWikiSitesMenu\ncaption: tiddlywiki.com/prerelease\ndescription: ネクストリリースの最新ビルド\nurl: https://tiddlywiki.com/prerelease/\nicon: $:/_tw_shared/favicons/tiddlywiki.com.prerelease\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/_tw_shared/sites/tiddlywiki.com.tid",
    "content": "title: $:/_tw_shared/sites/tiddlywiki.com\nja-title: $:/_tw_shared/sites/tiddlywiki.com\ntags: $:/tags/TiddlyWikiSites TiddlyWikiSitesMenu\ncaption: tiddlywiki.com\ndescription: メインサイト\nurl: https://tiddlywiki.com/\nicon: $:/_tw_shared/favicons/tiddlywiki.com\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/_tw_shared/sites/tiddlywiki.com.upgrade.tid",
    "content": "title: $:/_tw_shared/sites/tiddlywiki.com.upgrade\nja-title: $:/_tw_shared/sites/tiddlywiki.com.upgrade\ntags: $:/tags/TiddlyWikiSites TiddlyWikiSitesMenu\ncaption: tiddlywiki.com/upgrade.html\ndescription: アップグレードウィザード\nurl: https://tiddlywiki.com/upgrade.html\nicon: $:/_tw_shared/favicons/tiddlywiki.com.upgrade\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/_tw_shared/sites/tiddlywiki.org.tid",
    "content": "title: $:/_tw_shared/sites/tiddlywiki.org\nja-title: $:/_tw_shared/sites/tiddlywiki.org\ntags: $:/tags/TiddlyWikiSites TiddlyWikiSitesMenu\ncaption: tiddlywiki.org\ndescription: コミュニティサイト\nurl: https://tiddlywiki.org/\nicon: $:/_tw_shared/favicons/tiddlywiki.org\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/_tw_shared/sites.tid",
    "content": "title: $:/_tw_shared/sites\nja-title: $:/_tw_shared/sites\ntags: $:/tags/MenuBar TiddlyWikiSitesMenu\ncaption: [img class=tc-sites-icon [Motovun Jack.svg]] サイト\nis-dropdown: yes\nlist-after: $:/plugins/tiddlywiki/menubar/items/hamburger\n\n\\define link-body()\n\\whitespace trim\n<$image source={{!!icon}} class=\"tc-sites-menu-icon\"/><strong><$transclude field=\"caption\" mode=\"inline\"/></strong><$text text=\" – \"/><$transclude field=\"description\" mode=\"inline\"/>\n\\end\n\n\\define current-link-body()\n\\whitespace trim\n<div class=\"tc-sites-menu-disabled\">\n<<link-body>><span class=\"tc-sites-menu-this-site\"><$text text=\"this site\"/></span>\n</div>\n\\end\n\n\\whitespace trim\n<div class=\"tc-sites-menu\">\n<ol>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TiddlyWikiSites]]\">\n<li>\n<$list filter=\"[{!!url}!match{$:/info/url/full}]\" emptyMessage=<<current-link-body>> variable=\"ignore\">\n<a class=\"tc-tiddlylink-external\" href={{!!url}} rel=\"noopener noreferrer\" target=\"_blank\">\n<<link-body>>\n</a>\n</$list>\n</li>\n</$list>\n</ol>\n</div>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/about/About.tid",
    "content": "created: 20140912145139340\nmodified: 20241225110311898\noriginal-modified: 20140916132022553\ntags: TableOfContents\ntitle: About\nja-title: TiddlyWikiについて\ntype: text/vnd.tiddlywiki\n\nTiddlyWikiの開発に関する情報: \n\n<<list-links \"[tag[About]]\">>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/about/Acknowledgements.tid",
    "content": "created: 20140129204112515\nmodified: 20241225111031964\noriginal-modified: 20140912145138466\ntags: About\ntitle: Acknowledgements\nja-title: 謝辞\ntype: text/vnd.tiddlywiki\n\nTiddlyWikiは、TiddlyWiki[[コミュニティ|Community]]の継続的なサポートなしでは成り立ちません。みなさんの注目とフィードバックにより、何が求められているかを理解することができ、その製品に対するみなさんの熱い思いから、投資する価値があることが分かります\n\n{{$:/Acknowledgements}}\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/about/Archive.tid",
    "content": "created: 20231005205623086\nmodified: 20251208113045167\noriginal-modified: 20250807100434131\ntags: About\ntitle: TiddlyWiki Archive\nja-title: TiddlyWikiアーカイブ\n\n\\procedure versions()\n5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.1.8 5.1.9\n5.1.10 5.1.11 5.1.12 5.1.13 5.1.14 5.1.15 5.1.16 5.1.17 5.1.18 5.1.19\n5.1.20 5.1.21 5.1.22 5.1.23\n5.2.0 5.2.1 5.2.2 5.2.3 5.2.4 5.2.5 5.2.6 5.2.7\n5.3.0 5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 5.3.6 5.3.7 5.3.8\n\\end\n\nTiddlyWikiの古いバージョンは[[アーカイブ|https://github.com/TiddlyWiki/tiddlywiki.com-gh-pages/tree/master/archive]]で入手できます:\n\n<table>\n\t<tbody>\n\t\t<tr>\n\t\t\t<th>\n\t\t\t\tバージョン\n\t\t\t</th>\n\t\t\t<th>\n\t\t\t\tリリース日\n\t\t\t</th>\n\t\t\t<th>\n\t\t\t\t生存期間\n\t\t\t</th>\n\t\t\t<th>\n\t\t\t\t概略\n\t\t\t</th>\n\t\t\t<th>\n\t\t\t\tダウンロード\n\t\t\t</th>\n\t\t</tr>\n\t\t<$list filter=\"[enlist<versions>reverse[]]\" variable=\"version\">\n\t\t\t<$let\n\t\t\t\tfilename=`TiddlyWiki-$(version)$`\n\t\t\t\temptyFilename=`Empty-$(filename)$`\n\t\t\t\treleaseTiddler={{{ [<version>addprefix[Release ]] }}}\n\t\t\t\treleaseDate={{{ [<releaseTiddler>get[released]format:date[TIMESTAMP]] }}}\n\t\t\t\tnextVersion={{{ [enlist<versions>after<version>] }}}\n\t\t\t\tnextReleaseTiddler={{{ [<nextVersion>addprefix[Release ]] }}}\n\t\t\t\tnextReleaseDate={{{ [<nextReleaseTiddler>get[released]format:date[TIMESTAMP]] }}}\n\t\t\t\tlifetime={{{ [<nextReleaseDate>subtract<releaseDate>divide[86400000]add[0.5]fixed[0]] }}}\n\t\t\t>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<$link to=<<releaseTiddler>>>\n\t\t\t\t\t\t\t<$text text=`v$(version)$`/>\n\t\t\t\t\t\t</$link>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<$view tiddler=<<releaseTiddler>> field=\"released\" format=\"date\" template=\"YYYY年mmmDD日\"/>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<$list filter=\"[<lifetime>compare:number:lt[0]]\" variable=\"ignore\">\n\t\t\t\t\t\t\t現在\n\t\t\t\t\t\t</$list>\n\t\t\t\t\t\t<$list filter=\"[<lifetime>compare:number:gteq[0]]\" variable=\"ignore\">\n\t\t\t\t\t\t\t<$text text=<<lifetime>>/>日\n\t\t\t\t\t\t</$list>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<$transclude $tiddler=<<releaseTiddler>> $field=\"description\" $format=\"inline\">\n\t\t\t\t\t\t\t(none)\n\t\t\t\t\t\t</$transclude>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<a href={{{ [<filename>addprefix[https://tiddlywiki.com/archive/full/]]}}} rel=\"noopener noreferrer\" target=\"_blank\">\n\t\t\t\t\t\t\tComplete\n\t\t\t\t\t\t</a>\n\t\t\t\t\t\t|\n\t\t\t\t\t\t<a href={{{ [<emptyFilename>addprefix[https://tiddlywiki.com/archive/empty/]]}}} rel=\"noopener noreferrer\" target=\"_blank\">\n\t\t\t\t\t\t\tEmpty\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</$let>\n\t\t</$list>\n\t</tbody>\n</table>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/about/Contributors.tid",
    "content": "created: 20140916132828137\nmodified: 20241225111720612\noriginal-modified: 20140916133148206\ntags: About\ntitle: Contributors\nja-title: 貢献者\ntype: text/vnd.tiddlywiki\n\n以下は、[[TiddlyWikiの開発に貢献|https://github.com/TiddlyWiki/TiddlyWiki5/graphs/contributors]]するために時間を割いてくれている方々です: \n\n* Jeremy Ruston ([[@Jermolene|https://github.com/Jermolene]])\n* Dave Gifford ([[@giffmex|https://github.com/giffmex]])\n* Bram Chen ([[@BramChen|https://github.com/BramChen]])\n* Mario Pietsch ([[@pmario|https://github.com/pmario]])\n* Xavier Cazin ([[@xcazin|https://github.com/xcazin]])\n* Eric Shulman ([[@ericshulman|https://github.com/ericshulman]])\n* Stephan Hradek ([[@Skeeve|https://github.com/Skeeve]])\n* ~BuggyJef ([[@buggyj|https://github.com/buggyj]])\n* Nathan Cain ([[@natecain|https://github.com/natecain]])\n* Ton Gerner ([[@gernert|https://github.com/gernert]])\n* Devin Weaver ([[@sukima|https://github.com/sukima]])\n* João Bolila ([[@jbolila|https://github.com/jbolila]])\n* David Johnston ([[@Brennall|https://github.com/Brennall]])\n* David Jade ([[@davidjade|https://github.com/davidjade]])\n* Bob Robison ([[@grayeul|https://github.com/grayeul]])\n* [[@nameanyone|https://github.com/nameanyone]]\n* Maurizio Pollio ([[@mpollio|https://github.com/mpollio]])\n* Ogoshi Masayuki ([[@ogoshima|https://github.com/ogoshima]])\n* Chris Sugden ([[@csugden|https://github.com/csugden]])\n* [[@asampal|https://github.com/asampal]]\n* Bow Yi Jang ([[@Eucaly|https://github.com/Eucaly]])\n* Mal Gamble ([[@malgam|https://github.com/malgam]])\n* Michael Fogleman ([[@mwfogleman|https://github.com/mwfogleman]])\n* Daniel Barrett ([[@shendaras|https://github.com/shendaras]])\n* Simon Baird ([[@simonbaird|https://github.com/simonbaird]])\n* James Anderson ([[@welford|https://github.com/welford]])\n* Jon Lister ([[@jayfresh|https://github.com/jayfresh]])\n* [[@TheDiveO|https://github.com/TheDiveO]]\n* Danielo Rodríguez ([[@danielo515|https://github.com/danielo515]])\n* [[@willover|https://github.com/willover]]\n* [[@slotik|https://github.com/slotik]]\n* Irene Knapp ([[@IreneKnapp|https://github.com/IreneKnapp]])\n* Brian Shaver ([[@shakerlxxv|https://github.com/shakerlxxv]])\n* Tobi Beer ([[@tobibeer|https://github.com/tobibeer]])\n* Craig Cook ([[@BoyCook|https://github.com/BoyCook]])\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/about/Developers.tid",
    "content": "created: 20150412191004348\nmodified: 20251208113458455\noriginal-modified: 20251022153208584\ntags: Community Reference\ntitle: Developers\nja-title: 開発者\ntype: text/vnd.tiddlywiki\n\n* [[tiddlywiki.com/dev|https://tiddlywiki.com/dev]]は公式の開発者ドキュメントです\n* [[GitHubでの開発|https://github.com/TiddlyWiki/TiddlyWiki5]]に参加する\n* [[GitHubディスカッション|https://github.com/TiddlyWiki/TiddlyWiki5/discussions]]はQ&Aとオープンな形式のディスカッションです\n* [[GitHubイシュー|https://github.com/TiddlyWiki/TiddlyWiki5/issues]]は、バグレポートを作成し、具体的で実現可能な新しいアイデアを提案するためのものです\n* プロジェクトに貢献する方法についてのガイドラインについては、[[貢献|Contributing]]を参照してください\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/about/Funding TiddlyWiki.tid",
    "content": "title: Funding TiddlyWiki\nja-title: TiddlyWikiへの資金提供\ntags: About HelloThere\nmodified: 20241129112734981\noriginal-modified: 20221204165636777\ncreated: 20221204165636777\n\nTiddlyWikiが無料で使用でき、長期的な採用に経済的な障壁がなければ、誰にとってもより便利になります。それは博愛主義とは異なります。私たちは、採用に対する障壁を取り除き減らすことが、コミュニティをより大きくより強力し、TiddlyWikiの未来を確保するのに役立つと信じています\n\nそれにもかかわらず、TiddlyWikiは比較的大きく複雑なマシンであり、維持や改良にはたくさんの継続的な作業が必要です。一部のコミュニティインフラストラクチャも運営に月額料金が必要です(特に[[TiddlyWikiフォーラム|Forums]])\n\n作業に携わるコミュニティの人々は、さまざまなニーズを持っています:\n\n* 一方では、TiddlyWikiでの作業のかなりの部分がコミュニティメンバーによって純粋に自主的に実施されています。そういった人にとっては、他人の助けとなることで満足感が得られ十分な報酬となります。実際、多くの人にとって、無給のボランティア活動は、毎日の有給の仕事に対する満足のいく解毒剤となっています\n* 他方で、[[@Jermolene]]と他の貢献者たちは、TiddlyWikiに関する商用製品やサービスを提供することで、TiddlyWikiに携わってフルタイムで生計を立てようとしています\n* その中間では、自分の仕事に対する報酬として時折トークンを受け取ることを喜ぶ人もいます\n\nコミュニティのこのようなニーズをサポートするために、私たちは2つの活動を行っています:\n\n* 私たちは[[オープンコレクティブ|Open Collective]]を使用して、コミュニティのインフラストラクチャにかかる費用の寄付を集め、個人や組織による特定の開発にクラウドファンディングします\n* [[TiddlyWikiマーケットプレイス|TiddlyWiki Marketplace]]は、商用製品やサービスを提供する個人や組織にショーウィンドウを提供します"
  },
  {
    "path": "editions/ja-JP/tiddlers/about/History of TiddlyWiki.tid",
    "content": "created: 20140908114400000\nmodified: 20251208115007037\noriginal-modified: 20251122174540932\ntags: About\ntitle: History of TiddlyWiki\nja-title: TiddlyWikiの歴史\ntype: text/vnd.tiddlywiki\n\n~TiddlyWikiの歴史をまとめています。このプロジェクトは現在進行中です。寄稿や思い出話など、ぜひお寄せください。\n\n* [[TiddlyWiki物語|The Story of TiddlyWiki]] – [[@Jermolene]]によるTiddlyWikiの物語、その起源と進化に関する個人的な記録\n* https://github.com/TiddlyWiki/LaunchArchive – 2004年のTiddlyWiki立ち上げ時からのブログとツイート\n* [[TiddlyWiki記念日|TiddlyWiki Anniversaries]] – TiddlyWikiの主要な記念日のお祝いイベントの記録\n* [[フィルタシンタックスの歴史|Filter Syntax History]] – TiddlyWiki5におけるフィルタシンタックスの進化の簡単な歴史"
  },
  {
    "path": "editions/ja-JP/tiddlers/about/License.tid",
    "content": "created: 20170127221457627\nmodified: 20241226112706885\noriginal-modified: 20170127222646488\ntitle: License\nja-title: ライセンス\ntype: text/vnd.tiddlywiki\ntags: About\n\nTiddlyWikiは、[[隠しTiddler|ShadowTiddlers]] [[$:/core/copyright.txt]]に保存されている[[寛容な3条項BSDライセンス|https://opensource.org/licenses/BSD-3-Clause]]に基づいて公開されています:\n\n<div style=\"font-size: 0.7em;line-height:1.4;\">\n\n{{$:/core/copyright.txt}}\n\n</div>\n\n平たく言うと、このライセンスには、~TiddlyWikiの作成者やその他の者へのライセンス料の支払いやその他の法的義務を課すことなく、TiddlyWikiを利用して、やりたいことを何でもできる、と書かれています。代償として、~TiddlyWikiのようなオープンソースプロジェクトには何の保証もありません。~TiddlyWikiに関わる悲劇的な状況の連鎖によってデータが失われたとしても、~TiddlyWikiの使用による損失や損害についてTiddlyWikiの貢献者を訴えることはできません\n\nプロジェクトへの関わりを明示することが求められていますが、そうする義務はありません\n\n誤解を避けるために付け加えておきますが、あなたが~TiddlyWikiの自分のコピー内に保存する情報はすべて、あなたのもののままです。~TiddlyWikiを使用してコンテンツを公開しても、そのコンテンツに対してあなたが持つ権利は変更されません"
  },
  {
    "path": "editions/ja-JP/tiddlers/about/Open Collective.tid",
    "content": "title: Open Collective\nja-title: オープンコレクティブ\nmodified: 20241129113142285\noriginal-modified: 20221204165636777\ncreated: 20221204165636777\ntags: About HelloThere\n\nオープンコレクティブは、TiddlyWikiのようなプロジェクトの透明な資金調達と経費のためのプラットフォームです。これは、TiddlyWikiコミュニティの公式募金スペースです\n\nhttps://opencollective.com/tiddlywiki\n\n1回限りの寄付を行うことも、定期的な寄付を設定することもできます\n\n寄付のためにリストされている主な目標は、会談フォーラムなどのコミュニティインフラストラクチャにかかる基本的なコストをカバーすることと、TiddlyWiki Coreをサポートするという新しい目標です\n\nさらに、コミュニティは特別なプロジェクトのためにプラットフォームを利用し、開発、設計、その他の費用を支払うために資金をプールすることができます。[[ファイルアップロードプラグイン|https://opencollective.com/tiddlywiki/projects/tiddlywiki-file-upload]]はその最初のものであり、誰かがここでプロジェクトを立ち上げることを歓迎したいと考えています"
  },
  {
    "path": "editions/ja-JP/tiddlers/about/Philosophy of Tiddlers.tid",
    "content": "created: 20131128075743966\nmodified: 20241018104722786\noriginal-modified: 20140919160655340\ntags: Learning\ntitle: Philosophy of Tiddlers\nja-title: Tiddlerの哲学\ntype: text/vnd.tiddlywiki\n\n情報を記録して整理する目的は、情報を再利用できるようにすることです。記録された情報の価値は、再利用の容易さに直接比例します\n\n[[Tiddler|Tiddlers]]の哲学は、情報を意味のある最小単位にスライスし、[[それらの間の関係を豊富にモデリングする|Structuring TiddlyWiki]]ことで、再利用の可能性を最大化することです。次に、集約と合成を使用して断片を織り合わせてストーリーを表現します\n\nTiddlyWikiは、情報アイテム間の関係を表現し探索する簡潔な方法である、Tiddlerの代数を提供することを目指しています"
  },
  {
    "path": "editions/ja-JP/tiddlers/about/The Story of TiddlyWiki.tid",
    "content": "title: The Story of TiddlyWiki\nja-title: TiddlyWiki物語\ntags: [[History of TiddlyWiki]]\nmodifier: Jeremy Ruston\ncreated: 20140908114400000\nmodified: 20251215111120830\noriginal-modified: 20250730154331065\n\nこれは、2004年9月20日の最初のリリース以来のTiddlyWikiの起源と進化のストーリーについての個人的な記録です。\n\n! TiddlyWikiの起源\n\n遡ること1997年に、同僚が私に[[Ward Cunningham のオリジナル wiki|http://c2.com/cgi/wiki]]を紹介してくれました。これほど強力なものがわずか700行のPerlに収まることに感銘を受け、セキュリティとパーミッションの根本的な再考に魅了されました。他の多くの開発者と同様に、私もあらゆる機会を利用してさまざまなWikiを試し、仕事での使用法を模索しました\n\n私にとってWikiの魅力は、印刷物中心のドキュメントやEメールの一般的なパラダイムを最終的に破壊する可能性があるという感覚でした\n\n人々がWikiを使用する様子を数年間観察した結果、パワーユーザーは複数のブラウザタブで複数のWikiページを同時に開く機能を多用しており、ページの比較やレビュー、ページ間でのテキストのコピー、未読ページの一種のキューとして用いることが容易になっていることに気づきました\n\n一度に複数のページを操作するこの機能がWikiをリファクタリングする機能の中心であると感じました。また、愛情を込めてリファクタリングされたWikiはより便利になる傾向があると一般に認められています。それでも、標準のWikiユーザーインターフェイスは常に、単一ページを一度に表示し操作すること専用にデザインされてきました\n\n2004年4月にGMailを見たとき、すべての考えがまとまりました。GMailは、Ajaxを巧みに使用して個々のメールをスレッド化された会話に融合させました。\n\nこのアイデアをさらに探求するために、HTMLとJavaScriptを試し始めました。私にはどちらの経験もなく、以前の活動で、いくつかの静的ページと単純なASPサイトをまとめただけでした。これらのクライアント側テクノロジーについて理解するのは大変でした。他の皆さんと同じように、私もWebプログラミングの非互換性と矛盾がどれほど恐ろしいものであるかを知り、愕然としました\n\n! TiddlyWikiのラウンチ\n\nそうして、2004年9月に、私は原始的な[[TiddlyWikiの最初のバージョン|https://classic.tiddlywiki.com/firstversion.html]]をリリースしました。これは、アイデアを実証するための最小のもので、シンプルで自己完結型の静的な48KB HTMLファイルでした\n\nTiddlyWikiの最初のバージョンをこの方法で作成することの欠点は、編集に使用するのが完全に非現実的になることでした。'変更を保存'をクリックすると、ファイルシステムにHTMLページを書き込むために、保存されるデータを示すウィンドウがポップアップ表示されるだけでした\n\n初期のフィードバックの多くは、TiddlyWikiは優れているが、変更を適切に保存できればさらに便利になるというものでした。ブラウザで実行されているHTMLファイルがローカルファイルシステムに変更を保存することは不可能であることはわかっていると思っていたので、少しイライラしました\n\n数か月以内に、TiddlyWikiがブラウザに変更を保存できるようにする実験的なFirefox拡張機能を目にしました。コードを調べてみると、ファイルシステムへの書き込みに使用されていたAPIは、`file://` URI経由でロードされている場合に限り、実際には通常のHTMLファイルで利用できることがわかりました\n\n私はFirefoxコードをTiddlyWikiのコアに適合させ、すぐにInternet Explorerにも同様の機能を追加しました(MicrosoftがInternet Explorerとともに配布した古い[[ActiveX|https://en.wikipedia.org/wiki/ActiveX]]コントロールを利用しています)\n\n! TiddlyWikiの成長\n\nTiddlyWikiの成長における大きなマイルストーンは、Nathan Bowersによる\"GTDTiddlyWiki\"の作成でした。彼はバニラのTiddlyWiki製品を採用し、一般的なGetting Things Done方法論を使用してタスクをトラックするという特定のアプリケーションに適応させました。GTDTiddlyWikiはすぐに人気を博し、[[LifeHacker|https://lifehacker.com/]]などのWebサイトで熱狂的に歓迎されました\n\nその後数年間にわたって、TiddlyWikiの人気は高まり続け、新しい機能や能力も獲得しました。1年以内に、私はTiddlyWikiでオーダーメイドの開発作業を行うことで自活できるようになり、特にWikiパイオニアである[[SocialText|https://en.wikipedia.org/wiki/Socialtext]]と協力して変更をオンラインサーバと同期する機能に取り組みました\n\n! BTの獲得\n\n2007年5月に、[[BT]]は私のコンサルティング会社である[[Osmosoft]]を買収しました。従業員が1人で、収益がほんの少ししかない会社を買収するというのは、異例の決断でした。[[Osmosoft]]は、コミュニティの将来を保証するために私がTiddlyWikiの知的財産をUnaMesaに譲渡したため、TiddlyWikiの知的財産さえ所有していませんでした\n\n[[BT]]の動機は、コミュニティベースのエコシステムを理解することでした。私は\"オープンソースイノベーション責任者\"として組織に加わり、オープンソースガバナンスの責任を負い、オープンソースコミュニティへの参加方法に関するアドバイスと専門知識を提供しました\n\n! [[Osmosoft]]とTiddlySpace\n\n私はBTに[[Osmosoft]]という名前でチームを作りました。私たちの目的は、オープンソースのメリットを広め、他のチームが実際にそのメリットを実感できるよう支援することでした。また、Webの使用全般、特にWeb標準の使用を普及する必要があることもわかりました\n\n私たちのアプローチは、話すことよりも見せることに重点を置くことでした。私たちはTiddlyWikiコミュニティと協力してエコシステムを拡張し、BT用の多数の内部システムを構築しました(TiddlyWikiに基づくものもあれば、そうでないものもあります)\n\nTiddlyWikiコミュニティへの[[Osmosoft]]の主な貢献は、TiddlyWebとTiddlySpaceの作成でした。TiddlyWebは、Tiddlerのための堅牢なインターネット規模のサーバであり、TiddlerのTiddlyWikiビューを構成することもできました。TiddlySpaceは、TiddlyWebをより直接的に使用可能な形式にパッケージ化する試みでした\n\n! BTを離れる\n\n2011年の終わりまでに、私はBTという企業の枠外でTiddlyWikiの可能性を実現するのがより適切な立場にあると感じるようになりました。そうして、私は退職して独立した開発者として働き始め、主にTiddlyWiki5という形でTiddlyWikiを新しくリブートすることに取り組みました\n\n! TiddlyWiki5の開発\n\n私は2011年11月からTiddlyWikiの新しいリリースに取り組みました。プログラマーとして、すでに書いたものの\"バージョン 2.0\"に取り組むことは非常に魅力的な提案です。これは、要件が完全に理解され、目的の機能をサポートするために必要なアーキテクチャの進化に集中できることを意味します\n\n! 将来\n\n2014年、 TiddlyWiki5を初めてリリースした直後に、私は次のように書きました: \n\n> TiddlyWiki5がついに\"ベータ\"ステータスを脱した今、私の希望は、それが長く存続することです。HTML5とNode.jsの標準機能のみを使用しているため、今後何年にもわたって完全に動作しない理由はありません。私の目標は、少なくとも25年は続けることです\n\nこれを書いている時点で、TiddlyWiki5は目標の44%を達成しています。コミュニティの皆様のご支援と熱意により、このプロジェクトは今後も発展し、進化していくと確信しています。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/about/TiddlyWiki Anniversaries.tid",
    "content": "title: TiddlyWiki Anniversaries\nja-title: TiddlyWiki記念日\ntags: [[History of TiddlyWiki]]\ncreated: 20250730154331065\nmodified: 20251215105745893\noriginal-modified: 20250730154331065\n\n! ~TiddlyWikiの20周年\n\n~TiddlyWikiの20周年を祝うために、いくつかのライブストリームを開催しました。録画はここで視聴できます:\n\n* 2024年9月19日 - https://youtube.com/live/z9slx92TyrU\n* 2024年9月20日 - https://youtube.com/live/puFdN-FgOjg\n* 2024年9月21日 - https://youtube.com/live/0SjsHvwjHGE\n* 2024年9月22日 - https://youtube.com/live/oD7Jtq2D4lg\n\nGitHubでは、TiddlyWikiの貢献者に記念日の感想を[[聞いて|https://github.com/TiddlyWiki/TiddlyWiki5/discussions/7983]]お祝いしました。興味深く思慮深い回答がいくつか寄せられました。たとえば、[[@FND|https://github.com/FND]]からの回答は次の通りです: \n\n> TiddlyWikiは、私のキャリアだけでなく、価値観にも計り知れないほどの永続的な影響を与えました。今日に至るまで、私はTiddlyWikiから学んだ[[基本的なコンセプト|https://prepitaph.org/articles/creative-privacy/]] - その多くは、他では忘れられたり無視されたりしています - を頻繁に参照しています。このバックグラウンドがあることで、技術的な複雑さを崇拝したり、テクノロジーの世界に人間が存在することを思い出したりする場合でも、この業界で仕事をする上で自分の方向性を保つことができます。\n\n> TiddlyWikiとは、人々のことです。このコミュニティや、Jeremyがその周りに築いたグループと交流し、そこから学ぶことができたのは、私にとって計り知れない特権でした。また、この特権がまったくの偶然によって私に与えられたものだということを思い出すのにも役立ちます。この恩返しをしていきたいと思います。\n\n~TiddlyWikiを特集した最近のポッドキャスト:\n\n* 2016年のチェンジログ ポッドキャスト - https://changelog.com/podcast/196 ~TiddlyWikiの背景について議論しています\n* 2021年のFloss Weeklyの録画 - https://twit.tv/shows/floss-weekly/episodes/620\n\n! ~TiddlyWikiの10周年\n\n2014年9月20日に行われた、TiddlyWikiの10周年を祝うライブストリームはここで視聴できます:\n\nhttps://www.youtube.com/watch?v=f_02ZV0J9NY\n\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/commands/BuildCommand.tid",
    "content": "created: 20140425085548209\nmodified: 20260112112942242\noriginal-modified: 20140427210435569\ntags: Commands\ntitle: BuildCommand\nja-title: Buildコマンド\ntype: text/vnd.tiddlywiki\ncaption: build\n\n{{$:/language/Help/build}}\n\nビルドターゲットの定義の詳細については、[[tiddlywiki.infoファイル|tiddlywiki.info Files]]を参照してください。\n\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/commands/ClearPasswordCommand.tid",
    "content": "title: ClearPasswordCommand\nja-title: ClearPasswordコマンド\ntags: Commands\ncaption: clearpassword\n\n{{$:/language/Help/clearpassword}}\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/commands/Commands.tid",
    "content": "created: 20150117174359000\nmodified: 20260112112021010\noriginal-modified: 20241018094151786\ntags: Concepts Reference\ntitle: Commands\nja-title: コマンド\ntype: text/vnd.tiddlywiki\n\n<<.def コマンド>>とは、以下に列挙した単語で、頭に`--`を付けて記述され、Node.jsのコマンドラインオプションとして使用され、必要なアクションを示します。使用方法の詳細については、[[Node.jsでTiddlyWikiを使用する|Using TiddlyWiki on Node.js]]を参照してください。\n\n''コマンド''\n\n<<list-links \"[tag[Commands]] -[tag[$:/deprecated]]\" class:\"multi-columns\">>\n\n''非推奨のコマンド''\n\n<<list-links \"[tag[Commands]] :and[tag[$:/deprecated]]\" class:\"multi-columns\">>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/commands/CommandsCommand.tid",
    "content": "created: 20221204202531478\nmodified: 20260113104448590\noriginal-modified: 20221204202531478\ntags: Commands\ntitle: CommandsCommand\nja-title: Commandsコマンド\ntype: text/vnd.tiddlywiki\ncaption: commands\n\n{{$:/language/Help/commands}}\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/commands/DeleteTiddlersCommand.tid",
    "content": "title: DeleteTiddlersCommand\nja-title: DeleteTiddlersコマンド\ntags: Commands\ncreated: 20190530155418184\nmodified: 20260113104702839\noriginal-modified: 20190530155418184\ncaption: deletetiddlers\n\n{{$:/language/Help/deletetiddlers}}\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/commands/EditionsCommand.tid",
    "content": "created: 20141029114305697\nmodified: 20260113104841742\noriginal-modified: 20141029114305697\ntags: Commands\ntitle: EditionsCommand\nja-title: Editionsコマンド\ntype: text/vnd.tiddlywiki\ncaption: editions\n\n{{$:/language/Help/editions}}\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/commands/FetchCommand.tid",
    "content": "created: 20170218131511071\nmodified: 20260113105010966\noriginal-modified: 20170218131511071\ntags: Commands\ntitle: FetchCommand\nja-title: Fetchコマンド\ntype: text/vnd.tiddlywiki\ncaption: fetch\n\n{{$:/language/Help/fetch}}\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/commands/HelpCommand.tid",
    "content": "created: 20140225195548209\nmodified: 20260113105202782\noriginal-modified: 20140225195738745\ntags: Commands\ntitle: HelpCommand\nja-title: Helpコマンド\ntype: text/vnd.tiddlywiki\ncaption: help\n\n{{$:/language/Help/help}}\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/commands/ImportCommand.tid",
    "content": "caption: import\ncreated: 20170712153850528\nmodified: \noriginal-modified: 20170712153850528\ntags: Commands\ntitle: ImportCommand\nja-title: Importコマンド\ntype: text/vnd.tiddlywiki\n\n{{$:/language/Help/import}}\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/commands/InitCommand.tid",
    "content": "created: 20140223195548209\nmodified: 20260114113000902\noriginal-modified: 20140617212529392\ntags: Commands\ntitle: InitCommand\nja-title: Initコマンド\ntype: text/vnd.tiddlywiki\ncaption: init\n\n{{$:/language/Help/init}}\n\n参照:\n\n* [[Node.jsの環境変数|Environment Variables on Node.js]]\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/commands/ListenCommand.tid",
    "content": "caption: listen\ncreated: 20180626135301279\nmodified: 20260114113255286\noriginal-modified: 20180701171046122\ntags: Commands\ntitle: ListenCommand\nja-title: Listenコマンド\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.18\">> TiddlyWikiのWebサーバー機能の詳細については、WebServerを参照してください。\n\n{{$:/language/Help/listen}}"
  },
  {
    "path": "editions/ja-JP/tiddlers/commands/LoadCommand.tid",
    "content": "created: 20140119201439976\nmodified: 20260114113547774\noriginal-modified: 20140119201554602\ntags: Commands\ntitle: LoadCommand\nja-title: Loadコマンド\ntype: text/vnd.tiddlywiki\ncaption: load\n\n{{$:/language/Help/load}}\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/commands/MakeLibraryCommand.tid",
    "content": "created: 20140903085210479\nmodified: 20260115111052473\noriginal-modified: 20140903085210479\ntags: Commands\ntitle: MakeLibraryCommand\nja-title: MakeLibraryコマンド\ntype: text/vnd.tiddlywiki\ncaption: makelibrary\n\n{{$:/language/Help/makelibrary}}\n\n詳細については、UpgradeMechanismを参照してください。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/commands/NamedCommandParameters.tid",
    "content": "created: 20180626122427188\nmodified: 20241228111603066\noriginal-modified: 20211117234223960\ntags: [[TiddlyWiki on Node.js]]\ntitle: NamedCommandParameters\nja-title: 名前付きコマンドパラメータ\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.18\">> ほとんどのTiddlyWiki[[コマンド|Commands]]は、パラメータに位置に基づくシステムを使用しており、各パラメータはコマンドで定義された正確な順序でリストされる必要があります。より複雑なコマンドの中には、名前付きコマンドパラメータの代替スキームを提供するものもあります。たとえば、ここでは\"port\"と\"host\"という2つのパラメータを提供します:\n\n```\n--listen port=8090 host=0.0.0.0\n```\n\nパラメータの順序は重要ではないことに注意してください。\n\nパラメータ内で特殊文字を使用するには引用符が必要です。Unix、Linux、Macではシングルクォートが使用され、Windowsではダブルクォートが使用されます: \n\n```\n--listen port=8090 username=joe 'password=s3cret(!'\n--listen port=8090 username=joe \"password=s3cret(!\"\n```\n\n引用符は値の部分だけでなく、名前=値のペア全体を括ることに注意してください。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/commands/OutputCommand.tid",
    "content": "created: 20140425085548209\nmodified: 20260115111503921\noriginal-modified: 20140425085738745\ntags: Commands\ntitle: OutputCommand\nja-title: Outputコマンド\ntype: text/vnd.tiddlywiki\ncaption: output\n\n{{$:/language/Help/output}}\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/commands/PasswordCommand.tid",
    "content": "title: PasswordCommand\nja-title: Passwordコマンド\ntags: Commands\ncaption: password\n\n{{$:/language/Help/password}}\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/commands/RenderCommand.tid",
    "content": "caption: render\ncreated: 20170919131752774\nmodified: 20260115111855816\noriginal-modified: 20250811164528905\ntags: Commands\ntitle: RenderCommand\nja-title: Renderコマンド\ntype: text/vnd.tiddlywiki\n\n{{$:/language/Help/render}}\n\n<$button class=\"tc-btn-invisible\" style=\"text-decoration:underline\">\n利用可能なレンダリングテンプレートを表示\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" text=\"[all[shadows]prefix[$:/core/templates/]]\"/>\n<$action-setfield $tiddler=\"$:/temp/advancedsearch/input\" text=\"[all[shadows]prefix[$:/core/templates/]]\"/>\n<$action-setfield $tiddler=\"$:/state/tab--1498284803\" text=\"$:/core/ui/AdvancedSearch/Filter\"/>\n<$action-navigate $to=\"$:/AdvancedSearch\"/>\n</$button>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/commands/RenderTiddlerCommand.tid",
    "content": "caption: rendertiddler\ntags: Commands $:/deprecated\ntitle: RenderTiddlerCommand\nja-title: RenderTiddlerコマンド\ntype: text/vnd.tiddlywiki\n\n<<.deprecated-since \"5.1.15\" \"RenderCommand\">>.\n\n{{$:/language/Help/rendertiddler}}\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/commands/RenderTiddlersCommand.tid",
    "content": "caption: rendertiddlers\ntags: Commands $:/deprecated\ntitle: RenderTiddlersCommand\nja-title: RenderTiddlersコマンド\ntype: text/vnd.tiddlywiki\n\n<<.deprecated-since \"5.1.15\" \"RenderCommand\">>.\n\n{{$:/language/Help/rendertiddlers}}\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/commands/SaveCommand.tid",
    "content": "caption: save\ncreated: 20170919131738203\nmodified: 20260115112431945\noriginal-modified: 20170919131813069\ntags: Commands\ntitle: SaveCommand\nja-title: Saveコマンド\ntype: text/vnd.tiddlywiki\n\n{{$:/language/Help/save}}\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/commands/SaveTiddlerCommand.tid",
    "content": "caption: savetiddler\ncreated: 20131218121606089\ntags: Commands $:/deprecated\ntitle: SaveTiddlerCommand\nja-title: SaveTiddlerコマンド\ntype: text/vnd.tiddlywiki\n\n<<.deprecated-since \"5.1.15\" \"SaveCommand\">>.\n\n{{$:/language/Help/savetiddler}}\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/commands/SaveTiddlersCommand.tid",
    "content": "caption: savetiddlers\ncreated: 20140609121606089\ntags: Commands $:/deprecated\ntitle: SaveTiddlersCommand\nja-title: SaveTiddlersコマンド\ntype: text/vnd.tiddlywiki\n\n<<.deprecated-since \"5.1.15\" \"SaveCommand\">>.\n\n{{$:/language/Help/savetiddlers}}\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/commands/SaveWikiFolderCommand.tid",
    "content": "title: SaveWikiFolderCommand\nja-title: SaveWikiFolderコマンド\ntags: Commands\ncreated: 20190414110120829\nmodified: 20260115112615647\noriginal-modified: 20190414110120829\ncaption: savewikifolder\n\n{{$:/language/Help/savewikifolder}}\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/commands/ServerCommand.tid",
    "content": "caption: server\ncreated: 20131219163923630\nmodified: 20260115113945040\noriginal-modified: 20180626150505679\ntags: Commands $:/deprecated\ntitle: ServerCommand\nja-title: Serverコマンド\ntype: text/vnd.tiddlywiki\n\n<<.deprecated-since \"5.1.18\" \"ListenCommand\">>.\n\n''この`--server`コマンドは廃止されました。新しい[[Listenコマンド|ListenCommand]]を使用してください。''\n\nTiddlyWikiのWebサーバー機能の詳細については、WebServerを参照してください。\n\n{{$:/language/Help/server}}\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/commands/SetFieldCommand.tid",
    "content": "title: SetFieldCommand\nja-title: SetFieldコマンド\ntags: Commands\ncreated: 20140609121606089\nmodified: 20260115112749128\noriginal-modified: 20140609121606089\ncaption: setfield\n\n{{$:/language/Help/setfield}}\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/commands/UnpackPluginCommand.tid",
    "content": "created: 20141029114305697\nmodified: 20260115112913290\noriginal-modified: 20141029114305697\ntags: Commands\ntitle: UnpackPluginCommand\nja-title: UnpackPluginコマンド\ntype: text/vnd.tiddlywiki\ncaption: unpackplugin\n\n{{$:/language/Help/unpackplugin}}\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/commands/VerboseCommand.tid",
    "content": "title: VerboseCommand\nja-title: Verboseコマンド\ntags: Commands\ncaption: verbose\n\n{{$:/language/Help/verbose}}\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/commands/VersionCommand.tid",
    "content": "title: VersionCommand\nja-title: Versionコマンド\ntags: Commands\ncaption: version\n\n{{$:/language/Help/version}}\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/Articles.tid",
    "content": "created: 20140320230543190\nmodified: 20241004114128016\noriginal-modified: 20160602172752299\ntags: Resources\ntitle: Articles\nja-title: 記事\ncaption: 記事\ntype: text/vnd.tiddlywiki\n\n~TiddlyWikiについて書かれた最近の記事をいくつか紹介します。新しい記事は、GitHub、または[[TiddlyWikiグループ|Forums]]に投稿して送信してください。\n\n<div class=\"tc-link-info\">\n\n<$list filter=\"[tag[Articles]!sort[modified]]\">\n\n<div class=\"tc-link-info-item\">\n\n! <$link><$view field=\"ja-title\"><$view field=\"title\"/></$view></$link>\n\n<div class=\"tc-subtitle\"> <$view field=\"original-modified\" format=\"relativedate\"><$view field=\"modified\" format=\"relativedate\"/></$view> の投稿</div>\n\n<$transclude/>\n\n</div>\n\n</$list>\n\n</div>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/Community Editions.tid",
    "content": "created: 20210101150806938\nmodified: 20241004110635297\noriginal-modified: 20230803053451496\ntags: Resources\ntitle: Community Editions\nja-title: コミュニティエディション\ncaption: エディション\n\nこれらは~TiddlyWiki[[コミュニティ|Community]]によって作成されたプレパッケージのエディションです。これらは、特定のユースケースを促進するためにプラグインと構成が追加された~TiddlyWikiです。これらは、設定に時間をかけずにTiddlyWikiにすぐにアクセスして使い始めたい場合に最適な出発点です。\n\n<div class=\"tc-link-info\">\n\n<$list filter='[tag[Community Editions]!sort[modified]]'>\n\n<div class=\"tc-link-info-item\">\n\n! <$link><$view field=\"ja-title\"><$view field=\"title\"/></$view></$link>\n\n<div class=\"tc-subtitle\"> <$view field=\"original-modified\" format=\"relativedate\"><$view field=\"modified\" format=\"relativedate\"/></$view> の投稿</div>\n\n<$transclude/>\n\n</div>\n\n</$list>\n\n</div>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/Community Links Aggregator.tid",
    "content": "title: Community Links Aggregator\nja-title: コミュニティリンク収集\ncaption: リンク収集\ntags: Community\nmodified: 20260208112532646\noriginal-modified: 20210322151848025\ncreated: 20210322151848025\n\n~TiddlyWikiコミュニティリンク収集は、コミュニティ編集者チームによって厳選された、有益で興味深いTiddlyWikiマテリアルへの定期的に更新されるリンクコレクションです。このサイトは、TiddlyWikiコミュニティの個々のメンバーによって厳選されたリンクを集約しています。最新のリンクを表示し、カテゴリやタイムラインを通じてリンクを探索できます\n\nhttps://links.tiddlywiki.org/\n\nこのサイトは、リンクを投稿する人が大勢いる場合に最適に機能します。誰もがスルーするリンクをキャッチする必要がないため、個人へのプレッシャーが軽減されます。集計効果により、間違いの影響が軽減されます。例えば、1人が不適切なトピックのリンクに誤ってタグを付けた場合、サイトにはそのタグを追加したのは1人だけであり、大多数はより適切なタグを使用していることが表示されます。そうすることで、リンクを説明・分類する最も有用な方法についてのコンセンサスが生まれ、一種の群集の知恵が生まれることを私たちは望んでいます"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/Community Palettes.tid",
    "content": "created: 20210101152520906\nmodified: 20241004112603568\noriginal-modified: 20210101152533358\ntags: Resources\ntitle: Community Palettes\nja-title: コミュニティパレット\ncaption: パレット\n\n~TiddlyWiki[[コミュニティ|Community]]のメンバーによって作成されたパレットのリストです。パレットはTiddlyWikiのカラースキームを変更し、テーマと組み合わせて使用​​できます\n\n<div class=\"tc-link-info\">\n\n<$list filter='[tag[Community Palettes]!sort[modified]]'>\n\n<div class=\"tc-link-info-item\">\n\n! <$link><$view field=\"ja-title\"><$view field=\"title\"/></$view></$link>\n\n<div class=\"tc-subtitle\"> <$view field=\"original-modified\" format=\"relativedate\"><$view field=\"modified\" format=\"relativedate\"/></$view> の投稿</div>\n\n<$transclude/>\n\n</div>\n\n</$list>\n\n</div>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/Community Plugins.tid",
    "content": "created: 20210101150806938\nmodified: 20241004111247100\noriginal-modified: 20210101151403345\ntags: Resources\ntitle: Community Plugins\nja-title: コミュニティプラグイン\ncaption: プラグイン\n\n~TiddlyWiki[[コミュニティ|Community]]によって作成されたプラグインです。Webサイトにアクセスしてプラグインを試してください。インストール手順をよく読み、インストールする前にバックアップしてください。これらのプラグインは常に最新であるとは限らず、バグや望ましくない動作が含まれている可能性があります。さらに多くのプラグインについては、[[TiddlyWiki グループ|Forums]]にアクセスしてください。新しいプラグインは最初にそこに投稿され、発表されます\n\n<div class=\"tc-link-info\">\n\n<$list filter='[tag[Community Plugins]!sort[modified]]'>\n\n<div class=\"tc-link-info-item\">\n\n! <$link><$view field=\"ja-title\"><$view field=\"title\"/></$view></$link>\n\n<div class=\"tc-subtitle\"> <$view field=\"original-modified\" format=\"relativedate\"><$view field=\"modified\" format=\"relativedate\"/></$view> の投稿</div>\n\n<$transclude/>\n\n</div>\n\n</$list>\n\n</div>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/Community Themes.tid",
    "content": "created: 20210101152520906\nmodified: 20241004112108104\noriginal-modified: 20210101152533358\ntags: Resources\ntitle: Community Themes\nja-title: コミュニティテーマ\ncaption: テーマ\n\n~TiddlyWiki[[コミュニティ|Community]]のメンバーによって作成されたテーマのリストです。テーマはTiddlyWikiのルック・アンド・フィールを変更し、さらにカスタマイズを可能にします。テーマのインストールは[[プラグインと同じように|Manually installing a plugin]]機能します。\n\n<div class=\"tc-link-info\">\n\n<$list filter='[tag[Community Themes]!sort[modified]]'>\n\n<div class=\"tc-link-info-item\">\n\n! <$link><$view field=\"ja-title\"><$view field=\"title\"/></$view></$link>\n\n<div class=\"tc-subtitle\"> <$view field=\"original-modified\" format=\"relativedate\"><$view field=\"modified\" format=\"relativedate\"/></$view> の投稿</div>\n\n<$transclude/>\n\n</div>\n\n</$list>\n\n</div>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/Community.tid",
    "content": "created: 20130909151600000\nmodified: 20251210110939585\noriginal-modified: 20250909171928024\ntags: TableOfContents Welcome\ntitle: Community \nja-title: コミュニティ\ntype: text/vnd.tiddlywiki\n\nTiddlyWikiコミュニティは、TiddlyWikiをより良くするために協力し、お互いにベストを尽せるよう支援する熱心なユーザーと開発者のグループです。\n\n<<tabs \"[[TiddlyWiki Project]] [[TiddlyWiki People]] Forums\" \"TiddlyWiki Project\">>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/Examples.tid",
    "content": "created: 20140320230543190\nmodified: 20241004113722328\noriginal-modified: 20160602172745917\ntags: Resources\ntitle: Examples\nja-title: 使用例\ncaption: 使用例\ntype: text/vnd.tiddlywiki\n\nこのコレクションでは、実際に使用されている~TiddlyWikiの刺激的で興味深い例を紹介します。このコレクションに新しいエントリを送信するには、GitHub経由、または[[TiddlyWikiグループ|Forums]]へ投稿してください。\n\n<div class=\"tc-link-info\">\n\n<$list filter=\"[tag[Examples]!sort[modified]]\">\n\n<div class=\"tc-link-info-item\">\n\n! <$link><$view field=\"ja-title\"><$view field=\"title\"/></$view></$link>\n\n<div class=\"tc-subtitle\"> <$view field=\"original-modified\" format=\"relativedate\"><$view field=\"modified\" format=\"relativedate\"/></$view> の投稿</div>\n\n<$transclude/>\n\n</div>\n\n</$list>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/Forums.tid",
    "content": "created: 20140721121924384\nmodified: 20241002115027813\noriginal-modified: 20240925113748341\ntags: Community\ntitle: Forums\nja-title: フォーラム\ncaption: フォーラム\ntype: text/vnd.tiddlywiki\n\n!!! ユーザー\n\nTiddlyWiki公式フォーラムは、~TiddlyWikiについて話し合う場です。ヘルプのリクエスト、新しいリリースやプラグインの[[アナウンス|https://talk.tiddlywiki.org/c/announcements/20]]、新機能の議論、または単にエクスペリエンスを共有するなどできます。関連するWebサイトから参加することも、電子メールで購読することもできます。\n\nhttps://talk.tiddlywiki.org/\n\nその他のフォーラム:\n\n!!! Googleグループ\n\n<<<\n既存ユーザーの便宜を図るため、オリジナルの~TiddlyWikiグループ(2005年からGoogleグループでホストされている)も引き続き運営しています。: https://groups.google.com/group/TiddlyWiki\n<<<\n\n! 開発者フォーラム\n\n{{Developers}}\n\n! その他のフォーラム\n\n* [[TiddlyWikiサブレディット|https://www.reddit.com/r/TiddlyWiki5/]]\n* https://discord.gg/HFFZVQ8 でDiscordでチャット\n\n!! 開発者\n\n{{Developers}}"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/Improving TiddlyWiki Documentation.tid",
    "content": "created: 20140820151051019\nmodified: 20260208120130753\noriginal-modified: 20251023154718268\ntags: Community\ntitle: Improving TiddlyWiki Documentation\nja-title: TiddlyWikiドキュメントの改善\ntype: text/vnd.tiddlywiki\n\n誰でも https://tiddlywiki.com で読めるTiddlyWikiドキュメントの改善を提出できます(コアコードを改善するには、提出前にブラウザとNode.jsの両方で変更をテストする必要があるため、より複雑なプロセスを使用します)\n\n<<.warning \"\"\"すでに[[GitHub]]をご存じであれば、ドキュメントの更新は`tiddlywiki-com`ブランチに送信する必要があることに注意してください\"\"\">>\n\n! 編集を開始する前に\n\n# [[ドキュメントスタイルガイド|Documentation Style Guide]]を読んで遵守してください\n# まだアカウントをお持ちでない場合は、 https://github.com でアカウントを作成します\n# まだ署名していない場合は、[[コントリビュータライセンスアグリメントにサインする|Signing the Contributor License Agreement]]の説明に従って[[コントリビュータライセンスアグリメント|Contributor License Agreement]]に署名してください\n\n! 編集し、編集内容を送信する\n\n[[TiddlyWiki Docs PR Maker]]を使用してドキュメントを編集するか、~GitHubで直接編集するかを選択できます。前者の方法は、~GitHubに詳しくないユーザーに特に推奨されます\n\n!! [[Docs PR Maker|TiddlyWiki Docs PR Maker]]エディションの使用\n\n# https://edit.tiddlywiki.com にアクセスするか、tiddlywiki.comでTiddlerを編集するときにタイトルの下のリボンに表示されるリンクをクリックします\n# ~GitHubユーザー名と~GitHubアクセストークンを指定する簡単な導入に進みます(ガイドに従って作成します)\n# Tiddlerを編集または作成してドキュメントを更新すると、Wikiがすべての変更を追跡します\n# \"Submit updates\"ボタンをクリックし、編集したすべてのTiddlerが送信内容に含まれているかどうかを確認します。そうでない場合は、ボックスにドラッグします\n# 変更内容の簡潔なタイトルと説明を入力します([[コントリビュートガイドライン|Contributing]]のプルリクエストのタイトル付けに関するルールを参照してください)\n# 変更を送信します:\n** \"Save as draft\"はプルリクエストの//ドラフト//を作成します。これは、後で作業するかまずは議論したいため、変更を//まだ//マージしたくない場合に便利です\n** \"Submit documentation update\"はプルリクエストが作成され、すぐにレビューとマージに利用されるようになります\n\n!! ~GitHubの使用\n\n# https://tiddlywiki.com で、改善したいTiddlerの\"Edit\"をクリックします\n# 次のテキストが記載されたピンクのバナーが表示されます: //Can you help us improve this documentation? Find out how to edit this tiddler on ~GitHub//\n# ''this tiddler on ~GitHub''の外部リンクをクリックします\n## \"you need to fork this repository to propose changes\"というメッセージが表示されます。\"fork\"とは、提案している変更を組み込むためのリポジトリの独自コピーです\n# 新しいブラウザタブが開き、github.comでTiddlerを編集できるようになります\n# Tiddlerテキストの編集ボックスの下に、''Propose file change''というラベルのボックスが表示されます\n# 変更を説明する簡単なタイトルを入力します(例, \"Clarify attribute syntax instability\")\n# 必要に応じて、より長い説明も入力します\n# ''Propose file change''というラベルの付いた緑色のボタンをクリックします\n# 次の画面で、''Create pull request''というラベルの付いた緑色のボタンをクリックします\n\n[[Jermolene|https://github.com/Jermolene]]か、他のコアデベロッパーが、プルリクエストをマージして、 https://tiddlywiki.com の次のビルドに組み込みます\n\nMario Pietschは、次の短いチュートリアル動画を作成しました: \n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/L4zTkMYcri8\" frameborder=\"0\" allowfullscreen></iframe>\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/6ElUruH92tc\" frameborder=\"0\" allowfullscreen></iframe>\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/axFCk9KsMFc\" frameborder=\"0\" allowfullscreen></iframe>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/Latest.tid",
    "content": "created: 20140321090511826\nmodified: 20241002114417236\noriginal-modified: 20140919170549958\ntags: Resources\ntitle: Latest\nja-title: 最新情報\ncaption: 最新\ntype: text/vnd.tiddlywiki\n\n最新のニュース、記事、リソース、使用例\n\n<div class=\"tc-link-info\">\n\n<$list filter=\"[tag[Articles]] [tag[Examples]] [tag[Resources]] [tag[Tutorials]] +[!sort[modified]limit[8]]\">\n\n<div class=\"tc-link-info-item\">\n\n! <$link><$view field=\"ja-title\"><$view field=\"title\"/></$view></$link>\n\n<div class=\"tc-subtitle\"> <$view field=\"original-modified\" format=\"relativedate\"><$view field=\"modified\" format=\"relativedate\"/></$view> の投稿</div>\n\n<$transclude/>\n\n</div>\n\n</$list>\n\n</div>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/Meetups.tid",
    "content": "created: 20140721121924384\nmodified: 20241004114620201\noriginal-modified: 20160712121508468\ntags: Resources\ntitle: Meetups\nja-title: 交流会\ncaption: 交流会\ntype: text/vnd.tiddlywiki\n\n世界中の~TiddlyWiki関係者のためのローカルミーティング: \n\n* [[TiddlyWikiヨーロッパ交流会2016|TiddlyWiki European Meetup 2016]]と[[TiddlyWikiヨーロッパ交流会2017|TiddlyWiki European Meetup 2017]]がイギリスのオックスフォードで開催されました \n* [[OXTWIG]] - ''Oxford ~TiddlyWiki Interest Group''は、イギリスのオックスフォードで毎月開催のTiddlyWikiの使用経験を共有しているミーティングです\n* ''[[TiddlyWiki Camp Paris]]''は、経験豊富なユーザーも初心者も同様にTiddlyWikiを一日中祝って探索するイベントです\n\n//あなたが~TiddlyWikiの愛好家であれば、あなたの地域でローカルTWIGを始めることを検討してください。これはTiddlyWikiの使用についての情報を広める素晴らしい方法です//\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/OXTWIG.tid",
    "content": "created: 20140222133223882\nmodified: 20241016110202440\noriginal-modified: 20140912150349097\ntags: Meetups Videos\ntitle: OXTWIG\nja-title: OXTWIG\ntype: text/vnd.tiddlywiki\n\n''Oxford ~TiddlyWiki Interest Group''は毎月ミーティングを開き、TiddlyWikiに関する議論やデモンストレーションを行っています\n\n次回のミーティングの詳細については、 https://oxtwig.eventbrite.co.uk/ をご覧ください\n\nディスカッションメーリングリストもあります: https://groups.google.com/forum/#!members/oxtwig\n\n! OXTWIG #2\n\n第2回OXTWIGミーティングは、2014年1月16日(木)に開催されました: \n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/WOK_nVBf_6U\" frameborder=\"0\" allowfullscreen></iframe>\n\n! OXTWIG #1\n\n最初のOXTWIGミーティングは2013年11月21日(木)に開催されました:\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/tpNf_Dms_TE\" frameborder=\"0\" allowfullscreen></iframe>"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/Other Resources.tid",
    "content": "created: 20210101152520906\nmodified: 20241004113444185\noriginal-modified: 20210101152533358\ntags: Resources\ntitle: Other Resources\nja-title: その他のリソース\ncaption: その他\n\nこのリストには、~TiddlyWikiコミュニティと共有されている、前のカテゴリに該当する有用なリソースが含まれています。それらは、マクロ、ウィジェット、スニペット、アイデアなどである可能性があります。\n\n<div class=\"tc-link-info\">\n\n<$list filter='[tag[Other Resources]!sort[modified]]'>\n\n<div class=\"tc-link-info-item\">\n\n! <$link><$view field=\"ja-title\"><$view field=\"title\"/></$view></$link>\n\n<div class=\"tc-subtitle\"> <$view field=\"original-modified\" format=\"relativedate\"><$view field=\"modified\" format=\"relativedate\"/></$view> の投稿</div>\n\n<$transclude/>\n\n</div>\n\n</$list>\n\n</div>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/Resources.tid",
    "content": "created: 20250909171928024\nmodified: 20260208111832618\noriginal-modified: 20250909171928024\ntags: Community\ntitle: Resources\nja-title: リソース\ntype: text/vnd.tiddlywiki\n\n[[コミュニティリンク収集|Community Links Aggregator]]は、コミュニティリソースを共有・発見するための推奨される方法です。\n\n以下のリンクは主にリンク収集が作成される前に収集されたもので、履歴目的で保持されています。\n\n<<tabs \"Latest Tutorials [[Community Editions]] [[Community Plugins]] [[Community Themes]] [[Community Palettes]] [[Other Resources]] Examples Articles Meetups\" \"Latest\">>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/TiddlyWiki European Meetup 2016.tid",
    "content": "created: 20160712121509718\nmodified: 20260208122228001\noriginal-modified: 20160712121548453\ntags: Meetups\ntitle: TiddlyWiki European Meetup 2016\nja-title: TiddlyWikiヨーロッパ交流会2016\ntype: text/vnd.tiddlywiki\n\nhttps://tiddlywiki.com/tiddlywiki-eu-meetup-2016/\n\n1日目の流れは以下の通りです: \n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/7o0ClSI7Tdg\" frameborder=\"0\" allowfullscreen></iframe>\n\n2日目は以下の通りです: \n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/ipXyZkC8tjM\" frameborder=\"0\" allowfullscreen></iframe>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/TiddlyWiki European Meetup 2017.tid",
    "content": "created: 20170426210309235\nmodified: 20260208122244492\noriginal-modified: 20170426210309235\ntags: Meetups\ntitle: TiddlyWiki European Meetup 2017\nja-title: TiddlyWikiヨーロッパ交流会2017\ntype: text/vnd.tiddlywiki\n\nTiddlyWikiヨーロッパ交流会2017は、2017年6月10日～11日にオックスフォードで開催されました\n\n詳細については: \n\nhttps://tiddlywiki.com/tiddlywiki-eu-meetup-2017/\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/TiddlyWiki Hangouts.tid",
    "content": "created: 20130823091700000\nmodified: 20241016110307487\noriginal-modified: 20211124214214045\ntags: Community Videos\ntitle: TiddlyWiki Hangouts\nja-title: TiddlyWikiハングアウト\ntype: text/vnd.tiddlywiki\n\nTiddlyWikiコミュニティは、長年にわたり多くのGoogleハングアウトを開催してきました。これらは、[[TiddlyWiki Googleグループ|https://groups.google.com/d/forum/tiddlywiki]]で発表されます。\n\n過去のハングアウトは以下の~YouTubeプレイリストにアーカイブされています:\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/videoseries?list=PLVT_2PPd-1p34gGCQ5qpwC8QdykxVAI3u\" frameborder=\"0\" allowfullscreen></iframe>"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/TiddlyWiki Newsletter.tid",
    "content": "title: TiddlyWiki Newsletter\nja-title: TiddlyWikiニュースレター\nmodified: 20260208113528273\noriginal-modified: 20251219090240895\n\n~TiddlyWikiニュースレターは、~TiddlyWikiコミュニティからのニュース、お知らせ、ディスカッションを集めたものです。\n\nここから購読してください:\n\n!! https://tiddlywiki.substack.com/\n\nニュースレターは少人数のボランティアチームによって作成されています。皆様のご協力をお待ちしております。[[TiddlyWikiニュースレターチーム|TiddlyWiki Newsletter Team]]をご覧ください。"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/TiddlyWiki on the Web.tid",
    "content": "color: #808\ncreated: 20241009150445080\nicon: $:/core/images/link\nlist: TalkTiddlyWiki [[TiddlyWiki on YouTube]] [[TiddlyWiki on Reddit]] [[TiddlyWiki on Discord]] [[TiddlyWiki on GitHub]] [[TiddlyWiki on Mastodon]] [[TiddlyWiki on Open Collective]]\nmodified: 20251210112417726\noriginal-modified: 20241115170824144\ntags: Welcome\ntitle: TiddlyWiki on the Web\nja-title: ウェブ上のTiddlyWiki\ntype: text/vnd.tiddlywiki\n\nウェブ上にある~TiddlyWikiコミュニティへのリンクです。\n\n<div class=\"tc-cards tc-cards-vertical\">\n<$list filter=\"[tag[TiddlyWiki on the Web]]\">\n<$macrocall $name=\"flex-card-external\" backgroundcolor={{!!background-color}} textcolor={{!!text-color}} captionField=\"caption\"/>\n</$list>\n</div>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/Translate TiddlyWiki into your language.tid",
    "content": "created: 20141126153016142\nmodified: 20260208121508427\noriginal-modified: 20180701185730340\ntags: Community\ntitle: Translate TiddlyWiki into your language\nja-title: TiddlyWikiを母国語に翻訳する\ntype: text/vnd.tiddlywiki\n\n翻訳の作成と維持を簡素化するTiddlyWikiの特別バージョンがあります:\n\n* ~TiddlyWikiの現在のバージョンを翻訳する用 https://tiddlywiki.com/editions/translators/ \n* ~TiddlyWikiの最新プレリリースバージョンを翻訳する用 https://tiddlywiki.com/prerelease/editions/translators/ \n\nNode.jsやGitHubの知識は必要ないことに注意してください\n\nNode.jsで~TiddlyWikiを翻訳するには、`tiddlywiki editions/translators --listen`を実行し、ブラウザで http://127.0.0.1:8080/ にアクセスします\n\n翻訳の作成と維持に関する技術的な詳細については、 https://tiddlywiki.com/dev を参照してください"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/Tutorials.tid",
    "content": "created: 20140908125300000\nmodified: 20241004110027506\noriginal-modified: 20160602172722526\ntags: Resources\ntitle: Tutorials\nja-title: チュートリアル\ncaption: チュートリアル\ntype: text/vnd.tiddlywiki\n\n~TiddlyWikiに関連するチップスとチュートリアルを掲載したWebページを紹介します。\n\n<div class=\"tc-link-info\">\n\n<$list filter=\"[tag[Tutorials]!sort[modified]]\">\n\n<div class=\"tc-link-info-item\">\n\n! <$link><$view field=\"ja-title\"><$view field=\"title\"/></$view></$link>\n\n<div class=\"tc-subtitle\"> <$view field=\"original-modified\" format=\"relativedate\"><$view field=\"modified\" format=\"relativedate\"/></$view> の投稿</div>\n\n<$transclude/>\n\n</div>\n\n</$list>\n\n</div>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/articles/_A free, open source wiki revisited_ by Mark Gibbs, NetworkWorld.tid",
    "content": "created: 20160204225047445\nlost-url: http://www.networkworld.com/article/3028098/open-source-tools/tiddlywiki-a-free-open-source-wiki-revisited.html\nmodified: 20260211121041100\noriginal-modified: 20160204225307847\ntags: Articles\ntitle: \"A free, open source wiki revisited\" by Mark Gibbs, NetworkWorld\nja-title: NetworkWorldのMark Gibbsによる\"フリーなオープンソースWikiを再度使ってみた\"\ntype: text/vnd.tiddlywiki\nurl: https://web.archive.org/web/20180911094717/http://www.networkworld.com/article/3028098/open-source-tools/tiddlywiki-a-free-open-source-wiki-revisited.html\n\n数年間TiddlyWikiから離れていた人の視点で書かれた興味深い記事:\n\n{{!!url}}\n\n<<<\n随分と昔(実際には2009年1月)、私はTiddlyWikiという“非線形の個人用Webノート“という非常にクールなツールについて書きました。そして今日、私は幽体離脱のような体験をしました: たまたま、その記事を書いたときに始めたTiddlyWikiを見付けましたが、今でも問題なく動作しました!\n\nわずか2～3年も経つと、完璧に動作するコードはもう魔法ですが、7年?!も経ってます。そして、TiddlyWikiがシングルページWebアプリケーションとして書かれており、かつ、2009年当時と現在ではブラウザがいかに異なっているかを考慮すると、TiddlyWikiの古いバージョンが今でも動作するという事実は奇跡としか言いようがありません\n<<<\n\n\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/articles/_Notizen mit TiddlyWiki systemubergreifend nutzen_ by Michael Sonntag.tid",
    "content": "created: 20140910102845245\nmodified: 20260213112056600\noriginal-modified: 20140910102845245\ntags: Articles\ntitle: \"Notizen mit TiddlyWiki systemübergreifend nutzen\" by Michael Sonntag\nja-title: Michael Sonntagによる\"システム間でTiddlyWikiのメモを使用する\"\nurl: http://michaelsonntag.net/notizen-mit-tiddlywiki-systemuebergreifend-nutzen\n\nTiddlyWikiの使い方のクイックガイド(ドイツ語)\n\n{{!!url}}\n\n<<<\n異なるコンピュータプラットフォーム(たとえPCとAndroidだけであっても)を使っている人なら誰でも、アプリやサービスに頼ることなく、デバイス間でメモを同期したいという気持ちが分かるでしょう。私もまさにそう思っており、だからこそ常に完璧なソリューションを探し求めています。\n\n必要なもののほとんどはTiddlyWikiで見つかりました。名前の通り、TiddlyWikiはWikiシステムです。他のWikiとは異なり、TiddlyWikiはブラウザで動作する単一のHTMLファイルで構成されているため、すべての最新OSで使用できます。また、単一のファイルなので、一般的なクラウドサービス(Dropbox、Google Drive、ownCloud)やFTP経由で簡単に同期でき、USBドライブからもアクセスできます。\n<<<\n\n(Google翻訳によるドイツ語からの翻訳)\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/articles/_Setting Up a Personal TiddlyWiki Server on OS X_ by Kris Johnson.tid",
    "content": "created: 20150403104015626\nmodified: 20260214104828249\noriginal-modified: 20150403104206017\ntags: Articles\ntitle: \"Setting Up a Personal TiddlyWiki Server on OS X\" by Kris Johnson\nja-title: Kris Johnsonによる\"OS Xで個人用TiddlyWikiサーバーを構築する\"\ntype: text/vnd.tiddlywiki\nurl: http://undefinedvalue.com/2015/04/02/setting-personal-tiddlywiki-server-os-x\n\nOS Xの[[Node.js上のTiddlyWiki|TiddlyWiki on Node.js]]を設定する詳細な説明。\n\n{{!!url}}\n\n<<<\n新しい仕事のために、メモを取るための個人用Wikiを作成することにしました。次の要件を満たすシンプルなものにしたいと考えました: \n\n* すべてのデータをDropboxフォルダに保存する(マシン間で自動的に同期できる)\n* Markdown構文をサポートしている\n\n選択肢を検討した結果、TiddlyWikiに落ち着きました。以前\"クラシックTiddlyWiki\"を使ったことがあり、そのシンプルさは気に入っていましたが、変更を保存するために面倒な手順を踏まなければならないのが少し億劫でした。新しいバージョンのTiddlyWikiには、HTTPサーバーとして実行するためのサポートが含まれているため、オンラインWikiのように使用できます。\n\nしかし、設定方法を理解するのに数時間かかりました。TiddlyWikiのドキュメントは分かりにくい(\"分かりにくい\"というのは\"ひどい\"という意味の婉曲表現です)。そこで、私が経験したようなフラストレーションを他の誰かが経験しないように、この手順書を書きました。\n<<<\n\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/articles/_TiddlyWiki 5 im Betatest_ by besim.tid",
    "content": "created: 20140105085406905\nmodified: 20260215101921884\noriginal-modified: 20140105084548184\ntags: Articles\ntitle: \"TiddlyWiki 5 im Betatest\" by besim\nja-title: besimによる\"ベータテストでのTiddlyWiki 5\"\nurl: http://blog.netplanet.org/2014/01/03/tiddlywiki-5-im-betatest/\n\nTiddlyWikiClassicのドイツ語版翻訳者によるTiddlyWiki5への反応。\n\n{{!!url}}\n\n<<<\n何年も経った今でも、初日ほど私をワクワクさせてくれるソフトウェアプログラムはほとんどありません。\"ポケットサイズのWiki\"として知られるTiddlyWikiもその一つです。この名前の由来は、Wiki全体が単一のHTMLファイルに収まり、JavaScriptプログラミングロジック、CSSスタイル、そして保存されたデータレコードとしてのWikiコンテンツなど、すべてが含まれたためです。TiddlyWikiファイルは数メガバイトにもなることがありますが、迅速に作成でき、様々なブラウザでローカルに動作するという、他に類を見ない利点があります。\n<<<\n\n(Google翻訳によるドイツ語からの翻訳)\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/articles/_TiddlyWiki_ by Sander de Boer.tid",
    "content": "created: 20141127163201036\nmodified: 20260215102915020\noriginal-modified: 20141127163201036\ntags: Articles\ntitle: \"TiddlyWiki\" by Sander de Boer\nja-title: Sander de Boerによる\"TiddlyWiki\"\nurl: https://breinbout.wordpress.com/2014/11/26/tiddlywiki/\n\nTiddlyWikiに関するオランダのブログ投稿\n\n{{!!url}}\n\n<<<\nJavaScriptに大きく依存しているウェブサイトにはアレルギー反応を起こします。JavaScriptはサイトに機能を追加する上で多くの便利な用途があると思いますが、JavaScriptが一時的に無効になっている時でもコンテンツは表示されるべきです。私はFirefoxのNoScript拡張機能を使っていて、不要な動作を一切発生させることなくインターネットを閲覧しています。JavaScriptは厳しく制限しています。だからこそ、私がTiddlyWikiにこれほど熱中しているのが、より奇妙なのかもしれません。\n<<<\n\n(Google翻訳によるオランダ語からの翻訳)\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/docs/Community Cards Caveats.tid",
    "content": "title: Community Cards Caveats\nja-title: コミュニティカードの注意事項\ncreated: 20250909171928024\nmodified: 20260207105307561\noriginal-modified: 20250909171928024\n\n''[[コミュニティカード|Community Cards]]は2025年9月に開始した新しい取り組みであることにご注意ください。チームと人の情報が完成するまでには、さらなる作業が必要です。''"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/docs/Community Cards.tid",
    "content": "title: Community Cards\nja-title: コミュニティカード\ntags: Community\nmodified: 20260207111840982\noriginal-modified: 20250909171928024\ncreated: 20250909171928024\n\nコミュニティカードの目的は、プロジェクト計画やその他のコミュニティ活動と、それらに関わる人々とを結び付けることです。また、TiddlyWikiコミュニティ内での関心事や活動を共有し、TiddlyWikiコミュニティのメンバー同士がより深く知り合う助けにもなります。\n\n{{Community Cards Caveats}}\n\n* [[コミュニティカードの提出|Submitting a Community Card]]\n* [[コミュニティカードの表示|Displaying Community Cards]]\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/docs/Displaying Community Cards.tid",
    "content": "title: Displaying Community Cards\nja-title: コミュニティカードの表示\ntags: [[Community Cards]]\nmodified: 20260207112415265\noriginal-modified: 20250909171928024\ncreated: 20250909171928024\n\n!! 人々の情報を表すカード\n\n<<community-card-pill-person title:\"@Jermolene\">>や<<community-card-pill-person title:\"@ericshulman\">>はインラインカードです。文の途中でも使えます。\n\nこれはインラインカードのスタックです:\n\n<<community-card-pill-stack-person>>\n\nフルフォーマットのカードです:\n\n<<community-card-person title:\"@Jermolene\">>\n\n該当する人がいない場合のカードの表示です:\n\n<<community-card-person title:\"@MissingPerson\">>\n\n!! チームの情報を表すカード\n\nプロジェクトチーム用のカードです:\n\n<<community-card-team title:\"Project Team\">>"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/docs/Submitting a Community Card.tid",
    "content": "title: Submitting a Community Card\nja-title: コミュニティカードの提出\ntags: [[Community Cards]]\nmodified: 20260207113546745\noriginal-modified: 20250909171928024\ncreated: 20250909171928024\n\nTiddlyWikiコミュニティに関係する方なら誰でもコミュニティカードを投稿できます。現在、投稿にはGitHubのプルリクエストが必要ですが、将来的にはよりユーザーフレンドリーな投稿プロセスを提供する予定です。\n\nコミュニティカードを追加または更新するためのプルリクエストは、[[TiddlyWikiリポジトリ|https://github.com/TiddlyWiki/TiddlyWiki5]]の`tiddlywiki-com`ブランチに対して`community/people`ディレクトリ内で行う必要があります。\n\nカードは、次のフィールドを持つTiddlyWiki Tiddlerである必要があります:\n\n|!フィールド |!必須|!説明 |\n|`title`|はい |カードに表示される`@`で始まるユーザー名 (例: `@Jermolene`)。カードのタイトルであり、一意である必要があります |\n|`tags`|はい |カードのタグで、`Community/Person`を含みます |\n|`fullname`|はい |カードに表示される人またはグループのフルネーム |\n|`avatar`|はい |カードに表示される人のアバター画像 (32x32のbase64表現) |\n|`first-sighting`|いいえ |カードに表示される人のコミュニティ初登場日。ISO 8601形式(YYYY-MM-DD) |\n|`talk.tiddlywiki.org`|はい |TiddlyWiki Talkフォーラムでの人またはグループのユーザー名 |\n|`github`|いいえ |GitHubでの人またはグループのユーザー名 |\n|`linkedin`|いいえ |カードに表示される人またはグループのLinkedInプロフィールのURL |\n|`flickr`|いいえ |カードに表示される人またはグループのFlickrプロフィールのURL |\n|`homepage`|いいえ |カードに表示される人またはグループのホームページのURL |\n|`email`|いいえ |カードに表示される人またはグループのメールアドレス |\n|`text`|はい |カードのテキスト。カードに表される人物またはグループの簡単な説明と、その他の関連情報を含める必要があります。 |\n\n! コミュニティカードのルール\n\nコミュニティカードでは以下のルールを守ってください。これらのルールは自動スクリプトで強制適用する予定ですが、当面は手動でチェックします。\n\n* `title`は一意で、`@`で始まる\n* `tags`は`Community/Person`を含む\n* `fullname`は必須\n* `avatar`はbase64表現の32x32の画像で、1KBまで。画像のサイズ変更と圧縮は[[Squoosh|https://squoosh.app/]]を使うことを推奨\n* `first-sighting`はISO 8601形式(YYYY-MM-DD)\n* `talk.tiddlywiki.org`は必須\n* `text`のトータルサイズは2KBまで\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/editions/Drift by Tony K.tid",
    "content": "created: 20210101161529206\nmodified: 20260209105625613\noriginal-modified: 20230110220010665\ntags: [[Community Editions]]\ntitle: \"Drift - Collect, Organise, Grow.\" by Tony K\nja-title: Tony Kによる\"Drift - 集めて, 整理して, 育てよう.\"\ntype: text/vnd.tiddlywiki\nurl: https://github.com/bmann/drift-tiddlywiki-template/tree/master/drift\n\nノートブックシステムとして使用するのに最適なTiddlyWikiの適応版です。\n\n{{!!url}}\n\n<<<\nDriftはTiddlyWikiを改造したもので、アイデアの収集、整理、成長を支援すると同時に、アイデアがどのように相互に連携し、次から次へとスムーズに移行していくかを把握できるようにします。\n\nDriftの2つのメインコンポーネントTWCrosslinksとDailyNotesにより、アイデアを逃すことはありません\n\nDriftはTiddlyBlink / Strollからインスパイアされ、自分のニーズに合うように改良しました。\n<<<"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/editions/Stroll by David Gifford.tid",
    "content": "created: 20210101161104883\nmodified: 20260210112457857\noriginal-modified: 20210101201435693 \ntags: [[Community Editions]]\ntitle: \"Stroll - a Roam-like experience\" by David Gifford\nja-title: David Giffordによる\"Stroll - Roamのようなエクスペリエンス\"\nurl: https://giffmex.org/stroll/stroll.html\n\nノートブックシステムとして使用するのに最適なTiddlyWikiです。\n\n{{!!url}}\n\n<<<\nStrollは、TiddlyWikiをRoamの機能に似せて改良したもので、ユーザーがノート間のつながりを簡単に確認し、ノート間を移動できるようにします。主な機能は以下のとおり: \n\n* 双方向リンク、\n* リンク時の自動補完、\n* TIddlerタイトル変更に伴うリンク名の修正、\n* 複数のノートを並べて編集。 \n<<<"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/editions/Tidme by oflg.tid",
    "content": "created: 20220417010615742\nmodified: 20260208122907346\noriginal-modified: 20231005060241771\ntags: [[Community Editions]]\ntitle: Tidme by oflg\nja-title: oflgによるTidme\ntype: text/vnd.tiddlywiki\nurl: https://github.com/oflg/Tidme\n\n生涯にわたる知識を心の奥底に\n\n{{!!url}}\n\nTidmeは、高度な[[漸進的学習|https://help.supermemo.org/wiki/Incremental_learning]]の概念を使用して、生涯にわたる知識を獲得するための強力な第2の脳を作ります\n\n* SuperMemoのような記事を読む\n* LingQのような言語を学ぶ\n* Ankiのようなノートを記憶する"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/editions/_Cardo-A Task and Project Management Wiki_ by David_Szego.tid",
    "content": "created: 20141122093837330\nlost-url: http://cardo.wiki\nmodified: 20260209104156265\noriginal-modified: 20210106151026996\ntags: [[Community Editions]]\ntitle: \"Cardo - Task and Project Management Wiki\" by David Szego\nja-title: David Szegoによる\"Cardo - タスクとプロジェクト管理Wiki\"\ntype: text/vnd.tiddlywiki\nurl: https://web.archive.org/web/20181114094516/http://cardo.wiki/#Joe%20Cardo:%5B%5BJoe%20Cardo%5D%5D\n\nタスクと委任の追跡、会議とアジェンダの項目、プロジェクトの役割、進捗状況とステータスの更新、参照項目、ティクラーカレンダー、会話の記録、ブックノートとライブラリなど！\n\n{{!!url}}\n\n<<<\nCardoはスタンドアロンのブラウザベースツールで、シンプルなタスクマネージャーとして、あるいは複雑なプロジェクト管理システム(実際、私は日常業務でこの用途で使用しています)として、あるいは完全にWiki化された個人用ナレッジストアとして使用できます。インターネット接続がなくてもブラウザ内で完全に独立して動作するため、USBメモリに入れて持ち運んだり、朝の通勤時に使用したりすることもできます。\n<<<\n\n\n* https://cardo-revisited.tiddlyhost.com (TW v5.3.8 再アクティベート)\n* https://cardo-dyumnin.tiddlyhost.com (TW v5.1.19)\n\n\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/editions/_Noteself_ by Danielo Rodriguez.tid",
    "content": "caption: Noteself\ncolor: #29B6F6\ncommunity-author: Danielo Rodríguez\ncreated: 20141122093837330\ndelivery: Web Service\ndescription: 自分でホストもできるフリーのオンラインサービス\nmethod: sync\nmodified: 20241014101640671\noriginal-modified: 20211113010826610\ntags: Android Chrome Firefox [[Internet Explorer]] Linux Mac Opera PHP Safari Saving Windows iOS Edge [[Community Editions]] [[Other Resources]]\ntitle: \"Noteself\" by Danielo Rodríguez\nja-title: Danielo Rodríguezによる\"Noteself\"\ntype: text/vnd.tiddlywiki\nurl: https://noteself.github.io/\n\n~NoteSelfは、個人の、プライベートな、カスタマイズ可能なEvernoteのようなエクスペリエンスです。\nクラウドが必要ですか?いいですね!必要ありませんか?それも結構です!すべてはあなた次第です。決めるのはあなたです!\n少しわがままになってみませんか?\n\nhttps://noteself.github.io/\n\n<<<\n~NoteSelfは、アイデア、メモ、考え、ヒント、コツ、レシピなど...、\n何でも保存するのに最適な場所です。~NoteSelfは保存し、インデックス付けし、簡単に検索できるようにして、\n必要なときにいつでもすぐに見つけられるようにします!\n\n皆さんは既にEvernoteをご存知で、愛用していることを私たちも知っています。使いやすく、同期でき、検索機能もあります...\nほぼ完璧ですが、次の点はどうでしょうか:\n\n* プライバシー - すべてがEvernoteのサーバーに保存されます!\n* カスタマイズ - Evernoteのインターフェースが気に入らなくても、何もできません\n\n~NoteSelfは、強力で、フリーで、高度にカスタマイズ可能なオープンソースの個人用Wikiである~TiddlyWikiをベースに構築されています。\n私たちは、強力なカスタマイズシステムを最大限に活用し、利用可能な最高の組み込みデータベースの1つである[[PouchDb|http://www.pouchdb.com]]と組み合わせて、必要な同期機能を実現しました。\n<<<\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/examples/A Thesis Notebook.tid",
    "content": "created: 20130302085406905\nmodified: 20241130111024987\noriginal-modified: 20130302084548184\ntags: Examples\ntitle: \"A Thesis Notebook\" by Alberto Molina\nja-title: Alberto Molinaの\"論文ノート\"\nurl: http://tesis.tiddlyspot.com/\n\nTiddlyWikiを使った論文ノート。\n\n{{!!url}}\n\n<<<\nこれは、TiddlyWiki 5.0.8-betaを利用した論文ノートの例です。\n\nTiddlyWikiは、Jeremy Rustonが作成した優れたソフトウェアです。このソフトウェアを使用すると、メモを取ったり、アイデアを整理したり、情報を保存したり、すべてのものを好きなように表示したりできます。これは、ほぼすべてのニーズに合わせて調整できる、非常に柔軟なツールです。\n\nこのTiddlyWikiは、著者、書籍や論文、概念や理論、個人的なメモを中心とした哲学ノートとして機能するようにカスタマイズされています。私はこれを、専用の参考文献ソフトウェアであるZoteroと一緒に使用しています。どちらも無料のオープンソースプロジェクトです。TiddlyWikiはhttps://tiddlywiki.comからダウンロードできます。\n<<<\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/examples/GitFixUm.tid",
    "content": "created: 20150621212120755\nmodified: 20241201110715436\noriginal-modified: 20150621214507584\ntags: Examples\ntitle: Interactive Git Documentation by Devin Weaver\nja-title: Devin WeaverのインタラクティブGitドキュメント\nurl: http://sukima.github.io/GitFixUm/\n\n//壊れた//Gitリポジトリを自分で修復するための、git choose-your-own-adventure!ⓡ。\n\n{{!!url}}\n\n<<<\nこのドキュメントは、gitの使用時に意図していなかった事態から回復するための、かなり包括的なガイドとなることを目指しています。gitが非常に複雑で、特定の問題に対処するために大きなドキュメントが必要なわけではありません。むしろ、実行した可能性のある操作のセットが非常に大きいため、実行した操作と実行したい操作に応じて異なるテクニックが必要になります。\n<<<\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/examples/PESpot Lesson Planner by Patrick Detzner.tid",
    "content": "created: 20150403104722092\nmodified: 20241201111442269\noriginal-modified: 20150403105247619\ntags: Examples\ntitle: PESpot Lesson Planner by Patrick Detzner\nja-title: Patrick DetznerのPESpotレッスンプランナー\ntype: text/vnd.tiddlywiki\nurl: http://pespot.tiddlyspot.com\n\nTiddlyWikiで構築されたレッスンプランニングシステム。\n\n{{!!url}}\n\n<<<\n私は、レッスンプラン情報を入力して保存し、実際のレッスンプラン文書の作成に伴う面倒な作業の一部を容易化/自動化するプログラムを構築しました。\n<<<\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/examples/PETTIL.tid",
    "content": "created: 20140716085406905\nmodified: 20241201105625382\noriginal-modified: 20140716084548184\ntags: Examples\ntitle: \"PETTIL - Forth for the Commodore PET\" by Charlie Hitselberger\nja-title: Charlie Hitselbergerの\"PETTIL - コモドールPET用Forth\"\ntype: text/vnd.tiddlywiki\nurl: http://pettilmobile.com\n\n6502アセンブリ言語で書かれた、[[コモドールPET|https://en.wikipedia.org/wiki/Commodore_PET]]用の高速Forthインタープリタです。プログラムドキュメントを含むTiddlyWikiは、ソースコードから自動的に生成されます。https://github.com/chitselb/pettilを参照してください。\n\n{{!!url}}\n\n<<<\nプロジェクトの目的は、以下のとおりです(順不同): \n\n* Commodore PET 2001で動作するForthを作成する\n* 楽しむ\n* \"6502アセンブリゴルフ\"のスキルを向上させる\n* このプロジェクトに興味のある人を見つける\n<<<\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/examples/Simple Zork like Game.tid",
    "content": "created: 20141118143636664\nmodified: 20241201112046756\noriginal-modified: 20141118143636664\ntags: Examples\ntitle: Simple Zork-like Game by Jed Carty\nja-title: Jed CartyのシンプルなZorkライクゲーム\nurl: http://zorklike.tiddlyspot.com\n\n[[この投稿|https://groups.google.com/d/topic/tiddlywiki/4aRpZht1vOs/discussion]]で紹介されている、TiddlyWikiで構築されたシンプルなゲーム。\n\n{{!!url}}\n\n<<<\nプラグインやJavaScriptを使わずに、Coreのtiddlywikiだけを使って、なんらかのゲームが作れるかどうか試してみることにしました。私は、非常に基本的なZork/インタラクティブフィクションタイプのゲームを作りました。これは、現時点では私が作ることができ、ゲームだと言える最もシンプルなものですが、将来的には改造していくかもしれません。action-setfieldウィジェットによってマクロ作成の作業が大幅に軽減されたため、5.1.5 プレリリースを使用しています。\n\nこの目標の1つは、Coreのtiddlywikiに含まれているもの以外は何も使用しないことです。そのため、JavaScriptやプラグインはありません。\n<<<\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/examples/TriTarget.org by Devin Weaver.tid",
    "content": "created: 20160424111304190\nmodified: 20241201112847005\noriginal-modified: 20160424112155381\ntags: Examples\ntitle: TriTarget.org by Devin Weaver\nja-title: Devin WeaverのTriTarget.org\ntype: text/vnd.tiddlywiki\nurl: https://tritarget.org\n\nTiddlyWikiで構築された個人のWebサイト。\n\n{{!!url}}\n\n<<<\nTriTarget.org は、私が高校生のときに思いついた名前です。私はコンピュータープログラミングに夢中だったので、ちょっとキャッチーな会社名が欲しかったのです。BASICでいくつかのプログラムを作成するときは、自分の会社をアピールするために、TriTargetというブランド名を付けていました(会社を持っていませんでしたが)。\n<<<\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/examples/_Lucky Sushi_ online shop by sini-Kit.tid",
    "content": "created: 20141122093837330\nlost-url: http://luckysushi.ru/habarovsk/heeg.html\nmodified: 20241130111825331\noriginal-modified: 20210106151027143\ntags: Examples\ntitle: \"Lucky Sushi\" online shop by sini-Kit\nja-title: sini-Kitのオンラインショップ\"ラッキー寿司\"\ntype: text/vnd.tiddlywiki\nurl: https://web.archive.org/web/20241127033249/http://luckysushi.ru/habarovsk/heeg.html#index\n\n~TiddlyWikiで作られた完全なオンラインショップ!\n\n{{!!url}}\n\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/plugins/GSD5.tid",
    "content": "created: 20141230182901899\nmodified: 20260210113539372\noriginal-modified: 20220226205227090\ntags: [[Community Editions]] [[Community Plugins]]\ntitle: \"GSD5\" by Roma Hicks\nja-title: Roma Hicksによる\"GSD5\"\ntype: text/vnd.tiddlywiki\nurl: http://gsd5.tiddlyhost.com/\n\n[[MonkeyGTDとして知られていたTiddlyWikiベースのGTD®システム|http://mgsd.tiddlyspot.com/]]をTiddlyWikiバージョン5に適合させた版です。\n\n{{!!url}}\n\n<<<\nGSD5は、クラシックTiddlyWikiのmGSDのに基づいた、TiddlyWiki5用のGetting-Thing-Doneツールです。\n<<<\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/plugins/TW5-Graph by Flibbles.tid",
    "content": "created: 20251009192405351\nmodified: 20260211112136626\noriginal-modified: 20251009192405351\ntags: [[Community Plugins]] Resources\ntitle: TW5-Graph by Flibbles\nja-title: FlibblesによるTW5-Graph\ntype: text/vnd.tiddlywiki\nurl: https://flibbles.github.io/tw5-graph/\n\nTW5-Graphは、TiddlyWikiを既存のグラフ表示エンジン([[Vis-Network|https://visjs.github.io/vis-network/docs/network/]]など)と統合するためのフレームワークです。このプラグインを使えば、Tiddlerやその他の必要な情報を、簡単かつ洗練されたグラフで表現できます。\n\nこれは[[TiddlyMap|TiddlyMap Plugin by Felix Küppers]]の精神を受け継いだ後継です。\n\nTW5-Graphでできること:\n\n* 簡単なポイント&クリックGUIでグラフを素早く作成・編集\n* Wikiテキストウィジェットを使用して、ニーズにぴったり合ったカスタマイズされたグラフとテンプレートを作成\n* 状態変化や個々のTiddlerを表す動的なグラフを簡単に作成\n\nTW5-Graphにはできることがたくさんあります。[[デモWebサイトはここをクリックしてください。|https://flibbles.github.io/tw5-graph/]]\n\nまたは、[[ここ|https://github.com/flibbles/tw5-graph]]からソースコードを参照してください。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/plugins/TiddlyWiki for Scholars.tid",
    "content": "created: 20140720085406905\nmodified: 20260211104044674\noriginal-modified: 20210106151027232\ntags: [[Community Editions]]\ntitle: \"TiddlyWiki for Scholars\" by Alberto Molina\nja-title: Alberto Molinaによる\"学者のためのTiddlyWiki\"\ntype: text/vnd.tiddlywiki\nurl: http://tw5.scholars.tiddlyspot.com/\n\n厳密、学術的にメモを取るためにカスタマイズされたTiddlyWikiエディションの初期リリース。\n\n{{!!url}}\n\n<<<\n学者のためのTiddlyWikiは、読書のノートを取るために作成したTiddlyWiki 5.0.13-betaの個人的なカスタマイズですが、他の用途でも役立ちます。このカスタマイズの背景にあるアイデアは、現在のTiddlerを離れることなく、そのTiddlerに関連するデータを表示し、作成できるようにすることです。\n<<<\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/project/TiddlyWiki People.tid",
    "content": "title: TiddlyWiki People\nja-title: TiddlyWikiの人々\ncaption: TiddlyWikiの人々\nmodified: 20260207110400714\noriginal-modified: 20250909171928024\ncreated: 20250909171928024\ntags: Community About\n\nTiddlyWikiの開発とプロジェクト運営に携わるTiddlyWikiコミュニティのメンバーは、[[コミュニティカードを作成|Submitting a Community Card]]して、プロジェクト計画や組織図に組み込むことができます。コミュニティカードは、TiddlyWikiコミュニティにおけるメンバーの関心や活動を示すこともできます。\n\n{{Community Cards Caveats}}\n\n<<community-card-pill-stack-person personFilter:\"[tag[Community/Person]sort[title]]\">>"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/project/TiddlyWiki Project.tid",
    "content": "title: TiddlyWiki Project\nja-title: TiddlyWikiプロジェクト\ncaption: TiddlyWikiプロジェクト\nmodified: 20260207104229346\noriginal-modified: 20250909171928024\ncreated: 20250909171928024\ntags: Community About\n\nTiddlyWikiプロジェクトは、TiddlyWikiをメンテナンス・改善し、TiddlyWikiコミュニティをサポートするための、統制された継続的な取り組みです。\n\n{{Community Cards Caveats}}\n\n<$list filter=\"[tag[Community/Team]]\" template=\"$:/tiddlywiki/community/cards/ViewTemplateBodyTemplateTeam\"/>"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/project/Vacant Positions.tid",
    "content": "title: Vacant Positions\nja-title: 空きポジション\ntags: [[TiddlyWiki Project]]\n\nプロジェクトにボランティアとして協力することに興味がある方は、<<community-card-pill-person title:\"@Jermolene\">>にご連絡ください。"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/resources/Gospel_Bubbles_by_Rev_David_Gifford.tid",
    "content": "created: 20141122093837330\nmodified: 20241201105444692\noriginal-modified: 20210106151027081\ntags: Examples\ntitle: \"Gospel Bubbles\" by Rev. David Gifford\nja-title: Rev. David Giffordの\"ゴスペルバブル\"\ntype: text/vnd.tiddlywiki\nurl: http://giffmex.org/gospels.bubbles.html#Gospels%20Bubbles\n\nCreates bubble maps of Biblical texts.\n聖書のテキストのバブルマップを作成します。\n\n{{!!url}}\n\n<<<\nこの~TiddlyWikiは、まだ構築中ですが、新約聖書の福音書の文章、文章の種類、テーマ、人物、場所、画像をすばやく見つけられるいくつかの機能があります。バブルマップは、各福音書の概要を色分けしたものです。文章の種類(奇跡物語、寓話など)ごとに色が割り当てられています。バブルマップでは、次の3つのことができます:\n\n#バブルマップは、各福音書の概要を色分けしたものです。各タイプの一節(奇跡物語、たとえ話など)には色が割り当てられています。バブルマップを使用すると、次の3つのことが可能になります: \n##それぞれの福音書の中で、さまざまな種類の一節がどのように分布しているかを確認します。\n##一節の上にマウスを置くと、詩とタイトルが表示されます。\n##一節をクリックすると、その文章が開き、そこに記載されているテーマやその他のデータが表示されます。\n\n#''一節ごとのテーマ''索引は、各福音書の一節のリストで、その後にその一節にあるテーマやその他のデータが続きます。テーマをクリックすると、そのテーマについて言及しているすべての一節のリストが表示されます。\n\n#テーマの索引には、各テーマ、人物、グループ、場所、画像へのリンクのリストが含まれています。テーマをクリックすると、そのテーマについて言及しているすべての一節のリストが表示されます。\n\n#右側のメニューに''検索ウィンドウ''が隠れています。検索ウィンドウを使用して、sowerやparalyticなどの単語を入力して、一節をすばやく検索します。画面の右上にある矢印をクリックしてメニューを開き、検索します。\n<<<\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/resources/Projectify by Nicolas Petton.tid",
    "content": "created: 20210106183100000\nmodified: 20260211110343361\noriginal-modified: 20220407181245488\ntags: [[Community Plugins]] [[Community Editions]]\ntitle: Projectify by Nicolas Petton\nja-title: Nicolas PettonによるProjectify\ntype: text/vnd.tiddlywiki\nurl: https://github.com/ThaddeusJiang/Projectify\n\n~TiddlyWikiのプロジェクト・~ToDo管理。\n\n{{!!url}}\n\nProjectifyは、[[Todoist|https://todoist.com]]や[[Basecamp|https://basecamp.com]]などの製品にインスパイアされた、\nプロジェクトと~ToDoリストを管理するためのTiddlyWikiプラグインです。\n\nProjectifyの機能:\n\n* タスクや考えを収集するための受信箱\n* タスクをまとめて個別の~ToDoリストに構造化するプロジェクト\n* タスクのスケジューリングのサポート\n* すべてのプロジェクト、受信箱、スケジュールされたタスクをすばやく確認するためのダッシュボード\n\n`注意:` オリジナルのサイト https://projectify.wiki は今は存在しません。提供されているサイトは複製サイトですが、元の作成者によるものではありません。"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/resources/TW5-firebase_ TiddlyWiki5 for Google Firebase by Peter Neumark.tid",
    "content": "caption: TW5-firebase\ncolor: #FFEB3B\ncommunity-author: Peter Neumark\ncreated: 20210115121027582\ndelivery: Google Firebase backend\ndescription: TiddlyWikiのGoogle Firebaseバックエンド \nmethod: save\nmodified: 20241013105940732\noriginal-modified: 20210115121027582\ntags: Chrome Firefox [[Internet Explorer]] Linux Mac Opera [[Other Resources]] Safari Saving Windows plugins Edge\ntitle: TW5-firebase: TiddlyWiki5 for Google Firebase by Peter Neumark\nja-title: TW5-firebase: Peter NeumarkによるGoogle Firebase用TiddlyWiki5\ntype: text/vnd.tiddlywiki\nurl: https://github.com/neumark/tw5-firebase\n\nTiddlyWiki5のGoogle-Firebaseホストバージョン。\n\n{{!!url}}\n\n<<<\n私は1年以上、Google FirebaseでTiddlyWiki5を使っています。毎日使っても十分安定しています。独自のインスタンスを作成する方法については、多くのスクリーンショットを含んだ詳細なチュートリアルがあります。プロセス全体は30分もかかりません: https://neumark.github.io/tw5-firebase/\n\nこのバージョンは、洗練された製品というよりは概念実証と考えてください。私の焦点は、複数のデバイスや小規模チームのコラボレーションでした:\n\n* 基本認証(バッグには、誰が読み取り/書き込みできるかを決定するアクセスポリシーがあります)。\n* 1つのFirebaseアカウントで複数のWikiをホストできます。\n* Firebaseの組み込みソーシャル認証を使用してユーザーログインします。\n* Tiddlerはロックを使用して個別に書き込むことで、ユーザーが互いの更新を上書きするのを防ぎます。\n<<<\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/resources/TiddlyDrive Add-on for Google Drive by Joshua Stubbs.tid",
    "content": "caption: ~TiddlyDrive\ncolor: #FFEB3B\ncommunity-author: Joshua Stubbs\ncreated: 20171109172705241\ndelivery: Google Drive Add-on\ndescription: TiddlyWikiを保存するGoogleドライブのアドオン\nmethod: save\nmodified: 20241012124026136\noriginal-modified: 20210106151027582\ntags: Android Chrome Firefox [[Internet Explorer]] Linux Mac Opera PHP [[Other Resources]] Safari Saving Windows iOS plugins Edge\ntitle: TiddlyDrive Add-on for Google Drive by Joshua Stubbs\nja-title: Joshua StubbsによるGoogleドライブ用TiddlyDriveアドオン\ntype: text/vnd.tiddlywiki\nurl: https://github.com/tiddlydrive/tiddlydrive.github.io\n\nGoogleドライブのアドオンで、そこに保存されているTiddlyWikiファイルを直接開いたり保存したりできるようになります\n\n詳細については、このプロジェクトのgithubページをご覧ください: \n{{!!url}}\n\n<<<\nGoogleドライブに保存されたTiddlyWikiファイルを編集し、自動的に保存することができるアプリを作成しました。ページはここ https://chrome.google.com/webstore/detail/tiddly-drive/oaphhjhbbabdjnpjpiliepphpmnioolo にありますが、GoogleドライブのWebインターフェースから追​​加する必要があると思います。\n\nI even added an optional ability to save with ctrl + s hotkeys.\nCtrl + Sホットキーで保存するオプション機能も追加しました。\n<<< [[Joshuaのローンチ投稿|https://groups.google.com/d/topic/tiddlywiki/7pNJizR57e8/discussion]]\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/resources/TiddlyServer by Arlen Beiler.tid",
    "content": "caption: ~TiddlyServer\ncolor: #f06292\ncommunity-author: Arlen Beiler\ncreated: 20171109171415540\ndelivery: DIY\ndescription: TiddlyWikiのNode.jsサーバーの拡張\nmethod: sync\nmodified: 20241012120223000\noriginal-modified: 20210106151027596\ntags: Linux Mac Windows Saving [[Other Resources]]\ntitle: TiddlyServer by Arlen Beiler\nja-title: Arlen BeilerによるTiddlyServer\ntype: text/vnd.tiddlywiki\nurl: https://github.com/Arlen22/TiddlyServer\n\nTiddlyWikiのNode.js構成の拡張で、静的添付ファイルのサポートと複数のWikiを同時に操作するためのサポートが追加されます。\n\n{{!!url}}\n\n<<<\nTiddlyServer 2.0は、NodeJS上のTiddlyWikiのサーバーコマンドを取得し、それを静的ファイルサーバーに追加します。つまり、単一のTiddlyWikiファイルを提供するのと同じ方法で、任意のTiddlyWikiデータフォルダーを読み込んで提供できます。\n\nただし、ファイルやフォルダーを1か所からだけで提供する必要はありません。ハードドライブ上の複数の任意の場所(文字通り、NodeJSがstat、readdir、readFileを実行できる場所)から提供できます。仮想フォルダー(Apacheではエイリアス、Expressではマウントと呼ばれます)に整理することもできます。\n\nもちろん、重要な点は、ファイルを見るだけでなく、実際に編集できることです。単一ファイルのTiddlyWikiはput saverを使用しますが、これはインデックスページに含まれるブックマークレットを使用してパッチを適用する必要があります。この手順については、以下の「注意すべき点」という見出しの下にあります。\n\nそしてもちろん、node tiddlywiki.js data --serverを実行するのと同じように、データフォルダーtiddlywikisを編集できます。ただし、(例: http://localhost/personal/notes/) で見つけたパスで実行することを除きます。データフォルダーは好きなだけいくつでも開くことができ、競合することはありません(ただし、それぞれメモリを消費します)。\n\nデータフォルダーには、Wiki全体ではなく、個々のTiddlerが保存されます。コアとプラグインも保存されないため、ディスク容量が少なくて済みます。つまり、特にインターネット経由では、保存がはるかに速くなります。また、すぐに(10秒以内で)保存され、下書きも保存されます。\n<<<"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/resources/TiddlyWiki Posts.tid",
    "content": "created: 20140129085406905\nmodified: 20260215103541564\noriginal-modified: 20230805140720289\ntags: [[Other Resources]] Articles\ntitle: \"TiddlyWiki Posts\" by Jeffrey Kishner\nja-title: Jeffrey Kishnerによる\"TiddlyWikiの投稿\"\ntype: text/vnd.tiddlywiki\nurl: https://web.archive.org/web/20221015011644/http://blog.jeffreykishner.com/tiddlywiki/\n\nFargo、Font Awesome、Googleカレンダーとの連携、タスクリスト管理のチップスなどをまとめた記事集です。元のサイトは見つかりませんが、アーカイブへのリンクが提供されています。\n\n{{!!url}}\n\n<<<\n私はTiddlyWikiの一般ユーザーになり、FargoでFont Awesomeアイコンを使用することに慣れてきたため、自分のWikiにもそのアイコンを取り入れたいと考えていました。\n<<<\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/resources/Twexe_ Single File Tiddlywiki5 executable.tid",
    "content": "caption: Twexe\ncolor: #ff8a65\ncommunity-author: ihm4u\ncreated: 20200507214737998\ndelivery: App\ndescription: 単一のTiddlywiki5実行ファイル\nmethod: save\nmodified: 20241011112716588\noriginal-modified: 20210106151027674\ntags: Firefox [[Internet Explorer]] Opera [[Other Resources]] Safari Saving Windows Edge Linux\ntitle: Twexe: Single File Tiddlywiki5 executable\nja-title: Twexe: 単一のTiddlywiki5実行ファイル\ntype: text/vnd.tiddlywiki\nurl: https://ihm4u.github.io/twexe/\n\n{{!!description}}\n{{!!url}}\n\n!! 特徴\n\n* 自動バックアップ\n* 自動保存\n* ブラウザのアドオンは必要なし!!\n* LinuxとWindowsで動作\n* 単一の実行可能ファイル。移動、コピーなどができます。\n* Wikiは圧縮されており、ディスク上のスペース占有が少ない(場合によっては、3分の1のスペースで済みます!)\n* //どんな//Tiddlywiki5ファイルも単一の実行可能ファイル<<twexe>>に変換します。特別なTiddlywikiプラグインは必要ありません。\n* コントロールパネルの保存タブを自動的に使用します(デフォルトが気に入らない場合は、バックアップディレクトリを指定できます)\n* 実行可能ファイルtwexeからHTML Wikiファイルを簡単に取り出せます(何らかの理由で必要な場合)\n* Wikiから外部実行可能ファイルを実行するという可能性が広がります(グラフの描画など) - 乞うご期待!!\n* 外部画像をサポートします(_canonical_uriフィールドを使用)\n\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/resources/Wikilabs by PMario.tid",
    "content": "created: 20170419164100000\nmodified: 20260211105350634\noriginal-modified: 20210106151027378\ntags: [[Other Resources]] [[Community Plugins]] [[Community Editions]]\ntitle: \"Wikilabs\" by PMario\nja-title: PMarioによる\"Wikiラボ\"\ntype: text/vnd.tiddlywiki\nurl: https://wikilabs.github.io\n\n~TiddlyWiki 5に関する概念をテストするためのリファレンス集です...。\n\n{{!!url}}\n\n<<<\nこれは、~TiddlyWikiやそれに関連するものについて雑談するPMarioの遊び場です。\n\n基本的には、~TiddlyWikiのエディション、テーマ、プラグインを紹介するさまざまなサイトへの\"出発点\"となるページです。\n<<<\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/resources/_Timimi_ Extension and executable by Riz.tid",
    "content": "caption: Timimi\ncolor: #4db6ac\ncommunity-author: Riz\ncreated: 20180830194141190\ndelivery: Browser Extension & Native host\ndescription: Browser拡張機能 & デスクトップ向けネイティブホスト\nmethod: save\nmodified: 20241011114227953\noriginal-modified: 20210106151027637\ntags: Windows Linux Chrome Firefox Saving [[Other Resources]] plugins Mac Opera Edge\ntitle: Timimi: WebExtension and Native Host by Riz\nja-title: Timimi: RizによるWebExtensionとネイティブホスト\ntype: text/vnd.tiddlywiki\nurl: https://ibnishak.github.io/Timimi/\n\nTimimiはスタンドアロンのHTML tiddlywikiファイルを''ハードドライブの任意の場所''に保存してバックアップできるネイティブホストを備えたWeb拡張機能です。インストールすると、オリジナルのTiddlyfoxアドオンのように、追加の手順なしでtiddlywikiファイルを保存できます。\n\n* ネイティブホストでは、ブラウザー外部のホストコンピューターにコンポーネントがインストールされている必要があります。\n\n{{!!url}}\n\nバージョン2.1以降、Timimiは次のブラウザをサポートしています\n\n* Chrome/Chromium\n* Firefox\n* Opera\n* Microsoft Edge (Chromium)\n\nまた、BraveやVivaldiなどのChromeベースのブラウザでもシームレスに動作すると報告されています。\n\nTimimiはユーザーに次の4つのバックアップ戦略も提供します: \n\n* N回保存ごとにバックアップする\n* N分ごとにバックアップする\n* カスタマイズされたハノイの塔\n* 先入れ先出し\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/resources/_file-backups_ Extension Firefox by pmario.tid",
    "content": "caption: file-backups\ncolor: #4DB6AC\ncommunity-author: Mario Pietsch\ncreated: 20171116165500000\ndelivery: Browser Extension\ndescription: Firefoxブラウザの拡張機能\nmethod: save\nmodified: 20241011113215619\noriginal-modified: 20210106151027036\ntags: Firefox Saving [[Other Resources]] plugins Windows Linux Mac\ntitle: \"file-backups\" Extension for Firefox by pmario\nja-title: pmarioによるFirefox用\"file-backups\"拡張機能\ntype: text/vnd.tiddlywiki\nurl: https://github.com/pmario/file-backups\n\nMozilla Firefoxの拡張機能で、~TiddlyWiki組み込みの[[HTML5セーバー|Saving with the HTML5 saver]]の使いにくさの一部を解消し、~TiddlyFoxと同じくらい簡単に使用できるようになります。ワークフローは、設定なしですぐに使用できるように設計されています。\n\nhttps://github.com/pmario/file-backups には、ドキュメントと紹介動画へのリンクが含まれています。\n\nChrome版も計画されています!"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/resources/_savetiddlers_ Extension for Firefox by buggyj.tid",
    "content": "caption: savetiddlers\ncolor: #4DB6AC\ncommunity-author: buggyj\ncreated: 20171109171935039\ndelivery: Browser Extension\ndescription: Firefoxのブラウザ拡張機能\nmethod: save\nmodified: 20250809092435788\noriginal-modified: 20250809092435788\ntags: Firefox Saving [[Other Resources]] plugins\ntitle: savetiddlers: Extension for Firefox by buggyj\nja-title: buggyjによるFirefoxの\"savetiddlers\"拡張機能\ntype: text/vnd.tiddlywiki\nurl: https://github.com/buggyj/savetiddlers\n\nMozilla Firefoxの拡張機能で、TiddlyWikiの組み込み[[HTML5セーバー|Saving with the HTML5 saver]]による使いにくさの一部を解消し、正しく設定すれば[[TiddlyFox]]とほぼ同じくらい簡単に使用できるようになります。\n\n{{!!url}}"
  },
  {
    "path": "editions/ja-JP/tiddlers/community/tools/cards/Procedures.tid",
    "content": "title: $:/tiddlywiki/community/cards/Procedures\ntags: $:/tags/Global\n\n\\procedure community-card-display-jpeg-field(fieldName,mode:\"block\",default)\n<$genesis $type={{{ [<mode>match[block]then[div]else[span]] }}} class={{{ tc-community-card-field-image [[tc-community-card-field-image-]addsuffix<fieldName>] +[join[ ]] }}}>\n\t<%if [<currentTiddler>has<fieldName>] %>\n\t\t<img src={{{ [<currentTiddler>get<fieldName>addprefix[data:image/jpeg;base64,]] }}} width=\"32\"/>\n\t<%else%>\n\t\t<$transclude $tiddler=<<default>> $mode=<<mode>>/>\n\t<%endif%>\n</$genesis>\n\\end community-card-display-jpeg-field\n\n\\procedure community-card-display-transclusion(fieldName,mode:\"inline\",default)\n<$genesis $type={{{ [<mode>match[block]then[div]else[span]] }}} class={{{ tc-community-card-field-image [[tc-community-card-field-image-]addsuffix<fieldName>] +[join[ ]] }}}>\n\t<%if [<currentTiddler>has<fieldName>] %>\n\t\t<$transclude $tiddler={{{ [<currentTiddler>get<fieldName>] }}} $mode=<<mode>>/>\n\t<%else%>\n\t\t<$transclude $tiddler=<<default>> $mode=<<mode>>/>\n\t<%endif%>\n</$genesis>\n\\end community-card-display-transclusion\n\n\\procedure community-card-display-text-field(fieldName,showLabel:\"yes\",linkPrefix,displayPrefix,mode:\"block\")\n<%if [<currentTiddler>has<fieldName>] :or[<fieldName>match[title]] %>\n\t<$genesis $type={{{ [<mode>match[block]then[div]else[span]] }}} class={{{ tc-community-card-field-text [[tc-community-card-field-text-]addsuffix<fieldName>] +[join[ ]] }}}>\n\t\t<%if [<showLabel>match[yes]] %>\n\t\t<span class=\"tc-community-card-field-text-name\"><$text text=<<fieldName>>/></span>\n\t\t<%endif%>\n\t\t<%if [<linkPrefix>!match[]] %>\n\t\t\t<a\n\t\t\t\thref={{{ [<currentTiddler>get<fieldName>addprefix<linkPrefix>] }}}\n\t\t\t\tclass=\"tc-community-card-field-text-value\"\n\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\ttarget=\"_blank\"\n\t\t\t>\n\t\t\t\t<$text text={{{ [<currentTiddler>get<fieldName>] :else[<fieldName>match[title]then<currentTiddler>] +[addprefix<displayPrefix>] }}}/>\n\t\t\t</a>\n\t\t<%else%>\n\t\t\t<span class=\"tc-community-card-field-text-value\">\n\t\t\t\t<$text text={{{ [<currentTiddler>get<fieldName>] :else[<fieldName>match[title]then<currentTiddler>] +[addprefix<displayPrefix>] }}}/>\n\t\t\t</span>\n\t\t<%endif%>\n\t</$genesis>\n<%endif%>\n\\end community-card-display-text-field\n\n\\procedure community-card-person(title)\n\t<$let currentTiddler=<<title>>>\n\t\t<div class=\"tc-community-card\">\n\t\t\t<$link to=<<currentTiddler>> class=\"tc-community-card-header-link\">\n\t\t\t\t<div class=\"tc-community-card-header\">\n\t\t\t\t\t<<community-card-display-jpeg-field \"avatar\" default:\"$:/tiddlywiki/community/icons/person\">>\n\t\t\t\t\t<<community-card-display-text-field \"title\" showLabel:\"no\">>\n\t\t\t\t</div>\n\t\t\t</$link>\n\t\t\t<div class=\"tc-community-card-info\">\n\t\t\t\t<<community-card-display-text-field \"fullname\">>\n\t\t\t\t<<community-card-display-text-field \"first-sighting\">>\n\t\t\t\t<<community-card-display-text-field \"talk.tiddlywiki.org\" linkPrefix:\"https://talk.tiddlywiki.org/u/\" displayPrefix:\"@\">>\n\t\t\t\t<<community-card-display-text-field \"github\" linkPrefix:\"https://github.com/\" displayPrefix:\"@\">>\n\t\t\t\t<<community-card-display-text-field \"linkedin\" linkPrefix:\"https://\">>\n\t\t\t\t<<community-card-display-text-field \"flickr\" linkPrefix:\"https://\">>\n\t\t\t\t<<community-card-display-text-field \"homepage\" linkPrefix:\"https://\">>\n\t\t\t\t<<community-card-display-text-field \"email\" linkPrefix:\"mailto:\">>\n\t\t\t\t<%if [all[tiddlers+shadows]tag[Community/Team]sort[title]] :filter[{!!leader}match<..currentTiddler>] +[count[]compare:number:gt[0]] %>\n\t\t\t\t\t<div class=\"tc-community-card-field-text\">\n\t\t\t\t\t\t<span class=\"tc-community-card-field-text-name\">リーダー</span>\n\t\t\t\t\t\t<span class=\"tc-community-card-field-text-value\">\n\t\t\t\t\t\t\t<$list filter=\"[all[tiddlers+shadows]tag[Community/Team]sort[title]] :filter[{!!leader}match<..currentTiddler>]\">\n\t\t\t\t\t\t\t\t<$transclude $variable=\"community-card-pill-team\" title=<<currentTiddler>>/>\n\t\t\t\t\t\t\t</$list>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t<%endif%>\n\t\t\t\t<%if [all[tiddlers+shadows]tag[Community/Team]sort[title]] :filter[enlist{!!team}match<..currentTiddler>] +[count[]compare:number:gt[0]] %>\n\t\t\t\t\t<div class=\"tc-community-card-field-text\">\n\t\t\t\t\t\t<span class=\"tc-community-card-field-text-name\">メンバー</span>\n\t\t\t\t\t\t<span class=\"tc-community-card-field-text-value\">\n\t\t\t\t\t\t\t<$list filter=\"[all[tiddlers+shadows]tag[Community/Team]sort[title]] :filter[enlist{!!team}match<..currentTiddler>]\">\n\t\t\t\t\t\t\t\t<$transclude $variable=\"community-card-pill-team\" title=<<currentTiddler>>/>\n\t\t\t\t\t\t\t</$list>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t<%endif%>\n\t\t\t</div>\n\t\t\t<div class=\"tc-community-card-body\">\n\t\t\t\t<$transclude $tiddler=<<currentTiddler>> $field=\"text\" $mode=\"block\"/>\n\t\t\t</div>\n\t\t</div>\n\t</$let>\n\\end community-card-person\n\n\\procedure community-card-team(title)\n\t<$let currentTiddler=<<title>>>\n\t\t<div class=\"tc-community-card tc-community-card-team\">\n\t\t\t<$link to=<<currentTiddler>> class=\"tc-community-card-header-link\">\n\t\t\t\t<div class=\"tc-community-card-header\">\n\t\t\t\t\t<<community-card-display-transclusion fieldName:\"icon\" default:\"$:/tiddlywiki/community/icons/team\">>\n\t\t\t\t\t<<community-card-display-text-field \"title\" showLabel:\"no\">>\n\t\t\t\t</div>\n\t\t\t</$link>\n\t\t\t<div class=\"tc-community-card-info\">\n\t\t\t\t<div class=\"tc-community-card-field-text\">\n\t\t\t\t\t<span class=\"tc-community-card-field-text-name\">リーダー</span>\n\t\t\t\t\t<span class=\"tc-community-card-field-text-value\">\n\t\t\t\t\t\t<%if [<currentTiddler>has[leader]] %>\n\t\t\t\t\t\t\t<$transclude $variable=\"community-card-pill-person\" title={{!!leader}}/>\n\t\t\t\t\t\t<%else%>\n\t\t\t\t\t\t\t<$transclude $variable=\"community-card-vacancy\"/>\n\t\t\t\t\t\t<%endif%>\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"tc-community-card-field-text\">\n\t\t\t\t\t<span class=\"tc-community-card-field-text-name\">チーム</span>\n\t\t\t\t\t<span class=\"tc-community-card-field-text-value\"><$transclude $variable=\"community-card-pill-stack-person\" personFilter={{!!team}}/></span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"tc-community-card-body\">\n\t\t\t\t<$transclude $tiddler=<<currentTiddler>> $field=\"text\" $mode=\"block\"/>\n\t\t\t</div>\n\t\t</div>\n\t</$let>\n\\end community-card-team\n\n\\procedure community-card-pill-person(title)\n\t<$let currentTiddler=<<title>>>\n\t\t<$link to=<<currentTiddler>> class=\"tc-community-card-pill\">\n\t\t\t<<community-card-display-jpeg-field \"avatar\" default:\"$:/tiddlywiki/community/icons/person\" mode=\"inline\">>\n\t\t\t<<community-card-display-text-field \"title\" showLabel:\"no\" mode:\"inline\">>\n\t\t</$link>\n\t</$let>\n\\end community-card-pill-person\n\n\\procedure community-card-pill-stack-person(personFilter:\"[tag[Community/Person]]\")\n\t<div class=\"tc-community-card-pill-stack\">\n\t\t<$list filter=<<personFilter>>>\n\t\t\t<$list-template>\n\t\t\t\t<$transclude $variable=\"community-card-pill-person\" title=<<currentTiddler>> mode=\"block\"/>\n\t\t\t</$list-template>\n\t\t\t<$list-empty>\n\t\t\t\t<$transclude $variable=\"community-card-vacancy\"/>\n\t\t\t</$list-empty>\n\t\t</$list>\n\t</div>\n\\end community-card-pill-stack-person\n\n\\procedure community-card-pill-team(title)\n\t<$let currentTiddler=<<title>>>\n\t\t<$link to=<<currentTiddler>> class=\"tc-community-card-pill\">\n\t\t\t<<community-card-display-transclusion fieldName:\"icon\" default:\"$:/tiddlywiki/community/icons/team\">>\n\t\t\t<<community-card-display-text-field \"title\" showLabel:\"no\" mode:\"inline\">>\n\t\t</$link>\n\t</$let>\n\\end community-card-pill-team\n\n\\procedure community-card-vacancy()\n\t<$link to=\"Vacant Positions\" class=\"tc-community-card-pill tc-community-card-pill-vacancy\">\n\t\t<span class=\"tc-community-card-field-image tc-community-card-field-image-avatar\">\n\t\t\t{{$:/core/images/help}}\n\t\t</span>\n\t\t<span class=\"tc-community-card-field-text tc-community-card-field-text-title\">\n\t\t\t<span class=\"tc-community-card-field-text-value\">\n\t\t\t\tVacant\n\t\t\t</span>\n\t\t</span>\n\t</$link>\n\\end community-card-vacancy\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/concepts/ExternalImages.tid",
    "content": "created: 20140610213500000\nmodified: 20251212111127961\noriginal-modified: 20250217154855572\ntags: Concepts Features\ntitle: ExternalImages\nja-title: 外部画像\ntype: text/vnd.tiddlywiki\n\nTiddlyWikiの外部画像は、画像データすべてを埋め込むのではなく、画像のURIを指定するTiddlerです。特に画像の数やサイズが大きい場合、埋め込み画像よりもパフォーマンスが向上します。ただし、外部画像を使用すると、TiddlyWikiの単一ファイルパターンが崩れます。\n\n外部画像はブラウザで使用されます。TiddlyWikiをビルドするときにNode.js構成によって作成されるか、ブラウザ内で手動で作成されます。\n\n! 外部画像とは\n\n外部画像は、画像のURIを含む''_canonical_uri''フィールドを持つ通常の画像Tiddlerです。URIは、HTMLドキュメントに対する絶対パスや相対パスで指定することができます。Canonical URIが指定されている場合は、Tiddlerの''text''フィールドは無視されるため、省略する必要があります。\n\n! 外部画像を手動で作成する\n\n外部画像を手動で作成するには、適切な画像コンテンツタイプでTiddlerを作成し、実際の画像の場所を指すURIを含む''_canonical_uri''フィールドを追加します。\n\n''重要:'' スペルを再度確認してください。``_canonical_uri``は、URLではなく[[URI|https://en.wikipedia.org/wiki/URI#The_relationship_between_URIs.2C_URLs.2C_and_URNs]]と綴られます。\n\n! Node.jsで外部画像を作成する\n\n参照される外部画像を含む''images''フォルダーを伴うWikiの静的HTMLファイルバージョンを作成するには、次の手順を使用します: \n\n# 通常の方法でTiddlyWikiFoldersに画像Tiddlerを作成します\n# 画像を別ファイルとして保存します (慣例により、''/images''という名前のサブフォルダに保存します)\n# ''_canonical_uri''フィールドを追加して画像Tiddlerを外部化します\n# メインのHTMLファイルを保存します\n\n画像ファイルは外部化する前に保存する必要があることに注意してください。外部化すると、Wikiストアのメモリ内コピーの''text''フィールドが破壊され、保存の試みが失敗します。\n\n!! 外部画像の構成\n\nたとえば、''tiddlywiki.info''ファイル内に、''externalimages''ビルドターゲットを作成します: \n\n```\n\"build\": {\n\t\"externalimages\": [\n\t\t--save [is[image]] images\n\t\t--setfield [is[image]] _canonical_uri $:/core/templates/canonical-uri-external-image text/plain\n\t\t--setfield [is[image]] text \"\" text/plain\n\t\t--render $:/core/save/all externalimages.html text/plain\n\t]\n}\n```\n\n!! 画像Tiddlerの外部化\n\n次の`--save`コマンド ([[Saveコマンド|SaveCommand]]を参照)を使用すると、Wikiの画像を''images''サブフォルダーに保存できます: \n\n```\n--save [is[image]] images\n```\n\n2つの`--setfield`コマンドが使用されています: 最初のコマンドは、''_canonical_uri''フィールドをTiddlerのタイトルから派生したURIに設定し、2番目のコマンドはtextフィールドをクリアします。\n\n```\n--setfield [is[image]] _canonical_uri $:/core/templates/canonical-uri-external-image text/plain\n--setfield [is[image]] text \"\" text/plain\n```\n\nテンプレートTiddler  [[$:/core/templates/canonical-uri-external-image]]には以下が含まれます: \n\n<pre>\n\n<$view tiddler=\"$:/core/templates/canonical-uri-external-image\" field=\"text\" format=\"text\"/>\n\n</pre>\n\nこれらの操作により、Wikiストア内のTiddlerが変更されるため、後続のコマンド操作に影響する可能性があることに注意してください。\n\n!! 外部画像をビルドするためのNode.jsコマンド\n\n次のコマンドは、`myWiki/output`フォルダー内に外部画像を作成します。\n\n```\ntiddlywiki myWiki --build externalimages\n```\n\nWindowsでは、次のコマンドを実行すると、[[tw5.comエディション|https://github.com/TiddlyWiki/TiddlyWiki5/blob/master/editions/tw5.com/tiddlywiki.info#L26]]の一部である外部画像が作成されます。ファイルは出力ディレクトリに作成されます。\n\n```\ntiddlywiki .\\editions\\tw5.com --build index\n```\n\n! 外部画像の使用について\n\nURIフィールドを別の画像を指すように変更しない限り、ブラウザで外部画像を直接編集することはできません。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/concepts/Filters.tid",
    "content": "created: 20130827080000000\nlist: [[Introduction to filter notation]] [[Filter Syntax]]\nmodified: 20250218103107943\noriginal-modified: 20230710074511095\ntags: Reference Concepts TableOfContents\ntitle: Filters\nja-title: フィルタ\ntype: text/vnd.tiddlywiki\n\n\\define openAdvancedSearch()\n<$action-setfield $tiddler=\"$:/state/tab--1498284803\" text=\"$:/core/ui/AdvancedSearch/Filter\"/>\n<$action-setfield $tiddler=\"$:/temp/advancedsearch/input\" text=\"[tag[Filters]]\"/>\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" text=\"[tag[Filters]]\"/>\n\\end\n\nTiddlyWikiは、レコードがTiddlerであるデータベースと考えることができます。データベースは通常、どのレコードが特定のパターンに一致するかを発見する方法を提供します。~TiddlyWikiでは、これはフィルタを使用して行われます\n\n<<.def フィルタ>>は、その<<.def \"アウトプット\">>として特定の[[Tiddlerセット|Title Selection]]を選択するための簡潔な表記法です。~TiddlyWikiはフィルタに遭遇するたびにアウトプットを計算します。その後、それらのTiddlerを使って、[[数を数え|CountWidget]]たり、[[リストし|ListWidget]]たりするなど、さらなる処理を行うことができます\n\n次の例では、フィルタを<<.mlink list-links>>マクロに渡します。<<.olink2 tag tag>> <<.word フィルタ>>であるTiddlerのリストを表示します:\n\n<<wikitext-example-without-html \"\"\"<<list-links \"[tag[Filters]]\">>\"\"\" >>\n\nWiki内でTiddlerが追加や削除されると、フィルタのアウトプットが変更される可能性があります。~TiddlyWikiは即再計算し、フィルタベースのカウントやリストも自動的に更新します\n\n''さらに詳細:''\n\n* <$linkcatcher message=\"tm-navigate\" actions=<<openAdvancedSearch>> >[[高度な検索|$:/AdvancedSearch]]</$linkcatcher> -- フィルタを簡単に試すことができる<<.advancedsearch-tab Filter>>タブがあります\n\n* [[フィルタされたトランスクルージョン|Transclusion in WikiText]] -- テキスト内でフィルタ結果を使用したい場合\n* [[フィルタのシンタックスの歴史|Filter Syntax History]] -- フィルタのシンタックスがなぜそのようになっているのか知りたい場合\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/concepts/InfoPanel.tid",
    "content": "created: 20150917193630604\nmodified: 20241212114212647 \noriginal-modified: 20201129183045031\ntags: Features\ntitle: InfoPanel\nja-title: 情報パネル\ntype: text/vnd.tiddlywiki\n\n各Tiddlerには追加情報のパネルがあります。それを表示するには、Tiddlerのツールバーの<<.icon $:/core/images/down-arrow>>ボタンをクリックし、ドロップダウンリストから<<.icon $:/core/images/info-button>> ''情報''を選択します。\n\n情報パネルには次のタブがあります。:\n\n* ''ツール'' - このTiddlerで実行できるさまざまなアクションのボタンがあります。各ボタンの横にあるチェックボックスを使用すると、アクションをTiddlerのツールバーに昇格できます。これは、Wiki内のすべてのTiddlerに影響します\n* ''参照''、''この名でタグ付''、''一覧''、''被リスト'' - これらはさまざまな種類の関連するTiddlerをリストします。[[リンクを使用してTiddler間を移動する|Using links to navigate between tiddlers]]ティドラー間の移動にリンクを使用するを参照してください\n* ''項目'' - Tiddlerの''テキスト''以外の[[フィールド|TiddlerFields]]をすべてまとめたものです\n* ''詳細'' - これは、Tiddlerが[[隠し|ShadowTiddlers]]であるかどうかを示します。隠しである場合、どのプラグインからのものか、通常のTiddlerによって上書きされているかどうかも明らかになります\n\n情報パネルを閉じるには、情報パネルの外側の任意の場所をクリックします。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/concepts/Order of Tagged Tiddlers.tid",
    "content": "created: 20150124125646000\nmodified: 20241108113832769\noriginal-modified: 20220729141540007\ntags: Tagging\ntitle: Order of Tagged Tiddlers\nja-title: タグ付きTiddlerの順序\ntype: text/vnd.tiddlywiki\n\n~TiddlyWikiは、特定のタグを持つTiddlerのリスト(たとえば、タグピルのドロップダウンリストなど)を生成するときに、次のルールを使用してTiddlerを並べます: \n\n# タグTiddlerの<<.field list>>フィールドで[[指定されて|Title List]]いるものから、そこに指定された順序で開始します。\n\n# 残りのTiddler<<.place T>>で、<<.field list-before>>フィールドを探します。この値にTiddlerタイトルが含まれる場合は、その<<.em 直前>>に<<.place T>>を配置します。\n#* 特別なケースとして、フィールドは存在するがその値が空の場合は、リストの先頭に<<.place T>>を配置します。\n\n# 残りのTiddler<<.place T>>で、<<.field list-after>>フィールドを探します。この値にTiddlerタイトルが含まれる場合は、その<<.em 直後>>にTiddler<<.place T>>を配置します。\n\n#* 特別なケースとして、フィールドは存在するがその値が空の場合は、リストの一番最後に<<.place T>>を配置します。\n\n# まだ残っているTiddlerがある場合は、タイトルのアルファベットの昇順でリストの最後に配置します。大文字小文字の違いは無視されます。\n\n特定のタグが付いたTiddlerの順序は、タグピルドロップダウン内でドラッグアンドドロップを使用して直接変更できます。基礎となる[[list-tagged-draggableマクロ|list-tagged-draggable Macro]]は、他の場所でも使用できます。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/concepts/PermaLinks.tid",
    "content": "created: 20140502213500000\nmodified: 20241216111540858\noriginal-modified: 20210406131243532\ntags: Features Concepts\ntitle: PermaLinks\nja-title: パーマリンク\ntype: text/vnd.tiddlywiki\n\nパーマリンクを使用すると、TiddlyWiki内の個々のTiddlerへの直接リンクが可能になります。\n\n! シンプルなパーマリンク\n\nパーマリンク(<<.icon $:/core/images/permalink-button>>)の最も単純な形式は、`#`をともなうベースURLに1つのターゲットTiddlerタイトルを追加したものです:\n\nhttps://tiddlywiki.com/#HelloThere\n\n必要なら、Tiddlerタイトルにスペースを含めることができます: \n\n[[https://tiddlywiki.com/#Using TiddlyWiki on Node.js]]\n\nターゲットTiddlerのタイトルを囲む二重角括弧は不要であることに注意してください。ただし、存在する場合は暗黙的に削除されます。\n\n! ストーリーのパーマリンク\n\nパーマリンクでは、対象のTiddlerと一緒に開くTiddlerのストーリーリストを[[Tiddlerフィルター|Filters]]として指定することもできます: \n\n[[https://tiddlywiki.com/#TiddlerFields:Tiddlers TiddlerTags TiddlerFields ContentType]]\n\nターゲットTiddlerがストーリーリストに存在しない場合は、自動的に先頭に挿入されます。つまり、次の2つの例はどちらもストーリーシーケンス`Tiddlers`、`Tags`、`TiddlerFields`内の`Tiddlers`Tiddlerをターゲットにしています: \n\n[[https://tiddlywiki.com/#Tiddlers:Tags TiddlerFields]]\n\n[[https://tiddlywiki.com/#Tiddlers:Tiddlers Tags TiddlerFields]]\n\nナビゲーションのターゲットTiddlerを指定せずにストーリーフィルターを指定することもできます: \n\n<a href=\"https://tiddlywiki.com/#:[tag[task]]\" rel=\"noopener noreferrer\">~https://tiddlywiki.com/#:[tag[task]]</a>\n\n! URLエンコードについて\n\nURLフラグメント内の有効な文字には技術的な制限があります。すべてのTiddlerタイトルに対応できるようにするために、不正な文字は\"URL エンコード\"と呼ばれるプロセスの対象となり、問題のある文字は数値コードに置き換えられます。たとえば、スペース文字は`%20`に置き換えられます。\n\nターゲットTiddlerのタイトルとストーリーフィルターは両方ともURLエンコードされている必要があります(区切りのコロンはエンコードされません)。TiddlyWikiは適切にエンコードされたURLを生成しますが、見た目がかなり醜い場合があります。ただし、実際には、ブラウザーは通常、URLフラグメント内の任意の文字を問題なく処理します。したがって、パーマリンクを手動で作成する場合は、URLエンコードを無視することを選択できます。\n\n! パーマリンクの動作\n\nTiddlyWikiのパーマリンクの動作に関する2つの重要な側面は、[[コントロールパネル|$:/ControlPanel]] <<.icon $:/core/images/options-button>>の''設定''タブのオプションで制御できます: \n\n* 各ナビゲーションでアドレスバーを自動的に更新するかどうか、また更新する場合は、対象のTiddlerだけでなくストーリーシーケンスも含めるかどうか\n* アドレスバーの更新がブラウザの履歴に反映されるかどうか。デフォルトは''いいえ''です。 ''はい''に切り替えると、ブラウザの「戻る」ボタンと「進む」ボタンを使用して、Tiddler間のナビゲーションを巻き戻すことができます\n\nパーマリンクを入力または移動すると、常にパーマリンクが処理され、Tiddlerが適宜開閉されることに注意してください。\n\n!! 技術詳細\n\nTiddlyWikiが起動すると、以下の手順に従ってパーマリンクを処理します。パーマリンクが動的に変更される場合(たとえば、ユーザーがアドレスバーを編集したことに応じて変更される場合)、同じ手順が繰り返されます。\n\n# パーマリンクにコロンが含まれている場合は、その前の文字列を''ターゲット''として扱い、その後ろの文字列を''ストーリーフィルター''として扱います\n# パーマリンクにコロンが含まれていない場合は、文字列全体を''ターゲット''として扱い、''ストーリーフィルター''を//未指定//としてマークします\n# ''ストーリーフィルター''が指定されておらず、起動中の場合、''ターゲット''が指定されている場合は''ストーリーフィルター''を空の文字列に設定し、''ターゲット''が指定されていない場合はデフォルトのTiddlerに設定します\n# ''ストーリーフィルター''が指定されておらず、起動中でない場合は、''ストーリーフィルター''を現在のストーリーリストに設定します\n# ''ストーリーフィルター''を''ストーリーリスト''として評価します\n# ''ターゲット''が指定されていて''ストーリーリスト''にない場合は、一番上に追加します\n# ''ターゲット''が指定されている場合はそこに移動し、そうでない場合は''ストーリーリスト''の最初のTiddlerに移動します\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/concepts/Selection Constructors.tid",
    "content": "created: 20150117204109000\nmodified: 20250222112113766\noriginal-modified: 20240708201746542\ntags: Filters\ntitle: Selection Constructors\nja-title: セレクションコンストラクタ\ntype: text/vnd.tiddlywiki\n\n[[フィルタステップ|Filter Step]]のアウトプットはその[[オペレータ|Filter Operators]]によって異なります: \n\n* ほとんどのオペレータは、インプットからアウトプットを派生します。たとえば、それらの多くはインプットのサブセットをアウトプットし、まさに<<.word フィルタ>>の名にふさわしく、含んでいる[[ラン|Filter Run]]の全体的なアウトプットを絞り込みます。これらのオペレータは<<.def \"セレクションモディファイア\">>と呼ばれます。\n\n* いくつかのオペレータはインプットを無視し、代わりに独立したアウトプットを生成します。これらは<<.def \"セレクションコンストラクタ\">>と呼ばれ、完全に新しい[[セレクション|Title Selection]]を構築します。\n\nコンストラクタの良い例は<<.olink title>>です。`[title[A]title[B]]`のアウトプットは<<.tid B>>です。しかし、<<.olink field>>オペレータはモディファイアなので、`[title[A]field:title[B]`は何もアウトプットしません。\n\n次の[[フィルタオペレータ|filter Operator]]は<<tag>>でタグ付けされています:\n\n<<list-links \"[tag<currentTiddler>]\" class:\"multi-columns\">>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/concepts/TagTiddlers.tid",
    "content": "created: 20141228094500000\nmodified: 20241109111147545\noriginal-modified: 20211127135914596\ntags: Tagging\ntitle: TagTiddlers\nja-title: タグTiddler\ntype: text/vnd.tiddlywiki\n\nタグTiddlerは、タグとして使用されているTiddlerです。\n\nタグTiddlerの[[情報パネル|InfoPanel]]の''この名でタグ付''タブには、タグTiddlerでタグ付けされているTiddlerが表示されます。\n\nタグは、対応するタグTiddlerがなくても使用できます。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/concepts/TiddlyWikiFolders.tid",
    "content": "created: 20130825214200000\nmodified: 20250203103623306\noriginal-modified: 20161015134454785\ntags: [[TiddlyWiki on Node.js]]\ntitle: TiddlyWikiFolders\nja-title: TiddlyWikiフォルダ\ntype: text/vnd.tiddlywiki\n\n[[Node.js上のTiddlyWiki|TiddlyWiki on Node.js]]は、従来の単一ファイルWikiと同様に、フォルダーに保存される個々のTiddlerファイルのWikiもサポートします。\n\n! Wikiフォルダ構造\n\nWikiフォルダーには、次のファイルとフォルダーを含めることができます: \n\n* ''tiddlywiki.info'' - Wikiのメタデータを含むJSONファイル -- [[tiddlywiki.infoファイル|tiddlywiki.info Files]]を参照\n* ''\\tiddlers'' - Wikiを構成するTiddlerファイルを含むフォルダ\n* ''\\plugins'' - Wikiに含める[[プラグインフォルダ|PluginFolders]]を含むフォルダ\n* ''\\languages'' - Wikiに含める言語プラグインの[[プラグインフォルダ|PluginFolders]]を含むフォルダ\n* ''\\themes'' - Wikiに含めるテーマプラグインの[[プラグインフォルダ|PluginFolders]]を含むフォルダ\n\n''tiddlywiki.info''ファイルのみが必須で、その他はすべてオプションです。上記にリストされていないファイルとフォルダーは無視されます。\n\n!! プラグイン処理\n\nブラウザで使用できるようにするには、プラグインをWikiに含める必要があります。サーバー上で生成されるWikiの場合、[[TiddlyWikiフォルダ|TiddlyWikiFolders]]には、このWikiに含めるプラグインの識別を[[tiddlywiki.infoファイル|tiddlywiki.info Files]]に含めることができます:\n\n```\n{\n\t\"plugins\": [\n\t\t\"tiddlywiki/slider\",\n\t\t\"tiddlytools/chooser\"\n\t]\n}\n```\n\nプラグイン名は、TiddlyWiki5のルート`plugins`フォルダーにリストされているプラ​​グインフォルダーを参照します。プラグインは、Wikiの`plugins`サブフォルダーにコピーして手動で含めることもできます。\n\n!! `tiddlers`フォルダの処理\n\n`tiddlers`フォルダー内のすべての[[Tiddlerファイル|TiddlerFiles]]は、起動時にWikiに読み込まれます。サブフォルダーは[[Tiddlerファイル|TiddlerFiles]]の再帰スキャンの対象となります。新しく作成されたTiddlerは、[[特に設定されて|Customising Tiddler File Naming]]いない限り、`tiddlers`フォルダーの直下の[[Tiddlerファイル|TiddlerFiles]]に保存されます。\n\n`tiddlers`フォルダー内のサブフォルダーのデフォルトの処理は、`tiddlywiki.files`と呼ばれるJSONファイルを提供することで上書きできます -- [[tiddlywiki.filesファイル|tiddlywiki.files Files]]を参照。"
  },
  {
    "path": "editions/ja-JP/tiddlers/customising/Alternative page layouts.tid",
    "content": "created: 20201123172925848\nmodified: 20241111112628221\noriginal-modified: 20240801020629394\ntags: [[Customise TiddlyWiki]]\ntitle: Alternative page layouts\nja-title: ページレイアウトを変更する\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.23\">>複数のページレイアウトを用意し、切り替えることができます。使用可能なレイアウトのリストを表示し、レイアウトを切り替えるには、キーボードショートカット<kbd><<displayshortcuts ((layout-switcher))>></kbd>を使用します\n\n!ページレイアウトの作成\n\n代替のレイアウトを作成すると、デフォルトのインターフェイスである[[標準レイアウト|$:/core/ui/PageTemplate]]に[[機能の追加・削除|Customising TiddlyWiki's user interface]]だけでなく、まったく新しいレイアウトを作成することもできます。\n\n代替のページレイアウトを作成し、切り替えることができるようにするには、[[SystemTag: $:/tags/Layout]]を使用して代替ページテンプレートTiddlerを作成します。\n\nこの代替ページテンプレートは、[[デフォルトのページテンプレート|$:/core/ui/PageTemplate]]を、微調整して修正したバージョンであることも、まったく異なるものを作成することもできます。レイアウト切り替えメカニズムでは、ページテンプレートTiddlerに`name`と`description` \nフィールドが必要です。これらのフィールドは、ユーザーインターフェイス切り替えのリストで使用されます。\n\n!! 共通レイアウト設定\n\n```tid\n\\whitespace trim\n\\import [subfilter{$:/core/config/GlobalImportFilter}]\n\\define containerClasses()\ntc-page-container tc-language-$(languageTitle)$ your-plugin-name-container\n\\end\n\\procedure redirected-navigate-actions()\n  <$action-setfield $tiddler=\"$:/layout\" text=\"\" $timestamp=\"no\" />\n  <$action-navigate $to=<<event-navigateTo>> $scroll=\"yes\" />\n\\end\n\n<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\n\t<$messagecatcher $tm-navigate=<<redirected-navigate-actions>>>\n\t\t{{$:/core/ui/CommandPaletteTemplate}}\n\t\t<div class=<<containerClasses>>>\n\t\t\t<!-- Your layout content here -->\n\t\t</div>\n\t</$messagecatcher>\n</$navigator>\n```\n\n以下を含んでいます\n\n# 標準レイアウトでグローバルに使用できるマクロをインポートすると、標準レイアウトで機能するWikiテキストが独自レイアウトでも機能します。\n# トップレベルのCSSクラスを定義します。一部のスタイルはそれに依存する場合があります。ここで、CSSクラスにプラグインの名前を追加できます。\n# リンクをクリックしたときにナビゲーションを処理します。レイアウトにストーリービューが含まれていない場合(たとえば、カレンダーやホワイトボードレイアウトを作成している場合)、`redirected-navigate-actions` `$navigator`と`$messagecatcher`の組み合わせにより、ユーザーは標準レイアウトにリダイレクトされ、そこでTiddlerが表示されます。\n# 独自レイアウト上に、たとえば、`$:/core/ui/CommandPaletteTemplate`や`$:/core/ui/PageTemplate/sidebar`などを配置したい場合は、[[PageTemplate|$:/tags/PageTemplate]]を再度追加します。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/customising/Configuring startup tiddlers.tid",
    "content": "created: 20180305174809089\nmodified: 20241112113136035\noriginal-modified: 20180306161405033\ntags: [[Customise TiddlyWiki]]\ntitle: Configuring startup tiddlers\nja-title: スタートアップTiddlerを構成する\ntype: text/vnd.tiddlywiki\n\n[[デフォルトTiddler|DefaultTiddlers]]メカニズムを使用して、一つ、もしくは、複数のTiddlerを起動時に表示するように、~TiddlyWikiを設定できます。\n\nコントロールパネルの情報タブの下には、「このファイルを開いたときに初期表示されるTiddlerを設定してください」という説明のある入力フィールドがあります。起動時に表示したいTiddlerを列挙します。スペースを含むタイトルには二重角括弧を使用します。例えば: \n\n```\nFirstTiddler\nSecondTiddler\n[[Third Tiddler]]\n```\n\n[[フィルター式|Filter Expression]]を使用して、複数のTiddlerを開くこともできます。例えば: \n\n```\n[tag[HelloThere]]\n```\n\nは、<<tag HelloThere>>でタグ付けされたすべてのTiddlerを表示します。\n\n[[開いているtiddlerを起動時に保持する|Preserving open tiddlers at startup]]のテクニックを使用することもできます。\n\n起動時の動作をより高度に制御するには、[[起動時アクション|StartupActions]]も参照してください。"
  },
  {
    "path": "editions/ja-JP/tiddlers/customising/Creating new toolbar buttons.tid",
    "content": "created: 20211124205415217\nmodified: 20241114113201979\noriginal-modified: 20230803050345698\ntags: [[Customise TiddlyWiki]]\ntitle: Creating new toolbar buttons\nja-title: ツールバーボタンを新しく作成する\ntype: text/vnd.tiddlywiki\n\n'レシピテンプレート'というスケルトンTiddlerを使って、オンデマンドで新しいレシピTiddlerを作成するためにViewToolbar Tiddlerで使用できるボタンを用意したいとします。これには次の手順が必要になります:\n\n# ボタンには画像が必要になります。コアイメージ($:/core/images/で始まる名前のシャドウTiddler)がどれも適合しない場合は、SVGイメージ(たとえば、 http://flaticon.com にあるイメージの一つ)をファイルにドラッグしてTiddlerにし、Tiddlerを編集して高さと幅がを22pxに調整します。\n# そのTiddlerを含むTiddlerを作成するとよいでしょう。Tiddlerを作成し、タイトルを付け、ボタンのコードを追加します(例として、下記のコードを参照してください。変更が必要な箇所にはヒントが含まれています)。[[$:/tags/ViewToolbar]]のタグを付けます。\n# ボタンをツールバーに表示するか非表示にするかをTiddlyWikiに伝えるTiddlerを作成する必要があります。[[$:/config/ViewToolbarButtons/Visibility/Recipe]]というタイトルにします。テキスト領域に`show`と入力して保存します。非表示にしたい場合は、テキスト領域に`hide`と入力して保存します。このボタンには、''コントロールパネル : 外観 : ツールバー : 閲覧画面''タブからもアクセスできます。\n# ボタンを適切な位置に配置する場合は、$:/tags/ViewToolbar Tiddlerを開き、ボタンTiddlerのタイトルをリストフィールドの適切な場所に挿入します。\n\n```\n\\define newHereButtonTags()\n[[$(currentTiddler)$]]\n\\end\n\\define newHereButton()\n<$button class=<<tv-config-toolbar-class>>>\n<$action-sendmessage\n  $message=\"tm-new-tiddler\"\n$param=\"TITLE OF YOUR SKELETON BUTTON\"\ntitle=\"New tiddler\"\n  tags=<<newHereButtonTags>> />\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{TITLE OF YOUR SVG IMAGE TIDDLER}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text=\"CAPTION FOR YOUR BUTTON\"/></span>\n</$list>\n</$button>\n\\end\n\n<<newHereButton>>\n```"
  },
  {
    "path": "editions/ja-JP/tiddlers/customising/Customise TiddlyWiki.tid",
    "content": "created: 20140904101600000\nlist: [[Adding a table of contents to the sidebar]] [[Alternative page layouts]] [[Configuring startup tiddlers]] [[Configuring the default TiddlerInfo tab]] [[Creating a custom export format]] [[Creating a splash screen]] [[Creating new toolbar buttons]] [[Customising search results]] [[Customising TiddlyWiki's user interface]] [[Hidden Settings]] [[How to add a new tab to the sidebar]] [[How to apply custom styles]] [[How to create a custom story tiddler template]] [[How to create a custom tiddler icon rule]] [[How to create a custom tiddler colour rule]] [[How to create keyboard shortcuts]] [[How to turn off camel case linking]] [[How to widen tiddlers (aka storyriver)]] [[Making a custom journal button]] [[Preserving open tiddlers at startup]] [[Setting a favicon]] [[Setting a page background image]] [[Using Stylesheets]]\nmodified: 20241110115757128\noriginal-modified: 20211206162235300\ntags: TableOfContents\ntitle: Customise TiddlyWiki\nja-title: TiddlyWikiのカスタマイズ\ntype: text/vnd.tiddlywiki\n\nTiddlyWikiのカスタマイズに関する情報。採用されているメカニズムの概要については、[[TiddlyWikiのユーザーインターフェイスをカスタマイズする|Customising TiddlyWiki's user interface]]を参照してください。\n\n<<list-links \"[tag[Customise TiddlyWiki]]\">>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/customising/Customising TiddlyWiki's user interface.tid",
    "content": "created: 20211127084727217\nmodified: 20241115113055145\noriginal-modified: 20211204120054422\ntags: [[Customise TiddlyWiki]]\ntitle: Customising TiddlyWiki's user interface\nja-title: TiddlyWikiのユーザーインターフェイスのカスタマイズ\ntype: text/vnd.tiddlywiki\n\nTiddlyWikiのユーザーインターフェイスは、高度に拡張できるように設計されています。すべての要素は、追加、削除、または再配置することができます\n\nこれを実現するために、いくつかの異なるメカニズムが使用されます: \n\n* 特殊フィールド\n* 特殊タイトル\n* 特殊タグ\n* カスケード\n\nこれらのメカニズムの概要と、それらがどのように相互に関連しているかを説明します\n\n!! 特殊フィールド\n\n特殊フィールドは、個々のTiddlerに外観や動作を割り当てるために使用されます。これらは、適用されるTiddlerを直接制御するフラグや値と考えることができます\n\n例:\n\n* `icon`フィールドは、Tiddlerのアイコンとして使用する画像Tiddlerのタイトルを設定します\n* `color`フィールドは、Tiddlerに関連付けられたアイコンとタグマークのCSSカラーを設定します\n* `hide-body`フィールドは、`yes` にすると、Tiddlerのビューテンプレートのボディを非表示にします\n\nすべての特別フィールドの詳細については、[[Tiddlerフィールド|TiddlerFields]]を参照してください\n\n!! 特殊タイトル\n\n特定の特殊タイトルは、TiddlyWikiの外観や動作をカスタマイズする設定用のTiddlerです。これらは、Wiki全体に影響するグローバル設定と考えることができます\n\n例:\n\n* $:/DefaultTiddlersは、起動時に表示されるTiddlerのタイトルを生成するフィルターです\n* $:/SiteTitleは、Wikiタイトルのテキストを指定します\n* $:/config/Tags/MinLengthは、タグのオートコンプリートをトリガーする最小文字数を制御します\n\nTiddlyWikiの設定に関するTiddlerの多くは、[[$:/ControlPanel]]にオプションとして表示されます。あまり一般的には使用されない設定用のTiddlerにはユーザーインターフェイスがありませんが、[[隠し設定|Hidden Settings]]に文書化されています\n\n!! 特殊タグ\n\n特殊タグは、それらが適用されるすべてのTiddlerに特別な動作や外観を割り当てます。これらは、特定の方法で処理される、または、表示されるTiddlerの順序付きリストを確立すると考えることができます\n\n例:\n\n* $:/tags/Globalにより、Tiddler内の定義がグローバルに有効になります\n* $:/tags/Stylesheetにより、TiddlerがCSSスタイルシートとして解釈されます\n* $:/tags/SideBarにより、Tiddlerがサイドバーのタブとして表示されます\n\nすべての特殊タグの詳細については、[[システムタグ|SystemTags]]を参照してください\n\nTiddlyWikiのユーザーインターフェース全体は、特殊システムタグから形成されたリストから構築されています\n\nこれらのリストの順序は、[[タグ付けされたTiddlerの順序|Order of Tagged Tiddlers]]ルールによって決まります。ユーザーは、タグドロップダウン内でドラッグアンドドロップを使用してタグを並べ替えることができます\n\n!! カスケード\n\nカスケードは、柔軟で拡張可能な基準に基づいて複数の値の1つを選択する手段を提供します。これらは、条件の1つが一致するまで順番に評価される条件のリストと考えることができます\n\n例えば、コアは表示モードではテンプレート$:/core/ui/ViewTemplateを使用してTiddlerを表示し、編集モードではテンプレート$:/core/ui/EditTemplateを使用して Tiddlerを表示します。カスケードは、特定のTiddlerに使用するテンプレートを選択するために使用されます\n\n# Tiddlerがドラフトの場合は、$:/core/ui/EditTemplateを使用します\n# それ以外の場合は、$:/core/ui/ViewTemplateを使用します\n\n条件のリストは特殊タグを介して定義されるため、リスト内の任意の場所に追加の条件を挿入できます\n\n例えば、プラグインは追加のルールを挿入することで、タグ[[$:/tags/Map]]を持つTiddler用の特別なテンプレート$:/plugins/example/map-templateを追加できます: \n\n# Tiddlerがドラフトの場合は、$:/core/ui/EditTemplateを使用します\n# @@background: yellow; Tiddlerに$:/tags/Mapタグが付けられている場合は、$:/plugins/example/map-templateを使用します@@\n# それ以外の場合は、$:/core/ui/ViewTemplateを使用します\n\n詳細については、[[カスケード|Cascades]]を参照してください"
  },
  {
    "path": "editions/ja-JP/tiddlers/customising/Customising search results.tid",
    "content": "created: 20141027151552783\nmodified: 20241115112411640\noriginal-modified: 20201207181116804\ntags: [[Customise TiddlyWiki]]\ntitle: Customising search results\nja-title: 検索結果のカスタマイズ\ntype: text/vnd.tiddlywiki\n\nデフォルトでは、サイドバーの検索ボックスの結果は、Tiddlerタイトルの単純なリストとして表示されます。検索結果は、さまざまな方法でプラグイン視覚エフェクトを追加することでカスタマイズできます(追加の検索結果の視覚エフェクトが検出された場合、タブが自動的に表示されます)\n\n検索結果の視覚エフェクトは、[[$:/tags/SearchResults]]タグが付いたTiddlerに保存されます。デフォルトの検索結果リストは、システムTiddler[[$:/core/ui/DefaultSearchResultList]]に実装されています\n\n新しい検索結果の視覚エフェクトを作成するには:\n\n# [[$:/tags/SearchResults]]タグを付けた新しいTiddlerを作成します\n# ウィジェット変数''searchTiddler''を使用して、現在の検索用語を含むTiddlerのタイトルにアクセスします\n\n新しい視覚エフェクトをデフォルトにしたい場合は、デフォルトで表示したい検索視覚エフェクトを含むTiddlerのタイトルを含む[[$:/config/SearchResults/Default]]という名前のTiddlerを作成します\n\n以下は、結果を時系列の逆順に表示する別の視覚エフェクトの例です: \n\n```\n\\define searchResults()\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[!is[system]search{$(searchTiddler)$}]\"/>\"\"\">\n\n{{$:/language/Search/Matches}}\n\n</$set>\n<<timeline subfilter:\"!is[system]search{$(searchTiddler)$}\">>\n\\end\n<<searchResults>>\n```\n\n<<.from-version 5.1.23>>サイドバー検索に、キーボードショートカット<kbd><<displayshortcuts ((input-down))>></kbd>と<kbd><<displayshortcuts ((input-up))>></kbd>を使用して検索結果をナビゲートできる、より洗練された検索メカニズムが導入します\n\n# <<tag-pill \"$:/tags/SearchResults\">>のタグ付けされたTiddlerは、<<.var configTiddler>>変数を通じてアクセスできます\n# 検索フィールドへのユーザ入力には、<<.var userInput>>変数を通じてアクセスできます\n# フィールド<<.field first-search-filter>>とフィールド<<.field second-search-filter>>を使用して、検索結果に使用されるフィルターを保存します。詳細については、Tiddler $:/core/ui/DefaultSearchResultListを参照してください\n# ナビゲートされた検索結果が強調表示されるように次のフォームを使用し、ニーズに合わせて変更します:\n\n```\n<$list filter=\"[<userInput>minlength[1]]\" variable=\"ignore\">\n<$list filter={{{ [<configTiddler>get[first-search-filter]] }}}>\n<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[<searchListState>get[text]] +[then[]else[tc-list-item-selected]] }}}>\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n</span>\n</$list>\n</$list>\n```\n\n<$macrocall $name=\".tip\" _=\"<<.var searchTiddler>>変数には、検索結果の並べ替えに使用されるTiddlerの名前がまだ含まれていることに注意してください。<<.var editTiddler>>変数には、編集中のTiddlerの名前が含まれます\"/>"
  },
  {
    "path": "editions/ja-JP/tiddlers/definitions/TiddlyDesktop.tid",
    "content": "created: 20140126125259638\nmodified: 20241227104451970\noriginal-modified: 20171118195316103\ntags: Definitions Platforms\ntitle: TiddlyDesktop\nja-title: TiddlyDesktop\ntype: text/vnd.tiddlywiki\n\nTiddlyDesktopは、TiddlyWikiファイル(TiddlyWikiClassicとTiddlyWikiバージョン5の両方)を操作するためのアプリです。Windowsや、Mac OS X、Linuxにインストールできます。TiddlyWikiバージョン5と古いTiddlyWikiClassicと互換性があります\n\n{{Saving on TiddlyDesktop}}\n\n{{Introducing TiddlyDesktop Video}}\n\n! ソース\n\nTiddlyDesktopは、[[オープンソース|OpenSource]]プロジェクト[[NW.js]]をベースにしています。ソースはGitHubにあります:\n\nhttps://github.com/TiddlyWiki/TiddlyDesktop/\n\n[[TiddlyDesktopのリリース|TiddlyDesktop Releases]]と[[TiddlyDesktopのカスタマイズ方法|How to Customize TiddlyDesktop]]を参照してください"
  },
  {
    "path": "editions/ja-JP/tiddlers/demonstrations/KeyboardDrivenInput/Demonstration_ keyboard-driven-input Macro.tid",
    "content": "created: 20210222140234737\nmodified: 20241019104919003\noriginal-modified: 20211123034501278\ntags: Learning KeyboardDrivenInput\ntitle: Demonstration: keyboard-driven-input Macro\nja-title: デモ: キーボード入力マクロ\ntype: text/vnd.tiddlywiki\n\n\\define allshortcuts(descriptor)\n<$wikify name=scutlist text=<<displayshortcuts (($descriptor$)) '' ' ' ''>> >\n<$list filter=\"[<scutlist>split[ ]join[</kbd>や<kbd>]addprefix[<kbd>]addsuffix[</kbd>]]\" variable=scts><<scts>></$list>\n</$wikify>\n\\end\n\n\\define kdi-demo-textmacrocall()\n```\n<$macrocall $name=keyboard-driven-input \n        tiddler=\"$(tiddler)$\"\n        storeTitle=\"$(storeTitle)$\" \n        selectionStateTitle=\"$(selectionStateTitle)$\" \n        configTiddlerFilter=\"$(configTiddlerFilter)$\" \n />\n```\n\\end\n\n<$vars configTiddlerFilter=\"[[kdi-demo-configtid]]\" tiddler=\"kdi-demo-tiddler\" storeTitle=\"kdi-demo-storeTitle\" selectionStateTitle=\"kdi-demo-selectionStateTitle\" >\n\n[[キーボード入力マクロ|keyboard-driven-input Macro]]は、ユーザーの入力に応じて更新されるフィルターされたリストを作成するために使用されます。また、キーボードを使用してリストをナビゲートしたり、リスト項目を使用してマクロを呼び出したりすることもできます。\n\nこれは、[[キーボードウィジェット|KeyboardWidget]]でラップされた''[[編集テキストウィジェット|EditTextWidget]]''で構成されています。`((input-accept))`、`((input-accept-variant))`、および`((input-cancel))`キーボードショートカットをリッスンする<<.def keyboard>>ウィジェットがありますが、これらのイベントに応答するデフォルトの動作はありません。マクロをユースケースに合わせて記述する必要があります。また、フィルターされたオプションリストのデフォルトの視覚化も定まっていません。\n\n!!<<.var keyboard-driven-input>>マクロによって処理されるキーボード入力の種類: \n\n!!!設定不可: \n\n次のキーボードイベントは、[[$:/core/macros/keyboard-driven-input]]の<<.var keyboard-driven-input>>で定義されているマクロを呼び出します。\n\n|入力 |目的 |マクロ |h\n|タイプ入力 |リストフィルター内で使用される文字列を作成する |<<.var keyboard-input-actions>> |\n|`((input-up))` (<<allshortcuts input-up>>) |フィルタリングされたリスト内の前の項目を一時的に選択する |パタメータ<<.param afterOrBefore>>=`\"before\"`、<<.param reverse>>=`\"reverse[]\"`付きの<<.var input-next-actions>> |\n|`((input-down))` (<<allshortcuts input-down>>) |フィルタリングされたリスト内の次の項目を一時的に選択する |パラメータ<<.param afterOrBefore>>=`\"after\"`、<<.param reverse>>=`\"\"`付きの<<.var input-next-actions>> |\n\n上記のすべてのアクションは、<<.var keyboard-driven-input>>がマクロのパラメータを使用して指定されたTiddler内に保持されるデータを生成または変更します。その後、キーボードショートカットによって呼び出されるマクロだけでなく、例えばフィルタリングされたリストを表示するマクロなど、これらの外部もデータにアクセスできます。\n\n!!!パラメータで設定可能:\n\n次のキーボードイベントは、<<.var keyboard-driven-input>>にパラメータで名前が指定されているマクロを呼び出します。パラメータ名から目的が推測されますが、[[$:/core/macros/keyboard-driven-input]]内にはデフォルトのマクロは定義されていません。\n\n|[[キーボードショートカット記述 |Keyboard Shortcut Descriptor]] |キーの組み合わせ |パタメーター |h\n|`((input-accept))` |<<allshortcuts input-accept>> |<<.param inputAcceptActions>> |\n|`((input-accept-variant))` |<<allshortcuts input-accept-variant>> |<<.param inputAcceptVariantActions>> |\n|`((input-cancel))` |<<allshortcuts input-cancel>> |<<.param inputCancelActions>> |\n\n<<.var keyboard-driven-input>> は、TiddlyWikiのさまざまなコア機能の一部として動作しているのを見ることができます。たとえば、[[検索機能|Searching in TiddlyWiki]]、[[tag-pickerマクロ|tag-picker Macro]]、[[リンクの挿入|Insert link]]のような[[エディターツールバー|Editor toolbar]]のドロップダウンインターフェースなどです。\n\n!!デモに必要な最小限の材料\n\n<<.var keyboard-driven-input>>マクロ自体はリストの結果を表示したり、選択されたオプションに対して何かを実行したりしないことを念頭に置いて、<<.var keyboard-driven-input>>マクロの最小限のデモンストレーションには以下が必要です: \n\n# ユーザーのテキスト入力に応じて結果が変化する''フィルターを含むTiddler''は、ユーザーが選択できるオプションを生成すること\n# ''いくつかのパラメータ:''\n#*ステップ1で説明したフィルタが見つかるTiddlerのタイトルを返す''フィルタ''\n#*入力イベントに応答して状態情報を格納するために使用する''Tiddler タイトル''。これらのTiddlerは既に存在している必要はありません。存在する場合は、<<.var keyboard-driven-input>>マクロによってその内容が変更されます。\n\n!!検索フィルター\n\nデフォルトでは、Tiddler(そのタイトルは、以下で説明するパラメータで指定されます)の<<.field first-search-filter>>と<<.field second-search-filter>>フィールドでフィルターを検索します。\n\nこのフィルタは、<<.var userInput>>と呼ばれる変数を参照できます。この変数は、最新の<kbd><<displayshortcuts ((input-up))>></kbd>や<kbd><<displayshortcuts ((input-down))>></kbd>イベントの発生時に、状態Tiddler(後述)に保存されている<<.def edit-text>>ウィジェットの内容を表示します。\n\n''注:'' このフィルターが<<.var keyboard-driven-input>>マクロ(フィルターされたオプションを表示するポップアップなど)の外のコンテキストで参照される場合は、変数<<.var userInput>>もそれらのコンテキストで定義する必要があります(状態Tiddlerから読み取ることによって)。\n\n!!最小限のパラメータ\n\n|Parameter name |Notes |h\n|<<.param configTiddlerFilter>> |これは、Tiddlerのタイトルではなく、条件付き動作(たとえば、アクティブなタブの確認やフォールバックで存在しないフィルターを選び出すなど)を可能にするフィルターです。<br>返されるタイトルは、<<.var keyboard-driven-input>>が結果リストを生成できる少なくとも1つのフィルターを含む既存のTiddlerに属している必要があります。 |\n|<<.param tiddler>> |このTiddlerには、最新のイベントに応じて、入力された内容や即時の選択結果が含まれます。これは、''edit-text''ウィジェットでキーが押されるたびに、//また//、ユーザーが<kbd><<displayshortcuts ((input-up))>></kbd>や<kbd><<displayshortcuts ((input-down))>></kbd>キーを使用してフィルタリングされた結果を循環するときにも更新されます。 |\n|<<.param storeTitle>> |このTiddlerは、常にユーザー入力を反映します(各キーストロークの後にTiddler<<.param tiddler>>から''edit-text''ウィジェットに転送されます)。 |\n|<<.param selectionStateTitle>> |このTiddlerは、<kbd><<displayshortcuts ((input-up))>></kbd>や<kbd><<displayshortcuts ((input-down))>></kbd>イベントで更新され、最大2つのフィルタのどちらがリストを生成したかに応じて、サフィックス`-userInput`が付いたユーザー入力か、またはサフィックス`-primaryList`か`-secondaryList`が付いた瞬間的な選択のいずれかが含まれます。 |\n\n!!デモのセットアップ\n\n私は<$list filter=<<configTiddlerFilter>> />というTiddlerを作成し、その<<.field first-search-filter>>フィールドに次のフィルターを配置しました: \n\n<code><$list filter=<<configTiddlerFilter>> ><$text text={{!!first-search-filter}}/></$list></code>. \n\nこれは、タイトルにユーザーが入力したテキストが含まれる非システムTiddlerをフィルターします。\n\n上記の<<.var keyboard-driven-input>>を持つフィルターを使用するには、パラメーター<<.param configTiddlerFilter>>の値が<$list filter=<<configTiddlerFilter>> />を返すフィルターである必要があります。\n\n<<.param tiddler>>、<<.param storeTitle>>、<<.param selectionStateTitle>>は、かなり任意に選択できます(変更したくないTiddlerのタイトルを使用しないように注意するだけです)。\n\nこのデモは、次のマクロ呼び出しで呼び出すことができます: \n\n<<kdi-demo-textmacrocall>>\n\n!!デモ\n\nここに入力してみてください: <$macrocall $name=keyboard-driven-input \n        tiddler=<<tiddler>>\n        storeTitle=<<storeTitle>> \n        selectionStateTitle=<<selectionStateTitle>> \n        configTiddlerFilter=<<configTiddlerFilter>> \n />  \n\n下の表のさまざまな状態Tiddlerの変化を観察してください。<kbd><<displayshortcuts ((input-up))>></kbd>や<kbd><<displayshortcuts ((input-down))>></kbd>キーを使用して、フィルター結果を移動します。何も変化がない場合は、入力を短くしてフィルターを広げてください。入力の長さが0の場合、リストにはシステム以外のTiddlerがすべて含まれます。\n\n@@.tablestyle\n\n|Parameter name |Tiddlerのタイトル |Tiddlerの<<.field text>>フィールドの内容 |h\n|<<.param tiddler>> |{{{[<tiddler>]}}} |<pre><$text text={{{[<tiddler>get[text]]}}}/></pre>|\n|<<.param storeTitle>> |{{{[<storeTitle>]}}} |<pre><$text text= {{{[<storeTitle>get[text]]}}}/></pre>|\n|<<.param selectionStateTitle>> |{{{[<selectionStateTitle>]}}} |<pre><$text text={{{[<selectionStateTitle>get[text]]}}}/></pre>|\n@@\n\n<<.var keyboard-driven-input>>マクロには、囲まれた''edit-text''ウィジェットのすべての属性を含む多くのパラメーターが用意されており、その使用方法や結果の表示方法、操作方法が非常に柔軟です。\n\n参照: [[検索結果のカスタマイズ|Customising search results]]と[[$:/core/ui/DefaultSearchResultList]]\n\n<style>\n.tablestyle {width:100%;}\n.tablestyle td + td + td {width: 50%;}\n</style>"
  },
  {
    "path": "editions/ja-JP/tiddlers/demonstrations/SampleNotification.tid",
    "content": "created: 20140912145543340\nmodified: 20241216105528737\noriginal-modified: 20211119192337845\ntags: Demonstrations\ntitle: SampleNotification\nja-title: 通知のサンプル\ntype: text/vnd.tiddlywiki\n\n{{$:/core/images/done-button}} これは通知です!"
  },
  {
    "path": "editions/ja-JP/tiddlers/demonstrations/SampleWizard.tid",
    "content": "created: 20140912145537860\nfooter: <$button message=\"tm-close-tiddler\">閉じる</$button>\nmodified: 20241215111438511 \noriginal-modified: 20211119205125230\nsubtitle: これはモーダルウィザードです\ntags: Demonstrations\ntitle: SampleWizard\nja-title: サンプルウィザード\ntype: text/vnd.tiddlywiki\n\nこれは、Tiddler [[サンプルウィザード|SampleWizard]]に保存されているモーダルウィザードダイアログです。\n\n{{Motovun Jack.jpg}}\n\n<$button message=\"tm-modal\" param=\"SampleWizard2\">ウィザードをネスト</$button>することもできます。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/demonstrations/SampleWizard2.tid",
    "content": "created: 20140912145532856\nfooter: <$button message=\"tm-close-tiddler\">閉じる</$button>\nmodified: 20241215111706825\noriginal-modified: 20211119205144340\nsubtitle: これはもう一つのモーダルウィザードです\ntags: Demonstrations\ntitle: SampleWizard2\nja-title: サンプルウィザード2\ntype: text/vnd.tiddlywiki\n\nこれは、Tiddler [[サンプルウィザード2|SampleWizard2]]に保存されているもう一つのモーダルウィザードダイアログです。\n\n<$button message=\"tm-modal\" param=\"SampleWizard\">ウィザードをネスト</$button>することもできます。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/demonstrations/Tasks/Compose ballad.tid",
    "content": "created: 20130825143000000\nmodified: 20241017114535878\noriginal-modified: 20211115013141494\ntags: task TaskManagementExample\ntitle: Compose ballad\nja-title: バラードを作曲する\n\n//これは、[[タスク管理の例|TaskManagementExample]]のサンプルタスクです//"
  },
  {
    "path": "editions/ja-JP/tiddlers/demonstrations/Tasks/Get the Ring.tid",
    "content": "created: 20130825143100000\nmodified: 20241017115556461\noriginal-modified: 20211115013240401\ntags: task TaskManagementExample\ntitle: Get the Ring\nja-title: 指輪を手に入れる\n\n//これは、[[タスク管理の例|TaskManagementExample]]のサンプルタスクです//"
  },
  {
    "path": "editions/ja-JP/tiddlers/demonstrations/Tasks/Go to Mordor.tid",
    "content": "created: 20130825143100000\nmodified: 20241017115219870\noriginal-modified: 20211115181040966\ntags: task done TaskManagementExample\ntitle: Go to Mordor\nja-title: モルドールに行く\n\n//これは、[[タスク管理の例|TaskManagementExample]]のサンプルタスクです//"
  },
  {
    "path": "editions/ja-JP/tiddlers/demonstrations/Tasks/Kill the Dragon.tid",
    "content": "created: 20130825143100000\nlist-before: Get the Ring\nmodified: 20241017115431750\noriginal-modified: 20211115013217852\ntags: task TaskManagementExample\ntitle: Kill the Dragon\nja-title: ドラゴンを倒す\n\n//これは、[[タスク管理の例|TaskManagementExample]]のサンプルタスクです//"
  },
  {
    "path": "editions/ja-JP/tiddlers/demonstrations/Tasks/Make the beds.tid",
    "content": "created: 20130825143100000\nmodified: 20241017115742470\noriginal-modified: 20211115013200231\ntags: task TaskManagementExample\ntitle: Make the beds\nja-title: ベッドを整える\n\n//これは、[[タスク管理の例|TaskManagementExample]]のサンプルタスクです//"
  },
  {
    "path": "editions/ja-JP/tiddlers/demonstrations/Tasks/TaskManagementExample.tid",
    "content": "created: 20130825213300000\nmodified: 20241017114309207\noriginal-modified: 20180307153530187\ntags: Learning\ntitle: TaskManagementExample\nja-title: タスク管理の例\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki5は、カスタマイズすることなく、シンプルなタスク管理システムとして使用できます。タスクに`task`タグを付け、完了したタスクに`done`タグも付けるというアイデアです。このようにして、タスクリストを簡単に作成できます。\n\n<<.tip \"\"\"タスクをドラッグアンドドロップして並べ替える機能が追加された[[このデモの拡張版|TaskManagementExample (Draggable)]]があります\"\"\">>\n\n! 未完了のタスク\n\n<$list filter=\"[!has[draft.of]tag[task]!tag[done]sort[created]]\">\n\n<$checkbox tag=\"done\"> <$link/></$checkbox>\n\n</$list>\n\n! 完了したタスク\n\n<$list filter=\"[!has[draft.of]tag[task]tag[done]sort[created]]\">\n\n<$checkbox tag=\"done\"> ~~<$link/>~~</$checkbox>\n\n</$list>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/demonstrations/Tasks/TaskManagementExampleDraggable.tid",
    "content": "created: 20180307153530187\nmodified: 20241022104926750\noriginal-modified: 20180307153530187\ntags: Learning\ntitle: TaskManagementExample (Draggable)\nja-title: タスク管理の例(ドラッグ可能)\ntype: text/vnd.tiddlywiki\n\nこれは[[タスク管理の例|TaskManagementExample]]のタスクリストをドラッグアンドドロップして並べ替える機能を付与した強化バージョンです\n\n! 未完了のタスク\n\n//タスクをドラッグして順序を変更できます//\n\n<<list-tagged-draggable tag:\"task\" subFilter:\"!has[draft.of]!tag[done]\" itemTemplate:\"TaskManagementExampleDraggableTemplate\" emptyMessage:\"アクティブなタスクはありません\">>\n\n! 完了したタスク\n\n//(完了した逆順にリストされています)//\n\n<$list filter=\"[!has[draft.of]tag[task]tag[done]sort[modified]]\">\n<div>\n<$checkbox tag=\"done\"> ~~<$link/>~~</$checkbox>\n</div>\n</$list>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/demonstrations/Tasks/TaskManagementExampleDraggableTemplate.tid",
    "content": "created: 20180307153530187\nmodified: 20241022105026989\noriginal-modified: 20180307153530187\ntags: Learning\ntitle: TaskManagementExampleDraggableTemplate\nja-title: タスク管理の例(ドラッグ可能)のテンプレート\ntype: text/vnd.tiddlywiki\n\n<$checkbox tag=\"done\"> <$link/></$checkbox>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/demonstrations/Tasks/done.tid",
    "content": "color: #2dbe37\ncreated: 20211115013354157\nicon: $:/core/images/done-button\nmodified: 20241017115050246\noriginal-modified: 20211115013357660\ntags: TaskManagementExample\ntitle: done\nja-title: 済み\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/demonstrations/Tasks/task.tid",
    "content": "color: #8d9ac3\ncreated: 20130825213200000\nlist: [[Make the beds]]\nmodified: 20241017115926413\noriginal-modified: 20211115013121643\ntags: TaskManagementExample\ntitle: task\nja-title: タスク\n\n//このタグは、[[タスク管理の例|TaskManagementExample]]のタスクを識別します//"
  },
  {
    "path": "editions/ja-JP/tiddlers/editions/Blog Edition.tid",
    "content": "created: 20150902123139133\nmodified: 20241221102414663\noriginal-modified: 20150902123255662\ntags: Editions\ntitle: Blog Edition\nja-title: ブログエディション\ntype: text/vnd.tiddlywiki\n\nTiddlyWikiの''ブログ''エディションには、TiddlyWikiで書かれた静的HTMLブログの公開を支援するツールが含まれています。現在、Node.jsで使用するように設計されています。\n\nドキュメントは準備中ですが、使用例については https://github.com/Jermolene-blog/blog を参照してください。"
  },
  {
    "path": "editions/ja-JP/tiddlers/editions/Editions.tid",
    "content": "created: 20140908125500000\nlist: [[Empty Edition]]\nmodified: 20241220114652589\noriginal-modified: 20160107222125923\ntags: TableOfContents\ntitle: Editions\nja-title: エディション\ntype: text/vnd.tiddlywiki\n\nTiddlyWikiは、特定の目的に合わせて調整されたいくつかの異なるエディションで配布されています\n\nエディションは、できるだけ早く立ち上げて実行できるように、TiddlyWikiのコアコンポーネントとプラグイン、ドキュメント、およびサンプルコンテンツで構成されています\n\nこれらのエディションのコンポーネントを組み合わせて、特定のアプリケーションに固有のソリューションを作成できます\n\n<<list-links \"[tag[Editions]]\">>\n\n<$macrocall $name=\".tip\" _=\"\"\"エディションと、TiddlyWikiが実行される[[プラットフォーム|Platforms]]と混同しないように注意してください(例:[[単一HTMLファイル|Saving]] vs. [[Node.js|TiddlyWiki on Node.js]])\"\"\"/>"
  },
  {
    "path": "editions/ja-JP/tiddlers/editions/Empty Edition.tid",
    "content": "created: 20140916213421041\nmodified: 20241220115009879\noriginal-modified: 20160702084215576\ntags: Editions\ntitle: Empty Edition\nja-title: 空エディション\ntype: text/vnd.tiddlywiki\n\n\nTiddlyWikiの\"空\"エディションはバニラディストリビューションであり、コアコード以外に追加されているプラグインや構成はありません\n\n空のエディションは次からダウンロードできます:\n\n* リンク: [ext[empty.html]]\n* ビルトイン: {{$:/editions/tw5.com/snippets/download-empty-button}}\nブラウザによっては、ダウンロード開始前にダウンロードを受け入れるかどうかを尋ねられる場合があります"
  },
  {
    "path": "editions/ja-JP/tiddlers/editions/Full Edition.tid",
    "content": "created: 20150310103210459\nmodified: 20241221102710941\noriginal-modified: 20160602051530592\ntags: Editions\ntitle: Full Edition\nja-title: フルエディション\ntype: text/vnd.tiddlywiki\n\nTiddlyWikiの\"フル\"エディションは、TiddlyWikiで使用可能なすべての言語、テーマ、プラグインで構成されています。これはTiddlyWikiのテスト、特に利用可能なすべての言語プラグイン間の切り替えに使用することを目的としています。\n\nフルエディションは以下からダウンロードできます: \n\nhttps://tiddlywiki.com/editions/full/"
  },
  {
    "path": "editions/ja-JP/tiddlers/editions/Résumé Builder Edition.tid",
    "content": "created: 20150718123139133\nmodified: 20241221103022837\noriginal-modified: 20160602051544252\ntags: Editions\ntitle: Résumé Builder Edition\nja-title: 履歴書ビルダーエディション\ntype: text/vnd.tiddlywiki\n\nTiddlyWikiの''履歴書ビルダー''エディションを使用すると、Webに保存したり印刷したりできる職業上の履歴書を簡単な方法で作成し始めることができます\n\nhttps://tiddlywiki.com/editions/resumebuilder/\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/editions/Text Slicer Edition.tid",
    "content": "created: 20150718123139133\nmodified: 20241221103255652\noriginal-modified: 20160602051553479\ntags: Editions\ntitle: Text-Slicer Edition\nja-title: テキストスライサーエディション\ntype: text/vnd.tiddlywiki\n\nTiddlyWikiの''テキストスライサー''エディションには、上級ユーザーが長いテキストを個々のTiddlerにスライスするのに役立つツールが含まれています\n\nhttps://tiddlywiki.com/editions/text-slicer/"
  },
  {
    "path": "editions/ja-JP/tiddlers/editions/XLSX Utilities Edition.tid",
    "content": "created: 20161023202301847\nmodified: 20241221103512732\noriginal-modified: 20161023202301847\ntags: Editions\ntitle: XLSX Utilities Edition\nja-title: XLSXユーティリティエディション\ntype: text/vnd.tiddlywiki\n\nTiddlyWikiの''XLSXユーティリティ''エディションには、Microsoft ExcelやGoogle Sheetsなどのアプリケーションによって生成された`.XLSX`スプレッドシートを操作するためのツールが含まれています。ブラウザーやNode.jsで使用できます\n\nhttps://tiddlywiki.com/editions/xlsx-utils/\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/features/AutoSave.tid",
    "content": "created: 20140206211715540\nmodified: 20241206115421575\noriginal-modified: 20160610081543108\ntags: Features\ntitle: AutoSave\nja-title: 自動保存\ntype: text/vnd.tiddlywiki\n\n自動保存をサポートする利用可能なSavingMechanismがある場合、TiddlyWikiは、Tiddlerの編集時に<<.icon $:/core/images/done-button>>''ok''または<<.icon $:/core/images/delete-button>>''削除''をクリックすると、現在のドキュメントの保存を自動的にトリガーします\n\n自動保存が行われたことを確認するために、ウィンドウの右上に黄色の通知が表示されます\n\n自動保存は、[[コントロールパネル|$:/ControlPanel]]<<.icon $:/core/images/options-button>>の''設定''タブで有効または無効にできます。バックグラウンドでは、設定用Tiddler[[$:/config/AutoSave]]を通じて制御されます。自動保存を有効にするには、この構成の値が''yes''である必要があります"
  },
  {
    "path": "editions/ja-JP/tiddlers/features/Core Icons.tid",
    "content": "title: Core Icons\nja-title: コアアイコン\ntags: Features\nmodified: 20241206115817981\noriginal-modified: 20230423103154329\ncreated: 20230423103154329\n\n!! 紹介\n\nTiddlyWikiには100以上のカスタムベクターアイコンが含まれています。これらはユーザーインターフェイスに組み込まれており、作成者が独自のアプリケーションで使用することもできます。完全なリストについては、[[アイコンギャラリー|Icon Gallery]]を参照してください。\n\n!! 使用法\n\nコアアイコンはトランスクルージョンして使用します。例えば:\n\n<<wikitext-example-without-html \"\"\"{{$:/core/images/new-image-button}}\n\"\"\">>\n\nコアアイコンはパラメータ化されています。最初のパラメータ`size`は、アイコンをレンダリングするサイズを指定します:\n\n<<wikitext-example-without-html \"\"\"{{$:/core/images/picture|64px}}\n<$transclude $tiddler=\"$:/core/images/picture\" size=\"32px\"/>\n\"\"\">>\n\nアイコンのサイズを動的に変更する例を示します:\n\n<<wikitext-example-without-html \"\"\"<$list filter=\"[range[24,56,8]]\" variable=iconSize>\n<$text text={{{ [<iconSize>addsuffix[px]] }}} />\n<$transclude $tiddler=\"$:/core/icon\" size=<<iconSize>>/>\n</$list>\n\"\"\">>\n\n一部のアイコンは、レンダリング方法をカスタマイズするためにさらにパラメーターを受け取ります。例えば、$:/core/images/new-journal-buttonアイコンは、カレンダーに表示する日付を指定する追加パラメータ`day`を取ります。指定しない場合、デフォルトで現在の日付が設定されます\n\n<<wikitext-example-without-html \"\"\"{{$:/core/images/new-journal-button|48px|17}}\n<$transclude $tiddler=\"$:/core/images/new-journal-button\" day=\"17\"/>\n\"\"\">>\n\nコア アイコンは、本格的なSVG画像としてではなく、埋め込み[[SVG 要素|Using SVG]]として実装されています。これは、CSSを使用してスタイルを設定できることを意味します。例えば、CSSプロパティ`fill`を使用してアイコンの色を変更できます。例えば:\n\n<<wikitext-example-without-html \"\"\"<span style=\"fill: red;\">{{$:/core/images/opacity}}</span>\n\"\"\">>"
  },
  {
    "path": "editions/ja-JP/tiddlers/features/DateFormat.tid",
    "content": "created: 20140418142957325\nmodified: 20241206120335412\noriginal-modified: 20230226144359284\ntags: Features\ntitle: DateFormat\nja-title: 日付形式\ntype: text/vnd.tiddlywiki\n\n日付のデフォルトの表現は、<<.value 20211002153802059>>のようなコンパクトな文字列です。関連するテンプレートは`[UTC]YYYY0MM0DD0hh0mm0ss0XXX`です。たとえば、<<.field created>>や<<.field modified>>のフィールドは次のように保存されます。\n\nこの文字列の表示形式は、テンプレートで制御できます。たとえば、<<.field modified>>フィールドをトランスクルードすると、日付を<<.value \"Sat Oct 02 2021 17:40:50 GMT+0200 (Central European Summer Time)\">>として表示するテンプレートが自動的に適用されます。いくつかのウィジェットとフィルター演算子では、テンプレートを手動で指定できます。たとえば、ViewWidgetです: \n\n`<$view field=modified format=date template=\"DDth mmm YYYY 0hh:0mm:0ss\" />`\n\n日付文字列は次の置換で処理されます: \n\n|!トークン |!置き換えられる値 |\n|`ddddd` |<<.from-version \"5.2.0\">> 年間日数 (1から365まで、うるう年の場合は366まで) |\n|`0ddddd` |<<.from-version \"5.2.0\">> 年間日数(ゼロ埋め) (001から 365まで、うるう年の場合は366まで) |\n|`DDD` |曜日 (例、\"月曜\") |\n|`ddd` |曜日(短縮) (例、\"月\") |\n|`dddd` |<<.from-version \"5.2.0\">> 月曜始まり日曜終わりの1から7までに曜日番号 |\n|`DD` |日付 |\n|`0DD` |日付(ゼロ埋め) |\n|`DDth` |日付('日'付き) |\n|`WW` |週番号(ISO-8601) |\n|`0WW` |週番号(ISO-8601)(ゼロ埋め) |\n|`MMM` |月 (例、\"7月\") |\n|`mmm` |月(短縮) (例、\"7月\") |\n|`MM` |月番号 |\n|`0MM` |月番号(ゼロ埋め) |\n|`YYYY` |年 |\n|`YY` |年(下2桁) |\n|`wYYYY` |週番号に関する年 |\n|`aYYYY` |<<.from-version \"5.1.23\">> 年(負の日付を正として表示) |\n|`wYY` |週番号に関する年(下2桁) |\n|`{era:BCE||CE}` |<<.from-version \"5.1.23\">> 負、ゼロ、正の年に対して異なる文字列を表示 (下記参照) |\n|`hh` |時 |\n|`0hh` |時(ゼロ埋め) |\n|`hh12` |時(12時間表記) |\n|`0hh12` |時(12時間表記)(ゼロ埋め) |\n|`mm` |分 |\n|`0mm` |分(ゼロ埋め) |\n|`ss` |秒 |\n|`0ss` |秒(ゼロ埋め) |\n|`XXX` |ミリ秒 |\n|`0XXX` |ミリ秒(ゼロ埋め) |\n|`am` or `pm` |AM/PMインジケータ(小文字) |\n|`AM` or `PM` |AM/PMインジケータ(大文字) |\n|`TZD` |タイムゾーンオフセット |\n|`TIMESTAMP` |<<.from-version \"5.2.4\">> 1970年1月1日([[ECMAScriptエポック|https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date#the_ecmascript_epoch_and_timestamps]])からのミリ秒数 |\n|`\\x` |特別な意味を持つ文字をエスケープするために使用 |\n|`[UTC]`|表現された日付をUTCにタイムシフトします。フォーマット文字列の先頭になければなりません。|\n\nその他のテキストは変更されずに渡され、カンマ、コロン、またはその他の区切り文字が使用されることに注意してください。\n\nこの`{era:BCE||CE}`表記法では、負、ゼロ、正の年に対して異なる文字列を指定できます。たとえば、`{era:BC|Z|AD}`は、負の年の場合は<<.value BC>>、正の年の場合は<<.value AD>>、0年の場合は<<.value Z>>が表示されます。\n\n\n! 例\n\n|!テンプレート |!Output |\n|`DDth MMM YYYY` |16日 2月 2011 |\n|`DDth MMM \\M\\M\\M YYYY` |16日 2月 MMM 2011 |\n|`DDth mmm YYYY 0hh:0mm:0ss` |16日 2月 2011 11:38:42 |\n\n!! <<.value TIMESTAMP>>を時間差を計算するために使用する\n\n次のようにして、2つの日付の差を計算できます:\n\n# 両方の日付をタイムスタンプに変換します\n# 後の日付を前の日付から引きます -- どちらが早いかわからない場合は、減算後に絶対値を取得する<<.olink \"abs\">>演算子を使用します\n# 結果の数値を選択した間隔のミリ秒数で割ります\n\n以下は、現在のTiddlerの作成から最終更新までの経過日数を計算する例です:\n\n* <<.field created>>フィールドと<<.field modified>>フィールドをタイムスタンプに変換します\n* その差を1日のミリ秒数である<<.value 86400000>>で割ります\n** 1000ミリ秒/秒 × 60秒/分 × 60分/時 × 24時間/日 = 86,400,000 ミリ秒/日\n\n<$macrocall $name=\".example\" n=\"0\" eg=\"\"\"<$let\n\ttimestamp-modified={{{ [{!!modified}format:date[TIMESTAMP]] }}}\n\ttimestamp-created={{{ [{!!created}format:date[TIMESTAMP]] }}}\n\tdifference-days={{{ [<timestamp-modified>subtract<timestamp-created>divide[86400000]floor[]] }}}>\n\n* ''更新日:'' <$text text={{{ [{!!modified}format:date[YYYY-0MM-0DD]] }}}/>\n* ''作成日:'' <$text text={{{ [{!!created}format:date[YYYY-0MM-0DD]] }}}/>\n* ''日付の差:'' <<difference-days>>日\n</$let>\"\"\"/>"
  },
  {
    "path": "editions/ja-JP/tiddlers/features/Deserializers.tid",
    "content": "created: 20230627093650105\nmodified: 20241207112556326\noriginal-modified: 20230627094356394\ntags: Features\ntitle: Deserializers\nja-title: デシリアライザー\ntype: text/vnd.tiddlywiki\n\nデシリアライザー[[モジュール|Modules]]は、さまざまな形式のテキストをTiddlerとしてJSON表現に解析します。Wikiで使用可能なデシリアライザーモジュールは、 [[デシリアライザー演算子|deserializers Operator]]を使用して表示でき 、[[デシリアライズ演算子|deserialize Operator]]とともに使用できます。\n\nTiddlyWikiコアは次のデシリアライザーを提供します:\n\n|!デシリアライザー |!説明 |\n|(DOM)|DOMノードからTiddlerを抽出します。<<.op deserialize[]>>演算子と一緒に使用しないでください|\n|application/javascript|ヘッダーコメントからフィールドを抽出するTiddlerとしてJavaScriptモジュールを解析します|\n|application/json|[[JSON|JSON in TiddlyWiki]]を解析してTiddlerにします|\n|application/x-tiddler|[[.tidファイル形式|TiddlerFiles]]を解析してTiddlerにします|\n|application/x-tiddler-html-div|[[<DIV>.tiddlerファイルフォーマット|TiddlerFiles]]を解析してTiddlerにします|\n|application/x-tiddlers|[[MultiTiddlerFile形式|MultiTiddlerFiles]]を解析してTiddlerにします|\n|text/css|CSSを解析しヘッダーコメントからフィールドを抽出してTiddlerにします|\n|text/html|HTMLファイルを解析してTiddlerにします。~TiddlyWikiクラシックHTMLファイル、~TiddlyWiki5 HTMLファイル、通常のHTMLファイルをサポートします|\n|text/plain|プレーンテキストを解析してTiddlerにします|\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/features/Drag and Drop.tid",
    "content": "created: 20170328143119836\nmodified: 20241208110958833\noriginal-modified: 20170328173846754\ntags: Features\ntitle: Drag and Drop\nja-title: ドラッグアンドドロップ\ntype: text/vnd.tiddlywiki\n\n~TiddlyWikiはドラッグアンドドロップを使用して、2つの機能を実現します: \n\n* ~TiddlyWikiに[[Tiddlerをインポート|Importing Tiddlers]]する\n* ~TiddlyWiki内でのTiddler操作\n\nドラッグアンドドロップによるTiddler操作は、次のコンテキストでコアのユーザーインターフェイスによってサポートされます: \n\n* サイドバーの\"表示中\"タブのエントリはドラッグアンドドロップで並べ替えることができます。タイトルをリストにドラッグすることで新しいTiddlerを開くことができます。\n* タグピルのドロップダウン内のエントリはドラッグアンドドロップで並べ替えることができます。タイトルをリストにドラッグすることで新しいTiddlerにタグを割り当てることができます。\n* [[コントロールパネル|$:/ControlPanel]]の\"外観\"/ツールバー\"タブのエントリは、ドラッグアンドドロップで並べ替えることができます。(あまり便利ではありませんが、タイトルをリストにドラッグすることで、ツールバーに新しいエントリを追加できます)\n\nすべてのTiddlerリンクはデフォルトでドラッグ可能です。ブラウザウィンドウ内でドラッグしてTiddlerを操作することも、別のブラウザウィンドウにドラッグして[[インポート操作|Importing Tiddlers]]を開始することもできます。\n\nリンクをドラッグする場合は、水平方向の移動はブラウザによってテキスト選択として認識されるため、最初に垂直方向に移動します。\n\nタグピルもドラッグ可能であり、タグを持つ個々のTiddlerすべてを同時にドラッグするのと同じです。\n\nドラッグアンドドロップによるTiddler操作の一般的なシナリオは、再利用可能なマクロとして利用できます: \n\n* [[list-links-draggableマクロ|list-links-draggable Macro]]はTiddler ListField内のエントリを並べ替えるためのマクロ\n* [[list-tagged-draggableマクロ|list-tagged-draggable Macro]]は指定されたタグを持つTiddlerを並べ替えるためのマクロ\n\n低レベルのドラッグアンドドロッププリミティブを使用して、より複雑なインタラクションを構築する方法の詳細については、[[ドラッグアンドドロップのメカニズム|DragAndDropMechanism]]を参照してください。\n\n~TiddlyWikiで使用される標準HTML 5のドラッグアンドドロップAPI は、通常、スマートフォンやタブレットのモバイルブラウザーでは利用できません。[[モバイルドラッグアンドドロップShimプラグイン|Mobile Drag And Drop Shim Plugin]]は、iOSやAndroidを含む多くのモバイルブラウザーで部分的サポートを実装するオープンソースライブラリを追加します。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/features/Features.tid",
    "content": "created: 20130822172800000\nmodified: 20241206113502662\noriginal-modified: 20160107225826644\ntags: TableOfContents\ntitle: Features\nja-title: 機能\ntype: text/vnd.tiddlywiki\n\nTiddlyWikiの機能に関する詳細情報:\n\n<<list-links \"[tag[Features]]\">>\n\n最後になりましたが、TiddlyWikiは実用的な[[クワイン|Quine]]の稀な例です"
  },
  {
    "path": "editions/ja-JP/tiddlers/features/Future Proof.tid",
    "content": "created: 20131213101024997\nmodified: 20241210112855653\noriginal-modified: 20170329104438386\ntags: Features\ntitle: Future Proof\nja-title: 将来性\ntype: text/vnd.tiddlywiki\n\n2016年1月の[[Network World|https://www.networkworld.com/article/947618/tiddlywiki-a-free-open-source-wiki-revisited.html]]誌より:\n\n<<<\nはるか昔(正確には2009年1月)、私は~TiddlyWikiという“個人用非線形Webノートブック”という非常に優れたツールについて[[書きました|http://www.networkworld.com/article/2272104/applications/an-amazing-free-microwiki.html]]。そして今日になって、私は幽体離脱体験をしました。偶然、その記事を書いたときに始めた~TiddlyWikiを見つけたのですが、それはまだ機能しているのです。\n\nわずか2、3年後に完璧に動作するコードが見つかるだけでも十分魔法のようですが、7年も経ってます! ~TiddlyWikiは単一ページのWebアプリケーションとして作成されており、現在のブラウザーが2009年当時と大きく異なることを考えると、~TiddlyWikiの古いバージョンがまだ動作しているという事実はまさに奇跡的です。\n<<<\n\nTiddlyWikiは、ユーザーの長期的なニーズを念頭に置いて設計されています。[[オープンソース|OpenSource]]であり、インフラストラクチャを必要としないため、遠い未来においても、~TiddlyWikiファイルにアクセスするために必要なのは、通常のHTMLブラウザーだけであると確信できます。キャリアの初期に~TiddlyWikiを使い始めたとしても、退職するまで~TiddlyWikiが役立つと確信できます。\n\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/features/Importing Tiddlers.tid",
    "content": "created: 20130825162000000\nmodified: 20241211112813514\noriginal-modified: 20170328160211362\ntags: Features\ntitle: Importing Tiddlers\nja-title: Tiddlerのインポート\ntype: text/vnd.tiddlywiki\n\n外部ファイルから、または別の~TiddlyWikiから直接、Tiddlerを~TiddlyWikiにインポートできます。\n\n!! 外部ファイルからのコンテンツのインポート\n\n外部ファイルからコンテンツ(テキスト、画像、PDFドキュメントなど)をインポートする方法はいくつかあります: \n\n* <<.icon $:/core/images/import-button>> ''インポート''ボタン(サイドバーの''ツール''タブ配下)を使用してローカルファイルを選択します\n* WindowsエクスプローラーやOS X Finderなどからファイルを~TiddlyWikiブラウザウィンドウにドラッグアンドドロップします\n* メニューやキーボードショートカット(<kbd>ctrl-V</kbd>または<kbd>cmd-V</kbd>)を使用して、クリップボードから直接コンテンツを貼り付けます\n** 現在、Chrome、Firefox、Edgeでサポートされています(Internet Explorerはサポートされていません)\n\nほとんどのファイルは個別のTiddlerとしてインポートされます。例外は次のとおりです: \n\n* ~TiddlyWikiファイルとして認識された''.html''ファイルは解析され、その中のTiddlerが抽出されます。\n* ''.json''ファイルは解析され、その中にあるTiddlerが抽出されます。''.json''ファイルは、別の~TiddlyWikiから[[エクスポートする|How to export tiddlers]]ことで作成できます。~TiddlyWikiは、単一のTiddlerフィールドオブジェクトまたはTiddlerフィールドオブジェクトの配列を含むJSONファイルを受け入れます\n\n!! 他の~TiddlyWikiブラウザウィンドウからのコンテンツのインポート\n\nTiddlerは、[[ドラッグアンドドロップ|Drag and Drop]]を使用して他の~TiddlyWikiブラウザーウィンドウからインポートできます。TiddlyWikiの内部リンクやタグを、ある~TiddlyWikiブラウザーウィンドウから別のウィンドウにドラッグします。内部リンクをドラッグすると1つのTiddlerがインポートされますが、タグピルをドラッグすると、そのタグを持つすべてのTiddlerがインポートされます。\n\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/features/JSON in TiddlyWiki.tid",
    "content": "title: JSON in TiddlyWiki\nja-title: TiddlyWikiでのJSON\ntags: Features\ntype: text/vnd.tiddlywiki\ncreated: 20220427174702859\nmodified: 20241214111229300\noriginal-modified: 20220611104737314\n\n!! 紹介\n\nJSON(~JavaScript Object Notation)は、データの保存と転送に広く使用されているデータ構造の標準化されたテキスト表現です。\n\nJSONはTiddlyWikiのさまざまなコンテキストで使用されます。例:\n\n* TiddlerはTiddlyWiki HTMLファイル内でJSONデータとして表現されます\n* Tiddlerの集まりはJSONファイルとして[[エクスポート|How to export tiddlers]]および[[インポート|Importing Tiddlers]]できます\n* プラグインTiddlerは、構成要素の隠しTiddlerをJSONデータとして保存します\n* クライアント-サーバー構成では、クライアントとサーバー間の通信に[[JSONメッセージ|TiddlyWeb JSON tiddler format]]を使用します\n* DataTiddlers内の任意のJSONデータは、一連のフィルター演算子とアクションウィジェットを使用して処理および操作できます\n\n\n!! JSONについて\n\n公式ウェブサイト https://json.org/ の JSONの技術的説明は簡潔です。ここでは主な機能を要約します。\n\nJSONは次の2つの基本データ構造をサポートします: \n\n''配列''はアイテムのリストです。アイテムは数値インデックス(0始まり)によって識別されます\n\n配列の例は次のとおりです: \n\n\n```json\n[\"one\",\"two\",\"three\\\"four\"]\n```\n\n次の配列の機能に注意してください: \n\n* 配列はアイテムのリストを囲む角括弧で表されます\n* 各アイテムは二重引用符で囲まれた文字列です。二重引用符は、その前にバックスラッシュ(`\\`)を付けることで文字列内に含めることができます\n* アイテムはカンマで区切られます\n\n''オブジェクト''は名前と値のペアの集合です。各アイテムは一意の名前で識別される値です\n\nオブジェクトの例は次のとおりです: \n\n```json\n{\n  \"first\": \"これは一番目の値です\",\n  \"second\": \"これは二番目の値です\",\n  \"third\": \"これは三番目の値です\"\n}\n```\n\n次のオブジェクトの機能に注意してください: \n\n* オブジェクトは、名前と値のペアのリストを囲む中括弧で表されます\n* 各名前/値のペアは、二重引用符で囲まれた名前、コロン、そして値で構成されます\n* 名前と値のペアはカンマで区切られます\n\n上記の例はすべて文字列値を示しています。JSONはいくつかの異なるタイプの値をサポートしています。これらのタイプはいずれも値として使用できます: \n\n* 上に示したような文字列値\n* `1`, `3.14`のような符号付き十進数として表される数値、指数表記も使用できます。例: `-1E10`\n* キーワード`true`と`false`とで表されるブール値\n* 欠損または不完全なデータを表すために使用される特別な値 `null`\n* オブジェクトと配列も値であり、複雑なネスト構造を表現することができる\n\n!! データTiddlerの操作\n\n* [[JSON Tiddlerからのデータの読み取り|Reading data from JSON tiddlers]]\n* [[JSON Tiddlerの構築|Constructing JSON tiddlers]]\n* [[JSON Tiddlerの修正|Modifying JSON tiddlers]]\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/features/LazyLoading.tid",
    "content": "created: 20140206214608586\nmodified: 20241214111529899\noriginal-modified: 20211009145417525\ntags: Features\ntitle: LazyLoading\nja-title: 遅延読み込み\ntype: text/vnd.tiddlywiki\n\n通常、TiddlyWikiでは、すべてのTiddlerの完全なコンテンツがメインのHTMLファイルに埋め込まれます。遅延読み込みとは、Tiddlerに関するメタデータ(言い換えると、''テキスト''フィールド以外のすべてのフィールド)のみを埋め込み、必要なときにサーバーから本文を要求する手法を指します。\n\n遅延読み込みは次の2つの構成で使用できます: \n\n* [[Node.js上でのTiddlerWiki|TiddlyWiki on Node.js]]を実行する場合、画像Tiddlerのみ、またはシステム以外のすべてのTiddlerが遅延読み込みの対象にできます\n* [[TiddlyWebのためのSkyでのTiddlyWiki|TiddlyWiki in the Sky for TiddlyWeb]]を実行する場合、すべてのTiddlerは遅延読み込みの対象になります\n\n遅延読み込みの実装方法の詳細については、[[遅延読み込みメカニズム|https://tiddlywiki.com/dev/#LazyLoadingMechanism]]を参照してください。\n\n! Node.jsでの遅延読み込み\n\n画像Tiddlerの遅延読み込みでTiddlyWikiを起動するには、次のコマンドを使用します: \n\n\n```\ntiddlywiki --listen root-tiddler=$:/core/save/lazy-images\n```\n\n非システムTiddlerすべてに遅延読み込みを適用するには、次のコマンドを使用します:\n\n\n```\ntiddlywiki --listen root-tiddler=$:/core/save/lazy-all\n```\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/features/Modals.tid",
    "content": "created: 20160107225427489\nmodified: 20241215105515572\noriginal-modified: 20211221102625141\ntags: Features\ntitle: Modals\nja-title: モーダル\ntype: text/vnd.tiddlywiki\n\nモーダル(または\"ウィザード\")は、メインのTiddlyWikiウィンドウをフェードアウトして、ユーザーが明示的に閉じる必要がある独立したTiddlerを表示します。\n\n表示されるTiddlerには、モーダルをカスタマイズするために使用される次のオプションフィールドを含めることができます:\n\n|!フィールド |!説明 |\n|footer|モーダルのフッターテキスト|\n|subtitle|`h3`HTMLタグ内に表示されるモーダルのサブタイトルテキスト|\n|class|モーダルラッパーに適用する追加クラス|\n|help|フッターの左側に\"Help\"というテキストとともに表示されるオプションの外部リンク|\n|mask-closable|''yes''または''true''に設定すると、マスク(モーダルの外側の領域)がクリックされたときにモーダルダイアログが閉じます|\n\nフッターとサブタイトルのフィールドはプレーンテキストに限定されず、ウィジェットやトランスクルージョンなどのWikiテキスト機能も使用できることに注意してください。\n\nモーダルは[[WidgetMessage: tm-modal]]で表示されます。\n\n<$button message=\"tm-modal\" param=\"SampleWizard\">デモモーダルを開く</$button>\n\n<<.tip \"\"\"<$macrocall $name=\".from-version\" version=\"5.2.4\"/> \"mask-closable\"フィールドが使用できるようになりました\"\"\">>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/features/Notifications.tid",
    "content": "created: 20160107225753340\nmodified: 20241215112240963 \noriginal-modified: 20160107225855353\ntags: Features\ntitle: Notifications\nja-title: 通知\ntype: text/vnd.tiddlywiki\n\n通知は、 TiddlyWikiウィンドウの右上に表示される小さな情報メッセージで、事前に設定された時間が経過すると自動的に消えます。\n\n<$button message=\"tm-notify\" param=\"SampleNotification\">通知のサンプルを表示</$button>"
  },
  {
    "path": "editions/ja-JP/tiddlers/features/Performance Instrumentation.tid",
    "content": "created: 20190316163428191\nmodified: 20241216105842099\noriginal-modified: 20190510133455372\ntags: Features\ntitle: Performance Instrumentation\nja-title: パフォーマンス統計情報\ntype: text/vnd.tiddlywiki\n\nコアには、更新サイクル用のパフォーマンス統計情報が組み込まれています。コントロールパネルの“設定”タブの“パフォーマンス統計情報”を参照してください。有効化には、Wikiを再読み込みする必要があります。\n\nパフォーマンス統計情報をオンにすると、更新サイクルがトリガーされるたびに、ブラウザのデベロッパーコンソールにタイミング情報が追記されます。例:\n\n```\nperformance: mainRender: 327.83ms \nperformance: styleRefresh: 9.14ms \nperformance: mainRefresh: 68.10ms \n```\n\n上記の情報は次のように解釈できます: \n\n* mainRenderはページテンプレートの初期表示にかかる時間です\n* styleRefreshはページのスタイルシートをリフレッシュするのにかかる時間です\n* mainRefreshはメインページテンプレートをリフレッシュするのにかかる時間です\n\nたとえば、サイドバーのタブを切り替えて、レンダリングにかかる​​時間を比較してみましょう。\n\nフィルター実行タイミングに関する詳細な情報も利用できます。パフォーマンス統計情報を有効にして、ブラウザーのデベロッパーコンソールに次のJavaScriptコマンドを入力します: \n\n```\n$tw.perf.log()\n```\n\n次の情報を含むテーブルが表示されます: \n\n* ''name'' - 文字列\"Filter: \"とフィルターのテキスト\n* ''invocations'' - 起動からのフィルターの呼び出し回数\n* ''totalTime'' - 起動からのこのフィルターの評価に費やされた合計時間(ミリ秒)\n* ''percentTime'' - すべてのフィルターの実行時間合計に対するこのフィルターの実行時間の割合\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/features/SafeMode.tid",
    "content": "created: 20140419082845576\nmodified: 20241217111550799 \noriginal-modified: 20190912093109517\ntags: Features\ntitle: SafeMode\nja-title: セーフモード\ntype: text/vnd.tiddlywiki\n\n! 紹介\n\nセーフモードでは、TiddlyWikiのほとんどのカスタマイズを無効にすることができます。TiddlyWikiが誤ってカスタマイズされると動作しなくなる可能性があるため、この機能は便利です。特に問題となるのは、TiddlyWikiの新しいコアバージョン(特にベータ版)にアップグレードすると、一部のカスタマイズが壊れてしまうことです。\n\n<<.warning \"セーフモードは、TiddlyWikiの単一ファイル構成でのみ使用し、自動保存を行わないセーバーでのみ使用してください。クライアントサーバー構成でセーフモードを使用すると、データが失われる可能性があります。\">>\n\n! セーフモードの有効化\n\nブラウザでセーフモードを有効にするには、URLハッシュに文字列`#:safe`に設定してTiddlyWikiを起動します。例:\n\nhttps://tiddlywiki.com/#:safe\n\n! セーフモードの仕組み\n\nセーフモードでは、次の2つの変更が行われます: \n\n* すべてのプラグインは一時的に無効になっています。[[コントロールパネル|$:/ControlPanel]] <<.icon $:/core/images/options-button>>を使用して個々のプラグインを無効にすることができます。\n* 隠しTiddlerをオーバーライドするTiddlerは、プレフィックス`SAFE: `を付けた名前に変更され、元の隠しTiddlerが復元されます\n* 特定の構成オプションは無視され、代わりにデフォルト設定が使用されます: \n** WikiParserRuleConfiguration\n\n名前が変更されたTiddlerを検査できるレポートTiddlerが表示されます。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/features/Scalability.tid",
    "content": "created: 20130822173400000\nmodified: 20241218111837188\noriginal-modified: 20211124215615812\ntags: Features\ntitle: Scalability\nja-title: スケーラビリティ\ntype: text/vnd.tiddlywiki\n\nTiddlyWikiの[[シングルページアプリケーション|SinglePageApplication]]としてのアーキテクチャは、大量のデータには適さないと思われるかもしれません。実際、TiddlyWikiユーザーは、数十あるいは100メガバイトを超えるファイルでも問題なく処理しています。また、ギガバイト単位のファイルでも実験に成功しています。\n\n大規模なWikiの[[パフォーマンスに関するティップス|Performance]]を参照してください。"
  },
  {
    "path": "editions/ja-JP/tiddlers/features/Searching in TiddlyWiki.tid",
    "content": "created: 20140210160125905\nmodified: 20241031115307429\noriginal-modified: 20160607163012344\ntags: Features [[Working with TiddlyWiki]]\ntitle: Searching in TiddlyWiki\nja-title: TiddlyWikiでの検索\ntype: text/vnd.tiddlywiki\n\n~TiddlyWikiの検索は、高速かつ柔軟です\n\n! 標準の検索\n\nサイドバーの検索ボックスにテキストを入力すると、そのテキストを含むすべてのTiddlerのリストが表示されます。\n\n://(検索ボックスの右側にある'x'をクリックして検索結果を削除するまで、サイドバーのタブは検索結果によって非表示になることに注意してください)//\n\n! 高度な検索\n\n検索ボックスの右側にある虫眼鏡アイコン<<.icon $:/core/images/advanced-search-button>>をクリックすると、[[$:/AdvancedSearch]]が開きます。このTiddlerには4つのタブが含まれています: \n\n* ''一般''タブには、サイドバーにある検索ボックスの別のインスタンスが含まれています\n* ''システム''タブを使用すると、検索をシステムTiddlerに限定できます\n* ''隠し'' タブを使用すると、検索を隠しTiddlerに限定できます\n* ''フィルタ''タブは、それ自体は検索ボックスではありませんが、その[[フィルタ|Filters]]で記述された特定の条件(例えば、\"システムタグを除くすべてのタグ\")を満たすすべてのTiddlerのリストを取得する方法です"
  },
  {
    "path": "editions/ja-JP/tiddlers/features/StartupActions.tid",
    "content": "created: 20180323092308399\nmodified: 20241218112530254 \noriginal-modified: 20201025161723719\ntags: Features\ntitle: StartupActions\nja-title: スタートアップアクション\ntype: text/vnd.tiddlywiki\n\nTiddlyWikiはスタートアップ時に、次のシステムタグを持つTiddlerのActionWidgetsを実行します: \n\n* 初期スタートアップ時に実行されます:\n** <<tag \"$:/tags/StartupAction\">> (すべてのプラットフォームで実行)\n** <<tag \"$:/tags/StartupAction/Browser\">> (ブラウザで実行している場合にのみ実)\n** <<tag \"$:/tags/StartupAction/Node\">> (Node.jsで実行している場合にのみ実行)\n* レンダリング後のスタートアップ時に実行されます:\n** <<.from-version \"5.1.23\">> <<tag \"$:/tags/StartupAction/PostRender\">> (ブラウザで実行している場合にのみ実行)\n\n!! 初期スタートアップアクション\n\n初期スタートアップアクションは、画面サイズなどの環境要因に応じてTiddlyWikiをカスタマイズするのに役立ちます。たとえば、次のアクションウィジェットをTiddlerタグ`$:/tags/StartupAction/Browser`を付けて配置すると、画面幅が1000ピクセル未満の場合にサイドバーがデフォルトで非表示になります:\n\n```\n<$reveal type=\"lt\" state=\"$:/info/browser/screen/width\" text=\"3000\">\n<$action-setfield $tiddler=\"$:/state/sidebar\" $value=\"no\"/>\n</$reveal>\n\n<$reveal type=\"gteq\" state=\"$:/info/browser/screen/width\" text=\"3000\">\n<$action-setfield $tiddler=\"$:/state/sidebar\" $value=\"yes\"/>\n</$reveal>\n```\n\n<<.from-version \"5.1.20\">> 次の例では、ブラウザによって報告された言語に一致する言語プラグインに切り替えます:\n\n```\n<$action-setfield $tiddler=\"$:/language\" text={{{ [[$:/languages/en-GB]] [plugin-type[language]sort[description]removeprefix[$:/languages/]] +[prefix{$:/info/browser/language}] ~[[en-GB]] +[addprefix[$:/languages/]] }}}/>\n```\n\nデフォルトでは、グローバルマクロは初期スタートアップアクションTiddler内では利用できないことに注意してください。これらにアクセスする必要がある場合は、Tiddlerの先頭に[[Pragma: \\import]]を明示的に含める必要があります:\n\n```\n\\import [subfilter{$:/core/config/GlobalImportFilter}]\n```\n\n!! レンダリング後のスタートアップアクション\n\n<<.from-version \"5.1.23\">> レンダリング後のスタートアップアクションは、TiddlyWikiのユーザーインターフェイスがレンダリングされた後に実行されます。これにより、レンダリングされた表示に依存するアクション(モーダルの表示など)を実行できるようになります。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/fileformats/MultiTiddlerFileSyntax.tid",
    "content": "created: 20150621181334837\nmodified: 20250124111732489\noriginal-modified: 20150621181400844\ntags: [[TiddlyWiki on Node.js]]\ntitle: MultiTiddlerFileSyntax\nja-title: マルチTiddlerファイル構文\ntype: text/vnd.tiddlywiki\n\n!!! [[マルチTiddlerファイル|MultiTiddlerFiles]]\n\n<$railroad text=\"\"\"\n{<\"ヘッダー行\">} \"空行\" {(<\"Tiddler記述行\"> | <\"コメント行\">)}\n\"\"\"/>\n\n!!! ヘッダー行\n\n<$railroad text=\"\"\"\n<\"識別子\"> \":\" {\"ホワイトスペース\"} <\"値\"> \"改行\"\n\"\"\"/>\n\n!!! Tiddler記述行\n\n<$railroad text=\"\"\"\n<\"ファイルパス\"> \":\" {\"ホワイトスペース\"} <\"Tiddlerタイトル\"> \"改行\"\n\"\"\"/>\n\n!!! コメント行\n\n<$railroad text=\"\"\"\n\"#\" {(\"テキスト\" | \"ホワイトスペース\")} \"改行\"\n\"\"\"/>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/fileformats/MultiTiddlerFiles.tid",
    "content": "created: 20140209143652456\nmodified: 20250123115055695\noriginal-modified: 20150621182140407\ntags: [[TiddlyWiki on Node.js]]\ntitle: MultiTiddlerFiles\nja-title: マルチTiddlerファイル\ntype: text/vnd.tiddlywiki\n\nMultiTiddlerFilesを使用すると、複数のTiddlerを1つのテキストファイルに簡潔に表現できます。\n\nこの形式の目標は次のとおりです:\n\n* 入力しやすく、読みやすい\n* 単一行の文字列に最適化\n* Tiddlerのグループ内で共通のフィールドやタグを共有できるようにする\n* 外部ツールで簡単に処理できるようにする\n\nMultiTiddlerFilesの拡張子は`multids`です。ファイルは、共有フィールドのブロックとそれに続く空白行で構成されます。ファイルの残りの部分は、コメントとTiddlerのシーケンスです。Tiddlerはタイトルで指定され、その後にコロン、少なくとも1つのスペース文字が続き、行の残りの部分はTiddlerのテキストフィールドになります。\n\n例: \n\n```\ntitle: $:/language/ControlPanel/\ntags: strings\nmodifier: JoeBloggs\n\nBasics/Caption: Basics\n# This is a comment\nBasics/Version: ~TiddlyWiki Version\n```\n\nこの例では、[[$:/language/ControlPanel/Basics/Caption]]と[[$:/language/ControlPanel/Basics/Version]]の2つのTiddlerを定義します。\n\nヘッダーで`title`フィールドが指定されている場合、タイトルで定義された個々のTiddlerのプレフィックスとして扱われます。\n\n!! 構文の仕様\n\n{{MultiTiddlerFileSyntax}}\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/fileformats/TiddlerFiles.tid",
    "content": "created: 20130825150000000\nmodified: 20250125105846987 \noriginal-modified: 20210714130751701\ntags: [[TiddlyWiki on Node.js]]\ntitle: TiddlerFiles\nja-title: Tiddlerファイル\ntype: text/vnd.tiddlywiki\n\nTiddlerは、さまざまな形式でテキストファイルに保存できます。単一のTiddlerを含むファイルには、名前:値のペアのシーケンスとしてフォーマットされた`.meta`補助ファイルを持つこともできます。\n\n```\ntitle: TheTitle\nmodifier: someone\n```\n\n!! ~TiddlyWebスタイルの.tidファイル\n\nこれらのファイルは、名前:値のペア、空白行、そしてTiddlerのテキストを含む一連の行で構成されます。例:\n\n```\ntitle: MyTiddler\nmodifier: Jeremy\n\nThis is the text of my tiddler.\n```\n\n多くのテキストエディターでは、ファイルに終了改行が含まれている必要があることに注意してください。Tiddlerのテキストに終了改行を含めたくない場合は、次の代替構文を使用できます:\n\n```\ntitle: MyTiddler\nmodifier: Jeremy\ntext: This is the text of my tiddler.\n```\n\n//`application/x-tiddler` ContentTypeはこれらのファイルの内部で使用されます//\n\n!! TiddlyWiki `<DIV>`  .tiddlerファイル\n\nTiddlyWiki 5では、`*.tiddler`ファイルは次のようになります。\n\n```\n<div title=\"AnotherExampleStyleSheet\" modifier=\"blaine\" created=\"201102111106\" modified=\"201102111310\" tags=\"examples\" creator=\"psd\">\n<pre>Note that there is an embedded <pre> tag, and line feeds are not escaped.\n\nAnd, weirdly, there is no HTML encoding of the body.</pre>\n</div>\n```\n\nこれらの`*.tiddler`ファイルは、HTML エンコードされたTiddlyWiki HTMLファイル内のTiddlerとまったく同じではありません。\n\nOlder `*.tiddler` files more closely matched the store format used by TiddlyWiki at the time:\n古い`*.tiddler`ファイルは、当時TiddlyWikiで使用されていたストア形式に似ています:\n\n```\n<div tiddler=\"AnotherExampleStyleSheet\" modifier=\"JeremyRuston\" modified=\"200508181432\" created=\"200508181432\" tags=\"examples\">This is an old-school .tiddler file, without an embedded &lt;pre&gt; tag.\\nNote how the body is &quot;HTML encoded&quot; and new lines are escaped to \\\\n</div>\n```\n\n//`application/x-tiddler-html-div` ContentTypeはこれらのファイルの内部で使用されます//\n\n!! ~TiddlyWebスタイルのJSONファイル\n\nこれらのファイルは、`name:value`プロパティのハッシュマップの単純な配列です。すべてのフィールド値は文字列として指定する必要があります。\n\n例:\n\n```\n[\n\t{\n\t\t\"title\": \"First Tiddler\",\n\t\t\"text\": \"Text of first tiddler\",\n\t\t\"tags\": \"one two [[t h r e e]]\"\n\t},{\n\t\t\"title\": \"Second Tiddler\",\n\t\t\"text\": \"Text of second tiddler\",\n\t\t\"modified\": \"20150216171751154\"\n\t}\n]\n```\n\n`application/json` ContentTypeはこれらのファイルに対して内部で使用されます。\n\nTiddler構造に準拠していないJSONファイルは、代わりにJSONデータを含む単一のTiddlerとしてインポートされることに注意してください。\n\n!! TiddlyWiki HTMLファイル用の新しいJSONベースの形式\n\nTiddlyWiki HTMLファイルの新しい形式では、スクリプトタグ内にJSON形式のTiddlerが埋め込まれます:\n\n```json\n<script class=\"tiddlywiki-tiddler-store\" type=\"application/json\">[\n{\"title\": \"A\",\"text\": \"One\"},\n{\"title\": \"B\",\"text\": \"Two\"}\n]</script>\n```\n\n!! TiddlyWiki HTMLファイル用の古いDIVベースの形式\n\nTiddlyWikiクラシックおよびバージョンv5.2.0より前のTiddlyWiki 5では、Tiddlerは`<DIV>`形式でエンコードされて保存されていました。\n\nTiddlyWikiが暗号化されていないDIVベースのHTMLファイルをインポートするには、上で説明したようにTiddler DIVを含んだ`<div id=\"storeArea\">`が必要です。例:\n\n```\n<div id=\"storeArea\">\n<div created=\"20130302085406905\" modified=\"20130302084548184\" tags=\"Examples\" title=\"A tiddler title\">\n<pre>HTML encoded text of tiddler\n</pre>\n</div>\n<div created=\"20140315085406905\" modified=\"20140321084548184\" tags=\"One Two [[Three with Space]]\" title=\"Another title\" customfield=\"field value\">\n<pre>Text of this tiddler\n</pre>\n</div>\n</div>\n```\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/filters/Introduction to filter notation.tid",
    "content": "created: 20140410101941871\nmodified: 20241016110639693\noriginal-modified: 20201103111438568\ntags: Learning Filters\ntitle: Introduction to filter notation\nja-title: フィルタ表記の紹介\ntype: text/vnd.tiddlywiki\n\n<<.preamble \"\"\"ここでは、Tiddlerのセットを選択する[[フィルタ|Filters]]の書き方の基本を説明しています。より技術的なプレゼンテーションについては、[[フィルタのシンタックス|Filter Syntax]]を参照してください\"\"\">>\n\n<$macrocall $name=\".tip\" _=\"\"\"フィルタを単独でTiddlerに入力するだけでは、フィルタは何も行いません。コンテキストが必要です。フィルタを試す簡単な方法は、[[詳細検索|$:/AdvancedSearch]]の<<.advancedsearch-tab Filter>>タブにフィルタを入力することです\"\"\"/>\n\n最も単純なケースは、どのTiddlerが必要かすでに正確にわかっている場合です。各タイトルを二重角括弧で囲み、各タイトルと次のタイトルの間にスペースを入れて入力します:\n\n> `[[Recipe book]] [[ScrambledEggs]] [[Mom's apple pie]]`\n\nタイトルにスペースが含まれていない場合は、角括弧を省略できます:\n\n> `[[Recipe book]] ScrambledEggs [[Mom's apple pie]]`\n\n二重角括弧は実際には次の表記の短縮形です:\n\n> `[title[ScrambledEggs]]`\n\n... 任意のフィルタの<<.def \"一般的なモデル\">>は次のようになります:\n\n> `[operator[parameter]]`\n\n例えば、<<.tag Recipe>>でタグ付けされたすべてのTiddlerを選択する方法は次のとおりです:\n\n> `[tag[Recipe]]`\n\n演算子の直前に感嘆符`!`を追加すると、意味を逆にすることができます。例えば、<<.tag Recipe>>タグのない任意のTiddlerを選択できます:\n\n> `[!tag[Recipe]]`\n\nTiddlerは、タイトルとタグ以外の他のフィールドでもフィルタリングできます:\n\n> `[field:serving[4]]`\n\nこの例では、<<.field serving>>フィールドに、<<.value 4>>を持つすべてのTiddlerを選択します:\n\n\"serving\"という単語は標準のフィルタ演算子ではない(また、標準のフィルタ演算子になる可能性も低い)ため、`field:`接頭辞を省略しても安全です:\n\n> `[serving[4]]`\n\n!組み合わせ\n\nこれまで見てきたフィルタには、それぞれ1つのステップしか含まれていません。でも、次のように複数のステップを一緒に<<.def ラン>>できます:\n\n> `[tag[Vegetarian]!tag[soup]serving[4]]`\n\n1組の角括弧内にラン全体がどのように含まれているかに注目してください\n\nTiddlerはランの中で<<.em すべて>>のステップを一致させなければなりません。したがって、上の例では、4人分のベジタリアンレシピ(スープ以外)を取得します\n\n一連の個別のランにより、<<.em いずれか>>のランに一致するTiddlerが選択されます。これを使用して、3人分、または、4人分、5人分のレシピを見つけることができます:\n\n> `[serving[3]] [serving[4]] [serving[5]]`\n\n4人分のベジタリアンレシピを無視したい場合は、次のように言えます:\n\n> `[serving[3]] [serving[4]!tag[Vegetarian]] [serving[5]]`\n\nデフォルトでは、各ランではWiki内のすべてのTiddlerが考慮されます。ただし、`+`記号を使用して、前の実行で選択されたTiddlerのみを考慮するようにランを強制することができます:\n\n> `[serving[3]] [serving[4]] [serving[5]] +[tag[Vegetarian]] +[sort[title]]`\n\nこれにより、3人分、または、4人分、5人分のレシピが選択され、次に<<.em それら>>がフィルタリングされてベジタリアンレシピのみが残り、最後に残ったレシピがタイトルのアルファベット順に並べ替えられます\n\n同様の方法で、`-`符号を使用して、これまでの結果からランのTiddlerを<<.em 除外>>できます。次の表記では、2つを除くすべてのベジタリアンレシピを選択します:\n\n> `[tag[Vegetarian]] -[title[ScrambledEggs]] -BeansOnToast`\n\n!スペシャルパラメータ\n\nこれまで見てきた各ステップのパラメータは角括弧内にあります。これは、~TiddlyWikiが括弧内にある正確な文字列をフィルターすることを意味します。でも、他に2種類の括弧も使用できます:\n\n<<.def \"中括弧\">>`{}`はパラメータはTextReferenceであり、別のTiddlerのコンテンツに置き換えられることを意味します。例えば、タイトルが<<.tid Preference>>であり、その内容が1つの単語<<.value Vegetarian>>であるTiddlerの場合、次のように言えます:\n\n> `[tag{Preference}]`\n\nこの単純な形式では、TextReferenceはTiddlerの完全な内容(技術用語では、Tiddlerのテキストフィールド)を取得し、TextReferenceの代わりにそれを置き換えます。こうすることで、`[tag[Vegetarian]]`を記述した場合と同様に、Tiddlerの内容がフィルタパラメータになります。違いは、Preference Tiddlerの内容を変更することで、パラメータを変更する柔軟性が高まります\n\n<<.def \"山括弧\">>`<>`は、パラメータが[[変数|Variables]]の名前であり、その値が代わりに使用されることを意味します。現在のタイトルをテキストに含むTiddlerを選択するフィルターとして、<<.vlink currentTiddler>>組込み変数を使用します:\n\n山括弧は、パラメータが[[変数|Variables]]の名前であり、その値が代わりに使用されることを意味します。ここでは、テキストに現在のタイトルが含まれるTiddlerを選択するフィルタで、組込み変数<<.vlink currentTiddler>>を使用します:\n\n> `[search<currentTiddler>]`\n\nこれらの特殊な括弧はネストできないことに注意してください。例えば、`[search{<currentTiddler>}]`と書くことはできません\n\n!複数のパラメータ\n\n<<.from-version \"5.1.23\">>一部のステップは、` , `文字で区切られた複数のパラメータを受け入れます\n\n> Example: `[param1],[param2]` or `<param1>,{param2}`"
  },
  {
    "path": "editions/ja-JP/tiddlers/filters/syntax/All Filter Run Prefix.tid",
    "content": "created: 20230316150731234\nfrom-version: 5.1.23\nmodified: 20250303102704427\noriginal-modified: 20230711084644541\nrp-input: 前回のフィルタランからのすべてのタイトル\nrp-output: アウトプットタイトルは、重複を排除せずに以前のフィルタランの出力に追加されます。\nrp-purpose: 重複を排除しない和集合\ntags: [[Named Filter Run Prefix]]\ntitle: All Filter Run Prefix\nja-title: allフィルタランプレフィックス\ntype: text/vnd.tiddlywiki\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n( \":all\" | - )\n[[\"ラン\"|\"Filter Run\"]]\n\"\"\"/>\n\nこのプレフィックスにはオプションの[[ショートカット構文|Shortcut Filter Run Prefix]]であるシンボル`=run`があります"
  },
  {
    "path": "editions/ja-JP/tiddlers/filters/syntax/And Filter Run Prefix.tid",
    "content": "created: 20230318142752854\nfrom-version: 5.1.23\nmodified: 20250303103244036\noriginal-modified: 20230711084712170\nrp-purpose: フィルタステップの蓄積\nrp-input: これまでのすべてのランのフィルタアウトプット\nrp-output: アウトプットのタイトルは、以前のフィルターランのアウトプットを置換\ntags: [[Named Filter Run Prefix]]\ntitle: And Filter Run Prefix\nja-title: andフィルタランプレフィックス\ntype: text/vnd.tiddlywiki\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n( \":and\" | - )\n[[\"ラン\"|\"Filter Run\"]]\n\"\"\"/>\n\nこのプレフィックスにはオプションの[[ショートカット構文|Shortcut Filter Run Prefix]]であるシンボル+runがあります"
  },
  {
    "path": "editions/ja-JP/tiddlers/filters/syntax/Cascade Filter Run Prefix (Examples).tid",
    "content": "created: 20211130114857532\nfilter1: [prefix[ca]then[ca]]\nfilter2: [suffix[at]then[at]]\nfilter3: other\nmodified: 20250310110107153\noriginal-modified: 20230305125250563\ntags: [[Cascade Filter Run Prefix]]\ntitle: Cascade Filter Run Prefix (Examples)\nja-title: cascadeフィルタランプレフィックス (例)\ntype: text/vnd.tiddlywiki\n\n<<.op \":cascade\">>フィルタランプレフィックスは、タグマクロによって生成されるタグピルで使用される各Tiddlerの配色を選択するために、~TiddlyWikiコアによって使用されます。\n\n`:cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerColourFilter]!is[draft]get[text]]`\n\n上記の<<.op :cascade>>フィルタラン内のフィルタ式は、<<tag $:/tags/TiddlerColourFilter>>でタグ付けされたTiddlerのテキストフィールドからフィルタのリストを返します。以下を参照: \n\n<ul>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TiddlerColourFilter]!is[draft]get[text]]\">\n<li><pre><$text text=<<currentTiddler>>/></pre></li>\n</$list>\n</ul>\n\nインプットタイトルごとに、これらのフィルタが順番に適用され、空でないリストを返す最初のフィルタが見つかるまで続きます。この空でないリストの最初の結果がそのインプットタイトルに置き換えられ、そのTiddlerの色として使用されます。\n\n<<.operator-example 1 \"\"\"[all[shadows+tiddlers]] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerColourFilter]!is[draft]get[text]] +[!is[blank]limit[10]]\"\"\">>\n\n!! 拡張例\n\nこの例では、<<.op :cascade>>フィルタランがどのように機能するかを段階的に説明します。\n\nアウトプットがフィルタのリストを返すフィルタ式が必要です。通常、このようなフィルタ式は、一連のTiddler内のいくつかのフィールドを照会して(おそらくタグ経由で)フィルタのリストを作成します。この例を自己完結型にするために、このTiddlerの//filter1//、//filter2//、//filter3//フィールドに、3つのフィルタが格納されます。[[テキスト参照|TextReference]]と[[appendオペレータ|append Operator]]のインスタンスを使用して、フィールドをフィルタのリストに結合します。\n\nフィルター`[{!!filter1}append{!!filter2}append{!!filter3}]`は、次のフィルタリストを生成します: \n\n<ul>\n<$list filter=\"[{!!filter1}append{!!filter2}append{!!filter3}]\">\n<li><pre><$text text=<<currentTiddler>>/></pre></li>\n</$list>\n</ul>\n\nこの例では、`cat can bat bug`がインプットタイトルとして使用されます。各インプットタイトルは、上記の各フィルタに対して順番に<<.op :cascade>>で評価されます。<<.op :cascade>>の内部で何が起こっているかを理解しやすくするために、次の表では、[[mapフィルタランプレフィックス|Map Filter Run Prefix]]を使用して、各フィルタの結果を示しています。\n\n|^<<.operator-example c1.1 \"cat can bat bug :map[prefix[ca]then[ca]]\">>|^<<.operator-example c1.2 \"cat can bat bug :map[suffix[at]then[at]]\">>|^<<.operator-example c1.3 \"cat can bat bug :map[[other]]\">>|\n\n上記の3つの例で\"Try it\"をクリックします。<<.op :cascade>>を使用すると、各行の左から右に読み取られた最初の空白以外の値が返されます。最終結果を確認するには、下の\"Try it\"をクリックします。\n \n<<.operator-example c1.4 \"cat can bat bug :cascade[{!!filter1}append{!!filter2}append{!!filter3}]\">>"
  },
  {
    "path": "editions/ja-JP/tiddlers/filters/syntax/Cascade Filter Run Prefix.tid",
    "content": "created: 20211130114043280\nfrom-version: 5.2.1\nmodified: 20250305112707026\noriginal-modified: 20230710073343947\nrp-input: これまでのすべてのランのフィルタアウトプット\nrp-output: このフィルタランによって返されるフィルタによって変更されたインプットタイトル\nrp-purpose: フィルターのリストを順に評価し、最初の結果を適用してインプットタイトルを変更\ntags: [[Named Filter Run Prefix]]\ntitle: Cascade Filter Run Prefix\nja-title: cascadeフィルタランプレフィックス\ntype: text/vnd.tiddlywiki\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n( \":cascade\" | - )\n[[\"ラン\"|\"Filter Run\"]]\n\"\"\"/>\n\nこの[[フィルタラン|Filter Run]]の[[フィルタ式|Filter Expression]]が評価され、フィルタのリストが返されます。次に、各インプットタイトルが各フィルタに対して順番に評価され、インプットタイトルは空でないリストを返す最初のフィルタの最初の結果に置き換えられます。どのフィルタもインプットタイトルの結果を返さない場合は、空の文字列に置き換えられます。\n\nフィルタラン内では、次の変数を使用できます: \n\n* <<.var currentTiddler>> - インプットタイトル\n* <<.var ..currentTiddler>> - フィルタラン外の変数<<.var currentTiddler>>の値。\n\n[[cascadeフィルタランプレフィックス (例)|Cascade Filter Run Prefix (Examples)]]\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/filters/syntax/Else Filter Run Prefix.tid",
    "content": "created: 20230318142408662\nfrom-version: 5.1.23\nmodified: 20250312102737003\noriginal-modified: 20230322140756821\nrp-input: 前のフィルタランからのすべてのタイトル\nrp-output: これまでのフィルタアウトプットが空のリストの場合、ランのアウトプットタイトルがフィルタアウトプットに[[追加|Dominant Append]]されます<br>これまでのフィルタアウトプットが空のリストでない場合、ランは無視されます\nrp-purpose: フィルタランは、これまでのすべてのランのフィルタアウトプットが空のリストである場合にのみ評価されます\ntags: [[Named Filter Run Prefix]]\ntitle: Else Filter Run Prefix\nja-title: elseフィルタランプレフィックス\ntype: text/vnd.tiddlywiki\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n( \":else\" | - )\n[[run|\"Filter Run\"]]\n\"\"\"/>\n\nこのプレフィックスには[[ショートカットフィルタランプレフィックス|Shortcut Filter Run Prefix]] シンボル`~run`があります\n\n参照: [[thenフィルタランプレフィックス|Then Filter Run Prefix]] | [[thenオペレータ|then Operator]] と [[elseオペレータ|else Operator]]\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/filters/syntax/Except Filter Run Prefix.tid",
    "content": "created: 20230318142056008\nfrom-version: 5.1.23\nmodified: 20250312104032308\noriginal-modified: 20230322140643066\nrp-input: 前のフィルタランからのすべてのタイトル\nrp-output: アウトプットタイトルはフィルタのアウトプットから取り除かれます（そのようなTiddlerが存在する場合）\nrp-purpose: このフィルタランのアウトプットタイトルが前のフィルタランのアウトプットに含まれている場合は取り除かれ、含まれていない場合は無視されます\ntags: [[Named Filter Run Prefix]]\ntitle: Except Filter Run Prefix\nja-title: exceptフィルタランプレフィックス\ntype: text/vnd.tiddlywiki\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n( \":except\" | - )\n[[run|\"Filter Run\"]]\n\"\"\"/>\n\nこのプレフィックスには[[ショートカットフィルタランプレフィックス|Shortcut Filter Run Prefix]]シンボル`-run`があります"
  },
  {
    "path": "editions/ja-JP/tiddlers/filters/syntax/Filter Expression.tid",
    "content": "created: 20150124182421000\nmodified: 20250219114110986\noriginal-modified: 20230710074507466\ntags: [[Filter Syntax]]\ntitle: Filter Expression\nja-title: フィルタ式\ntype: text/vnd.tiddlywiki\n\n<<.def \"フィルタ式\">>は、[[フィルタのシンタックス|Filter Syntax]]の最も外側のレベルです。これは、[[フィルタランプレフィックス|Filter Run Prefix]]を備えた [[フィルタラン|Filter Run]]で構成されます。複数のフィルタ実行は[[ホワイトスペース|Filter Whitespace]]で区切られます。\n\n<$railroad text=\"\"\"\n{ (\n    - |\n    : [[<\"プレフィックス\">|\"Filter Run Prefix\"]]\n  )\n  [[\"ラン\"|\"Filter Run\"]]\n  +  [[\"ホワイトスペース\"|\"Filter Whitespace\"]]\n}\n\"\"\"/>\n\n<<.tip \"\"\"上に示したように、図に開始線と終了線が1つある場合は、リンクされた上位レベルにさらに情報があることを意味します。パンくずリストはナビゲーションに使用できます\"\"\">>\n\n<<.tip \"\"\"下位レベルで使用されているように、図に開始点と終了点がない場合は、読みやすさと単純さを高めるために、上位レベルのシンタックス要素が削除されていることを意味します。パンくずリストはナビゲーションに使用できます\"\"\">>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/filters/syntax/Filter Filter Run Prefix (Examples).tid",
    "content": "created: 20211129022707404\nmodified: 20250314105437481\noriginal-modified: 20230305125338118\ntags: [[Filter Filter Run Prefix]]\ntitle: Filter Filter Run Prefix (Examples)\nja-title: filterフィルタランプレフィックス(例)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[tag[HelloThere]] :filter[get[text]length[]compare:integer:gteq[1000]]\">>\n<<.operator-example 2 \"[tag[HelloThere]] :filter[get[text]length[]compare:integer:lteq[2000]]\">>\n<<.operator-example 3 \"[tag[HelloThere]] :filter[get[text]length[]compare:integer:gteq[1000]] :filter[get[text]length[]compare:integer:lteq[2000]]\">>\n<<.operator-example 4 \"[tag[Features]] :filter[links[]!is[shadow]is[missing]]\">>\n\n<<.operator-example 5 \"A B C D E F :filter[<index>remainder[2]compare:integer:eq[0]]\" \"インプットリストの要素を1つおきに返す\">>\n\n\n<<.operator-example 6 \"[tag[shopping]] :filter[{!!quantity}compare:integer:gt[4]] :map[addprefix[ ]addprefix{!!quantity}]\">>\n<<.operator-example 7 \"[tag[shopping]] :filter[{!!quantity}compare:integer:lteq[4]] :map[addprefix[ ]addprefix{!!quantity}]\">>\n\n!! フィルタランプレフィックス`:filter`と`:and`/`+`の比較\n\n<<.op :filter>>フィルタランプレフィックスの機能は、<<.op :and>>プレフィックス(エイリアス<<.op +>>)と一部重複しています。上記のフィルタ式にはすべて、次の2 つのプロパティがあることに注意してください: \n\n# フィルタ式の先頭では、インプットタイトル(つまり、`get[text]length[]`、`links[]`、`<index>remainder[2]`、`{!!quantity}`)が変換されます。\n# フィルタ式の最後では、インプット項目が何らかの条件(つまり`compare`、`is`)を満たす場合にのみアウトプットに送信されます。\n\n<<.op :filter>>プレフィックスの目的はプロパティ#1によってインプットタイトルが変換されるにもかかわらず、元のインプットタイトルを返すことです。こうすることで、\"何らかの条件を満たす\"チェックを元のインプット以外のものに対して実行できます。一部のフィルタ式でプロパティ#1が必要ない場合は、代わりに<<.op :and>>プレフィックスを使用できます。\n\n| <<.op :filter>> | <<.op :and>> |\n|^<<.operator-example c1.1 \"[tag[HelloThere]] :filter[get[text]length[]compare:integer:gteq[1000]]\">>|^<<.operator-example c1.2 \"[tag[HelloThere]] :and[get[text]length[]compare:integer:gteq[1000]]\">>|\n|^<<.operator-example c2.1 \"[tag[Features]] :filter[links[]!is[shadow]is[missing]]\">>|^<<.operator-example c2.2 \"[tag[Features]] :and[links[]!is[shadow]is[missing]]\">>|\n|!結果は同じ|<|\n|^<<.operator-example c3.1 \"cat can bat bug :filter[suffix[at]minlength[3]]\">>|^<<.operator-example c3.2 \"cat can bat bug :and[suffix[at]minlength[3]]\">>|"
  },
  {
    "path": "editions/ja-JP/tiddlers/filters/syntax/Filter Filter Run Prefix.tid",
    "content": "created: 20211129022455873\nfrom-version: 5.1.23\nmodified: 20250314105047035 \noriginal-modified: 20230710073334078\nrp-input: これまでのすべてのランのフィルタアウトプット\nrp-output: フィルタランが空でないインプットタイトル\nrp-purpose: フィルタランアウトプットが空のリストであるすべてのインプットタイトルを除外\ntags: [[Named Filter Run Prefix]]\ntitle: Filter Filter Run Prefix\nja-title: filterフィルタランプレフィックス\ntype: text/vnd.tiddlywiki\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n( \":filter\" | - )\n[[\"ラン\"|\"Filter Run\"]]\n\"\"\"/>\n\nこれまでのフィルタアウトプットをインプットとして受け取ります。次のランはインプットの各タイトルに対して評価され、アウトプットが空のリストであるすべてのインプットタイトルが除かれます。\n\nフィルタラン内では、<<.var currentTiddler>>変数は処理中のTiddlerのタイトルに設定されていることに注意してください。これにより、`:filter[{!!price}multiply{!!cost}compare:integer:gteq[5]]`のようなフィルタランを計算に使用できるようになります。ラン外のcurrentTiddlerの値は、<<.var ..currentTiddler>>変数で使用できます。\n\nフィルターラン内では、次の変数を使用できます: \n\n* <<.var currentTiddler>> - インプットタイトル\n* <<.var ..currentTiddler>> - フィルタラン外の変数`currentTiddler`の値。\n* <<.var index>> - <<.from-version \"5.2.1\">> 現在のリスト項目の数値インデックス(リストの最初の項目はゼロです)。\n* <<.var revIndex>> - <<.from-version \"5.2.1\">> 現在のリスト項目の逆数値インデックス(リストの最後の項目はゼロです)。\n* <<.var length>> - <<.from-version \"5.2.1\">> インプットリストの長さの合計。\n\n<<.tip \"名前付きフィルタランプレフィックス`:filter`を、この演算子は、すべてのインプットタイトルにサブフィルタを適用し、サブフィルタから空の結果を返すタイトルを除外する[[filterオペレータ|filter Operator]]と比べてください。\">>\n\n[[filterフィルタランプレフィックス(例)|Filter Filter Run Prefix (Examples)]]\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/filters/syntax/Filter Parameter.tid",
    "content": "created: 20150220152540000\nmodified: 20250223102930110\noriginal-modified: 20240708202234843\ntags: [[Filter Step]]\ntitle: Filter Parameter\nja-title: フィルタパラメータ\ntype: text/vnd.tiddlywiki\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n( \"[\" [: <-\"ハード\"-> /\"]以外\"/] \"]\"\n  |\n  \"{\" [: <-\"間接\"-> /\"}以外\"/] \"}\"\n  |\n  \"<\" [: <-\"変数\"-> /\">以外\"/] \">\"\n)\n\"\"\"/>\n\n[[フィルタオペレータ|Filter Operators]]のパラメーターは次のようになります: \n\n;<<.def ハード>>\n: `[パラメータ例]`\n: パラメータは、角括弧内のテキストそのものです。\n;<<.def ソフト>>\n: <<.def 間接>>\n:: `{パラメータ例}`\n:: パラメータは、中括弧内の名前の[[テキスト参照|TextReference]]によって示されるテキスト、つまり、指定されたTiddlerの[[フィールド|TiddlerFields]]、または指定された[[データTiddler|DataTiddlers]]のプロパティの値です。\n: <<.def 変数>>\n:: `<パラメータ例>`\n:: パラメータは、山括弧内の[[変数|Variables]]の現在値です。マクロパラメータは、v5.2.0まではサポートされて<<.em いません>>。\n::<<.from-version \"5.2.0\">> リテラルマクロパラメータがサポートされています。例: `[<now [UTC]YYYY0MM0DD0hh0mm0ssXXX>]`。\n\n<<.note \"\"\"すべての[[フィルタオペレータ|filter Operator]]の後にはパラメータ式が続く必要があります。[[パラメータの無いオペレータ|Operators without parameters]]の場合、その式は空になります(`[<currentTiddler>links[]]`のフィルタオペレータ<<.olink links>>と同様)。\"\"\">>\n\n---\n\n<<.from-version \"5.1.23\">>  [[フィルタステップ|Filter Step]]では、`,`文字で区切られた複数のパラメータがサポートされます。\n\n例えば: `[param1],[param2]`や`<param1>,{param2}`\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/filters/syntax/Filter Run Prefix.tid",
    "content": "created: 20230305130600148\nmodified: 20250223105142349\noriginal-modified: 20230711090913687\ntags: [[Filter Expression]]\ntitle: Filter Run Prefix\nja-title: フィルタランプレフィックス\ntype: text/vnd.tiddlywiki\n\nThere are 2 types of filter run prefixes that are interchangeable; [[named prefixes|Named Filter Run Prefix]] and [[shortcut prefixes|Shortcut Filter Run Prefix]]. \n交換可能なフィルタランプレフィックスには、[[名前付きプレフィックス|Named Filter Run Prefix]]と[[ショートカットプレフィックス|Shortcut Filter Run Prefix]]の2種類があります。\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n(\n   - |\n:  [[<\":名前付きプレフィクス\"> /\"v5.1.23以降\"/ |\"Named Filter Run Prefix\"]] | \n   [[<\"ショートカットプレフィックス\"> /\"v5.1.23以前\"/ |\"Shortcut Filter Run Prefix\"]]\n)\n[[<\"ラン\">|\"Filter Run\"]]\n\"\"\"/>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/filters/syntax/Filter Run.tid",
    "content": "created: 20150124182117000\nmodified: 20250220111652831\noriginal-modified: 20230710074357002\ntags: [[Filter Expression]]\ntitle: Filter Run\nja-title: フィルタラン\ntype: text/vnd.tiddlywiki\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n( \"[\" { [[<\"フィルタステップ\">|\"Filter Step\"]] } \"]\"\n  |\n  [:{/\"[ ]または空白以外の文字\"/}]\n  |\n  '\"' [:{/'\"以外の文字'/}] '\"'\n  |\n  \"'\" [:{/\"'以外の文字\"/}] \"'\"\n)\n\"\"\"/>\n\n<<.def ラン>>は[[ステップ|Filter Step]]で構成され、より大きな[[フィルタ式|Filter Expression]]に貢献する[[選択|Title Selection]]を出力します。\n\nステップは左から右に処理されます。最初のステップへのインプットはランへのインプットと同じです。後続の各ステップのインプットは、前のステップのアウトプットです。\n\n\n図の下の3つのオプションは`HelloThere`、`\"HelloThere\"`、`'HelloThere'`と`\"Filter Operators\"`の構文と一致します。これらは`[title[...]]`の短縮形です。\n\n引用符で囲まれたオプションは、`\"An [[[[Unusual]]]] Tiddler\"`のように角括弧を含むタイトルをサポートするために存在します。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/filters/syntax/Filter Step.tid",
    "content": "created: 20150124182127000\nmodified: 20251213102731461\noriginal-modified: 20250731101041336\ntags: [[Filter Run]]\ntitle: Filter Step\nja-title: フィルタステップ\ntype: text/vnd.tiddlywiki\n\n<<.def \"フィルタステップ\">>は、<<.def \"フィルタラン\">>内の単一の操作を表します。\n\nプログラミング用語では、ステップのインプットがパラメータとして渡される関数呼び出しに似ています。ステップのアウトプットは、[[フィルタラン|Filter Run]]、つまりそれを含む[[フィルタ式|Filter Expression]]全体に貢献する[[タイトルセレクション|Title Selection]]です。\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n[\"!\"]\n( / \"省略の場合のデフォルト: title\" /|:\n( :[[<\"オペレータ\">|\"Filter Operators\"]] )\n[ {\":\" [: [[<\"サフィックス\">|\"Filter Operators\"]] ] }] )\n{ [[<\"パラメータ\">|\"Filter Parameter\"]] + \",\" }\n\"\"\"/>\n\nステップの<<.def オペレータ>>は、[[フィルタオペレータ|Filter Operators]]として知られている定義済みキーワードのリストです。\n\n多くのステップでは、ステップの実行内容をさらに定義する明示的な<<.def パラメータ>>が必要です。\n\n<<.def サフィックス>>は、特定のオペレータの意味を拡張する追加テキスト(多くの場合、[[フィールド|TiddlerFields]]名)です。\n\nステップの<<.def オペレータ>>と<<.def サフィックス>>がすべて省略されている場合は、デフォルトで[[title|title Operator]]オペレータが使用されます。\n\n<<.from-version \"5.1.23\">> いくつかのステップでは、`,`文字で区切られた複数の<<.def パラメータ>>を受け入れます。\n\n認識されないオペレータは、<<.olink field>>オペレータのサフィックスであるかのように扱われます。\n\nフィルタオペレータはプラグインによって拡張できます。\n\n{{Selection Constructors}}\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/filters/syntax/Filter Syntax.tid",
    "content": "created: 20140210141217955\nlist: [[Filter Expression]] [[Filter Run]] [[Filter Step]] [[Filter Parameter]] [[Filter Whitespace]]\nmodified: 20250219112710650\noriginal-modified: 20230710074340943\ntags: Filters\ntitle: Filter Syntax\nja-title: フィルタのシンタックス\ntype: text/vnd.tiddlywiki\n\n<<.preamble \"\"\"[[フィルタ|Filters]]は、正式な構文の説明が役立つと思われる人向けに、[[Railroadダイアグラム|Railroad Diagrams]]を使用して示されている文法に従います。ただし、このグループのTiddlerを理解していなくても、[[フィルタの書き方を学ぶ|Introduction to filter notation]]ことができます\"\"\">>\n\n<<.def フィルタ>>は、<<.def インプット>>を<<.def アウトプット>>に変換するためのパイプラインです。インプットとアウトプットはどちらも、Tiddlerとフィールドの[[タイトルの順序付き集合|Title Selection]]です\n\nフィルタは、''ラン''と呼ばれる小さな構成要素から構成される''式''であり、''ラン''は''ステップ''を使用して構築されます。それぞれがインプットをアウトプットに変換します\n\nフィルタは空のアウトプットから始まります。その実行は左から右に処理され、アウトプットが徐々に修正されます。\n\n\"フィルタのシンタックス\"の記述は次で始まります:\n\n<$railroad text=\"\"\"\n\\start double\n\\end double\n[[<\"フィルタ式\">|\"Filter Expression\"]]\n\"\"\"/>\n\n<<.tip \"上記のようなRailroadボックスを使用して移動できます。\">>"
  },
  {
    "path": "editions/ja-JP/tiddlers/filters/syntax/Filter Whitespace.tid",
    "content": "created: 20150124182304000\nmodified: 20250510104756224\noriginal-modified: 20230710074447240\ntags: [[Filter Expression]]\ntitle: Filter Whitespace\nja-title: フィルタホワイトスペース\ntype: text/vnd.tiddlywiki\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n{( \"スペース\" | \"タブ\" | \"ラインフィード\" | \"リターン\" | \"垂直タブ\" | \"改ページ\" )}\n\"\"\"/>\n\n[[フィルタ式|Filter Expression]]の各ランの間にはホワイトスペース文字が出現します。"
  },
  {
    "path": "editions/ja-JP/tiddlers/filters/syntax/Interchangeable Filter Run Prefixes.tid",
    "content": "created: 20230316151518640\nmodified: 20250225113139787\noriginal-modified: 20230327130626715\ntags: [[Filter Run Prefix]]\ntitle: Interchangeable Filter Run Prefixes\nja-title: 交換可能なフィルターランプレフィックス\ntype: text/vnd.tiddlywiki\n\n!! 交換可能なフィルターランプレフィックス\n\n技術的/論理的な用語で言えば：\n\n|!ラン |!同等の名前付きプレフィックス |!解釈 |!アウトプット |\n|`[run]` |`:or[run]` |重複を排除した和集合 |... OR ラン |\n|`+[run]` |`:and[run]` |フィルタステップの蓄積 |... AND ラン |\n|`-[run]` |`:except[run]` |差集合 |... AND NOT ラン |\n|`~[run]` |`:else[run]` |それ以外 |... ELSE ラン |\n|`=[run]` |`:all[run]` |重複を排除しない和集合 |... OR ラン |\n\nランのインプットは通常、Wiki内の[[隠し|ShadowTiddlers]]Tiddler以外のすべてのTiddlerタイトルのリストです(順不同)。<br>ただし、`+`プレフィックスによってこれを変更できます: \n\n|プレフィックス|インプット|h\n|`-`, `~`, `=`, `:intersection` あるいは、無し| 最初の[[フィルタオペレータ|Filter Operators]]によって特に指定されない限り、<$link to=\"all Operator\">`[all[]]`</$link> Tiddlerのタイトル|\n|`+`, `:filter`,  `:map`, `:reduce`,`:sort` |これまでのすべてのランのフィルタアウトプット|\n\nインプットが変化するため、`-`と`+`の両方のプレフィックスが互いに逆の動作をしないことに注意してください。\n\nたとえば、次の2つの例では、`$:/baz`は実際に存在する場合にのみ削除されます: \n\n* <$link to=\"is Operator\"> `foo bar $:/baz -[is[system]]`</$link>\n* <$link to=\"prefix Operator\">`foo bar $:/baz -[prefix[$:/]]`</$link>\n\n理由を理解するには、両方の最後のランのインプットとその`-`プレフィックスを考慮してください。\n\n存在するかどうかに関係なく、`$:/baz`を削除するには、[[否定のフィルタオペレータ|Filter Operators]]とともに`+`プレフィックスを使用するだけです: \n\n* <$link to=\"is Operator\">`foo bar $:/baz +[!is[system]]`</$link>\n* <$link to=\"prefix Operator\">`foo bar $:/baz +[!prefix[$:/]]`</$link>\n\n!! +と和集合の違い\n\n`+`と`:intersection`の違いについては[[和集合フィルタランプレフィックス(例)|Intersection Filter Run Prefix (Examples)]]を参照してください。\n\n!! 開発者向け\n\n新しいフィルタランプレフィックスを作成するには、`filterrunprefix`の[[モジュールタイプ|ModuleType]]で\n[[Javascriptモジュール|Modules]]を作成します。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/filters/syntax/Intersection Filter Run Prefix (Examples).tid",
    "content": "created: 20211128212902292\nmodified: 20250319104544220\noriginal-modified: 20230305125354209\ntags: [[Intersection Filter Run Prefix]]\ntitle: Intersection Filter Run Prefix (Examples)\nja-title: intersectionフィルタランプレフィックス(例)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"A B C D :intersection[enlist[C D E F]]\">>\n\n<<.operator-example 2 \"A B C D :intersection[enlist[A B C D]]\">>\n\n<<.operator-example 3 \"A B C D :intersection[enlist[E F G H]]\">>\n\n<<.operator-example 4 \":intersection[enlist[A B C D]]\" \"最初のフィルタランでintersectionを使用することはあまり役に立ちません。結果は常に空になります。\">>\n\n!! `+`と`:intersection`の違い\n\nプレフィックス`+`は、形式論理における\"AND\"として考えてください。たとえば、\"条件A ''かつ'' 条件Bを満たすすべてのタイトルを取得する\"などです。ただし、すべてのケースに適しているわけではありません。条件Bがインプットを置き換えるフィルタオペレータを使用する場合、プレフィックス`+`の使用は難しくなります。たとえば、2つのTiddlerに共通するタグを見つけたい場合は、次のようなフィルタ式を記述します: \n\n* <$link to=\"tags Operator\">`[[field Operator]tags[]] +[[compare Operator]tags[]]`</$link>\n\nしかし、これは機能しません。2回目のフィルタランでインプットが破棄され、単一のtitle`[[compare Operator]]`で構成されるインプットに置き換えられるからです。そのため、このフィルタ式から得られる結果は、`compare Operator`Tiddlerのタグだけになります。\n\nこのような場合、必要なのは`:intersection`プレフィックスです。これまでのフィルタアウトプットを取得して、//保留し//、すべてのTiddlerタイトルをインプットとして次のフィルタランを開始します。その後、最新のフィルタランが完了すると、最新のアウトプットを取得して保留していたアウトプットと比較し、保留していたアウトプットと最新のアウトプットの両方に表示されたタイトルのみを含む新しいアウトプットを生成します。したがって、`field Operator`と`compare Operator`に共通するタグのみを取得するには、次のようなフィルタ式を記述します。\n\n* <$link to=\"tags Operator\">`[[field Operator]tags[]] :intersection[[compare Operator]tags[]]`</$link>\n\n次の例では、[[field Operator]]と[[compare Operator]]を使用して、Tiddlerとそれぞれのタグを比較します。\n\n<<.operator-example 5 \"[[field Operator]tags[]]\">>\n<<.operator-example 6 \"[[compare Operator]tags[]]\">>\n\n<<.operator-example 7 \"[[field Operator]tags[]] +[[compare Operator]tags[]]\" \"\"\"\"field Operator\"Tiddlerのタグは失われるため、\"compare Operator\"Tiddlerのタグのみが返されます\"\"\">>\n\n<<.operator-example 8 \"[[field Operator]tags[]] :intersection[[compare Operator]tags[]]\" \"\"\"両方のTiddlerに共通するタグを返します\"\"\">>\n \n\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/filters/syntax/Intersection Filter Run Prefix.tid",
    "content": "created: 20211128212902292\nfrom-version: 5.1.23\nmodified: 20250317105829721\noriginal-modified: 20230710073322863\nrp-input: 前のフィルタランからのすべてのタイトル\nrp-output: このフィルタランの結果と前のランのアウトプットの両方に存在するタイトル\nrp-purpose: 前のランからのタイトルとこのフィルタのタイトルの共通部分を見つける\ntags: [[Named Filter Run Prefix]]\ntitle: Intersection Filter Run Prefix\nja-title: intersectionフィルタランプレフィックス\ntype: text/vnd.tiddlywiki\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n( \":intersection\" | - )\n[[\"ラン\"|\"Filter Run\"]]\n\"\"\"/>\n\n前のランからのフィルタアウトプットは保留されます。`:intersection`フィルタランは、すべてのTiddlerタイトルをインプットとして開始されます。この最後のフィルタランが完了すると、最後のアウトプットが保留アウトプットと比較されます。保留アウトプットと最新アウトプットの両方に表われるタイトルのみを含む新しいアウトプットが生成されます。\n\n[[intersectionフィルタランプレフィックス(例)|Intersection Filter Run Prefix (Examples)]]\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/filters/syntax/Map Filter Run Prefix (Examples).tid",
    "content": "created: 20210618134753828\nmodified: 20250416110748088\noriginal-modified: 20230305125405422\ntags: [[Map Filter Run Prefix]]\ntitle: Map Filter Run Prefix (Examples)\nja-title: mapフィルタランプレフィックス(例)\ntype: text/vnd.tiddlywiki\n\nインプットタイトルが存在する場合はキャプションフィールドで置き換え、存在しない場合はインプットタイトルを保持します: \n\n<<.operator-example 1 \"[tag[Widgets]] :map[get[caption]else{!!title}]\">>\n\n<<.tip \"上記の例は`[tag[Widgets]] :map[{!!caption}!is[blank]else{!!title}]`と同等です。フィールドを`{!!caption}`のようにテキスト参照として参照する場合、存在しない、または空のキャプションフィールドに対しては空文字列が返されることに注意してください。したがって、`else`オペレータの前に`is[blank]`のチェックが必要です。\">>\n\n買い物リストの各タイトルについて、各アイテムの購入にかかる合計コストを計算します:\n\n<<.operator-example 2 \"[tag[shopping]] :map[get[quantity]else[0]multiply{!!price}]\">>\n\n`Widget:`でタグ付けされたすべてのTiddlerのタグを取得します:\n\n<<.operator-example 3 \"[tag[Widgets]] :map:flat[tagging[]] :and[!is[blank]unique[]]\">>\n<<.tip \"`flat`サフィックスがない場合、`:map`フィルタランは各インプットタイトルの最初の結果のみを返します\">>\n\n!! `:map`の`flat`サフィックスの有無の比較\n\n`:map`フィルタランは、少なくともインプットと同じ数のアウトプットを返します。デフォルトでは、1つのインプット項目に対して1つのアウトプット項目が生成されます。フィルタランによってインプット項目が空の結果に変換された場合、その項目のアウトプットは空の文字列になります。フィルタランによってインプット項目が複数の項目に変換された場合、アウトプットには最初の項目のみが表われます。この動作は、`flat`サフィックスを指定することで上書きできます。`flat`サフィックスを指定すると、すべての項目がアウトプットに表れます。\n\n| `:map` | `:map:flat` |\n|^<<.operator-example m0.1 \"[range[4]] :map[match[this matches nothing]]\">>|^<<.operator-example m0.2 \"[range[4]] :map:flat[match[this matches nothing]]\">>|\n|^<<.operator-example m1.1 \"[range[4]] :map[range<currentTiddler>]\">>|^<<.operator-example m1.2 \"[range[4]] :map:flat[range<currentTiddler>]\">>|\n|^<<.operator-example m2.1 \"[range[4]] :map[range<currentTiddler>]\">>|^<<.operator-example m2.2 \"[range[4]] :map:flat[range<currentTiddler>first[]]\">>|\n|^<<.operator-example m3.1 \"[range[4]] :map[range<currentTiddler>sum[]]\">>|^<<.operator-example m3.2 \"[range[4]] :map:flat[range<currentTiddler>sum[]]\">>|\n|^<<.operator-example m4.1 \"[[1,2,3]] [[4,5]] :map[split[,]]\">>|^<<.operator-example m4.2 \"[[1,2,3]] [[4,5]] :map:flat[split[,]]\">>|\n|^<<.operator-example m5.1 \"[[1,2,3]] [[4,5]] :map[split[,]]\">>|^<<.operator-example m5.2 \"[[1,2,3]] [[4,5]] :map:flat[split[,]first[]]\">>|\n\n\n!! `:map`と`:and`/`+`フィルタランプレフィックスの比較\n\n`:map`フィルタランプレフィックスの機能は、`:and` プレフィックス(別名`+`)と一部重複しています。これらは同じ結果を返す場合もありますが、少なくとも以下の場合には結果が異なります:\n\n# `:and`フィルタランによってアイテム数が変更される(増加や減少)場合があります。`:map`フィルタランによってアイテム数が変更されることはありません。\n# `:and`フィルタランのアイテム数は、[[重複排除|Dominant Append]]により減少します。`:map`ランは[[重複排除|Dominant Append]]は行われません。\n# \"currentTiddler\"変数への明示的な参照は異なる動作をします\n# TextReferenceを使用した\"currentTiddler\"への暗黙的な参照は異なる動作をします。\n\n| `:map` | `:and` |\n|!結果は同じ|<|\n|^<<.operator-example 1.1 \"[range[5]] :map[add[1]]\">>|^<<.operator-example 1.2 \"[range[5]] :and[add[1]]\">>|\n|^<<.operator-example 2.1 \"[range[5]] :map[addsuffix[ hello]]\">>|^<<.operator-example 2.2 \"[range[5]] :and[addsuffix[ hello]]\">>|\n|^<<.operator-example 3.1 \"[tag[shopping]] :map[get[quantity]]\">>|^<<.operator-example 3.2 \"[tag[shopping]] :and[get[quantity]]\">>|\n|!項目数が減少|<|\n|^<<.operator-example 4.1 \"[range[5]] :map[sum[]]\">>|^<<.operator-example 4.2 \"[range[5]] :and[sum[]]\">>|\n|^<<.operator-example 5.1 \"[range[5]] :map[join[,]]\">>|^<<.operator-example 5.2 \"[range[5]] :and[join[,]]\">>|\n|!項目数が増加|<|\n|^<<.operator-example 6.1 \"[[1,2,3]] [[4,5]] :map[split[,]]\">>|^<<.operator-example 6.2 \"[[1,2,3]] [[4,5]] :and[split[,]]\">>|\n|!重複排除|<|\n|^<<.operator-example 7.1 \"[range[5]] :map[[hello]]\">>|^<<.operator-example 7.2 \"[range[5]] :and[[hello]]\">>|\n|!currentTiddler|<|\n|^<<.operator-example 8.1 \"[tag[shopping]] :map[<currentTiddler>]\">>|^<<.operator-example 8.2 \"[tag[shopping]] :and[<currentTiddler>]\">>|\n|^<<.operator-example 9.1 \"[tag[shopping]] :map[{!!quantity}]\">>|^<<.operator-example 9.2 \"[tag[shopping]] :and[{!!quantity}]\">>|\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/filters/syntax/Map Filter Run Prefix.tid",
    "content": "created: 20210618133745003\nfrom-version: 5.2.0\nmodified: 20250319105451115\noriginal-modified: 20240312202834547\nrp-input: 前回までのすべてのランのフィルタアウトプット\nrp-output: このフィルタランの結果によって変更されたインプットタイトル\nrp-purpose: 各項目に対してこのフィルタを実行した結果に基づいてインプットタイトルを変更\nrp-suffix: <<.from-version \"5.2.3\">> フィルタランからすべての結果を返す場合は<<.value flat>>、最初の結果のみを返す場合は省略(デフォルト)\ntags: [[Named Filter Run Prefix]]\ntitle: Map Filter Run Prefix\nja-title: mapフィルタランプレフィックス\ntype: text/vnd.tiddlywiki\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n( \":map\" (: \":flat\" | - ) | - )\n[[\"ラン\"|\"Filter Run\"]]\n\"\"\"/>\n\n以前のランからの各インプットタイトルは、順番にこのランに渡されます。フィルタランはインプットタイトルを変換し、このランのアウトプットはインプットタイトルを置き換えます。たとえば、フィルタラン`[get[caption]else{!!title}]`は、タイトルが保持されるフィールドが存在しない場合以外、各インプットタイトルをそのキャプションフィールドに置き換えます。\n\nフィルタラン内では、<<.var currentTiddler>>変数は処理中のTiddlerのタイトルに設定されていることに注意してください。これにより、`:map[{!!price}multiply{!!cost}]`のようなフィルタランが計算に使用できるようになります。\n\nフィルタラン内では、次の変数を使用できます:\n\n* <<.var currentTiddler>> - インプットタイトル\n* <<.var ..currentTiddler>> - フィルタランの外での変数`currentTiddler`の値。\n* <<.var index>> - <<.from-version \"5.2.1\">> 現在のリスト項目の数値インデックス(リストの最初の項目はゼロ)。\n* <<.var revIndex>> - <<.from-version \"5.2.1\">> 現在のリスト項目の逆数値インデックス(リストの最後の項目はゼロ)。\n* <<.var length>> - <<.from-version \"5.2.1\">> インプットリストの合計の長さ。\n\n`:map`プレフィックス付きで使用されるフィルタランは、渡された項目と少なくとも同じ数の項目を返す必要があります。フィルタランがアウトプットを返さないインプットタイトルは、空の文字列に置き換えられます。特に、[[getオペレータ|get Operator]]を使用してフィールドの値を取得する場合は、[[elseオペレータ|else Operator]] を使用してフィールド値が欠落しないようにすると役立ちます。たとえば、`[get[myfield]else[default-value]...`のようにします。\n\n[[mapフィルタランプレフィックス(例)|Map Filter Run Prefix (Examples)]]"
  },
  {
    "path": "editions/ja-JP/tiddlers/filters/syntax/Named Filter Run Prefix.tid",
    "content": "created: 20201214044413473\nmodified: 20250227102948619\noriginal-modified: 20230711090833212\ntags: [[Filter Run Prefix]]\ntitle: Named Filter Run Prefix\nja-title: 名前付きフィルタランプレフィックス\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.23\">>で、名前付きフィルタランプレフィックスが実装されました。図に示すように、`:cascade`、`:map`、`:sort`が後から追加されました。\n\n名前付きフィルタランプレフィックスは、[[ショートカットランプレフィックス|Shortcut Filter Run Prefix]]の代わりに、[[フィルタ式|Filter Expression]]の[[ラン|Filter Run]]の前に置くことができます。\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n(\n[[<\":all\"> |\"All Filter Run Prefix\"]] |\n[[<\":and\"> |\"And Filter Run Prefix\"]] |\n[[<\":cascade\">  /\"v5.2.1\"/  |\"Cascade Filter Run Prefix\"]] |\n[[<\":else\"> |\"Else Filter Run Prefix\"]] |\n[[<\":except\"> |\"Except Filter Run Prefix\"]] |\n[[<\":filter\"> |\"Filter Filter Run Prefix\"]] |\n[[<\":intersection\"> |\"Intersection Filter Run Prefix\"]] |\n[[<\":map\">  /\"v5.2.0\"/ |\"Map Filter Run Prefix\"]] |\n[[<\":or\"> |\"Or Filter Run Prefix\"]] |\n[[<\":reduce\"> |\"Reduce Filter Run Prefix\"]] |\n[[<\":sort\">  /\"v5.2.0\"/ |\"Sort Filter Run Prefix\"]] |\n[[<\":then\">  /\"v5.3.0\"/ |\"Then Filter Run Prefix\"]]) [[run|\"Filter Run\"]]\n\"\"\"/>\n\n\n<<.tip \"名前付きフィルタランプレフィックス`:filter`を、すべてのインプットタイトルにサブフィルタを適用し、サブフィルタから空の結果を返すタイトルを除外する[[filterオペレータ|filter Operator]]と比較します\">>\n\n<<.tip \"名前付きフィルタランプレフィックス`:reduce`を、サブフィルタを繰り返し適用してアイテムのリストを単一のアイテムに平坦化するために使用される[[reduceオペレータ|reduce Operator]]と比較します\">> \n\n<<.tip \"\"\"フィルタランプレフィックス`:reduce`、`:sort`、`:map`、`:filter`内では、変数<<.var currentTiddler>>は処理中のTiddlerのタイトルに設定されます。<br>サブフィルタ外のcurrentTiddlerの値は、変数<<.var \"..currentTiddler\">>で使用できます <<.from-version \"5.2.0\">>\"\"\" >>\n\n参照: [[交換可能なフィルターランプレフィックス|Interchangeable Filter Run Prefixes]]\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/filters/syntax/Or Filter Run Prefix.tid",
    "content": "created: 20230318135743766\nfrom-version: 5.1.23\nmodified: 20250417105150020\noriginal-modified: 20230322140708372\nrp-input: 前回のフィルタランからのすべてのタイトル\nrp-output: アウトプットタイトルは主に、前回のフィルタランのアウトプットに[[重複排除して追加|Dominant Append]]されます。\nrp-purpose: Tiddlerセットの重複排除した結合\ntags: [[Named Filter Run Prefix]]\ntitle: Or Filter Run Prefix\nja-title: orフィルタランプレフィックス\ntype: text/vnd.tiddlywiki\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n( \":or\" | - )\n[[\"ラン\"|\"Filter Run Prefix\"]]\n\"\"\"/>\n\n:or プレフィックスはプレフィックスを全く使用しないのと同じです。[[フィルタランプレフィックスのショートカット|Shortcut Filter Run Prefix]]で`run`を参照してください\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/filters/syntax/Reduce Filter Run Prefix (Examples).tid",
    "content": "created: 20211124151912931\nmodified: 20250419111355942\noriginal-modified: 20230305125430544\ntags: [[Reduce Filter Run Prefix]]\ntitle: Reduce Filter Run Prefix (Examples)\nja-title: reduceフィルタランプレフィックス(例)\ntype: text/vnd.tiddlywiki\n\n\\define multiply-input() [multiply<accumulator>]\n\n次の例では、これらのデータTiddlerを使用します:\n\n<ul>\n<$list filter=\"[tag[shopping]!has[draft.of]]\">\n<li>\n''<$link><$text text=<<currentTiddler>>/></$link>'' quantity: <$text text={{!!quantity}}/>,  price: <$text text={{!!price}}/>\n</li>\n</$list>\n</ul>\n\n<<.operator-example 1 \"[tag[shopping]] :reduce[get[quantity]add<accumulator>]\">>\n<<.operator-example 2 \"[tag[shopping]] :reduce[get[price]multiply{!!quantity}add<accumulator>]\">>\n<<.operator-example 3 \"[tag[shopping]] :reduce[<index>compare:number:gt[0]then<accumulator>addsuffix[, ]addsuffix<currentTiddler>else<currentTiddler>]\" \"最初の項目に対して他の項目とは異なる動作をさせるために`<index>`を使用します。これはあくまでもデモンストレーションです。このタスクを実行するには、[[joinオペレータ|join Operator]]を使うのがよいです\">>\n<<.operator-example 4 \"[tag[non-existent]] :reduce[get[price]multiply{!!quantity}add<accumulator>]\" \"空のインプットは空のアウトプットを生成します\">>\n<<.operator-example 5 \"[tag[non-existent]] :reduce[get[price]multiply{!!quantity}add<accumulator>] :else[[0]]\" \"インプットが空の場合に確実にアウトプットするために`:else`使用します\">>\n\n<$macrocall $name=\".tip\" _=\"\"\"[[reduceオペレータ|reduce Operator]]とは異なり、`:reduce`プレフィックスはaccumulatorの初期値を指定できないため、初期値は常に空(数学オペレータでは0として扱われます)になります。したがって`=1 =2 =3 :reduce[multiply<accumulator>]`は、6ではなく0が生成されます。accumulatorの初期値を指定する必要がある場合は、[[reduceオペレータ|reduce Operator]]を使用します。\"\"\"/>\n<<.operator-example 6 \"=1 =2 =3 :reduce[multiply<accumulator>]\" \"空の初期値は数学オペレータによって0として扱われます\">>\n<<.operator-example 7 \"=1 =2 =3 +[reduce<multiply-input>,[1]]\" \"正しい結果を得るためには初期値の設定が必要な場合があります\">>"
  },
  {
    "path": "editions/ja-JP/tiddlers/filters/syntax/Reduce Filter Run Prefix.tid",
    "content": "created: 20211124151912931\nfrom-version: 5.1.23\nmodified: 20250417105804821\noriginal-modified: 20230710073305239\nrp-input: 前回のフィルタランからのすべてのフィルタアウトプット\nrp-output: 累積された単一アイテム\nrp-purpose: 各インプットタイトルにフィルタランを繰り返し適用して、前回までのすべてのフィルタアウトプットを単一の項目に置き換え\ntags: [[Named Filter Run Prefix]]\ntitle: Reduce Filter Run Prefix\nja-title: reduceフィルタランプレフィックス\ntype: text/vnd.tiddlywiki\n\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n( \":reduce\" | - )\n[[\"ラン\"|\"Filter Run\"]]\n\"\"\"/>\n\n\n前回のランからの各インプットタイトルは、順番にこのランに渡されます。このランへの以前の呼び出しの結果は、変数<<.var accumulator>>を介して次の呼び出しで使用できます。このランへの最後の呼び出しの結果がアウトプットとして返されます。典型的な使用法は、各インプットタイトルの特定のフィールドの値を合計することです。\n\n上記のように、数式を各インプットタイトルに繰り返し適用して、これまでのすべてのフィルタアウトプットを1つの項目に置き換えます。\n\nフィルタラン内では、次の変数を使用できます:\n\n* <<.var accumulator>> - 前回のフィルタランの結果\n* <<.var currentTiddler>> - インプットタイトル\n* <<.var ..currentTiddler>> - フィルタラン外での変数`currentTiddler`の値。 <<.from-version \"5.2.0\">>\n* <<.var index>> - 現在のリスト項目の数値インデックス(リストの最初の項目は0)\n* <<.var revIndex>> - 現在のリスト項目の逆の数値インデックス(リストの最後の項目は0)\n* <<.var length>> - インプットリストの長さの合計\n\n<<.tip \"名前付きフィルタランプレフィックス`:reduce`を、サブフィルタを繰り返し適用して項目リストを1つの項目に平坦化するために使用される[[reduceオペレータ|reduce Operator]]`:reduce`と比べてください。\">> \n\n```\n[tag[shopping]] :reduce[get[quantity]add<accumulator>]\n```\n\nは以下と同等です:\n\n```\n\\define num-items() [get[quantity]add<accumulator>]\n\n[tag[shopping]reduce<num-items>]\n```\n\n[[reduceフィルタランプレフィックス(例)|Reduce Filter Run Prefix (Examples)]]"
  },
  {
    "path": "editions/ja-JP/tiddlers/filters/syntax/Shortcut Filter Run Prefixes.tid",
    "content": "created: 20230305131705188\nmodified: 20250510102220175\noriginal-modified: 20230710074438655\ntags: [[Filter Run Prefix]]\ntitle: Shortcut Filter Run Prefix\nja-title: ショートカットフィルタランプレフィックス\ntype: text/vnd.tiddlywiki\n\nショートカットのプレフィックスはタイピングが速いため、上級ユーザーによく使用されますが、経験の浅いユーザーには読みにくいという欠点があります。そのため、より詳細な情報を持つ[[名前付きプレフィックス|Named Filter Run Prefix]]が作成されました。ショートカットと名前付きフィルタランプレフィックスは、以下の表に示すように互換性があります。\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n(-|:\"+\"|\"-\"|\"~\"|\"=\")\n[[\"ラン\"|\"Filter Run\"]]\n\"\"\"/>\n\nランに次の内容が含まれている場合:\n\n* プレフィックスが無い場合、アウトプットタイトルはフィルタのアウトプットに[[優先的に追加|Dominant Append]]されます\n\n* プレフィックス`+`は、前回までのフィルタアウトプットをインプットとして受け取り、そのアウトプットはこれまでのすべてのフィルタアウトプットを<<.em \"置き換え\">>、次のランのインプットを形成します\n\n* プレフィックス`-`は、アウトプットタイトルがフィルタのアウトプットから<<.em 取り除か>>れます(そのようなTiddlerが存在する場合)\n\n* プレフィックス`~`は、フィルタアウトプットが空リストの場合、ランの結果のタイトルがフィルタアウトプットに[[優先的に追加|Dominant Append]]されます。フィルタアウトプットが空リストでない場合、ランは無視されます。<<.from-version \"5.1.18\">>\n\n* プレフィックス`=`は、アウトプットタイトルが重複排除されずにフィルタのアウトプットに追加されます。<<.from-version \"5.1.20\">> \n\n{{Interchangeable Filter Run Prefixes}}"
  },
  {
    "path": "editions/ja-JP/tiddlers/filters/syntax/Sort Filter Run Prefix (Examples).tid",
    "content": "created: 20210428074912172\nmodified: 20250420104606860\noriginal-modified: 20230315165343329\ntags: [[Sort Filter Run Prefix]]\ntitle: Sort Filter Run Prefix (Examples)\nja-title: sortフィルタランプレフィックス(例)\ntype: text/vnd.tiddlywiki\n\nタイトルの長さで並べ替え:\n\n<<.operator-example 1 \"[all[tiddlers]] :sort:number[length[]] +[limit[10]]\">>\n\nタイトルの長さを逆順に並べ替え:\n\n<<.operator-example 2 \"[all[tiddlers]] :sort:number:reverse[length[]] +[limit[10]]\">>\n\nテキストの長さで並べ替え:\n\n<<.operator-example 3 \"[all[tiddlers]] :sort:number[get[text]length[]] +[limit[10]]\">>\n\n修正日の新しい順に並べ替え:\n\n<<.operator-example 4 \"[tag[Field Operators]] :sort:date[get[modified]else[19700101]] +[limit[10]]\">>\n\nタイトルで並べ替え:\n<<.operator-example 5 \"[tag[Field Operators]] :sort:string:casesensitive[get[caption]] +[limit[10]]\">>\n\nタイトルの逆順に並べ替え:\n<<.operator-example 6 \"[tag[Field Operators]] :sort:string:casesensitive,reverse[get[caption]] +[limit[10]]\">>\n\n大文字と小文字を区別してテキストとして並べ替え:\n<<.operator-example 7 \"Apple Banana Orange Grapefruit guava DragonFruit Kiwi apple orange  :sort:string:casesensitive[{!!title}]\">>\n\n大文字と小文字を区別せずにテキストとして並べ替え:\n<<.operator-example 8 \"Apple Banana Orange Grapefruit guava DragonFruit Kiwi apple orange :sort:string:caseinsensitive[{!!title}]\">>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/filters/syntax/Sort Filter Run Prefix.tid",
    "content": "created: 20210428083929749\nfrom-version: 5.2.0\nmodified: 20250419111702297\noriginal-modified: 20240717120111427\nrp-input: 前回までのすべてのランのフィルタアウトプット\nrp-output: アウトプットタイトルは、以前のフィルタランのアウトプットを置き換え\nrp-purpose: 各項目に対して実行されたこのフィルタの評価結果によってインプットタイトルを並べ替え\nrp-suffix: :sortフィルタランプレフィックスはリッチサフィックスを使用します。詳細については以下を参照\nrp-suffix-name: S\ntags: [[Named Filter Run Prefix]]\ntitle: Sort Filter Run Prefix\nja-title: sortフィルタランプレフィックス\ntype: text/vnd.tiddlywiki\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n( \":sort\" ) \n( \":\" ) \n( : \"string\" | \"alphanumeric\" | \"number\" | \"integer\" | \"version\" | \"date\" )\n( \":\" ) \n{\n\t(\n\t\t(\n\t\t\t( : \"caseinsensitive\" /\"stringとalphanumericには必須\"/ | \"casesensitive\" /\"stringとalphanumericには必須\"/)\n\t\t\t| \"reverse\" /\"オプション\"/ \n\t\t)\n\t)\n\t+\",\"\n}\n[[\"ラン\"|\"Filter Run\"]]\n\"\"\"/>\n\n前回のランからインプットされた各タイトルは、今回のランに順番に渡されます。フィルタランは、インプットタイトルをソートに必要な形式に変換します。例えば、フィルタラン`[length[]]`は各インプットタイトルをその長さを表す数値に変換し、インプットタイトルを長さに基づいてソートします。\n\nフィルタラン内では、<<.var currentTiddler>>変数が処理中のTiddlerのタイトルに設定されていることに注意してください。これにより、`:sort:number[{!!value}divide{!!cost}]`のようなフィルタランを計算に使用できます。ラン外の<<.var currentTiddler>>の値は、<<.var \"..currentTiddler\">>変数で使用できます。\n\n`:sort` <<.place S>>フィルタランプレフィックスでは、複数のサフィックスを許可する拡張構文が使用されます。その一部は必須です: \n\n```\n:sort:<type>:<flaglist>[...filter run...]\n\n```\n\n* ''type'': 必須。項目の比較方法を決定し、''string''、''alphanumeric''、''number''、''integer''、''version''、''date''のいずれかになります。\n\n* ''flaglist'': 次のフラグのコンマ区切りリスト:\n\n** ''casesensitive'' または ''caseinsensitive'' (typeが`string`や`alphanumeric`のとき必須)。\n*** フラグがない場合、デフォルトは: //caseinsensitive// です。\n*** 明確にするために、このパラメータは常に定義する必要があります。\n\n** フィルター実行の順序を反転するには、''reverse''を使用します(オプション)。\n\n<<.tip \"\"\"`:sort`プレフィックス付きのフィルタランは、''渡された項目と同じ数の項目が返される''ことに注意してください。特に、[[getオペレータ|get Operator]]を使用してフィールドの値を取得する場合は、[[elseオペレータ|else Operator]]を使用してフィールド値が欠落するのを防ぐと便利です。例えば`...[get[myfield]else[default-value]]`。<br><br>\n\n''missing''エントリは''ゼロ''または''空文字列''として扱われます。\n\n参照: <<.olink sortsub>>オペレータ\n\n[[例|Sort Filter Run Prefix (Examples)]]"
  },
  {
    "path": "editions/ja-JP/tiddlers/filters/syntax/Then Filter Run Prefix (Examples).tid",
    "content": "created: 20230617183745774\nmodified: 20250504103912315\noriginal-modified: 20230617183745774\ntags: [[Then Filter Run Prefix]]\ntitle: Then Filter Run Prefix (Examples)\nja-title: thenフィルタランプレフィックス(例)\ntype: text/vnd.tiddlywiki\n\n\n!! 条件実行\n\n<<.op :then>>フィルタランプレフィックスを使用すると、ネストした[[ListWidget]]や[[WikiText内のマクロ定義|Macro Definitions in WikiText]]の必要性を回避できます。\n\n<$macrocall $name='wikitext-example-without-html'\nsrc=\"\"\"<$edit-text field=\"search\" placeholder=\"Search title\"/>\n\n<$let searchTerm={{!!search}}>\n<$list filter=\"[<searchTerm>minlength[3]] :then[!is[system]search:title<searchTerm>]\" template=\"$:/core/ui/ListItemTemplate\"/>\n</$let>\"\"\"/>\n\n\n!! 条件(サブ)フィルタ\n\n<<.op :then>>フィルターランプレフィックスを<<.op :else>>プレフィックスと組み合わせて条件フィルタを作成できます。この例では、<<.var searchSubfilter>>内の検索に使用されるフィールドは[[$:/temp/searchFields]]の値に依存し、<<.var sortSubfilter>>による並べ替え順序は[[$:/temp/searchSort]]の値に依存します。これらのTiddlerの値を設定するには、チェックボックスを使用します。\n\n<<.tip \"サブフィルタ内の各フィルタランは、<<.olink subfilter>>オペレータのインプットをインプットとして受け取ることに注意してください\">>\n\n<<.olink then>>と<<.olink else>>オペレータはサブフィルタを呼び出したり追加のフィルタステップを実行できないため、このようなアプリケーションには使用できません。\n\n<$macrocall $name='wikitext-example-without-html'\nsrc=\"\"\"<$checkbox tiddler=\"$:/temp/searchSort\"\n      field=\"text\"\n      checked=\"chrono\" unchecked=\"alpha\" default=\"alpha\">\n  時系列順に並べ替え(新しい順)\n</$checkbox><br/>\n<$checkbox tiddler=\"$:/temp/searchFields\"\n      field=\"text\"\n      checked=\"title\" unchecked=\"default\" default=\"title\">\n  <<.field title>>のみを検索\n</$checkbox><p/>\n<$let searchSubfilter=\"[{$:/temp/searchFields}match[default]] :then[search[prefix]] :else[search:title[prefix]]\"\n      sortSubfilter=\"[{$:/temp/searchSort}match[chrono]] :then[!nsort[modified]] :else[sort[title]]\"\n      limit=10 >\n  <$list filter=\"[all[tiddlers]!is[system]subfilter<searchSubfilter>subfilter<sortSubfilter>first<limit>]\">\n    <$link/> (<$text text={{{ [{!!modified}format:date[YYYY-0MM-0DD]] }}} />)<br/>\n  </$list>\n  <$list filter=\"[all[tiddlers]!is[system]subfilter<searchSubfilter>rest<limit>count[]]\">\n    ... and <<currentTiddler>> more.\n  </$list>\n</$let>\"\"\"/>\n\n時系列順に並べ替える（新しい順）\n検索titleのみ"
  },
  {
    "path": "editions/ja-JP/tiddlers/filters/syntax/then Filter Run Prefix.tid",
    "content": "created: 20210618133745003\nfrom-version: 5.3.0\nmodified: 20250423104147235\noriginal-modified: 20230710074225410\nrp-input: <<.olink すべて>>のTiddlerタイトル\nrp-output: フィルタランのアウトプットは、空のリストでない限り、前回までのランのアウトプットを置き換えます(以下を参照)。\nrp-purpose: フィルタランへのインプットをそのアウトプットで置き換え、インプットがある場合にのみランを評価\nsearch: \ntags: [[Named Filter Run Prefix]]\ntitle: Then Filter Run Prefix\nja-title: thenフィルタランプレフィックス\ntype: text/vnd.tiddlywiki\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n\":then\"\n[[\"ラン\"|\"Filter Run\"]]\n\"\"\"/>\n\n<<.op :then>>フィルターランプレフィックスは、前回までのすべてのフィルタランの結果をそのアウトプットに置き換えるために使用されます。\n\n前回までのすべてのランの結果が空のリストの場合、<<.op :then>>プレフィックス付きフィルタランは評価されません。\n\n<<.op :then>>プレフィックス付きフィルタランのアウトプット自体が空のリストである場合、前回までのすべてのフィルタランの結果は変更されずに渡されます。\n\n<<.tip \"空の文字列項目が1つ含まれるリストは空のリストではないことに注意してください。\">>\n\n!! <<.op :then>>ランプレフィックスと<<.olink then>>オペレータの比較\n\n<<.op then>>オペレータと<<.op :then>>プレフィックス付きフィルタランの主な違いは、オペレータはインプット[[タイトルリスト|Title List]]の//各項目//をそのパラメータで置き換えるのに対し、<<.op :then>>オペレータは//インプットリスト全体//をそのラン結果で置き換える点です。\n\n|doc-op-comparison tc-center|k\n| !<<.op :then>>フィルタランプレフィックス | !<<.op then>>オペレータ |\n|^<<.operator-example m1-1 \"[tag[WikiText]] :then[[true]]\">>|^<<.operator-example m1-2 \"[tag[WikiText]then[true]]\">><p>これらを同等にするには、追加のフィルタステップを追加します:</p> <<.operator-example m1-3 \"[tag[WikiText]count[]compare:number:gt[0]then[true]]\">>|\n\n\n[[thenフィルタランプレフィックス(例)|Then Filter Run Prefix (Examples)]]\n\n参照: [[elseフィルタランプレフィックス|Else Filter Run Prefix]] | [[thenオペレータ|then Operator]] と [[elseオペレータ|else Operator]]\n\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/gettingstarted/GettingStarted - Android.tid",
    "content": "caption: Android\ncreated: 20140811171036268\nmodified: 20241029105115486\noriginal-modified: 20211114031651878\ntags: GettingStarted\ntitle: GettingStarted - Android\nja-title: はじめに - Android\ntype: text/vnd.tiddlywiki\n\nAndroidでTiddlyWikiを使用するには、次の3つのオプションがあります:\n\n! FirefoxとTiddlyFoxの使用\n\n{{Saving with TiddlyFox on Android}}\n\n! AndTidWikiアプリの使用\n\n{{Saving on Android}}\n\n! TermuxでNode.jsを使用 \n\n{{Serving TW5 from Android}}\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/gettingstarted/GettingStarted - Chrome.tid",
    "content": "caption: Chrome\ncreated: 20140811165935523\nmodified: 20241029105419969\noriginal-modified: 20211114031651878\ntags: GettingStarted\ntitle: GettingStarted - Chrome\nja-title: はじめに - Chrome\ntype: text/vnd.tiddlywiki\n\nGoogle ChromeでTiddlyWikiを使用して変更を保存するには、HTML5互換のセーバーモジュールを使用します。\n\n{{Saving with the HTML5 saver}}\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/gettingstarted/GettingStarted - Firefox.tid",
    "content": "caption: Firefox\ncreated: 20140811170425199\nmodified: 20241029105710984\noriginal-modified: 20230803213024843\ntags: GettingStarted\ntitle: GettingStarted - Firefox\nja-title: はじめに - Firefox\ntype: text/vnd.tiddlywiki\n\nFirefoxでは、次のブラウザ拡張機能を使用することで、TiddlyWikiは最高なユーザーエクスペリエンスが得られます:\n<<list-links filter:\"[tag[Firefox]delivery[Browser Extension]] -[[Saving with TiddlyFox]]\">>\n\n{{Saving with FireFox}}\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/gettingstarted/GettingStarted - Internet Explorer.tid",
    "content": "caption: Internet Explorer\ncreated: 20140811172058274\nmodified: 20241029105938082\noriginal-modified: 20211114031651879\ntags: GettingStarted $:/deprecated\ntitle: GettingStarted - Internet Explorer\nja-title: はじめに - Internet Explorer\ntype: text/vnd.tiddlywiki\n\n{{Saving with TiddlyIE}}\n\nThe [[Windows HTA Hack]] describes an alternative method of using TiddlyWiki with Internet Explorer.\n[[Windows HTAのハック|Windows HTA Hack]]では、Internet ExplorerでTiddlyWikiを使用する別の方法について説明します。"
  },
  {
    "path": "editions/ja-JP/tiddlers/gettingstarted/GettingStarted - Node.js.tid",
    "content": "caption: Node.js\ncreated: 20140811172010003\nmodified: 20241029110216217\noriginal-modified: 20211114031651879\ntags: GettingStarted\ntitle: GettingStarted - Node.js\nja-title: はじめに - Node.js\ntype: text/vnd.tiddlywiki\n\n{{Installing TiddlyWiki on Node.js}}\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/gettingstarted/GettingStarted - Online.tid",
    "content": "caption: Online\ncreated: 20160216191710789\nmodified: 20241029110255689\noriginal-modified: 20211114031651879\ntags: GettingStarted\ntitle: GettingStarted - Online\nja-title: はじめに - オンライン\ntype: text/vnd.tiddlywiki\n\nTiddlyWikiは、DropboxやCloudantなどのオンラインサービスでもホストできます。\n\n;Dropbox (HTML ファイル全体を同期)\n:Dropboxに保存されているファイルを編集するには、 http://tiny.cc/tw5inthesky/ にアクセスしてください。これにより、見つかったHTMLファイルを開くことができます。\n;Cloudant (または、別のCouchDBタイプのサーバー) (個々のTiddlerを同期)\n:http://noteself.github.io/"
  },
  {
    "path": "editions/ja-JP/tiddlers/gettingstarted/GettingStarted - Safari.tid",
    "content": "caption: Safari\ncreated: 20140811171121022\nmodified: 20241029110726936\noriginal-modified: 20211114031651879\ntags: GettingStarted\ntitle: GettingStarted - Safari\nja-title: はじめに - Safari\ntype: text/vnd.tiddlywiki\n\nSafari上のTiddlyWikiでは、手動のHTML5互換フォールバックセーバーモジュールを使用してのみ変更を保存できます。\n\n{{Saving on Safari}}\n\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/gettingstarted/GettingStarted - iOS.tid",
    "content": "caption: iPad/iPhone\ncreated: 20140811170918707\nmodified: 20241029110132521\noriginal-modified: 20211114031651879\ntags: GettingStarted\ntitle: GettingStarted - iOS\nja-title: はじめに - iOS\ntype: text/vnd.tiddlywiki\n\n{{Saving on iPad/iPhone}}\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/gettingstarted/GettingStarted.tid",
    "content": "created: 20131129090249275\nmodified: 20240929111358719\noriginal-modified: 20220819041016415\ntags: [[Working with TiddlyWiki]] Welcome\ntitle: GettingStarted\nja-title: はじめに\ntype: text/vnd.tiddlywiki\n\n~TiddlyWikiを使い始める簡単な方法は、独立運営されているコミュニティサービスの[[Tiddlyhost|https://tiddlyhost.com/]]で無料アカウントにサインアップすることです。Tiddlyhostが有益に感じられた場合は、[[寄付やスポンサーになる|https://tiddlyhost.com/donate]]ことをご検討ください。\n\n~TiddlyWikiのコンテンツの無いコピーをダウンロードするにはここをクリックしてください: {{$:/editions/ja-JP/snippets/download-empty-button}}\n\n次のステップは、変更を保存する方法を選択することです。さまざまな方法が利用可能で、それぞれ特徴および制限があります。メソッドのバッジをクリックすると、そのメソッドの詳細が表示されます。プラットフォームフィルターの1つをクリックすると、そのプラットフォームで動作するメソッドに絞り込んだリストにできます。\n\n<<.warning \"変更を保存するために、ブラウザの''ファイル''/''保存''メニューを使用しないでください(正しく機能しません)。\">><br/><br/>\n\n{{Saving}}\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/hellothere/A Gentle Guide to TiddlyWiki.tid",
    "content": "created: 20150325170720682\nmodified: 20241129110246653\noriginal-modified: 20210519110623819\ntags: HelloThere\ntitle: A Gentle Guide to TiddlyWiki\nja-title: TiddlyWikiの優しいガイド\ntype: text/vnd.tiddlywiki\n\nTiddlyWikiは、他のソフトウェアとは異なる方法で考案され構築された、信じられないほど柔軟で多用途なツールです。そのため、クリックし、脳のシームレスな拡張になる瞬間まで、理解するのが困難です\n\n基礎から始めると、TiddlyWikiは、無料でダウンロードでき、好きな場所に保存し、好きなようにカスタマイズできる、Webアプリケーションノートです。これを使用すると、ワープロや他のノートツールとは異なる方法で、メモを取り、整理し、共有できます\n\n~TiddlyWikiは非線形になるように設計されており、ストーリー、タグ、ハイパーリンク、その他の機能を使用してコンテンツを構造化します。組織であらかじめ設定された一つの構造に縛られることなく、個人の思考パターンに応じた方法でノートを整理したり取得したりできます\n\n~TiddlyWikiは、オンラインでもオフラインでも、任意のWebブラウザで表示、編集できる単一のファイルとして使用できます。または、各ノートを個別のファイルとして保存する強力な[[Node.jsアプリケーション|TiddlyWiki on Node.js]]として使用することもできます\n\n~TiddlyWikiをどのように機能させることができるでしょうか? 以下にリストされている入門ドキュメントから始めて、サイドバーの目次タブにある[[目次|TableOfContents]]をブラウズすることをお勧めします。または、[[簡単なインストラクションに従って|GettingStarted]]、自分で試してみてください\n\n<<list-links \"[tag[HelloThere]]\">>\n\n以下も参照してください:\n\n* [[Soren Bjornstadの\"Grok TiddlyWiki\"|\"Grok TiddlyWiki\" by Soren Bjornstad]]\n* [[Francis MeetzeのTiddlyWiki動画チュートリアル|TiddlyWiki Video Tutorials by Francis Meetze]]"
  },
  {
    "path": "editions/ja-JP/tiddlers/hellothere/Discover TiddlyWiki.tid",
    "content": "created: 20140904121000000\nmodified: 20241129110927004\noriginal-modified: 20151023165341339\ntags: HelloThere\ntitle: Discover TiddlyWiki\nja-title: TiddlyWikiを知る\ntype: text/vnd.tiddlywiki\n\n~TiddlyWikiは//他に//類を見ないものです。TiddlyWikiは:\n\n:: ツールです,\n:: ツールボックスです, \n:: コミュニティです, \n:: 哲学です \n\n! ~TiddlyWikiはツールです\n\n''~TiddlyWikiは何よりもまずツールです:''Webから、ドキュメントから、または、頭脳からコンテンツをキャプチャして整理するための無料でダウンロード可能なツールです。メモ取り、ブックマーク、ピン止め、書き込み、To-Doリストとプロジェクトの管理、共同作業、ブログ作成、公開を行うためのツールです\n\n~TiddlyWikiでは、Tiddlerと呼ばれるノートにコンテンツを作成、または貼り付け、ハイパーリンクとタグでTiddlerを接続します。その後、タグによる表示、サイドバータブ、~TiddlyWikiの超高速検索ウィンドウなどの機能を使用して、メモをすばやく取得できます。ビルディングブロックを使用するのと同様に、あるTiddlerのコンテンツを別のTiddlerのコンテンツに動的に組み込んで、記事、リスト、プレゼンテーションなどを作成することもできます\n\n! ~TiddlyWikiはツールボックスです\n\n多用途のツールであるだけでなく、''~TiddlyWikiはツールボックスでもあります''\n\n他のメモ作成製品では、基本的なプログラムを使用してみると、本当に便利な機能に対しては料金を請求するのに対し、~TiddlyWiki には、完全に無料のビジュアルテーマ、カラーパレット、プラグイン、ウィジェット、マクロの拡大し続けるコレクションがあり、これらを組み合わせて、~TiddlyWikiを調整して、希望通りにできます\n\n! ~TiddlyWikiはコミュニティでもあります\n\n私たちはユーザーと開発者の[[コ​​ミュニティ|Community]]であり、お互いに新しい考え方や組織化の方法を想像し、新しいソリューションを作成するのを助け、~TiddlyWikiがユーザーのニーズによりよく応えるために継続的に適応していきます。~TiddlyWikiユーザーと開発者は、~TiddlyWiki Googleグループで質問やアドバイスを共有します。また、~TiddlyWikiのエクスペリエンスを向上させるためのチュートリアル、適応方法、プラグインも作成します。詳細については、[[目次|TableOfContents]] の''コミュニティ''セクションを参照してください。\n\n! 最後に、~TiddlyWikiは哲学です\n\nメモを取って整理する(または、あらゆる種類のコンテンツを記録する)目的は、後でそれを利用できるようにすることです。メモ作成システムでメモが見つからない場合、メモを取ることは膨大な時間の無駄になります\n\n[[TiddlyWikiの哲学|Philosophy of Tiddlers]]では、メモを取る最良の方法は、メモを可能な限り最小の意味単位Tiddlerに分割することである、というものです。Tiddlerは、画像、Webページのリンク、コンセプト、用語の定義、またはマクロなどの特殊なカスタマイズである可能性があります\n\nこれらのTiddlerを組み合わせて、ストーリー、記事、リスト、画像ギャラリーなどのより長い単位を作成できます。タグ付け、ハイパーリンク、フィルターなどの~TiddlyWikiの機能は、さまざまな方法でTiddlerを関連付けて接続できるように特別に設計されており、将来のメモ検索を容易にし、さらにTiddler間の予期せぬ関係やそこに含まれる情報を確認するのにも役立ちます"
  },
  {
    "path": "editions/ja-JP/tiddlers/hellothere/Find Out More.tid",
    "content": "color: #880\ncreated: 20241009150347613\nicon: $:/core/images/help\nmodified: 20251213103718012\noriginal-modified: 20241115170824144\ntags: Welcome\ntitle: Find Out More\nja-title: さらに詳しく\ntype: text/vnd.tiddlywiki\n\n~TiddlyWikiとそのコミュニティについて、さらに詳しく知るのに役立つリソースです。\n\n<div class=\"tc-cards\">\n<$list filter=\"[tag[HelloThumbnail]]\">\n<$macrocall $name=\"flex-card\" captionField=\"caption\" descriptionField=\"text\"/>\n</$list>\n</div>\n\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/hellothere/HelloThere.tid",
    "content": "created: 20130822170200000\nicon: $:/core/icon\nlist: [[A Gentle Guide to TiddlyWiki]] [[Discover TiddlyWiki]] [[Some of the things you can do with TiddlyWiki]] [[Ten reasons to switch to TiddlyWiki]] Examples [[What happened to the original TiddlyWiki?]]\nmodified: 20251213104120189\noriginal-modified: 20250807084952911\ntags: Welcome\ntitle: HelloThere\nja-title: こんにちは\ntype: text/vnd.tiddlywiki\n\n<h2\nstyle=\"\n\tbackground: red;\n\tpadding: 0.5em;\n\tcolor: white;\n\tfont-weight: bold;\n\ttext-align: center;\n\tborder-radius: 0.5em;\n\tbox-shadow: 0 1px 3px 0 #d4d4d5, 0 0 0 1px #d4d4d5;\n\tbackground-image: linear-gradient(90deg, rgb(34, 132, 224), rgb(95, 174, 248), rgb(34, 132, 224));\n\">\nメモを有効活用する\n</h2>\n\n<h2\nclass=\"tc-hero-heading\"\nstyle=\"\n\ttext-align: center;\n\">\nTiddlyWikiへようこそ。 TiddlyWikiは複雑な情報を[[収集|Creating and editing tiddlers]]し、[[整理|Structuring TiddlyWiki]]し、[[共有|Sharing your tiddlers with others]]するためのユニークな[[非線形|Philosophy of Tiddlers]]ノートブックです\n</h2>\n\n[[ToDo リスト|TaskManagementExample]]を管理したり、[[エッセイや小説|\"TiddlyWiki for Scholars\" by Alberto Molina]]を練ったり、結婚式を準備したりするために使えます。頭をよぎるすべての考えを記録し、柔軟で応答性の高いWebサイトを構築できます。\n\n* ~TiddlyWikiはデータとコードを単一のHTMLファイルに保存し、インストールや外部依存を必要とせず、Webブラウザのみで動作します\n\n* ~TiddlyWikiを使用すると、データの保存場所を選択でき、今日とったメモを今後数十年も[[使用できること|Future Proof]]が保証されます\n\n* ~TiddlyWikiは、新しい機能を追加する多くのプラグインにより、無限にカスタマイズ、拡張可能です\n\n* ~TiddlyWikiは、大規模なユーザーコミュニティの一部である開発者集団の製品です\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/hellothere/HelloThumbnail.tid",
    "content": "created: 20150414070451144\nlist: [[HelloThumbnail - Newsletter]] [[HelloThumbnail - Community Survey 2025]] [[HelloThumbnail - Introduction Video]] [[HelloThumbnail - Grok TiddlyWiki]] [[HelloThumbnail - Latest Version]] [[HelloThumbnail - MultiWikiServer]] [[HelloThumbnail - Twenty Years of TiddlyWiki]] [[HelloThumbnail - Funding]] [[HelloThumbnail - TiddlyWiki Privacy]] [[HelloThumbnail - Marketplace]] [[HelloThumbnail - Intertwingled Innovations]] [[HelloThumbnail - TiddlyWikiLinks]]\nmodified: 20260208115538227\noriginal-modified: 20150414070948246\ntitle: HelloThumbnail\nja-title: ハローサムネイル\ntype: text/vnd.tiddlywiki"
  },
  {
    "path": "editions/ja-JP/tiddlers/hellothere/Some of the things you can do with TiddlyWiki.tid",
    "content": "created: 20140904090300000\nmodified: 20241129111454910\noriginal-modified: 20211018102355896\ntags: HelloThere\ntitle: Some of the things you can do with TiddlyWiki\nja-title: TiddlyWikiでできること\ntype: text/vnd.tiddlywiki\n\n* メモを取り、タグとハイパーリンクを使用してメモ間を結びつけます\n* タブ、表、タグベースのリスト、目次を使用して整理します\n* お気に入りのWebサイトをブックマークします(http://giffmex.org/experiments/tidmarks.html の例を参照)\n* タスクと予定を追跡し、複数のタグで整理します([[タスク管理の例|TaskManagementExample]]を参照)\n* レシピ、個人ライブラリ、連絡先、音楽コレクションなど、あらゆるものを蓄積します\n* ブログやウェブサイトを作成します\n* 本を書きます\n* 画像をギャラリーに整理します([[アイコンギャラリー|Icon Gallery]]を参照)\n* ~TiddlyWiki内の情報をオンラインファイル、添付ファイル、Tiddlerファイル、または特定のオンラインTiddlerへのリンクとして他のユーザーと共有します(~TiddlyWikiファイルのTiddlerを別の~TiddlyWikiファイルにクリック&ドラッグして、何が起こるかを確認してください)\n* スケッチを描きます([[Motovun Jack.jpg]] を編集し、画像の上に描画を開始して、何が起こるかを確認してください)\n* Lightboxなどの使い慣れたWebユーザーインターフェイス要素を使用します - [[サンプルウィザード|SampleWizard]]を参照してください\n* スライドショープレゼンテーションを作成します\n* 他の~TiddlyWikiファイルにリンクする中央の~TiddlyWikiファイルを使用して、ローカルやオンラインのナレッジベースをセットアップします(http://recursos.giffmex.org はスペイン語のオンライン例です)\n* Tiddlerをデータとして使用してデータビジュアリゼーションをセットアップします(https://tiddlywiki.com/plugins/tiddlywiki/d3/ でビジュアリゼーションを参照してください)"
  },
  {
    "path": "editions/ja-JP/tiddlers/hellothere/Ten reasons to switch to TiddlyWiki.tid",
    "content": "created: 20140904085700000\nmodified: 20241129111947741\noriginal-modified: 20150414071655191\ntags: HelloThere\ntitle: Ten reasons to switch to TiddlyWiki\nja-title: TiddlyWikiに乗り替える10の理由\ntype: text/vnd.tiddlywiki\n\n@@.tc-double-spaced-list\n# ~TiddlyWikiを使えば、他の人のやり方ではなく、自分のやり方でメモを整理できます。あなたのノートは、ノートブックとタブという階層的な束縛に強制されるのではなく、あなたの考え方に準じます\n# ~TiddlyWikiの非線形アプローチは、実際に、新しい有益な方法で情報について考えさせられます\n# ~TiddlyWikiでメモを見つけるのは超高速です\n# ~TiddlyWikiのあらゆる面をカスタマイズして適応させる方法がたくさんあります\n# ~TiddlyWikiは無料で、すべてのプラットフォームと互換性があります。どのWebブラウザでも開きます。使用するために高価なプログラムを購入したり、サブスクリプション料金を支払う必要はありません\n# ~TiddlyWikiファイルは、情報の自由な共有を促進します。~TiddlyWikiから情報を共有するにはさまざまな方法があります\n# ~TiddlyWikiを使用すると、あなたの情報はあなたのものになり、デバイス、USBメモリ、Dropbox、サーバーなど、好きな場所に保存できます\n# ~TiddlyWikiには、たくさんのプラグイン、テーマ、ウィジェット、言語が含まれ、増え続けています\n# オンライン~TiddlyWikiコミュニティはフレンドリーで、必要なサポートを提供できるよう最善を尽くします\n# あなたがプログラマであれば、~TiddlyWikiを使って遊ぶ方法はさらにたくさんあります。~TiddlyWikiを知れば知るほど楽しくなります\n@@"
  },
  {
    "path": "editions/ja-JP/tiddlers/hellothere/Testimonials and Reviews.tid",
    "content": "color: #088\nicon: $:/core/images/star-filled\nmodified: 20251214104051278\noriginal-modified: 20241115170824144\ntags: Welcome\ntitle: Testimonials and Reviews\nja-title: 利用者の声とレビュー\ntype: text/vnd.tiddlywiki\n\n\\parsermode inline\n<div class=\"tc-cards\">\n<$list filter=\"[tag[Testimonial]]\">\n<$macrocall $name=\"flex-card\" class=\"tc-card-quote\" captionField=\"caption\" descriptionField=\"text\"/>\n</$list>\n</div>"
  },
  {
    "path": "editions/ja-JP/tiddlers/hellothere/What happened to the original TiddlyWiki_.tid",
    "content": "title: What happened to the original TiddlyWiki?\nja-title: オリジナルのTiddlyWikiはどうなったか?\ntags: HelloThere\ncreated: 201409040851\nmodified: 20241129112304613\noriginal-modified: 201409040851\n\n<a class=\"tc-float-right tc-bordered-image\" href=\"https://classic.tiddlywiki.com/\" target=\"_blank\" rel=\"noopener noreferrer\">[img width=\"200\" [TiddlyWiki Classic.png]]</a>\n\n\nTiddlyWikiのオリジナルの[[クラシック|TiddlyWikiClassic]]バージョンは、現在も以下の場所から入手できます:\n\nhttps://classic.tiddlywiki.com.\n\nTiddlyWikiの[[現バージョン|TiddlyWiki5]]はTiddlyWikiClassicとの完全な下位互換性がないことに注意してください。コンテンツはインポートできますが、新しいWikiテキスト形式に適応させるためにマッサージが必要になります。TiddlyWikiClassic用に作成されたほとんどのコンテンツを忠実に表示できるようにする''tw2parser''プラグインが開発中です:\n\nhttps://tiddlywiki.com/plugins/tiddlywiki/tw2parser/"
  },
  {
    "path": "editions/ja-JP/tiddlers/hellothere/quickstart/Quick Start.tid",
    "content": "color: #cc9\ncreated: 20241009163451663\nicon: $:/core/images/tip\nlist: GettingStarted [[Getting Started Video]] [[Find Out More]] [[TiddlyWiki on the Web]] [[Testimonials and Reviews]]\nmodified: 20251214103541254\noriginal-modified: 20241115170824144\ntags: Welcome\ntitle: Quick Start\nja-title: クイックスタート\ntype: text/vnd.tiddlywiki\n\n~TiddlyWikiをすぐに使い始める方法を選択してください。\n\n<div class=\"tc-cards tc-action-card\">\n<$list filter=\"[[Quick Start: Tiddlyhost]] [[Quick Start: Desktop]] [[Quick Start: DIY]] [[Quick Start: Xememex]]\">\n<$macrocall $name=\"flex-card\" bordercolor={{!!color}} textcolor={{!!text-color}} backgroundcolor={{!!background-color}} captionField=\"caption\" descriptionField=\"text\"/>\n</$list>\n</div>\n<div class=\"tc-cards tc-small\">\n<$link to=\"中文社区 - Chinese Community\" class=\"tc-btn-big-green tc-card\" aria-label=\"Chinese Community\">\n中文社区<br/>Chinese Community\n</$link>\n</div>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/hellothere/quickstart/desktop.tid",
    "content": "title: Quick Start: Desktop\nja-title: クイックスタート: Desktop\ntags: [[Getting Started]]\ncaption: Desktop\nicon: $:/core/images/storyview-zoomin\nbutton-color: #37753e\nbutton-text: ダウンロード\nbackground: linear-gradient(90deg,#f0fff1, #ffffff)\nlink: TiddlyDesktop\n\nmacOS、Windows、Linux用の公式デスクトップアプリケーションをダウンロードします"
  },
  {
    "path": "editions/ja-JP/tiddlers/hellothere/quickstart/diy.tid",
    "content": "title: Quick Start: DIY\nja-title: クイックスタート: DIY\ntags: [[Getting Started]]\ncaption: DIY\nicon: $:/core/images/theme-button\nbutton-color: #ff4522\nbutton-text: エクスプローラ\nbackground: linear-gradient(90deg,#fff4f2, #ffffff)\nlink: GettingStarted\n\n~TiddlyWikiの利点を最大限に活用するために適切な構成を見つけてください"
  },
  {
    "path": "editions/ja-JP/tiddlers/hellothere/quickstart/tiddlyhost.tid",
    "content": "title: Quick Start: Tiddlyhost\nja-title: クイックスタート: Tiddlyhost\ntags: [[Getting Started]]\ncaption: Tiddlyhost\nicon: $:/core/images/globe\nbutton-color: #00009a\nbutton-text: アカウントの作成\nbackground: linear-gradient(90deg,#f5f5ff, #ffffff)\nlink: Tiddlyhost\n\nオンラインの~TiddlyWikiを始める最も簡単な方法"
  },
  {
    "path": "editions/ja-JP/tiddlers/hellothere/quickstart/xememex.tid",
    "content": "title: Quick Start: Xememex\nja-title: クイックスタート: Xememex\ntags: [[Getting Started]]\ncaption: Xememex\nicon: $:/core/images/star-filled\nbutton-color: #bf5fb6\nbutton-text: もっと詳しく\nbackground: linear-gradient(90deg,#fff1fe, #ffffff)\nlink: Xememex\n\n企業やチーム向けに、Intertwingled Innovationsのマルチユーザー対応~TiddlyWikiがあります"
  },
  {
    "path": "editions/ja-JP/tiddlers/hellothere/thumbnails/HelloThumbnail - Community Survey.tid",
    "content": "title: HelloThumbnail - Community Survey 2025\nja-title: HelloThumbnail - コミュニティ調査2025\ntags: HelloThumbnail\ncolor: rgb(234, 205, 183)\nimage: Community Survey 2025\ncaption: コミュニティ調査\nlink: Community Survey 2025\nribbon-text: NEW\n\n2025年コミュニティ調査の結果をご覧ください"
  },
  {
    "path": "editions/ja-JP/tiddlers/hellothere/thumbnails/HelloThumbnail - Funding.tid",
    "content": "background-color: #EDB431\ncaption: ~TiddlyWikiの資金調達方法\ncolor: #ff0\nimage: Funding\nlink: Funding TiddlyWiki\ntags: HelloThumbnail\ntitle: HelloThumbnail - Funding\nja-title: HelloThumbnail - 資金調達\n\n~TiddlyWikiを財政的にサポートする方法を説明しています\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/hellothere/thumbnails/HelloThumbnail - Grok TiddlyWiki.tid",
    "content": "title: HelloThumbnail - Grok TiddlyWiki\nja-title: HelloThumbnail - Grok TiddlyWiki\ntags: HelloThumbnail\ncolor: #D5B7EA\nimage: Grok TiddlyWiki Banner\ncaption: Grok ~TiddlyWiki 2.0\nlink: \"Grok TiddlyWiki\" by Soren Bjornstad\n\n~TiddlyWikiの総合的なインタラクティブガイド。基礎から高度な概念までを網羅し、学習に役立つ演習やヒントも掲載しています"
  },
  {
    "path": "editions/ja-JP/tiddlers/hellothere/thumbnails/HelloThumbnail - Intertwingled Innovations.tid",
    "content": "background-color: #EDB431\ncaption: Intertwingled Innovations\ncolor: #ff0\nimage: Intertwingled Innovations\nlink: Intertwingled Innovations\ntags: HelloThumbnail\ntitle: HelloThumbnail - Intertwingled Innovations\ntype: text/vnd.tiddlywiki\n\nIntertwingled Innovations Limitedを通じてJeremy Rustonによる~TiddlyWikiの開発をサポートする\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/hellothere/thumbnails/HelloThumbnail - Introduction Video.tid",
    "content": "title: HelloThumbnail - Introduction Video\nja-title: HelloThumbnail - 紹介ビデオ\ntags: HelloThumbnail\ncolor: red\nbackground-color: #fff\nicon: {{$:/core/images/video}}\ncaption: ~TiddlyWikiの紹介\nlink: Introduction Video\nimage: Introduction Video Thumbnail.jpg\n\n~TiddlyWikiの基本的なコンセプトを紹介する短いビデオです"
  },
  {
    "path": "editions/ja-JP/tiddlers/hellothere/thumbnails/HelloThumbnail - Latest Version.tid",
    "content": "title: HelloThumbnail - Latest Version\nja-title: HelloThumbnail - 最新バージョン\ntags: HelloThumbnail\ncaption: v<<version>>の新着情報\nlink: Releases\nimage: New Release Banner\ncolor: #fff\n\n\\define prerelease-regexp() [0-9]+\\.[0-9]+\\.[0-9]+\\-prerelease\n<$list filter=\"[<version>!regexp<prerelease-regexp>]\" variable=\"ignore\">\n~TiddlyWikiの最新バージョン v<<version>> (リリース日: <$view field=\"released\" tiddler={{{ [<version>addprefix[Release ]] }}} format=\"date\" template=\"YYYY/MM/DD\"/>)\n</$list>\n<$list filter=\"[<version>regexp<prerelease-regexp>]\" variable=\"ignore\">\nテスト・レビュー用のプレリリースビルドです\n</$list>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/hellothere/thumbnails/HelloThumbnail - Marketplace.tid",
    "content": "title: HelloThumbnail - Marketplace\nja-title: HelloThumbnail - マーケットプレイス\ntags: HelloThumbnail\ncolor: #6B6E98\nbackground-color: #EAE57D\nimage: TiddlyWiki Marketplace Banner\ncaption: ~TiddlyWikiマーケットプレイス\nlink: TiddlyWiki Marketplace\n\n~TiddlyWikiの商用製品とサービスを探索できます"
  },
  {
    "path": "editions/ja-JP/tiddlers/hellothere/thumbnails/HelloThumbnail - MultiWikiServer.tid",
    "content": "title: HelloThumbnail - MultiWikiServer\nja-title: HelloThumbnail - MultiWikiServer\ntags: HelloThumbnail\ncolor: purple\nbackground-color: #fff\ncaption: ~MultiWikiServer\nlink: MultiWikiServer\nimage: MWS Banner\ntype: text/vnd.tiddlywiki\n\n~TiddlyWikiを、複数のユーザアカウントとTiddlerの共有をサポートする本格的なサーバシステムにする新しい~MultiWikiServerプラグインについて詳細をご覧ください"
  },
  {
    "path": "editions/ja-JP/tiddlers/hellothere/thumbnails/HelloThumbnail - Newsletter.tid",
    "content": "title: HelloThumbnail - Newsletter\nja-title: HelloThumbnail - ニュースレター\ntags: HelloThumbnail\ncaption: ~TiddlyWiki ニュースレター\nlink: TiddlyWiki Newsletter\nimage: TiddlyWiki Newsletter Badge\ncolor: #fff\ntype: text/vnd.tiddlywiki\nribbon-text: NEW\n\n~TiddlyWikiコミュニティからの最も興味深く関連性のあるニュースをまとめた~TiddlyWikiニュースレターを購読できます\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/hellothere/thumbnails/HelloThumbnail - TW5-Graph.tid",
    "content": "caption: グラフとビジュアリゼーション\ncolor: #5778d8\nimage: TW5-Graph.png\nlink: TW5-Graph by Flibbles\ntags: HelloThumbnail\ntitle: HelloThumbnail - TW5-Graph\nja-title: HelloThumbnail - TW5-グラフ\nribbon-text: NEW\n\n\\rules except wikilink\n\nTiddlyWikiプラグインを使用すれば、Tiddlerのビジュアリゼーションを簡単に作成できます。"
  },
  {
    "path": "editions/ja-JP/tiddlers/hellothere/thumbnails/HelloThumbnail - TiddlyWiki Privacy.tid",
    "content": "title: HelloThumbnail - TiddlyWiki Privacy\ntags: HelloThumbnail\ncolor: #D5B7EA\nimage: TiddlyWiki Privacy Badge\ncaption: プライバシーとセキュリティ\nlink: TiddlyWiki Privacy and Security\ntype: text/vnd.tiddlywiki\n\n注意すれば、~TiddlyWikiは完全にプライベートに使用でき、自分のデバイス以外のものや人を信頼する必要はありません"
  },
  {
    "path": "editions/ja-JP/tiddlers/hellothere/thumbnails/HelloThumbnail - TiddlyWikiLinks.tid",
    "content": "title: HelloThumbnail - TiddlyWikiLinks\nja-title: HelloThumbnail - TiddlyWikiLinks\ntags: HelloThumbnail\ncolor: #D5B7EA\nimage: TiddlyWikiLinks\ncaption: コミュニティリンク\nlink: Community Links Aggregator\n\nコミュニティによって収集された~TiddlyWiki関連コンテンツへのリンク集"
  },
  {
    "path": "editions/ja-JP/tiddlers/hellothere/thumbnails/HelloThumbnail - Twenty Years of TiddlyWiki.tid",
    "content": "title: HelloThumbnail - Twenty Years of TiddlyWiki\nja-title: HelloThumbnail - TiddlyWikiの20年\ntags: HelloThumbnail\ncolor: #D5B7EA\nimage: Twenty Years of TiddlyWiki\ncaption: ~TiddlyWikiの20年\nlink: History of TiddlyWiki\n\n~TiddlyWiki 20周年のお祝い "
  },
  {
    "path": "editions/ja-JP/tiddlers/hiddensettings/Hidden Setting Content to be displayed for empty story.tid",
    "content": "created: 20240811052854726\nmodified: 20241116102931084\noriginal-modified: 20240811053649554\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: Content to be displayed for empty story\nja-title: 隠し設定: 空のストーリーに表示されるコンテンツ\n\nストーリーが空のときにコンテンツを表示するには、$:/config/EmptyStoryMessageを作成し、必要なコンテンツを入力します。\n\n以下は、すべてのTiddlerが閉じられている場合に、GettingStarted Tiddlerを表示します。\n\n```\n{{GettingStarted||$:/core/ui/ViewTemplate}}\n```"
  },
  {
    "path": "editions/ja-JP/tiddlers/hiddensettings/Hidden Setting Default Story Ordering.tid",
    "content": "title: Hidden Setting: Retain Story ordering\nja-title: 隠し設定: 保存時の表示を維持\ntags: [[Hidden Settings]]\n\nTiddler $:/config/ControlPanel/Basics/DefaultTiddlers/RetainStoryには、$:/ControlPanelの''情報'' -> ''基本''タブの\"保存時の表示を維持\"ボタンをクリックしたときに$:/DefaultTiddlersに割り当てられる値が含まれています。"
  },
  {
    "path": "editions/ja-JP/tiddlers/hiddensettings/Hidden Setting Default Tiddler Colour.tid",
    "content": "created: 20240907042443909\nmodified: 20251214104453831\noriginal-modified: 20241120225606237\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: Default Tiddler Colour\nja-title: 隠し設定: TIddlerのデフォルト色\ntype: text/vnd.tiddlywiki\n\nデフォルトのtag-tiddler色は、$:/config/DefaultTiddlerColourというTiddlerを作成し、CSSの色の値を含むことによって指定できます。詳細については、[[Tiddlerカラーカスケード|Tiddler Colour Cascade]]を参照してください\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/hiddensettings/Hidden Setting Default Tiddler Icon.tid",
    "content": "created: 20200306145004925\nmodified: 20241116104809059\noriginal-modified: 20200306145004925\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: Default Tiddler Icon\nja-title: 隠し設定: Tiddlerのデフォルトアイコン\ntype: text/vnd.tiddlywiki\n\nデフォルトのTiddlerアイコンは、$:/config/DefaultTiddlerIconというTiddlerを作成し、そのアイコンを含むTiddlerのタイトルを含むことで設定できます。"
  },
  {
    "path": "editions/ja-JP/tiddlers/hiddensettings/Hidden Setting EditTabIndex.tid",
    "content": "title: Hidden Setting: Tab Index for Edit-Inputs\nja-title: 隠し設定: 編集入力のタブインデックス\ntags: [[Hidden Settings]]\ncreated: 20190702074846206\nmodified: 20241126104700035\noriginal-modified: 20190702074846206\n\n編集中のTiddlerの入力フィールドには、''タブインデックス''値(1が望ましい)を割り当てることができるので、<kbd>Tab</kbd>キーを使用して、フォーカスを1つの入力から次の入力へ、または<kbd>shift-Tab</kbd>で後方へ直接移動することができます。\n\n$:/config/EditTabIndex\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/hiddensettings/Hidden Setting HtmlParserDisableSandbox.tid",
    "content": "created: 20210411100148461\nmodified: 20241123115717620\noriginal-modified: 20210411100148461\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: HTML Parser Sandbox\nja-title: 隠し設定: HTMLパーサーのサンドボックス\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.2.0\">> デフォルトでは、`text/html`タイプのTiddlerは、[[サンドボックス属性|https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#attr-sandbox]]が空の文字列に設定されたiframe内に表示されます。これにより、すべてのセキュリティ制限が適用され、JavaScript、ダウンロード、外部ファイル参照などの多くの機能が無効になります。これは最も安全な設定です。\n\nサンドボックスをグローバルに無効にするには、$:/config/HtmlParser/DisableSandbox Tiddlerを`yes`に設定します。これにより、iframe内のコードがTiddlyWikiの内部に完全にアクセスできるようになり、悪意のあるHTMLページがプライベートwikiからデータを盗み出す可能性があります。\n\nサンドボックスを維持しながら適用される制限を制御するには、$:/config/HtmlParser/DisableSandboxが`yes`に設定されていないことを確認してから、$:/config/HtmlParser/SandboxTokensに[[MDNドキュメント|https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#attr-sandbox]]\nにあるトークンのリストを設定します。\n\nこれらはグローバル設定であることに注意してください。個々のTiddlerごとにサンドボックスを制御するには、カスタム`<iframe>`を使用する必要があります。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/hiddensettings/Hidden Setting NewImageType.tid",
    "content": "created: 20211116222524148\nmodified: 20241124111223981\noriginal-modified: 20211116222535549\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: New-Image Type\nja-title: 隠し設定: 新しい画像タイプ\ntype: text/vnd.tiddlywiki\n\nデフォルトでは、新しい画像は`jpeg`画像タイプで作成されます\n\n$:/config/NewImageTypeの隠し設定は、新しい画像Tiddlerに使用される別の画像タイプ、例えば`png`を設定できます。"
  },
  {
    "path": "editions/ja-JP/tiddlers/hiddensettings/Hidden Setting SaveWikiButton Filename.tid",
    "content": "created: 20181215154811835\nmodified: 20241117104725880\noriginal-modified: 20190122000000000\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: Filename for Save Wiki Button\nja-title: 隠し設定: Wiki保存ボタンのファイル名\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.19\">> <<.button save-wiki>>ボタンを使用して~TiddlyWikiを保存する場合、保存に使用されるデフォルトのファイル名は、[[コントロールパネル|$:/ControlPanel]]に入力された~TiddlyWikiのタイトルを使用して作成され、Tiddler [[$:/SiteTitle]]に記録されます。\n\n使用される値は`{{$:/SiteTitle}}.html`の形式です。これにより、ファイル名は`.html`拡張子付きのサイトタイトルから作成されます。\n\n[[$:/config/SaveWikiButton/Filename]]という名前のTiddlerが作成されると、そのTiddler内のテキストが~TiddlyWikiを保存するために使用されるデフォルトのファイル名として使用されます。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/hiddensettings/Hidden Setting SaveWikiButton Template.tid",
    "content": "created: 20181215154811835\nmodified: 20241127111942680\noriginal-modified: 20181215154811835\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: Template for Save Wiki Button\nja-title: 隠し設定: Wiki保存ボタンのテンプレート\ntype: text/vnd.tiddlywiki\n\n\"Wikiを保存します\"ページコントロールボタンを使用して保存するときに使用するテンプレートを決定します。\n\nデフォルトは`$:/core/save/all`です。\n\nこの設定を変更して、\"Wikiを保存します\"ボタンをクリックしたときに保存される内容を選択できます。\n\n$:/config/SaveWikiButton/Template\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/hiddensettings/Hidden Setting Search-NavigateOnEnter.tid",
    "content": "title: Hidden Setting: Navigate on Enter\nja-title: 隠し設定: Enterキーでナビゲート\ntags: [[Hidden Settings]]\ncreated: 20201108104956516\nmodified: 20241124105904502\noriginal-modified: 20201108104956516\n\n設定Tiddler $:/config/Search/NavigateOnEnter/enableを使用すると、さまざまな検索入力フィールドで<kbd>{{$:/config/shortcuts/input-accept}}</kbd>のあと<kbd>{{$:/config/shortcuts/input-accept-variant}}</kbd>をヒットしたときに、欠落しているTiddlerへのナビゲーションと作成を、(''yes''に設定により)有効にすることができます。\n\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/hiddensettings/Hidden Setting SearchMinLength.tid",
    "content": "created: 20161011074235805\nmodified: 20241125110155182\noriginal-modified: 20161011074235805\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: Search Minimum Length\nja-title: 隠し設定: 検索の最小文字数\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.14\">> 結果が表示される検索文字列の最小長を制御します。\n\nデフォルトは\"3\"です。\n\n$:/config/Search/MinLength\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/hiddensettings/Hidden Setting ShowEditPreviewPerTiddler.tid",
    "content": "created: 20211028083211182\nmodified: 20241125110559718\noriginal-modified: 20211029090311444\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: Show Edit Preview per Tiddler\nja-title: 隠し設定: Tiddlerごとの編集プレビュー表示\n\n[[テキストプレビュー|Text preview]]をグローバルに制御するか(デフォルト)、Tiddlerごとに制御するかを制御します。\n\nTiddlerごとのモードを有効にするには、次の値を''yes''に設定します。\n\n$:/config/ShowEditPreview/PerTiddler\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/hiddensettings/Hidden Setting Sync System Tiddlers From Server.tid",
    "content": "created: 20220909094340097\nmodified: 20241126103915330\noriginal-modified: 20220909094340097\ntitle: Hidden Setting: Sync System Tiddlers From Server\nja-title: 隠し設定: システムTiddlerをサーバーから同期する\ntags: [[Hidden Settings]]\n\n<<.from-version \"5.1.23\">> Node.jsでシステムTiddlerをサーバーから同期するかどうかを決定します。(これは一方向の設定であることに注意してください。システムTiddlerは常にサーバー//へ//同期されます)。\n\n* `no` -- システムTiddlerはサーバーから同期されません(デフォルト)\n* `yes` -- システムTiddlerはサーバーから同期されます\n\nシステムTiddlerの同期を有​​効にすると、$:/StoryListや$:/HistoryListなどのTiddlerが同期されるため、複数のユーザーが同時に同じサーバーに接続したときに予期しない結果が生じる可能性があります(ストーリーシーケンスがすべてのユーザー間で同期されることになります)。\n\n$:/config/SyncSystemTiddlersFromServer"
  },
  {
    "path": "editions/ja-JP/tiddlers/hiddensettings/Hidden Setting SyncLogging.tid",
    "content": "created: 20190903192324700\nmodified: 20241125111612397\noriginal-modified: 20190903192324700\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: Sync Logging\nja-title: 隠し設定: ログの同期\ntype: text/vnd.tiddlywiki\n\n[[Syncadaptor|https://tiddlywiki.com/dev/#Syncadaptor]]がブラウザのデベロッパーコンソールに情報を記録するかどうかを指定します。\n\nデフォルトは`yes`です。ログ記録を無効にするには`no`に設定します。\n\n変更を有効にするには再起動が必要です。\n\n$:/config/SyncLogging\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/hiddensettings/Hidden Setting SyncPollingInterval.tid",
    "content": "created: 20190903192324700\nmodified: 20241126103517604\noriginal-modified: 20190903192324700\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: Sync Polling Interval\nja-title: 隠し設定: 同期ポーリング間隔\ntype: text/vnd.tiddlywiki\n\n[[Syncadaptor|https://tiddlywiki.com/dev/#Syncadaptor]]がサーバーとブラウザ間でTiddlerを同期する間隔を指定します。\n\nデフォルトは\"60000\" (60 * 1000ミリ秒 = 1分)です。\n\n変更を有効にするには再起動が必要です。\n\n$:/config/SyncPollingInterval\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/hiddensettings/Hidden Setting TagsMinLength.tid",
    "content": "created: 201712032331\nmodified: 20241127111343096\noriginal-modified: 201712032331\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: Tags Minimum Length\nja-title: 隠し設定: タグの最小長さ\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.16\">> タグのドロップダウン: 結果が表示される前の入力文字列の最小長を制御します。\n\nデフォルトは\"0\"です。\n\n$:/config/Tags/MinLength\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/hiddensettings/Hidden Setting ViewTemplate and EditTemplate.tid",
    "content": "title: Hidden Setting: ViewTemplate and EditTemplate\nja-title: 隠し設定: ViewTemplateとEditTemplate\ntags: [[Hidden Settings]]\ncreated: 20190704053532718\nmodified: 20241128113035943\noriginal-modified: 20190704053532718\n\n設定Tiddler $:/config/ui/ViewTemplateと$:/config/ui/EditTemplateで、[[ストーリーのページテンプレート|$:/core/ui/PageTemplate/story]]で使用される''~ViewTemplate''と''~EditTemplate''を変更できます。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/hiddensettings/Hidden Setting_ Disable Drag and Drop.tid",
    "content": "created: 20200315143638556\nmodified: 20241116105232874\noriginal-modified: 20210519155433742\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: Disable Drag and Drop\nja-title: 隠し設定: ドラッグアンドドロップの無効化\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.22\">>コア機能として組み込まれたドラッグアンドドロップ操作をすべて無効にするには、次のTiddlerを\"no\"に設定します。\n\n$:/config/DragAndDrop/Enable\n\n[[list-tagged-draggableマクロ|list-tagged-draggable Macro]]や[[list-links-draggableマクロ|list-links-draggable Macro]]のインスタンスでドラッグアンドドロップを選択的に再有効化するには、マクロ呼び出しのスコープにおいて、変数`tv-enable-drag-and-drop`に`yes`をセットします。たとえば、$:/config/DragAndDrop/Enableに\"no\"が設定されていても、このリスト内でドラッグアンドドロップを使用できることに注目してください。\n\n<$macrocall $name=\"wikitext-example-without-html\" src=\"\"\"<$set name=\"tv-enable-drag-and-drop\" value=\"yes\">\n\n<<list-tagged-draggable tag:\"HelloThere\">>\n\n</$set>\"\"\"/>\n\nDropzoneWidgetとDroppableWidgetを直接使用する場合、''enable''属性はグローバル設定とは独立して機能することに注意してください。"
  },
  {
    "path": "editions/ja-JP/tiddlers/hiddensettings/Hidden Setting_ Disable Lazy Loading.tid",
    "content": "created: 20191025100113266\nmodified: 20241116105821092\noriginal-modified: 20191025100113266\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: Disable Lazy Loading\nja-title: 隠し設定: 遅延ロードの無効化\ntype: text/vnd.tiddlywiki\n\n[[遅延ロード|LazyLoading]]は、下記の値を`yes`に設定すると無効にできます\n\n$:/config/SyncDisableLazyLoading\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/hiddensettings/Hidden Setting_ Enable File Import in Editor_1.tid",
    "content": "created: 20210519155447339\nmodified: 20241117103103808\noriginal-modified: 20210519160010708\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: Enable File Import in Editor\nja-title: 隠し設定: エディターでファイルのインポートを有効にする\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.2.0\">>\n\n$:/config/Editor/EnableImportFilter\n\nこのフィルターは、特定のTiddlerでエディター内でのファイルのドラッグアンドドロップが機能するかどうかを決定します。結果が空でない場合、そのTiddlerのエディター内でのドラッグアンドドロップが有効になります。\nこのフィルターは、グローバルなドラッグアンドドロップ設定を尊重して使用されます。"
  },
  {
    "path": "editions/ja-JP/tiddlers/hiddensettings/Hidden Setting_ More Tabs Horizontal.tid",
    "content": "created: 20221128092648000\nmodified: 20241124105614116\noriginal-modified: 20221128092903706\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: More Tabs Horizontal\nja-title: 隠し設定: 「詳しく」タブの水平化\ntype: text/vnd.tiddlywiki\n\n詳しく -> タブ を水平方向に揃えるには、$:/config/ui/SideBar/More/horizontal Tiddlerをyesに設定します。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/hiddensettings/Hidden Setting_ Scroll Top Adjustment.tid",
    "content": "created: 20180816105911495\nmodified: 20241124112441126\noriginal-modified: 20180816110627713\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: Scroll Top Adjustment\nja-title: 隠し設定: スクロールトップの調整\ntype: text/vnd.tiddlywiki\n\nTiddlerへの移動の一環として、TiddlyWikiはページをスクロールして、Tiddlerの上部がブラウザウィンドウの上部と揃うようにします。つまり、ウィンドウの上部にあるカスタム`position:fixed`ツールバーを使用すると、Tiddlerの上部が見えなくなる可能性があります\n\nツールバーに合わせてスクロール位置を調整するには、ツールバーにCSSクラス`tc-adjust-top-of-scroll`を追加します。TiddlyWikiのスクロールメカニズムにより、その要素の高さに応じてスクロール位置が動的に調整されます。\n\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/hiddensettings/Hidden Setting_ Search AutoFocus.tid",
    "content": "created: 20150619162518761\nmodified: 20241125105614310\noriginal-modified: 20150619162605652\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: Search AutoFocus\nja-title: 隠し設定: 検索へのオートフォーカス\ntype: text/vnd.tiddlywiki\n\nTiddlyWikiがブラウザで開かれると、デフォルトで自動的に検索ボックスにフォーカスされます。これで問題が発生する場合は、次の値を''true''から''false''に変更してデフォルトを変えます: \n\n$:/config/Search/AutoFocus\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/hiddensettings/Hidden Setting_ Tag Pill Drag Filter.tid",
    "content": "created: 20240508093242925\nmodified: 20241201115406166\noriginal-modified: 20240728134955433\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: Tag Pill Drag Filter\nja-title: 隠し設定: タグピルのドラッグフィルター\ntype: text/vnd.tiddlywiki\n\n''~$:/core/config/TagPillDragFilter''は、タップピル(例: <<tag HelloThere>>)をあるWikiから別のWikiへ、ドラッグアンドドロップするために使用されるフィルター文字列を定義します。\n\n* デフォルトでは、セットには、HelloThere''タグが付けられた''Tiddlerが、HelloThereタグTiddler自体を''除いて''すべて含まれます。\n** Coreのデフォルト: <code><$transclude $tiddler=\"$:/core\" $subtiddler=\"$:/core/config/TagPillDragFilter\" output=\"text/plain\" /></code>\n* タグTiddlerを含める場合は、次のフィルターを使用します: \n** タグ付けされたTiddlerのみ: `[all[current]tagging[]] [all[current]is[tiddler]] +[!is[draft]]`\n\n$:/core/config/TagPillDragFilter\n<%if [[$:/core/config/TagPillDragFilter]is[tiddler]] %>\n''は上書きされて'' 次のとおりです:\n<%else%>\nデフォルトで次のとおりです:\n<%endif%>\n<code>{{$:/core/config/TagPillDragFilter}}</code>\n\n<<.note title:\"注意\" _:\"Coreのデフォルトフィルターには、隠しTiddlerは含まれ//ません//。上書きされた隠しTiddlerは//含まれ//ます。`is[tiddler]`やその他の可能なことの詳細については、 [[isオペレーター|is Operator]]を参照してください。\">>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/hiddensettings/Hidden Setting_ Typin Refresh Delay.tid",
    "content": "created: 20150619162409306\nmodified: 20241128112152516\noriginal-modified: 20191014091803518\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: Typing Refresh Delay\nja-title: 隠し設定: 入力更新の遅延\ntype: text/vnd.tiddlywiki\n\nTiddlyWikiは、タイムアウトが経過するまで、ドラフトTiddlerとプレフィックス`$:/temp/volatile/`付きのTiddlerへの変更の処理を延期します(これをスロットリングと呼びます)。このメカニズムは、`throttle.refresh`フィールドを追加することで他のTiddlerに拡張できます。詳細については、RefreshThrottlingを参照してください。\n\nデフォルト値の400ミリ秒は、ほとんどの場合、応答性のバランスが良好ですが、低電力のモバイルデバイスでは必ずしも最適ではありません。\n\n次の値(ミリ秒)を変更することで、タイムアウトを変更できます: \n\n$:/config/Drafts/TypingTimeout\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/hiddensettings/Hidden Settings.tid",
    "content": "created: 20150619162223882\nmodified: 20241116102451779\noriginal-modified: 20150619162405141\ntags: [[Customise TiddlyWiki]]\ntitle: Hidden Settings\nja-title: 隠し設定\ntype: text/vnd.tiddlywiki\n\nTiddlyWikiの有益な構成設定は[[コントロールパネル|$:/ControlPanel]]に表示されますが、より高度な設定の一部にはユーザーインターフェイスがありません。その代わり、基礎となる構成Tiddlerを直接編集します。\n\n空のTiddlyWikiでこれらの設定を変更するには、個々の設定TiddlerへのリンクをこのWikiから自分のWikiにドラッグします。\n\n<<list-links \"[tag[Hidden Settings]]\">>"
  },
  {
    "path": "editions/ja-JP/tiddlers/hire-jeremy/Hire Jeremy Sidebar Segment.tid",
    "content": "title: Hire Jeremy Sidebar Segment\ncreated: 20250708130030654\nmodified: 20260112103108498\noriginal-modified: 20250708130030654\ntags: $:/tags/SideBarSegment\nlist-after: $:/core/ui/SideBarSegments/site-subtitle\n\n<div class=\"yellow-note-sidebar-wrapper\">\n\t<div class=\"yellow-note-sidebar\">\n\t\t<$link to=\"Hire the founder of TiddlyWiki\">\n\t\t\t<div class=\"yellow-note\">\n\t\t\t\t<i class=\"yellow-note-pin\"></i>~TiddlyWiki創設者の雇用\n\t\t\t</div>\n\t\t</$link>\n\t</div>\n</div>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/hire-jeremy/HireJeremy.tid",
    "content": "title: Hire the founder of TiddlyWiki\nja-title: TiddlyWiki創設者の雇用\nmodified: 20251220113956682\noriginal-modified: 20250901094938063\ncreated: 20250901094938063\n\n<i class=\"yellow-note-pin\"></i>//[[JeremyRuston]]からのメッセージ//\n\n現在、私の会社[[Intertwingled Innovations]]では、新しい顧客を募集しています。\n\n<$expand.able heading=\"私を採用する理由\">\n\nあなたの組織が~TiddlyWikiを最大限に活用できるように私がサポートできることは次のとおりです: \n\n* ''カスタムアプリケーション'' -- ワークフローを高速化する~TiddlyWikiソリューションを特注します\n* ''コアスポンサー'' -- あなたの組織向けに新しい機能や公式プラグインに資金を提供し、~TiddlyWikiエコシステムを強化します\n* ''シームレスな統合'' -- 既存のツールやインフラと~TiddlyWikiを接続し、スムーズに連携します\n* ''~TiddlyWikiの維持'' -- 商業プロジェクトにより、~TiddlyWikiを維持・革新を続けることができます。私と一緒に活動することは、~TiddlyWikiの未来の支えになります\n\n</$expand.able>\n\n<$expand.able heading=\"コラボレーションの方法\">\n\nプロジェクトは、お客様のビジョン、ゴール、運用状況を理解するために対話から始めます。1つまたは複数の~PoCプロトタイプを作成し、その後、定期的なミーティングで進捗を確認し、次のステップについて合意しながら、反復的なタイムボックス化された開発サイクルを実施します。\n\n私のプロジェクトの多くは長期的なコラボレーションに発展していますが、小規模で集中的なプロジェクトも引き受けています。複数のプロジェクトに同時に取り組み、共通のニーズを特定し、複数のクライアントに役立つコンポーネントを構築しています。それは~TiddlyWikiコミュニティ全体の機能強化につながることも少なくありません。\n\n\n</$expand.able>\n\n<$expand.able heading=\"成功事例\">\n\n私は幸運にも、世界中の様々な組織と協力し、意義深く興味深いプロジェクトに携わることができました。特に:\n\n* 慈善事業向け -- [[Xememex]], 数千人のユーザーで利用できるマルチユーザー~TiddlyWikiサーバー\n* 慈善投資会社向け -- 外部パートナーとパイプラインを共有するエクストラネット\n* 法律事務所向け -- 密にリンクされた数十万個のTiddlerを持つハイパーテキストナレッジシステム\n* 出版社向け -- 実験的なハイパーテキスト書籍出版プラットフォーム\n* 不動産会社向け -- 新しい地理空間プラグイン\n\n</$expand.able>\n\n<$expand.able heading=\"TiddlyWikiへのインパクト\">\n\n多くのコア機能と公式プラグインはクライアントプロジェクトからできました: \n\n* テストケースウィジェット\n* 同意バナープラグイン\n* 動的注釈プラグインと動的表示プラグイン\n* Excelインポートプラグイン\n* 地理空間プラグイン\n* インナーウィキプラグイン\n* テキストスライサープラグイン\n* ツアープラグインと紙吹雪プラグイン\n* XLSXインポートプラグイン\n\n</$expand.able>\n\n~TiddlyWikiがあなたの組織にどのように役立つかを知りたい場合は、<a href=\"mailto:jeremy@jermolene.com\" target=\"_blank\">jeremy@jermolene.com</a>にご連絡ください。"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Adding a Twitter Follow button.tid",
    "content": "created: 20140103091348509\nmodified: 20241018104349502\noriginal-modified: 20140919161534259\ntags: Learning\ntitle: Adding a Twitter Follow button\nja-title: Twitterのフォローボタンを追加する\ntype: text/vnd.tiddlywiki\n\n\n以下は、特定のユーザー名のTwitterフォローボタンを提供するマクロです: \n\n```\n\\define twitterFollowButton(username)\n<iframe allowtransparency=\"true\" frameborder=\"0\" scrolling=\"no\" src=\"//platform.twitter.com/widgets/follow_button.html?screen_name=$username$\" style=\"width:300px; height:20px;\"></iframe>\n\\end\n```\n\nhttps://dev.twitter.com/docs/follow-button で公開されているバージョンからの唯一の変更点は、新しい行が削除されたことです\n\nsrc URLはプロトコル(つまり、\"http\"または\"https\")なしで指定されていることに注意してください。このようにして、サイトがHTTPドメインでホストされているかHTTPSドメインでホストされているかに関係なく機能するようにします。TiddlyWikiを\"file://\" URLでオフライン使用しているときにTwitterボタンを機能させたい場合は、プロトコルを手動で追加する必要があります。例えば: \n\n```\n<iframe allowtransparency=\"true\" frameborder=\"0\" scrolling=\"no\" src=\"https://platform.twitter.com/widgets/follow_button.html?screen_name=jermolene\" style=\"width:300px; height:20px;\"></iframe>\n```\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Adding_a_table_of_contents_to_the_sidebar.tid",
    "content": "created: 20160424150551727\nmodified: 20241111111307811\noriginal-modified: 20181106224128548\ntags: [[Customise TiddlyWiki]]\ntitle: Adding a table of contents to the sidebar\nja-title: サイドバーに目次を追加する\ntype: text/vnd.tiddlywiki\n\n目次を作成するための~TiddlyWikiの標準メカニズムは、\"toc\"[[マクロ|Macros]]です。(マクロの詳細については、リンクをクリックしてください。)Tiddlerを目次の見出しとして扱うようにする手段として`タグ付け`を使用します。タグ付けについては[[タグ付け|Tagging]]Tiddlerを参照してください。\n\n以下のステップで、サイドバーにカスタマイズできる[[目次|Table-of-Contents Macros]]を追加できます:\n\n# [[TableOfContents]]という名前のTiddlerを作成します\n# ''~$:/tags/SideBar''というタグを付けます\n# テキストに次のように入力します <div><pre><code><$text text=\"\"\"\n<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'TableOfContents'>>\n\n</div>\"\"\"/></code></pre></div>\n# ''目次''という値を持つ''caption''フィールドを追加します\n#  ''~$:/core/ui/SideBar/Open''という値を持つ''list-after''フィールドを追加します\n\n''TableOfContents''というタグを持つTiddlerを作成することで目次にエントリを追加します。より簡単な方法としては、''TableOfContents''TiddlerのTiddlerツールバーの<<.icon $:/core/images/new-here-button>> ''タグ付きTiddlerの作成''を選択します。\n(''タグ付きTiddlerの作成''ボタンが表示されない場合は、下向き矢印<<.icon $:/core/images/down-arrow>>をクリックしてその他メニューを表示します。)\n\n子Tiddler(他のTiddlerの下にあるTiddler)を作成するには、親Tiddlerの名前を子Tiddlerにタグ付けします。"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Adopt a Titles Policy.tid",
    "content": "created: 20130825103300000\nmodified: 20241018105028003\noriginal-modified: 20140912150136251\ntags: Learning\ntitle: Adopt a Titles Policy\nja-title: タイトルポリシーを採用する\ntype: text/vnd.tiddlywiki\n\n\nTiddlyWikiドキュメント内の構造が複雑になるにつれて、Tiddlerのタイトルの一貫性を保つのが難しくなることがあります。例えば、用語は複数形で定義すべきでしょうか、それとも単数形で定義すべきでしょうか?キャメルケースか、スペース区切りか?\n\n正式にタイトル設定ポリシーを定めると、混乱を減らすことができます。例えば、このWikiのタイトルポリシーは、[[ドキュメントスタイルガイド|Documentation Style Guide]]に記録されています\n\n! [[システムTiddler|SystemTiddler]] のタイトル\n\n役にたつ規則は、作成するシステムTiddlerにはプレフィックス`$:/_`を使用することです。そうするとサイドバーのシステムTiddlerリストの先頭付近に表示されるようにできます\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Concatenating text and variables using macro substitution.tid",
    "content": "created: 20160424150551727\nmodified: 20241018105413659\noriginal-modified: 20230615114519672\ntags: Learning\ntitle: Concatenating text and variables using macro substitution\nja-title: マクロ置換を使用してテキストと変数を連結する\ntype: text/vnd.tiddlywiki\n\n!! 重要\n\n<<.from-version \"5.3.0\">>以降、テキストと変数を連結するには、[[置換された属性|Substituted Attribute Values]]や[[置換フィルター演算子|substitute Operator]]を使用することをお勧めします。\n\n~TiddlyWikiでは、変数の値をさまざまなテキスト文字列と組み合わせることがよくあります。一部のプログラミング言語では、このプロセスはテキストの\"連結\"と呼ばれることがよくあります。\n\n---\n\n!! 何があったのか\n\n例えば、顧客データベースのテンプレートを設定し、顧客に関する追加の連絡先情報をリンクによって自動的に参照するようにしたいとします。Tiddler内では、次のようなことを試すかもしれません:\n\n<<.bad-example \"`[[Additional Info|<<currentTiddler>>-Contact]]`\">>\n\nしかし、これは正しく機能しません。これを試すと、リンクは文字通りに解釈され、次の場所に移動しようとします: \n\n```\n<<currentTiddler>>-Contact\n```\n\n解決策は、マクロを使用して、`<<currentTiddler>>`がレンダリングされた値と、追加のテキスト`-Contact`とを組み合わせることです。\n\nTiddlerの冒頭で、次のようなマクロを作成します:\n\n```\n\\define linkup(link) [[Additional Info|$link$-Contact]]\n```\n\n新しいマクロを次のように呼び出すること試すかもしれません:\n\n<<.bad-example \"`<<linkup <<currentTiddler>> >>`\">>\n\nしかし、そうすると、`<<currentTiddler>>`はレンダリングされずに、文字通り渡されることがわかります。\n\n代わりに、次のように[[MacroCallWidget]]ウィジェットを使用できます: \n\n```\n<$macrocall $name=\"linkup\" link=<<currentTiddler>> />\n```\n\nこの場合、変数の値をマクロに直接渡しました。これは、このタスクを実行するための一般的な方法です。他の変数に基づいてさらにリンクを作成したい場合は、それぞれの状況でマクロを再利用できます。\n\nこの場合のように、使用している変数が`currentTiddler`だけであれば、次のように、簡単にマクロを記述できます: \n\n```\n\\define linkup() [[Additional Info|$(currentTiddler)$-Contact]]\n```\n\nこの場合、引数を渡さないことに注意してください。代わりに、特別な構文`$(variable)$`を使用して変数を参照します。引数を渡さないため、次のように`<$macrocall>`ウィジェットなしでより簡単に呼び出すことができます: \n\n```\n<<linkup>>\n```"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Configuring the default TiddlerInfo tab.tid",
    "content": "created: 20140828080837703\nmodified: 20241112113549386\noriginal-modified: 20140912145908651\ntags: [[Customise TiddlyWiki]]\ntitle: Configuring the default TiddlerInfo tab\nja-title: Tiddler情報タブのデフォルトを構成する\ntype: text/vnd.tiddlywiki\n\n設定用Tiddler[[$:/config/TiddlerInfo/Default]]は、Tiddler情報タブのデフォルトとなるTiddlerのタイトルが含まれています。\n\nデフォルト値は''項目''タブに対応する`$:/core/ui/TiddlerInfo/Fields`です。他に構成可能な値は次のとおりです。: \n\n<ul>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TiddlerInfo]!has[draft.of]]\">\n<li>\n<$view field=\"title\"/>\n</li>\n</$list>\n</ul>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Constructing JSON tiddlers.tid",
    "content": "created: 20220427174702859\nmodified: 20241019104110533\noriginal-modified: 20230922122551197\ntags: [[JSON in TiddlyWiki]] Learning\ntitle: Constructing JSON tiddlers\nja-title: JSON Tiddlerの構築\n\nTiddlyWikiでのJSONの使い方の概要については、[[TiddlyWikiでのJSON|JSON in TiddlyWiki]]を参照してください\n\nJSONデータは単なるプレーンテキストであるため、Wikiテキストで生成するためのさまざまな手法が存在します\n\n高いレベルでは、TiddlyWiki独自のTiddler形式でJSONデータを生成する方法がいくつかあります: \n\n* [[JSONTiddlerウィジェット|JSONTiddlerWidget]]\n* [[jsontiddlerマクロ|jsontiddler Macro]]\n* [[jsontiddlersマクロ|jsontiddlers Macro]]\n\nJSONデータを手動で構築する場合、特殊文字が適切にエスケープされていることを確認するために[[jsonstringifyオペレーター|jsonstringify Operator]]が必要です"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Creating SubStories.tid",
    "content": "created: 20140214215718317\nmodified: 20241016112045089\noriginal-modified: 20211127032217828\ntags: Learning\ntitle: Creating SubStories\nja-title: サブストーリーを作成する\ntype: text/vnd.tiddlywiki\n\nこの例では、メイン[[ストーリー|Story River]]から独立したTiddler内にサブストーリーを作成する方法を示します。NavigatorWidgetとListWidgetを連携します:\n\n# リンクをクリックすると、[[ストーリー|Story River]]にTiddlerを追加します。リンクのクリックに対応するTiddlerに移動します(NavigatorWidgetの''story''属性)\n# Tiddlerの閉じるボタンがクリックされたときに、[[ストーリー|Story River]]からTiddlerを削除します(NavigatorWidgetの''story''属性)\n# Tiddlerの開閉をアニメーションします(ListWidgetの''storyview''属性)\n# 開いているTiddlerのリストを表示します(ListWidgetの''filter''属性と''template''属性)\n# Tiddlerを[[ドラフトモード|DraftMechanism]]で表示します(ListWidgetの''editTemplate''属性)\n# [[ナビゲーション履歴|HistoryMechanism]]を追跡します(NavigatorWidgetとListWidgetの両方の''history''属性)\n# そのほかいろいろ!\n\nコード例は次のとおりです(関連する議論については、StateMechanismも参照してください):\n\n<$macrocall $name='wikitext-example-without-html'\nsrc='<$navigator story=\"$:/temp/DemoStoryList\" history=\"$:/temp/DemoHistoryList\">\n\n{{$:/core/ui/SideBarSegments/search}}\n\n<$list\n  filter=\"[list[$:/temp/DemoStoryList]]\"\n  history=\"$:/temp/DemoHistoryList\"\n  template={{$:/config/ui/ViewTemplate}}\n  editTemplate={{$:/config/ui/EditTemplate}}\n  storyview=\"classic\"\n  emptyMessage=\"上の検索ボックスを使用してください。クリックした検索リンクは、メインストーリーではなくここで開きます<p>何を検索すればよいか浮かびませんか?では、このリンクをクリックしてください:[[こんにちは|HelloThere]]</p>\"/>\n\n</$navigator>'>"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Creating a custom export format.tid",
    "content": "title: Creating a custom export format\nja-title: カスタムエクスポートフォーマットを作成する\nmodified: 20241113113601051\noriginal-modified: 20141124173526227\ncreated: 20141124173526227\ntags: [[Customise TiddlyWiki]]\n\nTiddlerをRAWデータテキストとしてエクスポートするカスタムエクスポートフォーマットを作成するには: \n\n# 次のフィールドを持つTiddlerを作成します。\n#* ''tags'': [[$:/tags/Exporter]]\n#* ''description'': このエクスポートフォーマットの説明\n#* ''extension'': このエクスポートフォーマットのデフォルトのファイル拡張子(ドットを含む、たとえば`.tid`)\n# 以下の内容を設定します。: \n\n```\n\\define renderContent()\n{{{ $(exportFilter)$ ||$:/core/templates/plain-text-tiddler}}}\n\\end\n<<renderContent>>\n```\n\n変数`exportFilter`には、どのTiddlerをエクスポートするのかを定義するフィルターが含まれています。"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Creating a splash screen.tid",
    "content": "created: 20180927081216605\nmodified: 20241114112009202\noriginal-modified: 20180927084436111\ntags: [[Customise TiddlyWiki]]\ntitle: Creating a splash screen\nja-title: スプラッシュ画面を作成する\ntype: text/vnd.tiddlywiki\n\nデフォルトでは、TiddlyWikiはロード中に空白の画面を表示します。Wikiのロード中に表示される特別な\"スプラッシュ画面\"を追加できます。\n\n大きなTiddlyWikiファイルや、遅いネットワーク接続を介してロードされるファイルは、ロードに少し時間がかかる場合があります。完全にロードされると、ブラウザ内ですべてが実行されるため、パフォーマンスが向上します。スプラッシュ画面を使用すると、読み込みプロセスが行われていることをユーザーが認識できるため、ページから離れる可能性が低くなります。\n\nTiddlyWikiが初期化や[[復号化|Encryption]]の前にスプラッシュ画面を表示するには、TiddlyWiki HTMLファイル内に静的HTML/CSSとして埋め込まれます。これは、[[SystemTag: $:/tags/RawMarkupWikified/TopBody]]、または$:/tags/RawMarkupで始まるシステムタグで行われます。\n\nWikiの読み込みが完了したときにスプラッシュ画面を削除するには、HTMLを特別なクラス`tc-remove-when-wiki-loaded`を持つコンテナ内に包み込む必要があります。このクラスを持つDOM要素は、Wikiがロードされるとコア機能によって自動的に削除されます。\n\n以下は、//Loading//というテキストを表示するだけの単純なスプラッシュ画面の例です。これを使用するには、このテキストを新しいTiddlerにコピーし、タイプ\"text/plain\"とタグ\"$:/tags/RawMarkupWikified/TopBody\"を指定します。: \n\n```\n<div class=\"tc-remove-when-wiki-loaded\">\nLoading...\n</div>\n```\n\nTiddlerにWikiTextタイプ`text/vnd.tiddlywiki`が指定されている場合、ファイルの保存時にコンテンツがwiki化されるので、トランスクルージョンなども可能になります。たとえば、ロード時メッセージでサイトのタイトルを引用する例を次に示します。これを使用するには、このテキストを新しいTiddlerにコピーし、タイプ\"text/vnd.tiddlywiki\"とタグ\"$:/tags/RawMarkupWikified/TopBody\"を指定します。: \n\n```\n\\rules only filteredtranscludeinline transcludeinline\n<div class=\"tc-remove-when-wiki-loaded\">\nPlease wait while {{$:/SiteTitle}} is loading\n</div>\n```\n\nこの`\\rules`命令は、認識されるWikiText構文を2つの形式のインライントランスクルージョンに制限するために使用されます。これにより、Tiddlerコンテンツの誤ったWiki化が回避できます。\n\nこのWikiには、CSSアニメーションと画像を使用した複雑なスプラッシュ画面の例があります: $:/SplashScreenを参照してください。"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Custom Styles by title.tid",
    "content": "created: 201804111739\nmodified: 20241119112922446\noriginal-modified: 201804111739\ntags: [[How to apply custom styles]]\ntitle: Custom styles by data-tiddler-title\nja-title: data-tiddler-titleによるカスタムスタイル\ntype: text/vnd.tiddlywiki\n\n! 属性: data-tiddler-title\n\n<<.from-version \"5.1.16\">>\n\n~TiddlyWikiのコアでは、レンダリングされたコンテンツにいくつかの`属性`を追加します。これらの属性を使用すると、カスタムスタイルをTiddlerコンテンツに適用できます\n\n例えば、この\"{{!!title}}\"という名前のTiddlerには、次のような属性になります: \n\n```\ndata-tiddler-title=\"Custom styles by data-tiddler-title\"\n```\n\n!! 例\n\n次のCSSは[[Custom data-styles]]で定義されており、まさにこのTiddlerに青い境界線を作成します\n\n```\n[data-tiddler-title=\"Custom styles by data-tiddler-title\"] {\n  border: 1px solid blue;\n}\n```\n\nシステムTiddlerと呼ばれる`$:/`で始まるすべてのTiddlerに緑色の境界線を作成するには、次のようにCSSを使用する必要があります: (ここでは適用されていませんが、試してみることはできます!)\n\n```\n[data-tiddler-title^=\"$:/\"] {\n  border: 1px solid green;\n}\n```\n\n!! その他の記述方法\n\n{{Attribute Selectors}}\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Custom Styles by userClass.tid",
    "content": "created: 201804111739\nmodified: 20241119113521083\noriginal-modified: 201804111739\ntitle: Custom styles by user-class\nja-title: user-classによるカスタムスタイル\ntags: [[How to apply custom styles]]\ntype: text/vnd.tiddlywiki\n\n''Tiddlerフィールド: `class`'' <<.from-version \"5.1.16\">>\n\n[[タグの管理|$:/TagManager]]を使用すると、\"タグピル\"の色を定義するために使用される`color`フィールドをTiddlerに設定できます。<<.from-version \"5.1.16\">>されたため、[[ViewTemplate|$:/core/ui/ViewTemplate]]に直接挿入され、スタイル設定に使用できる`class`フィールドを定義できます: \n\n\"\"\"\ntitle: `anyName`\ntags: `$:/tags/Stylesheet`\nclass: `myClass`\n\"\"\"\n\n`class`フィールドを持つすべてのTiddlerは次のようにスタイル設定できます!\n\n```\n.myClass {\n  border: 2px solid blue;\n}\n\n```\n\n詳細については、[[カスタムスタイルを適用する方法|How to apply custom styles]]を参照してください。"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Custom tag pill styles.tid",
    "content": "created: 20230608121519758\nmodified: 20241120111032165\noriginal-modified: 20230608123444591\ntags: [[How to apply custom styles]]\ntitle: Custom tag pill styles\nja-title: タグピルのカスタムスタイル\ntype: text/vnd.tiddlywiki\n\n! 属性: data-tag-title\n\n<<.from-version \"5.2.0\">> この属性<<.attr data-tag-title>>は、Tiddlerの表示用テンプレートに表示されるタグピルに追加されました。\n\n<<.from-version \"5.3.0\">> この属性は、標準の~TiddlyWiki UIに表示されるすべてのタグピルに追加されました。特に、編集用テンプレートのタグリスト、タグピッカーのドロップダウン、右側のサイドバー -> 詳しく -> タグ別タブ、そして、$:/TagManagerに追加されています\n\nHTML属性<<.attr data-tag-title>>には、タグピルに表示されるタグタイトルのみが含まれます。これを使用して、タグピルのスタイルを設定できます。\n\nTiddler全体にスタイルを設定したい場合は、[[data-tiddler-titleによるカスタムスタイル|Custom styles by data-tiddler-title]]を参照してください。\n\n!! 例\n\n新しい `$:/tags/Stylesheet`タグ付きTiddlerで次のCSSを使用すると、`#`で始まるすべてのタグに新しい境界線の丸角半径が設定されます。そのため、これらのタグはデフォルトのタグとは対照的に目立ちます。\n\n既存のTW UI内のすべてのタグピルを捕捉するには、既存のUI構造のため、''両方のCSSルールを定義する必要があります''。\n\n```\n[data-tag-title^=\"#\"] .tc-tag-label,\n[data-tag-title^=\"#\"].tc-tag-label {\n   border-radius: 3px;\n}\n```\n\n!! さらに可能な設定\n\n{{Attribute Selectors}}\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Custom_Attribute_Selectors.tid",
    "content": "created: 20170126152839462\nmodified: 20241119110659035\noriginal-modified: 201804111739\ntags: [[Custom data-styles]]\ntitle: Attribute Selectors\nja-title: 属性セレクタ\ntype: text/vnd.tiddlywiki\n\n;[attr]\n:属性attrを持つ要素を表します。\n\n;[attr=\"value\"]\n:属性attrの値が\"value\"である要素を表します。\n\n;[attr~=\"value\"]\n:属性attrの値が、空白で区切られた単語のリストで、そのうちの1つが\"value\"である要素を表します。\n\n;[attr|=\"value\"]\n:属性attrの値が、“value”か、“value”の後に“-” (U+002D)が続く値である要素を表します。言語サブコードの一致に使用できます。\n\n;[attr^=\"value\"]\n:属性attrの値の先頭に\"value\"が付く要素を表します。\n\n;[attr$=\"value\"]\n:属性attrの値の末尾に\"value\"が付く要素を表します。\n\n;[attr*=\"value\"]\n:属性attrの値に文字列\"value\"が部分文字列として少なくとも1回含まれる要素を表します。\n\n;[attr \"operator value\" i]\n:閉じ括弧の前にi(またはI)を追加すると、値は大文字と小文字を区別せずに比較されます(ASCII範囲内の文字の場合)。\n\n詳細は[[CSSの属性セレクタ|https://developer.mozilla.org/en-US/docs/Web/CSS/Attribute_selectors]]や[[CSS仕様書|https://www.w3.org/TR/CSS22/selector.html#attribute-selectors]]を参照してください"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Custom_Styles_FAQ.tid",
    "content": "modified: 20241120105817756\noriginal-modified: 201804111739\ncreated: 201804111739\ntitle: Custom Styles FAQ\nja-title: カスタムスタイルに関するよくある質問\ntags: [[How to apply custom styles]] FAQ-group\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.16\">>\n\n<<list-links \"[tag[Custom Styles FAQ]]\">>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Custom_styles_by_data-tags.tid",
    "content": "created: 20170124132500000\nmodified: 20241119105640364\noriginal-modified: 201804111739\ntags: example-test [[How to apply custom styles]]\ntitle: Custom styles by data-tags\nja-title: data-tagsによるカスタムスタイル\ntype: text/vnd.tiddlywiki\n\n! 属性: data-tags\n\n<<.from-version \"5.1.16\">>\n\n~TiddlyWikiのコアでは、レンダリングされたコンテンツにいくつかの`属性`を追加します。これらの属性を使用すると、カスタムスタイルをTiddlerコンテンツに適用できます\n\n例えば、この<<tag \"How to apply custom styles\">>と<<tag \"example-test\">>でタグ付けされたTiddlerには、次のような属性になります:\n\n```\ndata-tags=\"[[How to apply custom styles]] example-test\"\n```\n\n''重要: ''Tiddlerタグはソートされて''いない''ため、レンダリングされた出力の順序は異なる場合があります!\n\n!! 例\n\n次のCSSは[[Custom data-styles]]で定義されており、`example-test`でタグ付けされたすべてのTiddler(これを含む)にピンクの境界線を作成します\n\n```\n[data-tags*=\"example-test\"] {\n  border: 2px solid pink;\n}\n```\n\n!!! スタイルシートのスタイリング\n\n`data-tags-styles`でタグ付けされたTiddlerを表示するには、適切な方法で、次のコードを使用できます(`$:/tags/Stylesheet`を使用することもできますが、このWiki 内のすべてのスタイルシートに影響を与えることになり、意図したものではありません。)\n\n''重要:'' `.tc-tiddler-body`を指定することも忘れないでください。指定しないと、タイトルを含むTiddler全体が変更されます! 参照: [[Custom data-styles]]\n\n```\n[data-tags*=\"data-tags-styles\"] .tc-tiddler-body {\n  display: block;\n  padding: 14px;\n  margin-top: 1em;\n  margin-bottom: 1em;\n  word-break: normal;\n  word-wrap: break-word;\n  white-space: pre-wrap;\n  background-color: #f5f5f5;\n  border: 1px solid #cccccc;\n  padding: 0 3px 2px;\n  border-radius: 3px;\n  font-family: Monaco, Consolas, \"Lucida Console\", \"DejaVu Sans Mono\", monospace;\n}\n```\n\n!! 強制改行\n\nこの仕組みは、散文的な文章を書きたいユーザーにとっては便利です。参照: [[CSSを使用した強制改行|Hard Linebreaks with CSS]]\n\n!! その他の記述方法\n\n{{Attribute Selectors}}\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Debugging Stylesheets.tid",
    "content": "created: 20211125175712017\nmodified: 20241118113249073\noriginal-modified: 20211125175906085\ntags: [[Using Stylesheets]]\ntitle: Debugging Stylesheets\nja-title: スタイルシートのデバッグ\ntype: text/vnd.tiddlywiki\n\nコアの隠しTiddler $:/snippets/DebugStylesheetsには、括弧の不一致やその他の入れ子構造に関する特定の問題を追跡するための簡単なツールが含まれています\n\n以下のリストでは、エラーを含むスタイルシートには赤いバツ印が付いています: \n\n{{$:/snippets/DebugStylesheets}}\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Editing Tiddlers with Emacs.tid",
    "content": "created: 20140406210404245\nmodified: 20241017113402647\noriginal-modified: 20140919161501896\ntags: Learning\ntitle: Editing Tiddlers with Emacs\nja-title: TiddlerをEmacsで編集する\ntype: text/vnd.tiddlywiki\n\nMichael Foglemanは、TiddlyWikiの.tidファイルを編集するための[[tid-mode|https://github.com/mwfogleman/tid-mode]]と呼ばれる[[Emacs|http://www.gnu.org/software/emacs/]]のメジャーモードを作成しました。これはtext-modeから派生し、便利なマイナーモードorg-structとsubwordを使用し、.tidファイルを保存するときに変更時刻を更新します\n\n彼はまた、EmacsでTiddlyWikiを使用するための2つのヘルパー関数も作成しました。1つ目は、DiredでTiddlerディレクトリを開きます。2つ目はブラウザでTiddlyWikiを開きます\n\n```\n(defun open-wiki ()\n  \"Opens a TiddlyWiki directory in Dired.\"\n  (interactive)\n  (dired \"~/Dropbox/wiki/tiddlers/\"))\n```\n  \n```\n(defun browse-wiki ()\n  \"Opens TiddlyWiki in the browser.\"\n  (interactive)\n  (browse-url \"127.0.0.1:8080/\"))\n```\n\n後者の関数では、ブラウザの指定が必要になる場合があります:\n\n```\n(setq browse-url-browser-function 'browse-url-generic\n      browse-url-generic-program \"chromium\")\n```\n\nこれらの関数をglobal-set-key関数でバインドできます:\n\n```\n(global-set-key (kbd \"C-c w\") 'open-wiki)\n```\n\n現時点では、これらはtid-modeに統合されていません\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Editing Tiddlers with Vim.tid",
    "content": "modified: 20241020104154015\noriginal-modified: 20160111190002\ncreated: 20140406210404245\ntags: Learning\ntitle: Editing Tiddlers with Vim\nja-title: TiddlerをVimで編集する\ntype: text/vnd.tiddlywiki\n\nDevin Weaverは https://github.com/sukima/vim-tiddlywiki に[[Vim|http://www.vim.org/]]プラグインを作成しました\n\nTiddlyWikiのシンタックスのほとんどをサポートしており、`modified`フィールドを自動更新するファイルタイププラグインが含まれています"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Editor toolbar.tid",
    "content": "created: 20160817093933820\nmodified: 20241104105233416\noriginal-modified: 20190118161349442\ntags: Features [[Formatting text in TiddlyWiki]]\ntitle: Editor toolbar\nja-title: エディタツールバー\ntype: text/vnd.tiddlywiki\n\n!! 使い方\n\nエディタツールバーは、テキストのフォーマットを簡単に設定するのに役立つツールバーです。編集モードの場合、Tiddlerのテキスト入力フィールドの上に表示されます。Microsoft WordやLibre Office Writeなどのデスクトップテキストエディターと似た外観をしています\n\n!! エディタツールバーの機能\n機能ボタンを押すと、テキストフィールドにWikiTextが挿入されます。例えば、太字のボタンを押すと、`'' ''`が挿入されます\n\nテキストの一部を''選択''していると、マークアップコードが選択されたテキストを自動的に囲みます\n\n[[MarkDown|Markdown Plugin]]などの別のモードを使用している場合は、ツールバーがその構文に変更され、適切なコードが挿入されます。ただし、以前に入力したテキストやマークアップは変更されません\n\n標準のWikiTextフォーマットに加えて、エディタツールバーには次のボタンがあります: \n\n<<list-links \"[tag[Editor toolbar]sort[title]]\">>"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Formatting List Results as Tables with CSS - Specified Columns Methods.tid",
    "content": "created: 20161209172820513\nmodified: 20241020104954951\noriginal-modified: 20161220161653258\ntags: Learning\ntitle: Formatting List Results as Tables with CSS - Specified Columns Methods\nja-title: CSSを使用してリスト結果を表フォーマットで出力する - 固定列メソッド\ntype: text/vnd.tiddlywiki\n\n``<$list>``ウィジェットの結果を単純な1つのリストではなく、複数列の形式でフォーマットしたい場合があります。この方法では、~CSSを使用してリストを列として設定し、必要な列の数がわかっていることを前提としています。ここでの方法は、テーブルに含める列の数を反映するスタイルを作成し、そのスタイルを結果のリスト出力に適用することです\n\n他のテーブル作成テクニックについては、以下も参照してください: \n\n* [[CSSを使用してリスト結果を表フォーマットで出力する - 可変列メソッド|Formatting List Results as Tables with CSS - Variable Column Method]]\n* [[リスト結果を表フォーマットで出力する(CSS無し)|Formatting List Results as Tables (no CSS)]]\n\n\n!!! 1) `$:/tags/Stylesheet`でタグ付けされた列に対して、以下を含むTiddlerを作成します:\n\n```\n/* FOUR COLUMN MODE */\n.fourcolumns {\n   display:block;\n   column-count:4;\n   column-gap:1em;\n   -moz-column-count:4;\n   -moz-column-gap:1em;\n   -webkit-column-count: 4;\n   -webkit-column-gap:1em;\n}\n```\n\n列数を示す値がさまざまな場所に必要なことに注意してください\n\n!!! 2) 次に、出力を次のようにフォーマットします: \n\n```\n@@.fourcolumns\n<$list filter=\"[tag[Filter Operators]]\" variable=\"foo\">\n<<foo>><br>\n</$list>\n@@\n```\n\n!! フィルター演算子の一部のリストを示す例\n\n@@.fourcolumns\n<$list filter=\"[tag[Filter Operators]limit[24]]\" variable=\"foo\">\n<<foo>><br>\n</$list>\n@@\n\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Formatting List Results as Tables with CSS - Variable Column Method.tid",
    "content": "created: 20161209172820513\nmodified: 20241020105248614\noriginal-modified: 20161220162845058\ntags: Learning\ntitle: Formatting List Results as Tables with CSS - Variable Column Method\nja-title: CSSを使用してリスト結果を表フォーマットで出力する - 可変列メソッド\ntype: text/vnd.tiddlywiki\n\n``<$list>``ウィジェットの結果を単純な1つのリストではなく、複数列の形式でフォーマットしたい場合があります。この方法では、CSSを使用してリストを列として設定します。応答性が高く、ウィンドウが小さすぎる場合は、表示する列の数を減らすために改行位置を変更します\n\n固定の列数を直接指定するのではなく、リストの最大幅(Tiddlerの幅をトランスクルージョンする可能性があります)と各項目の幅を指定します。左から右にリストされ、新しい行に折り返されます\n\n他のテーブル作成テクニックについては、以下も参照してください: \n\n* [[CSSを使用してリスト結果を表フォーマットで出力する - 固定列メソッド|Formatting List Results as Tables with CSS - Specified Columns Methods]]\n* [[リスト結果を表フォーマットで出力する(CSS無し)|Formatting List Results as Tables (no CSS)]]\n\n!! 既存の~TiddlyWikiタグ50個を使用したリストの例\n\n```\n<div class=\"dynamic-table\">\n  <$list filter=\"[has[tags]tags[]sort[title]first[50]]\">\n    <span class=\"item\">\n      <$transclude tiddler=\"$:/core/ui/TagTemplate\"/>\n    </span>\n  </$list>\n</div>\n```\n\n!! リストで使用するスタイルシートの例\n\n```\n<style>\n.dynamic-table {\n  max-width:700px; /* could transclude tiddler width instead */\n  -ms-box-orient: vertical; /* might be unnecessary */\n  display: -webkit-box;\n  display: -moz-box;\n  display: -ms-flexbox;\n  display: -moz-flex;\n  display: -webkit-flex;\n  display: inline-flex;\n  -webkit-flex-wrap: wrap;\n  flex-wrap: wrap;\n  flex-direction: row;\n}\n\n.item {\n  max-width:160px; min-width:160px;\n  flex: 0 0 2em; /* -grow, -shrink, -basis */\n}\n</style>\n```\n\n!! 結果\n\n<div class=\"dynamic-table\">\n  <$list filter=\"[has[tags]tags[]sort[title]first[50]]\">\n    <span class=\"item\">\n      <$transclude tiddler=\"$:/core/ui/TagTemplate\"/>\n    </span>\n  </$list>\n</div>\n\n<style>\n.dynamic-table {\n  max-width:700px; /* could transclude tiddler width instead */\n  -ms-box-orient: vertical;\n  display: -webkit-box;\n  display: -moz-box;\n  display: -ms-flexbox;\n  display: -moz-flex;\n  display: -webkit-flex;\n  display: inline-flex;\n  -webkit-flex-wrap: wrap;\n  flex-wrap: wrap;\n  flex-direction: row;\n}\n\n.item {\n  max-width:160px; min-width:160px;\n  flex: 0 0 2em; /* -grow, -shrink, -basis */\n}\n</style>\n\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Formatting_List_Results_as_Tables_(no_CSS).tid",
    "content": "created: 20161220154952676\nmodified: 20241020104643991\noriginal-modified: 20161220161706470\ntags: Learning\ntitle: Formatting List Results as Tables (no CSS)\nja-title: リスト結果を表フォーマットで出力する(CSS無し)\ntype: text/vnd.tiddlywiki\n\n``<$list>``ウィジェットの結果を単純な1つのリストではなく、複数列の形式でフォーマットしたい場合があります。次のメソッドでは、実際のテーブル構造を作成し、[[n番目の演算子|nth Operator]]を使用して各行の改行を実現します。この方法では応答性はありません。つまり、ウィンドウが小さすぎる場合、表示する列を減らすための位置変更を行いません\n\n一番外側のリスト構造では、項目番号に改行が発生することを示すカウントを指定する必要があります。したがって、次の例では、各行は4個の項目の後で区切られるため、順序は1、5、9、・・・になります。これには、存在する項目の最大数を事前に知っておく必要があることに注意してください。n-1個の項目に設定される内部制限もあります(nは必要な列の数です)\n\n内側の`<$list>`ウィジェット内で駆動フィルター演算子を繰り返す必要があることにも注意してください。明らかに、このテクニックはマクロの実装に役立ちます\n\n他のテーブル作成テクニックについては、以下も参照してください: \n\n* [[CSSを使用してリスト結果を表フォーマットで出力する - 可変列メソッド|Formatting List Results as Tables with CSS - Variable Column Method]]\n* [[CSSを使用してリスト結果を表フォーマットで出力する - 固定列メソッド|Formatting List Results as Tables with CSS - Specified Columns Methods]]\n\n!! 項目数が70未満の4列テーブルのコード例\n\n```\n<table>\n<$list filter=\"1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65\" variable =\"rows\">\n    <$list filter=\"[tag[Filter Operators]limit[50]] +[nth<rows>]\" variable=\"cell\">\n        <tr>\n        <td> <<cell>> </td>\n        <$list filter=\"[tag[Filter Operators]limit[50]] +[allafter<cell>limit[3]]\" variable=\"this\">\n            <td> <<this>> </td>\n        </$list>\n        </tr>\n    </$list>\n</$list>\n</table>\n```\n\n!! 結果\n\n<table>\n<$list filter=\"1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65\" variable =\"rows\">\n    <$list filter=\"[tag[Filter Operators]limit[50]] +[nth<rows>]\" variable=\"cell\">\n        <tr>\n        <td> <<cell>> </td>\n        <$list filter=\"[tag[Filter Operators]limit[50]] +[allafter<cell>limit[3]]\" variable=\"this\">\n            <td> <<this>> </td>\n        </$list>\n        </tr>\n    </$list>\n</$list>\n</table>\n\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Generating Static Sites with TiddlyWiki.tid",
    "content": "created: 20130828190200000\nmodified: 20250120105549696\noriginal-modified: 20241008031135403\ntags: [[TiddlyWiki on Node.js]]\ntitle: Generating Static Sites with TiddlyWiki\nja-title: TiddlyWikiで静的サイトを生成する\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki5は、JavaScriptを必要としないTiddlyWikiの静的HTML表現を生成できます。このプロセスでは、ローカルシステムのNode.jsにTiddlyWikiがインストールされている必要があります。詳細については、[[Node.jsにTiddlyWikiをインストールする|Installing TiddlyWiki on Node.js]]を参照してください。\n\n静的HTMLの生成方法には多くの柔軟性があります。次のシナリオはすべて https://tiddlywiki.com で説明されています。\n\n! WikiスナップショットとTiddlerスナップショット\n\nhttps://tiddlywiki.com/static.html で、メインのTiddlyWikiサイトの静的な表現を見ることができます。このファイルは、現在のDefaultTiddlersの静的スナップショットです。このファイルにリンクされているすべてのTiddlerは、個々のTiddlerの静的スナップショットを指す`/static/HelloThere.html`形式のURLによって参照されます。TiddlerのHTMLファイルは、`static.css`スタイルシートファイルを参照します。\n\n次のコマンドは、TiddlyWiki5サイトの静的バージョンのサンプルを生成するために使用されます:\n\n```sh\ntiddlywiki wikipath --render '[!is[system]]' '[encodeuricomponent[]addprefix[static/]addsuffix[.html]]' text/plain $:/core/templates/static.tiddler.html\ntiddlywiki wikipath --render $:/core/templates/static.template.html static.html text/plain\ntiddlywiki wikipath --render $:/core/templates/static.template.css static/static.css text/plain\n```\n\n最初のRenderCommandは、フィルタ`[!is[system]]`を使用してすべての個別の非システムTiddlerのHTML表現を生成し、次のフィルタ`[encodeuricomponent[]addprefix[static/]addsufixx[.html]]`は各タイトルにURIエンコーディングを適用し、プレフィックス`static/`を追加して、最後にサフィックス`.html`を追加します。2番目のRenderCommandは、DefaultTiddlersの静的バージョンを`static.html`に保存し、最後のRenderCommandはスタイルシートを保存します。(すべてのファイルは、Wikiフォルダの`output`フォルダに配置されます)。\n\n! 内部リンク付きWikiスナップショット\n\nTiddlerの静的表現を含み、標準のHTMLアンカーリンクを使用してそれらの間を移動する単一のHTMLファイルを作成することも可能です。\n\n例: https://tiddlywiki.com/alltiddlers.html\n\nこの例は次のコマンドによって構築できます: \n\n```\n--render $:/core/templates/alltiddlers.template.html alltiddlers.html text/plain\n```\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Height of text editor.tid",
    "content": "created: 20160817103854725\nmodified: 20241104105649800\noriginal-modified: 20160817105415313\ntags: [[Editor toolbar]]\ntitle: Height of text editor\nja-title: テキストエディタの高さ\n\n{{ $:/core/ui/EditorToolbar/editor-height}}ボタンを使用すると、テキスト入力フィールドの高さを調整できます。"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/How to add a banner for GitHub contributions.tid",
    "content": "title: How to add a banner for GitHub contributions\nja-title: GitHub投稿のバナーを追加する方法\nmodified: 20241023113051454 \noriginal-modified: 20141123094403948\ncreated: 20141123094403948\ntags: Learning\n\nhttps://tiddlywiki.com でTiddlerを編集すると、GitHubでTiddlerのソースを編集するように促す小さなリボンが表示されます。\n\nNode.jsを使用している場合は、次のようにして、この機能を独自のTiddlyWikiベースのサイトに複製できます:\n\n# [[Wikiフォルダー|TiddlyWikiFolders]]の<$link to=\"tiddlywiki.info Files\">`tiddlywiki.info`</$link>ファイルに次の設定が含まれていることを確認してください: \n#> <pre><code>\t\"config\": {\n\t\t\"retain-original-tiddler-path\": true\n\t}</code></pre>\n# Wikiに[[$:/ContributionBanner]]Tiddlerをコピーします\n# 次のように編集します:\n## https://github.com/TiddlyWiki/TiddlyWiki5/edit/master/editions/tw5.com/tiddlers/ から、自分のGitHubリポジトリを指すように、GitHubリンクURLを修正します\n## \"Can you help us improve this documentation?\"で始まるテキストの文言が訪問者にとって適切であることを確認してください\n## [[Improving TiddlyWiki Documentation]]へのリンクを調整して、投稿の手順の説明が記載された独自のTiddlerを指すようにします。\n\n\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/How to apply custom styles by tag.tid",
    "content": "caption: {{!!ja-title}} - ^^非推奨^^\ncreated: 20141001132300000\nmodified: 20241121113613599\noriginal-modified: 20220704174221300\ntags: [[How to apply custom styles]] $:/deprecated\ntitle: How to apply custom styles by tag\nja-title: タグでカスタムスタイルを適用する方法\ntype: text/vnd.tiddlywiki\n\n<<.deprecated-since \"5.1.16\" \"Custom styles by data-tags\">>. [[カスタムスタイルを適用する方法|How to apply custom styles]]も参照してください\n\n----\n\n`tc-tagged-<Tag Name>`という名前のCSSクラスを定義することで、特定のタグを持つTiddlerにカスタムスタイルを適用できます。\n\nたとえば、\"NightReader\"というタグが付けられたTiddlerを夜の読書に適した特別な配色で表示するには、次のようにクラス`tc-tagged-NightReader`を定義する[[スタイルシートを作成|Using Stylesheets]]します:\n\n```\n.tc-tagged-NightReader {\n\tbackground-color:black;\n\tcolor: orange;\n\tpadding: 35px 35px;\n}\n\n.tc-tagged-NightReader .tc-tiddler-body {\n\tfont-size: 1.5em;\n}\n```\n\nクラス`tc-tagged-NightReader`は、Tiddlerのテキスト部分だけでなく、Tiddler全体に適用されます。Tiddlerのより小さな部分をターゲットにしたい場合は、この`.tc-tagged-NightReader .tc-tiddler-body`のようにCSSセレクターを修飾します。\n\nNote that tags containing spaces or non-alphanumeric characters will be converted using URI encoding, making the generated CSS classname hard to predict. For example:\nスペースや英数字以外の文字を含むタグはURIエンコーディングを使用して変換されるため、生成されるCSSクラス名を予測することが困難になることに注意してください。例:\n\n|!Tag |!Generated Class Name |\n|`$:/mytag` |`tc-tagged-%24%3A%2Fmytag` |\n|`Doctor Who` |`tc-tagged-Doctor%20Who` |\n|`£35.23` |`tc-tagged-%C2%A335.23` |\n\n~TiddlyWikiはこれらのタグを生成しますが、実際にCSSで使用するには、次のようにスタイルシートでパーセント文字をエスケープする必要があります: \n\n```\n.tc-tagged-Doctor\\%20Who {\n    background-image: url(./tardis_back.svg);\n    background-repeat: no-repeat;\n    background-position: right;\n    color:#FBFBFB;\n}\n```\n\n変換を実行するためのユーティリティ関数がJavaScriptで利用できます: \n\n```\n$tw.utils.tagToCssSelector(\"$:/tags/Stylesheet\")\n```\n\n次の出力を生成します: \n\n```\ntc-tagged-\\%24\\%3A\\%2Ftags\\%2FStylesheet\n```\n\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/How to apply custom styles.tid",
    "content": "created: 20141001132300000\nlist: [[Custom styles by data-tags]] [[Custom styles by data-tiddler-title]]\nmodified: 20241117105127872\noriginal-modified: 201804111740\ntags: [[Customise TiddlyWiki]]\ntitle: How to apply custom styles\nja-title: カスタムスタイルを適用する方法\ntype: text/vnd.tiddlywiki\n\nカスタムスタイルを適用するにはいくつかの方法があります\n\n<<list-links filter:\"[tag[How to apply custom styles]]\">>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/How to build a TiddlyWiki5 from individual tiddlers.tid",
    "content": "created: 20131124220600000\nmodified: 20250121112457196\noriginal-modified: 20241025051111864\ntags: [[TiddlyWiki on Node.js]]\ntitle: How to build a TiddlyWiki5 from individual tiddlers\nja-title: 個々のTiddlerからTiddlyWiki5を構築する方法\ntype: text/vnd.tiddlywiki\n\nまず、[[Node.jsにTiddlyWikiをインストール|Installing TiddlyWiki on Node.js]]の説明に従ってTiddlyWikiをインストールします。\n\n# 空の[[TiddlyWikiFolder|TiddlyWikiFolders]]を作成します\n## 適当な場所に新しいフォルダを作成します (例: `~/MyWiki`)\n## 次のテキストを含む`tiddlywiki.info`というファイルを作成します: \n##* `{\"themes\": [\"tiddlywiki/vanilla\",\"tiddlywiki/snowwhite\"]}`\n## `tiddlers`というサブフォルダを作成します\n##* あるいは、TiddlyWiki5リポジトリから、`editions/empty`フォルダをコピーします\n# `~/MyWiki/tiddlers`ディレクトリ内に個々のTiddlerFilesを作成します\n# TiddlyWiki5ルートディレクトリから次のコマンドを実行して、TiddlerからTiddlyWiki5ファイルを構築します: \n## `tiddlywiki ~/MyWiki --render $:/core/save/all index.html text/plain`\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/How to change the sort order of sub-branches in a TOC macro.tid",
    "content": "created: 20161209172820513\nmodified: 20241020110058381\noriginal-modified: 20190220000000000\ntags: Learning\ntitle: How to change the sort order of sub-branches in a TOC macro\nja-title: TOCマクロでのサブブランチのソート順を変更する方法\ntype: text/vnd.tiddlywiki\n\n次のような[[目次|Table-of-Contents Macros]]マクロを使用していると想定します: \n\n```\n<<toc-selective-expandable  \"TableOfContents\" \"sort[title]\">>\n```\n\n多くの場合、並び順は問題ありませんが、`Journal`タグ付けされたアイテムを`created`フィールドの順に並べ替えたいとします。`Journal`タグ付けされたサブ項目だけに別の並べ替え順を適用するにはどうすればよいでしょうか?\n\n秘訣は、別の並べ替え基準を指すフィールドを、親のタグTiddler(つまり、`Journal`)に追加することです。そのフィールドを`fuzzy`と呼び、値`created`を入力します(`created `はTiddlerの作成日を持つフィールドの名前です)\n\n次に、[[目次|Table-of-Contents Macros]]を次のように変更します: \n\n```\n<<toc-selective-expandable  \"TableOfContents\" \"sort{!!fuzzy}\">>\n```\n\nこれで、`created `の日付順に並べ替えられる`Journal`Tiddlerの子を除き、目次はどこでもタイトル順に並べ替えられるようになります\n\nこのトリックの欠点は、1つの特別なフィールドのみに逆順ソートを適用できないことです。並べ替え順序を逆順にすると、どこも逆になります\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/How to create a custom story tiddler template.tid",
    "content": "created: 20211204120244761\nmodified: 20241024105517309\noriginal-modified: 20211206165108185\ntags: Learning Cascades [[Story Tiddler Template]] [[Story Tiddler Template Cascade]] [[Customise TiddlyWiki]]\ntitle: How to create a custom story tiddler template\nja-title: カスタムストーリーTiddlerテンプレートを作成する方法\ntype: text/vnd.tiddlywiki\n\nここでは、[[ストーリーTiddlerテンプレートカスケード|Story Tiddler Template Cascade]]にルールを追加して、<<tag \"$:/tags/TiddlerList\">>タグを付けたTiddlerをリストフィールドに名前が付けられたTiddlerのサムネイルを組み込んだカスタム外観で表示する方法を示します。\n\nデモを表示するには、[[カスタムストーリーTiddlerテンプレートを含むデモTiddlerリスト|Demo Tiddler List with Custom Story Tiddler Template]]を開きます。\n\n最初に、ストーリーTiddlerテンプレートカスケードに新しいステップを追加します。新しいフィルターステップは次のとおりです: \n\n```\n[tag[$:/tags/TiddlerList]then[$:/_tw5.com/CustomStoryTiddlerTemplateDemo/Template]]\n```\n\n次のように読むことができます:\n\n```\nTiddlerが$:/tags/TiddlerListタグを持つなら、$:/_tw5.com/CustomStoryTiddlerTemplateDemo/Templateを返します\n```\n\n> テンプレート$:/_tw5.com/CustomStoryTiddlerTemplateDemo/Templateも、 [[$:/_tw5.com/CustomStoryTiddlerTemplateDemo/Styles]]で定義したスタイルに依存します。\n\nストーリーTiddlerテンプレートカスケードはタグ<<tag \"$:/tags/StoryTiddlerTemplateFilter\">>によって定義されます。そのため、そのタグを使用してTiddlerを作成する必要があります。\n\nまた、カスケード内の正しいポイントに挿入されていることを確認する必要があります:\n\n* 新しいルールは、タグ$:/tags/TiddlerListが付いたドラフトTiddlerが編集できるようにするために、\"draft\"ルールの後に置く必要があります。\n* 新しいルールは\"default\"ルールの前になければなりません。そうでないと実行されません。\n\nコントロールパネルの\"カスケード\"タブには、`list-before`フィールドを使用してdefaultのステップの直前に新しいステップを挿入できることが示されています。\n\n構成Tiddlerの完全なフィールドのリストは次のとおりです:\n\n<<.tiddler-fields \"$:/_tw5.com/CustomStoryTiddlerTemplateDemo/Filter\">>\n\n最後に、デモTiddlerを作成する必要があります:\n\n<<.tiddler-fields \"Demo Tiddler List with Custom Story Tiddler Template\">>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/How to create a custom tiddler colour rule.tid",
    "content": "created: 20211206114114698\nmodified: 20241020110542022\noriginal-modified: 20211206165150302\ntags: Learning Cascades [[Customise TiddlyWiki]]\ntitle: How to create a custom tiddler colour rule\nja-title: カスタムのTiddlerカラールールを作成する方法\ntype: text/vnd.tiddlywiki\n\nここでは、[[Tiddlerカラーカスケード|Tiddler Colour Cascade]]に、<<tag \"TableOfContents\">>タグを持つTiddlerに明るい青色の着色を、<<tag \"Working with TiddlyWiki\">>タグを持つTiddlerに濃い紫色の着色を、付与するルールの追加方法を示します。\n\n<<.tip \"[[カスタムのTiddlerアイコンルールを作成する方法|How to create a custom tiddler icon rule]]では、同じTiddlerにカスタムアイコンを与える方法について説明します。\">>\n\nまず、Tiddlerカラーカスケードに新しいステップを追加します。新しいフィルターステップは次のとおりです。:\n\n```\n[tag[TableOfContents]then[#1e90ff]]\n[tag[Working with TiddlyWiki]then[darkorchid]]\n```\n\nこれは次のように読み取れます。:\n\n```\nもしTiddlerが\"TableOfContents\"タグを持つなら、カラー#1e90ffを返します\nもしTiddlerが\"Working with TiddlyWiki\"タグを持つなら、カラーdarkorchidを返します\n```\n\nTiddlerカラーカスケードは<<tag \"$:/tags/TiddlerColourFilter\">>タグによって定義されます。したがって、そのタグを使用して設定Tiddlerを作成する必要があります。\n\nまた、カスケード内の正しい位置に挿入されていることを確認する必要があります。:\n\n* 新しいルールは、明示的な''color''フィールドを持つTiddlerがそのフィールドの値を確実に尊重するように、\"colour-field\"ルールの後に置く必要があります。\n* 新しいルールは\"default\"カラーの前になければなりません。そうしないと、デフォルトのカラーが指定されていると、着色されることはありません。\n\nコントロールパネルの\"カスケード\"タブには、`list-before`フィールドを使用してデフォルトステップの直前に新しいステップを挿入することでこれを実現できることが示されています。\n\n設定Tiddlerの完全なフィールドリストは次のとおりです。:\n\n<<.tiddler-fields \"$:/_tw5.com/CustomTiddlerColourCascadeDemo\">>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/How to create a custom tiddler icon rule.tid",
    "content": "created: 20211204161649863\nmodified: 20241020111248598\noriginal-modified: 20211206165129215\ntags: Learning Cascades [[Tiddler Icon Cascade]] [[Customise TiddlyWiki]]\ntitle: How to create a custom tiddler icon rule\nja-title: カスタムのTiddlerアイコンルールを作成する方法\ntype: text/vnd.tiddlywiki\n\nここでは、[[Tiddlerアイコンカスケード|Tiddler Icon Cascade]]に、<<tag \"TableOfContents\">>タグを持つTiddlerに\"地球\"アイコン<<.icon $:/core/images/globe>>を、<<tag \"Working with TiddlyWiki\">>タグを持つTiddlerに\"ヘルプ\"アイコン<<.icon $:/core/images/help>>を、付与するルールの追加方法を示します。\n\n<<.tip \"[[カスタムのTiddlerカラールールを作成する方法|How to create a custom tiddler colour rule]]では、同じTiddlerにカスタムカラーを与える方法について説明します。\">>\n\nまず、Tiddlerアイコンカスケードに新しいステップを追加します。新しいフィルターステップは次のとおりです。:\n\n```\n[tag[TableOfContents]then[$:/core/images/globe]]\n[tag[Working with TiddlyWiki]then[$:/core/images/help]] \n```\n\nこれは次のように読み取れます。:\n\n```\nもしTiddlerが\"TableOfContents\"タグを持つなら、$:/core/images/globeを返します\nもしTiddlerが\"Working with TiddlyWiki\"タグを持つなら、$:/core/images/helpを返します\n```\n\nTiddlerアイコンカスケードは<<tag \"$:/tags/TiddlerIconFilter\">>タグによって定義されます。したがって、そのタグを使用して設定Tiddlerを作成する必要があります。\n\nまた、カスケード内の正しい位置に挿入されていることを確認する必要があります。:\n\n* 新しいルールは、明示的な''icon''フィールドを持つTiddlerがそのフィールドの値を確実に尊重するように、\"icon-field\"ルールの後に置く必要があります。\n* 新しいルールは\"default\"アイコンの前になければなりません。そうしないと、デフォルトのアイコンが指定されていると、表示されることはありません。\n\nコントロールパネルの\"カスケード\"タブには、`list-before`フィールドを使用してデフォルトステップの直前に新しいステップを挿入することでこれを実現できることが示されています。\n\n設定Tiddlerの完全なフィールドリストは次のとおりです。:\n\n<<.tiddler-fields \"$:/_tw5.com/CustomTiddlerIconCascadeDemo\">>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/How to create keyboard shortcuts.tid",
    "content": "tags: [[Customise TiddlyWiki]] Learning\ntitle: How to create keyboard shortcuts\nja-title: キーボードショートカットを作成する方法\ntype: text/vnd.tiddlywiki\n\n<br>\n<<.tip \"\"\"[[TiddlyWiki]]は2種類のキーボードショートカットを区別します。<$macrocall $name=\".tag\" _=\"input\"/>フィールド内や<$macrocall $name=\".wlink\" to=\"KeyboardWidget\"/>ウィジェットによって処理される<$macrocall $name=\".tag\" _=\"textareas\"/>でのみ機能するものと、またはグローバルに機能する、つまり、アクセスするのにページにフォーカスがあるだけでよいというキーボードショートカットです。後者は、Wikiが読み込まれたときに機能し始めるメカニズムによって処理されます\"\"\">>\n\n!! 設定メカニズムは両方のショートカットタイプで同じです\n\n<$vars tv-show-missing-links=\"no\">\n\n<<.def プレフィックス>> `$:/config/ShortcutInfo/`と`my-shortcut`のような''一意のサフィックス''が追加されたTiddlerは、新しいショートカットを$:/ControlPanelの[[キーボードショートカットタブ|$:/core/ui/ControlPanel/KeyboardShortcuts]]に表示します。オプションの説明をテキストフィールドに追加できます\n\n[[キーボードショートカットタブ|$:/core/ui/ControlPanel/KeyboardShortcuts]]では、ショートカットをトリガーする''キーの組み合わせ''を設定できます:\n\n> 新しいショートカットに定義された''一意のサフィックス''を探し、''キーの組み合わせ''を検出し、入力フィールドに検出された組み合わせを表示するポップアップを開くボタン<$button class=\"tc-btn-invisible\"><<.icon $:/core/images/edit-button>><$action-sendmessage $message=\"tm-notify\" $param=\"$:/core/images/edit-button\"/></$button>をクリックします\n\n>''ショートカットの追加''は、ショートカットにキーの組み合わせを割り当てます\n\n!!! 選択したプラットフォームに応じて、構成メカニズムは特定の命名法を持つTiddlerを作成します\n\n> $:/config/shortcuts/ + すべてのプラットフォーム(オペレーティングシステム)で機能するショートカットの''ショートカットサフィックス'' \n\n> $:/config/shortcuts-(mac/not-mac/windows/not-windows/linux/not-linux)/ + 選択したプラットフォームでのみ機能するショートカットや除外されたプラットフォームでは機能しないショートカットの''ショートカットサフィックス''\n\n!!! 例\n\n* $:/config/shortcuts/`my-shortcut`\n* $:/config/shortcuts-mac/`my-shortcut`\n* $:/config/shortcuts-windows/`my-shortcut`\n* $:/config/shortcuts-linux/`my-shortcut`\n* $:/config/shortcuts-not-mac/`my-shortcut`\n* $:/config/shortcuts-not-windows/`my-shortcut`\n* $:/config/shortcuts-not-linux/`my-shortcut`\n\n<<.tip \"\"\"上記の''ShortcutInfo''Tiddlerが最初に作成され、ショートカットが~ControlPanelで構成されている場合には、これらのプラットフォーム固有のTiddlerを手動で作成する必要がないことに注意してください\"\"\">>\n\n<br>\n\n!! この時点でショートカットが定義され、その''アクション''を設定できます\n\n!! [[キーボードウィジェット|KeyboardWidget]]の使用\n\n> <<.wlink \"KeyboardWidget\">>ウィジェットは、そのスコープ内の<<.tag input>>や<<.tag textarea>>フィールド内で押されたキーの組み合わせを検出します。<<.wlink \"KeyboardWidget\">>ウィジェットは、<<.tag input>>や<<.tag textarea>>フィールドを\"包含\"する必要があり、その<<.attr key>>属性は、[[キー記述子|Key Descriptor]]構文を使用して構成Tiddlerを指定するか、キーを明示的に含みます\n\n```\n<$keyboard key=\"((my-shortcut))\" actions='<$action-setfield $tiddler=\"my-tiddler\" $field=\"my-field\" $value=\"my-value\"/>'>\n\n<$edit-text tag=\"input\" tiddler=\"my-tiddler\"/>\n\n</$keyboard>\n```\n\n```\n<$keyboard key=\"alt-shift-M\" actions='<$action-setfield $tiddler=\"my-tiddler\" $field=\"my-field\" $value=\"my-value\"/>'>\n\n<$edit-text tag=\"input\" tiddler=\"my-tiddler\"/>\n\n</$keyboard>\n```\n\n> アクションが定義されている場合、<<.wlink KeyboardWidget>>ウィジェットは、その<<.attr key>>属性で定義されたキーの組み合わせがそのスコープ内の\n<<.tag input>>や<<.tag textarea>>フィールドで押されたことを検出すると、その<<.attr actions>>属性で定義されたアクションを呼び出します\n\n<br>\n\n!! グローバルなキーボードショートカットの使用\n\n> 新しいグローバルキーボードショートカットの作成の詳細については、[[キーボードショートカットTiddler]]を参照してください。\n\n> ''グローバル''キーボードショートカットのアクションは、<<tag $:/tags/KeyboardShortcut>>タグが付けられたTiddlerの''テキスト''フィールドに保存されます\n\n> ''キーフィールド''は、[[キーボードショートカット記述子|Keyboard Shortcut Descriptor]]と呼ばれる`((my-shortcut))`構文を通じて、アクションTiddlerと対応するショートカットを結びつけます\n\n:<h3> 構文: `((` + `選択したサフィックス` + `))` </h3>\n\n> Tiddlerが<<tag $:/tags/KeyboardShortcut>>タグを持っている場合、''key''フィールドに[[キーボードショートカット記述子|Keyboard Shortcut Descriptor]]を値として設定し、テキストフィールドにアクションを設定すると、メカニズムが設定されたキーの組み合わせを検出するとアクションがトリガーされます\n\n<br>\n<$macrocall $name=\".tip\" _=\"\"\"グローバルキーボードショートカットの''外部で''定義された''マクロ''(`$:/tags/Global`タグの付いたTiddler経由)は、アクセス可能にするために''インポートする''必要があります。\n[[インポートプラグマ|Pragma]]は、そのために使用できます\"\"\"/>\n\n<pre>\n\\import [subfilter{$:/core/config/GlobalImportFilter}]\n</pre>\n\nマクロ定義を含むTiddlerがわかっていて、例えばタイトルが`my-macro-tiddler`なら、\n\n<pre>\n\\import [[my-macro-tiddler]]\n</pre>\n\n<br>\n<$macrocall $name=\".tip\" _=\"\"\"一部のアクションは<<.wlink NavigatorWidget>>ウィジェット内にラップする必要があります。これは、グローバルなキーボードショートカット内で使用される場合に、次のウィジェットとメッセージのリストが機能するために必要です\"\"\"/>\n\n!!! ウィジェット\n\n<<.wlink ActionNavigateWidget>> (ActionNavigateWidget)\n\n!!! メッセージ\n\n<$list filter=\"[tag[navigator-message]]\">\n<$link/><br>\n</$list>\n\n</$vars>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/How to customize TiddlyDesktop.tid",
    "content": "created: 20171118194518819\nmodified: 20241026104802213\noriginal-modified: 20171118194518819\ntags: Learning\ntitle: How to Customize TiddlyDesktop\nja-title: TiddlyDesktopをカスタマイズする方法\ntype: text/vnd.tiddlywiki\n\n!! 前置き/注意:\n\nTiddlyDesktopの内部実装を実験する前に、“ユーザー構成フォルダ”の場所を見つける必要があります。それには、メインのTiddlyDesktopウィンドウの“Settings”ボタンをクリックし、“Open user config folder”ボタンをクリックします。次に、上へ移動して“TiddlyDesktop”という名前の親フォルダを見つけます。問題が発生した場合は、このフォルダ全体を削除してTiddlyDesktopを初期状態にリセットできます。\n\nTiddlyDesktopメインウィンドウのBackstageボタンをクリックすると、バックステージWikiが開きます。これは、TiddlyDesktopのUIとロジックを実行する、TiddlyWikiの Node.jsのようなインスタンスです。\n\n!! \"Add a ~TiddlyWiki Folder\"ボタンを削除する方法。\n\nバックステージWiki内で、`WikiListToolbar`Tiddlerを見つけます(HelloThereにリンクがあります)。それをクリックして編集モードにすると、すべてのツールバーボタンのWikiテキストが表示されます。変更を加えて“done”をクリックすると、変更がTiddlyDesktopのメインウィンドウにすぐに反映されます。\n\n!! \"advanced\"ボタンを\"reveal backups\"ボタンに変更する方法。\n\n`$:/TiddlyDesktop/Settings`Tiddlerから“reveal backups”ボタンのコードをコピーして、`WikiListToolbar`にペーストします。\n\n!! 色を変える方法。\n\nTiddlyWikiと同様に、パレットを使用することも、独自のカスタムCSSを定義することもできます。\n\n!! ティドラーがリストされる順序(アルファベット順)を変更する方法。\n\n`WikiList`Tiddlerを開いて、編集にし、最後までスクロールします。次に、''wikilist''マクロの中を`<$list>`ウィジェットを変更します:\n\n```\n<$list filter=\"[tag[wikilist]sort[title]!has[draft.of]]\" emptyMessage=\"開始するには、~TiddlyWikiファイルやフォルダーを追加してください。上のボタンをクリックして参照するか、ファイルエクスプローラー/ファインダーからドラッグアンドドロップします\" storyview=\"pop\">\n```\n\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/How to embed PDF and other documents.tid",
    "content": "created: 20141117000000000\nmodified: 20241026105359133\noriginal-modified: 20230803051806817\ntags: Learning\ntitle: How to embed PDF and other documents\nja-title: PDFやその他のドキュメントを埋め込む方法\ntype: text/vnd.tiddlywiki\n\n!!! 埋め込み vs 外部リンクに関する注意\n\n''注:'' 特定の種類のファイルを埋め込む方法を説明する前に、埋め込まずに、次のように外部リソースにリンクすることを検討してください: \n\n```\n[ext[title|path/to/that.file]] \n```\n\n次に、ブラウザにリソースの処理方法を決定させます。この方法の利点は、シンプルで迅速であることです。欠点は、ファイルが実際にはTW5ファイルと一緒に移動せず、以下の方法#2でファイルパスをすばやく`node.js`を使用できないことです。\n\n!! TW5ファイルにPDFを埋め込む2つの方法。\n\n!!! 1. ドラッグアンドドロップによる埋め込み \n\n1つは、ファイルをTW5ファイルにドラッグアンドドロップすることです。上部に緑色のバーが表示されるまで待ってからドロップし、インポートTiddlerからインポートします。これにより、インポートしたPDF(またはその他のファイル)の内容がTW5ファイルに実際に埋め込まれます。\n\nPDFが大きすぎない限り、この方法はOKです。TW5ファイルが大きくなりすぎると問題が生じる可能性があります。\n\n!!! 2. '_canonical_uri'による埋め込み\n\nもう1つの方法は、外部ファイルへのTiddlerリンクを作成することです。この方法では、ファイルは実際にはTW5ファイルに組み込まれませんが、埋め込みファイルと同様に、`{{My Image File.jpg}}`トランスクルージョン構文を使用してアクセスできます。ファイルの場所アドレスは、[[Node.js]]で変更することもできます。node.jsで外部画像を使用する方法の詳細については、[[外部画像|ExternalImages]]を参照してください。\n\n`_canonical_uri`フィールドを持つTiddlerを作成します。外部ファイルへのローカルアドレスを入力します。`type`フィールドに`application/pdf`を設定します。\n\nどちらの方法でも、適切に設定されたブラウザを使用すれば、埋め込まれたPDFファイルが表示されます。\n\n!!! 他のファイルの種類\n\nTW5が認識できるファイル形式は限られています。[[コンテンツタイプ|ContentType]]にリストがあります。ブラウザやTW5が特定のファイル形式をどう処理すればよいか分からない場合は、2番目の方法を使用してファイルを埋め込んでからダウンロードするしかありません。Tiddlerを編集すると、リンクが表示されます。ファイルをダウンロードするには、リンクを右クリックできます。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/How to export tiddlers.tid",
    "content": "created: 20151006145934884\nmodified: 20241020112248683\noriginal-modified: 20160610084018658\ntags: Learning\ntitle: How to export tiddlers\nja-title: Tiddlerのエクスポート方法\ntype: text/vnd.tiddlywiki\n\n! すべてのTiddlerをエクスポートする\n\n''すべて''のTiddlerをエクスポートするには、サイドバーの\"ツール\"タブをクリックします。<<.icon $:/core/images/export-button>>''すべてエクスポート''ボタンを見つけてクリックします。ポップアップメニューで、Tiddlerをエクスポートする形式の選択がいくつか提供されます\n\n! Tiddlerのエクスポート\n\n特定のTiddlerをエクスポートする場合は、まずそのTiddlerに移動します。次に、Tiddler上部に表示される<<.icon $:/core/images/down-arrow>>''その他のコマンド''ボタンをクリックします。表示されるリストから<<.icon $:/core/images/export-button>>''Tiddlerをエクスポート''を選択します。ポップアップメニューでは、Tiddlerをエクスポートする形式を選択できます\n\n! 条件に一致するTiddlerをエクスポートする(フィルター)\n\nTiddlerを選択してエクスポートするには、サイドバーの検索領域の横にある小さな虫眼鏡<<.icon $:/core/images/advanced-search-button>>をクリックします。これにより、[[Advanced Search|$:/AdvancedSearch]]Tiddlerが開きます。Advanced Search Tiddlerの\"フィルタ\"タブをクリックします。[[フィルタ|Filters]]タブのみで、選択したTiddlerをエクスポートできます。[[フィルタ|Filters]]は特定の構文に従います。フィルタの作成方法については、この[[フィルタ|Filters]]リンクをクリックしてください\n\nフィルタを入力すると、そのフィルタに一致するTiddlerのリストが表示されます。これで、フィルタ入力フィールドの右側に、<<.icon $:/core/images/export-button>>''Tiddlerをエクスポート''ボタンをクリックできるようになります。ポップアップメニューでは、Tiddlerをエクスポートする形式を選択できます\n\n! エクスポート形式\n\n現在、利用可能なエクスポート形式は次のとおりです: \n\n* CSVファイル形式\n* JSONファイル形式\n* 静的HTMLファイル\n* \".tid\"ファイル形式\n\nこの``\".tid\"``形式は、すべてのTiddlerまたは選択したTiddlerをエクスポートしようとしても、1つのTiddlerだけがエクスポートされるという点で他の形式とは異なります"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/How to hide the authors and other fields with CSS.tid",
    "content": "created: 20180309232911422\nmodified: 20241020113622005\noriginal-modified: 20180310201216266\ntags: Learning\ntitle: How to hide the author's and other fields with CSS\nja-title: CSSで作成者やその他フィールドを非表示にする方法\ntype: text/vnd.tiddlywiki\n\nすべてのTiddlerで作成者の名前を非表示にして、画面スペースを節約したい場合があります。簡単な方法は次のとおりです: \n\n* 任意のタイトルを付けて新しいTiddlerを作成します\n* Tiddlerにタグ`$:/tags/Stylesheet`を付けます\n* Tiddlerのテキストフィールドに次のように入力します: \n\n```\n.tc-subtitle .tc-tiddlylink {display:none;}\n```\n\n* Tiddlerを保存します。作成者名フィールドは表示されなくなります\n\n同様に、作成者と日付を含むサブタイトルフィールド全体を削除するには: \n\n```\n.tc-subtitle {display:none;}\n```\n\n残念ながら、CSSを使用して作成者を非表示にせずに日付だけを非表示にすることはできません\n\n最後に、本当に最小限の外観にするために、タイトルを削除するには: \n\n```\nh2.tc-title {display:none;)\n```\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/How to put the last modification date in a banner.tid",
    "content": "created: 20141020111002211\nmodified: 20241021111644842\noriginal-modified: 20160617125921235\ntags: Learning\ntitle: How to put the last modification date in a banner\nja-title: バナーに最終更新日を記載する方法\ntype: text/vnd.tiddlywiki\n\nウィンドウの角のバナーにWikiの最終更新日を表示する方法は次のとおりです\n\n# ~TiddlyWikiに<<.def \"Corner ribbon\">>[[プラグインをインストールする|Installing a plugin from the plugin library]] \n# Wikiを保存(<<.icon $:/core/images/save-button-dynamic>>)し、再読み込み(<<.icon $:/core/images/refresh-button>>)します\n# [[$:/_MyRibbon]]という名の新しいTiddlerを作成し、[[$:/tags/PageControls]]のタグを付け、次の内容を含めます:<div>\n\n```\n<div class=\"github-fork-ribbon-wrapper right\">\n<div class=\"github-fork-ribbon\" style=\"background-color:#DF4848;\">\n<$list filter=\"[!is[system]!has[draft.of]!sort[modified]limit[1]]\">\n<$link>\n<$view field=\"modified\" format=\"date\" template=\"DD mmm YYYY at 0hh:0mm\"/>\n</$link>\n</$list>\n</div>\n</div>\n```\n</div>\n# 必要に応じて、背景色の値を好みに合わせて変更します\n# 位置決めクラスを`right`から`right-bottom`に変更することもできます\n## バナーを左上に表示するには、[[$:/tags/PageControls]]の代わりに、[[$:/tags/PageTemplate]]のタグを付け、位置決めクラスを`left`に変更します"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/How to update TiddlyWiki to the latest version.tid",
    "content": "created: 20220426221124514\nmodified: 20241109111750817\noriginal-modified: 20220426221240671\ntags: [[Working with TiddlyWiki]]\ntitle: How to update TiddlyWiki to the latest version\nja-title: TiddlyWikiを最新バージョンにアップデートする方法\ntype: text/vnd.tiddlywiki\n\n{{Upgrading}}"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/How to widen tiddlers (aka story river).tid",
    "content": "created: 20161208000000000\nmodified: 20241021113311176\noriginal-modified: 20161208000000000\ntags: Learning [[Customise TiddlyWiki]]\ntitle: How to widen tiddlers (aka storyriver)\nja-title: Tiddler(別名ストーリーリバー)を広げる方法\ntype: text/vnd.tiddlywiki\n\n次の方法で、Tiddler(ストーリーリバーとも呼ばれる)のメイン列の幅を変更できます: \n\n* 設定の歯車をクリックしてコントロールパネルを開きます\n* コントロールパネルで \"外観\" を選択し、\"Theme Tweaks\"を選択します\n* Theme tweaksで、下にスクロールします \n\n`story right`と`story width`、`tiddler width`の設定が表示されます。これらの数値を、より大きな値に設定すると、Tiddlerの幅 を広げることができます。一般的に、`story right`と`story width`は、同じサイズか、`tiddler width`を少し小さくします。Tiddlerの幅にパーセンテージを使用することもできます。\nサイドバーがページの上部に表示されても構わない場合を除き、サイドバーのブレークポイントをストーリーリバーよりも大きなものに変更することもできます\n\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/How_to_add_a_new_tab_to_the_sidebar.tid",
    "content": "created: 20141117000000000\nmodified: 20241020105658198\noriginal-modified: 20170204191253218\ntags: Learning [[Customise TiddlyWiki]]\ntitle: How to add a new tab to the sidebar\nja-title: サイドバーに新しいタブを追加する方法\ntype: text/vnd.tiddlywiki\n\nサイドバーメニューに新しいタブを作成するには: \n\n# Tiddlerを作成し、[[システムタグ|SystemTags]]の[[$:/tags/SideBar]]タグでタグ付けします\n#* 目次を作成するには、[[目次マクロ|Table-of-Contents Macros]]を使用して新しいタブTiddlerを設定します。例えば、ここで使用している[[目次|TableOfContents]]を参照してください\n# デフォルトでは、Tiddlerタイトルがタブのタイトルとして使用されますが、`caption`フィールドを使用してオーバーライドできます\n# タブの順序を定義するには、[[タグ付け|Tagging]]で説明したように、`list-after`フィールドや`list-before`フィールドを使用します\n#* 例: `list-after`に[[$:/core/ui/SideBar/Open]]をセットすると、\"表示中\"タブの直後にサイドバータブが配置されます\n\nタグ`$:/tags/MoreSideBar`を使用すると、同様の方法で\"詳しく\"タブの下に新しいタブを作成できます"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/How_to_turn_off_camel_case_linking.tid",
    "content": "created: 20161209172820513\nmodified: 20241021112200962\noriginal-modified: 20240923161828376\ntags: [[Customise TiddlyWiki]] Learning\ntitle: How to turn off camel case linking\nja-title: キャメルケースリンクをオフにする方法\ntype: text/vnd.tiddlywiki\n\n[[キャメルケース|CamelCase]]は多くのWikiで使用されていますが、状況によってはテキスト表示に支障をきたす可能性があります。\n\n!! キャメルケースを局所的にオフにする\n\n特定の[[キャメルケース|CamelCase]]ワードがリンクされないようにするには、次のようにワードの前にチルダ(~)を書きます: \n\n```\n~CamelCase\n```\n\nTiddler全体に対して[[キャメルケース|CamelCase]]を無効にする必要がある場合は、[[\\rulesプラグマ|Pragma: \\rules]]を使用できます:\n\n```\n\\rules except wikilink\n```\n\n!! キャメルケースをグローバルにオフにする\n\nすべてのTiddlerで[[キャメルケース|CamelCase]]をオフにするには、[[コントロールパネル|$:/ControlPanel]]に移動します。`設定`タブを選択し、``Camel Case Wiki リンク``セクションまでスクロールするか読み進み、``自動で CamelCase リンクを有効にする``の選択を解除します。"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Insert link.tid",
    "content": "created: 20160817095829521\nmodified: 20241104110119177\noriginal-modified: 20160817105713406\ntags: [[Editor toolbar]]\ntitle: Insert link\nja-title: リンクを挿入\n\nWiki内に存在するTiddlerを検索して選択するためのダイアログが表示されます。Tiddlerを選択すると、テキストフィールドのカーソルがある場所にWikiTextリンクとして挿入されます\n\n<<.icon $:/core/images/link>>を押すと、`[[Some link]]`が得られます\n\n外部のWebリンクや[[画像|Insert picture]]リンクは挿入され''ません''"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Insert picture.tid",
    "content": "created: 20160817100415079\nmodified: 20241104110350495\noriginal-modified: 20160817110210268\ntags: [[Editor toolbar]]\ntitle: Insert picture\nja-title: 画像を挿入\n\nWiki内に存在する画像Tiddlerを検索して選択するためのダイアログが表示されます。Tiddlerを選択すると、テキストフィールドのカーソルがある場所にWikiText画像リンクとして挿入されます\n\n<<.icon $:/core/images/picture>>を押すと、`[img[$:/favicon.ico]]`が得られます"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/KeyboardShortcuts.tid",
    "content": "created: 20140526204527418\nmodified: 20241105115108927\noriginal-modified: 20160610082117953\ntags: Features [[Working with TiddlyWiki]]\ntitle: KeyboardShortcuts\nja-title: キーボードショートカット\ntype: text/vnd.tiddlywiki\n\nキーボードショートカットは、<<.wlink KeyboardWidget>>ウィジェットや[[キーボードショートカットTiddler|Keyboard Shortcut Tiddler]]で使用できます\n\n<<.tip \"\"\"<$macrocall $name=\".wlink\" to=\"KeyboardWidget\"/>ウィジェットを使用すると、`input`や`textarea`フィールド内でショートカットアクセスができるようになります\n<br>\n[[キーボードショートカットTiddler|Keyboard Shortcut Tiddler]]で定義されたショートカットにより、グローバルにショートカットアクセスできるようになります\"\"\">>\n\n!!! 独自のショートカットを作成するための詳しい説明については、[[キーボードショートカットの作成方法|How to create keyboard shortcuts]]を参照してください\n\nキーボードショートカットは、テキストエディター内の一般的な編集操作に使用できます: \n\n* キーボードフォーカスを含むドラフトTiddlerでの変更の確定(デフォルトは<kbd>ctrl-Enter</kbd>)\n* キーボードフォーカスを含むドラフトTiddlerでの変更のキャンセル(デフォルトは<kbd>escape</kbd>)\n* Tiddler編集ツールバーの書式設定操作(ツールチップを参照)\n\n<<.from-version 5.1.18>> : 新しい''グローバル''キーボードショートカット:\n\n|!動作 |!デフォルトショートカット|\n|新しいTiddlerの作成 |<kbd>alt-N</kbd> |\n|新しいジャーナルの作成 |<kbd>alt-J</kbd> |\n|新しい画像の作成 |<kbd>alt-I</kbd> |\n|サイドバー検索をフォーカス |<<.from-version 5.1.20>><kbd>ctrl-shift-F</kbd> |\n|サイドバー表示のトグル |<<.from-version 5.1.20>><kbd>shift-alt-S</kbd> |\n|高度な検索 |<<.from-version 5.1.20>><kbd>ctrl-shift-A</kbd> |\n\n現在のショートカットは、[[コントロールパネル|$:/ControlPanel]] <<.icon $:/core/images/options-button>>の\"キーボードショートカット\"タブで確認とカスタマイズができます\n\n!! 特殊キー\n\n; エディターでタグの追加\n: <<.from-version 5.1.14>> : 新しいタグ入力で、<kbd>Enter</kbd>を押すとタグが追加されます"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Making a custom journal button.tid",
    "content": "created: 20160424150551727\nmodified: 20241117105431939\noriginal-modified: 20171114215846324\ntags: [[Customise TiddlyWiki]]\ntitle: Making a custom journal button\nja-title: カスタムジャーナルボタンの作成\ntype: text/vnd.tiddlywiki\n\n独自の''//カスタム//''ジャーナルボタンを取得するには、まず[[新しいジャーナル|$:/core/ui/Buttons/new-journal]]ボタンを複製します\n\n次に、独自の設定用Tiddlerを作成します。例: \n\n* ``$:/config/myNewTiddler/Tags``と... \n* ``$:/config/myNewTiddler/Title``と... \n* ``$:/config/myNewTiddler/Text``\n\nカスタムボタンを編集し、設定用Tiddler名を\"検索して置換\"します\n\nTiddlerの終わり近くにある次の行を修正します\n\n修正前\n\n```\n<$set name=\"journalTitleTemplate\" value={{$:/config/NewJournal/Title}}>\n<$set name=\"journalTags\" value={{$:/config/NewJournal/Tags}}>\n<$set name=\"journalText\" value={{$:/config/NewJournal/Text}}>\n```\n\n修正後\n\n```\n<$set name=\"journalTitleTemplate\" value={{$:/config/myNewTiddler/Title}}>\n<$set name=\"journalTags\" value={{$:/config/myNewTiddler/Tags}}>\n<$set name=\"journalText\" value={{$:/config/myNewTiddler/Text}}>\n```\n\nサイドバーで使用したい場合は、設定用Tiddlerを次のようにします: \n\n```\n<$set name=\"journalTitleTemplate\" value={{config/myNewTiddler/Title}}>\n<$set name=\"journalTags\" value={{config/myNewTiddler/Tags}}>\n<$set name=\"journalText\" value={{config/myNewTiddler/Text}}>\n```\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Making curved text with SVG.tid",
    "content": "created: 20140324223413403\nmodified: 20240422111609609\noriginal-modified: 20150505063713581\ntags: Learning\ntitle: Making curved text with SVG\nja-title: SVGでカーブしたテキストを作成する\ntype: text/vnd.tiddlywiki\n\n\\define textOnPath(text)\n$$$.svg\n<svg width=\"100%\" height=\"100%\" viewBox=\"0 0 1000 300\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" style=\"background:white;\">\n<defs>\n<path id=\"MyPath\" d=\"M 100 200 C 200 100 300   0 400 100 C 500 200 600 300 700 200 C 800 100 900 100 900 100\"/>\n</defs>\n<use xlink:href=\"#MyPath\" fill=\"none\" stroke=\"#ddd\"/>\n<text font-family=\"'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif\" font-size=\"42.5\">\n<textPath xlink:href=\"#MyPath\">\n$text$\n</textPath>\n</text>\n</svg>\n$$$\n\\end\nこのデモでは、SVGを使用してパスに沿ってトランスクルードされたテキストをレンダリングする方法を示します。下のテキストボックスにテキストを入力して試してください。[[ソースを表示|Making curved text with SVG]]して、それがどのように行われているかを確認してください\n\n<$edit-text tiddler=\"$:/CurvedText\" tag=\"input\" placeholder=\"Type text here\" default=\"\"/>\n\n<$macrocall $name=\"textOnPath\" text={{$:/CurvedText}}/>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Modifying JSON tiddlers.tid",
    "content": "created: 20220427174702859\nmodified: 20241021114009394\noriginal-modified: 20220427171707459\ntags: [[JSON in TiddlyWiki]] Learning\ntitle: Modifying JSON tiddlers\nja-title: JSON Tiddlerの修正\ntype: text/vnd.tiddlywiki\n\nTiddlyWikiでのJSONの扱い方の概要については、[[TiddlyWikiでのJSON|JSON in TiddlyWiki]]を参照してください\n\n注意 \n\n!! ActionSetFieldWidgetとActionListopsWidgetの使用について\n\nウィジェットActionSetFieldWidgetとActionListopsWidgetは、$index属性でプロパティの名前を指定することにより、データTiddlerの名前付きプロパティを操作できます\n\n* ActionSetFieldWidgetを使用して名前付きプロパティを作成、変更するには、$value属性を指定します\n* ActionSetFieldWidgetを使用して名前付きプロパティを削除するには、$value属性を省略します\n\nActionListopsWidgetは、$filter属性と$subfilter属性を通じて構築されたリストの名前付きプロパティを割り当てます\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/More actions.tid",
    "content": "created: 20160817104039668\nmodified: 20241104110622367\noriginal-modified: 20160817110101356\ntags: [[Editor toolbar]]\ntitle: More actions\nja-title: その他のコマンド\n\n<<.icon $:/core/images/down-arrow>>を押すと、より多くの編集オプションを含むドロップダウンメニューが表示されます"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Preserving open tiddlers at startup.tid",
    "content": "created: 20140101192052333\nmodified: 20241117105837064\noriginal-modified: 20140912142248706\ntags: [[Customise TiddlyWiki]]\ntitle: Preserving open tiddlers at startup\nja-title: 開いているTiddlerを起動時に保持する\ntype: text/vnd.tiddlywiki\n\n通常、TiddlyWikiは起動時にTiddler[[$:/DefaultTiddlers]]でフィルターとして指定されたTiddlerを表示します\n\nファイルを保存したときに開いていたTiddlerを再度開くと便利な場合があります。これを行うには、[[$:/DefaultTiddlers]]に次のフィルタを設定します: \n\n```\n[list[$:/StoryList]]\n```\n\nこのフィルタは、[[$:/StoryList]]Tiddlerで指定されたTiddlerを返します。これは、TiddlyWikiが現在のストーリーのTiddlerのシーケンスを保存するために使用するシステムTiddlerです"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Reading data from JSON tiddlers.tid",
    "content": "created: 20220427174702859\nmodified: 20241022103806366\noriginal-modified: 20220611104737314\ntags: [[JSON in TiddlyWiki]] Learning\ntitle: Reading data from JSON tiddlers\nja-title: JSON Tiddlerからのデータの読み取り\ntype: text/vnd.tiddlywiki\n\nTiddlyWikiでのJSONの扱い方の概要については、[[TiddlyWikiでのJSON|JSON in TiddlyWiki]]を参照してください\n\n!! JSONデータにアクセスするためのフィルター演算子\n\n次のフィルター演算子を使用すると、JSONデータから値を読み取ることができます: \n\n* <<.olink jsonget>>は、JSONデータ内のプロパティの値を取得します\n* <<.olink jsontype>>は、JSONの値の型を取得します\n* <<.olink jsonindexes>>は、JSONオブジェクトのフィールドの名前やJSON配列のインデックスを取得します\n* <<.olink jsonextract>>は、JSONの値をJSONの文字列として取得します\n\n!! JSONデータにアクセスするためのテキスト参照\n\n[[テキスト参照|TextReference]]は、名前付きプロパティの値を検索するための単純なショートカット構文です。例えば、`MonthDays`という[[DictionaryTiddler|DictionaryTiddlers]]に次を含む場合: \n\n```\noct:31\nnov:30\ndec:31\n```\n\n... `{{MonthDays##nov}}`は、値`30`となります\n\n`MonthDays`が次の内容を含む[[JSONTiddler|JSONTiddlers]]の場合も同様です: \n\n```\n{\"oct\":31,\"nov\":30,\"dec\":31}\n```\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Setting a favicon.tid",
    "content": "created: 20131224074240979\nmodified: 20241117110141506\noriginal-modified: 20200510115704738\ntags: [[Customise TiddlyWiki]]\ntitle: Setting a favicon\nja-title: faviconを設定する\ntype: text/vnd.tiddlywiki\n\n\"favicon\"は、Webサイトを区別できるようにするために、主なブラウザで表示される小さなアイコンです。すべてのブラウザはビットマップ画像形式をサポートしていますが、SVG画像形式のアイコンをサポートしているのは特定の最新ブラウザだけであることに注意してください。\n\n! ブラウザのfavicon\n\nTiddlyWikiがブラウザで起動すると、[[$:/favicon.ico]]というTiddlerが検索され、ページのfaviconとして動的に使用されます。画像を変更すると、faviconが即座に変更され、反映されます。\n\n<<.from-version \"5.1.23\">> 外部画像をfaviconとして設定するには、[[$:/favicon.ico]]Tiddlerの''_canonical_uri''フィールドにURLを割り当てます。\n\n! サーバ上のfavicon\n\nサーバ上では、ServerCommandがパス`/favicon.ico`に[[$:/favicon.ico]]Tiddlerを提供します。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Setting a page background image.tid",
    "content": "created: 20150417155912612\nmodified: 20241117110849866\noriginal-modified: 20230803044412567\ntags: [[Customise TiddlyWiki]]\ntitle: Setting a page background image\nja-title: ページの背景画像を設定する\ntype: text/vnd.tiddlywiki\n\n# 画像をTiddlerとしてインポートします([[WikiTextでの画像|Images in WikiText]]を参照)\n#* [[外部の画像|ExternalImages]]も使用できます\n# [[コントロールパネル|$:/ControlPanel]]<<.icon $:/core/images/options-button>>を開き、''外観''/''Theme Tweaks''タブに切り替えます\n# \"Page background image\"というラベルのドロップダウンリストから画像を選択します\n# \"Page background image attachment\"を\"Fixed to window\"に設定すると、背景が固定され、コンテンツがその上でスクロールします。また、\"Scroll with tiddlers\"に設定すると背景も移動します(iPhone/iPadではパフォーマンス上の理由から[[Fixed設定はサポートされない|http://stackoverflow.com/a/20444219]]ことに注意してください)\n# \"Page background image size\"を以下のように設定します: \n#* ''Auto''は、ページの背景に背景画像が並べて表示されます\n#* ''Cover''は、背景画像がページを完全に覆うようにサイズ調整されます。画像の端が切り取られる場合があります\n#* ''Contain''は、背景画像がページ内に収まるようにサイズ変更されます\n\n[[DarkPhotos|ColourPalettes]]パレットは、暗い背景画像でサイドバーを読みやすくするために提供されていることに注意してください。"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Sharing a TiddlyWiki on Dropbox.tid",
    "content": "created: 20140122085818089\nmodified: 20241016110752969\noriginal-modified: 20150608032039504\ntags: Learning\ntitle: Sharing a TiddlyWiki on Dropbox\nja-title: TiddlyWikiをDropboxで共有する\ntype: text/vnd.tiddlywiki\n\nDropboxでTiddlyWikiファイルを操作し、誰でもファイルの読み取り専用ビューを表示できるURLを公開できます\n\n# TiddlyWikiファイルをDropboxのフォルダ内に保存します\n# Dropboxの\"リンクを共有\"オプションを選択して、ファイルのパブリックURLを取得します\n#* Dropbox Webインターフェイスでは、ファイルの上にマウスを置くと表示されるリンクアイコンをクリックします。Dropboxは、OS XのFinderとWindowsのExplorerのファイルコンテキストメニューに\"リンクを共有\"項目も追加します\n# Dropboxによって生成されるURLは次の形式になります: \n#> `https://www.dropbox.com/s/<gobbledegook>/mywiki.html`\n# gobbledegookを変更しないように注意しながら、URLを次のように変更します\n#> `https://dl.dropboxusercontent.com/s/<gobbledegook>/mywiki.html`\n\nその結果、他の人にWikiを表示できるようにするための\"秘密\"のURLが作成できます\n\n----\n\n生成されたURLをここに入力すると、秘密のURLをコピーして貼り付けることができます:\n\n<$edit-text tiddler=\"$:/temp/dropboxurl\" default=\"https://www.dropbox.com/s/<gobbledegook>/mywiki.html\" tag=\"input\" type=\"text\" size=\"60\"/>\n\n<$macrocall $name=\"dropbox-url\" url={{$:/temp/dropboxurl}}/>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Simple ways to write protect tiddlers.tid",
    "content": "created: 20180310002601813\nmodified: 20241022104217783\noriginal-modified: 20211106021629911\ntags: Learning [[How to apply custom styles]]\ntitle: Simple ways to write protect tiddlers\nja-title: TIddlerの書き込み保護するための簡単な方法\ntype: text/vnd.tiddlywiki\n\n自分自身やゲストによるTiddlyWikiファイルへの意図しない変更からTiddlerを保護したい場合があります。ここでは簡単なアプローチをいくつか紹介します。これらは意図的な攻撃に対する強化された保護を提供するものではないことに注意してください\n\n!! スタイルシートを使用してタグ名指定でTiddlerをロックする\n\n次の内容でTiddlerを作成し、次のように`$:/tags/Stylesheet`のタグ付けをします: \n\n```css\n[data-tags*=\"Locked\"] button[title=\"このTIddlerを編集します\"]   {display: none;}\n```\n\nTWの言語が英語ではない場合は、'title=\"....\"'内のテキストを編集ボタンの上にカーソルを置いたときに表示されるテキストに変更する必要があります\n\nこれで、\"Locked\"とタグ付けしたすべてのTiddlerの編集ボタンが非表示になります。これを元に戻すには、スタイルシートTiddlerを開いて、\"none\"を\"inline\"に変更します\n\n!! トランスクルージョンを使用してシステムTiddler内にTiddlerを非表示にする\n\n* 編集のためにTiddlerを開きます\n* タイトルを選択してコピーします\n* すべてのTiddlerテキストを選択します\n* 切り出しツールをクリックします\n* タイトル ボックスに、`$:/`を入力し、元のタイトルをペーストします\n* デフォルトを使用してテキストを新しいTiddlerに切り出し、トランスクルージョンに置き換えます\n\nこれで、元のTiddlerの内容を表示できますが、それらを編集するには、プレフィックス`$:/`が付いたTiddlerを見つける必要があります"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Structuring TiddlyWiki.tid",
    "content": "created: 20131128090536894\nmodified: 20241105114805743\noriginal-modified: 20150124211518000\ntags: [[Working with TiddlyWiki]]\ntitle: Structuring TiddlyWiki\nja-title: TiddlyWikiの構造化\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki5は、[[Tiddler|Tiddlers]]として情報を構造化し、それらの間の関係をモデル化するのに役立ついくつかの機能を提供します:\n\n* [[Tiddlerリンク|TiddlerLinks]]\n* [[タグ付け|Tagging]]\n* [[タイトルリスト|Title List]]\n* [[データTiddler|DataTiddlers]]\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Tagging.tid",
    "content": "created: 20140904075400000\nmodified: 20241108110017096\noriginal-modified: 20230803050201458\ntags: [[Working with TiddlyWiki]] Concepts\ntitle: Tagging\nja-title: タグ付け\ntype: text/vnd.tiddlywiki\n\nタグ付けは、Tiddlerをカテゴリに分類する方法です。たとえば、さまざまな個人を表すTiddlerがある場合、''友人''、''家族''、''同僚''などのタグを付けて、これらの人々と自分との関係を示すことができます。\n\nタグは実際には単なるTiddler(または潜在的なTiddler)であり、独自のタグを持つことができます。同じTiddlerに好きなだけタグを追加できます。\n\nタグ付けの方法については、[[Tiddlerの作成と編集|Creating and editing tiddlers]]を参照してください。\n\nTiddlerにタグを付けると、さまざまな方法で情報を表示、ナビゲート、整理できます: \n\n* Tiddlerに色付きタグピルを使用すると、同じタグを持つ他のすべてのTiddlerだけでなく、タグ自体を表すTiddlerにもすばやくアクセスできます。\n\n* Tiddlerがタグとして機能している場合、その[[情報パネル|InfoPanel]]の''この名でタグ付け''タブに、現在どのTiddlerにタグが付けられているかが表示されます。\n\n* サイドバーの''詳しく''タブには''タグ別''タブがあり、すべてのタグが一覧表示され、タグ付けされたすべてのTiddlerにアクセスできます。\n\n* [[フィルタ|Filters]]を使用して、タグを基準にTiddlerのリストを作成できます。そして、それらのTiddlerの[[フィールド|TiddlerFields]]を任意に組み合わせて表示できます。たとえば、''用語集''タグが付けられたすべてのTiddlerのタイトルとテキストを一覧表示して用語集を作成できます。このようなリストは、たとえば箇条書き、番号付きリスト、カンマ区切りなど、任意の形式でフォーマットできます。\n\n* Tiddlerと~TiddlyWikiページ全体のレイアウトを制御する特別な''システムタグ''があります。説明については、[[ページとTiddlerのレイアウトのカスタマイズ|Customising TiddlyWiki's user interface]]を参照してください。\n\nタグを使用してできることがさらに2つあります:\n\n! タグの色とアイコンを設定する\n\nサイドバーの''詳しく''の''タグ別''タブにある<<.icon $:/core/images/tag-button>> [[タグの管理|$:/TagManager]]を使用して、タグのピルの色を変更したり、ピルにアイコンを追加したりできます。\n\n* 色を変更するには、''色''列のボタンをクリックしてカラーピッカーから選択します。または、''情報''列のアイコンをクリックし、''色''フィールドに[[CSS|Cascading Style Sheets]]のカラー値を入力します\n* アイコンを変更するには、''アイコン''列の<<.icon $:/core/images/down-arrow>>ボタンをクリックし、利用可能なアイコンのリストから選択します\n\n! タグの表示順序を変更する\n\nデフォルトでは、タグ付けされたTiddlerはアルファベット順にリストされます。\n\n順序を変更したい場合は、タグTiddlerに<<.flink ListField>>フィールドを追加し、その値として、並べたい順の[[Tiddlerのリスト|Title List]]を設定します。\n\n''list''フィールドには、すべてのTiddlerを記載する必要はありません。~TiddlyWikiがタグ付けされたTiddlerを順序付けるために使用する[[正確なルール|Order of Tagged Tiddlers]]を参照してください。"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Text preview.tid",
    "content": "created: 20160817104110857\nmodified: 20241104110951286\noriginal-modified: 20211029090145708\ntags: [[Editor toolbar]]\ntitle: Text preview\nja-title: テキストプレビュー\n\n目のアイコン{{$:/core/ui/EditorToolbar/preview}}を押すと、WikiTextのレンダリング結果を表示するプレビューウィンドウが開いたり閉じたりします(目のアイコンも開いたり閉じたりします)。\n\n目の右側には別のアイコン{{$:/core/images/chevron-down}}があり、クリックするとドロップダウンが表示され、6種類のプレビューにアクセスできます:\n\n* //出力//は、Tiddlerを編集していないときに表示されるテキストが表示されます。\n* //raw HTML//は、 その出力の[[ソースコード|https://www.w3schools.com/html/html_intro.asp]]を表示します。Web ブラウザーはこのソースコードを使用してWebページを表示します。\n* //parse tree//と//widget tree//は、~TiddlyWikiが~WikiTextから内部的に生成する2つのオブジェクトツリーを示します。//parse tree//は~WikiTextに関する基本情報を収集します。次に、parse treeの情報から//widget tree//が拡張情報を生成し、最終的に上記のHTMLを生成します(widget treeは他の処理も行います)。\n* //現在との差異//は、Tiddlerが最後に保存されてからの相違点を示します。削除された部分は<span style=\"color:red;\">赤</span>、追加された部分は<span style=\"color:green;\">緑</span>です。\n* //shadowとの相違点 (あれば)//は、同じことを行いますが、これは基礎となる[[隠しtiddler|ShadowTiddlers]]との違いを表示します。\n\n<<.tip \"デフォルトでは、プレビューペインボタンは、編集用に開いているすべてのTiddlerに対してプレビューペインを表示するかどうかを制御します。ボタンをTiddlerごとに機能させる[[隠し設定|Hidden Setting: Show Edit Preview per Tiddler]]があります。\">>\n\n<<.tip \"変数[[tv-tiddler-preview|tv-tiddler-preview Variable]]を使用すると、プレビューペインにコンテンツが表示されているかどうかを検出できます。\">>"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/The First Rule of Using TiddlyWiki.tid",
    "content": "created: 20140419132828051\nmodified: \noriginal-modified: 20140919154434409\ntags: [[Working with TiddlyWiki]]\ntitle: The First Rule of Using TiddlyWiki\nja-title: TiddlyWikiを使用する上での第一ルール\ntype: text/vnd.tiddlywiki\n\n! 悲惨な話\n\n時折、TiddlyWikiユーザーが、ディスカッショングループで個人データの損失に関する悲痛な話の報告があります:\n\n> Tiddlyを保存中にFirefoxがクラッシュし、TiddlyWiki全体が消えてしまいました。\n\nhttps://groups.google.com/d/topic/tiddlywiki/oG2L7OXhUoI/discussion\n\n> 最後に使用したのは昨夜、自宅のWindows 7デスクトップで、最後のエントリの編集を終えるためにチェックマークを押し、TiddlyFox経由で保存し、USBドライブを取り出しました。今朝仕事に来て、USBを差し込み、TW5パスワードを入力しましたが、何度か試しても開きません。TW5 htmlファイルを参照すると、ファイルサイズが3MBではなく、80KBになっていることに気付きました。これで、すべてを失ったと確信しました。\n\nhttps://groups.google.com/d/topic/tiddlywiki/SXStDJ0ntGI/discussion\n\nあなたはそんなことが起きないようにしてください!\n\n!! The first rule of using TiddlyWiki is:\nTiddlyWikiを使用する上での第一ルールは: \n\n<p style=\"font-size:40pt;line-height:48pt;font-weight:700;color:red;\">\nデータをバックアップしてください!\n</p>\n\nTiddlyWikiは、ユーザーが自分のデータをしっかりと管理できる、非常に柔軟でカスタマイズ可能なシステムです。TiddlyWikiの開発では、ユーザーの最も貴重なデータを安全に保管できる場所となるよう細心の注意が払われていますが、データ損失のリスクを軽減する最終的な責任はユーザーにあります。\n\nデータの安全性を確保する最善の方法は、厳格なバックアップシステムを実践することです:\n\n* Dropboxなどのサービスを使用して、個人データをクラウドに継続的にバックアップすることを検討してください。(Dropbox には、ファイルの以前のバージョンを追跡する[[素敵な機能|https://www.dropbox.com/help/11]]があります)\n* TiddlyWikiを新バージョンにアップグレードする前にバックアップしてください\n* 最悪のシナリオを想定して、自分自身を守りましょう: USBスティックやハードドライブが故障したら?コンピューターがランサムウェアウイルスに感染したら?\n* 防御のため冗長性を持たせる: たとえば、複数のバックアップを取り、物理的に別の場所に保管してください\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Upgrading.tid",
    "content": "created: 20131202102427114\nmodified: 20241029111216866\noriginal-modified: 20160617105124677\ntags: Features [[Working with TiddlyWiki]]\ntitle: Upgrading\nja-title: アップグレード\ntype: text/vnd.tiddlywiki\n\nTiddlyWikiは定期的にリリースされ、バグ修正や改良が行われています。定期的に最新バージョンにアップグレードして、最新の状態を保つことが最善です。\n\n! イントロダクション\n\nここで説明するプロセスは、スタンドアロンのTiddlyWikiファイルをアップグレードするためのものです。[[Node.js上のTiddlyWiki|TiddlyWiki on Node.js]]をアップグレードするには、[[別の手続き|Upgrading TiddlyWiki on Node.js]]が必要です。\n\n<<<\nアップグレードするときは、[[TiddlyWikiを使用する上での第一ルール|The First Rule of Using TiddlyWiki]]を思い出してください:\n\n//あなた自身のデータを管理する責任はあなたにあります。特に~TiddlyWikiコアをアップグレードするときは、バックアップするようにしてください//\n<<<\n\n! オンラインアップグレード\n\nこのプロセスは、ほとんどのデスクトップブラウザで機能します。このプロセスでは、個人データがブラウザから外部に送信されることはありません。\n\n# ファイルシステムでTiddlyWikiファイルの場所を確認します(Windowsエクスプローラー、Mac OS Xの Finder、Linuxのファイル ネージャーなどを使用)\n# ブラウザで https://tiddlywiki.com/upgrade.html にアクセスします\n\n# 古いTiddlyWiki HTMLファイルをブラウザのウィンドウにドラッグします\n#* ファイルが暗号化されている場合はパスワードの入力を求められます\n# アップグレードされるTiddlerのリストを確認します\n# ''Upgrade''をクリックします\n# 変更を保存して新しいバージョンを保存します(<<.icon $:/core/images/save-button-dynamic>>)\n\nこれにより、''upgrade.html''というファイルがコンピューターにダウンロードされます。このファイルは、古いファイルのアップグレードです。''upgrade.html''がダウンロードされた場所を開き、''upgrade.html''の名前をアップグレードする古いファイルの名前に変更し、新しいファイルをその場所に移動して古いファイルを置き換える必要がある場合があります。\n\n! オフラインアップグレード\n\nhttps://tiddlywiki.com/upgrade.html をローカルにダウンロードし、同じドラッグアンドドロップ手順を実行してファイルをアップグレードすることもできます。\n\n! アップグレードに関する問題\n\n!! Firefoxのセキュリティ制限\n\nFirefoxを使用してオンラインアップグレード手順を実行すると、次のエラーが発生します:\n\n<<<\nError while saving:\n\nError:NS_ERROR_DOM_BAD_URI: Access to restricted URI denied\n<<<\n\nアップグレード操作は、Firefoxのセキュリティ制限に違反します。これが解決されるまで、オフラインアップグレーダーを使用するか、Chromeを使用してアップグレードを実行することをお勧めします: \n\n# Chromeを使用して https://tiddlywiki.com/upgrade.html を開き、アップグレードするTiddlyWiki HTMLファイルを、上記の''オンラインアップグレード''の説明に従ってアップグレードウィンドウにドラッグします\n# アップグレードしたファイルを保存後、そのファイルをFirefoxで開いて、再び[[TiddlyFoxでの保存|Saving with TiddlyFox]]により保存できます。\n\n!! 互換性のないカスタマイズ\n\n以前のバージョンで適用されたカスタマイズは、最新バージョンにアップグレードすると壊れる可能性があります。問題を追跡するために使用できる2つのテクニックがあります: \n\n* TiddlyWikiにカスタマイズを適用している可能性のあるTiddlerを選択しチェックを外して、アップグレードを繰り返してみてください\n* [[セーフモード|SafeMode]]を使用して、隠しTiddlerのすべてのカスタマイズを無効にします\n\n[[Advanced search|$:/AdvancedSearch]]の''フィルタ''タブで、オーバーライドされた隠しTIddlerを確認できます。ドロップダウンから\"上書きされている隠しTiddler\"を選択します。"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Using Excise.tid",
    "content": "created: 20160810122928198\nmodified: 20241104112946776\noriginal-modified: 20230803044526608\ntags: [[Editor toolbar]]\ntitle: Using Excise\nja-title: 切り出しの使用\ntype: text/vnd.tiddlywiki\n\n! テキストの切り出し\n[[エディタツールバー|Editor toolbar]]から、選択したテキストを新しいTiddlerにエクスポートし、その場所に[[リンク|Linking in WikiText]]、[[トランスクルージョン|Transclusion]]、または[[マクロ|Macros]]を挿入できます。''選択したテキストを新しいティドラーに切り出します'' (<<.icon $:/core/images/excise>>)をクリックし、新しいTiddlerの名前を入力して、切り出し方法を選択します。\n\n!! テキストの切り取り方法\n# 関連するテキストをハイライトします \n# ''選択したテキストを新しいティドラーに切り出します''(<<.icon $:/core/images/excise>>)をクリックします\n# 新しいTiddlerにタイトルを付けます。\n# 新しいTiddlerに現在のTiddlerのタイトルをタグ付けするかどうかを選択します(下記の注意を参照)。\n# 置き換え方法を選択します: [[リンク|Linking in WikiText]]、[[転出|Transclusion]]、または、[[マクロ|Macros]]。\n# ''{{$:/language/Buttons/Excise/Caption/Excise}}''ボタンをクリックします\n\n<<.strong 注意!>> `新しいTiddlerにこのTiddlerのタイトルをタグ付けします`オプションを選択した場合、新しいTiddlerは、編集される前の現在のTiddlerの名前でタグ付けされます。現在のTiddlerのタイトルを変更する場合は、最初に保存し、再度編集してから、このオプションで切り出しを実行します。"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Using SVG.tid",
    "content": "created: 20131028132700000\nmodified: 20241219105600277\noriginal-modified: 20160618085859219\ntags: Features\ntitle: Using SVG\nja-title: SVGの使用\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki5では、SVGを使用して2つの方法でベクターグラフィックスを表示できます: \n\n* `image/svg+xml`タイプのTiddlerはSVG画像として解釈され、`src`属性にデータURIとして埋め込まれたSVGを持つ自己包含型の`<img>`要素として表示、トランスクルードされます。\n** SVG画像の例としては、[[Motovun Jack.svg]]や[[Tiddler Fishes.svg]]を参照してください\n* WikiTextには、インラインSVG要素を直接含めることもできます。例については以下を参照してください。\n\n! SVG Tiddlerの埋め込み\n\n通常のトランスクルージョン構文を使用してSVG画像Tiddlerを埋め込むことができます:\n\n```\n{{Motovun Jack.jpg}}\n```\n\n[[WikiText の型付きブロック|Typed Blocks in WikiText]]を使用して、インラインでSVG Tiddlerを埋め込むこともできます。\n\n`<img>`要素内でレンダリングされる画像の意味は、画像がサンドボックス化されることです。たとえば、親ドキュメントのCSSスタイルは使用されません。また、画像はトランスクルージョンなどのWikiText機能も使用できません。\n\n! SVG要素の埋め込み\n\nSVGを使用するもう1つの方法は、`<svg>`要素を直接埋め込むことです。例:\n\n<svg width=\"150\" height=\"100\">\n  <circle cx=\"100\" cy=\"50\" r=\"40\" stroke=\"black\" stroke-width=\"2\" fill=\"red\" />\n</svg>\n\nインラインSVG要素には`<?xml version=\"1.0\"?>`宣言は必要ないことに留意してください。\n\n! SVG画像にHTMLまたはWikiTextコンテンツを含める\n\n`<text>`要素を使用して、SVG画像に単純なテキスト文字列を含めることができます: \n\n<svg width=\"100px\" height=\"30px\" viewBox=\"0 0 1000 300\"><text x=\"250\" y=\"150\" font-family=\"Verdana\" font-size=\"55\">みなさん、こんにちは</text><rect x=\"1\" y=\"1\" width=\"998\" height=\"298\" fill=\"none\" stroke-width=\"2\" /></svg>\n\n`<foreignObject>`要素を使用して、HTMLやWikiTextコンテンツをインラインSVG画像内に含めることができます。例:\n\n<svg width=\"260px\" height=\"260px\"><circle cx=\"150\" cy=\"150\" r=\"100\" fill=\"blue\" stoke=\"red\"/><foreignObject x=\"70\" y=\"110\" width=\"150\" height=\"180\"><body>これはワードラップが必要なテキストで、[[Tiddlerへのリンク|HelloThere]]が含まれています。</body></foreignObject></svg>\n\n! SVG要素のトランスクルード\n\nSVG要素を埋め込むときは、トランスクルージョンなどのWikiText機能も使用できます。たとえば、半径がTiddler[[$:/SVGExampleRadius]]の値に設定されたSVG円を示します: \n\n<svg width=\"150\" height=\"150\"><circle cx=\"75\" cy=\"75\" r={{$:/SVGExampleRadius}} stroke=\"black\" stroke-width=\"2\" fill=\"green\"/></svg>\n\n半径の値を編集できます: <$edit-text tiddler=\"$:/SVGExampleRadius\" tag=\"input\"/>\n\n! SVGでカーブしたテキストを作成する\n\n{{Making curved text with SVG}}"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Using Stamp.tid",
    "content": "created: 20160618090057124\nmodified: 20241108105651649\noriginal-modified: 20230101114932775\ntags: [[Editor toolbar]]\ntitle: Using Stamp\nja-title: スタンプの使用\ntype: text/vnd.tiddlywiki\n\nスニペットは、[[ツールバー|Editor toolbar]]の''スタンプ'' (<<.icon $:/core/images/stamp>>)ボタンをクリックし、必要な項目をクリックすることでエディタに挿入できる、事前に構成されたテキストスニペットです。\n\nスニペットは、エディタで選択したテキストを''置き換え''たり、''その前や後に追加''したりできます。\n\n! スニペットを作成する\n!! Tiddlerの編集で\n\n# ツールバーの''スタンプ''（<<.icon $:/core/images/stamp>>）をクリックします\n# メニューの一番下にある\"//自己紹介を追加します//\"をクリックします\n# エディタにスニペットのテキストを入力します\n# `caption`フィールドにスニペットのメニュー項目のキャプションを入力します\n# <<.icon $:/core/images/done-button>> //編集内容を確定します// ボタンをクリックします\n\n!! 手動で\n\n# サイドバーの//新しいTiddlerを作成します// <<.icon $:/core/images/new-button>> ボタンをクリックして、新しいTiddlerを作成します\n\n# Tiddlerのタイトルを変更します (例: `New Tiddler 1`)。`caption`フィールドを設定しない場合は、Tiddlerのタイトルがスタンプのメニュー項目になります(下記参照)。<div><$macrocall $name=\".tip\" _=\"\"\"''プロ技'' 新しいTiddlerを `$:/yourusername/snippets/My new stamp`のようなタイトルにし、通常の検索結果には表示されない[[システムTiddler|SystemTiddlers]]として'ファイル'します \"\"\" /></div>\n\n# `タグ名`タグボックスに`$:/tags/TextEditor/Snippet`と入力し、//追加//をクリック(または//Enter//キーを押下)して、<<tag-pill $:/tags/TextEditor/Snippet>>タグを追加します\n\n# エディタにスニペットコンテンツ(スタンプメニュー<<.icon $:/core/images/stamp>>をクリックしたときにエディタに入力するコンテンツ)を入力します。\n\n# フィールド名が`caption`、フィールドの値にスニペットのスタンプメニュー項目のテキストが設定されたフィールドを作成します: \n## //新しいフィールドを追加//の`フィールド名`ボックスに`caption`と入力します\n## `フィールドの値`ボックスにスタンプメニュー項目のキャプションを入力します\n\n! スニペットの並べ替え\n新しいスニペットは、デフォルトではスタンプメニューの下部に追加されます。スニペットの順序を調整するには:\n\n# スニペットTiddlerに移動します\n# <<tag $:/tags/TextEditor/Snippet>>タグピルをクリックします\n# スニペットのメニューで項目を上下にドラッグします\n\n\n! 選択範囲に接頭辞や接尾辞を追加する方法 <span style=\"font-size:1rem;\"><<.from-version \"5.1.20\">></span>\n\nデフォルトでは、スタンプボタンは、エディターで選択したテキスト(`選択テキスト`とします)をスニペット(`$:/my/snippet`とします)に''置き換え''ます。\n\n選択したテキストを//置き換える//代わりに、スタンプボタンで選択範囲の前または後に[[Wikiテキスト|WikiText]]を//追加//するためには:\n\n# 上記の2つの方法のいずれかを使用して、(<<tag-pill $:/tags/TextEditor/Snippet>>タグが付いた、`caption`フィールドにスタンプメニュー項目のテキストを設定した)スニペットTiddlerを作成します\n# スタンプでスニペットのコンテンツをエディタで選択したテキストの//前に//(`/prefix`)に挿入するか、//後に//(`/suffix`)( )に挿入するかに応じて、スニペットTiddlerのタイトルの末尾に`/prefix`、または`/suffix`を追加して新しいTiddlerを作成します\n#* そのTiddlerには<<tag-pill $:/tags/TextEditor/Snippet>>タグを付けないでください; captionフィールドは無視されます\n#* Tiddlerテキストに、選択範囲の前または後に挿入したいテキストを設定します\n\n|`snippet2`に接頭辞と接尾辞を構成する例|c\n|!Tiddler|!Tiddlerコンテンツ|!タグ|!`caption`フィールド|\n|`$:/snip/snippet2`||<<tag-pill $:/tags/TextEditor/Snippet>>|`My second stamp menu item`|\n|`$:/snip/snippet2/prefix`|`TextIWantPrependedToSelection`|||\n|`$:/snip/snippet2/suffix`|`TextIWantAppendedToSelection`|||\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Using Stylesheets.tid",
    "content": "created: 20140305091244145\nmodified: 20241118112833362\noriginal-modified: 20211125175708977\ntags: [[Customise TiddlyWiki]]\ntitle: Using Stylesheets\nja-title: スタイルシートの使用\ntype: text/vnd.tiddlywiki\n\n\\define tv-config-toolbar-text() yes\n\n\\define openCpTheme()\n<$action-setfield $tiddler=\"$:/state/tab-1749438307\" $value=\"$:/core/ui/ControlPanel/Appearance\"/>\n<$action-setfield $tiddler=\"$:/state/tab--1963855381\" $value=\"$:/core/ui/ControlPanel/Theme\"/>\n<$action-navigate $to=\"$:/ControlPanel\"/>\n\\end\n\n! テーマとカラーパレット\n\n~TiddlyWikiの外観を変更するための最初の手順は、以下を選択して適用することです: \n\n* 利用可能なテーマの1つ: {{$:/core/ui/Buttons/theme}}\n* カラーパレットの変更: {{$:/core/ui/Buttons/palette}}\n* <$button actions=<<openCpTheme>> class=\"tc-btn-invisible\"><<.icon $:/core/images/options-button>>コントロールパネル</$button>で試す\n\n! スタイルシートの動き\n\nコントロールパネルに加えて、Tiddlerに`$:/tags/Stylesheet`タグを付けることでカスタムスタイルを定義できます。ページの背景色を赤に変更するには、次の内容でカスタムスタイルシートを作成します: \n\n```\nbody.tc-body {\n\tbackground: red;\n}\n```\n\nその後、[[WikiTextで独自のスタイルとクラス|Styles and Classes in WikiText]]を使用します。\n\n!! 追加リソース\n\n* [[カスケーディングスタイルシート(CSS) (mozillaサイト)|https://developer.mozilla.org/en-US/docs/Web/CSS]]\n* [[カスケーディングスタイルシート(CSS) (w3scoolsサイト)|http://www.w3schools.com/css]]\n\n! テーマ設定の上書き\n\nカスタムスタイルシートは、テーマスタイルシートとは独立して適用されます。そのため、カスタムスタイルシートのCSSルールは、上書きするテーマのCSSルールよりも具体的にする必要があります。たとえば、`html body.tc-body`は`body.tc-body`よりも具体的です。\n\n<<.tip \"\"\"常に、最も具体的でない値から始めます!\"\"\">>\n\n! スタイルシートの種類\n\n通常、スタイルシートの種類には`text/css`を使用するのが最適です。これにより、プレーンなスタイルシートとして扱われ、~TiddlyWikiがWi​​ki処理を適用しないことが保証されます。\n\nIf you wish to use macros and transclusions in your stylesheets you should instead use the default WikiText type `text/vnd.tiddlywiki`. This allows full ~WikiText processing to be performed. Here is an example:\nスタイルシートでマクロやトランスクルージョンを使用したい場合は、代わりにデフォルトの種類であるWikiText `text/vnd.tiddlywiki`を使用します。これにより、完全な~WikiText処理を実行できます。次に例を示します。\n\n```\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline html\n\nbody.tc-body pre {\n\t<<box-shadow \"inset 0 1px 0 #fff\">>\n}\n```\n\nティドラーの先頭にある`\\rules`プラグマは、~WikiTextがマクロとトランスクルージョンのみを許可するように制限します。これにより、誤って不要な~WikiText処理がトリガーされることを回避できます。\n\nスタイルシートTiddlerは、まずWiki化され、次に出力のテキスト部分が抽出されてCSSとして適用されるように処理されます。したがって、スタイルシートで使用しているHTMLタグはすべて無視されます。たとえば、RevealWidgetによって生成されたHTML要素は出力に影響しません。次の例のように、CSSルールを`<pre>`タグで囲んで、内部マクロの処理などの処理に影響を与えることなく、コードブロックとして表示できます。\n\n```\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline html\n\n<pre>body.tc-body pre {\n\t<<box-shadow \"inset 0 1px 0 #fff\">>\n}\n</pre>\n```\n\n!! スタイルシートマクロ\n\n~TiddlyWikiコアは、[[スタイルシートの構築に役立つグローバルマクロ|Stylesheet Macros]]を提供します。\n\n!! 参照\n\n<<list-links \"[tag[Using Stylesheets]]\">>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Using TiddlyWiki for GitHub project documentation.tid",
    "content": "created: 20130825150100000\nmodified: 20250204104525288\noriginal-modified: 20140912141559011\ntags: [[TiddlyWiki on Node.js]]\ntitle: Using TiddlyWiki for GitHub project documentation\nja-title: GitHubプロジェクトのドキュメントにTiddlyWikiを使用する\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki5は、GitHubプロジェクトのドキュメントを作成するために使用できます。ソースコード管理下にある個別のTiddlerファイルを含む[[TiddlyWikiフォルダ|TiddlyWikiFolders]]として単一のドキュメントセットを維持し、それを使用してプロジェクトフォルダーに含める`readme.md`ファイルや[[GitHub Pages|http://pages.github.com/]]に保存するHTMLファイルを作成できます。両方の機能は、TiddlyWiki5自身によって実証されています。\n\n! `readme.md`ファイルの生成\n\nフォルダーの内容を表示する際、GitHubは`readme.md`ファイルを探して表示します。この方法では完全なHTMLファイルではなく、静的なMarkDownファイルのみが表示されることに注意してください(これはセキュリティ対策です)。幸いなことに、MarkDownはHTMLの安全なサブセットを許可しているため、GitHubに適した`readme.md`ファイルを生成するには、TiddlyWiki5がHTMLドキュメントの`<body>`要素の内容を生成し、適切なファイル名を付けるだけで済みます。\n\nこれは次のコマンドで実行できます: \n\n```\n--rendertiddler ReadMe ./readme.md text/html\n```\n\nReadMe Tiddlerを`text/html`形式でファイル`./readme.md`に保存します。\n\nデフォルトでは、Tiddlerのリンクは、Tiddlerのタイトルで構成される相対URIへのリンクとしてレンダリングされます。この動作は、ReadMe Tiddlerの先頭で行われているように、マクロ`tv-wikilink-template`を定義することで上書きできます\n\n```\n\\define tv-wikilink-template() https://tiddlywiki.com/static/$uri_doubleencoded$.html\n```\n\n詳細については、LinkWidgetを参照してください。\n\nこの例では、Tiddlerのリンクはtw5.comの静的レンダリングへのリンクとしてレンダリングされます。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Using a custom path prefix with the client-server edition.tid",
    "content": "created: 20140613133627669\nmodified: 20241230102718926\noriginal-modified: 20140912141613393\ntags: [[TiddlyWiki on Node.js]]\ntitle: Using a custom path prefix with the client-server edition\nja-title: クライアント-サーバーエディションでカスタムのパスプレフィックスを使用する\ntype: text/vnd.tiddlywiki\n\nデフォルトでは、[[Node.js上のTiddlyWiki|TiddlyWiki on Node.js]]を実行すると、サーバーはプロトコル、ホスト、ポートから形成されたURI - 例えば、`http://127.0.0.1:8080/`でWikiを公開します。\n\n`http://127.0.0.1:8080/path/to/my/wiki/`のようなカスタムパスでWikiを実行するには、2つの手順があります: \n\n# ServerCommandの''pathprefix''属性として`/path/to/my/wiki`を渡してサーバーを設定します\n# `$protocol$//$host$/path/to/my/wiki/`を含む、`$:/config/tiddlyweb/host`というTiddlerを作成してクライアントを設定します\n\n\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Visible Transclusions.tid",
    "content": "created: 20220909111836951\nmodified: 20241022105614479\noriginal-modified: 20230419103154329\ntags: Learning\ntitle: Visible Transclusions\nja-title: トランスクルージョンの可視化\ntype: text/vnd.tiddlywiki\n\n!! トランスクルージョンの可視化\n\nブロックのトランスクルージョンは赤で表示され、インラインのトランスクルージョンは緑で表示されます\n\n<$button>\n<$action-setfield $tiddler=\"$:/temp/VisibleTransclusions\" tags=\"$:/tags/Macro/View/Body\" text={{$:/core/ui/VisibleTransclude}}/>\nここをクリックすると、ストーリーリバー内のTiddlerでトランクスージョンが表示されるようになります\n</$button>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/Windows HTA Hack.tid",
    "content": "caption: HTA Hack\ncolor: #F06292\ncreated: 20131212223146250\ndelivery: DIY\ndescription: Internet Explorerで変更を手動で直接保存する方法\nmethod: save\nmodified: 20241012122755089\noriginal-modified: 20200507110355115\ntags: Saving Windows $:/deprecated\ntitle: Windows HTA Hack\nja-title: Windows HTAのハック\ntype: text/vnd.tiddlywiki\n\n<<.deprecated-since \"5.3.6\">>\nWindowsでは、HTMLファイルの拡張子を`*.hta`に名前変更することで、TiddlyWikiを真のローカルアプリケーションに変換できます。その後、''fsosaver''モジュールは~ActiveX ~FileSystemObjectを使用して変更を保存できます。\n\nこの方法の欠点の1つは、TiddlyWikiファイルがUTF-16フォーマットで保存されるため、通常のUTF-8エンコードの場合と比べて2倍の大きさになることです。ただし、別の保存方法でファイルを開いて保存すると、ファイルはUTF-8に再エンコードされます。\n\n詳細については、Wikipediaを参照してください: https://en.wikipedia.org/wiki/HTML_Application\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/faq/csFAQ_dynamic_stylesheet.tid",
    "content": "created: 201804111739\nmodified: 20241120110107221\noriginal-modified: 201804111739\ntitle: Q: Is there a way to create dynamic stylesheets?\nja-title: Q: 動的スタイルシートを作成する方法はありますか?\ntags: [[Custom Styles FAQ]]\n\n''回答:'' <<.from-version \"5.1.16\">>\n\nはい、[[Q: カスタムフィールドを使用してTiddlerのスタイルを設定するにはどうすればよいですか?|Q: How can I use a custom field to style a tiddler?]]を参照してください\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/faq/csFAQ_how_can_i_use_custom_field.tid",
    "content": "created: 201804111739\nmodified: 20241120110107221\noriginal-modified: 201804111739\ntitle: Q: How can I use a custom field to style a tiddler?\nja-title: Q: カスタムフィールドを使用してTiddlerのスタイルを設定するにはどうすればよいですか?\ntags: [[Custom Styles FAQ]]\n\n''次のユースケースを考えてみましょう:'' <<.from-version \"5.1.16\">>\n\n`rank`という名前のフィールドがあります。このフィールドには、例えば`species`のようなさまざまな値を保持できます\n\n''回答:''\n\nここでのアイデアは、スタイルシートを動的に作成するということです。スタイルシートは次のようになります: \n\n\"\"\"\ntitle: `myStyles`\ntags: `$:/tags/Stylesheet`\n\"\"\"\n\n```\n<$list filter=\"[rank[species]]\"> \n[data-tiddler-title^=\"<$view field=title/>\"] .tc-tiddler-body {\n    column-count: 2;\n}\n</$list> \n```\n\nこれにより、フィールド`rank`と値`species`を持つすべてのTiddlerタイトルのCSSルールが作成されます\n\n[[利用できる属性についての詳細はこちらをご覧ください!|Attribute Selectors]]"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/faq/csFAQ_what_if_tiddler_has_no_tags.tid",
    "content": "created: 201804111739\nmodified: 20241120110107221\noriginal-modified: 201804111739\ntitle: Q: What if a tiddler has no tags?\nja-title: Q: Tiddlerにタグがない場合はどうしますか?\ntags: [[Custom Styles FAQ]]\n\n''回答:'' <<.from-version \"5.1.16\">>\n\n* Tiddlerにタグがないが、スタイル設定が必要な場合は、CSSセレクターとして`data-tiddler-title`を使用します\n** Tiddlerは一つのみです\n\n* ユーザーがシステムTiddlerのスタイルをカスタム設定したい場合: セレクターとして`[data-tiddler-title^=\"$:\"/]`を使用します\n** TW名前空間機能を使用する\n\n* ユーザーがタグ付けされたTiddlerに対して特別な動作を設定したい場合。例: Learning\n** CSSセレクターとして`[data-tags*=\"Learning\"]`を使用します\n\n私が使用している名前は、既存のWikiを変更することなく、ドキュメント目的でのみ使用されます。ドキュメントに副作用があることは望ましくありません\n\n[[利用できる属性についての詳細はこちらをご覧ください!|Attribute Selectors]]"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/faq/csFAQ_what_this_and_that_tag.tid",
    "content": "created: 201804111739\nmodified: 20241120110107221\noriginal-modified: 201804111739\ntitle: Q: How can I style a tiddler if it has \"this\" AND \"that\" tag?\nja-title: Q: \"this\"タグと\"that\"タグの両方を持つTiddlerのスタイルを設定するにはどうすればよいですか?\ntags: [[Custom Styles FAQ]]\n\n''回答: '' <<.from-version \"5.1.16\">>\n\nTiddlerに`this`と`that`の両方のタグがある場合、オレンジ色の境界線が作成されます\n\n```\n[data-tags*=\"bar\"][data-tags*=\"froz\"] {\n  border: 2px solid orange;\n}\n```\n\n''CSSが次のような場合: ''\n\n```\n[data-tags~=\"this\"] {\n  border: 2px solid blue;\n}\n\n[data-tags~=\"that\"] {\n  border: 2px solid red;\n}\n```\n\n`this`は青い境界線を作成します\n`that`は赤青い境界線を作成します\n位置を入れ替えると、逆になります\n\n[[利用できる属性についての詳細はこちらをご覧ください!|Attribute Selectors]]"
  },
  {
    "path": "editions/ja-JP/tiddlers/howtos/faq/csFAQ_what_this_or_that_tag.tid",
    "content": "created: 201804111739\nmodified: 20241120110107221\noriginal-modified: 201804111739\ntitle: Q: How can I style a tiddler if it has \"this\" OR \"that\" tag?\nja-title: Q: \"this\"タグと\"that\"タグのどちらかを持つTiddlerのスタイルを設定するにはどうすればよいですか?\ntags: [[Custom Styles FAQ]]\n\n''回答: '' <<.from-version \"5.1.16\">>\n\n`this`または`that`のいずれかのタグがある場合、赤い境界線を作成します\n\n```\n[data-tags~=\"this\"],\n[data-tags~=\"that\"] {\n  border: 2px solid red;\n}\n```\n\n[[利用できる属性についての詳細はこちらをご覧ください!|Attribute Selectors]]"
  },
  {
    "path": "editions/ja-JP/tiddlers/images/Icon Gallery.tid",
    "content": "created: 20211013132515594\nmodified: 20241021113650824\noriginal-modified: 20211018102307833\ntags: Learning [[Core Icons]]\ntitle: Icon Gallery\nja-title: アイコンギャラリー\ntype: text/vnd.tiddlywiki\n\n\\define copyActions() <$action-sendmessage $message=\"tm-copy-to-clipboard\" $param=<<imageTitle>>/>\n\n<<.tip \"アイコンをクリックすると、タイトルをクリップボードにコピーします\">>\n\n<div class=\"tc-image-chooser\">\n<$macrocall $name=\"image-picker-list\" filter=\"[all[shadows+tiddlers]tag[$:/tags/Image]]\" actions=<<copyActions>> />\n</div>\n\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/images/favicon.png.meta",
    "content": "title: $:/favicon.ico\ntype: image/png\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/images/green_favicon.png.meta",
    "content": "title: $:/green_favicon.ico\ntype: image/png\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/languages/Castellano (Espana) Edition.tid",
    "content": "caption: Castellano (España)\ncreated: 20160511155557372\nlist-before: Deutsch (Deutschland) Edition\nmodified: 20241221105234901\noriginal-modified: 20160511160224223\ntags: Languages\ntitle: Edición en Castellano\nja-title: スペイン語版\ntype: text/vnd.tiddlywiki\n\nLa edición española de ~TiddlyWiki se encuentra aquí:\n\n* ''Documentación'' : https://tiddlywiki.com/languages/es-ES/index.html\n* ''~TiddlyWiki en blanco'' : https://tiddlywiki.com/languages/es-ES/empty.html\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/languages/Chinese (Simplified) Edition.tid",
    "content": "caption: 中文 (简体)\ncreated: 20140919215640174\nmodified: 20241221104728318\noriginal-modified: 20140920030246450\ntags: Languages\ntitle: Chinese (Simplified) Edition\nja-title: 中国語(簡体字)版\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki 的简体中文翻译版本：\n\n<!-- * ''文件'': https://tiddlywiki.com/languages/zh-Hans/index.html -->\n* ''空白版本'': https://tiddlywiki.com/languages/zh-Hans/empty.html\n\n另请参阅 [[中文 (正體) 版|Chinese (Traditional) Edition]]。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/languages/Chinese (Traditional) Edition.tid",
    "content": "caption: 中文 (正體)\ncreated: 20140919215743298\nmodified: 20241221104801318\noriginal-modified: 20140920030246450\ntags: Languages\ntitle: Chinese (Traditional) Edition\nja-title: 中国語(繁体字)版\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki 的正體中文翻譯版本：\n\n<!-- * ''文件'': https://tiddlywiki.com/languages/zh-Hant/index.html -->\n* ''空白版本'': https://tiddlywiki.com/languages/zh-Hant/empty.html\n\n另請參閱 [[中文 (简体) 版|Chinese (Simplified) Edition]]。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/languages/French (France) Edition.tid",
    "content": "created: 20140919215540827\nmodified: 20241221105647964\noriginal-modified: 20141123162938012\ntags: Languages\ncaption: Français (France)\ntitle: Édition en Français (France)\nja-title: フランス語版\ntype: text/vnd.tiddlywiki\n\nLa traduction en Français (France) de TiddlyWiki démarre ici :\n\n* ''documentation'' : https://tiddlywiki.com/languages/fr-FR/index.html\n* ''empty'' : https://tiddlywiki.com/languages/fr-FR/empty.html\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/languages/German (Austria) Edition.tid",
    "content": "created: 20140919214900580\nmodified: 20241221105339061\noriginal-modified: 20140919215900428\ntags: Languages\ncaption: Deutsch (Österreich)\ntitle: Deutsch (Österreich) Edition\nja-title: オーストリア語版\ntype: text/vnd.tiddlywiki\n\nDie österreichische Übersetzung von TiddlyWiki ist verfügbar unter:\n\n* ''Dokumentation'': https://tiddlywiki.com/languages/de-AT/index.html\n* ''Leer'': https://tiddlywiki.com/languages/de-AT/empty.html\n\nSiehe auch: [[Deutsch (Deutschland) Edition|ドイツ語版]].\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/languages/German (Germany) Edition.tid",
    "content": "created: 20140919215410238\nmodified: 20241221105310877\noriginal-modified: 20140919215851101\ntags: Languages\ncaption: Deutsch (Deutschland)\ntitle: Deutsch (Deutschland) Edition\nja-title: ドイツ語版\ntype: text/vnd.tiddlywiki\n\nDie deutsche Übersetzung von TiddlyWiki ist verfügbar unter:\n\n* ''Dokumentation'': https://tiddlywiki.com/languages/de-DE/index.html\n* ''Leer'': https://tiddlywiki.com/languages/de-DE/empty.html\n\nSiehe auch: [[Deutsch (Österreich) Edition|オーストリア語版]].\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/languages/Japanese (Japan) Edition.tid",
    "content": "caption: 日本語 (日本国)\ncreated: 20201227004927059\nmodified: 20241224112824830\noriginal-modified: 20241224112736358\ntags: Languages\ntitle: Japanese (Japan) Edition\nja-title: 日本語版\ntype: text/vnd.tiddlywiki\n\nTiddlyWikiの日本語バージョンはこちら:\n\n* ''ドキュメント'' : https://tiddlywiki.com/languages/ja-JP/index.html\n* ''空白のコピー'' : https://tiddlywiki.com/languages/ja-JP/empty.html\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/languages/Korean (Korea Republic) Edition.tid",
    "content": "caption: 한국어 (대한민국)\ncreated: 20160424113322330\nmodified: 20241221105737475\noriginal-modified: 20160424113322330\ntags: Languages\ntitle: Korean (Korea Republic) Edition\nja-title: 韓国語版\ntype: text/vnd.tiddlywiki\n\n티들리위키 한국어 번역은 다음에서 사용할 수 있습니다:\n\n<!--* ''설명문서'' : https://tiddlywiki.com/languages/ko-KR/index.html-->\n* ''빈 위키'' : https://tiddlywiki.com/languages/ko-KR/empty.html\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/languages/Languages.tid",
    "content": "created: 20141202125500000\nmodified: 20241221104605323\noriginal-modified: 20160617101222113\ntags: TableOfContents\ntitle: Languages\nja-title: 言語\ntype: text/vnd.tiddlywiki\n\n!! 言語プラグイン\n\nTiddlyWikiのコアユーザーインターフェイスは20以上の言語で利用できます。[[プラグインライブラリからプラグインをインストールする|Installing a plugin from the plugin library]]の手順に従って、言語プラグインをインストールできます。サイドバーの\"ツール\"タブにある\"言語\"ボタンを使用して、表示する言語を変更できます。\n\n[[TiddlyWiki を母国語に翻訳する|Translate TiddlyWiki into your language]]方法を学ぶことで、ライブラリに新しい言語を提供できます。\n\n!! 言語エディション\n\n一部の言語については、追加の翻訳ドキュメントを備えた、ビルド済みエディションがあります。\n\n<<list-links \"[tag[Languages]]\">>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/learning/Copying tiddlers between TiddlyWiki files.tid",
    "content": "created: 20140908131700000\nmodified: 20241016111747713\noriginal-modified: 20140919161524603\ntags: Learning\ntitle: Copying tiddlers between TiddlyWiki files\nja-title: TiddlyWikiファイル間でTiddlerをコピーする\ntype: text/vnd.tiddlywiki\n\nブラウザウィンドウから別のブラウザウィンドウへTiddlerへのリンクをドラッグすることで、個々のTiddlerを1つのTiddlyWikiファイルから別のTiddlyWikiファイルにコピーできます\n\nリンクをドラッグする場合は、まず垂直方向に移動します。水平方向の移動はブラウザがテキストの選択として認識するためです"
  },
  {
    "path": "editions/ja-JP/tiddlers/learning/Introduction to Lists.tid",
    "content": "created: 20171212175130471\nmodified: 20241026112227533\noriginal-modified: 20171212175139631\ntags: Learning\ntitle: Introduction to Lists\nja-title: リストの紹介\ntype: text/vnd.tiddlywiki\n\nアイテムのリストを作成することは、TiddlyWikiでの作業において中心的な役割を果たします。以下は、一般的なテクニックのいくつかを簡単に説明したものです。\n\n~TiddlyWikiは[[内部的に|ListField]]さまざまな目的でリストを[[使用する|Extended Listops Filters]]ため、この単語には複数の意味があります。ここでは、一連の項目を表示することに重点が置かれていますが、必ずしも従来の箇条書きリストとして表示されるわけではありません。\n\n! 手動で入力したリスト\n\n!! ~WikiText\n\nWikiTextリストは、特殊文字を使用してリストの種類と表示方法を指定する、手動で入力されたリストです。\n\n例としては、アスタリスク(*)で作成された箇条書きリストや番号付きリスト(#)などがあります。内部的には、~WikiTextリストは標準のHTML要素`<ul>`と`<li>`に基づいています。詳細については、[[WikiTextのリスト|Lists in WikiText]]を参照してください。\n\nWikiTextで入力されたリストの例:\n\n<<wikitext-example-without-html \"\"\"* 史上最高の映画\n** カサブランカ\n** 高慢と偏見とゾンビ\"\"\">>\n\n! 生成されたリスト\n\nリストは、[[フィルター演算子|Filter Operators]]が出力したいTiddlerを選択するための基準を指定する[[フィルター|Filters]]を使用して、ListWidgetで自動的に生成できます。いくつかの一般的なリストタイプには、ショートカットマクロが用意されています。\n\n!! ~ListWidget\n\nListWidgetは、リストを作成するための最も強力なツールです。これを使用すると、フィルタリングされた出力を操作して、例えば表や複雑なテキストなど、リストにはまったく似ていないフォームにスタイルを設定できます。詳細については、[[ListWidget]]を参照してください。\n\n\"HelloThere\"タグが付いたすべてのTiddlerを表示する例は次のようになります: \n\n<<wikitext-example-without-html \"\"\"<$list filter=\"[tag[HelloThere]]\"><$view field=\"title\"/><br/></$list>\"\"\">>\n\n<<.tip \"\"\"Tiddler自体も~ListWidgetを使用して作成されます。[[ViewTemplate|$:/core/ui/ViewTemplate]]はListWidgetを使用して、Tiddlerのタイトル、タグ、テキストなどを表示するために使用される指定されたすべてのテンプレートを取得します。\"\"\">>\n\n\n!! フィルタリングされたトランスクルージョン\n\nフィルターされたトランスクルージョンの`{{{...}}}`構文は、入力としてフィルターを受け取り、一致するタイトルのリンクリストを出力します。[[テンプレート|Transclusion with Templates]]を適用することもできます。例:\n\n<<wikitext-example-without-html \"\"\"{{{ [tag[HelloThere]] || $:/core/ui/TagTemplate }}}\"\"\">>\n\n!! list-linksマクロ\n\n[[list-links|list-links Macro]]マクロは、 ListWidgetを使用するよりも簡単な方法で、事前にフォーマットされたリスト(通常は箇条書きリスト)を提供します。内部的には、各リスト項目にデフォルトのテンプレートを適用しているのはListWidgetです。\n\n<$macrocall $name=\"wikitext-example-without-html\" src=\"\"\"<<list-links \"[tag[HelloThere]]\">>\"\"\"/>\n\n!“リスト関連”のその他の機能\n\n[[list|ListField]]、[[list-before|Order of Tagged Tiddlers]]、[[list-after|Order of Tagged Tiddlers]]はすべて、リスト内のTiddlerの位置を制御するフィールド名です。[[フィールド|TiddlerFields]]は、日付、数量、カテゴリなどの構造化された情報の追加ビットをTiddlerに追加する方法です。\n\n[[list|list Operator]] and [[listed|listed Operator]] are //filter operators// to, respectively, select and find titles in lists.\n[[list|list Operator]]と[[listed|listed Operator]]は、それぞれリスト内のタイトルを選択および検索するための//フィルター演算子//です。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/learning/Learning.tid",
    "content": "created: 20140912140047779\nlist: Videos [[Introduction to filter notation]] [[Sharing a TiddlyWiki on Dropbox]] [[Sharing your tiddlers with others]] [[Copying tiddlers between TiddlyWiki files]] [[Creating SubStories]] [[Editing Tiddlers with Emacs]] [[ImageGallery Example]] [[Making curved text with SVG]] TaskManagementExample [[Adding a Twitter Follow button]] [[Philosophy of Tiddlers]] [[Adopt a Titles Policy]]\nmodified: 20241016110508522\noriginal-modified: 20140919161721584\ntags: TableOfContents\ntitle: Learning\nja-title: 学習\ntype: text/vnd.tiddlywiki\n\nTiddlyWikiの使い方について詳しくは、こちらをご覧ください:\n\n<<list-links \"[tag[Learning]]\">>\n\n高度なWikiText、マクロ、ウィジェット、フィルターなどの完全な[[リファレンス|Reference]]も参照してください"
  },
  {
    "path": "editions/ja-JP/tiddlers/marketplace/TiddlyWiki Marketplace.tid",
    "content": "title: TiddlyWiki Marketplace\nja-title: TiddlyWiki マーケットプレイス\ntags: Community\nmodified: 20260208114419033\noriginal-modified: 20221204165636777\ncreated: 20221204165636777\n\n<span style=\"float:right;\">[img width=200px [TiddlyWiki Marketplace Banner]]</span>\n\nTiddlyWikiマーケットプレイスへようこそ。この新しいフォーラムは、個人や組織がTiddlyWikiを中心に構築された商用製品やサービスを提供するスペースを提供するようにデザインされています:\n\n* 有料ホスティングサービス\n* カスタムソリューションの開発\n* トレーニングコース\n* 1対1のトレーニングセッション\n* \"Fix my wiki\"デバッグセッション\n\n<a href=\"https://talk.tiddlywiki.org/c/marketplace/22\" class=\"tc-btn-big-green\" style=\"border-radius:4px;background-color:#ff5c48;\" target=\"_blank\" rel=\"noopener noreferrer\">\n~TiddlyWikiマーケットプレイス\n</a>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/mechanisms/AlertMechanism.tid",
    "content": "created: 20140213224306412\nmodified: 20241206114008718\noriginal-modified: 20160606125956564\ntags: Mechanisms Features\ntitle: AlertMechanism\nja-title: アラートメカニズム\ntype: text/vnd.tiddlywiki\n\nアラートは、TiddlyWikiのメインウィンドウに重なる黄色のボックスとして表示されます\nそれぞれのアラートは、$:/tags/Alertタグを持つTiddlerに対応します。アラートの削除アイコン<<.icon $:/core/images/delete-button>> をクリックすると、対応するTiddlerが削除されます\n\nこちらがデモです\n<$fieldmangler tiddler=\"アラートのサンプル\"><$set name=\"currentTiddler\" value=\"アラートのサンプル\"><$button message=\"tm-add-tag\" param=\"$:/tags/Alert\">アラート</$button></$set></$fieldmangler>。\n\nアラートTiddlerには次のフィールドが必要です:\n\n|!フィールド |!説明 |\n|title |デフォルトでは、アラートのタイトルには接頭辞`$:/temp/alerts/`が付きます |\n|text |アラートメッセージのテキスト |\n|modified |アラートの日付(画面上でアラートを並べ替えるのに使用されます) |\n|component |アラートに関連付けられたコンポーネント |\n|tags |[[$:/tags/Alert]] を含める必要があります |"
  },
  {
    "path": "editions/ja-JP/tiddlers/mechanisms/DragAndDropMechanism.tid",
    "content": "created: 20170328161210552\nmodified: 20241209110151828\noriginal-modified: 20170406085836682\ntags: [[Importing Tiddlers]] [[Drag and Drop]] Mechanisms\ntitle: DragAndDropMechanism\nja-title: ドラッグアンドドロップのメカニズム\ntype: text/vnd.tiddlywiki\n\nこのTiddlerでは、~TiddlyWikiでドラッグアンドドロップ機能を実装するために使用される内部メカニズムについて説明します。機能の一般的な説明については、[[ドラッグアンドドロップ|Drag and Drop]]を参照してください。\n\n<<.warning \"\"\"\n~TiddlyWikiは[[標準のHTML 5 ドラッグアンドドロップAPI|https://www.w3.org/TR/2010/WD-html5-20101019/dnd.html]]を使用します。ただし、この領域はブラウザ間の互換性の問題で悪名高いです。そのため、機能の一部は必ずしもすべてのブラウザで動作するとは限りません。特に、\n\"\"\">>\n\n次のウィジェットはドラッグアンドドロップ機能に関係します: \n\n* DraggableWidgetは、ドラッグのための1つ以上のTiddlerを表すドラッグ可能な要素を作成します。\n** ButtonWidgetとLinkWidgetはDraggableWidgetの機能を組み込んでいます\n* DroppableWidgetは、カスタマイズ可能なアクションをトリガーするためにドラッグできるTiddlerに領域を作成します。\n* DropzoneWidgetは、ファイルから、または別のブラウザウィンドウからドラッグアンドドロップして外部Tiddlerをインポートします。\n\nドラッグアンドドロップ操作の一般的な順序は次のとおりです:\n\n# ユーザーは、DraggableWidget、ButtonWidget、LinkWidgetなどのドラッグ可能な要素上でポインターをクリックダウンしてドラッグします。\n# ドラッグ可能な要素は、クリックが離されるまでマウスポインタとともに移動します。\n# DroppableWidgetなどのドロップ可能な要素の上にポインターを移動すると、アイテムがドロップ可能であることを示すハイライトが表示されます。\n# ドロップ可能な要素でドラッグが終了すると、設定されたアクションが実行されます。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/menubar/gettingstarted.tid",
    "content": "title: $:/editions/tw5.com/menuitems/gettingstarted\nja-title: $:/editions/tw5.com/menuitems/gettingstarted\ncaption: はじめに\ndescription: はじめにへのリンク\ntags: $:/tags/MenuBar\ntarget: GettingStarted\n\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/nodejs/Building TiddlyWikiClassic.tid",
    "content": "created: 20131129094452285\nmodified: 20241227110457591\noriginal-modified: 20140912141658212\ntags: [[TiddlyWiki on Node.js]]\ntitle: Building TiddlyWikiClassic\nja-title: TiddlyWikiClassicの構築\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki5を使用すれば、TiddlyWikiClassicの古いバージョン2.xxをその構成コンポーネントから構築できます。これには次の機能が含まれます: \n\n* `tiddlywiki/classictools`プラグインには、TiddlyWiki 2.xxの`.recipe`ファイルからTiddlerをロードできるようにするデシリアライザモジュールが含まれています\n* ViewWidgetのための`stripcomments`フォーマットは、`//#`で始まる1行のJavaScriptコメントを削除します\n* FieldsWidgetの`stripTitlePrefix='yes'`属性は、`title`属性から中括弧で囲まれたプレフィックスを削除します\n** 例えば、`{tiddler}HelloThere`は、`HelloThere`に変換されます\n\n! 使用法\n\nTiddlyWikiClassicは、[[Node.js上のTiddlyWiki|TiddlyWiki on Node.js]]を実行することによってコマンドラインから構築されます。一般的な使用法は次のようになります: \n\n```\nnode ../../tiddlywiki.js \\\n\t--verbose \\\n\t--load <path_to_recipe_file> \\\n\t--rendertiddler $:/core/templates/tiddlywiki2.template.html <path_to_write_index_file> text/plain \\\n\t|| exit 1\n```\n\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/nodejs/Customising Tiddler File Naming.tid",
    "content": "created: 20160424181300000\nmodified: 20241230104855826\noriginal-modified: 20210803204659026\ntags: [[TiddlyWiki on Node.js]]\ntitle: Customising Tiddler File Naming\nja-title: Tiddlerファイル名のカスタマイズ\ntype: text/vnd.tiddlywiki\n\nデフォルトでは、[[Wikiフォルダー|TiddlyWikiFolders]]を使用する[[Node.js上のTiddlyWiki|TiddlyWiki on Node.js]]インスタンスは、サニタイズされ、曖昧さが解消されたタイトルをファイル名として使用して、新しいTiddlerファイルを作成します。すべてのファイルパス操作は、`default-tiddler-location`からの相対で、デフォルトではWikiフォルダーの`tiddlers/`ディレクトリです。`config`オブジェクトの`default-tiddler-location`プロパティを使用して、Wikiのtiddlywiki.infoファイル内のパスをマッピングすることで、これを上書きできます。\n\nデフォルトのファイル拡張子`.tid`は、`type`フィールドが欠落しているTiddlerや、\"text/vnd.tiddlywiki\"タイプが\"text/vnd.tiddlywiki\"のTiddlerに使用されます。他のタイプのTiddlerは、(ブートスタートアップ時に定義される)MIMEタイプに従って保存されます。\n\nオプションのTiddler[[$:/config/FileSystemPaths]]と[[$:/config/FileSystemExtensions]]を作成することにより、論理パス(ディレクトリとファイル名)とファイル拡張子を個別にカスタマイズできます。\n\n! ファイルシステムパス\n\n論理パスは、1つ以上の[[フィルター式|Filter Syntax]](各フィルター式は1行に1つずつ)を含む[[$:/config/FileSystemPaths]] Tiddlerを作成することでカスタマイズできます。Tiddlerがディスクに保存されるたびに、各フィルターが順番にテストされ、出力を生成する最初のフィルターの最初の出力が、Tiddlerファイルに使用される論理パスとして取得されます。論理パスが変更された場合は、新しいファイルが作成され、古いファイルは削除されます。\n\nTiddlerは、[[Wikiフォルダ|TiddlyWikiFolders]]、`default-tiddler-location`設定で定義されたパス、または $:/config/OriginalTiddlerPaths Tiddlerに保存された特定のパス([[tiddlywiki.filesファイル|tiddlywiki.files Files]]を参照)にのみ書き込むことができます。Tiddlerをディスクに保存するときに、論理パスがWikiフォルダのパスで始まらない(最も一般的なエラー)と、ファイルパスがJavascriptの`encodeURIComponent()`メソッドによってエンコードされ、Wi​​kiフォルダの`default-tiddler-location`にTiddlerがファイルとして保存されます。\n\n論理パスにはディスク上のファイルの拡張子は含まれません(下記参照)。また、ディレクトリ区切り文字として`/`や`\\`を使用できます(物理パスを生成するときに、~TiddlyWikiが動作しているプラ​​ットフォームの正しい区切り文字に置き換えられます)。フィルターがどれも一致しない場合、論理パスは、結果のパスがすべてのサポートされているプラ​​ットフォームで有効であることを保証するため、すべての`/\\<>~:\"|?*^`文字が`_`に置き換えられたタイトルになります。論理パスも200文字に制限されています。この名前のファイルがすでに存在する場合、スペースと数字が最終的なファイルパスに追加され、未使用のパスが見つかるまで数字が増加していきます。\n\n!! 例\n\n```\n[is[system]!has[draft.of]removeprefix[$:/]addprefix[_system/]]\n[is[draft]search-replace:g:regexp[/|\\\\],[_]addprefix[drafts/]]\n[tag[task]addprefix[mytasks/]]\n[!tag[externalnote]addprefix[wiki/]]\n```\n\n<<.note \"すべてのパスはWikiの`default-tiddler-location`からの相対パスです。\">>\n\nこれにより、他のTiddlerの下書きではない、新しく作成されたシステムTiddlerが`./_system/`(`$:/`プレフィックスの削除後)に保存されます。次に、すべての下書きのタイトルのパス区切り文字が\"_\"に置き換えられ、`./drafts/`に保存されます。そして、[[task]]タグが付けられたTiddlerがサブディレクトリ`./mytasks/`に保存されます。最後に、\"externalnote\"タグが付けられていないすべてのTiddlerが最終的に`[!tag[externalnote]addprefix[wiki/]]`に一致し、これらが`./wiki/`に保存されます。この例では、\"externalnote\"タグが付けられたTiddlerが[[tiddlywiki.filesファイル|tiddlywiki.files Files]]を使用してインポートされています。\"isEditableFile\"フラグがtrueに設定されているファイルにより、サーバーは$:/config/OriginalTiddlerPaths Tiddlerに元のファイルパスを記憶します。\n\nTiddlerが $:/config/FileSystemPaths フィルターのマッチを生成するたびに、Tiddlerのタイトル内の`/`や`\\`がパス区切り文字にマップされます。上記のフィルターを使用すると、非システム、非ドラフトのTillder(タグなし)`some/thing/entirely/new`が`./wiki/some/thing/entirely/new.tid`に保存されます(つまり、`entirely/`というディレクトリ内の`new.tid`ファイル)。したがって、プラットフォームに応じて、 $:/config/FileSystemPaths 自体は`./_system/config/FileSystemPaths.tid`や`.\\_system\\config\\FileSystemPaths.tid`に保存されます。\n\n! ファイルシステム拡張子\n\n通常、ディスク上のTiddlerのファイルシステム拡張子は、改行を含むフィールド値や空白で始まるか終わる(テキストフィールド以外の)フィールド値の存在によって決定されます。この場合、単一ファイル\".json\" Tiddlerファイル形式が使用されます。\n\nTiddlerにこのようなフィールド値がない場合、`type`フィールドが参照され、一致するファイルタイプが検索されます。タイプ値のないTiddlerの場合は`.tid`が使用されます。ブートエンジンは、[[$:/boot/boot.js]] Tiddlerで、Tiddlerタイプとファイルタイプの関係のセットを定義します。これらの関係を定義するコードのセクションを見つけるには、`// Add file extension information`を検索してください。\n\n個々のTiddlerのファイル拡張子は、1つ以上の[[フィルタ式|Filter Syntax]](各行に1つずつ)を含むTiddler[[$:/config/FileSystemExtensions]]を作成することでカスタマイズできます。Tiddlerがディスクに保存されるたびに、これらのフィルタに対してテストされ、出力を生成する最初のフィルタの最初の出力が、Tiddlerファイルに使用されるファイル拡張子として使用されます。拡張子は常に先頭にドットを付ける必要があります(例を参照)。一致するフィルタがない場合は、デフォルトの拡張子が使用されます。拡張子が変更された場合は、新しいファイルが作成され、古いファイルは削除されます。\n\n<<.note \"\"\"\".tid\"の結果は、Tiddlerを単一ファイルのテキストTiddlerとしてディスクに書き込むことを強制します。\".json\"の結果は、Tiddlerをjson形式(配列内の単一のTiddler フィールドオブジェクト)の単一ファイルTiddlerとしてディスクに書き込むことを強制します。\"application/json\"タイプのTiddlerとしては書き込まれません。認識されるその他のすべてのファイルタイプは、定義された拡張子を使用して保存され、\"text\"フィールド以外のすべてのフィールドを説明する同じ名前の *.meta ファイルが付随します。\"\"\">>\n\n!! 例\n\n```\n[tag[.txt]then[.txt]]\n[tag[.json]then[.json]]\n[tag[.tid]then[.tid]]\n```\n\nこれにより、タグ\".txt\"を持つすべてのTiddlerが、ファイルシステムのパスフィルターによって決定されたファイルパスに保存されますが、テキストフィールドは *.txt ファイルとして保存され、その他のすべてのフィールドは *.txt.meta ファイルとして保存されます。\n\n次に、\".json\"タグを持つすべてのTiddlerが *.json ファイルとして保存されます。最後に、タグ\".tid\"を持つすべてのTiddlerが単一のファイルとして保存されます。Tiddlerがどのフィルターにも一致しない場合は、Tiddlerの`type`フィールドによって決定されるデフォルトの拡張子が使用されます。"
  },
  {
    "path": "editions/ja-JP/tiddlers/nodejs/Environment Variables on Node.js.tid",
    "content": "created: 20140617211749290\nmodified: 20250120104354585\noriginal-modified: 20220613114121229\ntags: [[TiddlyWiki on Node.js]]\ntitle: Environment Variables on Node.js\nja-title: Node.jsの環境変数\ntype: text/vnd.tiddlywiki\n\n[[Node.js上のTiddlyWiki|TiddlyWiki on Node.js]]は、プラグインとエディションを検索するためのパスの区切りリストを指定するために、次のOS環境変数をサポートしています: \n\n* `TIDDLYWIKI_PLUGIN_PATH` - 通常のプラグインの検索パス\n* `TIDDLYWIKI_THEME_PATH` - テーマの検索パス\n* `TIDDLYWIKI_LANGUAGE_PATH` - 言語の検索パス\n* `TIDDLYWIKI_EDITION_PATH` - エディションの検索パス (InitCommandによって使用される)\n\n\n<$macrocall $name=\".note\" _=\"\"\"''1.'' 区切り文字はオペレーティングシステムによって異なる場合があります。Windowsではセミコロン`;`が使用されますが、Linux ではコロン`:`が使用されます。<br><br>''2.'' Linuxシステムでは、変数を定義するだけでなく//''export''//する必要もあります。\n\"\"\"/> \n\n追加のパスはそれぞれ、~TiddlyWiki5 GitHubリポジトリの同等のディレクトリのように、構造化されたフォルダを指す必要があります: プラグイン、テーマ、言語のディレクトリには`publisher/pluginname/<files>`が含まれ、エディションのディレクトリには`editionname/<files>`が含まれます\n\n例:\n\n```\nexport TIDDLYWIKI_PLUGIN_PATH=~/MyPluginStore\ntiddlywiki mywiki --build index\n```\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/nodejs/Installing TiddlyWiki Prerelease on Node.js.tid",
    "content": "created: 20150926162849519\nmodified: 20241228110350676\noriginal-modified: 20191022095509822\ntags: [[TiddlyWiki on Node.js]]\ntitle: Installing TiddlyWiki Prerelease on Node.js\nja-title: Node.jsにTiddlyWikiプレリリースをインストールする\ntype: text/vnd.tiddlywiki\n\n# https://github.com/TiddlyWiki/TiddlyWiki5 からTiddlyWiki5 GitHubリポジトリのローカルコピーをクローンします\n# コマンドラインターミナルを開き、現在の作業ディレクトリをTiddlyWiki5リポジトリのルートに変更します\n# `npm link` (Windows) または `sudo npm link` (Mac/Linux) と入力して、[[npm]]にこのリポジトリのコピーをグローバルにインストールされたものとして使用するように指示します\n# ルート内で、次のようにして~TiddlyWikiを起動できます:  <br/>``tiddlywiki editions/tw5.com-server --listen`` \n\nこの手順を実行すると、通常の方法`npm install -g tiddlywiki`でインストールした場合と同じように、[[npm]]経由でTiddlyWiki5を操作できるようになります。\n\n最新のコードを確実に取得するために、クローンを定期的に更新してください。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/nodejs/Installing TiddlyWiki on Node.js.tid",
    "content": "caption: Node.js\ncolor: #F06292\ncreated: 20131219100608529\ndelivery: DIY\ndescription: 自分のマシンやクラウドで柔軟なホスティング\nmethod: sync\nmodified: 20241013103026564\noriginal-modified: 20221115230831173\ntags: Saving [[TiddlyWiki on Node.js]] Windows Mac Linux\ntitle: Installing TiddlyWiki on Node.js\nja-title: Node.jsにTiddlyWikiをインストールする\ntype: text/vnd.tiddlywiki\n\n# [[Node.js]]をインストールします\n#* Linux: \n#*> //Debian/Ubuntu//:<br/>`apt install nodejs`<br/>次のフォローアップが必要になる場合があります:<br/>`apt install npm`\n#*> //Arch Linux//<br/>`yay -S tiddlywiki` <br/>(nodeとtiddlywikiをインストール)\n#* Mac\n#*> `brew install node`\n#* Android\n#*> [[Android用Termux|Serving TW5 from Android]]\n#* その他 \n#*> http://nodejs.org を参照してください\n# コマンドラインターミナルを開き、次のように入力します:\n#> `npm install -g tiddlywiki`\n#> エラーで失敗した場合は、管理者としてコマンドを再実行する必要があるかもしれません:\n#> `sudo npm install -g tiddlywiki` (Mac/Linux)\n# 次のように入力し、~TiddlyWikiがインストールされていることを確認します:\n#> `tiddlywiki --version`\n#* 応答により, インストールしたTiddlyWikiのバージョンを確認できます(例: \"<<version>>\"。その他のデバッグ情報も報告される場合があります。)\n# 試してみてください:\n## `tiddlywiki mynewwiki --init server`: サーバー関連コンポーネントを含む新しいWikiのフォルダを作成します\n## `tiddlywiki mynewwiki --listen`: TiddlyWikiを開始します\n## ブラウザで http://127.0.0.1:8080/ を訪れてください\n## Tiddlerを編集し作成してみてください\n# オプション: オフラインコピーを作成します:\n#* サイドバーの<<.icon $:/core/images/save-button-dynamic>> ''Wikiを保存します''ボタンをクリックします。''あるいは''\n#* `tiddlywiki mynewwiki --build index`\n\n`-g`フラグにより​​、TiddlyWikiはグローバルインストールされます。このフラグを付けないと、TiddlyWikiはインストールしたディレクトリでのみ使用可能になります。\n\n<<.warning \"DebianまたはDebianベースのLinuxを使用していて、node.jsパッケージがインストールされているにもかかわらず`node: command not found`エラーが発生する場合は、`nodejs`と`node`の間にシンボリックリンクを作成する必要があります。リンクを正しく作成するには、ディストリビューションのマニュアルと`whereis`を参照してください。githubの[[issue 1434|http://github.com/TiddlyWiki/TiddlyWiki5/issues/1434]]を参照してください。<br><br>例: Debian v8.0: `sudo ln -s /usr/bin/nodejs /usr/bin/node`\">>\n<br>\n<<.tip \"次のようにして古いバージョンをインストールすることもできます: <br><code> npm install -g tiddlywiki@5.1.13</code>\">>"
  },
  {
    "path": "editions/ja-JP/tiddlers/nodejs/Installing custom plugins on Node.js.tid",
    "content": "created: 20191022095653896\nmodified: 20250122105447127 \noriginal-modified: 20220617130125173\ntags: [[TiddlyWiki on Node.js]] PluginsCS\ntitle: Installing custom plugins on Node.js\nja-title: Node.jsにカスタムプラグインをインストールする\ntype: text/vnd.tiddlywiki\n\n\\rules except wikilink\n\n! 紹介\n\nNode.jsクライアントサーバー構成でTiddlyWikiを使用する場合、公式プラグインとカスタムプラグインをインストールするにはいくつかの方法があります。\n\n注記\n<$macrocall $name=\".note\" _=\"\"\"ライブラリから単一ファイルWikiにプラグインをインストールする手順については、[[プラグイン|Plugins]]で詳細を確認してください。\n\"\"\"/> \n\n\n!! プラグインのロード順序\n\n{{Plugin Ordering}}\n\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/nodejs/Installing official plugins on Node.js.tid",
    "content": "created: 20220611123344385\nmodified: 20250123113223702\noriginal-modified: 20220617132351460\ntags: [[TiddlyWiki on Node.js]] PluginsCS\ntitle: Installing official plugins on Node.js\nja-title: Node.jsに公式プラグインをインストールする\ntype: text/vnd.tiddlywiki\n\nクライアント-サーバーNode.js構成でTiddlyWikiを使用する場合は、次の手順に従ってください: \n\n# <<controlPanel-plugin-link>>の''プラグイン''タブを使用してインストールするプラグインを特定します。(ただし、ここからプラグインをインストール''しないで''ください)\n#* プラグインは、その種類(言語、テーマ、プラグイン)と発行元、タイトルによって識別されます。たとえば、`$:/plugins/tiddlywiki/internals`プラグインは''tiddlywiki/internals''として参照されます\n\n# サーバーが実行中の場合は終了します\n\n# `tiddlywiki.info`ファイル(JSON形式)を編集し、`plugins`、`themes`、`languages`セクションを見つけます(下記参照)\n\n# 追加したいプラグインに対応するエントリを追加します\n#* 項目を区切る''カンマ''を残すように注意してください\n#* リストの最後の項目をコンマで終わらせ''ないで''ください\n\n# サーバーを再起動します\n\n```\n{\n\t\"plugins\": [\n\t\t\"tiddlywiki/codemirror\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\"\n\t],\n    \"languages\": [\n        \"es-ES\",\n        \"fr-FR\",\n        \"en-EN\"\n    ]\n}\n```\n\n<$macrocall $name=\".note\" _=\"プラグインの操作の概要については、[[プラグイン|Plugins]]を参照してください。<br>また、[[Node.jsにカスタムプラグインをインストールする|Installing custom plugins on Node.js]]も参照してください。\"/>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/nodejs/Scripts for TiddlyWiki on Node.js.tid",
    "content": "created: 20131219100637788\nmodified: 20250124112753177\noriginal-modified: 20141015165343893\ntags: [[TiddlyWiki on Node.js]]\ntitle: Scripts for TiddlyWiki on Node.js\nja-title: Node.js上のTiddlyWiki用スクリプト\ntype: text/vnd.tiddlywiki\n\n! スクリプトファイル\n\nTiddlyWiki5リポジトリの`bin`フォルダーには、共通のタスクを自動化したり、独自のスクリプトの便利な開始点として使用したりできるスクリプトがいくつか含まれています。https://tiddlywiki.com/ の構築とリリースに使用されるスクリプトの詳細については、[[Scripts for building tiddlywiki.com]]を参照してください。\n\nすべてのスクリプトは、リポジトリのルートフォルダーから実行されることを想定しています。\n\n!! `serve`: tw5.comを提供する\n\n```\n./bin/serve.sh -h\n./bin/serve.sh [edition dir] [username] [password] [host] [port]\n```\n\nまたは:\n\n```\n./bin/serve.cmd -h\n./bin/serve.cmd [edition dir] [username] [password] [host] [port]\n```\n\nこのスクリプトは、TiddlyWiki5をHTTPサーバーとして実行し、`tw5.com-server`エディションのコンテンツをデフォルトにします。デフォルトでは、Node.jsは8080ポート でサービスを提供します。オプションの`username`パラメータが指定されている場合は、編集の署名に使用されます。`password`が指定されている場合は、HTTP基本認証が使用されます。`-h`パラメータを指定してスクリプトを実行すると、オンラインヘルプが表示されます。\n\nこの構成を試すには、スクリプトを実行してからブラウザで`http://127.0.0.1:8080`にアクセスしてください。\n\nブラウザで行われた変更は、HTTP経由でサーバーに伝えられます(これらのリクエストを確認するには、ブラウザ開発者コンソールを使用します)。その後、サーバーは変更をファイルシステムに同期します(各変更をスクリーンに記録します)。\n\n!! `test`: テストをビルドして実行する\n\nThis script runs the `test` edition of TiddlyWiki on the server to perform the server-side tests and to build `test.html` for running the tests in the browser.\nこのスクリプトは、サーバー側のテストを実行し、ブラウザでテストを実行するために、`test.html`をビルドし、サーバー上でTiddlyWikiの`test`のエディションを実行します。\n\n!! `lazy`: tw5.comを遅延読み込み画像で提供する\n\n```\n./bin/lazy.sh <username> [<password>]\n```\n\nまたは:\n\n```\n./bin/lazy.cmd <username> [<password>]\n```\n\nこのスクリプトは、画像に[[遅延読み込み|LazyLoading]]を適用して`tw5.com-server`エディションコンテンツを提供します。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/nodejs/Serving TW5 from Android.tid",
    "content": "caption: Node.js on Termux\ncolor: #F06292\ncreated: 20200501120322327\ndelivery: App with DIY steps\ndescription: Node.jsを使用してフラットファイルWikiを提供/作成する\nmethod: sync\nmodified: 20241014103927503\noriginal-modified: 20200507112915801\ntags: Saving [[TiddlyWiki on Node.js]] Android\ntitle: Serving TW5 from Android\nja-title: AndroidからTW5を提供する\ntype: text/vnd.tiddlywiki\n\n[[Termux|https://termux.com/]]は、ユーザーがAndroidに[[Node.js]]とnpmモジュールをインストールできるようにする、限定されたUnix環境を提供するオープンソースのAndroidアプリケーションです。ユーザーは、[[Termux|https://termux.com/]]を使用して[[Node.js上のTiddlyWiki|TiddlyWiki on Node.js]]をインストールして実行できます。\n\n!! 説明書\n\n* [[Google Playストア|https://play.google.com/store/apps/details?id=com.termux]]や[[Fdroid|https://f-droid.org/en/packages/com.termux/]]からTermuxをダウンロードしてインストールします\n* termuxを開き、次のコマンドを1行ずつ実行します。\n\n  ```bash\napt update\napt upgrade\napt install nodejs\nnpm install -g tiddlywiki\n```\n\n* 内蔵ストレージから''Node.js上の~TiddlyWiki''を作成/提供する必要がある場合は、termuxで次のコマンドを実行してtermuxストレージ権限を与える必要があります\n\n```\ntermux-setup-storage\n```\n\n* これで、内蔵ストレージから''Node.js上の~TiddlyWiki''を作成し、提供できるようになりました。以下の例では、ユーザーは内蔵フォルダーに\"mynewwiki\"という新しいWikiを作成します。\n\n```\ncd storage/shared\ntiddlywiki mynewwiki --init server\ntiddlywiki mynewwiki --listen\n```\n* ブラウザで http://127.0.0.1:8080/ にアクセスしてください\n* 以降、//Termux//が閉じられない限り、期待されるアドレスとポートを指定して、お気に入りのWebブラウザーからいつでもWikiにアクセスできます。\n---\n\n* Node.js上の~TiddlyWikiに関する詳細については、[[Node.jsにTiddlyWikiをインストールする|Installing TiddlyWiki on Node.js]]を参照してください\n* termuxに関する詳細情報とヒントについては、[[Termux wiki|https://wiki.termux.com/wiki/Main_Page]]を参照してください。\n\n<<.tip \"//Termux//では、個々のTiddlerファイルを編集および管理するために、//git//、//emacs//または//vi//をインストールすることもできます。この場合、[[Hacker's Keyboard|https://github.com/klausw/hackerskeyboard/]]アプリケーションやBluetooth外部デバイスなど、より強力なキーボードをAndroidに接続する必要があるでしょう。\">>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/nodejs/TiddlyWiki on Node.js.tid",
    "content": "created: 20131129094353704\nmodified: 20241227105025118\noriginal-modified: 20220617114433107\ntags: Platforms\ntitle: TiddlyWiki on Node.js\nja-title: Node.js上のTiddlyWiki\ntype: text/vnd.tiddlywiki\n\n\\rules except wikilink\n\n[[Node.js]]でTiddlyWikiを実行すると、単一ファイルバージョンに比べていくつかの重要な利点が得られます: \n\n* 個々のTiddlerは別々のファイルに保存され、必要に応じて整理できます。\n\n* 共有コンテンツと独自コンテンツのさまざまな組み合わせをブレンドした複数のWikiを構築する機能\n\n* スマートフォンやタブレットを含むあらゆる最新ブラウザでコンテンツを編集できます\n\n<<.warning \"\"\"Node.js上のTiddlyWikiは現在、実行中にファイルシステム経由でTiddlerファイルを直接変更することをサポートしていないことに注意してください。変更を有効にするには、サーバーを再起動する必要があります。実行中の Wikiを編集するには、HTTPやJavaScript APIを使用することをお勧めします。\"\"\">>\n\n\n詳細については、以下を参照してください: \n\n<<list-links \"[tag[TiddlyWiki on Node.js]]\">>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/nodejs/Uninstalling a plugin with Node.js.tid",
    "content": "created: 20220611125113040\nmodified: 20250204103637098\noriginal-modified: 20220617133704286\ntags: [[TiddlyWiki on Node.js]] PluginsCS\ntitle: Uninstalling a plugin with Node.js\nja-title: Node.jsでプラグインをアンインストールする\ntype: text/vnd.tiddlywiki\n\nクライアント-サーバー Node.js構成でTiddlyWikiを使用する場合は、次の手順に従ってください: \n\n# サーバーが実行中の場合は終了します\n\n# `tiddlywiki.info`ファイル(JSON形式)を編集し、`plugins`と`themes`セクションを見つけます(下記参照)\n\n# 削除したいプラグインに対応するエントリを削除します\n#* 項目を区切る''カンマ''を残すように注意してください\n#* リストの最後の項目をコンマで終わらせ''ない''でください\n\n# サーバーを再起動します\n\n```\n{\n\t\"plugins\": [\n\t\t\"tiddlywiki/codemirror\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\"\n\t]\n}\n```\n\n<$macrocall $name=\".note\" _=\"プラグインの操作方法の概要については、[[プラグイン|Plugins]]で確認できます\"/>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/nodejs/Upgrading TiddlyWiki on Node.js.tid",
    "content": "created: 20131219100544073\nmodified: 20241228112745930\noriginal-modified: 20140912141800426\ntags: [[TiddlyWiki on Node.js]]\ntitle: Upgrading TiddlyWiki on Node.js\nja-title: Node.js上のTiddlyWikiのアップグレード\ntype: text/vnd.tiddlywiki\n\n通常の方法で[[Node.js上のTiddlyWiki|TiddlyWiki on Node.js]]をインストールした場合、新しいバージョンがリリースされたときに、次のコマンドでアップグレードできます: \n\n```\nnpm update -g tiddlywiki\n```\n\nMacやLinuxでは、次のように''sudo''を追加する必要があります: \n\n```\nsudo npm update -g tiddlywiki\n```\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/nodejs/Using TiddlyWiki on Node.js.tid",
    "content": "created: 20131219100520659\nmodified: 20250206101730728\noriginal-modified: 20241025051303991\ntags: [[TiddlyWiki on Node.js]]\ntitle: Using TiddlyWiki on Node.js\nja-title: Node.jsでTiddlyWikiを使用する\ntype: text/vnd.tiddlywiki\n\n~TiddlyWiki5には、[[TiddlyWikiフォルダ|TiddlyWikiFolders]]、[[Tiddlerファイル|TiddlerFiles]]に基づいて広範な操作を実行するためにコマンドラインで使用するコマンドセットが含まれています。\n\nたとえば、次のコマンドは、~TiddlyWiki HTMLファイルからTiddlerを読み込み、そのうちの1つを静的HTMLに保存します: \n\n```\ntiddlywiki --verbose --load mywiki.html --render ReadMe ./readme.html\n```\n\nコマンドラインから`tiddlywiki`を実行すると、~TiddlyWikiカーネルが起動し、コアプラグインがロードされ、空のWikiストアが確立されます。次に、コマンドライン引数を左から右に順番に処理します。引数はスペースで区切られます。\n\n<<.from-version \"5.1.20\">> まず、プレフィックス`+`で始まるプラグイン名や、`++`で始まるプラグインフォルダーへのパスによって識別される0個以上のプラグイン参照が存在する可能性があります。これらのプラグインは、[[TiddlyWikiフォルダ|TiddlyWikiFolders]]で指定されたプラグインに加えてロードされます。\n\n次の引数は、ロードする[[TiddlyWikiフォルダ|TiddlyWikiFolders]]へのオプションのパスです。存在しない場合は、現在のディレクトリが使用されます。\n\nコマンドとそれぞれの引数は以下のように示されます。各コマンドはプレフィックス`--`で識別されます。\n\n```\ntiddlywiki [+<pluginname> | ++<pluginpath>] [<wikipath>] [--<command> [<arg>[,<arg>]]]\n```\n\n例えば:\n\n```\ntiddlywiki --version\ntiddlywiki +plugins/tiddlywiki/filesystem +plugins/tiddlywiki/tiddlyweb mywiki --listen\ntiddlywiki ++./mygreatplugin mywiki --listen\n```\n\n<<.from-version \"5.1.18\">> 多数のパラメータをサポートするListenCommandなどのコマンドでは、[[名前付きコマンドパラメータ|NamedCommandParameters]]を使用して扱いやすくすることができます。例:\n\n```\ntiddlywiki wikipath --listen username=jeremy port=8090\n```\n\n使用可能なコマンドの完全なリストについては、[[コマンド|Commands]]を参照してください。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/nodejs/Working with the TiddlyWiki5 repository.tid",
    "content": "created: 20131219100444289\nmodified: 20250206103847601\noriginal-modified: 20140920134404247\ntags: [[TiddlyWiki on Node.js]]\ntitle: Working with the TiddlyWiki5 repository\nja-title: TiddlyWiki5リポジトリの操作\ntype: text/vnd.tiddlywiki\n\n! 紹介\n\nTiddlyWikiの開発に[[貢献|Contributing]]したい場合は、[[通常の方法でTiddlyWikiをインストールする|Installing TiddlyWiki on Node.js]]のではなく、GitHubリポジトリを直接動かすことができます。\n\nMario Pietschが[[短い紹介動画|Working with the TiddlyWiki5 repository video]]を作成しました。\n\n! セットアップ\n\n# GitHubのアカウントをお持ちでない場合は、アカウントを作成してください\n# https://github.com/TiddlyWiki/TiddlyWiki5 からTiddlyWiki5 GitHubリポジトリをフォークします\n# フォークのローカルコピーをクローンします\n# コマンドラインターミナルを開き、現在の作業ディレクトリをリポジトリのルートに変更します\n# `npm link` (Windows)か`sudo npm link` (Mac/Linux)と入力して、[[npm]]にこのリポジトリのコピーをグローバルにインストールされたものとして使用するように指示します\n\nこの手順を実行すると、`npm install -g tiddlywiki`による通常の方法でインストールした場合と同じように、[[npm]]経由でTiddlyWiki5を操作できるようになります。\n\n[[Node.js上のTiddlyWiki用スクリプト|Scripts for TiddlyWiki on Node.js]]も参照してください。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/nodejs/tiddlywiki.files_Files.tid",
    "content": "created: 20161015114118243\nmodified: 20250201104758596\noriginal-modified: 20211114101256212\ntags: TiddlyWikiFolders [[TiddlyWiki on Node.js]]\ntitle: tiddlywiki.files Files\nja-title: tiddlywiki.filesファイル\ntype: text/vnd.tiddlywiki\n\n! 紹介\n\n[[TiddlyWikiフォルダ|TiddlyWikiFolders]]内のサブフォルダーにあるJSONファイル`tiddlywiki.files`は、フォルダーを再帰的にスキャンしてTiddlerファイルを探す通常のロジックをオーバーライドします。代わりに、`tiddlywiki.files`ファイルは特定のファイルとフォルダーからTiddlerをロードするための指示を指定します。\n\nファイルの形式は、2つのオプションプロパティを持つオブジェクトです: \n\n* ''tiddlers'' - ファイルから読み取ったフィールドを上書きや変更する機能を持つ外部ファイルを記述するオブジェクトの配列\n* ''directories'' - 外部ディレクトリを記述するオブジェクトの配列、それらのディレクトリ内のどのファイルを処理すべきかを決定するフィルターと、ファイルから読み取ったフィールドのいずれかを上書きや変更する機能\n\n`tiddlywiki.files`の処理に大幅な機能強化が[[リリース 5.1.14|Release 5.1.14]]で導入されたことに注意してください。\n\n!! フィールドのオーバーライド\n\n`tiddlywiki.files`ファイルの''tiddlers''セクションと''directories''セクションの両方に、`fields`オブジェクトを使用してフィールドの値を上書きやカスタマイズする機能が含まれています。\n\n各フィールドは、フィールドに直接割り当てられる''文字列''や''配列''値として指定することも、<<.from-version \"5.1.14\">>フィールドの値を生成する方法を説明する''オブジェクト''として指定することもできます。オブジェクトには次のプロパティが含まれます: \n\n* ''source'' - (オプション) フィールドのソース値を指定する文字列。指定しない場合は、既存の値が使用されます\n** //filename// Tiddlerを含むファイルのファイル名\n** //filename-uri-decoded// [[URIデコード|https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent]]を適用した、Tiddlerを含むファイルのファイル名\n** //basename// 拡張子なしのTiddlerを含むファイルのファイル名\n** //basename-uri-decoded// [[URIデコード|https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent]]を適用した、拡張子なしのTiddlerを含むファイルのファイル名\n** //extname// Tiddlerを含むファイル名の拡張子\n** //created// Tiddlerを含むファイルの作成日時\n** //modified// Tiddlerを含むファイルの更新日時\n** <<.from-version \"5.3.0\">> //filepath// ディレクトリの''path''プロパティを基準とした、Tiddlerを含むファイルのパス(''directories''宣言でのみ使用可能)\n** <<.from-version \"5.3.0\">> //subdirectories// ディレクトリの''path''プロパティを基準とした、ファイルの相対パス内のサブディレクトリの配列(''directories''宣言でのみ使用可能)\n* ''prefix'' - (オプション) フィールドの値の先頭に追加する文字列\n* ''suffix'' - (オプション) フィールドの値の末尾に追加する文字列\n\n! Tiddlersセクション\n\n`tiddlers`配列内のファイルの仕様は、次のプロパティをサポートします: \n\n* ''file'': (必須) Tiddlerデータを含むファイルへの絶対パスまたは相対パス (相対パスは`tiddlywiki.files`ファイルのパスを基準とします)\n* ''isTiddlerFile'': (オプション) `true`の場合、ファイルは[[tiddlerファイル|TiddlerFiles]]として扱われ、Tiddlerを抽出するためにデシリアライズされます。それ以外の場合は、ファイルの生のコンテンツが解析されずに`text`フィールドに割り当てられます\n* ''fields'': (オプション) Tiddlerファイルで提供されるフィールドを上書きやカスタマイズする値を含むオブジェクト (上記を参照)\n* ''prefix''と''suffix'': (オプション) Tiddlerの`text`フィールドにプレフィックスとサフィックスとして付加される文字列\n*> ''prefix''を指定することは、''fields''オブジェクトの`text`のフィールドを`{\"prefix\":\"<prefixvalue>\"}`に設定することと同じであることに注意してください。\n\n! Directoriesセクション\n\n`directories`配列内のディレクトリの仕様は次の形式を取ることができます: \n\n* Tiddlerファイルを含むディレクトリへの絶対パスか相対パスを指定する、''string''リテラル(相対パスは`tiddlywiki.files`ファイルのパスを基準として解釈されます)。Tiddlerファイルはディレクトリを再帰的に検索されます\n* <<.from-version \"5.1.14\">> 次のプロパティを持つ''object'':\n** ''path'' - (必須) Tiddlerファイルを含むディレクトリへの絶対パスか相対パス(相対パスは`tiddlywiki.files`ファイルのパスを基準として解釈されます)。デフォルトではディレクトリは再帰的に検索されないことに注意してください。//searchSubdirectories//フラグが`true`に設定されていない限り、サブディレクトリは無視されます(以下を参照)。\n** ''filesRegExp'' - (オプション) ディレクトリ内で処理するファイルのファイル名に一致する[[正規表現|https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions]]\n** ''isTiddlerFile'' - (必須) `true`の場合、ファイルは[[Tiddlerファイル|TiddlerFiles]]として扱われ、Tiddlerを抽出するためにデシリアライズされます。それ以外の場合、ファイルの生のコンテンツが解析されずに`text`フィールドに割り当てられます\n** ''isEditableFile'' - <<.from-version \"5.1.23\">> (オプション) `true`の場合、Tiddlerへの変更は元のファイルに保存されます。Tiddlerは、$:/config/FileSystemPathフィルターから結果が生成されない限り、元のファイルパスに保存されます。フィルターから結果が返された場合、生成された最終的なファイルパスが上書きされます。\n** ''searchSubdirectories'' - <<.from-version \"5.1.23\">> (オプション) `true`の場合、//path//のすべてのサブディレクトリで(オプションの)//filesRegExp//に一致するファイルが再帰的に検索されます。//filesRegExp//が指定されていない場合は、//path//のすべてのサブディレクトリ内のすべてのファイルがロードされます。//source//属性の//filename//(上記を参照)によって生成されたTiddlerタイトルにはファイル名のみが含まれ、パスのサブディレクトリは含まれません。この結果、同じTiddlerタイトルでロードされた複数のファイルが存在する場合、そのTiddlerタイトルでロードされた最後のファイルのみがメモリに格納されます。これを防ぐには、//filename//の代わりに//filepath//属性を使用できます。または、複数のディレクトリオブジェクトを含め、//source//属性とともに//prefix//または//suffix//を使用してタイトルフィールドをカスタマイズすることもできます。\n** ''fields'' - (必須) Tiddlerファイルで提供されるフィールドを上書きやカスタマイズする値を含むオブジェクト(上記を参照)\n\n同じ名前にサフィックス`.meta`を加えたファイルを作成することで、特定のファイルのフィールドを上書きすることもできます。 -- TiddlerFilesを参照してください。\n\n! 例\n\nこれらの`tiddlywiki.files`の例は、[[Wikiフォルダ|TiddlyWikiFolders]]の独自のサブディレクトリに配置する必要があります。\n\nメインの[[TiddlyWiki 5 GitHub リポジトリ|https://github.com/TiddlyWiki/TiddlyWiki5]]にも`tiddlywiki.files`ファイルの例がいくつかあります。\n\n!! PDFのフォルダをインポートする\n\nこの例では、相対パスで指定されたフォルダーから拡張子`.pdf`を持つすべてのファイルを取得します。このパスは\"../../../\"で始まり、この構成ファイルが格納されているフォルダーの3ディレクトリ階層上を示します。各Tiddlerは、次のフィールドを使用してLazyLoading用にセットアップされています:\n\n* ''title'' - PDFファイルのURIデコードされたベースファイル名を設定。[[URIデコード|https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent]]により、\"/\"などの文字をURIエンコードして\"%2F\"としてタイトルに含めることができます\n* ''created'' - PDFファイルの作成日時を設定\n* ''modified'' - PDFファイルの変更日時を設定\n* ''type'' - `application/pdf`を設定\n* ''tags'' - `$:/tags/AttachedFile`を設定\n* ''text'' - 空の文字列を設定\n* ''_canonical_uri'' - ファイル名と文字列\"pdfs/\"を連結した値を設定\n\n```\n{\n    \"directories\": [\n        {\n            \"path\": \"../../../input/pdfs\",\n            \"filesRegExp\": \"^.*\\\\.pdf$\",\n            \"isTiddlerFile\": false,\n            \"fields\": {\n                \"title\": {\"source\": \"basename-uri-decoded\"},\n                \"created\": {\"source\": \"created\"},\n                \"modified\": {\"source\": \"modified\"},\n                \"type\": \"application/pdf\",\n                \"tags\": [\"$:/tags/AttachedFile\"],\n                \"text\": \"\",\n                \"_canonical_uri\": {\"source\": \"filename\", \"prefix\": \"pdfs/\"}\n            }\n        }\n    ]\n}\n```\n\n!! テキストファイルのフォルダをインポートする\n\nこの例では、相対パスで指定されたフォルダから拡張子`.txt`を持つすべてのファイルを取得します。このフォルダはWikiのベースディレクトリ内にあり、現在の構成ファイルはWikiの\"tiddlers/\"ディレクトリ内のディレクトリにあります。したがって、この場合、パスは\"../../\"で始まり、2つのディレクトリ階層上に移動し、次に \"externalnotes/\"ディレクトリまで下ります。各Tiddlerは次のフィールドで設定されます: \n\n* ''title'' - テキストファイルのURIデコードされたベースファイル名を設定します。[[URIデコード|https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent]]により、\"/\"などの文字をURIエンコードして\"%2F\"としてタイトルに含めることができます\n* ''created'' - テキストファイルの作成日時を設定\n* ''modified'' - テキストファイルの変更日時を設定\n* ''type'' - `text/plain`を設定\n* ''tags'' - `[[note]] [[externalnote]] [[.txt]]`を設定(配列表記を使用)\n* ''text'' - 設定されないため、ファイルの内容がテキストフィールドとして読み込まれます\n\n```\n{\n    \"directories\": [\n        {\n            \"path\": \"../../externalnotes\",\n            \"filesRegExp\": \".+\\\\.txt\",\n            \"isTiddlerFile\": false,\n            \"isEditableFile\": true,\n            \"fields\": {\n                \"title\": {\"source\": \"basename-uri-decoded\"},\n                \"created\": {\"source\": \"created\"},\n                \"modified\": {\"source\": \"modified\"},\n                \"type\": \"text/plain\",\n                \"tags\": [\"note\", \"externalnote\", \".txt\"]\n            }\n        }\n  ]\n}\n```\n\nこれにより、`../../externalnotes/`ディレクトリ内のすべてのテキストファイルが個別のTiddlerとしてWikiに読み込まれます。これらは、さまざまなマークアップ言語のスニペットコレクションである可能性があります。次に、これらの各Tiddlerの`type`フィールドを、言語に合わせて変更できます。たとえば、Wikitextの場合は\"text/vnd.tiddlywiki\"、マークダウンファイルの場合は\"text/markdown\"です。次に、次の行で$:/config/FileSystemPathsと$:/config/FileSystemExtentions Tiddlerを使用すると、これらのTiddlerへの変更が、開始元のディレクトリに保存され、\"*.txt\"ファイルとして、\"*.txt.meta\"ファイルとともに保存されます。これらのメタファイルは必要に応じて生成され、サーバーの再起動時に、`tiddlywiki.files`構成ファイルから生成されたフィールド(Tiddlerの`type`フィールドなど)が上書きされます。\n\n[[Tiddlerファイル名のカスタマイズ|Customising Tiddler File Naming]]の例から、$:/config/FileSystemPaths Tiddler内の最後のフィルター`[!tag[externalnote]addprefix[wiki/]]`は、`externalnotes`でタグ付けされたすべてのTiddler(以前のフィルターに一致しなかったもの)を除外することがわかります。これらのTiddlerのファイルパスは、ブート起動時に生成された$:/config/OriginalTiddlerPathsから取得されます。\n\n次に、$:/config/FileSystemExtensions Tiddler内のフィルター`[tag[.txt]then[.txt]]`により、これらすべてのTiddlerが*.txtおよび付随する*.txt.metaファイルとしてディスクに保存されます(通常のTiddlerタイプとファイルタイプのマッピングを上書きします)。この場合、Tiddlywiki Wikitextやマークダウンテキストのスニペットを\"テキスト\"(*.txtファイル)に保存できるようになります。\n\n!! 画像のインポートと自動タグ付け\n\nこの例では、`files`ディレクトリとそのすべてのサブディレクトリ内のすべての画像ファイルを外部画像Tiddlerとしてインポートし、ファイルパスに基づいてタグ付けします。各Tiddlerには、次のフィールドが設定されます: \n\n* ''title'' - テキストファイルのURIデコードされたベースファイル名を設定\n* ''created'' - テキストファイルの作成日時を設定\n* ''modified'' - テキストファイルの更新日時を設定\n* ''type'' - `image/jpeg`に設定します。現在、ファイルから画像Tiddlerの正しいContentTypeを推測する方法はありませんが、`image/jpeg`Tiddlerはpngやgif画像でも正しくレンダリングされるはずです。代わりに、jpg、png、gifファイルの個別の定義を、`image/jpeg`、`image/png`、`image/gif`タイプをそれぞれ使用して作成することもできます。\n* ''tags'' - 親ディレクトリ(この場合は`files`)を基準とした画像の相対パスに基づいて生成されます。たとえば、`files/photos`内の画像には`photos`のタグが付けられ、 `files/photos/family`内の画像には`photos`と`family`両方のタグが付けられ、ルート`files`ディレクトリ内の画像にはタグが付けられません。\n* ''text'' - 空の文字列に設定\n* ''_canonical_uri'' - Wikiルートを基準とした画像の完全な相対ファイルパスを設定\n\n```\n{\n    \"directories\": [\n        {\n            \"path\": \"../../files/\",\n            \"filesRegExp\": \"^.*\\\\.(?:jpg|jpeg|png|gif)$\",\n            \"isTiddlerFile\": false,\n\t        \"searchSubdirectories\": true,\n            \"fields\": {\n                \"title\": {\"source\": \"basename-uri-decoded\"},\n                \"created\": {\"source\": \"created\"},\n                \"modified\": {\"source\": \"modified\"},\n                \"type\": \"image/jpeg\",\n                \"tags\": { \"source\": \"subdirectories\" },\n                \"text\": \"\",\n                \"_canonical_uri\": { \"source\": \"filepath\", \"prefix\": \"files/\" }\n            }\n        }\n    ]\n}\n```\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/nodejs/tiddlywiki.info_Files.tid",
    "content": "created: 20161015114042793\nmodified: 20250201105445142\noriginal-modified: 20241030132156792\ntags: TiddlyWikiFolders [[TiddlyWiki on Node.js]]\ntitle: tiddlywiki.info Files\nja-title: tiddlywiki.infoファイル\ntype: text/vnd.tiddlywiki\n\n[[TiddlyWikiフォルダ|TiddlyWikiFolders]]はWikiフォルダーのルートにある1つの`tiddlywiki.info`ファイルで構成されます。このファイルには、次のプロパティを含むJSONオブジェクトが含まれている必要があります: \n\n* ''plugins'' - Wikiに含めるプラグインの配列\n* ''themes'' - Wikiに含めるテーマの配列\n* ''languages'' - Wikiに含める言語の配列\n* ''includeWikis'' - Wikiに含める外部Wikiフォルダへの参照の配列\n* ''build'' - 名前付きビルドターゲットのハッシュマップ。それぞれはコマンドトークンの配列で定義されます(BuildCommandを参照)\n* ''config'' - 設定オプションのオプションのハッシュマップ(下記参照)\n\n!!! ''includeWikis''\n\n''includeWikis''配列のエントリは、Wikiへの相対パスを指定する文字列か、次のフィールドを持つオブジェクトのいずれかになります:\n\n* ''path'' - Wikiフォルダへの相対パス\n* ''read-only'' - //true//に設定すると、含まれているWiki内のTiddlerが変更されるのを防ぎます。変更は、以下で説明する''default-tiddler-location''で指定されたディレクトリに書き込まれます\n\n!!! ''build''\n\n現在の`tiddlywiki.info`ファイルでその名前のターゲットが定義されていない場合、含まれているWikiのビルドターゲットはマージされることに注意してください。\n\n!!! ''config''\n\n構成オプションには以下が含まれます: \n\n* ''default-tiddler-location'' - ファイルシステムアダプタが新しいTiddlerを保存するためのデフォルトの場所への文字列パス(Wikiフォルダを基準に解決)\n* ''retain-original-tiddler-path'' - trueの場合、サーバーはWiki内の各Tiddlerの元のファイルパスを含むティドラー[[$:/config/OriginalTiddlerPaths]]を生成します\n\n!!! 例\n\n例:\n\n```\n{\n\t\"plugins\": [\n\t\t\"tiddlywiki/tiddlyweb\",\n\t\t\"tiddlywiki/filesystem\"\n\t],\n\t\"includeWikis\": [\n\t\t{\"path\": \"../tw5.com\", \"read-only\": true}\n\t],\n\t\"build\": {\n\t\t\"index\": [\n\t\t\t\"--render\",\"$:/core/save/all\",\"index.html\",\"text/plain\"],\n\t\t\"favicon\": [\n\t\t\t\"--save\", \"$:/favicon.ico\", \"favicon.ico\",\n\t\t\t\"--save\", \"$:/green_favicon.ico\", \"static/favicon.ico\"]\n\t},\n\t\"config\": {\n\t\t\"retain-original-tiddler-path\": true\t\n\t}\n}\n```\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/platforms/Platforms.tid",
    "content": "created: 20150412185300152\nmodified: 20241227104147434\noriginal-modified: 20150412185427211\ntags: TableOfContents\ntitle: Platforms\nja-title: プラットフォーム\ntype: text/vnd.tiddlywiki\n\n\nTiddlyWikiはいくつかのプラットフォームで使用できます: \n\n<<list-links \"[tag[Platforms]]\">>"
  },
  {
    "path": "editions/ja-JP/tiddlers/plugins/Amazon Web Services Plugin.tid",
    "content": "created: 20170703193252423\nmodified: 20241222101154614\noriginal-modified: 20170703193353918\ntags: OfficialPlugins\ntitle: Amazon Web Services Plugin\nja-title: アマゾンウェブサービスプラグイン\ntype: text/vnd.tiddlywiki\n\nアマゾンウェブサービスプラグインは、アマゾンウェブサービスで動かすためのいくつかのツールを提供します:\n\n* TiddlyWikiをAWS Lambda関数として実行できるZIPファイル内の単一のJavaScriptファイルとして保存するためのテンプレート。この形式では、TiddlyWikiは、スタンドアロンのHTMLファイル構成と同様に、コードとデータの両方を含む自己完結型の単一ファイルです\n* TiddlyWikiのNode.js構成とLambda構成の両方で、AWSサービスで操作するために使用できるコマンド"
  },
  {
    "path": "editions/ja-JP/tiddlers/plugins/BrowserStorage Plugin.tid",
    "content": "created: 20190206181204119\nmodified: 20241222101408936\noriginal-modified: 20190206181204119\ntags: OfficialPlugins\ntitle: BrowserStorage Plugin\nja-title: ブラウザストレージプラグイン\ntype: text/vnd.tiddlywiki\n\nブラウザストレージプラグインを使用すると、TiddlyWikiが[[ブラウザのローカルストレージ|https://en.wikipedia.org/wiki/Web_storage#localStorage]]にTiddlerを保存できるようになります。これは、変更がブラウザ内に保存され、ベースWikiがリロードされるたびに自動的に再適用されることを意味します\n\nブラウザのローカルストレージはTiddlyWikiにとって万能薬ではありません:\n\n* ブラウザは、各ページで使用できるローカルストレージの量を制限しており、通常は5または10MBに制限されています\n* 個人データをブラウザのローカル ストレージに保存すると、予期しないプライバシー侵害につながる可能性があります\n* ブラウザは、ローカルストレージに保存されているデータを警告なしにいつでも削除する権利を留保します\n* ブラウザはローカルストレージをURLと結び付けるため、以前に別のWikiが使用していたURLにWikiを移動すると問題が発生する可能性があります\n\nこのプラグインは注意して使用してください。未解決の問題や未解決の疑問が数多くあります\n\nブラウザストレージプラグインは、プラグインライブラリからインストールできます"
  },
  {
    "path": "editions/ja-JP/tiddlers/plugins/CodeMirror Plugin.tid",
    "content": "created: 20160107223435497\nlist: \nmodified: 20241222101622863\noriginal-modified: 20170228102537972\ntags: OfficialPlugins [[Plugin Editions]]\ntitle: CodeMirror Plugin\nja-title: CodeMirrorプラグイン\ntype: text/vnd.tiddlywiki\n\nCodeMirrorプラグインは、洗練されたWebベースのエディタをTiddlyWikiに追加します\n\n[ext[https://tiddlywiki.com/plugins/tiddlywiki/codemirror|plugins/tiddlywiki/codemirror]]でデモを参照してください"
  },
  {
    "path": "editions/ja-JP/tiddlers/plugins/Consent Banner Plugin.tid",
    "content": "created: 20201019084534263\nmodified: 20241222111136646\noriginal-modified: 20201019084658478\ntags: OfficialPlugins\ntitle: Consent Banner Plugin\nja-title: 同意バナープラグイン\ntype: text/vnd.tiddlywiki\n\n同意バナープラグインは、[[EU一般データ保護規則|https://gdpr.eu/cookies/]]などの\"Cookie法\"に準拠したWebサイトの作成に役立ちます。\nこのプラグインは、ユーザーにCookieを受け入れるか拒否するかを促すバナーを表示し、ユーザーの同意をローカルストレージに記録して、次回のアクセス時にバナーを非表示にできるようにします。\n\nデフォルトでは、ユーザーがCookieを受け入れることに同意しない限り、&lt;iframe>、&lt;embed>、&lt;object>で埋め込まれたコンテンツはブロックされます。\n\n同意ステータスは構成Tiddlerを介して利用できるため、同意が得られたかどうかに応じて異なる動作をするコンテンツを構築できます。たとえば、ユーザーがCookieを受け入れない限り、自動的に youtube-nocookie.com バリアントのビデオURLを使用する~YouTubeビデオを埋め込むためのマクロが提供されています。\n\nこのプラグインを使用することで、特定の法律への準拠が保証されるわけではないことにご注意ください。あなたの状況に固有の技術的な問題を理解し、必要に応じて法的アドバイスを求める必要があります。"
  },
  {
    "path": "editions/ja-JP/tiddlers/plugins/D3 Plugin.tid",
    "content": "created: 20160107223425581\ncaption: {{!!ja-title}} - ^^deprecated^^\nmodified: 20241222102055511\noriginal-modified: 20240913122437925\ntags: OfficialPlugins [[Plugin Editions]] $:/deprecated\ntitle: D3 Plugin\nja-title: D3プラグイン\ntype: text/vnd.tiddlywiki\n\n<<.deprecated-since \"5.3.4\">> D3プラグインは、D3ビジュアライゼーションライブラリをTiddlyWikiと統合します\n\nhttps://tiddlywiki.com/plugins/tiddlywiki/d3/ を参照してください\n\n[ext[https://tiddlywiki.com/plugins/tiddlywiki/d3|plugins/tiddlywiki/d3]]でデモをご覧ください。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/plugins/Dynaview Plugin.tid",
    "content": "created: 20180111122953142\nmodified: 20241223104409794\noriginal-modified: 20181113084151268\ntags: OfficialPlugins [[Plugin Editions]]\ntitle: Dynaview Plugin\nja-title: 動的表示プラグイン\ntype: text/vnd.tiddlywiki\n\n動的表示プラグインを使用すると、スクロールやズームによるブラウザビューポートの変更に動的に応答するユーザーインターフェイスを構築できます: \n\n* スクロールされて表示されるまで出力のレンダリングを延期できるCSSクラス\n* 現在のズームレベルに応じてDOM要素の不透明度を変更できるようにするCSSクラス\n\n[ext[https://tiddlywiki.com/plugins/tiddlywiki/dynaview|plugins/tiddlywiki/dynaview]]でデモをご覧ください\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/plugins/External Attachments Plugin.tid",
    "content": "created: 20171031172325817\nlist: \nmodified: 20241222102153176\noriginal-modified: 20171031172440017\ntags: OfficialPlugins [[Plugin Editions]]\ntitle: External Attachments Plugin\nja-title: 外部添付プラグイン\ntype: text/vnd.tiddlywiki\n\n外部添付ファイルプラグインは、Tiddlerを外部添付ファイルとしてインポートするためのサポートを提供します。つまり、バイナリファイルを自己完結型Tiddlerとしてインポートするのではなく、''_canonical_uri''フィールドを介して元のファイルを参照する \"スキニー\" Tiddler としてインポートされます。これによりWikiのサイズが削減され、パフォーマンスが向上します。ただし、これはWikiが完全な自己完結型ではなくなったことを意味します\n\nこのプラグインは、インポート/ドラッグされたファイルの''path''属性をサポートするTiddlyDesktopなどのプラットフォームでTiddlyWikiを使用する場合にのみ機能します"
  },
  {
    "path": "editions/ja-JP/tiddlers/plugins/Highlight Plugin.tid",
    "content": "created: 20160107223417655\nlist: \nmodified: 20241222102315584\noriginal-modified: 20220222094354907\ntags: OfficialPlugins [[Plugin Editions]]\ntitle: Highlight Plugin\nja-title: ハイライトプラグイン\ntype: text/vnd.tiddlywiki\n\nハイライトプラグインは、テキストに色付けする機能を提供します\n\n[ext[https://tiddlywiki.com/plugins/tiddlywiki/highlight|plugins/tiddlywiki/highlight]]を参照してください\n\n<<.warning \"\"\"最新バージョンの[[ハイライトプラグイン|Highlight Plugin]]には、JavaScript ES6(2015年リリース)を完全にサポートする最新ブラウザが必要です。古いバージョンは、古いブラウザを使用する必要があるユーザー向けの''ハイライトレガシー''プラグインとして引き続き利用できます\"\"\">>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/plugins/Innerwiki Plugin.tid",
    "content": "created: 20190127104143725\nmodified: 20241223111102675\noriginal-modified: 20190127104143725\ntags: OfficialPlugins [[Plugin Editions]]\ntitle: Innerwiki Plugin\nja-title: インナーウィキプラグイン\ntype: text/vnd.tiddlywiki\n\nインナーウィキプラグインにより、TiddlyWikiは自身の変更されたコピー(\"innerwiki\")を埋め込むことができます。主な目的は、時間の経過とともに変化するTiddlyWikiの外観に合わせて自動的に最新のスクリーンショットイラストを作成したり、異なる言語でスクリーンショットを作成したりできるようにすることです。\n\nブラウザでは、インナーウィキは埋め込みiframeとして表示されます。Node.jsでは、[[GoogleのPuppeteer|https://pptr.dev/]]を使用してインナーウィキをオフスクリーンのWebページとして読み込み、PNG画像としてスナップショットを作成します。\n\n[ext[https://tiddlywiki.com/plugins/tiddlywiki/innerwiki|plugins/tiddlywiki/innerwiki]]でデモをご覧ください\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/plugins/Installing a plugin from the plugin library.tid",
    "content": "created: 20160107222352710\nmodified: 20241221111035323\noriginal-modified: 20220617122143911\ntags: Plugins\ntitle: Installing a plugin from the plugin library\nja-title: プラグインライブラリからプラグインをインストールする\ntype: text/vnd.tiddlywiki\n\n\\rules except wikilink\n\n手順を//隣に並べて//実行したい場合は、<<open-tiddler-in-window>>でできます。\n\nTiddlyWikiをスタンドアロンの単一ファイルWikiとして使用する場合は、次の手順に従ってください。\n\n# ブラウザでTiddlyWikiを開きます\n\n# 現在のWikiファイルのバックアップを作成します([[念のため|The First Rule of Using TiddlyWiki]])\n\n# <<controlPanel-plugin-link>>を開きます\n\n#* ''プラグイン''タブをクリックし \n#*<<.icon $:/core/images/download-button>> ''他のプラグインを取得''ボタンをクリックします\n\n# <<.icon $:/core/images/chevron-right>> ''プラグインライブラリを開く''をクリックして公式プラグインライブラリを開きます\n\n# ライブラリのリストがロードされると:\n## ''プラグイン''、''テーマ''、''言語''のタブが使用でき、\n## プラグインの詳細を検索する''検索''ボックスが使用できます\n\n# ''インストール''ボタンをクリックしてプラグインをインストールします\n\n# <<.icon $:/core/images/save-button-dynamic>>をクリックしてTiddlyWikiを保存します\n\n# ウィンドウの上部に黄色い警告バーが表示された場合は、TiddlyWikiがプラグイン<<.icon $:/core/images/refresh-button>>のインストールを完了するためにウィンドウを更新します。\n\n#* <<.from-version \"5.1.22\">> 動的読み込みをサポートするプラグインを削除するときにTiddlyWikiを更新する必要がなくなりました。詳細については、[[プラグインのメカニズム|PluginMechanism]]を参照してください。\n\n# これでプラグインが使用できるようになりました\n\n<$macrocall $name=\".note\" _=\"\"\"''Node.js''でTiddlyWikiを使用する場合の詳細は、[[Node.jsで公式プラグインをインストールする|Installing official plugins on Node.js]]を確認してください。<br>概要は[[プラグイン|Plugins]]でご覧いただけます。\"\"\"/> "
  },
  {
    "path": "editions/ja-JP/tiddlers/plugins/JSZip Plugin.tid",
    "content": "created: 20201019084712096\nmodified: 20241222103057478\noriginal-modified: 20201019084824422\ntags: OfficialPlugins\ntitle: JSZip Plugin\nja-title: JSZipプラグイン\ntype: text/vnd.tiddlywiki\n\nこのプラグインは、ブラウザでZipファイルを作成するためのプリミティブを提供します。また、[[JSZip|https://stuk.github.io/jszip/]]ライブラリを他のプラグインで使用できるようになります"
  },
  {
    "path": "editions/ja-JP/tiddlers/plugins/KaTeX Plugin.tid",
    "content": "created: 20160107223410181\nlist: \nmodified: 20241222103257736\noriginal-modified: 20170228102517666\ntags: OfficialPlugins [[Plugin Editions]]\ntitle: KaTeX Plugin\nja-title: KaTeXプラグイン\ntype: text/vnd.tiddlywiki\n\nこのプラグインは、~LaTeXで書かれた数学表記を表示する機能を追加します\n\n[ext[https://tiddlywiki.com/plugins/tiddlywiki/katex|plugins/tiddlywiki/katex]]を参照してください"
  },
  {
    "path": "editions/ja-JP/tiddlers/plugins/Manually installing a plugin.tid",
    "content": "created: 20160107222430613\nmodified: 20241221112212036\noriginal-modified: 20220617115930635\ntags: Plugins\ntitle: Manually installing a plugin\nja-title: プラグインを手動でインストールする\ntype: text/vnd.tiddlywiki\n\n\\rules except wikilink\n\n手順を//隣に並べて//実行したい場合は、<<open-external-window \"https://tiddlywiki.com/plugins/tiddlywiki/katex\">>でできます。\n\n# 現在のTiddlyWiki HTMLファイルのバックアップを作成します([[念のため|The First Rule of Using TiddlyWiki]])\n\n# ブラウザでTiddlyWikiを開きます\n\n# 別のブラウザウィンドウで、プラグインへのリンク(例: https://tiddlywiki.com/plugins/tiddlywiki/katex )を見つけます。通常、これらのリンクはプラグインのホームページにあります\n\n# TiddlyWikiブラウザウィンドウに、`$:/plugins/tiddlywiki/example`へのリンクをドラッグします\n\n# $:/Import Tiddlerに表示された新しいプラグインをインポートします\n\n# TiddlyWikiを保存します(<<.icon $:/core/images/save-button-dynamic>>)\n\n# ウィンドウの上部に黄色い警告バーが表示された場合は、TiddlyWikiがプラグイン<<.icon $:/core/images/refresh-button>>のインストールを完了するためにウィンドウを更新します。\n\n#* <<.from-version \"5.1.22\">> 動的読み込みをサポートするプラグインを削除するときにTiddlyWikiを更新する必要がなくなりました。詳細については、[[プラグインのメカニズム|PluginMechanism]]を参照してください。\n\n# これでプラグインが使用できるようになりました\n\n<$macrocall $name=\".note\" _=\"公式プラグインライブラリからプラグインをインストールする方法の詳細については、[[プラグインライブラリからプラグインをインストールする|Installing a plugin from the plugin library]]を確認してください。<br>概要は[[プラグイン|Plugins]]でご覧いただけます。\"/> "
  },
  {
    "path": "editions/ja-JP/tiddlers/plugins/Markdown Plugin.tid",
    "content": "created: 20160107223401584\nlist: \nmodified: 20241222103338193\noriginal-modified: 20170228102511347\ntags: OfficialPlugins [[Plugin Editions]]\ntitle: Markdown Plugin\nja-title: Markdownプラグイン\ntype: text/vnd.tiddlywiki\n\nMarkdownプラグインを使用すると、標準Markdownマークアップで記述されたTiddlerを使用できるようになります。\n\n[ext[https://tiddlywiki.com/plugins/tiddlywiki/markdown|plugins/tiddlywiki/markdown]]を参照してください。"
  },
  {
    "path": "editions/ja-JP/tiddlers/plugins/Mobile Drag And Drop Shim Plugin.tid",
    "content": "created: 20170328173820802\ncaption: {{!!ja-title}} - ^^deprecated^^\nmodified: 20241223111912267\noriginal-modified: 20240913122844238\ntags: OfficialPlugins $:/deprecated\ntitle: Mobile Drag And Drop Shim Plugin\nja-title: モバイルのドラッグアンドドロップ詰め木プラグイン\ntype: text/vnd.tiddlywiki\n\n<<.deprecated-since \"5.3.4\">> モバイルのドラッグアンドドロップ詰め木プラグインは、iOSやAndroidなどのモバイルブラウザーでHTML 5互換のドラッグアンドドロップ操作を可能にする\"詰め木\"を提供します。この詰め木はTim Rufflesによって作成され、 https://github.com/timruffles/ios-html5-drag-drop-shim で公開されています。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/plugins/OfficialPlugins.tid",
    "content": "created: 20170210075109635\nmodified: 20241221112634689\noriginal-modified: 20220612082350537\ntags: Plugins\ntitle: OfficialPlugins\nja-title: 公式プラグイン\ntype: text/vnd.tiddlywiki\n\n公式TiddlyWikiプラグインライブラリには、[[TiddlyWiki 5のメインGitHubレポジトリ|Working with the TiddlyWiki5 repository]]の一部であるプラグインが含まれています。[[プラグインライブラリ|Installing a plugin from the plugin library]]からインストールします。公式プラグインライブラリのプラグインは、[[アップグレードプロセス|UpgradeMechanism]]の一部として自動的に更新されます。 \n\n<<list-links \"[tag[OfficialPlugins]]\">>\n\n<$macrocall $name=\".note\" _=\"プラグインの概要と処理方法については、[[プラグイン|Plugins]]を参照してください\"/>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/plugins/Plugin Editions.tid",
    "content": "created: 20160107223443647\nmodified: 20241221104043422\noriginal-modified: 20160107223732928\ntags: Editions\ntitle: Plugin Editions\nja-title: プラグインエディション\ntype: text/vnd.tiddlywiki\n\nこれらのエディションには、TiddlyWikiプラグインのオリジナルセットの簡単なデモが含まれています。これらは、プラグインライブラリが欠如していた以前のバージョンのTiddlyWiki用に用意されていました\n\n<<list-links \"[tag[Plugin Editions]]\">>"
  },
  {
    "path": "editions/ja-JP/tiddlers/plugins/Plugin Ordering.tid",
    "content": "created: 20220613115453346\nmodified: 20250207104327815\noriginal-modified: 20220628160136158\ntags: PluginMechanism\ntitle: Plugin Ordering\nja-title: プラグインの順序\ntype: text/vnd.tiddlywiki\n\nNode.jsクライアント-サーバー構成を使用すると、プラグインは次の順序でアクティブになります: \n\n# OS環境変数を使用して見つかったプラグイン\n#* 参照: [[PluginFolders]]\n#* および: [[Node.jsの環境変数|Environment Variables on Node.js]]\n\n# Wiki`/plugins`パスに保存されたプラグイン\n#* 参照: [[PluginFolders]]\n\n# コマンドラインで指定されたプラグイン\n#* 参照: [[Node.jsでTiddlyWikiを使用する|Using TiddlyWiki on Node.js]] ... <<.from-version \"5.1.20\">>に関する注記\n\n# ドラッグアンドドロップでWikiコンテンツとしてインポートされたプラグイン\n#* 参照: [[プラグインライブラリからプラグインをインストールする|Installing a plugin from the plugin library]]や[[プラグインを手動でインストールする|Manually installing a plugin]]\n\n''重要:''\n\n* ''リストの下位の要素が優先されます''\n\n*ブラウザにドラッグアンドドロップして通常のTiddlerとしてプラグインを追加すると、プラグインはブラウザ内でのみアクティブになります\n** Node.js下では利用できません\n\nオプション 1:\n\n* Node.js構成を使用する場合、オプション1が最も一般的な方法です\n* すべてのプラグインを一度に更新できるため、メンテナンスの手間が軽減されます\n\nオプション 2:\n\n* 構成を固定して作業したい場合はオプション2が推奨されます\n* プラグインの更新は対応するWikiにのみ影響します\n\nオプション 3:\n\n* このオプションを使用すると、既存の`tiddlywiki.info`ファイルを上書きすることなくエディションを''追加して開始''できます\n* tiddlywiki.infoファイルで指定されていない場合でも、任意のエディションをクライアント-サーバーエディションとして起動できます。\n\nオプション 4:\n\n* 単一ファイルのWikiで使用されるのと全く同じメカニズムです\n* このメカニズムは、プラグインが`tiddlers/`ディレクトリに保存されるため、Node.js構成では''テストとデバッグ''の目的でのみ使用する必要があります\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/plugins/Plugins.tid",
    "content": "created: 20140910215514237\nlist: [[Installing a plugin from the plugin library]] [[Uninstalling a plugin]] [[Manually installing a plugin]] OfficialPlugins\nmodified: 20241221110419644\noriginal-modified: 20220617133819755\ntags: Concepts TableOfContents\ntitle: Plugins\nja-title: プラグイン\ntype: text/vnd.tiddlywiki\n\n! 紹介\n\nTiddlyWiki5のプラグインを使用して、Wikiをカスタマイズ・拡張するオプションコンポーネントを配布できます。公式プラグインライブラリやコミュニティサイトからプラグインをインストールできます。\n\n内部的には、プラグインは1つのTiddlerとしてパッケージ化されたTiddler集であり、ユニットとしてインストール、コピー、無効化、削除することができます。プラグイン内の個々のTiddlerは、隠しTiddlerとして表示されます。\n\nプラグインには、JavaScriptモジュール、スタイルシート、テンプレートを含めることができます。プラグインを使用して、通常のテキスト、画像、その他のコンテンツを配布することもできます。\n\n! 単一ファイルWikiによるプラグインの処理\n\n<<list-links \"[tag[Plugins]] -[has[draft.of]]\">>\n\n! クライアント - サーバー構成(Node.js)でのプラグインの処理 \n\n<<list-links \"[tag[PluginsCS]] -[has[draft.of]]\">>\n\n! プラグインのメカニズム\n\n[[プラグインのメカニズム|PluginMechanism]]Tiddlerには、プラグインが内部でどのように実装されるかについての詳細が含まれています。\n\nプラグインの詳細は、<<controlPanel-plugin-link>>のサブタグ<<.controlpanel-tab Plugins>>で開けます。\n\nTiddlyWikiのメインコアコードを含む $:/core というプラグインがあります。これは常に存在し、デフォルトの[[隠しTiddler|ShadowTiddlers]]のソースです。"
  },
  {
    "path": "editions/ja-JP/tiddlers/plugins/Railroad Plugin.tid",
    "content": "created: 20160107223348621\nlist: \nmodified: 20241222103824983\noriginal-modified: 20170228102501706\ntags: OfficialPlugins [[Plugin Editions]]\ntitle: Railroad Plugin\nja-title: Railroadプラグイン\ntype: text/vnd.tiddlywiki\n\n{{$:/plugins/tiddlywiki/railroad/readme}}\n\n{{$:/plugins/tiddlywiki/railroad/syntax}}"
  },
  {
    "path": "editions/ja-JP/tiddlers/plugins/SaveTrail Plugin.tid",
    "content": "created: 20170210074840860\nmodified: 20241223112712712\noriginal-modified: 20170328173912704\ntags: OfficialPlugins\ntitle: SaveTrail Plugin\nja-title: 履歴保存プラグイン\ntype: text/vnd.tiddlywiki\n\nこのプラグインにより、TiddlyWikiは、以下のいずれかの方法で手動で変更されたすべてのTiddlerのコンテンツを(JSONファイルとして)継続的にダウンロードします:\n\n* 編集の確認\n* Tiddlerの削除\n* インポート\n* 名前の変更/再リンク\n* オプション: ドラフトTiddlerへのタイピングでダウンロード開始\n\n必要に応じて、'前'と'後'のファイルが別々にダウンロードされます。正しく設定すると、ブラウザはバックグラウンドでファイルをサイレントにダウンロードし、誤ってデータが失われた場合のバックアップとして使用できます。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/plugins/Share Plugin.tid",
    "content": "created: 20201228143125000\nmodified: 20251214105341696\noriginal-modified: 20250302051857380\ntags: OfficialPlugins [[Plugin Editions]]\ntitle: Share Plugin\nja-title: シェアプラグイン\ntype: text/vnd.tiddlywiki\n\n<div class=\"tc-message-box\">このプラグインの機能を正確に理解していない限り、このプラグインをインストールしないでください</div>\n\nこの実験的なプラグインは、URL経由でTiddlerを共有するためのツールを提供します。これには以下が含まれます:\n\n* 起動時にブラウザのロケーションハッシュからTiddlerのグループをロードする機能\n* TiddlerのグループからURLを作成するためのウィザードとテンプレート\n\nデモは[ext[https://tiddlywiki.com/share|share]]を参照してください"
  },
  {
    "path": "editions/ja-JP/tiddlers/plugins/TW2Parser Plugin.tid",
    "content": "created: 20160107223340750\nlist: \nmodified: 20241222103757551\noriginal-modified: 20170228102455677\ntags: OfficialPlugins [[Plugin Editions]]\ntitle: TW2Parser Plugin\nja-title: TW2Parser プラグイン\ntype: text/vnd.tiddlywiki\n\nこの実験的なプラグインは、TiddlyWikiのオリジナルのクラシックバージョン用に書かれたWikiTextを表示する機能を追加します\n\n[ext[https://tiddlywiki.com/plugins/tiddlywiki/tw2parser|plugins/tiddlywiki/tw2parser]]を参照してください"
  },
  {
    "path": "editions/ja-JP/tiddlers/plugins/Twitter Plugin.tid",
    "content": "created: 20170227223209558\nmodified: 20241222103812151\noriginal-modified: 20170328173919702\ntags: OfficialPlugins\ntitle: Twitter Plugin\nja-title: Twitterプラグイン\ntype: text/vnd.tiddlywiki\n\n\nこのプラグインは、twitter.comからさまざまなエンティティを埋め込むことができる`<$twitter>`ウィジェットを追加します:\n\n* 個別のツイートと会話スレッド\n* ハッシュタグ/アカウントをツイートする、アカウントをフォロー/いいねする、URLを共有するためのボタン\n* ユーザー、ハッシュタグ、リスト、コレクションからのツイートを表示するタイムライン"
  },
  {
    "path": "editions/ja-JP/tiddlers/plugins/Uninstalling a plugin.tid",
    "content": "created: 20160107222504269\nmodified: 20241221111742412\noriginal-modified: 20220617132957241\ntags: Plugins\ntitle: Uninstalling a plugin\nja-title: プラグインをアンインストールする\ntype: text/vnd.tiddlywiki\n\n\\rules except wikilink\n\n手順を//隣に並べて//実行したい場合は、<<open-tiddler-in-window>>でできます。\n\nTiddlyWikiをスタンドアロンの単一ファイルWikiとして使用する場合は、次の手順に従ってください。\n\n# 現在のWikiファイルのバックアップを作成します([[念のため|The First Rule of Using TiddlyWiki]])\n\n# <<controlPanel-plugin-link>>を開き、''プラグイン''タブに移動します\n\n# 削除したいプラグインをクリックして、スタンドアロンTiddlerとして開きます。\n\n# <<.icon $:/core/images/down-arrow>> ''その他の操作''ボタン、そして<<.icon $:/core/images/delete-button>> ''削除''をクリックします\n\n# <<.icon $:/core/images/save-button-dynamic>>をクリックしてTiddlyWikiを保存します\n\n# ウィンドウの上部に黄色い警告バーが表示された場合は、TiddlyWikiがプラグイン<<.icon $:/core/images/refresh-button>>の削除を完了するためにウィンドウを更新します。\n\n#* <<.from-version \"5.1.22\">> 動的読み込みをサポートするプラグインを削除するときにTiddlyWikiを更新する必要がなくなりました。詳細については、[[プラグインのメカニズム|PluginMechanism]]を参照してください。\n\n# これでプラグインがアクティブではなくなるか、使用できるようになりました\n\n<$macrocall $name=\".note\" _=\"\"\"Node.jsでTiddlyWikiを使用する場合の詳細は、[[Node.jsでプラグインをアンインストールする|Uninstalling a plugin with Node.js]]を確認してください。<br>概要は[[プラグイン|Plugins]]でご覧いただけます。\"\"\"/> "
  },
  {
    "path": "editions/ja-JP/tiddlers/releasenotes/Releases.tid",
    "content": "created: 20150419144523070\nmodified: 20241226113315947\noriginal-modified: 20231005205612322\ntags: About\ntitle: Releases\nja-title: リリース\ntype: text/vnd.tiddlywiki\n\nTiddlyWikiとTiddlyDesktopの新しいリリースは、[[公式ディスカッショングループ|Forums]]と[[Twitter|https://twitter.com/TiddlyWiki]]にて発表します\n\nTiddlyWikiの次のバージョンのプレリリースは、テストとレビューの目的で https://tiddlywiki.com/prerelease で見付けられます。\n\n旧バージョンをダウンロードするには、[[TiddlyWikiアーカイブ|TiddlyWiki Archive]]を参照してください\n\n<<tabs \"[[TiddlyWiki Releases]] [[TiddlyDesktop Releases]]\" \"TiddlyWiki Releases\" \"$:/state/tab\">>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/roadmap/RoadMap.tid",
    "content": "created: 20130823203800000\nmodified: 20241226114145100\noriginal-modified: 2020051619421803\ntags: About\ntitle: RoadMap\nja-title: ロードマップ\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki 5は現在、多くの人々に信頼されている成熟した安定したプロジェクトです。同時に、開発者とユーザーの幅広いコミュニティのおかげで、さまざまな方向に急速に進化しています。この逆説的な状況が可能なのは、プロジェクトが下位互換性を厳密に維持し、既存の機能に加えて新しい機能を追加しているためです\n\n正式なロードマップはありませんが、検索と置換、リッチテキスト編集など、まだ完全に実装されていない領域がかなりあります。現在の作業は~GitHub(https://github.com/TiddlyWiki/TiddlyWiki5/)で確認できます"
  },
  {
    "path": "editions/ja-JP/tiddlers/saving/Emergency Tiddler Export.tid",
    "content": "caption: 緊急エクスポート\ncolor: #7986CB\ncreated: 20180309211328412\ndelivery: Saver\ndescription: 保存がうまくいかないときにTiddlerを取得して保存する\nmethod: save\nmodified: 20241014095849831\noriginal-modified: 20200507202809334\ntags: Android Chrome Firefox [[Internet Explorer]] Linux Mac Opera Safari Saving Windows Edge\ntitle: Emergency Tiddler Export\nja-title: 緊急Tiddlerエクスポート\ntype: text/vnd.tiddlywiki\n\nこの方法は、何らかの理由で現在のTiddlyWikiインスタンスが保存されない場合(例えば、プラグインやサーバーが動作を停止した場合など)に役立ちます。ほぼすべてのプラットフォームで動作するはずです。\n\n* 条件を付けて検索します{{$:/core/ui/Buttons/advanced-search}}を開きます\n** フィルタタブを表示します\n** 次のフィルターテキストを入力します: \n\n\n```\n[!is[system]!sort[modified]limit[25]]\n```\n* TIddlerのリストを確認します。\n* フィルターの数字\"25\"を調整して、最近変更したTiddlerすべてが表示されるようにします。\n* 右側に表示される上矢印の付いたバケツ[<button class=\"tc-btn-invisible\" disabled><<.icon $:/core/images/export-button>></button>]を押します \n* ダイアログウィンドウが表示され、tiddler.jsonというファイルをダウンロードするローカルドライブ上の場所を尋ねられます。あるいは、ブラウザーの設定によっては、そのようなファイルがダウンロードされることを通知するだけのメッセージが表示されます。保存を押します。\n* ファイル`tiddlers.json`はインポート(サイドバーのツール)することも、別のTWのストーリーリバーの最上行にファイルをドラッグアンドドロップすることもできます。\n** Tiddlerを選択・選択解除できます。\n** 最後に`インポート`を押します。\n\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/saving/Encryption.tid",
    "content": "created: 20130825160900000\nmodified: 20251214105948181\noriginal-modified: 20241106165307259\ntags: Features [[Working with TiddlyWiki]]\ntitle: Encryption\nja-title: 暗号化\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki5を単一のHTMLファイルとして使用すると、[[Stanford JavaScript Crypto Library]]を使用してCCMモードのAES 128ビット暗号化でコンテンツを暗号化できます。\n\n# サイドバーの''ツール''タブに切り替えて、南京錠アイコンのボタンを探します\n# ボタンに<<.icon $:/core/images/unlocked-padlock>> ''パスワードの設定''と表示されている場合、現在のウィキは暗号化されていません。ボタンをクリックすると、以降の保存を暗号化するために使用されるパスワードの入力を求められます\n# ボタンに<<.icon $:/core/images/locked-padlock>> ''パスワードの解除''と表示されている場合、現在のウィキはすでに暗号化されています。ボタンをクリックするとパスワードが削除され、その後の保存は暗号化されなくなります。\n# 必要に応じて、保存したファイルをテキストエディタで開き、データが暗号化されていることを確認します\n# ブラウザでファイルを開きます。コンテンツが表示される前にパスワードの入力を求められます。\n\nTiddlyWikiには、パスワード/暗号化に関連する、2つの無関係な機能があることに注意してください: \n\n* TiddlySpotに保存するときにパスワードを設定する機能。これは、''コントロールパネル'' <<.icon $:/core/images/options-button>>の\"保存\"タブで行います。\n* [[Node.js|TiddlyWiki on Node.js]]のサーバ構成で標準のHTTP基本認証を使用する機能。これは、ServerCommandを使用してコマンドラインで実行されます。SSLと組み合わせると、GoogleやDropboxなどのオンラインサービスで得られるのと同じレベルの暗号化転送が実現されますが、ディスク上のデータは暗号化されません\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/saving/Example config-tiddlyweb-host for IIS.txt",
    "content": "title: $:/config/tiddlyweb/host\ntext: $protocol$//$host$/MyApp/\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/saving/Example config-tiddlyweb-host for IIS.txt.meta",
    "content": "title: Example config-tiddlyweb-host for IIS\nja-title: IISのconfig-tiddlyweb-hostの例\ncreated: 20180328145039530\nmodified: 20250123113649343\noriginal-modified: 20180328145234871\ntags: [[Installing TiddlyWiki on Microsoft Internet Information Server]]\ntype: text/plain\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/saving/Example package.json for IIS.txt",
    "content": "{\n    \"name\": \"MyStuff\",\n    \"description\": \"A description of this wiki\",\n    \"dependencies\": {\n        \"sax\": \"1.2.4\",\n        \"tiddlywiki\": \"*\"\n    }\n}"
  },
  {
    "path": "editions/ja-JP/tiddlers/saving/Example package.json for IIS.txt.meta",
    "content": "created: 20180328145039530\nmodified: 20250123114135455\noriginal-modified: 20180328145234871\ntags: [[Installing TiddlyWiki on Microsoft Internet Information Server]]\ntitle: Example package.json for IIS\nja-title: IISのpackage.jsonの例\ntype: text/plain\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/saving/Example tiddlywiki.info for IIS.txt",
    "content": "{\n\t\"description\": \"My wiki\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/tiddlyweb\",\n\t\t\"tiddlywiki/filesystem\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\"\n\t]\n}\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/saving/Example tiddlywiki.info for IIS.txt.meta",
    "content": "created: 20180328151124878\nmodified: 20250123114435480\noriginal-modified: 20180328151214616\ntags: [[Installing TiddlyWiki on Microsoft Internet Information Server]]\ntitle: Example tiddlywiki.info for IIS\nja-title: IISのtiddlywiki.infoの例\ntype: text/plain\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/saving/Example web.config for IIS.txt",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<configuration>\n    <system.webServer>\n        <handlers>\n            <add \n                name=\"httpplatformhandler\"\n                path=\"*\"\n                verb=\"*\"\n                modules=\"httpPlatformHandler\"\n                resourceType=\"Unspecified\"\n                requireAccess=\"Script\" />\n        </handlers>\n        <httpPlatform \n           stdoutLogEnabled=\"true\"\n           stdoutLogFile=\".\\node.log\"\n           startupTimeLimit=\"20\"\n           processPath=\"C:\\Program Files\\nodejs\\node.exe\"\n           arguments=\".\\node_modules\\tiddlywiki\\tiddlywiki.js ./wiki --listen port=PORT path-prefix=/MyApp\">\n            <environmentVariables>\n                <environmentVariable name=\"PORT\" value=\"%HTTP_PLATFORM_PORT%\" />\n                <environmentVariable name=\"NODE_ENV\" value=\"Production\" />\n            </environmentVariables>            \n        </httpPlatform>\n    </system.webServer>\n</configuration>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/saving/Example web.config for IIS.txt.meta",
    "content": "created: 20180328145259455\nmodified: 20250123114732207\noriginal-modified: 20180701185215523\ntags: [[Installing TiddlyWiki on Microsoft Internet Information Server]]\ntitle: Example web.config for IIS\nja-title: IISのweb.configの例\ntype: text/plain\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/saving/Installing TiddlyWiki on Microsoft Internet Information Server.tid",
    "content": "caption: インターネットインフォメーションサービス\ncolor: #F06292\ncreated: 20180328120356008\ndelivery: DIY\ndescription: Windows組み込みのWebサーバー\nmethod: sync\nmodified: 20241012111541912\noriginal-modified: 20200507105855400\ntags: Saving [[TiddlyWiki on Node.js]] Windows\ntitle: Installing TiddlyWiki on Microsoft Internet Information Server\nja-title: Microsoft インターネットインフォメーションサービスにTiddlyWikiをインストールする\ntype: text/vnd.tiddlywiki\n\n\\define example-file(title)\n<$transclude tiddler=\"$title$\" mode=\"block\"/> <$macrocall $name=\"copy-to-clipboard\" src={{$title$}}/>\n\\end\n\nMicrosoftの[[インターネットインフォメーションサーバー|https://en.wikipedia.org/wiki/Internet_Information_Services]](IIS)は、Windowsに組み込まれているWebサーバーです。URLの書き換え、静的ファイルのホスティング、クラッシュ後の自動再起動などのIIS機能を利用するには、TiddlyWikiをIIS内でホストすると便利です。\n\n! 1. IISを有効にします\n\n# Windowsで、コントロールパネルにアクセスし、''プログラムの追加と削除''をクリックします\n# プログラムの追加と削除ウィンドウで、''Windowsコンポーネントの追加と削除''をクリックします\n# ''インターネット インフォメーション サービス（IIS）''のチェックボックスをオンにします\n# ''次へ''をクリックし、''完了''をクリックします\n\n! 2. 必要なツールをインストールします\n\n# https://www.iis.net/downloads/microsoft/httpplatformhandlerからIISモジュール~HttpPlatformHandlerをインストールします\n# https://nodejs.org/から[[Node.js]]をインストールします\n# https://git-scm.com/からGitをインストールします\n#* //オプション: 最新のTiddlyWikiリリースを使用するために~GitHubから直接取得する場合に必要です -- 以下を参照してください//\n\n! 3. TiddlyWikiをインストールして新しいWikiを設定します\n\n# Wiki用に使用するディレクトリを作成します (例: `C:\\MyStuff`)\n# その中に、次の内容の`C:\\MyStuff\\package.json`ファイルを作成します:\n#> <<example-file \"Example package.json for IIS\">>\n# また、次の内容の`C:\\MyStuff\\web.config`ファイルを作成します:\n#> <<example-file \"Example web.config for IIS\">>\n# \"wiki\"というサブディレクトリを作成します (つまり、`C:\\MyStuff\\wiki`)\n# 次の内容の`C:\\MyStuff\\wiki\\tiddlywiki.info`ファイルを作成します: \n#> <<example-file \"Example tiddlywiki.info for IIS\">>\n# \"tiddlers\"というサブディレクトリを作成します (つまり、`C:\\MyStuff\\wiki\\tiddlers`)\n# その中に、次の内容の`C:\\MyStuff\\wiki\\tiddlers\\config-tiddlyweb-host.tid`ファイルを作成します: \n#> <<example-file \"Example config-tiddlyweb-host for IIS\">>\n#* （~HttpPlatformHandlerの設定フィールドの詳細については[[ドキュメント|https://docs.microsoft.com/en-us/iis/extensions/httpplatformhandler/httpplatformhandler-configuration-reference]]を参照してください\n# `C:/MyStuff`ディレクトリ内で、`npm install`コマンドを実行します\n\n! 4. IISでアプリケーションをセットアップします\n\n* Windowsで、IISマネージャーアプリケーションを実行します (`inetmgr.exe`を実行するためにスタートメニューを使用します）\n* 左側の''接続''でサーバーを探し、三角形をクリックして展開し、その内容を表示します\n* ''サイト''フォルダを開きます\n* ''Default Web Site''のエントリを右クリックし、メニューから''アプリケーションの追加''を選択します\n* ダイアログボックスに次の情報を入力します:\n*# ''エイリアス'': `MyApp`\n*# ''物理パス'': `C:\\MyStuff`\n* ''OK''をクリックします\n\n! 5. アプリケーションをテストする\n\nブラウザで http://localhost/MyApp/ にアクセスしてアプリをテストします。\n\n! 注意\n\n* 認証が必要な場合は、`web.config`内の`--listen`コマンドでユーザー名とパスワードを指定します。例: \n** `arguments=\".\\node_modules\\tiddlywiki\\tiddlywiki.js ./wiki-server --listen username=joe &quot;password=bloggs&quot; port=PORT path-prefix=/MyApp\">`\n** 英数字以外のパスワードは二重引用符で囲み、`&quot;`へHTMLエンコードする必要があることに注意してください\n* `web.config`ファイル内の設定を変更したり、アプリコードを修正したりした場合は、IISマネージャーアプリケーションを使用してサーバーを再起動する必要があります。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/saving/Saving on Android.tid",
    "content": "caption: Tiddloid and Tiddloid Lite\ncolor: #FF8A65\ncommunity-author: donmor\ncreated: 20130825161400000\ndelivery: App\ndescription: ローカルのストレージデバイスに変更を保存するAndroidアプリ\nmethod: save\nmodified: 20241005111430352\noriginal-modified: 20200507103926292\ntags: Saving Android [[Standalone App]]\ntitle: Saving on Android\nja-title: Androidでの保存\ntype: text/vnd.tiddlywiki\nurl: https://github.com/donmor/Tiddloid\n\nTiddloidとTiddloid Liteアプリは、TiddlyWikiのHTMLファイルを編集し、変更を保存できるAndroid アプリです。\n\n* 詳細については[[Tiddloid|https://github.com/donmor/Tiddloid]] [[Tiddloid Lite|https://github.com/donmor/TiddloidLite]]をご覧ください。\n* APKファイルをダウンロード: [[Tiddloid|https://github.com/donmor/Tiddloid/releases]], [[TiddloidLite|https://github.com/donmor/TiddloidLite/releases]]\n\n!!! 特徴\n\n* インターネットから最新版をダウンロードして新しい~TiddlyWikiを作成します\n* デバイス/内部ストレージに保存されている既存の~TiddlyWikiをインポートします。([[TiddloidLite|https://github.com/donmor/TiddloidLite/releases]]は外部SDカードもサポートします)\n* インターネットから興味深い~Tiddlywikiをフォークします(TW5のみサポート)\n* TiddlyWikiを検出します\n* ローカルに保存された~TiddlyWikiは、アプリにインポートされた~TiddlyWikiへの変更を保存すると同時に更新されます。\n* デスクトップTiddlyWikiセーバーであるTiddlyDesktopと互換性のあるバックアップシステムです\n* Androidのホームページ上に、既存の~TiddlyWikiへのショートカットを作成します\n* [[TiddloidLite|https://github.com/donmor/TiddloidLite/releases]]はGDriveや~OneDriveなどのクラウドストレージをサポートしています\n\n!!! 注意\n\n* Tiddloid Liteは、Android Q以降を実行しているデバイスをサポートしています。また、TiddloidはGDriveや~OneDriveなどのクラウドストレージもサポートしており、TiddlyWikiClassicとの互換性を維持しています。TiddloidとTiddloid Liteの違いの詳細については、[[Tiddloidのホームページ|https://github.com/donmor/Tiddloid]]をご覧ください。\n* インポートするファイルの拡張子は、`.html`か`.htm`である必要があります。"
  },
  {
    "path": "editions/ja-JP/tiddlers/saving/Saving on Browser with TiddlyStow.tid",
    "content": "caption: ~TiddlyStow (実験的)\ncolor: #FF8A65\ncreated: 20230403170650008\ndelivery: Saver\ndescription: Chromiumベースブラウザの新しいバージョンを使用して変更を保存\nmethod: save\nmodified: 20241005115705671\noriginal-modified: 20230403183020357\ntags: Chrome Edge Opera Saving Linux Mac Windows\ntitle: Saving on Browser with TiddlyStow\nja-title: TiddlyStowを使ってブラウザで保存\ntype: text/vnd.tiddlywiki\nurl: https://github.com/btheado/tiddlystow\n\n''リンク:'' {{!!url}}\n\nTiddlystowは、ブラウザのFile System API(現在は Chrome ベースのブラウザ)を使用してTiddlyWikiファイルをローカルに保存します。\nこれはプラグインや拡張機能を必要とせずに、ローカルのTiddlyWikiファイルを読み込み、同じローカルファイルに保存するシンプルなWebページです。\n\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/saving/Saving on Browser with the File System Access API.tid",
    "content": "caption: TW5-browser-nativesaver (実験的)\ncolor: #FF8A65\ncreated: 20220206035734757\ndelivery: Saver\ndescription: Chromiumベースブラウザの新しいバージョンを使用して変更を保存\nmethod: save\nmodified: 20241005113917768\noriginal-modified: 20220206035734757\ntags: Chrome Edge Opera Saving Linux Mac Windows\ntitle: Saving on Browser with File System Access API\nja-title: ブラウザのFile System Access APIを用いた保存\ntype: text/vnd.tiddlywiki\n\nTiddlywikiは、[[毎回新しいファイルをダウンロードする|Saving with the HTML5 fallback saver]]ことなく、[[File System Access API|https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API]]を使用して、\nファイルシステムへ変更を保存できます。\n\n<<.warning \"このAPIはまだ完全に標準化されていないため、この保存方法はいくぶん実験的です。\">>\n\nこの保存方法で使用されるAPIは、ほとんどのChromiumベースのブラウザで動作します。ブラウザのサポートに関する最新情報については、[[caniuse|https://caniuse.com/native-filesystem-api]]を参照してください。\n\n* [[プラグインWiki|https://slaymaker1907.github.io/tiddlywiki/plugin-library.html]]\n* [[GitHubレポジトリ|https://github.com/slaymaker1907/TW5-browser-nativesaver]]\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/saving/Saving on TidGi.tid",
    "content": "caption: ~TidGi Desktop\ncolor: #FF8A65\ncommunity-author: LinOnetwo\ncreated: 20220221080637764\ndelivery: App\ndescription: TiddlyWikiを提供し同期するためのデスクトップアプリケーション\nmethod: save\ntags: Saving Mac Windows Linux [[Standalone App]]\ntitle: Saving on TidGi Desktop\nja-title: TidGi Desktop での保存\ntype: text/vnd.tiddlywiki\nurl: https://github.com/tiddly-gittly/TidGi-Desktop/releases/latest\n\nTidGiの設計事項の詳細については、[[Readme|https://github.com/tiddly-gittly/TidGi-Desktop#readme]]を参照してください。簡単な概要は次のとおりです:\n\n# TidGiは[[Node.js上でTIddlyWiki|TiddlyWiki on Node.js]]を実行しますが、[[TiddlyDesktop|Saving on TiddlyDesktop]]は単一のHTML Wikiに焦点を当てています\n# TidGiにはgit-syncバックアップスクリプトが組み込まれています\n# TidGiは、メニューバーミニウィンドウやシェル実行などのElectronベースの機能を提供します\n\n!!! インストール方法\n\n# {{!!url}}からTidGi Desktopの最新リリースをインストールします\n# TidGiを実行します\n# 新しいWikiを作成するか、既存のNode.jsのTiddlywikiフォルダを開きます\n# 更新内容は自動的に保存され、オプションで30分ごとにGithubに同期するように設定できます\n\n[img[https://github.com/tiddly-gittly/TidGi-Desktop/raw/master/docs/images/preference.png]]\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/saving/Saving on TiddlyDesktop.tid",
    "content": "caption: ~TiddlyDesktop\ncolor: #FF8A65\ncommunity-author: Jeremy Ruston\ncreated: 20171112085137764\ndelivery: App\ndescription: TiddlyWikiの操作のためのカスタムデスクトップアプリケーション\nmethod: save\nmodified: 20241005105224520\noriginal-modified: 20200507104332791\ntags: Saving Mac Windows Linux [[Standalone App]]\ntitle: Saving on TiddlyDesktop\nja-title: TiddlyDesktopでの保存\ntype: text/vnd.tiddlywiki\nurl: https://github.com/TiddlyWiki/TiddlyDesktop/releases\n\n[[TiddlyDesktopの紹介動画|Introducing TiddlyDesktop Video]]をご覧ください\n\n# https://github.com/TiddlyWiki/TiddlyDesktop/releases からTiddlyDesktopの最新リリースをインストールします\n# TiddlyDesktopを実行します\n# browseボタンを使用してTiddlyWikiファイルを開きます\n# 通常の方法でTiddlyWikiで変更し保存します\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/saving/Saving on TiddlyHost.tid",
    "content": "caption: ~TiddlyHost\ncolor: #29B6F6\ncommunity-author: Simon Baird\ncreated: 20210422191232572\ndelivery: Service\ndescription: ~TiddlyWikiの作成・ホストのためのオンラインサービス\nmethod: save\nmodified: 20241005120439193\noriginal-modified: 20210423003921468\ntags: Android Chrome Firefox [[Internet Explorer]] Linux Mac Opera PHP Safari Saving Windows iOS Edge\ntitle: Saving on TiddlyHost\nja-title: TiddlyHostでの保存\ntype: text/vnd.tiddlywiki\n\n[img width=140 [https://github.com/simonbaird/tiddlyhost/raw/main/rails/app/assets/images/logo-800.png]]\n\n[[TiddlyHost.com|https://tiddlyhost.com/]]は、Simon Bairdが作成したTiddlyWikiのホスティングサービスです。サインアップしてメールアドレスを確認すると、オンライン保存をサポートする\"サイト\"(すなわち~TiddlyWiki)を作成できます。サイトは非公開・公開の切替えができ、オプションでタグ付けや検索が可能な[[TiddlyHostハブ|https://tiddlyhost.com/hub]]のリストに掲載して、他のユーザーが見つけられるようにすることができます。\n\n[[TiddlySpot|Saving on TiddlySpot]]とは異なり、[[TiddlyHost|https://tiddlyhost.com]]は安全で、オープンソースであり、TiddlyWiki5を適切にサポートしています。また、既存の~TiddlyWikiファイルのアップロードが可能で、TiddlyWikiClassicをサポートし、~TiddlySpotサイトの所有権を主張できます。詳細については、[[FAQ|https://github.com/simonbaird/tiddlyhost/wiki/FAQ]]や[[About|https://tiddlyhost.com/about]]ページを参照してください。\n\nTiddlyhostがあなたの役に立ったら、[[寄付かスポンサーシップ|https://tiddlyhost.com/donate]]をご検討ください。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/saving/Saving on a PHP Server.tid",
    "content": "caption: PHP\ncolor: #F06292\ncreated: 20140111091844267\ndelivery: DIY\ndescription: DIY script you can install on your own server\nmethod: save\nmodified: 20241103111839145 \noriginal-modified: 20200507110314202\ntags: Saving PHP\ntitle: Saving on a PHP Server\nja-title: PHPサーバでの保存\ntype: text/vnd.tiddlywiki\n\n組み込みの`TiddlySpot `セーバーを使用すると、多くのホスティングプロバイダーで実行できる単純なPHPスクリプトへ変更を保存することもできます。\n\n//このコードは数年間更新されていません。問題がある場合は、代わりに[[TWレシーバー|Saving with TW Receiver]]を使うことを検討してください//\n\n# https://code.google.com/archive/p/bidix/downloads から、`TiddlyHome_0.1.2.zip`をダウンロードします\n# 解凍(Unzip)します。\n# 解凍したサブディレクトリ`_th\\lib`の下から`store.php`をコピーします\n# ''store.php''のコピーを編集して、ユーザー名とパスワードを追加します。`$USERS = array( 'UserName1'=>'Password1', etc)`という行を見つけて、Username1とPassword1を適切なユーザー名とパスワードに置き換えます。\n#* シングルクォートなどの区切りやコードはすべてそのまま残してください\n# ファイルを保存します\n# FTPやWebインターフェースを使用して、''store.php''をサーバにアップロードします。ファイル名が正しいことを確認します\n#* ファイルを正しくアップロードすると、ブラウザで表示できるようになります (例: http://example.com/store.php )\n# TiddlyWikiで、''コントロールパネル''<<.icon $:/core/images/options-button>>の''保存''タブに移動し、次の情報を入力します:\n#* ウィキ名としてのユーザー名\n#* パスワード\n#* ''store.php''ファイルのURL(//WikiのURL''ではなく''、''store.php''ファイルへの完全なURLである必要があります//)\n\nコントロールパネルの''保存''タブには、次の構成オプションが含まれています: \n\n|!名前 |!説明 |\n|サーバーURL |サーバー上の''store.php''ファイルへの完全なURL |\n|アップロードファイル名 |TiddlyWikiを保存するために使用されるファイル名(デフォルトは''index.html'') |\n|アップロードディレクトリ |ファイルの保存に使用するディレクトリの''store.php''からの相対パス |\n|バックアップディレクトリ |バックアップに使用するディレクトリの''store.php''から相対パス |\n\n!!! 最大サイズに関する注意\n\nTWファイルのサイズが大きくなると、最大アップロードサイズや投稿サイズの値を増やすために、`.htaccess`または`htaccess`ファイル(システムによって異なります)を変更する必要があります。特定の設定については、Webホストプロバイダーに確認してください。試す前に必ずバックアップを作成してください。一部のシステムでは、設定は次のようになります: \n\n```\nphp_value upload_max_filesize 4M\nphp_value post_max_size 6M\n```\n\n!!! エラーメッセージに関する注意\n\n`split()`に関するエラーメッセージが表示される場合は、''store.php''内の`split`への参照を関数`explode`に変更する必要があるかもしれません。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/saving/Saving on iPad_iPhone.tid",
    "content": "caption: Quine\ncolor: #FF8A65\ncommunity-author: Chris Hunt\ncreated: 20131129101027725\ndelivery: App\ndescription: TiddlyWikiを操作するiPad/iPhoneアプリ\nmethod: save\nmodified: 20241008113040729\noriginal-modified: 20201007205336209\ntags: Saving iOS [[Standalone App]]\ntitle: Saving on iPad/iPhone\nja-title: iPad/iPhoneでの保存\ntype: text/vnd.tiddlywiki\n\niPad/iPhoneアプリ''Quine 2''を使用すると、iOSでTiddlyWiki5の表示、編集、変更の保存が可能になります。[[こちらからダウンロードしてください|https://apps.apple.com/us/app/quine-2/id1450128957]]。\n\n使用方法:\n\n# Quine 2を開く\n# ツールバーボタンの+をタップして新しいTiddlyWikiを作成して開きます\n# ファイルリストから既存のTiddlyWikiファイルをタップして開きます\n# TiddlyWikiを通常通り編集し、自動保存またはTiddlyWikiの保存ボタン<<.icon $:/core/images/save-button-dynamic>>を使用して通常通り保存します。\n# 開いているTiddlyWikiを閉じるには、左側の\"ドキュメント\"ツールバーボタンをタップします。\n\n*Quine 2はiOSのローカルファイルシステムとiCloudファイルシステムでネイティブに動作します。\n*Quine 2では、クラウドファイルプロバイダーに保存されたTiddlyWikiファイルを開いて編集し、保存することもできます。\n*Quine 2を使用すると、\"フォルダーレベルの共有\"をサポートするクラウドのようなファイルプロバイダーの外部ファイルへの、埋め込みWikiTextリンクと正規リンクをたどることができます。\n**これには、\"Secure Shellfish\"や\"Working Copy\"などのアプリが含まれます。ただし、ほとんどのプロバイダーは、Quine 2などのアプリがこの方法でリンクされたファイルにアクセスすることを許可していません。\n** \"適切に動作する\"ファイルプロバイダーに対してこのようなリンクを有効にする場合は、Quine 2のiOS設定で\"サンドボックス外リンクのフォルダー選択を有効にする\"設定を\"オン\"に切り替えます。\n\n//QuineはTiddlyWikiとは独立して公開されていることに注意してください//\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/saving/Saving to a Git service.tid",
    "content": "caption: Gitサービスへの保存\ncolor: #29B6F6\ncreated: 20190408173002622\ndelivery: Service\ndescription: (GitHub, GitLabの)Gitレポジトリへ変更を直接保存\nmethod: save\nmodified: 20241007114518333\noriginal-modified: 20230723074211772\ntags: Android Chrome Firefox [[Internet Explorer]] Linux Mac Opera Safari Saving Windows iOS Edge\ntitle: Saving to a Git service\nja-title: Gitサービスへの保存\ntype: text/vnd.tiddlywiki\n\nTiddlyWikiは、単一ファイル構成でGitHubリポジトリに直接変更を保存できます。\n\nGitサービスへの保存は、[[$:/ControlPanel]]の''保存''タブの中の''Gitサービスセーバー''タブで構成します。次の設定がサポートされています: \n\n* ''タイプ'' - (必須) サービスのタイプ (例: GitHub、GitLab)\n* ''ユーザー名'' - (必須) 変更を保存するために使用されるGitサービスアカウントのユーザ名\n* ''パスワード'' - (必須) 指定したアカウントのOAUTHトークンまたは個人アクセストークン。GitHubではパスワード認証が非推奨になっています。許可されている認証方法は、[[API documentation|https://developer.github.com/v3/#authentication]]に記載されています。\n* ''リポジトリ'' - (必須) Gitリポジトリの名前。所有者名とリポジトリ名の両方を指定する必要があります。例: `Jermolene/TiddlyWiki5`\n* ''ブランチ'' - (オプション) Gitリポジトリ内で使用されるブランチ名。デフォルトは、`main`(~GitHub)または、`master`(~GitLab)です。\n* ''パス'' - (オプション) ターゲットファイルのパス。デフォルトは`/`です\n* ''ファイル名'' - (必須) ターケッドファイルのファイル名\n\n注意\n\n* Gitサービストークンやパスワードは、ブラウザのローカルストレージに永続的に保存されます。共有マシンを使用する場合は、必ずパスワードをクリアしてください。認証に個人アクセストークンを使用すると、セキュリティがさらに強化されます。アクセストークンが誤って漏洩した場合、アカウントパスワードをリセットせずに取り消すことができます。\n\n---\n\n~GitHubセーバーの詳細については、[[MohammadのGitHubセーバーチュートリアル|GitHub Saver Tutorial by Mohammad]]を参照してください\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/saving/Saving via WebDAV.tid",
    "content": "caption: ~WebDAV\ncolor: #f48fb1\ncreated: 20160216191710789\ndelivery: Protocol\ndescription: SharePointなどの製品で利用できる標準Webプロトコル\nmethod: save\nmodified: 20260204105130569\noriginal-modified: 20260102081028704\ntags: Android Chrome Firefox [[Internet Explorer]] Linux Mac Opera PHP Safari Saving Windows iOS Edge\ntitle: Saving via WebDAV\nja-title: WebDAV経由の保存\ntype: text/vnd.tiddlywiki\n\n[[WebDAV|https://en.wikipedia.org/wiki/WebDAV]]が有効なサーバーでホストされている場合、TiddlyWikiは2016年以降に作成されたTiddlyWikiの変更を自動的にHTTP経由で保存します。2016年2月16日より前にwikiを作成した場合は、~WebDAVを有効にするために[[アップグレード|Upgrading]]する必要があります。\n\n\n\n!! クロスプラットフォームの軽量サーバー\n\n軽量で持ち運びでき、使いやすいソリューション\n\n*   [[rclone|https://rclone.org/commands/rclone_serve_webdav/]]\n**  実行方法は次のようにシンプルです: <br/>`rclone serve webdav some_directory_containing_tiddlywiki_files`\n* [[copyparty|https://github.com/9001/copyparty]]\n** Copypartyには~WebDAVサーバが付属しています。`copyparty -v .::rwd:c,daw`を実行するだけで、カレントフォルダをサーバーとして公開し、[[http://[::1]:3923/]]にアクセスしてTiddlyWikiを利用できます\n** Copypartyが既存のファイルを上書きできるようにするには、読み取り、書き込み、削除の権限を付与し、`daw` volflagを追加する必要があることに注意してください。\n*   [[micromata dave - シンプルなWebDAVサーバー|https://github.com/micromata/dave]]\n* [[dav-server|https://github.com/edrex/dav-server]]はHTML ~TiddlyWikiのフォルダーを素早く提供する方法です。\n*   [[hacdias webdav server|https://github.com/hacdias/webdav/]]\n    **   Mohammadによるこの~WebDAVサーバーの使用ガイド [[Tiddlywikiのスクリプト — TWのコード、マクロ、ソリューション|https://kookma.github.io/TW-Scripts/#Easy%20Local%20Saving%20with%20WebDav]]\n\n\n!! Windows\n\n*   IIS\n    **   [[pmario|https://talk.tiddlywiki.org/u/pmario]]による動画ガイド: [[01 はじめに - IISとWebDAVでTiddlyWikiを使用する方法 - YouTube|https://www.youtube.com/watch?v=tpkQhKyqPzc&list=PLuiC_HFhI4OwoVDb-B-VK0ydj-mBPNn-1]]\n    **  ~MagoArcadeによる、自己署名証明書を使用した“リアルな“IISサーバー + SSL + WindowsAuthの使用に関するステップバイステップの~HowTo動画: [[TiddlyWikiのインストール - Windows IIS WebDAVを使った方法 - YouTube|https://youtu.be/VMQ3Lfko8uQ]]\n\n*   Windows用~SharePoint / ~OneDrive\n** ~TiddlyWikiファイルを`.aspx`拡張子付きで保存する\n** ~SharePoint / ~OneDrive for Businessの同期ライブラリにコピーする\n**   ~WebDAVが無効になっていない限り、これらのフォルダのいずれかに保存されている単一ファイルのWikiを.htmlから.aspxに名前変更することは“問題なく機能“します。\n** これはMacでも機能する//可能性があり//ます。\n\n!! OSX\n*   ~WebDavNavサーバーはMac App Storeから入手できます。\n\n!! Android\n\n* RCXは、//rclone//をベースにしたAndroid用のオープンソースファイルマネージャーです。//F-Droid//と//Google Play//の両方で利用できます。統合されたWebDAVサーバーのおかげで、ポケットの中に保存しているwikiを編集できます。ローカルネットワーク上の他のデバイスと共有することもできます。\n\n!! iOS\n\n* ~WebDAVサーバーを提供できるネイティブアプリはありませんが、 [[iSH Shell|https://apps.apple.com/cn/app/ish-shell/id1436902243]]上でrcloneやcopypartyを、または、[[a-Shell|https://apps.apple.com/cn/app/a-shell/id1473805438]]上でcopypartyを使用できます。\n\n!! サーバー\n\n多くの[[NAS|https://en.wikipedia.org/wiki/NAS]]や[[Subversion|https://en.wikipedia.org/wiki/Apache_Subversion]]サーバーは特に何もしなくても~WebDAVをサポートします。ただし、独自のサーバーをセットアップするには、多少の手間がかかる場合があります:\n\n\n\n!! 無料ホスティング\n\nテストしたいくつかの~WebDAVホスティングサービス(~~box.com~~、~~swissdisk.com~~)は、Webブラウザ経由でのHTMLファイルへのアクセスをサポートしていないため、~TiddlyWikiでは動作しません。ただし、GMXメディアセンター(www.gmx.net)は、無料アカウントでWebDAVが動作することが報告されています。\n\n!!! Koofr\n\n//''Koofr''//はプライバシーを重視したクラウドサービスです。WebDAVサービスを利用するには、`koofr.eu`でアカウントをサインアップします。次に、Web アプリの`preferences`に移動し、左側のメニューから`password`に移動します。`App Passwords`までスクロールします。'tiddlywiki'などの名前を使用して、パスワードを生成します。表示されている内容にかかわらず、パスワードをどこかに保存します。\n\nおそらく、ファイル拡張子を`.aspx`に変更する必要があります。次に、ファイルを、できればスペースを含まないパスでサイトにアップロードします。次に、ブラウザで次のようなアドレスのサイトにリンクします:\n\n```\nhttps://app.koofr.net/dav/Koofr/myfile.aspx\n\n```\nそうすると、認証ダイアログが表示されます。サインアップ時に使用したメールアドレスと、先ほど生成したパスワードを使用してログインします。\n\nファイルをロードして、変更を元の場所に保存できるはずです。\n\n!! 有料ホスティング\n\n!!! pCloud\n\n//''pCloud''//はヨーロッパとアメリカにサーバーがあるクラウドサービスです。サインアップする際には、最適なサーバーの場所を選択する必要があります。次に、Webブラウザでサービスにサインインします。ブラウザインターフェースからアクセスしたいファイルをアップロードします。次に、別のタブで、次のどちらかを開きます\n\nサーバーがアメリカにある場合: \n\n```\nhttps://webdav.pcloud.com\n```\n\nまたは、サーバーがヨーロッパにある場合: \n\n```\nhttps://ewebdav.pcloud.com\n```\n\n\nファイルナビゲーションページが表示されます。ファイルに移動して、ブラウザーで開きます。変更を作成して保存できるはずです。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/saving/Saving via a Minimal Web Server.tid",
    "content": "caption: tw5server\ncolor: #70c9a0\ncommunity-author: hffqyd\ncreated: 20230302011710789\ndelivery: Server-side Script\ndescription: 保存とアップロード用のWebサーバー\nmethod: save\nmodified: 20241008110250386\noriginal-modified: 20230302055929311\ntags: Android Chrome Firefox [[Internet Explorer]] Linux Mac Opera Safari Saving Windows iOS Edge\ntitle: Saving via a Minimal Web Server\nja-title: 最小Webサーバー経由の保存\ntype: text/vnd.tiddlywiki\n\n[[tw5-server.rb | https://gist.github.com/jimfoltz/ee791c1bdd30ce137bc23cce826096da]]\nにインスパイアーされた、TiddlyWikiのWikiを保存、バックアップし、ファイルをアップロードするTiddlyWiki5用のローカルミニバイナリサーバーです。\n\ntw5serverは以下の機能を提供します:\n\n* TiddlyWiki5およびその他のファイル(例: TW5で使用される画像`[img[images/*.png]]`)用のサーバー。\n* ブラウザ経由で簡単にWikiを保存できます。\n* ディスク容量削減のため、Wikiを圧縮形式(.gz)でバックアップします。\n* 自動クリーンバックアップ: 前月までは最新の月に1つのバックアップを保持し、当月はすべてのバックアップを保持します。\n* ボタンを押すかドラッグアンドドロップしてファイル/画像をサーバーにアップロードし、tiddlywikiで外部リンクとして使用します。\n* Linux、macOS、Android、Windows用のバイナリ実行ファイルを提供します。\n\ngithub.com [[tw5-server|https://github.com/hffqyd/tw5-server]]から実行可能バイナリをダウンロードします。\n\n! 使用法\n\n```bash\ntw5server -a:192.168.0.10 -p:8000 -d:./ -b:backup\n\n-h 使用法のヘルプ\n-a アドレス、デフォルトはlocalhost\n-p ポート番号, デフォルトは8000\n-d 提供するディレクトリ、デフォルトは`カレントディレクトリ`\n-b バックアップディレクトリ名、デフォルトは`backup`\n-l stdoutにログメッセージを出力\n\nバックアップの自動クリーン戦略:\n当月のすべてのバックアップを保持し、前月までのバックアップは毎月最新の1つのみを保持します。\n```\n\nUnix/Linuxでは、最初にchmod +x tw5serverを実施し、そして実行します。\nAndroidバージョンの場合は、Termuxやその他のターミナルで実行します。\n\n次に、Webブラウザーで http://localhost:8000 (またはコマンドで指定された他のaddress:port)にアクセスし、Wikiのhtmlファイルをクリックします。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/saving/Saving via minimal Ruby server.tid",
    "content": "caption: Rubyサーバー\ncolor: #78909C\ncommunity-author: Jim Foltz\ncreated: 20180514011710789\ndelivery: Server-side Script\ndescription: サーバーとして実行できるDIYスクリプト\nmethod: save\nmodified: 20241007111123765\noriginal-modified: 20200507203129704\ntags: Android Chrome Firefox [[Internet Explorer]] Linux Mac Opera Safari Saving Windows iOS Edge\ntitle: Saving via a Minimal Ruby Server\nja-title: 最小Rubyサーバ経由の保存\ntype: text/vnd.tiddlywiki\n\nRuby Webrickを使用した最小サーバーです。同じフォルダーからファイルを提供し、保存を処理します。\n\n実行したら、Webブラウザーで http://localhost:8000 を指定してフォルダーの一覧を表示し、wikiのhtmlファイルをクリックします。\n\nスクリプトは以下を参照してください:\n\nhttps://gist.github.com/jimfoltz/ee791c1bdd30ce137bc23cce826096da\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/saving/Saving with Polly.tid",
    "content": "caption: Polly\ncolor: #29B6F6\ncommunity-author: TiddlyTweeter\ncreated: 20220223153410510\ndelivery: Service\ndescription: ダウンロードしたTiddlyWikiファイルを保存するためのバッチスクリプト\nmethod: save\nmodified: 20241007112840543\noriginal-modified: 20220223160414274\ntags: Chrome Firefox [[Internet Explorer]] Linux Mac Opera Safari Saving Windows Edge\ntitle: Saving with Polly\nja-title: Pollyでの保存\ntype: text/vnd.tiddlywiki\n\n[[Polly|https://github.com/Marxsal/polly]]は、Windows //~PowerShell//を使用して、指定したダウンロードディレクトリから~TiddlyWikiファイルを元のホームディレクトリに復元するバッチファイルシステムです。\n\nこれは実質的にファイルを保存する新しい方法になりますが、次のような機能があります: \n\n* バイナリ実行ファイルは使いません\n* 人間が読めるバッチスクリプトです\n* ~TiddlyWikiファイルに特別なプラグインは必要ありません\n* 特別なブラウザは必要ありません\n* ブラウザ拡張機能は必要ありません。\n* バックグラウンドでnode.exeを実行する必要はありません\n* パッケージの合計サイズは100kのみです\n* 指定したディレクトリに通常のファイルまたはzip形式でバックアップします\n* ターゲットディレクトリ(例えば、Dropboxフォルダなど)に追加のコピーを\"パロット\"する機能があります\n\nWindows、Linux、Macなど、//~PowerShell//が実行できる環境であればどこでも実行できます。\n\nhttps://github.com/Marxsal/polly"
  },
  {
    "path": "editions/ja-JP/tiddlers/saving/Saving with TW Receiver.tid",
    "content": "caption: TW Receiver\ncreated: 20200612233356021\ndelivery: DIY\ndescription: DIY script you can install on your own server\nmethod: save\nmodified: 20241103115046217\noriginal-modified: 20200612234312631\ntags: Saving PHP\ntitle: Saving with TW Receiver\nja-title: TWレシーバーでの保存\ntype: text/vnd.tiddlywiki\n\nTWレシーバーは、PHPベースのサーバーに保存するために使用される~TiddlyWikiプラグインであり、PHPスクリプトです。\n\nその機能には、シンプルな自動バックアップ、古いインスタンスの上書き保護、チャレンジダイジェスト認証(強化されたセキュリティ)、データ整合性署名(強化されたセキュリティ)などがあります。\n\n* 詳細情報、プラグイン、コードについては、[[TWレシーバー|https://github.com/sendwheel/tw-receiver]]をご覧ください。"
  },
  {
    "path": "editions/ja-JP/tiddlers/saving/Saving with TiddlyFox.tid",
    "content": "caption: ~TiddlyFox\ncolor: #4DB6AC\ncommunity-author: Jeremy Ruston\ncreated: 20131221085742684\ndelivery: Browser Extension\ndescription: 古いバージョンのFirefox用ブラウザ拡張\nmethod: save\nmodified: 20241008120723504\noriginal-modified: 20230806001436106\ntags: Saving Firefox\ntitle: Saving with TiddlyFox\nja-title: TiddlyFoxでの保存\ntype: text/vnd.tiddlywiki\n\n<<.deprecated-since \"FireFox 57\" \"Saving with FireFox\">>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/saving/Saving with TiddlyIE.tid",
    "content": "caption: ~TiddlyIE\ncolor: #4DB6AC\ncommunity-author: David Jade\ncreated: 20131211220000000\ndelivery: Browser Extension\ndescription: Internet Explorer用のブラウザ拡張\nmethod: save\nmodified: 20241009114650356\noriginal-modified: 20200507201415232\ntags: [[Internet Explorer]] Saving $:/deprecated\ntitle: Saving with TiddlyIE\nja-title: TiddlyIEでの保存\ntype: text/vnd.tiddlywiki\n\n<<.deprecated-since \"5.3.6\">>\n# TiddlyIEアドオンを次の場所からインストールします: \n#* https://github.com/davidjade/TiddlyIE/releases\n# Internet Explorerを再起動します。IEはTiddlyIEアドオンを有効にするように要求します。\n#> //Microsoft Script Runtime//を有効にするプロンプトが表示される場合もあります。\n# 次のリンクを[[ダウンロード|Download]]し、空のTiddlyWikiを保存します: \n#> https://tiddlywiki.com/empty.html\n# ダウンロードしたファイルを見つけます\n#* ファイル名を変更することもできますが、拡張子`.html`か`.htm`はそのままとしてください\n# Internet Explorerでファイルを開きます\n# サイドバーの''新しいTiddlerを作成します'' <<.icon $:/core/images/new-button>>ボタンを使用して、新しいTiddlerを作成してみてください。Tiddlerのコンテンツを入力し、<<.icon $:/core/images/done-button>> ''編集内容を確定します''ボタンをクリックします\n# サイドバーの<<.icon $:/core/images/save-button-dynamic>> ''Wikiを保存します''ボタンをクリックして変更を保存します。Internet Explorerは、''名前を付けて保存''ダイアログを表示して、ファイルをローカルに保存することに同意するかどうかを確認します。\n# ブラウザウィンドウを更新して、変更が正しく保存されたことを確認してください\n\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/saving/Saving with TiddlyPWA.tid",
    "content": "caption: ~TiddlyPWA\ncolor: #E056B4\ncommunity-author: Val Packett\ncreated: 20240902162617154\ndelivery: Progressive Web Application\ndescription: ブラウザストレージに保存\nmethod: save\nmodified: 20241013111446887 \noriginal-modified: 20240902162617154\ntags: Chrome Firefox Linux Mac Opera Safari Saving Windows iOS Edge\ntitle: TiddlyPWA - Save to Browser Storage\nja-title: TiddlyPWA - ブラウザストレージに保存\ntype: text/vnd.tiddlywiki\n\n~TiddlyPWAは、暗号化されたローカル永続ストレージと、簡単に無料でホストできる自己ホスト型サーバーとの効率的な同期を備えた、オフラインファーストのプログレッシブウェブアプリとしてTiddlyWiki 5を実現します。\n\nhttps://tiddly.packett.cool/\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/saving/Saving with the HTML5 saver.tid",
    "content": "caption: ダウンロード保存\ncolor: #7986CB\ncreated: 20221210215207986\ndelivery: Saver\ndescription: ほぼすべてのブラウザで利用できる普遍的テクニック\nmethod: save\nmodified: 20241006115553166\noriginal-modified: 20221210215716269\ntags: Chrome Firefox [[Internet Explorer]] Opera Safari Saving Edge Windows Mac Linux Android iOS\ntitle: Saving with the HTML5 saver\nja-title: HTML5セーバーによる保存\ntype: text/vnd.tiddlywiki\n\nこれは、他の方法がインストールされていない場合のデフォルトの保存方法です。ブラウザに組み込まれている\"ファイルのダウンロード\"ハンドラを使用し、ほぼすべてのデスクトップブラウザと多くのモバイルブラウザで動作するという利点があります。\n\n# このボタンをクリックして、空のTiddlyWiki[[ダウンロード|Download]]してください。:\n#> {{$:/editions/tw5.com/snippets/download-empty-button}}\n#> ボタンが動作しない場合は、このリンクを保存してください: https://tiddlywiki.com/empty.html\n#> ダウンロードを開始する前にブラウザが確認を求める場合があります。\n# ダウンロードしたファイルを見つけます\n#* ファイル名を変更することもできますが、拡張子`.html`か`.htm`はそのままとしてください\n# ブラウザでファイルを開きます\n# サイドバーの''新しいTiddlerを作成します'' <<.icon $:/core/images/new-button>>ボタンを使用して、新しいTiddlerを作成してみてください。Tiddlerのコンテンツを入力し、<<.icon $:/core/images/done-button>> ''編集内容を確定します''ボタンをクリックします\n# サイドバーの<<.icon $:/core/images/save-button-dynamic>> ''Wikiを保存します''ボタンをクリックして変更を保存します\n# ブラウザは変更を反映したWikiの新しいコピーをダウンロードします\n# 新しくダウンロードしたファイルを見つけてブラウザで開きます\n# 変更が正しく保存されたことを確認してください\n\n''Tip'': ほとんどのブラウザには、ダウンロード場所を毎回確認するオプションがあります。これにより、ファイルの既存バージョンを選択して置き換えることができます。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/saving/Saving.tid",
    "content": "created: 20140912140651119\nmodified: 20241005104741984\noriginal-modified: 20220812144516626\nsaving-browser: Firefox Chrome Edge Safari Opera [[Standalone App]]\nsaving-os: Windows Mac Linux Android iOS\ntags: [[Working with TiddlyWiki]]\ntitle: Saving\nja-title: 保存\ntype: text/vnd.tiddlywiki\n\n\n\\define alltagsfilter()  \n<$vars tag1=\"tag[\" tag2=\"]\" lb=\"[\" rb=\"tag[Saving]sort[delivery]!tag[$:/deprecated]]\">\n<$set filter=\"[list<stateTiddler>addprefix<tag1>addsuffix<tag2>]+[join[]addprefix<lb>addsuffix<rb>]\" name=\"alltags\" select=0>\n<$text text=<<alltags>>/>\n</$set>\n</$vars>\n\\end\n\n\\define saverssidebaritem(item:\"Linux\")\n<$checkbox tiddler=<<qualify $:/temp/$item$>> field=\"status\" checked=\"selected\" checkactions=<<checkactions \"$item$\">> uncheckactions=<<uncheckactions \"$item$\">> default=\"closed\"> $item$</$checkbox><br/>\n\\end\n\n\\define saverssidebaritemlist(fieldname:\"os\")\n<$list filter=\"[enlist{!!$fieldname$}]\" variable=\"currentItem\">\n<$macrocall $name=\"saverssidebaritem\" item=<<currentItem>>/>\n</$list>\n\\end\n\n\\define uncheckactions(item:\"Linux\")\n<$action-listops  $tiddler=<<stateTiddler>> $subfilter=\"-[[$item$]]\"/>\n\\end\n\n\\define checkactions(item:\"Linux\")\n<$action-listops $tiddler=<<stateTiddler>>  $subfilter=\"[[$item$]]\"/>\n\\end\n\n\\define introduction-message()\n<div class=\"tc-saving-introduction\">\n<div>\nお使いのプラットフォームで動作する保存方法を確認するには、チェックボックスを使用してください\n</div>\n</div>\n\\end\n\n<$vars stateTiddler=<<qualify \"$:/state/gettingstarted\">> >\n\n<div class=\"tc-wrapper-flex\">\n<div class=\"tc-saving-sidebar\">\n  <div class=\"tc-saving-sidebar-category\">\n      <div class=\"tc-saving-sidebar-category-title\">OS</div>\n     <div class=\"tc-saving-sidebar-category-item\">\n                <<saverssidebaritemlist \"saving-os\">>\n      </div>\n   </div>\n   <div class=\"tc-saving-sidebar-category\">\n       <div class=\"tc-saving-sidebar-category-title\">ブラウザ</div>\n        <div class=\"tc-saving-sidebar-category-item\">\n               <<saverssidebaritemlist \"saving-browser\">>\n        </div>\n  </div>\n  \n</div>\n\n<!-- Page content -->\n<div class=\"tc-cards\">\n<$wikify text=<<alltagsfilter>> name=\"alltagsfilterwikified\">\n<$list filter=<<alltagsfilterwikified>> emptyMessage=<<introduction-message>>>\n{{||$:/_tw5.com-card-template}}\n</$list>\n</$wikify>\n\n</div>\n</div>\n</$vars>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/saving/TiddlyBucket - Save to AWS or Google Storage.tid",
    "content": "caption: ~TiddlyBucket\ncolor: #f48fb1\ncreated: 20221126192148031\ndelivery: Protocol\ndescription: AWSやGoogleのストレージに保存\nmethod: save\nmodified: 20241013112510727\noriginal-modified: 20221126192853897\ntags: Chrome Firefox [[Internet Explorer]] Linux Mac Opera Safari Saving Windows iOS Edge\ntitle: TiddlyBucket - Save to AWS or Google Storage\nja-title: TiddlyBucket - AWSやGoogleのストレージに保存\ntype: text/vnd.tiddlywiki\n\n~TiddlyBucket - Goを使用してAWSまたはGoogleストレージに保存します\n\nこのツールは、~TiddlyWebバックエンドAPIを複製し、正規の~TiddlyWiki5アプリのようにローカルディレクトリにTiddlerファイルを読み書きできます。さらに、Google Cloud StorageバケットやAWS S3バケットを指定して同じ操作を行うこともできます。Goプログラミング言語で記述されています。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/saving/TiddlyWiki in the Sky for Dropbox.tid",
    "content": "caption: ~TiddlyWikiクラウドコネクタ\ncolor: #29B6F6\ncreated: 20171113135053055\ndelivery: Web Service\ndescription: DropboxでTiddlyWikiドキュメントを編集するためのオンラインサービス\nmethod: save\nmodified: 20241014103214583\noriginal-modified: 20200507202922556\ntags: Android Chrome Firefox [[Internet Explorer]] Linux Mac Opera PHP Safari Saving Windows iOS Edge\ntitle: TiddlyWiki Cloud\nja-title: TiddlyWikiクラウド\ntype: text/vnd.tiddlywiki\nurl: https://twcloud.github.io/tw5-dropbox/\n\nもともとJeremy Rustonによって構築され、現在はArlen Beilerによって管理されているTiddlyWikiクラウド(以前はTiddlyWiki in the Sky for Dropboxとして知られていました)は、ブラウザーだけを使用して自分のDropboxでTiddlyWikiドキュメントを直接編集できるオンラインサービスです。\n\nTiddlyWiki 5で動作します。TiddlyWiki Classicに関しては、主流のローダーは動作せず、新しいローダーが動作する可能性があります。\n\nhttps://twcloud.github.io/\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/system/$_core_macros_list.tid",
    "content": "created: 20220830224607117\nmodified: 20240929113645321\noriginal-modified: 20220830224638865\ntags: $:/tags/Macro\ntitle: $:/core/macros/list\nja-title: $:/core/macros/list\n\n\\define list-links(filter,type:\"ul\",subtype:\"li\",class:\"\",emptyMessage)\n\\whitespace trim\n<$type$ class=\"$class$\">\n<$list filter=\"$filter$\" emptyMessage=<<__emptyMessage__>>>\n<$subtype$>\n<$link to={{!!title}}>\n<$let tv-wikilinks=\"no\">\n<$transclude field=\"caption\">\n<$view field=\"title\"/>\n</$transclude>\n</$let>\n</$link>\n</$subtype$>\n</$list>\n</$type$>\n\\end\n\n\\define list-links-draggable-drop-actions()\n<$action-listops $tiddler=<<targetTiddler>> $field=<<targetField>> $subfilter=\"+[insertbefore<actionTiddler>,<currentTiddler>]\"/>\n\\end\n\n\\define list-links-draggable(tiddler,field:\"list\",emptyMessage,type:\"ul\",subtype:\"li\",class:\"\",itemTemplate)\n\\whitespace trim\n<span class=\"tc-links-draggable-list\">\n<$vars targetTiddler=\"\"\"$tiddler$\"\"\" targetField=\"\"\"$field$\"\"\">\n<$type$ class=\"$class$\">\n<$list filter=\"[list[$tiddler$!!$field$]]\" emptyMessage=<<__emptyMessage__>>>\n<$droppable actions=<<list-links-draggable-drop-actions>> tag=\"\"\"$subtype$\"\"\" enable=<<tv-enable-drag-and-drop>>>\n<div class=\"tc-droppable-placeholder\"/>\n<div>\n<$transclude tiddler=\"\"\"$itemTemplate$\"\"\">\n<$link to={{!!title}}>\n<$let tv-wikilinks=\"no\">\n<$transclude field=\"caption\">\n<$view field=\"title\"/>\n</$transclude>\n</$let>\n</$link>\n</$transclude>\n</div>\n</$droppable>\n</$list>\n<$tiddler tiddler=\"\">\n<$droppable actions=<<list-links-draggable-drop-actions>> tag=\"div\" enable=<<tv-enable-drag-and-drop>>>\n<div class=\"tc-droppable-placeholder\">\n{{$:/core/images/blank}}\n</div>\n<div style=\"height:0.5em;\"/>\n</$droppable>\n</$tiddler>\n</$type$>\n</$vars>\n</span>\n\\end\n\n\\define list-tagged-draggable-drop-actions(tag)\n\\whitespace trim\n<!-- Save the current ordering of the tiddlers with this tag -->\n<$set name=\"order\" filter=\"[<__tag__>tagging[]]\">\n<!-- Remove any list-after or list-before fields from the tiddlers with this tag -->\n<$list filter=\"[<__tag__>tagging[]]\">\n<$action-deletefield $field=\"list-before\"/>\n<$action-deletefield $field=\"list-after\"/>\n</$list>\n<!-- Save the new order to the Tag Tiddler -->\n<$action-listops $tiddler=<<__tag__>> $field=\"list\" $filter=\"+[enlist<order>] +[insertbefore<actionTiddler>,<currentTiddler>]\"/>\n<!-- Make sure the newly added item has the right tag -->\n<!-- Removing this line makes dragging tags within the dropdown work as intended -->\n<!--<$action-listops $tiddler=<<actionTiddler>> $tags=<<__tag__>>/>-->\n<!-- Using the following 5 lines as replacement makes dragging titles from outside into the dropdown apply the tag -->\n<$list filter=\"[<actionTiddler>!contains:tags<__tag__>]\">\n<$fieldmangler tiddler=<<actionTiddler>>>\n<$action-sendmessage $message=\"tm-add-tag\" $param=<<__tag__>>/>\n</$fieldmangler>\n</$list>\n</$set>\n\\end\n\n\\define list-tagged-draggable(tag,subFilter,emptyMessage,itemTemplate,elementTag:\"div\",storyview:\"\")\n\\whitespace trim\n<span class=\"tc-tagged-draggable-list\">\n<$set name=\"tag\" value=<<__tag__>>>\n<$list filter=\"[<__tag__>tagging[]$subFilter$]\" emptyMessage=<<__emptyMessage__>> storyview=<<__storyview__>>>\n<$elementTag$ class=\"tc-menu-list-item\">\n<$droppable actions=\"\"\"<$macrocall $name=\"list-tagged-draggable-drop-actions\" tag=<<__tag__>>/>\"\"\" enable=<<tv-enable-drag-and-drop>>>\n<$elementTag$ class=\"tc-droppable-placeholder\"/>\n<$elementTag$>\n<$transclude tiddler=\"\"\"$itemTemplate$\"\"\">\n<$link to={{!!title}}>\n<$view field=\"ja-title\">\n<$view field=\"title\"/>\n</$view>\n</$link>\n</$transclude>\n</$elementTag$>\n</$droppable>\n</$elementTag$>\n</$list>\n<$tiddler tiddler=\"\">\n<$droppable actions=\"\"\"<$macrocall $name=\"list-tagged-draggable-drop-actions\" tag=<<__tag__>>/>\"\"\" enable=<<tv-enable-drag-and-drop>>>\n<$elementTag$ class=\"tc-droppable-placeholder\"/>\n<$elementTag$ style=\"height:0.5em;\">\n</$elementTag$>\n</$droppable>\n</$tiddler>\n</$set>\n</span>\n\\end\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/system/$_core_macros_tag.tid",
    "content": "created: 20220830190922373\nmodified: 20240929114148311\noriginal-modified: 20220830191056761\ntags: $:/tags/Macro\ntitle: $:/core/macros/tag\nja-title: $:/core/macros/tag\n\n\\define tag-pill-styles()\nbackground-color:$(backgroundColor)$;\nfill:$(foregroundColor)$;\ncolor:$(foregroundColor)$;\n\\end\n\n<!-- This has no whitespace trim to avoid modifying $actions$. Closing tags omitted for brevity. -->\n\\define tag-pill-inner(tag,icon,colour,fallbackTarget,colourA,colourB,element-tag,element-attributes,actions)\n<$vars\n\tforegroundColor=<<contrastcolour target:\"\"\"$colour$\"\"\" fallbackTarget:\"\"\"$fallbackTarget$\"\"\" colourA:\"\"\"$colourA$\"\"\" colourB:\"\"\"$colourB$\"\"\">>\n\tbackgroundColor=\"\"\"$colour$\"\"\"\n><$element-tag$\n\t$element-attributes$\n\tclass=\"tc-tag-label tc-btn-invisible\"\n\tstyle=<<tag-pill-styles>>\n>$actions$<$transclude tiddler=\"\"\"$icon$\"\"\"/><$view tiddler=<<__tag__>> field=\"ja-title\" format=\"text\"><$view tiddler=<<__tag__>> field=\"title\" format=\"text\" /></$view></$element-tag$>\n\\end\n\n\\define tag-pill-body(tag,icon,colour,palette,element-tag,element-attributes,actions)\n<$macrocall $name=\"tag-pill-inner\" tag=<<__tag__>> icon=\"\"\"$icon$\"\"\" colour=\"\"\"$colour$\"\"\" fallbackTarget={{$palette$##tag-background}} colourA={{$palette$##foreground}} colourB={{$palette$##background}} element-tag=\"\"\"$element-tag$\"\"\" element-attributes=\"\"\"$element-attributes$\"\"\" actions=\"\"\"$actions$\"\"\"/>\n\\end\n\n\\define tag-pill(tag,element-tag:\"span\",element-attributes:\"\",actions:\"\")\n\\whitespace trim\n<span class=\"tc-tag-list-item\" data-tag-title=<<__tag__>>>\n<$let currentTiddler=<<__tag__>>>\n<$macrocall $name=\"tag-pill-body\" tag=<<__tag__>> icon={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerIconFilter]!is[draft]get[text]] }}} colour={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerColourFilter]!is[draft]get[text]] }}} palette={{$:/palette}} element-tag=\"\"\"$element-tag$\"\"\" element-attributes=\"\"\"$element-attributes$\"\"\" actions=\"\"\"$actions$\"\"\"/>\n</$let>\n</span>\n\\end\n\n\\define tag(tag)\n{{$tag$||$:/core/ui/TagTemplate}}\n\\end\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/system/$_core_ui_SideBar_Open.tid",
    "content": "caption: {{$:/language/SideBar/Open/Caption}}\ncreated: 20141119223515194\nmodified: 20240929114443087\noriginal-modified: 20220417143300015\ntags: $:/tags/SideBar\ntitle: $:/core/ui/SideBar/Open\nja-title: $:/core/ui/SideBar/Open\ntype: text/vnd.tiddlywiki\n\n\\whitespace trim\n\\define lingo-base() $:/language/CloseAll/\n\n\\define drop-actions()\n<$action-listops $tiddler=<<tv-story-list>> $subfilter=\"+[insertbefore<actionTiddler>,<currentTiddler>]\"/>\n\\end\n\n\\define placeholder()\n<div class=\"tc-droppable-placeholder\"/>\n\\end\n\n\\define droppable-item(button)\n\\whitespace trim\n<$droppable actions=<<drop-actions>> enable=<<tv-allow-drag-and-drop>> tag=\"div\">\n<<placeholder>>\n<div>\n$button$\n</div>\n</$droppable>\n\\end\n\n<div class=\"tc-sidebar-tab-open\">\n<$list filter=\"[list<tv-story-list>]\" history=<<tv-history-list>> storyview=\"pop\">\n<div class=\"tc-sidebar-tab-open-item\">\n<$macrocall $name=\"droppable-item\" button=\"\"\"<$button message=\"tm-close-tiddler\" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class=\"tc-btn-invisible tc-btn-mini tc-small-gap-right\">{{$:/core/images/close-button}}</$button><$link to={{!!title}}><$transclude field=\"ja-title\"><$view field=\"title\"/></$transclude></$link>\"\"\"/>\n</div>\n</$list>\n<$tiddler tiddler=\"\">\n<div>\n<$macrocall $name=\"droppable-item\" button=\"\"\"<$button message=\"tm-close-all-tiddlers\" class=\"tc-btn-invisible tc-btn-mini\"><<lingo Button>></$button>\"\"\"/>\n</div>\n</$tiddler>\n</div>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/system/$_core_ui_TagPickerTagTemplate.tid",
    "content": "created: 20220830194301860\nmodified: 20240929114711127\noriginal-modified: 20220830194658750\ntitle: $:/core/ui/TagPickerTagTemplate\nja-title: $:/core/ui/TagPickerTagTemplate\n\n\\whitespace trim\n<$button class=<<button-classes>> tag=\"a\" tooltip={{$:/language/EditTemplate/Tags/Add/Button/Hint}}>\n<$list filter=\"[<saveTiddler>minlength[1]]\">\n<$action-listops $tiddler=<<saveTiddler>> $field=<<tagField>> $subfilter=\"[<tag>]\"/>\n</$list>\n<$set name=\"currentTiddlerCSSEscaped\" value={{{ [<saveTiddler>escapecss[]] }}}>\n<$action-sendmessage $message=\"tm-focus-selector\" $param=<<get-tagpicker-focus-selector>> preventScroll=\"true\"/>\n</$set>\n<<delete-tag-state-tiddlers>>\n<$list filter=\"[<refreshTitle>minlength[1]]\">\n<$action-setfield $tiddler=<<refreshTitle>> text=\"yes\"/>\n</$list>\n<<actions>>\n<$set name=\"backgroundColor\" value={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerColourFilter]!is[draft]get[text]] }}}>\n<$wikify name=\"foregroundColor\" text=\"\"\"<$macrocall $name=\"contrastcolour\" target=<<backgroundColor>> fallbackTarget=<<fallbackTarget>> colourA=<<colourA>> colourB=<<colourB>>/>\"\"\">\n<span class=\"tc-tag-label tc-btn-invisible\" style=<<tag-pill-styles>>>\n{{||$:/core/ui/TiddlerIcon}}<$view field=\"ja-title\" format=\"text\"><$view field=\"title\" format=\"text\"/></$view>\n</span>\n</$wikify>\n</$set>\n</$button>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/system/TableOfContents.tid",
    "content": "caption: {{$:/language/SideBar/Contents/Caption}}\ncreated: 20140809114010378\nlist: Welcome HelloThere [[Quick Start]] Learning [[Working with TiddlyWiki]] [[Customise TiddlyWiki]] Features Filters Languages Editions Plugins Platforms Reference Community About\nlist-before: \nmodified: 20240929115051922\noriginal-modified: 20230322150307580\ntags: $:/tags/SideBar\ntitle: TableOfContents\nja-title: 目次\ntype: text/vnd.tiddlywiki\n\n<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'TableOfContents'>>\n\n</div>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/system/download-empty-button.tid",
    "content": "title: $:/editions/ja-JP/snippets/download-empty-button\n\n<$button class=\"tc-btn-big-green\">\n<$action-sendmessage $message=\"tm-download-file\" $param=\"$:/editions/ja-JP/download-empty\" filename=\"empty_ja.html\"/>\n空のウィキをダウンロードする {{$:/core/images/save-button}}\n</$button>"
  },
  {
    "path": "editions/ja-JP/tiddlers/system/download-empty.tid",
    "content": "title: $:/editions/ja-JP/download-empty\ntype: text/vnd.tiddlywiki\n\n\\define saveTiddlerFilter()\n[[$:/core]] [[$:/isEncrypted]] [[$:/themes/tiddlywiki/snowwhite]] [[$:/themes/tiddlywiki/vanilla]] [[$:/languages/ja-JP]] [[$:/language]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] -[has[plugin-type]field:platform[server]] +[sort[title]]\n\\end\n\\define savingEmpty()\nyes\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/system/language.tid",
    "content": "title: $:/language\n\n$:/languages/ja-JP"
  },
  {
    "path": "editions/ja-JP/tiddlers/testimonials/Testimonials - Joe Armstrong.tid",
    "content": "title: Testimonials - Joe Armstrong\nja-title: 利用者の声 - Joe Armstrong\ntags: Testimonial\ncaption: Joe Armstrong, Co-inventor of Erlang\nextlink: https://joearms.github.io/\n\n~TiddlyWikiは、アイデアを整理するために私が今まで見つけた中で最高のソフトウェアです。\n\nどのように役立つかを知るために、1時間程使ってみる価値は十分にあります。これは有意義な時間であり、考え方やアイデアの整理方法が変わります。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/testimonials/Testimonials - Network World.tid",
    "content": "title: Testimonials - Network World\nja-title: 利用者の声 - Network World\ntags: Testimonial\ncaption: Mark Gibbs, Network World\nextlink: http://www.networkworld.com/article/3028098/open-source-tools/tiddlywiki-a-free-open-source-wiki-revisited.html\n\n~TiddlyWikiはGearheadの評価で5点中6点を獲得しています(とても良いことです)。\n\nわずか2～3年経っても完璧に動作するコードを見つけることは十分に魔法ですが、7年も経つと?!\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/testimonials/Testimonials - Product Hunt.tid",
    "content": "title: Testimonials - Product Hunt\nja-title: 利用者の声 - Product Hunt\ntags: Testimonial\ncaption: Product Hunt\nextlink: https://www.producthunt.com/posts/tiddlywiki-2?utm_source=badge-top-post-badge&utm_medium=badge&utm_souce=badge-tiddlywiki-2\n\nTiddlyWikiは2020年4月17日にProduct Huntで紹介され、その日の製品ランキングで第2位に躍り出ました。\n\n<div style=\"text-align:center;\">{{Product Hunt Link}}</div>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/videos/Getting Started Video.tid",
    "content": "created: 20140104134911101\nmodified: 20241016105446426\noriginal-modified: 20140919161039197\ntags: Videos [[Working with TiddlyWiki]] [[Quick Start]]\ntitle: Getting Started Video\nja-title: 入門動画\ntype: text/vnd.tiddlywiki\n\nこの短いチュートリアルでは、スタンドアロンTiddlyWikiファイルを使用して変更を保存する基本を説明します。\n\n//(注意)この動画は少し古いので、すぐに更新されるでしょう!//\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/1g66s7UbyuU\" frameborder=\"0\" allowfullscreen></iframe>"
  },
  {
    "path": "editions/ja-JP/tiddlers/videos/Introducing TiddlyDesktop Video.tid",
    "content": "created: 20140126124827076\nmodified: 20241016105645695\noriginal-modified: 20140912150423506\ntags: Videos TiddlyDesktop\ntitle: Introducing TiddlyDesktop Video\nja-title: TiddlyDesktopの紹介動画\ntype: text/vnd.tiddlywiki\n\nこの簡単な紹介では、TiddlyDesktopをインストールして使用する方法を示します:\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/i3Bggkm7paA\" frameborder=\"0\" allowfullscreen></iframe>"
  },
  {
    "path": "editions/ja-JP/tiddlers/videos/Introduction Video.tid",
    "content": "created: 20141126153016142\nmodified: 20241016105546203\noriginal-modified: 20141126153016142\ntags: Videos [[Working with TiddlyWiki]]\ntitle: Introduction Video\nja-title: 紹介動画\ntype: text/vnd.tiddlywiki\n\nこの短いプレゼンテーションでは、TiddlyWikiの基本原則を説明します\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/KtCUr83XgyE\" frameborder=\"0\" allowfullscreen></iframe>\n\n動画の作成に使用されたTiddlyWikiは以下にあります: \n\nhttps://tiddlywiki.com/editions/introduction/\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/videos/TiddlyWiki on Firefox for Android Video.tid",
    "content": "created: 20140104134947485\nmodified: 20241016105931213\noriginal-modified: 20140912150329611\ntags: Videos [[Saving with TiddlyFox]]\ntitle: TiddlyWiki on Firefox for Android Video\nja-title: Android版FirefoxでのTiddlyWiki動画\ntype: text/vnd.tiddlywiki\n\nこの簡単なスクリーンキャストは、TiddlyWikiに変更を保存できるようにAndroid版Firefoxをセットアップする方法を示しています:\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/iikkv9orGGI\" frameborder=\"0\" allowfullscreen></iframe>"
  },
  {
    "path": "editions/ja-JP/tiddlers/videos/Videos.tid",
    "content": "created: 20140912150153512\nmodified: 20241016105319031\noriginal-modified: 20140919161220608\ntags: Learning\ntitle: Videos\nja-title: 動画\ntype: text/vnd.tiddlywiki\n\n次のTiddlyWiki動画が利用可能です\n\n<<list-links \"[tag[Videos]]\">>\n\n目的は、TiddlyWikiを立ち上げて実行する方法を人々にガイドする一連の動画を厳選することです。[[貢献|Contributing]]は大歓迎です"
  },
  {
    "path": "editions/ja-JP/tiddlers/videos/Working with the TiddlyWiki5 repository video.tid",
    "content": "created: 20140920133836765\nmodified: 20241016110052423\noriginal-modified: 20140920134005568\ntags: [[Working with the TiddlyWiki5 repository]]\ntitle: Working with the TiddlyWiki5 repository video\nja-title: TiddlyWiki5リポジトリの操作に関する動画\ntype: text/vnd.tiddlywiki\n\nMario Pietschは、[[TiddlyWiki5 GitHubリポジトリの操作|Working with the TiddlyWiki5 repository]]に関する短いチュートリアル動画を作成しました\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/6ElUruH92tc\" frameborder=\"0\" allowfullscreen></iframe>"
  },
  {
    "path": "editions/ja-JP/tiddlers/wikitext/Images in WikiText.tid",
    "content": "caption: 画像\ncreated: 20131205160221762\nmodified: 20241110103117361\noriginal-modified: 20220129152627668\ntags: WikiText [[Working with TiddlyWiki]]\ntitle: Images in WikiText\nja-title: WikiTextでの画像\ntype: text/vnd.tiddlywiki\n\n! 画像のフォーマット\n\n次の構文を使用して、WikiTextに画像を含めることができます:\n\n```\n[img[Motovun Jack.jpg]]\n[img[https://tiddlywiki.com/favicon.ico]]\n```\n\nエディターのツールバーから画像Tiddlerを挿入することもできます。''画像''(<<.icon $:/core/images/picture>>)をクリックし、画像ファイルを選択します。\n\n画像のソースが画像Tiddlerのタイトルである場合、そのTiddlerが直接表示されます。それ以外の場合はURLとして解釈され、URLを含む`src`属性を持つHTMLの`<img>`タグが生成されます。\n\nツールチップも指定できます:\n\n```\n[img[説明ツールチップ|Motovun Jack.jpg]]\n```\n\nCSSクラスと画像の幅と高さを指定するための属性を指定できます: \n\n```\n[img width=32 [Motovun Jack.jpg]]\n[img width=32 class=\"tc-image\" [Motovun Jack.jpg]]\n```\n\n属性は、トランスクルージョンや変数参照として指定できることに注意してください: \n\n```\n[img width={{!!mywidth}} class=<<image-classes>> [Motovun Jack.jpg]]\n```\n\n画像の構文は、ImageWidgetを呼び出すための省略形です。\n\n! トランスクルージョンによる画像の表示\n\nTiddlerをトランスクルードすることで、Tiddlerに保存されている画像を表示することもできます。この方法の欠点は、画像のサイズを直接制御する方法がないことです。\n\n```\n{{Motovun Jack.jpg}}\n```\n\n次のようにレンダリングされます:\n\n{{Motovun Jack.jpg}}\n\n! リンクとしての画像\n```\n<$link to=\"HelloThere\" tooltip=\"Custom tooltip\">{{$:/core/icon}}</$link>\n```\n\n次のようにレンダリングされます:\n\n<$link to=\"HelloThere\" tooltip=\"Custom tooltip\">{{$:/core/icon}}</$link>\n\n! 画像のインポート\n\n<<.button import>>ボタン(サイドバーの<<.sidebar-tab Tools>>タブにある)を使用するか、ドラッグアンドドロップします。詳細については、[[Tiddlerのインポート|Importing Tiddlers]]を参照してください。\n\n<<.from-version \"5.2.0\">> Tiddlerエディタに画像をドロップするかペーストすることでも、画像をインポートできます。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/wikitext/Styles and Classes in WikiText.tid",
    "content": "caption: スタイルとクラス\ncreated: 20131205160532119\nmodified: 20241123111135825 \noriginal-modified: 20230726105744098\ntags: WikiText [[How to apply custom styles]]\ntitle: Styles and Classes in WikiText\nja-title: WikiTextでのスタイルとクラス\ntype: text/vnd.tiddlywiki\n\nCSSスタイルとクラスは、`@@二重のアットマーク@@`で囲まれたインラインコンテンツまたはブロックコンテンツに適用できます。クラスは、特定のブロックWikiText要素に適用できます。\n\nスタイルやクラスを指定せずに`@@二重のアットマーク@@`でラップされた//インラインコンテンツ//には、`tc-inline-style`クラスが割り当てられ、ハイライトされたテキストとして表示されます。ハイライトされたテキストの前景色と背景色は、現在のパレットで`highlight-background`と`highlight-foreground`として定義されている色が使われます。\n\n<<wikitext-example src:\"@@ハイライトされたテキスト@@\">>\n\n!! スタイル\n\n複数のスタイル属性(例: `color`)は、各属性の後にセミコロン`;`をつけ、開始の`@@`の直後に、スペースを入れずに、記述します。\n\n<<wikitext-example src:\"@@color:steelblue;background-color:lightcyan;カスタムスタイルのテキスト@@\">>\n\n同様に、//ブロックコンテンツ//にもスタイルを適用できます。スタイルやクラスを指定せずに`@@`内にブロック コンテンツをラップしても効果はありません。\n\n<<wikitext-example src:\"@@background-color:lightcyan;\n* アイテム 1\n* アイテム 2\n@@\n\">>\n\n!! クラス\n\n次のTiddlerでは、デモンストレーションの目的で`coloured-text`クラスと`coloured-bg`クラスが定義されています: \n\n\n```\n.coloured-text {color: darkkhaki;}\n.coloured-bg {background-color: cornsilk;}\n```\n\n<style>\n.coloured-text {color: darkkhaki;}\n.coloured-bg {background-color: cornsilk;}\n</style>\n\n複数のクラス(それぞれ`.`のプレフィックス付き)は、開始の`@@`の直後にスペース` `を空けて記述します。これは、インラインコンテンツとブロックコンテンツの両方で機能します: \n\n<<wikitext-example src:\"@@.coloured-text.coloured-bg 2つのクラスが割り当てられたインラインコンテンツ@@\">>\n\n<<wikitext-example src:\"@@.coloured-bg\n* ブロックコンテンツ\n* 1つのクラスを割り当て\n@@\">>\n\n複数のクラスとスタイルを同時に適用できます。インラインコンテンツの場合は、最初にスタイルを定義し、その後にクラスを定義する必要があります。\n\n<<wikitext-example src:\"@@font-size:1.5em;.coloured-text.coloured-bg カスタムスタイルとクラスを持つテキスト@@\">>\n\nブロックコンテンツの場合、スタイルとクラスは、インラインコンテンツの場合と同じように開始`@@`の後の1行で定義することも、それぞれ`@@`で始まる別々の行で定義することもできます: \n\n<<wikitext-example src:\"@@font-size:1.5em;\n@@.coloured-text\n@@.coloured-bg\n* ブロックコンテンツ\n* カスタムスタイルとクラス\n@@\">>\n\n同様に、行の先頭の文字によって導入されるブロックWikiText要素に、スタイルではなくクラスを適用できます。プレフィックス`.`が付くクラスは、特殊文字の直後に記述され、その後にスペース` `が続きます。\n\n<<wikitext-example src:\"!!!.coloured-bg カスタム背景クラスを使用した見出し。\n\n* 標準のリスト要素。\n*.coloured-bg カスタム背景色を持つリスト要素。\n*.coloured-text カスタムテキスト色を持つリスト要素。\n*.coloured-bg.coloured-text 両方のカスタムクラスを持つリスト要素。\n\">>"
  },
  {
    "path": "editions/ja-JP/tiddlers/workingwithtw/Audio.tid",
    "content": "created: 20141018131647392\nmodified: 20241110105324243\noriginal-modified: 20141019200654436\ntags: [[Working with TiddlyWiki]] Features\ntitle: Audio\nja-title: オーディオ\ntype: text/vnd.tiddlywiki\n\nオーディオファイルは、[[画像|Images in WikiText]]と非常によく似た方法でTiddlyWikiに組み込むことができます。\n\n! 埋め込みオーディオ\n\n小さなオーディオファイルは、TiddlyWiki内に直接埋め込むことができます。埋め込みは、TiddlyWikiファイルのサイズが大きくなるため、大きなファイル(数百キロバイト以上)には適していません。\n\nたとえば、Tiddler[[TiddlyWiki.mp3]]には、\"TiddlyWiki\"という単語のMP3録音が含まれています。このTiddlerにアクセスすると、録音を再生するオーディオプレーヤーが表示されます。\n\nオーディオファイルをトランスクルードすることもできます。例:\n\n<<wikitext-example-without-html '{{TiddlyWiki.mp3}}'>>\n\n! 外部オーディオ\n\n外部オーディオTiddlerは、''_canonical_uri''フィールドを使用して外部オーディオファイル/ストリームを指定し、''テキスト''フィールドをブロックします。これにより、サイズが大幅に削減されますが、再生は可能です。\n\nたとえば、Tiddler[[Caruso - Ave Maria]]は、 http://archive.org でホストされているオンラインオーディオ録音を指しています: \n\n<<wikitext-example-without-html '{{Caruso - Ave Maria}}'>>\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/workingwithtw/BrowserCompatibility.tid",
    "content": "title: BrowserCompatibility\nja-title: ブラウザの互換性\ntags: [[Working with TiddlyWiki]]\n\nTiddlyWikiは、HTML5互換ブラウザで動作するように設計されています\n\n次の表は、TiddlyWikiが動作することが知られているブラウザのバージョンをまとめたものです\n\n|!ブラウザ |!ステータス |\n|Internet Explorer |Version 10以降 |\n|Chrome |最近のすべてのバージョン |\n|Firefox |最近のすべてのバージョン |\n|Firefox for Android |最近のすべてのバージョン |\n|Safari |Version 6以降 |\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/workingwithtw/Creating and editing tiddlers.tid",
    "content": "created: 20140904140300000\nmodified: 20241101121407637\noriginal-modified: 20160607153747195\ntags: [[Working with TiddlyWiki]]\ntitle: Creating and editing tiddlers\nja-title: Tiddlerの作成と編集\ntype: text/vnd.tiddlywiki\n\n! Tiddlerを作成する\n\nTiddlerを作成するには、サイドバーの<<.icon $:/core/images/new-button>>ボタンをクリックするか、未作成Tiddlerへのリンクをクリックします。未作成Tiddlerへのリンクは、[[青い斜体|blue italics]]で表示されます。\n\n参照:\n\n* [[日誌（Journal Tiddler）の作成|Creating journal tiddlers]]\n\n! Tiddlerを編集する\n\n既存のTiddlerを編集するには、Tiddlerの右上にある<<.icon $:/core/images/edit-button>>ボタンをクリックします。\n\n!! ドラフトモード\n\n新しいTiddlerを作成したり、既存のTiddlerを編集したりすると、Tiddlerはドラフトモードになります。これにより、Tiddlerをさまざまな方法で修正するためのコントロールパネルが表示されます。コントロールパネルは、上から下までいくつかの部分で構成されています: \n\n*''タイトルフィールド'' - Tiddlerのタイトルを変更できます\n*''タグセレクタ'' - タグを追加や削除できます。ボックスにタグ名を入力すると、一致する既存のタグがドロップダウンリストに表示されます。このリストから選択するか、まったく新しいタグを作成できます。次に、''追加''ボタンをクリックするか、<kbd>Enter</kbd>キーを押して、タグをTiddlerに追加します。各タグは、色付きのピルとして表示されます。ピルの\"×\"をクリックすると、そのタグが削除されます。\n*''テキストエリア'' - Tiddlerのメインコンテンツを編集できます。''プレビュー''ボタン (<<.icon $:/core/images/preview-closed>> / <<.icon $:/core/images/preview-open>>)をクリックすると、変更内容を確認できます。\n*''種類セレクタ'' - Tiddlerを画像などのように特別な方法で表示する必要がある場合に使用します。オプションのリストについては、ContentTypeを参照してください。デフォルトは`text/vnd.tiddlywiki`で、TiddlerにWikiTextが含まれていることを意味します。\n*''フィールドセレクタ'' - Tiddlerのフィールドを追加、削除できます。たとえば、他のTiddlerをタグ付けするために使用されているTiddlerを編集している場合は、[[''list''フィールド|ListField]]を追加して、それらのTiddlerがリストされる順序を変更できます。\n\n! 確定、破棄、削除\n\n編集が完了したら、Tiddlerの右上にあるボタンをクリックします:\n\n*''編集内容を確定します''ボタン(<<.icon $:/core/images/done-button>>)をクリックすると、このTiddlerへの変更が保存され、ドラフトモードが終了します。Wikiが[[自動保存|AutoSave]]に設定されている場合、変更は永続的に保存されます。設定されていない場合は、変更はWebブラウザに一時的に保存されているだけなので、サイドバーのマスター''Wikiを保存します''ボタン(<<.icon $:/core/images/save-button-dynamic>>)をクリックせずに~TiddlyWikiページを閉じると、変更は失われます。\n*''このTildderの変更を破棄します''ボタン(<<.icon $:/core/images/cancel-button>>)は、(確認を求めた後)、変更を破棄し、ドラフトモードを終了します。\n*''Tiddlerを削除します''ボタン(<<.icon $:/core/images/delete-button>>)は、削除ボタンは、Tiddlerを削除します(確認メッセージが表示された後)。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/workingwithtw/Creating journal tiddlers.tid",
    "content": "created: 20141010093214683\nmodified: 20241103101345607\noriginal-modified: 20181218180042029\ntags: [[Working with TiddlyWiki]]\ntitle: Creating journal tiddlers\nja-title: 日誌（Journal Tiddler）の作成\ntype: text/vnd.tiddlywiki\n\n! イントロダクション\n\n日誌（Journal Tiddler）は、タイトルとして日付や時刻を使用するTiddlerです。通常、タイムスタンプ付きの情報を素早く記録する手段として使用されます。\n\n日誌（Journal Tiddler）で追加のタグを使用して他のTiddlerにリンクし、情報項目間の関係を確立することができます。\n\nたとえば、''2014年10月10日''という日誌（Journal Tiddler）を使用して、その特定の日に捉えた考えや情報を記録できます。''ショッピング''と''ロンドン''のタグを使用して、ロンドンでのショッピングに関する記載であることを示すことができます。\n\n! 日誌（Journal Tiddler）を作成する\n\n日誌（Journal Tiddler）を作成する最も簡単な方法は、サイドバーの''ツール''タブにある''新しい日誌''ボタン<<.icon $:/core/images/new-journal-button>>を使用することです。ボタンを頻繁に使用する場合は、ボタンの横にあるチェックボックスをクリックして、検索ボックスのすぐ上にボタンが表示されるようにします。\n\n''新しい日誌''ボタンは、''Journal''タグと今日の日付から派生したタイトルを持つ空のTiddlerとして日誌エントリを作成します。そのタイトルの日誌（Journal Tiddler）がすでに存在する場合は、これが編集用に表示されます。\n\n! タグ付き日誌（Journal Tiddler）を作成する\n\n一般的な一連のアクションは、今日の日誌エントリを作成(または再表示)し、別のTiddlerのタイトルでタグ付けすることです。これは、他のTiddlerのツールバーにある''タグ付き日誌の作成''ボタン<<.icon $:/core/images/new-journal-button>>で実施できます。このボタンは、TiddlerのInfoPanelの''ツール''タブで見つけられます。\n\nたとえば、''Oxford Street''というTiddlerをレビューしていて、それがショッピング旅行の計画に関連していることに気付いたとします。''Oxford Street'' Tiddlerの''タグ付き日誌の作成''ボタンをクリックすると、 ''Oxford Street''でタグ付けされた日誌エントリが表示されます。\n\n! 日誌（Journal Tiddler）のカスタマイズ\n\n新しい日誌エントリの作成方法を構成するには、[[コントロールパネルの|$:/ControlPanel]] <<.icon $:/core/images/options-button>>の''情報''の中の''基本''タブに訪ずれます。 \n\n* \"日誌（Journal Tiddlers）のデフォルトのタイトル\"は、これらのTiddlerに名前を付ける方法を[[日付のフォーマット文字列|DateFormat]]として指定します。 デフォルト設定`YYYY年MM月DD日(ddd)`では、新しいエントリのタイトルは\"2014年10月10日(金)\"という形式になります\n* \"日誌（Journal Tiddler）のタグ\"は、新しい日誌エントリに自動的に付与されるタグを[[特定|Title List]]します。例: `Journal [[Summer vacation]]`\n\nヒント: ''新しい日誌''をクリックするたびに別の日誌（Journal Tiddler）を作成したい場合(同じ日に何度も行う場合でも)、タイトル形式に時刻を含めることができます。日付形式として`YYYY年MM月DD日(ddd) 0hh:0mm:0ss`などを指定します。\n\nもう1つの便利なトリックは、タイトルフォーマットのどこかに`<<currentTiddler>>`を含めることです。つまり、複数の異なるTiddlerで''タグ付き日誌の作成''をクリックすると、それらの各Tiddlerのタイトルが、結果として得られる日誌エントリの名前の一部になります。\n\n! カスタムの新しい日誌（Journal Tiddler）ボタンを作成する\n\n独自のカスタム日誌ボタンを作成する方法については、[[カスタム日誌ボタンの作成|Making a custom journal button]] Tiddlerを参照してください"
  },
  {
    "path": "editions/ja-JP/tiddlers/workingwithtw/Formatting text in TiddlyWiki.tid",
    "content": "created: 20140908131500000\nmodified: 20241103115932893\noriginal-modified: 20140919214820549\ntags: [[Working with TiddlyWiki]]\ntitle: Formatting text in TiddlyWiki\nja-title: TiddlyWikiでのテキストフォーマット\ntype: text/vnd.tiddlywiki\n\nTiddlerのテキスト内では、WikiTextと呼ばれる特別なフォーマットを使用して、テキストの表示方法を制御できます。\n\nWikiTextは、[[エディターツールバー|Editor toolbar]]を使用して入力することも、手動で入力することもできます。前者は便利ですが、WikiTextマークアップコードがわかっている場合は後者の方が速いです。\n\n! 単純なフォーマット\n\n最も単純なものは、WikiTextでは、太字、斜体、リスト、表などの使い慣れたワードプロセッサ機能を使用できます。例:\n\n```\nThe ''quick'' brown ~~flea~~ fox //jumps// over the `lazy` dog\n```\n\n… 次のように表示されます:\n\nThe ''quick'' brown ~~flea~~ fox //jumps// over the `lazy` dog\n\n! Tiddlerとの連携\n\nWikiTextでは、二重角括弧を使用するか、CamelCaseワードの自動リンクを利用して、Tiddlerにリンクすることができます: \n\n```\nThis is a link to HelloThere, and one to [[History of TiddlyWiki]]\n```\n\n… 次のように表示されます:\n\nThis is a link to HelloThere, and one to [[History of TiddlyWiki]]\n\n! マクロ\n\nマクロを使用すると、WikiTextの繰り返し断片をパッケージ化して、簡単に再利用できるようになります。\n\nたとえば、一意の識別子から~YouTube動画のURLを生成するマクロの定義は次のとおりです:\n\n```\n\\define youtube(video)\nhttps://www.youtube.com/watch?v=$video$\n\\end\n```\n\nこの定義を適用すると、`<<youtube 1g66s7UbyuU>>`は、URL https://www.youtube.com/watch?v=1g66s7UbyuU を生成します\n\n! 高度なWikiText\n\n高度なWikiText機能を使用すると、自動リストやドロップダウンメニューなどのインタラクティブ機能を作成できます。実際、TiddlyWiki自体のユーザーインターフェイス全体がWikiTextで記述されているため、TiddlyWikiで見られるどの機能もすべて、独自のWikiで使用できます。\n\n高度な機能の中には、複雑なコーディングを必要とするものもあります。TiddlyWikiには、タブ、目次、Tiddlerリストなど、一般的なユーザーインターフェイスタスクを簡素化する組み込みマクロがいくつか用意されています。\n\n! 詳細\n\nWikiTextの書き方の詳細については、[[WikiText]]を参照してください。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/workingwithtw/Navigating between open tiddlers.tid",
    "content": "created: 20140908092600000\nmodified: 20241031112948060\noriginal-modified: 20160607145200048\ntags: [[Working with TiddlyWiki]]\ntitle: Navigating between open tiddlers\nja-title: 表示中のTiddler間の移動\ntype: text/vnd.tiddlywiki\n\nデフォルトの\"クラシック\"ストーリービューモードでは、表示中のTiddlerは\"ストーリーリバー\"と呼ばれる垂直の列に表示されます。ストーリーリバーをナビゲートする方法、つまり表示中のTiddler間を行ったり来たりする方法はいくつかあります。\n\n* 最善の方法は、サイドバーの''表示中タブを使用''して、移動したい表示中Tiddlerをクリックすることです。\n\n** ''表示中''タブには、表示されているすべてのTiddlerのリストが含まれています。リスト内の任意のTiddlerをクリックすると、そのTiddlerにジャンプできます。また、Tiddlerリンクの横にある\"×\"をクリックすると、そのTiddlerを閉じることができます。表示中のTiddlerリストの下部には、便利な<<.icon $:/core/images/close-all-button>> ''すべて閉じる''ボタンもあります。\n\n* 別の方法は、右側のストーリーリバースクロールバーを使用して''ページを上下にスクロールする''ことです。\n\n** ストーリーリバーとサイドバーの両方が表示画面より下に伸びている場合は、スクロールバーが//2つ//あることに注意してください。外側または右端のスクロールバーはストーリーリバーを制御します。内側のスクロールバーはサイドバーを制御します。\n\n* 多くの新米ユーザーが試みる不格好な方法は、探しているTiddlerにたどり着くまで''Tiddlerを1つずつ閉じていく''ことです。\n** ストーリーリバーの一番上または中間にあるTiddlerを閉じると、その下にあるすべてのTiddlerがリバーを上って行きます。閉じたTiddlerのすぐ下のTiddlerが上にスライドして、その位置を占めます。\n\n** 一番下のTiddlerを閉じると、そのTiddlerが閉じて、その上のTiddlerの下部が見えるようになります。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/workingwithtw/Performance.tid",
    "content": "created: 20150330155120127\nmodified: 20241110110532672\noriginal-modified: 20191014091943444\ntags: [[Working with TiddlyWiki]]\ntitle: Performance\nja-title: パフォーマンス\ntype: text/vnd.tiddlywiki\n\nTiddlyWikiは、スマートフォンからデスクトップコンピューターまで、モダンなデバイスを最大限に活用できるように設計されたデフォルト設定で出荷されています。古い、性能の低いデバイスで作業する必要がある場合や、大量のコンテンツを処理する必要がある場合は、パフォーマンスを向上させるために実行できる手順があります。\n\n!! 使用法\n\n* ''\"最近の更新\"タブは使用しないでください'' Tiddler の変更に応じて生成し更新するには計算に時間がかかります。\n* ''\"Vanilla\"テーマを使用します'' デフォルトの\"Snow White\"テーマには、影、透明度、ぼかしなどの視覚効果が含まれており、古いデバイスではレンダリングが遅くなる可能性があります\n* ''大きなTiddlerは避けてください'' 大きなビットマップはTiddlyWikiのパフォーマンスを著しく低下させる可能性があります。たとえば、最近のスマートフォンで撮影した画像は5MB以上になることがよくあります。可能な限り、ExternalImagesを使用してください\n* ''一度にたくさんのTiddlerを開かないでください'' 表示中のTiddlerすべては、ストアが変更されるたびに最新の状態に保つための処理が必要になります(たとえば、ドラフトのTiddlerに入力している間)。zoominストーリービューを使用すると、サイドバーの''表示中''タブに数十のTiddlerがリストされてしまうことがよくあります。<<.icon $:/core/images/close-all-button>> ''すべて閉じる''ボタンを使用して、表示中のすべてのTiddlerを定期的に閉じる習慣をつけましょう\n\n!! WikiText\n\n* ''組み込みのパフォーマンス計測を使用します'' [[パフォーマンス計測|Performance Instrumentation]]の結果を調査すると、パフォーマンスの問題を明らかにするのに役立ちます\n* インデックス付きフィルター演算子を活用します。フィルター実行の開始時に次の構造を実行すると、他の方法よりも何倍も高速に実行されるように最適化されます: \n** `[all[tiddlers]tag[x]...`\n** `[all[shadows]tag[x]...`\n** `[all[tiddlers+shadows]tag[x]...`\n** `[all[shadows+tiddlers]tag[x]...`\n** `[all[tiddlers]field:y[x]...`\n** `[all[shadows]field:y[x]...`\n** `[all[tiddlers+shadows]field:y[x]...`\n** `[all[shadows+tiddlers]field:y[x]...`\n** フィールドのインデックスは現在、128文字未満のフィールド値をインデックスするようにデフォルト設定されていることに注意してください。長い値も検索できますが、インデックスは構築されません\n** また、演算子名がフィールド名である場合にも“field”演算子が使用されることに注意してください。つまり、たとえば、`[all[shadows+tiddlers]caption[x]...`は最適化されます。\n* RefreshMechanismの[[スロットル|RefreshThrottling]]機能を賢明に使用します\n* ''個別のTiddlerをトランスクルードする方がマクロを多用するよりもパフォーマンスが高く''、状況によってはその差が大きくなる可能性があることに留意してください。各Tiddlerのパース結果はキャッシュされ、Tiddlerが変更されていない場合は次回再利用されます。マクロには同じテクニックを使用できず、マクロはグローバルではなくウィジェットツリーに対してローカルであるため、毎回再度パースする必要があります。\n** <<.from-version \"5.1.23\">> パラメータや変数(つまり、`$parameter$`または`$(variable)$`)を介してテキスト置換を実行''しない''マクロのパースツリーがキャッシュされるようになりました。\n* 可能であれば、変数の宣言や文字列の連結には、''WikifyWidgetではなく、フィルター付きのSetWidgetやVarsWidgetを使用して''ください。パースツリーやウィジェット ツリーをキャッシュする機会がないため、wikifyメカニズムのパフォーマンスは比較的低くなります。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/workingwithtw/Sharing your tiddlers with others.tid",
    "content": "created: 20140908163900000\nmodified: 20251214112408533\noriginal-modified: 20230803052125981\ntags: Learning\ntitle: Sharing your tiddlers with others\nja-title: Tiddlerを他の人と共有する\ntype: text/vnd.tiddlywiki\n\n[[Tiddler|Tiddlers]]やTiddlyWiki全体を共有するには、いくつかの方法があります:\n\n* ~TiddlyWikiをeメールに添付できます\n* ~TiddlyWikiをオンラインで公開し、リンクを取得して他の人に送信、または、伝言できます:\n** ~TiddlyWikiファイル全体のWebアドレスへのリンク\n** 特定のTiddlerへの[[パーマリンク|PermaLinks]](<<.icon $:/core/images/permalink-button>>)\n** 現在開いているすべてのTiddlerの[[パーマビュー|PermaLinks]](<<.icon $:/core/images/permaview-button>>)リンク\n* [[TiddlyWikiへのDropboxリンクを共有|Sharing a TiddlyWiki on Dropbox]]できます\n* テキスト、静的HTML、カンマ区切り値(つまり、スプレッドシート互換)などのさまざまな形式で[[Tiddlerをエクスポート|How to export tiddlers]](<<.icon $:/core/images/export-button>>)できます\n* また、~TiddlyWikiを他の人がアクセスできるようにするだけで、例えば、オンラインで公開して、そこから[[Tiddlerをインポート|Importing Tiddlers]]できるようにするだけで、Tiddlerを共有できます\n* URLロケーションハッシュを介してTiddlerを共有するために使用できる実験的な[[共有プラグイン|Share Plugin]]があります"
  },
  {
    "path": "editions/ja-JP/tiddlers/workingwithtw/Using links to navigate between tiddlers.tid",
    "content": "created: 20140908093600000\nmodified: 20241031114951639\noriginal-modified: 20201129183020567\ntags: [[Working with TiddlyWiki]]\ntitle: Using links to navigate between tiddlers\nja-title: リンクを使用してTiddler間を移動する\ntype: text/vnd.tiddlywiki\n\nリンク(通常は青いテキストで表示されます)を使用すると、あるTiddlerから別のTiddlerにナビゲートできます。任意のTiddlerへのリンクをクリックすると、そのTiddlerに移動します。Tiddlerが閉じている場合は表示されます。~TiddlyWikiの素晴らしい点は、Tiddlerへのリンクを可能な限りアクセスしやすくしていることです。リンクはどこにでもあります。~TiddlyWikiでTiddlerへのリンクを見つけることができる主な場所は次のとおりです:\n\n* Tiddlerが既に存在するかどうかに関係なく、Tiddlerの本文にTiddlerへの''リンクを作成''できます。Tiddler間のリンクを作成するさまざまな簡単な方法については、[[WikiTextでのリンク|Linking in WikiText]]を参照してください。\n\n* あなたのTiddler内の各''タグピル''(このTiddlerのタイトルの下の''~TiddlyWikiの操作''タグピルなど)には、そのタグのTiddlerへのリンクと、そのタグを持つすべてのTiddlerのリストが含まれています。これにより、それらのTiddlerのいずれかに移動できます。\n\n* 各Tiddlerの''情報パネル''では、関連するTiddlerのリストを含む4つのタブにアクセスできます: \n\n** ''参照''タブには、現在のTiddler//へ//リンクしているすべてのTiddlerが一覧表示されます。\n\n** ''この名でタグ付''タブには、現在のTiddlerのタイトルでタグ付けされたすべてのTiddlerが一覧表示されます。\n\n** ''一覧''タブには、現在のTiddlerの[[listフィールド|ListField]]に記載されているすべてのTiddler(または潜在的なTiddler)が一覧表示されます。\n\n** ''被リスト''タブには、//それらの//listフィールドに現在のTiddlerティドラーを記載しているすべてのTiddlerがリストされます。\n\n* ''サイドバー''のタブには、Tiddlerへのリンクのリストが多数含まれています: \n\n** ''表示中''タブには、現在開いている、つまりページ上のどこかに表示されているすべてのTiddlerが一覧表示されます。\n\n** ''最近の更新''タブには、最近修正された順に、100件のTiddlerが表示されます。\n\n** ''詳しく''タブには、8つの追加のTiddlerリストが表示されます: \n\n*** ''すべて''はアルファベット順にすべてのTiddlerをリストします。\n\n*** ''タグ別''にはすべてのタグがリストされます。任意のタグのピルをクリックすると、そのタグが付けられたTiddlerのリストにアクセスできます。\n\n*** ''未作成''には、まだ存在しないが、他のTiddlerからリンクされているTiddlerがリストされます。これは、作成する予定だったが、作成できなかったTiddlerを見つけるのに役立ちます。\n\n*** ''下書き''には、現在下書きモードになっているTiddlerのリストが表示されます。~TiddlyWikiでは、Tiddlerの下書き編集中は別のTiddlerとして扱われるため、''Australia''というタイトルのTiddlerを編集している間は、 ''Australia'' and ''Draft of 'Australia&apos;''という2つのTiddlerが存在することになります。下書きへの変更を保存して閉じると、その変更は''Australia''Tiddlerに適用されます。そのため、''下書き''タブは、編集を開始したが未完成の下書きを見つける手段としてご利用ください。\n\n*** ''被参照なし''には、別のTiddlerから直接リンクされていないすべてのTiddlerが一覧表示されます。これは、どのTiddlerを他のTiddlerとより慎重に統合する必要があるかを示してくれるので、ファイルの編集に役立ちます。\n\n*** ''種類別''には、画像や音声などの特別なコンテンツを含むTiddlerのリストが表示されます。\n\n*** ''システム''は、すべてのSystemTiddlersを一覧表示します。\n\n*** ''隠し''には、すべてのShadowTiddlersがリストされています。\n\n* ''検索結果''は、検索ボックスに入力したテキストを含むTiddlerのリストです。\n\n* 最後に、さまざまな方法で、Tiddlerの独自カスタムリストを作成できます:\n\n** [[フィルター|Filters]]をトランスクルージョンすることができます([[WikiText でのトランスクルージョン|Transclusion in WikiText]]を参照)。たとえば、`{{{ [tag[mountain]] }}}`をTiddler に追加すると、''mountain''タグが付けられたすべてのTiddlerのリストが挿入されます。\n\n** ListWidgetを使用できます。これは、[[フィルター|Filters]]をトランスクルードするよりも複雑ですが、その代わりに、リストを希望どおりに設計し表示するための柔軟性が向上します。\n"
  },
  {
    "path": "editions/ja-JP/tiddlers/workingwithtw/Working with TiddlyWiki.tid",
    "content": "created: 20140904101100000\nlist: [[The First Rule of Using TiddlyWiki]] GettingStarted [[Getting Started Video]] Upgrading [[Navigating between open tiddlers]] [[Using links to navigate between tiddlers]] [[Searching in TiddlyWiki]] [[Creating and editing tiddlers]] [[Creating journal tiddlers]] Saving [[Formatting text in TiddlyWiki]] [[Structuring TiddlyWiki]] Tagging [[Images in WikiText]] KeyboardShortcuts Encryption\nmodified: 20241028110521720\noriginal-modified: 20140919191122898\ntags: TableOfContents\ntitle: Working with TiddlyWiki\nja-title: TiddlyWikiの操作\ntype: text/vnd.tiddlywiki\n\nTiddlyWikiを使い初めるのに役立つ情報:\n\n<<list-links \"[tag[Working with TiddlyWiki]]\">>\n\n"
  },
  {
    "path": "editions/ja-JP/tiddlywiki.info",
    "content": "{\n\t\"description\": \"Japanese (Japan) edition\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/internals\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\",\n\t\t\"tiddlywiki/starlight\",\n\t\t\"tiddlywiki/seamless\",\n\t\t\"tiddlywiki/centralised\",\n\t\t\"tiddlywiki/tight\",\n\t\t\"tiddlywiki/readonly\"\n\t],\n\t\"languages\": [\n\t\t\"ja-JP\"\n\t],\n\t\"includeWikis\": [\n\t\t{\"path\": \"../tw5.com\", \"read-only\": true}\n\t],\n\t\"build\": {\n\t\t\"index\": [\n\t\t\t\"--savetiddlers\",\"[tag[external-image]]\",\"images\",\n\t\t\t\"--rendertiddlers\",\"[tag[external-text]]\",\"$:/core/templates/tid-tiddler\",\"text\",\"text/plain\",\".tid\",\n\t\t\t\"--setfield\",\"[tag[external-image]]\",\"_canonical_uri\",\"$:/core/templates/canonical-uri-external-image\",\"text/plain\",\n\t\t\t\"--setfield\",\"[tag[external-text]]\",\"_canonical_uri\",\"$:/core/templates/canonical-uri-external-text\",\"text/plain\",\n\t\t\t\"--setfield\",\"[tag[external-image]] [tag[external-text]]\",\"text\",\"\",\"text/plain\",\n\t\t\t\"--rendertiddler\",\"$:/core/save/all\",\"index.html\",\"text/plain\"],\n\t\t\"empty\": [\n\t\t\t\"--rendertiddler\",\"$:/editions/ja-JP/download-empty\",\"empty.html\",\"text/plain\"],\n\t\t\"favicon\": [\n\t\t\t\"--savetiddler\",\"$:/favicon.ico\",\"favicon.ico\",\n\t\t\t\"--savetiddler\",\"$:/green_favicon.ico\",\"static/favicon.ico\"],\n\t\t\"static\": [\n\t\t\t\"--rendertiddler\",\"$:/core/templates/static.template.html\",\"static.html\",\"text/plain\",\n\t\t\t\"--rendertiddler\",\"$:/core/templates/alltiddlers.template.html\",\"alltiddlers.html\",\"text/plain\",\n\t\t\t\"--rendertiddlers\",\"[!is[system]]\",\"$:/core/templates/static.tiddler.html\",\"static\",\"text/plain\",\n\t\t\t\"--rendertiddler\",\"$:/core/templates/static.template.css\",\"static/static.css\",\"text/plain\"]\n\t},\n\t\"config\": {\n\t\t\"retain-original-tiddler-path\": true\n\t}\n}\n"
  },
  {
    "path": "editions/katexdemo/tiddlers/$__DefaultTiddlers.tid",
    "content": "created: 20220504131459155\nmodified: 20220504131522349\ntitle: $:/DefaultTiddlers\ntype: text/vnd.tiddlywiki\n\nHelloThere\nKaTeX\n$:/plugins/tiddlywiki/katex/developer\n"
  },
  {
    "path": "editions/katexdemo/tiddlers/$__coreURL.tid",
    "content": "title: $:/coreURL\ntags: $:/tags/Global\n\n\\function coreURL() [[../../../tiddlywikicore-$(version)$.js]substitute[]]\n"
  },
  {
    "path": "editions/katexdemo/tiddlers/HelloThere.tid",
    "content": "created: 20220504124110967\nmodified: 20220504124250020\ntitle: HelloThere\ntype: text/vnd.tiddlywiki\n\nThis is a TiddlyWiki plugin for mathematical and chemical typesetting based on KaTeX from Khan Academy.\n\nIt is completely self-contained, and doesn't need an Internet connection in order to work. It works both in the browser and under Node.js.\n\n! Installation\n\nTo add the plugin to your own wiki, just //drag the following link to your ~TiddlyWiki browser window//.\n\n[[$:/plugins/tiddlywiki/katex]]\n\n! Using KaTeX\n\nThe usual way to include ~LaTeX is to use `$$`, as shown in the examples below.\n\nThe underlying KaTeX widget is provided under the name `<$latex>` and is also available under the alias `<$katex>`. It's better to use the generic `<$latex>` name unless you are running multiple ~LaTeX plugins and wish to specifically target KaTeX.\n\n! Examples - mathematical typesetting\n\nThese examples are taken from [ext[http://khan.github.io/KaTeX/]]\n\n!! Example 1\n\nIf the text between `$$` contains newlines it will rendered in display mode:\n\n```\n$$\nf(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi\n$$\n```\n\n$$\nf(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi\n$$\n\n!! Example 2\n\n```\n$$\n\\frac{1}{\\Bigl(\\sqrt{\\phi \\sqrt{5}}-\\phi\\Bigr) e^{\\frac25 \\pi}} = 1+\\frac{e^{-2\\pi}} {1+\\frac{e^{-4\\pi}} {1+\\frac{e^{-6\\pi}} {1+\\frac{e^{-8\\pi}} {1+\\cdots} } } }\n$$\n```\n\n$$\n\\frac{1}{\\Bigl(\\sqrt{\\phi \\sqrt{5}}-\\phi\\Bigr) e^{\\frac25 \\pi}} = 1+\\frac{e^{-2\\pi}} {1+\\frac{e^{-4\\pi}} {1+\\frac{e^{-6\\pi}} {1+\\frac{e^{-8\\pi}} {1+\\cdots} } } }\n$$\n\n\n!! Example 3\n\n```\n$$\n1 +  \\frac{q^2}{(1-q)}+\\frac{q^6}{(1-q)(1-q^2)}+\\cdots = \\prod_{j=0}^{\\infty}\\frac{1}{(1-q^{5j+2})(1-q^{5j+3})}, \\quad\\quad \\text{for }\\lvert q\\rvert<1.\n$$\n```\n\n$$\n1 +  \\frac{q^2}{(1-q)}+\\frac{q^6}{(1-q)(1-q^2)}+\\cdots = \\prod_{j=0}^{\\infty}\\frac{1}{(1-q^{5j+2})(1-q^{5j+3})}, \\quad\\quad \\text{for }\\lvert q\\rvert<1.\n$$\n\n!! Widget Example\n\nFor more flexibility the KaTeX widget can also be used via the full widget syntax:\n\n```\n<$latex text=\"f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi\" displayMode=\"true\"></$latex>\n```\n\n<$latex text=\"f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi\" displayMode=\"true\"></$latex>\n\n! ''Error Handling''\n\nAny LaTeX syntax errors are flagged with the problematic syntax highlighted. For example:\n\n```\n$$ f(x) = \\int_{-\\infty}^\\infinity\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi $$\n```\n\n$$ f(x) = \\int_{-\\infty}^\\infinity\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi $$\n\n<hr>\n\n! Examples - chemical typesetting\n\nThese examples are taken from [ext[https://mhchem.github.io/MathJax-mhchem/]]\n\n!! Example 1\n\n```\n$$\n\\ce{CO2 + C -> 2 CO}\n$$\n```\n\n$$\n\\ce{CO2 + C -> 2 CO}\n$$\n\n\n!! Example 2\n\n```\n$$\n\\ce{Hg^2+ ->[I-] HgI2 ->[I-] [Hg^{II}I4]^2-}\n$$\n```\n\n$$\n\\ce{Hg^2+ ->[I-] HgI2 ->[I-] [Hg^{II}I4]^2-}\n$$\n\n\n!! Example 3\n\n```\n$$\n\\ce{x Na(NH4)HPO4 ->[\\Delta] (NaPO3)_x + x NH3 ^ + x H2O}\n$$\n```\n\n$$\n\\ce{x Na(NH4)HPO4 ->[\\Delta] (NaPO3)_x + x NH3 ^ + x H2O}\n$$\n\n\n!! Example 4\n\n```\n$$\n\\ce{A\\bond{~--}B\\bond{~=}C\\bond{-~-}D}\n$$\n```\n\n$$\n\\ce{A\\bond{~--}B\\bond{~=}C\\bond{-~-}D}\n$$\n\n\n!! Example 5\n\n```\n$$\n\\ce{Li^x_{Li,1-2x}Mg^._{Li,x}$V$'_{Li,x}Cl^x_{Cl}}\n$$\n```\n\n$$\n\\ce{Li^x_{Li,1-2x}Mg^._{Li,x}$V$'_{Li,x}Cl^x_{Cl}}\n$$\n\n\n!! Example 6\n\n```\n$$\n\\ce{Zn^2+  <=>[+ 2OH-][+ 2H+]  $\\underset{\\text{amphoteres Hydroxid}}{\\ce{Zn(OH)2 v}}$  <=>[+ 2OH-][+ 2H+]  $\\underset{\\text{Hydroxozikat}}{\\ce{[Zn(OH)4]^2-}}$}\n$$\n```\n\n$$\n\\ce{Zn^2+  <=>[+ 2OH-][+ 2H+]  $\\underset{\\text{amphoteres Hydroxid}}{\\ce{Zn(OH)2 v}}$  <=>[+ 2OH-][+ 2H+]  $\\underset{\\text{Hydroxozikat}}{\\ce{[Zn(OH)4]^2-}}$}\n$$\n"
  },
  {
    "path": "editions/katexdemo/tiddlers/KaTeX.tid",
    "content": "title: KaTeX\n\n~KaTeX is a ~JavaScript library for mathematics typesetting from Khan Academy:\n\nhttp://khan.github.io/KaTeX/\n\n"
  },
  {
    "path": "editions/katexdemo/tiddlers/LaTeX.tid",
    "content": "created: 20220504123802219\nmodified: 20220504123918414\ntitle: LaTeX\ntype: text/vnd.tiddlywiki\n\n<<<https://en.wikipedia.org/wiki/LaTeX\nLaTeX is widely used in academia for the communication and publication of scientific documents in many fields, including mathematics, computer science, engineering, physics, chemistry, economics, linguistics, quantitative psychology, philosophy, and political science.\n<<<"
  },
  {
    "path": "editions/katexdemo/tiddlers/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\na demo of the KaTeX plugin for TiddlyWiki5"
  },
  {
    "path": "editions/katexdemo/tiddlers/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\nKaTeX Demo"
  },
  {
    "path": "editions/katexdemo/tiddlers/TiddlyWiki.tid",
    "content": "created: 20220504123347104\nmodified: 20220504123400803\ntitle: TiddlyWiki\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki is a rich, interactive tool for manipulating complex data with structure that doesn't easily fit into conventional tools like spreadsheets or wordprocessors.\n\nLearn more at: https://tiddlywiki.com"
  },
  {
    "path": "editions/katexdemo/tiddlers/TiddlyWiki5.tid",
    "content": "created: 20220504123412027\nmodified: 20220504123416593\ntitle: TiddlyWiki5\ntype: text/vnd.tiddlywiki\n\n{{TiddlyWiki}}"
  },
  {
    "path": "editions/katexdemo/tiddlywiki.info",
    "content": "{\n\t\"description\": \"Demo of the KaTeX plugin\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/katex\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\"\n\t],\n\t\"includeWikis\": [\n\t],\n\t\"build\": {\n\t\t\"index\": [\n\t\t\t\"--render\",\"$:/core/save/all\",\"katexdemo.html\",\"text/plain\"],\n\t\t\"static\": [\n\t\t\t\"--render\",\"$:/core/templates/static.template.html\",\"static.html\",\"text/plain\",\n\t\t\t\"--render\",\"$:/core/templates/alltiddlers.template.html\",\"alltiddlers.html\",\"text/plain\",\n\t\t\t\"--render\",\"[!is[system]]\",\"[encodeuricomponent[]addprefix[static/]addsuffix[.html]]\",\"text/plain\",\"$:/core/templates/static.tiddler.html\",\n\t\t\t\"--render\",\"$:/core/templates/static.template.css\",\"static/static.css\",\"text/plain\"],\n\t\t\"external\": [\n\t\t\t\"--render\",\"$:/core/save/all-external-js\",\"katexdemo.html\",\"text/plain\"\n\t\t]\n\t}\n}\n"
  },
  {
    "path": "editions/ko-KR/tiddlers/images/favicon.png.meta",
    "content": "title: $:/favicon.ico\ntype: image/png\n"
  },
  {
    "path": "editions/ko-KR/tiddlers/images/green_favicon.png.meta",
    "content": "title: $:/green_favicon.ico\ntype: image/png\n"
  },
  {
    "path": "editions/ko-KR/tiddlers/system/$--core-ui-DefaultSearchResultList.tid",
    "content": "caption: {{$:/language/Search/DefaultResults/Caption}}\ncreated: 20141117081621387\nmodified: 20160429080827508\ntags: $:/tags/SearchResults\ntitle: $:/core/ui/DefaultSearchResultList\ntype: text/vnd.tiddlywiki\n\n\\define searchResultList()\n//<small>{{$:/language/Search/Matches/Title}}</small>//\n\n<$list filter=\"[!is[system]search:title{$(searchTiddler)$}sort[caption]limit[250]] [!is[system]search:ko-title{$(searchTiddler)$}sort[title]limit[250]][!is[system]search:en-title{$(searchTiddler)$}sort[title]limit[250]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n//<small>{{$:/language/Search/Matches/All}}</small>//\n\n<$list filter=\"[!is[system]search{$(searchTiddler)$}sort[title]limit[250]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n\\end\n<<searchResultList>>\n"
  },
  {
    "path": "editions/ko-KR/tiddlers/system/$--core-ui-ListItemTemplate.tid",
    "content": "created: 20160429080523192\nmodified: 20160429080534142\ntitle: $:/core/ui/ListItemTemplate\ntype: text/vnd.tiddlywiki\n\n<div class=\"tc-menu-list-item\">\n<$link to={{!!title}}>\n<$view field=\"ko-title\">\n<$view field=\"title\"/>\n</$view>\n</$link>\n</div>"
  },
  {
    "path": "editions/ko-KR/tiddlers/system/$--core-ui-SideBar-Open.tid",
    "content": "caption: {{$:/language/SideBar/Open/Caption}}\ncreated: 20160429080322465\nmodified: 20160429080340559\ntags: $:/tags/SideBar\ntitle: $:/core/ui/SideBar/Open\ntype: text/vnd.tiddlywiki\n\n\\define lingo-base() $:/language/CloseAll/\n<$list filter=\"[list[$:/StoryList]]\" history=\"$:/HistoryList\" storyview=\"pop\">\n\n<$button message=\"tm-close-tiddler\" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class=\"tc-btn-invisible tc-btn-mini\">&times;</$button> <$link to={{!!title}}><$transclude field=\"ko-title\"><$view field=\"title\"/></$transclude></$link>\n\n</$list>\n\n<$button message=\"tm-close-all-tiddlers\" class=\"tc-btn-invisible tc-btn-mini\"><<lingo Button>></$button>\n"
  },
  {
    "path": "editions/ko-KR/tiddlers/system/$--core-ui-TagTemplate.tid",
    "content": "created: 20160504080001125\nmodified: 20160504080318928\ntitle: $:/core/ui/TagTemplate\ntype: text/vnd.tiddlywiki\n\n\\define tag-styles()\nbackground-color:$(backgroundColor)$;\nfill:$(foregroundColor)$;\ncolor:$(foregroundColor)$;\n\\end\n\n\\define tag-body-inner(colour,fallbackTarget,colourA,colourB)\n<$set name=\"foregroundColor\" value=<<contrastcolour target:\"\"\"$colour$\"\"\" fallbackTarget:\"\"\"$fallbackTarget$\"\"\" colourA:\"\"\"$colourA$\"\"\" colourB:\"\"\"$colourB$\"\"\">>>\n<$set name=\"backgroundColor\" value=\"\"\"$colour$\"\"\">\n<$button popup=<<qualify \"$:/state/popup/tag\">> class=\"tc-btn-invisible tc-tag-label\" style=<<tag-styles>>>\n<$transclude tiddler={{!!icon}}/> <$view field=\"ko-title\"><$view field=\"title\" format=\"text\" /></$view>\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/tag\">> type=\"popup\" position=\"below\" animate=\"yes\"><div class=\"tc-drop-down\"><$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n<hr>\n<$list filter=\"[all[current]tagging[]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n</div>\n</$reveal>\n</$set>\n</$set>\n\\end\n\n\\define tag-body(colour,palette)\n<span class=\"tc-tag-list-item\">\n<$macrocall $name=\"tag-body-inner\" colour=\"\"\"$colour$\"\"\" fallbackTarget={{$palette$##tag-background}} colourA={{$palette$##foreground}} colourB={{$palette$##background}}/>\n</span>\n\\end\n\n<$macrocall $name=\"tag-body\" colour={{!!color}} palette={{$:/palette}}/>"
  },
  {
    "path": "editions/ko-KR/tiddlers/system/$--core-ui-ViewTemplate-title.tid",
    "content": "created: 20160429080016628\nmodified: 20160429080025660\ntags: $:/tags/ViewTemplate\ntitle: $:/core/ui/ViewTemplate/title\ntype: text/vnd.tiddlywiki\n\n\\define title-styles()\nfill:$(foregroundColor)$;\n\\end\n\\define config-title()\n$:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\\end\n<div class=\"tc-tiddler-title\">\n<div class=\"tc-titlebar\">\n<span class=\"tc-tiddler-controls\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]]\" variable=\"listItem\"><$reveal type=\"nomatch\" state=<<config-title>> text=\"hide\"><$transclude tiddler=<<listItem>>/></$reveal></$list>\n</span>\n<$set name=\"tv-wikilinks\" value={{$:/config/Tiddlers/TitleLinks}}>\n<$link>\n<$set name=\"foregroundColor\" value={{!!color}}>\n<span class=\"tc-tiddler-title-icon\" style=<<title-styles>>>\n<$transclude tiddler={{!!icon}}/>\n</span>\n</$set>\n<$list filter=\"[all[current]removeprefix[$:/]]\">\n<h2 class=\"tc-title\" title={{$:/language/SystemTiddler/Tooltip}}>\n<span class=\"tc-system-title-prefix\">$:/</span><$text text=<<currentTiddler>>/>\n</h2>\n</$list>\n<$list filter=\"[all[current]!prefix[$:/]]\">\n<h2 class=\"tc-title\">\n<$view field=\"ko-title\">\n<$view field=\"title\"/>\n</$view>\n</h2>\n</$list>\n</$link>\n</$set>\n</div>\n\n<$reveal type=\"nomatch\" text=\"\" default=\"\" state=<<tiddlerInfoState>> class=\"tc-tiddler-info tc-popup-handle\" animate=\"yes\" retain=\"yes\">\n\n<$transclude tiddler=\"$:/core/ui/TiddlerInfo\"/>\n\n</$reveal>\n</div>"
  },
  {
    "path": "editions/ko-KR/tiddlers/system/$--editions-ko-KR-Macros-list.tid",
    "content": "created: 20141127091159720\nmodified: 20160429070443000\ntags: $:/tags/Macro\ntitle: $:/editions/ko-KR/Macros/list\ntype: text/vnd.tiddlywiki\n\n\\define list-links(filter,type:\"ul\",subtype:\"li\",class:\"\")\n<!-- Essentially overriding $:/core/macros/list\n\t so that the list item is rather labeled with ko-title\n     when present. -->\n<$type$ class=\"$class$\">\n<$list filter=\"$filter$\">\n<$subtype$>\n<$link to={{!!title}}>\n<$transclude field=\"caption\">\n<$view field=\"ko-title\">\n<$view field=\"title\"/>\n</$view>\n</$transclude>\n</$link>\n</$subtype$>\n</$list>\n</$type$>\n\\end\n"
  },
  {
    "path": "editions/ko-KR/tiddlers/system/$--editions-ko-KR-Macros-timeline-title.tid",
    "content": "created: 20141212105632762\nmodified: 20160429070739423\ntags: $:/tags/Macro\ntitle: $:/editions/ko-KR/Macros/timeline-title\ntype: text/vnd.tiddlywiki\n\n\\define timeline-title()\n<$view field=\"ko-title\">\n<$view field=\"title\"/>\n</$view>\n\\end"
  },
  {
    "path": "editions/ko-KR/tiddlers/system/$--editions-ko-KR-Macros-toc-caption.tid",
    "content": "created: 20141212090228728\nmodified: 20160429070845087\ntags: $:/tags/Macro\ntitle: $:/editions/ko-KR/Macros/toc-caption\ntype: text/vnd.tiddlywiki\n\n\\define toc-caption()\n<$set name=\"tv-wikilinks\" value=\"no\">\n<$transclude field=\"caption\">\n<$view field=\"ko-title\">\n<$view field=\"title\"/>\n</$view>\n</$transclude>\n</$set>\n\\end\n\n"
  },
  {
    "path": "editions/ko-KR/tiddlers/system/ContributionBanner.tid",
    "content": "title: $:/ContributionBanner\ntags: $:/tags/EditTemplate\nlist-after: $:/core/ui/EditTemplate/title\n\n\\define base-github()\nhttps://github.com/TiddlyWiki/TiddlyWiki5/edit/master/editions/ko-KR/tiddlers/\n\\end\n\n<$set name=\"draft-of\" value={{{ [<currentTiddler>get[draft.of]] }}}>\n<$list filter=\"[[$:/config/OriginalTiddlerPaths]getindex<draft-of>]\" variable=\"target\" >\n<div class=\"tc-improvement-banner\">\n{{$:/core/images/star-filled}}우리에게 이 설명문서를 개선하는 데 도움을 줄 수 있나요?\n<a href={{{ [<target>addprefix<base-github>] }}} class=\"tc-tiddlylink-external\" target=\"_blank\" rel=\"noopener noreferrer\">~GitHub에서 이 티들러</a>를 편집하는 [[방법에 대해 알아보세요|Improving TiddlyWiki Documentation]]\n</div>\n</$list>\n</$set>\n"
  },
  {
    "path": "editions/ko-KR/tiddlers/system/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\ntype: text/vnd.tiddlywiki\n\n줄 없는 개인 웹 공책"
  },
  {
    "path": "editions/ko-KR/tiddlers/system/SiteTitle.tid",
    "content": "created: 20131211131022562\nmodified: 20160429043058045\ntitle: $:/SiteTitle\ntype: text/vnd.tiddlywiki\n\n[[티들리위키|TiddlyWiki]]"
  },
  {
    "path": "editions/ko-KR/tiddlers/system/Sources.tid",
    "content": "title: $:/editions/ko-KR/TiddlerInfo/Sources\ntags: $:/tags/TiddlerInfo\ncaption: 자료\n\n\\define makeStaticLink()\nhttps://tiddlywiki.com/languages/ko-KR/static/<$view tiddler=<<currentTiddler>> field=\"title\" format=\"doubleurlencoded\"/>.html\n\\end\n\\define outerMakeStaticLink()\n<$macrocall $name=\"makeStaticLink\" $output=\"text/plain\"/>\n\\end\n\\define makeGitHubLink()\nhttps://github.com/TiddlyWiki/TiddlyWiki5/blob/master/editions/ko-KR/tiddlers/$(githubLink)$\n\\end\n\\define outerMakeGitHubLink()\n<$set name=\"githubLink\" value={{$:/config/OriginalTiddlerPaths##$(currentTiddler)$}}>\n<a href=<<makeGitHubLink>> class=\"tc-tiddlylink-external\" target=\"_blank\"><$text text=<<makeGitHubLink>>/></a>\n</$set>\n\\end\n<$list filter=\"[all[current]!is[system]!is[shadow]]\">\n\n이 티들러의 정적 HTML 표현은 다음 URL에서 사용할 수 있습니다:\n\n* <<outerMakeStaticLink>>\n\n이 티들러에 대해 ~GitHub pull request를 보내서 우리에게 설명문서를 개선하는 데 도움을 주세요:\n\n* <<outerMakeGitHubLink>>\n</$list>"
  },
  {
    "path": "editions/ko-KR/tiddlers/system/StaticBanner.tid",
    "content": "title: $:/StaticBanner\n\n<div class=\"tc-static-alert\"><div class=\"tc-static-alert-inner\">이 문서는 [[https://tiddlywiki.com/languages/ko-KR/]]에서 티들리위키의 정적 HTML 표현의 일부입니다</div></div>\n"
  },
  {
    "path": "editions/ko-KR/tiddlers/system/download-empty-button.tid",
    "content": "title: $:/editions/ko-KR/snippets/download-empty-button\n\n<$button class=\"tc-btn-big-green\">\n<$action-sendmessage $message=\"tm-download-file\" $param=\"$:/editions/ko-KR/download-empty\" filename=\"empty_ko.html\"/>\n빈 위키 다운로드 {{$:/core/images/save-button}}\n</$button>"
  },
  {
    "path": "editions/ko-KR/tiddlers/system/download-empty.tid",
    "content": "title: $:/editions/ko-KR/download-empty\ntype: text/vnd.tiddlywiki\n\n\\define saveTiddlerFilter()\n[[$:/core]] [[$:/isEncrypted]] [[$:/themes/tiddlywiki/snowwhite]] [[$:/themes/tiddlywiki/vanilla]] [[$:/languages/ko-KR]] [[$:/language]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] -[has[plugin-type]field:platform[server]] +[sort[title]]\n\\end\n\\define savingEmpty()\nyes\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
  },
  {
    "path": "editions/ko-KR/tiddlers/system/language.tid",
    "content": "title: $:/language\n\n$:/languages/ko-KR"
  },
  {
    "path": "editions/ko-KR/tiddlers/system/static.content.tid",
    "content": "title: $:/core/templates/static.content\ntype: text/vnd.tiddlywiki\n\n\\define tv-wikilink-template() https://tiddlywiki.com/languages/ko-KR/static/$uri_doubleencoded$.html\n\n<!-- For Google, and people without JavaScript-->\n\n<$reveal default=\"yes\" text=<<savingEmpty>> type=\"nomatch\">\n\n이 브라우저는 자바스크립트를 실행하지 않은 것으로 보입니다. 같은 내용을 찾아보려면 정적 HTML 버전 중 하나를 사용할 수 있습니다:\n\n* https://tiddlywiki.com/languages/ko-KR/static.html - 구분된 문서의 개별 티들러 찾아보기\n* https://tiddlywiki.com/languages/ko-KR/alltiddlers.html#HelloThere - 모든 티들러를 포함하는 하나의 파일\n\n---\n\n{{HelloThere}}\n\n{{TiddlyWiki}}\n\n{{Features}}\n\n{{Community}}\n\n{{HelpingTiddlyWiki}}\n\n</$reveal>\n"
  },
  {
    "path": "editions/ko-KR/tiddlywiki.info",
    "content": "{\n\t\"description\": \"Korean (Korea Republic) edition\",\n\t\"plugins\": [\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\",\n\t\t\"tiddlywiki/starlight\",\n\t\t\"tiddlywiki/seamless\",\n\t\t\"tiddlywiki/centralised\",\n\t\t\"tiddlywiki/tight\",\n\t\t\"tiddlywiki/readonly\",\n\t\t\"tiddlywiki/internals\"\n\t],\n\t\"languages\": [\n\t\t\"ko-KR\"\n\t],\n\t\"includeWikis\": [\n\t\t{\"path\": \"../tw5.com\", \"read-only\": true}\n\t],\n\t\"build\": {\n\t\t\"index\": [\n\t\t\t\"--savetiddlers\",\"[tag[external-image]]\",\"images\",\n\t\t\t\"--rendertiddlers\",\"[tag[external-text]]\",\"$:/core/templates/tid-tiddler\",\"text\",\"text/plain\",\".tid\",\n\t\t\t\"--setfield\",\"[tag[external-image]]\",\"_canonical_uri\",\"$:/core/templates/canonical-uri-external-image\",\"text/plain\",\n\t\t\t\"--setfield\",\"[tag[external-text]]\",\"_canonical_uri\",\"$:/core/templates/canonical-uri-external-text\",\"text/plain\",\n\t\t\t\"--setfield\",\"[tag[external-image]] [tag[external-text]]\",\"text\",\"\",\"text/plain\",\n\t\t\t\"--rendertiddler\",\"$:/core/save/all\",\"index.html\",\"text/plain\"],\n\t\t\"empty\": [\n\t\t\t\"--rendertiddler\",\"$:/editions/ko-KR/download-empty\",\"empty.html\",\"text/plain\"],\n\t\t\"favicon\": [\n\t\t\t\"--savetiddler\",\"$:/favicon.ico\",\"favicon.ico\",\n\t\t\t\"--savetiddler\",\"$:/green_favicon.ico\",\"static/favicon.ico\"],\n\t\t\"static\": [\n\t\t\t\"--rendertiddler\",\"$:/core/templates/static.template.html\",\"static.html\",\"text/plain\",\n\t\t\t\"--rendertiddler\",\"$:/core/templates/alltiddlers.template.html\",\"alltiddlers.html\",\"text/plain\",\n\t\t\t\"--rendertiddlers\",\"[!is[system]]\",\"$:/core/templates/static.tiddler.html\",\"static\",\"text/plain\",\n\t\t\t\"--rendertiddler\",\"$:/core/templates/static.template.css\",\"static/static.css\",\"text/plain\"]\n\t},\n\t\"config\": {\n\t\t\"retain-original-tiddler-path\": true\n\t}\n}\n"
  },
  {
    "path": "editions/ko-KR-server/tiddlers/config-Navigation-UpdateAddressBar.tid",
    "content": "created: 20140910212049455\ntitle: $:/config/Navigation/UpdateAddressBar\ntype: text/vnd.tiddlywiki\nnote: <!-- TODO: Remove before end of beta -->\n\npermaview"
  },
  {
    "path": "editions/ko-KR-server/tiddlers/config-more-button.tid",
    "content": "created: 20140912140419093\nmodified: 20140912140418015\ntitle: $:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/more-page-actions\ntype: text/vnd.tiddlywiki\nnote: <!-- TODO: Remove before end of beta -->\n\nshow"
  },
  {
    "path": "editions/ko-KR-server/tiddlers/system/favicon.png.meta",
    "content": "title: $:/favicon.ico\ntype: image/png\n"
  },
  {
    "path": "editions/ko-KR-server/tiddlywiki.info",
    "content": "{\n\t\"description\": \"Server configuration of the Korean (Korea Republic) edition\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/tiddlyweb\",\n\t\t\"tiddlywiki/filesystem\",\n\t\t\"tiddlywiki/highlight\",\n\t\t\"tiddlywiki/internals\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\"\n\t],\n\t\"includeWikis\": [\n\t\t\"../ko-KR\"\n\t],\n\t\"config\": {\n\t\t\"retain-original-tiddler-path\": true,\n\t\t\"default-tiddler-location\": \"../ko-KR/tiddlers\"\n\t}\n}\n"
  },
  {
    "path": "editions/markdowndemo/tiddlers/$__coreURL.tid",
    "content": "title: $:/coreURL\ntags: $:/tags/Global\n\n\\function coreURL() [[../../../tiddlywikicore-$(version)$.js]substitute[]]\n"
  },
  {
    "path": "editions/markdowndemo/tiddlers/DefaultMissingType.tid",
    "content": "title: $:/config/DefaultMissingType\n\ntext/markdown\n"
  },
  {
    "path": "editions/markdowndemo/tiddlers/DefaultTiddlers.tid",
    "content": "title: $:/DefaultTiddlers\n\n[[HelloThere]]\n$:/plugins/tiddlywiki/markdown\n[[MarkdownTutorial]]\n[[QuickDemo]]\n[[QuickDemo Source]]\n"
  },
  {
    "path": "editions/markdowndemo/tiddlers/HelloThere.tid",
    "content": "title: HelloThere\n\nThis is a demo of TiddlyWiki5 incorporating a plugin for parsing tiddlers written in the Markdown language. The plugin uses the [[markdown-it|https://github.com/markdown-it/markdown-it]] Markdown parser internally. The MarkdownTutorial tiddler below is written in Markdown.\n\n! Installation\n\nTo add the plugin to your own TiddlyWiki5, just drag this link to the browser window:\n\n[[$:/plugins/tiddlywiki/markdown]]\n\n! Overridden Defaults\n\nThis demo overrides the default value for tiddlers created from missing tiddler\nlinks so that Markdown is the default rather than WikiText. See\nthe [[$:/config/DefaultMissingType]] tiddler for the modification.\n"
  },
  {
    "path": "editions/markdowndemo/tiddlers/MarkdownTutorial.tid",
    "content": "title: MarkdownTutorial\ntype: text/x-markdown\n\nMarkdown: Basics\n================\n\nGetting the Gist of Markdown's Formatting Syntax\n------------------------------------------------\n\nThis page offers a brief overview of what it's like to use Markdown.\nThe [syntax page][s] provides complete, detailed documentation for\nevery feature, but Markdown should be very easy to pick up simply by\nlooking at a few examples of it in action. The examples on this page\nare written in a before/after style, showing example syntax and the\nHTML output produced by Markdown.\n\nIt's also helpful to simply try Markdown out; the [Dingus][d] is a\nweb application that allows you type your own Markdown-formatted text\nand translate it to XHTML.\n\n**Note:** This document is itself written using Markdown; you\ncan see the source for it by editing this tiddler.\n\n  [s]: https://daringfireball.net/projects/markdown/syntax  \"Markdown Syntax\"\n  [d]: https://daringfireball.net/projects/markdown/dingus  \"Markdown Dingus\"\n\n\n## Paragraphs, Headers, Blockquotes ##\n\nA paragraph is simply one or more consecutive lines of text, separated\nby one or more blank lines. (A blank line is any line that looks like\na blank line -- a line containing nothing but spaces or tabs is\nconsidered blank.) Normal paragraphs should not be indented with\nspaces or tabs.\n\nMarkdown offers two styles of headers: *Setext* and *atx*.\nSetext-style headers for `<h1>` and `<h2>` are created by\n\"underlining\" with equal signs (`=`) and hyphens (`-`), respectively.\nTo create an atx-style header, you put 1-6 hash marks (`#`) at the\nbeginning of the line -- the number of hashes equals the resulting\nHTML header level.\n\nBlockquotes are indicated using email-style '`>`' angle brackets.\n\nMarkdown:\n\n    A First Level Header\n    ====================\n\n    A Second Level Header\n    ---------------------\n\n    Now is the time for all good men to come to\n    the aid of their country. This is just a\n    regular paragraph.\n\n    The quick brown fox jumped over the lazy\n    dog's back.\n\n    ### Header 3\n\n    > This is a blockquote.\n    >\n    > This is the second paragraph in the blockquote.\n    >\n    > ## This is an H2 in a blockquote\n\n\nOutput:\n\n    <h1>A First Level Header</h1>\n\n    <h2>A Second Level Header</h2>\n\n    <p>Now is the time for all good men to come to\n    the aid of their country. This is just a\n    regular paragraph.</p>\n\n    <p>The quick brown fox jumped over the lazy\n    dog's back.</p>\n\n    <h3>Header 3</h3>\n\n    <blockquote>\n        <p>This is a blockquote.</p>\n\n        <p>This is the second paragraph in the blockquote.</p>\n\n        <h2>This is an H2 in a blockquote</h2>\n    </blockquote>\n\n\n\n### Phrase Emphasis ###\n\nMarkdown uses asterisks and underscores to indicate spans of emphasis.\n\nMarkdown:\n\n    Some of these words *are emphasized*.\n    Some of these words _are emphasized also_.\n\n    Use two asterisks for **strong emphasis**.\n    Or, if you prefer, __use two underscores instead__.\n\nOutput:\n\n    <p>Some of these words <em>are emphasized</em>.\n    Some of these words <em>are emphasized also</em>.</p>\n\n    <p>Use two asterisks for <strong>strong emphasis</strong>.\n    Or, if you prefer, <strong>use two underscores instead</strong>.</p>\n\n\n\n## Lists ##\n\nUnordered (bulleted) lists use asterisks, pluses, and hyphens (`*`,\n`+`, and `-`) as list markers. These three markers are\ninterchangeable; this:\n\n    *   Candy.\n    *   Gum.\n    *   Booze.\n\nthis:\n\n    +   Candy.\n    +   Gum.\n    +   Booze.\n\nand this:\n\n    -   Candy.\n    -   Gum.\n    -   Booze.\n\nall produce the same output:\n\n    <ul>\n    <li>Candy.</li>\n    <li>Gum.</li>\n    <li>Booze.</li>\n    </ul>\n\nOrdered (numbered) lists use regular numbers, followed by periods, as\nlist markers:\n\n    1.  Red\n    2.  Green\n    3.  Blue\n\nOutput:\n\n    <ol>\n    <li>Red</li>\n    <li>Green</li>\n    <li>Blue</li>\n    </ol>\n\nIf you put blank lines between items, you'll get `<p>` tags for the\nlist item text. You can create multi-paragraph list items by indenting\nthe paragraphs by 4 spaces or 1 tab:\n\n    *   A list item.\n\n        With multiple paragraphs.\n\n    *   Another item in the list.\n\nOutput:\n\n    <ul>\n    <li><p>A list item.</p>\n    <p>With multiple paragraphs.</p></li>\n    <li><p>Another item in the list.</p></li>\n    </ul>\n\n\n\n### Links ###\n\nMarkdown supports two styles for creating links: *inline* and\n*reference*. With both styles, you use square brackets to delimit the\ntext you want to turn into a link.\n\nInline-style links use parentheses immediately after the link text.\nFor example:\n\n    This is an [example link](http://example.com/).\n\nOutput:\n\n    <p>This is an <a href=\"http://example.com/\">\n    example link</a>.</p>\n\nOptionally, you may include a title attribute in the parentheses:\n\n    This is an [example link](http://example.com/ \"With a Title\").\n\nOutput:\n\n    <p>This is an <a href=\"http://example.com/\" title=\"With a Title\">\n    example link</a>.</p>\n\nReference-style links allow you to refer to your links by names, which\nyou define elsewhere in your document:\n\n    I get 10 times more traffic from [Google][1] than from\n    [Yahoo][2] or [MSN][3].\n\n    [1]: http://google.com/        \"Google\"\n    [2]: http://search.yahoo.com/  \"Yahoo Search\"\n    [3]: http://search.msn.com/    \"MSN Search\"\n\nOutput:\n\n    <p>I get 10 times more traffic from <a href=\"http://google.com/\"\n    title=\"Google\">Google</a> than from <a href=\"http://search.yahoo.com/\"\n    title=\"Yahoo Search\">Yahoo</a> or <a href=\"http://search.msn.com/\"\n    title=\"MSN Search\">MSN</a>.</p>\n\nThe title attribute is optional. Link names may contain letters,\nnumbers and spaces, but are *not* case sensitive:\n\n    I start my morning with a cup of coffee and\n    [The New York Times][NY Times].\n\n    [ny times]: http://www.nytimes.com/\n\nOutput:\n\n    <p>I start my morning with a cup of coffee and\n    <a href=\"http://www.nytimes.com/\">The New York Times</a>.</p>\n\n\n### Images ###\n\nImage syntax is very much like link syntax.\n\nInline (titles are optional):\n\n    ![alt text](/path/to/img.jpg \"Title\")\n\nReference-style:\n\n    ![alt text][id]\n\n    [id]: /path/to/img.jpg \"Title\"\n\nBoth of the above examples produce the same output:\n\n    <img src=\"/path/to/img.jpg\" alt=\"alt text\" title=\"Title\" />\n\n\n\n### Code ###\n\nIn a regular paragraph, you can create code span by wrapping text in\nbacktick quotes. Any ampersands (`&`) and angle brackets (`<` or\n`>`) will automatically be translated into HTML entities. This makes\nit easy to use Markdown to write about HTML example code:\n\n    I strongly recommend against using any `<blink>` tags.\n\n    I wish SmartyPants used named entities like `&mdash;`\n    instead of decimal-encoded entities like `&#8212;`.\n\nOutput:\n\n    <p>I strongly recommend against using any\n    <code>&lt;blink&gt;</code> tags.</p>\n\n    <p>I wish SmartyPants used named entities like\n    <code>&amp;mdash;</code> instead of decimal-encoded\n    entities like <code>&amp;#8212;</code>.</p>\n\n\nTo specify an entire block of pre-formatted code, indent every line of\nthe block by 4 spaces or 1 tab. Just like with code spans, `&`, `<`,\nand `>` characters will be escaped automatically.\n\nMarkdown:\n\n    If you want your page to validate under XHTML 1.0 Strict,\n    you've got to put paragraph tags in your blockquotes:\n\n        <blockquote>\n            <p>For example.</p>\n        </blockquote>\n\nOutput:\n\n    <p>If you want your page to validate under XHTML 1.0 Strict,\n    you've got to put paragraph tags in your blockquotes:</p>\n\n    <pre><code>&lt;blockquote&gt;\n        &lt;p&gt;For example.&lt;/p&gt;\n    &lt;/blockquote&gt;\n    </code></pre>\n"
  },
  {
    "path": "editions/markdowndemo/tiddlers/QuickDemo.tid",
    "content": "title: QuickDemo\ntype: text/markdown\n\n<style>\n.tc-image-loaded {\n  width: 35%;\n}\n</style>\n# h1 Heading\n## h2 Heading\n### h3 Heading\n#### h4 Heading\n##### h5 Heading\n###### h6 Heading\n\n\n## Horizontal Rules\n\n____\n\n---\n\n****\n\n\n## Emphasis\n\n\n**This is bold text**\n\n__This is bold text__\n\n*This is italic text*\n\n_This is italic text_\n\n~~Strikethrough~~\n\n\n## Blockquotes\n\n\n> Blockquotes can also be nested...\n>> ...by using additional greater-than signs right next to each other...\n> > > ...or with spaces between arrows.\n\n\n## Unordered List\n\n\n+ Create a list by starting a line with `+`, `-`, or `*`\n+ Sub-lists are made by indenting 2 spaces:\n  - Marker character change forces new list start:\n    * Ac tristique libero volutpat at\n    + Facilisis in pretium nisl aliquet\n    - Nulla volutpat aliquam velit\n+ Very easy!\n\n\n## Ordered List\n\n\n1. Lorem ipsum dolor sit amet\n2. Consectetur adipiscing elit\n3. Integer molestie lorem at massa\n\n\n1. You can use sequential numbers...\n1. ...or keep all the numbers as `1.`\n\nStart numbering with offset:\n\n57. foo\n1. bar\n\n\n## Code\n\n\nInline `code`\n\nIndented code\n\n    // Some comments\n    line 1 of code\n    line 2 of code\n    line 3 of code\n\nBlock code \"fences\"\n\n```\nSample text here...\n```\n\n\n## Syntax highlighting\n\n``` js\nvar foo = function (bar) {\n  return bar++;\n};\n\nconsole.log(foo(5));\n```\n\n\n## ~KaTeX\n\n\nEquation $c = \\pm\\sqrt{a^2 + b^2}$ is typeset in inline mode.\n\nDisplay style: $$c = \\pm\\sqrt{a^2 + b^2}$$\n\n\n## Tables\n\n\n| Attribute | Description |\n| --------- | ----------- |\n| multiple  | select multiple files to download |\n| param     | parameter to be passed with the message |\n| tooltip   | optional tooltip text |\n\nAligning columns:\n\n| Column A | Column B | Column C |\n| :----    | :----:   | ----:    |\n| is   | is     | is    |\n| left | nicely | right |\n| aligned | centered | aligned |\n\n\n## Links\n\n\n[link text](http://google.com)\n\n[link with title](http://nodeca.github.io/pica/demo/ \"title text!\")\n\nlink to tiddler [QuickDemo Source](#QuickDemo%20Source)\n\nURL can contain spaces if enclosed in brackets `<>`: [QuickDemo Source](<#QuickDemo Source>)\n\n\n## Images\n\n\n![Minion](https://octodex.github.com/images/minion.png)\n![Stormtroopocat](https://octodex.github.com/images/stormtroopocat.jpg \"The Stormtroopocat\")\n\nLike links, images also have a reference style syntax\n\n![Alt text][id]\n\nwith a link reference defined later in the document.\n\n[id]: https://octodex.github.com/images/dojocat.jpg  \"The Dojocat\"\n\n\n## Subscript & Superscript\n\n\n- 19^th^\n- H~2~O\n\n\n## \\<ins\\>\n\n\n++Inserted text++\n\n\n## \\<mark\\>\n\n\n==Marked text==\n\n\n## Footnotes\n\n\nFootnote 1 link[^first].\n\nFootnote 2 link[^second].\n\nInline footnote^[Text of inline footnote] definition.\n\nDuplicated footnote reference[^second].\n\n[^first]: Footnote **can have markup**\n\n    and multiple paragraphs.\n\n[^second]: Footnote text.\n\n\n## Definition Lists\n\n\nTerm 1\n\n: Definition 1\nwith lazy continuation.\n\nTerm 2 with *inline markup*\n\n: Definition 2\n\n        { some code, part of Definition 2 }\n\n    Third paragraph of definition 2.\n\n_Compact style:_\n\nTerm 1\n  ~ Definition 1\n\nTerm 2\n  ~ Definition 2a\n  ~ Definition 2b\n"
  },
  {
    "path": "editions/markdowndemo/tiddlers/QuickDemoSource.tid",
    "content": "title: QuickDemo Source\n\n<$let tiddler=\"QuickDemo\">\n<$codeblock code={{{ [<tiddler>get[text]] }}} language={{{ [<tiddler>get[type]else[text/vnd.tiddlywiki]] }}}/>\n</$let>"
  },
  {
    "path": "editions/markdowndemo/tiddlers/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\na demo of the Markdown plugin for TiddlyWiki5"
  },
  {
    "path": "editions/markdowndemo/tiddlers/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\nmarkdowndemo"
  },
  {
    "path": "editions/markdowndemo/tiddlywiki.info",
    "content": "{\n\t\"description\": \"Demo of the Markdown plugin\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/markdown\",\n\t\t\"tiddlywiki/highlight\",\n\t\t\"tiddlywiki/katex\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\"\n\t],\n\t\"includeWikis\": [\n\t],\n\t\"build\": {\n\t\t\"index\": [\n\t\t\t\"--rendertiddler\",\"$:/core/save/all\",\"markdowndemo.html\",\"text/plain\"],\n\t\t\"external\": [\n\t\t\t\"--render\",\"$:/core/save/all-external-js\",\"markdowndemo.html\",\"text/plain\"\n\t\t]\n\t}\n}\n"
  },
  {
    "path": "editions/pluginlibrary/tiddlers/GettingStarted.tid",
    "content": "title: GettingStarted\n\nThis edition contains the components needed to set up a local server for ~TiddlyWiki plugin library testing or development.\n\n!! Import Configuration\n\nImport the configuration tiddler: $:/config/LocalPluginLibrary to your \"test wiki\".\n\n!! Important\n\n''This server is read-only. Nothing is saved back to the filesystem''\n\n!! Start the Library Server\n\nThe following commands will create the library files and start a test server at http://localhost:8888\n\n```\ncd /your/path/to/TiddlyWiki5\nnode ./tiddlywiki.js ./editions/pluginlibrary --build test-server\n```\n\n!! Test the Library with a Single File Wiki\n\n* Open a single file wiki and import the configuration tiddler form http://localhost:8888/#%24%3A%2Fconfig%2FLocalPluginLibrary\n* Open the ''$:/ControlPanel : Plugins : \"Get More Plugins\"'' modal\n\n!! Test the Library with a Node.js Wiki\n\n* Create a new wiki with eg:\n\n<<<\n```\ncd /temp/\ntiddlywiki my-wiki --init server\ntiddlywiki my-wiki --listen\n```\n<<<\n\t\n* Open my-wiki from http://localhost:8080\n* Import the http://localhost:8888/#%24%3A%2Fconfig%2FLocalPluginLibrary tiddler into \"my-wiki\"\n* Open the ''~$:/ControlPanel : Plugins : \"Get More Plugins\"'' modal\n\n!! ~ControlPanel Plugin Tab\n\n{{$:/core/ui/ControlPanel/Plugins}}"
  },
  {
    "path": "editions/pluginlibrary/tiddlers/PrereleaseLocalPluginLibrary.tid",
    "content": "title: $:/config/LocalPluginLibrary\ntags: $:/tags/PluginLibrary\nurl: http://localhost:8888/files/local/library/tmp/index.html\ncaption: Local TiddlyWiki Plugin Library Test Server\n\nA locally installed version of the plugin library //Requires a local web server to share the library//\n"
  },
  {
    "path": "editions/pluginlibrary/tiddlers/meta/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\n<<version>>"
  },
  {
    "path": "editions/pluginlibrary/tiddlers/meta/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\nLibrary test edition, plugin development"
  },
  {
    "path": "editions/pluginlibrary/tiddlers/system/$__themes_tiddlywiki_vanilla_options_sidebarlayout.tid",
    "content": "title: $:/themes/tiddlywiki/vanilla/options/sidebarlayout\n\nfluid-fixed"
  },
  {
    "path": "editions/pluginlibrary/tiddlywiki.info",
    "content": "{\n\t\"description\": \"TiddlyWiki Plugin Library\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/pluginlibrary\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\"\n\t],\n\t\"includeWikis\": [\n\t],\n\t\"build\": {\n\t\t\"test-server\": [\n\t\t\t\"--output\", \"./editions/pluginlibrary/files/local/library/tmp\",\n\t\t\t\"--build\", \"library\",\n\t\t\t\"--listen\", \"port=8888\"\n\t\t],\n\t\t\"library\": [\n\t\t\t\"--makelibrary\",\"$:/UpgradeLibrary\",\n\t\t\t\"--savelibrarytiddlers\",\"$:/UpgradeLibrary\",\"[prefix[$:/]] -[[$:/plugins/tiddlywiki/upgrade]] -[[$:/plugins/tiddlywiki/translators]] -[[$:/plugins/tiddlywiki/pluginlibrary]] -[[$:/plugins/tiddlywiki/jasmine]]\",\"recipes/library/tiddlers/\",\"$:/UpgradeLibrary/List\",\n\t\t\t\"--savetiddler\",\"$:/UpgradeLibrary/List\",\"recipes/library/tiddlers.json\",\n\t\t\t\"--rendertiddler\",\"$:/plugins/tiddlywiki/pluginlibrary/library.template.html\",\"index.html\",\"text/plain\"]\n\t}\n}\n"
  },
  {
    "path": "editions/prerelease/tiddlers/SaveTrailPlugin-enable.tid",
    "content": "title: $:/config/SaveTrailPlugin/enable\ntext: no\n"
  },
  {
    "path": "editions/prerelease/tiddlers/palette.tid",
    "content": "title: $:/palette\n\n$:/palettes/Vanilla"
  },
  {
    "path": "editions/prerelease/tiddlers/sidebarlayout.tid",
    "content": "title: $:/themes/tiddlywiki/vanilla/options/sidebarlayout\n\nfluid-fixed"
  },
  {
    "path": "editions/prerelease/tiddlers/sidebarwidth.tid",
    "content": "title: $:/themes/tiddlywiki/vanilla/metrics/sidebarwidth\ntext: 450px\n"
  },
  {
    "path": "editions/prerelease/tiddlers/system/DefaultTiddlers.tid",
    "content": "created: 20131127215321439\nmodified: 20140912135951542\ntitle: $:/DefaultTiddlers\n\n[[Hire the founder of TiddlyWiki]]\n[[TiddlyWiki Pre-release]]\nHelloThere\n[[Quick Start]]\n[[Find Out More]]\n[[TiddlyWiki on the Web]]\n[[Testimonials and Reviews]]\nGettingStarted\nCommunity"
  },
  {
    "path": "editions/prerelease/tiddlers/system/PrereleaseLocalPluginLibrary.tid",
    "content": "title: $:/config/LocalPluginLibrary\ntags: $:/tags/PluginLibrary\nurl: http://127.0.0.1:8080/prerelease/library/v5.4.0/index.html\ncaption: {{$:/language/OfficialPluginLibrary}} (Prerelease Local)\n\nA locally installed version of the official ~TiddlyWiki plugin library at tiddlywiki.com for testing and debugging. //Requires a local web server to share the library//\n"
  },
  {
    "path": "editions/prerelease/tiddlers/system/PrereleaseOfficialPluginLibrary.tid",
    "content": "title: $:/config/OfficialPluginLibrary\ntags: $:/tags/PluginLibrary\nurl: https://tiddlywiki.com/prerelease/library/v5.4.0/index.html\ncaption: {{$:/language/OfficialPluginLibrary}} (Prerelease)\n\nThe prerelease version of the official ~TiddlyWiki plugin library at tiddlywiki.com. Plugins, themes and language packs are maintained by the core team.\n"
  },
  {
    "path": "editions/prerelease/tiddlers/system/SiteDomain.tid",
    "content": "title: $:/SiteDomain\n\ntiddlywiki.com"
  },
  {
    "path": "editions/prerelease/tiddlers/system/SitePreviewUrl.tid",
    "content": "title: $:/SitePreviewUrl\n\nhttps://tiddlywiki.com/prerelease/images/Introduction%2520Video%2520Thumbnail.jpg"
  },
  {
    "path": "editions/prerelease/tiddlers/system/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\n<<version>>"
  },
  {
    "path": "editions/prerelease/tiddlers/system/SiteTitle.tid",
    "content": "created: 20131211131022562\nmodified: 20131211131023829\ntitle: $:/SiteTitle\n\nTiddlyWiki Pre-release"
  },
  {
    "path": "editions/prerelease/tiddlers/system/SiteUrl.tid",
    "content": "title: $:/SiteUrl\n\nhttps://tiddlywiki.com/prerelease/"
  },
  {
    "path": "editions/prerelease/tiddlers/system/TiddlyWiki Pre-release.tid",
    "content": "title: TiddlyWiki Pre-release\nmodified: 20230731122156493\n\n<div class=\"tc-scary-warning\">\n\n!!! This is a pre-release build of TiddlyWiki provided for testing and review purposes.\n\n''Please don't try to depend on the pre-release for anything important'' -- you should use the latest official release from https://tiddlywiki.com.\n\nAll of the changes in this pre-release are provisional until it is released and they become frozen by our backwards compatibility policies. This is the perfect time to raise questions or make suggestions. Please [[open a ticket at GitHub|https://github.com/TiddlyWiki/TiddlyWiki5/issues/new/choose]] or make a post at https://talk.tiddlywiki.org/.\n\nThe pre-release is also available as an [[empty wiki|https://tiddlywiki.com/prerelease/empty.html]] ready for reuse.\n\n</div>\n\n<$list filter=\"[tag[ReleaseNotes]!has[released]!sort[created]]\">\n<div class=\"tc-titlebar\">\n<h2 class=\"tc-title\"><$text text=<<currentTiddler>>/></h2>\n</div>\n<div class=\"tc-subtitle\">Updated: <$view field=\"modified\" format=\"date\" template={{$:/language/Tiddler/DateFormat}}/></div>\n<$transclude mode=\"block\"/>\n\n</$list>\n"
  },
  {
    "path": "editions/prerelease/tiddlers/system/configPerformanceInstrumentation.tid",
    "content": "title: $:/config/Performance/Instrumentation\ntext: yes\n"
  },
  {
    "path": "editions/prerelease/tiddlers/system/configWikiParserRulesInlineWikilink.tid",
    "content": "title: $:/config/WikiParserRules/Inline/wikilink\n\nenable"
  },
  {
    "path": "editions/prerelease/tiddlers/system/download-empty.tid",
    "content": "title: $:/editions/tw5.com/download-empty\ncode-body: yes\n\n\\define saveTiddlerFilter()\n[[$:/core]] [[$:/isEncrypted]] [[$:/themes/tiddlywiki/snowwhite]] [[$:/themes/tiddlywiki/vanilla]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] -[has[plugin-type]field:platform[server]] [[$:/config/OfficialPluginLibrary]] +[sort[title]]\n\\end\n\\define savingEmpty()\nyes\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
  },
  {
    "path": "editions/prerelease/tiddlers/system/favicon.png.meta",
    "content": "title: $:/favicon.ico\ntype: image/png\n"
  },
  {
    "path": "editions/prerelease/tiddlers/system/stickytitles.tid",
    "content": "title: $:/themes/tiddlywiki/vanilla/options/stickytitles\ntext: no\n"
  },
  {
    "path": "editions/prerelease/tiddlers/system/styles.tid",
    "content": "tags: $:/tags/Stylesheet\ntitle: $:/_tw5.com/prerelease-styles\ntype: text/vnd.tiddlywiki\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock\n\n"
  },
  {
    "path": "editions/prerelease/tiddlers/system/temp-my-scroll-position.tid",
    "content": "title: $:/my-scroll-position\nscroll-left: 0\nscroll-top: 100\n"
  },
  {
    "path": "editions/prerelease/tiddlers/theme.tid",
    "content": "title: $:/theme\n\n$:/themes/tiddlywiki/snowwhite"
  },
  {
    "path": "editions/prerelease/tiddlers/view.tid",
    "content": "title: $:/view\n\nclassic"
  },
  {
    "path": "editions/prerelease/tiddlywiki.info",
    "content": "{\n\t\"description\": \"Content for the current prerelease\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/browser-sniff\",\n\t\t\"tiddlywiki/help\",\n\t\t\"tiddlywiki/powered-by-tiddlywiki\",\n\t\t\"tiddlywiki/internals\",\n\t\t\"tiddlywiki/highlight\",\n\t\t\"tiddlywiki/bibtex\",\n\t\t\"tiddlywiki/dynaview\",\n\t\t\"tiddlywiki/dynannotate\",\n\t\t\"tiddlywiki/codemirror\",\n\t\t\"tiddlywiki/menubar\",\n\t\t\"tiddlywiki/jszip\",\n\t\t\"tiddlywiki/confetti\",\n\t\t\"tiddlywiki/tour\",\n\t\t\"tiddlywiki/dom-to-image\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\",\n\t\t\"tiddlywiki/starlight\",\n\t\t\"tiddlywiki/seamless\",\n\t\t\"tiddlywiki/centralised\",\n\t\t\"tiddlywiki/heavier\",\n\t\t\"tiddlywiki/tight\",\n\t\t\"tiddlywiki/tight-heavier\",\n\t\t\"tiddlywiki/readonly\"\n\t],\n\t\"languages\": [\n\t],\n\t\"includeWikis\": [\n\t\t\"../tw5.com\"\n\t]\n}\n"
  },
  {
    "path": "editions/resumebuilder/tiddlers/Edit Existing Items.tid",
    "content": "created: 20150719182943383\nmodified: 20150719182947178\ntags: \ntitle: Edit Existing Items\n\n\\define thisMakeTabs()\n<<tabs '[prefix[$:/settings/$(ThisResume)$/]show[true]get[template]get[input_tiddler]]' default:[[Contact Information]]>>\n\\end\n\nEach tab lets you edit the contents of that section. Click on the `Preview and Set Options` button to see a preview of the finished resume and for layout options.\n\n<$vars ThisResume={{$:/settings/Global!!selected_resume}}>\n<<thisMakeTabs>>\n</$vars>\n\n<!--<$button to=\"Preview and Set Options\">Open Preview and Options</$button>-->"
  },
  {
    "path": "editions/resumebuilder/tiddlers/Preview and Set Options.tid",
    "content": "tags: \ntitle: Preview and Set Options\n\n<$transclude tiddler='Resume Options' mode=block/>\n\n---\n\n---\n\n<$transclude tiddler='Preview' mode=block/>"
  },
  {
    "path": "editions/resumebuilder/tiddlers/Preview.tid",
    "content": "created: 20150720171244344\nmodified: 20150720171304274\ntags: $:/tags/SideBar\ntitle: Preview\n\n<div class='tc-tiddly-frame' style='background:white;max-width:700px;border:solid black 1px;color:black'>\n<div style='max-width:689px;margin-left:20px'>\n<$transclude tiddler='Print Version' mode=block/>\n</div>\n</div>"
  },
  {
    "path": "editions/resumebuilder/tiddlers/Print Version.tid",
    "content": "created: 20150720171146515\nmodified: 20150720171221769\ntags: \ntitle: Print Version\n\n\\define thisMakePreview()\n<$list filter='[tag[Section Display]removeprefix[$:/display/]addprefix[$:/settings/$(ThisResume)$/]sort[order]!show[false]removeprefix[$:/settings/$(ThisResume)$/]addprefix[$:/display/]]'>\n<$transclude mode=block/>\n</$list>\n\\end\n\n<div style='max-width:689px;margin-left:20px'>\n<$vars ThisResume={{$:/settings/Global!!selected_resume}}>\n<<thisMakePreview>>\n</$vars>\n</div>"
  },
  {
    "path": "editions/resumebuilder/tiddlers/Resume Options.tid",
    "content": "created: 20150719183128695\nmodified: 20150720163126223\ntags: \ntitle: Résumé Options\n\n<<tabs \"[[Layout Options]][tag[Section Display]removeprefix[$:/display]addprefix{$:/settings/Global!!selected_resume}addprefix[$:/settings/]!show[false]sort[order]get[template]get[options_tiddler]]\" [[Layout Options]]>>\n"
  },
  {
    "path": "editions/resumebuilder/tiddlers/Resume Wizard.tid",
    "content": "created: 20150719173441992\nmodified: 20150720171426440\ntags: \ntitle: Résumé Wizard\n\n\\define CurrentResume() {{$:/settings/Global!!selected_resume}}\n\n\\define thisDisplayInputTiddler()\n<$list filter='[[$:/settings/$(ThisResume)$/$(CurrentSection)$]get[template]]'>\n<$transclude tiddler={{!!input_tiddler}}/>\n</$list>\n\\end\n\n\\define thisResumeWizardTiddlerEmptyMessage()\n<$list filter='[tag[Section Display]removeprefix[$:/display]addprefix{$:/settings/Global!!selected_resume}addprefix[$:/settings/]sort[order]removeprefix[$:/settings/]removeprefix{$:/settings/Global!!selected_resume}addprefix[$:/display]last[]]'>\n\t<$reveal type='match' state='$:/state/ResumeWizardState' text=<<currentTiddler>>>\n\t\t<$button>\n\t\t\tContinue to Options\n\t\t\t<$action-setfield $tiddler='$:/state/ResumeWizardState' $field='text' $value=\"Resume Options\"/>\n\t\t</$button>\n\t</$reveal>\n\n\t<$reveal type='match' state='$:/state/ResumeWizardState' text=\"Resume Options\">\n\t\t<$button>\n\t\t\tGo to Preview\n\t\t\t<$action-setfield $tiddler='$:/state/ResumeWizardState' $field='text' $value=\"Preview\"/>\n\t\t</$button>\n\t</$reveal>\n\t<$reveal type='match' state='$:/state/ResumeWizardState' text=\"Preview\">\n\t\t<$tiddler tiddler='Preview'>\n\t\t\t<$button message=\"tm-open-window\">\n\t\t\t\tPrint\n\t\t\t</$button>\n\t\t</$tiddler>\n\t</$reveal>\n</$list>\n\\end\n\n\\define thisAddResumeButton()\n<$button>\n\tAdd Résumé\n\t<$action-setfield $tiddler='$:/data/ResumeList' $index={{$:/temp/NewResumeName!!resume_name}} $value=true/>\n\t<$action-setfield $tiddler='$:/temp/NewResumeName' resume_name=''/>\n\t<$action-setfield $tiddler='$:/settings/$(ResumeName)$/Resume Title Display' order=1 show=true template='$:/template/ResumeTitleTemplate'/>\n\t<$action-setfield $tiddler='$:/settings/$(ResumeName)$/Contact Information Display' order=2 show=true template='$:/template/ContactInformationTemplate'/>\n\t<$action-setfield $tiddler='$:/settings/$(ResumeName)$/Objective Display' order=3 show=true template='$:/template/ObjectiveTemplate'/>\n\t<$action-setfield $tiddler='$:/settings/$(ResumeName)$/Skills and Expertise Display' order=4 show=true template='$:/template/SkillsAndExpertiseTemplate'/>\n\t<$action-setfield $tiddler='$:/settings/$(ResumeName)$/Previous Employment Display' order=5 show=true template='$:/template/PreviousEmploymentTemplate'/>\n\t<$action-setfield $tiddler='$:/settings/$(ResumeName)$/Education Display' order=6 show=true template='$:/template/EducationTemplate'/>\n\t<$action-setfield $tiddler='$:/settings/$(ResumeName)$/ResumeTitle' text=Resume/>\n</$button>\n\\end\n\n<!-- If the user hasn't started the wizard yet display the interface to add or select a résumé and the button to start the wizard -->\n<$reveal type='match' state='$:/state/ResumeWizardState' text=''>\n\t<!-- User can select an existing résumé -->\n\tSelect résumé to work on:\n\t<$select tiddler='$:/settings/Global' field='selected_resume'>\n\t\t<$list filter='[[$:/data/ResumeList]indexes[]]'>\n\t\t\t<option><$view field='title'/></option>\n\t\t</$list>\n\t</$select>\n\t<br>\n\t<!-- User can add a new résumé. Creating a new résumé automatically populates some of the settings, namely setting all default résumé sections to visible using the first template and in the default order. -->\n\tYou can add a résumé to the list:\n\t<$edit-text tiddler='$:/temp/NewResumeName' field='resume_name' class='tc-edit-texteditor' placeholder='Name of new résumé'/>\n\t<$vars ResumeName={{$:/temp/NewResumeName!!resume_name}}>\n\t\t<<thisAddResumeButton>>\n\t</$vars>\n\t<br>\n\t<br>\n\n\t<!-- The layout options. This is so that the user can set up which sections they want to see before starting the résumé wizard. -->\n\tThe preview is displayed to the right. The options below let you set which sections are visible and the section order. Only sections that are visible will be included in the wizard. You will be able to change these options later also.\n\n\t<$transclude tiddler='Layout Options' mode=block/>\n\n\t<!-- The button that starts the wizard -->\n\t<$button>\n\t\tClick here to get started\n\t\t<$list filter='[tag[Section Display]removeprefix[$:/display]addprefix{$:/settings/Global!!selected_resume}addprefix[$:/settings/]sort[order]removeprefix[$:/settings/]removeprefix{$:/settings/Global!!selected_resume}addprefix[$:/display]first[]]'>\n\t\t\t<$action-setfield $tiddler='$:/state/ResumeWizardState' $field='text' $value=<<currentTiddler>>/>\n\t\t</$list>\n\t</$button>\n</$reveal>\n\n<!-- Once the wizard is started display the current input tiddler with forward and back buttons. There is also a 'back to start' button. -->\n<$reveal type='nomatch' state='$:/state/ResumeWizardState' text=''>\n\t<!-- Display the current section title. -->\n\t<h1>\n\t\t<$transclude tiddler={{$:/state/ResumeWizardState}} field='section' mode=block/>\n\t</h1>\n\n\t<!-- Display the correct input tiddler. -->\n\t<$list filter='[{$:/state/ResumeWizardState}removeprefix[$:/display/]]' variable=CurrentSection>\n\t\t<$vars ThisResume={{$:/settings/Global!!selected_resume}}>\n\t\t\t<<thisDisplayInputTiddler>>\n\t\t</$vars>\n\t</$list>\n\t<!-- Display the résumé options if that is the current section. -->\n\t<$reveal type='match' state='$:/state/ResumeWizardState' text='Resume Options'>\n\t\tHere you can change the order of sections (or of items in each section) on your résumé as well as set other options. Click on 'Print' to open the résumé in a new window to save or print it.<br>\n\n\t\t<$transclude tiddler='Résumé Options' mode=block/><br>\n\t</$reveal>\n\n\t<!-- If the user hasn't reached options section yet, make and display the back and next buttons. -->\n\t<$reveal type='nomatch' state='$:/state/ResumeWizardState' text='Resume Options'>\n\t\t<!-- This makes the back button. If the user is on the first section this doesn't display anything. -->\n\t\t<$list filter='[tag[Section Display]removeprefix[$:/display]addprefix{$:/settings/Global!!selected_resume}addprefix[$:/settings/]sort[order]removeprefix[$:/settings/]removeprefix{$:/settings/Global!!selected_resume}addprefix[$:/display]before{$:/state/ResumeWizardState}]' emptyMessage=\"\" variable=PreviousTiddler>\n\t\t\t<$button>\n\t\t\t\tBack (<$view tiddler=<<PreviousTiddler>> field='section'/>)\n\t\t\t\t<$action-setfield $tiddler='$:/state/ResumeWizardState' $field='text' $value=<<PreviousTiddler>>/>\n\t\t\t</$button>\n\t\t</$list>\n\t\t<!-- This Makes the next button. If the user is on the last section this is a button that opens the options section. -->\n\t\t<$list filter='[tag[Section Display]removeprefix[$:/display]addprefix{$:/settings/Global!!selected_resume}addprefix[$:/settings/]sort[order]removeprefix[$:/settings/]removeprefix{$:/settings/Global!!selected_resume}addprefix[$:/display]after{$:/state/ResumeWizardState}]' emptyMessage=<<thisResumeWizardTiddlerEmptyMessage>> variable=NextTiddler>\n\t\t\t<$button>\n\t\t\t\tNext Section (<$view tiddler=<<NextTiddler>> field='section'/>)\n\t\t\t\t<$action-setfield $tiddler='$:/state/ResumeWizardState' $field='text' $value=<<NextTiddler>>/>\n\t\t\t</$button>\n\t\t</$list>\n\t</$reveal>\n\n\t<!-- If the user has reached the options section display the print button (and the back button, this is a special case). -->\n\t<$reveal type='match' state='$:/state/ResumeWizardState' text='Resume Options'>\n\t\t<!-- Magic to make the back button. -->\n\t\t<$list filter='[tag[Section Display]removeprefix[$:/display]addprefix{$:/settings/Global!!selected_resume}addprefix[$:/settings/]sort[order]removeprefix[$:/settings/]removeprefix{$:/settings/Global!!selected_resume}addprefix[$:/display]last[]]' emptyMessage=\"\" variable=PreviousTiddler>\n\t\t\t<$button>\n\t\t\t\tBack (<$view tiddler=<<PreviousTiddler>> field='section'/>)\n\t\t\t\t<$action-setfield $tiddler='$:/state/ResumeWizardState' $field='text' $value=<<PreviousTiddler>>/>\n\t\t\t</$button>\n\t\t</$list>\n\t\t<!-- Open résumé in new window for saving/printing. -->\n\t\t<$tiddler tiddler='Print Version'>\n\t\t\t<$button message=\"tm-open-window\">\n\t\t\t\tPrint\n\t\t\t</$button>\n\t\t</$tiddler>\n\t\t<br>\n\t</$reveal>\n\n\t<hr>\n\t<hr>\n\n\t<$button>\n\t\tBack to start\n\t\t<$action-setfield $tiddler='$:/state/ResumeWizardState' $field='text' $value=''/>\n\t</$button>\n</$reveal>\n"
  },
  {
    "path": "editions/resumebuilder/tiddlers/Top Bar Buttons.tid",
    "content": "created: 20150719172021101\nmodified: 20150720172257267\ntags: $:/tags/TopLeftBar\ntitle: Top Bar Buttons\n\n<$button style='border:solid 1px;height:1.25em;vertical-align:top;line-height:0.025em;' to=\"Résumé Wizard\">Résumé Wizard</$button>\n<$button style='border:solid 1px;height:1.25em;vertical-align:top;line-height:0.025em;' to=\"Edit Existing Items\">Edit Existing Items</$button>\n<$button style='border:solid 1px;height:1.25em;vertical-align:top;line-height:0.025em;' to=\"Résumé Options\">Résumé Options</$button>\n<$button style='border:solid 1px;height:1.25em;vertical-align:top;line-height:0.025em;' to=\"Preview\">Preview</$button>\n<$button style='border:solid 1px;height:1.25em;vertical-align:top;line-height:0.025em;' to=\"Help\">Help</$button>\n<$tiddler tiddler='Print Version'>\n<$button style='border:solid 1px;height:1.25em;vertical-align:top;line-height:0.025em;' message=\"tm-open-window\">Print</$button>\n</$tiddler>\n<$button style='border:solid 1px;height:1.25em;vertical-align:top;line-height:0.025em;' message='tm-save-wiki'>Save</$button>"
  },
  {
    "path": "editions/resumebuilder/tiddlers/data/$__data_Personal Information.tid",
    "content": "address: 111 some st\ncity: Albuquerque\ncountry: USA\nemail_address: nothing@nowhere.com\nentered_date: October 16th 20XD6\nname: Jedediah Carty\nphone_number: 5555555555\nstate: NM\nstreet: \nstreet_address: 111 Some St.\ntitle: $:/data/Personal Information\nzip_code: 87110\n\n"
  },
  {
    "path": "editions/resumebuilder/tiddlers/data/$__data_ResumeList.tid",
    "content": "title: $:/data/ResumeList\ntype: application/json\n\n{\n    \"Default\": \"true\"\n}"
  },
  {
    "path": "editions/resumebuilder/tiddlers/data/$__data_ResumeTitle_Resume.tid",
    "content": "resume_title: Resume\ntitle: $:/data/ResumeTitle/Resume\n\n"
  },
  {
    "path": "editions/resumebuilder/tiddlers/data/$__data_ResumeTitle_Resume2.tid",
    "content": "created: 20150720164801633\nmodified: 20150720164806249\nresume_title: Résumé\ntitle: $:/data/ResumeTitle/Résumé\n\n"
  },
  {
    "path": "editions/resumebuilder/tiddlers/display/$__display_Contact Information Display.tid",
    "content": "section: Contact Information\ntags: [[Section Display]]\ntemplate: $:/template/ContactInformationTemplate\ntitle: $:/display/Contact Information Display\n\n<$transclude tiddler=GenericSectionDisplayTemplate mode=block/>"
  },
  {
    "path": "editions/resumebuilder/tiddlers/display/$__display_Education Display.tid",
    "content": "section: Education\ntags: [[Section Display]]\ntitle: $:/display/Education Display\n\n<$transclude tiddler=GenericSectionDisplayTemplate mode=block/>"
  },
  {
    "path": "editions/resumebuilder/tiddlers/display/$__display_Objective Display.tid",
    "content": "section: Objective\ntags: [[Section Display]]\ntemplate: $:/template/ObjectiveTemplate\ntitle: $:/display/Objective Display\n\n<$transclude tiddler=GenericSectionDisplayTemplate mode=block/>"
  },
  {
    "path": "editions/resumebuilder/tiddlers/display/$__display_Previous Employment Display.tid",
    "content": "section: Previous Employment\ntags: [[Section Display]]\ntemplate: $:/template/PreviousEmploymentTemplate\ntitle: $:/display/Previous Employment Display\n\n\\define ThisTiddler() $:/display/Previous Employment Display\n\n<$transclude tiddler=GenericSectionDisplayTemplate mode=block/>"
  },
  {
    "path": "editions/resumebuilder/tiddlers/display/$__display_Resume Title Display.tid",
    "content": "created: 20150720164501834\nmodified: 20150720164522750\nsection: Résumé Title\ntags: [[Section Display]]\ntemplate: $:/template/ResumeTitleTemplate\ntitle: $:/display/Resume Title Display\n\n<$transclude tiddler=GenericSectionDisplayTemplate mode=block/>"
  },
  {
    "path": "editions/resumebuilder/tiddlers/display/$__display_Skills and Expertise Display.tid",
    "content": "section: Skills and Expertise\ntags: [[Section Display]]\ntemplate: $:/template/SkillsAndExpertiseTemplate\ntitle: $:/display/Skills and Expertise Display\n\n<$transclude tiddler=GenericSectionDisplayTemplate mode=block/>"
  },
  {
    "path": "editions/resumebuilder/tiddlers/documentation/Help.tid",
    "content": "created: 20150719184941848\nmodified: 20150720163457716\ntags: \ntitle: Help\n\nClicking on [[Résumé Wizard]] at the top is a good place to start.\n\nTo save your work, either click on the {{$:/core/ui/Buttons/save-wiki}} button to the right or the Save button at the top of the screen. The button to the right will turn red when there are unsaved changes.\n\nHow it works:\n\nThere are buttons along the top that bring you to the different things you can do with the résumé builder. To the right you should see a preview of the completed résumé.\n\n*Résumé Wizard - A wizard that guides you through a sequence of steps to create a résumé.\n*Edit Existing Items - An interface to edit already entered information\n*Layout Options - Options for changing the order of the sections, which sections are visible, and the templates used for each section.\n*Résumé Options - Available options for the résumé output. The `Layout Options` tab has options for which sections are included in the résumé as well as their order and the templates used, the other tabs are for configuring each section individually.\n*Preview - Shows a preview of the result, this is also shown on the right side of the screen by default.\n*Help - Displays this information.\n*Print - Open the résumé by itself in a new window for printing.\n*Save - saves your changes\n\nOther documentation:\n\n[[Making a new section]]"
  },
  {
    "path": "editions/resumebuilder/tiddlers/documentation/Making a new section.tid",
    "content": "created: 20150719191225198\nmodified: 20150720163929573\ntitle: Making a new section\n\nThere is a [[New Section Creation Tool]] to help with creating new résumé sections.\n\nEach section needs the following tiddlers:\n\n#A display tiddler\n#A template tiddler (possibly more than one)\n#An input tiddler (at least one, up to one per template tiddler)\n#An options tiddler (optional and recommended, up to one per template tiddler)\n\nYou can have multiple template tiddlers that use the same input and options tiddlers.\n\n!!Display tiddler\n\nThis is the container used to display the section in the résumé itself, there isn't any customisation here.\n\n''Required tags'': `Section Display`<br>\n''Required name format'': `$:/display/(section name) Display`<br>\n''Additional fields'':\n\n*'section' - the section name, something like 'Résumé Title' or 'Objective'.\n''Examples'': [[$:/display/Resume Title Display]] and [[$:/display/Objective Display]].<br>\n\n''Other things'':\n\nIn the text field put \n\n```\n<$transclude tiddler=GenericSectionDisplayTemplate mode=block/>\n```\n\nand nothing else.\n\nThis tiddler should have only what is listed above.\n\n!!Template tiddler(s)\n\nThese tiddlers determine how the section is displayed on the résumé. This sets the look of the final result.\n\n''Required tags'': `DisplayTemplate`<br>\n''Required name format'': `$:/template/(template name)`<br>\n''Additional fields'':\n\n*`section_name` - the name of the section that the template is for, this must be the same as the value in the `section` field of the section display template you made.\n*`input_tiddler` - the name of the tiddler that has the form to take input for this section.\n*`template_name` - an optional field containing a more convenient name for the template than the tiddler title. If it exists this will be displayed for the template selection.\n*`options_tiddler` - The name of the options tiddler for this template, if any.\n\n''Examples'': [[$:/template/ResumeTitleTemplate]] or [[$:/template/EducationTemplate]], or any of the other tiddlers that start with `$:/template/` for examples.\n\nThe data displayed by the templates will be from tiddlers named in the form `$:/data/(section name)/(section item)`.\n\n!!Input Tiddler\n\nA tiddler that contains the input from for adding entries to the section, and if desired options for the section. \n\n''Required tags'': none<br>\n''Required name format'': `$:/input/(template name)`<br>\n''Additional fields'': \n\n*`caption` - The contents of this field will be displayed as the section name in the [[Résumé Wizard]].\n''Examples'': [[$:/input/Resume Title]], [[$:/input/Education]]\n\nThe data taken from the input tiddler should be stored in the fields of a tiddler named in the form `$:/data/(SectionName)/(ItemName)`.\n\nI don't have any real help for this one, what you do will be dependent on what you want in the section. Look at the examples. If you have any questions please feel free to ask on the group (https://groups.google.com/forum/#!forum/tiddlywiki).\n\n!!Options tiddler\n\nA tiddler used to set options for a section.\n\n''Required tags'': `Options`<br>\n''Required name format'': `$:/options/(template name)`<br>\n''Additional fields'':\n\n*`caption` - a caption field, it should have something like `(section name) Options`. This is what appears on the tabs in the [[Résumé Options]] tiddler.\n''Examples'': [[$:/options/Education Options]], [[$:/options/Previous Employment Options]].\n\nYou would use this tiddler to change the fonts used and list types and similar things here.\nAll settings and state information about each section should be stored in a tiddler named in the form `$:/settings/(ResumeName)/(SectionName)`.\nFor each item within a section all state and configuration information should be kept in a tiddler with a name in the form `$:/settings/(ResumeName)/(SectionName)/(ItemName)`.\nThe options tiddler must only change fields in these tiddlers.\n\nThese tiddlers hold the information about which items/sections are visible in each résumé. See the list of system tiddlers for many examples. You don't need to make those tiddlers, you just need to make your input and settings tiddlers create or modify the correct tiddler name and they will be created. See the examples.\n\n''Important note:''\n\nIf you are going to make your own section, in order to allow the items to be in different orders in different résumés you will need to use this wonderful filter\n(Thanks to Eric for pointing out that my original version could be shortened):\n\n`[prefix[$:/data/(SectionName)/]removeprefix[$:/data/]addprefix[$:/settings/$(ThisResumeName)$/]!show[false]sort[order]removeprefix[$:/settings/$(ThisResumeName)$/]addprefix[$:/data/]]`\n\nyou need to manually replace `(SectionName)` with the name of the section you are adding, and you need to put `<$vars ThisResumeName={{$:/settings/Global!!selected_resume}}>` and `</$vars>` around the macro that contains the list widget with the above filter. Look at the examples and it will hopefully make more sense."
  },
  {
    "path": "editions/resumebuilder/tiddlers/input/$__input_Contact Information.tid",
    "content": "caption: Contact Information\ncreated: 20150720164912365\nmodified: 20150720164948543\ntags: Section\ntitle: $:/input/Contact Information\n\nThis is contact information to be included in your résumé.<br><br>\n\nName: <$edit-text tiddler='$:/data/Personal Information' field='name' placeholder='Your Name' class='tc-edit-texteditor'/>\n\nStreet Address: <$edit-text tiddler='$:/data/Personal Information' field='street_address' placeholder='Street Address' class='tc-edit-texteditor'/>\nCity: <$edit-text tiddler='$:/data/Personal Information' field='city' placeholder='City' class='tc-edit-texteditor'/>\nState/Provence: <$edit-text tiddler='$:/data/Personal Information' field='state' placeholder='State/Provence' class='tc-edit-texteditor'/>\nZip Code: <$edit-text tiddler='$:/data/Personal Information' field='zip_code' placeholder='Zip Code' class='tc-edit-texteditor'/>\nCountry: <$edit-text tiddler='$:/data/Personal Information' field='country' placeholder='Country' class='tc-edit-texteditor'/>\n\nPhone Number: <$edit-text tiddler='$:/data/Personal Information' field='phone_number' placeholder='Phone Number' class='tc-edit-texteditor'/>\nEmail Address: <$edit-text tiddler='$:/data/Personal Information' field='email_address' placeholder='Email Address' class='tc-edit-texteditor'/>"
  },
  {
    "path": "editions/resumebuilder/tiddlers/input/$__input_Education.tid",
    "content": "caption: Education\ntags: Section\ntitle: $:/input/Education\n\n\\define thisAddEducation()\n<$action-setfield $tiddler='$:/temp/Education' $field='title' $value=\"\"\"$:/data/Education/$(AwardingInstitution)$ - $(Degree)$\"\"\"/>\n\\end\n\n\\define thisMakeCheckbox()\n<$list filter='[is[current]removeprefix[$:/data/Education/]addprefix[$:/settings/$(ThisResume)$/Education/]]'>\n<$checkbox tiddler=<<currentTiddler>> field=show checked='true' unchecked=false default=true/>\n</$list>\n\\end\n\n\\define thisSetOrder()\n<$list filter='[is[current]removeprefix[$:/data/Education/]addprefix[$:/settings/$(ThisResume)$/Education/]]'>\n<$edit-text field=order size=2/>\n</$list>\n\\end\n\nHere you list any relevant education. If you haven't finished but want to list something anyway you can put 'Unfinished' or 'Expected Graduation Date 5/5/5' in the `Graduation Date` field (replace 5/5/5 with the appropriate date). After you add an entry it is listed at the bottom, to delete an existing entry click on the <$button class='tc-btn-invisible'>{{$:/core/images/delete-button}}</$button> icon next to the entry on the list.\n\nDegree/Certificate/Level:\n<$edit-text tiddler='$:/temp/Education' field='degree_level' placeholder='BS, BA, MS, PhD, Highschool, etc.' class='tc-edit-texteditor'/>\n\nMajor or Concentration (if any):\n<$edit-text tiddler='$:/temp/Education' field='major' placeholder='Major or Concentration' class='tc-edit-texteditor'/>\n\nAwarding Institution:\n<$edit-text tiddler='$:/temp/Education' field='institution' placeholder='Institution' class='tc-edit-texteditor'/>\n\nInstitution Address:\n<$edit-text tiddler='$:/temp/Education' field='address' placeholder='Institution Address' class='tc-edit-texteditor'/>\n\n<$checkbox tiddler='$:/temp/Education' field='ongoing' checked='true' unchecked='false'>Check this if you are currently working on this degree/whatever</$checkbox>\n\n<$reveal type='match' state='$:/temp/Education!!ongoing' text='true'>Expected</$reveal> Graduation Date (this doesn't need to be exact, it could just be something like 'Spring 1910', or even just '1910'):\n<$edit-text tiddler='$:/temp/Education' field='graduation_date' placeholder='Graduation Date' class='tc-edit-texteditor'/>\n\n<$checkbox tiddler='$:/temp/Education' field='show_gpa' checked='true' unchecked='false'>Show GPA</$checkbox>\n\nGPA (if desired):\n<$edit-text tiddler='$:/temp/Education' field='gpa' placeholder='gpa' class='tc-edit-texteditor'/>\n\n<$set name=AwardingInstitution value={{$:/temp/Education!!institution}}>\n<$set name=Degree value={{$:/temp/Education!!degree_level}}>\n<$button>\nAdd Education\n<<thisAddEducation>>\n<$action-setfield $tiddler='$:/temp/Education' degree_level='' major='' institution='' address='' graduation_date='' gpa=''/>\n</$button>\n</$set>\n</$set>\n\n<h2>Current list:</h2>\n\n<$vars ThisResume={{$:/settings/Global!!selected_resume}}>\n<table style='width:100%'>\n<tr><th></th><th>Visible</th><th>Entry</th><th>Order</th></tr>\n<$list filter='[prefix[$:/data/Education/]sort[order]]'>\n<tr><td><$button class='tc-btn-invisible' message='tm-delete-tiddler' param=<<currentTiddler>>>{{$:/core/images/delete-button}}</$button></td>\n<td>\n<<thisMakeCheckbox>>\n</td>\n<td><$view field='degree_level'/><$reveal type='nomatch' state='!!ongoing' text='true'>, </$reveal><$reveal type='match' state='!!ongoing' text='true'> (Ongoing), </$reveal><$view field='major'/>, <$view field='institution'/>, <$view field='address'/>, <$reveal type='match' state='!!ongoing' text='true'>Expected Graduation Date: </$reveal> <$view field='graduation_date'/><$reveal type='match' state='!!show_gpa' text='true'>, GPA: <$view field='gpa'/></$reveal></td>\n<td>\n<<thisSetOrder>>\n</td>\n</tr>\n</$list>\n</table>\n</$vars>"
  },
  {
    "path": "editions/resumebuilder/tiddlers/input/$__input_ObjectiveInput1.tid",
    "content": "caption: Objective\ncreated: 20150720165104821\nmodified: 20150720165123543\ntags: Section\ntitle: $:/input/ObjectiveInput1\n\n\\define thisAddObjectiveButton()\n<$button>Add Objective<$action-setfield $tiddler='$:/temp/Objective' title='$:/data/Objective/$(ObjectiveName)$'/><$action-setfield $tiddler='$:/temp/Objective' name='' text=''/></$button>\n\\end\n\n\\define thisSelectObjective()\n<$radio tiddler='$:/settings/$(ThisResume)$/Objective'  value={{!!name}}/>\n\\end\n\nYour objective should very briefly describe the sort of job you are looking for and be phrased in a way that flatters the company you are applying to. Something like 'To gain professional experience with a leader in the field of underwater basket weaving.' \n<br>\n<br>\nYou can enter multiple possible objectives and then select the one you want to use on the current resume.\nYou can add a new objective or select one that you have already entered (if you have previously entered any).\n<br>\n<br>\nName:\n<$edit-text tiddler='$:/temp/Objective' field=name class='tc-edit-texteditor' placeholder='Short Name'/>\n\nObjective:\n<$edit-text tiddler='$:/temp/Objective' class='tc-edit-texteditor' placeholder='Objective'/>\n\n<$vars ThisResume={{$:/settings/Global!!selected_resume}} ObjectiveName={{$:/temp/Objective!!name}}>\n<<thisAddObjectiveButton>>\n\n<br>\nSelect objective to use:\n\n<table>\n<tr><th>Select</th><th>Objective Name</th><th>Objective</th></tr>\n<$list filter='[prefix[$:/data/Objective/]]'>\n<tr><td><<thisSelectObjective>></td><td><$view field='name'/></td><td><$view field='text'/></td></tr>\n</$list>\n</table>\n</$vars>"
  },
  {
    "path": "editions/resumebuilder/tiddlers/input/$__input_ObjectiveInput2.tid",
    "content": "caption: Objective\ntags: Section\ntitle: $:/input/ObjectiveInput2\n\n\\define thisAddObjectiveButton()\n<$button>Add Objective<$action-setfield $tiddler='$:/temp/Objective' title='$:/data/Objective/$(ObjectiveName)$'/><$action-setfield $tiddler='$:/temp/Objective' name='' text=''/></$button>\n\\end\n\n\\define thisSelectObjective()\n<$radio tiddler='$:/settings/$(ThisResume)$/Objective'  value={{!!name}}/>\n\\end\n\nName:\n<$edit-text tiddler='$:/temp/Objective' field=name class='tc-edit-texteditor' placeholder='Short Name'/>\n\nObjective:\n<$edit-text tiddler='$:/temp/Objective' class='tc-edit-texteditor' placeholder='Objective'/>\n\n<$vars ThisResume={{$:/settings/Global!!selected_resume}} ObjectiveName={{$:/temp/Objective!!name}}>\n<<thisAddObjectiveButton>>\n\n<br>\nSelect objective to use:\n\n<table>\n<tr><th>Select</th><th>Objective Name</th><th>Objective</th></tr>\n<$list filter='[prefix[$:/data/Objective/]]'>\n<tr><td><<thisSelectObjective>></td><td><$view field='name'/></td><td><$view field='text'/></td></tr>\n</$list>\n</table>\n</$vars>"
  },
  {
    "path": "editions/resumebuilder/tiddlers/input/$__input_Previous Employment.tid",
    "content": "caption: Previous Employment\ncreated: 20150719182555935\nmodified: 20150719182603681\ntags: Section\ntitle: $:/input/Previous Employment\n\n\\define thisAddEmployment()\n<$action-setfield $tiddler='$:/temp/Previous Employment' $field='title' $value=\"\"\"$:/data/Previous Employment/$(Employer)$/$(JobTitle)$\"\"\"/>\n\\end\n\nThis is a listing of any previous employment you have had, if any.\n\nJob Title:\n<$edit-text tiddler='$:/temp/Previous Employment' field='job_title' class='tc-edit-texteditor' placeholder='Job Title'/>\n\nEmployer:\n<$edit-text tiddler='$:/temp/Previous Employment' field='employer' class='tc-edit-texteditor' placeholder='Employer'/>\n\nDates:\n<$edit-text tiddler='$:/temp/Previous Employment' field='dates' class='tc-edit-texteditor' placeholder='Dates'/>\n\n<$set name=JobTitle value={{$:/temp/Previous Employment!!job_title}}>\n<$set name=Employer value={{$:/temp/Previous Employment!!employer}}>\n<$button>\nAdd Employment\n<<thisAddEmployment>>\n<$action-setfield $tiddler='$:/temp/Previous Employment' job_title='' employer='' dates=''/>\n</$button>\n</$set>\n</$set>\n\n<h2>Current Listing:</h2>\n\n<table style='width:100%'>\n<tr><th></th><th>Visible</th><th>Entry</th><th>Order</th></tr>\n<$list filter='[prefix[$:/data/Previous Employment/]sort[order]]'>\n<tr><td><$button class='tc-btn-invisible' message='tm-delete-tiddler' param=<<currentTiddler>>>{{$:/core/images/delete-button}}</$button></td><td><$checkbox tiddler=<<currentTiddler>> field=show checked='true' unchecked=false default=true/></td><td><$view field='job_title'/>, <$view field='employer'/>, <$view field='dates'/></td><td><$edit-text field=order size=2/></td></tr>\n</$list>\n</table>"
  },
  {
    "path": "editions/resumebuilder/tiddlers/input/$__input_Resume Title.tid",
    "content": "created: 20150720170603658\nmodified: 20150720170624801\ntags: Section\ntitle: $:/input/Resume Title\n\n\\define thisResumeTitleInput()\n<$button>Add Title<$action-setfield $tiddler='$:/temp/ResumeTitle' title='$:/data/ResumeTitle/$(ThisTitle)$'/><$action-setfield $tiddler='$:/temp/ResumeTitle' resume_title=''/></$button>\n<br><br>\nSelect title to use:<br>\n<$radio tiddler='$:/settings/$(ThisResume)$/ResumeTitle' value='use name'>Use your name</$radio><br>\n<$list filter='[prefix[$:/data/ResumeTitle/]get[resume_title]]'>\n<$radio tiddler='$:/settings/$(ThisResume)$/ResumeTitle' value=<<currentTiddler>>><$view field='title'/></$radio><br>\n</$list>\n\\end\n\nThis is the title that will appear at the top of your résumé. Just putting 'Résumé' isn't an uncommon choice. You can add a new title or pick an existing title from the list. If you select 'Use your name' than your name (entered with your contact information) will be used as the title.\n\nAdd New Title:\n<$edit-text tiddler='$:/temp/ResumeTitle' field='resume_title' placeholder='Résumé Title' class='tc-edit-texteditor'/>\n\n<$vars ThisResume={{$:/settings/Global!!selected_resume}} ThisTitle={{$:/temp/ResumeTitle!!resume_title}}>\n<<thisResumeTitleInput>>\n</$vars>"
  },
  {
    "path": "editions/resumebuilder/tiddlers/input/$__input_Resume Title2.tid",
    "content": "caption: Resume Title\ncreated: 20150720170858240\nmodified: 20150720170900145\ntags: Section\ntitle: $:/input/Resume Title2\n\n\\define thisResumeTitleInput()\n<$button>Add Title<$action-setfield $tiddler='$:/temp/ResumeTitle' title='$:/data/ResumeTitle/$(ThisTitle)$'/><$action-setfield $tiddler='$:/temp/ResumeTitle' resume_title=''/></$button>\n<br><br>\nSelect title to use:<br>\n<$radio tiddler='$:/settings/$(ThisResume)$/ResumeTitle' value='use name'>Use your name</$radio><br>\n<$list filter='[prefix[$:/data/ResumeTitle/]get[resume_title]]'>\n<$radio tiddler='$:/settings/$(ThisResume)$/ResumeTitle' value=<<currentTiddler>>><$view field='title'/></$radio><br>\n</$list>\n\\end\n\nAdd New Title:\n<$edit-text tiddler='$:/temp/ResumeTitle' field='resume_title' placeholder='Résumé Title' class='tc-edit-texteditor'/>\n\n<$vars ThisResume={{$:/settings/Global!!selected_resume}} ThisTitle={{$:/temp/ResumeTitle!!resume_title}}>\n<<thisResumeTitleInput>>\n</$vars>"
  },
  {
    "path": "editions/resumebuilder/tiddlers/input/$__input_Skills and Expertise.tid",
    "content": "caption: Skills and Expertise\ncreated: 20150719182443671\nmodified: 20150719182521401\ntags: Section\ntitle: $:/input/Skills and Expertise\n\n\\define thisAddSkill()\n<$action-setfield $tiddler='$:/temp/Skills and Expertise' $field='title' $value=\"\"\"$:/data/Skills and Expertise/$(ThisSkill)$\"\"\"/>\n\\end\n\nEach of these should be short and descriptive. Just things like 'Advanced Underwater Basket Weaving' or 'Network Information Theory'.\n\nNew Skill:\n<$edit-text tiddler='$:/temp/Skills and Expertise' field='skill' class='tc-edit-texteditor' placeholder='Skill/Expertise'/>\n\n<$set name=ThisSkill value={{$:/temp/Skills and Expertise!!skill}}>\n<$button>\nAdd Skill\n<<thisAddSkill>>\n<$action-setfield $tiddler='$:/temp/Skills and Expertise' $field='skill' $value=''/>\n</$button>\n</$set>\n\n<h2>Current Listing:</h2>\n\n<table style='width:100%'>\n<tr><th></th><th>Visible</th><th>Entry</th><th>Order</th></tr>\n<$list filter='[prefix[$:/data/Skills and Expertise/]sort[order]]'>\n<tr><td><$button class='tc-btn-invisible' message='tm-delete-tiddler' param=<<currentTiddler>>>{{$:/core/images/delete-button}}</$button></td><td><$checkbox tiddler=<<currentTiddler>> field=show checked='true' unchecked=false default=true/></td><td><$view field='skill'/></td><td><$edit-text field=order size=2/></td></tr>\n</$list>\n</table>"
  },
  {
    "path": "editions/resumebuilder/tiddlers/options/$__options_Contact Information Options.tid",
    "content": "caption: Contact Information Options\ntags: Options\ntitle: $:/options/Contact Information Options\n\n<table>\n<tr>\n\t<td>\n\t\t<$checkbox tiddler='$:/settings/Resume Configuration' field='show_name' checked=true unchecked=false>Show Name</$checkbox>\n\t</td>\n\t<td>\n\t</td>\n</tr>\n<tr>\n\t<td>\n\t\t<$checkbox tiddler='$:/settings/Resume Configuration' field='show_address' checked=true unchecked=false>Show Address</$checkbox>\n\t</td>\n\t<td>\n\t</td>\n</tr>\n<tr>\n\t<td>\n\t\t<$checkbox tiddler='$:/settings/Resume Configuration' field='show_phone_number' checked=true unchecked=false>Show Phone Number</$checkbox>\n\t</td>\n\t<td>\n\t</td>\n</tr>\n<tr>\n\t<td>\n\t\t<$checkbox tiddler='$:/settings/Resume Configuration' field='show_email_address' checked=true unchecked=false>Show Email Address</$checkbox>\n\t</td>\n\t<td>\n\t</td>\n</tr>\n<tr>\n\t<td>\n\t\t<$checkbox tiddler='$:/settings/Resume Configuration' field='show_date' checked=true unchecked=false>Show Date</$checkbox>\n\t</td>\n\t\t<tr><td><$radio tiddler='$:/settings/Resume Configuration' field='show_current_date' value=true>Use Current Date</$radio>: <<now \"DDD DDth MMM YYYY\">></td></tr>\n\t\t<tr><td><$radio tiddler='$:/settings/Resume Configuration' field='show_current_date' value=false>Enter Date</$radio>: <$edit-text tiddler='$:/data/Personal Information' field='entered_date'/></td></tr>\n</tr>\n</table>\n\n<$transclude tiddler=ResumeHeaderTemplate mode=block/>"
  },
  {
    "path": "editions/resumebuilder/tiddlers/options/$__options_Education Options.tid",
    "content": "caption: Education Options\ntags: Options\ntitle: $:/options/Education Options\n\n\\define thisListEducation()\n<$list filter='[is[current]removeprefix[$:/data/Education/]addprefix[$:/settings/$(ThisResumeName)$/Education/]]'>\n<$edit-text field=order size=2/>\n</$list>\n\\end\n\n<$vars ThisResumeName={{$:/settings/Global!!selected_resume}}>\n<table style='width:100%'>\n<tr><th>Visible</th><th>Entry</th><th>Order</th></tr>\n<$list filter='[prefix[$:/data/Education/]sort[order]]'>\n<tr><td><$checkbox tiddler=<<currentTiddler>> field=show checked='true' unchecked=false default=true/></td><td><$view field='degree_level'/><$reveal type='nomatch' state='!!ongoing' text='true'>, </$reveal><$reveal type='match' state='!!ongoing' text='true'> (Ongoing), </$reveal><$view field='major'/>, <$view field='institution'/>, <$view field='address'/>, <$reveal type='match' state='!!ongoing' text='true'>Expected Graduation Date: </$reveal> <$view field='graduation_date'/><$reveal type='match' state='!!show_gpa' text='true'>, GPA: <$view field='gpa'/></$reveal></td>\n<td>\n<<thisListEducation>>\n</td>\n</tr>\n</$list>\n</table>\n</$vars>"
  },
  {
    "path": "editions/resumebuilder/tiddlers/options/$__options_Objective Options.tid",
    "content": "caption: Objective Options\ntags: Options\ntitle: $:/options/Objective Options\n\n\\define thisSelectObjective()\n<$radio tiddler='$:/settings/$(ThisResume)$/Objective'  value={{!!name}}/>\n\\end\nSelect objective to use:\n\n<$vars ThisResume={{$:/settings/Global!!selected_resume}}>\n<table>\n<tr><th>Select</th><th>Objective Name</th><th>Objective</th></tr>\n<$list filter='[prefix[$:/data/Objective/]]'>\n<tr><td><<thisSelectObjective>></td><td><$view field='name'/></td><td><$view field='text'/></td></tr>\n</$list>\n</table>\n</$vars>"
  },
  {
    "path": "editions/resumebuilder/tiddlers/options/$__options_Previous Employment Options.tid",
    "content": "caption: Previous Employment Options\ntags: Options\ntitle: $:/options/Previous Employment Options\n\n\\define thisListPreviousEmployment()\n<$list filter='[is[current]removeprefix[$:/data/Previous Employment/]addprefix[$:/settings/$(ThisResumeName)$/Previous Employment/]]'>\n<$edit-text field=order size=2/>\n</$list>\n\\end\n\n<$vars ThisResumeName={{$:/settings/Global!!selected_resume}}>\n<table style='width:100%'>\n<tr><th>Visible</th><th>Entry</th><th>Order</th></tr>\n<$list filter='[prefix[$:/data/Previous Employment/]sort[order]]'>\n<tr><td><$checkbox tiddler=<<currentTiddler>> field=show checked='true' unchecked=false default=true/></td><td><$view field='job_title'/>, <$view field='employer'/>, <$view field='dates'/></td>\n<td>\n<<thisListPreviousEmployment>>\n</td>\n</tr>\n</$list>\n</table>\n</$vars>"
  },
  {
    "path": "editions/resumebuilder/tiddlers/options/$__options_Skills Options.tid",
    "content": "caption: Skills Options\ntags: Options\ntitle: $:/options/Skills Options\n\n\\define thisListSkills()\n<$list filter='[is[current]removeprefix[$:/data/Skills and Expertise/]addprefix[$:/settings/$(ThisResumeName)$/Skills and Expertise/]]'>\n<$edit-text field=order size=2/>\n</$list>\n\\end\n\n<$vars ThisResumeName={{$:/settings/Global!!selected_resume}}>\n<table style='width:100%'>\n<tr><th>Visible</th><th>Entry</th><th>Order</th></tr>\n<$list filter='[prefix[$:/data/Skills and Expertise/]sort[order]]'>\n<tr><td><$checkbox tiddler=<<currentTiddler>> field=show checked='true' unchecked=false default=true/></td><td><$view field='skill'/></td>\n<td>\n<<thisListSkills>>\n</td></tr>\n</$list>\n</table>\n</$vars>"
  },
  {
    "path": "editions/resumebuilder/tiddlers/options/$__options_Title Options.tid",
    "content": "caption: Title Options\ntags: Options\ntitle: $:/options/Title Options\n\n\\define thisResumeTitleInput()\nSelect title to use:<br>\n<$radio tiddler='$:/settings/$(ThisResume)$/ResumeTitle' value='use name'>Use your name</$radio><br>\n<$list filter='[prefix[$:/data/ResumeTitle/]get[resume_title]]'>\n<$radio tiddler='$:/settings/$(ThisResume)$/ResumeTitle' value=<<currentTiddler>>><$view field='title'/></$radio><br>\n</$list>\n\\end\n\n\n<$vars ThisResume={{$:/settings/Global!!selected_resume}} ThisTitle={{$:/temp/ResumeTitle!!resume_title}}>\n<<thisResumeTitleInput>>\n</$vars>"
  },
  {
    "path": "editions/resumebuilder/tiddlers/options/Layout Options.tid",
    "content": "created: 20150719190741300\nmodified: 20150719191131503\ntags: Options\ntitle: Layout Options\n\n\\define thisMakeCheckbox()\n<$reveal type='nomatch' state='$:/settings/$(ThisResumeName)$/$(currentTiddler)$!!show' text=true>\n<$button class='tc-btn-invisible'>\n<$action-setfield $tiddler='$:/settings/$(ThisResumeName)$/$(currentTiddler)$' $field=show $value=true/>\n<input type=\"checkbox\">\n</$button>\n</$reveal>\n<$reveal type='match' state='$:/settings/$(ThisResumeName)$/$(currentTiddler)$!!show' text=true>\n<$button class='tc-btn-invisible'>\n<$action-setfield $tiddler='$:/settings/$(ThisResumeName)$/$(currentTiddler)$' $field=show $value=false/>\n<input type=\"checkbox\" checked=\"true\">\n</$button>\n</$reveal>\n\\end\n\n\\define thisSelectTemplate()\n<$select tiddler=\"\"\"$:/settings/$(ThisResumeName)$/$(currentTiddler)$\"\"\" field=template>\n<option value=''>--</option>\n<$list filter='[tag[DisplayTemplate]section_name{$:/display/$(currentTiddler)$!!section}]'>\n<option value={{!!title}}><$view field='template_name'><$view field='title'/></$view></option>\n</$list>\n</$select>\n\\end\n\n\\define thisSetOrder()\n<$edit-text tiddler='$:/settings/$(ThisResumeName)$/$(currentTiddler)$' field='order' size=2/>\n\\end\n\n<$set name=ThisResumeName value={{$:/settings/Global!!selected_resume}}>\n<table>\n<tr>\n<th>Show section?</th>\n<th>Section Name</th>\n<th>Template</th>\n<th>Display Order</th>\n</tr>\n<$list filter='[tag[Section Display]sort[order]removeprefix[$:/display/]]'>\n<tr>\n<td>\n<<thisMakeCheckbox>>\n</td>\n<td>\n<$list filter='[<currentTiddler>addprefix[$:/display/]]'>\n<$view field='section'/>\n</$list>\n</td>\n<td>\n<<thisSelectTemplate>>\n</td>\n<td>\n<<thisSetOrder>>\n</td>\n</tr>\n</$list>\n</table>\n</$set>"
  },
  {
    "path": "editions/resumebuilder/tiddlers/settings/$__settings_Default_Contact Information Display.tid",
    "content": "order: 2\nshow: true\ntemplate: $:/template/ContactInformationTemplate\ntitle: $:/settings/Default/Contact Information Display\n\n"
  },
  {
    "path": "editions/resumebuilder/tiddlers/settings/$__settings_Default_Education Display.tid",
    "content": "order: 6\nshow: true\ntemplate: $:/template/EducationTemplate\ntitle: $:/settings/Default/Education Display\n\n"
  },
  {
    "path": "editions/resumebuilder/tiddlers/settings/$__settings_Default_Objective Display.tid",
    "content": "order: 3\nshow: true\ntemplate: $:/template/ObjectiveTemplate2\ntitle: $:/settings/Default/Objective Display\n\n"
  },
  {
    "path": "editions/resumebuilder/tiddlers/settings/$__settings_Default_Objective.tid",
    "content": "title: $:/settings/Default/Objective\n\nBasic"
  },
  {
    "path": "editions/resumebuilder/tiddlers/settings/$__settings_Default_Previous Employment Display.tid",
    "content": "order: 5\nshow: true\ntemplate: $:/template/PreviousEmploymentTemplate\ntitle: $:/settings/Default/Previous Employment Display\n\n"
  },
  {
    "path": "editions/resumebuilder/tiddlers/settings/$__settings_Default_Resume Title Display.tid",
    "content": "order: 1\nshow: true\ntemplate: $:/template/ResumeTitleTemplate2\ntitle: $:/settings/Default/Resume Title Display\n\n"
  },
  {
    "path": "editions/resumebuilder/tiddlers/settings/$__settings_Default_ResumeTitle.tid",
    "content": "title: $:/settings/Default/ResumeTitle\n\nResume"
  },
  {
    "path": "editions/resumebuilder/tiddlers/settings/$__settings_Default_Skills and Expertise Display.tid",
    "content": "order: 4\nshow: true\ntemplate: $:/template/SkillsAndExpertiseTemplate\ntitle: $:/settings/Default/Skills and Expertise Display\n\n"
  },
  {
    "path": "editions/resumebuilder/tiddlers/settings/$__settings_Global.tid",
    "content": "selected_resume: Default\ntags: \ntitle: $:/settings/Global\n\n"
  },
  {
    "path": "editions/resumebuilder/tiddlers/system/$__DefaultTiddlers.tid",
    "content": "created: 20150620003518997\nmodified: 20150720162957690\ntitle: $:/DefaultTiddlers\n\n[[Help]]\n[[Résumé Wizard]]\n[[Edit Existing Items]]\n[[Layout Options]]\n[[Résumé Options]]\n"
  },
  {
    "path": "editions/resumebuilder/tiddlers/system/$__SiteSubtitle.tid",
    "content": "created: 20150619215753488\nmodified: 20150720163304383\ntitle: $:/SiteSubtitle\n\na résumé building tool using ~TiddlyWiki"
  },
  {
    "path": "editions/resumebuilder/tiddlers/system/$__SiteTitle.tid",
    "content": "created: 20150619215748447\nmodified: 20150720163301922\ntitle: $:/SiteTitle\n\nRésumé Builder"
  },
  {
    "path": "editions/resumebuilder/tiddlers/system/$__config_DefaultSidebarTab.tid",
    "content": "created: 20150719185223155\nmodified: 20150719185226532\ntitle: $:/config/DefaultSidebarTab\n\nPreview"
  },
  {
    "path": "editions/resumebuilder/tiddlers/system/$__config_PageControlButtons_Visibility_$__core_ui_Buttons_home.tid",
    "content": "modified: 20150719172915740\ntitle: $:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/home\n\nshow"
  },
  {
    "path": "editions/resumebuilder/tiddlers/system/$__config_PageControlButtons_Visibility_$__core_ui_Buttons_new-tiddler.tid",
    "content": "modified: 20150719172917795\ntitle: $:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-tiddler\n\nhide"
  },
  {
    "path": "editions/resumebuilder/tiddlers/system/$__core_ui_SideBar_More.tid",
    "content": "caption: {{$:/language/SideBar/More/Caption}}\ncreated: 20150719185507821\nmodified: 20150719185507821\ntitle: $:/core/ui/SideBar/More\n\n<div class=\"tc-more-sidebar\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/MoreSideBar]!has[draft.of]]\" \"$:/core/ui/MoreSideBar/Tags\" \"$:/state/tab/moresidebar\" \"tc-vertical\">>\n</div>\n"
  },
  {
    "path": "editions/resumebuilder/tiddlers/system/$__core_ui_SideBar_Open.tid",
    "content": "caption: {{$:/language/SideBar/Open/Caption}}\ncreated: 20150719185529309\nmodified: 20150719185529309\ntitle: $:/core/ui/SideBar/Open\n\n\\define lingo-base() $:/language/CloseAll/\n<$list filter=\"[list[$:/StoryList]]\" history=\"$:/HistoryList\" storyview=\"pop\">\n\n<$button message=\"tm-close-tiddler\" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class=\"tc-btn-invisible tc-btn-mini\">&times;</$button> <$link to={{!!title}}><$view field=\"title\"/></$link>\n\n</$list>\n\n<$button message=\"tm-close-all-tiddlers\" class=\"tc-btn-invisible tc-btn-mini\"><<lingo Button>></$button>\n"
  },
  {
    "path": "editions/resumebuilder/tiddlers/system/$__core_ui_SideBar_Recent.tid",
    "content": "caption: {{$:/language/SideBar/Recent/Caption}}\ncreated: 20150719185549965\nmodified: 20150719185549965\ntitle: $:/core/ui/SideBar/Recent\n\n<$macrocall $name=\"timeline\" format={{$:/language/RecentChanges/DateFormat}}/>\n"
  },
  {
    "path": "editions/resumebuilder/tiddlers/system/$__core_ui_SideBar_Tools.tid",
    "content": "caption: {{$:/language/SideBar/Tools/Caption}}\ncreated: 20150719185611214\nmodified: 20150719185622149\ntitle: $:/core/ui/SideBar/Tools\n\n\\define lingo-base() $:/language/ControlPanel/\n\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n\n<<lingo Basics/Version/Prompt>> <<version>>\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]]\" variable=\"listItem\">\n\n<div style=\"position:relative;\">\n\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <$transclude tiddler=<<listItem>>/> <i class=\"tc-muted\"><$transclude tiddler=<<listItem>> field=\"description\"/></i>\n\n</div>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n"
  },
  {
    "path": "editions/resumebuilder/tiddlers/system/$__view.tid",
    "content": "title: $:/view\n\nzoomin"
  },
  {
    "path": "editions/resumebuilder/tiddlers/temp tiddlers/$__temp_NewSection_InputTiddler.tid",
    "content": "created: 20150720164306989\nmodified: 20150720164306989\ntitle: $:/temp/NewSection/InputTiddler\n\n"
  },
  {
    "path": "editions/resumebuilder/tiddlers/temp tiddlers/$__temp_NewSection_OptionsTiddler.tid",
    "content": "created: 20150720164308156\nmodified: 20150720164308156\ntitle: $:/temp/NewSection/OptionsTiddler\n\n"
  },
  {
    "path": "editions/resumebuilder/tiddlers/temp tiddlers/$__temp_NewSection_TemplateTiddler.tid",
    "content": "created: 20150720164309668\nmodified: 20150720164309668\ntitle: $:/temp/NewSection/TemplateTiddler\n\n"
  },
  {
    "path": "editions/resumebuilder/tiddlers/temp tiddlers/$__temp_Objective.tid",
    "content": "created: 20150720165013749\nmodified: 20150720165013749\ntitle: $:/temp/Objective\n\n"
  },
  {
    "path": "editions/resumebuilder/tiddlers/templates/$__template_ContactInformationTemplate.tid",
    "content": "input_tiddler: $:/input/Contact Information\noptions_tiddler: $:/options/Contact Information Options\nsection_name: Contact Information\ntags: DisplayTemplate\ntemplate_name: Contact Information Template 1\ntitle: $:/template/ContactInformationTemplate\n\n<div style='text-align:center'>\n\n<h3>\n<$reveal type='nomatch' state='$:/settings/Resume Configuration!!show_name' text='false'><$reveal type='nomatch' state='$:/data/ResumeTitle!!use_name' text='true'>{{$:/data/Personal Information!!name}}<br></$reveal></$reveal>\n<$reveal type='nomatch' state='$:/settings/Resume Configuration!!show_address' text='false'>{{$:/data/Personal Information!!street_address}}<br>\n{{$:/data/Personal Information!!city}}, {{$:/data/Personal Information!!state}} {{$:/data/Personal Information!!zip_code}}, {{$:/data/Personal Information!!country}}<br></$reveal>\n<$reveal type='nomatch' state='$:/settings/Resume Configuration!!show_phone_number' text='false'>+{{$:/data/Personal Information!!phone_number}}<br></$reveal>\n<$reveal type='nomatch' state='$:/settings/Resume Configuration!!show_email_address' text='false'>{{$:/data/Personal Information!!email_address}}<br></$reveal>\n<$reveal type='nomatch' state='$:/settings/Resume Configuration!!show_date' text='false'>\n<$reveal type='nomatch' state='$:/settings/Resume Configuration!!show_current_date' text='false'>\n<<now \"DDD DDth MMM YYYY\">>\n</$reveal>\n<$reveal type='match' state='$:/settings/Resume Configuration!!show_current_date' text='false'>\n{{$:/data/Personal Information!!entered_date}}\n</$reveal>\n<br>\n</$reveal>\n</h3>\n</div>"
  },
  {
    "path": "editions/resumebuilder/tiddlers/templates/$__template_EducationTemplate.tid",
    "content": "input_tiddler: $:/input/Education\noptions_tiddler: $:/options/Education Options\nsection_name: Education\ntags: DisplayTemplate\ntemplate_name: Education Template 1\ntitle: $:/template/EducationTemplate\n\n\\define thisEducationList()\n<$list filter='[prefix[$:/data/Education/]removeprefix[$:/data/]addprefix[$:/settings/$(ThisResumeName)$/]!show[false]sort[order]removeprefix[$:/settings/$(ThisResumeName)$/]addprefix[$:/data/]]'>\n<li><$view field='degree_level'/><$reveal type='nomatch' state='!!ongoing' text='true'>, </$reveal><$reveal type='match' state='!!ongoing' text='true'> (Ongoing), </$reveal><$view field='major'/>, <$view field='institution'/>, <$view field='address'/>, <$reveal type='match' state='!!ongoing' text='true'>Expected Graduation Date: </$reveal> <$view field='graduation_date'/><$reveal type='match' state='!!show_gpa' text='true'>, GPA: <$view field='gpa'/></$reveal></li>\n</$list>\n\\end\n\n!!''Education''\n\n<ul>\n<<thisEducationList>>\n</ul>"
  },
  {
    "path": "editions/resumebuilder/tiddlers/templates/$__template_ObjectiveTemplate.tid",
    "content": "input_tiddler: $:/input/ObjectiveInput1\noptions_tiddler: $:/options/Objective Options\nsection_name: Objective\ntags: DisplayTemplate\ntemplate_name: Objective Template 1\ntitle: $:/template/ObjectiveTemplate\n\n\\define thisShowObjective()\n<$list filter='[[$:/settings/$(ThisResume)$/Objective]get[text]addprefix[$:/data/Objective/]]'>\n<$view field='text'/>\n</$list>\n\\end\n\n''Objective:'' <$vars ThisResume={{$:/settings/Global!!selected_resume}}><<thisShowObjective>></$vars>"
  },
  {
    "path": "editions/resumebuilder/tiddlers/templates/$__template_ObjectiveTemplate2.tid",
    "content": "input_tiddler: $:/input/ObjectiveInput2\noptions_tiddler: $:/options/Objective Options\nsection_name: Objective\ntags: DisplayTemplate\ntemplate_name: Objective Template 2\ntitle: $:/template/ObjectiveTemplate2\n\n\\define thisShowObjective()\n<$list filter='[[$:/settings/$(ThisResume)$/Objective]get[text]addprefix[$:/data/Objective/]]'>\n<$view field='text'/>\n</$list>\n\\end\n\n__''Objective:''__<br><$vars ThisResume={{$:/settings/Global!!selected_resume}}><<thisShowObjective>></$vars>"
  },
  {
    "path": "editions/resumebuilder/tiddlers/templates/$__template_PreviousEmploymentTemplate.tid",
    "content": "input_tiddler: $:/input/Previous Employment\noptions_tiddler: $:/options/Previous Employment Options\nsection_name: Previous Employment\ntags: DisplayTemplate\ntemplate_name: Previous Employment Template 1\ntitle: $:/template/PreviousEmploymentTemplate\n\n\\define thisPreviousEmploymentList()\n<$list filter='[prefix[$:/data/Previous Employment/]removeprefix[$:/data/]addprefix[$:/settings/$(ThisResumeName)$/]!show[false]sort[order]removeprefix[$:/settings/$(ThisResumeName)$/]addprefix[$:/data/]]'>\n<li><$view field='job_title'/>, <$view field='employer'/>, <$view field='dates'/></li>\n</$list>\n\\end\n\n!!''Previous Employment''\n\n<ul>\n<<thisPreviousEmploymentList>>\n</ul>"
  },
  {
    "path": "editions/resumebuilder/tiddlers/templates/$__template_ResumeTitleTemplate.tid",
    "content": "created: 20150720170700740\ninput_tiddler: $:/input/Resume Title\nmodified: 20150720170702537\noptions_tiddler: $:/options/Title Options\nsection_name: Résumé Title\ntags: DisplayTemplate\ntemplate_name: Title Template 1\ntitle: $:/template/ResumeTitleTemplate\n\n\\define thisShowTitle()\n<h1><$reveal type='nomatch' state='$:/settings/$(ThisResume)$/ResumeTitle' text='use name'>''{{$:/settings/$(ThisResume)$/ResumeTitle}}''</$reveal><$reveal type='match' state='$:/settings/$(ThisResume)$/ResumeTitle' text='use name'>''{{$:/data/Personal Information!!name}}''</$reveal></h1>\n\\end\n\n<div style='text-align:center'>\n\n<$vars ThisResume={{$:/settings/Global!!selected_resume}}>\n<<thisShowTitle>>\n</$vars>\n\n</div>"
  },
  {
    "path": "editions/resumebuilder/tiddlers/templates/$__template_ResumeTitleTemplate2.tid",
    "content": "created: 20150720170711876\ninput_tiddler: $:/input/Resume Title2\nmodified: 20150720170713665\noptions_tiddler: $:/options/Title Options\nsection_name: Résumé Title\ntags: DisplayTemplate\ntemplate_name: Title Template 2\ntitle: $:/template/ResumeTitleTemplate2\n\n\\define thisShowTitle()\n<h1>__<$reveal type='nomatch' state='$:/settings/$(ThisResume)$/ResumeTitle' text='use name'>''{{$:/settings/$(ThisResume)$/ResumeTitle}}''</$reveal><$reveal type='match' state='$:/settings/$(ThisResume)$/ResumeTitle' text='use name'>''{{$:/data/Personal Information!!name}}''</$reveal>__</h1>\n\\end\n\n<div style='text-align:center'>\n\n<$vars ThisResume={{$:/settings/Global!!selected_resume}}>\n<<thisShowTitle>>\n</$vars>\n\n</div>"
  },
  {
    "path": "editions/resumebuilder/tiddlers/templates/$__template_SkillsAndExpertiseTemplate.tid",
    "content": "input_tiddler: $:/input/Skills and Expertise\noptions_tiddler: $:/options/Skills Options\nsection_name: Skills and Expertise\ntags: DisplayTemplate\ntemplate_name: Skills and Expertise Template 1\ntitle: $:/template/SkillsAndExpertiseTemplate\n\n\\define thisSkillsAndExpertiseList()\n<$list filter='[prefix[$:/data/Skills and Expertise/]removeprefix[$:/data/]addprefix[$:/settings/$(ThisResumeName)$/]!show[false]sort[order]removeprefix[$:/settings/$(ThisResumeName)$/]addprefix[$:/data/]]'>\n<li><$view field='skill'/></li>\n</$list>\n\\end\n\n!!''Skills and Expertise''\n\n<ul>\n<<thisSkillsAndExpertiseList>>\n</ul>"
  },
  {
    "path": "editions/resumebuilder/tiddlers/templates/GenericSectionDisplayTemplate.tid",
    "content": "tags: \ntitle: GenericSectionDisplayTemplate\n\n\\define thisDisplayThing()\n<$list filter='[is[current]removeprefix[$:/display/]addprefix[$:/settings/$(ThisResumeName)$/]!show[false]get[template]]'>\n<$transclude mode=block/>\n</$list>\n\\end\n\n<!--\n\\define thisDisplayThing()\n<$list filter='[[$:/settings/$(ThisResumeName)$/$(currentTiddler)$]!show[false]get[template]]'>\n<$transclude mode=block/>\n</$list>\n\\end\n-->\n\n<$set name=ThisResumeName value={{$:/settings/Global!!selected_resume}}>\n<<thisDisplayThing>>\n</$set>"
  },
  {
    "path": "editions/resumebuilder/tiddlers/tools/New Section Creation Tool.tid",
    "content": "created: 20150719200725211\nmodified: 20150720164139669\ntags: Tools\ntitle: New Section Creation Tool\n\n\\define thisMakeDisplayTiddler()\n<$action-setfield $tiddler=\"\"\"$:/display/$(ThisSection)$\"\"\" text=\"\"\"<$transclude tiddler=GenericSectionDisplayTemplate mode=block/>\"\"\" tags=\"\"\"[[Section Display]]\"\"\" section=\"\"\"$(ThisSection)$\"\"\"/>\n\\end\n\n\\define thisInputTiddlerText()\n$(TiddlerPreamble)$$(TiddlerPreamble2)$$(TiddlerPreamble3)$\n\n$(ThisAddItemButtonMacro)$\n\n$(UserInputTiddlerText)$\n\\end\n\n\\define thisMakeInputTiddler()\n<$action-setfield $tiddler=\"\"\"$:/input/$(ThisSection)$/$(TemplateName)$\"\"\" text=<<thisInputTiddlerText>> tags=Section caption=\"\"\"$(ThisSection)$\"\"\"/>\n\\end\n\n\\define thisOptionsTiddlerText()\n$(TiddlerPreamble)$$(TiddlerPreamble2)$$(TiddlerPreamble3)$\n\n$(UserOptionsTiddlerText)$\n\\end\n\n\\define thisMakeOptionsTiddler()\n<$action-setfield $tiddler=\"\"\"$:/options/$(ThisSection)$/$(TemplateName)$\"\"\" text=<<thisOptionsTiddlerText>> caption=\"\"\"$(ThisSection)$ Options\"\"\"/>\n\\end\n\n\\define thisTemplateTiddlerText()\n$(TiddlerPreamble)$$(TiddlerPreamble2)$$(TiddlerPreamble3)$\n\n$(UserTemplateTiddlerText)$\n\\end\n\n\\define thisMakeTemplateTiddler()\n<$action-setfield $tiddler=\"\"\"$:/template/$(ThisSection)$/$(TemplateName)$\"\"\" text=<<thisTemplateTiddlerText>> input_tiddler=\"\"\"$:/input/$(ThisSection)$/$(TemplateName)$\"\"\" options_tiddler=\"\"\"$:/options/$(ThisSection)$/$(TemplateName)$\"\"\" section_name=\"\"\"$(ThisSection)$\"\"\" template_name=\"\"\"$(TemplateName)$\"\"\" tags=DisplayTemplate/>\n\\end\n\n''Once you have created your new section you have to go to [[Résumé Options]] and select a template and set the section as visible before it will appear in the résumé.''\n\nThis is a tool to aid in the creation of custom résumé sections. Fill out each section and then click on the 'Create Section' button below. Click on the ^^(?)^^ next to each tiddler name to get more information and a basic example. If you copy all of the examples given they will work together.\n\nAutomatically defined helper macros and values (with the exception of `<<thisAddResumeSectionItem>>` these macros are defined for all of the tiddlers created using this tool.):\n\n*`<<thisAddResumeSectionItem>>` - This macro places a button that will automatically create the data tiddler using the supplied inputs. It is only available in the input tiddler.\n*`<<ItemListFilter>>` - This is the list of the names for all items in the current section.\n*`<<SortedItemFilterList>>` - This is the sorted list data tiddlers for the visible items in the current section.\n*`<<DataTiddler>>` - The data tiddler for the current item, use this for storing data in the input tiddler and for getting data to display for the template tiddler. This macro only works inside a list using the `<<ItemListFilter>>`\n*`<<ItemSettingsTiddler>>` - This is where settings should be stored in the options tiddler. This should hold the visibility and order sections for each item. This macro only works inside a list using the `<<ItemListFilter>>`\n*`<<SectionName>>` - This is the name of the current section.\n*`<<SectionSettingsTiddler>>` - This is the name of the tiddler containing the settings for the current section. It holds the visibility and order settings, but they are automatically created by the [[Layout Options]] tiddler. You shouldn't need to use this unless you are doing something special.\n\nSection Name^^(<$button class='tc-btn-invisible' popup='$:/state/popup/SectionNameHelp'>?</$button><$reveal type='popup' state='$:/state/popup/SectionNameHelp'><div class='tc-drop-down'>This should be a short descriptive section name, like 'Résumé Title' or 'Lands Conquered'</div></$reveal>)^^:\n<$edit-text tiddler='$:/temp/NewSection' field='section_name' class='tc-edit-texteditor' placeholder='Section Name'/>\n\nInput Tiddler^^(<$reveal type='nomatch' state='$:/state/popup/InputTiddlerHelp' text=show><$button class='tc-btn-invisible' set='$:/state/popup/InputTiddlerHelp' setTo='show'>?</$button></$reveal><$reveal type='match' state='$:/state/popup/InputTiddlerHelp' text=show><$button class='tc-btn-invisible' set='$:/state/popup/InputTiddlerHelp' setTo='hide'>?</$button></$reveal>)^^:\n\n<$reveal type='match' state='$:/state/popup/InputTiddlerHelp' text=show>\n<div style=\"word-wrap: true;\">\n<hr>\nThis is the tiddler used to take input. This should have a way to input data for each field you want for your section items (like start date, end date, employer, ...) This must have a field called 'name' to work with the creation tool.\n\nA very simple example is:<br>\n\n<pre>\n\n```\nItem Name: <$edit-text tiddler='$:/temp/$(ThisSection)$/NewItem' field=name class='tc-edit-texteditor' placeholder='Item Name'/>\n\n<<thisAddResumeSectionItem>>\n\n<$list filter=<<ItemListFilter>>/>\n```\n</pre>\n\n</div>\n</$reveal>\n\n<$edit-text tiddler='$:/temp/NewSection/InputTiddler' class='tc-edit-texteditor' placeholder='Input Tiddler Text'/>\n\nOptions Tiddler^^(<$reveal type='nomatch' state='$:/state/popup/OptionsTiddlerHelp' text=show><$button class='tc-btn-invisible' set='$:/state/popup/OptionsTiddlerHelp' setTo='show'>?</$button></$reveal><$reveal type='match' state='$:/state/popup/OptionsTiddlerHelp' text=show><$button class='tc-btn-invisible' set='$:/state/popup/OptionsTiddlerHelp' setTo='hide'>?</$button></$reveal>)^^:\n\n<$reveal type='match' state='$:/state/popup/OptionsTiddlerHelp' text=show>\n<div style=\"word-wrap: true;\">\n<hr>\nThis is the tiddler listing the options, it should have at least two options:\n<br>\n''Visibility'' - a field called `show` given a value of true or false. Checkboxes work well for this. Example: `<$checkbox tiddler=<<ItemSettingsTiddler>> field=show checked=true unchecked=false/>`.<br>\n''Order'' - a field called `order` that contains a numeric value used to sort the items in the section. Example: `<$edit-text tiddler=<<ItemSettingsTiddler>> field=order size=2/>`.<br>\n\n\nA very simple example is:<br>\n\n<pre>\n\n```\n<table>\n<tr>\n<th>\nVisible?\n</th>\n<th>\nItem Name\n</th>\n<th>\nOrder\n</th>\n</tr>\n<$list filter=<<ItemListFilter>>>\n<tr>\n<td>\n<$checkbox tiddler=<<ItemSettingsTiddler>> field=show checked=true unchecked=false/>\n</td>\n<td>\n<$view tiddler=<<DataTiddler>> field='name'/>\n</td>\n<td>\n<$edit-text tiddler=<<ItemSettingsTiddler>> field=order size=2/>\n</td>\n</tr>\n</$list>\n</table>\n```\n</pre>\n<hr>\n</div>\n</$reveal>\n\n<$edit-text tiddler='$:/temp/NewSection/OptionsTiddler' class='tc-edit-texteditor' placeholder='Options Tiddler Text'/>\n\nTemplate Tiddler^^(<$reveal type='nomatch' state='$:/state/popup/TemplateTiddlerHelp' text=show><$button class='tc-btn-invisible' set='$:/state/popup/TemplateTiddlerHelp' setTo='show'>?</$button></$reveal><$reveal type='match' state='$:/state/popup/TemplateTiddlerHelp' text=show><$button class='tc-btn-invisible' set='$:/state/popup/TemplateTiddlerHelp' setTo='hide'>?</$button></$reveal>)^^:\n\n<$reveal type='match' state='$:/state/popup/TemplateTiddlerHelp' text=show>\n<div style=\"word-wrap: true;\">\n<hr>\n\nA template tiddler is used to display the section in the final résumé. Each template must have a unique name. It should be descriptive (like Basic Objective Template).\n\nA very example template tiddler is:\n\n<pre>\n\n```\n<h2><$view field='section_name'/></h2>\n\n<$list filter=<<SortedItemListFilter>>>\n*<$view field='name'/><br>\n</$list>\n```\n</pre>\n<hr>\n</div>\n</$reveal>\n\nTemplate Name:\n<$edit-text tiddler='$:/temp/NewSection/TemplateTiddler' field=template_name class='tc-edit-texteditor' placeholder='Template Name'/>\n\nTemplate:\n<$edit-text tiddler='$:/temp/NewSection/TemplateTiddler' class='tc-edit-texteditor' placeholder='Template Tiddler Text'/>\n\n<$vars TiddlerPreamble=\"\"\"\\define SectionsSettingsTiddler() $:/settings/$(ThisResume)$/$(ThisSection)$\n\n\\define ItemListFilter() [prefix[$:/data/$(ThisSection)$/]removeprefix[$:/data/$(ThisSection)$/]]\n\n\\define SortedItemListFilter() [prefix[$:/data/$(ThisSection)$/]removeprefix[$:/data]addprefix[$:/settings/$(ThisResume)$]sort[order]!show[false]removeprefix[$:/settings/$(ThisResume)$]addprefix[$:/data]]\n\n\\define SectionName() $(ThisSection)$\n\n\\define ItemSettingsTiddler() $:/settings/$(ThisResume)$/$(ThisSection)$/$(current\"\"\"\n\nTiddlerPreamble2=\"\"\"Tiddler)$\n\n\\define DataTiddler() $:/data/$(ThisSection)$/$(current\"\"\"\n\nTiddlerPreamble3=\"\"\"Tiddler)$\n\n\"\"\" ThisAddItemButtonMacro='\\define thisAddResumeSectionItemInside(ItemName)\n<$action-setfield $tiddler=\"\"\"$:/temp/$(ThisSection)$/NewItem\"\"\" title=\"\"\"$:/data/$(ThisSection)$/$ItemName$\"\"\"/>\n\\end\n\n\\define thisAddResumeSectionItem()\n<$button>Add Item\n<$macrocall $name=thisAddResumeSectionItemInside ItemName={{$:/temp/$(ThisSection)$/NewItem!!name}}>\n</$button>\n\\end\n\n' ThisSection={{$:/temp/NewSection!!section_name}} ThisResume={{$:/settings/Global!!selected_resume}} UserInputTiddlerText={{$:/temp/NewSection/InputTiddler}} UserOptionsTiddlerText={{$:/temp/NewSection/OptionsTiddler}} UserTemplateTiddlerText={{$:/temp/NewSection/TemplateTiddler}} TemplateName={{$:/temp/NewSection/TemplateTiddler!!template_name}}>\n<$button>Create Section\n<$macrocall $name=thisMakeDisplayTiddler/>\n<$macrocall $name=thisMakeInputTiddler/>\n<$macrocall $name=thisMakeOptionsTiddler/>\n<$macrocall $name=thisMakeTemplateTiddler/>\n</$button>\n</$vars>"
  },
  {
    "path": "editions/resumebuilder/tiddlywiki.info",
    "content": "{\n\t\"description\": \"Resume builder edition\",\n\t\"plugins\": [\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\",\n\t\t\"tiddlywiki/starlight\",\n\t\t\"tiddlywiki/seamless\",\n\t\t\"tiddlywiki/centralised\",\n\t\t\"tiddlywiki/readonly\"\n\t],\n\t\"languages\": [\n\t],\n\t\"includeWikis\": [\n\t],\n\t\"build\": {\n\t\t\"index\": [\n\t\t\t\"--rendertiddler\",\"$:/core/save/all\",\"index.html\",\"text/plain\"],\n\t\t\"favicon\": [\n\t\t\t\"--savetiddler\",\"$:/favicon.ico\",\"favicon.ico\"]\n\t}\n}\n"
  },
  {
    "path": "editions/server/tiddlywiki.info",
    "content": "{\n\t\"description\": \"Basic client-server edition\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/tiddlyweb\",\n\t\t\"tiddlywiki/filesystem\",\n\t\t\"tiddlywiki/highlight\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\"\n\t],\n\t\"build\": {\n\t\t\"index\": [\n\t\t\t\"--render\",\"$:/plugins/tiddlywiki/tiddlyweb/save/offline\",\"index.html\",\"text/plain\"],\n\t\t\"static\": [\n\t\t\t\"--render\",\"$:/core/templates/static.template.html\",\"static.html\",\"text/plain\",\n\t\t\t\"--render\",\"$:/core/templates/alltiddlers.template.html\",\"alltiddlers.html\",\"text/plain\",\n\t\t\t\"--render\",\"[!is[system]]\",\"[encodeuricomponent[]addprefix[static/]addsuffix[.html]]\",\"text/plain\",\"$:/core/templates/static.tiddler.html\",\n\t\t\t\"--render\",\"$:/core/templates/static.template.css\",\"static/static.css\",\"text/plain\"]\n\t}\n}"
  },
  {
    "path": "editions/server-external-js/tiddlers/config/$__DefaultTiddlers.tid",
    "content": "created: 20230314153132081\nmodified: 20230314153243008\ntitle: $:/DefaultTiddlers\ntype: text/vnd.tiddlywiki\n\nGettingStarted\n[[Using the external JavaScript template]]\n"
  },
  {
    "path": "editions/server-external-js/tiddlers/config/$__config_SaveWikiButton_Filename.tid",
    "content": "title: $:/config/SaveWikiButton/Filename\ntype: text/vnd.tiddlywiki\n\nexternal-<<version>>.html"
  },
  {
    "path": "editions/server-external-js/tiddlers/external/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": [\n\t\t{\n\t\t\t\"file\": \"../../../tw5.com/tiddlers/webserver/Using the external JavaScript template.tid\",\n\t\t\t\"isTiddlerFile\": true\n\t\t}\n\t]\n}"
  },
  {
    "path": "editions/server-external-js/tiddlywiki.info",
    "content": "{\n\t\"description\": \"Client-server edition with external tiddlywiki.js\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/tiddlyweb\",\n\t\t\"tiddlywiki/filesystem\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\"\n\t],\n\t\"build\": {\n\t\t\"listen\": [\n\t\t\t\"--listen\",\"root-tiddler=$:/core/save/all-external-js\",\"use-browser-cache=yes\"],\n\t\t\"index\": [\n\t\t\t\"--render\",\"$:/core/save/offline-external-js\",\"[[external-]addsuffix<version>addsuffix[.html]]\",\"text/plain\",\n\t\t\t\"--render\",\"$:/core/templates/tiddlywiki5.js\",\"[[tiddlywikicore-]addsuffix<version>addsuffix[.js]]\",\"text/plain\"],\n\t\t\"static\": [\n\t\t\t\"--render\",\"$:/core/templates/static.template.html\",\"static.html\",\"text/plain\",\n\t\t\t\"--render\",\"$:/core/templates/alltiddlers.template.html\",\"alltiddlers.html\",\"text/plain\",\n\t\t\t\"--render\",\"[!is[system]]\",\"[encodeuricomponent[]addprefix[static/]addsuffix[.html]]\",\"text/plain\",\"$:/core/templates/static.tiddler.html\",\n\t\t\t\"--render\",\"$:/core/templates/static.template.css\",\"static/static.css\",\"text/plain\"],\n\t\t\"tiddlywikicore\": [\n\t\t\t\"--render\",\"$:/core/templates/tiddlywiki5.js\",\"[[tiddlywikicore-]addsuffix<version>addsuffix[.js]]\",\"text/plain\"]\n\t}\n}\n"
  },
  {
    "path": "editions/share/tiddlywiki.info",
    "content": "{\n\t\"description\": \"Sharing tiddlers via URLs\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/share\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\"\n\t],\n\t\"build\": {\n\t\t\"share\": [\n\t\t\t\"--rendertiddler\",\"$:/core/save/all\",\"share.html\",\"text/plain\"]\n\t}\n}"
  },
  {
    "path": "editions/test/playwright.spec.js",
    "content": "const { test, expect } = require(\"@playwright/test\");\r\nconst {resolve} = require(\"path\");\r\n\r\nconst indexPath = resolve(__dirname, \"output\", \"test.html\");\r\nconst crossPlatformIndexPath = indexPath.replace(/^\\/+/, \"\");\r\n\r\n\r\ntest(\"get started link\", async ({ page }) => {\r\n\t// The tests can take a while to run\r\n\tconst timeout = 1000 * 30;\r\n\ttest.setTimeout(timeout);\r\n\r\n\t// Load the generated test TW html\r\n\tawait page.goto(`file:///${crossPlatformIndexPath}`);\r\n\r\n\t// Sanity check\r\n\tawait expect(page.locator(\".tc-site-title\"), \"Expected correct page title to verify the test page was loaded\").toHaveText(\"TiddlyWiki5\");\r\n\r\n\t// Wait for jasmine results bar to appear\r\n\tawait expect(page.locator(\".jasmine-overall-result\"), \"Expected jasmine test results bar to be present\").toBeVisible({timeout});\r\n\r\n\t// Assert the tests have passed\r\n\tawait expect(page.locator(\".jasmine-overall-result.jasmine-failed\"), \"Expected jasmine tests to not have failed\").not.toBeVisible();\r\n\tawait expect(page.locator(\".jasmine-overall-result.jasmine-passed\"), \"Expected jasmine tests to have passed\").toBeVisible();\r\n});\r\n"
  },
  {
    "path": "editions/test/tiddlers/DefaultTiddlers.tid",
    "content": "title: $:/DefaultTiddlers\n\nHelloThere\n"
  },
  {
    "path": "editions/test/tiddlers/HelloThere.tid",
    "content": "title: HelloThere\n\nThis is TiddlyWiki's browser-based test runner for version <<version>>. See the bottom of this page for the test results.\n\nhttps://tiddlywiki.com/\n\n! Test Cases\n\n{{$:/core/ui/ControlPanel/TestCases}}\n"
  },
  {
    "path": "editions/test/tiddlers/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\nbrowser-based test runner"
  },
  {
    "path": "editions/test/tiddlers/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\nTiddlyWiki5"
  },
  {
    "path": "editions/test/tiddlers/tests/data/conditionals/Basic.tid",
    "content": "title: Conditionals/Basic\ndescription: Basic conditional shortcut syntax\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Text\n\nThis is a <%if [<something>match[one]] %>Elephant<%endif%>, I think.\n+\ntitle: Output\n\n<$let something=\"one\">\n{{Text}}\n</$let>\n\n<$let something=\"two\">\n{{Text}}\n</$let>\n+\ntitle: ExpectedResult\n\n<p>\nThis is a Elephant, I think.\n</p><p>\nThis is a , I think.\n</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/conditionals/BlockMode.tid",
    "content": "title: Conditionals/BlockMode\ndescription: Basic conditional shortcut syntax in block mode\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\procedure test(animal)\n<%if [<animal>match[Elephant]] %>\n\n! It is an elephant\n\n<%else%>\n\n<%if [<animal>match[Giraffe]] %>\n\n! It is a giraffe\n\n<%else%>\n\n! It is completely unknown\n\n<%endif%>\n\n<%endif%>\n\n\\end\n\n<<test \"Giraffe\">>\n\n<<test \"Elephant\">>\n\n<<test \"Antelope\">>\n+\ntitle: ExpectedResult\n\n<h1 class=\"\">It is a giraffe</h1><h1 class=\"\">It is an elephant</h1><h1 class=\"\">It is completely unknown</h1>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/conditionals/Else.tid",
    "content": "title: Conditionals/Else\ndescription: Else conditional shortcut syntax\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Text\n\nThis is a <%if [<something>match[one]] %>Elephant<%else%>Crocodile<%endif%>, I think.\n+\ntitle: Output\n\n<$let something=\"one\">\n{{Text}}\n</$let>\n\n<$let something=\"two\">\n{{Text}}\n</$let>\n+\ntitle: ExpectedResult\n\n<p>\nThis is a Elephant, I think.\n</p><p>\nThis is a Crocodile, I think.\n</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/conditionals/Elseif.tid",
    "content": "title: Conditionals/Elseif\ndescription: Elseif conditional shortcut syntax\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Text\n\nThis is a <%if [<something>match[one]] %>Elephant<%elseif [<something>match[two]] %>Antelope<%else%>Crocodile<%endif%>, I think.\n+\ntitle: Output\n\n<$let something=\"one\">\n{{Text}}\n</$let>\n\n<$let something=\"two\">\n{{Text}}\n</$let>\n\n<$let something=\"three\">\n{{Text}}\n</$let>\n+\ntitle: ExpectedResult\n\n<p>\nThis is a Elephant, I think.\n</p><p>\nThis is a Antelope, I think.\n</p><p>\nThis is a Crocodile, I think.\n</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/conditionals/MissingEndIf.tid",
    "content": "title: Conditionals/MissingEndif\ndescription: Conditional shortcut syntax with missing endif\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Text\n\nThis is a <%if [<something>match[one]] %>Elephant\n+\ntitle: Output\n\n<$let something=\"one\">\n{{Text}}\n</$let>\n\n<$let something=\"two\">\n{{Text}}\n</$let>\n+\ntitle: ExpectedResult\n\n<p>\nThis is a Elephant\n</p><p>\nThis is a \n</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/conditionals/MultipleResults.tid",
    "content": "title: Conditionals/MultipleResults\ndescription: Check that multiple results from the filter are ignored\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\nThis is a <%if 1 2 3 4 5 6 %>Elephant<%endif%>, I think.\n+\ntitle: ExpectedResult\n\n<p>This is a Elephant, I think.</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/conditionals/Nested.tid",
    "content": "title: Conditionals/Nested\ndescription: Nested conditional shortcut syntax\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\procedure test(animal)\n<%if [<animal>match[Elephant]] %>\nIt is an elephant\n<%else%>\n<%if [<animal>match[Giraffe]] %>\nIt is a giraffe\n<%else%>\nIt is completely unknown\n<%endif%>\n<%endif%>\n\\end\n\n<<test \"Giraffe\">>\n\n<<test \"Elephant\">>\n\n<<test \"Antelope\">>\n\n+\ntitle: ExpectedResult\n\n\n\nIt is a giraffe\n\n\nIt is an elephant\n\n\nIt is completely unknown\n\n"
  },
  {
    "path": "editions/test/tiddlers/tests/data/conditionals/NestedElseif.tid",
    "content": "title: Conditionals/NestedElseif\ndescription: Nested elseif conditional shortcut syntax\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Text\n\n\\whitespace trim\nThis is a&#32;\n\t<%if [<something>match[one]] %>\n\t\t<%if [<another>match[one]] %>\n\t\t\tIndian\n\t\t<%elseif [<another>match[two]] %>\n\t\t\tAfrican\n\t\t<%else%>\n\t\t\tUnknown\n\t\t<%endif%>\n\t\t&#32;Elephant\n\t<%elseif [<something>match[two]] %>\n\t\tAntelope\n\t<%else%>\n\t\tCrocodile\n\t<%endif%>\n, I think.\n+\ntitle: Output\n\n<$let something=\"one\" another=\"one\">\n{{Text}}\n</$let>\n\n<$let something=\"one\" another=\"two\">\n{{Text}}\n</$let>\n\n<$let something=\"one\" another=\"three\">\n{{Text}}\n</$let>\n\n<$let something=\"two\">\n{{Text}}\n</$let>\n\n<$let something=\"three\">\n{{Text}}\n</$let>\n+\ntitle: ExpectedResult\n\n<p>\nThis is a Indian Elephant, I think.\n</p><p>\nThis is a African Elephant, I think.\n</p><p>\nThis is a Unknown Elephant, I think.\n</p><p>\nThis is a Antelope, I think.\n</p><p>\nThis is a Crocodile, I think.\n</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/csv-cases.tid",
    "content": "title: csv-cases\ntype: text/plain\ndescription: A file containing a JSON with test CSVs as string as well as expected results\n\n[\n    {\n        \"name\": \"Empty string\",\n        \"options\": {},\n        \"csv\": \"\",\n        \"json\": [],\n        \"jsonWithHeaders\": []\n    },\n    {\n        \"name\": \"Null value\",\n        \"options\": {},\n        \"csv\": null,\n        \"json\": [],\n        \"jsonWithHeaders\": []\n    },\n    {\n        \"name\": \"Simple CSV with no tricks\",\n        \"options\": {},\n        \"csv\": \"cell-11,cell-12,cell-13\\r\\ncell-21,cell-22,cell-23\\r\\ncell-31,cell-32,cell-33\",\n        \"json\": [\n            [\"cell-11\", \"cell-12\", \"cell-13\"],\n            [\"cell-21\", \"cell-22\", \"cell-23\"],\n            [\"cell-31\", \"cell-32\", \"cell-33\"]\n        ],\n        \"jsonWithHeaders\": [\n            {\"cell-11\": \"cell-21\", \"cell-12\": \"cell-22\", \"cell-13\": \"cell-23\"},\n            {\"cell-11\": \"cell-31\", \"cell-12\": \"cell-32\", \"cell-13\": \"cell-33\"}\n        ]\n    },\n    {\n        \"name\": \"Custom separator\",\n        \"options\": {\"separator\": \"\\t\"},\n        \"csv\": \",cell-11,\\t,cell-12,\\t,cell-13,\\r\\n,cell-21,\\t,cell-22,\\t,cell-23,\\r\\n,cell-31,\\t,cell-32,\\t,cell-33,\",\n        \"json\": [\n            [\",cell-11,\", \",cell-12,\", \",cell-13,\"],\n            [\",cell-21,\", \",cell-22,\", \",cell-23,\"],\n            [\",cell-31,\", \",cell-32,\", \",cell-33,\"]\n        ],\n        \"jsonWithHeaders\": [\n            {\",cell-11,\": \",cell-21,\", \",cell-12,\": \",cell-22,\", \",cell-13,\": \",cell-23,\"},\n            {\",cell-11,\": \",cell-31,\", \",cell-12,\": \",cell-32,\", \",cell-13,\": \",cell-33,\"}\n        ]\n    },\n    {\n        \"name\": \"Support empty rows\",\n        \"options\": {},\n        \"csv\": \"cell-11,cell-12,cell-13\\r\\n\\r\\ncell-31,cell-32,cell-33\",\n        \"json\": [\n            [\"cell-11\", \"cell-12\", \"cell-13\"],\n            [],\n            [\"cell-31\", \"cell-32\", \"cell-33\"]\n        ],\n        \"jsonWithHeaders\": [\n            {\"cell-11\": \"\", \"cell-12\": \"\", \"cell-13\": \"\"},\n            {\"cell-11\": \"cell-31\", \"cell-12\": \"cell-32\", \"cell-13\": \"cell-33\"}\n        ]\n    },\n    {\n        \"name\": \"Support empty cells\",\n        \"options\": {},\n        \"csv\": \"cell-11,cell-12,cell-13\\r\\n,,\\r\\ncell-31,cell-32,cell-33\",\n        \"json\": [\n            [\"cell-11\", \"cell-12\", \"cell-13\"],\n            [\"\", \"\", \"\"],\n            [\"cell-31\", \"cell-32\", \"cell-33\"]\n        ],\n        \"jsonWithHeaders\": [\n            {\"cell-11\": \"\", \"cell-12\": \"\", \"cell-13\": \"\"},\n            {\"cell-11\": \"cell-31\", \"cell-12\": \"cell-32\", \"cell-13\": \"cell-33\"}\n        ]\n    },\n    {\n        \"name\": \"Support LF line endings\",\n        \"options\": {},\n        \"csv\": \"cell-11,cell-12,cell-13\\ncell-21,cell-22,cell-23\\ncell-31,cell-32,cell-33\",\n        \"json\": [\n            [\"cell-11\", \"cell-12\", \"cell-13\"],\n            [\"cell-21\", \"cell-22\", \"cell-23\"],\n            [\"cell-31\", \"cell-32\", \"cell-33\"]\n        ],\n        \"jsonWithHeaders\": [\n            {\"cell-11\": \"cell-21\", \"cell-12\": \"cell-22\", \"cell-13\": \"cell-23\"},\n            {\"cell-11\": \"cell-31\", \"cell-12\": \"cell-32\", \"cell-13\": \"cell-33\"}\n        ]\n    },\n    {\n        \"name\": \"Mixed line endings\",\n        \"options\": {},\n        \"csv\": \"cell-11,cell-12,cell-13\\ncell-21,cell-22,cell-23\\r\\ncell-31,cell-32,cell-33\",\n        \"json\": [\n            [\"cell-11\", \"cell-12\", \"cell-13\"],\n            [\"cell-21\", \"cell-22\", \"cell-23\"],\n            [\"cell-31\", \"cell-32\", \"cell-33\"]\n        ],\n        \"jsonWithHeaders\": [\n            {\"cell-11\": \"cell-21\", \"cell-12\": \"cell-22\", \"cell-13\": \"cell-23\"},\n            {\"cell-11\": \"cell-31\", \"cell-12\": \"cell-32\", \"cell-13\": \"cell-33\"}\n        ]\n    },\n    {\n        \"name\": \"Quoted cells\",\n        \"options\": {},\n        \"csv\": \"cell-11,\\\"cell-12\\\",cell-13\\r\\n\\\"cell-21\\\",cell-22,cell-23\\r\\ncell-31,cell-32,\\\"cell-33\\\"\",\n        \"json\": [\n            [\"cell-11\", \"cell-12\", \"cell-13\"],\n            [\"cell-21\", \"cell-22\", \"cell-23\"],\n            [\"cell-31\", \"cell-32\", \"cell-33\"]\n        ],\n        \"jsonWithHeaders\": [\n            {\"cell-11\": \"cell-21\", \"cell-12\": \"cell-22\", \"cell-13\": \"cell-23\"},\n            {\"cell-11\": \"cell-31\", \"cell-12\": \"cell-32\", \"cell-13\": \"cell-33\"}\n        ]\n    },\n    {\n        \"name\": \"Escaped quotes in cells\",\n        \"options\": {},\n        \"csv\": \"cell-11,\\\"\\\"\\\"cell-12\\\"\\\"\\\",cell-13\\r\\n\\\"cell\\\"\\\"\\\"\\\"-21\\\",cell-22,cell-23\\r\\ncell-31,cell-32,\\\"\\\"\\\"\\\"\\\"cell\\\"\\\"\\\"\\\"-33\\\"\\\"\\\"\\\"\\\"\",\n        \"json\": [\n            [\"cell-11\", \"\\\"cell-12\\\"\", \"cell-13\"],\n            [\"cell\\\"\\\"-21\", \"cell-22\", \"cell-23\"],\n            [\"cell-31\", \"cell-32\", \"\\\"\\\"cell\\\"\\\"-33\\\"\\\"\"]\n        ],\n        \"jsonWithHeaders\": [\n            {\"cell-11\": \"cell\\\"\\\"-21\", \"\\\"cell-12\\\"\": \"cell-22\", \"cell-13\": \"cell-23\"},\n            {\"cell-11\": \"cell-31\", \"\\\"cell-12\\\"\": \"cell-32\", \"cell-13\": \"\\\"\\\"cell\\\"\\\"-33\\\"\\\"\"}\n        ]\n    },\n    {\n        \"name\": \"Separator in quoted cells\",\n        \"options\": {},\n        \"csv\": \"cell-11,\\\",c,e,l,l,-,1,2,\\\",cell-13\\r\\n\\\",c,e,l,l,-,2,1,\\\",cell-22,cell-23\\r\\ncell-31,cell-32,\\\",c,e,l,l,-,3,3,\\\"\",\n        \"json\": [\n            [\"cell-11\", \",c,e,l,l,-,1,2,\", \"cell-13\"],\n            [\",c,e,l,l,-,2,1,\", \"cell-22\", \"cell-23\"],\n            [\"cell-31\", \"cell-32\", \",c,e,l,l,-,3,3,\"]\n        ],\n        \"jsonWithHeaders\": [\n            {\"cell-11\": \",c,e,l,l,-,2,1,\", \",c,e,l,l,-,1,2,\": \"cell-22\", \"cell-13\": \"cell-23\"},\n            {\"cell-11\": \"cell-31\", \",c,e,l,l,-,1,2,\": \"cell-32\", \"cell-13\": \",c,e,l,l,-,3,3,\"}\n        ]\n    },\n    {\n        \"name\": \"UTF-8 characters\",\n        \"options\": {},\n        \"csv\": \"ᑖcell-11™,°cell-12ą,ćcell-13ś\\r\\nżcell-21ę,łcell-22ó,Ócell-23↑\\r\\nŹcell-31Ż,Ącell-32Ń,Ęcell-33ę\",\n        \"json\": [\n            [\"ᑖcell-11™\", \"°cell-12ą\", \"ćcell-13ś\"],\n            [\"żcell-21ę\", \"łcell-22ó\", \"Ócell-23↑\"],\n            [\"Źcell-31Ż\", \"Ącell-32Ń\", \"Ęcell-33ę\"]\n        ],\n        \"jsonWithHeaders\": [\n            {\"ᑖcell-11™\": \"żcell-21ę\", \"°cell-12ą\": \"łcell-22ó\", \"ćcell-13ś\":  \"Ócell-23↑\"},\n            {\"ᑖcell-11™\": \"Źcell-31Ż\", \"°cell-12ą\": \"Ącell-32Ń\", \"ćcell-13ś\": \"Ęcell-33ę\"}\n        ]\n    },\n    {\n        \"name\": \"All in one\",\n        \"options\": {},\n        \"csv\": \"\\\"\\\"\\\",\\r\\n,\\\"\\\",\\r\\nĄŚĆżóŁ\\n\\n\\n\\r\\n,\\\"\\\"\\\",ҡ͟¼ǉ·˨Քƣйʊ͕Έӕ,😣👁🔵⛔️🌹\\r\\n\\\"\\\"\\\",\\r\\n,\\\"\\\",\\r\\nĄŚĆżóŁ\\n\\n\\n\\r\\n,\\\"\\\"\\\",ҡ͟¼ǉ·˨Քƣйʊ͕Έӕ,😣👁🔵⛔️🌹\\n\\\"\\\"\\\",\\r\\n,\\\"\\\",\\r\\nĄŚĆżóŁ\\n\\n\\n\\r\\n,\\\"\\\"\\\",ҡ͟¼ǉ·˨Քƣйʊ͕Έӕ,😣👁🔵⛔️🌹\",\n        \"json\": [\n            [\"\\\",\\r\\n,\\\",\\r\\nĄŚĆżóŁ\\n\\n\\n\\r\\n,\\\"\", \"ҡ͟¼ǉ·˨Քƣйʊ͕Έӕ\", \"😣👁🔵⛔️🌹\"],\n            [\"\\\",\\r\\n,\\\",\\r\\nĄŚĆżóŁ\\n\\n\\n\\r\\n,\\\"\", \"ҡ͟¼ǉ·˨Քƣйʊ͕Έӕ\", \"😣👁🔵⛔️🌹\"],\n            [\"\\\",\\r\\n,\\\",\\r\\nĄŚĆżóŁ\\n\\n\\n\\r\\n,\\\"\", \"ҡ͟¼ǉ·˨Քƣйʊ͕Έӕ\", \"😣👁🔵⛔️🌹\"]\n        ],\n        \"jsonWithHeaders\": [\n            {\"\\\",\\r\\n,\\\",\\r\\nĄŚĆżóŁ\\n\\n\\n\\r\\n,\\\"\": \"\\\",\\r\\n,\\\",\\r\\nĄŚĆżóŁ\\n\\n\\n\\r\\n,\\\"\", \"ҡ͟¼ǉ·˨Քƣйʊ͕Έӕ\": \"ҡ͟¼ǉ·˨Քƣйʊ͕Έӕ\", \"😣👁🔵⛔️🌹\": \"😣👁🔵⛔️🌹\"},\n            {\"\\\",\\r\\n,\\\",\\r\\nĄŚĆżóŁ\\n\\n\\n\\r\\n,\\\"\": \"\\\",\\r\\n,\\\",\\r\\nĄŚĆżóŁ\\n\\n\\n\\r\\n,\\\"\", \"ҡ͟¼ǉ·˨Քƣйʊ͕Έӕ\": \"ҡ͟¼ǉ·˨Քƣйʊ͕Έӕ\", \"😣👁🔵⛔️🌹\": \"😣👁🔵⛔️🌹\"}\n        ]\n    },\n    {\n        \"name\": \"All in one - custom separator\",\n        \"options\": {\"separator\": \"\\t\"},\n        \"csv\": \"\\\"\\\"\\\"\\t\\r\\n\\t\\\"\\\"\\t\\r\\nĄŚĆżóŁ\\n\\n\\n\\r\\n\\t\\\"\\\"\\\"\\tҡ͟¼ǉ·˨Քƣйʊ͕Έӕ\\t😣👁🔵⛔️🌹\\r\\n\\\"\\\"\\\"\\t\\r\\n\\t\\\"\\\"\\t\\r\\nĄŚĆżóŁ\\n\\n\\n\\r\\n\\t\\\"\\\"\\\"\\tҡ͟¼ǉ·˨Քƣйʊ͕Έӕ\\t😣👁🔵⛔️🌹\\n\\\"\\\"\\\"\\t\\r\\n\\t\\\"\\\"\\t\\r\\nĄŚĆżóŁ\\n\\n\\n\\r\\n\\t\\\"\\\"\\\"\\tҡ͟¼ǉ·˨Քƣйʊ͕Έӕ\\t😣👁🔵⛔️🌹\",\n        \"json\": [\n            [\"\\\"\\t\\r\\n\\t\\\"\\t\\r\\nĄŚĆżóŁ\\n\\n\\n\\r\\n\\t\\\"\", \"ҡ͟¼ǉ·˨Քƣйʊ͕Έӕ\", \"😣👁🔵⛔️🌹\"],\n            [\"\\\"\\t\\r\\n\\t\\\"\\t\\r\\nĄŚĆżóŁ\\n\\n\\n\\r\\n\\t\\\"\", \"ҡ͟¼ǉ·˨Քƣйʊ͕Έӕ\", \"😣👁🔵⛔️🌹\"],\n            [\"\\\"\\t\\r\\n\\t\\\"\\t\\r\\nĄŚĆżóŁ\\n\\n\\n\\r\\n\\t\\\"\", \"ҡ͟¼ǉ·˨Քƣйʊ͕Έӕ\", \"😣👁🔵⛔️🌹\"]\n        ],\n        \"jsonWithHeaders\": [\n            {\"\\\"\\t\\r\\n\\t\\\"\\t\\r\\nĄŚĆżóŁ\\n\\n\\n\\r\\n\\t\\\"\": \"\\\"\\t\\r\\n\\t\\\"\\t\\r\\nĄŚĆżóŁ\\n\\n\\n\\r\\n\\t\\\"\", \"ҡ͟¼ǉ·˨Քƣйʊ͕Έӕ\": \"ҡ͟¼ǉ·˨Քƣйʊ͕Έӕ\", \"😣👁🔵⛔️🌹\": \"😣👁🔵⛔️🌹\"},\n            {\"\\\"\\t\\r\\n\\t\\\"\\t\\r\\nĄŚĆżóŁ\\n\\n\\n\\r\\n\\t\\\"\": \"\\\"\\t\\r\\n\\t\\\"\\t\\r\\nĄŚĆżóŁ\\n\\n\\n\\r\\n\\t\\\"\", \"ҡ͟¼ǉ·˨Քƣйʊ͕Έӕ\": \"ҡ͟¼ǉ·˨Քƣйʊ͕Έӕ\", \"😣👁🔵⛔️🌹\": \"😣👁🔵⛔️🌹\"}\n        ]\n    },\n    {\n        \"name\": \"Edge case - only empty rows\",\n        \"options\": {},\n        \"csv\": \"\\r\\n\\r\\n\",\n        \"json\": [\n            [],\n            [],\n            []\n        ],\n        \"jsonWithHeaders\": [\n            {},\n            {}\n        ]\n    },\n    {\n        \"name\": \"Edge case - only empty cells\",\n        \"options\": {},\n        \"csv\": \",,\\r\\n,,\\r\\n,,\",\n        \"json\": [\n            [\"\", \"\", \"\"],\n            [\"\", \"\", \"\"],\n            [\"\", \"\", \"\"]\n        ],\n        \"jsonWithHeaders\": [\n            {},\n            {}\n        ]\n    },\n    {\n        \"name\": \"Edge case - Newline -> Comma -> Text\",\n        \"options\": {},\n        \"csv\": \"A,B\\r\\n,C\",\n        \"json\": [\n            [\"A\", \"B\"],\n            [\"\", \"C\"]\n        ],\n        \"jsonWithHeaders\": [\n            {\"A\": \"\", \"B\": \"C\"}\n        ]\n    },\n    {\n        \"name\": \"Edge case - single comma\",\n        \"options\": {},\n        \"csv\": \",\",\n        \"json\": [\n            [\"\", \"\"]\n        ],\n        \"jsonWithHeaders\": []\n    },\n    {\n        \"@comment\": \"The behavior here is undefined - the only thing that matters is it should not throw an exception, the result is free to make no sense.\",\n        \"name\": \"Edge case - quote separator\",\n        \"options\": {\"separator\": \"\\\"\"},\n        \"csv\": \"cell-11,\\\"cell-12\\\",cell-13\\r\\n\\\"cell-21\\\",cell-22,cell-23\\r\\ncell-31,cell-32,\\\"cell-33\\\"\",\n        \"json\": [\n            [\"cell-11,\", \"cell-12\", \",cell-13\"],\n            [\"cell-21\", \"cell-22,cell-23\"],\n            [\"cell-31,cell-32,\", \"cell-33\", \"\"]\n        ],\n        \"jsonWithHeaders\": [\n            {\"cell-11,\": \"cell-21\", \"cell-12\": \"cell-22,cell-23\", \",cell-13\": \"\"},\n            {\"cell-11,\": \"cell-31,cell-32,\", \"cell-12\": \"cell-33\", \",cell-13\": \"\"}\n        ]\n    },\n    {\n        \"@comment\": \"The behavior here is undefined - the only thing that matters is it should not throw an exception, the result is free to make no sense.\",\n        \"name\": \"Edge case - carriage return separator\",\n        \"options\": {\"separator\": \"\\r\"},\n        \"csv\": \"cell-11,\\\"cell-12\\\",cell-13\\r\\n\\\"cell-21\\\",cell-22,cell-23\\r\\ncell-31,cell-32,\\\"cell-33\\\"\",\n        \"json\": [\n            [\"cell-11,\\\"cell-12\\\",cell-13\"],\n            [\"cell-21\", \"cell-22,cell-23\"],\n            [\"cell-31,cell-32,\\\"cell-33\\\"\"]\n        ],\n        \"jsonWithHeaders\": [\n            {\"cell-11,\\\"cell-12\\\",cell-13\": \"cell-21\" },\n            {\"cell-11,\\\"cell-12\\\",cell-13\": \"cell-31,cell-32,\\\"cell-33\\\"\"}\n        ]\n    },\n    {\n        \"@comment\": \"The behavior here is undefined - the only thing that matters is it should not throw an exception, the result is free to make no sense.\",\n        \"name\": \"Edge case - newline separator\",\n        \"options\": {\"separator\": \"\\n\"},\n        \"csv\": \"cell-11,\\\"cell-12\\\",cell-13\\r\\n\\\"cell-21\\\",cell-22,cell-23\\r\\ncell-31,cell-32,\\\"cell-33\\\"\",\n        \"json\": [\n            [\"cell-11,\\\"cell-12\\\",cell-13\"],\n            [\"cell-21\", \"cell-22,cell-23\"],\n            [\"cell-31,cell-32,\\\"cell-33\\\"\"]\n        ],\n        \"jsonWithHeaders\": [\n            {\"cell-11,\\\"cell-12\\\",cell-13\": \"cell-21\" },\n            {\"cell-11,\\\"cell-12\\\",cell-13\": \"cell-31,cell-32,\\\"cell-33\\\"\"}\n        ]\n    }\n]"
  },
  {
    "path": "editions/test/tiddlers/tests/data/custom-operators/NestedParameterised.tid",
    "content": "title: CustomOperators/NestedParameterised\ndescription: Nested parameterised custom operator usage\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\\function .dividebysomething(first:ignored,factor:0.5)\n[divide[2]multiply<factor>]\n\\end\n\n\\function .multiplebysomething(first:ignored,factor:2)\n[multiply[2].dividebysomething[],<factor>]\n\\end\n\n<$text text={{{ [[123].multiplebysomething[]] }}}/>\n-\n<$text text={{{ [[123].multiplebysomething[x],[4]] }}}/>\n\n+\ntitle: ExpectedResult\n\n<p>246-492</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/custom-operators/Parameterised.tid",
    "content": "title: CustomOperators/Parameterised\ndescription: Parameterised custom operator usage\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\\function .multiplybysomething(first:ignored,factor:2)\n[multiply[2]multiply<factor>]\n\\end\n\n<$text text={{{ [[123].multiplybysomething[]] }}}/>\n-\n<$text text={{{ [[123].multiplybysomething[x],[4]] }}}/>\n|\n<$text text={{{ [[123]function[.multiplybysomething]] }}}/>\n-\n<$text text={{{ [[123]function[.multiplybysomething],[x],[4]] }}}/>\n\n+\ntitle: ExpectedResult\n\n<p>492-984|492-984</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/custom-operators/Simple.tid",
    "content": "title: CustomOperators/Simple\ndescription: Simple custom operator usage\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\n\\function .multiplybytwo()\n[multiply[2]]\n\\end\n\n<$text text={{{ [[123].multiplybytwo[]] }}}/>\n|\n<$text text={{{ [[123]function[.multiplybytwo]] }}}/>\n\n+\ntitle: ExpectedResult\n\n<p>246|246</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/data-widget/ImportCompound.tid",
    "content": "title: Data/ImportCompound\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\ndescription: Importing a compound payload tiddler and adding custom fields\n\ntitle: Description\ntext: Importing a compound payload tiddler and adding custom fields\n+\ntitle: Output\n\n\\whitespace trim\n<$testcase template=\"$:/core/ui/testcases/RawJSONTemplate\">\n<$data $compound-tiddler=\"Compound\" custom=\"Alpha\"/>\n</$testcase>\n+\ntitle: Compound\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Payload Tiddler\ntags: Alpha Beta Gamma\n\nThis is a payload tiddler from a compound tiddler\n+\ntitle: ExpectedResult\n\n<p><div class=\"tc-test-case \"><div>[{\"title\":\"Payload Tiddler\",\"tags\":\"Alpha Beta Gamma\",\"text\":\"This is a payload tiddler from a compound tiddler\",\"custom\":\"Alpha\"}]</div></div></p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/data-widget/ImportCustomTitle.tid",
    "content": "title: Data/ImportCustomTitle\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\ndescription: Importing a payload tiddler and overwriting the title\n\ntitle: Description\ntext: Importing a payload tiddler and overwriting the title\n+\ntitle: Output\n\n\\whitespace trim\n<$testcase template=\"$:/core/ui/testcases/RawJSONTemplate\">\n<$data $tiddler=\"HelloThere\" title=\"RealTitle\"/>\n</$testcase>\n+\ntitle: HelloThere\ntags: Definitions\n\nThis is the tiddler HelloThere\n+\ntitle: ExpectedResult\n\n<p><div class=\"tc-test-case \"><div>[{\"title\":\"RealTitle\",\"tags\":\"Definitions\",\"text\":\"This is the tiddler HelloThere\"}]</div></div></p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/data-widget/ImportFilter.tid",
    "content": "title: Data/ImportFilter\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\ndescription: Importing a payload filter and adding custom fields\n\ntitle: Description\ntext: Importing a payload filter and adding custom fields\n+\ntitle: Output\n\n\\whitespace trim\n<$testcase template=\"$:/core/ui/testcases/RawJSONTemplate\">\n<$data $filter=\"[tag[Definitions]]\" custom=\"Alpha\"/>\n</$testcase>\n+\ntitle: HelloThere\ntags: Definitions\n\nThis is the tiddler HelloThere\n+\ntitle: AnotherDefinition\ntags: Definitions\n\nThis is the tiddler AnotherDefinition\n+\ntitle: ExpectedResult\n\n<p><div class=\"tc-test-case \"><div>[{\"title\":\"AnotherDefinition\",\"tags\":\"Definitions\",\"text\":\"This is the tiddler AnotherDefinition\",\"custom\":\"Alpha\"},{\"title\":\"HelloThere\",\"tags\":\"Definitions\",\"text\":\"This is the tiddler HelloThere\",\"custom\":\"Alpha\"}]</div></div></p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/data-widget/ImportTiddler.tid",
    "content": "title: Data/ImportTiddler\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\ndescription: Importing a payload tiddler and adding custom fields\n\ntitle: Description\ntext: Importing a payload tiddler and adding custom fields\n+\ntitle: Output\n\n\\whitespace trim\n<$testcase template=\"$:/core/ui/testcases/RawJSONTemplate\">\n<$data $tiddler=\"HelloThere\" custom=\"Alpha\"/>\n</$testcase>\n+\ntitle: HelloThere\ntags: Definitions\n\nThis is the tiddler HelloThere\n+\ntitle: ExpectedResult\n\n<p><div class=\"tc-test-case \"><div>[{\"title\":\"HelloThere\",\"tags\":\"Definitions\",\"text\":\"This is the tiddler HelloThere\",\"custom\":\"Alpha\"}]</div></div></p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/data-widget/Simple.tid",
    "content": "title: Data/Simple\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\ndescription: Standalone data widget to create individual tiddlers\n\ntitle: Description\ntext: Standalone data widget to create individual tiddlers\n+\ntitle: Output\n\n\\whitespace trim\n<$testcase template=\"$:/core/ui/testcases/RawJSONTemplate\" class=\"my-class an-other-class\">\n<$data title=\"Epsilon\" text=\"Theta\"/>\n</$testcase>\n+\ntitle: ExpectedResult\n\n<p><div class=\"tc-test-case my-class an-other-class\"><div>[{\"title\":\"Epsilon\",\"text\":\"Theta\"}]</div></div></p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/deserializers/case 1.tid",
    "content": "title: dezerializer test data case 1\ntype: text/html\n\n<!doctype html>\n"
  },
  {
    "path": "editions/test/tiddlers/tests/data/deserializers/case 2.tid",
    "content": "title: dezerializer test data case 2\ntype: text/html\n\n<!doctype html>\n<html lang=\"en\">\n<head>\n\t<meta charset=\"utf-8\">\n\t<title>Test Data</title>\n</head>\n<body>\n</body>\n</html>\n"
  },
  {
    "path": "editions/test/tiddlers/tests/data/deserializers/case 3.tid",
    "content": "title: dezerializer test data case 3\ntype: text/html\n\n<!doctype html>\n<html lang=\"en\">\n<head>\n\t<meta charset=\"utf-8\">\n\t<title>Test Data</title>\n</head>\n<body>\n\n<!--~~ Ordinary tiddlers ~~-->\n<div id=\"storeArea\" style=\"display:none;\"><div title=\"Hello &quot;There&quot;\" type=\"text/vnd.tiddlywiki\">\n<pre>Abacus</pre>\n</div>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "editions/test/tiddlers/tests/data/deserializers/case 4.tid",
    "content": "title: dezerializer test data case 4\ntype: text/html\n\n<!doctype html>\n<html lang=\"en\">\n<head>\n\t<meta charset=\"utf-8\">\n\t<title>Test Data</title>\n</head>\n<body>\n\n<!--~~ Ordinary tiddlers ~~-->\n<div id=\"storeArea\" style=\"display:none;\"><div title=\"Hello &quot;There&quot;\" type=\"text/vnd.tiddlywiki\">\n<pre>Abacus</pre>\n</div>\n</div>\n<script class=\"tiddlywiki-tiddler-store\" type=\"application/json\">[{\"title\":\"Hello \\\"There\\\"\",\"text\":\"Calculator\"}]</script>\n</body>\n</html>\n"
  },
  {
    "path": "editions/test/tiddlers/tests/data/deserializers/case 5.tid",
    "content": "title: dezerializer test data case 5\ntype: text/html\n\n<!doctype html>\n<html lang=\"en\">\n<head>\n\t<meta charset=\"utf-8\">\n\t<title>Test Data</title>\n</head>\n<body>\n\n<!--~~ Ordinary tiddlers ~~-->\n<div id=\"storeArea\" style=\"display:none;\"><div title=\"Hello &quot;There&quot;\" type=\"text/vnd.tiddlywiki\">\n<pre>Abacus</pre>\n</div>\n</div>\n<script class=\"tiddlywiki-tiddler-store\" type=\"application/json\">[{\"title\":\"Hello \\\"There\\\"\",\"text\":\"Calculator\"}]</script>\n</body>\n</html>\n<script class=\"tiddlywiki-tiddler-store\" type=\"application/json\">[{\"title\":\"Hello \\\"There\\\"\",\"text\":\"Protractor\"}]</script>\n"
  },
  {
    "path": "editions/test/tiddlers/tests/data/deserializers/case 6.tid",
    "content": "title: dezerializer test data case 6\ntype: application/json\n\n[\n\t{\"created\":\"20230601125557184\",\"text\":\"Before you start storing important information in ~TiddlyWiki it is vital to make sure that you can reliably save changes. See https://tiddlywiki.com/#GettingStarted for details\\n\\n\",\"title\":\"GettingStarted\",\"modified\":\"20230601125601619\"},\n    {\"created\":\"20230601125507054\",\"text\":\"Welcome to \\\"TiddlyWiki\\\".\\n\\nThis is a test tiddler.\",\"tags\":\"\",\"title\":\"Hello There \\\"Welcome\\\"\",\"modified\":\"20230601125551144\"},\n    {\"title\":\"TiddlyWiki\",\"created\":\"20130822170700000\",\"modified\":\"20170127221451610\",\"tags\":\"Concepts\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"~TiddlyWiki is a rich, interactive tool for manipulating complex data with structure that doesn't easily fit into conventional tools like spreadsheets or wordprocessors.\\n\\n~TiddlyWiki is designed to fit around your brain, helping you deal with the things that won't fit.\"}\n]\n"
  },
  {
    "path": "editions/test/tiddlers/tests/data/filters/Base64.tid",
    "content": "title: Filters/Base64\ndescription: Test {encode|decode}base64 operators\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n(<$text text={{{ [[Jeremy1234]encodebase64[]] }}}/>)\n(<$text text={{{ [[]encodebase64[]] }}}/>)\n(<$text text={{{ [[SmVyZW15MTIzNA==]decodebase64[]] }}}/>)\n(<$text text={{{ [[]decodebase64[]] }}}/>)\n+\ntitle: ExpectedResult\n\n<p>(SmVyZW15MTIzNA==)\n()\n(Jeremy1234)\n()</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/filters/DiffMergePatch1.tid",
    "content": "title: Filters/DiffMergePatch1\ndescription: Tests for diff-merge-patch derived operators\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\\define text1()\nthe cat sat on the mat\n\\end\n\n\\define text2()\nthe hat saw in every category\n\\end\n\n<$text text={{{ [<text1>makepatches<text2>] }}}/>\n+\ntitle: ExpectedResult\n\n<p>@@ -1,22 +1,29 @@\n the \n-c\n+h\n at sa\n-t on the mat\n+w in every category\n</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/filters/DiffMergePatch2.tid",
    "content": "title: Filters/DiffMergePatch2\ndescription: Tests for diff-merge-patch derived operators\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\\define text1()\nthe cat sat on the mat\n\\end\n\n\\define text2()\nthe hat saw in every category\n\\end\n\n<$let patches={{{ [<text1>makepatches<text2>] }}}>\n\n<$text text={{{ [<text1>applypatches<patches>] }}}/>\n\n</$let>\n+\ntitle: ExpectedResult\n\nthe hat saw in every category"
  },
  {
    "path": "editions/test/tiddlers/tests/data/filters/DiffMergePatch3.tid",
    "content": "title: Filters/DiffMergePatch3\ndescription: Tests for diff-merge-patch derived operators\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\\define text1()\nthe cat sat on the mat\n\\end\n\n\\define patches()\n**NOT A VALID PATCH**\n\\end\n\n<$text text={{{ [<text1>applypatches<patches>] }}}/>\n\n+\ntitle: ExpectedResult\n\nthe cat sat on the mat"
  },
  {
    "path": "editions/test/tiddlers/tests/data/filters/Recursion.tid",
    "content": "title: Filters/Recursion\ndescription: Filter recursion detection\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\\define myfilter() [subfilter<myfilter>]\n\n<$text text={{{ [subfilter<myfilter>] }}}/>\n+\ntitle: ExpectedResult\n\n<p>/**-- Excessive filter recursion --**/</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/filters/fake-variables.tid",
    "content": "title: Filters/FakeVariables\ndescription: Test for https://github.com/TiddlyWiki/TiddlyWiki5/issues/6303\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n<$list variable=\"var\" filter=\"[[existing variable should have output]] :filter[[..currentTiddler]is[variable]]\">\n<p><<var>></p>\n</$list>\n\n<$list variable=\"var\" filter=\"[[non-existing variable should not have output]] :filter[[nonExistingVariable]is[variable]]\">\n<p><<var>></p>\n</$list>\n\n<$list variable=\"var\" filter=\"[[existing variable negated should not have output]] :filter[[..currentTiddler]!is[variable]]\">\n<p><<var>></p>\n</$list>\n\n<$list variable=\"var\" filter=\"[[non-existing variable negated should have output]] :filter[[nonExistingVariable]!is[variable]]\">\n<p><<var>></p>\n</$list>\n+\ntitle: ExpectedResult\n\n<p><p>existing variable should have output</p></p><p></p><p></p><p><p>non-existing variable negated should have output</p></p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/filters/substitute.tid",
    "content": "title: Filters/substitute\ndescription: Test substitute operator\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: substitute filter data 1\ntags: Hello There [[Welcome to TiddlyWiki]] GettingStarted\n\nTiddlyWiki\n+\ntitle: substitute filter data 2\n\nThe output of the filter `[[substitute filter data 1]tags[]]` is ${[[substitute filter data 1]tags[]]}$.\n+\ntitle: substitute filter data 3\n\nWelcome to $(projectname)$ $1$ $2$ $3$. Tiddlers starting with `substitute`: ${[prefix[substitute]format:titlelist[]join[ ]]}$.\n+\ntitle: Output\n\n\\whitespace trim\n<$let projectname=\"TiddlyWiki\">\n(<$text text={{{ [[]substitute[]] }}}/>)\n(<$text text={{{ [[Hello There, welcome to $TiddlyWiki$]substitute[]] }}}/>)\n(<$text text={{{ [[Welcome to $(projectname)$]substitute[]] }}}/>)\n(<$text text={{{ [[Welcome to $(projectname)$ $1$]substitute[today]] }}}/>)\n(<$text text={{{ [[This is not a valid embedded filter ${ hello )$]substitute[]] }}}/>)\n(<$text text={{{ [{substitute filter data 2}substitute[]] }}}/>)\n(<$text text={{{ [{substitute filter data 3}substitute[every],[day]] }}}/>)\n</$let>\n+\ntitle: ExpectedResult\n\n<p>()\n(Hello There, welcome to $TiddlyWiki$)\n(Welcome to TiddlyWiki)\n(Welcome to TiddlyWiki today)\n(This is not a valid embedded filter ${ hello )$)\n(The output of the filter `[[substitute filter data 1]tags[]]` is Hello.)\n(Welcome to TiddlyWiki every day $3$. Tiddlers starting with `substitute`: [[substitute filter data 1]] [[substitute filter data 2]] [[substitute filter data 3]].)</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/functions/FunctionAttributes.tid",
    "content": "title: Functions/FunctionAttributes\ndescription: Attributes specified as function invocations\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\\function .dividebysomething(factor:0.5)\n[divide<factor>]\n\\end\n\n\\function multiplebysomething(first:ignored,factor:2)\n[<factor>multiply[2].dividebysomething[0.25]]\n\\end\n\n<$text text=<<multiplebysomething>>/>\n|\n<$text text=<<multiplebysomething \"nothing\" \"4\">>/>\n\n+\ntitle: ExpectedResult\n\n<p>16|32</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/functions/FunctionDefaultValues.tid",
    "content": "title: Functions/FunctionDefaultValues\ndescription: Use defaults for missing parameters in functions in filters\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\\function .test(prefix:Default) [[ Content]addprefix<prefix>]\n\n<$text text={{{ [.test[Special]] }}}/>,<$text text={{{ [.test[]] }}}/>\n\n+\ntitle: ExpectedResult\n\n<p>Special Content,Default Content</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/functions/FunctionFilterrunVariables.tid",
    "content": "title: Functions/FunctionFilterrunVariables\ndescription: Functions in filter runs that set variables\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Idiosyncrasy\ncaption: Idiosyncrasy Caption Field\n\n+\ntitle: Output\n\n\\whitespace trim\n\\procedure demo-subfilter() [<currentTiddler>]\n\\function .demo-function() [<currentTiddler>]\n\n<$let currentTiddler=\"Idiosyncrasy\">\n<$text text={{{ [<currentTiddler>get[caption]!is[blank]else<currentTiddler>] :map[subfilter<demo-subfilter>] }}}/>,\n<$text text={{{ [<currentTiddler>get[caption]!is[blank]else<currentTiddler>] :map[.demo-function[]] }}}/>\n</$let>\n\n+\ntitle: ExpectedResult\n\n<p>Idiosyncrasy Caption Field,Idiosyncrasy Caption Field</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/functions/FunctionFilterrunVariables2.tid",
    "content": "title: Functions/FunctionFilterrunVariables2\ndescription: Functions in filter runs that set variables\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Apple\ncost: 5\n\n+\ntitle: Output\n\n\\whitespace trim\n\\function .doublecost() [<currentTiddler>get[cost]multiply[2]]\n\n<$text text={{{ [[Apple]] :map[.doublecost[]] }}}/>\n\n+\ntitle: ExpectedResult\n\n10"
  },
  {
    "path": "editions/test/tiddlers/tests/data/functions/FunctionFilterrunVariables3.tid",
    "content": "title: Functions/FunctionFilterrunVariables3\ndescription: Nested functions in filter runs that set variables\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\\define currentTiddler() old-current\n\n\\function .inner() [<currentTiddler>]\n\\function .outer() [<currentTiddler>match[intermediate2]then[new-current]] :map[function[.inner]]\n\\function .wrappertwo() [<currentTiddler>match[intermediate]addsuffix[2]] :map[function[.outer]]\n\\function .wrapper() intermediate :map[.wrappertwo[]]\n\n<$text text={{{ [.wrapper[]] }}}/>\n\n+\ntitle: ExpectedResult\n\nnew-current"
  },
  {
    "path": "editions/test/tiddlers/tests/data/functions/FunctionFilterrunVariables4.tid",
    "content": "title: Functions/FunctionFilterrunVariables4\ndescription: Nested functions in filter runs that set variables should not pollute upstream widget tree\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\function .a() [.b[]]\n\\function .b() [all[]] :map[subtract[1].c[]]\n\\function .c() [all[]] :map[subtract[1].d[]]\n\\function .d() [all[]] :map[subtract[1].e[]]\n\\function .e() [all[]] :map[subtract[1]]\n\n\n<$text text={{{ [[10]] :map:flat[.a[]then<currentTiddler>] }}}/>\n\n+\ntitle: ExpectedResult\n\n10"
  },
  {
    "path": "editions/test/tiddlers/tests/data/functions/FunctionOperator.tid",
    "content": "title: Functions/FunctionOperator\ndescription: Calling a function via the function operator\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\\function .dividebysomething(factor:0.5)\n[divide<factor>]\n\\end\n\n\\function multiplebysomething(first:ignored,factor:2)\n[multiply<factor>multiply[2].dividebysomething[0.25]]\n\\end\n\n<$text text={{{ [[4]function[multiplebysomething]] }}}/>\n|\n<$text text={{{ [[6]function[multiplebysomething],[ignored],[4]] }}}/>\n\n+\ntitle: ExpectedResult\n\n<p>64|192</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/functions/FunctionSubstituteResolution.tid",
    "content": "title: Functions/FunctionResolutionInSubstitute\ndescription: Functions should resolve correctly in the substitute operator\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\n\\function getIndex() [<index>add[1]] \n\n\\procedure template-with-var() $(getIndex)$\n\n\\procedure template-with-filteredexpression() ${ [<getIndex>] }$\n\n\\function test-with-substitute-variable()\n[[abc]split[]] :map[<template-with-var>substitute[]] :and[join[ / ]]\n\\end\n\n\\function test-with-substitute-filteredexpression()\n[[abc]split[]] :map[<template-with-filteredexpression>substitute[]] :and[join[ / ]]\n\\end\n\n\\function test-with-function()\n[[abc]split[]] :map[function[getIndex]substitute[]] :and[join[ / ]]\n\\end\n\n\n\n<<test-with-substitute-variable>>|\n<<test-with-substitute-filteredexpression>>|\n<<test-with-function>>\n\n\n+\ntitle: ExpectedResult\n\n<p>1 / 2 / 3|1 / 2 / 3|1 / 2 / 3</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/functions/IndentedFunctions.tid",
    "content": "title: Functions/Function/Indented\ndescription: Indented function definition\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n    \\whitespace trim\n    \\function .dividebysomething(factor:0.5)\n    [divide<factor>]\n    \\end\n\n    \\function multiplebysomething(first:ignored,factor:2)\n    [multiply<factor>multiply[2].dividebysomething[0.25]]\n    \\end\n\n<$text text={{{ [[4]function[multiplebysomething]] }}}/>\n|\n<$text text={{{ [[6]function[multiplebysomething],[ignored],[4]] }}}/>\n\n+\ntitle: ExpectedResult\n\n<p>64|192</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/functions/MissingFunction.tid",
    "content": "title: Functions/MissingFunction\ndescription: Calling a missing function via the function operator\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\n<$text text={{{ [[23]function[missing]] }}}/>\n\n+\ntitle: ExpectedResult\n\n23"
  },
  {
    "path": "editions/test/tiddlers/tests/data/functions/RunawayRecursiveFunctions.tid",
    "content": "title: Functions/RunawayRecursiveFunctions\ndescription: Runaway recursive functions\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\\function .buffalo(p)\n[.buffalo<p>]\n\\end\n\n<$text text=<<.buffalo 8>>/>\n\n+\ntitle: ExpectedResult\n\n/**-- Excessive filter recursion --**/"
  },
  {
    "path": "editions/test/tiddlers/tests/data/functions/UndefinedParameters.tid",
    "content": "title: Functions/UndefinedParameters\ndescription: Undefined function parameters\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\function greet(who)\n[[hello ]addsuffix<who>]\n\\end\n\n<$text text={{{[function[greet],[world]]}}}/>\n\n<<greet world>>\n\n<$text text={{{[function[greet]]}}}/>\n\n<<greet>>\n+\ntitle: ExpectedResult\n\nhello world<p>hello world</p>hello <p>hello </p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/functions/VariableLeakage.tid",
    "content": "title: Functions/VariableLeakage\ndescription: Variables from filter runs or functions should not pollute widget\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\function myvar(element) [<element>]\n\\function call(element) [[myvar]is[variable]then<element>]\n\n<<call abc>>\n+\ntitle: ExpectedResult\n\n<p>abc</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/functions/VariablesEnumeration.tid",
    "content": "title: Functions/VariableEnumeration\ndescription: Variables should be enumerable within functions\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\function list-vars() [variables[]]\n \n<$text text={{{ [function[list-vars]count[]compare:number:gt[0]then[yes]] }}}/>\n+\ntitle: ExpectedResult\n\n<p>yes</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/functions/WikifiedFunctions.tid",
    "content": "title: Functions/WikifiedFunctions\ndescription: Wikified functions\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\\function fn-buffalo(param)\n[<param>addsuffix[ with a ''buffalo'']]\n\\end\n\n\\procedure proc-buffalo(param)\n<<param>> with a ''buffalo''\n\\end\n\n\\define macro-buffalo(param)\n$param$ with a ''buffalo''\n\\end\n\n<<fn-buffalo \"Going to lunch\">>\n\n<<proc-buffalo \"Going to breakfast\">>\n\n<<macro-buffalo \"Going to dinner\">>\n\n<$transclude $variable=\"fn-buffalo\" param=\"Going to lunch\" $output=\"text/plain\"/>\n\n<$transclude $variable=\"proc-buffalo\" param=\"Going to breakfast\" $output=\"text/plain\"/>\n\n<$transclude $variable=\"macro-buffalo\" param=\"Going to dinner\" $output=\"text/plain\"/>\n\n+\ntitle: ExpectedResult\n\n<p>Going to lunch with a ''buffalo''</p><p>Going to breakfastwith a<strong>buffalo</strong></p><p>Going to dinner with a <strong>buffalo</strong></p>Going to lunch with a ''buffalo''Going to breakfastwith abuffaloGoing to dinner with a buffalo"
  },
  {
    "path": "editions/test/tiddlers/tests/data/genesis-widget/Block.tid",
    "content": "title: Genesis/Block\ndescription: genesis widget distinguishes between block and inline\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n<$genesis $type=\"$reveal\" type=nomatch>\n\nBlock\n</$genesis>\n\n<$genesis $type=\"$reveal\" type=nomatch $mode=block>\n\nBlock forced block\n</$genesis>\n\n<$genesis $type=\"$reveal\" type=nomatch $mode=inline>\n\nBlock forced inline\n</$genesis>\n\n<$genesis $type=$reveal type=nomatch>Inline</$genesis>\n<$genesis $type=$reveal type=nomatch $mode=block>Inline forced block</$genesis>\n<$genesis $type=$reveal type=nomatch $mode=inline>Inline forced inline</$genesis>\n+\ntitle: ExpectedResult\n\n<div class=\"tc-reveal\"><p>Block</p></div><div class=\"tc-reveal\"><p>Block forced block</p></div><span class=\"tc-reveal\"><p>Block forced inline</p></span><p><span class=\"tc-reveal\">Inline</span><div class=\"tc-reveal\">Inline forced block</div><span class=\"tc-reveal\">Inline forced inline</span></p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/genesis-widget/DollarSigns.tid",
    "content": "title: Genesis/DollarSigns\ndescription: Usage of genesis widget with attributes starting with dollar signs\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n<$genesis $type=\"$let\" myvar=\"Kitten\">(<$text text=<<myvar>>/>)</$genesis>\n<$genesis $type=\"$let\" $$myvar=\"Kitten\">(<$text text=<<$myvar>>/>)</$genesis>\n+\ntitle: ExpectedResult\n\n<p>(Kitten)(Kitten)</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/genesis-widget/EmptyType.tid",
    "content": "title: Genesis/EmptyType\ndescription: Using an empty type attribute with the genesis widget\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n<$genesis>Mouse</$genesis>\n\n<$genesis $type=\"\">Mouse</$genesis>\n+\ntitle: ExpectedResult\n\n<p>Mouse</p><p>Mouse</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/genesis-widget/MultipleAttributes.tid",
    "content": "title: Genesis/MultipleAttributes\ndescription: Usage of genesis widget with multiple attributes\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n<$genesis $type=\"$let\" $names=\"myvar other\" $values=\"Kitten Donkey\" myvar={{{ Shark }}}>(<$text text=<<myvar>>/>|<$text text=<<other>>/>)</$genesis>\n<$genesis $type=\"$let\" $names=\"$myvar $other\" $values=\"Kitten Donkey\" $$myvar=\"Shark\">(<$text text=<<$myvar>>/>|<$text text=<<$other>>/>)</$genesis>\n+\ntitle: ExpectedResult\n\n<p>(Shark|Donkey)(Shark|Donkey)</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/genesis-widget/RedefineLet.tid",
    "content": "title: Genesis/RedefineLet\ndescription: Using the genesis widget to override the let widget\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\\widget $let()\n\\whitespace trim\n<$parameters $params=\"@params\">\n<$setmultiplevariables $names=\"[<@params>jsonindexes[]]\" $values=\"[<@params>jsonindexes[]] :map[<@params>jsonget<currentTiddler>addprefix[--]addsuffix[--]]\">\n<$slot $name=\"ts-raw\"/>\n</$setmultiplevariables>\n</$parameters>\n\\end\n<$let\n\tone=\"Elephant\"\n\t$two=\"Kangaroo\"\n\t$$three=\"Giraffe\"\n>\n(<$text text=<<one>>/>)\n(<$text text=<<$two>>/>)\n(<$text text=<<$$three>>/>)\n</$let>\n+\ntitle: ExpectedResult\n\n<p>(--Elephant--)\n(--Kangaroo--)\n(--Giraffe--)</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/genesis-widget/Simple.tid",
    "content": "title: Genesis/Simple\ndescription: Simple usage of genesis widget\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n<$genesis $type=\"div\">Mouse</$genesis>\n<$genesis $type=\"div\" class=\"tc-thing\" label=\"Squeak\">Mouse</$genesis>\n+\ntitle: ExpectedResult\n\n<p><div>Mouse</div><div class=\"tc-thing\" label=\"Squeak\">Mouse</div></p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/importvariables/WithSetWidgets.tid",
    "content": "title: ImportVariables/WithSetWidgets\ndescription: Import variables defined with a set widget\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\\import Definitions\n<$text text=<<one>>/>,\n<$text text=<<two>>/>\n+\ntitle: Definitions\n\n\\whitespace trim\n<$set name=\"one\" value=\"elephant\">\n<$set name=\"two\" value=\"giraffe\">\n</$set>\n</$set>\n+\ntitle: ExpectedResult\n\n<p>elephant,giraffe</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/importvariables/WithSetWidgets2.tid",
    "content": "title: ImportVariables/WithSetWidgets2\ndescription: Import variables defined with a set widget without whitespace pragma\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\\import Definitions\n<$text text=<<one>>/>,\n<$text text=<<two>>/>\n+\ntitle: Definitions\n\n\\whitespace trim\n<$set name=\"one\" value=\"elephant\">\n<$set name=\"two\" value=\"giraffe\">\n</$set>\n</$set>\n+\ntitle: ExpectedResult\n\n<p>elephant,giraffe</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/importvariables/WithSetWidgetsAndMacros.tid",
    "content": "title: ImportVariables/WithSetWidgetsAndMacros\ndescription: Import variables defined with a set widget without whitespace pragma\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\\import Definitions\n<$text text=<<name>>/>,\n<$text text=<<address>>/>,\n<$text text=<<one>>/>,\n<$text text=<<two>>/>\n+\ntitle: Definitions\n\n\\whitespace trim\n\\define name() Bugs Bunny\n\\procedure address()\nBunny Hill\n\\end\n\n<$set name=\"one\" value=\"elephant\">\n<$set name=\"two\" value=\"giraffe\">\n</$set>\n</$set>\n+\ntitle: ExpectedResult\n\n<p>Bugs Bunny,Bunny Hill,elephant,giraffe</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/let-filter-prefix/ResultList.tid",
    "content": "title: LetFilterRunPrefix/ResultList\ndescription: Using the \"let\" filter run prefix to store result lists, not just single values\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n<$text text={{{ [all[tiddlers]] :let[[varname]] [(varname)sort[]join[,]] }}}/>\n+\ntitle: ExpectedResult\n\n<p>$:/core,ExpectedResult,Output</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/let-filter-prefix/ResultListUnnamedVariable.tid",
    "content": "title: LetFilterRunPrefix/ResultListUnnamedVariable\ndescription: Using the \"let\" filter run prefix to store result lists, not just single values\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n<$text text={{{ [all[tiddlers]] :let[all[]tag[nothing]] [(varname)sort[]join[,]] }}}/>\n+\ntitle: ExpectedResult\n\n<p></p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/let-filter-prefix/ShortcutSyntax.tid",
    "content": "title: LetFilterRunPrefix/ShortcutSyntax\ndescription: Simple usage of \"let\" filter run prefix\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n<$text text={{{ [[magpie]] =>varname [<varname>] +[join[-]] }}}/>\n+\ntitle: ExpectedResult\n\n<p>magpie</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/let-filter-prefix/Simple.tid",
    "content": "title: LetFilterRunPrefix/Simple\ndescription: Simple usage of \"let\" filter run prefix\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n<$text text={{{ [[magpie]] :let[[varname]] [<varname>] +[join[-]] }}}/>\n+\ntitle: ExpectedResult\n\n<p>magpie</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/list-widget/WithEmptyParagraphTemplate.tid",
    "content": "title: ListWidget/WithEmptyParagraphTemplate\ndescription: List widget with an empty paragraph as inline template\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\n+\ntitle: Output\n\n<$list filter=\"1\"><p/></$list>\n+\ntitle: ExpectedResult\n\n<p><p></p></p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/list-widget/WithExplicitTemplates.tid",
    "content": "title: ListWidget/WithExplicitTemplates\ndescription: List widget with explicit templates\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\n+\ntitle: Output\n\n\\whitespace trim\n\n\\procedure test(filter)\n<$list filter=<<filter>>>\n\t<$list-template>\n\t\t<$text text=<<currentTiddler>>/>\n\t</$list-template>\n\t<$list-empty>\n\t\tNone!\n\t</$list-empty>\n</$list>\n\\end\n\n<<test \"1 2 3\">>\n\n<<test \"\">>\n\n+\ntitle: ExpectedResult\n\n<p>123</p><p>None!</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/list-widget/WithExplicitTemplatesInBlockMode.tid",
    "content": "title: ListWidget/WithExplicitTemplatesInBlockMode\ndescription: List widget with explicit templates in block mode\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\n+\ntitle: Output\n\n\\whitespace trim\n\n\\procedure test(filter)\n<$list filter=<<filter>>>\n\n\t<$list-template>\n\t\t<$text text=<<currentTiddler>>/>\n\t</$list-template>\n\n\t<$list-empty>\n\t\tNone!\n\t</$list-empty>\n\n</$list>\n\\end\n\n<<test \"1 2 3\">>\n\n<<test \"\">>\n\n+\ntitle: ExpectedResult\n\n123None!"
  },
  {
    "path": "editions/test/tiddlers/tests/data/list-widget/WithExplicitTemplatesOverriddenByAttributes.tid",
    "content": "title: ListWidget/WithExplicitTemplatesOverriddenByAttributes\ndescription: List widget with explicit templates\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\n+\ntitle: Output\n\n\\whitespace trim\n\n\\procedure test(filter)\n<$list filter=<<filter>> emptyMessage=\"Zero\" template=\"Template\">\n\t<$list-template>\n\t\t<$text text=<<currentTiddler>>/>\n\t</$list-template>\n\t<$list-empty>\n\t\tNone!\n\t</$list-empty>\n</$list>\n\\end\n\n<<test \"1 2 3\">>\n\n<<test \"\">>\n\n+\ntitle: Template\n\n<$text text=<<currentTiddler>>/><$text text=<<currentTiddler>>/>\n+\ntitle: ExpectedResult\n\n<p>112233</p><p>Zero</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/list-widget/WithJoinTemplate.tid",
    "content": "title: ListWidget/WithJoinTemplate\ndescription: List widget with join template and $list-empty\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\n+\ntitle: Output\n\n\\whitespace trim\n\n\\procedure test(filter)\n<$list filter=<<filter>>>\n\tItem:<<currentTiddler>>\n\n\t<$list-empty>\n\t\tNone!\n\t</$list-empty>\n\n\t<$list-join>,</$list-join>\n</$list>\n\\end\n\n<<test \"1 2 3\">>\n\n<<test \"\">>\n\n+\ntitle: ExpectedResult\n\n<p>Item:1,Item:2,Item:3</p><p>None!</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/list-widget/WithJoinTemplateInBlockMode.tid",
    "content": "title: ListWidget/WithJoinTemplateInBlockMode\ndescription: List widget with join template and $list-empty in block mode\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\n+\ntitle: Output\n\n\\whitespace trim\n\n\\procedure test(filter)\n<$list filter=<<filter>>>\n\n\tItem:<<currentTiddler>>\n\n\t<$list-empty>\n\t\tNone!\n\t</$list-empty>\n\n\t<$list-join><br></$list-join>\n</$list>\n\\end\n\n<<test \"1 2 3\">>\n\n<<test \"\">>\n\n+\ntitle: ExpectedResult\ncomment: I wish there was a good way to get rid of these extraneous paragraph elements\n\n<p>Item:1</p><p></p><p></p><br><p>Item:2</p><p></p><p></p><br><p>Item:3</p><p></p><p></p>None!"
  },
  {
    "path": "editions/test/tiddlers/tests/data/list-widget/WithLimit.tid",
    "content": "title: ListWidget/WithLimit\ndescription: List widget with limit\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\n+\ntitle: Output\n\nZero: <$list filter=\"1 2 3 4\" limit=\"0\" template=\"Template\"/>\n\nOne: <$list filter=\"1 2 3 4\" limit=\"1\" template=\"Template\"/>\n\nTwo: <$list filter=\"1 2 3 4\" limit=\"2\" template=\"Template\"/>\n\nMinus Two: <$list filter=\"1 2 3 4\" limit=\"-2\" template=\"Template\"/>\n\n+\ntitle: Template\n\n<$text text=<<currentTiddler>>/>\n+\ntitle: ExpectedResult\n\n<p>Zero: </p><p>One: 1</p><p>Two: 12</p><p>Minus Two: 34\n</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/list-widget/WithMissingTemplate.tid",
    "content": "title: ListWidget/WithMissingTemplate\ndescription: List widget with explicit templates\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\n+\ntitle: Output\n\n\\whitespace trim\n\n\\procedure test(filter)\n<$list filter=<<filter>>>\n\t<$list-empty>\n\t\tNone!\n\t</$list-empty>\n</$list>\n\\end\n\n<<test \"1 2 3\">>\n\n<<test \"\">>\n\n+\ntitle: ExpectedResult\n\n<p><span><a class=\"tc-tiddlylink tc-tiddlylink-missing\" href=\"#1\">1</a></span><span><a class=\"tc-tiddlylink tc-tiddlylink-missing\" href=\"#2\">2</a></span><span><a class=\"tc-tiddlylink tc-tiddlylink-missing\" href=\"#3\">3</a></span></p><p>None!</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/macros/EndInBody.tid",
    "content": "title: Macros/EndInBody\ndescription: \\end line starting with non-whitespace is part of macro body\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\define hello()\n hello \\end\n\\end\n\nOut: <<hello>>\n+\ntitle: ExpectedResult\n\n<p>Out:  hello \\end</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/macros/IndentedEnd.tid",
    "content": "title: Macros/IndentedEnd\ndescription: \\end line starting with whitespace ends a macro body\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\define hello()\n hello \\end\n  \\end\n\nOut: <<hello>>\n+\ntitle: ExpectedResult\n\n<p>Out:  hello \\end</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/macros/MismatchedNamedEnd.tid",
    "content": "title: Macros/MismatchedNamedEnd\ndescription: Mismatched named end is part of the body\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\define hello()\n \\end goodbye\n\\end\n\nOut: <<hello>>\n+\ntitle: ExpectedResult\n\n<p>Out:  \\end goodbye</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/macros/WhitespaceOnlyWithEnd.tid",
    "content": "title: Macros/WhitespaceOnlyWithEnd\ndescription: The /end should be detected when macro definition contains only whitespace\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\define max()\n\\end\nNothing\n\\end\n\nOut: <<max>>\n+\ntitle: ExpectedResult\n\n<p>Nothing\n\\end</p><p>Out: </p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/macros/WhitespaceOnlyWithEnd2.tid",
    "content": "title: Macros/WhitespaceOnlyWithEnd2\ndescription: Line with \\end can start with whitespace\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\define empty()\n \\end\n\nOut: <<empty>>\n+\ntitle: ExpectedResult\n\n<p>Out: </p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/macros/dynamic-macros/Attribute.tid",
    "content": "title: Macros/Dynamic/Attribute\ndescription: Attribute macrocall with dynamic paramters\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\define mamacromamacro(param:\"red\")\nIt is $param$\n\\end\n\n<$text text=<<mamacromamacro>>/>\n-\n<$text text=<<mamacromamacro param={{{ [[a]addprefix[b]] }}}>>/>\n-\n<$text text=<<mamacromamacro param>>/>\n\n+\ntitle: ExpectedResult\n\n<p>It is red\n-\nIt is ba\n-\nIt is param\n</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/macros/dynamic-macros/Standalone.tid",
    "content": "title: Macros/Dynamic/Standalone\ndescription: Standalone macrocall with dynamic paramters\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\n\\define mamacro(one:\"red\",two:\"green\")\nIt is $one$ and $two$ or <<__one__>> and <<__two__>>.\n\\end\n\n<<mamacro>>\n\n<<mamacro one={{{ [[b]addprefix[a]] }}}>>\n\n\n<<mamacro one>>\n+\ntitle: ExpectedResult\n\n<p>It is red and green or red and green.</p><p>It is ab and green or ab and green.</p><p>It is one and green or one and green.</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/macros/nested-macros/NestedMacros-indented.tid",
    "content": "title: Macros/NestedMacros-indented\ndescription: Nested Macros-indented\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\n\\define outer()\n\t\\whitespace trim\n\n\t\\define middle()\n\t\t\\whitespace trim\n\n\t\t\\define inner()\n\t\t\t\\whitespace trim\n\n\t\t\tJaguar\n\n\t\t\\end inner\n\n\t\t<<inner>>\n\n\t\\end middle\n\n\t<<middle>>\n\n\\end outer\n\n<<outer>>\n\n+\ntitle: ExpectedResult\n\n<p>Jaguar</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/macros/nested-macros/NestedMacros-indented2.tid",
    "content": "title: Macros/NestedMacros-indented2\ndescription: Nested Macros-indented with spaces\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\n\\define outer()\n    \\whitespace trim\n\n    \\define middle()\n        \\whitespace trim\n\n        \\define inner()\n            \\whitespace trim\n\n            Jaguar\n\n        \\end inner\n\n        <<inner>>\n\n    \\end middle\n\n    <<middle>>\n\n\\end outer\n\n<<outer>>\n\n+\ntitle: ExpectedResult\n\n<p>Jaguar</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/macros/nested-macros/NestedMacros.tid",
    "content": "title: Macros/NestedMacros\ndescription: Nested Macros\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\n\\define outer()\n\\whitespace trim\n\n\\define middle()\n\\whitespace trim\n\n\\define inner()\n\\whitespace trim\n\nJaguar\n\n\\end inner\n\n<<inner>>\n\n\\end middle\n\n<<middle>>\n\n\\end outer\n\n<<outer>>\n\n+\ntitle: ExpectedResult\n\n<p>Jaguar</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/macros/trailing-newlines/TrailingNewlines.tid",
    "content": "title: Macros/TrailingNewlines\ndescription: Trailing newlines in macros must not be dropped\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\define inner()\nParagraph 1\n\nParagraph 2\n\\end\n\\define outer()\n<$macrocall $name=inner />\n\n\\end\n<<outer>>\n\n+\ntitle: ExpectedResult\n\n<p>Paragraph 1</p><p>Paragraph 2</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/macros/unusedtitle/basic-params-draft-exists.tid",
    "content": "title: Macros/unusedtitle/basic-draft-exists\ndescription: test <<unusedtitle>> with basic macro parameters but they are empty\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Draft of 'test'\ndraft.of: test\ndraft.title: test\n\n+\ntitle: Draft of 'asdf 0'\ndraft.of: asdf 0\ndraft.title: asdf 0\n\n+\ntitle: Output\n\n<!-- hanled in wiki.js -->\n<<unusedtitle baseName:\"test\">>\n\n<!-- handled in unusedtitle.js -->\n<<unusedtitle baseName:\"asdf\" separator:\" \" template:\"$basename$$separator$$count:1$\">>\n\n+\ntitle: ExpectedResult\n\n<p>test 1</p><p>asdf 1</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/macros/unusedtitle/basic-params-empty-tiddler-exists.tid",
    "content": "title: Macros/unusedtitle/basic-params-empty-tiddler-exists\ndescription: test <<unusedtitle>> with basic macro parameters but they are empty\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: New Tiddler\n\n+\ntitle: Output\n\n<!-- hanled in wiki.js -->\n<<unusedtitle separator:\"\">>\n\n<!-- handled in unusedtitle.js -->\n<<unusedtitle baseName:\"\">>\n\n<!-- handled in wiki.js -->\n<<unusedtitle template:\"\">>\n\n+\ntitle: ExpectedResult\n\n<p>New Tiddler 1</p><p>New Tiddler 1</p><p>New Tiddler 1</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/macros/unusedtitle/basic-params-empty.tid",
    "content": "title: Macros/unusedtitle/basic-params-empty\ndescription: test <<unusedtitle>> with basic macro parameters but they are empty\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n<!-- hanled in wiki.js -->\n<<unusedtitle separator:\"\">>\n\n<!-- handled in unusedtitle.js -->\n<<unusedtitle baseName:\"\">>\n\n<!-- handled in wiki.js -->\n<<unusedtitle template:\"\">>\n\n+\ntitle: ExpectedResult\n\n<p>New Tiddler</p><p>New Tiddler</p><p>New Tiddler</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/macros/unusedtitle/basic-params-tiddlers-exist.tid",
    "content": "title: Macros/unusedtitle/basic-params-tiddlers-exist\ndescription: test <<unusedtitle>> with basic macro parameters, where new-name tiddlers already exist\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: New Tiddler\n\n+\ntitle: anotherBase\n\n+\ntitle: About\n\n+\ntitle: Output\n\n<<unusedtitle>>\n\n<<unusedtitle separator:\"-\">>\n\n<<unusedtitle baseName:\"anotherBase\">>\n\n<<unusedtitle baseName:\"About\" separator:\"-\">>\n\n+\ntitle: ExpectedResult\n\n<p>New Tiddler 1</p><p>New Tiddler-1</p><p>anotherBase 1</p><p>About-1</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/macros/unusedtitle/basic-params.tid",
    "content": "title: Macros/unusedtitle/basic-params\ndescription: test <<unusedtitle>> with basic macro parameters\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n<<unusedtitle>>\n\n<!-- EDGECASE: separator is ignored if tiddler title does not exist -->\n<<unusedtitle separator:\"-\">>\n\n<<unusedtitle baseName:\"anotherBase\">>\n\n<<unusedtitle baseName:\"About\" separator:\"-\">>\n\n<!-- v5.3.6 startCount -->\n\n<<unusedtitle startCount:\"3\">>\n\n<<unusedtitle startCount:\"-1\" baseName:\"invalid start\">>\n\n<<unusedtitle startCount:\"aaa\" baseName:\"invalid count\">>\n\n+\ntitle: ExpectedResult\n\n<p>New Tiddler</p><p>New Tiddler</p><p>anotherBase</p><p>About</p><p>New Tiddler 3</p><p>invalid start</p><p>invalid count</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/macros/unusedtitle/template-empty-params-tiddler-exist.tid",
    "content": "title: Macros/unusedtitle/template-empty-params-tiddler-exist\ndescription: test <<unusedtitle>> with templates where parameters are empty\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: New Tiddler\n\n+\ntitle: xxx\n\n+\ntitle: 00-New Tiddler\n\n+\ntitle: 0000 asdf\n\n+\ntitle: 0001 asdf\n\n+\ntitle: 0000 abc\n\n+\ntitle: Output\n\n<!-- empty template - no template handling at all -->\n<<unusedtitle template:\"\">>\n\n<!--\n\tuses basename AND separator if tiddler exists\n\tbecause it uses default naming build rules - no template handling\n-->\n<<unusedtitle template:\"\" separator:\"-y-\" baseName:\"xxx\">>\n\n<<unusedtitle baseName:\"\" template:\"$count:2$-$basename$\">>\n\n<!-- \n\tEDGECASE: if separator is empty it will be initialized with a single space \" \"\n\tto have the same rules for templates and default title creation\n-->\n<<unusedtitle baseName:\"asdf\" separator:\"\" template:\"$count:4$$separator$$basename$\">>\n\n<!-- separator = \" \" -->\n<<unusedtitle baseName:\"abc\" separator:\" \" template:\"$count:4$$separator$$basename$\">>\n\n\n+\ntitle: ExpectedResult\n\n<p>New Tiddler 1</p><p>xxx-y-1</p><p>01-New Tiddler</p><p>0002 asdf</p><p>0001 abc</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/macros/unusedtitle/template-empty-params.tid",
    "content": "title: Macros/unusedtitle/template-empty-params\ndescription: test <<unusedtitle>> with templates where parameters are empty\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n<!-- empty template -->\n<<unusedtitle template:\"\">>\n\n<!--\n\tuses basename but ignores separator,\n\tbecause it uses default naming build rules -- no template handling is active\n-->\n<<unusedtitle template:\"\" separator:\"-x-\" baseName:\"xxx\">>\n\n<<unusedtitle baseName:\"\" template:\"$count:2$-$basename$\">>\n\n<<unusedtitle baseName:\"asdf\" separator:\"\" template:\"$count:4$$separator$$basename$\">>\n\n+\ntitle: ExpectedResult\n\n<p>New Tiddler</p><p>xxx</p><p>00-New Tiddler</p><p>0000 asdf</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/macros/unusedtitle/template-startCount.tid",
    "content": "title: Macros/unusedtitle/template-startCount\ndescription: test <<unusedtitle>> with templates and startCount\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n<!-- test template basics -->\n\n<<unusedtitle template:\"$basename$$separator$$count$xx\" >>\n\n<<unusedtitle template:\"$basename$$separator$$count$xx\" startCount:\"4\" >>\n\n<<unusedtitle template:\"$basename$$separator$$count:1$xx\" startCount:\"11\">>\n\n<!-- test parameter edgecases -->\n\n<<unusedtitle template:\"$basename$$separator$$count:2$xx\" startCount:\"\" baseName:\"emptyCount\">>\n\n<<unusedtitle template:\"$basename$$separator$$count$xx\" startCount:\"-1\" separator:\"\" baseName:\"invalid start\" >>\n\n<<unusedtitle template:\"$basename$$separator$$count$xx\" startCount:\"bbb\" separator:\"\" baseName:\"invalid count\" >>\n\n+\ntitle: ExpectedResult\n\n<p>New Tiddler 0xx</p><p>New Tiddler 4xx</p><p>New Tiddler 11xx</p><p>emptyCount 00xx</p><p>invalid start 0xx</p><p>invalid count 0xx</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/macros/unusedtitle/template.tid",
    "content": "title: Macros/unusedtitle/template\ndescription: test <<unusedtitle>> with templates\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n<!-- empty template - standard rules are used -->\n<<unusedtitle template:\"\">>\n\n<<unusedtitle template:\"count-missing\">>\n\n<<unusedtitle template:\"$count:2$-new\">>\n\n<!-- template is handled using $tw.utils.formatTitleString -->\n<<unusedtitle baseName:\"base\" template:\"$count:2$-$basename$\">>\n\n<<unusedtitle baseName:\"\" template:\"$count:2$-$basename$\">>\n\n<!-- UPPERCASES are intentional in template strings. They should be case-insensistive -->\n<<unusedtitle baseName:\"asdf\" separator:\"-\" template:\"$coUNT:2$$sepaRATor$$baseName$\">>\n\n<<unusedtitle baseName:\"asdf\" separator:\"\" template:\"$count:2$$separator$$basename$\">>\n\n+\ntitle: ExpectedResult\n\n<p>New Tiddler</p><p>count-missing0</p><p>00-new</p><p>00-base</p><p>00-New Tiddler</p><p>00-asdf</p><p>00 asdf</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/messages/tm-import-tiddler/CustomTitle.tid",
    "content": "title: Message/tm-import-tiddlers/CustomTitle\ndescription: tm-import-tiddlers message can import to a tiddler with a custom title \ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\ntext: <$text text={{MyCustomTitle}}/>\nplugin-type: <$text text={{MyCustomTitle!!plugin-type}}/>\n~$:/StoryList: <$text text={{$:/StoryList!!list}}/>\n+\ntitle: Actions\n\n<$navigator story=\"$:/StoryList\">\n<$action-sendmessage\n  $message=\"tm-import-tiddlers\"\n  $param='[{\"title\": \"Elephants\"}, {\"title\": \"Eagles\"}]'\n  importTitle=MyCustomTitle/>\n</$navigator>\n\n+\ntitle: ExpectedResult\n\n<p>text: {\n    \"tiddlers\": {\n        \"Elephants\": {\n            \"title\": \"Elephants\"\n        },\n        \"Eagles\": {\n            \"title\": \"Eagles\"\n        }\n    }\n}\nplugin-type: import\n$:/StoryList: MyCustomTitle</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/messages/tm-import-tiddler/NoAutoOpen.tid",
    "content": "title: Message/tm-import-tiddlers/NoAutoOpen\ndescription: tm-import-tiddlers can import without automatically opening the import tiddler\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\ntext: <$text text={{$:/Import}}/>\nplugin-type: <$text text={{$:/Import!!plugin-type}}/>\n~$:/StoryList: <$text text={{$:/StoryList!!list}}/>\n+\ntitle: Actions\n\n<$navigator story=\"$:/StoryList\">\n<$action-sendmessage\n  $message=\"tm-import-tiddlers\"\n  $param='[{\"title\": \"Elephants\"}, {\"title\": \"Eagles\"}]'\n  autoOpenOnImport=no/>\n</$navigator>\n\n+\ntitle: ExpectedResult\n\n<p>text: {\n    \"tiddlers\": {\n        \"Elephants\": {\n            \"title\": \"Elephants\"\n        },\n        \"Eagles\": {\n            \"title\": \"Eagles\"\n        }\n    }\n}\nplugin-type: import\n$:/StoryList: </p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/messages/tm-import-tiddler/NoAutoOpenViaVar.tid",
    "content": "title: Message/tm-import-tiddlers/NoAutoOpenViaVar\ndescription: tm-import-tiddlers can import and open based on tv-auto-open-on-import\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\ntext: <$text text={{$:/Import}}/>\nplugin-type: <$text text={{$:/Import!!plugin-type}}/>\n~$:/StoryList: <$text text={{$:/StoryList!!list}}/>\n+\ntitle: Actions\n\n<$let tv-auto-open-on-import=\"no\">\n<$navigator story=\"$:/StoryList\">\n<$action-sendmessage\n  $message=\"tm-import-tiddlers\"\n  $param='[{\"title\": \"Elephants\"}, {\"title\": \"Eagles\"}]'/>\n</$navigator>\n</$let>\n\n+\ntitle: ExpectedResult\n\n<p>text: {\n    \"tiddlers\": {\n        \"Elephants\": {\n            \"title\": \"Elephants\"\n        },\n        \"Eagles\": {\n            \"title\": \"Eagles\"\n        }\n    }\n}\nplugin-type: import\n$:/StoryList: </p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/messages/tm-import-tiddler/default.tid",
    "content": "title: Message/tm-import-tiddlers/default\ndescription: tm-import-tiddlers message by default should import to $:/Import and open the tiddler\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\ntext: <$text text={{$:/Import}}/>\nplugin-type: <$text text={{$:/Import!!plugin-type}}/>\n~$:/StoryList: <$text text={{$:/StoryList!!list}}/>\n+\ntitle: Actions\n\n<$navigator story=\"$:/StoryList\">\n<$action-sendmessage\n  $message=\"tm-import-tiddlers\"\n  $param='[{\"title\": \"Elephants\"}, {\"title\": \"Eagles\"}]'/>\n</$navigator>\n\n+\ntitle: ExpectedResult\n\n<p>text: {\n    \"tiddlers\": {\n        \"Elephants\": {\n            \"title\": \"Elephants\"\n        },\n        \"Eagles\": {\n            \"title\": \"Eagles\"\n        }\n    }\n}\nplugin-type: import\n$:/StoryList: $:/Import</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/messages/tm-new-tiddler/create-a-new-tiddler-with-a-tag.tid",
    "content": "title: Message/tm-new-tiddler/create-a-new-tiddler-with-a-tag\ndescription: tm-new-tiddler message will create a new draft tiddler with a tag\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n<pre>{{Draft of 'New Tiddler'||output-template}}</pre>\n+\ntitle: Actions\n\n<$navigator story=\"$:/StoryList\">\n\n<$action-sendmessage $message=\"tm-new-tiddler\"\n\ttext=\"some text\"\n\tz-field=\"a\"\n\ttags=\"test [[with spaces]]\"\n/>\n\n</$navigator>\n\n+\ntitle: output-template\n\n<!-- This template is used for saving tiddlers in TiddlyWeb *.tid format -->\n<$fields exclude='text bag created modified' template='$name$: $value$\n'></$fields>\n<$view field=\"text\" format=\"text\" />\n+\ntitle: ExpectedResult\n\n<p><pre>draft.of: New Tiddler\ndraft.title: New Tiddler\ntags: test [[with spaces]]\ntitle: Draft of 'New Tiddler'\nz-field: a\n\nsome text</pre></p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/messages/tm-new-tiddler/default.tid",
    "content": "title: Message/tm-new-tiddler/default\ndescription: tm-new-tiddler message will create a new draft tiddler\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n<pre>{{Draft of 'New Tiddler'||output-template}}</pre>\n+\ntitle: Actions\n\n<$navigator story=\"$:/StoryList\">\n\nNew in TW v5.3.6\n\tCreate a draft tiddler which should have __no__ tags field\n\n<$action-sendmessage $message=\"tm-new-tiddler\"\n\ttext=\"some text\"\n\tz-field=\"a\"\n/>\n\n</$navigator>\n\n+\ntitle: output-template\n\n<!-- This template is used for saving tiddlers in TiddlyWeb *.tid format -->\n<$fields exclude='text bag created modified' template='$name$: $value$\n'></$fields>\n<$view field=\"text\" format=\"text\" />\n+\ntitle: ExpectedResult\n\n<p><pre>draft.of: New Tiddler\ndraft.title: New Tiddler\ntitle: Draft of 'New Tiddler'\nz-field: a\n\nsome text</pre></p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/messages/tm-new-tiddler/new-from-template-with-tag.tid",
    "content": "title: Message/tm-new-tiddler/new-from-template-with-tag\ndescription: tm-new-tiddler create a draft from a template. Template has an empty tags field\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n<pre>{{\tDraft of 'new-tiddler-template 1'||output-template}}</pre>\n+\ntitle: Actions\n\n<$navigator story=\"$:/StoryList\">\n\n<$action-sendmessage $message=\"tm-new-tiddler\"\n\t$param=\"new-tiddler-template\"\n\ttext=\"some text\"\n\tz-field=\"a\"\n/>\n\n</$navigator>\n\n+\ntitle: new-tiddler-template\nasdf: asdf\ntags:\n\n+\ntitle: output-template\n\n<!-- This template is used for saving tiddlers in TiddlyWeb *.tid format -->\n<$fields exclude='text bag created modified' template='$name$: $value$\n'></$fields>\n<$view field=\"text\" format=\"text\" />\n+\ntitle: ExpectedResult\n\n<p><pre>asdf: asdf\ndraft.of: new-tiddler-template 1\ndraft.title: new-tiddler-template 1\ntags: \ntitle: Draft of 'new-tiddler-template 1'\nz-field: a\n\nsome text</pre></p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/messages/tm-new-tiddler/new-from-template-without-tag.tid",
    "content": "title: Message/tm-new-tiddler/new-from-template-without-tag\ndescription: tm-new-tiddler create 2 drafts from a template. Template has no tags field\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n<pre>{{\tDraft of 'new-tiddler-template 1'||output-template}}</pre>\n<pre>{{\tDraft of 'new-tiddler-template 2'||output-template}}</pre>\n+\ntitle: Actions\n\n<$navigator story=\"$:/StoryList\">\n\nNew in TW v5.3.6\n\tCreate a new tiddler from a template, which has no tags field\n\tSo draft should also have __no__ tags field\n\n<$action-sendmessage $message=\"tm-new-tiddler\"\n\t$param=\"new-tiddler-template\"\n\ttext=\"some text\"\n\tz-field=\"a\"\n/>\n\nCreate a new tiddler from a template, which has no tag field\nAND __add__ a tags field with the command below\n\n<$action-sendmessage $message=\"tm-new-tiddler\"\n\t$param=\"new-tiddler-template\"\n\ttext=\"some text\"\n\tz-field=\"a\"\n\ttag=\"\"\n/>\n\n</$navigator>\n\n+\ntitle: new-tiddler-template\nasdf: asdf\n\n+\ntitle: output-template\n\n<!-- This template is used for saving tiddlers in TiddlyWeb *.tid format -->\n<$fields exclude='text bag created modified' template='$name$: $value$\n'></$fields>\n<$view field=\"text\" format=\"text\" />\n+\ntitle: ExpectedResult\n\n<p><pre>asdf: asdf\ndraft.of: new-tiddler-template 1\ndraft.title: new-tiddler-template 1\ntitle: Draft of 'new-tiddler-template 1'\nz-field: a\n\nsome text</pre>\n<pre>asdf: asdf\ndraft.of: new-tiddler-template 2\ndraft.title: new-tiddler-template 2\ntag: \ntitle: Draft of 'new-tiddler-template 2'\nz-field: a\n\nsome text</pre></p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/messages/tm-new-tiddler/new-with-tag.tid",
    "content": "title: Message/tm-new-tiddler/new-with-tag\ndescription: tm-new-tiddler message creates a draft tiddler with an empty tag field\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n<pre>{{Draft of 'New Tiddler'||output-template}}</pre>\n+\ntitle: Actions\n\n<$navigator story=\"$:/StoryList\">\n\nCreate a draft tiddler which __should have a tags field__\n\n<$action-sendmessage $message=\"tm-new-tiddler\"\n\ttext=\"some text\"\n\tz-field=\"a\"\n\ttag=\"\"\n/>\n\n</$navigator>\n\n+\ntitle: output-template\n\n<!-- This template is used for saving tiddlers in TiddlyWeb *.tid format -->\n<$fields exclude='text bag created modified' template='$name$: $value$\n'></$fields>\n<$view field=\"text\" format=\"text\" />\n+\ntitle: ExpectedResult\n\n<p><pre>draft.of: New Tiddler\ndraft.title: New Tiddler\ntag: \ntitle: Draft of 'New Tiddler'\nz-field: a\n\nsome text</pre></p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/multi-valued-variables/AttributeFirstValue.tid",
    "content": "title: MultiValuedVariables/AttributeFirstValue\ndescription: ((var)) on non-MVV-aware widget attribute returns first value only\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n<$let items={{{ [all[tiddlers]sort[]] }}}>\n<$text text=((items))/>\n</$let>\n+\ntitle: ExpectedResult\n\n<p>$:/core</p>\n+\n"
  },
  {
    "path": "editions/test/tiddlers/tests/data/multi-valued-variables/DefaultParameterMVV.tid",
    "content": "title: MultiValuedVariables/DefaultParameterMVV\ndescription: Procedure default parameter value using ((var)) syntax to provide MVV default\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\\procedure showItems(itemList:((defaults)))\n<$text text={{{ [(itemList)join[-]] }}}/>\n\\end\n<$let defaults={{{ [all[tiddlers]sort[]] }}}>\n<<showItems>>\n</$let>\n+\ntitle: ExpectedResult\n\n<p>$:/core-ExpectedResult-Output</p>\n+\n"
  },
  {
    "path": "editions/test/tiddlers/tests/data/multi-valued-variables/Function.tid",
    "content": "title: MultiValuedVariables/Function\ndescription: Multi-valued functions\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\function myfunc() [all[tiddlers]sort[]]\n\n<$let varname=<<myfunc>>>\n<$text text={{{ [(varname)] +[join[-]] }}}/>\n</$let>\n+\ntitle: ExpectedResult\n\n<p>\n$:/core-ExpectedResult-Output\n</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/multi-valued-variables/InlineDisplay.tid",
    "content": "title: MultiValuedVariables/InlineDisplay\ndescription: ((var)) in inline wikitext displays MVV with default comma-space separator\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n<$let items={{{ [all[tiddlers]sort[]] }}}>\n((items))\n</$let>\n+\ntitle: ExpectedResult\n\n<p>$:/core, ExpectedResult, Output</p>\n+\n"
  },
  {
    "path": "editions/test/tiddlers/tests/data/multi-valued-variables/InlineDisplaySeparator.tid",
    "content": "title: MultiValuedVariables/InlineDisplaySeparator\ndescription: ((var||separator)) in inline wikitext displays MVV with custom separator\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n<$let items={{{ [all[tiddlers]sort[]] }}}>\n((items||:))\n</$let>\n+\ntitle: ExpectedResult\n\n<p>$:/core:ExpectedResult:Output</p>\n+\n"
  },
  {
    "path": "editions/test/tiddlers/tests/data/multi-valued-variables/InlineFilterDisplay.tid",
    "content": "title: MultiValuedVariables/InlineFilterDisplay\ndescription: (((filter))) in inline wikitext displays filter results with default comma-space separator\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n((([all[tiddlers]sort[]])))\n+\ntitle: ExpectedResult\n\n<p>$:/core, ExpectedResult, Output</p>\n+\n"
  },
  {
    "path": "editions/test/tiddlers/tests/data/multi-valued-variables/InlineFilterDisplaySeparator.tid",
    "content": "title: MultiValuedVariables/InlineFilterDisplaySeparator\ndescription: (((filter||separator))) in inline wikitext displays filter results with custom separator\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n((([all[tiddlers]sort[]]||:)))\n+\ntitle: ExpectedResult\n\n<p>$:/core:ExpectedResult:Output</p>\n+\n"
  },
  {
    "path": "editions/test/tiddlers/tests/data/multi-valued-variables/MissingVariable.tid",
    "content": "title: MultiValuedVariables/MissingVariable\ndescription: Using multivalued operands with a missing variable\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n<$text text={{{ [(varname)] }}}/>\n+\ntitle: ExpectedResult\n\n<p></p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/multi-valued-variables/NegatedTitle.tid",
    "content": "title: MultiValuedVariables/NegatedTitle\ndescription: Multi-valued operands\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n<$let\n\texclude={{{ $:/core Output }}}\n>\n<$text text={{{ [all[tiddlers]!title(exclude)] +[join[-]] }}}/>\n</$let>\n+\ntitle: ExpectedResult\n\n<p>\nExpectedResult\n</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/multi-valued-variables/Operands.tid",
    "content": "title: MultiValuedVariables/Operands\ndescription: Multi-valued operands\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\function myfunc() [all[tiddlers]sort[]]\n\n<$let varname=<<myfunc>>>\n<$text text={{{ [(varname)] +[join[-]] }}}/>\n</$let>\n+\ntitle: ExpectedResult\n\n<p>\n$:/core-ExpectedResult-Output\n</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/multi-valued-variables/Parameters.tid",
    "content": "title: MultiValuedVariables/Parameters\ndescription: Multi-valued function parameters\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\function myfunc(input) [(input)sort[]]\n\n<$let\n\tinput={{{ [all[tiddlers]] }}}\n\toutput={{{ [function[myfunc],(input)] }}}\n>\n<$text text={{{ [(output)] +[join[-]] }}}/>\n</$let>\n+\ntitle: ExpectedResult\n\n<p>\n$:/core-ExpectedResult-Output\n</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/multi-valued-variables/ParametersShortcut.tid",
    "content": "title: MultiValuedVariables/ParametersShortcut\ndescription: Multi-valued function parameters using shortcut syntax\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\function my.func(input) [(input)sort[]]\n\n<$let\n\tinput={{{ [all[tiddlers]] }}}\n\toutput={{{ [my.func(input)] }}}\n>\n<$text text={{{ [(output)] +[join[-]] }}}/>\n</$let>\n+\ntitle: ExpectedResult\n\n<p>\n$:/core-ExpectedResult-Output\n</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/multi-valued-variables/Simple.tid",
    "content": "title: MultiValuedVariables/Simple\ndescription: Simple usage of multivalued assignments with the \"let\" widget\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n<$let varname={{{ [all[tiddlers]sort[]] }}}\n\tvarname2=<<varname>>>\n<$text text={{{ [(varname2)] +[join[-]] }}}/>\n</$let>\n+\ntitle: ExpectedResult\n\n<p>\n$:/core-ExpectedResult-Output\n</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/multi-valued-variables/TranscludeParameter.tid",
    "content": "title: MultiValuedVariables/TranscludeParameter\ndescription: Multi-valued variable passed as procedure parameter via ((var)) syntax\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\\procedure showItems(itemList)\n<$text text={{{ [(itemList)join[-]] }}}/>\n\\end\n<$let items={{{ [all[tiddlers]sort[]] }}}>\n<$transclude $variable=\"showItems\" itemList=((items))/>\n</$let>\n+\ntitle: ExpectedResult\n\n<p>$:/core-ExpectedResult-Output</p>\n+\n"
  },
  {
    "path": "editions/test/tiddlers/tests/data/multi-valued-variables/TranscludeParameterDirectly.tid",
    "content": "title: MultiValuedVariables/TranscludeParameterDirectly\ndescription: Multi-valued variable passed as procedure parameter via {{{filter}}} syntax\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\\procedure showItems(itemList)\n<$text text={{{ [(itemList)join[-]] }}}/>\n\\end\n\n<$transclude $variable=\"showItems\" itemList={{{ [all[tiddlers]sort[]] }}}/>\n+\ntitle: ExpectedResult\n\n<p>$:/core-ExpectedResult-Output</p>\n+\n\n"
  },
  {
    "path": "editions/test/tiddlers/tests/data/multi-valued-variables/TranscludeParameterFunction.tid",
    "content": "title: MultiValuedVariables/TranscludeParameterFunction\ndescription: Multi-valued variable passed as function parameter via ((var)) in $transclude\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\\function showItems(itemList) [(itemList)sort[]join[-]]\n<$let items={{{ [all[tiddlers]] }}}>\n<$transclude $variable=\"showItems\" itemList=((items))/>\n</$let>\n+\ntitle: ExpectedResult\n\n<p>$:/core-ExpectedResult-Output</p>\n+\n"
  },
  {
    "path": "editions/test/tiddlers/tests/data/pragmas/Parsermode-indented.tid",
    "content": "title: Pragmas/Parsermode-indented\ndescription: parsermode pragma\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n{{AlwaysInline}}\n\n{{AlwaysBlock}}\n\n{{AlwaysInline}}{{AlwaysBlock}}\n\n+\ntitle: AlwaysInline\n\n\t\\parsermode inline\n! Not Heading\n\nText with ''bold''\n+\ntitle: AlwaysBlock\n\n    \\parsermode block\n! Heading\n\nText with ''bold''\n+\ntitle: ExpectedResult\n\n! Not Heading\n\nText with <strong>bold</strong><h1 class=\"\">Heading</h1><p>Text with <strong>bold</strong></p><p>! Not Heading\n\nText with <strong>bold</strong><h1 class=\"\">Heading</h1><p>Text with <strong>bold</strong></p>\n</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/pragmas/Parsermode.tid",
    "content": "title: Pragmas/Parsermode\ndescription: parsermode pragma\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n{{AlwaysInline}}\n\n{{AlwaysBlock}}\n\n{{AlwaysInline}}{{AlwaysBlock}}\n\n+\ntitle: AlwaysInline\n\n\\parsermode inline\n! Not Heading\n\nText with ''bold''\n+\ntitle: AlwaysBlock\n\n\\parsermode block\n! Heading\n\nText with ''bold''\n+\ntitle: ExpectedResult\n\n! Not Heading\n\nText with <strong>bold</strong><h1 class=\"\">Heading</h1><p>Text with <strong>bold</strong></p><p>! Not Heading\n\nText with <strong>bold</strong><h1 class=\"\">Heading</h1><p>Text with <strong>bold</strong></p>\n</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/pragmas/WhitespaceAfterPragma.tid",
    "content": "title: Pragmas/WhitespaceAfterPragma\ndescription: parsermode pragma\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n<$wikify name=\"parsetree\" text={{Text}} mode=\"inline\" output=\"parsetree\">\n<$text text=<<parsetree>>/>\n</$wikify>\n+\ntitle: Text\n\n\\procedure this-is-a-definition() Something\n\n\n\n\nNow!\n\n+\ntitle: ExpectedResult\n\n<p>\n[\n    {\n        \"type\": \"set\",\n        \"attributes\": {\n            \"name\": {\n                \"name\": \"name\",\n                \"type\": \"string\",\n                \"value\": \"this-is-a-definition\"\n            },\n            \"value\": {\n                \"name\": \"value\",\n                \"type\": \"string\",\n                \"value\": \"Something\"\n            }\n        },\n        \"children\": [\n            {\n                \"type\": \"text\",\n                \"text\": \"Now!\\n\",\n                \"start\": 48,\n                \"end\": 53\n            }\n        ],\n        \"params\": [],\n        \"orderedAttributes\": [\n            {\n                \"name\": \"name\",\n                \"type\": \"string\",\n                \"value\": \"this-is-a-definition\"\n            },\n            {\n                \"name\": \"value\",\n                \"type\": \"string\",\n                \"value\": \"Something\"\n            }\n        ],\n        \"isProcedureDefinition\": true,\n        \"start\": 0,\n        \"end\": 43,\n        \"rule\": \"fnprocdef\"\n    }\n]\n</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/pragmas/WhitespaceNoPragma.tid",
    "content": "title: Pragmas/WhitespaceNoPragma\ndescription: parsermode pragma\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n<$wikify name=\"parsetree\" text={{Text}} mode=\"inline\" output=\"parsetree\">\n<$text text=<<parsetree>>/>\n</$wikify>\n+\ntitle: Text\n\n\n\n\n\nNow!\n\n+\ntitle: ExpectedResult\n\n<p>\n[\n    {\n        \"type\": \"text\",\n        \"text\": \"\\n\\n\\n\\nNow!\\n\",\n        \"start\": 0,\n        \"end\": 9\n    }\n]\n</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/procedures/EndInBody.tid",
    "content": "title: Procedures/EndInBody\ndescription: \\end line starting with non-whitespace is part of procedure body\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\procedure hello()\n hello \\end\n\\end\n\nOut: <<hello>>\n+\ntitle: ExpectedResult\n\n<p>Out:  hello \\end</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/procedures/IndentedEnd.tid",
    "content": "title: Procedures/IndentedEnd\ndescription: \\end line starting with whitespace ends a procedure body\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\procedure hello()\n hello \\end\n  \\end\n\nOut: <<hello>>\n+\ntitle: ExpectedResult\n\n<p>Out:  hello \\end</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/procedures/MismatchedNamedEnd.tid",
    "content": "title: Procedures/MismatchedNamedEnd\ndescription: Mismatched named end is part of the body\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\procedure hello()\n \\end goodbye\n\\end\n\nOut: <<hello>>\n+\ntitle: ExpectedResult\n\n<p>Out:  \\end goodbye</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/procedures/Nested-indented.tid",
    "content": "title: Procedures/Nested/Indented\ndescription: Nested Procedures that are indented\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\\procedure alpha(x)\n    \\procedure beta(y)\n    <$text text=<<y>>/>\n    \\end beta\n<$transclude $variable=\"beta\" y={{{ [<x>addprefix<x>] }}}/>\n\\end alpha\n\n<<alpha \"Elephant\">>\n+\ntitle: ExpectedResult\n\n<p>ElephantElephant</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/procedures/Nested.tid",
    "content": "title: Procedures/Nested\ndescription: Nested Procedures\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\\procedure alpha(x)\n\\procedure beta(y)\n<$text text=<<y>>/>\n\\end beta\n<$transclude $variable=\"beta\" y={{{ [<x>addprefix<x>] }}}/>\n\\end alpha\n\n<<alpha \"Elephant\">>\n+\ntitle: ExpectedResult\n\n<p>ElephantElephant</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/procedures/TrailingNewlines.tid",
    "content": "title: Procedures/TrailingNewlines\ndescription: Trailing newlines in procedures must not be dropped\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\procedure inner()\nParagraph 1\n\nParagraph 2\n\\end\n\\procedure outer()\n<$macrocall $name=inner />\n\n\\end\n<<outer>>\n\n+\ntitle: ExpectedResult\n\n<p>Paragraph 1</p><p>Paragraph 2</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/procedures/WhitespaceOnlyWithEnd.tid",
    "content": "title: Procedures/WhitespaceOnlyWithEnd\ndescription: The /end should be detected when procedure definition contains only whitespace\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\procedure max()\n\\end\nNothing\n\\end\n\nOut: <<max>>\n+\ntitle: ExpectedResult\n\n<p>Nothing\n\\end</p><p>Out: </p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/procedures/WhitespaceOnlyWithEnd2.tid",
    "content": "title: Procedures/WhitespaceOnlyWithEnd2\ndescription: Line with \\end can start with whitespace\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\procedure empty()\n \\end\n\nOut: <<empty>>\n+\ntitle: ExpectedResult\n\n<p>Out: </p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/reserved-wikitext/ReservedWikiText.tid",
    "content": "title: ReservedWikiText\ndescription: Verify that reserved wikitext constructions are not parsed\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Narrative\n\nVerifies that certain wikitext constructions that are reserved for use by other tools are not parsed by TiddlyWiki.\n+\ntitle: TestTiddler\n\n{%%}\n(==)\n{% %}\n(= =)\n{% something %}\n(= something =)\nInline {% something %} substitution\nInline (= something =) substitution\nPrefix-{%\nPrefix-(=\n%}-Postfix\n=)-Postfix\n  {%\n  (=\n  %}\n  =)\n+\ntitle: Output\n\n<$wikify name=\"parsetree\" text={{TestTiddler}} output=\"parsetree\">\n<$text text={{{ [<parsetree>jsonget[0],[children],[0],[text]] }}}/>\n</$wikify>\n+\ntitle: ExpectedResult\n\n<p>\n{%%}\n(==)\n{% %}\n(= =)\n{% something %}\n(= something =)\nInline {% something %} substitution\nInline (= something =) substitution\nPrefix-{%\nPrefix-(=\n%}-Postfix\n=)-Postfix\n  {%\n  (=\n  %}\n  =)\n</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/Attribute.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/Attribute\ntype: text/vnd.tiddlywiki\n\n<$macrocall $name=\"rpn\" a=<<rpn 2 2 *>> b=\"pi\" operation=\"*\" decimals=\"4\"/>\n"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/BlockRule.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/BlockRule\ntype: text/vnd.tiddlywiki\n\nThe speed of sound\n\nThe light of speed"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/BoldEmphasis.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/BoldEmphasis\ntype: text/vnd.tiddlywiki\n\nThis is ''bold'' text"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/CodeBlock.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/CodeBlock\ntype: text/vnd.tiddlywiki\n\nSimple `JS` and complex\n\n---\n\n```js\nvar match = reEnd.exec(this.parser.source)\n```\n\n```tid\n<$list filter=\"[tag[ExampleTag]sort[title]]\"/>\n```\n\nend"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/CommentBlock.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/CommentBlock\ntype: text/vnd.tiddlywiki\n\n<!-- This is a comment -->\n\nSome text\n\n<!-- Another comment -->\n\nMore text"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/CommentInline.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/CommentInline\ntype: text/vnd.tiddlywiki\n\nThis is some text with an inline comment <!-- This is a comment --> and some more text."
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/Conditional.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/Conditional\ntype: text/vnd.tiddlywiki\n\nThis is a <%if [{something}] %>Elephant<%elseif [{else}] %>Pelican<%else%>Crocodile<%endif%> <%if [{something}] %>Elephant<%else%>Crocodile<%endif%>\n\n<%if [{$:/info/url/protocol}match[file:]]%>\n  Loaded from a file URI\n<%elseif [{$:/info/url/protocol}match[https:]]%>\n  Loaded from an HTTPS URI\n<%elseif [{$:/info/url/protocol}match[http:]]%>\n  Loaded from an HTTP URI\n<%else%>\n  Loaded from an unknown protocol\n<%endif%>\n\nPlain text in next paragraph.\n\n<%if [{$:/info/url/protocol}match[file:]]%>\n  Hidden.\n<%endif%>\n"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/Dash.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/Dash\ntype: text/vnd.tiddlywiki\n\nThis is an en-dash: --\n\nThis is an em-dash: ---"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/DynamicMacroMixed.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/DynamicMacroMixed\ntype: text/vnd.tiddlywiki\n\n<<mymacro static:\"value\" dynamic={{reference}} filter={{{ [tag[test]] }}}>>\n\n<$macrocall $name=\"mymacro\" static=\"value\" dynamic=<<inner>>/>\n\n<<mymacro `substituted $(var)$`>>\n"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/DynamicMacroParams.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/DynamicMacroParams\ntype: text/vnd.tiddlywiki\n\n<<mymacro param={{Something}}>>\n\n<<mymacro param={{{ [<myvar>addprefix[https:]] }}}>>\n\n<$macrocall $name=\"outermacro\" inner=<<innermacro arg=\"value\">>/>\n"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/DynamicWidgetAttribute.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/DynamicWidgetAttribute\ntype: text/vnd.tiddlywiki\n\n<div class=<<mymacro param={{Something}}>>>content</div>\n\n<$button actions=<<myactions target={{!!title}}>>/>\n"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/Entity.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/Entity\ntype: text/vnd.tiddlywiki\n\nThis is a copyright symbol: &copy;"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/ExtLink.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/ExtLink\ntype: text/vnd.tiddlywiki\n\nAn external link: https://www.tiddlywiki.com/\n\nA suppressed external link: ~http://www.tiddlyspace.com/"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/FilteredTranscludeBlock.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/FilteredTranscludeBlock\ntype: text/vnd.tiddlywiki\n\n{{{ [tag[docs]] }}}\n\n{{{ [tag[docs]] |tooltip}}}\n\n{{{ [tag[docs]] ||TemplateTitle}}}\n\n{{{ [tag[docs]] |tooltip||TemplateTitle}}}\n\n{{{ [tag[docs]] }}width:40;height:50;}.class.class\n"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/FilteredTranscludeInline.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/FilteredTranscludeInline\ntype: text/vnd.tiddlywiki\n\n{{{ [tag[docs]] }}} {{{ [tag[docs]] |tooltip}}} {{{ [tag[docs]] ||TemplateTitle}}} {{{ [tag[docs]] |tooltip||TemplateTitle}}} {{{ [tag[docs]] }}width:40;height:50;}.class.class"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/FunctionDefinition.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/FunctionDefinition\ntype: text/vnd.tiddlywiki\n\n\\function name(param:\"defaultvalue\", param2:\"defaultvalue\")\ndefinition text\n\\end\n\n\\procedure name(param:\"defaultvalue\", param2:\"defaultvalue\")\ndefinition text\n\\end\n\n\\widget $mywidget(param:\"defaultvalue\", param2:\"defaultvalue\")\ndefinition text\n\\end"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/HardLineBreaks.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/HardLineBreaks\ntype: text/vnd.tiddlywiki\n\n\"\"\"\nThis is some text\nThat is set like\nIt is a Poem\nWhen it is\nClearly\nNot\n\"\"\"\n"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/Heading.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/Heading\ntype: text/vnd.tiddlywiki\n\n! Heading 1\n\n!! Heading 2\n\n!!! Heading 3\n\n!!!! Heading 4\n\n!!!!! Heading 5\n\n!!!!!! Heading 6\n\n! AAA\n\n!! AAA\n\n!!! AAA\n\n!!!! AAA\n\n!!!!! AAA\n\n!!!!!! AAA\n\nAAA\n"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/Html.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/Html\ntype: text/vnd.tiddlywiki\n\n<aside>\nThis is an HTML5 aside element\n</aside>\n\n<$slider target=\"MyTiddler\">\nThis is a widget invocation\n</$slider>\n\n<$list filter=\"[tag[ExampleTag]sort[title]]\"/>\n\nPlain text in next paragraph."
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/Image.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/Image\ntype: text/vnd.tiddlywiki\n\n[img[https://tiddlywiki.com/fractalveg.jpg]]\n[img width=\"23\" height=\"24\" [https://tiddlywiki.com/fractalveg.jpg]]\n[img width={{!!width}} height={{!!height}} [https://tiddlywiki.com/fractalveg.jpg]]\n[img[Description of image|https://tiddlywiki.com/fractalveg.jpg]]\n[img[TiddlerTitle]]\n[img[Description of image|TiddlerTitle]]"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/Import.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/Import\ntype: text/vnd.tiddlywiki\n\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n\\import [[$:/core/ui/PageMacros]]"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/ItalicEmphasis.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/ItalicEmphasis\ntype: text/vnd.tiddlywiki\n\nThis is //italic// text"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/List.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/List\ntype: text/vnd.tiddlywiki\n\n* This is an unordered list\n* It has two items\n\n# This is a numbered list\n## With a subitem\n# And a third item\n\n; This is a term that is being defined\n: This is the definition of that term\n\n#** One\n#* Two\n#** Three\n#**** Four\n#**# Five\n#**## Six\n## Seven\n### Eight\n## Nine\n\n* List item one\n*.active List item two has the class `active`\n* List item three\n\n# AAA\n## [[BBB]]\n### CCC\n# AAA\n## CCC\n## DDD\n## EEE\n# BBB\n## FF `/` FFF\n## FFF\n## GGG\n## \n"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/MacroCallBlock.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/MacroCallBlock\ntype: text/vnd.tiddlywiki\n\n<<name \"value\" \"value2\">>\n\n<<.def \"macro calls\">>\n\n<<alert \"primary\" \"primary alert\" width:\"60%\">>\n\n<<john one:val1 two:val2 three:\"quoted value\">>\n\n<<test unquoted:value quoted:\"value\" number:123>>\n"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/MacroCallInline.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/MacroCallInline\ntype: text/vnd.tiddlywiki\n\nThese are macro calls in a line: <<name \"value\" \"value2\">> and <<.def \"macro calls\">> <<alert \"primary\" \"primary alert\" width:\"60%\">>\n\nTesting unquoted parameters: <<john one:val1 two:val2>> and <<test param:value other:\"quoted\">>.\n"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/MacroDef.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/MacroDef\ntype: text/vnd.tiddlywiki\n\n\\define name(param:defaultvalue,param2:defaultvalue)\ndefinition text, including $param$ markers\n\\end\n\n\\define lingo-base() $:/language/ControlPanel/Basics/\n"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/Parameters.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/Parameters\ntype: text/vnd.tiddlywiki\n\n\\parameters(param:defaultvalue,param2:defaultvalue)"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/ParserMode.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/ParserMode\ntype: text/vnd.tiddlywiki\n\n\\parsermode block\n\n\\parsermode inline\n\nTest."
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/PrettyExtLink.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/PrettyExtLink\ntype: text/vnd.tiddlywiki\n\n[ext[https://tiddlywiki.com/fractalveg.jpg]]\n[ext[Tooltip|https://tiddlywiki.com/fractalveg.jpg]]"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/PrettyLink.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/PrettyLink\ntype: text/vnd.tiddlywiki\n\n[[Introduction]]\n[[Link description|TiddlerTitle]]"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/QuoteBlock.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/QuoteBlock\ntype: text/vnd.tiddlywiki\n\n<<<tc-quote\nQuote text\n<<<"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/RulesPragma.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/RulesPragma\ntype: text/vnd.tiddlywiki\n\n\\rules except ruleone ruletwo rulethree\n\\rules only ruleone ruletwo rulethree"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/SimpleText.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/SimpleText\ntype: text/vnd.tiddlywiki\n\nThe quick brown fox"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/SoftLineBreak.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/SoftLineBreak\ntype: text/vnd.tiddlywiki\n\nThe rain in Spain\nfalls mainly on the plain"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/StrikethroughEmphasis.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/StrikethroughEmphasis\ntype: text/vnd.tiddlywiki\n\nThis is ~~strikethrough~~ text"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/StyleBlock.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/StyleBlock\ntype: text/vnd.tiddlywiki\n\n@@background-color:red;\n@@.myClass\nThis paragraph will have the CSS class `myClass`.\n\n* The `<ul>` around this list will also have the class `myClass`\n* List item 2\n@@\n\n@@font-size:1.5em;\n@@.coloured-text.coloured-bg\n* Block content\n* With custom style and classes\n@@"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/StyleBlock2.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/StyleBlock2\ntype: text/vnd.tiddlywiki\n\n@@width:100px;\n@@.myFirstClass.mySecondClass.myThirdClass\nThis is a paragraph\n@@\n\n@@background-color:lightcyan;\n* Item one\n* Item two\n@@"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/StyleInline.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/StyleInline\ntype: text/vnd.tiddlywiki\n\n@@.myClass This is some text with a class@@\n@@background-color:red; This is some text with a background colour@@\n@@width:100px;.myClass This is some text with a class and a width@@"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/SubscriptEmphasis.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/SubscriptEmphasis\ntype: text/vnd.tiddlywiki\n\nThis is ,,subscript,, text"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/SuperscriptEmphasis.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/SuperscriptEmphasis\ntype: text/vnd.tiddlywiki\n\nThis is ^^superscript^^ text"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/SysLink.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/SysLink\ntype: text/vnd.tiddlywiki\n\n$:TiddlerTitle\n~$:TiddlerTitle"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/Table.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/Table\ntype: text/vnd.tiddlywiki\n\n|!|!Alpha|!Beta|!Gamma|!Delta|\n|!One|||||\n|!Two|||||\n|!Three|||||\n\n|cell one|cell two|\n|cell three|cell four|\n"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/TranscludeBlock.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/TranscludeBlock\ntype: text/vnd.tiddlywiki\n\n{{MyTiddler}}\n\n{{MyTiddler||TemplateTitle}}\n\n{{||TemplateTitle}}\n\n{{MyTiddler|Parameter}}\n\n{{MyTiddler||TemplateTitle|Parameter|SecondParameter}}\n\n{{MyTiddler!!field}}\n\n{{!!field}}\n\n{{MyTiddler##index}}\n\n{{##index}}"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/TranscludeInline.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/TranscludeInline\ntype: text/vnd.tiddlywiki\n\n{{MyTiddler}} {{MyTiddler||TemplateTitle}}"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/TypedBlock1.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/TypedBlock1\ntype: text/vnd.tiddlywiki\n\n$$$text/vnd.tiddlywiki > text/plain\nThis is ''some'' wikitext\n$$$\n\n$$$text/unknown\nSome plain text, which will not be //formatted//.\n\n$$$text/vnd.tiddlywiki > text/html\nThis is ''some'' wikitext\n$$$\n\n"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/TypedBlock2.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/TypedBlock2\ntype: text/vnd.tiddlywiki\n\n$$$.js\nThis will be rendered as JavaScript\n$$$\n\n$$$.svg\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"150\" height=\"100\">\n  <circle cx=\"100\" cy=\"50\" r=\"40\" stroke=\"black\" stroke-width=\"2\" fill=\"red\" />\n</svg>\n$$$\n\n$$$image/svg+xml\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"150\" height=\"100\">\n  <circle cx=\"100\" cy=\"50\" r=\"40\" stroke=\"black\" stroke-width=\"2\" fill=\"green\" />\n</svg>\n$$$"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/UnderscoreEmphasis.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/UnderscoreEmphasis\ntype: text/vnd.tiddlywiki\n\nThis is __underscore__ text"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/VoidElements.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/VoidElements\ntype: text/vnd.tiddlywiki\n\nThis tests void elements like <br/> and <br> (without `/`).\n\nLine one<br>Line two\nLine three<br/>Line four\n\n<hr>\n\nImages are also void: <img src=\"test.png\">\n"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/WikiLink.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/WikiLink\ntype: text/vnd.tiddlywiki\n\nAWikiLink\nAnotherLink\n~SuppressedLink"
  },
  {
    "path": "editions/test/tiddlers/tests/data/serialize/WikiLinkPrefix.tid",
    "content": "tags: $:/tags/wikitext-serialize-test-spec\ntitle: Serialize/WikiLinkPrefix\ntype: text/vnd.tiddlywiki\n\n~SuppressedLink"
  },
  {
    "path": "editions/test/tiddlers/tests/data/tabs-macro/expected-test-tabs-horizontal-a.tid",
    "content": "title: expected-test-tabs-horizontal-a\ntype: text/html\ndescription: Horizontal tabs test - This is the expected HTML output from a test in test-wikitext-tabs-macro.js\n\n<p><div class=\"tc-tab-set \" role=\"tablist\"><div class=\"tc-tab-buttons \"><button aria-selected=\"false\" class=\"\" data-tab-title=\"TabOne\" role=\"tab\">t 1</button><button aria-selected=\"true\" class=\" tc-tab-selected\" data-tab-title=\"TabTwo\" role=\"tab\">t 2</button><button aria-selected=\"false\" class=\"\" data-tab-title=\"TabThree\" role=\"tab\">t 3</button><button aria-selected=\"false\" class=\"\" data-tab-title=\"TabFour\" role=\"tab\">TabFour</button></div><div class=\"tc-tab-divider \"></div><div class=\"tc-tab-content \" role=\"tabpanel\"><div class=\"tc-reveal\" hidden=\"true\"></div><div class=\"tc-reveal\"><p>Text tab 2</p></div><div class=\"tc-reveal\" hidden=\"true\"></div><div class=\"tc-reveal\" hidden=\"true\"></div></div></div></p>\n"
  },
  {
    "path": "editions/test/tiddlers/tests/data/tabs-macro/expected-test-tabs-horizontal-all.tid",
    "content": "title: expected-test-tabs-horizontal-all\ntype: text/html\ndescription: Horizontal tabs with all parameters active. This is the expected HTML output from a test in test-wikitext-tabs-macro.js\n\n<p><div class=\"tc-tab-set \" role=\"tablist\"><div class=\"tc-tab-buttons \"><button aria-selected=\"false\" class=\"\" data-tab-title=\"TabOne\" role=\"tab\">t 1</button><button aria-selected=\"true\" class=\" tc-tab-selected\" data-tab-title=\"TabTwo\" role=\"tab\">t 2</button><button aria-selected=\"false\" class=\"\" data-tab-title=\"TabThree\" role=\"tab\">desc</button><button aria-selected=\"false\" class=\"\" data-tab-title=\"TabFour\" role=\"tab\">TabFour</button></div><div class=\"tc-tab-divider \"></div><div class=\"tc-tab-content \" role=\"tabpanel\"><div class=\"tc-reveal\" hidden=\"true\"></div><div class=\"tc-reveal\"><h2 class=\"\">TabTwo</h2><p><p>Text tab 2</p></p></div><div class=\"tc-reveal\" hidden=\"true\"></div><div class=\"tc-reveal\" hidden=\"true\"></div></div></div></p>\n"
  },
  {
    "path": "editions/test/tiddlers/tests/data/tabs-macro/expected-test-tabs-vertical.tid",
    "content": "title: expected-test-tabs-vertical\ntype: text/html\ndescription: Vertical tabs test -- This is the expected HTML output from the test in test-wikitext-tabs-macro.js\n\n<p><div class=\"tc-tab-set tc-vertical\" role=\"tablist\"><div class=\"tc-tab-buttons tc-vertical\"><button aria-selected=\"false\" class=\"\" data-tab-title=\"TabOne\" role=\"tab\">t 1</button><button aria-selected=\"true\" class=\" tc-tab-selected\" data-tab-title=\"TabTwo\" role=\"tab\">t 2</button><button aria-selected=\"false\" class=\"\" data-tab-title=\"TabThree\" role=\"tab\">t 3</button><button aria-selected=\"false\" class=\"\" data-tab-title=\"TabFour\" role=\"tab\">TabFour</button></div><div class=\"tc-tab-divider tc-vertical\"></div><div class=\"tc-tab-content tc-vertical\" role=\"tabpanel\"><div class=\"tc-reveal\" hidden=\"true\"></div><div class=\"tc-reveal\"><p>Text tab 2</p></div><div class=\"tc-reveal\" hidden=\"true\"></div><div class=\"tc-reveal\" hidden=\"true\"></div></div></div></p>\n"
  },
  {
    "path": "editions/test/tiddlers/tests/data/this-tiddler/Simple.tid",
    "content": "title: ThisTiddler/Simple\ndescription: Simple usage of thisTiddler variable\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\\import Macro\n\\define print-this-tiddler()\n<$text text=<<thisTiddler>>/>\n\\end\n\n(<$text text=<<thisTiddler>>/>)\n\n(<<print-this-tiddler>>)\n\n(<<imported-print-this-tiddler>>)\n\n+\ntitle: Macro\n\n\\define imported-print-this-tiddler()\n<$text text=<<thisTiddler>>/>\n\\end\n+\ntitle: ExpectedResult\n\n<p>(Output)</p><p>(Output)</p><p>(Output)</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/CustomWidget-ActionWidget.tid",
    "content": "title: Transclude/CustomWidget/ActionWidget\ndescription: Custom widget definition\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n<$transclude $tiddler='Result'>\n</$transclude>\n+\ntitle: Actions\n\n\\whitespace trim\n<!-- Define the <$action.mywidget> widget by defining a transcludable variable with that name -->\n\\widget $action.mywidget(one:'Jaguar')\n\\whitespace trim\n<$action-setfield $tiddler=\"Result\" $field=\"text\" $value=<<one>>/>\n\\end\n\n<$action.mywidget one=\"Dingo\">\n\tCrocodile\n</$action.mywidget>\n+\ntitle: ExpectedResult\n\n<p>Dingo</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/CustomWidget-CodeblockOverride-TextParser.tid",
    "content": "title: Transclude/CustomWidget/CodeblockOverride-TextParser\ndescription: Test that overriding codeblock widget does not impact text parser\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\\widget $codeblock(code)\n<$transclude $variable=\"copy-to-clipboard\" src=<<code>>/>\n<$genesis $type=\"$codeblock\" $remappable=\"no\" code=<<code>>/>\n\\end\n\n\\procedure myvariable() hello\n\n<$transclude $variable=\"myvariable\" $type=\"text/plain\" $output=\"text/plain\"/>\n+\ntitle: ExpectedResult\n\n<p>hello</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/CustomWidget-Fail.tid",
    "content": "title: Transclude/CustomWidget/Fail\ndescription: Custom widget failed definition\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n<!-- Attempt to define the <$non-existent-widget> widget by defining a transcludable variable with that name -->\n\\widget $non-existent-widget(one:'Jaguar')\n\\whitespace trim\n<$text text=<<one>>/>\n<$slot $name=\"ts-raw\">\n\tWhale\n</$slot>\n\\end\n<$non-existent-widget one=\"Dingo\">\n\tCrocodile\n</$non-existent-widget>\n<$non-existent-widget one=\"BumbleBee\">\n\tSquirrel\n</$non-existent-widget>\n+\ntitle: ExpectedResult\n\n<p>Undefined widget 'non-existent-widget'Undefined widget 'non-existent-widget'</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/CustomWidget-Override-Codeblock.tid",
    "content": "title: CustomWidget-Override-Codeblock\ndescription: Usage of genesis widget with attributes starting with dollar signs\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\\import Definition\n<$codeblock code=\"Kangaroo\"/>\n<$codeblock code={{Subject}}/>\n<$let test=\"Tiger\">\n<$codeblock code=<<test>>/>\n</$let>\n+\ntitle: Definition\n\n\\whitespace trim\n\\widget $codeblock(code)\n<$genesis $type=\"$codeblock\" $remappable=\"no\" code={{{ [<code>addprefix[£]addsuffix[@]] }}}/>\n\\end\n+\ntitle: Subject\n\nPython\n+\ntitle: ExpectedResult\n\n<p><pre><code>£Kangaroo@</code></pre><pre><code>£Python@</code></pre><pre><code>£Tiger@</code></pre></p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/CustomWidget-OverrideTransclude.tid",
    "content": "title: Transclude/CustomWidget/OverrideTransclude\ndescription: Custom widget definition attempting to override transclude\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n<$transclude $tiddler='TiddlerOne' one='Ferret'>\n</$transclude>\n+\ntitle: TiddlerZero\n\nAntelope\n+\ntitle: TiddlerOne\n\n\\whitespace trim\n<!-- Redefine the <$transclude> widget by defining a transcludable variable with that name -->\n\\widget $transclude(one:'Jaguar')\n\\whitespace trim\n\t<$text text=<<one>>/>\n\t<$slot $name=\"body\">\n\t\tWhale\n\t</$slot>\n\\end\n<$genesis $type=\"$transclude\" $remappable=\"no\" $$tiddler=\"TiddlerZero\">\n\tCrocodile\n</$genesis>\n+\ntitle: ExpectedResult\n\n<p>Antelope</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/CustomWidget-RawAndSlotted.tid",
    "content": "title: Transclude/CustomWidget/RawAndSlotted\ndescription: Custom widget can mix ts-raw and custom slots\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\\widget $my.widget()\n\\whitespace trim\n<$slot $name=\"ts-header\">\n\tDefault Header\n</$slot>\n-\n<$slot $name=\"ts-raw\"/>\n\\end\n<$my.widget>\n\tFirst Body\n</$my.widget>\n\n\n<$my.widget>\n\t<$fill $name=\"ts-header\">\n\t\tCustom Header\n\t</$fill>\n\t<$fill $name=\"ts-never\">\n\t\t<$log RawAndSlotted=\"Transclude/CustomWidget/RawAndSlotted is actually failing. $fill slots are executing silently when they weren't invoked.\" />\n\t</$fill>\n\tSecond Body\n</$my.widget>\n+\ntitle: ExpectedResult\n\n<p>Default Header-First Body</p><p>Custom Header-Second Body</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/CustomWidget-Simple-Indented.tid",
    "content": "title: Transclude/CustomWidget/Simple/Indented\ndescription: Custom widget definition indented\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n<$transclude $tiddler='TiddlerOne' one='Ferret'>\n</$transclude>\n+\ntitle: TiddlerOne\n\n\\whitespace trim\n<!-- Define the <$my.widget> widget by defining a transcludable variable with that name -->\n\t\\widget $my.widget(one:'Jaguar')\n\t\\whitespace trim\n\t<$text text=<<one>>/>\n\t<$slot $name=\"ts-raw\">\n\t\tWhale\n\t</$slot>\n\t\\end\n<$my.widget one=\"Dingo\">\n\tCrocodile\n</$my.widget>\n<$my.widget one=\"BumbleBee\">\n\tSquirrel\n</$my.widget>\n<$my.widget/>\n+\ntitle: ExpectedResult\n\n<p>DingoCrocodileBumbleBeeSquirrelJaguarWhale</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/CustomWidget-Simple.tid",
    "content": "title: Transclude/CustomWidget/Simple\ndescription: Custom widget definition\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n<$transclude $tiddler='TiddlerOne' one='Ferret'>\n</$transclude>\n+\ntitle: TiddlerOne\n\n\\whitespace trim\n<!-- Define the <$my.widget> widget by defining a transcludable variable with that name -->\n\\widget $my.widget(one:'Jaguar')\n\\whitespace trim\n<$text text=<<one>>/>\n<$slot $name=\"ts-raw\">\n\tWhale\n</$slot>\n\\end\n<$my.widget one=\"Dingo\">\n\tCrocodile\n</$my.widget>\n<$my.widget one=\"BumbleBee\">\n\tSquirrel\n</$my.widget>\n<$my.widget/>\n+\ntitle: ExpectedResult\n\n<p>DingoCrocodileBumbleBeeSquirrelJaguarWhale</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/CustomWidget-Slotted-Empty.tid",
    "content": "title: CustomWidget/Slotted/Empty\ndescription: Custom widget with empty slotted values\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\\widget $my.widget()\n<$slot $name=ts-raw>the body is empty</$slot>\n\\end\n\n#<$my.widget/>\n#<$my.widget></$my.widget>\n#<$my.widget>the body is not empty</$my.widget>\n\n+\ntitle: ExpectedResult\n\n<ol><li>the body is empty</li><li>the body is empty</li><li>the body is not empty</li></ol>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/CustomWidget-Slotted.tid",
    "content": "title: Transclude/CustomWidget/Slotted\ndescription: Custom widget definition\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\\widget $my.widget(one:'Jaguar')\n\\whitespace trim\n<$text text=<<one>>/>\n<$slot $name=\"ts-stuff\">\n\tWhale\n</$slot>\n\\end\n<$my.widget one=\"Dingo\">\n\t<$fill $name=\"ts-stuff\">\n\t\tCrocodile\n\t</$fill>\n</$my.widget>\n<$my.widget one=\"BumbleBee\">\n\tSquirrel\n</$my.widget>\n+\ntitle: ExpectedResult\n\n<p>DingoCrocodileBumbleBeeWhale</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/CustomWidget-TextWidgetOverride.tid",
    "content": "title: Transclude/CustomWidget/TextWidgetOverride\ndescription: Custom widget definition redefining the text widget\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n<$transclude $tiddler='TiddlerOne'>\n</$transclude>\n+\ntitle: TiddlerOne\n\n\\whitespace trim\n<!-- Redefining the text widget only works when it is explicitly invoked with the <$text> syntax, and not implicitly via typed text -->\n\\widget $text(text:'Jaguar')\n\\whitespace trim\n<$genesis $type=\"$text\" $remappable=\"no\" text={{{ [<text>addprefix[≤]addsuffix[≥]] }}}/>\n\\end\n\n<$text text=\"Dingo\"/>\n\nCrocodile\n+\ntitle: ExpectedResult\n\n<p>≤Dingo≥≤Jaguar≥</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/CustomWidget-TextWidgetOverrideWithSlot.tid",
    "content": "title: Transclude/CustomWidget/TextWidgetOverrideWithSlot\ndescription: Custom widget definition redefining the text widget\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n<$transclude $tiddler='TiddlerOne'>\n</$transclude>\n+\ntitle: TiddlerOne\n\n\\whitespace trim\n<!-- Redefine the <$text> widget by defining a transcludable variable with that name -->\n\\widget $text(text:'Jaguar')\n\\whitespace trim\n<$genesis $type=\"$text\" $remappable=\"no\" text=<<text>>/>\n<$set name=\"$text\" value=\"\">\n\t<$slot $name=\"ts-raw\">\n\t\tWhale\n\t</$slot>\n</$set>\n\\end\n<$text text=\"Dingo\">\n\tCrocodile\n</$text>\n+\ntitle: ExpectedResult\n\n<p>DingoCrocodile</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/CustomWidget-Unoverride-Codeblock.tid",
    "content": "title: CustomWidget-Unoverride-Codeblock\ndescription: Usage of genesis widget with attributes starting with dollar signs, and unoverriding a core widget\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\\import Definition\n<$let $codeblock=\"\">\n<$codeblock code=\"Kangaroo\"/>\n<$codeblock code={{Subject}}/>\n<$let test=\"Tiger\">\n<$codeblock code=<<test>>/>\n</$let>\n</$let>\n+\ntitle: Definition\n\n\\whitespace trim\n\\widget $codeblock(code)\n<$genesis $type=\"codeblock\" $remappable=\"no\" code={{{ [<code>addprefix[£]addsuffix[@]] }}}/>\n\\end\n+\ntitle: Subject\n\nPython\n+\ntitle: ExpectedResult\n\n<p><pre><code>Kangaroo</code></pre><pre><code>Python</code></pre><pre><code>Tiger</code></pre></p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/CustomWidget-VariableAttribute.tid",
    "content": "title: Transclude/CustomWidget/VariableAttribute\ndescription: Custom widget definition using an attribute called $variable\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n<$transclude $tiddler='TiddlerOne' one='Ferret'>\n</$transclude>\n+\ntitle: TiddlerOne\n\n\\whitespace trim\n<!-- Redefine the <$my.widget> widget by defining a transcludable variable with that name -->\n\\widget $my.widget($variable:'Jaguar')\n\\whitespace trim\n<$text text=<<$variable>>/>\n<$slot $name=\"ts-raw\">\n\tWhale\n</$slot>\n\\end\n<$my.widget $variable=\"Dingo\">\n\tCrocodile\n</$my.widget>\n+\ntitle: ExpectedResult\n\n<p>DingoCrocodile</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/JavaScript-Macro.tid",
    "content": "title: Transclude/Macro/JavaScript\ndescription: Transcluding a javascript macro\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\n<<makedatauri text:\"Wildebeest\" type:\"text/plain\">>\n\n<$macrocall $name=\"makedatauri\" text=\"Wildebeest\" type=\"text/plain\"/>\n\n+\ntitle: ExpectedResult\n\n<p><a class=\"tc-tiddlylink-external\" href=\"data:text/plain,Wildebeest\" rel=\"noopener noreferrer\" target=\"_blank\">data:text/plain,Wildebeest</a></p><p><a class=\"tc-tiddlylink-external\" href=\"data:text/plain,Wildebeest\" rel=\"noopener noreferrer\" target=\"_blank\">data:text/plain,Wildebeest</a></p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/Macro-Missing.tid",
    "content": "title: Transclude/Macro/Missing\ndescription: Transcluding a missing or blank variable\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n<$macrocall $name=\"missingmacro\">\nFallback content\n</$macrocall>\n\n<$transclude $variable=\"missingmacro\">\nFallback content\n</$transclude>\n\n<$macrocall $name=\"\">\nFallback content\n</$macrocall>\n\n<$transclude $variable=\"\">\nFallback content\n</$transclude>\n\n<$let emptyVariable=\"\">\n\n<$macrocall $name=\"emptyVariable\">\nFallback content\n</$macrocall>\n\n<$transclude $variable=\"emptyVariable\">\nFallback content\n</$transclude>\n\n</$let>\n\n+\ntitle: ExpectedResult\n\n<p>Fallback content</p><p>Fallback content</p><p>Fallback content</p><p>Fallback content</p><p>Fallback content</p><p>Fallback content</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/Macro-Plain.tid",
    "content": "title: Transclude/Macro/Plain\ndescription: Transcluding a macro as plain text\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n<$let currentTab=\"Jeremy\">\n<$macrocall $name=\"currentTab\" $type=\"text/plain\" $output=\"text/plain\"/>\n|\n<$transclude $variable=\"currentTab\" $type=\"text/plain\" $output=\"text/plain\"/>\n</$let>\n+\ntitle: ExpectedResult\n\n<p>Jeremy|Jeremy</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/Macro-Simple.tid",
    "content": "title: Transclude/Macro/Simple\ndescription: Transcluding a macro\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\\define mamacro(one:\"red\",two:\"green\")\nIt is $one$ and $two$ or <<__one__>> and <<__two__>>.\n\\end\n\n<$macrocall $name=\"mamacro\"/>\n\n<$transclude $variable=\"mamacro\"/>\n\n<$transclude $variable=\"mamacro\" one=\"orange\"/>\n\n<$transclude $variable=\"mamacro\" 0=\"pink\"/>\n\n<$transclude $variable=\"mamacro\" one=\"purple\" 1=\"pink\"/>\n\n+\ntitle: ExpectedResult\n\n<p>It is red and green or red and green.</p><p>It is red and green or red and green.</p><p>It is orange and green or orange and green.</p><p>It is pink and green or pink and green.</p><p>It is purple and pink or purple and pink.</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/MissingTarget.tid",
    "content": "title: Transclude/MissingTarget\ndescription: Transcluding a missing target\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n<$transclude $tiddler='TiddlerOne' one='Ferret'>\n\t<$parameters one='Ferret'>\n\t\tBadger\n\t\t<$text text=<<one>>/>\n\t</$parameters>\n</$transclude>\n<$transclude $tiddler='TiddlerOne' one='Ferret'>\n\t<$fill $name=\"ts-missing\">\n\t\t<$parameters one='Ferret'>\n\t\t\tBadger\n\t\t\t<$text text=<<one>>/>\n\t\t</$parameters>\n\t</$fill>\n</$transclude>\n<$transclude $tiddler='MissingTiddler' one='Ferret'>\n\t<$parameters one='Ferret'>\n\t\tBadger\n\t\t<$text text=<<one>>/>\n\t</$parameters>\n</$transclude>\n<$transclude $tiddler='MissingTiddler' one='Ferret'>\n\t<$fill $name=\"ts-missing\">\n\t\t<$parameters one='Ferret'>\n\t\t\tBadger\n\t\t\t<$text text=<<one>>/>\n\t\t</$parameters>\n\t</$fill>\n</$transclude>\n+\ntitle: TiddlerOne\n\n\\whitespace trim\n<$parameters one='Kangaroo'>\n\tPiranha\n\t<$text text=<<one>>/>\n</$parameters>\n+\ntitle: ExpectedResult\n\n<p>PiranhaFerretPiranhaFerretBadgerFerretBadgerFerret</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/MissingTiddlerAttribute.tid",
    "content": "title: Transclude/MissingTiddlerAttribute\ndescription: Missing Tiddler Attribute\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n<$tiddler tiddler=\"Data\">\n<$transclude $index=\"testindex\"/>\n-\n{{##testindex}}\n-\n<$transclude $field=\"custom\"/>\n-\n{{!!custom}}\n</$tiddler>\n+\ntitle: Data\ntype: application/x-tiddler-dictionary\ncustom: This is ''wikitext''\n\ntestindex: This is ''wikitext''\n+\ntitle: ExpectedResult\n\n<p>\nThis is <strong>wikitext</strong>\n-\nThis is <strong>wikitext</strong>\n-\nThis is <strong>wikitext</strong>\n-\nThis is <strong>wikitext</strong>\n</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/MissingTiddlerAttributeFiltered.tid",
    "content": "title: Transclude/MissingTiddlerAttributeFiltered\ndescription: Missing Tiddler Attribute Filtered\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n<$transclude tiddler={{{ [[sometiddler]get[nosuchfield]] }}}/>\n-\n<$transclude tiddler=\"\">fallback content</$transclude>\n-\n<$transclude tiddler={{{ [[sometiddler]get[nosuchfield]] }}}>fallback content</$transclude>\n+\ntitle: ExpectedResult\n\n<p>\n-\nfallback content\n-\nfallback content</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/Parameterised-Depth.tid",
    "content": "title: Transclude/Parameterised/Depth\ndescription: Parameterised transclusion using the $depth attribute\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n<$transclude $tiddler='TiddlerOne' one='Ferret'/>\n|\n<$transclude $tiddler='TiddlerOne'/>\n|\n<$transclude $tiddler='TiddlerOne' one='Ferret' $$two=\"Osprey\"/>\n|\n<$transclude $tiddler='TiddlerOne' $$two=\"Falcon\"/>\n+\ntitle: TiddlerOne\n\n\\whitespace trim\n{{TiddlerTwo}}\n+\ntitle: TiddlerTwo\n\n\\whitespace trim\n<$parameters one='Jaguar' $$two='Piranha' $depth=\"2\">\n\t<$text text=<<one>>/>:<$text text=<<$two>>/>\n</$parameters>\n<$parameters one='Leopard' $$two='Coelacanth'>\n\t(<$text text=<<one>>/>|<$text text=<<$two>>/>)\n</$parameters>\n+\ntitle: ExpectedResult\n\n<p>Ferret:Piranha(Leopard|Coelacanth)|Jaguar:Piranha(Leopard|Coelacanth)|Ferret:Osprey(Leopard|Coelacanth)|Jaguar:Falcon(Leopard|Coelacanth)</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/Parameterised-Mode.tid",
    "content": "title: Transclude/Parameterised/Mode\ndescription: Parameterised transclusion using the $parseMode attribute\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\n<$transclude $tiddler='TiddlerOne' one='Ferret'>\n\nThis is a block\n\n</$transclude>\n\n<$transclude $tiddler='TiddlerOne'>\nThis is inline\n</$transclude>\n+\ntitle: TiddlerOne\n\n\\whitespace trim\n<$parameters $parseMode=\"@parseMode\">\n\t<$text text=<<@parseMode>>/>\n</$parameters>\n+\ntitle: ExpectedResult\n\n<p>block</p><p>inline</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/Parameterised-Name-Values.tid",
    "content": "title: Transclude/Parameterised/Name/Values\ndescription: Parameterised transclusion accessing parameters as name/value pairs\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n<$transclude $tiddler=\"TiddlerOne\" 0=\"\" 1=\"\" 2=\"\"/>\n\n{{TiddlerOne}}\n{{TiddlerOne|Ferret}}\n{{TiddlerOne|Butterfly|Moth}}\n{{TiddlerOne|Beetle|Scorpion|Snake}}\n{{TiddlerOne||TiddlerTwo|Beetle|Scorpion|Snake}}\n+\ntitle: TiddlerOne\n\n\\whitespace trim\n<$parameters zero='Jaguar' $$one='Lizard' two='Mole' $params=\"@params\">\n<$list filter=\"[<@params>jsonindexes[]]\">\n{<$text text=<<currentTiddler>>/>: <$text text={{{ [<@params>jsonget<currentTiddler>] }}}/>}\n</$list>\n</$parameters>\n+\ntitle: TiddlerTwo\n\n\\whitespace trim\n\\parameters(zero:'Mouse',$one:'Horse',two:'Owl')\n(<$transclude $tiddler=<<currentTiddler>> zero=<<zero>> $$one=<<$one>> two=<<two>>/>)\n+\ntitle: ExpectedResult\n\n<p>{0:}{1:}{2:}</p><p></p><p>{0:Ferret}</p><p>{0:Butterfly}{1:Moth}</p><p>{0:Beetle}{1:Scorpion}{2:Snake}</p><p>({$one:Scorpion}{two:Snake}{zero:Beetle})</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/Parameterised-ParseTreeNodes.tid",
    "content": "title: Transclude/Parameterised/ParseTreeNodes\ndescription: Parameterised transclusion using the $parseTreeNodes attribute\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\n<$transclude $tiddler='TiddlerOne' one='Ferret'>\n\nThis is a block\n\n</$transclude>\n\n<$transclude $tiddler='TiddlerOne'>\nThis is inline\n</$transclude>\n+\ntitle: TiddlerOne\n\n\\whitespace trim\n<$parameters $parseTreeNodes=\"@parseTreeNodes\">\n\t<$text text=<<@parseTreeNodes>>/>\n</$parameters>\n+\ntitle: ExpectedResult\n\n<p>[{\"type\":\"element\",\"tag\":\"p\",\"children\":[{\"type\":\"text\",\"text\":\"This is a block\",\"start\":68,\"end\":83}],\"start\":68,\"end\":83,\"rule\":\"parseblock\"}]</p><p>[{\"type\":\"text\",\"text\":\"This is inline\",\"start\":136,\"end\":152}]</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/Parameterised-Positional-Shortcut-Parameters.tid",
    "content": "title: Transclude/Parameterised/Positional/Shortcut/Parameters\ndescription: Positional parameterised transclusion using shortcut syntax and parameters pragma\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n{{TiddlerOne}}\n{{TiddlerOne|Ferret}}\n{{TiddlerOne|Butterfly|Moth}}\n{{TiddlerOne|Beetle|Scorpion|Snake}}\n{{TiddlerOne||TiddlerTwo|Beetle|Scorpion|Snake}}\n+\ntitle: TiddlerOne\n\n\\whitespace trim\n\\parameters(zero:Jaguar,one:'Lizard',two:'Mole')\n[{<$text text=<<zero>>/>}{<$text text=<<one>>/>}{<$text text=<<two>>/>}]\n+\ntitle: TiddlerTwo\n\n\\whitespace trim\n\\parameters(zero:'Mouse',one:Horse,two:'Owl')\n(<$transclude $tiddler=<<currentTiddler>> zero=<<zero>> one=<<one>> two=<<two>>/>)\n+\ntitle: ExpectedResult\n\n<p>[{Jaguar}{Lizard}{Mole}]</p><p>[{Ferret}{Lizard}{Mole}]</p><p>[{Butterfly}{Moth}{Mole}]</p><p>[{Beetle}{Scorpion}{Snake}]</p><p>([{Beetle}{Scorpion}{Snake}])</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/Parameterised-Positional-Shortcut.tid",
    "content": "title: Transclude/Parameterised/Positional/Shortcut\ndescription: Positional parameterised transclusion using shortcut syntax\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n{{TiddlerOne}}\n{{TiddlerOne|Ferret}}\n{{TiddlerOne|Butterfly|Moth}}\n{{TiddlerOne|Beetle|Scorpion|Snake}}\n{{TiddlerOne||TiddlerTwo|Beetle|Scorpion|Snake}}\n+\ntitle: TiddlerOne\n\n\\whitespace trim\n<$parameters zero='Jaguar' one='Lizard' two='Mole'>[{<$text text=<<zero>>/>}{<$text text=<<one>>/>}{<$text text=<<two>>/>}]</$parameters>\n+\ntitle: TiddlerTwo\n\n\\whitespace trim\n<$parameters zero='Mouse' one='Horse' two='Owl'>\n(<$transclude $tiddler=<<currentTiddler>> zero=<<zero>> one=<<one>> two=<<two>>/>)\n</$parameters>\n+\ntitle: ExpectedResult\n\n<p>[{Jaguar}{Lizard}{Mole}]</p><p>[{Ferret}{Lizard}{Mole}]</p><p>[{Butterfly}{Moth}{Mole}]</p><p>[{Beetle}{Scorpion}{Snake}]</p><p>([{Beetle}{Scorpion}{Snake}])</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/Parameterised-Positional-Variables.tid",
    "content": "title: Transclude/Parameterised/Positional/Variables\ndescription: Positional parameterised transclusion of variables\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\\function myfunction(alpha:\"apple\",beta:\"banana\",gamma:\"grenadine\") [<alpha>]\n\\define mymacro(alpha:\"apple\",beta:\"banana\",gamma:\"grenadine\") $beta$\n\\function f(a) [<a>]\n\n(Functions:\n<$text text={{{ [<myfunction gamma:\"unused\" f1>] }}}/>\n,\n<$text text=<<myfunction gamma:\"unused\" f1>>/>\n,\n<<myfunction gamma:\"unused\" f1>>\n)(Macros:\n<$text text={{{ [<mymacro gamma:\"unused\" f1>] }}}/>\n,\n<$text text=<<mymacro gamma:\"unused\" f1>>/>\n,\n<<mymacro gamma:\"unused\" f1>>\n)\n\n+\ntitle: ExpectedResult\n\n<p>(Functions:f1,f1,f1)(Macros:banana,banana,banana)</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/Parameterised-Positional.tid",
    "content": "title: Transclude/Parameterised/Positional\ndescription: Positional parameterised transclusion\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n<$transclude $tiddler='TiddlerOne' zero='Ferret'/>\n<$transclude zero='Ferret' $tiddler='TiddlerOne'/>\n<$transclude $tiddler='TiddlerOne' 0='Pigeon'/>\n<$transclude 0='Pigeon' $tiddler='TiddlerOne'/>\n<$transclude $tiddler='TiddlerOne' zero='Ferret' 0='Pigeon'/>\n<$transclude zero='Ferret' 0='Pigeon' $tiddler='TiddlerOne'/>\n<$transclude $tiddler='TiddlerOne'/>\n+\ntitle: TiddlerOne\n\n\\whitespace trim\n<$parameters zero='Jaguar'>\n\t<$text text=<<zero>>/>\n</$parameters>\n+\ntitle: ExpectedResult\n\n<p>FerretFerretPigeonPigeonFerretFerretJaguar</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/Parameterised-Shortcut-Parameters.tid",
    "content": "title: Transclude/Parameterised/Shortcut/Parameters\ndescription: Simple parameterised transclusion using the parameters pragma\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n<$transclude $tiddler='TiddlerOne' one='Ferret'/>\n<$transclude $tiddler='TiddlerOne'/>\n+\ntitle: TiddlerOne\n\n\\whitespace trim\n\\parameters(one:'Jaguar')\n<$text text=<<one>>/>\n+\ntitle: ExpectedResult\n\n<p>FerretJaguar</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/Parameterised-Shortcut-ParametersIndented.tid",
    "content": "title: Transclude/Parameterised/Shortcut/ParametersIndented\ndescription: Simple parameterised transclusion using the parameters pragma (indented)\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n<$transclude $tiddler='TiddlerOne' one='Ferret'/>\n<$transclude $tiddler='TiddlerOne'/>\n+\ntitle: TiddlerOne\n\n\\whitespace trim\n    \\parameters(one:'Jaguar')\n<$text text=<<one>>/>\n+\ntitle: ExpectedResult\n\n<p>FerretJaguar</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/Parameterised-Shortcut.tid",
    "content": "title: Transclude/Parameterised/Shortcut\ndescription: Simple parameterised transclusion\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\\procedure test(one:'Jaguar')\n{<$text text=<<one>>/>}\n\\end\n\n<$transclude $variable='test' one='Ferret'/>\n<$transclude $variable='test'/>\n<<test \"Rat\">>\n<<test one:\"Mouse\">>\n\n+\ntitle: ExpectedResult\n\n<p>{Ferret}{Jaguar}{Rat}{Mouse}</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/Parameterised-Simple.tid",
    "content": "title: Transclude/Parameterised/Simple\ndescription: Simple parameterised transclusion\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n<$transclude $tiddler='TiddlerOne' one='Ferret'/>\n|\n<$transclude $tiddler='TiddlerOne'/>\n|\n<$transclude $tiddler='TiddlerOne' one='Ferret' $$two=\"Osprey\"/>\n|\n<$transclude $tiddler='TiddlerOne' $$two=\"Falcon\"/>\n+\ntitle: TiddlerOne\n\n\\whitespace trim\n<$parameters one='Jaguar' $$two='Piranha'>\n\t<$text text=<<one>>/>:<$text text=<<$two>>/>\n</$parameters>\n+\ntitle: ExpectedResult\n\n<p>Ferret:Piranha|Jaguar:Piranha|Ferret:Osprey|Jaguar:Falcon</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/Parameterised-SlotFillParseTreeNodes.tid",
    "content": "title: Transclude/Parameterised/SlotFillParseTreeNodes\ndescription: Parameterised transclusion using the $slotFillParseTreeNodes attribute\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\n<$transclude $tiddler='TiddlerOne' one='Ferret'>\n<$fill $name=\"one\">This is first</$fill>\n<$fill $name=\"two\">But this is second</$fill>\n</$transclude>\n\n<$transclude $tiddler='TiddlerOne'>\n<$fill $name=\"one\">This is first\n<$fill $name=\"two\">But this is second</$fill></$fill>\n</$transclude>\n+\ntitle: TiddlerOne\n\n\\whitespace trim\n<$parameters $slotFillParseTreeNodes=\"@slotFillParseTreeNodes\">\n\t<$text text={{{ [<@slotFillParseTreeNodes>jsonindexes[]join[,]] }}}/>\n</$parameters>\n+\ntitle: ExpectedResult\n\n<p>one,ts-raw,two</p><p>one,ts-raw</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/Parameterised-Slotted-Missing.tid",
    "content": "title: Transclude/Parameterised/Slotted/Missing\ndescription: Parameterised transclusion with slotted missing values\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n<$transclude $tiddler='TiddlerOne' one='Ferret'>\n</$transclude>\n+\ntitle: TiddlerOne\n\n\\whitespace trim\n<$parameters one='Jaguar'>\n\t<$text text=<<one>>/>\n\t<$slot $name=\"content\">\n\t\tWhale\n\t</$slot>\n</$parameters>\n+\ntitle: ExpectedResult\n\n<p>FerretWhale</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/Parameterised-Slotted.tid",
    "content": "title: Transclude/Parameterised/Slotted\ndescription: Parameterised transclusion with slotted values\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n<$transclude $tiddler='TiddlerOne' one='Ferret'>\n\t<$fill $name=\"content\">\n\t\tHippopotamus\n\t</$fill>\n</$transclude>\n+\ntitle: TiddlerOne\n\n\\whitespace trim\n<$parameters one='Jaguar'>\n\t<$text text=<<one>>/>\n\t<$slot $name=\"content\">\n\t\tWhale\n\t</$slot>\n</$parameters>\n+\ntitle: ExpectedResult\n\n<p>FerretHippopotamus</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/Procedures-Double-Underscore.tid",
    "content": "title: Procedures/Double/Underscore\ndescription: Checking that procedures don't expose parameters as variables wrapped in double underscores\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\\procedure mamacro(one:\"red\",two:\"green\")\nIt is $one$ and $two$<<__one__>><<__two__>>.\n\\end\n\n<$macrocall $name=\"mamacro\"/>\n\n<$transclude $variable=\"mamacro\"/>\n\n<$transclude $variable=\"mamacro\" one=\"orange\"/>\n\n<$transclude $variable=\"mamacro\" 0=\"pink\"/>\n\n<$transclude $variable=\"mamacro\" one=\"purple\" 1=\"pink\"/>\n\n+\ntitle: ExpectedResult\n\n<p>It is $one$ and $two$.</p><p>It is $one$ and $two$.</p><p>It is $one$ and $two$.</p><p>It is $one$ and $two$.</p><p>It is $one$ and $two$.</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/Procedures-Whitespace.tid",
    "content": "title: Transclude/Procedures/Whitespace\ndescription: Procedures should inherit whitespace settings from definition site\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n\\procedure testproc()\nThis is a sentence    \n\\end\n\n\\define testmacro()\nThis is a sentence    \n\\end\nThis is a sentence\n[<<testproc>>]\n[<<testmacro>>]\n\n+\ntitle: ExpectedResult\n\n<p>This is a sentence\n[This is a sentence]\n[This is a sentence    ]</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/Procedures-Whitespace2.tid",
    "content": "title: Transclude/Procedures/Whitespace2\ndescription: Procedures should inherit whitespace settings from definition site\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\procedure testproc()\nThis is a sentence    \n\\end\n\n\\define testmacro()\nThis is a sentence    \n\\end\nThis is a sentence\n[<<testproc>>]\n[<<testmacro>>]\n\n+\ntitle: ExpectedResult\n\n<p>This is a sentence\n[This is a sentence    ]\n[This is a sentence    ]\n</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/Procedures-Whitespace3.tid",
    "content": "title: Transclude/Procedures/Whitespace3\ndescription: Procedures should inherit whitespace settings from definition site\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\import Definitions\n\nThis is a sentence\n[<<testproc>>]\n[<<testmacro>>]\n\n+\ntitle: Definitions\n\n\\procedure testproc()\nThis is a sentence    \n\\end\n\n\\define testmacro()\nThis is a sentence    \n\\end\n+\ntitle: ExpectedResult\n\n<p>This is a sentence\n[This is a sentence    ]\n[This is a sentence    ]\n</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/Recursion.tid",
    "content": "title: Transclude/Recursion\ndescription: Transclusion recursion detection\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n<$transclude $tiddler=\"Output\"/>\n\n+\ntitle: ExpectedResult\n\n<span class=\"tc-error\">Recursive transclusion error in transclude widget</span>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/Typed.tid",
    "content": "title: Transclude/Typed\ndescription: Typed transclusion\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\procedure testproc()\nThis is ''wikitext''\n\\end\n\n<$transclude $variable=\"testproc\"/>\n-\n<$transclude $variable=\"testproc\" $type=\"text/plain\"/>\n\n<$transclude $tiddler=\"Data\" $index=\"testindex\"/>\n-\n<$transclude $tiddler=\"Data\" $index=\"testindex\" $type=\"text/plain\"/>\n\n<$transclude $tiddler=\"Data\" $field=\"custom\"/>\n-\n<$transclude $tiddler=\"Data\" $field=\"custom\" $type=\"text/plain\"/>\n+\ntitle: Data\ntype: application/x-tiddler-dictionary\ncustom: This is ''wikitext''\n\ntestindex: This is ''wikitext''\n+\ntitle: ExpectedResult\n\n<p>This is <strong>wikitext</strong>\n-\n<pre><code>This is ''wikitext''</code></pre></p><p>This is <strong>wikitext</strong>\n-\n<pre><code>This is ''wikitext''</code></pre></p><p>This is <strong>wikitext</strong>\n-\n<pre><code>This is ''wikitext''</code></pre></p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/Variable-Refreshing.tid",
    "content": "title: Transclude/Variable/Refreshing\ndescription: Transcluding and refreshing a function\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\function list-join(filter, sep:\", \") [subfilter<filter>join<sep>]\n\n<$tiddler tiddler=\"TestData\">\n\n<<list-join \"[enlist{!!items}]\">>\n\n</$tiddler>\n\n+\ntitle: TestData\n\n\n+\ntitle: Actions\n\n<$action-setfield $tiddler=\"TestData\" items={{{ [range[10]join[ ]] }}}/>\n+\ntitle: ExpectedResult\n\n<p>1, 2, 3, 4, 5, 6, 7, 8, 9, 10</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/transclude/Variable-Static.tid",
    "content": "title: Transclude/Variable/Static\ndescription: Transcluding a function\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\nitems: 1 2 3 4 5 6 7 8 9 10\n\n\\function list-join(filter, sep:\", \") [subfilter<filter>join<sep>]\n\n<<list-join \"[enlist{!!items}]\">>\n+\ntitle: ExpectedResult\n\n<p>1, 2, 3, 4, 5, 6, 7, 8, 9, 10</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/widgets/DataAttributes/ButtonWidget-DataAttributes.tid",
    "content": "title: Widgets/DataAttributes/ButtonWidget\ndescription: Data Attributes for ButtonWidget\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n<$button tag=\"div\" class=\"myclass\" data-title=\"mytiddler\" style.color=\"red\" onclick=\"clicked\">\nmy tiddler\n</$button>\n<$button tag=\"div\" class=\"myclass\" data-title={{Temp}} style.color={{{ [[Temp]get[color]] }}}>\nhello\n</$button>\n+\ntitle: Actions\n\n<$action-setfield $tiddler=\"Temp\" $field=\"text\" $value=\"Title2\" color=\"red\"/>\n+\ntitle: Temp\ncolor: black\n\nTitle1\n+\ntitle: ExpectedResult\n\n<p><div class=\"myclass\" data-title=\"mytiddler\" style=\"color:red;\">my tiddler</div><div class=\"myclass\" data-title=\"Title2\" style=\"color:red;\">hello</div></p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/widgets/DataAttributes/CheckboxWidget-DataAttributes.tid",
    "content": "title: Widgets/DataAttributes/CheckboxWidget\ndescription: Data Attributes for CheckboxWidget\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n<$checkbox tag=\"done\" data-title={{Temp}} style.color={{{ [[Temp]get[color]] }}} onclick=\"clicked\"> Is it done?</$checkbox>\n+\ntitle: Actions\n\n<$action-setfield $tiddler=\"Temp\" $field=\"text\" $value=\"Title2\" color=\"red\"/>\n+\ntitle: Temp\ncolor: black\n\nTitle1\n+\ntitle: ExpectedResult\n\n<p><label class=\"tc-checkbox \"><input data-title=\"Title2\" type=\"checkbox\" style=\"color:red;\"><span>Is it done?</span></label></p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/widgets/DataAttributes/DraggableWidget-DataAttributes.tid",
    "content": "title: Widgets/DataAttributes/DraggableWidget\ndescription: Data Attributes for DraggableWidget\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n<$draggable tag=\"div\" class=\"myclass\" data-title=\"mytiddler\" style.color=\"red\" onclick=\"clicked\">\nmy tiddler\n</$draggable>\n<$draggable tag=\"div\" class=\"myclass\" data-title={{Temp}} style.color={{{ [[Temp]get[color]] }}}>\nhello\n</$draggable>\n+\ntitle: Actions\n\n<$action-setfield $tiddler=\"Temp\" $field=\"text\" $value=\"Title2\" color=\"red\"/>\n+\ntitle: Temp\ncolor: black\n\nTitle1\n+\ntitle: ExpectedResult\n\n<p><div class=\"myclass tc-draggable\" data-title=\"mytiddler\" draggable=\"true\" style=\"color:red;\">my tiddler</div><div class=\"myclass tc-draggable\" data-title=\"Title2\" draggable=\"true\" style=\"color:red;\">hello</div></p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/widgets/DataAttributes/DroppableWidget-DataAttributes.tid",
    "content": "title: Widgets/DataAttributes/DroppableWidget\ndescription: Data Attributes for DroppableWidget\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n<$droppable tag=\"div\" class=\"myclass\" data-title=\"mytiddler\" style.color=\"red\" onclick=\"clicked\">\nmy tiddler\n</$droppable>\n<$droppable tag=\"div\" class=\"myclass\" data-title={{Temp}} style.color={{{ [[Temp]get[color]] }}}>\nhello\n</$droppable>\n+\ntitle: Actions\n\n<$action-setfield $tiddler=\"Temp\" $field=\"text\" $value=\"Title2\" color=\"red\"/>\n+\ntitle: Temp\ncolor: black\n\nTitle1\n+\ntitle: ExpectedResult\n\n<p><div class=\"myclass tc-droppable\" data-title=\"mytiddler\" style=\"color:red;\">my tiddler</div><div class=\"myclass tc-droppable\" data-title=\"Title2\" style=\"color:red;\">hello</div></p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/widgets/DataAttributes/LinkWidget-DataAttributes.tid",
    "content": "title: Widgets/DataAttributes/LinkWidget\ndescription: Data Attributes for LinkWidget\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n<$link data-id=\"mytiddler\" style.color=\"red\" to=\"Temp\" onclick=\"clicked\">\nlink to Temp\n</$link>\n<$link tag=\"button\" data-id={{Temp}} style.color={{{ [[Temp]get[color]] }}} to=\"SomeTiddler\">\nsome tiddler\n</$link>\n+\ntitle: Actions\n\n<$action-setfield $tiddler=\"Temp\" $field=\"text\" $value=\"Title2\" color=\"red\"/>\n+\ntitle: Temp\ncolor: black\n\nTitle1\n+\ntitle: ExpectedResult\n\n<p><a class=\"tc-tiddlylink tc-tiddlylink-resolves\" data-id=\"mytiddler\" href=\"#Temp\" style=\"color:red;\">link to Temp</a><button class=\"tc-tiddlylink tc-tiddlylink-missing\" data-id=\"Title2\" draggable=\"true\" style=\"color:red;\">some tiddler</button></p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/widgets/DataAttributes/OrderedStyleAttributes.tid",
    "content": "title: Widgets/DataAttributes/OrderedStyleAttributes\ndescription: Ordered style attributes\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n<div style=\"background:red;color:blue;\" style.background=\"green\">\nhello\n</div>\n+\ntitle: ExpectedResult\n\n<p><div style=\"background:green;color:blue;\">hello</div></p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/widgets/DataAttributes/SelectWidget-DataAttributes.tid",
    "content": "title: Widgets/DataAttributes/SelectWidget\ndescription: Data Attributes for SelectWidget\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n<$select tiddler='New Tiddler' class=\"myclass\" field='text' default='Choose a new text' data-title={{Temp}} style.color={{{ [[Temp]get[color]] }}} onclick=\"clicked\">\n<option disabled>Choose a new text</option>\n<option>A Tale of Two Cities</option>\n<option>A New Kind of Science</option>\n<option>The Dice Man</option>\n</$select>\n+\ntitle: Actions\n\n<$action-setfield $tiddler=\"Temp\" $field=\"text\" $value=\"Title2\" color=\"red\"/>\n+\ntitle: Temp\ncolor: black\n\nTitle1\n+\ntitle: ExpectedResult\n\n<p><select class=\"myclass\" data-title=\"Title2\" value=\"Choose a new text\" style=\"color:red;\"><option disabled=\"true\">Choose a new text</option><option>A Tale of Two Cities</option><option>A New Kind of Science</option><option>The Dice Man</option></select></p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/widgets/ElementWidgetEventAttributes.tid",
    "content": "title: Widgets/ElementWidgetEventAttributes\ndescription: Element widget should not support event attributes starting with \"on\"\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n<div class=\"hello\" onclick=\"clicked\">\nTiddlyWiki\n</div>\n+\ntitle: ExpectedResult\n\n<p><div class=\"hello\">TiddlyWiki</div></p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/widgets/ElementWidgetStyleAttributes.tid",
    "content": "title: Widgets/ElementWidgetStyleAttributes\ndescription: Element widget should support style.* attributes\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n<div class=\"hello\" onclick=\"clicked\" style.color=\"blue\" style.color=\"red\" style.background=\"yellow\">\nTiddlyWiki\n</div>\n+\ntitle: ExpectedResult\n\n<p><div class=\"hello\" style=\"color:red;background:yellow;\">TiddlyWiki</div></p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/widgets/ElementWidgetStyleAttributes2.tid",
    "content": "title: Widgets/ElementWidgetCSSCustomProps\ndescription: Element widget should support CSS custom properties\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n<div class=\"hello\" onclick=\"clicked\" style.color=\"blue\" style.color=\"red\" style.background=\"yellow\" --bg-color=\"purple\">\nTiddlyWiki\n</div>\n+\ntitle: ExpectedResult\n\n<p><div class=\"hello\" style=\"color:red;background:yellow;--bg-color:purple;\">TiddlyWiki</div></p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/widgets/LetWidgetSelfReferences.tid",
    "content": "title: Widgets/LetWidgetSelfReferences\ndescription: Test let widget self references\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n<$let default={{{ [[default]is[variable]then[aa]else[bb]] }}} >\n<<default>>\n</$let>\n+\ntitle: ExpectedResult\n\n<p>bb</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/widgets/LetWidgetUndefinedVariable.tid",
    "content": "title: Widgets/LetWidgetUndefinedVariable\ndescription: Test let widget undefined variable\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n<$let test1=<<test>> test2={{{ [<test1>] }}}>\n<<test2>>\n</$let>\n+\ntitle: ExpectedResult\n\n<p></p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/widgets/SubstitutedAttributes.tid",
    "content": "title: Widgets/SubstitutedAttributes\ndescription: Attributes specified as string that should have substitution performed.\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Output\n\n\\whitespace trim\n<$set name=\"var with spaces\" value=\"spaces\">\n<$let project=\"TiddlyWiki\" disabled=\"true\" $tiddler=\"Getting Started\" var-with-dashes=\"dashes\">\n<div class=`$(project)$ \n${ [[Hello]addsuffix[There]] }$` attrib=`myvalue` otherattrib=`$(1)$` blankattrib=`` quoted=\"here\" disabled=```$(disabled)$``` dollar=`p-$($tiddler)$-s` dashes=`$(var-with-dashes)$` spaces=`$(var with spaces)$`>\n</div>\n</$let>\n</$set>\n\n+\ntitle: ExpectedResult\n\n<p><div attrib=\"myvalue\" blankattrib=\"\" class=\"TiddlyWiki \nHelloThere\" dashes=\"dashes\" disabled=\"true\" dollar=\"p-Getting Started-s\" otherattrib=\"\" quoted=\"here\" spaces=\"spaces\"></div></p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/widgets/view/ViewWidget-field-format-text-doubleurlencoded.tid",
    "content": "title: Widgets/ViewWidget/Parameter/field-format-doubleurlencoded\ndescription: Test view-widget parameters tiddler, field and format=*\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: input\n\nSome text > \"aaa\"\n+\ntitle: Output\n\n<$view tiddler=\"input\" field=\"text\" format=\"doubleurlencoded\"/>\n---\n<$view tiddler=\"input\" field=\"text\"/>\n\n+\ntitle: ExpectedResult\n\n<p>Some%2520text%2520%253E%2520%2522aaa%2522\n—\nSome text &gt; \"aaa\"\n</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/widgets/view/ViewWidget-field-format-text-htmlencoded.tid",
    "content": "title: Widgets/ViewWidget/Parameter/field-format-htmlencoded\ndescription: Test view-widget parameters tiddler, field and format=*\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: input\n\nSome text > \"aaa\"\n\n+\ntitle: Output\n\n<$view tiddler=\"input\" field=\"text\" format=\"htmlencoded\"/>\n\n<$view tiddler=\"input\" field=\"text\"/>\n\n+\ntitle: ExpectedResult\n\nSome text &amp;gt; &amp;quot;aaa&amp;quot;\nSome text &gt; \"aaa\"\n"
  },
  {
    "path": "editions/test/tiddlers/tests/data/widgets/view/ViewWidget-field-format-text-htmltextencoded.tid",
    "content": "title: Widgets/ViewWidget/Parameter/field-format-htmltextencoded\ndescription: Test view-widget parameters tiddler, field and format=*\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: input\n\nSome text > \"aaa\"\n\n+\ntitle: Output\n\n<$view tiddler=\"input\" field=\"text\" format=\"htmltextencoded\"/>\n\n<$view tiddler=\"input\" field=\"text\"/>\n\n+\ntitle: ExpectedResult\n\nSome text &amp;gt; \"aaa\"\nSome text &gt; \"aaa\"\n"
  },
  {
    "path": "editions/test/tiddlers/tests/data/widgets/view/ViewWidget-field-format-text-urlencoded.tid",
    "content": "title: Widgets/ViewWidget/Parameter/field-format-urlencoded\ndescription: Test view-widget parameters tiddler, field and format=*\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: input\n\nSome text > \"aaa\"\n+\ntitle: Output\n\n<$view tiddler=\"input\" field=\"text\" format=\"urlencoded\"/>\n---\n<$view tiddler=\"input\" field=\"text\"/>\n\n+\ntitle: ExpectedResult\n\n<p>Some%20text%20%3E%20%22aaa%22\n—\nSome text &gt; \"aaa\"\n</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/widgets/view/ViewWidget-field-format-text.tid",
    "content": "title: Widgets/ViewWidget/Parameter/field-format-text\ndescription: Test view-widget parameters tiddler, field and format=*\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: input\ncaption: [[HelloThere]]\n\nSome text\n+\ntitle: Output\n\n<$view tiddler=\"input\" field=\"caption\" format=\"text\"/>\n\n<$view tiddler=\"input\" field=\"caption\"/>\n+\ntitle: ExpectedResult\n\n[[HelloThere]]<p>[[HelloThere]]</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/widgets/view/ViewWidget-field-index.tid",
    "content": "title: Widgets/ViewWidget/Parameter/field-index\ndescription: Test view-widget parameters index type=application/json and type=application/x-tiddler-dictionary\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: input\ntype: application/x-tiddler-dictionary\n\n01: value 01\n02: value 02\n+\ntitle: input-json\ntype: application/json\n\n{\n\t\"01\": \"value 01\",\n\t\"02\": \"value 02\"\n}\n+\ntitle: Output\n\n<$view tiddler=\"input-json\" index=\"01\"/>\n\n<$view tiddler=\"input\" index=\"02\"/>\n+\ntitle: ExpectedResult\n\nvalue 01<p>value 02</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/widgets/view/ViewWidget-field-text.tid",
    "content": "title: Widgets/ViewWidget/Parameter/field-text\ndescription: Test view-widget parameters tiddler and field=text\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: input\n\nSome text\n+\ntitle: Output\n\n<$view tiddler=\"input\" field=\"text\"/>\n\n<$view tiddler=\"input\" />\n+\ntitle: ExpectedResult\n\nSome text<p>Some text</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/data/widgets/view/ViewWidget-field-title.tid",
    "content": "title: Widgets/ViewWidget/Parameter/field-title\ndescription: Test view-widget parameters tiddler and field=title\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: input\n\nSome text\n+\ntitle: Output\n\n<$view tiddler=\"input\" field=\"title\"/>\n\n+\ntitle: ExpectedResult\n\ninput"
  },
  {
    "path": "editions/test/tiddlers/tests/data/widgets/view/ViewWidget-format-date-template.tid",
    "content": "title: Widgets/ViewWidget/Parameter/format-data-template\ndescription: Test view-widget parameters format, date and template\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: input\nmodified: 20240920162221000\n\nSome text\n+\ntitle: Output\n\n<!-- This can not be tested atm, since test-server timezone can be different\n<$view tiddler=\"input\" field=\"modified\" format=\"date\"/>\n-->\n<$view tiddler=\"input\" field=\"modified\" format=\"date\" template=\"[UTC]DDth MMM YYYY at hh12:0mmam\"/>\n+\ntitle: ExpectedResult\n\n<p>20th September 2024 at 4:22pm</p>"
  },
  {
    "path": "editions/test/tiddlers/tests/from-tw5.com/tiddlywiki.files",
    "content": "{\n\t\"directories\": [\n\t\t\"../../../../tw5.com/tiddlers/testcases\"\n\t]\n}"
  },
  {
    "path": "editions/test/tiddlers/tests/modules/utils/test-csv.js",
    "content": "/*\\\ntitle: modules/utils/test-csv.js\ntype: application/javascript\ntags: [[$:/tags/test-spec]]\n\nTests the backlinks mechanism.\n\n\\*/\n\"use strict\";\n\ndescribe(\"CSV Parsing\", function() {\n\tvar tid = $tw.wiki.getTiddler(\"csv-cases\");\n\tvar testCases = JSON.parse(tid.fields.text);\n\t\n\t$tw.utils.each(testCases, function(testCase) {\n\t\tif(testCase.skip) {\n\t\t\treturn;\n\t\t}\n\t\tit(\"Test case: \" + testCase.name, function() {\n\t\t\tvar parsedCsv = $tw.utils.parseCsvString(testCase.csv, testCase.options);\n\t\t\texpect(parsedCsv).withContext(\"The generated CSV should match the expected one\").toEqual(testCase.json);\n\t\t\t\n\t\t\tvar parsedCsvWithHeaders = $tw.utils.parseCsvStringWithHeader(testCase.csv, testCase.options);\n\t\t\texpect(parsedCsvWithHeaders).withContext(\"The generated CSV with headers should match the expected one\").toEqual(testCase.jsonWithHeaders);\n\t\t});\n\t});\n\t\n});\n"
  },
  {
    "path": "editions/test/tiddlers/tests/test-action-deletefield.js",
    "content": "/*\\\ntitle: test-action-deletefield.js\ntype: application/javascript\ntags: [[$:/tags/test-spec]]\n\nTests <$action-deletefield />.\n\n\\*/\n\"use strict\";\n\ndescribe(\"<$action-deletefield /> tests\", function() {\n\n\tconst TEST_TIDDLER_TITLE = \"TargetTiddler\";\n\tconst TEST_TIDDLER_MODIFIED = \"20240313114828368\";\n\n\tfunction setupWiki(condition, targetField, wikiOptions) {\n\t// Create a wiki\n\t\tvar wiki = new $tw.Wiki({});\n\t\tvar tiddlers = [{\n\t\t\ttitle: \"Root\",\n\t\t\ttext: \"Some dummy content\"\n\t\t}];\n\t\tvar tiddler;\n\t\tif(condition.targetTiddlerExists) {\n\t\t\tvar fields = {\n\t\t\t\ttitle: TEST_TIDDLER_TITLE,\n\t\t\t};\n\t\t\tif(condition.modifiedFieldExists) {\n\t\t\t\tfields.modified = TEST_TIDDLER_MODIFIED;\n\t\t\t}\n\t\t\tif(condition.targetFieldExists) {\n\t\t\t\tfields[targetField] = \"some text\";\n\t\t\t}\n\t\t\tvar tiddler = new $tw.Tiddler(fields);\n\t\t\ttiddlers.push(tiddler);\n\t\t}\n\t\twiki.addTiddlers(tiddlers);\n\t\twiki.addIndexersToWiki();\n\t\tvar widgetNode = wiki.makeTranscludeWidget(\"Root\",{document: $tw.fakeDocument, parseAsInline: true});\n\t\tvar container = $tw.fakeDocument.createElement(\"div\");\n\t\twidgetNode.render(container,null);\n\t\treturn {\n\t\t\twiki: wiki,\n\t\t\twidgetNode: widgetNode,\n\t\t\tcontaienr: container,\n\t\t\ttiddler: tiddler,\n\t\t};\n\t}\n\n\tfunction generateTestConditions() {\n\t\tvar conditions = [];\n\n\t\t$tw.utils.each([true, false], function(tiddlerArgumentIsPresent) {\n\t\t\t$tw.utils.each([true, false], function(targetTiddlerExists) {\n\t\t\t\t$tw.utils.each([true, false], function(targetFieldExists) {\n\t\t\t\t\t$tw.utils.each([true, false], function(fieldArgumentIsUsed) {\n\t\t\t\t\t\t$tw.utils.each([true, false], function(modifiedFieldExists) {\n\t\t\t\t\t\t\t$tw.utils.each([\"\", \"yes\", \"no\"], function(timestampArgument) {\n\t\t\t\t\t\t\t\tconditions.push({\n\t\t\t\t\t\t\t\t\ttiddlerArgumentIsPresent: tiddlerArgumentIsPresent,\n\t\t\t\t\t\t\t\t\ttargetTiddlerExists: targetTiddlerExists,\n\t\t\t\t\t\t\t\t\ttargetFieldExists: targetFieldExists,\n\t\t\t\t\t\t\t\t\tfieldArgumentIsUsed: fieldArgumentIsUsed,\n\t\t\t\t\t\t\t\t\tmodifiedFieldExists: modifiedFieldExists,\n\t\t\t\t\t\t\t\t\ttimestampArgument: timestampArgument,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\n\t\treturn conditions;\n\t}\n\n\tfunction generateActionWikitext(condition, targetField) {\n\t\tvar actionPieces = [\n\t\t\t\"<$action-deletefield\",\n\t\t\t(condition.tiddlerArgumentIsPresent ? \"$tiddler='\" + TEST_TIDDLER_TITLE + \"'\" : \"\"),\n\t\t\t(condition.fieldArgumentIsUsed ? \"$field='\" + targetField + \"'\" : targetField),\n\t\t\t(condition.timestampArgument !== \"\" ? \"$timestamp='\" + condition.timestampArgument + \"'\" : \"\"),\n\t\t\t\"/>\",\n\t\t];\n\n\t\treturn actionPieces.join(\" \");\n\t}\n\n\tfunction generateTestContext(action, tiddler) {\n\t\tvar expectationContext = \"action: \" + action + \"\\ntiddler:\\n\\n\";\n\t\tif(tiddler) {\n\t\t\texpectationContext += tiddler.getFieldStringBlock({exclude: [\"text\"]});\n\t\t\tif(tiddler.text) {\n\t\t\t\texpectationContext += \"\\n\\n\" + tiddler.text;\n\t\t\t}\n\t\t\texpectationContext += \"\\n\\n\";\n\t\t} else {\n\t\t\texpectationContext += \"null\";\n\t\t}\n\n\t\treturn expectationContext;\n\t}\n\n\tit(\"should correctly delete fields\", function() {\n\t\tvar fields = [\"caption\", \"description\", \"text\"];\n\n\t\tvar conditions = generateTestConditions();\n\n\t\t$tw.utils.each(conditions, function(condition) {\n\t\t\t$tw.utils.each(fields, function(field) {\n\t\t\t\tvar info = setupWiki(condition, field);\n\t\t\t\tvar originalTiddler = info.tiddler;\n\n\t\t\t\tvar invokeActions = function(actions) {\n\t\t\t\t\tinfo.widgetNode.invokeActionString(actions,info.widgetNode,null,{\n\t\t\t\t\t\tcurrentTiddler: TEST_TIDDLER_TITLE,\n\t\t\t\t\t});\n\t\t\t\t};\n\n\t\t\t\tvar action = generateActionWikitext(condition,field);\n\n\t\t\t\tinvokeActions(action);\n\n\t\t\t\tvar testContext = generateTestContext(action,originalTiddler);\n\n\t\t\t\tvar tiddler = info.wiki.getTiddler(TEST_TIDDLER_TITLE);\n\t\t\t\tif(originalTiddler) {\n\t\t\t\t// assert that the tiddler doesn't have the target field anymore\n\t\t\t\t\texpect(tiddler.hasField(field)).withContext(testContext).toBeFalsy();\n\n\t\t\t\t\tvar targetFieldWasPresent = originalTiddler.hasField(field);\n\t\t\t\t\tvar updateTimestamps = condition.timestampArgument !== \"no\";\n\n\t\t\t\t\t// \"created\" should exist if it did beforehand, or if the tiddler changed and we asked the widget to update timestamps\n\t\t\t\t\tvar createdFieldShouldExist = originalTiddler.hasField(\"created\") || (targetFieldWasPresent && updateTimestamps);\n\n\t\t\t\t\t// \"created\" should change only if it didn't exist beforehand and the tiddler changed and we asked the widget to update timestamps\n\t\t\t\t\tvar createdFieldShouldChange = !originalTiddler.hasField(\"created\") && (targetFieldWasPresent && updateTimestamps);\n\n\t\t\t\t\t// \"modified\" should exist if it did beforehand, or if the tiddler changed and we asked the widget to update timestamps\n\t\t\t\t\tvar modifiedFieldShouldExist = originalTiddler.hasField(\"modified\") || (targetFieldWasPresent && updateTimestamps);\n\n\t\t\t\t\t// \"modified\" should change if the tiddler changed and we asked the widget to update timestamps\n\t\t\t\t\tvar modifiedFieldShouldChange = targetFieldWasPresent && updateTimestamps;\n\n\t\t\t\t\texpect(tiddler.hasField(\"created\")).withContext(testContext).toBe(createdFieldShouldExist);\n\t\t\t\t\texpect(tiddler.hasField(\"modified\")).withContext(testContext).toBe(modifiedFieldShouldExist);\n\n\t\t\t\t\tif(createdFieldShouldChange) {\n\t\t\t\t\t\texpect(tiddler.fields.created).withContext(testContext).not.toEqual(originalTiddler.fields.created);\n\t\t\t\t\t} else {\n\t\t\t\t\t\texpect(tiddler.fields.created).withContext(testContext).toEqual(originalTiddler.fields.created);\n\t\t\t\t\t}\n\n\t\t\t\t\tif(modifiedFieldShouldChange) {\n\t\t\t\t\t\texpect(tiddler.fields.modified).withContext(testContext).not.toEqual(originalTiddler.fields.modified);\n\t\t\t\t\t} else {\n\t\t\t\t\t\texpect(tiddler.fields.modified).withContext(testContext).toEqual(originalTiddler.fields.modified);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t// assert that the tiddler didn't get created if it didn't exist already\n\t\t\t\t\texpect(tiddler).withContext(testContext).toBeUndefined();\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t});\n\n});\n"
  },
  {
    "path": "editions/test/tiddlers/tests/test-action-widgets.js",
    "content": "/*\\\ntitle: test-action-widgets.js\ntype: application/javascript\ntags: [[$:/tags/test-spec]]\n\nTests the action widgets.\n\n\\*/\n\n/* eslint-env node, browser, jasmine */\n/* eslint no-mixed-spaces-and-tabs: [\"error\", \"smart-tabs\"]*/\n\"use strict\";\n\ndescribe(\"Action widget tests\", function() {\n\n\tfunction setupWiki(wikiOptions) {\n\t\twikiOptions = wikiOptions || {};\n\t\t// Create a wiki\n\t\tvar wiki = new $tw.Wiki(wikiOptions);\n\t\tvar tiddlers = [{\n\t\t\ttitle: \"Root\",\n\t\t\ttext: \"Some dummy content\"\n\t\t}];\n\t\twiki.addTiddlers(tiddlers);\n\t\twiki.addIndexersToWiki();\n\t\tvar widgetNode = wiki.makeTranscludeWidget(\"Root\",{document: $tw.fakeDocument, parseAsInline: true});\n\t\tvar container = $tw.fakeDocument.createElement(\"div\");\n\t\twidgetNode.render(container,null);\n\t\treturn {\n\t\t\twiki: wiki,\n\t\t\twidgetNode: widgetNode,\n\t\t\tcontaienr: container\n\t\t};\n\t}\n\n\tit(\"should handle the action-setfield widget\", function() {\n\t\tvar info = setupWiki();\n\t\tvar invokeActions = function(actions) {\n\t\t\tinfo.widgetNode.invokeActionString(actions,info.widgetNode,null,{});\n\t\t};\n\t\tvar resetTiddlers = function() {\n\t\t\tinfo.wiki.addTiddlers([\n\t\t\t\t{\n\t\t\t\t\ttitle: \"Output\",\n\t\t\t\t\ttext: \"Elephants!\"\n\t\t\t\t},{\n\t\t\t\t\ttitle: \"Root\",\n\t\t\t\t\ttext: \"Eagles!\"\n\t\t\t\t}\n\t\t\t]);\n\t\t};\n\t\t// Start with a reset\n\t\tresetTiddlers();\n\t\t// Check it\n\t\texpect(info.wiki.getTiddlerText(\"Output\")).toBe(\"Elephants!\");\n\t\texpect(info.wiki.getTiddlerText(\"Root\")).toBe(\"Eagles!\");\n\t\t// Missing $tiddler attribute\n\t\tresetTiddlers();\n\t\tinvokeActions(\"<$tiddler tiddler='Root'><$action-setfield $field='text' $value='Hippos!'/></$tiddler>\");\n\t\texpect(info.wiki.getTiddlerText(\"Output\")).toBe(\"Elephants!\");\n\t\texpect(info.wiki.getTiddlerText(\"Root\")).toBe(\"Hippos!\");\n\t\t// Blank $tiddler attribute\n\t\tresetTiddlers();\n\t\tinvokeActions(\"<$tiddler tiddler='Root'><$action-setfield $tiddler='' $field='text' $value='Koalas!'/></$tiddler>\");\n\t\texpect(info.wiki.getTiddlerText(\"Output\")).toBe(\"Elephants!\");\n\t\texpect(info.wiki.getTiddlerText(\"Root\")).toBe(\"Eagles!\");\n\t\t// Empty $tiddler attribute\n\t\tresetTiddlers();\n\t\tinvokeActions(\"<$tiddler tiddler='Root'><$action-setfield $tiddler={{{}}} $field='text' $value='Sharks!'/></$tiddler>\");\n\t\texpect(info.wiki.getTiddlerText(\"Output\")).toBe(\"Elephants!\");\n\t\texpect(info.wiki.getTiddlerText(\"Root\")).toBe(\"Eagles!\");\n\t\t// Missing variable attribute\n\t\tresetTiddlers();\n\t\tinvokeActions(\"<$tiddler tiddler='Root'><$action-setfield $tiddler=<<missing>> $field='text' $value='Tigers!'/></$tiddler>\");\n\t\texpect(info.wiki.getTiddlerText(\"Output\")).toBe(\"Elephants!\");\n\t\texpect(info.wiki.getTiddlerText(\"Root\")).toBe(\"Eagles!\");\n\t});\n\n\tit(\"should handle the action-listops widget\", function() {\n\t\tvar info = setupWiki();\n\t\tvar invokeActions = function(actions) {\n\t\t\tinfo.widgetNode.invokeActionString(actions,info.widgetNode,null,{});\n\t\t};\n\t\tinvokeActions(\"<$action-setfield $tiddler='Output' $field='text' $value='Elephants!'/>\");\n\t\texpect(info.wiki.getTiddlerText(\"Output\")).toBe(\"Elephants!\");\n\t\tinvokeActions(\"<$action-listops  $tiddler='Output' $field='text' $subfilter='+[toggle[-3]]'/>\");\n\t\texpect(info.wiki.getTiddlerText(\"Output\")).toBe(\"Elephants! -3\");\n\t\tinvokeActions(\"<$action-listops  $tiddler='Output' $field='text' $subfilter='+[toggle[-3]]'/>\");\n\t\texpect(info.wiki.getTiddlerText(\"Output\")).toBe(\"Elephants!\");\n\t});\n\n});\n\n"
  },
  {
    "path": "editions/test/tiddlers/tests/test-backlinks.js",
    "content": "/*\\\ntitle: test-backlinks.js\ntype: application/javascript\ntags: [[$:/tags/test-spec]]\n\nTests the backlinks mechanism.\n\n\\*/\n\"use strict\";\n\ndescribe(\"Backlinks tests\", function() {\n\tfunction setupWiki(wikiOptions) {\n\t\twikiOptions = wikiOptions || {};\n\t\t// Create a wiki\n\t\tvar wiki = new $tw.Wiki(wikiOptions);\n\t\twiki.addIndexersToWiki();\n\n\t\twiki.addTiddler({\n\t\t\ttitle: \"TestIncoming\",\n\t\t\ttext: \"\",\n\t\t});\n\t\t\n\t\twiki.addTiddler({\n\t\t\ttitle: \"TestOutgoing\",\n\t\t\ttext: \"A link to [[TestIncoming]]\",\n\t\t});\n\t\treturn wiki;\n\t}\n\n\tdescribe(\"a tiddler with no links to it\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\n\t\twiki.addTiddler({\n\t\t\ttitle: \"TestIncoming\",\n\t\t\ttext: \"\"});\n\n\t\tit(\"should have no backlinks\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"TestIncoming +[backlinks[]]\").join(\",\")).toBe(\"\");\n\t\t});\n\t});\n\n\tdescribe(\"A tiddler added to the wiki with a link to it\", function() {\n\t\tvar wiki = setupWiki();\n\n\t\tit(\"should have a backlink\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"TestIncoming +[backlinks[]]\").join(\",\")).toBe(\"TestOutgoing\");\n\t\t});\n\t});\n\n\tdescribe(\"A tiddler that has a link added to it later\", function() {\n\t\tit(\"should have an additional backlink\", function() {\n\t\t\tvar wiki = setupWiki();\n\n\t\t\twiki.addTiddler({\n\t\t\t\ttitle: \"TestOutgoing2\",\n\t\t\t\ttext: \"Nothing yet!\"});\n\n\t\t\texpect(wiki.filterTiddlers(\"TestIncoming +[backlinks[]]\").join(\",\")).toBe(\"TestOutgoing\");\n\n\t\t\twiki.addTiddler({\n\t\t\t\ttitle: \"TestOutgoing2\",\n\t\t\t\ttext: \"Updated with link to [[TestIncoming]]\"});\n\n\t\t\texpect(wiki.filterTiddlers(\"TestIncoming +[backlinks[]]\").join(\",\")).toBe(\"TestOutgoing,TestOutgoing2\");\n\t\t});\n\t});\n\n\tdescribe(\"A tiddler that has a link remove from it later\", function() {\n\t\tvar wiki = setupWiki();\n\n\t\tit(\"should have one fewer backlink\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"TestIncoming +[backlinks[]]\").join(\",\")).toBe(\"TestOutgoing\");\n\n\t\t\twiki.addTiddler({\n\t\t\t\ttitle: \"TestOutgoing\",\n\t\t\t\ttext: \"No link to ~TestIncoming\"});\n\n\t\t\texpect(wiki.filterTiddlers(\"TestIncoming +[backlinks[]]\").join(\",\")).toBe(\"\");\n\t\t});\n\t});\n\n\tdescribe(\"A tiddler linking to another that gets renamed\", function() {\n\t\tvar wiki = setupWiki();\n\n\t\tit(\"should have its name changed in the backlinks\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"TestIncoming +[backlinks[]]\").join(\",\")).toBe(\"TestOutgoing\");\n\n\t\t\twiki.renameTiddler(\"TestOutgoing\", \"TestExtroverted\");\n\n\t\t\texpect(wiki.filterTiddlers(\"TestIncoming +[backlinks[]]\").join(\",\")).toBe(\"TestExtroverted\");\n\t\t});\n\t});\n\n\tdescribe(\"A tiddler linking to another that gets deleted\", function() {\n\t\tvar wiki = setupWiki();\n\n\t\tit(\"should be removed from backlinks\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"TestIncoming +[backlinks[]]\").join(\",\")).toBe(\"TestOutgoing\");\n\n\t\t\twiki.deleteTiddler(\"TestOutgoing\");\n\n\t\t\texpect(wiki.filterTiddlers(\"TestIncoming +[backlinks[]]\").join(\",\")).toBe(\"\");\n\t\t});\n\t});\n\n\tdescribe(\"Binary tiddlers should not be parsed\", function() {\n\t\tvar wiki = setupWiki();\n\n\t\twiki.addTiddler({\n\t\t\ttitle: \"TestDoc.doc\",\n\t\t\ttext: \"A link to [[TestOutgoing]]\",\n\t\t\ttype: \"application/msword\"\n\t\t});\n\n\t\twiki.addTiddler({\n\t\t\ttitle: \"TestExcel.xls\",\n\t\t\ttext: \"A link to [[TestOutgoing]]\",\n\t\t\ttype: \"application/excel\"\n\t\t});\n\n\t\twiki.addTiddler({\n\t\t\ttitle: \"TestOutgoing\",\n\t\t\ttext: \"Some links to [[TestDoc.doc]] and [[TestExcel.xls]].\"\n\t\t});\n\n\t\tit(\"should ignore office files\", function() {\n\t\t\texpect(wiki.getIndexer(\"BackIndexer\").subIndexers.link._getTarget(wiki.getTiddler(\"TestExcel.xls\"))).toEqual([]);\n\n\t\t\texpect(wiki.filterTiddlers(\"[all[]] +[backlinks[]]\").join(\",\")).toBe(\"TestOutgoing\");\n\t\t\t\n\t\t\t// make it tw5 tiddler\n\t\t\twiki.addTiddler({\n\t\t\t\ttitle: \"TestExcel.xls\",\n\t\t\t\ttext: \"A link to [[TestOutgoing]]\"\n\t\t\t});\n\n\t\t\texpect(wiki.filterTiddlers(\"[all[]] +[backlinks[]]\").join(\",\")).toBe(\"TestOutgoing,TestExcel.xls\");\n\t\t});\n\t});\n});\n"
  },
  {
    "path": "editions/test/tiddlers/tests/test-backtranscludes.js",
    "content": "/*\\\ntitle: test-backtranscludes.js\ntype: application/javascript\ntags: $:/tags/test-spec\n\nTests the backtranscludes mechanism.\n\n\\*/\n\"use strict\";\n\ndescribe(\"Backtranscludes and transclude filter tests\", function() {\n\tdescribe(\"a tiddler with no transcludes to it\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\n\t\twiki.addTiddler({\n\t\t\ttitle: \"TestIncoming\",\n\t\t\ttext: \"\"});\n\n\t\tit(\"should have no backtranscludes\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"TestIncoming +[backtranscludes[]]\").join(\",\")).toBe(\"\");\n\t\t});\n\t\tit(\"should have no transcludes\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"TestIncoming +[transcludes[]]\").join(\",\")).toBe(\"\");\n\t\t});\n\t});\n\n\tdescribe(\"A tiddler added to the wiki with a transclude to it\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\n\t\twiki.addTiddler({\n\t\t\ttitle: \"TestIncoming\",\n\t\t\ttext: \"something\"});\n\n\t\twiki.addTiddler({\n\t\t\ttitle: \"TestOutgoing\",\n\t\t\ttext: \"A transclude to {{TestIncoming}}\"});\n\n\t\tit(\"should have a backtransclude\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"TestIncoming +[backtranscludes[]]\").join(\",\")).toBe(\"TestOutgoing\");\n\t\t});\n\t\tit(\"should have a transclude\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"TestOutgoing +[transcludes[]]\").join(\",\")).toBe(\"TestIncoming\");\n\t\t});\n\t});\n\n\tdescribe(\"A tiddler transclude with template will still use the tiddler as result.\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\n\t\twiki.addTiddler({\n\t\t\ttitle: \"TestIncoming\",\n\t\t\ttext: \"something\"});\n\n\t\twiki.addTiddler({\n\t\t\ttitle: \"TestOutgoing\",\n\t\t\ttext: \"A transclude to {{TestIncoming||$:/core/ui/TagTemplate}}\"});\n\n\t\tit(\"should have a backtransclude\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"TestIncoming +[backtranscludes[]]\").join(\",\")).toBe(\"TestOutgoing\");\n\t\t});\n\t});\n\n\tdescribe(\"A data tiddler transclude will still use the tiddler as result.\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\n\t\twiki.addTiddler({\n\t\t\ttitle: \"TestIncoming\",\n\t\t\ttype: \"application/x-tiddler-dictionary\",\n\t\t\ttext: \"name: value\"});\n\n\t\twiki.addTiddler({\n\t\t\ttitle: \"TestOutgoing\",\n\t\t\ttext: \"A transclude to {{TestIncoming##name}}\"});\n\n\t\tit(\"should have a backtransclude\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"TestIncoming +[backtranscludes[]]\").join(\",\")).toBe(\"TestOutgoing\");\n\t\t});\n\t\tit(\"should have a transclude\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"TestOutgoing +[transcludes[]]\").join(\",\")).toBe(\"TestIncoming\");\n\t\t});\n\t});\n\n\tdescribe(\"A tiddler that has a transclude added to it later\", function() {\n\t\tit(\"should have an additional backtransclude\", function() {\n\t\t\tvar wiki = new $tw.Wiki();\n\n\t\t\twiki.addTiddler({\n\t\t\t\ttitle: \"TestIncoming\",\n\t\t\t\ttext: \"\"});\n\n\t\t\twiki.addTiddler({\n\t\t\t\ttitle: \"TestOutgoing\",\n\t\t\t\ttext: \"A transclude to {{TestIncoming}}\"});\n\n\t\t\twiki.addTiddler({\n\t\t\t\ttitle: \"TestOutgoing2\",\n\t\t\t\ttext: \"Nothing yet!\"});\n\n\t\t\texpect(wiki.filterTiddlers(\"TestIncoming +[backtranscludes[]]\").join(\",\")).toBe(\"TestOutgoing\");\n\n\t\t\twiki.addTiddler({\n\t\t\t\ttitle: \"TestOutgoing2\",\n\t\t\t\ttext: \"Updated with transclude to {{TestIncoming}}\"});\n\n\t\t\texpect(wiki.filterTiddlers(\"TestIncoming +[backtranscludes[]]\").join(\",\")).toBe(\"TestOutgoing,TestOutgoing2\");\n\t\t});\n\t});\n\n\tdescribe(\"A tiddler that has a transclude remove from it later\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\n\t\twiki.addTiddler({\n\t\t\ttitle: \"TestIncoming\",\n\t\t\ttext: \"\"});\n\n\t\twiki.addTiddler({\n\t\t\ttitle: \"TestOutgoing\",\n\t\t\ttext: \"A transclude to {{TestIncoming}}\"});\n\n\t\tit(\"should have one fewer backtransclude\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"TestIncoming +[backtranscludes[]]\").join(\",\")).toBe(\"TestOutgoing\");\n\n\t\t\twiki.addTiddler({\n\t\t\t\ttitle: \"TestOutgoing\",\n\t\t\t\ttext: \"No transclude to ~TestIncoming\"});\n\n\t\t\texpect(wiki.filterTiddlers(\"TestIncoming +[backtranscludes[]]\").join(\",\")).toBe(\"\");\n\t\t});\n\t});\n\n\tdescribe(\"A tiddler transcludeing to another that gets renamed\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\n\t\twiki.addTiddler({\n\t\t\ttitle: \"TestIncoming\",\n\t\t\ttext: \"\"});\n\n\t\twiki.addTiddler({\n\t\t\ttitle: \"TestOutgoing\",\n\t\t\ttext: \"A transclude to {{TestIncoming}}\"});\n\n\t\tit(\"should have its name changed in the backtranscludes\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"TestIncoming +[backtranscludes[]]\").join(\",\")).toBe(\"TestOutgoing\");\n\n\t\t\twiki.renameTiddler(\"TestOutgoing\", \"TestExtroverted\");\n\n\t\t\texpect(wiki.filterTiddlers(\"TestIncoming +[backtranscludes[]]\").join(\",\")).toBe(\"TestExtroverted\");\n\t\t});\n\t});\n\n\tdescribe(\"A tiddler transcludeing to another that gets deleted\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\n\t\twiki.addTiddler({\n\t\t\ttitle: \"TestIncoming\",\n\t\t\ttext: \"\"});\n\n\t\twiki.addTiddler({\n\t\t\ttitle: \"TestOutgoing\",\n\t\t\ttext: \"A transclude to {{TestIncoming}}\"});\n\n\t\tit(\"should be removed from backtranscludes\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"TestIncoming +[backtranscludes[]]\").join(\",\")).toBe(\"TestOutgoing\");\n\n\t\t\twiki.deleteTiddler(\"TestOutgoing\");\n\n\t\t\texpect(wiki.filterTiddlers(\"TestIncoming +[backtranscludes[]]\").join(\",\")).toBe(\"\");\n\t\t});\n\t});\n\n\tdescribe(\"a tiddler with some transcludes on it in order\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\n\t\twiki.addTiddler({\n\t\t\ttitle: \"TestOutgoing\",\n\t\t\ttext: \"{{New Tiddler!!created}}\\n\\nA transclude to {{TestIncoming}}\"\n\t\t});\n\n\t\tit(\"should have a transclude\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"TestOutgoing +[transcludes[]]\").join(\",\")).toBe(\"New Tiddler,TestIncoming\");\n\t\t});\n\n\t\tit(\"should have a back transclude\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"TestIncoming +[backtranscludes[]]\").join(\",\")).toBe(\"TestOutgoing\");\n\t\t\texpect(wiki.filterTiddlers(\"[[New Tiddler]] +[backtranscludes[]]\").join(\",\")).toBe(\"TestOutgoing\");\n\t\t});\n\t});\n\n\tdescribe(\"include implicit self transclusion\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\n\t\twiki.addTiddler({\n\t\t\ttitle: \"TestOutgoing\",\n\t\t\ttext: \"{{!!created}}\\n\\nAn implicit self-referential transclude to <$transclude $field='created'/> and <$transclude field='created'/>\"});\n\n\t\tit(\"should have no transclude\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"TestOutgoing +[transcludes[]]\").join(\",\")).toBe(\"TestOutgoing\");\n\t\t});\n\n\t\tit(\"should have no back transcludes\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"TestOutgoing +[backtranscludes[]]\").join(\",\")).toBe(\"TestOutgoing\");\n\t\t});\n\t});\n\n\tdescribe(\"include explicit self transclusion\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\n\t\twiki.addTiddler({\n\t\t\ttitle: \"TestOutgoing\",\n\t\t\ttext: \"{{TestOutgoing!!created}}\\n\\n<$transclude $tiddler='TestOutgoing' $field='created'/> and <$transclude tiddler='TestOutgoing' field='created'/>\"});\n\n\t\tit(\"should have no transclude\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"TestOutgoing +[transcludes[]]\").join(\",\")).toBe(\"TestOutgoing\");\n\t\t});\n\n\t\tit(\"should have no back transcludes\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"TestOutgoing +[backtranscludes[]]\").join(\",\")).toBe(\"TestOutgoing\");\n\t\t});\n\t});\n\n\tdescribe(\"exclude self when target tiddler is not string\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\n\t\twiki.addTiddler({\n\t\t\ttitle: \"TestOutgoing\",\n\t\t\ttext: \"<$transclude $tiddler={{TestOutgoing!!title}} $field='created'/> and <$transclude tiddler={{TestOutgoing!!title}} field='created'/>\"});\n\n\t\tit(\"should have no transclude\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"TestOutgoing +[transcludes[]]\").join(\",\")).toBe(\"\");\n\t\t});\n\n\t\tit(\"should have no back transcludes\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"TestOutgoing +[backtranscludes[]]\").join(\",\")).toBe(\"\");\n\t\t});\n\t});\n\n\tdescribe(\"recognize transclusion defined by widget\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\n\t\twiki.addTiddler({\n\t\t\ttitle: \"TestOutgoing\",\n\t\t\ttext: \"<$tiddler tiddler='TestIncoming'><$transclude $tiddler /></$tiddler>\\n\\n<$transclude tiddler='TiddlyWiki Pre-release'/>\"});\n\n\t\tit(\"should have a transclude\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"TestOutgoing +[transcludes[]]\").join(\",\")).toBe(\"TestIncoming,TiddlyWiki Pre-release\");\n\t\t});\n\n\t\tit(\"should have a back transclude\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"TestIncoming +[backtranscludes[]]\").join(\",\")).toBe(\"TestOutgoing\");\n\t\t\texpect(wiki.filterTiddlers(\"[[TiddlyWiki Pre-release]] +[backtranscludes[]]\").join(\",\")).toBe(\"TestOutgoing\");\n\t\t});\n\t});\n});\n"
  },
  {
    "path": "editions/test/tiddlers/tests/test-checkbox-widget.js",
    "content": "/*\\\ntitle: testcheckbox-widget.js\ntype: application/javascript\ntags: [[$:/tags/test-spec]]\n\nTests the checkbox widget thoroughly.\n\n\\*/\n\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n    \ndescribe(\"Checkbox widget\", function() {\n    \n\tvar widget = require(\"$:/core/modules/widgets/widget.js\");\n    \n\tfunction createWidgetNode(parseTreeNode,wiki) {\n\t\treturn new widget.widget(parseTreeNode,{\n\t\t\twiki: wiki,\n\t\t\tdocument: $tw.fakeDocument\n\t\t});\n\t}\n    \n\tfunction parseText(text,wiki,options) {\n\t\tvar parser = wiki.parseText(\"text/vnd.tiddlywiki\",text,options);\n\t\treturn parser ? {type: \"widget\", children: parser.tree} : undefined;\n\t}\n    \n\tfunction renderWidgetNode(widgetNode) {\n\t\t$tw.fakeDocument.setSequenceNumber(0);\n\t\tvar wrapper = $tw.fakeDocument.createElement(\"div\");\n\t\twidgetNode.render(wrapper,null);\n\t\treturn wrapper;\n\t}\n\n\t// Find a particular type of node from inside the widget tree\n\t// Less brittle than wrapper.children[0].children[0] if the parse\n\t// tree ever changes in the future\n\tfunction findNodeOfType(targetType, currentNode) {\n\t\tif(currentNode.parseTreeNode && currentNode.parseTreeNode.type === targetType) {\n\t\t\treturn currentNode;\n\t\t} else if(currentNode.children && currentNode.children.length) {\n\t\t\tvar child, result, i;\n\t\t\tfor(i = 0; i < currentNode.children.length; i++) {\n\t\t\t\tchild = currentNode.children[i];\n\t\t\t\tresult = findNodeOfType(targetType, child);\n\t\t\t\tif(result) return result;\n\t\t\t}\n\t\t}\n\t\treturn undefined;\n\t}\n\n\t/*\n         * Test data for checkbox widget tests\n         */\n    \n\tvar fieldModeTests = [\n\t\t{\n\t\t\ttestName: \"field mode checked\",\n\t\t\ttiddlers: [{title: \"TiddlerOne\", text: \"Jolly Old World\", expand: \"yes\"}],\n\t\t\twidgetText: \"<$checkbox tiddler='TiddlerOne' field='expand' checked='yes' />\",\n\t\t\tstartsOutChecked: true,\n\t\t\texpectedChange: { \"TiddlerOne\": { expand: undefined } }\n\t\t},\n\t\t{\n\t\t\ttestName: \"field mode unchecked\",\n\t\t\ttiddlers: [{title: \"TiddlerOne\", text: \"Jolly Old World\", expand: \"no\"}],\n\t\t\twidgetText: \"<$checkbox tiddler='TiddlerOne' field='expand' unchecked='no' />\",\n\t\t\tstartsOutChecked: false,\n\t\t\texpectedChange: { \"TiddlerOne\": { expand: undefined } }\n\t\t},\n\t\t{\n\t\t\ttestName: \"field mode toggle\",\n\t\t\ttiddlers: [{title: \"TiddlerOne\", text: \"Jolly Old World\", expand: \"no\"}],\n\t\t\twidgetText: \"<$checkbox tiddler='TiddlerOne' field='expand' checked='yes' unchecked='no' />\",\n\t\t\tstartsOutChecked: false,\n\t\t\texpectedChange: { \"TiddlerOne\": { expand: \"yes\" } }\n\t\t},\n\t\t{\n\t\t\ttestName: \"field mode default when missing -> true\",\n\t\t\ttiddlers: [],\n\t\t\twidgetText: \"<$checkbox tiddler='TiddlerOne' field='expand' default='yes' checked='yes' unchecked='no' />\",\n\t\t\tstartsOutChecked: true,\n\t\t\texpectedChange: { \"TiddlerOne\": { expand: \"no\" } }\n\t\t},\n\t\t{\n\t\t\ttestName: \"field mode indeterminate -> true\",\n\t\t\ttiddlers: [{title: \"TiddlerOne\", text: \"Jolly Old World\", expand: \"some other value\"}],\n\t\t\twidgetText: \"<$checkbox tiddler='TiddlerOne' field='expand' indeterminate='yes' checked='yes' unchecked='no' />\",\n\t\t\tstartsOutChecked: undefined,\n\t\t\texpectedChange: { \"TiddlerOne\": { expand: \"yes\" } }\n\t\t},\n\t\t// true -> indeterminate cannot happen in field mode\n\t\t{\n\t\t\ttestName: \"field mode not indeterminate\",\n\t\t\ttiddlers: [{title: \"TiddlerOne\", text: \"Jolly Old World\", expand: \"some other value\"}],\n\t\t\twidgetText: \"<$checkbox tiddler='TiddlerOne' field='expand' indeterminate='' checked='yes' unchecked='no' />\",\n\t\t\tstartsOutChecked: false,\n\t\t\texpectedChange: { \"TiddlerOne\": { expand: \"yes\" } }\n\t\t},\n\t];\n\n\tvar indexModeTests = fieldModeTests.map((data) => {\n\t\tvar newData = Object.assign({}, data);\n\t\tvar newName = data.testName.replace(\"field mode\", \"index mode\");\n\t\tvar tiddlerOneAlreadyExists = false;\n\t\tvar newTiddlers = data.tiddlers.map((tiddler) => {\n\t\t\tif(tiddler.title === \"TiddlerOne\") {\n\t\t\t\ttiddlerOneAlreadyExists = true;\n\t\t\t}\n\t\t\treturn {title: tiddler.title, type: \"application/x-tiddler-dictionary\", text: `one: a\\nexpand: ${tiddler.expand}\\ntwo: b`};\n\t\t});\n\t\tvar newWidgetText = data.widgetText.replace(\"field='expand'\", \"index='expand'\");\n\t\tvar newChange = {};\n\t\tfor(var key of Object.keys(data.expectedChange)) {\n\t\t\tvar oldChange = data.expectedChange[key];\n\t\t\tvar text;\n\t\t\tif(!tiddlerOneAlreadyExists) {\n\t\t\t\t// If it wasn't there, the created one will be JSON\n\t\t\t\ttext = `{\\n    \"expand\": \"${oldChange.expand}\"\\n}`;\n\t\t\t} else if(oldChange.expand) {\n\t\t\t\ttext = `one: a\\nexpand: ${oldChange.expand}\\ntwo: b`;\n\t\t\t} else {\n\t\t\t\t// In index tiddlers, the \"expand\" field gets completely removed, not turned into \"expand: (undefined)\"\n\t\t\t\ttext = \"one: a\\ntwo: b\";\n\t\t\t}\n\t\t\tnewChange[key] = { text: text };\n\t\t}\n\t\tnewData.testName = newName;\n\t\tnewData.tiddlers = newTiddlers;\n\t\tnewData.widgetText = newWidgetText;\n\t\tnewData.expectedChange = newChange;\n\t\treturn newData;\n\t});\n\n\tvar listModeTestsForDateFields = [\n\t\t{\n\t\t\ttestName: \"list mode created date field\",\n\t\t\ttiddlers: [{title: \"Colors\", created: \"201304152222\", modified: \"202301022222\"}],\n\t\t\twidgetText: \"<$checkbox tiddler='Colors' listField='created' checked='green' />\",\n\t\t\tstartsOutChecked: false,\n\t\t\tfinalValue: false,\n\t\t\texpectedChange: { \"Colors\": { created: new Date(\"2013-04-15T22:22:00Z\")}} // created field should *not* be touched by a listField checkbox\n\t\t},\n\t\t{\n\t\t\ttestName: \"list mode modified date field\",\n\t\t\ttiddlers: [{title: \"Colors\", created: \"201304152222\", modified: \"202301022222\"}],\n\t\t\twidgetText: \"<$checkbox tiddler='Colors' listField='modified' checked='green' />\",\n\t\t\tstartsOutChecked: false,\n\t\t\tfinalValue: false,\n\t\t\texpectedChange: { \"Colors\": { modified: new Date(\"2023-01-02T22:22:00Z\")}} // modified field should *not* be touched by a listField checkbox\n\t\t},\n\t];\n\n\tvar listModeTests = [\n\t\t{\n\t\t\ttestName: \"list mode add\",\n\t\t\ttiddlers: [{title: \"Colors\", colors: \"orange yellow\"}],\n\t\t\twidgetText: \"<$checkbox tiddler='Colors' listField='colors' checked='green' />\",\n\t\t\tstartsOutChecked: false,\n\t\t\texpectedChange: { \"Colors\": { colors: \"orange yellow green\" } }\n\t\t},\n\t\t{\n\t\t\ttestName: \"list mode remove\",\n\t\t\ttiddlers: [{title: \"Colors\", colors: \"green orange yellow\"}],\n\t\t\twidgetText: \"<$checkbox tiddler='Colors' listField='colors' checked='green' />\",\n\t\t\tstartsOutChecked: true,\n\t\t\texpectedChange: { \"Colors\": { colors: \"orange yellow\" } }\n\t\t},\n\t\t{\n\t\t\ttestName: \"list mode remove inverted\",\n\t\t\ttiddlers: [{title: \"Colors\", colors: \"red orange yellow\"}],\n\t\t\twidgetText: \"<$checkbox tiddler='Colors' listField='colors' unchecked='red' />\",\n\t\t\tstartsOutChecked: false,\n\t\t\texpectedChange: { \"Colors\": { colors: \"orange yellow\" } }\n\t\t},\n\t\t{\n\t\t\ttestName: \"list mode remove in middle position\",\n\t\t\ttiddlers: [{title: \"Colors\", colors: \"orange green yellow\"}],\n\t\t\twidgetText: \"<$checkbox tiddler='Colors' listField='colors' checked='green' />\",\n\t\t\tstartsOutChecked: true,\n\t\t\texpectedChange: { \"Colors\": { colors: \"orange yellow\" } }\n\t\t},\n\t\t{\n\t\t\ttestName: \"list mode remove in middle position inverted\",\n\t\t\ttiddlers: [{title: \"Colors\", colors: \"orange red yellow\"}],\n\t\t\twidgetText: \"<$checkbox tiddler='Colors' listField='colors' unchecked='red' />\",\n\t\t\tstartsOutChecked: false,\n\t\t\texpectedChange: { \"Colors\": { colors: \"orange yellow\" } }\n\t\t},\n\t\t{\n\t\t\ttestName: \"list mode remove in final position\",\n\t\t\ttiddlers: [{title: \"Colors\", colors: \"orange yellow green\"}],\n\t\t\twidgetText: \"<$checkbox tiddler='Colors' listField='colors' checked='green' />\",\n\t\t\tstartsOutChecked: true,\n\t\t\texpectedChange: { \"Colors\": { colors: \"orange yellow\" } }\n\t\t},\n\t\t{\n\t\t\ttestName: \"list mode remove in final position inverted\",\n\t\t\ttiddlers: [{title: \"Colors\", colors: \"orange yellow red\"}],\n\t\t\twidgetText: \"<$checkbox tiddler='Colors' listField='colors' unchecked='red' />\",\n\t\t\tstartsOutChecked: false,\n\t\t\texpectedChange: { \"Colors\": { colors: \"orange yellow\" } }\n\t\t},\n\t\t{\n\t\t\ttestName: \"list mode toggle\",\n\t\t\ttiddlers: [{title: \"Colors\", colors: \"red orange yellow\"}],\n\t\t\twidgetText: \"<$checkbox tiddler='Colors' listField='colors' unchecked='red' checked='green' />\",\n\t\t\tstartsOutChecked: false,\n\t\t\texpectedChange: { \"Colors\": { colors: \"green orange yellow\" } }\n\t\t},\n\t\t{\n\t\t\ttestName: \"list mode toggle in middle position\",\n\t\t\ttiddlers: [{title: \"Colors\", colors: \"orange red yellow\"}],\n\t\t\twidgetText: \"<$checkbox tiddler='Colors' listField='colors' unchecked='red' checked='green' />\",\n\t\t\tstartsOutChecked: false,\n\t\t\texpectedChange: { \"Colors\": { colors: \"orange green yellow\" } }\n\t\t},\n\t\t{\n\t\t\ttestName: \"list mode remove in final position\",\n\t\t\ttiddlers: [{title: \"Colors\", colors: \"orange yellow red\"}],\n\t\t\twidgetText: \"<$checkbox tiddler='Colors' listField='colors' unchecked='red' checked='green' />\",\n\t\t\tstartsOutChecked: false,\n\t\t\texpectedChange: { \"Colors\": { colors: \"orange yellow green\" } }\n\t\t},\n\t\t{\n\t\t\ttestName: \"list mode neither checked nor unchecked specified: field value remains unchanged\",\n\t\t\ttiddlers: [{title: \"Colors\", colors: \"orange yellow red\"}],\n\t\t\twidgetText: \"<$checkbox tiddler='Colors' listField='colors' />\",\n\t\t\tstartsOutChecked: true,\n\t\t\tfinalValue: true,\n\t\t\texpectedChange: { \"Colors\": { colors: \"orange yellow red\" } }\n\t\t},\n\t\t{\n\t\t\ttestName: \"list mode neither checked nor unchecked specified, but actions specified to change field value\",\n\t\t\ttiddlers: [{title: \"ExampleTiddler\", someField: \"yes\"}],\n\t\t\twidgetText: \"\\\\define checkActions() <$action-listops $tiddler='ExampleTiddler' $field='someField' $filter='yes'/>\\n\" +\n                            \"\\\\define uncheckActions() <$action-listops $tiddler='ExampleTiddler' $field='someField' $filter='-yes'/>\\n\" +\n                            \"<$checkbox tiddler='ExampleTiddler' listField='someField' checkactions=<<checkActions>> uncheckactions=<<uncheckActions>> />\",\n\t\t\tstartsOutChecked: true,\n\t\t\texpectedChange: { \"ExampleTiddler\": { someField: \"\" } }\n\t\t},\n\t\t{\n\t\t\ttestName: \"list mode neither checked nor unchecked specified, means field value is treated as empty=false, nonempty=true\",\n\t\t\ttiddlers: [{title: \"ExampleTiddler\", someField: \"yes\"}],\n\t\t\twidgetText: \"\\\\define checkActions() <$action-listops $tiddler='ExampleTiddler' $field='someField' $filter='yes -no'/>\\n\" +\n                            \"\\\\define uncheckActions() <$action-listops $tiddler='ExampleTiddler' $field='someField' $filter='-yes no'/>\\n\" +\n                            \"<$checkbox tiddler='ExampleTiddler' listField='someField' checkactions=<<checkActions>> uncheckactions=<<uncheckActions>> />\",\n\t\t\tstartsOutChecked: true,\n\t\t\tfinalValue: true, // \"no\" is considered true when neither `checked` nor `unchecked` is specified\n\t\t\texpectedChange: { \"ExampleTiddler\": { someField: \"no\" } }\n\t\t},\n\t\t{\n\t\t\ttestName: \"list mode indeterminate -> true\",\n\t\t\ttiddlers: [{title: \"Colors\", colors: \"orange\"}],\n\t\t\twidgetText: \"<$checkbox tiddler='Colors' listField='colors' indeterminate='yes' unchecked='red' checked='green' />\",\n\t\t\tstartsOutChecked: undefined,\n\t\t\texpectedChange: { \"Colors\": { colors: \"orange green\" } }\n\t\t},\n\t\t// true -> indeterminate cannot happen in list mode\n\t\t{\n\t\t\ttestName: \"list mode not indeterminate\",\n\t\t\ttiddlers: [{title: \"Colors\", colors: \"orange\"}],\n\t\t\twidgetText: \"<$checkbox tiddler='Colors' listField='colors' unchecked='red' checked='green' />\",\n\t\t\tstartsOutChecked: false,\n\t\t\texpectedChange: { \"Colors\": { colors: \"orange green\" } }\n\t\t},\n\t];\n\n\t// https://github.com/TiddlyWiki/TiddlyWiki5/issues/6871\n\tvar listModeTestsWithListField = (\n\t\tlistModeTests\n\t\t\t.filter((data) => data.widgetText.includes(\"listField='colors'\"))\n\t\t\t.map((data) => {\n\t\t\t\tvar newData = Object.assign({}, data, {\n\t\t\t\t\ttiddlers: data.tiddlers.map((tiddler) => Object.assign({}, tiddler, {list: tiddler.colors, colors: undefined})),\n\t\t\t\t\twidgetText: data.widgetText.replace(\"listField='colors'\", \"listField='list'\"),\n\t\t\t\t\texpectedChange: {\n\t\t\t\t\t\t\"Colors\": { list: data.expectedChange.Colors.colors.split(\" \") }\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t\treturn newData;\n\t\t\t})\n\t);\n\tvar listModeTestsWithTagsField = (\n\t\tlistModeTests\n\t\t\t.filter((data) => data.widgetText.includes(\"listField='colors'\"))\n\t\t\t.map((data) => {\n\t\t\t\tvar newData = Object.assign({}, data, {\n\t\t\t\t\ttiddlers: data.tiddlers.map((tiddler) => Object.assign({}, tiddler, {tags: tiddler.colors, colors: undefined})),\n\t\t\t\t\twidgetText: data.widgetText.replace(\"listField='colors'\", \"listField='tags'\"),\n\t\t\t\t\texpectedChange: {\n\t\t\t\t\t\t\"Colors\": { tags: data.expectedChange.Colors.colors.split(\" \") }\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t\treturn newData;\n\t\t\t})\n\t);\n\n\tvar indexListModeTests = listModeTests.map((data) => {\n\t\tvar newData = Object.assign({}, data);\n\t\tvar newName = data.testName.replace(\"list mode\", \"index list mode\");\n\t\tvar newTiddlers = data.tiddlers.map((tiddler) => {\n\t\t\tif(tiddler.hasOwnProperty(\"colors\")) {\n\t\t\t\treturn {title: tiddler.title, type: \"application/x-tiddler-dictionary\", text: `one: a\\ncolors: ${tiddler.colors}\\ntwo: b`};\n\t\t\t} else if(tiddler.hasOwnProperty(\"someField\")) {\n\t\t\t\treturn {title: tiddler.title, type: \"application/x-tiddler-dictionary\", text: `one: a\\nsomeField: ${tiddler.someField}\\ntwo: b`};\n\t\t\t}\n\t\t});\n\t\tvar newWidgetText = data.widgetText.replace(\"listField='colors'\", \"listIndex='colors'\").replace(/\\$field/g, \"$index\").replace(\"listField='someField'\", \"listIndex='someField'\");\n\t\tvar newChange = {};\n\t\tfor(var key of Object.keys(data.expectedChange)) {\n\t\t\tvar oldChange = data.expectedChange[key];\n\t\t\tif(oldChange.colors) {\n\t\t\t\tnewChange[key] = { text: `one: a\\ncolors: ${oldChange.colors}\\ntwo: b` };\n\t\t\t} else if(oldChange.someField !== undefined) {\n\t\t\t\tnewChange[key] = { text: `one: a\\nsomeField: ${oldChange.someField}\\ntwo: b` };\n\t\t\t} else {\n\t\t\t\t// In index tiddlers, fields with value undefined get completely removed\n\t\t\t\tnewChange[key] = { text: \"one: a\\ntwo: b\" };\n\t\t\t}\n\t\t}\n\t\tnewData.testName = newName;\n\t\tnewData.tiddlers = newTiddlers;\n\t\tnewData.widgetText = newWidgetText;\n\t\tnewData.expectedChange = newChange;\n\t\treturn newData;\n\t});\n\n\tvar filterModeTests = [\n\t\t{\n\t\t\ttestName: \"filter mode false -> true\",\n\t\t\ttiddlers: [{title: \"Colors\", colors: \"red orange yellow\"}],\n\t\t\twidgetText: \"\\\\define checkActions() <$action-listops $tiddler='Colors' $field='colors' $subfilter='-red green'/>\\n\" +\n                            \"\\\\define uncheckActions() <$action-listops $tiddler='Colors' $field='colors' $subfilter='red -green'/>\\n\" +\n                            \"<$checkbox filter='[list[Colors!!colors]]' checked='green' unchecked='red' default='green' checkactions=<<checkActions>> uncheckactions=<<uncheckActions>> />\",\n\t\t\tstartsOutChecked: false,\n\t\t\texpectedChange: { \"Colors\": { colors: \"orange yellow green\" } }\n\t\t},\n\t\t{\n\t\t\ttestName: \"filter mode true -> false\",\n\t\t\ttiddlers: [{title: \"Colors\", colors: \"green orange yellow\"}],\n\t\t\twidgetText: \"\\\\define checkActions() <$action-listops $tiddler='Colors' $field='colors' $subfilter='-red green'/>\\n\" +\n                            \"\\\\define uncheckActions() <$action-listops $tiddler='Colors' $field='colors' $subfilter='red -green'/>\\n\" +\n                            \"<$checkbox filter='[list[Colors!!colors]]' checked='green' unchecked='red' default='green' checkactions=<<checkActions>> uncheckactions=<<uncheckActions>> />\",\n\t\t\tstartsOutChecked: true,\n\t\t\texpectedChange: { \"Colors\": { colors: \"orange yellow red\" } }\n\t\t},\n\t\t{\n\t\t\ttestName: \"filter mode no default false -> true\",\n\t\t\ttiddlers: [{title: \"Colors\", colors: \"red orange yellow\"}],\n\t\t\twidgetText: \"\\\\define checkActions() <$action-listops $tiddler='Colors' $field='colors' $subfilter='-red green'/>\\n\" +\n                            \"\\\\define uncheckActions() <$action-listops $tiddler='Colors' $field='colors' $subfilter='red -green'/>\\n\" +\n                            \"<$checkbox filter='[list[Colors!!colors]]' checked='green' unchecked='red' checkactions=<<checkActions>> uncheckactions=<<uncheckActions>> />\",\n\t\t\tstartsOutChecked: false,\n\t\t\texpectedChange: { \"Colors\": { colors: \"orange yellow green\" } }\n\t\t},\n\t\t{\n\t\t\ttestName: \"filter mode no default true -> false\",\n\t\t\ttiddlers: [{title: \"Colors\", colors: \"green orange yellow\"}],\n\t\t\twidgetText: \"\\\\define checkActions() <$action-listops $tiddler='Colors' $field='colors' $subfilter='-red green'/>\\n\" +\n                            \"\\\\define uncheckActions() <$action-listops $tiddler='Colors' $field='colors' $subfilter='red -green'/>\\n\" +\n                            \"<$checkbox filter='[list[Colors!!colors]]' checked='green' unchecked='red' checkactions=<<checkActions>> uncheckactions=<<uncheckActions>> />\",\n\t\t\tstartsOutChecked: true,\n\t\t\texpectedChange: { \"Colors\": { colors: \"orange yellow red\" } }\n\t\t},\n\t\t{\n\t\t\ttestName: \"filter mode only checked specified false -> true\",\n\t\t\ttiddlers: [{title: \"Colors\", colors: \"red orange yellow\"}],\n\t\t\twidgetText: \"\\\\define checkActions() <$action-listops $tiddler='Colors' $field='colors' $subfilter='-red green'/>\\n\" +\n                            \"\\\\define uncheckActions() <$action-listops $tiddler='Colors' $field='colors' $subfilter='red -green'/>\\n\" +\n                            \"<$checkbox filter='[list[Colors!!colors]]' checked='green' default='green' checkactions=<<checkActions>> uncheckactions=<<uncheckActions>> />\",\n\t\t\tstartsOutChecked: false,\n\t\t\texpectedChange: { \"Colors\": { colors: \"orange yellow green\" } }\n\t\t},\n\t\t{\n\t\t\ttestName: \"filter mode only checked specified true -> false\",\n\t\t\ttiddlers: [{title: \"Colors\", colors: \"green orange yellow\"}],\n\t\t\twidgetText: \"\\\\define checkActions() <$action-listops $tiddler='Colors' $field='colors' $subfilter='-red green'/>\\n\" +\n                            \"\\\\define uncheckActions() <$action-listops $tiddler='Colors' $field='colors' $subfilter='red -green'/>\\n\" +\n                            \"<$checkbox filter='[list[Colors!!colors]]' checked='green' default='green' checkactions=<<checkActions>> uncheckactions=<<uncheckActions>> />\",\n\t\t\tstartsOutChecked: true,\n\t\t\texpectedChange: { \"Colors\": { colors: \"orange yellow red\" } }\n\t\t},\n\t\t{\n\t\t\ttestName: \"filter mode only checked specified no default false -> true\",\n\t\t\ttiddlers: [{title: \"Colors\", colors: \"red orange yellow\"}],\n\t\t\twidgetText: \"\\\\define checkActions() <$action-listops $tiddler='Colors' $field='colors' $subfilter='-red green'/>\\n\" +\n                            \"\\\\define uncheckActions() <$action-listops $tiddler='Colors' $field='colors' $subfilter='red -green'/>\\n\" +\n                            \"<$checkbox filter='[list[Colors!!colors]]' checked='green' checkactions=<<checkActions>> uncheckactions=<<uncheckActions>> />\",\n\t\t\tstartsOutChecked: false,\n\t\t\texpectedChange: { \"Colors\": { colors: \"orange yellow green\" } }\n\t\t},\n\t\t{\n\t\t\ttestName: \"filter mode only checked specified no default true -> false\",\n\t\t\ttiddlers: [{title: \"Colors\", colors: \"green orange yellow\"}],\n\t\t\twidgetText: \"\\\\define checkActions() <$action-listops $tiddler='Colors' $field='colors' $subfilter='-red green'/>\\n\" +\n                            \"\\\\define uncheckActions() <$action-listops $tiddler='Colors' $field='colors' $subfilter='red -green'/>\\n\" +\n                            \"<$checkbox filter='[list[Colors!!colors]]' checked='green' checkactions=<<checkActions>> uncheckactions=<<uncheckActions>> />\",\n\t\t\tstartsOutChecked: true,\n\t\t\texpectedChange: { \"Colors\": { colors: \"orange yellow red\" } }\n\t\t},\n\t\t{\n\t\t\ttestName: \"filter mode only unchecked specified false -> true\",\n\t\t\ttiddlers: [{title: \"Colors\", colors: \"red orange yellow\"}],\n\t\t\twidgetText: \"\\\\define checkActions() <$action-listops $tiddler='Colors' $field='colors' $subfilter='-red green'/>\\n\" +\n                            \"\\\\define uncheckActions() <$action-listops $tiddler='Colors' $field='colors' $subfilter='red -green'/>\\n\" +\n                            \"<$checkbox filter='[list[Colors!!colors]]' unchecked='red' default='green' checkactions=<<checkActions>> uncheckactions=<<uncheckActions>> />\",\n\t\t\tstartsOutChecked: false,\n\t\t\texpectedChange: { \"Colors\": { colors: \"orange yellow green\" } }\n\t\t},\n\t\t{\n\t\t\ttestName: \"filter mode only unchecked specified true -> false\",\n\t\t\ttiddlers: [{title: \"Colors\", colors: \"green orange yellow\"}],\n\t\t\twidgetText: \"\\\\define checkActions() <$action-listops $tiddler='Colors' $field='colors' $subfilter='-red green'/>\\n\" +\n                            \"\\\\define uncheckActions() <$action-listops $tiddler='Colors' $field='colors' $subfilter='red -green'/>\\n\" +\n                            \"<$checkbox filter='[list[Colors!!colors]]' unchecked='red' default='green' checkactions=<<checkActions>> uncheckactions=<<uncheckActions>> />\",\n\t\t\tstartsOutChecked: true,\n\t\t\texpectedChange: { \"Colors\": { colors: \"orange yellow red\" } }\n\t\t},\n\t\t{\n\t\t\ttestName: \"filter mode only unchecked specified no default false -> true\",\n\t\t\ttiddlers: [{title: \"Colors\", colors: \"red orange yellow\"}],\n\t\t\twidgetText: \"\\\\define checkActions() <$action-listops $tiddler='Colors' $field='colors' $subfilter='-red green'/>\\n\" +\n                            \"\\\\define uncheckActions() <$action-listops $tiddler='Colors' $field='colors' $subfilter='red -green'/>\\n\" +\n                            \"<$checkbox filter='[list[Colors!!colors]]' unchecked='red' checkactions=<<checkActions>> uncheckactions=<<uncheckActions>> />\",\n\t\t\tstartsOutChecked: false,\n\t\t\texpectedChange: { \"Colors\": { colors: \"orange yellow green\" } }\n\t\t},\n\t\t{\n\t\t\ttestName: \"filter mode only unchecked specified no default true -> false\",\n\t\t\ttiddlers: [{title: \"Colors\", colors: \"green orange yellow\"}],\n\t\t\twidgetText: \"\\\\define checkActions() <$action-listops $tiddler='Colors' $field='colors' $subfilter='-red green'/>\\n\" +\n                            \"\\\\define uncheckActions() <$action-listops $tiddler='Colors' $field='colors' $subfilter='red -green'/>\\n\" +\n                            \"<$checkbox filter='[list[Colors!!colors]]' unchecked='red' checkactions=<<checkActions>> uncheckactions=<<uncheckActions>> />\",\n\t\t\tstartsOutChecked: true,\n\t\t\texpectedChange: { \"Colors\": { colors: \"orange yellow red\" } }\n\t\t},\n\t\t{\n\t\t\ttestName: \"filter mode neither checked nor unchecked specified false -> true\",\n\t\t\ttiddlers: [{title: \"Colors\"}],\n\t\t\twidgetText: \"\\\\define checkActions() <$action-listops $tiddler='Colors' $field='colors' $subfilter='green'/>\\n\" +\n                            \"\\\\define uncheckActions() <$action-listops $tiddler='Colors' $field='colors' $subfilter='-green'/>\\n\" +\n                            \"<$checkbox filter='[list[Colors!!colors]]' default='green' checkactions=<<checkActions>> uncheckactions=<<uncheckActions>> />\",\n\t\t\tstartsOutChecked: false,\n\t\t\texpectedChange: { \"Colors\": { colors: \"green\" } }\n\t\t},\n\t\t{\n\t\t\ttestName: \"filter mode neither checked nor unchecked specified true -> false\",\n\t\t\ttiddlers: [{title: \"Colors\", colors: \"green\"}],\n\t\t\twidgetText: \"\\\\define checkActions() <$action-listops $tiddler='Colors' $field='colors' $subfilter='green'/>\\n\" +\n                            \"\\\\define uncheckActions() <$action-listops $tiddler='Colors' $field='colors' $subfilter='-green'/>\\n\" +\n                            \"<$checkbox filter='[list[Colors!!colors]]' default='green' checkactions=<<checkActions>> uncheckactions=<<uncheckActions>> />\",\n\t\t\tstartsOutChecked: true,\n\t\t\texpectedChange: { \"Colors\": { colors: \"\" } }\n\t\t},\n\t\t{\n\t\t\ttestName: \"filter mode neither checked nor unchecked no default specified false -> true\",\n\t\t\ttiddlers: [{title: \"Colors\", colors: \"\"}],\n\t\t\twidgetText: \"\\\\define checkActions() <$action-listops $tiddler='Colors' $field='colors' $subfilter='green'/>\\n\" +\n                            \"\\\\define uncheckActions() <$action-listops $tiddler='Colors' $field='colors' $subfilter='-green'/>\\n\" +\n                            \"<$checkbox filter='[list[Colors!!colors]]' checkactions=<<checkActions>> uncheckactions=<<uncheckActions>> />\",\n\t\t\tstartsOutChecked: false,\n\t\t\texpectedChange: { \"Colors\": { colors: \"green\" } }\n\t\t},\n\t\t{\n\t\t\ttestName: \"filter mode neither checked nor unchecked no default specified true -> false\",\n\t\t\ttiddlers: [{title: \"Colors\", colors: \"green\"}],\n\t\t\twidgetText: \"\\\\define checkActions() <$action-listops $tiddler='Colors' $field='colors' $subfilter='green'/>\\n\" +\n                            \"\\\\define uncheckActions() <$action-listops $tiddler='Colors' $field='colors' $subfilter='-green'/>\\n\" +\n                            \"<$checkbox filter='[list[Colors!!colors]]' checkactions=<<checkActions>> uncheckactions=<<uncheckActions>> />\",\n\t\t\tstartsOutChecked: true,\n\t\t\texpectedChange: { \"Colors\": { colors: \"\" } }\n\t\t},\n\n\t\t{\n\t\t\ttestName: \"filter mode indeterminate -> true\",\n\t\t\ttiddlers: [{title: \"Colors\", colors: \"orange yellow\"}],\n\t\t\twidgetText: \"\\\\define checkActions() <$action-listops $tiddler='Colors' $field='colors' $subfilter='green'/>\\n\" +\n                            \"\\\\define uncheckActions() <$action-listops $tiddler='Colors' $field='colors' $subfilter='-green'/>\\n\" +\n                            \"<$checkbox filter='[list[Colors!!colors]]' indeterminate='yes' checked='green' unchecked='red' default='green' checkactions=<<checkActions>> uncheckactions=<<uncheckActions>> />\",\n\t\t\tstartsOutChecked: undefined,\n\t\t\texpectedChange: { \"Colors\": { colors: \"orange yellow green\" } }\n\t\t},\n\t\t{\n\t\t\ttestName: \"filter mode true -> indeterminate\",\n\t\t\ttiddlers: [{title: \"Colors\", colors: \"green orange yellow\"}],\n\t\t\twidgetText: \"\\\\define checkActions() <$action-listops $tiddler='Colors' $field='colors' $subfilter='green'/>\\n\" +\n                            \"\\\\define uncheckActions() <$action-listops $tiddler='Colors' $field='colors' $subfilter='-green'/>\\n\" +\n                            \"<$checkbox filter='[list[Colors!!colors]]' indeterminate='yes' checked='green' unchecked='red' default='green' checkactions=<<checkActions>> uncheckactions=<<uncheckActions>> />\",\n\t\t\tstartsOutChecked: true,\n\t\t\tfinalValue: undefined,\n\t\t\texpectedChange: { \"Colors\": { colors: \"orange yellow\" } }\n\t\t},\n\t\t{\n\t\t\ttestName: \"filter mode not indeterminate -> true\",\n\t\t\ttiddlers: [{title: \"Colors\", colors: \"orange yellow\"}],\n\t\t\twidgetText: \"\\\\define checkActions() <$action-listops $tiddler='Colors' $field='colors' $subfilter='green'/>\\n\" +\n                            \"\\\\define uncheckActions() <$action-listops $tiddler='Colors' $field='colors' $subfilter='-green'/>\\n\" +\n                            \"<$checkbox filter='[list[Colors!!colors]]' checked='green' unchecked='red' default='green' checkactions=<<checkActions>> uncheckactions=<<uncheckActions>> />\",\n\t\t\tstartsOutChecked: false,\n\t\t\texpectedChange: { \"Colors\": { colors: \"orange yellow green\" } }\n\t\t},\n\t\t{\n\t\t\ttestName: \"filter mode true -> not indeterminate\",\n\t\t\ttiddlers: [{title: \"Colors\", colors: \"green orange yellow\"}],\n\t\t\twidgetText: \"\\\\define checkActions() <$action-listops $tiddler='Colors' $field='colors' $subfilter='green'/>\\n\" +\n                            \"\\\\define uncheckActions() <$action-listops $tiddler='Colors' $field='colors' $subfilter='-green'/>\\n\" +\n                            \"<$checkbox filter='[list[Colors!!colors]]' checked='green' unchecked='red' default='green' checkactions=<<checkActions>> uncheckactions=<<uncheckActions>> />\",\n\t\t\tstartsOutChecked: true,\n\t\t\tfinalValue: false,\n\t\t\texpectedChange: { \"Colors\": { colors: \"orange yellow\" } }\n\t\t},\n\t];\n\n\tvar checkboxTestData = fieldModeTests.concat(\n\t\tindexModeTests,\n\t\tlistModeTests,\n\t\tlistModeTestsForDateFields,\n\t\tlistModeTestsWithListField,\n\t\tlistModeTestsWithTagsField,\n\t\tindexListModeTests,\n\t\tfilterModeTests,\n\t);\n    \n\t/*\n         * Checkbox widget tests using the test data above\n         */\n\t// MAKE SURE TO USE $tw.utils.each HERE!!!\n\t// If you use a forloop, the closure of the tests will all use the last value \"data\" was assigned to, and thus all run the same test.\n\t$tw.utils.each(checkboxTestData, function(data) {\n\t\tit(\"checkbox widget test: \" + data.testName, function() {\n\t\t\t// Setup\n    \n\t\t\tvar wiki = new $tw.Wiki();\n\t\t\twiki.addTiddlers(data.tiddlers);\n\t\t\tvar widgetNode = createWidgetNode(parseText(data.widgetText,wiki),wiki);\n\t\t\trenderWidgetNode(widgetNode);\n    \n\t\t\t// Check initial state\n    \n\t\t\tvar widget = findNodeOfType(\"checkbox\", widgetNode);\n\t\t\t// Verify that the widget is or is not checked as expected\n\t\t\texpect(widget.getValue()).toBe(data.startsOutChecked);\n    \n\t\t\t// Fake an event that toggles the checkbox\n    \n\t\t\t// fakedom elmenets don't have a \"checked\" property. so we fake it because\n\t\t\t// Checkbox.prototype.handleChangeEvent looks at the \"checked\" DOM property\n\t\t\twidget.inputDomNode.checked = !!widget.inputDomNode.attributes.checked;\n\t\t\t// Now simulate checking the box\n\t\t\twidget.inputDomNode.checked = !widget.inputDomNode.checked;\n\t\t\twidget.handleChangeEvent(null);\n    \n\t\t\t// Check state again: in most tests, checkbox should be inverse of what it was\n\t\t\tvar finalValue = data.hasOwnProperty(\"finalValue\") ? data.finalValue : !data.startsOutChecked;\n\t\t\texpect(widget.getValue()).toBe(finalValue);\n    \n\t\t\t// Check that tiddler(s) has/have gone through expected change(s)\n\t\t\tfor(var key of Object.keys(data.expectedChange)) {\n\t\t\t\tvar tiddler = wiki.getTiddler(key);\n\t\t\t\tvar change = data.expectedChange[key];\n\t\t\t\tfor(var fieldName of Object.keys(change)) {\n\t\t\t\t\tvar expectedValue = change[fieldName];\n\t\t\t\t\tvar fieldValue = tiddler.fields[fieldName];\n\t\t\t\t\texpect(fieldValue).toEqual(expectedValue);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t});\n    \n});\n    \n    "
  },
  {
    "path": "editions/test/tiddlers/tests/test-compare-filter.js",
    "content": "/*\\\ntitle: test-compare-filters.js\ntype: application/javascript\ntags: [[$:/tags/test-spec]]\n\nTests the compare filter.\n\n\\*/\n\n/* eslint-env node, browser, jasmine */\n/* eslint no-mixed-spaces-and-tabs: [\"error\", \"smart-tabs\"]*/\n\"use strict\";\n\ndescribe(\"'compare' filter tests\", function() {\n\n\tvar wiki = new $tw.Wiki();\n\n\tit(\"should compare numerical equality\", function() {\n\t\texpect(wiki.filterTiddlers(\"[[2]compare:number:eq[0003]]\").join(\",\")).toBe(\"\");\n\t\texpect(wiki.filterTiddlers(\"[[2]compare:number:ne[000003]]\").join(\",\")).toBe(\"2\");\n\t\texpect(wiki.filterTiddlers(\"[[2]compare:number:eq[3]]\").join(\",\")).toBe(\"\");\n\t\texpect(wiki.filterTiddlers(\"[[2]compare:number:ne[3]]\").join(\",\")).toBe(\"2\");\n\t\texpect(wiki.filterTiddlers(\"[[2]compare:number:eq[2]]\").join(\",\")).toBe(\"2\");\n\t\texpect(wiki.filterTiddlers(\"[[2]compare:number:ne[2]]\").join(\",\")).toBe(\"\");\n\t\texpect(wiki.filterTiddlers(\"[[2]compare:number:eq[x]]\").join(\",\")).toBe(\"\");\n\t\texpect(wiki.filterTiddlers(\"[[2]compare:number:ne[x]]\").join(\",\")).toBe(\"2\");\n\t\texpect(wiki.filterTiddlers(\"[[2]!compare:number:eq[3]]\").join(\",\")).toBe(\"2\");\n\t\texpect(wiki.filterTiddlers(\"[[2]!compare:number:ne[3]]\").join(\",\")).toBe(\"\");\n\t\texpect(wiki.filterTiddlers(\"[[2]!compare:number:eq[2]]\").join(\",\")).toBe(\"\");\n\t\texpect(wiki.filterTiddlers(\"[[2]!compare:number:ne[2]]\").join(\",\")).toBe(\"2\");\n\t\texpect(wiki.filterTiddlers(\"[[2]!compare:number:eq[x]]\").join(\",\")).toBe(\"2\");\n\t\texpect(wiki.filterTiddlers(\"[[2]!compare:number:ne[x]]\").join(\",\")).toBe(\"\");\n\t});\n\n\tit(\"should compare numerical magnitude\", function() {\n\t\texpect(wiki.filterTiddlers(\"[[2]compare:number:gt[3]]\").join(\",\")).toBe(\"\");\n\t\texpect(wiki.filterTiddlers(\"[[2]compare:number:lt[3]]\").join(\",\")).toBe(\"2\");\n\t\texpect(wiki.filterTiddlers(\"[[2]compare:number:gt[2]]\").join(\",\")).toBe(\"\");\n\t\texpect(wiki.filterTiddlers(\"[[2]compare:number:lt[2]]\").join(\",\")).toBe(\"\");\n\t\texpect(wiki.filterTiddlers(\"[[2]compare:number:gt[x]]\").join(\",\")).toBe(\"2\");\n\t\texpect(wiki.filterTiddlers(\"[[2]compare:number:lt[x]]\").join(\",\")).toBe(\"\");\n\t\texpect(wiki.filterTiddlers(\"[[2]!compare:number:gt[3]]\").join(\",\")).toBe(\"2\");\n\t\texpect(wiki.filterTiddlers(\"[[2]!compare:number:lt[3]]\").join(\",\")).toBe(\"\");\n\t\texpect(wiki.filterTiddlers(\"[[2]!compare:number:gt[2]]\").join(\",\")).toBe(\"2\");\n\t\texpect(wiki.filterTiddlers(\"[[2]!compare:number:lt[2]]\").join(\",\")).toBe(\"2\");\n\t\texpect(wiki.filterTiddlers(\"[[2]!compare:number:gt[x]]\").join(\",\")).toBe(\"\");\n\t\texpect(wiki.filterTiddlers(\"[[2]!compare:number:lt[x]]\").join(\",\")).toBe(\"2\");\n\t});\n\n\tit(\"should compare string\", function() {\n\t\texpect(wiki.filterTiddlers(\"[[Monday]compare:string:lt[M]]\").join(\",\")).toBe(\"\");\n\t\texpect(wiki.filterTiddlers(\"[[Monday]compare:string:lt[W]]\").join(\",\")).toBe(\"Monday\");\n\t\texpect(wiki.filterTiddlers(\"Monday Tuesday Wednesday Thursday Friday Saturday Sunday +[compare:string:gt[M]sort[]]\").join(\",\")).toBe(\"Monday,Saturday,Sunday,Thursday,Tuesday,Wednesday\");\n\t\texpect(wiki.filterTiddlers(\"Monday Tuesday Wednesday Thursday Friday Saturday Sunday +[compare:string:gt[M]compare:string:lt[W]sort[]]\").join(\",\")).toBe(\"Monday,Saturday,Sunday,Thursday,Tuesday\");\n\t});\n\n\tit(\"should compare dates\", function() {\n\t\texpect(wiki.filterTiddlers(\"[[20200101]compare:date:gt[201912311852]]\").join(\",\")).toBe(\"20200101\");\n\t});\n\n\tit(\"should compare version numbers\", function() {\n\t\texpect(wiki.filterTiddlers(\"[[v1.2.3]compare:version:eq[v1.1.0]]\").join(\",\")).toBe(\"\");\n\t\texpect(wiki.filterTiddlers(\"[[v1.2.3]compare:version:eq[v1.2.2]]\").join(\",\")).toBe(\"\");\n\t\texpect(wiki.filterTiddlers(\"[[v1.2.3]compare:version:eq[v1.2.3]]\").join(\",\")).toBe(\"v1.2.3\");\n\t\texpect(wiki.filterTiddlers(\"[[v1.2.3]compare:version:eq[v1.2.4]]\").join(\",\")).toBe(\"\");\n\t\texpect(wiki.filterTiddlers(\"[[v1.2.3]compare:version:eq[v2.0.0]]\").join(\",\")).toBe(\"\");\n\t\texpect(wiki.filterTiddlers(\"[[v1.2.3]compare:version:gt[v1.1.0]]\").join(\",\")).toBe(\"v1.2.3\");\n\t\texpect(wiki.filterTiddlers(\"[[v1.2.3]compare:version:gt[v1.2.2]]\").join(\",\")).toBe(\"v1.2.3\");\n\t\texpect(wiki.filterTiddlers(\"[[v1.2.3]compare:version:gt[v1.2.3]]\").join(\",\")).toBe(\"\");\n\t\texpect(wiki.filterTiddlers(\"[[v1.2.3]compare:version:gt[v1.2.4]]\").join(\",\")).toBe(\"\");\n\t\texpect(wiki.filterTiddlers(\"[[v1.2.3]compare:version:gt[v2.0.0]]\").join(\",\")).toBe(\"\");\n\t\texpect(wiki.filterTiddlers(\"[[v1.2.3]compare:version:lt[v1.1.0]]\").join(\",\")).toBe(\"\");\n\t\texpect(wiki.filterTiddlers(\"[[v1.2.3]compare:version:lt[v1.2.2]]\").join(\",\")).toBe(\"\");\n\t\texpect(wiki.filterTiddlers(\"[[v1.2.3]compare:version:lt[v1.2.3]]\").join(\",\")).toBe(\"\");\n\t\texpect(wiki.filterTiddlers(\"[[v1.2.3]compare:version:lt[v1.2.4]]\").join(\",\")).toBe(\"v1.2.3\");\n\t\texpect(wiki.filterTiddlers(\"[[v1.2.3]compare:version:lt[v2.0.0]]\").join(\",\")).toBe(\"v1.2.3\");\n\t});\n\n});\n\n"
  },
  {
    "path": "editions/test/tiddlers/tests/test-deserialize-operator.js",
    "content": "/*\\\ntitle: test-deserialize-operator.js\ntype: application/javascript\ntags: [[$:/tags/test-spec]]\n\nTests deserialize[] filter operator with various core deserializers\n\n\\*/\n\n/* eslint-env node, browser, jasmine */\n/* eslint no-mixed-spaces-and-tabs: [\"error\", \"smart-tabs\"]*/\n\"use strict\";\n\n\t\ndescribe(\"deserialize operator tests\", function() {\n\n\tit(\"should support the deserialize[] operator\", function() {\n\t\t//Unknown deserializer as operand\n\t\texpect($tw.wiki.filterTiddlers(\"[{dezerializer test data case 4}deserialize[unknown/deserializer]]\")).toEqual([$tw.language.getString(\"Error/DeserializeOperator/UnknownDeserializer\")]);\n\n\t\t//Missing operand\n\t\texpect($tw.wiki.filterTiddlers(\"[{dezerializer test data case 4}deserialize[]]\")).toEqual([$tw.language.getString(\"Error/DeserializeOperator/MissingOperand\")]);\n\n\t\t//Deserialize TiddlyWiki file\n\t\texpect($tw.wiki.filterTiddlers(\"[{dezerializer test data case 4}deserialize[text/html]]\")).toEqual(['[{\"type\":\"text/vnd.tiddlywiki\",\"text\":\"Abacus\",\"title\":\"Hello \\\\\"There\\\\\"\"},{\"title\":\"Hello \\\\\"There\\\\\"\",\"text\":\"Calculator\"}]']);\n\t\texpect($tw.wiki.filterTiddlers(\"[{dezerializer test data case 5}deserialize[text/html]]\")).toEqual(['[{\"type\":\"text/vnd.tiddlywiki\",\"text\":\"Abacus\",\"title\":\"Hello \\\\\"There\\\\\"\"},{\"title\":\"Hello \\\\\"There\\\\\"\",\"text\":\"Calculator\"},{\"title\":\"Hello \\\\\"There\\\\\"\",\"text\":\"Protractor\"}]']);\n\n\t\t// Deserialize JSON payload containing tiddlers\n\t\texpect($tw.wiki.filterTiddlers(\"[{dezerializer test data case 6}deserialize[application/json]]\")).toEqual( [ \"[{\\\"created\\\":\\\"20230601125557184\\\",\\\"text\\\":\\\"Before you start storing important information in ~TiddlyWiki it is vital to make sure that you can reliably save changes. See https://tiddlywiki.com/#GettingStarted for details\\\\n\\\\n\\\",\\\"title\\\":\\\"GettingStarted\\\",\\\"modified\\\":\\\"20230601125601619\\\"},{\\\"created\\\":\\\"20230601125507054\\\",\\\"text\\\":\\\"Welcome to \\\\\\\"TiddlyWiki\\\\\\\".\\\\n\\\\nThis is a test tiddler.\\\",\\\"tags\\\":\\\"\\\",\\\"title\\\":\\\"Hello There \\\\\\\"Welcome\\\\\\\"\\\",\\\"modified\\\":\\\"20230601125551144\\\"},{\\\"title\\\":\\\"TiddlyWiki\\\",\\\"created\\\":\\\"20130822170700000\\\",\\\"modified\\\":\\\"20170127221451610\\\",\\\"tags\\\":\\\"Concepts\\\",\\\"type\\\":\\\"text/vnd.tiddlywiki\\\",\\\"text\\\":\\\"~TiddlyWiki is a rich, interactive tool for manipulating complex data with structure that doesn't easily fit into conventional tools like spreadsheets or wordprocessors.\\\\n\\\\n~TiddlyWiki is designed to fit around your brain, helping you deal with the things that won't fit.\\\"}]\" ]);\n\t\texpect($tw.wiki.filterTiddlers(\"[{dezerializer test data case 6}deserialize[application/json]jsonindexes[]] :map[{dezerializer test data case 6}jsonget<currentTiddler>,[title]]\")).toEqual([ \"GettingStarted\", 'Hello There \"Welcome\"', \"TiddlyWiki\" ]);\n\n\t\t//Deserialize TiddlyWiki file with an mismatched deserializer\n\t\texpect($tw.wiki.filterTiddlers(\"[{dezerializer test data case 5}deserialize[application/json]]\")).toEqual([jasmine.stringMatching(\"JSON error\")]);\n\t});\n});\n\t\n\n"
  },
  {
    "path": "editions/test/tiddlers/tests/test-deserializers.js",
    "content": "/*\\\ntitle: test-deserializers.js\ntype: application/javascript\ntags: [[$:/tags/test-spec]]\n\nTests various core deserializers\n\n\\*/\n\n/* eslint-env node, browser, jasmine */\n/* eslint no-mixed-spaces-and-tabs: [\"error\", \"smart-tabs\"]*/\n\"use strict\";\n\t\ndescribe(\"deserializer tests\", function() {\n\n\tfunction executeTestCase(title,expectedOutput) {\n\t\tit(\"test case \" + title, function() {\n\t\t\tvar tiddler = $tw.wiki.getTiddler(title);\n\t\t\texpect($tw.wiki.deserializeTiddlers(tiddler.fields.type,tiddler.fields.text)).toEqual(expectedOutput);\n\t\t});\n\t}\n\t\n\texecuteTestCase(\"dezerializer test data case 1\",[ { text: \"<!doctype html>\\n\", type: \"text/html\" } ]);\n\n\texecuteTestCase(\"dezerializer test data case 2\",[ { text: '<!doctype html>\\n<html lang=\"en\">\\n<head>\\n\\t<meta charset=\"utf-8\">\\n\\t<title>Test Data</title>\\n</head>\\n<body>\\n</body>\\n</html>\\n', type: \"text/html\" } ]);\n\n\texecuteTestCase(\"dezerializer test data case 3\",[ { title: 'Hello \"There\"', text: \"Abacus\", type: \"text/vnd.tiddlywiki\" } ]);\n\n\texecuteTestCase(\"dezerializer test data case 4\",[ { title: 'Hello \"There\"', text: \"Abacus\", type: \"text/vnd.tiddlywiki\" }, { title: 'Hello \"There\"', text: \"Calculator\"}  ]);\n\n\texecuteTestCase(\"dezerializer test data case 5\",[ { title: 'Hello \"There\"', text: \"Abacus\", type: \"text/vnd.tiddlywiki\" }, { title: 'Hello \"There\"', text: \"Calculator\"} , { title: 'Hello \"There\"', text: \"Protractor\"}  ]);\n\t\t\n});\n"
  },
  {
    "path": "editions/test/tiddlers/tests/test-fakedom.js",
    "content": "/*\\\ntitle: test-fakedom.js\ntype: application/javascript\ntags: [[$:/tags/test-spec]]\n\nTests the fakedom that Tiddlywiki occasionally uses.\n\n\\*/\n\"use strict\";\n\ndescribe(\"fakedom tests\", function() {\n\n\tit(\"properly assigns nodeType based on DOM standards\", function() {\n\t\t// According to MDN, ELEMENT_NODE == 1 && TEXT_NODE == 3\n\t\t// There are others, but currently they're not implemented in fakedom\n\t\texpect($tw.fakeDocument.createElement(\"div\").nodeType).toBe(1);\n\t\texpect($tw.fakeDocument.createElement(\"div\").ELEMENT_NODE).toBe(1);\n\t\texpect($tw.fakeDocument.createTextNode(\"text\").nodeType).toBe(3);\n\t\texpect($tw.fakeDocument.createTextNode(\"text\").TEXT_NODE).toBe(3);\n\t});\n});\n"
  },
  {
    "path": "editions/test/tiddlers/tests/test-filters.js",
    "content": "/*\\\ntitle: test-filters.js\ntype: application/javascript\ntags: [[$:/tags/test-spec]]\n\nTests the filtering mechanism.\n\n\\*/\n\n\"use strict\";\n\t\ndescribe(\"Filter tests\", function() {\n\t\n\t// Test filter parsing\n\tit(\"should parse new-style rich operator suffixes\", function() {\n\t\texpect($tw.wiki.parseFilter(\"[search:: four, , five,, six [operand]]\")).toEqual(\n\t\t\t[ { prefix : \"\", operators : [ { operator : \"search\", suffix : \": four, , five,, six \", suffixes : [ [  ], [ \"four\", \"five\", \"six\" ] ], operands: [ { text:\"operand\" } ] } ] } ]\n\t\t);\n\t\texpect($tw.wiki.parseFilter(\"[search: one, two ,three :[operand]]\")).toEqual(\n\t\t\t[ { prefix : \"\", operators : [ { operator : \"search\", suffix : \" one, two ,three :\", suffixes : [ [ \"one\", \"two\", \"three\" ], [  ] ], operands: [ { text:\"operand\" } ] } ] } ]\n\t\t);\n\t\texpect($tw.wiki.parseFilter(\"[search: one, two ,three :[operand]]\")).toEqual(\n\t\t\t[ { prefix : \"\", operators : [ { operator : \"search\", suffix : \" one, two ,three :\", suffixes : [ [ \"one\", \"two\", \"three\" ], [  ] ], operands: [ { text:\"operand\" } ] } ] } ]\n\t\t);\n\t\texpect($tw.wiki.parseFilter(\"[search: one, two ,three : four, , five,, six [operand]]\")).toEqual(\n\t\t\t[ { prefix : \"\", operators : [ { operator : \"search\", suffix : \" one, two ,three : four, , five,, six \", suffixes : [ [ \"one\", \"two\", \"three\" ], [ \"four\", \"five\", \"six\" ] ], operands: [ { text:\"operand\" } ] } ] } ]\n\t\t);\n\t\texpect($tw.wiki.parseFilter(\"[search: , : [operand]]\")).toEqual(\n\t\t\t[ { prefix : \"\", operators : [ { operator : \"search\", suffix : \" , : \", suffixes : [ [  ], [  ] ], operands: [ { text:\"operand\" } ] } ] } ]\n\t\t);\n\t});\n\t\t\n\t\t\n\tit(\"should parse multiple operands for operators\", function() {\n\t\texpect($tw.wiki.parseFilter(\"[search: , : [operand],[operand2]]\")).toEqual(\n\t\t\t[ { prefix : \"\", operators : [ { operator : \"search\", suffix : \" , : \", suffixes : [ [  ], [  ] ], operands: [ { text:\"operand\" }, { text:\"operand2\" } ] } ] } ]\n\t\t);\n\t\texpect($tw.wiki.parseFilter(\"[search: , : [oper,and],[operand2]]\")).toEqual(\n\t\t\t[ { prefix : \"\", operators : [ { operator : \"search\", suffix : \" , : \", suffixes : [ [  ], [  ] ], operands: [ { text:\"oper,and\" }, { text:\"operand2\" } ] } ] } ]\n\t\t);\n\t\texpect($tw.wiki.parseFilter(\"[[GettingStarted]replace:[operand],[operand2]]\")).toEqual(\n\t\t\t[ { prefix : \"\", operators : [ { operator : \"title\", operands: [ { text:\"GettingStarted\" } ] },  { operator : \"replace\", suffix : \"\", suffixes : [[]], operands: [ { text:\"operand\" }, { text:\"operand2\" }  ] } ] } ]\n\t\t);\n\t\texpect($tw.wiki.parseFilter(\"[[GettingStarted]replace[operand],[operand2]split[-]]\")).toEqual(\n\t\t\t[ { prefix : \"\", operators : [ { operator : \"title\", operands: [{ text:\"GettingStarted\" }] },  { operator : \"replace\", operands: [{ text:\"operand\" }, { text:\"operand2\" }] }, { operator : \"split\", operands: [ { text:\"-\" } ] } ] } ]\n\t\t);\n\t\texpect($tw.wiki.parseFilter(\"[[GettingStarted]replace[operand],[operand2]split[-]split2[a],[b]]\")).toEqual(\n\t\t\t[ { prefix : \"\", operators : [ { operator : \"title\", operands: [{ text:\"GettingStarted\" }] },  { operator : \"replace\",  operands: [ { text:\"operand\" }, { text:\"operand2\" } ] }, { operator : \"split\", operands: [ {text:\"-\"} ] }, { operator : \"split2\", operands: [ { text:\"a\" }, { text: \"b\" }] } ] } ]\n\t\t);\n\t\texpect($tw.wiki.parseFilter(\"[[GettingStarted]replace[operand],[operand2]split[-]split2[a],<b>,{c}]\")).toEqual(\n\t\t\t[ { prefix : \"\", operators : [ { operator : \"title\", operands: [{ text:\"GettingStarted\" }] },  { operator : \"replace\",  operands: [ { text:\"operand\" }, { text:\"operand2\" } ] }, { operator : \"split\", operands: [ {text:\"-\"} ] }, { operator : \"split2\", operands: [ { text:\"a\" }, { variable: true, text: \"b\" }, { indirect: true, text: \"c\" }] } ] } ]\n\t\t);\n\t});\n\t\n\tdescribe(\"With tiddlers in the store unsorted\",function() {\n\t\ttestWithAndWithoutIndexers();\n\t});\n\tdescribe(\"With tiddlers in the store sorted ascending\",function() {\n\t\ttestWithAndWithoutIndexers({sort: \"ascending\"});\n\t});\n\tdescribe(\"With tiddlers in the store sorted descending\",function() {\n\t\ttestWithAndWithoutIndexers({sort: \"descending\"});\n\t});\n\n\tfunction testWithAndWithoutIndexers(options) {\n\t\tdescribe(\"With no indexers\", function() {\n\t\t\tvar wiki = setupWiki(Object.assign({},options,{enableIndexers: []}));\n\t\t\tit(\"should not create indexes when requested not to\",function() {\n\t\t\t\texpect(wiki.getIndexer(\"FieldIndexer\")).toBe(null);\n\t\t\t});\n\t\t\trunTests(wiki);\n\t\t});\n\t\n\t\tdescribe(\"With all indexers\", function() {\n\t\t\tvar wiki = setupWiki(options);\n\t\t\tif(wiki.getIndexer(\"FieldIndexer\")) {\n\t\t\t\twiki.getIndexer(\"FieldIndexer\").setMaxIndexedValueLength(8); // Note that JoeBloggs is 9, and John is 5\n\t\t\t}\n\t\t\trunTests(wiki);\n\t\t});\n\t}\n\t\n\tfunction setupWiki(wikiOptions) {\n\t\twikiOptions = wikiOptions || {};\n\t\t// Create a wiki\n\t\tvar wiki = new $tw.Wiki(wikiOptions);\n\t\t// Add a plugin containing some shadow tiddlers\n\t\tvar shadowTiddlers = {\n\t\t\ttiddlers: {\n\t\t\t\t\"$:/TiddlerFive\": {\n\t\t\t\t\ttitle: \"$:/TiddlerFive\",\n\t\t\t\t\ttext: \"Everything in federation\",\n\t\t\t\t\ttags: [\"two\"]\n\t\t\t\t},\n\t\t\t\t\"TiddlerSix\": {\n\t\t\t\t\ttitle: \"TiddlerSix\",\n\t\t\t\t\ttext: \"Missing inaction from [[TiddlerOne]]\",\n\t\t\t\t\tfilter: \"[[one]] [[a a]] [subfilter{hasList!!list}]\",\n\t\t\t\t\ttags: []\n\t\t\t\t},\n\t\t\t\t\"TiddlerSeventh\": {\n\t\t\t\t\ttitle: \"TiddlerSeventh\",\n\t\t\t\t\ttext: \"\",\n\t\t\t\t\tlist: \"[[TiddlerOne]] [[Tiddler Three]] [[a fourth tiddler]] [[MissingTiddler]]\",\n\t\t\t\t\ttags: [\"one\"]\n\t\t\t\t},\n\t\t\t\t\"Tiddler8\": {\n\t\t\t\t\ttitle: \"Tiddler8\",\n\t\t\t\t\ttext: \"Tidd\",\n\t\t\t\t\ttags: [\"one\"],\n\t\t\t\t\t\"test-field\": \"JoeBloggs\"\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tvar tiddlers = [{\n\t\t\ttitle: \"$:/ShadowPlugin\",\n\t\t\ttext: JSON.stringify(shadowTiddlers),\n\t\t\t\"plugin-type\": \"plugin\",\n\t\t\ttype: \"application/json\"\n\t\t},{\n\t\t\ttitle: \"TiddlerOne\",\n\t\t\ttext: \"The quick brown fox in $:/TiddlerTwo\",\n\t\t\ttags: [\"one\"],\n\t\t\tcost: \"123\",\n\t\t\tvalue: \"120\",\n\t\t\tslug: \"tiddler-one\",\n\t\t\tauthors: \"Joe Bloggs\",\n\t\t\tmodifier: \"JoeBloggs\",\n\t\t\tmodified: \"201304152222\"\n\t\t},{\n\t\t\ttitle: \"$:/TiddlerTwo\",\n\t\t\ttext: \"The rain in Spain\\nfalls mainly on the plain and [[a fourth tiddler]]\",\n\t\t\ttags: [\"two\"],\n\t\t\tcost: \"42\",\n\t\t\tvalue: \"190\",\n\t\t\tslug: \"tiddler-two\",\n\t\t\tauthors: \"[[John Doe]]\",\n\t\t\tmodifier: \"John\",\n\t\t\tmodified: \"201304152211\"\n\t\t},{\n\t\t\ttitle: \"Tiddler Three\",\n\t\t\ttext: \"The speed of sound in light\\n\\nThere is no [[TiddlerZero]] but [[TiddlerSix]]\",\n\t\t\ttags: [\"one\",\"two\"],\n\t\t\tcost: \"56\",\n\t\t\tvalue: \"80\",\n\t\t\tmodifier: \"John\",\n\t\t\tmodified: \"201304162202\"\n\t\t},{\n\t\t\ttitle: \"a fourth tiddler\",\n\t\t\ttext: \"The quality of mercy is not drained by [[Tiddler Three]]\",\n\t\t\ttags: [],\n\t\t\tcost: \"82\",\n\t\t\tvalue: \"72\",\n\t\t\tempty: \"not\",\n\t\t\tmodifier: \"John\"\n\t\t},{\n\t\t\ttitle: \"one\",\n\t\t\ttext: \"This is the text of tiddler [[one]]\",\n\t\t\tlist: \"[[Tiddler Three]] [[TiddlerOne]]\",\n\t\t\tempty: \"\",\n\t\t\tmodifier: \"John\"\n\t\t},{\n\t\t\ttitle: \"hasList\",\n\t\t\ttext: \"This is the text of tiddler [[hasList]]\",\n\t\t\tlist: \"[[Tiddler Three]] [[TiddlerOne]]\",\n\t\t\tmodifier: \"PMario\"\n\t\t},{\n\t\t\ttitle: \"has filter\",\n\t\t\ttext: \"This is the text of tiddler [[has filter]]\",\n\t\t\tfilter: \"[[Tiddler Three]] [[TiddlerOne]] [subfilter{hasList!!list}]\",\n\t\t\tmodifier: \"PMario\"\n\t\t},{\n\t\t\ttitle: \"filter regexp test\",\n\t\t\ttext: \"Those strings have been used to create the `regexp = /[+|\\-|~]?([[](?:[^\\]])*\\]+)|([+|-|~|\\S]\\S*)/;`\",\n\t\t\tfilter: \"+aaa -bbb ~ccc aaaaaabbbbbbbbaa \\\"bb'b\\\" 'cc\\\"c' [[abc]] [[tiddler with spaces]] [is[test]] [is[te st]] a s df [enlist<hugo>] +[enlist:raw{test with spaces}] [enlist:raw{test with spaces}] [[a a]] [[ ] [ ]] [[ [hugo]] [subfilter{Story/Tower of Hanoi/A-C Sequence}]\",\n\t\t\tmodifier: \"PMario\"\n\t\t}];\n\t\t// Load the tiddlers in the required order\n\t\tvar fnCompare;\n\t\tswitch(wikiOptions.sort) {\n\t\t\tcase \"ascending\":\n\t\t\t\tfnCompare = function(a,b) {\n\t\t\t\t\tif(a.title < b.title) {\n\t\t\t\t\t\treturn -1;\n\t\t\t\t\t} else if(a.title > b.title) {\n\t\t\t\t\t\treturn +1;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn 0;\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase \"descending\":\n\t\t\t\tfnCompare = function(a,b) {\n\t\t\t\t\tif(a.title < b.title) {\n\t\t\t\t\t\treturn +1;\n\t\t\t\t\t} else if(a.title > b.title) {\n\t\t\t\t\t\treturn -1;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn 0;\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t}\n\t\tif(fnCompare) {\n\t\t\ttiddlers.sort(fnCompare);\n\t\t}\n\t\twiki.addTiddlers(tiddlers);\n\t\t// Unpack plugin tiddlers\n\t\twiki.readPluginInfo();\n\t\twiki.registerPluginTiddlers(\"plugin\");\n\t\twiki.unpackPluginTiddlers();\n\t\twiki.addIndexersToWiki();\n\t\treturn wiki;\n\t}\n\t\n\t// Our tests\n\tfunction runTests(wiki) {\n\t\n\t\tit(\"should handle the enlist operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[enlist[one two three]addsuffix[!]]\").join(\",\")).toBe(\"one!,two!,three!\");\n\t\t});\n\t\t\n\t\tit(\"should handle the enlist-input operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[[one two three]enlist-input[]]\").join(\",\")).toBe(\"one,two,three\");\n\t\t\texpect(wiki.filterTiddlers(\"[[one two two three]enlist-input[]]\").join(\",\")).toBe(\"one,two,three\");\n\t\t\texpect(wiki.filterTiddlers(\"[[one two two three]enlist-input:dedupe[]]\").join(\",\")).toBe(\"one,two,three\");\n\t\t\texpect(wiki.filterTiddlers(\"[[one two two three]enlist-input:raw[]]\").join(\",\")).toBe(\"one,two,two,three\");\n\t\t\texpect(wiki.filterTiddlers(\"[[one two three]] [[four five six]] +[enlist-input[]]\").join(\",\")).toBe(\"one,two,three,four,five,six\");\n\t\t\texpect(wiki.filterTiddlers(\"[[one two three]] [[four five six]] [[seven eight]] +[enlist-input[]]\").join(\",\")).toBe(\"one,two,three,four,five,six,seven,eight\");\n\t\t\texpect(wiki.filterTiddlers(\"[[]] +[enlist-input[]]\").join(\",\")).toBe(\"\");\n\t\t});\n\t\t\n\t\tit(\"should handle the then and else operators\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[modifier[JoeBloggs]then[Susi]]\").join(\",\")).toBe(\"Susi\");\n\t\t\texpect(wiki.filterTiddlers(\"[!modifier[JoeBloggs]then[Susi]]\").join(\",\")).toBe(\"Susi,Susi,Susi,Susi,Susi,Susi,Susi,Susi\");\n\t\t\texpect(wiki.filterTiddlers(\"[modifier[DaveBloggs]then[Susi]]\").join(\",\")).toBe(\"\");\n\t\t\texpect(wiki.filterTiddlers(\"[modifier[JoeBloggs]else[Susi]]\").join(\",\")).toBe(\"TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[!modifier[JoeBloggs]else[Susi]]\").join(\",\")).toBe(\"$:/ShadowPlugin,$:/TiddlerTwo,a fourth tiddler,filter regexp test,has filter,hasList,one,Tiddler Three\");\n\t\t\texpect(wiki.filterTiddlers(\"[modifier[DaveBloggs]else[Susi]]\").join(\",\")).toBe(\"Susi\");\n\t\t});\n\t\n\t\tit(\"should handle the ~ prefix\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[modifier[JoeBloggs]] ~[[No such tiddler]]\").join(\",\")).toBe(\"TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[modifier[Susi]] ~[[No such tiddler]]\").join(\",\")).toBe(\"No such tiddler\");\n\t\t\texpect(wiki.filterTiddlers(\"~[[No such tiddler]]\").join(\",\")).toBe(\"No such tiddler\");\n\t\t\texpect(wiki.filterTiddlers(\"[my-field[present]] ~[[No such tiddler]]\").join(\",\")).toBe(\"No such tiddler\");\n\t\t});\n\t\n\t\tit(\"should handle the lookup operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"Six Seventh 8 +[lookup[Tiddler]]\").join(\",\")).toBe(\"Missing inaction from [[TiddlerOne]],,Tidd\");\n\t\t\texpect(wiki.filterTiddlers(\"Six Seventh 8 +[lookup:8[Tiddler]]\").join(\",\")).toBe(\"Missing inaction from [[TiddlerOne]],8,Tidd\");\n\t\t\texpect(wiki.filterTiddlers(\"Six Seventh 8 +[lookup:8[Tiddler],[text]]\").join(\",\")).toBe(\"Missing inaction from [[TiddlerOne]],8,Tidd\");\n\t\t\texpect(wiki.filterTiddlers(\"Six Seventh 8 +[lookup[Tiddler],[tags]]\").join(\",\")).toBe(\",one,one\");\n\t\t});\n\t\n\t\tit(\"should retrieve shadow tiddlers\", function() {\n\t\t\texpect(wiki.getTiddlerText(\"Tiddler8\")).toBe(\"Tidd\");\n\t\t});\n\t\n\t\tit(\"should handle the title operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"TiddlerOne [title[$:/TiddlerTwo]] [[Tiddler Three]]\").join(\",\")).toBe(\"TiddlerOne,$:/TiddlerTwo,Tiddler Three\");\n\t\t\texpect(wiki.filterTiddlers(\"[!title[Tiddler Three]]\").join(\",\")).toBe(\"$:/ShadowPlugin,$:/TiddlerTwo,a fourth tiddler,filter regexp test,has filter,hasList,one,TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"TiddlerOne [title[$:/TiddlerTwo]] [[Tiddler Three]] [[A Missing Tiddler]]\").join(\",\")).toBe(\"TiddlerOne,$:/TiddlerTwo,Tiddler Three,A Missing Tiddler\");\n\t\t});\n\t\n\t\tit(\"should handle the field operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[modifier[JoeBloggs]]\").join(\",\")).toBe(\"TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[!modifier[JoeBloggs]]\").join(\",\")).toBe(\"$:/ShadowPlugin,$:/TiddlerTwo,a fourth tiddler,filter regexp test,has filter,hasList,one,Tiddler Three\");\n\t\t\texpect(wiki.filterTiddlers(\"[!is[system]!modifier[JoeBloggs]]\").join(\",\")).toBe(\"a fourth tiddler,filter regexp test,has filter,hasList,one,Tiddler Three\");\n\t\t\texpect(wiki.filterTiddlers(\"[field:modifier[JoeBloggs]]\").join(\",\")).toBe(\"TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[!field:modifier[JoeBloggs]]\").join(\",\")).toBe(\"$:/ShadowPlugin,$:/TiddlerTwo,a fourth tiddler,filter regexp test,has filter,hasList,one,Tiddler Three\");\n\t\t\texpect(wiki.filterTiddlers(\"[!is[system]!field:modifier[JoeBloggs]]\").join(\",\")).toBe(\"a fourth tiddler,filter regexp test,has filter,hasList,one,Tiddler Three\");\n\t\t\texpect(wiki.filterTiddlers(\"[modifier[John]]\").join(\",\")).toBe(\"$:/TiddlerTwo,a fourth tiddler,one,Tiddler Three\");\n\t\t\texpect(wiki.filterTiddlers(\"[!modifier[John]]\").join(\",\")).toBe(\"$:/ShadowPlugin,filter regexp test,has filter,hasList,TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[!is[system]!modifier[John]]\").join(\",\")).toBe(\"filter regexp test,has filter,hasList,TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[field:modifier[John]]\").join(\",\")).toBe(\"$:/TiddlerTwo,a fourth tiddler,one,Tiddler Three\");\n\t\t\texpect(wiki.filterTiddlers(\"[!field:modifier[John]]\").join(\",\")).toBe(\"$:/ShadowPlugin,filter regexp test,has filter,hasList,TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[!is[system]!field:modifier[John]]\").join(\",\")).toBe(\"filter regexp test,has filter,hasList,TiddlerOne\");\n\t\t});\n\t\n\t\tit(\"should handle the regexp operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[regexp[id]]\").join(\",\")).toBe(\"$:/TiddlerTwo,a fourth tiddler,Tiddler Three,TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[!regexp[id]]\").join(\",\")).toBe(\"$:/ShadowPlugin,filter regexp test,has filter,hasList,one\");\n\t\t\texpect(wiki.filterTiddlers(\"[regexp[Tid]]\").join(\",\")).toBe(\"$:/TiddlerTwo,Tiddler Three,TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[regexp[(?i)Tid]]\").join(\",\")).toBe(\"$:/TiddlerTwo,a fourth tiddler,Tiddler Three,TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[!regexp[Tid(?i)]]\").join(\",\")).toBe(\"$:/ShadowPlugin,filter regexp test,has filter,hasList,one\");\n\t\t});\n\t\n\t\t// The following 2 tests should write a log -> WARNING: Filter modifier has a deprecated regexp operand XXXX\n\t\t// The test should pass anyway.\n\t\tit(\"should handle the field operator with a regular expression operand\", function() {\n\t\t\tspyOn(console, \"log\");\n\t\t\texpect(wiki.filterTiddlers(\"[modifier/JoeBloggs/]\").join(\",\")).toBe(\"TiddlerOne\");\n\t\t\texpect(console.log).toHaveBeenCalledWith(\"WARNING: Filter\", \"modifier\", \"has a deprecated regexp operand\", /JoeBloggs/);\n\t\t\tconsole.log.calls.reset();\n\t\t\texpect(wiki.filterTiddlers(\"[modifier/Jo/]\").join(\",\")).toBe(\"$:/TiddlerTwo,a fourth tiddler,one,Tiddler Three,TiddlerOne\");\n\t\t\texpect(console.log).toHaveBeenCalledWith(\"WARNING: Filter\", \"modifier\", \"has a deprecated regexp operand\", /Jo/);\n\t\t});\n\n\t\tit(\"should handle regular expression operands without crashing\", function() {\n\t\t\tspyOn(console, \"log\");\n\t\t\t// We don't really care about the results. Just don't get RSoD.\n\t\t\texpect(() => wiki.filterTiddlers(\"[all/current/]\")).not.toThrow();\n\t\t\texpect(() => wiki.filterTiddlers(\"[prefix/anything/]\")).not.toThrow();\n\t\t\texpect(() => wiki.filterTiddlers(\"[title/anything/]\")).not.toThrow();\n\t\t\texpect(() => wiki.filterTiddlers(\"[/anything/]\")).not.toThrow();\n\t\t\texpect(() => wiki.filterTiddlers(\"[//]\")).not.toThrow();\n\t\t});\n\t\n\t\tit(\"should handle the prefix operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[prefix[Tiddler]]\").join(\",\")).toBe(\"Tiddler Three,TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[prefix:casesensitive[tiddler]]\").join(\",\")).toBe(\"\");\n\t\t\texpect(wiki.filterTiddlers(\"[prefix:caseinsensitive[tiddler]]\").join(\",\")).toBe(\"Tiddler Three,TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[prefix[nothing]]\").join(\",\")).toBe(\"\");\n\t\t\texpect(wiki.filterTiddlers(\"[enlist[ABCDE abcde]prefix[]]\").join(\",\")).toBe(\"ABCDE,abcde\");\n\t\t});\n\n\t\tit(\"should handle the suffix operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[suffix[One]]\").join(\",\")).toBe(\"TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[suffix:casesensitive[one]]\").join(\",\")).toBe(\"one\");\n\t\t\texpect(wiki.filterTiddlers(\"[suffix:caseinsensitive[one]]\").join(\",\")).toBe(\"one,TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[suffix[nothing]]\").join(\",\")).toBe(\"\");\n\t\t\texpect(wiki.filterTiddlers(\"[enlist[ABCDE abcde]suffix[]]\").join(\",\")).toBe(\"ABCDE,abcde\");\n\t\t});\n\n\t\tit(\"should handle the removeprefix operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[enlist[ABCDE abcde]removeprefix[ABC]]\").join(\",\")).toBe(\"DE\");\n\t\t\texpect(wiki.filterTiddlers(\"[enlist[ABCDE abcde]removeprefix:casesensitive[ABC]]\").join(\",\")).toBe(\"DE\");\n\t\t\texpect(wiki.filterTiddlers(\"[enlist[ABCDE abcde]removeprefix:caseinsensitive[abc]]\").join(\",\")).toBe(\"DE,de\");\n\t\t\texpect(wiki.filterTiddlers(\"[enlist[ABCDE abcde]removeprefix[]]\").join(\",\")).toBe(\"ABCDE,abcde\");\n\t\t});\n\n\t\tit(\"should handle the removesuffix operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[enlist[ABCDE abcde]removesuffix[DE]]\").join(\",\")).toBe(\"ABC\");\n\t\t\texpect(wiki.filterTiddlers(\"[enlist[ABCDE abcde]removesuffix:casesensitive[DE]]\").join(\",\")).toBe(\"ABC\");\n\t\t\texpect(wiki.filterTiddlers(\"[enlist[ABCDE abcde]removesuffix:caseinsensitive[de]]\").join(\",\")).toBe(\"ABC,abc\");\n\t\t\texpect(wiki.filterTiddlers(\"[enlist[ABCDE abcde]removesuffix[]]\").join(\",\")).toBe(\"ABCDE,abcde\");\n\t\t});\n\t\n\t\tit(\"should handle the sort and sortcs operators\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[sort[title]]\").join(\",\")).toBe(\"$:/ShadowPlugin,$:/TiddlerTwo,a fourth tiddler,filter regexp test,has filter,hasList,one,Tiddler Three,TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[!sort[title]]\").join(\",\")).toBe(\"TiddlerOne,Tiddler Three,one,hasList,has filter,filter regexp test,a fourth tiddler,$:/TiddlerTwo,$:/ShadowPlugin\");\n\t\t\texpect(wiki.filterTiddlers(\"[sort[modified]]\").join(\",\")).toBe(\"$:/ShadowPlugin,a fourth tiddler,filter regexp test,has filter,hasList,one,$:/TiddlerTwo,TiddlerOne,Tiddler Three\");\n\t\t\texpect(wiki.filterTiddlers(\"[!sort[modified]]\").join(\",\")).toBe(\"Tiddler Three,TiddlerOne,$:/TiddlerTwo,$:/ShadowPlugin,a fourth tiddler,filter regexp test,has filter,hasList,one\");\n\t\t\t// Temporarily commenting out the following two lines because of platform differences for localeCompare between the browser and Node.js\n\t\t\t// expect(wiki.filterTiddlers(\"[sortcs[title]]\").join(\",\")).toBe(\"$:/TiddlerTwo,Tiddler Three,TiddlerOne,a fourth tiddler,one\");\n\t\t\t// expect(wiki.filterTiddlers(\"[!sortcs[title]]\").join(\",\")).toBe(\"one,a fourth tiddler,TiddlerOne,Tiddler Three,$:/TiddlerTwo\");\n\t\t});\n\t\n\t\tit(\"should handle the nsort and nsortcs operators\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"3 2 0 1 5 Apple add Beta beatle +[nsort[]]\").join(\",\")).toBe(\"0,1,2,3,5,add,Apple,beatle,Beta\");\n\t\t\texpect(wiki.filterTiddlers(\"3 2 0 1 5 Apple add Beta beatle +[!nsort[]]\").join(\",\")).toBe(\"Beta,beatle,Apple,add,5,3,2,1,0\");\n\t\t\texpect(wiki.filterTiddlers(\"3 2 0 1 5 Apple add Beta beatle +[nsortcs[]]\").join(\",\")).toBe(\"0,1,2,3,5,add,Apple,beatle,Beta\");\n\t\t\texpect(wiki.filterTiddlers(\"3 2 0 1 5 Apple add Beta beatle +[!nsortcs[]]\").join(\",\")).toBe(\"Beta,beatle,Apple,add,5,3,2,1,0\");\n\t\t});\n\t\n\t\tit(\"should handle the reverse, first, last, butfirst, butlast, rest and nth operators\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[sort[title]first[]]\").join(\",\")).toBe(\"$:/ShadowPlugin\");\n\t\t\texpect(wiki.filterTiddlers(\"[sort[title]first[2]]\").join(\",\")).toBe(\"$:/ShadowPlugin,$:/TiddlerTwo\");\n\t\t\texpect(wiki.filterTiddlers(\"[sort[title]first[8]]\").join(\",\")).toBe(\"$:/ShadowPlugin,$:/TiddlerTwo,a fourth tiddler,filter regexp test,has filter,hasList,one,Tiddler Three\");\n\t\t\texpect(wiki.filterTiddlers(\"[sort[title]first[x]]\").join(\",\")).toBe(\"$:/ShadowPlugin\");\n\t\t\texpect(wiki.filterTiddlers(\"[sort[title]last[]]\").join(\",\")).toBe(\"TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[sort[title]last[0]]\").join(\",\")).toBe(\"\");\n\t\t\texpect(wiki.filterTiddlers(\"[sort[title]last[2]]\").join(\",\")).toBe(\"Tiddler Three,TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[sort[title]last[8]]\").join(\",\")).toBe(\"$:/TiddlerTwo,a fourth tiddler,filter regexp test,has filter,hasList,one,Tiddler Three,TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[sort[title]last[x]]\").join(\",\")).toBe(\"TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[sort[title]reverse[]]\").join(\",\")).toBe(\"TiddlerOne,Tiddler Three,one,hasList,has filter,filter regexp test,a fourth tiddler,$:/TiddlerTwo,$:/ShadowPlugin\");\n\t\t\texpect(wiki.filterTiddlers(\"[sort[title]reverse[x]]\").join(\",\")).toBe(\"TiddlerOne,Tiddler Three,one,hasList,has filter,filter regexp test,a fourth tiddler,$:/TiddlerTwo,$:/ShadowPlugin\");\n\t\t\texpect(wiki.filterTiddlers(\"[sort[title]butlast[]]\").join(\",\")).toBe(\"$:/ShadowPlugin,$:/TiddlerTwo,a fourth tiddler,filter regexp test,has filter,hasList,one,Tiddler Three\");\n\t\t\texpect(wiki.filterTiddlers(\"[sort[title]butlast[0]]\").join(\",\")).toBe(\"$:/ShadowPlugin,$:/TiddlerTwo,a fourth tiddler,filter regexp test,has filter,hasList,one,Tiddler Three,TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[sort[title]butlast[2]]\").join(\",\")).toBe(\"$:/ShadowPlugin,$:/TiddlerTwo,a fourth tiddler,filter regexp test,has filter,hasList,one\");\n\t\t\texpect(wiki.filterTiddlers(\"[sort[title]butlast[11]]\").join(\",\")).toBe(\"\");\n\t\t\texpect(wiki.filterTiddlers(\"[sort[title]butlast[x]]\").join(\",\")).toBe(\"$:/ShadowPlugin,$:/TiddlerTwo,a fourth tiddler,filter regexp test,has filter,hasList,one,Tiddler Three\");\n\t\t\texpect(wiki.filterTiddlers(\"[sort[title]rest[]]\").join(\",\")).toBe(\"$:/TiddlerTwo,a fourth tiddler,filter regexp test,has filter,hasList,one,Tiddler Three,TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[sort[title]rest[2]]\").join(\",\")).toBe(\"a fourth tiddler,filter regexp test,has filter,hasList,one,Tiddler Three,TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[sort[title]rest[11]]\").join(\",\")).toBe(\"\");\n\t\t\texpect(wiki.filterTiddlers(\"[sort[title]rest[x]]\").join(\",\")).toBe(\"$:/TiddlerTwo,a fourth tiddler,filter regexp test,has filter,hasList,one,Tiddler Three,TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[sort[title]nth[]]\").join(\",\")).toBe(\"$:/ShadowPlugin\");\n\t\t\texpect(wiki.filterTiddlers(\"[sort[title]nth[2]]\").join(\",\")).toBe(\"$:/TiddlerTwo\");\n\t\t\texpect(wiki.filterTiddlers(\"[sort[title]nth[11]]\").join(\",\")).toBe(\"\");\n\t\t\texpect(wiki.filterTiddlers(\"[sort[title]nth[x]]\").join(\",\")).toBe(\"$:/ShadowPlugin\");\n\t\t});\n\t\n\t\tit(\"should handle the tag operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[tag[one]sort[title]]\").join(\",\")).toBe(\"Tiddler Three,TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[!tag[one]sort[title]]\").join(\",\")).toBe(\"$:/ShadowPlugin,$:/TiddlerTwo,a fourth tiddler,filter regexp test,has filter,hasList,one\");\n\t\t\texpect(wiki.filterTiddlers(\"[prefix[Tidd]tag[one]sort[title]]\").join(\",\")).toBe(\"Tiddler Three,TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[!is[shadow]tag[two]sort[title]]\").join(\",\")).toBe(\"$:/TiddlerTwo,Tiddler Three\");\n\t\t\texpect(wiki.filterTiddlers(\"[all[shadows]tag[two]sort[title]]\").join(\",\")).toBe(\"$:/TiddlerFive\");\n\t\t});\n\t\n\t\tit(\"should handle the all operator with field, has and tag operators\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[all[shadows]tag[two]]\").join(\",\")).toBe(\"$:/TiddlerFive\");\n\t\t\texpect(wiki.filterTiddlers(\"[all[shadows+tiddlers]tag[two]]\").join(\",\")).toBe(\"$:/TiddlerFive,$:/TiddlerTwo,Tiddler Three\");\n\t\t\texpect(wiki.filterTiddlers(\"[all[tiddlers+shadows]tag[two]]\").join(\",\")).toBe(\"$:/TiddlerTwo,Tiddler Three,$:/TiddlerFive\");\n\t\t\texpect(wiki.filterTiddlers(\"[all[shadows+tiddlers]]\").join(\",\")).toBe(\"$:/TiddlerFive,Tiddler8,TiddlerSeventh,TiddlerSix,$:/ShadowPlugin,$:/TiddlerTwo,a fourth tiddler,filter regexp test,has filter,hasList,one,Tiddler Three,TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[all[tiddlers+shadows]]\").join(\",\")).toBe(\"$:/ShadowPlugin,$:/TiddlerTwo,a fourth tiddler,filter regexp test,has filter,hasList,one,Tiddler Three,TiddlerOne,$:/TiddlerFive,Tiddler8,TiddlerSeventh,TiddlerSix\");\n\t\t\texpect(wiki.filterTiddlers(\"[all[tiddlers]tag[two]]\").join(\",\")).toBe(\"$:/TiddlerTwo,Tiddler Three\");\n\t\t\texpect(wiki.filterTiddlers(\"[all[orphans+tiddlers+tags]]\").join(\",\")).toBe(\"$:/ShadowPlugin,$:/TiddlerTwo,a fourth tiddler,filter regexp test,has filter,hasList,Tiddler Three,TiddlerOne,two,one\");\n\t\t});\n\t\n\t\tit(\"should handle the tags operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[tags[]sort[title]]\").join(\",\")).toBe(\"one,two\");\n\t\t\texpect(wiki.filterTiddlers(\"[[TiddlerOne]tags[]sort[title]]\").join(\",\")).toBe(\"one\");\n\t\t});\n\t\n\t\tit(\"should handle the match operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[match[TiddlerOne]]\").join(\",\")).toBe(\"TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"TiddlerOne TiddlerOne =[match[TiddlerOne]]\").join(\",\")).toBe(\"TiddlerOne,TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[!match[TiddlerOne]]\").join(\",\")).toBe(\"$:/ShadowPlugin,$:/TiddlerTwo,a fourth tiddler,filter regexp test,has filter,hasList,one,Tiddler Three\");\n\t\t\texpect(wiki.filterTiddlers(\"[match:casesensitive[tiddlerone]]\").join(\",\")).toBe(\"\");\n\t\t\texpect(wiki.filterTiddlers(\"[!match:casesensitive[tiddlerone]]\").join(\",\")).toBe(\"$:/ShadowPlugin,$:/TiddlerTwo,a fourth tiddler,filter regexp test,has filter,hasList,one,Tiddler Three,TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[match:caseinsensitive[tiddlerone]]\").join(\",\")).toBe(\"TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[!match:caseinsensitive[tiddlerone]]\").join(\",\")).toBe(\"$:/ShadowPlugin,$:/TiddlerTwo,a fourth tiddler,filter regexp test,has filter,hasList,one,Tiddler Three\");\n\t\t});\n\t\n\t\tit(\"should handle the tagging operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[[one]tagging[]sort[title]]\").join(\",\")).toBe(\"Tiddler Three,Tiddler8,TiddlerOne,TiddlerSeventh\");\n\t\t\texpect(wiki.filterTiddlers(\"[[one]tagging[]]\").join(\",\")).toBe(\"Tiddler Three,TiddlerOne,Tiddler8,TiddlerSeventh\");\n\t\t\texpect(wiki.filterTiddlers(\"[[two]tagging[]sort[title]]\").join(\",\")).toBe(\"$:/TiddlerFive,$:/TiddlerTwo,Tiddler Three\");\n\t\t\tvar fakeWidget = {wiki: wiki, getVariable: function(name) {return name === \"currentTiddler\" ? \"one\": undefined;}};\n\t\t\texpect(wiki.filterTiddlers(\"[all[current]tagging[]]\",fakeWidget).join(\",\")).toBe(\"Tiddler Three,TiddlerOne,Tiddler8,TiddlerSeventh\");\n\t\t});\n\t\n\t\tit(\"should handle the untagged operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[untagged[]sort[title]]\").join(\",\")).toBe(\"$:/ShadowPlugin,a fourth tiddler,filter regexp test,has filter,hasList,one\");\n\t\t\texpect(wiki.filterTiddlers(\"[!untagged[]sort[title]]\").join(\",\")).toBe(\"$:/TiddlerTwo,Tiddler Three,TiddlerOne\");\n\t\t\t// Should consider non-existent tiddlers untagged.\n\t\t\texpect(wiki.filterTiddlers(\"[enlist[a b c]untagged[]]\").join(\",\")).toBe(\"a,b,c\");\n\t\t\texpect(wiki.filterTiddlers(\"[enlist[a b c]!untagged[]]\").join(\",\")).toBe(\"\");\n\t\t});\n\t\n\t\tit(\"should handle the links operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[!is[shadow]links[]sort[title]]\").join(\",\")).toBe(\"$:/TiddlerTwo,a fourth tiddler,has filter,hasList,one,Tiddler Three,TiddlerSix,TiddlerZero\");\n\t\t\texpect(wiki.filterTiddlers(\"[all[shadows]links[]sort[title]]\").join(\",\")).toBe(\"TiddlerOne\");\n\t\t});\n\t\n\t\tit(\"should handle the backlinks operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[!is[shadow]backlinks[]sort[title]]\").join(\",\")).toBe(\"a fourth tiddler,has filter,hasList,one,TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[all[shadows]backlinks[]sort[title]]\").join(\",\")).toBe(\"Tiddler Three\");\n\t\t});\n\t\n\t\tit(\"should handle the has operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[has[modified]sort[title]]\").join(\",\")).toBe(\"$:/TiddlerTwo,Tiddler Three,TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[!has[modified]sort[title]]\").join(\",\")).toBe(\"$:/ShadowPlugin,a fourth tiddler,filter regexp test,has filter,hasList,one\");\n\t\t\texpect(wiki.filterTiddlers(\"[has[tags]sort[title]]\").join(\",\")).toBe(\"$:/TiddlerTwo,Tiddler Three,TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[!has[tags]sort[title]]\").join(\",\")).toBe(\"$:/ShadowPlugin,a fourth tiddler,filter regexp test,has filter,hasList,one\");\n\t\t});\n\t\n\t\tit(\"should handle the has:field operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[has:field[empty]sort[title]]\").join(\",\")).toBe(\"a fourth tiddler,one\");\n\t\t\texpect(wiki.filterTiddlers(\"[!has:field[empty]sort[title]]\").join(\",\")).toBe(\"$:/ShadowPlugin,$:/TiddlerTwo,filter regexp test,has filter,hasList,Tiddler Three,TiddlerOne\");\n\t\t});\n\t\n\t\n\t\tit(\"should handle the limit operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[!is[system]sort[title]limit[2]]\").join(\",\")).toBe(\"a fourth tiddler,filter regexp test\");\n\t\t\texpect(wiki.filterTiddlers(\"[prefix[Tid]sort[title]limit[1]]\").join(\",\")).toBe(\"Tiddler Three\");\n\t\t\texpect(wiki.filterTiddlers(\"[prefix[Tid]sort[title]!limit[1]]\").join(\",\")).toBe(\"TiddlerOne\");\n\t\t});\n\t\n\t\tit(\"should handle the list operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[list[TiddlerSeventh]sort[title]]\").join(\",\")).toBe(\"a fourth tiddler,MissingTiddler,Tiddler Three,TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[tag[one]list[TiddlerSeventh]sort[title]]\").join(\",\")).toBe(\"a fourth tiddler,MissingTiddler,Tiddler Three,TiddlerOne\");\n\t\t});\n\n\t\tit(\"should handle the listed operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"TiddlerOne MissingTiddler +[listed[]]\").join(\",\")).toBe(\"hasList,one\");\n\t\t\texpect(wiki.filterTiddlers(\"one two +[listed[tags]]\").join(\",\")).toBe(\"TiddlerOne,$:/TiddlerTwo,Tiddler Three\");\n\t\t});\n\t\n\t\tit(\"should handle the next operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[[Tiddler Three]next[TiddlerSeventh]]\").join(\",\")).toBe(\"a fourth tiddler\");\n\t\t\texpect(wiki.filterTiddlers(\"[[MissingTiddler]next[TiddlerSeventh]]\").join(\",\")).toBe(\"\");\n\t\t});\n\t\n\t\tit(\"should handle the previous operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[[Tiddler Three]previous[TiddlerSeventh]]\").join(\",\")).toBe(\"TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[[TiddlerOne]previous[TiddlerSeventh]]\").join(\",\")).toBe(\"\");\n\t\t});\n\t\n\t\tit(\"should handle the search operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[search[the]sort[title]]\").join(\",\")).toBe(\"$:/TiddlerTwo,a fourth tiddler,filter regexp test,has filter,hasList,one,Tiddler Three,TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[search{Tiddler8}sort[title]]\").join(\",\")).toBe(\"$:/ShadowPlugin,$:/TiddlerTwo,a fourth tiddler,has filter,hasList,one,Tiddler Three,TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[search:modifier[og]sort[title]]\").join(\",\")).toBe(\"TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[search:modifier,authors:casesensitive[Do]sort[title]]\").join(\",\")).toBe(\"$:/TiddlerTwo\");\n\t\t\texpect(wiki.filterTiddlers(\"[search:modifier,authors:casesensitive[do]sort[title]]\").join(\",\")).toBe(\"\");\n\t\t\texpect(wiki.filterTiddlers(\"[search:authors:casesensitive,whitespace[John    Doe]sort[title]]\").join(\",\")).toBe(\"$:/TiddlerTwo\");\n\t\t\texpect(wiki.filterTiddlers(\"[search:modifier:regexp[(d|bl)o(ggs|e)]sort[title]]\").join(\",\")).toBe(\"TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[search:-modifier,authors:[g]sort[title]]\").join(\",\")).toBe(\"$:/ShadowPlugin,filter regexp test,Tiddler Three\");\n\t\t\texpect(wiki.filterTiddlers(\"[search:*:[g]sort[title]]\").join(\",\")).toBe(\"$:/ShadowPlugin,filter regexp test,Tiddler Three,TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[search:text:anchored[the]]\").join(\",\")).toBe(\"$:/TiddlerTwo,a fourth tiddler,Tiddler Three,TiddlerOne\");\n\t\t});\n\n\t\tit(\"should yield search results where 'default' search finds at least 1 token\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[search::some[one two]sort[title]]\").join(\",\")).toBe(\"$:/ShadowPlugin,$:/TiddlerTwo,one,Tiddler Three,TiddlerOne\");\n\t\t});\n\n\t\tit(\"should yield search results where 'title' finds at least one token\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[search:title:some[tiddler]sort[title]]\").join(\",\")).toBe(\"$:/TiddlerTwo,a fourth tiddler,Tiddler Three,TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[search:title:some[tiddler one]sort[title]]\").join(\",\")).toBe(\"$:/TiddlerTwo,a fourth tiddler,one,Tiddler Three,TiddlerOne\");\n\t\t});\n\n\t\tit(\"should yield search results where 'tags' finds at least one token\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[search:tags:some[one]sort[title]]\").join(\",\")).toBe(\"Tiddler Three,TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[search:tags:some[two]sort[title]]\").join(\",\")).toBe(\"$:/TiddlerTwo,Tiddler Three\");\n\t\t\texpect(wiki.filterTiddlers(\"[search:tags:some[two one]sort[title]]\").join(\",\")).toBe(\"$:/TiddlerTwo,Tiddler Three,TiddlerOne\");\n\t\t});\n\n\t\tit(\"should yield search results where 'tags' finds at least one token / casesensitive\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[search:tags:some[ONE]sort[title]]\").join(\",\")).toBe(\"Tiddler Three,TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[search:tags:some,casesensitive[two ONE]sort[title]]\").join(\",\")).toBe(\"$:/TiddlerTwo,Tiddler Three\");\n\t\t});\n\n\t\tit(\"should yield search results where 'tags' finds at least one token / anchored\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[search:tags:some,anchored[one]sort[title]]\").join(\",\")).toBe(\"Tiddler Three,TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[search:tags:some,anchored[two]sort[title]]\").join(\",\")).toBe(\"$:/TiddlerTwo,Tiddler Three\");\n\t\t\t// search:title\n\t\t\texpect(wiki.filterTiddlers(\"[search:title:some,anchored[tiddler]sort[title]]\").join(\",\")).toBe(\"Tiddler Three,TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[search:title:some,anchored[tiddler one]sort[title]]\").join(\",\")).toBe(\"one,Tiddler Three,TiddlerOne\");\n\t\t});\n\n\t\tit(\"should yield search results where 'tags' finds at least one token / anchored & casesensitive\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[search:title:some,anchored,casesensitive[Tiddler one]sort[title]]\").join(\",\")).toBe(\"one,Tiddler Three,TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[search:title:some,anchored,casesensitive[Tiddler ONE]sort[title]]\").join(\",\")).toBe(\"Tiddler Three,TiddlerOne\");\n\t\t});\n\n\t\tit(\"should yield search results that have search tokens spread across different fields\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[search[fox one]sort[title]]\").join(\",\")).toBe(\"TiddlerOne\");\n\t\t});\n\n\t\tit(\"should handle the each operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[each[modifier]sort[title]]\").join(\",\")).toBe(\"$:/ShadowPlugin,$:/TiddlerTwo,filter regexp test,TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[each:list-item[tags]sort[title]]\").join(\",\")).toBe(\"one,two\");\n\t\t\texpect(wiki.filterTiddlers(\"[each:list-item[authors]sort[title]]\").join(\",\")).toBe(\"Bloggs,Joe,John Doe\");\n\t\t});\n\t\n\t\tit(\"should handle the eachday operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[eachday[modified]sort[title]]\").join(\",\")).toBe(\"$:/TiddlerTwo,Tiddler Three\");\n\t\t});\n\t\n\t\tit(\"should handle the sameday operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[sameday[201304152200]sort[title]]\").join(\",\")).toBe(\"$:/TiddlerTwo,TiddlerOne\");\n\t\t});\n\t\n\t\tdescribe(\"testing the is operator\",function() {\n\t\n\t\t\tit(\"should handle the '[is[current]]' operator\", function() {\n\t\t\t\tvar fakeWidget = {getVariable: function() {return \"Tiddler Three\";}};\n\t\t\t\texpect(wiki.filterTiddlers(\"[is[current]]\",fakeWidget).join(\",\")).toBe(\"Tiddler Three\");\n\t\t\t\texpect(wiki.filterTiddlers(\"[[Tiddler Three]is[current]]\",fakeWidget).join(\",\")).toBe(\"Tiddler Three\");\n\t\t\t\texpect(wiki.filterTiddlers(\"[[$:/TiddlerTwo]is[current]]\",fakeWidget).join(\",\")).toBe(\"\");\n\t\t\t\texpect(wiki.filterTiddlers(\"[!is[current]sort[title]]\",fakeWidget).join(\",\")).toBe(\"$:/ShadowPlugin,$:/TiddlerTwo,a fourth tiddler,filter regexp test,has filter,hasList,one,TiddlerOne\");\n\t\t\t});\n\t\n\t\t\tit(\"should handle the '[is[system]]' operator\", function() {\n\t\t\t\texpect(wiki.filterTiddlers(\"[is[system]]\").join(\",\")).toBe(\"$:/ShadowPlugin,$:/TiddlerTwo\");\n\t\t\t\texpect(wiki.filterTiddlers(\"[!is[system]sort[title]]\").join(\",\")).toBe(\"a fourth tiddler,filter regexp test,has filter,hasList,one,Tiddler Three,TiddlerOne\");\n\t\t\t});\n\t\n\t\t\tit(\"should handle the '[is[shadow]]' operator\", function() {\n\t\t\t\texpect(wiki.filterTiddlers(\"[all[shadows]sort[title]]\").join(\",\")).toBe(\"$:/TiddlerFive,Tiddler8,TiddlerSeventh,TiddlerSix\");\n\t\t\t\texpect(wiki.filterTiddlers(\"[!is[shadow]sort[title]]\").join(\",\")).toBe(\"$:/ShadowPlugin,$:/TiddlerTwo,a fourth tiddler,filter regexp test,has filter,hasList,one,Tiddler Three,TiddlerOne\");\n\t\t\t});\n\t\n\t\t\tit(\"should handle the '[is[missing]]' operator\", function() {\n\t\t\t\texpect(wiki.filterTiddlers(\"[all[]]\").join(\",\")).toBe(\"$:/ShadowPlugin,$:/TiddlerTwo,a fourth tiddler,filter regexp test,has filter,hasList,one,Tiddler Three,TiddlerOne\");\n\t\t\t\texpect(wiki.filterTiddlers(\"[all[missing]]\").join(\",\")).toBe(\"TiddlerZero\");\n\t\t\t\texpect(wiki.filterTiddlers(\"[!is[missing]sort[title]]\").join(\",\")).toBe(\"$:/ShadowPlugin,$:/TiddlerTwo,a fourth tiddler,filter regexp test,has filter,hasList,one,Tiddler Three,TiddlerOne\");\n\t\t\t\texpect(wiki.filterTiddlers(\"[[TiddlerOne]is[missing]]\").join(\",\")).toBe(\"\");\n\t\t\t\texpect(wiki.filterTiddlers(\"[[TiddlerZero]is[missing]]\").join(\",\")).toBe(\"TiddlerZero\");\n\t\t\t\texpect(wiki.filterTiddlers(\"[!title[Tiddler Three]is[missing]]\").join(\",\")).toBe(\"\");\n\t\t\t\texpect(wiki.filterTiddlers(\"[!title[Tiddler Three]!is[missing]sort[title]]\").join(\",\")).toBe(\"$:/ShadowPlugin,$:/TiddlerTwo,a fourth tiddler,filter regexp test,has filter,hasList,one,TiddlerOne\");\n\t\t\t});\n\t\n\t\t\tit(\"should handle the '[is[orphan]]' operator\", function() {\n\t\t\t\texpect(wiki.filterTiddlers(\"[is[orphan]sort[title]]\").join(\",\")).toBe(\"a fourth tiddler,filter regexp test,TiddlerOne\");\n\t\t\t\texpect(wiki.filterTiddlers(\"[!is[orphan]]\").join(\",\")).toBe(\"$:/ShadowPlugin,$:/TiddlerTwo,has filter,hasList,one,Tiddler Three\");\n\t\t\t\texpect(wiki.filterTiddlers(\"[[TiddlerOne]is[orphan]]\").join(\",\")).toBe(\"TiddlerOne\");\n\t\t\t\texpect(wiki.filterTiddlers(\"[[TiddlerOne]!is[orphan]]\").join(\",\")).toBe(\"\");\n\t\t\t\texpect(wiki.filterTiddlers(\"[!title[Tiddler Three]is[orphan]sort[title]]\").join(\",\")).toBe(\"a fourth tiddler,filter regexp test,TiddlerOne\");\n\t\t\t\texpect(wiki.filterTiddlers(\"[!title[Tiddler Three]!is[orphan]]\").join(\",\")).toBe(\"$:/ShadowPlugin,$:/TiddlerTwo,has filter,hasList,one\");\n\t\t\t});\n\n\t\t\tit(\"should handle the '[is[draft]]' operator\", function() {\n\t\t\t\tvar wiki = new $tw.Wiki();\n\t\t\t\twiki.addTiddlers([\n\t\t\t\t\t{title: \"A\"},\n\t\t\t\t\t{title: \"Draft of 'A'\", \"draft.of\": \"A\", \"draft.title\": \"A\"},\n\t\t\t\t\t{title: \"B\"},\n\t\t\t\t\t{title: \"Draft of 'B'\", \"draft.of\": \"B\"},\n\t\t\t\t\t{title: \"C\"},\n\t\t\t\t\t// Not a true draft. Doesn't have draft.of\n\t\t\t\t\t{title: \"Draft of 'C'\", \"draft.title\": \"C\"},\n\t\t\t\t\t{title: \"E\"},\n\t\t\t\t\t// Broken. Has draft.of, but it's empty. Still a draft\n\t\t\t\t\t{title: \"Draft of 'E'\", \"draft.of\": \"\", \"draft.title\": \"\"}\n\t\t\t\t\t// Not a draft. It doesn't exist.\n\t\t\t\t\t//{title: \"F\"} // This one is deliberately missing\n\t\t\t\t]);\n\t\t\t\t// is analagous to [has[draft.of]],\n\t\t\t\t// except they handle empty draft.of differently\n\t\t\t\texpect(wiki.filterTiddlers(\"[all[]] F +[is[draft]]\").join(\",\")).toEqual(\"Draft of 'A',Draft of 'B',Draft of 'E'\");\n\t\t\t\texpect(wiki.filterTiddlers(\"[all[]] F +[!is[draft]]\").join(\",\")).toEqual(\"A,B,C,Draft of 'C',E,F\");\n\t\t\t\t// [is[draft]] and [!is[draft]] are proper complements\n\t\t\t\tvar included = wiki.filterTiddlers(\"[all[]] F +[is[draft]]\");\n\t\t\t\tvar excluded = wiki.filterTiddlers(\"[all[]] F +[!is[draft]]\");\n\t\t\t\tvar all = [].concat(included, excluded).sort();\n\t\t\t\t// combined, they should have exactly one of everything.\n\t\t\t\texpect(wiki.filterTiddlers(\"[all[]] F +[sort[]]\")).toEqual(all);\n\t\t\t});\n\t\n\t\t});\n\t\n\t\tit(\"should handle the operand prefixes\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[prefix[Tiddler]] +[sort[title]]\").join(\",\")).toBe(\"Tiddler Three,TiddlerOne\");\n\t\t});\n\t\n\t\tit(\"should handle indirect operands\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[{!!missing}]\").join(\",\")).toBe(\"\");\n\t\t\texpect(wiki.filterTiddlers(\"[{!!title}]\").join(\",\")).toBe(\"\");\n\t\t\texpect(wiki.filterTiddlers(\"[prefix{Tiddler8}] +[sort[title]]\").join(\",\")).toBe(\"Tiddler Three,TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[modifier{Tiddler8!!test-field}] +[sort[title]]\").join(\",\")).toBe(\"TiddlerOne\");\n\t\t\tvar fakeWidget = {wiki: wiki, getVariable: function(name) {return name === \"currentTiddler\" ? \"Tiddler Three\": undefined;}};\n\t\t\texpect(wiki.filterTiddlers(\"[modifier{!!modifier}] +[sort[title]]\",fakeWidget).join(\",\")).toBe(\"$:/TiddlerTwo,a fourth tiddler,one,Tiddler Three\");\n\t\t});\n\t\n\t\tit(\"should handle variable operands\", function() {\n\t\n\t\t\tvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\t\t\t// Create a root widget for attaching event handlers. By using it as the parentWidget for another widget tree, one can reuse the event handlers\n\t\t\tvar rootWidget = new widget.widget({ type:\"widget\", children:[ {type:\"widget\", children:[]} ] },\n\t\t\t\t{ wiki:wiki, document:$tw.document});\n\t\t\trootWidget.makeChildWidgets();\n\t\t\tvar anchorWidget = rootWidget.children[0];\n\t\t\trootWidget.setVariable(\"myVar\",\"Tidd\");\n\t\t\trootWidget.setVariable(\"myVar2\",\"JoeBloggs\");\n\t\t\texpect(wiki.filterTiddlers(\"[prefix<myVar>] +[sort[title]]\",anchorWidget).join(\",\")).toBe(\"Tiddler Three,TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[modifier<myVar2>] +[sort[title]]\",anchorWidget).join(\",\")).toBe(\"TiddlerOne\");\n\t\t});\n\t\n\t\tit(\"should handle the before and after operators\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[list[TiddlerSeventh]after[TiddlerOne]]\").join(\",\")).toBe(\"Tiddler Three\");\n\t\t\texpect(wiki.filterTiddlers(\"[list[TiddlerSeventh]after[a fourth tiddler]]\").join(\",\")).toBe(\"MissingTiddler\");\n\t\t\texpect(wiki.filterTiddlers(\"[list[TiddlerSeventh]after[MissingTiddler]]\").join(\",\")).toBe(\"\");\n\t\t\texpect(wiki.filterTiddlers(\"[list[TiddlerSeventh]before[TiddlerOne]]\").join(\",\")).toBe(\"\");\n\t\t\texpect(wiki.filterTiddlers(\"[list[TiddlerSeventh]before[a fourth tiddler]]\").join(\",\")).toBe(\"Tiddler Three\");\n\t\t\texpect(wiki.filterTiddlers(\"[list[TiddlerSeventh]before[MissingTiddler]]\").join(\",\")).toBe(\"a fourth tiddler\");\n\t\t});\n\t\n\t\tit(\"should handle the range operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[range[10:0:2]]\").join(\",\")).toBe(\"10,8,6,4,2,0\");\n\t\t\texpect(wiki.filterTiddlers(\"[range[10;0;2]]\").join(\",\")).toBe(\"10,8,6,4,2,0\");\n\t\t\texpect(wiki.filterTiddlers(\"[range[1.001,5,1]]\").join(\",\")).toBe(\"1.001,2.001,3.001,4.001\");\n\t\t\texpect(wiki.filterTiddlers(\"[range[0,10]]\").join(\",\")).toBe(\"0,1,2,3,4,5,6,7,8,9,10\");\n\t\t\texpect(wiki.filterTiddlers(\"[range[0],[10]]\").join(\",\")).toBe(\"0,1,2,3,4,5,6,7,8,9,10\");\n\t\t\texpect(wiki.filterTiddlers(\"[range[10,0]]\").join(\",\")).toBe(\"10,9,8,7,6,5,4,3,2,1,0\");\n\t\t\texpect(wiki.filterTiddlers(\"[range[10],[0]]\").join(\",\")).toBe(\"10,9,8,7,6,5,4,3,2,1,0\");\n\t\t\texpect(wiki.filterTiddlers(\"[range[0,10,2]]\").join(\",\")).toBe(\"0,2,4,6,8,10\");\n\t\t\texpect(wiki.filterTiddlers(\"[range[0],[10],[2]]\").join(\",\")).toBe(\"0,2,4,6,8,10\");\n\t\t\texpect(wiki.filterTiddlers(\"[range[10,0,2]]\").join(\",\")).toBe(\"10,8,6,4,2,0\");\n\t\t\texpect(wiki.filterTiddlers(\"[range[10],[0],[2]]\").join(\",\")).toBe(\"10,8,6,4,2,0\");\n\t\t});\n\t\n\t\tit(\"should handle the string operators\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"John Paul George Ringo +[length[]]\").join(\",\")).toBe(\"4,4,6,5\");\n\t\t\texpect(wiki.filterTiddlers(\"John Paul George Ringo +[uppercase[]]\").join(\",\")).toBe(\"JOHN,PAUL,GEORGE,RINGO\");\n\t\t\texpect(wiki.filterTiddlers(\"John Paul George Ringo +[lowercase[]]\").join(\",\")).toBe(\"john,paul,george,ringo\");\n\t\t\texpect(wiki.filterTiddlers(\"John Paul George Ringo +[split[]]\").join(\",\")).toBe(\"J,o,h,n,P,a,u,l,G,e,o,r,g,e,R,i,n,g,o\");\n\t\t\texpect(wiki.filterTiddlers(\"[[John. Paul. George. Ringo.]] +[split[.]trim[]]\").join(\",\")).toBe(\"John,Paul,George,Ringo,\");\n\t\t\texpect(wiki.filterTiddlers(\"John Paul George Ringo +[split[e]]\").join(\",\")).toBe(\"John,Paul,G,org,,Ringo\");\n\t\t\texpect(wiki.filterTiddlers(\"John Paul George Ringo +[join[ ]split[e]join[ee]split[ ]]\").join(\",\")).toBe(\"John,Paul,Geeorgee,Ringo\");\n\t\t\t// Ensure that join doesn't return null if passed empty list\n\t\t\texpect(wiki.filterTiddlers(\"Test +[butlast[]join[ ]]\")).toEqual([]);\n\t\t\t// Ensure that join correctly handles empty strings in source\n\t\t\texpect(wiki.filterTiddlers(\"[[]] Paul +[join[-]]\").join(\",\")).toBe(\"-Paul\");\n\t\t\texpect(wiki.filterTiddlers(\"[[ John ]] [[Paul ]] [[ George]] Ringo +[trim[]join[-]]\").join(\",\")).toBe(\"John-Paul-George-Ringo\");\n\t\t\texpect(wiki.filterTiddlers(\"[[ abc ]] [[def ]] [[ ghi]] +[trim[]]\").join(\",\")).toBe(\"abc,def,ghi\");\n\t\t\texpect(wiki.filterTiddlers(\"[[ abc ]] [[def ]] [[ ghi]] +[trim:prefix[]]\").join(\",\")).toBe(\"abc ,def ,ghi\");\n\t\t\texpect(wiki.filterTiddlers(\"[[ abc ]] [[def ]] [[ ghi]] +[trim:suffix[]]\").join(\",\")).toBe(\" abc,def, ghi\");\n\t\t\texpect(wiki.filterTiddlers(\"[[ abacus ]] [[ baobab ]] +[trim[ab]]\").join(\",\")).toBe(\" abacus , baobab \");\n\t\t\texpect(wiki.filterTiddlers(\"[[ abacus ]] [[ baobab ]] +[trim[a]]\").join(\",\")).toBe(\" abacus , baobab \");\n\t\t\texpect(wiki.filterTiddlers(\"abacus baobab +[trim[a]]\").join(\",\")).toBe(\"bacus,baobab\");\n\t\t\texpect(wiki.filterTiddlers(\"abacus baobab +[trim[ab]]\").join(\",\")).toBe(\"acus,baob\");\n\t\t\texpect(wiki.filterTiddlers(\"abacus baobab +[trim:prefix[ab]]\").join(\",\")).toBe(\"acus,baobab\");\n\t\t\texpect(wiki.filterTiddlers(\"abacus baobab +[trim:suffix[ab]]\").join(\",\")).toBe(\"abacus,baob\");\n\t\t\t// Trim doesn't hiccup on regexp special characters\n\t\t\texpect(wiki.filterTiddlers(\"[[.*abacus.*]] [[.+baobab.+]] +[trim[.*]]\").join(\",\")).toBe(\"abacus,.+baobab.+\");\n\t\t\texpect(wiki.filterTiddlers(\"[[.*abacus.*]] [[.+baobab.+]] +[trim[.+]]\").join(\",\")).toBe(\".*abacus.*,baobab\");\n\t\t});\n\t\n\t\tit(\"should handle the mathematics operators\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[[2]add[2]]\").join(\",\")).toBe(\"4\");\n\t\t\texpect(wiki.filterTiddlers(\"[[4]subtract[2]]\").join(\",\")).toBe(\"2\");\n\t\t\texpect(wiki.filterTiddlers(\"[[24]divide[8]]\").join(\",\")).toBe(\"3\");\n\t\t\texpect(wiki.filterTiddlers(\"[[355]divide[113]sign[]multiply[4]]\").join(\",\")).toBe(\"4\");\n\t\t\texpect(wiki.filterTiddlers(\"[[355]divide[113]add[0.5]round[]multiply[4]]\").join(\",\")).toBe(\"16\");\n\t\t\texpect(wiki.filterTiddlers(\"1 2 3 4 +[sum[]]\").join(\",\")).toBe(\"10\");\n\t\t\texpect(wiki.filterTiddlers(\"1 2 3 4 +[product[]]\").join(\",\")).toBe(\"24\");\n\t\t\texpect(wiki.filterTiddlers(\"1 2 3 4 +[maxall[]]\").join(\",\")).toBe(\"4\");\n\t\t\texpect(wiki.filterTiddlers(\"1 2 3 4 +[minall[]]\").join(\",\")).toBe(\"1\");\n\t\t\texpect(wiki.filterTiddlers(\"1 2 3 4 +[max[2]]\").join(\",\")).toBe(\"2,2,3,4\");\n\t\t\texpect(wiki.filterTiddlers(\"1 2 3 4 +[min[2]]\").join(\",\")).toBe(\"1,2,2,2\");\n\t\t});\n\t\n\t\t/* listops filters */\n\t\t\n\t\tit(\"should handle the allafter operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"1 2 3 4 +[allafter[]]\").join(\",\")).toBe(\"\");\n\t\t\texpect(wiki.filterTiddlers(\"1 2 3 4 +[allafter:include[]]\").join(\",\")).toBe(\"\");\n\t\t\texpect(wiki.filterTiddlers(\"1 2 3 4 +[allafter[1]]\").join(\",\")).toBe(\"2,3,4\");\n\t\t\texpect(wiki.filterTiddlers(\"1 2 3 4 +[allafter:include[1]]\").join(\",\")).toBe(\"1,2,3,4\");\n\t\t\texpect(wiki.filterTiddlers(\"1 2 3 4 +[allafter[2]]\").join(\",\")).toBe(\"3,4\");\n\t\t\texpect(wiki.filterTiddlers(\"1 2 3 4 +[allafter:include[2]]\").join(\",\")).toBe(\"2,3,4\");\n\t\t\texpect(wiki.filterTiddlers(\"1 2 3 4 +[allafter[3]]\").join(\",\")).toBe(\"4\");\n\t\t\texpect(wiki.filterTiddlers(\"1 2 3 4 +[allafter:include[3]]\").join(\",\")).toBe(\"3,4\");\n\t\t\texpect(wiki.filterTiddlers(\"1 2 3 4 +[allafter[4]]\").join(\",\")).toBe(\"\");\n\t\t\texpect(wiki.filterTiddlers(\"1 2 3 4 +[allafter:include[4]]\").join(\",\")).toBe(\"4\");\n\t\t\texpect(wiki.filterTiddlers(\"1 2 3 4 +[allafter[5]]\").join(\",\")).toBe(\"\");\n\t\t\texpect(wiki.filterTiddlers(\"1 2 3 4 +[allafter:include[5]]\").join(\",\")).toBe(\"\");\n\t\t});\n\t\n\t\tit(\"should handle the allbefore operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"1 2 3 4 +[allbefore[]]\").join(\",\")).toBe(\"\");\n\t\t\texpect(wiki.filterTiddlers(\"1 2 3 4 +[allbefore:include[]]\").join(\",\")).toBe(\"\");\n\t\t\texpect(wiki.filterTiddlers(\"1 2 3 4 +[allbefore[1]]\").join(\",\")).toBe(\"\");\n\t\t\texpect(wiki.filterTiddlers(\"1 2 3 4 +[allbefore:include[1]]\").join(\",\")).toBe(\"1\");\n\t\t\texpect(wiki.filterTiddlers(\"1 2 3 4 +[allbefore[2]]\").join(\",\")).toBe(\"1\");\n\t\t\texpect(wiki.filterTiddlers(\"1 2 3 4 +[allbefore:include[2]]\").join(\",\")).toBe(\"1,2\");\n\t\t\texpect(wiki.filterTiddlers(\"1 2 3 4 +[allbefore[3]]\").join(\",\")).toBe(\"1,2\");\n\t\t\texpect(wiki.filterTiddlers(\"1 2 3 4 +[allbefore:include[3]]\").join(\",\")).toBe(\"1,2,3\");\n\t\t\texpect(wiki.filterTiddlers(\"1 2 3 4 +[allbefore[4]]\").join(\",\")).toBe(\"1,2,3\");\n\t\t\texpect(wiki.filterTiddlers(\"1 2 3 4 +[allbefore:include[4]]\").join(\",\")).toBe(\"1,2,3,4\");\n\t\t\texpect(wiki.filterTiddlers(\"1 2 3 4 +[allbefore[5]]\").join(\",\")).toBe(\"\");\n\t\t\texpect(wiki.filterTiddlers(\"1 2 3 4 +[allbefore:include[5]]\").join(\",\")).toBe(\"\");\n\t\t});\n\t\n\t\tit(\"should handle the append operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"a b c +[append[d e]]\").join(\",\")).toBe(\"a,b,c,d,e\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c +[append:1[d e]]\").join(\",\")).toBe(\"a,b,c,d\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c +[append{TiddlerSeventh!!list}]\").join(\",\")).toBe(\"a,b,c,TiddlerOne,Tiddler Three,a fourth tiddler,MissingTiddler\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c +[append:2{TiddlerSeventh!!list}]\").join(\",\")).toBe(\"a,b,c,TiddlerOne,Tiddler Three\");\n\t\t\t\n\t\t\texpect(wiki.filterTiddlers(\"a [[b c]] +[append{TiddlerSix!!filter}]\").join(\",\")).toBe(\"a,b c,one,a a,[subfilter{hasList!!list}]\");\n\t\t});\n\n\t\tit(\"should handle the insertafter operator\", function() {\n\t\t\tvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\t\t\tvar rootWidget = new widget.widget({ type:\"widget\", children:[ {type:\"widget\", children:[]} ] },\n\t\t\t\t{ wiki:wiki, document:$tw.document});\n\t\t\trootWidget.makeChildWidgets();\n\t\t\tvar anchorWidget = rootWidget.children[0];\n\t\t\trootWidget.setVariable(\"myVar\",\"c\");\n\t\t\trootWidget.setVariable(\"tidTitle\",\"e\");\n\t\t\trootWidget.setVariable(\"tidList\",\"one tid with spaces\");\n\n\t\t\t// Position title specified as suffix.\n\t\t\texpect(wiki.filterTiddlers(\"a b c d e f +[insertafter:myVar[f]]\",anchorWidget).join(\",\")).toBe(\"a,b,c,f,d,e\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c d e f +[insertafter:myVar<tidTitle>]\",anchorWidget).join(\",\")).toBe(\"a,b,c,e,d,f\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c d e f +[insertafter:myVar[gg gg]]\",anchorWidget).join(\",\")).toBe(\"a,b,c,gg gg,d,e,f\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c d e +[insertafter:myVar<tidList>]\",anchorWidget).join(\",\")).toBe(\"a,b,c,one tid with spaces,d,e\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c d e f +[insertafter:tidTitle{TiddlerOne!!tags}]\",anchorWidget).join(\",\")).toBe(\"a,b,c,d,e,one,f\");\n\n\t\t\t// Position title specified as parameter.\n\t\t\texpect(wiki.filterTiddlers(\"a b c d e +[insertafter[f],[a]]\",anchorWidget).join(\",\")).toBe(\"a,f,b,c,d,e\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c d e +[insertafter[f],<myVar>]\",anchorWidget).join(\",\")).toBe(\"a,b,c,f,d,e\");\n\n\t\t\t// Parameter takes precedence over suffix.\n\t\t\texpect(wiki.filterTiddlers(\"a b c d e +[insertafter:myVar[f],[a]]\",anchorWidget).join(\",\")).toBe(\"a,f,b,c,d,e\");\n\n\t\t\t// No position title.\n\t\t\texpect(wiki.filterTiddlers(\"a b c [[with space]] +[insertafter[b]]\").join(\",\")).toBe(\"a,c,with space,b\");\n\n\t\t\t// Position title does not exist, and no suffix given.\n\t\t\texpect(wiki.filterTiddlers(\"a b c d e +[insertafter:foo[b]]\").join(\",\")).toBe(\"a,c,d,e,b\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c d e +[insertafter[b],[foo]]\").join(\",\")).toBe(\"a,c,d,e,b\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c d e +[insertafter[b],<foo>]\").join(\",\")).toBe(\"a,c,d,e,b\");\n\n\t\t\t// Position title does not exist, but \"start\" or \"end\" given as suffix\n\t\t\texpect(wiki.filterTiddlers(\"a b c d e +[insertafter:start[b],[foo]]\").join(\",\")).toBe(\"b,a,c,d,e\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c d e +[insertafter:start[b],<foo>]\").join(\",\")).toBe(\"b,a,c,d,e\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c d e +[insertafter:end[b],[foo]]\").join(\",\")).toBe(\"a,c,d,e,b\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c d e +[insertafter:end[b],<foo>]\").join(\",\")).toBe(\"a,c,d,e,b\");\n\t\t});\n\n\t\tit(\"should handle the insertbefore operator\", function() {\n\t\t\tvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\t\t\tvar rootWidget = new widget.widget({ type:\"widget\", children:[ {type:\"widget\", children:[]} ] },\n\t\t\t\t{ wiki:wiki, document:$tw.document});\n\t\t\trootWidget.makeChildWidgets();\n\t\t\tvar anchorWidget = rootWidget.children[0];\n\t\t\trootWidget.setVariable(\"myVar\",\"c\");\n\t\t\trootWidget.setVariable(\"tidTitle\",\"e\");\n\t\t\trootWidget.setVariable(\"tidList\",\"one tid with spaces\");\n\t\t\t\n\t\t\t// Position title specified as suffix.\n\t\t\texpect(wiki.filterTiddlers(\"a b c d e f +[insertbefore:myVar[f]]\",anchorWidget).join(\",\")).toBe(\"a,b,f,c,d,e\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c d e f +[insertbefore:myVar<tidTitle>]\",anchorWidget).join(\",\")).toBe(\"a,b,e,c,d,f\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c d e f +[insertbefore:myVar[gg gg]]\",anchorWidget).join(\",\")).toBe(\"a,b,gg gg,c,d,e,f\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c d e +[insertbefore:myVar<tidList>]\",anchorWidget).join(\",\")).toBe(\"a,b,one tid with spaces,c,d,e\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c d e f +[insertbefore:tidTitle{TiddlerOne!!tags}]\",anchorWidget).join(\",\")).toBe(\"a,b,c,d,one,e,f\");\n\n\t\t\t// Position title specified as parameter.\n\t\t\texpect(wiki.filterTiddlers(\"a b c d e +[insertbefore[f],[a]]\",anchorWidget).join(\",\")).toBe(\"f,a,b,c,d,e\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c d e +[insertbefore[f],<myVar>]\",anchorWidget).join(\",\")).toBe(\"a,b,f,c,d,e\");\n\n\t\t\t// Parameter takes precedence over suffix.\n\t\t\texpect(wiki.filterTiddlers(\"a b c d e +[insertbefore:myVar[f],[a]]\",anchorWidget).join(\",\")).toBe(\"f,a,b,c,d,e\");\n\t\n\t\t\t// No position title.\n\t\t\texpect(wiki.filterTiddlers(\"a b c [[with space]] +[insertbefore[b]]\").join(\",\")).toBe(\"a,c,with space,b\");\n\n\t\t\t// Position title does not exist, and no suffix given.\n\t\t\texpect(wiki.filterTiddlers(\"a b c d e +[insertbefore:foo[b]]\").join(\",\")).toBe(\"a,c,d,e,b\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c d e +[insertbefore[b],[foo]]\").join(\",\")).toBe(\"a,c,d,e,b\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c d e +[insertbefore[b],<foo>]\").join(\",\")).toBe(\"a,c,d,e,b\");\n\n\t\t\t// Position title does not exist, but \"start\" or \"end\" given as suffix\n\t\t\texpect(wiki.filterTiddlers(\"a b c d e +[insertbefore:start[b],[foo]]\").join(\",\")).toBe(\"b,a,c,d,e\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c d e +[insertbefore:start[b],<foo>]\").join(\",\")).toBe(\"b,a,c,d,e\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c d e +[insertbefore:end[b],[foo]]\").join(\",\")).toBe(\"a,c,d,e,b\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c d e +[insertbefore:end[b],<foo>]\").join(\",\")).toBe(\"a,c,d,e,b\");\n\t\t});\n\t\n\t\tit(\"should handle the move operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"a b c d e +[move[c]]\").join(\",\")).toBe(\"a,b,d,c,e\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c d e +[move:2[c]]\").join(\",\")).toBe(\"a,b,d,e,c\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c d e +[move:10[c]]\").join(\",\")).toBe(\"a,b,d,e,c\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c d e +[move:-1[c]]\").join(\",\")).toBe(\"a,c,b,d,e\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c d e +[move:-5[c]]\").join(\",\")).toBe(\"c,a,b,d,e\");\n\t\t});\n\t\n\t\tit(\"should handle the prepend operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"a b c +[prepend[dd ee]]\").join(\",\")).toBe(\"dd,ee,a,b,c\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c +[prepend:3[ff gg]]\").join(\",\")).toBe(\"ff,gg,a,b,c\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c +[prepend:1[hh ii]]\").join(\",\")).toBe(\"hh,a,b,c\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c +[prepend:0[jj kk]]\").join(\",\")).toBe(\"a,b,c\");\n\t\t\t\n\t\t\texpect(wiki.filterTiddlers(\"a b c +[prepend:-0[ll mm]]\").join(\",\")).toBe(\"a,b,c\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c +[prepend:-1[nn oo pp qq]]\").join(\",\")).toBe(\"nn,oo,pp,a,b,c\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c +[prepend:-2[rr ss tt uu]]\").join(\",\")).toBe(\"rr,ss,a,b,c\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c +[prepend:-4[rr ss tt uu]]\").join(\",\")).toBe(\"a,b,c\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c +[prepend:-5[vv ww xx yy]]\").join(\",\")).toBe(\"a,b,c\");\n\t\t});\n\t\n\t\tit(\"should handle the putafter operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"a b c dd ee +[putafter[b]]\").join(\",\")).toBe(\"a,b,ee,c,dd\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c dd ee +[putafter:1[b]]\").join(\",\")).toBe(\"a,b,ee,c,dd\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c dd ee +[putafter:2[b]]\").join(\",\")).toBe(\"a,b,dd,ee,c\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c dd ee +[putafter:3[b]]\").join(\",\")).toBe(\"a,b,c,dd,ee\");\n\t\t\t// It starts to duplicate elements\n\t\t\texpect(wiki.filterTiddlers(\"a b c dd ee +[putafter:4[b]]\").join(\",\")).toBe(\"a,b,b,c,dd,ee\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c dd ee +[putafter:5[b]]\").join(\",\")).toBe(\"a,b,a,b,c,dd,ee\");\n\t\t\t// There are only 5 elements in the input\n\t\t\texpect(wiki.filterTiddlers(\"a b c ff gg +[putafter:6[b]]\").join(\",\")).toBe(\"a,b,a,b,c,ff,gg\");\n\t\n\t\t\t// -1 starts to \"eat\" elements for the left and duplicates b\n\t\t\texpect(wiki.filterTiddlers(\"a b c hh ii +[putafter:-1[b]]\").join(\",\")).toBe(\"a,b,b,c,hh,ii\");\n\t\t\t// -2 moves c, hh, ii behind b, which is not visible\n\t\t\texpect(wiki.filterTiddlers(\"a b c hh ii +[putafter:-2[b]]\").join(\",\")).toBe(\"a,b,c,hh,ii\");\n\t\t\t// only ii is used from input and it's moved behind b\n\t\t\texpect(wiki.filterTiddlers(\"a b c hh ii +[putafter:-4[b]]\").join(\",\")).toBe(\"a,b,ii,c,hh\");\n\t\t\t// wasting time, because there are only 5 elements\n\t\t\texpect(wiki.filterTiddlers(\"a b c hh ii +[putafter:-5[b]]\").join(\",\")).toBe(\"a,b,c,hh,ii\");\n\t\t\t// there are only 5 elements\n\t\t\texpect(wiki.filterTiddlers(\"a b c hh ii +[putafter:-10[b]]\").join(\",\")).toBe(\"a,b,c,hh,ii\");\n\t\n\t\t\t// use NAN uses default = 1\n\t\t\texpect(wiki.filterTiddlers(\"a b c jj kk +[putafter:NAN[b]]\").join(\",\")).toBe(\"a,b,kk,c,jj\");\n\t\t});\n\t\n\t\tit(\"should handle the putbefore operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"a b c dd +[putbefore[b]]\").join(\",\")).toBe(\"a,dd,b,c\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c ff +[putbefore:1[b]]\").join(\",\")).toBe(\"a,ff,b,c\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c gg +[putbefore:2[b]]\").join(\",\")).toBe(\"a,c,gg,b\");\n\t\n\t\t\texpect(wiki.filterTiddlers(\"a b c [[g g]] +[putbefore:2[b]]\").join(\",\")).toBe(\"a,c,g g,b\");\n\t\n\t\t\t// this one is strange\n\t\t\texpect(wiki.filterTiddlers(\"a b c ee +[putbefore:0[b]]\").join(\",\")).toBe(\"a,a,b,c,ee\");\n\t\t\t\n\t\t\t// b is not part of the list anymore, so it will be appended at the end ???\n\t\t\texpect(wiki.filterTiddlers(\"a b c hh +[putbefore:3[b]]\").join(\",\")).toBe(\"a,b,c,hh\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c ii +[putbefore:4[b]]\").join(\",\")).toBe(\"a,a,b,c,ii\");\n\t\t\t\n\t\t\t// ????\n\t\t\texpect(wiki.filterTiddlers(\"a b c ii +[putbefore:10[b]]\").join(\",\")).toBe(\"a,a,b,c,ii\");\n\t\t\t\n\t\t\texpect(wiki.filterTiddlers(\"a b c kk +[putbefore:-1[b]]\").join(\",\")).toBe(\"a,b,c,kk\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c ll +[putbefore:-2[b]]\").join(\",\")).toBe(\"a,c,ll,b\");\n\t\t\t\n\t\t\texpect(wiki.filterTiddlers(\"a b c mm +[putbefore:-3[b]]\").join(\",\")).toBe(\"a,mm,b,c\");\n\t\t\t\n\t\t\texpect(wiki.filterTiddlers(\"a b c nn +[putbefore:-10[b]]\").join(\",\")).toBe(\"a,b,c,nn\");\n\t\t});\n\t\n\t\tit(\"should handle the putfirst operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"a b c +[putfirst[a b]]\").join(\",\")).toBe(\"c,a,b\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c +[putfirst[]]\").join(\",\")).toBe(\"c,a,b\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c +[putfirst:2[]]\").join(\",\")).toBe(\"b,c,a\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c +[putfirst:3[]]\").join(\",\")).toBe(\"a,b,c\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c +[putfirst:4[]]\").join(\",\")).toBe(\"a,b,c\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c +[putfirst:-0[]]\").join(\",\")).toBe(\"a,b,c\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c +[putfirst:-1[]]\").join(\",\")).toBe(\"b,c,a\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c +[putfirst:-2[]]\").join(\",\")).toBe(\"c,a,b\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c +[putfirst:-4[]]\").join(\",\")).toBe(\"a,b,c\");\n\t\t});\n\t\n\t\tit(\"should handle the putlast operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"a b c +[putlast[d e]]\").join(\",\")).toBe(\"b,c,a\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c +[putlast[]]\").join(\",\")).toBe(\"b,c,a\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c +[putlast:1[]]\").join(\",\")).toBe(\"b,c,a\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c +[putlast:2[]]\").join(\",\")).toBe(\"c,a,b\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c +[putlast:3[]]\").join(\",\")).toBe(\"a,b,c\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c +[putlast:4[]]\").join(\",\")).toBe(\"a,b,c\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c +[putlast:-0[]]\").join(\",\")).toBe(\"a,b,c\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c +[putlast:0[]]\").join(\",\")).toBe(\"a,b,c\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c +[putlast:-1[]]\").join(\",\")).toBe(\"c,a,b\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c +[putlast:-2[]]\").join(\",\")).toBe(\"b,c,a\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c +[putlast:-4[]]\").join(\",\")).toBe(\"a,b,c\");\n\t\t});\n\t\n\t\tit(\"should handle the remove operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"a b c +[remove[d e]]\").join(\",\")).toBe(\"a,b,c\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c +[remove[a]]\").join(\",\")).toBe(\"b,c\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c +[remove[c b a]]\").join(\",\")).toBe(\"\");\n\t\t});\n\t\n\t\tit(\"should handle the replace operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"a b c dd +[replace[a]]\").join(\",\")).toBe(\"dd,b,c\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c dd ee +[replace:2[a]]\").join(\",\")).toBe(\"dd,ee,b,c\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c dd ee +[replace:5[c]]\").join(\",\")).toBe(\"a,b,a,b,c,dd,ee\");\n\t\t\t\n\t\t\t// strange things happen.\n\t\t\texpect(wiki.filterTiddlers(\"a b c dd ee +[replace:-1[c]]\").join(\",\")).toBe(\"a,b,b,c,dd,ee\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c dd ee +[replace:-2[c]]\").join(\",\")).toBe(\"a,b,c,dd,ee\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c dd ee +[replace:-2[ee]]\").join(\",\")).toBe(\"a,b,c,dd,c,dd,ee\");\n\t\t});\n\t\n\t\tit(\"should handle the sortby operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"a b c +[sortby[d e]]\").join(\",\")).toBe(\"a,b,c\");\n\t\t\texpect(wiki.filterTiddlers(\"a b c +[sortby[b c a]]\").join(\",\")).toBe(\"b,c,a\");\n\t\t\texpect(wiki.filterTiddlers(\"aa a b c +[sortby[b c a cc]]\").join(\",\")).toBe(\"aa,b,c,a\");\n\t\t\texpect(wiki.filterTiddlers(\"a bb b c +[sortby[b c a cc]]\").join(\",\")).toBe(\"bb,b,c,a\");\n\t\t\texpect(wiki.filterTiddlers(\"a bb cc b c +[sortby[b c a cc]]\").join(\",\")).toBe(\"bb,b,c,a,cc\");\n\t\n\t\t\texpect(wiki.filterTiddlers(\"b a b c +[sortby[]]\").join(\",\")).toBe(\"a,b,c\");\n\t\t\texpect(wiki.filterTiddlers(\"b a b c +[sortby[a b b c]]\").join(\",\")).toBe(\"a,b,c\");\n\t\t\texpect(wiki.filterTiddlers(\"b a b c +[sortby[b a c b]]\").join(\",\")).toBe(\"b,a,c\");\n\t\t});\n\t\n\t\tit(\"should handle the sortan operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"b a c +[sortan[]]\").join(\",\")).toBe(\"a,b,c\");\n\t\t\texpect(wiki.filterTiddlers(\"b2 a3 a1 b1 c2 a2 c3 b3 c1 +[sortan[]]\").join(\",\")).toBe(\"a1,a2,a3,b1,b2,b3,c1,c2,c3\");\n\t\t\texpect(wiki.filterTiddlers(\"b2 a10 c10 a1 b1 c2 a2 b10 c1 +[sortan[]]\").join(\",\")).toBe(\"a1,a2,a10,b1,b2,b10,c1,c2,c10\");\n\t\t\texpect(wiki.filterTiddlers(\"TiddlerOne $:/TiddlerTwo [[Tiddler Three]] +[sortan[]]\").join(\",\")).toBe(\"$:/TiddlerTwo,Tiddler Three,TiddlerOne\");\n\t\t});\n\t\n\t\tit(\"should handle the sortan operator sorting on date fields\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"TiddlerOne $:/TiddlerTwo [[Tiddler Three]] +[sortan[modified]]\").join(\",\")).toBe(\"$:/TiddlerTwo,TiddlerOne,Tiddler Three\");\n\t\t\texpect(wiki.filterTiddlers(\"hasList TiddlerOne $:/TiddlerTwo [[Tiddler Three]] +[sortan[modified]]\").join(\",\")).toBe(\"hasList,$:/TiddlerTwo,TiddlerOne,Tiddler Three\");\n\t\t});\n\t\n\t\tit(\"should handle the slugify operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[[Joe Bloggs]slugify[]]\").join(\",\")).toBe(\"joe-bloggs\");\n\t\t\texpect(wiki.filterTiddlers(\"[[Joe Bloggs2]slugify[]]\").join(\",\")).toBe(\"joe-bloggs2\");\n\t\t\texpect(wiki.filterTiddlers(\"[[@£$%^&*((]slugify[]]\").join(\",\")).toBe(\"64-163-36-37-94-38-42-40-40\");\n\t\t\texpect(wiki.filterTiddlers(\"One one ONE O!N!E +[slugify[]]\").join(\",\")).toBe(\"one,one,one,one\");\n\t\t\texpect(wiki.filterTiddlers(\"TiddlerOne $:/TiddlerTwo +[slugify[]]\").join(\",\")).toBe(\"tiddler-one,tiddler-two\");\n\t\t});\n\t\n\t\tit(\"should handle the sortsub operator\", function() {\n\t\t\tvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\t\t\tvar rootWidget = new widget.widget({ type:\"widget\", children:[ {type:\"widget\", children:[]} ] },\n\t\t\t\t{ wiki:wiki, document:$tw.document});\n\t\t\trootWidget.makeChildWidgets();\n\t\t\tvar anchorWidget = rootWidget.children[0];\n\t\t\trootWidget.setVariable(\"sort1\",\"[length[]]\");\n\t\t\trootWidget.setVariable(\"sort2\",\"[get[text]else[]length[]]\");\n\t\t\trootWidget.setVariable(\"sort3\",\"[{!!value}divide{!!cost}]\");\n\t\t\trootWidget.setVariable(\"sort4\",\"[{!!title}]\");\n\t\t\trootWidget.setVariable(\"undefined-variable\",\"[<doesnotexist>]\");\n\t\t\trootWidget.setVariable(\"echo\",\"$text$\",[{name:\"text\"}],true);\n\t\t\trootWidget.setVariable(\"sort4-macro-param\",\"[subfilter<echo '[{!!title}]'>]\");\n\t\t\texpect(wiki.filterTiddlers(\"[sortsub:number<sort1>]\",anchorWidget).join(\",\")).toBe(\"one,hasList,has filter,TiddlerOne,$:/TiddlerTwo,Tiddler Three,$:/ShadowPlugin,a fourth tiddler,filter regexp test\");\n\t\t\texpect(wiki.filterTiddlers(\"[!sortsub:number<sort1>]\",anchorWidget).join(\",\")).toBe(\"filter regexp test,a fourth tiddler,$:/ShadowPlugin,$:/TiddlerTwo,Tiddler Three,has filter,TiddlerOne,hasList,one\");\n\t\t\texpect(wiki.filterTiddlers(\"[sortsub:string<sort1>]\",anchorWidget).join(\",\")).toBe(\"has filter,TiddlerOne,$:/TiddlerTwo,Tiddler Three,$:/ShadowPlugin,a fourth tiddler,filter regexp test,one,hasList\");\n\t\t\texpect(wiki.filterTiddlers(\"[!sortsub:string<sort1>]\",anchorWidget).join(\",\")).toBe(\"hasList,one,filter regexp test,a fourth tiddler,$:/ShadowPlugin,$:/TiddlerTwo,Tiddler Three,has filter,TiddlerOne\");\n\t\t\texpect(wiki.filterTiddlers(\"[sortsub:number<sort2>]\",anchorWidget).join(\",\")).toBe(\"one,TiddlerOne,hasList,has filter,a fourth tiddler,$:/TiddlerTwo,Tiddler Three,filter regexp test,$:/ShadowPlugin\");\n\t\t\texpect(wiki.filterTiddlers(\"[!sortsub:number<sort2>]\",anchorWidget).join(\",\")).toBe(\"$:/ShadowPlugin,filter regexp test,Tiddler Three,$:/TiddlerTwo,a fourth tiddler,has filter,hasList,TiddlerOne,one\");\n\t\t\texpect(wiki.filterTiddlers(\"[sortsub:string<sort2>]\",anchorWidget).join(\",\")).toBe(\"one,TiddlerOne,hasList,has filter,$:/ShadowPlugin,a fourth tiddler,$:/TiddlerTwo,Tiddler Three,filter regexp test\");\n\t\t\texpect(wiki.filterTiddlers(\"[!sortsub:string<sort2>]\",anchorWidget).join(\",\")).toBe(\"filter regexp test,Tiddler Three,$:/TiddlerTwo,a fourth tiddler,$:/ShadowPlugin,has filter,hasList,TiddlerOne,one\");\n\t\t\texpect(wiki.filterTiddlers(\"[[TiddlerOne]] [[$:/TiddlerTwo]] [[Tiddler Three]] [[a fourth tiddler]] +[!sortsub:number<sort3>]\",anchorWidget).join(\",\")).toBe(\"$:/TiddlerTwo,Tiddler Three,TiddlerOne,a fourth tiddler\");\n\t\t\texpect(wiki.filterTiddlers(\"a1 a10 a2 a3 b10 b3 b1 c9 c11 c1 +[sortsub:alphanumeric<sort4>]\",anchorWidget).join(\",\")).toBe(\"a1,a2,a3,a10,b1,b3,b10,c1,c9,c11\");\n\t\t\t// #7155. The order of the output is the same as the input when an undefined variable is used in the subfitler\n\t\t\texpect(wiki.filterTiddlers(\"a2 a10 a1 +[sortsub:alphanumeric<undefined-variable>]\",anchorWidget).join(\",\")).toBe(\"a2,a10,a1\");\n\t\t\texpect(wiki.filterTiddlers(\"a1 a10 a2 a3 b10 b3 b1 c9 c11 c1 +[sortsub:alphanumeric<sort4-macro-param>]\",anchorWidget).join(\",\")).toBe(\"a1,a2,a3,a10,b1,b3,b10,c1,c9,c11\");\n\t\t});\n\t\t\n\t\tit(\"should handle the toggle operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[[Tiddler Three]tags[]] +[toggle[one]]\").join(\",\")).toBe(\"two\");\n\t\t\texpect(wiki.filterTiddlers(\"[[Tiddler Three]tags[]] -[[one]] +[toggle[one]]\").join(\",\")).toBe(\"two,one\");\n\t\t\texpect(wiki.filterTiddlers(\"[[Tiddler Three]tags[]] +[toggle[three],[four]]\").join(\",\")).toBe(\"one,two,three\");\n\t\t\texpect(wiki.filterTiddlers(\"[[Tiddler Three]tags[]] [[three]] +[toggle[three],[four]]\").join(\",\")).toBe(\"one,two,four\");\n\t\t\texpect(wiki.filterTiddlers(\"[[Tiddler Three]tags[]] [[three]] [[four]] +[toggle[three],[five]]\").join(\",\")).toBe(\"one,two,five,four\");\n\t\t});\n\t\n\t\tit(\"should handle multiple operands for search-replace\", function() {\n\t\t\tvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\t\t\tvar rootWidget = new widget.widget({ type:\"widget\", children:[ {type:\"widget\", children:[]} ] },\n\t\t\t\t{ wiki:wiki, document:$tw.document});\n\t\t\trootWidget.makeChildWidgets();\n\t\t\tvar anchorWidget = rootWidget.children[0];\n\t\t\trootWidget.setVariable(\"var1\",\"different\");\n\t\t\trootWidget.setVariable(\"myregexp1\",\"e|o\");\n\t\t\trootWidget.setVariable(\"myregexp2\",\"^Unlike \");\n\t\t\trootWidget.setVariable(\"myregexp3\",\"^(?!Unlike).*$\");\n\t\t\trootWidget.setVariable(\"name\",\"(\\w+)\\s(\\w+)\");\n\t\t\texpect(wiki.filterTiddlers(\"[[Welcome to TiddlyWiki, a unique non-linear webpage.]search-replace[webpage],[notebook]]\").join(\",\")).toBe(\"Welcome to TiddlyWiki, a unique non-linear notebook.\");\n\t\t\texpect(wiki.filterTiddlers(\"[[Welcome to TiddlyWiki, a unique non-linear notebook.]search-replace[unique],<var1>]\",anchorWidget).join(\",\")).toBe(\"Welcome to TiddlyWiki, a different non-linear notebook.\");\n\t\t\texpect(wiki.filterTiddlers(\"[[Welcome to TiddlyWiki, a unique non-linear notebook.]search-replace[TiddlyWiki],{one}]\",anchorWidget).join(\",\")).toBe(\"Welcome to This is the text of tiddler [[one]], a unique non-linear notebook.\");\n\t\t\texpect(wiki.filterTiddlers(\"[[Hello There]search-replace:g:regexp<myregexp1>,[]]\",anchorWidget).join(\",\")).toBe(\"Hll Thr\");\n\t\t\texpect(wiki.filterTiddlers(\"[[Hello There]search-replace::regexp<myregexp1>,[]]\",anchorWidget).join(\",\")).toBe(\"Hllo There\");\n\t\t\texpect(wiki.filterTiddlers(\"[[Hello There]search-replace:gi[H],[]]\",anchorWidget).join(\",\")).toBe(\"ello Tere\");\n\t\t\texpect(wiki.filterTiddlers(\"[[Unlike conventional online services, TiddlyWiki lets you choose where to keep your data\\nUnlike conventional online services, TiddlyWiki lets you choose where to keep your data\\nUnlike conventional online services, TiddlyWiki lets you choose where to keep your data\\nUnlike conventional online services, TiddlyWiki lets you choose where to keep your data]search-replace:g:regexp<myregexp2>,[]]\",anchorWidget).join(\",\")).toBe(\"conventional online services, TiddlyWiki lets you choose where to keep your data\\nUnlike conventional online services, TiddlyWiki lets you choose where to keep your data\\nUnlike conventional online services, TiddlyWiki lets you choose where to keep your data\\nUnlike conventional online services, TiddlyWiki lets you choose where to keep your data\");\n\t\t\texpect(wiki.filterTiddlers(\"[[Unlike conventional online services, TiddlyWiki lets you choose where to keep your data\\nUnlike conventional online services, TiddlyWiki lets you choose where to keep your data\\nUnlike conventional online services, TiddlyWiki lets you choose where to keep your data\\nUnlike conventional online services, TiddlyWiki lets you choose where to keep your data]search-replace:gm:regexp<myregexp2>,[]]\",anchorWidget).join(\",\")).toBe(\"conventional online services, TiddlyWiki lets you choose where to keep your data\\nconventional online services, TiddlyWiki lets you choose where to keep your data\\nconventional online services, TiddlyWiki lets you choose where to keep your data\\nconventional online services, TiddlyWiki lets you choose where to keep your data\");\n\t\t\texpect(wiki.filterTiddlers(\"[[Hello There\\nUnlike conventional online services, TiddlyWiki lets you choose where to keep your data\\nguaranteeing that in the decades to come you will still be able to use the notes you take today.]search-replace:gm:regexp<myregexp3>,[]]\",anchorWidget).join(\",\")).toBe(\"\\nUnlike conventional online services, TiddlyWiki lets you choose where to keep your data\\n\");\n\t\t\texpect(wiki.filterTiddlers(\"[[This is equation $$x$$ end.]search-replace[equation $$x$$ end.],[relation $$x$$ finish.]]\").join(\",\")).toBe(\"This is relation $$x$$ finish.\");\n\t\t\texpect(wiki.filterTiddlers(\"[[This is an amazing TiddlyWiki]] [[How old is TiddlyWiki?. TiddlyWiki is great]] [[My TiddlyWiki is so fast.]] +[search-replace:g:regexp[TiddlyWiki],[TW]]\").join(\",\")).toBe(\"This is an amazing TW,How old is TW?. TW is great,My TW is so fast.\");\n\t\t\texpect(wiki.filterTiddlers(\"[[This is an amazing TiddlyWiki]] [[How old is TiddlyWiki?. TiddlyWiki is great]] [[My TiddlyWiki is so fast.]] +[search-replace::regexp[TiddlyWiki],[TW]]\").join(\",\")).toBe(\"This is an amazing TW,How old is TW?. TiddlyWiki is great,My TW is so fast.\");\n\t\t\texpect(wiki.filterTiddlers(\"[[This is an amazing TiddlyWiki]] [[How old is TiddlyWiki?. TiddlyWiki is great]] [[My TiddlyWiki is so fast.]] +[search-replace:g[TiddlyWiki],[TW]]\").join(\",\")).toBe(\"This is an amazing TW,How old is TW?. TW is great,My TW is so fast.\");\n\t\t});\n\t\t\n\t\tit(\"should handle the pad operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[[2]pad[]]\").join(\",\")).toBe(\"2\");\n\t\t\texpect(wiki.filterTiddlers(\"[[2]pad[0]]\").join(\",\")).toBe(\"2\");\n\t\t\texpect(wiki.filterTiddlers(\"[[2]pad[1]]\").join(\",\")).toBe(\"2\");\n\t\t\texpect(wiki.filterTiddlers(\"2 20 +[pad[3]]\").join(\",\")).toBe(\"002,020\");\n\t\t\texpect(wiki.filterTiddlers(\"[[2]pad[9]]\").join(\",\")).toBe(\"000000002\");\n\t\t\texpect(wiki.filterTiddlers(\"[[2]pad[9],[a]]\").join(\",\")).toBe(\"aaaaaaaa2\");\n\t\t\texpect(wiki.filterTiddlers(\"[[12]pad[9],[abc]]\").join(\",\")).toBe(\"abcabca12\");\n\t\t\texpect(wiki.filterTiddlers(\"[[12]pad:suffix[9],[abc]]\").join(\",\")).toBe(\"12abcabca\");\n\t\t});\n\t\n\t\tit(\"should handle the escapecss operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[[Hello There]escapecss[]]\").join(\",\")).toBe(\"Hello\\\\ There\");\n\t\t\texpect(wiki.filterTiddlers('\\'\"Reveal.js\" by Devin Weaver[1]\\' +[escapecss[]]').join(\",\")).toBe('\\\\\"Reveal\\\\.js\\\\\"\\\\ by\\\\ Devin\\\\ Weaver\\\\[1\\\\]');\n\t\t\texpect(wiki.filterTiddlers(\".foo#bar (){} '--a' 0 \\0 +[escapecss[]]\").join(\",\")).toBe(\"\\\\.foo\\\\#bar,\\\\(\\\\)\\\\{\\\\},--a,\\\\30 ,\\ufffd\");\n\t\t\texpect(wiki.filterTiddlers(\"'' +[escapecss[]]\").join(\",\")).toBe(\"\");\n\t\t\texpect(wiki.filterTiddlers(\"1234 +[escapecss[]]\").join(\",\")).toBe(\"\\\\31 234\");\n\t\t\texpect(wiki.filterTiddlers(\"'-25' +[escapecss[]]\").join(\",\")).toBe(\"-\\\\32 5\");\n\t\t\texpect(wiki.filterTiddlers(\"'-' +[escapecss[]]\").join(\",\")).toBe(\"\\\\-\");\n\t\t});\n\t\t\n\t\tit(\"should handle the format operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[[Hello There]] [[GettingStarted]] +[format:titlelist[]]\").join(\" \")).toBe(\"[[Hello There]] GettingStarted\");\n\t\t\texpect(wiki.filterTiddlers(\"[title[Hello There]] +[format:titlelist[]]\").join(\" \")).toBe(\"[[Hello There]]\");\n\t\t\texpect(wiki.filterTiddlers(\"[title[HelloThere]] +[format:titlelist[]]\").join(\" \")).toBe(\"HelloThere\");\t\t\n\t\t\texpect(wiki.filterTiddlers(\"0 +[format:timestamp[]]\").join(\",\")).toBe(\"19700101000000000\");\n\t\t\texpect(wiki.filterTiddlers(\"1603188514443 +[format:timestamp[]]\").join(\",\")).toBe(\"20201020100834443\");\n\t\t\texpect(wiki.filterTiddlers(\"void +[format:timestamp[]]\").join(\",\")).toBe(\"\");\n\t\t});\n\t\n\t\tit(\"should handle the deserializers operator\", function() {\n\t\t\tvar expectedDeserializers = [\"application/javascript\",\"application/json\",\"application/x-tiddler\",\"application/x-tiddler-html-div\",\"application/x-tiddlers\",\"text/css\",\"text/html\",\"text/plain\"];\n\t\t\tif($tw.browser) {\n\t\t\t\texpectedDeserializers.unshift(\"(DOM)\");\n\t\t\t}\n\t\t\texpect(wiki.filterTiddlers(\"[deserializers[]]\").join(\",\")).toBe(expectedDeserializers.join(\",\"));\n\t\t});\n\t\t\n\t\tit(\"should handle the charcode operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[charcode[9]]\").join(\" \")).toBe(String.fromCharCode(9));\n\t\t\texpect(wiki.filterTiddlers(\"[charcode[9],[10]]\").join(\" \")).toBe(String.fromCharCode(9) + String.fromCharCode(10));\n\t\t\texpect(wiki.filterTiddlers(\"[charcode[]]\").join(\" \")).toBe(\"\");\n\t\t});\n\t\t\n\t\tit(\"should handle the levenshtein operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[[apple]levenshtein[apple]]\").join(\" \")).toBe(\"0\");\n\t\t\texpect(wiki.filterTiddlers(\"[[apple]levenshtein[banana]]\").join(\" \")).toBe(\"9\");\n\t\t\texpect(wiki.filterTiddlers(\"[[representation]levenshtein[misreprehensionisation]]\").join(\" \")).toBe(\"10\");\n\t\t\texpect(wiki.filterTiddlers(\"[[the cat sat on the mat]levenshtein[the hat saw in every category]]\").join(\" \")).toBe(\"13\");\n\t\t});\n\t\t\n\t\tit(\"should handle the makepatches operator\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[[apple]makepatches[apple]]\").join(\" \")).toBe(\"\");\n\t\t\texpect(wiki.filterTiddlers(\"[[apple]makepatches[banana]]\").join(\" \")).toBe(\"@@ -1,5 +1,6 @@\\n-apple\\n+banana\\n\");\n\t\t\texpect(wiki.filterTiddlers(\"[[representation]makepatches[misreprehensionisation]]\").join(\" \")).toBe(\"@@ -1,13 +1,21 @@\\n+mis\\n repre\\n-sent\\n+hensionis\\n atio\\n\");\n\t\t\texpect(wiki.filterTiddlers(\"[[the cat sat on the mat]makepatches[the hat saw in every category]]\").join(\" \")).toBe(\"@@ -1,22 +1,29 @@\\n the \\n-c\\n+h\\n at sa\\n-t on the mat\\n+w in every category\\n\");\n\t\t});\n\t\n\t\tit(\"should parse filter variable parameters\", function(){\n\t\t\texpect($tw.utils.parseFilterVariable(\"currentTiddler\")).toEqual(\n\t\t\t\t{ name: \"currentTiddler\", params: [  ] }\n\t\t\t);\n\t\t\texpect($tw.utils.parseFilterVariable(\"now DDMM\")).toEqual(\n\t\t\t\t{ name: \"now\", params: [{ type: \"macro-parameter\", start: 3, value: \"DDMM\", end: 8 }] }\n\t\t\t);\n\t\t\texpect($tw.utils.parseFilterVariable(\"now DDMM UTC\")).toEqual(\n\t\t\t\t{ name: \"now\", params: [{ type: \"macro-parameter\", start: 3, value: \"DDMM\", end: 8 }, { type: \"macro-parameter\", start: 8, value: \"UTC\", end: 12 }] }\n\t\t\t);\n\t\t\texpect($tw.utils.parseFilterVariable(\"now format:DDMM\")).toEqual(\n\t\t\t\t{ name: \"now\", params: [{ type: \"macro-parameter\", name:\"format\", start: 3, value: \"DDMM\", end: 15 }] }\t  \t\n\t\t\t);\n\t\t\texpect($tw.utils.parseFilterVariable(\"now format:'DDMM'\")).toEqual(\n\t\t\t\t{ name: \"now\", params: [{ type: \"macro-parameter\", name:\"format\", start: 3, value: \"DDMM\", end: 17 }] }\t  \t\n\t\t\t);\n\t\t\texpect($tw.utils.parseFilterVariable(\"nowformat:'DDMM'\")).toEqual(\n\t\t\t\t{ name: \"nowformat:'DDMM'\", params: [] }\n\t\t\t);\n\t\t\texpect($tw.utils.parseFilterVariable(\"nowformat:'DD MM'\")).toEqual(\n\t\t\t\t{ name: \"nowformat:\", params: [{ type: \"macro-parameter\", start: 10, value: \"DD MM\", end: 17 }] }\n\t\t\t);\n\t\t\texpect($tw.utils.parseFilterVariable(\"now [UTC]YYYY0MM0DD0hh0mm0ssXXX\")).toEqual(\n\t\t\t\t{ name: \"now\", params: [{ type: \"macro-parameter\", start: 3, value: \"[UTC]YYYY0MM0DD0hh0mm0ssXXX\", end: 31 }] }\n\t\t\t);\n\t\t\texpect($tw.utils.parseFilterVariable(\"now '[UTC]YYYY0MM0DD0hh0mm0ssXXX'\")).toEqual(\n\t\t\t\t{ name: \"now\", params: [{ type: \"macro-parameter\", start: 3, value: \"[UTC]YYYY0MM0DD0hh0mm0ssXXX\", end: 33 }] }\n\t\t\t);\n\t\t\texpect($tw.utils.parseFilterVariable(\"now format:'[UTC]YYYY0MM0DD0hh0mm0ssXXX'\")).toEqual(\n\t\t\t\t{ name: \"now\", params: [{ type: \"macro-parameter\", start: 3, name:\"format\", value: \"[UTC]YYYY0MM0DD0hh0mm0ssXXX\", end: 40 }] }\n\t\t\t);\n\t\t\texpect($tw.utils.parseFilterVariable(\"\")).toEqual(\n\t\t\t\t{ name: \"\", params: [] }\n\t\t\t);\n\t\t});\n\t\t\n\t\tit(\"should handle the encodeuricomponent and decodeuricomponent operators\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[[<>:\\\"/\\\\|?*]encodeuricomponent[]]\").join(\",\")).toBe(\"%3C%3E%3A%22%2F%5C%7C%3F%2A\");\n\t\t});\n\t\n\t\tit(\"should handle the moduleproperty operator\", function() {\n\t\t\t// We don't need to confirm them all, only it it finds at least one module name that we're sure is there.\n\t\t\texpect(wiki.filterTiddlers(\"[[macro]modules[]moduleproperty[name]]\")).toContain(\"qualify\");\n\t\t\t// No such property. Nothing to return.\n\t\t\texpect(wiki.filterTiddlers(\"[[macro]modules[]moduleproperty[nonexistent]]\").length).toBe(0);\n\t\t\t// No such tiddlers. Nothing to return.\n\t\t\texpect(wiki.filterTiddlers(\"[[nonexistent]moduleproperty[name]]\").length).toBe(0);\n\t\t\t// Non string properties should get toStringed.\n\t\t\texpect(wiki.filterTiddlers(\"[[$:/core/modules/startup.js]moduleproperty[synchronous]]\").join(\" \")).toBe(\"true\");\n\t\t});\n\n\t\tit(\"should minimize unnecessary variable lookup\", function() {\n\t\t\tvar widget = wiki.makeWidget();\n\t\t\tvar getVar = spyOn(widget, \"getVariableInfo\").and.callThrough();\n\t\t\texpect(wiki.filterTiddlers(\"[all[]prefix[anything]]\", widget).length).toBe(0);\n\t\t\t// We didn't use any indirect operands or variables.\n\t\t\t// No variable lookup should have occurred.\n\t\t\texpect(getVar).not.toHaveBeenCalled();\n\t\t});\n\t}\n\t\n});\n\t\n"
  },
  {
    "path": "editions/test/tiddlers/tests/test-html-parser.js",
    "content": "/*\\\ntitle: test-html-parser.js\ntype: application/javascript\ntags: [[$:/tags/test-spec]]\n\nTests for the internal components of the HTML tag parser\n\n\\*/\n\n\"use strict\";\n\nfunction FakeParser() {\n\n}\n\n$tw.utils.extend(FakeParser.prototype,require(\"$:/core/modules/parsers/wikiparser/rules/html.js\"));\n\ndescribe(\"HTML tag new parser tests\", function() {\n\n\tvar parser = new FakeParser();\n\n\tit(\"should parse whitespace\", function() {\n\t\texpect($tw.utils.parseWhiteSpace(\"p  \",0)).toEqual(\n\t\t\tnull\n\t\t);\n\t\texpect($tw.utils.parseWhiteSpace(\"p  \",1)).toEqual(\n\t\t\t{ type : \"whitespace\", start : 1, end : 3 }\n\t\t);\n\t});\n\n\tit(\"should parse string tokens\", function() {\n\t\texpect($tw.utils.parseTokenString(\"p=  \",0,\"=\")).toEqual(\n\t\t\tnull\n\t\t);\n\t\texpect($tw.utils.parseTokenString(\"p=  \",1,\"=\")).toEqual(\n\t\t\t{ type : \"token\", value : \"=\", start : 1, end : 2 }\n\t\t);\n\t});\n\n\tit(\"should parse regexp tokens\", function() {\n\t\texpect($tw.utils.parseTokenRegExp(\"p='  \",0,/(=(?:'|\"))/)).toEqual(\n\t\t\tnull\n\t\t);\n\t\texpect($tw.utils.parseTokenRegExp(\"p='  \",1,/(=(?:'|\"))/g).match[0]).toEqual(\n\t\t\t\"='\"\n\t\t);\n\t\texpect($tw.utils.parseTokenRegExp(\"p=blah  \",2,/([^\\s>]+)/g).match[0]).toEqual(\n\t\t\t\"blah\"\n\t\t);\n\t});\n\n\tit(\"should parse string literals\", function() {\n\t\texpect($tw.utils.parseStringLiteral(\"p='blah'  \",0)).toEqual(\n\t\t\tnull\n\t\t);\n\t\texpect($tw.utils.parseStringLiteral(\"p='blah'  \",2)).toEqual(\n\t\t\t{ type : \"string\", start : 2, value : \"blah\", end : 8 }\n\t\t);\n\t\texpect($tw.utils.parseStringLiteral(\"p=''  \",2)).toEqual(\n\t\t\t{ type : \"string\", start : 2, value : \"\", end : 4 }\n\t\t);\n\t\texpect($tw.utils.parseStringLiteral(\"p=\\\"blah'  \",2)).toEqual(\n\t\t\tnull\n\t\t);\n\t\texpect($tw.utils.parseStringLiteral(\"p=\\\"\\\"  \",2)).toEqual(\n\t\t\t{ type : \"string\", start : 2, value : \"\", end : 4 }\n\t\t);\n\t});\n\n\tit(\"should parse macro parameters\", function() {\n\t\texpect($tw.utils.parseMacroParameter(\"me\",0)).toEqual(\n\t\t\t{ type : \"macro-parameter\", start : 0, value : \"me\", end : 2 }\n\t\t);\n\t\texpect($tw.utils.parseMacroParameter(\"me:one\",0)).toEqual(\n\t\t\t{ type : \"macro-parameter\", start : 0, value : \"one\", name : \"me\", end : 6 }\n\t\t);\n\t\texpect($tw.utils.parseMacroParameter(\"me:'one two three'\",0)).toEqual(\n\t\t\t{ type : \"macro-parameter\", start : 0, value : \"one two three\", name : \"me\", end : 18 }\n\t\t);\n\t\texpect($tw.utils.parseMacroParameter(\"'one two three'\",0)).toEqual(\n\t\t\t{ type : \"macro-parameter\", start : 0, value : \"one two three\", end : 15 }\n\t\t);\n\t\texpect($tw.utils.parseMacroParameter(\"me:[[one two three]]\",0)).toEqual(\n\t\t\t{ type : \"macro-parameter\", start : 0, value : \"one two three\", name : \"me\", end : 20 }\n\t\t);\n\t\texpect($tw.utils.parseMacroParameter(\"[[one two three]]\",0)).toEqual(\n\t\t\t{ type : \"macro-parameter\", start : 0, value : \"one two three\", end : 17 }\n\t\t);\n\t\texpect($tw.utils.parseMacroParameter(\"myparam>\",0)).toEqual(\n\t\t\t{ type : \"macro-parameter\", start : 0, value : \"myparam>\", end : 8 }\n\t\t);\n\t});\n\n\tit(\"should parse macro invocations\", function() {\n\t\texpect($tw.utils.parseMacroInvocation(\"<<mymacro\",0)).toEqual(\n\t\t\tnull\n\t\t);\n\t\texpect($tw.utils.parseMacroInvocation(\"<<mymacro>>\",0)).toEqual(\n\t\t\t{ type : \"macrocall\", start : 0, params : [  ], name : \"mymacro\", end : 11 }\n\t\t);\n\t\texpect($tw.utils.parseMacroInvocation(\"<<mymacro one two three>>\",0)).toEqual(\n\t\t\t{ type : \"macrocall\", start : 0, params : [ { type : \"macro-parameter\", start : 9, value : \"one\", end : 13 }, { type : \"macro-parameter\", start : 13, value : \"two\", end : 17 }, { type : \"macro-parameter\", start : 17, value : \"three\", end : 23 } ], name : \"mymacro\", end : 25 }\n\t\t);\n\t\texpect($tw.utils.parseMacroInvocation(\"<<mymacro p:one q:two three>>\",0)).toEqual(\n\t\t\t{ type : \"macrocall\", start : 0, params : [ { type : \"macro-parameter\", start : 9, value : \"one\", name : \"p\", end : 15 }, { type : \"macro-parameter\", start : 15, value : \"two\", name : \"q\", end : 21 }, { type : \"macro-parameter\", start : 21, value : \"three\", end : 27 } ], name : \"mymacro\", end : 29 }\n\t\t);\n\t\texpect($tw.utils.parseMacroInvocation(\"<<mymacro 'one two three'>>\",0)).toEqual(\n\t\t\t{ type : \"macrocall\", start : 0, params : [ { type : \"macro-parameter\", start : 9, value : \"one two three\", end : 25 } ], name : \"mymacro\", end : 27 } \n\t\t);\n\t\texpect($tw.utils.parseMacroInvocation(\"<<mymacro r:'one two three'>>\",0)).toEqual(\n\t\t\t{ type : \"macrocall\", start : 0, params : [ { type : \"macro-parameter\", start : 9, value : \"one two three\", name : \"r\", end : 27 } ], name : \"mymacro\", end : 29 } \n\t\t);\n\t\texpect($tw.utils.parseMacroInvocation(\"<<myMacro one:two three:'four and five'>>\",0)).toEqual(\n\t\t\t{ type : \"macrocall\", start : 0, params : [ { type : \"macro-parameter\", start : 9, value : \"two\", name : \"one\", end : 17 }, { type : \"macro-parameter\", start : 17, value : \"four and five\", name : \"three\", end : 39 } ], name : \"myMacro\", end : 41 } \n\t\t);\n\t});\n\n\tit(\"should parse HTML attributes\", function() {\n\t\texpect($tw.utils.parseAttribute(\"p='blah'  \",1)).toEqual(\n\t\t\tnull\n\t\t);\n\t\texpect($tw.utils.parseAttribute(\"p='blah'  \",0)).toEqual(\n\t\t\t{ type : \"string\", start : 0, name : \"p\", value : \"blah\", end : 8 }\n\t\t);\n\t\texpect($tw.utils.parseAttribute(\"p=\\\"blah\\\"  \",0)).toEqual(\n\t\t\t{ type : \"string\", start : 0, name : \"p\", value : \"blah\", end : 8 }\n\t\t);\n\t\texpect($tw.utils.parseAttribute(\"p=\\\"bl\\nah\\\"  \",0)).toEqual(\n\t\t\t{ type : \"string\", start : 0, name : \"p\", value : \"bl\\nah\", end : 9 }\n\t\t);\n\t\texpect($tw.utils.parseAttribute(\"p={{{blah}}}  \",0)).toEqual(\n\t\t\t{ type : \"filtered\", start : 0, name : \"p\", filter : \"blah\", end : 12 }\n\t\t);\n\t\texpect($tw.utils.parseAttribute(\"p={{{bl\\nah}}}  \",0)).toEqual(\n\t\t\t{ type : \"filtered\", start : 0, name : \"p\", filter : \"bl\\nah\", end : 13 }\n\t\t);\n\t\texpect($tw.utils.parseAttribute(\"p={{{ [{$:/layout}] }}}  \",0)).toEqual(\n\t\t\t{ type : \"filtered\", start : 0, name : \"p\", filter : \" [{$:/layout}] \", end : 23 }\n\t\t);\n\t\texpect($tw.utils.parseAttribute(\"p={{blah}}  \",0)).toEqual(\n\t\t\t{ type : \"indirect\", start : 0, name : \"p\", textReference : \"blah\", end : 10 }\n\t\t);\n\t\texpect($tw.utils.parseAttribute(\"p=blah  \",0)).toEqual(\n\t\t\t{ type : \"string\", start : 0, name : \"p\", value : \"blah\", end : 6 }\n\t\t);\n\t\texpect($tw.utils.parseAttribute(\"p =blah  \",0)).toEqual(\n\t\t\t{ type : \"string\", start : 0, name : \"p\", value : \"blah\", end : 7 }\n\t\t);\n\t\texpect($tw.utils.parseAttribute(\"p= blah  \",0)).toEqual(\n\t\t\t{ type : \"string\", start : 0, name : \"p\", value : \"blah\", end : 7 }\n\t\t);\n\t\texpect($tw.utils.parseAttribute(\"p = blah  \",0)).toEqual(\n\t\t\t{ type : \"string\", start : 0, name : \"p\", value : \"blah\", end : 8 }\n\t\t);\n\t\texpect($tw.utils.parseAttribute(\"p = >blah  \",0)).toEqual(\n\t\t\t{ type : \"string\", value : \"true\", start : 0, name : \"p\", end : 4 }\n\t\t);\n\t\texpect($tw.utils.parseAttribute(\" attrib1>\",0)).toEqual(\n\t\t\t{ type : \"string\", value : \"true\", start : 0, name : \"attrib1\", end : 8 }\n\t\t);\n\t\texpect($tw.utils.parseAttribute(\"p=`blah` \",1)).toEqual(null);\n\t\texpect($tw.utils.parseAttribute(\"p=`blah` \",0)).toEqual(\n\t\t\t{ start: 0, name: \"p\", type: \"substituted\", rawValue: \"blah\", end: 8 }\n\t\t);\n\t\texpect($tw.utils.parseAttribute(\"p=```blah``` \",0)).toEqual(\n\t\t\t{ start: 0, name: \"p\", type: \"substituted\", rawValue: \"blah\", end: 12 }\n\t\t);\n\t\texpect($tw.utils.parseAttribute(\"p=`Hello \\\"There\\\"`\",0)).toEqual(\n\t\t\t{ start: 0, name: \"p\", type: \"substituted\", rawValue: 'Hello \"There\"', end: 17 }\n\t\t);\n\t});\n\n\t\n\tdescribe(\"serializeAttribute\", function () {\n\t\tit(\"should serialize string attributes\", function () {\n\t\t\texpect($tw.utils.serializeAttribute({ type: \"string\", name: \"p\", value: \"blah\" })).toBe('p=\"blah\"');\n\t\t\texpect($tw.utils.serializeAttribute({ type: \"string\", name: \"p\", value: \"true\" })).toBe(\"p\");\n\t\t});\n\n\t\tit(\"should serialize filtered attributes\", function () {\n\t\t\texpect($tw.utils.serializeAttribute({ type: \"filtered\", name: \"p\", filter: \"blah\" })).toBe(\"p={{{blah}}}\");\n\t\t});\n\n\t\tit(\"should serialize indirect attributes\", function () {\n\t\t\texpect($tw.utils.serializeAttribute({ type: \"indirect\", name: \"p\", textReference: \"blah\" })).toBe(\"p={{blah}}\");\n\t\t});\n\n\t\tit(\"should serialize substituted attributes\", function () {\n\t\t\texpect($tw.utils.serializeAttribute({ type: \"substituted\", name: \"p\", rawValue: \"blah\" })).toBe(\"p=`blah`\");\n\t\t});\n\n\t\tit(\"should return null for unsupported types\", function () {\n\t\t\texpect($tw.utils.serializeAttribute({ type: \"unknown\", name: \"p\", value: \"blah\" })).toBeNull();\n\t\t});\n\n\t\tit(\"should return null for invalid input\", function () {\n\t\t\texpect($tw.utils.serializeAttribute(null)).toBeNull();\n\t\t\texpect($tw.utils.serializeAttribute({})).toBeNull();\n\t\t\texpect($tw.utils.serializeAttribute({ type: \"string\" })).toBeNull();\n\t\t\texpect($tw.utils.serializeAttribute({ name: \"p\" })).toBeNull();\n\t\t});\n\t});\n\n\tit(\"should parse HTML tags\", function() {\n\t\texpect(parser.parseTag(\"<mytag>\",1)).toEqual(\n\t\t\tnull\n\t\t);\n\t\texpect(parser.parseTag(\"</mytag>\",0)).toEqual(\n\t\t\tnull\n\t\t);\n\t\texpect(parser.parseTag(\"<mytag>\",0)).toEqual(\n\t\t\t{ type : \"element\", start : 0, attributes : { }, orderedAttributes: [ ], tag : \"mytag\", end : 7 }\n\t\t);\n\t\texpect(parser.parseTag(\"<mytag attrib1>\",0)).toEqual(\n\t\t\t{ type : \"element\", start : 0, attributes : { attrib1 : { type : \"string\", value : \"true\", start : 6, name : \"attrib1\", end : 14 } }, orderedAttributes: [ { start: 6, name: \"attrib1\", type: \"string\", value: \"true\", end: 14 } ], tag : \"mytag\", end : 15 }\n\t\t);\n\t\texpect(parser.parseTag(\"<mytag attrib1/>\",0)).toEqual(\n\t\t\t{ type : \"element\", start : 0, attributes : { attrib1 : { type : \"string\", value : \"true\", start : 6, name : \"attrib1\", end : 14 } }, orderedAttributes: [ { start: 6, name: \"attrib1\", type: \"string\", value: \"true\", end: 14 } ], tag : \"mytag\", isSelfClosing : true, end : 16 }\n\t\t);\n\t\texpect(parser.parseTag(\"<$view field=\\\"title\\\" format=\\\"link\\\"/>\",0)).toEqual(\n\t\t\t{ type : \"view\", start : 0, attributes : { field : { start : 6, name : \"field\", type : \"string\", value : \"title\", end : 20 }, format : { start : 20, name : \"format\", type : \"string\", value : \"link\", end : 34 } }, orderedAttributes: [ { start: 6, name: \"field\", type: \"string\", value: \"title\", end: 20 }, { start: 20, name: \"format\", type: \"string\", value: \"link\", end: 34 } ], tag : \"$view\", isSelfClosing : true, end : 36 }\n\t\t);\n\t\texpect(parser.parseTag(\"<mytag attrib1='something'>\",0)).toEqual(\n\t\t\t{ type : \"element\", start : 0, attributes : { attrib1 : { type : \"string\", start : 6, name : \"attrib1\", value : \"something\", end : 26 } }, orderedAttributes: [ { start: 6, name: \"attrib1\", type: \"string\", value: \"something\", end: 26 } ], tag : \"mytag\", end : 27 }\n\t\t);\n\t\texpect(parser.parseTag(\"<mytag attrib1 attrib1='something'>\",0)).toEqual(\n\t\t\t{ type : \"element\", start : 0, attributes : { attrib1 : { type : \"string\", start : 15, name : \"attrib1\", value : \"something\", end : 34 } }, orderedAttributes: [ { start: 6, name: \"attrib1\", type: \"string\", value: \"true\", end: 15 }, { start: 15, name: \"attrib1\", type: \"string\", value: \"something\", end: 34 } ], tag : \"mytag\", end : 35 }\n\t\t);\n\t\texpect(parser.parseTag(\"<mytag attrib1 attrib1='something' attrib1='else'>\",0)).toEqual(\n\t\t\t{ type : \"element\", start : 0, attributes : { attrib1 : { type : \"string\", start : 34, name : \"attrib1\", value : \"else\", end : 49 } }, orderedAttributes: [ { start: 6, name: \"attrib1\", type: \"string\", value: \"true\", end: 15 }, { start: 15, name: \"attrib1\", type: \"string\", value: \"something\", end: 34 }, { start: 34, name: \"attrib1\", type: \"string\", value: \"else\", end: 49 } ], tag : \"mytag\", end : 50 }\n\t\t);\n\t\texpect(parser.parseTag(\"<$mytag attrib1='something' attrib2=else thing>\",0)).toEqual(\n\t\t\t{ type : \"mytag\", start : 0, attributes : { attrib1 : { type : \"string\", start : 7, name : \"attrib1\", value : \"something\", end : 27 }, attrib2 : { type : \"string\", start : 27, name : \"attrib2\", value : \"else\", end : 40 }, thing : { type : \"string\", start : 40, name : \"thing\", value : \"true\", end : 46 } }, orderedAttributes: [ { start: 7, name: \"attrib1\", type: \"string\", value: \"something\", end: 27 }, { start: 27, name: \"attrib2\", type: \"string\", value: \"else\", end: 40 }, { start: 40, name: \"thing\", type: \"string\", value: \"true\", end: 46 } ], tag : \"$mytag\", end : 47 }\n\t\t);\n\t\texpect(parser.parseTag(\"< $mytag attrib1='something' attrib2=else thing>\",0)).toEqual(\n\t\t\tnull\n\t\t);\n\t\texpect(parser.parseTag(\"<$mytag attrib3=<<myMacro one:two three:'four and five'>>>\", 0)).toEqual(\n\t\t\t{\n\t\t\t\t\"type\": \"mytag\",\n\t\t\t\t\"start\": 0,\n\t\t\t\t\"attributes\": {\n\t\t\t\t\t\"attrib3\": {\n\t\t\t\t\t\t\"start\": 7,\n\t\t\t\t\t\t\"name\": \"attrib3\",\n\t\t\t\t\t\t\"type\": \"macro\",\n\t\t\t\t\t\t\"value\": {\n\t\t\t\t\t\t\t\"type\": \"transclude\",\n\t\t\t\t\t\t\t\"start\": 16,\n\t\t\t\t\t\t\t\"attributes\": {\n\t\t\t\t\t\t\t\t\"$variable\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"$variable\",\n\t\t\t\t\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\t\t\t\t\"value\": \"myMacro\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"one\": {\n\t\t\t\t\t\t\t\t\t\"start\": 25,\n\t\t\t\t\t\t\t\t\t\"name\": \"one\",\n\t\t\t\t\t\t\t\t\t\"assignmentOperator\": \":\",\n\t\t\t\t\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\t\t\t\t\"value\": \"two\",\n\t\t\t\t\t\t\t\t\t\"end\": 33\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"three\": {\n\t\t\t\t\t\t\t\t\t\"start\": 33,\n\t\t\t\t\t\t\t\t\t\"name\": \"three\",\n\t\t\t\t\t\t\t\t\t\"assignmentOperator\": \":\",\n\t\t\t\t\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\t\t\t\t\"value\": \"four and five\",\n\t\t\t\t\t\t\t\t\t\"quoted\": true,\n\t\t\t\t\t\t\t\t\t\"end\": 55\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"orderedAttributes\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"name\": \"$variable\",\n\t\t\t\t\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\t\t\t\t\"value\": \"myMacro\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"start\": 25,\n\t\t\t\t\t\t\t\t\t\"name\": \"one\",\n\t\t\t\t\t\t\t\t\t\"assignmentOperator\": \":\",\n\t\t\t\t\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\t\t\t\t\"value\": \"two\",\n\t\t\t\t\t\t\t\t\t\"end\": 33\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"start\": 33,\n\t\t\t\t\t\t\t\t\t\"name\": \"three\",\n\t\t\t\t\t\t\t\t\t\"assignmentOperator\": \":\",\n\t\t\t\t\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\t\t\t\t\"value\": \"four and five\",\n\t\t\t\t\t\t\t\t\t\"quoted\": true,\n\t\t\t\t\t\t\t\t\t\"end\": 55\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"end\": 57\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"end\": 57\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"orderedAttributes\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"start\": 7,\n\t\t\t\t\t\t\"name\": \"attrib3\",\n\t\t\t\t\t\t\"type\": \"macro\",\n\t\t\t\t\t\t\"value\": {\n\t\t\t\t\t\t\t\"type\": \"transclude\",\n\t\t\t\t\t\t\t\"start\": 16,\n\t\t\t\t\t\t\t\"attributes\": {\n\t\t\t\t\t\t\t\t\"$variable\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"$variable\",\n\t\t\t\t\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\t\t\t\t\"value\": \"myMacro\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"one\": {\n\t\t\t\t\t\t\t\t\t\"start\": 25,\n\t\t\t\t\t\t\t\t\t\"name\": \"one\",\n\t\t\t\t\t\t\t\t\t\"assignmentOperator\": \":\",\n\t\t\t\t\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\t\t\t\t\"value\": \"two\",\n\t\t\t\t\t\t\t\t\t\"end\": 33\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"three\": {\n\t\t\t\t\t\t\t\t\t\"start\": 33,\n\t\t\t\t\t\t\t\t\t\"name\": \"three\",\n\t\t\t\t\t\t\t\t\t\"assignmentOperator\": \":\",\n\t\t\t\t\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\t\t\t\t\"value\": \"four and five\",\n\t\t\t\t\t\t\t\t\t\"quoted\": true,\n\t\t\t\t\t\t\t\t\t\"end\": 55\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"orderedAttributes\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"name\": \"$variable\",\n\t\t\t\t\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\t\t\t\t\"value\": \"myMacro\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"start\": 25,\n\t\t\t\t\t\t\t\t\t\"name\": \"one\",\n\t\t\t\t\t\t\t\t\t\"assignmentOperator\": \":\",\n\t\t\t\t\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\t\t\t\t\"value\": \"two\",\n\t\t\t\t\t\t\t\t\t\"end\": 33\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"start\": 33,\n\t\t\t\t\t\t\t\t\t\"name\": \"three\",\n\t\t\t\t\t\t\t\t\t\"assignmentOperator\": \":\",\n\t\t\t\t\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\t\t\t\t\"value\": \"four and five\",\n\t\t\t\t\t\t\t\t\t\"quoted\": true,\n\t\t\t\t\t\t\t\t\t\"end\": 55\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"end\": 57\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"end\": 57\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\t\"tag\": \"$mytag\",\n\t\t\t\t\"end\": 58\n\t\t\t}\n\t\t);\n\t\texpect(parser.parseTag(\"<$mytag attrib1='something' attrib2=else thing attrib3=<<myMacro one:two three:'four and five'>>>\",0)).toEqual(\n\t\t\t{\n\t\t\t\t\"type\": \"mytag\",\n\t\t\t\t\"start\": 0,\n\t\t\t\t\"attributes\": {\n\t\t\t\t\t\"attrib1\": {\n\t\t\t\t\t\t\"start\": 7,\n\t\t\t\t\t\t\"name\": \"attrib1\",\n\t\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\t\"value\": \"something\",\n\t\t\t\t\t\t\"end\": 27\n\t\t\t\t\t},\n\t\t\t\t\t\"attrib2\": {\n\t\t\t\t\t\t\"start\": 27,\n\t\t\t\t\t\t\"name\": \"attrib2\",\n\t\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\t\"value\": \"else\",\n\t\t\t\t\t\t\"end\": 40\n\t\t\t\t\t},\n\t\t\t\t\t\"thing\": {\n\t\t\t\t\t\t\"start\": 40,\n\t\t\t\t\t\t\"name\": \"thing\",\n\t\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\t\"value\": \"true\",\n\t\t\t\t\t\t\"end\": 47\n\t\t\t\t\t},\n\t\t\t\t\t\"attrib3\": {\n\t\t\t\t\t\t\"start\": 47,\n\t\t\t\t\t\t\"name\": \"attrib3\",\n\t\t\t\t\t\t\"type\": \"macro\",\n\t\t\t\t\t\t\"value\": {\n\t\t\t\t\t\t\t\"type\": \"transclude\",\n\t\t\t\t\t\t\t\"start\": 55,\n\t\t\t\t\t\t\t\"attributes\": {\n\t\t\t\t\t\t\t\t\"$variable\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"$variable\",\n\t\t\t\t\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\t\t\t\t\"value\": \"myMacro\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"one\": {\n\t\t\t\t\t\t\t\t\t\"start\": 64,\n\t\t\t\t\t\t\t\t\t\"name\": \"one\",\n\t\t\t\t\t\t\t\t\t\"assignmentOperator\": \":\",\n\t\t\t\t\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\t\t\t\t\"value\": \"two\",\n\t\t\t\t\t\t\t\t\t\"end\": 72\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"three\": {\n\t\t\t\t\t\t\t\t\t\"start\": 72,\n\t\t\t\t\t\t\t\t\t\"name\": \"three\",\n\t\t\t\t\t\t\t\t\t\"assignmentOperator\": \":\",\n\t\t\t\t\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\t\t\t\t\"value\": \"four and five\",\n\t\t\t\t\t\t\t\t\t\"quoted\": true,\n\t\t\t\t\t\t\t\t\t\"end\": 94\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"orderedAttributes\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"name\": \"$variable\",\n\t\t\t\t\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\t\t\t\t\"value\": \"myMacro\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"start\": 64,\n\t\t\t\t\t\t\t\t\t\"name\": \"one\",\n\t\t\t\t\t\t\t\t\t\"assignmentOperator\": \":\",\n\t\t\t\t\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\t\t\t\t\"value\": \"two\",\n\t\t\t\t\t\t\t\t\t\"end\": 72\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"start\": 72,\n\t\t\t\t\t\t\t\t\t\"name\": \"three\",\n\t\t\t\t\t\t\t\t\t\"assignmentOperator\": \":\",\n\t\t\t\t\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\t\t\t\t\"value\": \"four and five\",\n\t\t\t\t\t\t\t\t\t\"quoted\": true,\n\t\t\t\t\t\t\t\t\t\"end\": 94\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"end\": 96\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"end\": 96\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"orderedAttributes\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"start\": 7,\n\t\t\t\t\t\t\"name\": \"attrib1\",\n\t\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\t\"value\": \"something\",\n\t\t\t\t\t\t\"end\": 27\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"start\": 27,\n\t\t\t\t\t\t\"name\": \"attrib2\",\n\t\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\t\"value\": \"else\",\n\t\t\t\t\t\t\"end\": 40\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"start\": 40,\n\t\t\t\t\t\t\"name\": \"thing\",\n\t\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\t\"value\": \"true\",\n\t\t\t\t\t\t\"end\": 47\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"start\": 47,\n\t\t\t\t\t\t\"name\": \"attrib3\",\n\t\t\t\t\t\t\"type\": \"macro\",\n\t\t\t\t\t\t\"value\": {\n\t\t\t\t\t\t\t\"type\": \"transclude\",\n\t\t\t\t\t\t\t\"start\": 55,\n\t\t\t\t\t\t\t\"attributes\": {\n\t\t\t\t\t\t\t\t\"$variable\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"$variable\",\n\t\t\t\t\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\t\t\t\t\"value\": \"myMacro\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"one\": {\n\t\t\t\t\t\t\t\t\t\"start\": 64,\n\t\t\t\t\t\t\t\t\t\"name\": \"one\",\n\t\t\t\t\t\t\t\t\t\"assignmentOperator\": \":\",\n\t\t\t\t\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\t\t\t\t\"value\": \"two\",\n\t\t\t\t\t\t\t\t\t\"end\": 72\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"three\": {\n\t\t\t\t\t\t\t\t\t\"start\": 72,\n\t\t\t\t\t\t\t\t\t\"name\": \"three\",\n\t\t\t\t\t\t\t\t\t\"assignmentOperator\": \":\",\n\t\t\t\t\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\t\t\t\t\"value\": \"four and five\",\n\t\t\t\t\t\t\t\t\t\"quoted\": true,\n\t\t\t\t\t\t\t\t\t\"end\": 94\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"orderedAttributes\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"name\": \"$variable\",\n\t\t\t\t\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\t\t\t\t\"value\": \"myMacro\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"start\": 64,\n\t\t\t\t\t\t\t\t\t\"name\": \"one\",\n\t\t\t\t\t\t\t\t\t\"assignmentOperator\": \":\",\n\t\t\t\t\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\t\t\t\t\"value\": \"two\",\n\t\t\t\t\t\t\t\t\t\"end\": 72\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"start\": 72,\n\t\t\t\t\t\t\t\t\t\"name\": \"three\",\n\t\t\t\t\t\t\t\t\t\"assignmentOperator\": \":\",\n\t\t\t\t\t\t\t\t\t\"type\": \"string\",\n\t\t\t\t\t\t\t\t\t\"value\": \"four and five\",\n\t\t\t\t\t\t\t\t\t\"quoted\": true,\n\t\t\t\t\t\t\t\t\t\"end\": 94\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"end\": 96\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"end\": 96\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\t\"tag\": \"$mytag\",\n\t\t\t\t\"end\": 97\n\t\t\t}\n\t\t);\n\t});\n\n\tit(\"should find and parse HTML tags\", function() {\n\t\texpect(parser.findNextTag(\"<something <mytag>\",1)).toEqual(\n\t\t\t{ type : \"element\", start : 11, attributes : {  }, orderedAttributes: [ ], tag : \"mytag\", end : 18 }\n\t\t);\n\t\texpect(parser.findNextTag(\"something else </mytag>\",0)).toEqual(\n\t\t\tnull\n\t\t);\n\t\texpect(parser.findNextTag(\"<<some other stuff>> <mytag>\",0)).toEqual(\n\t\t\t{ type : \"element\", start : 1, attributes : { other : { type : \"string\", value : \"true\", start : 6, name : \"other\", end : 13 }, stuff : { type : \"string\", value : \"true\", start : 13, name : \"stuff\", end : 18 } }, orderedAttributes: [ { type : \"string\", value : \"true\", start : 6, name : \"other\", end : 13 }, { type : \"string\", value : \"true\", start : 13, name : \"stuff\", end : 18 } ], tag : \"some\", end : 19 }\n\t\t);\n\t\texpect(parser.findNextTag(\"<<some other stuff>> <mytag>\",2)).toEqual(\n\t\t\t{ type : \"element\", start : 21, attributes : {  }, orderedAttributes: [ ], tag : \"mytag\", end : 28 }\n\t\t);\n\t});\n\n});\n"
  },
  {
    "path": "editions/test/tiddlers/tests/test-json-filters.js",
    "content": "/*\\\ntitle: test-json-filters.js\ntype: application/javascript\ntags: [[$:/tags/test-spec]]\n\nTests the JSON filters and the format:json operator\n\n\\*/\n\n/* eslint-env node, browser, jasmine */\n/* eslint no-mixed-spaces-and-tabs: [\"error\", \"smart-tabs\"]*/\n\"use strict\";\n\ndescribe(\"json filter tests\", function() {\n\n\tvar wiki = new $tw.Wiki();\n\tvar tiddlers = [{\n\t\ttitle: \"First\",\n\t\ttext: '{\"a\":\"one\",\"b\":\"\",\"c\":1.618,\"d\": {\"e\": \"four\",\"f\": [\"five\",\"six\",true,false,null]}}',\n\t\ttype: \"application/json\"\n\t},{\n\t\ttitle: \"Second\",\n\t\ttext: '[\"une\",\"deux\",\"trois\",[\"quatre\",\"cinq\"]]',\n\t\ttype: \"application/json\"\n\t},{\n\t\ttitle: \"Third\",\n\t\ttext: \"This is not JSON\",\n\t\ttype: \"text/vnd.tiddlywiki\"\n\t}];\n\twiki.addTiddlers(tiddlers);\n\n\tit(\"should support the getindex operator\", function() {\n\t\texpect(wiki.filterTiddlers(\"[{First}getindex[b]]\")).toEqual([]);\n\t});\n\n\tit(\"should support the jsonget operator\", function() {\n\t\texpect(wiki.filterTiddlers(\"[{Third}jsonget[]]\")).toEqual([\"This is not JSON\"]);\n\t\texpect(wiki.filterTiddlers(\"[{Second}jsonget[]]\")).toEqual([\"une\",\"deux\",\"trois\",\"quatre\",\"cinq\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonget[]]\")).toEqual([\"one\",\"\",\"1.618\",\"four\",\"five\",\"six\",\"true\",\"false\",\"null\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonget[a]]\")).toEqual([\"one\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonget[a],[fixed]]\")).toEqual([]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonget[b]]\")).toEqual([\"\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonget[c]]\")).toEqual([\"1.618\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonget[missing-property]]\")).toEqual([]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonget[d]]\")).toEqual([\"four\",\"five\",\"six\",\"true\",\"false\",\"null\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonget[d],[e]]\")).toEqual([\"four\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonget[d],[f]]\")).toEqual([\"five\",\"six\",\"true\",\"false\",\"null\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonget[d],[f],[0]]\")).toEqual([\"five\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonget[d],[f],[1]]\")).toEqual([\"six\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonget[d],[f],[2]]\")).toEqual([\"true\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonget[d],[f],[3]]\")).toEqual([\"false\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonget[d],[f],[4]]\")).toEqual([\"null\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonget[d],[f],[-5]]\")).toEqual([\"five\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonget[d],[f],[-4]]\")).toEqual([\"six\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonget[d],[f],[-3]]\")).toEqual([\"true\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonget[d],[f],[-2]]\")).toEqual([\"false\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonget[d],[f],[-1]]\")).toEqual([\"null\"]);\n\t});\n\n\tit(\"should support the jsonextract operator\", function() {\n\t\texpect(wiki.filterTiddlers(\"[{Third}jsonextract[]]\")).toEqual(['\"This is not JSON\"']);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonextract[]]\")).toEqual(['{\"a\":\"one\",\"b\":\"\",\"c\":1.618,\"d\":{\"e\":\"four\",\"f\":[\"five\",\"six\",true,false,null]}}']);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonextract[a]]\")).toEqual(['\"one\"']);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonextract[b]]\")).toEqual(['\"\"']);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonextract[missing-property]]\")).toEqual([]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonextract[d]]\")).toEqual(['{\"e\":\"four\",\"f\":[\"five\",\"six\",true,false,null]}']);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonextract[d]jsonextract[f]]\")).toEqual(['[\"five\",\"six\",true,false,null]']);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonextract[d],[e]]\")).toEqual(['\"four\"']);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonextract[d],[f]]\")).toEqual(['[\"five\",\"six\",true,false,null]']);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonextract[d],[f],[0]]\")).toEqual(['\"five\"']);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonextract[d],[f],[1]]\")).toEqual(['\"six\"']);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonextract[d],[f],[2]]\")).toEqual([\"true\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonextract[d],[f],[3]]\")).toEqual([\"false\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonextract[d],[f],[4]]\")).toEqual([\"null\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonextract[d],[f],[-5]]\")).toEqual(['\"five\"']);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonextract[d],[f],[-4]]\")).toEqual(['\"six\"']);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonextract[d],[f],[-3]]\")).toEqual([\"true\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonextract[d],[f],[-2]]\")).toEqual([\"false\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonextract[d],[f],[-1]]\")).toEqual([\"null\"]);\n\t});\n\n\tit(\"should support the jsonindexes operator\", function() {\n\t\texpect(wiki.filterTiddlers(\"[{Second}jsonindexes[]]\")).toEqual([\"0\",\"1\",\"2\",\"3\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonindexes[]]\")).toEqual([\"a\",\"b\",\"c\",\"d\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonindexes[a]]\")).toEqual([]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonindexes[b]]\")).toEqual([]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonindexes[d]]\")).toEqual([\"e\",\"f\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonindexes[d],[e]]\")).toEqual([]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonindexes[d],[f]]\")).toEqual([\"0\",\"1\",\"2\",\"3\",\"4\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonindexes[d],[f],[0]]\")).toEqual([]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonindexes[d],[f],[1]]\")).toEqual([]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonindexes[d],[f],[2]]\")).toEqual([]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonindexes[d],[f],[3]]\")).toEqual([]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonindexes[d],[f],[4]]\")).toEqual([]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonindexes[d],[f],[-5]]\")).toEqual([]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonindexes[d],[f],[-4]]\")).toEqual([]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonindexes[d],[f],[-3]]\")).toEqual([]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonindexes[d],[f],[-2]]\")).toEqual([]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonindexes[d],[f],[-1]]\")).toEqual([]);\n\t});\n\n\tit(\"should support the jsontype operator\", function() {\n\t\texpect(wiki.filterTiddlers(\"[{Third}jsontype[]]\")).toEqual([\"string\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsontype[]]\")).toEqual([\"object\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsontype[a]]\")).toEqual([\"string\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsontype[b]]\")).toEqual([\"string\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsontype[c]]\")).toEqual([\"number\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsontype[d]]\")).toEqual([\"object\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsontype[d],[e]]\")).toEqual([\"string\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsontype[d],[f]]\")).toEqual([\"array\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsontype[d],[f],[0]]\")).toEqual([\"string\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsontype[d],[f],[1]]\")).toEqual([\"string\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsontype[d],[f],[2]]\")).toEqual([\"boolean\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsontype[d],[f],[3]]\")).toEqual([\"boolean\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsontype[d],[f],[4]]\")).toEqual([\"null\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsontype[d],[f],[-5]]\")).toEqual([\"string\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsontype[d],[f],[-4]]\")).toEqual([\"string\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsontype[d],[f],[-3]]\")).toEqual([\"boolean\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsontype[d],[f],[-2]]\")).toEqual([\"boolean\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsontype[d],[f],[-1]]\")).toEqual([\"null\"]);\n\t});\n\n\tit(\"should support the jsonset operator\", function() {\n\t\texpect(wiki.filterTiddlers(\"[jsonset[a],[aa]]\")).toEqual(['\"First\"','\"Second\"','\"Third\"']);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonset[]]\")).toEqual(['{\"a\":\"one\",\"b\":\"\",\"c\":1.618,\"d\":{\"e\":\"four\",\"f\":[\"five\",\"six\",true,false,null]}}']);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonset[],[Antelope]]\")).toEqual(['\"Antelope\"']);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonset:number[],[not a number]]\")).toEqual([\"0\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonset[id],[Antelope]]\")).toEqual(['{\"a\":\"one\",\"b\":\"\",\"c\":1.618,\"d\":{\"e\":\"four\",\"f\":[\"five\",\"six\",true,false,null]},\"id\":\"Antelope\"}']);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonset:notatype[id],[Antelope]]\")).toEqual(['{\"a\":\"one\",\"b\":\"\",\"c\":1.618,\"d\":{\"e\":\"four\",\"f\":[\"five\",\"six\",true,false,null]},\"id\":\"Antelope\"}']);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonset:boolean[id],[false]]\")).toEqual(['{\"a\":\"one\",\"b\":\"\",\"c\":1.618,\"d\":{\"e\":\"four\",\"f\":[\"five\",\"six\",true,false,null]},\"id\":false}']);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonset:boolean[id],[Antelope]]\")).toEqual(['{\"a\":\"one\",\"b\":\"\",\"c\":1.618,\"d\":{\"e\":\"four\",\"f\":[\"five\",\"six\",true,false,null]}}']);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonset:number[id],[42]]\")).toEqual(['{\"a\":\"one\",\"b\":\"\",\"c\":1.618,\"d\":{\"e\":\"four\",\"f\":[\"five\",\"six\",true,false,null]},\"id\":42}']);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonset:null[id]]\")).toEqual(['{\"a\":\"one\",\"b\":\"\",\"c\":1.618,\"d\":{\"e\":\"four\",\"f\":[\"five\",\"six\",true,false,null]},\"id\":null}']);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonset:array[d],[f],[5]]\")).toEqual(['{\"a\":\"one\",\"b\":\"\",\"c\":1.618,\"d\":{\"e\":\"four\",\"f\":[\"five\",\"six\",true,false,null,[]]}}']);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonset:object[d],[f],[5]]\")).toEqual(['{\"a\":\"one\",\"b\":\"\",\"c\":1.618,\"d\":{\"e\":\"four\",\"f\":[\"five\",\"six\",true,false,null,{}]}}']);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonset:number[d],[f],[-1],[42]]\")).toEqual(['{\"a\":\"one\",\"b\":\"\",\"c\":1.618,\"d\":{\"e\":\"four\",\"f\":[\"five\",\"six\",true,false,42]}}']);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonset[missing],[id],[Antelope]]\")).toEqual(['{\"a\":\"one\",\"b\":\"\",\"c\":1.618,\"d\":{\"e\":\"four\",\"f\":[\"five\",\"six\",true,false,null]}}']);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonset:json[\\\"Antelope\\\"]]\")).toEqual(['\"Antelope\"']);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonset:json[id],[{\\\"a\\\":313}]]\")).toEqual(['{\"a\":\"one\",\"b\":\"\",\"c\":1.618,\"d\":{\"e\":\"four\",\"f\":[\"five\",\"six\",true,false,null]},\"id\":{\"a\":313}}']);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsonset:json[notjson]]\")).toEqual(['{\"a\":\"one\",\"b\":\"\",\"c\":1.618,\"d\":{\"e\":\"four\",\"f\":[\"five\",\"six\",true,false,null]}}']);\n\t});\n\n\tit(\"should support the jsondelete operator\", function() {\n\t\t// Delete top-level object property\n\t\texpect(wiki.filterTiddlers(\"[{First}jsondelete[a]]\")).toEqual(['{\"b\":\"\",\"c\":1.618,\"d\":{\"e\":\"four\",\"f\":[\"five\",\"six\",true,false,null]}}']);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsondelete[b]]\")).toEqual(['{\"a\":\"one\",\"c\":1.618,\"d\":{\"e\":\"four\",\"f\":[\"five\",\"six\",true,false,null]}}']);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsondelete[c]]\")).toEqual(['{\"a\":\"one\",\"b\":\"\",\"d\":{\"e\":\"four\",\"f\":[\"five\",\"six\",true,false,null]}}']);\n\t\t// Delete nested object property\n\t\texpect(wiki.filterTiddlers(\"[{First}jsondelete[d],[e]]\")).toEqual(['{\"a\":\"one\",\"b\":\"\",\"c\":1.618,\"d\":{\"f\":[\"five\",\"six\",true,false,null]}}']);\n\t\t// Delete array element\n\t\texpect(wiki.filterTiddlers(\"[{First}jsondelete[d],[f],[0]]\")).toEqual(['{\"a\":\"one\",\"b\":\"\",\"c\":1.618,\"d\":{\"e\":\"four\",\"f\":[\"six\",true,false,null]}}']);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsondelete[d],[f],[1]]\")).toEqual(['{\"a\":\"one\",\"b\":\"\",\"c\":1.618,\"d\":{\"e\":\"four\",\"f\":[\"five\",true,false,null]}}']);\n\t\t// Delete using negative array index\n\t\texpect(wiki.filterTiddlers(\"[{First}jsondelete[d],[f],[-1]]\")).toEqual(['{\"a\":\"one\",\"b\":\"\",\"c\":1.618,\"d\":{\"e\":\"four\",\"f\":[\"five\",\"six\",true,false]}}']);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsondelete[d],[f],[-2]]\")).toEqual(['{\"a\":\"one\",\"b\":\"\",\"c\":1.618,\"d\":{\"e\":\"four\",\"f\":[\"five\",\"six\",true,null]}}']);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsondelete[d],[f],[-5]]\")).toEqual(['{\"a\":\"one\",\"b\":\"\",\"c\":1.618,\"d\":{\"e\":\"four\",\"f\":[\"six\",true,false,null]}}']);\n\t\t// Delete from array\n\t\texpect(wiki.filterTiddlers(\"[{Second}jsondelete[0]]\")).toEqual(['[\"deux\",\"trois\",[\"quatre\",\"cinq\"]]']);\n\t\texpect(wiki.filterTiddlers(\"[{Second}jsondelete[1]]\")).toEqual(['[\"une\",\"trois\",[\"quatre\",\"cinq\"]]']);\n\t\texpect(wiki.filterTiddlers(\"[{Second}jsondelete[-1]]\")).toEqual(['[\"une\",\"deux\",\"trois\"]']);\n\t\t// Attempting to delete non-existent property should return unchanged\n\t\texpect(wiki.filterTiddlers(\"[{First}jsondelete[missing-property]]\")).toEqual(['{\"a\":\"one\",\"b\":\"\",\"c\":1.618,\"d\":{\"e\":\"four\",\"f\":[\"five\",\"six\",true,false,null]}}']);\n\t\texpect(wiki.filterTiddlers(\"[{First}jsondelete[d],[missing]]\")).toEqual(['{\"a\":\"one\",\"b\":\"\",\"c\":1.618,\"d\":{\"e\":\"four\",\"f\":[\"five\",\"six\",true,false,null]}}']);\n\t\t// Attempting to delete root should return unchanged\n\t\texpect(wiki.filterTiddlers(\"[{First}jsondelete[]]\")).toEqual(['{\"a\":\"one\",\"b\":\"\",\"c\":1.618,\"d\":{\"e\":\"four\",\"f\":[\"five\",\"six\",true,false,null]}}']);\n\t\t// Non-JSON input should return unchanged\n\t\texpect(wiki.filterTiddlers(\"[{Third}jsondelete[a]]\")).toEqual([\"This is not JSON\"]);\n\t});\n\n\tit(\"should support the format:json operator\", function() {\n\t\texpect(wiki.filterTiddlers(\"[{First}format:json[]]\")).toEqual([\"{\\\"a\\\":\\\"one\\\",\\\"b\\\":\\\"\\\",\\\"c\\\":1.618,\\\"d\\\":{\\\"e\\\":\\\"four\\\",\\\"f\\\":[\\\"five\\\",\\\"six\\\",true,false,null]}}\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}format:json[4]]\")).toEqual([\"{\\n    \\\"a\\\": \\\"one\\\",\\n    \\\"b\\\": \\\"\\\",\\n    \\\"c\\\": 1.618,\\n    \\\"d\\\": {\\n        \\\"e\\\": \\\"four\\\",\\n        \\\"f\\\": [\\n            \\\"five\\\",\\n            \\\"six\\\",\\n            true,\\n            false,\\n            null\\n        ]\\n    }\\n}\"]);\n\t\texpect(wiki.filterTiddlers(\"[{First}format:json[  ]]\")).toEqual([\"{\\n  \\\"a\\\": \\\"one\\\",\\n  \\\"b\\\": \\\"\\\",\\n  \\\"c\\\": 1.618,\\n  \\\"d\\\": {\\n    \\\"e\\\": \\\"four\\\",\\n    \\\"f\\\": [\\n      \\\"five\\\",\\n      \\\"six\\\",\\n      true,\\n      false,\\n      null\\n    ]\\n  }\\n}\"]);\n\t});\n\n});\n\n"
  },
  {
    "path": "editions/test/tiddlers/tests/test-linked-list.js",
    "content": "/*\\\ntitle: test-linked-list.js\ntype: application/javascript\ntags: [[$:/tags/test-spec]]\n\nTests the utils.LinkedList class.\n\nLinkedList was built to behave exactly as $tw.utils.pushTop and\nArray.prototype.push would behave with an array.\n\nMany of these tests function by performing operations on a paired set of\nan array and LinkedList. It uses equivalent actions on both.\nThen we confirm that the two come out functionally identical.\n\nNOTE TO FURTHER LINKED LIST DEVELOPERS:\n\n\tIf you want to add new functionality, like 'shift' or 'unshift', you'll\n\tprobably need to deal with the fact that Linked List will insert undefined\n\tas a first entry into an item's 'prev' array when it's at the front of\n\tthe list, but it doesn't do the same for the 'next' array when it's at\n\tthe end. I think you'll probably be better off preventing 'prev' from ever\n\tadding undefined.\n\\*/\n\n\"use strict\";\n\ndescribe(\"LinkedList class tests\", function() {\n\n\t// creates and initializes a new {array, list} pair for testing\n\tfunction newPair(initialArray) {\n\t\tvar pair = {array: [], list: new $tw.utils.LinkedList()};\n\t\tif(initialArray) {\n\t\t\tpush(pair, initialArray);\n\t\t}\n\t\treturn pair;\n\t};\n\n\t// pushTops a value or array of values into both the array and linked list.\n\tfunction pushTop(pair, valueOrValues) {\n\t\tpair.list.pushTop(valueOrValues);\n\t\t$tw.utils.pushTop(pair.array, valueOrValues);\n\t\treturn pair;\n\t};\n\n\t// pushes values into both the array and the linked list.\n\tfunction push(pair, values) {\n\t\tpair.list.push(values);\n\t\tpair.array.push.apply(pair.array, values);\n\t\treturn pair;\n\t};\n\n\t// operates a remove action on an array and a linked list in parallel.\n\tfunction remove(pair, valueOrValues) {\n\t\tpair.list.remove(valueOrValues);\n\t\t$tw.utils.removeArrayEntries(pair.array, valueOrValues);\n\t\treturn pair;\n\t};\n\n\t// This returns an array in reverse using a LinkList's prev member. Thus\n\t// testing that prev is not corrupt. It doesn't exist in the LinkList module\n\t// itself to avoid full support for it. Maybe that will change later.\n\tfunction toReverseArray(list) {\n\t\tvar visits = Object.create(null),\n\t\t\tvalue = list.prev.get(null),\n\t\t\tarray = [];\n\t\twhile(value !== null) {\n\t\t\tarray.push(value);\n\t\t\tvar prev = list.prev.get(value);\n\t\t\tif(Array.isArray(prev)) {\n\t\t\t\tvar i = (visits[value] || prev.length) - 1;\n\t\t\t\tvisits[value] = i;\n\t\t\t\tvalue = prev[i];\n\t\t\t} else {\n\t\t\t\tvalue = prev;\n\t\t\t}\n\t\t}\n\t\treturn array;\n\t};\n\n\t// compares an array and a linked list to make sure they match up\n\tfunction compare(pair) {\n\t\tvar forward = pair.list.toArray();\n\t\texpect(forward).toEqual(pair.array);\n\t\texpect(pair.list.length).toBe(pair.array.length);\n\t\t// Now we reverse the linked list and test it back to front, thus\n\t\t// confirming that the list.prev isn't corrupt.\n\t\texpect(toReverseArray(pair.list)).toEqual(forward.reverse());\n\t\treturn pair;\n\t};\n\n\tit(\"can pushTop\", function() {\n\t\tvar pair = newPair([\"A\", \"B\", \"C\"]);\n\t\t// singles\n\t\tpushTop(pair, \"X\");\n\t\tpushTop(pair, \"B\");\n\t\tcompare(pair); // ACXB\n\t\t//arrays\n\t\tpushTop(pair, [\"X\", \"A\", \"G\", \"A\"]);\n\t\t// If the pushedTopped list has duplicates, they go in unempeded.\n\t\tcompare(pair); // CBXAGA\n\t});\n\n\tit(\"can pushTop with tricky duplicates\", function() {\n\t\tvar pair = newPair([\"A\", \"B\", \"A\", \"C\", \"A\", \"e\"]);\n\t\t// If the original list contains duplicates, only one instance is cut\n\t\tcompare(pushTop(pair, \"A\")); // BACAeA\n\n\t\t// And the Llist properly knows the next 'A' to cut if pushed again\n\t\tcompare(pushTop(pair, [\"X\", \"A\"])); // BCAeAXA\n\n\t\t// One last time, to make sure we maintain the linked chain of copies\n\t\tcompare(pushTop(pair, \"A\")); // BCeAXAA\n\t});\n\n\tit(\"can pushTop a single-value list with itself\", function() {\n\t\t// This simple case actually requires special handling in LinkedList.\n\t\tcompare(pushTop(newPair([\"A\"]), \"A\")); // A\n\t});\n\n\tit(\"can remove all instances of a multi-instance value\", function() {\n\t\tvar pair = compare(remove(newPair([\"A\", \"A\"]), [\"A\", \"A\"])); //\n\t\t// Now add 'A' back in, since internally it might be using arrays,\n\t\t// even though those arrays must be empty.\n\t\tcompare(pushTop(pair, \"A\")); // A\n\t\t// Same idea, but push something else before readding 'A'\n\t\tcompare(pushTop(remove(newPair([\"A\", \"A\"]), [\"A\", \"A\"]), [\"B\", \"A\"])); // BA\n\n\t\t// Again, but this time with other values mixed in\n\t\tcompare(remove(newPair([\"B\", \"A\", \"A\", \"C\"]), [\"A\", \"A\"])); // BC;\n\t\t// And again, but this time with value inbetween too.\n\t\tcompare(remove(newPair([\"B\", \"A\", \"X\", \"Y\", \"Z\", \"A\", \"C\"]), [\"A\", \"A\"])); // BXYZC\n\n\t\t// One last test, where removing a pair from the end could corrupt\n\t\t// list.last.\n\t\tpair = remove(newPair([\"D\", \"C\", \"A\", \"A\"]), [\"A\", \"A\"]);\n\t\t// But I can't figure out another way to test this. It's wrong\n\t\t// for list.last to be anything other than a string, but I\n\t\t// can't figure out how to make that corruption manifest a problem.\n\t\t// So I dig into its private members. Bleh...\n\t\texpect(typeof pair.list.prev.get(null)).toBe(\"string\");\n\t});\n\n\tit(\"can pushTop value linked to by a repeat item\", function() {\n\t\tvar pair = newPair([\"A\", \"B\", \"A\", \"C\", \"A\", \"C\", \"D\"]);\n\t\t// This is tricky because that 'C' is referenced by a second 'A'\n\t\t// It WAS a crash before\n\t\tpushTop(pair, \"C\");\n\t\tcompare(pair); // ABAACDC\n\t});\n\n\tit(\"can pushTop last value after pair\", function() {\n\t\t// The 'next' ptrs for A would be polluted with an extraneous\n\t\t// undefined after the pop, which would make pushing the 'X'\n\t\t// back on problematic.\n\t\tcompare(pushTop(newPair([\"A\", \"A\", \"X\"]), \"X\")); // AACX\n\t\t// And lets try a few other manipulations around pairs\n\t\tcompare(pushTop(newPair([\"A\", \"A\", \"X\", \"C\"]), \"X\")); // AACX\n\t\tcompare(pushTop(newPair([\"X\", \"A\", \"A\"]), \"X\")); // AAX\n\t\tcompare(pushTop(newPair([\"C\", \"X\", \"A\", \"A\"]), \"X\")); // CAAX\n\t});\n\n\tit(\"can remove all instances of a multi-instance value #7059\", function() {\n\t\t// Remove duplicate items when one or more items between the duplicates\n\t\t// are not removed and the first of those duplicates is not the first item.\n\t\t// These tests used to fail prior to the fix to #7059\n\t\tcompare(remove(newPair([\"A\", \"A\", \"C\", \"B\", \"A\"]), [\"A\", \"C\", \"A\", \"A\"])); // B\n\t\tcompare(remove(newPair([\"A\", \"A\", \"C\", \"B\", \"A\"]), [\"C\", \"A\", \"A\", \"A\"])); // B\n\t\tcompare(remove(newPair([\"A\", \"A\", \"C\", \"B\", \"A\"]), [\"A\", \"A\", \"A\"])); // CB\n\t\tcompare(remove(newPair([\"A\", \"A\", \"C\", \"B\", \"A\"]), [\"A\", \"A\", \"A\", \"C\"])); // B\n\t\tcompare(remove(newPair([\"A\", \"A\", \"B\", \"A\"]), [\"A\", \"A\", \"A\"])); // B\n\t\tcompare(remove(newPair([\"A\", \"A\", \"B\", \"A\"]), [\"A\", \"A\", \"A\", \"B\"])); //\n\t\tcompare(remove(newPair([\"C\", \"A\", \"B\", \"A\"]), [\"C\", \"A\", \"A\"])); // B\n\t\tcompare(remove(newPair([\"C\", \"A\", \"B\", \"A\", \"C\"]), [\"C\", \"A\", \"A\", \"C\"])); // B\n\t\tcompare(remove(newPair([\"B\", \"A\", \"B\", \"A\"]), [\"B\", \"A\", \"A\"])); // B\n\t});\n\n\tit(\"can handle particularly nasty pushTop pitfall\", function() {\n\t\tvar pair = newPair([\"A\", \"B\", \"A\", \"C\"]);\n\t\tpushTop(pair, \"A\"); // BACA\n\t\tpushTop(pair, \"X\"); // BACAX\n\t\tremove(pair, \"A\");  // BCAX\n\t\tpushTop(pair, \"A\"); // BCXA\n\t\tremove(pair, \"A\");  // BCX\n\n\t\t// But! The way I initially coded the copy chains, a mystery A could\n\t\t// hang around.\n\t\tcompare(pair); // BCX\n\t});\n\n\tit(\"can handle past-duplicate items when pushing\", function() {\n\t\tvar pair = newPair([\"X\", \"Y\", \"A\", \"C\", \"A\"]);\n\t\t// Removing an item, when it has a duplicat at the list's end\n\t\tremove(pair, \"A\");\n\t\tcompare(pair); // XYCA\n\t\t// This actually caused an infinite loop once. So important test here.\n\t\tpush(pair, [\"A\"]);\n\t\tcompare(pair); // XYCAA\n\t\tpushTop(pair, \"A\"); // switch those last As\n\t\tcompare(pair); // XYCAA\n\t\tremove(pair, [\"A\", \"A\"]); // Remove all As, then add them back\n\t\tpushTop(pair, [\"A\", \"A\"]);\n\t\tcompare(pair); // XYCAA\n\t});\n\n\tit(\"can push\", function() {\n\t\tvar list = new $tw.utils.LinkedList();\n\t\t// singles\n\t\texpect(list.push(\"A\")).toBe(1);\n\t\texpect(list.push(\"B\")).toBe(2);\n\t\t// multiple args\n\t\texpect(list.push(\"C\", \"D\", \"E\")).toBe(5);\n\t\t// array arg allowed\n\t\texpect(list.push([\"F\", \"G\"])).toBe(7);\n\t\t// No-op\n\t\texpect(list.push()).toBe(7);\n\t\texpect(list.toArray()).toEqual([\"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\"]);\n\t});\n\n\tit(\"can handle empty string\", function() {\n\t\tcompare(newPair([\"\", \"\", \"\"])); // ___\n\t\tcompare(push(newPair([\"\"]), [\"\"])); // __\n\t\tcompare(pushTop(newPair([\"\", \"\", \"\"]), [\"A\", \"\"])); // __A_\n\t\tcompare(remove(newPair([\"\", \"A\"]), \"A\")); // _\n\t\tcompare(push(newPair([\"\", \"A\"]), [\"A\"])); // _AA\n\t\tcompare(remove(newPair([\"A\", \"\"]), \"A\")); // _\n\t\tcompare(push(newPair([\"A\", \"\"]), [\"A\"])); // A_A\n\n\t\t// This one is tricky but precise. Remove 'B', and 'A' might mistake\n\t\t// it as being first in the list since it's before ''. 'C' would get\n\t\t// blasted from A's prev reference array.\n\t\tcompare(remove(newPair([\"C\", \"A\", \"\", \"B\", \"A\"]), [\"B\", \"A\"])); // C_A\n\t\t// Same idea, but with A mistaking B for being at the list's end, and\n\t\t// thus removing C from its 'next' reference array.\n\t\tcompare(remove(newPair([\"A\", \"B\", \"\", \"A\", \"C\"]), [\"B\", \"A\"])); // _AC\n\t});\n\n\tit(\"will throw if told to push non-strings\", function() {\n\t\tvar message = \"Linked List only accepts string values, not \";\n\t\tvar list = new $tw.utils.LinkedList();\n\t\texpect(() => list.push(undefined)).toThrow(message + \"undefined\");\n\t\texpect(() => list.pushTop(undefined)).toThrow(message + \"undefined\");\n\t\texpect(() => list.pushTop([\"c\", undefined])).toThrow(message + \"undefined\");\n\t\texpect(() => list.pushTop(5)).toThrow(message + \"5\");\n\t\texpect(() => list.pushTop(null)).toThrow(message + \"null\");\n\n\t\t// now lets do a quick test to make sure this exception\n\t\t// doesn't leave any side-effects\n\t\t// A.K.A Strong guarantee\n\t\tvar pair = newPair([\"A\", \"5\", \"B\", \"C\"]);\n\t\texpect(() => pushTop(pair, 5)).toThrow(message + \"5\");\n\t\tcompare(pair);\n\t\texpect(() => push(pair, [\"D\", 7])).toThrow(message + \"7\");\n\t\tcompare(pair);\n\t\texpect(() => remove(pair, 5)).toThrow(message + \"5\");\n\t\tcompare(pair);\n\t\t// This is the tricky one. 'A' and 'B' should not be removed or pushed.\n\t\texpect(() => pushTop(pair, [\"A\", \"B\", null])).toThrow(message + \"null\");\n\t\tcompare(pair);\n\t\texpect(() => remove(pair, [\"A\", \"B\", null])).toThrow(message + \"null\");\n\t\tcompare(pair);\n\t});\n\n\tit(\"can clear\", function() {\n\t\tvar list = new $tw.utils.LinkedList();\n\t\tlist.push(\"A\", \"B\", \"C\");\n\t\tlist.clear();\n\t\texpect(list.toArray()).toEqual([]);\n\t\texpect(list.length).toBe(0);\n\t});\n\n\tit(\"can remove\", function() {\n\t\tvar list = new $tw.utils.LinkedList();\n\t\tlist.push([\"A\", \"x\", \"C\", \"x\", \"D\", \"x\", \"E\", \"x\"]);\n\t\t// single\n\t\tlist.remove(\"x\");\n\t\t// arrays\n\t\tlist.remove([\"x\", \"A\", \"XXX\", \"x\"]);\n\t\texpect(list.toArray()).toEqual([\"C\", \"D\", \"E\", \"x\"]);\n\t});\n\n\tit(\"can ignore removal of nonexistent items\", function() {\n\t\tvar pair = newPair([\"A\", \"B\", \"C\", \"D\"]);\n\t\t// single\n\t\tcompare(remove(pair, \"Z\")); // ABCD\n\n\t\t// array\n\t\tcompare(remove(pair, [\"Z\", \"B\", \"X\"])); // ACD\n\t});\n\n\tit(\"can iterate with each\", function() {\n\t\tvar list = new $tw.utils.LinkedList();\n\t\tlist.push(\"0\", \"1\", \"2\", \"3\");\n\t\tvar counter = 0;\n\t\tlist.each(function(value) {\n\t\t\texpect(value).toBe(counter.toString());\n\t\t\tcounter = counter + 1;\n\t\t});\n\t\texpect(counter).toBe(4);\n\t});\n\n\tit(\"can iterate a list of the same item\", function() {\n\t\t// Seems simple. Caused an infinite loop during development.\n\t\tcompare(newPair([\"A\", \"A\"]));\n\t});\n});\n\n"
  },
  {
    "path": "editions/test/tiddlers/tests/test-parsetextreference.js",
    "content": "/*\\\ntitle: test-parsetextreference.js\ntype: application/javascript\ntags: [[$:/tags/test-spec]]\n\nTests for source attribute in parser returned from wiki.parseTextReference\n\n\\*/\n\n\"use strict\";\n\ndescribe(\"Wiki.parseTextReference tests\", function() {\n\n\t// Create a wiki\n\tvar wiki = new $tw.Wiki();\n\twiki.addTiddler({\n\t\ttitle: \"TiddlerOne\",\n\t\ttext: \"The quick brown fox in $:/TiddlerTwo\",\n\t\ttags: [\"one\"],\n\t\tauthors: \"Joe Bloggs\",\n\t\tmodifier: \"JoeBloggs\",\n\t\tmodified: \"201304152222\"});\n\twiki.addTiddler({\n\t\ttitle: \"$:/TiddlerTwo\",\n\t\ttags: [\"two\"],\n\t\tauthors: \"[[John Doe]]\",\n\t\tmodifier: \"John\",\n\t\tmodified: \"201304152211\"});\n\twiki.addTiddler({\n\t\ttitle: \"Tiddler Three\",\n\t\ttext: '{\"oct\":31,\"nov\":30,\"dec\":31,\"jan\":\"\"}',\n\t\ttags: [\"one\",\"two\"],\n\t\ttype: \"application/json\",\n\t\tmodifier: \"John\",\n\t\tmodified: \"201304162202\"});\n\twiki.addTiddler({\n\t\ttitle: \"TiddlerFour\",\n\t\ttext: \"The quick brown fox in $:/TiddlerTwo\",\n\t\ttags: [\"one\"],\n\t\ttype: \"text/vnd.tiddlywiki\",\n\t\tauthors: \"\",\n\t\tmodifier: \"JoeBloggs\",\n\t\tmodified: \"201304152222\"});\n\t// Add a plugin containing some shadow tiddlers\n\tvar shadowTiddlers = {\n\t\ttiddlers: {\n\t\t\t\"$:/TiddlerFive\": {\n\t\t\t\ttitle: \"$:/TiddlerFive\",\n\t\t\t\ttext: \"Everything in federation\",\n\t\t\t\ttags: [\"two\"]\n\t\t\t},\n\t\t\t\"TiddlerSix\": {\n\t\t\t\ttitle: \"TiddlerSix\",\n\t\t\t\ttext: \"Missing inaction from TiddlerOne\",\n\t\t\t\tfilter: \"[[one]] [[a a]] [subfilter{hasList!!list}]\",\n\t\t\t\ttags: []\n\t\t\t},\n\t\t\t\"TiddlerSeventh\": {\n\t\t\t\ttitle: \"TiddlerSeventh\",\n\t\t\t\ttext: \"\",\n\t\t\t\tlist: \"TiddlerOne [[Tiddler Three]] [[a fourth tiddler]] MissingTiddler\",\n\t\t\t\ttags: [\"one\"]\n\t\t\t},\n\t\t\t\"Tiddler8\": {\n\t\t\t\ttitle: \"Tiddler8\",\n\t\t\t\ttext: \"Tidd\",\n\t\t\t\ttags: [\"one\"],\n\t\t\t\t\"test-field\": \"JoeBloggs\",\n\t\t\t\t\"myfield\":\"\"\n\t\t\t}\n\t\t}\n\t};\n\twiki.addTiddler({\n\t\ttitle: \"$:/ShadowPlugin\",\n\t\ttext: JSON.stringify(shadowTiddlers),\n\t\t\"plugin-type\": \"plugin\",\n\t\ttype: \"application/json\"});\n\twiki.addTiddler({\n\t\ttitle: \"TiddlerNine\",\n\t\ttext: \"this is plain text\",\n\t\ttype: \"text/plain\"\n\t});\n\n\t// Define a parsing shortcut for souce attribute of parser returned by wiki.parseTextReference\n\tvar parseAndGetSource = function(title,field,index,subTiddler) {\n\t\tvar parser = wiki.parseTextReference(title,field,index,{subTiddler: subTiddler});\n\t\treturn parser ? parser.source : null;\n\t};\n\n\tit(\"should parse text references and return correct source attribute\", function(){\n\t\t// Existing tiddler with a text field, no field argument specified\n\t\texpect(parseAndGetSource(\"TiddlerOne\")).toEqual(\"The quick brown fox in $:/TiddlerTwo\");\n\t\t// Existing tiddler with a text field, field argument specified as text\n\t\texpect(parseAndGetSource(\"TiddlerOne\",\"text\")).toEqual(\"The quick brown fox in $:/TiddlerTwo\");\n\t\t// Existing tiddler with no text field\n\t\texpect(parseAndGetSource(\"$:/TiddlerTwo\")).toEqual(\"\");\n\t\t// Existing tiddler, field argument specified as authors\n\t\texpect(parseAndGetSource(\"TiddlerOne\",\"authors\")).toEqual(\"Joe Bloggs\");\n\t\t// Non-existent tiddler, no field argument\n\t\texpect(parseAndGetSource(\"MissingTiddler\")).toEqual(null);\n\t\t// Non-existent tiddler, field argument\n\t\texpect(parseAndGetSource(\"MissingTiddler\",\"missing-field\")).toEqual(null);\n\t\t// Non-existent tiddler, index specified\n\t\texpect(parseAndGetSource(\"MissingTiddler\",null,\"missing-index\")).toEqual(null);\n\t\t// Existing tiddler with non existent field\n\t\texpect(parseAndGetSource(\"TiddlerOne\",\"missing-field\")).toEqual(null);\n\t\t// Existing tiddler with blank field\n\t\texpect(parseAndGetSource(\"TiddlerFour\",\"authors\")).toEqual(\"\");\n\t\t// Data tiddler with index specified\n\t\texpect(parseAndGetSource(\"Tiddler Three\",null,\"oct\")).toEqual(\"31\");\n\t\t// Data tiddler with blank index\n\t\texpect(parseAndGetSource(\"Tiddler Three\",null,\"jan\")).toEqual(\"\");\n\t\t// Data tiddler with non-existent index\n\t\texpect(parseAndGetSource(\"Tiddler Three\",null,\"feb\")).toEqual(null);\n\t\t// Existing tiddler with a text field, type set to vnd.tiddlywiki\n\t\texpect(parseAndGetSource(\"TiddlerFour\")).toEqual(\"The quick brown fox in $:/TiddlerTwo\");\n\t\t// Existing subtiddler of a plugin\n\t\texpect(parseAndGetSource(\"$:/ShadowPlugin\",\"text\",null,\"Tiddler8\")).toEqual(\"Tidd\");\n\t\t// Existing blank field of a subtiddler of a plugin\n\t\texpect(parseAndGetSource(\"$:/ShadowPlugin\",\"myfield\",null,\"Tiddler8\")).toEqual(\"\");\n\t\t// Non-existent subtiddler of a plugin\n\t\texpect(parseAndGetSource(\"$:/ShadowPlugin\",\"text\",null,\"MyMissingTiddler\")).toEqual(null);\n\t\t// Plain text tiddler\n\t\texpect(parseAndGetSource(\"TiddlerNine\")).toEqual(\"this is plain text\");\n\t});\n\n});\n\n"
  },
  {
    "path": "editions/test/tiddlers/tests/test-plugins.js",
    "content": "/*\\\ntitle: test-plugins.js\ntype: application/javascript\ntags: [[$:/tags/test-spec]]\n\nTests for integrity of the core plugins, languages, themes and editions\n\n\\*/\n\"use strict\";\n\nif($tw.node) {\n\n\tdescribe(\"Plugin tests\", function() {\n\n\t\t// Get all the plugins as a hashmap by title of a JSON string with the plugin content\n\t\tvar tiddlers = $tw.utils.getAllPlugins({ignoreEnvironmentVariables: true});\n\t\t// console.log(JSON.stringify(Object.keys(tiddlers),null,4));\n\t\tdescribe(\"every plugin should have the required standard fields\", function() {\n\t\t\tvar titles = Object.keys(tiddlers);\n\t\t\t$tw.utils.each(titles,function(title) {\n\t\t\t\tvar fields = tiddlers[title];\n\t\t\t\tit(\"plugin should have a recognised plugin-type field\",function() {\n\t\t\t\t\texpect([\"plugin\",\"language\",\"theme\"].indexOf(fields[\"plugin-type\"]) !== -1).toEqual(true);\n\t\t\t\t});\n\t\t\t\tswitch(fields[\"plugin-type\"]) {\n\t\t\t\t\tcase \"plugin\":\n\t\t\t\t\t\tit(\"plugin \" + title + \" should have name, description and list fields\",function() {\n\t\t\t\t\t\t\texpect(!!(fields.name && fields.description && fields.list)).toBe(true);\n\t\t\t\t\t\t});\n\t\t\t\t\t\tit(\"plugin \" + title + \" should have a valid stability field\",function() {\n\t\t\t\t\t\t\texpect([\"STABILITY_0_DEPRECATED\",\"STABILITY_1_EXPERIMENTAL\",\"STABILITY_2_STABLE\",\"STABILITY_3_LEGACY\"].indexOf(fields.stability) !== -1).toBe(true);\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"language\":\n\t\t\t\t\t\tit(\"language \" + title + \" should have name and description fields\",function() {\n\t\t\t\t\t\t\texpect(!!(fields.name && fields.description)).toEqual(true);\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"theme\":\n\t\t\t\t\t\tit(\"theme \" + title + \" should have name and description fields\",function() {\n\t\t\t\t\t\t\texpect(!!(fields.name && fields.description)).toEqual(true);\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t});\n}\n"
  },
  {
    "path": "editions/test/tiddlers/tests/test-popup.js",
    "content": "/*\\\ntitle: test-popup.js\ntype: application/javascript\ntags: [[$:/tags/test-spec]]\n\nTests some utility function of the Popup prototype.\n\n\\*/\n\n\"use strict\";\n\ndescribe(\"Popup tests\", function() {\n\n\tit(\"parseCoordinates should parse valid coordinates\", function() {\n\t\tvar popup = require(\"$:/core/modules/utils/dom/popup.js\");\n\n\t\texpect(popup.parseCoordinates(\"(1,2,3,4)\")).toEqual({absolute: false, left: 1, top: 2, width: 3, height: 4});\n\t\texpect(popup.parseCoordinates(\"(1.5,2.6,3.7,4.8)\")).toEqual({absolute: false, left: 1.5, top: 2.6, width: 3.7, height: 4.8});\n\t\texpect(popup.parseCoordinates(\"@(1,2,3,4)\")).toEqual({absolute: true, left: 1, top: 2, width: 3, height: 4});\n\t\texpect(popup.parseCoordinates(\"@(1.5,2.6,3.7,4.8)\")).toEqual({absolute: true, left: 1.5, top: 2.6, width: 3.7, height: 4.8});\n\t});\n\n\tit(\"parseCoordinates should not parse invalid coordinates\", function() {\n\t\tvar popup = require(\"$:/core/modules/utils/dom/popup.js\");\n\n\t\texpect(popup.parseCoordinates(\"#(1,2,3,4)\")).toEqual(false);\n\t\texpect(popup.parseCoordinates(\"(1,2,3,4\")).toEqual(false);\n\t\texpect(popup.parseCoordinates(\"(1,2,3)\")).toEqual(false);\n\t});\n\n\tit(\"buildCoordinates should create valid coordinates\", function() {\n\t\tvar popup = require(\"$:/core/modules/utils/dom/popup.js\");\n\n\t\tvar coordinates = {\n\t\t\tleft: 1.5,\n\t\t\ttop: 2.6,\n\t\t\twidth: 3.7,\n\t\t\theight: 4.8\n\t\t};\n\n\t\texpect(popup.buildCoordinates(popup.coordinatePrefix.csOffsetParent, coordinates)).toEqual(\"(1.5,2.6,3.7,4.8)\");\n\t\texpect(popup.buildCoordinates(popup.coordinatePrefix.csAbsolute, coordinates)).toEqual(\"@(1.5,2.6,3.7,4.8)\");\n\t});\n\n\tit(\"buildCoordinates should detect invalid input\", function() {\n\t\tvar popup = require(\"$:/core/modules/utils/dom/popup.js\");\n\n\t\tvar coordinates = {\n\t\t\tleft: \"invalid\",\n\t\t\ttop: 2.6,\n\t\t\twidth: 3.7,\n\t\t\theight: 4.8\n\t\t};\n\n\t\texpect(popup.buildCoordinates(popup.coordinatePrefix.csOffsetParent, coordinates)).toEqual(\"(0,0,0,0)\");\n\t\texpect(popup.buildCoordinates(\"dummy\", coordinates)).toEqual(\"(0,0,0,0)\");\n\t});\n});\n\n"
  },
  {
    "path": "editions/test/tiddlers/tests/test-prefixes-filter.js",
    "content": "/*\\\ntitle: test-prefixes-filters.js\ntype: application/javascript\ntags: [[$:/tags/test-spec]]\nTests the reduce prefix and filter.\n\\*/\n\n\n/* jslint node: true, browser: true */\n/* eslint-env node, browser, jasmine */\n/* eslint no-mixed-spaces-and-tabs: [\"error\", \"smart-tabs\"]*/\n/* global $tw, require */\n\"use strict\";\n\ndescribe(\"general filter prefix tests\", function() {\n\tit(\"should handle nonexistent prefixes gracefully\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\t\tvar results = wiki.filterTiddlers(\"[tag[A]] :nonexistent[tag[B]]\");\n\t\texpect(results).toEqual([\"Filter Error: Unknown prefix for filter run\"]);\n\t});\n\n\t// Test filter run prefix parsing\n\tit(\"should parse filter run prefix suffixes\", function() {\n\n\t\t// two runs, one with a named prefix but no suffix\n\t\texpect($tw.wiki.parseFilter(\"[[Sparkling water]tags[]] :intersection[[Red wine]tags[]]\")).toEqual(\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\t\"prefix\": \"\",\n\t\t\t\t\t\"operators\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"operator\": \"title\",\n\t\t\t\t\t\t\t\"operands\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"text\": \"Sparkling water\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"operator\": \"tags\",\n\t\t\t\t\t\t\t\"operands\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"text\": \"\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"prefix\": \":intersection\",\n\t\t\t\t\t\"operators\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"operator\": \"title\",\n\t\t\t\t\t\t\t\"operands\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"text\": \"Red wine\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"operator\": \"tags\",\n\t\t\t\t\t\t\t\"operands\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"text\": \"\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\t\"namedPrefix\": \"intersection\"\n\t\t\t\t}\n\t\t\t]\n\t\t);\n\n\t\t// named prefix with no suffix\n\t\texpect($tw.wiki.parseFilter(\":reduce[multiply<accumulator>]\")).toEqual(\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\t\"prefix\": \":reduce\",\n\t\t\t\t\t\"operators\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"operator\": \"multiply\",\n\t\t\t\t\t\t\t\"operands\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"variable\": true,\n\t\t\t\t\t\t\t\t\t\"text\": \"accumulator\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\t\"namedPrefix\": \"reduce\"\n\t\t\t\t}\n\t\t\t]\n\t\t);\n\n\t\t//named prefix with one simple suffix\n\t\texpect($tw.wiki.parseFilter(\":reduce:1[multiply<accumulator>]\")).toEqual(\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\t\"prefix\": \":reduce:1\",\n\t\t\t\t\t\"operators\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"operator\": \"multiply\",\n\t\t\t\t\t\t\t\"operands\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"variable\": true,\n\t\t\t\t\t\t\t\t\t\"text\": \"accumulator\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\t\"namedPrefix\": \"reduce\",\n\t\t\t\t\t\"suffixes\": [\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\"1\"\n\t\t\t\t\t\t]\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t]\n\t\t);\n\n\t\t//named prefix with two simple suffixes\n\t\texpect($tw.wiki.parseFilter(\":reduce:1:hello[multiply<accumulator>]\")).toEqual(\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\t\"prefix\": \":reduce:1:hello\",\n\t\t\t\t\t\"operators\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"operator\": \"multiply\",\n\t\t\t\t\t\t\t\"operands\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"variable\": true,\n\t\t\t\t\t\t\t\t\t\"text\": \"accumulator\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\t\"namedPrefix\": \"reduce\",\n\t\t\t\t\t\"suffixes\": [\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\"1\"\n\t\t\t\t\t\t],\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\"hello\",\n\t\t\t\t\t\t]\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t]\n\t\t);\n\n\t\t//named prefix with two rich (comma separated) suffixes\n\t\texpect($tw.wiki.parseFilter(\":reduce:1,one:hello,there[multiply<accumulator>]\")).toEqual(\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\t\"prefix\": \":reduce:1,one:hello,there\",\n\t\t\t\t\t\"operators\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"operator\": \"multiply\",\n\t\t\t\t\t\t\t\"operands\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"variable\": true,\n\t\t\t\t\t\t\t\t\t\"text\": \"accumulator\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\t\"namedPrefix\": \"reduce\",\n\t\t\t\t\t\"suffixes\": [\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\"1\",\n\t\t\t\t\t\t\t\"one\"\n\t\t\t\t\t\t],\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\"hello\",\n\t\t\t\t\t\t\t\"there\"\n\t\t\t\t\t\t]\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t]\n\t\t);\n\t\t\n\t\t// suffixes with spaces\n\t\texpect($tw.wiki.parseFilter(\":reduce: 1, one:hello, there [multiply<accumulator>]\")).toEqual(\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\t\"prefix\": \":reduce: 1, one:hello, there \",\n\t\t\t\t\t\"operators\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"operator\": \"multiply\",\n\t\t\t\t\t\t\t\"operands\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"variable\": true,\n\t\t\t\t\t\t\t\t\t\"text\": \"accumulator\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\t\"namedPrefix\": \"reduce\",\n\t\t\t\t\t\"suffixes\": [\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\"1\",\n\t\t\t\t\t\t\t\"one\"\n\t\t\t\t\t\t],\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\"hello\",\n\t\t\t\t\t\t\t\"there\"\n\t\t\t\t\t\t]\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t]\n\t\t);\n\n\t});\t\n\n});\n\ndescribe(\"'reduce' and 'intersection' filter prefix tests\", function() {\n\n\tvar wiki = new $tw.Wiki();\n\n\twiki.addTiddler({\n\t\ttitle: \"Brownies\",\n\t\ttext: \"//This is a sample shopping list item for the [[Shopping List Example]]//\",\n\t\tdescription: \"A square of rich chocolate cake\",\n\t\ttags: [\"shopping\",\"food\"],\n\t\tprice: \"4.99\",\n\t\tquantity: \"1\"\n\t});\n\twiki.addTiddler({\n\t\ttitle: \"Chick Peas\",\n\t\ttext: \"//This is a sample shopping list item for the [[Shopping List Example]]//\",\n\t\ttags: [\"shopping\",\"food\"],\n\t\tdescription: \"a round yellow seed\",\n\t\tprice: \"1.32\",\n\t\tquantity: \"5\"\n\t});\n\twiki.addTiddler({\n\t\ttitle: \"Milk\",\n\t\ttext: \"//This is a sample shopping list item for the [[Shopping List Example]]//\",\n\t\ttags: [\"shopping\", \"dairy\", \"drinks\"],\n\t\tprice: \"0.46\",\n\t\tquantity: \"12\"\n\t});\n\twiki.addTiddler({\n\t\ttitle: \"Rice Pudding\",\n\t\tprice: \"2.66\",\n\t\tquantity: \"4\",\n\t\tdescription: \"\",\n\t\ttags: [\"shopping\", \"dairy\"],\n\t\ttext: \"//This is a sample shopping list item for the [[Shopping List Example]]//\"\n\t});\n\twiki.addTiddler({\n\t\ttitle: \"Sparkling water\",\n\t\ttags: [\"drinks\", \"mineral water\", \"textexample\"],\n\t\ttext: \"This is some text\"\n\t});\n\twiki.addTiddler({\n\t\ttitle: \"Red wine\",\n\t\ttags: [\"drinks\", \"wine\", \"textexample\"],\n\t\ttext: \"This is some more text!\"\n\t});\n\twiki.addTiddler({\n\t\ttitle: \"Cheesecake\",\n\t\ttags: [\"cakes\", \"food\", \"textexample\"],\n\t\ttext: \"This is even even even more text\"\n\t});\n\twiki.addTiddler({\n\t\ttitle: \"Chocolate Cake\",\n\t\ttags: [\"cakes\", \"food\", \"textexample\"],\n\t\ttext: \"This is even more text\"\n\t});\n\twiki.addTiddler({\n\t\ttitle: \"Persian love cake\",\n\t\ttags: [\"cakes\"],\n\t\ttext: \"An amazing cake worth the effort to make\"\n\t});\n\twiki.addTiddler({\n\t\ttitle: \"cheesecake\",\n\t\ttags: [\"cakes\"],\n\t\ttext: \"Everyone likes cheescake\"\n\t});\n\twiki.addTiddler({\n\t\ttitle: \"chocolate cake\",\n\t\ttags: [\"cakes\"],\n\t\ttext: \"lower case chocolate cake\"\n\t});\n\twiki.addTiddler({\n\t\ttitle: \"Pound cake\",\n\t\ttags: [\"cakes\",\"with tea\"],\n\t\ttext: \"Does anyone eat pound cake?\"\n\t});\n\twiki.addTiddler({\n\t\ttitle: \"$:/filter1\",\n\t\ttext: \"[tag[cakes]then[It is customary]]\",\n\t\ttags: \"$:/tags/Filter $:/tags/SecondFilter\"\n\t});\n\twiki.addTiddler({\n\t\ttitle: \"$:/filter2\",\n\t\ttext: \"[<currentTiddler>tag[shopping]then[It is not customary]]\",\n\t\ttags: \"$:/tags/Filter $:/tags/SecondFilter\"\n\t});\n\twiki.addTiddler({\n\t\ttitle: \"$:/filter3\",\n\t\ttext: \"[[Just a default]]\",\n\t\ttags: \"$:/tags/Filter\"\n\t});\n\twiki.addTiddler({\n\t\ttitle: \"$:/tags/Filter\",\n\t\tlist: \"$:/filter1 $:/filter2 $:/filter3\"\n\t});\n\twiki.addTiddler({\n\t\ttitle: \"$:/tags/SecondFilter\",\n\t\tlist: \"$:/filter1 $:/filter2\"\n\t});\n\t\n\tit(\"should handle the :cascade filter prefix\", function() {\n\t\texpect(wiki.filterTiddlers(\"[[Rice Pudding]] :cascade[all[shadows+tiddlers]tag[$:/tags/Filter]get[text]]\").join(\",\")).toBe(\"It is not customary\");\n\t\texpect(wiki.filterTiddlers(\"[[chocolate cake]] :cascade[all[shadows+tiddlers]tag[$:/tags/Filter]get[text]]\").join(\",\")).toBe(\"It is customary\");\n\t\texpect(wiki.filterTiddlers(\"[[Sparkling water]] :cascade[all[shadows+tiddlers]tag[$:/tags/Filter]get[text]]\").join(\",\")).toBe(\"Just a default\");\n\t\texpect(wiki.filterTiddlers(\"[[Rice Pudding]] :cascade[all[shadows+tiddlers]tag[$:/tags/SecondFilter]get[text]]\").join(\",\")).toBe(\"It is not customary\");\n\t\texpect(wiki.filterTiddlers(\"[[chocolate cake]] :cascade[all[shadows+tiddlers]tag[$:/tags/SecondFilter]get[text]]\").join(\",\")).toBe(\"It is customary\");\n\t\texpect(wiki.filterTiddlers(\"[[Sparkling water]] :cascade[all[shadows+tiddlers]tag[$:/tags/SecondFilter]get[text]]\").join(\",\")).toBe(\"\");\n\t});\n\n\tit(\"should handle the :reduce filter prefix\", function() {\n\t\texpect(wiki.filterTiddlers(\"[tag[shopping]] :reduce[get[quantity]add<accumulator>]\").join(\",\")).toBe(\"22\");\n\t\texpect(wiki.filterTiddlers(\"[tag[shopping]] :reduce[get[price]multiply{!!quantity}add<accumulator>]\").join(\",\")).toBe(\"27.75\");\n\t\texpect(wiki.filterTiddlers(\"[tag[shopping]] :reduce[<index>compare:number:gt[0]then<accumulator>addsuffix[, ]addsuffix<currentTiddler>else<currentTiddler>]\").join(\",\")).toBe(\"Brownies, Chick Peas, Milk, Rice Pudding\");\n\t\t// Empty input should become empty output\n\t\texpect(wiki.filterTiddlers(\"[tag[non-existent]] :reduce[get[price]multiply{!!quantity}add<accumulator>]\").length).toBe(0);\n\t\texpect(wiki.filterTiddlers(\"[tag[non-existent]] :reduce[get[price]multiply{!!quantity}add<accumulator>] :else[[0]]\").join(\",\")).toBe(\"0\");\n\t\t\n\t\texpect(wiki.filterTiddlers(\"[tag[non-existent]] :reduce:11,22[get[price]multiply{!!quantity}add<accumulator>] :else[[0]]\").join(\",\")).toBe(\"0\");\n\n\t\texpect(wiki.filterTiddlers(\"[tag[non-existent]] :reduce:11[get[price]multiply{!!quantity}add<accumulator>] :else[[0]]\").join(\",\")).toBe(\"0\");\n\t});\n\n\tit(\"should handle the reduce operator\", function() {\n\t\tvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\t\tvar rootWidget = new widget.widget({ type:\"widget\", children:[ {type:\"widget\", children:[]} ] },\n\t\t\t{ wiki:wiki, document:$tw.document});\n\t\trootWidget.makeChildWidgets();\n\t\tvar anchorWidget = rootWidget.children[0];\n\t\trootWidget.setVariable(\"add-price\",\"[get[price]multiply{!!quantity}add<accumulator>]\");\n\t\trootWidget.setVariable(\"num-items\",\"[get[quantity]add<accumulator>]\");\n\t\trootWidget.setVariable(\"join-with-commas\",\"[<index>compare:number:gt[0]then<accumulator>addsuffix[, ]addsuffix<currentTiddler>else<currentTiddler>]\");\n\t\trootWidget.setVariable(\"undefined-variable\",\"[<doesnotexist>]\");\n\t\trootWidget.setVariable(\"echo\",\"$text$\",[{name:\"text\"}],true);\n\t\trootWidget.setVariable(\"num-items-macro-param\",\"[subfilter<echo '[get[quantity]]'>add<accumulator>]\");\n\n\t\texpect(wiki.filterTiddlers(\"[tag[shopping]reduce<num-items>]\",anchorWidget).join(\",\")).toBe(\"22\");\n\t\texpect(wiki.filterTiddlers(\"[tag[shopping]reduce<add-price>]\",anchorWidget).join(\",\")).toBe(\"27.75\");\n\t\texpect(wiki.filterTiddlers(\"[tag[shopping]reduce<join-with-commas>]\",anchorWidget).join(\",\")).toBe(\"Brownies, Chick Peas, Milk, Rice Pudding\");\n\t\t// Empty input should become empty output\n\t\texpect(wiki.filterTiddlers(\"[tag[non-existent]reduce<add-price>,[0]]\",anchorWidget).join(\",\")).not.toBe(\"0\");\n\t\texpect(wiki.filterTiddlers(\"[tag[non-existent]reduce<add-price>,[0]]\",anchorWidget).length).toBe(0);\n\t\texpect(wiki.filterTiddlers(\"[tag[non-existent]reduce<add-price>else[0]]\",anchorWidget).join(\",\")).toBe(\"0\");\n\t\t// #7155\n\t\texpect(wiki.filterTiddlers(\"a +[reduce<undefined-variable>]\",anchorWidget).join(\",\")).toBe(\"\");\n\t\texpect(wiki.filterTiddlers(\"[tag[shopping]reduce<num-items-macro-param>]\",anchorWidget).join(\",\")).toBe(\"22\");\n\t});\n\n\tit(\"should handle the average operator\", function() {\n\t\texpect(wiki.filterTiddlers(\"[tag[shopping]get[price]average[]]\").join(\",\")).toBe(\"2.3575\");\n\t\texpect(parseFloat(wiki.filterTiddlers(\"[tag[food]get[price]average[]]\").join(\",\"))).toBeCloseTo(3.155);\n\t});\n\n\tit(\"should handle the median operator\", function() {\n\t\texpect(parseFloat(wiki.filterTiddlers(\"[tag[shopping]get[price]median[]]\").join(\",\"))).toBeCloseTo(1.99);\n\t\texpect(parseFloat(wiki.filterTiddlers(\"[tag[food]get[price]median[]]\").join(\",\"))).toBeCloseTo(3.155);\n\t});\n\t\n\tit(\"should handle the variance operator\", function() {\n\t\texpect(parseFloat(wiki.filterTiddlers(\"[tag[shopping]get[price]variance[]]\").join(\",\"))).toBeCloseTo(2.92);\n\t\texpect(parseFloat(wiki.filterTiddlers(\"[tag[food]get[price]variance[]]\").join(\",\"))).toBeCloseTo(3.367);\n\t\texpect(wiki.filterTiddlers(\" +[variance[]]\").toString()).toBe(\"\");\n\t});\n\n\tit(\"should handle the standard-deviation operator\", function() {\n\t\texpect(parseFloat(wiki.filterTiddlers(\"[tag[shopping]get[price]standard-deviation[]]\").join(\",\"))).toBeCloseTo(1.71);\n\t\texpect(parseFloat(wiki.filterTiddlers(\"[tag[food]get[price]standard-deviation[]]\").join(\",\"))).toBeCloseTo(1.835);\n\t\texpect(wiki.filterTiddlers(\" +[standard-deviation[]]\").toString()).toBe(\"\");\n\t});\t\n\n\tit(\"should handle the :intersection prefix\", function() {\n\t\texpect(wiki.filterTiddlers(\"[[Sparkling water]tags[]] :intersection[[Red wine]tags[]]\").join(\",\")).toBe(\"drinks,textexample\");\n\t\texpect(wiki.filterTiddlers(\"[[Brownies]tags[]] :intersection[[Chocolate Cake]tags[]]\").join(\",\")).toBe(\"food\");\n\t\texpect(wiki.filterTiddlers(\"[tag[shopping]] :intersection[tag[food]]\").join(\",\")).toBe(\"Brownies,Chick Peas\");\n\t\texpect(wiki.filterTiddlers(\"[tag[shopping]] :intersection[tag[drinks]]\").join(\",\")).toBe(\"Milk\");\n\t\texpect(wiki.filterTiddlers(\"[tag[shopping]] :intersection[tag[wine]]\").join(\",\")).toBe(\"\");\n\t});\n\t\n\tit(\"should handle the :filter prefix and filter operator\", function() {\n\t\tvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\t\tvar rootWidget = new widget.widget({ type:\"widget\", children:[ {type:\"widget\", children:[]} ] },\n\t\t\t{ wiki:wiki, document:$tw.document});\n\t\trootWidget.makeChildWidgets();\n\t\tvar anchorWidget = rootWidget.children[0];\n\t\trootWidget.setVariable(\"larger-than-18\",\"[get[text]length[]compare:integer:gteq[18]]\");\n\t\trootWidget.setVariable(\"nr\",\"18\");\n\t\trootWidget.setVariable(\"larger-than-18-with-var\",\"[get[text]length[]compare:integer:gteq<nr>]\");\n\t\trootWidget.setVariable(\"undefined-variable\",\"[<doesnotexist>]\");\n\t\trootWidget.setVariable(\"echo\",\"$text$\",[{name:\"text\"}],true);\n\t\trootWidget.setVariable(\"larger-than-18-macro-param\",\"[subfilter<echo '[get[text]length[]compare:integer:gteq[18]]'>]\");\n\t\texpect(wiki.filterTiddlers(\"[tag[textexample]] :filter[get[text]length[]compare:integer:gteq[18]]\",anchorWidget).join(\",\")).toBe(\"Cheesecake,Chocolate Cake,Red wine\");\n\t\texpect(wiki.filterTiddlers(\"[tag[textexample]]\",anchorWidget).join(\",\")).toBe(\"Cheesecake,Chocolate Cake,Red wine,Sparkling water\");\n\t\texpect(wiki.filterTiddlers(\"[tag[textexample]filter<larger-than-18>]\",anchorWidget).join(\",\")).toBe(\"Cheesecake,Chocolate Cake,Red wine\");\n\t\texpect(wiki.filterTiddlers(\"[tag[textexample]filter<larger-than-18-with-var>]\",anchorWidget).join(\",\")).toBe(\"Cheesecake,Chocolate Cake,Red wine\");\n\t\t// #7155\n\t\texpect(wiki.filterTiddlers(\"a +[filter<undefined-variable>]\",anchorWidget).join(\",\")).toBe(\"a\");\n\t\texpect(wiki.filterTiddlers(\"[tag[textexample]filter<larger-than-18-macro-param>]\",anchorWidget).join(\",\")).toBe(\"Cheesecake,Chocolate Cake,Red wine\");\n\t});\n\n\tit(\"should handle the :sort prefix\", function() {\n\t\texpect(wiki.filterTiddlers(\"a1 a10 a2 a3 b10 b3 b1 c9 c11 c1 :sort:alphanumeric[{!!title}]\").join(\",\")).toBe(\"a1,a2,a3,a10,b1,b3,b10,c1,c9,c11\");\n\t\texpect(wiki.filterTiddlers(\"a1 a10 a2 a3 b10 b3 b1 c9 c11 c1 :sort:alphanumeric:reverse[{!!title}]\").join(\",\")).toBe(\"c11,c9,c1,b10,b3,b1,a10,a3,a2,a1\");\n\t\texpect(wiki.filterTiddlers(\"[tag[shopping]] :sort:number:[get[price]]\").join(\",\")).toBe(\"Milk,Chick Peas,Rice Pudding,Brownies\");\n\t\texpect(wiki.filterTiddlers(\"[tag[textexample]] :sort:number:[get[text]length[]]\").join(\",\")).toBe(\"Sparkling water,Chocolate Cake,Red wine,Cheesecake\");\n\t\texpect(wiki.filterTiddlers(\"[tag[textexample]] :sort:number:reverse[get[text]length[]]\").join(\",\")).toBe(\"Cheesecake,Red wine,Chocolate Cake,Sparkling water\");\n\t\texpect(wiki.filterTiddlers(\"[tag[notatag]] :sort:number[get[price]]\").join(\",\")).toBe(\"\");\n\t\texpect(wiki.filterTiddlers(\"[tag[cakes]] :sort:string[{!!title}]\").join(\",\")).toBe(\"cheesecake,Cheesecake,chocolate cake,Chocolate Cake,Persian love cake,Pound cake\");\n\t\texpect(wiki.filterTiddlers(\"[tag[cakes]] :sort:string:casesensitive[{!!title}]\").join(\",\")).toBe(\"Cheesecake,Chocolate Cake,Persian love cake,Pound cake,cheesecake,chocolate cake\");\n\t\texpect(wiki.filterTiddlers(\"[tag[cakes]] :sort:string:casesensitive,reverse[{!!title}]\").join(\",\")).toBe(\"chocolate cake,cheesecake,Pound cake,Persian love cake,Chocolate Cake,Cheesecake\");\n\t\texpect(wiki.filterTiddlers(\"1.2.0 1.0.0 1.0.5 :sort:version[{!!title}]\").join(\",\")).toBe(\"1.0.0,1.0.5,1.2.0\");\n\t\texpect(wiki.filterTiddlers(\"1.2.0 1.0.0 1.0.5 :sort:version:reverse[{!!title}]\").join(\",\")).toBe(\"1.2.0,1.0.5,1.0.0\");\n\t});\n\n\tit(\"should handle the :map prefix\", function() {\n\t\texpect(wiki.filterTiddlers(\"[tag[shopping]] :map[get[title]]\").join(\",\")).toBe(\"Brownies,Chick Peas,Milk,Rice Pudding\");\n\t\texpect(wiki.filterTiddlers(\"[tag[shopping]] :map[get[description]]\").join(\",\")).toBe(\"A square of rich chocolate cake,a round yellow seed,,\");\n\t\texpect(wiki.filterTiddlers(\"[tag[shopping]] :map[get[description]else{!!title}]\").join(\",\")).toBe(\"A square of rich chocolate cake,a round yellow seed,Milk,Rice Pudding\");\n\t\t// Return the first title from :map if the filter returns more than one result\n\t\texpect(wiki.filterTiddlers(\"[tag[shopping]] :map[tags[]]\").join(\",\")).toBe(\"shopping,shopping,shopping,shopping\");\n\t\t// Return all titles from :map if the flat suffix is used\n\t\texpect(wiki.filterTiddlers(\"[tag[shopping]] :map:flat[tags[]]\").join(\",\")).toBe(\"shopping,food,shopping,food,shopping,dairy,drinks,shopping,dairy\");\n\t\t// Prepend the position in the list using the index and length variables\n\t\texpect(wiki.filterTiddlers(\"[tag[shopping]] :map[get[title]addprefix[-]addprefix<length>addprefix[of]addprefix<index>]\").join(\",\")).toBe(\"0of4-Brownies,1of4-Chick Peas,2of4-Milk,3of4-Rice Pudding\");\n\t});\n\n\tit(\"should handle the :then prefix\", function() {\n\t\texpect(wiki.filterTiddlers(\"[[one]] :then[[two]]\").join(\",\")).toBe(\"two\");\n\t\texpect(wiki.filterTiddlers(\"[[one]] :then[tag[shopping]]\").join(\",\")).toBe(\"Brownies,Chick Peas,Milk,Rice Pudding\");\n\t\texpect(wiki.filterTiddlers(\"[[one]] [[two]] [[three]] :then[[four]]\").join(\",\")).toBe(\"four\");\n\t\texpect(wiki.filterTiddlers(\"[[one]] :then[tag[nonexistent]]\").join(\",\")).toBe(\"one\");\n\t\texpect(wiki.filterTiddlers(\":then[[two]]\").length).toBe(0);\n\t\texpect(wiki.filterTiddlers(\"[[notatiddler]is[tiddler]] :then[[two]]\").length).toBe(0);\n\t});\n\n\tit(\"should handle macro parameters for filter run prefixes\",function() {\n\t\tvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\t\tvar rootWidget = new widget.widget({ type:\"widget\", children:[ {type:\"widget\", children:[]} ] },\n\t\t\t{ wiki:wiki, document:$tw.document});\n\t\trootWidget.makeChildWidgets();\n\t\tvar anchorWidget = rootWidget.children[0];\n\t\trootWidget.setVariable(\"greet\",\"Hello $name$\",[{name:\"name\"}],true);\n\t\trootWidget.setVariable(\"echo\",\"$text$\",[{name:\"text\"}],true);\n\t\t// :map prefix\n\t\texpect(wiki.filterTiddlers(\"1 :map[subfilter<greet Tom>join[ ]]\",anchorWidget).join(\",\")).toBe(\"Hello Tom\");\n\t\texpect(wiki.filterTiddlers('[tag[shopping]] :map[<echo \"$(index)$ $(currentTiddler)$\">]',anchorWidget).join(\",\")).toBe(\"0 Brownies,1 Chick Peas,2 Milk,3 Rice Pudding\");\n\t\t// :reduce prefix\n\t\texpect(wiki.filterTiddlers(\"1 :reduce[subfilter<greet Tom>join[ ]]\",anchorWidget).join(\",\")).toBe(\"Hello Tom\");\n\t\texpect(wiki.filterTiddlers('[tag[shopping]] :reduce[<echo \"$(accumulator)$ $(index)$ $(currentTiddler)$,\">]',anchorWidget).join(\",\")).toBe(\" 0 Brownies, 1 Chick Peas, 2 Milk, 3 Rice Pudding,\");\n\t});\n});\n"
  },
  {
    "path": "editions/test/tiddlers/tests/test-tags-operator.js",
    "content": "/*\\\ntitle: test-tags-operator.js\ntype: application/javascript\ntags: [[$:/tags/test-spec]]\n\nTests the tagging mechanism.\n\n\\*/\n\n\"use strict\";\n\ndescribe(\"Tags Operator tests\", function() {\n\n\tdescribe(\"With no indexers\", function() {\n\t\tvar wikiOptions = {enableIndexers: []},\n\t\t\twiki = setupWiki(wikiOptions);\n\t\trunTests(wiki,wikiOptions);\n\t});\n\n\tdescribe(\"With all indexers\", function() {\n\t\tvar wikiOptions = {},\n\t\t\twiki = setupWiki();\n\t\trunTests(wiki,wikiOptions);\n\t});\n\n\tfunction setupWiki(wikiOptions) {\n\t// Create a wiki\n\t\tvar wiki = new $tw.Wiki(wikiOptions);\n\n\t\t// Add a few  tiddlers\n\t\twiki.addTiddler({ title: \"aaa\",text: \"text aaa\",color: \"red\"});\n\t\twiki.addTiddler({ title: \"1\"});\n\t\twiki.addTiddler({ title: \"10\"});\n\t\twiki.addTiddler({ title: \"bbb\"});\n\t\twiki.addTiddler({ title: \"bb bb\"});\n\t\twiki.addTiddler({ title: \"BBB\"});\n\t\twiki.addTiddler({ title: \"AAA\"});\n\t\twiki.addTiddler({ title: \"BB BB\"});\n\t\twiki.addTiddler({ title: \"bb bb\", text: \"text bb bb\"});\n\t\treturn wiki;\n\t}\n\n\t// Our tests\n\tfunction runTests(wiki,wikiOptions) {\n\n\t\tvar TAGS = \"aaa 10 1 bbb AAA [[bb bb]] BBB [[BB BB]]\";\n\n\t\t// Tests before PR #8228 to make sure there are now incompatibilities\n\t\tit(\"should apply tags ordering in SORT order up to TW v5.3.6\", function () {\n\t\t\tvar wiki = new $tw.Wiki(wikiOptions);\n\t\t\tvar EXPECTED = \"1,10,aaa,AAA,bb bb,BB BB,bbb,BBB\";\n\n\t\t\twiki.addTiddler({ title: \"test-tags-operator\", text: \"\", tags: TAGS});\n\t\t\texpect(wiki.filterTiddlers(\"[[test-tags-operator]tags[]sort[title]]\").join(\",\")).toBe(EXPECTED);\n\n\t\t\twiki.addTiddler({ title: \"$:/config/Tags/CustomSort/subfilter\", text: \"[{!!title}]\"});\n\t\t\texpect(wiki.filterTiddlers(\"[[test-tags-operator]tags[]] :sort:alphanumeric:caseinsensitive[subfilter{$:/config/Tags/CustomSort/subfilter}]\").join(\",\")).toBe(EXPECTED);\n\n\t\t// Due to the implementation of the tags[] operator with v5.3.6 we can not guarantee the order that `[tags[]]` returns\n\t\t});\n\n\t\t// The following test can be enabled once the core allows us to do so.\n\t\txit(\"should apply tags ordering in order of creation. TW v5.3.7+\", function () {\n\t\t\tvar wiki = new $tw.Wiki(wikiOptions);\n\n\t\t\twiki.addTiddler({ title: \"$:/config/Tags/CustomSort/subfilter\", text: \"\"});\n\t\t\twiki.addTiddler({ title: \"test-tags-operator\", text: \"\", tags: TAGS});\n\n\t\t\tvar EXPECTED = \"aaa,10,1,bbb,AAA,bb bb,BBB,BB BB\";\n\t\t\texpect(wiki.filterTiddlers(\"[[test-tags-operator]tags[]] :sort:alphanumeric:caseinsensitive[subfilter{$:/config/Tags/CustomSort/subfilter}]\").join(\",\")).toBe(EXPECTED);\n\t\t});\n\t}\n\n});\n"
  },
  {
    "path": "editions/test/tiddlers/tests/test-tags.js",
    "content": "/*\\\ntitle: test-tags.js\ntype: application/javascript\ntags: [[$:/tags/test-spec]]\n\nTests the tagging mechanism.\n\n\\*/\n\n\"use strict\";\n\ndescribe(\"Tag tests\", function() {\n\n\tdescribe(\"With no indexers\", function() {\n\t\tvar wikiOptions = {enableIndexers: []},\n\t\t\twiki = setupWiki(wikiOptions);\n\t\trunTests(wiki,wikiOptions);\n\t});\n\n\tdescribe(\"With all indexers\", function() {\n\t\tvar wikiOptions = {},\n\t\t\twiki = setupWiki();\n\t\trunTests(wiki,wikiOptions);\n\t});\n\n\tfunction setupWiki(wikiOptions) {\n\t// Create a wiki\n\t\tvar wiki = new $tw.Wiki(wikiOptions);\n\n\t\t// Add a few  tiddlers\n\t\twiki.addTiddler({\n\t\t\ttitle: \"TiddlerOne\",\n\t\t\ttext: \"The quick brown fox in $:/TiddlerTwo\",\n\t\t\ttags: [\"one\",\"TiddlerSeventh\"],\n\t\t\tmodifier: \"JoeBloggs\",\n\t\t\tmodified: \"201304152222\"});\n\t\twiki.addTiddler({\n\t\t\ttitle: \"$:/TiddlerTwo\",\n\t\t\ttext: \"The rain in Spain\\nfalls mainly on the plain and [[a fourth tiddler]]\",\n\t\t\ttags: [\"two\"],\n\t\t\tmodifier: \"JohnDoe\",\n\t\t\tmodified: \"201304152211\"});\n\t\twiki.addTiddler({\n\t\t\ttitle: \"Tiddler Three\",\n\t\t\ttext: \"The speed of sound in light\\n\\nThere is no TiddlerZero but TiddlerSix\",\n\t\t\ttags: [\"one\",\"two\",\"TiddlerSeventh\"],\n\t\t\tmodifier: \"JohnDoe\",\n\t\t\tmodified: \"201304162202\"});\n\t\twiki.addTiddler({\n\t\t\ttitle: \"a fourth tiddler\",\n\t\t\ttext: \"The quality of mercy is not drained by [[Tiddler Three]]\",\n\t\t\ttags: [\"TiddlerSeventh\"],\n\t\t\tmodifier: \"JohnDoe\"});\n\t\twiki.addTiddler({\n\t\t\ttitle: \"one\",\n\t\t\ttext: \"This is the text of tiddler [[one]]\",\n\t\t\tlist: \"[[Tiddler Three]] [[TiddlerOne]]\",\n\t\t\tmodifier: \"JohnDoe\"});\n\t\twiki.addTiddler({\n\t\t\ttitle: \"$:/TiddlerFive\",\n\t\t\ttext: \"Everything in federation\",\n\t\t\ttags: [\"two\"]});\n\t\twiki.addTiddler({\n\t\t\ttitle: \"TiddlerSix\",\n\t\t\ttext: \"Missing inaction from TiddlerOne\",\n\t\t\ttags: []});\n\t\twiki.addTiddler({\n\t\t\ttitle: \"TiddlerSeventh\",\n\t\t\ttext: \"\",\n\t\t\tlist: \"TiddlerOne [[Tiddler Three]] [[a fourth tiddler]] MissingTiddler\",\n\t\t\ttags: []});\n\t\twiki.addTiddler({\n\t\t\ttitle: \"Tiddler8\",\n\t\t\ttext: \"Tidd\",\n\t\t\ttags: [],\n\t\t\t\"test-field\": \"JoeBloggs\"});\n\t\twiki.addTiddler({\n\t\t\ttitle: \"Tiddler9\",\n\t\t\ttext: \"Another tiddler\",\n\t\t\ttags: [\"TiddlerSeventh\"],\n\t\t\t\"list-before\": \"a fourth tiddler\"});\n\t\twiki.addTiddler({\n\t\t\ttitle: \"Tiddler10\",\n\t\t\ttext: \"Another tiddler\",\n\t\t\ttags: [\"TiddlerSeventh\"],\n\t\t\t\"list-before\": \"\"});\n\t\twiki.addTiddler({\n\t\t\ttitle: \"Tiddler11\",\n\t\t\ttext: \"Another tiddler\",\n\t\t\ttags: [\"TiddlerSeventh\"],\n\t\t\t\"list-after\": \"Tiddler Three\"});\n\t\treturn wiki;\n\t}\n\n\t// Our tests\n\tfunction runTests(wiki,wikiOptions) {\n\n\t\tit(\"should handle custom tag ordering\", function() {\n\t\t\texpect(wiki.filterTiddlers(\"[tag[TiddlerSeventh]]\").join(\",\")).toBe(\"Tiddler10,TiddlerOne,Tiddler Three,Tiddler11,Tiddler9,a fourth tiddler\");\n\t\t});\n\n\t\tit(\"should apply identical tag ordering irrespective of tag creation order\", function () {\n\t\t\tvar wiki;\n\t\t\twiki = new $tw.Wiki(wikiOptions);\n\t\t\twiki.addTiddler({ title: \"A\", text: \"\", tags: \"sortTag\"});\n\t\t\twiki.addTiddler({ title: \"B\", text: \"\", tags: \"sortTag\"});\n\t\t\twiki.addTiddler({ title: \"C\", text: \"\", tags: \"sortTag\"});\n\t\t\texpect(wiki.filterTiddlers(\"[tag[sortTag]]\").join(\",\")).toBe(\"A,B,C\");\n\t\t\twiki = new $tw.Wiki(wikiOptions);\n\t\t\twiki.addTiddler({ title: \"A\", text: \"\", tags: \"sortTag\"});\n\t\t\twiki.addTiddler({ title: \"C\", text: \"\", tags: \"sortTag\"});\n\t\t\twiki.addTiddler({ title: \"B\", text: \"\", tags: \"sortTag\"});\n\t\t\texpect(wiki.filterTiddlers(\"[tag[sortTag]]\").join(\",\")).toBe(\"A,B,C\");\n\t\t\twiki = new $tw.Wiki(wikiOptions);\n\t\t\twiki.addTiddler({ title: \"C\", text: \"\", tags: \"sortTag\"});\n\t\t\twiki.addTiddler({ title: \"B\", text: \"\", tags: \"sortTag\"});\n\t\t\twiki.addTiddler({ title: \"A\", text: \"\", tags: \"sortTag\"});\n\t\t\texpect(wiki.filterTiddlers(\"[tag[sortTag]]\").join(\",\")).toBe(\"A,B,C\");\n\t\t});\n\n\t\t// Tests for issue (#3296)\n\t\tit(\"should apply tag ordering in order of dependency\", function () {\n\t\t\tvar wiki = new $tw.Wiki(wikiOptions);\n\n\t\t\twiki.addTiddler({ title: \"A\", text: \"\", tags: \"sortTag\", \"list-after\": \"B\"});\n\t\t\twiki.addTiddler({ title: \"B\", text: \"\", tags: \"sortTag\", \"list-after\": \"C\"});\n\t\t\twiki.addTiddler({ title: \"C\", text: \"\", tags: \"sortTag\"});\n\n\t\t\texpect(wiki.filterTiddlers(\"[tag[sortTag]]\").join(\",\")).toBe(\"C,B,A\");\n\t\t});\n\n\t\tit(\"should handle self-referencing dependency without looping infinitely\", function() {\n\t\t\tvar wiki = new $tw.Wiki(wikiOptions);\n\n\t\t\twiki.addTiddler({ title: \"A\", text: \"\", tags: \"sortTag\"});\n\t\t\twiki.addTiddler({ title: \"B\", text: \"\", tags: \"sortTag\", \"list-after\": \"B\"});\n\t\t\twiki.addTiddler({ title: \"C\", text: \"\", tags: \"sortTag\"});\n\n\t\t\texpect(wiki.filterTiddlers(\"[tag[sortTag]]\").join(\",\")).toBe(\"A,B,C\");\n\t\t});\n\n\t\tit(\"should handle empty list-after ordering\", function() {\n\t\t\tvar wiki = new $tw.Wiki(wikiOptions);\n\n\t\t\twiki.addTiddler({ title: \"A\", text: \"\", tags: \"sortTag\", \"list-after\": \"\"});\n\t\t\twiki.addTiddler({ title: \"B\", text: \"\", tags: \"sortTag\"});\n\t\t\twiki.addTiddler({ title: \"C\", text: \"\", tags: \"sortTag\"});\n\n\t\t\texpect(wiki.filterTiddlers(\"[tag[sortTag]]\").join(\",\")).toBe(\"B,C,A\");\n\t\t});\n\n\t\t// If a tiddler in the tag references a tiddler OUTSIDE of the tag\n\t\t// with list-after/before, we need to make sure we don't accidentally\n\t\t// handle that external tiddler, or that reference.\n\t\tit(\"should gracefully handle dependencies that aren't in the tag list\", function() {\n\t\t\tvar wiki = new $tw.Wiki(wikiOptions);\n\n\t\t\twiki.addTiddler({ title: \"A\", text: \"\", tags: \"sortTag\"});\n\t\t\twiki.addTiddler({ title: \"B\", text: \"\", tags: \"sortTag\", \"list-after\": \"Z\"});\n\t\t\twiki.addTiddler({ title: \"C\", text: \"\", tags: \"sortTag\"});\n\t\t\twiki.addTiddler({ title: \"Z\", text: \"\", tags: \"EXCLUDED\", \"list-before\": \"\"});\n\n\t\t\texpect(wiki.filterTiddlers(\"[tag[sortTag]]\").join(\",\")).toBe(\"A,B,C\");\n\t\t});\n\n\t\tit(\"should handle javascript-specific titles\", function() {\n\t\t\tvar wiki = new $tw.Wiki(wikiOptions);\n\n\t\t\twiki.addTiddler({ title: \"A\", text: \"\", tags: \"sortTag\"});\n\t\t\twiki.addTiddler({ title: \"__proto__\", text: \"\", tags: \"sortTag\", \"list-before\": \"\"});\n\n\t\t\texpect(wiki.filterTiddlers(\"[tag[sortTag]]\").join(\",\")).toBe(\"__proto__,A\");\n\t\t});\n\n\t}\n\n});\n\n"
  },
  {
    "path": "editions/test/tiddlers/tests/test-tiddler.js",
    "content": "/*\\\ntitle: test-tiddlers.js\ntype: application/javascript\ntags: [[$:/tags/test-spec]]\n\nTests the tiddler object\n\n\\*/\n\n\"use strict\";\n\ndescribe(\"Tiddler tests\", function() {\n\n\tfunction compareTiddlers(fieldsA,fieldsB,excludeFields) {\n\t\tvar tiddlerA = new $tw.Tiddler(fieldsA),\n\t\t\ttiddlerB = new $tw.Tiddler(fieldsB);\n\t\treturn tiddlerA.isEqual(tiddlerB,excludeFields);\n\t}\n\n\t// Our tests\n\n\tit(\"should compare identical tiddlers\", function() {\n\t\texpect(compareTiddlers({\n\t\t\ttitle: \"HelloThere\",\n\t\t\ttext: \"one\",\n\t\t\ttags: [\"one\",\"two\",\"three\"]\n\t\t},{\n\t\t\ttitle: \"HelloThere\",\n\t\t\ttext: \"one\",\n\t\t\ttags: [\"one\",\"two\",\"three\"]\n\t\t})).toEqual(true);\n\t});\n\n\tit(\"should compare different tiddlers\", function() {\n\t\texpect(compareTiddlers({\n\t\t\ttitle: \"HelloThere2\",\n\t\t\ttext: \"one\",\n\t\t\ttags: [\"one\",\"two\",\"three\"]\n\t\t},{\n\t\t\ttitle: \"HelloThere\",\n\t\t\ttext: \"one\",\n\t\t\ttags: [\"one\",\"two\",\"three\"]\n\t\t})).toEqual(false);\n\t\texpect(compareTiddlers({\n\t\t\ttitle: \"HelloThere\",\n\t\t\ttext: \"one\",\n\t\t\ttags: [\"one\",\"three\"]\n\t\t},{\n\t\t\ttitle: \"HelloThere\",\n\t\t\ttext: \"one\",\n\t\t\ttags: [\"one\",\"two\",\"three\"]\n\t\t})).toEqual(false);\n\t\texpect(compareTiddlers({\n\t\t\ttitle: \"HelloThere\",\n\t\t\ttext: \"one\",\n\t\t\ttags: [\"one\",\"two\",\"three\"],\n\t\t\tcaption: \"Test\"\n\t\t},{\n\t\t\ttitle: \"HelloThere\",\n\t\t\ttext: \"one\",\n\t\t\ttags: [\"one\",\"two\",\"three\"]\n\t\t})).toEqual(false);\n\t\texpect(compareTiddlers({\n\t\t\ttitle: \"HelloThere\",\n\t\t\ttext: \"one\",\n\t\t\ttags: [\"one\",\"two\",\"three\"]\n\t\t},{\n\t\t\ttitle: \"HelloThere\",\n\t\t\ttext: \"one\",\n\t\t\ttags: [\"one\",\"two\",\"three\"],\n\t\t\tcaption: \"Test\"\n\t\t})).toEqual(false);\n\t\texpect(compareTiddlers({\n\t\t\ttitle: \"HelloThere\",\n\t\t\ttext: \"one\",\n\t\t\ttags: [\"one\",\"two\",\"three\"]\n\t\t},{\n\t\t\ttitle: \"HelloThere\",\n\t\t\ttext: \"one\"\n\t\t})).toEqual(false);\n\t});\n\n\tit(\"should compare different tiddlers with exclusions\", function() {\n\t\texpect(compareTiddlers({\n\t\t\ttitle: \"HelloThere2\",\n\t\t\ttext: \"one\",\n\t\t\ttags: [\"one\",\"two\",\"three\"]\n\t\t},{\n\t\t\ttitle: \"HelloThere\",\n\t\t\ttext: \"one\",\n\t\t\ttags: [\"one\",\"two\",\"three\"]\n\t\t},[\"title\"])).toEqual(true);\n\t\texpect(compareTiddlers({\n\t\t\ttitle: \"HelloThere\",\n\t\t\ttext: \"one\",\n\t\t\ttags: [\"one\",\"three\"]\n\t\t},{\n\t\t\ttitle: \"HelloThere\",\n\t\t\ttext: \"one\",\n\t\t\ttags: [\"one\",\"two\",\"three\"]\n\t\t},[\"tags\"])).toEqual(true);\n\t\texpect(compareTiddlers({\n\t\t\ttitle: \"HelloThere\",\n\t\t\ttext: \"one\",\n\t\t\ttags: [\"one\",\"two\",\"three\"],\n\t\t\tcaption: \"Test\"\n\t\t},{\n\t\t\ttitle: \"HelloThere\",\n\t\t\ttext: \"one\",\n\t\t\ttags: [\"one\",\"two\",\"three\"]\n\t\t},[\"caption\"])).toEqual(true);\n\t\texpect(compareTiddlers({\n\t\t\ttitle: \"HelloThere\",\n\t\t\ttext: \"one\",\n\t\t\ttags: [\"one\",\"two\",\"three\"]\n\t\t},{\n\t\t\ttitle: \"HelloThere\",\n\t\t\ttext: \"one\",\n\t\t\ttags: [\"one\",\"two\",\"three\"],\n\t\t\tcaption: \"Test\"\n\t\t},[\"caption\"])).toEqual(true);\n\t\texpect(compareTiddlers({\n\t\t\ttitle: \"HelloThere\",\n\t\t\ttext: \"one\",\n\t\t\ttags: [\"one\",\"two\",\"three\"]\n\t\t},{\n\t\t\ttitle: \"HelloThere\",\n\t\t\ttext: \"one\"\n\t\t},[\"tags\"])).toEqual(true);\n\t});\n\n});\n\n"
  },
  {
    "path": "editions/test/tiddlers/tests/test-utils.js",
    "content": "/*\\\ntitle: test-utils.js\ntype: application/javascript\ntags: [[$:/tags/test-spec]]\n\nTests various utility functions.\n\n\\*/\n\n\"use strict\";\n\ndescribe(\"Utility tests\", function() {\n\n\tit(\"should handle parsing a string array\", function() {\n\t\tvar psa = $tw.utils.parseStringArray;\n\t\texpect(psa(\"Tiddler8\")).toEqual([\"Tiddler8\"]);\n\t\texpect(psa(\" Tiddler8\")).toEqual([\"Tiddler8\"]);\n\t\texpect(psa(\"Tiddler8 \")).toEqual([\"Tiddler8\"]);\n\t\texpect(psa(\"Tiddler8 two\")).toEqual([\"Tiddler8\",\"two\"]);\n\t\texpect(psa(\" Tiddler8 two \")).toEqual([\"Tiddler8\",\"two\"]);\n\t\texpect(psa(\" Tidd\\u00a0ler8 two \")).toEqual([\"Tidd\\u00a0ler8\",\"two\"]);\n\t\texpect(psa(\" [[Tidd\\u00a0ler8]] two \")).toEqual([\"Tidd\\u00a0ler8\",\"two\"]);\n\t});\n\n\tit(\"should handle parsing a date\", function() {\n\t\tvar pd = function(v) {\n\t\t\treturn $tw.utils.parseDate(v).toUTCString();\n\t\t};\n\t\texpect(pd(\"20150428204930183\")).toEqual(\"Tue, 28 Apr 2015 20:49:30 GMT\");\n\t\texpect(pd(\"-20150428204930183\")).toEqual(\"Sun, 28 Apr -2015 20:49:30 GMT\");\n\t\texpect(pd(\"00730428204930183\")).toEqual(\"Fri, 28 Apr 0073 20:49:30 GMT\");\n\t\texpect(pd(\"-00730428204930183\")).toEqual(\"Thu, 28 Apr -0073 20:49:30 GMT\");\n\t});\n\n\tit(\"should handle base64 encoding emojis\", function() {\n\t\tvar booksEmoji = \"📚\";\n\t\texpect(booksEmoji).toBe(booksEmoji);\n\t\t// 📚 is U+1F4DA BOOKS, which is represented by surrogate pair 0xD83D 0xDCDA in Javascript\n\t\texpect(booksEmoji.length).toBe(2);\n\t\texpect(booksEmoji.charCodeAt(0)).toBe(55357); // 0xD83D\n\t\texpect(booksEmoji.charCodeAt(1)).toBe(56538); // 0xDCDA\n\t\texpect($tw.utils.base64Encode(booksEmoji)).not.toBe(\"7aC97bOa\", \"if base64 is 7aC97bOa then surrogate pairs were incorrectly treated as codepoints\");\n\t\texpect($tw.utils.base64Encode(booksEmoji)).toBe(\"8J+Tmg==\", \"if surrogate pairs are correctly treated as a single code unit then base64 should be 8J+Tmg==\");\n\t\texpect($tw.utils.base64Decode(\"8J+Tmg==\")).toBe(booksEmoji);\n\t\texpect($tw.utils.base64Decode($tw.utils.base64Encode(booksEmoji))).toBe(booksEmoji, \"should round-trip correctly\");\n\t});\n\n\tit(\"should handle base64 encoding emojis in URL-safe variant\", function() {\n\t\tvar booksEmoji = \"📚\";\n\t\texpect($tw.utils.base64Encode(booksEmoji, false, true)).toBe(\"8J-Tmg==\", \"if surrogate pairs are correctly treated as a single code unit then base64 should be 8J+Tmg==\");\n\t\texpect($tw.utils.base64Decode(\"8J-Tmg==\", false, true)).toBe(booksEmoji);\n\t\texpect($tw.utils.base64Decode($tw.utils.base64Encode(booksEmoji, false, true), false, true)).toBe(booksEmoji, \"should round-trip correctly\");\n\t});\n\n\tit(\"should handle base64 encoding binary data\", function() {\n\t\tvar binaryData = \"\\xff\\xfe\\xfe\\xff\";\n\t\tvar encoded = $tw.utils.base64Encode(binaryData,true);\n\t\texpect(encoded).toBe(\"//7+/w==\");\n\t\tvar decoded = $tw.utils.base64Decode(encoded,true);\n\t\texpect(decoded).toBe(binaryData, \"Binary data did not round-trip correctly\");\n\t});\n\n\tit(\"should handle base64 encoding binary data in URL-safe variant\", function() {\n\t\tvar binaryData = \"\\xff\\xfe\\xfe\\xff\";\n\t\tvar encoded = $tw.utils.base64Encode(binaryData,true,true);\n\t\texpect(encoded).toBe(\"__7-_w==\");\n\t\tvar decoded = $tw.utils.base64Decode(encoded,true,true);\n\t\texpect(decoded).toBe(binaryData, \"Binary data did not round-trip correctly\");\n\t});\n\n\tit(\"should handle stringifying a string array\", function() {\n\t\tvar str = $tw.utils.stringifyList;\n\t\texpect(str([])).toEqual(\"\");\n\t\texpect(str([\"Tiddler8\"])).toEqual(\"Tiddler8\");\n\t\texpect(str([\"Tiddler8  \"])).toEqual(\"[[Tiddler8  ]]\");\n\t\texpect(str([\"A+B\", \"A-B\", \"A=B\"])).toEqual(\"A+B A-B A=B\");\n\t\texpect(str([\"A B\"])).toEqual(\"[[A B]]\");\n\t\t// Starting special characters aren't treated specially,\n\t\t// even though this makes a list incompatible with a filter parser.\n\t\texpect(str([\"+T\", \"-T\", \"~T\", \"=T\", \"$T\"])).toEqual(\"+T -T ~T =T $T\");\n\t\texpect(str([\"A\", \"\", \"B\"])).toEqual(\"A  B\");\n\t});\n\n\tit(\"stringifyList shouldn't interfere with setting variables to negative numbers\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\t\twiki.addTiddler({title: \"test\", text: \"<$set name=X filter='\\\"-7\\\"'>{{{ [<X>add[2]] }}}</$set>\"});\n\t\t// X shouldn't be wrapped in brackets. If it is, math filters will treat it as zero.\n\t\texpect(wiki.renderTiddler(\"text/plain\",\"test\")).toBe(\"-5\");\n\t});\n\n\tit(\"should handle formatting a date string\", function() {\n\t\tvar fds = $tw.utils.formatDateString,\n\t\t\t// nov is month: 10!\n\t\t\td = new Date(2014,10,9,17,41,28,542);\n\t\texpect(fds(d,\"{era:bce||ce}\")).toBe(\"ce\");\n\t\texpect(fds(d,\"YYYY\")).toBe(\"2014\");\n\t\texpect(fds(d,\"DDD DD MMM YYYY\")).toBe(\"Sunday 9 November 2014\");\n\t\texpect(fds(d,\"ddd hh mm ssss\")).toBe(\"Sun 17 41 2828\");\n\t\texpect(fds(d,\"MM0DD\")).toBe(\"1109\");\n\t\texpect(fds(d,\"MM0\\\\D\\\\D\")).toBe(\"110DD\");\n\t\texpect(fds(d,\"TIMESTAMP\")).toBe(d.getTime().toString());\n\t\tconst day = d.getUTCDate();\n\t\tconst dayStr = (\"\" + day).padStart(2, \"0\");\n\t\tconst hours = d.getUTCHours();\n\t\tconst hoursStr = (\"\" + hours).padStart(2, \"0\");\n\t\tconst expectedUtcStr = `201411${dayStr}${hoursStr}4128542`;\n\t\texpect(fds(d,\"[UTC]YYYY0MM0DD0hh0mm0ssXXX\")).toBe(expectedUtcStr);\n\n\t\t// test some edge cases found at: https://en.wikipedia.org/wiki/ISO_week_date\n\t\t// 2016-11-13 is Week 45 and it's a Sunday (month nr: 10)\n\t\td = new Date(2016,10,12,23,59,59);\n\t\texpect(fds(d,\"WW\")).toBe(\"45\");\n\t\td = new Date(2016,10,13,23,59,59,999);\n\t\texpect(fds(d,\"WW\")).toBe(\"45\");\n\t\td = new Date(2016,10,13,23,59,60);  // see 60 seconds. so it's week 46\n\t\texpect(fds(d,\"WW\")).toBe(\"46\");\n\n\t\t// 2006 Dez. 31 is end of week 52 (month nr: 11)\n\t\td = new Date(2006,11,31,23,59,59);\n\t\texpect(fds(d,\"WW\")).toBe(\"52\");\n\t\td = new Date(2006,11,31,23,59,60);\n\t\texpect(fds(d,\"WW\")).toBe(\"1\");\n\n\t\t// 2010 Jan 03 is in week 53 (month nr: 0)\n\t\td = new Date(2010,0,3,23,59,59);\n\t\texpect(fds(d,\"WW\")).toBe(\"53\");\n\t\td = new Date(2010,0,3,23,59,60);\n\t\texpect(fds(d,\"WW\")).toBe(\"1\");\n\n\t\t// 2014 12 29 is in week 1 of 2015 (month nr. 11)\n\t\td = new Date(2014,11,29,23,59,59);\n\t\texpect(fds(d,\"WW\")).toBe(\"1\");\n\t\texpect(fds(d,\"wYYYY\")).toBe(\"2015\");\n\n\t\t// Negative years\n\t\td = new Date(-2014,10,9,17,41,28,542);\n\t\texpect(fds(d,\"YYYY\")).toBe(\"-2014\");\n\t\texpect(fds(d,\"aYYYY\")).toBe(\"2014\");\n\t\texpect(fds(d,\"{era:bce||ce}\")).toBe(\"bce\");\n\n\t\t// Zero years\n\t\td = new Date(0,10,9,17,41,28,542);\n\t\td.setUTCFullYear(0); // See https://stackoverflow.com/a/5870822\n\t\texpect(fds(d,\"YYYY\")).toBe(\"0000\");\n\t\texpect(fds(d,\"aYYYY\")).toBe(\"0000\");\n\t\texpect(fds(d,\"{era:bce|z|ce}\")).toBe(\"z\");\n\t});\n\n\tit(\"should parse text references\", function() {\n\t\tvar ptr = $tw.utils.parseTextReference;\n\t\texpect(ptr(\"title\")).toEqual(\n\t\t\t{ title : \"title\" }\n\t\t);\n\t\texpect(ptr(\"ti#tle\")).toEqual(\n\t\t\t{ title : \"ti#tle\" }\n\t\t);\n\t\texpect(ptr(\"ti!tle\")).toEqual(\n\t\t\t{ title : \"ti!tle\" }\n\t\t);\n\t\texpect(ptr(\"ti#tle##index\")).toEqual(\n\t\t\t{ title : \"ti#tle\", index : \"index\" }\n\t\t);\n\t\texpect(ptr(\"ti!tle!!field\")).toEqual(\n\t\t\t{ title : \"ti!tle\", field : \"field\" }\n\t\t);\n\t\texpect(ptr(\"title##index!!field\")).toEqual(\n\t\t\t{ title : \"title##index\", field : \"field\" }\n\t\t);\n\t\texpect(ptr(\"title!!field##index\")).toEqual(\n\t\t\t{ title : \"title\", field : \"field##index\" }\n\t\t);\n\n\t});\n\n\tit(\"should compare versions\", function() {\n\t\tvar cv = $tw.utils.compareVersions;\n\t\texpect(cv(\"v0.0.0\",\"v0.0.0\")).toEqual(0);\n\t\texpect(cv(\"0.0.0\",\"v0.0.0\")).toEqual(0);\n\t\texpect(cv(\"v0.0.0\",\"0.0.0\")).toEqual(0);\n\t\texpect(cv(\"v0.0.0\",\"not a version\")).toEqual(0);\n\t\texpect(cv(\"v0.0.0\",undefined)).toEqual(0);\n\t\texpect(cv(\"not a version\",\"v0.0.0\")).toEqual(0);\n\t\texpect(cv(undefined,\"v0.0.0\")).toEqual(0);\n\t\texpect(cv(\"v1.0.0\",\"v1.0.0\")).toEqual(0);\n\t\texpect(cv(\"v1.0.0\",\"1.0.0\")).toEqual(0);\n\n\t\texpect(cv(\"v1.0.1\",undefined)).toEqual(+1);\n\t\texpect(cv(\"v1.0.1\",\"v1.0.0\")).toEqual(+1);\n\t\texpect(cv(\"v1.1.1\",\"v1.1.0\")).toEqual(+1);\n\t\texpect(cv(\"v1.1.2\",\"v1.1.1\")).toEqual(+1);\n\t\texpect(cv(\"1.1.2\",\"v1.1.1\")).toEqual(+1);\n\n\t\texpect(cv(\"v1.0.0\",\"v1.0.1\")).toEqual(-1);\n\t\texpect(cv(\"v1.1.0\",\"v1.1.1\")).toEqual(-1);\n\t\texpect(cv(\"v1.1.1\",\"v1.1.2\")).toEqual(-1);\n\t\texpect(cv(\"1.1.1\",\"1.1.2\")).toEqual(-1);\n\t});\n\n\tit(\"should insert strings into sorted arrays\", function() {\n\t\texpect($tw.utils.insertSortedArray([],\"a\").join(\",\")).toEqual(\"a\");\n\t\texpect($tw.utils.insertSortedArray([\"b\",\"c\",\"d\"],\"a\").join(\",\")).toEqual(\"a,b,c,d\");\n\t\texpect($tw.utils.insertSortedArray([\"b\",\"c\",\"d\"],\"d\").join(\",\")).toEqual(\"b,c,d\");\n\t\texpect($tw.utils.insertSortedArray([\"b\",\"c\",\"d\"],\"f\").join(\",\")).toEqual(\"b,c,d,f\");\n\t\texpect($tw.utils.insertSortedArray([\"b\",\"c\",\"d\",\"e\"],\"f\").join(\",\")).toEqual(\"b,c,d,e,f\");\n\t\texpect($tw.utils.insertSortedArray([\"b\",\"c\",\"g\"],\"f\").join(\",\")).toEqual(\"b,c,f,g\");\n\t\texpect($tw.utils.insertSortedArray([\"b\",\"c\",\"d\"],\"ccc\").join(\",\")).toEqual(\"b,c,ccc,d\");\n\t});\n\n});\n"
  },
  {
    "path": "editions/test/tiddlers/tests/test-widget-event.js",
    "content": "/*\\\ntitle: test-widget-event.js\ntype: application/javascript\ntags: [[$:/tags/test-spec]]\n\\*/\n\n\"use strict\";\n\ndescribe(\"Widget Event Listeners\", function() {\n\tvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\n\tfunction createWidgetNode(parseTreeNode,wiki,parentWidget) {\n\t\treturn new widget.widget(parseTreeNode,{\n\t\t\twiki: wiki,\n\t\t\tdocument: $tw.fakeDocument,\n\t\t\tparentWidget: parentWidget\n\t\t});\n\t}\n\n\tit(\"should call all added event listeners on dispatchEvent\", function() {\n\t\tvar calls = [];\n\t\tvar wiki = new $tw.Wiki();\n\t\tvar widget = createWidgetNode({type:\"widget\", text:\"text\"}, wiki);\n\n\t\t// Add a function listener.\n\t\twidget.addEventListener(\"testEvent\", function(e) {\n\t\t\tcalls.push(\"funcListener\");\n\t\t\treturn true;\n\t\t});\n\t\t// Setup a method on widget for string listener.\n\t\twidget.testHandler = function(e) {\n\t\t\tcalls.push(\"methodListener\");\n\t\t\treturn true;\n\t\t};\n\t\twidget.addEventListener(\"testEvent\", \"testHandler\");\n\n\t\tvar event = {type:\"testEvent\"};\n\t\tvar result = widget.dispatchEvent(event);\n\t\texpect(result).toBe(true);\n\t\texpect(calls.length).toBe(2);\n\t\texpect(calls).toContain(\"funcListener\");\n\t\texpect(calls).toContain(\"methodListener\");\n\t});\n\n\tit(\"should remove an event listener correctly\", function() {\n\t\tvar calls = [];\n\t\tvar wiki = new $tw.Wiki();\n\t\tvar widget = createWidgetNode({type:\"widget\", text:\"text\"}, wiki);\n\n\t\tfunction listener(e) {\n\t\t\tcalls.push(\"listener\");\n\t\t\treturn true;\n\t\t}\n\t\t// Add listener twice: once as function and then add another distinct listener.\n\t\twidget.addEventListener(\"removeTest\", listener);\n\t\twidget.addEventListener(\"removeTest\", function(e) {\n\t\t\tcalls.push(\"secondListener\");\n\t\t\treturn true;\n\t\t});\n\t\t// Remove the function listener.\n\t\twidget.removeEventListener(\"removeTest\", listener);\n\n\t\tvar event = {type:\"removeTest\"};\n\t\tvar result = widget.dispatchEvent(event);\n\t\texpect(result).toBe(true);\n\t\texpect(calls.length).toBe(1);\n\t\texpect(calls).toContain(\"secondListener\");\n\t\texpect(calls).not.toContain(\"listener\");\n\t});\n\n\tit(\"stop further propagation by returns false won't block other listeners on the same level.\", function() {\n\t\tvar calls = [];\n\t\tvar wiki = new $tw.Wiki();\n\t\tvar widget = createWidgetNode({type:\"widget\", text:\"text\"}, wiki);\n\n\t\twidget.addEventListener(\"stopEvent\", function(e) {\n\t\t\tcalls.push(\"first\");\n\t\t\t// stops further propagation, but still dispatch event for second listener.\n\t\t\treturn false;\n\t\t});\n\t\twidget.addEventListener(\"stopEvent\", function(e) {\n\t\t\tcalls.push(\"second\");\n\t\t\treturn true;\n\t\t});\n\t\tvar event = {type:\"stopEvent\"};\n\t\tvar result = widget.dispatchEvent(event);\n\t\texpect(result).toBe(false);\n\t\texpect(calls.length).toBe(2);\n\t\texpect(calls).toContain(\"first\");\n\t\texpect(calls).toContain(\"second\");\n\t});\n\n\tit(\"should dispatch event to parent widget if not handled on child\", function() {\n\t\tvar parentCalls = [];\n\t\tvar wiki = new $tw.Wiki();\n\t\tvar parentWidget = createWidgetNode({type:\"widget\", text:\"text\"}, wiki);\n\t\tparentWidget.addEventListener(\"parentEvent\", function(e) {\n\t\t\tparentCalls.push(\"parentListener\");\n\t\t\treturn true;\n\t\t});\n\t\t// Create a child with parentWidget assigned.\n\t\tvar childWidget = createWidgetNode({type:\"widget\", text:\"text\"}, wiki, parentWidget);\n\t\t// No listener on child; so dispatch should bubble up.\n\t\tvar event = {type:\"parentEvent\"};\n\t\tvar result = childWidget.dispatchEvent(event);\n\t\texpect(result).toBe(true);\n\t\texpect(parentCalls.length).toBe(1);\n\t\texpect(parentCalls).toContain(\"parentListener\");\n\t});\n\n\tit(\"should not dispatch event to parent if child's listener stops propagation\", function() {\n\t\tvar parentCalls = [];\n\t\tvar wiki = new $tw.Wiki();\n\t\tvar parentWidget = createWidgetNode({type:\"widget\", text:\"text\"}, wiki);\n\t\tparentWidget.addEventListener(\"bubbleTest\", function(e) {\n\t\t\tparentCalls.push(\"parentListener\");\n\t\t\treturn true;\n\t\t});\n\t\tvar childWidget = createWidgetNode({type:\"widget\", text:\"text\"}, wiki, parentWidget);\n\t\tchildWidget.addEventListener(\"bubbleTest\", function(e) {\n\t\t\treturn false; // Stop event propagation\n\t\t});\n\t\tvar event = {type:\"bubbleTest\"};\n\t\tvar result = childWidget.dispatchEvent(event);\n\t\texpect(result).toBe(false);\n\t\texpect(parentCalls.length).toBe(0);\n\t});\n\n\tit(\"should call multiple listeners in proper order across child and parent\", function() {\n\t\tvar calls = [];\n\t\tvar wiki = new $tw.Wiki();\n\t\tvar parentWidget = createWidgetNode({type:\"widget\", text:\"text\"}, wiki);\n\t\tparentWidget.addEventListener(\"chainEvent\", function(e) {\n\t\t\tcalls.push(\"parentListener\");\n\t\t\treturn true;\n\t\t});\n\t\tvar childWidget = createWidgetNode({type:\"widget\", text:\"text\"}, wiki, parentWidget);\n\t\tchildWidget.addEventListener(\"chainEvent\", function(e) {\n\t\t\tcalls.push(\"childListener\");\n\t\t\treturn true;\n\t\t});\n\t\tvar event = {type:\"chainEvent\"};\n\t\tvar result = childWidget.dispatchEvent(event);\n\t\texpect(result).toBe(true);\n\t\texpect(calls.length).toBe(2);\n\t\t// First call from child widget and then parent's listener.\n\t\texpect(calls[0]).toBe(\"childListener\");\n\t\texpect(calls[1]).toBe(\"parentListener\");\n\t});\n\n\t// Additional tests for multiple event types\n\tit(\"should handle events of different types separately\", function() {\n\t\tvar callsA = [];\n\t\tvar callsB = [];\n\t\tvar wiki = new $tw.Wiki();\n\t\tvar widget = createWidgetNode({type:\"widget\", text:\"text\"}, wiki);\n\t\twidget.addEventListener(\"eventA\", function(e) {\n\t\t\tcallsA.push(\"A1\");\n\t\t\treturn true;\n\t\t});\n\t\twidget.addEventListener(\"eventB\", function(e) {\n\t\t\tcallsB.push(\"B1\");\n\t\t\treturn true;\n\t\t});\n\t\twidget.dispatchEvent({type:\"eventA\"});\n\t\twidget.dispatchEvent({type:\"eventB\"});\n\t\texpect(callsA).toContain(\"A1\");\n\t\texpect(callsB).toContain(\"B1\");\n\t});\n\n\t// Test using $tw.utils.each in removeEventListener internally (behavior verified via dispatch)\n\tit(\"should remove listeners using $tw.utils.each without affecting other listeners\", function() {\n\t\tvar calls = [];\n\t\tvar wiki = new $tw.Wiki();\n\t\tvar widget = createWidgetNode({type:\"widget\", text:\"text\"}, wiki);\n\t\tfunction listener1(e) {\n\t\t\tcalls.push(\"listener1\");\n\t\t\treturn true;\n\t\t}\n\t\tfunction listener2(e) {\n\t\t\tcalls.push(\"listener2\");\n\t\t\treturn true;\n\t\t}\n\t\twidget.addEventListener(\"testRemove\", listener1);\n\t\twidget.addEventListener(\"testRemove\", listener2);\n\t\twidget.removeEventListener(\"testRemove\", listener1);\n\t\twidget.dispatchEvent({type:\"testRemove\"});\n\t\texpect(calls.length).toBe(1);\n\t\texpect(calls).toContain(\"listener2\");\n\t\texpect(calls).not.toContain(\"listener1\");\n\t});\n\n\tit(\"should prevent adding the same event listener multiple times\", function() {\n\t\tvar calls = 0;\n\t\tvar wiki = new $tw.Wiki();\n\t\tvar widget = createWidgetNode({type:\"widget\", text:\"text\"}, wiki);\n\t\t\n\t\tfunction listener(e) {\n\t\t\tcalls++;\n\t\t\treturn true;\n\t\t}\n\t\t\n\t\t// Add the same listener multiple times\n\t\twidget.addEventListener(\"testEvent\", listener);\n\t\twidget.addEventListener(\"testEvent\", listener);\n\t\twidget.addEventListener(\"testEvent\", listener);\n\t\t\n\t\t// Dispatch the event\n\t\tvar event = {type:\"testEvent\"};\n\t\twidget.dispatchEvent(event);\n\t\t\n\t\t// The listener should only be called once\n\t\texpect(calls).toBe(1);\n\t\t\n\t\t// Check the internal structure of eventListeners array\n\t\texpect(widget.eventListeners[\"testEvent\"].length).toBe(1);\n\t});\n\n});\n"
  },
  {
    "path": "editions/test/tiddlers/tests/test-widget-getVariableInfo.js",
    "content": "/*\\\ntitle: test-widget-getVariableInfo.js\ntype: application/javascript\ntags: [[$:/tags/test-spec]]\n\nTests the wikitext rendering pipeline end-to-end. We also need tests that individually test parsers, rendertreenodes etc., but this gets us started.\n\n\\*/\n\"use strict\";\n\ndescribe(\"Widget module\", function() {\n\n\tvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\n\tfunction createWidgetNode(parseTreeNode,wiki) {\n\t\treturn new widget.widget(parseTreeNode,{\n\t\t\twiki: wiki,\n\t\t\tdocument: $tw.fakeDocument\n\t\t});\n\t}\n\n\tfunction parseText(text,wiki,options) {\n\t\tvar parser = wiki.parseText(\"text/vnd.tiddlywiki\",text,options);\n\t\treturn parser ? {type: \"widget\", children: parser.tree} : undefined;\n\t}\n\n\tfunction renderWidgetNode(widgetNode) {\n\t\t$tw.fakeDocument.setSequenceNumber(0);\n\t\tvar wrapper = $tw.fakeDocument.createElement(\"div\");\n\t\twidgetNode.render(wrapper,null);\n\t\t// console.log(require(\"util\").inspect(wrapper,{depth: 8}));\n\t\treturn wrapper;\n\t}\n\n\tit(\"should make sure that getVariableInfo returns all expected parameters\", function() {\n\t\tvar wiki = new  $tw.Wiki();\n\t\twiki.addTiddlers([\n\t\t\t{title: \"A\", text: \"\\\\define macro(a:aa) aaa\"},\n\t\t\t{title: \"B\", text: \"\\\\function fn(f:ff) fff\\n\\\\function x() [<fn>]\"},\n\t\t\t{title: \"C\", text: \"\\\\procedure proc(p:pp) ppp\"},\n\t\t\t{title: \"D\", text: \"\\\\widget $my.widget(w:ww) www\"}\n\t\t]);\n\t\tvar text = \"\\\\import A B C D\\n\\n<$let abc=def>\";\n\t\tvar widgetNode = createWidgetNode(parseText(text,wiki),wiki);\n\t\t// Render the widget node to the DOM\n\t\trenderWidgetNode(widgetNode);\n\t\tvar childNode = widgetNode;\n\t\twhile(childNode.children.length > 0) {\n\t\t\tchildNode = childNode.children[0];\n\t\t}\n\n\t\texpect(childNode.getVariableInfo(\"macro\",{allowSelfAssigned:true}).params).toEqual([{name:\"a\",value:\"aa\",multiValue:[\"aa\"]}]);\n\n\t\t// function params\n\t\texpect(childNode.getVariableInfo(\"fn\",   {allowSelfAssigned:true}).params).toEqual([{name:\"f\",value:\"ff\",multiValue:[\"ff\"]}]);\n\t\t// functions have a text and a value\n\t\texpect(childNode.getVariableInfo(\"x\",   {allowSelfAssigned:true}).text).toBe(\"fff\");\n\t\texpect(childNode.getVariableInfo(\"x\",   {allowSelfAssigned:true}).srcVariable.value).toBe(\"[<fn>]\");\n\n\t\t// procedures and widgets failed prior to v5.3.4\n\t\texpect(childNode.getVariableInfo(\"proc\", {allowSelfAssigned:true}).params).toEqual([{name:\"p\",default:\"pp\"}]);\n\t\texpect(childNode.getVariableInfo(\"$my.widget\", {allowSelfAssigned:true}).params).toEqual([{name:\"w\",default:\"ww\"}]);\n\n\t\t// no params expected\n\t\texpect(childNode.getVariableInfo(\"abc\", {allowSelfAssigned:true})).toEqual({text:\"def\", resultList: [ \"def\" ]});\n\n\t\t// debugger; Find code in browser\n\n\t\t// Find values to be compated to\n\t\t// console.log(\"macro\", childNode.getVariableInfo(\"macro\",{allowSelfAssigned:true}));\n\t\t// console.log(\"function\", childNode.getVariableInfo(\"fn\",{allowSelfAssigned:true}));\n\t\t// console.log(\"function x\", childNode.getVariableInfo(\"x\",{allowSelfAssigned:true}));\n\t\t// console.log(\"procedure\", childNode.getVariableInfo(\"proc\",{allowSelfAssigned:true}));\n\t\t// console.log(\"widget\", childNode.getVariableInfo(\"$my.widget\",{allowSelfAssigned:true}));\n\t\t// console.log(\"let\", childNode.getVariableInfo(\"abc\",{allowSelfAssigned:true}));\n\t});\n\n});\n\n"
  },
  {
    "path": "editions/test/tiddlers/tests/test-widget.js",
    "content": "/*\\\ntitle: test-widget.js\ntype: application/javascript\ntags: [[$:/tags/test-spec]]\n\nTests the wikitext rendering pipeline end-to-end. We also need tests that individually test parsers, rendertreenodes etc., but this gets us started.\n\n\\*/\n\n\"use strict\";\n\ndescribe(\"Widget module\", function() {\n\n\tvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\n\tfunction createWidgetNode(parseTreeNode,wiki) {\n\t\treturn new widget.widget(parseTreeNode,{\n\t\t\twiki: wiki,\n\t\t\tdocument: $tw.fakeDocument\n\t\t});\n\t}\n\n\tfunction parseText(text,wiki,options) {\n\t\tvar parser = wiki.parseText(\"text/vnd.tiddlywiki\",text,options);\n\t\treturn parser ? {type: \"widget\", children: parser.tree} : undefined;\n\t}\n\n\tfunction renderWidgetNode(widgetNode) {\n\t\t$tw.fakeDocument.setSequenceNumber(0);\n\t\tvar wrapper = $tw.fakeDocument.createElement(\"div\");\n\t\twidgetNode.render(wrapper,null);\n\t\t// console.log(require(\"util\").inspect(wrapper,{depth: 8}));\n\t\treturn wrapper;\n\t}\n\n\tfunction refreshWidgetNode(widgetNode,wrapper,changes) {\n\t\tvar changedTiddlers = {};\n\t\tif(changes) {\n\t\t\t$tw.utils.each(changes,function(title) {\n\t\t\t\tchangedTiddlers[title] = true;\n\t\t\t});\n\t\t}\n\t\twidgetNode.refresh(changedTiddlers,wrapper,null);\n\t\t// console.log(require(\"util\").inspect(wrapper,{depth: 8}));\n\t}\n\n\tit(\"should deal with text nodes and HTML elements\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\t\t// Test parse tree\n\t\tvar parseTreeNode = {type: \"widget\", children: [\n\t\t\t{type: \"text\", text: \"A text node\"},\n\t\t\t{type: \"element\", tag: \"div\", attributes: {\n\t\t\t\t\"class\": {type: \"string\", value: \"myClass\"},\n\t\t\t\t\"title\": {type: \"string\", value: \"myTitle\"}\n\t\t\t}, children: [\n\t\t\t\t{type: \"text\", text: \" and the content of a DIV\"},\n\t\t\t\t{type: \"element\", tag: \"div\", children: [\n\t\t\t\t\t{type: \"text\", text: \" and an inner DIV\"},\n\t\t\t\t]},\n\t\t\t\t{type: \"text\", text: \" and back in the outer DIV\"}\n\t\t\t]}\n\t\t]};\n\t\t// Construct the widget node\n\t\tvar widgetNode = createWidgetNode(parseTreeNode,wiki);\n\t\t// Render the widget node to the DOM\n\t\tvar wrapper = renderWidgetNode(widgetNode);\n\t\t// Test the rendering\n\t\texpect(wrapper.innerHTML).toBe(\"A text node<div class=\\\"myClass\\\" title=\\\"myTitle\\\"> and the content of a DIV<div> and an inner DIV</div> and back in the outer DIV</div>\");\n\t\t// Test the sequence numbers in the DOM\n\t\texpect(wrapper.sequenceNumber).toBe(0);\n\t\texpect(wrapper.children[0].sequenceNumber).toBe(1);\n\t\texpect(wrapper.children[1].sequenceNumber).toBe(2);\n\t\texpect(wrapper.children[1].children[0].sequenceNumber).toBe(3);\n\t\texpect(wrapper.children[1].children[1].sequenceNumber).toBe(4);\n\t\texpect(wrapper.children[1].children[1].children[0].sequenceNumber).toBe(5);\n\t\texpect(wrapper.children[1].children[2].sequenceNumber).toBe(6);\n\t});\n\n\tit(\"should deal with transclude widgets and indirect attributes\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\t\t// Add a tiddler\n\t\twiki.addTiddlers([\n\t\t\t{title: \"TiddlerOne\", text: \"the quick brown fox\"}\n\t\t]);\n\t\t// Test parse tree\n\t\tvar parseTreeNode = {type: \"widget\", children: [\n\t\t\t{type: \"text\", text: \"A text node\"},\n\t\t\t{type: \"element\", tag: \"div\", attributes: {\n\t\t\t\t\"class\": {type: \"string\", value: \"myClass\"},\n\t\t\t\t\"title\": {type: \"indirect\", textReference: \"TiddlerOne\"}\n\t\t\t}, children: [\n\t\t\t\t{type: \"text\", text: \" and the content of a DIV\"},\n\t\t\t\t{type: \"element\", tag: \"div\", children: [\n\t\t\t\t\t{type: \"text\", text: \" and an inner DIV\"},\n\t\t\t\t]},\n\t\t\t\t{type: \"text\", text: \" and back in the outer DIV\"},\n\t\t\t\t{type: \"transclude\", attributes: {\n\t\t\t\t\t\"tiddler\": {type: \"string\", value: \"TiddlerOne\"}\n\t\t\t\t}}\n\t\t\t]},\n\t\t\t{type: \"transclude\", attributes: {\n\t\t\t\t\"tiddler\": {type: \"string\", value: \"TiddlerOne\"}\n\t\t\t}}\n\t\t]};\n\t\t// Construct the widget node\n\t\tvar widgetNode = createWidgetNode(parseTreeNode,wiki);\n\t\t// Render the widget node to the DOM\n\t\tvar wrapper = renderWidgetNode(widgetNode);\n\t\t// Test the rendering\n\t\texpect(wrapper.innerHTML).toBe(\"A text node<div class=\\\"myClass\\\" title=\\\"the quick brown fox\\\"> and the content of a DIV<div> and an inner DIV</div> and back in the outer DIVthe quick brown fox</div>the quick brown fox\");\n\t\t// Test the sequence numbers in the DOM\n\t\texpect(wrapper.sequenceNumber).toBe(0);\n\t\texpect(wrapper.children[0].sequenceNumber).toBe(1);\n\t\texpect(wrapper.children[1].sequenceNumber).toBe(2);\n\t\texpect(wrapper.children[1].children[0].sequenceNumber).toBe(3);\n\t\texpect(wrapper.children[1].children[1].sequenceNumber).toBe(4);\n\t\texpect(wrapper.children[1].children[1].children[0].sequenceNumber).toBe(5);\n\t\texpect(wrapper.children[1].children[2].sequenceNumber).toBe(6);\n\t\texpect(wrapper.children[1].children[3].sequenceNumber).toBe(7);\n\t\texpect(wrapper.children[2].sequenceNumber).toBe(8);\n\t\t// Change the transcluded tiddler\n\t\twiki.addTiddler({title: \"TiddlerOne\", text: \"jumps over the lazy dog\"});\n\t\t// Refresh\n\t\trefreshWidgetNode(widgetNode,wrapper,[\"TiddlerOne\"]);\n\t\t// Test the refreshing\n\t\texpect(wrapper.innerHTML).toBe(\"A text node<div class=\\\"myClass\\\" title=\\\"jumps over the lazy dog\\\"> and the content of a DIV<div> and an inner DIV</div> and back in the outer DIVjumps over the lazy dog</div>jumps over the lazy dog\");\n\t\t// Test the sequence numbers in the DOM\n\t\texpect(wrapper.sequenceNumber).toBe(0);\n\t\texpect(wrapper.children[0].sequenceNumber).toBe(1);\n\t\texpect(wrapper.children[1].sequenceNumber).toBe(2);\n\t\texpect(wrapper.children[1].children[0].sequenceNumber).toBe(3);\n\t\texpect(wrapper.children[1].children[1].sequenceNumber).toBe(4);\n\t\texpect(wrapper.children[1].children[1].children[0].sequenceNumber).toBe(5);\n\t\texpect(wrapper.children[1].children[2].sequenceNumber).toBe(6);\n\t\texpect(wrapper.children[1].children[3].sequenceNumber).toBe(9);\n\t\texpect(wrapper.children[2].sequenceNumber).toBe(10);\n\t});\n\n\tit(\"should detect recursion of the transclude macro\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\t\t// Add a tiddler\n\t\twiki.addTiddlers([\n\t\t\t{title: \"TiddlerOne\", text: \"<$transclude tiddler='TiddlerTwo'/>\"},\n\t\t\t{title: \"TiddlerTwo\", text: \"<$transclude tiddler='TiddlerOne'/>\"}\n\t\t]);\n\t\t// Test parse tree\n\t\tvar parseTreeNode = {type: \"widget\", children: [\n\t\t\t{type: \"transclude\", attributes: {\n\t\t\t\t\"tiddler\": {type: \"string\", value: \"TiddlerOne\"}\n\t\t\t}}\n\t\t]};\n\t\t// Construct the widget node\n\t\tvar widgetNode = createWidgetNode(parseTreeNode,wiki);\n\t\t// Render the widget node to the DOM\n\t\tvar wrapper = renderWidgetNode(widgetNode);\n\t\t// Test the rendering\n\t\texpect(wrapper.innerHTML).toBe(\"<span class=\\\"tc-error\\\">Recursive transclusion error in transclude widget</span>\");\n\t});\n\n\tit(\"should handle single-tiddler recursion with branching nodes\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\t\t// Add a tiddler\n\t\twiki.addTiddlers([\n\t\t\t{title: \"TiddlerOne\", text: \"<$tiddler tiddler='TiddlerOne'><$transclude /> <$transclude /></$tiddler>\"},\n\t\t]);\n\t\t// Test parse tree\n\t\tvar parseTreeNode = {type: \"widget\", children: [\n\t\t\t{type: \"transclude\", attributes: {\n\t\t\t\t\"tiddler\": {type: \"string\", value: \"TiddlerOne\"}\n\t\t\t}}\n\t\t]};\n\t\t// Construct the widget node\n\t\tvar widgetNode = createWidgetNode(parseTreeNode,wiki);\n\t\t// Render the widget node to the DOM\n\t\tvar wrapper = renderWidgetNode(widgetNode);\n\t\t// Test the rendering\n\t\texpect(wrapper.innerHTML).toBe(\"<span class=\\\"tc-error\\\">Recursive transclusion error in transclude widget</span> <span class=\\\"tc-error\\\">Recursive transclusion error in transclude widget</span>\");\n\t});\n\n\t// Do NOT use a for-of or for-in here. Each jasmine test must be\n\t// defined in its own function context, or the `tag` variable will\n\t// end up being the same value for all iterations of the test. \n\t$tw.utils.each([\"div\",\"$button\",\"$checkbox\",\"$diff-text\",\"$draggable\",\"$droppable\",\"dropzone\",\"$eventcatcher\",\"$keyboard\",\"$link\",\"$list filter=x variable=x\",\"$radio\",\"$reveal type=nomatch\",\"$scrollable\",\"$select\",\"$view field=x\"],function(tag) {\n\t\tit(`${tag} cleans itself up if children rendering fails`, function() {\n\t\t\tvar wiki = new $tw.Wiki();\n\t\t\twiki.addTiddler({title: \"TiddlerOne\", text: `<$tiddler tiddler='TiddlerOne'><${tag}><$transclude />`});\n\t\t\tvar parseTreeNode = {type: \"widget\", children: [\n\t\t\t\t{type: \"transclude\", attributes: {\n\t\t\t\t\t\"tiddler\": {type: \"string\", value: \"TiddlerOne\"}\n\t\t\t\t}}\n\t\t\t]};\n\t\t\t// Construct the widget node\n\t\t\tvar widgetNode = createWidgetNode(parseTreeNode,wiki);\n\t\t\t// Render the widget node to the DOM\n\t\t\tvar wrapper = renderWidgetNode(widgetNode);\n\t\t\t// We don't actually care exactly what the HTML contains,\n\t\t\t// only that it's reasonably sized. If it's super large,\n\t\t\t// that means the widget containing the bad transclusion\n\t\t\t// didn't figure out how to clean itself up, and it cloned a bunch.\n\t\t\tvar html = wrapper.innerHTML;\n\t\t\texpect(html).toContain(\"Recursive transclusion error in transclude widget\");\n\t\t\texpect(html.length).toBeLessThan(256, \"CONTENTS: \" + html);\n\t\t});\n\t});\n\n\tit(\"should handle many-tiddler recursion with branching nodes\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\t\t// Add a tiddler\n\t\twiki.addTiddlers([\n\t\t\t{title: \"TiddlerOne\", text: \"<$transclude tiddler='TiddlerTwo'/> <$transclude tiddler='TiddlerTwo'/>\"},\n\t\t\t{title: \"TiddlerTwo\", text: \"<$transclude tiddler='TiddlerOne'/>\"}\n\t\t]);\n\t\t// Test parse tree\n\t\tvar parseTreeNode = {type: \"widget\", children: [\n\t\t\t{type: \"transclude\", attributes: {\n\t\t\t\t\"tiddler\": {type: \"string\", value: \"TiddlerOne\"}\n\t\t\t}}\n\t\t]};\n\t\t// Construct the widget node\n\t\tvar widgetNode = createWidgetNode(parseTreeNode,wiki);\n\t\t// Render the widget node to the DOM\n\t\tvar wrapper = renderWidgetNode(widgetNode);\n\t\t// Test the rendering\n\t\texpect(wrapper.innerHTML).toBe(\"<span class=\\\"tc-error\\\">Recursive transclusion error in transclude widget</span>\");\n\t});\n\n\tit(\"should deal with SVG elements\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\t\t// Construct the widget node\n\t\tvar text = \"<svg class=\\\"tv-image-new-button\\\" viewBox=\\\"83 81 50 50\\\" width=\\\"22pt\\\" height=\\\"22pt\\\"><path d=\\\"M 101.25 112.5 L 101.25 127.5 C 101.25 127.5 101.25 127.5 101.25 127.5 L 101.25 127.5 C 101.25 129.156855 102.593146 130.5 104.25 130.5 L 111.75 130.5 C 113.406854 130.5 114.75 129.156854 114.75 127.5 L 114.75 112.5 L 129.75 112.5 C 131.406854 112.5 132.75 111.156854 132.75 109.5 L 132.75 102 C 132.75 100.343146 131.406854 99 129.75 99 L 114.75 99 L 114.75 84 C 114.75 82.343146 113.406854 81 111.75 81 L 104.25 81 C 104.25 81 104.25 81 104.25 81 C 102.593146 81 101.25 82.343146 101.25 84 L 101.25 99 L 86.25 99 C 86.25 99 86.25 99 86.25 99 C 84.593146 99 83.25 100.343146 83.25 102 L 83.25 109.5 C 83.25 109.5 83.25 109.5 83.25 109.5 L 83.25 109.5 C 83.25 111.156855 84.593146 112.5 86.25 112.5 Z\\\"/></svg>\\n\";\n\t\tvar widgetNode = createWidgetNode(parseText(text,wiki,{parseAsInline:true}),wiki);\n\t\t// Render the widget node to the DOM\n\t\tvar wrapper = renderWidgetNode(widgetNode);\n\t\t// Test the rendering\n\t\texpect(wrapper.innerHTML).toBe(\"<svg class=\\\"tv-image-new-button\\\" height=\\\"22pt\\\" viewBox=\\\"83 81 50 50\\\" width=\\\"22pt\\\"><path d=\\\"M 101.25 112.5 L 101.25 127.5 C 101.25 127.5 101.25 127.5 101.25 127.5 L 101.25 127.5 C 101.25 129.156855 102.593146 130.5 104.25 130.5 L 111.75 130.5 C 113.406854 130.5 114.75 129.156854 114.75 127.5 L 114.75 112.5 L 129.75 112.5 C 131.406854 112.5 132.75 111.156854 132.75 109.5 L 132.75 102 C 132.75 100.343146 131.406854 99 129.75 99 L 114.75 99 L 114.75 84 C 114.75 82.343146 113.406854 81 111.75 81 L 104.25 81 C 104.25 81 104.25 81 104.25 81 C 102.593146 81 101.25 82.343146 101.25 84 L 101.25 99 L 86.25 99 C 86.25 99 86.25 99 86.25 99 C 84.593146 99 83.25 100.343146 83.25 102 L 83.25 109.5 C 83.25 109.5 83.25 109.5 83.25 109.5 L 83.25 109.5 C 83.25 111.156855 84.593146 112.5 86.25 112.5 Z\\\"></path></svg>\\n\");\n\t\texpect(wrapper.firstChild.namespaceURI).toBe(\"http://www.w3.org/2000/svg\");\n\t});\n\n\tit(\"should parse and render transclusions\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\t\t// Add a tiddler\n\t\twiki.addTiddlers([\n\t\t\t{title: \"TiddlerOne\", text: \"Jolly Old World\"},\n\t\t\t{title: \"TiddlerTwo\", text: \"<$transclude tiddler={{TiddlerThree}}/>\"},\n\t\t\t{title: \"TiddlerThree\", text: \"TiddlerOne\"}\n\t\t]);\n\t\t// Construct the widget node\n\t\tvar text = \"My <$transclude tiddler='TiddlerTwo'/> is Jolly\";\n\t\tvar widgetNode = createWidgetNode(parseText(text,wiki),wiki);\n\t\t// Render the widget node to the DOM\n\t\tvar wrapper = renderWidgetNode(widgetNode);\n\t\t// Test the rendering\n\t\texpect(wrapper.innerHTML).toBe(\"<p>My Jolly Old World is Jolly</p>\");\n\t});\n\n\tit(\"should render the view widget\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\t\t// Add a tiddler\n\t\twiki.addTiddlers([\n\t\t\t{title: \"TiddlerOne\", text: \"Jolly Old World\"}\n\t\t]);\n\t\t// Construct the widget node\n\t\tvar text = \"<$view tiddler='TiddlerOne'/>\";\n\t\tvar widgetNode = createWidgetNode(parseText(text,wiki),wiki);\n\t\t// Render the widget node to the DOM\n\t\tvar wrapper = renderWidgetNode(widgetNode);\n\t\t// Test the rendering\n\t\texpect(wrapper.innerHTML).toBe(\"<p>Jolly Old World</p>\");\n\t\t// Test the sequence numbers in the DOM\n\t\texpect(wrapper.sequenceNumber).toBe(0);\n\t\texpect(wrapper.children[0].sequenceNumber).toBe(1);\n\t\texpect(wrapper.children[0].children[0].sequenceNumber).toBe(2);\n\t\t// Change the transcluded tiddler\n\t\twiki.addTiddler({title: \"TiddlerOne\", text: \"World-wide Jelly\"});\n\t\t// Refresh\n\t\trefreshWidgetNode(widgetNode,wrapper,[\"TiddlerOne\"]);\n\t\t// Test the refreshing\n\t\texpect(wrapper.innerHTML).toBe(\"<p>World-wide Jelly</p>\");\n\t\t// Test the sequence numbers in the DOM\n\t\texpect(wrapper.sequenceNumber).toBe(0);\n\t\texpect(wrapper.children[0].sequenceNumber).toBe(1);\n\t\texpect(wrapper.children[0].children[0].sequenceNumber).toBe(3);\n\t});\n\n\tit(\"should deal with the set widget\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\t\t// Add some tiddlers\n\t\twiki.addTiddlers([\n\t\t\t{title: \"TiddlerOne\", text: \"Jolly Old World\"},\n\t\t\t{title: \"TiddlerTwo\", text: \"<$transclude tiddler={{TiddlerThree}}/>\"},\n\t\t\t{title: \"TiddlerThree\", text: \"TiddlerOne\"},\n\t\t\t{title: \"TiddlerFour\", text: \"TiddlerTwo\"}\n\t\t]);\n\t\t// Construct the widget node\n\t\tvar text = \"My <$set name='currentTiddler' value={{TiddlerFour}}><$transclude tiddler={{!!title}}/></$set> is Jolly\";\n\t\tvar widgetNode = createWidgetNode(parseText(text,wiki),wiki);\n\t\t// Render the widget node to the DOM\n\t\tvar wrapper = renderWidgetNode(widgetNode);\n\t\t// Test the rendering\n\t\texpect(wrapper.innerHTML).toBe(\"<p>My Jolly Old World is Jolly</p>\");\n\t\t// Change the transcluded tiddler\n\t\twiki.addTiddler({title: \"TiddlerFour\", text: \"TiddlerOne\"});\n\t\t// Refresh\n\t\trefreshWidgetNode(widgetNode,wrapper,[\"TiddlerFour\"]);\n\t\t// Test the refreshing\n\t\texpect(wrapper.innerHTML).toBe(\"<p>My Jolly Old World is Jolly</p>\");\n\t\t// Test the sequence numbers in the DOM\n\t\texpect(wrapper.sequenceNumber).toBe(0);\n\t\texpect(wrapper.children[0].sequenceNumber).toBe(1);\n\t\texpect(wrapper.children[0].children[0].sequenceNumber).toBe(2);\n\t\texpect(wrapper.children[0].children[1].sequenceNumber).toBe(5);\n\t\texpect(wrapper.children[0].children[2].sequenceNumber).toBe(4);\n\t});\n\n\tit(\"should deal with the let widget\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\t\twiki.addTiddlers([\n\t\t\t{title: \"TiddlerOne\", text: \"lookup\"},\n\t\t\t{title: \"TiddlerTwo\", lookup: \"value\", newlookup: \"value\", wrong: \"wrong\"},\n\t\t\t{title: \"TiddlerThree\", text: \"wrong\", value: \"Happy Result\", wrong: \"ALL WRONG!!\"}\n\t\t]);\n\t\tvar text=\"\\\\define macro() TiddlerThree\\n\"+\n\t\t\t\"\\\\define currentTiddler() TiddlerOne\\n\"+\n\t\t\t\"<$let \"+\n\t\t\t\t\"field={{!!text}} \"+\n\t\t\t\t\"currentTiddler='TiddlerTwo' \"+\n\t\t\t\t\"field={{{ [all[current]get<field>] }}} \"+\n\t\t\t\t\"currentTiddler=<<macro>>>\"+\n\t\t\t\t\t\"<$transclude field=<<field>>/></$let>\";\n\t\tvar widgetNode = createWidgetNode(parseText(text,wiki),wiki);\n\t\tvar wrapper = renderWidgetNode(widgetNode);\n\t\texpect(wrapper.innerHTML).toBe(\"<p>Happy Result</p>\");\n\n\t\t// This is important. $Let needs to be aware enough not to let its\n\t\t// own variables interfere with its ability to recognise no change.\n\t\t// Doesn't matter that nothing has changed, we just need to make sure\n\t\t// it recognizes that that its outward facing variables are unchanged\n\t\t// EVEN IF some intermediate variables did change, there's no need to\n\t\t// refresh.\n\t\twiki.addTiddler({title: \"TiddlerOne\", text: \"newlookup\"});\n\t\texpect(widgetNode.refresh({})).toBe(false);\n\n\t\t// But if we make a change that might result in different outfacing\n\t\t// variables, then it should refresh\n\t\twiki.addTiddler({title: \"TiddlerOne\", text: \"badlookup\"});\n\t\texpect(widgetNode.refresh({})).toBe(true);\n\t});\n\n\tit(\"should deal with attributes specified as macro invocations\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\t\t// Construct the widget node\n\t\tvar text = \"\\\\define myMacro(one:\\\"paramOne\\\",two,three:\\\"paramTwo\\\")\\nMy something $one$, $two$ or other $three$\\n\\\\end\\n<div class=<<myMacro 'something' three:'thing'>>>Content</div>\";\n\t\tvar widgetNode = createWidgetNode(parseText(text,wiki),wiki);\n\t\t// Render the widget node to the DOM\n\t\tvar wrapper = renderWidgetNode(widgetNode);\n\t\t// Test the rendering\n\t\texpect(wrapper.innerHTML).toBe(\"<p><div class=\\\"My something something,  or other thing\\\">Content</div></p>\");\n\t});\n\n\tit(\"should deal with built-in macros\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\t\t// Add some tiddlers\n\t\twiki.addTiddlers([\n\t\t\t{title: \"TiddlerOne\", text: \"Jolly Old World\", type: \"text/vnd.tiddlywiki\"}\n\t\t]);\n\t\t// Construct the widget node\n\t\tvar text = \"\\\\define makelink(text,type)\\n<a href=<<makedatauri text:\\\"$text$\\\" type:\\\"$type$\\\">>>My linky link</a>\\n\\\\end\\n\\n<$macrocall $name=\\\"makelink\\\" text={{TiddlerOne}} type={{TiddlerOne!!type}}/>\";\n\t\tvar widgetNode = createWidgetNode(parseText(text,wiki),wiki);\n\t\t// Render the widget node to the DOM\n\t\tvar wrapper = renderWidgetNode(widgetNode);\n\t\t// Test the rendering\n\t\texpect(wrapper.innerHTML).toBe(\"<p><a href=\\\"data:text/vnd.tiddlywiki,Jolly%20Old%20World\\\">My linky link</a></p>\");\n\t});\n\n\t/* This test reproduces issue #4693. */\n\tit(\"should render the entity widget\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\t\t// Construct the widget node\n\t\tvar text = \"\\n\\n<$entity entity='&nbsp;' />\\n\\n<$entity entity='&#x2713;' />\\n\";\n\t\tvar widgetNode = createWidgetNode(parseText(text,wiki),wiki);\n\t\t// Render the widget node to the DOM\n\t\tvar wrapper = renderWidgetNode(widgetNode);\n\t\t// Test the rendering\n\t\texpect(wrapper.innerHTML).toBe(\" ✓\");\n\t\t// Test the sequence numbers in the DOM\n\t\texpect(wrapper.sequenceNumber).toBe(0);\n\t\texpect(wrapper.children[0].sequenceNumber).toBe(1);\n\t\texpect(wrapper.children[0].nodeType).toBe(wrapper.children[0].TEXT_NODE);\n\t\texpect(wrapper.children[1].sequenceNumber).toBe(2);\n\t\texpect(wrapper.children[1].nodeType).toBe(wrapper.children[1].TEXT_NODE);\n\t});\n\n\tit(\"should deal with the list widget\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\t\t// Add some tiddlers\n\t\twiki.addTiddlers([\n\t\t\t{title: \"TiddlerOne\", text: \"Jolly Old World\"},\n\t\t\t{title: \"TiddlerTwo\", text: \"Worldly Old Jelly\"},\n\t\t\t{title: \"TiddlerThree\", text: \"Golly Gosh\"},\n\t\t\t{title: \"TiddlerFour\", text: \"Lemon Squash\"}\n\t\t]);\n\t\t// Construct the widget node\n\t\tvar text = \"<$list><$view field='title'/></$list>\";\n\t\tvar widgetNode = createWidgetNode(parseText(text,wiki),wiki);\n\t\t// Render the widget node to the DOM\n\t\tvar wrapper = renderWidgetNode(widgetNode);\n\t\t// Test the rendering\n\t\texpect(wrapper.innerHTML).toBe(\"<p>TiddlerFourTiddlerOneTiddlerThreeTiddlerTwo</p>\");\n\t\t// Add another tiddler\n\t\twiki.addTiddler({title: \"TiddlerFive\", text: \"Jalapeno Peppers\"});\n\t\t// Refresh\n\t\trefreshWidgetNode(widgetNode,wrapper,[\"TiddlerFive\"]);\n\t\t// Test the refreshing\n\t\texpect(wrapper.innerHTML).toBe(\"<p>TiddlerFiveTiddlerFourTiddlerOneTiddlerThreeTiddlerTwo</p>\");\n\t\t// Test the sequence numbers in the DOM\n\t\texpect(wrapper.sequenceNumber).toBe(0);\n\t\texpect(wrapper.children[0].sequenceNumber).toBe(1);\n\t\texpect(wrapper.children[0].children[0].sequenceNumber).toBe(6);\n\t\texpect(wrapper.children[0].children[1].sequenceNumber).toBe(2);\n\t\texpect(wrapper.children[0].children[2].sequenceNumber).toBe(3);\n\t\texpect(wrapper.children[0].children[3].sequenceNumber).toBe(4);\n\t\texpect(wrapper.children[0].children[4].sequenceNumber).toBe(5);\n\t\t// Remove a tiddler\n\t\twiki.deleteTiddler(\"TiddlerThree\");\n\t\t// Refresh\n\t\trefreshWidgetNode(widgetNode,wrapper,[\"TiddlerThree\"]);\n\t\t// Test the refreshing\n\t\texpect(wrapper.innerHTML).toBe(\"<p>TiddlerFiveTiddlerFourTiddlerOneTiddlerTwo</p>\");\n\t\t// Test the sequence numbers in the DOM\n\t\texpect(wrapper.sequenceNumber).toBe(0);\n\t\texpect(wrapper.children[0].sequenceNumber).toBe(1);\n\t\texpect(wrapper.children[0].children[0].sequenceNumber).toBe(6);\n\t\texpect(wrapper.children[0].children[1].sequenceNumber).toBe(2);\n\t\texpect(wrapper.children[0].children[2].sequenceNumber).toBe(3);\n\t\texpect(wrapper.children[0].children[3].sequenceNumber).toBe(5);\n\t\t// Add it back a tiddler\n\t\twiki.addTiddler({title: \"TiddlerThree\", text: \"Something\"});\n\t\t// Refresh\n\t\trefreshWidgetNode(widgetNode,wrapper,[\"TiddlerThree\"]);\n\t\t// Test the refreshing\n\t\texpect(wrapper.innerHTML).toBe(\"<p>TiddlerFiveTiddlerFourTiddlerOneTiddlerThreeTiddlerTwo</p>\");\n\t\t// Test the sequence numbers in the DOM\n\t\texpect(wrapper.sequenceNumber).toBe(0);\n\t\texpect(wrapper.children[0].sequenceNumber).toBe(1);\n\t\texpect(wrapper.children[0].children[0].sequenceNumber).toBe(6);\n\t\texpect(wrapper.children[0].children[1].sequenceNumber).toBe(2);\n\t\texpect(wrapper.children[0].children[2].sequenceNumber).toBe(3);\n\t\texpect(wrapper.children[0].children[3].sequenceNumber).toBe(7);\n\t\texpect(wrapper.children[0].children[4].sequenceNumber).toBe(5);\n\t});\n\n\n\tit(\"should deal with the list widget using a counter variable\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\t\t// Add some tiddlers\n\t\twiki.addTiddlers([\n\t\t\t{title: \"TiddlerOne\", text: \"Jolly Old World\"},\n\t\t\t{title: \"TiddlerTwo\", text: \"Worldly Old Jelly\"},\n\t\t\t{title: \"TiddlerThree\", text: \"Golly Gosh\"},\n\t\t\t{title: \"TiddlerFour\", text: \"Lemon Squash\"}\n\t\t]);\n\t\t// Construct the widget node\n\t\tvar text = \"<$list counter='index'><$view field='text'/><$text text=<<index>>/><$text text=<<index-first>>/><$text text=<<index-last>>/></$list>\";\n\t\tvar widgetNode = createWidgetNode(parseText(text,wiki),wiki);\n\t\t// Render the widget node to the DOM\n\t\tvar wrapper = renderWidgetNode(widgetNode);\n\t\t// Test the rendering\n\t\texpect(wrapper.innerHTML).toBe(\"<p>Lemon Squash1yesnoJolly Old World2nonoGolly Gosh3nonoWorldly Old Jelly4noyes</p>\");\n\t\t// Test the sequence numbers in the DOM\n\t\texpect(wrapper.sequenceNumber).toBe(0);\n\t\texpect(wrapper.children[0].sequenceNumber).toBe(1);\n\t\texpect(wrapper.children[0].children[0].sequenceNumber).toBe(2);\n\t\texpect(wrapper.children[0].children[1].sequenceNumber).toBe(3);\n\t\texpect(wrapper.children[0].children[2].sequenceNumber).toBe(4);\n\t\texpect(wrapper.children[0].children[3].sequenceNumber).toBe(5);\n\t\texpect(wrapper.children[0].children[4].sequenceNumber).toBe(6);\n\t\texpect(wrapper.children[0].children[5].sequenceNumber).toBe(7);\n\t\texpect(wrapper.children[0].children[6].sequenceNumber).toBe(8);\n\t\texpect(wrapper.children[0].children[7].sequenceNumber).toBe(9);\n\t\texpect(wrapper.children[0].children[8].sequenceNumber).toBe(10);\n\t\texpect(wrapper.children[0].children[9].sequenceNumber).toBe(11);\n\t\texpect(wrapper.children[0].children[10].sequenceNumber).toBe(12);\n\t\texpect(wrapper.children[0].children[11].sequenceNumber).toBe(13);\n\t\texpect(wrapper.children[0].children[12].sequenceNumber).toBe(14);\n\t\texpect(wrapper.children[0].children[13].sequenceNumber).toBe(15);\n\t\texpect(wrapper.children[0].children[14].sequenceNumber).toBe(16);\n\t\texpect(wrapper.children[0].children[15].sequenceNumber).toBe(17);\n\t\t// Add another tiddler\n\t\twiki.addTiddler({title: \"TiddlerFive\", text: \"Jalapeno Peppers\"});\n\t\t// Refresh\n\t\trefreshWidgetNode(widgetNode,wrapper,[\"TiddlerFive\"]);\n\t\t// Test the refreshing\n\t\texpect(wrapper.innerHTML).toBe(\"<p>Jalapeno Peppers1yesnoLemon Squash2nonoJolly Old World3nonoGolly Gosh4nonoWorldly Old Jelly5noyes</p>\");\n\t\t// Test the sequence numbers in the DOM\n\t\texpect(wrapper.sequenceNumber).toBe(0);\n\t\texpect(wrapper.children[0].sequenceNumber).toBe(1);\n\t\texpect(wrapper.children[0].children[0].sequenceNumber).toBe(18);\n\t\texpect(wrapper.children[0].children[1].sequenceNumber).toBe(19);\n\t\texpect(wrapper.children[0].children[2].sequenceNumber).toBe(20);\n\t\texpect(wrapper.children[0].children[3].sequenceNumber).toBe(21);\n\t\texpect(wrapper.children[0].children[4].sequenceNumber).toBe(22);\n\t\texpect(wrapper.children[0].children[5].sequenceNumber).toBe(23);\n\t\texpect(wrapper.children[0].children[6].sequenceNumber).toBe(24);\n\t\texpect(wrapper.children[0].children[7].sequenceNumber).toBe(25);\n\t\texpect(wrapper.children[0].children[8].sequenceNumber).toBe(26);\n\t\texpect(wrapper.children[0].children[9].sequenceNumber).toBe(27);\n\t\texpect(wrapper.children[0].children[10].sequenceNumber).toBe(28);\n\t\texpect(wrapper.children[0].children[11].sequenceNumber).toBe(29);\n\t\texpect(wrapper.children[0].children[12].sequenceNumber).toBe(30);\n\t\texpect(wrapper.children[0].children[13].sequenceNumber).toBe(31);\n\t\texpect(wrapper.children[0].children[14].sequenceNumber).toBe(32);\n\t\texpect(wrapper.children[0].children[15].sequenceNumber).toBe(33);\n\t\texpect(wrapper.children[0].children[16].sequenceNumber).toBe(34);\n\t\texpect(wrapper.children[0].children[17].sequenceNumber).toBe(35);\n\t\texpect(wrapper.children[0].children[18].sequenceNumber).toBe(36);\n\t\texpect(wrapper.children[0].children[19].sequenceNumber).toBe(37);\n\t\t// Remove a tiddler\n\t\twiki.deleteTiddler(\"TiddlerThree\");\n\t\t// Refresh\n\t\trefreshWidgetNode(widgetNode,wrapper,[\"TiddlerThree\"]);\n\t\t// Test the refreshing\n\t\texpect(wrapper.innerHTML).toBe(\"<p>Jalapeno Peppers1yesnoLemon Squash2nonoJolly Old World3nonoWorldly Old Jelly4noyes</p>\");\n\t\t// Test the sequence numbers in the DOM\n\t\texpect(wrapper.sequenceNumber).toBe(0);\n\t\texpect(wrapper.children[0].sequenceNumber).toBe(1);\n\t\texpect(wrapper.children[0].children[0].sequenceNumber).toBe(18);\n\t\texpect(wrapper.children[0].children[1].sequenceNumber).toBe(19);\n\t\texpect(wrapper.children[0].children[2].sequenceNumber).toBe(20);\n\t\texpect(wrapper.children[0].children[3].sequenceNumber).toBe(21);\n\t\texpect(wrapper.children[0].children[4].sequenceNumber).toBe(22);\n\t\texpect(wrapper.children[0].children[5].sequenceNumber).toBe(23);\n\t\texpect(wrapper.children[0].children[6].sequenceNumber).toBe(24);\n\t\texpect(wrapper.children[0].children[7].sequenceNumber).toBe(25);\n\t\texpect(wrapper.children[0].children[8].sequenceNumber).toBe(26);\n\t\texpect(wrapper.children[0].children[9].sequenceNumber).toBe(27);\n\t\texpect(wrapper.children[0].children[10].sequenceNumber).toBe(28);\n\t\texpect(wrapper.children[0].children[11].sequenceNumber).toBe(29);\n\t\texpect(wrapper.children[0].children[12].sequenceNumber).toBe(38);\n\t\texpect(wrapper.children[0].children[13].sequenceNumber).toBe(39);\n\t\texpect(wrapper.children[0].children[14].sequenceNumber).toBe(40);\n\t\texpect(wrapper.children[0].children[15].sequenceNumber).toBe(41);\n\t\t// Add it back a tiddler\n\t\twiki.addTiddler({title: \"TiddlerThree\", text: \"Something\"});\n\t\t// Refresh\n\t\trefreshWidgetNode(widgetNode,wrapper,[\"TiddlerThree\"]);\n\t\t// Test the refreshing\n\t\texpect(wrapper.innerHTML).toBe(\"<p>Jalapeno Peppers1yesnoLemon Squash2nonoJolly Old World3nonoSomething4nonoWorldly Old Jelly5noyes</p>\");\n\t\t// Test the sequence numbers in the DOM\n\t\texpect(wrapper.sequenceNumber).toBe(0);\n\t\texpect(wrapper.children[0].sequenceNumber).toBe(1);\n\t\texpect(wrapper.children[0].children[0].sequenceNumber).toBe(18);\n\t\texpect(wrapper.children[0].children[1].sequenceNumber).toBe(19);\n\t\texpect(wrapper.children[0].children[2].sequenceNumber).toBe(20);\n\t\texpect(wrapper.children[0].children[3].sequenceNumber).toBe(21);\n\t\texpect(wrapper.children[0].children[4].sequenceNumber).toBe(22);\n\t\texpect(wrapper.children[0].children[5].sequenceNumber).toBe(23);\n\t\texpect(wrapper.children[0].children[6].sequenceNumber).toBe(24);\n\t\texpect(wrapper.children[0].children[7].sequenceNumber).toBe(25);\n\t\texpect(wrapper.children[0].children[8].sequenceNumber).toBe(26);\n\t\texpect(wrapper.children[0].children[9].sequenceNumber).toBe(27);\n\t\texpect(wrapper.children[0].children[10].sequenceNumber).toBe(28);\n\t\texpect(wrapper.children[0].children[11].sequenceNumber).toBe(29);\n\t\texpect(wrapper.children[0].children[12].sequenceNumber).toBe(42);\n\t\texpect(wrapper.children[0].children[13].sequenceNumber).toBe(43);\n\t\texpect(wrapper.children[0].children[14].sequenceNumber).toBe(44);\n\t\texpect(wrapper.children[0].children[15].sequenceNumber).toBe(45);\n\t\t//Remove last tiddler\n\t\twiki.deleteTiddler(\"TiddlerTwo\");\n\t\t//Refresh\n\t\trefreshWidgetNode(widgetNode,wrapper,[\"TiddlerTwo\"]);\n\t\t//Test the refreshing\n\t\texpect(wrapper.innerHTML).toBe(\"<p>Jalapeno Peppers1yesnoLemon Squash2nonoJolly Old World3nonoSomething4noyes</p>\");\n\t\t// Test the sequence numbers in the DOM\n\t\texpect(wrapper.sequenceNumber).toBe(0);\n\t\texpect(wrapper.children[0].sequenceNumber).toBe(1);\n\t\texpect(wrapper.children[0].children[0].sequenceNumber).toBe(18);\n\t\texpect(wrapper.children[0].children[1].sequenceNumber).toBe(19);\n\t\texpect(wrapper.children[0].children[2].sequenceNumber).toBe(20);\n\t\texpect(wrapper.children[0].children[3].sequenceNumber).toBe(21);\n\t\texpect(wrapper.children[0].children[4].sequenceNumber).toBe(22);\n\t\texpect(wrapper.children[0].children[5].sequenceNumber).toBe(23);\n\t\texpect(wrapper.children[0].children[6].sequenceNumber).toBe(24);\n\t\texpect(wrapper.children[0].children[7].sequenceNumber).toBe(25);\n\t\texpect(wrapper.children[0].children[8].sequenceNumber).toBe(26);\n\t\texpect(wrapper.children[0].children[9].sequenceNumber).toBe(27);\n\t\texpect(wrapper.children[0].children[10].sequenceNumber).toBe(28);\n\t\texpect(wrapper.children[0].children[11].sequenceNumber).toBe(29);\n\t\texpect(wrapper.children[0].children[12].sequenceNumber).toBe(50);\n\t\texpect(wrapper.children[0].children[13].sequenceNumber).toBe(51);\n\t\texpect(wrapper.children[0].children[14].sequenceNumber).toBe(52);\n\t\texpect(wrapper.children[0].children[15].sequenceNumber).toBe(53);\n\t});\n\n\tvar testListJoin = function(oldList, newList) {\n\t\treturn function() {\n\t\t\tvar wiki = new $tw.Wiki();\n\t\t\t// Add some tiddlers\n\t\t\twiki.addTiddler({title: \"Numbers\", text: \"\", list: oldList});\n\t\t\tvar text = \"<$list filter='[list[Numbers]]' variable='item' join=', '><<item>></$list>\";\n\t\t\tvar widgetNode = createWidgetNode(parseText(text,wiki),wiki);\n\t\t\t// Render the widget node to the DOM\n\t\t\tvar wrapper = renderWidgetNode(widgetNode);\n\t\t\t// Test the rendering\n\t\t\texpect(wrapper.innerHTML).toBe(\"<p>\" + oldList.split(\" \").join(\", \") + \"</p>\");\n\t\t\t// Change the list and ensure new rendering is still right\n\t\t\twiki.addTiddler({title: \"Numbers\", text: \"\", list: newList});\n\t\t\trefreshWidgetNode(widgetNode,wrapper,[\"Numbers\"]);\n\t\t\texpect(wrapper.innerHTML).toBe(\"<p>\" + newList.split(\" \").join(\", \") + \"</p>\");\n\t\t};\n\t};\n\n\tit(\"the list widget with join should update correctly when empty list gets one item\", testListJoin(\"\", \"1\"));\n\tit(\"the list widget with join should update correctly when empty list gets two items\", testListJoin(\"\", \"1 2\"));\n\tit(\"the list widget with join should update correctly when single-item list is appended to\", testListJoin(\"1\", \"1 2\"));\n\tit(\"the list widget with join should update correctly when single-item list is prepended to\", testListJoin(\"1\", \"2 1\"));\n\tit(\"the list widget with join should update correctly when list is appended\", testListJoin(\"1 2 3 4\", \"1 2 3 4 5\"));\n\tit(\"the list widget with join should update correctly when last item is removed\", testListJoin(\"1 2 3 4\", \"1 2 3\"));\n\tit(\"the list widget with join should update correctly when first item is inserted\", testListJoin(\"1 2 3 4\", \"0 1 2 3 4\"));\n\tit(\"the list widget with join should update correctly when first item is removed\", testListJoin(\"1 2 3 4\", \"2 3 4\"));\n\tit(\"the list widget with join should update correctly when first two items are swapped\", testListJoin(\"1 2 3 4\", \"2 1 3 4\"));\n\tit(\"the list widget with join should update correctly when last two items are swapped\", testListJoin(\"1 2 3 4\", \"1 2 4 3\"));\n\tit(\"the list widget with join should update correctly when last item is moved to the front\", testListJoin(\"1 2 3 4\", \"4 1 2 3\"));\n\tit(\"the list widget with join should update correctly when last item is moved to the middle\", testListJoin(\"1 2 3 4\", \"1 4 2 3\"));\n\tit(\"the list widget with join should update correctly when first item is moved to the back\", testListJoin(\"1 2 3 4\", \"2 3 4 1\"));\n\tit(\"the list widget with join should update correctly when middle item is moved to the back\", testListJoin(\"1 2 3 4\", \"1 3 4 2\"));\n\tit(\"the list widget with join should update correctly when the last item disappears at the same time as other edits 1\", testListJoin(\"1 3 4\", \"1 2 3\"));\n\tit(\"the list widget with join should update correctly when the last item disappears at the same time as other edits 2\", testListJoin(\"1 3 4\", \"1 3 2\"));\n\tit(\"the list widget with join should update correctly when the last item disappears at the same time as other edits 3\", testListJoin(\"1 3 4\", \"2 1 3\"));\n\tit(\"the list widget with join should update correctly when the last item disappears at the same time as other edits 4\", testListJoin(\"1 3 4\", \"2 3 1\"));\n\tit(\"the list widget with join should update correctly when the last item disappears at the same time as other edits 5\", testListJoin(\"1 3 4\", \"3 1 2\"));\n\tit(\"the list widget with join should update correctly when the last item disappears at the same time as other edits 6\", testListJoin(\"1 3 4\", \"3 2 1\"));\n\n\tvar testCounterLast = function(oldList, newList) {\n\t\treturn function() {\n\t\t\tvar wiki = new $tw.Wiki();\n\t\t\t// Add some tiddlers\n\t\t\twiki.addTiddler({title: \"Numbers\", text: \"\", list: oldList});\n\t\t\tvar text = \"<$list filter='[list[Numbers]]' variable='item' counter='c'><<item>><$text text={{{ [<c-last>match[no]then[, ]] }}} /></$list>\";\n\t\t\tvar widgetNode = createWidgetNode(parseText(text,wiki),wiki);\n\t\t\t// Render the widget node to the DOM\n\t\t\tvar wrapper = renderWidgetNode(widgetNode);\n\t\t\t// Test the rendering\n\t\t\texpect(wrapper.innerHTML).toBe(\"<p>\" + oldList.split(\" \").join(\", \") + \"</p>\");\n\t\t\t// Append a number\n\t\t\twiki.addTiddler({title: \"Numbers\", text: \"\", list: newList});\n\t\t\trefreshWidgetNode(widgetNode,wrapper,[\"Numbers\"]);\n\t\t\texpect(wrapper.innerHTML).toBe(\"<p>\" + newList.split(\" \").join(\", \") + \"</p>\");\n\t\t};\n\t};\n\n\tit(\"the list widget with counter-last should update correctly when list is appended\", testCounterLast(\"1 2 3 4\", \"1 2 3 4 5\"));\n\tit(\"the list widget with counter-last should update correctly when last item is removed\", testCounterLast(\"1 2 3 4\", \"1 2 3\"));\n\tit(\"the list widget with counter-last should update correctly when first item is inserted\", testCounterLast(\"1 2 3 4\", \"0 1 2 3 4\"));\n\tit(\"the list widget with counter-last should update correctly when first item is removed\", testCounterLast(\"1 2 3 4\", \"2 3 4\"));\n\n\tit(\"should deal with the list widget followed by other widgets\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\t\t// Add some tiddlers\n\t\twiki.addTiddlers([\n\t\t\t{title: \"TiddlerOne\", text: \"Jolly Old World\"},\n\t\t\t{title: \"TiddlerTwo\", text: \"Worldly Old Jelly\"},\n\t\t\t{title: \"TiddlerThree\", text: \"Golly Gosh\"},\n\t\t\t{title: \"TiddlerFour\", text: \"Lemon Squash\"}\n\t\t]);\n\t\t// Construct the widget node\n\t\tvar text = \"<$list><$view field='title'/></$list>Something\";\n\t\tvar widgetNode = createWidgetNode(parseText(text,wiki),wiki);\n\t\t// Render the widget node to the DOM\n\t\tvar wrapper = renderWidgetNode(widgetNode);\n\t\t// Test the rendering\n\t\texpect(wrapper.innerHTML).toBe(\"<p>TiddlerFourTiddlerOneTiddlerThreeTiddlerTwoSomething</p>\");\n\t\t// Add another tiddler\n\t\twiki.addTiddler({title: \"TiddlerFive\", text: \"Jalapeno Peppers\"});\n\t\t// Refresh\n\t\trefreshWidgetNode(widgetNode,wrapper,[\"TiddlerFive\"]);\n\t\t// Test the refreshing\n\t\texpect(wrapper.innerHTML).toBe(\"<p>TiddlerFiveTiddlerFourTiddlerOneTiddlerThreeTiddlerTwoSomething</p>\");\n\t\t// Test the sequence numbers in the DOM\n\t\texpect(wrapper.sequenceNumber).toBe(0);\n\t\texpect(wrapper.children[0].sequenceNumber).toBe(1);\n\t\texpect(wrapper.children[0].children[0].sequenceNumber).toBe(7);\n\t\texpect(wrapper.children[0].children[1].sequenceNumber).toBe(2);\n\t\texpect(wrapper.children[0].children[2].sequenceNumber).toBe(3);\n\t\texpect(wrapper.children[0].children[3].sequenceNumber).toBe(4);\n\t\texpect(wrapper.children[0].children[4].sequenceNumber).toBe(5);\n\t\t// Remove a tiddler\n\t\twiki.deleteTiddler(\"TiddlerThree\");\n\t\t// Refresh\n\t\trefreshWidgetNode(widgetNode,wrapper,[\"TiddlerThree\"]);\n\t\t// Test the refreshing\n\t\texpect(wrapper.innerHTML).toBe(\"<p>TiddlerFiveTiddlerFourTiddlerOneTiddlerTwoSomething</p>\");\n\t\t// Test the sequence numbers in the DOM\n\t\texpect(wrapper.sequenceNumber).toBe(0);\n\t\texpect(wrapper.children[0].sequenceNumber).toBe(1);\n\t\texpect(wrapper.children[0].children[0].sequenceNumber).toBe(7);\n\t\texpect(wrapper.children[0].children[1].sequenceNumber).toBe(2);\n\t\texpect(wrapper.children[0].children[2].sequenceNumber).toBe(3);\n\t\texpect(wrapper.children[0].children[3].sequenceNumber).toBe(5);\n\t\t// Add it back a tiddler\n\t\twiki.addTiddler({title: \"TiddlerThree\", text: \"Something\"});\n\t\t// Refresh\n\t\trefreshWidgetNode(widgetNode,wrapper,[\"TiddlerThree\"]);\n\t\t// Test the refreshing\n\t\texpect(wrapper.innerHTML).toBe(\"<p>TiddlerFiveTiddlerFourTiddlerOneTiddlerThreeTiddlerTwoSomething</p>\");\n\t\t// Test the sequence numbers in the DOM\n\t\texpect(wrapper.sequenceNumber).toBe(0);\n\t\texpect(wrapper.children[0].sequenceNumber).toBe(1);\n\t\texpect(wrapper.children[0].children[0].sequenceNumber).toBe(7);\n\t\texpect(wrapper.children[0].children[1].sequenceNumber).toBe(2);\n\t\texpect(wrapper.children[0].children[2].sequenceNumber).toBe(3);\n\t\texpect(wrapper.children[0].children[3].sequenceNumber).toBe(8);\n\t\texpect(wrapper.children[0].children[4].sequenceNumber).toBe(5);\n\t\t// Add another a tiddler to the end of the list\n\t\twiki.addTiddler({title: \"YetAnotherTiddler\", text: \"Something\"});\n\t\t// Refresh\n\t\trefreshWidgetNode(widgetNode,wrapper,[\"YetAnotherTiddler\"]);\n\t\t// Test the refreshing\n\t\texpect(wrapper.innerHTML).toBe(\"<p>TiddlerFiveTiddlerFourTiddlerOneTiddlerThreeTiddlerTwoYetAnotherTiddlerSomething</p>\");\n\t\t// Test the sequence numbers in the DOM\n\t\texpect(wrapper.sequenceNumber).toBe(0);\n\t\texpect(wrapper.children[0].sequenceNumber).toBe(1);\n\t\texpect(wrapper.children[0].children[0].sequenceNumber).toBe(7);\n\t\texpect(wrapper.children[0].children[1].sequenceNumber).toBe(2);\n\t\texpect(wrapper.children[0].children[2].sequenceNumber).toBe(3);\n\t\texpect(wrapper.children[0].children[3].sequenceNumber).toBe(8);\n\t\texpect(wrapper.children[0].children[4].sequenceNumber).toBe(5);\n\t});\n\n\tit(\"should deal with the list widget and external templates\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\t\t// Add some tiddlers\n\t\twiki.addTiddlers([\n\t\t\t{title: \"$:/myTemplate\", text: \"(<$view field='title'/>)\"},\n\t\t\t{title: \"TiddlerOne\", text: \"Jolly Old World\"},\n\t\t\t{title: \"TiddlerTwo\", text: \"Worldly Old Jelly\"},\n\t\t\t{title: \"TiddlerThree\", text: \"Golly Gosh\"},\n\t\t\t{title: \"TiddlerFour\", text: \"Lemon Squash\"}\n\t\t]);\n\t\t// Construct the widget node\n\t\tvar text = \"<$list template='$:/myTemplate'></$list>\";\n\t\tvar widgetNode = createWidgetNode(parseText(text,wiki),wiki);\n\t\t// Render the widget node to the DOM\n\t\tvar wrapper = renderWidgetNode(widgetNode);\n\t\t//console.log(require(\"util\").inspect(widgetNode,{depth:8,colors:true}));\n\t\t// Test the rendering\n\t\texpect(wrapper.innerHTML).toBe(\"<p>(TiddlerFour)(TiddlerOne)(TiddlerThree)(TiddlerTwo)</p>\");\n\t});\n\n\tit(\"should deal with the list widget and empty lists\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\t\t// Construct the widget node\n\t\tvar text = \"<$list emptyMessage='nothing'><$view field='title'/></$list>\";\n\t\tvar widgetNode = createWidgetNode(parseText(text,wiki),wiki);\n\t\t// Render the widget node to the DOM\n\t\tvar wrapper = renderWidgetNode(widgetNode);\n\t\t// Test the rendering\n\t\texpect(wrapper.innerHTML).toBe(\"<p>nothing</p>\");\n\t});\n\n\tit(\"should refresh lists that become empty\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\t\t// Add some tiddlers\n\t\twiki.addTiddlers([\n\t\t\t{title: \"TiddlerOne\", text: \"Jolly Old World\"},\n\t\t\t{title: \"TiddlerTwo\", text: \"Worldly Old Jelly\"},\n\t\t\t{title: \"TiddlerThree\", text: \"Golly Gosh\"},\n\t\t\t{title: \"TiddlerFour\", text: \"Lemon Squash\"}\n\t\t]);\n\t\t// Construct the widget node\n\t\tvar text = \"<$list emptyMessage='nothing'><$view field='title'/></$list>\";\n\t\tvar widgetNode = createWidgetNode(parseText(text,wiki),wiki);\n\t\t// Render the widget node to the DOM\n\t\tvar wrapper = renderWidgetNode(widgetNode);\n\t\t// Test the rendering\n\t\texpect(wrapper.innerHTML).toBe(\"<p>TiddlerFourTiddlerOneTiddlerThreeTiddlerTwo</p>\");\n\t\t// Get rid of the tiddlers\n\t\twiki.deleteTiddler(\"TiddlerOne\");\n\t\twiki.deleteTiddler(\"TiddlerTwo\");\n\t\twiki.deleteTiddler(\"TiddlerThree\");\n\t\twiki.deleteTiddler(\"TiddlerFour\");\n\t\t// Refresh\n\t\trefreshWidgetNode(widgetNode,wrapper,[\"TiddlerOne\",\"TiddlerTwo\",\"TiddlerThree\",\"TiddlerFour\"]);\n\t\t// Test the refreshing\n\t\texpect(wrapper.innerHTML).toBe(\"<p>nothing</p>\");\n\t});\n\n\t/**This test confirms that imported set variables properly refresh\n\t * if they use transclusion for their value. This relates to PR #4108.\n\t */\n\tit(\"should refresh imported <$set> widgets\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\t\t// Add some tiddlers\n\t\twiki.addTiddlers([\n\t\t\t{title: \"Raw\", text: \"Initial value\"},\n\t\t\t{title: \"Macro\", text: \"<$set name='test' value={{Raw}}>\\n\\ndummy text</$set>\"},\n\t\t\t{title: \"Caller\", text: text}\n\t\t]);\n\t\tvar text = \"\\\\import Macro\\n<<test>>\";\n\t\tvar widgetNode = createWidgetNode(parseText(text,wiki),wiki);\n\t\t// Render the widget node to the DOM\n\t\tvar wrapper = renderWidgetNode(widgetNode);\n\t\t// Test the rendering\n\t\texpect(wrapper.innerHTML).toBe(\"<p>Initial value</p>\");\n\t\twiki.addTiddler({title: \"Raw\", text: \"New value\"});\n\t\t// Refresh\n\t\trefreshWidgetNode(widgetNode,wrapper,[\"Raw\"]);\n\t\texpect(wrapper.innerHTML).toBe(\"<p>New value</p>\");\n\t});\n\n\tit(\"should support mixed setWidgets and macros when importing\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\t\t// Add some tiddlers\n\t\twiki.addTiddlers([\n\t\t\t{title: \"A\", text: \"\\\\define A() Aval\"},\n\t\t\t{title: \"B\", text: \"<$set name='B' value='Bval'>\\n\\ndummy text</$set>\"},\n\t\t\t{title: \"C\", text: \"\\\\define C() Cval\"}\n\t\t]);\n\t\tvar text = \"\\\\import A B C\\n<<A>> <<B>> <<C>>\";\n\t\tvar widgetNode = createWidgetNode(parseText(text,wiki),wiki);\n\t\t// Render the widget node to the DOM\n\t\tvar wrapper = renderWidgetNode(widgetNode);\n\t\t// Test the rendering\n\t\texpect(wrapper.innerHTML).toBe(\"<p>Aval Bval Cval</p>\");\n\t});\n\n\tit(\"should skip parameters widgets when importing\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\t\t// Add some tiddlers\n\t\twiki.addTiddlers([\n\t\t\t{title: \"B\", text: \"<$parameters bee=nothing><$set name='B' value='Bval'>\\n\\ndummy text</$set></$parameters>\"},\n\t\t]);\n\t\tvar text = \"\\\\import B\\n<<B>>\";\n\t\tvar widgetNode = createWidgetNode(parseText(text,wiki),wiki);\n\t\t// Render the widget node to the DOM\n\t\tvar wrapper = renderWidgetNode(widgetNode);\n\t\t// Test the rendering\n\t\texpect(wrapper.innerHTML).toBe(\"<p>Bval</p>\");\n\t});\n\n\tit(\"should use default $parameters if directly rendered\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\t\tvar text = \"<$parameters bee=default $$dollar=bill nothing empty=''>bee=<<bee>>, $dollar=<<$dollar>>, nothing=<<nothing>>, empty=<<empty>></$parameters>\";\n\t\tvar widgetNode = createWidgetNode(parseText(text,wiki),wiki);\n\t\t// Render the widget node to the DOM\n\t\tvar wrapper = renderWidgetNode(widgetNode);\n\t\t// nothing = true in this attribute form because valueless attributes always equal true.\n\t\texpect(wrapper.innerHTML).toBe(\"<p>bee=default, $dollar=bill, nothing=true, empty=</p>\");\n\t});\n\n\tit(\"should use default \\\\parameters if directly rendered\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\t\tvar text = \"\\\\parameters(bee:default $$dollar:bill nothing)\\nbee=<<bee>>, $$dollar=<<$$dollar>>, nothing=<<nothing>>\";\n\t\tvar widgetNode = createWidgetNode(parseText(text,wiki),wiki);\n\t\t// Render the widget node to the DOM\n\t\tvar wrapper = renderWidgetNode(widgetNode);\n\t\t// nothing = true in this attribute form because valueless attributes always equal true.\n\t\texpect(wrapper.innerHTML).toBe(\"<p>bee=default, $$dollar=bill, nothing=</p>\");\n\t});\n\n\tit(\"can have more than one macroDef variable imported\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\t\twiki.addTiddlers([\n\t\t\t{title: \"ABC\", text: \"<$set name=A value=A>\\n\\n<$set name=B value=B>\\n\\n<$set name=C value=C>\\n\\ndummy text</$set></$set></$set>\"},\n\t\t\t{title: \"D\", text: \"\\\\define D() D\"}]);\n\t\t// A and B shouldn't chew up C just cause it's a macroDef\n\t\tvar text = \"\\\\import ABC D\\n<<A>> <<B>> <<C>> <<D>>\";\n\t\tvar widgetNode = createWidgetNode(parseText(text,wiki),wiki);\n\t\t// Render the widget node to the DOM\n\t\tvar wrapper = renderWidgetNode(widgetNode);\n\t\t// Test the rendering\n\t\texpect(wrapper.innerHTML).toBe(\"<p>A B C D</p>\");\n\t});\n\n\tit(\"import doesn't hold onto dead variables\", function() {\n\t\tvar wiki = new  $tw.Wiki();\n\t\twiki.addTiddlers([\n\t\t\t{title: \"ABC\", text: \"\\\\define A() A\\n\\\\define B() B\\n<$set name=C value=C>\\n\\n</$set>\"},\n\t\t\t{title: \"DE\", text: \"\\\\define D() D\\n\\\\define E() E\"}]);\n\t\tvar text = \"\\\\import ABC DE\\ncontent\";\n\t\tvar widgetNode = createWidgetNode(parseText(text,wiki),wiki);\n\t\t// Render the widget node to the DOM\n\t\trenderWidgetNode(widgetNode);\n\t\tvar childNode = widgetNode;\n\t\twhile(childNode.children.length > 0) {\n\t\t\tchildNode = childNode.children[0];\n\t\t}\n\t\t// First make sure A and B imported\n\t\texpect(childNode.getVariable(\"A\")).toBe(\"A\");\n\t\texpect(childNode.getVariable(\"B\")).toBe(\"B\");\n\t\texpect(childNode.getVariable(\"C\")).toBe(\"C\");\n\t\texpect(childNode.getVariable(\"D\")).toBe(\"D\");\n\t\texpect(childNode.getVariable(\"E\")).toBe(\"E\");\n\t\t// Then change A and remove B\n\t\twiki.addTiddler({title: \"ABC\", text: \"\\\\define A() A2\\n<$set name=C value=C2>\\n\\n</$set>\"});\n\t\twiki.addTiddler({title: \"DE\", text: \"\\\\define D() D2\"});\n\t\twidgetNode.refresh({\"ABC\": {modified: true}, \"DE\": {modified: true}});\n\t\tvar childNode = widgetNode;\n\t\twhile(childNode.children.length > 0) {\n\t\t\tchildNode = childNode.children[0];\n\t\t}\n\t\t// Make sure \\import recognized changes and deletions\n\t\texpect(childNode.getVariable(\"A\")).toBe(\"A2\");\n\t\texpect(childNode.getVariable(\"B\")).toBe(undefined);\n\t\texpect(childNode.getVariable(\"C\")).toBe(\"C2\");\n\t\texpect(childNode.getVariable(\"D\")).toBe(\"D2\");\n\t\texpect(childNode.getVariable(\"E\")).toBe(undefined);\n\t});\n\n\t/** Special case. <$importvariables> has different handling if\n\t *  it doesn't end up importing any variables. Make sure it\n\t *  doesn't forget its childrenNodes.\n\t */\n\tit(\"should work when import widget imports nothing\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\t\tvar text = \"\\\\import [prefix[XXX]]\\nDon't forget me.\";\n\t\tvar widgetNode = createWidgetNode(parseText(text,wiki),wiki);\n\t\t// Render the widget node to the DOM\n\t\tvar wrapper = renderWidgetNode(widgetNode);\n\t\t// Test the rendering\n\t\texpect(wrapper.innerHTML).toBe(\"<p>Don't forget me.</p>\");\n\t});\n\n\t/** Special case. \\import should parse correctly, even if it's\n\t *  the only line in the tiddler. Technically doesn't cause a\n\t *  visual difference, but may affect plugins if it doesn't.\n\t */\n\tit(\"should work when import pragma is standalone\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\t\tvar text = \"\\\\import [prefix[XXX]]\";\n\t\tvar parseTreeNode = parseText(text,wiki);\n\t\t// Test the resulting parse tree node, since there is no\n\t\t// rendering which may expose a problem.\n\t\texpect(parseTreeNode.children[0].attributes.filter.value).toBe(\"[prefix[XXX]]\");\n\t});\n\n\t/** This test reproduces issue #4504.\n\t *\n\t * The importvariable widget was creating redundant copies into\n\t * itself of variables in widgets higher up in the tree. Normally,\n\t * this caused no errors, but it would mess up qualify-macros.\n\t * They would find multiple instances of the same transclusion\n\t * variable if a transclusion occured higher up in the widget tree\n\t * than an importvariables AND that importvariables was importing\n\t * at least ONE variable.\n\t */\n\tit(\"adding imported variables doesn't change qualifyers\", function() {\n\t\tvar wiki = new $tw.Wiki();\n\t\tfunction wikiparse(text) {\n\t\t\tvar tree = parseText(text,wiki);\n\t\t\tvar widgetNode = createWidgetNode(tree,wiki);\n\t\t\tvar wrapper = renderWidgetNode(widgetNode);\n\t\t\treturn wrapper.innerHTML;\n\t\t};\n\t\twiki.addTiddlers([\n\t\t\t{title: \"body\", text: \"\\\\import A\\n<<qualify this>>\"},\n\t\t\t{title: \"A\", text: \"\\\\define unused() ignored\"}\n\t\t]);\n\t\t// This transclude wraps \"body\", which has an\n\t\t// importvariable widget in it.\n\t\tvar withA = wikiparse(\"{{body}}\");\n\t\twiki.addTiddler({title: \"A\", text: \"\"});\n\t\tvar withoutA = wikiparse(\"{{body}}\");\n\t\t// Importing two different version of \"A\" shouldn't cause\n\t\t// the <<qualify>> widget to spit out something different.\n\t\texpect(withA).toBe(withoutA);\n\t});\n});\n\n"
  },
  {
    "path": "editions/test/tiddlers/tests/test-wikitext-parser.js",
    "content": "/*\\\ntitle: test-wikitext-parser.js\ntype: application/javascript\ntags: [[$:/tags/test-spec]]\n\nTests for wikitext parser\n\n\\*/\n\n\"use strict\";\n\ndescribe(\"WikiText parser tests\", function() {\n\n\t// Create a wiki\n\tvar wiki = new $tw.Wiki();\n\n\t// Define a parsing shortcut\n\tvar parse = function(text) {\n\t\tvar tree = wiki.parseText(\"text/vnd.tiddlywiki\",text).tree;\n\t\treturn tree;\n\t};\n\n\tit(\"should parse tags\", function() {\n\t\texpect(parse(\"<br>\")).toEqual(\n\n\t\t\t[ { type : \"element\", tag : \"p\", rule: \"parseblock\", start : 0, end : 4, children : [ { type : \"element\", tag : \"br\", start : 0, end : 4, openTagStart: 0, openTagEnd: 4, rule: \"html\", isBlock : false, attributes : {  }, orderedAttributes: [ ] } ] } ]\n\n\t\t);\n\t\texpect(parse(\"</br>\")).toEqual(\n\n\t\t\t[ { type : \"element\", tag : \"p\", rule: \"parseblock\", start : 0, end : 5, children : [ { type : \"text\", text : \"</br>\", start : 0, end : 5 } ] } ]\n\n\t\t);\n\t\texpect(parse(\"<div>\")).toEqual(\n\n\t\t\t[ { type : \"element\", tag : \"p\", rule: \"parseblock\", start : 0, end : 5, children : [ { type : \"element\", tag : \"div\", start : 0, end : 5, openTagStart: 0, openTagEnd: 5, closeTagStart: 5, closeTagEnd: 5, rule: \"html\", isBlock : false, attributes : {  }, orderedAttributes: [ ], children : [  ] } ] } ]\n\n\t\t);\n\t\texpect(parse(\"<div/>\")).toEqual(\n\n\t\t\t[ { type : \"element\", tag : \"p\", rule: \"parseblock\", start : 0, end : 6, children : [ { type : \"element\", tag : \"div\", isSelfClosing : true, isBlock : false, attributes : {  }, orderedAttributes: [ ], start : 0, end : 6, rule: \"html\" } ] } ]\n\n\t\t);\n\t\texpect(parse(\"<div></div>\")).toEqual(\n\n\t\t\t[ { type : \"element\", tag : \"p\", rule: \"parseblock\", start : 0, end : 11, children : [ { type : \"element\", tag : \"div\", isBlock : false, attributes : {  }, orderedAttributes: [ ], children : [ ], start : 0, end : 11, openTagStart: 0, openTagEnd: 5, closeTagStart: 5, closeTagEnd: 11, rule: \"html\" } ] } ]\n\n\t\t);\n\t\texpect(parse(\"<div>some text</div>\")).toEqual(\n\n\t\t\t[ { type : \"element\", tag : \"p\", rule: \"parseblock\", start : 0, end : 20, children : [ { type : \"element\", tag : \"div\", openTagStart: 0, openTagEnd: 5, closeTagStart: 14, closeTagEnd: 20, rule: \"html\", isBlock : false, attributes : {  }, orderedAttributes: [ ], children : [ { type : \"text\", text : \"some text\", start : 5, end : 14 } ], start : 0, end : 20 } ] } ]\n\n\t\t);\n\t\texpect(parse(\"<div attribute>some text</div>\")).toEqual(\n\n\t\t\t[ { type : \"element\", tag : \"p\", rule: \"parseblock\", start : 0, end : 30, children : [ { type : \"element\", tag : \"div\", isBlock : false, attributes : { attribute : { type : \"string\", value : \"true\", start : 4, end : 14, name: \"attribute\" } }, orderedAttributes: [ { type : \"string\", value : \"true\", start : 4, end : 14, name: \"attribute\" } ], children : [ { type : \"text\", text : \"some text\", start : 15, end : 24 } ], start : 0, end : 30, openTagStart: 0, openTagEnd: 15, closeTagStart: 24, closeTagEnd: 30, rule: \"html\" } ] } ]\n\n\t\t);\n\t\texpect(parse(\"<div attribute='value'>some text</div>\")).toEqual(\n\t\t\t[ { type : \"element\", tag : \"p\", rule: \"parseblock\", start : 0, end : 38, children : [ { type : \"element\", tag : \"div\", openTagStart: 0, openTagEnd: 23, closeTagStart: 32, closeTagEnd: 38, rule: \"html\", isBlock : false, attributes : { attribute : { type : \"string\", name: \"attribute\", value : \"value\", start: 4, end: 22 } }, orderedAttributes: [ { type: \"string\", name: \"attribute\", value : \"value\", start: 4, end: 22 } ], children : [ { type : \"text\", text : \"some text\", start : 23, end : 32 } ], start : 0, end : 38 } ] } ]\n\n\t\t);\n\t\texpect(parse(\"<div attribute={{TiddlerTitle}}>some text</div>\")).toEqual(\n\n\t\t\t[ { type : \"element\", tag : \"p\", rule: \"parseblock\", start: 0, end: 47, children : [ { type : \"element\", tag : \"div\", isBlock : false, attributes : { attribute : { type : \"indirect\", name: \"attribute\", textReference : \"TiddlerTitle\", start : 4, end : 31 } }, orderedAttributes: [ { type : \"indirect\", name: \"attribute\", textReference : \"TiddlerTitle\", start : 4, end : 31 } ], children : [ { type : \"text\", text : \"some text\", start : 32, end : 41 } ], start : 0, end : 47, openTagStart: 0, openTagEnd: 32, closeTagStart: 41, closeTagEnd: 47, rule: \"html\" } ] } ]\n\n\t\t);\n\t\texpect(parse(\"<$reveal state='$:/temp/search' type='nomatch' text=''>\")).toEqual(\n\n\t\t\t[ { type : \"element\", tag : \"p\", rule: \"parseblock\", start: 0, end: 55, children : [ { type : \"reveal\", tag: \"$reveal\", rule: \"html\", attributes : { state : { start : 8, name : \"state\", type : \"string\", value : \"$:/temp/search\", end : 31 }, type : { start : 31, name : \"type\", type : \"string\", value : \"nomatch\", end : 46 }, text : { start : 46, name : \"text\", type : \"string\", value : \"\", end : 54 } }, orderedAttributes: [ { start : 8, name : \"state\", type : \"string\", value : \"$:/temp/search\", end : 31 }, { start : 31, name : \"type\", type : \"string\", value : \"nomatch\", end : 46 }, { start : 46, name : \"text\", type : \"string\", value : \"\", end : 54 } ], start: 0, end : 55, openTagStart: 0, openTagEnd: 55, closeTagStart: 55, closeTagEnd: 55, isBlock : false, children : [  ] } ] } ]\n\n\t\t);\n\t\texpect(parse(\"<div attribute={{TiddlerTitle!!field}}>some text</div>\")).toEqual(\n\n\t\t\t[ { type : \"element\", tag : \"p\", rule: \"parseblock\", start: 0, end: 54, children : [ { type : \"element\", tag : \"div\", rule: \"html\", isBlock : false, attributes : { attribute : { type : \"indirect\", name : \"attribute\", textReference : \"TiddlerTitle!!field\", start : 4, end : 38 } }, orderedAttributes: [ { type : \"indirect\", name : \"attribute\", textReference : \"TiddlerTitle!!field\", start : 4, end : 38 } ], children : [ { type : \"text\", text : \"some text\", start : 39, end : 48 } ], start : 0, end : 54, openTagStart: 0, openTagEnd: 39, closeTagStart: 48, closeTagEnd: 54 } ] } ]\n\n\t\t);\n\t\texpect(parse(\"<div attribute={{Tiddler Title!!field}}>some text</div>\")).toEqual(\n\n\t\t\t[ { type : \"element\", tag : \"p\", rule: \"parseblock\", start: 0, end: 55, children : [ { type : \"element\", tag : \"div\", rule: \"html\", isBlock : false, attributes : { attribute : { type : \"indirect\", name : \"attribute\", textReference : \"Tiddler Title!!field\", start : 4, end : 39 } }, orderedAttributes: [ { type : \"indirect\", name : \"attribute\", textReference : \"Tiddler Title!!field\", start : 4, end : 39 } ], children : [ { type : \"text\", text : \"some text\", start : 40, end : 49 } ], start : 0, end : 55, openTagStart: 0, openTagEnd: 40, closeTagStart: 49, closeTagEnd: 55 } ] } ]\n\n\t\t);\n\t\texpect(parse(\"<div attribute={{TiddlerTitle!!field}}>\\n\\nsome text</div>\")).toEqual(\n\n\t\t\t[ { type : \"element\", start : 0, attributes : { attribute : { start : 4, name : \"attribute\", type : \"indirect\", textReference : \"TiddlerTitle!!field\", end : 38 } }, orderedAttributes: [ { start : 4, name : \"attribute\", type : \"indirect\", textReference : \"TiddlerTitle!!field\", end : 38 } ], tag : \"div\", rule: \"html\", end : 56, openTagStart: 0, openTagEnd: 39, closeTagStart: 50, closeTagEnd: 56, isBlock : true, children : [ { type : \"element\", tag : \"p\", rule: \"parseblock\", start : 41, end : 50, children : [ { type : \"text\", text : \"some text\", start : 41, end : 50 } ] } ] } ]\n\n\t\t);\n\t\texpect(parse(\"<div><div attribute={{TiddlerTitle!!field}}>\\n\\nsome text</div></div>\")).toEqual(\n\n\t\t\t[ { type : \"element\", tag : \"p\", rule: \"parseblock\", start: 0, end: 67, children : [ { type : \"element\", start : 0, end: 67, openTagStart: 0, openTagEnd: 5, closeTagStart: 61, closeTagEnd: 67, attributes : {  }, orderedAttributes: [ ], tag : \"div\", rule: \"html\", isBlock : false, children : [ { type : \"element\", start : 5, attributes : { attribute : { start : 9, name : \"attribute\", type : \"indirect\", textReference : \"TiddlerTitle!!field\", end : 43 } }, orderedAttributes: [ { start : 9, name : \"attribute\", type : \"indirect\", textReference : \"TiddlerTitle!!field\", end : 43 } ], tag : \"div\", end : 61, openTagStart: 5, openTagEnd: 44, closeTagStart: 55, closeTagEnd: 61, rule: \"html\", isBlock : true, children : [ { type : \"element\", tag : \"p\", rule: \"parseblock\", start : 46, end : 55, children : [ { type : \"text\", text : \"some text\", start : 46, end : 55 } ] } ] } ] } ] } ]\n\n\t\t);\n\t\texpect(parse(\"<div><div attribute={{TiddlerTitle!!field}}>\\n\\n!some heading</div></div>\")).toEqual(\n\n\t\t\t[ { type : \"element\", tag : \"p\", rule: \"parseblock\", start: 0, end: 71, children : [ { type : \"element\", start : 0, end: 71, openTagStart: 0, openTagEnd: 5, closeTagStart: 71, closeTagEnd: 71, attributes : {  }, orderedAttributes: [ ], tag : \"div\", rule: \"html\", isBlock : false, children : [ { type : \"element\", start : 5, attributes : { attribute : { start : 9, name : \"attribute\", type : \"indirect\", textReference : \"TiddlerTitle!!field\", end : 43 } }, orderedAttributes: [ { start : 9, name : \"attribute\", type : \"indirect\", textReference : \"TiddlerTitle!!field\", end : 43 } ], tag : \"div\", end : 71, openTagStart: 5, openTagEnd: 44, closeTagStart: 71, closeTagEnd: 71, rule: \"html\", isBlock : true, children : [ { type : \"element\", tag : \"h1\", start: 46, end: 71, rule: \"heading\", attributes : { class : { type : \"string\", value : \"\", start: 47, end: 47 } }, children : [ { type : \"text\", text : \"some heading</div></div>\", start : 47, end : 71 } ] } ] } ] } ] } ]\n\n\t\t);\n\t\texpect(parse(\"<div><div attribute={{TiddlerTitle!!field}}>\\n!some heading</div></div>\")).toEqual(\n\n\t\t\t[ { type : \"element\", tag : \"p\", rule: \"parseblock\", start: 0, end: 70, children : [ { type : \"element\", start : 0, end: 70, openTagStart: 0, openTagEnd: 5, closeTagStart: 64, closeTagEnd: 70, attributes : {  }, orderedAttributes: [ ], tag : \"div\", rule: \"html\", isBlock : false, children : [ { type : \"element\", start : 5, attributes : { attribute : { start : 9, name : \"attribute\", type : \"indirect\", textReference : \"TiddlerTitle!!field\", end : 43 } }, orderedAttributes: [ { start : 9, name : \"attribute\", type : \"indirect\", textReference : \"TiddlerTitle!!field\", end : 43 } ], tag : \"div\", end : 64, openTagStart: 5, openTagEnd: 44, closeTagStart: 58, closeTagEnd: 64, rule: \"html\", isBlock : false, children : [ { type : \"text\", text : \"\\n!some heading\", start : 44, end : 58 } ] } ] } ] } ]\n\n\t\t);\n\t\t// Regression test for issue (#3306)\n\t\texpect(parse(\"<div><span><span>\\n\\nSome text</span></span></div>\")).toEqual(\n\n\t\t\t[ { type : \"element\", tag : \"p\", rule: \"parseblock\", start: 0, end: 48, children : [ { type : \"element\", start : 0, end: 48, openTagStart: 0, openTagEnd: 5, closeTagStart: 42, closeTagEnd: 48, attributes : {  }, orderedAttributes: [ ], tag : \"div\", rule: \"html\", isBlock : false, children : [ { type : \"element\", start : 5, attributes : {  }, orderedAttributes: [ ], tag : \"span\", end : 42, openTagStart: 5, openTagEnd: 11, closeTagStart: 35, closeTagEnd: 42, rule: \"html\", isBlock : false, children : [ { type : \"element\", start : 11, attributes : {  }, orderedAttributes: [ ], tag : \"span\", end : 35, openTagStart: 11, openTagEnd: 17, closeTagStart: 28, closeTagEnd: 35, rule: \"html\", isBlock : true, children : [ { type : \"element\", tag : \"p\", rule: \"parseblock\", start : 19, end : 28, children : [ { type : \"text\", text : \"Some text\", start : 19, end : 28 } ] } ] } ] } ] } ] } ]\n\n\t\t);\n\t});\n\n\tit(\"should parse macro definitions\", function() {\n\t\texpect(parse(\"\\\\define myMacro()\\nnothing\\n\\\\end\\n\")).toEqual(\n\n\t\t\t[{\"type\":\"set\",\"attributes\":{\"name\":{\"name\":\"name\",\"type\":\"string\",\"value\":\"myMacro\"},\"value\":{\"name\":\"value\",\"type\":\"string\",\"value\":\"nothing\"}},\"children\":[],\"params\":[],\"isMacroDefinition\":true,\"isBlock\":false,\"orderedAttributes\":[{\"name\":\"name\",\"type\":\"string\",\"value\":\"myMacro\"},{\"name\":\"value\",\"type\":\"string\",\"value\":\"nothing\"}],\"start\":0,\"end\":30,\"rule\":\"macrodef\"}]\n\n\t\t);\n\t\texpect(parse(\"\\\\define myMacro() nothing\\n\\n\")).toEqual(\n\n\t\t\t[{\"type\":\"set\",\"attributes\":{\"name\":{\"name\":\"name\",\"type\":\"string\",\"value\":\"myMacro\"},\"value\":{\"name\":\"value\",\"type\":\"string\",\"value\":\"nothing\"}},\"children\":[],\"params\":[],\"isMacroDefinition\":true,\"isBlock\":true,\"orderedAttributes\":[{\"name\":\"name\",\"type\":\"string\",\"value\":\"myMacro\"},{\"name\":\"value\",\"type\":\"string\",\"value\":\"nothing\"}],\"start\":0,\"end\":25,\"rule\":\"macrodef\"}]\n\n\t\t);\n\t});\n\n\tit(\"should parse macro definitions with end statements followed by spaces\", function() {\n\t\texpect(parse(\"\\\\define myMacro()\\nnothing\\n\\\\end   \\n\")).toEqual(\n\n\t\t\t[{\"type\":\"set\",\"isBlock\": false,\"attributes\":{\"name\":{\"name\":\"name\",\"type\":\"string\",\"value\":\"myMacro\"},\"value\":{\"name\":\"value\",\"type\":\"string\",\"value\":\"nothing\"}},\"children\":[],\"params\":[],\"isMacroDefinition\":true,\"orderedAttributes\":[{\"name\":\"name\",\"type\":\"string\",\"value\":\"myMacro\"},{\"name\":\"value\",\"type\":\"string\",\"value\":\"nothing\"}],\"start\":0,\"end\":33,\"rule\":\"macrodef\"}]\n\n\t\t);\n\t});\n\n\tit(\"should parse macro definitions with named end statements followed by spaces\", function() {\n\t\texpect(parse(\"\\\\define myMacro()\\nnothing\\n\\\\end myMacro  \\n\")).toEqual(\n\n\t\t\t[{\"type\":\"set\",\"isBlock\": false,\"attributes\":{\"name\":{\"name\":\"name\",\"type\":\"string\",\"value\":\"myMacro\"},\"value\":{\"name\":\"value\",\"type\":\"string\",\"value\":\"nothing\"}},\"children\":[],\"params\":[],\"isMacroDefinition\":true,\"orderedAttributes\":[{\"name\":\"name\",\"type\":\"string\",\"value\":\"myMacro\"},{\"name\":\"value\",\"type\":\"string\",\"value\":\"nothing\"}],\"start\":0,\"end\":40,\"rule\":\"macrodef\"}]\n\n\t\t);\n\t});\n\n\tit(\"should parse procedure definitions with no parameters\", function() {\n\t\texpect(parse(\"\\\\procedure myMacro()\\nnothing\\n\\\\end\\n\")).toEqual(\n\n\t\t\t[{\"type\":\"set\",\"attributes\":{\"name\":{\"name\":\"name\",\"type\":\"string\",\"value\":\"myMacro\"},\"value\":{\"name\":\"value\",\"type\":\"string\",\"value\":\"nothing\"}},\"children\":[],\"params\":[],\"orderedAttributes\":[{\"name\":\"name\",\"type\":\"string\",\"value\":\"myMacro\"},{\"name\":\"value\",\"type\":\"string\",\"value\":\"nothing\"}],\"isProcedureDefinition\":true,\"start\":0,\"end\":33,\"rule\":\"fnprocdef\"}]\n\n\t\t);\n\t});\n\n\tit(\"should parse single line procedure definitions with no parameters\", function() {\n\t\texpect(parse(\"\\\\procedure myMacro() nothing\\n\")).toEqual(\n\n\t\t\t[{\"type\":\"set\",\"attributes\":{\"name\":{\"name\":\"name\",\"type\":\"string\",\"value\":\"myMacro\"},\"value\":{\"name\":\"value\",\"type\":\"string\",\"value\":\"nothing\"}},\"children\":[],\"params\":[],\"orderedAttributes\":[{\"name\":\"name\",\"type\":\"string\",\"value\":\"myMacro\"},{\"name\":\"value\",\"type\":\"string\",\"value\":\"nothing\"}],\"isProcedureDefinition\":true,\"start\":0,\"end\":28,\"rule\":\"fnprocdef\"}]\n\n\t\t);\n\t});\n\n\tit(\"should parse procedure definitions with end statements followed by spaces\", function() {\n\t\texpect(parse(\"\\\\procedure myMacro()\\nnothing\\n\\\\end   \\n\")).toEqual(\n\n\t\t\t[{\"type\":\"set\",\"attributes\":{\"name\":{\"name\":\"name\",\"type\":\"string\",\"value\":\"myMacro\"},\"value\":{\"name\":\"value\",\"type\":\"string\",\"value\":\"nothing\"}},\"children\":[],\"params\":[],\"orderedAttributes\":[{\"name\":\"name\",\"type\":\"string\",\"value\":\"myMacro\"},{\"name\":\"value\",\"type\":\"string\",\"value\":\"nothing\"}],\"isProcedureDefinition\":true,\"start\":0,\"end\":36,\"rule\":\"fnprocdef\"}]\n\n\t\t);\n\t});\n\n\tit(\"should parse procedure definitions with named end statements followed by spaces\", function() {\n\t\texpect(parse(\"\\\\procedure myMacro()\\nnothing\\n\\\\end myMacro  \\n\")).toEqual(\n\n\t\t\t[{\"type\":\"set\",\"attributes\":{\"name\":{\"name\":\"name\",\"type\":\"string\",\"value\":\"myMacro\"},\"value\":{\"name\":\"value\",\"type\":\"string\",\"value\":\"nothing\"}},\"children\":[],\"params\":[],\"orderedAttributes\":[{\"name\":\"name\",\"type\":\"string\",\"value\":\"myMacro\"},{\"name\":\"value\",\"type\":\"string\",\"value\":\"nothing\"}],\"isProcedureDefinition\":true,\"start\":0,\"end\":43,\"rule\":\"fnprocdef\"}]\n\n\t\t);\n\t});\n\n\tit(\"should parse procedure definitions with parameters\", function() {\n\t\texpect(parse(\"\\\\procedure myMacro(one,two,three,four:elephant)\\nnothing\\n\\\\end\\n\")).toEqual(\n\n\t\t\t[{\"type\":\"set\",\"attributes\":{\"name\":{\"name\":\"name\",\"type\":\"string\",\"value\":\"myMacro\"},\"value\":{\"name\":\"value\",\"type\":\"string\",\"value\":\"nothing\"}},\"children\":[],\"params\":[{\"name\":\"one\"},{\"name\":\"two\"},{\"name\":\"three\"},{\"name\":\"four\",\"default\":\"elephant\"}],\"orderedAttributes\":[{\"name\":\"name\",\"type\":\"string\",\"value\":\"myMacro\"},{\"name\":\"value\",\"type\":\"string\",\"value\":\"nothing\"}],\"isProcedureDefinition\":true,\"start\":0,\"end\":60,\"rule\":\"fnprocdef\"}]\n\n\t\t);\n\t});\n\n\tit(\"should parse procedure definitions\", function() {\n\t\texpect(parse(\"\\\\procedure myMacro(one:'Jaguar')\\n<$text text=<<one>>/>\\n\\\\end\\n\\n\")).toEqual(\n\n\t\t\t[{\"type\":\"set\",\"attributes\":{\"name\":{\"name\":\"name\",\"type\":\"string\",\"value\":\"myMacro\"},\"value\":{\"name\":\"value\",\"type\":\"string\",\"value\":\"<$text text=<<one>>/>\"}},\"children\":[],\"params\":[{\"name\":\"one\",\"default\":\"Jaguar\"}],\"orderedAttributes\":[{\"name\":\"name\",\"type\":\"string\",\"value\":\"myMacro\"},{\"name\":\"value\",\"type\":\"string\",\"value\":\"<$text text=<<one>>/>\"}],\"isProcedureDefinition\":true,\"start\":0,\"end\":59,\"rule\":\"fnprocdef\"}]\n\n\t\t);\n\n\t});\tit(\"should parse function definitions with no parameters\", function() {\n\t\texpect(parse(\"\\\\function myMacro()\\nnothing\\n\\\\end\\n\")).toEqual(\n\n\t\t\t[{\"type\":\"set\",\"attributes\":{\"name\":{\"name\":\"name\",\"type\":\"string\",\"value\":\"myMacro\"},\"value\":{\"name\":\"value\",\"type\":\"string\",\"value\":\"nothing\"}},\"children\":[],\"params\":[],\"orderedAttributes\":[{\"name\":\"name\",\"type\":\"string\",\"value\":\"myMacro\"},{\"name\":\"value\",\"type\":\"string\",\"value\":\"nothing\"}],\"isFunctionDefinition\":true,\"start\":0,\"end\":32,\"rule\":\"fnprocdef\"}]\n\n\t\t);\n\t});\n\n\tit(\"should parse function definitions with end statements followed by spaces\", function() {\n\t\texpect(parse(\"\\\\function myMacro()\\nnothing\\n\\\\end   \\n\")).toEqual(\n\n\t\t\t[{\"type\":\"set\",\"attributes\":{\"name\":{\"name\":\"name\",\"type\":\"string\",\"value\":\"myMacro\"},\"value\":{\"name\":\"value\",\"type\":\"string\",\"value\":\"nothing\"}},\"children\":[],\"params\":[],\"orderedAttributes\":[{\"name\":\"name\",\"type\":\"string\",\"value\":\"myMacro\"},{\"name\":\"value\",\"type\":\"string\",\"value\":\"nothing\"}],\"isFunctionDefinition\":true,\"start\":0,\"end\":35,\"rule\":\"fnprocdef\"}]\n\n\t\t);\n\t});\n\n\tit(\"should parse function definitions with named end statements followed by spaces\", function() {\n\t\texpect(parse(\"\\\\function myMacro()\\nnothing\\n\\\\end myMacro  \\n\")).toEqual(\n\n\t\t\t[{\"type\":\"set\",\"attributes\":{\"name\":{\"name\":\"name\",\"type\":\"string\",\"value\":\"myMacro\"},\"value\":{\"name\":\"value\",\"type\":\"string\",\"value\":\"nothing\"}},\"children\":[],\"params\":[],\"orderedAttributes\":[{\"name\":\"name\",\"type\":\"string\",\"value\":\"myMacro\"},{\"name\":\"value\",\"type\":\"string\",\"value\":\"nothing\"}],\"isFunctionDefinition\":true,\"start\":0,\"end\":42,\"rule\":\"fnprocdef\"}]\n\n\t\t);\n\t});\n\n\tit(\"should parse single line function definitions with no parameters\", function() {\n\t\texpect(parse(\"\\\\function myMacro() nothing\\n\")).toEqual(\n\n\t\t\t[{\"type\":\"set\",\"attributes\":{\"name\":{\"name\":\"name\",\"type\":\"string\",\"value\":\"myMacro\"},\"value\":{\"name\":\"value\",\"type\":\"string\",\"value\":\"nothing\"}},\"children\":[],\"params\":[],\"orderedAttributes\":[{\"name\":\"name\",\"type\":\"string\",\"value\":\"myMacro\"},{\"name\":\"value\",\"type\":\"string\",\"value\":\"nothing\"}],\"isFunctionDefinition\":true,\"start\":0,\"end\":27,\"rule\":\"fnprocdef\"}]\n\n\t\t);\n\t});\n\n\tit(\"should parse function definitions with parameters\", function() {\n\t\texpect(parse(\"\\\\function myMacro(one,two,three,four:elephant)\\nnothing\\n\\\\end\\n\")).toEqual(\n\n\t\t\t[{\"type\":\"set\",\"attributes\":{\"name\":{\"name\":\"name\",\"type\":\"string\",\"value\":\"myMacro\"},\"value\":{\"name\":\"value\",\"type\":\"string\",\"value\":\"nothing\"}},\"children\":[],\"params\":[{\"name\":\"one\"},{\"name\":\"two\"},{\"name\":\"three\"},{\"name\":\"four\",\"default\":\"elephant\"}],\"orderedAttributes\":[{\"name\":\"name\",\"type\":\"string\",\"value\":\"myMacro\"},{\"name\":\"value\",\"type\":\"string\",\"value\":\"nothing\"}],\"isFunctionDefinition\":true,\"start\":0,\"end\":59,\"rule\":\"fnprocdef\"}]\n\n\t\t);\n\t});\n\n\tit(\"should parse function definitions\", function() {\n\t\texpect(parse(\"\\\\function myMacro(one:'Jaguar')\\n<$text text=<<one>>/>\\n\\\\end\\n\\n\")).toEqual(\n\n\t\t\t[{\"type\":\"set\",\"attributes\":{\"name\":{\"name\":\"name\",\"type\":\"string\",\"value\":\"myMacro\"},\"value\":{\"name\":\"value\",\"type\":\"string\",\"value\":\"<$text text=<<one>>/>\"}},\"children\":[],\"params\":[{\"name\":\"one\",\"default\":\"Jaguar\"}],\"orderedAttributes\":[{\"name\":\"name\",\"type\":\"string\",\"value\":\"myMacro\"},{\"name\":\"value\",\"type\":\"string\",\"value\":\"<$text text=<<one>>/>\"}],\"isFunctionDefinition\":true,\"start\":0,\"end\":58,\"rule\":\"fnprocdef\"}]\n\n\t\t);\n\t});\n\n\tit(\"should parse comment in pragma area. Comment will be invisible\", function() {\n\t\texpect(parse(\"<!-- comment in pragma area -->\\n\\\\define aMacro()\\nnothing\\n\\\\end\\n\")).toEqual(\n\n\t\t\t[{\"type\":\"void\",\"children\":[{\"type\":\"set\",\"attributes\":{\"name\":{\"name\":\"name\",\"type\":\"string\",\"value\":\"aMacro\"},\"value\":{\"name\":\"value\",\"type\":\"string\",\"value\":\"nothing\"}},\"children\":[],\"params\":[],\"isMacroDefinition\":true,\"isBlock\":false,\"orderedAttributes\":[{\"name\":\"name\",\"type\":\"string\",\"value\":\"aMacro\"},{\"name\":\"value\",\"type\":\"string\",\"value\":\"nothing\"}],\"start\":32,\"end\":61,\"rule\":\"macrodef\"}],\"text\":\"<!-- comment in pragma area -->\",\"start\":0,\"end\":31,\"rule\":\"commentblock\"}]\n\n\t\t);\n\t});\n\n\tit(\"should block mode filtered transclusions\", function() {\n\t\texpect(parse(\"{{{ filter }}}\")).toEqual(\n\n\t\t\t[ { type: \"list\", attributes: { filter: { type: \"string\", value: \" filter \", start: 3, end: 11 } }, isBlock: true, start: 0, end: 14, rule: \"filteredtranscludeblock\" } ]\n\n\t\t);\n\t\texpect(parse(\"{{{ fil\\nter }}}\")).toEqual(\n\n\t\t\t[ { type: \"list\", attributes: { filter: { type: \"string\", value: \" fil\\nter \", start: 3, end: 12 } }, isBlock: true, start: 0, end: 15, rule: \"filteredtranscludeblock\" } ]\n\n\t\t);\n\t});\n\n\tit(\"should parse inline macro calls\", function() {\n\t\texpect(parse(\"<<john>><<paul>><<george>><<ringo>>\")).toEqual(\n\n\t\t\t[{\"type\":\"element\",\"tag\":\"p\",rule:\"parseblock\",\"children\":[{\"type\":\"transclude\",\"start\":0,\"end\":8,\"rule\":\"macrocallinline\",\"attributes\":{\"$variable\":{\"name\":\"$variable\",\"type\":\"string\",\"value\":\"john\"}},\"orderedAttributes\":[{\"name\":\"$variable\",\"type\":\"string\",\"value\":\"john\"}]},{\"type\":\"transclude\",\"start\":8,\"end\":16,\"rule\":\"macrocallinline\",\"attributes\":{\"$variable\":{\"name\":\"$variable\",\"type\":\"string\",\"value\":\"paul\"}},\"orderedAttributes\":[{\"name\":\"$variable\",\"type\":\"string\",\"value\":\"paul\"}]},{\"type\":\"transclude\",\"start\":16,\"end\":26,\"rule\":\"macrocallinline\",\"attributes\":{\"$variable\":{\"name\":\"$variable\",\"type\":\"string\",\"value\":\"george\"}},\"orderedAttributes\":[{\"name\":\"$variable\",\"type\":\"string\",\"value\":\"george\"}]},{\"type\":\"transclude\",\"start\":26,\"end\":35,\"rule\":\"macrocallinline\",\"attributes\":{\"$variable\":{\"name\":\"$variable\",\"type\":\"string\",\"value\":\"ringo\"}},\"orderedAttributes\":[{\"name\":\"$variable\",\"type\":\"string\",\"value\":\"ringo\"}]}],\"start\":0,\"end\":35}]\n\n\t\t);\n\t\texpect(parse(\"text <<john one:val1 two: 'val \\\"2\\\"' three: \\\"val '3'\\\" four: \\\"\\\"\\\"val 4\\\"5'\\\"\\\"\\\" five: [[val 5]] >>\")).toEqual(\n\n\t\t\t[{\"type\":\"element\",\"tag\":\"p\",rule:\"parseblock\",\"children\":[{\"type\":\"text\",\"text\":\"text \",\"start\":0,\"end\":5},{\"type\":\"transclude\",\"start\":5,\"end\":92,\"rule\":\"macrocallinline\",\"attributes\":{\"$variable\":{\"name\":\"$variable\",\"type\":\"string\",\"value\":\"john\"},\"one\":{\"name\":\"one\",\"assignmentOperator\":\":\",\"type\":\"string\",\"value\":\"val1\",\"start\":11,\"end\":20},\"two\":{\"name\":\"two\",\"assignmentOperator\":\":\",\"type\":\"string\",\"value\":\"val \\\"2\\\"\",\"quoted\":true,\"start\":20,\"end\":35},\"three\":{\"name\":\"three\",\"assignmentOperator\":\":\",\"type\":\"string\",\"value\":\"val '3'\",\"quoted\":true,\"start\":35,\"end\":52},\"four\":{\"name\":\"four\",\"assignmentOperator\":\":\",\"type\":\"string\",\"value\":\"val 4\\\"5'\",\"quoted\":true,\"start\":52,\"end\":73},\"five\":{\"name\":\"five\",\"assignmentOperator\":\":\",\"type\":\"string\",\"value\":\"val 5\",\"quoted\":true,\"start\":73,\"end\":89}},\"orderedAttributes\":[{\"name\":\"$variable\",\"type\":\"string\",\"value\":\"john\"},{\"name\":\"one\",\"assignmentOperator\":\":\",\"type\":\"string\",\"value\":\"val1\",\"start\":11,\"end\":20},{\"name\":\"two\",\"assignmentOperator\":\":\",\"type\":\"string\",\"value\":\"val \\\"2\\\"\",\"quoted\":true,\"start\":20,\"end\":35},{\"name\":\"three\",\"assignmentOperator\":\":\",\"type\":\"string\",\"value\":\"val '3'\",\"quoted\":true,\"start\":35,\"end\":52},{\"name\":\"four\",\"assignmentOperator\":\":\",\"type\":\"string\",\"value\":\"val 4\\\"5'\",\"quoted\":true,\"start\":52,\"end\":73},{\"name\":\"five\",\"assignmentOperator\":\":\",\"type\":\"string\",\"value\":\"val 5\",\"quoted\":true,\"start\":73,\"end\":89}]}],\"start\":0,\"end\":92}]\n\n\t\t);\n\t\texpect(parse(\"ignored << carrots <<john>>\")).toEqual(\n\n\t\t\t[{\"type\":\"element\",\"tag\":\"p\",rule:\"parseblock\",\"children\":[{\"type\":\"text\",\"text\":\"ignored << carrots \",\"start\":0,\"end\":19},{\"type\":\"transclude\",\"start\":19,\"end\":27,\"rule\":\"macrocallinline\",\"attributes\":{\"$variable\":{\"name\":\"$variable\",\"type\":\"string\",\"value\":\"john\"}},\"orderedAttributes\":[{\"name\":\"$variable\",\"type\":\"string\",\"value\":\"john\"}]}],\"start\":0,\"end\":27}]\n\n\t\t);\n\t\texpect(parse(\"text <<<john>>\")).toEqual(\n\n\t\t\t[{\"type\":\"element\",\"tag\":\"p\",rule:\"parseblock\",\"children\":[{\"type\":\"text\",\"text\":\"text \",\"start\":0,\"end\":5},{\"type\":\"transclude\",\"start\":5,\"end\":14,\"rule\":\"macrocallinline\",\"attributes\":{\"$variable\":{\"name\":\"$variable\",\"type\":\"string\",\"value\":\"<john\"}},\"orderedAttributes\":[{\"name\":\"$variable\",\"type\":\"string\",\"value\":\"<john\"}]}],\"start\":0,\"end\":14}]\n\n\t\t);\n\t\texpect(parse(\"before\\n<<john>>\")).toEqual(\n\n\t\t\t[{\"type\":\"element\",\"tag\":\"p\",rule:\"parseblock\",\"children\":[{\"type\":\"text\",\"text\":\"before\\n\",\"start\":0,\"end\":7},{\"type\":\"transclude\",\"start\":7,\"end\":15,\"rule\":\"macrocallinline\",\"attributes\":{\"$variable\":{\"name\":\"$variable\",\"type\":\"string\",\"value\":\"john\"}},\"orderedAttributes\":[{\"name\":\"$variable\",\"type\":\"string\",\"value\":\"john\"}]}],\"start\":0,\"end\":15}]\n\n\t\t);\n\t\t// A single space will cause it to be inline\n\t\texpect(parse(\"<<john>> \")).toEqual(\n\n\t\t\t[{\"type\":\"element\",\"tag\":\"p\",rule:\"parseblock\",\"children\":[{\"type\":\"transclude\",\"start\":0,\"end\":8,\"rule\":\"macrocallinline\",\"attributes\":{\"$variable\":{\"name\":\"$variable\",\"type\":\"string\",\"value\":\"john\"}},\"orderedAttributes\":[{\"name\":\"$variable\",\"type\":\"string\",\"value\":\"john\"}]},{\"type\":\"text\",\"text\":\" \",\"start\":8,\"end\":9}],\"start\":0,\"end\":9}]\n\n\t\t);\n\t\texpect(parse(\"text <<outie one:'my <<innie>>' >>\")).toEqual(\n\n\t\t\t[{\"type\":\"element\",\"tag\":\"p\",rule:\"parseblock\",\"children\":[{\"type\":\"text\",\"text\":\"text \",\"start\":0,\"end\":5},{\"type\":\"transclude\",\"start\":5,\"end\":34,\"rule\":\"macrocallinline\",\"attributes\":{\"$variable\":{\"name\":\"$variable\",\"type\":\"string\",\"value\":\"outie\"},\"one\":{\"name\":\"one\",\"assignmentOperator\":\":\",\"type\":\"string\",\"value\":\"my <<innie>>\",\"quoted\":true,\"start\":12,\"end\":31}},\"orderedAttributes\":[{\"name\":\"$variable\",\"type\":\"string\",\"value\":\"outie\"},{\"name\":\"one\",\"assignmentOperator\":\":\",\"type\":\"string\",\"value\":\"my <<innie>>\",\"quoted\":true,\"start\":12,\"end\":31}]}],\"start\":0,\"end\":34}]\n\n\t\t);\n\n\t});\n\n\tit(\"should parse block macro calls\", function() {\n\t\texpect(parse(\"<<john>>\\n<<paul>>\\r\\n<<george>>\\n<<ringo>>\")).toEqual(\n\n\t\t\t[ { type: \"transclude\", start: 0, rule: \"macrocallblock\", attributes: { $variable: { name: \"$variable\", type: \"string\", value: \"john\" }}, orderedAttributes: [ { name: \"$variable\", type: \"string\", value: \"john\" }], end: 8, isBlock: true }, { type: \"transclude\", start: 9, rule: \"macrocallblock\", attributes: { $variable: { name: \"$variable\", type: \"string\", value: \"paul\" }}, orderedAttributes: [ { name: \"$variable\", type: \"string\", value: \"paul\" }], end: 17, isBlock: true }, { type: \"transclude\", start: 19, rule: \"macrocallblock\", attributes: { $variable: { name: \"$variable\", type: \"string\", value: \"george\" }}, orderedAttributes: [ { name: \"$variable\", type: \"string\", value: \"george\" }], end: 29, isBlock: true }, { type: \"transclude\", start: 30, rule: \"macrocallblock\", attributes: { $variable: { name: \"$variable\", type: \"string\", value: \"ringo\" }}, orderedAttributes: [ { name: \"$variable\", type: \"string\", value: \"ringo\" }], end: 39, isBlock: true } ]\n\n\t\t);\n\t\texpect(parse(\"<<john one:val1 two: 'val \\\"2\\\"' three: \\\"val '3'\\\" four: \\\"\\\"\\\"val 4\\\"5'\\\"\\\"\\\" five: [[val 5]] >>\")).toEqual(\n\n\t\t\t[{\"type\":\"transclude\",\"start\":0,\"end\":87,\"rule\":\"macrocallblock\",\"attributes\":{\"$variable\":{\"name\":\"$variable\",\"type\":\"string\",\"value\":\"john\"},\"one\":{\"name\":\"one\",\"assignmentOperator\":\":\",\"type\":\"string\",\"value\":\"val1\",\"start\":6,\"end\":15},\"two\":{\"name\":\"two\",\"assignmentOperator\":\":\",\"type\":\"string\",\"value\":\"val \\\"2\\\"\",\"quoted\":true,\"start\":15,\"end\":30},\"three\":{\"name\":\"three\",\"assignmentOperator\":\":\",\"type\":\"string\",\"value\":\"val '3'\",\"quoted\":true,\"start\":30,\"end\":47},\"four\":{\"name\":\"four\",\"assignmentOperator\":\":\",\"type\":\"string\",\"value\":\"val 4\\\"5'\",\"quoted\":true,\"start\":47,\"end\":68},\"five\":{\"name\":\"five\",\"assignmentOperator\":\":\",\"type\":\"string\",\"value\":\"val 5\",\"quoted\":true,\"start\":68,\"end\":84}},\"orderedAttributes\":[{\"name\":\"$variable\",\"type\":\"string\",\"value\":\"john\"},{\"name\":\"one\",\"assignmentOperator\":\":\",\"type\":\"string\",\"value\":\"val1\",\"start\":6,\"end\":15},{\"name\":\"two\",\"assignmentOperator\":\":\",\"type\":\"string\",\"value\":\"val \\\"2\\\"\",\"quoted\":true,\"start\":15,\"end\":30},{\"name\":\"three\",\"assignmentOperator\":\":\",\"type\":\"string\",\"value\":\"val '3'\",\"quoted\":true,\"start\":30,\"end\":47},{\"name\":\"four\",\"assignmentOperator\":\":\",\"type\":\"string\",\"value\":\"val 4\\\"5'\",\"quoted\":true,\"start\":47,\"end\":68},{\"name\":\"five\",\"assignmentOperator\":\":\",\"type\":\"string\",\"value\":\"val 5\",\"quoted\":true,\"start\":68,\"end\":84}],\"isBlock\":true}]\n\n\t\t);\n\t\texpect(parse(\"<< carrots\\n\\n<<john>>\")).toEqual(\n\n\t\t\t[ { type: \"element\", tag: \"p\", rule: \"parseblock\", start : 0, end : 10, children: [ { type: \"text\", text: \"<< carrots\", start : 0, end : 10 } ] }, { type: \"transclude\", start: 12, rule: \"macrocallblock\", attributes: { $variable: {name: \"$variable\", type:\"string\", value: \"john\"} }, orderedAttributes: [ {name: \"$variable\", type:\"string\", value: \"john\"} ], end: 20, isBlock: true } ]\n\n\t\t);\n\t\texpect(parse(\"before\\n\\n<<john>>\")).toEqual(\n\n\t\t\t[ { type: \"element\", tag: \"p\", rule: \"parseblock\", start : 0, end : 6, children: [ { type: \"text\", text: \"before\", start : 0, end : 6 } ] }, { type: \"transclude\", start: 8, rule: \"macrocallblock\", attributes: { $variable: {name: \"$variable\", type:\"string\", value: \"john\"} }, orderedAttributes: [ {name: \"$variable\", type:\"string\", value: \"john\"} ], end: 16, isBlock: true } ]\n\n\t\t);\n\t\texpect(parse(\"<<john>>\\nafter\")).toEqual(\n\n\t\t\t[ { type: \"transclude\", start: 0, rule: \"macrocallblock\", attributes: { $variable: {name: \"$variable\", type:\"string\", value: \"john\"} }, orderedAttributes: [ {name: \"$variable\", type:\"string\", value: \"john\"} ], end: 8, isBlock: true }, { type: \"element\", tag: \"p\", rule: \"parseblock\", start: 9, end: 14, children: [ { type: \"text\", text: \"after\", start: 9, end: 14 } ] } ]\n\n\t\t);\n\t\texpect(parse(\"<<multiline arg:\\\"\\\"\\\"\\n\\nwikitext\\n\\\"\\\"\\\" >>\")).toEqual(\n\n\t\t\t[{\"type\":\"transclude\",\"start\":0,\"end\":36,\"rule\":\"macrocallblock\",\"attributes\":{\"$variable\":{\"name\":\"$variable\",\"type\":\"string\",\"value\":\"multiline\"},\"arg\":{\"name\":\"arg\",\"assignmentOperator\":\":\",\"type\":\"string\",\"value\":\"\\n\\nwikitext\\n\",\"quoted\":true,\"start\":11,\"end\":33}},\"orderedAttributes\":[{\"name\":\"$variable\",\"type\":\"string\",\"value\":\"multiline\"},{\"name\":\"arg\",\"assignmentOperator\":\":\",\"type\":\"string\",\"value\":\"\\n\\nwikitext\\n\",\"quoted\":true,\"start\":11,\"end\":33}],\"isBlock\":true}]\n\n\t\t);\n\t\texpect(parse(\"<<outie one:'my <<innie>>' >>\")).toEqual(\n\n\t\t\t[ { type: \"transclude\", start: 0, rule: \"macrocallblock\", attributes: { $variable: {name: \"$variable\", type:\"string\", value: \"outie\"}, one: {name: \"one\", assignmentOperator: \":\", type:\"string\", value: \"my <<innie>>\", quoted: true, start: 7, end: 26} }, orderedAttributes: [ {name: \"$variable\", type:\"string\", value: \"outie\"}, {name: \"one\", assignmentOperator: \":\", type:\"string\", value: \"my <<innie>>\", quoted: true, start: 7, end: 26} ], end: 29, isBlock: true } ]\n\n\t\t);\n\t});\n\n\tit(\"should parse tricky macrocall parameters\", function() {\n\t\texpect(parse(\"<<john pa>am>>\")).toEqual(\n\n\t\t\t[{\"type\":\"transclude\",\"start\":0,\"end\":14,\"attributes\":{\"0\":{\"name\":\"0\",\"type\":\"string\",\"value\":\"pa>am\",\"start\":6,\"end\":12,\"isPositional\":true},\"$variable\":{\"name\":\"$variable\",\"type\":\"string\",\"value\":\"john\"}},\"orderedAttributes\":[{\"name\":\"$variable\",\"type\":\"string\",\"value\":\"john\"},{\"name\":\"0\",\"type\":\"string\",\"value\":\"pa>am\",\"start\":6,\"end\":12,\"isPositional\":true}],\"isBlock\":true,\"rule\":\"macrocallblock\"}]\n\n\t\t);\n\t\texpect(parse(\"<<john param> >>\")).toEqual(\n\n\t\t\t[{\"type\":\"transclude\",\"start\":0,\"end\":16,\"attributes\":{\"0\":{\"name\":\"0\",\"type\":\"string\",\"value\":\"param>\",\"start\":6,\"end\":13,\"isPositional\":true},\"$variable\":{\"name\":\"$variable\",\"type\":\"string\",\"value\":\"john\"}},\"orderedAttributes\":[{\"name\":\"$variable\",\"type\":\"string\",\"value\":\"john\"},{\"name\":\"0\",\"type\":\"string\",\"value\":\"param>\",\"start\":6,\"end\":13,\"isPositional\":true}],\"isBlock\":true,\"rule\":\"macrocallblock\"}]\n\n\t\t);\n\t\texpect(parse(\"<<john param>>>\")).toEqual(\n\n\t\t\t[{\"type\":\"element\",\"rule\":\"parseblock\",\"tag\":\"p\",\"children\":[{\"type\":\"transclude\",\"start\":0,\"end\":14,\"rule\":\"macrocallinline\",\"attributes\":{\"0\":{\"name\":\"0\",\"type\":\"string\",\"value\":\"param\",\"start\":6,\"end\":12,\"isPositional\":true},\"$variable\":{\"name\":\"$variable\",\"type\":\"string\",\"value\":\"john\"}},\"orderedAttributes\":[{\"name\":\"$variable\",\"type\":\"string\",\"value\":\"john\"},{\"name\":\"0\",\"type\":\"string\",\"value\":\"param\",\"start\":6,\"end\":12,\"isPositional\":true}]},{\"type\":\"text\",\"text\":\">\",\"start\":14,\"end\":15}],\"start\":0,\"end\":15}]\n\n\t\t);\n\t\t// equals signs should be allowed\n\t\texpect(parse(\"<<john var>=4 >>\")).toEqual(\n\n\t\t\t[{\"type\":\"transclude\",\"start\":0,\"end\":16,\"attributes\":{\"0\":{\"name\":\"0\",\"type\":\"string\",\"value\":\"var>=4\",\"start\":6,\"end\":13,\"isPositional\":true},\"$variable\":{\"name\":\"$variable\",\"type\":\"string\",\"value\":\"john\"}},\"orderedAttributes\":[{\"name\":\"$variable\",\"type\":\"string\",\"value\":\"john\"},{\"name\":\"0\",\"type\":\"string\",\"value\":\"var>=4\",\"start\":6,\"end\":13,\"isPositional\":true}],\"isBlock\":true,\"rule\":\"macrocallblock\"}]\n\n\t\t);\n\n\t});\n\n\tit(\"should parse horizontal rules\", function() {\n\t\texpect(parse(\"---Not a rule\\n\\n----\\n\\nBetween\\n\\n---\")).toEqual(\n\n\t\t\t[ { type : \"element\", tag : \"p\", rule: \"parseblock\", start : 0, end : 13, children : [ { type : \"entity\", entity : \"&mdash;\", start: 0, end: 3, rule: \"dash\" }, { type : \"text\", text : \"Not a rule\", start : 3, end : 13 } ] }, { type : \"element\", tag : \"hr\", start: 15, end: 20, rule: \"horizrule\" }, { type : \"element\", tag : \"p\", rule: \"parseblock\", start : 21, end : 28, children : [ { type : \"text\", text : \"Between\", start : 21, end : 28 } ] }, { type : \"element\", tag : \"hr\", start: 30, end: 33, rule: \"horizrule\" } ]\n\n\t\t);\n\n\t});\n\n\tit(\"should parse hard linebreak areas\", function() {\n\t\texpect(parse(\"\\\"\\\"\\\"Something\\nin the\\nway she moves\\n\\\"\\\"\\\"\\n\\n\")).toEqual(\n\n\t\t\t[ { type : \"element\", tag : \"p\", rule: \"parseblock\", children : [ { type : \"text\", text : \"Something\", start : 3, end : 12, rule: \"hardlinebreaks\", isRuleStart: true }, { type : \"element\", tag : \"br\", rule: \"hardlinebreaks\", start: 12, end: 13 }, { type : \"text\", text : \"in the\", start : 13, end : 19, rule: \"hardlinebreaks\" }, { type : \"element\", tag : \"br\", rule: \"hardlinebreaks\", start: 19, end: 20 }, { type : \"text\", text : \"way she moves\", start : 20, end : 33, rule: \"hardlinebreaks\" }, { type : \"element\", tag : \"br\", rule: \"hardlinebreaks\", start: 33, end: 34, isRuleEnd: true } ], start : 0, end : 37 } ]\n\n\t\t);\n\n\t});\n\n\tit(\"should parse tables\", function() {\n\t\tlet wikitext = `\n|!Cell1 |!Cell2 |\n|Cell3 |Cell4 |`.trim();\n\n\t\tlet expectedParseTree = [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"table\",\n\t\t\tstart: 0,\n\t\t\tend: 33,\n\t\t\trule: \"table\",\n\t\t\tchildren: [{\n\t\t\t\ttype: \"element\",\n\t\t\t\ttag: \"tbody\",\n\t\t\t\tstart: 0,\n\t\t\t\tend: 33,\n\t\t\t\tchildren: [{\n\t\t\t\t\ttype: \"element\",\n\t\t\t\t\ttag: \"tr\",\n\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\"class\": { name: \"class\", type: \"string\", value: \"evenRow\" },\n\t\t\t\t\t},\n\t\t\t\t\torderedAttributes: [\n\t\t\t\t\t\t{ name: \"class\", type: \"string\", value: \"evenRow\" },\n\t\t\t\t\t],\n\t\t\t\t\tstart: 0,\n\t\t\t\t\tend: 18,\n\t\t\t\t\tchildren: [{\n\t\t\t\t\t\ttype: \"element\",\n\t\t\t\t\t\ttag: \"th\",\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\"align\": { name: \"align\", type: \"string\", value: \"left\" },\n\t\t\t\t\t\t},\n\t\t\t\t\t\torderedAttributes: [\n\t\t\t\t\t\t\t{ name: \"align\", type: \"string\", value: \"left\" },\n\t\t\t\t\t\t],\n\t\t\t\t\t\tstart: 1,\n\t\t\t\t\t\tend: 8,\n\t\t\t\t\t\tchildren: [{type: \"text\", text: \"Cell1\", start: 2, end: 7}],\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttype: \"element\",\n\t\t\t\t\t\ttag: \"th\",\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\"align\": { name: \"align\", type: \"string\", value: \"left\" },\n\t\t\t\t\t\t},\n\t\t\t\t\t\torderedAttributes: [\n\t\t\t\t\t\t\t{ name: \"align\", type: \"string\", value: \"left\" },\n\t\t\t\t\t\t],\n\t\t\t\t\t\tstart: 9,\n\t\t\t\t\t\tend: 16,\n\t\t\t\t\t\tchildren: [{type: \"text\", text: \"Cell2\", start: 10, end: 15}],\n\t\t\t\t\t}],\n\t\t\t\t}, {\n\t\t\t\t\ttype: \"element\",\n\t\t\t\t\ttag: \"tr\",\n\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\"class\": { name: \"class\", type: \"string\", value: \"oddRow\" },\n\t\t\t\t\t},\n\t\t\t\t\torderedAttributes: [\n\t\t\t\t\t\t{ name: \"class\", type: \"string\", value: \"oddRow\" },\n\t\t\t\t\t],\n\t\t\t\t\tstart: 18,\n\t\t\t\t\tend: 33,\n\t\t\t\t\tchildren: [{\n\t\t\t\t\t\ttype: \"element\",\n\t\t\t\t\t\ttag: \"td\",\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\"align\": { name: \"align\", type: \"string\", value: \"left\" },\n\t\t\t\t\t\t},\n\t\t\t\t\t\torderedAttributes: [\n\t\t\t\t\t\t\t{ name: \"align\", type: \"string\", value: \"left\" },\n\t\t\t\t\t\t],\n\t\t\t\t\t\tstart: 19,\n\t\t\t\t\t\tend: 25,\n\t\t\t\t\t\tchildren: [{type: \"text\", text: \"Cell3\", start: 19, end: 24}],\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttype: \"element\",\n\t\t\t\t\t\ttag: \"td\",\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\"align\": { name: \"align\", type: \"string\", value: \"left\" },\n\t\t\t\t\t\t},\n\t\t\t\t\t\torderedAttributes: [\n\t\t\t\t\t\t\t{ name: \"align\", type: \"string\", value: \"left\" },\n\t\t\t\t\t\t],\n\t\t\t\t\t\tstart: 26,\n\t\t\t\t\t\tend: 32,\n\t\t\t\t\t\tchildren: [{type: \"text\", text: \"Cell4\", start: 26, end: 31}],\n\t\t\t\t\t}],\n\t\t\t\t}],\n\t\t\t}],\n\t\t}];\n\n\t\texpect(parse(wikitext)).toEqual(expectedParseTree);\n\t});\n});\n\n"
  },
  {
    "path": "editions/test/tiddlers/tests/test-wikitext-serialize.js",
    "content": "/*\\\ntitle: test-wikitext-serialize.js\ntype: application/javascript\ntags: [[$:/tags/test-spec]]\n\nTests the wikitext inverse-rendering from Wiki AST.\n\n\\*/\n\ndescribe(\"WikiAST serialization unit tests\", function () {\n\tvar cases = $tw.wiki.filterTiddlers(\"[all[shadows+tiddlers]tag[$:/tags/wikitext-serialize-test-spec]]\");\n\t$tw.utils.each(cases, function (title) {\n\t\tit(\"should serialize correctly for \" + title, function () {\n\t\t\tvar serialized = $tw.utils.serializeWikitextParseTree($tw.wiki.parseTiddler(title).tree).trimEnd();\n\t\t\texpect(serialized).toBe($tw.wiki.getTiddlerText(title).trimEnd());\n\t\t});\n\t});\n});\n"
  },
  {
    "path": "editions/test/tiddlers/tests/test-wikitext-tabs-macro.js",
    "content": "/*\\\ntitle: test-wikitext-tabs-macro.js\ntype: application/javascript\ntags: [[$:/tags/test-spec]]\n\nTests the core tabs macro by comparing the HTML output with a stored template.\nIntended to permit future readability improvements.\n\nAdding new functionality will probably change the \"expected\" html structure.\n\n\\*/\n\n\"use strict\";\n\ndescribe(\"Tabs-macro HTML tests\", function() {\n\n\t// This code can be copy pasted into the browser console for easy testing\n\n\t// the expected tiddlers can be found at ./data/tabs-macro/\n\tvar expected     = $tw.wiki.getTiddler(\"expected-test-tabs-horizontal-a\"),\n\t\texpectedAll  = $tw.wiki.getTiddler(\"expected-test-tabs-horizontal-all\"),\n\t\texpectedVert = $tw.wiki.getTiddler(\"expected-test-tabs-vertical\"),\n\t\tcoreTabsTiddler = $tw.wiki.getTiddler(\"$:/core/macros/tabs\");\n\n\t// Create a wiki with test tiddlers\n\n\t// Add a couple of tiddlers\n\t$tw.wiki.addTiddler(new $tw.Tiddler({title: \"TabOne\",   text: \"Text tab 1\", caption:\"t 1\"},$tw.wiki.getModificationFields()));\n\t$tw.wiki.addTiddler(new $tw.Tiddler({title: \"TabTwo\",   text: \"Text tab 2\", caption:\"t 2\"},$tw.wiki.getModificationFields()));\n\t// TabThree shows description used in button-template instead of caption\n\t$tw.wiki.addTiddler(new $tw.Tiddler({title: \"TabThree\", text: \"Text tab 3\", caption:\"t 3\", description:\"desc\"},$tw.wiki.getModificationFields()));\n\t// Tab Four has no caption field, so title will be used\n\t$tw.wiki.addTiddler(new $tw.Tiddler({title: \"TabFour\",  text: \"Text tab 4\"},$tw.wiki.getModificationFields()));\n\n\t// Template tiddlers\n\t$tw.wiki.addTiddler(new $tw.Tiddler({title: \"body-template\", \"code-body\":\"yes\",\n\t\ttext: '!! <<currentTab>>\\n\\n<$transclude tiddler=<<currentTab>> mode=\"block\"/>'},$tw.wiki.getModificationFields()));\n\t$tw.wiki.addTiddler(new $tw.Tiddler({title: \"button-template\", \"code-body\":\"yes\",\n\t\ttext: '<$transclude tiddler=<<currentTab>> field=\"description\"><$transclude tiddler=<<currentTab>> field=\"caption\"><$macrocall $name=\"currentTab\" $type=\"text/plain\" $output=\"text/plain\"/></$transclude></$transclude>'},$tw.wiki.getModificationFields()));\n\t// tabs macro cloned, to be used with \\\\import\n\t$tw.wiki.addTiddler(new $tw.Tiddler({title: \"tabs-macro-definition\", \"code-body\":\"yes\", text: coreTabsTiddler.fields.text},$tw.wiki.getModificationFields()));\n\n\t// horizontal tabs test uses `tabsList`, `default` and `state` -- unnamed params\n\t$tw.wiki.addTiddler(new $tw.Tiddler(\n\t\t{title: \"test-tabs-horizontal\",  text: '\\\\import [[tabs-macro-definition]]\\n<<tabs \"TabOne TabTwo TabThree TabFour\" \"TabTwo\" \"$:/state/test-tab-01\">>'},\n\t\t$tw.wiki.getModificationFields())\n\t);\n\n\t// horizontal tabs test adds `template`, `buttonTemplate` and `explicitState` as named params\n\t$tw.wiki.addTiddler(new $tw.Tiddler(\n\t\t{title: \"test-tabs-horizontal-all\",  text: '\\\\import [[tabs-macro-definition]]\\n<<tabs \"TabOne TabTwo TabThree TabFour\" \"TabTwo\" \"$:/state/test-tab-01\" template:\"body-template\" buttonTemplate:\"button-template\" explicitState:\"$:/state/explicit\">>'},\n\t\t$tw.wiki.getModificationFields())\n\t);\n\n\t// vertical tabs test. Same params as test 1\n\t$tw.wiki.addTiddler(new $tw.Tiddler(\n\t\t{title: \"test-tabs-vertical\",  text: '\\\\import [[tabs-macro-definition]]\\n<<tabs \"TabOne TabTwo TabThree TabFour\" \"TabTwo\" \"$:/state/test-tab-02\" \"tc-vertical\">>'},\n\t\t$tw.wiki.getModificationFields())\n\t);\n\n\t// End This code can be copy pasted into the browser console\n\n\t/* -----------------\n\t/ Run the tests\n\t--------------------*/\n\t// horizontal\n\tit(\"should render 'horizontal' tabs from v5.2.2 and up with whitespace trim\", function() {\n\t\texpect($tw.wiki.renderTiddler(\"text/html\",\"test-tabs-horizontal\")).toBe(expected.fields.text.replace(/\\n/g,\"\"));\n\t});\n\n\tit(\"should render all 'horizontal' tabs from v5.2.2 and up with whitespace trim\", function() {\n\t\texpect($tw.wiki.renderTiddler(\"text/html\",\"test-tabs-horizontal-all\")).toBe(expectedAll.fields.text.replace(/\\n/g,\"\"));\n\t});\n\n\t// vertical\n\tit(\"should render 'vertical' tabs from v5.2.2 and up with whitespace trim\", function() {\n\t\texpect($tw.wiki.renderTiddler(\"text/html\",\"test-tabs-vertical\")).toBe(expectedVert.fields.text.replace(/\\n/g,\"\"));\n\t});\n});\n\n"
  },
  {
    "path": "editions/test/tiddlers/tests/test-wikitext.js",
    "content": "/*\\\ntitle: test-wikitext.js\ntype: application/javascript\ntags: [[$:/tags/test-spec]]\n\nTests the wikitext rendering pipeline end-to-end. We also need tests that individually test parsers, rendertreenodes etc., but this gets us started.\n\n\\*/\n\n\"use strict\";\n\ndescribe(\"WikiText tests\", function() {\n\n\t// Create a wiki\n\tvar wiki = new $tw.Wiki();\n\t// Add a couple of tiddlers\n\twiki.addTiddler({title: \"TiddlerOne\", text: \"The quick brown fox\"});\n\twiki.addTiddler({title: \"TiddlerTwo\", text: \"The rain in Spain\\nfalls mainly on the plain\"});\n\twiki.addTiddler({title: \"TiddlerThree\", text: \"The speed of sound\\n\\nThe light of speed\"});\n\twiki.addTiddler({title: \"TiddlerFour\", text: \"\\\\define my-macro(adjective:'groovy')\\nThis is my ''amazingly'' $adjective$ macro!\\n\\\\end\\n\\n<$link to=<<my-macro>>>This is a link</$link>\"});\n\n\tit(\"should render tiddlers with no special markup as-is\", function() {\n\t\texpect(wiki.renderTiddler(\"text/plain\",\"TiddlerOne\")).toBe(\"The quick brown fox\");\n\t});\n\tit(\"should preserve single new lines\", function() {\n\t\texpect(wiki.renderTiddler(\"text/plain\",\"TiddlerTwo\")).toBe(\"The rain in Spain\\nfalls mainly on the plain\");\n\t});\n\tit(\"should use double new lines to create paragraphs\", function() {\n\t\t// The paragraphs are lost in the conversion to plain text\n\t\texpect(wiki.renderTiddler(\"text/plain\",\"TiddlerThree\")).toBe(\"The speed of soundThe light of speed\");\n\t});\n\n\tit(\"should render plain text tiddlers as a paragraph\", function() {\n\t\texpect(wiki.renderTiddler(\"text/html\",\"TiddlerOne\")).toBe(\"<p>The quick brown fox</p>\");\n\t});\n\tit(\"should preserve single new lines\", function() {\n\t\texpect(wiki.renderTiddler(\"text/html\",\"TiddlerTwo\")).toBe(\"<p>The rain in Spain\\nfalls mainly on the plain</p>\");\n\t});\n\tit(\"should use double new lines to create paragraphs\", function() {\n\t\texpect(wiki.renderTiddler(\"text/html\",\"TiddlerThree\")).toBe(\"<p>The speed of sound</p><p>The light of speed</p>\");\n\t});\n\tit(\"should support attributes specified as macro invocations\", function() {\n\t\texpect(wiki.renderTiddler(\"text/html\",\"TiddlerFour\")).toBe(\"<p><a class=\\\"tc-tiddlylink tc-tiddlylink-missing\\\" href=\\\"#This%20is%20my%20%27%27amazingly%27%27%20groovy%20macro%21\\\">This is a link</a></p>\");\n\t});\n\tit(\"handles style wikitext notation\", function() {\n\t\texpect(wiki.renderText(\"text/html\",\"text/vnd-tiddlywiki\",\"@@.myclass\\n!header\\n@@\")).toBe(\"<h1 class=\\\"myclass\\\">header</h1>\");\n\t\texpect(wiki.renderText(\"text/html\",\"text/vnd-tiddlywiki\",\"@@.myclass\\n<div>\\n\\nContent</div>\\n@@\")).toBe(\"<div class=\\\"myclass\\\"><p>Content</p></div>\");\n\t\texpect(wiki.renderText(\"text/html\",\"text/vnd-tiddlywiki\",\"@@.myclass\\n---\\n@@\")).toBe(\"<hr class=\\\"myclass\\\">\");\n\t\t// Test styles can be added too\n\t\texpect(wiki.renderText(\"text/html\",\"text/vnd-tiddlywiki\",\"@@color:red;\\n<div>\\n\\nContent</div>\\n@@\")).toBe(\"<div style=\\\"color:red;\\\"><p>Content</p></div>\");\n\t\texpect(wiki.renderText(\"text/html\",\"text/vnd-tiddlywiki\",\"@@color:red;\\n---\\n@@\")).toBe(\"<hr style=\\\"color:red;\\\">\");\n\t});\n\tit(\"handles inline style wikitext notation\", function() {\n\t\texpect(wiki.renderText(\"text/html\",\"text/vnd-tiddlywiki\",\n\t\t\t\"some @@highlighted@@ text\")).toBe('<p>some <span class=\"tc-inline-style\">highlighted</span> text</p>');\n\t\texpect(wiki.renderText(\"text/html\",\"text/vnd-tiddlywiki\",\n\t\t\t\"some @@color:green;.tc-inline-style 1 style and 1 class@@ text\")).toBe('<p>some <span class=\" tc-inline-style \" style=\"color:green;\">1 style and 1 class</span> text</p>');\n\t\texpect(wiki.renderText(\"text/html\",\"text/vnd-tiddlywiki\",\n\t\t\t\"some @@background-color:red;red@@ text\")).toBe('<p>some <span style=\"background-color:red;\">red</span> text</p>');\n\t\texpect(wiki.renderText(\"text/html\",\"text/vnd-tiddlywiki\",\n\t\t\t\"some @@.myClass class@@ text\")).toBe('<p>some <span class=\" myClass \">class</span> text</p>');\n\t\texpect(wiki.renderText(\"text/html\",\"text/vnd-tiddlywiki\",\n\t\t\t\"some @@.myClass.secondClass 2 classes@@ text\")).toBe('<p>some <span class=\" myClass secondClass \">2 classes</span> text</p>');\n\t\texpect(wiki.renderText(\"text/html\",\"text/vnd-tiddlywiki\",\n\t\t\t\"some @@background:red;.myClass style and class@@ text\")).toBe('<p>some <span class=\" myClass \" style=\"background:red;\">style and class</span> text</p>');\n\t\texpect(wiki.renderText(\"text/html\",\"text/vnd-tiddlywiki\",\n\t\t\t\"some @@background:red;color:white;.myClass 2 style and 1 class@@ text\")).toBe('<p>some <span class=\" myClass \" style=\"background:red;color:white;\">2 style and 1 class</span> text</p>');\n\t});\n});\n\n"
  },
  {
    "path": "editions/test/tiddlywiki.info",
    "content": "{\n\t\"description\": \"TiddlyWiki core tests\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/jasmine\",\n\t\t\"tiddlywiki/wikitext-serialize\",\n\t\t\"tiddlywiki/geospatial\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\"\n\t],\n\t\"build\": {\n\t\t\"index\": [\n\t\t\t\"--rendertiddler\",\"$:/core/save/all\",\"test.html\",\"text/plain\",\n\t\t\t\"--test\"]\n\t}\n}"
  },
  {
    "path": "editions/testcommonjs/tiddlers/GettingStarted.tid",
    "content": "title: GettingStarted\n\nThis wiki instance contains the CommonJS Modules/1.0 unit tests.\n\nTo run them, open a console repl and execute \"$tw.modules.execute('allTests')\" there. You should see no exceptions or output starting with \"FAIL\" in the console.\n\n\n"
  },
  {
    "path": "editions/testcommonjs/tiddlers/absolute/b.js",
    "content": "/*\\\ntitle: absolute/b.js\ntype: application/javascript\nmodule-type: library\n\nAbsolute require test\n\n\\*/\n\n\nexports.foo = function() {};\n"
  },
  {
    "path": "editions/testcommonjs/tiddlers/absolute/program.js",
    "content": "/*\\\ntitle: absolute/program.js\ntype: application/javascript\nmodule-type: library\n\nAbsolute require test\n\n\\*/\n\n\nvar test = require(\"test\");\nvar a = require(\"./submodule/a\");\nvar b = require(\"./b\");\ntest.assert(a.foo().foo === b.foo, \"require works with absolute identifiers\");\ntest.print(\"DONE\", \"info\");\n\n"
  },
  {
    "path": "editions/testcommonjs/tiddlers/absolute/submodule/a.js",
    "content": "/*\\\ntitle: absolute/submodule/a.js\ntype: application/javascript\nmodule-type: library\n\nAbsolute require test\n\n\\*/\n\n\nexports.foo = function () {\n\treturn require(\"../b\");\n};\n\n"
  },
  {
    "path": "editions/testcommonjs/tiddlers/allTests.js",
    "content": "/*\\\ntitle: allTests.js\ntype: application/javascript\nmodule-type: library\n\nRuns all CommonJS Modules tests\n\n\\*/\n\n$tw.modules.execute(\"absolute/program.js\");\n$tw.modules.execute(\"cyclic/program.js\");\n$tw.modules.execute(\"determinism/program.js\");\n$tw.modules.execute(\"exactExports/program.js\");\n$tw.modules.execute(\"hasOwnProperty/program.js\");\n$tw.modules.execute(\"method/program.js\");\n$tw.modules.execute(\"missing/program.js\");\n$tw.modules.execute(\"monkeys/program.js\");\n$tw.modules.execute(\"nested/program.js\");\n$tw.modules.execute(\"relative/program.js\");\n$tw.modules.execute(\"transitive/program.js\");\n\n\n\n"
  },
  {
    "path": "editions/testcommonjs/tiddlers/cyclic/a.js",
    "content": "/*\\\ntitle: cyclic/a.js\ntype: application/javascript\nmodule-type: library\n\nCycle require test A\n\n\\*/\n\nexports.a = function () {\n\treturn b;\n};\nvar b = require(\"./b\");\n\n\n"
  },
  {
    "path": "editions/testcommonjs/tiddlers/cyclic/b.js",
    "content": "/*\\\ntitle: cyclic/b.js\ntype: application/javascript\nmodule-type: library\n\nCycle require test B\n\n\\*/\n\n\n\nvar a = require(\"./a\");\nexports.b = function () {\n\treturn a;\n};\n\n"
  },
  {
    "path": "editions/testcommonjs/tiddlers/cyclic/program.js",
    "content": "/*\\\ntitle: cyclic/program.js\ntype: application/javascript\nmodule-type: library\n\nCycle require test\n\n\\*/\n\n\n\nvar test = require(\"test\");\nvar a = require(\"./a\");\nvar b = require(\"./b\");\n\ntest.assert(a.a, \"a exists\");\ntest.assert(b.b, \"b exists\");\ntest.assert(a.a().b === b.b, \"a gets b\");\ntest.assert(b.b().a === a.a, \"b gets a\");\n\ntest.print(\"DONE\", \"info\");\n\n"
  },
  {
    "path": "editions/testcommonjs/tiddlers/determinism/program.js",
    "content": "/*\\\ntitle: determinism/program.js\ntype: application/javascript\nmodule-type: library\n\nDeterminism test\n\n\\*/\n\n\nvar test = require(\"test\");\nrequire(\"submodule/a\");\ntest.print(\"DONE\", \"info\");\n\n"
  },
  {
    "path": "editions/testcommonjs/tiddlers/determinism/submodule/a.js",
    "content": "/*\\\ntitle: determinism/submodule/a.js\ntype: application/javascript\nmodule-type: library\n\nDeterminism require test A\n\n\\*/\n\n\nvar test = require(\"test\");\nvar pass = false;\nvar test = require(\"test\");\ntry {\n\trequire(\"a\");\n} catch (exception) {\n\tpass = true;\n}\ntest.assert(pass, \"require does not fall back to relative modules when absolutes are not available.\");\n\n"
  },
  {
    "path": "editions/testcommonjs/tiddlers/exactExports/a.js",
    "content": "/*\\\ntitle: exactExports/a.js\ntype: application/javascript\nmodule-type: library\n\nExactExports test A\n\n\\*/\n\n\nexports.program = function () {\n\treturn require(\"./program\");\n};\n\n\n"
  },
  {
    "path": "editions/testcommonjs/tiddlers/exactExports/program.js",
    "content": "/*\\\ntitle: exactExports/program.js\ntype: application/javascript\nmodule-type: library\n\nExactExports test\n\n\\*/\n\n\n\nvar test = require(\"test\");\nvar a = require(\"./a\");\ntest.assert(a.program() === exports, \"exact exports\");\ntest.print(\"DONE\", \"info\");\n\n"
  },
  {
    "path": "editions/testcommonjs/tiddlers/hasOwnProperty/hasOwnProperty.js",
    "content": "/*\\\ntitle: hasOwnProperty.js\ntype: application/javascript\nmodule-type: library\n\nOwnProperty test A\n\n\\*/\n"
  },
  {
    "path": "editions/testcommonjs/tiddlers/hasOwnProperty/program.js",
    "content": "/*\\\ntitle: hasOwnProperty/program.js\ntype: application/javascript\nmodule-type: library\n\nOwnProperty test\n\n\\*/\n\nvoid require(\"hasOwnProperty\");\nvoid require(\"toString\");\nvar test = require(\"test\");\ntest.print(\"DONE\", \"info\");\n\n\n"
  },
  {
    "path": "editions/testcommonjs/tiddlers/hasOwnProperty/toString.js",
    "content": "/*\\\ntitle: toString.js\ntype: application/javascript\nmodule-type: library\n\nOwnProperty test B\n\n\\*/\n"
  },
  {
    "path": "editions/testcommonjs/tiddlers/method/a.js",
    "content": "/*\\\ntitle: method/a.js\ntype: application/javascript\nmodule-type: library\n\nMethod test\n\n\\*/\n\n\nexports.foo = function () {\n\treturn this;\n};\nexports.set = function (x) {\n\tthis.x = x;\n};\nexports.get = function () {\n\treturn this.x;\n};\nexports.getClosed = function () {\n\treturn exports.x;\n};\n\n"
  },
  {
    "path": "editions/testcommonjs/tiddlers/method/program.js",
    "content": "/*\\\ntitle: method/program.js\ntype: application/javascript\nmodule-type: library\n\nMethod test\n\n\\*/\n\n\nvar test = require(\"test\");\nvar a = require(\"./a\");\nvar foo = a.foo;\ntest.assert(a.foo() == a, \"calling a module member\");\ntest.assert(foo() == (function (){return this;})(), \"members not implicitly bound\");\na.set(10);\ntest.assert(a.get() == 10, \"get and set\");\ntest.print(\"DONE\", \"info\");\n\n"
  },
  {
    "path": "editions/testcommonjs/tiddlers/missing/program.js",
    "content": "/*\\\ntitle: missing/program.js\ntype: application/javascript\nmodule-type: library\n\nMissing test\n\n\\*/\n\n\nvar test = require(\"test\");\ntry {\n\trequire(\"bogus\");\n\ttest.print(\"FAIL require throws error when module missing\", \"fail\");\n} catch (exception) {\n\ttest.print(\"PASS require throws error when module missing\", \"pass\");\n}\ntest.print(\"DONE\", \"info\");\n\n"
  },
  {
    "path": "editions/testcommonjs/tiddlers/monkeys/a.js",
    "content": "/*\\\ntitle: monkeys/a.js\ntype: application/javascript\nmodule-type: library\n\nMonkeys test A\n\n\\*/\n\nrequire(\"./program\").monkey = 10;\n\n\n"
  },
  {
    "path": "editions/testcommonjs/tiddlers/monkeys/program.js",
    "content": "/*\\\ntitle: monkeys/program.js\ntype: application/javascript\nmodule-type: library\n\nMonkeys test\n\n\\*/\n\n\nvoid require(\"./a\");\nvar test = require(\"test\");\ntest.assert(exports.monkey == 10, \"monkeys permitted\");\ntest.print(\"DONE\", \"info\");\n\n"
  },
  {
    "path": "editions/testcommonjs/tiddlers/nested/a/b/c/d.js",
    "content": "/*\\\ntitle: a/b/c/d.js\ntype: application/javascript\nmodule-type: library\n\nNested test\n\n\\*/\n\nexports.foo = function () {\n\treturn 1;\n};\n\n\n"
  },
  {
    "path": "editions/testcommonjs/tiddlers/nested/program.js",
    "content": "/*\\\ntitle: nested/program.js\ntype: application/javascript\nmodule-type: library\n\nNested test\n\n\\*/\n\n\nvar test = require(\"test\");\ntest.assert(require(\"a/b/c/d\").foo() == 1, \"nested module identifier\");\ntest.print(\"DONE\", \"info\");\n\n"
  },
  {
    "path": "editions/testcommonjs/tiddlers/relative/program.js",
    "content": "/*\\\ntitle: relative/program.js\ntype: application/javascript\nmodule-type: library\n\nRelative test\n\n\\*/\n\n\nvar test = require(\"test\");\nvar a = require(\"submodule/a\");\nvar b = require(\"submodule/b\");\ntest.assert(a.foo == b.foo, \"a and b share foo through a relative require\");\ntest.print(\"DONE\", \"info\");\n\n"
  },
  {
    "path": "editions/testcommonjs/tiddlers/relative/submodule/a.js",
    "content": "/*\\\ntitle: submodule/a.js\ntype: application/javascript\nmodule-type: library\n\nRelative test A\n\n\\*/\n\n\n\nexports.foo = require(\"./b\").foo;\n\n"
  },
  {
    "path": "editions/testcommonjs/tiddlers/relative/submodule/b.js",
    "content": "/*\\\ntitle: submodule/b.js\ntype: application/javascript\nmodule-type: library\n\nRelative test B\n\n\\*/\n\nexports.foo = function () {\n};\n\n"
  },
  {
    "path": "editions/testcommonjs/tiddlers/test.js",
    "content": "/*\\\ntitle: test.js\ntype: application/javascript\nmodule-type: library\n\ntesting lib\n\n\\*/\n\n\nexports.assert = function(cond, msg) {\n\tif(!cond) {\n\t\tif(msg) {\n\t\t\tthrow msg;\n\t\t} else {\n\t\t\tthrow \"ASSERT FAILED\";\n\t\t}\n\t}\n};\n\nexports.print = function() {\n\tconsole.log.apply(console, arguments);\n};\n"
  },
  {
    "path": "editions/testcommonjs/tiddlers/transitive/a.js",
    "content": "/*\\\ntitle: transitive/a.js\ntype: application/javascript\nmodule-type: library\n\nTransitive test A\n\n\\*/\n\nexports.foo = require(\"./b\").foo;\n\n"
  },
  {
    "path": "editions/testcommonjs/tiddlers/transitive/b.js",
    "content": "/*\\\ntitle: transitive/b.js\ntype: application/javascript\nmodule-type: library\n\nTransitive test B\n\n\\*/\n\n\n\nexports.foo = require(\"./c\").foo;\n"
  },
  {
    "path": "editions/testcommonjs/tiddlers/transitive/c.js",
    "content": "/*\\\ntitle: transitive/c.js\ntype: application/javascript\nmodule-type: library\n\nTransitive test C\n\n\\*/\n\n\nexports.foo = function () {\n\treturn 1;\n};\n\n"
  },
  {
    "path": "editions/testcommonjs/tiddlers/transitive/program.js",
    "content": "/*\\\ntitle: transitive/program.js\ntype: application/javascript\nmodule-type: library\n\nTransitive test\n\n\\*/\n\nvar test = require(\"test\");\ntest.assert(require(\"./a\").foo() == 1, \"transitive\");\ntest.print(\"DONE\", \"info\");\n\n"
  },
  {
    "path": "editions/testcommonjs/tiddlywiki.info",
    "content": "{\n\t\"description\": \"TiddlyWiki Common-JS tests\",\n\t\"plugins\": [\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\"\n\t]\n}"
  },
  {
    "path": "editions/text-slicer/tiddlers/HelloThere.tid",
    "content": "title: HelloThere\n\nThis edition of ~TiddlyWiki contains tools to help slice up long texts into individual tiddlers.\n\n//''This plugin is under active development, and is subject to change in the future''. It is currently only intended for advanced users. The tools are in the early stages of development, and likely to need some customisation to do what you need.//\n\n! Usage\n\nThe source document must first be marked up as an ordinary wikitext tiddler. Currently only the following formatting is recognised:\n\n* Headings\n* Ordered and unordered lists\n* Paragraphs\n\nTo try it out:\n\n# Click the ''text slicer'' icon on the [[Sample Text]] tiddler below\n# View the tiddler [[Sliced up Sample Text]]\n#* It should match the content of [[Sample Text]]\n#* The table of contents at the top allows the structure to be explored\n# Click the ''Show toolbar'' checkbox to display a simple toolbar for each tiddler\n# Use the text box and the ''rename'' button to rename tiddlers without breaking the tagging links\n\n! Plugin Instructions\n\n{{$:/plugins/tiddlywiki/text-slicer/docs}}\n"
  },
  {
    "path": "editions/text-slicer/tiddlers/Sample Text.tid",
    "content": "title: Sample Text\ntype: text/html\n\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n</head>\n<body>\n\n<h1>Introduction to TiddlyWiki</h1>\n\n<p class=\"intro\">\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. <img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAsCAYAAAAXb/p7AAAAAXNSR0IArs4c6QAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAAZtpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+NDA8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+NDQ8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4K8pZfpAAABpZJREFUWAntWElsU1cUPd92PMVD4sSJ44yETAhKGSqCytCWSqhVpJayYNFNK1EWqGsk2mWlirLqClWtWLCvVFWlVIlKA4ghREATh5Bmnh3HduIpjofv7+/eZ8cQPAQ7MVIWPOn52c/v3nveue++e//nfD5fDNu4cTFq2xgfJNsZHMP2BuBWPfSGwa0yKNuqglT5oGsaoaUpyNSl0JjfAieRpi7J63dBAVrvX4V79A40NXsQXJqBTKlH48ffQqrU5gVq/eKCnUG/bRDOob9Rd/wMGo52oLnjHMJ+B+yW39fby/t7wQC6RruJMTW05Rxi4RFIY7PQmWvgGr9DoDafCwoDkJKRb6Yf2koTINiBqItGJ3SVekRWfQg4xvJmLilQEIB++xAioRXoTCVElkBdpB6F1qihIJHAO/0waS/vsSAAvVMPQEigrWDBEH3eJdIoio1GuKcf5w0sKVAQgJ7pPqjLyiCVMubW9yi5uQxB1wLCPlvSZl7jlgGG3LMIeuzQm0rJMLk3petNWrCCyTvVkxew5OItA/RMknuplVTp6JPYS+mKYgmUOj1c071sWd5tSwCFkA9Lo3dRUlsNRTHd+RQY6V2Aqa0O/oUJrNqH4wBFIZwz0IwFq2/egtn71xCgbEAWsyjjINcYYKivR/UuA9VtK1nW0TSngHMuisXhCYS9DnI5Yzpzk6n1qNr3Kar2fxZfkAYw5FnA5O0raDv5JSSSGBESQVTgn2tjyjmKWIlMRqACiPETQMRK+9iIFcrHsnJA3gKuiEaw/Mw91/niC5uTYr7vNuTaalTs+Qhpudgx1AW5QgouMkTgfCQgxNW9ULL2jXlTJOAirRFDNJmNabaeGBOWackgbUhF2DKBY+voxElUYKnbOvBnZoAivwLnmAVczI6GvZXEFBMsQGMXuBB4hSIOjikPZvrnqRpiQUfEp0pUtB3B4mA37GM2eG3LaGqvhbaMdv2aWyQkYPzRAjw25jWg9uCB+Jh2BpmrPCNXMXq7k9JXhLzBwdxqQN1uIyWLbK6J69r0x9K8D5P/2iGEhbiNur3NqDn2HblbTZ7M8tgpeHox1n0FS7PuuOHiEgWaD5mhKZFvGkiqoMCLmOhbhHMmcQOo9Qq0vv8JNA2f0zlNODcrwLiyKJ1Hy48Yf/gYkTBFLzFYv8eA2jZDqq28f3scQYz0LoIPEmvkpepdZjQcv0Ax0vSSro0Bri3ll7sxcvMXuKyJnVY16dF8oOwlRfn8WLYFMHTPHk+BKk0RWt87CX3LV8RaundyAhg3Lrix+OQyxnufQRBEtHeYoWTZYxPtcdciVj08zC1G7PzgAqSa3Vm15J7qZKUwtf+A1mOH6f6LIeCjOzBjasuU7l6eW/XyqGw0oKXjpw3BMdR5U8DTRcviSqVlEc2ql/ybSisFHyZ5upRf1XJncE2Tdehf6I0KqNSs7mPVc/7dVK/E8pyT8vLsq/Dl927G7xiGz7kE0w4dsRjddK9sIC8QgdaBG4UFaO2/DolUgooaRnx67ZfrnFwhwGDWYf7pLdpk9sqGoc/ZxSJVNLahezDW6SCTBagWoSyT0kWqfOZHA3jW48O4ZRWhAJ+2JiETRnWjnB4DPFieuLchizkHiWP4H7pUgzA3MPf605R6l0QM9vAI+ili4y2CueEwmvbJUduSbqbMxKNIKcdc33WUNx1P05ecyJnBOctfVDUrUGoMkiwDkeiiKGDMEsajmwEE/AJl8hj0FfS4SSWfEBUx/CSEJ91BYpNF/As5DmFUNWrgnBxAeMWRxJM25gQw5LXBNTsCc6OaopYK07X7z++JorcrgqlnEYh0lBQqKQ6ePo/2s7/h3S8uQ1deTGwDy4tRPLgRgm2SRTyBjPcIzDs4iLQJVvtlazkB9FgtdDmLFByMgUj8YE//F8XDTh4rLmY0RpFdiSPnrqG89XTcVnHlfhw++yua2w+BFUECH8NTOgL9dyPgQwkmi7V+Kj6UcM8NZMOX20VdpCQmSIV1wg9TTQyjA1G4HYkKWlbEYfeJUzC/83WaEU5ShJ0ffg9j230M/HGJNhOCfU6E2xnDrgMcpDIeqz6R3uEo0mSTEznlYnYV9Fw9A489UXolhQ30qPn2qUtQlbUlp7KOohDEaNdFTPVT2b/u6UAq5XCYjoPefDCjbE4AmWQk4MRw50XYJ2dRRM8s9fuOov7oN1Qq5feC0j3VidFbPxOb5N5SDVpPnEfpjpMZwbHJnAFm1fCa/8gpSF4zhg3Vb3uA/wMFnzeVrL899gAAAABJRU5ErkJggg==\"/>Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n</p>\n\n<h2>What is TiddlyWiki used for?<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAdQAAAHACAIAAACUAg62AAAMRGlDQ1BJQ0MgUHJvZmlsZQAASA2tV2dYU0kXPrckgZCEEoiAlNCbKL1K74KCVGEthCSQUGIIBBW76+IKrgUVC1Z0VcS2ugKyFkTsLordtXyoi4KyLhZsqHxzQ3G/fXb/ffM8M/e975w59z1n5s4zA6BpK5DLc3EtgDxZoSI+Ipg/ITWNz3gAGOCgCe7gIRAWyIPi4mLgX8vbm8galWuOlK9/NfvnDm2RuEAIgMWh7gxRgTAP4Z8BSI5QrigEoDUj3mJaoZzCHQjrKpBAhD9ROEuF6Ug96Gb0Y0uVTWJ8CADdC0CNJRAosgA4oYjnFwmzkB+OCGEnmUgqQ3gVwv5CiQBxnOsIj8jLm4qwJoJgm/EXP1l/wQJBxpBPgSBrCPfHQg0FtVBpgTxXMEP18v9s8nKVKF+qYoZalkQRGY+euihvG3KmRlOYhfABWca4WIR1ED4qpSLuxy0SZWQSwpR9m7AgBOUSeAi/EQlCoxE2AsCZypykoAFsLVAgpLLHg6WFUYkDOFkxNX7AP54tyx1HrQ/kB58lEUcN4nJxQVgC4pEGPDtTGh6FMJorfFexJDEFYaQTry+SJo9DmINwc0FOAqWB8nO1WBJC8SobhTKe0myJ+I5MRTgVI7IhWHkFCKn8E+ZCgepb+oh3K5QkRiIejSViROLQMITRd4kJYlnSgB5CIi8MpvxQ9sXyXNX6RjqJcnFuBMWbI7y9oChhcOyZQkUixaO8ETezBWOo9Yo0E8/khXFUTig97yEGQiAU+KBENQOmQjZIW7rqutBbf084CEABWSAGxwFmcESKqkeG2gQohj9AhmwKhsYFq3rFUIT4z0Ns/1hHyFT1FqlG5MAT9IU80pD0J33JGNQGoupCepHeg+P4moM66WH0UHokPZxuN8iAEKnORVUB0n/golGfGEWnQK1sMIav/mhPaK20R7QbtDbaHUiG31VeBiKdIl2gGFQw5HkstCFv/VkRo4zJoHPQhrRGqt3JYNIP6UfaSR5pCI6kG4okiAxAsbkjdjB7lGrlkLavuRzM+6AdpZr/lxgHeI49x31ARcZgVGgmBzPxdy9fe6QgQlbRf7ckvicOEWeJk8R54ihRB3ziBFFPXCKOUXhAc7gqO1lDX4tXZTQHxSAdtHGqcep0+jT4NhSrADGUAmoO0PovFE8vROsPQqbKZyikWZJCfhDahcX8KJlw5Ai+i5OzGwC1p1M2AK95qr0a4134yuU3AniXoj2A2k75lBWAwALgyBMA7tuvnMUr9EstBzh2RahUFPXbkdSDBky0YeqCAZiABdiimFzAA3whEMJgDMRCIqTCZJR1CeQh1dNgFsyHEiiD5bAa1sNm2Aa7YC8chDo4CifhDFyEK3AD7qK10Q7PoRveQi+GYQyMjXExA8wUs8IcMBfMC/PHwrAYLB5LxdKxLEyGKbFZ2LdYGVaOrce2YtXYT9gR7CR2HmvF7mAPsU7sFfYRJ3AWrosb49b4KNwLD8Kj8UR8Ep6F5+PF+EJ8Kb4Wr8L34LX4SfwifgNvw5/jPQQQGgSPMCMcCS8ihIgl0ohMQkHMIUqJCqKK2Ec0oLm+RrQRXcQHkk5yST7piNZnJJlECsl8cg65hFxP7iJryWbyGvmQ7Ca/0Ng0I5oDzYcWRZtAy6JNo5XQKmg7aIdpp9G/0057S6fTeXQbuif6N1Pp2fSZ9CX0jfT99EZ6K/0xvYfBYBgwHBh+jFiGgFHIKGGsY+xhnGBcZbQz3qtpqJmquaiFq6WpydQWqFWo7VY7rnZV7alar7qWupW6j3qsukh9hvoy9e3qDeqX1dvVe5naTBumHzORmc2cz1zL3Mc8zbzHfK2hoWGu4a0xXkOqMU9jrcYBjXMaDzU+sHRY9qwQ1kSWkrWUtZPVyLrDes1ms63Zgew0diF7KbuafYr9gP2ew+WM5ERxRJy5nEpOLecq54WmuqaVZpDmZM1izQrNQ5qXNbu01LWstUK0BFpztCq1jmjd0urR5mo7a8dq52kv0d6tfV67Q4ehY60TpiPSWaizTeeUzmMuwbXghnCF3G+527mnue26dF0b3SjdbN0y3b26Lbrdejp6bnrJetP1KvWO6bXxCJ41L4qXy1vGO8i7yfs4zHhY0DDxsMXD9g27Ouyd/nD9QH2xfqn+fv0b+h8N+AZhBjkGKwzqDO4bkob2huMNpxluMjxt2DVcd7jvcOHw0uEHh/9mhBvZG8UbzTTaZnTJqMfYxDjCWG68zviUcZcJzyTQJNtklclxk05Trqm/qdR0lekJ02d8PX4QP5e/lt/M7zYzMos0U5ptNWsx6zW3MU8yX2C+3/y+BdPCyyLTYpVFk0W3panlWMtZljWWv1mpW3lZSazWWJ21emdtY51ivci6zrrDRt8myqbYpsbmni3bNsA237bK9rod3c7LLsduo90Ve9ze3V5iX2l/2QF38HCQOmx0aB1BG+E9QjaiasQtR5ZjkGORY43jw5G8kTEjF4ysG/lilOWotFErRp0d9cXJ3SnXabvTXWcd5zHOC5wbnF+52LsIXSpdrruyXcNd57rWu750c3ATu21yu+3OdR/rvsi9yf2zh6eHwmOfR6enpWe65wbPW166XnFeS7zOedO8g73neh/1/uDj4VPoc9DnT19H3xzf3b4do21Gi0dvH/3Yz9xP4LfVr82f75/uv8W/LcAsQBBQFfAo0CJQFLgj8GmQXVB20J6gF8FOwYrgw8HvQnxCZoc0hhKhEaGloS1hOmFJYevDHoSbh2eF14R3R7hHzIxojKRFRkeuiLwVZRwljKqO6h7jOWb2mOZoVnRC9ProRzH2MYqYhrH42DFjV469N85qnGxcXSzERsWujL0fZxOXH/fLePr4uPGV45/EO8fPij+bwE2YkrA74W1icOKyxLtJtknKpKZkzeSJydXJ71JCU8pT2iaMmjB7wsVUw1Rpan0aIy05bUdazzdh36z+pn2i+8SSiTcn2UyaPun8ZMPJuZOPTdGcIphyKJ2WnpK+O/2TIFZQJejJiMrYkNEtDBGuET4XBYpWiTrFfuJy8dNMv8zyzI4sv6yVWZ2SAEmFpEsaIl0vfZkdmb05+11ObM7OnL7clNz9eWp56XlHZDqyHFnzVJOp06e2yh3kJfK2fJ/81fndimjFjgKsYFJBfaEuOjxfUtoqv1M+LPIvqix6Py152qHp2tNl0y/NsJ+xeMbT4vDiH2eSM4Uzm2aZzZo/6+HsoNlb52BzMuY0zbWYu3Bu+7yIebvmM+fnzP91gdOC8gVvvk35tmGh8cJ5Cx9/F/FdTQmnRFFya5Hvos3fk99Lv29Z7Lp43eIvpaLSC2VOZRVln5YIl1z4wfmHtT/0Lc1c2rLMY9mm5fTlsuU3VwSs2FWuXV5c/njl2JW1q/irSle9WT1l9fkKt4rNa5hrlGva1sasrV9nuW75uk/rJetvVAZX7t9gtGHxhncbRRuvbgrctG+z8eayzR+3SLfc3hqxtbbKuqpiG31b0bYn25O3n/3R68fqHYY7ynZ83inb2bYrfldztWd19W6j3ctq8BplTeeeiXuu7A3dW7/Pcd/W/bz9ZQfggPLAs5/Sf7p5MPpg0yGvQ/t+tvp5w2Hu4dJarHZGbXedpK6tPrW+9ciYI00Nvg2Hfxn5y86jZkcrj+kdW3aceXzh8b4TxSd6GuWNXSezTj5umtJ099SEU9ebxze3nI4+fe5M+JlTZ4POnjjnd+7oeZ/zRy54Xai76HGx9pL7pcO/uv96uMWjpfay5+X6K95XGlpHtx6/GnD15LXQa2euR12/eGPcjdabSTdv35p4q+226HbHndw7L38r+q337rx7tHul97XuVzwwelD1H7v/7G/zaDv2MPThpUcJj+4+Fj5+/nvB75/aFz5hP6l4avq0usOl42hneOeVZ988a38uf97bVfKH9h8bXti++PnPwD8vdU/obn+peNn3aslrg9c737i9aeqJ63nwNu9t77vS9wbvd33w+nD2Y8rHp73TPjE+rf1s97nhS/SXe315fX1ygUKgOgsQqMUzMwFe7QRgp6KzwxUAJqf/zqWywPrviQhjA5Wi/4b772VUBzpDwM5AgKR5ADGNAJtQtUKYhZ7U8TsxEHBX16GKGKoUZLq6qADGUqCjyfu+vtfGAIwGgM+Kvr7ejX19n7ejs/odgMb8/rseZU3dIbegMz/ArxaLqMf/lP8C5GVpxDMtwuYAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAGdaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA1LjQuMCI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjQ2ODwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj40NDg8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KWq2+gAAAQABJREFUeAHtnQeYHMWZ/jfnnJM2SdqVVhHlLCSyRDZHBp+NAZ/B5zMH9vl/DuAExncOPBiMwSYZg8MZk6MBgVAECZSzVmG1q805h/8722zT292Tu6t7Zt555pmtrq6qr+rXs+9UV39VFX7bbbeFjb6GhoaioqLwGTH6QkCKlz7Dw8Plw5GREYQjIyOlNNIphKUY5EZgcHBQziInwKnh4WGclYuSAohBPIpFAsSgKDmvlAWnpBgpgLCcXqoMckkJEI9W4FPKKBvCWaTECwHZilRhKaOUUkqAT+lQyoUC+/v7kQuHUpMRxgtWpASSdckowlIhCEiJYUUqEImRS4qUMiIehQ8MDEjkESkVJZWAT5QpZZcQIYFkVE4mVQNlaq1IeZESL6luUl7JtGRLMoQECOBTinRkGMsiWZQOYUIyNHr+szSyXSkS6aUq4QuAU4hEAK1DpJQAJchpZKOIRBpUDy8pl/KUZEL6REqpKMkKypRSIoAEyI6AXGcppZwAZ6VcSIAXUkoxCOAl1UEqH8kQkOKlTym9FJYKhDkpjXQKYSkGeRHg919Cik/QkK+mDBbQEIlXKH//I+fPnw8E0rdW+m7Jn4hUfucQBjsklhNIAcRIKHGIBHgpMwI94qVyEI/EeCGNFCl9ZSXrUhhKJCXG1xdp5O83AkiG0pAXCaR4qSh8SlmQHmF8Kl9IKWVBpFQxpMELWZSfOIWXVHm5zkggxUh58SkVJWVEMrl6crxkGl8pVeEwh/IliUEaHEox+JSyIL0cQDI0XyphNOHnvxxIA6NSLnwqOaAOeEncpLZIBeqakG1JBUZHRyOLVAd84oVDNBCfckqpJtIhPiUTiJQSS2dRH8QjLFVGSoPESCNlkbJLh1IWhJFY+pQDcgKpBOkQeSVzcoGIl2LkeKl8fCKjnAwByZZ8VpkehUiJ5bNSAJFIJkciLFVPjpECch1wKLdazih/l3AWBSIxXkiGQ6QBLhmyFOb3H3xC5fuPpkrfIX6SAAmQAAkII/DZzaAwezREAiRAAiQAAhRffg1IgARIwAICFF8LoNMkCZAACVB8+R0gARIgAQsIUHwtgE6TJEACJEDx5XeABEiABCwgQPG1ADpNkgAJkADFl98BEiABErCAAMXXAug0SQIkQAIUX34HSIAESMACAhRfC6DTJAmQAAlQfPkdIAESIAELCFB8LYBOkyRAAiRA8eV3gARIgAQsIEDxtQA6TZIACZAAxZffARIgARKwgADF1wLoNEkCJEACFF9+B0iABEjAAgIUXwug0yQJkAAJUHz5HSABEiABCwhQfC2ATpMkQAIkQPHld4AESIAELCBA8bUAOk2SAAmQAMWX3wESIAESsIAAxdcC6DRJAiRAAhRffgdIgARIwAICFF8LoNMkCZAACVB8+R0gARIgAQsIUHwtgE6TJEACJEDx5XeABEiABCwgQPG1ADpNkgAJkADFl98BEiABErCAAMXXAug0SQIkQAIUX34HSIAESMACAhRfC6DTJAmQAAlQfPkdIAESIAELCFB8LYBOkyRAAiRA8eV3gARIgAQsIEDxtQA6TZIACZAAxZffARIgARKwgADF1wLoNEkCJEACFF9+B0iABEjAAgIUXwug0yQJkAAJUHz5HSABEiABCwhQfC2ATpMkQAIkQPHld4AESIAELCBA8bUAOk2SAAmQQJSdETQ2Nvb09BQVFYWHh9u5nqwbCQQQgdOnT//ud787derUypUrL7744oSEhACqfDBV1aY935GRkZ/97GcFBQXFxcVr1qzp6+sLJuhsCwlYQqCrq+uOO+4oKSn5/ve//9vf/vaaa67Bv9jdd9/d0dFhSX1C3Gg4ZM6GCJ555pnrr79erhi+KLfeeqt8yAAJkIBXBPBvvm3btuuuu27//v3ajGVlZX/4wx/QEeYtphaOeTF27Pk2NTV94xvfULZ53bp1ykOGSYAEPCcA5X3//fdXr16tq7wo5+jRo2efffYvf/nL4eFhz4tlSj8J2FF8f/rTn0J/lQ2rr69XHjJMAiTgOYFNmzZh7K69vd1FlqGhof8cfSHgIlmgn8Kvy8DAAMa77dAQ24kvdPbhhx9WoYmKsvWDQVVteUgC9iGAx2tXXXVVd3e3J1X61a9+9a1vfSso9Rey29/f/7e//Q1j3BkZGZ7QMDuN7cT3kUcegYeDqtnZ2dmqGB6SAAm4JQDFuemmm06cOOE2pZzgF7/4BW49g0l/pd7u888/v2jRIgxg/vCHP4yLi5Pba2HAXuILrwY8W9PiwPNZbSRjSIAEXBN48cUXX3nlFddptGfhC/H4449Ds7SnAitG6u2+9dZbS5YsQfd/+fLlv/nNbyIjI23SCnuJ71//+lfd4Zjp06fbhBerQQKBQqC3t/fOO+/0rba33377hg0b7OkK5UmLUHMMMmzevHnt2rXnn38+PD3gPYUnip7kFZbGRuILXvhd0rYc7i9z5szRxjOGBEjABYE//vGPhw8fdpHAxSncg6Kr6NV4hYvSRJ6SZHfnzp3XXnvt0qVL3377bQjIWWed9eijj0ZE2EjuwMRGfr579+6tqqrSXqe0tLTm5mZ6IGrJMIYEnBEYHBycOXMm/qecJfAkfsWKFW+88YZNRkjdVliS3WPHjt1777344QEBKUtpaSn8PXJzc92WIDiBjX4Knn76ad3Gz58/n8qrS4aRJOCMwJtvvumn8qJkeAf/+Mc/tv/DN8guuurop991112zZs164oknZOWNjY2FsNhQeYHXLi5cuMDPPvus7jcJ4qsbz0gSIAFdAhCjp556SveUt5H33XcfnlOde+659uwASb3dhoaGBx988KGHHlLNk8Y4w9e//vVly5Z522ox6e0y7AAXkDPPPFO3zX/+85+vvPJK3VOMJAES0BJoaWkpLCzUumxqU3oSg6K2bNmCVSA8SSwsjdTbheziQRFmBuhOIZk8efL27dsTExOF1corQ3bp+cILz1m9p02b5uwU40mABLQEXnjhBaOUF4XX1NR87Wtf+8tf/hITE6O1JT4GDmQYZMBsLHR14ZmqK7uoFVzK7r//ftsqL2poizFf0Hz99dd1ryLmtuHnS/cUI0mABHQJvPTSS7rxPkdCzSFzlg/+YiQXC7Pt2LHjm9/8Jh7OQ1udKS9aiikVl1xyic9NFpDRFsMOhw4dcqawWG/pyJEjAkDQBAkEBwG49+bl5bW1tRnbnPj4+HfffXfGjBlysRgFll7oY2J0FS/5lLEBaWAXvV347WJsF9NG3P4MoErw04CHmbE1MbY0Www7vPrqq85aVV5e7uwU40mABLQE1q9fb7jywgrGMa6++mosfgYpxCs6Ojo1NTUlJSU9PR3bHUyYMAGDwnAtgOrhblX69F+O0dWF5qI5f//735988smPPvpI217dmLlz59pceVFtW4jve++9p0sQkbiuzk4xngRIQEsA/VNtpCEx1dXVjz32mLOiILi4T506deqUKVPg7wX5g4MXhBgyjRfOOsuojcfCY5ifhtfGjRsx1vyPf/zDq58T9Mfh5KAt1m4x1osvBny3bt3qjAtuoJydYjwJkICKAPqkLroyqsTGHmIoAOOHeMkjzugOL1y4EOsqYKbZpEmT8LwOKoxPiKPWNLJLmouuLpwrMLbw8ssv+zbFDqJ/xRVXaE3YLcZ68cWz1JMnTzrjYpPF35xVj/EkYCsCnZ2dnt+bm11zSCdeWMURhuCvhnGAVatWYdYcRiogwXhBcDGwgBdkF492MA8NvxyY2YEZrf7UDcobELPyrBdf/Mq5AI1hfhdneYoESEBJ4OOPP8bdujLGJmH0sTDvAy90fhcsWAAVxicisbnGnj17UG3V/gk+VxsDzViVwufsIjNaL75wHHHRYIqvCzg8RQIqAug8qmLsdohO7oejL5Mqhi42BjpMKtzYYs3yDvG8lgcPHnSROCBuH1zUn6dIQCQB+4uv2TTOOecc/70szK6kVL714osRehdNxU2Ki7M8RQIkIBPAs2v7DPjKtRIcwDIUgi36bM76YQfXcygMnCXpgtH139vp4ixPkUBAEOjpbMAoakBU1aRKwqFt5cqVJhVueLEW93zxW+16oN0r/z7D6bBAEgggAs21ewKotmZUtbi4OICcUy0WX0yFdH0NXMzddp2RZ0kg1Ag01+0LtSar2gsPClWMnQ/tLr5YHM/O+Fg3ErAPgZY6v/atsE9DfK5JYO03ZrH4YjaLa9CY0eg6Ac+SAAmMEhhpqT8Q4igwuTmACFgsvpgN6RoWfLBdJ+BZEiABEBjo6+pqPRXiKCorKwOIgMXiqzvLW4nv6NGj8MpWxjBMAiSgJdBaf3BkZFgbHzoxWMQHe2UGUHstFl+37tBwNfN5++sAugysKgn4SQDi62cJgZ49JycH60UEUCssFl/8WLmFhYU23KZhAhIIcQIc8LXbLnNuv5AWi68nOyz985//dNsMJiCBECfQejrUn7bl5+cH1nfAYvHF0g1u7xQ++OADt04RgQWdtSUBYwmMDA+1NYb6bltpaWnGUjW7NIvFF83DyseuG1lbW8sZ664R8WyIE+juON3f2x7iELCtUWARsF58Pdml7fHHH3frlBZY3FlbEjCQAJ+2AWZycrKBSAUUZb34KvdDddbg559/nlPdnMEREo/72oHBgd6B/i70sPq6W3u7mkffTb1djndfd0t/T1t/b8dAX+fgQA8Sh7jbk5CL8rmRlpB3dQCLgFt+1r2zwedX2JzQzJkz3RaMbUWwj95Xv/pVtymZwG8CDp0dGuwfHhpEwPEeHhwa7O1uP90LhYW89rbjc3Cg2zE/ZsyxNDI6Nio6ISoG7/iYuJT4xMzYxIzomITwcGxmGxMRGT36jkE4PNz633u/EdmuAD5twyUJuOVnrRff2bNnY6qF21GFX//619dcc03ADevY7t9UUyF0UYcG+4YG+qCw0Fz0W7vaTnW2nOxqr+t2vE/js6ez0YeeLLQ4PikrMSUvMbUgMTU/Ma0wOX1CbEI6JDgyKlZ6Q5Q1NWKE1wQ47ABkXm2Q7DViEzJYL77o+WJDPbdb5u3bt+/pp5++7bbb3E6KM4FSsBUJJR3s7x7s74HU9vW04kF5WwPehzpajne21kCNDWkwTHQ0H8dbWRrENyWzVHqnZU9KTCuIjIqLio6LjMZnPPvFSlYehjEc1NFywsPEQZwM69MGVuusF9/Y2Nhly5a9+OKLbsH94he/uOyyy7BHk9uUTKBLAD1cjMliEQCsut10aldz3V6sAAtx9KFXq1u+J5EYHW7A+8R2KXFMXHJq9iSocFpORXpuBaQZEoyxC/SaIyKs/3J60iLL07Q3HhkesuOmmYLJYBdkwRb9NGeL7zd2/vBEfLHOw09+8pP//d//5a6aXl11/Gf29bQP9HW0nD5Qf/yj+uPb0ckVKbguaovhYwixpMXo9ialF6XnTknPm5KZV5WQmgchxsCxQ4g5OuEcYsvpUF/GV2ITcIvA2EJ8L7jgAuipJzsGPfroo+edd95FF13kdlEI59/V0DkzAmmDZ0Jrw6Hawx+eOvKhzVe9wu+BNExxfO+buEgJKbkZeVMz8qvwTkothARTiHW/u/hN1Y0PtUhPBMRWTGwhvnD1Xbhw4XvvvecWDe4s7rzzzkmTJk2bNs1t4pBNABXD3X13Rz009/jetzC8EIgoRp/1nT554D1UPj45OyOvKrNgemZ+FR7fYVwiOiYxEHrEeJA8Eiavm4rnFeHhYWF4G/lqOc1lVx08Ozo6jMRqflm2EF8089prr123bp1bnwekxG7Ht99++1NPPTVhwgTz+QSeBfjhov94dOdLR3e9Ct/bwGuAXo17OhpqOtbVHFyHkxDizPxpjh5x3tRRIf6sRwwnCsN1Ta8ujjg8k4QHHt4jcMgbHpIOHZ8jCA+ODA+PIIDfQIevnsNjTyonIjIKPh4Yyw6PiIATHj5Hw1GIx7hKZGRMBNzyvBzpRh1wZ+OsniEVH3Di697HS8z1a2homD59en19vYfmbrzxxvvuu8+opTSCY/di/JN3tdUe3/fW3k1PoefrIcmAThaXmAkJTs+tTMutSM4odnSH8bxu1HfCHy3+XEyhsA55hZ5+HhgaGhjo7YSXCH7bRj/b+/vg/twx+tnp+OzrGhrohSeJ7sA6dHZ0CCURoygx8al4xhgbnxqfnJOQnAu3vNjEUVc8hxDDddrhBxIR6WqZRPzQvvjQhQF9EY2q/Jo1a1555RWjShNQjl16vtnZ2ddffz38GTxsM3q+GCb+7ne/W1RU5GGW4E4GFWg6tXvX+t/JjgTB3V6pdZhcd+rwerxxCJ1KzZqYklUm+bElpOQ7lAs+xRHR4RHoZkaOOSnirv+z0QBH/3Ssl4rwaB/WIbLwCcFwOe4hJHntg8h2t0pqOzrTpB3q7DNe/EY6ZgM6uSlB1xiD3ZJzNBqSnFmalFow6ofncMXTjrRwx2L5QjQ2NsrhgAjYRXwB6+abb37sscc83674kUcewRD73XffjeXrx/6vAoK5wZVE96qrtQaDDHs3PoHpvwaXHjjFwd21qXY33lKV4TuBAYrElHx0LWPikqJjkyIiosNGh1xHNXdoaKjf0T+Fv/MA/J0R6Bno7+x3uIV06vZYxZCAO6D01FE2h+58cmZJSmZZalYZ+vgJKXmIiY51DHlDqZtCfrt4GRTFV0bhdWDKlClf+MIXsIaO5znR/8WaD/fcc09VVRX8hT3PGDQpobaYWrrzg9/WHtkYNI0ypCEQUOmRnSGlWVgILjG6t3IPF5MG0+EEkgeHvKnJaUVNtbssrJutTHveb7NJte0y5ivhwDS25cuXe/sLBtW+//77Fy9enJWV5RvWwBzzHYG4nDq0fsf7D2H6r28NZ66AJhCbkIYOOzrLAd0KoyqPVc0CS3/ttcoJZPTLX/6ytz68kOwbbrjhoYce2rt3b4gsu47/N3h37lj30JbXfkzlNeq/N+DKwUg0lVe+av39ATbNz149X3DE0umrV6+GnspMPQ8sWbLk29/+9hlnnIHdnLxaZSOwer7wu6o/sQ1DDW0Nhz2Hw5QkENwEsKpZYOmv7cQX34/nnnsOD986Ozt9+K7ABeLqq6+G40RlZWVeXp6HEhwo4otnQVhC5cinLx7c9ldO5/fh68EsQUwASx62trYGUAPtKL5YnQhuvJBgPJD2DSUuA/T38ssvhyMEesFuV1m2ufjiibxjonBPS/3xjw9sfa69+ZhvWJiLBIKYAGZdHT8+bgk9mzfWjuILZMeOHbv00ks/+eQTf/Bha+S1a9dCguELkZOTg8dxzjrC9hPfkYH+bvjqYzUcOD+1NR5trttzunpre9NRf4AwLwkEMQHsibNjx44AaqBNxRcE33zzzS9+8Yt1dXV+0sTjuzlz5px99tkrV67Eb2PG6Evll2YH8cWTk1FXUwhuJ6ZLtTdVY9oopu231O0LZe9dP68+s4cOgXPOOQeiEUDtta/4AiIcyO69916jxnEwHo/lexYtWjR//vyysjJsNJ0y+sIwsXjxhReqw7cfy5lLTv793diAFoLb3ni0rekoPvkUO4D+i1hVOxD4yle+glUP7VATD+tgoxlu2hrfcccdGMTBtIvu7m7tWW9jsNzn+tEXMpaUlGD7IiyNNnXqVIwLt5yujXSsCeB4j25yY+ASLVh6BfuhYVc07NMz+h7og+xiBYDutjpsG9HZehLP0LBtDzq83raI6UmABGQC+KeWwwERsHXPFwSxUtEtt9yC3YvNc+BF9zcy3rHJWFIaPgvikrLiHPuMOTYZw3JT4RFRWGgKb6xBFRaOxagcb8Wldaxd5ViMDZ94UIgVWKQlAoYGsfzKqOb2YtC2t7upp9Oxyy98ch3TrjpOO5varyiZQRIgAS8IPPvss/B08iKD1UntLr7gc/r06VtvvfX11183T381VyEcc4cgwVgQIBrLAmAqfUyiY4kWxy682It33O3CqMJii98BbIuGLi2ekmFn34G+7v6+9v7uNg7XatgyggRMIbBr164AW+bbsb6T7V81NTVwfnDrMWbKJWWhJEACtieQkJCAZbZsr2TjKqi8g7YvYPjqYvYw/MaSkpLsW0vWjARIwCICWJkg4DpngSG+uKBYN/3hhx++8sorMzMzLbq+NEsCJGBTAnBksmnNnFcrYMQXTcCC6w888MBNN91UXFzsvEU8QwIkEHIEsKhh4LV53CBEIBzAY+zBBx+cNWuWs+lqgXcNWGMSIAE/CERFRe3fvz8Q1GtcHUc3VBkXExgH77zzDiatwUvMj0vGrCRAAsFAAHOmsK95YCiXopaBNOyg/JqsWrXq97//PVbPwTbyobyHkJIJwyQQmgSgBgF5H6wQ4sALYgjiySefXLFiBbvAoflfx1aTAAhgekXgidfISABMsnD79Tpw4ABGgd99912M+0CO3aZnAhIggaAhgMULsfdCIO5iHgzii68RJva+9tprWAVi27ZtWI4Sh0Hz3WJDSIAEXBBYunQplmxxkcC2pyKx9bptK+d5xTDsW1FRcd5556Wnp2PoHRORsSiE59mZkgRIIEAJ3HbbbcuWLQvEygdJz1eJHmtBYBeMV155BcMRJ06cYC9YCYdhEggmAjExMVu3bp05c2YgNioIxVe6DFgO4oUXXnjjjTcwHlRdXR1YO+sF4jeJdSYB8QSmT5+O/W4C0tUhLCxIhh20Vx3+D1g0/fzzz8e8ZCy6ga0rMBZhyLrAWluMIQESsIQA1js866yzLDHtv9Gg7fkq0cAFYvPmzW+99daWLVswEIFXe3u7MgHDJEACAUcAPaoPP/xw7ty5AVdzqcIhIb7ytcFwMB6M4oLt3r0b4xK1tbXNzc3yWQZIgAQCiMCCBQs2bNgQoGMO4Bxa4it/sbA7EXrB27dvhwpDgncfONnX1YKl0OUEDJAACdiZABycsGMbltmycyVd1y1ExVeG0tbWhgH7u+57q73pSGfrqb7uFmzw09fb3t/bPjI8JCczIRAeE5cUE5cSHZccG+dYoaKueosJVlgkCQQnAexEDqf+rKyswG3euB1xArcZPtc8NTUVW8pXvJ2BEvq6W9ubjna0nOxqPYmtLXE40N+JbYGwFRA+hwZ6sQMmdmzzwZZjF7ioGOzOGR2bCMGNiUuOiU9NTMGucYWJaYXYOw7mKL4+gGWWkCVwww03BLTy4sKFuvgqv7vYty074YzsCWeMRo5gs8uejoaeTrwb8enoEfe0Y2hiaKDHsW/b6P6Yjh0zMZtudA9N6DK2d4uIjI507POG3d7kd1RUdAJkNzY+LSE5JwE7daY69usMj4iUrdcf3y6HGSABEnBNAEt7f+lLX3Kdxv5nKb7OrlF4fFI23uNPj6ALjN2IIcGOd3/34GAvhBj6izEKCHFUdBx0NiomPiomITomYXQ7+jiEx294PL7I0aOBPs7H08HCKBLQJXDFFVdgOUPdUwEUSfH16mKFO/YzjjV+HzkouFf1YGISCFkCOTk5X/va14Kg+YG6nm8QoFc2AQviKQ8ZJgEScEYAGzliYpuzswEUT/G1xcWKjIq2RT1YCRKwNwEsHYmVdOxdR09rR/H1lJSp6SKj4k0tn4WTQBAQgG/vV77yFewSHwRtQRMovra4jjHx3IzOFheClbAzAYw23HLLLXauoVd1o/h6hcusxPFJAewrbhYUlksCCgLYseKuu+7COlmKuMAOUnxtcf0SknNtUQ9WggTsSuCCCy7Aoza71s6XelF8faFmeJ745OzIqFjDi2WBJBAcBCZOnPid73wHy5gFR3OkVlB8bXE1MfMYU41tURVWggRsRgDrcX/zm9+cM2eOzerlb3Uovv4SNCp/Wm6FUUWxHBIIGgLwcLjsssuCYDKx9opQfLVMrInJKpxljWFaJQEbE8Civd/73vfQ+bVxHX2sGsXXR3CGZ8spxl1VuOHFskASCFwCpaWl3//+9ysrKwO3CS5qTvF1AUfoqdSs8oRk1To+QitAYyRgKwJYMfKOO+6Ak4OtamVgZSi+BsL0qyh4O+SVLfKrCGYmgWAhkJycjM0x8cKYb7C0Sd0Oiq+aiIXHE6aczZEHC/nTtE0IJCUlffnLX77zzjtjYmJsUiUzqkHxNYOqj2Vi2BeLrPuYmdlIICgIoM8L3wY8ZEtLSwuKBjltBMXXKRrxJ7DD0ITK1eLt0iIJ+EMAW7Rg3xZ/SpDzYosKDDVAeTMzM+XIYA1QfO11ZctmXBgdk2ivOrE2JOCSQE7JvPKZF2FnQpep3J+cPHnyN77xDSgvJNh96sBPwZ0s7HUN0/Om5JUvPrHvbXtVi7UhAecE8ssWTZhyVlxi1tGdL3e1nXKe0OmZ6OjoFStW3HjjjVdddVWQzSF22mZuoOkCjSWnsNtb5fxrao9swAZxllSARknAWwLpeVPjEjOnL7sZ+8Me3fVK48lPvdrkG7uxnXvuudddd92SJUu8NR3Q6dnztd3lw/bJBROXHd/7pu1qxgqRgIYAHlSkZpcjGr6Sk+f+S3JGMfT3dPWWrrZaTdpxEfAhw3I58+fPh/JeeumlQf94bVzjRw8ovlomFsdERERVLf7X+uMf9XY1W1wVmicBdwSyCmcqnlKEw1c9NXviyQPv1R//uLX+EEYhBvo6lWXEx8djB8zy8vKKiopFixatWrWqpKREmSB0whRfO17rzIJp5TMv2bPxibAwbqxpxwvEOskEiipXyWEpEJ+UPXnOv+DurenUro7mYz2djYMDPSPDQxhSi4yOvXpNZWFhYVVVFbalCMHerpIVxVdJwz7h8Mr516Lz21iz0z51Yk1IQEUgOjapoHypKlI6hMe65LQ+NNiHBxjDo+IbFR13zz0LddOHYCRdzWx60RNScqctvRnPMWxaP1aLBMLCcornJqYVuCaBseDYhHRslBWXmBEVE4SLk7luvouzFF8XcCw+VThpecXcKyMig3mGpcWIad4PAhhGmHTG5X4UEOpZKb72/QZgiKxi/jXFU8/mgg/2vUghXLO0nIrc0gUhDMDfplN8/SVoan5M3Jy+7Jb8cq52ZipmFu4LgclzrlD4OfhSQojnofja/QuAdX5nrPg3OPTYvaKsXygRwJaDmNUWSi02vq0UX+OZGl5idtHsmSu+llU4w/CSWSAJ+EagfNYlfBrsGzo5F13NZBS2DuRPXDISNrzrg981nPzE1hVl5UKAQGJqQfmMi0OgoeY2keJrLl8DS4fXenh45L7NT506vIGTLwwEy6K8JYBur1sPM2/LDMH0FN9Auuj55YuxcF9MfOqJff+E73ogVZ11DRYC6PZOnHlJsLTGynZwzNdK+j7YziyYjvHfygXXwWvdh+zMQgL+EQjH6jns9vrH8LPc7PkaglFoIVg4atqSLyem5FXvfq3hBIaAuf6DUP6hbExadSSUCRjYdvZ8DYQpriis4zd57pUzV/xb6fQ14qzSUmgTiE2A1/nNvOUy6ltA8TWKpOhyMLkTy/dhEwHRhmkvJAlgpdOKedcUTFoekq03pdEUX1OwCiu0rnqzMFs0FLIE8EtfOmNtxdyrIMEhC8HwhlN8DUcqrsDu9tOnDn8ozh4thSiB8KLK1dMda+xlhCgAc5rN3zFzuAop9cT+t/u6W4SYopGQJRCOpZ2wwAge84YsApMaTvE1CazpxWKB6sOf/MN0MzQQwgSwrl7ptAuqFn8pLWdyCGMwq+kUX7PIml0uRntb6w+abYXlhywBrFg2cfalk+delZJZGrIQTG04xddUvGYVPjw0cOCjP3u1QbdZVWG5wUgA0ygmn3EFphFjQ7ZgbJ8t2kTxtcVl8LYS9Se2Y3dYb3MxPQl4QCA8p2TupNmXT6hczV1/PMDlexKKr+/srMqJjWD3b3mGaztYxT+I7WJDTAzy4p1dPAfuZUHcUjs0jeJrh6vgXR3qT2yje693yJjaAwIZeVPLZl6EDi+WzvEgOZP4S4Di6y9Bwfkx2rt301NwdRBsl+aCmACerRVPPae46tzckvnYbDiIW2qrplF8bXU53FemrnrLac5qc8+JKTwlgB1SSqatKZq8Iil9gqd5mM4IAhRfIyiKKmOgv2vvpicGB3pFGaSdYCaAhXJKqs4rqlidWzI3IjImmJtqy7ZRfG15WZxU6vieN+uPb3NyktEk4CmB0VWZFkJ588uXJqTkepqN6QwlQPE1FKeZhWElh32bn8aYr5lGWHbwE8DztLIZawsnrcgsnEGXBguvN8XXQvjemT647a+tDYe9y8PUJKAgEBEZXTR5ZXHVeXllC2Pj0xRnGLSAAMXXAug+mGw5ve/wp89z0wof0DGLRCA1a2LZzAsLJy0fXaghnFgsJ0DxtfwSuK/A8PDgno1P9nQ0uE/KFCSgIRAVHQ83suIpZ+eUzINXmeY8I6whQPG1hrtXVmsOvFdzcJ1XWeyQGOOJUxfd2N/b0dvV3Nvd3NvVhAA9lAVfmvTcyvJZl6LDyzUhBZN3a47i6xaRxQnQ4d294Q8DfZ0W18N784mp+VMXfXGwv6e/r2Ogt6O/rxOt6OtphQT3dTX3dDXhE6Lc09k0PNTvffHM4YYApkuUTDu/tMoxVzgqOs5Nap4WToDiKxy5dwZH9n/0bHPtHu8y2SN1TvGcuMTMsPG3udDZ/l6HCkuK7AhAl3vb+rrb+npa+rpboc7SZ39PO8Zb7NEUZ7XAyKlNt45GP3fynH8pqljFDq+zi2d5PMXX8kvgqgL1x7cf+fQfAbp0JHxItW2DMz92o1FtSINFggb6ugb7uzCLZKCvWwqgyzwqze39ve19Pe39PW04HE3g0G6kF4kFPcfo2GTMSohLSI9NzEhIyolPzq49srH2yAZtG62NwWhP4eQVE2dfnle6gMuSWXstXFun+LrmY+VZCM2uD3/X09loZSV8tQ21wkIBHubGDbJjSQHNFmHoJjskuL97cKAH76GB3qGBvsFBBPqGBnsRPyrZ3Qgj2WiaXikZvKGHhvodn4P4dARGhoch1o738NBoYCQ8ImLUbkxkZEyEowIxeDCFGMdndBzqD+XCKl8xeMelREbHO/Q3JjE6Fm9HTEx8SnJGid3EF3WbPOeK0mlr0vMqw8Lo0uDhF9CaZBRfa7h7YhW7BJ2u/siTlDZMk5FfFZ+c5WfF0E2Oicc7VbcchzQP9OFzVGE/U9thh9oODENhh4eGhz8LjAkuxBejBPgYxgd6iFDf8IgofGJT3oiIaEcgMjoiCnKMcHRkZCxUODLaIce6kxFyS+Zhl4f2pmrd6omPRGWmLryxsGIlV0AXD98HixRfH6CJyNJyev/+rc9AWUQYM8FGUcWZZve8HNJs6YoE6GaWVJ2/84PfmsDP6yIxb2LKguvzyhY57iH4CgQCXC/ZjlcJY6C71j/a2XLSjpXzoE7YeLFw8koPEgZ8ktLpa9AvtrYZ6JVPnH3ZrDO/jqFeKq+118Ir6xRfr3AJSnx058unDr0vyJgJZtJzKpLTQ2KncfgSeD60bQLpMChvxbxrpi25Katwptm3GmbUP5TLpPja7uq3Nx3du+nJgF43srDiTHR+bUfWhApB+7DLpAkFe1pkybQLMJOF/mSe8rJTOoqvna5GWBgeFu1a/5h9nuH4QAd6NKFilQ8ZAzQLBlux168llccqDdOX3YzJLJZYp1E/CVB8/QRocPZje944uf8dgwsVWxyeuadml4u1aaU1uJ1NqFgtvgb4kata/K+pWSGEWjxkUy1SfE3F613hna01ezCTuL/Lu2w2S10wcVmobYtQPvNiOKsJvg6ZBdMxgU2wUZozkADF10CYfhUF59PdG34fBCv2FlWGnCKkZk/MKJjm1+X3PvPEWZfC1837fMxhFwIUX7tcCYw2HN/zhm3XCvAQU0JKHnYg9zBx0CTDjIzSaeeLbA5kF081RVqkLcMJUHwNR+pLgVi6DI69WGLGl8x2yoOnT6G5nsCEyrNE9kMx5hCflGmnK8+6eE2A4us1MhMyjOzZ9ASmtJlQsugiQ3YUEttQYiEbYbhziufSq1cYbZMMUXxNAutFsXXVW4/ufMmx4ECAv/DcP9chCqH5Ci+dvlZYyzOFDzELa1roGKL4WnytHUuXffAIVrC1uB5GmM8qnOFsERwjird7Gej5OtYvFvJKySwTYodGTCRA8TURridFH97+94aTn3iS0v5p8icus38lzashfngKJi4xr3y5ZDzfS0jOlg8ZCFACFF8rL1xb4+F9W7B02YCVlTDMdnh++WLDCgvMgjDZV0DF8WQv1DypBVAVb4LiK575ZxYxyAsPh662U5bVwFDDiWn5yekTDC0y8ArLLpqNJ29m1zsmLtlsEyxfAAGKrwDI+iawIXHNgXX65wIwFqtq4XY4ACtuZJXRJ80vM737T85GXjPryqL4WsMeO6jv/vD3AmYSC1vzJbd4njUobWZ1wpSzzK4RVnUw2wTLF0CAV1EAZB0TR3a8JGZPYmFrvmQVYT1ZvsKyJ5wBlztTQWBXJFPLZ+FiCFB8xXAeZ6W7o37flqcF7IuekJyTL+T5O2636fwkXWMoL0Z+x11vow8Ceq1no2EEcHkUXwsu3v6tf+poPiHAMNz+sS+kAENY2JAb2Mic80z2+hjo65BtMRC4BCi+oq9dZ8uJI5++IGABHfRGJ53xhX4h/6hpOZNEc7SxvdwSc6f5DfR3B+7Oqja+bqKrRvEVTRwbl/d2NQmwOqFydVJ6UX9PuwBbWEBdgJVAMYERGPzymVdbjPn2BsWUSPMQBUTJFF/Rlwl+oKb+Z0rtgTdSxfxr8FhczC1qckaJaI42tocRmKS0IlMr2N1eZ2r5LFwAAYqvAMjjTOA/E1tvjYsy4SC/fAm2EEbBuEU1oXh1kYkp+eqo0D6OTUgzFQA2PTG1fBYugADFVwBktYnsolnqKKOPK+ddI7niw6HY6LJ1yotNzNCJDeEos11xO5qPhTDdIGk6xdeCC5lfvtRUq+l5U7KLz5BMCHkyEx5nckfPVFxmFD4yYq4rbmv9ITOqzTJFEqD4iqT9ma3Mwumm3paWz7wkKjpeMjZk/qo9EZFRXOdF9TUy2xW3NSiW3ldBC7VDiq8FVzw6JtG8ybiQ9ZKqc0W2yuxbbJFtMcqW2aM9nW21A32dRtWW5VhCgOJrCfawCVPONskwPMzik7LkwsVvaS6bDuVAf6+5Hn4YTWprPBLKhIOg7RRfay4iZv2aNPJQNuNi5e5eAiaeYT1irjag/BphsdDerhZljBnhlrp9ZhTLMoURoPgKQz3OUGx8WuHkleOijDhIzihW7e5l9iIvqDW0pq+nzYjqB0kZ2BRKwHPO+hPbg4RXqDaD4mvZlS+fiS6qwa+CictUXV2T+teqeouZs6cyatvDns56AXVrOAnxHRFgiCZMIkDxNQms+2IzC2ak51a6T+dNioJJ6l3UElMLvCnAx7TtdDtVkOvpaFAcmRXsbj/d2XLSrNJZrvkEKL7mM3ZiISo6buLsy52c9DFaq+YpGcU+luVNtpbaPd4kD/K0XULm/mKcveHkp0GOMqibR/G18vKWTrsgPsnIbWgxlKxqT0JKnoClJJpqd6vshvIhFq4T0/zTxz4SY4hWzCBA8TWDqqdlYkC2bMZaT1N7kG5osE+VCpOMM/KmqiINP2w6tcts5yrD62xegWIWa0b966o34WmneQ1hyaYSoPiaitd94ZPn/IuBPdMOvT5XbukC9/XwL0V/b2fd0U3+lRE8uYUtvIBh39b6A8EDLsRaQvG1+IInphUa6PZQr3cfOmn25Wa4tY0HN1K9+/XxMSF6hK6osCXHMOxbe2RjiIIO/GZTfC2+hpibO2XBdUZ1fo/ve1vbnvjk7HnnfrvYtDl1ksW6Ixvp8wAUPR31Zi/soLzENYc+UB4yHEAEKL7WX6zRzu8lhtQDOyI31uzUFoUtLeacc2dJ1XnaU0bFDPR37d/yR6NKC9xy2puw2KM499vmU7t6u5oDF1co15zia/3Vd3R+F14fm5Duf1XwwG3vxsd1y4HD7xln3WGq/lbvelVX+nXrE6yR7U3VIpuGXvapwx+KtEhbRhGg+BpF0q9yElPzK+df61cRY5nxr+jsvxFWoL/FU88ZS2vw3/7ejm1v/TzEV9vqaK42GKu74o7vfdNdEp63IwGKry2uCjq/FXOvxMoM/tdmcKDn03cfcKaA0N85Z9+Jlc/8N6RbAnzOdrz/sO6pEIkU3PMF1frjH2M1iRDBG0zNpPja5Wpi2GHa0q8YUpuW+gM71v3GWVHQ37nnfMsk/4fh4cEjn/7j+N63nFkP+njxTx3xQ1t7ZEPQgw2+BlJ8bXRNMSCQV7bQ/wrBA+nwpy9U73rFWVGJaQXzzvuv/PLFzhL4E4/Bh+3v/LK96ag/hQRoXqyuCd9b8ZU/tucN8UZp0U8CFF8/ARqZHTtczDrz66plyXwzgN7Q9nd+7eLxV1Jawfzz/zuneI5v5bvO1dlSs/X1nzob+nCdN6DPdnfUQ3/FN6GuenNPp4jVfMQ3LYgtUnztdXEz8qsq5l1tSJ3QBdvy2o+6nS7yEp6cMWHh2h9kFkw3xNz4Qkbqj2/b9s9fhNrkV6uWGcOuRSf3vzv+EvDI7gQovva6Qtj1Z+qiGw158gZv09bTBza9fLfzVRfCUzJLF130w7ScyYZTQAfw2K7X9m1+2vCS7VxgZ6tlazwe2fmSncmwbloCFF8tE4tjsAPbnLP/05BdKdHxxMJXW179kXbBnbFGhqdmlS+++McGyf1YqaN/Me1i94bfHwulacfO7zPGkTHjoLl2b1vDYTNKZpkmEaD4mgTWn2LD88uXTJx9mT9FyHmxn83JA+999ObPnG2zBpXHKsBLLvlpQkqunMuoAFygtr39P6Gz/kBPV5NR6LwtBxfaxSNWb0tjegEEKL4CIHttAs/cZiz/alL6BK9z6mVAtxdzz/D8zdm0V+hvZv60JRf/xJBZdqoq4BnU5lfv0V3xR5UyCA77LJ3pe3TXqwL2jguCy2STJlB8bXIh1NVISMmZd+63jNr4HQ9kDm3/2671j6nNjB2HR0RmF89ZfPGPjFriZ6xgx9+u1tqNL/+g7uhmZWRQhnu7Td+02AU3DHrUHFrvIgFP2YoAxddWl0NZmfC8skVY80EZ5U8Yjl97Nz15aPvfnRUCoc8vWwT/B0N83cZbGYEbwKaXf3BCb9G18SkD+8jajUQxxH9o+/8FNsFQqj3F175XGyJYteTLWYUzjaoi3B4+fe+BU84XIYyIjCmqOBPzLwx53De+2iNdbbVw/t2z8Ykg9j+z3LX5dPUW8fObx19oHnlKgOLrKSlL0mFPtvkX/HdMfKpR1rH84OZXf1hzcJ0zBYTil05fM3v1f4SFhRtldKyckZ7Oxt0fPrbxxe9a20Mcq4/xf4cG1Ns4GW/DZYkY3z/8yfMuk/CkXQhE2aUirIcTAuk5FfPP+68NL/y3M7l0ks9pdHd7/eZX7klIzs0qmt3b1YhtF+AIEROfkpRWmJJVjidvmHYxec4Vfd0te5ysTum0aA9OoPeNlR9a6w9NW3pTSdW5Jki8B5UwLQmWtjCtbE8LPrLjxenLbjZj7N7TGjCdZwQovp5xsi4VHoVNmHL2lNq9ezc/ZVAtHD1QdIHbmo5CdqXpsBhnaDz5KYYdIqNjMcsZYx2Ya1cwabmLMQqfK4PeGXYe++iNe+ECPHXxF7OLZvtclN0yhocbfrvgdRNxZat3v4a9Ab3OyQxiCVB8xfL2yRqGAtCXaTm9r656i08F6GRCPxouEPIJHDp6bQO9Yb1hPWGNGJ+tOfT+8NAgJl90NB+XkxkVgDloBLbAaTy1I6tgRtnMiwsmLjXhQZ9R9fW0nPAIO/xDjRzY+uykM75gwsC9pxyYzhMCHPP1hJL1aTDsCz+ElIwSIVUZQecU8yPw+Khw0vLU7IkmGYVTak9HA7yjtrz6w9ceuxp9YawLbuEkMf+bGRUd538h/peAe5qag+/7Xw5LMJWAHX6oTW1g8BSOrd4WX/LTd5/7Wn9Pm7BWNdXuWXbZ/e/95etdradMMgoJRi+4t6ulq+0U7pfR/8Vcj+T0CRiVxqQ7vJPSirAHHZ49mlQBA4uNiUvFkI6BBfpWFEaTMEgFxxXfsjOXGAIUXzGcDbAyOg+tatGFd6//+7eFTWTCjpwJyTnLL/+fdX/5d5NlZQR7cOANUugOtzUciYiIxHg3vI8dn5FRqVkTCyYtK59xkYG+HwZclfFFxCamh1mvvY46YQQfswpzSuaNryCPbESAww42uhhuqwIZwjjA/PP/n7DhPIw/tDUeycibuvSyn8XEpbitoSEJHAPQQ/0QYox79PW0wi8Ny2PCg3XHuode+8O1+7f+CQkMMWR4IUmp+YaX6VuBeI662wRnFd8qw1y6BCi+uljsGwmHhLIZa2ev/oawKmJPCoh+9oQzllz606joeGF2VYbwPBBajJlyn7734Pq/32X5dAZV9aRDjJDoxlsSifncDSe2W2KaRj0hQPH1hJK90mBUFAuuz1jxb2KqhQFZGBqdfLx48SU/sdonYQSye/LAug/+705pjEIMBA+twD/Pw5QCkuHuYecHvxVgiCZ8I0Dx9Y2bxbnQA61a9EUx+itPHIiIjC6avGLRhfcYtdyPzxAhKxiF+OiNn/lcgkkZcX8gbETIkyZgNWe4DHqSkmnEE6D4imdujMWomISqxf86a9W/m/3fHh2bLNcYgx7FU89esOZ7GIiQIy0J4CcBy9eePGCvvXNi4pKxOaklQHSNYuR3+9u/tOcQjW6FQyqS4hvAlxv93ykLrocUmjoUkD5+kyHoLxZ/WLjm+5brLx4Gfvreb5wtEm/RdcXOIGa5RfvWIgzZYz173/Iyl6kEKL6m4jW9cHj1l824cOWVvzZjHwrUHpsM4VZa1QxovU30t63h0MmD61TVs/ZQ9VtlbWVgHZ4hR3e+YsYyHZY3LdArQPEN9CsYBinMLV1wzg1/KKk6z9jGQHmXXf5zDPVqi4VROF04xn/1zmrTmxTjUJYd9to4MqNgmkmN9blY3CLsfP+3+7c+43MJzGgGAYqvGVRFl4knYJgDtvDCu1dd83Dh5JX+PxDDmlhVi7901vWPuphb7Bh/mHY+/H+tnVNbV71ZWhtINHQn9nKL51k+IKOtGjxDPnnngR3vP+xsKyltFsaYTYAz3MwmLKz8cKxGhq0osifM7u1sqju66fSxrY01OzFn1/MaQHNziudijRvMTI2JT4uKjnW95CP0FylXXPGr9c/f1d/b4bkhA1MO9HW1NR5Oz51iYJn+FIXFOfPKFtYe3uBPIWbkhf7u2fCHrtaT887/f/iqmGGCZXpFgOLrFS67J0afC/9X0RkJial5GAt2TBTracMjF8wQw8a6mCqG99Bgv6MZIyP4iIqJx7y1+OScxNR8DDKg+4wCIiOjRwcTPFodEb1saM2qqx9a//y3vRJ641COYN01+4gvfq6mL72l7sgmG07Dw/hD9e7X2xqPLrn0XlGLNBl3nYOuJIpv0F1SR4MgwjF4IxQTlwRhhRCMvkfCVBNzHevPYhFavCKQxzevNWTMLJxx9vWPQn+bTu0SDxQLsIk36sJidtGsmWfe/um7D7hIY9UpDNFgvY5/Pn0TdkgpqlhlVTVoFwQ45hv0XwMoKhamicYjMgzOwjt43Ds6HpE4hQS+Ka+ED3nRa1519W+Kp55jAVAbLGGubDWAVy26ceml99mzd4mf4e6Ohg+f/y/8PNjMUU9JMfjD7PkG/zUW1cJwLAW5+OKfYGeKT959AHe4ouyGxSVmCrPloSHcdhRXnVtYsRLLs7XWH+ztbh7s6xoc6B7s7xno7x4a6B0c7MVi9hiHhfxJP37SDyQ+649/rFzn3kOLXiZzrCG3Z9NTLfUHl1zyU8wN8TI7kxtAgOJrAEQWIRNAPxrrTmAXuA0vfrez5YQcb2ogI88uT9uUzcRoeERMVGbBtIz8qdJoz8joOLv06fA6GD38PMtn/ffwQ9v++vFbP/883rQQngicOrz+nT/deuZVD8YlZphmhwXrE+Cwgz4XxvpMAH23rKJZ5/3r06PbiHn01M5nW8gIWxjU9qcEU/NiQMahwqND8Ojhfjb4g/EfDPjoDAE5RoEq5l2FRplaK7lw9LsxBLzuL18fxA5SfIklQPEVyzs0rEFx4hLT55337XNu+D16weY1Gr5x8879tmt/OPOsm1QylBqzV4R5g2EIuOnU7k/e+bVJzWGxzghQfJ2RYbyfBPDYKSa7eM45Nz5+1nWP4kGc/1M/VBXCEjarrnnIVqs4qmro82FqVtm887/jc3ZvM0J/D23/m7R2qLd5md5nAhzz9RkdM7ongC4wbrRzS+fnFM+Br3H17ldP7Ptnc91e9zldpsATtslzr5wy/9rouGSYcJk2QE+Gw027pW7fvi1/FNMAPCBtOrUT0yPFmKMVEKD48mtgOgHoY3gkfNEKpy25CctgdrbVntz/bt3RjZiA5/lqhygkJatsdALeMqh5VFQchN30qltnAO0946z/wLyVE/vfEVMLe+x7L6attrBC8bXFZQiNSkBPIsPDIlMyiqcuunHKgutwt9veVI2VyTpaTmDHeGxgPNDfhdGJsYdRePqUEB0Tj4HdtJzJ6XlTomMSMH3EIeXB2dtVfwswbrPk0vuwZ1KN+Su3OcaIRD3lU7czVI8pvqF65a1s9+iUukjHcEF6bgWE1VEXhweWY8az9AoPG3OTGJtAESKCOwbgs79wflj+hf/56M2fHdr2N9UpYw8r5l6JHzljy2RprglQfF3z4VmzCTiE2GHjc7k122KAlY9B8wUXfDczfzrWRPd8lMarRmIB+Jln3uZVFib2n0BQPqzwHwtLIAEbEUCvf+LsS9fe/LeyGRcZfgeQklmKeeHCPNtshNXqqlB8rb4CtE8CHhCA5sK1bvHFP7rwq//A3lHxSVkeZHKTBNNhMKHjvC89Y6t959xUOohOh49NdgyiNnnflOu/t9P7TMxBAtYQwINKDJFjAbnTxz9qqtnZ1nAYTywdkR6/MJkYnejK+dckpOQZ3pV2XYs//miG6wShc5ZjvqFzrdnSICHgkMtwx7zqrKKZaBL6T1Devu4WzJIY6O3o7+t0LNwz0I2Fm4eG+vGJZSRHhgawdGh8Uk5CSk5Ccm5abkWEw1Fv7KlmkIAJsGZQfAPsgrG6JKAg4FDPUd+RiPikbLwVpxi0OwGO+dr9CrF+JEACQUmA4huUl5WNIgESsDsBiq/drxDrRwIkEJQEKL5BeVnZKBIgAbsToPja/QqxfiRAAkFJgOIblJeVjSIBErA7AYqv3a8Q60cCJBCUBCi+QXlZ2SgSIAG7E6D42v0KsX4kQAJBSYDiG5SXlY0iARKwOwGKr92vEOtHAiQQlAQovkF5WdkoEiABuxOg+Nr9CrF+JEACQUmA4huUl5WNIgESsDsBiq/drxDrRwIkEJQEuJ6vWZc1Oy1m4oR4Y0tv7xrac6QTZSbFR06fpN5rtqFl4PDJbj8tLpyeOrZf8Gcl9fQNf3qgw89ikd1tyeY1Slv5GZOSEuOxmvi4V1vn4N6jXeOiNAezK5LjYtVdlv3V3S0dA5q0n0ckxEXOnKy+Xji961BnZ8+Qhw2fPjEpKUFd562724eGP9/1+XOTHoQ8tOtBSUziCwGKry/UPMkzpSzx1suLPEnpeZr9x7ok8c3JiLn9ymJVxve3tfgvvihWJb6nGvoMEV+3JZvXKBUoHC6dlbZsdroqvqV94Os/36eKVB7GxkR889qSyEj1BhB/fqvupfcblClV4VmTk2+7coIqcmho5NZ79yDSw4ZfcVbupAkJqkK+8uPdQ30+iq+HdlUWeWgUAfVvuFHlshwSsDOBXYd1erjpKdFZadEuql1ZnKhVXqSfWpboIhdOVZaqRRORh0529/Z5sfGaaxM8G3AEKL4Bd8lYYQMI7B4dvdEWVFniSkanlj7Y/nYAABMdSURBVOufrYAoR6i7w8rCdYvdddgxgsRXyBKg+IbspQ/phmOEAcMpWgSTi3W6qHKyaeU647Y4GxcTUVrgdHwfg8tFOXFyIXIAA75ymIEQJEDxDcGLziY7COh2PHW7qBKv+NiI0nwdDZXOuhh5qChOUA2jI0t379Dhmh4pLz9DkwAfuAXkda9r6v/509Wqqje3uXrgrkrMQ4w8nLsoU8UBXVR4JkAZVfE4nFKaGOF8bGFqaeLLH+g/c9MVdLhVDI95KVh1Na2yq2UbmjEUX7Ou+wfbW9Z/0uKs9OSEqIf+a6r27F/w3NzJ/7AyMdTBEA8EZZmhFpbkT6Wn6KJi5EGXbZWTMQeJW0WJQ5plPVXCrCzVGSlW9rutuppW2VXCCeUwhx1MvPojI2Eu3rqG4TTkIgtO8WUUAUjPEb0bf4wS6JqoKtMf8JUSY1CiRG9QIiY6okxvOHgnn7bpUg6lSPZ8Q+lqh4XBmwq+ounJUSmJUXDvb2zt33OkCzLkPwXzSva/bs5KQPdT6zmLPqw2PeYjFOc5HfCV0leVJR7VqPnEwvgojV9wU9tAXaPO4z6tXcYEMQGKb0BeXAjBf1xboqr6ll1tz71Zp4qUDyENF6/MwfN61cOfwaER3GUjY62vcmBeyXLlEcDkrntunaSqPOLvf7K6rsmpkGEo4Mf/Nkk1Jw03EPf87nB71yCGfS89M0dpBWHIJZx5MQNCGY8pM1rTygQITylNemV9oypSd8xh53g/Bx+upsqK6hB+b7dcXqT13EDDH3+xRh7xMNyuqho8dE2A4uuaj03PojOVkx6jqhw6s6oY+fCchZk3rMlXjW9KZ1HU3KkpMycn/+n12rc2N8lZPAyYV7KqAp3dQw0t/Zhiq4pfMC3lReezy6aUJGh7rJglCOVFOQePd/cPDGNkQFkmDkvz41VzBbVOZtK0YGXGyhKHV4NqaEj3advu8WMO3l5NpVFtGHWA8mIKn+oUxqN/+38nZeXFWWPtqszx0C2BcV87t6mZIOAIoBP0pYsLv3hhga7yys2JjgpHmiUz1f+xcgJtwLyStbakGDzD1J5aMD1VGynHzJ+mc/b97a1SAvT69x3TmepWUaIe9tV6kr26vkGls3CTKMkf5+0L5pM1E4KRS6mAclUNCUB5b7pER3mx/sNv/npiw47PGm6ILRbiJwGKr58A7Z79368uPmt+hoe1RI/J7c21XJR5JcsmVIGte9qxyo8qEr3U3Az1TYCUBm1Bp16Vvrd/eOueNjlS1QmV4jGNWE6AAG4ptLMktuxur2noVSZDWKXRJXlxqhEPpDlW19PR7eh3m/G6cW3BmXPVa1bgN+aB545v3vV5q80wzTK9JUDx9ZZYIKWH86lWfaQGoP91vK53y+62xtbPvYNxH+ph88wr2UUFMESgqyAL9Lq3KKe8MCEjRb1Ww9bdbX39nyv4br1FHlQ93yrNrGKsYYaBZu0SaMCirL/ugK95E9uuOS8Po0DKCiA8MDjyqz8d+3hvuyqeh5YTcDpKaHnNWAH/CVy+OldbCB4lPfHyKaiY7OSQmRp92aqcM+d62kFGmeaVrK2wMgYjD9qeHcRX1zl6XpW624uiVGMXUj8UbtdKK+jq5mXGys/xtE5m+6odgxUQX5XYYYQX3W15OEJ3wNekMQdckbXLspWtQBg/V7945phJFlW2eOgtAfZ8vSUWMOlxC6y6C0bV0Q/69XPH3/2oWVZeRMLz6fcv1Ly5ydOnbeaV7BYuFtU83dyvSlZWGJ+tefyINPM1Yw4Nrf17R3VTLgFCCWc7+VAOKL194c4hx0sBLOCLgCTBylNYxkH5fA+P4JRnEQZ/NEEV6f/hRcuzL1+ldttAB/9/nq6m8vqP16QSKL4mgbW+2As1/SDU6dUPG7bt07kDhQY99cop3bVmtC0xr2StLW2MqusqJdCOPGCUNi8rVpX9w09a5W6pfEpXnmRvX/gva8vZW+1YEwcuEzX1ai83OJxJJSOX1v8Eygv9lU0bEsAk6avOzVMVhcUq73+qeo+7teFVuXgokgDFVyRtoba062xBd9DndVGJdz92dVbOaF7JsgkXAV0BhcOZKosnYw5SFt1nbnLPV9vthebKv1KSCitNy+nh5aaMl8K6Qq9N5nnMqnkZN6wpUKXHbc29Txw1o4utMsRDfwhQfP2hZ9+8eMiemjRuHBN13Xu0U/l4TVt76Jo2UhVjXskqQ84OtUMHSDmxKEG1Dvr8KrWT2YHj3dohC+Stb+mHB7HKXEF2rDQQrF3SYf+xbrn7rH3mJg37ojT9Ad/x0ytURn04vO78fK2Dyoeftqr8lH0omVnMJkDxNZuwNeXnZajvuFGPU+7msKFP53ZvBfNK9pyU7siD0qUXQ8DalRZ0c0lGdTuk0gwxravDvtExBymjdtgXM/Em5DomImtdHYAXz/c8b6bPKVfPz9DenfhcGjOaRIDiaxJYi4vNzdRxfW1ud+9e2upyI0i0yrySPUcGDzm466rSL1Q4nGnHHJy5qUmF6IovHpdhF1S8VYaUgos9N+UhCDkZFp9MT47WTkHEkz25yywnNiPgmF58WZHujkdmmGOZvhGg+PrGze65tI96UOOO0Tm1rqve0eNmkR3zSnZdMeVZPMeHu64yBmGMPMBnTorUjjl8vK9d6eChyqsri9gcSLtvUFfPEPyjldlV7hM4NbUsSXfTtl2HDdgEWmnaRRhOF5euVPs/uEjPU+IJUHzFMxdhEd5jWjO6uqlKlqzZUF2VwLySVYZcH76vmWqMoU9p5AGD3dpJvR+MTSnWLRZTzlSSimTwYMNG8ar0eIql6r1iJF2VZkppAjq/qkgcqtbT0SbwOUZVJamci1dka8defDbBjIYToPgajtQWBcoTBJS1kTuGykhVODVZPSVMlcC8klWGXB/i3h9P3lRppJEHTOpTPYPChDTdgQVldm0CzPfTerBpXQi0z9zwpG7pLPUcX6whqfu7payDb+HWjsEfPHJIWziGHW65bAIHH3yjKiAXxVcAZAtM4PG9tjdUmKPzFE5ZOagGFgVXxmjD5pWsteUiBq1br+nMOpYqTonWjjnAi0N3jwll+boOZ8oEUlgrtbrDvlqMJq2eDs390WOHsSo83LS1tUXP95IV6mlv2mSMsYSAm/80S+pEo/4TgCd/c7t65AHOT/CgclH4ohlq9yxtYvNK1tpyHaPdpQkdXkw+lj1t5ewfON/PSU6D5c2wAI18qBuAK0h17bgBXymZ8hGcbkZEanvWzlJ6FX/fE0cl/zms3qA7feaSlTnKSXdeFc7EphKg+JqK18rCdT09VWsRqOq34gz1zbIqgXRoXsm65pxFQnS0gwDQGtWNNnaX0M5D05YJd4iDJxyThl28Dpz4fNdLZTJtd1h5FmGs6Og2jSqLh4cYUZFTovOLVsiHUsAx+HB5EfwfVPE8tJwAxdfyS2BWBXQ30109L2O+3nIzqMSapVl4xORJbcwr2RPryjRa113twmzaR3PKEpRhtyMP+5zM1tXOc1MWizCGBVz4WqgS+3yIGTTPv1uvzY5VNy/i4IOWi9UxFF+rr4Bp9vEPv+OQ2rcJ/aDbrypeNjtdubY6IrEyy7Xn53tYF/NK9rACcjKszabt68lnEcBIwsad7qftSVncjgw4G17AIy/Xe7KZt4yksrEIv7qhUbebj92SikanfqjS89BCAuoZqBZWhaYNJ/DCew0zJ6mdpXAH+tUvFGHfCkhJTX1veWE8nlOpttJxWxPzSnZrWpkAa6tjhXXtljlymk/2d2D/IfnQdQADFChQ+6xMygWVx6+OsxL2VHdp19+RE7uVdTmlnwGsF/r4SzXfvalcVQ5uCG69vOjuRw5jAER1iodWEWDP1yryIuxiSFT3IQxsQ2LOqEy+cHk21i5QKq+Ha26ZV7K3XLQjD8oSPHnUJqcfHZlVO+3KZw+d6HbxRM7FkC4e0x066WY0WbbifwC/qbojLdjBfu1yej74D9iwEii+hqG0Z0FYvXfdthYP67Z9f4czsdaWYF7JWlsuYrADsdbFVUqPtRQ+OaAeeHFRFE656KI6G3OQCnQ2HIyzmAKn2gvZdR38P/vcG3XY31NbDtb81e6HpE3GGDEEKL5iOFtmBf/2jz5/8tk3arVuv6o6wYfh4b+dGHabbiybeSWPWfDoL+qru7cQMm/c0eqt6rkQX+00YmX9pI2FlDFyWOSsYskofnX+/GadXAE5gMEHeD4oh/vlUwyIJ0DxFc/cAouvrG/832eqMaapa1v6X73n0SM+PJE3r2TdqupGHqnRv6l3PaVYtyiskqN03pLTYDQGww7yoW7A2ciDebOKdashRb73cbOu5xyG+Ncuy3KRkaeEEQgf8binI6xO4g1d/72d4o1aYhEPhbDJI6aBpSVFYWGwts4BPETCArVuJ4C5ra15Jbs1je2Zv3RxoSrZidO933nwoCqSh5YT+OOPZlheB5tUgN4ONrkQgqoBjyjXTlE+18O8kt1WSbmSr5zY9YM4ORkDJGAVAYqvVeRp10cC6LZ3dg9KXhnYY/iKs3KnlX+2bZpcIvwWsJuDfMgACdiQAMXXhheFVXJF4O5bJmJ5NnjdwvErLiZC9/ERHsFhvRtXpfAcCVhNgOJr9RWgfZ8IwDc5xsnilxi//rveLFuf7DATCZhFgN4OZpFluVYRgF+zSePaVrWIdoOSAMU3KC9r6Dbqoz3tT7yss7Jt6BJhy+1KgMMOdr0yrJeXBOCt/M7WZizrxeULvCTH5NYQoPhaw51WfSbw+obGnIyYhLhIaUkKbLfc0jFY29CLudEu1l7w2RwzkoBJBCi+JoFlsWYReG1Do1lFs1wSEEiAY74CYdMUCZAACYwRoPiOkeBfEiABEhBIgOIrEDZNkQAJkMAYAYrvGAn+JQESIAGBBCi+AmHTFAmQAAmMEaD4jpHgXxIgARIQSIDiKxA2TZEACZDAGAGK7xgJ/iUBEiABgQQovgJh0xQJkAAJjBGg+I6R4F8SIAESEEiA4isQNk2RAAmQwBgBiu8YCf4lARIgAYEEKL4CYdMUCZAACYwRoPiOkeBfEiABEhBIgOIrEDZNkQAJkMAYAYrvGAn+JQESIAGBBCi+AmHTFAmQAAmMEaD4jpHgXxIgARIQSIDiKxA2TZEACZDAGAGK7xgJ/iUBEiABgQQovgJh0xQJkAAJjBGg+I6R4F8SIAESEEiA4isQNk2RAAmQwBiB8JGRkbEw/5IACZAACQgiwJ6vINA0QwIkQAJKAhRfJQ2GSYAESEAQAYqvINA0QwIkQAJKAhRfJQ2GSYAESEAQAYqvINA0QwIkQAJKAhRfJQ2GSYAESEAQAYqvINA0QwIkQAJKAhRfJQ2GSYAESEAQAYqvINA0QwIkQAJKAhRfJQ2GSYAESEAQAYqvINA0QwIkQAJKAhRfJQ2GSYAESEAQAYqvINA0QwIkQAJKAhRfJQ2GSYAESEAQAYqvINA0QwIkQAJKAhRfJQ2GSYAESEAQAYqvINA0QwIkQAJKAhRfJQ2GSYAESEAQAYqvINA0QwIkQAJKAhRfJQ2GSYAESEAQAYqvINA0QwIkQAJKAhRfJQ2GSYAESEAQAYqvINA0QwIkQAJKAhRfJQ2GSYAESEAQAYqvINA0QwIkQAJKAhRfJQ2GSYAESEAQAYqvINA0QwIkQAJKAhRfJQ2GSYAESEAQAYqvINA0QwIkQAJKAhRfJQ2GSYAESEAQAYqvINA0QwIkQAJKAhRfJQ2GSYAESEAQAYqvINA0QwIkQAJKAhRfJQ2GSYAESEAQAYqvINA0QwIkQAJKAhRfJQ2GSYAESEAQAYqvINA0QwIkQAJKAhRfJQ2GSYAESEAQAYqvINA0QwIkQAJKAhRfJQ2GSYAESEAQAYqvINA0QwIkQAJKAhRfJQ2GSYAESEAQAYqvINA0QwIkQAJKAhRfJQ2GSYAESEAQAYqvINA0QwIkQAJKAhRfJQ2GSYAESEAQAYqvINA0QwIkQAJKAhRfJQ2GSYAESEAQAYqvINA0QwIkQAJKAhRfJQ2GSYAESEAQAYqvINA0QwIkQAJKAhRfJQ2GSYAESEAQAYqvINA0QwIkQAJKAhRfJQ2GSYAESEAQAYqvINA0QwIkQAJKAhRfJQ2GSYAESEAQAYqvINA0QwIkQAJKAhRfJQ2GSYAESEAQAYqvINA0QwIkQAJKAhRfJQ2GSYAESEAQAYqvINA0QwIkQAJKAhRfJQ2GSYAESEAQAYqvINA0QwIkQAJKAhRfJQ2GSYAESEAQAYqvINA0QwIkQAJKAhRfJQ2GSYAESEAQAYqvINA0QwIkQAJKAhRfJQ2GSYAESEAQAYqvINA0QwIkQAJKAhRfJQ2GSYAESEAQAYqvINA0QwIkQAJKAhRfJQ2GSYAESEAQAYqvINA0QwIkQAJKAhRfJQ2GSYAESEAQAYqvINA0QwIkQAJKAhRfJQ2GSYAESEAQAYqvINA0QwIkQAJKAhRfJQ2GSYAESEAQAYqvINA0QwIkQAJKAhRfJQ2GSYAESEAQAYqvINA0QwIkQAJKAv8fUGzP1bX3cZIAAAAASUVORK5CYII=\"/></h2>\n\n<p class=\"intro\">\nDolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n</p>\n\n<h2>What's with all the &lt; angle brackets</h2>\n\n<p>\nAn opportunity to see how characters that need HTML encoding (like &lt; angle brackets) are dealt with.\n</p>\n\n<h3>Who uses TiddlyWiki?</h3>\n\n<p class=\"intro\">\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n</p>\n\n<blockquote>\nConsectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n</blockquote>\n\n<h2>Who makes TiddlyWiki?</h2>\n\n<p>\nDuis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n</p>\n\n<h3>How open source projects work</h3>\n\n<p class=\"intro\">\nDolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n</p>\n\n<p>\nTempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur qui officia deserunt mollit anim id est laborum.\n</p>\n\n<p>\nConsectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n</p>\n\n<h3>How GitHub works</h3>\n\n<p>\nDuis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n</p>\n\n<h2>Tiddlers</h2>\n\n<p class=\"intro\">\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n</p>\n\n<h3>Tiddler types</h3>\n\n<p>\nDolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n</p>\n\n<h3>Fields</h3>\n\n<p class=\"intro\">\nConsectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n</p>\n\n<p>\nTempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur qui officia deserunt mollit anim id est laborum.\n</p>\n\n<p>\nDuis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n</p>\n\n<h4>Tags</h4>\n\n<p>\nTempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur qui officia deserunt mollit anim id est laborum.\n</p>\n\n<h2>Lists and Stories</h2>\n\n<p>\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n</p>\n\n<h3>List widget</h3>\n\n<p>\nDolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n</p>\n\n<dl>\n<dt>Term being defined</dt>\n<dd>Definition of that term</dd>\n<dt>Another term</dt>\n<dd>Another definition</dd>\n</dl>\n\n<h3>Story</h3>\n\n<ul class=\"intro\">\n\n<li>\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n</li>\n\n<li>\nConsectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n</li>\n\n</ul>\n\n<h2>Plugins</h2>\n\n<p>\nDuis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n</p>\n\n<h2>Saving changes and generating HTML files</h2>\n\n<p>\nDolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n</p>\n\n<ul>\n\n<li>\nTempor incididunt ut labore et dolore magna aliqua\n</li>\n\n<li>\nUt enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat\n</li>\n\n<li>\nDuis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur\n</li>\n\n<li>\n<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAhUAAAIVCAYAAABm5A1+AAAACXBIWXMAABcSAAAXEgFnn9JSAAAgAElEQVR4nOy92ZPsx3Xn98nfVnvv3XcB7oqNAAECEEFRCylRImVRy4wnLCnClj2OsMd6cIQtzavf+Cf4yUs4/DwTfrA9MTMegpRipBlSFAkCICUAxL7ctW/v3bX+lsz0w+9XS/et6u7KbKDR9+YJorqqeE/mqfzl8s3zPXlSaK01Th4akUrz5idNvvfaBlJNr6/7r7r/3qAMK10NQqBtDMBMVd/3xrQcjc2osxmwungxLkODFsVzMKxfjNpiUoZN/ylebdvf6hkYKuv+wxPDFjQpy8Z+DQi7oWfV//WE91OVYTmAbPv/6F+jMgzbv68jRiYA03IO0wsMynRyRuXuVszLr61zbzuZWlePvNhMSMYDWhc1C2E9oK30bAajtmk983r36VoCOi3MjBhOaHbPwQoMnET/Na9+xAYTnUJR5C34WYOJvr4NoLDp/ycBJvo2mOua939G1D7r/j+6GRLDbaFZ/cf4dw5UPATSiSX/8Y0tfvZhc2rdYYc074wA6iTAxIgdBsXY6VmACQBl6RA8be+EEmYNMAomDNQHYtx/+nVqOzhn4NTbb4Oxd2IUTJjvkG3s74OJ/nuj+k9o3J6Wd8K0/4+qWPU/SyAjbOfvKf6tAxUPsORUR6ugOqbvToNuaL07MdW1BxNg5yp0VEcB6gwnU0d12OjpzwXV0X9vVsYDQHVY9P/Rv0YmGPb/IZgfFvBpeidGxYGKB1Qc1WFc9X0fjAajhat3rC0mupaAzlEdduKoDvuxexqALtd1VIep7Q5UPGDiqI4TABSWuzNHdRipD8RRHY7qsKnfUR2W87ehXr9OByoeEJFK89aNnOrI5PTdadANrXcnprr2YALsXIWO6rBz9Tqqw0ZPO6pjzPupyrAcQI7qsBx/2oGKB0ZWt2NefnWD1e14al098vJZu+r6yo7qOF1A4agOu/Yf2mCiM+qdcFSHqTiqw9w7cRL9Z3T+caDiDEsnlvzgzW1e/2Bvat1hh7R0lZ0EmBixw6AYOz3L3ZmjOozUB+KoDkd12NTvqA7L+dtQb1DnmPnHgYozKKqgOl52VIe5jh7z3VTlOKpjYIuJCTb9p3h1VIehDTiqw1EdluPvEPsdqDhjsrod873XNri75agOYz2bwahtWs+83n26loDOUR124qgO+7F7GoAu13VUx6c9/zhQcUbEUR0nACgsd2eO6jBSH4ijOhzVYVO/ozos529DvUGdx5x/HKj4nIujOopybHT0mO+mKsdRHQNbTEyw6T/Fq6M6DG3AUR2O6rAcf1Pa70DF51jubce87KgOOz2bwahtWs+83n26loDOUR124qgO+7F7GoAu13VUx2nMPw5UfA6lG0t+8NY2r73vqA5jPcvdmaM6jNQH4qgOR3XY1O+oDsv521BvUKfp/KMdqPhciVKaX9xs8fKrG6SO6jDT0WO+m6ocR3UMbDExwab/FK+O6jC0AUd1OKrDcvxZzT8aLYQDFZ8XuVec6rjjqA5zPZvBqG1az7zefbqWgM5RHXbiqA77sXsagC7XdVTHqc0//bErBGjtQMVpi6M6TgBQWO7OHNVhpD4QR3U4qsOmfkd1WM7fhnqDOk8CTMDgQTpQcUrSpzq+99oGSTb9Ix10Q+vdiamuPZgAO1fhqLJZOY7qGNhiYoJN/yleHdVhaAOO6nBUh+X4s5p/7gcTfXGg4hTk3k7M91/b4PamozqM9WwGo7ZpPfN69+laAjpHddiJozrsx+5pALpc11Edpzb/jHonJjSCAxWfoXQTyQ/f3OZVR3WY61nuzhzVYaQ+EEd1OKrDpn5HdVjO34Z6gzpPAkzAoQ/SgYrPQBzVUZRjo6PHfDdVOY7qGNhiYoJN/yleHdVhaAOO6nBUh+X4s5p/jgcm+uJAxacsazv5qQ5HdVjo2QxGbdN65vXu07UEdI7qsBNHddiP3dMAdLmuozpObf4Z9U5M0QgOVHxK0k0kf/vWNj99z1EdxnqWuzNHdRipD8RRHY7qsKnfUR2W87eh3qDOkwATMPWDdKDihEUpzdu32rz86rqjOkx19JjvpirHUR0DW0xMsOk/xaujOgxtwFEdjuqwHH9W8485mOiLAxUnKI7qMK76vg9Gg1HbtJ55vft0LQGdozrsxFEd9mP3NABdruuojlObf0a9Exbzv9YOVJyI9BLJDx3VYadnuTtzVIeR+kAc1eGoDpv6HdVhOX8b6g3qPAkwAcYPcrT9HKiwEKU1b99s873XNojT6bvFoBta705Mde3BBNi5CkeVzcpxVMfAFhMTbPpP8eqoDkMbcFSHozosx5/V/GMPJsa1nwMVhrK2E/P91ze5tdGbWlePvNh0KEd1nF3vhKM67Np/aIOJzqh3wlEdpuKoDnPvxEn0nxPxTlhSHePEgYoppZdI/vYXO7zy7u7UusMOad4ZwVEdjuowUh+Iozoc1WFTv6M6LOdvQ71BnScBJsD4QR7Vfg5UHFOU1rxzq83Lrzqqw1hHj/luqnIc1TGwxcQEm/5TvDqqw9AGHNXhqA7L8Wc1/3w6VMc4caDiGLK+m/C91zYc1WGjZzMYtU3rmde7T9cS0Dmqw04c1WE/dk8D0OW6juo4tfln1DvxKVAd48SBikPEUR0nACgsd2eO6jBSH4ijOhzVYVO/ozos529DvUGdJwEmwPhBmrSfAxVjxFEdRTk2OnrMd1OV46iOgS0mJtj0n+LVUR2GNuCojjNNdejh09eDkTh9OVbjz2r++eyojnHiQMUBcVSHcdX3fTAa1Nqm9czr3adrCegc1WEnjuqwH7unAehy3bNKdRSbQK3QOocSSgiE0uB5ZNojEApP5N2r/4wPVnUS/edEvBOfEdVxX/U4UDEQR3WcAKCw3J05qsNIfSCO6nBUh039Dy3VUXgmVJaBAC0EWZzQa22jMkU4fwERRAShRyA0NV/jC9hLYfQmhoeR6hhUPyIPPahQWvPurTYvv7ZBL3FUh5GOHvPdVOU4qmNgi4kJNv2neHVUh6ENOKrj7FIdOgfSSqGVBA1Z0kWmPTY/fpf26l0IIxa+8BVWrl2nUvFZiSSqm6Iyhdawl+XAwmr8Wc0/p0t1jOt/DzWoWN9N+P7rG9xcd1SHsZ7FhOqoDkd1OKrDfuyeBqDLdc841aEkWql8YUaTtLeJ21vce+OviNsJSVtTnVtgvppy6ZGIq48voHoZa2+ukUpFyQdfQmrz+0/CO3GKVMfB9/CQgopeIvnR2zv85B1HdRjrWe7OHNVhpD4QR3U4qsOm/oeW6ui/yTIgBxRp0qO1c5vW2gdsf/QKOu0ShlXmVh7hhW/+BldfeIoL11eISj5p5DF3aYbND7eJUkXFzz0V01xIfWJgAowf5ElRHeOKeahAhdKad2/npzoc1WGoo8d8N1U5juoY2GJigk3/KV4d1WFoA47qOLtURy6CnO4ASDpNkl6Lux/8hPb2DTrNVUTSY2XlHHMrF/jNP/1nzK2cZ25lsSghI6xEVBdqtDc7yM0ujQC6MgepRy3U9vPP54/qGCcPDahY3034y9c3uOGoDnM9iwnVUR2O6nBUh/3YPQ1Al+ueVapj+EaM9KOku83uvY94/d/8byTdXaorC9QXFnn0yed54rkXePGb36Zcq1Ou1YoCBOADispsiepCjbSToTopCxGsxYd7v07MO/E5ozrGyQMPKuJU8aNfbPNjR3WY61nuzhzVYaQ+EEd1OKrDpv6HnerYl8BKZ+hkC9m9wVvf+1/Zu/cRSkF1YZ5f+b1/wlO/9BKPXHt8BEyMigAEXpBTIJ2tNjKVqFTRCGA3u9/WEwMTYPwgP02qY5w8sKBCac17t9t811Ed5jp6zHdTleOojoEtJibY9J/i1VEdhjbgqI4HgerYvyHS6HQL2fkQ3f6YJ158hr3tHbJghsf+8J9z6fkv89izjx9SsqDvb/RDn+Unlrnz87sEWR5b0ZXQG63Pav45G1THOHkgQcXGXn6q48aaozqM9SwmVEd1OKrDUR32Y/c0AF2u++BQHfuLEQi/AbJHWC5TX1rhmW/9Y7orXyepLNHMauw2E2Yb0SG1eIDGDzzCarA/aNPLAzbTogNaeyfOANUxTh4oUBGnir97e4e/e3tnat1hhxzXGY8vjuo4u2AC7agOR3UM3xvV76gOu/5nuRgeeVeH8PEbz5DtvEK1VmG5Ns9WqUJXVHjjnU0uXWhQLvmUIv+Q2jxAElXCYdDmRpd6AB0JxbkSgx9w9qiO+8rRGs9Q93Ml/bs6/vf/74YFoNCDCdl0d26T0U2Lwt1o4bMysptBf7bzTqCtAIXN7rKPzI2brtBTFq7eoWP0FPoPeftrC0CR/35z6be/mZ4uch/3vRPTF2Rj/2j/N28/8/5/cHdo2n/svKN2/X/0PyMTDPt/v06BPt7lX16E8Gt4lavgRZRFi4rcINQderHkh6/eoRfLI2oVUCyd5dkS1YUqQTlEK5gNwJv2d4zM/6aTmO38MfretBf3x+2ZBxUbewn/13+4y//7o3t0p4ydGLiJtLbi75TNYtaPnTDtTJh1hH06esx3xy1H56DurMZOaK1Rwnwh6wMK48UAi/7D/v5rpE++GFs9AxswUXjn+pPStGXZ2q+xpzpM+/9on7FdkE3Fpv+DvXfCtP+PboZEMXceuw2DGl5pGRHOIXRKXd4k0B3SuMdeM+GNdzaJk+MAC/ADmLtUJ6j4BKEHAso+x7uGrD92+1SHYR8ynT9Oov/1x/Fo9zmzoCJOFX/zD1v8ny/f4pMpYyeGHbK/xzMTZbo76D+IUe+EWTF2eiO7M5OylNYWrWc5kTLcnZkCOtW33mAh64MJm9gJ4/7Tt6Fof+P6sQcTZoBiBEwUgNqkHFswYeudMO3/B/u9DZiw8U6Y9v++iumGpi+m/b+vIrTO804Y2CDCOSgto4MaPinz6Tv4pOw2E27ebbK20T2qBHQReOIHHouPzRN7gl6WB2we+QMOeicMxKb9Tqb/jW/5MxdTobXmvTsdvvvT9ak9E9BvAm01mbhTHWfXM4HGnerA8hmYAqHB1tKd6rCq33IAPXinOqYvR3sRXuUqKl7HUymB7tCQN9nxr7O20eXm3SYzjWhs0OYQzHmkqSbNFLdXuzSloC3hUExxhk91jGoeZvqZAhWbewnff32TT9aOQpH3ix55sd0dmyq7Ux2nCyjcqQ679h/aYKJTKLpTHacC6HLdB/VUxxT1j37hhYOgzTBrU5YblLxFuknIm2OCNoeUHYCg28lodzLee/MenXZGp5Md8SPO9qmOfeP4EBHadIX7DOXBOdVhPqNZAwrL3dkDcarDEkyMfp5W3KmO0z/VYdV+D8KpjlMCE/AZnOo4qv5J/0fWRnY+RnXeR2nNnv84reBRvKjOylKFb//WNWbqYa5f/Ig0VezuxGytt7j58Q5pKknTCTWMggmLSezzcKrjuPK59lT0qY6XX12nEzuqw0hHj/luqnIc1TGwxcQEm/5TvDqqw9AGHNXhqI4j9IIaXmkFnW4SJDs05Co9f4lMlkhllY9utfjC43OEgSDNNGmScfPjHbbW2+zu9CaDCeBhoDrGyecWVGzuJfzlzzb5+J6jOoz1bAajtmk983r36VoCOkd12ImjOuzH7mkAulzXUR3H1RPRHH7pHEqm+FqwyB2yhUcp1+p0U49mR1IONJ1WWlAdKZ1OOrnuwvaHgeoYJ587+iNOFT9+Z4cf/cJRHcZ6lrszR3Xs/zytOKrDUR3jPh+7HMsB5KgOA5FdVPNttJbQeALRWCaaXyTwBcsN8LOE1Zu7h1IdWuVQRnlekTfDbC45S1THOBs+N6BCa837dzp899UNOkcmHxmj33+13p2Y6tqDCbBzFY4qm5XzAFAdFguCozps9PTnguqw64MPANVhCYhs+4/N/PWpUx2H6eoMLRMQHggfr1TDm6mj0xSRxJBmZNkkMKHIkoQsywjKJYQf4AnwhUAoXeTfPNq+s0h17KtTf45AxWYz4S9fd1SHlZ7NYNQ2rWde7z5dS0DnqA47cVSH/dg9DUCX6zqq40TmHz0ExkII8PI0TlqO3+RqJVFS0Ws1SXoxKpNE9RqNxTmCMKASCpJuhspy6zIx3gthM3+cHJi1gSLsm79PNabiwaE6MO4V1oDCAkzAA0J1GBgyCiYM1AfiqI7Tpzr6743qfxCoDkMDTsI7cSapjlEbRuefgaet6M8TwASATBNUltDeuYfKJFnq4XmCEEE5rLGwUgelaUmNFJKS1mRAU+5vs7NOdYybv08FVGitef9uh+/+9KxTHVjNCqao/KCyWTkPANVhWIjGUR0PAtXRf29WxgNAdVj0/9G/RiYY9v8hmB8W8Fl7J2zmH60kWdwl6bWJW1soKQFFGATM1ATVckwjquJTI6pWqVYC5HobehmJhkTnGTcfFKpjnHzmoGKrmZ/q+GjVUR3GejaDUdu0nnm9+3QtAZ2jOuzEUR32Y/c0AF2u66iO05h/tJJoKek1N0niNlncQytJGGiCQLMwkxEEPmGgobdJrXaBmcUqM7USzUrIzsdbiFRR9iBW+RXpRraPeT9VGaPj2ES/eDmshM8MVMSp4ifv7PC3juow17PcnTmqw0h9II7qcFSHTf2O6rCcvw31BnWazj8qQyUxrc3bqDRBygzhQakiqJQ1MxWJ70FUCgmiMhceu87c+Tnq8zP4vgAp6W53SDY71H1oS1AT4ism2n7I5+PKp0F1jJNPHVRorfngbn6qo91zVIeRjh7z3VTlOKpjYIuJCTb9p3h1VIehDTiqw1EdluPPePxqUBlaxSSdDXSWkPS6KK1pLAbMzPqUQ0GgBZVqlXKtwdUvvUC5Vqdcq5HDIEV5tkJlsUqvkyI7KYsh3EuOBypOov/ZzD8m7fepgoqtZspf/WyDDx3VYa5nMxi1TeuZ17tP1xLQOarDThzVYT92TwPQ5bqO6ji1+UcDKLSOQfWIyiVaW1u0el1urq1zUTaYW1giqJSZnZllfukcF64/RhBFBGH/ErL8HmM/gIXLs7Q3O8hUohJFw4ddPRlYnByYtdwIG7TfpwIqkiynOn74lqM6jPUsd2eO6jBSH4ijOhzVYVO/ozos529DvUGdVmCin167+E9JdLZLGLV598YN9jopXuRxpbfM0y98gfnlFRpz8yNgoi/9MjR+6HPuqSVuvn6XIFNUfegqOOi8P7n+99mDib6cKKjoUx0vv7pBy1EdZjp6zHdTleOojoEtJibY9J/i1VEdhjbgqA5HdViOP6v55+BdHQJEhIo3oHcbkWxyYS4j1hW6skz90peoLj3K/PL8IYV6gMYPPKJqyMLlWdY/2CLSObDINPRzap1E/7OZf6zbryjjxECFozqMq77vg9Fg1DatZ17vPl1LQOeoDjtxVIf92D0NQJfrnmGqQ4PWCiFAD2C9Qf1GmgfsmFox7zVKgxYCv2gEQQ7wUBpRXkE336UaSi6sVNBzFwkvPs/HG4LnVEScKEqRd0gleU7NqBJSW6zS2uggNzs0fOhIkCNBm3Zg1nIjbLmh6utag4qc6tjlh29tGxmSv9H7P08pjuo4u2AC7agOR3UM3xvV76gOu/5n2X+UkggBUgt8QCFQCDw0nhhg1Yl2nhbVIdMMLTOkHyJ8D5TG9wUBw9TaygvRfgVRv45uv89sDViYoV0WZErww9dW+b3fuEQpOkh9jIogBxaKymyZ2mKVpJOiOikLIawVQZs2GzJTOQnvxMHnZwwqtNZ8uNrlu6+u0+o6qsNIR4/5bqpyHNUxsMXEBEtkbrqrHy3jNHbGjuo4Ge/Ew0t16BxIK4XWCoQg7SUolbLXbFKaPw9+ROhB5IOPphbCXro/P4Nt/zGdf7SSZL2YpNchbncJqjXK87MEUUCt5CHSPO2l0tBTIPwalC8gki38ZJ2Z7BZxeo5E+ewJwRtvb/HSl5YpRf4htfaDNr19QZsyUdR92NEm/en0qY5x+kagYruV8lc/2+SDux0jQ/ovVq6Wk/BOOKrDXNcS0Dmqw04c1WE/dk8D0OW6Z5XqKDaBSqKVou+hSzpbxJ0u9/7+J3iVGnOPC+YeucLsbERVpVS1JEsVOoC9LAcWpzH/5Hd1SOLWNkmvQ9qVaKkIQ49Q1Ll4sYEnoLsdI2OJTDUREAOEs4jyCsgOQibM9t5is/RL7DZ9bt7d4/LFOpcu1g+pfXzQZjgStHncvfnnieoYJ1OBiiRTvPLuLj9401EdxnqWuzNHdRipD8RRHY7qsKn/4aY6NCrLyMGoRiY9Oju3aa99zOZHv0CmEaWkRpBs89j1L7ByYYayB2tvrpFKhQJ8WdzYafr7Deef/Xd1JMg0xRMBUSWkGqUsz0oiXxKWSpQCQfNOF6klns7tTb0IUb2C7K0hVEogO9TTG+yF11nb6HLzbpOZRsRs4zAaZHzQZmkkaHPCrerDNvicUR3j5FigwlEdRTk2OnrMd1OV46iOgS0mJlgic9Nd/WgZp7EzdlTHyXgnHl6qI38VSqKUBA1p0iVLu6x99Aq9tQ/o7dxGJjC38gRzK+f4+h9+mcVHF6g3SqTdlLlLM2x+uE2UKio+ZNl04NRm/hl3V4cgIwygUcuolENKJYHs7BKuzFKpeszPVtkJfe590ESnCh9INWhCvMYXUduvEKg2JblB5C/SS0LeeGeTSxcalEv+ETTI8YM2D7bC55HqGCdHggpHdRhXfd8Ho0GhbVrPvN59upaAzlEdduKoDvuxexqALtc9q1THaAEKrXLvRHt7lV53l1tvfp+0t0vW3qZRq3HpySe48txXeeGb36Jcq1KulYGMsBJSXajR3uygNrs0ihVnN5sio6RB/xlSHVskvTZZ3D1wV4ciCCRhmKfWbizMMFMLOXe5ge8LdCrZWe+xuxmT6gIEeREEVUTtCrr1PpHapSQ3yLwqvdjnh6/e4fe+cfUYsRXjgzbHZdr8vFMd42QiqHBUxwkACsvdmaM6jNQH4qgOR3XY1P/QUh3F30ECKyGQWZfNm7/gzts/4eY//Hsaj16kUq8xs3KOr37z21x97gXOX3u8SE/dl/wsSGW2RHWhRtrJkJ2Uip/HD/QOsc9m/pFpikpjWjv30DJBpgmep6mUNeWSplFTw7s6Sh7nr19lbmWF+nyDIND0Wl20Fux1JYnIvRR9EX4NohVEuI4Xr1NPbxL7SyRxyF7T5413NnnpSyvGQZuNImhTafNxCyfjnTAd//eBij7V8fKr6zQd1WGmo8d8N1U5juoY2GJigiUyN93Vj5ZxGjtjR3WcjHfi4aY6DiSw0hnImLT5Dh/9+P/mxht/R9xpUV2YZ+XpL/J7//V/x8LKeeZXzo0pMV88vcBj7tIMna02MpXoVFHuJ346YKjV/KMVKo1Juk0625s5XUNKGApm64pKSRMGGs/Txf0c9eKujsYADGW9HjtrPT5+axsRK7S631MqwllEtAJZB08lzCbvsFl+kd1mws27TS5fbFgGbWo6mUkDnAyYMB3//br3gQpHdRhXfd8Ho4eibVrPvN59upaAzlEdduKoDvuxexqALtc9+1TH/rs6NKiYrPkPqO4dHr2+yJ13IvyLX2Thqd/gN//LP+PitQtU9nknRmX/4rn8xDK3f34XL1M0gjxFteJA4ieT/qNBa4VO9lBpF9lpolVGlqUIT3J+HmoVQRBoPBFRm1tg7tx5zl9/fOSuDg1ZgtAJSScBDWmmKAHtg/V5UU6BJGt4aUqgOtTTmycStBkpSVlA6h0dtDmmGezmb8x0h/1HgyhARZIpfvruLv/RUR3mepa7M0d1GKkPxFEdjuqwqd9RHePm74L/Vxlh6FFbWOTZP/jP2Y2epHblWZpZjUSFVA6tYbh4htWAuUsz7NzcQ3VS5iNYj/PTFebeib5yilYxyC6ejol7u/RUivIzttoRc/OzlKMSy1ceZ3blPPX5hf13dWgFOsP3NIvnKty91SXzBN0JDStEHrQpt1/BL4I2Q3+R2CJos7neJtvsMBPkR0wnB21OaIJjN9r9Yjr+B/uZov9rDcGHq/ldHXsG/pZBN7TenZjq2oMJsEVntuU4qmNgi4kJlsjcdFc/WsZp7Iwd1XEy3glHdQwLGFuO8PHrT5Lt7FJr1KE2Q1C5RldUzBbPImhTphKVFomfpjwNMvwRI3d1iAAlFWlzhzuvfJ/m1irimV+G2gzSb+BVZnniyy9RqtUpV8dQE8JHaY+0p7h3O/dN9LSebNdI0KZqvU9QBG1Ki6DN+lLt0KDN+35+8WK7Bhj3n8EEvh8D+Be/+s++E0/pZ9EjL1aulpPwTjiqw1zXEtA5qsNOHNVhP3ZPA9Dlug8a1TFBhD8E/tkugUjJKJF5VSQhW7s9rl2apVw6avHMa/Ijn1KtRHO9jU4VWuQXah2MrTj6RxSAou9h0QlaJnzy3f+DrV+8QuvuxwSlElde/DLXnnmKF37lq1RrDUrlCX4VrdAaPnlzi617Ma29BE3hRRlXPYAXoRGQ7SGyJoHqEvtLpCoAkbfHuaUqgX/YvSBFUZ4gqoW0NjqoVKKURgiI1fjnYz1/Y6Y77D96MIEfLOfoXzvOkCIRiukPyiNbDRT1cDBrwekBiqIhTB+M0toKUNjuLrW22OFrUH3rpyygb/eQaTUT4/7Tt6Fof+P6OYHdpRGgKFpQiAGgNinHxv7Bc7eY0Ez7/8F+bwVoLBrAtP/3VUb/MxHT/j8A81ojit9wrGKCGl5pGRHO4emUurxJoDukcY+9ZsIb72wSJ0cF9Q9PPITVgPlHZ/ADj5KAsg/Bce4hKyav/vw/WIdUDMkmqvkuS198jkxJECGNC0/y5LPP8eVffYlKo0Ew6X4OrUCm6LjD8oUyaSYH1d1X/YHPg6BNv4ZHymzyDh7pIGhzbeOoCzb7syH4oc/5Lyzjhz6hBxUPSgdWaOv5G/Pxr/e/TLTh2KBigGn1FJ3xYBnaLqPbPjBhuUOYVkfve2NajraKnThtMKHJJ1TTyXQUTHzm/Ye8/bVF7O6ca1MAACAASURBVET++83FHEwwoPqG3gmzRdmaO7XaHZn3/4OTuWn/sfOO2vV/WzBh2v/7QLo/f/e/m0ZEOAelZVRQwydlPn0H33DxzGMIapRnS3gCGgGEArzDgMVBMDH4AQIhBDrdwY9ChICFZ16i/q3/nmz5S6SiQZKoI36zAJnm+SmA2cUyHQHpiM7E/udFeLUriKCKJwS+6lBLb+LpdBC0udtMjmgbjz7g6gdt+oFHqQAWoTgZMGE6/vt1Dz4dYcORoGJQYLErMl2UjW9hG5lQTcGE6WDep6PHfHfccnSxOzPHE3Y74+LFfDLTKGG+kPUBhfFigO0tfgz6r5E+J+OdMNHZ553og6Ipy7K1X2NPdZj2/9E+Y7sgm4pN/4fxC9O0+ib9fwCipUJphVYStEYVl2VleriKD5f8CfV7EV7lKsKv4QlBoDs0pNniCVCeLVFbrBFVQjxgLpqwGPXHbp/qGNsIHkQrNG99zNa7b7J76w4AwcwSH32whqfBU3ryYidAByV2txO21nusr3XRiMGYObL/FUGbiJBAd/KgTbVLnEjeeGeTvWZyDE9Obl1UCakv1ajMlvGAmQB80Q93NRPT8T/4vVoXE8DxHAoT23lfgTiqw3RCc1SHozoc1WEORvfZYiAPLdVR/HCVZWgytFakcUJre404TYmVR6byvhUIaIQQevd7C/b1Hy/EbzwDXkioO5TlBiVtsnjmu/L5SzOE1aC40Cv3WAzqH4AJRqiOcT9UglZk7TU662usvva3dG6+hd++x3wl4xvf+iJe4OFNdIPk7SS7KZ1mxp2bLdI4vyxN7P9Xh/ykKPdU1K6AFxEWQZuB7tCLJT989Q69+Dj0UL4cV2bL1BdrRNUQT8DCJMB1DPm0qY5xMhEc9hvbeHepHdXhqA7z3+GoDkd1jJgxfRmWYMK2/9uCCXOqQ6MLr4TK0nzB7XVJWnusvfMaq//wU9bf/TlZHFOphFQqIednAup+vnj5g3LG9B8vyj0VlavgRZT0LmW5QTj14jmMITj3ZB5DEBSxFaUCQIynOu7/tQC6/RGh16E8W6e8fBGxfI0UwZd/80s0ZirUaqXJY0EDcYdApJTLglI5HARnTvUM/RoiWkGEs3g6pZbexFfmcScLV2YJq+EAcM0E0wEL0/HfXzsGnwyGgP+tP/mL74wW2H+xXdBMld2pDvPfMNC1WQy0O9Vh9/TMwcSgZneqw9o7ZK57Vk91FAuAkmgpQeU+lqS9Ta+5xp1X/w2te+u0N1YplUs88uQVLj++wheeniNrxngyv98D8vTZE03wonx8Z838xIPu0vOXSOQ0Jx7yBvY8Afn/6O3GCKWRWpMijglIBegUoVOy9ipKZuy0JfL6rxE99WvsdTXPPXORUinAZzK9g9ZkcYpScG+9SzNRJAZjQHghWvbQsg06IVQt4uAc3cQDAYtzlSMSYo24aYSgXC+xt9bOj8eIPBlWeoRRxiB88EZPPNVxXPH2GeKojkFjmpTlqA5HdTiqY3rtg/3eCtBYNMCZpToAtEZnKSiZUx1Jl521D9j46BU++bt/QWfnJh47zK3M88LXnuW5X7rIk0/NUp8tceGppfu9BYeICOfwSsswErQ53YkHGI0h6AdtCqAeQCj04UGb+4opIbVPd6fFe//6X9J5/+/RUR20pl4rsbnZxteHAAohUAg6PcVbb+7QaUsyabj+iBCvuj9os5resAraXLw8ix96lD2oFAGtk+Q0qI595RT91//mn/zFd/ozid3uxFQ3n0xtdgcYqur73piWc3aDMNEME/gY1m8LJmwjmk139aNlnMbOeOCd2Ed1GJSDXfsJmx+PXf8/KTBhLCfQ/0f/GpVhOomPFqAUQmmSbpO4s8ud937I5ievsXn7DVSvxdziPEuPPsrv/tl/y5UvfoGVR8/h+3l+BC0EQox4C8jzRkx0nwsf4dfQyTqoGLQEBIk3Sy+Bei1kplGaKndF1stIOykyVYQizyh5JP2jFVq20PEWa6//e3Y+eZ9up0uQ7PHVP/pjnn/xMR59ZI7I9yaACg1SotKU1Vt77GzHtNoSwfj8FIcYsq8PimAGHa/iqfy6i8xrEOsKe82EyxfzZGHH8eT4Ye5f6bUS0k5K6OUXsUl9/7ixAhNi8MkYTIyK/60//vPv2O6OTZUd1XG6gMJRHXbtP7TBRKdQdFTHqQC6XPesUh3DN4JhQGFn9x47dz7gtX/1P9Np3qHTvEepWuHyU8/w9K98jW/86T8tbuOcLTSGi5dAELdjsm42WLyO2vnqoAG9VYTMF8/UrxOraRbPXAaJnzY76FQOaJijKAitE3R3FdJNonqNrZs3kFGDmd/4U85feYQvPX+NUhQMYhHuAxZKo9IuIk0oRR737sWkqSI+5jPZN477Ivwiya1AZ7t4uocSZaRXRZkkCwt90p4k6aaoTBH60Bl5NtZg1JLqGNd//W/+yZ9/x6SwE7mr4wQGtLGeBZiAB+iuDpO6ORmqw1Ty3/8A3NVhAahP6q4OU3lg7uowU9/310RO4q6OwfhTKaq3wcbHr/Gzf/2/sLP6MUlrj5Xrj/Pr/+g/45e+9W2e/pWvUZ+fJ4jCkdKGi5cX+WQ9SdbNvQXRyOI13gY/B5UCdJovnlLkmTZNFs88hiCiudZGy7zWcbeY9mVwCZnsIDtbtG5/RCYhfvr3Sevnqc3NcW65wfxMZeQg65jqpUImGTu7MUmi2Gimxzq+e+i49Yq4CZln2vRVxzzTpi8oVXPApUYAV3dCps2jZOidMPdMwOHjb+qTKu5UhzvV4U51mOppd6pj5L1p/3k4T3X0x5/ef/mXlqjebVTnbarRJkL3CCqzlBav8Nzv/xnPfv13uP7s84Orve+X4YmDuUszBMURz+DgEc++DSPzjwhqeNEw02YjM8m0OYwhCKsh8yOJn8oeBAczSh5sP7/Bxls/Y/XHf8PWG6+iPn6d2ZkqGmjUS2ilJ1Af+Q/SXsjqvR63bva4t9pDHLlYH2/c5pk2lweZNhvJ21aZNi88NXJKJsjbZhrpP7vBJ8M54Djjb6qMmi6B1dmNnXAJrFwCK5fA6iwmsBqOfaGHi4Ee/Rc6Qcs2UeTx4rf/kPNf+QMe+Uf/E53gApk3c0QN+xevlSeGi1fFh0gM7Rg3/4hwLgcWQb54zk+dphr2JX5arFKeLeeZNv1hps2D7ae1BBmj2h9SXTlP+95tsr0tyrrHtQsl/uD3nyeqRJPzU2gNMkO2mtSqHq29BJnpiUnA+uP42N3Hi/CqV/NLx2yDNsORTJvHDNoc2E3/2empEliNLeuYSseiPxzVYbMUnS6YQDuqw1EdFgXgqI7RvyZi7tklf3gq70JjixEewiujk3U8TxOUa9QefQZZu0yiwimCJkeOePaDNqUm0/lRxokHIoQPRdCmKII2xUkFbWZ50GZb3t+GAgXxLYRIyTq7aC+kO/8F/Gtf4fqLz/PIo4s0aiVgmHvjoKheG08r0lgiFew0U7Ixc63puAUgmEH3hkGbqd8gMQzaFMcI2txnd//lU6Q6xsmhngpHdTiqw1EdpnraUR0j7037z8NJdfQTWCl0JgGNUgqlNanc3yME7Mt0GfkZNbFnmOky9xZUF2qUZvIFueoN00RPElHUL7w8TXVZbhBNXf+Qhpm/PEz8FBQei/sdDgIdnSPe2yLrNNld20YsXSNZeJz33lsn6aboTBEc9otLFXo9SZIqNrZiJIK8tfti59nSIgK/iqheHWbazDbwLTJtNopMm76AxVL+bMbWPbqjNpwDTMffxIyajupwVIfxYoCjOhzVYb8gm8rZpTr6d3VIVKbyvwri1i5JltLsKbpZDix8D6oRhD74wf5Ml5Fxpsv8honybEh1oUJQDga5Iw71tHtRnlGyOlJ/ZpKmekjDnH9qCS/0CTyo+hCNWal00iHe2uWDf/Uv6N14E29vlRmvw5deuAzoQ46S5pJlkk4Mv3h7j263uG6c4Ti2mX8G87dfy2MrwlmETqmmN/BVh8Qk02bosXh5lmgk0+bsSKbN4WZaf2ZUxzi571G5BFYugZVLYGWiNwImXAIrKzBh4504swmsih+usjTPiqklWdKlufY+W5+8xt23f0CSdBBCEIQ+yzM+yw2fi7N+vlstrifX4RxCpzSMryfX+IFg/lIDrxKQ+YJEHt0ewi+CNoM5PHUyQZv92zqjAlgERapGjYZkHU9vgu4RVmtk2kNvfsyv//bzPP7kec5fmEMdligq7iLSLlqmBKFHWsRTKG3+9CfO30XQpiiCNmdiu6DNi0XQZijy2IqyNzL2i5pN1xCr8Uc+fw1iKiwYiqFnwiWwMte1aH80LoEVls/AFAj1H55LYHXf+6nKsBxAZzeBVbGjVAotM9CQJV2yXpOND37E9kevsH3zdWTSZeHiNRbOn+OFF89R1ZKqpwbgtZeBEiGoHlp2EDolVC26/gqdY6SJzheTvP9mqSSOJRt7GRubySBnxWE/XgsBXpAnw8o6oFMi2aIbrEyRphr2J36CuJWQdtNhQiwE6AxUF51uoZF0Wj3S+ceIvvJHdDPBC7/0GOVyiM94V7zWCqEyVBKjgb1mSruXEZtm0ixeJmkL4UOwP+4EAenUcScar893COju9vB0Efeih7FPpzEGR+cvT+OoDkd1mC9qVv0HHNWBozoeTqqDEaojQ0uJ1pq4vUVn5zY3fvwv2froJzTX3icMPS4+usD16w1+/WuPsrBUY+WxZfB8VKrxpSYQ5CcOpryeXGtQavj8O23F7k7K37+2zurdNl2pD7+Mqw8otAYRIapXwK8O68+mvR59fwxBbbGaX48uYDEsYitEiNIhSTdh7ac/oHPnJmrlSXo6BL/ERx+s4R9y1bkQHloEJJnHzVtddlsZvdQMkh57/hYhXj2/Ht3XHUqZxfXo1ZDGYn49ugBmA52nNsesH5+Ed2JU3f/tPzZIfqULhO1OddjpWnon3KkOOzH3ThSK7lTH2M/HLsdyAJ3ZUx39V1Vc/KUVWdyltfEJe3feZPWN75F0tgh8TX1+gZd+7x/zpd/+HR5//lmq9QpB6AOaNJG0NnuoTA8SRWlABA1UvIqvu4Ag8xokqkyzmXDpYoNyKSDwi0u7it+QportrR737uzxzpsbdDoZcTyhhxaTlxbivglEACKagf6JB22fabN9IPFToiRKJbRvvMXqj/+S7sZddGuT2ae/yrNffpLr15aZqZfxxeTjpFpKdrY6fHKzTbuVoaYcjNPO30L4BYMhIOsnCysjffNMm1lPknQSZKaI+qdkpvkNlvPHpI3E1KDCUR2nDyYc1fHZeyaGetpRHWPeT1WG5QA6u1RHLgKF0Pn+Lu116O7u8MGP/oadGz+lefdNZNJidnGRpUcv87t/9j9w9bkXOH/tMYKwnw1T4gV5ad1mQtzJ8Ap6oJ+xESHQ2R6BzpCigvSq4EfsNhOuXp4lDL3BOdVOJ6XVTHjvrTU21zt0OilqEmIaBRTjHqQYLor9NNUSu0ybpX2ZNjVJsk2WbAAx22+9SjdV6PoyV7/5O/zyr3+RCxfm8ISYmHNCxT1kt4POUtbWY7qxmnxkdnITTN0HRJFpU8k9dJFpMwnMM21G1ZDWRnsIuATEx4h/AUvvIIfXcXxQMeqdOK0gzJEPxm4eq+nkdAGFu6vDrv2HNpjojHgnTgFM9PXdXR3mBpy+d4KRbJgash6t9Vvc/PlrvP+3P2D33jpzK2VmlxZ54Zvf5vlvfZvz1x6nPj8/pjSNH3ok3YxmO2O3l1+PrWBwPbmQPYTsEtAjK60gwjLLK4v4gc9sI0BKnXsnbu/x7lvrdDop8aRTGod4Jw6K8KJ8nKR7CNkk1F16wRLpyPXoswa5M7q7PYSSSNkmTfeIO3voUpVVvcjGF36fYGaeJx6/wNJ8bWI8BVqj0hSd5Pd8+MDGTkp2jLTX1htCQHl53AsyjzsJVIskNLseXSAoN0o011roLPdRJPrw69FtvRPH8YQcDSpGwYSjOsx1Lb0TjuqwE0d1nMxG4HS9E8bq+/4alWHtndCDZ6i1Qqctkns/pnvvNd754SvsrW9Tml9k4dHL/JN//hdcf/7F3DsRjVtgBGiFJzPCCNbWeySpQsphncKPQCVoneGFdaqlKrOPXIMgRAhBKDSrN3e5/fE2q3eaxLEc750o5v9RMHGMRI4IEYIugjZVETQ6ErR5brE65W2dRdBmTxII2Nu8w9qr/4GNt9+gHc7TPf805UaDi+dmuHxultATE+77EAgvvzxt/U6XjbWYOJaHL8SDdjCX/obi0wjaFEBnt4fQGqmKoM2D9Vt7N4//+w8FFY7qOH0w4aiO09kZfx6ojr6+806YG2ALKEy9c6PzlxiMhKGk22+SbL2J3P2IWh1U4yrnXvo6L/3T/4ZHrjzCyrmlQ0oXkGX5f1JRqfqsryek2UhQZXE9OX4ZEa3gVZfxgxAvCEjjjM0bm+xuttnbjceCCa0UKpMoJXNAUdjfv5zrSAe98CGoouJ1tI5B7c+0OXUMQeST9jLSdgcZt9GbH/DhX/9bmu+/gShVOPfci7zw1ef4yvOXqZfDyfEUKNCKOE64/VGT5naapwH3xNjLy2zn8Enjv389uigybUrDTJtBcT163IoHmTY76mBKc0PjD7H/MBkPKka9E47qMNe1Wgwc1WEJrk/GOzH6eUpx3glDxaLSsx2Iyf6bREdFCLygSrLx95DuoZN1Fp+8zqXf/S8I588z0yhTKfmE49Il9sXz0GmMQCG7KVIq9jpyEBuggX4KbYIaaIFQGqQk222RJRlpOr6HyjRFpimtnR3SuEtQKuMHPqXQJ/AEXj9J1BEuC62BYCRoE8i8OrGuDODCsWMIPEFU9Wmv3UX37iCTNlm3zeZ2k87ll3jiV3+Nr339WVaWZvK7NpjgUdEpQvdyb5HUxO2M+fmAIBAkSpPJPB+Gwm5DBZPH/7igTWURtBmEPmmcpzbPMkWpCNo0PCF7pP1HyX5QMQomHNVhrmvpnThtquNEvBOG+v0yHlbvxEmACReIad9/jDYyxd99VMfEf63wyvPsvfP/kO28R1DyqVz8EpXzV/GCgMVGgO+NS089Ip5PsrWHyDKU1LR7im6qR+YfAWK4YGulIEvRanz/0EqS9TrEnSbtnW1kkiK0JAgEC8t16o1SvuBKjYcmLCipca72AagpJqPR69GlVzWKIQCdB23evYnobaPSLh83nuLe0ovs+bM8/8wjNGolSr43+bpzAJ0ShD6+79OoeNQimKn77HUUIVAWUPGgp0af6fHlOOO/H7Sp5R6cSNBmtC9oU2uILa5Ht5m/BqDCUR0nsDMuXpx3wqJ+8+pHbDDRGfVOOKrDVBzVofd/N1YUwvNAtlEyprv6NtlOk6j2NMvXHmP23DyZFtSj8Xc7AHk/LbbTWTvG05pOV9FLGOvGP9R+lefK6DU36bW2Sdp7aJkQ+ILAVyzPZ9RmalQbVUoVH1JNRSgaxQGSWA/7/sH2yxdPAdkeImsSqC6xv4QSoUEMgQcodHuTnZ/9O9IP/oq9cJ544QnKM/NcODfD9YvzRJPiKfrtJjzAI6pU8bTGFxrhwfJKFdVJqaPwPMi0QCoocbyxPfX4PxC06csTCNq810KnCkH+XA6LFbG2/6B+MY/6v/1Hf/6d06I69uk674R53bhATBeIeTJj97S8Ew8s1TFRI8GLamip6K5tsPHaPO1Pejzyq1+mNNegUgnxvfzOi4m4wsvzM6fdmPZGD19Dszgeedyfo9IEmfZobd0l7bXJ4i6ekJRLinpFsTCbEngZ5VqFUqXK0socKysV2O3hqXzxSjQkhwwA4YUg48HiGarWgAaZ+rbOKEK119j7+b8jufE6s6FCX/kVfv8//TrXrq5Qr0aTqY9+OcIDESA8H78cobKU2kqdsBJSCjzSTkKtHhCUPIQClWlCHzImt6vJ+BfCRwc1dJwHbWqdR9pmvkXQphgJ2tT5DbPHsc12/hqd//3f+pM//46td8LYkH1vzp534iTAhAvEPJ2dsaM6TsY74aiO41AdozLiztc9PD+ifSugs5qRtAN2bt7jid/5MrMLFUr+cW4IFfSaCUk7IY0loS9oJodkwezXrhWy1yJu79LZXkWlCegMP4CZhmKmqqhXJYGvqdSqlMsR1774ODPzFcqVEE8Iurs90JpU99NETzIyD9ocPfGgRIicOneFAhRBpUa8fY9eR0D9cR67/jyPvPA0c4szCDgCVPTL6i/CgrBeRgSasBwgPI9yRTC36LG0ErGzLXNw53vMNHy6sUL1pw3Mx/+oc5Sgge7dQ6gOAshsgzabk4M2x9lx0vO//1t/9D9+x7xASz0L74QLxHRUh6M67L0TpwHoct2HheoYJwKtJVq1EV5MNF9n+6NtWolm85FLeKWIa0+eJ4z8Qb6F8YukRniCoJxnnUxjSbOd32yaTqw7P/2gkxbd5hbx7iYqS8FXRJFgcUlQKWnKoSaMQmaWVli6dImrzz5LqVzKbSoyenZbKcm+ezkmt4UgP/HQD9r0VZeeP20MQQ4svCikcvEqu1slVOkJ8GtUahVqy/OUj4qnuK/IfFMhitiToFwmKglK5TyeZXahjEo0F1fyYM441WSZZjbMAyH7v/m49Q37j86dJtyfLEyJMsomaLM3JmhzjB32Y3/8DOT/lkGabmtAYQEmwFEdjuow1RsBE47qcFSHYd3Hpzom1A8FoE1Ax+isR3i+xnvZDFtdgShHXLy0wPnlBgGHeSpGFpNywOqNFmlBfyjG9FMNFGAGnSB7HZI4ZqfVZrfd5PzFiErNp1SJKJUrPPL4k5x/7HGWLl0mKpfx/OHCNjji2UmRmaI0siseb2oetKmLoE2NJFQtelNdONb3VnTBg+r5C+zd7VCq15i9uMzcyjy+d/h155PLzX0cQvh4YQgqwytXCMpV6vUIL00olwO0FswEUFaKWgjtghPpe0cO6xOD/Yw4AEa9KFdOmyBPIGizlgdtUgRtCvYHnZ4k1TFOpgYVNq5CR3XY7S4d1WGjp3FUx/3vpyrDcgA9fFTH/eUM9QQQontrCLmLVD2UF9CUVRIpuHJ9haX5GrVycEShGULkV6VrDXs7CZnSxAdt1P3U2hJUktMQnubmrZvcuLvBZrMJaC5dWqIxP89TL77E3Mp56vML+8BE/5dMvJdjQhtryBdP8vThfRpEIAwSP8V4gUB4PjMXLzJ/5VHmL50nCEMDQDFabqEtBAQV8EO8sIQnBAhNqRax+MgMyU6PQGh8X1CvB8Sxxi8W7XFJ2oZgYvDpvn8jRAgqHtwwG1gGbVYaJfbutRBFps1YT342x5Fp5v9jgQprz8TIB6PBqM0no7G2mOjaPBBHdVg+PTP7HdVxMmCib4O57sNMdRzWfzQQort3CEUPQYouN6hevEyrk/HYlQUq5eDwHaoQoDOCQKCVYreZsNWVBzZyozeJglYpZE2ynbfwVJMPVlt0EkF9foknnnmSF776EpVanahcGVfhSKPsv5ejH7Q5evrkvv5XBG3qrDnIXZFOHbQZAIqgNE9Ur1OZm8ELDgMi04oYOSUCXuATlEPCWoQX+FRmSqSdhEeuVSjXfHpdRZooGhUfVXhA+x6b/s6+P4FP7D/CRwRVdLwOusi0yckEbSqVx70k2sxLMe38fySosAYUFmACHNXhqA5TvREw4aiOU/NOOKrjEBEeQmu0lqTbH+Ila3iVGqoyT1Bt0OykPHZ1nig4wu2tNboX46NodzM6XUma5lDm/rs68uOWevdNhGqhZQ8/iIhWnqRx8XGuPHad5aVZqpVwYnWDxevgvRw6DxBN9f2Jl4bV54vnuNwVx4shEOSEUAnwEN5JgolJVQqE7yOExvM8vMBnZrFEEEiqlYBMwkzVZ6nhsTTjs9mSCA2RgEDo4e2xHB17IcIZdO8enmXQpl8Ebbb3YpJWSiCODto8KKbz/6GgwhSVH1Q2K8dRHY7qMNXTjuoY836qMiwHkKM6jqnnhei0R9a6hWrdJki3YO4qlfkFVi6s4Hkec/UQf2IWLJFfn54keDKlUvbY2EpJM42c1AhaQdiAzi1CP6Myu0i4cAXRuEirm3H5fJ1ylF+PPllGF6/iXo4xQZuTd+bBfbkrjh9DIDjeEn249OfZ40seNuv5AZ4n8ITGCzxmluYIVUYtAs/zKEU+IpUshfkI6J+MCTiqTfyBPSrdRSiboE2JHwqSXka7nZKkilTnNMhRYjv/3wcqrD0TIx+MBqM2n4zG2mKia7MgO6rD8umZ2e+ojpMBE30bzHUd1TGtnvBLqN42snOPePsd/PbbLDz924jyHGHo0agEVKLDKBAPLSUqzYjbCSUPNvcysgkXjg4yXeKhZYtApOionl9PrgK2trtce3Rm+ns5iqDNqAjanJgmWviD3BV6JHfFdEGb5qLJc04oTKBJ8a89L2/HqIrwA6JKCdWLqS5WqdRLhFmGjjPqFY+ehAABKvexHNpHvCj//0aCNtPQJGhT4fmCTAg2VzvcaUt6x8hZcRLz/z5QYQ0oLMAEOKrDUR2meiNgwlEdjuowrPtTpToOEeH5iGiG5sf/lmTnXVS8jS98Zi6/SKVWZ6ZRIgzE4dk1PZ/eVgvVS5GJRAGdnprYJsKL8jOT/evJZZeet0iaDS8Nn+pejpGgzf4FZfFh82k/hmD0tk6mva1zOknilDhOaHYTZDkiIfcemPk88jZHePlxVCEIZ8r45YBSo4xKFYEPtdmAixcrbG2mefZOX+AHHukI4hrAs8E0dn/QZhpNF7SZpIqNjQ63brf5eLVLkiqyQzROYv7v2z8AFTauQkd12O0uHdVho6cd1THm/VRlWA6gs0518FlRHWN1NWiF0glB7SLtGz8g2VxHNldYvvYci49fRY2k7J54+SbghRG9nTZIRdJTdFNIJ3kr2L94KZUQSpMjnvmvGA3aZELQ5tgSghl0bxWh2gBkXmPKoM3jSdyN2V3fKq02TgAAIABJREFU5fW/fo1EKfxaBe377DVjKr43qKM/H08rwvMQvofwBZ4nKDcqVEqK2cWAIBSEoUeWKK6fL4OAOFNIBWW/yHcx2k5jgjaFEMcK2kxSRbeX8e67m7z/4S63bjXpFSBznJzE/H9w/fS/YZunwmYwWrh6x9piomvlqnZUh+V66qgOR3WcAtWRIyGtc+/EvpXkwIpy2AJzEv0nn38Uwg9BSVQSsPlT6N5U1BYvMnP5AvWFOgiohJPtESInbbTSbK22yFJFmulDM11q4aP96iBNdP+IZzL1Ec/xQZuSHFRMrB+/3wr7Ej9Nl2nzcNFao5KEztYOb/3oDdZub7C7vkt9ZZG7d1qs3d2l10mZn6sg8VBaozjEK3SoDPNdeJ5PUCnhqYSwHFIqlViohZSEYrYWsNuRzIaahp+nYu8V4K+fuEvTD9pcy4M2hSiCNsu02hmXH2lQLgX4I4a22il7uzGv/PQ29+612d7uIQ9x353E/D9O2TxPhQWYAEd1OKrDVG8ETDiqw1Ed09atcyiglSpsEEgpc2zaXxg5OhTQPoHQ6O8XQA8v8lFdj/bNJs1bbfbubXH5G19hdrlGvR4gxGEpqPOjhFmm6DVj4laKT56caVxb9b8TsC/TJWB+L8eBoM1ATM60ORi3xW2dyDxo01edKYM2DxeVxKS7e8h2h+Zuh712TKp91jcVrW7G1lYHrRWlckQqItb2FNVIDECS5PB+ML4txGB+IgghKBPWqgil8dF4kc/5R2eQe10qKPwi9kFlENJPjlYAKSFANfF0jBJlRGmGoFQh9Us8slwhCoZUx82bu/z871dptxK6vckuqpOY/w+bP44NKg6CiQNvj2+Mozoc1WGspx3VMeb9VGVYDqCzS3XofCJVCi3zlVZmGVmSsHVnlbjTpdSo4PkeUeDhafD1/YF1tv3n/vlH5D9KJKCb+JWIeC+m1VKszV1lda3J8197kmqjhMfhoAIUXuiTdFO6rYztjkIr9nHp97XfIdeTm6SJHg3aVCNBm0Ngc3//F8VtnaNBm3EwTQzBISIVstdFppJMRGzsaZJoHi0CpNQIrUg7u2QIYkooL6TV6tGoBqR+7v3xOPz+lcnNIsALwPMRwsMrhQgPKss1/CggDAQyTlg8XyYIPdJEI1NNJRR5IKkobniVeQbUMCgRzF6itrRMEAUoDSVP8/77m7z/4RY3b+7S7cmJ3omTmP+Ps35Ol6fCwjvhqA5HdTiqw947cRqALtc9y1QHaCXRUubHL9Ek7W16zXVuv/U+e+u7JN0eMwsNzl2YYeVcmUCRJ3QqcOzYtNdT2j9x/hECtAJiPLqEcyEf7VXYSwKyIAc6jz15jmrocxQR4KEJSx53V7vEsSIrAgIlk9tv0vXkRmmiJwRt9tSId+I+A3xEUPtUgjY1giRO+fh2lxtrKR1VQgsPUbS5UHvorEncblKqz9Frtmmub9Dc3qWxNJPf+KoUSPZRDSYiPA+/EuX3q0V+fhx1IaA26zG3GLG7lVIpeczOBDRqPq2uRBMiUHilRXT5ImFYJ5pp5NRWL+Xj9+6xsX56VMc4OV6eCgswAY7qcFSHqd4ImHBUh6M6pq27oDpUloFWaK2RSY/25ifs3X6Du2/+NUm3RRDNUKmW+dIvX+P6E/OsLFeYnY/YXY8RmaIS5rEBRwUdjrWheDlSVXiQttDxGiRNGrMe93ZKdKTP3JVzPHJ+hqW5cRkuBwWAUsUV4xnVesDGvR5JWsRVHFn9/deTn1TQJlofP2gzHqVh7II2lZToLKO90+STO1229iRypCEEAqFThM5AC9rbPTprG2zduI1MEqJ6DYnPe+9sMFMrEYY5GElVcaL02Jbs+5XFX48gKuMFEAQaIQQLKzNUPM3ynE/oC3qxJksFs6UZMr+O9ut5xZlEphnt9W2SXkovPj2qY5yMBRUHwcSBt8c3xlEdjuow1tOO6hjzfqoybN2cDwrVoSFLumS9Jhsf/Ijtj37Kzu03yLrbzC4usPToVf6T/+pbXLy6zMJiiTAAPI/AF4hugl9MytkxFuehDUw5/3hACMk9PN1Fyy5hNSS4/AQJAfMLFeZny1RKh9wFIgSoFE+AyiSZ1GzsZfsW0sm6+68n1zqPJpj+Xo5h0CZoujt50Gami9wQkxpE+MXJFoHKdhG6h2TaxE/7RSUpydY2Kk0p+bC+08/dMVzYESGQoZlDKZ+kG6PSmCTRpDrg9p02vZ5ka6fN0lKDpvTpZPlJnNAfzvPTSUGoCJEH6GqJV57B///Ze7Mgy5Lzvu+XyznnbrVXV3X1Mr3MDHpmAMwAEDBYCApjEiBBihAX0KICtEQzbEcoFCJfFCFbDoUDEX7wm1/87lDoweFg2ApJYYdF2pQobiB2AsQMMAN0z/T0Ul3r3c+emX4491bdqr73VtW9RTbQc7+I7jq1ZJ48eU9m/vP7f/n/PJ9SSUGeUa54OCHxcwu5w5ea2IG1DpsbSBKcHX1k+Dzm/0nXz9E6FVN4J2ZUx4zqmFEd03snngSgK8r+hFMdbhjVsc3Db/9bOtu3iRoPCUoBV269xK1XX+W1v/cFFi8sUluo9bQHQAceSimyMIXMUPIFiRNYd7LnZOL5R4AQFbL6WxA+QmpDGqxgyktEieXWjRV8X41R1wSEwoQhwuSY3NAOLVFyOijUD9q0A0GbZ8/LMRC0KcRIpc2h1gvadKaFyHpBmxNm6+y3JQ8j8sSQRpawY4jy/sgcPO5TASFx0gMhEVKDH5DEjhxFlqVYm9HudJHleWIrkc6ipEMogWFcevqTmihAlUAUSp1CSFSg8OdLLKxUaO9EpKklNY64/06dMDj+JqmOYWUf16mYAkzAjOqYUR2TlhsAEzOqY0Z1nPXeB6c6Cq1EZx15EtPeLaiOR6//AWm4j1aO2tIyH/2Fv8srn/08L3zip6gtLqC9ngdAiN4pEIH2FS63KGspVwS1kqQROfIRL9lU848DkFhrsXlM3rqPTJvga6qrF9m4eolubLm0WsIbmQukGDfOWEwUo4QjjgtQMVJdc/D2x9KTn0fQZp4Y0pFBm8Pa4IE5FrR5pmydx9qiFPUHLfY3Y4xxpIZjIlC9+UaIogFSIrRGqCLpvLM55B3S5kOsNQi/gkPx8Ef3qFQ8hKdQSpLlDi3EWB2RE9sKSK2RnioCXo0jc4LNrZBG5sYDMs5n/j8Pz+qhToUb/genr3RGdcyojknLuRnVMeT6THVM6+b8iaU6eiYcuBxwZFGHNGyz+fpfsPvDb9Dc/B550mFhdYXVK8/w8//NP+H6Bz/ExRvPov3jC9ThSBZS4VdKiDRGYUGBkIIwcVh7rA1TzT+Hib+E9MEa8s5D4q2vIFqvs3DzY6jyIkGlglJFLpBRzgohJDgwaUraSlC5pdEthJbGu8p7138NQZud3cOgTSEgsUPe+X7/CQXHgzbFZEGbQjiMNSShpb0XIYwjhyMxJge78h5dI4oPof8ERcK3PAYbYdIc5xSbb96ls7vP7sM91q6sEcWWZjMG5yiXilMZfWw1CcbIcojijB/dbvDOvQ6NTn6QlGyYncf8P5Vn/9h1ASqm8E7MqI4Z1TGjOqb3TjwJQFeU/UmlOg4vRG8CcEBUf0j46B3u/MG/orX1Lp36Np4fcP39L/HCJz/Na1/6L1lcu0htaWlM7YI+7y2EQJd9bBxTqmj8ik83MsSxPTxmOJV3YiAtee+HQvkk9ddJdv8KEz7A7r3Nwgs/T3XlAvMLZcqexB+3pkpJ2k5JWjFZnFNS0Ijd6Myhx66nz8txNGizNBccBm3SS8HtBsbukP7rB22KibN1OsCgdAGykk5KFmcEGiLD4SLt3MEEfrQNfUKjd+TWCZzwibuKpNshDmOEg3ZYgLad3RCtJb6vcVLSTCDQjAR/o6wQsIr5+jc22doKaTTTsd67J011DLtWr33xd788aYNmVMeM6pis3ACYmFEdT8w78RNLdfS+HsnVISwm3GXve3/C7d/7n4m330VUatRW13j1V3+FVz73eV765KeZW1oa4p0YbUIKkBIvUEhl8XxJlkESW/zMoYGMM/bDIJh4bAKxCClQlQtED75G3myTbi8TiEUuffgVVKmEr4ogwVEnHIUQKN8jqnexmSEKLXkuDjwEJ75/Q/JyiKmDNg+VNnNXAAszYv4WBwnPBAwqbU6UrdOhfUWWGrK4R8Mo6ORgD/b4w8oOSl4pUAGICqAQSuPyHOcFZAaSXGCMo9VoUp4r08klRqoiuZonCtB+rFXH7aiA1RbdTvZEBazGljvhe/WZL04i0z2jOmZUx6Tl3IzqGHJ9pjqmHEA/6VTHY2nJnQXXwOX7NH/wVdrvvkWSKUR5kV/47/8HXvjUq2w89yy+70+e10EKcAblSSrzHnE9w2UO4RxSQC5O+UxuFJjoP03vnzPo2nX2/nSXzu0MsjILz19n8do6SlGk2WaMe10IdMln526bNDQYU4CfI0JYJz13Ly/HuQZthhle4TwotCtGlRwI2iRvoycK2uzFKShBUPFo74WYzOCMQwhHbE65MRF9j0Vv3nICFQSFNHrP0WHCfbLuHo2tHWoX10kSSxzG5GlKpRocrBtw9DM7mqvjx0fAakzRodeDpl47A6iYUR0zqmNGdUzvnXgSgK4o+5RQHY+1IQHXRsqIYGGJnYcNmqXnSJ//ApWVNV78W8/j9YSjJo2jO0gY5YH0NZUFn85WhHSWalWSWUc2boUa9E6M7IT+diVFSIdLc1zm0X63TdgK8W8+w/rNdRZXyjhRSDoPfx6HkBZrc6yF1n6CNY7InUHEq3/E87yCNj1FFhvSqEiPLkSR7Cwb9z70lDb72hn6zEGbAzQMglItoL3VwfWiVlN3wv2HmHMUMRcC+lGZNrPYpEEetnA44jCn1Qy58/odPE9RqpaRWlHvWAIt6eOgo7k6Oj9WAlZDyw65HmanBhUzqmNGdUxWbgBMzKiOGdUx4b3HpiUXAlwMJiKP9vDW1nknfp5GVKZUq3L56hIXV6tnzOHw+D2EUghV5NgQQuJ5Em0zPFkkoUoNj8UtjKc6Rt6MQrJbY3C06xFvy1V2Ggm3Xn2O2nyZkq8PZLuHW47yFM5Zuq2M7U5OTqGseWobCNokb02Vl0MqQTAQtCldETSZ29FjWwwEbbq+dsaZgzZ7NIwSB5992E94ZjmVMBgMG3/9uJu+bogHNsW4MlEsaGw3CDsR7XbC8oVFttqCKCvu6UnY3/vxydUxttwJ3w+zE0HFjOqYUR2Tl3MzqmPI9ZnqmNbN+bRRHUOtEI7KO7chb+FMhlAa4y8T1Oa4cm2VpYWA0tjoxtNYzw0OaM9HK4mJM6QxlEuCMIfcOqzrHyY4K5jo38OBs7i8jfIy9qymkXgkMmDnYYOPfOI5Fio+mlEgqfdTk6EkNLspndCQnHVbDgipccePeJ4pL8fj3oLWdhebWTxZBE2Oiq3ol2IgaBPAnDloc4CGQZB0kgMapn/EdeT9R3bZQNyFKISs0DWQZcDHWNejzXzqTYe/UCXOIUsNj97d55136k8F1THMRoKKGdUxozpmVMf03oknAeiKsk8r1TGqoEWoCqbzDto2kbZDZf0K1Y3rRInl6qU5Al9Nnb/hcIcqkJ4CY1HCUq4oqhVFvWXJc4c4keoYZxLncly8gzB1qjXBblOS4bNw/Sq+73P18vwYvQqK+2YZ0mRUypLt3ZQss+Rj4hiOFy8+hPPIy3HoLYBiWuhrV3gKwiGxDQfj/7yDNj1FlhQJz/LcEgjojoitONNHJ2Tvn+p5tTRCekjpgxCY3CGE5NGdLRr7IY3G00F1PF7YDQcVM6pjRnVMVm4ATMyojhnVMeG9x1Ido0yoYtyYjPDe1xDRFqoyj5xbp7y0TOokl9creFODCujPDkJKvHKAMClKOqQstBnCsMgzInqeorNa0X8SZyLI2tiszXwtI1t+joQSXuCxdqHK0kJpTBMF2CL3hc0NFc+xtZ+TPcbPPG7Dxu30eTmOeguiVozNDK73sgxqVxwf/8eDNpUNSSdU2pRK4Fd8Orvdw/sLSMzAuz/xyy8O2y9AyAJgWGPJM0O43yZPc9L06aE6ht34CKiYUR0zqmPycm5GdQy5PlMd07o53xNUxxhTAXnSJW++S1Z/G7pb1K6/wsLFDeZWlpCyUMU8q3bAcCtmCyEEKvBxWUqp4uGVPbpdQxqZ4shnn804RY1H+k9IUCVM6zY22sJlbYSW2OpFrPTYuLzIfNXH90arayIUeTfCRAkmsTgH7ciMAX0j3v+BvBxu0FswRdBmnwYht0WchC0CJ0c2bUjQZjph0Kagr53RweWH2hnplLuxo/PX0ZfMGou1buRG6zzm/ydBdRQFeq3vKZMWOhVuGkfLhA05XnaaDplRHTOqY6r3Z/rF+Pj1JG2YvOx7jOoYdv/etfTK5N1dkvo92nd/iNn+Iasf+wX03CK+V4AK/7i3oq9/PNF5UwFSoHyNUgI/UAXNEBsqwlKSFImgxjzYyP6zFlQVU38TkdURJsVf3mDlxvMkmWNjtYzvydG5QBwgNXmri3QWk1m6sSM5li70yDgeZT1vAaZQ2pw2aBOKrouaMdI5UgpgcZqgzcmVNo/RMPSCNm0hDDbu/uPsfDZzP5lUR7+c6+uTO4f627/2O1+erDkTNuR42Sm9EzOqYzqbUR3Tg4lh35+6nikH0HuS6hi8/7FahQQZ1Kj/1R8S729iYoMUmisvf4S5pTJlX6Ilh2qYhscng2P1ux7gGIU5hOjrWFikFlTmfPJWgswtCgdSkI6IZRjXf0LqonEuJ3r0PUzrXYL5JYKlS5Rqi8S5ZWOlhB6t2V30ioP2Xpc8McSpPXJK5SzjVvS8Bc6EuP4RzwmDNg9okAHtipOCNoEjSpuOyYM2dT9os336oM1hNu389ZNOddgD7Y7DGk6fnH5II6bd2UxMF/TK2QkRSX9T0p/MJtodnbD7OOn+hat9OnQ61QvtJvdOOOeOUR1nr2ia9h8g82m8E7hzARTTvD8TA4pzeP8H/03UhAnf//49C6pjOu/E4+9PBsRIT7DyyS/huEDrQcTDr2eEdx9RKkkSd2zhGDyccMyMc2QG2kWi0vEmNXg++B5e1efSC8sEZU0pkKwtSKqlo1PtaftP+gsQXABZJW8+In3j3+NFewQqZW6xzH74uPz2kfKeBt/HKg+TWhY8gRYCKSYYt9JHVq6DriARKBNSyd5FuIzt3Yh7m22a7fSkSuh3enmhxNxKFb/ioQSsBKNVQqGIrXC6AuXrIH20aeLluygXEieGP/vmQ+LkpA+qH2gLlYUStdUqQaXIpXLBO72s9rTz17TzP1PMH1PNX72JywlRAIr+zwZMfeaLZ/dUPEnvxIzqmK7/D9swSZkB7wQzqmNSm1Ed04GJ0eUEECOUBJOTJvM8ePMa7R3B3KULLF9dYWmxhBLF4iUGiw3IUzqTY8ImadSllftkThYZquUJi46UIAppaiEEnqfwRIanBcY64rwIITh9/xVLl9Bl8s4eWX2X+F5Kduchz3zmNbzFBZSCsicZHlpR3EhqRRpnpN2MTqdwB0Rm8v4X6ugRz7Pn5TikIfpKl/2gScFwpc2DuVt4FIJcbTDnELRZPRa0yeMJz463Y/qx//RQHcPsTKDiSYKJaVy9g2BiRnVMUm4ATMyojqkAzcQ2xfvfK37k6yT240V1jLiTk5DuoGSMST3aW4JmV7Lfinj/Z19kYS6g7BWLT/+k4hHaw1nS7XdIt++Qtuvkfo1YlokyhxKgpRgDLA53wcoLkErh0hTlDJWyoplAnh/NcDreer2lFLqyQv1rPyC618K0LUIp1l5+gXItoBIIlBjmdu7FDkjQJc3Ogw5RmJOmxSeQP/b3o+1g/haqd6LlfI54gqA8JGhzUFLjYCHtv//CK8SwTIhwGdqcQ9DmVhG0KRittDmjOh6nOobZqUDFkwYTs1MdT2ZnPDvVcT7eidmpjulOdZz+/SniGrAJZA1839C1jsbSIt0PXGezGfLhFzeolryR6po2T7Fxi2z/ATbtEhtJy5TYiSSd1LJckSccSz10e0hdHHNV0hFUPeZrip16hskdQf9+Jzy5wwLFAuqtrNH8zm262y1yuc7F999g/fkLIKCnfTk87sPlOJtRqmp2NyOyzJJwOnXNYfP3+eTlKKwfNMlA0GZfadP0GyAOWlL83094luyAO9TOyNV02hn9+/eDNvv9M+38Ne38P5Vnf8T16Qr3Wt871TH4s3F2Iqh4koBiRnVM1/+HbZikzIB34gmAiX75GdUxeQOmBRSTvv9u4OKvj+oYYUKBs7isiQnvossdHi1doqsDgnIFX2uubcyjB2SbjxbXYC15p0G0+S7JziP2vTVi4ZOmYIxlvjzmxMVgXbJI6iXJ0QqklEghsZ0c3XP7DMaJHn/2PkRwdBGeBJtjnWb7/hLtfY+5jVVWry1TXSgdCEYPBxUZUoGzRRzRo0ZKeoqTDmPn72NHPL2J8nIUL7fyFAJBPBC02TUURzDHHMkV3jwu3kJOnB79MGhT9II2Tf/+tggaPZOs+TF7L1Adw2wkqHjS3okZ1TGdzaiO6cHEsO9PXc+UA2hGdUxuTiqyziOy7kNs2qAmmmS1m8wtrnL14jLLcz61sh5ZXiiPZH+XePcRWbuJCuvseRvsNhKa9TaL1YD5qndkrhlZlxAIz0OYHK/qoQNN0skxUY4nIZfiCHh6/P1zgIa8gfJSsszQ3hG09hXNnTYv/OwtFuZKRymdoy0AJC5PUM5ikoxm19CJR/fwaebv8zviWdxMeYp8IOFYIB3dYblUDoqqw9IDNIydkIYp7p+ThBl5ZtECOlMcMX2vUB3D7DFQ8aTBxIzqeDI74xnVcT7eifc01eEG99d/g96JI20Ah0LoGlnzLYj3sa23Wapa1p/9WwhdplbVVEsaTw+HA0IqdGWe8OE75HFMN/Vpd3N2OoJOmFPxBLWajwo0jpNTkAspEL5CaIEXaExqMYmhGjiqGjr540cpD69FsWDbGJdsowNLEgtSfPwP36TeSXnpAxcpj6F0AMgNNozRCqLIEiWG7LhexUH/nd4Gj3hO5i0orFC6LBKOuSzH9bwUybiAUukXD3yOQZvtnS5ZYjCmGIXjgjaP23nM/1N59kdcn65wr/VnpDqGVXMEVDxJQDGjOqbr/8M2TFJmwDvxBMBEv/yM6pi8AdMCiknff9dDQs72Dvn3gOngsc3+HDVuR38e78/R+ccivQXab/0e+d5fIW1M6cILVNZvILVmbSkYf5pDOPTCCjsPmqSJITWSMNeEjYTG/V02Ls7hlX2Ep3CuqGccsCjyQlikkpRrAa5beA6ULH4f5W60RkKf0slbCNMgqMVEFy6TBWVkrYKUkiuX5tFKDm+DEEXfZBkuyfClY7eRkRt34JGaCFAM5OVweROmDNrsB022jildjsuDJoQHvaBNbBG0mfmTBG0WSeGDOZ/mo5A0sxgH4Sn75L1KdQypqgAVT9o7MaM6prMZ1TE9mBj2/anrmXIA/cRSHa6AAjbPizHgwOQpeZ6R4xH3dsK+FmgJJa9Y3I7fb/qo+uPPX+TlcCbEmZh46w3yVotS5RZrN9/H8qULZE4w54/SRbAIBVaARdLaL04mRF2IHzWxOw32H9a58tJlZODTyUALGJffq0BWRdIpITVBzSdthXjKUZrXRClE6VFPz9HyCps0Ma37uKxOoNskwTPkqszypQWWF8vMV7zRt5eSPM5I2iFZlFHxYL9ryeyw/ju9CekXAmFT5eU4FjTJGdKTCwXqaNCmEJMEbRqkEmS5oxXm7DRT9vOTPXfnMf//JFMdA9UcmPrbE+hUwPmAiRnV8WR2xjOq43y8E+9dqsMVE6m1OJODgzyNyOMOu3e+RdhpYVQZoUtUKpqqL7hUE1QDQdzfkbvp35/R848DLNKv4owl3tpi7xslwrsdLn3yEwSLc1SqPkpBoEYs4mRoX+OcoNOK2cuqCKXpPmqThyHSdTAuQa2uY6RGCIcnxVjxpsJbUQRwIsHzFb7nCHxJah1x4nDGIYf1i1AIWca070DWwiZt/JJj6X0v4VSJuZpPrezhj0I2QiC0Jml0sJkhS4psqp10Su8WnENeDhgMmoTTpScfHH+DQZs4MPpsNEyaOaI44/bbTe5vRTS6OfmY8XEe8/9Unv0R16cr3Gv9OVAdw2wiUDEtoJhRHdMtBodtmKTMgHdiRnVMbO9dqgOcNThjwFocjrS7T9ze5uG3/2/aW7fp7txh4fL7WLu8ypVri1zbKKOMQTtLyZN00uLI3qR2uvnHgY2R2iN81xBtJqRdRfPeI57/uY+zuFIm0IWHYeRSk2coKWlFkm4sSLKCd7eNdyB8F+hSurCGqC0RxhZfODwpkWMp/GISl1qjtMSZHCUs1Yqm3bXY3OLsqPnNIfxFogdfJau/hbQx/vIzeMuXyXK4dKGKp8bpaIAMfJqbbeJOTpY6UjOeXhhmx8f/eQdtniY9+ZH3d8qgzU43o9VM+Po3ttjaCmm00rHesxnVMb7YmUDFeXgnZlTHdDajOqYHE8O+P3U9U6Kpp4PqKFJ7mzSmu3eX1oPv8eh7v08aNtAKaguLfOCjt3jxoy/wzPUlagsBeTtG4QiqEikF3dieuS2nn38EuBzoIESEv7RA/e09OinsX34OWfK5eesivq9QDAu0FGAdNkmQeUa5pNnZTzBWYKxAyxiiB9i4g6wukOo56h1HOzSszo0OAD1SPyCUQuCQCvyKz/ycZm8nweWOkiye8/BIo0NIjTMJJg1Jd9/AdOt4lTUWLt1g/coGqRUsViSjNuRCgrU9D8VuhLOO2BWg4rQfxbjxPxi0CZPk5ShsXHryke/MQdBmB0wH5WKyAxpGIpVkbbWCHnAlpZlldzfk3r0m3/nuFt1OShQ/3WnJz5PqcA6sMUXum37clDglqDgPMDGjOp7MznhGdZyPd+K9S3X0/ncbuCBLAAAgAElEQVQWZw04RxaHBdVx+yvU3/4GjQffI487LKwss3rlOj/3X/3XXH3xBVbXl1GqkKz2awHSJHg9vYYwscTp6Vo00fwjRCGCZWOc6aIvVPlhfoH9WCJLAZeurnDxwhyaUZ4KAcaAycmTjLLSbNUtVvhFgbQFOiNLI0ztEhk+WWIxuWGxqlGnWDyFEEjPQ0mL1gIhC/0L183wKBZS4w4XcucsQlfAGbLmJp27W8Sbe1z60KcI5hcIKgFSCMr+cA0OMChP4pwjbKfUWxnGFMGQp9GsGNf/g0Gb56G0OSw9eWJPF7QJMYIMbUNyfx2rywTlgNXlMtWSIs0sUZzz1lt7/OjOPvfuNYligxmBWM5j/n+aqA6TpTjriMKYLDVYY9GeZl45AulOBhXTAooZ1THdYnDYhknKDHgnZlTHxPbepDr6Fw7Ri4y31tGt79DafsSb//H/IGm/TdzcJCgFXLn1Erc+8Wle+9I/YHFtndriIgc7cqkKvQYpIM/xfIERiqjH6487Cjn5/CNAeNjoIaT7WNfFSk3X1sit4vpzG6wsVqgEI/QqhAClSFtdbDcnj3Ic0IkdTgVIH5Q2CA0mapHKFZo7IZ2tJouLZebmgyNjZ+QhE0EhuOUMXkkXrv9uBkmOrwQJAuPcwA7dInRAtLNHd7NB1k7o3L/P1U9+mrnlOaqVIg/IyNgOZ1Ba0u4ktNo5UWJ7YYoj/pzT9/1xpc1zC9ps9II23QnpyYVC6CpkuyAcQnqU5teorKyjymUqJQXGEnVTvv6NB2xtdajX45FgAs5n/n+aqI602yJuNXj0/W8j/DksikoguVYTPOfnfKScjAYV5+GdmFEd09mM6pgeTAz7/tT1TImmfmKpjt5X0QMUDofLY5K9d3jnW9/k2//u3xA296jUBMsXV/noL/xdXvns53nhE5+mtrSE9geD8vqufomQEoEhqEiqNU29nmOMQ9li82+Pt2HS+edgIbCAjwvfRRMibYasrbB4/X2EkeXmM4sEgT7iEj9ej5AeSb2NtBaTW7qJI7UK4VXBNhHOgK4Rt3NauwlhO6FSEtQWytiSR84Ypct+//SzlSmB9jUmNbjUMld1zJUEjdhRbNYdRcK0GG9ukfbbd4kbCVFnDU/WuP6R63gl/XjCtCPPlCNdRqms2N2OC8luOxw8TDT+pYfrB23aDHXmvBy9PmGK9OTeIpgYUX0OVVrEr83jpKJZj0naIa+/MaM6zlANAHkS0tm8TfP+j3j43a+RhSFVX3JxfZVffnmOVy8IrokE39rHQcV5gIkZ1fFkdsYzquN8vBPvbaqDo7k6HNi0TbL5VVrvfoXdH/4l2/fq+PPLrD97g1/6nd/luQ99mIs3nj0GJh43qVTvAIQFIajNeXT2MkRmD0BFP9/D5PNPkZa5WFF75yisId39PkQP8asLyNoF/Ll52nHOjasLo0Wwejs85xzt3ZA0NiSZO9wt6wWk54H2cVaRxY603qL94BGr15ZQlQChNdYVAaHjgUXRVqkkQa2EzBKUcChV/KqTuB7IzoAcbIq/uMrmtzSN+xpnK6zfWmf1mUW0AG/o/XqUjiviFCpVyf1HMXHuHhs3k78/vaDNuDji6SbOy1HUqD1FFh8N2uyY8d4KhIbSOkKWEaKIqbBxQtbpsr/TJk1nVMcpqgEKMJGFDbb/8v9l5/U/pv6jb5I7j0urCzx7ZZl//vfez0evl3nhUkDYzlhcqh4FFdMCihnVMd1icNiGScoMeCdmVMfE9t6mOhiSq8Ni4z2i+/8JOncQAoL1m2y8+hle+c3f4vrNKyytroxPCd43IRBK42yO9jXK00gBcSsDWyygE+db6I/dYzszIX1MFpHW72Cad1HJLnL9FtXlVdauXkAqwXxFj2y/UII8N3QbMUk7RdNb1JzCSY2QuqdtJXDdBLuzBY1dmg+2WXv/Tawf0A4tnhT4JyYiE4BCCoVXCTBhF88TlKoB3cQRxg6BRJg2ggQXRVijae54dKOMuZfW2biyyHzNH00pCYnNEkgzsm6CdY5Gxx7s/qcBozjXm8AdePPYqfJyFDYsPblguNLlQfuF6v0rol1tmuHyDJvmY8fHjOo4Wixt7RLtP+Duf/iXtO69Qbj9NnPVEh99+QX+zs/+FP/0tz7L5ZUyKzWJQLB2eY3FCysFqDgP78SM6pjOZlTH9GBi2PenrmdKNPV0UB1D2iAkWAN5gokeUVlc4MLLr3L1Mz9HZe0SsZGs1vQJmTsH6wOhfYSw6EAhhSDpZvg2p+RB3NuFnvpxBsHEiAlEqAAT7ZO3HxHu3oH6m6x/7HOouWU8LamWFKWh3gpHEdyoSKOcpJvRjoojn4kDkDghwTmEqqI9n3RrCxN1ETohdwazsEbqCkoi0AI9Fn0Vs6CQxT/tK3xfEASSNIc4tujM4juFSR6h/BwroJUotl64zLazfOCli1TL/oFexdCncpKs1UYLhzWObmTpnjJodlgPDU4A/UV9miOeh31R1DiYnlyMUNo8cf4aM8DPY/5/mqgOm8XEu3dpvvMt7v/p75E0tigry9raKr/9m7/Ol774i/ziz3yMtZUFgiAA5whqS3ilCpVaGfXTvzaFoqZjRnUw+f1hGjDRu/uM6njs+kx1TAkmniqqY8TfCl0uFjqbIm2Cp8G/8iIZAVluyTPDUs0/VebOgxiC3o5K+xphwcQZGEvgCcJ8TCKpIw8xHkwc3FEqZGmRxg9+n2jnbfKoiZSalec/RHWuynxFoeVofQchwStrtja7RLElzVwPbkChkunjUDgkXq2Kje+D3cPpDG/pAtafK3KGKIev1ekynKriGKRwpjimW9WETYPLQRgDzpLGuwjRprVcoluZw9Wq7OxHfPiFdcq+Hi3Z3eu7tB1jE0Ona4jzQr3ytHYIJg6+O/oRnCIvx8IZ0pOLXtMP0qO7ImgzP37fM9h5zP9PE9XhnIE8pvP2N2j+8E/p3vsuUWOX9dUVbjx7jS//i/+O137qVT744i0C38MisE5hVQVPKzILcWYKUHHmljCdq3fQOzHNBzKjOmZUx5MAdEXZp5HqGG3Sq+JMjLMRQjhsHJPXNujGDucstZKmWvEO15mx1o8hAKk9/IpH3IxQWCqVQjwqTN1o78ugd+LETrBACraDt7BB64dfI9qtkyU3uHTrJS49fxmEoCSH5e/o1e8yXJ5Sriq2t2KyzJHR96gI+rEbQiqkkijPIOwOLgshmCdxPnv7MY12ysZKGc+TR+bAkb0ke/VqgSx71BZ8GtsRzkgCkZO2HpJ2NinLiI5/AelXeO7aOoHWXFgsjQQvQkqscYT1kLQZ4wtoxpCfInnW4fvjDibwkWB0IC+HcEVejsGgzfWVyqnTk6tjQZuqH1sxKag+h/n/aaI6cDkuDzHNHxHv3CHcuoNwjsvXbvIzr/00v/O7/4grly9xeX0NJQVCgDGSvHcge6+b0YhS/uj72xOACjejOmZUxxQVMKM6Br9OYk8kLbnUSH8Rl+6hK4sIz8c6SSartBshHpZKxSMoHQKL8eDiMDhRCEF5roRMYzxV7NLj1BJnwx7gdN6Jo4VihNY4l2PyEg+/t0HrUYm5tYssX7vA3GIZKcCTQ9osBJgEKR3WOqyFnWY25GijBCRC+UV8Rd5BKkWeZ0RiiTQX5EmOzXPmF0rIAXpiZD8JgdAeQjmUFggKHQsZJ/hCkactkrBOHu4yl2+y8cJHUcE8ga9ZrAVUS+PSuyvyKCMNU+LYoBy0svFzw6F34pRgVCiEPpqXAw6DNidJT57FOVEnI0t7SptnTE9+HvP/00R1HPzMZrjufTBdIMeGXdauPM+NF/8WH371VV56/hq1ShlfSUpSFgBcQCt2vLnV4Vv36vzZD3cJk/wMoOIcXL0zqmOacm5GdQy5PlMd07o53wNUx1gTAlldR7hOcdTUQbtl2XvQYvveHlefWcEvewilSN1JJx6KFgFFsGNP3tqlKb4nyZUiTix5nwc5JdUx3CSYNlJa0q6mvWlp7AgaO21e+Oz7WVosRJGGL/AF+HFJgrKGPMloh5ZuPGYpUz7K95BaIrRCZDFRFlB/1KK7XWdxpUZtqUJPKBIxrp/6GU4pqCKtdaFjkVlK5Tnqm98mrv8QF+2iJZQv3ULogOWlKmVfjozhEFKgSx77jzqEHUMUF5/nsNCKQzBx8N2ZPoJ+Xg5hjubl6Lfs9OnJHX5V09qJSDNDbhyJg/wUjTmP+f9pojqOmxACZ2KS+kPC/U1a797m6ouvUlm5zFy5xI2LS6wvVqj6PhLoJob9MOf/eX2bP3xzi7+4s0+SWaJ683SgYkZ1TLcYHLZhkjID3okZ1TGxzaiOsy8GR+4PhxH1UgEZ6HnirqXbjLFJRmNzh43nLpIFhfCTFCekBAf6v5U9HQswBGVFtaKoN3NM7hC28GZM5pkTOCwujyHbxwsgjCxdq+l84Fm22jEfeeUK1bI30mvgHLjcYDoRWkKUGMLEko84piKEQqgKggjhLEaUSNopzUctwmZEpaqpLVZJtU/qIBiXgh2KPi9UslC+Lk4xZIZyYJhfXGLzR39OUn+IMzlzl55j/fn3kyNYKiv0yFwgFudyvIpm936XPLPkHM0Ievj+uBOpjtFtVwcHQo4HbZ4tPbkDLAKB9RR7m122Ejc+g+lA86ed/58qqmPo73Ns3GT39T/h7T/5d6TtJpVKhevP3eJTH7jOC5eXWaqVUVIQJ4a39yL+lz+6z3cedHh7t0sUtmncv8PWd986AVS4GdUxozqmqIAZ1TH4dRJ7IlTH4P2P/0DoAlT4VYQSeJ4iaiWo+iO87h4uz5i7epG8t5hIxPiU4AMmtSped2cRUlCraZr1DJfbAtSKsz9H0X8KcJC3cfk+pVrCw8V1Ol4ZqlWUlNy8soin5FBQIYQACzZNMUmGto69lsXYMXEfiCIlt/KQ2sMZQRammHadaOchS8+so0olrCx0LPyTgEUvbkNKgV8tIbIYpTVKWrCWzR98m2jzXSrL69Qu3aS8sETmYLEkR9SbIZU7AIzb+wlRXsSKHIDIgQlgqvEnHg/azLxVnPDOoF0hSTPD/n7Mg4ch7+4mZLkjH3fvXgOexGZk6vnrr5HqeOxvTIppvkm29z1Md4udt97A83zWNq7yj37rP+fjL1xhbbGCs5Y4TNjb6/BHr+/wl5sxj/ab5FGT6K0/JnrzL9h769sjQMXBAJ58QZhRHdOUczOqY8j1meqYEky816mOse+P0Ad+e4GkojR28x3s3jZIh7+2Ql6eZ69V6AJU/VEL2/F6i/TchY6FRJUK/YhuM0M4hxbFiYvTPM9j/ScUJq5jW++SJ7vUvJCGdxmryly/usrqUoX5ije6aVKRRhlJPSLpZpSUoxGPOTEhBA7Z8+4IlJLIOES3N1HRHt1Hj1h43/vIlU+zmVLyBCXvJPTVg2lCoCsBptshKFUQ2rBz+w12b/+AeOshFz/yM8wtL7O0XEaIArAMpXVscbIkT1P22xmtsHC92P4EPo1361ihYUGbp01PfpirY58f3Wnw4GGHJLMjN0znMf8/zVTH43+cYpvfh2QXm4ZUa0vcePnTfOJXf5tnNta4sTZPyZOY3LD/cJ+42SVJDW/ee8j9nU3ufOP3UI/ehPo9apXS46BiRnVMtxgctmGSMgPeiRnVMbHNqI4pFoNTlRPQS8UlZKW31FlsWEeIJq5aJgsWcKpEmhnKnqDsn85dIYRA+h5SWrxA9nQscrwsJ1CHya9GtXFk/wmJUCVM6zYib+HiNrWS4OpLryB1mfmaT63sHeg7DGkY0vOI9ju41JCmDpNDlB97bwfHMfJgLAtZxfNL2PoDXNJFaEuGI/SWiI1ACyj78gS9j34MSpGkTXkCpTPK1Rrd+h6Nh3skO+uEt7s897lPUlqsIkUR2zK0WmsgivCUIIoN3ciQZId5188V0B8J2kzBWZA+VlWxeDTaKTeuLhD4R70Vh2nJH7C11aVeT2a5Ok5XFQAmP/Tl9BViH0eYDlSJdOctOm9+D98Ibn3yF1i++QGQipsXKlR9hXOOPM1pbO1R/8Ff8sZf/jnf/Ma/pR3WUdpxbXWV3/z7XxwAFW5GdcyojikqYEZ1DH6dxH7sqI4TrQAW0gtAgvb3gX1MvI9evUGYSBqNBJvl1CoewWmOUvY9dL2dshf4kFtslCOsJVCH+R8ea/9JD+5A+EtE979KtvsWnk0prVwjWLlCbuDyWhVPj9arANDlgP2HbaKOKY6WOg5c8MPHrQA8+gnWVXUBzBbC62I0yMoKGRVarYT5QBB4CqXEgbd3ZDcpWSRosxmeL1m8+Ax3/zyk+yDAhBW0Vlz84DWCkocnR6R3dw5MjjA5ZV+yuRORnFGvYtBOM/6EN49LtlEiRrmIVK3gdID2A0rVMivzHkqKY2nJH81ydZy+mqKuPCOJEtIoImy28ctlKp6krKCiYDDOWAqHzWO6b79O87tfI9q8x8LFazz3wnO8ePMiGyslKlqiFZgk4jv/17/mL/7V/8ruV/6Qu2SsXbrI8zdv8j/+s3/Gxz/2MdRP/+rvfHlGdTyZnfGM6jgf78SM6vhrpDpGmuDAJ+JAej7ChQgRAo4kjGixzH4jpdlK2Fgp4/sK0XNvj/db9E48CIn0FEHVI65HgKNcLtQm4+wwnuG0/SekxpkYk4QkW9/HdvbR5TWWrtzg4rUNMidYKElGHUQQEqzLyHNo7cZY63qZOE6IrThQylQILVC+RMhW0RZRoxsp9jY77O9HXLk8hx8ozEDJkTUrBc4iRYb0FBduXubOn20S7ndZvH6BtecvsbA2DwwDFcUD2cyQdROSVkLVF+y0DNkZddJPPf6EQvQUQ13eQkiFrzXe0jOUl5ZRWlIOJMLZWVrys1cDgEli8rjLzg+/Q9KNScIY6wQXapqLNc3Pr+doCR1TUJIbVUGaN8hsC5tFJJv36bS6NGtX+Tu/+BqvPLvKYtVHOoN2MS65x91vfJUf/Kc/Js9yPv7yy3zql3+Zf/GP/zFXL11idWUV9VNf/CdfnlEd07ZhkjID3okZ1TGxzagOd/RnZ73/BOWOtKP//khV7ELzOqqyiFMBeQaZUZhuwu79Pa5cXcQvn0XHoriBEJLSfAkXxyjpUEoQZxSJsM70AAbpVXDWkOxv0nxji+jOHlc+/ilKSwuUKgFSCsqeGNI2B6QoT+KsI2xn1Ns5qXNH5KJPMiH94pSLiUAFmBw6YYkkspg4xeU5CxeqCE8NwJFRlRWUjCDCCyRCSbyqj1xZQZYC5tYXqC7N4Ze8A4mu4+WdlKSNLhhDnlmcc7Sj0fEKj/XKWV8g6RVzns0QpYuI8gal2iK6UiHNLC7N+cEbj9jZnqUlP0NVAMSNXaL6Nve/8u/p7Dyku32flUtX+eC1JT51s8bnn1EsCMOVOcV+LvnUxTIfWREs+wn32m3KgYbM0rz8KboLN7nfhs9/7DpLVR+NQeXbaJ2yfPkCD966xye/+Bv87Je+xOd+7udYW13F83xy61Cf/tWziV8NgokZ1TFJuQEwMaM6ZlTHhPf+m6c6jrVhCBgVUiBLFxAiRPaOa8R1Q/fhLnm9jbOO5ctLoApJ3/6R09HWE4iSGiEUUoJNUjyvWAyj1B3qWJy67Qbh+YTv7tJ5p0Gyl9K+e5/rP/Np5lfnqJUlWgzzpPQaag1KQauT0AhzotSdQkH0+GN5oAOE9nHKQ7ucqG0IN7cxe9ssrC9SXZnDuGKcjtexAGQARJQWy5QuLBB1c9LEkXViNm5dIgi8sToQ0veJ9tuYKCfu5sSmSNg1zqYZf0L6WG8Z4S0iVK2Id3GQRQn7D/dI44x4RnWcphoATBLSvvdDtr/7Ne78wf+JMQkVD9YvLPClz32QX/nkNT7z4iI1BVpKgpLPZ1/ZYENZnp/X+AqSqMVCus9HLgS8lSzRFPNI5bE8V+WVq4tUtET0YmGULvGhL/wGl178IM988IP4fkBmLElq6EQ56tNnUNQc3GFMt7udsGzv/xnVMWEbmFEdM6pjyvE3rv2ikFIudCwsUs6jBXS22kStDtLFVFfncPML5PbwGOX4Rblw3EstkVIgrKFSElTLkv12IY4l7EGS8xPa78CFCNlFLyzQePNd4m5GZ+4KqjbP8y8/Q1DS9J5iaDwbJkOmCeVAsr2bkmb21DEIh/2nQJZAZD1njI/rRCQPN4kabaoLAaWlBUIREOVQ0SMCLaFopQSUBJ3hVz3yFPIUVp65iDWWhbV5lB5+XFMIgXWOPLW0tttgHImB1A7PvzLV+KO/O5cIqUH0TtsYg81yXBxjjcXOqI6TqgHAZgl5t8Hut/+ArW/+Edvf/TpJq8ml1QVe+sAt/qf/9r/gky9f59aVeQJPUp6r4JXKPHPzEpWST62ksJlhdW2eOddmsbOJSkNuLMLb2TJr65dZKJe5uVZlfT4owKtQ6MoldKlGeX4R5xxxYoiSnDgzWMfpQMWgd+Jv2tV7UP4cXF1TjocZ1TGjOmZUx0l/KBSgQVd68RMK6QyifR/XekBQ9QiWl7FeiSizlORJmTsPTWqFFA5hc4SAuZqi2TDY/NBrM6x9buDKkQAJziT4ayvcbsyzE1exQY1LN1ZZuzhP7wmGPBuQ52ByrDFUy4rN3ZTMnDwyHus/IUAEIAKkDsAI8rCDjfaJmltUrl/BBRWcUFgLpbEBpP1TJgalJbWVGkLXkELi+R5CKkq10mH0/7GWSS2xFuJ2QtjOMBY6+eP9eb6buWNtseMTj8yojmOAIu2Sh3s8+tP/jdbtb5Ps3cXXJT7y0Q/yS194jX/+T/8hNy6vsXZhESwIFeAHFWoLcyhPozyNUJJgoURlvsTqhSXq99+mLGIWyo4bG0s01SqJ8FipeVxcLFH2NMhyERvTU3kNo4wkNRjj6KaG2zvxeFAxCCZmVMck5QbAxIzqmFEdE977x5HqGGtC9dYMgdIKiYHuI1zrIXF9n8qNm8TWo9mxWAdzpeLo6InV9mIIXJ7iBRJd8pBC0G5l4Iqjk1aM/swcAoTCZXWk7ZCnTYwOaMRVosRy6eY6l9bmqZVGZPjseWFMnGDjjKRTSEW1IjPyMx7df/1gVAVCIT2FNF0UO2jRINx/RO3qLVLnsb/XpeorKmPFoQ5/J6RPed4niwRSKRYvL6I9PQJUFCY9RbebUG8UMuTScSiENe38MUXZ85j/nyqqI8/JOnvkrbt0N79FWn+EilrM1Rb4pV/5Ar/127/OF37ls6ytrVAKfKwVRJnA83yU1qTG0UlytJJoTxdS8r0ssCtra+T7P+JCEOJ5ko5epCPn8Ks+z18oU/bUYxsAax3tKKMe5vx/bzb4jz9qjgYVjhnVMaM6ZlTHtO/PpF4F+DGnOsaaACdxQoLwkMqHrIvLuugqRK19zPI1UgLyJKdy4oI5ULMQKN9HSovvF9kSo65BxQafw4VwcCE78gzOIZDYzjt4KgYMqatQe/Z5Eit49uYK5ZIeG4PgUCT1DtL1dmixIz4WrXm6/jucYYX0UOUyLroHeYRTmjSHVlImSiyegmpZj9bRONAOMQVNJDVBrcLCxSU830P2n6cv8iEGy1kkKV5ZsbMVkSSWzBbpxacFBE9y/n/aqA6TpTQf3KOzdZescxdJzMbaEkvlCr/x9/8hL37gZW69+D5WV+eKxd85othiDLRjQ2ot37zb4J2dkJKvWCh7JK53GksFaCnxtSBpbVGRCaI8R219HeGXaMaGm8slgoH3r1jaLHd3Y/7l17f4zsOQu/vJ46Bi0DsxzQcyozpmVMeTAHRF2RnVMe37M8mE7Gx/FXIU2cGKeAghNaoyh5Z1pM4QuvB2Z8zT2I8gzZirBfi+OjL/DLUDHYtiMfTKPuSOLMzBWHwBMWNSYgvZe8ENpvMQle3hzc0h5i7g1RZotBOeu75EMErdsrdIOAdJM8IkhjCyR2IQzt5//QOfAlVaAtcCBUZonD9Hkmua9ZDlmiYINFrLo7jgiGlAIFUJLyihtCr0LKD4bAaVw/oVuBzIEVgqVc2DRxGdtJDAfiLv3znM/08T1WHCJnlnl/3vf4VuMyTphNTKgpeeWeSTty7xD37pM/jVDWoLy3hacmGxQqWXTC7NHVvtlIfNlH/9rS22mwkPGxGB7nmnnMfDSLLkC4KgoMjyaA+dN1gJIurBZVJRwioPqRRrFY3qvU8uS8iikHqzwX+4HbHXjigxACoG37MZ1TFJuQEwMaM6ZlTHhPf+iaM6+vfNDNYYwjAqkoMhUFKg9OHSJ0uLYHYgjzGU6HQ19d2cRj1i42IVL9C43oI5VFehb0IUoEVJpK8o1XzC3RjpLOUApBSE+ZjnkB4uz8j2b2P230bnddzidVSlxsaNDTxfs1jVyFEZPpXEGujWQ6JGhCegnRXZMs/unTqqY2GVQnoBQqY4m5Pj020Zdu/vs7vd5saNFbySR9p/lMfqKuJYQB0AoCN2fKIHEBJnMqR1mDght7DXyicSwZpRHedHdYDDZh3iB9+l+cbvY+I2SvksLq3wuU99kM9/aINP39pgqVaiWqui/Arvu75KrazRCuLEcG834s9ut/jfv7XNbjcjTWLytM1fvfFNgvlFWgSgPKx1zPsCLyjjsi4maYJNmRchO8FVYlUBIVgqKeaDApjbqIXMulhjUOS0G01+Wn2/ABV91DujOiYt52ZUx5DrM9UxrZtzRnU8EarDWUOedEmSiKgbYg04k1OqBMzPe9QqitwUDnYQSKkR5TJCSJJUk2cC04nYf3eHjZsreBUf53rHTcfdWBwmtBBIKosBrhOhsUgJiREk40ScpIeJ6pjuFllrC9m+zcbH/jP0/BK+r6iVNOWRuTgcQknSMCMNU+LYgoVuPvmi2v/8hPSKIDiXgufjnKK5lxN3U2ySgDHUNuZxXhFKKhl+/NVx9J0Q/f/E8ELCSVyng8ZijaMdmvHp3Ue0fxI7j/n/aaI6CjPgQlzaIGu8S7LzLibJWVhY4atE7YsAACAASURBVDd//TU++vJ1nrlykXmZUKlUmF9Y5trVDcqBh9aSTjfj66/X+er36nzrbofNMCPMDDbrcPeNP6S+dZs777zFzRdeIRMBYZxT1oL5kodXWSKu3ytGrPKQ2qell2hGjkDCnC8pexIhFS6Lmat4zPmOa8ltKtEu6qd+7Xe+PKM6Ji0z4J2YUR0T24zqcEd/dtb7T1DuSDsmeH+cNdg8J27vEnf2yLoNLD5aCTxPsLqoqNUC/EBRCgRJ4hBOI3WAwBSy3sIQ76QkD3cwjSbOORavrmKlIs2LU5JjU2HQ54MlUkiEABMn+FrgtCTJ3Oj05FIhS/N03v5Tws3XydtbaAULz34Ir1Ried7H02Lk/YUUeGWPvUdd2m1DmBQ9OC5r5tB+ZEjfS43QPkL7IDWeEqT1Dtn2FrK9x9zFFYLlBTLjUBakGH0y5Aio6F889rd9ZVSHiWMklk6r0ODIT9KrGNb+M9iM6hhVzILrIDRFdtBmRNiQYFf41MdvcfXyKpWSz9zCEvNzy9QWlovAS+GwxrK73ebPvtvg3sOQxDhCHKmTdOOMeO9Nus1HYHP+f/be7MeyJL/v+0TE2e6aN7fKrMpau6r3menu6Z7umeZMc0gOzaEpURqLFCUTJCRZEm2JtiXYgPzgBwE2bMAP+gcI+MEPsiDBhE1bkEAK4mI2t9k47H2ppasqs3K/+1lj8cO5uVXlnjVuTOv+gKp7btU9ceLEiRPxi9/3G99fnBcEtXk6maCiYCJShJ4kbMyTdpbxbY5zgpU04pOu4qPFPk+fq1INVMnv8X2k79NsRJCWPCP1tVGk4jQ2hjrGUMd+349dzhlnwzHUcXo7S3TCFDmmyBhsLlKkA3QWI6Sl4hfUqlUmawLPg0otIIw8pqYrVEJFPChwTm2nMLc08JQgWdwg6w0QIiOcbVFUJ8gMVFTpVBxHIEt6qgxeWEMlFFQjRXto0absZ3uLKK9uzRBZmaT/4b8n21jBmRbT177AleefACGojrZx7n95g7MFQVWxspRQ5BbN4cnOHrYDn5+QI+VJO0q77qPSFLG6SN7pEbaq+K0mvcRjkFqakTxwW+4elOOQugghcQ7yfka6kRAq2Bxa9AF5Vg6t/zHscYz/ny2o45H/Lf+4DKEk2RCGnQBTSFbWhrz+2nWuXpwhCitEYQU52uJpixyXJOjCMkw099oF68YxRGK2EtKFLUznY+LhA7QxVJpzRPUZepnl4oRPJRiJpQlJ2tvEZQUrA8W9LgwKyb3NhC9cqhOFPqhSel95ilprCs+vlJGK0zTGpxnqejze8WnPc2OoY5/jE5Vx1jDnGOr49KCOJCaLe8TdFUxRgNN4yjFRdzRqUKsIlOcTVUKqjQqXr08y0QoIA8lgoIljiyXEyAChykRbUjhEvoTTq6haSNCawsmQODXUfI7I3LllAuX7pYthNFJAvarY7BuMflj10uFchlAeWI21Pu2PJYPFJhPnrjF5bY56q4YFIrXfZCzAZkhVylpbHOudnMweL1Jx/OfnAxHSixCmJOyZok0yWMebW8CoCGMl1jpqodwm0I1quKfex1ICEZIiLtBJTpFZQiXYiO0jIlhn7n9jqOMYtrVbZ4gUOX4lYrCakmqgElJrNvj8k+eojCTYtwTbAFxRYArNMNV8eyVjUbttDo6QHk44cAYbL5ENN4mqE9Qb0wRRnXZiuDrpE4UhIBj2hug4puZybqd1NmLNME7J8ozr801QakSKlvheRH167uSKmmOoYwx1fBoOXXnuGOo4a/851YDsDM4a8uEmcW+TrN/FGY3nWYLAcW7GUQkgDAx+4NOcmWFmYY5LT18gDCSeBCUFg27GILHkBspdCg7peUhlEcU6Ll0h620Snb9GogXdbo6z0Kx5eybMR21EdBQCGXi4PMcLJEGl1GYY9Euygxz1//L+JbgU5fuYBPp3FZ27gu5ylyfe+BzNyRoTVa/khO57yZLc6EkwaU67b+gfwUE42fPbIT84JAQ+QgxQfgcZDkl7q0Sz10kLRXu9T6PiUa/6B7TMMa8oBSrwGW4OSeOCQV+Xu1zMTt3P/u6PoY5jm5BgC3A5CEM4WaOfCrp5GR24cXGKi+caWLbyBZcWx5q7n/S5dbPHRuHYNJC7nfFfqKj0i4cPKHqL9B58wPyVF1BhHT8IUUowW/Xw/RCdpcTDhDx3eNrxznrO4mYPay2zkw1qtYgPOpqGp/CUwjpxfKdiDHWMoY79vh+7nDPOhmOo4/R2lugEzuJ0jonXcHlMnsQYY7BoGjXL7LQlCiCs+PhRhQs3nmT+2hVmLp4rE1lJhclz0pU+vrNsDExJ3HRQDoMlEQydgImRkUfab6Mr50mNhy4K6pGiVtlX4/IRE0KgogBFQeCX6cGT2CJijQ+jbZKjJ2FzKFZQoSTpGZLYMTg/x3JieOm1a9SrwcFJvZwo5aUHQzwJSWqJU0uh92/l0z0/UdbVlTtOZFTFFUs4m4EKyHNJu6dIEk3gC2q1ABWUGU4P3T1zqFlkqFi/38dkZZQiH/05rT2O8f+zDXUcZKLcqWRjhHQ4KRCeR5o4ep2M2WaFhbkmzXqAoYxrCeFI4oLbt3v0NjJ8C0sGEuf29EHhRZh4A7PxMS7tsrl8m2vPvk5japIoUkyEklqg8CsNOusdVrsNBqlPrh1rmaaTO1QQ0nEeTihWYstEIPmkXxztVIyhjjHU8fDxico4a5hzDHV8KlBHWUDZd5weYvMYm/fQRUaSd9HSYkTBVNOj0axTaU5w/aVXac3NUZ9sjcSWykG46GcUcUaRGSoebAws1m2txEsdCxnVUXKA9AxCCYwT5KZKb22ILDSNZkgQerva9QATZcRiawIIKz62gDzWoC2+hJyt3SgabIywQ8IJyWIwSafRQtfrKCW5emmKwJMHRCoEWIcrcig0kQdrGwWF2ZsG/bTPb3tVLra/lXNM2AJypBdiCNEiIkkMnY0+05MhfuSjvFLv4+SOhS4nr1Gf6WympIUjsSfjiuy5hzHUsffYlQ717sDbQUqn5akCJ0NwQ5RfdoiiZxhsaJYW+3z5xQXqjZAwUDgsCru9+2O5o1kcaoYG+m63Y2vLJH3RBHrtbZJ2Bx1bRBZy/QvP4lcqVJWg7guUcMhKi6XFmCQTZE7ywHoMrMdqbJmfaTDMLf1E88e3ehRKHq6oOYY6xlDHp+HQleeOoY6z9p/TRyfKv7YHUxymv0KxeYve2/+CPJqgkAq/UqU1N8fFa9e4+rkXiWp1gqiypyghJSLwyToxOtW0NzR2lLBqd92EEIhgAmHaOJthqDDoONprCZ2NmIWLTfzIR3sSy14M+REToryuAhUoKnWf/noKxlIJ3WjLKTgkTg8xwzXMcIlaVbMuZkiNz+xci4tzTSbrwYHNJKTE5pp8kJF0Myq+YHNQ7pg4kzMBbLNLdz9DoUoHzKuMlNAtWkPaGTK4/4D15TaXnzqPHwWkupy4vBN5FQIweJ7AaMNGO6fTK1kiJ97V8hjG/88S1FGkGRZJnBQgHFJKIgnTAWgn9uWtlJ9il95DivJApw49tNgCbt5t87VXL1Mf9VOFw5cQRYLv3B2yFFuSonwO+Xa5o97pDMJv0X73PRb/vIM1kivPPMmFy/NMBoLJwI6UZQWJhpvrGX/Wl/SdRAuJQ/BgIyHTgj96b4N+qlHeAU7FGOoYQx37fT92OWecDcdQx+ntsTkTgl2FWfL1D2h/938j73yC6SxSeeIVrr7yKhefeZqFK1epVipIdZDUtkP4ige3+hRpKapUAHt2e27lC5EeImqC9MkzSZFZiAds3l/m3JNzqGpYZkLkiO2mQm4vCoQU1CZCTD9GOouSZWrv3EoEPrZ7E2EGuGJA4EnOP/05olqD1kREo+Yfrq6pPJKNAa4w6NzhrKOXn27824lOHOKMCm+kVqpBBQjn0V/tkg4S0ClYSzgzjRYeUpRtdCye63YlHGQpSgniRNMfarIRpHOY7MfeexhDHVums5TB6iK9B/eI4xQRNYh8xWQk+WJLcr0CDQ/Wi9Kx2H/8GrnQLkdKTVBRDDc1SWyw1iEQPPPkDH7gIZxD5QkYw/SE4gd3U+Lc4oCM8hk6QNgM0hVMf5WskzNY6qCtZOHqJX78xWssTEQEUiKtRTpDP9H87lLGrYEdSXs7jBXkGlbbGUlmiFMNPMSpGEMdY6jj4eMTlXFGZ2IMdZzx/TvD+4t72JnYMoOQFuF5DG/9v2SdPiaPmLjwGk/9xI8xeeECoafw5UFiVQYhDc5arIXeZoaxjtjtk59D+CWJTDqElPgKirU2evUB9NvgHI2LcxihKAqHpw7WkQDYEsiSyitVPiUUcYbvCYQnyTQUxiKCBvnaO9jOLXzdI5i5TDB9kSS3XJ6rEfjq0G2tKgwZrPbJYs0wKVOHH0Ct2Nd2nIntb0c8RwUqHG07lQShT9FZR/dWkEWH2uwsXrNFph2BdCh5WIbT3TaaSI3B6HLV+clSQqrdkZGKxzH+f5agDp3GFIMuq997k7WP3qZ9+0NQIZcvnuPaXIP/7NUZpnTOvFfqsbQ1dA5TgRUKnAFXgDBENcVgvaDbyXE4rl2eZGG+JG36piCQbpTVBW6PYDlD6VRYKDlM8ScIEWO1RqqIiSeeYuLpZ3nlqfNM1QJ8JbFpRtEZIIqU1dhyf2CItWMLXLNuZxFmrGOzn+8oao6hjjHU8Wk4dOW5Y6jjrP3nsUQnHmmErZoZcBqvucDKW4s8uDWHVHXOf+4pJi/NEkqIdgQu9ynDojyJMYZOL2d5aLYduEf6n9jJgwEVfN8jW1oi73dAacKpSTK/SVo4ap5AqcMmTDFyLBzKVwgpQRsqvqMaSTqJwTiJ1ho97JDe/z4uXsWrzhLNLnDpyUtoIZmsKg7K4yWkwDpLnls2V2KcdhRuJ7HZkU0P7At1HGbb2U1dKeKFRNkE0b+PHnbx6w1UY4J27OjGmumad8xtuYAQDIY5vW7Gd9/tEqdmO1Jx4H08hvH/rO/+qYr4IUEdOm6TLC9x5zf/V3p3PiTutKnXK7zwxDT/8Ruf59d+8grnGz7NSDLsZzRkyVtpa8HBG4hK0iYuRsqdH6U9S6eXMTtVYeF8Sdq0UuGbgppfjkqLbU17oKmzBYEILA6TDci7S2zefJuw1WL+xdeozcyT5IYXLk9S8xXCOkyckGcFeeH4wVrxiAT+TlxW4HCo1791cp2KncLK1jzLgDiGOs5QAGOoY/fnaWwMdewXndiyrYE2Q9guNu2TJjXa9zOGhaBxaY4rNy4wWQ+2J/Z9NR2cwyYpwhn6ccEgMeQPTVRu9++FV0YtZEBJ5HRIswx6HVmtopqTGBHQTzXNUOAfmLlzd40Enu+Xzp8uEAIaVcVG31AQgSnQnXsk95fJ761z6dU3iKZaRPUKUkA1EAc4TRrlCayFuJ8zGBZYB6k9/LnsRCdO74yCwjkPoUKkc9i0izMD8rSLaS2QE5Q7bSw0q+qIbbmQF5b19YR79/v84J0N4liTHbLt43GM/58lqMPqjKK3SPLgPdb+9P9hcPc+gUmZnTvHr/7qz/HLf+1r/NSXrjFbC6lWPKQQkGlUUTATwMdDSOyj/IodEyBCsEOUbwFBOjQMepr7yyVpszkibQoHnjHUAkk/sRRDTZhZJoENIMuHZL0NPvm9f8n6h2/RW/mEJ156naevnOeL187x5HyDQJV5eIZJwZs3h7x5J6UTW4Z2ZyfJflVVP3YKp+JxhLrOvDo7tTMxuvoY6njk+ERlnNGZ+CxBHae6PmfrPz8cqOOAq1kN6SJekGGdpWt8NpvnWZs+z/PPnKdRDQg8eYAmgsBZC3mGMDlRIFnfLCi0PTiTKLCjY+GjPIvQa6DXKQYdvJmrxBl02ynWudKpGU2Y+0+bIx0LKVGhj80yAl8QVDwQ0BtoUBF6dYP+R23S5YLhrU+49BNfI2o1aFYlgTwIaikjMZ4vGQxzNnuaQVYOufs5jDvOxPa30/VDt3uzq0R6AUIVeFGBiizFsAP1BeLE0V5q06qHNBvBrv67Y3lhSVLNhx9u8PGtTe7d65Fk9sCEYo9j/P8sQR3GFNgip/fgFtmD71Jsvo9JB0xGVebnz/MP/8mv8VM/8UVefP4alchDCFkSNashJjfEw4xBahgWjvv5UU5F+eFsivAdOoMitZgCbt9t88arl2nWQwQC6Qyh75if9lleTBGZRaIJ7CYPlt9j8+abJJvL+HnKVLPFT3/5RX7xm1/lSzfmqAUKYwy6MCxvDHjz5pDbm5pY78AoB1XzxE7FGOo442TGGOr4kYU6HDhnEW7kFR24Oj/i+ie//KP1OMPJ+0MdB5kAYcHm2HQTk67SrzXoLdwgr0zQGRR84cYM1dDb+vWjJQiJ1RqbF8TtDN/abQnoA6+5/SkRng8uBZ0gKiHZsE/iT5MUEpMX1Cs+tZr/yNn7lizAr4QolxMEAqkkwziFvEdUb9J++xbpZkKq6wi/wZOv3SCq+njioC2aAqxF6owwUqyspeRFOSHvftbbrX1SqGMf23l0u9w4qVBhHeE2cWicDMkSx/pSzqCXU6l6NJoRMlRodu5lMCzodTO+/Z1FVlYGtNsp5pDw3Rjq2HtaEXcpkgFrH79L0t2gGGzQDHKev36R1175Ar/0936FmYWLNCeatOo+vvSQUiKlQkpJoRT3lof88QPNalzycXZ2aex3bTVqwwwpNX5FMmwb8nhL/EXw7JMz+KFXRvh8h5SOuZmA5aUBT09vci5aZvHe2yxtbnL54nnmmy3+m3/83/HFl17mxsI8E7UAIQRFVtBZ75HnGl/Be2sF7ZE652Gk3WM7FY8j1DWGOs5QAGOoY/fnaezUUMdWqNQaEKUssxg9UCFKgaWtW9t/tT66/ukuX9Zh9NeZnYnTOHTCwzlL8uAtTPcOgevQq16lNtHi/PkpZqbqTNb9g8PrQiCUR3+pRz7I0anBOUFcHDWejKIP0kMGDaSfITxZSgMbyDOf7soQpTWNiQpBdLSOhRACpEBIAc4QVHysScniBJtn1ObOcefdnKXVFlq1uPD0HOcutxBAsG+5AnQB1uCMoV5XLK2kpPqhEPGuAeCH+v75TYS0oCoYE5AVikJLhkPN/OUWKlQIJcgLS3s95t69Lj/4i2WGg5wkPXiqeBzj/2cJ6nCmIG8vkS69Q/f9PyS3PmEQMNms8Ze//CQ/+/INvvbFZ6hOX6BSqxL5PlO1CF8pBKIUkepn3G0nvNcpuLueM8jKPpOx/1ixPf4LBWi2SJthTRFvaNqdHEFJ2rww38BKhSd0mRhPCq5MZ0zIVRaaOcOsYGpqhtc/9wz/6O/8Cq3pi7QmZ1BSUKsGKFXqvSTDhI1hwUps+N5aQd+UfKHD7Ein4nGEus68Ojv1ZDC6+hjqeOT4RGWcNcz5Iwt1uHIgtRZnysxUuigweUF3eY2wWkUFHiBQJR9wFLR/9B7OurI79f2fCOo4sAisk5i0g+4uoZMujcFNLr3ydeYvXyIIFI3KYanCy2vLwGe4NsAVljizpOawUO9DJwsBfgPh+mALtIkYblq6SwPaawMuXp3Ei3xyqUoGvDjMsZAjHQuBFyqqtZDu2ibSFvi2T0Gd+4sVej1D69ok5y+3mKoHBzuMUmKLHGENRT/DWkd7aMp7c1snnd6hOH5QSSGkQngVhFJIKRAiRAVVKtU6w37B1EyENpZbH25w59Ym9+51SVJzYHTicYz/nyWogxHc5XSX+OafEt/9ATruUQkjLl+9yN//G1/nxWtzPDk3QcX3aFZ8as0pLk7X8ZVEG8cgMfzgoy431wcsdhMyY4kLRycxtN2jJN9Hx38BImA3aVMIyHaRNi+cb9KoBxg8fCRhUCNQ4LkhvoLnnv8iz1y5whsvPMtMs0G1WkWogJnpGr5f9p0kt9xta9683eO3PorpFZb8GCuzQ52KMdRx9lD1GOo4fQXO6lA4Ttl/RqOgG60+sRaHIx92SIcxi2+9T9zpY4qCiXOTTE5H1CoKzzqMdkjKlcZpVAgfrv//v1DHo0VsL46khwjrpA/eov/Rn2EHG1QDycSNF4lqFRoVjyiQB+7EELLsCMY67i8lpJmjMIe30d73WI2UMn1E0ECogCJxFEkOaZ/O/UWmnlxAViKMLUWfDhV+kmWq9FJdUNBoVskefEioUqSEjZ5gY3qKjVDxwhcu0Kj6Zarngwsk3+yhnMUZRz9xJJl9jFDHMU2ocneIsyAjpF8h8Gs4yrB5luTc+XidjZUBnTHUcdyidpkF2yulsz1JsvgJRSJoNGb4a3/5qzz37CUmpyYJbUFzcobG5CytZh3fkwjnGMSa3/vOKh8vxaxsZOAJurnlwUBzP7EUbidKcfj4v5e06RAUcZmyfnG5z6vbpE0fgUIhUX4IQlCZvU6tdY75+Yt4TuP5HmGlRmuqQeArCuvoJgW///YGf/h+m+/eT1hLLcUxQ637OhWPI9Q1hjrOUABjqGP352nsbFCHw2oNrsxCafKU4cYn9BbfYfmd3yfPqggHtUbE8y9f5ur1JufPV+i1c3Thtgfq0/ahx+ZMnMGh29t+DjBgU1A+/Q/+kHjlAZaIc0+9zKVnrhBGikgdnipcKkdR5PS7BcN+qXxw0NbLfd9b4SFkWMIXSuH5Er2+jli/j0jaOGdpLMyjURS5xffkgVtByy16arRTryR6SixZ+wHVakYxH9JuTZM2G6y0E156apZqdED+kS3HzTn0IEM6S39QlPoOp+wEZ3r/kFgRgQgQW7EzIdB5Qb8zIE81WTaGOo5RzJ56bPdrl5YQkwNtQnrrkiyrsDA3zbUr00y2akzMzlOr1AiiGkIIrDHYPCPuD/lwMWWtmxMXltu9gjudggc9TW532vzo8X/rRROUifEoSZuJxWi4NVLabNRL0K4Ui5N41QmkCpB+BecERgZ4lRpBpYpUim6sWe/l/N9/uszbd3rcX0/IjSNzxxM/g4eciscR6jrz6v4MIdrtMOkY6hhDHae6tgVnsabciF1kMTobsH7zj2nf/g6dxbfQyZCJ6RYzF6/yk3/9q8xfbtFqBUgJtbrPxmqKKXbY/yepy5mcCeBxQR37n5oglMNh0IWgs9hl8f4zTJy/xPkb56m1KiAgOMipcAZcmT00HmqGsWYw4lTsvd4R/X/7/QZcVAo/LX9C3u8glMGbmiKRDZLcUg8k3pE6FqVjoYIQIRxuuESNW8w0E+6YOXIbMTfVohb5zE1VUAfoPQgpcRaSfspgPSYQ0Ekdxp7MuTybM7E1fu3sCtn511JrxDmHHUMdRxVTHttyPtmTiAsI8EaRCo11gqTjGHQLVjspX3n1BhfPT1KtBHjKY0tj1hYFJstw1hJKy7srOT/o5KynZqSXsnXfJ2n/kQqtyxG7SJtxbMq6j0ibQaAQbOlylrugCuPopQaDxPMCMgs31xPevTvgd99ap9svaMeaVDv6DtJjPFc38ry2nYox1HHGyYwx1PGjCXVsHZQOBbbc6jjcXCPurHLvO/8n8cYtks4SYRRy8aknefq1L/H1v/6ztGZb1Jo1sBq5a0Xc7xXbA/dxq/TYohOPAerY3yTYBCkNOnXcu32O9Qce7dWcp796g5npGvVAoQ5yKgTl1tJCEyjH8lpGZnZW8nve40Nta3gMSkhmS8dCrGBEB1GpIKtTaHz6saZVVUfAFjs7TbwgQhabuGQVXM7FeoaafB7fr1MNfVqNgHr1kGypSpIPM4phTpZZfATd3B3bqXi8i7mT7El6POP/Zwnq0FmGzjPyokAG5VbcUAjqQtDAUXUFqUmQgaTILYUMsFGF+xsJX3/lKhP1ENhKXl86nXmaMeimLK9m3FxPuZ9Z4pE3cdrx3wkFriRtihFpc7iu6XTLPSRP7FbapNwKj3Nk2pAWjkFqGOSG3/uwwx/c7PG9e31sbki1I7WOxdSSuKMVYt1oV5NzjMSvxlDHqe1xRCfGUMfZnKGzC1hZBCX+bU1G+/4d7nz327z9b38LJXsEATSnp3jlZ3+eF77xTZ557cvUW008vyRpIhVYjeeV+SbiQUEaGyRHhwwfmzPx2KCO/axUyiPv4wZ3kcQkPUlmqshGA+ZbPP/cPPXIO2Qqk9isQA9jdJxTjQRrHY02nOK93aXR4AdI34LYRJh1iriHnLzKMIZ2O8VamGoGyF0Rhn13cCAQyserTaE7dwh9S61ZI/J9MjVLYSUzrYhqxcPbN1pR5hhRUUBvNSYZavoDi3NHq2ueNTpx9l1FY6hjy0yekbTXGXY6bC4tIaSkWY9oVRSvzkI1FzSNxAO0ykmFJmhUGKSQGFnuGHaCZ5/YGyEAKAr48L02G0tDssKyoaFvzzr+75A2EXa7c6d9S/chpc0yPbpFllvXaA8L7m9k/Ks3l3l/M+VuOyM3jmHh6OWGe7GhOMKhcKMJcPdP1Ff+6q//01PdEY9hdX9qZ2J09THU8cjxico4ozPxow11sEvASuCcBZOgBzd58M53ufmnf0JvbRP8Jk984To/9w/+K65+/kXmr13HCx7OXLk1qRt8X5KlliwxFIVFsb9jcSZnArD2hwl1PGoCCbaAbB2hu0S1mLR6jsZXnsObaOAHPvMz1VFWwwPKkBI9iBHGkMWGIjcMUnv6Z7hVfxUgXAo2Q0QN8jhhwBTDHEyWM1HzqdTL1eZR6cCFEPgTF2C4SCBivCAk96aYOjePlIqJusKTYhuB2d1CZYU0quKx8smAIrMYygyf+/aBM48fZxu/Tjtu7i7kbNd/9Ph4J49q/zhzdeQxOh6w9s6bdG69TdztY/GYrSqeuDDBrz7nc70BU74gziULrZBqzZGYgqHRVKo+g05Bdy1HFI7rl8oIgaHcESaExRhLmhg21hKEcfSto2uhOGHV3SMHAkcIDFGeBSHIh5bhI6TNLSfHIqzh7sqQ3/qzNZbaGb1+gfEkvczSSzXt3FLYg6NsW1DHfuO/ev1bJ3cqzupMbFfqVOfsik6MYMO8LwAAIABJREFUoY5T23/YUMcoDLjn3zRm8CEuWyTwhqzebeNPXWT6+Zd58Vt/kxvPXKM1M71/wdsrJYuUENUUnfUMXbh9YZDTOhTOGpylVLpDYW2ZxluV0gtl8spjFHra9hNCYfMB6fqH5J1PiKptzPznENUmUeSzcK5JJTwcapCeR2exR9zNyBNLZk45qO5qPyE9hN8s82upAKcCrIEsdvSX2yid05ys4VV8rOMQMmlZFkIipIIiJgwr1CcXEEEVL/DRxtGoHpRgrEAqu71Y2GxnpNaR7XcPZ3n/eBzv/hjq2LKst0a68YC7v/+/M3hwm3j9Ps2JCV56/irfeOUKf/uNi7RkwWxNEgYel+bqvHAp4qVLdd5d71IYgzCOegG9tqXbyZgeRQjq2xECR+ArwLGxmdHt5UQOVkZiV8eJNrl9vmxHK2A0Bo1Im/kOafP2HtImKJPjmRxfWL53Z0g/MVjjMIVhYCyZPnxe3Q117GcndirGUMcZCmAMdez+PI398HJ1WNB9XNFGYJi+dhGufInKjS8SNlvMnWsy0Xg4QrHLhByVahFAteGzuZqii/L71hbT067uTFFg8oxBew28AIdASYnvCUIF0Yjkb4+IAp+p/YTCiYDkwXfRgyVcnhIIwbmnvsDC5QtUK4rIl3gHMCOFEBijKTJLf22IM45stFI7TrUOc8aEkAivgSBBOIPViuHqkN79dTorPRauz+JHASkK68A/MAEaCC9EqBBQKBUSKoPxJ1FewMykf0gSMwFO43mgM816P2czMXuzsZ51/DjDuW5UgU9jMXLm8euHAHXoLGbw4CPaH3+b+2/+S/LeBlVfcW52il/5K1/jF7/5JX7q5SvMNEOiwEMIxcWrF5id8Jmpl/386lSdjxY3aVmNh2AwNLR3RQgajXAXDOLwA8EwLuh0NUlqCAQs22PCpLsOHrl7oUYTVI4QGr8qiTcNySOkTQ9hDcpqhLNcnPJ5/26KzCzClYTM/LC2E0f3n2M7FY/HOz7teW4MdexzfKIyzuhMfHagjgPKEQohK7h8DSkNMvAJW9Pk/gxpDvWaT7MREoVqv7NLkyVpaou0KYB+tyRtOnc63QpnDTqNyeI+w801bKFxeUxYq1NvelQrjkAKpIMoEBhXznYPOw+nbT8eqrNzDlmZIrn3ffrvv4eKM+affZ7m5es4YKKi8NVBybcMylM450j6ORu9glxDfkTdjhXZESWfBalAVRHSoxjmFEkGxYDu0hKTT11GRKWOhS84ZLtp6ViUnd4g/IhaNaQxOYHyJFsIz+4xZWe7ocMOEjxRihwNUkNxxMrvOHbW8eu04+buQh5L/znxyaPaP85cHXlKMeyw+oPfYe3t36X90bcp4i4X52d48sY1/qf//r/m9Vc+z3M3Fgh8UJ5PEFaoT07hhwFhJcTpgjDy8ANJVQmW1/oIaUkzxyCxFMXOts76VoQAg68E9YbP3cUhD2LLWl7KXmcHtM3DzgQH/A4YORYaKBAYgvoBpE0h8W1BoAQSgQ8sbeQ44ygoOUC7nZzDoI797Ein4qzOxHalTnXOrujEGOo4tY2hDrf9b0dx4oXXwGbLKJcAkMs6qa3Q6+dcvtAgCtUhvIHRFkWr8f0SvR8OCpKh2Y5WHLv+1mC1Ju1vkA7a5IMu1hg8qQlCmJ50VJs1gqDE+KtRiffPTXq0hxZjdu71rNGd3cdCCbAF6fIS3XffIlm8T3XuEtPXrjN1rkUUlcm3DmxnZ1GeoNvN6AwK4swd2jbHcii2TKiStCZL/oYfepjOOnKwjCx6OBy1+fPkSHRqCA6JqiAkIqgglIdXm8KrNVFKlZkl2WnbvU6FAONwRY7UmkqoWNnIyQt7pmdw9nd/DHVsmY47ZN0Vlv/sX9G59QOGK7epVyNefukF/tI3f4p/8o//PpcXznNuZmq0K9fDUz6eHyKlxFHKV8swQAhDtVoqrT5oD9gcpIQVxfqmZhiXKqVud4QAUM4gnKVS9fjOJzGdUa7zgpJ7s11nHv1y9N2PSJvEiBFp0wHZfqRN6eFbTS0o72e5o+n0NQEwZCdh2FFQx352qFMxhjrOUABjqGP352ns9AJWjHhzjxZwqFMh1M5kobsIl6IJMbKKwWezm3Lt0sTh0Ypt8uSItJlZ0rgkbQqOJyBjihxTZAw2lyjSITpLkNJSiSz1imNyIsPzHWGtTlitcv7iJNM1xVRd4UnKJFmJRY4uduLoyIHfSzVBKROcLhgsLTHY7LFmZ3n6x3+M2XNNotEOkAMJkaZA6owoUqyuZRSFJd8nTfiJnIndJrYcPoGlQhBF2I27FMMuQoGaaDHUVeLM0Kx4+EpsZzh9tCiJ8GsIPyjhFcAh99zX1j6UrWOExGqLyQriTkLFg7XeYcnTDrYx1PH4oA5nCvRgjcH9t1h7699Q9NbwhWG61eKXf+kX+Ju/8Ff5uW9+g/nZWcIgwAqBNgqHQilJrg2L7XKhIWWpf4IQYA2V0KczzFntpcR5Qb2mWF0vaHfKCMG17W2dAt9ofGtwzmJw3NvISz4DpWOxJ5p5bGdilwkBI9KmHJE2i6HdTo/+CGnTGaoVST8xbPQ1SWbxgZ4DcwyoYz/b16l4PN7xac9zY6hjn+MTlXHWMOePLNThyoHU2bIQIbC2xAoFJaYPRzgWsgxVWt1H6D6eS0jVDLnxypUwMHfoLofRNDMibVaqivaItOmO0K5w1qCTmCzuEXdXMEUOrsBTMFG3NGuWes3iKUelFlFtTvDEs9dotmrUW1VclhJEEhl4FKkjTQy+ALM1Nh+rDfc/Lq0UsMIliECRJgVLzVcZVq+ysq75wpeuUquFeOxso3ukbYwGq7HaUI0ES2sZuXmo35whMljGpRQOf6RjUfoZSrZxaogLq4iwSWF9uv2cqYZPeGDOkq1xaHSMLHUx2OtMsPt4BMHEGz1cYdC69Jj6iT2+XgVnG79OO27uLuRs13/0+Hgnj2r/WHN1lA5FvnmLfOMjiu494vVFms0G5y9c4L/9L/8BX3v9Szzz9FPUq5VyjLAOawVGSAZpTj/J+KOP1vjzux3eXery5FyDKPDKCK61+FIw3azwweIGmdZo7UA4urtycZQRghCDxDdFGSFA8KBdsNnX+EDCyKnY7Qyd+O7FdhvuJm2miaXQcHNXenSkwBeGwHdMT3h8dC+lP9LO0LhDs6UeZnucirM6E3DKUPXuGNsY6hhDHSc+r3xoO7k6yrBjXhQUuWVzs0clCvGULEl2Cuw+I/x2/5E+2BRnYoQr8O2ARJ0jzkt233SrcjRp0zlwZXSi1vDZWClJm3uus31hC06j4w5xb4Os38UajacsQeiYmbFUAkcYOPwgoDkzy8zFS1x59mmiaoUg9BFCoEKFDCWVekCeW3RqEM4xWYHtzMgHtuH+x3utvC+btxHZGiKCtXiChAYqCJicmuDKQotQyYMdNykxcYKJM9JOinOOXlLCA2d1KHbadWfaF16A9EGqPsJ1MUkfV7tIp29YXxtirWN2MkIp+RCU8XCpByY+3/deVRCQtPu4wjAcGBLjyI/wKh7PYm4MdTxSMzuk2LyNiTcwWUYtqvP8c8/xzb/081xeuMDlhTkCpVBK4eEQFhCw3I25t97mN37nTRY7msVOjrVgjeX8dA3heeAcwpbw5vmpOm/fWaOwGodgGFs6B23rtIZaIOnFlvW+Js7LCEHsTp8zaPucPaTNAj+CwUhpEyHwAo/PPTFNNVAI4cBajLYEvuAvFhP6ebnN+2FuxXGu79wup2IMdZyhAMZQx+7P09jjzdWREG/eY9BPWF/poQ14nmSiEXLhfPlia+3Qu1Jk7uk/QiFUDZevIWwGziCEIBMTZyZtOvuQNLVzYAts0cHqhCKOyfOCvMio1i3TU5YwFEQVnyCqcOHJp5m/foOZS5cJogpydIEy66YqeYoKqvWQtJ/R9B0KyqyD+xAGT97/BDbdwAzuQ5FQD2NiOceF55+hPlHj3FSVRs0/tATnJOlaD2lMmbUxg+zINOiH26HvvwqQLkO4Avw6aZLSTaoMYovLc1oTIdVmiOVh18GxM6we5D48amI0junCsbE4wGlLbqA4RLJ7DHU8Pqhjxyzb0mMC0tVFVt9fRmUBL73yRS5du0wYBsxN1JhqVgm8UqF1kGo+WIn5o4/u88//4E9YbXdYWlulUZ2g38nIkoLZySrTExWckChXphffsntrPYR0pBkkaUnavH23zVdfvUyjHoIA5Syhcsw0PT5YSkkzWxJ64VQRgkd+LxS4AmyKwBDWPeIe6CCiUq9wY2GChakKWQF5lrG6mRMnhtzAUs+QWXcip2L3+K2+8q1f/6efSmfccovHUMcjxycq46xhzh91qMNa3ChXh84TdNovc3Xc+T7dxXdx0QL1iQatqYgvvjDD9IRkcsKj0yvVHM0+eP6WbZM2bQxAcRbSphAM+ztKm3Z08w4HNgGTImxCkee0u2368ZAkizk3G9FsNag2J7jx0qu05uapT04h1T4OzZZQhVQIz6PRqpC1Y3wFyoMCSZrv3O2p+p+QCFXB9j/B9u9i+p8w0XJEFz6HrNSoV30mGiH+ATkytnAY5xyDdkI2tPSHe7MznsSO8/4LocCrIzwBXgAiwFpL0dfEK+sE5DSm6niVAONGmh/7lnSYBsdus0hPYI0j6Wckw6J0KvX+k/CZIgtjqOMQKynALt3EDFZZ+/M/Yu3jHp3lAQuX5nj+2cs8dWmWS7NNQt/DWkeSaf79u5v81jub/MmdPpvdFbrtVdK4y8rdT6h5LeKhZnqiwvx0jWqgkFIhrKYaeSNIY0BnkFKtSDbbhmFsRno1I9Jm6JUgnbNI55ifDHj7bkKWl5HNnL2kzSPb4KB7FwG4IUIKhPKoTE2jwpDMCqYaIY1qwLCw3NooEFmO1pZYOz7o5HS0O1IJdqv9H/6N+vIpxK92F3i6c3ZFJ8ZQx6ntP0yoY/SXdSMxqFJsKBtskvZXWfr+/8Vg9SZJ+z5hJWLh2gJPv/Q8r73xJPWKIlAWZx3VqsdaW1OYAyrxEGlTPU7SZm4ROPQuWUaX93D5Jqb7Fhv9gmGSIVRAY/oc15++wfUvvERUqxNElcMbSHogSpEpIQReIJDOMDEVoA2keZme3dtqxuM2/E5NR86QpP/hb5I/+DOky6nMP0dl7iqT8xNM1n08eXAiL6EkWhvaKwmdtQxpITlp4i1O1veEkAhVK0PCGFyhyNc6DBdX6K22ufDkebwoZOg8rIVQ8RB74pDnfEDtVKBIhwXdXs7msJww9K66n/3dH0MdR/wCW6TkS39M8tH/gY67mMQnqk7xwldf4Wd/8gVuXChhAKMNw37Ge28t8/bikL9YSWj3evQf3GN96R0+fv/bFFnKuck5ZqdmeebSJNcXJog8tTWNgTVUA59enLHeTUjyglpNsbah2ezkCHaRNoXEt5pA7cS/7m7kGFOqWGoOfx+O1WJCgKgABhVOIJSPEB6ZhpUhzLQq9PNy/m0PDZtDzW/fHrKWWJJDFltb1z+o/dVXTqOoeaZQNWOo44Dvxy7njN7UjyzUAeAcwpVSUs458nzI+vJN1u//Bcvv/DY6buMpR31yilf+o5/hhTde56nPX6fWiFChj80ypLTbHLz+0OzLrwBAltvF3C7SZqJmKE5L2qyMSJt6RNrcdmoFNttAb3wPW3QIvZxUzlC/+CwzV25w7aknmJxslLgGxwjCj4S4pOehPIWvLJ501KoenZ7BN45RE5wIMy2tDCU7k2KzHtnqh6QbBdHkDa699AKN2UmslNT9Uulz3/MpkEqQDDXJoCApLEaUehXHsVO9/6LcDohToGpI4aOTDJPECNOnt7pE4/oTuKCCtqX2R8nfPD7sscecQzqNHwqWllOyzG47sCdZhT5S7KjsTyW6fMT34174hwN1HPBbPUB3b1Osv4XNE6qNc/zSr//nvPzGl6jPznKhrvAl5HnBnY/WGbRj9KDHx2vrfPSHv8n97/82G3ffoxCW+ekJnrl6lV//hR/nqctTtGrh6CpbzpHFlzDTrPLB/RFp0ziEgN6ItDmzZ1un2t7WiRAsj0ibHiVp8yDH8/i3P4qWyhCEQyqJwyOoNhEqYKWvmW/5rA0KPlhJ+Xcf92mnjviI7GFHjd8ncirGUMcY6jjrYHaa87fOEbiR5oTD5gN00ubWO/+ODz/4Y+7e/h5BnjA1O8vsxSv8zN/79TJXx9WreP5oMhYC6fu4PNsWPhrGliQ7eJoSu0ibuILADIi9cySnIW0KR63hlaTNfBdpU0iE9DD9m0jpUEGFySdeITx3Ha82RTVSVCKFChSarRTGR1k5GUpP4awtd0BEHpPTEZ3VDEzp6AgpjsxAuGN21Act0q/gHHRu99h4H/p3cy6+/iVqk00qlYCqx8EZSymv7VcUKysx3cwSm6P7xmnf/+1VuVAgylyNKA8/DHC9RVSxgnQ9nLOEsxfIjSRLCyJfHQzjHGoCrC5zpThLvebzYCUhKY4XUj7wHsZQx57jkrdikVJub9KRe3Y5WYQX4WzBYGWJjTubZIMqr/70T7Bw9RK1SkArgIpnkQKSOOfuvUXuLn3C7/3r3+DOX7xJ/+57NGpVvvzqq/z8N36Kf/TL3+L8zCSNaog2jiw3eEoipNh5z90OaVNbDQiGQ8tmT3Nvuc9rLy4wsYu06Y1Im91kh7QZAjGPOtAnb7VyHHBOgPCQXgUhvFLh18GDTsrdjZiPVhP6WZnv47D2P871j+1UjKGOs0cnPo3VRXnujzDUMTrYFrByApv3ydo3Wf3D/4XVxfdYWX+AimrMPvUcL3/16/zkL/9tWufmqU9O7i1wN9xQFHhKkOWONLV7SJt7z1E4VYNsDbdF2kSQy5OSNouStOnKsPoWaRN2Bg5ZnUeIgnDqCbywhgya5e6Vm58wc66KjHyUpzD2sAn74foLZOAjfUtQVQhZ6jLkw4KZellIbktuyUG28x5vTQgGbAokxKsF/SVDUQja6z2e/8mXOT9dQYmD6jhK3qY1Jk6JIsn99Yz8EM/mTM7E1g2M+r/b3iYqECiCWhXbvYWOu+BJbHWaThoxTAyTNQ/fE6iDcJzDTMhSkwOHTnMK7dgY6FPpVYyhjr2nFWmMMY54kGGNQSpJ1ZfMqpJQ7RBlIi8JzuU4O6C3tMnarQHZsGBzs8+Pf+PLfOlyg7ov8aTD2oI0XuN3fv/3+Bf/+p+zvLZEIDQzrUn+7t/6O/ytX/obfOunv8Hc9DSekmSFYWUtLp0KX+J5CiMkWE0w6vgCweJajyoWnZXbijMNt++V2zondpE2gy3S5mJKkpdRLcfx84Ic3nZlxMK5MquyGGUpzbUmzjWdWKMPcyY42WM70qkYQx1ndyb2+37scs7oTf1IQx3wUK4OB8Ji4jXa3/sNsuXv46Wb6NZlXviZX+Tln/lPeOYrbzAzM4X/SCbRUXmy1BpwpkA6S6UiaXfLMOXDMMiewdhr4LJl5BZpU9XJTkzaLPCD0rMYDgxprHdIm9JDKB8ZTpaK005iDaQ376A319m8v8L5py9RSJ9hZhFOEHrHm+yEAKF8QOOFPp7yiJxFak0tlPRzMM7t+6wefW9HzIBiFSkzgmZEe7FLe2qB7MIV/EaNJ65OE/rqQOBAIHDDGOE0Vpdkik5f73v9077/O37QzsS2U/+SI7GlY4EUSC/BojF+Fec3KbSk3U05NxEQBifhU+y+jKLo9lGm5P50joiK7X8PY6hjy0yeMVxfpvfgLp0Hi6hKg2qoaAWKLzYNTwU5V/2C+9qnHiomfUuTZXpZB78W0L23gWjMMHHjGZ548glevNwiUpAVKQ/uvMv922/T793jD773NvXmBNevPcH//D/8j3z9jTf4/PPPU61EOGvRRU6/nxJnjs12itaWzIKsemip8KymFvpIYNAekg0SWhXJg7ZhmBmcdEhP8My1krQpccgt0uZUSdoc5GWG2/g0bb+77bYFrHa/iSWBFY6e304zfh/oVIyhjjHUcdbB7Cyry/1zdYwoTMJQ9O6Rd5ZBSy6cf43P/ZX/lAvPv4QXBAQSDtQzonQssBaMxllHrVpK625FK7a68PZ1R/wJBLiii3QpRoRoWcWehrQZSLLUkI7So0tG3Abh7bpWhDMh+cYGxaCPEIbc5ejKFL0MPCkIlCiV/Y600bsoFeDjhRFOG7AaqQTTswEbvTJHhaDc43B4/xfgclzexRZ9RMvwILxCW7XwA4/LFyeZaVUOTzOuFCZOEMYw7GbEqSPbRTY4U3RiO6jysEOxq/7bOhYh0vcQIkWIGJvHmOAc/W5OZ7mLNY7ZmSrSk9sOzjFdudIhc5Z0mGIsrLYL0twe+W5v1XoMdZSms5gi7rLy1u/TvnOT9t1bmCLn8sIcT5yf4L94vc6MzZnBEPiKC62Qyy2fby545DpmkMY4C8899Sx64XnMpWfwK1UutXwageO92/fpLn9EPlzDOMe5+cs899wL/MO/+2tcvnyZ8/PzSFGu8I3OsbrA4bjzSYcP3u/yz/7Zt7n2zDTVZkgU+UhRphevVQPiYUa/l2AKzdUZj096mvW4zPRx/co0F2brFLtIm3FuWYkNH3UKNk9IXt7TdmcY/7fKOO3Z+zoVY6jj7NGJT2N1UZ77GYI69v2VQSgPv7FAvPQAk15AiipRbYKJJ64hvQBv5FQcGLUW5RYrm2dsSR5tkTbNSHnmkfX5Q6RNf6S0eXLSphkpbXq013N0YfcobTqhcIQgI4RTqCjCJWv4wSpOaqi2MF6dzkZCMyqdii3hpsMnu5G7IEr8168GoAvqkx7Sk0ghGQ41oQOJO1yAR0gQHv8fe28aZNlx3fn9MvMub6+9uqq6esfWjQaBBkAA3ECRAkmR4ibREil5NLZsSTGyNF9s2ePx2BOKsccOO8IOR9gfHOOJmMVy2NaMPZI4HlMiRYriBgIgiR3djd679nr19rvfm+kP99XWXVVdXdUSSLBOBFDvVVfmzZs3X+b/nf//nJN1LpM2L+R6E1uRuBOMTx7i8OQgQ1UXZ7uKXf3DJo0zWnNtZKoJE4hSQ7pPMLqZ6tidCekgZIIhAatCEka0W4peL4U4YmioiDNYJGNdz7IrKCclPT+l3Yp49VIPL9A70jyrwz+gOtZfR51lwsYc17/+T+jMnCdoLFAbGOHcg4f5+HtP8rd+dopDNYupURfPyzh5aoIHjg9zX01Rk4apgSrznQ6n3UGGnRKVoTEadhlPQ8nK6Haa6Cym5WtIPNLCFENTD/H0k89weGKcguvi2BauI/O6L8bQ6XZ58/LbfPUbb/E//g8/ZPZGxIXzDX72EycYHXCxhUAKg2VJhgfLzM83GHUMBamxLMGcL/CFy8TEMBPjFcoFRSuGnhfx1bd7vDAXMu/pPQl691KrY1N79t521TaBigOqY/9gYqv3u+5nn2jq3UV1bGWr/2pASJyhE3g3Z4hbLQBqR6YpjY+TaSiqPG3D9rhCIC0bE4dros2ep/HDO4g2sxB0X7SpewR7Em1mCAHlisXKUpQDCyAz/cLpQgIyp2qkwS3GCNNEZyHYZVoNQ2uhw+Jsh+kjAyg3L+et2S7iYuv7t8suIo3zDVMJRGQwQYrbj8QwYvtnYbQG4ZK23gJvAZnFTJ+6n9HjDyGUw/iQi2PLHetqZKkh8kJCL0ECDc/sIRplo3diOzB6BxMKoUoISyEsFyNsyDRJOyCYX8aRMZXRGqrokhiw2AGw9i1ONPW6z8xsj9cuNPEDTXgH3cgB1bH+OosDvLlLNC69wMx3/gVxZ5mSTBgfG+Hf/dJn+NLPf5CPP30/wyUoOgplO0yemGZwtMbIaCWnE5SkXHN57MQkK7NNKlpgWRJTLhNaFu04Y7xgaC00WVxo890fNCmPH0a4AwxWywxVi5SLBYoFGyUFfqxp9EL+1Te+yb/+8y/z3Zef59pFF+WUOHR4iCfeN82RkSKOkmvfbKWSTI0PUp9boqzyiqfRwARebZI2Jc4eLeNFGUudmP/lm4u8MhtwvZXc9Vm4merYm+11/14bQ/9nnvxqz2Ci39UB1XHb67vqY79uzncl1bGVrTrnNUJZa4Ahqi+RdtoUhoYoHxrHKpeJDRStHQ7ZrUSbiSG4g2iTWzNt7km0uZ5pEwSdVoLuX/PWzUQoGwRIE4LRJFmFXlfQbUXoNMVkMZXRKr5Qa0mbdqMrFH06RigJSlAYLJLFGh2mYAxDFYmXmm0FnEJaQEYWevg3XiKeeZnCwDjVqVMUqoOogmK4au8IcqSliIKYdiOm3sj1JdFdrKV1MLH2bm/r0ABIkCUQCVIYSCTJQp14Zobu/AqHHjqCcAv4aT+PhbX1PMeJJghTLl5c4dKVBjdvdggjzXZLanXUB1RHbjqNyYIO7QvfZun1r9O4+AKx12JqYowHTp3kv/n7v8cHn3qEsw8cw3VssBykZVGoDGE7DpZjIaXAKbq4RUltuIRtKxxlEXRj7p8YwrgOgVR4Xo+rr7/JlZcu8r//r9+i3YqYPDLB5OFhjowPMjU2SLnoIKWk2Uu41gj4n79xnR+89SYX336FoNuhVA05977389nffIbaYIGxqk3Jzj2CyBxECCGwpCLohhw7NEFaHKRXqBEaydvzPj0/5P95YYnFbkLTvztY/U5THXB7W/XM5/eap2KDd+KA6tizHVAdezkMchWCcAsYAWmrQdRYJlhaYuSRs8hyGWU7GKCwIbnMrXaraLNUlDRbW4s219oAwqpiwr5o0+xPtCnYLNrcaksR0gFlI4tjIHPONg5S0qWb6KCJM1TDGaoRRBq3752R4s7IIk8IpZC2QFmSQsUhbIUMVQWOLVBK0Iu2FnCCznURYYfejR8SLV4krK8w8vCzTN9/hIGhMpYlcLb1FhmESJG2ZGHWIwpyMGe4cx6H9fVj7prquK2vNWQr+3tZDi6kcNA9Dx14SBnSXVmgfPwU2iqS6Xxd3arf7HkJnXbEiy/NsrjYo9k6j5XMAAAgAElEQVQMye4QondAdWx4rUNSr8nKj/4Yb+4tkvYCtjS855GzfPy5j/J3/qPf4cSRacZHh/tEqEIbG6Hyuj6dMCVKNZkG11Yo20ZIjeM6uLZDxXaxjWHcgYvLK1z/+v/Nla9/mbe++0PqDUl1oMIDDx3mC598gumxQSpFhzQ11Bs+5290+OfPz3OlndIINOHiRVauLJN4gqOnRnnkmbNUa0WqjqLmqn7xwlydZDsOtuXgUMDKoOYoLnqShh/T9QMuLXh0gx0S8W07d+Ydpzq2an7XoOKA6tj5/a772SeaevdTHdtZzmjrvoJZuS5Z4JF0O+g4pDczy9gTjyPLZYC7F22WN4s2bzfF6tfjNdEm+xRtRtlaeXTFFoeqkAhVAqnzFNwIpN9Bt+ZJ2ys41TKmUMYLYXE5YLTmYCuxPtc7TufqqS+QQlEdKpH1/PybuBQEWtwWsZCnSM8wJAjbJe3W6S7FtJrDrNxQnHnuSarDFaQAdztti8nA5MWeSxWbhXkfPzFE7Lwm1r0Te/dMwHafv1wrAhKhLKxSARMuIa0mygrRQHHkMKmRGJ3h2gJLijWq4+bNNq+8uoDXiwnC7b9xmv4A3okvI/vev/4KqA4DkHqYcIW0fRV//jI69ikUS7zv2Y/ypV/+PM899xEmxsaolAoomVf4TLVCk9MSs62Ay0s9vn+lwcRgAWVJkJJASyypKLguJtNkUUQWh9Qab/GtP/k/qL/1IgjFfece55O/+GF+9defY2qsRrXggDEs1z1ev7DCtZkWy72Uxfo8XuM69Ve/xsq1kOZ8l9pAmccfP82Z4xNMV+21z15qBJHOQ5Jdx0WnmoVuwqKX8lYzopOkpOlqCu+7nLsfE6pjK9s1qDigOg6oDvjrpDq278esHZMGoRR2dYBw7gZJr4vJUgRQO3kC+qJNS+5Mg2wUba6K8LbMtGlM/s1M9gtmJR1E1hdtWvdGtKk3iDZvbWOwybUWpXxXCNtksUecBSSlEdo9Q6YFWZwyUHUwUqzN1M5+C9Xv1waRV3I1aUptvEii86JIWWpwBP2kOWvEU56syy5y442IpfkhktjGLhU49vBRRkoW1naeCiFApwijSbyYOM2od7NtE3Gtg4n12dnT+rljo/XIECkUVqUM4SxpHCCcGmpgjEg4BJGmZEMaay69vUp1tAnCbFvvxOqoD6iOzSYwmKiFDhbzRHOArQ0nH/0Zjp58gCfPnWVidAAlJUVLYfWPIC/KU0v/6ZsL/OBGk2vLHnGquXpzhemxGnVsQi1wZB5+7RQsvOYKMm2h44A08Lg0UyeYfJRnPvNxvvhrz3Hi5CGkUv2Q65jAT5hd9FhpevQ6y1w6/3UWXvrHJJ0Fio7N8PA0v/CLH+Mj738P908NUrQFaZoRa8lCrIkysKUkzjSXOynfvdLh/51NaaeGeE9g4seL6tjK7ggqDqiOA6pjtd07Q3VsuP6m32wUbYI9NIJ/8ypxcwWAypFpiuPjpBpKCtRdiDaNAH9jToH+Z8Bs+GYmhA0mgnQ90+a+RJvVddGmIKdBNj+z/KDLq3ZIhJXnnXAHJaogSMMexhmmt+ITNLoUXUllsLRWIGu1hx0GBOTCMmkpnLLEtqBcsWk1Y4raUOxffU33kMWY8AY67lIcrLB4LSJSRUpTYzxwZpqxkdIOJbjy+0kabWSaoDNNx9cEt+TqXl8/5t5RHTvaKqiQuVdIyDx/SGkU7U4gigNIxyHLNK1WxOU3F1haOqA67qKrLUyAski9BXrzV2nffBtbWBw6/hCV6hAjA0VOHhpksORgWwphDEudmBvNiH/0nWu8Otfm4mKPgo6ZuXiDt1++zJvnZzn6wFGkY+PKnK6SgFty6a0s4ShNKuB1fYwrHKZhqnz0/fczWi1QsxWOThE6w5Ypza7P8+cv8INL56kvz+Av/IDRwSJHj5zg7/39v88HPvw0x44fxlUQBQndXsxyNyFRFu1Y0w1S/vSNFf7szSYvLoa0Y30XWWxX5878WFIdW9mOoOKA6tj5/a772Sea+umlOvrX3/K3t4o2897j+hJJp407NERpfF20WboL0aa9UbSZ6nwzvfUGhAKrhImWEWa9PPp+RJsCQaedrHkrbg3rXPejgJAKVSwjZA+hchdW1Epp3WzRur5MoWRTGiwhHId2lAsLdxsZIpXK51NohJSMjpQIlwOcTCMVpAhi3Z+QZBlpfEwWYw/YiGNnEGOHGBwuMzpUouBa217HaAPakHohykC3l+V1QDZjub8iqmMnW/dWCOVg3AGkOwhOjTTKUJYk6AQ0bqwQBAlhdEB17KKb7f9dx5gkIKpf5Pp3/jXzr30fk8acfOgsJ48f4+OPnWB8sEzBVujMMNcI+MbbTf7p8wssdmNWmi2M3+H6i3/JG994nRe/9ip+L+DhR09w5MgII3ZOg0opMcIQJwHtxSvodIXl2KVuhsEuIKwiH314kpG+JsKkITLzwb/O1169zNV6C6kEDx0/ybkHH+WLX/gNjh47xuEjU1iWwmQZ7RWPdjMg04Z6ZJjvJfxv357j9Zkel+vBHnQT/FhTHVvZlp/4TVRHv9t3kurYex/vEqpjHx6C/W5me/UqQN8zsY9nuLv1YwMRVnWQ4uGjhHM3CGavM/PnX2fkkbNYlTKqUqaTwJCzffFqoRTSKaDjCNvETB9yaLRSkkyTJFuPQggbOfAwuvEilvYopHUCNUIY27x+YYUjk7loc/uMjAJUEVKPYtliaMyhUXdoLIdr2opcObLtoBHuUUjmMGoEEwsy3yPu9Xj7R28ydHQQpS3cgosIDCNFsTtgIQTCLYI0uCUFdsrEyRorV9pUSwJCSLsZYawQzlGy7gyi/Rq18iBJ7X5Sy+Htmx0ePn2Icma2rZ8hlEI4LplQtJY9akJTB2KRy1zWqI69rsN7sJkayGkhlXuddJLRmm3kz2WH3OarMOgnnuq45Xd76OZOfwVxl2z5BXTvJsWSwi2VqA2PcmxiiC/+zFkmh3NAkcYpnZUuM3MdXrrUZbGTEPaWEf4SnZe/TNps05uPKbmTjA8UqOqYI47OQzxNHq4cCxvtFklVSkFFPHvccC11mThzmoHREV6fCxg5ZVOwBCaLSdo3KMqAf+cDkzSDmCfve4jTh6rUSsOgiihjkDql6khMZohcxXJTc73hcbHX4XvXPYIkw98BeG47d/vY/1f72Ofy25Nt8lQcUB33BkysjmHvbQ+ojt21Exv+0yjH7R+q66LN8cf3KNo0hnJJstxISbfzVYp1sGDSeyfaDPyMeAsaZIsB5/9ZNcDKv1WnMTZ1HNnAa8xRPXaKKFPEYYJMM0rF7T0Ht45LKAuEwXIUUkocGxxLUy1LWr4h03l9C91ZIm5dxgQrCKvK6IkTTJw6irZtxvui0Z1uodeKCDsRUZhiS+jE6+v/nQD0t62/WyNpjNnRa3tAddzebP2LxuafGI1JPXT7EiRtBDB94hyPPPdLTD14jsdOjDFQzEOTvZZHu95BhwnzjQ5Xblxk5vrLzL7yZYq9FQbdjNHRYf7m3/w8v/Kln+GZJ05SKTqYLPc4dry8xoxWNkGvzfLyAsuNNlUnxj58FlWqIQRMDTgMFiyQEu0t4VgKxy3x4cfPct94lQcOD6PsAm6xxNBQjdGhMraVC3Y7QcZXL3T41vUer8wHdMJ3T1THbtutgYoDqmPn97vuZ59o6oDquFtb96ZhKazqAMHcDdK+aBOgduIE2HsTbSIE3d725dGFdPLPTNJBpF2UCYjUKIneu2hz5Y6izY0mgTxuVkiB7drIaA6ZtUEY4kQQpkVmrrZwbUGpaGP3q52ukyk7Wf5XluMitEaQa0CGRhyarRSjHTCauHGNaOEq8flXGX/yWWoTh3BLRWxL5smJtrxQlo+5YNOue0RhxrKX53TI3iHvxH73rwOqY/21zjLSJMnPkz7HZwmBAsqrfy8kBoOOeoQLl+i99irj0w9w9NEPMDgyhsZwcqyIrSRGGzr1Jt2FOWb+7F/wrVe/zeyNlwmiLtOHxnjoxAn+i//89/jABx7jPe85iePYJFlKGCT0ejklESUZmbGo9ywunH+dheUlkjShXHSwhqcpVsrUChaDBYWrBLIwCMqmNvkA5WKZspOLnwdGhqkNjzA8XMO2LZq9hNlGyB/85SJvLvpc7yRE77Kojl21Mwb19Od+9/fXqI6DqI53nurYW/NNP/fUx1438f7PexPVsTczfVhvchcJzsAI/sxV4sYKCKhMT1M8tAfRpsp794JcX7GdCWFjdITpizZt3SPch2izUrWoL0VkyYby6LuZB5ODC+lWMHETY7ukuPQ8SRALOis9Do2V0LZEWCr/VsFOwGJVt5Jn91SujU5iKkMulmOhlKDbiXCkTVq/SeOlHxA1GoQ3rnHog88xNj1Ktawo2nKbOiB9csdkWK7i8o0eYWTWAMXdrId7RXXste1e982Nnex7Q2cPffwVRHWkcUyWxHQWl+nVV1CFAtJSjJYkVUswgsDpf5xSYcjIyPwVVp7/Gv71twkaK5x88v08duYIZ44NUy1a/dTXKe35m3zlv/+veftbf0F2+Q26h8Z47Nw5Pv3Rj/If/vZvc3hqitHREbQx+HGMHyWEcYJODSudHm0v4uL1Bj0/JVU1vPplhp2UieEaI9NHid0B2lHGdNXCtSxs20YWBhDKwbIdQOBWR3CKFQqFAnEGN1YCXrnW5V9+b5GlVkw3yIjYPUD9SYnq2LmtWVvD6pnP/87vH1Ad+z+Q9972gOrY94I2ArNBtNkfFPHKPRBtWoIoziNBtqJB8vH3RZv3MNPmqmhzU12Qre5/7Zd9YaHIRWayNIB0LZAKrRVZLyRbWaJ+8TITDx4B1yXTBp2xIz2xaWqkwCkXEGS4hX6CnzjANQGDlSqLr71ErxERpyWs2knue+p+yjUXAzhsAyrSCJkl6DRDAyvNmH7h0l14UW6dg7u3fa+/fAEeUB19i7pNwvYy86+9SBTEJFGKS8Yjxwd4YkLxwUMGPxQYLRlwBNPVhEawTKIjkuYSYTcitmsEw/fxhY+f48REFSUElg5QdDDRHD/8kz8laDQoDw3zxV/7Nb74S7/EZz7yEcZGR7Fsh1Qbul5MlCakWtPr9rh0c47Xr83zlRdeo+RWcO0CpYLDA9OjTJU1RwZscKt0KOGlkvMLHc6Mlyg5FqkRZAaUFCiniFCKOJN0o5TnLzV56VKbN2e6tLyUbqyJDbsGFT/pVAdbrH/1zC/87d8/oDr2ZgdUx1831XHLGG4Do3lOSukWEAbidoN4ZRm/n2nTKpdR/ZLod5Vps6BotDPSdHOmzY3zJwBh1SBcL4+eygqR2X959O3Emtt+bqWNkKqf10ojMotkfpFofh4TRWQYCmOjzDfy9qtJnO5ofW+mkBKMxq2UEGmECH2MThk6forzr7S5ungKZJHp09OMHRnCZTUTxjb3nUZY0pDFGe1eQi/Uu/TM7OKPdrADquPeUR1p5NNZuEzj6qvMvvgVwtY8taFxxgYrfPHDp3juwSqPjWhGiyCVhWspPvFQkcMDhmW/y0oYUxscohnYrEw/S1ocolQq8siJESq2xNI9RNbA6IgjZx6ksdDm3/4H/xVPfPCDnDl9GtdxSTJNFGf0gpTUGLqex8riPH/4z/8Z33z+Jd6YrRNogZCGB6Ynef+5kxwaqVA0AZHn0fEM17IhrjZD4lSTZDBeK3Czl+EnGteS2FKw7KUsd2O+/MMlriz6zLdColQTGUM7NnTM7ZFbW87du4Dq2Kof9fTnfuf399LpfgZ0QHXs37uy381sr14FeKepDrZxFW8WbUo3F22mvQ7mXok2m7loc8v5E2pdHrGhPHp2D0Sbab88+vpGtYv1vzoeaoCDVC5pc5ks7aHtjMCukTpVul7KQFHlWpNdAwsJloW0FG65QNhqUqllOCVBao1z7e2MKDSMHhnm2IkxKiWHHe4aow1ho4eJEnw/xY8NyQ4n/gHVcfvr3TXuj/4eUh1Z5JP4LWZe/ipzr3+T5pVXyUKfI5NjnDxU5r/8Dz7N0w+N88BkBaE1haLLkckaj0wWGSsJDlUcOkFE0lxAeR1Gh4e4Fg/R0w4lx+Gpk+NMDxaQwgLtYRdrFAYmOPfZX2ZgcoqB8UMYY/CjjCBKCZMMbaDe9phZXOa/+4f/kO/8my/z+g9eYOTkae47dZz3nj3Fh87dR63iUq6U8f2Il5cKvNEYYqktCSxFK8oLwK2EECJZCjRlS3C5HvL8tS7/6uU6YZTQDlOSDJZ8TT3I6Oqd9UDvNqpjK1NP30Wa7nvhqj6gOvY+gP0Cir26ysyGF+881bFTH+uiTWHlmTaD+Vy0qVczbe5TtNnuZjsU2eo7+dNctGnp/Yk2SyWLxkbRpgG960+AABzyUuc2QhisgsFy2xjpIQpFUorEkeHaxQUOT1ZxXbUGXHaEF2v6q1yDUh4qQ7JAbRCEsuj5Cm1VKQ0PcPzBcUolJ0+bvE1fOsmIuwGZF+JagnovI822887s6ua3tH2vvy1cvXd7/R8nqiN3va8/6VUFzU7PfpN3olsnWpll5uv/lJWbb9Jevka5ZPP0uXN89mc/yN/9W7/M9KEBRgdyTYVTLFGqDVAbGKBYdpFZgusojh4qcePqFWTQJU0SCo5FcXCS8dFxDtVcJgcLlF0LZBVkEbs8hl0o5dFe2tDzkr5nweDHGZcWO7x4+QZ/+N2XmLlymfmb19GWizhyht/40md49tyDVMsutjBIITCqwAvXDDd7Ll4CkRYEiWFuJUEqBUqQavj6+Qbfu9rjW9e6tMIUMoPWhuudhE6i8dOdwea7kerYynYNKg6ojj027F/0gOrYu90ZTGy01VHmf+0MjuDdvEp0i2hztTz63Yo2e/4dRJvShiyC7B6LNuM8zv1ObtXb5yKHgULZufNCdUEHJFFKkFaYv7JMHCboLGN4rEKEXMvCubPjQqzdrxACpcCkXQYnKtiVQVRtGC0sQi/hyP2jODskwRJKkoUpcRDTbCWIBLqJ2bRmDqiOrd/v9sIbqY40Tug2WvgdD1VwEUriKoElBBWTR2bEsO38G52SBSv4c+dZ+Is/IGkuYImMkfFRfv1v/DK/8m99ms9/7INMjA7junlqeeUUsN0CluPk9KIQSFuiigqpBFOjQ7xx4RJha4mChNroYXRpiE6UcXa6SqVgYykLhM3q2kszg+cnZJnGizJaQcbXLrT4i4tLvHT5Gt3QJzbQbndpP/o57GNnGZmY4MnjoxQtiTQZIvEx2lAtO7x6M2Axgm4KfgpxAu1eTKlo8cKFBjdXAm42I2JtSLUhTjVLvZQ4Y8ew0Xcz1bGV3RFU7NdVeEB17N+7st/NbK9eBfhxpTp2stXvW7loU2MQAsKVJeJOm+LQEJVD4zjlMqnJRZvbHp7biDb9cGvRZt5mXbRJX7QJgmRfok3otHLR5up87mZObps/ZSFMBnYFrBppqPE8iLpdyGLsso2qVYk0uP0zaFfAQtkgJbad4RYNI5MFlpYFTrHA8HiFwZEydsFCbeOhEUIgHIvFG138TkIYaoyAWN+bzXR/G+q7h+rIgi5pr83s+UvMXLhJu96gVCtzbHKAwzWbEwWJSg2if0DGbJ7/LMvQaUzavknmzRKtXCFcnqGkFBMTk/zd/+w/5sMfeppHz56m4DrkeVlVnuZcSqIMokRjEFiWRFgSgcZWKgc7YcDVq1dJgxayUKE0NMLg8ACxlNw/WqRwi7dLAHGcsdSNmWnH/LMXlnhjwedGMyEM2ng3L9C+9DqdRovo5NOYoQmGCjYfOjnKSNHONT5ZjB+mNLspb8zHzMYQmPWUCtrAzWWfKM7ww3TtYZhUEyc6Fztv83B+GqiOrWxbUHEvXNUHVMfeB7BfQLFXV5nZ8OLHm+rYqSGAxIgM5RSAvDx63FwmXFli9OxZ7HIZZeXl0V3r7kSbK63bRZu3mVXDhAuIvmgz2ZdoE7xuuiba3E1uvi3nTyiwqnkmS6sACGSWILrLmOUruKUCVrUGyma5GVIrqF1HhkjlgMiQpAghmDwxhlseYHi8iu0oCsX8YBFarN3iuqUYk2KXbepzPZJE42cQ7/NA3v9n/91DdaTdOsnSNeb/+H+idfM6Td+m4Ng8cXqC586O8WtPDHFy1OHyXEQc59VyYwNJv9s08on9gJWrV0n8JtK0qJUdjowMcPLkfTz7sc9RKg/w6Nn7cGwLu5+YzSAxBtpBwoqf8PzlNkGSMVJxUEqipUJkKaVCAYxmbm6WlaVF7KjB6KmHqI3UcFwXKQTjFXuzoNhAGMd84+02f/CDZZZ7Ke2eTxoHdGfeoP7CV2i//iJJ0GN6coIHzjzM3/m5sxwbKlGyFQZDEBrevNzi+VfbeFFGMzGEa+tOoPs00VpdF0OutbrD5vrTQnVsZVuCigOqY48N+xc9oDr2bnsGE0CW5pTBxlodBg2OSxr00EEbkgh/bpaxR59AlMpo7l60WSlJlrbItLn2Tqj+OLh3os1ws2hzu0ybd5w/AQgXyJDSRWYa2V1A9xoE3S6lycPMLUcEfkaWGQYrDnLDRr4txBASoYpgQlR5BKtQolQtYbRAWQplSWzLXm+/KfNWilQCrTVZZrhRjwiyXPC2FzugOjZGdWhM5qO7i8z/y/+WZPYtTBIxOHWcX/vVn+XzH7mPj58dZqJq4VgCIQQL9RjSPK11mESEjVnC+bep31gijjIKlmFsQPGp9wzx3OPHOXT4QaxijYFqhaJjc3i4hqVyMN6LEi4uNHnh6gI/uObR9jVdL2GwbFEqO8QIjAGlM0rFIu12m+XFGUKvi+kuMnD8EbRbQkjBaNmm1gfZ6AwTdvNw0WWPl+djrNTHjlt4V79JZ/E6aeKjek0ePnWSn332A/y9v/FJTh4aZKBoY7QmDiO6XZ+5pZAbiyF+YvAN9PQ+z46fIqpjK9sEKvbrKjygOvbvXdnvZrZXrwL8JFIdueksJYli4jQlCANs20ahESZDZxGJtJHlGsnSTQg8pDY4QlE8dhytbGwFjtqZBrlNtImgsyHT5m3r769CtLkcbcq0uYnz3vX8rd6kQ57a24Y0BKVRrkXH8zHFYTw/RScJRctQrBbQrIeEbg8sRJ4yXBqUZSGFwHYLlCpF3JKDFKK/UXBLfKnAJDHKZLmuopfSCe4eGux7/b2LqI61G9EewvTQYR0d9giWFsEu8okvfYlPfeIcT507iuU4uCahVBBICcuthEYnQZqUxZuv0L36IsHsBdI4YmjsEIcnhvnNnzvJeyZtTo64jNYccIeZGh/mzPFxHNsiTjK6fsJXXr3GV964yvevLdKLUrQPSws9FmdbDI2WKVVdEKCMxrUUoyPDnH/zTfxem1RrVKFEZeIYieVQtgU1R+FaAnRGFnQoigSMIfHajEVzPKMucWVhESk1tWqZL/z8J/nYz32WZz/4ISZHh6iWXCwpMJkm8gMkGi/WXGok3PAzFrK85s6eHsFPIdWxqY9+W/X053/39/ftKuSA6jigOvZuewUUaRKRxhErs9eJ4pQ4SsAIXCvDFQnl4BpaaxIslGMxOj2GmL1JodVDICgdOUJxdISSlYs2by3xsNG2E236G0Sbt45/VbRp7qVoczFcy7S5Ktq8+/lbD78VUiEKZaQVQdFCSEEaZ6SJYenNt7FtQXWghCo4hFkeLbO9zmK13zzPhrLKWLaD7Vh5oqzVP7nVQWMMpCk68LEs8IMMP9Aku6wPve/1tw9X7+r1f6yojjjJoa/s7826i10oYNsuYValM/Re2pHkYx9+mFqlSNm1UAKUzCi6koV2zEIn5LpXJ9UR3Ss/IvN7FApVHnv0AX79V97PyMggk26Ma1kMjR3l6JEpjk6NUXBtwjhluRnxR395kyuzPV5Znqcbh0RBwtLVLt/+Nxe4fHmFx89NUqsVcNy8yrAyGoFhauowr711Hs8ohFOgMDQOhQEWWxGHqzaFfr4IjMnzo9QKDOomk+ENnKTL/ZPDBNLhd7/wSZ44e4aT9z2I5RSxpMijPpREAF6UUe/FfPO6z4+WY2YjQ7SXffQnneoA9uud2OhdUe+9i5DSrQZ0QHXsA5ne8nMvtl+qgw1Ux+7Y81uuv7fLr49hj2A06DQJey1unv8RXqeJ16xTGx5hZNhhrKapZfOYoEtRpYhyjfvuH+DoVIHBkk1vZhnHsagdnuTIqSlKTp6nYUfbQrQZxpogzA+/Le9BKMQWmTbvhWhTr4o2zf6ege7fm7DLCOMDEp1adG4uETQ7tJcbTJyYIMTB1xZJBsWdxK1roMIBJELIzf+0Vbu+B0MnMTqIsbRmuZGQ7UKoeUB1bIjqiCLa9Sb1mwugJMpxqBQVRUswgE+tUCRRw3ipi3QrzNYDPvbUCQYLOZgM44S5ZsSCl/D8zDIBGm0SMIreiiZJKjx85gT3nzzE+EgFURxkfHSaUnWEUrmKkgKdZcRhyJ99b4GlRsRKN0EDvg6IkojF6y06ywFRmHH1RouTp4aZmqihhcTWKY5l5dqbYoUbS3WiMEI6FXppgYZnuLbs88hUmZKbF/ySjotTcBkarOLVF6gNjXL4+H186iMfYqRcYHywmtfuGKgyUCvh9gFus5ey0Ir5x99b5uWFiLleetd027p3Yu/2bvFObDT11B5Axb0AEwdUxzuzGM0afFjvYHWf327P37qffaLjPY4/DT3aCzdYvv4WV3/4DbLMYCmo1MqcOTvJySMlJscVMotRSlGoVnj4qdOMjkjGJ4ooy0I5ZYbuu5+TH3qKQrmEtes01VuLNpM7iDZFX7Qp75Fos9dNCb110eZeDtZNz0/I/GBSJZAVjCiRRTE68pCEdFduUpg+SSQL6EzjCEPB3mnOBHe3mvK5TbwYf8UjbMcULWj4hu2cFftef+8iqiOP6miw9PL3mHl7hvrcCp16izNnjnBqvMIvnq6iQ58gCKmUC/SyElZtlJETJ1HKYqpm0QsjvtTPVGcAACAASURBVPnKPC9e9Tk/H2GQhLGPJSUVLei0BM2GYaXu8d4nT3JoZICJ0SGUXcBZLQufZaSBTxTG1AqCV26EdFPoaUGoIxAxVkniLacEscEoQa3mcniyRq3ikEmFrVPKxUJf29Gk3uwRRRG+PY4f5/kiDIYjIwUs2wYp+mlTBNXRcQYPHWFs+hjVgQEsDFIpKpUylVo1p2UyQzdI+f7FBs9faHK1HrLk612Jnzc/hp9w78Q98M5tN/67BhWrgGJ/yGb/3ol34ttF3vYnleroI1KTYbQGITAIdD+Tk9zJ93/r9e/+8pva74nqCD2iXosbP/was+e/z/L1CyShR3WgxOSxo3zsF57l8JFhhmoKyxKURkZwB0eYfuwcxWqJQtEBnVEYnaJ28n4Ovecs7kBtkwhxN7ZRtElftLncSLd31fdFm6uZNoUJ0KJwz0Sbu40GWbVtn59QgLWW4lu5NiJawmURRExmBLI8ytJ8B5MklAoWjq3WAM1evFybr5/rVvyVLjrO8CNDnEKY3v65/6mkOmCzd6L/3uiEZOkanR/+Ke3v/xGdrIbjFhgfHeBzHzjG58+N8vBEiSRJWOkkBKliaPQIWW2UULpkSYSMOly8usSfv3CFQNtIpag6FkerAuN3cQREYYYfaRKjmO8lPPe+UwxXizktyHrSrCyJ0VlGEmcsthPe6GpaRqJNCiYBoXEGFV5L0+rGADx03yi1qovrqJwd0xnlYpFOkLHiZ/iZhYl8ImeQdpDiddpMDZc4NFAkMQKDQUobp1jDKZawC0WkUgjLwS6WccoVlFK0/JTlTswfv7DAxZkec/UArQ1dbXad/+VAiHnn8e8aVBxQHT/BVIfJt2KdpmB07jLPNEG/JLASAiUljiPXUjVvNVfvGNXRWsKvz/LmV/8J9euv0567THFgkOOnH+SR972Xj/7CxxgYrlGpVREC7MoghcFRqhOT2IUC0nLyQ9OuIJwyTmUAadt7u5FbRJv9X24Sbd5mfdGmSdt5eXTt77s8+q2izd0Aizs+P7HusxICLLcA0TxZGpFh0WwrOu2ElbrHxHgZ5SiMkqTcqdrpLk0IrILL3M0O7XZGEBnSDePe9/rbB5jY0Mm+m94L7wRGAxkkDbwL36b9/S8TL89QkgknHnuGf/CffpanH57gzESRqiMYqZW5MJcQ6iEyk0f0hEGX2be+y7XLl3jj8jKdUONIOHZokE8/MsShisLvenSDiEqlQN3L8JwSWlpIqThzYhRnFQjQx71C0VnxuHS+Q6ubMhtp2pkAaWO0DzLLzxIJUUfT7kRcvdHkg08dpVrZINpUktGhAS7MNvDDjNg4JImk2fVoeiEDZYeBWplmIln0DQOujS0Focm/LCEFWDbKsglTw82VgDdu9vjqq3WaXkqzF5MYw0oCsRHbesQ2PYIDIeau2t4RVBxQHT/hVIcxGK0xWf6VL40D0qhHY+4anU6I52UEQcyhsQq1imJqwiVJDWFsNvTzDlEdUUBn7hLLF1/gyl/+XwStJYTIqI2O8oHPf5qnP/kpHnn/U9SGBrBtiVASpzKEKhSx3GLuVVg10T/AxU5VKHZnG0Wb9mp59FtEm5vN5NfX4SbRZmQd2pNoEwGVWi7aTHdRHv3unl8/tkVY+QEmLYRlY1SB1DjEqUTHMc3lNqNTVUQhz/UhuV1/ebcmpEbrhDDOaNSjnFZi7xTPqv3Eeie2EWKu9ZY1EHiook3v8ltk1iCFidM895mP8eH3PcDU5AASg2U00ggmhqu8cTMmilNIAxpv/zmtGy/TmL9MsTbB0cPjnL1/go+8Z4KxomKs4uBFMV0vJEkyBgcKzHc1jXaM0IZTh4eYPlRFAxa5tzNLMxYXQ5bmeugwwzPQzsgFkMIB7aHsPAFW4mt6ndVYC8HpfubVVdGmBCZGBnl9JiVMBtG4hDrFSzULnYjS4CBeJgi1IM4g1Zp5P6MVZRRsSZwamkHK82+3+OHlNm/MdOmFGV6SVxK94Wl8DdFBzok79nE3498RVKwCiv0hm/17J/bv7txr259UqoM+mMgwWQY6rxgRe03C7hJzP/wjuksXiRjAKZSYODLM9HSNB04WKRUkaQZhlOfS3zc63sP60UlI7HVYfPM7LJ7/Hkvnv0fUWWFwbIzxEyf5wu/9J9z/+JNM338ftuMgpAKpUI6buz3ldsfbvr9L97u5XbQZbRBtrv3bxtNIKIRV3iTaBPYk2lS3iDZXM21udfDu7TDup/YWNthuDqAsG2E0aZAS1+uk8zcxWlOdHCUViijSWGKX1U63NAM6Qlm5J63TjvG9DJ+7o3du6ZF3kxDz9h4TMCEIgzP9EJ1oHK9wCrdU5fT94xyeqCFXBZBryyrjZr1FFjeJust4zSXSRKNMgU994v08/sgxKkWHimMoO5LDYxWuzTZIsn5eFg2tlqa9HDE2VOTwZI1qxSEDLDIsS2KMptmI8Xo5+JjPIEH016IAE6JsSCNIQ02rFSMwnDg6xOGJ6rpoU0mEtEAWudGUZFqSIUilRWIVWGzHjAxVCVPDGzMdloKMVmpoRxoyzUI74h99e5GLCx7NbkycanqJoRllzHgpiYFkhwd8QHXsbfxbgop74Z04oDreKaojv7Lpc/7GaNIowGvcoDP7Oguv/xmx30ApQ9lNeeK5j/DwY8c5fnIIRxksoSkWFI1Okhd12sOptC/vRNgl9hrMvvxVVm68QdjNx1oZHOTJn/807/3UZ5g+fYba6FhOCgiRq8WV6oct3iPgcAe7s2hz67sXVg0TbSyPXt27aFPkmTYDP70tIdZevUtrOEisvshV9mAQxkFmEM9eJ2o2MdLgDA1QDx3avZRaUWFLcdc6lXXToBMkeZGoupcSbRdZc6d72Id3dLWTfW/o7KGPnXJObDIBwgbj549HOZjCEEEPOl7M2GiZYxM1ahUX3RdAlhyBQLPQ6ND0Yly3TGOpTrs1CFQYqFY4/dAklbJL2bWoFfKoqImRCm9erxNmKdoIeu2MVjtldqHL048dptLXQ0DurXIcSc9PWGwmBFFGWdDP/9CvnGtipEyxi5KgmaETaHcixoaLt4s2nTwz50IzodHVWNIiUIpYQ2ogiDNeu9rl2lJAkBpsW9LoJfzgWps/eXmF+U5M00uxJbQizXKQ0ow0yUF67Z372EfbTaDiXoCJA6pj/56V/RwGAk0eughx2CPw23RbC8y89hXC+lVir4lbcJk4foIHnnqaR9//BAPDVdxSLmREZxg05ZJFvZGS3mWc1Z4BhUnRaUxv8SLd+QuEnSXC9gqFcomhw0f4ud/6be574nEOP/ggtpt7JKSUuWdCiLuCEmtn5j5tK9Hm0kpKkm5XxrQv2uzrK6QJ9y/ajDLCDZk2N2oQ7sY2fbPZGBwkRJ86KoAsgM4BBtojEyGJ7ZDZZeJM0u3FDJdzAefdW/5EUi/E+CGONCy2EuJ0+81/y/u4B67eHz+qYwcTDmQ9VF8ilCTQizLmGx7PnD1MtZwf+Ia+ANJRdIKYlbaHH8UUiwPMzwU02ylSSU4/OMWDJ0YpFB0cUtx+ZFQGXK93MMIQRwY/0KQJXL7R5NmnjlKu5LohhcZWUK5a3Jz18cO8emcvAx8wQgGros0Mp6zWaJDZhS5PPXb4dtGmI2kHmno3w48NDhIfQ5Aamp0Mv59oq+PF+Inm7dkOl+Y82mFGnGoyA904pz38O6ynA6pj/+NfAxWrgGJ/yGb/3ol3wlWZt31nqQ64B+m1MWuoJIt69FaucP3qj3jtpT8h9ZsUbcHA8AhPfvKzPPrcz/HQU++jMlDDsvKQQmFZ6GRdgCgEdL0dBIi3jmGvgChLMWlE1L5O1FsiWJlBCkF5ZJTDp8/y5Gc+T3lkjLGpCZSSWLaFkhZKyrsCB6sK70z3pY+rezd7BBmbRJsajEBgaN9RtAlknX2LNtUtos30LkSbG23dO7Gdq3Q194REWDbSAmUHKMsjizxEcZTQT1m+NE8ap4yNVZBWXu0UcVeBpegoRQcRWaopKFhqZ2yH0W6/h3cr1bGdbZhcEyIdQaINSWLQaX7gf+iJo1Q2CSBhpOZycWaZKM51K0iLjpfRswtMTQ5y8vAQ1YqTeziylJJjAYL5pkfLCykVFSuNFM/PyLTBrOohnNUSYhqJYaBm88o1j1kvD9mMgBSRAyHjI2X+YLME4kCTpHClD1Jq/TFbRuMow2jN5sJsSBBrkgxAEvcr6q6KlZPM0OzGdP1k7bMABtP3SmQ7bLAHVMf+x79q6r2f/93ff6eoDvhx8k7sufmmn3vqYz/eCdicXttkpP4ynTf/kOXz/x9Xr75Cy/MpDI9w/PhJPvVbf5sTj5xj4sQpLGezMHBT1sj+meb5miDaflffD5jIO9AYk5F4s3l4XNgjS2NUZYTi2DSnnniSyvAg5UoJy7YpVytIZe3oYjd5t2vrQgiI4rwIWLSqDu/v3XEGcZp7+KXYOKe7s7U5i0JslZ+iPT/bQbRJnmlTh+i+aNPKekT2/kSbS7sUbW60dTCx9m470oaNMyKUjVQJkIJ0iHox9VmfbtNDxxGDwxWolPAysPpC/F3NpxBgKeJegNcK8ToJWaLx0+3vZ3XU726qYydT+XompxRcV+G1U4J2ho4MQgseun8Ue6MA0hgmhkq8cX2ZFA1K4SmXdmCYW/F46uxhKmU39ziZvrfAten4MSudAD9OqJYVS/WERl8PcfLoEFMTVTQC22RYZOhE42vD1XpM1q8lkgAaAcLFaA9laeySpNfI8P0Mow1SCM7cN4rrWsj+mIUxTAw7vH4jIIp1/47XU2qbvg7I3Dp/d5jOA6pj/+PfaBVXoZ7+XJ6me++DOfBO/HW7msyGF5vTaxtMFuFd+zqd839MuvQqmSwwcv/jnP7AJ/jAr/4GU5NTDAwPbd3xLQJESwmi2BCGeksaZF+AYtVNJ2R+OOoMr34dv7lMfX6GwtAh3MFRjDYcPjZJbbDG4NAAylLb5tQw/QnNv5HkM5Mkml4votHyWax72LYFQhBGKb0gw08Ese4XNVK5NyPlLg9CyDemJO5n2jS3iTY3t9kg2syiNXDwVy3aXJunjRO2kerYrQkJqpAjMbuGpoBONWngk3hdlB2jBmoYxyVKDUUp2NbxsoVpBK2ZNomfog34KSRbDPCnjurYriuh8jVkEiDDdRXdxYR2I8ZsPPDXBJBibdneqHdACeJU4MeGNIbLl5s8+96jlG/xcIwOFLkw2yBKU5Ish67djqa5SQ/hkiGw04RSn5KZbyY0uik2EJA/31x2JECHCGNwygqvkdLpxijHcOrIENPjVTIhsXSKrdY/j1frMUlm8Mg/q3s/v8wB1XGv0AQwWXM4PlJAvfdze0vTfSDE3B8YuveVRA2QIWSGSXzCxTfIeg2qxROc+fS/x5kPf4KB8Ulsx8FV2x+YtwoQi0VJs51rKzYVz9o3mBBrB5qOQ7yFt5l74zu89tX/k+7iTcbvf4TK4BAPnTvNxNQhhkYGUErteNAbo8lSjTGGJDXEQcaNay3mFjq0ugFRnKIzQxylXH5rhpXlLm6tSpZm+M0WOtNkrkNq+nH3uwQWok/DmDRFmoxSQbLSSrfNtLk6f0Llok2hfQSQqirxPkSbvW1Em1tde3uqY3dmjASrDFLl929ABA1E6zJBc4XakSNo5dBqhIRRQsFWOJa8A9WkESL3OmTa0GuFtCNDkLEpj0B+Dz9tVMeW3fQtzwOxSimszm/YzwMxOlxkejVKY00AmaerXlilNFzFykqK18zI0vwp3RbiaWByuMIb1+skWULuldO0btVD2BbCmDU9RMfX1LspQayxybUVuh+AbEyMEBohJMISJFlG14sYGykzdahGueyQSoWjU8qOYCXQXGvEXPazvtdjj3N3QHXcM6u4irNTZT7y4BC/9aEp1FN3CSoOhJj796zspf0amGCnSqIa0Ei3TBZ4RN0RhB5A+IapZ55BlcsI8lLfO9W62FTqWxvKJUW90f92sh9XmdkMJoxJyaIezTe/SvPiN1h46/t0G8tUxycoVYp85jf/faaOTjI4VFsvSLV95+gsX5uBn9DrRrz+6iLLSx7dTpwXykoz2o2QxRt1/F5EHKZkcULn2jUWz18kSRKcaoXUSHpBmpdEv2NRkNU5U5BlG0SbiqVGsjnEtP8/AyBU7iVDwEbRptqfaPPW8ui3XvvOVMfOtvb5W4u0EYCFEhYi6kDcRYiUXqNFTw7R6qZEUcpg2cGy5FpK9K2fZr4wlJVnep2tR6y0U1K9sXjaTzPVsVOTnFJYzQMBgsjLNgkgq7cKIG+lNIo5pdFsxbCDh8MAN+sdkIYwIvfKJWyTxMowWrO4MBfixzoPSyWnLvSqh0VolC0RUpGEKVGmWO5lPPX4cUoFG8sSeLHm7QX//2fvvYIkS687v993XdrytrurffdMT8/0OAwGGM7AEJ4AOVjQgEFIC5IrrSSKaxTafRD1xAeFYkMRetKLIvaBuysTodgFQwpJJAUSJEiQcDMAMd50T7vq8ukzr/+MHm5m2azscg1ggDoRXZUzlffec79rvvOd///8Dz9aDPnbhYhI77+b6DHUcXj/N1s5ZzNRcvm1p6Z48fEpPn55lImSu/eg4hjq2Pr7INsfLdSx3dYZWwjbxR06TbC4jPQTjMpWr6MXzmM5Hk43qNhrq+/e7tsdhTpwaUE3oOi9XHUKOiZe/hGtWy/hL7xOLp9n5NwjXP3FX+Izv/8vGJmYYHSkvIdsQbZPKQ21asDKYod33qoQBilxpNDaoKUiDjWRnyBTg9YSJTVhvYO/tEh7YZGg2cKdmGKtmXLnbgulYHTYw7KzdO3AgtUe0bVH2ux+t0fa7JfdEV3SplEtkG0cHRA7BydtFosO1W1Km+sv3oNCHZts5/3bI3DaYLlYXhFkCxwLkc8jtSHSOTqdlHeur3BuboR83l3fsv9BNMgUC4UfSFq+JEkzop0+hjoGmNi4Qdd1IAxJqNFpRoD8yLM7SZubIY0exNlqaRr3yXAs1Tpd0qZFra7wA9W95/plOAyzYx5v3AmJkuzZ2ELaFBaYFNuxEG6R3MgkY+fOsdhSPHyiQKwMf/paja+/2eTbdwLasd53huIY6ji8/5utB3X8y0+f4QNnh3houoDXXYDtKag4hjoOFwwdPdSxm/W+lT1AubFJ/PlbpPUqAhg6PUdheppUQ94G2xoAg2wjbRruT9rsfwJbsxOZaZAhOriHEIqotYpMFfapp5h+7OM895tfYfzkKTzPxbWsAR0xM5PSEEWS29dr3LvdYnmxTRz3AqBsFtUqg0Y2fLAAF4NAxVGWhs07NBodalGedmhQUcxw2SVXzqHZ6G8weMycLmkTQNAOsjbeu167LmmTzUqbhyBtDg07rG0ibWoD5tBQx6C/boyIEAK7MILtxkCCkgo/Ebz894s06j5pIjl3Zny95LTvOBoDMsEWinzOYmUtxo8zoaIf9/vj0O+vBwJ1DLKuWHZXB8Ir2HRqkmjghL8J0tASgaDjq3VI44P9SjxzLq0gptIKCZOUUslmrSrXSZs7Raw2rvXdaoJSZp27pAVgLBAa4ZTwimPkxqbQtocW0AxS/vxHa7y54HOzEpPst8TdcAx1HGEwsR3qODniMVHa2vJgYFBxDHUcPrNyoBRz9/dgqKOf9VaOGmE761sllVWSVpPc2BiFmWnsUonEQNGBXRt0bleNtAVxmhEQ96RdYfoFE5v8NBIjO4SNZeI4oS2msMYvkp86R6FYZObEGHnXJucM1qCQiSQJU97+0TJrqz7NeoTqNghad2WHC71xyngJlpdDeBLhWeAItNTErYjO/DJWElAeH8It5Na5FoMyPL0V42bSZjCAtCmEDduVNo+CtFnvtUffe7Ok7bbv509Y68NqZAedtFlYbFBvKtYaEbYtOH1yjMmx4sCMj1EaFcYknQjXSFZaiuQgspqHCUR2+by3jbuTwAODOgZYF1IwJsUIRa5k06mkNO8DaSA2II3NOhT9IQ2YHCnyzr3qeoZDiI0MR38RqyywWu6SNh0y0qZBZNoVIgfCQ9i57N6wIAwT7q12aIUpzWB/YMcx1HF4/zfbblCH1wce7htUHEMdW38fZPsHC3Xcbz8WBoWVy2cTVKNGXFsjWF1l4tpj2KUStputfvP7IG0WCxb1xlbSZv+T2Ap19DWl6FRuce+17/DmN/8Ev77K5JUPUygPcfnKHDNTI5TyzuCAIk4JGwH1+RpIRbURr+Pv+7r8QiCcAkJECKNRiSGcX6Nz8y6tpRqzD51E5PP4ykGZ7pjt4th20mbpPqTN9e2cDdImHJK0CbQ7KWG3PfpBgooDP3/CwRiNSRuQNslZCdXQAcfDzRcYGy0wMVakkHMGnItFVGshOxFGapQytKK9i2D97EMdg0xguqRNYW3ccPH9SJtskDYLBYtqTdHZQ4bj9dtrSC0xCPwuaXO+q7S5u4iVJEg0OXqkzeyaI6zu+JmMn6QVWu9xEbNl7Mwx1HGE2YlBUEc/2xFUHEMdhwuGfnxQxy7HX09HZ9OJncuhQp+03cIkEZ17C0x/4GmsUgnISJvufkibJbu/0uauUMfOM9UyQjbeIanf5vq3v05rbZHcyDij0zP8yn/8JU7NTTBULtyHS5HpW7RWWqhEEcXZyydIdJ/MxH1MWF3So42xigjhItsBsuNj6RbNlXlKFy6ivSJKGTxbbOql0G9320ibpZ2kzS3fF73ITqBlE3EUpM1ue/R0U3v0vYzJYV9GGrJxVDEmbaP8CiVdxS4MIb1R/Ehy6fQ4xaK73hG37+k4LlGjQxIqgsjQiUzfstKj8v/9B3X02Xb991bSpuiSNv09kDYrzYBgT5DGRlnqfKWFEBlpsxNq4q6I1cc2ZTg2RKycTSJWmcebVWDNjrPZx/kfQx0/dqijn60HFcdQx/sN6ti5n43tNpM2bdyhEaLFu6SdNkZlq9fhC+dhE2lzEAyymbTZC1e2KG0OhDq2O2pQ7buo5m1UsEyhXCZxykw++hyPv/hbzJ2ZZmpy+D476fWuNFi2RWUloOFLqn6KOnDKT2DINCyE5eIWcpjWHZBLWKaBMYb81ByptpFpSs61cXcbtG2kzd6Y3U9p08A6adPWAclhSJslh8pajEwy0mYvY7GbHcXKbH0XwkZYOdK1N5D1m6j2Csb2cIenKY6OUhopc2K8sOv4ZZU+hjBULN8LCNqKVDOYV/HzCHX0tt32eztp03JBxYZ0L6TNfUEam0ibnSzDUemRNo3BcgRXL2YZjt1ErDQQdX0/aCfaY6jjJwd19DP7gy/+kz88hjrez1DHbtttJW26YxME87dI6lUAynNzFGamkRqK+yVtCgiCrCvnnqCOrTtD2DmS+g2SsM3yndvkZy9y7lO/hTM8xdhokVLRwx2oliTQUpEmitW7LSqViNVm0pXv3Z/1BJR6++39E4BbLqEb7yL9ClpLGJqgbcr4oWK85ODauzfP2k7aNELg91Ha3HL9tpE2Hd0hOQxpc8hdV9rsHaffi/uwE1q/zY1W4BSJl36I6awi6ouMnH+C849coDhcxnFshnL2LvwUjWVrpNQ0qxFBR2aTj9np/5bLdwDf+33e28Ybz+xPDuoY9P7aSdr090ja7Adp7NqXI+fS8mPWmiFhnDJcclhrpDSSBGEZLs2NcWqTiFWPtBlJw51aSl0ZutqsBzv/Y6jjJwp19DP7mS/+/h/u98CHThX2tjtkeHcMdQyyraTNXuCSVFZJu6TN4sw0zkFJm4kmiM26dsV+zKgQI2z+/k/+V5ZvvINUhomLjzF38QLDJY+pseKuqpndPaCl4farKzRXA4JOSqJhn9ArOyR914OKbstl0T2WP08arKGcIqI0gfCK+LFiasgdmK3YTNr0HEGUbiVtbr9+D4K0CYJWI8n6H7A1CDgSqGMXE5ZDRsaVtF7/PtH8IubedU688FkKY2PkHMFw0cHpO3wKUNiOIAoklVZCPTE7Jp5jqGOw71oLjJZonSAsTb5L2mzcj7RJF9LYkw4FTA5npM0o1aQGhGvRiSTtSGUiVidGKRWcdRGrdqxY9RV/uxDRVobkIOdvOIY6jjCYOCjU0c/sD+4zqDiK7MQx1HGUUMf9LJNBsnJ5YCdp0ymWsL2DkDZtag2JvA8BcbvnRnYgrRJV3yUKOlQXF1HacPnZj/P4Ew9x/vTEgBQ/ZE09JDKIkbGkXgnR2hDp/aRPB0F9m7IVTh5Q6HAJ5S+iWmvkTj4CbhFhu4BgpGDvnq3oQ9qsNCSJNAObZG0nbapDkDYF0O5IQn+T0uYRpHrvv71EuA5pc4ngxluEC/NoZeEURjn79OPMzpSzNumi/z1nlEQohVAJC5WYINUbQeNh0sS7fN7bxt1J4AFAHd0M/rrt9hzu9f2VhCFJrKkutvC8FNuFUs5iLO/QaSjqjYy0ORDS2KsOBTA7PsTrdxtIJRBCEGqbEI9oaJrHL45RzDskqeadlYjvvNfmP7zepJ0akn1iHsdQx+H932yHhTr62Z6DiqMIJuCQ0fkx1LHP7baSNq1cDhlsI20+fQjSZtFirS7XVfLu678xaJ1i/Fs4rkZFAZG0GfnQV6E4y7UnLlIueYODCgyoBNsVxJGk00pZ8xXS3D9y3wp17M2Ek8OkLXTUQKuItL5E/szjaLsAInsoC97u/m4mbRpjGCrZLO+RtHlkSptd0maSZinuvZI2t9ve7z8DxKAr2DmPuFYhrHVYUxdRYw9z/tGLzMyNIES3RHfnCWCSlLTRQqWSomex3EizstKfIahDJskGJNXdry0EOaC3RtxeGr35dz+TUQd//k3a925TXWygjYdrHE5NCT5/ZZhHJwvUG5Lby9FgSGO7DkVFUmlu9BI5NTuE6UIaObtb9i0Ed9d8hJNDFEYpnbmAlctzryk5O+7yN+80+PM36nz7Vod6qPfUfXbr2B1DHT9tUEc/u29QcQx1ZPbTDXUMsm4YYwzYuJjLmgAAIABJREFUNm55hHDpLrJL2gQYPn8e3IORNhGC9iACYs9/k/kCGiMTwsXXSdduIkonsKevUJg+TTtIuHxxcrA0tsheLkE9IKjHrK6GhNJwv7hmJ9SxNxOWi8iPkTZuoeM26BQhwJ08i8Qh7woK3t5Jmz0bRNrcrrRp6YD0sKTN1Yy02Wv/vN/7aX/fF4AEE2FUG7tUpGWmqKjLtJJRJmaHOTE3Rrno9pD/PruwUGGIihVJpOg0UoJ0/8/PTyPUodKUqN0maDRprqyRHx6inHcouzDrCjwJJboERiH6VEbsNBkHpH6dte/+MWvf/WPqr/4lYuQCJ2cmuXByjH/26XNcHYcr0x7VlmSxmtAK9P11KNJMnt8AjXbWPGx6vMDpbobDdDMcxZwNwmK5Kah3chQKQ8S5PLEBqRTff7fGzZWA25XoWMDqAPbTCnX0s4FBxTHU8X6DOvr4YGAjnMn25I1OENy7RVKrZqvtg5I27ewAfmi6pM0+PmwZP4MQNtJfo/XmX9F64y+htUD+8kcoT07x9PMPky+45F1rQDmpII1S6vda1OZboDS+6ipH7jIKh8LeTTceK04h6++iwhoYgTt2Aqs0SZhoJsrufUmbYhNpU4iu0uaA9uhmE2nT6Kw9+mFIm+Uhl9XljLTZqwTZy7Ac+P4zFipuIus3CZdeQxtNwiTaGWX89CRXr85QzDs4g1rYWw7V+SaV+QCpDKHmvsHjdt/7fd7bxt1J4AihDhlHpGGb1be+R6dax6+30FozO+xxdjLPb1wSlC2QicASgrlhm6aGuDsJ7zZScWuNuLbInW/8Ee33Xia49ybDpRxPXhrn81/4DP/8y09zcqzAiJPiCcnZ2Rwvv+tTaSbEaabq0o+0OTtW5o07a6RSgsmahzXbkuVqV4eilCPfra12uhmOZmBR6QjaiUFoRWQMfhARJwo/Phaw2vc+Dun/ZnsQUEc/6xtUHEUwAcdQx48X6ujjx/oNuYm06Tg950iqm0ib0wckbToZaTOM9RYYpP/4GcBHWIJo9RZRZYXALyJbgo/+zq8zdnKMfM7BFbsd3wAKISBoxoTtNGtSZCDZdqyDQB3bj9QbP2G565CE9pfQUROrMIozPIW1D9KmEKC7Sptx2l9pcyMYtcApYqI1MF3SJiDtwyhtCpqNZL0vyKB77PD3nwVaEC39AOI6KqwhvCGufeY55h49j/E8pobd9QZj200IjVKSKJA0KxFSGpI+13k33/t93pvjm8bmCKGOqLVG2Fjh9re+RnvpFv7qHcZnz/LEhSk+/ugkX36sxFROMzfqUAstPnC6wGOzHqN5i9vtjIXcy+r0QlEZB/hL16nfeImFv/v3JK01ip5gZnyU3/nd3+YrX/kNPvfRa0yNlcjnPIRKcUWCLTSXThX45istFtbC3XUouse5u9pCCEgkxGiUMNxaqPORD5yhXMphBFjd5mGFvM0bCxGLkaKlDNJkXYP3myk8hjoO7/9me1BQRz/bElQcOlXY2+6Qs+Ex1HFw2xpMbLcN0qYwkDRrJNVNpM3SAUmbeZtaU62TNncfPwVIEBJnaJyFN6usrpwglHO4Xp4LT50jl3MoWhtMkH5nKAQ4OYflZZ9GpOnIrffcQaGObO/0HT/hZGJcKlxDB6uo9hr5U/sjbQKwibS5tk1pc/1ltDm15Q5johWso2iPTrc9eldpc7cK3MPff6b7UtQIu0Tj5vep3rlJ6947nP7Qxxg9MUOxmGeo4JD3+mWlDCCxXQuloVGPqHYk7fuQcQ/9/noQUEcc0F66zuqNl7j57f+A9NsUbcPM1Bhf/cKzfPlTj/LJJ04ykhc4toXreXzwkRlmC4aL4w6OLah0NLGvmCSDRJIoIO40WH7pz6m++U0aN14iDZrMnZjm8sUL/Kt/9d/xwgsvcO3ao+Q8F2FZWMLC9fKYuI1B0YkVC82YO8sJ9eYuOhQ5BxAs1wLqfkKplKPWSYlkBoN6w8NcmhvGdm0EhrVWwkIz4a/mQ1YCTWz2P6keQx3vL6ijn60HFUeRnTiGOn4aoI7dbCdpUwU+spORNttd0qZ9ENKmyUibncDgD0jpg8CoCJM0SJZfwc0XuHujQOBbDJ2c4NzVU8xNl7HoR97rbq81SEna6eDlBAtryabV/hFAHYO8d/KQttFRA3NA0qbZpLQ5XLJZqaUkspcSWfck+yns9QnXbCJt6kOQNqNIEfqZ0qbNVtLmoe+/TeNvZIxOIzoLP6B29wYr790g9n1I2jz0/Cd45PwUxZy1S6Yim9C1TJGdiForYa0jCQfokBxJduIIoQ4tY1SnQe1HX2fl9W+ycv0loqDJyekxHrl8mf/hv/nPef7JyzxyfoqcZ+PmCjiux/jMNLmcR8GzMUoyOuxlWRpfkcYaO2ywsrLAW1/7Ixo33ySq3WFkOM8zTz/BL3/uk/zBv/gnnJ6bY2ZmGgDLsrLnSWSZskbisFSt8P9dr7LSkVTrKY1myr0BpM1mIKm0U4JYMVwu0FQOzqkLeKUSc1NFip7FWysR37vR5H/5QYNKIAn3g1P1xu4Y6njfQR39bItOxWEn5INvewx1HPqG3tMNuT5FIZxMaTPYpLQJMHL+PKJL2nT30R5dAKnUBJEeUA2S7UytvgS6iY7bODmH0SefZuKJy5w4P8VIOUduUDQDqE4HoSQqVRgDzY5cT+kfxPY6fsJysfJjyOYtTNLGqCibrCfPooS7Z9Km2UTaNECzLTN5/H4+WF42bGkb1NEobVbXtpI2FYfMTmxL9RqdYlRI+8afIpt3SNsVkihl8tzDXHz24zz+7LNMjpfJDQjAjDbElRaqHeAJzUpbZVmdbQN0JMEEHCnUYWSIChusfvv/oHX9ZZK1O7jFHE8/cY1f/twn+G//2X/K+blZZibHu8kkB9vNkSuWsGwby7YRlsDKCXJ5i+lRjxv3Wvj1BYLlt1l++f9l+dY8RqVMTU/yu7/7ZX73K7/KL3/uk0xNTJLP5bKOsbaNZVlZiWequVOJeXW+zZ+8XqPa6RBoRRRpOr4i6SptfvTZMwxvkdaGyeEC7yw0iZSNokRpeg6dLxIYG9eGN+ZbfOutOt++2aEeqH2L0B1DHYf3f7P9OKGOfrYeVPykshPHUMfBbe/BxGbretu9cO7YBOG9W0Rd0ubQ6TmK09MoDQUbrH2QNot5m2pDDdSuEFqBN0y6+homWsaYVUYfe5LylSdIlOHUVAHP3U1psTtF2g6yE4BSBI2YIDbEB1HT7P7Y77VzilMklVdJm3dI/Tt44+ewR+aIUsPkkItj796ufSdpE1qBwg93vxOEcEHHGBUgzFGRNkNkuhFUHDhDtznFbQzGJBgZIYM1VNImbS7geDlmH/ogj33uN7n0wmcpDo9QLrqDq3wAFaXEfkzYFVprBnrXZ/6gAcWRQh1KIYMWOlwhrrxDUl9E+A2KhSIf/8Rn+J3f/k1e/PynmZ6aoJzzMghRuFiWjbAsYmkIYo1jCyzHzlrSdJ/V6VLCj773TYK1N9GxT2psylOn+LV/+k/54mee4wNPXKVcyJFxdyxs214PJtqR5O/eqfO96w1emw9oRwo/CZGkhLagUZP4gcJog2UJrl6aJLdZWhuYHR/m9buKROexLIfEsQmV5vZSi+VayN1qtN7LY19jdwx1HJn9JKCOfmZ/4ACKmnAMdfx0Qx2DTIARGLFB2jRAWl1F+k2KY2OUpqfxSiUSDYV9kDYBykWL1doA7QrLBp2QdNaovvL/IFuLuOMnKc6cZe78SZy8y2hh96ACITAGZKxozLcQUhN1RXT2+k47zPgJywEUOm0RLP4FaWseuzhNfvIcI5OTaGEzUrDuM2YCIcw6aTNK9MD26Agb4RQx8RGRNruHyUibG/fiXsej9xpdfwesZ1kUWqlM4EwITORj4gAvd4JCeYbhE+eYmDtNPu9SLDi4A6p8hBBgWzTrAW/fCah3shXwdj8PnJ04SqgjTVAyobm4gl9dQYfL2HbCzPQYJWH41C99iYsPXeXSpUucmh3HcWxsYdGjXgaxIkw1r853uFsLybs2wwUHbVmgZAZD6hSdtLh79xaOlTA2N8fzX/kqU2fPQ2mMC2M5co6NEBai2+2z5qesNhO+9r1lbiwHLNRjYqkJtKCdpFSjGGkkbjGT8G6HCZZtuHh6jLlN0tqunQUqCJtblZRQaSKtkTJBG0O4z770x1DH4f3fbD9JqKOfHUym+xCjcQx1HMENfYAb0miN0d2NLQEmI22KXA4wpK0qabNCWFll6uo17GIZ4bgYs5dW313SZhcGAUGrjw5D5nOMcEBGLeLV6wQra8SVNpc/8g+YnJtkeKyIION0DCKKammI2xGxn2IDzWhvZZKHC8jAoMHJoVVI2rxOtLJItFxh9urnKY+NkytlhM6CM3jMQKyTNosFm7WuOqkapLTZJW0KFYAB5eyHtEkGlyiJ62WBTaed4gcKAXuWSt4JdWiM0SiluqtqDTIiqc8TVxdQHR/HLePlihSLBS5cOcfU1DDFnL27FLsBIxN0HBFHKXeWQvwwO+ZeNBsGOH7kUIcKmsh2ldpbL+N3JHEnYqgAj5ws8OELI3z500+R2OPkS6PkXZvT06MM5VwcywIDK+2AhUaHr/3gNtWOYaWV4lmCQt7GzjnEwsZRKaV89pwu3rtBZeUGJTdh4pFncYencHN5coU8E3kHex3qCHn1Tps//dEatU5KI5BIDbVYU48NbekglQ8iIz5bniBJFG0/zqS1Z7NsUtKV1jbG0E4MLy9FrMSbSJjHVR373sfPEtTRz/YVVBxDHe83qCMzmaRopfGDIEuLQtY9UydIbZBODhP5ELQQaUK6tMLoE09hCkUAcs7eSZs97YpOsKFdseFz1l3UkGB5BeJGSHMxT3P5Ks3bda58+inyIwXydna83RUMwHJs4jCl00hoNhW22eh22M8OG0xk3vdCQo3lFEkbbfz5lNbNKTo3Fzn9sefIDZcpetmY7ZqtoEfa3CC6Dhcz0uagbEXP+YORNsXGgGqJEYJ6I6HlK8I9PBi9CWQjuFYYJVGpJIkTjNFYJFg6wq69TjD/Cp3Fd5FRm4lTFxk/McuHf+mjTMyMUSrmup1IdzuWQUc+Jo3Q2hAnhnpbrrc+P2hAcbS9Ogw67RDNv0rz1T9DhR1st8Do+ASf/PBlPvdoieculBkrOJTLw9i5IZ559AwjpTyeYxMnitsrHf72xjz/5ruvUenEJLEgDTTf+fYt5k4M4RVdvM2kyWKeZm2Vyso8UaKQsWTqkWfIT4wjLIu8MGipNqCOu23akSJINbE2LPqKjtSEsnsdRQ4IsN0sE6FSQZQK2s4QTz8yQ7GQlUmvtFOW6jH/9gd1FnxFRx1XdRzEfhahjn62p6DiGOp4f0IdSiaEzRqB38L3Q4wRoFPynqCQrOCkDVIE0i0wNDUOa4sMxwmO1AgsiufOkfdcCk6mtLnrNNAlbQJbtCu2p/TXQzITY2kftzDCyhsCvwbSKyDyDleemKOYs9cn5N3LShV2TlBZDEgjjeq+6HY0nTrE+G3eh+l5YwAhEYRY+RHqr9SI12JSO4/Iezz0zEVKRScjue7qP31JmyBodtSObMX689eHtJm6+yNtJqkmDFPeu91iuZbQ8uUeyjQ3V9UYjNHouJVh+6qrQaBihGxTrH0LN1ogaa1g2Q4nLz7MxSev8Qtf/ALD42MUCvkBR+t5CUJYJGFEq52y1pBU2+m+G8Y9CKgjMwUmwMQN0vpd4tW7qDhlZHSc/+jXf4EPPj7H6VPTDJsO5fIQYxMzPHL5AuVSxhfqhJKX3qjy3TfXeOnmGot+i04cIQPNy3/xHgs367z62hIfeeEc5aE860qXjsPU9Cxv37hJWHgYM/IobnmK4ckRGpHCDxK+/vcr3N4MdUhDM9GshIpEg9Qbb7Us0BRgEmzXBTvH6NmHyI+OsRQIHprxuFeP+c6NFv/ue1VWfUk73t/S6BjqOLz/m+2nDeroZ/cNKo6hjoNHp4cJJtaPeYAbUsYhSRiwdvtdKsvzNFYWcfMlymWXcsnmdLmJ6FRwZBvLyzE6VeLkbJ6rj5+k/tYtiBJy5QJzjz3M2GiRvD2gCqRrQmSrnZ52RSFvU2tkjP2tk6QA2Ya0hdExhakiqzWoFUuYCzPMnRplZiIra931MTEKjAQ0hSGX6nJIkmpStkIgh4c6+mwrANUB42N0Qm5qhLWlgIpTJj19hlNnJpmZGQbAYXC2JSNtuuukTYB2uFVpc/v9u5O06ZN603sibXb8lFYr4aUfrrCyGtFoyYFjsx3q6A2KSQNIQoyMMUkbrWKMbGH513HTOiU3ZWR8goef/zTXPv5pHn72OcojwziOM+BoW4+rpGZlOeDt99qsVPbZ1v4BQR0bpsF0EA4Yo4maIUFTAKP8wnMPM3dqgmLOY2hkiuGRWYbHZ/E8D0uAUpq1lQbffq3O3eWIWGkCHZPomGbLp3bHp7bqZwqxtsUjD01tUboUCE5deIo3Vor4egKDRSws5psxf/3mGiqUtCOJWoc6NK3UIHWfcmthZSs+SyCsPLnyNFa+jLZctDG8u9DmlVtNXrrZoh7IA8hrH0MdP+tQRz/bNaj4uYU6upH1+xXqCJtVgsYa17/7J7TrK0S+T77oMTVZ4Pz5Sa5eypP3DMgEyxKcuXKOuXOjnD5dIO8J8uUhDA5Xv/QFRmYmKOTdXbkBW2zzy7urw1Dqkja3pvQFWC4mrWOJFKU7pBNFqpMnaSuLqYkS0+MlSnm39+3+xzISywKjDQpDrZGi9QbuftjVwYBaDBAORjWwSEg7K8RDBVbLZ2glFtOzI0xPDTNcGOD/5vPYrrTZzfAk6S7er5M2K2ASMBohRJe0aRgezq1rDfQsSTWVSsD8fJNXXl3B91PCASvOHVDHdp+FhQqqqKBKcP0byNq7WJ6FEYKh4SJjkxM8/eI/ZO6Rx5k+ewHH23ta1hiQUUJ7pU67FbNcSfAjvfdr+UCgjh1/pZdxE7ZFHIDf8lCpxcpqh1/48EXOnZoiny+Sz5WwusRJncSoMEBKTSeUzNdTqtLCNxKlEoxROGWLzqqkGUmwBefPbVO6dJysSZ2TZ74SE0SGtUAyXw/xU0U71TgGVoJNUMegcxE24IFVBCsLXrAsgo5PoxOz2oyPqzoOYD8vUEc/2xFU/FxDHRt09ox8eMD9/CSgDhn5NO69y8p7P+TmS39B1GkhdMzYzAwf+MhTXPvAZc6eHSHnKHLFAnYuz6knn2F4dpaRiTFsE+INjZCfPMGpF16gMDFGrlzclw/CsrZoV3T/b1/SphB5ZP0dbFXHOIbAKiNyIxhjcfXiFIWcs6uEMz3ZcZXgdp8tv51JOlsmg0CONDux4zsGjEu69D2saBmFJLKGcUdncPJFHn34BHnPxr1feof+pM3V+l5Im0OYaA1Lh2AExhvGKo4gsTl9YgjPtVDKEEaSd9+tcuNmjfn5JmGk1vUp+p37Vqhjl2MbBUbT+Nb/RHjz71CtJbzxk0w+fI3pK4/x5Cd+iaGxCYpDI/c9/60OGIxWJK2AqBOipCFINe1ID+jtsrEtHC3UsVmZdSsHpLs61D6WSHCLeTqrEZEECjlKw0NcuzRNIe9lfAg20VmSGJ1Kgkjy8mrCQgoJLpgAy+5ecNci8g3N9m5Kl5n2xFJTU+1oSA2+AKUNKtW0Yk1qNkMdg0x0A4sNDRujUsCg79clsN/YHUMdP1dQRz/bKn71cwl1dG8irTHo7gpNYLTBCEFqrKyqobvw2VSRt/P4B/S9t/2BoI7IJ+40mP/B17n72jdZfvt7JKHP2OwMM2fm+OWv/hrnHzrDzNw0tuNi2Q5ueYTRsxfxikW8YjE7MbsAdhF3ZAqnUMDex+pys23WrnB7DccCs7V5lrAy+MJIjL+CowM8z2N85hTjk5O0A8mZ2TLeQHZo92bTmVJkEiniQCG7SpH7DSz2c/2EsEAnGJmQ1m8ioha25XHy6lVOXDpPmBpOTRRwnb2kePqTNperg0mbvc4MRodYQpAfO015YorSSBk/MQx5EHQSXnp5gZWVDvV6tGswAbtAHTu/lf0ToKMaOmoQzb+KSWImrnyICy98jDNPPYVdGqLkubvDV7vuPtNEMAaarZhOkHKvkhIlevfM0YOq6kjTLChrh1iOg2UJchYUbUNW52JlHWtJQShyYyXakaCZ2Ajb4tLcOHPTQ2gyGKw3FmEguXe3w91bbWqJoaYgMQJDDqM7WK7O3juBptOSA9qT27RCQ6UtCRKDqwyBMkgN2uxfWfawE+Ex1PHzCXX0M/uZL/7+H/78Qh3ZS1LLbAoygEwSgsYa2ghSY4Nl49gC1zIMdQmL2mxNj/+koI6oVcVfm+fdP/8j6nfeoLl8i1whx7lHr/DER3+Rz331txifmaQ8MowwBidfwC0O4ZaGsRwXy+6myIUFlpMRAQcn7O9vuzUc267DYHlgDCpcIVl9HS+pkJ++gsiVyRWLOK7D+JC3ay+NDZKZwrKgUHSor8XINGs+IthJ2tzNDnL9hJ1Dy5B47TYLf/l10uVbTD31EfKj44yPlynmHcp5e2+juQ/S5rpZbhZcGIMYuoDtlCmMjqGFhQwTqqsd3n1nFb+TEEa7ExIGQh27msTKFcBA2qwi4wlUbHP+Yx8jPzKK7bhgBpcF72ZJoqg2IhaWAt656xMmGrnbGDwIAas0wa+uELYaBO0IhENOaEbzNo8XY057KbG2aGubsaKH0AG2Y0gB4ThEoaHViJkaLnBqppthAFwyF8Mo5d7tNu1GRAFYSCHUvT4sAkyE7YKMQUYalbJLe3LD5LDDO4sRUZw9W8ZkpcH7HYXDZoaPoY4DbtjH3m9QRz+zP/DiwcSv3t9Qh+mmWnUmT21AJiEy8qnceI3GrRs0F29RnD7D0GiZYtHlxLCNKxV5G+KuCM9e20f394EDBxMqifBXblO99Qq3v/N/ElYXsIRkaGKS53/9y3z4V77EtY++wMjEGJ6XQ1gC28sjHBfLcdfFcbbaIYOJzXvq03Cs2iVtbsmoWg5pewkVrGKSNiJcZejSB8mPjpMruJQLDoXBtaxkI5h1Li0POzRWIkyqu63Tdm+aBQfPLhk0KB8Iabz9Q4LFu8R+TLS2xJO/8iLnz04yNuziCLHnUd1O2hRkSpuD2qNjeeBNIKwCwvZQSYpRirDl0651SJLDQx3bvGTzk2vlhlBpHhXGoA3te4uc/MDT2PkSRmdBxV4XV1Jqolhy40aNGzfqLK4ERInuX/HxAKAOGQekQYu1t/+e2u13ady5gTc0yYmJEmcmcnz5YYsJFTFjS7TtMjnkcXXM5WOnyrxTb4GlyQmB3VbUKpLFhTYffvIU5W6GwaCxMTiORRikNFsp7UiSB5YU2QJGACbBsiRuwSKsK8Ku0iX0a09umB3zeP1uSJzodb2R/TQYP0ya/xjqOIY6+tmBgor3P9ShssZOWmMwJH6dqLXK4g//bzorKwS1VXKFHNNzk5x/5AxXr41jG4OJJCrVuDb46uAZioMGFFomqDigefcVFt/4NpWbr5D4LYZGR5g6c5oX/6t/yUMf/BCnrjyCm/OyicqysGynq7R3dIHD/WyzdgXGUC5arHVJm71UO8LByo0hG9cxaQfHtsnlXUqnLqGEg+dYg3tpwLpSpGULhO0hBPj1uEvg7C9BffBgoms6AVVF6Cbe8AjVW7cJTYH4sS9RHh/j0UdO4Xn2eknpXrMVfUmbYf/26AayoErYXTgJjNLoJEGncuDzsTeoY1dH17MbwnFwhsZI1pbQcYAzlMlNj5w6i7FcBAbHEgzS44Js9e63E956c4XVZZ9qLUT200J4QFBH3Fojqi1y56/+He3VecJWi6FyicdOl/jMB8/zn31snKmShas1trB46qFpHh7P89SkR9kVFFyLTuDzobLBxIZmWxMl8N7dOh959gzlcpYBtDG4tkWx7HB7wccPsz45CmgaWAfuTAapeCWboCppNBL6tyffuLfuVhOUMuhsD/vq5rr/sTuGOo6hjt1tf0HF+xnq6P2QEozGGINMIlrVOzQWXmfp9a+TBnUcO6E8doKnP/k8jz73GGcvTVMsueRLLn4twKQa002vx/sMDA6TndAyRgYNqu99h6B2l7C+hDGK6QuXeOhDH+ZT/+g/YeLkSYYmJrAtG9u2sS0rayi0Tx+PJPTY1nCsZ832zuZfdnEW1biJjupgDO7oCShNESSK8bKDa4v7wCCZ0pTTzbd3WikdP1uvbW+WddhAENELTLOmUcHCLZJYs3TiE7TcKfLDI8ydHGV6rDig2+ouZ7IHpc37+j8omIADQB3b9pFFM6zfKcLCG5/GRIukQRNsQWn6BCY3RttXlHMC2xZ9S5Kl1DSbEaurHd57t0IYpMSpIUkzyGNL8PcAoA6ZBHQWr1O/8RL3/u7fkzRXKIiI2RNn+e1f/UW+/NkP8MknZxkvQqnoYdsu565cYGpqmJMzQ5gwYricZ6yc46SIyMUhcyMO11cUTT8rwRQIrlyexO3xIbqMjJERj5t3O3RiTaChpSFFgPDABFhWdqWFgLilabZiJvuRNr1sPJbrKbW2xAFCdg+cj6GOY6jjQdvegor3NdSx6ZPRYDRJ0Cb269x762+ozv+IysLrmKjD6MQ4k3Nn+Ow//kecu3aVmTMnsZ1uil1Y5Eo5/DUfIzUIMjGZPTh1mGACo9FpgIybxI15wuoCOo1w8nlOX3uaK7/wPGeffIaJk7PkCwUsx8Z13fXuhIN82v7Xnoq3NJkuxeZk1EECjQ3SZpiRNg10tqX0heXSY8HK+k3S1hLapNgjp7DyQ4SpZmrYwxlUSbFOXFc4rkUYpviBJEmzlLDm4FDVRjCx/l8Z/KGh/sOvU3n5r2nduoESLuXLTzA8OsRzz5ylmM/gj/3aDtJmwWa52x79cC/Ug7eF7+1kY/Nu9Q0CYeeg2xBLhxVk0IJCCVEYx9gFgsQwVra2XL+XTBvgAAAgAElEQVRUauJYMX+vyfJSm7U1nzhWJKlBGrMOe/SCIDhaqEOnETJqU3vjm6y++pfUr3+fNGhy6sQUly+e57//g/+C5595jMceOk3OzbJ8bq7A6PQ0ubxHrpApgrpFj9xQjvHJIXScoMMQyygeO5PnB7cTlqsxZnOGAYGLylRnjSGQmjdXEtppxsnIdFYEiBxoH9vVGASxr2m3JPPLbT705ClGNpE2Ha0oeRbNUHdJm5pMJ3NnAHoMdRxDHT8Ou29Q8f6FOjY+CMz6vBP7VepL7/HS1/5Hmss3iIIKhXKJuYevcvXDL/Dxr/w2o9PTlMd65XDZlpYlehlqomaM6KbXpdlDqvHAAQUYo5BRDRU1MComTQKMEBRmLzJ99jwzF89TLJexbItiuYiXy3c5DbvssuuINt0zE6CUIQhTtBCkRqyPuQH8pBtgdP9p9hFgbCZtJr3mWWYHaVM4eYxKSNbeoP3eX5GsvcfQ5edxSiOMjA3hOjZFVwzQy+hNNgrLSApFm+pqRtrsZUX228R0y8qme/+b7jHQEWnjJlrFVL/3DXTYpnzyHI9+5Dl+9Tefp1TyKLh7JGnuOJVeF9OMtGl01u676Q8gbQ46jyNI9e6+cRZcWG4+uzZpDSPXSNoVSqeuIrxC1rROZC9SS4AfpPh+yptvr1GrB3Q6CUobEqkJI0knSJGG9XJOw9FCHSYNSBorVF7+Gp3Fd+gs36SYc3n8yWt84TOf4g/+69/jzKlTTE+OYgBlOQgnh+MWsCybSBosy8K2LRzXxvYcbMdmaLhM3KozPSJwLLBtwbvLKZXGtrJQBK6W5EUmSHWnllBtS1yyDINGdBdwAnSE7WSkzTjUKAm35rP25CObSJtej7S5EBEmOlM5JeNXHIZEno2dOYY6jjA78bMGdfSz3YMK8z6HOmCrgJVJMUkVv/our//Zv2b15lvEfpvJcxd47pd/lWc/83ke+fALDI2N4XjbFQmzvdhuVs+d+DEyzLoHhqr/KviwwQSY7stUI4RN3FqmsfgetaU74A2RG5tGOB5TM+NMzowzPDpCPp/DGkAONNpguitW05VsllKxtNKm2ggIYkWukCMKU9JU0vAN0tjEKutlocVGZmYPEgwA6wGO6aX08xbVhtxG2lQI2yZt3CZt3EHHKfHaAhde+BVK46M4roVnDe4/kkVHGswGaXNtJUSlZku2Yi+2Bepg+zXUqGABgUT6TbTloqavUHroWR5+9ilOnZmkXM6kqAfKdA86ky5pUwUhbjdj1Aj0QMGq/udwFFDHrl6y+eyEk62ujWyBnSMJfIbOXsV0K4wcYWg2IhaW2rz1ToUkVsRxpl/iBxI/SAljlREzH4SAlVHopI3qLNO59V2CtbvYOmF4eIh/8KUX+fVf+yKf/OQvcmZ2hkI+ayGusFDYaCykhpV2wr16yFonZqzkYYTVva8EtmUzPDZC3KgwXBRYts1CXXN7OdpZFqo0tkopeoJWkGUYwkTjkWUYFN2qLJMgREbaDOqKKFZYlsFyBFfOZ6RNC4PVI22OZ6TNTqJR3X0dLjtxDHUclf2sQh39bGdQ8TMAdezo1WEMJqmhOu9CdI92ZYkoBnfkFJc+/3s8/+mPcf7Kw7g7ggnW99jbm+3ZyEghwxSVajwbgk2kzUMFEz1fxQb2oOIIGTRY+tFfcOO7X2fpnR9i54rMnL/ExOwsVx6/zOj4CPm8Nxju0AapNFpluczIT+l0Et58fYUgSWj7GdErCVNqa03ee2eJXLmMlAoZJzRXq1jFAtKy6Lm398DCBqU2kTZtVtebZ2XUMmHbOOVZwqX3SH0PzFlsx2Hi8mWE4+J2g4qBxxRd0uam4KPTSLGMwbZ38it2jFHvxxaoY7tpLNsjXLtB0Kqy8N517LlrOHPXkIni4uUTFPMeniUGkjTNgL/10kICiMMYpWG1nuk13G9+PXqoY28mLCcTL1MxonACd/JxhOXiFXPEiWJ1scW9ey3uLbYJI4XWBm0MrVZMkqgM3nkAUMf6/9MpunUHE1UwMkYkAeWhIT78yRf5xEef47HHHqFUKmBbFjkBtjFoBO1E0wwl33i7yt2az+1qQCw1edfC8TxudgRFW+A6NrYlsB0byyTMTheptjULlYRWoLaWhbKzLLSXYQBIDBhhZ43fTIpAkxv2CDsprTAGDBfPTnByqky6ibQZJJqVQHG9kVLTB8tSHEMdx1DHYW1LUPGzAnXs8EFkqUQTL2MRMDQ1Q1o8x+QLXyU/foriyPh9GjFtmGUJ3KJLsIm0CdmLoMdJOHR2ordSSwOS+l2Wvv1vaN57k8rddzFCMH3mDE9/+nM8+/EPMTRcwts1GNq88ywzkCaaei1gebHD22+uEQWSOFZYtqDdiGisdqisNEiiFL/p46K59bffIajVcYdK2OUSjWaCK8ASAtsSgydIWE/p6006DAJorittZv4ZLJyRh/DvNYjrbSzbYuT0HKXpaaSGgg3WfRqbZdrdEtezsIQg9iV5JSnYWVZpt2qQ7MM2qKPfSKqEqH6P2q3XefPP/nc6tRWKk6cYP3maZz50lcnxMqNDhXVOynZTyhCFkiTROM7uvBdhWXRCSbMR8+qNDn6oSe5D4HmwUMf9txXCxiqdwirNYkQ+W50IQW2+RrPm02rFGaSgDUoqwkCitOkGukcPdWz9gwIVIzurhLVlXODhax9ifOYEtlfgwolxxkt5Cq6F071yq62E+UbMv/7WXd5cbrPcSsgLydLKPVq+T1XlwCvQSg2TOYHnujiOg21J8q5ibsrje293qDQS4jQDDvuVhZ7oloVGScZOTdhM2owQtt2t5BKkiSAWOWZnx5mdLlPK2zQS6Pgxf369w/cXI5Z8va+y0o2xO4Y6jqGOw1sWVLyfoY711ECmernxetr6shbCyQILFWDZgpGZE8TlS0Q66wI4qBFTdw+9I4IQG6TNNJskEwW7tWsYfALZj83ZiaytdIgKV2m99y06i29h0hC3PMpTX/oqz/3GP+TCk08zNj6C4+zW6nrLAUilIQ4ld241mL/TZHmpRRxpUpkFRlGgSCNFHMqs5FaDTjX12/eIaxXCZhMrn6fqC5ZXQ5ZWA05MFXC6mMT9AouMtOlsap4luqTNLJjAKLDdbC/CRrXWUEmH8tQ4xclp3EKJWEHxPi3F19MoGNych6UNKpJYWlNwBb5mCzdhMNSxyZTCqITO4t8TLL1Ka+FNWiuL5AoFRsaG+LXf+8ecv3CC6amR/twPozBaUa0GVGoRQZjieQ6et/P69Xp13Fvo8No7dYJQEw0IKB481DFgu83/0RVRE1bWOEyliqgVkqYKmWTiLjqLKlAyk95+IFBH3y8odNJh9ZVvcO+Hf0P93nXOXnmSmZkZZiZGePLCNCPFPK5tk0jF2ysBf/Nem//tpRVW2jFr7QSlFLXFd7n55vd54+3XOHnuEsLJo7DxI8lEwcb1HNASLSPQkouzeb71eouFtej+ZaGVLFuo6JaFCgEiD0RYtoWwXXKjU3gTszQp8NiZMn6sWG0l/M9/vcIrCyF3Gum+MxTHUMcx1HGUZj/94u//4fsT6sgCCaMNqKx7nzFZnXacamwh1leBlsjSicIuYZI1hMl054QQxGKEKIFyyWV4KEc+N2iSzmZ9a9MyNGzE6N6LYL8px21QR+/MMBITLINqYWRE1KqjnSLjz/w61z71WU5fe4p8sYAtBI59P4ElkVVDNGPe+NEKa6s+rWbcbb7VfaGrjNBo1p8sG7AwxkZLjU6yjpyBlHRUgUZHoVKFimJGx4tox1pP9Q/MIpCdq0k3SJvB+grcBhRWLo9l2eikiQlrhPUK4w9dhXyRRNpoDUWvf4li73wz/QYLy7XJFV2iRoRtGYZHHWxb0I4yGMG6L9TRvSIqxZiEuHWXpL1EVLmB49iMTM9x4YMf4xd/959THBpm5sQEdj/HdAoqQrYXicKYRhuSFJycg+dt9DhJUr2tV0eLKN5FAGqT1z9uqGPr8Xd+3vIdY7bM+MJ0/X2AUMcOUxE6WCW6/Q2a82/RuHsd13YZGhnixV/6NF/40BWG8jlsC5RUVFY7/F+v1fjr91qsdiRpNwoNE0O7skhj5SYy8VlZmmdm7mEqoYVUhrGCxXDOwXJyqKCJZ2VwnzaGt+YjKvWofy+PXctCu3lXYYEwOPlJ3NII3tAwwrK4vuTTCWL++PurrLRT6sH+6MjHUMcx1PEgzH76V/7LPzzIhj85qKN7E2mVld7prFdH4jeQRtMKUlItMBjyrkU5Z2UX1YAyBuEMoeNlLB1ggNQqE+kCrXbCmZND5HP2fWCQjPZnu1kkELUTkkAiLIj2GlT0gTo2798YBSYl8ddorS3T8RM48UHc0ZNokef0+VmGSzk8R2AP4FFopYk6MbWVNm+/vkq7nZDEqgs2dI+14wqKLf+EbSNsg112MTaYJCZRHs3rd0gqVcrjJcoTQ0idhQXskvaH/qTNSkOSSrowiAAcrFwR0gAdt8FEdNYWKZ17DO0W0dpQcAS5gX01NrIVQlgURvJ4JiHngu0KwghUrHEF6xN231vRaLSSKBkh/dVsfzJGqJjS8DSTZx7hkY99nuGpWUrlIrZlkc/3ae9tFHTmsXVImmoC6eHbRXxtMVxycCxBEKS0mvER9+rY3Q4LdfT7vLeNfwxQxzbTqU+6+HeYYAHHkhgJT33yizz32S/x+GOPcGFqGM+xUFJRW6jRagQ4MuUHqymhNNBTHBE22i2iWvOkQQUlO4RxyvDkaVLjUPLE/8/em8ZYlp73fb/37Hevvaq7q9fpnn04Q3KGm6ghRYrUSopWIgSSIFgK4BiQDThIAsQIkGASfwkQIF8twP5gwEAQKAYMxzEMUIYkU5QoakgOh7MvvVZ37XX3s75bPpx7q6qrq6qX6RGHo/sHeq17znnPe+4553mf///5P7Qil9AVOEEFOegQIclzxZW1lOtbxdG9PI4qCxUO4IJTA+EhRNk6oMgL4jTn/fWYQaoeoJPohOqYUB0fDtxP3aej5k+X6ihfh2afgZUuMuKd6/TX3mLzve/hTp3Fj6pUQo8z8xGzNcFUTZDkFm1drB1Va6gers1QhGinisan3cs4f7p112yFtRYhDK7vkCWafixJckt+t6DiMKrjMBiNLhJWfvSfePd7f8LG1feonX6aqflFZuenuXTpBLVqeGwXTGstSTthuNkj7Sa0uxIpb1/13tNlEA7CDxEiQyDACoqNHtnNdeK1barNiHC6ifIjBgW7gsqjd3dAtFkbizZhHI4I18OttVCDFdBDcEuGOJw7XdoZW112AT2WB3FGx/NwXBfHFaALwtBF+AKZGrS0BMKiBOjxsRkFrEajsgxdZGhdgNU4eoiLpuJCWJkiqk8jjGHx7GkarSrNZnS4SZctq1KSQUqSam50I0xYwQQ+w8xg4ozVW31e/cn6h9Sr48A+HgbVcci/7/XAD5PqsKYUfQrH2S13doXAAUJGpcRCYPMOefsmst+l6oZ8/lu/z6mnnqcS+szXfGq+gzWWuBeTppJBYbgxMHTyQ+Y6bGK6b5EPN7EYmtMnqEzP01eG5YZPNBJtFrmku7WJZ3J2BoaNnmaQWS7fKMtCG/Ww7OW3X7R564BoE7BibKM2yvQpBVajtb7DSO6e5m5CdTw0/F2nOg7DPQcVHw2q42CvjgHbl79H5+rLdG++isqHNKeazJ8+zwtfOMNUzaMqNBhLFAh6qUXij1bLA4Qa4NmUzJ2j0F5ZPQBHijb3Z3Kl1EilWd/M2N7OSUZ2u8ed/F2DCcDqAlN0yW59n+2rb7D+/psY4VCbavCZr/8SX/jyc9RrEf6xUXBJoeTDjKyXURSlHfkg22cqdD/Y5XYBtwbaUnT7yGGPrHOd+vmzSL+CcH2EtfjHWTMfEG2OcyKlaHOXj0AIgVefRfevouMdLAanOU/mt0hyzUztbk6bsGfQ5CAcgeMZKlMutYZHf6fsSzLX1EShJSkExgo8JEZKBlvbyDRFuOA5lqoT4+fbuP0VHCuJmnOElQoXnnmMhZPzTE3XcY84aWsdslSxvp7x2luKJJaIWhVtLN31Hqs3Oqze6pM9hLbkx+JDpjqO3vjhUx1aFWip6G9soWSB8MsGeVMheEYwayGg1CZoR2Adl+7b32Pz1R9hsoJqc4qLTz7Do4tNFus+oTdSADsu728M+Tfvp6yl+jYti8WWVRmjwZjBTbLuJpV6g/rMAkGlTq8wnG0FRL6H0Ya418MWKfNNlx9fL9gaKApVOm0+NRJtupSiTbGvLPSoXh4fJM0/oTomVMffBu4pqPhoUB0HenUMNll95d8x3HyftLtKGIWcunCeS598ls989XmarSq1VoVikJSty0fpviS3WOHvijaFlfhmSOoukBRlueTMAdFmGUzsvfDSRDEcFLzxyiY72xnJiFI48uSPpDoOgU6Rm69CsYPrWob9lKXPfJ0LP//rnH/mSZZPzuD7dxNn6l2zqn43Y7OT0xlqMmUeLKizYz1EADil4FImePoawnZINldoXnwKSUg/kdQ8ge8JnKMqGw6INq0QxCPR5m5Q4XiMFY86vYnO2tiwhlObQwRV4kwz3/Tvkq3Yg+O6OD44jsFxBM2pgKYzZLpaEPqWXAkiP2e+FhNvtykyjetYogBONHrMhj1CtYPKU6qNJs2ZFp/+pV9ifvkEzenmkVUc1hjSQUweF2xsFvT6hrwAGWcMOwlpLyUZ5MeuOCdUx+2b5YMOWb/N5nvvkCUFaX/A3FyLR2c9npoRPNUU9JKy1NNxDVbvkKXr4Dq033iFfqJwm3N8/Re/zAuPzJfGXNbiGE2R5by6kfLDtZxOZnePvX/2hReVWdLudYrOCsOdVU488ixRrU6tWqa9p0MH3w9QRU4yiFGZ5OSUxw+v56x3coSwXDw3zfJCAyscvEN6eRTaovjgJlYTqmNCdfxt4tig4iNLddx6nfXXv02RtPFcS316hud/5Zs8+4u/zKOffp5ao4brlvy9VwlRg3jUf0KQSkuuD4o2DQIH6bTIcku95tNqRoSBOyoTLU9CSkOnnbGx2ufdN7ZJRuWYh59A+du9ZCf2QwBGDkjbN4nb28SF5vSXfovmhU8QhgHTrQqV8BDe/gCKVJIMc1avDdjuSeL7ME667TR278Y9GaZwXPxqVNb9512skRR5jqovkhaCQaaYbxzzwj8g2gw8QSYtya7T5kjP4UVYDCZfRyfrqLhDdPIpcKoIPEDQrLqHiyMPOWZZlWBwvBA/rBL4AlelhIFLveUxFw2Yq/SYqRt6mU+tEfHZ52eoO11C3aVSrxK1Fjjx2FM8/ZWvUZ9qEtWqxx7WSIlMM1RW4HgOOx1JJjW5LMWuRk2ojnvYDVD26uivXaF77TVuvfxttNQ06g0Wpht887k5Xjwb8JlFqPmgrEstcPnG4yEr3XUynaGkxK026dbP07v0Vc4szfH4yRZTlTLDJpKY0BYobbjSUWzEGnPEuIUXYbIusr+OTgesv/Uaz3z2S9SnphBCMBU4VAMXP6rR29pGaEWmDIm2rPQV/SJnfrpsj96oBagDos0r2wXbsabH/XUdvWPuJlTHQ8OE6rg3HBpUfLSpjh/QvfU6KhvSmp0d9er4x5x75jmWzj9ymxumGPtLAyrNcQVIBbkqa+WF18QUG/hWjYKKGlJUKBScPtnAD8oXlpSGPFNcv9Lh1vUO66uDkRvgEWd4j1THoRAGYxS3Xv9L3vrr75DGCUGtxYlHn+bc8iwzrQj/LhbQRhs66wNuvbVDlkgKaR6g3PWoVPsev+tWp1Cd91HxClpLaCxg/SpiVBraqrhH0hMHRZu1A06bZUg5WhWqGFSMX2lgi5Rg7iJaBCipqUUutehumZvxQUXZLtwJyhbwTtnXpbK4TH2qSai2CFyDX2uxcHqBpz99iuZ0hC8UGMHU2SdYfvpTLD76FFGtjusdF9zZ3fPMM0mWKFbWUvqpJivMrqfJ0VtOqI4xdJ5QJF1uvvInrL/5F3SvvY5KY07ORjx+6SL/89//HM9fnOXCbIgwiqlWlYWpCl88X2EqtFycrfKTG7eopG2iIKI39zTb7hzd1PDlxxaYr4WEDuXiRRaE1rA1VKwNNckRpbzC8RF+jeTmT1j78WsU3R4YwyNPP8t0rcJ06FD1ygq0oFrj5uomr/cU13JBJ1X0h5KNXsELz5yi3ojwRivdLJOs9CSvbea8H2vkA1zHCdUxoTp+mrjjqfiRoDqMGa3QSqojj9tsvP5t8rhNEXeIajVOP/osZ595jue++stEtTpRrXboft3Aw29UkYMUq1MWmg79zKBNgLI13Moj2PgqocipOTGtmWUarQbX1nIajQBZKJKh5L03NkhiSZLIo8/BjuopHmhlZrFWY9M1dLxCY/EEShbIAuKdTc4t1DhzokmtcpfIWEtQBVFYlscpaXDvY7G46/txKPYCBOGFOFEDf/FRitVtiu0r5Ktv4zbmSYsq7VgyW/eYqR/94hV+gBOEGK3wPctj5yv88K2Y/La+IBX8+U/jegphErCabOMdbOtRupnByxPCR+doNAL2chzHYe+nbqWGE1YASrvjU0+j4x0q1SmmgwouKVhNcOYSjeWncIIKQbVxlxncfxxLmiiyQvDq232GiSS5S8ZoQnUcyE70t8l6m9z4yz+m09siHewwN7PIp577BF/+/Av87m98lWajQr3qU2QFQVTFjyJO+QG608VqF+vBty7N8Ofrb9AUMd0godF0WJ5p8PLVIU8uNqgFHng+WQE2lXx+RvDKuiCW4o7AwmIQsg9Fh2DuLFp9j+21da6/+Tr+YIeLl+ZpBuULxxUCz/PpVed4N11l4BhqUxVs1MA25/h/Xo35Jyeny1L41PAXrw149WbMe9s5+QMssydUx8OnOk60Av7hz5/iRCvgRPNuRoMT7GYqfhapjsc/90Xqh/bquB2O62KUxhQSoy1VX9BNLBp/9OxXCMchap4lnJ4jiCqAIBnmDHZi3n9zkySRR1IdY38HI0ZNr+y9vNwOQmCMhGwVYWN0niD8Cs7C00x98pvML82xtDRFdCz1YcFIhLAYZcgyTbsvGap7uzb2Pu9G4UWAxaSb6GQT1d9CCPDnzqLwiHxB5bgqjX2iTTESbVr2O22OP+fgBNMI08PqHE2FwcChvZXTaaecOtkgiDy0V5Jc99xzQ4gyYzL+5Ye4lSZO1MDZNeLycaJp3KiGF0T3PDdaG/qdjLWVHm/9ZJMiVcTF0ZqWCdVx+2bWKNRwk94732PjO/83sr+F52rm5uf4g9/5TX7/v/wG3/jq51mcnSYISv1NUKkTRBFeGOI4Dk7gA4rWTA1PWDbXbtHZ2aJlB5w89wSnFxepRhGuKzjRCnFdB5lK8jjDaMPJiuDVtrkzW2E1xNcRxSZW54CD61c5/eX/ikfOneHi4hSN0CtPKE1w8xSpDO/spGxlBq8+g9dawJ+eww0D4lzhCMO/+s4aP7mZcHmnQN5nB7wJ1TGhOj4qcD95IKh4EHwUqI7jIByBE/rIQYowGmzpvpnkFiMCcCJE9QzCq+BogQh9ikFC3B7Q2RweSXVYY1B5jtK6tDcXpdDTEXskQXmed5mH0fwJwAof1b1Kcvmv0ckQ/9wXsNMX0cLh/JlpqhX/SAFkmScRqDSnszak387oJIa7yyk+QKrdi8pGTVkXqzOsUvjTJ3Bqc6SFYbbuH1ulMRZtmjzDc8t/Dw62Rxdjf24fUalhHQ8pPVQBpAnt1Q1OXJjHq4QYU877Peo37xiLcMZUiqBUdvqj63pvO9TaopRha63P1kafm1d7JQU16hx5eDvqCdUxhtYadIHqr1C0L5PcepN07RrNeoPlM2f4X/+Xf8qXX/wsTz7xKI0wGBlDuThugHAcCiNKIzwEjitwfBchDNVKhV6vz9qtddJ4SJh3aJx+AhtW8T2HhWZAK/JwfJ98kIAss3wWy43Eom67cAYcHzm4QbK9Rh7HLH3y69SWH0eKkGeWp5iqBHhYkAW2yMkkrA4MVwdVchHhBhHC94lzRXeQ8f132uwMJZ3k/hQUE6pjQnV81ODBx4fqOA6O61A9Ocvw2hqeU1o2uw5I7YE/w9jj2yqN2umAHT3gDhu/0SNjqQFFlmOUpjY3SxR4eJ5HJRDkscSOH0Ti8Cj6jvkTDgiPrL3N8PobqH4Hr3WJ6ceeZfncHCoK9h7eR82thWG3oLeRoAYFoYBc7HUXPfjZD3I7WkC4FfzFTyN7VzHxGnLnOtmtkgaRrXne20j5xOnarmvkHRACXA+3WkMNB7TqLvPTPklmbg8snAqEi1jbwRGKKCiQ20N0r0vcs7z7vYhLLz6H8HxiaZmqutyDnvUecO/RiZQaWWjWV7uk/Yw4loQVl2Gi0NxZcjyhOg5QHXmKzAt6t65Tjbo4ZEwvzbMYfoq56QU+++JXOHvmHEsLi1hACwfHjgIIoJcohrnm3fWYz1xoUQ9drFvaZleiCp//7Au8/trrDIddingHefNlpud+kYGJuNUvaEUuddehvjRHOlxlxhc80XJ5d2B5q7vv6umyyV77+k02XvkOSXsHv7rIpaeeZb4RErkC3yn1FNr1WenDqzcKrm/4QNmTRluDlRlYy2ZRLqzuf+4mVMeE6vjowfvbTjXdRnVgd6mOpHuLePMyO1dfRssU33eZWljkua/+MmefeY6l8xcfKJgYQ7ijdGijTjrosdU1aD3mKvZeHNZohDn6ZtGywKiCuLuBUaCkxfVcyNpU504xNROhC43QFpkpKg7EZlQWtm+nd86fBQqcAPzZc4jKInKjS/LmLZ7+jSnOnp8hqAZkFmpHulZqHNcQ1AIc30Pb4siW3/dLdRwc6f6VhXAjKme+SvLuv8HkHZJ3vkN06nGKoErq1rnZLjg/Hx4ZWAjXRQQhjp/j25yzSwFbnbKLqdwfDTkR2DrYHEdUqU3nDLfWiJOc9ZU1qtdOYWvzeA5ELjjCKU2vgNeyGIcAACAASURBVHuUcj4QtLHkmSJNcwa9FKM1WaHRQD/T5EJQ7Ht4fmyojg8wkP2bGZkhu5vEw4zeZgeBoeoI5qYjvvTsY9TcT6C9BdyoxcbGkLOnFqi6bmnGZiDOJNd2+mwNNe+up1QDD0/A849MlZkKx8c3hkpU5Vu/8Q3+xb/8lyQ762Tr76J6jyMbj/PmVsZyKyCseriBR32+xXCjw5M1lxtS0JaWjdhQMwm94Q7d9/8z6c5N0m6bwEgWzDZffGSWb754gVY1RGDRyjCIcy5vFvzwRk43MdQQpQW3NSM71/v/HtxGdTzg92BCdeyhHro8ulDh+bNNfv2ZWRqhS/1YA8QJjsMu/XGv+KhTHUdBKUMcF3TaGTdWU/LcoPdVGdx1/EajsoQ86ZN0N9CywNoCz3Vo1STNmqJeE4S1BpVqiOdAy7EExhCNAgtjj5s/S1k8psCxZN0B16+dZhAv0rmZ8swvfYJGq4IvwD8yqCjPxhGQp5LVrmRY2AO9Ix481X4wmBhDOCNtCgKbdbA6Q3bWiM58AuNWQJQ3biU4OoUoHLf0Ihk5bTZrLhu77dHHxx57ZUQIp/TMEK7Aq2mcyGLCCsKvoQpNv5vQqJcviPG477VV+71CG4tSls5OSrebMOznZYCRa6Sy3FxLSHK92110QnUc3MRiZEpy9UfE135Ivvo2hWgyM9Pi1EKd/+YrJ/nkSZ/HTzUZmgZTzQbLSzOcnm/huw6F1HTjgv/4+lW+/eZ1vndljYpfY2c7Y9Aru2fMLtRR4+ZdnocQJQl1Y+U6edzDq7UImou4YZ1Oajg37VMJPRxHEPmaWmBZbrm8tVXQkj2W5Roz2z9gZWud0BNM12t861u/yTe/8fd4/pnHOLs4TeS7YGHYGSCTDF8Y3lzP6UlL30B+37O2b+4mVMeE6viI456DiodCdRxpYHV518Bq+bEneexzX+TLv/P7TC0sUZ+evv+D7oNShqLQrN3ss7XWp9POkEXph2Ds3U1lrNFYpcj726RxhyLul9UKriHwDfNTBZUIAq/ADzyaszPMLLQ4tdxCdjOE1lhTPgayYzIgjOy/bb4DyQpWDtm47pAWVfxqjfnzi5w/P0fNdzjm1YyVEmSOYxUbbUkmRyWaD4HqOO5hILwKAlDxGrYYjASj9y/atPvaowNl8zIDo9Ka0RhGTpmehxe5eJHG8SUqz4GI4dYOnWsraK2pzzRRBuJY4bpiN1syej4/MKQ0yEKztdkniQvSVKOUJUkk7W7OrdUYqSxq3NZ7QnUc2KzsxWnzLeJrryC3rmOkZnZmip/7wlP89q8/y1LDZb4q8DyP86eXOXXqJGdPzhL6LsNEsrGT8e++e4O/WbnFO1s75FIx6CTcervLd779DvW6z4kTTRqNcK95V6WCELC2tsbmxjoy7tE49QQEtVEpNMzXPMLQxcGUrq8Cnlpwidbf5jG1SmAylO8xNTPF//AHv80nnnuBRx59kjAM8T2HKHBBGLRUdIc5nVRxJTa801fEluOdd4+cuwnVMTGw+tnAPQUVH9WqjrshyxRpLLn8zja9TkoyLDC27GSqCn2ozuA2GIXJM4bbK8h0iC4yhGMJI6hVLTNNje9ZosgjqFQ5ceEs86eWmJpt4AUuUSNguBmjR10OC3u4tmEMgcXEq+jee1jZp9ZSZHaJc9/8Es1TMyzON2hUjhcKmKLApClWayqBYKujkOr++dox7hZM3DZ+L8KrzqM676LTNlYVpWizvrAn2ryL06bY57QphKCfaJJRL4xyDLdvKxwP4RrKB1adfKgYbm6T9AZY6+DXKqxsFrQ7Oc2aj+s5SFW2qvccMZbSHLLnve/9/uFqbYljSX+Q0WkPUdKQ54ZCGrZ2EjZ3MjrdfDdo/dhQHQ+7LblVYPtYK3ErVZL1VZI4YnpqkV/4+ae4dOkEUaVO1dHMnXicWnOOZrOO6wiU0txaH/Ltv15nrZ2RpoK+GZKrgn4n4fobW2ytDFlZ7fPC88s0R0Z2glHzrmqV/mDAdrtLmqbkvS0aZ56mED7GWGYqXina9HyslkTTdaLAoekUyF6XE6dOcf6RC3zrK59nabrJ0lwL40a06hVq1QB/5E/RSQ3XtlL+9at93utKusUHpDoeEBOqYw+Tqo4PH8cGFT/LVMegl7GzFXP9cps80+S5wWDJM02Wa9SxWQNbBhQ6oxjuIJOYIs9AWCoNmJpyqNXAcwzVeo1qs8XF519gamGRWquJ41gcBxACKyDtZYhRMCPtMTeJcMCNML3LyP5NisEa0xdb1B97Hr/Vol7xaNb8o0WPlNULOsvQmSQfKopMEcv7T7nfTzCxN/xxia6haL+N7L4Dvos/tYxXmSJRhoVGgHcUDzFy2hQCjCzwPcgLQ7zbHv3Qg5aUiFMHUcVaryzxFaCsw1C6KOtSSEN/KPEDn4EsHTyDUafTQlm0KVvaCwHagNKWQu/9v9aGvDBsbMbsdDK6vQxrDFJq8kxx7eaQwVCSpmrffTOhOo6EAGyOcCwYQ6FrDHcgjgVLiy3OLM+yNNeiOXOCyA/xvPKZoIsCk6UYJXn7ZkInMSQa+tqiTYYVmiJRyLy8366u9vniZ8/QaIQgRs27PJe5uXnefvdd4jRH4kJQJ2jOkWlB5EEzcqkELk5UQTgWvxLheh61uUVOXHqcR59+mooHYeDj+QFz87PUKhGh75IWhssbMS9f6fFvX+1wc6Dp3qej7YTqmFAdP6s4NKj4mac6Vnqsrw7Y2YwpCoNSBm0saTzq1Hlcm2ALYLA2QZiyO2UyHNIbxlxZXWNhIaJWdwmrAa2ZeeaXz3DuE88S1RsE0djHYCQOHLXrzIcFMpX4AtJRJ9PDR2CxGCwO7df+PenNVxDCUD/zDI2TZ5lbrDNV8XGdo1P3QggMLoPVLnJQYLUllYLiPp5pDxJQjLcUXoTRCXn7R6QbLyN3LlN/5EuEtWmmp6dwHIeKL47UN5Qul4CSZXv0istWV6GURR91DqOqGYSLcFwc10P4AcLzUcqA56OUJukMyAqNE0WlCDRX5NLQTRWZNASug1SGta2MXBoMotRNFJphLHntrW16/ZxCGpS2ZKmi0y24tRpTFLo8FhOq4942E4ALZojjKawVZH1DPCjYSjQvfvYiS7MNqlGAI5xdoa1VCiMlhVQEwvKDtYJrSqAEWJvjuAqv5pL0DKm0I9pA8MSoeZdg3LwLTp5a5vWrayRODVwfUWlRiIC3bnS4MBtRCzwCz0GNAt2wNkWlNU11ZhbX8/ErVRzXpTE9j+f5SAODTPFX77X5s9fbvHy5TzdRFKbs4XGvMzmhOiZUx88y7ggqfrapjmKX6oiHRekZoC2qMGSZwphjVo7jG2HsXmU06AyrB3Q7W7x97RbDtGCQKB65sMgjTzzBifOPML98miCq4Lj71cJid6du4CIzhUwkWhlCBxJz5zyPEs0Ip8DqFJ0NSNaukHYcanOP8+innqY11wRHEDnHiA5Fqc3QypD2UrS0ZBLk3dqy703BB1JeGAx4IXq4iuytk3cFyZVtzn3hlwlaTVy3XAnerT261Qa0wlpLs3q7aPOQLRjPeXl9HYTrjlL2Ap0rZJohswKtDa7v09tO2bjVx7oC4wiKQpPGivdvDOj0CpQBxxEM+zm3Vge8e7lDnCiy3OAAw35Gu53S6+dIZfZWVROq4x4xtrHXYFLc0EFKi4yqaC/g+uaQL33qLM1a+VzYNYd3HNJhxupKzM3VjHamWVVlrw+sxpiyl0/QcEl2FN1ugcBy/sw0p5YamH2iTcdxIayzst0rrdNFhcubGe1hyntrfT51YQbtenQLsLhErotxRvSjELiuixeWgUU31Wz1c/7fH2xweSNho5fTTzWFLbOT92KTP6E6JlTHxwF75lcfG6qjbPJlrSUvDDJXFNIc/7CzB3t1lH8x6S1IruKYNqvbOUpEBLUWFz/5WS49dpbp2dkDwcSdcBxBUPOJdxKM1Lvum8W++d67DQ2WAicIsFbQue6wfXmawYrH+Z9/mvpMjTDyidzjzZ0cz8Va6Lcz+m2JkZbcHh1UfPBgovwe2LIdGsJxcasn6L15jcHlENlpAi4Lz1wiqAQ0wnL8R57CoaJNQW8s2jzs+PsHL/aCDHDLOR8JHLQ0xL2ctF+QxQVJXOB5gs5Owsq1DlJZMmlJE0ncS1i72WNjfUBe6DJzoQ2DfkqWytH3bEJ1POAmjO3hLAXC0fiNiHhoSQtbllsawROPzBGM9RDlh0kLzZV3usTdDG2go2FgKLsP2wTHKb8kQkDeN/T6OfMzFU6daNKsB3uizShACIf1jmQ7DslUk7409FOFEdBXAq9WpaMErijNZnJtudyVTEUOniNIpOXaTsZbNwf8yWvbdOKCXiJRFjrKMlCQ3+XaTqiOCdXxcYL73Df/0UsfH6pDj6gOyBJZpszvSnUc0avDWqzsQLYJJmd6KkLWzzH9yCcJqzVOLE7Rqh8XEO1lKxCCsB4w2IyxurSjHq9g9oYy/rwGkyFsQbId0N+IkNple3vAM7/wJAtTIY44zga8zBg5jiKNFXFfoopydV1w5437QQMKu7vP8QtJg5VY2cGvnaDz403inRjTaHLiyfOcuzBTVoUcF1QwFm36u6JNgEF6u9Pm7hiOHPzYsHvvl7UCowyjryxKKYb9lEEnJc8UxpYB5aAbM+hmuxkva8Fqi8olRhvMpKrj4K4ebFvhAhqLBGGIqh5xW9JdLxDa8siZaU4uNTCAhylLQg1IaWnvZEhp6WvLwIK0AkQIJsb1DRaBTAzDvuLW+oDPPHeKZiO8XbQZRfTyiO20SiwdfFwSYekrQW4FtXoFz/e4spWSFYb3uxIFDPOSRv0Pb7f5q/e7vLM2JC0McWHItOHGQBMrS2GO/25MqI4J1fFxg/vcN+7PpwI+6lSHJsv0vVMdu9mJAxAueFVstoHjGDw/oDYzj6kukiuHesWn2QjK8rEjUe7cGUUBYp9oU1NWguxWCIw/bzXkWzhOTtgKaK/m9OdnKJYX8BoRF85ME3ru8b1FTIHjWoKqR3czI5WGwtjbjLAeRnbiztf7aD71No5nMTrHeA5b3gzt+jRTZxZZXGpR35fSPi5bcbtoU5AXZl979Ls9jA7b8/4jllSNMQatzG4GSSuNyiRGGcz+tMgoGzeesAnV8QGDid0/RWmFvj/DICHvGfq9nNlRhqFRD9AIfCxB4GKxrO1kdPsFEbCpoUCMvpMCbIbrg8pBZQYt4eqNDl/8zBka9X2iTRfmWhXeWc1IC5BGgONRCEikwXMdrm9kvL0y5Mc3BizNVOhnms1+wf/1ww1eXYt5ZycnBDJp6OaGm0NNoS3ymFz+hOqYUB0fV9xXUPHxpDqOhgBEMA35Jo5NEcJBiga5qdDvZpw50SAKXTz3uEi4PJA7Wm6PRZueKLUV+o5hCDAFVg2xOiE4AavRAp2giuu5nFlqMTtVOSaoGJs5lOYUUcNlYyNDyvJxqzkYyNw/9rITh/3Qggiw+RaOSMlUh04wQ9udoT/IeeaZZerVkMhz7tp0rRRtChi1Rx+LNqU8RrR59N7ucfzjoPnIHzOhOu57k71tD/xZYl+GwTMIBHmsGfYVN9cHfPa5U9Qb4T4axBAEMEwU7V7Z+dVYaBvQuKNboMBxFH7FIe1o0mRMPd4p2nQsLM2EvH4jIy8cBA4FlkxbNjqSzlCx1s5Q2tJPFe1Bzl+8tc1OIumkZa+OfqqJc003M0htj3xhTqiOCdXxccc9BRUfe6rjKAh3L6uvegidoUSIpoLBo93LOH+6RXSspevhok2jDMFhok3hgBNg41vYbANsgQhcMqdFs9lkaa7BzKju/uhDOmAVDnr37u335J6ugAe7qY99Ge87trUak/dRaz/E1UMyQmzY5NRjF8ALuXh6ajeouPvu7hRtru8cJ9r8gOM/bvsJ1fEhBBSwm+ESgM1wfNC5RaYGI+HKboahXJS4aHxX0Kh7XLmVcH1oGMgy+5czplQUWAlCE9Rc4m1Fu1eapV8YiTatcPCMIty9zQU3doqSGkOg8NAICqkBQaYMvaRgvZMSj1xTcQS2MBgDhTLHrr4nVMeE6vi7gLsGFR8JqiMZUR3tD4nqOAalHbTAyD6oAZ5JyN1ZpClLGAEW56p3yVaUOCjaHHc+vUPIZQ04FczwBq7s4qKZXTxJbfokSglOLtYIAxf36BIQwAEj8UfW2OlAkcUKB+6rvG2M+0kMCOGBzDDpOrK9gpfuMHvpWaaXT9Oan8FzBNN1/8jOpQd2dt+izQ86/oOYUB23bzZebd9LUAjHBRP74ZY7HWUYgopL3Fa7GQYxzjAEowyD0aAN9brHqzdS4pEPhAQUovQusQlCGEYtQkgGpWhzYabC6ZFo045Em9WgnJ/1jqQ9UHijHh1lAC5Gr1KLNmV5OsCuqcldIoUJ1TGhOv4u4cig4qdNdWhlGPYydrZjrl9tk6cfLtVxzC5KVbnOQSdgJb4ZknkLpEVpGDE7VaHVuH/RJvtEm7ctvIULwoIuKLpXYHgDr9IkbC3iRnUKHE7OVY62vB4fc1Sy5wcOea7JEo2WBp/y4XsvU/Kgq3srXIrOLbrvvsH2q6+gNq5y4vNfJ2i0ODEX0aj4R5tgHTyTA6JNASOnzbuHCh8kOzGhOu4MJqy1yEICe+3s3SN4rHsLJvZBlGWh4wxDWHOJtyW9bikx3i0LReBLiT965RssKzsFRpfZCgloBBCCjXFdA1ZQJIZ4oFjfKSmVZi3c1UR5RlMLHHqpYXugGBTlvZnx4AHphOqYUB1/F3FHUPHTpjqsBVkotlZ6bK0N2N6KyeWI6tAfItVxyC52Nx2LNosthMnBagSCwmmRFVCv+TQb4T3QIHcXbe59PMSoAtm9ghms4uQd/KUnmTqxSFQva+ObFfdYv4pS7KhxXKhUPbpbOUgzWvmVD99jz/8e5+q27awFoRC6jUWy+Td/Trq5hvYa+PUGP/f1zzE7XSEK7q6puO1cDhNtpuZIGmRCdTxcqkMmQ4osJRlmKGkQQlD1XZZ8w7KvSI1DYUVJJQix28Tu/o68J9oUjt6lC7I7ykJDtBBlWWggEAjWdjMM40BAjMYvsCbD9QVKgcFgheXqrQ4//+kz1GshVoBjDaFrqUQOb9zKWM0NffNgWb1y7iZUx4Tq+LuJ24KKnzbVUa4KDb3NPu1bA+J+KY6SGmShydIPl+oY47BUnQCE14RsHcckACinTm4r9AcFZ05+MNHmfqfNsVBQuBE272HyLsJIfNmlduGTiLAOWKrB8Z0/S22FZewdUZ+O6KzFaGkwjESbh53/XebnKOxOm+6C6mH1EL85w/ZmTLd+Af/xFzl7fpFTSy1gN+F9TzhKtHmY0+aE6nh4VIcqUuLtdbo3r7B1+W2coEqz0aAZCj4/B09VCk45Es8B4/nMRQ6XWi4DBam2eOOh3PPRBYbg/spCA4d+UmYY4sIQWEgALcZBvkI4hrAWkg4luRI4rkfQbHJxuYnruwgsW/2CW72CP1tJ2UjMXf0ljpy7CdXx0DChOn724D73jX/00k+b6tiFVQhKH4BhryAfefinuaIojhdBPTSq46gfjkWbAqzs4dgMLUK0U8XgPyTR5u0vSOH4ONEspn8dq9IyQ2I0/uw5CusReoJK4BxPgzjuaAFYvpSthX4nRx4oMS1H9YCrsvFv42EIF5VuoNMBO6+/Ql9M0Tv9ZWJqnDo5xcJcnXro3XumYrzbu4g2J1THw6M6VJ4gky6br/4pO+/+iN7aLYp4yPKJOR45Nc0/+cocz5708QcZVVewMFvl9EzE1076nK07rMRl6u2UgLqAmHtxdLVYOxZr3E9ZqGWu6fHOrYy0KKsvLCNfFuECtqQTrSWsV1DaIzx1gaBWY3m+SjVweGsj4/vv9/jXP+yynSjS+xQCT6iOCdUxQQn32V//w5d+WlTH7ShX1KBxXUGeKrqdsqX0mCs9crOHSXUcg7FoE9VHqAGeScnduYci2hx3Ms0PaXTmVBeQO29RbF9GpR2c1hLu1DK5Msw2yhvtaHmCKDMWaDyvPNteX5IkCgG7gcWDrO5vW9mMK1mhtDeXihv/9o8YvvMK+TDFXbrEqccvcWKxyVMXF/BccV8BRXkqB0Sbo/R2d1g2iHtQfBypjv0x3n3sCoC8v0XWXuX6n/4r+jdeJ9m+SbM5zaefeZSvPX+Bf/xrlzg57TNdc/FDj9nFOS4+ssCF2YgITeC7nJsKCIeaGW2oOzCwArmPFjl47Ntn/0HKQi1LMwGv30jJR3qIgrFo0wdyhOvjeHXqC8t4UZXMuvguvLHS5y/e6vBXV4Z0Eo28z97kE6pjQnVMsAf3E7/yD1766VAdBzHKkxqNIyx+IGhvZshiz5jotu/th0h1HDvKst4NqxPsQxJt9jeGcER7dOF4gEWlOyQ3vku28TZebZbKwjkqzSm80KcZOsfadu+eqC7wXcjy8gGtZPnwfRDeeC87sf/aWNApRvWRO++jh12GK9fwXMEjX/pFXvzaC3z6+fMEoYfH/b30xtgVbWYZvgPWWPqpuSfR5uHn8PGhOlQh0bqkDHDKoM0VAhcIODyTs3/8psgYrr1P5/2XufndP6bob1H1DAuzU/zBb/8Gv/3NL/MrLz7D3HSTwFEEYcDU4hLNmSatmTpRNUArTbMVsLBQo+I55N2cUFjc0KGr4eBlMkdN4CFlocf28tir/h6VhZaZOLU7RxEQIrwqwvEQnovUhmtrfdbbKTd2MuRxOq2jLsGE6nhomFAdHw+4z/7qP3zpp0J1HIpRuG8UwkKt4bOzWQrDYN9D8cOmOo4d4p5oE5NjR6JN+QFEm7An2lR29CDcu+sRnovRGfnmWxQ7N5DdPguf+CpzJxcJKyHCEUTucS/p0U+MxnGgWvPY2Srn1ZjSZ/JeF2e3Ux0HHkjWglWYdA3XhzwekheG4IX/An96iU9+4SkajXLVMSp6vX+M+3pY0FmO7wqSzBDnBnWPJ/FxozpUliLTjNX3r7N1fY3a7BRe4DNTcYkcmNKWCuXKfU+3s2+XukBnQ7rvfJfe5e+x9eb3KIYdTi4tcOmR8/zvL/1Tfu6zz/L0Y+cJgwArBMIN8aMmnueD6yIQOK6g0ogIax7Vmo/nCvJYcqJuWa45eK7gVlp+x+1d53+vLHR/L4+sb+ge6OVhxr087igLhRSwCOy4k+34oWEMVhUYa0mL+0tNTKiOCdUxwdFwH//Sb730t1LVse/PY1eoY+Om0TtZAIOexI4EmvZvieo4attdeE3sPtGm/CCiTSGOaI8+poQMjl9Dpz2KQYCWs+SbfU698Dx+vV4Wzzlw7D0onPIMrEYIqDd9tjdyUAZ3rIE8Zl6OpDpuO0ZJqJgipnP9DbZvvM/AncJffITG4jLpMOOxR08Qeu6xFt1mVPp/ZGHLSLRppSRNJdYKbu1I7D0kKz5uVIfsrFFs3uDd736PnfUOcT+lUfF54clFfu5cnadnAuJEUxSGgJGAcX9AYXKMTOj85P8jWXubbGeFMPB58snH+cWv/AL//X/7h5w/s8zS/BwA2jpo42KFj+M6DDJFJynK1vGeg+e5UCbtiMKQqgdIiWsNvgMbmWW7uNeskmDstOn45Zciiw2DvmJl5LTZ2ifaPFgWmhSGcHTOt9nT75vP+30YTKiOCdUxwfFwT1x84qUPm+qQSqOFw9CAV2Zmjw4shCjFhUaVxk1CEA9kadwkBPpvkeoY446UsXD3FswPSbSpck1xh9Pm+DMaPB+vfoZkrY2KwVqD4wqmz1/A8Xy8UVBxrPWD44DZC9g8R6Digro3qu+3h8/R4VTHIZ9TGabI6Fx5mZUf/CdWXv0r0vYqy8+9yNzSAi/+wjPUKyHBqHfJQRhtkcrS72cIBP4x/dELLdjZSbi5nvHOSlZ2qr9bUPQxojrAINsr9F/7Mzb+wz/Hbl3GNs8zPd3id371Kf7eCyf46qU65+YC3l8bCRhHUeO4sZzVOTbfQfeu4riWdPMmQRjx5Kc+x2/8+q/xjV//GjOzs7RqVVxHUIalAmUd4lxzo53w3saQl6+2WeumnJqt4nkuPSUQwiX0XMJKQNpLcIyhgqGvYKewpPeUHBCjjIAAk+F6IHMoUoNWcO1mhxc/c4bWPtFmcIho07CXpXlQTKiOCdUxwb3BrTeDlz4sqkNmOe1b6/S6fWIcCEMk5ar62Fh0l9rQ+P6ecZMcddu8Tx3VB0rVHbm6/BBEm8PtPadNISDXowehHa8tBMH0Iumtq9i8hxs4tJZPUZmbp1BQccug4vjAwisDtoqP57rYVKJTSTUQxLpsyDR+eBxLdRycJ1Ugkx167/0JeW+F/uoVjLaceOwZLjx2kV/77W8yPV2nEh3+4LCmQBWSm6tD+gOJEIIg9HAPiEUKaUgzxXvv7XDlxoBb6ymZPKbXwuj3jwvVUf6fBtPD5tt0//MfI7euYZ2I+aUF/tk/+6/54vPnefJ0g4pjSwHjlM8bdwgYQWAxySrCFuT9Nq6AM5eeZ+bkeR597BInFlo0oxDfFURO6RMS55p2LPmPb2zwp29vcbOdkOSa/k6PQT9FVWpkjo+gpORcIQhrIcOdIY4xTAeC94aWRB+fGdubL3f0lwJBKdpMuppcaxy3pBCfOD+HPxJtOvtEmz++ntIvDCmlffeDYEJ1TKiOCe4P7vKjj7/0YfTqyLOCy6+8weXv/4ibb7xLffkUhBGO46EM+/z2D8M4DWBwHEul4tLZLlDyCNHmEXhYVMdRu9gv2nwYTptRIyydNtVeJYgyAjsKpYTngRB4UYBNtlDZgKg1hT89h/UrDDNDI3KOoUFGK123pFy8wEMXZZlqEApmp1124tJkzAGEtdijqI4xjMHoDJ33KPorpDuXETKhPj3H+U+/yLNf+02e/PmvUG82qNdChDjkqssYUXTJ+1sMU8Ewd8ilodYIcd29ypZhLOn3cl7+wS02NoZ0uvnx2YmPGdWxv23cCQAAIABJREFUCzMEPcCahGBuif5aB1U9wyOf+yVe+NQjfOLJk2jhEI76Woyx33VSMQ7OHXrXXmH7vR8zvHmF6aVzLC6fR2nD5x47xWw9our7CGBzkHOjnfNHf3GD19b6XNuJaXcHZLfW+PFfvM73//xVFs8ssnh6Hm1hygdvX1CYpRJZKJqu4L3Y3iHaPHS+LCBcrFGUtRyWsBWSDAr6wxzHdbhwdo4TczWkcAiMotCGXqp5bbvgWqxJHvClOKE6JlTHBPcP9zf/u//ppYfbq0OSJjnvv32LrWsr7Fy/iYxjeis3mbp4ERVUsBYCB47Jbu8ZN400ALW6x85mfqdo8wg8NKrjuA8LF3GI0+bDEG0yEm1KM07bllZRTlAvaaC0gxpukw22qJ95HO1WEY6PtZZacJcS0/ExXUFUjxCqoBoJHBdcRzCMDcG+F9uhz35rsNagZYZKO2g5BF3gYnCFYPbUE0wtnef8858nrNUIApco9O/IPGA1qCGkmzi2IM5dcgLSoEKiYbrqYbRhezthZaXHqz9ZJx4WpNnR+aqPH9VxAMIFG+N4DrgBduoCsXueYe5zcqnFqRMtZurhbX0tBLDeLQWMPpAaWYp/t16ne/UVVn7w58TbGyyfu8TFixf4+19/nrlmhXoUYI2hM8j568s9/vlfrrHRV+x0O+ikR/+N73Ll+z/gje++x9qNbS4+epLz5xe5NBvhidLC2/FcCm3pdVPiTGOURQEb+Z2UlT3wl/KPkWiTDLErCnVR2oHWHItL0yzMVKiGDqtDzUY74198v82VrqRXmPu+BhOqY0J1TPDgcP/B//lHLz3ctuRDrl/ZIC8k0jpkm+sMbtwg29qmSAsa586BH+xqAI4thXRcsApnFHwIxK5oEw5/2X0oVMddIB6yaDPbL9rUoK0Yjafch/AjKIYI2webkbbXaJx/BulESKUIfed4p83dwMJFOC5BNcRkKWEk8CsuOrfkicF3LGpcOMKer4TREqM1RTrAaIXVGsekuCbDtwXV6hSeV6HSnCIIfE6cW6LRqJSCuoOZCuGANagio9MuaHcNHdFCe37ZITKXrF7rcPlKm5WVHmmm9xo6HcDHk+o4AiIANcQNXPAq5KkgjjWr20O+8NwyzdpeJ1vPaKqBQz/V7AwUaWHwraa/8ZeYfA053EIOB8wsnWf50lP84e/9JqfmGkzXQ4w29Lb6dDZ7/PB6nyudgo2dTbLeOsnLf4xef4dk4yauU+fppy7x3FPL/NovPEklcHGxGGtJCk1hLNb3GHQSpLTkRrCaWVJzYL72nfJtZy8EEAIZjufi+CH1pXO4jWk6yuPCfMBqJ+OHV/v86+9vszFQ9O6zzHhCdUyojgk+ONzf+9/+j5c+yA7uaEu+FVNIhVKloVMhoffOG8Q3VwBLfXmZyuICykDVBde5Cw0i3H3dNi3xUJMlZbfNO9wgfxqp6pFo0wJWdRE2w4joAzpt7ok2fReSUSvmcfAhXA+3NoUe3sAWA9AKaSS0TpAqh9CDSuDeveEYonzJC4EXungVQ6XhIQuLKTS+a1ieUXRzF2UEntAInZP0hqSdNsJx8IQhcDUNu4UYruHIPq6V1OdPUms1eOqzz9IcaSkOoz6ssWgr2FhPuHJdcXPdlqLcWkieSm6+u0l7a0i3mx0ZTMDHmOo4FOOslqV0nRRoXWa1rHC4cqvLi58qXSf397WYbXi8uzoSMBYp6IykcxWsolWb5+kvfYunvvirZCLkmeUmkedQ5JJBZ0A+SImKmL95602uX/sR117996jhDrOeZWlhht/93W/xe7/3dX71lz9Fsx5htUEpQ7+fUWiLFqB06Slyo52xOtQkBnIr9rQVt2UnDjlnRKkJwscLZ3CDCDcMscDr1/tcXh3yw6t9OomiuG/PiQnVMaE6JngYcH/rf3zppQfdOMsUaTxqS97Z15ZcgZIFeWYw2mCU+v/Ze/MgSbL7vu/zXl51V9/T3TM95973hV0C2AVgHCSAxUGQgADCClE0RYoggw7aJG2FQnSsHSGH/mAEI/SPTEqy5DBNMwhZMk0JIkHiFIhjb+y9s3N3T991V96Z7/mPrL5muntmunsX2EV+I7a3trcz62VWVdYv3+f7vj+ixjJxt4MzPExpYgKzXCbSUDKvMVux2bRpS8Ig6wESxxumzbcEdey2HzGYyksz06ahvH2ZNp2SRX+QtLk2K7M1aTO7wJqlUeL2GdJgAaVTZG0SWRrDDxWjFQvLENfVXlxIiTQk0lQYhqZcdSD0OTwSYpsKy9SEieJwvYsR9ei3PaIwoVwQlJyY47UlSqJP6ncQQjJ25ChHbr2Vux97N6VqGdvZfhZMa0iTBK/VRSUwNx8RBNmXUehFdJe7JH5EtEuOwDsedeyobFYLFSGMBKto4PVTfD9Fxxq04LZT26RODlu8POsTJiY6CeivXmThm39J0mpy03s+RmVkgumxKkNlm5GSiZSCoN+nNb/AM1/+Y5rf+wpPz71MN+ozc2ic206c4J/8o9/lve99gLvuOoXj2MRpShDG9Ps+aarw44Qk1iw3fRbbAbOtGDfKPBc9lRXMyTZJsldJSMAE6WTFPIAUREFAEMas9qI8wGoPylFHroPUnoqKDdThcvFskzDYpi15pNE6QdoOQkPUaRI1VvCWlxm9+y7MchljgFyuHdwkQGfBTcWSSWs1Io4VarBcbE8mrB0e3+he1r4HhLRABVtMm6F5aG+mTQSFikN3zbQpsrvQWK/9nUBIMzNRyoTUX0BFfYzSMFZlAmEUcf2U8bp1jdmKTVpjTNJGmgVqw2Xw2hQciVWwmBoKGLE7jFcjml3B0FiVo8eq3HZcI/wGxaLEsIocve8Rjt/3EDO33U6hUsIwd56hEWgizycOI4IwwbEMlloRYaKIo2ymRu/wRfsThTp2HIMBDFqFo3CKBr3lmPZKhE40J48OM71t6qRmdqVDmvq0X3+G7uULRK5Pd2WZj//cJ7nvlkNMDtnYUmCIBENG/NUf/DPOfvsbzL/yAuVyiVsffpiPf/jD/O6XvsSR6WlGR0cHqCPCiyKCKEalmkanz1Krw6sXGvS9hCjM+nvULM2EI7izJjnrarzrjq5Ym7FjcFnI2p/rG/xmzFFHjjpyvTm6oaLiKtSx7BJFg7bkanNbctjg9grpOKSeS9LvoqOA/txlJh54AFkuA3s0bS6FxIOY6eyycn06iGJibap96xgNhFneYtoE9mbaHBQCa+3Rpc6MbcnmTqaAMAvZeKI2JH2kVcAeOYmWBTSCJEqpV7YxR+703NLKjsOwQUikbSPtIrXpaSwZYhMghcHRW48xdWyUk7eMUCwY6CTFdIqcfPdPMzJzgqHJaYys0chuZ3FAtwx6LR/Pi3n9kkcYq11XdMBPGurYbVdivVW4lCqLEUkh6GStwsdGihyZqlGt2KSbUieFTlhorNDqtinWh1i+dJG+dkju/Cgj46O8/96jlBwTQ8cYaZukf5GhiQovfPU7lJ0in/jlX+bnP/95PvnBDzIxNoZp2SRK03MjoiQlVim9bpfTb5zjh2dm+eqzr7HYaFIplBmrV7jj+BDjUjNT1NhCE6awEF57ien6se/pjG0+dznqyFFHrjdL111U7Ig6Uk0SpQTBlW3JN+68hWlgVev485eI+5m5TwC1Eyf2bNoEQbcTo3YxbW7WgaGOa3wahVlDh5vbo1f30R59YNr0YiyZmTbjK+4uhFlECoVVqiKlIA37UJlmddHF7XjUKza1mrPl/OxaYoiBGdQwkHYBo1xB2g5GsYqOAkqHb8MZGqU2XMGUCrNQwSoPM3zyXuxyDbtU3vX8bB5FHCtaDZ/lZZ+X3+gQhGrX6eufXNRx1W42SaynThqD1MnQTbe0Cq9e2SrckXRdj0a3h+u7lA4d5mz5XpaTClapyq0zw5war2AKjZGsYtkgpUVtcpr/6ld/k3sefZRb77wTx3aIU0UYpfT9hFRpep7P6soKf/q//yv+/Mtf5vXVPv1EMTxUZ3K0zgcePMnUSJmpiRKtlR5NV7HkKxYCTXQ9x7+ns7bp3OWo48CUo45c2+maRcV1oY5Y7XCNXAs5yPIO7KFRvNnzRM0GCKju07TpbTJt7haIddCoY+chDpI2EehkLWmzgNqradMamDb9mHSLaXPTX0sT4QxB2l4rR3B7mn5X02kHlEomtaqDLJjErC1MvT4JKRFrRYaUmLUJhGlj2EVAgrQQVhmrOophOUhjt+PaUJoq4jjl0pkms+faLMz1svfSDuc3Rx27bSI2rRJeaxWuiXyFiuHcpRaPPXyUypZW4TBWK/LauXOEbosoiVCmg2cOEaeS+44f4uhIkbpjgiiATikOTzF917upTUxSHZ9Aa40fpgRhQhCnKA2rPY+FRod//of/ku9+9S955bln6HdaPPS+D/LIvbfy0ffezXClQLloorVmyU353nmfS90ssyKDOLucgxs+a5vOXY46ctSR6y2R8an/7vee2O7O+fpRxy5vVZ1d7bRQCCPrtglsMW2W92PaXEvajBWDnoZbn36HxzeibVHHbpKZb0KnXRiYNqO9mjaNzLTZ22TaFGSdHreOSCCsOogInBpKScJQEPkJvbnLTBwdxijaSMsgHUSlX29hsfEU2R22WG/KYoAwQZrcSBPzKEoI/YSLZ5bpd3yWF12SJLvcX/n6wTsPdSRRzFoX0cF3HRKwWIOFO+4qe6zWmmttPueDUnHQKtwuGrjNBN9LBzN527UKV0wOV3jp9OskgYslNYXyKIdnTtLxU+4/XqfiWFimCbIERgXDdDAsmyRV9N2YOMlmltwo5cxyn6fOzfHvnnyOVgyXXnyWCIm88wPcct8DfOHDjzA+VEYaEkOlmDrAj1NeX4pY7CYo1pp/7fwa7EU56shRR663VsZj/83/8EStstVAeOOo4wqtfRCEAKFBZ3MJ0ilkMcHtDdPm2AGYNrNum5su4tsNZw+6FurYcZTSQqsAnWSmTVP1Cay9mzaLO5o2B38tsrwJzBJCKoSQ2QqA5QVw23QuLzF1+3FiYeEHCqEFjnnDZcU2w7z+faRKE/oxbj9g/mKDKBi8jzR4kSJmmy/xdxDqSMKQzmqL1dlFMCSGbVEpGhRNSV1AedAtNmFT86tNT6zSlCiMCD1vvbgrGCLzIglQGKAHpk2R4pQNeqsxnXbW6eNq06ZEoNFacfH8WYTbplKpY1ZGKJTLrPYTHjhWo2AZg2J447V2/azFej9I6fgpf/16m2+e6fD0+Xk6/Q79xhKiWGH58CN0Ju+gMHGE+46OcGy4hEQj0xjSGKkVK/2UM+2Y1TTzDR3MrGKOOiBHHbl+NDLe84v/4xPlkollynXU0VpxmT3bxL8h1DGQvrIt+eYvHo20HVLfJeltmDYP7ce0Wd1I2rzStPmmoo4dtwQwwLjCtCn2Z9pkB9Pmxp+vXfgFQjoYokjSapAGHkhNJA1Sq07XzxqJ2SYYhiCBXTuG7lep0iSJpt3y6HV9+r0ApQWuGxEnWTfJWOl1fPVOQx2p3yPpN1l+/nvMvTHH6nyD7mqbO+6Y4dREiZ+7vYoKFZ6bZkmXZCmTa8+dRiGp79Kev4Tf94mCiDiMmB4pcagoePdQipsKOomkaFvY0kdIRToYS9jdxbRZsBFJzPzcHI3Fy5hxB2fiBJWhGpOTNQwpmKzamFcsSzYMwWIrZK4d8W+eXOblRY9LrYgwUrizL9I9/TyLLzxJahUp33Qfju3wM7dNcrhWxBmYovpeSLsb8eI5l7O9lL7eijBz1JGjjlxvTxm3/+x//8RwzUIrzcJCj6X5Ls0VlzhKSQeow78u1JH92L4t+cZKkM2mzaTfQx+AaVMMTJup0uszFXv5UN0w6rhy+8GPtedfM20K5SGAxKgS7dG0KbYxbab6ymOVZHHGmefBLJVIwy72sEBbBhRqaGHRWe1SKWUnWhqSVGXn+6ALizjOENrifBffjQjjlCTReF5Cp5ew1AxJU72+2uOdhjp04hOvXGLxz/4p3htP0vIKFEplHrjrKB+8d5Jfe/8Ux4Yt4ljT6K8lXW606g66DYLOCnM/+Bt68+fBKlEpF7hzpsa7phw+Mq4YtxQYBtqQ/NQhh/sPlbnU7RKSUpKCyE3pdnYxbRYLdDodVldXCNwudrTC5O33IpwyUgpGSyb1TcWvQBOHIRcaLn/0vWXmuzF91yONXLpzz+HOnWblB18lWrnM1OQkN99xJ//si+/npvEKYyU7m7WJFQvLLt96tkmjE6FTTSPNPBX7UY46ctSR60cv4/7P//YTnU5Ia7VHtxvQ70foJEu/i6IU/4ZQB9fxqcr+wB7OTJvhAZk2+/0U30t25NLXHNU+Po2bi4n1EYo1jiNgYNpUokBq7N20mQxMmypR2APTZro2AJHdounBvIOQEmEInLqNtCI0KUJY9Jc79BYXWJlbYfLYOCmSMEqJY01h12jv61eaaoIgwXMDVpb7RJEijBRRrFhp+Kw0AtrdiCTVG3dV7yDUkb0ZQkh6dJ/7CsGFl4naDcpGyGd/6Rf44s8/zEcePsZE2aBqw2jV5PVB0mWSatLQY3nhDZbPPM3s018l8fqUbYPhguLvPv4gn3pokncfL1NQKUVTMj1c4KGjVW4bNpkqSUwh8DyPaVtTTTQdVxHsZNo0DcbGRnj1lRdxu01UEiKFQWnyGKlhUXEs6o6BM6jyVdBDxi6NjserKxG9fp8RXJJL36bXuIzbWaJUsLntxAne/9738Lt//7OcmhpmslYCIAkjosAnjhXnLvu0PEV/UFTcaPfhLS9BjjoOTDnqyLUfGXc//htPhB2POEpIBnf6YZAS7gl17KY1S9qg2+Y2ps3SxATWPkybvpeSDJI2rz8Ua5+oY5epRnGFadNUHqF5cKZNzVrS5vYXJCFNhCEQZN1do6BI0O7gtrponUWoh1hcuuxhGgLbNhBC0gsUpiHWm5JpfbV9QgNKbW2znqaaOFGsrPr0eh5ePyRVGj9ICfyES5f79Hoxnp9smqJ956COjQNJQfUQeJi1Ov0Lb5BiU7v749x2x0k+8TP3UqkWMNiadPni2SZeq0nz+b/m0kvfZPaNJwl7DY7PHOOW44f5p7/1eR65dZKbp8sUHRPDsikP15g5OcXoUBEniSjbFsP1AqXQZzTxOVQxOL+a0nGTwXLdq02bQmump6Z46cUX6HfbyGKF8sQRzPoYvUgxXTYpmBJTaHQSoUOPsg0qDhgOl7hfv8phJ+FSu0u5VuPnP/w+fvqnP8Z73/ch6pUqo0MVTEMidZagmkQx/TChozXPLYacDfU1V37s+BLkqCNHHbl+rGTc/bFfe0IlCpUtcSf2YpJY7QN1XPMpgRThFNAa4naTsLGCv8+kzVLJpLmNaXPHQzhA1LGrBkmbbE7aPADTpk5SBFlRsdNSzExGNgZjBLQJhoWOQ5SwCJWFF0kiJej1I6oli6YHUQqpAtsShLEiGbw5DCmy2QVE1j8iVQiR/d4LEnw/4eJcj34vIgyzGS7PjWm1Iy4vZquH4kFb93ca6tgqAUSgY5Aae/oUHY7TjQo4pSonj45ydLIOm5IuISF12zz3p/8C9+wPaa9cxCw73H/fPXz8wz/FP/n1v8ex6XHGR6poNKZTpFSvUapXsR0bwzCQpkFx2GF4qIRMYiI3wJaKU4dsXrocs9gIAc2Jo8Mc3mzaNM3sXWaYzHZ9oiTFqgxjFocIEsmlZshNIw6ltUhOleKUHGbGihRW36CUepRLBSbGR/nCR97Hg7ed4qYTp7AKZQqOjW3KzL8hBGECq92Ar77R59sXfM67KcGV/qDrehly1JGjjlw/jjLufvzXn8g+nYp07Q74wFDHlRpMoQ72I22HxHNJ+11UFOAOkjaNPZo2K1WT1eWQ9Brt0Q8adewmIQy4ImlT78O0Obg5W2+Png6Kih0vykKCyJIykRIhQDpFpG2ikWgh0UqRBBFLix2K9QpRKkjiFNeL8WNFz08pOQZBqAjChMsrPoYhSXU2O9HphCwse7x+poVAE8YZ6mg3PVYaAa12QJKodyjq2E4iW26rXKTUYFhgFQlcQbcfMTlR48ihGvWKk5kmtU/JiUmaZ7nw0ss0L19mrD7MRz//Wb74dz7DJ3/mQxwaH6boWNnrJW0My8YwzPUUSsOQmI6FNAWWY1GtlYl7bUZLUClIpBScWYxZbYeMb2faLBURps1Co8Vqq0vU7xGXplnpaXpujNZwbKSAZZlgWUjTxDAl9ZER4jDm8PFT/NR7HmOkUmSkUsAyDUq1OvVamUrZQQhBsxez3A75sx+s8IPLHufbMckNVhM56shRR64fbxn3fOLXn7iut/cNoY4dd4G+wrRpVuuEC1nSpk6zpIL6AZg29bZLTN881HEtCbOGChdhkLSZ7tG0aa4nbYbrpk1PZReanceWncDsgiw3Qq20RsUKFWd3tWudJRGSuTNN4kihDIHWsNr06fdjzlzsE8UKIbPtz59rcXm+x8Kit+7N0KliealHz43x3/GoYxdJC9I+hgUIQRhp3Fgyv+ryyF2HqZYdbFsCMYbuU6k69LseQWLxyKd+gVtuuYt3P3o/5UoRSfY6REqgdNaAy40Ury72afkxQ0UL05CkCITQGNKhPlwn7jYoW9k392wzYXYl4vJij3fdd5jaNqbNrhuw2nFxKRG6Hr45Qi+COI45VLcYqxXQQoLQGIaJaRcZOnSE4emjFKs1LCNrdFYZGaNYLOI4FmGiubjq88L5Dv/5qUWa/ZiWlxDcwOuZo44cdeR6e2hQVOyifaGOjV1sv2lWYphDowQD06YQHFh79DXTZvZhfOtmJ64eooE6QNOmaRnEYZKhqkThCHDT3aeQt413xkBoUKnOZj0SRRwqOis+kR/T70UUShbN5T6rS31WVz0SMv9KGidcOLtCq+HRbgdoIUkTRRgm9Lo+aTwoUNaf+52KOnbSpuU0OkDaglSJrK38mmnygaNUKgW00BgqomDBkWNHsA/diVUeoTo8gmlIRodK2Eb2aVEKVnoRl1sB3zy7yqWWTyeIqRctpG3RjCVSGFiGgTEYc9DrUHag2VcsdhL6geb8pRaPPpy1R98wbUrGRkY4vdDDi2Li1EBr6IeKlVaXqiOZHC4iLQsvEUgMbMvGdIpZuJ0QCNvBKpQxTCvDakHC999o8/TZNi9e6NJxY4JEESNw0+t7TXLUkaOOXG8f7VxU7Bt1ZNp+qu5q06YQmWkz6nYoHKRpU+sbaji2WfsuJtj4or/StGkoj2gfpk27ZNNfdTfaowsIt7lI7xyfvnZC5abfSVSiSNPMhIlWtBp9Ai/C7YWkCoTWREFMc6lLFKaEgyfVKiVNU9IoQb1jV3XcqIxB2TxIunQM3FaC301RvkYguO3mMWzbRqgEI40whWRkpEg/KmJZFjefGKNUMDCkIIpSXlvw+O75Fn/23CItLyZNIvpun1Z7lcAq4ZsF+gkMW+BYVuZjcPuI2GdyyOSHF0OavYQoyW79r0raRDA5NsxLF5r4kSZhBDeK6fo+C22f44dH6SvBZVehtKRoSiKlaQUKIQWGzGbC2l7CSjfi/3t6mXNLHgvtkDDVuCl0IlhNIL1GeFqOOnLUkevtp+2LigNDHdd8eiDFcApoIDlQ02ZIEqnrbji2ZeyDH/ud7rxq+ytMm6bqE+3RtCkQFKoOveU+ejAjEOkN0+b1fQeKTf/e/E92IU91CkqTpoMZB6VIYkUSZo3c1KYrntZ6C3L6iUMd2+8mKxjXki5JcQoGvcUs6VKzlnRZQ0kbK/EwBZhWgfpQjePHD1EoZBf9npvw3RcbPPVam6+fb7LUi4iiGKIuL33vLzlz7jSHZo5jOkViJYliRd2W2LZFEoXEvodKY2bGbJ46F7DQCBHbmTaNARozSlzq1Ei1RawgQZNYDmdXQ4ZGaiTSoOslKK14vRWz6CXUCwZRCm8sezx7scc3XmzQdmPaXkKsYDlIaYQp7QSSXc5pjjpy1JHr7autRcWbijqu1OYSQWMMTJtJv0u6qT36vkybS8G6afN6l5jut6DYtphYG+I2ps39Jm0KwOsEiE2mzWu1Dr++8W+/k2uZXH8yUce2uxpIbG1PPvhtsG3SZQFLmFjFOqVKDdsyMQSkieJr31vi9MU+s4s+YarwIFtJMXsGvz1H0G+xvDDP6JFb6AQGbpAyXJTUiyZ2sYTbamDoZL13yNmlZN20eXiqRm2zadMxQTgsthXNvsKUJr5hEmlJLE3iVJMowRsLLq8ueghTEqSK+W7MM+c6fPXVNk9d6BJHKUmqCVLNxV5MN1J4ye7vjRx15Kgj19tbWVHxpqKO3ZTdGetNpk1/YWvS5v5Mm9Btx+uZDrt94R8k6riWNidtwv5Nm+GaaXPNW7HH49hLaNiactSxdbP1iYq1n9dsT17AcWyE4WDIbLUEWqGiiLDnUbQFz53t40eKNoIAA4WJtsrErfMkQYc4aROEMaWhI8TapGwJ6gUDx5A45Qr9xgolMwUpmG3EXBqYNh/ezrTpSDp+FqPuRQJbGLgC/Dil7ysWmiHnFvsst0NqZYt+oPjWSyu8tuByvhESxAqlNW6kmHcTIgXxLheIHHXkqCPXO0PGPY9/6Ym3BnXssO2mRxqwhkbxNyVt7s+0CW4vWTdtbpfY96ahjp1GeEXSplhrj75f06a7YdrsX8O0uZ/xb7dtjjo2HiuVghYoITa9BgJHZAWx1gFy1/bkEoMNp4sKQgyhcb0YL9I82Y7pakg2fQpEsU7afonQW0WphPrwNMXqON1QcaRuUbQzTwZA4HUoFzTNvmapndAL9PrzVysOYs20aWjGahavXw4HmSTZcUQYhAm4QUKaKrTWLDUDzi/36XkJvSABIVAagljhJYpY6R2/MHPUkaOOXO8sGXd/8jeeePNRx/bbZlqLlt6UtLnJtLnvpM1ga9LmVQ3H3iTUsavWTJtxZtqUB23aZC1p800a/9r2OepkqFrWAAAgAElEQVTYslkcBiR+gNfrIiwLYRgUTKghGNKSEQSRjkgG7cn7zYTgyvbka7MFDFJMhUFjuU9jJeDMnMtipGmpjefWwiCLI9Ok3YuEvVUc26EyNIldrNAJFceHbIqOhRAQ+i4q8hmrSZ45F9LoJUSDpM07B6bNtaRPoTWTIzYvXfIJI4VAECEGPTqyzJRUaaJUE8UpqdLZoNXaqp/di80cdeSoI9c7T8bdj3/pib1suNepup2nqjPTpnQKQJa0GQ1Mm/tpj14qmTRXwi1Jmyn7vzvYKypYvxhJE61CdOohdIyZHoBpcykzbQog1Lsnbeao4+BQRxoFeKvzuI0VmvOLhP0+I6N1hksWj00KTpUEZiCwtIFpKUIdE+msPXl/u/bkgEWWuZImCauNkNOvt0iDlI6CvoZw0wdQGAW0Tkm7l/AXX6HfmGP65APYpSrD9RK2ZTDkSCzLJgoC+r0+iyt9RquSF2djlloRUmpOHRtm5lBm2jQHSZ9r77JLjSiLYSdrz7511u/GzmGOOnLUkeudK+Pua+VUXKGDQR1X7mOraVPaDunAtKkOyLS5shSQxNntu2J/RcFejn+9mBDZAyEMhFlChyugB6ZNIDH2YdoUmWlT6qzzZ6KuRj456jg41JFEHrHXZeXl79J8/Sn6K0toYXF4YojpiuQfvGuIO0ZgsghBJBip2Nx1uExbefgqJU2zBafbticHLFJMUxAnikYjZLUTk6Sa+ZgrlkkrMB2Uu4zqLxH1PVbnLvHgT32A+ugQpiGpWIKSZWA5BS5cWCAJQ9w4JUUw7yq6QcjEaJEjExtJm6ZKKNtZ8XWpEbPYTwjJ2rPvvhh0l3OXo44cdeR6R+u6i4qDQR27faDWljNumDaDTaZN2J9pE6Dbykybeykq9lVMQHbyBr6VzfsRVg0dLCH32R593bTZC0m8GPuKpM0cdRws6gi7KwSNeS5944/pz5/DbyxQNlMefOAuPvKu43zp8TuYqJhUDUWxYDJ9qMbthx1OTdicGqvww/kWWieMIvDclHZ3h/bkaBxbstKNONOMWXQVFtBj83tYI6SJLAzTu/AKq7NdWpclEsnt99yOU7AZdySOmW1RqVZ449IS3STh5dCgF6T03ZiFps/D985QrTgYpkQAQRATpprvzgXMeim9PX4p5qgjRx25fjJ0XUXFwaOO69tyzbQZNBoAVGf2btoUQL+X4HvJVd6Ka2nfqEPsMFUqjA2IsSlpcz+mzSRISLxBe/TBapB4j+PfOIYcdawpCT36C2/QOvMUc3/7ZcLOMiULDk1M8Iuff5zP/fQDfPiRmxkfLuHYJlJIxqYnGRurMlSAoiWRpqBgCPxGD1tqolDj+op4i2kzQ1+GVlg6olKSvDwX4IeaZLBm2GetWEwRaYjqzaKUyeXn52jONykP1bntjlO877ZJSqbAkhpDSKIoZsVP+Y+zLl0FoZJoDKqTh1kKbR68ZZiiY7DUi1hohvxv321wsRPTDNUNvwY56shRR66fLO1aVLw5qGM3XZm0qdBaEDX3n7RpDpI2gytMm9c6hoNAHRs/t5G0s7+Le5DuP2nTKWemzTRKUWmWJno9ps1tjyFHHetK44A06LL0/F+z8uI3aL3xFLHX4cjUODefnOF//b3f5r0P3cudtx7PZhmEwLYLlGp1TMvCsMzMvElCteLgmAarLY9O36dUNFhqJrjewOy4bto0s6RNlSDI2qO/esknCge+GQYFowbdPY2ImqioCwiKlVGGjx7nPe++l6OjFYaLJmhB1Osj/ZiuH3OmHbAYKOxikeLYKYzqMHalTJQooiTm6fNd/vj7qyz1E1r+jZXWOerIUUeun0xtW1S8+ajjGvvQBpAg7QKg102b3j5Mm4aE4g6mze2O4c1AHTuOUlhwQKZNEDhVm/aiSxJnXz6BZr2b5XUdR446ts5O+B2izjJLT36Z/uVX6S2cpVJ0eOC+e/jEz3yIf/Tbv8HM4WkmxkdACDRm1mzLtBAy6+aKEEgpEIZASE2xYNF1Q1a6Ad0oplI2WF6NaV5p2hwEUtnm2moQuLwSI9Ls9YmAhBQhHeLOWVTsErSXmb7jXo6961F6icH9x4YpOyYGoKKYxPVACy50UpY8i0SOYlom0inhRopGx+O12S7PX+jR8tZWh9zIuctRR446cv2k6qqi4q1HHVdst2XDgWnT75P0Nkybhx7cm2kTAZValrSZ7NAe/U1DHbtpk2lTqxCtMoPp3kyba9mhgm47IEo1gbq+oiJHHVs302lM4q4St86z+OxfEPcaWCJleKjOFz/3GT73mU/xiY99hMnxcQqOnbW0Tw2UlkghCZOUuabH2eU+1aJFwTJBZksuLQNGakVenWsSJDHx4Iu711W0B6bNLOly0B6dmFIhw3irrZi0mzAMtIFESCK/Q9hZ5exf/xm9hYtURw8xdewkt8wcol60OD5eQUpBmira/YhvnPU505QsBhYKmX1O0OgkwA8iWm60PqYbOnc56jgw5agj19tR60XFW486rt7LxgV9O9Pm7L5Nm2sE4cqkzbWv4Tcddey2Hw1sMm2iITX3YtpMUQjCWDG35NMMFJG6RgfTwc8cdWwdVdy+RNI6S9i8gApdCpbBoclJfvWX/wGPvftd3HPnbdi2jWXIrJbUoLSkF8Y0+z7fe2ORJ881OLPUJ0k10yMlDMNAaZBaIRRMjZR5+eIq8eB93fcUrU2mzSzp0hyYNrOky9RXBN0EHSqGZcJcZ57uylkar3yb/tIswutRIOLvfuFzfOCeo9x1ZBjblKRxShynfPv1Nk9eDjjTTLJlq2T35VmEt75mFPu25y5HHTnqyJULMO76xK8/8aNFHdfaOvt/1tDIRtIm+zNtIrKkTX+QtJmwt9Ug6wdwA6hj231pDsy02XcTup2Q519q0u7HBNfstZAdTY46to5MKx9IiRrnSMMAIsHxmeM8/umfpTo8zK3HDmObBqWCjSkkKI3QsNgLmFtt8a/+5tv88MIc3cjGCzVplDBWLVCvFVDCQKYJtikGX8Ywu9IBqQlC8IPMtLm1PbnAEArbFgzXTZbnPQyVMF1bxQnP8/rpZ4iigIlamSPT0/zO7/xjbj42xb03HcaxDLTSeH2PzkoHR8Iz8yFeorMVQns5/+vnLkcdOerIlWtDxl2P31hOBRwk6thtyytNm9nt0EGYNtfao3teSnydps0t4177sRfUsXk/V254lWnTJ7bGiJU1mJ7e2bQZxYrVVY/Z2S4/fGEF140J451LpRx17LZZjBACHXukgcfi82/QutBl5vAMR0/OMDU5ikBwYnIYxzKRUuKFKa8uenz/XJM//vYPWGw2WG23SZMYGUk67ZCSbTA6VKRUMEEaGCqh5JgIIVho9mn3A0pFSbOV4l6VtGkhhMZAIQWMj9mMMMuRmktR9lnp+UxOjPORRx/hl/7eLzExdZixsTGkFBQdCwSEXkgURCz3Y0xD8OxKTKz3hvxy1JGjjly5ttMNFxUHjzqupc1Jm5lpMxyYNsf3adpsXIdpc+uoOTjUsdMo102bPkLHWHhE5gR+JJGGZGykRK2ycbGJYoUfJJw+3eDMuSazs138YG0VwQ7HkKOOa0iighWUt0z7xa/QuNCiOesS+BEf+NCD3HL8EPecOIRtmmiticKUJ083+MorTb51tkPbl/RWz9HrLDP3xqvYsoRBCdeLuOfmCSpFC9sQmfFSp5Rsi64Xstrx8aOYctlgpZHQbEdsaU+OgYXCNGwKloljKYy0y1C1womTN/Povbfz2H23MzVWxyjUMAyTkXpWhAohiLTglcs9nlsM+csLPmF6Ywbe9XOXo44cdeTKtYOuu6h4a1DHldqatClsh9Trrydt9vZp2qzWNiVtDka23egOHHXspoFpk7iBEDHoFCFNtDOEWa5SrxeolCxsU9B3Y7qdkKeevszSUp9WK9ixmNh47hx1XDmuKwtRrWJUbxb35f8THSyRBJpydYwPf/YTnLrjZh695xi1ggmA3494/cV5ek2P71/2aPV6NC+9wurFl7lw5ml6/Saj1SGmJyb58EOnmB4pMVorIBjMnCmFJWGsXuL1uQZhkpCkGiGgOzBtjm82bWJhYWKYNoZpgNaMHruTmZnjTAyVsS0D03Iol0uMDtexDEmUaLpezHdebfDUhT7fngtohYob9GHmqIMcdeTKdS1ds6h4a1DHbhJoBGgFxtWmTcHBmza3jHvtx0Gjjl0lwKyioxWkEEirTHnqFHa5QqQkwxWDbtvn8uUuP3xhEbcf4Qc7z7PkqGPrZlmqqlgvIoUAU4AlQAiNFoLUb5C2zxC25jEMwUe/8Cvc++hDnLrzJmxTMuQIBIrlhQ6dps/Kahs7aPPNr/07Zp/8T6ycfopYJxw+PMnh8Rr/5Jc+y+0nxpkaq4BeWx46OB6lEBqmRiq8dGGFRCVoBK6ntiRtbmlPDhiWg1Mbw7ALGHYRzALSMCmUaxRLZQxD0vETVrsR/893L3Nmvsdcc7Ai6AYK4xx15KgjV67r1a5FxVuPOrZ5/i0Xv+yRPTSCP3dwps3tkjbfCtSx8xCzLw5hltBGDbN8HMMuYTgOGs3CXJuVxS6X5zo56ri+3QCg0oQ0jnGbq9mkk2WjgaoJRWBGgoXGAzAd4vYKzYtNGrMmndU2H/j0R6nVKxwqCaq2wpDgFEzOvHGRuYVZ/uTf/xELZ5+jef4lqgWbRx5+mM989KP83j/8FSbH6tQrJZJU0/firJAxBks5VYJliPU37exqFyk1cQi+rwiTzLSZtScfJG0CUgiENFAYxAp6gQbTpuAUCBLNbNPn1bk+X39xla4fs9KJUJpBiua1X5McdeSoI1euG9W2RcWPBnVsM4b1D/T2ps24udEevbxP0+bm9ujJ2gG82ahjt22lhTJKCHM4M3CmCmkahK0Osevj9sIcdVzfrgCIex3CfofVs2fxOh20ENSqRW4aMbljWHMoFdgplCxBpGNE3KBkGsz+8BKdRh+zXKdUKfGzj97GRNnEkYIkieg052m2LvIH/+ZfMLs4j9AxYyMj/PIv/hK/+Plf4DMf/SiTY2PYlkWSKpZWPFwvC043DANMQbxm2rQz0+Zy0yXq+YwWJcutlJ6XorQGKbj9pivao6PRqaLpJkQpuJHGjxU/ONfh+2c6nJ7v4UUpbqTwlWY2AF8N3uO7nrscdeSoI1euG9eWouJHjzq2m53YrA3TpkATdTaSNvdj2ixtNm2mGoS+od4gVx3DPi9GawhGCGN91YcA0iAAlaLSfFXHdewGyDqJuksXaZ9/gaUXvoNKJeVikSEbPvXgBO+fEdw9qimZoLEYq5qcHHVxew1iv8PwoXE6vomePMHRdz3MHYeHOFK3CeOY+UuvsTz3GvOzr+O6PXqR5ujMMf6X3/ufeP/73s89d9+DY9sINCqJ8b0AP1SsNAJWlj38OEXZJtLOlgmbOqVUsIi8CLfrkwYxIxWD+XbCqhuBpTl5ZJjpiUF7dJ0iVIrWCqVhvh0x14748jNLXGz4LHYivFgTxIpmmDLrKiKldzVn5qgjRx25cu1H5tqDHz/UcaXWSgQTSLBGD1GcmiHtdYhdl1f/5E958Lf+W+JKGT+FUgrFXSMdDBAWaIVlS269o8ZzTzeJohRDZ+XLte7mrjqGA7iY7rSLtUJtp+d4x6COK363h90AWTGRBi4rL32b/vxZgnYDlWpOHprk+OESv/mFRzhUdyjFXbRSlIsFjkw5nJou4oZlVlvLGMkQM4VhxiZu5XVrkvOuxTOzPWqOptNeJXQj0tYy9WqR+++9n2O32Xz4fR+iXq8xNT4OgJQZdkmiEFNqGqstzrzR51/+4UvUhwv8z7//QYqVGsq0UKQUS5KH7p5hbq4BUULNifFvcvjubMjrFxo889oSh6fqTI2WcIWkSoofp5xeCvjBRZdvnO4Qp4rhgoEloRsqvDjFizXJtWa21lDHXj/DOepYV8UxqDoGn7h7lIeO1bhlokhl14yZXLneGTLu3GWm4np1sKhjN22ftBlvStoc2odpE6DbjlCD9ui7fclfdQz7QR038Dw7P3eOOtYU9RoErUUufv3f0r30Et7qLLVyhQfvvZ2PPnYvv/WLH+HweI2xWgHDNCiWa4xNjDI1XqZsCyxDMjM2RLoSMmaaVEo1mkaJnjBp+DFV6aHShF6vTxBCNy5j1I9x8y33MH1oglqlhBCCUtHM+n0I6LkeL515jb995kl+//ef5expFy/IPBkP3TdB2TKRcmBLFoJDozXc1QY1M8U2JKuBoCVKtNICD901RalgEMWKlpfwlRea/NVrbX5woUfbT4hVhkB6kcKNNV6sdr37zlFHjjpy5TooreOPHz/UcV1bY2xj2iztoz16r5/gu5lp83qSBg8KdexFOerYuplKArylC/TOP8/iD/6cqLtKUcaMj4zw97/4c/zCZx/n4x/8KcZH6tiWwDBNiqUqdrGEXShimGY2c+U42IUStjRorbpopVk1SoiSg+VIWqGm0GmwONfm//0PLyKro5RGD6ERHBmvUykVqVYKGFLiRSktN+Y/fPdZ/uLrf8W3vv8d3GgRFc1QHqrzsS/cwdHJMkMFAyEkaIVpm5iWiSUFfselZBkY9QmSkcPI4THme4qjwwZNN+aPvjHPD+dczq4E642/tIZ00O/lmr6bHHUcmHLUkSsXmD+eqGM3CcBEk4JTxKzWKd9yN72XnqJ9/jwrL75EeWKCyqEJGhEcKmQ9nHbenQTDhjSkNmwzNu7guwmum2Cxc2HxZqKO69k2Rx2bHquENPLoX3yOYOkMzbOvEPs9JidGmZoY5Xd+69eYmTnMqZkjCCEGpkcby8yMkVE6mDYXEu2UMdFUbEF5dARd7/LcAsTCwjQkQb/P7OnTnDt3hue/cZZUmVSGhpg6PMmttx+hVi5SrxQQQtB1Iy53Av7wOwssrBicu7BIFPkILTl6R4vPf+nTOGNl+qnGTzRFU4DhACnlisnk4Qn6DZdDscGEsmk2qsz6gvmmz//9XZ/Fpocfpbjh1cuJd8MYOerIUUeuXG+WzGv/yVa9dahj5+2zbW0gxKwOUZiaIVy4RDB/kYtf+zrjd9+FVS5jVMt0Yxi2s7Uj20tk3gqRYFkwc7zC6kpIHCnCWGGRtZfe8kWao44fG9SBjtFpiHvmW4TNOcLWEqVqkaM3H+f+++7msz/7MSbHhhgdrpMohRAGiQIhBIaGppfQ8hKEKZioWBQtST9WNFs+l7rwol/BNxL8JEV1+zSe/Pe0nv8m3dkV2u4Rxo/dTrfZ5yPvvZ3JsRr1kkOaahotl9lFl//00goL7Zj5locx9iCrP3yDzryHdXKOfnuB+h1TtAPFqeG1ylegkQg0QyMjHD8JrYUWvpvyWD3kT3qCph/TaStSdePzXDnqOHjUMVW3+YePHWaqbjNVsw9u57lyvQ11Q0XFjw51ZNq4hG41bdqjhyhMzZBsMm0+tA/T5m131HnuqcZ6X5A102aOOrb/7+t9YnXQaZgqRiRdtL9CYXgEb/kcRqHKxIkTfPjRB/jAT91HvVahOvA42KYk1RqVghcmvLYccHo14HuzLqNlky8+MEbZNnjmXJuVJZdOO8AxBAiFIKbXOk/gdfAvvAyJwfFb7+H9n3yYX/3NT1MYrlApOYAm8AIuXGpz5mKHUaWI20vo7hxLP/jXBO0eXsuhtbBE0lhmTITcNTEycApBqsFNBAVDULAMRg6PMLvs0koCvrYQZX+g9A31qlk/d2uoY4/vgxx1bKjiGNwyUeShYzU+cfcoVcfIZydyva00mLA8cF1nUfGjQh0b+7h6+7WV+tkS0/ItdxMszBI1lnCXl7n4ta9z06c+iRwUFqbMEhN3lGGDjrEsTbFsMnO8wrnTXVSskHo9suIAx3/92+aoY/vfCyEhdZGGQIc+dnmY2KgTFMaInBFiJSnaFgJB2TYQQuB6CU0v4a9fbfPKos98oAhSaHVd/vzZCDfUuDFoN6aOwkoVRy3N814DyiXK00dwj99FK6ghj9zKo59+lPJojVLZIdSaUhJiGwrHBE3KUnMJq3Oe+W//AUlvnkqxTP2mm/ns3/k073ngFu44PETREiRxShDDcgIpgpol8NOU88s+z/om//l8jJ9ovBvM1s5RR446cuVaUzS4GxEyswWsJUAdpLas/rhSPz6o47qeCWtohOCATZtBP4sCv9E7wxsb/w7b56hjq3di0+/F4IdA4l96gf5rT9F77XmM2iSl8SPEqeLDD51kaqRKveQghWClEzLXCPijb87z4oLP+WZI7AfEXpfF2QVOv3aeRDgI08IyFOM6wokVIk7ROgV6jJQEw6UyS+YM/eI0C82An37kJOMlmyIaqVIMEkq25hvPv8KzF85y+tJZIr/DiJNwePowv/3b/5jHPvBe7rznVoSQpGFErxuy0gqIDYNuAqtewjdeafDVV5r87YUenUgR3+ApzFHHwaOOfFVHrrerOqGmEyheXg5xLEnJlniJJos9EruvlLwB7ThT8eODOnZTZtrMZivWTJt30XvpaVoHYNocHXfw+plp0wECrv+YctRxcMVEmqREvo9pmshiAQBbaqTSOEGLtLHI4nPfIvRcKjO3M10T/Orn3kN5qEq1aCNRuJ7P8+fa/F//ZZF+mOKiKBBT77xBr9vlclORaIMjE0OMjZq8bzLESODsRRvbthgZquC580z3z9K9RTAXD3E5EgyNjfLK+S431UsYlgQ0KvZJ22d4302Kv3yuiVOuc8v9j3Kipnj3fe+nPjTK1OQ4OlUYJoRhQqvpkShNI1Q0tOQ/PrtCsx+x2ov2du5y1HFgylFHrrez+qHiTCNgth2z6mssU5Bq8BKLlxsxnVDx8RNFRguSSGcxDPt5d29TVPw4oo5ryUYTYlTqOFNHCeZnCRYucmGfps2jxys0ljdMmyYQX2N8Oeo4ONSh4hCVxLTnlwk6Ls5wnerUIaZGStRtcPoL+I7CGBlhZWyGbqtHM1B87COPMDJUZrheJNCKUtTGiPq0Wx3QCZYKOWJF1Fd/gO43KPkJQfEI49OTvPtEkQ/crDF1io4lxlFBaXiU8VEL9/Iyq6+XKEqXX3nA5+nqe0hLY6xGkoVuzKlRBwyTpL9A0YyZrBr81+85gaccbp8aYrhSJVZFTNvBa7c5NOJgSoGMBakUnF4JON3q8b2FAD9WeNus6rjmuctRR446cuUC+mFKL0z5i5ebPDPr0gk1t05VqToG8+2IRgo+JqYhKJqS984UiMluvMdtgbPHmYuNRM23Deq4cru1Bh1ZLrc9MoEzPUPcbxO7Lq/8yZ/yrv0kbd5Z57knM9OmSTYDsV3SZo46DhZ1JH6XpN+g89qTuPEQYVLAVAm33jHN/SeKPDRlcPrSEE+/1oPJI9TvfR/zHUln5Cj/+q9e4YHbZpCArWNIAwoy4AO32Fxe6WHEPietZZYMk6UURqoVPvTQvdx083FuOTyMI1NWFxcQQjJz6wmEaVMpWwSjD6Pas4wMrXKsVKOatHmRKZb6MbO9mPGKRc0SmENHiVcDpidKfObw3fS6XWq2JkklrbBAsVJmYmIEUwiCMKUfab5zyeOZOZcL3Rgvzld17GUf+aqOXLkyLXYj5jsRf/idy8z3Ehb6CQUzKxRMKbjY9BCmxejkMMKQ/BcvAKGYHC9hCigbMGhNdMMy7nz81594e6COnZ97DbDrQdKmVakTLFwidvsHkrQpEHTaEWxqj775eHPUcXABVqDRyidpz9F57ivEvWUEBkPDIzz+oTt47O4J3neyylTNxjI1zXYbtzFHpVzgkh7BSy2KpQrVgsO7jo5QsAyESkCnmJbDbVMFauECVSuhUi7jlKv8zKd/jrtuO8WpmTEKtoEwTJxijdrYYZxCAdsxs6RLaTA0MY0RzFOWPqZp0ZXDyOoovoKjdQvHNLAME+lUMeqHKZaqFGwLrRSF2hAjY8PUh+pYlkXLTVhoB/wf31jgzKLPmXZEpG7svZAHWOUBVrlyrckPU9pewt+82ODPX1jltWWfpptgS4GZgtEPaXgxnSBGaI2lUvwg4fJyD9sxqZYtLMtg2VMcciT2HixDxh0f/9ITexn8jw51XFlMbL4gZT8FGmt4FH/uHFGzCezftOn1EkI32Vheuo/xbx7v2x51HFBb8o1feggCUq9B1Jon6vQwgM999iM8dN8xbj0+hmNKiiYMlWyifotWu0EQ+ow4mrh8GKc8zFC5zInxMpP1AhgWSAPTcjANiWVKhGEzfuQ49zz8GPWRUSq1WuapEQJpFrAKZaRhooQk0QKFwDBspJQIIYndFgVDQ3mY0KwSCZMVN+FY3cpWnFgFhLQQ0sSwHKxCGatQxrSLRClcavi8dKnHnz+1zGI7pDFIcQ2v8/XYgjr2qBx1bChvS57r7a4gSLjcCvm3X5vl+Qs9zqz4RMCYYzBmScYSjUw1VUOggJtMxVia0HZjGr6i0Qk5cqhMN4JEZavXxwryhg2cxp2P33hR8aNDHWsP9DZtyTf3BTHXC4Zo0B69sN/26EFK4CbEcQZcrgzEuqHjyFHHDputwSUfaZnEXozfEyTJ/8/ee8ZalmX3fb+99wn33PjefbnqVeiKXVVdHWc6cWZ6okhOHpEGDYqgLAnieAxbkAAbIuAvggHZBiwbBvTBMA3INGzTEmFJJjUMI2k4w+F093RO1d2Vw8vx5pPP3tsf7qs0Haq6ukcdcP9ANe59jRPuufecs876rfVfk3Q7CV/6/HHq9YBq4FL1JLWyYrJZ4+ylBZIkQWOplANUbYawgMmqx1yjRKXkgHTBapTr4QV1quOzjE3vxg/KOM4OBRRyB39J0rygH6fERhBbSW4EvgTl+EMDrSyGIqVGwrJp0k5hsTVAG8OesRIISVIM53goJZHKJdWCflrws/Mdnr/Q4fWlHnGmaUfDzo4+t2sNP0Ido66OkUYaylpL2E/Z3Oxz+twmLy7FrPcKhEsAPMQAACAASURBVBDM1V2OTHnsrSmyuKBZUcw0XH7lcIVynNPEElvLwAgSa1ndjpmbrlKIYY3AmC+pvasXw1v1noKKjwbquFWqdBhYSN9HCMg722StLcKd8ejuHY5HD8oO25sJaWYozJ19lhHquNViVwO5DEGGUw7orhbEoUEIB+U6PHz/PmrVEp4CZQ3CWmYmmrxy7iJJHCKVS+FWQZVpD3Lu3VOnUnIQjsQgEdLD8QJcP0BIRWEsubZIMRz8FWWGMM44dWGBM1dWUX6AdFy0kBQWPAmO62PynCyOGUQONtS80FZsRTlZYWhWfTq54Eovp+JKPCXYGuSsdjP++KV1Lq3HrHYSktwQFobQWFr50NDq3X5TI9QxQh0jjXRVV5P1xhg2Vrt0NvukaUEntazGhr7j0qwo5iqKRklxaHeFu+fL/Npnp2kGDnmYEYc5DVewmlsibSgsWATNRokYQeAIGp7Efw8x9m0FFR9N1PF2ujFEsCjPRychxaCLzVL6i8vMPvQgqlIBhjcI990O1s6AJ4wBC5Wqy/p6TJ4PL+y3Oxp9hDrefpFrX+tNkmBSMDGYAr8RMGhldDPwGjUO75tgz2wdIyWOLnCVuvahFjY7WCtwyrMox0dKxXI75djeOtZ1GFiFIyTWQlpY+rkmLUDvPPm3BgUrnZQ/eu4SGxtbdHs9Nje3qDQn6QufrQwqDlRchfKrrK8mtDslOoOAXFvWC0Er1mwNIEWSWNgICzqDnKev9Pl/XtoiinOitCA3sBFqthJDJ7fod/l+R6jjg0UdcD078d3P7uahvcManVF2YqSPi7qpJdEWbTWusChHsLoZsjjQXOgbzieCBIFQirvGPB45PMZ9+xuc3F+jXpZ4nqQfFgySAqst455gIbEMMo0FKrUSQeARa8t8WRIo8e52DDfolkHFRxN1vJuufnJ7vWhzZYF8cEPR5oH3ULQpJOhip2/XkuaWbjcnvs39GaGOmxczRYHleoBy1dHN5Rq8AuGADZHKYoVEBD6Z8ehFBZNjZeZn6lQrHlooXF1QKXkI4bDWM7R1E0cKtApItSBEMrCSqYkAlKAfF0Sp4fW1hI1+QTWQpLnh7HrM8wsD/sULWyz3NLq3Rtje4vknf8TFpRXKe46QOyVqDlQdkAicoMHKYkqSGLYyWIkFax3N1iCjUfPItOW1hR4/Pd/lmaUBW1GB0RZrYLGX08sMUfHuwebHHnUAo+zESCN9MIoyzZVuwbmu4anVjF0VMRxWkWleWRjw55djTnU1iYHJusfeiYD/6JFpjs5UmGn4Q1fhpKAXW8JCMGgn5NoQact2bhloyHJD2XeYHfOZCBxmS5K6+wEEFR8P1PFOGkYhdueKerVoM72Tok0BSEWWZnR7GRvtjM1e/q5Pltc/wwh1XJUucuLugMFWCysFwnEo+4qSkjQEVO0wuCh2tmulDyZEusOuizQ1DDoFy8t9Hj65m1rNx/PU0KzdaCpBiV7msh1q4lwgjaUtK7QyS4FgrOywPSh49nyfCxspqbbkhSXaqXH44Zk2z13u0080YW+Tra1NfvwH/zOvPfckm5vr7L/7Hg7v30vNgUnfoJQkL4bTRS9vJfysA+3UkmqwVrDdTUlzzdnlPu1o2CZqECSpIc40cWHJbzmW/H1mCEbZiWsaFWKO9HFWlGq2ooJ//co2P1uKudAz5FayEmpmbcaVU+usbsWcaudsaUG55PBLh8f5Tx6bYfeYT9mT6MKy3k7Z7GZ0B4bCWCIhWdhOeKajaWnILfiOZDZQPLy3zkOTPhV3iIadd21uuK63mF99pFDHHe6HtVfnghiEH+BUG1SPnKR36nk6ly6x8dopqtPT1GamaWcw/S5Om1luyVLNhQsha+sDWp2M/F3mL3xiUMfP/e0OVgOAyRN0ntJfvESvk5GlGmcj4L5HT7J73GN3VZL2NEtbGS5D11KNxAoX6zRAt/ArlkrNIW8beu2Mf/r7z/Hf/e4XqVY8cuXgmILAtzx+bIYzKyFRZujlLmVjSKXi0kqbZzzN4lpBrIc5p18+OYZF01lPeWmxz1JsiOMEx6Z0zv+M/pWX6Ax6dNrbTHW3CRfPccD9FBNBCYlEFwXGGCJjeSEWbOaGZMfuNs01LW1phRlam2FgpgTkGg2Et3j0/thnJz6A7NzIc2KkkYbq9DM2dzwnzrQzuqnlvmOzJAhSDX+y2md/P8XLCuZKkrZbwq2WaReKSqBwFIRpwfpGRJJpssKQaVjqZZxZT3iqrYkKcF3FdCB54lCDe3ZVOBxYKgoSA0lmiRVMeLcOK27KVHz8UMfbrOumBa8XbcJO0WZ7i2hzg9l778GrVHDc4QXGf5uizUGY0+umPPfCCusbEe1OxrtNm/6ooI47Ws0vwF7bWk3R3yJZfJXw8vOkmYfnuIyPVfjyfTP86vEGj+0O0NrSiwxpZigBA0CjGN5ZM6Qs8DxFuF2QhBpjhpHnscOT1zwklB0Ofptr1ji1mJGmEmsNcTKg31rn4ptnCW2ZKLWUXcmkSPEHEVk7pB1rulFE2u8Snn6KzpVniVoLlH2XE8eP88QXvsyvf+fb7Joco+oOsyO9bsTi5RadVshWYtlILam5etwF1pqbre7N1dTDrbITo0LMD0oj1DHSx1mptqy2El6/0Obf/myFpW7G8qAgR9APU8rjAaFQaGNQScogKXglgsQPMMpBSUlRaCZcS7sVkeWGXqzppZq/utLnmYUBr6zHDDLDZNVlz5jH7zw+x7GZMvvGfHJtWAkLtozkTGhwJNTcW3tXqBNf+94/+nijjp31vGXBm4s25U7Rpo66iCJlsLLM3AMP4lQqQyfOnfQODJlSnBRcuNDi/MUW7VZMnLyzZfK17MQd7vsNK3nfi76v7MQHVohpAQOmT7p+hvDySxSDDi4Ze/Yf5Hu/9Tj3HmxyZLJE3RdMNRwub+To3GB2skAxYIUCq8HmIDSlimKwlQ+NyLAc2DvOrtkaRkhcU+ApcW3Q2OJWjI56ZP1Nws4GWZog0gFTkxM8sU8y5mhUmuNh2FvLWd9YJbryBumgRyA11ZLg61/+At/42rf5yte+weT0DBJByZNIU5CnOa3tkN4gIzaWiwNLcqcB4TXUcec/ghHquK4R6hjp46w0NySF4cxmyBvLPU6dbdPrphTG0tbDYMMg0MB4zWO6LDBZzpNbOesJpIXGDXwiAbm21CioKdiOhs6a/+pUi3NbKUu9DN+VHJsp89hdNX7rU9PM1lzqnmRzoPnz022eXw5pW4kqeeTGMleSlK5eZ99BzgdxMfpoZSdulNzZkkT6JWpHTpJvLpC1Nog7XRaefJojX/1VCuGRqmFQkUQ54SDj5VfXCAcZgzC/jW1/+NmJOw4m4BfjOWEGCJHhT00TXg6wwqBshaO7G8w0K0xMVMjR1FzFmKv4xsNj/MGPtohTQwD4QIwE1QAbohyNG8DYbo/W5YzT57d59uVlds3WmJ+pELslKlnERM3h6FyJMxcTzrQHjDmWLgbIKRGyTy7S8PbTLHtYV7FvLKdeijg8Jfnvr+RUJscZr47xjc98m2qlzNzMLOVqBVeA70qkGTpJaEdReB7PdSPOtDWRubPDN0IdI9Qx0khX1RvkdMOc58+3yQJJPyvQnqSnJFuZId25T7oYykXOY7WcwxWDU/N4dUMhkwKtDWmaUCoFLMUFb7YlWz3DWivh6cWQKDdIKZipeXzl6Bgnd1U4OFGi4kuyJCcc5Dz96gY/W81YTw0PKpeZMY+JsRKZErc819WxO3TUhI9iduLtJK5tQWBxxiYoOtsY6xIcfZjaZBO/5pPkhqgVsbTY5dWdgOKW2YlRIeY7/R+Gw+IzsAZZGae9nNHvuriOx9HDs8zvblKvBgSOpeyLa9/SwnZGpoeeDTlXu0GGRZvKNQgEaagZ9AqW1/o8cv+waNO/sWjTl3QHCZvtNnHUI0gXSY0Bo3El7J2ZYH56jAdPzDBX6TFbz3GUYHZmgv27pvnb33qcyfE6tWoNqRT1apmxWoWy6yCkYKOfsdjJ+GcvtDnTylmNDe9SZvPOx26EOj4wjVDHSB93pWnOm+e7/OXP1uhFOaG1pFJwtpVxqZuzUQwLKadqHgeaPn/v8WnubghmPYPUml2B5IX1jEFmEFikq9AIrmxELG1GnFqP6aWaiYrLnjGf7/7SHPfuqnBwMsBXEmEtnbUe6+c3CeOC872C7RSixPLYoTr7xl2qnripW+/tdEc23e8rO2G5Xoh5p+t5Twvd4LSpXKTycJpzBIc+DU4FJwiQSrCx2Oby5RarS13iRKPf4Yp3DXW8z/TO+76gc+fBxC/EXvsmXbU5jxEiHdYXGJe4mzNIDLO7x7n74Azj9QDUsC207A8j4OV2TqtfXCvaNAjs1a/QJkgXdGLJE4PO4dJCm888vJda1QcxNMTyFUw2fM5cuES48GPy/jLKpNhgkvL4BAcP7OGxk/toVn1K5RrkA6rNeXbt2sc9B+do1ktUK2UKK5me20W1Usb3XNLCcGUr4tmLPf7Z05us9DK66XsLrUeoY4Q6RhrpZlnQGWmcsLYRcmU1oRcWhAaeXQhZ6hV0MoPnKfZPV3jwQIO/+9gsdzVcJssuaZyhBylZmGG14XJoyXaecrJeRJoMrbh9V3JipsxnDtb5rU9NM1P1aJZdpIDAVzhSkA5SOhsDwtSwmQs2bQmrFFvdgkcOVGj4Eo9hUPFOek9BxUcbddxKEosAt4SsjCO9ChaHZJDR3e7R3Y4YdJJ3DCaub3uEOq7KGIsuDMaC2HGkVFcDABgGFrqPcgEpyIwiNA4b/ZzH7p2nVh1mGCw7GQZX0os12/2CODO4QASYnaJNa1MQOU4giduaONJYY7EIju8UbUos0hqk0czWDa+98hRJuI1yA6aOPszc0fupTM5yaLpM2XNQSkJpCuHW8CpjOEoihEB6JWrjkziOS4FikBT87EyL5891eGOxz0IvIyre23cxQh0fPOoY2WuP9LGXtVCkeI7FGMNKq2BhO2Wlk7GZWwa5RQjJ3ukqn793hvsPjDNdUTRcgSMFwnHpbXTxshyLYDWxbCYGnRUYO7wmB57DI4fG+M7JJk8cqNMsDwNvpQS1sofnSnxPkeaaMxsxL2/nnAoFKQ5KKWolxcGJEgfqLoF499bS2w4qPh6o450kdvZfAsObxlUZnZOnBcW7jJseoY6bF9N5RhoOyNOcJM7RhaZacqk6cMDNAUGBRFsIXNAmRfqK3CoKqzAaLiy0+exDe6lWhp05yhh8ZZmsOZxZSYgzQ3E12mbYZgoFV4s2vYpisF3Q2inaPLh3nPkbizYdNTxaUrGw3kJOHKc2u5/xXfuwjseVVsyBpofvDYeNGTlM6OXSRUgX6QYIoejEmu1exp8+v87FtYiVVkxcaIQQ9HN7W+fFCHWMUMdII92oawl7uJ65NwW+J9noZ1zezuklGsdaBgg0inrZ5e69dWbHfBwpaXoCxxv+7q2xpIOYsoJOAVupJdLDgKJW8Th6dJr5qYAHZwOmA4XjCFzXoRK4KCnQ2hInBeeXujy3EvFsS9PKLa4jmJ8o8+2HJplveEwEt7bsvmVQ8fFCHW+/H1crKn6+I+RWezRCHTcvUmQxRRKxefZ12pfPYqQP0mWm4TNbhi82UnarYVARo9hd8zhQVygyOkVGJXCIugVJV6NTizCCuw9P4t7UFmqZG3d5fTEmzQwWS2ahQIDwwEZIuXMrF5D0DO1eymQzYH6uTqPqYaXCMQWVchnhBqznDbb6GlOAqje51IpY6fSJsoJDUxXiApLCMCgEQg5P4LywXNqOeXlxwF+8ukU/zOlGmtRYNlNLKzVktwg0R6hjhDpGGumqMg2FtRRWICU7LQQwxMUCjMaRlmbN4c2l4fXPaItCEgGphmbF48S0z/6aouRIpADpKIQQZEmKyDVTgeTNriHUw4fJyckKUxNlpOtQVoKJQNEIXDxXIsSw22SQ5Dx/ao3VtQFpknM5thilCMouDx6oc2KuQiNw8CWUbmHZ/Y5Bxccbddz5/t+87RHquKq0t0myvcLCU/+GweYGca9LySZ86t6DfP7uGr9xTwk3zSljma4o7t83xommw/1Nj9QUxFmG0gX3VhVLqzlbrQzL27WFXg/9FrZSTPHORZtGa8J+RmtgOb/W5zP372as5lPyFEqAtJpKpUIvLmj1NUmm6PUdVjLNUieksJbA9dhO4enFmMmqS1ZY+qnmh2+2eeZSl5eXBoSJJskNibZcHOT0ckusbxVQjFDHCHWMNNJQncTQTQ3PL8fUSwpHSTJj6aUWTwmU3LlYGA1Ydk94nL4SUaQGAaTKIVUOue/x+O6AmUDi3zBfQrkKnWuyJEfnmmlf8FrHMMgtSgpKZR8jHS62C45P+NR8SW4sy/2MdphycTOkP0hp9RLC3NDTkoHjIVyF60oOTZaYrjo0fYF3C2fNtw0qPt6o4873H0ao44bVAFCkEYPVc7TPP8fSk39I2lmlUq4xPTHGb3/zcb796DyfP1pjquGghML1XE7cfxd7pqtMuBZfwJ5mlXDQ57DS+NrgCFjrGFrd6xmGWtVDS4VrCiresBtk9YaizZjrRZvWGGzSomifJuwPGBQuhfXY6CR85aF5JsseUoCwBtcRTNZrnF/JycwkuXYotCXC0o+hlwnWIktqBQutFGUMv//TZd5YCVnr5RR2yDQHqWZhUJAabsNee4Q6PiiNUMdIH2cNUsPr6xGn1mJeXEnIDCx3c2qB4smVjDdbw0nGE4EiRSJsgeMMMxgCWNwcGi5qz0VO1BGuy2qk+fSsT/WGkeRCCtySR9geYJIcU2ishcUEwlyDkISFQFvJlU7OnrriLy6GPLMQ0otyAge6Oax2Mp5a12zkkAtBo+yyd8zl5EzA3U0XX13NrryzbgoqPjmo486WHaGO669NllBEXTZe/ndsnvoR7XPPkUdd5menOLRvmv/2d7/L4w8c5vhd03hK4zgu9YkxpvfMUakFlKs+1liCmkd9vMShuXE2lzapOJqSp+jElqXtjOW1Pg+/XVuoJ+lFhq2dok2P60Wb1uSkS8+it95EZevkahdzs1Pcf3yeo/smmKm6KLnjUWIMAsmuiQZvLmSkKVgryJGkWtANNUHg0o9z1loRf3Fqm9YgZzssEECcGXqJppMacmPf8YY5Qh0j1DHSSFc1SDXbUcG/fHWLf3OqzY/O96gGHlE6vJ786Zkui7Hkck9TdQW+J4kRrOaKMVVQKw0fDJdbGRu94YNVVgkolEQpie9K9tcd3Bs4hEDgBT7djR4BBqkkmzmsR4YkKXADn7TQJHnBj95scaFTcLad4whLLy44vxnz0+WUTmaRStAMHL51sskvH2lwYtIncMQtAwrYCSpGqGO4lhHqGKqIumTdddae+UO6V07RX7tItVzioQfu42u//AV+9+9/l727ppmeaICUID2UV8bzKziug5ASKQV+xcf1BUG1hJRD8yiRRhyYcejFlvVuwSCxXFpo89mH91K9qS3UMlm/uWhTACkWi0FH22StJXScEKQRX/3GX+OhBw9SCTzGAkXgyOGEWVNcG29vueqDARpBsVPA2+6lDKKMjU5CnGpyPQwu08JSGEP2SZ8kOkIdI430gWm9l3G5lfI//vsFXlgMObudUGhDr5uS5JpnL7boxprcSnIEZ1YGjNVcBjigBMZCTWoqJUkn0mz0hpOV3TxHjpcR3rANdHdFMRlcPy+EHNYNSgk6zdgz6dM1go3IkOaWcpKSa8PqWo8w1cTaUlhY2o5ZbSWc2Ux2LLs99o6X+N7ndvHA7gqHJ0t4zm2OKAXU3XdofjVCHTvr+AShDms1Ju2SbV9k68U/ohhso3RGc2yM3/iNX+fXvvNNvvXVrzA7NYnve1gBuXYwuDiuQ6Yt672ETpQPgwpXYZWDROP5ASXPxbMJnk2ZHXd45UpCu18Mb9pvO8vDMjfu8fpCTJEZHCDDkksHnaUMls6x/PIaOoJmLeD4fXczXi3RDBzKO0VIRiiEKQi8nch/B6nAEKnk1qKNJc2uzhS5qiGCMaNZHe+qEeoYaaSh4lRzdjXiqbNtfu+nKyz2MvqJxhEwpsHNCrq9lG6ucY3GFdDfCumGKVc2Yw7tqVEIRVxYysIw7sNk3eXNpeGYCK3BdSSy4hNpqHuCqbKicsMNX7kKx5EEHpSUZb7hcHazYLawTGmDm+S0tMHD4gqBjmPCRNON8muW3Y/f1eC3H51lru7TCBxcJW977DncgaPmCHVcX8knBXUM98Ni4jVINsh7SySddRSCxsQM/+n3vstjj32ae+45Rsn38R05NEC3Em0lYarpRDmvLnZ4bbHLaidmsuYjpMQISV8rSkrheR4mz8ijEKML9k64PHsxYXU7RWC5a+84u29qC90Z8AmsbmegLVrHDDbfoHPxJ7TOPEl/U0IuGW/W+NUvPcTx+SZjpWGhZmEFuYXIgMsQqWwMNAvdnO3cknBnv6MR6hihjpFGuiqtDVmmeflciz95cZOnznbYjgqEFNRdycmmh4g0njYErqTpC2aF4ajNWc8s/URTWIhzS1D26OeCkoSaY/GlZVfT49XLEXE8RLKm5BErh5XIcE/TpeqKmzCI4yqENQhrUEpy3746neWYRqrxXYVfkky6cKJk2EwNriNpBA7fPNHky0fHeXx/jfGKe63g/RcWVIxQx/Xtf5JQx9WXwhRQRNh0C1tkmCShMTHHkYeewHpVHrn/EIHnUvEcPLHTyiQsq92MpU7C7z99hYtbIWFS0O2GvH56ienpcTrKp7DDk8R3JF5QJmxvo2w+LLi0cH69YKOTMnVDW6iRCs/klL2hqVarG5P0Bxywb3Ll1L9k+8JfEA+22D03x/4Dx/gv/+HvcOzgPLNjJZQdZh4GWrCph34ZWVoQZwUvrKa8upHSNUMj8fd+7EaoY4Q6RhppKGst0SBj4eIGq5shp5ZCNiODkILJuse9Mz51V9AoKVwFXzrZ4FjTY8pqZG4YU4blXNJNc7SxlMs+pZJHrxDsKhlqnuBqk8fCZkaeabSjyDwXKyXLoebBSZfKDUWbCIH0XISyVCcquEpSchRRWHD/0Sr7mi4TwiK1YV/Dw614/Gefm+P+3RXumijhKomrwPccSq5E3qLb4+d1W0HFCHXsrOMThTpA66EjphQSIRWuTcl6myy98EM6i+fYffA+SrUmM1NNGoHP8fkJSo6DkhClBW+sxDx9scP//fwiq92Y7XYP4ojn//xZXnv6dVbXexw4sQ/f9ygpCNQQKviVKr2tTVyhyYzl8nZxrWjz0ft3U99pCwVwrKbsK/I4Yj55iVp6mX1Bwrm1FQ4dOsqXPv9l/sF/9Q+Y37+HRqOGwhD1Ygb9lDAzFI7D2qBgrZPyv/50k1NrMZuxucPsxAh1fFAaoY6RPgkyRtNpDei2IuK0oJVariSCSDkYJdlfU8yNeUw2PL7z+DTH9lU4uqfCxmqIKQxWDMvStgqIMk3ZdyhXPKSraOWS/YFhPBAIIVhpZWx1c0RaoGsBmZCwU0dxoK5uLtqUEuV7CGnxSw6eKzm0v8qeWZ+7dpXZ7mQ0xwIOzjf49sOzTFUcmhUXIQS+pyh5Dp4z9KN4LwEF3CKoGKGO6yv5pKCOIksp4oioH5JmltyAtYKmlzAuIvxz32fh9RfZWlogj7t85vNf5lNH9/G5e/YSeC7CWvJM8+/f2OZP39jmJ+d7tKOcpLtB2lrjjT/+Iy6+usDZly9TDjwefPAgB+fHGXPBEYCUGCDODe12B1da2qHZKUayXNkp2mxUfawQKAue7zHTLBGtnKGqcrxSmUc/8ys8+siXeOLxLzI9M025WsNREqk1YScii3LCzHChnfHiQp//97lNNgY57Xg0q+M9r2OEOkYa6W2kkVJgrWWlFbPUK/jJRsFWIYgQVH3F/skyD+2r87kTU4zXHColOXQKdh02tmK8ncxnK7d0c0s/ypmaqqIcRckVBEow4RqqJUk30mz1ht1wMsnQjTKhGd4X5iuK6eDtziEBSCrlEiVPUvIFUgh276ozNVnj4L4G1cDBVSCFoOS7OM5wDsh7DSauynm7P45Qx/Xtf5JQR9ptkQ66rLz8DFa4jN/7WcYnmhyZFOx3WhxOX6J3fJpLp3yMmebEo1/hwPw0T9y3n0bFx2hDluQsX9mknKRcWI/o9gfErcuYjdPY808johzPTnPgwCR/7YljHJ2pMOVaHCHQ2qCBUCtEeQxZruEkLe47WOLFKykr2znLa33+vx+c4bd/7SS1ikfuSgQC14fDj32F5Vd+wtEvPYKWHkZL8ixH6YySsgQemEJiXZftTsqPFwa80c5Z7KSE6XuHHSPU8cGjjtFY8pE+ORIUeUEc5Sx3NX90KWE1seRCMlV1+dWTEzy2v8LdUwEVR5LmgihNWd4yxEbSnKqwstInzwxSCCSWLNecO7/F5x7axZ5yibqnMBjKvuWzx2u8uRgTpRlhVuC2+mSTDS71NKdaOdOBZOqmwEJw7RYvQPk+5Ba34uEgqd1Yh+E41+Y3vV+9Jah4C+q40wvqCHW87fvb3bD5IFtE05ho6RK9S6fZvHQObS2NiUnqgwX+418+yAPzZYLWJp0rLl5S8Le+/jCnqp9FTh1FjM/TzyzNnXW119tIrZGDHve6Lf7g9I/ZWDtLqbVAI4uYn5nn3uPTfO9732Pv3ln27ZvGWkuWFaRpQZxrjBTgB6jyGCurPdaznONHAraeH7C6OeD515Z59MFdPHjPHCkSBTheifL4FIee+A5CGKTjEfVDSlbglUq4rkQA3USzHWv+z9c6XO4WbEbFnR27q6jjDn8HI9RxXVVfcWQ64FP76nz95AQ1X1H11Qe3gZFGehcNzerEtdby96prdWc/93djYG2px9LFNnorwuYahMJ3JY8dmeCJw2PcNekhjaUb5fTCnM1uAlaQGEHmubyWCq4MDJvF8J7X8CSTvuBTVdhTltQ9SWZdfIBmpwAAIABJREFUhDWUfclff6zJ7/1gg6hXoPoxqhoQqRJ/sZxxT3NYW1F+p/ZPIcAL3vazyPdSiXkLXQsq3oI67jA7MUIdb319ewvfgDp+7m93sBoATJFi8pjO60+z/fKL9C9fpLCGPQ8+yN59Tf7r736Wfbsm2DVeIp6+j7Mbb+CUCqrNjFK1w9rMJINsOO8iNxYFjE2PcfaZVyiuXODS//57pFlKq4iYqtW4/95P8dlPf5pvffNbVKs1arUq2ljiNCWNc/JMY6Ugyi25hrW4xFbqkCBpVBUPHKlw6lLIwto2L72xzPR0jenJKp0M5jzwvBLDJ++hdW2l3kAbi1KKODesbIRcXO3zzOkW3UFBL3lv2YmbUMf7CKZHqGOoqq+o+Yqvn5zgU/vqHJkORsHESP/BFBWWqLC8sJFzrOkwVZIE78Fvodi5HoQaAjnEtzfGJdZoikwThxk6NxyrKlqZD0GZzdjSzw15YdjuJgwGOYO4wFhLO9G0Y833T3fZ7Gs6GVR8xd1Nn7tnynz+YINxF6Q1hFqxljrsczPqnmKy7vDZ4zV+8FKXKMlQ/RjjOYSOyx+ej/nP7628c1DxH0jOCHVc3/4nCXUUaYSOW4QXf0TR2yReP0+5pNh/9wl+6cuf5u/+7W/SHK/SKJegsPjlMgc//SUu/ekLuHqDRryKtZs8fO8ByhUHIQUCizB99GCRf/s//TfotXXmpqcI9uzhN3791/nCpz/N/UePUqvV0MaSa00/SYbYQ2uiNGN5u00nLAgjUMJhujmL1kscHy9xqGrQueXM2oA/f/I8x07M07I+Zc/FGtgVgLECawWelCgBmTHESc4zF7ucWx2wsRGSJQWusShx7Sd9G8duhDpGqGOkT4q2exlbseFfXUroW8ELm5LfOVG57aCiFRbkQM8ISr4iNDDlsPPQARKNciTTu2ucX+jyxlbB65FBOwJHCBa6Ba+sJugwpiYtWW4IU8NiL+f8dsKziwOi3CClYKbm8pWjY9wzV2Fvw8NVkq2oYLtIuFxIPF+xJj2eGEuZrDsc2xPw5lLM6aUEr9XH1AK0I+mkgp+uZPzyXv9DDSycEer4ZKEOU2QkYZ+4s02y+jJO1qLs5Bx97G4eOHg/xx66n/sePM7EZJN62UEgkFLgCA+KGRp3f4WX//LHLG0oxmcdnCylNlEiwVIpWpRKfaq1mMZ0jTxJ+MK+fXz1H/9jds/Ps2/XLqyFrDBkuSbOCozVdHtdBv2QJ198k8VeRqsfc+9ddzM/2WR6vMYD88cJN9qYmmGlndPWkJUU/+Lpc/z1L9UJtSJKLYPEMFFRaAuTHrTCnFaY8/2XN+nFBe1BDrkh09DJIbe3DilGqGOEOkb65MhYWN6MeeVsm6fOdOnOjDNwXZplhx8vZ3x137vfcMNUs9DOuLCZcmot5rMnmpT0sMniQqQ5OeVScgQOEqVzFIaZXWUuXohYiA2ul0HJJzKSHy2ETO13iSUYY3jqSsi5zZilXk6cG2ZqHjM1l7/xqWlmag4zNZck1ZzbiHluKeS5lYiH75uj2SjhVgTbxiVQGXunPI7tCdjuFWyHhtpai3z/NO3UcKlXsJW47K1+eOecM0Id72f7b319ewv/AlBHPkQdg4XXCcOEJDXYwmd/o8ZcY4Lf/MLDlMfm8GcP4zgOWW6wRuDI4VjQvCjIvTpX5D5eSx/izctQ7V3m6H0HaY6VmQx2TkQTs+fEYT73N3+TqG956Du/RjA2RnkHRcSpJss1uR56UKxttli4eJr/5X/4J5jxXcjZA8zsmic1Pe7afRdH902QDkLWsoKtzQHN6SnKGURS04kTnnp9kQN7d/PSYsgDu0o8uCeg6grOr4VstWOevdAlzQ1JPgxN2ylEKUQ7Y4bf9diNUMcIdYz0iVBuwJEWk6csrXR48Wyb7XaGSbbR+6dZigyvbuccG3c40Xxrf8Ig1fRTzZ+canFxK6UTWVxH8mevbHPPoTH+7ELIdKBwZJUHZjwKgDRDxSHjJctn9pZYPhMTFhonT1GBJDaK719JeHRc8pNzHbaj4TyQiq+4d1eFk7sqfOXoGFVPUXYFWVKwudTljSshTy4nbBWWp1/d4Nufm+dgM8BRmsLqa0Wb5xZjdJoRZQXlfohbbXBkTFFW4nolw4cg5/1ckO5UI9TxwaIObI7J+3Rf/BOy3jaZqFAan+fgkXnuP3gv3z5epeYJ3GqVvipojNUoey6uHF70u2HOIEl49dKbdPKCuDKJrEXEjscf//ASf++3x1GBj5BlkDWCiUke/c2jaO1SqlYxxlJowyDKKczQ9jpKM65stnnp9df55//0n7D2+ksUQZVP/9o+Hr//CI/ec5gDcxOUPQffKbNVr/DC+YwrA8tYeYK0aNEJDacX+5za3KCQDhudjIYvuLI+YGEjpD3I8OT11P1mWJBrS6ZvlZ0YoY4R6hjpk6KtxBDlFnTM3rLhyLzLU69DyYFeVqC3+ujJBhd7hlOtgumyZKp0vTpitZex0s34vb9aZaWbsR0W7GuWQcBqP+HJ5QgdlLgiBHc1HGYqipmKxDgerh0w6cLJpsMzZcGpjiYdJKiSSz/TJEXOH1yKsWY4gny25g1Rx64KBydKVHyFFGC1obPUYbDaYybN8YwBLQkzy9pajNxdQjmKXLu42lDxJd9+rMn/8YMNKkjGS5ZvnKgwUXWYLH247dlv21L6bhqhjrd/f7sb/iBRx1AZkKLDFSw5+aCD4+Y8evIz/NIjxzh5cIoxIir5AOU5zEw3UV4J35VYY1nZTrm4EnJ6YR3XT8j0gIn9gsu9CmlpnC2/zI/fbPHNB2YoeyVw5wBwHRcXyAtDnmviVKPtcER4lGr+8swyry9e4OLCEn2/RlybxAYN1qp7OXn8MEf2zQ2tvo1GUTA55YOrKJQDwuK4TQoL3cTB6hQcA67k93+8iC+hHWaUHEmtJDHG0ksNxoK+3bHkI9TxvjVCHSN9mBqkmkudnHMDw/MbOY9PQ0Vayr7k649N8L/9YB3TK5D9GKdaJnUUT61m3DfhUHEkDoYrWzF/daHLv351m35qiFKDJwXdTkgqYZAbtOOirEIrhz99vc+908M6r4pS5E6JbBAzlqbcXROsx4Kt3BJt9ZFKEOYGawxTVY/ddZe/+fA0E1WX6eow8HaUwHMlrnToVzzWrCA1MOFKlrRPKxScXo559ECF6bkSrvIQJifwFVN1l68/PkU3lnz6eJOg5FD2Pny/l9seKDZCHW99fXsL34A6PsBZHdf2xmZgQ6SryMOQLMzJ8xlsrvj6rzzIxEQdz/epViqMTc3jeR6OkkN72TBhYaXP86d7dAeWMAsZhNs8+8or9LM2cuIgmSwR+A57JwKaFQ+EGv7b2ae80MRJgTWwMchZ7Wb8/rNrvLHWZ2FjnTTpkecFber07v0acnyW8bEGJ3ePUXYk0uSIIgVjCHzJK4sJywXkKIx0dn44BrDkcUyhLXE2bBPVFrKdCm9t3vn3MTKw+uBRx8jAaqQPS9fGir+8xQ/OdHi5ZehZxXYKx8ZgrCRxdjKYVzYzdKYRrsItuUhHsjTQHK7B8lKbly62+cHpDpe7OVKAL2DasXgYdDGc4tkwlhICqwWFESy0ch7aF2Bdh35midsDVJwx6Qve7FnCwpIVBqMNjpI0GyVO7q3zdx6ZYm/DY7LiYoGSrwh8B9+VKCUogDMrA76/krOQCmIrCHyXqZrLsekSd9VdShKEVGAKgnKJyfEqB3ZVqZVdXPXhdn1c1W0FFSPU8RFCHTdJDItsbY4QGlWu0FkxxKFF4CKV5IF79tAcb1Ap13AdFyGGF/48HCB1TpIWrHZyFnqa1RBefeMZwt4WSRqilGB+334qtTKTNY/xwMG/4cYhdiqhw0Rzei3iuYUBf/jyFluhpj1IyKMWW8//kNbrz5P22mSHHmVsYpL5sYAvHpqi7CiEkGRpxmY75eJKzIXtjK0C8quf/ep/tH7bvL2x735YR6jjg0cdo1kdI31YWr1xrPhCn9PrEdJxqJVcap5kkMGRhqBZudnaWmYFol4mMVAYw4WFNrY/IBrEtFODFop6oNjTcBGZpuFKaiXFfl8ykWh2aUNHuYSFRVtDlBnmJkpY18HmBSLNEdowV1G82tZEGpQUzExX2bNnnOnJCicnPBq+wncE5cDDc4fOlYW2bLViLi/3eWMt5LWOpl1YPEfy8KEGT9w9zvy4z0QgceXwcyE9kA6u4+Coj9b5965BxQh1vP37293wBzmr450lweRgI9A5Xj2gv5HQHRS4zQbHDsxw164xrBA47PRZW4u1ljRJEdpwZi3hdDdnMc7JVY20dRaddCi5mum5ecYnp+mnmr3jPiVH4sjrQZLAcnq5w5+d7vCTC326cUEadcnCNp0zf0X71M+IFs9RDgIePLKfb33hEb73xBHGSi6uEFhjafcynn61zfmFiDg39Awk7zczcCPquEONUMd1jWZ1jPRhapBqXluN+PHOWPGVXkYn1igLFa2ZHQsIlMRRksCBmTLUbrC2jlKDiVJi32UjzMhyjcoyXCxrKTiew0TFwVeCqZrLdFXxNx6foqkEItToXNOkYN0K2v0Ui2W66TPZ8NG+h+yHeDvXQ2vhSmTRCMYbJSYnyniuYjWy3D3uMl7xUFJQGEuuLYtbIWcvbrOw2iVKCmIDPSup1EscmilzYleFRkkhgKorkOzcVz60Usx319sGFSPU8dbXt7fwLxJ1vJMESAfMACnNcLu+SyIDerFmZqLK7uk69YqHYVhEI4TAWAh7CW+81qYIc84MNDFqaPhiNaZ3hTzuUa03qNSnCCp1OpnhrjEPfyfNZnWODVsom/HDcyFRmtHUbarxIp2LT9Lvt6nVq1St5jvf+Cbf+eqX+fbj97C7WUVJCdoQhwPiOKc7yFncyugXlp6F+E4DwhHqGKGOkT4xuhF1fP/VLX58rksrKrAWShJmfEVFCWRW0GxWmKl57K4pZsvgO5apusubSzFRoslyS64NqSOHyLQwvLKWsZ5Y+plh95jH4Zky9+6t8a2HmsyMOeyZLrG4HBMYQ0kaXAybGnqJpl52Gat7+L5Cl0qo7oDAaIyB1ciwmQ6nJdfrAd0EotxikRxoOEMDrEjzxmqPfpwT5YZ2O2Y7tWxkELkeVkoslqPTAXtrinFf4r3HiaEfht4SVIxQx0cVddxC0seaEOUBjkOaQdjXLK/1eeSe3dSrPv7VyZ87e7u6EtLaihn0c8YUXMkgkz7WGky8iU5bxFGPXYfuRZUqOK6HsTBddnCkwKYRNk/AaO4aU+ityxyXi8zkyyy32jTqVeanp/j73/sdTj74CAcPHKJa9vF9d5jtMIYsyUgLTT8zPLuWcSU29OydZblGqGOEOkb65OjnUcfZzZjCQOAI6q5kKhB4CGquoBE4/NKBKp+ar3DXuIcr7bVarF1Nj1cvR8SxBmtJhSBMc9ZaCbG2GCGpBw6PH2nyxSPjPLCnTj2QuEogEMzNBGytDChpDVg6RrGdW7a6KYfnqwQlF8cRYCymG1Eymm4h2M4g1JZuL0WVfLopFNqQZJrXNxP++WsdGi5DT5/C8uJGzpvbBcsJGCHZ1fCZH/P44l0V5mouZfXRDygA1N/6L/7hP1pqpyPU8Q7vb3fD/2FQxzssi7jm9AYJygGdWfKBwQzg4pXh5M9a1cOy4wYnBaWyy9pySJZpwtRggJYB4wRgEoQocCoVBoM203OHyaxDt5fSLA1ThUI52CLDcyXVqse0E+F3FqiXHO47coDZuV38na99nl3TkzQmpkE6VAKPSuChdoKvrX7OlVbC//VKj8XBkCW+19/SCHWMUMdInxy9HepoxxpHCqq+pOEp6i64UjJV95gb9/nNx3dxZLbMXH34wIOUYArcG5qRFjczyAxFVhCmBbmxSCmZa5b4+mN7OTRX4fBkiaorQMhhF5rnIBmOAG9vJ7jGElpLz0AKrLdSTuyvUyu7w/K2MKGU5+yqK84ODIPckmnAWKQjWdkacH4j4uX1hG5mWe7nBNLy7850udLN2UgMJU9ydOr/Z+/Ng+XK7vu+zznnrr2+fcHDPpgFmJWzcJ2hSIkaWeTQiuRYimRFUixHlGxnK1Wlkn/sqUplqTiqpFIpl1Xliu1EihzJNiOlYkrmTpEUySE5Q84KDPaHB7y1977ddznn5I/bD+sD8LAMBoO5nyoSD2/63r590bfvr3/f7/n+Aj5x/xi/+oEppkvODcWLv9uoP/zH/+OLf/bK+k3voJA67qTUcdm2l/ypRkVNgpQZrqeI1jKGfY01FoHgwfun8DyFQKDI9b9y3eP4yR460RgLbQMD4SDDCYRpYnSMRZIZaA/LbHQySm4+hS/0Fbg+ynfxwwDPkaRxzPy++7nv4KN84OCD1HxFGAQoz2NmZpxy6OM4kkFiOL064Icnu/xfP2hwtp/RTYqx5De8j0LqKLhHuJrUkWiLFFANXMqexFWSuq84MFPi6f11fuGZeaZqHrXwsuXMUoFJKfm5uXG9kdDuZPjW0rUCjcB1XQ7uGePgrhpjFY9AQknl48HzVW4Wz1cIIWg3h8S9hLqEpUzSyyza5j61PdMlXN9FaU3Fs9RDxb4pj++vpJhYU7IGekMavZhGd4hQDkmq6fdTXjvToxtrrBBMlFxeeHSKnzk0wUf2VJmpuHjvoYICQP2j//6/edF3BD9a7N3QhoXU8S5KHVxeUIwQCqwGm4LQBGVFbz2l1UqwWO7bPc78XBWDwMXgKIA8+fLsWkyWWdZ0XoFrBMIdx6YbaAyxLYEMSbTDSmfI/bMBJd/BcfNiRghwg5Cx2d3UpuaoT8/hui4IgReG1CYmcByXzEJ3mPHtww3+6o0Gr53qsB5pejfYoSikjkLqKLh32ErquCTETgg8CfWSw0TJ5ZOHJvnkQxM8tbdOveRssZxSXNAKrKbsS7qRptHJGMSGAGijiDV4SrJ3psRCzWXOFwTnZYbzO8DzFcNBRq+TkiaGcWU5lUlacf6pNTcRMDnmo8o+NZtQCwSOhJqjSDoZ92tDYgyxtThCsENounFKd5CSZobJssuuMZ/ffnYHT+yscGC6hKfyEQrqNk4QvROoF1988cX9MyHfONKiH29vqmMhddw+qePiPWznrbNlMXHxHqQLNkLKC/9KccfQ7sRMTYQszNeoVby8SkfjexJjDKc2Et5spAigDxihsEIh3QAhDdpokAHWOnTbLU6utHnqvil836WXgrUC3/FxvADl+flrUQ7S93GDMlI6tKKMtU7Cn31/lWPLfc6sR8SJQZNPAtzO+6qQOgqpo+DeYWupI9vys9BKxb6pkF/72DyP76qyezI4bxrfms3PaY2rLJM1lyNnBgxjQ6bz/z6QkkQqdk4EPDXjM+nnUscl+8CilKBS81g528MkGqPz7u+ahk6sqZdcpuo+ZV+R+T7ldMjURIla2cPtZOhOyo6KQ6wET9cV48riGkssFQ/Nhnxsf52/9fQ0cxWXidBBOhJfCRwpeY/VFHlR4UjB7kmfr77VuuaDC6nj9kkdRueyhBntc/N9EwD+5mO2OObrP6sA4YPpo1yDQBD3Nb1Olps2n1igWs1Nm8JalE7xJSz3MpY7Gf3Y4AERYKWLFQpsihWK1HjEA0M0TDDGkFqJUy6zMrBkVhC6isRY+qkh0uSZFlIRZ5bTGwNeX+zxxR+v0+yntAa5prmeQCuDBHHN11ZIHYXUUXDvcNVVHcbiCygrQTJ6vwtAOgrlB9TGynzq/hrzY3kipeDSceRXIDZHbxsElrkJjzdORsSxQQiBrpXJ6hV6KJ6e8aj5Eu+Su/iFboUA6uMBZ093kanGAi0j2UhhvZPw4KZp05XIik81VNQqHmliCHzFnvmQ5x+t0WrG1BxBJXT4yMFxfuqhcZ67r0Y9yHOAlBKUAxdHCe6yCIptoV588cUXAWZrHqc3Yhab8RUPKqSO2yt1pPGAdDCkvbKMdF2k5xE4MC4F40IwNdLphkJguJGCAs63/QRgh0gXstiSDQw6hROnmzz7wd1UK3nporTGE4bJqsPhs0MGiSEbtR1jwEoHpIeV4+DUsMIFk9JPDX3r4YY+eB6NyIDRrESaY+0U8sUddGPNF15r8OqJNm8u9egNNf3UMNSw2M/oZTC4TueqkDoKqaPg3mFtJHX8T5et6igpQdWVzHj5+HALWANTQmD8EqnjIZTCcQQHpjyEEueLiqt/mb/StGmB02sJsQEbelAJQCnORZpnZjzK7hZSyqhbsflEF0yb+Xj0GFhuxBzcW8MJHITM8zJKrmRyqsRU3eW+PSVKoUPoOxgh+ckPLvDAfJl9kz6eyr0irqsoBS5S8p7rUGxyvqgQQvDgXInLTZuF1HH7pA6dDInWztA9d5rm8irJYEi17DNVD/jEguKpKbA9gczy4JZECvr6Zs6fIr8LJyBS3FASNTWDKO+OgODg/VN4nouwBmUN0lrmxz1eOz0gTgyWfKpIZmXe+ZDeyBEtEdIB12OoQTkuSkmOnOny0oke1pUkCJr9lF6U8k+/ucJrZ/ssNmIkeaR2M9ac6WUkBtJrnNdC6iikjoJ7hzTRrK9FHD3R5H/5y7OcbI0CrKRgws/NlzWVh/TNVB0qnmJBgptaqtbQdn3aad6+2DHuMld1MIDLdboVcIlpEyFYbCRstFOU1uhyiHQVoStRUrCnqnCvuKMLwORG94tMmzUJZzJJfxTpbYFd0yWkI/GEIJAOnnIoV3yU0Pi+S6kasH/vJNWKR63kYazBUQrXVbhuLne8R+sJ4KKiAqDsKwJX8spir5A6bqPUkcURadRm7bVvsfHmd2kvHcMKj4XZKXaNeXzuo9McnBAslMBzJKHvcnCHx3jdYW1oGKR2s0zY9uuxQmJtet606ZUV0UZGq5ULDft2j7MwV8UIiWsyvE1zkoDTGwkms2ggIzdt5oyWWkkHRB4v2+4nLK0nLK4PWO8mpJlBG3j7bJf/70cbrEcZ6/0MY2GQWppxRjM2pMZe9YZZSB2F1FFwb2EtLJ5ocvLwGseOt+hEGefSvIkwHeYDvkIlKPuK+2YDntlX4heerHNuOUbHm91TQaTyeRsToWKu5lDxJJZRqN9Vn/1S02bJz5M21zoZg8TgpynuWJlE5tfDfFkxHV5+bVxp2ux2UpLEUL/ItCmA+cmA6bqHsZKyyrsuApEXNsrFD3zc0bwPIUAphZASKcV7upjY5JKiAmD/dMg33m7R3aZp83IKqePSzeLOGsPGWU599f+gu3SEQWOVqq948tH7ef6jD/L3fu4xdkyWKJMR+Ir5uTEOzIc8NOeyZ9zljbWMLLWM6bywiK/z2vKb0eiuLDwuNm0KccG0OX2xaVMqXJNR9nLdZLmR0uhmOIy8FWwqihf/D0CQacUgzohTTZIaeoOMldaA06uDfC14lj93qg2xNgyyqxcT+fEXUkchdRTcW1i0TgHD0bc2EIlGKcFAKISXD/8aDxRjoctPPTzBxx+o8tT+kHog2THp88aJiGSYB08NlUPPCla6GU8sBLkHYiSDXHs+7qWmzc2kzcFQk2mLlGBDn3YGNU8wE6pryiCVmse5sz3SRKMvMm12Y8t42WW27lEOFNpCRZEvUZV5p3fLo7sXqokRVxQVjhTsngj4ylvNG9pRIXVc1p1IInpn36Z59CXOfOtPSNorlBzD7Owsv/FLL/CLn/4oP/3hB5kaC/FdB8d1qU9NUxurUis5KCxSCfZPeCydjbGJQZFLEulVnt9ccdyXmjYtgjQy502bH3xigdqmaRNQRlP2JO2BYb2bESUGn7ywuFIGu2CRsqMiwwKptkTD7MII8ouqxCuP77JzV0gdt41C6ii4e9D5TdtahBD0ugmho9AKIisYq3jMj/n8xrM7OLhQYfdUGVdoXMl5Q9/ieoLNDKkUxFKhhWCxmfKh3SGV0bhvyfZNm3AhaTMaxX4nvsfAcVgZGB6ZcKm44jIZ5EK3AnLT5pmRaRMBHeOwkUg2OimP7i4zVVKMuYLSeyBa+3ZyRVEBMFtzOd2IWWxcadq8nELquMw3kQ7Rwy6rP/4y669+jebb3yON2uycn+bA/r38d//gd/nYMx/gkYf243suQggc1ycsV1Gui3IdhOMAGj9QuZNYCJY2Eoy254uKS1eGXO38b7b9BNghyoUshmy4hWlTgLIGX1mmag6Hl3LTZjoybSZcp0Oy+Xw3+K9QSB2F1FFwr5P7EVzPQUpJ1MvQccZEoAjHQz6wr84vPj3HdNWjHjqjTRRkGSU3/wxbaSQ0Oxm+MXQdj4EZfZkRcGDKw1XifFFxI6ZNyE2bWaIxjsL4LlZKlvqaJ6fc65o2hYB2c0hZWCIr0K5DOXB4eNrnsbmAuiOu7/e4x9iyqBBC8MAWps3LKaSOy7oTgw5JZ5WVl/6E/vJRuktvUw48PvDEo3z6+U/xX//u32P3wgIz0xNYwKAQo/G1QgiGab7MSUqBcByE0ISBQFg418xYHUkSQ/KiwtjtnP2RWWIzafMi06YemTYP3T+F5ztILHJk2pybuGDaFIxMm5e/9ps6Yxefu0LqKKSOgnufC5Kp5zlkWZ7zsHv3OM88MMGju+vUw4sDrC76TDaaUiDpDDQbm8FVJqPteudNm7svMm0qbsy0efl4dF0NScTm0gvB/tq1TZtSCqL2kLSfsFBzkdUSv/WJOR6ZC5gM1fuqQ7HJlkUF5KbN0JW8vEXSZiF1XLaZycj662SdU6z+6Auk3XUcmzI+McF/8As/xy/+/F/n08//FPMz04S+z6YXQY/q6jjLWGxEvHm2k8/kcJ18QI0FjCb0JK1Is97NjUUu0LM3kEApFJCBTYHctNlZz2i28/7DfbvH2bmVaZPctKl1/lwZFzokt/xvX0gdt41C6ii4+8m/4UslKFc8JqYrTEyVGR8LtkjDJP9sFgLQuI5lsn5xcNXtN22uj0ybcpig6yX6Jn/QzrJi5lqmTU+RJhrfd9ixs85pL2t1AAAgAElEQVRnPjzLdM1jvOTcysl6T3PVogJy0+Zfvt2iNzJtFlLH1ptk/VWSjaPEGyeQwuLYjJnZGX75l/9Dnv3w03zgkUN4voerFNKCtbm/oTvMaPQjvv7GKX5wssGR5R5nGhEP7qgReA4ZAmk1rrRMjXIkokSTZflBXM+0eQGBHZk2hbhQigy6hk43ZnY6ZOdcbtq0UuGYjJKXX9TLzdy0Kbhg2rzZZcaF1FFIHQXvZ/Jv/47j4Pkurndta+XVgqsuN20uj0yblZFpE27OtBkNR5+tAnTo09cw7gtmr2ParI+XqE9U2LGzRil8783quN1cs6hwpGDPZG7aLKSOrTazQArCkjZPo4cRSXvIRGWKz/z1zzIxM8PO2SnKvksl9HGURBiLsLDSjVncaPH7f/FVfnRikeZAkWRgUkOWGmanyrm/whok+UU1P+7mksQobz7lSkliqyPMEWBz06ZUBoEkHWoGWcbZjS4ffnSBasXHHYmNm6bN1Z5mpZuxkphtPd/Vz10hdRRSR8H7mwsyyPZWO2ztgVhcu9K0ebqZ8sHbYNocDLL816FH4jisDgyPTF7LtKlQyiEI87yegusUFQAzVZfFRsypxvCmn+SekjouwQAGmw0Awbnv/4iVN9dwMpd99+9l//4FXEdxYMcEoefiKMUw1by5HPHtY03+4NuvsdJYZ725Qa/bwjM+3XZGOkyYmywzNRaCkCiT4V7U01tcz02bmitNm5cc9yU/jGKwhQATozyBQZClBiEUJ1e6PPvUHkqhixmZNptRSmzhz4/16ZncV3FT566QOm4bhdRR8L7jsuCqd9q0qRONdRTWd5FKshppHp9yKV3Rgbh4eX3BJtctKjaTNv+fmxmPfg9KHZcisXET01+m+9q/ore6RnNxCCgefux+nnpsH08/sIDnKrCQJBlvHW/yF280+OLRLs2hpLt2nH5njZOHX2bQ61P1J5HCYfdcjZnxEqEjEVLBSJIQCM6NJAkXGMAlUd5weTFx0Y9iFKElM4Q0eL4iiSWZDJjYdwDpeeydDYgzy5GViG8f6/KHL7foa8tQ39j5K6SOQuooKNhk9HFw/gvQ9m/FV3ogOtE7a9rcaKc4aYashgglETLvUuyuOhSX2/XZlptkuurxd56d559+89y2dnpvSh1bPUZjjKb/1h8j4kVCH+b27OS5z/4sex97hPv2LhD4bh5aNUg5/OpZWu2YuD2AqEPr5Bs0T73O8sqrpBjKrouz9yE+/sSj7J4sU/FUnsQmZB6TncXsmvR4aEfIRjdjrZsxAaxwZWGx+ZcrXob0QZdAGJQvmdpTQpR20DIury2n7DzVZ2m9z2unOpxaH9CLb9xBUUgdt1/qmK97fO65BebrHvM17/btvKDgHaYbG4aZJfAkoTtKjbT5AovNYuPaRYbMpy+bjNC3fORQlSOLA6LYoFPDVBKz4gcc3Uh4ZWnIXNVhruKQkA9ovLZpU4LyQMfsnvY5tKtEq5PR7Bu8cw2SfTMAtGIzytkpOhPXY9sW1c88NsW/fXWDs+1rN8HvCqnjFg5k+5vZ3KCMwJt+lM76GSDl0Y98gCeee5wDHzjI4kAwVQZHGZI4z/zot1rsyHr82bc/z6k3vktn+ShZyWPPY4+xZ7bKf/5LH2XP3BzT42WMGWVjno/Gzgg9y0cfqvDW2QFRYjCxoQa0AJ0fFhf9sQUSVA2sg7AurheCI0AJTq4N+IOvt9DasNG7cbHjEqnjJt8HhdRxgYqveGAm5Ok9NV54dJKqr6j41zG3FRTcJfRjw2pfc7aXstTN2DvusW/CQxtYjTIWqg51X25jKBh5l1W6oA0lX/LCRyb4F3+xyiDOqGYJXcelmwj+/HAvN216kqonSYFrl+CbBYum5Gc8d6jKscWINE4xwnK/SnlgvsJzC34exlVwXa4rf5x/oBTsnQr58ptXSdq856WOy8mNPsL10cmAxqlzLP6oQ2u9y0ee/yTjY1X2TfhUPIsrLcpVrK2ucvTUCf7ZH/8+K4tvsPr2K1R8lw8+9TQ//8Jn+Id/93dYmJlkrFom05ZOLyVNDZ4rEVJisQhrEBcN/0oSgwNk9oLn4fovRQJefjFtbmENaTxkkGii+MbsmIXUUUgdBQWb5GPNNZ9/rcG/O9KiEQuiDFoDzVBb/vhwn1dXE/bUXVxHMjCCyFh8Ka4xmfPOmDYFloVJnzMbKR96cJyPPjTGkwshdU+i7qUs7XeQbRcVkJs2zzQvNW2+X6SOrdHYZBkY0DnXorfWRXgVGo0uv/7zz7Jn3CdUgkyn9NrLtJqn+Cd/+L9zenmJJBkyPTPL3/61X+fXf+VX+bmf+WvMTU/jey5Ga1bXI3r9vKiQSqI8RSokYnRRCfI8+fWNlCDLcySG3MDqDHEhWjtfJ5ov07I3eDIKqeP2Sx3Fqo6C9yrnRmPNf++rS7y02OP4RkyiDdpYjq/0+cuTXVqZoJNYTnUSJqse6xpaqaXsSFwJW8VWnOcmTJuC83Obr8LFBUu+5PXxB6fZPVdm11SwRfhVwbW4oYQOIQS/+ew833i7BbyfpI4ttgUwCdYMUE7C3BMHGUQOsjZH+Mwn+PrhDXaO+eBYzi6dpH3uMKtnT/DTH9xHs98nDPfx93/zP+a+PbvZv3dfvihDa6zJiOMERxpa7SH9bkqrs8bBJ2aZmS+RugGVNGKy7nJoV4nlpSGnlwbskNCzubci2ebrslv8tO3XX0gdhdRRcM8QZRClhpIrtljlsI3tY83bqwNeOtXhT1/doJvmwwMlguZan8Z6j/VhhkEyMStBCDqrQ2SW8sSDk5Q9RU0ZwpK8pBNxKZd6IHZNezywK2Sjk7Ha1ewY9jlRqrLcy3hlacjjOwKemA9IyG90176aJDghmIzamIex1+qaFFyLG+pUAJR8RdlT/OBU96ae8L0pdVy07cV/CgUmBpOCU6G+93683YeIVAXlSGYqko2NDRrdPtHGSSQGvDH2HXiEX/3Fv8XOhR3MzsziKInjSAQGncQILOdWNzhypMk//Aff4RtfX+SRJ2cZGw8phQ5KCKQwhIFkMDD0+hllDLM+nMsg3o7J9GZffyF1FFJHwT3DINZ0UvjKUsJ3VhKmQ0U46hhshzQzdPopX3h5nS//eJ0vvd1mPcpwRT5Ia0Zb3NgwSPIhg1UBlWFMuzukFaVk2jBWD1C+QyPOJxhP+fIa3YpLg6sma1dJ2owtk6FipuZQ9iUacLmeb2PkXUPcU1ND7zQ3XFTAZtJmm+5w++PR3/tSx2UFBZCbfAKsAak8hBsiHQ/HD0gBoWNcUqJen+7AoR0pdGWBsZn9zM9MM1mv5rG1o+AUIQW9Qcyrb7/FN176Dv/b73+Nk0czepHk3FKPF164j/HQRUmBsBbHkUzUPaLGkMAa3JF5dF0Lsi1e563eCAupo5A6Cu4dGp2E5UbMH/1ggzc7ljNDWOprHptyttWtiIcZ/X7Cn3/nLC8d73BkeQAaKqFiZ93hwbqDSCyhhMmSYmdJMo+lrg3CWNrW0k80rpOHR0ml0AbGfEn1Ws9/jaRNiyWWDj0jWG5nPL4QUAnU+fHo79/w7DvHTRUVSgr2TQV86WqmzYu4rVLHOxJgtY1tL/vzEoRAyABMghTgeCGlcojnO3Qz8NtrrC42+KN//i3W2jCxsIDv+0yNlZmol6lXQ6SUDBJNM8r40x8c5//9yhf5xne+SC9eIRvOMT49zt/8nQ8yPh4yV/dRYjRLVwikUkyMBzTP9fGsoVKSNDNoXjYf/Za+3V8sddwkhdRxgSLAquDdxTIYprx+vMWffOkMG42YpueTIElHIXn7thykdQGdaTbW+xw7sgpZxuurCQMNQ6UYr3o8NO5S9SW1QDFZcfjFj07y+M6Q5soQz1jGy4ohsB4buv2UuakKjqtQSuBLQdWV+Fetr680bVpy02aaGRIECQqN4Ewr5Zk9JWr+Nk2bBbfMTRUVcJFpc+PqSZv3lNRxVfJV1kIqhFNByADHdRBpn96xV3njm9/kC//ntzh1ogVCsv/APB956j52zYwxUSuhpKQ/SFlux/yvXznDD5f6HDl5nGjjLMPWgKA05Ff/i7/J7N4ZajWfeiAJHZlLL0KglEQKUEoQ2pQxXzCwgvXEMtDbOf5rvP5C6iikjoJ7DAs6xmRDDp/qcmplSDvKYJAQVct0rMBYe5VBWptorNW0mhHdTsJqL8UqwY/60BcSJSVzNcX9syUe3lPj+cdrzNZd6qHCcyRTgeXgrINxJGtDSy+ztLsxu+aqoBTdzLKjJPGl2J5pcxQKuNhIWOtkuMYQOR5Dm98/hBAcmPLxRkmbhVPpneWmiwohBA/Nlfj8y1cmbd6bUsc12AynEvnb1WQJnR/8Oatf/9esfPer9Jptxub2smPXDL/9Oz/LgV1TTNVKgGC9EXHqTIevv7LCsWbMqUYXawQrr7zExok22UAQllyeeOZhKqHPzpp73tFsRgqh67kErkM2jEniDF/BKy1DbMQtDP8qpI5C6ii4VzB2UzUwoBMcqRmvOrx1ZkB3qBloi0WQBd51BmlZQCMlCCl5dbHH6+sJX1vNiK3F8x3KocOnDk7w9L46Dy1UqJR8XGEIApeJekDNNUyHlh0VxasNTSc2JBpAMDkWoJSklVh2ldW1uxUjFQSjCUfTRjc6GcPEUjWajufR1vnDHpjymCsrXIpOxTvNLZ3fqarH535ix/m/W25PQWE2uxPW3nR34pZuhlz5Wra9tU1J+0vYSoXB4luYpM3Ywhgf//Tj/A//5LeZXJigXA6wWLI4pt3q8/aJBk6S4UQbqNZxlr/5P5P2jhI1I4adHl46YIIhT86FeCof75taaCbQzgQGSVgNGAYhy1rx+aWM1IK+2XM3uhnf7Dk0t3D+4WbP/UXb2fynW5E6bldBUfEVT+6q8NnHpnjxhX08MBMWiZgFd4wog2NtzZFWxlBzkRlRng+R8n0JSYbsRqhhQpRZvrKUsDowRFeYswRGC6J+ytuHm3Q2Yr63mtBKNEjFbN3nP3l+J4/sr7MwFeI6Kn9OJwC3RKlaZmyygvJdxkqK/+iRMhVX0osSzq312GgN6cWabmY53NUk1/xWNAquEoqSJ3nu4RozNYc5D6rGMJcmjLlQcQQ2M7i26FLcCW66U7HJ/qnctNm5yLR570od19uHwWZNhDRYPcRIj4aYJdnxGB96/jkef3QPs5MVLBCkCUoY0jRjeb3PsbMrrKyd5o1v/mOy9ik8YqamJ/mVX/81PvPZT/LUI/uohg420ySJZjm29I0gtZCmmqNrA753dsAfv9WjmUJvK6fmtY69kDoKqaPgnmEQa9oDzVfPxHztXMqJTsZ0qJgK5XUHaRnfxUrJUl/z5JR7RbfCWsuPv7/Myuku6xtDhlawJh0IfJ47NMnDcyE7xz004MOFUQMIhBQoz0WkCaEDm4M9325pekNNKXAYq/ng5Ac37m3TtIlFYNk54XP4VIQLjJUdfvqxCT71YJVDUz7B+3wk+Z3ilosKJQX7pgO++Ebz/SF1XOW5z9+MhYKkiZApsY7oqDmaco6NTspPPr2XmUrAuCOQI23TFZqji8f55uEj/OjEcVLhM0aDHbOz/N3f/i959iee5bEnH0EpB5Ok9LtDVtciUg1dI2gOMr7y+gZffK3Bt463acWG9AZdhYXUUUgdBfcO7X7K8saQ//trSxxeSziVKToZVD3BdElSdsSWg7TW2ykyydDVkETIfDgHgv2XmDY1mU4JAsWRoy0GseG4lrS9kMT3aQ4tH9pTZsyT1EcehitmewqB8j3McEBZgTFwupOx1NN0+ykIwfRYgFWSkoKqK/GuKYOMiiQnrzFC38FYyb//iQUe2VXmwKSHd01zRsHt5JaLCoDZmseZVszJa5g2r+BuX9WxTcwlByCw1kDaQa//EGUHZDLE8ascPHgAq3w+tn+CsqsAi0n62PZRyiriy68vkqE4sDDNRx57kp//mV9hYmKW+YV5fN8ndCXYjI3VPkmcsR6lrAw0f/ydZV5f6nFifUByU5NEi1Udt4tiVUfBu4vFGE3UH/JHXzzD0sqAdpShA5++cliODA9POFRcibt5kx1N/mxHmvVOxiAxyGGCrpfom/wxl5o2NUoJslTTzyyfX4pZSiyRdPACl7l6gBCCD876hPIquRBiNELMQjxIKCloxIblvqGfWYw2jI+FVEoeQ22ZDySBukYYlSCXdExKGLjUayGPPTTFeNWjXioWkd5pbtsZ/82PzfO1w63rP/BiqeOy390I73YxYbFbHoOQHkaEoCoI22CqlPHIA88wOTeJU67wgzN9Pr6/RqAkNu1hTUbFg//sZx7k5bOaAzM1dkxUiRKfzLpkgwFjocV1DBqBE7q8sTrkzfWYvzo3ZJAZonj7eSFwmdRxs92JQuo4T8VXVH3FC49O8vSeGg/MhEUaZsGdR6dIEyNNzMFdPkvrQxgkZJ2IzHHoSId/eXTAf/pomZJzYfJnybc8d6jKm4sDojihn2S4jS7JVJ0THc1rjZSZUDId5msnsmGEb1IcZaiVFYejFBnHHNg7zv07QhYmQ05Hloeqgit8niOEo5BBgPSG+MOIn5h1+c5iTDs2rLeGnFvtMVdzCUKf9LpjTEfdCqcEQjA+Xlx77ya3pVMBUPYVlUDx/aslbd6LUsfVUD426WL7a6ikA0mDHfufwDohYegyW3GpBw7C8TFxF98Pmdp5kPt2TLNzzKfkezhBidr4GLt2zuAoRZzmmuNX3mzx9eNdfrAypDPUpDfcnSikjkLqKLgnEYCOCUdzMZYaCcvtFBFnZFtJGkqSV+YGsOyY8PjxyYjBIMt/HXokjsPqwPDIhEvFFTiAjhKGzS4laViJDMuRIbYCqTMePzBB4Dv4jmXclQTXuBSEkqTDjE4n5o3jXcoWjkWWyAii2PDUvhqPz3hUfYkjrvcNeFRYiOLae7e5bUUFbG3aBO5RqePqCKHAraGbRzDDdj4QzPXYs/8AyssvkpqvCByFDMdRlRm8oILvBxij8co16hMT1Oo1XNelPchYbsX886+c5fBSxIlmwtDc2I21kDoKqaPgHmfz27zNl1i2Is1aJyO6qqShbty06UmstWTDBB0l1IXhxxspvcSiESgJhxZKjAUOZQd8efUVF0IAjuC1t5pEvYzuUKORNJSP9UM6Q8vH9pao+xJJXlQUzoi7n9taVFxs2gTuoVUdW0sd10OG05hoCQMEtUnGJ2fwyjUaUcZ8WRG4CtfxENIBIZFK4QRlHD/E8QISDac3Bry+2OULL6+x3IpZ76YI8omk2zr2YlVHsaqj4H3CpXMxpmoub54ZEA01WZZ3KHXoX5lDcYOmTc9VDPsJ7Y2IXjdm1pe83oXmUBMql30zIQsTHkMDJQmO2Cq7wAIaYw2Vqs+bJzs0hoYfJ4rICYiFouxJJksO9417lDZDhO/0KS24YW5rUQG5aXOpGXNyffD+kDqu9rzSyVM2/QpCZmRZgleqo9wSK50hi80BD8+WcR1FJzEYwFMSIRVDLejFGd851uL7x1q8vtihH2d0E8NQQ3t0k7xesFUhdRRSR8H7jIvmYmxP0rgJ02ZJoTyX1moXken8+YRkcaDoxJqxssN4zSdF0Uwsk+5W3oo8vk9rw7nGkKONhH+7nNLVFitgohbw3H1VHp3zmS/lIVhFQfHe4LYXFQAPzZf4Vy+vvy+kjqs9NxaQ/uhbwBAjXHpZQOrUGaS5FyIxkAiHM72M1FhKrqTRz1hqJfzZyyucXB1wrh0zHDmtu5lhI7EY4FrWzELqKKSOgvcrV87FgOvlUMhLOhzT2+pwSIJKQK/ZI5AglGB5IDgXWdbbCTPTJaxSGCTGQN29NHJbG0ucWF47ssGRY22OrQ1ZiQ0RirKv+MQDY3z8/iq7xj08CW5RVLxneEeKipKnqAaKl052bnjbd7uYuFmpw17xQ/6jUD44JUQwi/CniROJciXdWHOukWGUIlOKjSij1U347ukef/DDNTb6KXGSoQ2sRoa1gaaZWLJrtPILqaOQOgoKgBvPobhB02bVl/nkTyGIowGhtLRS2IgNfa1ZbQ7ZOVclsZLFZkzNFUyOXJv9RBPFmsNn2pxbH7B0tkeWGbpWIgOfiVpIxVPcPx0wUXLwJEWn4j3EO1JUwMi0ebRFZ3AD49Hfq1LHZX+55HdCIpwSQoVYJBZBllp6fUMvNnnCnBK8dabLN4+2+P5SxHqkiTODtJaznZROnMflXuv8FFJHIXUUFOSIS0yb28uhuHHTZjV0QEDcTzBRwpRjONw1tFNDYiyD1HKqoznTSQmkoOoKVnspr50bsNLsYbF0BhnNKOOtTkYjg6AU4jmKWiCZr7ncP+FRUsW8jvcS71hRoaRg/1TIv3ujcd3HvtvdidsidVzzGMT5P60FrQXGQqYtnX7GuUbEucaA1XZCqvNvCllq6A41ieaaCZmF1FFIHQUFVyJuQtK4cdNm6Dmkw5S4H6NTzXwoeL1raQ41nUFGJh2iFM52Urr9mO+diXhjZUCUGYTVtGLDl08NODe0NLXAVXBovszTuyt8bHeZiievPam04K7jHSsqIDdtnm3FnFjfeq3Cu11M3G6p49oIrvQvC1JjGcaGOL1oTrmxWGMx5urHV0gdhdRRULDJ6OPgvHlbwB0xbc6WFX7o02/0UBgCX+IowcmeZZAanNExrS+3ObbSp68hSi3tSHOuGfP1Yz3aqUEoyXjJ4YVHpvjUg2N8cHeFeiCvnqJZcNfyjhYVAA/Nlfg3P1y74vf3pNRxw/vJL/orjuU6Oy2kjkLqKCjYpJtYurHBkEupkF8fUtw502ZYDbDDIXUPlCNZjgxpZBhPMob9mCjVGK0RFgZxxkpzwOlmQi/RTJZddo0H/P1P7OTxnRX2TgSE7jViuQvuat7xoqLkKWqh4qWTedLmu92deOeljm3u52a2LaSOQuooKBjRjw1nuxknmwlvrMakFgJP0k8ti90MT+UzM+6EadN3JFIJTJpS8yWecgkjTTXW1KxlICEQlt2OpTPMaMSa0JMcnC3xkX01fvWZGeaqHpNVLx/lIXIJveC9xzteVMBm0maL9g2YNi/mvSd1XGdfN7pdIXUUUkdBwYherNmINJ9/rcGXDrdop4KBFrQHGUMNf3p8yBvrGburDr4riREMDLhCU3mHTJuVQCGVxFrNxI4KO2dC1paGKASzYy77pzx2uZYyFulI/MDh04cm+NmDE3x4T5WxkkPgChwpCTyJkqJY7fEe5Y4UFUoK7psO+YvXr2/avJx7R+q4OQqpo5A6Cgo2OddJONmI+b2vLvHSYo9jjYQ0s2hjeXulz7dO9+lpSTeB092UqapLy0q6GkJpqLrvnGkz8Bz8iodyBY4rmZsNqQWKJx+scGDWZxhpXCXZM+HzNz60gycWyhyYCvFULtt4rqLkKaQolo++l7kjRQXATM3jXDvm+FVMm5dTSB0UUkchdRTcIyQGBjpvOd7MaoYo1rxxLuJrR5r8/jfPcraT0B5kmMwgh7lH4fh6RKsb4/geUZKxvNzNEy7HQrSUSGMJhcGV71zSppAKIS2OIymHITMTPlM1SSV0UK7L9HSVDz8+x0zdo+ophADPU3i+g+dKRFFNvOe5Y0UFwENz5S1NmxdTSB0UUkchdRTcI0SJJtKCI13L8a6h6go8uf3CIs0MnSjlCy+v8+Ufr/Olt9usRxmuEJQkzGiLmxgGSYaxlgkF9eGQtdaQ9X5Cllkm6j5WOazFMO1qKt6F538nTJv5CDEHKRWOI8EalO8xMVFheqpEKXRxnbygUK6DclQhd9xD3NGiYtO0+b2TW49HL6SOQuoopI6Ce4XlkVTxb95s09KSCEkrsewsS7xtvA2TOGMQJXzxe+d46Xibw+cGoKESKnbWHR6sO4jEEkqYLCnuqyr2O5YpDNJY1rPcfyGlxPUdrFC0Usmu0DAe3k7TpsvawPLopEPZFbjyoqXzUoLjgnKQjkKp0QsXIJVESFF0J+4x7mhRAblp81vH2rQH2fnfFVIHhdRRSB0F9wrW0O4N+faxFr/3lSVOrg+pjZVwXIVQgIAp/9qhTlobWo0eiyfWkDrj1XMJAw0DpRivejw0nq+6qAWKyarLL318hsd3l4nXIlSmEdLSNoJmqmn3U2YmyziOAiWwwIxnqQa3btrEVQjfxXMly33D41MeJeeyFyZGQVwF7wvueFGRJ20G/MXrjULqKKSOQuoouKewxpB2u8SdLt872eHwekxjYGh1hyzMVbBKYS2M+ZLq5TffC3sBDN32gH4vZqWfYpXk5S70hURJyVxNcf9siYf31Hn+qXFmxl3KgcICrVaCp2BgLV1tiS20uzGzs1W0crDApGuZCLhp0+a5RkKjneImGU6thJaS0MulnT1Vp0jBfB/zrnzaPrJQ4acPjQO3djMy9sYLCsvW3YkbPQ7LzW13fntr8+7ELXRYzLtUUJyXKUbn/2alols9/ouZr3k8MBPy4gv7+OxjUzy5q0LFV9ffsKDgNmKzDJ0keDrmJ3e5zJUlnjB0+ymHT7aIU816YjkbGbrZ1fZikFJQq4ecHcLrTc0XlhISDIEncX3Fo3vHeeb+SZ65f5yJaglHKZTrgO9TqnkECu4LBb4AnWm6UcrR0y2s1kRGkuCQWUnJl/zCRyYo+RKRZqjuADVMiDLLV5YSVgeGKAOEBOUBgt3THg/vCpmvObja4J9tMOVC2ZUcHHfu3MkuuCt5177C/ebHdtx0R8zYLVIot8ElxYS9+aLgVqWOzaO/Wf+AsbfmPbiV153bJvKfbkXquF3eiYqveHJXhc8+NsWLL+zjgZmQ+Zp3e3ZeUHCDSNdFeS5COVRcwW88UqbiCrpRwrm1HhutIYmBw11NN7Mk5sp9GAPDKOXk8SZRK+avlhOasUZIxY66z+8+v5MP7K+zcypESUEnylhtaY6dS5C+iyr5DJTDkUHeeTAWelFC2h/iJSkfmq0Pf5IAAB/GSURBVPAI3ACEJPQVUzWH5w5VKfkSNUxQ3QEizeinln95dEA/tYAE6YJQlHzJxw5Vma45TJYVD854fHxK8lsPl5kKFW7RGHxfc8flj01KnmIsdPjuie2PRy+kjkLq2KSQOgruSoRAug56OMQVF8r3oy1Nb6gpBQ7VsofnKlqJZVdZ4V/2lrVW8ParKzTOdWm0hgwNbKBww4BPHprk4dkSc3WHVFvWGkNWWzGNboo2lsZA08wsXzjZYymGVgZlT/HgdMjjsyHP31djLHRwlGBoFY5NqQU3btqUwM7pgPF6mWcemuDJPWXqgSwKioJ3r6gA2DcV8K1jbVqDq/YBgWJVR7Gq41KKVR0FdzNCgPRc9GBAxcm/TZzuZCx1Nd1+yvx0BcdV+ZyOK0ybBq01nq84cbLNINEcTQRdtwx+QCe2PDbv4WJZX+vTjVL6Q02UGE40E149G/GFIy1aKQglmSg5fPrgOD9xYIynFsqUXUGKpK8Fb0WaxMCYa65i2iwTWYkjYKGimD5v2tQ4jqRaq7JjpszcRIBbXH8FI97VokJJwYHpkC9cI2mzWNVxCxtTrOooKLjjiAvLJHWSUHGhMbQs9zW91NLuxuyaq4JScIVpM/dTGK3pZZY/Oh5xKoKhHHkmlOBUO2WHynCsoTvUdIaab57q8d3TXX60PKATm3xI15jH5z42z6M7SuydCEgyw5GNIT9c6nHGKgbkxs4xxzDmX2ra1NoiEXhln6HJj3EmVJQcCcoB5SGlwnUK31LBpbyrRQXATNVjpZNwbG1wye8LqaOQOjYppI6Cd5vN9/J2bWBCyvwzIE1x0cyVFT9aTWnHhkTne5ocC8iEoKQEVVeOZBCBTRIcnbLaGfJGI+VoJ8Nog1P20QqszL9sedaw3s/41682eHs9ZqmT4rsXDel6eoa5qkvdk2Sp5qtHmnzlSJvvnx3QTw07JkMCT7FQFvjCIEc5FK+djEiiDB8LJR83dBlmlqdnXQKVSyX5mSiWeBRcyV1h1f07z87zxTcb5w18hdRxi8dwK9vdhVLHfN3jc88tMF/3ChNmwR2lmxgcJdjUJwK2fytVnocKA2yWUXdT/vYjZf7b73ZZ7uemzfnpMt50mcNdzY6SxJcCT4DNNCaK2F8XHJpyOdnOWBla4nYXNVOnMdT8eCVj2Sa8uRwRpXl3Y7bq8dMPjvHojjL3TQaUfYXJNMN+wsnDq4TthBNrCc0MAt/FxCkH9wSkUmGyjNBXTNccfuJQlS+/3GYwSJnRCeNByN+4v4Qri3HkBdfnXe9UAISeYrzk8O3j7ZvavpA6Rsdwq9sVUkdBAQBRYvjxasy3Tw/QSuC7Cm9UWGy74T8ybTIc4m0uH7fw9rVMm0qABZOk2EFMXVpeXknoZZbUgDUWHWe0mhFnGjG9RDNVdtkz5vO5Z+fzgmIqxHfy2R2eEiwfWyPpxbT7GZmFs5lLbBS7Jnx2jXmMBRIrFcFFORTNnma87PKBPVX+vcfHmQwVVbeoKAquz13RqQD4aw9P8PlX1jixzYFjcBdKHTfbnSikjvNUfEXVV7zw6CRP76nxwExY5E0U3DHSRBMnmm8cafOlMxlHuhlzJ13+q09OUfEcNKDZfmEhpMQZH2O4ss6kL9lbV+ytKl5vZBw52WJ+uoLnKnypONzVPFZXeK5LahXtrsb0Yn5+weH3j6VEsSbtDrBCYrXGdRQH58o8tavEZw6OE7qK0FUgIPAUnivBWHYfmOZb3z5NZODYUCCkIkoEf/V2j+fuqyBLioozyqHQCbtnAp5/xsfxfOYnA8LLl6cUFFyDu+bd4irJ735q97Yee2GhFpd0J270xma5ue3Ob18EWBUBVgX3DEZber2Ev/rGCRpvr3JiuU+zl7Hcyfjzwz16iTlfVGz3PW+RpFYx9EI2BpZdJcV9dYcJX5Kkmh++sUKSaroZnI0M64kFIfDqVQySkiuZ9gUfn1aUHIExFmENge+wf/cY+/dP8OlDk8xXPeqBwnUEtbJH6Du4o0ju1iCl5Xv86YalmVqQMF6WfGh/lf7QUpYChQTpgXQJylUO7Blj/44yYXH9Fdwgd01RAfDwjjI/c2jimo+5pJiwN18U3KrUUQRY3T7vRBFgVfDuYwHNyrkWcayJ+zEfkn18Y1nuZLyyOOToWgJACmyRWXXp3ixoY+kPNb3EMsDFOi7d1LKnJom1Jc3yJaZHTrZILkvalI5iat8M0nWYDgUHxxR7Sxfkhz17xpmYKlOqhhwdQAL4nkOl5OEogbGWQWJ48/gGbx5vcLY5wBGWBHCE5mefGOfRhTLzYz6ddPR6hAInBKGQ4q66NRS8h7jr3jm/9dyOLc1AF26GnL+bvhtSx+at+KaNmPbWvAe31FnZ/H9rb74oucXjv5iKr5ivefzy0zN87rkFfvnpGeZrXtGdKHgXMEhl2bWnhu9Lyq6krA0PEeMZy9G1hFeWhix3Myz5Tfxql4E2llQbWr2YKE5IMktkJG914C/PZfzRW0Oy0QXYu0rSZiYkbuBRnxtHOoo9JcGDNcmUJ5BSsLrSRUnB+sDw+kbG2YHA8xRS5OPWO4OMV0+3ONscsNqICNDUfUml5FAdC3jzXJ9KkH/8O5d4wYpVHQW3xl1h1LyY3LTp8p1R0maxquPSfdz0dnfhqo4iwKrg7sIigFo9YPFkF5IMrKUlHDYywXIn44mFgEogtzRtWgupNgwTTW+QoI2hG2tag4wvvNXiqyf6fO/sgHZqCZQgkGAQDJKtTZuhpxBCEPdjdJQw4cDhrqGbQmoEmYWBljSHNi8YXMFiJ+UHSwOWm33A0hlo2oOU1xua1diSuh5GCGarLhOB5Kn5gJIjKDyYBbeLu66oANg/HfDt4x0a0Shps1jVcWvbFas6CgqugwDs+ZRLgMbGEM8YBlbQRRFbwelWygf3hFRG5kXJ/9/encbYfZ33Hf+ec/7L3WcfznBIUZQoUSIpyUsUJXYsx7VdKaiTNkHRoEDaJqgdo0FRtOgCvwy6AW3Qt0Ea9IUbwwlqqEgL1y4lu4brOLJVK9QyEneJIoecfb/bfzvn9MUlRZoipaE0tGZ5PsDMi8v/vXOJuXfmmfN7znNA+d7ciE5q6SQFSW5xHuZbBZdXU/7Lj+aYnO5wYTlBK814qTf2+lCfoZU71lJ320mbUWTIujlJK6HILHvLmtebnvXUkuUOFYZkDqbXc+bXUr7/VpsT0126uSfEspo6vvNmm6mOZznzlALNoxM1Ht9X5ekHGtQiTSQFhdhEW7KoMFpx/0iZb08uvX3bh7qr4wM8huzq6JEBVmLrU4AjurpCsL6SkLcy+pTjChHNAuzViuPQSNRrhHRgraPZyskyR+E97cxyZr7LC281+dO/WmS+1Rt9XY00j+0pcXgo4mDF0x+CRdPMPYnllpM2G5EmKke0l1uEylGtBUSh5s2mI8ldb64FMD+7xvm5NgsptDJPOylYXEv54RtNVjOH0oqBcsCvPjLE04f7efJgnf6SkSPKxabbMltKb3Z0b5VfOTbIt1+7/Qjv25Goo/dpK0UdMsBKbH2K3tqDY2ioxN6JGkkzJ2vlPKHaPKfqzDYLXr6S8OjeEkfHYtLcQseinKOdWtqF47vnV3ltus2bSyntzNKIDIMVwxP31nsxhfaYDPoCz33DitZ5zxur7u2mzWMPDLGoDdMdRz0wVAPD+IPjdGbm0TiS0HJ61XF5MWew1WG52SV3HrQiApyCy6sFFwtHYR176hF76hF//xf2MN4XM9EXUZaTv8RdsmWLCoAv/tJenj25jH2vVusbbFrU8QF2dXwQOy3qeHC0zM8daPCFR4aox0aaMMUW1zuJM4wM9x8eYO5KiyyzpKnjqE45YUucW8j4yaUOoXYMlA0KT6eVs9DM+bOX5plr5cy3cmKj2V8PmeiLODpSIg4VtVJAZBT37okZDXMCLP21gH/zfJOZ203ajDRxJUKN9FG0mjxgNE8dUJwtOthWThOYNBqlHAeDgjcSx1zqqMWG+/dUeWRvlc8/1E+9FNKohFd3bl1dihVik23pomKoGvJPP7uf//SdqQ1dvylRxwfY1SFRR48MsBLb17XVCksUGR57fIznvzdFI8uY8BmXdcBUZvnumTUODBhy61hczzh/pc33z63QzhyF9TQiw9GR3qrAaMUQG021bKiWIx470KASQLmzis9Sus7zKwdjvnE2YWk1YWahRb0aEtUiXlwq+MyekCgMiGoVlCsY3hPxmSGHXcpZU4q9Fc2BWJMnOWnuUFpTKwU8ebifj0zU2N8XU44NRisMnnIUyLhtcdco/34nN/2M5Nbx5a+ffceBY9dI1NH7JFGHEJupADztVsYbp1c4PblIK3OcsBEnfUhuDBN9hvv6NFOLXS4uJXSuRh19seaJ/VX6Yk0j6g2kGqhFjA2UuG+sRhRoQg0+y8iWFrC55cR8zldfa/PyfEGtEvHpx/cx1F9iqGw43DC9SZvKg8+BgqxwLC/lzEy1GB2KyL3j1XPrNDsWUw45fGSUoaphpBaRW49HEYaGUmRQStYoxN2z5YsKgNen2/zen519x+2bEnV8gAeRqOM6iTrEzuLpFRYwP9PmlZ/MMj/TZt1rnrMx81bhioxQQScriILe0eD7+mKOjkTERlGLDVGguW+sxlh/iYFaRBhc/3XurSVvNsnW12mllmfOJhy/kLCc9U4w/fTj+6hVIvaWFD83FLC3pK4+rxzw2MJQpBmxLshyx4WZhNQaDtzTTxgozNURXVprlOntKpFiQtxtWzr+uObo3ip/45EhvrUZu0Ek6pCoQ4j3dL1pc2CoxNhEjXYzJ23lPKESnssU685j6c3WObanxN7+mPFYUwp6BUW1FPDYvf1USwHV0jvfE8oYTLmESRJqPuHpgzEvz2e0cnvbps16oIDeFmwTKIxWUEAUGA7dX8OhCQMNHqy1KK1RSqGkmhA/I9umBfiLnxzHaPXBJkrKWR1yVocQG6YBRRgZ7js8QLUeUos0fcpzNHTE9MZlHegvs28gZl89pFI2jPbH3D9W4xMPDTNQi25ZUFxz7Xh0ZQJqoeK3j1WpheqWkzZbhSfrzdPm7QBDGwjLEESYIOgVFFcvMYFBaykoxM/WtikqBqsh/+yz+97XfeWsDjmrQ4g7d221grebNqPI0NAwEcCo0XgfcHm1wCiNCTQPTjQ4dm8/D+1rUL16wNe7fwlNWKuhg4BabBirap4+GFOLFEurCbMLLdqdDOvgxFJxtai4+TEUUjmIrWLbFBXQOx79gdHyhq+Xszo++PO/kZzVIXaf66sV1XrIfYcHCCPDqFFMBNDQkHvNi1cKjtzTx8GxKsN9Mea9iokbKK2JBvpRWjNW1XxkNOJQvyHLLWffWqXd7h17njnPxbbFbvkuOLGbbauionc8+v4NXStRh0QdQmyO3uu8WosYm6gxMFQiVp6jkaMvMKANXRPzo6kcrzSOOzseHaXRQUBYq4HSHOo3fGQ0YqyqSXPLX52cI/KOWCvGy9vqR7bYhbbdK/TIeJUvPDJ023+XqEOiDiE21/UY5FrTZrUWESt4opQTBwFzLcerMwlnFzIsvVNM72BmH8oEvabNKKIWKZ4+GDNW1QyWNPf1h4way6f2hNQCJaO1xZa2LXZ/3OyLnxzn+OvLFDes68uuDtnVIcTdc33S5n2HB5h9e9Km56hJOWEV5xYyTlzpMtoIGKsbMqDExmdCXGvadEVBLSr48sf6OJfEHN5b5+E9ZSrb8qe12G22xZyKW/nmq4v8wdVJmzLASgZYCXH39YKNPLOsLCU8/70p2q2MKRfygq8w5ULG6oavfG6YQyMR9UgTAnfy7vG2IFleAeeg3kehDfWSnOIrto9tW1QU1vPlr5/h7EJHBlhtEhlgJcR7udWkTc8JG3PSl3BhwKGRiK98bpixeoChV1Rs+F3kPd5ZoNfAidp2CbXY5bbtKzYwin/++f2yq2MTyK4OITbqFk2b9A4b61OOPLPMrhccP9WilTksd9q0qVAmQJlACgqxLW3rV+2R8Sq/9ujwHd1HdnX8NNnVIcSduF3TpucJ1SZW/u3j0c8vZEBvqPadNG0KsZ1t66IC4EufHCfcYDu07Oq4TnZ1CPF+3W7SZm/FIsZzfiHj5SsJs80CT283yLbMmYW4Q9u+qBiohu85u0Kijusk6hDig7rNpE3lmCBjVFtameP4qRaz6wWtzOHorVgIsdNt+6IC4OkjQxzeU3nH7RJ1/DSJOoTYLLeZtKktE2Q0lKOVOr76/1ZppQ5Pr7dCYhCx0+2IoiIwin9x02qFRB3XSdQhxN1wq6ZN/46mze+dbZPlHsPGZ1YIsV3tmHEqD49X+ZuPDvM/XlmUAVZXyQArIe6mdzsevc3zUQMPjFUMxnsiKSnELrBt51Tcykon59f/6DWy93nijgywEkLcmWvBRm92xfPfm2JlKSGLQpaqNZ58fA/jjYCx+o75+02Id7WjigqA/zW5yL8/fumO7iMDrIQQ79/1SZurywmnJ5foH6xwz+EhwiigEu2IlFmIDdlxRUVhPV/6+hnOzHXe81qJOoQQm6M3aTPPPFkKUWwII3n/id1nxxUVAKdm2/zDr51512sk6hBCbJ5rb2jpmxC7244sKgD+w3OX+J+vLL7jdok6hBBCiLtjxxYVNzdtStQhhBBC3F07tqgA+NbkEv/u+EWJOoQQQoifgR1dVBTW87t/eoZTs+/dtHkjiTqEEEKIO7ejiwqA07Mdfudrpzd8vUQdQgghxPvg7M4vKgD+43cu8ecvv7Np80YSdQghhBDvkysgT3dHUbHaKfhb/3mStHjnf1WiDiGEEOIDchbyZHcUFQDfem2Jf/u/L/7UbRJ1CCGEEJsj63R3T1FxY9OmRB1CCCHEZvJkabZ7igroNW3+9tdOS9QhhBBCbJrewXp5VuyuogLgD75ziWdeWnhf95WoQwghhLiV3vk3u66oWO0U/NofTZIWbsP3kahDCCGEeDe91YpdV1RAr2nzX3/7rQ1dK1GHEEIIsRFudxYVhfP87tfP8PpM+7bXSNQhhBBCbFw73YU9Fdecnu3wD/7k1Dtul6hDCCGEuDMz6xkza7ts98fNbm7alKhDCCGE2Lgks0zNd/nxpXW+8crS7i4qrjVtJoWT1QkhhBBig1LrSVPLiycXOTu1xgvTXc63d2mj5o2+9doSv/+ttzblsWR1QgghxE7XSi2tzPKjc0tMXVhjdqZNy8FkCsGH/eQ+bE8dGeSZlxZ4bfr2TZvvRRoxhRBC7HRp5phfSZhZSbjQSUmtpQ3koWGmY4FdcPT5Rpye6/D3vvrOps2NkKhDCCHETmet46WTy5y70GQ5zQmGI5JAs9zMeeHMGp3C03GyUgHAQ3sq/J2PjfCNExuftClRhxBCiJ3Pg3ck7TYUGfNLXbqFI7WeOe84OZeSWoUJNIORkaLimi/90l6+OblEN3/3SZsSdQghhNhV8i7VEowOGgYHQl652GGtlXPBQsc6UJp6xfDrn7gH/WE/162ivxzwlafueddrxhsRD46W+f0vHORXHx3mY/trUlAIIYTYMRxQ+N7H270RJgTvGR2MGBwKMLGimzn6rcOgcF5RL5dAKVmpuNFff3iQZ04sMHlT06ZEHUIIIXa6Vu5QSrFuFVrBUAiBUjgdoJShFHp+4XCdVy92WE8sKnUMo5gH5ldTZpcSadS82Zm5Dr91tWlTog4hhBA7XSd3XF7NuLiSUW/EDFYiPFANYCBWhMajixRTpHTTgkuLGf/1uXmW1wtaKKZ1QBJFjA1XZKXiZof3VPjNj4/yg3OrsqtDCCHEjtVKLc3U8v1z61xazVlOCvrKIT//wABdp5ic7vDUoQpHRyKcidAup1IyjDQCPnGkzv95aQ2bevoig+kr48olKSpu5R99ai/DtZCnjgxK1CGEEGLL8YD6APefWc+YXsv447+YYbFdUCqFxIFmpWO50lrgjbZGa0V/STNYNozUNDYsU8nbDPUFHN5f5szlLq9dTqjlObnRJMUuPaV0I3LrCI30sQohhNg6nAevrjdRGu6suGinljPzXV68uM43J5dpppY091RCQ7VkaKY5CYa8VIUgZKyi+VefHuL+4Yh65IltSmxTuqnl2ZfW+IvXm8y3HHkcku0bkaJCCCGE2Opy68kLz9xqSq0WUq8GKCCEDW3j7KaWVmp57vUlfvzWOpNzXVqpJVKaSMGA8aQeFguPUZqoXCYLSsSB5tBwxL/83DBj9YDAF5SKLsYXLK4X/PGz81xayGg7jR+uy5ZSIYQQYivz3pNllhPn1zl7pcP0Uko7cVgg5Yatn7fR6uTMriT84XMX+P7ri5y80sIWjrGK4YGBgAMlqOIZCjWjgeJB5XgkT+gvCtLEMrte8OypFp3M4ZTB6hCPphJrfuMXB6nEGpUX6GZXeiqEEEKILctZlC1IOwk4y8J6wXK3gy6HjOiQSqRQQOkWd/Uella6TM+3ePHsMitrKYvNgmqg2NeI2N8I6AtgtanICk+9HHBoIGbmUoukVRAVbX4S1JltFrx6JeGjEyU+OlEiNxHG5VRiw3Aj4FNH6jz70hqdbiZFhRBCCLFlOQtFSj2GQFlaheeHFxN+PG/5vc8OU44CLGDp9VfA1SZO7ymSlLW1Nm9cXEEXBUZ5wlCTxRFpoBksa/pjw77BMn2VkJ9/sE6ROr67ljKTObLEMVikzAYlzi9kvHIlYbwRMFY3ZEGZUt5muBHw8P4ypy53OX05kfhDCCGE2LK0IbeKpfmEfKXDX55rM71W8MZyzrMnW3Qzh6I3CdMDXQvNHNIkJVSWeqSIQs1s6ulYWA1DMgU61KwTcOxAP08eG+GvPTbMcCOiFCsefXSQOQdJ4QiKjNhbWoXj+JkWs82CVuZxSpObCFDcMxLx8P4yw41AigohhBBiy1KapZWCU2fWOXtqjQeLFt45ZtcLJqcT3lzI0EA7c8y0HRebltdXCy4ninZSoJViat0yuVQwueZotjMGKxHjfSV+8/ExDk/0MTFYITIBq+s5i6s5lxa6jI/EWKMIvAWXoXC0CsdXX1yllTo8GqtDrDJUYs2njtQZbgQSfwghhBAfFudB33ZPqAdlaQzEdBNLCU+/9hwh42VKnFvI+MnFDiXtOTvdYnq94N57ByiVQpyFvOt46YVZOms5Kx2LU5o4jhlrlPjHvzjKaDWgHGjywrHS7LKylnF5vo1WnqikMSXNbNuSZSk+jGilvabN42da/O1HG9QiQ6FDtHVvN21KUSGEEELcZbcaVpU6yGyvqCgZMOrm6zzgCSLNx54Y4y+/N0V/M2O/zpj2IVOZ59sn1zj91jJZask9dJzi2AP9rBvPpUstlrue9XbB/YHitUoFX62gyxWaheJAoCisY26pRZJakqwArXmrmXGhVXAudSRAoDxR2saW6syuF7w8lfCR8RKPXW3aDG5o2pSiQgghhLhLPL3ViLzwGK0IDXQyx1JiSZ2iZRWRgQN1Q6BhLYeq6X30JlA4oiigXo944KFBTk8u0J9a6kVCXGhWV3NeX1f0h4pQKxZX2qysx+wZCqlM1JidapKGmnOZAhRBFDKXOKbWc8ZKDm0LAqNYTwtaqeOHl7ucnOtwpWVJCk9/qGgoOBY5Zkl53fWaNl++kjDaCNhTN3SD3qRNKSqEEEKIu8AD1nqscxRO4xW0EktuPT94Y40LyykP7GswWItx1tHqFuhSSGA0Q1Fv1aKkobenw1GtxwyNVgn713ntUoeVIiO3Guc9mVN0tGYkVjQ7OQsrHfqrZQYDz5EjdZ5/PmOtsFSxDAaOX94XM1pWKGvxHhbaBbNty397eZH5ZsFi11KLDY/tiTk8FDO60MJ1cmKfMatCpjPF8VNNHpkoUY015VCDjqi4VIoKIYQQYjN5D1luya3DOo/Snvm2Za6Z8cyJBZqZp114Lq/lHNlfZ2Y5Y6GZ8uSxYcZHqqxlHl2BoVhRMr0Vhm4nwwSeNxPHFa+YKTy9jaSawnty58k89GlYXU7Zvy9kQhd0SgWfORjxf6cdjYrmdz7eYKQRMFIyNJOCc7NtXr3S4bkza7QyC0oxUg15+tgAHz1QZX/VsHQx5OSrS5QSS5BnREbRTBV/8sIK/+SzI9RUgHMh4xRSVAghhBCbxVpPlhVY57G+dxLo+eUOk1faHD+1TFJ4ojDAGMVaJ+PNuTbNpPfLvK8e01WGqW7BS6Hit+6vUDKKIncszXU4d3KO/aEjUFDSisT1ei5A0S08KMNgPebvPjHKcAkGWisM1Ayfvq/B+Jjho/sbVOMAByy0Mr59coVXp5qcX0xpZ5aBcsCeesRvfGSY8b6IhydiAgO+W8LVI84ud6mSEqiQblIwvVLwzVdW+OVHh6jEhhIhAdD5cL8F21Z49UMIIYQArhYU1tNKLeuZ5fjpVV653OL8UkI7tZS1QheW7tVCoHAeg8aieOHsItNeEZZCWqWA5+cyPr8vJFKONE0BCK3jM0OGP5+zJK73NbXSOBWwagOePDpCfy2mv6xANwi858GRkIMEGKXoJgXr7Zw//OEsZ5dS5poZodHs74+5Z7DCUw/1M1gxDFUCuoljMMwZrSkGhyKqizmrLUs9a9MlYCHxnIzhwHiFA3sqNAtDAFQ/zG/BNjYAXAD6PuwnIoQQ4sPWO4EjigwXF7tMr2V89YU5Zpr51V/ciqFQUTfQpxwrVoGG0CiGY5hNHO0MLr25xIFDozS1Z7aZM9eGexuavff0sTjXxjlHnjo+3uf5yZrDOegLNMsmptAx/32yzeE9ZbwxuHqNwDlCYwg8rK90WVvucO7iGkO+YK1ToJRmrBHzyESd+4dK5E5RKwUERjMQGkKXEweOjx4s84MLHRINS9aBKsDD1GKHyQvrFCjqpYD/D5zolM1r+K8CAAAAAElFTkSuQmCC\"/>\n</li>\n\n<li>\nExcepteur qui officia deserunt mollit anim id est laborum\n</li>\n\n</ul>\n\n<h3>TiddlyFox</h3>\n\n<p>\nConsectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n</p>\n\n<h2>Syncing tiddlers with servers</h2>\n\n<p>\nDuis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n</p>\n\n<h3>Browser Same Domain Origin Policy</h3>\n\n<p>\nTempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur qui officia deserunt mollit anim id est laborum.\n</p>\n\n</body>\n</html>\n"
  },
  {
    "path": "editions/text-slicer/tiddlers/system/$__coreURL.tid",
    "content": "title: $:/coreURL\ntags: $:/tags/Global\n\n\\function coreURL() [[../../tiddlywikicore-$(version)$.js]substitute[]]\n"
  },
  {
    "path": "editions/text-slicer/tiddlers/system/DefaultTiddlers.tid",
    "content": "title: $:/DefaultTiddlers\n\nHelloThere\n[[Sample Text]]"
  },
  {
    "path": "editions/text-slicer/tiddlers/system/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\nturning text into tiddlers"
  },
  {
    "path": "editions/text-slicer/tiddlers/system/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\nText-Slicer Edition"
  },
  {
    "path": "editions/text-slicer/tiddlers/system/sidebarlayout.tid",
    "content": "title: $:/themes/tiddlywiki/vanilla/options/sidebarlayout\n\nfluid-fixed"
  },
  {
    "path": "editions/text-slicer/tiddlers/system/storyleft.tid",
    "content": "title: $:/themes/tiddlywiki/vanilla/metrics/storyleft\n\n400px"
  },
  {
    "path": "editions/text-slicer/tiddlywiki.info",
    "content": "{\n\t\"description\": \"Tools for slicing up long texts into individual tiddlers\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/text-slicer\",\n\t\t\"tiddlywiki/sax\"\n\t],\n\t\"languages\": [\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\"\n\t],\n\t\"build\": {\n\t\t\"index\": [\n\t\t\t\"--rendertiddler\",\"$:/core/save/all\",\"index.html\",\"text/plain\"\n\t\t],\n\t\t\"external\": [\n\t\t\t\"--render\",\"$:/core/save/all-external-js\",\"index.html\",\"text/plain\"\n\t\t]\n\t}\n}"
  },
  {
    "path": "editions/tiddlywiki-surveys/scripts/extract-text-tiddlers-via-console.js",
    "content": "function stringifyList(value) {\n\tif(Array.isArray(value)) {\n\t\tvar result = new Array(value.length);\n\t\tfor(var t=0, l=value.length; t<l; t++) {\n\t\t\tvar entry = value[t] || \"\";\n\t\t\tif(entry.match(/[^\\S\\xA0]/mg)) {\n\t\t\t\tresult[t] = \"[[\" + entry + \"]]\";\n\t\t\t} else {\n\t\t\t\tresult[t] = entry;\n\t\t\t}\n\t\t}\n\t\treturn result.join(\" \");\n\t} else {\n\t\treturn value || \"\";\n\t}\n};\n\nconst tiddlers=[];\nconst questions = [];\nconst siteIconByUsername = {};\nfor(const child of document.querySelector(\"#tiddlerDisplay\").childNodes) {\n\tconst titlePrefix = \"2010 - \";\n\tconst title = child.getAttribute(\"tiddler\");\n\tif(title !== \"HelloThere\") {\n\t\tquestions.push(titlePrefix + title);\n\t\tconst childTitles = [];\n\t\tconst children = title === \"What do you think of the name TiddlyWiki and the term \\\"tiddler\\\"?\" ? child.querySelectorAll(\"div.content > div.viewer > div.resultsArea > ul > li\") : child.querySelectorAll(\"div.resultsArea > ul > li\");\n\t\tfor(const answer of children) {\n\t\t\tconst siteIconName = answer.querySelector(\".siteIcon img\").src.split(\"/\").pop();\n\t\t\tconst username = answer.innerText.split(\"\\n\\n\")[0].split(\" \")[1];\n\t\t\tconst answerDate = new Date(answer.innerText.split(\"\\n\\n\")[0].split(\" on \")[1]);\n\t\t\tconst answerHTML = answer.querySelector(\"blockquote\").innerHTML;\n\t\t\tconst childTitle = titlePrefix + title + \" - \" + username + \" - \" + answerDate.toISOString();\n\t\t\t// console.log(`${username} has site icon ${siteIconName}`);\n\t\t\tsiteIconByUsername[username] = siteIconName;\n\t\t\tchildTitles.push(childTitle);\n\t\t\ttiddlers.push({\n\t\t\t\ttitle: childTitle,\n\t\t\t\ttext: answerHTML,\n\t\t\t\ticon: `$:/avatars/${username}`,\n\t\t\t\tmodifier: username,\n\t\t\t\tmodified: answerDate.toISOString().slice(0, 10).replace(/-/g, \"\") + \"000000000\",\n\t\t\t\ttags: stringifyList([titlePrefix + title,\"2010 - Interview Answer\"])\n\t\t\t});\n\t\t}\n\t\ttiddlers.push({\n\t\t\ttitle: titlePrefix + title,\n\t\t\tlist: stringifyList(childTitles.reverse()),\n\t\t\ttags: \"[[2010 - Interview Question]]\"\n\t\t});\n\t}\n}\ntiddlers.push({\n\ttitle: \"2010 - Interview Question\",\n\tlist: stringifyList(questions)\n});\ncopy(JSON.stringify(tiddlers,null,4));\n\nconst commands = [\n\t\"mkdir -p ./editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/images/\"\n];\nfor(const username in siteIconByUsername) {\n\n\tcommands.push(`cp './editions/tiddlywiki-surveys/great-interview-project-2010/The great TiddlyWiki interview project_files/${siteIconByUsername[username]}' './editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/images/${username}.jpg'`);\n\tconst metafile = `title: $:/avatars/${username}\ntype: image/jpeg\ntags: $:/tags/Avatar\nmodifier: ${username}\n`;\n\n\tcommands.push(`echo \"${metafile}\" > './editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/images/${username}.jpg.meta'`);\n}\nconsole.log(commands.join(\" && \"));"
  },
  {
    "path": "editions/tiddlywiki-surveys/scripts/import-great-interview-project-json.sh",
    "content": "#!/bin/bash\n\n# Load the Great Interview Project JSON data into TiddlyWiki and then save it to the specified folder as .tid files\nrm -rf ./tmp/2010-great-interview-project\nnode ./tiddlywiki.js --load ./tmp/2010-great-interview-project.json --savewikifolder ./tmp/2010-great-interview-project\n\n# Copy the tiddlers into this wiki\nrm -rf ./editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project\nmkdir ./editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project\nmkdir ./editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text\nmkdir ./editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/images\ncp ./tmp/2010-great-interview-project/tiddlers/2010* ./editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text\n"
  },
  {
    "path": "editions/tiddlywiki-surveys/scripts/readme.md",
    "content": "# Utility Scripts\n\nThis folder contains tools used to extract the tiddlers from the original HTML file.\n\nAll pathnames in these instructions are relative to the root of this repository.\n\n1. Load `./editions/tiddlywiki-surveys/great-interview-project-2010/The great TiddlyWiki interview project.htm` in a browser\n2. Open the developer console and paste the script from `./editions/tiddlywiki-surveys/scripts/extract-text-tiddlers-via-console.js`. The JSON representation of the text tiddlers will be generated and copied to the clipboard\n3. Paste the resulting JSON into `2010-great-interview-project.json` in the `./tmp` folder in the root of this repository\n4. Open a terminal console in the root of this repository\n5. Run the script `./editions/tiddlywiki-surveys/scripts/import-great-interview-project-json.sh`\n6. Go back to the developer console and copy the text that was output by the previous line. This is quite tricky: it's a big block of text including newlines. It is easiest to scroll back up to find the line starting with `mkdir -p` and then select down to the bottom\n7. Paste the results of the previous into the terminal\n8. Build the wiki with `node ./tiddlywiki.js ./editions/tiddlywiki-surveys --build index`\n\nThe resulting wiki will be found in `./editions/tiddlywiki-surveys/output/index.html`.\n"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/images/aamaadmitw5.jpg.meta",
    "content": "title: $:/avatars/aamaadmitw5\ntype: image/jpeg\ntags: $:/tags/Avatar\nmodifier: aamaadmitw5\n\n"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/images/alexhough.jpg.meta",
    "content": "title: $:/avatars/alexhough\ntype: image/jpeg\ntags: $:/tags/Avatar\nmodifier: alexhough\n\n"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/images/amalfaro-wrk.jpg.meta",
    "content": "title: $:/avatars/amalfaro-wrk\ntype: image/jpeg\ntags: $:/tags/Avatar\nmodifier: amalfaro-wrk\n\n"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/images/andrewbarbour.jpg.meta",
    "content": "title: $:/avatars/andrewbarbour\ntype: image/jpeg\ntags: $:/tags/Avatar\nmodifier: andrewbarbour\n\n"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/images/calmo.jpg.meta",
    "content": "title: $:/avatars/calmo\ntype: image/jpeg\ntags: $:/tags/Avatar\nmodifier: calmo\n\n"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/images/climatechange3.jpg.meta",
    "content": "title: $:/avatars/climatechange3\ntype: image/jpeg\ntags: $:/tags/Avatar\nmodifier: climatechange3\n\n"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/images/colmbritton.jpg.meta",
    "content": "title: $:/avatars/colmbritton\ntype: image/jpeg\ntags: $:/tags/Avatar\nmodifier: colmbritton\n\n"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/images/dickon.jpg.meta",
    "content": "title: $:/avatars/dickon\ntype: image/jpeg\ntags: $:/tags/Avatar\nmodifier: dickon\n\n"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/images/frankfurtkid.jpg.meta",
    "content": "title: $:/avatars/frankfurtkid\ntype: image/jpeg\ntags: $:/tags/Avatar\nmodifier: frankfurtkid\n\n"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/images/gjrobert.jpg.meta",
    "content": "title: $:/avatars/gjrobert\ntype: image/jpeg\ntags: $:/tags/Avatar\nmodifier: gjrobert\n\n"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/images/kosmaton.jpg.meta",
    "content": "title: $:/avatars/kosmaton\ntype: image/jpeg\ntags: $:/tags/Avatar\nmodifier: kosmaton\n\n"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/images/mama.jpg.meta",
    "content": "title: $:/avatars/mama\ntype: image/jpeg\ntags: $:/tags/Avatar\nmodifier: mama\n\n"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/images/martinlindner.jpg.meta",
    "content": "title: $:/avatars/martinlindner\ntype: image/jpeg\ntags: $:/tags/Avatar\nmodifier: martinlindner\n\n"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/images/matt.jpg.meta",
    "content": "title: $:/avatars/matt\ntype: image/jpeg\ntags: $:/tags/Avatar\nmodifier: matt\n\n"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/images/passingby.jpg.meta",
    "content": "title: $:/avatars/passingby\ntype: image/jpeg\ntags: $:/tags/Avatar\nmodifier: passingby\n\n"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/images/pmario.jpg.meta",
    "content": "title: $:/avatars/pmario\ntype: image/jpeg\ntags: $:/tags/Avatar\nmodifier: pmario\n\n"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/images/poulstaugaard.jpg.meta",
    "content": "title: $:/avatars/poulstaugaard\ntype: image/jpeg\ntags: $:/tags/Avatar\nmodifier: poulstaugaard\n\n"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/images/rouilj.jpg.meta",
    "content": "title: $:/avatars/rouilj\ntype: image/jpeg\ntags: $:/tags/Avatar\nmodifier: rouilj\n\n"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/images/smandoli.jpg.meta",
    "content": "title: $:/avatars/smandoli\ntype: image/jpeg\ntags: $:/tags/Avatar\nmodifier: smandoli\n\n"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/images/ubi.jpg.meta",
    "content": "title: $:/avatars/ubi\ntype: image/jpeg\ntags: $:/tags/Avatar\nmodifier: ubi\n\n"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/images/webid4me.jpg.meta",
    "content": "title: $:/avatars/webid4me\ntype: image/jpeg\ntags: $:/tags/Avatar\nmodifier: webid4me\n\n"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/images/yakov.jpg.meta",
    "content": "title: $:/avatars/yakov\ntype: image/jpeg\ntags: $:/tags/Avatar\nmodifier: yakov\n\n"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - Do you keep adding new features to your existing TiddlyWiki(s)_ - amalfaro-wrk - 2013-07-01T23_00_00.000Z.tid",
    "content": "icon: $:/avatars/amalfaro-wrk\nmodified: 20130701000000000\nmodifier: amalfaro-wrk\ntags: [[2010 - Do you keep adding new features to your existing TiddlyWiki(s)?]] [[2010 - Interview Answer]]\ntitle: 2010 - Do you keep adding new features to your existing TiddlyWiki(s)? - amalfaro-wrk - 2013-07-01T23:00:00.000Z\n\n\"Features\" to me means plugins and I don't really change those up. I've really settled on one set at this point, but I tweak the way it looks or the way it shows me the information pretty regularly. I get bored with the same interface all the time ;) .<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - Do you keep adding new features to your existing TiddlyWiki(s)_ - climatechange3 - 2010-12-01T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/climatechange3\nmodified: 20101201000000000\nmodifier: climatechange3\ntags: [[2010 - Do you keep adding new features to your existing TiddlyWiki(s)?]] [[2010 - Interview Answer]]\ntitle: 2010 - Do you keep adding new features to your existing TiddlyWiki(s)? - climatechange3 - 2010-12-01T00:00:00.000Z\n\nYes, the ability to reorganize the presentation of my content through using new plugins, or making fuller use of plugins I have used for a while, is one of the joys of TiddlyWiki for me. This does pose a challenge, however, in that I have yet to develop or use a consistent process for integrating the new features into the steadily growing number of TiddlyWiki pages/sites that I maintain.<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - Do you keep adding new features to your existing TiddlyWiki(s)_ - dickon - 2012-03-18T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/dickon\nmodified: 20120318000000000\nmodifier: dickon\ntags: [[2010 - Do you keep adding new features to your existing TiddlyWiki(s)?]] [[2010 - Interview Answer]]\ntitle: 2010 - Do you keep adding new features to your existing TiddlyWiki(s)? - dickon - 2012-03-18T00:00:00.000Z\n\nTo some extent, but I find that it is a \"marker\" of where the task (that underlies the reason for setting up the TW in the first place) has got to when I <em>slow down</em> on the modifications!  I hasten to add I only do pretty simple modifications, and tend to use the same small number of plugins or techniques again and again.<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - Do you keep adding new features to your existing TiddlyWiki(s)_ - frankfurtkid - 2010-11-16T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/frankfurtkid\nmodified: 20101116000000000\nmodifier: frankfurtkid\ntags: [[2010 - Do you keep adding new features to your existing TiddlyWiki(s)?]] [[2010 - Interview Answer]]\ntitle: 2010 - Do you keep adding new features to your existing TiddlyWiki(s)? - frankfurtkid - 2010-11-16T00:00:00.000Z\n\nMy standalone Tiddlywikis are pretty static now, although I find the odd plugin from time to time. Tiddlyspace is completely different as its changing all the time - so its still very much a learning as I go along experience, and adding in new features as I discover them. I still need to really think about how I want to use <a href=\"javascript:;\" title=\"The tiddler 'TiddlySpace' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TiddlySpace\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/frankfurtkid_public&quot;\">TiddlySpace</a> - not there yet. the songs.tiddlyspace.com project is more geared to multiple people accessing the same site - and I want to get that working in a more collaborative fashion - so following / sharing information etc is important.<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - Do you keep adding new features to your existing TiddlyWiki(s)_ - mama - 2010-11-24T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/mama\nmodified: 20101124000000000\nmodifier: mama\ntags: [[2010 - Do you keep adding new features to your existing TiddlyWiki(s)?]] [[2010 - Interview Answer]]\ntitle: 2010 - Do you keep adding new features to your existing TiddlyWiki(s)? - mama - 2010-11-24T00:00:00.000Z\n\nOh yes :-)<br>I often create \"forks\" from my original <a href=\"javascript:;\" title=\"The tiddler 'TWs' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TWs\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TWs</a> to see how far I can take it - or I reorganize all content with new tools and plugins - just to see if its better...<br>Sometimes a new theme suggests a total rewrite or reorganization of content...<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - Do you keep adding new features to your existing TiddlyWiki(s)_ - passingby - 2010-11-27T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/passingby\nmodified: 20101127000000000\nmodifier: passingby\ntags: [[2010 - Do you keep adding new features to your existing TiddlyWiki(s)?]] [[2010 - Interview Answer]]\ntitle: 2010 - Do you keep adding new features to your existing TiddlyWiki(s)? - passingby - 2010-11-27T00:00:00.000Z\n\nSince I do not use a tiddlywiki very regularly, most of the features are brought in in the first phase, when I am setting up a TW <br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - Do you keep adding new features to your existing TiddlyWiki(s)_ - pmario - 2011-04-06T23_00_00.000Z.tid",
    "content": "icon: $:/avatars/pmario\nmodified: 20110406000000000\nmodifier: pmario\ntags: [[2010 - Do you keep adding new features to your existing TiddlyWiki(s)?]] [[2010 - Interview Answer]]\ntitle: 2010 - Do you keep adding new features to your existing TiddlyWiki(s)? - pmario - 2011-04-06T23:00:00.000Z\n\n<ul><li> If they are nice and small in size: yes. </li></ul><br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - Do you keep adding new features to your existing TiddlyWiki(s)_ - rouilj - 2010-11-27T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/rouilj\nmodified: 20101127000000000\nmodifier: rouilj\ntags: [[2010 - Do you keep adding new features to your existing TiddlyWiki(s)?]] [[2010 - Interview Answer]]\ntitle: 2010 - Do you keep adding new features to your existing TiddlyWiki(s)? - rouilj - 2010-11-27T00:00:00.000Z\n\nWith the esception of the Coursebook tiddlywiki, most of my TW's are static with a core set of plugins. I do update the plugins occasionally as well as the tw core but I don't need to add too many features.<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - Do you keep adding new features to your existing TiddlyWiki(s)_.tid",
    "content": "list: [[2010 - Do you keep adding new features to your existing TiddlyWiki(s)? - frankfurtkid - 2010-11-16T00:00:00.000Z]] [[2010 - Do you keep adding new features to your existing TiddlyWiki(s)? - mama - 2010-11-24T00:00:00.000Z]] [[2010 - Do you keep adding new features to your existing TiddlyWiki(s)? - rouilj - 2010-11-27T00:00:00.000Z]] [[2010 - Do you keep adding new features to your existing TiddlyWiki(s)? - passingby - 2010-11-27T00:00:00.000Z]] [[2010 - Do you keep adding new features to your existing TiddlyWiki(s)? - climatechange3 - 2010-12-01T00:00:00.000Z]] [[2010 - Do you keep adding new features to your existing TiddlyWiki(s)? - pmario - 2011-04-06T23:00:00.000Z]] [[2010 - Do you keep adding new features to your existing TiddlyWiki(s)? - dickon - 2012-03-18T00:00:00.000Z]] [[2010 - Do you keep adding new features to your existing TiddlyWiki(s)? - amalfaro-wrk - 2013-07-01T23:00:00.000Z]]\ntags: [[2010 - Interview Question]]\ntitle: 2010 - Do you keep adding new features to your existing TiddlyWiki(s)?"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How did you first discover TiddlyWiki_ - aamaadmitw5 - 2014-09-23T23_00_00.000Z.tid",
    "content": "icon: $:/avatars/aamaadmitw5\nmodified: 20140923000000000\nmodifier: aamaadmitw5\ntags: [[2010 - How did you first discover TiddlyWiki?]] [[2010 - Interview Answer]]\ntitle: 2010 - How did you first discover TiddlyWiki? - aamaadmitw5 - 2014-09-23T23:00:00.000Z\n\nin reply to <a href=\"javascript:;\" title=\"How did you first discover TiddlyWiki? - jermolene, 16/11/2010, 14:18:55\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"How did you first discover TiddlyWiki?\">How did you first discover TiddlyWiki?</a>:<br><br>After trying evernote and extensively using Google docs , I was searching for some note taking software which dont have the restrictions like <br>1. I was not happy with WYSIWYG editor because it breaks my flow. <br>2. At the back of my mind , i knew google was moving towards a card design for displaying information , and i found the same concept in <a href=\"javascript:;\" title=\"The tiddler 'TW5' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TW5\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/aamaadmitw5_public&quot;\">TW5</a>.<br><br>I found it through wikipedia<br><a class=\"externalLink\" href=\"http://en.wikipedia.org/wiki/Comparison_of_notetaking_software\" title=\"External link to http://en.wikipedia.org/wiki/Comparison_of_notetaking_software\" target=\"_blank\">http://en.wikipedia.org/wiki/Comparison_of_notetaking_software</a><br><br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How did you first discover TiddlyWiki_ - calmo - 2010-12-16T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/calmo\nmodified: 20101216000000000\nmodifier: calmo\ntags: [[2010 - How did you first discover TiddlyWiki?]] [[2010 - Interview Answer]]\ntitle: 2010 - How did you first discover TiddlyWiki? - calmo - 2010-12-16T00:00:00.000Z\n\nIn 2004 I was researching use of wikis for collaborative content development within IBM.  I found tiddlywiki.  But I really didn't \"discover\" it until I realized how it actually works - what makes it different from standard wikis.<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How did you first discover TiddlyWiki_ - climatechange3 - 2010-12-01T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/climatechange3\nmodified: 20101201000000000\nmodifier: climatechange3\ntags: [[2010 - How did you first discover TiddlyWiki?]] [[2010 - Interview Answer]]\ntitle: 2010 - How did you first discover TiddlyWiki? - climatechange3 - 2010-12-01T00:00:00.000Z\n\nI first heard about TW on a Moodle group in the fall of 2006, in the process of trying, without much success, to use the wiki feature in Moodle. I loved TW - and the TW Google Group - right away.<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How did you first discover TiddlyWiki_ - dickon - 2012-03-18T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/dickon\nmodified: 20120318000000000\nmodifier: dickon\ntags: [[2010 - How did you first discover TiddlyWiki?]] [[2010 - Interview Answer]]\ntitle: 2010 - How did you first discover TiddlyWiki? - dickon - 2012-03-18T00:00:00.000Z\n\nI have known and loved Jeremy Ruston for many years, so it was word of (horse's) mouth.<br><br>It is strange when you have known someone for many years; suddenly to discover how something so excellent has been going on in their work (that had always seemed so far away from your own) - and that it absolutely answers what you are after... kerrr-ching!<br><br>I got curious about what this Tiddly stuff was about in conversation, and Jeremy sent me a link, which I started looking at in about 2005 I think.  As a total non-techy I commend my own bravery in trying to get past the somewhat opaque documentation, but there was a fairly sudden \"lights came on\" moment when I saw massive potential in what was on offer, that I had seen nowhere else.<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How did you first discover TiddlyWiki_ - frankfurtkid - 2010-11-16T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/frankfurtkid\nmodified: 20101116000000000\nmodifier: frankfurtkid\ntags: [[2010 - How did you first discover TiddlyWiki?]] [[2010 - Interview Answer]]\ntitle: 2010 - How did you first discover TiddlyWiki? - frankfurtkid - 2010-11-16T00:00:00.000Z\n\ni was looking for a simple wiki to use for note keeping, action tracking and the like - I think I was reading \"Getting Things Done\" at the time. I came across <a href=\"javascript:;\" title=\"TiddlyWiki - jermolene, 15/11/2010, 17:20:58\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/frankfurtkid_public&quot;\">TiddlyWiki</a> and decided to give it a try. I liked the idea of not needing to be online - which at the time was less frequent than now. I then discovered that the guys involved worked for the same company as I do - and that made me really interested in using it for work as well as private applications. <br><br>Then server side became more important - ability to share info and access. I used cctiddly for a while and am now starting to use the BT green side implementation of <a href=\"javascript:;\" title=\"The tiddler 'TiddlySpace' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TiddlySpace\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/frankfurtkid_public&quot;\">TiddlySpace</a> for work related projects - as well as the usual tiddlyspace.com.  <br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How did you first discover TiddlyWiki_ - gjrobert - 2013-09-15T23_00_00.000Z.tid",
    "content": "icon: $:/avatars/gjrobert\nmodified: 20130915000000000\nmodifier: gjrobert\ntags: [[2010 - How did you first discover TiddlyWiki?]] [[2010 - Interview Answer]]\ntitle: 2010 - How did you first discover TiddlyWiki? - gjrobert - 2013-09-15T23:00:00.000Z\n\n  Around mid-2004, when I was searching for ideal wiki engines. I forgot actually how I find TW, either via Google or via some introduction on blog posts.<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How did you first discover TiddlyWiki_ - passingby - 2010-11-27T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/passingby\nmodified: 20101127000000000\nmodifier: passingby\ntags: [[2010 - How did you first discover TiddlyWiki?]] [[2010 - Interview Answer]]\ntitle: 2010 - How did you first discover TiddlyWiki? - passingby - 2010-11-27T00:00:00.000Z\n\nIt was a long time ago, while searching for free and open source softwares<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How did you first discover TiddlyWiki_ - pmario - 2011-04-05T23_00_00.000Z.tid",
    "content": "icon: $:/avatars/pmario\nmodified: 20110405000000000\nmodifier: pmario\ntags: [[2010 - How did you first discover TiddlyWiki?]] [[2010 - Interview Answer]]\ntitle: 2010 - How did you first discover TiddlyWiki? - pmario - 2011-04-05T23:00:00.000Z\n\nI was looking for a browser notebook, with the possibility to work online and/or offline. And if possible with good syncing. I found <a class=\"externalLink\" href=\"http://lewcid.org/2009/02/03/a-busy-year-and-a-student-notebook/\" title=\"External link to http://lewcid.org/2009/02/03/a-busy-year-and-a-student-notebook/\" target=\"_blank\">http://lewcid.org/2009/02/03/a-busy-year-and-a-student-notebook/</a> <br><br>Some more reading lead to a very active <a href=\"javascript:;\" title=\"TiddlyWiki - jermolene, 15/11/2010, 17:20:58\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/pmario_public&quot;\">TiddlyWiki</a> user group, and some specs about an alpha <a href=\"javascript:;\" title=\"The tiddler 'TiddlyWeb' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TiddlyWeb\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/pmario_public&quot;\">TiddlyWeb</a> (mother of all server sides.) So I thought, let's see how fast the development is going on. That's it. <br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How did you first discover TiddlyWiki_ - poulstaugaard - 2011-03-06T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/poulstaugaard\nmodified: 20110306000000000\nmodifier: poulstaugaard\ntags: [[2010 - How did you first discover TiddlyWiki?]] [[2010 - Interview Answer]]\ntitle: 2010 - How did you first discover TiddlyWiki? - poulstaugaard - 2011-03-06T00:00:00.000Z\n\nI am quite a veteran TW addict. The wiki idea first caught my fancy when I stumbled on <a href=\"javascript:;\" title=\"The tiddler 'FlexWiki' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"FlexWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/poulstaugaard_public&quot;\">FlexWiki</a> in 2003. Initially I hung out at <a href=\"javascript:;\" title=\"The tiddler 'MeatBallWiki' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"MeatBallWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/poulstaugaard_public&quot;\">MeatBallWiki</a> for inspiration while scanning the landscape and finding my direction. This is how i discovered TW while it was still a baby. Coming from the Microsoft/IT services world, with a wide interest in web technology, my first serious efford was a .NET (C# + SQL) based serverside that I called iewiki (spelled like that not to be misread as <a href=\"javascript:;\" title=\"The tiddler 'LeWiki' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"LeWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/poulstaugaard_public&quot;\">LeWiki</a>). It was built on unmodified TW 2.0.6 client-side, and I used it myself on the web for a few years (as iewiki.net, now defunct). I was never quite happy with the end product though, and it never quite made it past beta status - partly due to the rather high cost of quality hosting for .NET. So when I found Google's App engine, I decided to start again from scratch, an efford which I have called giewiki for natural reasons. By this time (late 2008), I figured TW had reached a level of maturity (2.4.1) that made branching a good strategy for a hosted derivative.<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How did you first discover TiddlyWiki_ - rouilj - 2010-11-27T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/rouilj\nmodified: 20101127000000000\nmodifier: rouilj\ntags: [[2010 - How did you first discover TiddlyWiki?]] [[2010 - Interview Answer]]\ntitle: 2010 - How did you first discover TiddlyWiki? - rouilj - 2010-11-27T00:00:00.000Z\n\nI saw a mention of it while I was looking for a simple personel wiki.<br>The single file and easy portability of it intrigued me.<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How did you first discover TiddlyWiki_ - smandoli - 2010-12-24T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/smandoli\nmodified: 20101224000000000\nmodifier: smandoli\ntags: [[2010 - How did you first discover TiddlyWiki?]] [[2010 - Interview Answer]]\ntitle: 2010 - How did you first discover TiddlyWiki? - smandoli - 2010-12-24T00:00:00.000Z\n\nI spent 2009 in a part-time and solitary obsession with knowledge-management tools, trying to figure out how to harness my chaotic, distracted, eclectic and adventurous thought life.  This was encouraged by a re-read of the famous 1946 \"Memex\" proposal, discovery of the \"<a href=\"javascript:;\" title=\"The tiddler 'TheBrain' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TheBrain\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/smandoli_public&quot;\">TheBrain</a>\" online demo. and personally productive work in mind mapping.  (More at <a class=\"externalLink\" href=\"http://themanthursday.com/wiki-first-taste/\" title=\"External link to http://themanthursday.com/wiki-first-taste/\" target=\"_blank\">http://themanthursday.com/wiki-first-taste/</a>.)  I would run google searches that returned nothing, but eventually I lined up the right keywords and landed at <a href=\"javascript:;\" title=\"TiddlyWiki - jermolene, 15/11/2010, 17:20:58\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/smandoli_public&quot;\">TiddlyWiki</a>.  <br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How did you first discover TiddlyWiki_ - ubi - 2010-11-29T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/ubi\nmodified: 20101129000000000\nmodifier: ubi\ntags: [[2010 - How did you first discover TiddlyWiki?]] [[2010 - Interview Answer]]\ntitle: 2010 - How did you first discover TiddlyWiki? - ubi - 2010-11-29T00:00:00.000Z\n\nI was searching the net for a personal wiki software and found <a href=\"javascript:;\" title=\"The tiddler 'WoaS' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"WoaS\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/ubi_public&quot;\">WoaS</a> and <a href=\"javascript:;\" title=\"TiddlyWiki - jermolene, 15/11/2010, 17:20:58\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/ubi_public&quot;\">TiddlyWiki</a>. I started with <a href=\"javascript:;\" title=\"The tiddler 'WoaS' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"WoaS\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/ubi_public&quot;\">WoaS</a>, because it's traditional website look-and-feel met my habits more than TW, still playing around with <a href=\"javascript:;\" title=\"TiddlyWiki - jermolene, 15/11/2010, 17:20:58\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/ubi_public&quot;\">TiddlyWiki</a> occasionally. After digging the core concepts and discovering the wealth of plugins, I switched to TW.<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How did you first discover TiddlyWiki_ - webid4me - 2014-09-23T23_00_00.000Z.tid",
    "content": "icon: $:/avatars/webid4me\nmodified: 20140923000000000\nmodifier: webid4me\ntags: [[2010 - How did you first discover TiddlyWiki?]] [[2010 - Interview Answer]]\ntitle: 2010 - How did you first discover TiddlyWiki? - webid4me - 2014-09-23T23:00:00.000Z\n\nin reply to <a href=\"javascript:;\" title=\"How did you first discover TiddlyWiki? - jermolene, 16/11/2010, 14:18:55\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"How did you first discover TiddlyWiki?\">How did you first discover TiddlyWiki?</a>:<br><br>After few months into my graduate studies in Brain Imaging I realized that my poor brain, by itself, won't suffice to keep all the information related to various projects organized. I started looking into various softwares like Evernote, <a href=\"javascript:;\" title=\"The tiddler 'OneNote' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"OneNote\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/webid4me_public&quot;\">OneNote</a>, google docs etc etc. I quiickly realized that: (1) all these tools are proprietary solutions to attract people by visual cues and, ironically, do not work well in academic workflow like mine. (2) Most of them lacked native support for Linux OS. (3) Almost all of them lacked proper math typesetting support. <br><br>I gave up and started using mix of plain text and latex (notes.txt, notes_math.txt). It kind of worked for about an year. Then I realized that I really need support for hypertext in my notes - That led me to start fiddling with markdown - but it was not covenient as I needed to convert to html each time I made changes. Some more surfing and searching brought me to Tiddlywiki (now called Classic TW). <br><br>I was stunned by Tiddlywiki not only because it is a singlefile wiki application but also because it is a useful example of Quine :) I always understood that I need a 'wiki' for my note taking habbits but I could never imagine that a wiki software could be as portable as a single file. <br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How did you first discover TiddlyWiki_ - yakov - 2010-11-16T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/yakov\nmodified: 20101116000000000\nmodifier: yakov\ntags: [[2010 - How did you first discover TiddlyWiki?]] [[2010 - Interview Answer]]\ntitle: 2010 - How did you first discover TiddlyWiki? - yakov - 2010-11-16T00:00:00.000Z\n\nI write loads of things and some time ago I realized that hypertext is the only form that would be flexible enough for me. Next I get the idea that since there are quite limited tools for creating hypertext on my handheld it would be good to create one based on web-technologies since they are totally cross-platform and imply hypertext. Then I realized that JavaScript has far too limited access to the file system (usually no access at all), so I asked about this thing in google.quesions. Few answers contained mentioning of Java and flash and also there was one with \"see TiddlyWiki\". And so, that was it.<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How did you first discover TiddlyWiki_.tid",
    "content": "list: [[2010 - How did you first discover TiddlyWiki? - frankfurtkid - 2010-11-16T00:00:00.000Z]] [[2010 - How did you first discover TiddlyWiki? - yakov - 2010-11-16T00:00:00.000Z]] [[2010 - How did you first discover TiddlyWiki? - rouilj - 2010-11-27T00:00:00.000Z]] [[2010 - How did you first discover TiddlyWiki? - passingby - 2010-11-27T00:00:00.000Z]] [[2010 - How did you first discover TiddlyWiki? - ubi - 2010-11-29T00:00:00.000Z]] [[2010 - How did you first discover TiddlyWiki? - climatechange3 - 2010-12-01T00:00:00.000Z]] [[2010 - How did you first discover TiddlyWiki? - calmo - 2010-12-16T00:00:00.000Z]] [[2010 - How did you first discover TiddlyWiki? - smandoli - 2010-12-24T00:00:00.000Z]] [[2010 - How did you first discover TiddlyWiki? - poulstaugaard - 2011-03-06T00:00:00.000Z]] [[2010 - How did you first discover TiddlyWiki? - pmario - 2011-04-05T23:00:00.000Z]] [[2010 - How did you first discover TiddlyWiki? - dickon - 2012-03-18T00:00:00.000Z]] [[2010 - How did you first discover TiddlyWiki? - gjrobert - 2013-09-15T23:00:00.000Z]] [[2010 - How did you first discover TiddlyWiki? - aamaadmitw5 - 2014-09-23T23:00:00.000Z]] [[2010 - How did you first discover TiddlyWiki? - webid4me - 2014-09-23T23:00:00.000Z]]\ntags: [[2010 - Interview Question]]\ntitle: 2010 - How did you first discover TiddlyWiki?"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How has TiddlyWiki saved time for you as an information publisher_ - frankfurtkid - 2010-11-16T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/frankfurtkid\nmodified: 20101116000000000\nmodifier: frankfurtkid\ntags: [[2010 - How has TiddlyWiki saved time for you as an information publisher?]] [[2010 - Interview Answer]]\ntitle: 2010 - How has TiddlyWiki saved time for you as an information publisher? - frankfurtkid - 2010-11-16T00:00:00.000Z\n\nFor standalone websites - its quick and easy to put up content.  In the corporate world its about document control and sharing of information<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How has TiddlyWiki saved time for you as an information publisher_ - mama - 2010-11-25T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/mama\nmodified: 20101125000000000\nmodifier: mama\ntags: [[2010 - How has TiddlyWiki saved time for you as an information publisher?]] [[2010 - Interview Answer]]\ntitle: 2010 - How has TiddlyWiki saved time for you as an information publisher? - mama - 2010-11-25T00:00:00.000Z\n\nI'm not sure it has... I've found a new tool which let me explore things which were inaccesible (at least to me) untill now.. <br>Sometimes I use much more time preparing a <a href=\"javascript:;\" title=\"The tiddler 'TWsetup' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TWsetup\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TWsetup</a>, than I would if I just used some office program, Notepad - or a piece of paper for that matter...<br>However TW allows me to organize and reuse things in a way that no other software does - and It certainly helps me to fight a reoccuring writers block.<br>On the other hand I setup simple <a href=\"javascript:;\" title=\"The tiddler 'TWwebpages' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TWwebpages\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TWwebpages</a> for my students in no time, because I have readymade templates.<br>Its an incredible fast cms - I update lists and appointments on the fly. My students update their browsers and all is well.<br>When I want my pupils to focus on things, I give them links, iframes and popouts from a TW hosted on <a href=\"javascript:;\" title=\"The tiddler 'TiddlySpace' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TiddlySpace\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlySpace</a>, <a href=\"javascript:;\" title=\"The tiddler 'TiddlySpot' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TiddlySpot\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlySpot</a> or one of my own <a href=\"javascript:;\" title=\"The tiddler 'TiddlyHome' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TiddlyHome\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlyHome</a> installations. <br>I really like to be able to deliver pages without any commercials and other distracting factors. <br>I've even implemented a webversion of \"<a href=\"javascript:;\" title=\"The tiddler 'DarkRoom' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"DarkRoom\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">DarkRoom</a>\" to help my students focus on their writing. A little pradox considering my personal stategy - I know, however my students like the seamless and simple integration of browserbased tools.<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How has TiddlyWiki saved time for you as an information publisher_.tid",
    "content": "list: [[2010 - How has TiddlyWiki saved time for you as an information publisher? - frankfurtkid - 2010-11-16T00:00:00.000Z]] [[2010 - How has TiddlyWiki saved time for you as an information publisher? - mama - 2010-11-25T00:00:00.000Z]]\ntags: [[2010 - Interview Question]]\ntitle: 2010 - How has TiddlyWiki saved time for you as an information publisher?"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How has TiddlyWiki saved time for your target audience_ - frankfurtkid - 2010-11-16T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/frankfurtkid\nmodified: 20101116000000000\nmodifier: frankfurtkid\ntags: [[2010 - How has TiddlyWiki saved time for your target audience?]] [[2010 - Interview Answer]]\ntitle: 2010 - How has TiddlyWiki saved time for your target audience? - frankfurtkid - 2010-11-16T00:00:00.000Z\n\nGreat in the BT environment for document / content collaboration - No <a href=\"javascript:;\" title=\"The tiddler 'LiveMeeting' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"LiveMeeting\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/frankfurtkid_public&quot;\">LiveMeeting</a>, no version control problems, less storage issues, fewer Word documents flying around all out of date.  Notepad also saves me time and keeps things \"together\" in my world.<br><br><br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How has TiddlyWiki saved time for your target audience_ - rouilj - 2010-11-27T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/rouilj\nmodified: 20101127000000000\nmodifier: rouilj\ntags: [[2010 - How has TiddlyWiki saved time for your target audience?]] [[2010 - Interview Answer]]\ntitle: 2010 - How has TiddlyWiki saved time for your target audience? - rouilj - 2010-11-27T00:00:00.000Z\n\nI'm not sure. For the people who used the coursebook and liked it during<br>the class I think it saved them time. Also I have contacted one former student<br>who found it useful when he was actually working at implementing particular<br>corrleation patterns.<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How has TiddlyWiki saved time for your target audience_.tid",
    "content": "list: [[2010 - How has TiddlyWiki saved time for your target audience? - frankfurtkid - 2010-11-16T00:00:00.000Z]] [[2010 - How has TiddlyWiki saved time for your target audience? - rouilj - 2010-11-27T00:00:00.000Z]]\ntags: [[2010 - Interview Question]]\ntitle: 2010 - How has TiddlyWiki saved time for your target audience?"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How has the TiddlyWiki community helped you_ - andrewbarbour - 2010-11-28T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/andrewbarbour\nmodified: 20101128000000000\nmodifier: andrewbarbour\ntags: [[2010 - How has the TiddlyWiki community helped you?]] [[2010 - Interview Answer]]\ntitle: 2010 - How has the TiddlyWiki community helped you? - andrewbarbour - 2010-11-28T00:00:00.000Z\n\nThe TW community is incredible.  I have never been exposed to a group of folks that have more passion and are so willing to give of their time and expertise.  <br><br>I was looking for a tool to pull back search results for individual lines in tiddlers so I posted on the google groups page.... I had a large number of direct responses with ideas as well as postings to the forum.  The input invaluable - and the outcome entirely satisfactory - someone had already written the code (Thanks Eric!) and I was able to integrate it into my tiddlywiki within minutes.<br><br>Everyone is incredibly friendly and helpful!<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How has the TiddlyWiki community helped you_ - climatechange3 - 2010-12-01T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/climatechange3\nmodified: 20101201000000000\nmodifier: climatechange3\ntags: [[2010 - How has the TiddlyWiki community helped you?]] [[2010 - Interview Answer]]\ntitle: 2010 - How has the TiddlyWiki community helped you? - climatechange3 - 2010-12-01T00:00:00.000Z\n\nCountless ways. Whether in the responses to questions I have posed, or in offering insight and understanding through responses to questions from others in the community, the TW Google Group community has been consistently brilliant as a source of help.<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How has the TiddlyWiki community helped you_ - dickon - 2012-03-18T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/dickon\nmodified: 20120318000000000\nmodifier: dickon\ntags: [[2010 - How has the TiddlyWiki community helped you?]] [[2010 - Interview Answer]]\ntitle: 2010 - How has the TiddlyWiki community helped you? - dickon - 2012-03-18T00:00:00.000Z\n\nAmazingly helpful and quick to respond - knowledgeably and creatively - via the Google Group.  <br><br>I worry that as TW gets bigger as a \"movement\" (?!) there could be a loss of capacity from the small group of utterly dedicated 'evangelists' for TW who do seem to have an extraordinary capacity to be massively helpful almost instantaneously, whenever I have posted with a confusion or glitch...<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How has the TiddlyWiki community helped you_ - frankfurtkid - 2010-11-16T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/frankfurtkid\nmodified: 20101116000000000\nmodifier: frankfurtkid\ntags: [[2010 - How has the TiddlyWiki community helped you?]] [[2010 - Interview Answer]]\ntitle: 2010 - How has the TiddlyWiki community helped you? - frankfurtkid - 2010-11-16T00:00:00.000Z\n\nThe Osmosoft guys have been very helpful in sorting out problems and questions. The Google group is a good place to find others sharing the same problems - and also getting answers.<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How has the TiddlyWiki community helped you_ - mama - 2010-11-26T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/mama\nmodified: 20101126000000000\nmodifier: mama\ntags: [[2010 - How has the TiddlyWiki community helped you?]] [[2010 - Interview Answer]]\ntitle: 2010 - How has the TiddlyWiki community helped you? - mama - 2010-11-26T00:00:00.000Z\n\nI don't think I would use (or be able to use) TW today if it hadn't been for the <a href=\"javascript:;\" title=\"TiddlyWiki - jermolene, 15/11/2010, 17:20:58\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlyWiki</a> googlegroup.<br>People on the discussionboard, has always been very kind and helpfull - and sometimes I have learned a lesson or two about discipline as well :-)<br>There's a lot to learn from the threads, and its great to ask a question and get (almost) immediate response.<br>For a newbie it's a fantastic and inspiring experience to get help from a gifted programmer, who explains things in a way that is enligtening and thoughtprovoking... It's a joy, when someone steps into a thread with a snippet of code, which solves everything :-)<br>It's communication at a level, I don't find many other places, and it's certainly an oasis, a sanctuary to find in a web which is mostly a marketplace where everyone is considered to be a potential customer...<br>The generousity of really great programmers like Eric Shulmann (on the other hand, Eric MUST be one of a kind...), the Osmosoftteam and several/many individuals who invest their sparetime, helping other people to use <a href=\"javascript:;\" title=\"TiddlyWiki - jermolene, 15/11/2010, 17:20:58\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlyWiki</a>, is an outstanding example of a meltingpot of ressources, that you simply NEED to follow, because it's unique, magic and active.<br>You don't know for how long it will last - and I sometimes think that the community survives/thrives because different \"teams\" of really enthusiastic people choose to discuss matters that could be discussed in the privacy of their own mailboxes :-)<br>That's ok - and certainly gives you a window to a world of things, you wouldn't know existed elsewise....<br>If it wasn't for the community I don't think there would be a <a href=\"javascript:;\" title=\"TiddlyWiki - jermolene, 15/11/2010, 17:20:58\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlyWiki</a> - on the other hand I'm not sure if <a href=\"javascript:;\" title=\"TiddlyWiki - jermolene, 15/11/2010, 17:20:58\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlyWiki</a> would be considered to be a serious project if it wasn't for the Osmosoft Team - so congratulations to everybody :-)<br><br>It's an inspiring meltingpot of users, programmers and enthusiasts - communicating and helping each other to achieve both practical and magic stuff with a onepage html/javascript application<br><br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How has the TiddlyWiki community helped you_ - passingby - 2010-11-27T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/passingby\nmodified: 20101127000000000\nmodifier: passingby\ntags: [[2010 - How has the TiddlyWiki community helped you?]] [[2010 - Interview Answer]]\ntitle: 2010 - How has the TiddlyWiki community helped you? - passingby - 2010-11-27T00:00:00.000Z\n\nIts the Best community. People help out each other like nowhere else. Infact Eric whips out code like magic.<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How has the TiddlyWiki community helped you_ - pmario - 2011-04-06T23_00_00.000Z.tid",
    "content": "icon: $:/avatars/pmario\nmodified: 20110406000000000\nmodifier: pmario\ntags: [[2010 - How has the TiddlyWiki community helped you?]] [[2010 - Interview Answer]]\ntitle: 2010 - How has the TiddlyWiki community helped you? - pmario - 2011-04-06T23:00:00.000Z\n\n<ul><li> Because of fast responses, to questions. </li></ul><br>What I like: The friendly conversation in the forum, compared to other forums. <br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How has the TiddlyWiki community helped you_ - rouilj - 2010-11-27T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/rouilj\nmodified: 20101127000000000\nmodifier: rouilj\ntags: [[2010 - How has the TiddlyWiki community helped you?]] [[2010 - Interview Answer]]\ntitle: 2010 - How has the TiddlyWiki community helped you? - rouilj - 2010-11-27T00:00:00.000Z\n\nThe coursebook wouldn't have been possible without the help of a number of TW regulars including: Eric L. Shulman and Paulo Soares.<br><br>They modified plugins to suit my needs and provided extensive debugging and other help.<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How has the TiddlyWiki community helped you_.tid",
    "content": "list: [[2010 - How has the TiddlyWiki community helped you? - frankfurtkid - 2010-11-16T00:00:00.000Z]] [[2010 - How has the TiddlyWiki community helped you? - mama - 2010-11-26T00:00:00.000Z]] [[2010 - How has the TiddlyWiki community helped you? - rouilj - 2010-11-27T00:00:00.000Z]] [[2010 - How has the TiddlyWiki community helped you? - passingby - 2010-11-27T00:00:00.000Z]] [[2010 - How has the TiddlyWiki community helped you? - andrewbarbour - 2010-11-28T00:00:00.000Z]] [[2010 - How has the TiddlyWiki community helped you? - climatechange3 - 2010-12-01T00:00:00.000Z]] [[2010 - How has the TiddlyWiki community helped you? - pmario - 2011-04-06T23:00:00.000Z]] [[2010 - How has the TiddlyWiki community helped you? - dickon - 2012-03-18T00:00:00.000Z]]\ntags: [[2010 - Interview Question]]\ntitle: 2010 - How has the TiddlyWiki community helped you?"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How have you been able to contribute back to the TiddlyWiki community_ - frankfurtkid - 2010-11-16T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/frankfurtkid\nmodified: 20101116000000000\nmodifier: frankfurtkid\ntags: [[2010 - How have you been able to contribute back to the TiddlyWiki community?]] [[2010 - Interview Answer]]\ntitle: 2010 - How have you been able to contribute back to the TiddlyWiki community? - frankfurtkid - 2010-11-16T00:00:00.000Z\n\nNot much to date - I still have loads of questions, rather than good answers, and I'm more of a user than a coder.  But I am happy to share ideas and solutions.<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How have you been able to contribute back to the TiddlyWiki community_ - rouilj - 2010-11-27T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/rouilj\nmodified: 20101127000000000\nmodifier: rouilj\ntags: [[2010 - How have you been able to contribute back to the TiddlyWiki community?]] [[2010 - Interview Answer]]\ntitle: 2010 - How have you been able to contribute back to the TiddlyWiki community? - rouilj - 2010-11-27T00:00:00.000Z\n\nI put up a copy of the coursebook at coursebook.tiddlyspot.com but it's not yet complete. Also I have answered a few questions in google groups.<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How have you been able to contribute back to the TiddlyWiki community_ - smandoli - 2010-12-25T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/smandoli\nmodified: 20101225000000000\nmodifier: smandoli\ntags: [[2010 - How have you been able to contribute back to the TiddlyWiki community?]] [[2010 - Interview Answer]]\ntitle: 2010 - How have you been able to contribute back to the TiddlyWiki community? - smandoli - 2010-12-25T00:00:00.000Z\n\nI haven't yet.  I am looking forward to answering questions from complete newbies ... after I'm not one myself.  I am a communicator, and I'd like to develop tutorial pieces.  I'm not a coder and I'm not very tech (my tutorial would not be a video).  I wouldn't mind sending some money but I feel it's not appropriate with my finances.  <br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How have you been able to contribute back to the TiddlyWiki community_ - yakov - 2010-11-16T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/yakov\nmodified: 20101116000000000\nmodifier: yakov\ntags: [[2010 - How have you been able to contribute back to the TiddlyWiki community?]] [[2010 - Interview Answer]]\ntitle: 2010 - How have you been able to contribute back to the TiddlyWiki community? - yakov - 2010-11-16T00:00:00.000Z\n\nJust a tiny bit.. I know CSS to extent of 2d specification and other things like DOM so I'm capable to answer questions that are rather not about TW.. And so I did twice, perhaps)<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How have you been able to contribute back to the TiddlyWiki community_.tid",
    "content": "list: [[2010 - How have you been able to contribute back to the TiddlyWiki community? - frankfurtkid - 2010-11-16T00:00:00.000Z]] [[2010 - How have you been able to contribute back to the TiddlyWiki community? - yakov - 2010-11-16T00:00:00.000Z]] [[2010 - How have you been able to contribute back to the TiddlyWiki community? - rouilj - 2010-11-27T00:00:00.000Z]] [[2010 - How have you been able to contribute back to the TiddlyWiki community? - smandoli - 2010-12-25T00:00:00.000Z]]\ntags: [[2010 - Interview Question]]\ntitle: 2010 - How have you been able to contribute back to the TiddlyWiki community?"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How have you found training novice users to use and understand TiddlyWiki_ - frankfurtkid - 2010-11-16T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/frankfurtkid\nmodified: 20101116000000000\nmodifier: frankfurtkid\ntags: [[2010 - How have you found training novice users to use and understand TiddlyWiki?]] [[2010 - Interview Answer]]\ntitle: 2010 - How have you found training novice users to use and understand TiddlyWiki? - frankfurtkid - 2010-11-16T00:00:00.000Z\n\nMore difficult than I would like<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How have you found training novice users to use and understand TiddlyWiki_ - mama - 2010-11-25T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/mama\nmodified: 20101125000000000\nmodifier: mama\ntags: [[2010 - How have you found training novice users to use and understand TiddlyWiki?]] [[2010 - Interview Answer]]\ntitle: 2010 - How have you found training novice users to use and understand TiddlyWiki? - mama - 2010-11-25T00:00:00.000Z\n\nThe most difficult part is to explain <a href=\"javascript:;\" title=\"TiddlyWiki - jermolene, 15/11/2010, 17:20:58\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlyWiki</a> to tech-sawy people. <br>They tend to see <a href=\"javascript:;\" title=\"TiddlyWiki - jermolene, 15/11/2010, 17:20:58\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlyWiki</a> as alfa-software, because it's so transparent and customizable. <br>The fact that a user can delete a button is considered to be a serious bug.<br><br>When I started using <a href=\"javascript:;\" title=\"TiddlyWiki - jermolene, 15/11/2010, 17:20:58\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlyWiki</a>, I made different tools for my students and collegues, however crossbrowser problems stopped my work in this direction. Most of my students and collegues use IE. My experience is that IE is the worst possible (almost...) browser for javascriptapplications, rendering of css and images etc....<br>I don't spend any time trying to make any of my students or collegues understand how <a href=\"javascript:;\" title=\"TiddlyWiki - jermolene, 15/11/2010, 17:20:58\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlyWiki</a> works anymore. <br>On the other hand collegues and students often ask me to create lists, imagegalleries and faqs for quick delivery - and I get positive feedback. <br>Sometimes some of them have a glimpse over my shoulder, and I always get outbursts like - \"Wauw, I'd like to be able to do that\" ... however nobody really wants to invest time in learning how to do it themselves..<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How have you found training novice users to use and understand TiddlyWiki_ - passingby - 2010-11-27T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/passingby\nmodified: 20101127000000000\nmodifier: passingby\ntags: [[2010 - How have you found training novice users to use and understand TiddlyWiki?]] [[2010 - Interview Answer]]\ntitle: 2010 - How have you found training novice users to use and understand TiddlyWiki? - passingby - 2010-11-27T00:00:00.000Z\n\nUptil now I have found just one person in my circle who had a 'real need' for storing data. She was fellow teacher and was very new to computers so it was a bit difficult, but she succeeded in using it functionally and effectively.<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How have you found training novice users to use and understand TiddlyWiki_ - rouilj - 2010-11-27T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/rouilj\nmodified: 20101127000000000\nmodifier: rouilj\ntags: [[2010 - How have you found training novice users to use and understand TiddlyWiki?]] [[2010 - Interview Answer]]\ntitle: 2010 - How have you found training novice users to use and understand TiddlyWiki? - rouilj - 2010-11-27T00:00:00.000Z\n\nThe coursebook I created was well received by a couple of participants, but there were also three people who found it difficult to use and understand. They found it got in the way of learning the material compared to the pdf format that other teachers used for their classes.<br><br>Plus I had a couple of people with old version of firefox (1.x) that made it unusable.<br><br>If I could teach the course again, I think I would have to spend time teaching how to use tiddlywiki (and the coursebook) to even a technologically experienced audience.<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How have you found training novice users to use and understand TiddlyWiki_ - smandoli - 2010-12-24T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/smandoli\nmodified: 20101224000000000\nmodifier: smandoli\ntags: [[2010 - How have you found training novice users to use and understand TiddlyWiki?]] [[2010 - Interview Answer]]\ntitle: 2010 - How have you found training novice users to use and understand TiddlyWiki? - smandoli - 2010-12-24T00:00:00.000Z\n\nIt's reminiscent of entering the Linux world as a home user.  The information is there, but you may have to search.  Advice is plenteous, but you must learn to sort through it for the bits that apply.  Advisors are friendly, but you must be brave enough and interested enough to participate in a forum.  <br><hr><strong>Suggested Question (related):</strong>  What is your experience introducing TiddlyWiki to other people?<br><ul><li> The hard part is convincing them it's useful and they should take it on.  I start by explaining \"personal information management\" and then I check the eyes for any spark of interest.  </li><li> The obvious solution is to present not TiddlyWiki but rather a largish wiki of interesting information, and then make them aware of the vehicle.  </li></ul><br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How have you found training novice users to use and understand TiddlyWiki_.tid",
    "content": "list: [[2010 - How have you found training novice users to use and understand TiddlyWiki? - frankfurtkid - 2010-11-16T00:00:00.000Z]] [[2010 - How have you found training novice users to use and understand TiddlyWiki? - mama - 2010-11-25T00:00:00.000Z]] [[2010 - How have you found training novice users to use and understand TiddlyWiki? - rouilj - 2010-11-27T00:00:00.000Z]] [[2010 - How have you found training novice users to use and understand TiddlyWiki? - passingby - 2010-11-27T00:00:00.000Z]] [[2010 - How have you found training novice users to use and understand TiddlyWiki? - smandoli - 2010-12-24T00:00:00.000Z]]\ntags: [[2010 - Interview Question]]\ntitle: 2010 - How have you found training novice users to use and understand TiddlyWiki?"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How many TiddlyWikis have you created and do you use regularly_ - andrewbarbour - 2010-11-28T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/andrewbarbour\nmodified: 20101128000000000\nmodifier: andrewbarbour\ntags: [[2010 - How many TiddlyWikis have you created and do you use regularly?]] [[2010 - Interview Answer]]\ntitle: 2010 - How many TiddlyWikis have you created and do you use regularly? - andrewbarbour - 2010-11-28T00:00:00.000Z\n\nI created 15-20 different ones to try different configurations /concepts for organization.  Once that was over with... I am down to three:<br><br><strong>In Use</strong><br><ul><li>Day-to-day note taking and task tracking</li><li>Project Notebook for storing all of my notes</li></ul><br><strong>Active Development</strong><br><ul><li>Help file for business procedures and system documentation</li></ul><br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How many TiddlyWikis have you created and do you use regularly_ - colmbritton - 2010-12-21T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/colmbritton\nmodified: 20101221000000000\nmodifier: colmbritton\ntags: [[2010 - How many TiddlyWikis have you created and do you use regularly?]] [[2010 - Interview Answer]]\ntitle: 2010 - How many TiddlyWikis have you created and do you use regularly? - colmbritton - 2010-12-21T00:00:00.000Z\n\nAll in all I have created a fair few, however I have 3 main ones (or used to until Tiddlyspace came around). They are one for general notes, one for recording info and ideas about the projects I was working on and a third, which was a test TW that I used to try out new plugins and combinations of plugins.<br>Now that I am on Tiddlyspace I have a lot!<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How many TiddlyWikis have you created and do you use regularly_ - dickon - 2012-03-18T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/dickon\nmodified: 20120318000000000\nmodifier: dickon\ntags: [[2010 - How many TiddlyWikis have you created and do you use regularly?]] [[2010 - Interview Answer]]\ntitle: 2010 - How many TiddlyWikis have you created and do you use regularly? - dickon - 2012-03-18T00:00:00.000Z\n\nAt least 20<br><br>Some I use all the time (the <a class=\"tiddlySpaceLink externalLink\" tiddlyspace=\"ambit\" href=\"http://ambit.tiddlyspace.com/\">ambit</a> manual is probably my peak!)<br><br>My NHS team uses an offline TW (securely stored) to track and document all the clients we treat, documenting team discussion in the TW, and printing out these tiddlers for pasting into the conventional paper notes.  The TW is projected and edited during every team meeting, and the act of typing into it has become part of our efforts towards \"transparent practice\"...<br><br>I use TW's for major literature reviews - fantastic for cross referencing, tagging, ensuring that I have integrated a disparate body of literature.<br><br>I use TW's in management meetings to make wikified minutes - people get intrigued and wnat to understand and that often deepens the discussion - what are the underlying themes (Tags) that we are REALLY trying to crack in this meeting?<br><br>etc...<br><br><br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How many TiddlyWikis have you created and do you use regularly_ - frankfurtkid - 2010-11-16T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/frankfurtkid\nmodified: 20101116000000000\nmodifier: frankfurtkid\ntags: [[2010 - How many TiddlyWikis have you created and do you use regularly?]] [[2010 - Interview Answer]]\ntitle: 2010 - How many TiddlyWikis have you created and do you use regularly? - frankfurtkid - 2010-11-16T00:00:00.000Z\n\nI have a main notepad for private use at work, a website which is a static file, one or two standalone files and a current project on the BT greenside implementation, plus a new project on songs.tiddlyspace.com for song writing, collaboration and publishing. <br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How many TiddlyWikis have you created and do you use regularly_ - mama - 2010-11-24T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/mama\nmodified: 20101124000000000\nmodifier: mama\ntags: [[2010 - How many TiddlyWikis have you created and do you use regularly?]] [[2010 - Interview Answer]]\ntitle: 2010 - How many TiddlyWikis have you created and do you use regularly? - mama - 2010-11-24T00:00:00.000Z\n\nI've made so many <a href=\"javascript:;\" title=\"The tiddler 'TiddlyWikis' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TiddlyWikis\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlyWikis</a> that I've lost track of them... Some of them are floating in cyberspace, others were lost in broken or erased harddisks and some has gone into hibernation in some dropbox directory. Seriously - I think I've created hundreds of them - all very different <a href=\"javascript:;\" title=\"The tiddler 'TiddlyWikis' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TiddlyWikis\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlyWikis</a> for different uses..<br><a href=\"javascript:;\" title=\"The tiddler 'TiddlySpace' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TiddlySpace\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlySpace</a> has helped me get a little more organized, as it provides an overview of created spaces. <br>At the moment I use 4 dedicated <a href=\"javascript:;\" title=\"The tiddler 'TiddlyWikis' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TiddlyWikis\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlyWikis</a> (spaces) for everyday tasks. All jobrelated. Two of them I share with my students (read only, except for embedded/iframed typewith.me-documents) and one of them I share with my collegues (with writepermission, however I'm the only one contributing to it  at the moment...). The last and most important one is working as my \"controlcenter\". Some of my tiddlers are loaded into the other spaces - so I don't have to edit them all directly to push content...<br>At least once or twice a week I visit some (ca. 4 or 5) of my other <a href=\"javascript:;\" title=\"The tiddler 'TiddlyWikis' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TiddlyWikis\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlyWikis</a>, which are hosted at <a href=\"javascript:;\" title=\"The tiddler 'TiddlySpot' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TiddlySpot\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlySpot</a> or at one of my own <a href=\"javascript:;\" title=\"The tiddler 'TiddlyHome' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TiddlyHome\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlyHome</a> services (I've got two working/customized installations of Bidix's <a href=\"javascript:;\" title=\"The tiddler 'TiddlyHome' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TiddlyHome\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlyHome</a> service). <br>The number of <a href=\"javascript:;\" title=\"TiddlyWiki - jermolene, 15/11/2010, 17:20:58\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlyWiki</a>'s I use (just for reference or edits) in one week is 8 - 10 or more... I also checkout other people's <a href=\"javascript:;\" title=\"The tiddler 'TiddlyWikis' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TiddlyWikis\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlyWikis</a> - so I'm not sure.<br>Every year I prepare multiple <a href=\"javascript:;\" title=\"The tiddler 'TWs' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TWs\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TWs</a> for exams (I have new  students who graduate every summer). Some of those <a href=\"javascript:;\" title=\"The tiddler 'TWs' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TWs\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TWs</a> contain notes for my students and other <a href=\"javascript:;\" title=\"The tiddler 'TWs' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TWs\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TWs</a> contain or refer to material prepared for my censors. I print my <a href=\"javascript:;\" title=\"The tiddler 'TiddlyWikis' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TiddlyWikis\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlyWikis</a> to pdf-portefolios and mail links to online versions of both.<br>3 years ago I would use notepad/<a href=\"javascript:;\" title=\"The tiddler 'OpenOffice' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"OpenOffice\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">OpenOffice</a> or <a href=\"javascript:;\" title=\"The tiddler 'MsOffice' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"MsOffice\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">MsOffice</a> to write/create this sort of material. Today I prefer to use a customized <a href=\"javascript:;\" title=\"TiddlyWiki - jermolene, 15/11/2010, 17:20:58\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlyWiki</a>. <br>When I occasionally use <a href=\"javascript:;\" title=\"The tiddler 'MsOffice' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"MsOffice\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">MsOffice</a> programs at work, it's often just to be able to copy/paste material from a TW for printing - or work with tables in <a href=\"javascript:;\" title=\"The tiddler 'MsExcel' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"MsExcel\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">MsExcel</a> - which I will often copy back into a <a href=\"javascript:;\" title=\"TiddlyWiki - jermolene, 15/11/2010, 17:20:58\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlyWiki</a> :-)<br>At every meeting I attend, I use <a href=\"javascript:;\" title=\"TiddlyWiki - jermolene, 15/11/2010, 17:20:58\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlyWiki</a> as a note/write tool, as a portefolio and as a working database containing data, images and notes about all my students, collegues, calendar with notifications, workplans, ideas, iframed webmail etc ... I even use single local network <a href=\"javascript:;\" title=\"The tiddler 'TWs' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TWs\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TWs</a> as Faq-documents which I prepare for my collegues. TW  is my swiss armyknife at my job, and it certainly helps me to stay organized at all times... When I publish material for my students I use a TW. Sometimes I set it up as a presentation, which I use in education.<br>When I'm at home, I have small projects which also involve TW to some extent. <a href=\"javascript:;\" title=\"The tiddler 'TWScrapbooks' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TWScrapbooks\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TWScrapbooks</a> with bookmarks, iframes etc.. I create private or public tutorials, embed images, make small or big changes to the layout, add plugins or scripts from other <a href=\"javascript:;\" title=\"The tiddler 'TWs' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TWs\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TWs</a> I've made etc...<br>Today <a href=\"javascript:;\" title=\"TiddlyWiki - jermolene, 15/11/2010, 17:20:58\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlyWiki</a> is my single most important tool for everything which involves using a computer.... and sometimes I think that all I need from an operating system is a browser, so I can use a TW....<br><br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How many TiddlyWikis have you created and do you use regularly_ - matt - 2010-11-16T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/matt\nmodified: 20101116000000000\nmodifier: matt\ntags: [[2010 - How many TiddlyWikis have you created and do you use regularly?]] [[2010 - Interview Answer]]\ntitle: 2010 - How many TiddlyWikis have you created and do you use regularly? - matt - 2010-11-16T00:00:00.000Z\n\nI've created a number of <a href=\"javascript:;\" title=\"TiddlyWiki - jermolene, 15/11/2010, 17:20:58\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/matt_public&quot;\">TiddlyWiki</a>'s – the first was stored locally and I used it for capturing notes, lists and actions.  I've now imported this into my <a class=\"tiddlySpaceLink externalLink\" tiddlyspace=\"matt\" href=\"http://matt.tiddlyspace.com/\">matt</a> space where the majority of the content remains private.<br><br>I plan to use <a class=\"tiddlySpaceLink externalLink\" tiddlyspace=\"mattlucht\" href=\"http://mattlucht.tiddlyspace.com/\">mattlucht</a> for capturing random thoughts that I'd like to make public.  I've also used <a href=\"javascript:;\" title=\"The tiddler 'TiddlySpace' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TiddlySpace\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/matt_public&quot;\">TiddlySpace</a> to create a website for a music festival I organised, this I used the bring-your-own-domain function for <a class=\"externalLink\" href=\"http://brixtonoxjam.com/\" title=\"External link to http://brixtonoxjam.com\" target=\"_blank\">http://brixtonoxjam.com</a><br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How many TiddlyWikis have you created and do you use regularly_ - passingby - 2010-11-27T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/passingby\nmodified: 20101127000000000\nmodifier: passingby\ntags: [[2010 - How many TiddlyWikis have you created and do you use regularly?]] [[2010 - Interview Answer]]\ntitle: 2010 - How many TiddlyWikis have you created and do you use regularly? - passingby - 2010-11-27T00:00:00.000Z\n\nI have created many. I have a bad habit of starting a new Tiddlywiki whenever I get excited about a topic but I usually never complete a project 100%.<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How many TiddlyWikis have you created and do you use regularly_ - rouilj - 2010-11-27T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/rouilj\nmodified: 20101127000000000\nmodifier: rouilj\ntags: [[2010 - How many TiddlyWikis have you created and do you use regularly?]] [[2010 - Interview Answer]]\ntitle: 2010 - How many TiddlyWikis have you created and do you use regularly? - rouilj - 2010-11-27T00:00:00.000Z\n\nI use four on a regular basis:<br><br><ul><li> tbGTD - for getting things done</li><li> twab - for an address book and I have extended it to allow tracking things like who gets christmas cards etc</li><li> coursebook - was created as a textbook/exercise-quiz/presentation tool/student notebook for a class I was teaching.</li><li> <a href=\"javascript:;\" title=\"The tiddler 'TiddlySnip' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TiddlySnip\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/rouilj_public&quot;\">TiddlySnip</a> - sadly this has been abandoned, but it is my primary mechanism for keeping bookmarks, research notes and how to's for the firefox browser.</li></ul><br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How many TiddlyWikis have you created and do you use regularly_ - smandoli - 2010-12-24T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/smandoli\nmodified: 20101224000000000\nmodifier: smandoli\ntags: [[2010 - How many TiddlyWikis have you created and do you use regularly?]] [[2010 - Interview Answer]]\ntitle: 2010 - How many TiddlyWikis have you created and do you use regularly? - smandoli - 2010-12-24T00:00:00.000Z\n\n<ol><li> Summary of Materials Resource Planning (MRP) functions for my work place.</li><li> Getting Things Done (GTD) organizer for personal and work use.</li><li> Notes about my study of the Bible (topical as well as passage-specific).</li><li> Computer information such as code snippets in a variety of languages.  </li><li> A personal information manager for everything else.  </li></ol><hr>If I can find the right tools to overcome a sense of content overload, I will combine #3 and #5.  <br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How many TiddlyWikis have you created and do you use regularly_ - yakov - 2011-02-21T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/yakov\nmodified: 20110221000000000\nmodifier: yakov\ntags: [[2010 - How many TiddlyWikis have you created and do you use regularly?]] [[2010 - Interview Answer]]\ntitle: 2010 - How many TiddlyWikis have you created and do you use regularly? - yakov - 2011-02-21T00:00:00.000Z\n\nMy answer won't be very interesting since I'm only studying TW now. I've already created 3 TW for some science and one for making a deep TW tutorial (with many practical aspects).<br><br>However, I'm going to make much more <a href=\"javascript:;\" title=\"The tiddler 'TWs' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TWs\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/yakov_public&quot;\">TWs</a> for different purposes from questions aggregating to making a site.<br><br>UPD: As for now, I use 9 tw-documents. 3 of them very often and others from time to time. I feel that an offline analogue of <a href=\"javascript:;\" title=\"The tiddler 'TiddlyWeb' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TiddlyWeb\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/yakov_public&quot;\">TiddlyWeb</a> becomes more more desirable thing.<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How many TiddlyWikis have you created and do you use regularly_.tid",
    "content": "list: [[2010 - How many TiddlyWikis have you created and do you use regularly? - matt - 2010-11-16T00:00:00.000Z]] [[2010 - How many TiddlyWikis have you created and do you use regularly? - frankfurtkid - 2010-11-16T00:00:00.000Z]] [[2010 - How many TiddlyWikis have you created and do you use regularly? - mama - 2010-11-24T00:00:00.000Z]] [[2010 - How many TiddlyWikis have you created and do you use regularly? - rouilj - 2010-11-27T00:00:00.000Z]] [[2010 - How many TiddlyWikis have you created and do you use regularly? - passingby - 2010-11-27T00:00:00.000Z]] [[2010 - How many TiddlyWikis have you created and do you use regularly? - andrewbarbour - 2010-11-28T00:00:00.000Z]] [[2010 - How many TiddlyWikis have you created and do you use regularly? - colmbritton - 2010-12-21T00:00:00.000Z]] [[2010 - How many TiddlyWikis have you created and do you use regularly? - smandoli - 2010-12-24T00:00:00.000Z]] [[2010 - How many TiddlyWikis have you created and do you use regularly? - yakov - 2011-02-21T00:00:00.000Z]] [[2010 - How many TiddlyWikis have you created and do you use regularly? - dickon - 2012-03-18T00:00:00.000Z]]\ntags: [[2010 - Interview Question]]\ntitle: 2010 - How many TiddlyWikis have you created and do you use regularly?"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How many other people have you introduced to TiddlyWiki_ - dickon - 2012-03-18T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/dickon\nmodified: 20120318000000000\nmodifier: dickon\ntags: [[2010 - How many other people have you introduced to TiddlyWiki?]] [[2010 - Interview Answer]]\ntitle: 2010 - How many other people have you introduced to TiddlyWiki? - dickon - 2012-03-18T00:00:00.000Z\n\nI get about 4-500 hits a month to my Tiddlymanuals at present, which compared to how many people regularly read treatment manuals is, in my book, quite good going for a new project.<br><br>There are about 17 teams starting to use and adapt their own local versions of a <a href=\"javascript:;\" title=\"The tiddler 'TiddlyManual' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TiddlyManual\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/dickon_public&quot;\">TiddlyManual</a> around the UK, and these vary in size from about 4 or 5 up to about 25.<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How many other people have you introduced to TiddlyWiki_ - mama - 2011-08-17T23_00_00.000Z.tid",
    "content": "icon: $:/avatars/mama\nmodified: 20110817000000000\nmodifier: mama\ntags: [[2010 - How many other people have you introduced to TiddlyWiki?]] [[2010 - Interview Answer]]\ntitle: 2010 - How many other people have you introduced to TiddlyWiki? - mama - 2011-08-17T23:00:00.000Z\n\nDirectly or indirectly??<br><h3>Indirectly</h3>Indirectly I have presented jobrelated material in <a href=\"javascript:;\" title=\"The tiddler 'TWs' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TWs\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TWs</a> for about 5 or 600 people over a period of three years. <br>I have used <a href=\"javascript:;\" title=\"The tiddler 'TWs' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TWs\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TWs</a> as container for all kinds of material for reference, when having mailcorrespondences. They are for the most part hosted by dropbox, sometimes attached..<br><h3>Direct introduction:</h3>One year ago the administrator of linux-abc.dk (Danish Linux community powered by <a href=\"javascript:;\" title=\"The tiddler 'MyBB' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"MyBB\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">MyBB</a>) made me administrator of the forum <a href=\"javascript:;\" title=\"TiddlyWiki - jermolene, 15/11/2010, 17:20:58\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlyWiki</a> (12 tutorials and a description) and a support forum... <br>There has been some hits 2 - 300, however there's been no activity for a long time.<br>I haven't bothered to fake questions/answers or setup fake members. <br>I recon there are not that many danes using <a href=\"javascript:;\" title=\"TiddlyWiki - jermolene, 15/11/2010, 17:20:58\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlyWiki</a> therefore no demand for support in Danish...<br>Maybe my tutorials aren't good enough. Don't know really. Linux-abc's administrator has praised my work - though - even if he doesn't use <a href=\"javascript:;\" title=\"TiddlyWiki - jermolene, 15/11/2010, 17:20:58\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlyWiki</a> himself.<br><br>When I attend groupdiscussions i.e puppy linux forums, I setup online <a href=\"javascript:;\" title=\"The tiddler 'TiddlyWikis' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TiddlyWikis\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlyWikis</a> to serve as Faq, tutorials and projectdescription. I've recieved positive feedback from developer in charge of the Puppy Studio project - however I have no idea how many hits my <a href=\"javascript:;\" title=\"The tiddler 'TWs' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TWs\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TWs</a> have had... <br>Everytime I use a TW for this kind of work, I explain what <a href=\"javascript:;\" title=\"TiddlyWiki - jermolene, 15/11/2010, 17:20:58\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlyWiki</a> is and that you can download it for personal use. I don't know if anyone has done that yet...<br><br>I have setup a Danish <a href=\"javascript:;\" title=\"The tiddler 'FaceBook' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"FaceBook\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">FaceBook</a> group (<a href=\"javascript:;\" title=\"The tiddler 'TiddlyWiki_da' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki_da\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlyWiki_da</a>), a posterous blog (<a class=\"externalLink\" href=\"http://tiddlywiki-da.posterous.com/\" title=\"External link to http://tiddlywiki-da.posterous.com\" target=\"_blank\">http://tiddlywiki-da.posterous.com</a>) and a hootcourse (<a class=\"externalLink\" href=\"http://hootcourse.com/course/312/\" title=\"External link to http://hootcourse.com/course/312/\" target=\"_blank\">http://hootcourse.com/course/312/</a>) No activity except some hits....<br><br>A year ago a publisher of educational material (\"Forlaget for ildsjæle\" - \"Imprint for Enthusiasts\") encouraged me to create tutorials on how to use <a href=\"javascript:;\" title=\"TiddlyWiki - jermolene, 15/11/2010, 17:20:58\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlyWiki</a> in a classroomsetting... Alas I haven't reached a point where I've got the time needed to pursue this request - and I'm very busy working as an <a href=\"javascript:;\" title=\"The tiddler 'IT-administrator' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"IT-administrator\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">IT-administrator</a>, teaching undergraduate students on a boarding school (<a class=\"externalLink\" href=\"http://himmerlands-ungdomsskole.dk/\" title=\"External link to http://himmerlands-ungdomsskole.dk\" target=\"_blank\">http://himmerlands-ungdomsskole.dk</a>). 4 kids, a cat and two turtles need my full attention - so I guess I just have to wait untill I'm retired....<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How many other people have you introduced to TiddlyWiki_ - martinlindner - 2010-11-16T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/martinlindner\nmodified: 20101116000000000\nmodifier: martinlindner\ntags: [[2010 - How many other people have you introduced to TiddlyWiki?]] [[2010 - Interview Answer]]\ntitle: 2010 - How many other people have you introduced to TiddlyWiki? - martinlindner - 2010-11-16T00:00:00.000Z\n\nhmm, 10 or so? (who got the idea, but i mentioned it more often.)<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How many other people have you introduced to TiddlyWiki_ - rouilj - 2010-11-27T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/rouilj\nmodified: 20101127000000000\nmodifier: rouilj\ntags: [[2010 - How many other people have you introduced to TiddlyWiki?]] [[2010 - Interview Answer]]\ntitle: 2010 - How many other people have you introduced to TiddlyWiki? - rouilj - 2010-11-27T00:00:00.000Z\n\n60 or so between teaching from the tiddlywiki as well as presenting on tiddlywiki.<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How many other people have you introduced to TiddlyWiki_ - yakov - 2010-11-16T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/yakov\nmodified: 20101116000000000\nmodifier: yakov\ntags: [[2010 - How many other people have you introduced to TiddlyWiki?]] [[2010 - Interview Answer]]\ntitle: 2010 - How many other people have you introduced to TiddlyWiki? - yakov - 2010-11-16T00:00:00.000Z\n\nFor the moment just one philosopher) See, ragged (no offence; I'm not sure this word has same tinge as in russian) tutorials and very few possibilities for those who want to get russian interface, russian help and tutorials and complicity of TW.. As for now this is a tool for those who need it, not a comfortable platform for everything (at least for my friends).<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How many other people have you introduced to TiddlyWiki_.tid",
    "content": "list: [[2010 - How many other people have you introduced to TiddlyWiki? - martinlindner - 2010-11-16T00:00:00.000Z]] [[2010 - How many other people have you introduced to TiddlyWiki? - yakov - 2010-11-16T00:00:00.000Z]] [[2010 - How many other people have you introduced to TiddlyWiki? - rouilj - 2010-11-27T00:00:00.000Z]] [[2010 - How many other people have you introduced to TiddlyWiki? - mama - 2011-08-17T23:00:00.000Z]] [[2010 - How many other people have you introduced to TiddlyWiki? - dickon - 2012-03-18T00:00:00.000Z]]\ntags: [[2010 - Interview Question]]\ntitle: 2010 - How many other people have you introduced to TiddlyWiki?"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How many tiddlers and how many megabytes in your largest TiddlyWiki_ - dickon - 2012-03-18T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/dickon\nmodified: 20120318000000000\nmodifier: dickon\ntags: [[2010 - How many tiddlers and how many megabytes in your largest TiddlyWiki?]] [[2010 - Interview Answer]]\ntitle: 2010 - How many tiddlers and how many megabytes in your largest TiddlyWiki? - dickon - 2012-03-18T00:00:00.000Z\n\nThe main <a class=\"tiddlySpaceLink externalLink\" tiddlyspace=\"ambit\" href=\"http://ambit.tiddlyspace.com/\">ambit</a> tiddlymanual (see <a class=\"tiddlySpaceLink externalLink\" tiddlyspace=\"tiddlymanuals\" href=\"http://tiddlymanuals.tiddlyspace.com/\">tiddlymanuals</a>) is over 2Mb now - still works fine!<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How many tiddlers and how many megabytes in your largest TiddlyWiki_ - frankfurtkid - 2010-11-16T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/frankfurtkid\nmodified: 20101116000000000\nmodifier: frankfurtkid\ntags: [[2010 - How many tiddlers and how many megabytes in your largest TiddlyWiki?]] [[2010 - Interview Answer]]\ntitle: 2010 - How many tiddlers and how many megabytes in your largest TiddlyWiki? - frankfurtkid - 2010-11-16T00:00:00.000Z\n\n2.6 MB - probably pretty modest I guess.<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How many tiddlers and how many megabytes in your largest TiddlyWiki_ - passingby - 2010-11-27T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/passingby\nmodified: 20101127000000000\nmodifier: passingby\ntags: [[2010 - How many tiddlers and how many megabytes in your largest TiddlyWiki?]] [[2010 - Interview Answer]]\ntitle: 2010 - How many tiddlers and how many megabytes in your largest TiddlyWiki? - passingby - 2010-11-27T00:00:00.000Z\n\nNot very large I am afraid. But wait! I have a 'contactsbook' which probably has around 137 tiddlers containing basically names, address and phone numbers of people I know. Not much in MBs I am afraid<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How many tiddlers and how many megabytes in your largest TiddlyWiki_ - rouilj - 2010-11-27T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/rouilj\nmodified: 20101127000000000\nmodifier: rouilj\ntags: [[2010 - How many tiddlers and how many megabytes in your largest TiddlyWiki?]] [[2010 - Interview Answer]]\ntitle: 2010 - How many tiddlers and how many megabytes in your largest TiddlyWiki? - rouilj - 2010-11-27T00:00:00.000Z\n\nThe coursebook is 2.1 MB and 441 tiddlers.<br><br>My Tiddlysnip tiddlywiki is 1.5MB and 661 tiddlers.<br><br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How many tiddlers and how many megabytes in your largest TiddlyWiki_ - yakov - 2010-11-16T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/yakov\nmodified: 20101116000000000\nmodifier: yakov\ntags: [[2010 - How many tiddlers and how many megabytes in your largest TiddlyWiki?]] [[2010 - Interview Answer]]\ntitle: 2010 - How many tiddlers and how many megabytes in your largest TiddlyWiki? - yakov - 2010-11-16T00:00:00.000Z\n\nNo big one yet. Just somewhat about 1Mb. But this is an issue: I still don't know if TW has some \"limit\" (would it get slower if become too big?) and this is why I'm not sure if it's proper to make only one TW for everything or I have to split the things mindfully.<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How many tiddlers and how many megabytes in your largest TiddlyWiki_.tid",
    "content": "list: [[2010 - How many tiddlers and how many megabytes in your largest TiddlyWiki? - frankfurtkid - 2010-11-16T00:00:00.000Z]] [[2010 - How many tiddlers and how many megabytes in your largest TiddlyWiki? - yakov - 2010-11-16T00:00:00.000Z]] [[2010 - How many tiddlers and how many megabytes in your largest TiddlyWiki? - rouilj - 2010-11-27T00:00:00.000Z]] [[2010 - How many tiddlers and how many megabytes in your largest TiddlyWiki? - passingby - 2010-11-27T00:00:00.000Z]] [[2010 - How many tiddlers and how many megabytes in your largest TiddlyWiki? - dickon - 2012-03-18T00:00:00.000Z]]\ntags: [[2010 - Interview Question]]\ntitle: 2010 - How many tiddlers and how many megabytes in your largest TiddlyWiki?"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How might you use TiddlyWiki in the future_ - mama - 2010-12-16T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/mama\nmodified: 20101216000000000\nmodifier: mama\ntags: [[2010 - How might you use TiddlyWiki in the future?]] [[2010 - Interview Answer]]\ntitle: 2010 - How might you use TiddlyWiki in the future? - mama - 2010-12-16T00:00:00.000Z\n\nI guess I'm waiting to implement some future version of <a href=\"javascript:;\" title=\"The tiddler 'TiddlySpace' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TiddlySpace\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlySpace</a> on our servers, for quick and easy delivery of personal spaces with preincluded plugins and theme tailored for intranetuse... <br>All students and collegues already have a single loginname and password for network &amp; wireless internetconnection, moodle, Zimbra (email), educational material services etc...<br>If <a href=\"javascript:;\" title=\"The tiddler 'TiddlySpace' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TiddlySpace\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlySpace</a> should be implemented - I would need a way to setup users/spaces from a csv (or a shared database) and a way to add members to a new space template from a shared/known list of users.<br>I would need two versions of <a href=\"javascript:;\" title=\"The tiddler 'TiddlySpace' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TiddlySpace\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlySpace</a>, one for collegues and another one for students, to run from our two seperate servers. ..<br>If <a href=\"javascript:;\" title=\"The tiddler 'TiddlySpace' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TiddlySpace\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlySpace</a> could interact with Moodle - I think it would be a seamless integration..<br><br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How might you use TiddlyWiki in the future_ - martinlindner - 2010-11-16T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/martinlindner\nmodified: 20101116000000000\nmodifier: martinlindner\ntags: [[2010 - How might you use TiddlyWiki in the future?]] [[2010 - Interview Answer]]\ntitle: 2010 - How might you use TiddlyWiki in the future? - martinlindner - 2010-11-16T00:00:00.000Z\n\nI'd love to have a fully working version of <a href=\"javascript:;\" title=\"The tiddler 'TiddlyDocs' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TiddlyDocs\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/martinlindner_public&quot;\">TiddlyDocs</a>, all by myself, which would be able to import docs.<br>And I can imagine a lot uf uses as soon as i would be able to read/write/edit tiddlers from a client, (something like a twitter client where i could search for a thread of tiddlers, or subscribe to a tag).<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How might you use TiddlyWiki in the future_ - pmario - 2011-04-06T23_00_00.000Z.tid",
    "content": "icon: $:/avatars/pmario\nmodified: 20110406000000000\nmodifier: pmario\ntags: [[2010 - How might you use TiddlyWiki in the future?]] [[2010 - Interview Answer]]\ntitle: 2010 - How might you use TiddlyWiki in the future? - pmario - 2011-04-06T23:00:00.000Z\n\n<ul><li> As my main knowledge database (private) </li><li> and presentation plattform. (private / public)</li></ul><br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How might you use TiddlyWiki in the future_ - yakov - 2010-11-16T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/yakov\nmodified: 20101116000000000\nmodifier: yakov\ntags: [[2010 - How might you use TiddlyWiki in the future?]] [[2010 - Interview Answer]]\ntitle: 2010 - How might you use TiddlyWiki in the future? - yakov - 2010-11-16T00:00:00.000Z\n\nAside those many writings including scientific ones, aggregation uses like GTD or question or news aggregation and possible use for site I'd like to mention the concept which TW allows to implement.<br><br>The IT world is very conservative in one thing: tree-based file systems. This just limits the mind. For instance, I used to sort music in my mobile phone by making folders so that I can accent the value of different tracks and this helps me to introduce some harmony in searching music that's proper for the moment. But eventually this came to too branched tree and tracks that has value in more than one sences became binded with this separation.<br><br>Such a thing happens sometimes with all other things: notes, books.. whatever. TW makes a breakthrough here and after some tweaking can reorganize things so that I can forget about the eclectic branched limits. I haven't dig in this direction yet but I know that there are already somewhat player plugins based on web-technologies.. So this may be of interest.<br><br>Hi-hi. Perhaps TW also will be usefull for organizing code for programming but this sounds rather fansy (as for now).<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - How might you use TiddlyWiki in the future_.tid",
    "content": "list: [[2010 - How might you use TiddlyWiki in the future? - martinlindner - 2010-11-16T00:00:00.000Z]] [[2010 - How might you use TiddlyWiki in the future? - yakov - 2010-11-16T00:00:00.000Z]] [[2010 - How might you use TiddlyWiki in the future? - mama - 2010-12-16T00:00:00.000Z]] [[2010 - How might you use TiddlyWiki in the future? - pmario - 2011-04-06T23:00:00.000Z]]\ntags: [[2010 - Interview Question]]\ntitle: 2010 - How might you use TiddlyWiki in the future?"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - Interview Question.tid",
    "content": "list: [[2010 - How did you first discover TiddlyWiki?]] [[2010 - What was it about TiddlyWiki that captured your interest?]] [[2010 - Which aspects of TiddlyWiki do you find most valuable?]] [[2010 - How many TiddlyWikis have you created and do you use regularly?]] [[2010 - Do you keep adding new features to your existing TiddlyWiki(s)?]] [[2010 - Who is the target audience for your TiddlyWiki(s)?]] [[2010 - What features of TiddlyWiki made it suitable for your target audience?]] [[2010 - How have you found training novice users to use and understand TiddlyWiki?]] [[2010 - How many tiddlers and how many megabytes in your largest TiddlyWiki?]] [[2010 - How has TiddlyWiki saved time for you as an information publisher?]] [[2010 - How has TiddlyWiki saved time for your target audience?]] [[2010 - How has the TiddlyWiki community helped you?]] [[2010 - How have you been able to contribute back to the TiddlyWiki community?]] [[2010 - How many other people have you introduced to TiddlyWiki?]] [[2010 - What is the most challenging thing about using TiddlyWiki?]] [[2010 - Which plugins do you rely on the most?]] [[2010 - What do you think of the name TiddlyWiki and the term \"tiddler\"?]] [[2010 - How might you use TiddlyWiki in the future?]]\ntitle: 2010 - Interview Question"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - What do you think of the name TiddlyWiki and the term _tiddler__ - andrewbarbour - 2010-11-28T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/andrewbarbour\nmodified: 20101128000000000\nmodifier: andrewbarbour\ntags: [[2010 - What do you think of the name TiddlyWiki and the term \"tiddler\"?]] [[2010 - Interview Answer]]\ntitle: 2010 - What do you think of the name TiddlyWiki and the term \"tiddler\"? - andrewbarbour - 2010-11-28T00:00:00.000Z\n\n\"Tiddlywiki\" - kind of 'folksy' and quaint.  Has a bit of charm.<br><br>\"Tiddler\" - is a bit of a barrier to adoption.  I have tried to give overviews to a few people and used the term 'tiddler' - at least 50% of the time there are chuckles and references to 'diddlers'.   I would suggest calling them 'items' or 'posting'.<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - What do you think of the name TiddlyWiki and the term _tiddler__ - frankfurtkid - 2010-11-16T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/frankfurtkid\nmodified: 20101116000000000\nmodifier: frankfurtkid\ntags: [[2010 - What do you think of the name TiddlyWiki and the term \"tiddler\"?]] [[2010 - Interview Answer]]\ntitle: 2010 - What do you think of the name TiddlyWiki and the term \"tiddler\"? - frankfurtkid - 2010-11-16T00:00:00.000Z\n\nI got used to it - but when introducing people to these terms for the first time, they have to get over the smiles. Usually the functionality wins over, but I've had feedback that it does not sound very professional - but hey what does Google or Twitter sound like ? Also sounds much better than Edit Conflict - which I just got saving this tiddler<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - What do you think of the name TiddlyWiki and the term _tiddler__ - gjrobert - 2013-09-15T23_00_00.000Z.tid",
    "content": "icon: $:/avatars/gjrobert\nmodified: 20130915000000000\nmodifier: gjrobert\ntags: [[2010 - What do you think of the name TiddlyWiki and the term \"tiddler\"?]] [[2010 - Interview Answer]]\ntitle: 2010 - What do you think of the name TiddlyWiki and the term \"tiddler\"? - gjrobert - 2013-09-15T23:00:00.000Z\n\n  \"tiddler\" was a whole new word to me at first (I'm no native English speaker). \"<a href=\"javascript:;\" title=\"TiddlyWiki - jermolene, 15/11/2010, 17:20:58\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/gjrobert_public&quot;\">TiddlyWiki</a>\" sounds impressive, bit funny and enjoyable.<br><br>  I like the idea to store ideas and knowledge (like dictionary entries) as small chunks in tiddlers, while preserving the ability to transclude and organize them together into a big knowledge base or long articles or even an e-book.<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - What do you think of the name TiddlyWiki and the term _tiddler__ - kosmaton - 2011-03-10T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/kosmaton\nmodified: 20110310000000000\nmodifier: kosmaton\ntags: [[2010 - What do you think of the name TiddlyWiki and the term \"tiddler\"?]] [[2010 - Interview Answer]]\ntitle: 2010 - What do you think of the name TiddlyWiki and the term \"tiddler\"? - kosmaton - 2011-03-10T00:00:00.000Z\n\nI think unfortunately the cons outweigh the pros.<br><br>Pros:<br><ul><li>non-stuffy</li><li>unique (rare/peculiar word: gives it more of a story)</li><li>rolls off the tongue easily</li></ul>Cons:<br><ul><li>dealing with silly associations</li><li>yet another half-childish sounding Web2.0 name?</li></ul><br>Personally, I would love to use a \"<span>GrooveWiki</span>\" made up of a bunch of cool \"<span>grooves</span>\".<br><br>Or go for something meaningful and nice-sounding in Indo-European or <a class=\"externalLink\" href=\"http://veminra.tiddlyspace.com/#Lojban\" title=\"External link to http://veminra.tiddlyspace.com/#Lojban\" target=\"_blank\">Lojban</a>...<br><br>I'd ultimately rather present this software saying \"Folks, behold this GrooveWiki\" than \"Folks, behold this TiddlyWiki... yes... indeed... no... it's sticklebacks.\" First impressions, you know.<br><br><br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - What do you think of the name TiddlyWiki and the term _tiddler__ - mama - 2010-12-02T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/mama\nmodified: 20101202000000000\nmodifier: mama\ntags: [[2010 - What do you think of the name TiddlyWiki and the term \"tiddler\"?]] [[2010 - Interview Answer]]\ntitle: 2010 - What do you think of the name TiddlyWiki and the term \"tiddler\"? - mama - 2010-12-02T00:00:00.000Z\n\nI like those words. For some reason they remind me of Puppy Linux and the penguin Linux Logo.... and I'm a fan of those. <br>I must admit that there a no Danish words that sounds like \"<a href=\"javascript:;\" title=\"TiddlyWiki - jermolene, 15/11/2010, 17:20:58\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlyWiki</a>\" and \"tiddler\". They are very foreign words - and some times I just replace them with \"Wiki\" and \"article\" - however it depends on the context, and if the audience are people who already have a hunch of what a wiki is... If they don't I would most likely use grouping of words as \"Instantly editable blog or homepage\" and \"editable posts\".<br>The use of the words \"<a href=\"javascript:;\" title=\"TiddlyWiki - jermolene, 15/11/2010, 17:20:58\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlyWiki</a>\" and \"tiddler\" implies originality and an entrance into a new terminology, which is very much what <a href=\"javascript:;\" title=\"TiddlyWiki - jermolene, 15/11/2010, 17:20:58\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlyWiki</a> demands from new users anyway - so please keep the words, they make sense after a while..<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - What do you think of the name TiddlyWiki and the term _tiddler__ - pmario - 2011-04-06T23_00_00.000Z.tid",
    "content": "icon: $:/avatars/pmario\nmodified: 20110406000000000\nmodifier: pmario\ntags: [[2010 - What do you think of the name TiddlyWiki and the term \"tiddler\"?]] [[2010 - Interview Answer]]\ntitle: 2010 - What do you think of the name TiddlyWiki and the term \"tiddler\"? - pmario - 2011-04-06T23:00:00.000Z\n\n<a href=\"javascript:;\" title=\"TiddlyWiki - jermolene, 15/11/2010, 17:20:58\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/pmario_public&quot;\">TiddlyWiki</a> for me is just a name for a wiki.<br>The term tiddler, has to be explaind, whenever you use it. For me \"The smallest part of content in a <a href=\"javascript:;\" title=\"TiddlyWiki - jermolene, 15/11/2010, 17:20:58\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/pmario_public&quot;\">TiddlyWiki</a>\" works best. <br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - What do you think of the name TiddlyWiki and the term _tiddler__ - poulstaugaard - 2011-03-06T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/poulstaugaard\nmodified: 20110306000000000\nmodifier: poulstaugaard\ntags: [[2010 - What do you think of the name TiddlyWiki and the term \"tiddler\"?]] [[2010 - Interview Answer]]\ntitle: 2010 - What do you think of the name TiddlyWiki and the term \"tiddler\"? - poulstaugaard - 2011-03-06T00:00:00.000Z\n\nI agree with Andrew but I haven't found a better term, except perhaps 'item' or 'entry'. I've hesitated to drop 'tiddler' though, choosing to stick with the virtual village parlance.<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - What do you think of the name TiddlyWiki and the term _tiddler__ - smandoli - 2010-12-24T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/smandoli\nmodified: 20101224000000000\nmodifier: smandoli\ntags: [[2010 - What do you think of the name TiddlyWiki and the term \"tiddler\"?]] [[2010 - Interview Answer]]\ntitle: 2010 - What do you think of the name TiddlyWiki and the term \"tiddler\"? - smandoli - 2010-12-24T00:00:00.000Z\n\nThose are good terms.  I have nothing better.  That said, I always introduce the terms with just a bit of anxiety!  And i explain them with a big roll of the eyes and a chuckle.  Once I'm past that, all is well.  And it may be all for the good.  Enough with haughty tech terms, with applications that impress the new user with fear before anything else.  <br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - What do you think of the name TiddlyWiki and the term _tiddler__ - yakov - 2010-11-16T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/yakov\nmodified: 20101116000000000\nmodifier: yakov\ntags: [[2010 - What do you think of the name TiddlyWiki and the term \"tiddler\"?]] [[2010 - Interview Answer]]\ntitle: 2010 - What do you think of the name TiddlyWiki and the term \"tiddler\"? - yakov - 2010-11-16T00:00:00.000Z\n\nI use the term \"tiddler\" for communication in google.groups; I prefer a \"tw-entry\" (\"tw-запись\" in russian) since it looks closer to IT terms.. just more brief and exact. Yeap, I think this actually not important.<br><br><a href=\"javascript:;\" title=\"TiddlyWiki - jermolene, 15/11/2010, 17:20:58\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/yakov_public&quot;\">TiddlyWiki</a> sound just as <a href=\"javascript:;\" title=\"The tiddler 'Coca-Cola' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"Coca-Cola\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/yakov_public&quot;\">Coca-Cola</a> - you never think of what it means, so it's ok, I think. Keep in mind however that english is not my native language.<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - What do you think of the name TiddlyWiki and the term _tiddler__.tid",
    "content": "list: [[2010 - What do you think of the name TiddlyWiki and the term \"tiddler\"? - frankfurtkid - 2010-11-16T00:00:00.000Z]] [[2010 - What do you think of the name TiddlyWiki and the term \"tiddler\"? - yakov - 2010-11-16T00:00:00.000Z]] [[2010 - What do you think of the name TiddlyWiki and the term \"tiddler\"? - andrewbarbour - 2010-11-28T00:00:00.000Z]] [[2010 - What do you think of the name TiddlyWiki and the term \"tiddler\"? - mama - 2010-12-02T00:00:00.000Z]] [[2010 - What do you think of the name TiddlyWiki and the term \"tiddler\"? - smandoli - 2010-12-24T00:00:00.000Z]] [[2010 - What do you think of the name TiddlyWiki and the term \"tiddler\"? - poulstaugaard - 2011-03-06T00:00:00.000Z]] [[2010 - What do you think of the name TiddlyWiki and the term \"tiddler\"? - kosmaton - 2011-03-10T00:00:00.000Z]] [[2010 - What do you think of the name TiddlyWiki and the term \"tiddler\"? - pmario - 2011-04-06T23:00:00.000Z]] [[2010 - What do you think of the name TiddlyWiki and the term \"tiddler\"? - gjrobert - 2013-09-15T23:00:00.000Z]]\ntags: [[2010 - Interview Question]]\ntitle: 2010 - What do you think of the name TiddlyWiki and the term \"tiddler\"?"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - What features of TiddlyWiki made it suitable for your target audience_ - mama - 2010-11-24T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/mama\nmodified: 20101124000000000\nmodifier: mama\ntags: [[2010 - What features of TiddlyWiki made it suitable for your target audience?]] [[2010 - Interview Answer]]\ntitle: 2010 - What features of TiddlyWiki made it suitable for your target audience? - mama - 2010-11-24T00:00:00.000Z\n\n<a href=\"javascript:;\" title=\"TiddlyWiki - jermolene, 15/11/2010, 17:20:58\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlyWiki</a> can be shared online as a normal website, work from a shared networkfolder or attached to an email - all very different delivery methods allowing for different levels/degrees of security and different levels/degrees of technological sawyness. <br>In my experience, people just see another webpage - One, if not the most, frequent complaint I get is: \"Why can't I go back in my browserhistory - to find a recently opened page\"..<br><a href=\"javascript:;\" title=\"The tiddler 'TiddlersBarPlugin' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TiddlersBarPlugin\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlersBarPlugin</a>, <a href=\"javascript:;\" title=\"The tiddler 'HistoryPlugin' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"HistoryPlugin\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">HistoryPlugin</a> or breadcrumbsPlugin, helps...<br>Features I use to enhance user experience are:<br><ul><li>Dropdown menus  (sometimes from vertical mainmenu).</li><li>Lists of different kinds<ul><li>tagged tiddlers</li><li>fETs delivering some degree of preview (images, custom fields etc..)</li></ul></li></ul>Search engines:<br><ul><li><a href=\"javascript:;\" title=\"The tiddler 'YourSearch' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"YourSearch\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">YourSearch</a></li><li><a href=\"javascript:;\" title=\"The tiddler 'SimpleSearch' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"SimpleSearch\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">SimpleSearch</a> or</li><li><a href=\"javascript:;\" title=\"The tiddler 'GoTo' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"GoTo\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">GoTo</a></li></ul>Optional hiding/showing sidepanels or fullscreen display of tiddler content..<br>Most of my jobrelated <a href=\"javascript:;\" title=\"The tiddler 'TiddlyWikis' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TiddlyWikis\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlyWikis</a> hide <a href=\"javascript:;\" title=\"This shadow tiddler is used as the contents of the option panel in the right-hand sidebar\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"SideBarOptions\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">SideBarOptions</a> when opened.<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - What features of TiddlyWiki made it suitable for your target audience_ - passingby - 2010-11-27T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/passingby\nmodified: 20101127000000000\nmodifier: passingby\ntags: [[2010 - What features of TiddlyWiki made it suitable for your target audience?]] [[2010 - Interview Answer]]\ntitle: 2010 - What features of TiddlyWiki made it suitable for your target audience? - passingby - 2010-11-27T00:00:00.000Z\n\nMenus and lists and search abilities<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - What features of TiddlyWiki made it suitable for your target audience_ - pmario - 2011-04-06T23_00_00.000Z.tid",
    "content": "icon: $:/avatars/pmario\nmodified: 20110406000000000\nmodifier: pmario\ntags: [[2010 - What features of TiddlyWiki made it suitable for your target audience?]] [[2010 - Interview Answer]]\ntitle: 2010 - What features of TiddlyWiki made it suitable for your target audience? - pmario - 2011-04-06T23:00:00.000Z\n\n<ul><li> A very minimalistic presentation mode is possible. </li><li> Which keeps the focus of the audience at the basics. </li><li> But powerfull editing can be activated, which creates a WOW</li></ul><br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - What features of TiddlyWiki made it suitable for your target audience_.tid",
    "content": "list: [[2010 - What features of TiddlyWiki made it suitable for your target audience? - mama - 2010-11-24T00:00:00.000Z]] [[2010 - What features of TiddlyWiki made it suitable for your target audience? - passingby - 2010-11-27T00:00:00.000Z]] [[2010 - What features of TiddlyWiki made it suitable for your target audience? - pmario - 2011-04-06T23:00:00.000Z]]\ntags: [[2010 - Interview Question]]\ntitle: 2010 - What features of TiddlyWiki made it suitable for your target audience?"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - What is the most challenging thing about using TiddlyWiki_ - frankfurtkid - 2010-11-16T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/frankfurtkid\nmodified: 20101116000000000\nmodifier: frankfurtkid\ntags: [[2010 - What is the most challenging thing about using TiddlyWiki?]] [[2010 - Interview Answer]]\ntitle: 2010 - What is the most challenging thing about using TiddlyWiki? - frankfurtkid - 2010-11-16T00:00:00.000Z\n\n(1) Trying to work out how to do something when you have no clue. (2) Trying to keep up with the changes in <a href=\"javascript:;\" title=\"The tiddler 'TiddlySpace' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TiddlySpace\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/frankfurtkid_public&quot;\">TiddlySpace</a><br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - What is the most challenging thing about using TiddlyWiki_ - rouilj - 2010-11-27T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/rouilj\nmodified: 20101127000000000\nmodifier: rouilj\ntags: [[2010 - What is the most challenging thing about using TiddlyWiki?]] [[2010 - Interview Answer]]\ntitle: 2010 - What is the most challenging thing about using TiddlyWiki? - rouilj - 2010-11-27T00:00:00.000Z\n\nThe horrible debugging environment. I have been trying to fix the Quiz plugin for a while but the debugging environment compared to other tools (perl, python, C) is primitive.<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - What is the most challenging thing about using TiddlyWiki_ - smandoli - 2010-12-25T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/smandoli\nmodified: 20101225000000000\nmodifier: smandoli\ntags: [[2010 - What is the most challenging thing about using TiddlyWiki?]] [[2010 - Interview Answer]]\ntitle: 2010 - What is the most challenging thing about using TiddlyWiki? - smandoli - 2010-12-25T00:00:00.000Z\n\nFiguring out what plug-ins may help and how to use them.  You can read my <a class=\"externalLink\" href=\"http://themanthursday.com/where-is-tiddlywiki-community/\" title=\"External link to http://themanthursday.com/where-is-tiddlywiki-community/\" target=\"_blank\">blog entry</a> about this.<br><hr><em>Suggest Other Question:</em>  What secondary software tool or application is most useful for you in working with TiddlyWiki?  My answer is Notepad++ (for regex search-and-replace) and python (for converting a big notes document into a TW).  <br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - What is the most challenging thing about using TiddlyWiki_.tid",
    "content": "list: [[2010 - What is the most challenging thing about using TiddlyWiki? - frankfurtkid - 2010-11-16T00:00:00.000Z]] [[2010 - What is the most challenging thing about using TiddlyWiki? - rouilj - 2010-11-27T00:00:00.000Z]] [[2010 - What is the most challenging thing about using TiddlyWiki? - smandoli - 2010-12-25T00:00:00.000Z]]\ntags: [[2010 - Interview Question]]\ntitle: 2010 - What is the most challenging thing about using TiddlyWiki?"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - What was it about TiddlyWiki that captured your interest_ - aamaadmitw5 - 2014-09-23T23_00_00.000Z.tid",
    "content": "icon: $:/avatars/aamaadmitw5\nmodified: 20140923000000000\nmodifier: aamaadmitw5\ntags: [[2010 - What was it about TiddlyWiki that captured your interest?]] [[2010 - Interview Answer]]\ntitle: 2010 - What was it about TiddlyWiki that captured your interest? - aamaadmitw5 - 2014-09-23T23:00:00.000Z\n\nin reply to <a href=\"javascript:;\" title=\"What was it about TiddlyWiki that captured your interest? - jermolene, 15/11/2010, 17:06:19\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"What was it about TiddlyWiki that captured your interest?\">What was it about TiddlyWiki that captured your interest?</a>:<br><br>1. Simplicity<br>2. Tagging<br>3. Default fonts and line spacing<br>4. Unusual<br>5. Single file<br><br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - What was it about TiddlyWiki that captured your interest_ - climatechange3 - 2010-12-02T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/climatechange3\nmodified: 20101202000000000\nmodifier: climatechange3\ntags: [[2010 - What was it about TiddlyWiki that captured your interest?]] [[2010 - Interview Answer]]\ntitle: 2010 - What was it about TiddlyWiki that captured your interest? - climatechange3 - 2010-12-02T00:00:00.000Z\n\nIts versatility, built-in macros, the wonderful &amp; creative 3rd party plugins, a diversity of ways to present and organize content and layout and the responsiveness of the TW Google Group. In examining the structure of tiddlers, I became aware of the possibility of generating sets of tiddlers from the extensive body of information I have gathered in a set of <a href=\"javascript:;\" title=\"The tiddler 'DataPerfect' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"DataPerfect\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/climatechange3_public&quot;\">DataPerfect</a> databases.<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - What was it about TiddlyWiki that captured your interest_ - dickon - 2012-03-18T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/dickon\nmodified: 20120318000000000\nmodifier: dickon\ntags: [[2010 - What was it about TiddlyWiki that captured your interest?]] [[2010 - Interview Answer]]\ntitle: 2010 - What was it about TiddlyWiki that captured your interest? - dickon - 2012-03-18T00:00:00.000Z\n\nIt was the fact that it was a <em>document</em>, but that it had certain aspects that seemed extraordinarily \"three-dimensional\": pages (tiddlers) have <em>depth</em> insofar as each chunk of content that you write has what I think of as both <em>centrifugal</em> force (stimulating interest to go and explore links and tags that offered related material) balanced by <em>centripetal</em> force (the intrinsic interest of what is here on this page/tiddler, that holds my attention and delivers what I want/need.)<br><br>But more than that, <a href=\"javascript:;\" title=\"TiddlyWiki - jermolene, 15/11/2010, 17:20:58\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/dickon_public&quot;\">TiddlyWiki</a> has EDGES; this is like other documents I know about (chiefly paper based), and is reassuring in relation to the scary 'anarchy of limitlessness' that, say, Wikipedia has.  As a TW could be a thing - downloaded, uploaded - so it was a <em>definable entity</em>; there could be a balance of authorial control with the wiki-like sharing and co-construction.<br><br>I was writing a large treatment manual at the time (with a great group of co-authors based around the <a class=\"externalLink\" href=\"http://annafreud.org/\" title=\"External link to http://annafreud.org\" target=\"_blank\">Anna Freud Centre</a>) at the time, and we were trying to integrate a whole range of \"schools\" of thinking and practising into a concentrated, integrated set of principles and practices that could 'steer' workers in the field towards more effective practice in doing therapy with some of the most vulnerable, complex, troubled youth around.  The \"eureka\" moment (and it was something like that) was the recognition of a number of things almost simultaneously:<br><br><h1>'Integrative' format</h1><br>1. That the way to mount all this information was in a <a href=\"javascript:;\" title=\"TiddlyWiki - jermolene, 15/11/2010, 17:20:58\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/dickon_public&quot;\">TiddlyWiki</a>: this format could emphasise underlying links/commonalities/shared concepts between disparate schools (that had often, in my view, wasted precious energy on \"turf wars\"... this seemed to me to be a radically <em>integrative format</em>, insofar as any tiddler that I wrote automatically begged the questions: <em>\"How does my content fit in with the rest of what is written?  How are you going to tag me?  What links are you going to place in me, and to me?\"</em><br><br><h1>Funkier than a book</h1><br>2. The format (with its promise of embedded video, downloadable documents, clickable links...) offered a much more tempting \"front door\" to what is conventionally a massively boring kind of book. (Research demonstrates that the \"treatment manual\" is frequently despised by therapists, who find them rigid, condescending, crushing of creativity and spontaneity, and often ill-fitting to their local setting and cultural context.)  Most treatment manuals are not inviting to the casual browser!<br><br><h1>Open source works for therapy, too</h1><br>3. The whole \"open source\" ethos that Tiddlywiki abounds with, absolutely fitted with the slant on human behaviour/psychology that we were using as the \"integrating principle\" in our treatment approach, which is \"<a href=\"javascript:;\" title=\"The tiddler 'Mentalization' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"Mentalization\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/dickon_public&quot;\">Mentalization</a>\".  The motto of open source programmers (\"Release Early, Release Often\") fits the mentalization-based therapist's assumption that \"I only see with partial vision\" and his or her willingness to mark their <em>best guesses</em> as just that - hypotheses, to be built on and improved...<br><br><h1>Multiple iterations around a developing shared core</h1><br>4. The final \"Bingo!\" moment was the realisation that with <a href=\"javascript:;\" title=\"TiddlyWiki - jermolene, 15/11/2010, 17:20:58\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/dickon_public&quot;\">TiddlyWiki</a> it was possible to conceive of multiple locally-adapted versions of a centrally-curated 'basic core' offering.   Thus local teams (the \"small trusted groups\" that <a href=\"javascript:;\" title=\"The tiddler 'TiddlySpace' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TiddlySpace\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/dickon_public&quot;\">TiddlySpace</a> refers to) can work out <em>place- and population-specific iterations</em> of \"Practice-based Evidence\" - that fit the more rarefied/less 'attuned' \"Evidence-based Practice\" into <em>local settings, local populations</em>.  I think of it as being like adapting a basic car for use in different parts of the world - some places need air-con, others need 4 wheel drive and a good in-cabin heater, still others need an excellent paint job, etc... but all rely on a basic car that basically runs.  <br><br>With the development of <a href=\"javascript:;\" title=\"The tiddler 'TiddlyWeb' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TiddlyWeb\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/dickon_public&quot;\">TiddlyWeb</a> and <a href=\"javascript:;\" title=\"The tiddler 'TiddlySpace' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TiddlySpace\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/dickon_public&quot;\">TiddlySpace</a> this vision (no. 4 above) has become increasingly possible, so that now the <a class=\"tiddlySpaceLink externalLink\" tiddlyspace=\"ambit\" href=\"http://ambit.tiddlyspace.com/\">ambit</a> core manual is <em><strong>included</strong></em> in the local versions of just under 20 teams across the UK (see <a class=\"tiddlySpaceLink externalLink\" tiddlyspace=\"tiddlymanuals\" href=\"http://tiddlymanuals.tiddlyspace.com/\">tiddlymanuals</a> and follow the links for AMBIT), working with diverse populations, and in diverse ways, with \"hard to reach\" young people.  <br><br>These teams are beginning to build their own locally-attuned versions of a treatment manual, building on (and often improving on) the ambit 'core'.  As time goes on, and evidence is gathered about what works for whom, we hope to bring excellent local adaptations that would have more general relevance into the core, so that they are automatically available to all other local teams including this core.<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - What was it about TiddlyWiki that captured your interest_ - frankfurtkid - 2010-11-16T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/frankfurtkid\nmodified: 20101116000000000\nmodifier: frankfurtkid\ntags: [[2010 - What was it about TiddlyWiki that captured your interest?]] [[2010 - Interview Answer]]\ntitle: 2010 - What was it about TiddlyWiki that captured your interest? - frankfurtkid - 2010-11-16T00:00:00.000Z\n\nI could create simple notepad applications, very quickly and easily - but also the more I used it, the more I realized I could change the way it looked and worked.  This has been both liberating, and frustrating.<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - What was it about TiddlyWiki that captured your interest_ - mama - 2010-11-20T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/mama\nmodified: 20101120000000000\nmodifier: mama\ntags: [[2010 - What was it about TiddlyWiki that captured your interest?]] [[2010 - Interview Answer]]\ntitle: 2010 - What was it about TiddlyWiki that captured your interest? - mama - 2010-11-20T00:00:00.000Z\n\nI'm sure that it was the \"tiddler-approach\" which caught my attention... Other wikis I tried in the past, always made me a little uneasy because of the \"one article one page\" layout. I quickly understood that <a href=\"javascript:;\" title=\"TiddlyWiki - jermolene, 15/11/2010, 17:20:58\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlyWiki</a> could be tweaked to my own liking - and when I eventually overcame my reluctance to enroll in a community, the googlegroup convinced me that even I, could create/modify a copy to my own liking, a total noob, with no education or knowledge whatsoever about html, css or javascript.<br>As far as I remember, I tried to figure things out for myself for about six months untill I finally gave up - and posted a question on the usergroup. At that time I was trying to create a tiddlywikiapp to be used on a mobile phone for administration of students at my school. <a class=\"externalLink\" href=\"http://himmerlands-ungdomsskole.dk/\" title=\"External link to http://himmerlands-ungdomsskole.dk\" target=\"_blank\">http://himmerlands-ungdomsskole.dk</a>. I even purchased an old HTC (tytn II) to be able to test the thing....<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - What was it about TiddlyWiki that captured your interest_ - martinlindner - 2010-11-16T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/martinlindner\nmodified: 20101116000000000\nmodifier: martinlindner\ntags: [[2010 - What was it about TiddlyWiki that captured your interest?]] [[2010 - Interview Answer]]\ntitle: 2010 - What was it about TiddlyWiki that captured your interest? - martinlindner - 2010-11-16T00:00:00.000Z\n\ninitially: i think i was fascinated by the idea of having  a \"page\" made of dynamic paragraphs, back then. i'm still interested in the (abandoned?) TW project of importing docs, transforming paragraphs to tiddlers, and back again.<br><br>the other concept i have been obsessed with since 2004 is \"microcontent\": to play with small units of meaning, meme-like chunks. like the microweb that exploded after that, with twitter &amp; any kind of 'microformatted' apps (for questions, for trips, for reviewas, for nearly anything).<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - What was it about TiddlyWiki that captured your interest_ - passingby - 2010-11-27T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/passingby\nmodified: 20101127000000000\nmodifier: passingby\ntags: [[2010 - What was it about TiddlyWiki that captured your interest?]] [[2010 - Interview Answer]]\ntitle: 2010 - What was it about TiddlyWiki that captured your interest? - passingby - 2010-11-27T00:00:00.000Z\n\nThat it was:<br><ol><li>Single file software</li><li>It opened in a browser</li><li>It was kind of a closet, you could stash away things in it</li><li>You could 'own' it, for free, have as many copies as you want</li><li>It had a world of fascinating plugins</li></ol><br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - What was it about TiddlyWiki that captured your interest_ - pmario - 2011-04-05T23_00_00.000Z.tid",
    "content": "icon: $:/avatars/pmario\nmodified: 20110405000000000\nmodifier: pmario\ntags: [[2010 - What was it about TiddlyWiki that captured your interest?]] [[2010 - Interview Answer]]\ntitle: 2010 - What was it about TiddlyWiki that captured your interest? - pmario - 2011-04-05T23:00:00.000Z\n\n<ul><li>The extensibility</li></ul><br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - What was it about TiddlyWiki that captured your interest_ - poulstaugaard - 2011-03-12T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/poulstaugaard\nmodified: 20110312000000000\nmodifier: poulstaugaard\ntags: [[2010 - What was it about TiddlyWiki that captured your interest?]] [[2010 - Interview Answer]]\ntitle: 2010 - What was it about TiddlyWiki that captured your interest? - poulstaugaard - 2011-03-12T00:00:00.000Z\n\nThe page architecture, which I have adopted, finding little reason to change anything just for the sake of difference, nor for any other reason. Everything, even the animations, serves a purpose and does it just right, including the omission of sidebar space for 'ads by Google'. <br><br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - What was it about TiddlyWiki that captured your interest_ - rouilj - 2010-11-27T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/rouilj\nmodified: 20101127000000000\nmodifier: rouilj\ntags: [[2010 - What was it about TiddlyWiki that captured your interest?]] [[2010 - Interview Answer]]\ntitle: 2010 - What was it about TiddlyWiki that captured your interest? - rouilj - 2010-11-27T00:00:00.000Z\n\nSaq's use in the education realm and the ease of transport/sharing.<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - What was it about TiddlyWiki that captured your interest_ - smandoli - 2010-12-24T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/smandoli\nmodified: 20101224000000000\nmodifier: smandoli\ntags: [[2010 - What was it about TiddlyWiki that captured your interest?]] [[2010 - Interview Answer]]\ntitle: 2010 - What was it about TiddlyWiki that captured your interest? - smandoli - 2010-12-24T00:00:00.000Z\n\n<strong>Portability.</strong>  I didn't want to have to be on-line, and I wanted to shuttle between Linux at home and Windows at work.  And I had recently become attached to my USB drive.  <br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - What was it about TiddlyWiki that captured your interest_ - webid4me - 2014-09-23T23_00_00.000Z.tid",
    "content": "icon: $:/avatars/webid4me\nmodified: 20140923000000000\nmodifier: webid4me\ntags: [[2010 - What was it about TiddlyWiki that captured your interest?]] [[2010 - Interview Answer]]\ntitle: 2010 - What was it about TiddlyWiki that captured your interest? - webid4me - 2014-09-23T23:00:00.000Z\n\nin reply to <a href=\"javascript:;\" title=\"What was it about TiddlyWiki that captured your interest? - jermolene, 15/11/2010, 17:06:19\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"What was it about TiddlyWiki that captured your interest?\">What was it about TiddlyWiki that captured your interest?</a>:<br><br>1. Portable - single file application<br>2. Flexible workflow (&amp; plugins)<br>3. Offline<br>4. Open Source<br>5. Searchable<br>6. Active development<br><br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - What was it about TiddlyWiki that captured your interest_ - yakov - 2010-11-16T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/yakov\nmodified: 20101116000000000\nmodifier: yakov\ntags: [[2010 - What was it about TiddlyWiki that captured your interest?]] [[2010 - Interview Answer]]\ntitle: 2010 - What was it about TiddlyWiki that captured your interest? - yakov - 2010-11-16T00:00:00.000Z\n\nMore I discovered TW, more I get exiced because my wishes got implemented one by one. TW happen to be extremly powerful, close to WYSIMYM-based and, well... the only thing I've got to do is to discover it carefully (although some things are now distinct to be not achieved yet the plugin system promises almost everything to be doable).<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - What was it about TiddlyWiki that captured your interest_.tid",
    "content": "list: [[2010 - What was it about TiddlyWiki that captured your interest? - frankfurtkid - 2010-11-16T00:00:00.000Z]] [[2010 - What was it about TiddlyWiki that captured your interest? - martinlindner - 2010-11-16T00:00:00.000Z]] [[2010 - What was it about TiddlyWiki that captured your interest? - yakov - 2010-11-16T00:00:00.000Z]] [[2010 - What was it about TiddlyWiki that captured your interest? - mama - 2010-11-20T00:00:00.000Z]] [[2010 - What was it about TiddlyWiki that captured your interest? - rouilj - 2010-11-27T00:00:00.000Z]] [[2010 - What was it about TiddlyWiki that captured your interest? - passingby - 2010-11-27T00:00:00.000Z]] [[2010 - What was it about TiddlyWiki that captured your interest? - climatechange3 - 2010-12-02T00:00:00.000Z]] [[2010 - What was it about TiddlyWiki that captured your interest? - smandoli - 2010-12-24T00:00:00.000Z]] [[2010 - What was it about TiddlyWiki that captured your interest? - poulstaugaard - 2011-03-12T00:00:00.000Z]] [[2010 - What was it about TiddlyWiki that captured your interest? - pmario - 2011-04-05T23:00:00.000Z]] [[2010 - What was it about TiddlyWiki that captured your interest? - dickon - 2012-03-18T00:00:00.000Z]] [[2010 - What was it about TiddlyWiki that captured your interest? - aamaadmitw5 - 2014-09-23T23:00:00.000Z]] [[2010 - What was it about TiddlyWiki that captured your interest? - webid4me - 2014-09-23T23:00:00.000Z]]\ntags: [[2010 - Interview Question]]\ntitle: 2010 - What was it about TiddlyWiki that captured your interest?"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - Which aspects of TiddlyWiki do you find most valuable_ - aamaadmitw5 - 2014-09-23T23_00_00.000Z.tid",
    "content": "icon: $:/avatars/aamaadmitw5\nmodified: 20140923000000000\nmodifier: aamaadmitw5\ntags: [[2010 - Which aspects of TiddlyWiki do you find most valuable?]] [[2010 - Interview Answer]]\ntitle: 2010 - Which aspects of TiddlyWiki do you find most valuable? - aamaadmitw5 - 2014-09-23T23:00:00.000Z\n\nin reply to <a href=\"javascript:;\" title=\"Which aspects of TiddlyWiki do you find most valuable? - jermolene, 15/11/2010, 17:06:21\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"Which aspects of TiddlyWiki do you find most valuable?\">Which aspects of TiddlyWiki do you find most valuable?</a>:<br><br>1. Regular updates<br>2. Simplicity<br>3. Alternative ways to do things<br>4 Tags / Tags / Tags<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - Which aspects of TiddlyWiki do you find most valuable_ - alexhough - 2010-12-08T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/alexhough\nmodified: 20101208000000000\nmodifier: alexhough\ntags: [[2010 - Which aspects of TiddlyWiki do you find most valuable?]] [[2010 - Interview Answer]]\ntitle: 2010 - Which aspects of TiddlyWiki do you find most valuable? - alexhough - 2010-12-08T00:00:00.000Z\n\n<a href=\"javascript:;\" title=\"The tiddler 'Facilitating Group Work' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"Facilitating Group Work\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/alexhough_public&quot;\">Facilitating Group Work</a><br>During the design stages of the <a href=\"javascript:;\" title=\"The tiddler 'OMM' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"OMM\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/alexhough_public&quot;\">OMM</a>, <a href=\"javascript:;\" title=\"TiddlyWiki - jermolene, 15/11/2010, 17:20:58\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/alexhough_public&quot;\">TiddlyWiki</a> was used to capture the requirements from the group. We projected the TW on the wall.<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - Which aspects of TiddlyWiki do you find most valuable_ - mama - 2010-11-24T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/mama\nmodified: 20101124000000000\nmodifier: mama\ntags: [[2010 - Which aspects of TiddlyWiki do you find most valuable?]] [[2010 - Interview Answer]]\ntitle: 2010 - Which aspects of TiddlyWiki do you find most valuable? - mama - 2010-11-24T00:00:00.000Z\n\nOwnership and a great amount of control. You can keep your work offline or go public, even the different publishing options are \"hackable\" - its \"all inclusive\" instead of \"some exclusive\". <br>I think that <a href=\"javascript:;\" title=\"TiddlyWiki - jermolene, 15/11/2010, 17:20:58\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlyWiki</a> is THE good example of what <a href=\"javascript:;\" title=\"The tiddler 'OpenSource' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"OpenSource\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">OpenSource</a> is all about - The communiti(es) are full of great/generous people, you want to follow or help out in any way you can. I think this incitament (to do good...) comes from a deep feeling of gratitude toward those who helped you when you needed it, and the fact that <a href=\"javascript:;\" title=\"TiddlyWiki - jermolene, 15/11/2010, 17:20:58\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlyWiki</a> is <a href=\"javascript:;\" title=\"The tiddler 'OpenSource' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"OpenSource\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">OpenSource</a> software, maintained by great developers - who demonstrate accountability at all times, makes you feel safe, - and that <a href=\"javascript:;\" title=\"TiddlyWiki - jermolene, 15/11/2010, 17:20:58\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlyWiki</a> is a serious project.<br><br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - Which aspects of TiddlyWiki do you find most valuable_ - passingby - 2010-11-27T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/passingby\nmodified: 20101127000000000\nmodifier: passingby\ntags: [[2010 - Which aspects of TiddlyWiki do you find most valuable?]] [[2010 - Interview Answer]]\ntitle: 2010 - Which aspects of TiddlyWiki do you find most valuable? - passingby - 2010-11-27T00:00:00.000Z\n\n<ol><li>Tiddler concept</li><li>Tagging ability</li><li>The Paradigm, every thing is a tiddler</li><li>Plethora of plugins</li><li>Versatility, programmable using inlinejavascript plugin and the other plugins</li><li>Best software around for storing personal data</li></ol><br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - Which aspects of TiddlyWiki do you find most valuable_ - pmario - 2011-04-05T23_00_00.000Z.tid",
    "content": "icon: $:/avatars/pmario\nmodified: 20110405000000000\nmodifier: pmario\ntags: [[2010 - Which aspects of TiddlyWiki do you find most valuable?]] [[2010 - Interview Answer]]\ntitle: 2010 - Which aspects of TiddlyWiki do you find most valuable? - pmario - 2011-04-05T23:00:00.000Z\n\n<ul><li> For most people its new. They haven't seen something like this. It's easy. It's usefull. It's a WOW.</li><li> It's flexibility</li><li> <a href=\"javascript:;\" title=\"The tiddler 'TagglyTagging' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TagglyTagging\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/pmario_public&quot;\">TagglyTagging</a></li></ul><br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - Which aspects of TiddlyWiki do you find most valuable_ - smandoli - 2010-12-24T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/smandoli\nmodified: 20101224000000000\nmodifier: smandoli\ntags: [[2010 - Which aspects of TiddlyWiki do you find most valuable?]] [[2010 - Interview Answer]]\ntitle: 2010 - Which aspects of TiddlyWiki do you find most valuable? - smandoli - 2010-12-24T00:00:00.000Z\n\n<h3> Easy and Quick</h3><ul><li> I can capture my thought or preserve a good quotation without a lot of hassle or time.  </li><li> I don't have to decide if the idea is \"important\" or how it fits in with everything else.  Paste, save, apply a tag if I can think of one <span>—</span> that's it.  </li></ul><h3> Portable</h3><ul><li> In a strange library?  Not sure what kind of computer is in front of me?  Can't get the Internet to work?  NO MATTER <span>—</span> if it's got a USB port, I'm in.</li></ul><h3> Non-linear association of ideas</h3><ul><li> It may not look like a mind map (yet), but it feels like one.  </li><li> This is one of my few activities in life where it doesn't seem to matter if I'm in ADHD mode or not.  Or putting it from another angle, managing a TW seems to put my ADHD to some sort of actual good use.  </li></ul><h3> Non-proprietary Text Format</h3><ul><li> Whatever the next step is in knowledge management, I can get there.  Migrating my voluminous notes from word-processor documents to TW was tedious, but nothing will ever be that hard again.  </li></ul><h3> Sheer elegance</h3><ul><li>  ... 'Nuff said.</li></ul><br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - Which aspects of TiddlyWiki do you find most valuable_ - webid4me - 2014-09-23T23_00_00.000Z.tid",
    "content": "icon: $:/avatars/webid4me\nmodified: 20140923000000000\nmodifier: webid4me\ntags: [[2010 - Which aspects of TiddlyWiki do you find most valuable?]] [[2010 - Interview Answer]]\ntitle: 2010 - Which aspects of TiddlyWiki do you find most valuable? - webid4me - 2014-09-23T23:00:00.000Z\n\nin reply to <a href=\"javascript:;\" title=\"Which aspects of TiddlyWiki do you find most valuable? - jermolene, 15/11/2010, 17:06:21\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"Which aspects of TiddlyWiki do you find most valuable?\">Which aspects of TiddlyWiki do you find most valuable?</a>:<br><br>1. Non-linear notebook<br>2. Portable<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - Which aspects of TiddlyWiki do you find most valuable_ - yakov - 2010-11-16T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/yakov\nmodified: 20101116000000000\nmodifier: yakov\ntags: [[2010 - Which aspects of TiddlyWiki do you find most valuable?]] [[2010 - Interview Answer]]\ntitle: 2010 - Which aspects of TiddlyWiki do you find most valuable? - yakov - 2010-11-16T00:00:00.000Z\n\n<ul><li> transclusion system</li><li> cross-platformity</li><li> extansibility</li><li> great community and many already implemented important things</li></ul><br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - Which aspects of TiddlyWiki do you find most valuable_.tid",
    "content": "list: [[2010 - Which aspects of TiddlyWiki do you find most valuable? - yakov - 2010-11-16T00:00:00.000Z]] [[2010 - Which aspects of TiddlyWiki do you find most valuable? - mama - 2010-11-24T00:00:00.000Z]] [[2010 - Which aspects of TiddlyWiki do you find most valuable? - passingby - 2010-11-27T00:00:00.000Z]] [[2010 - Which aspects of TiddlyWiki do you find most valuable? - alexhough - 2010-12-08T00:00:00.000Z]] [[2010 - Which aspects of TiddlyWiki do you find most valuable? - smandoli - 2010-12-24T00:00:00.000Z]] [[2010 - Which aspects of TiddlyWiki do you find most valuable? - pmario - 2011-04-05T23:00:00.000Z]] [[2010 - Which aspects of TiddlyWiki do you find most valuable? - aamaadmitw5 - 2014-09-23T23:00:00.000Z]] [[2010 - Which aspects of TiddlyWiki do you find most valuable? - webid4me - 2014-09-23T23:00:00.000Z]]\ntags: [[2010 - Interview Question]]\ntitle: 2010 - Which aspects of TiddlyWiki do you find most valuable?"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - Which plugins do you rely on the most_ - climatechange3 - 2010-12-01T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/climatechange3\nmodified: 20101201000000000\nmodifier: climatechange3\ntags: [[2010 - Which plugins do you rely on the most?]] [[2010 - Interview Answer]]\ntitle: 2010 - Which plugins do you rely on the most? - climatechange3 - 2010-12-01T00:00:00.000Z\n\n<a href=\"javascript:;\" title=\"The tiddler 'TwSearchPlugin' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TwSearchPlugin\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/climatechange3_public&quot;\">TwSearchPlugin</a>, <a href=\"javascript:;\" title=\"The tiddler 'NestedSlidersPlugin' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"NestedSlidersPlugin\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/climatechange3_public&quot;\">NestedSlidersPlugin</a>, <a href=\"javascript:;\" title=\"The tiddler 'BreadCrumbsPlugin' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"BreadCrumbsPlugin\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/climatechange3_public&quot;\">BreadCrumbsPlugin</a>, <a href=\"javascript:;\" title=\"The tiddler 'ForEachTiddlerPlugin' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"ForEachTiddlerPlugin\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/climatechange3_public&quot;\">ForEachTiddlerPlugin</a>, fontSize plugin macro, <a href=\"javascript:;\" title=\"The tiddler 'SplashScreenPlugin' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"SplashScreenPlugin\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/climatechange3_public&quot;\">SplashScreenPlugin</a>, <a href=\"javascript:;\" title=\"The tiddler 'CustomLewcid' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"CustomLewcid\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/climatechange3_public&quot;\">CustomLewcid</a> - <a href=\"javascript:;\" title=\"The tiddler 'HoverMenuPlugin' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"HoverMenuPlugin\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/climatechange3_public&quot;\">HoverMenuPlugin</a>, <a href=\"javascript:;\" title=\"The tiddler 'SearchOptions' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"SearchOptions\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/climatechange3_public&quot;\">SearchOptions</a> plugin<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - Which plugins do you rely on the most_ - frankfurtkid - 2010-11-16T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/frankfurtkid\nmodified: 20101116000000000\nmodifier: frankfurtkid\ntags: [[2010 - Which plugins do you rely on the most?]] [[2010 - Interview Answer]]\ntitle: 2010 - Which plugins do you rely on the most? - frankfurtkid - 2010-11-16T00:00:00.000Z\n\n<a href=\"javascript:;\" title=\"The tiddler 'RSSReader' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"RSSReader\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/frankfurtkid_public&quot;\">RSSReader</a>; <a href=\"javascript:;\" title=\"The tiddler 'SimpleSearchPlugin' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"SimpleSearchPlugin\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/frankfurtkid_public&quot;\">SimpleSearchPlugin</a>; <a href=\"javascript:;\" title=\"The tiddler 'EasyEditPlugin' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"EasyEditPlugin\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/frankfurtkid_public&quot;\">EasyEditPlugin</a>; <a href=\"javascript:;\" title=\"The tiddler 'TiddlerListMarco' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TiddlerListMarco\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/frankfurtkid_public&quot;\">TiddlerListMarco</a>;  <a href=\"javascript:;\" title=\"ActivityStreamPlugin - jon, 12/04/2011, 11:05:00\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"ActivityStreamPlugin\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/frankfurtkid_public&quot;\">ActivityStreamPlugin</a>  plus all the usual ones<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - Which plugins do you rely on the most_ - pmario - 2011-04-06T23_00_00.000Z.tid",
    "content": "icon: $:/avatars/pmario\nmodified: 20110406000000000\nmodifier: pmario\ntags: [[2010 - Which plugins do you rely on the most?]] [[2010 - Interview Answer]]\ntitle: 2010 - Which plugins do you rely on the most? - pmario - 2011-04-06T23:00:00.000Z\n\n<ul><li> <a href=\"javascript:;\" title=\"The tiddler 'GotoPlugin' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"GotoPlugin\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/pmario_public&quot;\">GotoPlugin</a>, </li><li> <a href=\"javascript:;\" title=\"The tiddler 'SearchOptionsPlugin' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"SearchOptionsPlugin\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/pmario_public&quot;\">SearchOptionsPlugin</a>, </li><li> <a href=\"javascript:;\" title=\"The tiddler 'TagglyTaggingPlugin' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TagglyTaggingPlugin\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/pmario_public&quot;\">TagglyTaggingPlugin</a>, </li><li> <a href=\"javascript:;\" title=\"The tiddler 'HideWhenPlugin' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"HideWhenPlugin\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/pmario_public&quot;\">HideWhenPlugin</a>, </li><li> <a href=\"javascript:;\" title=\"The tiddler 'SelectThemePlugin' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"SelectThemePlugin\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/pmario_public&quot;\">SelectThemePlugin</a>, </li><li> <a href=\"javascript:;\" title=\"The tiddler 'StoryGlueMacro' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"StoryGlueMacro\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/pmario_public&quot;\">StoryGlueMacro</a>, </li><li> <a href=\"javascript:;\" title=\"The tiddler 'SelectStoryMacro' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"SelectStoryMacro\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/pmario_public&quot;\">SelectStoryMacro</a>, </li><li> <a href=\"javascript:;\" title=\"The tiddler 'NavigationMacro' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"NavigationMacro\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/pmario_public&quot;\">NavigationMacro</a>, </li></ul><br>Sorted by priority. <br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - Which plugins do you rely on the most_ - rouilj - 2010-11-27T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/rouilj\nmodified: 20101127000000000\nmodifier: rouilj\ntags: [[2010 - Which plugins do you rely on the most?]] [[2010 - Interview Answer]]\ntitle: 2010 - Which plugins do you rely on the most? - rouilj - 2010-11-27T00:00:00.000Z\n\nFor the coursebook: SlideShowPlugin, StorySaverPlugin, GotoPlugin, TiddlerNotesPlugin, TaggedTemplateTweak<br><br>In general: YourSearchPlugin, UnsavedChangesPlugin, ImportTiddlersPlugin, ExportTiddlersPlugin, TiddlyLockPlugin<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - Which plugins do you rely on the most_.tid",
    "content": "list: [[2010 - Which plugins do you rely on the most? - frankfurtkid - 2010-11-16T00:00:00.000Z]] [[2010 - Which plugins do you rely on the most? - rouilj - 2010-11-27T00:00:00.000Z]] [[2010 - Which plugins do you rely on the most? - climatechange3 - 2010-12-01T00:00:00.000Z]] [[2010 - Which plugins do you rely on the most? - pmario - 2011-04-06T23:00:00.000Z]]\ntags: [[2010 - Interview Question]]\ntitle: 2010 - Which plugins do you rely on the most?"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - Who is the target audience for your TiddlyWiki(s)_ - frankfurtkid - 2010-11-16T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/frankfurtkid\nmodified: 20101116000000000\nmodifier: frankfurtkid\ntags: [[2010 - Who is the target audience for your TiddlyWiki(s)?]] [[2010 - Interview Answer]]\ntitle: 2010 - Who is the target audience for your TiddlyWiki(s)? - frankfurtkid - 2010-11-16T00:00:00.000Z\n\nMe;  work colleagues;  song writers;  anyone whole hits a website<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - Who is the target audience for your TiddlyWiki(s)_ - mama - 2010-11-24T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/mama\nmodified: 20101124000000000\nmodifier: mama\ntags: [[2010 - Who is the target audience for your TiddlyWiki(s)?]] [[2010 - Interview Answer]]\ntitle: 2010 - Who is the target audience for your TiddlyWiki(s)? - mama - 2010-11-24T00:00:00.000Z\n\nMy students, collegues (teachers and other staffmembers at my school <a class=\"externalLink\" href=\"http://himmerlands-ungdomsskole.dk/\" title=\"External link to http://himmerlands-ungdomsskole.dk/\" target=\"_blank\">http://himmerlands-ungdomsskole.dk/</a>). <br>Once a year I use <a href=\"javascript:;\" title=\"TiddlyWiki - jermolene, 15/11/2010, 17:20:58\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"TiddlyWiki\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/mama_public&quot;\">TiddlyWiki</a>'s to publish material related to exams - for my students and censors.<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - Who is the target audience for your TiddlyWiki(s)_ - passingby - 2010-11-27T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/passingby\nmodified: 20101127000000000\nmodifier: passingby\ntags: [[2010 - Who is the target audience for your TiddlyWiki(s)?]] [[2010 - Interview Answer]]\ntitle: 2010 - Who is the target audience for your TiddlyWiki(s)? - passingby - 2010-11-27T00:00:00.000Z\n\nSome of <a href=\"javascript:;\" title=\"The tiddler 'TWs' doesn't yet exist\" class=\"tiddlyLink tiddlyLinkNonExisting\" refresh=\"link\" tiddlylink=\"TWs\" tiddlyfields=\"server.type:&quot;tiddlyweb&quot; server.host:&quot;http://interview.tiddlyspace.com&quot; server.workspace:&quot;bags/passingby_public&quot;\">TWs</a> are just meant for myself. Others I have put up on Tiddlyspot, I don't think anybody visits them :-)<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - Who is the target audience for your TiddlyWiki(s)_ - rouilj - 2010-11-27T00_00_00.000Z.tid",
    "content": "icon: $:/avatars/rouilj\nmodified: 20101127000000000\nmodifier: rouilj\ntags: [[2010 - Who is the target audience for your TiddlyWiki(s)?]] [[2010 - Interview Answer]]\ntitle: 2010 - Who is the target audience for your TiddlyWiki(s)? - rouilj - 2010-11-27T00:00:00.000Z\n\nFor most of TW's I am the primary audience.<br><br>The one TW I produced for others was a coursebook that was used to teach an event correlation tool to computer system administrators.<br><br>I am also occasionally playing with using a TW as a blogging platform which would again be geared toward items of interest to system administrators and people who are interested in lean/six sigma and its use in computing environments.<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - Who is the target audience for your TiddlyWiki(s)_ - webid4me - 2014-09-23T23_00_00.000Z.tid",
    "content": "icon: $:/avatars/webid4me\nmodified: 20140923000000000\nmodifier: webid4me\ntags: [[2010 - Who is the target audience for your TiddlyWiki(s)?]] [[2010 - Interview Answer]]\ntitle: 2010 - Who is the target audience for your TiddlyWiki(s)? - webid4me - 2014-09-23T23:00:00.000Z\n\nin reply to <a href=\"javascript:;\" title=\"Who is the target audience for your TiddlyWiki(s)? - jermolene, 15/11/2010, 17:06:26\" class=\"tiddlyLink tiddlyLinkExisting\" refresh=\"link\" tiddlylink=\"Who is the target audience for your TiddlyWiki(s)?\">Who is the target audience for your TiddlyWiki(s)?</a>:<br><br>Me, me and Me! :P<br>"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2010-great-interview-project/text/2010 - Who is the target audience for your TiddlyWiki(s)_.tid",
    "content": "list: [[2010 - Who is the target audience for your TiddlyWiki(s)? - frankfurtkid - 2010-11-16T00:00:00.000Z]] [[2010 - Who is the target audience for your TiddlyWiki(s)? - mama - 2010-11-24T00:00:00.000Z]] [[2010 - Who is the target audience for your TiddlyWiki(s)? - rouilj - 2010-11-27T00:00:00.000Z]] [[2010 - Who is the target audience for your TiddlyWiki(s)? - passingby - 2010-11-27T00:00:00.000Z]] [[2010 - Who is the target audience for your TiddlyWiki(s)? - webid4me - 2014-09-23T23:00:00.000Z]]\ntags: [[2010 - Interview Question]]\ntitle: 2010 - Who is the target audience for your TiddlyWiki(s)?"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00001.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Talk TiddlyWiki\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2017\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2021\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I do not engage with this community\",\n        \"use-reddit\": \"I read and post in this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Not publishing to this location\",\n        \"publish-to-intranet\": \"Yes, using a single-file wiki\",\n        \"value-of-tw\": \"Extensive use of TiddlyWiki in personal life, mainly for journalling, tracking activity and cataloging posessions. Strong use in work for knowledge sharing and instruction.\",\n        \"tw-ability-level\": \"I am comfortable writing filter expressions\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism)\",\n        \"backup-method\": \"DIY (any other solution)\",\n        \"diy-backup-info\": \"I wrote a set of batch scripts to pick up listed files from Download folder, place in live locations and backing up files with date timestamp files that were already in live location with the same name.\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.7\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: \\nCurrent layout: \\nBrowser language setting: en-GB\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.7\\n  $:/plugins/bj/Calendar - 1.11.0\\n  $:/plugins/inmysocks/WordCount - 5.1.10-prerelease\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.7\\n  $:/themes/tiddlywiki/vanilla - 5.3.7\\n</code></pre></details>\",\n        \"tw-customisations\": \"Throughout my wiki's I've used various plugins downloaded from community. This includes Projectify, Relink, Tekan,\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"Looking forward to seeing what comes of project 2036 and achivements made on the path there. \\nHoping to get more out of Tiddlywiki by going through Grok again (my first attempt through v1 and my brain began glazing over after a point).\",\n        \"project-weaknesses\": \"Only real fear if support dries up and browser updates break key functionality of Tiddlywiki.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00001\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00002.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Talk TiddlyWiki\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2020\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"No\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"Single location, where I gather information.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions\",\n        \"save-method\": \"Multi-file wiki served through Node.js;Single-file wiki with TiddlyDesktop\",\n        \"backup-method\": \"DIY (any other solution)\",\n        \"diy-backup-info\": \"Nextcloud for TiddlyDesktop, Backup on filesystem-level for Node.js\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.7\\nCurrent palette: $:/palettes/SpartanDay 1\\nCurrent theme: $:/themes/tiddlywiki/snowwhite\\nCurrent layout: \\nBrowser language setting: de-DE\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fixed-fluid\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: top\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: above\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: $:/plugins/wikilabs/click-effect\\nPlugins: \\n  $:/core - 5.3.7\\n  $:/plugins/felixhayashi/hotzone - 0.0.3\\n  $:/plugins/felixhayashi/tiddlymap - 0.17.20+10024\\n  $:/plugins/felixhayashi/topstoryview - 0.2.0\\n  $:/plugins/flibbles/vis-network - 9.1.2\\n  $:/plugins/Gk0Wk/CPL-Repo - 2025.03.29\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.7\\n  $:/themes/tiddlywiki/vanilla - 5.3.7\\n</code></pre></details>\",\n        \"tw-customisations\": \"\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"No\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"Open source allows all people to contribute. Perfect spot between writing content and linking content in a database-like structure.\",\n        \"project-weaknesses\": \"The initial learning curve for getting started is very steep. Thankfully there is Grok-TW.\\nOne of my painpoints is synchronization with Android devices, which I haven't yet found a reasonable way to do.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00002\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00003.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Talk TiddlyWiki\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2021\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2022\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I read/lurk, but do not post\",\n        \"use-reddit\": \"I read and post in this community\",\n        \"use-discord\": \"I read and post in this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"As a knowledge base (including technical, non-fiction and encyclopaedic content);Worldbuilding (e.g. for role-playing games);Narrative fiction writing (either supporting its creation or directly writing in TiddlyWiki)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"No\",\n        \"share-wikis\": \"Yes, with multiple editors/administrators\",\n        \"publish-to-web\": \"Not publishing to this location\",\n        \"publish-to-intranet\": \"Yes, using a single-file wiki\",\n        \"value-of-tw\": \"It lets me keep all my notes in one, well-structured, easy-to-edit place; remix content and display it in different formats via programmatic templates; and visualize, search, and manipulate data.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\",\n        \"backup-method\": \"No automatic sync across my devices\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/palettes/Rad\\nCurrent theme: $:/themes/tiddlywiki/vanilla\\nCurrent layout: $:/themes/be-rad/PageTemplate\\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: no\\nCode wrapping setting: pre-wrap\\nSticky titles setting: yes\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: zoomin\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: $:/config/shortcuts/diceify,$:/config/shortcuts/streams-indent,$:/config/shortcuts/streams-unindent\\nDisabled plugins: $:/plugins/TWaddle/pluginsize\\nPlugins: \\n  $:/core - 5.3.6\\n  $:/plugins/ahahn/hoverWidget - 0.1.0\\n  $:/plugins/ahahn/tinka - 0.5.2\\n  $:/plugins/benwebber/list-inline - 0.2.3\\n  $:/plugins/bimlas/kin-filter - 1.0.2\\n  $:/plugins/cdr/external-js - 0.2.1\\n  $:/plugins/D&DTools/d20.js - 1.1.0\\n  $:/plugins/designthinkerer/bettercode - 0.0.1\\n  $:/plugins/ebalster/formula - 0.2.5\\n  $:/plugins/eskha/DelphesNotes/NotesMenu - 0.1.14\\n  $:/plugins/eskha/DelphesNotes/SeeAlsoForMissing - 0.1.20\\n  $:/plugins/eskha/DelphesNotes/SmartSearch - 0.1.13\\n  $:/plugins/eskha/DelphesNotes/TagsSidebar - 0.1.16\\n  $:/plugins/EvidentlyCube/AdvancedPerformance - 1.1.6\\n  $:/plugins/EvidentlyCube/AutoComplete - 1.0.18\\n  $:/plugins/felixhayashi/respawn - 0.0.3\\n  $:/plugins/felixhayashi/tiddlymap - 0.17.20+10024\\n  $:/plugins/felixhayashi/topstoryview - 0.2.0\\n  $:/plugins/flibbles/relink - 2.4.3\\n  $:/plugins/flibbles/relink-titles - 2.4.0\\n  $:/plugins/flibbles/vis-network - 9.1.3\\n  $:/plugins/Gk0Wk/CPL-Repo - 2022.12.28\\n  $:/plugins/Gk0Wk/drawio - 0.0.4\\n  $:/plugins/inmysocks/GenTags - 0.0.6\\n  $:/plugins/inmysocks/randVal - 0.1.3\\n  $:/plugins/kookma/commander - 2.1.8\\n  $:/plugins/kookma/favorites - 4.8.4\\n  $:/plugins/kookma/section - 1.2.6\\n  $:/plugins/kookma/shiraz - 2.9.21\\n  $:/plugins/kookma/thinkup - 0.2.12\\n  $:/plugins/kookma/todolist - 1.4.4\\n  $:/plugins/kookma/trashbin - 1.3.4\\n  $:/plugins/mklauber/shuffle - 1.0.2\\n  $:/plugins/souk21/commandpalette - 0.0.9\\n  $:/plugins/sq/macy - 0.0.9\\n  $:/plugins/sq/selective-refresh - 0.0.1\\n  $:/plugins/sq/spotlight - 0.0.5\\n  $:/plugins/sq/sq-filters - 0.1.5\\n  $:/plugins/sq/streams - 1.2.25\\n  $:/plugins/tiddlywiki/codemirror - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-search-replace - 5.3.6\\n  $:/plugins/tiddlywiki/dynannotate - 5.3.6\\n  $:/plugins/tiddlywiki/dynaview - 5.3.6\\n  $:/plugins/tobibeer/appear - 0.6.4\\n  $:/plugins/tobibeer/contains - 0.6.0\\n  $:/plugins/tobibeer/rate - 0.6.2\\n  $:/plugins/tobibeer/split - 0.8.1\\n  $:/plugins/TWaddle/Boosters - 0.0.6\\n  $:/plugins/TWaddle/ListTree - 1.0.5\\n  $:/plugins/TWaddle/OverWrite - 0.0.2\\n  $:/plugins/TWaddle/ScrollBack - 0.0.1\\n  $:/plugins/TWaddle/SideEditor - 3.0.26\\n  $:/plugins/TWaddle/Stylefields - 1.0.4\\n  $:/plugins/wikilabs/advanced-search-plus - 0.4.2\\n  $:/plugins/wikilabs/keyvalues - 2.2.0\\n  $:/plugins/wikilabs/link-to-tabs - 2.2.0\\n  $:/plugins/wikilabs/thin-scrollbars - 0.1.2\\n  $:/plugins/wikilabs/uni-link - 2.2.8\\n  $:/plugins/wilk/dictionary-table - 1.0.6\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/vanilla - 5.3.6\\n</code></pre></details>\\n\\n* Many of the plugin version numbers are probably misleading: I regularly use Tinka to edit and repack plugins for my own private use, which automatically increments the number.\",\n        \"tw-customisations\": \"- many custom stylesheets\\n- a number of edit toolbar buttons not listed above\\n- replaced select field input areas with textareas via Field Editor cascade\\n- heavy use of the ViewTemplate and EditTemplate cascades\\n- many macros/functions/procedures\\n- modified $link widget\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"I love how easy TW makes it to edit (nearly) anything, including itself. I'm also boundlessly grateful to the community for their generosity with their time and their own code, which continues to aid and inspire my work. I've very confident I could not have reached my current proficiency without their help.\\n\\nOf the future features I've seen mentioned, I'm most excited for multi-value variables and increased flexibility in procedure syntax.\",\n        \"project-weaknesses\": \"I'm slightly concerned about what I perceive as an increased reliance on AI assistance, both in coding (some users actively recommend using AI to write and publish plugins for public use) and in branding (like the new AI-generated version logo). I feel that it both undermines the long-standing TW principle that users should own their data and risks the proliferation of bad code by publishers who don't understand it well enough to fix it.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00003\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00004.tid",
    "content": "are-you-a-dev: Yes, I would\nbackup-method: Consumer online storage (e.g. Google Drive, Dropbox)\ndiy-backup-info: \nfirst-heard-survey: Talk TiddlyWiki\nfirst-used-tw: 2005\njoined-tw-community: Yes\nmain-use-cases: Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: \npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: Backwards compatibility, transparency with future developments.\nproject-weaknesses: Documentation, specific use-case versions, better 'Home' screen experience--think about what HyperCard did.\npublish-to-intranet: \npublish-to-web: \npublished-plugin: No\nsave-method: Single-file wiki through web browser with Download Saver (default saving mechanism)\nshare-wikis: No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\nstarted-tw-community: 2014\ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00004\ntw-ability-level: I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\ntw-customisations: Yes, I have extensive custom CSS that I wrote, since I am extremely proficient with CSS.\ntw-future-confidence: Yes\nuse-discord: I do not engage with this community\nuse-for-work-or-study: Yes\nuse-github-discuss: I do not engage with this community\nuse-mailing-list: I do not engage with this community\nuse-reddit: I do not engage with this community\nuse-ttw: I read and post in this community\nvalue-of-tw: For the past 11 years, I could not have performed my daily job at the level I have without the use of TiddlyWiki. It is indispensable. I use it continuously throughout the work day.\nwiki-setup-info: "
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00005.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Talk TiddlyWiki\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2006\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2011\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I do not engage with this community\",\n        \"use-reddit\": \"I read/lurk, but do not post\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I read/lurk, but do not post\",\n        \"published-plugin\": \"Yes\",\n        \"main-use-cases\": \"Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Not publishing to this location\",\n        \"publish-to-intranet\": \"Yes, using a single-file wiki\",\n        \"value-of-tw\": \"RAD, especially Project management customized for my exact needs\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles;I have written custom JavaScript\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism);Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver);Multi-file wiki served through Node.js;Single-file wiki with TiddlyDesktop;Single-file wiki with third-party desktop app (e.g. TidGi Desktop, twexe);Single-file wiki third-party mobile app (e.g. Tiddloid, Quine)\",\n        \"backup-method\": \"TiddlySpot / TiddlyHost;Consumer online storage (e.g. Google Drive, Dropbox)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"NA\",\n        \"tw-customisations\": \"Many macros/procedures, widgets, filter operators myself. \\n\\nHandful of plugins from others like relink, editor autolist, autocomplete\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"No\",\n        \"project-strengths\": \"LOTS! Adding functionality and flexibility, stability, performance, great community (and moderation)!\",\n        \"project-weaknesses\": \"Need easy apps for mobile and easy syncing that’s secure & private, bad name, plain website, documentation is confusing, lots of different syntaxes, community links looks and functionality are poor - need easy adding and voting, need real concurrent multi-user capability, key add-ins like BOB get discontinued which is very painful.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00005\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00006.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Official newsletter\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2008\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2018\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I read/lurk, but do not post\",\n        \"use-reddit\": \"I read/lurk, but do not post\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I read/lurk, but do not post\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"No\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Yes, using a single-file wiki\",\n        \"publish-to-intranet\": \"Not publishing to this location\",\n        \"value-of-tw\": \"I like that it can be very simple to use, but I have the option to \\\"go deep\\\" when needed. It's a local-first, single-file HTML document, which is a winning combination.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\",\n        \"backup-method\": \"Git forge (GitHub, Gitea/Forgejo, GitLab)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"TiddlyWiki Version: 5.3.6\\nCurrent palette: $:/palettes/TranquilHarmony\\nCurrent theme: $:/themes/tiddlywiki/snowwhite\\nCurrent layout: \\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: enable\\nKeyboard shortcuts that have been customised: $:/config/shortcuts-mac/new-tiddler,$:/config/shortcuts/excise\\nDisabled plugins: $:/plugins/EvidentlyCube/AutoComplete,$:/plugins/kookma/commander,$:/plugins/kookma/refnotes,$:/plugins/sq/quickimages,$:/plugins/tiddlywiki/bibtex\\nPlugins: \\n  $:/core - 5.3.6\\n  $:/plugins/cdaven/markdown-export - 0.9.0\\n  $:/plugins/commons/file-uploads - 0.1.8\\n  $:/plugins/flibbles/relink - 2.5.0\\n  $:/plugins/kookma/shiraz - 2.6.9\\n  $:/plugins/sq/file-uploads-PUT - 0.1.2\\n  $:/plugins/telmiger/details - 0.7.6\\n  $:/plugins/TheDiveO/FontAwesome - 1.2.18\\n  $:/plugins/tiddlywiki/markdown - 5.3.6\\n  $:/plugins/tobibeer/random - 0.1.0\\n  $:/plugins/tobibeer/rate - 0.6.1\\n  $:/temp/info-plugin - \\n  $:/themes/odin/zacht - 0.1\\n  $:/themes/tiddlywiki/heavier - 5.3.6\\n  $:/themes/tiddlywiki/snowwhite - 5.3.6\\n  $:/themes/tiddlywiki/vanilla - 5.3.6\",\n        \"tw-customisations\": \"\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"Consistent steady improvement with sensible introduction of new features.\",\n        \"project-weaknesses\": \"Documentation. There is a lot of it, but much of it isn't helpful. For example, the notes about a feature dive directly into every possible scenario/option. Would prefer you pick a few common use cases and start there. Not easy, I know.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00006\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00007.tid",
    "content": "are-you-a-dev: No, I would not\nbackup-method: TiddlySpot / TiddlyHost;Git forge (GitHub, Gitea/Forgejo, GitLab);Consumer online storage (e.g. Google Drive, Dropbox);Web or cloud hosting (other than TiddlyHost/TiddlySpot e.g. Netlify, AWS, OVH, Google Cloud...)\ndiy-backup-info: \nfirst-heard-survey: Discord\nfirst-used-tw: 2015\njoined-tw-community: Yes\nmain-use-cases: Note-taking;As a knowledge base (including technical, non-fiction and encyclopaedic content);Worldbuilding (e.g. for role-playing games)\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: \npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: user support/community, transparency in development\nproject-weaknesses: maybe some prebuilt empty sample single file tiddlywiki files with simple instructions for different uses, journaling, different types of note taking, etc.\npublish-to-intranet: Yes, using a single-file wiki\npublish-to-web: Yes, using a single-file wiki\npublished-plugin: No\nsave-method: Single-file wiki through web browser with Download Saver (default saving mechanism)\nshare-wikis: Yes, and I am the only editor/administrator of my wiki(s)\nstarted-tw-community: 2022\ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00007\ntw-ability-level: I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\ntw-customisations: yes, often.\ntw-future-confidence: Yes\nuse-discord: I read and post in this community\nuse-for-work-or-study: Not applicable (as retired, etc)\nuse-github-discuss: I do not engage with this community\nuse-mailing-list: I read/lurk, but do not post\nuse-reddit: I read/lurk, but do not post\nuse-ttw: I read and post in this community\nvalue-of-tw: because it's cross platform I can use it on any of my devices and can easily share single file with anyone without any worry they will be able to use it\nwiki-setup-info: "
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00008.tid",
    "content": "are-you-a-dev: Yes, I would\nbackup-method: DIY (any other solution);No automatic sync across my devices\ndiy-backup-info: Simple SFTP link, with manual tracking of the latest version (yes, I could do better, but it's quick and dirty)\nfirst-heard-survey: Official newsletter\nfirst-used-tw: 2024\njoined-tw-community: No\nmain-use-cases: Note-taking;Journalling;As a knowledge base (including technical, non-fiction and encyclopaedic content);Worldbuilding (e.g. for role-playing games);Narrative fiction writing (either supporting its creation or directly writing in TiddlyWiki)\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: \npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: You created TiddlyWiki\nproject-weaknesses: No idea, not long enough in the community\npublish-to-intranet: \npublish-to-web: \npublished-plugin: No\nsave-method: Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver);Single-file wiki with TiddlyDesktop\nshare-wikis: No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\nstarted-tw-community: \ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00008\ntw-ability-level: I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions\ntw-customisations: \ntw-future-confidence: Yes\nuse-discord: \nuse-for-work-or-study: No\nuse-github-discuss: \nuse-mailing-list: \nuse-reddit: \nuse-ttw: \nvalue-of-tw: General organized notepad and brainstorming tool\nwiki-setup-info: "
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00009.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Official newsletter\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2009\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2014\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I do not engage with this community\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I read/lurk, but do not post\",\n        \"published-plugin\": \"Yes\",\n        \"main-use-cases\": \"Note-taking;As a knowledge base (including technical, non-fiction and encyclopaedic content);Programming\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Yes, using a single-file wiki\",\n        \"publish-to-intranet\": \"Not publishing to this location\",\n        \"value-of-tw\": \"Easy editing of data before publishing.\\nPersonal collections/databases\\nManaging arbitrarily complex numerical data and provide insights for finances\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism)\",\n        \"backup-method\": \"DIY (any other solution)\",\n        \"diy-backup-info\": \"Manual backup, sync locally with Syncthing to mobile device\",\n        \"wiki-setup-info\": \"\",\n        \"tw-customisations\": \"Some local CSS styling, lots of view templates, some edit templates, and occasional use of macros\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"All aspects surrounding the philosophy of TiddlyWiki, like privacy, offline use, no services, no logins, no data collection, and no subscriptions.\",\n        \"project-weaknesses\": \"I don't see myself leaving TiddlyWiki any time soon, on the contrary I'd like to migrate more of my digital data to it.\\n\\nI'd love to see less fear of breaking backwards compatibility in the name of progress and innovation.\\nImprove the visual and aesthetic aspect of using TiddlyWiki, especially usability on mobile/touchscreen.\\nSimplify/unify the use/syntax of filters, variables, fields, macros, transclusions. If can be overwhelming for less technical users.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00009\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00010.tid",
    "content": "are-you-a-dev: Yes, I would\nbackup-method: No automatic sync across my devices;N/A - I keep my wiki on a single system\ndiy-backup-info: \nfirst-heard-survey: Official newsletter\nfirst-used-tw: 2004\njoined-tw-community: Yes\nmain-use-cases: Note-taking;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Narrative fiction writing (either supporting its creation or directly writing in TiddlyWiki);Programming;Other\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: Image library\npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: Unhelpful answer: This is too much homework, sorry.\nproject-weaknesses: Nothing. Keep on keeping on.\npublish-to-intranet: \npublish-to-web: \npublished-plugin: No\nsave-method: Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\nshare-wikis: No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\nstarted-tw-community: 2004\ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00010\ntw-ability-level: I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles;I have written custom JavaScript\ntw-customisations: My wikis are development platforms akin to an IDE spread across 4 monitors (1 wiki using 4 screens). It's unrecognisable as a TiddlyWiki at first glance.\ntw-future-confidence: Yes\nuse-discord: I read/lurk, but do not post\nuse-for-work-or-study: Yes\nuse-github-discuss: I read and post in this community\nuse-mailing-list: I read and post in this community\nuse-reddit: I do not engage with this community\nuse-ttw: I read and post in this community\nvalue-of-tw: Oxygen to my brain.\nwiki-setup-info: "
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00011.tid",
    "content": "are-you-a-dev: No, I would not\nbackup-method: No automatic sync across my devices\ndiy-backup-info: \nfirst-heard-survey: Official newsletter\nfirst-used-tw: 2023\njoined-tw-community: No\nmain-use-cases: Note-taking;As a knowledge base (including technical, non-fiction and encyclopaedic content)\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: \npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: despite the changes the workflow remains the same, very clean and intuitive\nproject-weaknesses: I would like a better markdown support without using more than one plugins to have code highlight, a side panel with the titles and subtitle index and so on\npublish-to-intranet: Yes, served through Node.js\npublish-to-web: Not publishing to this location\npublished-plugin: No\nsave-method: Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver);Multi-file wiki served through Node.js\nshare-wikis: Yes, with multiple editors/administrators\nstarted-tw-community: \ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00011\ntw-ability-level: I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...)\ntw-customisations: mostly some macros to have multiple page templates\ntw-future-confidence: Yes\nuse-discord: \nuse-for-work-or-study: Yes\nuse-github-discuss: \nuse-mailing-list: \nuse-reddit: \nuse-ttw: \nvalue-of-tw: incredibly fast access to notes and tips about the work and my self - written guides\nwiki-setup-info: mostly I access the nodejs wiki in the intranet of the office but manually keep updated an HTML snapshot offline to access when out of the office"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00012.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Talk TiddlyWiki\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2008\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2009\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I read and post in this community\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I read/lurk, but do not post\",\n        \"use-github-discuss\": \"I read and post in this community\",\n        \"published-plugin\": \"Yes\",\n        \"main-use-cases\": \"Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Programming\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"It is a convenient \\\"brain dump\\\" to keep my thoughts focused. I can take notes of my ideas and know, that I do not loose them. So I can go back later and refine the ideas. \\n\\nI collect links to interesting topics. I and copy paste content from the web to not loose it to link rot.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles;I have written custom JavaScript\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver);Multi-file wiki served through Node.js\",\n        \"backup-method\": \"WebDAV;DIY (any other solution)\",\n        \"diy-backup-info\": \"I do have a NAS to backup all my important stuff. \\nGitHub is an option too\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.3\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: \\nCurrent layout: \\nBrowser language setting: en\\nDefault type for missing tiddlers: \\nAuto save setting: no\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: $:/config/shortcuts/input-confirm\\nDisabled plugins: $:/plugins/wikilabs/webdav-lm\\nPlugins: \\n  $:/core - 5.3.3\\n  $:/plugins/bj/tiddlyclip - 3.0.7a\\n  $:/plugins/commons/file-uploads - 0.1.8\\n  $:/plugins/flibbles/relink - 2.4.3\\n  $:/plugins/flibbles/relink-variables - 2.4.1\\n  $:/plugins/sq/webdav-utils - 0.2.0-pre\\n  $:/plugins/tiddlywiki/bibtex - 5.3.3\\n  $:/plugins/wikilabs/field-search - 1.0.1\\n  $:/plugins/wikilabs/link-to-tabs - 3.0.1\\n  $:/plugins/wikilabs/thin-scrollbars - 0.1.1\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.3\\n  $:/themes/tiddlywiki/vanilla - 5.3.3\\n</code></pre></details>\",\n        \"tw-customisations\": \"\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"I do like the Tiddlywiki community, because it is friendly and welcoming. This is a strong advantage over other communities. \\n\\nI would love to have an empty.html with a compressed core. So the wiki itself has a smaller file size.\",\n        \"project-weaknesses\": \"I personally will not leave TW in the near future. I am way to invested already and may \\\"link management\\\" wiki runs as a Windows WebDav service, which is active at startup.\\n\\nI may move the MWS TW to my NAS so I can access it from every device connected to the network.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00012\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00013.tid",
    "content": "are-you-a-dev: Yes, I would\nbackup-method: No automatic sync across my devices\ndiy-backup-info: \nfirst-heard-survey: Official newsletter\nfirst-used-tw: 2010\njoined-tw-community: Yes\nmain-use-cases: Note-taking;As a knowledge base (including technical, non-fiction and encyclopaedic content)\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: \npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: (I don't have helpful answers to this question.)\nproject-weaknesses: (I don't have helpful answers to this question.)\npublish-to-intranet: \npublish-to-web: \npublished-plugin: No\nsave-method: Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver);Single-file wiki with TiddlyDesktop\nshare-wikis: No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\nstarted-tw-community: 2012\ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00013\ntw-ability-level: I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\ntw-customisations: Yes. Styles,  macros, Javascript copied from various places and partielle written by myself.\ntw-future-confidence: Yes\nuse-discord: I do not engage with this community\nuse-for-work-or-study: Yes\nuse-github-discuss: I do not engage with this community\nuse-mailing-list: I read and post in this community\nuse-reddit: I do not engage with this community\nuse-ttw: I do not engage with this community\nvalue-of-tw: I use it mainly as a database for various information.\nwiki-setup-info: "
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00014.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Official newsletter\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2022\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2023\",\n        \"use-ttw\": \"I read/lurk, but do not post\",\n        \"use-mailing-list\": \"I read/lurk, but do not post\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I read/lurk, but do not post\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"Ideas and knowledge don't get lost and become a very valuable resource to me.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles;I have written custom JavaScript\",\n        \"save-method\": \"Multi-file wiki served through Node.js;Single-file wiki with TiddlyDesktop\",\n        \"backup-method\": \"Web or cloud hosting (other than TiddlyHost/TiddlySpot e.g. Netlify, AWS, OVH, Google Cloud...)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"A docker container starts a node process for every wiki i have on a different port, around 15. A reverse proxy is configured to connect to those ports depending on the subdomain accessed. The data of all wikis lives in a folder that is shared using Syncthing. The other machines receiving the folder don't run Tiddlywiki, it's just nice to know access to the data does not depend on a single machine being available.\",\n        \"tw-customisations\": \"I did quite some customizing for certain use cases i wanted to cover with Tiddlywiki. In every case, after it was done and some time has passed, i came to the conclusion i should focus on content, not on \\\"features\\\". I want to keep it simple.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"Communication is great, i can follow topics i am interested in on the talk.tiddlywiki.org and GitHub.\\n\\nThe community of TW is outstanding.\\n\\nMWS is important to me, but i am unsure if it's ready for everyone yet. I want to be sure before breaking my current setup, so i still wait for it to become more mature.\",\n        \"project-weaknesses\": \"I hope Tiddlywiki doesn't become too \\\"heavy\\\". The possibilities with filters/procedures/macros/widgets are surely great, but very overwhelming and sometimes quite frustrating, even with experience. Simple and powerful at the same time might be impossible. In some cases, maybe you should go with simple rather than powerful.\\n\\nI'd like the sidebar to look like a part of the application, visually.\\n\\nI fear that Jeremy could quit and development stops.\\n\\nI can't see myself stop using TW anyway.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00014\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00015.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Official newsletter\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2020\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Worldbuilding (e.g. for role-playing games);Other\",\n        \"other-use-cases\": \"Database for card collection tracking with a friend\",\n        \"use-for-work-or-study\": \"No\",\n        \"share-wikis\": \"Yes, with multiple editors/administrators\",\n        \"publish-to-web\": \"Not publishing to this location\",\n        \"publish-to-intranet\": \"Yes, using a single-file wiki\",\n        \"value-of-tw\": \"Its good for building lots of similar tiddlers with different data, often referenced on different tiddlers, and updating everything by changing one value.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions\",\n        \"save-method\": \"Single-file wiki with TiddlyDesktop\",\n        \"backup-method\": \"WebDAV;DIY (any other solution)\",\n        \"diy-backup-info\": \"stored on a local NAS accessible over intenet\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.1\\nCurrent palette: $:/palettes/Blue\\nCurrent theme: $:/themes/tiddlywiki/snowwhite\\nCurrent layout: \\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: no\\nCode wrapping setting: pre-wrap\\nSticky titles setting: yes\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-boxed\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: bottom\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.1\\n  $:/plugins/inmysocks/extrafilters - 0.0.1\\n  $:/plugins/inmysocks/TiddlerTool - 5.1.10-prerelease\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.1\\n  $:/themes/tiddlywiki/vanilla - 5.3.1\\n</code></pre></details>\",\n        \"tw-customisations\": \"some macros with javascript that do math (like converting pairs of dates to ages).\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"I like that i can usually find solutions to new problems using online resources like the documentation and community support\",\n        \"project-weaknesses\": \"I'd like if there was an easier way to do math without making everything a list. I'd also like it if tiddler names in fields and other weird places could self update like tags do.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00015\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00016.tid",
    "content": "are-you-a-dev: No, I would not\nbackup-method: DIY (any other solution)\ndiy-backup-info: I make 100 backup copies of my wikis using a bash file (on Linux) and have already been able to recover some data this way. When I reach 100, the oldest wiki is automatically deleted. I also regularly back up everything to external storage devices.\nfirst-heard-survey: tiddlywiki.com\nfirst-used-tw: 2015\njoined-tw-community: Yes\nmain-use-cases: Note-taking;Journalling;As a knowledge base (including technical, non-fiction and encyclopaedic content);Narrative fiction writing (either supporting its creation or directly writing in TiddlyWiki);Programming\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: \npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: that everything is discussed openly and many decisions are made by voting or together.\nproject-weaknesses: I'm very happy with the work and the future of TW. Perhaps I'll have more time to contribute next year, since I'll probably be retiring then.\npublish-to-intranet: \npublish-to-web: \npublished-plugin: No\nsave-method: Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\nshare-wikis: No, my TiddlyWiki is for personal use only\nstarted-tw-community: 2019\ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00016\ntw-ability-level: I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\ntw-customisations: \ntw-future-confidence: Yes\nuse-discord: I do not engage with this community\nuse-for-work-or-study: No\nuse-github-discuss: I read/lurk, but do not post\nuse-mailing-list: I read and post in this community\nuse-reddit: I do not engage with this community\nuse-ttw: I read and post in this community\nvalue-of-tw: I've tried many tools. TW is the best. Tiddlywiki runs across all systems, and you always have everything important in one file, even encrypted (if you want).\nwiki-setup-info: "
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00017.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Talk TiddlyWiki\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2005\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2018\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I read and post in this community\",\n        \"use-reddit\": \"I read/lurk, but do not post\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I read and post in this community\",\n        \"published-plugin\": \"Yes\",\n        \"main-use-cases\": \"Note-taking;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Programming;Other\",\n        \"other-use-cases\": \"So many different uses it's hard to list them.  Many of them for public wikis meant for other users.\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"Yes, with multiple editors/administrators\",\n        \"publish-to-web\": \"Yes, using a single-file wiki;Yes, served through Node.js\",\n        \"publish-to-intranet\": \"Yes, using a single-file wiki;Yes, served through Node.js\",\n        \"value-of-tw\": \"It's far too difficult to summarize.  It's become my Golden Hammer: every problem looks like a nail.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles;I have written custom JavaScript\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism);Multi-file wiki served through Node.js\",\n        \"backup-method\": \"TiddlySpot / TiddlyHost;Git forge (GitHub, Gitea/Forgejo, GitLab);Web or cloud hosting (other than TiddlyHost/TiddlySpot e.g. Netlify, AWS, OVH, Google Cloud...)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: \\nCurrent layout: PageTemplate link click move to top\\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: yes\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.6\\n  $:/plugins/tiddlywiki/filesystem - 5.3.6\\n  $:/plugins/tiddlywiki/highlight - 5.3.3\\n  $:/plugins/tiddlywiki/tiddlyweb - 5.3.6\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.3\\n  $:/themes/tiddlywiki/vanilla - 5.3.3\\n</code></pre></details>\",\n        \"tw-customisations\": \"I have a JSON file I drag onto nearly every new wiki, changing to fluid-fixed, faster animation, open-at-top layout,  a togglable, default read-only mode, custom  widths, and more.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"No\",\n        \"project-strengths\": \"Talk is a fantastic community.  I believe Discord is as well, although I spend little time there, and almost none on Reddit.\\n\\nThere are many helpful members, various levels of expertise, and many people to learn from.\\n\\nThe community is very welcoming to new members and helpful for more experienced ones as well.\",\n        \"project-weaknesses\": \"1. Improved documentation.\\n\\n2. On GitHub, decisions are very slow to come; I think the work Jeremy is doing to spread the load should help.  I would love it if some triage of open issues could within, say, two weeks, could categorize issues and PRs with something like `Still Discussing`/`5.3.8`/`5.3.9`/`5.4.0`/`5.5.0`/`6.0(TWX)` to give a sense as soon as possible of  when a change might arrive.\\n\\n3. Improved documentation! Yes, again.  We must consider separating docs out from the main site.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00017\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00018.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Official newsletter\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2023\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2025\",\n        \"use-ttw\": \"I read/lurk, but do not post\",\n        \"use-mailing-list\": \"I do not engage with this community\",\n        \"use-reddit\": \"I read/lurk, but do not post\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Task and project management (including CRMs)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"No\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"I really like the \\\"Completeness\\\" of the solution in a single application.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...)\",\n        \"save-method\": \"Multi-file wiki served through Node.js\",\n        \"backup-method\": \"Web or cloud hosting (other than TiddlyHost/TiddlySpot e.g. Netlify, AWS, OVH, Google Cloud...)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: $:/themes/tiddlywiki/snowwhite\\nCurrent layout: $:/core/ui/PageTemplate\\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: no\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-boxed\\nNavigation address bar setting: permaview\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.6\\n  $:/languages/en-US - 5.3.6\\n  $:/plugins/flibbles/relink - 2.5.1\\n  $:/plugins/tiddlywiki/filesystem - 5.3.6\\n  $:/plugins/tiddlywiki/highlight - 5.3.6\\n  $:/plugins/tiddlywiki/tiddlyweb - 5.3.6\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.6\\n  $:/themes/tiddlywiki/vanilla - 5.3.6\\n</code></pre></details>\",\n        \"tw-customisations\": \"I have to copy and paste a lot from the community.\",\n        \"positive-about-future\": \"No\",\n        \"tw-future-confidence\": \"No\",\n        \"project-decision-trust\": \"No\",\n        \"project-strengths\": \"I really like the longevity of the project. Its the main reason I use it but there are shiny new tools every year.\",\n        \"project-weaknesses\": \"For me, I almost elusively look for tools that if something should happen I can export them \\\"cleanly\\\" to a format that can be well interpreted such as markdown. I'm not very clear what my exit Strategy would be (quickly)\\n\\nTiddlywiki is awesome in that it can do anything but its really hard to understand what you SHOULD do vs CAN do. I have a hard time understanding what the BEST way to utilize the application as its pretty \\\"hacky\\\".\\n\\nI'm not sure who/how the governing body works or is funded\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00018\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00019.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Official newsletter\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2010\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2020\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I read/lurk, but do not post\",\n        \"use-reddit\": \"I read/lurk, but do not post\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"Yes\",\n        \"main-use-cases\": \"Note-taking;Journalling;As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"No\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"I use one or more TW's on a daily basis.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\",\n        \"backup-method\": \"Consumer online storage (e.g. Google Drive, Dropbox);DIY (any other solution)\",\n        \"diy-backup-info\": \"Over VPN (Google Remote Desktop), and Flash Drives.\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.7\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: $:/themes/tiddlywiki/vanilla\\nCurrent layout: \\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: above\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: $:/plugins/Gk0Wk/notionpage-backlink,$:/plugins/inmysocks/GenTags,$:/plugins/mat/field-value-selector\\nPlugins: \\n  $:/core - 5.3.7\\n  $:/plugins/bj/tiddlyclip - 3.0.7a\\n  $:/plugins/Gk0Wk/CPL-Repo - 2022.12.28\\n  $:/plugins/Gk0Wk/notionpage-covericon - 0.0.14\\n  $:/plugins/Gk0Wk/sidebar-resizer - 0.0.5\\n  $:/plugins/kookma/commander - 2.1.6\\n  $:/plugins/kookma/search - 0.9.0\\n  $:/plugins/kookma/shiraz - 2.8.2\\n  $:/plugins/kookma/shiraz-callout - 0.6.0\\n  $:/plugins/kookma/shiraz-formatter - 0.5.1\\n  $:/plugins/sq/swiffy-slider - 0.0.1\\n  $:/plugins/wikilabs/bundler - 0.5.2\\n  $:/plugins/wikilabs/cheatsheet - 1.1.1\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.7\\n  $:/themes/tiddlywiki/vanilla - 5.3.7\\n</code></pre></details>\",\n        \"tw-customisations\": \"Several custom Stylesheets; a few Macros. Haven't really grasped Procedures yet...\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"I like Jeremy's level-headed leadership.\\n\\nThe community never ceases to amaze with not only their brilliant ideas and solutions, but their willingness to share with others and really help out new users.\",\n        \"project-weaknesses\": \"I don't see myself ever abandoning TiddlyWiki unless some major, radical change occurs such as something rendering my past data inaccessible or something.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00019\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00020.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Official newsletter\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2005\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"It is like my second brain (personal knowledge management), password manager, project management tool, investing journal, to do list tracker amongst other things.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver);Single-file wiki with TiddlyDesktop;Single-file wiki third-party mobile app (e.g. Tiddloid, Quine)\",\n        \"backup-method\": \"DIY (any other solution);No automatic sync across my devices\",\n        \"diy-backup-info\": \"Copy to cloud based storage (dropbox, google drive)\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.7\\nCurrent palette: $:/palettes/SolarFlare\\nCurrent theme: $:/themes/tiddlywiki/vanilla\\nCurrent layout: $:/core/ui/PageTemplate\\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: no\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: $:/plugins/BTC/SidebarSlider,Draft of '$:/plugins/tiddlywiki/menubar'\\nPlugins: \\n  $:/core - 5.3.7\\n  $:/plugins/ihm/tidgraph - 0.9.6\\n  $:/plugins/kookma/favorites - 4.8.8\\n  $:/plugins/kookma/pikaday - 0.7.0\\n  $:/plugins/kookma/shiraz - 3.0.8\\n  $:/plugins/kookma/shiraz-formatter - 0.6.0\\n  $:/plugins/oeyoews/mermaid - 11.6.3\\n  $:/plugins/orange/mermaid-tw5 - 0.3.8\\n  $:/plugins/tiddlywiki/external-attachments - 5.3.7\\n  $:/plugins/tiddlywiki/highlight - 5.3.7\\n  $:/plugins/tiddlywiki/markdown - 5.3.7\\n  $:/plugins/tiddlywiki/menubar - 5.3.7\\n  $:/plugins/tiddlywiki/tw2parser - 5.3.7\\n  $:/plugins/tobibeer/plantuml - 0.5.0\\n  $:/temp/info-plugin - \\n  $:/themes/nico/notebook - 1.4.1\\n  $:/themes/tiddlywiki/hidefurniture - 5.3.5\\n  $:/themes/tiddlywiki/readonly - 5.3.7\\n  $:/themes/tiddlywiki/snowwhite - 5.3.7\\n  $:/themes/tiddlywiki/vanilla - 5.3.7\\n</code></pre></details>\\n\\nI also use TW Classic\",\n        \"tw-customisations\": \"Some minor CSS customisations in both TW Classic and TW5 for tables, and text and highlighting.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"Its true open source and my data is mine and I can still access every data I have created on Tiddlywiki since I started using it in 2005.\\nI appreciate the Multi Wiki Server idea\",\n        \"project-weaknesses\": \"Please make compatability with markdown better, especially with widgets and macros.\\n\\nPlease make cut and paste from web pages easier, similar to Microsoft Onenote for example, where a whole webpage with multiple images in amongst the text blocks can be copied and pasted into Onenote with a single command.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00020\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00021.tid",
    "content": "are-you-a-dev: Yes, I would\nbackup-method: N/A - I keep my wiki on a single system\ndiy-backup-info: \nfirst-heard-survey: Official newsletter\nfirst-used-tw: 2011\njoined-tw-community: Yes\nmain-use-cases: Note-taking;Narrative fiction writing (either supporting its creation or directly writing in TiddlyWiki);Programming;Other\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: Interested in creating a Zettelkasten method in the tiddly wiki.  but I need a primer for how it is organizaed.\npositive-about-future: No\nproject-decision-trust: Yes\nproject-strengths: Keeping it clean - slow and steady growth.  I think the principles you all are using are working well.\nproject-weaknesses: Documentation; an AI bot to write code for custom features may be helpful; a tutorial book that immerses the user into understanding the tool is would be helpful in understand the power of the tiddly wiki because we could explain it better, hence use it with others.  I really think it needs to be written by a non-coder with a lot of examples. - Easier Modification of CSS parameters  - can't stand the gray type need more contrast.  Samples... samples...samples would help.\npublish-to-intranet: \npublish-to-web: \npublished-plugin: No\nsave-method: Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\nshare-wikis: No, my TiddlyWiki is for personal use only\nstarted-tw-community: 2015\ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00021\ntw-ability-level: I have customised TiddlyWiki through options and plugins;I have written custom HTML;I have written custom CSS styles\ntw-customisations: Stylesheet modifcations only - would love to create more but I need a refresher on Javascript.\ntw-future-confidence: No\nuse-discord: I do not engage with this community\nuse-for-work-or-study: Not applicable (as retired, etc)\nuse-github-discuss: I do not engage with this community\nuse-mailing-list: I read/lurk, but do not post\nuse-reddit: I do not engage with this community\nuse-ttw: I do not engage with this community\nvalue-of-tw: I don't use it for day-to-day although I would like to.  The components of it are not clear. While I can code I really can't see how the process fits together as I am a top down learner.  I would love to introduce this tool to others who do not code as a tool for studying -\nwiki-setup-info: not on this device."
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00022.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Other\",\n        \"other-survey-source\": \"I proposed and helped write this survey\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2022\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2023\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I do not engage with this community\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I read/lurk, but do not post\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"It is flexible to make any database I need for personal use. For example, I track every piece of media I consume for example, and I prefer having it locally. I know I can always depend on TiddlyWiki, and I find it helpful to follow link to link, which TiddlyWiki makes v. natural.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism);Single-file wiki with TiddlyDesktop;Single-file wiki third-party mobile app (e.g. Tiddloid, Quine)\",\n        \"backup-method\": \"WebDAV\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.7\\nCurrent palette: $:/palettes/DesertSand\\nCurrent theme: $:/themes/tiddlywiki/snowwhite\\nCurrent layout: \\nBrowser language setting: en-GB\\nDefault type for missing tiddlers: \\nAuto save setting: no\\nCode wrapping setting: pre-wrap\\nSticky titles setting: yes\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: text\\nCurrent storyview setting: classic\\nToolbar text setting: yes\\nToolbar icon setting: yes\\nButton class setting: tc-btn-boxed\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: above\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: $:/config/shortcuts/link,$:/config/shortcuts/linkify,$:/config/shortcuts/mono-line,$:/config/shortcuts/quote\\nDisabled plugins: $:/plugins/ahanniga/context-menu-plugin,$:/plugins/danielo515/ContextPlugin,$:/plugins/sq/quickimages\\nPlugins: \\n  $:/core - 5.3.7\\n  $:/plugins/ahanniga/find-in-page-plugin - 0.3.0\\n  $:/plugins/benwebber/tag-count - 0.2.2\\n  $:/plugins/EvidentlyCube/AutoComplete - 1.0.20\\n  $:/plugins/flibbles/relink - 2.5.1\\n  $:/plugins/flibbles/relink-fieldnames - 2.5.0\\n  $:/plugins/flibbles/relink-titles - 2.4.0\\n  $:/plugins/Gk0Wk/CPL-Repo - 2025.03.29\\n  $:/plugins/gsd5/core - 0.8.2\\n  $:/plugins/kookma/commander - 2.1.13\\n  $:/plugins/kookma/favorites - 4.8.8\\n  $:/plugins/kookma/kara - 0.9.6\\n  $:/plugins/kookma/section - 1.2.2\\n  $:/plugins/kookma/shiraz - 3.0.8\\n  $:/plugins/kookma/solution - 1.3.0\\n  $:/plugins/kookma/trashbin - 1.3.5\\n  $:/plugins/sk/SidebarHelp - 0.0.5\\n  $:/plugins/sk/TableHelper - 0.0.4\\n  $:/plugins/sobjornstad/3click2edit - 0.0.1\\n  $:/plugins/sq/editor-autolist - 0.1.14\\n  $:/plugins/tgrosinger/tw5-checklist - 0.0.15\\n  $:/plugins/tiddlywiki/browser-sniff - 5.3.7\\n  $:/plugins/tiddlywiki/highlight - 5.3.7\\n  $:/plugins/tobibeer/rate - 0.6.1\\n  $:/plugins/TWaddle/ListTree - 1.0.4\\n  $:/plugins/wikilabs/cheatsheet - 1.1.2\\n  $:/plugins/wikilabs/link-to-tabs - 3.0.1\\n  $:/plugins/wimmoermans/history - 0.8.2\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.7\\n  $:/themes/tiddlywiki/vanilla - 5.3.7\\n</code></pre></details>\",\n        \"tw-customisations\": \"I often make special-purpose buttons to create tiddlers, which I tend to put in the sidebar. I just have one template I clone for that purpose. I have MediaWiki-style infobox fores my databases that I cribbed from the Kansas Railroads wiki.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"Remaining a unique proposition in being software that truly is local-first and often local-only, as well as being able to run anywhere with basically no effort whatsoever.\\n\\nBeing a community of people who really care and think about why they use software. More importantly, people that really think out of the box. I have used a lot of geeky 'productivity' software, mostly from the Linux side (think suckless) and TW is the only community that doesn't care for labels, but just the best solution.\",\n        \"project-weaknesses\": \"The styling needs a revamp. The standard font sizes are a good indicator of that, especially on tabs. I think this change must come from the project itself.\\n\\nThe website should have its structure reconsidered and probably show less info upfront. We need new users.\\n\\nI'm wary of a gradual split in the ecosystem (core+plugin devs) between single-file and Node.\\n\\nThe standard distribution should be more featureful e.g. by shipping some plugins along w/ the core, which means supporting them too.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00022\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00023.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Talk TiddlyWiki\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2024\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2024\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I read/lurk, but do not post\",\n        \"use-reddit\": \"I read and post in this community\",\n        \"use-discord\": \"I read/lurk, but do not post\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Producing/publishing interactive fiction;Worldbuilding (e.g. for role-playing games);Narrative fiction writing (either supporting its creation or directly writing in TiddlyWiki)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"No\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"I use TW mostly for my video game universe, integrating elements of journalling, task management, non-fiction research data-basing, hypertextual narrative design, and World Building. I work more in the audio world in REAPER, and prefer TWs similar community driven customizability\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki with TiddlyDesktop;Single-file wiki with third-party desktop app (e.g. TidGi Desktop, twexe)\",\n        \"backup-method\": \"N/A - I keep my wiki on a single system\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/palettes/FlexokiDark EDITED 1\\nCurrent theme: $:/themes/tiddlywiki/tight\\nCurrent layout: \\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: yes\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: $:/plugins/benwebber/crosslinks,$:/plugins/Gk0Wk/TW5-CodeMirror-Enhanced,$:/plugins/kookma/favorites,$:/plugins/kookma/indexer,$:/plugins/linonetwo/itonnote,$:/plugins/tiddlywiki/comments\\nPlugins: \\n  $:/core - 5.3.6\\n  $:/plugins/benwebber/tag-count - 0.2.2\\n  $:/plugins/eucaly/titleme - 0.0.1\\n  $:/plugins/EvidentlyCube/AutoComplete - 1.0.20\\n  $:/plugins/Gk0Wk/CPL-Repo - 2024.11.25\\n  $:/plugins/Gk0Wk/drawio - 0.0.7\\n  $:/plugins/Gk0Wk/focused-tiddler - 0.0.3\\n  $:/plugins/Gk0Wk/sidebar-resizer - 0.0.6\\n  $:/plugins/HCHaase/TOCgeneric - 2.2.1\\n  $:/plugins/hoelzro/full-text-search - 1.1.0-4-g954307a\\n  $:/plugins/jd/plainrevs - 0.0.20\\n  $:/plugins/kixam/moment - 2.24.0\\n  $:/plugins/kookma/commander - 2.1.13\\n  $:/plugins/kookma/narenj - 0.5.0\\n  $:/plugins/kookma/shiraz - 3.0.5\\n  $:/plugins/kookma/shiraz-callout - 0.8.0\\n  $:/plugins/kookma/shiraz-formatter - 0.6.0\\n  $:/plugins/kookma/toc - 1.6.2\\n  $:/plugins/kookma/trashbin - 1.3.4\\n  $:/plugins/linonetwo/autocomplete - 0.4.0\\n  $:/plugins/linonetwo/commandpalette - 2.0.2\\n  $:/plugins/linonetwo/tidgi-ipc-syncadaptor - 0.1.0\\n  $:/plugins/linonetwo/tidgi-ipc-syncadaptor-ui - 1.0.0\\n  $:/plugins/linonetwo/title-caption - 0.3.1\\n  $:/plugins/linonetwo/tw-calendar - 1.6.0\\n  $:/plugins/linonetwo/tw-react - 1.0.0\\n  $:/plugins/mabuqian/GuMo-Palettes - 0.1.1\\n  $:/plugins/sk/FindReplace - 0.0.6\\n  $:/plugins/telmiger/EditorCounter - 0.6.6\\n  $:/plugins/telmiger/HarveyBalls - 0.0.6\\n  $:/plugins/Telumire/Fonts - 0.0.2\\n  $:/plugins/tg/chars-button - 0.0.11\\n  $:/plugins/tg/layout - 0.5.13\\n  $:/plugins/tg/leftmenu - 0.0.8\\n  $:/plugins/tg/tiddlersbar - 0.0.22\\n  $:/plugins/TheDiveO/FontAwesome - 1.2.22\\n  $:/plugins/tiddlywiki/browser-sniff - 5.3.6\\n  $:/plugins/tiddlywiki/filesystem - 5.3.6\\n  $:/plugins/tiddlywiki/freelinks - 5.3.6\\n  $:/plugins/tobibeer/appear - 0.6.2\\n  $:/plugins/tobibeer/inc - 0.5.2\\n  $:/plugins/tobibeer/xlist - 0.5.0\\n  $:/plugins/xp/emoji-button - 0.2.2\\n  $:/temp/info-plugin - \\n  $:/themes/tg/mobie - 0.1.10\\n  $:/themes/tiddlywiki/tight - 5.3.6\\n  $:/themes/tiddlywiki/vanilla - 5.3.6-prerelease\\n</code></pre></details>\",\n        \"tw-customisations\": \"I use quite a few stylesheets which i have found through discussions in the community or on other tiddlys, often with my own customizations. \\nI have a few custom macros built off others work to create structures for collapsible character bios and other similar structures.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"FOSS FTW! I personally love the decentralized community approach. I think discussions I've heard from the devs themselves sound like they are mostly going in the right directions, and the community has so many cool projects going. Since finding TW last year I've become a bit of an evangelist, showing it off to all my friends, and I don't think that will change any time soon the way its being run.\",\n        \"project-weaknesses\": \"I'll keep using TW, i adopted it because it felt sturdy for long-term use.\\nI have no fears about TWs future.\\nI don't really see any problems at all wit hthe TW community, its been so helpful and supportive to me. \\nI might contribute more to the project if there were better mobile tools, thats the one thing that i feel hasn't caught up, beyond fully capitalized, italic, bold, SAVING haha, but i think thats well known. A better mobile app would really help me and others use it more, etc.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00023\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00024.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Official newsletter\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2005\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Yes, served through Node.js\",\n        \"publish-to-intranet\": \"Yes, served through Node.js\",\n        \"value-of-tw\": \"Note taking, incredibly flexible tool. Using it on daily basis, no other tool comes near to the TW functionality I need, use and appreciate.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable writing filter expressions;I have written custom CSS styles\",\n        \"save-method\": \"Multi-file wiki served through Node.js\",\n        \"backup-method\": \"Git forge (GitHub, Gitea/Forgejo, GitLab)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/palettes/Twilight\\nCurrent theme: $:/themes/tiddlywiki/vanilla\\nCurrent layout: $:/core/ui/PageTemplate\\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: above\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: $:/plugins/bimlas/asciidoctor,$:/plugins/tiddlywiki/codemirror,$:/plugins/tiddlywiki/comments,$:/plugins/tiddlywiki/katex\\nPlugins: \\n  $:/core - 5.3.6\\n  $:/languages/cs-CZ - 5.1.19\\n  $:/languages/de-DE - 5.1.19\\n  $:/languages/sk-SK - 5.1.19\\n  $:/plugins/bimlas/kin-filter - 1.0.0\\n  $:/plugins/frd/simplecalendar - 0.2.16\\n  $:/plugins/telmiger/HarveyBalls - 0.1.0\\n  $:/plugins/tiddlywiki/codemirror-autocomplete - 5.1.19\\n  $:/plugins/tiddlywiki/codemirror-mode-css - 5.1.19\\n  $:/plugins/tiddlywiki/codemirror-mode-htmlembedded - 5.1.19\\n  $:/plugins/tiddlywiki/codemirror-mode-htmlmixed - 5.1.19\\n  $:/plugins/tiddlywiki/codemirror-mode-javascript - 5.1.19\\n  $:/plugins/tiddlywiki/filesystem - 5.3.6\\n  $:/plugins/tiddlywiki/highlight - 5.3.6\\n  $:/plugins/tiddlywiki/internals - 5.1.19\\n  $:/plugins/tiddlywiki/markdown - 5.3.6\\n  $:/plugins/tiddlywiki/qrcode - 5.1.19\\n  $:/plugins/tiddlywiki/railroad - 5.1.19\\n  $:/plugins/tiddlywiki/tiddlyweb - 5.3.6\\n  $:/plugins/tiddlywiki/tw5.com-docs - 5.1.19\\n  $:/plugins/tobibeer/plantuml - 0.5.0\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/centralised - 5.1.19\\n  $:/themes/tiddlywiki/heavier - 5.1.19\\n  $:/themes/tiddlywiki/readonly - 5.1.19\\n  $:/themes/tiddlywiki/seamless - 5.1.19\\n  $:/themes/tiddlywiki/snowwhite - 5.3.6\\n  $:/themes/tiddlywiki/starlight - 5.1.19\\n  $:/themes/tiddlywiki/tight - 5.1.19\\n  $:/themes/tiddlywiki/tight-heavier - 5.1.19\\n  $:/themes/tiddlywiki/vanilla - 5.3.6\\n</code></pre></details>\",\n        \"tw-customisations\": \"no other customisations\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"Covering obvious and not so obvious note-taking needs, and above all I appreciate the things are documented because I have no trouble to understand and follow up the documentation if and when I need to resolve something.\",\n        \"project-weaknesses\": \"Could you imagine yourself leaving TiddlyWiki? No way, it is absolutely essential tool for myself. \\n\\nThank You!\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00024\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00025.tid",
    "content": "are-you-a-dev: No, I would not\nbackup-method: TiddlySpot / TiddlyHost\ndiy-backup-info: \nfirst-heard-survey: Official newsletter\nfirst-used-tw: 2008\njoined-tw-community: No\nmain-use-cases: Note-taking;Journalling;As a knowledge base (including technical, non-fiction and encyclopaedic content);Narrative fiction writing (either supporting its creation or directly writing in TiddlyWiki);Other\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: I am an artist. I use it as my main professional website.\npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: I love that it is open source and non-commercialised. I love the way the community responds and helps each other out. I like its DIY nature and that it is like a maker space. I am excited that TiddlyWiki could become what the world needs in a future of commercialised AI domination. Tiddlywiki is more than about providing tech solutions or innovation. It is about that of course but about doing that through journeying together.\nproject-weaknesses: Yes, if Tiddlywiki every commercialised and became like Notion or Evernote, I will leave. I am dyslexic, can't code, so I can't participate in the TW community. Most of what is written in the help for discussion forums I don't understand. Not only the technical stuff, but even the very basic stuff, e.g., I don't even know what a plugin is. If there is a some really BASIC training tutorials (like for an 8 year old) to help me understand the jargon/language, this would enable me to contribute.\npublish-to-intranet: Not publishing to this location\npublish-to-web: Yes, using a single-file wiki\npublished-plugin: No\nsave-method: Single-file wiki through web browser with Download Saver (default saving mechanism)\nshare-wikis: Yes, and I am the only editor/administrator of my wiki(s)\nstarted-tw-community: \ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00025\ntw-ability-level: My use is basic; I use TiddlyWiki in a configuration close to standard, without plugins\ntw-customisations: no\ntw-future-confidence: Yes\nuse-discord: \nuse-for-work-or-study: Yes\nuse-github-discuss: \nuse-mailing-list: \nuse-reddit: \nuse-ttw: \nvalue-of-tw: As a dyslexic/neurodiverse person it has been ESSENTIAL for me because of the way information can be recorded in small bits (tiddlys) and be connected in an interrelated (neuro) network is really helpful because my brain can't retrieve or order information in neurotypical ways.\nwiki-setup-info: I don't understand this instruction or how to follow it."
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00026.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Talk TiddlyWiki\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2015\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2023\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I do not engage with this community\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"Yes\",\n        \"main-use-cases\": \"Note-taking;As a knowledge base (including technical, non-fiction and encyclopaedic content);Other\",\n        \"other-use-cases\": \"I have implemented a music player.\",\n        \"use-for-work-or-study\": \"Not applicable (as retired, etc)\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"- TiddlyWIki is a great tool for note-taking.\\n- I love my music player.\",\n        \"tw-ability-level\": \"I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles;I have written custom JavaScript\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\",\n        \"backup-method\": \"DIY (any other solution)\",\n        \"diy-backup-info\": \"https://talk.tiddlywiki.org/t/easy-webdav-saving-a-la-timimi/12306\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.7\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: $:/themes/tiddlywiki/vanilla\\nCurrent layout: $:/core/ui/PageTemplate\\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: $:/config/shortcuts-mac/player-close-all-tiddlers,$:/config/shortcuts-mac/player-open-search,$:/config/shortcuts-mac/save-wiki,$:/config/shortcuts/cancel-edit-tiddler,$:/config/shortcuts/excise\\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.7\\n  $:/plugins/anttt/highlight - 1.0.4-beta\\n  $:/plugins/tiddlywiki/codemirror - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-autocomplete - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-closebrackets - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-closetag - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-fullscreen - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-keymap-vim - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-mode-css - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-mode-javascript - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-search-replace - 5.3.7\\n  $:/plugins/tiddlywiki/highlight - 5.3.7\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.7\\n  $:/themes/tiddlywiki/vanilla - 5.3.7\\n</code></pre></details>\",\n        \"tw-customisations\": \"stylesheets, macros, functions, procedures and JavaScript\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"- infinite customisability\\n- great community (Talk)\",\n        \"project-weaknesses\": \"- a standard saving mechanism for single file wikis that works on all browsers\\nMy DIY solution (see above) is browser-independent, i.e., no browser extensions are required, but is a bit of a kludge as it requires external tools.\\n- better documentation, also for developers\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00026\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00027.tid",
    "content": "are-you-a-dev: Yes, I would\nbackup-method: Git forge (GitHub, Gitea/Forgejo, GitLab)\ndiy-backup-info: \nfirst-heard-survey: Official newsletter\nfirst-used-tw: 2007\njoined-tw-community: No\nmain-use-cases: Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Programming\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: \npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: Newletter.\nproject-weaknesses: Nothing.\npublish-to-intranet: Not publishing to this location\npublish-to-web: Not publishing to this location\npublished-plugin: No\nsave-method: Single-file wiki through web browser with Download Saver (default saving mechanism)\nshare-wikis: Yes, and I am the only editor/administrator of my wiki(s)\nstarted-tw-community: \ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00027\ntw-ability-level: I am comfortable writing filter expressions\ntw-customisations: I would like the history, settings, links, etc on the right to be further on the right by default so the tiddlers on the left side can take up 70% ish of the page instead of just 40% ish today.\ntw-future-confidence: Yes\nuse-discord: \nuse-for-work-or-study: Yes\nuse-github-discuss: \nuse-mailing-list: \nuse-reddit: \nuse-ttw: \nvalue-of-tw: I would lose my mind without TiddlyWiki.  It helps me extensively manage my thoughts, notes, to-dos, meetings, personal, professional, etc.\nwiki-setup-info: "
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00028.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Talk TiddlyWiki\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2024\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2024\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I do not engage with this community\",\n        \"use-reddit\": \"I read/lurk, but do not post\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I read/lurk, but do not post\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Programming\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"My top 1 feature is single HTML wiki full encryption. Especially handy on non-rooted Android smartphones, which provide less flexibility to the end user, like running custom encrypted filesystems.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism);Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver);Multi-file wiki served through Node.js;Single-file wiki with TiddlyDesktop;Single-file wiki third-party mobile app (e.g. Tiddloid, Quine)\",\n        \"backup-method\": \"DIY (any other solution)\",\n        \"diy-backup-info\": \"Syncthing, local Git/Fossil repositories\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/wilk/palettes/GraphiteDark090\\nCurrent theme: \\nCurrent layout: \\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre\\nSticky titles setting: no\\nSidebar layout setting: fixed-fluid\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: enable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: $:/plugins/ahanniga/find-in-page-plugin,$:/plugins/ihm/tidgraph,$:/plugins/wikilabs/tocP\\nPlugins: \\n  $:/core - 5.3.6\\n  $:/plugins/danielo515/encryptTiddler - 2.5\\n  $:/plugins/flibbles/relink - 2.4.4\\n  $:/plugins/flibbles/relink-fieldnames - 2.4.1\\n  $:/plugins/flibbles/relink-markdown - 2.4.0\\n  $:/plugins/flibbles/relink-titles - 2.4.0\\n  $:/plugins/flibbles/relink-variables - 2.4.1\\n  $:/plugins/Gk0Wk/CPL-Repo - 2025.03.29\\n  $:/plugins/hoelzro/full-text-search - 1.1.0-4-g954307a\\n  $:/plugins/hoelzro/progress-bar - 0.0.1\\n  $:/plugins/kookma/commander - 2.1.13\\n  $:/plugins/sq/streams - 1.2.24\\n  $:/plugins/tiddlywiki/codemirror - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-autocomplete - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-closebrackets - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-closetag - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-mode-css - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-mode-htmlembedded - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-mode-htmlmixed - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-mode-javascript - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-mode-markdown - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-mode-xml - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-search-replace - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-trailingspace - 5.3.6\\n  $:/plugins/tiddlywiki/highlight - 5.3.6\\n  $:/plugins/tiddlywiki/markdown - 5.3.6\\n  $:/plugins/vuk/TW-UnitTest - 0.0.47\\n  $:/plugins/wikilabs/bundler - 1.2.0\\n  $:/plugins/wikilabs/field-editor - 1.1.0\\n  $:/plugins/wikilabs/field-visibility - 1.0.1\\n  $:/plugins/wikilabs/trails - 1.1.1\\n  $:/plugins/wilk/copy-code-button - 1.0.3\\n  $:/plugins/yaisog/ancestors-filter - 0.9.0\\n  $:/plugins/yaisog/descendants-filter - 0.9.0\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.6\\n  $:/themes/tiddlywiki/vanilla - 5.3.6\\n</code></pre></details>\",\n        \"tw-customisations\": \"\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"- user friendly community\\n- regulars are intelligent and knowledgeable, yet not egomaniacs\\n- the spirit of the comminity stays technical, there's no annoying zealotry about worshipping a weaponized Code of Conduct\",\n        \"project-weaknesses\": \"- a lot of generic solutions to particular problems remain in forum; this is a paradox that TiddlyWiki - a wiki (!) does not have an online editable \\\"source of truth\\\"(tm) edition a la Arch Wiki\\n- the official TiddlyWiki docs are too much like a dry reference; the initiative to make GrokTiddlyWiki is not a silver bullet, but is a giant step in the right direction\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00028\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00029.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Talk TiddlyWiki\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2012\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2023\",\n        \"use-ttw\": \"I read/lurk, but do not post\",\n        \"use-mailing-list\": \"I read/lurk, but do not post\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Not publishing to this location\",\n        \"publish-to-intranet\": \"Not publishing to this location\",\n        \"value-of-tw\": \"I love TW5 for my work place a an awesome note taking and task manager\\nI love TW5 for home to help me with my hobby of dungeons and dragons\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism)\",\n        \"backup-method\": \"TiddlySpot / TiddlyHost\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"\",\n        \"tw-customisations\": \"\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"You are very good at presenting information in a concise manner\",\n        \"project-weaknesses\": \"As someone who is not a programmer sometimes I get a little lost in the jargon of TW.  I have tried using some plugins but sometimes the documentation is not written in a way a non programmer can understand.  I get that it is a hard task to pair down some of the information.  Also new videos showing different aspects of TW5 would be nice.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00029\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00030.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Official newsletter\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2004\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2004\",\n        \"use-ttw\": \"I do not engage with this community\",\n        \"use-mailing-list\": \"I read/lurk, but do not post\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Not applicable (as retired, etc)\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"Absolutely essential. I store all my money details, projects, travel info, purchases, user accounts and passwords into a password protected TW. I use an old version of Waterfox together with Tiddlyfox plugin to save content. I do not use this browser to access any other site.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\",\n        \"backup-method\": \"Consumer online storage (e.g. Google Drive, Dropbox);DIY (any other solution)\",\n        \"diy-backup-info\": \"I use an ancient version of Waterfox that runs the Tiddlyfox plugin allowing direct saving to a folder on MS Onedrive. I can pick up the TW file on my laptop and open it there. I do not use Waterfox to access the Internet. \\nI would like to be able to share with a Mac laptop.\",\n        \"wiki-setup-info\": \"The information tool does not work with my current version 5.1.22.\",\n        \"tw-customisations\": \"\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"Easier saving of content.\",\n        \"project-weaknesses\": \"Make it easier to use across hardware platforms (including mobiles).\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00030\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00031.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Talk TiddlyWiki\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2022\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2022\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I read/lurk, but do not post\",\n        \"use-reddit\": \"I read/lurk, but do not post\",\n        \"use-discord\": \"I read/lurk, but do not post\",\n        \"use-github-discuss\": \"I read and post in this community\",\n        \"published-plugin\": \"Yes\",\n        \"main-use-cases\": \"Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Other\",\n        \"other-use-cases\": \"As a platform for posting my poetry and blogging\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Yes, served through Node.js\",\n        \"publish-to-intranet\": \"Not publishing to this location\",\n        \"value-of-tw\": \"Databases, I use TiddlyWiki as a NOTION to build databases about books, films and games, but also task management, time management and more. The second is to use TiddlyWiki as the ultimate notes management library.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki with third-party desktop app (e.g. TidGi Desktop, twexe)\",\n        \"backup-method\": \"Git forge (GitHub, Gitea/Forgejo, GitLab)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.7\\nCurrent palette: $:/palettes/CupertinoDark\\nCurrent theme: $:/themes/linonetwo/itonnote\\nCurrent layout: \\nBrowser language setting: zh-CN\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: yes\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: pop\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: permaview\\nTiddler opening behaviour setting for navigations from outside the story river: bottom\\nTiddler opening behaviour setting for navigations from within the story river: bottom\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: $:/plugins/linonetwo/super-tag,$:/plugins/mabuqian/time-for-task\\nPlugins: \\n  $:/core - 5.3.7\\n  $:/languages/en-US - 5.3.7\\n  $:/languages/zh-Hans - 5.3.7\\n  $:/plugins/benwebber/motion - 0.3.0\\n  $:/plugins/chanilino/viz - 1.0.1\\n  $:/plugins/EvidentlyCube/AdvancedPerformance - 1.1.4\\n  $:/plugins/flibbles/relink - 2.5.1\\n  $:/plugins/flibbles/relink-fieldnames - 2.5.0\\n  $:/plugins/flibbles/relink-markdown - 2.5.1\\n  $:/plugins/flibbles/relink-titles - 2.4.0\\n  $:/plugins/Gk0Wk/CPL-Repo - 2025.03.29\\n  $:/plugins/Gk0Wk/echarts - 0.2.13\\n  $:/plugins/Gk0Wk/focused-tiddler - 0.0.3\\n  $:/plugins/Gk0Wk/page-toc - 0.0.5\\n  $:/plugins/Gk0Wk/sidebar-resizer - 0.0.6\\n  $:/plugins/inmysocks/IconMenus - 0.0.4\\n  $:/plugins/kookma/commander - 2.1.13\\n  $:/plugins/kookma/hsl - 1.2.1\\n  $:/plugins/kookma/kara - 0.9.6\\n  $:/plugins/kookma/refnotes - 1.9.0\\n  $:/plugins/kookma/section - 1.2.2\\n  $:/plugins/kookma/shiraz - 2.9.7\\n  $:/plugins/kookma/shiraz-callout - 0.8.0\\n  $:/plugins/kookma/tamasha - 0.6.1\\n  $:/plugins/kookma/utility - 3.2.2\\n  $:/plugins/linonetwo/autocomplete - 0.5.0\\n  $:/plugins/linonetwo/commandpalette - 2.1.0\\n  $:/plugins/linonetwo/github-external-image - 0.1.0\\n  $:/plugins/linonetwo/in-tagtree-of - 0.2.0\\n  $:/plugins/linonetwo/itonnote - 3.4.4\\n  $:/plugins/linonetwo/open-in-external-app - 0.2.0\\n  $:/plugins/linonetwo/opened-tiddlers-bar - 1.0.0\\n  $:/plugins/linonetwo/source-control-management - 0.3.0\\n  $:/plugins/linonetwo/tag-tree-picker-macro - 0.0.1\\n  $:/plugins/linonetwo/tidgi-external-attachments - 1.5.2\\n  $:/plugins/linonetwo/tidgi-ipc-syncadaptor - 1.0.0\\n  $:/plugins/linonetwo/tw-mobile-sync - 0.9.0\\n  $:/plugins/linonetwo/tw-react - 1.0.0\\n  $:/plugins/mabuqian/gumo-customisation - 0.5.1\\n  $:/plugins/mabuqian/PopControlPanel - 0.1.2\\n  $:/plugins/mabuqian/TaskHub - 0.3.2\\n  $:/plugins/mabuqian/xnote - 0.3.3\\n  $:/plugins/mat/field-value-selector - 0.0.1\\n  $:/plugins/nico/notebook-mobile - 1.0.0\\n  $:/plugins/oeyoews/echarts-addons - 0.0.4\\n  $:/plugins/oeyoews/neotw-play-sound - 0.3.0\\n  $:/plugins/oeyoews/tiddlywiki-codemirror-6 - 3.8.0\\n  $:/plugins/telmiger/HarveyBalls - 0.0.6\\n  $:/plugins/telmiger/PluginSize - 1.0.1\\n  $:/plugins/telmiger/rpn - 0.7.3\\n  $:/plugins/tiddlywiki/browser-sniff - 5.3.7\\n  $:/plugins/tiddlywiki/dynannotate - 5.3.7\\n  $:/plugins/tiddlywiki/dynaview - 5.3.7\\n  $:/plugins/tiddlywiki/highlight - 5.3.7\\n  $:/plugins/tiddlywiki/jszip - 5.3.7\\n  $:/plugins/tiddlywiki/qrcode - 5.3.7\\n  $:/plugins/tobibeer/setvars - 0.6.0\\n  $:/plugins/wikilabs/edit-tabs - 3.0.2\\n  $:/plugins/xp/aggregation - 0.5.7\\n  $:/plugins/xp/splashscreen - 0.2.2\\n  $:/plugins/yaisog/choose-random-filter - 0.9.0\\n  $:/plugins/yaisog/taggingtree-filter - 0.9.0\\n  $:/plugins/yaisog/tagstree-filter - 0.9.0\\n  $:/temp/info-plugin - \\n  $:/themes/linonetwo/itonnote - 1.3.3\\n  $:/themes/tiddlywiki/snowwhite - 5.3.7\\n  $:/themes/tiddlywiki/vanilla - 5.3.7\\n</code></pre></details>\",\n        \"tw-customisations\": \"I made a lot of custom content for TiddlyWiki. Some of it is from solutions that have matured in the community, and some of it is modified by me. Some I modified from plugins. There are also some that I created by combining content from different plugins. There's so much.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"the TiddlyWiki community is very welcoming and always responds to questions when posted. Most of the time a solution is available.TiddlyWiki is a great piece of software, and I've played with the odd piece of software or programme, but they couldn't do it with the same kind of balance and elegance that TiddlyWiki does. More specifically, TiddlyWiki balances the average user with the advanced user and builds bridges when the average user will slowly dive deeper into TiddlyWiki.\",\n        \"project-weaknesses\": \"I can't get away from TiddlyWiki anymore. While I can find alternatives to keep the data, there's no way I can find one as special as TiddlyWiki. I'd love to contribute to TiddlyWiki, but my ability to recommend it to others or answer simple questions is too small. The biggest drawback of TiddlyWiki at the moment is that it doesn't have as diverse functionality as other software, and we're still missing a lot of great plugins for that.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00031\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00032.tid",
    "content": "are-you-a-dev: No, I would not\nbackup-method: N/A - I keep my wiki on a single system\ndiy-backup-info: \nfirst-heard-survey: Official newsletter\nfirst-used-tw: 2007\njoined-tw-community: Yes\nmain-use-cases: Note-taking;Journalling;Task and project management (including CRMs)\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: \npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: A very helpful community that provides good answers to practically any problem.\nproject-weaknesses: Without effective marketing TiddlyWiki will lose its appeal to newcomers who want off the shelf solutions.\npublish-to-intranet: \npublish-to-web: \npublished-plugin: No\nsave-method: Single-file wiki with TiddlyDesktop\nshare-wikis: No, my TiddlyWiki is for personal use only\nstarted-tw-community: 2023\ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00032\ntw-ability-level: I have customised TiddlyWiki through options and plugins\ntw-customisations: \ntw-future-confidence: Yes\nuse-discord: I do not engage with this community\nuse-for-work-or-study: Not applicable (as retired, etc)\nuse-github-discuss: I do not engage with this community\nuse-mailing-list: I do not engage with this community\nuse-reddit: I do not engage with this community\nuse-ttw: I read and post in this community\nvalue-of-tw: A very versatile tool for note taking.\nwiki-setup-info: "
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00033.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Talk TiddlyWiki\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2021\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2021\",\n        \"use-ttw\": \"I read/lurk, but do not post\",\n        \"use-mailing-list\": \"I do not engage with this community\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"No\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Yes, using a single-file wiki\",\n        \"publish-to-intranet\": \"Not publishing to this location\",\n        \"value-of-tw\": \"I am in the process of building a historical knowledge base for myself and I chose TW because it's future-proof and it will be very easy to publish once I will be done.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable writing filter expressions\",\n        \"save-method\": \"Single-file wiki third-party mobile app (e.g. Tiddloid, Quine)\",\n        \"backup-method\": \"TiddlySpot / TiddlyHost\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"I don't know how to do this on Android. These are the main plugins I use:\\n- Notebook theme\\n- Autocomplete\\n- Relink\\n- Context Menu\\n- Shiraz\\n- Muuri\\n- Command Palette\\n- Locator\\n- Freelinks\\n- Tiddler Commander\",\n        \"tw-customisations\": \"Yes, but they are small modifications and they are AI generated. I don't have enough technical knowledge.\",\n        \"positive-about-future\": \"No\",\n        \"tw-future-confidence\": \"No\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"Maintaining backwards compatibility for such a long time is definitely something to applaud. The HTML format is also a big plus. The main reason I am using TW for my project is knowing that even in the distant future I will be able to open it and my work won't be lost.\",\n        \"project-weaknesses\": \"Tiddlywiki is just too difficult to use for non-technical people like me. For my personal notes I am using Obsidian simply because it's easier to use.\\n\\nNon-text files are difficult to work with. Setting up a Github saver with Canonical URI or something similar takes days for someone like me.\\n\\nIt would also be helpful if filters could be built using a UI. \\n\\nCompared to Obsidian or Notion, TW's user base is small, and I'm not too confident that TW will be able to complete in the long term.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00033\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00034.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Official newsletter\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2007\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2016\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I do not engage with this community\",\n        \"use-reddit\": \"I read and post in this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Journalling\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"No\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Yes, using a single-file wiki\",\n        \"publish-to-intranet\": \"Not publishing to this location\",\n        \"value-of-tw\": \"TiddlyWiki is a beautiful & fun & efficient way for me to take notes in my personal journal -- to enhance my life and share ideas with others\",\n        \"tw-ability-level\": \"I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism)\",\n        \"backup-method\": \"TiddlySpot / TiddlyHost\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"https://zhurnaly.tiddlyhost.com/ is my main wiki\",\n        \"tw-customisations\": \"i have added a Toki Pona font to my wiki CSS and have done a little other minor customization\\n\\ni have written Perl scripts to produce a static mirror of my wiki at https://zhurnaly.com/z\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"open public discussion on talk.tiddkywiki.com\",\n        \"project-weaknesses\": \"just keep up the fine work!\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00034\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00035.tid",
    "content": "are-you-a-dev: Yes, I would\nbackup-method: Git forge (GitHub, Gitea/Forgejo, GitLab)\ndiy-backup-info: \nfirst-heard-survey: Other\nfirst-used-tw: 2021\njoined-tw-community: Yes\nmain-use-cases: N/A - Still experimenting/no set use case for TiddlyWiki\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: QQ friend\nother-use-cases: \npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: 代码优雅，设计精巧，哲学优美\nproject-weaknesses: 性能！性能！还是性能！。除了性能，我觉得其它都很优雅。目前的性能真的不如人意\npublish-to-intranet: Yes, served through Node.js\npublish-to-web: Not publishing to this location\npublished-plugin: Yes\nsave-method: Single-file wiki with third-party desktop app (e.g. TidGi Desktop, twexe)\nshare-wikis: Yes, and I am the only editor/administrator of my wiki(s)\nstarted-tw-community: 2021\ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00035\ntw-ability-level: I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom JavaScript\ntw-customisations: 自己写了一些插件，包括tid转图片、ob导入tid等等\ntw-future-confidence: Yes\nuse-discord: I do not engage with this community\nuse-for-work-or-study: No\nuse-github-discuss: I read/lurk, but do not post\nuse-mailing-list: I do not engage with this community\nuse-reddit: I do not engage with this community\nuse-ttw: I read and post in this community\nvalue-of-tw: 作为数字花园\nwiki-setup-info: "
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00036.tid",
    "content": "are-you-a-dev: Yes, I would\nbackup-method: DIY (any other solution)\ndiy-backup-info: A python server and saver\nfirst-heard-survey: Official newsletter\nfirst-used-tw: 2010\njoined-tw-community: No\nmain-use-cases: Note-taking;As a knowledge base (including technical, non-fiction and encyclopaedic content)\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: \npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: A native non node.js saver and hoster\nproject-weaknesses: Who will lead if not Jeremy?\npublish-to-intranet: \npublish-to-web: \npublished-plugin: No\nsave-method: Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\nshare-wikis: No, my TiddlyWiki is for personal use only\nstarted-tw-community: \ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00036\ntw-ability-level: I have customised TiddlyWiki through options and plugins\ntw-customisations: \ntw-future-confidence: Yes\nuse-discord: \nuse-for-work-or-study: Yes\nuse-github-discuss: \nuse-mailing-list: \nuse-reddit: \nuse-ttw: \nvalue-of-tw: Searchable thoughts with links to other captured thoughts\nwiki-setup-info: "
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00037.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Official newsletter\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2018\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2022\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I do not engage with this community\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I read/lurk, but do not post\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Programming;Other\",\n        \"other-use-cases\": \"Mobile app development platform, running on Tiddloid\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"Yes, with multiple editors/administrators\",\n        \"publish-to-web\": \"Not publishing to this location\",\n        \"publish-to-intranet\": \"Not publishing to this location\",\n        \"value-of-tw\": \"Knowledge base for work related subjects, 2 apps (customized TWs running on tiddloid), many TWs for private projects...\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles;I have written custom JavaScript\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism);Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver);Single-file wiki third-party mobile app (e.g. Tiddloid, Quine)\",\n        \"backup-method\": \"DIY (any other solution);No automatic sync across my devices;N/A - I keep my wiki on a single system\",\n        \"diy-backup-info\": \"For cross-device wikis, I use syncthing to sync single file wikis folders\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: \\nCurrent layout: \\nBrowser language setting: fr-FR\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.6\\n  $:/languages/fr-FR - 5.3.6\\n  $:/plugins/flibbles/relink - 2.5.1\\n  $:/plugins/slaymaker1907/browser-nativesaver - 0.7.1\\n  $:/plugins/sq/editor-autolist - 0.1.14\\n  $:/plugins/telmiger/EditButtons - 1.1.0\\n  $:/plugins/tiddlywiki/internals - 5.3.6\\n  $:/plugins/tiddlywiki/menubar - 5.3.6\\n  $:/plugins/tiddlywiki/savetrail - 5.3.6\\n  $:/plugins/tw-FRed/tw5-checklist - 0.1.4\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.6\\n  $:/themes/tiddlywiki/vanilla - 5.3.6\\n</code></pre></details>\",\n        \"tw-customisations\": \"My wikis are created as instances of a private TW edition I built with official and community plugins, modified JS plugins, DIY customization (sometimes based on community resources).\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"What I like about TW : covers a wide spectrum from a simple future-proof single file html note-taking tool to a versatile and powerful development platform.\\nI love TW helpful and devoted community.\\nI like the project balance between stability and evolution.\",\n        \"project-weaknesses\": \"I should involve myself more, esp. financially.\\nI see different users have different expectations/projects for TW, and I fear it might lead to a fork between privacy-versatility-simplicity-advocating community members, and (maybe younger) features-and-plugins-and-bells-and-whistles-advocating members.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00037\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00038.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Official newsletter\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2005\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;As a knowledge base (including technical, non-fiction and encyclopaedic content);Worldbuilding (e.g. for role-playing games)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"TW is my main information knowledge base, highly valued as it is self-controlled & so not reliant on an outside service and widely able to be accessed across multiple OSes / devices.\",\n        \"tw-ability-level\": \"My use is basic; I use TiddlyWiki in a configuration close to standard, without plugins\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\",\n        \"backup-method\": \"Consumer online storage (e.g. Google Drive, Dropbox)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.7\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: $:/themes/tiddlywiki/snowwhite\\nCurrent layout: \\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: no\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.7\\n  $:/plugins/danielo515/searchNreplace - 1.2\\n  $:/plugins/tiddlywiki/markdown - 5.3.7\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.7\\n  $:/themes/tiddlywiki/vanilla - 5.3.7\\n</code></pre></details>\",\n        \"tw-customisations\": \"\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"Compatibility with easy upgrading. Not particularly dogmaitc - for example integration of Markdown in the past etc.\",\n        \"project-weaknesses\": \"Tiddlywiki preferred / endorsed / led / managed single file save solution for the various browsers - Firefox and those that include Manifest 2, Manifest 3 browsers etc.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00038\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00039.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Talk TiddlyWiki\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2004\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2021\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I read/lurk, but do not post\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"A lightweight wiki that I can customisable / style to my needs.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom JavaScript\",\n        \"save-method\": \"Multi-file wiki served through Node.js;Single-file wiki with TiddlyDesktop\",\n        \"backup-method\": \"Consumer online storage (e.g. Google Drive, Dropbox)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: $:/themes/tiddlywiki/vanilla\\nCurrent layout: \\nBrowser language setting: en-GB\\nDefault type for missing tiddlers: \\nAuto save setting: no\\nCode wrapping setting: pre\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: $:/plugins/tiddlywiki/codemirror\\nPlugins: \\n  $:/core - 5.3.6\\n  $:/plugins/kixam/datepicker - 0.5.2\\n  $:/plugins/kixam/moment - 2.18.1\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.6\\n  $:/themes/tiddlywiki/vanilla - 5.3.6\\n</code></pre></details>\",\n        \"tw-customisations\": \"Basic javascript and macros, view templates to support task tracking.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"No\",\n        \"project-decision-trust\": \"No\",\n        \"project-strengths\": \"Continuously putting out new releases, maintaining backwards compatibility.\",\n        \"project-weaknesses\": \"Having a node JS version for iOS/mobile would be fantastic as my wikis get too large for saving.  Jeremy indicated he was starting this project but it has gone quiet.  It is not great feedback is not provided to the community on progress.\\n\\nAlso a proper default save method should work out of the box.  It is crazy for new users this is not the case, and is a massive barrier to adoption.  Using PWA as our default just makes sense.  Lightweight task management common, support out of the box.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00039\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00040.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Official newsletter\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2011\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"Yes\",\n        \"main-use-cases\": \"Note-taking;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"It lets me manage my home and work lives how I want, securely, and in an amazingly future-proof way. I’ve changed task management systems at least three times, changed notes organization systems at least twice, and I rarely need to move anything when doing so. TW is amazing.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver);Single-file wiki with TiddlyDesktop;Single-file wiki third-party mobile app (e.g. Tiddloid, Quine)\",\n        \"backup-method\": \"TiddlySpot / TiddlyHost;Consumer online storage (e.g. Google Drive, Dropbox)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"\",\n        \"tw-customisations\": \"I have a family of plugins, some of which contain custom stylesheets. I have studied the core plugin, and even done some local experiments in changing it. But I have stopped short of using JavaScript - that learning curve is not worth the cost for me.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"* Working on an open-source multi-user version\\n* Adding support for filters with multi-value data\\n* Continuing devotion to the original core values: Privacy, openness, longevity, and both kinds of free (beer and source modification)\",\n        \"project-weaknesses\": \"* Multi-line syntax for filters, with a system of conditionals appropriate for their semantics\\n* True homoiconicity of data: Have the multi-value filters pass ENTIRE ACTUAL TIDDLERS around - or at least make this possible\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00040\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00041.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Talk TiddlyWiki\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2022\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2022\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I do not engage with this community\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I read/lurk, but do not post\",\n        \"use-github-discuss\": \"I read/lurk, but do not post\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Programming;Other\",\n        \"other-use-cases\": \"building websites\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Yes, using a single-file wiki;Yes, served through Node.js\",\n        \"publish-to-intranet\": \"Not publishing to this location\",\n        \"value-of-tw\": \"TiddlyWiki provides a place to put stuff - notes, todos, project plans, blog posts, reference materials, etc. - and a framework for stitching those things together. It also provides a nice way to create a lightweight database / website.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Multi-file wiki served through Node.js;Single-file wiki with TiddlyDesktop;Single-file wiki third-party mobile app (e.g. Tiddloid, Quine)\",\n        \"backup-method\": \"Consumer online storage (e.g. Google Drive, Dropbox);DIY (any other solution)\",\n        \"diy-backup-info\": \"I have a self-hosted git instance, and I use launchd / Siri Shortcuts to keep the git repo up to date.\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/palettes/peter\\nCurrent theme: $:/themes/tiddlywiki/snowwhite\\nCurrent layout: \\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: $:/config/shortcuts-mac/EC-GoToModal,$:/config/shortcuts-mac/excise,$:/config/shortcuts-mac/layout-switcher,$:/config/shortcuts-mac/new-markdown-tiddler,$:/config/shortcuts-mac/new-tiddler,$:/config/shortcuts-mac/open-command-palette,$:/config/shortcuts-mac/py-quick-capture,$:/config/shortcuts-not-mac/new-markdown-tiddler,$:/config/shortcuts-not-mac/new-tiddler,$:/config/shortcuts/EC-AutoComplete,$:/config/shortcuts/excise,$:/config/shortcuts/link,$:/config/shortcuts/notebook-focus-search,$:/config/shortcuts/open-command-palette-command-mode,$:/config/shortcuts/open-command-palette-selection\\nDisabled plugins: $:/plugins/Gk0Wk/notionpage-covericon,$:/plugins/souk21/commandpalette\\nPlugins: \\n  $:/core - 5.3.6\\n  $:/languages/en-US - 5.3.6\\n  $:/plugins/EvidentlyCube/AutoComplete - 1.0.20\\n  $:/plugins/felixhayashi/hotzone - 0.0.3\\n  $:/plugins/flibbles/relink - 2.4.5\\n  $:/plugins/flibbles/relink-markdown - 2.4.0\\n  $:/plugins/Gk0Wk/CPL-Repo - 2024.11.25\\n  $:/plugins/Gk0Wk/echarts - 0.2.13\\n  $:/plugins/Gk0Wk/focused-tiddler - 0.0.3\\n  $:/plugins/kixam/datepicker - 0.5.2\\n  $:/plugins/kixam/moment - 2.24.0\\n  $:/plugins/kookma/commander - 2.1.13\\n  $:/plugins/kookma/tamasha - 0.6.1\\n  $:/plugins/linonetwo/autocomplete - 0.4.0\\n  $:/plugins/linonetwo/commandpalette - 2.0.2\\n  $:/plugins/linonetwo/krystal - 0.7.0\\n  $:/plugins/linonetwo/tw-react - 1.0.0\\n  $:/plugins/linonetwo/tw-whiteboard - 1.7.0\\n  $:/plugins/nico/projectify - 0.14.0\\n  $:/plugins/telmiger/EditButtons - 1.1.0\\n  $:/plugins/tiddlywiki/browser-sniff - 5.3.6\\n  $:/plugins/tiddlywiki/external-attachments - 5.3.6\\n  $:/plugins/tiddlywiki/markdown - 5.3.6\\n  $:/plugins/tobibeer/appear - 0.6.2\\n  $:/plugins/TWaddle/pluginsize - 1.0.0\\n  $:/temp/info-plugin - \\n  $:/themes/nico/notebook - 1.4.1\\n  $:/themes/tiddlywiki/centralised - 5.3.6\\n  $:/themes/tiddlywiki/snowwhite - 5.3.6\\n  $:/themes/tiddlywiki/vanilla - 5.3.6\\n</code></pre></details>\",\n        \"tw-customisations\": \"* Custom stylesheets to turn on multi-column / grid-based layout for tiddlers\\n* Custom \\\"HUD\\\" system for showing tiddlers on computer sidebar and phone background\\n* Custom GTD system\\n* Plugin (in-development, but early version used) to show TW in 3D\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"No\",\n        \"project-strengths\": \"I think the community is a supportive and welcoming environment. People help each other and share tips and tricks. I really like how focused TiddlyWiki is on privacy and autonomy. Jeremy is a great steward of the project and takes great care in steering TiddlyWiki.\\n\\nI'm very excited to follow the progress on 5.4.0!\",\n        \"project-weaknesses\": \"I'd like the project to go faster. Sometimes, pull requests with new features languish for months and await merging / discussion. It'd be good to review these with a working group and get them pushed along.\\n\\nI also want the project to \\\"branch out\\\". We should work on marketing TW to the \\\"PKM\\\" community as a real alternative, and speak about it.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00041\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00042.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Official newsletter\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2021\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2024\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I read/lurk, but do not post\",\n        \"use-reddit\": \"I read and post in this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I read/lurk, but do not post\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"I transitioned from printed booklet of stats to Tiddlywiki as work wikia with data and visualisation not possible on paper. As I am somewhat of a walking database it aid me greatly as final, most authoritative reference source of many informations aka \\\"As I have wrtiiten\\\".\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki with TiddlyDesktop;Single-file wiki third-party mobile app (e.g. Tiddloid, Quine)\",\n        \"backup-method\": \"Consumer online storage (e.g. Google Drive, Dropbox)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.7\\nCurrent palette: $:/palettes/MyPalette\\nCurrent theme: $:/themes/nico/notebook\\nCurrent layout: $:/core/ui/PageTemplate\\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: $:/plugins/kookma/commander,$:/plugins/kookma/refnotes\\nPlugins: \\n  $:/core - 5.3.7\\n  $:/plugins/giffmex/Toggle! - 0.0.4\\n  $:/plugins/Gk0Wk/CPL-Repo - 2025.03.29\\n  $:/plugins/Gk0Wk/echarts - 0.2.13\\n  $:/plugins/hoelzro/progress-bar - 0.0.1\\n  $:/plugins/inmysocks/SearchableDictionary - 0.1.1\\n  $:/plugins/inmysocks/StartupActions - 0.0.7\\n  $:/plugins/kookma/shiraz - 2.9.7\\n  $:/plugins/mklauber/shuffle - 1.0.2\\n  $:/plugins/nico/notebook-mobile - 1.0.0\\n  $:/plugins/oeyoews/medium-zoom - 0.0.7\\n  $:/plugins/tiddlywiki/confetti - 5.3.7\\n  $:/plugins/TWaddle/pluginsize - 1.0.0\\n  $:/plugins/wikilabs/thin-scrollbars - 0.1.2\\n  $:/temp/info-plugin - \\n  $:/themes/nico/notebook - 1.4.1\\n  $:/themes/tiddlywiki/snowwhite - 5.3.7\\n  $:/themes/tiddlywiki/vanilla - 5.3.7\\n</code></pre></details>\",\n        \"tw-customisations\": \"I mostly use Shiraz plugin for most of the customisation. Sometime I also create custom CSS for some element just to be independent of plugin. I have Copilot help me with html and css.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"Backward compatibility and platfrom independent. As much as it great ideologically some non-big tech solution require user to set up their own server - in the era user no not much beyond going to app store and press install on touch screen. I choosed Tiddlywiki because I can place that one single file on my OneDrive and use it cross-devices.\\n\\nAs web technology progress I'm looking forward to what would be possible with just html and css for my portable, single-file website.\",\n        \"project-weaknesses\": \"Tiddlywiki still looks like a product out of love from some small online hobbyist group. Even if it can do so much as not-taking, journal, or personal wiki. I found Tiddly because I want to create my work note as wiki, as in wikipedia or fandom wikia and not simply hierachical note ot chronological journal. A better example presentation or template from most basic school note to calendar UI for journal to sophisticate worldbuilding wikia might be needed to have user get what they can do.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00042\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00043.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Official newsletter\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2019\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"It's unique in it's use and flexibility. I highly value it and use it almost every week. I wish I could use it more but in my current situation I cannot.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\",\n        \"backup-method\": \"TiddlySpot / TiddlyHost\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/palettes/SolarizedLight\\nCurrent theme: $:/themes/tiddlywiki/vanilla\\nCurrent layout: $:/core/ui/PageTemplate\\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: no\\nCode wrapping setting: pre\\nSticky titles setting: no\\nSidebar layout setting: fixed-fluid\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.6\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.6\\n  $:/themes/tiddlywiki/vanilla - 5.3.6\\n</code></pre></details>\",\n        \"tw-customisations\": \"I've simplified lately. but I love the Mehregan edition of tiddlywiki so much because it makes it easier for me to use the power of tiddlywiki with my limited knowledge.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"Even though I still have some small complaints about tiddlywiki I can't not be satisfied with a free product that already offers so much. So thank you for updating it, keeping it available. Creating so many plugins and having a very friendly community. Improving this product while keeping it private. Being open so that those that have the capability can easily add plugins. I personally love the editions of tiddlywiki that are ready to use for beginners like me.  Thank you, thank you very much!\",\n        \"project-weaknesses\": \"As a beginner it is sometimes difficult, or time consuming to look for different ways to do certain things. \\nI already appreciate all that is done for beginners and just hope that some resources continue to be used to help beginners like myself use tiddlywiki more easily.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00043\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00044.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Talk TiddlyWiki\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2008\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2008\",\n        \"use-ttw\": \"I read/lurk, but do not post\",\n        \"use-mailing-list\": \"I read/lurk, but do not post\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"As a knowledge base (including technical, non-fiction and encyclopaedic content);Other\",\n        \"other-use-cases\": \"Store translation of a book from one language to another; Store notes on adventure games\",\n        \"use-for-work-or-study\": \"No\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"It is a place to collect and store technical notes that include mathematics.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver);Single-file wiki with TiddlyDesktop\",\n        \"backup-method\": \"TiddlySpot / TiddlyHost\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"\",\n        \"tw-customisations\": \"\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"I like the continued support for a single file TW that can be opened in a web browser.\\nThe online community is friendly and helpful.\",\n        \"project-weaknesses\": \"The ways to save a local TW file still confuse me. I absolutely rely on Firefox and Timimi and if that combination no longer worked, I would be lost.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00044\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00045.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Official newsletter\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2010\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"My notes, ideas an tasks are all in the same place. All is available on all my platforms (different laptops). I can control it myself.\",\n        \"tw-ability-level\": \"I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...)\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism)\",\n        \"backup-method\": \"Consumer online storage (e.g. Google Drive, Dropbox)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.7\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: $:/themes/tiddlywiki/snowwhite\\nCurrent layout: \\nBrowser language setting: de\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.7\\n  $:/languages/de-DE - 5.3.7\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.7\\n  $:/themes/tiddlywiki/vanilla - 5.3.7\\n</code></pre></details>\",\n        \"tw-customisations\": \"\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"-\",\n        \"project-weaknesses\": \"-\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00045\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00046.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2018\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"Yes, with multiple editors/administrators\",\n        \"publish-to-web\": \"Not publishing to this location\",\n        \"publish-to-intranet\": \"Yes, using a single-file wiki\",\n        \"value-of-tw\": \"Tiddlywiki is a tool I use all the time to organize my notes and sometimes share them.\\nI customize it extensively using plugins, macros, procedures, and templates.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles;I have written custom JavaScript\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\",\n        \"backup-method\": \"N/A - I keep my wiki on a single system\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"\",\n        \"tw-customisations\": \"\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"The community has been regularly updating the tool for many years. There are few bugs.\",\n        \"project-weaknesses\": \"Tiddlywiki remains complicated to use, whether for saving or customizing.\\nIt's a powerful tool, but getting the most out of it requires advanced skills.\\nIt's a shame that Tiddlywiki lost its French forum.\\nThe tool remains unknown to those around me.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00046\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00047.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Official newsletter\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2008\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Yes, using a single-file wiki\",\n        \"publish-to-intranet\": \"Not publishing to this location\",\n        \"value-of-tw\": \"An nice way to organize my knowledge or my thoughts.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins\",\n        \"save-method\": \"Multi-file wiki served through Node.js;Single-file wiki with TiddlyDesktop\",\n        \"backup-method\": \"Git forge (GitHub, Gitea/Forgejo, GitLab)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"Mathjax or Katex\\nCodeMirror with vim (when it works or when I succeed to install it)\",\n        \"tw-customisations\": \"body.tc-body a.tc-tiddlylink {\\n    color: green;\\n}\\nbody.tc-body .uni-link {\\n    color: green;\\n}\\nbody.tc-body a.tc-tiddlylink-external {\\n    color: navy;\\n    text-decoration:none;\\n}\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"It still works fine.\",\n        \"project-weaknesses\": \"Enable external edition for the server version. I mean I can edit the file on my filesystem and see in real time the modification either on the web or on TiddlyDesktop.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00047\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00048.tid",
    "content": "are-you-a-dev: Yes, I would\nbackup-method: WebDAV;DIY (any other solution);No automatic sync across my devices;N/A - I keep my wiki on a single system\ndiy-backup-info: https://codeberg.org/valpackett/tiddlypwa\nfirst-heard-survey: Official newsletter\nfirst-used-tw: 2014\njoined-tw-community: No\nmain-use-cases: As a knowledge base (including technical, non-fiction and encyclopaedic content);Producing/publishing interactive fiction;Worldbuilding (e.g. for role-playing games);Narrative fiction writing (either supporting its creation or directly writing in TiddlyWiki)\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: \npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: Portability/archiveability are working well. Project is long-standing and has a good track record in my book.\nproject-weaknesses: I need some built-in system that allows multiple editors (at the same time)/roles/permissions. There is some progression towards that, but to me, that needs to be improved sooner rather than later. An improved undo/trash system (using a wonky plugin for that at the moment) is also something I'd consider basic functionality that is missing. Both whilst keeping the ability to download everything as a single html file, as that aspect of TiddlyWiki is paramount to me.\npublish-to-intranet: Not publishing to this location\npublish-to-web: Yes, using a single-file wiki;Yes, served through Node.js\npublished-plugin: No\nsave-method: Single-file wiki through web browser with Download Saver (default saving mechanism);Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver);Multi-file wiki served through Node.js\nshare-wikis: Yes, with multiple editors/administrators\nstarted-tw-community: \ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00048\ntw-ability-level: I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles;I have written custom JavaScript\ntw-customisations: I generally like to add an icon next to the wiki-title, as well as a background image/some generic theming. I add plugins depending on the type of project.\ntw-future-confidence: Yes\nuse-discord: \nuse-for-work-or-study: Yes\nuse-github-discuss: \nuse-mailing-list: \nuse-reddit: \nuse-ttw: \nvalue-of-tw: The ability to link all kinds of things to each other as well as its portability/archiveability make for the topmost reasons for picking TiddlyWiki for me.\nwiki-setup-info: "
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00049.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Official newsletter\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2010\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2011\",\n        \"use-ttw\": \"I do not engage with this community\",\n        \"use-mailing-list\": \"I read and post in this community\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"I use it as a database of various information bits.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver);Single-file wiki with TiddlyDesktop\",\n        \"backup-method\": \"No automatic sync across my devices\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.5\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: \\nCurrent layout: \\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: $:/plugins/telmiger/x-tag\\nPlugins: \\n  $:/core - 5.3.5\\n  $:/plugins/ahahn/tinka - 0.4.0\\n  $:/plugins/flibbles/relink - 1.10.1\\n  $:/plugins/kixam/datepicker - 0.5.2\\n  $:/plugins/kixam/moment - 2.18.1\\n  $:/plugins/kookma/tamasha - 0.4.3\\n  $:/plugins/matabele/maketid - 0.0.4\\n  $:/plugins/skeeve/newtiddler - 0.2.1\\n  $:/plugins/telmiger/details - 0.7.6\\n  $:/plugins/telmiger/EditorCounter - 0.6.6\\n  $:/plugins/telmiger/listreveal - 0.3.30\\n  $:/plugins/telmiger/reminders - 0.1.7\\n  $:/plugins/telmiger/rpn - 0.7.3\\n  $:/plugins/telmiger/todonow - 1.2.15\\n  $:/plugins/telmiger/todonow/outlook - 0.1.2\\n  $:/plugins/tgrosinger/tw5-checklist - 0.0.14\\n  $:/plugins/tiddlywiki/codemirror - 5.3.5\\n  $:/plugins/tiddlywiki/codemirror-autocomplete - 5.3.5\\n  $:/plugins/tiddlywiki/codemirror-closebrackets - 5.3.5\\n  $:/plugins/tiddlywiki/codemirror-closetag - 5.3.5\\n  $:/plugins/tiddlywiki/codemirror-keymap-vim - 5.3.5\\n  $:/plugins/tiddlywiki/qrcode - 5.3.5\\n  $:/plugins/wikilabs/bundler - 0.1.1\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.5\\n  $:/themes/tiddlywiki/vanilla - 5.3.5\\n</code></pre></details>\",\n        \"tw-customisations\": \"Yes. I added stylesheets and macros.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"(Sorry, no input, currently.)\",\n        \"project-weaknesses\": \"(Sorry, no input, currently.)\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00049\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00050.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Talk TiddlyWiki\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2011\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2013\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I do not engage with this community\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I read/lurk, but do not post\",\n        \"published-plugin\": \"Yes\",\n        \"main-use-cases\": \"Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"With all the shortcuts and streamlining that I implemented on top of the vanilla TW, I'd say it saves me about 50% of the work of finding information and tracking stuff like my own and others' tasks.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles;I have written custom JavaScript\",\n        \"save-method\": \"Multi-file wiki served through Node.js\",\n        \"backup-method\": \"Web or cloud hosting (other than TiddlyHost/TiddlySpot e.g. Netlify, AWS, OVH, Google Cloud...)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: $:/themes/tiddlywiki/vanilla\\nCurrent layout: $:/mwi/ui/PageTemplate\\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: delay\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: single\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: bottom\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: $:/config/shortcuts-mac/new-journal,$:/config/shortcuts-not-mac/new-journal,$:/config/shortcuts/close-current,$:/config/shortcuts/copy-title,$:/config/shortcuts/copy-title-list,$:/config/shortcuts/editor-popup-ifs,$:/config/shortcuts/editor-popup-link,$:/config/shortcuts/journal-down,$:/config/shortcuts/journal-up,$:/config/shortcuts/mono-line,$:/config/shortcuts/new-wiki-tab,$:/config/shortcuts/next-tiddler,$:/config/shortcuts/previous-tiddler,$:/config/shortcuts/startpage,$:/config/shortcuts/timetracker-modal,$:/config/shortcuts/toc-journal-down,$:/config/shortcuts/toc-journal-up\\nDisabled plugins: $:/plugins/EvidentlyCube/AdvancedPerformance,$:/plugins/tiddlywiki/internals,$:/plugins/tiddlywiki/menubar,$:/plugins/tiddlywiki/powered-by-tiddlywiki,$:/themes/tiddlywiki/snowwhite\\nPlugins: \\n  $:/core - 5.3.6\\n  $:/plugins/flibbles/relink - 2.4.4\\n  $:/plugins/flibbles/relink-markdown - 2.4.5\\n  $:/plugins/flibbles/relink-titles - 2.4.0\\n  $:/plugins/tiddlywiki/codemirror - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-autocomplete - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-closebrackets - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-keymap-sublime-text - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-mode-css - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-mode-htmlembedded - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-mode-htmlmixed - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-mode-javascript - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-mode-xml - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-search-replace - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-trailingspace - 5.3.6\\n  $:/plugins/tiddlywiki/dynannotate - 5.3.6\\n  $:/plugins/tiddlywiki/filesystem - 5.3.6\\n  $:/plugins/tiddlywiki/katex - 5.3.6\\n  $:/plugins/tiddlywiki/markdown - 5.3.6\\n  $:/plugins/tiddlywiki/tiddlyweb - 5.3.6\\n  $:/plugins/yaisog/ancestors-filter - 0.9.0\\n  $:/plugins/yaisog/choose-random-filter - 0.9.0\\n  $:/plugins/yaisog/debug-log-filter - 0.9.2\\n  $:/plugins/yaisog/descendants-filter - 0.9.0\\n  $:/plugins/yaisog/random-filter - 0.9.2\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/vanilla - 5.3.6\\n</code></pre></details>\",\n        \"tw-customisations\": \"All of the above. I have about 8 modified core widgets and 10 modified core templates.\\nHowever, I mostly use my own templates, e.g. a single-tiddler view, completely reworked sidebar (with information on the tiddler that is shown), and custom task management.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"No\",\n        \"project-strengths\": \"The reference at tiddlywiki.com is extremely valuable and still being used as such after many years of programming. This relates mostly to the descriptions of the various elements such as filter operators and widgets, no so much the concepts.\\nThe community at TW Talk can be very enlightening. There are some contributors (mostly the core programmers and Eric) whose posts I will read for every topic that I'm interested in. There are a few who mostly contribute noise that I tend to skip.\",\n        \"project-weaknesses\": \"Decisions are dominated by one person or others' interpretation of that person's wishes. PRs often seem to fizzle out because a small group of people dominate PR discussions with their opinions on what should be done and what not. Making PRs is a lot of work and being declared \\\"plugin-material\\\" too late in the process is frustrating.\\nI would generally like to see a tighter Markdown integration and maybe even a preference towards Markdown for newly-created wikis to help new users.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00050\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00051.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Talk TiddlyWiki\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2016\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2021\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I read/lurk, but do not post\",\n        \"use-reddit\": \"I read/lurk, but do not post\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I read/lurk, but do not post\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Producing/publishing interactive fiction;Worldbuilding (e.g. for role-playing games);Narrative fiction writing (either supporting its creation or directly writing in TiddlyWiki);Programming;Other\",\n        \"other-use-cases\": \"creation of a tool for monitoring diabetes and calculating insulin injections\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"Yes, with multiple editors/administrators\",\n        \"publish-to-web\": \"Yes, using a single-file wiki\",\n        \"publish-to-intranet\": \"Not publishing to this location\",\n        \"value-of-tw\": \"Easy to use, incredibly scalable, with the hability to support various contents, activities, projects..\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver);Multi-file wiki served through Node.js;Single-file wiki with third-party desktop app (e.g. TidGi Desktop, twexe);Single-file wiki third-party mobile app (e.g. Tiddloid, Quine)\",\n        \"backup-method\": \"Web or cloud hosting (other than TiddlyHost/TiddlySpot e.g. Netlify, AWS, OVH, Google Cloud...);DIY (any other solution);N/A - I keep my wiki on a single system\",\n        \"diy-backup-info\": \"syncthing or Proton Drive\",\n        \"wiki-setup-info\": \"\",\n        \"tw-customisations\": \"All my tiddlywiki are more or less heavily customized with html, css, edited interfaces.\\nI regularly adjust the plugins I download to better suit my needs and I am starting to sable into developping my own plugins for some edgecases where I can't find any good solution.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"A long-standing project, open source, keeping backward compatibility when possible, but in the end not requiring updates, meaning I can still use old database without update if I fear it would break them.\\nThe possibility to create so many things, from a simple note page to pretty complex apps.\\nThe possibility to share codes and information easily, and the presence of an helpful community.\",\n        \"project-weaknesses\": \"More formatting option, maybe markdown support with bonus\\nA good way to create a multi-user database (but that's a WIP).\\nMost of Tiddlywiki.com is written from the perspective of an experienced user and is not beginner-friendly.\\nSome preconfigured tiddlywiki editions could be useful. A custom builder that can suggest a list of add-ons based on intended use before allowing you do drag-and drop them in a few clicks could be an alternative, also being an introduction to plugins for beguiners.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00051\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00052.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Official newsletter\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2007\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"TiddlyWiki is what I keep coming back to for personal knowledge management (at work). Its hierarchical tagging gives me more flexibility than other tagging systems I have come across.\\n\\nIt is only the lack of easy mobile editing/saving that means I don't use it more\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism);Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\",\n        \"backup-method\": \"Consumer online storage (e.g. Google Drive, Dropbox)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"\",\n        \"tw-customisations\": \"\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"The longevity and community help means I am confident in its future. I am interested to see what saving mechanisms and the use of MWS might allow collaborative use in organisations.\",\n        \"project-weaknesses\": \"Obsidian is tempting due to the sheer size of the community, and therefore, plugins.\\n\\nUnfortunately, unless retirement ever comes along, I would find it difficult to contribute the time to help out more.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00052\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00053.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Official newsletter\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2010\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"Yes\",\n        \"main-use-cases\": \"Note-taking;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Other\",\n        \"other-use-cases\": \"Central Hub (& Browser Homepage) for *all* my work, links, tasks, tools, systems, etc.\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"It has helped me over many years to organize tons of open ends (and recently replaced Trello for that!), information on numerous topics (Programming, Linux, Job Articles), and provided easy access to all links and corporate tools in a single place. It's a wonderful beast!\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles;I have written custom JavaScript\",\n        \"save-method\": \"Single-file wiki with third-party desktop app (e.g. TidGi Desktop, twexe)\",\n        \"backup-method\": \"DIY (any other solution)\",\n        \"diy-backup-info\": \"Automatic (robo)copy-job from one PC, via USB-Stick, to another\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.5\\nCurrent palette: $:/palettes/DarkTheme\\nCurrent theme: $:/themes/tiddlywiki/vanilla\\nCurrent layout: $:/core/ui/PageTemplate\\nBrowser language setting: de-DE\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: $:/plugins/anstosa/tw5-markdown\\nPlugins: \\n  $:/core - 5.3.5\\n  $:/plugins/tiddlywiki/markdown - 5.3.5\\n  $:/plugins/tiddlywiki/menubar - 5.3.5\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.5\\n  $:/themes/tiddlywiki/vanilla - 5.3.5\\n</code></pre></details>\",\n        \"tw-customisations\": \"I have a folder full of tiddlers where I store customizations I use across Wikis (as it is way too complicated for me to build my own plugins, I'm not really a JS dev), including simple styles, complex widgets and stylings, as well as full new features and JS-macros\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"From my googling on problems/issues/help, and some Youtube stream recordings: super friendly community, very welcoming and open to suggestions, absolutely mega.\\n\\nVery strong (yet a bit confusing) set of functionality that allows customizing my wikis to a great extent.\\n\\nVery active development on the Wiki and the \\\"big\\\" plugins, with frequent fixes and very good/useful developments.\",\n        \"project-weaknesses\": \"Sometimes fiddling with Filters, Widgets etc. is very complicated, and not exactly easy for a Python dev like I am, as I have no clue on running node.js, only very basic knowledge and zero tooling on JavaScript, and tend do hack things together a lot.\\nSometimes I struggle with TW concepts (like why would the text I see on screen not be the same that gets passed to the macro), and even more, have to google a lot for community answers to get the right idea to fix stuff. It's a complicated beast!\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00053\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00054.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Talk TiddlyWiki\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2020\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2023\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I do not engage with this community\",\n        \"use-reddit\": \"I read/lurk, but do not post\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I read/lurk, but do not post\",\n        \"published-plugin\": \"Yes\",\n        \"main-use-cases\": \"Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Worldbuilding (e.g. for role-playing games);Programming\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Yes, using a single-file wiki\",\n        \"publish-to-intranet\": \"Not publishing to this location\",\n        \"value-of-tw\": \"A place where I can safely store, link, sort, and recall notes and thoughts, as well as a sandbox for building a UI to support my workflows for work and personal projects.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver);Single-file wiki with third-party desktop app (e.g. TidGi Desktop, twexe)\",\n        \"backup-method\": \"TiddlySpot / TiddlyHost\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.2\\nCurrent palette: $:/palettes/Twilight1\\nCurrent theme: $:/themes/tiddlywiki/vanilla\\nCurrent layout: $:/core/ui/PageTemplate\\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fixed-fluid\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: top\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: above\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: $:/config/shortcuts-not-mac/highlight,$:/config/shortcuts-not-mac/permaview,$:/config/shortcuts/add-field,$:/config/shortcuts/advanced-search-sidebar,$:/config/shortcuts/cancel-edit-tiddler,$:/config/shortcuts/close-focused,$:/config/shortcuts/edit-focused,$:/config/shortcuts/focus-search,$:/config/shortcuts/focus-topbar-search,$:/config/shortcuts/indent,$:/config/shortcuts/navigate-home,$:/config/shortcuts/navigate-next,$:/config/shortcuts/navigate-previous,$:/config/shortcuts/new-tiddler,$:/config/shortcuts/permaview,$:/config/shortcuts/save-tiddler,$:/config/shortcuts/save-wiki,$:/config/shortcuts/stamp,$:/config/shortcuts/streams-delete,$:/config/shortcuts/streams-indent,$:/config/shortcuts/streams-promote,$:/config/shortcuts/streams-save-and-continue,$:/config/shortcuts/streams-save-multiple,$:/config/shortcuts/streams-unindent,$:/config/shortcuts/strikethrough,$:/config/shortcuts/toggle-sidebar 1,$:/config/shortcuts/toggle-topbar\\nDisabled plugins: $:/plugins/admls/repopup,$:/plugins/benwebber/crosslinks,$:/plugins/danielo515/encryptTiddler,$:/plugins/Gk0Wk/codemirror-mode-tiddlywiki5,$:/plugins/kookma/favorites,$:/plugins/scribs/nav,$:/plugins/sk/BalanceCheck,$:/plugins/snowgoon88/edit-comptext,$:/plugins/tobibeer/preview\\nPlugins: \\n  $:/core - 5.3.2\\n  $:/plugins/anstosa/tw5-markdown - 1.1.4\\n  $:/plugins/danielo/packPlugin - 0.0.1\\n  $:/plugins/danielo515/ContextPlugin - 2.1.0\\n  $:/plugins/EvidentlyCube/AdvancedPerformance - 1.1.6\\n  $:/plugins/EvidentlyCube/AutoComplete - 1.0.17\\n  $:/plugins/felixhayashi/hotzone - 0.0.3\\n  $:/plugins/felixhayashi/topstoryview - 0.2.0\\n  $:/plugins/felixhayashi/vis - \\n  $:/plugins/flibbles/relink - 2.1.4\\n  $:/plugins/flibbles/relink-titles - 2.0.0\\n  $:/plugins/giffmex/subsume - 1.0.2\\n  $:/plugins/Gk0Wk/CPL-Repo - 2022.12.28\\n  $:/plugins/Gk0Wk/drawio - 0.0.4\\n  $:/plugins/Gk0Wk/echarts - 0.2.12\\n  $:/plugins/Gk0Wk/echarts-stat - 1.2.0\\n  $:/plugins/kiasu/RandomTiddlerButton - 1.0\\n  $:/plugins/kixam/datepicker - 0.5.2\\n  $:/plugins/kixam/moment - 2.24.0\\n  $:/plugins/kookma/commander - 2.1.6\\n  $:/plugins/sq/editor-autolist - 0.1.10\\n  $:/plugins/sq/streams - 1.2.24\\n  $:/plugins/tiddlywiki/codemirror - 5.3.2\\n  $:/plugins/tiddlywiki/codemirror-closebrackets - 5.3.2\\n  $:/plugins/tiddlywiki/codemirror-closetag - 5.3.2\\n  $:/plugins/tiddlywiki/codemirror-fullscreen - 5.3.2\\n  $:/plugins/tiddlywiki/codemirror-mode-css - 5.3.2\\n  $:/plugins/tiddlywiki/codemirror-mode-htmlembedded - 5.3.2\\n  $:/plugins/tiddlywiki/codemirror-mode-htmlmixed - 5.3.2\\n  $:/plugins/tiddlywiki/codemirror-mode-javascript - 5.3.2\\n  $:/plugins/tiddlywiki/codemirror-mode-markdown - 5.3.2\\n  $:/plugins/tiddlywiki/codemirror-mode-xml - 5.3.2\\n  $:/plugins/tiddlywiki/codemirror-search-replace - 5.3.2\\n  $:/plugins/tiddlywiki/internals - 5.3.2\\n  $:/plugins/tiddlywiki/railroad - 5.3.2\\n  $:/plugins/tobibeer/appear - 0.6.2\\n  $:/plugins/tobibeer/random - 0.1.0\\n  $:/plugins/TWaddle/HackSearch - 0.0.11\\n  $:/plugins/TWaddle/RecentSys - 0.0.3\\n  $:/plugins/wikilabs/edit-tabs - 3.0.0\\n  $:/plugins/wikilabs/trigger - 0.2.0\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.2\\n  $:/themes/tiddlywiki/vanilla - 5.3.2\\n</code></pre></details>\",\n        \"tw-customisations\": \"Custom HTML+CSS for topbars and menus involving edits made to shadows like the page template.\\nMany custom procedures/macros for creating dynamic buttons, links, summary / \\\"todo list\\\" tables, webpage embeds, calculators, trackers.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"community involvement and feedback being strongly considered in decision making, and ongoing commitments to backwards compatibility including with select high-value third party plugins.\\nI am excited for future improvements to UI and logic (filter operators, etc - not AI-driven) that will enable more powerful data management.\",\n        \"project-weaknesses\": \"Due to its self-contained status, I am confident that if TW were to \\\"die\\\" I would still be using it for a long time.\\nThe main concern for the future is the dependence on one person to evaluate and finalize updates, but this is limited by the community contributions.\\nMy relationship with TW and its community would change if use of the platform became dependent on AI or paid features. Although I am not anti-AI I do not want it to be integrated into core platform features.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00054\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00055.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Talk TiddlyWiki\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2008\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2014\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I read and post in this community\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I read/lurk, but do not post\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Narrative fiction writing (either supporting its creation or directly writing in TiddlyWiki)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"Yes, with multiple editors/administrators\",\n        \"publish-to-web\": \"Yes, using a single-file wiki;Yes, served through Node.js\",\n        \"publish-to-intranet\": \"Yes, served through Node.js\",\n        \"value-of-tw\": \"Every new idea for using it can be tested immediately (even offline), which allows me to improve my practical skills and understanding of the tool. This is a pleasure that goes beyond simply solving my problem.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism);Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver);Multi-file wiki served through Node.js\",\n        \"backup-method\": \"Git forge (GitHub, Gitea/Forgejo, GitLab);Web or cloud hosting (other than TiddlyHost/TiddlySpot e.g. Netlify, AWS, OVH, Google Cloud...);WebDAV\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"Here is a typical configuration. Most of my wikis are served with http or webdav on my Android phone (https://localhost:9999 for instance), which allows me to share some of them with desktop computers in my local network).\\n<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.7\\nCurrent palette: $:/palettes/FlexokiLight\\nCurrent theme: \\nCurrent layout: \\nBrowser language setting: fr\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: above\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: $:/config/shortcuts-mac/input-accept\\nDisabled plugins: $:/plugins/flibbles/relink,$:/plugins/flibbles/relink-titles,$:/plugins/sq/node-files-PUT-support,$:/plugins/tiddlywiki/qrcode,$:/plugins/tiddlywiki/share\\nPlugins: \\n  $:/core - 5.3.7\\n  $:/languages/fr-FR - 5.3.7\\n  $:/plugins/commons/file-uploads - 0.1.8\\n  $:/plugins/sq/file-uploads-PUT - 0.1.2\\n  $:/plugins/sycom/leaflet - 0.8.6\\n  $:/plugins/tiddlywiki/browser-storage - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror - 5.3.7\\n  $:/plugins/tiddlywiki/filesystem - 5.3.7\\n  $:/plugins/tiddlywiki/geospatial - 5.3.7\\n  $:/plugins/tiddlywiki/highlight - 5.3.7\\n  $:/plugins/tiddlywiki/internals - 5.3.7\\n  $:/plugins/tiddlywiki/tiddlyweb - 5.3.7\\n  $:/plugins/yaisog/debug-log-filter - 0.9.1\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.7\\n  $:/themes/tiddlywiki/vanilla - 5.3.7\\n</code></pre></details>\",\n        \"tw-customisations\": \"Yes, any of the things mentionned above but JavaScript.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"Beyond its unusual community and its OSS nature, I love how TW leverages browser maintenance by giants like Apple, Google, etc: a huge advantage over standalone applications.\\n\\nThe two new features that I am most excited about are:\\n- True multi-users ; \\n- Two-ways syncronisation\\nIn other words: MWS ;-) The fact that tiddlers get stored in an sqlite file brings an additional advantage of being easily modified by third party softwares, thus making full use of the two-ways sync.\",\n        \"project-weaknesses\": \"If we bend over backwards trying to please imaginary people who see TW as a no-effort service, I might just stop following TW's development and prefer to stick with an older, stable version indefinitely. Such people either don't exist, or they already have the tool they need (MS or Google Office).\\n\\nAlso what's missing from TW's documentation is a CSS tutorial. People often overlook that basic CSS skills are a prerequisite for creating appealing interfaces.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00055\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00056.tid",
    "content": "are-you-a-dev: Yes, I would\nbackup-method: DIY (any other solution)\ndiy-backup-info: primarily file backups on external drives along with other backups\nfirst-heard-survey: Discord\nfirst-used-tw: 2025\njoined-tw-community: No\nmain-use-cases: Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Other\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: personal organization. I have ADHD, always have a hundred projects going at once, and need a lot of help remembering and prioritizing\npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: I am new to tiddlywiki so I can't help much here but I deeply appreciate open source projects and the way it helps me\nproject-weaknesses: I am new to tiddlywiki so I can't help much here, but I am disabled and would struggle to pay or subscribe to use the service. I also care a lot about privacy and would leave if I suspected my data could be compromised.\npublish-to-intranet: \npublish-to-web: \npublished-plugin: No\nsave-method: Single-file wiki with TiddlyDesktop\nshare-wikis: No, my TiddlyWiki is for personal use only\nstarted-tw-community: \ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00056\ntw-ability-level: My use is basic; I use TiddlyWiki in a configuration close to standard, without plugins\ntw-customisations: not yet, but I will be exploring these customizations in the future\ntw-future-confidence: Yes\nuse-discord: \nuse-for-work-or-study: Not applicable (as retired, etc)\nuse-github-discuss: \nuse-mailing-list: \nuse-reddit: \nuse-ttw: \nvalue-of-tw: tiddlywiki helps me track and organize all the facets of my life - what I'm cooking, what I'm crafting, friends I want to stay in touch with, things I want to learn, goals I want to work on...\nwiki-setup-info: prefer not to answer"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00057.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Discord\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2021\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"N/A - Still experimenting/no set use case for TiddlyWiki\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"No\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"Every few months I check back in with new TiddlyWiki developments (usually on the forum) and look at what awesome use cases people have found. TiddlyWiki is the Personal Knowledge Management software I'd like to use but not the one I currently use.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\",\n        \"backup-method\": \"DIY (any other solution)\",\n        \"diy-backup-info\": \"I've used Tailscale to expose the TiddlyPWA server to my other devices running Tailscale.\",\n        \"wiki-setup-info\": \"\",\n        \"tw-customisations\": \"\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"No\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"I find that TiddlyWiki really nailed the customization and adapt the software to the user aspects along with a great model for thinking about information as atoms or discrete units that optionally build up into bigger ideas/thoughts/content or what have you. I'm pretty sure I can wrangle any type of content as long as it runs in the browser into TiddlyWiki.\\n\\nAlso the community is really kind and supportive, the leadership actively engages with it and listens to feedback which is amazing.\",\n        \"project-weaknesses\": \"I could never settle into TiddlyWiki proper because while it can wrangle all types of content it still is pretty hard to insert that content in the first place and manage it. For example I can't use external tools to easily insert new tiddlers or slurp/ingest data from an API to then pull or push automagically into TW, in that regard I feel like I'm fighting the system. Because of that I find myself almost always returning to Emacs and org-mode due to easy and customizable capturing.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00057\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00058.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Reddit\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2025\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"I have just started to use TiddlyWiki as my main note taking solution.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Multi-file wiki served through Node.js\",\n        \"backup-method\": \"Web or cloud hosting (other than TiddlyHost/TiddlySpot e.g. Netlify, AWS, OVH, Google Cloud...)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/palettes/Twilight\\nCurrent theme: $:/themes/tiddlywiki/snowwhite\\nCurrent layout: $:/core/ui/PageTemplate\\nBrowser language setting: en\\nDefault type for missing tiddlers: \\nAuto save setting: no\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: top\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-rounded\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: above\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: $:/config/shortcuts/sidebar-search\\nDisabled plugins: $:/plugins/felixhayashi/hotzone,$:/plugins/felixhayashi/topstoryview\\nPlugins: \\n  $:/core - 5.3.6\\n  $:/plugins/EvidentlyCube/AutoComplete - 1.0.20\\n  $:/plugins/felixhayashi/tiddlymap - 0.17.20+10024\\n  $:/plugins/flibbles/relink - 2.5.1\\n  $:/plugins/flibbles/relink-fieldnames - 2.5.0\\n  $:/plugins/flibbles/relink-markdown - 2.5.1\\n  $:/plugins/flibbles/relink-titles - 2.4.0\\n  $:/plugins/flibbles/relink-variables - 2.5.0\\n  $:/plugins/flibbles/vis-network - 0.0.1\\n  $:/plugins/ihm/tidgraph - 0.9.6\\n  $:/plugins/mklauber/shuffle - 1.0.2\\n  $:/plugins/sobjornstad/3click2edit - 0.1\\n  $:/plugins/sobjornstad/TiddlyRemember - 1.4.0\\n  $:/plugins/tiddlywiki/codemirror - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-autocomplete - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-closebrackets - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-closetag - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-keymap-sublime-text - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-keymap-vim - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-mode-css - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-mode-htmlmixed - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-mode-javascript - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-mode-markdown - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-search-replace - 5.3.6\\n  $:/plugins/tiddlywiki/filesystem - 5.3.6\\n  $:/plugins/tiddlywiki/highlight - 5.3.6\\n  $:/plugins/tiddlywiki/katex - 5.3.6\\n  $:/plugins/tiddlywiki/markdown - 5.3.6\\n  $:/plugins/tiddlywiki/tiddlyweb - 5.3.6\\n  $:/plugins/tobibeer/appear - 0.6.2\\n  $:/plugins/tobibeer/preview - 0.5.6\\n  $:/temp/info-plugin - \\n  $:/themes/odin/zacht - 0.1\\n  $:/themes/tiddlywiki/heavier - 5.3.6\\n  $:/themes/tiddlywiki/snowwhite - 5.3.6\\n  $:/themes/tiddlywiki/vanilla - 5.3.6\\n</code></pre></details>\",\n        \"tw-customisations\": \"\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"I am only a few days into using TiddlyWiki so I don't think I can provide any valuable feedback yet, but I love that this is such an open and community driven project.\",\n        \"project-weaknesses\": \"I don't have a solid answer for that yet.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00058\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00059.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Discord\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2024\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Worldbuilding (e.g. for role-playing games);Narrative fiction writing (either supporting its creation or directly writing in TiddlyWiki)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"No\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"It helps me organize information for individual characters, abilities, ideas, places and other story related stuff. Programs such as Obsidian or Logseq were not really my thing, TiddlyWiki on the other hand helped me customize and organize things in an easier, more readable way.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\",\n        \"backup-method\": \"Consumer online storage (e.g. Google Drive, Dropbox)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"\",\n        \"tw-customisations\": \"\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"The project itself is simple but high quality, is very open (source on Github + local html files)\\nCommunity seems very nice and interactive too!\",\n        \"project-weaknesses\": \"Unless I get convinced that there's something else that does what I want in a better way, I don't think so\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00059\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00060.tid",
    "content": "are-you-a-dev: Yes, I would\nbackup-method: Consumer online storage (e.g. Google Drive, Dropbox)\ndiy-backup-info: \nfirst-heard-survey: Hacker News\nfirst-used-tw: 2022\njoined-tw-community: No\nmain-use-cases: Note-taking;Journalling;As a knowledge base (including technical, non-fiction and encyclopaedic content)\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: \npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: Not adding too much, making sure what is added works properly,\nproject-weaknesses: Better keyboard-based navigation would be nice.  I also use simplenote and would actually prefer to do everything in TiddlyWiki but it currently easier to navigate solely by keyboard in SImpleNote.  To-Dos could improve without much complication as could calendar-based events.\npublish-to-intranet: \npublish-to-web: \npublished-plugin: No\nsave-method: Single-file wiki through web browser with Download Saver (default saving mechanism)\nshare-wikis: No, my TiddlyWiki is for personal use only\nstarted-tw-community: \ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00060\ntw-ability-level: I have customised TiddlyWiki through options and plugins\ntw-customisations: \ntw-future-confidence: Yes\nuse-discord: \nuse-for-work-or-study: No\nuse-github-discuss: \nuse-mailing-list: \nuse-reddit: \nuse-ttw: \nvalue-of-tw: Simple note-taker, cross-platform, easy to use, no bloat.\nwiki-setup-info: "
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00061.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Talk TiddlyWiki\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2004\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2004\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I read and post in this community\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I read/lurk, but do not post\",\n        \"use-github-discuss\": \"I read/lurk, but do not post\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;As a knowledge base (including technical, non-fiction and encyclopaedic content);Worldbuilding (e.g. for role-playing games);Programming\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"Yes, with multiple editors/administrators\",\n        \"publish-to-web\": \"Yes, served through Node.js\",\n        \"publish-to-intranet\": \"Yes, served through Node.js\",\n        \"value-of-tw\": \"Develop SAP/legacy systems work instructions and task sheets for specific job classifications.\\nUsed to document and maintain status from daily production control briefings  \\n\\nKnowledge base for gaming\\nMaintain data driven performance metrics for guild.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism);Multi-file wiki served through Node.js\",\n        \"backup-method\": \"TiddlySpot / TiddlyHost;Git forge (GitHub, Gitea/Forgejo, GitLab)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/palettes/GithubDark\\nCurrent theme: $:/themes/jd/Mono\\nCurrent layout: \\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: no\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: above\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: $:/themes/jd/Whitespace\\nPlugins: \\n  $:/core - 5.3.6\\n  $:/plugins/Gk0Wk/echarts - 0.0.9\\n  $:/plugins/kookma/shiraz - 2.7.2\\n  $:/plugins/tiddlywiki/filesystem - 5.3.6\\n  $:/plugins/tiddlywiki/highlight - 5.3.6\\n  $:/plugins/tiddlywiki/tiddlyweb - 5.3.6\\n  $:/temp/info-plugin - \\n  $:/themes/jd/Mono - 1.0.32\\n  $:/themes/tiddlywiki/snowwhite - 5.3.6\\n  $:/themes/tiddlywiki/vanilla - 5.3.6\\n</code></pre></details>\\n\\n<$count filter=\\\"[all[tiddlers+shadows]]\\\"/> = 21119\",\n        \"tw-customisations\": \"Mostly stylesheets and a few specific macros/procedures to meet a need.   Most are developed from tiddlytalk discussions or direct answers to my inquiries.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"Consistency of TW over the years.\\nThe tiddlytalk community\\nPlugin developers\\ntiddlyhost supporter, although my usage has waned since moving to my own server\\nExcited for the future server versions in work\",\n        \"project-weaknesses\": \"I used TW for 20 years during my work life, and the portability of a single file wiki was key.  Moving away from a single file would have ended my use.  Although in my retired life and changing technology, I have embraced the nodeJS version.\\n\\nPut the name issue to rest. Hell I like Tiddlywiki or TWx.  To much discussion continues and distracts.\\n\\nLearning JS I guess would lead me to contriubute more, but I am a python hack.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00061\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00062.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Reddit\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2016\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2023\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I do not engage with this community\",\n        \"use-reddit\": \"I read and post in this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;As a knowledge base (including technical, non-fiction and encyclopaedic content);Worldbuilding (e.g. for role-playing games);Narrative fiction writing (either supporting its creation or directly writing in TiddlyWiki)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"It's a very good information hub for all my projects, be it personal or professional.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\",\n        \"backup-method\": \"Web or cloud hosting (other than TiddlyHost/TiddlySpot e.g. Netlify, AWS, OVH, Google Cloud...)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: \\nCurrent layout: \\nBrowser language setting: de\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fixed-fluid\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: $:/ak/plugins/TWCrossLinks\\nPlugins: \\n  $:/core - 5.3.6\\n  $:/languages/de-AT - 5.3.6\\n  $:/languages/de-DE - 5.3.6\\n  $:/plugins/bj/tiddlyclip - 02.0.01\\n  $:/plugins/Gk0Wk/echarts - 0.2.13\\n  $:/plugins/oeyoews/echarts-addons - 0.0.3\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.6\\n  $:/themes/tiddlywiki/vanilla - 5.3.6\\n</code></pre></details>\",\n        \"tw-customisations\": \"\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"The TW community is very fast to react when a question is posted.\",\n        \"project-weaknesses\": \"I feel like TW is \\\"losing\\\" to Obsidian, but I'm not sure what can be done about it. Perhaps an easier way to share TWs with others?\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00062\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00063.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2018\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Task and project management (including CRMs);Worldbuilding (e.g. for role-playing games)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"Open format and multi platform notebook that can hold links, metadata, media, etc.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable writing filter expressions\",\n        \"save-method\": \"Multi-file wiki served through Node.js\",\n        \"backup-method\": \"Web or cloud hosting (other than TiddlyHost/TiddlySpot e.g. Netlify, AWS, OVH, Google Cloud...);DIY (any other solution)\",\n        \"diy-backup-info\": \"Syncthing between my computers and phone with a backup to Dropbox\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/palettes/CupertinoDark\\nCurrent theme: $:/themes/tiddlywiki/vanilla\\nCurrent layout: \\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: permaview\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: $:/config/shortcuts/cancel-edit-tiddler,$:/config/shortcuts/input-cancel\\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.6\\n  $:/plugins/kookma/commander - 2.1.13\\n  $:/plugins/kookma/refnotes - 1.9.0\\n  $:/plugins/kookma/shiraz - 2.9.7\\n  $:/plugins/kookma/shiraz-formatter - 0.6.0\\n  $:/plugins/kookma/utility - 3.2.2\\n  $:/plugins/tiddlywiki/async - 5.3.6\\n  $:/plugins/tiddlywiki/browser-sniff - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-autocomplete - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-closebrackets - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-closetag - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-keymap-vim - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-mode-css - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-mode-htmlembedded - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-mode-htmlmixed - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-mode-javascript - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-mode-markdown - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-mode-x-tiddlywiki - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-mode-xml - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-search-replace - 5.3.6\\n  $:/plugins/tiddlywiki/dynaview - 5.3.6\\n  $:/plugins/tiddlywiki/filesystem - 5.3.6\\n  $:/plugins/tiddlywiki/hammerjs - 5.3.6\\n  $:/plugins/tiddlywiki/highlight - 5.3.6\\n  $:/plugins/tiddlywiki/jszip - 5.3.6\\n  $:/plugins/tiddlywiki/katex - 5.3.6\\n  $:/plugins/tiddlywiki/markdown - 5.3.6\\n  $:/plugins/tiddlywiki/sax - 5.3.6\\n  $:/plugins/tiddlywiki/text-slicer - 5.3.6\\n  $:/plugins/tiddlywiki/tiddlyweb - 5.3.6\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.6\\n  $:/themes/tiddlywiki/vanilla - 5.3.6\\n</code></pre></details>\",\n        \"tw-customisations\": \"Previously used the Material themes, but removed once the built-in dark theme was better usable.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"No\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"The open platform and wide range of community plugins. Especially important that I can use and access it on all of my devices including phone and separate computers.\\nAlso especially critical that it runs without an external server, so I could use it for internships where my work couldn''t be disseminated or stored in external systems.\",\n        \"project-weaknesses\": \"I could see leaving for something like Obsidian. The recent surge in markdown note-taking and knowledge management systems is tempting, but I mostly stick to Tiddlywiki for familiarity and the setup I've already curated.\\nIt does seem like TW has the possibility of getting stalled in development, particularly with one main developer.\\nI think TW could use some improvements in loading performance, particularly with the NodeJS version which seems like it could be better optimized.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00063\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00064.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2009\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2022\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I do not engage with this community\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"No\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"It is my second brain or Zettelkasten containing my journals, daily activities, book notes, links, thoughts, status of personal projects, and other things I want to keep.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable writing filter expressions;I have written custom JavaScript\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\",\n        \"backup-method\": \"DIY (any other solution)\",\n        \"diy-backup-info\": \"I use the Firefox timimi backup system on my desktop/laptop computers and the Quine 2 app backup system on my iPhone.\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.7\\nCurrent palette: $:/palettes/Twilight\\nCurrent theme: $:/themes/tiddlywiki/snowwhite\\nCurrent layout: $:/core/ui/PageTemplate\\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: no\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: top\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: $:/config/shortcuts/columns-down,$:/config/shortcuts/columns-up\\nDisabled plugins: $:/plugins/birthe/suitcase,$:/plugins/BTC/Muuri,$:/plugins/BTC/Muuri-Kanban,$:/plugins/BTC/PrintRiver,$:/plugins/jd/mob,$:/plugins/tesseract/Moments,$:/plugins/tiddlywiki/evernote,$:/plugins/tiddlywiki/menubar,$:/plugins/tiddlywiki/powered-by-tiddlywiki,$:/plugins/TWaddle/SideEditor\\nPlugins: \\n  $:/core - 5.3.7\\n  $:/languages/en-US - 5.3.7\\n  $:/plugins/ahahn/tinka - 0.5.0\\n  $:/plugins/bj/Calendar - 1.11.0\\n  $:/plugins/danielo515/encryptTiddler - 2.3\\n  $:/plugins/flibbles/relink - 2.5.1\\n  $:/plugins/flibbles/relink-markdown - 2.5.1\\n  $:/plugins/flibbles/relink-titles - 2.4.0\\n  $:/plugins/kixam/datepicker - 0.5.2\\n  $:/plugins/kixam/moment - 2.24.0\\n  $:/plugins/mrmattson/gtd - 0.0.9\\n  $:/plugins/mrmattson/personalnotebook - 0.3.4\\n  $:/plugins/mrmattson/spreadsheettable - 0.1.1\\n  $:/plugins/OokTech/WordCount - 0.0.6\\n  $:/plugins/orange/mermaid-tw5 - 0.3.7.1\\n  $:/plugins/sukima/reveal-js - 1.1.1\\n  $:/plugins/TheDiveO/FontAwesome - 1.2.22\\n  $:/plugins/TheDiveO/TwFusejs - 0.9.3\\n  $:/plugins/tiddlywiki/codemirror - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-autocomplete - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-closebrackets - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-closetag - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-keymap-vim - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-mode-css - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-mode-htmlembedded - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-mode-htmlmixed - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-mode-javascript - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-mode-markdown - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-mode-xml - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-search-replace - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-trailingspace - 5.3.7\\n  $:/plugins/tiddlywiki/external-attachments - 5.3.7\\n  $:/plugins/tiddlywiki/highlight - 5.3.7\\n  $:/plugins/tiddlywiki/internals - 5.3.7\\n  $:/plugins/tiddlywiki/markdown - 5.3.7\\n  $:/plugins/tiddlywiki/qrcode - 5.3.7\\n  $:/plugins/wikilabs/link-to-tabs - 3.0.1\\n  $:/temp/info-plugin - \\n  $:/themes/jd/Mono - 1.0.32\\n  $:/themes/tiddlywiki/snowwhite - 5.3.7\\n  $:/themes/tiddlywiki/starlight - 5.3.7\\n  $:/themes/tiddlywiki/vanilla - 5.3.7\\n</code></pre></details>\",\n        \"tw-customisations\": \"I've made many customizations from macros/functions/procedures to JavaScript modules. I package up most of my edits in a \\\"personalnotebook\\\" plugin for personal use that has all of my preferred configuration settings, templates, and functionality.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"I think there is a great culture of keeping the core \\\"dependency free\\\" and \\\"simple\\\". These seem relative to me, so I'll explain how one outsider (non-TW developer) sees it. There is a good tendency to slow adding new features to ensure cruft doesn't build in the core, everything else is for plugins. Dependency-free because many JavaScript libraries could be added that would do many of the things--writing custom JavaScript for TW means only what is needed gets written. This in-turn drives simple.\",\n        \"project-weaknesses\": \"I'm excited for the next major version of TW. So much as changed since 5.x.x was started--JavaScript and browser technology has gone through several generations. Thus, the next major version is a chance to choose best practices as the way forward, deprecate and remove previous ways of doing things, and driving opinionated ways of customization to people who aren't in the weeds of the code regularly. It's great to have many ways of doing things, but also it can cause confusion and abandonment.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00064\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00065.tid",
    "content": "are-you-a-dev: Yes, I would\nbackup-method: Web or cloud hosting (other than TiddlyHost/TiddlySpot e.g. Netlify, AWS, OVH, Google Cloud...);DIY (any other solution)\ndiy-backup-info: I periodically sync my tiddlers to an encryted s3 bucket.\nfirst-heard-survey: Talk TiddlyWiki\nfirst-used-tw: 2019\njoined-tw-community: Yes\nmain-use-cases: Note-taking;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: \npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: I love the userbase - My questions are always answere\nproject-weaknesses: I would love a way to host the wiki in a serverless cloud (lambda) method.   I see that others have done it in the past, but I am not knowledgeable enough to get it working.\npublish-to-intranet: \npublish-to-web: \npublished-plugin: No\nsave-method: Multi-file wiki served through Node.js\nshare-wikis: No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\nstarted-tw-community: 2021\ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00065\ntw-ability-level: I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...)\ntw-customisations: \ntw-future-confidence: Yes\nuse-discord: I read/lurk, but do not post\nuse-for-work-or-study: Yes\nuse-github-discuss: I read/lurk, but do not post\nuse-mailing-list: I do not engage with this community\nuse-reddit: I do not engage with this community\nuse-ttw: I read/lurk, but do not post\nvalue-of-tw: TW's flexible format makes it ideal for me - keeping all my non linear notes easisly accessible when I need it.\nwiki-setup-info: "
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00066.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Official newsletter\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2024\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"Structured notetaking in replacement of Microsoft OneNote.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism)\",\n        \"backup-method\": \"No automatic sync across my devices\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.7\\nCurrent palette: $:/palettes/Twilight\\nCurrent theme: \\nCurrent layout: $:/core/ui/PageTemplate\\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.7\\n  $:/plugins/jd/plainrevs - 0.0.30\\n  $:/plugins/tiddlywiki/markdown - 5.3.7\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.7\\n  $:/themes/tiddlywiki/vanilla - 5.3.7\\n</code></pre></details>\",\n        \"tw-customisations\": \"\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"I really appreciate the dedication to local first, privately usable software and longterm usability.\",\n        \"project-weaknesses\": \"I would appreciate the availability of more \\\"cookbook\\\" style tutorials that show how to use TW's structure to make useful applications.  The reading list example that grokTW constructed would be an excellent use case.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00066\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00067.tid",
    "content": "are-you-a-dev: No, I would not\nbackup-method: Consumer online storage (e.g. Google Drive, Dropbox);DIY (any other solution)\ndiy-backup-info: keep copies in pen drive/or dropbox / or online storage\nfirst-heard-survey: Other\nfirst-used-tw: 2015\njoined-tw-community: No\nmain-use-cases: Note-taking;Journalling;As a knowledge base (including technical, non-fiction and encyclopaedic content);Other\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: classic tiddlywiki\nother-use-cases: static html pages- For eg., collection of youtube videos\npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: it is excellent already.! Learning about customizations, plugins, style sheets, or theme tweaking is not easy-many small videos required, and a forum for help\nproject-weaknesses: no i wil not leave tiddlywiki, been 10 years with it. though would love to have better android usable app for it\npublish-to-intranet: \npublish-to-web: \npublished-plugin: No\nsave-method: Single-file wiki through web browser with Download Saver (default saving mechanism)\nshare-wikis: No, my TiddlyWiki is for personal use only\nstarted-tw-community: \ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00067\ntw-ability-level: My use is basic; I use TiddlyWiki in a configuration close to standard, without plugins\ntw-customisations: \ntw-future-confidence: Yes\nuse-discord: \nuse-for-work-or-study: No\nuse-github-discuss: \nuse-mailing-list: \nuse-reddit: \nuse-ttw: \nvalue-of-tw: one of the most amazing pieces of swiss-knife multiple use softwares ever. Would like to use it like a local blog too, with grid settings, and with tags /categories lie wordpress, and some easier theming options or templates\nwiki-setup-info: "
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00068.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Official newsletter\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2014\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2016\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I do not engage with this community\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I read and post in this community\",\n        \"published-plugin\": \"Yes\",\n        \"main-use-cases\": \"Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Not applicable (as retired, etc)\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Yes, using a single-file wiki\",\n        \"publish-to-intranet\": \"Not publishing to this location\",\n        \"value-of-tw\": \"I use it a lot as a personal notebook : journal, task magmt, aide-memoire, project logging ... And occasionally as a convenient way to publish some content, for example my personal webpage or some project documentation. Overall, TW has a huge value for organizing my content.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\",\n        \"backup-method\": \"Consumer online storage (e.g. Google Drive, Dropbox);Web or cloud hosting (other than TiddlyHost/TiddlySpot e.g. Netlify, AWS, OVH, Google Cloud...)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.1\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: \\nCurrent layout: \\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fixed-fluid\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.1\\n  $:/plugins/flibbles/relink - 1.5.3\\n  $:/plugins/nico/projectify - 0.16.1\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.1\\n  $:/themes/tiddlywiki/vanilla - 5.3.1\\n</code></pre></details>\",\n        \"tw-customisations\": \"depends which wiki\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"I don't have time to read all the messages but I try to read important announcements, and as far as I can tell there has always been a friendly and cooperating tone to the discussions, and I assume the decisions made for TW. I think this is essential to both a good direction for TW and a reliable community of users.\",\n        \"project-weaknesses\": \"I'm a bit lost in all the channels, and I feel that I don't really follow TW news as much as I would like (but honestly this is mostly on me!).\\n\\nI often feel a bit shy when I ask a question on TW Talk, because I don't know if it's the right place to ask, I don't always know how to search, etc. Again, probably just me ;)\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00068\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00069.tid",
    "content": "are-you-a-dev: Yes, I would\nbackup-method: Neocities, Nekoweb, tiiny.host, omg.lol and similar services;DIY (any other solution)\ndiy-backup-info: I use syncthing to sync folders... i store a single file wiki locally and sync across devices.\nfirst-heard-survey: Discord\nfirst-used-tw: 2019\njoined-tw-community: No\nmain-use-cases: Note-taking;Task and project management (including CRMs);Producing/publishing interactive fiction;Worldbuilding (e.g. for role-playing games);Narrative fiction writing (either supporting its creation or directly writing in TiddlyWiki)\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: \npositive-about-future: No\nproject-decision-trust: Yes\nproject-strengths: The self-editing page stuff is good. The flexibility can be daunting but is ultimately good. The wiki format is very useful. The ability to control how and how many tiddlers are displayed is cool. Being plugin-friendly is very useful. The fact that it’s free, the fact that it’s import/export friendly for the most part... The drag and drop features are cool.\nproject-weaknesses: I’m currently phasing out of tw into just a folder full of sloppy mishmashed files, not because I want to, but because my story is humongous and my wiki is lagging so hard that I’ve lost important writing while editing directly in it. I first moved from google docs to TW for the same reason... googdocs crashed after chapter 13ish, tw crashes after about chapter 50. I’m sad my use case isn’t a neat fit for tw. I looked so hard to find a tool and tw was it. Im out of options. I have to diy it now.\npublish-to-intranet: \npublish-to-web: \npublished-plugin: No\nsave-method: Single-file wiki through web browser with Download Saver (default saving mechanism);Single-file wiki with TiddlyDesktop;Single-file wiki third-party mobile app (e.g. Tiddloid, Quine)\nshare-wikis: No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\nstarted-tw-community: \ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00069\ntw-ability-level: I have customised TiddlyWiki through options and plugins;I have written custom CSS styles\ntw-customisations: I sometimes poke around but I can’t remember any specific changes.\ntw-future-confidence: No\nuse-discord: \nuse-for-work-or-study: Not applicable (as retired, etc)\nuse-github-discuss: \nuse-mailing-list: \nuse-reddit: \nuse-ttw: \nvalue-of-tw: It has been a limited but useful resource for organizing and writing my fiction and worldbuilding. Being able to search and sort by tags has been especially useful, as well as being able to write in and display html and markdown pages with custom css. Color coded tags, too.\nwiki-setup-info: "
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00070.tid",
    "content": "are-you-a-dev: No, I would not\nbackup-method: N/A - I keep my wiki on a single system\ndiy-backup-info: \nfirst-heard-survey: Official newsletter\nfirst-used-tw: 2018\njoined-tw-community: No\nmain-use-cases: As a knowledge base (including technical, non-fiction and encyclopaedic content)\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: \npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: Don't really know\nproject-weaknesses: Don't really know\npublish-to-intranet: \npublish-to-web: \npublished-plugin: No\nsave-method: Single-file wiki through web browser with Download Saver (default saving mechanism)\nshare-wikis: No, my TiddlyWiki is for personal use only\nstarted-tw-community: \ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00070\ntw-ability-level: My use is basic; I use TiddlyWiki in a configuration close to standard, without plugins\ntw-customisations: \ntw-future-confidence: Yes\nuse-discord: \nuse-for-work-or-study: Not applicable (as retired, etc)\nuse-github-discuss: \nuse-mailing-list: \nuse-reddit: \nuse-ttw: \nvalue-of-tw: Potentially useful tool (if I can overcome the learning barrier)\nwiki-setup-info: "
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00071.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Discord\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2013\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2014\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I read/lurk, but do not post\",\n        \"use-reddit\": \"I read/lurk, but do not post\",\n        \"use-discord\": \"I read/lurk, but do not post\",\n        \"use-github-discuss\": \"I read/lurk, but do not post\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Worldbuilding (e.g. for role-playing games);Other\",\n        \"other-use-cases\": \"Blog/journal for RPG group\",\n        \"use-for-work-or-study\": \"No\",\n        \"share-wikis\": \"Yes, with multiple editors/administrators\",\n        \"publish-to-web\": \"Yes, served through Node.js\",\n        \"publish-to-intranet\": \"Not publishing to this location\",\n        \"value-of-tw\": \"Easy note-taking and journalling as well as a structured representation of data/notes.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions\",\n        \"save-method\": \"Multi-file wiki served through Node.js\",\n        \"backup-method\": \"DIY (any other solution)\",\n        \"diy-backup-info\": \"Nightly backup of the docker container folder to another cloud-based storage solution (Hetzner storage box).\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: $:/themes/tiddlywiki/heavier\\nCurrent layout: $:/core/ui/PageTemplate\\nBrowser language setting: en-GB\\nDefault type for missing tiddlers: \\nAuto save setting: no\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fixed-fluid\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: permalink\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: $:/plugins/commons/file-uploads,$:/plugins/kookma/commander,$:/plugins/sq/file-uploads-PUT,$:/plugins/tiddlywiki/codemirror,$:/plugins/tiddlywiki/codemirror-autocomplete,$:/plugins/tiddlywiki/codemirror-mode-markdown\\nPlugins: \\n  $:/core - 5.3.6\\n  $:/languages/de-DE - 5.2.5\\n  $:/plugins/.mr/snr - 1.0.7\\n  $:/plugins/kookma/refnotes - 1.8.5\\n  $:/plugins/kookma/shiraz - 2.7.4\\n  $:/plugins/kookma/shiraz-callout - 0.6.0\\n  $:/plugins/kookma/shiraz-formatter - 0.5.1\\n  $:/plugins/kookma/timelines - 1.3.0\\n  $:/plugins/kookma/toc - 1.5.0\\n  $:/plugins/kookma/trashbin - 1.2.4\\n  $:/plugins/oeyoews/tiddlywiki-fancybox-ui - 5.0.11\\n  $:/plugins/snowgoon88/edit-comptext - 0.8.1\\n  $:/plugins/sq/node-files-PUT-support - 0.1.1\\n  $:/plugins/tesseract/CleverNote - 1.0.49\\n  $:/plugins/tesseract/Moments - 0.6.17\\n  $:/plugins/TheDiveO/FontAwesome - 1.2.21\\n  $:/plugins/tiddlywiki/comments - 5.2.5\\n  $:/plugins/tiddlywiki/filesystem - 5.3.6\\n  $:/plugins/tiddlywiki/highlight - 5.3.6\\n  $:/plugins/tiddlywiki/tiddlyweb - 5.3.6\\n  $:/temp/info-plugin - \\n  $:/themes/nico/notebook - 1.4.1\\n  $:/themes/telmiger/navigator - 0.2.1\\n  $:/themes/tiddlywiki/centralised - 5.2.5\\n  $:/themes/tiddlywiki/heavier - 5.2.5\\n  $:/themes/tiddlywiki/seamless - 5.2.5\\n  $:/themes/tiddlywiki/snowwhite - 5.3.6\\n  $:/themes/tiddlywiki/starlight - 5.2.5\\n  $:/themes/tiddlywiki/tight - 5.2.5\\n  $:/themes/tiddlywiki/tight-heavier - 5.2.5\\n  $:/themes/tiddlywiki/vanilla - 5.3.6\\n</code></pre></details>\",\n        \"tw-customisations\": \"Some customisations to the sidebar and some filtered lists to show only certain information on the main page.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"TW appears to be powerful & complex enough so that more clever people than me can write plug-ins and extensions but at the same time it is simple enough that I as a non-developer can use it and can even customise it rather easily.\",\n        \"project-weaknesses\": \"N/A.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00071\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00072.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Official newsletter\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2015\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2016\",\n        \"use-ttw\": \"I read/lurk, but do not post\",\n        \"use-mailing-list\": \"I do not engage with this community\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"Yes\",\n        \"main-use-cases\": \"Note-taking;As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Yes, using a single-file wiki\",\n        \"publish-to-intranet\": \"Not publishing to this location\",\n        \"value-of-tw\": \"An open source tool for writing, thinking and knowledge management. A CMS and an application development framework in a single web page. Store and run app and data for the public or keep it private. Perfect for lists with additional power from transclusion, filters and widgets.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles;I have written custom JavaScript\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\",\n        \"backup-method\": \"No automatic sync across my devices;N/A - I keep my wiki on a single system\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.2\\nCurrent palette: $:/palettes/Twilight\\nCurrent theme: \\nCurrent layout: \\nBrowser language setting: de\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.2\\n  $:/plugins/telmiger/Btx - 0.1.3\\n  $:/plugins/telmiger/EditButtons - 1.0.7\\n  $:/plugins/telmiger/EditorCounter - 0.6.6\\n  $:/plugins/telmiger/Lox - 0.0.1\\n  $:/plugins/telmiger/simple-search - 1.0.27\\n  $:/plugins/telmiger/Stx - 0.1.2\\n  $:/plugins/telmiger/Tix - 0.1.1\\n  $:/plugins/tgrosinger/tw5-checklist - 0.0.15\\n  $:/plugins/tiddlywiki/qrcode - 5.3.2\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.2\\n  $:/themes/tiddlywiki/vanilla - 5.3.2\\n</code></pre></details>\",\n        \"tw-customisations\": \"The design is highly customisable thanks to the telmiger/..x-plugins\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"The phantastic community shares themes, macros, plugins, ... and is very helpful in general.\",\n        \"project-weaknesses\": \"Leaving TW is no option for me, but I might be conservative regarding future updates that break compatibility with my plugins. My current setup works very well. \\nA new business model or sponsor might be needed to support a healthy way forward (for core devs at least).\\nI have contributed a lot to the project and the community for some time, now I contribute to other projects. \\nSome (returning) discussions in the community seem unproductive to me, for example the search for a new name.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00072\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00073.tid",
    "content": "are-you-a-dev: No, I would not\nbackup-method: No automatic sync across my devices\ndiy-backup-info: \nfirst-heard-survey: Talk TiddlyWiki\nfirst-used-tw: 2021\njoined-tw-community: Yes\nmain-use-cases: As a knowledge base (including technical, non-fiction and encyclopaedic content)\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: \npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: I appreciate the feedback of the community if I'm not able to fix an issue / filter or an idea.\nproject-weaknesses: Manny thanks to all - I'm happy to have this tool!\npublish-to-intranet: \npublish-to-web: \npublished-plugin: No\nsave-method: Single-file wiki with TiddlyDesktop\nshare-wikis: No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\nstarted-tw-community: 2021\ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00073\ntw-ability-level: I have customised TiddlyWiki through options and plugins;I have written custom CSS styles\ntw-customisations: Stylesheets\ntw-future-confidence: Yes\nuse-discord: I do not engage with this community\nuse-for-work-or-study: No\nuse-github-discuss: I do not engage with this community\nuse-mailing-list: I read and post in this community\nuse-reddit: I do not engage with this community\nuse-ttw: I read and post in this community\nvalue-of-tw: I'm happy to have a text based and so nice tool!\nwiki-setup-info: "
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00074.tid",
    "content": "are-you-a-dev: No, I would not\nbackup-method: DIY (any other solution);No automatic sync across my devices;N/A - I keep my wiki on a single system\ndiy-backup-info: FreeFileSync\nfirst-heard-survey: Discord\nfirst-used-tw: 2017\njoined-tw-community: No\nmain-use-cases: Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Worldbuilding (e.g. for role-playing games)\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: \npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: NA\nproject-weaknesses: NA\npublish-to-intranet: \npublish-to-web: \npublished-plugin: No\nsave-method: Single-file wiki with TiddlyDesktop\nshare-wikis: No, my TiddlyWiki is for personal use only\nstarted-tw-community: \ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00074\ntw-ability-level: I have customised TiddlyWiki through options and plugins\ntw-customisations: \ntw-future-confidence: Yes\nuse-discord: \nuse-for-work-or-study: No\nuse-github-discuss: \nuse-mailing-list: \nuse-reddit: \nuse-ttw: \nvalue-of-tw: NA\nwiki-setup-info: "
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00075.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Official newsletter\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2018\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"It is note taking on steroids and I can custom build my task management and create structures for semantic data.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Multi-file wiki served through Node.js;Single-file wiki with TiddlyDesktop\",\n        \"backup-method\": \"No automatic sync across my devices\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.5\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: \\nCurrent layout: \\nBrowser language setting: fr-FR\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: yes\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.5\\n  $:/plugins/adithyab/cmplus - 0.2.2\\n  $:/plugins/kookma/shiraz - 2.8.1\\n  $:/plugins/kookma/shiraz-callout - 0.6.0\\n  $:/plugins/kookma/shiraz-formatter - 0.5.2\\n  $:/plugins/kookma/utility - 2.6.1\\n  $:/plugins/TheDiveO/FontAwesome - 1.2.22\\n  $:/plugins/tiddlywiki/codemirror - 5.3.5\\n  $:/plugins/tiddlywiki/codemirror-closebrackets - 5.3.5\\n  $:/plugins/tiddlywiki/codemirror-closetag - 5.3.5\\n  $:/plugins/tiddlywiki/filesystem - 5.3.5\\n  $:/plugins/tiddlywiki/highlight - 5.3.5\\n  $:/plugins/tiddlywiki/tiddlyweb - 5.3.5\\n  $:/plugins/wikilabs/edit-tabs - 3.0.0\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.5\\n  $:/themes/tiddlywiki/vanilla - 5.3.5\\n</code></pre></details>\",\n        \"tw-customisations\": \"I built my own task management system with HTML, CSS and filters and the help of community solutions to common problems. I made some slight modifications to the core plugins, mainly for rendering purposes.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"The community is active and updates are fairly regular which helps to hold on to the learning curve and is a source of motivation.\",\n        \"project-weaknesses\": \"Right now I don't see myself leave TW as there is no self hosted or \\\"portable\\\" equivalent: I'm not admin on my work computer and there is no other way for me to optimise my personal productivity.\\nI'm afraid that TW developpment might stop before it reaches a \\\"perfect\\\" or \\\"close to perfect\\\" maturity.\\nUnfortunately I do not have enough time to get more involved in the community and have no great developper skills to do so.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00075\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00076.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Official newsletter\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2020\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Not applicable (as retired, etc)\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"I have multiple large Tiddlywikis that I use as a reference/knowledge base for my hobbies.  I use them everyday.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles;I have written custom JavaScript\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism)\",\n        \"backup-method\": \"N/A - I keep my wiki on a single system\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/palettes/CaptivateTan\\nCurrent theme: $:/themes/cdr/captivate\\nCurrent layout: $:/themes/cdr/captivate/ui/PageLayout\\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: yes\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: top\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: $:/plugins/Gk0Wk/sidebar-resizer,$:/plugins/sq/Stories\\nPlugins: \\n  $:/core - 5.3.6\\n  $:/plugins/cdr/colorlab - 0.2.0\\n  $:/plugins/danielo515/ContextPlugin - 2.1.0\\n  $:/plugins/flibbles/relink - 2.0.0\\n  $:/plugins/kiasu/RandomTiddlerButton - 1.0\\n  $:/plugins/kookma/shiraz - 2.7.5\\n  $:/plugins/snowgoon88/edit-comptext - 0.8.1\\n  $:/plugins/sq/editor-autolist - 0.1.10\\n  $:/plugins/tiddlywiki/highlight - 5.3.6\\n  $:/plugins/tobibeer/random - 0.1.0\\n  $:/plugins/wikilabs/link-to-tabs - 2.0.1\\n  $:/temp/info-plugin - \\n  $:/themes/cdr/captivate - 0.2.0\\n  $:/themes/tiddlywiki/snowwhite - 5.3.6\\n  $:/themes/tiddlywiki/vanilla - 5.3.6\\n</code></pre></details>\",\n        \"tw-customisations\": \"I have created many macros that are used throughout my wikis.  I also have a custom style sheet.  I have not modified anything in core.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"I really like the fact that my wiki is completely browser based and doesn't have to run in the cloud.  I am not worried about having to convert all my information because the developer \\\"went out of business\\\" or \\\"no longer supports the platform\\\".  I also like the fact that I have never had an issue when upgrading Tiddlywiki.\",\n        \"project-weaknesses\": \"I love Tiddlywiki and use it on a daily basis.  One of my wikis has a lot of images.  I would like to see better handling of external images such as an image gallery.  ODBC/JDBC connections to databases would also be nice as I have information in other DBs.  One of these DBs has 40K+ entries where I can do statistics on the data, which is not easy to do in Tiddlywiki.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00076\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00077.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Discord\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2023\",\n        \"use-ttw\": \"I read/lurk, but do not post\",\n        \"use-mailing-list\": \"I do not engage with this community\",\n        \"use-reddit\": \"I read/lurk, but do not post\",\n        \"use-discord\": \"I read and post in this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"As a knowledge base (including technical, non-fiction and encyclopaedic content);Worldbuilding (e.g. for role-playing games)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Not applicable (as retired, etc)\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"Easy way to manage collections of knowledge.\\nI have some for ttrpg games.\\nI have one for notes on Linux installations.\\nAnother for recipes.\\nEtc.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles;I have written custom JavaScript\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver);Single-file wiki with TiddlyDesktop;Single-file wiki with third-party desktop app (e.g. TidGi Desktop, twexe)\",\n        \"backup-method\": \"N/A - I keep my wiki on a single system\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/plugins/frakier/AdventureCore/palettes/ac\\nCurrent theme: \\nCurrent layout: \\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: top\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: bottom\\nTiddler opening behaviour setting for navigations from within the story river: bottom\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.6\\n  $:/plugins/ahahn/tinka - 0.5.2\\n  $:/plugins/felixhayashi/hotzone - 0.0.3\\n  $:/plugins/felixhayashi/tiddlymap - 0.17.20+10024\\n  $:/plugins/felixhayashi/topstoryview - 0.2.0\\n  $:/plugins/flibbles/vis-network - 9.1.3\\n  $:/plugins/frakier/AdventureCore - 1.0.17\\n  $:/plugins/frakier/title-optional - 0.1.13\\n  $:/plugins/frakier/toc-walk - 1.0.8\\n  $:/plugins/TWaddle/LeftBar - 2.2.0\\n  $:/plugins/TWaddle/ListTree - 1.0.4\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.6\\n  $:/themes/tiddlywiki/vanilla - 5.3.6\\n</code></pre></details>\",\n        \"tw-customisations\": \"Made a custom palettes, a few plugins, used a example I found online to make the title-optional plugin and the toc-walk plugin. I frequent the discord page TiddlyWiki5 so many knowledgeable people and they are always helping people and each other out.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"That would take an essay to accomplish.\",\n        \"project-weaknesses\": \"Web browsers moving more towards limiting the browsers in the name of protecting us from ourselves and breaking things such as TW.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00077\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00078.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Discord\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2024\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2024\",\n        \"use-ttw\": \"I read/lurk, but do not post\",\n        \"use-mailing-list\": \"I do not engage with this community\",\n        \"use-reddit\": \"I read/lurk, but do not post\",\n        \"use-discord\": \"I read and post in this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Journalling\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"No\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"Cross platform\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism);Multi-file wiki served through Node.js\",\n        \"backup-method\": \"Web or cloud hosting (other than TiddlyHost/TiddlySpot e.g. Netlify, AWS, OVH, Google Cloud...)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"Journaling with time tracking echarts, manually importing data into journal fields\",\n        \"tw-customisations\": \"\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"I can search data by commands on node js wiki.\\nJs benefits.\",\n        \"project-weaknesses\": \"Plugin Customization experience is not good, its been long time since i customized it. but i remember some flaws which i encountered & now forgot. Iirc it was lack of customization compare to tools like emacs.\\n\\nI think, in survey, it is good to ask \\\"do you use TiddlyWiki everyday or weekly or monthly\\\"\\n\\nLooking forward to tiddlymultiwikiserver or name like that\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00078\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00079.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Reddit\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2006\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2003\",\n        \"use-ttw\": \"I do not engage with this community\",\n        \"use-mailing-list\": \"I read/lurk, but do not post\",\n        \"use-reddit\": \"I read and post in this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"I have a work TiddlyWiki that is past 15 years old. I had played a bit with TW prior, although I hadn't really Wiki-ized my own notes. I started parallel TWs for personal use and my gaming hobby. I lightly customize with plugins, but some of my plug-ins are years old.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\",\n        \"backup-method\": \"Consumer online storage (e.g. Google Drive, Dropbox)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.3\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: $:/themes/tiddlywiki/snowwhite\\nCurrent layout: \\nBrowser language setting: en-CA\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fixed-fluid\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.3\\n  $:/plugins/bj/Calendar - 1.11.0\\n  $:/plugins/flibbles/relink - 2.2.0\\n  $:/plugins/Gk0Wk/CPL-Repo - 2023.12.9\\n  $:/plugins/Gk0Wk/drawio - 0.0.7\\n  $:/plugins/tesseract/Moments - 0.6.17\\n  $:/plugins/tiddlywiki/katex - 5.3.3\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.3\\n  $:/themes/tiddlywiki/vanilla - 5.3.3\\n</code></pre></details>\",\n        \"tw-customisations\": \"\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"It works, daily, for decades through updates! Will my children inherit my TiddlyWiki .html files and laugh over my notes at some point?\",\n        \"project-weaknesses\": \"Maybe some more conversion/print tools? Calendar/journalling features? It's tough because plug-ins solve so many problems, but replacing more popular plugin types with built-in features might help with future support?\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00079\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00080.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Discord\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2011\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2024\",\n        \"use-ttw\": \"I read/lurk, but do not post\",\n        \"use-mailing-list\": \"I read/lurk, but do not post\",\n        \"use-reddit\": \"I read/lurk, but do not post\",\n        \"use-discord\": \"I read/lurk, but do not post\",\n        \"use-github-discuss\": \"I read/lurk, but do not post\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"For personal and professional organizing of information, to do lists, project management, journaling\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles;I have written custom JavaScript\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver);Single-file wiki third-party mobile app (e.g. Tiddloid, Quine)\",\n        \"backup-method\": \"Consumer online storage (e.g. Google Drive, Dropbox)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"\",\n        \"tw-customisations\": \"\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"The best thing is that it doesn't break my wiki (mostly) through updates. I am confident that it will be functional for the coming decades\\nFor the future: Better multi user interaction. Easier syncing only of the tid that has changed, ai apis, improve mobile app, calendar and task integrations (eg caldav)\",\n        \"project-weaknesses\": \"No comment\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00080\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00081.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Official newsletter\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2004\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2005\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I read/lurk, but do not post\",\n        \"use-reddit\": \"I read/lurk, but do not post\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"Pretty good value when I use it\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism);Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\",\n        \"backup-method\": \"No automatic sync across my devices\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/palettes/FlexokiDark\\nCurrent theme: $:/themes/tiddlywiki/snowwhite\\nCurrent layout: $:/core/ui/PageTemplate\\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: yes\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: minimal\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: permalink\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: $:/config/shortcuts-mac/new-tiddler,$:/config/shortcuts-not-mac/refresh\\nDisabled plugins: $:/plugins/jd/mob,$:/plugins/TWaddle/LeftBar\\nPlugins: \\n  $:/core - 5.3.6\\n  $:/plugins/danielo515/2click2edit - 0.1\\n  $:/plugins/danielo515/encryptTiddler - 2.3\\n  $:/plugins/Gk0Wk/codemirror-themes - 0.0.1\\n  $:/plugins/Gk0Wk/CPL-Repo - 2024.5.22\\n  $:/plugins/Gk0Wk/sidebar-resizer - 0.0.6\\n  $:/plugins/kiasu/RandomTiddlerButton - 1.0\\n  $:/plugins/kookma/commander - 2.1.2\\n  $:/plugins/kookma/favorites - 4.8.5\\n  $:/plugins/kookma/shiraz - 2.5.1\\n  $:/plugins/snowgoon88/edit-comptext - 0.8.1\\n  $:/plugins/souk21/commandpalette - 0.0.7\\n  $:/plugins/sq/editor-autolist - 0.1.10\\n  $:/plugins/tesseract/CleverNote - 1.0.49\\n  $:/plugins/tiddlywiki/codemirror - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-autocomplete - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-mode-css - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-search-replace - 5.3.6\\n  $:/plugins/tiddlywiki/markdown - 5.3.6\\n  $:/plugins/tobibeer/random - 0.1.0\\n  $:/plugins/yaisog/single-tiddler-view - 1.0.0\\n  $:/temp/info-plugin - \\n  $:/themes/jd/Mono - 1.0.32\\n  $:/themes/odin/zacht - 0.2\\n  $:/themes/tiddlywiki/centralised - 5.3.6\\n  $:/themes/tiddlywiki/seamless - 5.3.6\\n  $:/themes/tiddlywiki/snowwhite - 5.3.6\\n  $:/themes/tiddlywiki/tight - 5.3.6\\n  $:/themes/tiddlywiki/vanilla - 5.3.6\\n</code></pre></details>\",\n        \"tw-customisations\": \"\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"You take community ideas and feedback seriously\",\n        \"project-weaknesses\": \"The greatest fear is a future change in the browser's security models which will cripple TW abilities.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00081\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00082.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Talk TiddlyWiki\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2022\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2023\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I do not engage with this community\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"Flexibility, no lock-in\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism)\",\n        \"backup-method\": \"WebDAV\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"The guts is a bit of Apache config that allows WebDAV with a RequireAny block allowing any of\\n\\nanything from my home IPv4/6\\nwith some nonce in the URL (which shortcuts on my mobile devices have)\\nwith HTTP auth so I can somebody else's computer (typically at the computing museum where I volunteer)\",\n        \"tw-customisations\": \"some extra CSS to make borders even narrower and tweak colours very slightly. In addition to the Trashbin plugin remove normal bin button from edit view as it is too easy to blow a tiddler away otherwise.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"Communications and forward-planning.\",\n        \"project-weaknesses\": \"For the beginner some easily-digestible blurb on the options for hosing, single file vs. not. Guess this will all in a state of flux with MWS.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00082\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00083.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Official newsletter\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2014\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Worldbuilding (e.g. for role-playing games)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Yes, using a single-file wiki;Yes, served through Node.js\",\n        \"publish-to-intranet\": \"Yes, served through Node.js\",\n        \"value-of-tw\": \"Daily driver to manage rand reflect on my day, organize my work and life, document education, worldbuilding.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Multi-file wiki served through Node.js\",\n        \"backup-method\": \"Git forge (GitHub, Gitea/Forgejo, GitLab);DIY (any other solution)\",\n        \"diy-backup-info\": \"Syncing files with Synthing, editing and publishing via Node.js server. Creating local git commits as backups / version history.\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.5\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: $:/themes/tiddlywiki/vanilla\\nCurrent layout: \\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: top\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: above\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: $:/config/shortcuts-mac/new-week,$:/config/shortcuts/link,$:/config/shortcuts/list-subtask,$:/config/shortcuts/list-task,$:/config/shortcuts/list-time,$:/config/shortcuts/new-week\\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.5\\n  $:/plugins/danielo515/ContextPlugin - 2.1.0\\n  $:/plugins/felixhayashi/hotzone - 0.0.3\\n  $:/plugins/felixhayashi/tiddlymap - 0.16.1+9773\\n  $:/plugins/felixhayashi/topstoryview - 0.2.0\\n  $:/plugins/felixhayashi/vis - 4.21.0-SNAPSHOT\\n  $:/plugins/snowgoon88/edit-comptext - 0.8.1\\n  $:/plugins/TheDiveO/FontAwesome - 1.2.18\\n  $:/plugins/tiddlywiki/filesystem - 5.3.5\\n  $:/plugins/tiddlywiki/highlight - 5.3.5\\n  $:/plugins/tiddlywiki/markdown - 5.1.14\\n  $:/plugins/tiddlywiki/tiddlyweb - 5.3.5\\n  $:/temp/info-plugin - \\n  $:/themes/telmiger/bricks-004 - 0.0.7\\n  $:/themes/tiddlywiki/snowwhite - 5.3.5\\n  $:/themes/tiddlywiki/vanilla - 5.3.5\\n</code></pre></details>\",\n        \"tw-customisations\": \"I have a custom stylesheet to render checkboxes, in addition to a daily journal tidder I have a weekly tiddler (with weekly goals, tasks and a journal summary), and a custom \\\"dashboard\\\" tiddler that shows an overview of projects, open tasks, and a custom table of contents.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"Incredibly robust and fast product, I never had problems upgrading (even very large and old wikis), it just works. New features are announced non-intrusively (I'm not forced to use them). Open and transparent community with a big heart. Thank you for everything!\",\n        \"project-weaknesses\": \"I did not find a good setup to sync wikis to my mobile devices (iOS and Android). I would love an app where I could run a local Node.js version and point it to a directory of tiddlers. Syncing these tiddlers could be done outside the app.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00083\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00084.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Official newsletter\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2010\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2015\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I read and post in this community\",\n        \"use-reddit\": \"I read/lurk, but do not post\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I read/lurk, but do not post\",\n        \"published-plugin\": \"Yes\",\n        \"main-use-cases\": \"Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Programming;Other\",\n        \"other-use-cases\": \"Backend for tracking inventory etc.\",\n        \"use-for-work-or-study\": \"No\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"Great backend for custom plugins to manage/store/record various things (i.e. beekeeping).\",\n        \"tw-ability-level\": \"I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom JavaScript\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism);Multi-file wiki served through Node.js\",\n        \"backup-method\": \"DIY (any other solution)\",\n        \"diy-backup-info\": \"Part of nightly home server backup\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.7\\nCurrent palette: $:/palettes/SpartanNight\\nCurrent theme: $:/themes/tiddlywiki/snowwhite\\nCurrent layout: $:/core/ui/PageTemplate\\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: no\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: above\\nCamelCase linking setting: enable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: $:/plugins/flibbles/relink-titles,$:/plugins/tiddlywiki/cecily\\nPlugins: \\n  $:/core - 5.3.7\\n  $:/plugins/flibbles/relink - 2.4.5\\n  $:/plugins/tiddlywiki/filesystem - 5.3.7\\n  $:/plugins/tiddlywiki/highlight - 5.3.7\\n  $:/plugins/tiddlywiki/tiddlyweb - 5.3.7\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.7\\n  $:/themes/tiddlywiki/vanilla - 5.3.7\\n</code></pre></details>\",\n        \"tw-customisations\": \"JS Macros, ViewTemplates, Cascades\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"Open communication and asking users for input before making decisions that might impact the system.\\nVery helpful and friendly community of pro-users that help even for very niche questions.\\nLooking forward to MultiWiki becoming mature so I can combine my numerous Node instances.\",\n        \"project-weaknesses\": \"More documentation in regards to interacting with TW via JS. Creating custom JS macros involves a lot of trial and error until the correct method is found and which parameters to pass in.\\n\\nDocumentation for some filter operators is confusing (i.e. jsonextract vs jsonget).\\n\\nAlso overall support for JSON could be improved so plugins do not need to rely on field names which causes collisions. Proposition: a parsejson operator\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00084\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00085.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Other\",\n        \"other-survey-source\": \"First I had contact to TW classic years ago- I came to it by internet search for nice tools. later I came back to TW5.\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2006\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2023\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I do not engage with this community\",\n        \"use-reddit\": \"I read/lurk, but do not post\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"I use TW to take meeting minutes, hold a document list with tracking releases, correspondance to the documents (it's not a real DMS but more a structured link collection), hold a contacts data base, and collect information (knowledge DB).\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...)\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\",\n        \"backup-method\": \"Web or cloud hosting (other than TiddlyHost/TiddlySpot e.g. Netlify, AWS, OVH, Google Cloud...)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.7\\nCurrent palette: $:/palettes/Eberhard\\nCurrent theme: $:/themes/tiddlywiki/tight\\nCurrent layout: $:/core/ui/PageTemplate\\nBrowser language setting: en-GB\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: top\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: $:/config/shortcuts/next-slide,$:/config/shortcuts/previous-slide\\nDisabled plugins: $:/plugins/danielo515/2click2edit,$:/plugins/Gk0Wk/codemirror-themes,$:/plugins/sk/Indents,$:/plugins/tgrosinger/tw5-checklist,$:/plugins/tiddlywiki/codemirror,$:/plugins/tiddlywiki/codemirror-autocomplete,$:/plugins/tiddlywiki/codemirror-closebrackets,$:/plugins/tiddlywiki/codemirror-closetag,$:/plugins/tiddlywiki/codemirror-fullscreen,$:/plugins/tiddlywiki/codemirror-mode-css,$:/plugins/tiddlywiki/codemirror-mode-htmlembedded,$:/plugins/tiddlywiki/codemirror-mode-htmlmixed,$:/plugins/tiddlywiki/codemirror-mode-javascript,$:/plugins/tiddlywiki/codemirror-mode-markdown,$:/plugins/tiddlywiki/codemirror-mode-xml,$:/plugins/tiddlywiki/codemirror-search-replace,$:/plugins/tiddlywiki/comments,$:/plugins/tiddlywiki/dynannotate,$:/plugins/tiddlywiki/dynaview,$:/plugins/tiddlywiki/menubar,$:/themes/tiddlywiki/readonly\\nPlugins: \\n  $:/core - 5.3.7\\n  $:/plugins/Gk0Wk/CPL-Repo - 2025.03.29\\n  $:/plugins/Gk0Wk/drawio - 0.0.7\\n  $:/plugins/Gk0Wk/echarts - 0.2.13\\n  $:/plugins/Gk0Wk/focused-tiddler - 0.0.3\\n  $:/plugins/kixam/datepicker - 0.5.2\\n  $:/plugins/kixam/moment - 2.24.0\\n  $:/plugins/kookma/kara - 0.9.7\\n  $:/plugins/kookma/section - 1.2.2\\n  $:/plugins/kookma/shiraz - 3.0.10\\n  $:/plugins/kookma/shiraz-callout - 0.8.0\\n  $:/plugins/kookma/shiraz-formatter - 0.6.2\\n  $:/plugins/kookma/trashbin - 1.3.6\\n  $:/plugins/mklauber/math.js - 1.1.2\\n  $:/plugins/oeyoews/font-geist - 0.1.0\\n  $:/plugins/oeyoews/tiddlywiki-codemirror-6 - 3.9.2\\n  $:/plugins/orange/mermaid-tw5 - 0.3.8\\n  $:/plugins/sendwheel/tw-receiver - 0.0.5\\n  $:/plugins/sk/TableCols - 0.0.6\\n  $:/plugins/sk/TableHelper - 0.0.4\\n  $:/plugins/Speff/typograms-tw5 - 1.0.6\\n  $:/plugins/tiddlywiki/jszip - 5.3.7\\n  $:/plugins/tiddlywiki/katex - 5.3.7\\n  $:/plugins/tiddlywiki/powered-by-tiddlywiki - 5.3.7\\n  $:/plugins/tiddlywiki/xlsx-utils - 5.3.7\\n  $:/plugins/tobibeer/appear - 0.6.2\\n  $:/plugins/tobibeer/dict - 0.6.0\\n  $:/plugins/tobibeer/plantuml - 0.5.0\\n  $:/plugins/TWaddle/SideEditor - 3.0.12\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.7\\n  $:/themes/tiddlywiki/tight - 5.3.7\\n  $:/themes/tiddlywiki/vanilla - 5.3.7\\n</code></pre></details>\",\n        \"tw-customisations\": \"I use some self programmed macros.\\nFurther I have a user CSS style sheet, where I copied in recommendations from the community and adopted them.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"It's quite a little tricky to understand the concepts behind TW as a non programmer. I fiddled around long time to figure out how I could achieve things. The community was quite helpfull for this.\\nI'm looking foreward for v5.4.0 with the dynamic parameters for macro/procedure/function calls. I hope, this makes some of my ideas possible.\",\n        \"project-weaknesses\": \"As said above ... maybe there could be some more non-geek functions being available to customize TW.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00085\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00086.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Discord\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2018\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2024\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I do not engage with this community\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I read and post in this community\",\n        \"use-github-discuss\": \"I read/lurk, but do not post\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;As a knowledge base (including technical, non-fiction and encyclopaedic content);Worldbuilding (e.g. for role-playing games);Narrative fiction writing (either supporting its creation or directly writing in TiddlyWiki)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Not applicable (as retired, etc)\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Not publishing to this location\",\n        \"publish-to-intranet\": \"Not publishing to this location\",\n        \"value-of-tw\": \"For me, TW is primarily an extensible platform with which I can shape tools to help me. The portability and compatibility of the single HTML-file is a great boon.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism);Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver);Single-file wiki with TiddlyDesktop;Single-file wiki third-party mobile app (e.g. Tiddloid, Quine)\",\n        \"backup-method\": \"DIY (any other solution)\",\n        \"diy-backup-info\": \"Syncthing.\",\n        \"wiki-setup-info\": \"\",\n        \"tw-customisations\": \"I try to make my changes update-compatible, so I primarily stick to shaping and adding to the core by CSS, functions/procedures and the occasional JS.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"From what I've seen of the comments regarding TW itself, the dev team seems to have a good balance between retaining the expected functionality of TW, its legacy implementations and the general computing principle that I think lies at the heart of the project while steadily moving forward and adapting new technology as it becomes mature.\",\n        \"project-weaknesses\": \"I think the core HTML/CSS layout is getting rather dated and could benefit quite a lot from moving into a more current FlexBox/Grid setup. Not only would it likely make it more consistent and easier to read, but also easier to customise.\\n\\nAlso, while I gather the TW core has gotten a lot less messy in recent iterations, there is definitely more work to do here. It can be bewildering to wrap your head around.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00086\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00087.tid",
    "content": "are-you-a-dev: Yes, I would\nbackup-method: DIY (any other solution)\ndiy-backup-info: I have a NodeJs TW running inside a Proxmox LXC and scheduled automatic backups for the entire LXC\nfirst-heard-survey: Talk TiddlyWiki\nfirst-used-tw: 2023\njoined-tw-community: Yes\nmain-use-cases: Task and project management (including CRMs)\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: \npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: The community appeals because it values ideas/contributions not based on who did them but the raw value of them, all oriented to build a better TW for us all.\nproject-weaknesses: I don’t imagine leaving, If I had the time/skills I would probably contribute more\npublish-to-intranet: \npublish-to-web: \npublished-plugin: No\nsave-method: Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver);Multi-file wiki served through Node.js\nshare-wikis: No, my TiddlyWiki is for personal use only\nstarted-tw-community: 2025\ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00087\ntw-ability-level: I have customised TiddlyWiki through options and plugins;I am comfortable writing filter expressions\ntw-customisations: Not much in production\ntw-future-confidence: Yes\nuse-discord: I do not engage with this community\nuse-for-work-or-study: No\nuse-github-discuss: I read and post in this community\nuse-mailing-list: I do not engage with this community\nuse-reddit: I do not engage with this community\nuse-ttw: I read and post in this community\nvalue-of-tw: It gives me sense of empowerment, I see it as the tool to build tools.\nwiki-setup-info: Answering from iPhone, can’t drag plugins now"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00088.tid",
    "content": "are-you-a-dev: No, I would not\nbackup-method: TiddlySpot / TiddlyHost\ndiy-backup-info: \nfirst-heard-survey: Official newsletter\nfirst-used-tw: 2023\njoined-tw-community: No\nmain-use-cases: Worldbuilding (e.g. for role-playing games)\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: \npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: Very straight forward to use, very stable, it just works.\nproject-weaknesses: How to use materials are a bit difficult to find...\npublish-to-intranet: Not publishing to this location\npublish-to-web: Yes, using a single-file wiki\npublished-plugin: No\nsave-method: Single-file wiki through web browser with Download Saver (default saving mechanism)\nshare-wikis: Yes, and I am the only editor/administrator of my wiki(s)\nstarted-tw-community: \ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00088\ntw-ability-level: My use is basic; I use TiddlyWiki in a configuration close to standard, without plugins\ntw-customisations: \ntw-future-confidence: Yes\nuse-discord: \nuse-for-work-or-study: No\nuse-github-discuss: \nuse-mailing-list: \nuse-reddit: \nuse-ttw: \nvalue-of-tw: Gives an easy to navigate home for my worldbuilding project.\nwiki-setup-info: "
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00089.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2022\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Not publishing to this location\",\n        \"publish-to-intranet\": \"Yes, using a single-file wiki\",\n        \"value-of-tw\": \"Used on scientific production systems which cannot connect to internet and seldom can be updated. \\nWorks without internet by customers. \\nOn Dropbox, works even in China, as Journal, Ticket and operation manual. \\nI wish could be like advanced ticketing system.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I have written custom HTML\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\",\n        \"backup-method\": \"Consumer online storage (e.g. Google Drive, Dropbox);DIY (any other solution)\",\n        \"diy-backup-info\": \"task scheduler :  weekly powershell backup script. -> xcopy to archive\\\\wiki.week.0x.html\",\n        \"wiki-setup-info\": \"\",\n        \"tw-customisations\": \"No.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"It will continue working after 10 years\\nIt is open source\\nIt can be easily updated.\",\n        \"project-weaknesses\": \"1) Timini plug-in was difficult to install in chrome in a closed env. (No internet). Grok TW seems good. \\n2) I would like to have a kind of Demo Wiki. Showing a minimal Jira ticketing system. With : tool name & model & serial, part numbers, incident or ticket number, issue description, status: open, ongoing, cancelled,  closed. Your community size would increase. \\n3) with Dropbox on my iPhone, I can see my wiki, but not work on it.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00089\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00090.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2022\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Not publishing to this location\",\n        \"publish-to-intranet\": \"Not publishing to this location\",\n        \"value-of-tw\": \"Tiddlywiki gives me the opportunity to design tools in a very different way from what I've done in the past. It develops my creative potential and makes me want to go further.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki with TiddlyDesktop;Single-file wiki third-party mobile app (e.g. Tiddloid, Quine)\",\n        \"backup-method\": \"Web or cloud hosting (other than TiddlyHost/TiddlySpot e.g. Netlify, AWS, OVH, Google Cloud...)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.3\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: $:/themes/tiddlywiki/snowwhite\\nCurrent layout: $:/core/ui/PageTemplate\\nBrowser language setting: fr-FR\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: above\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.3\\n  $:/languages/fr-FR - 5.3.3\\n  $:/plugins/Gk0Wk/sidebar-resizer - 0.0.5\\n  $:/plugins/kookma/commander - 2.1.7\\n  $:/plugins/kookma/shiraz - 2.9.0\\n  $:/plugins/tiddlywiki/codemirror - 5.3.3\\n  $:/plugins/tiddlywiki/codemirror-mode-css - 5.3.3\\n  $:/plugins/tiddlywiki/codemirror-mode-htmlembedded - 5.3.3\\n  $:/plugins/tiddlywiki/codemirror-mode-htmlmixed - 5.3.3\\n  $:/plugins/tiddlywiki/codemirror-mode-javascript - 5.3.3\\n  $:/plugins/tiddlywiki/codemirror-mode-xml - 5.3.3\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.3\\n  $:/themes/tiddlywiki/vanilla - 5.3.3\\n</code></pre></details>\",\n        \"tw-customisations\": \"tiddlers in the sidebar, various css styles (for fonts, hr, tables, list, etc.), macros, edit the field sort order, templates for displaying different types of data, customised shortcut keys\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"I find the community open and welcoming. Experienced users spend an incredible amount of time and energy sharing the fruits of their labour and their knowledge with those who need it. The possibility of consulting several wikis together seems to me to be a very promising way forward.\",\n        \"project-weaknesses\": \"I really appreciate the fact that TW is designed to preserve data over the medium to long term. Many projects, even important ones, can become obsolete very quickly. I think TW could gain many more users by highlighting (even more than it does now) the diversity of projects that have been made possible by it.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00090\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00091.tid",
    "content": "are-you-a-dev: Yes, I would\nbackup-method: No automatic sync across my devices\ndiy-backup-info: \nfirst-heard-survey: Talk TiddlyWiki\nfirst-used-tw: 2017\njoined-tw-community: Yes\nmain-use-cases: Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Programming\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: \npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: Keep it open, and free for everyone\nproject-weaknesses: Create some ofical plugin library\npublish-to-intranet: Yes, served through Node.js\npublish-to-web: Yes, served through Node.js\npublished-plugin: No\nsave-method: Multi-file wiki served through Node.js\nshare-wikis: Yes, with multiple editors/administrators\nstarted-tw-community: 2020\ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00091\ntw-ability-level: I have written custom JavaScript\ntw-customisations: \ntw-future-confidence: Yes\nuse-discord: I read/lurk, but do not post\nuse-for-work-or-study: Yes\nuse-github-discuss: I read/lurk, but do not post\nuse-mailing-list: I read/lurk, but do not post\nuse-reddit: I read/lurk, but do not post\nuse-ttw: I read and post in this community\nvalue-of-tw: A place to all my notes\nwiki-setup-info: Muy personal pkms , and note taking, also a wiki to mánage muy garden, and another to mánage my drawer of stuff"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00092.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2010\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;As a knowledge base (including technical, non-fiction and encyclopaedic content);Other\",\n        \"other-use-cases\": \"Datenbank für Musiktitel/CDs\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"It's a good tool to collect knowledge, information and find them, when I need. I have it on my handy, so I can access them easily and quickly. This database consists of various contents including software usage, professional knowledge, music theories, physics, statistics, etc.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism)\",\n        \"backup-method\": \"Consumer online storage (e.g. Google Drive, Dropbox);No automatic sync across my devices\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/palettes/FlexokiLight\\nCurrent theme: $:/themes/tiddlywiki/vanilla\\nCurrent layout: \\nBrowser language setting: de\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: yes\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: $:/config/shortcuts/findreplace,$:/config/shortcuts/htmlconvert\\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.6\\n  $:/languages/de-DE - 5.3.6\\n  $:/plugins/danielo/keyboardSnippets - 0.0.5\\n  $:/plugins/ebalster/formula - 0.2.3\\n  $:/plugins/sk/FindReplace - 0.0.4\\n  $:/plugins/sk/HTMLConvert - 0.0.4\\n  $:/plugins/tiddlywiki/katex - 5.3.6\\n  $:/plugins/tiddlywiki/menubar - 5.3.6\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/heavier - 5.3.6\\n  $:/themes/tiddlywiki/seamless - 5.3.6\\n  $:/themes/tiddlywiki/snowwhite - 5.3.6\\n  $:/themes/tiddlywiki/starlight - 5.3.6\\n  $:/themes/tiddlywiki/tight - 5.3.6\\n  $:/themes/tiddlywiki/tight-heavier - 5.3.6\\n  $:/themes/tiddlywiki/vanilla - 5.3.6\\n</code></pre></details>\",\n        \"tw-customisations\": \"\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"It is a good tool for my needs. The software development is ongoing and in progress. It's sufficient for me so far to organize and manage my data or database.\",\n        \"project-weaknesses\": \"I also use emacs org-mode and org-roam, especially for task management and zettelkasten. Actually, I haven't known yet or not decided yet, which tool is better and more appropriate for me. Both tools have their advantages an disadvantages. At the moment I'm still wavering between emacs org-mode/org-roam and tiddlywiki.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00092\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00093.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Talk TiddlyWiki\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2021\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2023\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I read/lurk, but do not post\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Producing/publishing interactive fiction;Worldbuilding (e.g. for role-playing games);Other\",\n        \"other-use-cases\": \"Searchable & filterable repositories of images (mine or others); personal websites (in the spirit of Geocities)\",\n        \"use-for-work-or-study\": \"Not applicable (as retired, etc)\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Yes, using a single-file wiki\",\n        \"publish-to-intranet\": \"Not publishing to this location\",\n        \"value-of-tw\": \"It is the primary way I present most of my creative projects in an interactive medium, for organizing large collections of images otherwise difficult to do elsewhere, and for generally being extremely flexible and customizable to hyper-specific needs. It changed everything.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles;I have written custom JavaScript\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver);Single-file wiki with TiddlyDesktop\",\n        \"backup-method\": \"TiddlySpot / TiddlyHost;Neocities, Nekoweb, tiiny.host, omg.lol and similar services\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.5\\nCurrent palette: $:/palettes/ContrastDark\\nCurrent theme: \\nCurrent layout: \\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: no\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.5\\n  $:/plugins/ebalster/condition - 0.1.2\\n  $:/plugins/wikilabs/trails - 1.1.1\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.5\\n  $:/themes/tiddlywiki/vanilla - 5.3.5\\n</code></pre></details>\",\n        \"tw-customisations\": \"Far too many to be exhaustive within the limit, but it includes stylesheets, macros, ViewTemplates, and core edits. I often use & modify community ones (themes, plugins, solutions). I have very rarely made simple JavaScript functions when WikiText equivalents were not possible.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"- Uses familiar languages like CSS and HTML, giving a hands-on environment to learn both.\\n- The community is incredibly warm and friendly towards beginners, making it a great atmosphere to learn.\\n- The openness of sharing and building on solutions.\\n- The commitment to backwards compatibility meaning community solutions are almost always evergreen, even a decade later.\\n- The sky is the limit with what you can create. It is anything you want it to be, if you put your mind to it.\",\n        \"project-weaknesses\": \"- I am wary of generative AI. My relationship with TW would change if it was officially incorporated (core plugins, etc).\\n- Multi-user solutions are technically possible to DIY as a novice programmer, but impossible to make fully usable. It is my only lasting problem with TW because it means I can rarely use this powerful software in collaborative projects, or teach it to others hands-on. An *easy to use* solution for multi-users that can handle conflicting edits would be my dream come true!\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00093\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00094.tid",
    "content": "are-you-a-dev: No, I would not\nbackup-method: TiddlySpot / TiddlyHost\ndiy-backup-info: \nfirst-heard-survey: Official newsletter\nfirst-used-tw: 2010\njoined-tw-community: No\nmain-use-cases: Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Narrative fiction writing (either supporting its creation or directly writing in TiddlyWiki)\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: \npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: Active development breeds confidence in the project and makes me feel safe in keep privileged information in it.\nproject-weaknesses: Technical limitations aside, my biggest issue is slow-downs with large files (PKM).  I tweak (no images, limited plug-ins, etc), but with some tiddlers large (I know - atomize those Tiddlers!) and a thousands of tiddlers, the slowdown is noticeable and that gives me pause as to whether this is the right platform.\npublish-to-intranet: \npublish-to-web: \npublished-plugin: No\nsave-method: Single-file wiki through web browser with Download Saver (default saving mechanism);Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\nshare-wikis: No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\nstarted-tw-community: \ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00094\ntw-ability-level: I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...)\ntw-customisations: no.\ntw-future-confidence: Yes\nuse-discord: \nuse-for-work-or-study: Yes\nuse-github-discuss: \nuse-mailing-list: \nuse-reddit: \nuse-ttw: \nvalue-of-tw: Secure, portable environment to write in, take notes, customize, and be a single source of truth.\nwiki-setup-info: I work of a several single files in TiddlyHost - but I keep files in Google Drive a well.  When editing or working with a file, I download it and work on it, then upload it to Tiddlyhost and Google Drive.  On mobile, I use Tiddlyhost for viewing."
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00095.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Official newsletter\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I do not engage with this community\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Task and project management (including CRMs)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Not applicable (as retired, etc)\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"Use to provide value before I retired. Right now is a legacy tool, mostly keeping up-to-date versions in Tiddlyhost.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\",\n        \"backup-method\": \"TiddlySpot / TiddlyHost;Consumer online storage (e.g. Google Drive, Dropbox)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/palettes/GithubDark\\nCurrent theme: $:/themes/tiddlywiki/vanilla\\nCurrent layout: \\nBrowser language setting: en-CA\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.6\\n  $:/Import - \\n  $:/plugins/flibbles/relink - 2.4.3\\n  $:/plugins/flibbles/relink-fieldnames - 2.4.1\\n  $:/plugins/flibbles/relink-titles - 2.4.0\\n  $:/plugins/Gk0Wk/sidebar-resizer - 0.0.6\\n  $:/plugins/kookma/commander - 2.1.7\\n  $:/plugins/kookma/favorites - 4.8.5\\n  $:/plugins/kookma/hsl - 1.2.1\\n  $:/plugins/kookma/refnotes - 1.9.0\\n  $:/plugins/kookma/shiraz - 2.9.4\\n  $:/plugins/kookma/shiraz-callout - 0.8.0\\n  $:/plugins/kookma/shiraz-formatter - 0.6.0\\n  $:/plugins/kookma/toc - 1.6.1\\n  $:/plugins/kookma/todolist - 1.5.0\\n  $:/plugins/kookma/trashbin - 1.3.3\\n  $:/plugins/kookma/utility - 2.8.0\\n  $:/plugins/tiddlywiki/comments - 5.3.6\\n  $:/plugins/tiddlywiki/highlight - 5.3.6\\n  $:/plugins/wikilabs/cheatsheet - 1.1.1\\n  $:/temp/info-plugin - \\n  $:/themes/ahanniga/maximo-theme - 0.5.0\\n  $:/themes/tiddlywiki/snowwhite - 5.3.6\\n  $:/themes/tiddlywiki/vanilla - 5.3.6\\n</code></pre></details>\",\n        \"tw-customisations\": \"Heavily modified GSD5 plugin for use in project management.\",\n        \"positive-about-future\": \"No\",\n        \"tw-future-confidence\": \"No\",\n        \"project-decision-trust\": \"No\",\n        \"project-strengths\": \"TW is great from a pure developer or computer programmer perspective. There is significant support in the community. Lovely people, very knowledgeable, ready to help anytime. TW is being maintained and upgraded at a fast pace.\",\n        \"project-weaknesses\": \"TW is not very good from an end user perspective. Talk TiddlyWiki is a terrible place for an end user. There are too many topics, ideas, plugins, etc., completely disorganized. Urgently, something needs to be done to make TW more appealing to people with little computer programming experience, and those with little time to read/go over the huge amount of posts. The learning curve could be greatly improved if a place separately from Talk TiddlyWiki be created to organize all the knowledge.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00095\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00096.tid",
    "content": "are-you-a-dev: No, I would not\nbackup-method: No automatic sync across my devices\ndiy-backup-info: \nfirst-heard-survey: tiddlywiki.com\nfirst-used-tw: 2020\njoined-tw-community: Yes\nmain-use-cases: Note-taking;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: \npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: The core and plugins' code is accessible and documented, and everyone is encouraged to comment/contribute. I also value a lot that it's open source, lightweight and that it doesn't require extensions/apps to be edited. I'm very excited for the new changes in v5.4.0! The new ideas in talk.tiddlywiki discussion are great and its comforting that older versions are still available.\nproject-weaknesses: I don't think I'd leave TiddlyWiki. If my wikis were incompatible with the next updates I'd simply stay in the current version. I am afraid that the community may get stagnant, but so far I've seen a lot of activity.\npublish-to-intranet: \npublish-to-web: \npublished-plugin: No\nsave-method: Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver);Single-file wiki third-party mobile app (e.g. Tiddloid, Quine)\nshare-wikis: No, my TiddlyWiki is for personal use only\nstarted-tw-community: 2024\ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00096\ntw-ability-level: I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles;I have written custom JavaScript\ntw-customisations: Besides simple styles and procedures, I have made some JavaScript filters for things that were too complicated or I couldn't find in the core. I used the core filters as a base and built upon that.\ntw-future-confidence: Yes\nuse-discord: I do not engage with this community\nuse-for-work-or-study: Yes\nuse-github-discuss: I read/lurk, but do not post\nuse-mailing-list: I read/lurk, but do not post\nuse-reddit: I do not engage with this community\nuse-ttw: I read/lurk, but do not post\nvalue-of-tw: It allows me to organize my thoughts. The language is both simple and complex enough to get creative and it encourages me to search for new paths.\nwiki-setup-info: "
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00097.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2006\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Programming\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"As a document, database and prototype wiki tool is it invaluable to quickly capture and link ideas\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\",\n        \"backup-method\": \"Consumer online storage (e.g. Google Drive, Dropbox)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.3\\nCurrent palette: $:/palettes/Muted\\nCurrent theme: $:/themes/tiddlywiki/vanilla\\nCurrent layout: $:/core/ui/PageTemplate\\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: no\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: enable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: $:/plugins/snowgoon88/edit-comptext,$:/plugins/tiddlywiki/comments,$:/plugins/tiddlywiki/freelinks,$:/plugins/tiddlywiki/menubar\\nPlugins: \\n  $:/core - 5.3.3\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/centralised - 5.3.3\\n  $:/themes/tiddlywiki/snowwhite - 5.3.3\\n  $:/themes/tiddlywiki/tight - 5.3.3\\n  $:/themes/tiddlywiki/vanilla - 5.3.3\\n</code></pre></details>\",\n        \"tw-customisations\": \"https://joearms.github.io/#Chandler\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"being lean and not to fat, backwards compatibility, continuous improvement/bug fixes, maintaining the simplicity and ease of use (design), common export formats for import and export\",\n        \"project-weaknesses\": \"tw is used for quick capture or need for structured formats and other data types than plain text. Most tw data is archived as plain text files with link interoperability via vim text editor. two is tied to the browser and that dependency is a concern hence the move to plain text. As long as tw maintains the simplicity and interoperability with plain text and other common formats, I foresee it lasting a long time.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00097\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00098.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Talk TiddlyWiki\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2003\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2024\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I read/lurk, but do not post\",\n        \"use-reddit\": \"I read/lurk, but do not post\",\n        \"use-discord\": \"I read/lurk, but do not post\",\n        \"use-github-discuss\": \"I read/lurk, but do not post\",\n        \"published-plugin\": \"Yes\",\n        \"main-use-cases\": \"Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Programming;Other\",\n        \"other-use-cases\": \"Memory Keeper | Projectify | Cardo (working on an update) | Zettelkasten | Cook Book\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"I cherish TW because I can tweak (I cannot programm but I can tweak.) it to my needs or use as is just fine. It allows me to own my data. With Syncthing on my pc and my android mobile (with SDcard) I do not need cloud services. With TW being text based I can use my stuff forever.\",\n        \"tw-ability-level\": \"I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki with TiddlyDesktop;Single-file wiki third-party mobile app (e.g. Tiddloid, Quine)\",\n        \"backup-method\": \"TiddlySpot / TiddlyHost;DIY (any other solution)\",\n        \"diy-backup-info\": \"With Syncthing on my pc and my android mobile (with SDcard). I don't want cloud services for my personal stuff.\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/palettes/CaptivateDark (MY OWN TWEAKED PALETTE)\\nCurrent theme: $:/themes/cdr/captivate\\nCurrent layout: $:/themes/cdr/captivate/ui/PageLayout\\nBrowser language setting: de-DE\\nDefault type for missing tiddlers: \\nAuto save setting: no\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fixed-fluid\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.6\\n  $:/plugins/cdr/colorlab - 0.2.0\\n  $:/plugins/gsd5/core - 0.8.2\\n  $:/plugins/gsd5/docs - 20230819\\n  $:/plugins/gsd5/ticklers - 0.6-beta\\n  $:/plugins/wikilabs/link-to-tabs - 3.0.1\\n  $:/temp/info-plugin - \\n  $:/themes/cdr/captivate - 0.2.1\\n  $:/themes/tiddlywiki/snowwhite - 5.3.6\\n  $:/themes/tiddlywiki/vanilla - 5.3.6\\n</code></pre></details>\",\n        \"tw-customisations\": \"I usually start with some of the great customisations out there. I recently tweaked 3 of them. Mostly because I prefer my sidebar on the right: https://tiddlyhost.com/explore/user/Xrizzy.\\nI do mostly stylesheets and I tweak plugins but keep my hands off the core.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"* Keepin TiddlyWiki alive and keep making it better all while my stuff will still be readable\\n* Very helpful community\\n* Good documentation\\n* Making TW more and more capable to run well on multi languages\\nI am excited for TW because more and more people want to own their data and use and participate in an open source project.\",\n        \"project-weaknesses\": \"Since 2003 I keep coming back to TW. Every now and then I get a little lost in tweaking TW and then I don't use it for a while. I guess I could contribute more where Design, HTML, CSS is needed. Yet I want to learn and dive deeper into TW. I still struggle with GIT and Node. If I had one wish right now I would like to be able to put the sidebar left or right and the main buttons top or buttom on mobile and left or right on the desktop. Multi-user capability is probably asking too much. :)\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00098\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00099.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2006\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Programming\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Yes, using a single-file wiki\",\n        \"publish-to-intranet\": \"Not publishing to this location\",\n        \"value-of-tw\": \"a good tool for everyday life\",\n        \"tw-ability-level\": \"I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I have written custom HTML;I have written custom CSS styles;I have written custom JavaScript\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism)\",\n        \"backup-method\": \"WebDAV\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"\",\n        \"tw-customisations\": \"I use the empty edition of TW.\\n\\nI would like it to be as streamlined as possible.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"I really like when the community takes their time to choose the developments that will improve TW.\",\n        \"project-weaknesses\": \"I don't think I will leave TW. At worst, I will use older versions.\\n\\nI'm afraid that it may no longer be open source and that it will lose its basic idea: a simple file that opens on any device. For example, I have already managed to open it on my watch.\\n\\nI find that the community is good.\\n\\nTo contribute more, we would need questionnaires of this kind. I think it's very good. Also, creating topics for reflection that would focus the participants on a single specific aspect of the TW.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00099\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00100.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2021\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2022\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I read/lurk, but do not post\",\n        \"use-reddit\": \"I read/lurk, but do not post\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I read/lurk, but do not post\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Other\",\n        \"other-use-cases\": \"Planning lessons and courses for university students\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"A great deal of value: it is my main store of information, and a key thinking tool I use at least most days.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver);Multi-file wiki served through Node.js\",\n        \"backup-method\": \"Consumer online storage (e.g. Google Drive, Dropbox);DIY (any other solution)\",\n        \"diy-backup-info\": \"Quine 2\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/palettes/GruvboxDark-srbt\\nCurrent theme: $:/themes/tiddlywiki/vanilla\\nCurrent layout: \\nBrowser language setting: en-GB\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: permalink\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: above\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: $:/config/shortcuts-mac/advanced-search,$:/config/shortcuts-mac/insert-command-palette-result,$:/config/shortcuts-mac/open-command-palette,$:/config/shortcuts-mac/open-command-palette-selection,$:/config/shortcuts-mac/save-tiddler,$:/config/shortcuts/autolist-indent,$:/config/shortcuts/autolist-newline,$:/config/shortcuts/autolist-unindent,$:/config/shortcuts/open-command-palette-selection,$:/config/shortcuts/streams-indent,$:/config/shortcuts/streams-unindent\\nDisabled plugins: $:/plugins/adithyab/cmplus,$:/plugins/ahanniga/split-view-plugin,$:/plugins/BTC/multi-column-github-toolbar,$:/plugins/BTC/TiddlyFlex,$:/plugins/BTC/tiddlywiki-multi-columns,$:/plugins/felixhayashi/vis,$:/plugins/Gk0Wk/TW5-CodeMirror-Enhanced,$:/plugins/nico/projectify-de-DE,$:/plugins/nico/projectify-es-ES,$:/plugins/nico/projectify-fr-FR,$:/plugins/nico/projectify-nl-NL,$:/plugins/nico/projectify-zh-Hans,$:/plugins/tiddlywiki/browser-sniff\\nPlugins: \\n  $:/core - 5.3.6\\n  $:/plugins/benwebber/motion - 0.3.0\\n  $:/plugins/bimlas/kin-filter - 1.0.0\\n  $:/plugins/bj/tiddlyclip - 02.0.01\\n  $:/plugins/cdaven/markdown-export - 0.9.0\\n  $:/plugins/danielo515/ContextPlugin - 2.1.0\\n  $:/plugins/ebalster/formula - 0.2.5\\n  $:/plugins/EvidentlyCube/AdvancedPerformance - 1.1.6\\n  $:/plugins/EvidentlyCube/AutoComplete - 1.0.20\\n  $:/plugins/felixhayashi/hotzone - 0.0.3\\n  $:/plugins/felixhayashi/tiddlymap - 0.17.20+10024\\n  $:/plugins/felixhayashi/topstoryview - 0.2.0\\n  $:/plugins/flibbles/relink - 2.4.4\\n  $:/plugins/flibbles/vis-network - 9.1.2\\n  $:/plugins/Gk0Wk/codemirror-mode-tiddlywiki5 - 0.0.6\\n  $:/plugins/Gk0Wk/CPL-Repo - 2024.11.25\\n  $:/plugins/Gk0Wk/drawio - 0.0.7\\n  $:/plugins/Gk0Wk/echarts - 0.2.13\\n  $:/plugins/Gk0Wk/focused-tiddler - 0.0.3\\n  $:/plugins/Gk0Wk/mindmap-elixir - 0.0.2\\n  $:/plugins/Gk0Wk/sidebar-resizer - 0.0.6\\n  $:/plugins/inmysocks/MathyThing - 0.2.1\\n  $:/plugins/kixam/datepicker - 0.5.2\\n  $:/plugins/kixam/moment - 2.24.0\\n  $:/plugins/kookma/commander - 2.1.13\\n  $:/plugins/kookma/refnotes - 1.9.0\\n  $:/plugins/linonetwo/ical-calendar-importer - 1.0.6\\n  $:/plugins/linonetwo/tag-tree-picker-macro - 0.0.1\\n  $:/plugins/linonetwo/title-caption - 0.3.1\\n  $:/plugins/linonetwo/tw-calendar - 1.6.0\\n  $:/plugins/linonetwo/tw-react - 1.0.0\\n  $:/plugins/linonetwo/tw-whiteboard - 1.7.0\\n  $:/plugins/MAS/TOC-Search - 0.0.1\\n  $:/plugins/nico/notebook-mobile - 1.0.0\\n  $:/plugins/nico/projectify - 0.14.3\\n  $:/plugins/nico/shields - 0.0.2\\n  $:/plugins/orange/mermaid-tw5 - 0.3.8\\n  $:/plugins/phiv/streams-fusion - 0.0.16-beta\\n  $:/plugins/sobjornstad/TiddlyRemember - 1.3.6\\n  $:/plugins/souk21/commandpalette - 0.0.7\\n  $:/plugins/sq/editor-autolist - 0.1.10\\n  $:/plugins/sq/Stories - 1.0.3\\n  $:/plugins/sq/streams - 1.2.24\\n  $:/plugins/telmiger/details - 0.8.0\\n  $:/plugins/tiddlywiki/bibtex - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-autocomplete - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-closebrackets - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-closetag - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-mode-css - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-mode-markdown - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-mode-xml - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-search-replace - 5.3.6\\n  $:/plugins/tiddlywiki/dynaview - 5.3.6\\n  $:/plugins/tiddlywiki/katex - 5.3.6\\n  $:/plugins/tiddlywiki/markdown - 5.3.6\\n  $:/plugins/tobibeer/appear - 0.6.2\\n  $:/plugins/tobibeer/preview - 0.5.6\\n  $:/temp/info-plugin - \\n  $:/themes/nico/notebook - 1.4.1\\n  $:/themes/tiddlywiki/snowwhite - 5.3.6\\n  $:/themes/tiddlywiki/vanilla - 5.3.6\\n</code></pre></details>\",\n        \"tw-customisations\": \"- quite heavily adapted Projectify plugin for more helpful project management for me\\n- adapted Gruvbox dark palette (more accessible code colours and some other minor differences\\n- custom CSS \\n- adapted RefNotes and BibTex importer plugins\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"- Super helpful community on talk.tiddlywiki\\n- Regular updates and information about possible future updates\\n- I pure love wikitext syntax for formatting text etc.\\n- runs in a browser\\n- it's a Quine\\n- incredibly adaptable \\n- very powerful wikitext (language)\",\n        \"project-weaknesses\": \"- I wish I were better able to grasp key aspects of widgets / parameters / functions from the official documentation (e.g., I have been making a new project manager for about 2 years and still haven't finished it, in part because I don't fully understand what I am doing, or what could work best)\\n- I am worried my main wiki is starting to slow slightly as it grows (currently >20Mb in size, just from text notes, SVG icons, etc.) and would like it to be able to easily handle far larger sizes\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00100\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00101.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Discord\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2020\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2022\",\n        \"use-ttw\": \"I read/lurk, but do not post\",\n        \"use-mailing-list\": \"I read/lurk, but do not post\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I read and post in this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;As a knowledge base (including technical, non-fiction and encyclopaedic content);Narrative fiction writing (either supporting its creation or directly writing in TiddlyWiki)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"TW lets me organize and see my data in different ways. It helps me see connections between two disparate locations that I didn't see before and helps me articulate that connection beyond TW.\",\n        \"tw-ability-level\": \"My use is basic; I use TiddlyWiki in a configuration close to standard, without plugins\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism)\",\n        \"backup-method\": \"TiddlySpot / TiddlyHost\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: $:/themes/tiddlywiki/vanilla\\nCurrent layout: $:/core/ui/PageTemplate\\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: no\\nCode wrapping setting: pre-wrap\\nSticky titles setting: yes\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.6\\n  $:/plugins/flibbles/relink - 2.1.4\\n  $:/plugins/tiddlywiki/internals - 5.2.3\\n  $:/plugins/tiddlywiki/menubar - 5.2.3\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.6\\n  $:/themes/tiddlywiki/vanilla - 5.3.6\\n</code></pre></details>\",\n        \"tw-customisations\": \"I have a growing number of macros and even edited some of the core to create the sidebar that I wanted. It's constantly evolving though.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"I love the adapatability of it. I actually do like the Vanilla Color Scheme.\",\n        \"project-weaknesses\": \"Multiple users. I know you were working on this. It's the biggest change that I would need. I would also love to see more \\\"You have no idea what you're doing\\\" tutorials that function on more of an as needed bases. GrokTW is ok, but it's too structured to get what I want out of it most of the time, like a class instead of a \\\"You wanna do this, here's how\\\" type of thing, and the TW site is more for those who already know what they are doing.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00101\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00102.tid",
    "content": "are-you-a-dev: No, I would not\nbackup-method: DIY (any other solution)\ndiy-backup-info: tidgi desktop and it's moblie syncthing\nfirst-heard-survey: WeChat\nfirst-used-tw: 2020\njoined-tw-community: No\nmain-use-cases: Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Other\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: write something\npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: 非常灵活。用它感觉 像在记录笔记，而非光折腾笔记 软件。\nproject-weaknesses: 假设有数量特别多的条目，提升太微的极限抗压测试，达到“即使条目非常多，也能保持流畅运行”的效果\npublish-to-intranet: \npublish-to-web: \npublished-plugin: No\nsave-method: Single-file wiki with third-party desktop app (e.g. TidGi Desktop, twexe)\nshare-wikis: No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\nstarted-tw-community: \ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00102\ntw-ability-level: My use is basic; I use TiddlyWiki in a configuration close to standard, without plugins\ntw-customisations: just tidgi desktop\ntw-future-confidence: Yes\nuse-discord: \nuse-for-work-or-study: Yes\nuse-github-discuss: \nuse-mailing-list: \nuse-reddit: \nuse-ttw: \nvalue-of-tw: very useful\nwiki-setup-info: tidgi desktop"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00103.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Talk TiddlyWiki\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2023\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Yes, using a single-file wiki\",\n        \"publish-to-intranet\": \"Yes, served through Node.js\",\n        \"value-of-tw\": \"TiddlyWiki has become my main learning tool, which I use to take notes and make Anki cards. I think TW can do more for me\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles;I have written custom JavaScript\",\n        \"save-method\": \"Multi-file wiki served through Node.js;Single-file wiki with third-party desktop app (e.g. TidGi Desktop, twexe);Single-file wiki third-party mobile app (e.g. Tiddloid, Quine)\",\n        \"backup-method\": \"TiddlySpot / TiddlyHost;N/A - I keep my wiki on a single system\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.7\\nCurrent palette: psyfield-调色盘1\\nCurrent theme: $:/themes/wingmaker/kemurikusa\\nCurrent layout: \\nBrowser language setting: zh-CN\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: yes\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: $:/plugins/tiddlywiki/d3\\nPlugins: \\n  $:/core - 5.3.7\\n  $:/languages/zh-Hans - 5.3.7\\n  $:/plugins/sobjornstad/TiddlyRemember - 1.4.0\\n  $:/plugins/tiddlywiki/filesystem - 5.3.7\\n  $:/plugins/tiddlywiki/highlight - 5.3.7\\n  $:/plugins/tiddlywiki/internals - 5.3.7\\n  $:/plugins/tiddlywiki/katex - 5.3.7\\n  $:/plugins/tiddlywiki/markdown - 5.3.7\\n  $:/plugins/tiddlywiki/qrcode - 5.3.7\\n  $:/plugins/tiddlywiki/tiddlyweb - 5.3.7\\n  $:/plugins/wingmaker/memolith - 5.3.18\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.6\\n  $:/themes/tiddlywiki/vanilla - 5.3.7\\n  $:/themes/wingmaker/kemurikusa - 5.3.10\\n</code></pre></details>\",\n        \"tw-customisations\": \"I put my customizations in my homemade private plugin, so there are no other customizations other than the ones above\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"The best thing about TiddlyWiki is the degree of freedom, which allows you to customize the interface and functionality without having to install any plugins. Card notes don't have the concept of folders, making note-taking more secure.\",\n        \"project-weaknesses\": \"In the future I am afraid that TW will be defeated by business note-taking software and there will be no new users. There are very few new users of TW in my country. I'm also scared that my notes will get bigger and bigger, because I'm reading progressively with TW and importing a lot of books\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00103\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00104.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2019\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2020\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I do not engage with this community\",\n        \"use-reddit\": \"I read/lurk, but do not post\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I read and post in this community\",\n        \"published-plugin\": \"Yes\",\n        \"main-use-cases\": \"Note-taking;Journalling;Task and project management (including CRMs);Programming\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"Yes, with multiple editors/administrators\",\n        \"publish-to-web\": \"Yes, served through Node.js\",\n        \"publish-to-intranet\": \"Not publishing to this location\",\n        \"value-of-tw\": \"As a safe vault for ideas, that might be useful in a long future.\\n\\nRecord personal information safely, no one else will see, and I can analyse it to improve my self.\\n\\nSave time developing small widgets to record personal info, without handling save&load mechanism myself.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles;I have written custom JavaScript\",\n        \"save-method\": \"Single-file wiki with third-party desktop app (e.g. TidGi Desktop, twexe)\",\n        \"backup-method\": \"Git forge (GitHub, Gitea/Forgejo, GitLab);DIY (any other solution)\",\n        \"diy-backup-info\": \"Tidgi mobile sync\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/palettes/Notion\\nCurrent theme: $:/themes/linonetwo/itonnote\\nCurrent layout: \\nBrowser language setting: zh-CN\\nDefault type for missing tiddlers: \\nAuto save setting: no\\nCode wrapping setting: pre-wrap\\nSticky titles setting: yes\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: pop\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: permaview\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: above\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: $:/plugins/linonetwo/preview-glass\\nPlugins: \\n  $:/core - 5.3.6\\n  $:/languages/zh-Hans - 5.3.6\\n  $:/plugins/BTC/TiddlyFlex - 0.6.4\\n  $:/plugins/felixhayashi/respawn - 0.0.3\\n  $:/plugins/flibbles/relink - 2.5.1\\n  $:/plugins/flibbles/relink-markdown - 2.5.1\\n  $:/plugins/flibbles/relink-titles - 2.4.0\\n  $:/plugins/FSpark/TiddlerScreenshot - 0.0.5\\n  $:/plugins/Gk0Wk/CPL-Repo - 2025.03.29\\n  $:/plugins/Gk0Wk/echarts - 0.2.13\\n  $:/plugins/Gk0Wk/echarts-liquidfill - 3.1.0\\n  $:/plugins/Gk0Wk/focused-tiddler - 0.0.3\\n  $:/plugins/Gk0Wk/notionpage-covericon - 0.0.14\\n  $:/plugins/Gk0Wk/page-toc - 0.0.5\\n  $:/plugins/Gk0Wk/sidebar-resizer - 0.0.6\\n  $:/plugins/kixam/datepicker - 0.5.2\\n  $:/plugins/kixam/moment - 2.24.0\\n  $:/plugins/kookma/commander - 2.1.13\\n  $:/plugins/kookma/favorites - 4.8.8\\n  $:/plugins/kookma/section - 1.2.2\\n  $:/plugins/kookma/shiraz - 3.0.8\\n  $:/plugins/kookma/shiraz-formatter - 0.6.0\\n  $:/plugins/kookma/solution - 1.3.0\\n  $:/plugins/kookma/tamasha - 0.6.1\\n  $:/plugins/kookma/toc - 1.6.2\\n  $:/plugins/kookma/todolist - 1.5.0\\n  $:/plugins/kookma/utility - 3.2.2\\n  $:/plugins/linonetwo/activity-log-tools - 0.0.1\\n  $:/plugins/linonetwo/autocomplete - 0.5.0\\n  $:/plugins/linonetwo/commandpalette - 2.1.0\\n  $:/plugins/linonetwo/contacts - 0.0.1\\n  $:/plugins/linonetwo/copy-on-select - 2.0.0\\n  $:/plugins/linonetwo/date-filters - 1.2.0\\n  $:/plugins/linonetwo/early-sleep-early-work - 0.2.1\\n  $:/plugins/linonetwo/edit-tags-on-view-mode - 0.0.1\\n  $:/plugins/linonetwo/ego-store-lite - 1.4.3\\n  $:/plugins/linonetwo/fira-code-font - 0.0.1\\n  $:/plugins/linonetwo/flow-chart - 0.2.0\\n  $:/plugins/linonetwo/github-external-image - 0.1.0\\n  $:/plugins/linonetwo/health-buff-debuff-tracker - 1.5.0\\n  $:/plugins/linonetwo/hyper-table - 1.4.3\\n  $:/plugins/linonetwo/in-tagtree-of - 0.2.0\\n  $:/plugins/linonetwo/intention-tower-knowledge-graph - 0.10.1\\n  $:/plugins/linonetwo/inverse-link-and-folder - 1.2.2\\n  $:/plugins/linonetwo/itonnote - 3.4.4\\n  $:/plugins/linonetwo/krystal - 0.7.0\\n  $:/plugins/linonetwo/markdown-transformer - 1.0.0\\n  $:/plugins/linonetwo/mobile-imessage-layout - 0.6.5\\n  $:/plugins/linonetwo/open-in-external-app - 0.2.0\\n  $:/plugins/linonetwo/opened-tiddlers-bar - 1.0.0\\n  $:/plugins/linonetwo/person - 0.1.0\\n  $:/plugins/linonetwo/principles - 0.3.1\\n  $:/plugins/linonetwo/simple-layout-launcher - 0.6.1\\n  $:/plugins/linonetwo/slate-write - 0.5.2\\n  $:/plugins/linonetwo/source-control-management - 0.3.0\\n  $:/plugins/linonetwo/speech-synthesis - 0.1.0\\n  $:/plugins/linonetwo/streams-outliner-lib - 1.4.1\\n  $:/plugins/linonetwo/super-tag - 0.4.3\\n  $:/plugins/linonetwo/switch-static-and-dynamic-page - 1.0.2\\n  $:/plugins/linonetwo/tag-tree-picker-macro - 0.0.1\\n  $:/plugins/linonetwo/template-list - 0.3.0\\n  $:/plugins/linonetwo/tidgi-external-attachments - 1.5.2\\n  $:/plugins/linonetwo/tidgi-ipc-syncadaptor - 1.0.0\\n  $:/plugins/linonetwo/tidgi-ipc-syncadaptor-ui - 1.0.0\\n  $:/plugins/linonetwo/title-caption - 0.3.1\\n  $:/plugins/linonetwo/tmo - 0.1.0\\n  $:/plugins/linonetwo/tw-calendar - 2.1.1\\n  $:/plugins/linonetwo/tw-gamification - 0.6.3\\n  $:/plugins/linonetwo/tw-mobile-sync - 0.9.0\\n  $:/plugins/linonetwo/tw-react - 1.0.0\\n  $:/plugins/linonetwo/tw-server-sitemap - 0.0.3\\n  $:/plugins/linonetwo/tw-whiteboard - 1.7.0\\n  $:/plugins/linonetwo/visualization-dashboard - 1.2.0\\n  $:/plugins/linonetwo/wmo - 0.0.1\\n  $:/plugins/linonetwo/zx-script - 1.0.0\\n  $:/plugins/mat/field-value-selector - 0.0.1\\n  $:/plugins/oeyoews/copy-title - v0.0.3\\n  $:/plugins/oeyoews/mermaid - 11.6.3\\n  $:/plugins/oeyoews/shortcuts - v0.1.8\\n  $:/plugins/oeyoews/tiddlywiki-codemirror-6 - 3.9.2\\n  $:/plugins/oeyoews/tiddlywiki-modal-ui - 1.1.0\\n  $:/plugins/telmiger/EditorCounter - 0.6.6\\n  $:/plugins/telmiger/HarveyBalls - 0.0.6\\n  $:/plugins/telmiger/PluginSize - 1.0.1\\n  $:/plugins/telmiger/rpn - 0.7.3\\n  $:/plugins/tiddlywiki/browser-sniff - 5.3.6\\n  $:/plugins/tiddlywiki/confetti - 5.3.6\\n(This question type does not allow more than 5000 characters)\\n</code></pre></details>\",\n        \"tw-customisations\": \"I only publish mod as plugin, so it won't pollute my own wiki.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"Friendly & fun community of developers, no pushing, no deadline, I can participate only when have spare time. So writing things on its codebase or community feels like an entertainment to play with.\\n\\nHandful of web tools to use with tiddlywiki, so creating things on it is easy and have fast feedback.\\n\\nI hope there can be more people to play together, so sharing things can be more fun.\",\n        \"project-weaknesses\": \"I'm afriad AI makes note taking UI useless, so my investigation on it will be useless too. I myself might also only use AI, if AI can record everything I talk, and answer anything I ask (about personal info).\\n\\nI afriad that there will be fewer new users, so only old guys that have stable usage, so creating is no longer fun on the cummuntiy, because things are stable, old people don't need new things.\\n\\nI want to get more \\\"thumb\\\" when I share things. I hope there are new readers for my post.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00104\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00105.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2010\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2014\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I do not engage with this community\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I read/lurk, but do not post\",\n        \"use-github-discuss\": \"I read/lurk, but do not post\",\n        \"published-plugin\": \"Yes\",\n        \"main-use-cases\": \"Note-taking;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Worldbuilding (e.g. for role-playing games);Programming\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Yes, using a single-file wiki\",\n        \"publish-to-intranet\": \"Yes, served through Node.js\",\n        \"value-of-tw\": \"I use TW to generate a personal website were I drop articles (blog posts), code snippets, photography photos, tips, journal musings, resume, etc. This is served as a single HTML file with static versions of tiddlers for SEO use. I serve Node version to localhost for work stuff\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles;I have written custom JavaScript\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism);Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver);Multi-file wiki served through Node.js\",\n        \"backup-method\": \"DIY (any other solution)\",\n        \"diy-backup-info\": \"For single-file wikis I store in a web hosted folder. For personal blog site (wiki) source is in Git (sourcehut). For node served sites I use tar via a cron job.\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information Daily tasks and notes</summary><pre><code>\\nTiddlyWiki Version: 5.3.7\\nCurrent palette: $:/palettes/SolarizedDark\\nCurrent theme: $:/themes/tiddlywiki/snowwhite\\nCurrent layout: \\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: above\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: $:/config/shortcuts-linux/make-pr-macro,$:/config/shortcuts/cancel-edit-tiddler,$:/config/shortcuts/make-pr-macro\\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.7\\n  $:/plugins/crowdstrike - 5.3.7\\n  $:/plugins/proxy - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-closebrackets - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-keymap-vim - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-search-replace - 5.3.7\\n  $:/plugins/tiddlywiki/filesystem - 5.3.7\\n  $:/plugins/tiddlywiki/highlight - 5.3.7\\n  $:/plugins/tiddlywiki/markdown - 5.3.7\\n  $:/plugins/tiddlywiki/railroad - 5.3.7\\n  $:/plugins/tiddlywiki/tiddlyweb - 5.3.7\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.7\\n  $:/themes/tiddlywiki/vanilla - 5.3.7\\n</code></pre></details>\\n\\n<details><summary>Wiki Information Personal Blog Site</summary><pre><code>\\nTiddlyWiki Version: 5.3.7\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: $:/themes/tritarget/blog\\nCurrent layout: \\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.7\\n  $:/plugins/dullroar/atomfeed - 0.0.3\\n  $:/plugins/sukima/jsbin - 5.3.7\\n  $:/plugins/sukima/obfuscate - 0.0.1\\n  $:/plugins/sukima/pannellum - 2.2.0\\n  $:/plugins/sukima/prepare-media - 5.3.7\\n  $:/plugins/sukima/sourcecode - 0.0.1\\n  $:/plugins/tiddlywiki/highlight - 5.3.7\\n  $:/plugins/tiddlywiki/markdown - 5.3.7\\n  $:/plugins/tiddlywiki/powered-by-tiddlywiki - 5.3.7\\n  $:/plugins/tiddlywiki/qrcode - 5.3.7\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/centralised - 5.3.7\\n  $:/themes/tiddlywiki/snowwhite - 5.3.7\\n  $:/themes/tiddlywiki/vanilla - 5.3.7\\n  $:/themes/tritarget/blog - 5.3.7\\n</code></pre></details>\",\n        \"tw-customisations\": \"Honestly, I'm quick to customize styles, macros, and JavaScript. It is hard for me to list them all.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"For me it is about the core philosophies. 1. brain dumps, I can dump anything to a wiki and not have to fuss about how the information will be organized or presented. The concept of tiddlers frees me of that mental burden. 2. Core knowledge set. TW uses HTML, CSS, and JavaScript that's it. I know my TW will work on any modern PC because they all come with a web browser. Contributing needs nothing more than familiarity with MDN. No React, TypeScript, Vite, CI, Cloud, Database, blah blah blah.\",\n        \"project-weaknesses\": \"I worry that the allure of more fancy looking systems (i.e. obsidian) could motivate the core code to migrate away from core standards like VanillaJS or single-file architecture like a siren's call. That the front end development industry is so saturated with wannabes that the drive to cater to the lowest common denominator sends software down an enshitification path of doom. The filter syntax though powerful can get confusing quickly especially with complex ideas. Improve the Widget API.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00105\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00106.tid",
    "content": "are-you-a-dev: No, I would not\nbackup-method: No automatic sync across my devices\ndiy-backup-info: \nfirst-heard-survey: Talk TiddlyWiki\nfirst-used-tw: \njoined-tw-community: No\nmain-use-cases: Note-taking;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Other\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: Garden Planer, Wine Stock Organizer, Cook Book\npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: keeping compatibility over long period of time\nproject-weaknesses: app style saving on all devices without installing complecated apps or servers (I know ...):-)\npublish-to-intranet: \npublish-to-web: \npublished-plugin: No\nsave-method: Single-file wiki through web browser with Download Saver (default saving mechanism)\nshare-wikis: No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\nstarted-tw-community: \ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00106\ntw-ability-level: I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles;I have written custom JavaScript\ntw-customisations: \ntw-future-confidence: Yes\nuse-discord: \nuse-for-work-or-study: No\nuse-github-discuss: \nuse-mailing-list: \nuse-reddit: \nuse-ttw: \nvalue-of-tw: Customizable platform which support easy data prosessing by functions/procedures. With that easy web apps can be generated\nwiki-setup-info: "
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00107.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Official newsletter\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2008\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"Personal knowledgebase (work + persona/family)\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism);Single-file wiki third-party mobile app (e.g. Tiddloid, Quine)\",\n        \"backup-method\": \"No automatic sync across my devices\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.7\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: $:/themes/tiddlywiki/snowwhite\\nCurrent layout: \\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: yes\\nSidebar layout setting: fixed-fluid\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: $:/plugins/BurningTreeC/PrintRiver,$:/plugins/snowgoon88/edit-comptext\\nPlugins: \\n  $:/core - 5.3.7\\n  $:/plugins/danielo515/2click2edit - 0.1\\n  $:/plugins/ihm/tidgraph - 0.9.6\\n  $:/plugins/telmiger/details - 0.7.6\\n  $:/plugins/TWaddle/ListTree - 1.0.4\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.7\\n  $:/themes/tiddlywiki/vanilla - 5.3.7\\n</code></pre></details>\",\n        \"tw-customisations\": \"none\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"Keeping it still within the browser as a simple html file.\\nSensible approach, ie. keep the base as simple as possible, ie. not screwing it with too many features.\\nCommunication via newsletter (neither too often nor not enough) - it is just right.\\nMaintain a wide community.\",\n        \"project-weaknesses\": \"Despite reading many tips and guides in the community wikis, I often as a non developer struggle to understand majority of advices. Usually I am capable of reusing only the code that includes the example. - Just the text description simply does not work for me. Typical bad example:\\nTranscluding Text References, You can also use a TextReference instead of a tiddler title:\\n{{MyTiddler##index}} transcludes a specified indexed property of a DataTiddler\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00107\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00108.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Official newsletter\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2025\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2025\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I do not engage with this community\",\n        \"use-reddit\": \"I read/lurk, but do not post\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"I really like the self-hosting, no plan aspect. The fact that my file will still work in 10 years.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver);Single-file wiki third-party mobile app (e.g. Tiddloid, Quine)\",\n        \"backup-method\": \"Consumer online storage (e.g. Google Drive, Dropbox)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/palettes/CupertinoDark\\nCurrent theme: \\nCurrent layout: $:/core/ui/PageTemplate\\nBrowser language setting: fr\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: yes\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: permaview\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: $:/config/shortcuts-mac/switch-reader-mode,$:/config/shortcuts/navigate-previous,$:/config/shortcuts/save-and-close-focused\\nDisabled plugins: $:/plugins/felixhayashi/topstoryview\\nPlugins: \\n  $:/core - 5.3.6\\n  $:/plugins/felixhayashi/hotzone - 0.0.3\\n  $:/plugins/felixhayashi/tiddlymap - 0.17.20+10024\\n  $:/plugins/felixhayashi/vis - \\n  $:/plugins/flibbles/relink - 2.4.4\\n  $:/plugins/Gk0Wk/sidebar-resizer - 0.0.6\\n  $:/plugins/kookma/commander - 2.1.13\\n  $:/plugins/kookma/utility - 3.2.2\\n  $:/plugins/scribs/nav - 0.1\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.6\\n  $:/themes/tiddlywiki/vanilla - 5.3.6\\n</code></pre></details>\",\n        \"tw-customisations\": \"A bit of stylesheet. I'm considering creating a theme\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"I like the discussions on Talk.\",\n        \"project-weaknesses\": \"?\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00108\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00109.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Official newsletter\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2025\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Producing/publishing interactive fiction;Worldbuilding (e.g. for role-playing games);Narrative fiction writing (either supporting its creation or directly writing in TiddlyWiki);Programming;Other\",\n        \"other-use-cases\": \"Ticketing System (à la Jira), as a website (via TiddlyHost), personal blog, cookbook, and bookmark manager for my browser (new tabs)\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Yes, using a single-file wiki\",\n        \"publish-to-intranet\": \"Yes, using a single-file wiki\",\n        \"value-of-tw\": \"A lot!\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver);Single-file wiki with TiddlyDesktop;Single-file wiki with third-party desktop app (e.g. TidGi Desktop, twexe)\",\n        \"backup-method\": \"TiddlySpot / TiddlyHost;Git forge (GitHub, Gitea/Forgejo, GitLab);Web or cloud hosting (other than TiddlyHost/TiddlySpot e.g. Netlify, AWS, OVH, Google Cloud...);Neocities, Nekoweb, tiiny.host, omg.lol and similar services;DIY (any other solution)\",\n        \"diy-backup-info\": \"SyncThing\",\n        \"wiki-setup-info\": \"\",\n        \"tw-customisations\": \"\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"Its high level of customization is a great aspect\",\n        \"project-weaknesses\": \"I've dabbled with Obsidian, and find myself constantly switching between TiddlyWiki and Obsidian. The one strong thing that Obsidian has that TW5 does not is the ability to easily paste images and have them be saved in a specific folder. I've been working on my own solution for that, but it's still in the works.\\n\\nAn autosave, if possible at all, would be great; far too many times I've had a browser crash, or something similar (or god forbid a Windows update overnight) and lost some data.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00109\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00110.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2022\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2022\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I do not engage with this community\",\n        \"use-reddit\": \"I read/lurk, but do not post\",\n        \"use-discord\": \"I read and post in this community\",\n        \"use-github-discuss\": \"I read/lurk, but do not post\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Other\",\n        \"other-use-cases\": \"catalog and display a library of PDFs (sheet music) via iPad.\",\n        \"use-for-work-or-study\": \"Not applicable (as retired, etc)\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Yes, using a single-file wiki\",\n        \"publish-to-intranet\": \"Not publishing to this location\",\n        \"value-of-tw\": \"I've several \\\"offline\\\" wikis, all accessible via my main wiki. Used daily. The ONLY tool that allows me to replicate previously used Proj.Manage/GTD tools as 1-stop-solution. Previous used localhost web to do similar BUT TW is a smart bridge to my archived web-projects.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\",\n        \"backup-method\": \"N/A - I keep my wiki on a single system\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: $:/themes/tiddlywiki/vanilla\\nCurrent layout: \\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fixed-fluid\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: permalink\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.6\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.6\\n  $:/themes/tiddlywiki/vanilla - 5.3.6\\n</code></pre></details>\",\n        \"tw-customisations\": \"custom CSS. Dabble with javascript/macros learned via \\\"community\\\" to address specific wants/needs. I document &/ experiment to improve my limited TW knowledge. Getting old (retired) and I find the information on TW.com a bit hard to follow, so I've settled for \\\"basic\\\" usage.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"No\",\n        \"project-strengths\": \"Simplicity. Functional as is (vanilla) but tempts me to learn more (ie. I could mould this to my own needs/tastes IF I KNEW HOW). The community is very helpful and I appreciate their effort --- but I struggle to join the dots. My slow learning curve kinda stopped after the first 12-months.  \\nHopeful (excited?) for recognition of the future benefits in encouraging non-tech people (like me) to use TW and grow their own expertise. Let's NOT hand-over all avenues for critical thinking to AI.\",\n        \"project-weaknesses\": \"* I hate to imagine leaving TW behind. I fear not having Timimi ! \\n* TW.com resources don't clarify what I must understand in order to go deeper. After trial and error I usually settle for a clumsy solution BECAUSE I don't comprehend the \\\"expert solution\\\". \\n* I'd love to help develop a beginner/non-coder scaffold-learning layer to TW.com resources. I got the feeling \\\"this\\\" might be considered redundant since there's already Grok, etc. (Grok didn't match my needs/interests)\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00110\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00111.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2005\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"It provides me a portable means of recording and editing knowledge that I can carry with me in a simple jump drive for use on any number of computers.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...)\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism)\",\n        \"backup-method\": \"DIY (any other solution)\",\n        \"diy-backup-info\": \"I use FreeFileSync to backup my Tiddlywiki files to an external harddrive and jump drive.\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/palettes/Vanilla 1\\nCurrent theme: \\nCurrent layout: \\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.6\\n  $:/plugins/tiddlywiki/markdown - 5.3.6\\n  $:/plugins/tiddlywiki/menubar - 5.3.6\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.6\\n  $:/themes/tiddlywiki/vanilla - 5.3.6\\n</code></pre></details>\",\n        \"tw-customisations\": \"\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"Nothing specific comes to mind, just keep doing the good work of maintaining and improving this valuable resource.\",\n        \"project-weaknesses\": \"Nothing that I can think of.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00111\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00112.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Official newsletter\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2017\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2019\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I read and post in this community\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"Knowledge base and journaling assistance and pleasure to program it\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles;I have written custom JavaScript\",\n        \"save-method\": \"Single-file wiki with TiddlyDesktop\",\n        \"backup-method\": \"Web or cloud hosting (other than TiddlyHost/TiddlySpot e.g. Netlify, AWS, OVH, Google Cloud...)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.7\\nCurrent palette: $:/palettes/Twilight\\nCurrent theme: $:/themes/tiddlywiki/vanilla\\nCurrent layout: $:/core/ui/PageTemplate\\nBrowser language setting: fr-FR\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: $:/config/shortcuts/cancel-edit-tiddler\\nDisabled plugins: $:/plugins/bimlas/kin-filter,$:/plugins/kookma/refnotes,$:/plugins/tiddlywiki/codemirror-keymap-vim,$:/plugins/tiddlywiki/codemirror-mode-htmlmixed,$:/plugins/tiddlywiki/codemirror-mode-xml,$:/plugins/tiddlywiki/comments,$:/plugins/tiddlywiki/qrcode,$:/plugins/yaisog/ancestors-filter,$:/plugins/yaisog/descendants-filter\\nPlugins: \\n  $:/core - 5.3.7\\n  $:/languages/fr-FR - 5.3.7\\n  $:/plugins/aaldrich/tables - 0.6.21\\n  $:/plugins/flibbles/relink - 2.4.0\\n  $:/plugins/kixam/datepicker - 0.5.2\\n  $:/plugins/kixam/moment - 2.24.0\\n  $:/plugins/kookma/commander - 2.1.6\\n  $:/plugins/kookma/shiraz - 2.9.0\\n  $:/plugins/linonetwo/in-tagtree-of - 0.2.0\\n  $:/plugins/nbreziat/checklist - 0.0.19\\n  $:/plugins/tiddlywiki/codemirror - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-autocomplete - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-closebrackets - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-closetag - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-mode-css - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-mode-htmlembedded - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-mode-javascript - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-search-replace - 5.3.7\\n  $:/plugins/tiddlywiki/external-attachments - 5.3.7\\n  $:/plugins/tiddlywiki/highlight - 5.3.7\\n  $:/plugins/tiddlywiki/menubar - 5.3.7\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.7\\n  $:/themes/tiddlywiki/vanilla - 5.3.7\\n</code></pre></details>\",\n        \"tw-customisations\": \"Yes many customisation from the community (from Grok and others)\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"Above all I appreciate to have a free open source software that I can manage by myself.\\nI like to have new features that facilite the way to use it and enhance the possibilities \\nI like the rich plugin library\\nMWS looks great, even if I did not tried it yet\",\n        \"project-weaknesses\": \"I don't think I will stop using it, unless the business model changes\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00112\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00113.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Talk TiddlyWiki\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2005\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2006\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I read and post in this community\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"Yes\",\n        \"main-use-cases\": \"Note-taking;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Other\",\n        \"other-use-cases\": \"Web-publishing educational materials (with constant real-time updates for students)\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Yes, using a single-file wiki\",\n        \"publish-to-intranet\": \"Not publishing to this location\",\n        \"value-of-tw\": \"It is the engine of all my work: my bibliographic database, teaching resources, home information and reminders management.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\",\n        \"backup-method\": \"TiddlySpot / TiddlyHost\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.5\\nCurrent palette: $:/palettes/Blanca_wes\\nCurrent theme: \\nCurrent layout: \\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: no\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: permalink\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: $:/plugins/aaldrich/tables,$:/plugins/ajh/tiddlytime,$:/plugins/benwebber/tag-count,$:/plugins/bimlas/highlight-searched-text,$:/plugins/BTC/tiddly-touch,$:/plugins/BurningTreeC/KeeBoord,$:/plugins/BurningTreeC/muuritouch,$:/plugins/BurningTreeC/PrintRiver,$:/plugins/chanilino/viz,$:/plugins/danielo/encryptTiddler,$:/plugins/danielo515/ContextPlugin,$:/plugins/danielo515/encryptTiddler,$:/plugins/eucaly/popuptagger,$:/plugins/hchaase/toc_counting,$:/plugins/ihm/tidgraph,$:/plugins/jd/fullscreen-editor,$:/plugins/jd/NTFS,$:/plugins/jd/NTFS19,$:/plugins/mklauber/aliases,$:/plugins/OokTech/WordCount,$:/plugins/sk/ColorText,$:/plugins/sk/FancyQuotes,$:/plugins/snowgoon88/edit-comptext,$:/plugins/telmiger/ColorAction,$:/plugins/telmiger/EditorCounter,$:/plugins/telmiger/listreveal,$:/plugins/telmiger/PluginSize,$:/plugins/telmiger/ReaderMode,$:/plugins/telmiger/rpn,$:/plugins/telmiger/WMR,$:/plugins/tgrosinger/tw5-checklist,$:/plugins/tiddlywiki/browser-sniff,$:/plugins/tiddlywiki/comments,$:/plugins/tiddlywiki/freelinks,$:/plugins/tiddlywiki/hammerjs,$:/plugins/tiddlywiki/tw2parser,$:/plugins/tobibeer/appear,$:/plugins/tobibeer/inc,$:/plugins/tobibeer/plantuml,$:/plugins/tobibeer/preview,$:/plugins/tobibeer/random,$:/plugins/tobibeer/sparkl,$:/plugins/tobibeer/split,$:/plugins/TWaddle/ListTree,$:/plugins/wikilabs/uni-link\\nPlugins: \\n  $:/core - 5.3.5\\n  $:/plugins/ajh/favorites - 3.0.7\\n  $:/plugins/eucaly/quickjump - 0.0.2\\n  $:/plugins/EvidentlyCube/AdvancedPerformance - 1.1.4\\n  $:/plugins/EvidentlyCube/GoToShortcut - 0.3.1\\n  $:/plugins/flibbles/relink - 2.3.1\\n  $:/plugins/flibbles/relink-fieldnames - 2.3.0\\n  $:/plugins/Gk0Wk/sidebar-resizer - 0.0.3\\n  $:/plugins/kookma/commander - 2.1.6\\n  $:/plugins/kookma/pinboard - 1.1.1\\n  $:/plugins/kookma/refnotes - 1.8.6\\n  $:/plugins/kookma/shiraz - 2.8.1\\n  $:/plugins/kookma/shiraz-callout - 0.6.0\\n  $:/plugins/kookma/utility - 2.6.1\\n  $:/plugins/linonetwo/prevent-edit - 0.0.1\\n  $:/plugins/mklauber/shuffle - 1.0.2\\n  $:/plugins/oeyoews/tiddlywiki-codemirror-6 - 1.6.5\\n  $:/plugins/sq/spotlight - 0.0.4\\n  $:/plugins/telmiger/details - 0.7.6\\n  $:/plugins/telmiger/HarveyBalls - 0.0.6\\n  $:/plugins/tiddlywiki/internals - 5.3.5\\n  $:/plugins/tiddlywiki/menubar - 5.3.5\\n  $:/plugins/tiddlywiki/powered-by-tiddlywiki - 5.3.5\\n  $:/plugins/TWaddle/Annotations - 1.0.0\\n  $:/plugins/TWaddle/hide - 0.0.2\\n  $:/plugins/wikilabs/edit-tabs - 3.0.0\\n  $:/plugins/wikilabs/space-space-newline - 0.2.0\\n  $:/plugins/wikilabs/trim-whitespace - 0.1.0\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.5\\n  $:/themes/tiddlywiki/vanilla - 5.3.5\\n</code></pre></details>\",\n        \"tw-customisations\": \"Customizations include importer for moodle JSON (thx saq!). I rely on: Shiraz dynamic tables, Refnotes (+my own further development for bibtex jsons); readOnly customizations, complex view templates & TOCs, including at various \\\"Missing tiddler\\\" nodes; TWTones' filter-pills\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"TiddlyWiki itself is of course the mean appeal. It's an extraordinary and beautiful phenomenon!\\nUser community is fantastic. \\nRelink and Conditional shortcut syntax, functions, better variable handling... are all very welcome shifts in core.\\nI am potentially excited about MultiUserWiki, though it won't really mature until it can be served on web and used over http (including authentication), and/or until it integrates with SSO/AD authentication for smooth use on institutional networks.\",\n        \"project-weaknesses\": \"I *cannot* imagine leaving TW. \\nFEAR: Even tho TW5 itself is \\\"eternal\\\" (would continue to work fine even if *everyone* were abducted by aliens), my own essential workflow is 100% TiddlyHost, which has no such guarantee. If Simon Baird were abducted by aliens, I would be scrambling to cobble together a workable setup. \\nAnother positive game-changer for me would be authentication-integration with SSO / Active DIrectory, which (if I understand correctly) might allow better university-server use.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00113\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00114.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2010\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"N/A - Still experimenting/no set use case for TiddlyWiki\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"No\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"-10?\\nProblem is : all help is targeted to software developers? I've started to read the ''excellent'' Grok TW from Soren, but... the concepts are just too.\\nMoreover, there's no \\\"noob\\\" help. I try to set up \\\"lists\\\" of tags and I get 3 examples that are way out of my league!\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism)\",\n        \"backup-method\": \"TiddlySpot / TiddlyHost\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.7\\nCurrent palette: $:/palettes/Nord\\nCurrent theme: \\nCurrent layout: \\nBrowser language setting: fr\\nDefault type for missing tiddlers: \\nAuto save setting: no\\nCode wrapping setting: pre-wrap\\nSticky titles setting: yes\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: enable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.7\\n  $:/plugins/flibbles/relink - 2.5.1\\n  $:/plugins/flibbles/relink-fieldnames - 2.5.0\\n  $:/plugins/flibbles/relink-titles - 2.4.0\\n  $:/plugins/Gk0Wk/CPL-Repo - 2025.03.29\\n  $:/plugins/Gk0Wk/sidebar-resizer - 0.0.6\\n  $:/plugins/kookma/commander - 2.1.14\\n  $:/plugins/kookma/favorites - 4.9.0\\n  $:/plugins/kookma/garden - 1.2.2\\n  $:/plugins/kookma/kara - 0.9.7\\n  $:/plugins/kookma/shiraz - 3.0.10\\n  $:/plugins/tiddlywiki/menubar - 5.3.7\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.7\\n  $:/themes/tiddlywiki/vanilla - 5.3.7\\n</code></pre></details>\",\n        \"tw-customisations\": \"it's up in the information no? I'm testing a lot, but there's no real manual and it's tedious or too complex. \\nMost plugin authors don't do any effort to explain what, where, and how!\\nThat's why I'm not a regular user despite I discovered TW long ago...\",\n        \"positive-about-future\": \"No\",\n        \"tw-future-confidence\": \"No\",\n        \"project-decision-trust\": \"No\",\n        \"project-strengths\": \"Devs, esp core ones, have really put much thoughts in this program. It really has much and great possibilities and options while being just one single \\\"text\\\" file! \\nKudos.\\nOh, btw, I'm an IT tech, do some SQL, Json, API, html, js, and manage DBs... since 30 years.\",\n        \"project-weaknesses\": \"Devs and the community must realise that they are talking to a public who isn't acquainted with IT stuff: ppl use the soft and don't care about the tech under the hood.\\nAnd since you can't even save easily, that's terrible for ppl even if there's tiddlyhost, although only autosave for TW that are \\\"external\\\" works.\\nThat's why, despite the hours I regularly put in to understand the concepts, I can't get it to work my way and do what I want with it... put text in, save and retrieve it!\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00114\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00115.tid",
    "content": "are-you-a-dev: Yes, I would\nbackup-method: DIY (any other solution)\ndiy-backup-info: Syncthing\nfirst-heard-survey: tiddlywiki.com\nfirst-used-tw: 2009\njoined-tw-community: No\nmain-use-cases: Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Worldbuilding (e.g. for role-playing games);Narrative fiction writing (either supporting its creation or directly writing in TiddlyWiki)\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: \npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: The overall consistency, stability and quality of tiddlywiki.\nproject-weaknesses: I find myself writing more and longer texts. The writing experience in the editor is functional, but it's not a great and inspiring experience that I am looking forward to. Especially in terms of out of the box look and feel and quality of life features (auto complete etc) there is room for improvement.\npublish-to-intranet: Not publishing to this location\npublish-to-web: Yes, served through Node.js\npublished-plugin: No\nsave-method: Multi-file wiki served through Node.js\nshare-wikis: Yes, with multiple editors/administrators\nstarted-tw-community: \ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00115\ntw-ability-level: I am comfortable writing filter expressions\ntw-customisations: \ntw-future-confidence: Yes\nuse-discord: \nuse-for-work-or-study: Yes\nuse-github-discuss: \nuse-mailing-list: \nuse-reddit: \nuse-ttw: \nvalue-of-tw: It's a flexible knowledge management system that scales well from small collections of ad-hoc notes to large story bibles.\nwiki-setup-info: "
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00116.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Other\",\n        \"other-survey-source\": \"Online blog about FOSS notetaking apps as alternatives to OneNote\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2020\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2021\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I read/lurk, but do not post\",\n        \"use-reddit\": \"I read/lurk, but do not post\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I read/lurk, but do not post\",\n        \"published-plugin\": \"Yes\",\n        \"main-use-cases\": \"Note-taking;Journalling;As a knowledge base (including technical, non-fiction and encyclopaedic content);Worldbuilding (e.g. for role-playing games);Other\",\n        \"other-use-cases\": \"Recording plaintext config files, such as CFG files for Counterstrike or Keyboard layouts for Heliboard, as well as OSINT profiles for work.\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"It serves the same purpose as a pocket notebook or pocket journal, but infinitely more valuable to me.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism);Single-file wiki third-party mobile app (e.g. Tiddloid, Quine)\",\n        \"backup-method\": \"TiddlySpot / TiddlyHost;Git forge (GitHub, Gitea/Forgejo, GitLab);No automatic sync across my devices;N/A - I keep my wiki on a single system\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"I am on mobile and unable to do so, but it is close to vanilla, with minor changes, such as a left sidebar, more responsive button elements (mouse cursor to pointer on clickable elements) a few quality of life plugins, but overall nothing advanced.\",\n        \"tw-customisations\": \"Adjustments to core and boot tiddlers, increased encryption to 256 aes, left sidebar plugin, etc.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"When le thongs are slower because it is community run and organized, I think the outcome of decisions is ideal. I would rather slow and steady improvements that cater to what users want vs what most corporations do.\",\n        \"project-weaknesses\": \"Making documentation easier to consume, such as more examples, possibly using images or web gift showing usage of different features, discussions about why one feature superseded another, recommended uses to achieve some functions, etc.\\n\\nI also think a more public face would be good. I.e. a YouTube channel showing how to start with TW and get to a point where all aspects have been changed in some way.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00116\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00117.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Reddit\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2014\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2018\",\n        \"use-ttw\": \"I read/lurk, but do not post\",\n        \"use-mailing-list\": \"I do not engage with this community\",\n        \"use-reddit\": \"I read/lurk, but do not post\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"Yes\",\n        \"main-use-cases\": \"Note-taking;Journalling;As a knowledge base (including technical, non-fiction and encyclopaedic content);Worldbuilding (e.g. for role-playing games)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"No\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"Super extendable and customisable knowlegde base\",\n        \"tw-ability-level\": \"I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles;I have written custom JavaScript\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver);Multi-file wiki served through Node.js\",\n        \"backup-method\": \"Git forge (GitHub, Gitea/Forgejo, GitLab);Consumer online storage (e.g. Google Drive, Dropbox);Web or cloud hosting (other than TiddlyHost/TiddlySpot e.g. Netlify, AWS, OVH, Google Cloud...);WebDAV\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"\",\n        \"tw-customisations\": \"\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"Stability\",\n        \"project-weaknesses\": \"Better landing page and learning material for beginners/non coders.\\nThe website looks out dated and tiddlywki is not very visible or findable\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00117\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00118.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Mastodon\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2011\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2012\",\n        \"use-ttw\": \"I read/lurk, but do not post\",\n        \"use-mailing-list\": \"I read and post in this community\",\n        \"use-reddit\": \"I read and post in this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I read/lurk, but do not post\",\n        \"published-plugin\": \"Yes\",\n        \"main-use-cases\": \"Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Programming;Other\",\n        \"other-use-cases\": \"Server and content manager (blogs and gemlogs)\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Yes, using a single-file wiki;Yes, served through Node.js\",\n        \"publish-to-intranet\": \"Yes, using a single-file wiki;Yes, served through Node.js\",\n        \"value-of-tw\": \"TiddlyWiki is my main personal \\\"pensieve\\\" and it derives in a lot of tools that benefit me in all aspects of my life.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Multi-file wiki served through Node.js;Single-file wiki with third-party desktop app (e.g. TidGi Desktop, twexe)\",\n        \"backup-method\": \"TiddlySpot / TiddlyHost;Neocities, Nekoweb, tiiny.host, omg.lol and similar services;DIY (any other solution)\",\n        \"diy-backup-info\": \"I use Syncthing for keep my personal/single-file TiddlyWikis between all my devices (4 laptops with Linux, an old iMac with MacOS and Linux, work PC with Windows, smartphones and tablets with Android).\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.5\\nCurrent palette: $:/palettes/Muted\\nCurrent theme: $:/themes/tiddlywiki/snowwhite\\nCurrent layout: \\nBrowser language setting: es-MX\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: yes\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: enable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: $:/plugins/sq/ExternalContent,$:/plugins/tiddlywiki/codemirror,$:/plugins/tiddlywiki/markdown\\nPlugins: \\n  $:/core - 5.3.5\\n  $:/languages/es-ES - 5.3.5\\n  $:/plugins/giffmex/subsume - 1.0.2\\n  $:/plugins/ihm/tidgraph - 0.9.6\\n  $:/plugins/kixam/datepicker - 0.5.2\\n  $:/plugins/kixam/moment - 2.18.1\\n  $:/plugins/TheDiveO/FontAwesome - 1.2.16\\n  $:/plugins/tiddlywiki/highlight - 5.3.5\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.5\\n  $:/themes/tiddlywiki/vanilla - 5.3.5\\n</code></pre></details>\",\n        \"tw-customisations\": \"I've created tiddlers as dashboards, tools for batch editing (asign/delete tags and fields), hide/unhide UI elements, create/delete tiddlers for different purposes, and so on. Most of this work is based on community approaches and some is generated by me from scratch.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"TiddlyWiki's ''documentation'' is awesome!\",\n        \"project-weaknesses\": \"Community tiddler, in tiddlywiki.com, looks very outdated or unmaintained. May be, keeping this updated with more examples from users, in different languages, could help to engage more people and reinforce the base of existing //tiddlywikers//.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00118\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00119.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2007\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"As a knowledge base (including technical, non-fiction and encyclopaedic content);Worldbuilding (e.g. for role-playing games);Narrative fiction writing (either supporting its creation or directly writing in TiddlyWiki);Other\",\n        \"other-use-cases\": \"documenting my constructed languages\",\n        \"use-for-work-or-study\": \"No\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Yes, using a single-file wiki\",\n        \"publish-to-intranet\": \"Not publishing to this location\",\n        \"value-of-tw\": \"makes it easy to find and organize information about my constructed languages, and my writing universes\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Multi-file wiki served through Node.js;Single-file wiki with TiddlyDesktop\",\n        \"backup-method\": \"N/A - I keep my wiki on a single system\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/palettes/Thunder\\nCurrent theme: $:/themes/cdr/captivate\\nCurrent layout: $:/themes/cdr/captivate/ui/PageLayout\\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-rounded\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: bottom\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.6\\n  $:/plugins/cdr/colorlab - 0.2.0\\n  $:/plugins/tiddlywiki/filesystem - 5.3.6\\n  $:/plugins/tiddlywiki/highlight - 5.3.6\\n  $:/plugins/tiddlywiki/tiddlyweb - 5.3.6\\n  $:/temp/info-plugin - \\n  $:/themes/cdr/captivate - 0.2.1\\n  $:/themes/tiddlywiki/snowwhite - 5.3.6\\n  $:/themes/tiddlywiki/vanilla - 5.3.6\\n</code></pre></details>\",\n        \"tw-customisations\": \"I pretty much always make a custom stylesheet\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"I can't think of anything. The change from Classic to the version was a good change. The community is very helpful\",\n        \"project-weaknesses\": \"documentation - it's either lacking or written for technical people. It'd be great if there was more written at a basic level\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00119\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00120.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2019\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2021\",\n        \"use-ttw\": \"I read/lurk, but do not post\",\n        \"use-mailing-list\": \"I do not engage with this community\",\n        \"use-reddit\": \"I read/lurk, but do not post\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I read/lurk, but do not post\",\n        \"published-plugin\": \"Yes\",\n        \"main-use-cases\": \"Note-taking;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Programming\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"I use it primarily as a personal project management solution where I keep notes, tasks, and other info in one place with a flexible ui.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Multi-file wiki served through Node.js\",\n        \"backup-method\": \"N/A - I keep my wiki on a single system\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.7\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: $:/themes/tiddlywiki/snowwhite\\nCurrent layout: \\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-autocomplete - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-closebrackets - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-closetag - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-mode-css - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-mode-htmlembedded - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-mode-htmlmixed - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-mode-javascript - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-mode-xml - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-search-replace - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-trailingspace - 5.3.7\\n  $:/plugins/tiddlywiki/highlight - 5.3.7\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.7\\n  $:/themes/tiddlywiki/vanilla - 5.3.7\\n</code></pre></details>\",\n        \"tw-customisations\": \"While I know and can write JavaScript, I try to avoid making js macros. I do write all the others, stylesheets, macros, functions, widgets, and procedures.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"Tiddlywiki is a uniquely powerful tool for managing information. While it can take some time to learn and setup, it can be customized and used like no other tool out there. It has a great team of core developers, and the improvements made to the scripting options over the past few years have been very helpful and well executed. I particularly like the addition of widgets and functions.\",\n        \"project-weaknesses\": \"I stopped using tiddlywiki for a while because I don’t find the editing experience as nice as other tools like Logseq or obsidian where only the part of the page being edited is shown as the raw text, but those tools don’t feature anything close to the built in power tiddlywiki provides for connecting information. I think localized editing would be a nice feature to implement but don’t really know how that would change the tool. I also feel saving wikis in general should not be so complicated.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00120\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00121.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Official newsletter\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2022\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"Helps me greatly to organize the large amount of constantly changing information that I need to manage for my work. In my personal life, I use it to organize the notes I take from books and articles, to discover more connections between the things I read, to retain more knowledge\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions\",\n        \"save-method\": \"Single-file wiki with TiddlyDesktop\",\n        \"backup-method\": \"Consumer online storage (e.g. Google Drive, Dropbox);Web or cloud hosting (other than TiddlyHost/TiddlySpot e.g. Netlify, AWS, OVH, Google Cloud...)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.3\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: $:/themes/tiddlywiki/snowwhite\\nCurrent layout: \\nBrowser language setting: en-GB\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: yes\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: bottom\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.3\\n  $:/plugins/flibbles/relink - 2.4.5\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.3\\n  $:/themes/tiddlywiki/vanilla - 5.3.3\\n</code></pre></details>\",\n        \"tw-customisations\": \"Macros for easy linking to issue-tracking system at work by ticket ID, and other similar link macros.\\nButton-linked actions to create new pages from a template, with given title, tag, and custom field\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"Stability and backward compatibility,\\nconsistent vision\",\n        \"project-weaknesses\": \"first-party, officially supported desktop and mobile apps would be nice\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00121\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00122.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2023\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2023\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I do not engage with this community\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Programming;Other\",\n        \"other-use-cases\": \"Time tracking, Expense Log, Holiday Planning,\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"Store knowledge which I can use later (e.g. setup procedures)\\nand most of all FIND these knowledge again easily.\\nMy last attempt was to put it altogether in different text files which quickly became confusing\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism);Single-file wiki third-party mobile app (e.g. Tiddloid, Quine)\",\n        \"backup-method\": \"TiddlySpot / TiddlyHost;WebDAV;DIY (any other solution)\",\n        \"diy-backup-info\": \"rclone (as webdav service)\\nduplicati (as backup)\\nFile Manager Pro (iOS, for sync)\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: \\nCurrent layout: $:/core/ui/PageTemplate\\nBrowser language setting: de-DE\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: yes\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: pop\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: enable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: $:/plugins/tiddlywiki/menubar\\nPlugins: \\n  $:/core - 5.3.6\\n  $:/languages/de-AT - 5.3.6\\n  $:/languages/de-DE - 5.3.6\\n  $:/plugins/kookma/commander - 2.1.5\\n  $:/plugins/tiddlywiki/codemirror - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-mode-css - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-mode-htmlmixed - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-mode-javascript - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-mode-xml - 5.3.6\\n  $:/plugins/tiddlywiki/comments - 5.3.6\\n  $:/plugins/tiddlywiki/filesystem - 5.3.6\\n  $:/plugins/tiddlywiki/help - 5.3.6\\n  $:/plugins/tiddlywiki/highlight - 5.3.6\\n  $:/plugins/tiddlywiki/internals - 5.3.6\\n  $:/plugins/tiddlywiki/railroad - 5.3.6\\n  $:/plugins/TWaddle/Stylefields - 1.0.2\\n  $:/plugins/wikilabs/keyvalues - 2.2.1\\n  $:/plugins/wikilabs/space-space-newline - 0.2.0\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.6\\n  $:/themes/tiddlywiki/vanilla - 5.3.6\\n</code></pre></details>\",\n        \"tw-customisations\": \"A lot, like time keeping functions,\\ncopy-code (Copy to Clipboard for Code-Snippets)\\noutput (formatted screen-output), ...\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"At my current insight and knowledge, the project and community works very well and are always helpful.\\nIf I should ever find things which could be done better, I will post a message in talk.tiddlywiki\",\n        \"project-weaknesses\": \"At my current insight and knowledge, the project and community works very well and are always helpful.\\nIf I should ever find things which could be done better, I will post a message in talk.tiddlywiki\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00122\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00123.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Talk TiddlyWiki\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2022\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2022\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I do not engage with this community\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I read/lurk, but do not post\",\n        \"use-github-discuss\": \"I read/lurk, but do not post\",\n        \"published-plugin\": \"Yes\",\n        \"main-use-cases\": \"Note-taking;As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Yes, using a single-file wiki\",\n        \"publish-to-intranet\": \"Not publishing to this location\",\n        \"value-of-tw\": \"Allows me to organize information related to my work and private notes in a very flexible and customizable way, accessible over the web (no need for additional software), future-proof and independent of any companies.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\",\n        \"backup-method\": \"TiddlySpot / TiddlyHost\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/wilk/palettes/GraphiteLight10\\nCurrent theme: $:/themes/tiddlywiki/vanilla\\nCurrent layout: $:/core/ui/PageTemplate\\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: no\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: permaview\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: $:/config/shortcuts-mac/pseudo-zoom-in,$:/config/shortcuts-mac/pseudo-zoom-out,$:/config/shortcuts-mac/pseudo-zoom-reset,$:/config/shortcuts-not-mac/pseudo-zoom-in,$:/config/shortcuts-not-mac/pseudo-zoom-out,$:/config/shortcuts-not-mac/pseudo-zoom-reset,$:/config/shortcuts/cancel-edit-tiddler,$:/config/shortcuts/EC-AutoComplete,$:/config/shortcuts/highlight-o,$:/config/shortcuts/open-command-palette,$:/config/shortcuts/sidebar-search,$:/config/shortcuts/stamp\\nDisabled plugins: $:/plugins/linonetwo/commandpalette,$:/plugins/oeyoews/neotw-spotlight,$:/plugins/scribs/nav,$:/plugins/tiddlywiki/codemirror-closebrackets,$:/plugins/tiddlywiki/codemirror-keymap-sublime-text,$:/plugins/tiddlywiki/codemirror-mode-css,$:/plugins/tiddlywiki/codemirror-search-replace,$:/plugins/tiddlywiki/menubar,$:/plugins/wikilabs/link-to-tabs,$:/plugins/wikilabs/palette-manager,$:/plugins/wikilabs/thin-scrollbars\\nPlugins: \\n  $:/core - 5.3.6\\n  $:/plugins/benwebber/motion - 0.3.0\\n  $:/plugins/bimlas/kin-filter - 1.0.1\\n  $:/plugins/danielo515/encryptTiddler - 2.5\\n  $:/plugins/EvidentlyCube/AutoComplete - 1.0.20\\n  $:/plugins/flibbles/relink - 2.4.5\\n  $:/plugins/flibbles/relink-titles - 2.4.0\\n  $:/plugins/flibbles/relink-variables - 2.4.1\\n  $:/plugins/jd/mob - 1.0.4\\n  $:/plugins/kookma/commander - 2.1.13\\n  $:/plugins/souk21/commandpalette - 0.0.7\\n  $:/plugins/sq/spotlight - 0.0.5\\n  $:/plugins/tiddlywiki/katex - 5.3.6\\n  $:/plugins/tiddlywiki/lucide-core - 5.3.6-beta-021\\n  $:/plugins/TWaddle/pluginsize - 1.0.0\\n  $:/plugins/wilk/br-editor-button - 1.0.5\\n  $:/plugins/wilk/comment-css-js-editor-button - 1.0.0\\n  $:/plugins/wilk/comment-html-editor-button - 1.0.1\\n  $:/plugins/wilk/copy-code-button - 1.0.3\\n  $:/plugins/wilk/dictionary-table - 1.0.7\\n  $:/plugins/wilk/highlight-editor-button - 1.0.4\\n  $:/plugins/wilk/nbsp-editor-button - 1.0.2\\n  $:/plugins/wilk/pwa-manifest - 1.0.4\\n  $:/plugins/wilk/solid-link-button - 1.0.0\\n  $:/plugins/wilk/tab-editor-button - 1.0.4\\n  $:/plugins/wilk/translinkify-editor-button - 1.0.2\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.6\\n  $:/themes/tiddlywiki/vanilla - 5.3.6\\n</code></pre></details>\",\n        \"tw-customisations\": \"Some minor custom styles, procedures, and templates. The most relevant is probably a view template that displays certain tiddler-related information below it, e.g. clickable external links from fields, Relink references/backreferences.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"Very welcoming and helpful community.\\nStrong commitment to backwards compatibility and longevity of the project.\",\n        \"project-weaknesses\": \"Make TW easier for beginners and not technically inclined users (e.g. easy access to basic features like WYSIWYG editing, tiddler renaming /Relink plugin).\\nMake TW more accessible on mobile devices.\\nImprove/introduce hosting with seamless multi-device sync and accessible over web (like TiddlyPWA), and ability to host larger attachments (as a paid service if necessary, but easy to use without technical experience).\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00123\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00124.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Talk TiddlyWiki\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2015\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2020\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I read and post in this community\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"Memory forgets.  TiddlyWiki keeps everything I need easy to recall and use.  I have about 1,000 notes and multiples backups!\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions\",\n        \"save-method\": \"Multi-file wiki served through Node.js\",\n        \"backup-method\": \"DIY (any other solution)\",\n        \"diy-backup-info\": \"I wrote a bash script doing incremental backups rotating every 30 days (rsync) on a different host on my intranet.\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.5\\nCurrent palette: $:/palettes/Nord\\nCurrent theme: $:/themes/tiddlywiki/snowwhite\\nCurrent layout: \\nBrowser language setting: fr-CA\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: yes\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: enable\\nKeyboard shortcuts that have been customised: $:/config/shortcuts-mac/new-markdown-tiddler\\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.5\\n  $:/languages/fr-FR - 5.3.5\\n  $:/plugins/ahanniga/find-in-page-plugin - 0.3.0\\n  $:/plugins/danielo515/2click2edit - 0.1\\n  $:/plugins/flibbles/relink - 2.4.5\\n  $:/plugins/Gk0Wk/sidebar-resizer - 0.0.6\\n  $:/plugins/kookma/favorites - 4.8.8\\n  $:/plugins/kookma/shiraz - 2.9.7\\n  $:/plugins/kookma/shiraz-callout - 0.8.0\\n  $:/plugins/kookma/shiraz-formatter - 0.6.0\\n  $:/plugins/kookma/todolist - 1.5.0\\n  $:/plugins/kookma/trashbin - 1.3.5\\n  $:/plugins/linonetwo/markdown-transformer - 0.1.3\\n  $:/plugins/nico/notebook-mobile - 1.0.0\\n  $:/plugins/tiddlywiki/filesystem - 5.3.5\\n  $:/plugins/tiddlywiki/highlight - 5.3.5\\n  $:/plugins/tiddlywiki/markdown - 5.3.6-prerelease\\n  $:/plugins/tiddlywiki/tiddlyweb - 5.3.5\\n  $:/plugins/wikilabs/cheatsheet - 1.1.2\\n  $:/temp/info-plugin - \\n  $:/themes/nico/notebook - 1.4.1\\n  $:/themes/tiddlywiki/snowwhite - 5.3.5\\n  $:/themes/tiddlywiki/vanilla - 5.3.5\\n</code></pre></details>\",\n        \"tw-customisations\": \"I don't think so.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"The community is very open minded and professional.\",\n        \"project-weaknesses\": \"I don't have much time nor strong jscript knowledge to help, sorry.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00124\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00125.tid",
    "content": "are-you-a-dev: Yes, I would\nbackup-method: Consumer online storage (e.g. Google Drive, Dropbox)\ndiy-backup-info: \nfirst-heard-survey: tiddlywiki.com\nfirst-used-tw: 2021\njoined-tw-community: No\nmain-use-cases: Note-taking;As a knowledge base (including technical, non-fiction and encyclopaedic content)\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: \npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: I really like how TiddlyWiki makes it easy to organize complex information and create links between things. I also like how it is just one file that you have to send to get that information to someone else.\nproject-weaknesses: I can't see myself leaving TiddlyWiki, I don't see anything that worries me about the future. If I had more time, I would love to contribute.\npublish-to-intranet: Yes, using a single-file wiki\npublish-to-web: Not publishing to this location\npublished-plugin: No\nsave-method: Single-file wiki through web browser with Download Saver (default saving mechanism)\nshare-wikis: Yes, and I am the only editor/administrator of my wiki(s)\nstarted-tw-community: \ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00125\ntw-ability-level: I have customised TiddlyWiki through options and plugins\ntw-customisations: \ntw-future-confidence: Yes\nuse-discord: \nuse-for-work-or-study: Yes\nuse-github-discuss: \nuse-mailing-list: \nuse-reddit: \nuse-ttw: \nvalue-of-tw: I use a TiddlyWiki to store procedures for my job and another as a knowledge base.\nwiki-setup-info: "
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00126.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"I read/lurk, but do not post\",\n        \"use-mailing-list\": \"I read/lurk, but do not post\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"Some assistance\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins\",\n        \"save-method\": \"Multi-file wiki served through Node.js\",\n        \"backup-method\": \"N/A - I keep my wiki on a single system\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.3\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: \\nCurrent layout: \\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: top\\nCamelCase linking setting: enable\\nKeyboard shortcuts that have been customised: $:/config/shortcuts/open-command-palette\\nDisabled plugins: $:/plugins/EvidentlyCube/AutoComplete\\nPlugins: \\n  $:/core - 5.3.3\\n  $:/plugins/danielo515/ContextPlugin - 2.1.0\\n  $:/plugins/flibbles/relink - 2.4.4\\n  $:/plugins/giffmex/subsume - 1.0.3\\n  $:/plugins/kookma/commander - 2.1.10\\n  $:/plugins/kookma/favorites - 4.8.8\\n  $:/plugins/kookma/kara - 0.8.1\\n  $:/plugins/kookma/search - 1.0.0\\n  $:/plugins/kookma/shiraz - 3.0.4\\n  $:/plugins/kookma/slider - 1.2.0\\n  $:/plugins/kookma/todolist - 1.5.0\\n  $:/plugins/kookma/utility - 3.0.1\\n  $:/plugins/OokTech/Bob - 1.7.6b2\\n  $:/plugins/orange/mermaid-tw5 - 0.3.8\\n  $:/plugins/sk/TableHelper - 0.0.4\\n  $:/plugins/sk/TabletoTiddlers - 0.0.2\\n  $:/plugins/snowgoon88/edit-comptext - 0.8.1\\n  $:/plugins/souk21/commandpalette - 0.0.7\\n  $:/plugins/sq/editor-autolist - 0.1.10\\n  $:/plugins/sq/Stories - 1.0.3\\n  $:/plugins/tiddlywiki/markdown - 5.3.5\\n  $:/plugins/tiddlywiki/menubar - 5.1.23-prerelease\\n  $:/plugins/TWaddle/add-sibling - 1.0.0\\n  $:/plugins/wikilabs/link-to-tabs - 2.0.1\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.3\\n  $:/themes/tiddlywiki/vanilla - 5.3.3\\n</code></pre></details>\",\n        \"tw-customisations\": \"No\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"The talk discourse group is great. \\nI'd like to see more on AI integration.\\nI'd like to hear more about how people load their data. eg Database data. Is it only through bash scripting? eg how Dave Gifford loads all his bible refs. Perhaps through csv? Perhaps through text splitter utilities?\",\n        \"project-weaknesses\": \"Can't imagine leaving.\\nYes that people start abandoning it for obsidian or notion - these seem a bit more current with AI integration.\\nI would contribute more apart from my own personal time constraints. Would perhaps contribute more if able to  loading data from excel etc. easier.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00126\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00127.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2020\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2020\",\n        \"use-ttw\": \"I read/lurk, but do not post\",\n        \"use-mailing-list\": \"I read and post in this community\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I read/lurk, but do not post\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"No\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Yes, using a single-file wiki;Yes, served through Node.js\",\n        \"publish-to-intranet\": \"Not publishing to this location\",\n        \"value-of-tw\": \"as plan B for bundle info sharing\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins\",\n        \"save-method\": \"Multi-file wiki served through Node.js;Single-file wiki third-party mobile app (e.g. Tiddloid, Quine)\",\n        \"backup-method\": \"TiddlySpot / TiddlyHost;Git forge (GitHub, Gitea/Forgejo, GitLab)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"\",\n        \"tw-customisations\": \"\",\n        \"positive-about-future\": \"No\",\n        \"tw-future-confidence\": \"No\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"a good forum\",\n        \"project-weaknesses\": \"1. make a simple framework for easier use ( I don't like Tigi anyway, but it on the right way for people don't need such flexble empty.html);\\n2. remake video tutorial up to date;\\n3. make markdown or myst as first class doc type, gradual retired the old wikitext format (with redesign macro/widget system), if you want a longer future, then should consider this;\\n4. integration with github pages and github action\\n5. make a powerful multi wiki server, the lack of multi-user feature is bad\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00127\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00128.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2023\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;As a knowledge base (including technical, non-fiction and encyclopaedic content);Other\",\n        \"other-use-cases\": \"Tool to assist in video games, e.g. Book of Hours, Warframe\",\n        \"use-for-work-or-study\": \"No\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"A mix of a wiki and an interesting programming challenge to create new widgets/views to see/manipulate my content\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles;I have written custom JavaScript\",\n        \"save-method\": \"Multi-file wiki served through Node.js\",\n        \"backup-method\": \"Web or cloud hosting (other than TiddlyHost/TiddlySpot e.g. Netlify, AWS, OVH, Google Cloud...)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.5\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: $:/themes/tiddlywiki/snowwhite\\nCurrent layout: $:/core/ui/PageTemplate\\nBrowser language setting: en-CH\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: $:/config/shortcuts/cancel-edit-tiddler\\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.5\\n  $:/plugins/mklauber/shuffle - 1.0.2\\n  $:/plugins/orange/mermaid-tw5 - 0.3.8\\n  $:/plugins/tiddlywiki/codemirror - 5.3.5\\n  $:/plugins/tiddlywiki/codemirror-closebrackets - 5.3.5\\n  $:/plugins/tiddlywiki/codemirror-keymap-vim - 5.3.5\\n  $:/plugins/tiddlywiki/codemirror-search-replace - 5.3.5\\n  $:/plugins/tiddlywiki/filesystem - 5.3.5\\n  $:/plugins/tiddlywiki/highlight - 5.3.5\\n  $:/plugins/tiddlywiki/tiddlyweb - 5.3.5\\n  $:/plugins/tobibeer/plantuml - 0.5.0\\n  $:/plugins/wikilabs/bundler - 1.1.0\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.5\\n  $:/themes/tiddlywiki/vanilla - 5.3.5\\n</code></pre></details>\",\n        \"tw-customisations\": \"Disable vim plugin on mobile (based on user agent)\\nVim bindings to navigate tiddlers\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"I'm happy with the flexibility of tiddlywiki and wouldn't go back.\\nLooking forward to MWS for easy self hosted multi wiki handling\",\n        \"project-weaknesses\": \"Operating on big json (jsonextract/jsonindexes) can get rather slow/lock up the browser\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00128\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00129.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Official newsletter\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2021\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2023\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I read/lurk, but do not post\",\n        \"use-reddit\": \"I read/lurk, but do not post\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I read/lurk, but do not post\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Yes, using a single-file wiki\",\n        \"publish-to-intranet\": \"Yes, using a single-file wiki\",\n        \"value-of-tw\": \"Simple, all-in-one solution for storing information.  Where TiddlyWiki truly shines.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism)\",\n        \"backup-method\": \"TiddlySpot / TiddlyHost;DIY (any other solution)\",\n        \"diy-backup-info\": \"SyncThing\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.1\\nCurrent palette: $:/palettes/SpartanDay\\nCurrent theme: $:/themes/tiddlywiki/vanilla\\nCurrent layout: $:/core/ui/PageTemplate\\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: yes\\nSidebar layout setting: fixed-fluid\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: pop\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: $:/plugins/tiddlywiki/codemirror-mode-markdown\\nPlugins: \\n  $:/core - 5.3.1\\n  $:/plugins/cdaven/markdown-export - 0.9.0\\n  $:/plugins/EvidentlyCube/AutoComplete - 1.0.15\\n  $:/plugins/flibbles/relink - 2.3.1\\n  $:/plugins/flibbles/relink-titles - 2.3.1\\n  $:/plugins/tiddlywiki/codemirror - 5.3.1\\n  $:/plugins/tiddlywiki/codemirror-closebrackets - 5.2.7\\n  $:/plugins/tiddlywiki/codemirror-mode-css - 5.2.7\\n  $:/plugins/tiddlywiki/codemirror-mode-xml - 5.3.1\\n  $:/plugins/tiddlywiki/codemirror-search-replace - 5.2.7\\n  $:/plugins/tiddlywiki/highlight - 5.2.7\\n  $:/plugins/tiddlywiki/markdown - 5.3.1\\n  $:/plugins/wikilabs/link-to-tabs - 2.0.1\\n  $:/plugins/wikilabs/multicol-dropdown - 1.0.3\\n  $:/plugins/wikilabs/remove-states - 1.0.1\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.1\\n  $:/themes/tiddlywiki/vanilla - 5.3.1\\n</code></pre></details>\",\n        \"tw-customisations\": \"I add the ability to clear metadata like timestamp, author, etc.  It is handy for certain tiddlers.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"Fixing bugs, adding features, overall progression, and continual improvements\",\n        \"project-weaknesses\": \"Could you imagine yourself leaving TiddlyWiki?  Not at this time\\nIs there something you are afraid of in the future of TiddlyWIki?  When Jeremy no longer leads the project\\nWhat could change your relationship with TW and its community?  Nothing really\\nWhat might encourage you to contribute more to the project?  Can't think of anything\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00129\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00130.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Discord\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2015\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2022\",\n        \"use-ttw\": \"I do not engage with this community\",\n        \"use-mailing-list\": \"I do not engage with this community\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I read/lurk, but do not post\",\n        \"use-github-discuss\": \"I read/lurk, but do not post\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;As a knowledge base (including technical, non-fiction and encyclopaedic content);Worldbuilding (e.g. for role-playing games);Programming\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"No\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Yes, using a single-file wiki\",\n        \"publish-to-intranet\": \"Not publishing to this location\",\n        \"value-of-tw\": \"I use TiddlyWiki to organize for knowledge collection and sharing, but not on a day to day basis.\\n\\nHaving said that, I do find TiddlyWiki very valuable in how to think about, and organize various topics under a certain subject.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\",\n        \"backup-method\": \"Git forge (GitHub, Gitea/Forgejo, GitLab)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"\",\n        \"tw-customisations\": \"I create own macros, functions and procedures. Or at least I try to\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"The TiddlyWiki base is very robust with a plethora of plugins.\",\n        \"project-weaknesses\": \"Learning the intricated details of TiddlyWiki is sometimes challenging. There are excellent resources out there, that are findable as wel and TiddlyWiki is amendable to introspection. But more and different perspectives on how TiddlyWiki works would be amazing\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00130\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00131.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Other\",\n        \"other-survey-source\": \"Most likely a Linux Forum. I can't honestly remember. I'm a Linux enthusiast and I had it on a floppy disk. It was likely before 2006.\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"I use TiddlyWiki for thought streams. I don't use it frequently, but it helps me map out my thoughts when I do use it. I have also demonstrated TiddlyWiki to friends and colleagues who find it helpful. Some have even gone on to use it more than I have.\",\n        \"tw-ability-level\": \"My use is basic; I use TiddlyWiki in a configuration close to standard, without plugins\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism)\",\n        \"backup-method\": \"No automatic sync across my devices\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"\",\n        \"tw-customisations\": \"\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"TBH - I still run across TiddlyWiki files from when I first started using it (classic) - and they still work. So, I do not doubt that I can continue using it in the future. Some of my toddlers are new (v5) and I expect them to work as well.\\nOnce I first figured out TW, it just clicked. I never became very involved in the community. But I may start looking into developing customization - not sure what, yet.\",\n        \"project-weaknesses\": \"Although I've used TW for many years, I'm just starting to look into the community. In my opinion, from what I can tell, things are good.\\nThe only reason I would stop using TW is if it became dependent on some technology that I do not have access to.\\nEveryone that I've introduced to TW was also blown away by the capability and simplicity. So no issues.\\nThanks!\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00131\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00132.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Other\",\n        \"other-survey-source\": \"User's Blog when searching for Wiki options.\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2025\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"N/A - Still experimenting/no set use case for TiddlyWiki\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"No\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"I can make notes and access them on any device without the need of a specific app.\\nI can write/post about things that I care about like recipes, travel and instructions.\",\n        \"tw-ability-level\": \"My use is basic; I use TiddlyWiki in a configuration close to standard, without plugins\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\",\n        \"backup-method\": \"Git forge (GitHub, Gitea/Forgejo, GitLab)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"\",\n        \"tw-customisations\": \"No\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"I just got to the project very recently and I'm excited for what I'm seeing. Giving the power to users of running their own wikis is great.\\nTiddlywiki is a clever solution, I'm sure it has taken a lot of time and experimenting to get it to where it's now. I love when a community project gets this far and in this shape.\",\n        \"project-weaknesses\": \"I don't have much feedback, but I noticed there's 1,095 issues open in TW's github repo, and that looks like a tremendous backlog. I hope you get time and resources to sort those out.\\n\\nI know TW is not solving the auth problem, but I wish there was a way to make credentials (or auth tokens) available from a third-party to the TW so you could save automatically on any session/device you log in. Maybe this has already been done? I couldn't find a solution for this.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00132\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00133.tid",
    "content": "are-you-a-dev: Yes, I would\nbackup-method: No automatic sync across my devices\ndiy-backup-info: \nfirst-heard-survey: Reddit\nfirst-used-tw: 2024\njoined-tw-community: No\nmain-use-cases: Note-taking;Journalling;Task and project management (including CRMs)\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: \npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: I'm not that familiar to comment\nproject-weaknesses: Don't know enough to say anything.\npublish-to-intranet: \npublish-to-web: \npublished-plugin: No\nsave-method: Single-file wiki through web browser with Download Saver (default saving mechanism)\nshare-wikis: No, my TiddlyWiki is for personal use only\nstarted-tw-community: \ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00133\ntw-ability-level: I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom CSS styles;I have written custom JavaScript\ntw-customisations: \ntw-future-confidence: Yes\nuse-discord: \nuse-for-work-or-study: Yes\nuse-github-discuss: \nuse-mailing-list: \nuse-reddit: \nuse-ttw: \nvalue-of-tw: I use it as an interstitial journal that with clever tagging makes it a decent knowledge base, meeting preparer, journal and a very basic task and project manager\nwiki-setup-info: "
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00134.tid",
    "content": "are-you-a-dev: Yes, I would\nbackup-method: DIY (any other solution)\ndiy-backup-info: I push to a remote git repository on a file share from a local git repository on the machine where I use TiddlyWiki.\nfirst-heard-survey: tiddlywiki.com\nfirst-used-tw: 2008\njoined-tw-community: No\nmain-use-cases: Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Programming\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: \npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: It may be because of complacency and inattention on my part, but I'm not aware of the ongoing development efforts. It would be nice to expand my use of multimedia beyond images, etc. It would be nice to incorporate AI features for analysis or generating artifacts.\nproject-weaknesses: I would only leave TiddlyWiki if there's a better open source solution. I don't think that such a solution would be built. The only thing that I'm afraid of is lack of ongoing maintenance.\npublish-to-intranet: \npublish-to-web: \npublished-plugin: No\nsave-method: Multi-file wiki served through Node.js\nshare-wikis: No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\nstarted-tw-community: \ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00134\ntw-ability-level: I have customised TiddlyWiki through options and plugins;I have written custom HTML\ntw-customisations: (I simply use multiple plugins.)\ntw-future-confidence: No\nuse-discord: \nuse-for-work-or-study: Yes\nuse-github-discuss: \nuse-mailing-list: \nuse-reddit: \nuse-ttw: \nvalue-of-tw: It has been the preferred location for storing all notes, code scraps, records of daily activity, journal entries, diagrams, etc. Searchability and the stability of open source are the major reasons why I have used it. Prior solutions for retaining notes, etc., fell apart.\nwiki-setup-info: "
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00135.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Official newsletter\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"I read/lurk, but do not post\",\n        \"use-mailing-list\": \"I read and post in this community\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"I keep all my thoughts in TW and use it to organise my work, by having individual tiddlers for each dossier I'm examining. I created also a table with the list filter so that I have an overview over all the dossiers. Finally I use it to record list of words I want to learn, test\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism)\",\n        \"backup-method\": \"No automatic sync across my devices\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: \\nCurrent layout: $:/core/ui/PageTemplate\\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fixed-fluid\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: $:/plugins/tiddlywiki/katex\\nPlugins: \\n  $:/core - 5.3.6\\n  $:/plugins/kantorsite/mathjax - 5.0.12-beta\\n  $:/plugins/matabele/makelist - 0.0.2\\n  $:/plugins/tiddlywiki/markdown - 5.3.6\\n  $:/plugins/tiddlywiki/railroad - 5.1.11\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.6\\n  $:/themes/tiddlywiki/vanilla - 5.3.6\\n</code></pre></details>\",\n        \"tw-customisations\": \"I created a macro to convert tiddlers containing a dictionary of words with translations into a quiz, where the translation appears as a tooltip over the word\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"Jeremy is an example of perseverance, dedication, farsightedness and competence. With his charisma, he can lead a vast team of extremely good developers throughout the world to constantly improve TW\",\n        \"project-weaknesses\": \"the explanation of the filters, macro and the likes could be better. on the other hand with LLMs one can get good explanations these days\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00135\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00136.tid",
    "content": "are-you-a-dev: No, I would not\nbackup-method: Web or cloud hosting (other than TiddlyHost/TiddlySpot e.g. Netlify, AWS, OVH, Google Cloud...)\ndiy-backup-info: \nfirst-heard-survey: Reddit\nfirst-used-tw: 2016\njoined-tw-community: No\nmain-use-cases: Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: \npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: Discussion about future developement is very open and the process is transparent. The community is awesome.\nproject-weaknesses: If Obsidian, Logseq, Foam and the likes become truly open source and provide encryption, I might leave TiddlyWiki as they cater my use case better.\npublish-to-intranet: \npublish-to-web: \npublished-plugin: No\nsave-method: Single-file wiki with third-party desktop app (e.g. TidGi Desktop, twexe);Single-file wiki third-party mobile app (e.g. Tiddloid, Quine)\nshare-wikis: No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\nstarted-tw-community: \ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00136\ntw-ability-level: I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...)\ntw-customisations: \ntw-future-confidence: Yes\nuse-discord: \nuse-for-work-or-study: Yes\nuse-github-discuss: \nuse-mailing-list: \nuse-reddit: \nuse-ttw: \nvalue-of-tw: Flexibility, ease of mind with regard to its open and free nature. Having information (and encryption) available on so many plattforms.\nwiki-setup-info: "
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00137.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Official newsletter\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2016\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2016\",\n        \"use-ttw\": \"I read/lurk, but do not post\",\n        \"use-mailing-list\": \"I read/lurk, but do not post\",\n        \"use-reddit\": \"I read/lurk, but do not post\",\n        \"use-discord\": \"I read/lurk, but do not post\",\n        \"use-github-discuss\": \"I read/lurk, but do not post\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;As a knowledge base (including technical, non-fiction and encyclopaedic content);Programming\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Not applicable (as retired, etc)\",\n        \"share-wikis\": \"Yes, with multiple editors/administrators\",\n        \"publish-to-web\": \"Not publishing to this location\",\n        \"publish-to-intranet\": \"Not publishing to this location\",\n        \"value-of-tw\": \"It is for me the *principal* tool to keep track of/ manage the information about all my interests and activities.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles;I have written custom JavaScript\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\",\n        \"backup-method\": \"DIY (any other solution)\",\n        \"diy-backup-info\": \"I use Syncthing to update the various copies I have across different machines (Windows/Linux/Android). For backups I use Timimi.\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.7\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: \\nCurrent layout: \\nBrowser language setting: en-GB\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.7\\n  $:/plugins/jeveg/sidekick - 1.0.0\\n  $:/plugins/kookma/commander - 2.1.14\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.7\\n  $:/themes/tiddlywiki/vanilla - 5.3.7\\n</code></pre></details>\",\n        \"tw-customisations\": \"For \\\"new\\\" wiki's I use a customized template-wiki with various stylesheets, macros (including JS) and configurations to build upon. For development purposes, I use Gatha from Kookma.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"* The underlying \\\"philosophical basis\\\": (1) information as a constellation of information-snippets that can be combined depending on the purpose of the moment; (2) the 'guarantee' that the stored information is under my own control and still retrievable in the future, and thus independent of companies or propriety formats/web storage. \\n* The responsiveness of the developers and the really very helpful and positive community!\\n* Great Program: such a lean environment, so much flexibility!\",\n        \"project-weaknesses\": \"* Steep learning curve that could discourage users. Yes, there is documentation - which is positive - but it is not complete and often written with a 'technical' bias. Therefore, it takes a lot of time, effort and some frustration to get acquainted with the intricacies (and quirks) of the program. The community-platforms are indispensable to make the contents more practical.\\n* Working with arrays could be more easy\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00137\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00138.tid",
    "content": "are-you-a-dev: Yes, I would\nbackup-method: Web or cloud hosting (other than TiddlyHost/TiddlySpot e.g. Netlify, AWS, OVH, Google Cloud...);Neocities, Nekoweb, tiiny.host, omg.lol and similar services;No automatic sync across my devices\ndiy-backup-info: \nfirst-heard-survey: tiddlywiki.com\nfirst-used-tw: 2007\njoined-tw-community: No\nmain-use-cases: Note-taking;As a knowledge base (including technical, non-fiction and encyclopaedic content);Worldbuilding (e.g. for role-playing games)\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: \npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: Being there. Being good. Caring about quality and performance. Keeping the Classic edition around.\nproject-weaknesses: I'm not confident in the future of modern browsers / engines as we know them. The tech that made TiddlyWiki possible doesn't look future-proof or trusty anymore. I don't see what anyone can do to fix that.\npublish-to-intranet: Not publishing to this location\npublish-to-web: Yes, using a single-file wiki\npublished-plugin: No\nsave-method: Single-file wiki through web browser with Download Saver (default saving mechanism)\nshare-wikis: Yes, and I am the only editor/administrator of my wiki(s)\nstarted-tw-community: \ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00138\ntw-ability-level: My use is basic; I use TiddlyWiki in a configuration close to standard, without plugins\ntw-customisations: \ntw-future-confidence: Yes\nuse-discord: \nuse-for-work-or-study: No\nuse-github-discuss: \nuse-mailing-list: \nuse-reddit: \nuse-ttw: \nvalue-of-tw: I'm an old wiki head. TiddlyWiki is like a steadfast friend.\nwiki-setup-info: "
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00139.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Talk TiddlyWiki\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2025\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"Yes\",\n        \"main-use-cases\": \"Note-taking;As a knowledge base (including technical, non-fiction and encyclopaedic content);Other\",\n        \"other-use-cases\": \"Saving collections of things like quotes and images\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"A customizable and trustworthy place to store information in a useful way and have them refer to each other.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles;I have written custom JavaScript\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\",\n        \"backup-method\": \"DIY (any other solution)\",\n        \"diy-backup-info\": \"I use a self-hosted TiddlyPWA sync server.\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.7\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: \\nCurrent layout: $:/core/ui/PageTemplate\\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.7\\n  $:/languages/en-US - 5.3.7\\n  $:/plugins/flibbles/relink - 2.5.1\\n  $:/plugins/flibbles/relink-fieldnames - 2.5.0\\n  $:/plugins/valpackett/tiddlypwa - 0.2.2\\n  $:/plugins/valpackett/web-app-manifest - 0.2.2\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.7\\n  $:/themes/tiddlywiki/vanilla - 5.3.7\\n</code></pre></details>\",\n        \"tw-customisations\": \"I use custom raw markup for an apple-touch-icon separate from the favicon.ico, a custom ViewTemplate component to display an 'attribution' field to add attribution information for image tiddlers, a table of contents in the sidebar, and custom CSS to add icons before some links.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"No\",\n        \"project-decision-trust\": \"No\",\n        \"project-strengths\": \"TiddlyWiki appears to be the best option for a personal wiki used as a knowledge base that I can control, short of spinning up a MediaWiki instance, which is how I use it. TiddlyWiki is simple to get started with, where other software like MediaWiki could end up being overkill. It uses WikiText for formatting and supports HTML as well, while a great majority of software uses Markdown while stripping HTML compatibility, which I am not fond of.\",\n        \"project-weaknesses\": \"Currently, I disagree with the philosophy of tiddlers; I would rather treat (content) tiddlers as whole pages than as the base unit of information. However, I am still new to TiddlyWiki, and I am starting to open up to the idea. I have not interacted with the TiddlyWiki community yet, nor have I witnessed its decision-making process, so I cannot comment on that, hence why I selected 'No' on the satisfaction question.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00139\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00140.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Talk TiddlyWiki\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2018\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2018\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I read/lurk, but do not post\",\n        \"use-reddit\": \"I read and post in this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"Yes\",\n        \"main-use-cases\": \"Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"It's the right fit for a personal information manager that I can adapt to make it useful for any use cases I throw at it (given enough effort)\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Multi-file wiki served through Node.js\",\n        \"backup-method\": \"N/A - I keep my wiki on a single system\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.1\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: $:/themes/nico/notebook\\nCurrent layout: $:/core/ui/PageTemplate\\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fixed-fluid\\nAuto focus field setting for new tiddlers: text\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: permalink\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: enable\\nKeyboard shortcuts that have been customised: $:/config/shortcuts/fancyquotes,$:/config/shortcuts/mono-block,$:/config/shortcuts/mono-line,$:/config/shortcuts/notebook-focus-search,$:/config/shortcuts/random-tiddler,$:/config/shortcuts/remembercz,$:/config/shortcuts/rememberq,$:/config/shortcuts/save-tiddler,$:/config/shortcuts/sticky\\nDisabled plugins: $:/plugins/benwebber/motion,$:/plugins/BurningTreeC/PrintRiver,$:/plugins/can/rider,$:/plugins/danielo515/ContextPlugin,$:/plugins/EvidentlyCube/AdvancedPerformance,$:/plugins/felixhayashi/hotzone,$:/plugins/gt6796c/mermaid-tw5,$:/plugins/gt6796c/rocklib,$:/plugins/kiasu/RandomTiddlerButton,$:/plugins/kookma/utility,$:/plugins/MaxGyver83/tw5-keyboard-navigation,$:/plugins/mermaid-tw5,$:/plugins/sobjornstad/TiddlyStretch,$:/plugins/telmiger/PluginSize\\nPlugins: \\n  $:/core - 5.3.1\\n  $:/plugins/ahahn/tinka - 0.5.0\\n  $:/plugins/benwebber/crosslinks - 0.4.0\\n  $:/plugins/benwebber/input - 0.2.0\\n  $:/plugins/benwebber/list-inline - 0.3.0\\n  $:/plugins/bimlas/highlight-searched-text - 0.5.0\\n  $:/plugins/BTC/PrintRiver - 0.2.2\\n  $:/plugins/danielo515/2click2edit - 0.1\\n  $:/plugins/danielo515/encryptTiddler - 2.5\\n  $:/plugins/ebalster/formula - 0.2.5\\n  $:/plugins/EvidentlyCube/TaskList - 1.0.14\\n  $:/plugins/felixhayashi/respawn - 0.0.3\\n  $:/plugins/flibbles/relink - 2.3.1\\n  $:/plugins/kookma/commander - 2.1.5\\n  $:/plugins/kookma/favorites - 4.8.1\\n  $:/plugins/kookma/kara - 0.7.3\\n  $:/plugins/kookma/refnotes - 1.8.5\\n  $:/plugins/kookma/section - 1.1.0\\n  $:/plugins/kookma/shiraz - 2.7.4\\n  $:/plugins/kookma/timelines - 1.3.0\\n  $:/plugins/kookma/trashbin - 1.2.4\\n  $:/plugins/kookma/vote - 1.0.1\\n  $:/plugins/mklauber/aliases - 5.2.4\\n  $:/plugins/nico/notebook-mobile - 1.0.0\\n  $:/plugins/nico/shields - 0.0.1\\n  $:/plugins/orange/mermaid-tw5 - 0.3.7.1\\n  $:/plugins/PIM/BoustophredonSVG - 0.1.0\\n  $:/plugins/snowgoon88/edit-comptext - 0.9.3\\n  $:/plugins/sobjornstad/TiddlyRemember - 1.3.4\\n  $:/plugins/sq/editor-autolist - 0.1.10\\n  $:/plugins/sq/quickimages - 0.0.3\\n  $:/plugins/sq/selective-refresh - 0.0.1\\n  $:/plugins/stobot/sticky - 0.1.30\\n  $:/plugins/telmiger/details - 0.7.5\\n  $:/plugins/telmiger/EditorCounter - 0.6.5\\n  $:/plugins/telmiger/HarveyBalls - 0.1.0\\n  $:/plugins/telmiger/rpn - 0.7.3\\n  $:/plugins/TheDiveO/FontAwesome - 1.2.22\\n  $:/plugins/tiddlywiki/bibtex - 5.3.1\\n  $:/plugins/tiddlywiki/codemirror - 5.3.1\\n  $:/plugins/tiddlywiki/external-attachments - 5.3.1\\n  $:/plugins/tiddlywiki/filesystem - 5.3.1\\n  $:/plugins/tiddlywiki/highlight - 5.3.1\\n  $:/plugins/tiddlywiki/katex - 5.3.1\\n  $:/plugins/tiddlywiki/lucide-core - v5.3.5-beta-002\\n  $:/plugins/tiddlywiki/tiddlyweb - 5.3.1\\n  $:/plugins/tobibeer/random - 0.1.0\\n  $:/plugins/wikilabs/edit-tabs - 2.0.1\\n  $:/plugins/wikilabs/field-search - 0.4.1\\n  $:/temp/info-plugin - \\n  $:/themes/nico/notebook - 1.4.1\\n  $:/themes/tiddlywiki/snowwhite - 5.3.1\\n  $:/themes/tiddlywiki/vanilla - 5.3.1\\n</code></pre></details>\",\n        \"tw-customisations\": \"Too many to list, I'm an avid tinkerer of my base TW.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"The community is very friendly and engaging and support is easy to find. New plugins are infrequent, but rarely become obsolete, which is a huge plus compared to other projects of similar sizes.\",\n        \"project-weaknesses\": \"I'm finding difficulties with more advanced \\\"nice to haves\\\" such as publishing via a SSG, sync over several devices, and seamlessly including images.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00140\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00141.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2016\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2016\",\n        \"use-ttw\": \"I read/lurk, but do not post\",\n        \"use-mailing-list\": \"I read/lurk, but do not post\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I read/lurk, but do not post\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"TiddlyWiki is my primary tool for organizing my daily work as well as personal life. I like the concept of customization, privacy, and modularized plugins.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism)\",\n        \"backup-method\": \"Consumer online storage (e.g. Google Drive, Dropbox)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.5\\nCurrent palette: $:/palettes/Blue\\nCurrent theme: $:/themes/tiddlywiki/snowwhite\\nCurrent layout: $:/core/ui/PageTemplate\\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fixed-fluid\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: zoomin\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: above\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: $:/config/shortcuts/mono-block,$:/config/shortcuts/sticky\\nDisabled plugins: $:/plugins/kookma/narenj,$:/plugins/tobibeer/appear,$:/plugins/tobibeer/inc,$:/plugins/tobibeer/preview\\nPlugins: \\n  $:/core - 5.3.5\\n  $:/plugins/danielo515/2click2edit - 0.1\\n  $:/plugins/flibbles/relink - 2.3.1\\n  $:/plugins/jerojasro/copyhtml - 0.0.1\\n  $:/plugins/kixam/datepicker - 0.5.2\\n  $:/plugins/kixam/moment - 2.24.0\\n  $:/plugins/kookma/commander - 2.1.6\\n  $:/plugins/kookma/section - 1.2.2\\n  $:/plugins/kookma/trashbin - 1.2.2\\n  $:/plugins/PSaT/new-windows - 0.6.1\\n  $:/plugins/snowgoon88/edit-comptext - 0.9.3\\n  $:/plugins/sq/editor-autolist - 0.1.10\\n  $:/plugins/stobot/sticky - 0.1.30\\n  $:/plugins/tg/layout - 0.5.2\\n  $:/plugins/tg/tiddlersbar - 0.0.19\\n  $:/plugins/tiddlywiki/menubar - 5.3.5\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.5\\n  $:/themes/tiddlywiki/vanilla - 5.3.5\\n</code></pre></details>\",\n        \"tw-customisations\": \"Mostly I use customized CSS and a bit of macros.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"Thank you for providing such an incredible tool! Its powerful customization capabilities truly break the boundaries of what TiddlyWiki can do. With the support from community, I genuinely believe TiddlyWiki is on its way to becoming one of the top note-taking solutions in the world.\",\n        \"project-weaknesses\": \"Honestly, I can't imagine ever leaving TiddlyWiki — it's become an essential part of my workflow. The fact that it's a self-contained HTML file that lives on my machine gives me a sense of control and permanence that's rare in modern tools. My only slight concern is future browser compatibility, but I trust the community will continue to adapt and evolve. While I'm not a trained programmer, I do wish I could contribute more directly. That said, the work you're doing is fantastic — please keep it\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00141\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00142.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Talk TiddlyWiki\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2007\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2007\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I do not engage with this community\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I read and post in this community\",\n        \"published-plugin\": \"Yes\",\n        \"main-use-cases\": \"Note-taking;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Other\",\n        \"other-use-cases\": \"Reference (my \\\"household wiki\\\" e.g info about which, say, vacuum cleaner bags my vc requires)\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"For work, it is an essential tool where I collect and structure all ideas around the work and its projects, and meeting notes. It allows the ideas to accumulate and link over time, and for me to reference them.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism)\",\n        \"backup-method\": \"TiddlySpot / TiddlyHost;No automatic sync across my devices\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.7\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: $:/themes/tiddlywiki/snowwhite\\nCurrent layout: \\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: no\\nCode wrapping setting: pre-wrap\\nSticky titles setting: yes\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: top\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: permaview\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: $:/plugins/felixhayashi/topstoryview\\nPlugins: \\n  $:/core - 5.3.7\\n  $:/plugins/flibbles/relink - 2.2.0\\n  $:/plugins/telmiger/EditButtons - 1.0.6\\n  $:/plugins/TWaddle/Boosters - 0.0.7\\n  $:/plugins/TWaddle/DragTag - 0.0.6\\n  $:/plugins/TWaddle/HackSearch - 1.5.4\\n  $:/plugins/TWaddle/newtids - 0.0.1\\n  $:/plugins/TWaddle/OverWrite - 0.0.2\\n  $:/plugins/TWaddle/plist - 1.0.1\\n  $:/plugins/TWaddle/pluginsize - 1.0.0\\n  $:/plugins/TWaddle/RecentSys - 1.0.0\\n  $:/plugins/TWaddle/ScrollBack - 0.0.1\\n  $:/plugins/TWaddle/SideEditor - 3.2.1\\n  $:/plugins/TWaddle/static - 0.0.30\\n  $:/plugins/TWaddle/TabLinks - 1.0.5\\n  $:/plugins/TWaddle/tag-categories - 1.1.0\\n  $:/plugins/TWaddle/TiddlerSets - 0.0.1\\n  $:/plugins/TWaddle/tids-to-table - 1.0.11\\n  $:/plugins/TWaddle/TopToolbar - 1.0.3\\n  $:/plugins/wikilabs/space-space-newline - 1.0.0\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.7\\n  $:/themes/tiddlywiki/vanilla - 5.3.7\\n</code></pre></details>\",\n        \"tw-customisations\": \"Many UI tweaks have been made into the plugins above (notably the Boosters plugin) but of particular importance: The close and delete buttons navigate to previous tiddler. The tiddler editview UI is much simplified. Titles as links.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"No\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"The helpfulness in the community is amazing, including Jeremys presence there.\",\n        \"project-weaknesses\": \"I won't leave but am afraid Jeremy disappears one day and things deteriorate. \\n\\\"confident TW meet future needs\\\" - No, b/c lacking prio of (1) multiuser solution (2) multiwiki communication (3) integration (4) saving issues will continue (5) continued misleading by describing TW as a note-taking system when it is more a note *management* system. *Taking* notes is clunky in TW compared to actual note taking systems.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00142\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00143.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2008\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2023\",\n        \"use-ttw\": \"I read/lurk, but do not post\",\n        \"use-mailing-list\": \"I read and post in this community\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Other\",\n        \"other-use-cases\": \"Daily Studies PIM - I keep / share thoughts there - different from the above options\",\n        \"use-for-work-or-study\": \"No\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"Unsure - I am still struggling with understand how to use it.\\n\\n* Simple things - Seem out of reach - for the most part - for me\\n\\n---\\nNote: I do enjoy and am a fan of the software - I just don't get it (many times) on how to do simple things\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...)\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism);Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\",\n        \"backup-method\": \"Git forge (GitHub, Gitea/Forgejo, GitLab);DIY (any other solution)\",\n        \"diy-backup-info\": \"I use Syncthing - for backups - pulling from Gitlab\",\n        \"wiki-setup-info\": \"I use a single files - One about 40 MB (with tags) in size; One over 120 MB in size (no tags)\\n\\nIt has everything for the past years - in two files.\\n\\nI learned how to use tags about 1 to 2 years ago - and although they are useful - they make my PIM \\\"sluggish\\\".\\n\\nI do enjoy the product and would even consider contributing - since I think I'm committed to using it now (more or less).\",\n        \"tw-customisations\": \"To have the Tiddlywiki site be geared more towards \\\"end-users\\\" who do not program.\\n\\n* Example - I came to look to see how I can upgrade my 5.3.6 version - to 5.3.7 -- and I spent about 10 minutes looking on the portal - but I still don't know how to do it .\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"No\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"I am not a programmer - just an \\\"End-User\\\" - and I WILL NEVER be a programmer - so please stop telling me to go in that direction.\\n\\n* The site is geared towards programmers - not end-users\\n\\n--- To help you understand\\n\\nAs a child - in school - I had questions - I would stand up and ask - one day we had a substitute teacher - he told me to sit down (that my question was stupid - yes, I am older - they used to say that) - I sat down - but I told him \\\"In my heart - I am still standing up\\\".\",\n        \"project-weaknesses\": \"If there was a section called \\\"n00bs check here\\\" - Newbies - New to Tiddlywiki - ,....\\n\\n* Something that allows us to contribute - SIMPLE - ideas - even if the developers don't think they are useful\\n\\nExample: (what brought me here today)\\n\\nn00b: How do I upgrade to v5.3.7 from v5.3.6? (Since it's not on the main portal - nor searchable)\\n\\nAnswer: Click and download (this); Open it; Drag your existing wiki on-top of the page; Save it; Done\\n* Some pictures to show this\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00143\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00144.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Talk TiddlyWiki\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2008\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2025\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I do not engage with this community\",\n        \"use-reddit\": \"I read/lurk, but do not post\",\n        \"use-discord\": \"I read and post in this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"It provides me a unified note and knowledgebase system, with some built-in smarts (basically, being a wiki), and the ability to add additional smarts as required.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I have written custom CSS styles\",\n        \"save-method\": \"Multi-file wiki served through Node.js\",\n        \"backup-method\": \"Web or cloud hosting (other than TiddlyHost/TiddlySpot e.g. Netlify, AWS, OVH, Google Cloud...);DIY (any other solution)\",\n        \"diy-backup-info\": \"DIY web solution for my main personal TW. I run node locally (in a VM), and on that VM I also run nginx as a reverse proxy to the node TW. nginx handles authentication. hen my home router port forwards back to that nginx frontend. This allows me access from anywhere online\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/palettes/SpartanDay\\nCurrent theme: $:/themes/tiddlywiki/snowwhite\\nCurrent layout: $:/core/ui/PageTemplate\\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre\\nSticky titles setting: yes\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: enable\\nKeyboard shortcuts that have been customised: $:/config/shortcuts/date-stamp\\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.6\\n  $:/plugins/flibbles/relink - 2.4.5\\n  $:/plugins/Gk0Wk/focused-tiddler - 0.0.3\\n  $:/plugins/tiddlywiki/filesystem - 5.3.6\\n  $:/plugins/tiddlywiki/freelinks - 5.3.6\\n  $:/plugins/tiddlywiki/highlight - 5.3.6\\n  $:/plugins/tiddlywiki/markdown - 5.3.7-prerelease\\n  $:/plugins/tiddlywiki/tiddlyweb - 5.3.6\\n  $:/plugins/TWaddle/Seentid - 0.0.8\\n  $:/plugins/wikilabs/cheatsheet - 1.1.2\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.6\\n  $:/themes/tiddlywiki/vanilla - 5.3.6\\n</code></pre></details>\",\n        \"tw-customisations\": \"I've tweaked many elements of the interface (sidebar item arrangement, tagpill menu items, order of items when viewing a tid). However the overall effect remains that of TW out-of-the-box to the casual observer. \\n\\nVague plan to organise these into an edition at some time\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"I enjoy it's a friendly and welcoming community. I think being a small community is part of that (small community caveat, see next question). \\n\\nI'm excited for the MWS, as a true design-for-online/multiuser system will suit at least one future project, possibly more.\",\n        \"project-weaknesses\": \"I think the \\\"out of the box\\\" experience of TW is poor. The concepts are great, but the initial user experience of setting it up (fighting browser security with single file, or setting up node, or tiddlyhost solutions) is a high first step. \\n\\nSmall community is indicative of a project that isn't really growing, and IMHO not reaching it's potential. Small community means limited users and testers, many of whom are happy to solve problems - but not indicative of the broader userbase\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00144\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00145.tid",
    "content": "are-you-a-dev: No, I would not\nbackup-method: N/A - I keep my wiki on a single system\ndiy-backup-info: \nfirst-heard-survey: tiddlywiki.com\nfirst-used-tw: 2015\njoined-tw-community: No\nmain-use-cases: Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Programming\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: \npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: Creativity and simplicity\nproject-weaknesses: Storage.\npublish-to-intranet: \npublish-to-web: \npublished-plugin: No\nsave-method: Single-file wiki through web browser with Download Saver (default saving mechanism);Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\nshare-wikis: No, my TiddlyWiki is for personal use only\nstarted-tw-community: \ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00145\ntw-ability-level: I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\ntw-customisations: I have my own local plugin (made with kookma’s gatha) where I store my customisations (basic) like stylesheets, TOC etc. I have one wiki where I have modified the views to suit my needs for a knowledge base using tiddlymap\ntw-future-confidence: Yes\nuse-discord: \nuse-for-work-or-study: No\nuse-github-discuss: \nuse-mailing-list: \nuse-reddit: \nuse-ttw: \nvalue-of-tw: It gives me immense pleasure and satisfaction for me to write my notes with context and ease. I find the non linear nature of tiddlywiki very useful. I find the tiddlymap plugin very promising. And Kookma plugins very creative. Thank you Mohammad\nwiki-setup-info: I used to use the hta hack, but I found a JavaScript saver that serves local files in browser. I use a .bat file to open edge as an app"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00146.tid",
    "content": "are-you-a-dev: Yes, I would\nbackup-method: Consumer online storage (e.g. Google Drive, Dropbox)\ndiy-backup-info: \nfirst-heard-survey: Talk TiddlyWiki\nfirst-used-tw: 2024\njoined-tw-community: No\nmain-use-cases: Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: \npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: making it free. it has backward compatibility. respects users.\nproject-weaknesses: in future maybe there could be backlogs of issues and bugs and project might be unmaintained. it might require too much \"efforts\" time and energy.\npublish-to-intranet: \npublish-to-web: \npublished-plugin: No\nsave-method: Single-file wiki with third-party desktop app (e.g. TidGi Desktop, twexe)\nshare-wikis: No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\nstarted-tw-community: \ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00146\ntw-ability-level: My use is basic; I use TiddlyWiki in a configuration close to standard, without plugins\ntw-customisations: i do not know. i have copied someone else's tiddlywiki.\ntw-future-confidence: Yes\nuse-discord: \nuse-for-work-or-study: No\nuse-github-discuss: \nuse-mailing-list: \nuse-reddit: \nuse-ttw: \nvalue-of-tw: it helps in storing and learning information. its best because it can be modified and also it is free.\nwiki-setup-info: "
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00147.tid",
    "content": "are-you-a-dev: No, I would not\nbackup-method: DIY (any other solution)\ndiy-backup-info: iCloud Drive - it just sits in a folder that's in sync between my Mac and mobile devices (Quine)\nfirst-heard-survey: Official newsletter\nfirst-used-tw: 2018\njoined-tw-community: No\nmain-use-cases: Note-taking;As a knowledge base (including technical, non-fiction and encyclopaedic content);Worldbuilding (e.g. for role-playing games)\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: \npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: Keeping things on the same track, not expanding and enshittifying\nproject-weaknesses: I want to be able to write in markdown natively, the plugins aren't great and I would write a lot more if this was native\npublish-to-intranet: \npublish-to-web: \npublished-plugin: No\nsave-method: Single-file wiki with TiddlyDesktop;Single-file wiki third-party mobile app (e.g. Tiddloid, Quine)\nshare-wikis: No, my TiddlyWiki is for personal use only\nstarted-tw-community: \ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00147\ntw-ability-level: I have customised TiddlyWiki through options and plugins;I have written custom CSS styles\ntw-customisations: I customized all my stylesheets and menus\ntw-future-confidence: Yes\nuse-discord: \nuse-for-work-or-study: No\nuse-github-discuss: \nuse-mailing-list: \nuse-reddit: \nuse-ttw: \nvalue-of-tw: It gives me something that's offline, web based, and in a manageable single file that is extensible and personal.\nwiki-setup-info: My TiddlyWiki version seems to be missing this"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00148.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Talk TiddlyWiki\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2008\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2015\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I read/lurk, but do not post\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I read and post in this community\",\n        \"use-github-discuss\": \"I read/lurk, but do not post\",\n        \"published-plugin\": \"Yes\",\n        \"main-use-cases\": \"Note-taking;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Worldbuilding (e.g. for role-playing games)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"No\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Yes, using a single-file wiki\",\n        \"publish-to-intranet\": \"Not publishing to this location\",\n        \"value-of-tw\": \"I consider Tiddlywiki to be an almost perfect \\\"knowledge database\\\", where I can piece together and interact with webs of information.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver);Single-file wiki third-party mobile app (e.g. Tiddloid, Quine)\",\n        \"backup-method\": \"TiddlySpot / TiddlyHost;Consumer online storage (e.g. Google Drive, Dropbox);WebDAV\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/palettes/DesertSand\\nCurrent theme: $:/themes/tiddlywiki/snowwhite\\nCurrent layout: \\nBrowser language setting: sv-SE\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: $:/config/shortcuts/SL-Verktyg\\nDisabled plugins: $:/languages/sv-SE\\nPlugins: \\n  $:/core - 5.3.6\\n  $:/plugins/kookma/section - 1.2.2\\n  $:/plugins/OokTech/RandomValue - 0.1.5\\n  $:/plugins/tiddlywiki/browser-sniff - 5.3.6\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.6\\n  $:/themes/tiddlywiki/vanilla - 5.3.6\\n</code></pre></details>\",\n        \"tw-customisations\": \"If a given TiddlyWiki is mostly used as a place to \\\"dump\\\" information in, then hardly no customization. The more time I spend interacting with it, the more it will be customized.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"The organic feel of the development is reassuring, as is the wide range of people and backgrounds involved in both project and community. Especially with Jeremy as helmsman for the project.\\nThe \\\"teaser\\\" filter functions for JSON data handling that we got a year or two back got me VERY excited and hopeful for more.\",\n        \"project-weaknesses\": \"I don't see any plausible scenario where I would drop TiddlyWiki and/or the community.\\nI think I saw that there will be some semi-\\\"official\\\" delegation of work on developing subsystems to certain people, which to me sounds like it could make project management easier for Jeremy.\\nThe main thing stopping me from contributing to the project is that, even after using TW for more than 15 years, I still feel like I'm not competent enough...\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00148\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00149.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2022\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2023\",\n        \"use-ttw\": \"I read/lurk, but do not post\",\n        \"use-mailing-list\": \"I do not engage with this community\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;As a knowledge base (including technical, non-fiction and encyclopaedic content);Other\",\n        \"other-use-cases\": \"a Zettelkasten for my reading and books\",\n        \"use-for-work-or-study\": \"Not applicable (as retired, etc)\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"It is a personal wiki for my reading and building connections between books reading projects and providing a journal of my reading\",\n        \"tw-ability-level\": \"I am comfortable writing filter expressions\",\n        \"save-method\": \"Multi-file wiki served through Node.js\",\n        \"backup-method\": \"DIY (any other solution)\",\n        \"diy-backup-info\": \"I use syncthing to backup my files but need to look at remote hosting as then I can access my Tiddlwiki when out and about.\\nI was caring for my partner through the last three years of his life and so largely housebound - hence a home network solution\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.7\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: \\nCurrent layout: $:/core/ui/PageTemplate\\nBrowser language setting: en-GB\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fixed-fluid\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: top\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: above\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.7\\n  $:/plugins/felixhayashi/hotzone - 0.0.3\\n  $:/plugins/felixhayashi/tiddlymap - 0.17.7+9982\\n  $:/plugins/felixhayashi/topstoryview - 0.2.0\\n  $:/plugins/felixhayashi/vis - \\n  $:/plugins/sukima/reveal-js - 1.1.1\\n  $:/plugins/tiddlywiki/filesystem - 5.3.7\\n  $:/plugins/tiddlywiki/highlight - 5.3.7\\n  $:/plugins/tiddlywiki/katex - 5.2.0-prerelease\\n  $:/plugins/tiddlywiki/tiddlyweb - 5.3.7\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.2.5\\n  $:/themes/tiddlywiki/vanilla - 5.2.5\\n</code></pre></details>\",\n        \"tw-customisations\": \"I use backlinks to give me a Zettelkasten effect\\n\\nso every tiddler has this code at the bottom:\\n\\n<<list-links \\\"[all[current]backlinks[]sort[title]]\\\">>\\n\\nNot very exciting\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"I like that it is open source and works even on Termux on my Android phone - which is where it started out.\\nI am aware I am a small cog and don't use Tiddlywiki to its full potential\\nand there are kinks that need sorting and I need to engage to maintain it.\\nI come from a Linux background - next year I will have been using Linux as my sole OS\\nfor 25 years. Thanks to receiving Windows Me on a new computer and it being so buggy that\\nI moved to Linux to recover my files.\",\n        \"project-weaknesses\": \"I may leave TW I have to leave that open but I do not at present see that as likely.\\n\\npotential small black clouds on the horizon are:\\n- having .tid files that are not compatible with a new version of TW and no easy path to convert them\\n- needing to host my TW remotely in the node.js format so I can access it remotely and that not being possible.\\n\\nMy partner died last month and so things are changing so I cannot offer help at this time.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00149\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00150.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2005\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Other\",\n        \"other-use-cases\": \"miniature database\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"I use TW as my primary knowledge base and to keep track what is to be done.\\nI know that I won't loose any information as soon as I put it into a tiddler.\\nI also use TW as a single point of entry to link to the corporate tools.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles;I have written custom JavaScript\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism)\",\n        \"backup-method\": \"N/A - I keep my wiki on a single system\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.7\\nCurrent palette: $:/.oap/palettes/NordOAP\\nCurrent theme: $:/themes/tiddlywiki/snowwhite\\nCurrent layout: $:/core/ui/PageTemplate\\nBrowser language setting: fr\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fixed-fluid\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: $:/config/shortcuts/external-link,$:/config/shortcuts/layout-switcher,$:/config/shortcuts/linkify,$:/config/shortcuts/list-bullet\\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.7\\n  $:/languages/fr-FR - 5.3.7\\n  $:/plugins/danielo515/ContextPlugin - 2.1.0\\n  $:/plugins/kixam/datepicker - 0.5.1\\n  $:/plugins/kixam/moment - 2.14.1\\n  $:/plugins/telmiger/details - 0.7.5\\n  $:/plugins/tiddlywiki/highlight - 5.3.7\\n  $:/plugins/wikilabs/link-to-tabs - 1.1.1\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.7\\n  $:/themes/tiddlywiki/vanilla - 5.3.7\\n</code></pre></details>\",\n        \"tw-customisations\": \"Stylesheets, macros to customize rendering of information or to link to corporate tools, a bit of javascript to automate some calculations.\\nSome of this customisations come from the community.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"TW is a reliable piece of software.\\nThe community is friendly and responsive and provides a lot of resources.\\nThanks a lot for the great work !\",\n        \"project-weaknesses\": \"TW seems a bit overwhelming for newcomers, so maybe trying to lower the entry barrier.\\nAll in all, I am not afraid in the future of TW.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00150\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00151.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2003\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2017\",\n        \"use-ttw\": \"I read/lurk, but do not post\",\n        \"use-mailing-list\": \"I read/lurk, but do not post\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Not applicable (as retired, etc)\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"I use it to organise my mind & my life!\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles;I have written custom JavaScript\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver);Single-file wiki third-party mobile app (e.g. Tiddloid, Quine)\",\n        \"backup-method\": \"Web or cloud hosting (other than TiddlyHost/TiddlySpot e.g. Netlify, AWS, OVH, Google Cloud...)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.7\\nCurrent palette: $:/palettes/Blanca\\nCurrent theme: $:/themes/tiddlywiki/snowwhite\\nCurrent layout: $:/core/ui/PageTemplate\\nBrowser language setting: en-GB\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: yes\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: $:/plugins/tobibeer/sparkl,$:/themes/tiddlywiki/snowwhite\\nPlugins: \\n  $:/core - 5.3.7\\n  $:/plugins/mklauber/shuffle - 1.0.2\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/vanilla - 5.3.7\\n</code></pre></details>\",\n        \"tw-customisations\": \"I've written several custom JavaScript macros for my own needs e.g.working with dates (countdown to date, countup from date, days between two dates, display date n days from today), displaying timers, generating daily todo lists, and generating svg graphs from tables\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"I don't have a lot of interaction with the project and community, but when I periodically update my wikis it always feels like improvements have been made\",\n        \"project-weaknesses\": \"In terms of what might encourage me to contribute to the project: the macros & tools I've written for myself seem a bit too esoteric, and probably built in non-standard / hacky ways, to be useful to the wider community. If there was a simple, central way to share custom macros I might be encouraged to tidy them up for public consumption!\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00151\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00152.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Talk TiddlyWiki\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2019\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2019\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I do not engage with this community\",\n        \"use-reddit\": \"I read/lurk, but do not post\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I read/lurk, but do not post\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"No\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"A wholly owned, time & battle tested platform to store and manage personal information.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver);Multi-file wiki served through Node.js\",\n        \"backup-method\": \"TiddlySpot / TiddlyHost;WebDAV\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.7\\nCurrent palette: $:/palettes/CupertinoDark\\nCurrent theme: $:/themes/tiddlywiki/snowwhite\\nCurrent layout: $:/core/ui/PageTemplate\\nBrowser language setting: el-GR\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: yes\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: above\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: $:/config/shortcuts/EC-GoToModal\\nDisabled plugins: $:/plugins/btheado/BrowserStorage,$:/plugins/linonetwo/markdown-transformer,$:/plugins/oeyoews/tiddlywiki-codemirror-6,$:/plugins/snowgoon88/edit-comptext,$:/plugins/tiddlywiki/browser-storage,$:/plugins/tiddlywiki/codemirror,$:/plugins/tiddlywiki/dynaview,$:/plugins/tiddlywiki/menubar,$:/plugins/tiddlywiki/nodewebkitsaver,$:/plugins/wikilabs/palette-manager,$:/plugins/wikilabs/palette-watch\\nPlugins: \\n  $:/core - 5.3.7\\n  $:/plugins/danielo515/ContextPlugin - 2.1.0\\n  $:/plugins/EvidentlyCube/AutoComplete - 1.0.20\\n  $:/plugins/EvidentlyCube/GoToShortcut - 0.3.1\\n  $:/plugins/flibbles/relink - 2.5.1\\n  $:/plugins/flibbles/relink-fieldnames - 2.5.0\\n  $:/plugins/flibbles/relink-markdown - 2.5.1\\n  $:/plugins/flibbles/relink-titles - 2.4.0\\n  $:/plugins/flibbles/relink-variables - 2.5.0\\n  $:/plugins/kookma/commander - 2.1.14\\n  $:/plugins/kookma/search - 1.0.0\\n  $:/plugins/kookma/section - 1.2.2\\n  $:/plugins/kookma/shiraz - 3.0.12\\n  $:/plugins/kookma/tweaks - 0.2.2\\n  $:/plugins/kookma/utility - 3.2.3\\n  $:/plugins/tiddlywiki/codemirror-autocomplete - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-closebrackets - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-mode-css - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-mode-markdown - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-mode-xml - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-search-replace - 5.3.7\\n  $:/plugins/tiddlywiki/dynannotate - 5.3.7\\n  $:/plugins/tiddlywiki/highlight - 5.3.7\\n  $:/plugins/tiddlywiki/markdown - 5.3.7\\n  $:/plugins/TWaddle/pluginsize - 1.0.0\\n  $:/plugins/TWaddle/SideEditor - 3.0.12\\n  $:/plugins/valpackett/web-app-manifest - 0.2.2\\n  $:/plugins/wikilabs/palette-switcher - 1.0.0\\n  $:/plugins/yaisog/choose-random-filter - 0.9.0\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.7\\n  $:/themes/tiddlywiki/vanilla - 5.3.7\\n</code></pre></details>\",\n        \"tw-customisations\": \"- Small CSS adjustments\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"Taking careful steps without rushing, after discussions with the community.\",\n        \"project-weaknesses\": \"- Focus more on modern/async saving mechanisms (TiddlyPWA but native)\\n- Easier direct capture of information, maybe through WYSIWYG instead of modal modes (ie edit mode OR viewing mode)\\n- Easily accessible library of ready-made solutions to common questions/problem\\n- Far future (after 5.4.x or even 6.x): a kind of Do What I Mean syntax to avoid all Those Pesky Brackets™\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00152\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00153.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2025\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"No\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Yes, using a single-file wiki\",\n        \"publish-to-intranet\": \"Not publishing to this location\",\n        \"value-of-tw\": \"I dont use tiddlywiki at work. I use it to record discussions on our online book club in wiki form. In essence it is a traditional wiki.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism)\",\n        \"backup-method\": \"No automatic sync across my devices\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.7\\nCurrent palette: $:/palettes/ABL-COLORS\\nCurrent theme: $:/themes/nico/notebook\\nCurrent layout: $:/core/ui/PageTemplate\\nBrowser language setting: pt-BR\\nDefault type for missing tiddlers: \\nAuto save setting: no\\nCode wrapping setting: pre-wrap\\nSticky titles setting: yes\\nSidebar layout setting: fixed-fluid\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-boxed\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.7\\n  $:/plugins/nico/notebook-mobile - 1.0.0\\n  $:/plugins/tiddlywiki/markdown - 5.3.7\\n  $:/temp/info-plugin - \\n  $:/themes/nico/notebook - 1.4.1\\n  $:/themes/tiddlywiki/snowwhite - 5.3.7\\n  $:/themes/tiddlywiki/vanilla - 5.3.7\\n</code></pre></details>\",\n        \"tw-customisations\": \"I added a footer with custom images and CSS at the end of the html file.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"It's extremely easy to start a wiki. Having the whole wiki in a single file is perfect. No need to run and maintain a server. These are the best things about tiddlywiki.\",\n        \"project-weaknesses\": \"I researched \\\"wiki engines\\\" a year or so ago and did not pick tiddlywiki in part because I felt disoriented by the navigation style  - things changing the layout of the site all the time. This made me discard tiddlywiki as an option, probably more people do it too\\n\\nI'm affraid Tiddlywiki is not suported in older or future browsers since it uses lots of javascript.\\n\\nIt feels tiddlywiki is quite complete, tbh. I don't see how could I contribute work to the project. I can donate money, though.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00153\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00154.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2023\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"Keeping a record of my work and life, in a single HTML file, with hyperlinked pages, subjects, etc.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism);Single-file wiki third-party mobile app (e.g. Tiddloid, Quine)\",\n        \"backup-method\": \"DIY (any other solution)\",\n        \"diy-backup-info\": \"I have my TiddlyWikis in Syncthing directories\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/palettes/CupertinoDark\\nCurrent theme: $:/themes/tiddlywiki/snowwhite\\nCurrent layout: \\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: yes\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-boxed\\nNavigation address bar setting: permaview\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.6\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.6\\n  $:/themes/tiddlywiki/vanilla - 5.3.6\\n</code></pre></details>\",\n        \"tw-customisations\": \"\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"A full-featured wiki system in a single-HTML file. That's extremely useful. And easy to use on top of that.\",\n        \"project-weaknesses\": \"I could leave TiddlyWiki if out of nowhere appeared another project that works better. A calendar-like thing for journal entries would be helpful. I also think the documentation could be improved, taking into account persons of different expertise levels, and what they intend to achieve, following for example the Diátaxis approach to documentation. There are a few things I'd like to do/change myself on my wikis, but I have no idea where to begin.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00154\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00155.tid",
    "content": "are-you-a-dev: No, I would not\nbackup-method: TiddlySpot / TiddlyHost\ndiy-backup-info: \nfirst-heard-survey: tiddlywiki.com\nfirst-used-tw: 2021\njoined-tw-community: No\nmain-use-cases: Worldbuilding (e.g. for role-playing games)\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: \npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: Well, it keeps working so far. I don't really follow the news so I don't know what's going on in the community, but my Wikipedia keeps working and it already has everything I need. And when I don't have something, I just find some old threads where someone requested it\nproject-weaknesses: Idk everything's fine ig\npublish-to-intranet: Not publishing to this location\npublish-to-web: Yes, using a single-file wiki\npublished-plugin: No\nsave-method: Single-file wiki with TiddlyDesktop\nshare-wikis: Yes, and I am the only editor/administrator of my wiki(s)\nstarted-tw-community: \ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00155\ntw-ability-level: I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I have written custom HTML;I have written custom CSS styles\ntw-customisations: \ntw-future-confidence: Yes\nuse-discord: \nuse-for-work-or-study: No\nuse-github-discuss: \nuse-mailing-list: \nuse-reddit: \nuse-ttw: \nvalue-of-tw: TiddlyWiki has become a powerful tool for my creative writing process. I've been using it for last four years for my passion project. It's convenient, incredibly customizable, and easy to work with. I use it almost daily.\nwiki-setup-info: "
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00156.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2006\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"Yes\",\n        \"main-use-cases\": \"Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"Significant value, using it for all my tech notes and tracking the work I'm doing in 2 different wikies - one is plain tiddly wiki with few plugins installed, another is customised Projectify fork, based on tiddly wiki.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins\",\n        \"save-method\": \"Single-file wiki with TiddlyDesktop\",\n        \"backup-method\": \"DIY (any other solution)\",\n        \"diy-backup-info\": \"I'm using keybase.io filesystem to share wiki between devices and shell script to sync wikies. before starting work pull files from remote, after saving - pushing files to remote. I'm not using backup feature of tiddlydesktop, only when upgrading version.\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/palettes/EzVanilla\\nCurrent theme: $:/themes/tiddlywiki/vanilla\\nCurrent layout: $:/core/ui/PageTemplate\\nBrowser language setting: en-GB\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: $:/plugins/tiddlywiki/d3,$:/plugins/tiddlywiki/jszip,$:/plugins/tiddlywiki/xlsx-utils,$:/plugins/tongerner/searchtab\\nPlugins: \\n  $:/core - 5.3.6\\n  $:/languages/ru-RU - 5.3.6\\n  $:/plugins/bimlas/highlight-searched-text - 0.5.0\\n  $:/plugins/danielo515/2click2edit - 0.1\\n  $:/plugins/orange/mermaid-tw5 - 0.3.8\\n  $:/plugins/tiddlywiki/classictools - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-autocomplete - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-closebrackets - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-closetag - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-keymap-vim - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-mode-css - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-mode-javascript - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-mode-markdown - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-mode-x-tiddlywiki - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-mode-xml - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-search-replace - 5.3.6\\n  $:/plugins/tiddlywiki/github-fork-ribbon - 5.3.6\\n  $:/plugins/tiddlywiki/highlight - 5.3.6\\n  $:/plugins/tiddlywiki/katex - 5.3.6\\n  $:/plugins/tiddlywiki/markdown - 5.3.6\\n  $:/plugins/tiddlywiki/qrcode - 5.3.6\\n  $:/plugins/tiddlywiki/railroad - 5.3.6\\n  $:/plugins/tiddlywiki/tw2parser - 5.3.6\\n  $:/temp/info-plugin - \\n  $:/themes/nico/notebook - 1.4.1\\n  $:/themes/tiddlywiki/centralised - 5.3.6\\n  $:/themes/tiddlywiki/readonly - 5.3.6\\n  $:/themes/tiddlywiki/seamless - 5.3.6\\n  $:/themes/tiddlywiki/snowwhite - 5.3.6\\n  $:/themes/tiddlywiki/starlight - 5.3.6\\n  $:/themes/tiddlywiki/tight - 5.3.6\\n  $:/themes/tiddlywiki/vanilla - 5.3.6\\n</code></pre></details>\\n\\n\\nand\\n\\n\\n<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/themes/nico/notebook/palettes/palette-grey\\nCurrent theme: $:/themes/nico/notebook\\nCurrent layout: \\nBrowser language setting: en-GB\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fixed-fluid\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: $:/plugins/tiddlywiki/d3\\nPlugins: \\n  $:/core - 5.3.6\\n  $:/plugins/bimlas/highlight-searched-text - 0.5.0\\n  $:/plugins/danielo515/2click2edit - 0.1\\n  $:/plugins/flibbles/relink - 2.4.4\\n  $:/plugins/nico/notebook-mobile - 1.0.0\\n  $:/plugins/nico/projectify - 0.15.4\\n  $:/plugins/tiddlywiki/classictools - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror - 5.3.6\\n  $:/plugins/tiddlywiki/github-fork-ribbon - 5.3.6\\n  $:/plugins/tiddlywiki/highlight - 5.3.6\\n  $:/plugins/tiddlywiki/markdown - 5.3.6\\n  $:/plugins/tiddlywiki/qrcode - 5.3.6\\n  $:/plugins/tiddlywiki/railroad - 5.3.6\\n  $:/temp/info-plugin - \\n  $:/themes/nico/notebook - 1.4.1\\n  $:/themes/tiddlywiki/snowwhite - 5.3.6\\n  $:/themes/tiddlywiki/vanilla - 5.3.6\\n</code></pre></details>\",\n        \"tw-customisations\": \"I've done a couple of changes to CSS, but some of it is removed now\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"Single html wiki, portability and cross platform usage. Ability to use just with browser (no extra tools are needed for basic use scenario)\",\n        \"project-weaknesses\": \"Could you imagine yourself leaving TiddlyWiki?\\n\\nno\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00156\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00157.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Talk TiddlyWiki\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2003\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2018\",\n        \"use-ttw\": \"I read/lurk, but do not post\",\n        \"use-mailing-list\": \"I read/lurk, but do not post\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I read/lurk, but do not post\",\n        \"published-plugin\": \"Yes\",\n        \"main-use-cases\": \"Note-taking;As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Yes, using a single-file wiki;Not publishing to this location\",\n        \"publish-to-intranet\": \"Yes, using a single-file wiki\",\n        \"value-of-tw\": \"An easy to edit way to collect note and information about our internal developments.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles;I have written custom JavaScript\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver);Single-file wiki with TiddlyDesktop\",\n        \"backup-method\": \"N/A - I keep my wiki on a single system\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.0\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: $:/themes/tiddlywiki/snowwhite\\nCurrent layout: $:/core/ui/PageTemplate\\nBrowser language setting: en-AU\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.0\\n  $:/plugins/ajh/openall - 0.0.3\\n  $:/plugins/chanilino/viz - 1.0.1\\n  $:/plugins/telmiger/details - 0.7.6\\n  $:/plugins/tiddlywiki-scss-com-au/asciimath4katex - 1.0.11\\n  $:/plugins/tiddlywiki-scss-com-au/chartjs - 1.0.16\\n  $:/plugins/tiddlywiki-scss-com-au/chartjs-adapter-date-fns - 1.0.1\\n  $:/plugins/tiddlywiki-scss-com-au/chartjs-plugin-datalabels - 1.0.1\\n  $:/plugins/tiddlywiki-scss-com-au/googlecharts - 1.3.5\\n  $:/plugins/tiddlywiki/katex - 5.3.0\\n  $:/plugins/tiddlywiki/qrcode - 5.3.0\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.0\\n  $:/themes/tiddlywiki/vanilla - 5.3.0\\n</code></pre></details>\",\n        \"tw-customisations\": \"I almost always have a custom stylesheet. Use of plugins depends on the wiki! I have sometimes used templates, but find them complicated.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"I like the fact that it is open source, built on well-known web technologies, and that it is possible to enhance with plugins.\",\n        \"project-weaknesses\": \"I exclusively use TiddlyWiki as a single-page file not hosted anywhere. The biggest issue is the saving mechanism. If there was some way to become a non-issue, that would be the biggest improvement IMHO.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00157\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00158.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2014\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2024\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I read and post in this community\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I read/lurk, but do not post\",\n        \"published-plugin\": \"Yes\",\n        \"main-use-cases\": \"Note-taking;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Producing/publishing interactive fiction;Worldbuilding (e.g. for role-playing games);Narrative fiction writing (either supporting its creation or directly writing in TiddlyWiki);Programming;Other\",\n        \"other-use-cases\": \"Internau corporate knowledgebase. Often for personal use at first and later for the entire team or department.\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Yes, using a single-file wiki\",\n        \"publish-to-intranet\": \"Yes, using a single-file wiki\",\n        \"value-of-tw\": \"It helps in jotting down ideas, and work on it modularly. This saves a lot of time and lessen wasted resources. Depending on the project, it's either a supplement or the primary method side-by-side with traditional notebook notes and journals.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism);Single-file wiki with TiddlyDesktop\",\n        \"backup-method\": \"TiddlySpot / TiddlyHost;Consumer online storage (e.g. Google Drive, Dropbox);Web or cloud hosting (other than TiddlyHost/TiddlySpot e.g. Netlify, AWS, OVH, Google Cloud...);Neocities, Nekoweb, tiiny.host, omg.lol and similar services;DIY (any other solution)\",\n        \"diy-backup-info\": \"Syncthing. It works cross-platform (Android, Linux, iOS, macOS, Windows). While Syncthing can be used to sync online too, it's best for LAN sync'ing. I leave online backups in MEGA Sync and pCloud monthly.\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.7\\nCurrent palette: $:/palettes/Twilight\\nCurrent theme: $:/themes/tiddlywiki/snowwhite\\nCurrent layout: \\nBrowser language setting: en-PH\\nDefault type for missing tiddlers: \\nAuto save setting: no\\nCode wrapping setting: pre-wrap\\nSticky titles setting: yes\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: pop\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: $:/config/shortcuts-not-windows/switch-reader-mode\\nDisabled plugins: $:/plugins/tiddlywiki/codemirror,$:/plugins/tiddlywiki/codemirror-closebrackets,$:/plugins/tiddlywiki/codemirror-mode-css,$:/plugins/tiddlywiki/codemirror-mode-htmlembedded,$:/plugins/tiddlywiki/codemirror-mode-htmlmixed,$:/plugins/tiddlywiki/codemirror-mode-javascript,$:/plugins/tiddlywiki/codemirror-mode-markdown,$:/plugins/tiddlywiki/codemirror-mode-xml,$:/plugins/tiddlywiki/codemirror-search-replace,$:/plugins/tiddlywiki/codemirror-trailingspace\\nPlugins: \\n  $:/core - 5.3.7\\n  $:/languages/en-PH - 5.3.7\\n  $:/plugins/flibbles/relink - 2.5.1\\n  $:/plugins/flibbles/relink-fieldnames - 2.5.0\\n  $:/plugins/flibbles/relink-markdown - 2.5.1\\n  $:/plugins/flibbles/relink-titles - 2.4.0\\n  $:/plugins/flibbles/relink-variables - 2.5.0\\n  $:/plugins/Gk0Wk/CPL-Repo - 2025.03.29\\n  $:/plugins/kookma/refnotes - 1.9.0\\n  $:/plugins/kookma/shiraz - 3.0.12\\n  $:/plugins/kookma/shiraz-callout - 0.8.0\\n  $:/plugins/kookma/shiraz-formatter - 0.6.2\\n  $:/plugins/kookma/tweaks - 0.2.2\\n  $:/plugins/kookma/utility - 3.2.3\\n  $:/plugins/tg/layout - 0.5.13\\n  $:/plugins/tg/tiddlersbar - 0.0.22\\n  $:/plugins/tg/topmenu - 0.1.21\\n  $:/plugins/tiddlywiki/highlight - 5.3.7\\n  $:/plugins/tiddlywiki/markdown - 5.3.7\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.7\\n  $:/themes/tiddlywiki/vanilla - 5.3.7\\n</code></pre></details>\",\n        \"tw-customisations\": \"I added my preferred base CSS and font styles that I regularly use across different projects. Although the one I'm using for my TW sites are a bit old, since I'm still working on a fresh new one with only the latest in CSS and HTML.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"1. Very helpful and polite community. I'm an autistic, and a type of autistic who finds it hard to join in a new community even online. So, everyone being helpful and polite made it easy.\\n2. Broad-minded team. I asked about creating an English Philippines translation, and it was welcomed with open arms. Generally, it's denied in projects because there's British and/or American English already.\",\n        \"project-weaknesses\": \"Maybe the official documentation can also suggest other TW help/doc sites. The official docs is geared on the technical side, assuming one is in programmer mode. There are other TW help/doc sites written in a \\\"How-To\\\" way, or in wordy explanation way. It will help a wide range of users, as we all have different preferred way of learning.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00158\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00159.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2014\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2014\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I read and post in this community\",\n        \"use-reddit\": \"I read/lurk, but do not post\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;As a knowledge base (including technical, non-fiction and encyclopaedic content);Producing/publishing interactive fiction;Worldbuilding (e.g. for role-playing games)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"No\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"1572 out of 10, woould definitely continue to use it constantly / daily, for note-taking, exploration, writing, and documentation.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles;I have written custom JavaScript\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism)\",\n        \"backup-method\": \"Consumer online storage (e.g. Google Drive, Dropbox)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/palettes/Nord\\nCurrent theme: $:/themes/tiddlywiki/vanilla\\nCurrent layout: $:/core/ui/PageTemplate\\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre\\nSticky titles setting: yes\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: permaview\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: $:/plugins/ajh/favorites,$:/plugins/bj/storytabs,$:/plugins/danielo515/autotag,$:/plugins/hchaase/toc_counting,$:/plugins/jcose/MegaMenu,$:/plugins/mklauber/shuffle,$:/plugins/nico/notebook-mobile,$:/plugins/sq/editor-autolist,$:/plugins/tobibeer/xlist,$:/plugins/TWaddle/ListTree\\nPlugins: \\n  $:/core - 5.3.6\\n  $:/plugins/kookma/commander - 2.1.3\\n  $:/plugins/kookma/shiraz - 2.4.4\\n  $:/plugins/tesseract/Moments - 0.6.17\\n  $:/plugins/tgrosinger/tw5-checklist - 0.0.15\\n  $:/plugins/tobibeer/count - 0.5.0\\n  $:/plugins/tobibeer/random - 0.1.0\\n  $:/plugins/venomspinner/ghostwriter - 1.0.9\\n  $:/plugins/wikilabs/click-effect - 0.2.0\\n  $:/plugins/wikilabs/tocP - 0.1.0\\n  $:/temp/info-plugin - \\n  $:/themes/bimlas/modular - 5.1.22\\n  $:/themes/tiddlywiki/snowwhite - 5.3.6\\n  $:/themes/tiddlywiki/vanilla - 5.3.6\\n</code></pre></details>\",\n        \"tw-customisations\": \"I have multiple \\\"stylers\\\", separated for easy categorizing - basic system-wide, columns, specific additional creations, templates, etc. I use templates and icon cusomization a lot - especially favicon, and for templates.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"I like that everyone continues to be engaged and to develop new solutions / features (even if lately, it sometimes feels like a lot of them are beyond my skill level / knowledge).  I am really looking forward to seeing where it goes!\",\n        \"project-weaknesses\": \"I have left TW - for Notion / Obsidian / etc. But I always come back,\\n\\nBetter? \\n- explaining how to host / setup for the non-architect would be good. I'm in IT and not dumb, but... OMG\\n- improve basic tools / explanations around themes: this alone would be a HUGE help for me - so many more complex themes I want to create and share\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00159\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00160.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2024\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"As a knowledge base (including technical, non-fiction and encyclopaedic content);Worldbuilding (e.g. for role-playing games);Narrative fiction writing (either supporting its creation or directly writing in TiddlyWiki)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"No\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"I use it as a configurable storage system that I can dynamically query and reformat.  In particular, I use timestamps, sha256, and sorting to pick out random items from lists.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom JavaScript\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism)\",\n        \"backup-method\": \"WebDAV;DIY (any other solution)\",\n        \"diy-backup-info\": \"I use Syncthing to sync a folder between my personal laptop, work laptop, and android phone, then rclone to serve that folder as WebDav and the builtin WebDav saver.\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/palettes/Twilight\\nCurrent theme: \\nCurrent layout: \\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: no\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: permaview\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.6\\n  $:/plugins/ahahn/tinka - 0.5.0\\n  $:/plugins/us.schwier.tiddlywiki/AdvancedTransform - 1.0.0\\n  $:/plugins/us.schwier.tiddlywiki/Archived - 1.0.2\\n  $:/plugins/us.schwier.tiddlywiki/Archivist - 0.1.8\\n  $:/plugins/us.schwier.tiddlywiki/Tagging - 0.1.0\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.6\\n  $:/themes/tiddlywiki/vanilla - 5.3.6\\n</code></pre></details>\",\n        \"tw-customisations\": \"I built my own plugins for extending the Advanced Search, exporting text to a webdav file, an organized tagging system, and archiving using ViolentMonkey to host TiddlyWiki in an iframe.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"I really like the customization, and the fact the wiki is moving towards using widgets and filters for more functionality because I find them easier to understand.\",\n        \"project-weaknesses\": \"I would like it if the core components start working towards supporting Javascript Promises.  There are native browser libraries I would like to use in filters and events, but can't because they are Promise or callback based.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00160\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00161.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2018\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;As a knowledge base (including technical, non-fiction and encyclopaedic content);Other\",\n        \"other-use-cases\": \"Estudos espiritualista para o auto-conhecimento, TI, programação\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"Um excelente método de estudo, onde você cria o conteúdo onde ele proporciona total liberdade para concatenar e interligar o seu próprio método e capacidade para estudar rumo à compreensão.\\nSou muito grato a todos que trabalham para que o TiddlyWiki exista e seja muito útil.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...)\",\n        \"save-method\": \"Single-file wiki with TiddlyDesktop\",\n        \"backup-method\": \"DIY (any other solution)\",\n        \"diy-backup-info\": \"Apenas utilizo o OneDrive para estudos durante o trabalho, em casa, copio os tiddlers para o arquivo principal.\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.7\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: $:/themes/tiddlywiki/heavier\\nCurrent layout: \\nBrowser language setting: pt-BR\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fixed-fluid\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: top\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: above\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: $:/config/shortcuts/colortext,$:/config/shortcuts/highlight\\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.7\\n  $:/languages/pt-BR - 5.3.7\\n  $:/plugins/bj/storytabs - 1.11.0\\n  $:/plugins/danielo515/ContextPlugin - 2.1.0\\n  $:/plugins/felixhayashi/hotzone - 0.0.3\\n  $:/plugins/felixhayashi/tiddlymap - 0.15.4+9756\\n  $:/plugins/felixhayashi/topstoryview - 0.2.0\\n  $:/plugins/felixhayashi/vis - 4.21.0-SNAPSHOT\\n  $:/plugins/ihm/tidgraph - 0.9.6\\n  $:/plugins/kookma/refnotes - 1.9.0\\n  $:/plugins/kookma/timelines - 1.5.0\\n  $:/plugins/mermaid-tw5 - 0.3.5\\n  $:/plugins/tiddlywiki/browser-sniff - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-search-replace - 5.3.7\\n  $:/plugins/tiddlywiki/evernote - 5.3.7\\n  $:/plugins/tiddlywiki/nodewebkitsaver - 5.3.7\\n  $:/plugins/tiddlywiki/railroad - 5.3.7\\n  $:/plugins/TWaddle/ListTree - 1.0.4\\n  $:/plugins/TWaddle/SideEditor - 2.1.0\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/centralised - 5.3.7\\n  $:/themes/tiddlywiki/heavier - 5.3.7\\n  $:/themes/tiddlywiki/readonly - 5.3.7\\n  $:/themes/tiddlywiki/seamless - 5.3.7\\n  $:/themes/tiddlywiki/snowwhite - 5.3.7\\n  $:/themes/tiddlywiki/starlight - 5.3.7\\n  $:/themes/tiddlywiki/tight - 5.3.7\\n  $:/themes/tiddlywiki/tight-heavier - 5.3.7\\n  $:/themes/tiddlywiki/vanilla - 5.3.7\\n</code></pre></details>\",\n        \"tw-customisations\": \"Não fiz alterações particulares, apenas utilizo os plugins que facilitam anotações, marcações, criar links, ferramentas que ajudam o estudo.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"Vejo TiddlyWiki como uma poderosa e vasta ferramenta de estudos onde se pode agregar os mais diversos tipos de mídia para fins de estudos e para a compreensão de si, do meio e do todo. Claro que, o mais sofisticado possa ter algum custo, o que é válido! E sim: ampliar as possibilidades nativas de edição textual, tabelas, flowchart, mind map, imagens etc...\",\n        \"project-weaknesses\": \"Não imagino dexando o TiddlyWiki, utilizo por fora um leitor de PDF,  um outro para anotações e para aplicar tags aos conteúdos sublinhados que estudo uso o Zotero para os diversos livros que estudo.\\nO que temo no TiddlyWiki é que deixe sua qualidade e capacidade de expansão se reduzir e se fechar, não mais produzindo possibilidades de crescimento.\\nEu ainda não participo de comunidades...\\nPara contribuir, vou procurar como faze-lo e efetivar a ajuda.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00161\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00162.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2013\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2013\",\n        \"use-ttw\": \"I do not engage with this community\",\n        \"use-mailing-list\": \"I read/lurk, but do not post\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I read and post in this community\",\n        \"published-plugin\": \"Yes\",\n        \"main-use-cases\": \"Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"Yes, with multiple editors/administrators\",\n        \"publish-to-web\": \"Not publishing to this location\",\n        \"publish-to-intranet\": \"Yes, using a single-file wiki;Yes, served through Node.js\",\n        \"value-of-tw\": \"i have been using it every day as personal and professional journal and knowledge base\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles;I have written custom JavaScript\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism);Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver);Multi-file wiki served through Node.js\",\n        \"backup-method\": \"Git forge (GitHub, Gitea/Forgejo, GitLab);DIY (any other solution)\",\n        \"diy-backup-info\": \"i have set up a Bob server on my intranet / VPN\",\n        \"wiki-setup-info\": \"i have several quite different live setups\",\n        \"tw-customisations\": \"all of the above, and more. I even tweaked the core plugin on several occasions for my specific needs. I try to regroup my most useful tweaks in plugins that i make available to the world via github\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"local first, one file containing data+app+plugins+settings, no need for any app but a recent web browser, works on any and all devices that can run any recent web browser. It is important to me that a server should remain optional, and should be assumed unreachable or unavailable most of the time\",\n        \"project-weaknesses\": \"i really need TW to be collaborative, in a local first way. I don't think the current ways, available or being explored by the mainstream community (bags & recipes with a server using SQLite) would suit my needs exactly, because 1/ development is too slow, because 2/ it seems too complex, my need is more simple\\n\\nI am now looking into a 3-fold way to make TW more collaborative, i don't have enough characters in this box to describe it here, please contact me if interested\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00162\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00163.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2017\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Yes, using a single-file wiki\",\n        \"publish-to-intranet\": \"Not publishing to this location\",\n        \"value-of-tw\": \"Single file website, easy to use, open source\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism);Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\",\n        \"backup-method\": \"Git forge (GitHub, Gitea/Forgejo, GitLab);Consumer online storage (e.g. Google Drive, Dropbox)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"Page on Github/Gitlab\\nStoring on Dropbox for personal use case\",\n        \"tw-customisations\": \"Added custom thumbnails, filters to list all tiddlers inside a single tiddler for reference. (Is that how you conjugate Tiddly?)\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"It's a single file that does a lot!\",\n        \"project-weaknesses\": \"More tutorials! Most of the stuff had to be learned by reverse engineering and guessing.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00163\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00164.tid",
    "content": "are-you-a-dev: No, I would not\nbackup-method: DIY (any other solution)\ndiy-backup-info: I use Resilio Sync to sync a folder across local wifi containing the wikis between Desktop and Laptop\nfirst-heard-survey: Talk TiddlyWiki\nfirst-used-tw: 2014\njoined-tw-community: Yes\nmain-use-cases: Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: \npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: That Jeremy is still at the helm but there are also several key people who have a deep knowledge of the architecture. Also, the project is open source and there is a commitment to some degree of 'backwards compatibility'.\nproject-weaknesses: I'm extremely grateful for what I receive from the forum when I ask for help and I almost always get the answer to a problem. I could never imagine leaving TW or something that would change my relationship with it. Unfortunately, I don't have the time or skills to make substantial contributions to the project - hence my gratitude that others do.\npublish-to-intranet: \npublish-to-web: \npublished-plugin: No\nsave-method: Single-file wiki through web browser with Download Saver (default saving mechanism);Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver);Single-file wiki with TiddlyDesktop;Single-file wiki third-party mobile app (e.g. Tiddloid, Quine)\nshare-wikis: No, my TiddlyWiki is for personal use only\nstarted-tw-community: 2014\ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00164\ntw-ability-level: I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom CSS styles\ntw-customisations: \ntw-future-confidence: Yes\nuse-discord: I do not engage with this community\nuse-for-work-or-study: Yes\nuse-github-discuss: I do not engage with this community\nuse-mailing-list: I do not engage with this community\nuse-reddit: I do not engage with this community\nuse-ttw: I read and post in this community\nvalue-of-tw: It is absolutely invaluable. I use it several times a day almost every day and don't know how I would operate without it. Very grateful to Jeremy and the developers.\nwiki-setup-info: "
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00165.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2023\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Not applicable (as retired, etc)\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"It started as 'the thing I ramble in' but the ability to start dipping my toes in on the backend gradually has helped me as a creative writer develop previous interests I had in coding! I can directly credit TiddlyWiki as the inspiration for me to write my own website (a WIP...)\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable writing filter expressions;I have written custom HTML\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism);Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\",\n        \"backup-method\": \"TiddlySpot / TiddlyHost;DIY (any other solution);No automatic sync across my devices\",\n        \"diy-backup-info\": \"currently manual backups though I've just started looking into setting up automatic syncing\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/palettes/CupertinoDark\\nCurrent theme: \\nCurrent layout: \\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: no\\nCode wrapping setting: pre\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-autocomplete - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-closebrackets - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-closetag - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-mode-css - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-mode-htmlembedded - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-mode-htmlmixed - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-mode-javascript - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-mode-markdown - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-mode-xml - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-search-replace - 5.3.6\\n  $:/plugins/tiddlywiki/internals - 5.3.6\\n  $:/plugins/tiddlywiki/markdown - 5.3.6\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/readonly - 5.3.6\\n  $:/themes/tiddlywiki/snowwhite - 5.3.6\\n  $:/themes/tiddlywiki/vanilla - 5.3.6\\n</code></pre></details>\",\n        \"tw-customisations\": \"I tried a few community templates and am currently using a mildly customized MPTW5 setup. As a beginner to Coding In General I've found the community resources Extremely Helpful... but hard to find mostly because I don't have the mindset to go looking for them!\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"As an outsider who fell into the FOSS movement, I very much like what I found here! TiddlyWiki is perfect for my needs as a writer while also encouraging the out-of-the-box thinking skills I've worked so hard to develop. It's so simple to advertise TiddlyWiki to people who I think will get\",\n        \"project-weaknesses\": \"I work full-time in an unrelated field so don't have much personal time to dedicate to coding, and what time I do have I prefer to spend on my writing projects. I very much want to contribute to the project, but don't feel I have much to contribute in the way of skills right now. Hopefully that'll change in the future as I continue to get more comfortable with my personal usage of TiddlyWiki!\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00165\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00166.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Official newsletter\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2016\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Producing/publishing interactive fiction;Worldbuilding (e.g. for role-playing games);Narrative fiction writing (either supporting its creation or directly writing in TiddlyWiki)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"TiddlyWiki is an indispensable tool for quick notetaking and team management at work, while at home I use it for worldbuilding and fiction writing, as well as managing to do lists. It allows for fast and organised working.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki with TiddlyDesktop\",\n        \"backup-method\": \"N/A - I keep my wiki on a single system\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.7\\nCurrent palette: $:/palettes/DesertSand\\nCurrent theme: $:/themes/tiddlywiki/vanilla\\nCurrent layout: \\nBrowser language setting: en-GB\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: zoomin\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: above\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.7\\n  $:/plugins/felixhayashi/hotzone - 0.0.3\\n  $:/plugins/felixhayashi/tiddlymap - 0.17.7+9982\\n  $:/plugins/felixhayashi/topstoryview - 0.2.0\\n  $:/plugins/felixhayashi/vis - \\n  $:/plugins/Gk0Wk/CPL-Repo - 2025.03.29\\n  $:/plugins/Gk0Wk/echarts - 0.2.13\\n  $:/plugins/Gk0Wk/focused-tiddler - 0.0.3\\n  $:/plugins/kookma/commander - 2.1.14\\n  $:/plugins/kookma/shiraz - 3.0.12\\n  $:/plugins/kookma/shiraz-callout - 0.8.0\\n  $:/plugins/kookma/shiraz-formatter - 0.6.2\\n  $:/plugins/kookma/timelines - 1.5.0\\n  $:/plugins/kookma/todolist - 1.5.0\\n  $:/plugins/OokTech/WordCount - 0.0.6\\n  $:/plugins/tiddlywiki/codemirror - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-autocomplete - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-closebrackets - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-closetag - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-mode-css - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-mode-htmlembedded - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-mode-htmlmixed - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-mode-javascript - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-mode-markdown - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-mode-xml - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-search-replace - 5.3.7\\n  $:/plugins/tiddlywiki/codemirror-trailingspace - 5.3.7\\n  $:/plugins/tiddlywiki/github-fork-ribbon - 5.3.7\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.7\\n  $:/themes/tiddlywiki/vanilla - 5.3.7\\n</code></pre></details>\",\n        \"tw-customisations\": \"I've got a customised stylesheet, JavaScript to calculate age, created three new buttons to help with the creation of specific Tiddlers, and created display templates to standardise output on these specific Tiddlers.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"The community on Talk TiddlyWiki is very friendly, and knowledgeable. I use both a lot to work out issues, and while I've not posted questions, I've always been able to find the answers. The documentation on the main site is very comprehensive and well organised. GitHub is a well used tool giving me confidence in the robustness of TiddlyWiki. Each new version of TiddlyWiki has brought something new and exciting to its functionality, and make me rethink how things could be better organised.\",\n        \"project-weaknesses\": \"I'm unsure about the work that is being done on MWS and what it might mean for my use of TiddlyWiki. I prefer simple implementations and maintenance, like I currently have with the single file, so depending on what MWS means in the long run, will determine whether I would upgrade or stick with the version that precedes it.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00166\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00167.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Reddit\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2021\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"Me ayuda a guardar cosas que no sabría dónde más guardarlas, además de vincularlas entre sí: notas sobre personas, proveedores, proyectos, conceptos, bibliografía, etc...\",\n        \"tw-ability-level\": \"My use is basic; I use TiddlyWiki in a configuration close to standard, without plugins\",\n        \"save-method\": \"Multi-file wiki served through Node.js\",\n        \"backup-method\": \"DIY (any other solution)\",\n        \"diy-backup-info\": \"Syncthing\",\n        \"wiki-setup-info\": \"\",\n        \"tw-customisations\": \"\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"Siempre mejorando. Fiel a una filosofía y conceptos que son claros y robustos.\",\n        \"project-weaknesses\": \"Sería fantástico que estuviese más desarrollado cómo hackear tiddlywiki, con ejemplos concretos o pequeños proyectos de ejemplo resueltos para practicar y sentar conceptos.\\n\\nUna característica fundamental y que hecho en falta es una mejor gestión de archivos adjuntos (imágenes, pdfs, etc...)\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00167\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00168.tid",
    "content": "are-you-a-dev: Yes, I would\nbackup-method: No automatic sync across my devices\ndiy-backup-info: \nfirst-heard-survey: tiddlywiki.com\nfirst-used-tw: 2013\njoined-tw-community: No\nmain-use-cases: Note-taking;As a knowledge base (including technical, non-fiction and encyclopaedic content)\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: \npositive-about-future: Yes\nproject-decision-trust: No\nproject-strengths: project is actively developed - have hopes for features I need to be implemented in the future\nproject-weaknesses: still waiting for JSON Mangler plugin to work with wiki > 5.1.xxx (I can't upgrade some wiki files because of that - still using 5.1.22) or other functionality for creating/updating hierarchical JSON data tiddlers\npublish-to-intranet: \npublish-to-web: \npublished-plugin: No\nsave-method: Single-file wiki through web browser with Download Saver (default saving mechanism);Single-file wiki with TiddlyDesktop\nshare-wikis: No, my TiddlyWiki is for personal use only\nstarted-tw-community: \ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00168\ntw-ability-level: I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom CSS styles\ntw-customisations: plugins for arithmetic calculations, json handling (updates! not just reading), macros for copy information with button click (links, code, text)\ntw-future-confidence: Yes\nuse-discord: \nuse-for-work-or-study: Yes\nuse-github-discuss: \nuse-mailing-list: \nuse-reddit: \nuse-ttw: \nvalue-of-tw: essential knowledge base, don't need to remember/learn again everything\nwiki-setup-info: "
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00169.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2018\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2019\",\n        \"use-ttw\": \"I read/lurk, but do not post\",\n        \"use-mailing-list\": \"I read/lurk, but do not post\",\n        \"use-reddit\": \"I read/lurk, but do not post\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I read/lurk, but do not post\",\n        \"published-plugin\": \"Yes\",\n        \"main-use-cases\": \"Note-taking;Journalling;Narrative fiction writing (either supporting its creation or directly writing in TiddlyWiki);Other\",\n        \"other-use-cases\": \"Fitness tracker\",\n        \"use-for-work-or-study\": \"No\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"It helps me keep track of things in a highly personalized manner. For me, the most important feature of tiddlywiki is not just its data security, but also its customability.\",\n        \"tw-ability-level\": \"I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki third-party mobile app (e.g. Tiddloid, Quine)\",\n        \"backup-method\": \"TiddlySpot / TiddlyHost\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.5\\nCurrent palette: $:/palettes/Dracula\\nCurrent theme: $:/themes/tiddlywiki/vanilla\\nCurrent layout: \\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: no\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.5\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.5\\n  $:/themes/tiddlywiki/vanilla - 5.3.5\\n</code></pre></details>\",\n        \"tw-customisations\": \"stylesheets and macros to present my tw to myself like how a native notes app would look like on my phone. I don't have a personal computer anymore and am mostly on mobile now.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"people are so eager to help and solve each others' problems, and often are also very inspired in their ways\",\n        \"project-weaknesses\": \"I'm afraid of the empty version someday becoming bloated. \\nEven now, I think there is a way to make it even more barebones.\\nI'm very reserved and asocial now, unfortunately. I don't think I'll participate in the community any more than I already had, although I still love reading community posts and seeing everyone's interactions.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00169\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00170.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2003\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Producing/publishing interactive fiction\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"Yes, with multiple editors/administrators\",\n        \"publish-to-web\": \"Yes, using a single-file wiki\",\n        \"publish-to-intranet\": \"Yes, using a single-file wiki;Yes, served through Node.js\",\n        \"value-of-tw\": \"arranging text in the form of tiddlers with automatic date showing age of information and ease of cross platform (phone, tablet, windows, linux) neat field and content search and easy to adapt and so many more things I cant begin to write about in 280 characters!\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...)\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism);Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver);Single-file wiki third-party mobile app (e.g. Tiddloid, Quine)\",\n        \"backup-method\": \"Git forge (GitHub, Gitea/Forgejo, GitLab);Consumer online storage (e.g. Google Drive, Dropbox)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.3\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: \\nCurrent layout: \\nBrowser language setting: en-GB\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: enable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.3\\n  $:/plugins/tiddlywiki/consent-banner - 5.3.3\\n  $:/plugins/tiddlywiki/googleanalytics - 5.3.3\\n  $:/plugins/tiddlywiki/katex - 5.1.21\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.3\\n  $:/themes/tiddlywiki/vanilla - 5.3.3\\n</code></pre></details>\",\n        \"tw-customisations\": \"auto generation of tiddlers from templates using bash scripts.  book like features inspired by https://groktiddlywiki.com/read/.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"multi user access.  at the moment I am exploring https://github.com/dionisos2/tiddlygit because it enables me to have code review and code in the same git repository. https://github.com/TiddlyWiki/MultiWikiServer seems to be very good but requires more infrastructure.\",\n        \"project-weaknesses\": \"its a great tool.  I started using it in 2007 and was enthusiastic about it then. it has stood the test of time.  I am still using it in 2025 and I am perhaps more enthusiastic about it now.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00170\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00171.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2024\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Worldbuilding (e.g. for role-playing games)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"No\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"Non-linear general-purpose notebook/wiki system\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom CSS styles\",\n        \"save-method\": \"Multi-file wiki served through Node.js\",\n        \"backup-method\": \"N/A - I keep my wiki on a single system\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.3\\nCurrent palette: $:/palettes/Nord\\nCurrent theme: $:/themes/tiddlywiki/vanilla\\nCurrent layout: \\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre\\nSticky titles setting: yes\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: permalink\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: $:/config/shortcuts-not-mac/underline,$:/config/shortcuts/excise,$:/config/shortcuts/subscript,$:/config/shortcuts/superscript\\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.3\\n  $:/plugins/aaldrich/tables - 0.6.21\\n  $:/plugins/cdr/markdown-more - 0.1.0\\n  $:/plugins/danielo515/2click2edit - 0.1\\n  $:/plugins/Gk0Wk/TW5-CodeMirror-Enhanced - 0.1.4\\n  $:/plugins/mklauber/aliases - 5.3.3\\n  $:/plugins/sq/Stories - 1.0.3\\n  $:/plugins/tiddlywiki/codemirror - 5.3.3\\n  $:/plugins/tiddlywiki/codemirror-closebrackets - 5.3.3\\n  $:/plugins/tiddlywiki/codemirror-closetag - 5.3.3\\n  $:/plugins/tiddlywiki/codemirror-mode-css - 5.3.3\\n  $:/plugins/tiddlywiki/codemirror-mode-htmlmixed - 5.3.3\\n  $:/plugins/tiddlywiki/codemirror-mode-javascript - 5.3.3\\n  $:/plugins/tiddlywiki/codemirror-mode-markdown - 5.3.3\\n  $:/plugins/tiddlywiki/codemirror-mode-xml - 5.3.3\\n  $:/plugins/tiddlywiki/codemirror-search-replace - 5.3.3\\n  $:/plugins/tiddlywiki/codemirror-trailingspace - 5.3.3\\n  $:/plugins/tiddlywiki/filesystem - 5.3.3\\n  $:/plugins/tiddlywiki/highlight - 5.3.3\\n  $:/plugins/tiddlywiki/markdown - 5.3.3\\n  $:/plugins/tiddlywiki/tiddlyweb - 5.3.3\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.3\\n  $:/themes/tiddlywiki/vanilla - 5.3.3\\n</code></pre></details>\",\n        \"tw-customisations\": \"Stylesheets and ViewTemplates\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"Open source, system transparency.\",\n        \"project-weaknesses\": \"Markdown integration.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00171\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00172.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2009\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Programming\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Yes, using a single-file wiki\",\n        \"publish-to-intranet\": \"Not publishing to this location\",\n        \"value-of-tw\": \"keeps all my notes together at one place.\\nI can write mermaid and railway diagrams and can write math expressions.\\nI can export and import via drag and  drop.\\nI use tiddlymap to get mindmaps and relationships between topics.\\nI can work from every browser everywhere.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism)\",\n        \"backup-method\": \"WebDAV\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.7\\nCurrent palette: $:/palettes/Fresh\\nCurrent theme: \\nCurrent layout: \\nBrowser language setting: en-GB\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre\\nSticky titles setting: yes\\nSidebar layout setting: fixed-fluid\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: top\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: permalink\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: above\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.7\\n  $:/languages/de-DE - 5.3.7\\n  $:/plugins/felixhayashi/hotzone - 0.0.3\\n  $:/plugins/felixhayashi/tiddlymap - 0.17.20+10024\\n  $:/plugins/felixhayashi/topstoryview - 0.2.0\\n  $:/plugins/flibbles/vis-network - 9.1.3\\n  $:/plugins/inmysocks/Dashboard - 0.1.2\\n  $:/plugins/jd/NTFS19 - 1.0.1\\n  $:/plugins/jd/plainrevs - 0.0.30\\n  $:/plugins/orange/mermaid-tw5 - 0.3.8\\n  $:/plugins/tgrosinger/tw5-checklist - 0.0.14\\n  $:/plugins/tiddlywiki/external-attachments - 5.3.7\\n  $:/plugins/tiddlywiki/katex - 5.3.7\\n  $:/plugins/tiddlywiki/markdown - 5.3.7\\n  $:/plugins/tiddlywiki/qrcode - 5.3.7\\n  $:/plugins/tiddlywiki/railroad - 5.3.7\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.7\\n  $:/themes/tiddlywiki/vanilla - 5.3.7\\n</code></pre></details>\",\n        \"tw-customisations\": \"some plugins I found on the web and just drag and dropped them in.\\nI edited external-attachments to work with webdav.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"keeping the project running and breaking not much backward compatibility.\",\n        \"project-weaknesses\": \"With age a project gets stuck in it's tracks and there is not much improvement.\\nWe will propably never get a WYSIWYG editor for example.\\nBut I'm propably the wrong person. I'm not enough involved in the community or the project.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00172\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00173.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2010\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Other\",\n        \"other-use-cases\": \"I’d like to shape a prepared Tiddlywiki for people arriving in a job, having to keep note of many things : contacts, orgs, projects, procs…\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"Heavy payload to prepare my version to achieve the goals I wanted to reach. Many days of reading docs, acquiring comprehension of internal functionnalities et how to use them.\\nNow my \\\"preparation\\\" is optimum and I use it almost permanently at work as maintained knowledge base.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism)\",\n        \"backup-method\": \"DIY (any other solution)\",\n        \"diy-backup-info\": \"I save the wiki file on a daily basis, renaming the file, and save many times ad day to avoid loosing changes. Keeping 2 weeks of daily versions, then 1 monthly (last day) version.\",\n        \"wiki-setup-info\": \"\",\n        \"tw-customisations\": \"\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"maintaining the product\",\n        \"project-weaknesses\": \"better explanations and exemples to go deeper in ecases, or better turorials\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00173\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00174.tid",
    "content": "are-you-a-dev: Yes, I would\nbackup-method: Web or cloud hosting (other than TiddlyHost/TiddlySpot e.g. Netlify, AWS, OVH, Google Cloud...)\ndiy-backup-info: \nfirst-heard-survey: tiddlywiki.com\nfirst-used-tw: 2012\njoined-tw-community: No\nmain-use-cases: As a knowledge base (including technical, non-fiction and encyclopaedic content);Producing/publishing interactive fiction;Programming\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: \npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: Information on the https://tiddlywiki.com/ website\nproject-weaknesses: Add formatting for (amongst others) currencies\npublish-to-intranet: Not publishing to this location\npublish-to-web: Not publishing to this location\npublished-plugin: No\nsave-method: Single-file wiki with TiddlyDesktop\nshare-wikis: Yes, and I am the only editor/administrator of my wiki(s)\nstarted-tw-community: \ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00174\ntw-ability-level: I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\ntw-customisations: stylesheets, macros, functions and procedures,\ntw-future-confidence: Yes\nuse-discord: \nuse-for-work-or-study: Not applicable (as retired, etc)\nuse-github-discuss: \nuse-mailing-list: \nuse-reddit: \nuse-ttw: \nvalue-of-tw: Quite a lot, use it to keep track of recepies, possesions and use it in charity projects.\nwiki-setup-info: "
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00175.tid",
    "content": "are-you-a-dev: Yes, I would\nbackup-method: TiddlySpot / TiddlyHost;Consumer online storage (e.g. Google Drive, Dropbox)\ndiy-backup-info: \nfirst-heard-survey: tiddlywiki.com\nfirst-used-tw: 2012\njoined-tw-community: Yes\nmain-use-cases: Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Worldbuilding (e.g. for role-playing games)\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: \npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: I love the customization, community, and ease of use. You can make it whatever you need.\nproject-weaknesses: I think I previously said I needed help with hosting and customization (esp for themes) but after a little research.... I was wrong! Now using TiddlyHost, and found all kinds of new resources I didn't know about.\npublish-to-intranet: \npublish-to-web: \npublished-plugin: No\nsave-method: Single-file wiki through web browser with Download Saver (default saving mechanism)\nshare-wikis: No, my TiddlyWiki is for personal use only\nstarted-tw-community: \ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00175\ntw-ability-level: I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles;I have written custom JavaScript\ntw-customisations: All of the above (stylesheets, macros/functions/procedures, JavaScript, and direct edits to the core). I make extensive use of templates and custom buttons, special classes for handling formatting type things.\ntw-future-confidence: Yes\nuse-discord: I do not engage with this community\nuse-for-work-or-study: No\nuse-github-discuss: I do not engage with this community\nuse-mailing-list: I read and post in this community\nuse-reddit: I read/lurk, but do not post\nuse-ttw: I read and post in this community\nvalue-of-tw: VERY useful in keeping track of info. It's like a Commonplace book or Zettelkasten.\nwiki-setup-info: "
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00176.tid",
    "content": "are-you-a-dev: Yes, I would\nbackup-method: DIY (any other solution)\ndiy-backup-info: Depends on the particular TW. There are many file sync options.\nfirst-heard-survey: tiddlywiki.com\nfirst-used-tw: 2012\njoined-tw-community: No\nmain-use-cases: Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: \npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: Open helpful community. I mostly just read relevant topics. JavaScript has many libraries, so standing on the shoulders of giants. Regular updates. Beautiful web site, also as a TW.\nproject-weaknesses: Make JavaScript more accessible. Filter expressions etc. are good for simple use cases, but become very tough and hard to debug in more complex scenarios. Writing JS requires reloading etc., is cumbersome. Many TW plugins become outdated, e.g. single maintainer. Would be good to know on which ones, one can rely on. Maybe have some hierarchy, have multiple maintainers for heavily used PlugIns. Do not focus too much on NodeJS. I do not want a local Node JS installation. Have a way for online colab\npublish-to-intranet: Not publishing to this location\npublish-to-web: Not publishing to this location\npublished-plugin: Yes\nsave-method: Single-file wiki through web browser with Download Saver (default saving mechanism);Single-file wiki third-party mobile app (e.g. Tiddloid, Quine)\nshare-wikis: Yes, with multiple editors/administrators\nstarted-tw-community: \ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00176\ntw-ability-level: I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles;I have written custom JavaScript\ntw-customisations: Made a kind of versioning sync, so that you can drop one version of TW into another, will track changes and sync to the most current changes or show conflicts. Using NodeJS etc. would loose a big benefit: running purely in browser, important in restricted / company environments\ntw-future-confidence: Yes\nuse-discord: \nuse-for-work-or-study: Yes\nuse-github-discuss: \nuse-mailing-list: \nuse-reddit: \nuse-ttw: \nvalue-of-tw: Single file is blessing: Reliable & beautiful place to put information; Spreading of information controllable, no install, browser sandbox; Nice for sharing projects / collections with others by secure channel. And curse: size limit, siloed, not interoperable with local fs tools.\nwiki-setup-info: "
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00177.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2012\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"Highly configurable note taking knowledge base / task management / organizer that I can customize to perfectly suit my needs.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom JavaScript\",\n        \"save-method\": \"Multi-file wiki served through Node.js\",\n        \"backup-method\": \"Web or cloud hosting (other than TiddlyHost/TiddlySpot e.g. Netlify, AWS, OVH, Google Cloud...)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.2\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: $:/themes/tiddlywiki/vanilla\\nCurrent layout: $:/core/ui/PageTemplate\\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: yes\\nSidebar layout setting: fixed-fluid\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: $:/config/shortcuts-mac/toggle-sidebar\\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.2\\n  $:/plugins/tiddlywiki/filesystem - 5.3.2\\n  $:/plugins/tiddlywiki/highlight - 5.3.2\\n  $:/plugins/tiddlywiki/katex - 5.3.2\\n  $:/plugins/tiddlywiki/markdown - 5.3.2\\n  $:/plugins/tiddlywiki/railroad - 5.3.2\\n  $:/plugins/tiddlywiki/tiddlyweb - 5.3.2\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.2\\n  $:/themes/tiddlywiki/vanilla - 5.3.2\\n</code></pre></details>\",\n        \"tw-customisations\": \"I have many custom macros. My largest one is for tracking context with coworkers and meetings. I also have a variety of templates for common pages.\\n\\nOnly direct edits I've done to the core are to add automatic linkification for certain custom links.\",\n        \"positive-about-future\": \"No\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"* Very open community\\n* Strong focus on compatibility / support. I never worry that my wiki will no longer be supported\\n* Strong focus on customization.\\n* Focus on self-host / DIY.\",\n        \"project-weaknesses\": \"* TiddlyWiki is an incredibly powerful \\\"operating system\\\" for knowledge management tools, but it's difficult to develop on top of. My main reason for using TiddlyWiki over other tools is customization. I'd love to see that brought more to the forefront. e.g. version control tools, easier testing for plugins, debuggers, etc.\\n* I'm afraid TiddlyWiki will become irrelvent / be surpassed in features by Roam/Obsidian.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00177\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00178.tid",
    "content": "are-you-a-dev: No, I would not\nbackup-method: TiddlySpot / TiddlyHost\ndiy-backup-info: \nfirst-heard-survey: tiddlywiki.com\nfirst-used-tw: 2005\njoined-tw-community: Yes\nmain-use-cases: Note-taking;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Other\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: Experimentation, collaboration\npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: I like the enthusiastic and robust development community and development timeline. I admire the creativity, skills and generosity of the experienced developers and experimenters. It is the most tweakable, customizable, and creatively enjoyable environment I have ever worked in.\nproject-weaknesses: I will always be a loyal fan and user of TW. At my current skill level, there is still a gap between the ideas and concepts I read about in the users groups and my ability to comprehend many of them. There are not enough step-by-step tutorials and example uses that help me understand core concepts and how to build workable models. Would help to have more beginner and intermediate level discussion platforms.\npublish-to-intranet: \npublish-to-web: \npublished-plugin: No\nsave-method: Single-file wiki through web browser with Download Saver (default saving mechanism)\nshare-wikis: No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\nstarted-tw-community: 2015\ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00178\ntw-ability-level: I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML\ntw-customisations: Stylesheets, some macros and procedures\ntw-future-confidence: Yes\nuse-discord: I do not engage with this community\nuse-for-work-or-study: No\nuse-github-discuss: I do not engage with this community\nuse-mailing-list: I read/lurk, but do not post\nuse-reddit: I do not engage with this community\nuse-ttw: I read and post in this community\nvalue-of-tw: It mostly has potential value as I am attempting to develop a real-time team collaboration environment.\nwiki-setup-info: "
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00179.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Talk TiddlyWiki\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2012\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2025\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I read/lurk, but do not post\",\n        \"use-reddit\": \"I read/lurk, but do not post\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Not applicable (as retired, etc)\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"The way TW stores the data in one HTML-file. \\n(I personaly use one sub-folder for media storage).\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins\",\n        \"save-method\": \"Single-file wiki with TiddlyDesktop\",\n        \"backup-method\": \"Web or cloud hosting (other than TiddlyHost/TiddlySpot e.g. Netlify, AWS, OVH, Google Cloud...)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"\",\n        \"tw-customisations\": \"\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"Appealing to me is that the software (application) is future proof.\",\n        \"project-weaknesses\": \"I think that TW will always keeps my interest.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00179\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00180.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2013\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Other\",\n        \"other-use-cases\": \"Sort of a tiddler database, used by other projects.\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"It's mandatory :). I recently changed from Chrome to Firefox mainly because Timimi is not working anymore in Chrome.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\",\n        \"backup-method\": \"Consumer online storage (e.g. Google Drive, Dropbox)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.7\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: \\nCurrent layout: \\nBrowser language setting: pt-BR\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: yes\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.7\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.7\\n  $:/themes/tiddlywiki/vanilla - 5.3.7\\n</code></pre></details>\",\n        \"tw-customisations\": \"I don't play outside the data because I fear to lose everything in the next upgrade, so I prefer to read the wiki data from outside.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"The change of the data to JSON made it extremely easier to import from outside. I loved it.\",\n        \"project-weaknesses\": \"If I was able to learn more about \\\"under the hood\\\" stuff (actions, transclusions, ...), I'd probably use them more often.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00180\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00181.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2006\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"No\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"A space to write and link my thoughts.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions\",\n        \"save-method\": \"Multi-file wiki served through Node.js\",\n        \"backup-method\": \"Git forge (GitHub, Gitea/Forgejo, GitLab)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.3\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: $:/themes/tiddlywiki/vanilla\\nCurrent layout: \\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: top\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: $:/config/shortcuts/excise\\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.3\\n  $:/plugins/danielo515/ContextPlugin - 2.1.0\\n  $:/plugins/flibbles/relink - 1.10.2\\n  $:/plugins/Gk0Wk/sidebar-resizer - 0.0.3\\n  $:/plugins/mklauber/math.js - 1.1.2\\n  $:/plugins/snowgoon88/edit-comptext - 0.8.1\\n  $:/plugins/sq/editor-autolist - 0.1.10\\n  $:/plugins/sq/Stories - 1.0.3\\n  $:/plugins/techlifeweb/xmlbuilder - 1.1.0\\n  $:/plugins/tiddlywiki/filesystem - 5.3.3\\n  $:/plugins/tiddlywiki/highlight - 5.3.3\\n  $:/plugins/tiddlywiki/tiddlyweb - 5.3.3\\n  $:/plugins/wikilabs/link-to-tabs - 2.0.1\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.3\\n  $:/themes/tiddlywiki/vanilla - 5.3.3\\n</code></pre></details>\",\n        \"tw-customisations\": \"None\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"Producing, maintaining, and supporting a stable, self-contained product.\",\n        \"project-weaknesses\": \"Nothing comes to mind.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00181\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00182.tid",
    "content": "are-you-a-dev: No, I would not\nbackup-method: DIY (any other solution)\ndiy-backup-info: Self hosted cloud server.\nfirst-heard-survey: Reddit\nfirst-used-tw: 2015\njoined-tw-community: No\nmain-use-cases: Note-taking;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: \npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: Just love the project in general. It stays small and functional.\nproject-weaknesses: An official saving browser extension would be awesome.. esp with timimi being end of lifed due to Chrome pushing V3 and no updates in sight :(\npublish-to-intranet: Yes, using a single-file wiki\npublish-to-web: Not publishing to this location\npublished-plugin: No\nsave-method: Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\nshare-wikis: Yes, with multiple editors/administrators\nstarted-tw-community: \ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00182\ntw-ability-level: I have customised TiddlyWiki through options and plugins\ntw-customisations: \ntw-future-confidence: Yes\nuse-discord: \nuse-for-work-or-study: Yes\nuse-github-discuss: \nuse-mailing-list: \nuse-reddit: \nuse-ttw: \nvalue-of-tw: Mostly an easy repository of information.\nwiki-setup-info: n/a"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00183.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2014\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"As a knowledge base (including technical, non-fiction and encyclopaedic content);Other\",\n        \"other-use-cases\": \"mind mapping / chain of thoughts\",\n        \"use-for-work-or-study\": \"No\",\n        \"share-wikis\": \"No, my TiddlyWiki is for personal use only\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"free, private, open information store\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...)\",\n        \"save-method\": \"Multi-file wiki served through Node.js\",\n        \"backup-method\": \"Web or cloud hosting (other than TiddlyHost/TiddlySpot e.g. Netlify, AWS, OVH, Google Cloud...)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.7\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: \\nCurrent layout: $:/core/ui/PageTemplate\\nBrowser language setting: en\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fixed-fluid\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: top\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: above\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: $:/plugins/tesseract/tekan\\nPlugins: \\n  $:/core - 5.3.7\\n  $:/plugins/felixhayashi/hotzone - 0.0.3\\n  $:/plugins/felixhayashi/tiddlymap - 0.17.16+10020\\n  $:/plugins/felixhayashi/topstoryview - 0.2.0\\n  $:/plugins/flibbles/vis-network - 9.1.3\\n  $:/plugins/sobjornstad/TiddlyRemember - 1.3.3\\n  $:/plugins/tiddlywiki/filesystem - 5.3.7\\n  $:/plugins/tiddlywiki/highlight - 5.3.7\\n  $:/plugins/tiddlywiki/tiddlyweb - 5.3.7\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.7\\n  $:/themes/tiddlywiki/vanilla - 5.3.7\\n</code></pre></details>\",\n        \"tw-customisations\": \"\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"keeping the software self contained and with no dependencies\",\n        \"project-weaknesses\": \"simplifying the customisation learning curve for none programmer\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00183\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00184.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2015\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Other\",\n        \"other-use-cases\": \"Questionnaire\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"It is a simple way of organising information and to make it addressable without needing programming skills and without being dependent on other proprietary software. The addons are very valuable and the entire system is free and open source.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism);Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver);Single-file wiki with TiddlyDesktop;Single-file wiki third-party mobile app (e.g. Tiddloid, Quine)\",\n        \"backup-method\": \"Web or cloud hosting (other than TiddlyHost/TiddlySpot e.g. Netlify, AWS, OVH, Google Cloud...)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.7\\nCurrent palette: $:/themes/jd/Material/Palette/MaterialLightBase\\nCurrent theme: $:/themes/jd/Material\\nCurrent layout: \\nBrowser language setting: de-DE\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: yes\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: zoomin\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-boxed\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: enable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.7\\n  $:/languages/de-DE - 5.3.7\\n  $:/plugins/BurningTree/hammerwidgets - 0.1.0\\n  $:/plugins/custom/setfield - 0.0.5\\n  $:/plugins/danielo/encryptTiddler - 2.1\\n  $:/plugins/danielo515/ContextPlugin - 2.1.0\\n  $:/plugins/danielo515/encryptTiddler - 2.3\\n  $:/plugins/felixhayashi/hotzone - 0.0.3\\n  $:/plugins/felixhayashi/tiddlymap - 0.17.14+10018\\n  $:/plugins/felixhayashi/topstoryview - 0.2.0\\n  $:/plugins/felixhayashi/vis - \\n  $:/plugins/inmysocks/MathyThing - 0.2.1\\n  $:/plugins/inmysocks/randVal - 0.1.3\\n  $:/plugins/rboue/SocialCalc - 1.0.0\\n  $:/plugins/tiddlywiki/hammerjs - 5.3.7\\n  $:/plugins/tiddlywiki/katex - 5.3.7\\n  $:/plugins/tiddlywiki/tiddloid-tweaks - 1.2.0\\n  $:/temp/info-plugin - \\n  $:/themes/jd/Material - 0.4.14\\n  $:/themes/tiddlywiki/centralised - 5.3.7\\n  $:/themes/tiddlywiki/readonly - 5.3.7\\n  $:/themes/tiddlywiki/seamless - 5.3.7\\n  $:/themes/tiddlywiki/snowwhite - 5.3.7\\n  $:/themes/tiddlywiki/vanilla - 5.3.7\\n</code></pre></details>\",\n        \"tw-customisations\": \"Stylesheets and macros.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"From my perspective, everything. I can't see anything negative.\",\n        \"project-weaknesses\": \"I will continue to use TiddlyWiki massively. It would be sad, if TiddlyWiki would be discontinued. I am no programmer, just a power user, so it is difficult for me to contribute anything to the project that would be valuable for others. From my perspective you do a fantastic job. I have no idea what could be done better.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00184\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00185.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2010\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2020\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I do not engage with this community\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I read and post in this community\",\n        \"published-plugin\": \"Yes\",\n        \"main-use-cases\": \"Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content);Producing/publishing interactive fiction;Narrative fiction writing (either supporting its creation or directly writing in TiddlyWiki);Other\",\n        \"other-use-cases\": \"prototyping Interpersonal Wikis, linguistic revitalizing on Colombian Amazonas and other research projects.\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Yes, using a single-file wiki\",\n        \"publish-to-intranet\": \"Yes, using a single-file wiki\",\n        \"value-of-tw\": \"It's a flexible metatool to adapt to my needs for quickly prototyping that is usually good enough. As I said in the forum, the problem is related with increased complexity of usage that makes the particular knowledge of TW low transferable to other more complex contexts.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\",\n        \"backup-method\": \"Git forge (GitHub, Gitea/Forgejo, GitLab)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/palettes/DesertSand\\nCurrent theme: $:/themes/nico/notebook\\nCurrent layout: \\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: no\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fixed-fluid\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: $:/config/shortcuts/divisor\\nDisabled plugins: \\nPlugins: \\n  $:/ak/plugins/TWCrossLinks - 0.1.19\\n  $:/core - 5.3.6\\n  $:/languages/es-ES - 5.3.6\\n  $:/plugins/adithyab/cmplus - 0.2.2\\n  $:/plugins/flibbles/relink - 2.1.1\\n  $:/plugins/Gk0Wk/echarts - 0.0.4+1\\n  $:/plugins/kookma/refnotes - 1.7.3\\n  $:/plugins/kookma/shiraz - 2.4.4\\n  $:/plugins/linonetwo/markdown-transformer - 0.1.3\\n  $:/plugins/nico/notebook-mobile - 1.0.0\\n  $:/plugins/nico/projectify - 0.14.0\\n  $:/plugins/nico/projectify-es-ES - 0.13.1\\n  $:/plugins/sq/spotlight - 0.0.5\\n  $:/plugins/sycom/leaflet - 0.8.6\\n  $:/plugins/telmiger/details - 0.7.5\\n  $:/plugins/telmiger/EditButtons - 1.0.6\\n  $:/plugins/telmiger/HarveyBalls - 0.1.0\\n  $:/plugins/telmiger/simple-search - 1.0.24\\n  $:/plugins/tiddlywiki/codemirror - 5.3.6\\n  $:/plugins/tiddlywiki/codemirror-closebrackets - 5.3.6\\n  $:/plugins/tiddlywiki/highlight - 5.3.6\\n  $:/plugins/tiddlywiki/markdown - 5.3.6\\n  $:/plugins/tobibeer/split - 0.8.0\\n  $:/temp/info-plugin - \\n  $:/themes/nico/notebook - 1.4.1\\n  $:/themes/tiddlywiki/snowwhite - 5.3.6\\n  $:/themes/tiddlywiki/starlight - 5.3.6\\n  $:/themes/tiddlywiki/vanilla - 5.3.6\\n</code></pre></details>\",\n        \"tw-customisations\": \"This couple of wikis reflect most of my customizations taken from the community in the form of a custom template + plugins + usage scenario:\\n\\nhttps://cartofonia-amanecer-la-palabra.tiddlyhost.com/\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"No\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"I think the community is pretty supportive and welcoming, starting with Jeremy and all the usual folks in the forum. I think that keeping a different identity that sets TW apart from other PKMs and Wikis is important and has been constructed over all those years.\",\n        \"project-weaknesses\": \"I don't know how governance works for the project and that could be more explicit. Also the present discussion on prepackaged editions beyond empty.html is important and a way to be more approachable for new people. \\n\\nI imagine myself, in the mid/long term, leaving TiddlyWiki for Cardumem, my own wiki engine inspired by TW, but reimagined as an hypermedia system. More details here:\\n\\nhttps://offray.tiddlyhost.com/#Cardumem%2FEn\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00185\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00186.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Talk TiddlyWiki\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2013\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2024\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I read/lurk, but do not post\",\n        \"use-reddit\": \"I read/lurk, but do not post\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"Yes\",\n        \"main-use-cases\": \"Note-taking;Journalling;Task and project management (including CRMs)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"TiddlyWiki is amazing to work with, and developing with it can even become a bit addictive. The concept is extremely challenging for non-programmers, but it also offers unexpected moments of success.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism)\",\n        \"backup-method\": \"DIY (any other solution);No automatic sync across my devices\",\n        \"diy-backup-info\": \"I use TiddlyWiki on a USB stick with a backup folder, and from time to time, I back up the USB stick to my computer. It’s truly old-school, but it works good enough.\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.7\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: $:/themes/tiddlywiki/snowwhite\\nCurrent layout: \\nBrowser language setting: de\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: bottom\\nTiddler opening behaviour setting for navigations from within the story river: bottom\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: $:/plugins/danielo515/2click2edit,$:/plugins/tiddlywiki/github-fork-ribbon,$:/plugins/tiddlywiki/text-slicer,$:/plugins/wikilabs/link-to-tabs\\nPlugins: \\n  $:/core - 5.3.7\\n  $:/languages/de-DE - 5.3.7\\n  $:/plugins/adithyab/cmplus - 0.2.2\\n  $:/plugins/kookma/commander - 2.1.14\\n  $:/plugins/tiddlywiki/codemirror - 5.3.7\\n  $:/plugins/tiddlywiki/sax - 5.3.7\\n  $:/plugins/wikilabs/edit-tabs - 2.0.1\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/readonly - 5.3.7\\n  $:/themes/tiddlywiki/seamless - 5.3.7\\n  $:/themes/tiddlywiki/snowwhite - 5.3.7\\n  $:/themes/tiddlywiki/tight - 5.3.7\\n  $:/themes/tiddlywiki/vanilla - 5.3.7\\n</code></pre></details>\",\n        \"tw-customisations\": \"\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"almost everything!!! The discussions, the leadership of the project, the very helpful community, the minimalist empty layout, and the overall design are all strong aspects of TiddlyWiki. One thing that would be very useful is a centralized 'how-to' website summarizing tips and tricks. Another positive aspect is the willingness to break backward compatibility when necessary — software needs the freedom to evolve. ;)\",\n        \"project-weaknesses\": \"The built-in editor doesn't support syntax highlighting!, and there's currently no dedicated theme for CodeMirror, even though the older version of TiddlyWiki 2.x included one. Additionally, Markdown integration remains limited and could benefit from deeper support. File saving continues to be a major pain point when recommending TiddlyWiki to others—improper saving often goes unnoticed, resulting in potential data loss.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00186\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00187.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Talk TiddlyWiki\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Journalling;As a knowledge base (including technical, non-fiction and encyclopaedic content);Producing/publishing interactive fiction;Narrative fiction writing (either supporting its creation or directly writing in TiddlyWiki);Other\",\n        \"other-use-cases\": \"Application for my business, training/management/utilization tool for clients\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Yes, using a single-file wiki;Not publishing to this location\",\n        \"publish-to-intranet\": \"Yes, served through Node.js\",\n        \"value-of-tw\": \"Flexibility, adaptability, and ease of use. Once understood it can be used for just about any idea. I have always used in work context to document workflow;  transition platform to turn consulting documentation over to clients, build knowledgebases; managing my business. It's fun\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles;I have written custom JavaScript\",\n        \"save-method\": \"Multi-file wiki served through Node.js\",\n        \"backup-method\": \"DIY (any other solution)\",\n        \"diy-backup-info\": \"I run Node on Ubuntu and do filesystem backups using bash scripts. I do daily/monthly backups of my wiki directory (12 separate wiki's) and purge my daily on a 7 day rotation and. I have is set to run a cron job and report update view email.\",\n        \"wiki-setup-info\": \"\",\n        \"tw-customisations\": \"\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"I appreciate how active and committed the community shows up. The willingness of others to share and support others. I have not contributed to the community...I'm not sure how I can contribute, but I have learned so much from the community.\",\n        \"project-weaknesses\": \"Having more educational and tutorial opportunities, esp. around scripting. (Create a Tiddlywiki Design Patterns document with lots of examples...that would be great.) Having more real world examples in the Reference section on the tiddlywiki.com site. I appreciate the new structures being added: if/then/else constructs, etc. \\n\\nFinding out how others are using Tiddlywiki has stimulated my thinking. The 2nd Brain contribution have inspired my own work in that area.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00187\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00188.tid",
    "content": "are-you-a-dev: No, I would not\nbackup-method: Consumer online storage (e.g. Google Drive, Dropbox)\ndiy-backup-info: \nfirst-heard-survey: Talk TiddlyWiki\nfirst-used-tw: 2025\njoined-tw-community: No\nmain-use-cases: Note-taking;Journalling;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: \npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: The brief overview of the apps is nice.\nproject-weaknesses: Documentation. Having most of the apps made by the community is fine but it would be great if the documentation was more centralized. Or maybe more examples posted on how to setup an app. I am pretty new to TiddlyWiki, but I find it hard to find information. Or at least to get help. Maybe the community isn't very involved?? An official Discord server might work better for people to discuss issues, projects, customizations.\npublish-to-intranet: \npublish-to-web: \npublished-plugin: No\nsave-method: Single-file wiki with TiddlyDesktop\nshare-wikis: No, my TiddlyWiki is for personal use only\nstarted-tw-community: \ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00188\ntw-ability-level: My use is basic; I use TiddlyWiki in a configuration close to standard, without plugins\ntw-customisations: \ntw-future-confidence: Yes\nuse-discord: \nuse-for-work-or-study: No\nuse-github-discuss: \nuse-mailing-list: \nuse-reddit: \nuse-ttw: \nvalue-of-tw: I control the data. Makes me feel better. It is easy to search.\nwiki-setup-info: I have been using TiddlyDesktop until recently. I was storing the wiki in OneDrive but if I forgot to close it on one computer and opened it on another they would be out of sync. I have been trying to get TiddlyPWA up and running but it is having trouble creating the database in deno. So right now I have it in Tiddly Bob. It is working but I would rather have a separate app that I use instead of having it in the browser."
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00189.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2005\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"No\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Yes, using a single-file wiki\",\n        \"publish-to-intranet\": \"Yes, using a single-file wiki\",\n        \"value-of-tw\": \"I have several TWs, I used constantly\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins\",\n        \"save-method\": \"Single-file wiki with TiddlyDesktop;Single-file wiki third-party mobile app (e.g. Tiddloid, Quine)\",\n        \"backup-method\": \"Consumer online storage (e.g. Google Drive, Dropbox);DIY (any other solution)\",\n        \"diy-backup-info\": \"Rsync with several usb disks\",\n        \"wiki-setup-info\": \"\",\n        \"tw-customisations\": \"Plugins:\\nDisclosure HTML element\\nTristate Sidebar\\nHighlight-searched-text\\nLayout tweaks\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"I don’t know. It’s super util for me\",\n        \"project-weaknesses\": \"I don’t know\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00189\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00190.tid",
    "content": "are-you-a-dev: No, I would not\nbackup-method: N/A - I keep my wiki on a single system\ndiy-backup-info: \nfirst-heard-survey: tiddlywiki.com\nfirst-used-tw: 2018\njoined-tw-community: No\nmain-use-cases: Note-taking;As a knowledge base (including technical, non-fiction and encyclopaedic content)\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: \npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: Not breaking functionality, good documentation\nproject-weaknesses: examples for complicated tasks\npublish-to-intranet: Yes, using a single-file wiki\npublish-to-web: Not publishing to this location\npublished-plugin: No\nsave-method: Single-file wiki through web browser with Download Saver (default saving mechanism)\nshare-wikis: Yes, with multiple editors/administrators\nstarted-tw-community: \ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00190\ntw-ability-level: I have customised TiddlyWiki through options and plugins\ntw-customisations: \ntw-future-confidence: Yes\nuse-discord: \nuse-for-work-or-study: Yes\nuse-github-discuss: \nuse-mailing-list: \nuse-reddit: \nuse-ttw: \nvalue-of-tw: Organised notes and knowledge base with many visualisation options. Much more human brain friendly than browsing files and folders, or spreadsheets.\nwiki-setup-info: did not work"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00191.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2018\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"No\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Yes, served through Node.js\",\n        \"publish-to-intranet\": \"Not publishing to this location\",\n        \"value-of-tw\": \"It powers my personal wiki. It's where I keep notes, bookmarks, and keep track books I've read and their highlights.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Multi-file wiki served through Node.js\",\n        \"backup-method\": \"Git forge (GitHub, Gitea/Forgejo, GitLab);Web or cloud hosting (other than TiddlyHost/TiddlySpot e.g. Netlify, AWS, OVH, Google Cloud...)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.8\\nCurrent palette: $:/palettes/personal\\nCurrent theme: $:/themes/tiddlywiki/vanilla\\nCurrent layout: \\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: yes\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: permalink\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: $:/config/shortcuts-mac/save-tiddler\\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.8\\n  $:/plugins/tiddlywiki/filesystem - 5.3.8\\n  $:/plugins/tiddlywiki/highlight - 5.3.8\\n  $:/plugins/tiddlywiki/markdown - 5.1.23\\n  $:/plugins/tiddlywiki/tiddlyweb - 5.3.8\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.8\\n  $:/themes/tiddlywiki/vanilla - 5.3.8\\n</code></pre></details>\",\n        \"tw-customisations\": \"I override some styles with a custom CSS tiddler, I attempt to keep bots off my wiki by adding a `<meta>` tag to `<head>`.\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"* Frequent releases.\\n* Moving from Google Groups to Discourse (Talk TiddlyWiki).\\n* Doing community surveys. :)\\n* Maintaining a Mastodon account.\",\n        \"project-weaknesses\": \"* iOS and mobile browser support. There has been a bug for a while where typing in the text field renders \\\"Internal JavaScript Error\\\"\\n* I think Node.JS documentation could be improved, it feels fairly light given the power of the hosted option. I would specifically like improvement around hosting multiple wikis and sharing Tiddlers between wikis.\\n* Overall I would love to try contributing, but feel intimidated by the scope and history of TiddlyWiki.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00191\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00192.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2018\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2018\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I read/lurk, but do not post\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Not applicable (as retired, etc)\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"A flexible platform for my information needs.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...)\",\n        \"save-method\": \"Multi-file wiki served through Node.js\",\n        \"backup-method\": \"TiddlySpot / TiddlyHost;Web or cloud hosting (other than TiddlyHost/TiddlySpot e.g. Netlify, AWS, OVH, Google Cloud...)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.7\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: $:/themes/tiddlywiki/vanilla\\nCurrent layout: \\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: zoomin\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: top\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.7\\n  $:/plugins/danielo515/ContextPlugin - 2.1.0\\n  $:/plugins/Gk0Wk/sidebar-resizer - 0.0.3\\n  $:/plugins/kookma/commander - 2.1.2\\n  $:/plugins/kookma/refnotes - 1.8.5\\n  $:/plugins/kookma/shiraz - 2.7.5\\n  $:/plugins/snowgoon88/edit-comptext - 0.8.1\\n  $:/plugins/sq/editor-autolist - 0.1.10\\n  $:/plugins/sq/macy - 0.0.9\\n  $:/plugins/sq/spotlight - 0.0.4\\n  $:/plugins/sq/Stories - 1.0.3\\n  $:/plugins/sycom/leaflet - 0.8.6\\n  $:/plugins/tiddlywiki/filesystem - 5.3.7\\n  $:/plugins/tiddlywiki/highlight - 5.3.7\\n  $:/plugins/tiddlywiki/tiddlyweb - 5.3.7\\n  $:/plugins/wikilabs/link-to-tabs - 2.0.1\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.7\\n  $:/themes/tiddlywiki/vanilla - 5.3.7\\n</code></pre></details>\",\n        \"tw-customisations\": \"\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"Community support\",\n        \"project-weaknesses\": \"More and better 'How To' guides rather than 'developer focussed' documentation.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00192\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00193.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2007\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2017\",\n        \"use-ttw\": \"I read and post in this community\",\n        \"use-mailing-list\": \"I read/lurk, but do not post\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I do not engage with this community\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;As a knowledge base (including technical, non-fiction and encyclopaedic content);Other\",\n        \"other-use-cases\": \"I try to learn how it works (HTML5, JS, TiddlyWiki itself and several tools for it)\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"Several years ago, I had using TW to organized my part of work in a bigger project. Now I'm looking for an easy GTD tool, and I'm thinking TW would be fine, but I need it in German language and the translation is hard to me.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I have written custom HTML;I have written custom JavaScript\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver);Single-file wiki third-party mobile app (e.g. Tiddloid, Quine)\",\n        \"backup-method\": \"DIY (any other solution)\",\n        \"diy-backup-info\": \"Normally I'm using file-backups by Mario Pietsch within my Firefox browser and get backups to my NAS. Also, sometimes I'm using a USB drive or send it in an e-mail.\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.8\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: \\nCurrent layout: \\nBrowser language setting: de\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.8\\n  $:/languages/de-DE - 5.3.8\\n  $:/plugins/.jcs/RefLinks - 0.0.6\\n  $:/plugins/danielo515/ContextPlugin - 2.1.0\\n  $:/plugins/flibbles/relink - 2.5.2\\n  $:/plugins/flibbles/relink-fieldnames - 2.5.2\\n  $:/plugins/flibbles/relink-markdown - 2.5.2\\n  $:/plugins/flibbles/relink-titles - 2.5.2\\n  $:/plugins/flibbles/relink-variables - 2.5.2\\n  $:/plugins/wikilabs/link-to-tabs - 3.0.1\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.8\\n  $:/themes/tiddlywiki/vanilla - 5.3.8\\n</code></pre></details>\",\n        \"tw-customisations\": \"\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"It's free software - that's perhaps the best thing about it. It can be adapted to your own needs. There is also a community that is happy to help and answers questions. TiddlyWiki is much more than the online notebook for which it is pretending. It is a universal tool that you can learn to deal with HTML and JS.\",\n        \"project-weaknesses\": \"TW is the best tool I'd got since I'd used it for the first time. I've tested several others, but I always come back to it, even it's hard to me, to struggle with the English language. Yes, there is a German translation and a little introduction, but that isn't enough to get a useful TW. So it's still necessary always to use the original documentation and the English-speaking community. Yes, Google can help, but a German-speaking community would make it easier to me.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00193\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00194.tid",
    "content": "are-you-a-dev: Yes, I would\nbackup-method: TiddlySpot / TiddlyHost;N/A - I keep my wiki on a single system\ndiy-backup-info: \nfirst-heard-survey: tiddlywiki.com\nfirst-used-tw: 2005\njoined-tw-community: Yes\nmain-use-cases: Note-taking;Journalling;Task and project management (including CRMs);Programming\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: \npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: Very transparent in making decisions about the project.\nproject-weaknesses: Understanding how the project will continue if/when Jeremy moves on.\npublish-to-intranet: \npublish-to-web: \npublished-plugin: No\nsave-method: Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\nshare-wikis: No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\nstarted-tw-community: 2024\ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00194\ntw-ability-level: I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...)\ntw-customisations: \ntw-future-confidence: Yes\nuse-discord: I do not engage with this community\nuse-for-work-or-study: Yes\nuse-github-discuss: I read/lurk, but do not post\nuse-mailing-list: I do not engage with this community\nuse-reddit: I read/lurk, but do not post\nuse-ttw: I read and post in this community\nvalue-of-tw: Tiddlywiki provides a way for me to capture notes in a free form way and then reorganize them (transclusions!) easily.\nwiki-setup-info: "
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00195.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"Other\",\n        \"other-survey-source\": \"Friend who uses tiddlywiki shared the link with me\",\n        \"are-you-a-dev\": \"Yes, I would\",\n        \"first-used-tw\": \"2017\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2018\",\n        \"use-ttw\": \"I read/lurk, but do not post\",\n        \"use-mailing-list\": \"I read/lurk, but do not post\",\n        \"use-reddit\": \"I read/lurk, but do not post\",\n        \"use-discord\": \"I read/lurk, but do not post\",\n        \"use-github-discuss\": \"I do not engage with this community\",\n        \"published-plugin\": \"Yes\",\n        \"main-use-cases\": \"Note-taking;Journalling;Programming;Other\",\n        \"other-use-cases\": \"I use it as a tiny art gallery website (very minimal CSS, only one tiddler open at a time)\",\n        \"use-for-work-or-study\": \"No\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Yes, using a single-file wiki;Yes, served through Node.js\",\n        \"publish-to-intranet\": \"Yes, using a single-file wiki\",\n        \"value-of-tw\": \"TiddlyWiki provides a way for me to serve my personal website content in a package that lets people download it as a single file, which is quite important to me. I do wish the Node.js lazy loading features were actually viable (last I looked primarily search didn't function).\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles;I have written custom JavaScript\",\n        \"save-method\": \"Multi-file wiki served through Node.js\",\n        \"backup-method\": \"DIY (any other solution)\",\n        \"diy-backup-info\": \"My primary note storage is on my NAS, with SyncThing to synchronize it across devices eg. phone, laptop. This backs up my _notes_ which I edit with various other tools, not TiddlyWiki, and TiddlyWiki is a publishing layer on top.\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.3\\nCurrent palette: $:/palettes/Vanilla\\nCurrent theme: \\nCurrent layout: \\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fixed-fluid\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: $:/plugins/noahlange/markdown-plus,$:/plugins/rmnvsl/krystal\\nPlugins: \\n  $:/core - 5.3.3\\n  $:/plugins/benwebber/css-palette - 0.3.0\\n  $:/plugins/noahlange/monaco - 0.5.0\\n  $:/plugins/oeyoews/markdown-extensions-startup - 0.0.2\\n  $:/plugins/tiddlywiki/highlight - 5.3.3\\n  $:/plugins/tiddlywiki/markdown - 5.3.3\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.3\\n  $:/themes/tiddlywiki/vanilla - 5.3.3\\n</code></pre></details>\",\n        \"tw-customisations\": \"- \\\"New Tiddlers\\\" sidebar customization\\n- SO MUCH CSS customization\\n- Because noahlange/tiddlymark exists, I can render my Obsidian vault as a single file wiki, still using TW in a way w/this.\\n- I had to edit Core TW's JavaScript to enable Obsidian Style [[wiki|pretty links]].\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"I'm glad TW is still under development, and I'm glad it still has a healthy community of users - even though I don't use TiddlyWiki directly anymore, there's still many things (abstraction from the file system, hackability, ability to produce a single HTML file that can function like a \\\"book\\\" for my writing that can go anywhere and has longevity) that I appreciate about it, and while I couldn't go back now, I could see a future TW with improvements winning me back!\",\n        \"project-weaknesses\": \"After converting my Tiddlers from TW syntax to Obsidian style markdown, there's no way I'd ever go back to the TW syntax, sorry. Markdown support was in a poor state, especially the extent to which I had to hack it to read Obsidian style markdown (pretty links). I'd **love** to be able to use TW as an alternate UI to view and edit my notes while _also_ being able to use logseq or obsidian, but the Node.JS version not supporting bidirectionality or YAML metadata OOTB makes this nonviable.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00195\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00196.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2023\",\n        \"joined-tw-community\": \"No\",\n        \"started-tw-community\": \"\",\n        \"use-ttw\": \"\",\n        \"use-mailing-list\": \"\",\n        \"use-reddit\": \"\",\n        \"use-discord\": \"\",\n        \"use-github-discuss\": \"\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Task and project management (including CRMs)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"Yes, and I am the only editor/administrator of my wiki(s)\",\n        \"publish-to-web\": \"Not publishing to this location\",\n        \"publish-to-intranet\": \"Yes, using a single-file wiki\",\n        \"value-of-tw\": \"Organized training materials for the newcomers, the training session is more efficient (shorter).\",\n        \"tw-ability-level\": \"My use is basic; I use TiddlyWiki in a configuration close to standard, without plugins\",\n        \"save-method\": \"Single-file wiki through web browser with Download Saver (default saving mechanism)\",\n        \"backup-method\": \"N/A - I keep my wiki on a single system\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.3\\nCurrent palette: $:/palettes/Dracula\\nCurrent theme: $:/themes/tiddlywiki/snowwhite\\nCurrent layout: $:/core/ui/PageTemplate\\nBrowser language setting: en-US\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: pop\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: top\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: \\nPlugins: \\n  $:/core - 5.3.3\\n  $:/temp/info-plugin - \\n  $:/themes/tiddlywiki/snowwhite - 5.3.3\\n  $:/themes/tiddlywiki/vanilla - 5.3.3\\n</code></pre></details>\",\n        \"tw-customisations\": \"\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"Works out of the box. Overcomes the problem with our company's IT security - no exe/php file, while still can store data in a more friendly format than an Excel sheet.\",\n        \"project-weaknesses\": \"With ChatGPT things are changing, but when I started with the TiddlyWiki, I was looking for examples of how to use it. Grok book has been helpful (old school learner here). Still, would love to see some more examples of some user cases, e.g. Editable List - like in Microsoft's Lists or OneNote. I use it mostly as a CRM system and using the codes from Grok's book to tweak a bit to make what I need.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00196\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00197.tid",
    "content": "are-you-a-dev: No, I would not\nbackup-method: TiddlySpot / TiddlyHost\ndiy-backup-info: \nfirst-heard-survey: tiddlywiki.com\nfirst-used-tw: 2003\njoined-tw-community: No\nmain-use-cases: Note-taking;As a knowledge base (including technical, non-fiction and encyclopaedic content);Other\nok-to-publish: Yes, I am happy for my responses to be published\nother-survey-source: \nother-use-cases: Electronic document management\npositive-about-future: Yes\nproject-decision-trust: Yes\nproject-strengths: Site Web, gestion documentaire\nproject-weaknesses: pouvoir sortir en pdf plusieurs tiddlers\npublish-to-intranet: \npublish-to-web: \npublished-plugin: No\nsave-method: Single-file wiki through web browser with Download Saver (default saving mechanism)\nshare-wikis: No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\nstarted-tw-community: \ntags: [[Community Survey 2025]]\ntitle: Community Survey 2025 Answer 00197\ntw-ability-level: I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I have written custom CSS styles\ntw-customisations: \ntw-future-confidence: Yes\nuse-discord: \nuse-for-work-or-study: Yes\nuse-github-discuss: \nuse-mailing-list: \nuse-reddit: \nuse-ttw: \nvalue-of-tw: template to print in pdf\nwiki-setup-info: "
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/2025-community-survey/Community Survey 2025 Answer 00198.json",
    "content": "[\n    {\n        \"first-heard-survey\": \"tiddlywiki.com\",\n        \"other-survey-source\": \"\",\n        \"are-you-a-dev\": \"No, I would not\",\n        \"first-used-tw\": \"2015\",\n        \"joined-tw-community\": \"Yes\",\n        \"started-tw-community\": \"2024\",\n        \"use-ttw\": \"I read/lurk, but do not post\",\n        \"use-mailing-list\": \"I read/lurk, but do not post\",\n        \"use-reddit\": \"I do not engage with this community\",\n        \"use-discord\": \"I read and post in this community\",\n        \"use-github-discuss\": \"I read/lurk, but do not post\",\n        \"published-plugin\": \"No\",\n        \"main-use-cases\": \"Note-taking;Task and project management (including CRMs);As a knowledge base (including technical, non-fiction and encyclopaedic content)\",\n        \"other-use-cases\": \"\",\n        \"use-for-work-or-study\": \"Yes\",\n        \"share-wikis\": \"No, but I may export content into other formats and share individual tiddlers, the whole wiki, or an extract of the wiki\",\n        \"publish-to-web\": \"\",\n        \"publish-to-intranet\": \"\",\n        \"value-of-tw\": \"It helps me organize and prioritize my work-related activities and provides a reference for past work done.\",\n        \"tw-ability-level\": \"I have customised TiddlyWiki through options and plugins;I am comfortable using WikiText widgets (e.g. <$transclude>, <$list>...);I am comfortable writing filter expressions;I have written custom HTML;I have written custom CSS styles\",\n        \"save-method\": \"Single-file wiki with custom saver (e.g. TiddlyPWA, Timimi, tw5-browser-nativesaver)\",\n        \"backup-method\": \"Consumer online storage (e.g. Google Drive, Dropbox)\",\n        \"diy-backup-info\": \"\",\n        \"wiki-setup-info\": \"<details><summary>Wiki Information</summary><pre><code>\\nTiddlyWiki Version: 5.3.6\\nCurrent palette: $:/JMW/palettes/Nightfall\\nCurrent theme: $:/themes/tiddlywiki/vanilla\\nCurrent layout: \\nBrowser language setting: en-CA\\nDefault type for missing tiddlers: \\nAuto save setting: yes\\nCode wrapping setting: pre-wrap\\nSticky titles setting: no\\nSidebar layout setting: fluid-fixed\\nAuto focus field setting for new tiddlers: title\\nCurrent storyview setting: classic\\nToolbar text setting: no\\nToolbar icon setting: yes\\nButton class setting: tc-btn-invisible\\nNavigation address bar setting: no\\nTiddler opening behaviour setting for navigations from outside the story river: bottom\\nTiddler opening behaviour setting for navigations from within the story river: below\\nCamelCase linking setting: disable\\nKeyboard shortcuts that have been customised: \\nDisabled plugins: $:/plugins/Gk0Wk/sidebar-resizer,$:/plugins/nico/notebook-mobile\\nPlugins: \\n  $:/core - 5.3.6\\n  $:/plugins/danielo515/2click2edit - 0.1\\n  $:/plugins/eucaly/quickjump - 0.0.2\\n  $:/plugins/flibbles/relink - 2.4.5\\n  $:/plugins/flibbles/relink-fieldnames - 2.4.1\\n  $:/plugins/flibbles/relink-markdown - 2.4.5\\n  $:/plugins/flibbles/relink-titles - 2.4.0\\n  $:/plugins/flibbles/relink-variables - 2.4.1\\n  $:/plugins/Gk0Wk/CPL-Repo - 2025.03.29\\n  $:/plugins/kookma/commander - 2.1.13\\n  $:/plugins/kookma/narenj - 0.5.1\\n  $:/plugins/kookma/search - 1.0.0\\n  $:/plugins/kookma/shiraz - 3.0.8\\n  $:/plugins/kookma/shiraz-callout - 0.8.0\\n  $:/plugins/kookma/shiraz-formatter - 0.6.0\\n  $:/plugins/kookma/trashbin - 1.3.5\\n  $:/plugins/kookma/tweaks - 0.2.1\\n  $:/plugins/kookma/utility - 3.2.2\\n  $:/plugins/nico/projectify - 0.14.3\\n  $:/plugins/tiddlywiki/markdown - 5.3.6\\n  $:/plugins/wikilabs/link-to-tabs - 3.0.1\\n  $:/plugins/xp/magicsidebar - 0.2.0\\n  $:/temp/info-plugin - \\n  $:/themes/nico/notebook - 1.4.1\\n  $:/themes/tiddlywiki/snowwhite - 5.3.6\\n  $:/themes/tiddlywiki/vanilla - 5.3.6\\n</code></pre></details>\",\n        \"tw-customisations\": \"stylesheets, macros, community-sourced customizations, custom templates, custom pallettes\",\n        \"positive-about-future\": \"Yes\",\n        \"tw-future-confidence\": \"Yes\",\n        \"project-decision-trust\": \"Yes\",\n        \"project-strengths\": \"Keeping tiddlywiki infinitely customizable to adapt to my needs rather than forcing me to adapt to it.\",\n        \"project-weaknesses\": \"For me, tighter Markdown integration, especially with macros, would be great. I currently have a mix of markdown and tiddlywiki tiddlers scattered throughout my file.\",\n        \"ok-to-publish\": \"Yes, I am happy for my responses to be published\",\n        \"title\": \"Community Survey 2025 Answer 00198\",\n        \"tags\": \"[[Community Survey 2025]]\"\n    }\n]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/app/DefaultTiddlers.tid",
    "content": "title: $:/DefaultTiddlers\n\nHelloThere\n[[TiddlyWiki Community Survey (2025)]]\n[[The Great TiddlyWiki Interview Project (2010)]]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/app/Definitions.tid",
    "content": "title: $:/Community Survey 2025/Definitions\ntags: $:/tags/Global\n\n\\procedure survey-2025-list-answers(answerTitle)\n\t<div class=\"interview-answers\">\n\t\t<table class=\"tc-view-field-table\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<th style=\"width:50%;\">Question</th>\n\t\t\t\t\t<th style=\"width:50%;\">Answer</th>\n\t\t\t\t</tr>\n\t\t\t\t<$list filter=\"[all[current]fields[]sort[title]] -text -title -tags\" template=\"$:/core/ui/TiddlerFieldTemplate\" variable=\"listItem\"/>\n\t\t\t</tbody>\n\t\t</table>\n\t</div>\n\\end survey-2025-list-answers\n\n\\procedure survey-2025-list-questions()\n\t<$let stateBase=<<qualify \"$:/state/survey-2025/\">>>\n\t\t<div class=\"interview\">\n\t\t\t<$list filter=\"[list[$:/_importspec/Community Survey 2025/Content/Row]]\">\n\t\t\t\t<$let\n\t\t\t\t\tstate={{{ [<stateBase>addsuffix<currentTiddler>] }}}\n\t\t\t\t\tanswerField={{{ [<currentTiddler>get[import-field-name]] }}}\n\t\t\t\t>\n\t\t\t\t\t<h1>\n\t\t\t\t\t\t<$button class=\"tc-btn-invisible\" style=\"text-align:left;\">\n\t\t\t\t\t\t\t<$action-setfield $tiddler=<<state>> $field=\"text\" $value={{{ [<state>get[text]match[yes]then[no]else[yes]] }}}/>\n\t\t\t\t\t\t\t<%if [<state>get[text]else[yes]match[yes]] %>\n\t\t\t\t\t\t\t\t{{$:/core/images/chevron-down}}\n\t\t\t\t\t\t\t<%else%>\n\t\t\t\t\t\t\t\t{{$:/core/images/chevron-right}}\n\t\t\t\t\t\t\t<%endif%>\n\t\t\t\t\t\t\t<$text text={{!!import-field-column}}/>\n\t\t\t\t\t\t\t(<$text text={{{ [tag[Community Survey 2025]get<answerField>else[]!match[]] +[count[]] }}}/>)\n\t\t\t\t\t\t</$button>\n\t\t\t\t\t</h1>\n\t\t\t\t\t<%if [<state>get[text]else[yes]match[yes]] %>\n\t\t\t\t\t\t<ol>\n\t\t\t\t\t\t\t<%if [<currentTiddler>get[question-type]else[]match[multiple-choice] %>\n\t\t\t\t\t\t\t\t<$list filter=\"[tag[Community Survey 2025]get<answerField>else[]!match[]split[;]unique[]sort[]]\" variable=\"answerText\">\n\t\t\t\t\t\t\t\t\t\t<li class=\"interview-answer\">\n\t\t\t\t\t\t\t\t\t\t\t<$text text=<<answerText>>/>\n\t\t\t\t\t\t\t\t\t\t\t(<$text text={{{ [tag[Community Survey 2025]] :filter[get<answerField>else[]split[;]match<answerText>] +[count[]] }}}/>)\n\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t</$list>\n\t\t\t\t\t\t\t<%else%>\n\t\t\t\t\t\t\t\t<$list filter=\"[tag[Community Survey 2025]] :filter[get<answerField>else[]!match[]] +[each<answerField>sort<answerField>]\" variable=\"answerTitle\">\n\t\t\t\t\t\t\t\t\t<$let answerText={{{ [<answerTitle>get<answerField>] }}}>\n\t\t\t\t\t\t\t\t\t\t<li class=\"interview-answer\">\n\t\t\t\t\t\t\t\t\t\t\t<$link to=<<answerTitle>>>\n\t\t\t\t\t\t\t\t\t\t\t\t<$text text={{{ [<answerTitle>get<answerField>] }}}/>\n\t\t\t\t\t\t\t\t\t\t\t\t(<$text text={{{ [tag[Community Survey 2025]get<answerField>match<answerText>count[]] }}}/>)\n\t\t\t\t\t\t\t\t\t\t\t</$link>\n\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t</$let>\n\t\t\t\t\t\t\t\t</$list>\n\t\t\t\t\t\t\t<%endif%>\n\t\t\t\t\t\t</ol>\n\t\t\t\t\t<%endif%>\n\t\t\t\t</$let>\n\t\t\t</$list>\n\t\t</div>\n\t</$let>\n\\end survey-2025-list-questions\n\n"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/app/HelloThere.tid",
    "content": "title: HelloThere\n\nThis page gathers the responses to surveys that we have run for the TiddlyWiki community. \n\n<%if [tag[Community Survey 2025]] %>\n\nSurveys available:\n\n* [[TiddlyWiki Community Survey (2025)]]\n* [[The Great TiddlyWiki Interview Project (2010)]]\n\n<%else%>\n\nCurrently, there is one survey: [[The Great TiddlyWiki Interview Project (2010)]]\n\n<%endif%>\n\nThank you to https://yatagarasu.tiddlyhost.com for creating the palette used on this page.\n"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/app/Questions.json",
    "content": "[\n  {\n    \"import-field-name\": \"first-heard-survey\",\n    \"import-field-column\": \"Where did you first come across this survey?\",\n    \"title\": \"$:/2025 Community Survey/Questions/first-heard-survey\",\n    \"import-field-source\": \"column\",\n    \"import-spec-role\": \"field\"\n  },\n  {\n    \"import-field-name\": \"other-survey-source\",\n    \"import-field-column\": \"As you selected Other, could you please provide more information on where you initially found this survey?\",\n    \"title\": \"$:/2025 Community Survey/Questions/other-survey-source\",\n    \"import-field-source\": \"column\",\n    \"import-spec-role\": \"field\"\n  },\n  {\n    \"import-field-name\": \"are-you-a-dev\",\n    \"import-field-column\": \"Would you consider yourself to be a programmer or software developer? You can consider yourself a programmer/developer without studying either discipline or doing it as a job.\",\n    \"title\": \"$:/2025 Community Survey/Questions/are-you-a-dev\",\n    \"import-field-source\": \"column\",\n    \"import-spec-role\": \"field\"\n  },\n  {\n    \"import-field-name\": \"first-used-tw\",\n    \"import-field-column\": \"When did you first use TiddlyWiki?\",\n    \"title\": \"$:/2025 Community Survey/Questions/first-used-tw\",\n    \"import-field-source\": \"column\",\n    \"import-spec-role\": \"field\"\n  },\n  {\n    \"import-field-name\": \"joined-tw-community\",\n    \"import-field-column\": \"Do you currently participate, or have you previously participated in the TiddlyWiki Community? By \\\"community\\\" we refer to official spaces such as Talk TiddlyWiki as well as online-based third-party communities like the public Discord server.\",\n    \"title\": \"$:/2025 Community Survey/Questions/joined-tw-community\",\n    \"import-field-source\": \"column\",\n    \"import-spec-role\": \"field\"\n  },\n  {\n    \"import-field-name\": \"started-tw-community\",\n    \"import-field-column\": \"When did you begin taking part in the TiddlyWiki community?\",\n    \"title\": \"$:/2025 Community Survey/Questions/started-tw-community\",\n    \"import-field-source\": \"column\",\n    \"import-spec-role\": \"field\"\n  },\n  {\n    \"import-field-name\": \"use-ttw\",\n    \"import-field-column\": \"We would be interested in knowing how you engage with the different communities of TW.: Talk TiddlyWiki\",\n    \"title\": \"$:/2025 Community Survey/Questions/use-ttw\",\n    \"import-field-source\": \"column\",\n    \"import-spec-role\": \"field\"\n  },\n  {\n    \"import-field-name\": \"use-mailing-list\",\n    \"import-field-column\": \"We would be interested in knowing how you engage with the different communities of TW.: Old mailing list (Google Group)\",\n    \"title\": \"$:/2025 Community Survey/Questions/use-mailing-list\",\n    \"import-field-source\": \"column\",\n    \"import-spec-role\": \"field\"\n  },\n  {\n    \"import-field-name\": \"use-reddit\",\n    \"import-field-column\": \"We would be interested in knowing how you engage with the different communities of TW.: r/TiddlyWiki5 on Reddit\",\n    \"title\": \"$:/2025 Community Survey/Questions/use-reddit\",\n    \"import-field-source\": \"column\",\n    \"import-spec-role\": \"field\"\n  },\n  {\n    \"import-field-name\": \"use-discord\",\n    \"import-field-column\": \"We would be interested in knowing how you engage with the different communities of TW.: Discord\",\n    \"title\": \"$:/2025 Community Survey/Questions/use-discord\",\n    \"import-field-source\": \"column\",\n    \"import-spec-role\": \"field\"\n  },\n  {\n    \"import-field-name\": \"use-github-discuss\",\n    \"import-field-column\": \"We would be interested in knowing how you engage with the different communities of TW.: GitHub Discussions\",\n    \"title\": \"$:/2025 Community Survey/Questions/use-github-discuss\",\n    \"import-field-source\": \"column\",\n    \"import-spec-role\": \"field\"\n  },\n  {\n    \"import-field-name\": \"published-plugin\",\n    \"import-field-column\": \"Have you ever published a plugin or TiddlyWiki extension of another type, which others can find, import and use? We define these as being publicly-hosted on your own webspace, or a host such as TiddlyHost.\",\n    \"title\": \"$:/2025 Community Survey/Questions/published-plugin\",\n    \"import-field-source\": \"column\",\n    \"import-spec-role\": \"field\"\n  },\n  {\n    \"import-field-name\": \"main-use-cases\",\n    \"import-field-column\": \"How would you describe your main use cases for TiddlyWiki?\",\n    \"title\": \"$:/2025 Community Survey/Questions/main-use-cases\",\n    \"import-field-source\": \"column\",\n    \"import-spec-role\": \"field\",\n    \"question-type\": \"multiple-choice\"\n  },\n  {\n    \"import-field-name\": \"other-use-cases\",\n    \"import-field-column\": \"As you selected Other: what are other primary use cases of TiddlyWiki for you?\",\n    \"title\": \"$:/2025 Community Survey/Questions/other-use-cases\",\n    \"import-field-source\": \"column\",\n    \"import-spec-role\": \"field\"\n  },\n  {\n    \"import-field-name\": \"use-for-work-or-study\",\n    \"import-field-column\": \"Do you use TiddlyWiki to support with your job or programme of education?\",\n    \"title\": \"$:/2025 Community Survey/Questions/use-for-work-or-study\",\n    \"import-field-source\": \"column\",\n    \"import-spec-role\": \"field\"\n  },\n  {\n    \"import-field-name\": \"share-wikis\",\n    \"import-field-column\": \"Do you share your TiddlyWiki(s) with other people? Please select 'yes' if there is more than one person who can directly view your wiki.\",\n    \"title\": \"$:/2025 Community Survey/Questions/share-wikis\",\n    \"import-field-source\": \"column\",\n    \"import-spec-role\": \"field\"\n  },\n  {\n    \"import-field-name\": \"publish-to-web\",\n    \"import-field-column\": \"Do you publish your wiki(s) online?: To the World Wide Web\",\n    \"title\": \"$:/2025 Community Survey/Questions/publish-to-web\",\n    \"import-field-source\": \"column\",\n    \"import-spec-role\": \"field\",\n    \"question-type\": \"multiple-choice\"\n  },\n  {\n    \"import-field-name\": \"publish-to-intranet\",\n    \"import-field-column\": \"Do you publish your wiki(s) online?: To an intranet\",\n    \"title\": \"$:/2025 Community Survey/Questions/publish-to-intranet\",\n    \"import-field-source\": \"column\",\n    \"import-spec-role\": \"field\",\n    \"question-type\": \"multiple-choice\"\n  },\n  {\n    \"import-field-name\": \"value-of-tw\",\n    \"import-field-column\": \"Putting it all together, what value does TiddlyWiki provide for you in your day to day work, or in your life?\",\n    \"title\": \"$:/2025 Community Survey/Questions/value-of-tw\",\n    \"import-field-source\": \"column\",\n    \"import-spec-role\": \"field\"\n  },\n  {\n    \"import-field-name\": \"tw-ability-level\",\n    \"import-field-column\": \"What is your level of ability with TiddlyWiki? This question assumes you can navigate TiddlyWiki, use basic WikiText and save changes.\",\n    \"title\": \"$:/2025 Community Survey/Questions/tw-ability-level\",\n    \"import-field-source\": \"column\",\n    \"import-spec-role\": \"field\",\n    \"question-type\": \"multiple-choice\"\n  },\n  {\n    \"import-field-name\": \"save-method\",\n    \"import-field-column\": \"How do you save changes in TiddlyWiki?\",\n    \"title\": \"$:/2025 Community Survey/Questions/save-method\",\n    \"import-field-source\": \"column\",\n    \"import-spec-role\": \"field\",\n    \"question-type\": \"multiple-choice\"\n  },\n  {\n    \"import-field-name\": \"backup-method\",\n    \"import-field-column\": \"How do you back up/sync changes between systems?\",\n    \"title\": \"$:/2025 Community Survey/Questions/backup-method\",\n    \"import-field-source\": \"column\",\n    \"import-spec-role\": \"field\",\n    \"question-type\": \"multiple-choice\"\n  },\n  {\n    \"import-field-name\": \"diy-backup-info\",\n    \"import-field-column\": \"As you selected DIY, would be grateful for more details on the system you use to back up and synchronise your TiddlyWiki across devices/systems.\",\n    \"title\": \"$:/2025 Community Survey/Questions/diy-backup-info\",\n    \"import-field-source\": \"column\",\n    \"import-spec-role\": \"field\"\n  },\n  {\n    \"import-field-name\": \"wiki-setup-info\",\n    \"import-field-column\": \"We would love to know what your basic setup looks like in your most-used wiki. You can import the Wiki Info tiddler and paste the output below. Find the Wiki Information tool here.\",\n    \"title\": \"$:/2025 Community Survey/Questions/wiki-setup-info\",\n    \"import-field-source\": \"column\",\n    \"import-spec-role\": \"field\"\n  },\n  {\n    \"import-field-name\": \"tw-customisations\",\n    \"import-field-column\": \"Outside of plugins, palettes and other information captured above; are there any customisations you make to your TiddlyWiki? These included but are not limited to: stylesheets, macros/functions/procedures, JavaScript, and direct edits to the core. Please also mention if you used or built on customisations from the community.\",\n    \"title\": \"$:/2025 Community Survey/Questions/tw-customisations\",\n    \"import-field-source\": \"column\",\n    \"import-spec-role\": \"field\"\n  },\n  {\n    \"import-field-name\": \"positive-about-future\",\n    \"import-field-column\": \"Are you positive about the future prospects of TiddlyWIki?\",\n    \"title\": \"$:/2025 Community Survey/Questions/positive-about-future\",\n    \"import-field-source\": \"column\",\n    \"import-spec-role\": \"field\"\n  },\n  {\n    \"import-field-name\": \"tw-future-confidence\",\n    \"import-field-column\": \"Are you confident that TiddlyWiki will continue to meet your needs with future development?\",\n    \"title\": \"$:/2025 Community Survey/Questions/tw-future-confidence\",\n    \"import-field-source\": \"column\",\n    \"import-spec-role\": \"field\"\n  },\n  {\n    \"import-field-name\": \"project-decision-trust\",\n    \"import-field-column\": \"Are you satisfied with the way the project makes decisions?\",\n    \"title\": \"$:/2025 Community Survey/Questions/project-decision-trust\",\n    \"import-field-source\": \"column\",\n    \"import-spec-role\": \"field\"\n  },\n  {\n    \"import-field-name\": \"project-strengths\",\n    \"import-field-column\": \"What are we doing well? Prompts for thinking: What are the aspects of TiddlyWiki as a project and community that you find appealing? Is there anything you are excited for in the future of TiddlyWIki?\",\n    \"title\": \"$:/2025 Community Survey/Questions/project-strengths\",\n    \"import-field-source\": \"column\",\n    \"import-spec-role\": \"field\"\n  },\n  {\n    \"import-field-name\": \"project-weaknesses\",\n    \"import-field-column\": \"What could we do better? Prompts for thinking: Could you imagine yourself leaving TiddlyWiki? Is there something you are afraid of in the future of TiddlyWIki? What could change your relationship with TW and its community? What might encourage you to contribute more to the project?\",\n    \"title\": \"$:/2025 Community Survey/Questions/project-weaknesses\",\n    \"import-field-source\": \"column\",\n    \"import-spec-role\": \"field\"\n  },\n  {\n    \"import-field-name\": \"ok-to-publish\",\n    \"import-field-column\": \"With your consent, we would like to publish responses to this survey on tiddlywiki.com, in the spirit of open development. Are you happy for your responses to be available online? We will not include information on your age or country of birth in the public results. Those items of information will be kept strictly to a small and trusted group of regular contributors and administrators.\",\n    \"title\": \"$:/2025 Community Survey/Questions/ok-to-publish\",\n    \"import-field-source\": \"column\",\n    \"import-spec-role\": \"field\"\n  }\n]\n"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/app/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\nask questions and find out"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/app/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\n~TiddlyWiki Community Surveys"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/app/Styles.tid",
    "content": "title: $:/surveys/2010-interview/styles\ntags: $:/tags/Stylesheet\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock\n\n.interview h1 button svg {\n\twidth: 16px;\n\theight: 16px;\n\tvertical-align: middle;\n}\n\n.interview h2 img {\n\twidth: 32px;\n\theight: 32px;\n\tvertical-align: middle;\n}\n\n.interview h3 {\n\tfont-size: 0.9em;\n\tline-height: 1;\n}\n\n.interview-answer {\n\tmargin-left: 32px;\n}"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/app/The Great TiddlyWiki Interview Project 2010.tid",
    "content": "title: The Great TiddlyWiki Interview Project (2010)\n\nThe \"Great TiddlyWiki Interview Project\" was launched in 2010. The idea was to ask people about their use of TiddlyWiki. We used TiddlySpace to allow users to write their responses in their own spaces, and then we gathered their answers in a separate space. The interview ran until 2013 when TiddlySpace was closed down.\n\nFrom the original announcement:\n\n> Welcome to the great TiddlyWiki viral interview project.\n>\n> For many people that use it there is a distinct discovery moment when TiddlyWiki explodes in their brain. For others, it is a challenge to get their heads around TiddlyWiki at all\n>\n> This project explores how people think about TiddlyWiki by collecting together responses to a set of questions about it.\n\nHere are the questions we asked and the responses we received.\n\n<$let stateBase=<<qualify \"$:/state/interview-2010/\">>>\n\t<div class=\"interview-2010\">\n\t\t<$list filter=\"[tag[2010 - Interview Question]]\">\n\t\t\t<$let state={{{ [<state>addsuffix<currentTiddler>] }}}>\n\t\t\t\t<h1>\n\t\t\t\t\t<$button class=\"tc-btn-invisible\">\n\t\t\t\t\t\t<$action-setfield $tiddler=<<state>> $field=\"text\" $value={{{ [<state>get[text]match[yes]then[no]else[yes]] }}}/>\n\t\t\t\t\t\t<%if [<state>get[text]match[yes]] %>\n\t\t\t\t\t\t\t{{$:/core/images/chevron-down}}\n\t\t\t\t\t\t<%else%>\n\t\t\t\t\t\t\t{{$:/core/images/chevron-right}}\n\t\t\t\t\t\t<%endif%>\n\t\t\t\t\t</$button>\n\t\t\t\t\t<$link to=<<currentTiddler>>>\n\t\t\t\t\t\t<$text text={{{ [<currentTiddler>removeprefix[2010 - ]] }}}/>\n\t\t\t\t\t</$link>\n\t\t\t\t</h1>\n\t\t\t\t<%if [<state>get[text]match[yes]] %>\n\t\t\t\t\t<$list filter=\"[tag[2010 - Interview Answer]tag<currentTiddler>]\" variable=\"answer\">\n\t\t\t\t\t\t<h2>\n\t\t\t\t\t\t\t<$link to=<<answer>>>\n\t\t\t\t\t\t\t\t<$transclude $tiddler={{{ [<answer>get[modifier]addprefix[$:/avatars/]] }}}/>\n\t\t\t\t\t\t\t\t<$text text={{{ [<answer>get[modifier]]  }}}/>\n\t\t\t\t\t\t\t</$link>\n\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t<div class=\"interview-2010-answer\">\n\t\t\t\t\t\t\t<h3>\n\t\t\t\t\t\t\t\t//<$view tiddler=<<answer>> field=\"modified\" format=\"date\" template=\"DDth MMM YYYY\" />//\n\t\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t\t<$transclude $tiddler=<<answer>> $mode=\"block\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</$list>\n\t\t\t\t<%endif%>\n\t\t\t</$let>\n\t\t</$list>\n\t</div>\n</$let>\n"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/app/TiddlyWiki Community Survey 2025.tid",
    "content": "title: TiddlyWiki Community Survey (2025)\n\nThe survey result XLSX file can be downloaded from https://ec.europa.eu/eusurvey/publication/tiddlywiki-users-2025. Drag and drop the file here to import it into TiddlyWiki.\n\n<<survey-2025-list-questions>>\n"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/app/ViewTemplate.tid",
    "content": "title: $:/Community Survey 2025/ViewTemplate\ntags: $:/tags/ViewTemplate\n\n<%if [<currentTiddler>tag[Community Survey 2025]] %>\n\n<$transclude $variable=\"survey-2025-list-answers\" answerTitle=<<currentTiddler>>/>\n\n<%endif%>\n"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/app/XLSX Import Specs/row.tid",
    "content": "created: 20250711121107617\nimport-spec-role: row\nimport-title-template: Community Survey 2025 Answer $autoindex$\nmodified: 20250711121107617\ntags: \ntitle: $:/_importspec/Community Survey 2025/Content/Row\ntype: text/vnd.tiddlywiki\nlist: [[$:/2025 Community Survey/Questions/first-heard-survey]] [[$:/2025 Community Survey/Questions/other-survey-source]] [[$:/2025 Community Survey/Questions/are-you-a-dev]] [[$:/2025 Community Survey/Questions/first-used-tw]] [[$:/2025 Community Survey/Questions/joined-tw-community]] [[$:/2025 Community Survey/Questions/started-tw-community]] [[$:/2025 Community Survey/Questions/use-ttw]] [[$:/2025 Community Survey/Questions/use-mailing-list]] [[$:/2025 Community Survey/Questions/use-reddit]] [[$:/2025 Community Survey/Questions/use-discord]] [[$:/2025 Community Survey/Questions/use-github-discuss]] [[$:/2025 Community Survey/Questions/published-plugin]] [[$:/2025 Community Survey/Questions/main-use-cases]] [[$:/2025 Community Survey/Questions/other-use-cases]] [[$:/2025 Community Survey/Questions/use-for-work-or-study]] [[$:/2025 Community Survey/Questions/share-wikis]] [[$:/2025 Community Survey/Questions/publish-to-web]] [[$:/2025 Community Survey/Questions/publish-to-intranet]] [[$:/2025 Community Survey/Questions/value-of-tw]] [[$:/2025 Community Survey/Questions/tw-ability-level]] [[$:/2025 Community Survey/Questions/save-method]] [[$:/2025 Community Survey/Questions/backup-method]] [[$:/2025 Community Survey/Questions/diy-backup-info]] [[$:/2025 Community Survey/Questions/wiki-setup-info]] [[$:/2025 Community Survey/Questions/tw-customisations]] [[$:/2025 Community Survey/Questions/positive-about-future]] [[$:/2025 Community Survey/Questions/tw-future-confidence]] [[$:/2025 Community Survey/Questions/project-decision-trust]] [[$:/2025 Community Survey/Questions/project-strengths]] [[$:/2025 Community Survey/Questions/project-weaknesses]] [[$:/2025 Community Survey/Questions/ok-to-publish]]"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/app/XLSX Import Specs/sheet.tid",
    "content": "created: 20250711121107617\nimport-sheet-name: Content\nimport-spec-role: sheet\nimport-tags: [[Community Survey 2025]]\nskip-rows-top: 3\nlist: [[$:/_importspec/Community Survey 2025/Content/Row]]\nmodified: 20250711121107617\ntags: \ntitle: $:/_importspec/Community Survey 2025/Content\ntype: text/vnd.tiddlywiki\n"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/app/XLSX Import Specs/workbook.tid",
    "content": "caption: Import Community Survey 2025 Results Spreadsheet\ncreated: 20250711121107617\nimport-spec-role: workbook\nlist: [[$:/_importspec/Community Survey 2025/Content]]\nmodified: 20250711121107617\ntags: \ntitle: $:/_importspec/Community Survey 2025/\ntype: text/vnd.tiddlywiki\n"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/app/default-import-spec.tid",
    "content": "created: 20161021164330811\nmodified: 20161021164331841\ntitle: $:/config/plugins/tiddlywiki/xlsx-utils/default-import-spec\ntype: text/vnd.tiddlywiki\n\n$:/_importspec/Community Survey 2025/"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/app/open-state.multids",
    "content": "title: $:/state/survey-2025/--439398230$:/2025 Community Survey/Questions/\n\nother-use-cases: no\nvalue-of-tw: no\ndiy-backup-info: no\nwiki-setup-info: no\ntw-customisations: no\nproject-strengths: no\nproject-weaknesses: no\n"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/app/palette.tid",
    "content": "title: $:/palette\ntext: $:/palettes/Naporitan\n"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/app/palettes - Naporitan.tid",
    "content": "color-scheme: light\ncreated: 20250423235702979\ndescription: based on Vanilla\nlist: #990402 #E95E09 #FFC05B #32A24D\nmodified: 20250424001709082\nname: Naporitan\ntags: $:/tags/Palette\ntitle: $:/palettes/Naporitan\ntype: application/x-tiddler-dictionary\n\nprimary: #E95E09\nalert-background: #FFDE2D\nalert-border: #E95E09\nalert-highlight: #990402\nalert-muted-foreground: #B39B1F\nbackground: #F4FCCD\nblockquote-bar: <<colour pre-background>>\nbutton-background: \nbutton-foreground: <<colour very-muted-foreground>>\nbutton-border: \ncode-background: #1819141A\ncode-border: <<colour code-background>>\ncode-foreground: <<colour foreground>>\ndirty-indicator: #990402\ndownload-background: <<colour tiddler-link-foreground>>\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour tiddler-background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour dropdown-background>>\ndropdown-tab-background-selected: <<colour dropdown-background>>\ndropdown-tab-background: <<colour tab-background>>\ndropzone-background: <<colour sidebar-tiddler-link-foreground-hover>>\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: #dd3e2e\nexternal-link-foreground-visited: #5d6124\nexternal-link-foreground: #227841\nforeground: #272323\nhighlight-background: #7fe0b4\nhighlight-foreground: <<colour foreground>>\nmessage-background: #E8EFC3\nmessage-border: #DCE3B9\nmessage-foreground: <<colour foreground>>\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour tiddler-background>>\nmodal-border: <<colour modal-background>>\nmodal-footer-background: <<colour table-header-background>>\nmodal-footer-border: <<colour modal-header-border>>\nmodal-header-border: <<colour table-border>>\nmuted-foreground: #857862\nnotification-background: <<colour tiddler-background>>\nnotification-border: <<colour primary>>\npage-background: #FFC05B\npre-background: #DCE3B9\npre-border: <<colour pre-background>>\nselection-background: \nselection-foreground: \nselect-tag-background: <<colour tiddler-editor-background>>\nselect-tag-foreground: <<colour button-foreground>>\nsidebar-button-foreground: <<colour button-foreground>>\nsidebar-controls-foreground-hover: <<colour tiddler-controls-foreground-hover>>\nsidebar-controls-foreground: <<colour tiddler-controls-foreground>>\nsidebar-foreground-shadow: transparent\nsidebar-foreground: #653406\nsidebar-muted-foreground-hover: #512f07\nsidebar-muted-foreground: #7a5728\nsidebar-tab-background-selected: <<colour background>>\nsidebar-tab-background: #FFDE2D\nsidebar-tab-border-selected: <<colour sidebar-tab-background-selected>>\nsidebar-tab-border: <<colour sidebar-tab-background>>\nsidebar-tab-divider: <<colour sidebar-tab-border>>\nsidebar-tab-foreground-selected: #990402\nsidebar-tab-foreground: <<colour foreground>>\nsidebar-tiddler-link-foreground-hover: <<colour sidebar-tiddler-link-foreground>>88\nsidebar-tiddler-link-foreground: <<colour tiddler-link-foreground>>\nsite-title-foreground: <<colour background>>\nstatic-alert-foreground: <<colour muted-foreground>>\ntab-background-selected: <<colour tiddler-background>>\ntab-background: #ffe575\ntab-border-selected: <<colour tab-border>>\ntab-border: #FFC05B\ntab-divider: <<colour tab-border>>\ntab-foreground-selected: <<colour foreground>>\ntab-foreground: <<colour foreground>>\ntable-border: <<colour tab-border>>\ntable-footer-background: #FDF0CA\ntable-header-background: <<colour tab-background>>\ntag-background: #FFDE2D\ntag-foreground: <<colour foreground>>\ntiddler-background: #F4FCCD\ntiddler-border: <<colour tiddler-background>>\ntiddler-controls-foreground-hover: #CC9A49\ntiddler-controls-foreground-selected: <<colour primary>>\ntiddler-controls-foreground: #FFDE2D\ntiddler-editor-background: #eef5c8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #DCE3B9\ntiddler-editor-fields-even: <<colour tiddler-controls-foreground>>88\ntiddler-editor-fields-odd: \ntiddler-info-background: <<colour tiddler-editor-background>>\ntiddler-info-border: <<colour tiddler-info-background>>\ntiddler-info-tab-background: <<colour tiddler-info-background>>\ntiddler-link-background: transparent\ntiddler-link-foreground: #32A24D\ntiddler-subtitle-foreground: <<colour muted-foreground>>\ntiddler-title-foreground: <<colour foreground>>\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #B2AB99\nvery-muted-foreground: #46372a"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlers/app/state - sidebar.tid",
    "content": "title: $:/state/sidebar\ntext: no"
  },
  {
    "path": "editions/tiddlywiki-surveys/tiddlywiki.info",
    "content": "{\n\t\"plugins\": [\n\t\t\"tiddlywiki/jszip\",\n\t\t\"tiddlywiki/xlsx-utils\",\n\t\t\"tiddlywiki/filesystem\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/snowwhite\",\n\t\t\"tiddlywiki/vanilla\"\n\t],\n\t\"build\": {\n\t\t\"index\": [\n\t\t\t\"--render\",\"$:/core/save/all\",\"surveys.html\",\"text/plain\"]\n\t}\n}"
  },
  {
    "path": "editions/tour/tiddlers/Solar System/Asteroid (253) Mathilde Image.png.meta",
    "content": "title: Asteroid (253) Mathilde Image\ntype: image/png\ntags: Image\n"
  },
  {
    "path": "editions/tour/tiddlers/Solar System/Asteroid.tid",
    "content": "created: 20230720112554020\nmodified: 20230720112827830\ntitle: Asteroid\ntype: text/vnd.tiddlywiki\ntags: [[Solar System]]\n\n[img class=hero-image [Asteroid (253) Mathilde Image]]\n\nAn asteroid is a space rock. It is a small object in the [[Solar System]] that travels around the [[Sun]]. It is like a [[planet|Planet]] but smaller. They range from very small (smaller than a car) to 600 miles (1000 km) across. A few asteroids have asteroid moons.\n\nThe name \"asteroid\" means \"like a star\" in the ancient Greek language. Asteroids may look like small stars in the sky, but they really do move around the [[Sun]], while stars only seem to move because the [[Earth]] spins. Like [[planets|Planet]], asteroids do not make their own light. Because of this, some people think \"asteroids\" is not a good name, and think that the name \"planetoid\" (\"like a planet\") would be a better name.\n\nGiuseppe Piazzi found the first asteroid, in 1801. He called it Ceres, and it is the biggest object in the asteroid belt. Others, like Juno, Pallas, and Vesta were found later. In the 1850s so many had been found, that they were numbered by a Minor planet designation starting with 1 Ceres. Today, astronomers using computerized telescopes find thousands of asteroids every month. Asteroid impact prediction is one of the purposes.\n\nAsteroids are the leftover rock and other material from the formation of the [[Solar System]]. These rocks were too small to come together to make a [[planet|Planet]]. Some are made of carbon or metal. Depending on what's on the surface, they are classified into various asteroid spectral types including Type M (metal), Type S (stone), and Type C (carbon).\n\nMost asteroids in our [[Solar System]] are in the asteroid belt between [[Mars]] and [[Jupiter]]. Many are not in the main asteroid belt. The ones that come close to [[Earth]] are called Near-Earth asteroids. Many scientists think asteroids striking the [[Earth]] killed off all the dinosaurs and caused some of the other extinction events."
  },
  {
    "path": "editions/tour/tiddlers/Solar System/Comet Image.png.meta",
    "content": "title: Comet Image\ntype: image/png\ntags: Image"
  },
  {
    "path": "editions/tour/tiddlers/Solar System/Comet.tid",
    "content": "created: 20230720113501352\nmodified: 20230720113633994\ntitle: Comet\ntype: text/vnd.tiddlywiki\ntags: [[Solar System]]\n\n[img class=hero-image [Comet Image]]\n\nA comet is a ball of mostly ice that moves around in outer space. Comets are often described as \"dirty snowballs\". They are very different from [[asteroids|Asteroid]]. The orbital inclinations of comets are usually high and not near the ecliptic where most [[solar system|Solar System]] objects are found. Most of them are long-period comets and come from the [[Kuiper belt]]. That is very far away from the [[Sun]], but some of them also come near enough to [[Earth]] for us to see at night.\n\nThey have long \"tails\", because the [[Sun]] melts the ice. A comet's tail does not trail behind it, but points directly away from the [[Sun]], because it is blown by the solar wind. The hard centre of the comet is the nucleus. It is one of the blackest things (lowest albedo) in the [[solar system|Solar System]]. When light shone on the nucleus of Halley's Comet, the comet reflected only 4% of the light back to us.\n\nPeriodic comets visit again and again. Non-periodic or single-apparition comets visit only once.\n\nComets sometimes break up, as Comet Biela did in the 19th century. Comet Shoemaker-Levy 9 broke up, and the pieces hit [[Jupiter]] in 1994. Some comets orbit (go around) together in groups. Astronomers think these comets are broken pieces that used to be one object.\n"
  },
  {
    "path": "editions/tour/tiddlers/Solar System/Earth Image.png.meta",
    "content": "title: Earth Image\ntype: image/png\ntags: Image"
  },
  {
    "path": "editions/tour/tiddlers/Solar System/Earth's Moon Image.png.meta",
    "content": "title: Earth's Moon Image\ntype: image/png\ntags: Image"
  },
  {
    "path": "editions/tour/tiddlers/Solar System/Earth's Moon.tid",
    "content": "created: 20230720105302348\nmodified: 20230720105451528\ntitle: Earth's Moon\ntype: text/vnd.tiddlywiki\n\n[img class=hero-image [Earth's Moon Image]]\n\nThe Moon is [[Earth]]'s only natural satellite. We usually see it in the night sky and also during the day. Some other planets also have moons or natural satellites.\n\nOur moon is about one-fourth of the width of the [[Earth]]. Because it is far away it looks small, about half a degree wide. The gravity on the moon is one-sixth of the [[Earth]]'s gravity. It means that something will be one-sixth as heavy on the Moon than on [[Earth]]. The Moon is a rocky and dusty place. It moves slowly away from the [[Earth]] at a rate of 3.8 cm per year, due to the effect of tidal dissipation.\n"
  },
  {
    "path": "editions/tour/tiddlers/Solar System/Earth.tid",
    "content": "created: 20230720102439731\nmodified: 20230720105223869\ntitle: Earth\ntype: text/vnd.tiddlywiki\ntags: Planet [[Rocky]]\n\n[img class=hero-image [Earth Image]]\n\nEarth is the third planet from the [[Sun]] in the [[Solar System]]. It is the only planet known to have life on it. The Earth formed about 4.5 billion years ago. It is one of four rocky planets on the inner side of the [[Solar System]]. The other three are [[Mercury]], [[Venus]], and [[Mars]].\n\nThe large mass of the [[Sun]] keeps the Earth in orbit through the force of gravity. Earth also turns around in space, so that different parts face the Sun at different times. Earth goes around the [[Sun]] once (one year) for every 365​1⁄4 times it turns around (one day).\n\nEarth is the only planet in the [[Solar System]] that has a large amount of liquid water on its surface. About 74% of the surface of Earth is covered by liquid or frozen water. Because of this, people sometimes call it the blue planet.\n\nBecause of its water, Earth is home to millions of species of plants and animals which need water to survive. The things that live on Earth have changed its surface greatly. For example, early cyanobacteria changed the air and gave it oxygen. The living part of Earth's surface is called the \"biosphere\".\n\nEarth is one of the eight planets in the [[Solar System]]. There are also thousands of small bodies which move around the [[Sun]]. The [[Solar System]] is moving through the Orion Arm of the [[Milky Way]] galaxy, and will be for about the next 10,000 years.\n\nEarth is about 150,000,000 kilometres or 93,000,000 miles away from the [[Sun]] (this distance is called an \"Astronomical Unit\"). It moves on its orbit at an average speed of about 30 km/s (19 mi/s). Earth turns all the way around about 365​1⁄4 times in the time it takes for Earth to go all the way around the [[Sun]]. To make up this extra bit of a day every year, an additional day is used every four years. This is named a \"leap year\".\n\nThe [[Moon|Earth's Moon]] goes around Earth at an average distance of 400,000 kilometres or 250,000 miles. It is locked to Earth, so that it always has the same half facing Earth; the other half is called the \"dark side of the moon\". It takes about 27​1⁄3 days for the [[Moon|Earth's Moon]]  to go all the way around Earth, but because Earth is moving around the [[Sun]] at the same time, it takes about 29​1⁄2 days for the [[Moon|Earth's Moon]]  to go from dark to bright to dark again. This is where the word \"month\" came from, even though most months now have 30 or 31 days."
  },
  {
    "path": "editions/tour/tiddlers/Solar System/Jupiter Image.png.meta",
    "content": "title: Jupiter Image\ntype: image/png\ntags: Image"
  },
  {
    "path": "editions/tour/tiddlers/Solar System/Jupiter.tid",
    "content": "created: 20230720103949854\nmodified: 20230720104126047\ntitle: Jupiter\ntype: text/vnd.tiddlywiki\ntags: Planet [[Gas Giant]]\n\n[img class=hero-image [Jupiter Image]]\n\nJupiter is the largest planet in the [[Solar System]]. It is the fifth planet from the [[Sun]]. Jupiter is a gas giant because it is so large, and made mostly of gas. The other gas giants in the Solar System are [[Saturn]], [[Uranus]], and [[Neptune]].\n\nJupiter's mass is about 318 times the mass of [[Earth]]. This is more than twice the mass of all the other planets in the [[Solar System]] put together.\n\nJupiter can be seen even without using a telescope. It is the third brightest object in the night sky. Only the [[Earth's Moon]] and [[Venus]] are brighter. The ancient Romans named the planet after their King of the Gods, Jupiter (Latin: Iuppiter).\n\nJupiter has 95 known moons. About 75 of them are very small—less than five kilometres wide. The four largest moons of Jupiter are Io, Europa, Ganymede, and Callisto. They are called the Galilean moons because Galileo Galilei discovered them. Ganymede is the largest moon in the Solar System. Its diameter is larger than that of the planet [[Mercury]]."
  },
  {
    "path": "editions/tour/tiddlers/Solar System/Kuiper belt.tid",
    "content": "created: 20230720113703253\nmodified: 20230720113733279\ntitle: Kuiper belt\ntype: text/vnd.tiddlywiki\n\nThe Kuiper belt is an area of the [[Solar System]] beyond the orbit of [[Neptune]] (at 30 astronomical units) to 50 AU from the [[Sun]].\n\nThe objects within the Kuiper Belt together with the members of the scattered disk beyond, are together called trans-Neptunian.\n\nMany objects such as dwarf planets in the Kuiper belt are much bigger than the ones in the asteroid belt and are round. At least some Kuiper belt objects are icebound.\n\nThe first objects in the Kuiper belt to be found were [[Pluto]] and Charon (moon) but the belt was only identified and named in 1992 when more Kuiper belt objects (KBOs) were found. A few thousand have since been discovered and more than 70,000 KBOs over 100 km (62 mi) in diameter are thought to exist."
  },
  {
    "path": "editions/tour/tiddlers/Solar System/Mars Image.png.meta",
    "content": "created: 20230720103818354\nmodified: 20230720103822277\ntitle: Mars Image\ntype: image/png\ntags: Image"
  },
  {
    "path": "editions/tour/tiddlers/Solar System/Mars.tid",
    "content": "created: 20230720103800905\nmodified: 20230720103915592\ntitle: Mars\ntype: text/vnd.tiddlywiki\ntags: Planet [[Rocky]]\n\n[img class=hero-image [Mars Image]]\n\nMars is the fourth planet from the [[Sun]] in the [[Solar System]] and the second-smallest planet. Mars is a terrestrial planet with polar ice caps of frozen water and carbon dioxide. It has the largest volcano in the [[Solar System]], and some very large impact craters. Mars is named after the mythological Roman god of war because it appears of red color.\n\nSpace probes such as the Viking program landers are the main tools for the exploration of Mars."
  },
  {
    "path": "editions/tour/tiddlers/Solar System/Mercury Image.png.meta",
    "content": "title: Mercury Image\ntype: image/png\ntags: Image"
  },
  {
    "path": "editions/tour/tiddlers/Solar System/Mercury.tid",
    "content": "created: 20230720101415532\nmodified: 20230720101809366\ntitle: Mercury\ntype: text/vnd.tiddlywiki\ntags: Planet [[Rocky]]\n\n[img class=hero-image [Mercury Image]]\n\nMercury is the smallest planet in the [[Solar System]]. It is the closest planet to the [[Sun]]. It makes one trip around the Sun once every 87.969 days.\n\nMercury is bright when we can see it from [[Earth]]. It has an apparent magnitude ranging from −2.0 to 5.5. It cannot be seen easily because it is usually too close to the [[Sun]]. Because of this, Mercury can only be seen in the morning or evening twilight or when there is a solar eclipse.\n\nLess is known about Mercury than about other planets of our [[Solar System]]. Even with telescopes only a small, bright crescent can be seen. It is also hard to put a satellite in orbit around it. Two spacecraft have visited Mercury. The first one was Mariner 10. It only made a map of about 45% of the Mercury's surface from 1974 to 1975. The second is the MESSENGER spacecraft, which finished mapping Mercury in March 2013.\n\nMercury looks like [[Earth's Moon]]. It has many craters and smooth plains. It has no moons and little atmosphere as we know it. However, Mercury does have an extremely thin atmosphere, known as an exosphere. Mercury has a large iron core. Because of this Mercury has a magnetic field about 1% as strong as that of the Earth. It is a very dense planet because its core is large.\n\nTemperature at the surface can be anywhere from about 90 to 700 K (−183 °C to 427 °C, −297 °F to 801 °F), with the subsolar point being the hottest and the bottoms of craters near the poles being the coldest.\n\nKnown sightings of Mercury date back to at least the first millennium BC. Before the 4th century BC, Greek astronomers thought that Mercury was two different objects: The one that they were only able at sunrise, they called Apollo; the other one that they were only able to see at sunset, they called Hermes. The English name for the planet is from the Romans, who named it after the Roman god Mercury. The symbol for Mercury is based on Hermes' staff.\n\nEven though Mercury is the closest planet to the [[Sun]], it is not the hottest. This is because it has no greenhouse effect. The heat that the [[Sun]] gives it, quickly escapes into space. The hottest planet is [[Venus]]."
  },
  {
    "path": "editions/tour/tiddlers/Solar System/Milky Way Image.png.meta",
    "content": "created: 20230720095228607\nmodified: 20230720095237609\ntitle: Milky Way Image\ntype: image/png\ntags: Image"
  },
  {
    "path": "editions/tour/tiddlers/Solar System/Milky Way.tid",
    "content": "created: 20230720095039202\nmodified: 20230720095530636\ntitle: Milky Way\ntype: text/vnd.tiddlywiki\n\n[img class=hero-image [Milky Way Image]]\n\nThe Milky Way is our home galaxy. It contains around 400 billion stars, including our [[Sun]].\n\nThe Milky Way has a diameter of about 170,000 or 200,000 light years, and is a barred spiral galaxy. The idea that the Milky Way is made of stars goes back to the Ancient Greek philosopher Democritus.\n\nThe Milky Way has three main parts: a disk, where the [[Solar System]] is, a bulge at the core, and an outer halo all around it. Although the word \"disk\" suggests it is flat, the Milky Way is actually not quite flat. It is slightly warped and twisted.\n\nThis galaxy belongs to the Local Group of three large galaxies and over 50 smaller galaxies. The Milky Way is one of the largest galaxies in the group, second to the Andromeda Galaxy. Its closest neighbour is the Canis Major Dwarf Galaxy, which is about 25,000 light years away from the Earth. The Andromeda Galaxy is moving towards the Milky Way Galaxy, and will collide with it in about 3.75 billion years. The Andromeda Galaxy moves with a speed of about 1,800 kilometres per minute."
  },
  {
    "path": "editions/tour/tiddlers/Solar System/Moon.tid",
    "content": "created: 20230720113324534\nmodified: 20230720113416564\ntitle: Moon\ntype: text/vnd.tiddlywiki\ntags: [[Solar System]]\n\nBodies which orbit [[planets|Planet]] are called moons. They vary in size. The [[Earth]] has only one moon. Some other planets have many moons, and some have none. When people write just \"the moon\", they are usually talking about the moon of the Earth. [[Earth's Moon]] is written with a capital letter, Moon. The Latin word for the moon is luna, which is why the adjective used to talk about the moon is \"lunar\". For example, lunar eclipse.\n\nAnything that goes around a planet is called a satellite. Moons are natural satellites. People also use rockets to send machines into orbit around the Earth. These machines are called artificial (man-made) satellites.\n"
  },
  {
    "path": "editions/tour/tiddlers/Solar System/Neptune Image.png.meta",
    "content": "title: Neptune Image\ntype: image/png\ntags: Image"
  },
  {
    "path": "editions/tour/tiddlers/Solar System/Neptune.tid",
    "content": "created: 20230720104752241\nmodified: 20230720104941305\ntitle: Neptune\ntype: text/vnd.tiddlywiki\ntags: Planet [[Gas Giant]]\n\n[img class=hero-image [Neptune Image]]\n\nNeptune is the eighth and farthest planet from the [[Sun]] in the [[Solar System]]. It is an ice giant. It is the fourth-largest planet in the system. Neptune has five rings. These rings are hard to see from the [[Earth]].\n\nNeptune's mass is 17 times [[Earth]]'s mass and a little bit more than [[Uranus]]' mass. Neptune is denser and smaller than [[Uranus]]. Its greater mass makes its gravity make its atmosphere smaller and denser.\n\nIt was named after the Roman god of the sea, Neptune. Neptune's astronomical symbol is ♆, the trident of the god Neptune.\n\nNeptune's atmosphere is mostly hydrogen and helium. It also contains small amounts of methane which makes the planet appear blue. Neptune's blue color is much darker than the color of [[Uranus]]. Neptune also has the strongest winds of any planet in the [[Solar System]], as high as 2,100 km/h or 1,300 mph.\n\nUrbain Le Verrier and John Couch Adams were the astronomers who discovered Neptune. Neptune was not discovered using a telescope. It was the first planet to be discovered using mathematics. In 1821, astronomers saw that [[Uranus]]' orbit was different from what they expected. Another nearby planet's mass was changing [[Uranus]]' orbit. They found Neptune was the cause.\n\nVoyager 2 visited Neptune on 25 August 1989. It was the only spacecraft to visit the planet. Neptune used to have a huge storm known as the \"Great Dark Spot\". Voyager 2 discovered the spot in 1989. The dark spot was not seen in 1994, but new spots were found since then. It is not known why the dark spot disappeared. Visits by other space probes have been planned."
  },
  {
    "path": "editions/tour/tiddlers/Solar System/Planet Image.png.meta",
    "content": "title: Planet Image\ntype: image/png\ntags: Image"
  },
  {
    "path": "editions/tour/tiddlers/Solar System/Planet.tid",
    "content": "created: 20230720112945287\nmodified: 20230720113139369\ntitle: Planet\ntype: text/vnd.tiddlywiki\ntags: [[Solar System]]\n\n[img class=hero-image [Planet Image]]\n\nA planet is a large object such as [[Venus]] or [[Earth]] that orbits a star. Planets are smaller than stars, and they do not make light. [[Jupiter]] is the biggest planet in the [[Solar System]], while the smallest planet in the [[Solar System]] is [[Mercury]].\n\nPlanets are shaped like a slightly squashed ball (called a spheroid). Objects that orbit planets are called satellites. A star and everything which orbits it are called a star system.\n\nThere are eight planets in the [[Solar System]]. [[Pluto]] used to be called a planet, but in August 2006, the International Astronomical Union decided it was a dwarf planet instead. There are four more known dwarf planets in the [[Solar System]], Ceres, Makemake, Eris and Haumea.\n\nThe name \"planet\" is from the Greek word πλανήτης (planetes), meaning \"wanderers\", or \"things that move\". Until the 1990s, people only knew the planets in the [[Solar System]].\n\n4,905 extrasolar planets (exoplanets) have been discovered in 3,629 planetary systems (January 2022 data). The count includes 808 multi-planetary systems. Known exoplanets range in size from gas giants about twice as large as Jupiter down to just over the size of the [[Moon|Earth's Moon]]. About 100 of these planets are roughly the size as [[Earth]]. Nine of these orbit in the habitable zone of their star."
  },
  {
    "path": "editions/tour/tiddlers/Solar System/Pluto Image.png.meta",
    "content": "title: Pluto Image\ntype: image/png\ntags: Image"
  },
  {
    "path": "editions/tour/tiddlers/Solar System/Pluto.tid",
    "content": "created: 20230720113803689\nmodified: 20230720114100139\ntitle: Pluto\ntype: text/vnd.tiddlywiki\n\n[img class=hero-image [Pluto Image]]\n\nPluto is a dwarf [[planet|Planet]] in the [[Solar System]]. Its formal name is 134340 Pluto, and its planetary symbol ⯓ or ♇. Pluto is the ninth largest body that moves around the [[Sun]]. Upon first being discovered, Pluto was considered a planet but was reclassified to a dwarf planet in 2006. It is the largest body in the [[Kuiper belt]].\n\nLike other members of the [[Kuiper belt]], Pluto is mainly made of rock and ice. It is quite small. It is about a fifth (⅕) of the weight of the [[Earth's Moon]]. It is only a third (⅓) of its volume. Pluto is very far from the [[Sun]], so its temperature is very low. The average temperature on Pluto is -226 to -240 degrees Celsius. It has an odd orbit and this orbit is very sloped. It takes Pluto to 30 to 49 AU (4.4–7.4 billion km) from the [[Sun]]. This causes Pluto to sometimes go closer to the Sun than [[Neptune]].\n\nSince it was discovered in 1930, Pluto was thought to be the [[Solar System]]'s ninth planet. In the late 1970s, the minor planet 2060 Chiron was found and people learned that Pluto had a small size. Later, in the early 21st century, the scattered disc object Eris and other objects like Pluto were discovered. Eris was initially believed to be 27% larger than Pluto, but was later found to be slightly smaller. On August 24, 2006, the International Astronomical Union (IAU) gave a definition to the word \"planet\" for the first time. By this definition, Pluto was not a planet anymore. It became a \"dwarf planet\" along with Eris and Ceres. After this, Pluto was put on the list of minor planets and was downgraded in 2006 by astronomer Michael E Brown. It was given the number 134340. Some scientists still think that Pluto should be classified as a planet."
  },
  {
    "path": "editions/tour/tiddlers/Solar System/Saturn Image.png.meta",
    "content": "title: Saturn Image\ntype: image/png\ntags: Image"
  },
  {
    "path": "editions/tour/tiddlers/Solar System/Saturn.tid",
    "content": "created: 20230720104344173\nmodified: 20230720104515376\ntitle: Saturn\ntype: text/vnd.tiddlywiki\ntags: Planet [[Gas Giant]]\n\n[img class=hero-image [Saturn Image]]\n\nSaturn is the sixth planet from the [[Sun]] in the [[Solar System]].\n\nSaturn is one of the four gas giant planets in the [[Solar System]], together with [[Jupiter]], [[Uranus]], and [[Neptune]]. It is the second largest planet in the [[Solar System]] ([[Jupiter]] is larger).\n\nSaturn was named after the Roman god Saturnus. He was considered to be the same as the Greek god Kronos. Saturn's symbol is ♄ which is the symbol of Saturnus' sickle.\n\nInside Saturn is probably a core of iron, nickel, silicon and oxygen compounds, surrounded by a deep layer of metallic hydrogen, then a layer of liquid hydrogen and liquid helium and finally, an outer gaseous layer.\n\nSaturn has 145 known moons orbiting the planet.  The largest moon is Titan. Titan is larger in volume than the planet [[Mercury]]. Titan is the second-largest moon in the [[Solar System]]. The largest moon is a moon of [[Jupiter]], Ganymede. There are also many rings around Saturn. These rings are made of ice with some rocks and dust. Some people think that that the rings were made by a moon impact or other event. Saturn is about 1,433,000,000 km (870,000,000 mi) on average from the [[Sun]]. Saturn takes 29.6 Earth years to move around the [[Sun]]."
  },
  {
    "path": "editions/tour/tiddlers/Solar System/Solar System Image.png.meta",
    "content": "title: Solar System Image\ntype: image/png\ntags: Image"
  },
  {
    "path": "editions/tour/tiddlers/Solar System/Solar System.tid",
    "content": "created: 20230720093645837\nmodified: 20230720112852404\ntitle: Solar System\ntype: text/vnd.tiddlywiki\n\n[img class=hero-image [Solar System Image]]\n\nThe Solar System is the [[Sun]] and all the objects that orbit around it. The Sun is orbited by [[planets|Planet]], [[asteroids|Asteroid]], [[comets|Comet]] and other things.\n\nThe Solar System is about 4.568 billion years old. The Sun formed by gravity in a large molecular cloud. It is mainly hydrogen, which it converts into helium through nuclear fusion. The planets are in a flattened orbiting disk. This disk was left over from the cloud that formed the Sun. Eventually, the gas and dust of the disk came together into planets. It is thought that almost all stars and their planets form this way.\n\nThe Sun is a star. It makes up 99.9% of the Solar System's mass. This means that it has strong gravity. The other objects are pulled into orbit around the Sun. The Sun is mostly made out of hydrogen, and some helium and higher elements. All heavier elements, called metals in astronomy, account for less than 2% of the Sun's mass. Oxygen is about 1% of the Sun's mass. Iron (0.2%) is the most plentiful of the other elements.\n\nThere are eight planets in the Solar System. From closest to farthest from the Sun, they are: [[Mercury]], [[Venus]], [[Earth]], [[Mars]], [[Jupiter]], [[Saturn]], [[Uranus]] and [[Neptune]]. The first four planets are called terrestrial planets. They are mostly made of rock and metal, and they are mostly solid. The last four planets are called gas giants. This is because they are much larger than other planets and are mostly made of gas.\n\nSix of the planets, and the six largest dwarf planets, are orbited by [[moons|Moon]]. There are more than 200 moons in the Solar System. [[Mercury]] and [[Venus]] have no moons, and [[Jupiter]] and [[Saturn]] have the largest number of moons. The largest moon is [[Ganymede]] which is a moon of [[Jupiter]]. [[Titan]] is one of [[Saturn]]’s moons. It is the only moon in the Solar System to have an atmosphere, which is mainly composed of nitrogen.\n\nThe Solar System also contains other things. There are [[asteroid belts|Asteroid]], mostly between [[Mars]] and [[Jupiter]]. Further out than [[Neptune]], there is the [[Kuiper belt]] and the scattered disc. These areas have dwarf planets, including [[Pluto]], Makemake, Haumea, Ceres and Eris. There are thousands of very small objects in these areas. There are also [[comets|Comet]], centaurs, and interplanetary dust.\n"
  },
  {
    "path": "editions/tour/tiddlers/Solar System/Sun Image.png.meta",
    "content": "created: 20230720095341229\nmodified: 20230720095343728\ntype: image/png\ntitle: Sun Image\ntags: Image"
  },
  {
    "path": "editions/tour/tiddlers/Solar System/Sun.tid",
    "content": "created: 20230720094834001\nmodified: 20230720095518349\ntitle: Sun\ntype: text/vnd.tiddlywiki\ntags: [[Solar System]]\n\n[img class=hero-image [Sun Image]]\n\nThe Sun, also known as Sol, is a star at the center of our [[solar system|Solar System]]. It is a yellow star that gives off different types of energy such as infrared energy (heat), ultraviolet light, radio waves and light. It also gives off a stream of particles, which reaches [[Earth]] as \"solar wind\". The source of all this energy is nuclear fusion. Nuclear fusion is the reaction in the star which turns hydrogen into helium and makes huge amounts of energy. It is a nearly perfect ball of hot plasma.\n\nThe Sun is a star like many others in our [[Milky Way]] galaxy. The Sun is a type of star called a G-type main-sequence star based on its spectral class.\n\nThe Sun has existed for a little over 4.5 billion years. It is going to continue for at least as long again.\n\nThe Sun is about a hundred times as wide as the Earth. It has a mass of 1.9891×1030 kg. This is 333,000 times the mass of the [[Earth]]. 1.3 million [[Earths|Earth]] can fit inside the Sun. The Sun fuses about 600 million tons of hydrogen into helium every second.\n\nThe Sun is the main source of energy for the [[Earth]]. This energy is made deep inside the Sun in a process called nuclear fusion. Four hydrogen atoms are fused together to make one helium atom. Some of the leftover matter turns into energy. This is the same way energy is released in a hydrogen bomb."
  },
  {
    "path": "editions/tour/tiddlers/Solar System/Uranus Image.png.meta",
    "content": "title: Uranus Image\ntype: image/png\ntags: Image"
  },
  {
    "path": "editions/tour/tiddlers/Solar System/Uranus.tid",
    "content": "created: 20230720104606510\nmodified: 20230720104721998\ntitle: Uranus\ntype: text/vnd.tiddlywiki\ntags: Planet [[Gas Giant]]\n\n[img class=hero-image [Uranus Image]]\n\nUranus is the seventh planet from the [[Sun]] in our [[Solar System]]. Like [[Neptune]], it is an ice giant. It is the third largest planet in the solar system.\n\nThe planet is made of ice, gases and liquid metal. Its atmosphere contains hydrogen (1H), helium (2He) and methane. The temperature on Uranus is −197 °C (−322.6 °F; 76.1 K) near the top of its atmosphere, but its small solid core (about 55% the mass of [[Earth]]) is probably about 4,730 °C (8,540 °F; 5,000 K).\n\nThe planet is tilted on its axis so much that it is sideways. It has five big moons, many small ones, and a small system of 13 planetary rings.\n\nThe distance between Uranus and the [[Sun]] is about 2.8 billion km. Uranus completes its orbit around the [[Sun]] in 84 earth years. It completes a spin around its axis in 17 hours and 14 minutes. This means there are about 43,000 Uranian days in one Uranian year.\n\nUranus was discovered in 1781. This planet can be seen with the naked eye under perfect conditions. John Flamsteed saw it decades earlier but mistook it for a star (34 Tauri).\n\nUranus is named after Uranus, the Greek name of the Sumerian god Anu, who was a god of the sky."
  },
  {
    "path": "editions/tour/tiddlers/Solar System/Venus Image.png.meta",
    "content": "title: Venus Image\ntype: image/png\ntags: Image"
  },
  {
    "path": "editions/tour/tiddlers/Solar System/Venus.tid",
    "content": "created: 20230720101839792\nmodified: 20230720104223481\ntitle: Venus\ntype: text/vnd.tiddlywiki\ntags: Planet [[Rocky]]\n\n[img class=hero-image [Venus Image]]\n\nVenus is the second planet from the [[Sun]]. Venus is the only planet in the [[Solar System]] that has a day longer than a year. The year length of Venus is 225 [[Earth]] days. The day length of Venus is 243 [[Earth]] days.\n\nVenus is a terrestrial planet because it has a solid, rocky surface like other planets in the inner [[Solar System]]. Astronomers have known Venus for thousands of years. The ancient Romans named it after their goddess Venus, goddess of love and beauty.\n\nVenus is the brightest thing in the night sky except for the Moon. It is sometimes called the morning star or the evening star as at some elongations it is easily seen just before the sun comes up in the morning. At other times, it can be seen just after the sun goes down in the evening. Venus comes closer to the [[Earth]] than any other planet does.\n\nVenus is sometimes called the sister planet of L as they are quite similar in size and gravity. In other ways the planets are very different. Venus' atmosphere (air) is mostly carbon dioxide with clouds of sulphuric acid. Sulphuric acid is a chemical that is poisonous to life. For this it is sometimes known as the Earth's \"evil twin\".\n\nThe thick atmosphere makes it hard to see the surface. Until the late twentieth century many thought there might be life there. The pressure on Venus' surface is 92 times that of [[Earth]]. Venus is one of only 2 planets in the [[Solar System]] (the other being [[Mercury]]) that has no moons. Venus spins very slowly on its axis and it spins in the opposite direction to the other planets."
  },
  {
    "path": "editions/tour/tiddlers/System/$__coreURL.tid",
    "content": "title: $:/coreURL\ntags: $:/tags/Global\n\n\\function coreURL() [[tiddlywikicore-$(version)$.js]substitute[]]\n"
  },
  {
    "path": "editions/tour/tiddlers/System/$__themes_tiddlywiki_vanilla_options_sidebarlayout.tid",
    "content": "title: $:/themes/tiddlywiki/vanilla/options/sidebarlayout\ntype: text/vnd.tiddlywiki\n\nfluid-fixed"
  },
  {
    "path": "editions/tour/tiddlers/System/DefaultTiddlers.tid",
    "content": "title: $:/DefaultTiddlers\n\n[[HelloThere]]\n[[Solar System]]\n"
  },
  {
    "path": "editions/tour/tiddlers/System/HelloThere.tid",
    "content": "title: HelloThere\n\nWelcome to this TiddlyWiki about the [[Solar System]].\n\nWith many thanks to the [[Simple English Wikipedia|https://simple.wikipedia.org/]], the original source of this material.\n"
  },
  {
    "path": "editions/tour/tiddlers/System/SiteSubtitle.tid",
    "content": "title: $:/SiteSubitle\ntext: An Interactive Guide"
  },
  {
    "path": "editions/tour/tiddlers/System/SiteTitle.tid",
    "content": "title: $:/SiteTitle\ntext: ~TiddlyWiki Tour"
  },
  {
    "path": "editions/tour/tiddlers/System/configAutoStartTour.tid",
    "content": "title: $:/config/AutoStartTour\ntext: yes\n"
  },
  {
    "path": "editions/tour/tiddlers/System/styles.tid",
    "content": "title: $:/demoshow/styles\ntags: [[$:/tags/Stylesheet]]\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\n.hero-image {\nmax-width: 300px;\nmax-height: 300px;\n}"
  },
  {
    "path": "editions/tour/tiddlywiki.info",
    "content": "{\n\t\"description\": \"A step by step introduction to TiddlyWiki\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/tour\",\n\t\t\"tiddlywiki/confetti\",\n\t\t\"tiddlywiki/dynannotate\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\"\n\t],\n\t\"build\": {\n\t\t\"index\": [\n\t\t\t\"--rendertiddler\",\"$:/core/save/all\",\"index.html\",\"text/plain\"]\n\t}\n}\n"
  },
  {
    "path": "editions/translators/tiddlers/Extracting Translations.tid",
    "content": "title: Extracting Translations\n\nThe [[Instructions for Translators]] yield a standalone TiddlyWiki HTML file that contains tiddlers corresponding to each translated string.\n\n! Extracting a new language plugin\n\nUse this procedure if the language being submitted is not already present in the TiddlyWiki repository.\n\n# Run the following command in the terminal to generate the tiddler source files for the repository:\n#* `tiddlywiki editions/translators/ --verbose --load <path to HTML file> --build output-files`\n#*> The source files are generated in `editions/translators/output/language`\n# Create the new language folder `languages/xx-XX`\n# Copy the language files into the language folder\n# Create a `plugin.info` file for the translation\n# Add the new language to tw5.com\n# Submit a pull request\n\n! Updating an existing language plugin\n\nUse this procedure for submissions of updates to language plugins that are already present in the TiddlyWiki repository.\n\n# Run the following command in the terminal to generate the tiddler source files for the repository:\n#* `tiddlywiki editions/translators/ --verbose --unpackplugin $:/languages/xx-XX --load <path to HTML file> --build output-files`\n#* substituting the appropriate language code for `xx-XX`\n# Copy the language files from the edition output folder to the appropriate language directory\n#* Take care not to copy any empty `.tid` files\n"
  },
  {
    "path": "editions/translators/tiddlers/HelloThere.tid",
    "content": "title: HelloThere\n\nThis edition of ~TiddlyWiki is for people who would like to create or update a translation for ~TiddlyWiki. It makes it possible for translators to work interactively, avoiding using Node.js and ~GitHub.\n\n* [[Instructions for Translators]]\n* [[Extracting Translations]]\n\nSee https://tiddlywiki.com for more details about ~TiddlyWiki.\n"
  },
  {
    "path": "editions/translators/tiddlers/Instructions for Translators.tid",
    "content": "title: Instructions for Translators\n\n! Overview\n\nThe tiddler [[$:/Translators]] provides a dashboard for creating, editing and reviewing translatable strings. It has the following parts:\n\n* A summary of progress\n* A copy of the page controls to make it easier to work with the sidebar hidden\n* Editor tabs, splitting the translatable strings into groups. Within each tab:\n** A title, description and tiddler count for the group\n** Radio buttons to select between showing single line and multi-line editors. Some longer strings are easier to edit with the multi-line editors\n** A table of each translatable tiddler in the group, each showing:\n*** The link and title of the translatable tiddler. In most cases the title is abbreviated; click the link to open the tiddler directly to see the full title\n*** An editor for the translatable text\n*** A dropdown with:\n**** The original en-GB text\n**** A button to revert by deleting the translatable tiddler\n\nMost translatable tiddlers consist of a single field. The \"Types\" and \"Help\" groups have multiple fields that must be translated. The heading of the editor table gives the names of the fields.\n\n! Step by Step\n\n# Make sure you know how to save changes with ~TiddlyWiki, as described on https://tiddlywiki.com/\n# Visit https://tiddlywiki.com/editions/translators/index.html\n# Click the ''Save changes'' button below to save a copy of the translators edition to your local hard drive. Name the copy `MyTranslation.html`\n#* You may want to save the file into your Dropbox folder (or equivalent) to benefit from automatic backups\n# Open the `MyTranslation.html` in your browser\n# Translate a single string to make sure things are working:\n## Select the ''Sidebar'' tab in [[$:/Translators]]\n## Type new text for the item ''Open/Caption'' (the text shown as the caption of the \"Open\" tab in the sidebar)\n## Open the sidebar to check that the translation appears correctly\n## Save changes\n# Repeat for the other translatable strings\n# While working on your translation, remember to save changes and take backups regularly\n\n! Submitting your Translation\n\nWhen your translation reaches the point that it's useful to be shared with others you can submit it for inclusion in the TiddlyWiki core.\n\nThe easiest way to submit your translation is to publish the HTML file on Dropbox (as described on https://tiddlywiki.com/) and then post a link to the TiddlyWiki discussion group.\n\nAlternatively, you can email the translation directly to Jeremy Ruston or Mario Pietsch.\n\n! Translation Advice\n\nPrioritise the groups to translate first. A translation can be useful without being 100% complete; just covering the main groups will cover most of the text seen by ordinary users:\n\n* Buttons\n* Control Panel\n* Date\n* Draft\n* Edit Template\n* Getting Started\n* Import\n* Miscellaneous\n* Search\n* Sidebar\n* Tiddler Info\n\n"
  },
  {
    "path": "editions/translators/tiddlers/system/$__status_UserName.tid",
    "content": "title: $:/status/UserName\n\nJermolene\n"
  },
  {
    "path": "editions/translators/tiddlers/system/DefaultTiddlers.tid",
    "content": "title: $:/DefaultTiddlers\n\nHelloThere\n[[$:/Translators]]\n[[$:/plugins/tiddlywiki/translators/readme]]\n"
  },
  {
    "path": "editions/translators/tiddlers/system/PageControlButtonsVisibility.multids",
    "content": "title: $:/config/PageControlButtons/Visibility/$:/\n\ncore/ui/Buttons/advanced-search: hide\ncore/ui/Buttons/close-all: hide\ncore/ui/Buttons/encryption: hide\ncore/ui/Buttons/full-screen: hide\ncore/ui/Buttons/home: hide\ncore/ui/Buttons/refresh: hide\ncore/ui/Buttons/import: hide\ncore/ui/Buttons/language: show\ncore/ui/Buttons/tag-manager: hide\ncore/ui/Buttons/more-page-actions: show\ncore/ui/Buttons/new-journal: hide\ncore/ui/Buttons/permaview: hide\ncore/ui/Buttons/storyview: hide\ncore/ui/Buttons/layout: hide\ncore/ui/Buttons/theme: hide\n"
  },
  {
    "path": "editions/translators/tiddlers/system/palette.tid",
    "content": "title: $:/palette\n\n$:/plugins/tiddlywiki/translators/palette"
  },
  {
    "path": "editions/translators/tiddlers/system/sidebarstate.tid",
    "content": "title: $:/state/sidebar\n\nno"
  },
  {
    "path": "editions/translators/tiddlywiki.info",
    "content": "{\n\t\"description\": \"Edition for people translating TiddlyWiki\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/translators\"\n\t],\n\t\"languages\": [\n\t\t\"ar-PS\",\n\t\t\"ca-ES\",\n\t\t\"cs-CZ\",\n\t\t\"da-DK\",\n\t\t\"de-AT\",\n\t\t\"de-CH\",\n\t\t\"de-DE\",\n\t\t\"el-GR\",\n\t\t\"en-US\",\n\t\t\"en-PH\",\n\t\t\"es-ES\",\n\t\t\"fa-IR\",\n\t\t\"fr-FR\",\n\t\t\"he-IL\",\n\t\t\"hi-IN\",\n\t\t\"ia-IA\",\n\t\t\"it-IT\",\n\t\t\"ja-JP\",\n\t\t\"ko-KR\",\n\t\t\"mk-MK\",\n\t\t\"nl-NL\",\n\t\t\"pa-IN\",\n\t\t\"pl-PL\",\n\t\t\"pt-BR\",\n\t\t\"pt-PT\",\n\t\t\"ru-RU\",\n\t\t\"sk-SK\",\n\t\t\"sl-SI\",\n\t\t\"sv-SE\",\n\t\t\"zh-CN\",\n\t\t\"zh-Hans\",\n\t\t\"zh-Hant\",\n\t\t\"zh-HK\",\n\t\t\"zh-TW\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\"\n\t],\n\t\"build\": {\n\t\t\"index\": [\n\t\t\t\"--render\",\"$:/core/save/all\",\"index.html\",\"text/plain\"],\n\t\t\"output-files\": [\n\t\t\t\"--render\",\"$:/plugins/tiddlywiki/translators/templates/Buttons.multids\",\"language/Buttons.multids\",\"text/plain\",\n\t\t\t\"--render\",\"$:/plugins/tiddlywiki/translators/templates/ControlPanel.multids\",\"language/ControlPanel.multids\",\"text/plain\",\n\t\t\t\"--render\",\"$:/plugins/tiddlywiki/translators/templates/CoreReadMe.tid\",\"language/CoreReadMe.tid\",\"text/plain\",\n\t\t\t\"--render\",\"$:/plugins/tiddlywiki/translators/templates/Dates.multids\",\"language/Dates.multids\",\"text/plain\",\n\t\t\t\"--render\",\"$:/plugins/tiddlywiki/translators/templates/Draft.multids\",\"language/Draft.multids\",\"text/plain\",\n\t\t\t\"--render\",\"$:/plugins/tiddlywiki/translators/templates/EditTemplate.multids\",\"language/EditTemplate.multids\",\"text/plain\",\n\t\t\t\"--render\",\"$:/plugins/tiddlywiki/translators/templates/Exporters.multids\",\"language/Exporters.multids\",\"text/plain\",\n\t\t\t\"--render\",\"$:/plugins/tiddlywiki/translators/templates/Fields.multids\",\"language/Fields.multids\",\"text/plain\",\n\t\t\t\"--render\",\"$:/plugins/tiddlywiki/translators/templates/Filters.multids\",\"language/Filters.multids\",\"text/plain\",\n\t\t\t\"--render\",\"$:/plugins/tiddlywiki/translators/templates/GettingStarted.tid\",\"language/GettingStarted.tid\",\"text/plain\",\n\t\t\t\"--render\",\"$:/plugins/tiddlywiki/translators/templates/Import.multids\",\"language/Import.multids\",\"text/plain\",\n\t\t\t\"--render\",\"$:/plugins/tiddlywiki/translators/templates/Misc.multids\",\"language/Misc.multids\",\"text/plain\",\n\t\t\t\"--render\",\"$:/plugins/tiddlywiki/translators/templates/ModuleTypes.multids\",\"language/Docs/ModuleTypes.multids\",\"text/plain\",\n\t\t\t\"--render\",\"$:/plugins/tiddlywiki/translators/templates/NewJournal.multids\",\"language/NewJournal.multids\",\"text/plain\",\n\t\t\t\"--render\",\"$:/plugins/tiddlywiki/translators/templates/Notifications.multids\",\"language/Notifications.multids\",\"text/plain\",\n\t\t\t\"--render\",\"$:/plugins/tiddlywiki/translators/templates/PaletteColours.multids\",\"language/Docs/PaletteColours.multids\",\"text/plain\",\n\t\t\t\"--render\",\"$:/plugins/tiddlywiki/translators/templates/Search.multids\",\"language/Search.multids\",\"text/plain\",\n\t\t\t\"--render\",\"$:/plugins/tiddlywiki/translators/templates/SideBar.multids\",\"language/SideBar.multids\",\"text/plain\",\n\t\t\t\"--render\",\"$:/plugins/tiddlywiki/translators/templates/SiteSubtitle.tid\",\"language/SiteSubtitle.tid\",\"text/plain\",\n\t\t\t\"--render\",\"$:/plugins/tiddlywiki/translators/templates/SiteTitle.tid\",\"language/SiteTitle.tid\",\"text/plain\",\n\t\t\t\"--render\",\"$:/plugins/tiddlywiki/translators/templates/ThemeTweaks.multids\",\"language/ThemeTweaks.multids\",\"text/plain\",\n\t\t\t\"--render\",\"$:/plugins/tiddlywiki/translators/templates/TiddlerInfo.multids\",\"language/TiddlerInfo.multids\",\"text/plain\",\n\t\t\t\"--render\",\"[prefix[$:/language/Docs/Types/]]\",\"[removeprefix[$:/language/Docs/Types/]search-replace:g:regexp[/|\\\\\\\\],[_]addprefix[language/Types/]addsuffix[.tid]]\",\"text/plain\",\"$:/plugins/tiddlywiki/translators/templates/type-tid\",\n\t\t\t\"--render\",\"[prefix[$:/language/Help/]]\",\"[removeprefix[$:/]addsuffix[.tid]]\",\"text/plain\",\"$:/plugins/tiddlywiki/translators/templates/help-tid\",\n\t\t\t\"--render\",\"[prefix[$:/language/Modals/]]\",\"[removeprefix[$:/]addsuffix[.tid]]\",\"text/plain\",\"$:/plugins/tiddlywiki/translators/templates/modal-tid\",\n\t\t\t\"--render\",\"[prefix[$:/language/Snippets/]]\",\"[removeprefix[$:/]addsuffix[.tid]]\",\"text/plain\",\"$:/plugins/tiddlywiki/translators/templates/snippet-tid\"]\n\t}\n}"
  },
  {
    "path": "editions/tw.org/tiddlers/$__DefaultTiddlers.tid",
    "content": "created: 20220318102404333\nmodified: 20220318102424312\ntitle: $:/DefaultTiddlers\ntype: text/vnd.tiddlywiki\n\nHelloThere"
  },
  {
    "path": "editions/tw.org/tiddlers/$__SiteSubtitle.tid",
    "content": "created: 20220318102354724\nmodified: 20220318102400979\ntitle: $:/SiteSubtitle\ntype: text/vnd.tiddlywiki\n\ncommunity matters for ~TiddlyWiki"
  },
  {
    "path": "editions/tw.org/tiddlers/$__SiteTitle.tid",
    "content": "created: 20220318102331011\nmodified: 20220318104654044\ntitle: $:/SiteTitle\ntype: text/vnd.tiddlywiki\n\n[[tiddlywiki.org|HelloThere]]"
  },
  {
    "path": "editions/tw.org/tiddlers/$__config_DefaultSidebarTab.tid",
    "content": "created: 20220721202136733\nmodified: 20220721202136733\ntitle: $:/config/DefaultSidebarTab\ntype: text/vnd.tiddlywiki\n\nTable of Contents"
  },
  {
    "path": "editions/tw.org/tiddlers/$__core_templates_static.content.tid",
    "content": "title: $:/core/templates/static.content\n\n\\define tv-wikilink-template() https://tiddlywiki.org/static/$uri_doubleencoded$.html\n\n<!-- For Google, and people without JavaScript-->\n\n<$reveal default=\"yes\" text=<<savingEmpty>> type=\"nomatch\">\n\nIt looks like this browser doesn't run JavaScript. You can use one of these static HTML versions to browse the same content:\n\n* https://tiddlywiki.org/static.html - browse individual tiddlers as separate pages\n* https://tiddlywiki.org/alltiddlers.html#HelloThere - single file containing all tiddlers\n\n---\n\n{{HelloThere}}\n\n</$reveal>\n"
  },
  {
    "path": "editions/tw.org/tiddlers/$__favicon.ico.png.meta",
    "content": "created: 20220318165448102\nmodified: 20220318165455332\ntitle: $:/favicon.ico\ntype: image/png"
  },
  {
    "path": "editions/tw.org/tiddlers/$__palette.tid",
    "content": "created: 20220318102711329\nmodified: 20220318103746799\ntitle: $:/palette\ntype: text/vnd.tiddlywiki\n\n$:/palettes/FlowingSun"
  },
  {
    "path": "editions/tw.org/tiddlers/$__palettes_BlueFlavour",
    "content": ": Background Tones\n\nbase03: #362b00\nbase02: #423607\n\n: Content Tones\n\nbase01: #756e58\nbase00: #837b65\nbase0: #969483\nbase1: #a1a193\n\n: Background Tones\n\nbase2: #d5e8ee\nbase3: #e3f6fd\n\n: Accent Colors\n\nyellow: #b58900\norange: #cb4b16\nred: #dc322f\nmagenta: #d33682\nviolet: #6c71c4\nblue: #268bd2\ncyan: #2aa198\ngreen: #859900\n\n: Additional Tones (RA)\n\nbase10: #bbc0c4\nviolet-muted: #7c81b0\nblue-muted: #4e7baa\n\nyellow-hot: #ffcc44\norange-hot: #eb6d20\nred-hot: #ff2222\nblue-hot: #2298ee\ngreen-hot: #98ee22\n\n: Palette\n\n: Do not use colour macro for background and foreground\nbackground: #e3f6fd\n    download-foreground: <<colour background>>\n    dragger-foreground: <<colour background>>\n    dropdown-background: <<colour background>>\n    modal-background: <<colour background>>\n    sidebar-foreground-shadow: <<colour background>>\n    tiddler-background: <<colour background>>\n    tiddler-border: <<colour background>>\n    tiddler-link-background: <<colour background>>\n    tab-background-selected: <<colour background>>\n        dropdown-tab-background-selected: <<colour tab-background-selected>>\nforeground: #837b65\n    dragger-background: <<colour foreground>>\n    tab-foreground: <<colour foreground>>\n        tab-foreground-selected: <<colour tab-foreground>>\n            sidebar-tab-foreground-selected: <<colour tab-foreground-selected>>\n        sidebar-tab-foreground: <<colour tab-foreground>>\n    sidebar-button-foreground: <<colour foreground>>\n    sidebar-controls-foreground: <<colour foreground>>\n    sidebar-foreground: <<colour foreground>>\n: base03\n: base02\n: base01\n    alert-muted-foreground: <<colour base01>>\n: base00\n    code-foreground: <<colour base00>>\n    message-foreground: <<colour base00>>\n    tag-foreground: <<colour base00>>\n: base0\n    sidebar-tiddler-link-foreground: <<colour base0>>\n: base1\n    muted-foreground: <<colour base1>>\n        blockquote-bar: <<colour muted-foreground>>\n        dropdown-border: <<colour muted-foreground>>\n        sidebar-muted-foreground: <<colour muted-foreground>>\n        tiddler-title-foreground: <<colour muted-foreground>>\n            site-title-foreground: <<colour tiddler-title-foreground>>\n: base2\n    modal-footer-background: <<colour base2>>\n    page-background: <<colour base2>>\n        modal-backdrop: <<colour page-background>>\n        notification-background: <<colour page-background>>\n        code-background: <<colour page-background>>\n            code-border: <<colour code-background>>\n        pre-background: <<colour page-background>>\n            pre-border: <<colour pre-background>>\n        sidebar-tab-background-selected: <<colour page-background>>\n    table-header-background: <<colour base2>>\n    tag-background: <<colour base2>>\n    tiddler-editor-background: <<colour base2>>\n    tiddler-info-background: <<colour base2>>\n    tiddler-info-tab-background: <<colour base2>>\n    tab-background: <<colour base2>>\n        dropdown-tab-background: <<colour tab-background>>\n: base3\n    alert-background: <<colour base3>>\n    message-background: <<colour base3>>\n: yellow\n: orange\n: red\n: magenta\n    alert-highlight: <<colour magenta>>\n: violet\n    external-link-foreground: <<colour violet>>\n: blue\n: cyan\n: green\n: base10\n    tiddler-controls-foreground: <<colour base10>>\n: violet-muted\n    external-link-foreground-visited: <<colour violet-muted>>\n: blue-muted\n    primary: <<colour blue-muted>>\n        download-background: <<colour primary>>\n        tiddler-link-foreground: <<colour primary>>\n\nalert-border: #b99e2f\ndirty-indicator: #ff0000\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nmessage-border: #cfd6e6\nmodal-border: #999999\nselect-tag-background:\nselect-tag-foreground:\nsidebar-controls-foreground-hover:\nsidebar-muted-foreground-hover:\nsidebar-tab-background: #c5d8de\nsidebar-tiddler-link-foreground-hover:\nstatic-alert-foreground: #aaaaaa\ntab-border: #cccccc\n    modal-footer-border: <<colour tab-border>>\n    modal-header-border: <<colour tab-border>>\n    notification-border: <<colour tab-border>>\n    sidebar-tab-border: <<colour tab-border>>\n    tab-border-selected: <<colour tab-border>>\n        sidebar-tab-border-selected: <<colour tab-border-selected>>\ntab-divider: #d8d8d8\n    sidebar-tab-divider: <<colour tab-divider>>\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-border: #dddddd\ntiddler-subtitle-foreground: #c0c0c0\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
  },
  {
    "path": "editions/tw.org/tiddlers/$__palettes_BlueFlavour.meta",
    "content": "color-scheme: light\ncreated: 20220318103222838\ndescription: Simple colours\nmodified: 20220318103723059\nname: Blue Flavour\ntags: $:/tags/Palette\ntitle: $:/palettes/BlueFlavour\ntype: application/x-tiddler-dictionary"
  },
  {
    "path": "editions/tw.org/tiddlers/$__palettes_FlowingSun",
    "content": ": Background Tones\n\nbase03: #36002b\nbase02: #420736\n\n: Content Tones\n\nbase01: #75586e\nbase00: #83657b\nbase0: #968394\nbase1: #a193a1\n\n: Background Tones\n\nbase2: #d5eee8\nbase3: #e3fdf6\n\n: Accent Colors\n\nyellow: #b58900\norange: #cb4b16\nred: #dc322f\nmagenta: #d33682\nviolet: #6c71c4\nblue: #268bd2\ncyan: #2aa198\ngreen: #859900\n\n: Additional Tones (RA)\n\nbase10: #bbc0c4\nviolet-muted: #7c81b0\nblue-muted: #4e7baa\n\nyellow-hot: #ffcc44\norange-hot: #eb6d20\nred-hot: #ff2222\nblue-hot: #2298ee\ngreen-hot: #98ee22\n\n: Palette\n\n: Do not use colour macro for background and foreground\nbackground: #e3fdf6\n    download-foreground: <<colour background>>\n    dragger-foreground: <<colour background>>\n    dropdown-background: <<colour background>>\n    modal-background: <<colour background>>\n    sidebar-foreground-shadow: <<colour background>>\n    tiddler-background: <<colour background>>\n    tiddler-border: <<colour background>>\n    tiddler-link-background: <<colour background>>\n    tab-background-selected: <<colour background>>\n        dropdown-tab-background-selected: <<colour tab-background-selected>>\nforeground: #83657b\n    dragger-background: <<colour foreground>>\n    tab-foreground: <<colour foreground>>\n        tab-foreground-selected: <<colour tab-foreground>>\n            sidebar-tab-foreground-selected: <<colour tab-foreground-selected>>\n        sidebar-tab-foreground: <<colour tab-foreground>>\n    sidebar-button-foreground: <<colour foreground>>\n    sidebar-controls-foreground: <<colour foreground>>\n    sidebar-foreground: <<colour foreground>>\n: base03\n: base02\n: base01\n    alert-muted-foreground: <<colour base01>>\n: base00\n    code-foreground: <<colour base00>>\n    message-foreground: <<colour base00>>\n    tag-foreground: <<colour base00>>\n: base0\n    sidebar-tiddler-link-foreground: <<colour base0>>\n: base1\n    muted-foreground: <<colour base1>>\n        blockquote-bar: <<colour muted-foreground>>\n        dropdown-border: <<colour muted-foreground>>\n        sidebar-muted-foreground: <<colour muted-foreground>>\n        tiddler-title-foreground: <<colour muted-foreground>>\n            site-title-foreground: <<colour tiddler-title-foreground>>\n: base2\n    modal-footer-background: <<colour base2>>\n    page-background: <<colour base2>>\n        modal-backdrop: <<colour page-background>>\n        notification-background: <<colour page-background>>\n        code-background: <<colour page-background>>\n            code-border: <<colour code-background>>\n        pre-background: <<colour page-background>>\n            pre-border: <<colour pre-background>>\n        sidebar-tab-background-selected: <<colour page-background>>\n    table-header-background: <<colour base2>>\n    tag-background: <<colour base2>>\n    tiddler-editor-background: <<colour base2>>\n    tiddler-info-background: <<colour base2>>\n    tiddler-info-tab-background: <<colour base2>>\n    tab-background: <<colour base2>>\n        dropdown-tab-background: <<colour tab-background>>\n: base3\n    alert-background: <<colour base3>>\n    message-background: <<colour base3>>\n: yellow\n: orange\n: red\n: magenta\n    alert-highlight: <<colour magenta>>\n: violet\n    external-link-foreground: <<colour violet>>\n: blue\n: cyan\n: green\n: base10\n    tiddler-controls-foreground: <<colour base10>>\n: violet-muted\n    external-link-foreground-visited: <<colour violet-muted>>\n: blue-muted\n    primary: <<colour blue-muted>>\n        download-background: <<colour primary>>\n        tiddler-link-foreground: <<colour primary>>\n\nalert-border: #b99e2f\ndirty-indicator: #ff0000\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nmessage-border: #cfd6e6\nmodal-border: #999999\nselect-tag-background:\nselect-tag-foreground:\nsidebar-controls-foreground-hover:\nsidebar-muted-foreground-hover:\nsidebar-tab-background: #c5ded8\nsidebar-tiddler-link-foreground-hover:\nstatic-alert-foreground: #aaaaaa\ntab-border: #cccccc\n    modal-footer-border: <<colour tab-border>>\n    modal-header-border: <<colour tab-border>>\n    notification-border: <<colour tab-border>>\n    sidebar-tab-border: <<colour tab-border>>\n    tab-border-selected: <<colour tab-border>>\n        sidebar-tab-border-selected: <<colour tab-border-selected>>\ntab-divider: #d8d8d8\n    sidebar-tab-divider: <<colour tab-divider>>\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-border: #dddddd\ntiddler-subtitle-foreground: #c0c0c0\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
  },
  {
    "path": "editions/tw.org/tiddlers/$__palettes_FlowingSun.meta",
    "content": "color-scheme: light\ncreated: 20220318102714713\ndescription: Easy colours\nmodified: 20220318103305299\nname: Flowing Sun\ntags: $:/tags/Palette\ntitle: $:/palettes/FlowingSun\ntype: application/x-tiddler-dictionary"
  },
  {
    "path": "editions/tw.org/tiddlers/$__themes_tiddlywiki_vanilla_metrics_bodyfontsize.tid",
    "content": "created: 20220318165540214\nmodified: 20220318165540353\ntitle: $:/themes/tiddlywiki/vanilla/metrics/bodyfontsize\ntype: text/vnd.tiddlywiki\n\n17px"
  },
  {
    "path": "editions/tw.org/tiddlers/$__themes_tiddlywiki_vanilla_metrics_bodylineheight.tid",
    "content": "created: 20220318165545749\nmodified: 20220318165545749\ntitle: $:/themes/tiddlywiki/vanilla/metrics/bodylineheight\ntype: text/vnd.tiddlywiki\n\n24px"
  },
  {
    "path": "editions/tw.org/tiddlers/$__themes_tiddlywiki_vanilla_metrics_sidebarwidth.tid",
    "content": "created: 20220318165613356\nmodified: 20220318165613356\ntitle: $:/themes/tiddlywiki/vanilla/metrics/sidebarwidth\ntype: text/vnd.tiddlywiki\n\n450px"
  },
  {
    "path": "editions/tw.org/tiddlers/$__themes_tiddlywiki_vanilla_options_sidebarlayout.tid",
    "content": "created: 20220318165602424\nmodified: 20220318165602424\ntitle: $:/themes/tiddlywiki/vanilla/options/sidebarlayout\ntype: text/vnd.tiddlywiki\n\nfluid-fixed"
  },
  {
    "path": "editions/tw.org/tiddlers/Code of Conduct.tid",
    "content": "created: 20220721200137586\nmodified: 20220819200137586\ntags: [[Table of Contents]]\ntitle: Code of Conduct\ntype: text/vnd.tiddlywiki\n\nThis community exists because TiddlyWiki is more useful when people share and work together.\n\nThis community is a beautiful but fragile thing: a collection of diverse people from all over the planet, united in their interest in the project, and their commitment to helping one another achieve and learn more.\n\nWe try to make the community as broad and welcoming as possible by remembering some basic principles of culture and behaviour.\n\nThese principles guide technical and non-technical decisions, and help contributors and leaders support our project and community.\n\n* We are optimistic and hopeful\n* We aim to foster a learning environment that is collaborative and safe for everyone\n* We recognise that the motivation for sharing and helping is usually for appreciation, and not financial gain, and so we take care to acknowledge and ''thank the people who enrich the community by sharing what they have created''\n* While we are united in our interest in TiddlyWiki, we differ in every other conceivable way. We choose to focus on what unites us, and ''avoid unnecessarily mixing contentious topics like religion and politics''\n* We treat each other with respect, and start with the assumption that ''others are acting in good faith''\n* We avoid discriminatory language\n* We try to use our strength as a community to help others\n* We avoid responding when angry or upset because we try to de-escalate conflict\n* We make sure we critique ideas, not people\n* When we disagree with others we do so graciously, and treat others with dignity and respoect\n* We do not tolerate intolerance towards others\n* We seek first to understand others, and then to be understood\n* We have fun\n\nOur discussions are in English. It is not the first language of many people in the community, nor do we all share the same cultural background and reference points. So we take care to use language that is clear and unambigous, and avoid cultural references or jokes that will not be widely understood.\n\nIt is not acceptable to make jokes or other comments that discriminate by race, gender, sexuality, or other protected characteristic.\n\nAs an inclusive community, we are committed to making sure that TiddlyWiki is an accessible tool that understands the needs of people with disabilities."
  },
  {
    "path": "editions/tw.org/tiddlers/Fundraising.tid",
    "content": "created: 20220321095159765\nmodified: 20220419101712640\ntags: [[Table of Contents]]\ntitle: Fundraising\ntype: text/vnd.tiddlywiki\n\n!! Introduction\n\nTiddlyWiki's nature allows us to operate https://tiddlywiki.com/ without any running costs. (See [[Infrastructure]] for details of how we currently use the free ~GitHub's Pages service for the majority of our hosting requirements).\n\n!! Community Infrastructure\n\nWe do need a small amount of money on an ongoing basis to pay the costs of running our own discussion forum at https://talk.tiddlywiki.org/. We are also interested in exploring ways to help fund contributors who face financial barriers to giving time to the project.\n\nWe use Open Collective to allow you to contribute towards these costs. You can contribute a one-off donation, or make an ongoing monthly commitment. Find out more:\n\nhttps://opencollective.com/tiddlywiki\n\n!! Community Projects\n\nWe also use Open Collective to raise funds to support the development of major new features, plugins or community infrastructure. These projects generally involve a small team of individuals getting together and making a proposal to the rest of the community.\n\nFor example, the [[File Upload Plugin Project|https://opencollective.com/tiddlywiki/projects/tiddlywiki-file-upload]] aims to radically simplify working with attached images.\n"
  },
  {
    "path": "editions/tw.org/tiddlers/HelloThere.tid",
    "content": "created: 20220318104000046\nmodified: 20220419081406359\ntags: [[Table of Contents]]\ntitle: HelloThere\ntype: text/vnd.tiddlywiki\n\nThis is the official hub for the TiddlyWiki community.\n\nOther official TiddlyWiki sites include:\n\n* [[tiddlywiki.com|https://tiddlywiki.com]] – user documentation\n* [[talk.tiddlywiki.org|https://talk.tiddlywiki.org]] – user discussion forum\n* [[links.tiddlywiki.org|https://links.tiddlywiki.org]] – collection of links collaboratively curated by the community\n* [[tiddlywiki.com/dev|https://tiddlywiki.com/dev]] – internal ~JavaScript documentation\n\n"
  },
  {
    "path": "editions/tw.org/tiddlers/Table of Contents.tid",
    "content": "created: 20211230214957666\nlist: HelloThere About Fundraising Principles Values [[Code of Conduct]]\nmodified: 20220419081524317\ntags: $:/tags/SideBar\ntitle: Table of Contents\ntype: text/vnd.tiddlywiki\n\n<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'Table of Contents'>>\n\n</div>\n"
  },
  {
    "path": "editions/tw.org/tiddlers/TiddlyWiki.tid",
    "content": "created: 20220318170042624\nmodified: 20220318170209825\ntitle: TiddlyWiki\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki is a rich, interactive tool for manipulating complex data with structure that doesn't easily fit into conventional tools like spreadsheets or wordprocessors.\n\nSee [[tiddlywiki.com|https://tiddlywiki.com]] for more details."
  },
  {
    "path": "editions/tw.org/tiddlers/_tw_shared/tiddlywiki.files",
    "content": "{\n\t\"directories\": [\n\t\t\"../../../tw5.com/tiddlers/_tw_shared\"\n\t]\n}"
  },
  {
    "path": "editions/tw.org/tiddlywiki.info",
    "content": "{\n\t\"description\": \"Content for https://tiddlywiki.org\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/internals\",\n\t\t\"tiddlywiki/menubar\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\"\n\t],\n\t\"languages\": [\n\t],\n\t\"build\": {\n\t\t\"index\": [\n\t\t\t\"--savetiddlers\",\"[tag[external-image]]\",\"images\",\n\t\t\t\"--setfield\",\"[tag[external-image]]\",\"_canonical_uri\",\"$:/core/templates/canonical-uri-external-image\",\"text/plain\",\n\t\t\t\"--setfield\",\"[tag[external-image]]\",\"text\",\"\",\"text/plain\",\n\t\t\t\"--render\",\"$:/core/save/all\",\"index.html\",\"text/plain\"],\n\t\t\"readmes\": [\n\t\t\t\"--render\",\"[[Code of Conduct]]\",\"code-of-conduct.md\",\"text/html\"],\n\t\t\"favicon\": [\n\t\t\t\"--savetiddler\",\"$:/favicon.ico\",\"favicon.ico\"],\n\t\t\"static\": [\n\t\t\t\"--render\",\"$:/core/templates/static.template.html\",\"static.html\",\"text/plain\",\n\t\t\t\"--render\",\"$:/core/templates/alltiddlers.template.html\",\"alltiddlers.html\",\"text/plain\",\n\t\t\t\"--render\",\"[!is[system]]\",\"[encodeuricomponent[]addprefix[static/]addsuffix[.html]]\",\"text/plain\",\"$:/core/templates/static.tiddler.html\",\n\t\t\t\"--render\",\"$:/core/templates/static.template.css\",\"static/static.css\",\"text/plain\"]\n\t},\n\t\"config\": {\n\t\t\"retain-original-tiddler-path\": true\n\t}\n}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/Concatenating a text reference to create a URL.tid",
    "content": "created: 20251021142729667\nmodified: 20251021142729667\ntags: \ntitle: Concatenating a text reference to create a URL\ntype: text/vnd.tiddlywiki\n\n!! Concatenating variables and a text reference to create a URL\n\n<$macrocall $name=wikitext-example src=\"\"\"<$let hash={{{ [<currentTiddler>encodeuricomponent[]] }}}>\n<a href=`${ [{!!base-url}] }$#$(hash)$`>this tiddler on tiddlywiki.com</a>\n</$let>\"\"\"/>\n\nSee: [[Substituted Attribute Values]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/Concatenating variables to create a URL.tid",
    "content": "created: 20251021142733998\nmodified: 20251021142733998\ntags: \ntitle: Concatenating variables to create a URL\ntype: text/vnd.tiddlywiki\n\n!! Concatenating strings and variables to create a URL\n\n<$macrocall $name=wikitext-example src=\"\"\"<$let hash={{{ [<currentTiddler>encodeuricomponent[]] }}}>\n<a href=`http://tiddlywiki.com/#$(hash)$`>this tiddler on tiddlywiki.com</a>\n</$let>\"\"\"/>\n\nSee: [[Substituted Attribute Values]]"
  },
  {
    "path": "editions/tw5.com/tiddlers/Core CSS Variables.tid",
    "content": "created: 20251108075028089\nmodified: 20260130070027124\ntags: Reference\ntitle: Core CSS Variables\ntype: text/vnd.tiddlywiki\n\n<<.from-version 5.4.0>> Tiddlywiki CSS variable definitions starts with `--tp-*` and `--tpc-*`. They are mainly used to [[Write stylesheets in vanilla CSS|Writing stylesheets in vanilla CSS]]. These prefixes ''are reserved'' for Tiddlywiki, so it should not be used for user defined CSS variables. It is also not recommended to override these core CSS variables.\n\nCore CSS variables are defined in [[$:/core/stylesheets/custom-properties]].\n\n<<list-links \"[tag[Core CSS Variables]]\" class:\"multi-columns\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/Core Classes.tid",
    "content": "created: 20240421142359127\nmodified: 20240422090116239\ntags: Reference\ntitle: Core Classes\n\n~TiddlyWiki class definitions are ''prefixed'' with `tc-` and are mainly used in the \"vanilla base\" theme. The ''tc-'' prefix ''is reserved'' for ~TiddlyWiki, so it should not be used for user defined classes.\n\nUsers, especially plugin developers, should use their own prefixes eg: mytc- or something similar. \n\nThe following info can also be found in the $:/ControlPanel ''-> Advanced -> Stylesheets'' tab\n\nAll stylesheets used in this wiki are: <small>(shadow tiddlers are bold)</small>\n\n<<list-links filter:\"[all[shadows+tiddlers]tag[$:/tags/Stylesheet]]\">>\n\nAlso see: [[Utility Classes]]"
  },
  {
    "path": "editions/tw5.com/tiddlers/Core Functions.tid",
    "content": "created: 20240421144224104\nmodified: 20240422090925417\ntags: Reference\ntitle: Core Functions\n\n<!-- TODO Placeholder - Can be improved once the new \"dumpvariables\" macro is finished -->\n\nAlso see: [[Functions]]"
  },
  {
    "path": "editions/tw5.com/tiddlers/Core Messages.tid",
    "content": "created: 20240421144407522\nmodified: 20240422091247905\ntags: Reference\ntitle: Core Messages\n\n{{||Messages}}\n\nThe following widget messages are implemented by the core:\n\n<<list-links filter:\"[tag[Messages]]\" class:\"multi-columns\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/Core Procedures.tid",
    "content": "created: 20240422090331513\nmodified: 20240422090918289\ntags: Reference\ntitle: Core Procedures\n\n<!-- TODO Placeholder - Can be improved once the new \"dumpvariables\" macro is finished -->\n\nAlso see: [[Procedures]]"
  },
  {
    "path": "editions/tw5.com/tiddlers/Core Widgets.tid",
    "content": "created: 20240422083130158\nmodified: 20240422083155753\ntags: Reference\ntitle: Core Widgets\n\n{{Widgets}}\n\nThe following classes of widget are built into the core:\n\n<<list-links \"[tag[Widgets]]\" class:\"multi-columns\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/Deprecated Core Classes.tid",
    "content": "created: 20251015120940754\nmodified: 20251101092833913\ntags: $:/deprecated [[Core Classes]]\ntitle: Deprecated Core Classes\ntype: text/vnd.tiddlywiki\n\n<<.warning \"It is not recommended to use these classes for styling. Though tiddlywiki might still support them, they may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using them, and update existing code if possible. Be aware that this feature may cease to work at any time.\">>\n\nThese [[Core Classes]] are considered deprecated. It is not recommend to use them for styling.\n\n* `tc-tagged-*` <<.deprecated-since 5.1.16>> Use [[Custom styles by data-tags]] instead.\n* `tc-reveal` <<.deprecated-since 5.3.8>> for styling purposes as it is subject to change.\n* `tc-language-(language code)` <<.deprecated-since 5.3.8>> Please use [[:lang()|https://developer.mozilla.org/en-US/docs/Web/CSS/:lang]] instead."
  },
  {
    "path": "editions/tw5.com/tiddlers/Deprecated core macros.tid",
    "content": "created: 20251101085817414\nmodified: 20251101091035398\ntags: [[Core Macros]] Macros $:/deprecated\ntitle: Deprecated core macros\ntype: text/vnd.tiddlywiki\n\n<<.warning \"It is discouraged to use the following macros. Though tiddlywiki might still support them, they may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible. Be aware that these macros may cease to work at any time. \">>\n\nMost deprecated macros are defined in [[$:/core/macros/deprecated]]. It is discouraged to use them.\n\n! Stylesheet Macros\n\n<<.deprecated-since 5.4.0>> The following core [[macros|Macros]] used to made it easy to specify alternative browser-specific properties when constructing a [[stylesheet|Cascading Style Sheets]] tiddler. They are deprecated after 2017 baseline is supported in v5.4.0:\n\n; `<<box-shadow shadow>>`\n: for the `x-box-shadow` properties\n\n; `<<filter filter>>`\n: for the `x-filter` properties\n\n; `<<transition transition>>`\n: for the `x-transition` properties\n\n; `<<transform-origin origin>>`\n: for the `x-transition-origin` properties\n\n; `<<background-linear-gradient gradient>>`\n: for the `x-linear-gradient` values of the `background-image` property\n\n; `<<column-count columns>>`\n: for the `x-column-count` property"
  },
  {
    "path": "editions/tw5.com/tiddlers/HTML Tags.tid",
    "content": "created: 20250211092107689\nmodified: 20250211092307574\ntags: Definitions\ntitle: HTML Tags\ntype: text/vnd.tiddlywiki\n\n<<<\nIn HTML, a tag is used for creating an element.\n\nThe name of an HTML element is the name that appears at the beginning of the element's start tag and at the end of the element's end tag (if the element has an end tag). For example, the p in the `<p>` start tag and `</p>` end tag is the name of the HTML paragraph element. Note that an element name in an end tag is preceded by a slash character: `</p>`, and that for void elements, the end tag is neither required nor allowed.\n<<< https://developer.mozilla.org/en-US/docs/Glossary/Tag"
  },
  {
    "path": "editions/tw5.com/tiddlers/Hidden Setting_ Import Content Types for Editor.tid",
    "content": "created: 20210519155910219\nmodified: 20210519160221219\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: Import Content Types for Editor\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.2.0\">>\n\n$:/config/Editor/ImportContentTypesFilter\n\nThis filter determines which `contentTypes` can be imported by dragging and dropping into the editor. It used by a DropzoneWidget wrapped around the editor, for the `contentTypesFilter` attribute."
  },
  {
    "path": "editions/tw5.com/tiddlers/Operators without parameters.tid",
    "content": "created: 20240708171243370\nmodified: 20240708201827711\ntags: \ntitle: Operators without parameters\n\nMany [[Filter Operators]] have no [[parameter|Filter Parameter]] available. Still, each operator must be followed by a bracketed parameter expression — even if it is empty — as with the <<.olink backlinks>> operator below:\n\n`[<currentTiddler>backlinks[]]`\n\n(Even though an expression such as `[<currentTiddler>backlinks]` may at first <<.em seem>> well-formed — insofar as closing brackets seem to pair properly with opening brackets — each operator needs its own parameter brackets, even if empty. See [[Filter Syntax]].)\n\nThe following [[Filter Operators]] accept no parameters:\n\n<div>\n\n<<list-links filter:\"[op-parameter[none]] [tag[Filter Operators]!has[op-parameter]] -[search:op-purpose[same]]\" class:\"multi-columns\">>\n\n</div>"
  },
  {
    "path": "editions/tw5.com/tiddlers/Selection Constructors Conditional.tid",
    "content": "created: 20240708174435694\nmodified: 20240708175546166\ntitle: Selection Constructors: Conditional\n\nMost [[filter Operators|filter Operator]] are either ''selection modifiers'' or [[Selection Constructors]].\n\nWithin the exceptional category <<tag>> are a tiny minority that //usually// act as ''selection modifiers'', but which can construct a fresh selection under special conditions — namely, whenever their [[parameter|Filter Parameter]] is specified with a selection constructor.\n\n<<list-links \"[tag<currentTiddler>]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/String Operators.tid",
    "content": "created: 20230803054456864\nmodified: 20230803054957952\ntags: Filters [[Filter Operators]]\ntitle: String Operators\n\nString operators are [[filter operators|Filter Operators]] that interact with strings.\n\n<<list-links \"[tag[String Operators]]\" class:\"multi-columns\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/Tag Operators.tid",
    "content": "created: 20230803055001751\nmodified: 20230803055210839\ntags: Filters [[Filter Operators]]\ntitle: Tag Operators\n\nTag operators are [[filter operators|Filter Operators]] that interact with strings.\n\n<<list-links \"[tag[Tag Operators]]\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/Tags.tid",
    "content": "created: 20250211093401937\nmodified: 20250211093527189\ntags: Concepts\ntitle: Tags\n\nTags are used to  organise tiddlers into categories.\n\nFor more details see: [[Tagging]]"
  },
  {
    "path": "editions/tw5.com/tiddlers/TestCases_WikifyWidget_RenderHTML.tid",
    "content": "created: 20241201235747500\ndescription: Exporting rendered html\ntags: $:/tags/wiki-test-spec\ntitle: TestCases/WikifyWidget/RenderHTML\ntype: text/vnd.tiddlywiki-multiple\n\ntitle: Narrative\n\nYou can use <<.wid wikify>> to copy your wikitext as a formated HTML.\n+\ntitle: Output\n\n<$wikify name=\"code\" text={{code}} output=\"html\">\n\n<$codeblock code=<<code>> />\n\n<$macrocall $name=\"copy-to-clipboard\" src=<<code>>/>\n\n</$wikify>\n+\ntitle: code\ntext: \n\n!! A nice list\n\n* Item 1\n* Item 2\n* Item 3"
  },
  {
    "path": "editions/tw5.com/tiddlers/TestCases_WikifyWidget_RenderSVGURI.tid",
    "content": "created: 20241206225533517\ndescription: Rendering parameterised SVG for use in stylesheets\ntags: $:/tags/wiki-test-spec\ntitle: TestCases/WikifyWidget/RenderSVGURI\ntype: text/vnd.tiddlywiki-multiple\n\ntitle: Narrative\n\nThe core svg icons use a parameter widget, making their use in stylesheets impossible without wikify.\n+\ntitle: Output\n\n* https://tiddlywiki.com/\n* [[TW5|http://tiddlywiki.com/]]\n* [[Mail me|mailto:me@where.net]]\n* [[Open file|file:///c:/users/me/index.html]]\n\n<style>{{Stylesheet}}</style>\n+\ntitle: Stylesheet\n\n\\rules except dash\n\\procedure link-icon(protocol,img)\n<$tiddler tiddler=<<img>> >\n  <$wikify name=\"svg\" text={{!!text}} mode=\"inline\" output=\"html\">\n    <$text text=`\n      [href*=\"$(protocol)$\"]{\n        --mask:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\">$(svg)$</svg>');\n      }\n    `/>\n  </$wikify>\n</$tiddler>\n\\end\n\n.tc-tiddlylink-external:after{\n  width:.7rem;\n  aspect-ratio:1;\n  background:currentColor;\n  display: inline-block;\n  mask: center / contain no-repeat var(--mask);\n  margin-inline:.5ch;\n  content:\"\";\n}\n\n<<link-icon \"http:\" \"$:/core/images/open-window\">>\n<<link-icon \"https:\" \"$:/core/images/locked-padlock\">>\n<<link-icon \"mailto:\" \"$:/core/images/mail\">>\n<<link-icon \"file:\" \"$:/core/images/file\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/TestCases_WikifyWidget_WidgetValue_Fail.tid",
    "content": "created: 20241202000005087\ndescription: Using a widget as a value\ntags: $:/tags/wiki-test-spec-failing\ntitle: TestCases/WikifyWidget/WidgetValue/Fail\ntype: text/vnd.tiddlywiki-multiple\n\ntitle: Narrative\n\nIf you try to directly use a widget as a value, you will instead get the raw wikitext of the widget and not the rendered value.\n+\ntitle: Output\n\n<span style.color={{widget}} style.background={{target}}>\n    {{widget}} text on {{target}} is a good contrast\n</span>\n+\ntitle: widget\ntext: <$transclude $variable=\"contrastcolour\" target={{target}} fallbackTarget=<<fallbackTarget>> colourA={{colourA}} colourB={{colourB}} />\n+\ntitle: target\ntext: purple\n+\ntitle: colourA\ntext: white\n+\ntitle: colourB\ntext: black\n+\ntitle: ExpectedResult\n\n<p><span style=\"color:white<$transclude $variable=\"contrastcolour\" target={{target}} fallbackTarget=<<fallbackTarget>> colourA={{colourA}} colourB={{colourB}} />;background:purple;\">\n    white text on purple is a good contrast\n</span></p>"
  },
  {
    "path": "editions/tw5.com/tiddlers/TestCases_WikifyWidget_WidgetValue_Success.tid",
    "content": "created: 20241202003148804\ndescription: Using a widget as a value\ntags: $:/tags/wiki-test-spec\ntitle: TestCases/WikifyWidget/WidgetValue/Success\ntype: text/vnd.tiddlywiki-multiple\n\ntitle: Narrative\n\nIf you use <<.wid wikify>>, you can get the rendered output and use it as a value.\n+\ntitle: Output\n\n<$wikify name=\"wikified-color\" text={{widget}} >\n    <span style.color=<<wikified-color>> style.background={{target}}>\n        {{widget}} text on {{target}} is a good contrast\n    </span>\n</$wikify>\n+\ntitle: widget\n\n<$transclude $variable=\"contrastcolour\" \n    target={{target}}\n    fallbackTarget=<<fallbackTarget>>\n    colourA={{colourA}}\n    colourB={{colourB}}\n/>\n+\ntitle: target\ntext: purple\n+\ntitle: colourA\ntext: white\n+\ntitle: colourB\ntext: black\n+\ntitle: ExpectedResult\n\n<p>\n    <span style=\"color:white;background:purple;\">\n        white text on purple is a good contrast\n    </span>\n</p>"
  },
  {
    "path": "editions/tw5.com/tiddlers/TestCases_WikifyWidget_WordCount_Fail.tid",
    "content": "created: 20241201235746062\ndescription: Accurate word count\ntags: $:/tags/wiki-test-spec-failing\ntitle: TestCases/WikifyWidget/WordCount/Fail\ntype: text/vnd.tiddlywiki-multiple\n\ntitle: Narrative\n\nIf a tiddler transclude some content, or use widgets to generate content, filters that try to calculate the word count won’t be accurate: they will instead count the raw text words.\n+\ntitle: Output\n\nWord count = <$count filter=\"[{lorem}split[ ]!is[blank]]\"/>\n+\ntitle: lorem\ntext: <$list filter=\"[range[1],[3]]\"><$text text=\" word \"/></$list>\n+\ntitle: ExpectedResult\ntext: <p>Word count = 3</p>"
  },
  {
    "path": "editions/tw5.com/tiddlers/TestCases_WikifyWidget_WordCount_Success.tid",
    "content": "created: 20241202011409888\ndescription: Accurate word count\ntags: $:/tags/wiki-test-spec\ntitle: TestCases/WikifyWidget/WordCount/Success\ntype: text/vnd.tiddlywiki-multiple\n\ntitle: Narrative\n\nIf you use wikify, you can calculate an accurate word count.\n+\ntitle: Output\n\n<$wikify name=\"lorem\" text={{lorem}} output=\"text\">Word count = <$count filter=\"[<lorem>split[ ]!is[blank]]\"/></$wikify>\n+\ntitle: lorem\ntext: <$list filter=\"[range[1],[3]]\"><$text text=\" word \"/></$list>\n+\ntitle: ExpectedResult\ntext: <p>Word count = 3</p>"
  },
  {
    "path": "editions/tw5.com/tiddlers/TiddlyWiki Docs PR Maker.tid",
    "content": "created: 20240313100515958\nmodified: 20251023154747366\ntags: Editions\ntitle: TiddlyWiki Docs PR Maker\n\n''~TiddlyWiki Docs PR Maker'' is a special edition of tiddlywiki.com designed to help you contribute to and improve the documentation.\nhttps://edit.tiddlywiki.com\n\nAll changes made to the documentation can be very easily submitted to GitHub -- the pull request will be automatically made, hence the \"PR Maker\" name of the edition.\n\nYou will need to create a free ~GitHub account and sign the [[Contributor License Agreement]] before using the Docs PR Maker. You can find more details about contributing to the documentation [[here|Improving TiddlyWiki Documentation]].\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/Title.tid",
    "content": "created: 20250211094052630\nmodified: 20250211094419548\ntags: Concepts\ntitle: Title\n\nThe minimum requirement for a valid tiddler is a ''unique'' title. \n\nLearn more at: [[Tiddlers]]"
  },
  {
    "path": "editions/tw5.com/tiddlers/Welcome.tid",
    "content": "list: HelloThere [[Quick Start]] [[Find Out More]] [[TiddlyWiki on the Web]] [[Testimonials and Reviews]] GettingStarted Community\ntags: TableOfContents\ntitle: Welcome\ntype: text/vnd.tiddlywiki\n\n<$transclude $tiddler=\"HelloThere\"/>\n\n''For more information, please select a topic:''\n<div class=\"tc-table-of-contents\"><<toc-selective-expandable \"Welcome\">></div>"
  },
  {
    "path": "editions/tw5.com/tiddlers/Writing stylesheets in vanilla CSS.tid",
    "content": "created: 20251108075645447\nmodified: 20260201043953311\ntitle: Writing stylesheets in vanilla CSS\ntype: text/vnd.tiddlywiki\n\n<<.from-version 5.4.0>> Before v5.4.0, theme developers have to mix wikitext syntax with CSS syntax when writing stylesheets to intergrate Tiddlywiki color palettes and theme settings. With the introduction of [[Core CSS Variables]] in v5.4.0, theme developers can intergrate most Tiddlywiki palettes with vanilla CSS.\n\n! Getting Tiddlywiki palette colors\nTiddlywiki's custom properties for colors are prefixed `--tpc-`. Before v5.4.0, theme developers have to use the following wikitext to get a color value of a palette:\n\n```\n.tag {\n\tbackground: <<colour tag-background>>;\n}\n```\n\nSince v5.4.0, theme developers can use the following CSS to get the palette color:\n\n```css\n.tag {\n\tbackground: var(--tp-color-tag-background);\n}\n```\n\n! Getting and processing Tiddlywiki CSS settings\nSee [[Core CSS Variables]] for the available CSS variables. Before v5.4.0, theme developers have to use macros with filters to get and process theme settings:\n\n```\n.tc-sidebar-header {\n\tpadding: 14px;\n\tmin-height: 32px;\n\tmargin-top: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\ttransition:  min-height {{$:/config/AnimationDuration}}ms ease-in-out, padding-top {{$:/config/AnimationDuration}}ms ease-in-out, padding-bottom {{$:/config/AnimationDuration}}ms ease-in-out;\n}\n```\n\nSince v5.4.0, the theme settings are also available as the CSS variables, so theme developers can use the following code:\n\n```css\n.tc-sidebar-header {\n\tpadding: 14px;\n\tmin-height: 32px;\n\tmargin-top: var(--tp-story-top);\n\ttransition: min-height var(--tp-animation-duration) ease-in-out, padding-top var(--tp-animation-duration) ease-in-out, padding-bottom var(--tp-animation-duration) ease-in-out;\n}\n```\n\n! Limits\nCSS variables can only be used in rules, while wikitext can be used everywhere. See this example:\n\nOld way of using wikitext in media query definitions:\n\n```\n\\define sidebarbreakpoint()\n<$text text={{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}/>\n\\end\n\n@media (min-width: <<sidebarbreakpoint>>) {\n\t/* CSS rules */\n}\n```\n\nWhile using CSS variables in media quert definitions doesn't work at all:\n\n```css\n@media (min-width: var(--tp-sidebar-breakpoint)) {\n\t/* Doesn't work */\n}\n```"
  },
  {
    "path": "editions/tw5.com/tiddlers/_TiddlyStudy_ by Kebi.tid",
    "content": "created: 20210101162308245\nmodified: 20230110220417543\ntags: [[Community Editions]]\ntitle: \"TiddlyStudy\" by Kebi\ntype: text/vnd.tiddlywiki\nurl: https://postkevone.github.io/tiddlystudy/\n\nA adaptation of TiddlyWiki perfect for using as a Notebook sysetem.\n\n{{!!url}}\n\n<<<\nTiddly Research is a free and local note-taking environment based on TiddlyWiki\n\nCore Features:\n\n* Bidirectional note linking on multiple levels\n* Tags\n* Linked references\n* Unlinked references\n* Transclusions\n* Bullet point based hierarchical note taking structure\n* Integration with the spaced repetition flashcards tool Anki\n* TODOs\n* and more\n<<<"
  },
  {
    "path": "editions/tw5.com/tiddlers/_tw_shared/Motovun Jack.svg.meta",
    "content": "title: Motovun Jack.svg\ntype: image/svg+xml\ntags: picture TiddlyWikiSitesMenu\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/_tw_shared/doc-utilities/doc-macros.tid",
    "content": "code-body: yes\ncreated: 20150117152607000\nmodified: 20240317091700545\ntags: $:/tags/Macro\ntitle: $:/editions/tw5.com/doc-macros\ntype: text/vnd.tiddlywiki\n\n\\whitespace trim\n\n\\function .concat(1,2,3,4,5) [[$(1)$$(2)$$(3)$$(4)$$(5)$]substitute[]]\n\\function .word(_) [[\"]] [<_>] =[[\"]] +[join[]]\n\n\\procedure .def(_) <dfn class=\"doc-def\"><<_>></dfn>\n\\procedure .em(_) <em class=\"doc-em\"><<_>></em>\n\\procedure .strong(_) <strong class=\"doc-strong\"><<_>></strong>\n\\procedure .place(_) <code class=\"doc-place\"><<_>></code>\n\\procedure .preamble(_) <dl><dd class=\"doc-preamble\"><<_>></dd></dl>\n\n\\procedure .tid(_) <code class=\"doc-tiddler\"><<_>></code>\n\\procedure .tag(_) <code class=\"doc-tag\"><<_>></code>\n\\procedure .field(_) <code class=\"doc-field\"><<_>></code>\n\\procedure .value(_) <code class=\"doc-value\"><<_>></code>\n\\procedure .op(_) <code class=\"doc-operator\"><<_>></code>\n\\procedure .var(_) <code class=\"doc-var\"><<_>></code>\n\\procedure .wid(_) <code class=\"doc-widget\"><$macrocall $name=\".concat\" 1=\"$\" 2=<<_>>/></code>\n\\procedure .attr(_) <code class=\"doc-attr\"><<_>></code>\n\\procedure .param(_) <code class=\"doc-param\"><<_>></code>\n\n\\procedure .tiddler-fields(tiddler)\n<$tiddler tiddler=<<tiddler>>>\n\t<div class=\"doc-tiddler-fields\">\n\t\t<h2>\n\t\t<$link>\n\t\t\t<span class=\"tc-tiddler-title-icon\">{{||$:/core/ui/TiddlerIcon}}</span><$text text=<<currentTiddler>>/>\n\t\t</$link>\n\t\t</h2>\n\t\t<table class=\"tc-view-field-table\">\n\t\t\t<tbody>\n\t\t\t\t<$list filter=\"[all[current]fields[]sort[title]] -title -text\" template=\"$:/core/ui/TiddlerFieldTemplate\" variable=\"listItem\"/>\n\t\t\t</tbody>\n\t\t</table>\n\t\t<$codeblock code={{{ [<currentTiddler>get[text]] }}}/>\n\t</div>\n</$tiddler>\n\\end\n\n\\procedure .demo-tiddler(tidText)\n\t\\procedure create-tiddler-actions()\n\t\t<$action-setmultiplefields $tiddler=<<title>> $fields=\"[<jsonTiddler>jsonindexes[0]sort[]]\" $values=\"[<jsonTiddler>jsonindexes[0]sort[]] :map[<jsonTiddler>jsonget[0],<currentTiddler>]\"/>\n\t\\end create-tiddler-actions\n\t<$let\n\t\tjsonTiddler={{{ [<tidText>deserialize[application/x-tiddler]] }}}\n\t\ttitle={{{ [<jsonTiddler>jsonget[0],[title]] }}}\n\t>\n\t\t<div class=\"doc-tiddler-fields\">\n\t\t\t<h2>\n\t\t\t<$link to=<<title>>>\n\t\t\t\t<$text text=<<title>>/>\n\t\t\t</$link>\n\t\t\t</h2>\n\t\t\t<table class=\"tc-view-field-table\">\n\t\t\t\t<tbody>\n\t\t\t\t\t<$list filter=\"[<jsonTiddler>jsonindexes[0]sort[]] -title -text\" variable=\"listItem\">\n\t\t\t\t\t\t<tr class=\"tc-view-field\">\n\t\t\t\t\t\t\t<td class=\"tc-view-field-name\">\n\t\t\t\t\t\t\t\t<$text text=<<listItem>>/>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t<td class=\"tc-view-field-value\">\n\t\t\t\t\t\t\t\t<$text text={{{ [<jsonTiddler>jsonget[0],<listItem>] }}}/>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t</$list>\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t\t<$codeblock code={{{ [<jsonTiddler>jsonget[0],[text]] }}}/>\n\t\t\t<div>\n\t\t\t\t<%if [<title>has[title]] %>\n\t\t\t\t\tThe tiddler '<$link to=<<title>>><$text text=<<title>>/></$link>' already exists\n\t\t\t\t<%else%>\n\t\t\t\t\t<$button actions=<<create-tiddler-actions>> class=\"tc-btn-big-green\">\n\t\t\t\t\t\tCreate this tiddler\n\t\t\t\t\t</$button>\n\t\t\t\t<%endif%>\n\t\t\t</div>\n\t\t</div>\n\t</$let>\n\\end\n\n\\function .mtitle(_) [<_>] Macro +[join[ ]]\n\\function .otitle(_) [<_>] Operator +[join[ ]]\n\\function .vtitle(_) [<_>] Variable +[join[ ]]\n\n\\procedure .link(_,to) <$link to=<<to>> ><<_>></$link>\n\\procedure .clink(_,to) <span class=\"doc-clink\"><$link to=<<to>>><<_>></$link></span>\n\n\\procedure .dlink(_,to) <$link to=<<to>>><$macrocall $name=\".def\" _=<<_>>/></$link>\n\n\\procedure .dlink-ex(_,to) <a href=<<to>> class=\"tc-tiddlylink-external\" target=\"_blank\" rel=\"noopener noreferrer\"><$macrocall $name=\".def\" _=<<_>>/></a>\n\\procedure .flink(to) <$macrocall $name=\".link\" _=`<<.field {{$(to)$!!caption}}>>` to=<<to>>/>\n\n\\procedure .mlink(_) <$link to={{{ [.mtitle<_>] }}}><$macrocall $name=\".var\" _=<<_>>/> </$link>\n\\procedure .mlink2(_,to) <$link to=<<to>>><$macrocall $name=\".var\" _=<<_>>/> </$link>\n\n\\procedure .olink(_) <$link to={{{ [.otitle<_>] }}}><$macrocall $name=\".op\" _=<<_>>/> </$link>\n\\procedure .olink2(_,to) <$link to={{{ [.otitle<to>] }}}><$macrocall $name=\".op\" _=<<_>>/> </$link>\n\n\\procedure .vlink(_) <$link to={{{ [.vtitle<_>] }}}><$macrocall $name=\".var\" _=<<_>>/> </$link>\n\\procedure .vlink2(_,to) <$link to=<<to>>><$macrocall $name=\".var\" _=<<_>>/></$link>\n\n\\procedure .wlink(to) <$link to=<<to>> > <$macrocall $name=\".wid\" _={{{ [<to>get[caption]] }}}> </$link>\n\\procedure .wlink2(_,to) <$link to=<<to>> ><<_>></$link>\n\n\\procedure .key(_) <span class=\"doc-key\"><<_>></span>\n\\procedure .keys(_) <span class=\"doc-key\"><<_>></span>\n\n\\procedure .tab(_) <span class=\"doc-tab\"><$transclude $tiddler=<<_>> $field=caption ><<_>></$transclude></span>\n\\procedure .sidebar-tab(_) <$macrocall $name=\".tab\" _=`$:/core/ui/SideBar/$(_)$`/>\n\\procedure .more-tab(_) <$macrocall $name=\".tab\" _=`$:/core/ui/MoreSideBar/$(_)$`/>\n\\procedure .info-tab(_) <$macrocall $name=\".tab\" _=`$:/core/ui/TiddlerInfo/$(_)$`/>\n\\procedure .controlpanel-tab(_) <$macrocall $name=\".tab\" _=`$:/core/ui/ControlPanel/$(_)$`/>\n\\procedure .advancedsearch-tab(_) <$macrocall $name=\".tab\" _=`$:/core/ui/AdvancedSearch/$(_)$`/>\n\\procedure .toc-tab() <$macrocall $name=\".tab\" _=\"TableOfContents\"/>\n\\procedure .example-tab(_) <span class=\"doc-tab\"><<_>></span>\n\n\\procedure .doc-tabs()\n<$macrocall $name=\"tabs\"\n    tabsList=\"[tag<currentTiddler>description[tab]]\"\n    default={{{ [tag<currentTiddler>first[]] }}}\n    explicitState={{{ [<currentTiddler>addprefix[$:/state/tab/]] }}}\n    class={{{ [[doc-tabs]] [<currentTiddler>encodeuricomponent[]escapecss[]addprefix[doc-tabs-]] +[join[ ]] }}} />\n\\end\n\n\\procedure .doc-tab-link(text, target, tooltip:\"\", class:\"\")\n<!-- figure out where the addressed doc-tabs are -->\n<$tiddler tiddler={{{ [<currentTiddler>search:text[.doc-tabs]] :else[<currentTiddler>tags[]search:text[.doc-tabs]first[]] :else[<currentTiddler>] }}} >\n<$button class={{{ [[tc-btn-invisible tc-tiddlylink]] [<class>] +[join[ ]] }}}\n    set={{{ [<currentTiddler>addprefix[$:/state/tab/]] }}}\n    setTo=<<target>>\n    tooltip=<<tooltip>>>\n    <<text>>\n    <!-- if tiddler with tabs is open, scroll to tabs, otherwise open that tiddler (relevant from within tab subtiddlers) -->\n    <$list filter=\"[[$:/StoryList]contains<currentTiddler>]\" variable=\"ignore\" emptyMessage=\"<$action-navigate />\">\n        <$action-sendmessage $message=\"tm-scroll\" selector={{{ [<currentTiddler>encodeuricomponent[]addprefix[.doc-tabs-]] }}} />\n    </$list>\n    <$action-sendmessage $message=\"tm-scroll\" selector={{{ [<currentTiddler>encodeuricomponent[]escapecss[]addprefix[.doc-tabs-]] }}} />\n</$button>\n</$tiddler>\n\\end\n\n\\procedure .widget-attr-link(text, target)\n<$macrocall $name=\".doc-tab-link\" \n    text={{{ [[<code class=\"doc-attr\">]] [<text>] [[</code>]] +[join[]] }}}\n    class=\"doc-tab-link\"\n    target=<<target>>\n    tooltip={{{ [[Show more information about the ']] [<text>] [[' attribute]] +[join[]] }}} />\n\\end\n\n\\procedure .button(_) <span class=\"doc-button\"><$transclude $tiddler=`$:/core/ui/Buttons/$(_)$` $field=\"caption\" ><<_>></$transclude></span>\n\n\\procedure .icon(_) <span class=\"doc-icon\"><$transclude $tiddler=<<_>>/></span>\n\n\\procedure .infoBox(text:\"\", title, icon:\"$:/core/images/info-button\", class, iconSize:\"1.4rem\")\n\\function _f.tipClass() [[doc-icon-block]] [<class>!is[blank]then<class>] +[join[ ]]\n<div class=<<_f.tipClass>>>\n\t<%if [<title>!is[blank]] %><div>''<<title>>''</div><%endif%>\n\t<div class=\"doc-block-icon\"><$transclude $tiddler=<<icon>> size=<<iconSize>>/></div>\n\t<<text>>\n</div>\n\\end\n\n\\procedure .note(_:\"\", title:\"Note\", icon:\"$:/core/images/info-button\", class:\"doc-note\", iconSize:\"22pt\")\n<$macrocall $name=\".infoBox\" text=<<_>> title=<<title>> icon=<<icon>> class=<<class>> iconSize=<<iconSize>>/>\n\\end\n\n\\procedure .tip(_:\"\", title:\"Tip\" , icon:\"$:/core/images/tip\", class:\"doc-tip\", iconSize:\"22pt\")\n<$macrocall $name=\".infoBox\" text=<<_>> title=<<title>> icon=<<icon>> class=<<class>> iconSize=<<iconSize>>/>\n\\end\n\n\\procedure .warning(_:\"\", title:\"Warning\", icon:\"$:/core/images/warning\", class:\"doc-warning\", iconSize:\"22pt\")\n<$macrocall $name=\".infoBox\" text=<<_>> title=<<title>> icon=<<icon>> class=<<class>> iconSize=<<iconSize>>/>\n\\end\n\n\\procedure .state-prefix() $:/state/editions/tw5.com/\n\n\\procedure .lorem()\nLorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n\\end\n\n\\procedure .toc-lorem()\nThis is an example tiddler. See [[Table-of-Contents Macros (Examples)]].\n\n<<.lorem>>\n\\end\n\n\\procedure .example(n,eg,egvar)\n<$let eg={{{ [<egvar>!is[blank]getvariable[]] :else[<eg>] }}}>\n<div class=\"doc-example\">\n\t<$macrocall $name=\"copy-to-clipboard-above-right\" src=<<eg>>/>\n\t<$codeblock code=<<eg>>/>\n\t<$list filter=`[title<.state-prefix>addsuffix{!!title}addsuffix[/]addsuffix[$(n)$]]` variable=\".state\">\n\t\t<$reveal state=<<.state>> type=\"nomatch\" text=\"show\">\n\t\t\t<dl>\n\t\t\t\t<dd><$button set=<<.state>> setTo=\"show\">Try it</$button></dd>\n\t\t\t</dl>\n\t\t</$reveal>\n\t\t<$reveal state=<<.state>> type=\"match\" text=\"show\">\n\t\t\t<dl>\n\t\t\t\t<dd><$button set=<<.state>> setTo=\"\">Hide</$button></dd>\n\t\t\t</dl>\n\t\t\t<blockquote class=\"doc-example-result\">\n\t\t\t\t<$transclude $variable=\"eg\" $mode=\"block\"/>\n\t\t\t</blockquote>\n\t\t</$reveal>\n\t</$list>\n</div>\n</$let>\n\\end\n\n\\procedure .bad-example(eg)\n<table class=\"doc-bad-example\">\n\t<tbody>\n\t\t<tr class=\"evenRow\">\n\t\t\t<td>\n\t\t\t\t<span class=\"tc-small-gap-right\" style=\"font-size:1.5em;\">&#9888;</span>\n\t\t\t\tWarning:<br> Don't do it this way!\n\t\t\t</td>\n\t\t\t<td>\n\t\t\t\t<$transclude $variable=\"eg\" $mode=\"block\"/>\n\t\t\t</td>\n\t\t</tr>\n\t</tbody>\n</table>\n\\end\n\n\\procedure .link-badge(text,link,colour)\n<a href=<<link>> class=\"doc-link-badge\" style.background-color=<<colour>> target=\"_blank\" rel=\"noopener noreferrer\">\n\t<$text text=<<text>>/>\n</a>\n\\end\n\n<!-- TODO use $:/palette colour settings -->\n\\procedure .link-badge-added(link,colour:#ffe246)    <$macrocall $name=\".link-badge\" text=\"added\"    link=<<link>> colour=<<colour>>/>\n\\procedure .link-badge-extended(link,colour:#f9a344) <$macrocall $name=\".link-badge\" text=\"extended\" link=<<link>> colour=<<colour>>/>\n\\procedure .link-badge-fixed(link,colour:#ffa86d)    <$macrocall $name=\".link-badge\" text=\"fixed\"    link=<<link>> colour=<<colour>>/>\n\\procedure .link-badge-here(link,colour:#d88e63)     <$macrocall $name=\".link-badge\" text=\"here\"     link=<<link>> colour=<<colour>>/>\n\\procedure .link-badge-improved(link,colour:#7593c7) <$macrocall $name=\".link-badge\" text=\"improved\" link=<<link>> colour=<<colour>>/>\n\\procedure .link-badge-updated(link,colour:#91ba66)  <$macrocall $name=\".link-badge\" text=\"updated\"  link=<<link>> colour=<<colour>>/>\n\n\\procedure .banner-credits(credit,url)\n<img src=<<url>> width=\"140\" style=\"float:left;margin-right:0.5em;\"/>\n<<credit>>\n<div style=\"clear:both;\"/>\n\\end\n\n\\procedure .contributors(usernames)\n<ol class=\"doc-github-contributors\">\n\t<$list filter=\"[enlist<usernames>sort[]]\" variable=\"username\">\n\t\t<li>\n\t\t\t<a href={{{ [[https://github.com/]addsuffix<username>] }}} class=\"tc-tiddlylink-external\" target=\"_blank\" rel=\"noopener noreferrer\">\n\t\t\t\t<img src={{{ [[https://github.com/]addsuffix<username>addsuffix[.png?size=64]] }}} width=\"64\" height=\"64\"/>\n\t\t\t\t<span class=\"doc-github-contributor-username\">\n\t\t\t\t\t@<$text text=<<username>>/>\n\t\t\t\t</span>\n\t\t\t</a>\n\t\t</li>\n\t</$list>\n</ol>\n\\end\n\n\\procedure .copy-code-to-clipboard(text)\n<div>\n<$transclude $variable=\"copy-to-clipboard-above-right\" src=<<text>>/>\n<$codeblock code=<<text>>/>\n</div>\n\\end .copy-code-to-clipboard\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/_tw_shared/doc-utilities/doc-styles.tid",
    "content": "code-body: yes\ncreated: 20150117152612000\nmodified: 20240223123123497\ntags: $:/tags/Stylesheet\ntitle: $:/editions/tw5.com/doc-styles\ntype: text/vnd.tiddlywiki\n\n.doc-def {\n\tfont-style: normal;\n\tfont-weight: bold;\n}\n\n.doc-em {\n\tfont-style: italic;\n\tfont-variant: small-caps;\n\ttext-decoration: none;\n}\n\n.doc-strong {\n\tcolor: <<colour alert-highlight>>;\n\tfont-style: normal;\n\tfont-weight: bold;\n}\n\n.doc-foreign {\n\tfont-style: italic;\n}\n\n.doc-place {\n\tbackground-color: <<color background>>;\n\tborder: none;\n\tcolor: <<color very-muted-foreground>>;\n\tfont-style: normal;\n\tfont-weight: bold;\n\tpadding: 0;\n}\n\n.doc-button,\n.doc-tab,\n.doc-tag,\n.doc-tiddler,\n.doc-field,\n.doc-value,\n.doc-operator,\n.doc-var,\n.doc-widget,\n.doc-attr,\n.doc-param {\n\tbackground-color: <<color background>>;\n\tborder: none;\n\tcolor: <<color very-muted-foreground>>;\n\tfont-weight: bold;\n\tpadding: 0;\n}\n\na .doc-place,\na .doc-button,\na .doc-tab,\na .doc-tag,\na .doc-tiddler,\na .doc-field,\na .doc-value,\na .doc-operator,\na .doc-var,\na .doc-widget,\na .doc-attr {\n\tcolor: <<color tiddler-link-foreground>>;\n}\n\n.doc-button svg {\n\theight: 1em;\n}\n\ntd svg {\n\theight: 1em;\n}\n\n.doc-key {\n\tcolor: <<color very-muted-foreground>>;\n\tfont-weight: bold;\n}\n\n.doc-clink code {\n\tcolor: <<colour tiddler-link-foreground>>;\n}\n\n.doc-preamble {\n\tborder: 2px solid <<colour code-border>>;\n\tcolor: <<colour very-muted-foreground>>;\n\tmargin-left: 0;\n\tpadding: 0.5em 0.7em;\n}\n\n.doc-note dt {\n\tcolor: <<colour very-muted-foreground>>;\n}\n.doc-note dd {\n\tborder-left: 2px solid <<colour code-border>>;\n\tpadding-left: 0.6em;\n}\n\n.doc-example {\n\tmargin: 1em 0;\n\tpadding: 0.8em 0;\n}\n.doc-example:hover {\n\tbackground-color: <<colour code-background>>;\n}\n.doc-example ul {\n\tmargin-bottom: 0;\n\tpadding-bottom: 0;\n\tmargin-top: 0.2em;\n}\n\n.doc-example input[type=search] { \n\twidth: 95%;\n}\n.doc-example pre:first-child {\n\tmargin-top: 0;\n}\n.doc-example-result {\n\tborder-left: 5px solid <<colour blockquote-bar>>;\n\tborder-right: 5px solid <<colour blockquote-bar>>;\n\tmargin-left: 0;\n\tmargin-right: 0;\n\tpadding: 0 10px;\n}\n.doc-example-result ul {\n\tmargin-left: 0;\n\tpadding-left: 10px;\n}\n.doc-example-result ol {\n\tmargin-left: 0;\n\tpadding-left: 20px;\n}\n\n.doc-examples-hard-breaks .doc-example-result li {\n    white-space: pre-wrap;\n}\n\n.doc-bad-example code, .doc-bad-example pre, table.doc-bad-example {\n\tbackground-color:#ffff80;\n}\n\n.doc-table th, .doc-table tr {\n\tvertical-align: top;\n}\n.doc-table th a {\n\tfont-weight: bold;\n}\n\ntr.doc-table-subheading {\n\theight: 2em;\n\tvertical-align: middle;\n}\n\n.doc-table.before-tiddler-body {\n\tmargin-top: 2em;\n}\n\n.doc-icon svg {\n\twidth: 1em;\n\theight: 1em;\n    vertical-align: middle;\n}\n\n.doc-icon-block {\n\tborder-left: 4px solid <<colour blockquote-bar>>;\n\tmargin: 15px 0 15px 3em;\n\tpadding-left: 0.6em;\n\tposition: relative;\n}\n\n.doc-block-icon {\n\tposition: absolute;\n\tleft: -3em;\n\ttop: 0.2em;\n}\n\n.doc-icon-block.doc-note {\n\tborder-left: 4px solid <<colour blockquote-bar>>;\n\tbackground: <<colour blockquote-bar>>11;\n}\n\n.doc-icon-block.doc-tip {\n\tborder-left: 4px solid <<colour primary>>;\n\tbackground: <<colour primary>>11;\n}\n\n.doc-icon-block.doc-warning {\n\tborder-left: 4px solid <<colour alert-highlight>>;\n\tbackground: <<colour alert-highlight>>11;\n}\n\n.doc-block-icon .tc-image-tip {\n\tcolor: <<colour primary>>;\n}\n\n.doc-block-icon .tc-image-warning {\n\tcolor: <<colour alert-highlight>>;\n}\n\na.doc-from-version {\n    background-color: <<colour muted-foreground>>;\n    color: <$wikify name=\"background\" text=\"<<colour muted-foreground>>\" mode=\"inline\"><$transclude $variable=\"contrastcolour\" target=<<background>> colourA=\"#000000\" colourB=\"#ffffff\" /></$wikify>;\n    padding: 3px;\n    border-radius: 4px;\n    font-weight: bold;\n    font-size: 0.75em;\n}\n\na.doc-from-version.doc-from-version-new {\n    background-color: <<colour highlight-background>>;\n    color: <<colour highlight-foreground>>;\n}\n\na.doc-from-version svg {\n    vertical-align: sub;\n}\n\na.doc-deprecated-version.tc-tiddlylink {\n    display: inline-block;\n    border-radius: 1em;\n\tbackground: red;\n\tcolor: <<colour background>>;\n    padding: 0 0.4em;\n    font-size: 0.7em;\n    text-transform: uppercase;\n    font-weight: bold;\n    line-height: 1.5;\n    vertical-align: text-bottom;\n}\n\n.doc-deprecated-version svg,\n.doc-from-version svg {\n\twidth: 1em;\n\theight: 1em;\n    vertical-align: text-bottom;\n}\n\nhtml button.doc-link-badge, html a.doc-link-badge {\n    text-decoration: none;\n    background-color: #7eba4c;\n    color: <<colour foreground>>;\n    padding: 3px;\n    border-radius: 4px;\n    font-weight: bold;\n    font-size: 0.75em;\n}\n\nhtml button.doc-link-badge:hover, html a.doc-link-badge:hover {\n    text-decoration: underline;\n}\n\n.doc-github-link svg {\n\twidth: 1.2em;\n\theight: 1.2em;\n\tvertical-align: middle;\n}\n\n.doc-changenote-body {\n\tmargin-left: 2em;\n\tfont-style: italic;\n\tfont-size: 0.9em;\n}\n\n.doc-tiddler-fields {\n\tbackground-color: <<colour code-background>>;\n\tborder: 1px solid <<colour tiddler-border>>;\n\tborder-radius: 4px;\n    padding: 0 0.5em;\n}\n\n.doc-tiddler-fields h2 svg {\n\theight: 1em;\n}\n\n.doc-tiddler-fields table, \n.doc-tiddler-fields h2 {\n\tmargin: 0.5em 0;\n}\n\n.doc-tiddler-fields table {\n\tbackground-color: <<colour tiddler-background>>;\n}\n\n@media screen {\n\t.doc-tiddler-fields {\n\t\t<<box-shadow \"1px 1px 6px rgba(0, 0, 0, 0.6)\">>\n\t}\n}\n.doc-github-contributors {\n\tlist-style: none;\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tpadding: 0;\n}\nol.doc-github-contributors li {\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tflex-direction:column;\n\twidth:82px;\n\theight:82px;\n\tmargin:3px 3px 10px 3px;\n\ttext-decoration:none;\n}\n.doc-github-contributors a img { \n\tborder-radius: 50%; \n\tbackground:#eee;\n}\n.doc-github-contributor-username {\n\tdisplay:inline-block;\n\tfont-size:12px;\n\tfont-weight:500;\n\ttext-align:center;\n\twidth:75px;\n\twhite-space: nowrap;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n.doc-op-comparison {\n\ttable-layout: fixed;\n\twidth: 80%;\n}\n.doc-op-comparison th .doc-operator {\n\tbackground-color: unset;\n\tcolor: #666;\n}\n.doc-tabs.tc-tab-buttons button {\n\tfont-size: 1rem;\n\tpadding: 0.5em;\n}\n.doc-tabs button .doc-attr {\n\tbackground-color: unset;\n\tcolor: #666;\n}\n.doc-tab-link .doc-attr {\n\tcolor: unset;\n}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/_tw_shared/doc-utilities/version-macros.tid",
    "content": "code-body: yes\ncreated: 20161008085627406\nmodified: 20240229155633000\ntags: $:/tags/Macro\ntitle: $:/editions/tw5.com/version-macros\ntype: text/vnd.tiddlywiki\n\n\\whitespace trim\n\n\\function tf.from-version-reference() 5.3.0\n\n\\procedure .from-version-template(class, text)\n<$link to={{{ [<version>addprefix[Release ]] }}} class=<<class>> >\n\t<span class=\"tc-tiny-gap-right\">\n\t\t{{$:/core/images/info-button}}\n\t</span>\n\t<<text>><<version>>\n</$link>\n\\end\n\n\\procedure .from-version(version)\n<%if [<version>compare:version:gteq<tf.from-version-reference>] %>\n\t<<.from-version-template \"doc-from-version doc-from-version-new\" \"New in v\">>\n<%else%>\n\t<<.from-version-template \"doc-from-version\" \"Introduced in v\">>\n<%endif%>\n\\end\n\n\\procedure .deprecated-since(version, superseded:\"\")\n<$link to=\"Deprecated - What does it mean\" class=\"doc-deprecated-version tc-btn-invisible\">\n\t{{$:/core/images/warning}}\n\t<span class=\"tc-tiny-gap\">Deprecated from </span>\n\tv<$text text=<<version>>/>\n</$link>\n<%if [<superseded>else[]!match[]] %>\n\t<span class=\"tc-tiny-gap-left\">\n\t\t(see <$link class=\"tc-tiny-gap-left\" to=<<superseded>>><$text text=<<superseded>>/></$link>)\n\t</span>\n<%endif%>\n\\end\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/_tw_shared/doc-utilities/wikitext-macros.tid",
    "content": "code-body: yes\ncreated: 20150117184156000\nmodified: 20240716181836632\ntags: $:/tags/Macro\ntitle: $:/editions/tw5.com/wikitext-macros\ntype: text/vnd.tiddlywiki\n\n\\whitespace trim\n\n\\procedure activatePluginTab()\n<$action-setfield $tiddler=\"$:/state/tab-1749438307\" text=\"$:/core/ui/ControlPanel/Plugins\"/>\n<$action-navigate $to=\"$:/ControlPanel\"/>\n\\end\n\n\\procedure activateTiddlerWindow()\n<$action-sendmessage $message=\"tm-open-window\" $param=<<currentTiddler>> windowTitle=\"Side by Side View\" width=\"800\" height=\"600\" />\n\\end\n\n\\procedure controlPanel-plugin-link()\n<$button actions=<<activatePluginTab>> class=\"tc-btn-invisible tc-tiddlylink\">\n\t{{$:/core/images/options-button}} ~ControlPanel\n</$button>\n\\end\n\n\\procedure open-tiddler-in-window()\n\\whitespace notrim\n<$button actions=<<activateTiddlerWindow>> class=\"tc-btn-invisible tc-tiddlylink\">\n\topen ''this'' tiddler in a new window\n</$button>\n\\end\n\n\\procedure activateEditionWindow(url)\n<$action-sendmessage $message=\"tm-open-external-window\" $param=<<url>> windowName=\"_edition\" windowFeatures=\"width=800 height=600\" />\n\\end\n\n\\procedure open-external-window(url)\n\\whitespace notrim\n<$button actions=<<activateEditionWindow <<url>> class=\"tc-btn-invisible tc-tiddlylink\">\n\topen the ''example edition'' in a new window\n</$button>\n\\end\n\n\n\\procedure wikitext-example(src)\n<div class=\"doc-example\">\n\t<$macrocall $name=\"copy-to-clipboard-above-right\" src=<<src>>/>\n\t<$codeblock code=<<src>>/>\n\t<p>\n\t\tThat renders as:\n\t</p>\n\t<$transclude $variable=\"src\" $mode=\"block\"/>\n\t<p>\n\t\t... and the underlying HTML is:\n\t</p>\n\t<$wikify name=\"html\" text=<<src>> output=\"html\">\n\t\t<$codeblock code=<<html>>/>\n\t</$wikify>\n</div>\n\\end\n\n\\procedure wikitext-example-without-html(src)\n<div class=\"doc-example\">\n\t<$macrocall $name=\"copy-to-clipboard-above-right\" src=<<src>>/>\n\t<$codeblock code=<<src>>/>\n\t<p>\n\t\tThat renders as:\n\t</p>\n\t<$transclude $variable=\"src\" $mode=\"block\"/>\n</div>\n\\end\n\n\\procedure wikitext-example-table-header() <thead><tr><th/><th>wiki text</th><th>renders as</th></tr></thead>\n\n\\procedure wikitext-example-table-row(id, code)\n<tr>\n\t<th><<id>></th>\n\t<td><$codeblock code=<<code>>/></td>\n\t<td><$transclude $variable=\"code\" $mode=\"block\"/></td>\n</tr>\n\\end\n\n\\procedure tw-code(tiddler)\n<$codeblock language={{{ [<tiddler>get[type]] }}} code={{{ [<tiddler>get[text]] }}}/>\n\\end\n\n\\procedure tw-code-link(tiddler)\n<$link to=<<tiddler>>/>:\n<$transclude $variable=tw-code tiddler=<<tiddler>> />\n\\end\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/_tw_shared/favicons/classic.tiddlywiki.com.png.meta",
    "content": "title: $:/_tw_shared/favicons/classic.tiddlywiki.com\ntype: image/png\ntags: TiddlyWikiSitesMenu"
  },
  {
    "path": "editions/tw5.com/tiddlers/_tw_shared/favicons/links.tiddlywiki.org.png.meta",
    "content": "title: $:/_tw_shared/favicons/links.tiddlywiki.org\ntype: image/png\ntags: TiddlyWikiSitesMenu\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/_tw_shared/favicons/markplace.png.meta",
    "content": "title: $:/_tw_shared/favicons/marketplace\ntype: image/png\ntags: TiddlyWikiSitesMenu\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/_tw_shared/favicons/mws.tiddlywiki.com.png.meta",
    "content": "title: $:/_tw_shared/favicons/mws.tiddlywiki.com\ntype: image/png\ntags: TiddlyWikiSitesMenu\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/_tw_shared/favicons/talk.tiddlywiki.org.svg.meta",
    "content": "title: $:/_tw_shared/favicons/talk.tiddlywiki.org\ntype: image/svg+xml\ntags: TiddlyWikiSitesMenu\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/_tw_shared/favicons/tiddlywiki.com.dev.png.meta",
    "content": "title: $:/_tw_shared/favicons/tiddlywiki.com.dev\ntype: image/png\ntags: TiddlyWikiSitesMenu\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/_tw_shared/favicons/tiddlywiki.com.png.meta",
    "content": "title: $:/_tw_shared/favicons/tiddlywiki.com\ntype: image/png\ntags: TiddlyWikiSitesMenu\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/_tw_shared/favicons/tiddlywiki.com.prerelease.png.meta",
    "content": "title: $:/_tw_shared/favicons/tiddlywiki.com.prerelease\ntype: image/png\ntags: TiddlyWikiSitesMenu\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/_tw_shared/favicons/tiddlywiki.com.upgrade.png.meta",
    "content": "title: $:/_tw_shared/favicons/tiddlywiki.com.upgrade\ntype: image/png\ntags: TiddlyWikiSitesMenu\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/_tw_shared/favicons/tiddlywiki.org.png.meta",
    "content": "title: $:/_tw_shared/favicons/tiddlywiki.org\ntype: image/png\ntags: TiddlyWikiSitesMenu"
  },
  {
    "path": "editions/tw5.com/tiddlers/_tw_shared/sites/classic.tiddlywiki.com.tid",
    "content": "title: $:/_tw_shared/sites/classic.tiddlywiki.com\ntags: $:/tags/TiddlyWikiSites TiddlyWikiSitesMenu\ncaption: classic.tiddlywiki.com\ndescription: Original Classic Version (v2.x.x)\nurl: https://classic.tiddlywiki.com/\nicon: $:/_tw_shared/favicons/classic.tiddlywiki.com\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/_tw_shared/sites/links.tiddlywiki.org.tid",
    "content": "title: $:/_tw_shared/sites/links.tiddlywiki.org\ntags: $:/tags/TiddlyWikiSites TiddlyWikiSitesMenu\ncaption: links.tiddlywiki.org\ndescription: Community Links Aggregator\nurl: https://links.tiddlywiki.org/\nicon: $:/_tw_shared/favicons/links.tiddlywiki.org\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/_tw_shared/sites/marketplace.tid",
    "content": "title: $:/_tw_shared/sites/marketplace\ntags: $:/tags/TiddlyWikiSites TiddlyWikiSitesMenu\ncaption: marketplace\ndescription: Commercial Products and Services\nurl: https://talk.tiddlywiki.org/c/marketplace/22\nicon: $:/_tw_shared/favicons/marketplace\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/_tw_shared/sites/mws.tiddlywiki.com.tid",
    "content": "title: $:/_tw_shared/sites/mws.tiddlywiki.com\ntags: $:/tags/TiddlyWikiSites TiddlyWikiSitesMenu\ncaption: mws.tiddlywiki.com\ndescription: ~MultiWikiServer Home\nurl: https://mws.tiddlywiki.com/\nicon: $:/_tw_shared/favicons/mws.tiddlywiki.com\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/_tw_shared/sites/talk.tiddlywiki.org.tid",
    "content": "title: $:/_tw_shared/sites/talk.tiddlywiki.org\ntags: $:/tags/TiddlyWikiSites TiddlyWikiSitesMenu\ncaption: talk.tiddlywiki.org\ndescription: Community Forum\nurl: https://talk.tiddlywiki.org/\nicon: $:/_tw_shared/favicons/talk.tiddlywiki.org\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/_tw_shared/sites/tiddlywiki.com.dev.tid",
    "content": "title: $:/_tw_shared/sites/tiddlywiki.com.dev\ntags: $:/tags/TiddlyWikiSites TiddlyWikiSitesMenu\ncaption: tiddlywiki.com/dev\ndescription: Developer Site\nurl: https://tiddlywiki.com/dev/\nicon: $:/_tw_shared/favicons/tiddlywiki.com.dev\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/_tw_shared/sites/tiddlywiki.com.prerelease.tid",
    "content": "title: $:/_tw_shared/sites/tiddlywiki.com.prerelease\ntags: $:/tags/TiddlyWikiSites TiddlyWikiSitesMenu\ncaption: tiddlywiki.com/prerelease\ndescription: Latest Build of Next Release\nurl: https://tiddlywiki.com/prerelease/\nicon: $:/_tw_shared/favicons/tiddlywiki.com.prerelease\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/_tw_shared/sites/tiddlywiki.com.tid",
    "content": "title: $:/_tw_shared/sites/tiddlywiki.com\ntags: $:/tags/TiddlyWikiSites TiddlyWikiSitesMenu\ncaption: tiddlywiki.com\ndescription: Main Site\nurl: https://tiddlywiki.com/\nicon: $:/_tw_shared/favicons/tiddlywiki.com\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/_tw_shared/sites/tiddlywiki.com.upgrade.tid",
    "content": "title: $:/_tw_shared/sites/tiddlywiki.com.upgrade\ntags: $:/tags/TiddlyWikiSites TiddlyWikiSitesMenu\ncaption: tiddlywiki.com/upgrade.html\ndescription: Upgrading Wizard\nurl: https://tiddlywiki.com/upgrade.html\nicon: $:/_tw_shared/favicons/tiddlywiki.com.upgrade\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/_tw_shared/sites/tiddlywiki.org.tid",
    "content": "title: $:/_tw_shared/sites/tiddlywiki.org\ntags: $:/tags/TiddlyWikiSites TiddlyWikiSitesMenu\ncaption: tiddlywiki.org\ndescription: Community Matters\nurl: https://tiddlywiki.org/\nicon: $:/_tw_shared/favicons/tiddlywiki.org\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/_tw_shared/sites.tid",
    "content": "title: $:/_tw_shared/sites\ntags: $:/tags/MenuBar TiddlyWikiSitesMenu\ncaption: [img class=tc-sites-icon [Motovun Jack.svg]] Sites\nis-dropdown: yes\nlist-after: $:/plugins/tiddlywiki/menubar/items/hamburger\n\n\\define link-body()\n\\whitespace trim\n<$image source={{!!icon}} class=\"tc-sites-menu-icon\"/><strong><$transclude field=\"caption\" mode=\"inline\"/></strong><$text text=\" – \"/><$transclude field=\"description\" mode=\"inline\"/>\n\\end\n\n\\define current-link-body()\n\\whitespace trim\n<div class=\"tc-sites-menu-disabled\">\n<<link-body>><span class=\"tc-sites-menu-this-site\"><$text text=\"this site\"/></span>\n</div>\n\\end\n\n\\whitespace trim\n<div class=\"tc-sites-menu\">\n<ol>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TiddlyWikiSites]]\">\n<li>\n<$list filter=\"[{!!url}!match{$:/info/url/full}]\" emptyMessage=<<current-link-body>> variable=\"ignore\">\n<a class=\"tc-tiddlylink-external\" href={{!!url}} rel=\"noopener noreferrer\" target=\"_blank\">\n<<link-body>>\n</a>\n</$list>\n</li>\n</$list>\n</ol>\n</div>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/_tw_shared/styles.tid",
    "content": "title: $:/_tw_shared/styles\ntags: $:/tags/Stylesheet TiddlyWikiSitesMenu\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock\n\n.tc-sites-icon {\n\twidth: 1em;\n\theight: 1em;\n}\n\n.tc-sites-menu {\n\tfont-size: 1.2em;\n}\n\n.tc-sites-menu ol {\n\tmargin: 0;\n\tlist-style-type: none;\n\tpadding-left: 0;\n}\n\n.tc-sites-menu ol li a {\n\tdisplay: block;\n\tpadding: 0.25em 14px 0.25em 14px;\n\twidth: 100%;\n\ttext-align: left;\n\tcolor: #333333;\n\tline-height: 1.4;\n\ttext-decoration: none;\n}\n\n.tc-sites-menu ol li .tc-sites-menu-disabled {\n\tpadding: 0.25em 14px 0.25em 14px;\n}\n\n.tc-sites-menu-this-site {\n\tcolor: <<colour background>>;\n\tbackground: <<colour muted-foreground>>;\n\tfont-size: 0.6em;\n\tborder-radius: 1em;\n\tpadding: 2px 6px;\n\tmargin-left: 1em;\n\tvertical-align: top;\n}\n\n.tc-sites-menu-icon {\n\tmargin-right: 0.5em;\n\twidth: 1em;\n}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/_tw_shared/tags-TiddlyWikiSites.tid",
    "content": "title: $:/tags/TiddlyWikiSites\nlist: $:/_tw_shared/sites/tiddlywiki.com $:/_tw_shared/sites/tiddlywiki.org $:/_tw_shared/sites/talk.tiddlywiki.org $:/_tw_shared/sites/links.tiddlywiki.org $:/_tw_shared/sites/tiddlywiki.com.upgrade $:/_tw_shared/sites/tiddlywiki.com.dev $:/_tw_shared/sites/tiddlywiki.com.prerelease $:/_tw_shared/sites/mws.tiddlywiki.com $:/_tw_shared/sites/classic.tiddlywiki.com $:/_tw_shared/sites/marketplace\ntags: TiddlyWikiSitesMenu\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/about/About.tid",
    "content": "created: 20140912145139340\nmodified: 20140916132022553\ntags: TableOfContents\ntitle: About\ntype: text/vnd.tiddlywiki\n\nInformation about the making of TiddlyWiki:\n\n<<list-links \"[tag[About]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/about/Acknowledgements.tid",
    "content": "created: 20140129204112515\nmodified: 20140912145138466\ntags: About\ntitle: Acknowledgements\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki wouldn't be possible without the ongoing support of the TiddlyWiki [[Community]]. Their attention and feedback has made it possible to gain an understanding of what is wanted from the product, and their passion for it has taught me that it is worth the investment.\n\n{{$:/Acknowledgements}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/about/Archive.tid",
    "content": "created: 20231005205623086\nmodified: 20250807100434131\ntags: About\ntitle: TiddlyWiki Archive\n\n\\procedure versions()\n5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.1.8 5.1.9\n5.1.10 5.1.11 5.1.12 5.1.13 5.1.14 5.1.15 5.1.16 5.1.17 5.1.18 5.1.19\n5.1.20 5.1.21 5.1.22 5.1.23\n5.2.0 5.2.1 5.2.2 5.2.3 5.2.4 5.2.5 5.2.6 5.2.7\n5.3.0 5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 5.3.6 5.3.7 5.3.8\n\\end\n\nOlder versions of TiddlyWiki are available in the [[archive|https://github.com/TiddlyWiki/tiddlywiki.com-gh-pages/tree/master/archive]]:\n\n<table>\n\t<tbody>\n\t\t<tr>\n\t\t\t<th>\n\t\t\t\tVersion\n\t\t\t</th>\n\t\t\t<th>\n\t\t\t\tReleased\n\t\t\t</th>\n\t\t\t<th>\n\t\t\t\tLifetime\n\t\t\t</th>\n\t\t\t<th>\n\t\t\t\tSummary\n\t\t\t</th>\n\t\t\t<th>\n\t\t\t\tDownload\n\t\t\t</th>\n\t\t</tr>\n\t\t<$list filter=\"[enlist<versions>reverse[]]\" variable=\"version\">\n\t\t\t<$let\n\t\t\t\tfilename=`TiddlyWiki-$(version)$`\n\t\t\t\temptyFilename=`Empty-$(filename)$`\n\t\t\t\treleaseTiddler={{{ [<version>addprefix[Release ]] }}}\n\t\t\t\treleaseDate={{{ [<releaseTiddler>get[released]format:date[TIMESTAMP]] }}}\n\t\t\t\tnextVersion={{{ [enlist<versions>after<version>] }}}\n\t\t\t\tnextReleaseTiddler={{{ [<nextVersion>addprefix[Release ]] }}}\n\t\t\t\tnextReleaseDate={{{ [<nextReleaseTiddler>get[released]format:date[TIMESTAMP]] }}}\n\t\t\t\tlifetime={{{ [<nextReleaseDate>subtract<releaseDate>divide[86400000]add[0.5]fixed[0]] }}}\n\t\t\t>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<$link to=<<releaseTiddler>>>\n\t\t\t\t\t\t\t<$text text=`v$(version)$`/>\n\t\t\t\t\t\t</$link>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<$view tiddler=<<releaseTiddler>> field=\"released\" format=\"date\" template=\"DDth mmm YYYY\"/>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<$list filter=\"[<lifetime>compare:number:lt[0]]\" variable=\"ignore\">\n\t\t\t\t\t\t\tCurrent\n\t\t\t\t\t\t</$list>\n\t\t\t\t\t\t<$list filter=\"[<lifetime>compare:number:gteq[0]]\" variable=\"ignore\">\n\t\t\t\t\t\t\t<$text text=<<lifetime>>/>\n\t\t\t\t\t\t\tday<$list filter=\"[<lifetime>!compare:number:eq[1]]\" variable=\"ignore\">s</$list>\n\t\t\t\t\t\t</$list>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<$transclude $tiddler=<<releaseTiddler>> $field=\"description\" $format=\"inline\">\n\t\t\t\t\t\t\t(none)\n\t\t\t\t\t\t</$transclude>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<a href={{{ [<filename>addprefix[https://tiddlywiki.com/archive/full/]]}}} rel=\"noopener noreferrer\" target=\"_blank\">\n\t\t\t\t\t\t\tComplete\n\t\t\t\t\t\t</a>\n\t\t\t\t\t\t|\n\t\t\t\t\t\t<a href={{{ [<emptyFilename>addprefix[https://tiddlywiki.com/archive/empty/]]}}} rel=\"noopener noreferrer\" target=\"_blank\">\n\t\t\t\t\t\t\tEmpty\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</$let>\n\t\t</$list>\n\t</tbody>\n</table>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/about/Contributors.tid",
    "content": "created: 20140916132828137\nmodified: 20140916133148206\ntags: About\ntitle: Contributors\ntype: text/vnd.tiddlywiki\n\nThe following individuals have generously given their time to [[contribute to the development of TiddlyWiki|https://github.com/TiddlyWiki/TiddlyWiki5/graphs/contributors]]:\n\n* Jeremy Ruston ([[@Jermolene|https://github.com/Jermolene]])\n* Dave Gifford ([[@giffmex|https://github.com/giffmex]])\n* Bram Chen ([[@BramChen|https://github.com/BramChen]])\n* Mario Pietsch ([[@pmario|https://github.com/pmario]])\n* Xavier Cazin ([[@xcazin|https://github.com/xcazin]])\n* Eric Shulman ([[@ericshulman|https://github.com/ericshulman]])\n* Stephan Hradek ([[@Skeeve|https://github.com/Skeeve]])\n* ~BuggyJef ([[@buggyj|https://github.com/buggyj]])\n* Nathan Cain ([[@natecain|https://github.com/natecain]])\n* Ton Gerner ([[@gernert|https://github.com/gernert]])\n* Devin Weaver ([[@sukima|https://github.com/sukima]])\n* João Bolila ([[@jbolila|https://github.com/jbolila]])\n* David Johnston ([[@Brennall|https://github.com/Brennall]])\n* David Jade ([[@davidjade|https://github.com/davidjade]])\n* Bob Robison ([[@grayeul|https://github.com/grayeul]])\n* [[@nameanyone|https://github.com/nameanyone]]\n* Maurizio Pollio ([[@mpollio|https://github.com/mpollio]])\n* Ogoshi Masayuki ([[@ogoshima|https://github.com/ogoshima]])\n* Chris Sugden ([[@csugden|https://github.com/csugden]])\n* [[@asampal|https://github.com/asampal]]\n* Bow Yi Jang ([[@Eucaly|https://github.com/Eucaly]])\n* Mal Gamble ([[@malgam|https://github.com/malgam]])\n* Michael Fogleman ([[@mwfogleman|https://github.com/mwfogleman]])\n* Daniel Barrett ([[@shendaras|https://github.com/shendaras]])\n* Simon Baird ([[@simonbaird|https://github.com/simonbaird]])\n* James Anderson ([[@welford|https://github.com/welford]])\n* Jon Lister ([[@jayfresh|https://github.com/jayfresh]])\n* [[@TheDiveO|https://github.com/TheDiveO]]\n* Danielo Rodríguez ([[@danielo515|https://github.com/danielo515]])\n* [[@willover|https://github.com/willover]]\n* [[@slotik|https://github.com/slotik]]\n* Irene Knapp ([[@IreneKnapp|https://github.com/IreneKnapp]])\n* Brian Shaver ([[@shakerlxxv|https://github.com/shakerlxxv]])\n* Tobi Beer ([[@tobibeer|https://github.com/tobibeer]])\n* Craig Cook ([[@BoyCook|https://github.com/BoyCook]])\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/about/Developers.tid",
    "content": "created: 20150412191004348\nmodified: 20251022153208584\ntags: Community Reference\ntitle: Developers\ntype: text/vnd.tiddlywiki\n\n* [[tiddlywiki.com/dev|https://tiddlywiki.com/dev]] is the official developer documentation\n* Get involved in the [[development on GitHub|https://github.com/TiddlyWiki/TiddlyWiki5]]\n* [[GitHub Discussions|https://github.com/TiddlyWiki/TiddlyWiki5/discussions]] are for Q&A and open-ended discussion\n* [[GitHub Issues|https://github.com/TiddlyWiki/TiddlyWiki5/issues]] are for raising bug reports and proposing specific, actionable new ideas\n* See [[Contributing]] for guidelines on how to contribute to the project.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/about/Filter Syntax History.tid",
    "content": "created: 20250730154331065\nmodified: 20250731162557775\nmodifier: Jeremy Ruston\ntags: [[History of TiddlyWiki]]\ntitle: Filter Syntax History\n\nIn response to [[a discussion|https://talk.tiddlywiki.org/t/filter-syntax-history/13058]] about the filter syntax in TiddlyWiki5 I posted this brief personal history.\n\nFor context, before TiddlyWiki, I only had practical experience of a very small number of languages: machine code, assembly language, BASIC, FORTH, C, C++ and of course JavaScript. I had a smattering of Java, Pascal and one or two other ancient languages but no experience of actor based languages like Erlang, or modern functional languages.\n\nThe story starts with the double square bracket syntax used in wikitext for links. In 2004 this was already an established usage in wikis. However, I switched the ordering of pretty links because I thought Wikipedia's `[[link address|link text]]` was the wrong way around. It broke up sentences: `The file is [[https://site.com/thing|here]]` seems less readable than `The file is [[here|https://site.com/thing]]`. For a long time I regretted this decision, and wished that I had just gone with Wikipedia's established usage. Others have since pointed out that ~TiddlyWiki's ordering is actually consistent with [[Markdown]], which might be regarded as the winner of the markup wars.\n\nI looked at the double square bracket link syntax is that it establishes a way to quote page/tiddler titles so that they may contain spaces, and don't have to use CamelCase. Thus, right at the start of [[TiddlyWiki Classic|TiddlyWikiClassic]] when I was implementing the first iteration of the DefaultTiddlers feature it was natural to use double square brackets to quote titles containing spaces, making a list of titles to be opened at startup.\n\nSoon, I wanted to extend the implementation of DefaultTiddlers so that it could be used to open all tiddlers with a particular tag while retaining backwards compatibility.\n\nA trick that I am apt to use in such situations is to try to engineer things so that the current behaviour is re-interpreted as a shortcut syntax for a new, richer syntax that provides more flexibility. In this case, the idea was that in filters we would  interpret `[[mytiddler]]` as a shortcut for `[title[mytiddler]]`. Then we could put any keywords we like in place of \"title\", giving us an infinitely extensible syntax. A similar example is the way that we implemented filter run prefixes by retrospectively defining the absence of a prefix as implying a default prefix.\n\nThe new syntax was first [[introduced in 2007|https://github.com/TiddlyWiki/TiddlyWikiClassic/commit/1928962ea6811b1ca67378ed3cd62059a9806ae9]], with a simplified syntax that only supported a single `tag` operator but was just about sufficient for intended purpose. The only documentation was a comment in the source code (complete with a typo):\n\n```\n// Filter a list of tiddlers\n//#   filter - filter expression (eg \"tidlertitle [[multi word tiddler title]] [tag[systemConfig]]\")\n//# Returns an array of Tiddler() objects that match the filter expression\n```\n\nProvision to combine the filter operators had been on my mind from the beginning. When ~TiddlyWiki 5 started in 2011 I reused the simple implementation from ~TiddlyWiki Classic. Smashing operators [[was finally implemented in May 2012|https://github.com/TiddlyWiki/TiddlyWiki5/commit/8b0703b694e982b2bc448bdb133742164723dd8a]].  By the time of the launch the filter language had grown into pretty much what it is today -- see the [[documentation for TiddlyWiki v5.1.0|https://tiddlywiki.com/archive/full/TiddlyWiki-5.1.0#Introduction%20to%20Filters]].\n\nThe filter syntax had undoubtedly evolved into something approaching a programming language. As others have probably expressed much more eloquently, a characteristic of the programming languages that I love is that they start with a small number of principles that are consistently applied and combined. In the case of ~TiddlyWiki, the list would be very roughly:\n\n* Double square brackets for [[linking and quoting|Linking in WikiText]]\n* Curly braces for [[transclusion|Transclusion in WikiText]]\n* Angle brackets for [[macros|Procedures]] (which evolved into variables)\n* Double exclamation marks to indicate fields `{{!!myfield}}`\n* Double hashes to indicate indexes `{{##myindex}}`\n* Smashing together adjacent [[filter operations|Introduction to filter notation]] by removing the combining `][`\n* The dollar sign as a rough signifier of data [[owned by the system|Transclusion in WikiText]] rather than the user\n\nAs I have written about elsewhere I was privileged to know Joe Armstrong, the co-inventor of Erlang, in the last few years of his life – we were working together on a book about ~TiddlyWiki when he passed away in 2019. Joe had contacted me out of the blue ten years before to express his admiration for ~TiddlyWiki, and we had developed a friendship. He was actually a big fan of TW5's filter syntax, and used to make me feel better about it by joking that I had (re-)invented the monad, which sounded impressive to me. That doesn't make the filter language any easier to learn, but it does mean that it is *worth* learning: it's a real language, based on the same principles as other languages.\n\nI find it pleasing that the TW5 filter language has its roots in decisions that were taken in the TWC days. It's still hard to learn, but that's an ongoing paradox of programming: people want to do complicated things, and complicated things are complicated. It's hard to see how we could have made filters any simpler without depriving users of the possibility of doing complicated things.\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/about/Funding TiddlyWiki.tid",
    "content": "title: Funding TiddlyWiki\ntags: About HelloThere\nmodified: 20221204165636777\ncreated: 20221204165636777\n\nTiddlyWiki is more useful to everybody if it is free to use, with no financial barriers to long term adoption. It is not altruism; we believe that removing or reducing barriers to adoption will help to ensure TiddlyWiki's future by making the community larger and stronger.\n\nNonetheless, TiddlyWiki is a relatively big, complex machine that requires a significant amount of ongoing work to maintain and improve. Some community infrastructure also requires monthly fees to operate (notably the [[TiddlyWiki forum|Forums]]).\n\nThe people in the community that do the work have widely varying needs:\n\n* At one end, a good proportion of the work on TiddlyWiki is performed by community members on a purely voluntary basis. For those people, the satisfaction of helping others is sufficient reward. Indeed, for many people, unpaid voluntary activities are a satisfying antidote to everyday paid work\n* At the other extreme, [[@Jermolene]] and some other contributors are trying to make a full-time living working on TiddlyWiki by offering commercial products and services around it\n* In between, there are other people who would appreciate an ocassional token to reward them for their work\n\nTo support these needs in the community, we have two initiatives:\n\n* We use [[Open Collective]] to collect donations for the infrastructure costs of the Community and to crowdfund specific developments by individuals or organisations\n* The [[TiddlyWiki Marketplace]] provides a shop window for individuals and organisations offering commercial products and services\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/about/History of TiddlyWiki.tid",
    "content": "created: 20140908114400000\nmodified: 20251122174540932\ntags: About\ntitle: History of TiddlyWiki\ntype: text/vnd.tiddlywiki\n\nGathering the history of ~TiddlyWiki. This is an ongoing project. Contributions and reminiscences are welcome.\n\n* [[The Story of TiddlyWiki]] – A personal account from [[@Jermolene]] of the story of TiddlyWiki, its origins and evolution\n* https://github.com/TiddlyWiki/LaunchArchive – Blog posts and tweets from TiddlyWiki's launch in 2004\n* [[TiddlyWiki Anniversaries]] – Relive the celebrations of TiddlyWiki's major anniversaries\n* [[Filter Syntax History]] – A brief history of the evolution of the filter syntax in TiddlyWiki5\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/about/License.tid",
    "content": "created: 20170127221457627\nmodified: 20170127222646488\ntitle: License\ntype: text/vnd.tiddlywiki\ntags: About\n\nTiddlyWiki is published under a [[permissive BSD 3-Clause License|https://opensource.org/licenses/BSD-3-Clause]] stored in the [[shadow tiddler|ShadowTiddlers]] [[$:/core/copyright.txt]]:\n\n<div style=\"font-size: 0.7em;line-height:1.4;\">\n\n{{$:/core/copyright.txt}}\n\n</div>\n\nIn layman's terms, the license says that you can take TiddlyWiki and do anything you want with it without any license fee payment or other legal obligation to the creators of ~TiddlyWiki or anyone else. The quid pro quo is that there is no warranty or guarantee with open source projects like ~TiddlyWiki. You can't sue the contributors to ~TiddlyWiki for any loss or damage due to the use of ~TiddlyWiki: even if your data is lost due to a tragic chain of circumstances that involves ~TiddlyWiki.\n\nYou are respectfully requested that to make an attribution to the project, but there's no obligation to do so.\n\nFor the avoidance of doubt, any information that you choose to store within your own copy of ~TiddlyWiki remains yours; using ~TiddlyWiki to publish content doesn't change whatever rights you may have to that content.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/about/Open Collective.tid",
    "content": "title: Open Collective\nmodified: 20221204165636777\ncreated: 20221204165636777\ntags: About HelloThere\n\nOpen Collective is a platform for transparent fundraising and expenses for projects like TiddlyWiki. It is the official TiddlyWiki community fundraising space.\n\nhttps://opencollective.com/tiddlywiki\n\nYou can make a fixed one-time donation, or setup a recurring contribution.\n\nThe main goals listed for donations are to cover basic costs for community infrastructure like the Discourse forum, and a new goal for supporting the TiddlyWiki Core.\n\nAdditionally, the community can make use of the platform for special projects - to pool funds to pay for development, design, or anything else. The [[File Upload Plugin|https://opencollective.com/tiddlywiki/projects/tiddlywiki-file-upload]] is the first of these, and we want to welcome others to launch projects here.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/about/Philosophy of Tiddlers.tid",
    "content": "created: 20131128075743966\nmodified: 20140919160655340\ntags: Learning\ntitle: Philosophy of Tiddlers\ntype: text/vnd.tiddlywiki\n\nThe purpose of recording and organising information is so that it can be used again. The value of recorded information is directly proportional to the ease with which it can be re-used.\n\nThe philosophy of [[tiddlers|Tiddlers]] is that we maximise the possibilities for re-use by slicing information up into the smallest semantically meaningful units with [[rich modelling of relationships between them|Structuring TiddlyWiki]]. Then we use aggregation and composition to weave the fragments together to present narrative stories.\n\nTiddlyWiki aspires to provide an algebra for tiddlers, a concise way of expressing and exploring the relationships between items of information.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/about/The Story of TiddlyWiki.tid",
    "content": "title: The Story of TiddlyWiki\ntags: [[History of TiddlyWiki]]\nmodifier: Jeremy Ruston\ncreated: 20140908114400000\nmodified: 20250730154331065\n\nThis is a personal account of the story of TiddlyWiki, its origins and its evolution since it was first released on 20th September 2004.\n\n! Origins of TiddlyWiki\n\nBack in 1997 a colleague introduced me to [[Ward Cunningham's original wiki|http://c2.com/cgi/wiki]]. I was impressed that something so powerful could fit into just 700 lines of Perl, and fascinated by the radical reimagining of security and permissions. Like many other developers, I took every opportunity I could to try out various wikis, and to explore their use at work.\n\nThe allure of the wiki for me was the feeling that it could eventually disrupt the prevailing paradigm of print-oriented documents and emails.\n\nAfter watching people use wikis for a few years, I noticed that power users made extensive use of the ability to open multiple wiki pages at once in several browser tabs, making it easier for them to compare and review pages, to copy text between them and to act as a sort of queue of pages yet to be read.\n\nI felt that this ability to manipulate multiple pages at once was central to the ability to refactor a wiki, and it is generally accepted that a wiki that is lovingly refactored tends to be more useful. And yet, standard wiki user interfaces have always been designed exclusively for the presentation and manipulation of single pages at once.\n\nAll of these thoughts came together when I saw GMail in April 2004, which used Ajax cleverly to blend individual emails into threaded conversations.\n\nI started experimenting with HTML and JavaScript to explore the idea further. I'd had virtually no experience of either, just having put together some static pages and simple ASP sites in previous lives. Getting my head around these client-side technologies was painful; like everyone else, I was horrified to discover how appalling were the incompatibilities and inconsistencies of web programming.\n\n! Launch of TiddlyWiki\n\nSo, in September 2004 I released a primitive [[first version of TiddlyWiki|https://classic.tiddlywiki.com/firstversion.html]]. It was the smallest possible thing that demonstrated the idea: it was a simple, self-contained static 48KB HTML file.\n\nThe downside of writing the first version of TiddlyWiki in this way was that it made it completely impractical to use for editing - when you click 'save changes' it just pops up a window showing the data that would be saved if it were possible for an HTML page to write to the file system.\n\nMuch of the early feedback was that TiddlyWiki was neat, but that it would be more useful when it was possible to properly save changes. I was a little frustrated, as I thought I knew that it was impossible for an HTML file running in the browser to save changes to the local file system.\n\nWithin a few months I saw an experimental Firefox extension that enabled TiddlyWiki to save changes in the browser. Examining the code, I realised that the APIs that it used to write to the file system were actually available in ordinary HTML files - as long as they were loaded via a `file://` URI.\n\nI adapted the Firefox code into the core of TiddlyWiki, and soon added a similar ability for Internet Explorer (making use of an old [[ActiveX|https://en.wikipedia.org/wiki/ActiveX]] control that Microsoft distributed with Internet Explorer).\n\n! Growth of TiddlyWiki\n\nA major milestone in the growth of TiddlyWiki was the creation of \"GTDTiddlyWiki\" by Nathan Bowers. He took the vanilla TiddlyWiki product and adapted it for the specific application of keeping track of tasks using the popular Getting Things Done methodology. GTDTiddlyWiki was an immediate hit, being enthusiastically greeted on websites like [[LifeHacker|https://lifehacker.com/]].\n\nOver the next couple of years TiddlyWiki continued to grow in popularity, and gained new features and capabilities. Within a year I was able to support myself by performing bespoke development work on TiddlyWiki, notably working with wiki pioneer [[SocialText|https://en.wikipedia.org/wiki/Socialtext]] on the ability to synchronise changes with an online server\n\n! BT Acquisition\n\nIn May 2007, [[BT]] acquired [[Osmosoft]], my consultancy company. It was an unusual decision to acquire a company with a single employee and a tiny trickle of revenue - [[Osmosoft]] didn't even own the intellectual property in TiddlyWiki since I had handed it over to [[UnaMesa]] to assure its future for the community.\n\n[[BT]]'s motivation was to help them understand community-based ecosystems. I joined the organisation as \"Head of Open Source Innovation\", taking responsibility for open source governance, and providing advice and expertise on how to participate in open soure communities.\n\n! [[Osmosoft]] and TiddlySpace\n\nI built a team in BT under the name [[Osmosoft]]. Our purpose was to evangelise the benefits of open source, and to help other teams realise those benefits in practice. We also found that it was necessary to evangelise the use of the web in general, and web standards in particular.\n\nOur approach was to focus on showing rather than telling. We worked with the TiddlyWiki community to extend the ecosystem and we built numerous internal systems for BT (some based on TiddlyWiki and some not).\n\n[[Osmosoft]]'s chief contribution to the TiddlyWiki community was the creation of TiddlyWeb and TiddlySpace. TiddlyWeb was a robust, internet scale server for tiddlers that could also compose TiddlyWiki views of those tiddlers. TiddlySpace was an attempt to package TiddlyWeb into a more directly usable form.\n\n! Leaving BT\n\nBy the end of 2011 I was increasingly feeling that I would be better placed to realise the potential of TiddlyWiki outside of the corporate confines BT. Accordingly, I left and started work as an independent developer, primarily working on a brand new reboot of TiddlyWiki in the shape of TiddlyWiki5.\n\n! Development of TiddlyWiki5\n\nI worked on new release of TiddlyWiki from November 2011. As a programmer, working on \"version 2.0\" of something that I had already written is a very attractive proposition. It means that the requirements were fully understood, allowing me to focus on evolving the architecture needed to support the desired functionality.\n\n! The Future\n\nBack in 2014, shortly after TiddlyWiki5 was first released, I wrote:\n\n> Now that TiddlyWiki5 has finally left \"beta\" status behind, my hope is that it will have a long life. Because it only uses standard features of HTML5 and Node.js, there is no reason why it cannot be fully operational for many years to come. My goal is for it to last for at least 25 years.\n\nAs I write this, TiddlyWiki5 is 44% of the way to that goal. With the support and enthusiasm of the community I am confident the project will continue to thrive and evolve.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/about/TiddlyWiki Anniversaries.tid",
    "content": "title: TiddlyWiki Anniversaries\ntags: [[History of TiddlyWiki]]\ncreated: 20250730154331065\nmodified: 20250730154331065\n\n! Twentieth Anniversary of TiddlyWiki\n\nWe've held a number of livestreams to celebrate twenty years of ~TiddlyWiki. You can watch the recordings here:\n\n* 19th September 2024 - https://youtube.com/live/z9slx92TyrU\n* 20th September 2024 - https://youtube.com/live/puFdN-FgOjg\n* 21st September 2024 - https://youtube.com/live/0SjsHvwjHGE\n* 22nd September 2024 - https://youtube.com/live/oD7Jtq2D4lg\n\nOver on GitHub, we celebrated the contributors to TiddlyWiki by [[asking them|https://github.com/TiddlyWiki/TiddlyWiki5/discussions/7983]] for their reflections on the anniversary. We received some interesting and thoughtful responses. For example, this from [[@FND|https://github.com/FND]]:\n\n> TiddlyWiki had an immeasurable, enduring influence not just on my career, such as it is, but also on my values: To this day, I regularly find myself referring back to [[fundamental concepts|https://prepitaph.org/articles/creative-privacy/]] TiddlyWiki instilled in me - many of which are often forgotten or ignored elsewhere. Having this background thus helps me keep my bearings working in this industry, whether it's worshipping at the altar of technical complexity or even just remembering humans exist in the world of technology.\n\n> By TiddlyWiki, I mean people. It was an immense privilege interacting with and learning from this community and the group Jeremy built around it. It also helps reminding myself that this privilege was afforded to me by sheer happenstance; I hope to be paying it forward.\n\nSome recent podcasts featuring ~TiddlyWiki:\n\n* The changelog podcast from 2016 - https://changelog.com/podcast/196 discussing ~TiddlyWiki's backstory\n* Floss Weekly recording from 2021 - https://twit.tv/shows/floss-weekly/episodes/620\n\n! Tenth Anniversary of TiddlyWiki\n\nYou can watch the livestream from 20th September 2014 celebrating the tenth anniversary of TiddlyWiki here:\n\nhttps://www.youtube.com/watch?v=f_02ZV0J9NY\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/actionTiddlerList Variable.tid",
    "content": "created: 20240612115323606\nmodified: 20240612115535069\ntags: [[Core Variables]] Variables\ntitle: actionTiddlerList Variable\ntype: text/vnd.tiddlywiki\n\nThe variable `actionTiddlerList` is used:\n\n* Within the ''listActions'' string of the DroppableWidget, the <<.def actionTiddlerList>> [[variable|Variables]] contains a [[Title List]] of the tiddlers being dropped.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/cards/card-procedures.tid",
    "content": "code-body: yes\ntags: $:/tags/Macro\ntitle: $:/cards/procedures\ntype: text/vnd.tiddlywiki\n\n\\whitespace trim\n\n\\procedure flex-card(class,bordercolor:\"\",backgroundcolor:\"\",textcolor:\"\",imageField:\"image\",captionField:\"caption\",subtitle:\"\",descriptionField:\"description\",linkField:\"link\")\n<$link class={{{ [<class>addprefix[tc-card ]] }}}\n\tto={{{ [<currentTiddler>get<linkField>else<currentTiddler>] }}}\n\taria-label=<<currentTiddler>>\n>\n\t<$transclude\n\t\t$variable=\"flex-card-body\"\n\t\tbordercolor=<<bordercolor>>\n\t\tbackgroundcolor=<<backgroundcolor>>\n\t\ttextcolor=<<textcolor>>\n\t\timageField=<<imageField>>\n\t\tcaptionField=<<captionField>>\n\t\tsubtitle=<<subtitle>>\n\t\tdescriptionField=<<descriptionField>>\n\t/>\n</$link>\n\\end\n\n\\procedure flex-card-external(class,bordercolor:\"\",backgroundcolor:\"\",textcolor:\"\",imageField:\"image\",captionField:\"caption\",subtitle:\"\",descriptionField:\"description\",linkField:\"url\")\n<a class={{{ [<class>addprefix[tc-card ]addprefix[tc-tiddlylink ]]  }}}\n\thref={{{ [<currentTiddler>get<linkField>] }}}\n\taria-label=<<currentTiddler>>\n\trel=\"noopener noreferrer\"\n\ttarget=\"_blank\"\n>\n\t<$transclude\n\t\t$variable=\"flex-card-body\"\n\t\tbordercolor=<<bordercolor>>\n\t\tbackgroundcolor=<<backgroundcolor>>\n\t\ttextcolor=<<textcolor>>\n\t\timageField=<<imageField>>\n\t\tcaptionField=<<captionField>>\n\t\tsubtitle=<<subtitle>>\n\t\tdescriptionField=<<descriptionField>>\n\t/>\n</a>\n\\end\n\n\\procedure flex-card-body(bordercolor,backgroundcolor,textcolor,imageField,captionField,subtitle,descriptionField)\n<div class=\"tc-card-accent\" style.borderTop={{{ [<bordercolor>!is[blank]addprefix[5px solid ]] }}} style.background={{!!background}} style.backgroundColor=<<backgroundcolor>> style.color=<<textcolor>> style.fill=<<textcolor>>>\n\t<$list filter=\"[<currentTiddler>has[ribbon-text]]\" variable=\"ignore\">\n\t\t<div class=\"tc-card-ribbon-wrapper\" aria-hidden=\"true\">\n\t\t\t<div class=\"tc-card-ribbon\" style.backgroundColor={{{ [<currentTiddler>get[ribbon-color]else[red]] }}}>\n\t\t\t\t<div class=\"tc-card-ribbon-inner\">\n\t\t\t\t\t<$text text={{!!ribbon-text}}/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</$list>\n\t<$list filter=\"[<currentTiddler>has<imageField>]\" variable=\"ignore\">\n\t\t<div class=\"tc-card-image\">\n\t\t\t<$image source={{{ [<currentTiddler>get<imageField>] }}}\n\t\t\t\talt={{{ [<currentTiddler>get<imageField>get[alt-text]else[Image.]] }}}\n\t\t\t/>\n\t\t</div>\n\t</$list>\n\t<div class=\"tc-card-title\"><$transclude field=<<captionField>>><$view field=\"title\"/></$transclude></div>\n\t<$list filter=\"[<subtitle>!is[blank]]\" variable=\"ignore\">\n\t\t<div class=\"tc-card-subtitle\">\n\t\t\t<$text text=<<subtitle>>/>\n\t\t</div>\n\t</$list>\n\t<div class=\"tc-card-icon\"><$transclude tiddler={{!!icon}}/></div>\n\t<%if [all[current]get<descriptionField>else[]!match[]] %>\n\t\t<div class=\"tc-card-body-wrapper\">\n\t\t\t<div class=\"tc-card-body\">\n\t\t\t\t<$transclude field=<<descriptionField>> mode=\"block\"/>\n\t\t\t</div>\n\t\t\t<div class=\"tc-card-body-clear\">\n\t\t\t</div>\n\t\t</div>\n\t<%endif%>\n\t<%if [all[current]has[button-text]] %>\n\t\t<div class=\"tc-card-button\" style.background-color={{!!button-color}} style.border-color={{!!button-color}}>\n\t\t\t<$text text={{!!button-text}}/>&#32;{{$:/core/images/chevron-right}}\n\t\t</div>\n\t<%endif%>\n</div>\n\\end\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/cards/card-styles.tid",
    "content": "tags: $:/tags/Stylesheet\ntitle: $:/cards/styles\ntype: text/vnd.tiddlywiki\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock\n\n.tc-cards {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tjustify-content: center;\n\twidth: 100%;\n\tpadding: 0.5em;\n\tbackground: <<colour background>>;\n\tborder-color: rgba(34,36,38,.15);\n\tbox-shadow: 0 2px 25px 0 rgb(34 36 38 / 5%) inset;\n\tgap: 1em;\n}\n\n.tc-cards.tc-small {\n\ttext-align: center;\n\tfont-size: 0.7em;\n}\n\n.tc-cards.tc-action-card {\n\ttext-align: center;\n\tbackground: none;\n}\n\n.tc-cards.tc-cards-vertical {\n}\n\n.tc-cards.tc-action-card .tc-card-button {\n\tborder: 1px solid <<colour foreground>>;\n\tbackground: <<colour foreground>>;\n\tmargin: 0.5em;\n\tborder-radius: 6px;\n\tpadding: 0.5em;\n\tcolor: <<colour background>>;\n}\n\n.tc-cards.tc-action-card .tc-card-button svg {\n\twidth: 0.65em;\n\theight: 0.65em;\n\tvertical-align: middle;\n}\n\n.tc-tiddlylink.tc-card {\n\tfont-weight: normal;\n\tflex-grow: 1;\n\tmax-width: 250px;\n\tposition: relative;\n\tbackground: <<colour background>>;\n\tcolor: <<colour foreground>>;\n\twidth: 200px;\n\tmin-height: 0;\n\tborder: none;\n\tborder-radius: 8px;\n\tbox-shadow: 0 1px 3px 0 #d4d4d5, 0 0 0 1px #d4d4d5;\n\ttransition: box-shadow 0.3s ease,transform .3s ease;\n}\n\n.tc-cards.tc-cards-vertical .tc-tiddlylink.tc-card {\n\twidth: 100%;\n}\n\n@media (max-width: 500px) {\n\t\n\t.tc-cards {\n\t\tpadding: 0;\n\t}\n\n\t.tc-tiddlylink.tc-card {\n\t\tmargin: 0.25em;\n\t\twidth: 45%;\n\t}\n\n}\n\n.tc-tiddlylink.tc-card.tc-card-quote {\n\twidth: 320px;\n\tbox-shadow: none;\n\tbackground-color: #effdff;\n}\n\n.tc-card-accent {\n\theight: 100%;\n\tdisplay: flex;\n\talign-items: stretch;\n\tflex-direction: column;\n\tjustify-content: stretch;\n\tborder-radius: 8px;\n}\n\n.tc-cards.tc-cards-vertical .tc-card-accent {\n\tflex-direction: row;\n\tjustify-content: start;\n\tpadding: 5px 7px;\n\talign-items: center;\n}\n\n.tc-cards.tc-cards-vertical .tc-card-icon {\n\tline-height: 0;\n\torder: 1;\n}\n\n.tc-tiddlylink.tc-card:hover {\n\tcolor: <<colour foreground>>;\n\tbackground: <<colour notification-background>>;\n\ttext-decoration: none;\n\tcursor: pointer;\n\tbox-shadow: 0 1px 5px 0 #bcbdbd, 0 0 0 1px #d4d4d5;\n\ttransform: translateY(-3px);\n}\n\n.tc-card-ribbon-wrapper {\n\tline-height: 0;\n\twidth: 75px;\n\theight: 75px;\n\tposition: absolute;\n\tright: 0;\n\toverflow: hidden;\n\ttop: 0;\n\tz-index: 849;\n\tpointer-events: none;\n}\n\n.tc-card-ribbon {\n\ttransition: top 0.3s ease-in-out;\n\ttop: 15px;\n\tright: -77px;\n\tposition: absolute;\n\ttransform: rotate(45deg);\n\tbackground-color: red;\n\tbox-shadow: 0px 0px 2px 0px rgb(0 0 0 / 50%);\n}\n\n.tc-tiddlylink.tc-card:hover .tc-card-ribbon {\n\ttop: -77px;\n}\n\n.tc-card-ribbon-inner {\n\tfont-size: 10px;\n\tline-height: 13px;\n\tfont-weight: 700;\n\tcolor: white;\n\ttext-decoration: none;\n\ttext-shadow: 0 -1px rgb(0 0 0 / 50%);\n\twidth: 200px;\n\tdisplay: inline-block;\n\tpadding: 2px 0;\n\ttext-align: center;\n}\n\n.tc-card-image {\n\tborder-top-left-radius: 8px;\n\tborder-top-right-radius: 8px;\n\tline-height: 0;\n\toverflow: hidden;\n}\n\n.tc-card-image img {\n\tborder-top-left-radius: 8px;\n\tborder-top-right-radius: 8px;\n\twidth: 100%;\n\ttransition: transform 0.3s ease-in-out;\n}\n\n.tc-tiddlylink.tc-card:hover .tc-card-image img {\n\ttransform: scale(1.05);\n}\n\n.tc-card .tc-card-icon svg {\n\ttransition: transform 0.3s ease-in-out;\n}\n\n.tc-card:hover .tc-card-icon svg {\n\ttransform: scale(1.1);\n}\n\n.tc-card-title {\n\tfont-size: 1.2em;\n\tline-height: 1.2;\n\tfont-weight: 600;\n\ttransition: color 0.3s ease-in-out;\n\tpadding: 0 10px;\n\tmargin: 0.5em 0 0.25em 0;\n}\n\n.tc-cards.tc-cards-vertical .tc-card-title {\n\tfont-size: 1.1em;\n\tmin-width: 10em;\n\torder: 2;\n}\n\n.tc-cards.tc-cards-vertical .tc-card-title svg {\n\twidth: 1em;\n\theight: 1em;\n\tvertical-align: text-bottom;\n}\n\n.tc-card-subtitle,\n.tc-card-author {\n\tfont-size: 0.8em;\n\tline-height: 1.2;\n\tcolor: <<colour muted-foreground>>;\n\tpadding: 0 10px;\n\tmargin: 0.5em 0;\n\tfont-style: italic;\n}\n\n.tc-card-body {\n\tfont-size: 0.9em;\n\tline-height: 1.2;\n\tpadding: 0.25em 10px;\n\tmargin: 0;\n}\n\n.tc-cards.tc-cards-vertical .tc-card-body {\n\tfont-size: 1em;\n}\n\n.tc-card-body-wrapper {\n\tposition: relative;\n\tflex-grow: 1;\n}\n\n.tc-tiddlylink.tc-card.tc-card-quote .tc-card-body:before {\n\tfont-family: Georgia, serif;\n\tcolor: <<colour blockquote-bar>>;\n\tcontent: open-quote;\n\tfont-size: 5em;\n\tline-height: 1;\n\tfloat: left;\n}\n\n.tc-tiddlylink.tc-card.tc-card-quote .tc-card-body:after {\n\tfont-family: Georgia, serif;\n\tcolor: <<colour blockquote-bar>>;\n\tcontent: close-quote;\n\tfont-size: 5em;\n\tline-height: 1;\n\tfloat: right;\n}\n\n.tc-tiddlylink.tc-card .tc-card-body-clear {\n\tclear: both;\n}\n\n.tc-card-body > p {\n\tmargin: 0.25em 0;\n}\n\n.tc-card a:active, .tc-card a:focus, .tc-btn-download:active, .tc-btn-download:focus{\n\toutline: none; \n}"
  },
  {
    "path": "editions/tw5.com/tiddlers/commands/BuildCommand.tid",
    "content": "created: 20140425085548209\nmodified: 20140427210435569\ntags: Commands\ntitle: BuildCommand\ntype: text/vnd.tiddlywiki\ncaption: build\n\n{{$:/language/Help/build}}\n\nSee [[tiddlywiki.info Files]] for details of defining build targets.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/commands/ClearPasswordCommand.tid",
    "content": "title: ClearPasswordCommand\ntags: Commands\ncaption: clearpassword\n\n{{$:/language/Help/clearpassword}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/commands/Commands.tid",
    "content": "created: 20150117174359000\nmodified: 20241018094151786\ntags: Concepts Reference\ntitle: Commands\ntype: text/vnd.tiddlywiki\n\nA <<.def command>> is one of the following words, written with a `--` prefix and used as a command-line option under Node.js, indicating which action is desired. See [[Using TiddlyWiki on Node.js]] for details of how to use them.\n\n''Commands''\n\n<<list-links \"[tag[Commands]] -[tag[$:/deprecated]]\" class:\"multi-columns\">>\n\n''Deprecated Commands''\n\n<<list-links \"[tag[Commands]] :and[tag[$:/deprecated]]\" class:\"multi-columns\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/commands/CommandsCommand.tid",
    "content": "created: 20221204202531478\nmodified: 20221204202531478\ntags: Commands\ntitle: CommandsCommand\ntype: text/vnd.tiddlywiki\ncaption: commands\n\n{{$:/language/Help/commands}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/commands/DeleteTiddlersCommand.tid",
    "content": "title: DeleteTiddlersCommand\ntags: Commands\ncreated: 20190530155418184\nmodified: 20190530155418184\ncaption: deletetiddlers\n\n{{$:/language/Help/deletetiddlers}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/commands/EditionsCommand.tid",
    "content": "created: 20141029114305697\nmodified: 20141029114305697\ntags: Commands\ntitle: EditionsCommand\ntype: text/vnd.tiddlywiki\ncaption: editions\n\n{{$:/language/Help/editions}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/commands/FetchCommand.tid",
    "content": "created: 20170218131511071\nmodified: 20170218131511071\ntags: Commands\ntitle: FetchCommand\ntype: text/vnd.tiddlywiki\ncaption: fetch\n\n{{$:/language/Help/fetch}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/commands/HelpCommand.tid",
    "content": "created: 20140225195548209\nmodified: 20140225195738745\ntags: Commands\ntitle: HelpCommand\ntype: text/vnd.tiddlywiki\ncaption: help\n\n{{$:/language/Help/help}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/commands/ImportCommand.tid",
    "content": "caption: import\ncreated: 20170712153850528\nmodified: 20170712153850528\ntags: Commands\ntitle: ImportCommand\ntype: text/vnd.tiddlywiki\n\n{{$:/language/Help/import}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/commands/InitCommand.tid",
    "content": "created: 20140223195548209\nmodified: 20140617212529392\ntags: Commands\ntitle: InitCommand\ntype: text/vnd.tiddlywiki\ncaption: init\n\n{{$:/language/Help/init}}\n\nSee also:\n\n* [[Environment Variables on Node.js]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/commands/ListenCommand.tid",
    "content": "caption: listen\ncreated: 20180626135301279\nmodified: 20180701171046122\ntags: Commands\ntitle: ListenCommand\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.18\">> See WebServer for details of TiddlyWiki's web server functionality.\n\n{{$:/language/Help/listen}}"
  },
  {
    "path": "editions/tw5.com/tiddlers/commands/LoadCommand.tid",
    "content": "created: 20140119201439976\nmodified: 20140119201554602\ntags: Commands\ntitle: LoadCommand\ntype: text/vnd.tiddlywiki\ncaption: load\n\n{{$:/language/Help/load}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/commands/MakeLibraryCommand.tid",
    "content": "created: 20140903085210479\nmodified: 20140903085210479\ntags: Commands\ntitle: MakeLibraryCommand\ntype: text/vnd.tiddlywiki\ncaption: makelibrary\n\n{{$:/language/Help/makelibrary}}\n\nSee the UpgradeMechanism for more details.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/commands/NamedCommandParameters.tid",
    "content": "created: 20180626122427188\nmodified: 20211117234223960\ntags: [[TiddlyWiki on Node.js]]\ntitle: NamedCommandParameters\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.18\">> Most TiddlyWiki [[Commands]] use a position-based system for their parameters where each parameter must be listed in the precise order defined by the command. Some of the more complex commands offer an alternative scheme of named command parameters. For example, here we provide two parameters named \"port\" and \"host\":\n\n```\n--listen port=8090 host=0.0.0.0\n```\n\nNote that the order of the parameters does not matter.\n\nUsing special characters within a parameter requires quoting. Unix, Linux and the Mac use single quotes, and Windows uses double quotes:\n\n```\n--listen port=8090 username=joe 'password=s3cret(!'\n--listen port=8090 username=joe \"password=s3cret(!\"\n```\n\nNote that the quotes are applied to the entire name=value pair, not just to the value part.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/commands/OutputCommand.tid",
    "content": "created: 20140425085548209\nmodified: 20140425085738745\ntags: Commands\ntitle: OutputCommand\ntype: text/vnd.tiddlywiki\ncaption: output\n\n{{$:/language/Help/output}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/commands/PasswordCommand.tid",
    "content": "title: PasswordCommand\ntags: Commands\ncaption: password\n\n{{$:/language/Help/password}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/commands/RenderCommand.tid",
    "content": "caption: render\ncreated: 20170919131752774\nmodified: 20250811164528905\ntags: Commands\ntitle: RenderCommand\ntype: text/vnd.tiddlywiki\n\n{{$:/language/Help/render}}\n\n<$button class=\"tc-btn-invisible\" style=\"text-decoration:underline\">\nShow available rendering templates\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" text=\"[all[shadows]prefix[$:/core/templates/]]\"/>\n<$action-setfield $tiddler=\"$:/temp/advancedsearch/input\" text=\"[all[shadows]prefix[$:/core/templates/]]\"/>\n<$action-setfield $tiddler=\"$:/state/tab--1498284803\" text=\"$:/core/ui/AdvancedSearch/Filter\"/>\n<$action-navigate $to=\"$:/AdvancedSearch\"/>\n</$button>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/commands/RenderTiddlerCommand.tid",
    "content": "caption: rendertiddler\ntags: Commands $:/deprecated\ntitle: RenderTiddlerCommand\ntype: text/vnd.tiddlywiki\n\n<<.deprecated-since \"5.1.15\" \"RenderCommand\">>.\n\n{{$:/language/Help/rendertiddler}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/commands/RenderTiddlersCommand.tid",
    "content": "caption: rendertiddlers\ntags: Commands $:/deprecated\ntitle: RenderTiddlersCommand\ntype: text/vnd.tiddlywiki\n\n<<.deprecated-since \"5.1.15\" \"RenderCommand\">>.\n\n{{$:/language/Help/rendertiddlers}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/commands/SaveCommand.tid",
    "content": "caption: save\ncreated: 20170919131738203\nmodified: 20170919131813069\ntags: Commands\ntitle: SaveCommand\ntype: text/vnd.tiddlywiki\n\n{{$:/language/Help/save}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/commands/SaveTiddlerCommand.tid",
    "content": "caption: savetiddler\ncreated: 20131218121606089\ntags: Commands $:/deprecated\ntitle: SaveTiddlerCommand\ntype: text/vnd.tiddlywiki\n\n<<.deprecated-since \"5.1.15\" \"SaveCommand\">>.\n\n{{$:/language/Help/savetiddler}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/commands/SaveTiddlersCommand.tid",
    "content": "caption: savetiddlers\ncreated: 20140609121606089\ntags: Commands $:/deprecated\ntitle: SaveTiddlersCommand\ntype: text/vnd.tiddlywiki\n\n<<.deprecated-since \"5.1.15\" \"SaveCommand\">>.\n\n{{$:/language/Help/savetiddlers}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/commands/SaveWikiFolderCommand.tid",
    "content": "title: SaveWikiFolderCommand\ntags: Commands\ncreated: 20190414110120829\nmodified: 20190414110120829\ncaption: savewikifolder\n\n{{$:/language/Help/savewikifolder}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/commands/ServerCommand.tid",
    "content": "caption: server\ncreated: 20131219163923630\nmodified: 20180626150505679\ntags: Commands $:/deprecated\ntitle: ServerCommand\ntype: text/vnd.tiddlywiki\n\n<<.deprecated-since \"5.1.18\" \"ListenCommand\">>.\n\n''Note that the `--server` command is now deprecated in favour of the new ListenCommand''.\n\nSee WebServer for details of TiddlyWiki's web server functionality.\n\n{{$:/language/Help/server}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/commands/SetFieldCommand.tid",
    "content": "title: SetFieldCommand\ntags: Commands\ncreated: 20140609121606089\nmodified: 20140609121606089\ncaption: setfield\n\n{{$:/language/Help/setfield}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/commands/UnpackPluginCommand.tid",
    "content": "created: 20141029114305697\nmodified: 20141029114305697\ntags: Commands\ntitle: UnpackPluginCommand\ntype: text/vnd.tiddlywiki\ncaption: unpackplugin\n\n{{$:/language/Help/unpackplugin}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/commands/VerboseCommand.tid",
    "content": "title: VerboseCommand\ntags: Commands\ncaption: verbose\n\n{{$:/language/Help/verbose}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/commands/VersionCommand.tid",
    "content": "title: VersionCommand\ntags: Commands\ncaption: version\n\n{{$:/language/Help/version}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/Articles.tid",
    "content": "created: 20140320230543190\nmodified: 20160602172752299\ntags: Resources\ntitle: Articles\ntype: text/vnd.tiddlywiki\n\nHere are some recent articles written about ~TiddlyWiki. Submit new articles via GitHub or by posting in the [[TiddlyWiki Groups|Forums]].\n\n<div class=\"tc-link-info\">\n\n<$list filter=\"[tag[Articles]!sort[modified]]\">\n\n<div class=\"tc-link-info-item\">\n\n! <$link><$view field=\"title\"/></$link>\n\n<div class=\"tc-subtitle\">Posted <$view field=\"modified\" format=\"relativedate\"/></div>\n\n<$transclude/>\n\n</div>\n\n</$list>\n\n</div>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/Chinese Community.tid",
    "content": "title: 中文社区 - Chinese Community\ntags: Community\n\n* 大家可以一起编辑的中文社区教程项目：\n*# 主站：[ext[https://tw-cn.netlify.app/]]\n*# 加速访问：[ext[https://tw-cn.cpolar.top/]]\n*# 备用：[ext[https://tiddly-wiki-chinese-tutorial.vercel.app]]\n* 太微中文交流论坛：[ext[https://talk.tidgi.fun/topic/6]]\n* 太微官网汉化版：[ext[https://bramchen.github.io/tw5-docs/zh-Hans/]]\n* 最适合新手的中文入门教程：[ext[https://keatonlao.github.io/tiddlywiki-xp/]]\n* TiddlyWiki 爱好者 QQ 群： 946052860 \n*# [ext[点击链接加入群聊【TiddlyWiki爱好者】|https://qm.qq.com/q/13SFxVArlu]]\n*# [ext[点击链接加入腾讯频道【太微TiddlyWiki】|https://pd.qq.com/s/474hgpll1]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/Community Editions.tid",
    "content": "created: 20210101150806938\nmodified: 20230803053451496\ntags: Resources\ntitle: Community Editions\n\nThese are prepackaged editions created by the ~TiddlyWiki [[Community]]. These are ~TiddlyWikis with added plugins and configurations to facilitate a certain use-case. These are great starting points if you want to quickly jump into TiddlyWiki and start using it without spending too much time configuring yourself.\n\n<div class=\"tc-link-info\">\n\n<$list filter='[tag[Community Editions]!sort[modified]]'>\n\n<div class=\"tc-link-info-item\">\n\n! <$link><$view field=\"title\"/></$link>\n\n<div class=\"tc-subtitle\">Posted <$view field=\"modified\" format=\"relativedate\"/></div>\n\n<$transclude/>\n\n</div>\n\n</$list>\n\n</div>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/Community Links Aggregator.tid",
    "content": "title: Community Links Aggregator\ntags: Community\nmodified: 20210322151848025\ncreated: 20210322151848025\n\nThe ~TiddlyWiki Community Links Aggregator is a collection of regularly updated links to useful and interesting TiddlyWiki material curated by our team of community editors. The site aggregates links curated by individual members of the TiddlyWiki community. It lets you see the latest links, and explore them through categories and timelines.\n\nhttps://links.tiddlywiki.org/\n\nThis site works best with a crowd of people posting links. The pressure on individuals is reduced because not everybody needs to catch every interesting link that flies past. The aggregation effects reduce the impact of mistakes. For example, if one person mis-tags a link under an inappropriate topic, the site will show that only one person added that tag, versus the majority using more appropriate tags. In that way, we hope that a sort of wisdom of the crowds will emerge, with consensus emerging as to the most useful ways to describe and categorise links.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/Community Palettes.tid",
    "content": "created: 20210101152520906\nmodified: 20210101152533358\ntags: Resources\ntitle: Community Palettes\n\nThis is a list of palettes made by members of the ~TiddlyWiki [[Community]]. Palettes change the colourscheme of TiddlyWiki and can be used in combination with themes.\n\n<div class=\"tc-link-info\">\n\n<$list filter='[tag[Community Palettes]!sort[modified]]'>\n\n<div class=\"tc-link-info-item\">\n\n! <$link><$view field=\"title\"/></$link>\n\n<div class=\"tc-subtitle\">Posted <$view field=\"modified\" format=\"relativedate\"/></div>\n\n<$transclude/>\n\n</div>\n\n</$list>\n\n</div>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/Community Plugins.tid",
    "content": "created: 20210101150806938\nmodified: 20210101151403345\ntags: Resources\ntitle: Community Plugins\n\nThese are plugins created by the ~TiddlyWiki [[Community]]. Visit their website to try out the plugin. Carefully read the installing instructions and back up before installing! These plugins may not always be up to date and can contain bugs or unwanted behaviour.  For even more plugins, visit the [[TiddlyWiki Groups|Forums]]. New plugins get posted and announced there first.\n\n<div class=\"tc-link-info\">\n\n<$list filter='[tag[Community Plugins]!sort[modified]]'>\n\n<div class=\"tc-link-info-item\">\n\n! <$link><$view field=\"title\"/></$link>\n\n<div class=\"tc-subtitle\">Posted <$view field=\"modified\" format=\"relativedate\"/></div>\n\n<$transclude/>\n\n</div>\n\n</$list>\n\n</div>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/Community Survey 2025.tid",
    "content": "title: Community Survey 2025\ncreated: 20250708130030654\nmodified: 20250826162904085\n\n<div style.float=\"right\" style.padding-left=\"1em\">\n<$image source=\"Community Survey 2025\" alt=\"Shaping the future of TiddlyWiki with the Community Survey 2025\" width=\"280\"/>\n</div>\n\nThe core developers work hard year by year to continuously improve ~TiddlyWiki. Part of the satisfaction is that we are not just building software for ourselves, we’re serving the needs of a wider community of users.\n\nThat begs the question of how we can understand the needs of these other users. We do it in an informal way through every interaction with users on the forum, or on GitHub, but once in a while it can be useful to do take a more formal approach, and so we undertook the ~TiddlyWiki Community Survey 2025. This brief, anonymous survey was designed to give us insight into the needs of TiddlyWiki users, with a mix of structured and freeform questions.\n\nThe [[raw results|https://ec.europa.eu/eusurvey/publication/tiddlywiki-users-2025]] of the survey are available in TiddlyWiki form on this new site:\n\nhttps://tiddlywiki.com/surveys.html\n\nThe results of this survey will help inform future developments, helping us focus on what would make TiddlyWiki better for you, both as software and as a community. Even longer-term, it will help us refine the future vision of the project, ensuring it is based on the needs of our community. We intend to publish further analysis of the survey results in the coming weeks.\n\n!! The Great Viral TiddlyWiki Interview Project (2010)\n\nThe new Surveys site also include the \"The Great Viral TiddlyWiki Interview Project\" from 2010. We invited TiddlyWiki users to join the interview project with these words:\n\n> For many people that use it. there is a distinct discovery moment when TiddlyWiki explodes in their brain. For others, it is a challenge to get their heads around TiddlyWiki at all.\n>\n> This project explores how people think about TiddlyWiki by collecting together responses to a set of questions about it.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/Community Themes.tid",
    "content": "created: 20210101152520906\nmodified: 20210101152533358\ntags: Resources\ntitle: Community Themes\n\nThis is a list of themes made by members of the ~TiddlyWiki [[Community]]. Themes change the look and feel of TiddlyWiki, allowing for another degree of customisation. Installing themes works [[the same as plugins.|Manually installing a plugin]]\n\n<div class=\"tc-link-info\">\n\n<$list filter='[tag[Community Themes]!sort[modified]]'>\n\n<div class=\"tc-link-info-item\">\n\n! <$link><$view field=\"title\"/></$link>\n\n<div class=\"tc-subtitle\">Posted <$view field=\"modified\" format=\"relativedate\"/></div>\n\n<$transclude/>\n\n</div>\n\n</$list>\n\n</div>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/Community.tid",
    "content": "created: 20130909151600000\nmodified: 20250909171928024\ntags: TableOfContents Welcome\ntitle: Community\ntype: text/vnd.tiddlywiki\n\nThe TiddlyWiki community is an enthusiastic group of users and developers who work together to make TiddlyWiki better, and help each other get the best out of it.\n\n<<tabs \"[[TiddlyWiki Project]] [[TiddlyWiki People]] Forums\" \"TiddlyWiki Project\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/Contributing.tid",
    "content": "created: 20131101111400000\nmodified: 20250818012527342\ntags: Community\ntitle: Contributing\ntype: text/vnd.tiddlywiki\n\nHere we focus on contributions via GitHub Pull Requests but there are many other ways that anyone can help the TiddlyWiki project, such as [[reporting bugs|ReportingBugs]] or helping to [[improve our documentation|Improving TiddlyWiki Documentation]].\n\n! Rules for Pull Requests\n\nPRs must meet these minimum requirements before they can be considered for merging:\n\n* The material in the PR must be free of licensing restrictions. Which means that either:\n** The author must hold the copyright in all of the material themselves\n** The material must be licensed under a license compatible with TiddlyWiki's BSD license\n* The author must sign the Contributors License Agreement (see below)\n* Each PR should only make a single feature change\n* The title of the PR should be 50 characters or less\n* The title of the PR should be capitalised (first letter of first word only, and proper nouns if any), and should not end with a period\n* The title of the PR should be written in the imperative mood. See below\n* Adequate explanation in the body of the PR for the motivation and implementation of the change. Focus on the //why// and //what//, rather than the //how//\n* PRs must be self-contained. Although they can link to material elsewhere, everything needed to understand the intention of the PR should be included\n* Any visual changes introduced by the PR should be noted and illustrated with before/after screenshots\n* Documentation as appropriate for end-users or developers\n* Observe the coding style\n* Read the developers documentation\n* Please open a consultation issue prior to investing time in making a large PR\n\n!! Imperative Mood for PR Titles\n\nThe \"imperative mood\" means written as if giving a command or instruction. See [[this post|https://chris.beams.io/posts/git-commit/#imperative]] for more details, but the gist is that the title of the PR should make sense when used to complete the sentence \"If applied, this commit will...\". So for example, these are good PR titles:\n\n* If applied, this commit will //update the contributing guidelines//\n* If applied, this commit will //change css-escape-polyfill to a $tw.utils method//\n* If applied, this commit will //make it easier to subclass the wikitext parser with a custom rule set//\n\nThese a poorly worded PR titles:\n\n* ~~If applied, this commit will //edit text widgets should use default text for missing fields//~~\n* ~~If applied, this commit will //signing the CLA//~~\n* ~~If applied, this commit will //don't crash if options.event is missing//~~\n\nPR titles may also include a short prefix to indicate the subsystem to which they apply. For example:\n\n* //Menu plugin: Include menu text in aerial rotator//\n\n! Commenting on Pull Requests\n\nOne of the principles of open source is that many pairs of eyes on the code can improve quality. So, we welcome comments and critiques of pending PRs. [[Conventional Comments|https://conventionalcomments.org]] has some techniques to help make comments as constructive and actionable as possible. Notably, they recommend prefixing a comment with a label to clarify the intention:\n\n|praise |Praises highlight something positive. Try to leave at least one of these comments per review. Do not leave false praise (which can actually be damaging). Do look for something to sincerely praise |\n|nitpick |Nitpicks are small, trivial, but necessary changes. Distinguishing nitpick comments significantly helps direct the reader's attention to comments requiring more involvement |\n|suggestion |Suggestions are specific requests to improve the subject under review. It is assumed that we all want to do what's best, so these comments are never dismissed as “mere suggestions”, but are taken seriously |\n|issue |Issues represent user-facing problems. If possible, it's great to follow this kind of comment with a suggestion |\n|question |Questions are appropriate if you have a potential concern but are not quite sure if it's relevant or not. Asking the author for clarification or investigation can lead to a quick resolution |\n|thought |Thoughts represent an idea that popped up from reviewing. These comments are non-blocking by nature, but they are extremely valuable and can lead to more focused initiatives and mentoring opportunities |\n|chore |Chores are simple tasks that must be done before the subject can be “officially” accepted. Usually, these comments reference some common process. Try to leave a link to the process description so that the reader knows how to resolve the chore |\n\n! Contributor License Agreement\n\n{{Contributor License Agreement}}\n\n! How to sign the CLA\n\n{{Signing the Contributor License Agreement}}\n\n---\n\n//The CLA documents used for this project were created using [[Harmony Project Templates|http://www.harmonyagreements.org]]. \"HA-CLA-I-LIST Version 1.0\" for \"CLA-individual\" and \"HA-CLA-E-LIST Version 1.0\" for \"CLA-entity\".//\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/Contributor License Agreement.tid",
    "content": "created: 20150630205511173\nmodified: 20230803053548871\ntags: \ntitle: Contributor License Agreement\ntype: text/vnd.tiddlywiki\n\nLike other OpenSource projects, TiddlyWiki5 needs a signed contributor license agreement from individual contributors. This is a legal agreement that allows contributors to assert that they own the copyright of their contribution, and that they agree to license it to the [[UnaMesa]] Association (the legal entity that owns TiddlyWiki on behalf of the community).\n\n* For individuals use: [[licenses/CLA-individual|https://github.com/TiddlyWiki/TiddlyWiki5/tree/tiddlywiki-com/licenses/cla-individual.md]]\n* For entities use: [[licenses/CLA-entity|https://github.com/TiddlyWiki/TiddlyWiki5/tree/tiddlywiki-com/licenses/cla-entity.md]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/Examples.tid",
    "content": "created: 20140320230543190\nmodified: 20160602172745917\ntags: Resources\ntitle: Examples\ntype: text/vnd.tiddlywiki\n\nThis collection showcases inspiring and interesting examples of ~TiddlyWiki being used in the wild. Submit new entries to this collection via GitHub or by posting in the [[TiddlyWiki Groups|Forums]].\n\n<div class=\"tc-link-info\">\n\n<$list filter=\"[tag[Examples]!sort[modified]]\">\n\n<div class=\"tc-link-info-item\">\n\n! <$link><$view field=\"title\"/></$link>\n\n<div class=\"tc-subtitle\">Posted <$view field=\"modified\" format=\"relativedate\"/></div>\n\n<$transclude/>\n\n</div>\n\n</$list>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/Forums.tid",
    "content": "created: 20140721121924384\nmodified: 20240925113748341\ntags: Community\ntitle: Forums\ntype: text/vnd.tiddlywiki\n\n!!! Users\n\nThe official TiddlyWiki forum is a place to talk about ~TiddlyWiki: requests for help, [[announcements|https://talk.tiddlywiki.org/c/announcements/20]] of new releases and plugins, debating new features, or just sharing experiences. You can participate via the associated website, or subscribe via email.\n\nhttps://talk.tiddlywiki.org/\n\nOther Forums:\n\n!!! Google Groups\n\n<<<\nFor the convenience of existing users, we also continue to operate the original ~TiddlyWiki group (hosted on Google Groups since 2005): https://groups.google.com/group/TiddlyWiki\n<<<\n\n! Developer Forums\n\n{{Developers}}\n\n! Other Forums\n\n* [[TiddlyWiki Subreddit|https://www.reddit.com/r/TiddlyWiki5/]]\n* Chat on Discord at https://discord.gg/HFFZVQ8\n\n!! Developers\n\n{{Developers}}"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/HelpingTiddlyWiki.tid",
    "content": "created: 20130825160500000\nmodified: 20151010131218969\ntags: Community\ntitle: HelpingTiddlyWiki\ntype: text/vnd.tiddlywiki\n\nIf you find TiddlyWiki useful, there are lots of ways you can help assure its future and make it better.\n\n! Teach and Tell\n\nOpenSource projects like ~TiddlyWiki thrive on the feedback and engagement of users. ~TiddlyWiki becomes more useful to everyone as more and more people use it. So, if you find ~TiddlyWiki useful, spread the word. The best possible way to assure its future is for it to become a hundred times more popular than before.\n\n* [img[https://img.shields.io/github/stars/jermolene/tiddlywiki5.svg?style=social&label=Star]]\n* [[Star the TiddlyWiki5 GitHub Repository|https://github.com/TiddlyWiki/TiddlyWiki5]]\n* [[Display the TiddlyWiki Poster|https://tiddlywiki.com/poster]]\n\n[img width=232 [Tiddler Poster.png]]\n\n! Help improve the documentation and code\n\nThere are many ways you can contribute to ~TiddlyWiki:\n\n* Writing tutorials\n* Contributing to the documentation on tiddlywiki.com\n* Making video screencasts\n* Curating relevant links, hints and tips on a wiki\n\nThe main ~TiddlyWiki documentation and code lives on GitHub, and welcomes [[contributions|Contributing]]:\n\n* https://github.com/TiddlyWiki/TiddlyWiki5\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/Improving TiddlyWiki Documentation.tid",
    "content": "created: 20140820151051019\nmodified: 20251023154718268\ntags: Community\ntitle: Improving TiddlyWiki Documentation\ntype: text/vnd.tiddlywiki\n\nAnyone can submit improvements to the TiddlyWiki documentation that appears on https://tiddlywiki.com. (For improvements to the core code a more complicated process must be used because of the need to test the changes both in the browser and under Node.js before submission).\n\n<<.warning \"\"\"If you already know GitHub, note that documentation updates must be directed to the `tiddlywiki-com` branch\"\"\">>\n\n! Before you start editing\n\n# Read and observe the [[Documentation Style Guide]]\n# Create an account on https://github.com if you don't already have one\n# If you haven't done so already, sign the [[Contributor License Agreement]] as described in [[Signing the Contributor License Agreement]]\n\n! Editing and submitting your edits\n\nYou can choose to edit the documentation using the [[TiddlyWiki Docs PR Maker]] or directly in ~GitHub. The first method is especially recommended for users not familiar with ~GitHub.\n\n!! Using [[Docs PR Maker|TiddlyWiki Docs PR Maker]] edition\n\n# Go to https://edit.tiddlywiki.com or click the link displayed in the ribbon underneath the title when editing a tiddler on tiddlywiki.com\n# Go through the quick introduction where you will need to provide your ~GitHub username and a ~GitHub access token (you will be guided in creating one)\n# Edit or create tiddlers to update the documentation, the wiki will keep track of all changes\n# Click the \"Submit updates\" button and check if all the tiddlers that you edited are included in the submission; if not, drag them into the box\n# Provide a concise title and description of your changes (see the rules about titling pull requests in [[contribution guidelines|Contributing]])\n# Submit your changes:\n** \"Save as draft\" will create a //draft// pull request, this is useful if you don't want the changes to be merged //yet//, because you want to work on it later or discuss it first\n** \"Submit documentation update\" will create a pull request, which will be immediately available for review and merging \n\n!! Using ~GitHub\n\n# On https://tiddlywiki.com, click \"edit\" on the tiddler you want to improve\n# You should see a pink banner with the text: //Can you help us improve this documentation? Find out how to edit this tiddler on ~GitHub//\n# Click on the external link ...''this tiddler on ~GitHub''\n## You will be prompted that \"you need to fork this repository to propose changes\". A \"fork\" is your own copy of the repository that incorporates the changes you are proposing\n# A new browser tab should open ready to edit the tiddler on github.com\n# Below the edit box for the tiddler text you should see a box labelled ''Propose file change''\n# Enter a brief title to explain the change (eg, \"Clarify attribute syntax instability\")\n# If necessary, enter a longer description too\n# Click the green button labelled ''Propose file change''\n# On the following screen, click the green button labelled ''Create pull request''\n\n[[Jermolene|https://github.com/Jermolene]] or one of the other core developers will then have the opportunity to merge your pull request so that it is incorporated into the next build of https://tiddlywiki.com.\n\nMario Pietsch has created these short video tutorials:\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/L4zTkMYcri8\" frameborder=\"0\" allowfullscreen></iframe>\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/6ElUruH92tc\" frameborder=\"0\" allowfullscreen></iframe>\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/axFCk9KsMFc\" frameborder=\"0\" allowfullscreen></iframe>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/Latest.tid",
    "content": "created: 20140321090511826\nmodified: 20140919170549958\ntags: Resources\ntitle: Latest\ntype: text/vnd.tiddlywiki\n\nThe latest news, articles, resources and examples.\n\n<div class=\"tc-link-info\">\n\n<$list filter=\"[tag[Articles]] [tag[Examples]] [tag[Resources]] [tag[Tutorials]] +[!sort[modified]limit[8]]\">\n\n<div class=\"tc-link-info-item\">\n\n! <$link><$view field=\"title\"/></$link>\n\n<div class=\"tc-subtitle\">Posted <$view field=\"modified\" format=\"relativedate\"/></div>\n\n<$transclude/>\n\n</div>\n\n</$list>\n\n</div>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/Meetups.tid",
    "content": "created: 20140721121924384\nmodified: 20160712121508468\ntags: Resources\ntitle: Meetups\ntype: text/vnd.tiddlywiki\n\nLocal meetings around the world for ~TiddlyWiki people:\n\n* The [[TiddlyWiki European Meetup 2016]] and [[TiddlyWiki European Meetup 2017]] in Oxford, UK\n* [[OXTWIG]], the ''Oxford ~TiddlyWiki Interest Group'' meets monthly in Oxford, UK to share experiences of using TiddlyWiki\n* ''[[TiddlyWiki Camp Paris]]'' is an all day celebration and exploration of TiddlyWiki for experienced users and beginners alike\n\n//If you are a ~TiddlyWiki enthusiast please consider starting a local TWIG in your area, it's a great way to spread the word about using TiddlyWiki//\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/OXTWIG.tid",
    "content": "created: 20140222133223882\nmodified: 20140912150349097\ntags: Meetups Videos\ntitle: OXTWIG\ntype: text/vnd.tiddlywiki\n\nThe ''Oxford ~TiddlyWiki Interest Group'' meets monthly for discussions and demonstrations about TiddlyWiki.\n\nSee https://oxtwig.eventbrite.co.uk/ for details of our next meeting.\n\nWe have an email discussion list, too: https://groups.google.com/forum/#!members/oxtwig\n\n! OXTWIG #2\n\nThe second OXTWIG meeting was held on Thursday 16th January 2014:\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/WOK_nVBf_6U\" frameborder=\"0\" allowfullscreen></iframe>\n\n! OXTWIG #1\n\nThe first OXTWIG meeting was held on Thursday 21st November 2013:\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/tpNf_Dms_TE\" frameborder=\"0\" allowfullscreen></iframe>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/Other Resources.tid",
    "content": "created: 20210101152520906\nmodified: 20210101152533358\ntags: Resources\ntitle: Other Resources\n\nThis list contains any usefull resource that have been shared with the ~TiddlyWiki Community that doesn fit the previous categories. They may be, macros, widgets, code snippts, ideas or more.\n\n<div class=\"tc-link-info\">\n\n<$list filter='[tag[Other Resources]!sort[modified]]'>\n\n<div class=\"tc-link-info-item\">\n\n! <$link><$view field=\"title\"/></$link>\n\n<div class=\"tc-subtitle\">Posted <$view field=\"modified\" format=\"relativedate\"/></div>\n\n<$transclude/>\n\n</div>\n\n</$list>\n\n</div>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/ReportingBugs.tid",
    "content": "created: 20140604204709181\nmodified: 20140910212541960\ntags: Community\ntitle: ReportingBugs\ntype: text/vnd.tiddlywiki\n\nYou can report bugs or problems with TiddlyWiki via our [[discussion groups|Forums]]. If you have a GitHub account then you can raise an issue there:\n\nhttps://github.com/TiddlyWiki/TiddlyWiki5/issues/new\n\nUnless you are already familiar with GitHub, it's usually easiest to report problems through the discussion groups.\n\n! TiddlyWiki on GitHub\n\nWe use GitHub Issues to manage bug reports and feature requests for TiddlyWiki. To maintain their effectiveness we endeavour to have as few open issues as possible.\n\n!! Policies for Managing Issues\n\nOpen issues should be actionable: generally either a reproducible bug report, or a specific feature request. From the perspective of the core developers, the issues list behaves like a shared todo list. Every item on the list requires a little bit of attention each time we check the list.\n\nGitHub Issues are not very good for managing ideas that are not immediately actionable. Better to use the [[TiddlyWiki discussion groups|Forums]] for open ended questions, or speculative discussions of new features.\n\n!! Creating Issues\n\nBefore creating a GitHub issue it is good etiquette to search through the existing issues to see whether the problem has already been reported. If a search isn't practical, don't worry too much; GitHub makes it easy to merge existing issues.\n\nWhen you do create an issue, remember that for effective debugging, we need as much information as possible. At a minimum, please try to include:\n\n* A descriptive title\n* A summary\n* Steps to reproduce\n* Expected behaviour\n* Context (OS, browser etc.)\n\nConsider also adding screenshots if it makes things clearer.\n\nThere's a lot of good material on the web about bug reports:\n\n* http://mhay68.tumblr.com/post/1648223018/what-makes-a-good-bug-report\n* http://www.chiark.greenend.org.uk/~sgtatham/bugs.html\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/Resources.tid",
    "content": "created: 20250909171928024\nmodified: 20250909171928024\ntags: Community\ntitle: Resources\ntype: text/vnd.tiddlywiki\n\nThe [[Community Links Aggregator]] is the preferred way to share and discover community resources.\n\nThese links were largely collected before the aggregator was created, and are retained for historical purposes.\n\n<<tabs \"Latest Tutorials [[Community Editions]] [[Community Plugins]] [[Community Themes]] [[Community Palettes]] [[Other Resources]] Examples Articles Meetups\" \"Latest\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/Signing the Contributor License Agreement.tid",
    "content": "created: 20150630205653005\nmodified: 20250818013754508\ntags: \ntitle: Signing the Contributor License Agreement\ntype: text/vnd.tiddlywiki\n\nCreate a GitHub pull request to add your name to `cla-individual.md` or `cla-entity.md`, with the date in the format (YYYY/MM/DD).\n\n''step by step''\n\n# Navigate to [[licenses/CLA-individual|https://github.com/TiddlyWiki/TiddlyWiki5/tree/tiddlywiki-com/licenses/cla-individual.md]] or [[licenses/CLA-entity|https://github.com/TiddlyWiki/TiddlyWiki5/tree/tiddlywiki-com/licenses/cla-entity.md]] according to whether you are signing as an individual or representative of an organisation\n# Ensure that the \"branch\" dropdown at the top left is set to `tiddlywiki-com`\n# Click the \"edit\" button at the top-right corner (clicking this button will fork the project so you can edit the file)\n# Add your name and GitHub handle at the bottom\n#* eg: `Jeremy Ruston, @Jermolene, 2011/11/22`\n# Below the edit box for the CLA text you should see a box labelled ''Propose file change''\n# Enter a brief title to explain the change (eg, \"Signing the CLA\")\n# Click the green button labelled ''Propose file change''\n# On the following screen, click the green button labelled ''Create pull request''\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/TW Icons by morosanuae.tid",
    "content": "created: 20210204010508263\nmodified: 20211113225941563\ntags: Images SVG Icons [[Other Resources]]\ntitle: \"TW Icons\" by morosanuae\ntype: text/vnd.tiddlywiki\nurl: https://morosanuae.github.io/tw-icons\n\n> A large collection of icons for TiddlyWiki.\n{{!!url}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/TiddlyWiki Camp Paris.tid",
    "content": "created: 20150612095925878\nmodified: 20150612100105269\ntags: Meetups\ntitle: TiddlyWiki Camp Paris\ntype: text/vnd.tiddlywiki\n\nThe first TiddlyWiki Camp Paris was held on Saturday 6th June 2015.\n\nhttp://paris.twcamp.info\n\n> Bienvenue sur le site du TiddlyWiki Camp. Un évènement pour rencontrer la communauté de ce logiciel Open Source, libre et gratuit. Découvrez ce bloc note personnel polyvalent et adoptez-le pour gérer votre quotidien !"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/TiddlyWiki Hangouts.tid",
    "content": "created: 20130823091700000\nmodified: 20211124214214045\ntags: Community Videos\ntitle: TiddlyWiki Hangouts\ntype: text/vnd.tiddlywiki\n\nThe TiddlyWiki community has held many Google Hangouts over the years. They are announced in the [[TiddlyWiki Google group|https://groups.google.com/d/forum/tiddlywiki]].\n\nPast Hangouts are archived in this ~YouTube playlist:\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/videoseries?list=PLVT_2PPd-1p34gGCQ5qpwC8QdykxVAI3u\" frameborder=\"0\" allowfullscreen></iframe>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/TiddlyWiki Newsletter.tid",
    "content": "title: TiddlyWiki Newsletter\nmodified: 20251219090240895\n\nThe ~TiddlyWiki Newsletter is a collection of news, announcements and discussions from the ~TiddlyWiki community.\n\nSubscribe here:\n\n!! https://tiddlywiki.substack.com/\n\nThe newsletter is produced by a small team of volunteers. We would welcome your help. See [[TiddlyWiki Newsletter Team]].\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/TiddlyWiki on the Web.tid",
    "content": "color: #808\ncreated: 20241009150445080\nicon: $:/core/images/link\nlist: TalkTiddlyWiki [[TiddlyWiki on YouTube]] [[TiddlyWiki on Reddit]] [[TiddlyWiki on Discord]] [[TiddlyWiki on GitHub]] [[TiddlyWiki on Mastodon]] [[TiddlyWiki on Open Collective]]\nmodified: 20241115170824144\ntags: Welcome\ntitle: TiddlyWiki on the Web\ntype: text/vnd.tiddlywiki\n\nLinks to the ~TiddlyWiki community elsewhere on the web.\n\n<div class=\"tc-cards tc-cards-vertical\">\n<$list filter=\"[tag[TiddlyWiki on the Web]]\">\n<$macrocall $name=\"flex-card-external\" backgroundcolor={{!!background-color}} textcolor={{!!text-color}} captionField=\"caption\"/>\n</$list>\n</div>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/TiddlyWiki_European_Meetup_2016.tid",
    "content": "created: 20160712121509718\nmodified: 20160712121548453\ntags: Meetups\ntitle: TiddlyWiki European Meetup 2016\ntype: text/vnd.tiddlywiki\n\nhttps://tiddlywiki.com/tiddlywiki-eu-meetup-2016/\n\nHere's the stream of day 1:\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/7o0ClSI7Tdg\" frameborder=\"0\" allowfullscreen></iframe>\n\nHere's day 2:\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/ipXyZkC8tjM\" frameborder=\"0\" allowfullscreen></iframe>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/TiddlyWiki_European_Meetup_2017.tid",
    "content": "created: 20170426210309235\nmodified: 20170426210309235\ntags: Meetups\ntitle: TiddlyWiki European Meetup 2017\ntype: text/vnd.tiddlywiki\n\nThe TiddlyWiki European Meetup 2017, Oxford, on June 10th and 11th 2017.\n\nFor more details:\n\nhttps://tiddlywiki.com/tiddlywiki-eu-meetup-2017/\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/Translate TiddlyWiki into your language.tid",
    "content": "created: 20141126153016142\nmodified: 20180701185730340\ntags: Community\ntitle: Translate TiddlyWiki into your language\ntype: text/vnd.tiddlywiki\n\nThere is a special edition of TiddlyWiki that simplifies creating and maintaining translations:\n\n* https://tiddlywiki.com/editions/translators/ to translate current version of ~TiddlyWiki\n* https://tiddlywiki.com/prerelease/editions/translators/ to translate latest prerelease version of ~TiddlyWiki\n\nNote that no knowledge of Node.js or GitHub is required.\n\nYou can translate ~TiddlyWiki on Node.js, type `tiddlywiki editions/translators --listen` and visit http://127.0.0.1:8080/ in your browser.\n\nSee https://tiddlywiki.com/dev for technical details of creating and maintaining translations.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/Tutorials.tid",
    "content": "created: 20140908125300000\nmodified: 20160602172722526\ntags: Resources\ntitle: Tutorials\ntype: text/vnd.tiddlywiki\n\nHere are some webpages with tips and tutorials related to ~TiddlyWiki.\n\n<div class=\"tc-link-info\">\n\n<$list filter=\"[tag[Tutorials]!sort[modified]]\">\n\n<div class=\"tc-link-info-item\">\n\n! <$link><$view field=\"title\"/></$link>\n\n<div class=\"tc-subtitle\">Posted <$view field=\"modified\" format=\"relativedate\"/></div>\n\n<$transclude/>\n\n</div>\n\n</$list>\n\n</div>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/articles/_A free, open source wiki revisited_ by Mark Gibbs, NetworkWorld.tid",
    "content": "created: 20160204225047445\nlost-url: http://www.networkworld.com/article/3028098/open-source-tools/tiddlywiki-a-free-open-source-wiki-revisited.html\nmodified: 20160204225307847\ntags: Articles\ntitle: \"A free, open source wiki revisited\" by Mark Gibbs, NetworkWorld\ntype: text/vnd.tiddlywiki\nurl: https://web.archive.org/web/20180911094717/https://www.networkworld.com/article/3028098/open-source-tools/tiddlywiki-a-free-open-source-wiki-revisited.html\n\nInteresting article giving the perspective of someone who has been away from TiddlyWiki for a few years:\n\n{{!!url}}\n\n<<<\nWay back in the mists of time (actually, January 2009) I wrote about a really cool tool called TiddlyWiki, a “non-linear personal web notebook”. Fast forward to today and I just had an out of body experience: Completely by accident I found a TiddlyWiki that I started when I wrote that piece and it still works! \n\nFinding code that works flawlessly after just two or three years is magical enough but after seven years?! And given that TiddlyWiki is written as a single page Web application and considering how different browsers are now than they were in 2009, the fact that the old version of TiddlyWiki still works is not short of miraculous.\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/articles/_Notizen mit TiddlyWiki systemubergreifend nutzen_ by Michael Sonntag.tid",
    "content": "created: 20140910102845245\nmodified: 20140910102845245\ntags: Articles\ntitle: \"Notizen mit TiddlyWiki systemübergreifend nutzen\" by Michael Sonntag\nurl: http://michaelsonntag.net/notizen-mit-tiddlywiki-systemuebergreifend-nutzen\n\nA quick guide to using TiddlyWiki (written in German)\n\n{{!!url}}\n\n<<<\nThose using multiple different computer platforms (if only PC and Android) knows for certain: You would like to sync notes across computers and thereby be independent of any apps or services. I am concerned at any rate so and so I am constantly looking for the perfect solution.\n\nWith TiddlyWiki I found it mostly. As the name suggests, it TiddlyWiki is a Wikisystem. In contrast to all other wikis, TiddlyWiki is a single HTML file that runs in the browser and thus can be used on all modern operating systems. And because there is only one file, it can be very easily via the well-known cloud services (Dropbox, Google Drive, ownCloud) or synchronized with FTP or used on a USB stick.\n<<<\n\n(Translation from German by Google Translate)\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/articles/_Setting Up a Personal TiddlyWiki Server on OS X_ by Kris Johnson.tid",
    "content": "created: 20150403104015626\nmodified: 20150403104206017\ntags: Articles\ntitle: \"Setting Up a Personal TiddlyWiki Server on OS X\" by Kris Johnson\ntype: text/vnd.tiddlywiki\nurl: http://undefinedvalue.com/2015/04/02/setting-personal-tiddlywiki-server-os-x\n\nDetailed description of setting up [[TiddlyWiki on Node.js]] on OS X.\n\n{{!!url}}\n\n<<<\nFor a new job, I decided to set up a personal wiki to keep notes. I wanted to keep it simple, meeting these requirements:\n\n* All the data is in a Dropbox folder (so it can be automatically synced between machines)\n* It must support Markdown syntax\n\nAfter looking at the options, I settled on TiddlyWiki. I've used \"classic TiddlyWiki\" before, and liked its simplicity, but I was always a little annoyed with the weird steps you have to go through to save changes. The new version of TiddlyWiki includes support for running it as a real HTTP server, so you can use it just like an online wiki.\n\nBut it took me a couple of hours to figure out how to set that up. The TiddlyWiki documentation is not clear (\"not clear\" is a euphemistic way of saying \"terrible\"). So, I've written up these instructions in the hope it will spare somebody else all the frustration I had.\n<<<\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/articles/_TiddlyWiki 5 im Betatest_ by besim.tid",
    "content": "created: 20140105085406905\nmodified: 20140105084548184\ntags: Articles\ntitle: \"TiddlyWiki 5 im Betatest\" by besim\nurl: http://blog.netplanet.org/2014/01/03/tiddlywiki-5-im-betatest/\n\nReaction to TiddlyWiki5 from the translator of the German edition of TiddlyWikiClassic.\n\n{{!!url}}\n\n<<<\nThere is little software that can still inspire me so even after years, as on the first day. This includes TiddlyWiki, the \"pocket-wiki\". The latter is because the Wiki completely fits into an HTML file, and this HTML file brings everything - JavaScript program logic, CSS appearance and the entire Wiki content as stored records. So a TiddlyWiki file is then sometimes happy times some megabytes in size, but just has the unbeatable advantage that it works just as fast file created locally in a variety of browsers.\n<<<\n\n(Translation from German by Google Translate)\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/articles/_TiddlyWiki_ by Sander de Boer.tid",
    "content": "created: 20141127163201036\nmodified: 20141127163201036\ntags: Articles\ntitle: \"TiddlyWiki\" by Sander de Boer\nurl: https://breinbout.wordpress.com/2014/11/26/tiddlywiki/\n\nDutch blog post about TiddlyWiki\n\n{{!!url}}\n\n<<<\nI'm allergic to websites that are highly dependent on JavaScript. I think that JavaScript has many useful applications to add functionality to a site, but content needs to be visible if JavaScript is switched off. I use the NoScript extension for Firefox and surf with pleasure over the Internet without spontaneous things happen that I do not give permission. I love JavaScript on a short leash. More crazier maybe I'm so excited about TiddlyWiki.\n<<<\n\n(Translation from Dutch by Google Translate)\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/editions/Drift by Tony K.tid",
    "content": "created: 20210101161529206\nmodified: 20230110220010665\ntags: [[Community Editions]]\ntitle: \"Drift - Collect, Organise, Grow.\" by Tony K\ntype: text/vnd.tiddlywiki\nurl: https://github.com/bmann/drift-tiddlywiki-template/tree/master/drift\n\nA adaptation of TiddlyWiki perfect for using as a Notebook sysetem.\n\n{{!!url}}\n\n<<<\nDrift is an adaptation of TiddlyWiki with the goal of helping you Collect. Organise. and Grow. your ideas while keeping tab on how they interconnect together and fluidly Drift from one to another.\n\nThe 2 main components of Drift are TWCrosslinks and DailyNotes so you never miss an idea\n\nDrift was inspired by TiddlyBlink / Stroll and adapted to fit my needs.\n<<<"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/editions/Stroll by David Gifford.tid",
    "content": "created: 20210101161104883\nmodified: 20210101201435693 \ntags: [[Community Editions]]\ntitle: \"Stroll - a Roam-like experience\" by David Gifford\nurl: https://giffmex.org/stroll/stroll.html\n\nA adaptation of TiddlyWiki perfect for using as a Notebook sysetem.\n\n{{!!url}}\n\n<<<\nStroll is a TiddlyWiki adaptation imitating certain features of Roam to help users easily see connections between their notes and navigate between them. Features include:\n\n* bi-directional links,\n* autocompletion when linking,\n* renaming of links upon changing tiddler titles,\n* side-by-side editing of multiple notes. \n<<<"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/editions/Tidme by oflg.tid",
    "content": "created: 20220417010615742\nmodified: 20231005060241771\ntags: [[Community Editions]]\ntitle: Tidme by oflg\ntype: text/vnd.tiddlywiki\nurl: https://github.com/oflg/Tidme\n\nLifelong knowledge, deep in Mind.\n\n{{!!url}}\n\nTidme uses advanced [[Incremental Learning|https://help.supermemo.org/wiki/Incremental_learning]] concepts to make it your powerful second brain for acquiring lifelong knowledge.\n\n* Read Articles like SuperMemo\n* Learn languages like LingQ\n* Memory Notes like Anki"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/editions/_Cardo-A Task and Project Management Wiki_ by David_Szego.tid",
    "content": "created: 20141122093837330\nlost-url: http://cardo.wiki\nmodified: 20210106151026996\ntags: [[Community Editions]]\ntitle: \"Cardo - Task and Project Management Wiki\" by David Szego\ntype: text/vnd.tiddlywiki\nurl: https://web.archive.org/web/20181114094516/http://cardo.wiki/#Joe%20Cardo:%5B%5BJoe%20Cardo%5D%5D\n\nTask & Delegation Tracking, Meetings & Agenda Items, Project Roles, Progress & Status Updates, Reference Items, Tickler Calendar, Conversation Logging, Book Notes & Library, and More!\n\n{{!!url}}\n\n<<<\nCardo is a standalone, browser-based tool that can be used as a simple task manager, or as a complex Project Management system (and indeed, I do use it this way in my daily work) as well as a fully Wiki-ized personal knowledge store. It runs completely independently in the browser, even without an Internet connection, making it possible to carry around on a USB stick, or to use on the morning commute.\n<<<\n\n\n* https://cardo-revisited.tiddlyhost.com (re-activated TW v5.3.8)\n* https://cardo-dyumnin.tiddlyhost.com (TW v5.1.19)\n\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/editions/_Noteself_ by Danielo Rodriguez.tid",
    "content": "caption: Noteself\ncolor: #29B6F6\ncommunity-author: Danielo Rodríguez\ncreated: 20141122093837330\ndelivery: Web Service\ndescription: Free online service that you can also host yourself\nmethod: sync\nmodified: 20211113010826610\ntags: Android Chrome Firefox [[Internet Explorer]] Linux Mac Opera PHP Safari Saving Windows iOS Edge [[Community Editions]] [[Other Resources]]\ntitle: \"Noteself\" by Danielo Rodríguez\ntype: text/vnd.tiddlywiki\nurl: https://noteself.github.io/\n\n~NoteSelf is your personal, private, customisable, Evernote-like experience.\nYou want cloud? Fine! You don't? Fine too! It's all yours, It's your decision!\nWhy not be a bit selfish?\n\nhttps://noteself.github.io/\n\n<<<\n~NoteSelf is the perfect place to store your ideas, notes, thoughts, tips, tricks, recipes... \nwhatever you want to put into it! ~NoteSelf will store, index, and make it easily \nsearchable, so you will find it instantly whenever you need it! \n\nYou already know and love Evernote, we know it. It is comfortable, it syncs, has search capabilities...\nWow, it's almost perfect, but what about:\n\n* Privacy - Everything is stored on the Evernote's servers!\n* Customisation - If you don't like the interface of Evernote, there's nothing you can do\n\n~NoteSelf is built on top of ~TiddlyWiki, a powerful, free, highly customisable and open-source personal wiki.\nWe took the best of it, it's powerful customisation system, and mixed it with one of the best\nembedded databases available, [[PouchDb|http://www.pouchdb.com]], for bringing the synchronisation capabilities you need.\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/examples/A Thesis Notebook.tid",
    "content": "created: 20130302085406905\nmodified: 20130302084548184\ntags: Examples\ntitle: \"A Thesis Notebook\" by Alberto Molina\nurl: http://tesis.tiddlyspot.com/\n\nA thesis notebook based on TiddlyWiki.\n\n{{!!url}}\n\n<<<\nThis is an example of a thesis notebook powered by TiddlyWiki 5.0.8-beta.\n\nTiddlyWiki is a great piece of software created by Jeremy Ruston. It allows you, among other things, to take notes, organise ideas, store information, and display all your stuff the way you want. It is an incredibly flexible tool you can adapt to fit almost all your needs.\n\nThis TiddlyWiki has been customized to serve as a philosophy notebook centered around authors, books and papers, concepts and theories, and personal notes. I use it along with Zotero, which is a dedicated bibliography software. Both are free, open source projects. TiddlyWiki can be downloaded at https://tiddlywiki.com.\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/examples/GitFixUm.tid",
    "content": "created: 20150621212120755\nmodified: 20150621214507584\ntags: Examples\ntitle: Interactive Git Documentation by Devin Weaver\nurl: http://sukima.github.io/GitFixUm/\n\nA git choose-your-own-adventure!ⓡ for walking yourself though fixing a //broken// Git repository.\n\n{{!!url}}\n\n<<<\nThis document is an attempt to be a fairly comprehensive guide to recovering from what you did not mean to do when using git. It isn't that git is so complicated that you need a large document to take care or your particular problem, it is more that the set of things that you might have done is so large that different techniques are needed depending on exactly what you have done and what you want to have happen.\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/examples/PESpot Lesson Planner by Patrick Detzner.tid",
    "content": "created: 20150403104722092\nmodified: 20150403105247619\ntags: Examples\ntitle: PESpot Lesson Planner by Patrick Detzner\ntype: text/vnd.tiddlywiki\nurl: http://pespot.tiddlyspot.com\n\nA system for lesson planning built with TiddlyWiki.\n\n{{!!url}}\n\n<<<\nI built a program to help enter and store lesson plan information and then facilitate/automate some of the tedious work involved in creating the actual lesson plan document.\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/examples/PETTIL.tid",
    "content": "created: 20140716085406905\nmodified: 20140716084548184\ntags: Examples\ntitle: \"PETTIL - Forth for the Commodore PET\" by Charlie Hitselberger\ntype: text/vnd.tiddlywiki\nurl: http://pettilmobile.com\n\nA fast Forth interpreter for the [[Commodore PET|https://en.wikipedia.org/wiki/Commodore_PET]], written in 6502 assembly language. The TiddlyWiki containing program documentation is automatically generated from the source code: see https://github.com/chitselb/pettil.\n\n{{!!url}}\n\n<<<\nObjectives of the project are, in no particular order:\n\n* make a Forth that runs on my Commodore PET 2001\n* have fun\n* improve my \"6502 assembly golf\" skills\n* find other people who are interested in this project\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/examples/Reveal.js by Devin Weaver.tid",
    "content": "created: 20200907161522189\nmodified: 20211113230558637\ntags: [[Other Resources]]\ntitle: \"Reveal.js\" by Devin Weaver\ntype: text/vnd.tiddlywiki\nurl: https://sukima.github.io/tiddlywiki-reveal-js/\n\nEmbed [[Reveal.js|https://revealjs.com]] presentations inside your [[TiddlyWiki]].\n\n{{!!url}}\n\n<<<\nreveal.js enables you to create beautiful interactive slide decks using HTML.\n\nWith the power of TiddlyWiki and Reveal.js one can…\n\n* …make an interactive tiddler with fancy animations\n* …Make it go full screen for professional keynote\n* …Distribute the slideshow with examples and additional resources in one HTML file\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/examples/Simple Zork like Game.tid",
    "content": "created: 20141118143636664\nmodified: 20141118143636664\ntags: Examples\ntitle: Simple Zork-like Game by Jed Carty\nurl: http://zorklike.tiddlyspot.com\n\nA simple game built with TiddlyWiki, introduced in [[this post|https://groups.google.com/d/topic/tiddlywiki/4aRpZht1vOs/discussion]].\n\n{{!!url}}\n\n<<<\nI decided to see if it was possible to make some sort of game using only the core tiddlywiki with no plugins or javascript. I made a very bare bones zork/interactive fiction type game. It is currently the simplest thing I could make and claim it was a game, but I may add on to it in the future. It uses the 5.1.5 prerelease because the action-setfield widget saved lots of work making macros.\n\nOne goal of this is to use nothing besides what is contained in the core tiddlywiki, so there is no javascript and no plugins.\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/examples/TriTarget.org by Devin Weaver.tid",
    "content": "created: 20160424111304190\nmodified: 20160424112155381\ntags: Examples\ntitle: TriTarget.org by Devin Weaver\ntype: text/vnd.tiddlywiki\nurl: https://tritarget.org\n\nA personal website built with TiddlyWiki.\n\n{{!!url}}\n\n<<<\nTriTarget.org is a name I came up with in high school. I was big into computer programming and wanted a company name that was kinda catchy. When I made a few programs in BASIC I would brand them with TriTarget as a way to show off my company (Even though I didn't have one).\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/examples/_Lucky Sushi_ online shop by sini-Kit.tid",
    "content": "created: 20141122093837330\nlost-url: http://luckysushi.ru/habarovsk/heeg.html\nmodified: 20210106151027143\ntags: Examples\ntitle: \"Lucky Sushi\" online shop by sini-Kit\ntype: text/vnd.tiddlywiki\nurl: https://web.archive.org/web/20241127033249/http://luckysushi.ru/habarovsk/heeg.html#index\n\nA complete online shop made in ~TiddlyWiki!\n\n{{!!url}}\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/links/TalkTiddlyWiki.tid",
    "content": "title: TalkTiddlyWiki\ncaption: ~TalkTiddlyWiki\ntags: [[TiddlyWiki on the Web]]\nurl: https://talk.tiddlywiki.org/\nicon: $:/core/images/help\nbackground-color: #FF8C19\ntext-color: #fff\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/links/TiddlyWiki on Discord.tid",
    "content": "title: TiddlyWiki on Discord\ncaption: Discord\ntags: [[TiddlyWiki on the Web]]\nurl: https://discord.gg/HFFZVQ8\nicon: $:/core/images/globe\nbackground-color: #5462EB\ntext-color: #fff\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/links/TiddlyWiki on GitHub.tid",
    "content": "title: TiddlyWiki on GitHub\ncaption: ~GitHub\ntags: [[TiddlyWiki on the Web]]\nurl: https://github.com/TiddlyWiki/TiddlyWiki5\nicon: $:/core/images/github\nbackground-color: #444\ntext-color: #fff\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/links/TiddlyWiki on Mastodon.tid",
    "content": "title: TiddlyWiki on Mastodon\ncaption: Mastodon\ntags: [[TiddlyWiki on the Web]]\nurl: https://fosstodon.org/@TiddlyWiki\nicon: $:/core/images/mastodon\nbackground-color: #2b90d9\ntext-color: #fff\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/links/TiddlyWiki on Open Collective.tid",
    "content": "title: TiddlyWiki on Open Collective\ncaption: Open Collective\ntags: [[TiddlyWiki on the Web]]\nurl: https://opencollective.com/tiddlywiki\nicon: Open Collective Logo\nbackground-color: #0c2c66\ntext-color: #fff\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/links/TiddlyWiki on Reddit.tid",
    "content": "title: TiddlyWiki on Reddit\ncaption: Reddit\ntags: [[TiddlyWiki on the Web]]\nurl: https://www.reddit.com/r/TiddlyWiki5/\nicon: Reddit Logo\nbackground-color: #FF4500\ntext-color: #fff\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/links/TiddlyWiki on YouTube.tid",
    "content": "title: TiddlyWiki on YouTube\ncaption: ~YouTube\ntags: [[TiddlyWiki on the Web]]\nurl: https://www.youtube.com/c/JeremyRuston\nicon: $:/core/images/video\nbackground-color: #e52d27\ntext-color: #fff\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/links/external-links-view-template.tid",
    "content": "title: $:/_tw5.com/external-links-view-template\ntags: $:/tags/ViewTemplate\n\n<%if [<currentTiddler>tag[TiddlyWiki on the Web]] %>\n<div class=\"tc-cards tc-cards-vertical\">\n<$macrocall $name=\"flex-card-external\" backgroundcolor={{!!background-color}} textcolor={{!!text-color}} captionField=\"caption\"/>\n</div>\n<%endif%>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/palettes/Dracula for tiddlywiki.tid",
    "content": "created: 20210101163650901\nmodified: 20210101163652263 \ntags: [[Community Palettes]]\ntitle: \"Dracula - a dark palette for TiddlyWiki\" by SlyBouhafs & zenorocha\nurl: https://draculatheme.com/tiddlywiki\n\nA dark palette for TiddlyWiki.\n\n{{!!url}}\n\n<<<\n!!! Install manually\n\nOpen the Control Panel > Appereance > Palette, scroll down and clone a platte, rename it to Dracula and copy the code from the website.\n\n!!! Activating theme\n\n* Open the Control Panel > Appereance > Palette\n* Scroll down and select Dracula\n* Boom! It's working\n\n<<<"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/palettes/palletes by JD.tid",
    "content": "created: 20210101164546151\nmodified: 20210101164548796  \ntags: [[Community Palettes]]\ntitle: \"JD's palettes\" by JD\nurl: http://j.d.palette.tiddlyspot.com/\n\nSome palettes by JD.\n\n{{!!url}}\n\n<<<\nYou can install any or all of these by dragging any of the below links into your Tiddlywiki:\n\n* Brown One\n* C8 Dark\n* Cool Mint\n* Neonize\n* Spartan Day\n* Spartan Night\n<<<"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/plugins/Ace Editor Plugin by Joerg Plewe.tid",
    "content": "created: 20150403110817298\nmodified: 20210106151027409\ntags: [[Community Plugins]]\ntitle: Ace Editor Plugin by Joerg Plewe\ntype: text/vnd.tiddlywiki\nurl: http://innoq.tiddlyspot.com\n\nA plugin to integrate the [[Ace editor|https://github.com/ajaxorg/ace]] into TiddlyWiki.\n\n{{!!url}}\n\n<<<\nBeing quite new to TW5 development I tried my best to draft a SyncAdaptor to store tiddlers in IndexedDb. This is quite useful if an application / plugin installation is not possible (we have quite some restrictions at work...).\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/plugins/BJHacks.tid",
    "content": "created: 20140315085406905\nmodified: 20210106151026926\ntags: [[Community Plugins]]\ntitle: \"BJTools\" by buggyj\ntype: text/vnd.tiddlywiki\nurl: http://bjtools.tiddlyspot.com\n\nbuggyj has created several useful plugins, including a WYSIWYG HTML editor, a configurable calendar and tag lists with draggable ordering.\n\n{{!!url}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/plugins/Disqus comments plugin by bimlas.tid",
    "content": "created: 20190219201946994\nmodified: 20210106151027439\ntags: [[Community Plugins]]\ntitle: Disqus comments plugin by bimlas\ntype: text/vnd.tiddlywiki\nurl: https://bimlas.github.io/tw5-disqus/\n\nUse this plugin to give your visitors the opportunity to comment on your tiddlers without changing the wiki itself.\n\n[[Disqus|https://disqus.com/]] is a networked community platform used by hundreds of thousands of sites all over the web. With Disqus, your website gains a feature-rich comment system complete with social network integration, advanced administration and moderation options, and other extensive community functions.\n\n{{!!url}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/plugins/Encrypt single tiddler plugin.tid",
    "content": "created: 20150602084548184\nmodified: 20211113010652022\ntags: [[Community Plugins]]\ntitle: \"Encrypt single tiddler plugin\" by Danielo Rodriguez\ntype: text/vnd.tiddlywiki\nurl: http://danielorodriguez.com/TW5-EncryptTiddlerPlugin/\n\nA plugin that allows to encrypt your tiddlers individually Danielo Rodriguez.\n\n{{!!url}}\n\n<<<\nAdvantages:\n\n* You can specify a different password for each tiddler if you want.\n* You don't have to encrypt your whole wiky.\n* If you forget your password, you only lose a tiddler.\n* It's possible to edit the tiddler content , tags and fields except the encrypt field after encryption.\n* [...]\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/plugins/Eucalys Tiddly World.tid",
    "content": "created: 20140908103900000\nmodified: 20210106151027444\ntags: [[Community Plugins]]\ntitle: Eucaly's Tiddly World\ntype: text/vnd.tiddlywiki\nurl: http://eucaly-tw5.tiddlyspot.com/\n\nI collect my tw5 creations on-line as http://eucaly-tw5.tiddlyspot.com/\n\nAvailable Plugins :\n\n*TitleMe - Return in-place tiddler title, to link / show / edit the source tiddler\n*QuickJump - Quick jump to tiddlers in story list\n*FlexWidth - Flexibly tweak sidebar width for TiddlyWiki 5 (Inspired by TW5 tristate Sidebar)\n*MatchFilter - returns matching text instead of a list of the tiddlers from FieldFilter\n*PopupTagger - TagBar / TagTable with popup list of tags (Inspired by MonkeyTaggerMacro for TiddlyWiki classic)\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/plugins/FSRS4TW by oflg.tid",
    "content": "created: 20220417010615742\nmodified: 20231005060241771\ntags: [[Community Plugins]]\ntitle: Free Spaced Repetition Scheduler for TiddlyWiki by oflg\ntype: text/vnd.tiddlywiki\nurl: https://github.com/open-spaced-repetition/fsrs4tw\n\nTiddlyWiki-based memory programme using advanced FSRS algorithm\n\n{{!!url}}"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/plugins/Favorites by Mohammad.tid",
    "content": "created: 20201117155737569\nmodified: 20201117155943559\ntags: [[Community Plugins]]\ntitle: Favorites by Mohammad\ntype: text/vnd.tiddlywiki\nurl: https://kookma.github.io/TW-Favorites/\n\nFavorites plugin is a set of tool for creating favorites (bookmarks) in Tiddlywiki. Each favorite item is a shortcut to a tiddler.\n\n{{!!url}}\n\nA favorite item also called a bookmark is a shortcut, you are creating for quick access to it. You can access that bookmark at any time and view that as many times as you want without having to search and find it again.\n\nThe Favorites plugin contains three modes\n\n* flat mode: one favorite list, no folder\n* structured mode: use folder, search tool, export and delete tool\n* frozen list: read only, simple table of content style\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/plugins/Full Text Search Plugin by Rob Hoelz.tid",
    "content": "created: 20171109171703588\nmodified: 20210106151027452\ntags: [[Community Plugins]] plugins\ntitle: Full Text Search Plugin by Rob Hoelz\ntype: text/vnd.tiddlywiki\nurl: https://hoelz.ro/files/fts.html\n\nA plugin to integrate the popular [[lunr.js|https://lunrjs.com/]] search engine, giving TiddlyWiki much more sophisticated search capabilities:\n\n{{!!url}}\n\n<<<\nProvides an alternative search result list that orders results by search relevance and ignores differences in word forms (ex. //tag// vs //tags//).\n\nOn my personal wiki, I have the problem that there are terms I use across a lot of tiddlers, and sometimes I'll use different forms (such as the aforementioned //tag// vs //tags//).  I wanted a plugin to allow me to find the tiddler I'm looking for quickly and didn't require me to worry about how I declined a noun or inflected a verb - so I wrote this plugin, which provides an alternative search list powered by [[lunr.js|https://lunrjs.com/]].\n<<<"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/plugins/GSD5.tid",
    "content": "created: 20141230182901899\nmodified: 20220226205227090\ntags: [[Community Editions]] [[Community Plugins]]\ntitle: \"GSD5\" by Roma Hicks\ntype: text/vnd.tiddlywiki\nurl: http://gsd5.tiddlyhost.com/\n\nAn adaptation of the [[TiddlyWiki powered GTD® system formerly known as MonkeyGTD|http://mgsd.tiddlyspot.com/]] for TiddlyWiki version 5.\n\n{{!!url}}\n\n<<<\nGSD5 is a Getting-Thing-Done tool for TiddlyWiki5 based off the mGSD classic TiddlyWiki.\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/plugins/IndexedDB Plugin by Andreas Abeck.tid",
    "content": "created: 20150403110356105\nlost-url: http://tw5-dev.cibm.de\nmodified: 20210106151027470\ntags: [[Community Plugins]]\ntitle: IndexedDB Plugin by Andreas Abeck\ntype: text/vnd.tiddlywiki\nurl: https://web.archive.org/web/20180118083556/http://tw5-dev.cibm.de/\n\nA plugin that allows changes to be synchronised with the IndexedDB database that is built-in to most browsers.\n\n{{!!url}}\n\n<<<\nBeing quite new to TW5 development I tried my best to draft a SyncAdaptor to store tiddlers in IndexedDb. This is quite useful if an application / plugin installation is not possible (we have quite some restrictions at work...).\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/plugins/Json Mangler plugin by Joshua Fontany.tid",
    "content": "created: 20190308041321498\nmodified: 20210106151027480\ntags: [[Community Plugins]]\ntitle: Json Mangler plugin by Joshua Fontany\ntype: text/vnd.tiddlywiki\n\nExtend tiddlywiki to parse complex (\"nested\") json data tiddlers.\n\nJson Mangler introduces a new path syntax for indexes of json data tiddlers , and includes many supporting tools, filters, widgets, etc.\n\nExample Wiki: https://joshuafontany.github.io/TW5-JsonMangler/\n\nSource: https://github.com/joshuafontany/TW5-JsonMangler\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/plugins/Kin filter operator by bimlas.tid",
    "content": "created: 20190219094230499\nmodified: 20210106151027488\ntags: [[Community Plugins]]\ntitle: Kin filter operator by bimlas\ntype: text/vnd.tiddlywiki\nurl: https://bimlas.github.io/tw5-kin-filter/\n\nThe purpose of the kin operator with examples:\n\n* Finds related tags, related tiddlers in any depth\n* Finds out where base tiddler originates and what other elements originate from it\n* Finds the ancestors and successors of a family member\n* Finds the \"leaves\" of the branch of the base tiddler in a tree-like structure (where the base tiddler is a leaf)\n* Finds the super- and subsets / groups of a mathematical set (where the base tiddler is a set)\n\n{{!!url}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/plugins/Kookma Plugin Library by Mohammad.tid",
    "content": "created: 20201117160603290\nmodified: 20201117160819308\ntags: [[Community Plugins]]\ntitle: Kookma Plugin Library by Mohammad\ntype: text/vnd.tiddlywiki\nurl: https://kookma.github.io/TW-PluginLibrary/\n\nThis library contains most useful plugins developed under the name [[Kookma|https://github.com/kookma]] for Tiddlywiki 5.\n\n{{!!url}}\n\n\nIt has two parts\n\nThe plugin library introduces a very simple mechanism like Tiddlywiki Official Plugin Library to let select among the published plugins and install any number of them you like."
  },
  {
    "path": "editions/tw5.com/tiddlers/community/plugins/Leaflet_maps_plugin_by_Sylvain_Comte.tid",
    "content": "created: 20151110060519720\nmodified: 20210106151027499\ntags: [[Community Plugins]]\ntitle: Leaflet maps plugin by Sylvain Comte\ntype: text/vnd.tiddlywiki\nurl: http://sycom.github.io/TiddlyWiki-Plugins/#Leaflet%20plugin\n\nA mapping plugin based on [[Leaflet|http://leafletjs.com/]] library. Allows you to create maps based upon geographical data contained in tiddlers.\n\n{{!!url}}\n\n<<<\nThe [[leaflet plugin|http://sycom.github.io/TiddlyWiki-Plugins/#Leaflet%20plugin]] is a (working) attempt to integrate the [[leaflet|http://leafletjs.com/]] library in TiddlyWiki in order to display geographical purpose tiddlers.\n\nFor now `<$leafmap>` widget displays an interactive map. Select size, location and zoom, clustering distance, and background. You can display data  : geojson, point(s), polygon(s) and/or polyline(s) directly or calling //GeoTiddler//(s). Tiddler can be called individually, by list or with a [[filter|Filters]].\n\nHave a look at [[demo page on the web|http://sycom.github.io/TiddlyWiki-Plugins/#A%20plugin%20collection:%5B%5BA%20plugin%20collection%5D%5D%20%5B%5BLeaflet%20plugin%5D%5D]].\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/plugins/Locator plugin by bimlas.tid",
    "content": "created: 20190219191946994\nmodified: 20210106151027508\ntags: [[Community Plugins]]\ntitle: Locator plugin by bimlas\ntype: text/vnd.tiddlywiki\nurl: https://bimlas.github.io/tw5-locator/\n\nFor those who use many tags or store many different topics in a common wiki the Locator plugin is a table of contents widget and an enhanced search engine that gives you the opportunity to filter results by related tags. Unlike table of contents, standard search and list of tags, this plugin offers these features in an organic, collaborative way.\n\n{{!!url}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/plugins/MathJax Plugin by Martin Kantor.tid",
    "content": "created: 20140403191946994\nmodified: 20210106151027517\ntags: [[Community Plugins]]\ntitle: MathJax Plugin by Martin Kantor\ntype: text/vnd.tiddlywiki\nurl: http://mathjax-tw5.kantorsite.net\n\nAn experimental MathJax plugin for TiddlyWiki version 5. As Martin says, the implementation is a bit of a hack but may be useful until we have a better alternative.\n\n{{!!url}}\n\n<<<\nWelcome. I have created plugin for TiddlyWiki 5 which allows you to use MathJax (math in TeX and MathML) inside TiddlyWiki 5. It's unofficial plugin and it doesn't follow general policy of TiddlyWiki as stand-alone solution but it works. So you can use it if you want.\n<<<"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/plugins/Plugins by TheDiveO.tid",
    "content": "created: 20140910102845245\nmodified: 20210106151027524\ntags: [[Community Plugins]]\ntitle: Plugins by TheDiveO\ntype: text/vnd.tiddlywiki\nurl: http://thediveo.github.io\n\nA collection of plugins from TheDiveO.\n\n{{!!url}}\n\n[[TheDiveO's Third Flow|http://thediveo.github.io/ThirdFlow/]] plugin construction system:\n\n<<<\nThe ~ThirdFlow plugin brings to you another way to develop customisation plugins for TiddlyWiki 5. It is not enforcing a specific development flow, it simply tries to help you. Otherwise, it tries to stay out of your way.\n<<<\n\n[[TheDiveO's FontAwesome|http://thediveo.github.io/TW5FontAwesome/]] plugin:\n\n<<<\nThe FontAwesome plugin supports embedding Font Awesome in TiddlyWiki 5. There is no need to install this font into your operating system in order to use it with TiddlyWiki 5. The font is already embedded in this TiddlyWiki 5 customisation plugin instead, so nothing else to install.\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/plugins/Refnotes by Mohammad.tid",
    "content": "created: 20201117161853918\nmodified: 20201117162122822\ntags: [[Community Plugins]]\ntitle: Refnotes by Mohammad\ntype: text/vnd.tiddlywiki\nurl: https://kookma.github.io/TW-Refnotes/\n\nRefnotes plugin is a set of macros and stylesheets for creating abbreviations, footnotes and citations. It also makes tables of footnotes, abbreviations (glossary) and references (bibliography table).\n\n{{!!url}}\n\nRefnotes contains codes and elements to\n\n;Create and insert\n:Abbreviation\n:Footnote\n:Reference\n\n;Create tables of\n:Abbreviations or glossary\n:Footnotes and endnotes\n:References (bibliography) using different output style "
  },
  {
    "path": "editions/tw5.com/tiddlers/community/plugins/Searchwikis by Mohammad.tid",
    "content": "created: 20201117160302426\nmodified: 20201117160443306\ntags: [[Community Plugins]]\ntitle: Searchwikis by Mohammad\ntype: text/vnd.tiddlywiki\nurl: https://kookma.github.io/TW-Searchwikis/\n\nSearchwikis plugin uses index (dataTiddler) to search multiple external Tiddlywikis. \n\n{{!!url}}\n\n\nIt has two parts\n\n# An indexer, to build an index of all tiddlers in an external wiki\n# A search tool to search indexes and display a link to a tiddler found in an external wiki\n\nThen one master wiki can host many index tiddlers and lets to search several external wikis through index tiddlers.\n\nSearchwikis enable to have a central wiki and search all other wikis from one place.\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/plugins/Shiraz by Mohammad.tid",
    "content": "created: 20201116204317018\nmodified: 20201116210618803\ntags: [[Community Plugins]]\ntitle: Shiraz by Mohammad\ntype: text/vnd.tiddlywiki\nurl: https://kookma.github.io/TW-Shiraz/\n\nShiraz plugin is a very small in size and framework to create stylish contents in Tiddlywiki. \n\n{{!!url}}\n\nShiraz plugin contains extended markups, macros, styles, and many customisation to empty Tiddlywiki and can be used as a ''starter kit''.\n\nSome of Shiraz features are:\n\n* Customized elements like, alerts, cards, panels, badges\n* Dynamic tables\n* Sortable tables\n* Display on demand, slider, and details\n* Images, basic image macros, slidein, and overlay images, polaroid and pretty images\n* Table customisation tools\n* Sticky footer\n* Multi columns tiddler\n* Multi column story river\n* List search\n* Badge status\n* Notebook style\n* Test utilities\n* Stylish buttons\n\n\nAdding Shiraz plugin to any Tiddlywiki converts it to a full production tool. Shiraz uses modified CSS classes from [[Bootstrap|https://getbootstrap.com/]]."
  },
  {
    "path": "editions/tw5.com/tiddlers/community/plugins/Slider by Mohammad.tid",
    "content": "created: 20201117162655614\nmodified: 20251020041616967\ntags: [[Community Plugins]]\ntitle: Slider by Mohammad\ntype: text/vnd.tiddlywiki\nurl: https://kookma.github.io/TW-Slider/\n\nSlider is a plugin to create an ordered set of tiddlers also called Trail.\n\n{{!!url}}\n\nA trail can be used to create a sequence of selected contents like step by step tutorial, guided help, lessons and similar.\n\nThe slider plugin user interface contains three sections\n\n* A sidebar tab called Trails to manage trails\n* A dashboard for each trail (where trail structure is managed)\n* Tiddlers in a trail, also called slides\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/plugins/TW5-Graph by Flibbles.tid",
    "content": "created: 20251009192405351\nmodified: 20251009192405351\ntags: [[Community Plugins]] Resources\ntitle: TW5-Graph by Flibbles\ntype: text/vnd.tiddlywiki\nurl: https://flibbles.github.io/tw5-graph/\n\nTW5-Graph is a framework to integrate TiddlyWiki with existing graphing and visualization engines (such as [[Vis-Network|https://visjs.github.io/vis-network/docs/network/]]). The plugin allows for easy and sophisticated graphs to represent your tiddlers, or whatever else you want.\n\nIt is the spiritual successor to [[TiddlyMap|TiddlyMap Plugin by Felix Küppers]].\n\nWith TW5-Graph you can:\n\n* Quickly create and edit graphs through a simple point-and-click GUI\n* Use wikitext widgets to create customized graphs and template to exactly match your needs\n* Easily create dynamic graphs to represent changing state or individual tiddlers\n\nThere's loads TW5-Graph can do for you. [[Check out its demo website here.|https://flibbles.github.io/tw5-graph/]]\n\nOr visit its source code [[here|https://github.com/flibbles/tw5-graph]].\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/plugins/Tiddler Commander by Mohammad.tid",
    "content": "created: 20201116203717105\nmodified: 20201116204652385\ntags: [[Community Plugins]]\ntitle: Tiddler Commander by Mohammad\ntype: text/vnd.tiddlywiki\nurl: https://kookma.github.io/TW-Commander/\n\nTiddler Commander plugin, in short ''Commander'' is a unique tool for batch operations on tiddlers.\n\n{{!!url}}\n\nCommander has many features including:\n\n* Bulk tiddler creation/deletion\n* Selective operation\n* Combo search to filter and select tiddlers\n* Title operation: add, remove prefixes and suffixes, also remove cahras form begining and end of title (on renaming tiddlers, [[relink|https://flibbles.github.io/tw5-relink/]] can be used to update title in other tiddlers)\n* Tag operation: add, remove, replace\n* Field operation: add, remove, rename, and set field value\n* ~SnR, search and replace in all fields including text, tags, //title//, and common fields\n* Inspect, to review and inspect tiddlers in one place, scroll among them and edit all fields (including common fields), tags, text (title is an exception!)\n* Log, create logs of all operations\n* Search, //save and load// any combination of filter search\n\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/plugins/TiddlyClip by buggyjay.tid",
    "content": "created: 20140910102845245\nmodified: 20220311184412211\ntags: [[Community Plugins]]\ntitle: TiddlyClip by buggyjay\ntype: text/vnd.tiddlywiki\nurl: http://tiddlyclip.tiddlyspot.com\n\n~BuggyJay's ~TiddlyClip browser extension for Firefox permits clipping of text and graphics from web pages:\n\n{{!!url}}\n\n<<<\n~TiddlyClip allows parts of webpages to be clipped into a ~TiddlyWiki, and consists of two parts, the browser addon and the ~TiddlyWiki plugin. The addon is completely memoryless, any configuration is determined by the current ~TiddlyWiki that the user has select to work with (we say that the addon is docked to the ~TiddlyWiki). ~TiddlyClip is designed to work (in a basic mode) without configuration. Once the addon and plugin are installed, all the user has to do is select which TW to dock to.\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/plugins/TiddlyMap by Felix Kuppers.tid",
    "content": "created: 20141122093837330\nmodified: 20211114205057710\ntags: [[Community Plugins]] [[Other Resources]]\ntitle: TiddlyMap Plugin by Felix Küppers\ntype: text/vnd.tiddlywiki\nurl: http://tiddlymap.org\n\nAn interactive network visualisation plugin based on [[Vis.js|http://visjs.org]]. A demo that also contains installation instructions can be found here: {{!!url}}. The plugin's GitHub repository can be found [[here|https://github.com/felixhayashi/TW5-TiddlyMap]].\n\n<<<\n~TiddlyMap is a TiddlyWiki plugin that allows you to link your wiki-topics (tiddlers) in order to create clickable graphs. By creating relations between your topics you can easily do the following:\n\n* Create concept maps and quickly manifest your ideas in tiddlers.\n* Create task-dependency graphs to organise and describe your tasks.\n* Visualise your topic structures to get an immediate grasp of topics and relations.\n\nIn general you may create, visualise and describe any network-structure you have in mind.\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/plugins/TiddlyWiki for Scholars.tid",
    "content": "created: 20140720085406905\nmodified: 20210106151027232\ntags: [[Community Editions]]\ntitle: \"TiddlyWiki for Scholars\" by Alberto Molina\ntype: text/vnd.tiddlywiki\nurl: http://tw5.scholars.tiddlyspot.com/\n\nAn early release of an edition of TiddlyWiki customised for rigorous, academic notetaking.\n\n{{!!url}}\n\n<<<\nTiddlyWiki for Scholars is a personal customisation of TiddlyWiki 5.0.13-beta I made for note-taking from readings, but it can be useful for other purposes. The idea behind this adaptation is to show and to allow creating relevant data related to the current tiddler without leaving the tiddler.\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/plugins/Tiddlyshow by Mohammad.tid",
    "content": "created: 20201117160944367\nmodified: 20201117162735263\ntags: [[Community Plugins]]\ntitle: Tiddlyshow by Mohammad\ntype: text/vnd.tiddlywiki\nurl: https://kookma.github.io/Tiddlyshow/\n\nTiddlyshow  is a small application of Tiddlywiki for presentation and slideshow. It can also be used as a plugin.\n\n{{!!url}}\n\nTiddlyshow contains the following features\n\n* Tools for preparing slides\n* Shortcut keys for navigation (forward and backward)\n* Themes to colorify and customise the slideshow\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/plugins/Timelines by Mohammad.tid",
    "content": "created: 20201117161434779\nmodified: 20201117161728094\ntags: [[Community Plugins]]\ntitle: Timelines by Mohammad\ntype: text/vnd.tiddlywiki\nurl: https://kookma.github.io/TW-Timelines/\n\nTimelines plugin is for creating vertical and horizontal timeline and sequences. \n\n{{!!url}}\n\nThe content or description and data of events are stored in individual tiddlers.\n\nTimelines contain two timeline macros and two sequence macros. A sequence macro shows event contents in sequence not necessarily in chronological order. The order can be determined by tag or list field or other methods.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/plugins/Tinka by Andreas Hahn.tid",
    "content": "created: 20140920124011558\nmodified: 20210106151027644\ntags: [[Community Plugins]]\ntitle: Tinka by Andreas Hahn\ntype: text/vnd.tiddlywiki\nurl: https://tinkaplugin.github.io/\n\nThe Tinka plugin provides the ability to create and modify plugins in the browser, without requiring the use of Node.js.\n\nSee https://github.com/TinkaPlugin/Tinka for the GitHub repo.\n\n{{!!url}}\n\n<<<\nThis is a Control Panel extension that aims to simplify the plugin creation and editing process. After installing, you will find a new tab in your control panel that makes creating and modifying plugins a little bit easier.\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/plugins/Todolist by Mohammad.tid",
    "content": "created: 20201116210711381\nmodified: 20201116212041642\ntags: [[Community Plugins]]\ntitle: Todolist by Mohammad\ntype: text/vnd.tiddlywiki\nurl: https://kookma.github.io/TW-Todolist/\n\nTodolist is a small pure wikitext plugin, contain all  tools to work with todo list. \n\n{{!!url}}\n\nWith Todolist, easily organise and prioritise your tasks and projects so you’ll always know exactly what to work on next.\n\nTodolist creates custom UI and lets you to add new items, set priority, done/undone items,  archive, delete. Using Todolist plugin it is possible to create several todo lists in one Tiddlywiki.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/plugins/Trashbin by Mohammad.tid",
    "content": "created: 20201117155328920\nmodified: 20201117155604253\ntags: [[Community Plugins]]\ntitle: Trashbin by Mohammad\ntype: text/vnd.tiddlywiki\nurl: https://kookma.github.io/TW-Trashbin/\n\nThe concept behind Trashbin plugin is to have a simple mechanism to move deleted tiddlers to Trashbin and be able to restore them later if required.\n\n{{!!url}}\n\nThe trash (also known as the Recycle Bin in Microsoft Windows) is a temporary storage for tiddlers that have been deleted in a Tiddlywiki by the user, but not yet permanently erased.\n\nTypically, a trash bin is presented as a special storage, allowing the user to browse deleted (removed) tiddlers, undelete those that were deleted by mistake, or delete them permanently (either one by one, or by the \"Empty Trash\" function).\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/plugins/Utility by Mohammad.tid",
    "content": "created: 20201117160011169\nmodified: 20201117160235750\ntags: [[Community Plugins]]\ntitle: Utility by Mohammad\ntype: text/vnd.tiddlywiki\nurl: https://kookma.github.io/TW-Utility/\n\nThe utility plugin objective is to provide set of tools for developers and authors. \n\n{{!!url}}\n\n\nThese tools include simple transclusions, show raw contents of tiddlers, author tools, wikitext macros, show fields in view mode, etc.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/plugins/_JD Mobile Layout plugin_ by JD.tid",
    "content": "created: 20171107181449175\nmodified: 20210106151027136\ntags: [[Community Plugins]]\ntitle: \"JD Mobile Layout plugin\" by JD\ntype: text/vnd.tiddlywiki\nurl: http://j.d.simplemobile.tiddlyspot.com\n\nA plugin that improves the usability of TiddlyWiki on smartphones by [[JD|http://j.d.tiddlyspot.com]]:\n\n{{!!url}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/plugins/_Mal's Sandbox_ by Mal.tid",
    "content": "created: 20160501131111865\nmodified: 20210106151027149\ntags: [[Community Plugins]]\ntitle: \"Mal's Sandbox\" by Mal\ntype: text/vnd.tiddlywiki\nurl: http://malsandbox.tiddlyspot.com\n\nA collection of extensions by [[@malgam|https://github.com/malgam]]\n\n{{!!url}}\n\n<<<\nThe \"loadnew\" plugin provides the JavaScript module $:/plugins/malgam/loadnew/loadnew.js that implements an incremental load command for Tiddlywiki 5.\n\nThe javascript code is based on the built-in module $:/core/modules/commands/load.js that loads tiddlers from a Tiddlywiki file into a node.js Tiddlywiki instance. This command loads all non-system tiddlers, irrespective of whether they have been modified since last loaded. As a result, all tiddlers in the node.js tiddlers folder will end up with a new modification date.\n\nIn contrast, the loadnew command only loads tiddlers that either don't already exist in the tiddlers folder, or have a newer modified date than the existing tiddler.\n\nWith a backup strategy that uses a file system snapshot process to preserve historical versions of tiddlers, the loadnew command minimises the sizes of the resulting snapshots.\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/plugins/_SK_Plugins_ by Stephen Kimmel.tid",
    "content": "created: 20160505180545073\nmodified: 20210106151027199\ntags: [[Community Plugins]]\ntitle: \"SK Plugins\" by Stephen Kimmel\ntype: text/vnd.tiddlywiki\nurl: http://skplugins.tiddlyspot.com/\n\nA collection of plugins by Stephen Kimmel, including a number of additional editor toolbar buttons.\n\n{{!!url}}\n\n<<<\nIn keeping with the general spirit of the TiddlyWiki community, ie, you develop something useful and/or potentially interesting you share it with others, I'm sharing some of the plugins I've developed to go with the new Editor Toolbar. You'll find them and a more extensive discussion of what each does at http://skplugins.tiddlyspot.com/ \n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/plugins/_Slides and Stories_ by Jan.tid",
    "content": "created: 20141122093837330\nmodified: 20210106151027205\ntags: [[Community Plugins]]\ntitle: \"Slides and Stories\" by Jan\ntype: text/vnd.tiddlywiki\nurl: http://slidesnstories.tiddlyspot.com\n\nSlides and Stories is a repository of the tools to optimise TW for scientific research and for presenting and publishing results.\n\n{{!!url}}\n\n<<<\n!~SlidesnStories \n...is a tool to save and reload sets of Tiddlers. This is already working, The aim is to develop a mechanism to transform these into instant slideshows.\n\n!~MetaTabs \nis a tool which gives you the possibility to attach and show specific information in tabs at the bottom of each Tiddler: ideas, notes, tasks, stories and presentations, comments, annotations and footnotes. <br>\nIt is inspired by ~MagicTabs and Tiddlyscholar by Alberto Molina Pérez, which are very elaborated tools that alas do not seem to be in active development any more.\nI wanted to change the behaviour in some ways. For example I wanted show tabs only if they have content. \n\n!...furthermore there is \n* an export-plugin,\n* a footnote-plugin,\n* and a plugin to rearrange Tiddlers in the ~StoryRiver\n<<<"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/plugins/_TW5-TeXZilla_ plugin by Joe Renes.tid",
    "content": "created: 20150206170114934\nmodified: 20210106151027364\ntags: [[Community Plugins]]\ntitle: \"TW5-TeXZilla\" plugin by Joe Renes\ntype: text/vnd.tiddlywiki\nurl: http://tw5-texzilla.tiddlyspot.com\n\nAn alternative LaTeX plugin for TiddlyWiki5. It supports a wider set of LaTeX commands than [[KaTeX|KaTeX Plugin]], though not as extensive as MathJax\n\n{{!!url}}\n\n<<<\nThis plugin provides LaTeX support in TiddlyWiki5, using the [[TeXZilla|https://github.com/fred-wang/TeXZilla]] latex parser to generate MathML.\n\nOnly Firefox and Safari support MathML at the moment, so the plugin is only useful if you're using one of these browsers. It might be possible to combine this plugin with MathJax to convert MathML to something that other browsers can understand, e.g. HTML+CSS, but I haven't tried this.\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/plugins/_Tekan_ Kanban that stays with you_ by Riz.tid",
    "content": "created: 20171115160958926\nmodified: 20210106151027218\ntags: [[Community Plugins]]\ntitle: \"Tekan: Kanban that stays with you\" by Riz\ntype: text/vnd.tiddlywiki\nurl: https://ibnishak.github.io/Tesseract/projects/tekan/Tekan.html\n\nA Kanban implementation for TiddlyWiki with a familiar look and feel (see the [[demo|https://ibnishak.github.io/Tesseract/projects/tekan/]]).\n\n{{!!url}}\n\n<<<\nThis is Tekan, a TW based kanban. The easiest way to know tekan is to use it. So let us begin, shall we?\n<<<\n\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/plugins/datepicker based on Pikaday.tid",
    "content": "created: 20151015072304780\nmodified: 20210106151027432\ntags: [[Community Plugins]]\ntitle: datepicker plugin based on Pikaday, by kixam\ntype: text/vnd.tiddlywiki\nurl: http://kixam.github.io/TW5-datePicker/\n\nAn interactive date picker plugin based on [[Pikaday|https://github.com/dbushell/Pikaday]]. A demo can be found here: {{!!url}}.\n\n<<<\ndatepicker is a TiddlyWiki plugin that allows you to use a widget much like EditTextWidget to pick a date, and optionaly a time. It shows a nice interactive mini-calendar when clicked, allows you to set a date format for display, and is compatible with core date fields such as `modified` and `created`.\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/plugins/rboue's plugins for TiddlyWiki.tid",
    "content": "created: 20150403104230499\nmodified: 20210106151027533\ntags: [[Community Plugins]]\ntitle: rboue's plugins for TiddlyWiki\ntype: text/vnd.tiddlywiki\nurl: http://rboue.tiddlyspot.com\n\nFeaturing plugins that integrate two interesting new capabilities:\n\n* [[SocialCalc|https://www.socialtext.net/open/socialcalc]] providing a powerful spreadsheet\n* [[Three.js|http://threejs.org/]] providing interactive 3D graphics\n\n{{!!url}}\n\n<<<\nI developed some plugins related to engineering tasks.\n\nAfter using them for personal projects I'm glad to share with TiddlyWiki community.\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/plugins/vis.js Timeline.tid",
    "content": "created: 20150527080809699\nmodified: 20210106151027704\ntags: [[Community Plugins]]\ntitle: vis.js Timeline by emkay, revived by kixam\ntype: text/vnd.tiddlywiki\nurl: http://kixam.github.io/TW5-visjsTimeline/\n\nAn interactive timeline visualisation plugin based on [[Vis.js|http://visjs.org]]. A demo can be found here: {{!!url}}.\n\n<<<\nvis.js Timeline is a TiddlyWiki plugin that allows you to link your wiki-topics (tiddlers) in order to create clickable timelines. This project is a direct continuation of [[emkay's plugin|https://github.com/emkayonline/tw5visjs]].\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/BrainTest.tid",
    "content": "created: 20140315085406905\nmodified: 20210106151026982\ntags: [[Other Resources]]\ntitle: \"BrainTest - tools for a digital brain\" by Danielo Rodriguez\ntype: text/vnd.tiddlywiki\nurl: http://braintest.tiddlyspot.com/\n\nA collection of customisations and macros from Danielo Rodriguez.\n\n{{!!url}}\n\n<<<\nThis is my personal tiddlywiki file for testing.\n\nHere I will post the tools and Macros that I develop for this awesome tool. That way, all the help the community gave me can came back to the community again.\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/Code styles and auto format settings for IDEs.tid",
    "content": "created: 20181108094230499\nmodified: 20210106151027417\ntags: [[Other Resources]]\ntitle: Code styles and auto format settings for IDEs\ntype: text/vnd.tiddlywiki\nurl: https://gitlab.com/bimlas/tw5-code-style-auto-format\n\nImplementation of TiddlyWiki [[Coding Style Guidelines|https://tiddlywiki.com/dev/#TiddlyWiki%20Coding%20Style%20Guidelines]] for different IDEs.\n\n{{!!url}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/CouchDB Adaptor.tid",
    "content": "created: 20140927155929149\nmodified: 20210106151027005\ntags: [[Other Resources]]\ntitle: \"CouchDB Adaptor\" by William Shallum\ntype: text/vnd.tiddlywiki\nurl: https://github.com/wshallum/couchadaptor\n\nAn adaptor to enable TiddlyWiki to sync changes with a [[CouchDB|http://couchdb.apache.org]] database.\n\n{{!!url}}\n\n<<<\nCouchDB sync adaptor for TiddlyWiki 5. Requires TiddlyWiki >= 5.1.2.\n\nWorks in limited testing. Not sure how well it handles conflicts.\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/Filter Examples by Tobias Beer.tid",
    "content": "created: 20141122093837330\nmodified: 20210106151027050\ntags: [[Community Resources]] Tutorials\ntitle: \"Filter Examples\" by Tobias Beer\ntype: text/vnd.tiddlywiki\nurl: http://tobibeer.github.io/tw/filters/#Filter%20Examples\n\nThis wiki gives examples for various [[filters|Filters]] and their use in the [[list widget|ListWidget]]\n\n{{!!url}}\n\n<<<\nThis wiki gives examples for various [[filters|Filters]] and their use in the [[list widget|ListWidget]]. A good starting point to understand what filters yield which results also is [[test-filters.js|https://github.com/TiddlyWiki/TiddlyWiki5/blob/master/editions/test/tiddlers/tests/test-filters.js]].\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/Font Awesome 5 Free SVGs for TiddlyWiki by morosanuae.tid",
    "content": "created: 20190710085450262\nmodified: 20210106151027064\ntags: SVG Images [[Font Awesome 5]] [[Other Resources]]\ntitle: \"Font Awesome 5 Free SVGs for TiddlyWiki\" by morosanuae\ntype: text/vnd.tiddlywiki\nurl: http://fa5-free-svg.tiddlyspot.com\n\nThe ''Font Awesome 5 Free'' SVG images collection converted to tiddlers that you can easily import (drag'n'drop) in your wiki.\n\n{{!!url}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/Gospel_Bubbles_by_Rev_David_Gifford.tid",
    "content": "created: 20141122093837330\nmodified: 20210106151027081\ntags: Examples\ntitle: \"Gospel Bubbles\" by Rev. David Gifford\ntype: text/vnd.tiddlywiki\nurl: http://giffmex.org/gospels.bubbles.html#Gospels%20Bubbles\n\nCreates bubble maps of Biblical texts.\n\n{{!!url}}\n\n<<<\nThis ~TiddlyWiki, which is still under construction, has several features that together make it lightning fast to find passages, types of passages, themes, people, places and images in the New Testament Gospels.  The bubblemaps are color-coded overviews of each Gospel. Each type of passage (miracle story, parable, etc) was assigned a color. Bubblemaps allow you to do three things:\n\n#The ''bubblemaps'' are color-coded overviews of each Gospel. Each type of passage (miracle story, parable, etc) was assigned a color. Bubblemaps allow you to do three things:\n##See how the different types of passages are distributed throughout each Gospel.\n##Hover over passages to see the verses and titles.\n##Click on a passage to open it and see the themes and other data it mentions.\n\n#The ''themes by passage'' indexes are lists of the passages in each Gospel, followed by the themes and other data found in the passage. Clicking on a theme calls up a list of all the passages that mention that theme.\n\n#The ''indexes of themes'' contain lists of links to each theme, person, group, place and image.  Clicking on a theme calls up a list of all the passages that mention that theme.\n\n#There is a ''search window'' hidden in the right hand menu. Use the search window to find passages quickly, by typing things like sower or paralytic. Click the arrows in the upper right of the screen to open the menu and search.\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/Grok TiddlyWiki by Soren Bjornstad.tid",
    "content": "created: 20210519110226889\nmodified: 20241021161007731\ntags: [[Other Resources]]\ntitle: \"Grok TiddlyWiki\" by Soren Bjornstad\ntype: text/vnd.tiddlywiki\nurl: https://groktiddlywiki.com/read/\n\nGrok ~TiddlyWiki by Soren Bjornstad is an interactive learning environment for TiddlyWiki. It bundles three complementary modes of learning into one TiddlyWiki:\n\n* It ''explains concepts'' using English text and code examples\n* It ''assigns exercises'' that help you apply and practice what you've learned\n* It ''presents takeaways'', questions about key terms, concepts, or skills, for review as you continue through the book, to help you retain what you've learned over a longer period of time\n\n{{!!url}}\n\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/Heeg.ru.tid",
    "content": "created: 20141215174011558\nmodified: 20210106151027109\ntags: Tutorials\ntitle: \"Heeg.ru\" by sini-Kit\ntype: text/vnd.tiddlywiki\nurl: http://heeg.ru/\n\nA guide in Russian to creating an online shop with TiddlyWiki. No serverside code is needed, instead orders are handled by Disqus.\n\n{{!!url}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/Projectify by Nicolas Petton.tid",
    "content": "created: 20210106183100000\nmodified: 20220407181245488\ntags: [[Community Plugins]] [[Community Editions]]\ntitle: Projectify by Nicolas Petton\ntype: text/vnd.tiddlywiki\nurl: https://github.com/ThaddeusJiang/Projectify\n\nProject & todo management for ~TiddlyWiki.\n\n{{!!url}}\n\nProjectify is a TiddlyWiki plugin for managing projects & todo lists,\ninspired by products like [[Todoist|https://todoist.com]] and [[Basecamp|https://basecamp.com]].\n\nProjectify features:\n\n* An inbox for collecting tasks and thoughts\n* Projects to structure tasks together into separate todo-lists\n* Support for scheduling tasks\n* A dashboard to quickly view all projects, the inbox, or scheduled tasks\n\n`Note:` The original site, https://projectify.wiki, no longer exists. The provided site is a maintained fork, though not by the original creator. "
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/RegExp in Tiddlywiki by Mohammad.tid",
    "content": "created: 20201117164024930\nmodified: 20210106151027546\ntags: Tutorials\ntitle: RegExp in Tiddlywiki by Mohammad\ntype: text/vnd.tiddlywiki\nurl: http://tw-regexp.tiddlyspot.com/\n\n~RegExp in Tiddlywiki contains practical use cases of regular expression in Tiddlywiki. \n\n{{!!url}}\n\nThe regular expression is a way to describe complex search patterns using sequences of characters .\n\n~RegExp in Tiddlywiki has four main parts\n\n* Using regular expression to match a pattern in tiddler title\n* Using regular expression to match a pattern in tiddler fields excluding tiddler text (body)\n* Using regular expression to match a pattern in tiddler body (text field)\n* Using regular expression for validation like username, password, etc."
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/SeeAlso by Matias Goldman.tid",
    "content": "created: 20150430154234863\nmodified: 20210106151027554\ntags: [[Other Resources]]\ntitle: SeeAlso by Matias Goldman\ntype: text/vnd.tiddlywiki\nurl: http://seealso.tiddlyspot.com\n\nA simple technique for adding tag-based cross references to the default view template.\n\n{{!!url}}\n\n<<<\nSee also: - is a feature to generate a \"See also:\" section after the tiddler text, somewhat like in Wikipedia articles.\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/Semantic Colors by Mohammad.tid",
    "content": "created: 20201117162254751\nmodified: 20210106151027560\ntags: [[Other Resources]]\ntitle: Semantic Colors by Mohammad\ntype: text/vnd.tiddlywiki\nurl: https://kookma.github.io/TW-Semantic-Colors/\n\nSemantic colors are set of CSS to apply colorful theme to individual tiddlers for categorisation purpose.\n\n{{!!url}}\n\nTiddlywiki \"semantic colors\" has two objectives:\n\n# How it is simply possible to apply theme to an individual tiddler\n# Use semantic colors for categorisation\n\n;Some use cases\n:Learning materials (each topic, category can have dedicated semantic color, like learning a foreign language)\n:Slideshow (section divider, each part can have a semantic color)\n:Books and tutorials ( different semantic colors can be applied to chapters, specific subjects, like example tiddlers)\n:Visual tags (instead of looking for tag bar and see to what category this subject (tiddler) belongs, you can identify it by its semantic color)\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/TB5 a pocket full of tips by Tobias Beer.tid",
    "content": "created: 20140315085406905\nmodified: 20210106151027212\ntags: [[Other Resources]] Tutorials\ntitle: \"TB5 - a pocket full of tips\" by Tobias Beer\ntype: text/vnd.tiddlywiki\nurl: http://tobibeer.github.io/tb5/\n\nAn enormous collection of tips beautifully curated by Tobias Beer. It is actually a collection of sites, with sub-sites dedicated to topics such as filtering (http://tobibeer.github.io/tw/filters/).\n\n{{!!url}}\n\n<<<\nA collection of references and sandbox for testing concepts around TiddlyWiki 5...\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/TW-Scripts by Mohammad.tid",
    "content": "created: 20180830194141190\nmodified: 20210106151027650\ntags: [[Other Resources]] Tutorials\ntitle: TW-Scripts by Mohammad\ntype: text/vnd.tiddlywiki\nurl: https://kookma.github.io/TW-Scripts/\n\nTW-Scripts is one of the most comprehensive collections of solutions for Tiddlywiki 5.\n\n{{!!url}}\n\nTW-Scripts includes:\n\n* Collected solutions to questions in [[Tiddlywiki Google groups|https://groups.google.com/group/TiddlyWiki]]\n* Learn through examples\n* Templates, stylesheets\n* Wikitext, macros, and snippets\n* Tips and tricks\n* Search tools \n\n\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/TW5 Magick.tid",
    "content": "created: 20140315085406905\nmodified: 20211114205310834\ntags: [[Other Resources]] Tutorials [[Community Plugins]]\ntitle: \"TW5 Magick\" by Stephan Hradek\ntype: text/vnd.tiddlywiki\nurl: http://tw5magick.tiddlyspot.com/\n\nStephan Hradek's growing catalogue of tips, tutorials, and other resources. Stephan has also developed several plugins and macros that you can find at http://tiddlystuff.tiddlyspot.com/.\n\n{{!!url}}\n\n<<<\nSome things in TiddlyWiki seem like Magic. As my preferred nick is Skeeve, I felt that TW5 Magick is a proper name for this collection of some of the \"magic\" tricks one can do with TiddlyWiki.\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/TW5-SingleExecutable_by_Jed_Carty.tid",
    "content": "created: 20180320020552940\nmodified: 20210106151027657\ntags: [[Other Resources]]\ntitle: TW5-SingleExecutable by Jed Carty\ntype: text/vnd.tiddlywiki\nurl: https://github.com/OokTech/TW5-SingleExecutable\n\nTiddlyWiki5 Packaged with the multi-user plugin in a single executable file. \n\n{{!!url}}\n\n<<<\nTiddlywiki, node js, multiuser plugin - all packaged into a single file so user can just download the file and run it and not have to install anything else. Versions available for windows, osx, and linux. \n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/TW5-firebase_ TiddlyWiki5 for Google Firebase by Peter Neumark.tid",
    "content": "caption: TW5-firebase\ncolor: #FFEB3B\ncommunity-author: Peter Neumark\ncreated: 20210115121027582\ndelivery: Google Firebase backend\ndescription: Google Firebase backend for TiddlyWiki\nmethod: save\nmodified: 20210115121027582\ntags: Chrome Firefox [[Internet Explorer]] Linux Mac Opera [[Other Resources]] Safari Saving Windows plugins Edge\ntitle: TW5-firebase: TiddlyWiki5 for Google Firebase by Peter Neumark\ntype: text/vnd.tiddlywiki\nurl: https://github.com/neumark/tw5-firebase\n\nGoogle-Firebase hosted version of TiddlyWiki5.\n\n{{!!url}}\n\n<<<\nI've been using TiddlyWiki5 with Google Firebase for over a year now. It's stable enough to use on a daily basis. There's a detailed walkthrough of how to create your own instance with lots of screenshots. The entire process takes less than 30 minutes: https://neumark.github.io/tw5-firebase/\n\nPlease consider this version a proof of concept rather than a polished product! My focus was on multi-device or small-team collaboration:\n\n* Basic authorisation (bags have an access policy determining who can read / write them).\n* Multiple wikis can be hosted under a single firebase account.\n* It uses Firebase's built-in social auth to log in users.\n* Tiddlers are written individually with locking, preventing users overwriting each others' updates.\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/TWCommunitySearch.tid",
    "content": "created: 20150913184230499\nmodified: 20210106151027664\ntags: [[Other Resources]]\ntitle: TWCommunitySearch\ntype: text/vnd.tiddlywiki\nurl: http://erwanm.github.io/tw-community-search\n\nThe [[CommunitySearch wiki|http://erwanm.github.io/tw-community-search]] aggregates many public wikis from the community. It is updated automatically every day. At the time of writing, more than 5000 tiddlers are indexed, thus giving access to the largest known collection of TW content.\n\nIt lets you search for some specific content among a preselected list of wikis. The indexed content is mostly focused on TW usage, so you would typically use this search system to find information about a particular aspect of TiddlyWiki. Say for example that you want to learn how to make a table of content, type \"table of content\" in the [[CommunitySearch box|http://erwanm.github.io/tw-community-search/#CommunitySearch]] (also accessible in the default tiddler [[GettingStarted|http://erwanm.github.io/tw-community-search/#GettingStarted]]). The search results are links to various wikis, and point directly to the specific tiddlers containing your request.\n\n\nThe ~CommunitySearch wiki also lets you:\n\n* Browse the [[list of wikis|http://erwanm.github.io/tw-community-search/#CommunityWikis]]\n* Browse the [[list of author|http://erwanm.github.io/tw-community-search/#CommunityAuthors]]\n* Browse the [[list of plugins|http://erwanm.github.io/tw-community-search/#CommunityPlugins]]\n* Access content by [[tag|http://erwanm.github.io/tw-community-search/#CommunityTags]] (see also [[BookmarkingTags|http://erwanm.github.io/tw-community-search/#BookmarkingTags]])\n* Follow the [[latest news|http://erwanm.github.io/tw-community-search/#CommunityNews]] from the community (and [[publish your own news|http://erwanm.github.io/tw-community-search/#PublishingInCommunityNews]] if you are a wiki author)\n\n\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/TWaddle by Matias Goldman.tid",
    "content": "created: 20150529084054330\nmodified: 20150529084329815\ntags: [[Other Resources]]\ntitle: TWaddle by Matias Goldman\ntype: text/vnd.tiddlywiki\nurl: http://twaddle.tiddlyspot.com/\n\nA collection of hints and tips, musings and proposals from long-time TiddlyWiki contributor Mat Goldman.\n\n{{!!url}}\n\n<<<\nThis is Mat's, a.k.a <:-) little man-cave in the ~TiddlyVerse.\n\nMost TW development is, understandably, based on the premise that //\"Improve code ➔ Better TW\"//. ''TWaddle'' is also about developing TW but from the perspective that [[Bigger community ⇄ Better TW]]. Thus, TWaddle looks more to people issues - how to attract them, how to make them stick with TW etc.\n\nI'm not a programmer but I //am// a TW enthusiast so I tiddlefiddle enough to make the occasional discovery of something cool. Given the amount of words I utter, it is also a mere numbers game before I say something that makes sense. TWaddle is intended to capture these eventualities. \n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/TiddlyChrome by Arlen Beiler.tid",
    "content": "created: 20160422143238688\nmodified: 20210106151027566\ntags: [[Other Resources]]\ntitle: TiddlyChrome by Arlen Beiler\ntype: text/vnd.tiddlywiki\nurl: https://github.com/Arlen22/tiddly-chrome-app/\n\nAn extension application for Google Chrome that enables TiddlyWiki to save changes directly to the file system.\n\n{{!!url}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/TiddlyDrive Add-on for Google Drive by Joshua Stubbs.tid",
    "content": "caption: ~TiddlyDrive\ncolor: #FFEB3B\ncommunity-author: Joshua Stubbs\ncreated: 20171109172705241\ndelivery: Google Drive Add-on\ndescription: Google Drive add-on to save TiddlyWiki files\nmethod: save\nmodified: 20210106151027582\ntags: Android Chrome Firefox [[Internet Explorer]] Linux Mac Opera PHP [[Other Resources]] Safari Saving Windows iOS plugins Edge\ntitle: TiddlyDrive Add-on for Google Drive by Joshua Stubbs\ntype: text/vnd.tiddlywiki\nurl: https://github.com/tiddlydrive/tiddlydrive.github.io\n\nAn add-on for Google Drive that allows TiddlyWiki files stored there to be opened and saved directly\n\nTo find more information, go to the github page of this project: \n{{!!url}}\n\n<<<\nI made an app that lets one edit TiddlyWiki files saved in your Google drive and then saving them back automagically. The page is here https://chrome.google.com/webstore/detail/tiddly-drive/oaphhjhbbabdjnpjpiliepphpmnioolo but I think you need to add it from the Google Drive web interface.\n\nI even added an optional ability to save with ctrl + s hotkeys.\n<<< [[Joshua's launch post|https://groups.google.com/d/topic/tiddlywiki/7pNJizR57e8/discussion]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/TiddlyServer by Arlen Beiler.tid",
    "content": "caption: ~TiddlyServer\ncolor: #f06292\ncommunity-author: Arlen Beiler\ncreated: 20171109171415540\ndelivery: DIY\ndescription: An extension to TiddlyWiki's Node.js server\nmethod: sync\nmodified: 20210106151027596\ntags: Linux Mac Windows Saving [[Other Resources]]\ntitle: TiddlyServer by Arlen Beiler\ntype: text/vnd.tiddlywiki\nurl: https://github.com/Arlen22/TiddlyServer\n\nAn extension to the Node.js configuration of TiddlyWiki that adds support for static attachments and for working with multiple wikis at the same time.\n\n{{!!url}}\n\n<<<\nTiddlyServer 2.0 takes the server command of TiddlyWiki on NodeJS and adds it to a static file server. This means you can load and serve any TiddlyWiki data folder in the same way you can serve a single file TiddlyWiki.\n\nBut you don't need to serve files and folders from just one place, you can serve them from multiple places anywhere on your harddrive (literally anywhere NodeJS can stat, readdir, and readFile). You can even organise them into virtual folders (aka aliases in Apache and mounts in Express).\n\nThe main point, of course, is that you can actually edit your files, not just look at them. Single file TiddlyWikis use the put saver, which needs to be patched using a bookmarklet included on the index page. The instructions for this are below under the heading \"One thing that needs to be noted\".\n\nAnd, of course, you can edit data folder tiddlywikis just like you were running node tiddlywiki.js data --server, except that you run it on the path that you found it at (e.g. http://localhost/personal/notes/). You can have as many data folders open as you want, they don't conflict (though they will each take memory).\n\nData folders store individual tiddlers instead of entire wikis. They take less disk space as they also do not store the core and plugins. This means they also save much quicker, especially over the internet. They also save immediately (within 10 seconds or so) and they save drafts.\n<<<"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/TiddlyWiki Notes.tid",
    "content": "created: 20140327085406905\nmodified: 20210106151027260\ntags: [[Other Resources]]\ntitle: \"TiddlyWiki Notes\" by James Anderson\ntype: text/vnd.tiddlywiki\nurl: http://welford.github.io\n\nNotes and tips by a developer working on writing TiddlyWiki plugins -- including [[TWExe|https://github.com/welford/twexe]], a widget for running Windows scripts and executables. \n\n{{!!url}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/TiddlyWiki Posts.tid",
    "content": "created: 20140129085406905\nmodified: 20230805140720289\ntags: [[Other Resources]] Articles\ntitle: \"TiddlyWiki Posts\" by Jeffrey Kishner\ntype: text/vnd.tiddlywiki\nurl: https://web.archive.org/web/20221015011644/http://blog.jeffreykishner.com/tiddlywiki/\n\nA collection of articles covering integration with Fargo, Font Awesome and Google Calendar, and tips for managing task lists. The original site is missing, but a link to an archive is provided.\n\n{{!!url}}\n\n<<<\nI have become a regular user of TiddlyWiki and have become so accustomed to using Font Awesome icons in Fargo that I wanted to incorporate the icons into my wikis as well.\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/TiddlyWiki Video Tutorials by Francis Meetze.tid",
    "content": "created: 20150926170842677\nmodified: 20210106151027628\ntags: Tutorials\ntitle: TiddlyWiki Video Tutorials by Francis Meetze\ntype: text/vnd.tiddlywiki\nurl: https://www.youtube.com/playlist?list=PLzZCajspPU_UjFn0uy-J9URz0LP4zhxRK\n\nAn extensive tutorial for getting started with TiddlyWiki. Recommended \n\n{{!!url}}\n\n<<<\nThis tutorial is aimed at giving you a basic foundation so that you can start using TiddlyWiki right away. Here we take a look at the technology behind Tiddlywiki, how to install it and create your first Tiddler.\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/TiddlyWiki extensions for Sublime Text 3 by roma0104.tid",
    "content": "created: 20160424121451825\nmodified: 20210106151027608\ntags: [[Other Resources]]\ntitle: TiddlyWiki extensions for Sublime Text 3 by roma0104\ntype: text/vnd.tiddlywiki\nurl: https://github.com/roma0104/sublime-tid\n\n[[Sublime Text 3|https://www.sublimetext.com/3]] syntax file for TiddlyWiki5 `*.tid` files.\n\n{{!!url}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/TiddlyWiki extensions for ViM.tid",
    "content": "created: 20160820000000000\nmodified: 20210106151027617\ntags: [[Other Resources]]\ntitle: TiddlyWiki extensions for ViM\ntype: text/vnd.tiddlywiki\nurl: https://github.com/roma0104/vim-tid\n\n[[Vi iMproved|http://www.vim.org/]] syntax file for TiddlyWiki5 `*.tid` files.\n\n{{!!url}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/TiddlyWiki guide FR.tid",
    "content": "created: 20141031210213087\nmodified: 20210106151027238\ntags: [[Other Resources]]\ntitle: \"TiddlyWiki guide FR\" by Sylvain Naudin\ntype: text/vnd.tiddlywiki\nurl: http://sylvain.naud.in/public/TiddlyWiki/tiddlywiki-guide-fr-CCbysa.html\n\nA collection of tips and guides in French, introduced by this blog post:\n\nhttp://sylvain.naud.in/post/2014/10/29/Ressources-pour-TiddlyWiki-5-%28FR%29\n\n<<<\nCe guide de prise en main de TiddlyWiki vous permettra de débuter sur ce logiciel : rédiger du texte avec la syntaxe wiki, insérer des images, créer des Tiddler, faire une recherche, ajouter des fonctionnalités, et bien d'autres choses.. Bonne lecture ! Sylvain\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/TiddlyWiki wu.tid",
    "content": "created: 20140322085406905\nmodified: 20210106151027288\ntags: [[Other Resources]]\ntitle: \"TiddlyWiki 舞\" by Bram Chen\ntype: text/vnd.tiddlywiki\nurl: http://tw5-zh.tiddlyspot.com\n\nA translation of the tiddlywiki.com documentation from Bram Chen, TiddlyWiki's Chinese translator.\n\n{{!!url}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/TiddlyWiki5 Playground.tid",
    "content": "created: 20140315085406905\nmodified: 20210106151027330\ntags: [[Other Resources]] [[Community Plugins]]\ntitle: \"TiddlyWiki5 Playground\" by Ton Gerner\ntype: text/vnd.tiddlywiki\nurl: http://tongerner.tiddlyspot.com/\n\nHuge collection of customisations and tweaks from Ton Gerner.\n\n{{!!url}}\n\n<<<\nI am a longtime user of TiddlyWiki Classic and still use it daily since you can't do everything in TiddlyWiki 5 (yet) ;)\n\nI started experimenting with TW5 at the end of September 2013 (alpha10).\nSince I missed a few things in the layout I got used to in TiddlyWiki Classic 1, I started with modifying the layout of TW5.\nTo share my knowledge, I made a few guides about these 'modifications'.\nThe guides started as a non-linear personal web notebook (yeah, the subtitle of TiddlyWiki!). I started experimenting with layout things and used TW5 to document my experiments.\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/TiddlyWiki5 Squared by Iannis Zannos.tid",
    "content": "created: 20141009170239174\nmodified: 20210106151027345\ntags: [[Other Resources]]\ntitle: \"TiddlyWiki5^2 documenting while learning TiddlyWiki5\" by Iannis Zannos\ntype: text/vnd.tiddlywiki\nurl: https://web.archive.org/web/20170728212414/http://larigot.avarts.ionio.gr/users/iani/wikis/tw5square.html\n\nA wealth of hints, tips and notes about using [[TiddlyWiki on Node.js]]:\n\n<<<\nTiddlyWiki is different from other wikis because of its principle of dynamically customizeable \"storyline\" based on tiddlers as basic units of information. That is, the user \"composes\" their own version of the webpage by clicking on tiddler links, which add tiddlers to the page in order to compose a storyline.\n\nThe Node.js implementation in TiddlyWiki5 adds all the advantages of flat-file markup language based type of site. This makes TiddlyWiki an excellent alternative to flat-file based CMS/webpage/blog authoring systems for the web.\n\nAlso very cool is the treatment of tags as menus everywhere.\n<<<\n\n<a href={{!!url}}><$text text=\"http://larigot.avarts.ionio.gr/users/iani/wikis/tw5square.html\"/></a>\n\nAlso available on [[GitHub|https://github.com/iani/tw5square]] (download and save index.html and open it in your browser).\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/Twexe_ Single File Tiddlywiki5 executable.tid",
    "content": "caption: Twexe\ncolor: #ff8a65\ncommunity-author: ihm4u\ncreated: 20200507214737998\ndelivery: App\ndescription: Single File Tiddlywiki5 executable\nmethod: save\nmodified: 20210106151027674\ntags: Firefox [[Internet Explorer]] Opera [[Other Resources]] Safari Saving Windows Edge Linux\ntitle: Twexe: Single File Tiddlywiki5 executable\ntype: text/vnd.tiddlywiki\nurl: https://ihm4u.github.io/twexe/\n\n{{!!description}}\n{{!!url}}\n\n!! Features\n\n* Automatic backups\n* Automatic saving\n* No browser add-ons needed!!\n* Works on Linux and Windows\n* Single file executable, can be moved, copied, etc.\n* Wiki is compressed, occupying less space on your disk (sometimes even a third of the space!)\n* Converts //any// Tiddlywiki5 file to a single file executable  <<twexe>>, no need for special tiddlywiki plugins\n* Automatically uses the saving tab in the control panel (there you can specify a backup directory if you don't like the default)\n* Easily get back the html wiki file from the executable twexe (if you  need it for some reason)\n* Opens up the possibility to run external executables from your wiki (to draw charts, etc.) - stay tuned!!\n* Supports external images (i.e. with _canonical_uri field)"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/Widdly by Opennota.tid",
    "content": "created: 20180309162923236\nmodified: 20210106151027712\ntags: [[Other Resources]]\ntitle: Widdly by Opennota\ntype: text/vnd.tiddlywiki\nurl: https://gitlab.com/opennota/widdly\n\nA cross platform server application that can save tiddlers to a local database\n\n{{!!url}}\n\n<<<\n a minimal self-hosted app, written in Go, that can serve as a backend for a personal TiddlyWiki.\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/Wikilabs by PMario.tid",
    "content": "created: 20170419164100000\nmodified: 20210106151027378\ntags: [[Other Resources]] [[Community Plugins]] [[Community Editions]]\ntitle: \"Wikilabs\" by PMario\ntype: text/vnd.tiddlywiki\nurl: https://wikilabs.github.io\n\nA collection of references for testing concepts around ~TiddlyWiki 5...\n\n{{!!url}}\n\n<<<\nThis is PMario's playground with ramblings about ~TiddlyWiki and related stuff.\n\nIt basically is a \"jump off\" page to various ~TiddlyWiki sites, that show editions, themes and plugins.\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/Wills QnD gTD.tid",
    "content": "created: 20140505085406905\nmodified: 20210106151027388\ntags: [[Other Resources]]\ntitle: \"Wills Q&D gTD\" by Matabele\ntype: text/vnd.tiddlywiki\nurl: http://wills.tiddlyspot.com\n\nMatabele's stylish and clean system for personal task management.\n\n{{!!url}}\n\n<<<\nThis is my work in progress version of TW5, incorporating various features and ideas as and when they intrigue me. To grab any feature you may wish to try, drag the listed tiddlers across to the dropzone of an empty TiddlyWiki 5.0.10-beta\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/_ATWiki_ by Lamusia Project.tid",
    "content": "created: 20171219171531482\nmodified: 20210106151026834\ntags: [[Other Resources]]\ntitle: \"ATWiki\" by Lamusia Project\ntype: text/vnd.tiddlywiki\nurl: https://lamusia.github.io/#ATWiki\n\nA desktop application for TiddlyWiki, running on Windows.\n\n{{!!url}}\n\n<<<\nTiddlyWiki for Windows. A unique non-linear notebook for capturing, organising and sharing complex information.\n<<<"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/_Dropboard_ by Reid Gould.tid",
    "content": "created: 20171111192738730\nmodified: 20210106151027013\ntags: [[Other Resources]]\ntitle: \"Dropboard\" by Reid Gould\ntype: text/vnd.tiddlywiki\nurl: https://github.com/reidgould/tiddlywiki-dropboard\n\nA TiddlyWiki plugin for kanban-like organisation in the style of Trello&trade;  using boards, lists, and cards.\n\n{{!!url}}\n\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/_Dynamic Tables_ by Jed Carty.tid",
    "content": "created: 20180309160958926\nmodified: 20211113010607278\ntags: [[Other Resources]]\ntitle: \"Dynamic Tables\" by Jed Carty\ntype: text/vnd.tiddlywiki\nurl: http://ooktech.com/jed/ExampleWikis/DynamicTables/\n\n//''Dynamic Tables''// is a set of  macros that allow you to create tables where the rows are created from tiddlers and the columns from the tiddler fields, or where the columns are created from tiddlers and the rows from their fields. Individual cells can be edited on the fly. Row tables can be sorted by columns and column tables can be sorted by rows.\n\n{{!!url}}"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/_Hacks_ by Thomas Elmiger.tid",
    "content": "created: 20161226165024380\nmodified: 20210106151027097\ntags: [[Other Resources]]\ntitle: \"Hacks\" by Thomas Elmiger\ntype: text/vnd.tiddlywiki\nurl: http://tid.li/tw5/hacks.html\n\nA collection of helpers by Thomas Elmiger, among them a ''tweet button'' macro, a ''text-stretch'' solution, a ''snippet extraction'' macro and a tiddler that installs a ''scroll-to-top button'' via drag-and-drop.\n\n{{!!url}}\n\n<<<\nQuick Extensions for ~TiddlyWiki 5 – […] As I take from the community, I am happy if I can give back. You can use my stuff to do whatever you like, but remember to save a back-up first. \n<<< Thomas\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/_In My Socks_ by Jed Carty.tid",
    "content": "created: 20141122093837330\nmodified: 20210106151027127\ntags: [[Other Resources]]\ntitle: \"In My Socks\" by Jed Carty\ntype: text/vnd.tiddlywiki\nurl: http://inmysocks.tiddlyspot.com\n\nAn extensive collection of hints and tips from Jed Carty.\n\n{{!!url}}\n\n<<<\nI made this so that some of my friends with absolutely no coding experience could use some of the better features of TW5 without having to learn much. I am hopefully going to continue updating it as I learn new things. There isn't really anything here that isn't available in plenty of other places, but I figured that since I spent a while putting it together and people keep saying that TW needs more documentation I would post it here. \n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/_MathCell_ by Ste Wilson.tid",
    "content": "created: 20161226165024380\nmodified: 20210106151027156\ntags: [[Other Resources]]\ntitle: \"MathCell\" by Stephen Kimmel\ntype: text/vnd.tiddlywiki\nurl: http://mathcell.tiddlyspot.com/\n\nMathcell allows spreadsheet-like abilities in a completely contained TiddlyWiki.\n\n{{!!url}}\n\n<<<\nMathcell allows spreadsheet-like abilities in a completely contained TiddlyWiki. Additional abilities allow it work as a general math engine.\n<<<\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/_TiddlyServer_ by Matt Lauber.tid",
    "content": "created: 20161226165024380\nmodified: 20211113230709926\ntags: [[Other Resources]]\ntitle: \"TiddlyServer\" by Matt Lauber\ntype: text/vnd.tiddlywiki\nurl: https://github.com/mklauber/TiddlyServer/releases/\n\n''Note:'' This is an older version of ~TiddlyServer.   A modern version can be referenced [[here.|TiddlyServer by Arlen Beiler]] \n\n----\nTiddlyServer is a special purpose Desktop app, designed to facilitate managing multiple instances of TiddlyWiki running as a server.  It does not require internet acess to access the wikis.\n\n{{!!url}}\n\n<<<\nTiddlyServer can import both TiddlyWiki files and TiddlyFolder wikis.  For each wiki, you specify a prefix to serve it with and the source to import from.  It will copy the wikis to its own internal store and begin serving them up at http://localhost:8080/{prefix}/.  The export button for each wiki will convert it to a single file wiki. \n\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/_TiddlyWiki Knowledge Network_ by Dmitry Sokolov.tid",
    "content": "created: 20141122093837330\nmodified: 20210106151027250\ntags: [[Other Resources]]\ntitle: \"TiddlyWiki Knowledge Network\" by Dmitry Sokolov\ntype: text/vnd.tiddlywiki\nurl: http://confocal-manawatu.pbworks.com/w/page/113574373/TiddlyWiki\n\nA Knowledge Network about ~TiddlyWiki.\n\n{{!!url}}\n\n<<<\nInterconnected with the visual taxonomy at every node:\nhttp://debategraph.org/Stream.aspx?nid=457381&vt=bubble&dc=focus\n\nTWKN will be transferred into TWederation/~TiddlyMap format as soon as I am convinced in reliable and secure versioning and multi-user operation in TW format.\nYour assistance and support would be highly appreciated.\n<<<"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/_TiddlyWiki Toolmap_ by David Gifford.tid",
    "content": "created: 20181012161505447\nmodified: 20210106151027280\ntags: [[Other Resources]]\ntitle: \"TiddlyWiki Toolmap\" by David Gifford\ntype: text/vnd.tiddlywiki\nurl: https://dynalist.io/d/zUP-nIWu2FFoXH-oM7L7d9DM\n\nA topical index of known plugins, tutorials, themes, and other helpful tools for ~TiddlyWiki.\n\n{{!!url}}\n\nSome of the topics indexed so far include:\n\n* Background images and background colors\n* Breadcrumbs\n* Business - examples\n* CSS / Styles, general\n* Calendars, dates and timelines\n* Checklists\n* Collaboration\n* Color palettes\n* Colors\n* Data visualizations\n* Developer / advanced tools\n* Diplay tiddlers horizontally\n* Dropdowns\n* Educational\n* External files\n* Fields\n* Fonts\n* Fun and games\n* Home and lifestyle\n* IFrames and embedding media\n* Image galleries, modals and lightboxes\n* Images, icons, emojis\n* Importing and exporting between TiddlyWiki files\n* Includes scaffolding within a tiddler, dragging to reorder tiddlers, choosing the number of columns\n* Interfacing with, importing and exporting to and from other formats\n* Knowledge bases, dictionaries and glossaries\n* Layout/UI\n* Lightboxes\n* Links, linking\n* Lists and filters\n* Maps and geography\n* Masonry, scaffolding\n* Math\n* ~MindMapping\n* Mobile tools\n* Music and sound\n* Navigation\n* node.js\n* Note-taking\n* Open the \"filter\" tab\n* Partially hidden tiddlers\n* Personal websites (examples)\n* Presentations and slideshows\n* Printing\n* Project management\n* Publishing and hosting TiddlyWikis on the web\n* Searching tools\n* Security and backup tools\n* Social media, sharing, comments\n* Spreadsheets and math\n* Startup\n* Sticky titles\n* Story and screenplay creation\n* Table of contents\n* Tables, charts and graphs (cf data visualizations)\n* Tabs\n* Tags, tagging\n* Task management and productivity - to do lists\n* Themes\n* Understanding TiddlyWiki\n* Writing and editing\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/_TiddlyWiki5 Bourbon_ from mkt_memory.tid",
    "content": "created: 20141020072708790\nmodified: 20210106151027295\ntags: [[Other Resources]]\ntitle: \"TiddlyWiki5 Bourbon\" by mkt_memory\ntype: text/vnd.tiddlywiki\nurl: http://bacchus.ivory.ne.jp/bourbon/\n\nAn extensive collection of tips and resources for users of TiddlyWiki in Japanese.\n\n{{!!url}}\n\n<<<\nTiddlyWikiをHTML5にしたTiddlyWiki5が正式にリリースされました。このTiddlyWiki5の使い方について、自分で試した機能を中心に解説します。\n\nTiddlyWiki5は、非常に多機能なローカルWikiです。このブログに書いてあることは、TiddlyWiki5で出来ることのごく一部です。\n<<<\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/_TiddlyWiki5 Forum on Reddit_ by Riz.tid",
    "content": "created: 20141122093837330\nmodified: 20210106151027302\ntags: [[Other Resources]]\ntitle: \"TiddlyWiki5 Forum on Reddit\" by Riz\ntype: text/vnd.tiddlywiki\nurl: https://www.reddit.com/r/TiddlyWiki5/\n\nA TiddlyWiki5 forum on Reddit. \n\n{{!!url}}\n\n<<<\nA ~TiddlyWiki5 forum on Reddit. As of 2016, it claims to have the most up-to-date list of plugins available for TW5.\n<<<\n\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/_Timimi_ Extension and executable by Riz.tid",
    "content": "caption: Timimi\ncolor: #4db6ac\ncommunity-author: Riz\ncreated: 20180830194141190\ndelivery: Browser Extension & Native host\ndescription: Browser extension & native host for desktops\nmethod: save\nmodified: 20210106151027637\ntags: Windows Linux Chrome Firefox Saving [[Other Resources]] plugins Mac Opera Edge\ntitle: Timimi: WebExtension and Native Host by Riz\ntype: text/vnd.tiddlywiki\nurl: https://ibnishak.github.io/Timimi/\n\nTimimi is a web-extension accompanied by a native host that allows you to save and backup your standalone HTML tiddlywiki files ''anywhere in your hard-drive''. Once installed, you can save the tiddlywiki files without any extra steps, like the original Tiddlyfox addon.\n\n* The native host requires a component installed on the host computer, outside the browser.\n\n{{!!url}}\n\nAs of version 2.1, Timimi supports the following browsers   \n\n* Chrome/Chromium\n* Firefox\n* Opera\n* Microsoft Edge (Chromium)\n\nIt is also reported to work seamlessly in chrome based browsers like Brave and Vivaldi.\n\nTimimi also provides users with 4 backup strategies, viz:\n\n* Create a backup Every n^^th^^ save\n* Create a backup every n^^th^^ minute\n* Customised Tower of Hanoi\n* First in First Out\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/_X3DOM for TiddlyWiki 5_ by Jamal Wills.tid",
    "content": "created: 20171107175718679\nmodified: 20210106151027400\ntags: [[Other Resources]]\ntitle: \"X3DOM for TiddlyWiki 5\" by Jamal Wills\ntype: text/vnd.tiddlywiki\nurl: http://x3dom.tiddlyspot.com/\n\nAn experiment to embed interactive 3D graphics within TiddlyWiki by [[Jamal Wills|http://zemox.tiddlyspot.com]]. It is based [[X3DOM|https://www.x3dom.org]], an open source JavaScript library.\n\n{{!!url}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/_file-backups_ Extension Firefox by pmario.tid",
    "content": "caption: file-backups\ncolor: #4DB6AC\ncommunity-author: Mario Pietsch\ncreated: 20171116165500000\ndelivery: Browser Extension\ndescription: Browser extension for Firefox\nmethod: save\nmodified: 20210106151027036\ntags: Firefox Saving [[Other Resources]] plugins Windows Linux Mac\ntitle: \"file-backups\" Extension for Firefox by pmario\ntype: text/vnd.tiddlywiki\nurl: https://github.com/pmario/file-backups\n\nAn extension for Mozilla Firefox that smoothes out some of the friction from ~TiddlyWiki's built-in [[HTML5 saver|Saving with the HTML5 saver]], making it almost as easy to use as ~TiddlyFox. The workflow is intended to work out of the box, without configuration.\n\nhttps://github.com/pmario/file-backups which contains links to the documentation and introduction video(s).\n\nA chrome version is planned!"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/_muritest_ by Simon Huber.tid",
    "content": "created: 20171219165418434\nmodified: 20211113230637633\ntags: [[Other Resources]]\ntitle: \"muritest\" by Simon Huber\ntype: text/vnd.tiddlywiki\nurl: http://muritest.tiddlyspot.com\n\nA terrific demo of drag and drop, pan and zoom, and other sophisticated touch effects. Based on the [[muuri plugin by Uwe Stuehler|Plugins by Uwe Stuehler]].\n\n{{!!url}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/_savetiddlers_ Extension for Firefox by buggyj.tid",
    "content": "caption: savetiddlers\ncolor: #4DB6AC\ncommunity-author: buggyj\ncreated: 20171109171935039\ndelivery: Browser Extension\ndescription: Browser extension for Firefox\nmethod: save\nmodified: 20250809092435788\ntags: Firefox Saving [[Other Resources]] plugins\ntitle: savetiddlers: Extension for Firefox by buggyj\ntype: text/vnd.tiddlywiki\nurl: https://github.com/buggyj/savetiddlers\n\nAn extension for Mozilla Firefox that smoothes out some of the friction from TiddlyWiki's built-in [[HTML5 saver|Saving with the HTML5 saver]], making it almost as easy to use as [[TiddlyFox]] once it is set up correctly.\n\n{{!!url}}"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/resources/twproxy by Steve Gattuso.tid",
    "content": "created: 20160424150055313\nmodified: 20210106151027692\ntags: [[Other Resources]]\ntitle: twproxy by Steve Gattuso\ntype: text/vnd.tiddlywiki\nurl: https://github.com/stevenleeg/twproxy\n\nAn authentication proxy for your TiddlyWiki.\n\n{{!!url}}\n\n<<<\nOne of my favorite aspects of TiddlyWiki has been that it's web-based, making it possible for me to access my wiki from everywhere (especially my phone). That being said, I'm a bit paranoid, so I was left a bit unsatisfied with the tiddlywiki server's HTTP basic auth for protecting my wiki. ~23 commits later, I've created something called twproxy that I'd like to share with you all today, as I'm hoping somebody other than myself will find it useful.\n\nEssentially it is a simple proxy that puts your wiki behind a username, password, and optional 2-factor auth prompt. This gives you added security in addition to the ability to remember your credentials past one browsing session (I was getting sick and tired of typing my username/password in over and over using basic auth).\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/themes/Mono theme by JD.tid",
    "content": "created: 20210101154635213\nmodified: 20210101154636617\ntags: [[Community Themes]]\ntitle: \"Mono theme\" by JD\ntype: text/vnd.tiddlywiki\nurl: http://j.d.mono.tiddlyspot.com/\n\nThis theme by JD features a left side bar, advanced functionality from the search bar and plenty of customizability built in.\n\n{{!!url}}\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/themes/Notebook theme by Nicolas Petton.tid",
    "content": "created: 20210101154635213\nmodified: 20240131143350890\ntags: [[Community Themes]]\ntitle: \"Notebook theme\" by Nicolas Petton\ntype: text/vnd.tiddlywiki\nurl: https://saqimtiaz.github.io/sq-tw/notebook.html\n\nNotebook is a clean, uncluttered theme for ~TiddlyWiki.\n\n{{!!url}}\n\n<<<\nNotebook is a clean, uncluttered theme for TiddlyWiki.\n\n* The theme is responsive and comes with mobile support through the included notebook-mobile plugin.\n* Notebook comes with 3 default colour palettes, a grey, beige and dark one. To switch between colour palettes, click the color palette switch button in the top bar.\n* Notebook uses a custom left sidebar, with another sticky bar at the top of the page (or at the bottom on mobile).\n\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/themes/Whitespace a negative-spacious webapp-nostalgic theme by JD.tid",
    "content": "created: 20210101154635213\nmodified: 20210101154636617\ntags: [[Community Themes]]\ntitle: \"Whitespace, a negative-spacious, webapp-nostalgic theme\" by JD\ntype: text/vnd.tiddlywiki\nurl: http://j.d.whitespace.tiddlyspot.com/\n\nA beautiful theme that leverages the white spaces between elements.\n\n{{!!url}}\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/themes/_Ghostwriter theme by Rory Gibson_ by Riz.tid",
    "content": "created: 20141122093837330\nmodified: 20210106151027075\ntags: [[Community Themes]]\ntitle: \"Ghostwriter theme by Rory Gibson\" adapted for TW5 by Riz\ntype: text/vnd.tiddlywiki\nurl: https://ibnishak.github.io/ghostwriter/\n\nAn adaption of the \"Ghostwriter\" theme for ~TiddlyWiki.\n\n{{!!url}}\n\n<<<\nGhostwriter is a popular, minimalist and mobile responsive theme for the blogging platform ghost. This is an adaptation for ~TiddlyWiki.\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/themes/_Moments-A little color won't hurt_ by Riz.tid",
    "content": "created: 20141122093837330\nmodified: 20210106151027162\ntags: [[Community Themes]]\ntitle: \"Moments: A little color won't hurt\" by Riz\ntype: text/vnd.tiddlywiki\nurl: http://tesseractmoments.surge.sh/\n\nAn adaption of the \"Moments\" theme for ~TiddlyWiki.\n\n{{!!url}}\n\n<<<\nMoments is a beautiful free and responsive theme available for wordpress from here: http://www.s5themes.com/theme/moments/. This is an adaptation of the same for TW5 platform. All the design credits goes to the site and the original designer. If TW5 is going to be here for 25 years, might as well suit up.\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/tutorials/Creating a baby journal with TiddlyWiki 5.tid",
    "content": "created: 20140220085406905\nmodified: 20140220084548184\ntags: Tutorials\ntitle: \"Creating a baby journal with TiddlyWiki 5\" from A Penguin in Redmond\ntype: text/vnd.tiddlywiki\nurl: http://a-penguin-in-redmond.blogspot.co.uk/2014/02/creating-baby-journal-with-tiddlywiki-5.html\n\nA guide to creating a baby journal with TiddlyWiki.\n\n{{!!url}}\n\n<<<\nKeeping a journal about your baby is fun. It allows you to keep track of those events in your baby's life and development that are most important to you, and to tell them in your own words. [...]\n\nThere are plenty of online services that can help to keep such a diary, but you need to have an internet connection to access them, and you have to trust them to keep your data safe.\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/tutorials/GitHub Saver Tutorial by Mohammad.tid",
    "content": "created: 20201117163027900\nmodified: 20230723074506632\ntags: Tutorials\ntitle: GitHub Saver Tutorial by Mohammad\ntype: text/vnd.tiddlywiki\nurl: https://kookma.github.io/TW5-GitHub-Saver/\n\nGitHub Saver is a step by step tutorial that shows how to integrate Tiddlywiki 5 and ~GitHub Pages to create websites hosted on https://github.com/.\n\n{{!!url}}\n\nThis instruction is based on Tiddlywiki single html file model, while it can use subfolder for extra materials like images, audios, videos, pdfs,... in separate folders.\n\n!! Other tutorials\n\n;Tiddlywiki, Travis-CI and ~GitHub Pages\n:https://kookma.github.io/Tiddlywiki-Travis-CI/\n:This wiki shows how to set up websites hosted on [[GitHub Pages|https://pages.github.com/]] using [[Travis-CI|https://travis-ci.org]] and [[Tiddlywiki 5|https://tiddlywiki.com]] on Node.js.\n\n\n;Tiddlywiki and ~GitHub Pages\n:https://kookma.github.io/Tiddlywiki-and-GitHub-Pages/\n:This instruction is based on local edit, save and push to ~GitHub. It does NOT use the new ~GitHub Saver mechanism (requires TW 5.1.20+) which lets edit and save directly from Tiddlywiki!"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/tutorials/Microblogging con TiddlyWiki.tid",
    "content": "created: 20141008134309742\nmodified: 20141008134309742\ntags: Tutorials\ntitle: \"Microblogging con Tiddlywiki\" by Juan\ntype: text/vnd.tiddlywiki\nurl: http://3palmeras.wordpress.com/2014/11/05/microblogging-con-tiddlywiki/\n\nA Spanish guide to using TiddlyWiki on Android.\n\n{{!!url}}\n\n<<<\nTiddlywiki software is prodigious based on javascript which is capable of holding a notepad that can be edited with Internet Explorer or function as a full blog, contained in a single file.\n<<<\n\n//Translation by Google Translate//\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/tutorials/Moongift on TiddlyWiki.tid",
    "content": "created: 20131111085406905\nmodified: 20131111084548184\ntags: Tutorials\ntitle: \"デザイン刷新。次の25年を目指すTiddlyWiki\" by Moongift\nurl: http://www.moongift.jp/2013/11/tiddlywiki5-%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E5%88%B7%E6%96%B0%E3%80%82%E6%AC%A1%E3%81%AE25%E5%B9%B4%E3%82%92%E7%9B%AE%E6%8C%87%E3%81%99tiddlywiki-2/\n\nAn introduction to TiddlyWiki in Japanese.\n\n{{!!url}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/tutorials/Shining Ark Using TiddlyWiki.tid",
    "content": "created: 20130907085406905\nmodified: 20130907084548184\ntags: Tutorials\ntitle: \"Shining Ark Using TiddlyWiki\" by Helu\nurl: http://helugame.wordpress.com/2013/09/07/shining-ark-7-using-tiddlywiki/\n\nA gamers guide to using TiddlyWiki.\n\n{{!!url}}\n\n<<<\nI’ve been using TiddlyWiki for this game mainly to record the monsters’ locations and the items that they drop. This is so that when I need a certain item to upgrade/create weapons, I can quickly look it up; which monsters drop it and which quests have those monsters.\n\nAs I play the game, as I encounter new information, I just input them into my Shining Ark TiddlyWiki. It’s like I’m building a wiki from scratch. The reason why I don’t just use online wikis is that 1) it’s too easy to get spoiled and 2) sometimes online wikis provide too much information (who cares about the non-gameplay related descriptions that can be found in the game, etc).\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/tutorials/TW5 Tribal Knowledge.tid",
    "content": "created: 20140315085406905\nmodified: 20140321084533577\ntags: Tutorials\ntitle: \"TW5 Tribal Knowledge\" from Scott Kingery\ntype: text/vnd.tiddlywiki\nurl: http://techlifeweb.com/tw5tribalknowledge.html\n\nTips and guides for using TiddlyWiki.\n\n{{!!url}}\n\n<<<\nI never used Node.js until a couple weeks ago when I wanted to try a TW5 installation on Node and expand my knowledge a bit. I figured someone else may be in the same boat so I wrote it all down\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/community/tutorials/Un wiki sur votre BiblioBox avec TiddlyWiki.tid",
    "content": "created: 20140716085406905\nlost-url: http://bibliobox.net/blog/post/2014/07/16/un-wiki-sur-votre-bibliobox-avec-tiddlywiki\nmodified: 20140716084548184\ntags: Tutorials\ntitle: \"Un wiki sur votre BiblioBox avec TiddlyWiki\" from A Penguin in Redmond\ntype: text/vnd.tiddlywiki\nurl: https://web.archive.org/web/20210305133610/http://bibliobox.net/blog/post/2014/07/16/un-wiki-sur-votre-bibliobox-avec-tiddlywiki\n\nA guide (in French) to using TiddlyWiki on the [[BiblioBox|http://bibliobox.net/]], a variation of the [[PirateBox|http://daviddarts.com/piratebox/]] mobile communication and file sharing system.\n\n{{!!url}}\n\n<<<\nI've known TiddlyWiki since its beginning in 2004. For personal or professional needs, I used it regularly for notepad staff in 2007 and 2012. But I admit I ignored the tool during the past two years. And then I said yesterday: but why not put TiddlyWiki on a BiblioBox? Because it is a single HTML file with javascript. In addition I knew the existence of a server version for saving online amendments.\n<<<\n\n//Hand optimised from a translation by Google Translate//\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/communitycards/tiddlywiki.files",
    "content": "{\n\t\"directories\": [\n\t\t{\n\t\t\t\"path\": \"../../../../community\",\n\t\t\t\"isTiddlerFile\": true,\n\t\t\t\"isEditableFile\": true,\n\t\t\t\"filesRegExp\": \"^(?!readme\\\\.md$)(?!\\\\.DS_Store$).+\",\n\t\t\t\"searchSubdirectories\": true\n\t\t}\n\t]\n}"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/Bags and Recipes.tid",
    "content": "created: 20240309135835396\nmodified: 20240309142156125\ntags: Concepts\ntitle: Bags and Recipes\ntype: text/vnd.tiddlywiki\n\nThe bags and recipes model is a reference architecture for how tiddlers can be shared between multiple wikis. It was first introduced by TiddlyWeb in 2008.\n\nThe principles of bags and recipes can be simply stated:\n\n# Tiddlers are stored in named \"bags\"\n# Bags have access controls that determines which users can read or write to them\n# Recipes are named lists of bags, ordered from lowest priority to highest\n# The tiddlers within a recipe are accumulated in turn from each bag in the recipe in order of increasing priority. Thus, if there are multiple tiddlers with the same title in different bags then the one from the highest priority bag will be used as the recipe tiddler\n# Wikis are composed by splicing the tiddlers from the corresponding recipe into the standard TW5 HTML template\n\nA very simple example of the recipe/bag model might be for a single user who maintains the following bags:\n\n* ''recipes'' - tiddlers related to cooking recipes\n* ''work'' - tiddlers related to work\n* ''app'' - common tiddlers for customising TiddlyWiki\n\nThose bags would be used with the following recipes:\n\n* ''recipes'' --> recipes, app - wiki for working with recipes, with common custom components\n* ''work'' --> work, app - wiki for working with work, with common custom components\n* ''app'' --> app - wiki for maintaining custom components\n\nAll of this will work dynamically, so changes to the app bag will instantly ripple into the affected hosted wikis.\n\nA more complex example might be for a teacher working with a group of students:\n\n* ''student-{name}'' bag for each students work\n* ''teacher-course'' bag for the coursework, editable by the teacher\n* ''teacher-tools'' bag for custom tools used by the teacher\n\nThose bags would be exposed through the following hosted wikis:\n\n* ''student-{name}'' hosted wiki for each students work, including the coursework material\n* ''teacher-course'' hosted wiki for the coursework, editable by the teacher\n* ''teacher'' hosted wiki for the teacher, bringing together all the bags, giving them an overview of all the students work\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/Brackets.tid",
    "content": "created: 20220728145925343\nmodified: 20220728150440771\ntags: Definitions\ntitle: Brackets\ntype: text/vnd.tiddlywiki\n\nWikiText syntax uses a number of different types of brackets. Their names are shown in the table below:\n\n|!Appearance |!Name |!Short name |!Usage |\n|`()` |Round brackets |Parenthesis |Not used in WikiText |\n|`[]` |Square brackets |Brackets |[[Links|Linking in WikiText]], [[Filters|Filters]] |\n|`{}` |Curly brackets |Braces |[[Text references|TextReference]], [[Filtered attributes|HTML in WikiText]] |\n|`<>` |Angle brackets |Chevrons |[[HTML elements and widgets|HTML in WikiText]], [[Macros]] |\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/Cascades.tid",
    "content": "created: 20211201100326006\nmodified: 20211206164704335\ntags: Concepts\ntitle: Cascades\ntype: text/vnd.tiddlywiki\n\n!! Introduction\n\nCascades are a key mechanism used to construct and customise TiddlyWiki's user interface.\n\n<<.tip \"See [[Customising TiddlyWiki's user interface]] for an overview of all the customisation mechanisms\">>\n\n!! How cascades work\n\nCascades provide a means to select one of multiple values based on flexible, extensible criteria. They can be thought of as a list of conditions that are evaluated in turn until one of them matches.\n\nEach cascade is defined by a special tag which identifies the tiddlers containing the conditions to be matched. The [[Order of Tagged Tiddlers]] determines the order in which the conditions are processed, and provides the means for arranging new rules at specific points in the cascade.\n\nThe conditions are defined by a [[Filter Expression]] in the text field. The filters are evaluated with the list of input titles set to the title of the tiddler to be considered. The `currentTiddler` variable is also set to the title of the tiddler to be considered.\n\nIf the filter returns no result then that result will be ignored and the cascade proceeds to test the next condition. If the filter expression does return at least one result then it serves as the result of the entire cascade.\n\nThe [[Cascade Filter Run Prefix]] provides the implementation of the underlying logic.\n\n!! Example\n\nThe [[Story Tiddler Template Cascade]] contains the logic for determining a tiddler should be displayed as an editable draft or in view mode. By default, it consists of two tiddlers containing the following list of rules:\n\n# `[is[draft]then{$:/config/ui/EditTemplate}]` – if it is a draft tiddler, use the template title given in the tiddler $:/config/ui/EditTemplate\n# `[{$:/config/ui/ViewTemplate}] ` – otherwise, use the template title given in the tiddler $:/config/ui/ViewTemplate\n\n!! Usage in the core\n\nThe TiddlyWiki core uses cascades to choose the following elements:\n\n|[[Story Tiddler Template Cascade]] |The template used to display a particular tiddler in the story river. By default, the edit template is chosen for draft tiddlers, and the view template for others |\n|[[Tiddler Icon Cascade]] |The optional icon associated with a particular tiddler (displayed alongside the title) |\n|[[Tiddler Colour Cascade]] |The optional colour associated with a particular tiddler (used to colour the tiddler icon and if the tiddler is used as a tag also provides the colour for the tag pill) |\n|[[View Template Title Cascade]] |The template used to display the title of a particular tiddler (used by the default view template to display the tiddler title) |\n|[[View Template Body Cascade]] |The template used to display the view mode body of a particular tiddler (used by the default view template to display the tiddler body) |\n|[[Edit Template Body Cascade]] |The template used to display the edit mode body of a particular tiddler (used by the default edit template to display the tiddler body editor) |\n|[[Field Editor Cascade]] |The template used to display the edit mode of a tiddler field (used by the default edit template to display the field editor) |\n\nYou can see the current settings for each cascade in $:/ControlPanel under the ''Info'' -> ''Advanced'' -> ''Cascades'' tab.\n\n!! See Also\n\n<<list-links \"[tag[Cascades]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/ColourPalettes.tid",
    "content": "created: 20140216102454178\nmodified: 20230803045407958\ntags: Concepts\ntitle: ColourPalettes\ntype: text/vnd.tiddlywiki\n\nA colour palette is a [[data tiddler|DataTiddlers]] that supplies a [[CSS|Cascading Style Sheets]] colour value, such as ''yellow'' or ''#fe0'', for each of several colour names, like this:\n\n```\npage-background: #fe0\ntable-border: #ccc\n...\n```\n\nSeveral palettes form part of the core. The system tiddler [[$:/palette]] always contains the title of the currently selected palette tiddler. You can change a palette using the <<.icon $:/core/images/palette>> ''palette'' button, found on the \"Tools\" tab in the sidebar.\n\nTo retrieve the value of a named colour from the current palette, e.g. for use in a stylesheet tiddler, use the <<.mlink colour>> macro:\n\n```\n<<colour page-background>>\n```\n\nPalette tiddlers should have the following fields:\n\n|!Name |!Value |\n|title |Typically starting with `$:/` |\n|type |`application/x-tiddler-dictionary` |\n|tags |`$:/tags/Palette` |\n|name |Displayed in the palette browser |\n|description |Displayed in the palette browser |\n|text |`name: value` colour definitions |\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/CompoundTiddlers.tid",
    "content": "created: 20240507221902644\nmodified: 20250814073256942\ntags: Concepts\ntitle: CompoundTiddlers\ntype: text/vnd.tiddlywiki\n\nCompound tiddlers are a special type of tiddler that can store one or more payload tiddlers. The tiddlers within a compound tiddler are only accessible via special operations, typically with the TestCaseWidget.\n\nThe compound tiddler format is extremely simple, and includes the notable flaw that it does not permit tiddlers that contain a plus sign (`+`) on a line by itself. It is not intended as a general purpose way of storing tiddler data.\n\nCompound tiddlers are identified by having their [[type field|ContentType]] set to `text/vnd.tiddlywiki-multiple`.\n\nThe content of a compound tiddler consists of a sequence of tiddlers separated by a plus sign (`+`) on a line by itself. Each tiddler uses the same format as [[.tid files|TiddlerFiles]].\n\nFor example:\n\n```\ntitle: First\ntags: one two\n\nThis is the first tiddler\n+\ntitle: Second\ntags: three four\n\nThis is the second tiddler\n+\ntitle: third\ntags: five six\n\nThis is the third tiddler\n```\n\nAlso see: [[TestCaseTiddlers]]"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/Concepts.tid",
    "content": "color: #FF8383\ncreated: 20130825144700000\nlist: Cascades ColourPalettes Commands [[Current Tiddler]] DataTiddlers [[Date Fields]] DefaultTiddlers DictionaryTiddlers ExternalImages Filters [[Hard and Soft Links]] JSONTiddlers [[Keyboard Shortcut Tiddler]] Macros Messages Modules PermaLinks Plugins Pragma [[Railroad Diagrams]] ShadowTiddlers [[Story River]] SystemTags SystemTiddlers Tagging TemplateTiddlers TextReference TiddlerFields TiddlerLinks Tiddlers TiddlyWiki TiddlyWiki5 [[Title List]] [[Title Selection]] Transclusion Variables Widgets Wiki WikiText\nmodified: 20250104110643596\ntags: Reference\ntitle: Concepts\ntype: text/vnd.tiddlywiki\n\nThese are the concepts underlying TiddlyWiki. Understanding how these ideas fit together is the key to getting the most from TiddlyWiki.\n\n<<list-links \"[tag[Concepts]sort[title]]\" class:\"multi-columns\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/CoordinateSystems.tid",
    "content": "created: 20220810201659784\nmodified: 20220810201659784\ntags: Concepts\ntitle: Coordinate Systems\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki (primarily the RevealWidget) supports two coordinate systems for positioning popups (see PopupMechanism to learn more about popups).\n\n<<.from-version \"5.2.4\">> We introduced absolute coordinates that may not work with all extensions and plugins. For maximum backwards compatibility, use absolute coordinates only where necessary.\n\n!! Relative coordinate system\n\nThe default coordinate system is relative to the nearest positioned ancestor element. This is either:\n\n* an element with a non-static position, or\n* a ''td'', ''th'', ''table'' in case the element itself is static positioned.\n\nFor tiddlers the nearest positioned ancestor element mostly is the body of the tiddler. Read the next chapter to learn about the exceptions.\n\nRelative coordinates are expressed in the form ''(x,y,w,h)''. Where ''x'' and ''y'' represent the position and ''w'' and ''h'' the width and height of the element.\n\n!! Absolute coordinate system\n\nThe relative coordinate system works flawless most of the time. Problems occure if the target element (for example, a popup) and the source element (the triggering button) do not share the same positioned ancestor element. This is often the case if the popup is declared outside a table and the triggering button is declared within a table cell. In this case the coordinate systems have different origins and the popup will be displayed in the wrong location.\n\nAbsolute coordinates can fix this problem by using the root element of the page (the upper-left corner of the page) as the origin of the coordinate system. Absolute coordinates are expressed in the form ''@(x,y,w,h)''. Where ''x'' and ''y'' represent the position and ''w'' and ''h'' the width and height of the element. The leading ''@''-symbol marks these coordinates as absolute.\n\nThe ButtonWidget has an option (''popupAbsCoords'') to put absolute coordinates into the state tiddler. The DraggableWidget and the EventCatcherWidget provide the absolute coordinate of an event within the attribute `tv-popup-abs-coords`.\n\n\n!! Example\n\nThe following example shows a popup that is triggered from within a table cell. The table cell is the nearest positioned ancestor element. The popup was defined outside the table cell. The button using relative coordinates will open the popup in the wrong location because the button and the popup do not agree on the same coordinate system. Using absolute coordinates fixes this problem.\n\n<<wikitext-example-without-html '<$reveal type=\"popup\" state=\"$:/state/CoordinateSampleReveal\">\n<div class=\"tc-drop-down\">\nPopup\n</div>\n</$reveal>\n\n| Table Row 1 |<$button popup=\"$:/state/CoordinateSampleReveal\">Relative coordinates</$button>|\n| Table Row 2 |<$button popup=\"$:/state/CoordinateSampleReveal\" popupAbsCoords=\"yes\">Absolute coordinates</$button>|'>>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/Current Tiddler.tid",
    "content": "created: 20130825144900000\nmodified: 20150221215022000\ntags: Concepts\ntitle: Current Tiddler\ntype: text/vnd.tiddlywiki\n\nThe <<.def \"current tiddler\">> provides the context in which several aspects of WikiText are interpreted.\n\nFor example, `{{!!title}}` denotes the value of the <<.field title>> field of whatever the current tiddler happens to be. This technique can be used to create general-purpose [[template tiddlers|TemplateTiddlers]].\n\nThe title of the current tiddler can always be found in the <<.vlink currentTiddler>> variable.\n\nThe two most common ways in which the current tiddler is changed are:\n\n* the <<.wlink TiddlerWidget>> widget\n* the <<.wlink ListWidget>> widget (when its <<.attr variable>> attribute is not overridden)\n\nThe current tiddler is therefore often <<.em not>> the same as the [[tiddler that is being viewed or edited|storyTiddler Variable]].\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/Customizing EditTemplate Field Rendering.tid",
    "content": "created: 20220305183700000\nmodified: 20220413165500000\ntags: Concepts\ntitle: Customizing EditTemplate field rendering\ntype: text/vnd.tiddlywiki\n\nWhen editing a tiddler the [[EditTemplate|$:/core/ui/EditTemplate/fields]] normally renders fields as simple input boxes. To modify this behaviour, the [[cascade mechanism|Cascades]] can be used. Via the [[Field Editor Cascade|Field Editor Cascade]] the name of the tiddler used for rendering the field editor can be specified. The content of this tiddler is transcluded to represent the content of the field.\n\nTo modify the appearance of all fields whose name ends with `-date` create a new tiddler and add the `$:/tags/FieldEditorFilter` tag to it. Add a `list-before` field and assign the value `$:/config/FieldEditorFilters/default`. Now you have to put the filter for the cascade into the tiddler's text field: `[suffix[-date]then[$:/config/EditTemplateFields/Templates/dates]]`. This will transclude the tiddler named `$:/config/EditTemplateFields/Templates/dates` to render the input elements for all fields with names matching the regular expression.\n\nThe variables `currentTiddler`, `currentField` and `currentFieldName` are set to pass information about the tiddler and field that are edited to the transcluded tiddler.\n\n|`currentTiddler`|The tiddler that must be used to store the field value.|\n|`currentField`|The field within the `currentTiddler` that must be used to store the field name. This is an opaque value hat may contain any field name (even `text`), use `currentFieldName` to make decisions based on the actual name of the currently edited field.|\n|`currentFieldName`|The name of the currently edited field.|\n\nFor example, a tiddler containing the following WikiText would render the field as an HTML input element of the type `date`. This will show a date picker for the fields on all modern browsers:\n\n```\n<$edit-text tiddler=<<currentTiddler>> field=<<currentField>> tag=\"input\" type=\"date\" class=\"tc-edit-texteditor tc-edit-fieldeditor\" placeholder=\"Set your date\" tabindex={{$:/config/EditTabIndex}} cancelPopups=\"yes\"/>\n```\n\n<<.warning \"The `currentField` variable will be set to `text` for new fields. Make sure that your editor will handle this correctly. For example, by setting the `tag` attribute on the EditTextWidget. If you want to know the name of the currently edited/added field, use the `currentFieldName` variable.\">>\n\nThe `tabindex` and `cancelPopups` attributes make sure the HTML input element behaves exactly the default elements provided by TiddlyWiki.\n\nNot only the EditTextWidget can be used. A tiddler containing the following WikiText will render the field as a drop-down-list that allows the user to select the name of a tiddler. The name of the selected tiddler will be stored in the field.\n\n```\n<$select tiddler=<<currentTiddler>> field=<<currentField>> class=\"tc-edit-texteditor tc-edit-fieldeditor\" cancelPopups=\"yes\">\n    <$list filter='[all[tiddlers]sort[title]]'>\n        <option value=<<currentTiddler>>><$view field='title'/></option>\n    </$list>\n</$select>\n```\n\nThe classes `tc-edit-texteditor` and `tc-edit-fieldeditor` should be used to style the `input` and `select` elements to match the theme of the TiddlyWiki installation.\n\n! Persistence of values when creating fields\n\nWhen using multiple field editors for creating fields within the [[EditTemplate|$:/core/ui/EditTemplate/fields]], every field editor tiddler returned by the [[Field Editor Cascade|Field Editor Cascade]] gets its own storage tiddler. This is done to prevent problems with incompatible values when the user is switching between fields governed by different field editors.\n\n!! Example\n\nThere is a cascade that returns a special field editor for all fields starting with the string \"my-\". All other fields use the default field editor.\nIf you type a new value into the \"field value\" input box and select any field not starting with \"my-\", the value will be kept.\nIf you switch to a field, that starts with \"my-\", the \"field value\" input field will be empty again because a new type of field editor is used. If you now type a value and switch to another field starting with \"my-\" the value will be kept. If you switch to a field that does not start with \"my-\" the previously typed value (that was stored for the default editor) will reappear."
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/DataTiddlers.tid",
    "content": "created: 20130829164700000\nmodified: 20220427171321793\ntags: Concepts\ntitle: DataTiddlers\ntype: text/vnd.tiddlywiki\n\nA data tiddler is a miniature database contained within a tiddler.\n\nThere are two standard formats:\n\n* DictionaryTiddlers\n* [[JSONTiddlers]]\n\nOther formats of tiddler can also be parsed to yield blocks of data that behave like data tiddlers.\n\nSee [[JSON in TiddlyWiki]] for an overview.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/Date Fields.tid",
    "content": "created: 20150117190213631\nmodified: 20251225215015507\ntags: Concepts\ntitle: Date Fields\ntype: text/vnd.tiddlywiki\n\nCertain [[fields|TiddlerFields]] of a tiddler are used to store dates and times. TiddlyWiki supports dates from the year -9999 to the year 9999.\n\nThe two standard date fields are <<.field created>> and <<.field modified>>.\n\nValues of date fields are 17 or 18-character strings:\n\n* <<.from-version \"5.1.23\">> an optional minus sign `-` to indicate a negative year\n* 4 digits for the year\n* 2 digits for the month\n* 2 digits for the day\n* 2 digits for the hour\n* 2 digits for the minute\n* 2 digits for the second\n* 3 digits for the millisecond\n\nTo avoid problems arising from differences of time zone, TiddlyWiki always uses [[UTC|https://en.wikipedia.org/wiki/Coordinated_Universal_Time]].\n\nThe [[DateFormat]] template for storage of dates in these fields is `[UTC]YYYY0MM0DD0hh0mm0ss0XXX`.\n\nAs an example, the <<.field created>> field of this tiddler has the value <<.value \"\"\"<$view field=\"created\"/>\"\"\">>.\n\nDates can be [[converted to other formats|DateFormat]] for display:\n\n<$macrocall $name=\"wikitext-example-without-html\"\nsrc=\"\"\"<$view field=\"created\" format=\"date\" template=\"DDD DDth MMM YYYY\"/>\"\"\"/>\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/DefaultTiddlers.tid",
    "content": "created: 20180306113011255\nmodified: 20180306161225140\ntags: Concepts\ntitle: DefaultTiddlers\ntype: text/vnd.tiddlywiki\n\n\"Default tiddlers\" refers to the list of tiddlers that are opened at startup in the browser if the address bar does not include a [[permalink|PermaLinks]].\n\nThere are two ways default tiddlers can be defined:\n\n* A [[title-list|Title List]] eg: `TiddlerTitle` and `[[Title with spaces]]`\n* [[Filter expressions|Filter Expression]], using filter operators eg: `[tag[HelloThere]]`\n\nThe resulting list of titles is then inserted into the [[story river|Story River]].\n\nThe [[control panel|$:/ControlPanel]] ''-> Info -> Basics -> Default tiddler'' setting includes a text box for direct access to $:/DefaultTiddlers.\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/DictionaryTiddlers.tid",
    "content": "created: 20141228094500000\nmodified: 20220427171020974\ntags: Concepts\ntitle: DictionaryTiddlers\ntype: text/vnd.tiddlywiki\n\nA dictionary tiddler is a kind of [[data tiddler|DataTiddlers]] that contains a simple list of `name: value` pairs.\n\nIts [[ContentType]] is `application/x-tiddler-dictionary`.\n\nThe `text` field consists of one or more lines of the form <code>//name//: //value//</code>.\n\n[[ColourPalettes]], such as the [[default Vanilla palette|$:/palettes/Vanilla]], are dictionary tiddlers.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/Dominant Append.tid",
    "content": "created: 20150123220223000\nmodified: 20240709170746678\ntags: Filters\ntitle: Dominant Append\ntype: text/vnd.tiddlywiki\n\n[[Filters]] manipulate [[sets of titles|Title Selection]] in which no title may appear more than once. Furthermore, they often need to append one such set to another.\n\nThis is done in such a way that, if a title would be duplicated, the earlier copy of that title is discarded. The titles being appended are dominant.\n\nFor example, if a selection contains `Andrew Becky Clara Daniel` and `Andrew Barney Clara Daisy` is then appended to it, the result is `Becky Daniel Andrew Barney Clara Daisy`.\n\nThis behaviour can cause unexpected results when working with [[Mathematics Operators]]. For example, `1 2 3 +[sum[]]` evaluates to `6`, as expected. But `1 1 1 +[sum[]]` evaluates to `1`. Removing the `+[sum[]]` from each filter reveals the problem: `1 2 3` evaluates to the list `1`, `2`, `3`, while `1 1 1` evaluates to the single item `1` due to de-duplication.\n\nIn such situations, the `=` prefix can be used to disable the de-duplication. For example, `=1 =1 =1 +[sum[]]` evaluates to `3` as expected. Alternatively, the [[split Operator]] can be used: `[[1,1,1]split[,]sum[]]`.\n\n<<.tip \"\"\"To build a list of unique values that retains only the <<.em earliest>> copy of each value (the opposite behavior from <<.link \"Dominant Append\" \"Dominant Append\">>), first use the <<.link `:all` \"All Filter Run Prefix\">> filter run prefix (or its short form `=`) to retain all duplicate values while building your list. Then finish your filter run with the <<.olink unique>> operator to remove later duplicates.\"\"\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/Edit Template Body Cascade.tid",
    "content": "created: 20211206161652630\nmodified: 20211206161959460\ntags: Cascades\ntitle: Edit Template Body Cascade\ntype: text/vnd.tiddlywiki\n\nThe edit template body cascade is a [[cascade|Cascades]] used by the default edit template to choose the template for displaying the tiddler body.\n\nThe core edit template body cascade can be found in $:/core/ui/EditTemplate/body\n\nThe default edit template body cascade consists of:\n\n# If the tiddler has the field ''_canonical_uri'' then use the template $:/core/ui/EditTemplate/body/canonical-uri to display the remote URL\n# Otherwise, use the template $:/core/ui/EditTemplate/body/default which provides the default editing interface\n\nYou can see the current settings for the view template body cascade in $:/ControlPanel under the ''Info'' -> ''Advanced'' -> ''Cascades''  -> ''Edit Template Body'' tab.\n\n<<list-links \"[tag[Edit Template Body Cascade]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/ExternalImages.tid",
    "content": "created: 20140610213500000\nmodified: 20250217154855572\ntags: Concepts Features\ntitle: ExternalImages\ntype: text/vnd.tiddlywiki\n\nExternal images in TiddlyWiki are tiddlers that point to the URI of an image, rather than embedding the full image data. They can perform better than embedded images, particularly with large numbers or sizes of images. However, using them breaks the single file pattern of TiddlyWiki.\n\nExternal images are used in the browser. They can be created by the Node.js configuration when it builds a TiddlyWiki, or they can be created manually within the browser.\n\n! What is an External Image\n\nAn external image is an ordinary image tiddler that has a ''_canonical_uri'' field containing the URI of the image. The URI can be absolute or relative to the HTML document. If the canonical URI is provided then the ''text'' field of the tiddler is ignored and so should be omitted.\n\n! Manually Creating External Images\n\nTo manually create an external image just create the tiddler with the appropriate image content type, and add a ''_canonical_uri'' field with a URI pointing to the actual image location.\n\n''IMPORTANT:'' Double-check your spelling. ``_canonical_uri`` is spelled [[URI|https://en.wikipedia.org/wiki/URI#The_relationship_between_URIs.2C_URLs.2C_and_URNs]], not URL.\n\n! Creating external images under Node.js\n\nThe following steps are used to create a static HTML file version of a wiki accompanied by an ''images'' folder containing the referenced external images:\n\n# Create image tiddlers in your TiddlyWikiFolders in the usual way\n# Save the images as separate files (by convention, in a subfolder named ''/images'')\n# Externalise the image tiddlers by giving them a ''_canonical_uri'' field\n# Save the main HTML file\n\nNote the image files must be saved before they are externalised. Externalising them destroys the ''text'' field within the in-memory copy of the wiki store, meaning that attempts to save them will fail.\n\n!! External Image Configuration\n\nFor an example create an ''externalimages'' build target in a ''tiddlywiki.info'' file:\n\n```\n\"build\": {\n\t\"externalimages\": [\n\t\t--save [is[image]] images\n\t\t--setfield [is[image]] _canonical_uri $:/core/templates/canonical-uri-external-image text/plain\n\t\t--setfield [is[image]] text \"\" text/plain\n\t\t--render $:/core/save/all externalimages.html text/plain\n\t]\n}\n```\n\n!! Externalising Image Tiddlers\n\nThe following `--save` command (see [[SaveCommand]]) can be used to save the images of a wiki into an ''images'' subfolder:\n\n```\n--save [is[image]] images\n```\n\nTwo `--setfield` commands are used: the first sets the ''_canonical_uri'' field to a URI derived from the title of the tiddler, and the second clears the text field.\n\n```\n--setfield [is[image]] _canonical_uri $:/core/templates/canonical-uri-external-image text/plain\n--setfield [is[image]] text \"\" text/plain\n```\n\nThe template tiddler [[$:/core/templates/canonical-uri-external-image]] contains:\n\n<pre>\n\n<$view tiddler=\"$:/core/templates/canonical-uri-external-image\" field=\"text\" format=\"text\"/>\n\n</pre>\n\nNote that these operations modify the tiddlers in the wiki store and so may affect the operation of subsequent commands.\n\n!! Node.js Command to Build External Images\n\nThe following command will create external images in the `myWiki/output` folder. \n\n```\ntiddlywiki myWiki --build externalimages\n```\n\nOn Windows the following command will create external images that are part of the [[tw5.com edition|https://github.com/TiddlyWiki/TiddlyWiki5/blob/master/editions/tw5.com/tiddlywiki.info#L26]]. The files will be created in the output directory.\n\n```\ntiddlywiki .\\editions\\tw5.com --build index\n```\n\n! Using External Images\n\nYou can't edit an external image directly in the browser except by changing the URI field to point to a different image.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/Field Editor Cascade.tid",
    "content": "created: 20220305173931551\nmodified: 20220305173931551\ntags: Cascades\ntitle: Field Editor Cascade\ntype: text/vnd.tiddlywiki\n\nThe field editor cascade is a [[cascade|Cascades]] used to choose a template for rendering the field editor within the [[EditTemplate|$:/core/ui/EditTemplate/fields]].\n\nThe core field editor cascade can be found in $:/core/ui/EditTemplate/fields\n\nThe default field editor cascade only contains one element:\n\n# Use the tiddler $:/core/ui/EditTemplate/fieldEditor/default to render the field\n\nSee [[Customizing EditTemplate field rendering]] for more details.\n\nYou can see the current settings for the field editor cascade in $:/ControlPanel under the ''Info'' -> ''Advanced'' -> ''Cascades''  -> ''Field Editor'' tab.\n\n<<list-links \"[tag[Tiddler Field Editor Cascade]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/Filters.tid",
    "content": "created: 20130827080000000\nlist: [[Introduction to filter notation]] [[Filter Syntax]]\nmodified: 20230710074511095\ntags: Reference Concepts TableOfContents\ntitle: Filters\ntype: text/vnd.tiddlywiki\n\n\\define openAdvancedSearch()\n<$action-setfield $tiddler=\"$:/state/tab--1498284803\" text=\"$:/core/ui/AdvancedSearch/Filter\"/>\n<$action-setfield $tiddler=\"$:/temp/advancedsearch/input\" text=\"[tag[Filters]]\"/>\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" text=\"[tag[Filters]]\"/>\n\\end\n\nYou can think of TiddlyWiki as a database in which the records are tiddlers. A database typically provides a way of discovering which records match a given pattern, and in ~TiddlyWiki this is done with filters.\n\nA <<.def filter>> is a concise notation for selecting a particular [[set of tiddlers|Title Selection]], known as its <<.def \"output\">>. Whenever ~TiddlyWiki encounters a filter, it calculates the output. Further work can then be done with just those tiddlers, such as [[counting|CountWidget]] or [[listing|ListWidget]] them.\n\nThe following example passes a filter to the <<.mlink list-links>> macro. It displays a list of all tiddlers using the <<.olink2 tag tag>> <<.word Filters>>:\n\n<<wikitext-example-without-html \"\"\"<<list-links \"[tag[Filters]]\">>\"\"\" >>\n\nA filter output can change as tiddlers are added and deleted in the wiki. ~TiddlyWiki recalculates on the fly, automatically updating any filter-based counts or lists as well.\n\n''Find out more:''\n\n* <$linkcatcher message=\"tm-navigate\" actions=<<openAdvancedSearch>> >[[Advanced Search|$:/AdvancedSearch]]</$linkcatcher> -- has a <<.advancedsearch-tab Filter>> tab that makes it easy to experiment with filters.\n* [[Filtered Transclusions|Transclusion in WikiText]] -- if you want to use filter results in your text\n* [[Filter Syntax History]] -- if you are curious why the filter syntax is the way it is\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/Hard and Soft Links.tid",
    "content": "created: 20150123220237000\nmodified: 20240610085736941\ntags: Concepts\ntitle: Hard and Soft Links\ntype: text/vnd.tiddlywiki\n\nA <<.def \"hard link\">> is a [[link|Linking in WikiText]] that can be detected by a superficial examination of WikiText.\n\nA link is <<.def \"soft\">> if it is:\n\n* contained in text [[trancluded|Transclusion]] from elsewhere\n* supplied via a [[macro|Macros]] or [[variable|Variables]]\n* generated by a link widget whose <<.attr to>> attribute is a transclusion, macro or variable\n\n<$macrocall $name=\".warning\" _=\"\"\"Soft links are not detected by link-related filter operators such as <<.olink backlinks>>, <<.olink links>>, <<.olink all>> and <<.olink is>>.\"\"\"/>\n\nThis concept is analogous to [[Hard and Soft Transclusions]].\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/Hard and Soft Transclusions.tid",
    "content": "created: 20240610085133221\nmodified: 20240610085613037\ntags: Concepts\ntitle: Hard and Soft Transclusions\n\nA <<.def \"hard transclusion\">> is a [[transclusion|Transclusion]] that can be detected by a superficial examination of WikiText.\n\nA transclusion is <<.def \"soft\">> if it is:\n\n* contained in text [[trancluded|Transclusion]] from elsewhere\n* supplied via a [[macro|Macros]], [[procedure|Procedures]] or [[variable|Variables]]\n* generated by a [[transclude widget|TranscludeWidget]] whose <<.attr $tiddler>> attribute is a transclusion, macro or variable\n\n<$macrocall $name=\".warning\" _=\"\"\"Soft transclusions are not detected by transclusion-related filter operators <<.olink transcludes>> and <<.olink backtranscludes>>.\"\"\"/>\n\nThis concept is analogous to [[Hard and Soft Links]].\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/InfoPanel.tid",
    "content": "created: 20150917193630604\nmodified: 20201129183045031\ntags: Features\ntitle: InfoPanel\ntype: text/vnd.tiddlywiki\n\nEach tiddler has a panel of additional information. To reveal it, click the <<.icon $:/core/images/down-arrow>> button in the tiddler's toolbar and then choose <<.icon $:/core/images/info-button>> ''info'' from the dropdown list.\n\nThe info panel has the following tabs:\n\n* ''Tools'' - This offers buttons for various actions you can perform on the tiddler. The checkbox next to each button lets you promote an action to the tiddler's toolbar - this will affect all of the tiddlers in your wiki\n* ''Backlinks'', ''Tagging'', ''List'' and ''Listed'' - These list various kinds of related tiddlers. See [[Using links to navigate between tiddlers]]\n* ''Fields'' - This summarises all of the tiddler's [[fields|TiddlerFields]], except for ''text''\n* ''Advanced'' - This indicates whether the tiddler is a [[shadow|ShadowTiddlers]]. If it is, this also reveals which plugin it comes from and whether it has been overridden by an ordinary tiddler\n\nTo close the info panel, click anywhere outside it.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/JSONTiddlers.tid",
    "content": "created: 20141228094500000\nmodified: 20220427171219408\ntags: Concepts\ntitle: JSONTiddlers\ntype: text/vnd.tiddlywiki\n\nA JSON tiddler is a [[data tiddler|DataTiddlers]] containing a [[JSON|JavaScript Object Notation]] structure in its `text` field. See [[JSON in TiddlyWiki]] for an overview.\n\nIts [[ContentType]] is `application/json`.\n\nThe [[history list|$:/HistoryList]] is an example of a JSON tiddler.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/KeyboardShortcutTiddler.tid",
    "content": "title: Keyboard Shortcut Tiddler\ntags: Concepts\n\nA ''Keyboard Shortcut Tiddler'' is made of three parts:\n\n* The ''Tag'' <<tag-pill $:/tags/KeyboardShortcut>>\n* The ''field'' `key` with a [[Keyboard Shortcut Descriptor]] as its ''value''\n* Actions in its ''text'' field\n\n<<.tip \"\"\"<<.from-version \"5.2.4\">> By default <<.wlink KeyboardWidget>> and text editor shortcuts take priority, which can be circumvented by setting the ''field'' `priority` to `yes`.\"\"\">>\n\nIf the [[Keyboard Shortcut Descriptor]] has the form `((my-shortcut))` it's a ''reference'' to a ''configuration Tiddler'' that stores the corresponding [[Keyboard Shortcut|KeyboardShortcuts]]\n\nIn order to make a ''shortcut'' editable through the <<.controlpanel-tab KeyboardShortcuts>> Tab in the $:/ControlPanel it's sufficient to create a tiddler `$:/config/ShortcutInfo/my-shortcut`, where the ''suffix'' is the ''reference'' used for the [[Keyboard Shortcut|KeyboardShortcuts]]\n\n!! Notes on wiki navigation\n\nIf you want to create keyboard shortcuts for navigation, there are two things to keep in mind:\n\n * If your shortcut uses ''Ctrl'', you need to include `$scroll=\"yes\"` in the [[ActionNavigateWidget's|ActionNavigateWidget]] attributes otherwise the action will be ignored.\n * The actions need to be wrapped in [[NavigatorWidget]] like in this [[New Tiddler keyboard shortcut|$:/core/ui/KeyboardShortcuts/new-tiddler]].\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/Macros.tid",
    "content": "created: 20140211171341271\nmodified: 20240422084520179\ntags: Concepts [[Core Macros]]\ntitle: Macros\ntype: text/vnd.tiddlywiki\n\n!! Important\n\n<<.from-version \"5.3.0\">> Macros have been [[superseded|Macro Pitfalls]] by [[Procedures]], [[Functions]] and [[Custom Widgets]] which together provide more robust and flexible ways to encapsulate and re-use code. \n\nFor text substitutions it is now recommended to use: [[Substituted Attribute Values]], [[substitute Operator]] and [[Transclusion and Substitution]]\n\n!! Introduction\n\nA <<.def macro>> is a named snippet of text. They are typically defined with the [[Pragma: \\define]]:\n\n```\n\\define my-macro(parameter:\"Default value\")\nThis is the macro, and the parameter is $parameter$.\n\\end\n```\n\nThe name wrapped in double angled [[brackets|Brackets]] is used a shorthand way of [[transcluding|Transclusion]] the snippet. Such transclusions are known as <<.def \"macro calls\">>, and each call can supply a different set of parameters:\n\n```\n<<my-macro>>\n<<my-macro \"The parameter\">>\n```\n\nThe parameters that are specified in the macro call are substituted for special placeholders within the snippet:\n\n*  `$parameter-name$` is replaced with the value of the named parameter\n* `$(variable-name)$` is replaced with the value of the named [[variable|Variables]]).\n\n!! How Macros Work\n\nMacros are implemented as a special kind of [[variable|Variables]]. The only thing that distinguishes them from ordinary variables is the way that the parameters are handled.\n\n!! Using Macros\n\n* [[Macro Definitions]] describes how to create macros\n* [[Macro Calls]] describes how to use macros\n* [[Macro Parameter Handling]] describes how macro parameters work\n* [[Macro Pitfalls]] describes some of the pitfalls of using macros\n* [[Core Macros]] lists the built-in core macros\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/Messages.tid",
    "content": "created: 20140226083311937\nmodified: 20240422091319082\ntags: Concepts [[Core Messages]]\ntitle: Messages\ntype: text/vnd.tiddlywiki\n\nWidget [[messages|Core Messages]] are generated by  [[Widgets]] in response to user actions.  Messages have a <<.param name>>, an optional primary <<.param parameter>>, and one or more optional named parameters. These messages travel up the widget tree where they are handled by ancestor widgets or the core itself.\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/ModuleType.tid",
    "content": "created: 20131129162847412\nmodified: 20211121031330912\ntags: Modules Definitions\ntitle: ModuleType\ntype: text/vnd.tiddlywiki\n\n\\define describe() {{$:/language/Docs/ModuleTypes/$(type)$}}\n\nThe `module-type` field of a [[JavaScript module|Modules]] is a string that identifies the type of the module. Here is a list of the module types used in this wiki:\n\n<dl>\n<$list filter=\"[moduletypes[]]\">\n<dt>{{!!title}}</dt>\n<$set name=type value=<<currentTiddler>>>\n<dd><<describe>></dd>\n</$set>\n</$list>\n</dl>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/Modules.tid",
    "content": "created: 20131129162919588\nmodified: 20160610082237902\ntags: Concepts\ntitle: Modules\ntype: text/vnd.tiddlywiki\n\nA //module// in TiddlyWiki5 is a tiddler containing executable JavaScript, of the type `application/javascript` and with the field `module-type` set to the ModuleType of the module.\n\nSee [[control panel|$:/ControlPanel]] <<.icon $:/core/images/options-button>> > ''Info'' > ''Advanced'' > ''Loaded Modules'' for a list of currently loaded modules.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/Order of Tagged Tiddlers.tid",
    "content": "created: 20150124125646000\nmodified: 20220729141540007\ntags: Tagging\ntitle: Order of Tagged Tiddlers\ntype: text/vnd.tiddlywiki\n\nWhen ~TiddlyWiki generates a list of the tiddlers that have a particular tag (e.g. the dropdown list of a tag pill), it orders the tiddlers using the following rules:\n\n# Start with any that are [[declared|Title List]] in the <<.field list>> field of the tag tiddler, in the order given there.\n\n# In each remaining tiddler <<.place T>>, look for a <<.field list-before>> field. If this has a tiddler title as its value, place <<.place T>> just <<.em before>> that one.\n#* As a special case, if the field exists but its value is empty, place <<.place T>> at the very start of the list.\n\n# In each remaining tiddler <<.place T>>, look for a <<.field list-after>> field. If this has a tiddler title as its value, place tiddler <<.place T>> just <<.em after>> that one.\n\n#* As a special case, if the field exists but its value is empty, place <<.place T>> at the very end of the list.\n\n# If any tiddlers still remain, place them at the end of the list in ascending alphabetical order of title. The difference between capital and lowercase letters is ignored.\n\nThe ordering of tiddlers with a particular tag can be directly modified using drag and drop within a tag pill dropdown. The underlying [[list-tagged-draggable Macro]] can also be used elsewhere.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/PermaLinks.tid",
    "content": "created: 20140502213500000\nmodified: 20210406131243532\ntags: Features Concepts\ntitle: PermaLinks\ntype: text/vnd.tiddlywiki\n\nPermalinks allow direct links to individual tiddlers within a TiddlyWiki.\n\n! Simple Permalinks\n\nThe simplest form of permalink (<<.icon $:/core/images/permalink-button>>) is a single target tiddler title appended to the base URL with `#`:\n\nhttps://tiddlywiki.com/#HelloThere\n\nThe tiddler title can contain spaces if required:\n\n[[https://tiddlywiki.com/#Using TiddlyWiki on Node.js]]\n\nNote that double square brackets are not required around the target tiddler title; however, if present they are silently removed.\n\n! Story Permalinks\n\nThe permalink can also specify the story list of tiddlers that should be opened alongside the target tiddler as a [[TiddlerFilter|Filters]]:\n\n[[https://tiddlywiki.com/#TiddlerFields:Tiddlers TiddlerTags TiddlerFields ContentType]]\n\nIf the target tiddler isn't present in the story list then it is automatically inserted at the top. This means that the following two examples both target the tiddler `Tiddlers` within the story sequence `Tiddlers`, `Tags`, `TiddlerFields`:\n\n[[https://tiddlywiki.com/#Tiddlers:Tags TiddlerFields]]\n\n[[https://tiddlywiki.com/#Tiddlers:Tiddlers Tags TiddlerFields]]\n\nIt is also possible to specify a story filter without specifying a target tiddler for navigation:\n\n<a href=\"https://tiddlywiki.com/#:[tag[task]]\" rel=\"noopener noreferrer\">~https://tiddlywiki.com/#:[tag[task]]</a>\n\n! About URL encoding\n\nThere are technical restrictions on the legal characters in an URL fragment. To allow all tiddler titles to be addressed, illegal characters are subject to a process called \"URL encoding\" whereby problematic characters are replaced by their numeric code. For example, the space character is replaced with `%20`.\n\nBoth the target tiddler title and the story filter should be URL encoded (but not the separating colon). TiddlyWiki generates properly encoded URLs which can look quite ugly. However, in practice browsers will usually perfectly happily process arbitrary characters in URL fragments. Thus when creating permalinks manually you can choose to ignore URL encoding.\n\n! Permalink Behaviour\n\nTwo important aspects of TiddlyWiki's behaviour with permalinks can be controlled via options in the [[control panel|$:/ControlPanel]] <<.icon $:/core/images/options-button>> ''Settings'' tab:\n\n* Whether to automatically update the address bar at each navigation, and if so whether to include the story sequence as well as the target tiddler\n* Whether the updates to the address bar should affect browser history. The default is ''no''; when switched to ''yes'' you can rewind navigation between tiddlers using the browser back and forward buttons\n\nNote that typing or navigating to a permalink will always cause the permalink to be processed, and tiddlers opened and closed as appropriate.\n\n!! Technical Details\n\nWhen TiddlyWiki starts up it processes permalinks according to the following steps; the same steps are repeated if the permalink changes dynamically (this happens in response to the user editing the address bar, for example).\n\n# If the permalink contains a colon, treat the string before as the ''target'' and the string after it as the ''story filter''\n# If the permalink doesn't contain a colon, treat the entire string as the ''target'' and mark the ''story filter'' as //unspecified//\n# If the ''story filter'' was unspecified and we're in the process of starting up, then set the ''story filter'' to the empty string if the ''target'' is specified, or to the default tiddlers if the ''target'' is unspecified\n# If the ''story filter'' was unspecified and we're not starting up, then set the ''story filter'' to the current story list\n# Evaluate the ''story filter'' as the ''story list''\n# If the ''target'' is specified and not present in the ''story list'' then add it at the top\n# If the ''target'' is specified then navigate to it, otherwise navigate to the first tiddler in the ''story list''\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/Pragma.tid",
    "content": "\ncreated: 20150219175930000\nmodified: 20220122182842041\ntags: \ntitle: Pragma\ntype: text/vnd.tiddlywiki\n\nSee [[Pragmas]].\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/Railroad Diagrams.tid",
    "content": "created: 20150105133800000\nmodified: 20211117212441252\ntags: Concepts\ntitle: Railroad Diagrams\n\n<<.def \"Railroad diagrams\">>, sometimes called <<.def \"syntax diagrams\">>, are a visual way of explaining the syntax rules of a computer language. Reading one is like reading a public transport map.\n\nEach diagram starts on the left and ends on the right. Simply follow any line from the startpoint to the endpoint. All the alternative lines are equally valid. A line will sometimes jump over an item that is optional, or loop back to indicate that an item can be repeated.\n\n<$railroad text=\"\"\"\nstart [:optional] {repeated +\",\"} end\n\"\"\"/>\n\nIn the example above, a comma appears between each occurrence of the `repeated` item. The comma path runs from right to left, and can only be reached by first passing through `repeated`.\n\nCharacters in round boxes are literal, i.e. they denote themselves. A name in a rectangular box denotes a further railroad diagram.\n\nThe TW [[Filter Syntax]] documentation makes extensive use of railroad diagrams.\n\nThe railroad diagrams in ~TiddlyWiki's documentation are generated with the [[Railroad Plugin]].\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/Selection Constructors.tid",
    "content": "created: 20150117204109000\nmodified: 20240708201746542\ntags: Filters\ntitle: Selection Constructors\ntype: text/vnd.tiddlywiki\n\nThe output of a [[Filter Step]] depends on its [[operator|Filter Operators]]:\n\n* Most operators derive their output from their input. For example, many of them output a subset of their input, and thus truly live up to the name of <<.word filters>>, narrowing down the overall output of the containing [[run|Filter Run]]. These operators are called <<.def \"selection modifiers\">>.\n\n* A few operators ignore their input and generate an independent output instead. These are called <<.def \"selection constructors\">>: they construct an entirely new [[selection|Title Selection]].\n\nA good example of a constructor is <<.olink title>>. The output of `[title[A]title[B]]` is just <<.tid B>>. But the <<.olink field>> operator is a modifier, so `[title[A]field:title[B]` outputs nothing at all.\n\nThe following [[filter Operators|filter Operator]] are tagged <<tag>>:\n\n<<list-links \"[tag<currentTiddler>]\" class:\"multi-columns\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/ShadowTiddlers.tid",
    "content": "created: 20230803052544962\nmodified: 20230803052604957\ntags: Concepts\ntitle: ShadowTiddlers\n\n\\define actions()\n<$action-setfield $tiddler=\"$:/state/tab/moresidebar-1850697562\" $field=\"text\" $value=\"$:/core/ui/MoreSideBar/Shadows\"/>\n<$action-setfield $tiddler=\"$:/state/tab/sidebar--595412856\" $field=\"text\" $value=\"$:/core/ui/SideBar/More\"/>\n\\end\n\\define click(text)\n<$button actions=<<actions>>>$text$</$button>\n\\end\n\nShadowTiddlers are tiddlers that are loaded from [[Plugins]] at the wiki startup. Unlike ordinary tiddlers, they don't appear in most lists.\n\n!! Overriding Shadow Tiddlers to modify plugins\n\nA [[ShadowTiddler|ShadowTiddlers]] can be overridden with an ordinary tiddler of the same name. This leaves the shadow tiddler intact but the plugin will use the overriding tiddler in its place, effectively allowing users to modify the behaviour of plugins.\n\nUsers are cautioned against overriding shadow tiddlers because if the shadow tiddler is changed in a plugin update, the overriding tiddler may no longer perform as intended. To remedy this, the overriding tiddler may be modified or deleted. If the overriding tiddler is deleted, then the plugin falls back to using the original shadow tiddler.\n\n!! Overridden Shadow Tiddlers\n\n<<list-links \"[is[tiddler]is[shadow]sort[title]]\">>\n\n!! Shadow Tiddlers\n\nA full list of shadow tiddlers can be found in the sidebar in the \"More\" -> \"Shadows\" tab\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/Story River.tid",
    "content": "created: 20150917193906790\nmodified: 20150917194028462\ntags: Concepts\ntitle: Story River\ntype: text/vnd.tiddlywiki\n\nThe \"story river\" (sometimes abbreviated to \"story\") is the sequence of [[tiddlers|Tiddlers]] in the main column of the display."
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/Story Tiddler Template Cascade.tid",
    "content": "created: 20211206132047986\nmodified: 20211206155818924\ntags: Cascades\ntitle: Story Tiddler Template Cascade\ntype: text/vnd.tiddlywiki\n\nThe story tiddler template cascade is a [[cascade|Cascades]] used to choose which [[Story Tiddler Template]] should be used for a particular tiddler.\n\nThe default story tiddler template cascade consists of:\n\n# If the tiddler is a draft tiddler, use the template title given in the tiddler $:/config/ui/EditTemplate\n# Otherwise, use the template title given in the tiddler $:/config/ui/ViewTemplate\n\nYou can see the current settings for the story tiddler template cascade in $:/ControlPanel under the ''Info'' -> ''Advanced'' -> ''Cascades''  -> ''Story Tiddler'' tab.\n\n<<list-links \"[tag[Story Tiddler Template Cascade]]\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/Story Tiddler Template.tid",
    "content": "created: 20211204122044198\nmodified: 20211206133756716\ntags: Concepts\ntitle: Story Tiddler Template\ntype: text/vnd.tiddlywiki\n\n\"Story tiddler template\" refers to the template used to display a tiddler within the story river.\n\nThe core story tiddler template can be found in $:/core/ui/StoryTiddlerTemplate\n\nThe [[Story Tiddler Template Cascade]] is used to choose the template to be used for a particular tiddler. By default, the edit template is used for tiddlers in draft mode, and the view template used otherwise.\n\nSee also:\n\n<<list-links \"[tag[Story Tiddler Template]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/SystemTags.tid",
    "content": "created: 20130822080600000\nlist: [[SystemTag: $:/tags/AboveStory]] [[SystemTag: $:/tags/AdvancedSearch]] [[SystemTag: $:/tags/AdvancedSearch/FilterButton]] [[SystemTag: $:/tags/Alert]] [[SystemTag: $:/tags/BelowStory]] [[SystemTag: $:/tags/ControlPanel]] [[SystemTag: $:/tags/ControlPanel/Advanced]] [[SystemTag: $:/tags/ControlPanel/Appearance]] [[SystemTag: $:/tags/ControlPanel/Info]] [[SystemTag: $:/tags/ControlPanel/Saving]] [[SystemTag: $:/tags/ControlPanel/Settings]] [[SystemTag: $:/tags/ControlPanel/Toolbars]] [[SystemTag: $:/tags/EditorTools]] [[SystemTag: $:/tags/EditorToolbar]] [[SystemTag: $:/tags/EditPreview]] [[SystemTag: $:/tags/EditTemplate]] [[SystemTag: $:/tags/EditToolbar]] [[SystemTag: $:/tags/Exporter]] [[SystemTag: $:/tags/Filter]] [[SystemTag: $:/tags/Image]] [[SystemTag: $:/tags/ImportPreview]] [[SystemTag: $:/tags/KeyboardShortcut]] [[SystemTag: $:/tags/Layout]] [[SystemTag: $:/tags/Macro]] [[SystemTag: $:/tags/Macro/View]] [[SystemTag: $:/tags/Macro/View/Body]] [[SystemTag: $:/tags/Manager/ItemMain]] [[SystemTag: $:/tags/Manager/ItemSidebar]] [[SystemTag: $:/tags/MoreSideBar]] [[SystemTag: $:/tags/MoreSideBar/Plugins]] [[SystemTag: $:/tags/PageControls]] [[SystemTag: $:/tags/PageTemplate]] [[SystemTag: $:/tags/Palette]] [[SystemTag: $:/tags/PluginLibrary]] [[SystemTag: $:/tags/RawMarkup]] [[SystemTag: $:/tags/RawMarkupWikified]] [[SystemTag: $:/tags/RawMarkupWikified/BottomBody]] [[SystemTag: $:/tags/RawMarkupWikified/TopBody]] [[SystemTag: $:/tags/RawMarkupWikified/TopHead]] [[SystemTag: $:/tags/RawStaticContent]] [[SystemTag: $:/tags/RemoteAssetInfo]] [[SystemTag: $:/tags/SearchResults]] [[SystemTag: $:/tags/ServerConnection]] [[SystemTag: $:/tags/SideBar]] [[SystemTag: $:/tags/SideBarSegment]] [[SystemTag: $:/tags/StartupAction]] [[SystemTag: $:/tags/StartupAction/Browser]] [[SystemTag: $:/tags/StartupAction/Node]] [[SystemTag: $:/tags/Stylesheet]] [[SystemTag: $:/tags/TagDropdown]] [[SystemTag: $:/tags/TextEditor/Snippet]] [[SystemTag: $:/tags/TiddlerInfo]] [[SystemTag: $:/tags/TiddlerInfo/Advanced]] [[SystemTag: $:/tags/TiddlerInfoSegment]] [[SystemTag: $:/tags/ToolbarButtonStyle]] [[SystemTag: $:/tags/TopLeftBar]] [[SystemTag: $:/tags/TopRightBar]] [[SystemTag: $:/tags/ViewTemplate]] [[SystemTag: $:/tags/ViewToolbar]]\nmodified: 20210519160636964\ntags: Reference Concepts\ntitle: SystemTags\ntype: text/vnd.tiddlywiki\n\nSystem tags are used to give special behaviour to tiddlers.\n\nThese are the system tags defined by the ~TiddlyWiki core:\n\n<table>\n<tbody>\n<$list filter=\"[tag[SystemTags]]\">\n<tr>\n<td>\n<$macrocall $name=\"tag\" tag={{!!caption}}/>\n</td>\n<td>\n<$link>\n{{!!description}}\n</$link>\n</td>\n</tr>\n</$list>\n</tbody>\n</table>\n\n!! System tags defined by ~TiddlyWiki plugins\n\n|<<tag \"$:/tags/HelpPanel\">> |can be seen at: [[tiddlywiki prerelease|https://tiddlywiki.com/prerelease/]] see: top left page control bubble|\n|<<tag \"$:/tags/HelpPanel/Videos\">> |help panel \"videos\" tab|\n|<<tag \"$:/tags/MakeQR\">> |can be seen at: [[tiddlywiki prerelease|https://tiddlywiki.com/prerelease/]]. see: Tiddler toolbar |\n|<<tag \"$:/tags/TranslationGroup\">> |used by the [[translators edition|https://tiddlywiki.com/editions/translators/]] |\n|<<tag \"$:/tags/TwitterUsage\">> |twitter plugin |\n|<<tag \"$:/tags/ViewToolbarButton/QRcode\">> |see: [[tiddlywiki prerelease|https://tiddlywiki.com/prerelease/]] |\n|<<tag \"$:/tags/test-spec\">> |tiddlywiki test suite |\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/SystemTiddlers.tid",
    "content": "created: 20180113144350185\nmodified: 20180113153832195\ntags: Concepts\ntitle: SystemTiddlers\ntype: text/vnd.tiddlywiki\n\nTiddlers are classified as system tiddlers if their title starts with the special string `$:/`. The only difference from ordinary tiddlers is that they are hidden from most searches and lists in the sidebar. (In particular, system tiddlers are shown in the \"More/System\" list).\n\nSystem tiddlers provide a simple way to hide the internal components of TiddlyWiki so that they don't clutter things up, getting in the way of the users content.\n\nMany of the system tiddlers follow the convention of using further slashes to delineate the components of the title. For example: `$:/config/BitmapEditor/LineWidth`.\n\nYou don't need to create your own system tiddlers, but it can be useful when customising TiddlyWiki. For example, if you create a custom palette you might call it `$:/_MyPalette` so that (a) it is hidden from searches/lists and (b) it will appear at the top of the system tiddler list for easy reference.\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/TagTiddlers.tid",
    "content": "created: 20141228094500000\nmodified: 20211127135914596\ntags: Tagging\ntitle: TagTiddlers\ntype: text/vnd.tiddlywiki\n\nA tag tiddler is any tiddler that is in use as a tag.\n\nThe ''Tagging'' tab on the InfoPanel of a tag tiddler shows which tiddlers are tagged with the tag tiddler.\n\nA tag can be used without a corresponding tag tiddler.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/TemplateTiddlers.tid",
    "content": "created: 20140107114355828\nmodified: 20150220160920000\ntags: Concepts\ntitle: TemplateTiddlers\ntype: text/vnd.tiddlywiki\n\nA template tiddler is not actually a type of tiddler, it is a role in which a tiddler can be used.\n\nTemplates are a way to re-use chunks of WikiText.\n\nTranscluding through a template extends the basic functionality of [[Transclusion]] by combining two tiddlers:\n\n* A template tiddler that contains the WikiText to be displayed. It can contain transclusions that reference fields in the [[current tiddler|Current Tiddler]]\n* A target tiddler that identifies which tiddler is to be treated as current when resolving references to fields\n\nThe best example of templating is the main story river in TiddlyWiki. Each tiddler in the story river is rendered through a ViewTemplate that specifies how each field is to be rendered.\n\nSee [[Transclusion with Templates]] for details.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/Temporary Tiddlers.tid",
    "content": "created: 20240202112358997\nmodified: 20240202120248326\ntags: Concepts\ntitle: Temporary Tiddlers\n\nTemporary tiddlers are tiddlers that will be discarded when TiddlyWiki is saved. Under default configuration of the SavingMechanism (more specifically, the filter in [[$:/core/save/all]]), these are tiddlers prefixed with `$:/temp/`. This prefix makes them SystemTiddlers as well.\n\nOne example usage of temporary tiddlers is storing the search queries. The query typed in the [[$:/AdvancedSearch]] is stored in [[$:/temp/advancedsearch]]."
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/TestCaseTiddlers.tid",
    "content": "created: 20240507221902644\nmodified: 20240808020847667\ntags: Concepts\ntitle: TestCaseTiddlers\ntype: text/vnd.tiddlywiki\n\nTest case tiddlers encapsulate one or more tiddlers that can be displayed as a <<.wlink TestCaseWidget>>: an independent embedded wiki that can be used for testing or learning purposes.\n\nTest case tiddlers are formatted as CompoundTiddlers, allowing them to contain multiple tiddlers packed into one.\n\nTest case tiddlers have the following ''fields'':\n\n|!Field |!Description |\n|<<.field type>> |Needs to be set to `text/vnd.tiddlywiki-multiple` |\n|<<.field tags>> |Test cases are tagged [[$:/tags/wiki-test-spec]]. Test cases that intentionally fail are tagged [[$:/tags/wiki-test-spec-failing]] |\n|<<.field description>> |Descriptive heading for the test, intended to make it easy to identify the test |\n|<<.field display-format>> |Optional, defaults to `wikitext`. Set to `plaintext` to cause the output to be rendered as plain text |\n|<<.field import>> |<<.from-version \"5.3.6\">> A filter string that defines a list of tiddlers to import |\n|<<.field import-compound>> |<<.from-version \"5.3.6\">> A filter string that defines a list of compound tiddlers to import. See: <<.wlink DataWidget>> widget |\n\nTest case tiddlers with the appropriate tag are shown in the $:/ControlPanel ''-> Advanced -> Test Cases ''\n\nSome ''payload ''tiddlers are set aside for special purposes:\n\n|!Tiddler |!Description |\n|''Narrative'' |Narrative description of the test, intended to explain the purpose and operation of the test |\n|''Output'' |The tiddler that produces the test output |\n|''~ExpectedResult'' |HTML of expected result of rendering the ''Output'' tiddler |\n|''Description'' |Set to the text of the <<.field description>> field, if the field exists |\n\nAlso see: TestCaseWidget, DataWidget"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/TextReference.tid",
    "content": "created: 20130827075900000\nmodified: 20230321130421587\ntags: Concepts\ntitle: TextReference\ntype: text/vnd.tiddlywiki\n\nA TextReference is a general purpose way to describe a fragment of text as either a field of a tiddler, or an index within a [[data tiddler|DataTiddlers]].\n\nIn different situations, text references can be used to retrieve values, or to specify a value that should be modified.\n\nA TextReference consists of several parts:\n\n* The title of the target tiddler. If omitted, it defaults to the [[Current Tiddler]]\n* Either one of:\n** The name of a field (marked with `!!`)\n** The name of an index within a [[data tiddler|DataTiddlers]] (marked with `##`)\n* If both the field and index are omitted, the text field is used as the default\n\nMost of the parts of a text reference can be optional:\n\n* `tiddlerTitle` - the title [[field|TiddlerFields]] of the specified tiddler\n* `tiddlerTitle!!field` - a [[tiddler field|TiddlerFields]] (eg, `modified`, `modifier`, `type` etc)\n* `!!field` - a [[field|TiddlerFields]] of the current tiddler\n* `tiddlerTitle##propertyIndex` - extracts a named property from DataTiddlers\n\nText references can be used in several places:\n\n* As [[indirect parameters|Filter Parameter]] within [[Filters]] (eg, `<$list filter=\"[tag{MyTag!!name}]\"/>`)\n* As [[indirect attributes|HTML in WikiText]] of an element or widget (eg, `<$widget attrib={{Title!!description}}/>`)\n* As the parameter of a shortcut transclusion (eg, `{{MyTiddler!!title}}`)\n* As the `state` attribute of the RevealWidget and the LinkCatcherWidget\n\n<$macrocall $name=\".tip\" _=\"\"\"Note the distinction between a text reference such as `foo!!bar` and a transclusion of a text reference such as `{{foo!!bar}}`\"\"\"/>\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/Tiddler Colour Cascade.tid",
    "content": "created: 20211206160300525\nmodified: 20241121164044717\ntags: Cascades\ntitle: Tiddler Colour Cascade\ntype: text/vnd.tiddlywiki\n\nThe tiddler colour cascade is a [[cascade|Cascades]] used to choose which colour should be used for a particular tiddler ''tag'' and ''icon''.\n\nCore tiddler colour cascades can be found in $:/core/macros/tag, $:/core/ui/Components/tag-link, $:/core/ui/EditTemplate/tags, $:/core/ui/TagPickerTagTemplate, $:/core/ui/TagTemplate and $:/core/ui/ViewTemplate/title\n\nThe default tiddler tag colour cascade consists of:\n\n# If the tiddler has a ''color'' field, use the value as the colour for the ''tag-pill'' and the ''tiddler-icon''\n# If the tiddler $:/config/DefaultTiddlerColour exists, use the value as the colour\n\nYou can see the current settings for the tiddler colour cascade in $:/ControlPanel under the ''Info'' -> ''Advanced'' -> ''Cascades''  -> ''Tiddler Colour'' tab.\n\n<<list-links \"[tag[Tiddler Colour Cascade]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/Tiddler Icon Cascade.tid",
    "content": "created: 20211206154017669\nmodified: 20211206160003647\ntags: Cascades\ntitle: Tiddler Icon Cascade\ntype: text/vnd.tiddlywiki\n\nThe tiddler icon cascade is a [[cascade|Cascades]] used to choose which icon should be used for a particular tiddler.\n\nThe core tiddler icon cascade can be found in $:/core/ui/TiddlerIcon\n\nThe default tiddler icon cascade consists of:\n\n# If the tiddler has an ''icon'' field, use the value as the title of the icon tiddler\n# If the tiddler $:/config/DefaultTiddlerIcon exists, use the value as the title of the icon tiddler \n\nYou can see the current settings for the tiddler icon cascade in $:/ControlPanel under the ''Info'' -> ''Advanced'' -> ''Cascades''  -> ''Tiddler Icon'' tab.\n\n<<list-links \"[tag[Tiddler Icon Cascade]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/TiddlerFields.tid",
    "content": "created: 20130825213300000\nmodified: 20240520162904479\ntags: Concepts\ntitle: TiddlerFields\ntype: text/vnd.tiddlywiki\n\n\\define lingo-base() $:/language/Docs/Fields/\n~TiddlerFields are name:value pairs that make up a [[tiddler|Tiddlers]]. Field names may contain any combination of characters (prior to [[v5.2.0|Release 5.2.0]], fields were constrained to be lowercase letters, digits or the characters `-` (dash), `_` (underscore) and `.` (period)).\n\nThe standard fields are:\n\n|!Field Name |!Description |\n|`title` |<<lingo title>> |\n|`text` |<<lingo text>> |\n|`modified` |<<lingo modified>> |\n|`modifier` |<<lingo modifier>> |\n|`created` |<<lingo created>> |\n|`creator` |<<lingo creator>> |\n|`tags` |<<lingo tags>> |\n|`type` |<<lingo type>> |\n|`list` |<<lingo list>> -- see ListField |\n|`caption` |<<lingo caption>> |\n\nOther fields used by the core are:\n\n|!Field Name |!Description |\n|`class` |<<.from-version \"5.1.16\">> <<lingo class>> |\n|`code-body` |<<.from-version \"5.2.1\">> <<lingo code-body>> |\n|`color` |<<lingo color>> |\n|`description` |<<lingo description>> |\n|`draft.of` |<<lingo draft.of>> |\n|`draft.title` |<<lingo draft.title>> |\n|`footer` |<<lingo footer>> |\n|`hide-body`|<<lingo hide-body>>|\n|`icon` |<<lingo icon>> |\n|`library` |<<lingo library>> |\n|`list-after` |<<lingo list-after>> |\n|`list-before` |<<lingo list-before>> |\n|`name` |<<lingo name>> |\n|`plugin-priority` |<<lingo plugin-priority>> |\n|`plugin-type` |<<lingo plugin-type>> |\n|`stability` |<<lingo stability>> |\n|`source` |<<lingo source>> |\n|`subtitle` |<<lingo subtitle>> |\n|`throttle.refresh` |<<lingo throttle.refresh>> |\n|`toc-link`|<<lingo toc-link>>|\n|`_canonical_uri`|<<lingo _canonical_uri>>|\n\nThe TiddlyWebAdaptor uses a few more fields:\n\n|!Field Name |!Description |\n|`bag` |<<lingo bag>> |\n|`revision` |<<lingo revision>> |\n|`_is_skinny` |<<lingo _is_skinny>> |\n\nDetails of the fields used in this ~TiddlyWiki are shown in the [[control panel|$:/ControlPanel]] {{$:/core/ui/Buttons/control-panel}} under the <<.controlpanel-tab Info>> tab >> <<.info-tab Advanced>> sub-tab >> Tiddler Fields\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/TiddlerLinks.tid",
    "content": "created: 20130825202900000\nmodified: 20141231093344090\ntags: Concepts\ntitle: TiddlerLinks\ntype: text/vnd.tiddlywiki\n\nLinks are regions of a tiddler that can be clicked to cause navigation to a different tiddler. The navigation behaviour is determined by the current StoryView; the classic TiddlyWiki view displays the story as a linear sequence of tiddlers.\n\nHolding the ''control'' or ''command'' key while clicking on a tiddler link opens the target tiddler but doesn't navigate to it. This can be a useful way of queueing up tiddlers to be read later.\n\nLinks are useful for modelling organic relationships between tiddlers, and particularly for expressing the navigational paths between tiddlers.\n\nThe InfoPanel lists incoming links to a tiddler in the tab ''References''.\n\n[[Filters]] can include the following filter operators that work with links:\n\n* `[links[]]` - returns the titles of the tiddlers that are linked from the currently selected tiddler(s)\n* `[backlinks[]]` - returns the titles of the tiddlers that link to the currently selected tiddler(s)\n\nTiddlyWiki5 alters the appearance of tiddler links to convey additional information about the target of the link:\n\n|!Link description |!Link appearance |\n|To a tiddler that exists |[[LikeThis|TiddlerLinks]] |\n|To a tiddler that doesn't exist |[[LikeThis|ATiddlerThatDoesntExist]] |\n|To a shadow tiddler that has not been overridden |[[LikeThis|$:/core/copyright.txt]] |\n|To a shadow tiddler that has been overridden by an ordinary tiddler |[[LikeThis|$:/SiteTitle]] |\n\nExternal links are shown like this: https://tiddlywiki.com/ or [[like this|https://tiddlywiki.com/]].\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/Tiddlers.tid",
    "content": "created: 20130825213500000\nmodified: 20141121111732959\ntags: Concepts\ntitle: Tiddlers\ntype: text/vnd.tiddlywiki\n\nTiddlers are the fundamental units of information in ~TiddlyWiki. Tiddlers work best when they are as small as possible so that they can be reused by weaving them together in different ways.\n\nA \"tiddler\" is an informal British word meaning a small fish, typically a stickleback or a minnow. Other systems have analogous concepts with generic names like \"items\", \"entries\", \"entities\", \"nodes\" or \"records\". ~TiddlyWiki takes the view that it is better to be confusingly distinctive than confusingly generic.\n\nInternally, tiddlers are a list of uniquely named values called fields. The only field that is required is the `title` field, but useful tiddlers also have a `text` field, and some or all of the standard fields listed in TiddlerFields.\n\nTiddlers are ubiquitous in TiddlyWiki. They are used to store everything from JavaScript code modules to the settings and state associated with the user interface.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/TiddlyWiki.tid",
    "content": "created: 20130822170700000\nmodified: 20170127221451610\ntags: Concepts\ntitle: TiddlyWiki\ntype: text/vnd.tiddlywiki\n\n~TiddlyWiki is a rich, interactive tool for manipulating complex data with structure that doesn't easily fit into conventional tools like spreadsheets or wordprocessors.\n\n~TiddlyWiki is designed to fit around your brain, helping you deal with the things that won't fit. The [[fundamental idea|Philosophy of Tiddlers]] is that information is more useful and reusable if we cut it up into the smallest semantically meaningful chunks -- [[tiddlers|Tiddlers]] -- and give them titles so that they can be [[structured|Structuring TiddlyWiki]] with [[links|TiddlerLinks]], [[tags|Tagging]], [[lists|ListField]] and [[macros|Macros]]. Tiddlers use a WikiText notation that concisely represents a wide range of text formatting and hypertext features. ~TiddlyWiki aims to provide a fluid interface for working with tiddlers, allowing them to be aggregated and composed into longer narratives.\n\nPeople love using ~TiddlyWiki. Because it can be used without any complicated server infrastructure, and because it is [[open source|OpenSource]], it has brought unprecedented freedom to everyone to keep their precious information under their own control.\n\n~TiddlyWiki was originally created by [[@Jermolene]] and is now a thriving [[open source|License]] project with a busy [[Community]] of independent developers.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/TiddlyWiki5.tid",
    "content": "created: 20130825213600000\nmodified: 20220613145033713\ntags: Concepts\ntitle: TiddlyWiki5\ntype: text/vnd.tiddlywiki\n\n~TiddlyWiki5 is a reboot of TiddlyWiki for the next 25 years. It is a complete interactive wiki in JavaScript that can be run in the browser or on the server under [[Node.js]].\n\nThe ~TiddlyWiki repository can be found at GitHub."
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/TiddlyWikiFolders.tid",
    "content": "created: 20130825214200000\nmodified: 20161015134454785\ntags: [[TiddlyWiki on Node.js]]\ntitle: TiddlyWikiFolders\ntype: text/vnd.tiddlywiki\n\nAs well as traditional single file wikis, [[TiddlyWiki on Node.js]] supports wikis that are stored as a folder of individual tiddler files.\n\n! Wiki Folder Structure\n\nWiki folders can contain the following files and folders:\n\n* ''tiddlywiki.info'' - JSON file containing metadata for the wiki -- see [[tiddlywiki.info Files]]\n* ''\\tiddlers'' - folder containing tiddler files comprising the wiki\n* ''\\plugins'' - folder containing [[plugin folders|PluginFolders]] to be included in the wiki\n* ''\\languages'' - folder containing [[plugin folders|PluginFolders]] for language plugins to be included in the wiki\n* ''\\themes'' - folder containing [[plugin folders|PluginFolders]] for theme plugins to be included in the wiki\n\nOnly the ''tiddlywiki.info'' file is required; everything else is optional. Any files and folders not listed above are ignored.\n\n!! Plugin processing\n\nTo be usable in the browser, plugins just need to be included in the wiki. For wikis that are generated on the server, TiddlyWikiFolders can contain a [[tiddlywiki.info file|tiddlywiki.info Files]] that identifies the plugins to be included in this wiki:\n\n```\n{\n\t\"plugins\": [\n\t\t\"tiddlywiki/slider\",\n\t\t\"tiddlytools/chooser\"\n\t]\n}\n```\n\nPlugins names refer to plugin folders listed in TiddlyWiki5's root `plugins` folder. Plugins can also be included manually by copying them into the `plugins` subfolder of the wiki.\n\n!! Processing of `tiddlers` folder\n\nAll the TiddlerFiles in the `tiddlers` folder are read into the wiki at startup. Sub-folders are scanned recursively for TiddlerFiles. Newly created tiddlers are stored in TiddlerFiles directly beneath the `tiddlers` folder, unless [[configured otherwise|Customising Tiddler File Naming]].\n\nThe default processing for sub-folders within the `tiddlers` folder can  be overridden by providing a JSON file called `tiddlywiki.files` -- see [[tiddlywiki.files Files]]."
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/Title List.tid",
    "content": "created: 20150117152418000\nmodified: 20231019155036098\ntags: Concepts\ntitle: Title List\ntype: text/vnd.tiddlywiki\n\nA <<.def \"title list\">> is a line of text that presents one or more tiddler titles, strung together with a space between each one and the next.\n\nIf a title <<.em contains>> a space, it needs double square brackets around it:\n\n`GettingStarted [[Discover TiddlyWiki]] Upgrading`\n\nTitle lists are used in various places, including PermaLinks and the ListField.\n\nThey are in fact the simplest case of a [[filter|Filters]], and are thus a way of expressing a [[selection of titles|Title Selection]].\n\n<<.warning \"\"\"The [[Title List]] format cannot reliably represent items that contain certain specific character sequences such as `]] `. Thus it should not be used where there is a possibility of such sequences occurring.\"\"\">>\n\nSee also:\n\n* The [[format Operator]] with the 'titlelist' suffix conditionally wraps double square brackets around a string if it contains whitespace\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/Title Selection.tid",
    "content": "created: 20150117152418000\nmodified: 20150124202920000\ntags: Concepts\ntitle: Title Selection\n\nA <<.def \"title selection\">> is an ordered set of tiddler titles (or similar strings), in which no title appears more than once.\n\nTitle selections are important in [[filter|Filters]] processing.\n\nThe simplest way to write one down is as a [[title list|Title List]].\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/Transclusion.tid",
    "content": "created: 20141129194651420\nmodified: 20240621074019077\ntags: Concepts Definitions\ntitle: Transclusion\n\n! Definition\n\n<<< Wikipedia: [[Transclusion|https://en.wikipedia.org/wiki/Transclusion]]\nIn computer science, transclusion is the inclusion of part or all of an electronic document into one or more other documents by reference via hypertext.\n<<<\n\nIn ~TiddlyWiki: ''Transclusion'' is the process of referencing one tiddler \"A\" from another tiddler \"B\" such that the content of \"A\" appears to be a part of \"B\".\n\nCopying and pasting content creates multiple copies of the same content in several different places. With transclusion, there can be a single copy and a special instruction in \"B\" which indicates the point at which content should be inserted from tiddler \"A\".\n\nNote that if the content of \"A\" is modified then the modification automatically appears in \"B\". This makes it easier to maintain repetitive content, by allowing every piece to be written in a single place, but viewed from many.\n\nThe concept of transclusion plays an important role in the [[Philosophy of Tiddlers]] because it is the primary way in which small items of content are combined.\n\nTo learn more:\n\n* [[Transclusion in WikiText]]\n* [[Transclusion Basic Usage]]\n* [[Transclusion with Templates]]\n* [[Transclusion and Substitution]]\n* TextReference\n* TemplateTiddlers\n* TranscludeWidget\n* [[Hard and Soft Transclusions]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/View Template Body Cascade.tid",
    "content": "created: 20211206161124327\nmodified: 20211206161613268\ntags: Cascades\ntitle: View Template Body Cascade\ntype: text/vnd.tiddlywiki\n\nThe view template body cascade is a [[cascade|Cascades]] used by the default view template to choose the template for displaying the tiddler body.\n\nThe default view template body cascade consists of:\n\n# If the tiddler title starts with any of a list of known system tiddler prefixes, use the template $:/core/ui/ViewTemplate/body/code to display the body as preformatted code\n# If the tiddler has the field ''plugin-type'' set to ''import'' then use the template $:/core/ui/ViewTemplate/body/import which displays the custom import user interface\n# If the tiddler has the field ''plugin-type'' then use the template $:/core/ui/ViewTemplate/body/plugin to display the plugin information badge\n# If the tiddler has the field ''hide-body'' set to ''yes'' then use the template $:/core/ui/ViewTemplate/body/blank to hide the body\n# Otherwise, use the default template $:/core/ui/ViewTemplate/body/default\n\nYou can see the current settings for the view template body cascade in $:/ControlPanel under the ''Info'' -> ''Advanced'' -> ''Cascades''  -> ''View Template Body'' tab.\n\n<<list-links \"[tag[View Template Body Cascade]]\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/View Template Title Cascade.tid",
    "content": "created: 20211206160703815\nmodified: 20211206161115837\ntags: Cascades\ntitle: View Template Title Cascade\ntype: text/vnd.tiddlywiki\n\nThe view template title cascade is a [[cascade|Cascades]] used by the default view template to choose the template for displaying the tiddler title.\n\nThe core view template title cascade can be found in $:/core/ui/ViewTemplate/title\n\nThe default view template title cascade consists of:\n\n#  If the tiddler title starts with `$:/` then use the template $:/core/ui/ViewTemplate/title/system which causes the `$:/` prefix to be displayed in pale text\n# Otherwise, use the template $:/core/ui/ViewTemplate/title/default which displays the title in plain text\n\nYou can see the current settings for the view template title cascade in $:/ControlPanel under the ''Info'' -> ''Advanced'' -> ''Cascades''  -> ''View Template Title'' tab.\n\n<<list-links \"[tag[View Template Title Cascade]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/Wiki.tid",
    "content": "title: Wiki\ntags: Concepts\n\nGroups of uniquely titled tiddlers are contained in WikiStore objects.\n\nThe WikiStore also manages the plugin modules used for widgets, and operations like serialising, deserialising, parsing and rendering tiddlers.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/concepts/WikiText.tid",
    "content": "created: 20131205155227468\nmodified: 20230303214711802\ntags: Concepts Reference\ntitle: WikiText\ntype: text/vnd.tiddlywiki\n\n~WikiText is a concise, expressive way of typing a wide range of text formatting, hypertext and interactive features. It allows you to focus on writing without a complex user interface getting in the way. It is designed to be familiar for users of [[Markdown]] but with more of a focus on linking and the interactive features.\n\n~WikiText can also be inserted to the text field using the [[Editor toolbar]] buttons.\n\nSee [[Formatting in WikiText]] and [[Formatting text in TiddlyWiki]] for an introduction to ~WikiText.\n\nThe following elements of ~WikiText syntax are built into the core:\n\n<<list-links filter:\"[tag[WikiText]]\" class:\"multi-columns\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/css-variables/--tp-animation-duration CSS Variable.tid",
    "content": "caption: --tp-animation-duration\ncreated: 20260130075755351\nmodified: 20260130075855780\ntags: [[Core CSS Variables]]\ntitle: --tp-animation-duration CSS Variable\ntype: text/vnd.tiddlywiki\n\nThe `--tp-animation-duration` CSS variable represents the \"Animation duration\" setting in the control panel. The `ms` suffix is added."
  },
  {
    "path": "editions/tw5.com/tiddlers/css-variables/--tp-body-font-size Variable.tid",
    "content": "caption: --tp-body-font-size\ncreated: 20260122111308483\nmodified: 20260130045633904\ntags: [[Core CSS Variables]]\ntitle: --tp-body-font-size CSS Variable\ntype: text/vnd.tiddlywiki\n\nThe `--tp-body-font-size` CSS variable represents the \"Font size for tiddler body\" setting in Theme Tweaks."
  },
  {
    "path": "editions/tw5.com/tiddlers/css-variables/--tp-body-line-height Variable.tid",
    "content": "caption: --tp-body-line-height\ncreated: 20260122111249446\nmodified: 20260130045720240\ntags: [[Core CSS Variables]]\ntitle: --tp-body-line-height CSS Variable\ntype: text/vnd.tiddlywiki\n\nThe `--tp-body-line-height` CSS variable represents the \"Line height for tiddler body\" setting in Theme Tweaks."
  },
  {
    "path": "editions/tw5.com/tiddlers/css-variables/--tp-code-font-family Variable.tid",
    "content": "caption: --tp-code-font-family\ncreated: 20260122110850673\nmodified: 20260130045333134\ntags: [[Core CSS Variables]]\ntitle: --tp-code-font-family CSS Variable\ntype: text/vnd.tiddlywiki\n\nThe `--tp-code-font-family` CSS variable represents the \"Code font family\" setting in Theme Tweaks."
  },
  {
    "path": "editions/tw5.com/tiddlers/css-variables/--tp-code-wrapping Variable.tid",
    "content": "caption: --tp-code-wrapping\ncreated: 20260122110618231\nmodified: 20260130045345387\ntags: [[Core CSS Variables]]\ntitle: --tp-code-wrapping CSS Variable\ntype: text/vnd.tiddlywiki\n\nThe `--tp-code-wrapping` CSS variable represents the \"Wrap long lines in code blocks\" setting in Theme Tweaks. Its value is `pre` when the setting is set to \"No\", and `pre-wrap` when set to \"Yes\"."
  },
  {
    "path": "editions/tw5.com/tiddlers/css-variables/--tp-editor-font-family Variable.tid",
    "content": "caption: --tp-editor-font-family\ncreated: 20260122110858791\nmodified: 20260130045422071\ntags: [[Core CSS Variables]]\ntitle: --tp-editor-font-family CSS Variable\ntype: text/vnd.tiddlywiki\n\nThe `--tp-editor-font-family` CSS variable represents the \"Editor font family\" setting in Theme Tweaks."
  },
  {
    "path": "editions/tw5.com/tiddlers/css-variables/--tp-font-family Variable.tid",
    "content": "caption: --tp-font-family\ncreated: 20260122110741282\nmodified: 20260130045301357\ntags: [[Core CSS Variables]]\ntitle: --tp-font-family CSS Variable\ntype: text/vnd.tiddlywiki\n\nThe `--tp-font-family` CSS variable represents the \"Font family\" setting in Theme Tweaks."
  },
  {
    "path": "editions/tw5.com/tiddlers/css-variables/--tp-font-size Variable.tid",
    "content": "caption: --tp-font-size\ncreated: 20260122110956954\nmodified: 20260130045455466\ntags: [[Core CSS Variables]]\ntitle: --tp-font-size CSS Variable\ntype: text/vnd.tiddlywiki\n\nThe `--tp-font-size` CSS variable represents the \"Font size\" setting in Theme Tweaks."
  },
  {
    "path": "editions/tw5.com/tiddlers/css-variables/--tp-line-height Variable.tid",
    "content": "caption: --tp-line-height\ncreated: 20260122111115266\nmodified: 20260130045757204\ntags: [[Core CSS Variables]]\ntitle: --tp-line-height CSS Variable\ntype: text/vnd.tiddlywiki\n\nThe `--tp-line-height` CSS variable represents the \"Line height\" setting in Theme Tweaks."
  },
  {
    "path": "editions/tw5.com/tiddlers/css-variables/--tp-sidebar-breakpoint CSS Variable.tid",
    "content": "caption: --tp-sidebar-breakpoint\ncreated: 20260130065756457\nmodified: 20260130065841355\ntags: [[Core CSS Variables]]\ntitle: --tp-sidebar-breakpoint CSS Variable\ntype: text/vnd.tiddlywiki\n\nThe `--tp-sidebar-breakpoint` CSS variable represents the minimum page width at which the story river and sidebar will appear side by side."
  },
  {
    "path": "editions/tw5.com/tiddlers/css-variables/--tp-sidebar-width CSS Variable.tid",
    "content": "caption: --tp-sidebar-width\ncreated: 20260130065850825\nmodified: 20260130065925595\ntags: [[Core CSS Variables]]\ntitle: --tp-sidebar-width CSS Variable\ntype: text/vnd.tiddlywiki\n\nThe `--tp-sidebar-width` CSS variable represents the width of the sidebar in fluid-fixed layout."
  },
  {
    "path": "editions/tw5.com/tiddlers/css-variables/--tp-story-left CSS Variable.tid",
    "content": "caption: --tp-story-left\ncreated: 20260130065252380\nmodified: 20260130065342364\ntags: [[Core CSS Variables]]\ntitle: --tp-story-left CSS Variable\ntype: text/vnd.tiddlywiki\n\nThe `--tp-story-left` CSS variable represents how far the left margin of the story river (tiddler area) is from the left of the page."
  },
  {
    "path": "editions/tw5.com/tiddlers/css-variables/--tp-story-right CSS Variable.tid",
    "content": "caption: --tp-story-right\ncreated: 20260130065417448\nmodified: 20260130065457358\ntags: [[Core CSS Variables]]\ntitle: --tp-story-right CSS Variable\ntype: text/vnd.tiddlywiki\n\nThe `--tp-story-right` CSS variable represents how far the left margin of the sidebar is from the left of the page."
  },
  {
    "path": "editions/tw5.com/tiddlers/css-variables/--tp-story-top CSS Variable.tid",
    "content": "caption: --tp-story-top\ncreated: 20260130065351753\nmodified: 20260130065451132\ntags: [[Core CSS Variables]]\ntitle: --tp-story-top CSS Variable\ntype: text/vnd.tiddlywiki\n\nThe `--tp-story-top` CSS variable represents how far the top margin of the story river is from the top of the page."
  },
  {
    "path": "editions/tw5.com/tiddlers/css-variables/--tp-story-width CSS Variable.tid",
    "content": "caption: --tp-story-width\ncreated: 20260130065510314\nmodified: 20260130065552027\ntags: [[Core CSS Variables]]\ntitle: --tp-story-width CSS Variable\ntype: text/vnd.tiddlywiki\n\nThe `--tp-story-width` CSS variable represents the overall width of the story river."
  },
  {
    "path": "editions/tw5.com/tiddlers/css-variables/--tp-tiddler-width CSS Variable.tid",
    "content": "caption: --tp-tiddler-width\ncreated: 20260130065558913\nmodified: 20260130065746707\ntags: [[Core CSS Variables]]\ntitle: --tp-tiddler-width CSS Variable\ntype: text/vnd.tiddlywiki\n\nThe `--tp-tiddler-width` CSS variable represents the tiddler width within the story river."
  },
  {
    "path": "editions/tw5.com/tiddlers/css-variables/--tpc-_ variables.tid",
    "content": "caption: --tpc-*\ncreated: 20260122104142525\nmodified: 20260122104847331\ntags: [[Core CSS Variables]]\ntitle: --tpc-* CSS Variables\ntype: text/vnd.tiddlywiki\n\n`--tpc-*` variables are CSS variables of palette colors. They can be accessed via appending the palette color names to the bottom. For example:\n\n```css\n.code {\n\tbackground-color: var(--tpc-code-background);\n\tcolor: var(--tpc-code-foreground);\n}\n```\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/currentTab Variable.tid",
    "content": "caption: currentTab\ncreated: 20240627195924480\nmodified: 20240627201655746\ntags: Variables [[Core Variables]]\ntitle: currentTab Variable\ntype: text/vnd.tiddlywiki\n\nThe <<.def currentTab>> [[variable|Variables]] contains the title of the current tab within an enclosing set of tabs generated by the [[tabs Macro]].\n\nWhen a tiddler is [[transcluded|Transclusion]] within a tab, any use of the [[currentTiddler Variable]] will point to the tiddler containing the [[tabs Macro]] call. This may lead to surprises if the transcluded tiddler was originally written to display by itself in the [[Story River]] in ways that rely on self-reference. The currentTab macro enables a similar effect to currentTiddler for the special case of a tiddler rendered as a tab.\n\nCompare <<.vlink currentTiddler>>."
  },
  {
    "path": "editions/tw5.com/tiddlers/customising/Alternative page layouts.tid",
    "content": "created: 20201123172925848\nmodified: 20240801020629394\ntags: [[Customise TiddlyWiki]]\ntitle: Alternative page layouts\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.23\">> You can have multiple alternative page layouts and switch between them. To see a list of available layouts and switch between them, use the keyboard shortcut <kbd><<displayshortcuts ((layout-switcher))>></kbd>.\n\n! Creating an alternative page layout\n\nCreating an alternative layout goes beyond [[adding or removing features|Customising TiddlyWiki's user interface]] from the default interface, which also known as [[standard layout|$:/core/ui/PageTemplate]], and allows you to create an entirely new layout from scratch.\n\nTo create an alternative page layout and have the ability to switch to it, you need to create an alternative page template tiddler with the [[SystemTag: $:/tags/Layout]].\n\nThis alternative page template can either be a tweaked and modified version of the [[default page template|$:/core/ui/PageTemplate]], or something entirely different. The layout switching mechanism requires that your page template tiddler has the fields `name` and `description`, which are used in the listing in the switching user interface.\n\n!! Common layout setup\n\n```tid\n\\whitespace trim\n\\import [subfilter{$:/core/config/GlobalImportFilter}]\n\\define containerClasses()\ntc-page-container tc-language-$(languageTitle)$ your-plugin-name-container\n\\end\n\\procedure redirected-navigate-actions()\n  <$action-setfield $tiddler=\"$:/layout\" text=\"\" $timestamp=\"no\" />\n  <$action-navigate $to=<<event-navigateTo>> $scroll=\"yes\" />\n\\end\n\n<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\n\t<$messagecatcher $tm-navigate=<<redirected-navigate-actions>>>\n\t\t{{$:/core/ui/CommandPaletteTemplate}}\n\t\t<div class=<<containerClasses>>>\n\t\t\t<!-- Your layout content here -->\n\t\t</div>\n\t</$messagecatcher>\n</$navigator>\n```\n\nIt includes\n\n# Import macros that is globally available in standard layout, so wikitext that works on standard layout also works on your layout.\n# Define the top-level css class, some style may depends on them. You can add your plugin's name in css class here.\n# Handle navigation when click on links. If your layout does not contains a story view (for example, you are writing a calendar or whiteboard layout), then the combination of `redirected-navigate-actions` `$navigator` and `$messagecatcher` will redirect user back to standard layout, and open the tiddler there.\n# Add some [[PageTemplate|$:/tags/PageTemplate]] back, for example the `$:/core/ui/CommandPaletteTemplate` or `$:/core/ui/PageTemplate/sidebar`, if you want them exist on your layout.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/customising/Configuring startup tiddlers.tid",
    "content": "created: 20180305174809089\nmodified: 20180306161405033\ntags: [[Customise TiddlyWiki]]\ntitle: Configuring startup tiddlers\ntype: text/vnd.tiddlywiki\n\nYou can configure ~TiddlyWiki to start up using whatever individual or group of tiddlers you want using the [[default tiddlers|DefaultTiddlers]] mechanism.\n\nIn the control panel under the info tab is an input field labeled \"Choose which tiddlers are displayed at startup\". You can list whatever tiddlers you want to open at startup. Use double square brackets for titles containing spaces. For example:\n\n```\nFirstTiddler\nSecondTiddler\n[[Third Tiddler]]\n```\n\nYou can also use [[filter expressions|Filter Expression]] to open more than one tiddler. For example:\n\n```\n[tag[HelloThere]]\n```\n\nwill open all tiddlers tagged as <<tag HelloThere>>. \n\nYou can also use this technique to [[preserve open tiddlers at startup|Preserving open tiddlers at startup]]\n\nSee also [[StartupActions]] for controlling more advanced startup behaviours.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/customising/Creating new toolbar buttons.tid",
    "content": "created: 20211124205415217\nmodified: 20230803050345698\ntags: [[Customise TiddlyWiki]]\ntitle: Creating new toolbar buttons\ntype: text/vnd.tiddlywiki\n\nLet's say you have a skeleton tiddler called 'Recipe template', and you want to have a button available in the tiddler ViewToolbar to create new recipe tiddlers on demand. This will require the following steps:\n\n# You will want an image for your button. If none of the core images (shadow tiddlers with the prefix $:/core/images/) work for you, then you will need to create or acquire an SVG image (for example, one of the images at http://flaticon.com), drag it into your file so that it becomes a tiddler, edit the tiddler and adjust the height and width to 22px\n# You will want to create the tiddler that contains your tiddler. Create it, title it, and add the button code (see the code at the bottom of this tiddler for an example, with hints where you will need to adapt it). Tag it [[$:/tags/ViewToolbar]]\n# You will need to create a tiddler that tells TiddlyWiki whether your button should be visible in the toolbar or hidden. Let's title it [[$:/config/ViewToolbarButtons/Visibility/Recipe]]. Type `show` into the text area, and save. If you want to hide it, type `hide` into the text area and save. The button will also be accessable from the ''Control Panel : Appearance : Toolbars : View Toolbar'' tab\n# You will want to position the button properly. Open the tiddler $:/tags/ViewToolbar and insert your button tiddler's title in the appropriate place in the list field.\n\n```\n\\define newHereButtonTags()\n[[$(currentTiddler)$]]\n\\end\n\\define newHereButton()\n<$button class=<<tv-config-toolbar-class>>>\n<$action-sendmessage\n  $message=\"tm-new-tiddler\"\n$param=\"TITLE OF YOUR SKELETON BUTTON\"\ntitle=\"New tiddler\"\n  tags=<<newHereButtonTags>> />\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{TITLE OF YOUR SVG IMAGE TIDDLER}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text=\"CAPTION FOR YOUR BUTTON\"/></span>\n</$list>\n</$button>\n\\end\n\n<<newHereButton>>\n```"
  },
  {
    "path": "editions/tw5.com/tiddlers/customising/Customise TiddlyWiki.tid",
    "content": "created: 20140904101600000\nlist: [[Adding a table of contents to the sidebar]] [[Alternative page layouts]] [[Configuring startup tiddlers]] [[Configuring the default TiddlerInfo tab]] [[Creating a custom export format]] [[Creating a splash screen]] [[Creating new toolbar buttons]] [[Customising search results]] [[Customising TiddlyWiki's user interface]] [[Hidden Settings]] [[How to add a new tab to the sidebar]] [[How to apply custom styles]] [[How to create a custom story tiddler template]] [[How to create a custom tiddler icon rule]] [[How to create a custom tiddler colour rule]] [[How to create keyboard shortcuts]] [[How to turn off camel case linking]] [[How to widen tiddlers (aka storyriver)]] [[Making a custom journal button]] [[Preserving open tiddlers at startup]] [[Setting a favicon]] [[Setting a page background image]] [[Using Stylesheets]]\nmodified: 20211206162235300\ntags: TableOfContents\ntitle: Customise TiddlyWiki\ntype: text/vnd.tiddlywiki\n\nInformation about customising TiddlyWiki. See [[Customising TiddlyWiki's user interface]] for an overview of the mechanisms employed.\n\n<<list-links \"[tag[Customise TiddlyWiki]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/customising/Customising TiddlyWiki's user interface.tid",
    "content": "created: 20211127084727217\nmodified: 20211204120054422\ntags: [[Customise TiddlyWiki]]\ntitle: Customising TiddlyWiki's user interface\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki’s user interface is designed to be highly extensible. Every element can be augmented, removed, or rearranged.\n\nSeveral different mechanisms are used to achieve this:\n\n* special fields\n* special titles\n* special tags\n* cascades\n\nHere we provide an overview of those mechanisms and how they relate together.\n\n!! Special Fields\n\nSpecial fields are used to assign an appearance or behaviour to individual tiddlers. They can be thought of as flags or values that directly control the tiddler to which they are applied.\n\nFor example:\n\n* Set the `icon` field to the title of an image tiddler to be used as the icon for this tiddler\n* Set the `color` field to a CSS colour that is then used for icons and tag pills associated with this tiddler\n* Set the `hide-body` field to `yes` to hide the view template body for this tiddler\n\nSee TiddlerFields for details of all the special fields.\n\n!! Special Titles\n\nCertain special titles identify configuration tiddlers that customise TiddlyWiki's appearance or behaviour. They can be thought of as global settings that affect an entire wiki. \n\nFor example:\n\n* $:/DefaultTiddlers is a filter yielding the titles of the tiddlers that should be displayed at startup\n* $:/SiteTitle specifies the text of the wiki title\n* $:/config/Tags/MinLength controls the minimum number of characters to trigger tag autocompletion\n\nMany of TiddlyWiki's configuration tiddlers are presented as options in [[$:/ControlPanel]]. Less commonly used configuration tiddlers do not have a user interface, but are documented in [[Hidden Settings]].\n\n!! Special Tags\n\nSpecial tags assign special behaviour or appearance to all of the tiddlers to which they are applied. They can be thought of as establishing ordered lists of tiddlers that are processed or displayed in a particular way.\n\nFor example:\n\n* $:/tags/Global causes the definitions in a tiddler to be available globally\n* $:/tags/Stylesheet causes the tiddler to be interpreted as a CSS stylesheet\n* $:/tags/SideBar causes the tiddler to be displayed as a sidebar tab\n\nSee SystemTags for details of all the special tags.\n\nThe  entire TiddlyWiki user interface is constructed from lists formed from special system tags.\n\nThe ordering of these lists is determined by the [[order of tagged tiddlers|Order of Tagged Tiddlers]] rules. Users can re-order tags using drag and drop within a tag dropdown.\n\n!! Cascades\n\nCascades provide a means to select one of multiple values based on flexible, extensible criteria. They can be thought of as a list of conditions that are evaluated in turn until one of them matches.\n\nFor example, the core uses the template $:/core/ui/ViewTemplate to display tiddlers in view mode, and $:/core/ui/EditTemplate to display tiddlers in edit mode. A cascade is used to choose which template to use for a particular tiddler:\n\n# If the tiddler is a draft, then use $:/core/ui/EditTemplate\n# Otherwise, use $:/core/ui/ViewTemplate\n\nThe list of conditions is defined via a special tag, making it possible to insert additional conditions anywhere in the list.\n\nFor example, a plugin might add a special template $:/plugins/example/map-template for tiddlers that have the tag [[$:/tags/Map]] by inserting an additional rule:\n\n# If the tiddler is a draft, then use $:/core/ui/EditTemplate\n# @@background: yellow; If the tiddler is tagged $:/tags/Map, then use $:/plugins/example/map-template@@\n# Otherwise, use $:/core/ui/ViewTemplate\n\nSee [[Cascades]] for more details.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/customising/Customising search results.tid",
    "content": "created: 20141027151552783\nmodified: 20201207181116804\ntags: [[Customise TiddlyWiki]]\ntitle: Customising search results\ntype: text/vnd.tiddlywiki\n\nBy default, the results for the sidebar search box are displayed as a simple list of tiddler titles. The search results can be customised by adding plugin visualisations that show the search results in different ways. (Tabs are shown automatically if an additional search result visualisation is detected).\n\nSearch result visualisations are stored in tiddlers tagged [[$:/tags/SearchResults]]. The default search result listing is implemented in the system tiddler [[$:/core/ui/DefaultSearchResultList]].\n\nTo create a new search result visualisation:\n\n# Create a new tiddler tagged [[$:/tags/SearchResults]]\n# Use the widget variable ''searchTiddler'' to access the title of the tiddler containing the current search term\n\nIf you'd like the new visualisation to be the default, create a tiddler called [[$:/config/SearchResults/Default]] containing the title of the tiddler containing the search visualisation that you want to display by default.\n\nHere is an example of an alternative visualisation that displays results in reverse chronological order:\n\n```\n\\define searchResults()\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[!is[system]search{$(searchTiddler)$}]\"/>\"\"\">\n\n{{$:/language/Search/Matches}}\n\n</$set>\n<<timeline subfilter:\"!is[system]search{$(searchTiddler)$}\">>\n\\end\n<<searchResults>>\n```\n\n<<.from-version 5.1.23>> The sidebar search introduces a more sophisticated search-mechanism which makes it possible to navigate the search results using the keyboard shortcuts <kbd><<displayshortcuts ((input-down))>></kbd> and <kbd><<displayshortcuts ((input-up))>></kbd>. To add that mechanism to your own custom search results follow these simple steps:\n\n# Your tiddler tagged <<tag-pill \"$:/tags/SearchResults\">>is accessible through the <<.var configTiddler>> variable\n# The user-input in the search field is accessible through the <<.var userInput>> variable\n# Use the fields <<.field first-search-filter>> and <<.field second-search-filter>> to store the filters used for your search results. See the tiddler $:/core/ui/DefaultSearchResultList for details\n# Use the following form so that navigated search-results are highlighted, modify it to match your needs:\n\n```\n<$list filter=\"[<userInput>minlength[1]]\" variable=\"ignore\">\n<$list filter={{{ [<configTiddler>get[first-search-filter]] }}}>\n<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[<searchListState>get[text]] +[then[]else[tc-list-item-selected]] }}}>\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n</span>\n</$list>\n</$list>\n```\n\n<$macrocall $name=\".tip\" _=\"Note that the <<.var searchTiddler>> variable still contains the name of the tiddler that is used for sorting the search results. The <<.var editTiddler>> variable contains the name of the tiddler that is being edited.\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/BT.tid",
    "content": "created: 20131101091100000\nmodified: 20211117195517318\ntags: Definitions\ntitle: BT\n\nBT (née British Telecom) is the UK's largest telecommunications company. In 2007, [[Osmosoft]] was acquired by BT. [[@Jermolene]] subsequently left BT in 2011.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/Base64.tid",
    "content": "created: 20150221180826000\nmodified: 20150221181700000\ntags: Definitions\ntitle: Base64\ntype: text/vnd.tiddlywiki\n\n<<.dlink-ex Base64 \"https://en.wikipedia.org/wiki/Base64\">> is a way of representing binary data, such an image, as a string of text.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/CamelCase.tid",
    "content": "created: 20130828185300000\nmodified: 20240923162029767\ntags: Definitions\ntitle: CamelCase\n\nCamelCase is formed by taking a phrase, capitalising the initial letter of each word, and smashing the words together to form a portmanteau word. Traditionally most wikis including ~TiddlyWiki use CamelCase to signal phrases that should automatically become links.\n\nYou can also [[disable CamelCase linking in TiddlyWiki|How to turn off camel case linking]] if you want.\n\n<<.from-version 5.3.0>> ~CamelCase is disabled by default in new wikis.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/Cascading Style Sheets.tid",
    "content": "created: 20150221120651000\nmodified: 20150221181705000\ntags: Definitions\ntitle: Cascading Style Sheets\ntype: text/vnd.tiddlywiki\n\n<<.dlink-ex CSS \"https://en.wikipedia.org/wiki/Cascading_Style_Sheets\">> is a standard plain-text format used for defining the presentational style of the various elements on a web page.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/Comma Separated Values.tid",
    "content": "created: 20150221120117000\nmodified: 20150221181310000\ntags: Definitions\ntitle: Comma-Separated Values\ntype: text/vnd.tiddlywiki\n\n<<.dlink-ex CSV \"https://en.wikipedia.org/wiki/Comma-separated_values\">> is a standard plain-text format for storing a table of data.\n\nEach row of the table is called a <<.def record>> and occupies one line.\n\nThe columns are called <<.def fields>>. Each field of a row is separated from the next by a comma, and is often delimited by quotation marks.\n\nThe <<.mlink csvtiddlers>> macro returns tiddler content in this format.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/ContentType.tid",
    "content": "created: 20130828185900000\nmodified: 20250814073940003\ntags: Definitions\ntitle: ContentType\ntype: text/vnd.tiddlywiki\n\nUsed in Internet protocols to indicate the type that should be used to interpret the content of a web resource.\n\nIn TiddlyWiki, the `type` field gives the content type to apply to the main `text` field.\n\n!! List of Common Content Types\n\n|!Group |!Type |!Content of `type` field |\n|^''Developer'' |[[Data dictionary|DictionaryTiddlers]] |application/x-tiddler-dictionary|\n|~|[[Compound Tiddler|CompoundTiddlers]] |text/vnd.tiddlywiki-multiple|\n|~|JavaScript code |application/javascript|\n|~|[[JSON data|JSONTiddlers]] |application/json|\n|~|[[Static stylesheet|Using Stylesheets]] |text/css|\n|^''Image''|GIF image |image/gif|\n|~|ICO format icon file |image/x-icon|\n|~|JPEG image |image/jpeg|\n|~|PDF image |application/pdf|\n|~|PNG image |image/png|\n|~|Structured Vector Graphics image |image/svg+xml|\n|^''Text''|[[HTML markup|HyperText Markup Language]] |text/html|\n|~|[[CSS|Cascading Style Sheets]] stylesheet |text/css|\n|~|[[Comma-separated values|Comma-Separated Values]] |text/csv|\n|~|Plain text |text/plain|\n|~|[[TiddlyWiki 5|WikiText]] |text/vnd.tiddlywiki|\n|~|[[TiddlyWiki Classic|TiddlyWikiClassic]] |text/x-tiddlywiki|\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/Data URI.tid",
    "content": "created: 20150221161803000\nmodified: 20150221181711000\ntags: Definitions\ntitle: Data URI\ntype: text/vnd.tiddlywiki\n\nA <<.dlink-ex \"data URI\" \"https://en.wikipedia.org/wiki/Data_URI_scheme\">> is a way of storing data (such as an image) in a way that is compatible with the addresses used by web pages and [[stylesheets|Cascading Style Sheets]] to access external resources.\n\nThe <<.mlink datauri>> macro can be used to generate data URIs within ~TiddlyWiki.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/Definitions.tid",
    "content": "color: #7bb95d\ncreated: 20130825145100000\nmodified: 20250104111522881\ntags: Reference\ntitle: Definitions\ntype: text/vnd.tiddlywiki\n\nThese are definitions of technical words and phrases used in this documentation. (As distinct from the [[Concepts]] that make up TiddlyWiki itself).\n\n<<list-links \"[tag[Definitions]]\" class:\"multi-columns\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/Document Object Model.tid",
    "content": "created: 20150228133106000\nmodified: 20150228134018000\ntags: Definitions\ntitle: Document Object Model\ntype: text/vnd.tiddlywiki\n\nThe <<.dlink-ex DOM \"https://en.wikipedia.org/wiki/Document_Object_Model\">> of a web page is a tree-shaped model of its content, maintained internally by the web browser as the user interacts with that content. Each point in the tree is called a <<.def node>>.\n\nWhen ~TiddlyWiki is running in a web browser, its [[widgets|Widgets]] are rendered into DOM nodes for display.\n\nWhen ~TiddlyWiki is running on [[Node.js|TiddlyWiki on Node.js]], it uses a fake DOM to simulate the behaviour of a browser.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/Git.tid",
    "content": "created: 20230723073000469\nmodified: 20230723073046462\ntags: Definitions\ntitle: Git\ntype: text/vnd.tiddlywiki\n\n>Git (/ɡɪt/) is a distributed version control system that tracks changes in any set of computer files, usually used for coordinating work among programmers collaboratively developing source code during software development. Its goals include speed, data integrity, and support for distributed, non-linear workflows (thousands of parallel branches running on different computers).\n>\n>https://en.wikipedia.org/wiki/Git\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/GitHub.tid",
    "content": "created: 20140910212609354\nmodified: 20230723074351846\ntags: Definitions\ntitle: GitHub\ntype: text/vnd.tiddlywiki\n\nGitHub is a hosting service for distributed projects that use git as their version-control system. It allows free hosting and management of open-source projects and facilitates collaborative development on the source code. Using ~GitHub for non-open-source endeavours requires additional fees.\n\nThe code and documentation of TiddlyWiki is hosted on ~GitHub at:\n\nhttps://github.com/TiddlyWiki/TiddlyWiki5\n\n~GitHub also offer a free web hosting service called [[GitHub Pages|https://pages.github.com/]] that can be used directly from the single file configuration. See [[Saving to a Git service]].\n\nAn alternative to ~GitHub is GitLab"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/GitLab.tid",
    "content": "created: 20230723072527781\nmodified: 20230723073955715\ntags: Definitions\ntitle: GitLab\ntype: text/vnd.tiddlywiki\n\n>GitLab Inc. is an open-core company that operates ~GitLab, a ~DevOps software package which can develop, secure, and operate software. The open source software project was created by Ukrainian developer Dmytro Zaporozhets and Dutch developer Sytse Sijbrandij\n>\n>https://en.wikipedia.org/wiki/GitLab\n\nBoth GitLab and GitHub use [[Git]] a distributed version control system, that can be used to store, view and edit TiddlyWiki wikis using [[GitLab Pages|https://docs.gitlab.com/ee/user/project/pages/]]\n\nLearn more at:  [[Saving to a Git service]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/GuerillaWiki.tid",
    "content": "created: 20140817140917462\nmodified: 20140817141027417\ntags: Definitions\ntitle: GuerillaWiki\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki makes a great GuerillaWiki in situations where it is not practical to use a traditional wiki.\n\nFor instance, in a corporate setting, persuading an over-worked IT department to install a Wiki server for you is seldom going to be possible overnight. And if your PC is locked down you can't install a conventional Wiki yourself. Equally, you can't go and use one of the public hosted Wiki services because your Information Security department would not allow all that corporate data to flow into an outside server.\n\nTiddlyWiki slices through those barriers by being usable on virtually all PCs.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/HTML Block Elements.tid",
    "content": "created: 20220818091959523\nmodified: 20220818092101307\ntags: Definitions\ntitle: HTML Block Elements\ntype: text/vnd.tiddlywiki\n\n<<<\nHTML (Hypertext Markup Language) elements historically were categorized as either \"block-level\" elements or \"inline-level\" elements. Since this is a presentational characteristic it is nowadays specified by CSS in the Flow Layout. A Block-level element occupies the entire horizontal space of its parent element (container), and vertical space equal to the height of its contents, thereby creating a \"block\".\n<<< https://developer.mozilla.org/en-US/docs/Web/HTML/Block-level_elements\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/HyperText Markup Language.tid",
    "content": "created: 20150228132723000\nmodified: 20150228133925000\ntags: Definitions\ntitle: HyperText Markup Language\ntype: text/vnd.tiddlywiki\n\n<<.dlink-ex HTML \"https://en.wikipedia.org/wiki/HTML\">> is a standard plain-text format used for defining the content of a web page.\n\nIt consists of a tree of elements expressed using a system of special <<.def tags>> enclosed in angle brackets.\n\nAlmost the whole of HTML can be used unchanged in the WikiText of a tiddler.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/Intertwingled Innovations.tid",
    "content": "created: 20240726184622817\nmodified: 20240726184622817\ntags: Definitions\ntitle: Intertwingled Innovations\ntype: text/vnd.tiddlywiki\n\nIntertwingled Innovations Limited is [[JeremyRuston]]'s company through which he offers services helping organisations release the business value of TiddlyWiki.\n\nSee https://intertwingledinnovations.com/ for more information.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/JavaScript Object Notation.tid",
    "content": "created: 20150221152904000\nmodified: 20220427170920772\ntags: Definitions\ntitle: JavaScript Object Notation\ntype: text/vnd.tiddlywiki\n\n<<.dlink-ex JSON \"https://en.wikipedia.org/wiki/JSON\">> is a standard plain-text format used for modelling hierarchical structures of objects that contain named fields. See [[JSON in TiddlyWiki]] for an overview.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/JavaScript.tid",
    "content": "created: 20130825142100000\nmodified: 20140211195324716\ntags: Definitions\ntitle: JavaScript\ntype: text/vnd.tiddlywiki\n\n~JavaScript is a computer language that was originally introduced by browsers as a way of scripting web pages. At first it was considered a poorly designed toy, but over the years has become recognised as a powerful language in its own right, and has been adopted widely beyond the browser.\n\n~JavaScript looks like this:\n\n```\nfunction circleArea(radius) {\n\treturn radius * 2 * 3.141592653;\n}\n```\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/JeremyRuston.tid",
    "content": "created: 20130825162500000\nmodified: 20170920131119498\ntags: Definitions\ntitle: JeremyRuston\ntype: text/vnd.tiddlywiki\n\nSee [[@Jermolene]]."
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/Jermolene.tid",
    "content": "created: 201308281902\nmodified: 201308281902\ntags: Definitions\ntitle: Jermolene\n\nSee [[@Jermolene]]."
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/KeyboardShortcutDescriptor.tid",
    "content": "title: Keyboard Shortcut Descriptor\ntags: Definitions\n\n`Keyboard Shortcut Descriptors` are used by the [[KeyboardWidget]] and within Tiddlers tagged <<tag-pill $:/tags/KeyboardShortcut>> to link actions with a keyboard combination\n\nA `Keyboard Shortcut Descriptor` has the following format:\n\n```\n\tctrl+enter\n\tctrl+shift+alt+A\n\talt-shift-T\n\talt-Space\n```\n\nIt can have multiple Key combinations:\n\n```\nctrl+enter alt+shift+A ctrl+alt+9 alt-Space ctrl-Backspace\n```\n\nThere are ''two ways'' Keyboard Shortcut Descriptors can be used:\n\n* directly\n** passing the attribute `key=\"ctrl-enter\"` to the KeyboardWidget\n** setting `ctrl-enter` as the ''value'' of the `key` ''field'' in a Tiddler tagged <<tag-pill $:/tags/KeyboardShortcut>>\n* with a ''reference'' to a configuration Tiddler\n** A ''configuration Tiddler'' for Keyboard Shortcuts follows some naming rules:\n*** The title starts with `$:/config/`\n*** Followed by either the string `shortcuts` or one of the following ''platform descriptors'':\n**** <<.tid shortcuts-linux>>\n**** <<.tid shortcuts-not-linux>>\n**** <<.tid shortcuts-mac>>\n**** <<.tid shortcuts-not-mac>>\n**** <<.tid shortcuts-windows>>\n**** <<.tid shortcuts-not-windows>>\n*** The title ends with another `/` followed by a suffix that can be chosen freely\n**** This suffix is the ''identifier'' for the `Keyboard Shortcut Descriptor` (A)\n** The ''reference'' to the configuration Tiddler is made of `((` + the ''identifier'' (A) + `))`\n*** Example: `((my-shortcut))` is the ''reference'' to these configuration Tiddlers:\n**** <<.tid $:/config/shortcuts/my-shortcut>>\n**** <<.tid $:/config/shortcuts-linux/my-shortcut>>\n**** <<.tid $:/config/shortcuts-not-linux/my-shortcut>>\n**** <<.tid $:/config/shortcuts-mac/my-shortcut>>\n**** <<.tid $:/config/shortcuts-not-mac/my-shortcut>>\n**** <<.tid $:/config/shortcuts-windows/my-shortcut>>\n**** <<.tid $:/config/shortcuts-not-windows/my-shortcut>>\n** Finally, the referenced configuration Tiddler stores the Keyboard Shortcut Descriptor in its ''text'' field\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/Legacy.tid",
    "content": "created: 20230319131443509\nmodified: 20230319132235520\ntags: Definitions\ntitle: Legacy\ntype: text/vnd.tiddlywiki\n\n>Legacy code is old computer source code that is no longer supported on the standard hardware and environments, and is a codebase that is in some respect obsolete or supporting something obsolete. Legacy code may be written in programming languages, use frameworks and external libraries, or use architecture and patterns that are no longer considered modern, increasing the mental burden and ramp-up time for software engineers who work on the codebase.\n>\n>https://en.wikipedia.org/wiki/Legacy_system"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/Markdown.tid",
    "content": "created: 20220727090611178\nmodified: 20220728191637376\ntags: Definitions\ntitle: Markdown\n\n<<<\nMarkdown is a text-to-HTML conversion tool for web writers. Markdown allows you to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid XHTML (or HTML).\n<<<https://daringfireball.net/projects/markdown/\n\n~TiddlyWiki and Markdown share some formatting rules eg: [[inline code|Formatting in WikiText]] and [[code blocks|Code Blocks in WikiText]] but WikiText also offers advanced functions like [[transclusions|Transclusion in WikiText]] and [[macros|Macro Calls in WikiText]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/MathML.tid",
    "content": "created: 20130901213100000\nmodified: 20211124215351987\ntags: Definitions\ntitle: MathML\ntype: text/vnd.tiddlywiki\n\nMathML is a markup language for mathematical notation that can be used with HTML.\n\nIf your browser supports it, MathML elements can be used in TiddlyWiki5 WikiText just like HTML.\n\nHere is an example MathML equation from [[the W3C|http://www.w3.org/Math/XSL/csmall2.xml]]:\n\n```\n<math><mrow><mo>[</mo><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr></mtable><mo>]</mo></mrow></math>\n```\n\nRenders as:\n\n<math><mrow><mo>[</mo><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr></mtable><mo>]</mo></mrow></math>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/NW.js.tid",
    "content": "created: 20150310165059118\nmodified: 20150310165059118\ntags: Definitions\ntitle: NW.js\ntype: text/vnd.tiddlywiki\n\nNW.js is an OpenSource application that fuses the functionality of a web browser with that of [[Node.js]]. It makes it possible to use web applications as though they were native apps, with full access to the file system and other native facilities. Learn more from the [[official site|https://github.com/nwjs/nw.js]] or [[this introductory blog post|http://net.tutsplus.com/tutorials/javascript-ajax/introduction-to-html5-desktop-apps-with-node-webkit/]].\n\nSee [[TiddlyWiki on NW.js]] for details of how to use TiddlyWiki with NW.js.\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/Node.js.tid",
    "content": "created: 20131129094739786\nmodified: 20220612091858504\ntags: Definitions\ntitle: Node.js\ntype: text/vnd.tiddlywiki\n\n''Node.js'' is a downloadable application for your PC, Mac or Linux computer that lets it run JavaScript applications. Unlike ~JavaScript applications running in a web browser, Node.js code has full access to the file system and other resources of the computer, enabling it to perform the roles that have traditionally been the preserve of languages like Java, PHP and Python. \n\nFor ~TiddlyWiki, Node.js means that we can have a single code base that can run in the browser or on the server, giving great flexibility in how it is used.\n\nFor end users, Node.js is no more complicated to install than a web browser, but unlocks powerful capabilities such as the ability to run ~TiddlyWiki as a web server that you can connect to from other devices.\n\n''Node.js'' is a ''trademark'' of the ~OpenJS Foundation. See: https://nodejs.org fore more details.\n\n[[TiddlyWiki on Node.js]] will give an overview about the possibilities using a client-server configuration.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/OpenSource.tid",
    "content": "created: 201308251307\nmodified: 201308251307\ntags: Definitions\ntitle: OpenSource\n\nOpenSource is [[defined by Wikipedia|https://en.wikipedia.org/wiki/Open_source]] as //a philosophy, or pragmatic methodology that promotes free redistribution and access to an end product's design and implementation details//.\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/Osmosoft.tid",
    "content": "created: 20131101091300000\nmodified: 20211119004632506\ntags: Definitions\ntitle: Osmosoft\n\nFounded in 2004 by [[@Jermolene]], Osmosoft was originally a consultancy for software services around TiddlyWiki. Notable engagements included working with Socialtext on [[Socialtext Unplugged|https://www.socialtext.net/open/socialtext_unplugged]].\n\nIn 2007, Osmosoft was acquired by [[BT]] and became the champions for open source within the enterprise. As part of BT, Osmosoft has worked on a diverse range of projects within BT and for BT's customers.\n\nSee http://osmosoft.com/\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/Percent Encoding.tid",
    "content": "created: 20150228131248000\nmodified: 20150228131522000\ntags: Definitions\ntitle: Percent Encoding\ntype: text/vnd.tiddlywiki\n\n<<.dlink-ex \"Percent encoding\" \"https://en.wikipedia.org/wiki/Percent-encoding\">> is a notation that allows otherwise invalid characters to be included in a [[URI]].\n\nSuch characters are represented as a percent sign `%` followed by two additional characters.\n\nFor example, a space is represented as `%20` and an actual percent sign is represented as `%25`.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/Quine.tid",
    "content": "created: 20171110100048967\nmodified: 20171110100146695\ntags: Definitions\ntitle: Quine\ntype: text/vnd.tiddlywiki\n\nWikipedia [[defines a Quine|https://en.wikipedia.org/wiki/Quine_(computing)]] as //a computer program which takes no input and produces a copy of its own source code as its only output//.\n\nTiddlyWiki is an unusual example of a practical quine: it is this ability to produce a copy of its own source code that lies at the heart of TiddlyWiki's ability to independently save changes to itself.\n\n\"Quine\" is also the name of [[the unofficial TiddlyWiki application for iPhone/iPad|Saving on iPad/iPhone]]"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/SingleFileApplication.tid",
    "content": "created: 20130822174000000\nmodified: 20140126160359657\ntags: Definitions\ntitle: SingleFileApplication\ntype: text/vnd.tiddlywiki\n\nA single file application is a web application where all of the assets are delivered in a single static file. This means that it can be downloaded and used offline without losing functionality. It can also be hosted on almost any type of web server.\n\nTiddlyWiki is an unusual single file application because it stores its data within the same file, and is capable of saving changes to itself.\n\nEvery single file application must also by definition be a SinglePageApplication, but the converse is not true.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/SinglePageApplication.tid",
    "content": "created: 201308221739\nmodified: 201308231751\ntags: Definitions\ntitle: SinglePageApplication\n\nAs defined by Wikipedia, a SinglePageApplication is a web application that presents itself as a single HTML document that dynamically loads additional content as the user browses the site. Frequently, single page applications are carefully designed to hide their nature, appearing and functioning as an ordinary static website by respecting the address bar and the back/forward navigation controls.\n\nUnusually, TiddlyWiki is also a SingleFileApplication.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/Stanford JavaScript Crypto Library.tid",
    "content": "created: 20150624235333601\nmodified: 20150624235400799\ntags: Definitions\ntitle: Stanford JavaScript Crypto Library\nurl: http://bitwiseshiftleft.github.io/sjcl/\n\nThe Stanford Javascript Crypto Library is a project by the Stanford Computer Security Lab to build a secure, powerful, fast, small, easy-to-use, cross-browser library for cryptography in Javascript.\n\n{{!!url}}"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/TiddlyDesktop.tid",
    "content": "created: 20140126125259638\nmodified: 20171118195316103\ntags: Definitions Platforms\ntitle: TiddlyDesktop\ntype: text/vnd.tiddlywiki\n\nTiddlyDesktop is an app for working with TiddlyWiki files (both TiddlyWikiClassic and TiddlyWiki version 5). It can be installed on Windows, Mac OS X or Linux. It is compatible with TiddlyWiki version 5 and the older TiddlyWikiClassic.\n\n{{Saving on TiddlyDesktop}}\n\n{{Introducing TiddlyDesktop Video}}\n\n! Source\n\nTiddlyDesktop is based on the OpenSource project [[NW.js]]. The source is on GitHub:\n\nhttps://github.com/TiddlyWiki/TiddlyDesktop/\n\nSee [[TiddlyDesktop Releases]] and [[How to Customize TiddlyDesktop]]"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/TiddlyFox.tid",
    "content": "created: 20130825161100000\nmodified: 20241006202631647\ntags: Definitions\ntitle: TiddlyFox\ntype: text/vnd.tiddlywiki\n\nTiddlyFox was an extension for older versions of Firefox that allowed standalone TiddlyWiki files to save their changes directly to the file system.\n\nTiddlyFox is now obsolete due to its incompatibility with the latest versions of Firefox - see [[TiddlyFox Apocalypse]]. There are many alternatives to TiddlyFox, but none that work in precisely the same way -- see GettingStarted for details.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/TiddlySpace.tid",
    "content": "created: 20130830084200000\nmodified: 20180421162644074\ntags: Definitions\ntitle: TiddlySpace\ntype: text/vnd.tiddlywiki\n\nTiddlySpace was a public TiddlyWiki hosting service that operated from 2010 until 2016.\n\nTiddlySpace, and the underlying TiddlyWeb, was originally sponsored by [[Osmosoft]] at [[BT]].\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/TiddlyWeb.tid",
    "content": "created: 201308300841\nmodified: 20170127221451610\ntags: Definitions\ntitle: TiddlyWeb\ntype: text/vnd.tiddlywiki\n\nTiddlyWeb is a reference implementation for an interface to put [[Tiddlers]] on the web using the [[Bags and Recipes]] model.\n\nIt was created by a team led by Chris Dent at [[Osmosoft]] under [[BT]] from 2008 to 2012. \n\nhttp://tiddlyweb.com/\n\nTiddlyWeb can be used to host TiddlyWiki and TiddlyWiki5 wikis, making the individual tiddlers available over a flexible HTTP API.\n\nOther implementations of the API include:\n\n* [[TiddlyWiki App Engine Server|https://github.com/rsc/tiddly]], a 300-line Go implementation from Russ Cox\n* [[TiddlyWiki 5 server module|https://github.com/TiddlyWiki/TiddlyWiki5/blob/master/core/modules/commands/server.js]], the bare-bones subset of the API implemented in TiddlyWiki version 5 for Node.js\n* [[tiddly-wiki-server|https://github.com/nathanielknight/tiddly-wiki-server]], an implementation based on Rust and SQLite\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/TiddlyWebAdaptor.tid",
    "content": "created: 20240309100338678\nmodified: 20240309135821423\ntags: Definitions\ntitle: TiddlyWebAdaptor\ntype: text/vnd.tiddlywiki\n\nTiddlyWebAdaptor is a component of [[TiddlyWiki on Node.js]]. It provides the means to synchronise changes to tiddlers from the browser to a server, and from the server to the browser. It can be found in the plugin [[$:/plugins/tiddlywiki/tiddlyweb]].\n\nTiddlyWebAdaptor was designed to be compatible both with TiddlyWeb and with TiddlyWiki's own built-in server mechanism. The [[Bags and Recipes]] model is fully supported by [[TiddlyWeb]], but TiddlyWiki's built-in server only supports a simplified model with a single bag and a single recipe.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/TiddlyWikiClassic.tid",
    "content": "created: 20131222152210279\nmodified: 20140105163248574\ntags: Definitions\ntitle: TiddlyWikiClassic\ntype: text/vnd.tiddlywiki\n\n[img[TiddlyWiki Classic.png]]\n\n\"~TiddlyWiki Classic\" refers to versions prior to 5.0, before TiddlyWiki was completely rewritten. TiddlyWiki Classic is still actively maintained at:\n\nhttps://classic.tiddlywiki.com/\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/Tiddlyhost.tid",
    "content": "created: 20230410105035569\nmodified: 20230410105035569\ntags: Definitions\ntitle: Tiddlyhost\ntype: text/vnd.tiddlywiki\n\n<span style=\"float:right;\">[img width=140 [Tiddlyhost Logo]]</span>\n\n[[Tiddlyhost.com|https://tiddlyhost.com/]] is a hosting service for TiddlyWiki created by Simon Baird. Once you sign up and confirm your email you can create \"sites\", (i.e. ~TiddlyWikis), with support for online saving. Sites can be private or public, and you can optionally list them on the taggable and searchable [[Tiddlyhost Hub|https://tiddlyhost.com/hub]] where they'll be discoverable by others.\n\nUnlike [[TiddlySpot|Saving on TiddlySpot]], [[Tiddlyhost|https://tiddlyhost.com]] is secure, open source, and has proper support for TiddlyWiki5. It also allows uploading existing ~TiddlyWiki files, supports TiddlyWikiClassic, and lets you claim ownership of your ~TiddlySpot sites. For more information see the [[FAQ|https://github.com/simonbaird/tiddlyhost/wiki/FAQ]] and the [[About|https://tiddlyhost.com/about]] page.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/URI.tid",
    "content": "created: 20150228113450000\nmodified: 20150228113654000\ntags: Definitions\ntitle: URI\ntype: text/vnd.tiddlywiki\n\nA <<.dlink-ex \"URI\" \"https://en.wikipedia.org/wiki/Uniform_resource_identifier\">> (also often known as a <<.def URL>>) is a string of characters used to specify the location of a resource such as a web page.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/UnaMesa.tid",
    "content": "created: 20230803213647552\nmodified: 20230803214110365\ntags: Definitions\ntitle: UnaMesa\n\n<<<\nThe UnaMesa Association, a 501(c)(3) non-profit, helps entrepreneurs strengthen communities, improve health, and increase well-being. Located in Palo Alto, CA, we incubate projects such as the Magical Bridge Foundation and ~InPlay that translate technology into better social services and new ways of connecting within and across communities. Our overarching goal is to work with networks of social enterprises to develop shared technologies and frameworks for appropriately valuing interactions and relationships in healthcare, education, social services and related domains that recieve short shrift in today's transaction based marketplace. In our view, the purpose of \"impact accounting\" should be to drive innovations in health, education, social services by making visible which opportunities and experiences are most meaningful in the lives of individuals and families.\n<<<\n\n[[UnaMesa|https://unamesa.org/]] holds the intellectual property rights in TiddlyWiki for the benefit of the community, ensuring that it always remains available under the present permissive license. It has supported the TiddlyWiki open source project since 2006."
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/Web Developer Tools.tid",
    "content": "created: 20201120153119665\nmodified: 20201120154646100\ntags: Definitions\ntitle: Web Developer Tools\ntype: text/vnd.tiddlywiki\n\nMost browsers provide ''Web Developer Tools'' that include a JavaScript console. In Chrome and Firefox it can be opened via the ''Tools'' menu, or by pressing <kbd>Ctrl + Shift + J</kbd> (<kbd>Cmd + Shift + J</kbd> on a Mac)."
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/WordJoiner.tid",
    "content": "created: 20240726074915230\nmodified: 20240726075106830\ntags: Definitions\ntitle: WordJoiner\ntype: text/vnd.tiddlywiki\n\n>The word joiner (WJ) is a Unicode format character which is used to indicate that line breaking should not occur at its position. It does not affect the formation of ligatures or cursive joining and is ignored for the purpose of text segmentation. It is encoded since Unicode version 3.2 (released in 2002) as U+2060 WORD JOINER (`&NoBreak;`). \n>\n>https://en.wikipedia.org/wiki/Word_joiner"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/Xememex.tid",
    "content": "created: 20230410105035569\nmodified: 20230410105035569\ntags: Definitions\ntitle: Xememex\ntype: text/vnd.tiddlywiki\n\n<span style=\"float:right;\">[img width=340 [Xememex Logo]]</span>\n\nXememex is a multiuser TiddlyWiki from [[Intertwingled Innovations]]. It allows large groups of people to work together on intertwingled wikis that can share content. It is implemented as a serverless application on Amazon Web Services.\n\nThe largest customer implementation has hundreds of online wikis with thousands of users. See https://manuals.annafreud.org/\n\nXememex is currently only available under commercial terms from Intertwingled Innovations. Contact [[Jeremy Ruston at Intertwingled Innovations|mailto:jeremy@intertwingledinnovations.com]] for more details.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/definitions/node-webkit.tid",
    "content": "created: 20140101164042231\nmodified: 20211120221754270\ntags: Definitions\ntitle: node-webkit\ntype: text/vnd.tiddlywiki\n\n\"node-webkit\" was the original name for the project now known as [[NW.js]].\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/Alice in Wonderland.tid",
    "content": "title: Alice in Wonderland\ntags: external-text Demonstrations\n\n//Included here as a demonstration of ExternalText text support. See the bottom for the license from Project Gutenberg//\n\n---\n\n# ALICE'S ADVENTURES IN WONDERLAND\n\n## Lewis Carroll\n\nTHE MILLENNIUM FULCRUM EDITION 3.0\n\n!!! CHAPTER I. Down the Rabbit-Hole\n\nAlice was beginning to get very tired of sitting by her sister on the\nbank, and of having nothing to do: once or twice she had peeped into the\nbook her sister was reading, but it had no pictures or conversations in\nit, 'and what is the use of a book,' thought Alice 'without pictures or\nconversations?'\n\nSo she was considering in her own mind (as well as she could, for the\nhot day made her feel very sleepy and stupid), whether the pleasure\nof making a daisy-chain would be worth the trouble of getting up and\npicking the daisies, when suddenly a White Rabbit with pink eyes ran\nclose by her.\n\nThere was nothing so VERY remarkable in that; nor did Alice think it so\nVERY much out of the way to hear the Rabbit say to itself, 'Oh dear!\nOh dear! I shall be late!' (when she thought it over afterwards, it\noccurred to her that she ought to have wondered at this, but at the time\nit all seemed quite natural); but when the Rabbit actually TOOK A WATCH\nOUT OF ITS WAISTCOAT-POCKET, and looked at it, and then hurried on,\nAlice started to her feet, for it flashed across her mind that she had\nnever before seen a rabbit with either a waistcoat-pocket, or a watch\nto take out of it, and burning with curiosity, she ran across the field\nafter it, and fortunately was just in time to see it pop down a large\nrabbit-hole under the hedge.\n\nIn another moment down went Alice after it, never once considering how\nin the world she was to get out again.\n\nThe rabbit-hole went straight on like a tunnel for some way, and then\ndipped suddenly down, so suddenly that Alice had not a moment to think\nabout stopping herself before she found herself falling down a very deep\nwell.\n\nEither the well was very deep, or she fell very slowly, for she had\nplenty of time as she went down to look about her and to wonder what was\ngoing to happen next. First, she tried to look down and make out what\nshe was coming to, but it was too dark to see anything; then she\nlooked at the sides of the well, and noticed that they were filled with\ncupboards and book-shelves; here and there she saw maps and pictures\nhung upon pegs. She took down a jar from one of the shelves as\nshe passed; it was labelled 'ORANGE MARMALADE', but to her great\ndisappointment it was empty: she did not like to drop the jar for fear\nof killing somebody, so managed to put it into one of the cupboards as\nshe fell past it.\n\n'Well!' thought Alice to herself, 'after such a fall as this, I shall\nthink nothing of tumbling down stairs! How brave they'll all think me at\nhome! Why, I wouldn't say anything about it, even if I fell off the top\nof the house!' (Which was very likely true.)\n\nDown, down, down. Would the fall NEVER come to an end! 'I wonder how\nmany miles I've fallen by this time?' she said aloud. 'I must be getting\nsomewhere near the centre of the earth. Let me see: that would be four\nthousand miles down, I think--' (for, you see, Alice had learnt several\nthings of this sort in her lessons in the schoolroom, and though this\nwas not a VERY good opportunity for showing off her knowledge, as there\nwas no one to listen to her, still it was good practice to say it over)\n'--yes, that's about the right distance--but then I wonder what Latitude\nor Longitude I've got to?' (Alice had no idea what Latitude was, or\nLongitude either, but thought they were nice grand words to say.)\n\nPresently she began again. 'I wonder if I shall fall right THROUGH the\nearth! How funny it'll seem to come out among the people that walk with\ntheir heads downward! The Antipathies, I think--' (she was rather glad\nthere WAS no one listening, this time, as it didn't sound at all the\nright word) '--but I shall have to ask them what the name of the country\nis, you know. Please, Ma'am, is this New Zealand or Australia?' (and\nshe tried to curtsey as she spoke--fancy CURTSEYING as you're falling\nthrough the air! Do you think you could manage it?) 'And what an\nignorant little girl she'll think me for asking! No, it'll never do to\nask: perhaps I shall see it written up somewhere.'\n\nDown, down, down. There was nothing else to do, so Alice soon began\ntalking again. 'Dinah'll miss me very much to-night, I should think!'\n(Dinah was the cat.) 'I hope they'll remember her saucer of milk at\ntea-time. Dinah my dear! I wish you were down here with me! There are no\nmice in the air, I'm afraid, but you might catch a bat, and that's very\nlike a mouse, you know. But do cats eat bats, I wonder?' And here Alice\nbegan to get rather sleepy, and went on saying to herself, in a dreamy\nsort of way, 'Do cats eat bats? Do cats eat bats?' and sometimes, 'Do\nbats eat cats?' for, you see, as she couldn't answer either question,\nit didn't much matter which way she put it. She felt that she was dozing\noff, and had just begun to dream that she was walking hand in hand with\nDinah, and saying to her very earnestly, 'Now, Dinah, tell me the truth:\ndid you ever eat a bat?' when suddenly, thump! thump! down she came upon\na heap of sticks and dry leaves, and the fall was over.\n\nAlice was not a bit hurt, and she jumped up on to her feet in a moment:\nshe looked up, but it was all dark overhead; before her was another\nlong passage, and the White Rabbit was still in sight, hurrying down it.\nThere was not a moment to be lost: away went Alice like the wind, and\nwas just in time to hear it say, as it turned a corner, 'Oh my ears\nand whiskers, how late it's getting!' She was close behind it when she\nturned the corner, but the Rabbit was no longer to be seen: she found\nherself in a long, low hall, which was lit up by a row of lamps hanging\nfrom the roof.\n\nThere were doors all round the hall, but they were all locked; and when\nAlice had been all the way down one side and up the other, trying every\ndoor, she walked sadly down the middle, wondering how she was ever to\nget out again.\n\nSuddenly she came upon a little three-legged table, all made of solid\nglass; there was nothing on it except a tiny golden key, and Alice's\nfirst thought was that it might belong to one of the doors of the hall;\nbut, alas! either the locks were too large, or the key was too small,\nbut at any rate it would not open any of them. However, on the second\ntime round, she came upon a low curtain she had not noticed before, and\nbehind it was a little door about fifteen inches high: she tried the\nlittle golden key in the lock, and to her great delight it fitted!\n\nAlice opened the door and found that it led into a small passage, not\nmuch larger than a rat-hole: she knelt down and looked along the passage\ninto the loveliest garden you ever saw. How she longed to get out of\nthat dark hall, and wander about among those beds of bright flowers and\nthose cool fountains, but she could not even get her head through the\ndoorway; 'and even if my head would go through,' thought poor Alice, 'it\nwould be of very little use without my shoulders. Oh, how I wish I could\nshut up like a telescope! I think I could, if I only knew how to begin.'\nFor, you see, so many out-of-the-way things had happened lately,\nthat Alice had begun to think that very few things indeed were really\nimpossible.\n\nThere seemed to be no use in waiting by the little door, so she went\nback to the table, half hoping she might find another key on it, or at\nany rate a book of rules for shutting people up like telescopes: this\ntime she found a little bottle on it, ('which certainly was not here\nbefore,' said Alice,) and round the neck of the bottle was a paper\nlabel, with the words 'DRINK ME' beautifully printed on it in large\nletters.\n\nIt was all very well to say 'Drink me,' but the wise little Alice was\nnot going to do THAT in a hurry. 'No, I'll look first,' she said, 'and\nsee whether it's marked \"poison\" or not'; for she had read several nice\nlittle histories about children who had got burnt, and eaten up by wild\nbeasts and other unpleasant things, all because they WOULD not remember\nthe simple rules their friends had taught them: such as, that a red-hot\npoker will burn you if you hold it too long; and that if you cut your\nfinger VERY deeply with a knife, it usually bleeds; and she had never\nforgotten that, if you drink much from a bottle marked 'poison,' it is\nalmost certain to disagree with you, sooner or later.\n\nHowever, this bottle was NOT marked 'poison,' so Alice ventured to taste\nit, and finding it very nice, (it had, in fact, a sort of mixed flavour\nof cherry-tart, custard, pine-apple, roast turkey, toffee, and hot\nbuttered toast,) she very soon finished it off.\n\n  *    *    *    *    *    *    *\n\n    *    *    *    *    *    *\n\n  *    *    *    *    *    *    *\n\n'What a curious feeling!' said Alice; 'I must be shutting up like a\ntelescope.'\n\nAnd so it was indeed: she was now only ten inches high, and her face\nbrightened up at the thought that she was now the right size for going\nthrough the little door into that lovely garden. First, however, she\nwaited for a few minutes to see if she was going to shrink any further:\nshe felt a little nervous about this; 'for it might end, you know,' said\nAlice to herself, 'in my going out altogether, like a candle. I wonder\nwhat I should be like then?' And she tried to fancy what the flame of a\ncandle is like after the candle is blown out, for she could not remember\never having seen such a thing.\n\nAfter a while, finding that nothing more happened, she decided on going\ninto the garden at once; but, alas for poor Alice! when she got to the\ndoor, she found she had forgotten the little golden key, and when she\nwent back to the table for it, she found she could not possibly reach\nit: she could see it quite plainly through the glass, and she tried her\nbest to climb up one of the legs of the table, but it was too slippery;\nand when she had tired herself out with trying, the poor little thing\nsat down and cried.\n\n'Come, there's no use in crying like that!' said Alice to herself,\nrather sharply; 'I advise you to leave off this minute!' She generally\ngave herself very good advice, (though she very seldom followed it),\nand sometimes she scolded herself so severely as to bring tears into\nher eyes; and once she remembered trying to box her own ears for having\ncheated herself in a game of croquet she was playing against herself,\nfor this curious child was very fond of pretending to be two people.\n'But it's no use now,' thought poor Alice, 'to pretend to be two people!\nWhy, there's hardly enough of me left to make ONE respectable person!'\n\nSoon her eye fell on a little glass box that was lying under the table:\nshe opened it, and found in it a very small cake, on which the words\n'EAT ME' were beautifully marked in currants. 'Well, I'll eat it,' said\nAlice, 'and if it makes me grow larger, I can reach the key; and if it\nmakes me grow smaller, I can creep under the door; so either way I'll\nget into the garden, and I don't care which happens!'\n\nShe ate a little bit, and said anxiously to herself, 'Which way? Which\nway?', holding her hand on the top of her head to feel which way it was\ngrowing, and she was quite surprised to find that she remained the same\nsize: to be sure, this generally happens when one eats cake, but Alice\nhad got so much into the way of expecting nothing but out-of-the-way\nthings to happen, that it seemed quite dull and stupid for life to go on\nin the common way.\n\nSo she set to work, and very soon finished off the cake.\n\n  *    *    *    *    *    *    *\n\n    *    *    *    *    *    *\n\n  *    *    *    *    *    *    *\n\n\n\n\n!!! CHAPTER II. The Pool of Tears\n\n'Curiouser and curiouser!' cried Alice (she was so much surprised, that\nfor the moment she quite forgot how to speak good English); 'now I'm\nopening out like the largest telescope that ever was! Good-bye, feet!'\n(for when she looked down at her feet, they seemed to be almost out of\nsight, they were getting so far off). 'Oh, my poor little feet, I wonder\nwho will put on your shoes and stockings for you now, dears? I'm sure\n_I_ shan't be able! I shall be a great deal too far off to trouble\nmyself about you: you must manage the best way you can;--but I must be\nkind to them,' thought Alice, 'or perhaps they won't walk the way I want\nto go! Let me see: I'll give them a new pair of boots every Christmas.'\n\nAnd she went on planning to herself how she would manage it. 'They must\ngo by the carrier,' she thought; 'and how funny it'll seem, sending\npresents to one's own feet! And how odd the directions will look!\n\n     ALICE'S RIGHT FOOT, ESQ.\n       HEARTHRUG,\n         NEAR THE FENDER,\n           (WITH ALICE'S LOVE).\n\nOh dear, what nonsense I'm talking!'\n\nJust then her head struck against the roof of the hall: in fact she was\nnow more than nine feet high, and she at once took up the little golden\nkey and hurried off to the garden door.\n\nPoor Alice! It was as much as she could do, lying down on one side, to\nlook through into the garden with one eye; but to get through was more\nhopeless than ever: she sat down and began to cry again.\n\n'You ought to be ashamed of yourself,' said Alice, 'a great girl like\nyou,' (she might well say this), 'to go on crying in this way! Stop this\nmoment, I tell you!' But she went on all the same, shedding gallons of\ntears, until there was a large pool all round her, about four inches\ndeep and reaching half down the hall.\n\nAfter a time she heard a little pattering of feet in the distance, and\nshe hastily dried her eyes to see what was coming. It was the White\nRabbit returning, splendidly dressed, with a pair of white kid gloves in\none hand and a large fan in the other: he came trotting along in a great\nhurry, muttering to himself as he came, 'Oh! the Duchess, the Duchess!\nOh! won't she be savage if I've kept her waiting!' Alice felt so\ndesperate that she was ready to ask help of any one; so, when the Rabbit\ncame near her, she began, in a low, timid voice, 'If you please, sir--'\nThe Rabbit started violently, dropped the white kid gloves and the fan,\nand skurried away into the darkness as hard as he could go.\n\nAlice took up the fan and gloves, and, as the hall was very hot, she\nkept fanning herself all the time she went on talking: 'Dear, dear! How\nqueer everything is to-day! And yesterday things went on just as usual.\nI wonder if I've been changed in the night? Let me think: was I the\nsame when I got up this morning? I almost think I can remember feeling a\nlittle different. But if I'm not the same, the next question is, Who\nin the world am I? Ah, THAT'S the great puzzle!' And she began thinking\nover all the children she knew that were of the same age as herself, to\nsee if she could have been changed for any of them.\n\n'I'm sure I'm not Ada,' she said, 'for her hair goes in such long\nringlets, and mine doesn't go in ringlets at all; and I'm sure I can't\nbe Mabel, for I know all sorts of things, and she, oh! she knows such a\nvery little! Besides, SHE'S she, and I'm I, and--oh dear, how puzzling\nit all is! I'll try if I know all the things I used to know. Let me\nsee: four times five is twelve, and four times six is thirteen, and\nfour times seven is--oh dear! I shall never get to twenty at that rate!\nHowever, the Multiplication Table doesn't signify: let's try Geography.\nLondon is the capital of Paris, and Paris is the capital of Rome, and\nRome--no, THAT'S all wrong, I'm certain! I must have been changed for\nMabel! I'll try and say \"How doth the little--\"' and she crossed her\nhands on her lap as if she were saying lessons, and began to repeat it,\nbut her voice sounded hoarse and strange, and the words did not come the\nsame as they used to do:--\n\n     'How doth the little crocodile\n      Improve his shining tail,\n     And pour the waters of the Nile\n      On every golden scale!\n\n     'How cheerfully he seems to grin,\n      How neatly spread his claws,\n     And welcome little fishes in\n      With gently smiling jaws!'\n\n'I'm sure those are not the right words,' said poor Alice, and her eyes\nfilled with tears again as she went on, 'I must be Mabel after all, and\nI shall have to go and live in that poky little house, and have next to\nno toys to play with, and oh! ever so many lessons to learn! No, I've\nmade up my mind about it; if I'm Mabel, I'll stay down here! It'll be no\nuse their putting their heads down and saying \"Come up again, dear!\" I\nshall only look up and say \"Who am I then? Tell me that first, and then,\nif I like being that person, I'll come up: if not, I'll stay down here\ntill I'm somebody else\"--but, oh dear!' cried Alice, with a sudden burst\nof tears, 'I do wish they WOULD put their heads down! I am so VERY tired\nof being all alone here!'\n\nAs she said this she looked down at her hands, and was surprised to see\nthat she had put on one of the Rabbit's little white kid gloves while\nshe was talking. 'How CAN I have done that?' she thought. 'I must\nbe growing small again.' She got up and went to the table to measure\nherself by it, and found that, as nearly as she could guess, she was now\nabout two feet high, and was going on shrinking rapidly: she soon found\nout that the cause of this was the fan she was holding, and she dropped\nit hastily, just in time to avoid shrinking away altogether.\n\n'That WAS a narrow escape!' said Alice, a good deal frightened at the\nsudden change, but very glad to find herself still in existence; 'and\nnow for the garden!' and she ran with all speed back to the little door:\nbut, alas! the little door was shut again, and the little golden key was\nlying on the glass table as before, 'and things are worse than ever,'\nthought the poor child, 'for I never was so small as this before, never!\nAnd I declare it's too bad, that it is!'\n\nAs she said these words her foot slipped, and in another moment, splash!\nshe was up to her chin in salt water. Her first idea was that she\nhad somehow fallen into the sea, 'and in that case I can go back by\nrailway,' she said to herself. (Alice had been to the seaside once in\nher life, and had come to the general conclusion, that wherever you go\nto on the English coast you find a number of bathing machines in the\nsea, some children digging in the sand with wooden spades, then a row\nof lodging houses, and behind them a railway station.) However, she soon\nmade out that she was in the pool of tears which she had wept when she\nwas nine feet high.\n\n'I wish I hadn't cried so much!' said Alice, as she swam about, trying\nto find her way out. 'I shall be punished for it now, I suppose, by\nbeing drowned in my own tears! That WILL be a queer thing, to be sure!\nHowever, everything is queer to-day.'\n\nJust then she heard something splashing about in the pool a little way\noff, and she swam nearer to make out what it was: at first she thought\nit must be a walrus or hippopotamus, but then she remembered how small\nshe was now, and she soon made out that it was only a mouse that had\nslipped in like herself.\n\n'Would it be of any use, now,' thought Alice, 'to speak to this mouse?\nEverything is so out-of-the-way down here, that I should think very\nlikely it can talk: at any rate, there's no harm in trying.' So she\nbegan: 'O Mouse, do you know the way out of this pool? I am very tired\nof swimming about here, O Mouse!' (Alice thought this must be the right\nway of speaking to a mouse: she had never done such a thing before, but\nshe remembered having seen in her brother's Latin Grammar, 'A mouse--of\na mouse--to a mouse--a mouse--O mouse!') The Mouse looked at her rather\ninquisitively, and seemed to her to wink with one of its little eyes,\nbut it said nothing.\n\n'Perhaps it doesn't understand English,' thought Alice; 'I daresay it's\na French mouse, come over with William the Conqueror.' (For, with all\nher knowledge of history, Alice had no very clear notion how long ago\nanything had happened.) So she began again: 'Ou est ma chatte?' which\nwas the first sentence in her French lesson-book. The Mouse gave a\nsudden leap out of the water, and seemed to quiver all over with fright.\n'Oh, I beg your pardon!' cried Alice hastily, afraid that she had hurt\nthe poor animal's feelings. 'I quite forgot you didn't like cats.'\n\n'Not like cats!' cried the Mouse, in a shrill, passionate voice. 'Would\nYOU like cats if you were me?'\n\n'Well, perhaps not,' said Alice in a soothing tone: 'don't be angry\nabout it. And yet I wish I could show you our cat Dinah: I think you'd\ntake a fancy to cats if you could only see her. She is such a dear quiet\nthing,' Alice went on, half to herself, as she swam lazily about in the\npool, 'and she sits purring so nicely by the fire, licking her paws and\nwashing her face--and she is such a nice soft thing to nurse--and she's\nsuch a capital one for catching mice--oh, I beg your pardon!' cried\nAlice again, for this time the Mouse was bristling all over, and she\nfelt certain it must be really offended. 'We won't talk about her any\nmore if you'd rather not.'\n\n'We indeed!' cried the Mouse, who was trembling down to the end of his\ntail. 'As if I would talk on such a subject! Our family always HATED\ncats: nasty, low, vulgar things! Don't let me hear the name again!'\n\n'I won't indeed!' said Alice, in a great hurry to change the subject of\nconversation. 'Are you--are you fond--of--of dogs?' The Mouse did not\nanswer, so Alice went on eagerly: 'There is such a nice little dog near\nour house I should like to show you! A little bright-eyed terrier, you\nknow, with oh, such long curly brown hair! And it'll fetch things when\nyou throw them, and it'll sit up and beg for its dinner, and all sorts\nof things--I can't remember half of them--and it belongs to a farmer,\nyou know, and he says it's so useful, it's worth a hundred pounds! He\nsays it kills all the rats and--oh dear!' cried Alice in a sorrowful\ntone, 'I'm afraid I've offended it again!' For the Mouse was swimming\naway from her as hard as it could go, and making quite a commotion in\nthe pool as it went.\n\nSo she called softly after it, 'Mouse dear! Do come back again, and we\nwon't talk about cats or dogs either, if you don't like them!' When the\nMouse heard this, it turned round and swam slowly back to her: its\nface was quite pale (with passion, Alice thought), and it said in a low\ntrembling voice, 'Let us get to the shore, and then I'll tell you my\nhistory, and you'll understand why it is I hate cats and dogs.'\n\nIt was high time to go, for the pool was getting quite crowded with the\nbirds and animals that had fallen into it: there were a Duck and a Dodo,\na Lory and an Eaglet, and several other curious creatures. Alice led the\nway, and the whole party swam to the shore.\n\n\n\n\n!!! CHAPTER III. A Caucus-Race and a Long Tale\n\nThey were indeed a queer-looking party that assembled on the bank--the\nbirds with draggled feathers, the animals with their fur clinging close\nto them, and all dripping wet, cross, and uncomfortable.\n\nThe first question of course was, how to get dry again: they had a\nconsultation about this, and after a few minutes it seemed quite natural\nto Alice to find herself talking familiarly with them, as if she had\nknown them all her life. Indeed, she had quite a long argument with the\nLory, who at last turned sulky, and would only say, 'I am older than\nyou, and must know better'; and this Alice would not allow without\nknowing how old it was, and, as the Lory positively refused to tell its\nage, there was no more to be said.\n\nAt last the Mouse, who seemed to be a person of authority among them,\ncalled out, 'Sit down, all of you, and listen to me! I'LL soon make you\ndry enough!' They all sat down at once, in a large ring, with the Mouse\nin the middle. Alice kept her eyes anxiously fixed on it, for she felt\nsure she would catch a bad cold if she did not get dry very soon.\n\n'Ahem!' said the Mouse with an important air, 'are you all ready? This\nis the driest thing I know. Silence all round, if you please! \"William\nthe Conqueror, whose cause was favoured by the pope, was soon submitted\nto by the English, who wanted leaders, and had been of late much\naccustomed to usurpation and conquest. Edwin and Morcar, the earls of\nMercia and Northumbria--\"'\n\n'Ugh!' said the Lory, with a shiver.\n\n'I beg your pardon!' said the Mouse, frowning, but very politely: 'Did\nyou speak?'\n\n'Not I!' said the Lory hastily.\n\n'I thought you did,' said the Mouse. '--I proceed. \"Edwin and Morcar,\nthe earls of Mercia and Northumbria, declared for him: and even Stigand,\nthe patriotic archbishop of Canterbury, found it advisable--\"'\n\n'Found WHAT?' said the Duck.\n\n'Found IT,' the Mouse replied rather crossly: 'of course you know what\n\"it\" means.'\n\n'I know what \"it\" means well enough, when I find a thing,' said the\nDuck: 'it's generally a frog or a worm. The question is, what did the\narchbishop find?'\n\nThe Mouse did not notice this question, but hurriedly went on, '\"--found\nit advisable to go with Edgar Atheling to meet William and offer him the\ncrown. William's conduct at first was moderate. But the insolence of his\nNormans--\" How are you getting on now, my dear?' it continued, turning\nto Alice as it spoke.\n\n'As wet as ever,' said Alice in a melancholy tone: 'it doesn't seem to\ndry me at all.'\n\n'In that case,' said the Dodo solemnly, rising to its feet, 'I move\nthat the meeting adjourn, for the immediate adoption of more energetic\nremedies--'\n\n'Speak English!' said the Eaglet. 'I don't know the meaning of half\nthose long words, and, what's more, I don't believe you do either!' And\nthe Eaglet bent down its head to hide a smile: some of the other birds\ntittered audibly.\n\n'What I was going to say,' said the Dodo in an offended tone, 'was, that\nthe best thing to get us dry would be a Caucus-race.'\n\n'What IS a Caucus-race?' said Alice; not that she wanted much to know,\nbut the Dodo had paused as if it thought that SOMEBODY ought to speak,\nand no one else seemed inclined to say anything.\n\n'Why,' said the Dodo, 'the best way to explain it is to do it.' (And, as\nyou might like to try the thing yourself, some winter day, I will tell\nyou how the Dodo managed it.)\n\nFirst it marked out a race-course, in a sort of circle, ('the exact\nshape doesn't matter,' it said,) and then all the party were placed\nalong the course, here and there. There was no 'One, two, three, and\naway,' but they began running when they liked, and left off when they\nliked, so that it was not easy to know when the race was over. However,\nwhen they had been running half an hour or so, and were quite dry again,\nthe Dodo suddenly called out 'The race is over!' and they all crowded\nround it, panting, and asking, 'But who has won?'\n\nThis question the Dodo could not answer without a great deal of thought,\nand it sat for a long time with one finger pressed upon its forehead\n(the position in which you usually see Shakespeare, in the pictures\nof him), while the rest waited in silence. At last the Dodo said,\n'EVERYBODY has won, and all must have prizes.'\n\n'But who is to give the prizes?' quite a chorus of voices asked.\n\n'Why, SHE, of course,' said the Dodo, pointing to Alice with one finger;\nand the whole party at once crowded round her, calling out in a confused\nway, 'Prizes! Prizes!'\n\nAlice had no idea what to do, and in despair she put her hand in her\npocket, and pulled out a box of comfits, (luckily the salt water had\nnot got into it), and handed them round as prizes. There was exactly one\na-piece all round.\n\n'But she must have a prize herself, you know,' said the Mouse.\n\n'Of course,' the Dodo replied very gravely. 'What else have you got in\nyour pocket?' he went on, turning to Alice.\n\n'Only a thimble,' said Alice sadly.\n\n'Hand it over here,' said the Dodo.\n\nThen they all crowded round her once more, while the Dodo solemnly\npresented the thimble, saying 'We beg your acceptance of this elegant\nthimble'; and, when it had finished this short speech, they all cheered.\n\nAlice thought the whole thing very absurd, but they all looked so grave\nthat she did not dare to laugh; and, as she could not think of anything\nto say, she simply bowed, and took the thimble, looking as solemn as she\ncould.\n\nThe next thing was to eat the comfits: this caused some noise and\nconfusion, as the large birds complained that they could not taste\ntheirs, and the small ones choked and had to be patted on the back.\nHowever, it was over at last, and they sat down again in a ring, and\nbegged the Mouse to tell them something more.\n\n'You promised to tell me your history, you know,' said Alice, 'and why\nit is you hate--C and D,' she added in a whisper, half afraid that it\nwould be offended again.\n\n'Mine is a long and a sad tale!' said the Mouse, turning to Alice, and\nsighing.\n\n'It IS a long tail, certainly,' said Alice, looking down with wonder at\nthe Mouse's tail; 'but why do you call it sad?' And she kept on puzzling\nabout it while the Mouse was speaking, so that her idea of the tale was\nsomething like this:--\n\n         'Fury said to a\n         mouse, That he\n        met in the\n       house,\n     \"Let us\n      both go to\n       law: I will\n        prosecute\n         YOU.--Come,\n           I'll take no\n           denial; We\n          must have a\n        trial: For\n      really this\n     morning I've\n    nothing\n    to do.\"\n     Said the\n      mouse to the\n       cur, \"Such\n        a trial,\n         dear Sir,\n            With\n          no jury\n        or judge,\n       would be\n      wasting\n      our\n      breath.\"\n       \"I'll be\n        judge, I'll\n         be jury,\"\n            Said\n         cunning\n          old Fury:\n          \"I'll\n          try the\n            whole\n            cause,\n              and\n           condemn\n           you\n          to\n           death.\"'\n\n\n'You are not attending!' said the Mouse to Alice severely. 'What are you\nthinking of?'\n\n'I beg your pardon,' said Alice very humbly: 'you had got to the fifth\nbend, I think?'\n\n'I had NOT!' cried the Mouse, sharply and very angrily.\n\n'A knot!' said Alice, always ready to make herself useful, and looking\nanxiously about her. 'Oh, do let me help to undo it!'\n\n'I shall do nothing of the sort,' said the Mouse, getting up and walking\naway. 'You insult me by talking such nonsense!'\n\n'I didn't mean it!' pleaded poor Alice. 'But you're so easily offended,\nyou know!'\n\nThe Mouse only growled in reply.\n\n'Please come back and finish your story!' Alice called after it; and the\nothers all joined in chorus, 'Yes, please do!' but the Mouse only shook\nits head impatiently, and walked a little quicker.\n\n'What a pity it wouldn't stay!' sighed the Lory, as soon as it was quite\nout of sight; and an old Crab took the opportunity of saying to her\ndaughter 'Ah, my dear! Let this be a lesson to you never to lose\nYOUR temper!' 'Hold your tongue, Ma!' said the young Crab, a little\nsnappishly. 'You're enough to try the patience of an oyster!'\n\n'I wish I had our Dinah here, I know I do!' said Alice aloud, addressing\nnobody in particular. 'She'd soon fetch it back!'\n\n'And who is Dinah, if I might venture to ask the question?' said the\nLory.\n\nAlice replied eagerly, for she was always ready to talk about her pet:\n'Dinah's our cat. And she's such a capital one for catching mice you\ncan't think! And oh, I wish you could see her after the birds! Why,\nshe'll eat a little bird as soon as look at it!'\n\nThis speech caused a remarkable sensation among the party. Some of the\nbirds hurried off at once: one old Magpie began wrapping itself up very\ncarefully, remarking, 'I really must be getting home; the night-air\ndoesn't suit my throat!' and a Canary called out in a trembling voice to\nits children, 'Come away, my dears! It's high time you were all in bed!'\nOn various pretexts they all moved off, and Alice was soon left alone.\n\n'I wish I hadn't mentioned Dinah!' she said to herself in a melancholy\ntone. 'Nobody seems to like her, down here, and I'm sure she's the best\ncat in the world! Oh, my dear Dinah! I wonder if I shall ever see you\nany more!' And here poor Alice began to cry again, for she felt very\nlonely and low-spirited. In a little while, however, she again heard\na little pattering of footsteps in the distance, and she looked up\neagerly, half hoping that the Mouse had changed his mind, and was coming\nback to finish his story.\n\n\n\n\n!!! CHAPTER IV. The Rabbit Sends in a Little Bill\n\nIt was the White Rabbit, trotting slowly back again, and looking\nanxiously about as it went, as if it had lost something; and she heard\nit muttering to itself 'The Duchess! The Duchess! Oh my dear paws! Oh\nmy fur and whiskers! She'll get me executed, as sure as ferrets are\nferrets! Where CAN I have dropped them, I wonder?' Alice guessed in a\nmoment that it was looking for the fan and the pair of white kid gloves,\nand she very good-naturedly began hunting about for them, but they were\nnowhere to be seen--everything seemed to have changed since her swim in\nthe pool, and the great hall, with the glass table and the little door,\nhad vanished completely.\n\nVery soon the Rabbit noticed Alice, as she went hunting about, and\ncalled out to her in an angry tone, 'Why, Mary Ann, what ARE you doing\nout here? Run home this moment, and fetch me a pair of gloves and a fan!\nQuick, now!' And Alice was so much frightened that she ran off at once\nin the direction it pointed to, without trying to explain the mistake it\nhad made.\n\n'He took me for his housemaid,' she said to herself as she ran. 'How\nsurprised he'll be when he finds out who I am! But I'd better take him\nhis fan and gloves--that is, if I can find them.' As she said this, she\ncame upon a neat little house, on the door of which was a bright brass\nplate with the name 'W. RABBIT' engraved upon it. She went in without\nknocking, and hurried upstairs, in great fear lest she should meet the\nreal Mary Ann, and be turned out of the house before she had found the\nfan and gloves.\n\n'How queer it seems,' Alice said to herself, 'to be going messages for\na rabbit! I suppose Dinah'll be sending me on messages next!' And she\nbegan fancying the sort of thing that would happen: '\"Miss Alice! Come\nhere directly, and get ready for your walk!\" \"Coming in a minute,\nnurse! But I've got to see that the mouse doesn't get out.\" Only I don't\nthink,' Alice went on, 'that they'd let Dinah stop in the house if it\nbegan ordering people about like that!'\n\nBy this time she had found her way into a tidy little room with a table\nin the window, and on it (as she had hoped) a fan and two or three pairs\nof tiny white kid gloves: she took up the fan and a pair of the gloves,\nand was just going to leave the room, when her eye fell upon a little\nbottle that stood near the looking-glass. There was no label this time\nwith the words 'DRINK ME,' but nevertheless she uncorked it and put it\nto her lips. 'I know SOMETHING interesting is sure to happen,' she said\nto herself, 'whenever I eat or drink anything; so I'll just see what\nthis bottle does. I do hope it'll make me grow large again, for really\nI'm quite tired of being such a tiny little thing!'\n\nIt did so indeed, and much sooner than she had expected: before she had\ndrunk half the bottle, she found her head pressing against the ceiling,\nand had to stoop to save her neck from being broken. She hastily put\ndown the bottle, saying to herself 'That's quite enough--I hope I shan't\ngrow any more--As it is, I can't get out at the door--I do wish I hadn't\ndrunk quite so much!'\n\nAlas! it was too late to wish that! She went on growing, and growing,\nand very soon had to kneel down on the floor: in another minute there\nwas not even room for this, and she tried the effect of lying down with\none elbow against the door, and the other arm curled round her head.\nStill she went on growing, and, as a last resource, she put one arm out\nof the window, and one foot up the chimney, and said to herself 'Now I\ncan do no more, whatever happens. What WILL become of me?'\n\nLuckily for Alice, the little magic bottle had now had its full effect,\nand she grew no larger: still it was very uncomfortable, and, as there\nseemed to be no sort of chance of her ever getting out of the room\nagain, no wonder she felt unhappy.\n\n'It was much pleasanter at home,' thought poor Alice, 'when one wasn't\nalways growing larger and smaller, and being ordered about by mice and\nrabbits. I almost wish I hadn't gone down that rabbit-hole--and yet--and\nyet--it's rather curious, you know, this sort of life! I do wonder what\nCAN have happened to me! When I used to read fairy-tales, I fancied that\nkind of thing never happened, and now here I am in the middle of one!\nThere ought to be a book written about me, that there ought! And when I\ngrow up, I'll write one--but I'm grown up now,' she added in a sorrowful\ntone; 'at least there's no room to grow up any more HERE.'\n\n'But then,' thought Alice, 'shall I NEVER get any older than I am\nnow? That'll be a comfort, one way--never to be an old woman--but\nthen--always to have lessons to learn! Oh, I shouldn't like THAT!'\n\n'Oh, you foolish Alice!' she answered herself. 'How can you learn\nlessons in here? Why, there's hardly room for YOU, and no room at all\nfor any lesson-books!'\n\nAnd so she went on, taking first one side and then the other, and making\nquite a conversation of it altogether; but after a few minutes she heard\na voice outside, and stopped to listen.\n\n'Mary Ann! Mary Ann!' said the voice. 'Fetch me my gloves this moment!'\nThen came a little pattering of feet on the stairs. Alice knew it was\nthe Rabbit coming to look for her, and she trembled till she shook the\nhouse, quite forgetting that she was now about a thousand times as large\nas the Rabbit, and had no reason to be afraid of it.\n\nPresently the Rabbit came up to the door, and tried to open it; but, as\nthe door opened inwards, and Alice's elbow was pressed hard against it,\nthat attempt proved a failure. Alice heard it say to itself 'Then I'll\ngo round and get in at the window.'\n\n'THAT you won't' thought Alice, and, after waiting till she fancied\nshe heard the Rabbit just under the window, she suddenly spread out her\nhand, and made a snatch in the air. She did not get hold of anything,\nbut she heard a little shriek and a fall, and a crash of broken glass,\nfrom which she concluded that it was just possible it had fallen into a\ncucumber-frame, or something of the sort.\n\nNext came an angry voice--the Rabbit's--'Pat! Pat! Where are you?' And\nthen a voice she had never heard before, 'Sure then I'm here! Digging\nfor apples, yer honour!'\n\n'Digging for apples, indeed!' said the Rabbit angrily. 'Here! Come and\nhelp me out of THIS!' (Sounds of more broken glass.)\n\n'Now tell me, Pat, what's that in the window?'\n\n'Sure, it's an arm, yer honour!' (He pronounced it 'arrum.')\n\n'An arm, you goose! Who ever saw one that size? Why, it fills the whole\nwindow!'\n\n'Sure, it does, yer honour: but it's an arm for all that.'\n\n'Well, it's got no business there, at any rate: go and take it away!'\n\nThere was a long silence after this, and Alice could only hear whispers\nnow and then; such as, 'Sure, I don't like it, yer honour, at all, at\nall!' 'Do as I tell you, you coward!' and at last she spread out her\nhand again, and made another snatch in the air. This time there were\nTWO little shrieks, and more sounds of broken glass. 'What a number of\ncucumber-frames there must be!' thought Alice. 'I wonder what they'll do\nnext! As for pulling me out of the window, I only wish they COULD! I'm\nsure I don't want to stay in here any longer!'\n\nShe waited for some time without hearing anything more: at last came a\nrumbling of little cartwheels, and the sound of a good many voices\nall talking together: she made out the words: 'Where's the other\nladder?--Why, I hadn't to bring but one; Bill's got the other--Bill!\nfetch it here, lad!--Here, put 'em up at this corner--No, tie 'em\ntogether first--they don't reach half high enough yet--Oh! they'll\ndo well enough; don't be particular--Here, Bill! catch hold of this\nrope--Will the roof bear?--Mind that loose slate--Oh, it's coming\ndown! Heads below!' (a loud crash)--'Now, who did that?--It was Bill, I\nfancy--Who's to go down the chimney?--Nay, I shan't! YOU do it!--That I\nwon't, then!--Bill's to go down--Here, Bill! the master says you're to\ngo down the chimney!'\n\n'Oh! So Bill's got to come down the chimney, has he?' said Alice to\nherself. 'Shy, they seem to put everything upon Bill! I wouldn't be in\nBill's place for a good deal: this fireplace is narrow, to be sure; but\nI THINK I can kick a little!'\n\nShe drew her foot as far down the chimney as she could, and waited\ntill she heard a little animal (she couldn't guess of what sort it was)\nscratching and scrambling about in the chimney close above her: then,\nsaying to herself 'This is Bill,' she gave one sharp kick, and waited to\nsee what would happen next.\n\nThe first thing she heard was a general chorus of 'There goes Bill!'\nthen the Rabbit's voice along--'Catch him, you by the hedge!' then\nsilence, and then another confusion of voices--'Hold up his head--Brandy\nnow--Don't choke him--How was it, old fellow? What happened to you? Tell\nus all about it!'\n\nLast came a little feeble, squeaking voice, ('That's Bill,' thought\nAlice,) 'Well, I hardly know--No more, thank ye; I'm better now--but I'm\na deal too flustered to tell you--all I know is, something comes at me\nlike a Jack-in-the-box, and up I goes like a sky-rocket!'\n\n'So you did, old fellow!' said the others.\n\n'We must burn the house down!' said the Rabbit's voice; and Alice called\nout as loud as she could, 'If you do. I'll set Dinah at you!'\n\nThere was a dead silence instantly, and Alice thought to herself, 'I\nwonder what they WILL do next! If they had any sense, they'd take the\nroof off.' After a minute or two, they began moving about again, and\nAlice heard the Rabbit say, 'A barrowful will do, to begin with.'\n\n'A barrowful of WHAT?' thought Alice; but she had not long to doubt,\nfor the next moment a shower of little pebbles came rattling in at the\nwindow, and some of them hit her in the face. 'I'll put a stop to this,'\nshe said to herself, and shouted out, 'You'd better not do that again!'\nwhich produced another dead silence.\n\nAlice noticed with some surprise that the pebbles were all turning into\nlittle cakes as they lay on the floor, and a bright idea came into her\nhead. 'If I eat one of these cakes,' she thought, 'it's sure to make\nSOME change in my size; and as it can't possibly make me larger, it must\nmake me smaller, I suppose.'\n\nSo she swallowed one of the cakes, and was delighted to find that she\nbegan shrinking directly. As soon as she was small enough to get through\nthe door, she ran out of the house, and found quite a crowd of little\nanimals and birds waiting outside. The poor little Lizard, Bill, was\nin the middle, being held up by two guinea-pigs, who were giving it\nsomething out of a bottle. They all made a rush at Alice the moment she\nappeared; but she ran off as hard as she could, and soon found herself\nsafe in a thick wood.\n\n'The first thing I've got to do,' said Alice to herself, as she wandered\nabout in the wood, 'is to grow to my right size again; and the second\nthing is to find my way into that lovely garden. I think that will be\nthe best plan.'\n\nIt sounded an excellent plan, no doubt, and very neatly and simply\narranged; the only difficulty was, that she had not the smallest idea\nhow to set about it; and while she was peering about anxiously among\nthe trees, a little sharp bark just over her head made her look up in a\ngreat hurry.\n\nAn enormous puppy was looking down at her with large round eyes, and\nfeebly stretching out one paw, trying to touch her. 'Poor little thing!'\nsaid Alice, in a coaxing tone, and she tried hard to whistle to it; but\nshe was terribly frightened all the time at the thought that it might be\nhungry, in which case it would be very likely to eat her up in spite of\nall her coaxing.\n\nHardly knowing what she did, she picked up a little bit of stick, and\nheld it out to the puppy; whereupon the puppy jumped into the air off\nall its feet at once, with a yelp of delight, and rushed at the stick,\nand made believe to worry it; then Alice dodged behind a great thistle,\nto keep herself from being run over; and the moment she appeared on the\nother side, the puppy made another rush at the stick, and tumbled head\nover heels in its hurry to get hold of it; then Alice, thinking it was\nvery like having a game of play with a cart-horse, and expecting every\nmoment to be trampled under its feet, ran round the thistle again; then\nthe puppy began a series of short charges at the stick, running a very\nlittle way forwards each time and a long way back, and barking hoarsely\nall the while, till at last it sat down a good way off, panting, with\nits tongue hanging out of its mouth, and its great eyes half shut.\n\nThis seemed to Alice a good opportunity for making her escape; so she\nset off at once, and ran till she was quite tired and out of breath, and\ntill the puppy's bark sounded quite faint in the distance.\n\n'And yet what a dear little puppy it was!' said Alice, as she leant\nagainst a buttercup to rest herself, and fanned herself with one of the\nleaves: 'I should have liked teaching it tricks very much, if--if I'd\nonly been the right size to do it! Oh dear! I'd nearly forgotten that\nI've got to grow up again! Let me see--how IS it to be managed? I\nsuppose I ought to eat or drink something or other; but the great\nquestion is, what?'\n\nThe great question certainly was, what? Alice looked all round her at\nthe flowers and the blades of grass, but she did not see anything that\nlooked like the right thing to eat or drink under the circumstances.\nThere was a large mushroom growing near her, about the same height as\nherself; and when she had looked under it, and on both sides of it, and\nbehind it, it occurred to her that she might as well look and see what\nwas on the top of it.\n\nShe stretched herself up on tiptoe, and peeped over the edge of the\nmushroom, and her eyes immediately met those of a large caterpillar,\nthat was sitting on the top with its arms folded, quietly smoking a long\nhookah, and taking not the smallest notice of her or of anything else.\n\n\n\n\n!!! CHAPTER V. Advice from a Caterpillar\n\nThe Caterpillar and Alice looked at each other for some time in silence:\nat last the Caterpillar took the hookah out of its mouth, and addressed\nher in a languid, sleepy voice.\n\n'Who are YOU?' said the Caterpillar.\n\nThis was not an encouraging opening for a conversation. Alice replied,\nrather shyly, 'I--I hardly know, sir, just at present--at least I know\nwho I WAS when I got up this morning, but I think I must have been\nchanged several times since then.'\n\n'What do you mean by that?' said the Caterpillar sternly. 'Explain\nyourself!'\n\n'I can't explain MYSELF, I'm afraid, sir' said Alice, 'because I'm not\nmyself, you see.'\n\n'I don't see,' said the Caterpillar.\n\n'I'm afraid I can't put it more clearly,' Alice replied very politely,\n'for I can't understand it myself to begin with; and being so many\ndifferent sizes in a day is very confusing.'\n\n'It isn't,' said the Caterpillar.\n\n'Well, perhaps you haven't found it so yet,' said Alice; 'but when you\nhave to turn into a chrysalis--you will some day, you know--and then\nafter that into a butterfly, I should think you'll feel it a little\nqueer, won't you?'\n\n'Not a bit,' said the Caterpillar.\n\n'Well, perhaps your feelings may be different,' said Alice; 'all I know\nis, it would feel very queer to ME.'\n\n'You!' said the Caterpillar contemptuously. 'Who are YOU?'\n\nWhich brought them back again to the beginning of the conversation.\nAlice felt a little irritated at the Caterpillar's making such VERY\nshort remarks, and she drew herself up and said, very gravely, 'I think,\nyou ought to tell me who YOU are, first.'\n\n'Why?' said the Caterpillar.\n\nHere was another puzzling question; and as Alice could not think of any\ngood reason, and as the Caterpillar seemed to be in a VERY unpleasant\nstate of mind, she turned away.\n\n'Come back!' the Caterpillar called after her. 'I've something important\nto say!'\n\nThis sounded promising, certainly: Alice turned and came back again.\n\n'Keep your temper,' said the Caterpillar.\n\n'Is that all?' said Alice, swallowing down her anger as well as she\ncould.\n\n'No,' said the Caterpillar.\n\nAlice thought she might as well wait, as she had nothing else to do, and\nperhaps after all it might tell her something worth hearing. For some\nminutes it puffed away without speaking, but at last it unfolded its\narms, took the hookah out of its mouth again, and said, 'So you think\nyou're changed, do you?'\n\n'I'm afraid I am, sir,' said Alice; 'I can't remember things as I\nused--and I don't keep the same size for ten minutes together!'\n\n'Can't remember WHAT things?' said the Caterpillar.\n\n'Well, I've tried to say \"HOW DOTH THE LITTLE BUSY BEE,\" but it all came\ndifferent!' Alice replied in a very melancholy voice.\n\n'Repeat, \"YOU ARE OLD, FATHER WILLIAM,\"' said the Caterpillar.\n\nAlice folded her hands, and began:--\n\n   'You are old, Father William,' the young man said,\n    'And your hair has become very white;\n   And yet you incessantly stand on your head--\n    Do you think, at your age, it is right?'\n\n   'In my youth,' Father William replied to his son,\n    'I feared it might injure the brain;\n   But, now that I'm perfectly sure I have none,\n    Why, I do it again and again.'\n\n   'You are old,' said the youth, 'as I mentioned before,\n    And have grown most uncommonly fat;\n   Yet you turned a back-somersault in at the door--\n    Pray, what is the reason of that?'\n\n   'In my youth,' said the sage, as he shook his grey locks,\n    'I kept all my limbs very supple\n   By the use of this ointment--one shilling the box--\n    Allow me to sell you a couple?'\n\n   'You are old,' said the youth, 'and your jaws are too weak\n    For anything tougher than suet;\n   Yet you finished the goose, with the bones and the beak--\n    Pray how did you manage to do it?'\n\n   'In my youth,' said his father, 'I took to the law,\n    And argued each case with my wife;\n   And the muscular strength, which it gave to my jaw,\n    Has lasted the rest of my life.'\n\n   'You are old,' said the youth, 'one would hardly suppose\n    That your eye was as steady as ever;\n   Yet you balanced an eel on the end of your nose--\n    What made you so awfully clever?'\n\n   'I have answered three questions, and that is enough,'\n    Said his father; 'don't give yourself airs!\n   Do you think I can listen all day to such stuff?\n    Be off, or I'll kick you down stairs!'\n\n\n'That is not said right,' said the Caterpillar.\n\n'Not QUITE right, I'm afraid,' said Alice, timidly; 'some of the words\nhave got altered.'\n\n'It is wrong from beginning to end,' said the Caterpillar decidedly, and\nthere was silence for some minutes.\n\nThe Caterpillar was the first to speak.\n\n'What size do you want to be?' it asked.\n\n'Oh, I'm not particular as to size,' Alice hastily replied; 'only one\ndoesn't like changing so often, you know.'\n\n'I DON'T know,' said the Caterpillar.\n\nAlice said nothing: she had never been so much contradicted in her life\nbefore, and she felt that she was losing her temper.\n\n'Are you content now?' said the Caterpillar.\n\n'Well, I should like to be a LITTLE larger, sir, if you wouldn't mind,'\nsaid Alice: 'three inches is such a wretched height to be.'\n\n'It is a very good height indeed!' said the Caterpillar angrily, rearing\nitself upright as it spoke (it was exactly three inches high).\n\n'But I'm not used to it!' pleaded poor Alice in a piteous tone. And\nshe thought of herself, 'I wish the creatures wouldn't be so easily\noffended!'\n\n'You'll get used to it in time,' said the Caterpillar; and it put the\nhookah into its mouth and began smoking again.\n\nThis time Alice waited patiently until it chose to speak again. In\na minute or two the Caterpillar took the hookah out of its mouth\nand yawned once or twice, and shook itself. Then it got down off the\nmushroom, and crawled away in the grass, merely remarking as it went,\n'One side will make you grow taller, and the other side will make you\ngrow shorter.'\n\n'One side of WHAT? The other side of WHAT?' thought Alice to herself.\n\n'Of the mushroom,' said the Caterpillar, just as if she had asked it\naloud; and in another moment it was out of sight.\n\nAlice remained looking thoughtfully at the mushroom for a minute, trying\nto make out which were the two sides of it; and as it was perfectly\nround, she found this a very difficult question. However, at last she\nstretched her arms round it as far as they would go, and broke off a bit\nof the edge with each hand.\n\n'And now which is which?' she said to herself, and nibbled a little of\nthe right-hand bit to try the effect: the next moment she felt a violent\nblow underneath her chin: it had struck her foot!\n\nShe was a good deal frightened by this very sudden change, but she felt\nthat there was no time to be lost, as she was shrinking rapidly; so she\nset to work at once to eat some of the other bit. Her chin was pressed\nso closely against her foot, that there was hardly room to open her\nmouth; but she did it at last, and managed to swallow a morsel of the\nlefthand bit.\n\n\n  *    *    *    *    *    *    *\n\n    *    *    *    *    *    *\n\n  *    *    *    *    *    *    *\n\n'Come, my head's free at last!' said Alice in a tone of delight, which\nchanged into alarm in another moment, when she found that her shoulders\nwere nowhere to be found: all she could see, when she looked down, was\nan immense length of neck, which seemed to rise like a stalk out of a\nsea of green leaves that lay far below her.\n\n'What CAN all that green stuff be?' said Alice. 'And where HAVE my\nshoulders got to? And oh, my poor hands, how is it I can't see you?'\nShe was moving them about as she spoke, but no result seemed to follow,\nexcept a little shaking among the distant green leaves.\n\nAs there seemed to be no chance of getting her hands up to her head, she\ntried to get her head down to them, and was delighted to find that her\nneck would bend about easily in any direction, like a serpent. She had\njust succeeded in curving it down into a graceful zigzag, and was going\nto dive in among the leaves, which she found to be nothing but the tops\nof the trees under which she had been wandering, when a sharp hiss made\nher draw back in a hurry: a large pigeon had flown into her face, and\nwas beating her violently with its wings.\n\n'Serpent!' screamed the Pigeon.\n\n'I'm NOT a serpent!' said Alice indignantly. 'Let me alone!'\n\n'Serpent, I say again!' repeated the Pigeon, but in a more subdued tone,\nand added with a kind of sob, 'I've tried every way, and nothing seems\nto suit them!'\n\n'I haven't the least idea what you're talking about,' said Alice.\n\n'I've tried the roots of trees, and I've tried banks, and I've tried\nhedges,' the Pigeon went on, without attending to her; 'but those\nserpents! There's no pleasing them!'\n\nAlice was more and more puzzled, but she thought there was no use in\nsaying anything more till the Pigeon had finished.\n\n'As if it wasn't trouble enough hatching the eggs,' said the Pigeon;\n'but I must be on the look-out for serpents night and day! Why, I\nhaven't had a wink of sleep these three weeks!'\n\n'I'm very sorry you've been annoyed,' said Alice, who was beginning to\nsee its meaning.\n\n'And just as I'd taken the highest tree in the wood,' continued the\nPigeon, raising its voice to a shriek, 'and just as I was thinking I\nshould be free of them at last, they must needs come wriggling down from\nthe sky! Ugh, Serpent!'\n\n'But I'm NOT a serpent, I tell you!' said Alice. 'I'm a--I'm a--'\n\n'Well! WHAT are you?' said the Pigeon. 'I can see you're trying to\ninvent something!'\n\n'I--I'm a little girl,' said Alice, rather doubtfully, as she remembered\nthe number of changes she had gone through that day.\n\n'A likely story indeed!' said the Pigeon in a tone of the deepest\ncontempt. 'I've seen a good many little girls in my time, but never ONE\nwith such a neck as that! No, no! You're a serpent; and there's no use\ndenying it. I suppose you'll be telling me next that you never tasted an\negg!'\n\n'I HAVE tasted eggs, certainly,' said Alice, who was a very truthful\nchild; 'but little girls eat eggs quite as much as serpents do, you\nknow.'\n\n'I don't believe it,' said the Pigeon; 'but if they do, why then they're\na kind of serpent, that's all I can say.'\n\nThis was such a new idea to Alice, that she was quite silent for a\nminute or two, which gave the Pigeon the opportunity of adding, 'You're\nlooking for eggs, I know THAT well enough; and what does it matter to me\nwhether you're a little girl or a serpent?'\n\n'It matters a good deal to ME,' said Alice hastily; 'but I'm not looking\nfor eggs, as it happens; and if I was, I shouldn't want YOURS: I don't\nlike them raw.'\n\n'Well, be off, then!' said the Pigeon in a sulky tone, as it settled\ndown again into its nest. Alice crouched down among the trees as well as\nshe could, for her neck kept getting entangled among the branches, and\nevery now and then she had to stop and untwist it. After a while she\nremembered that she still held the pieces of mushroom in her hands, and\nshe set to work very carefully, nibbling first at one and then at the\nother, and growing sometimes taller and sometimes shorter, until she had\nsucceeded in bringing herself down to her usual height.\n\nIt was so long since she had been anything near the right size, that it\nfelt quite strange at first; but she got used to it in a few minutes,\nand began talking to herself, as usual. 'Come, there's half my plan done\nnow! How puzzling all these changes are! I'm never sure what I'm going\nto be, from one minute to another! However, I've got back to my right\nsize: the next thing is, to get into that beautiful garden--how IS that\nto be done, I wonder?' As she said this, she came suddenly upon an open\nplace, with a little house in it about four feet high. 'Whoever lives\nthere,' thought Alice, 'it'll never do to come upon them THIS size: why,\nI should frighten them out of their wits!' So she began nibbling at the\nrighthand bit again, and did not venture to go near the house till she\nhad brought herself down to nine inches high.\n\n\n\n\n!!! CHAPTER VI. Pig and Pepper\n\nFor a minute or two she stood looking at the house, and wondering what\nto do next, when suddenly a footman in livery came running out of the\nwood--(she considered him to be a footman because he was in livery:\notherwise, judging by his face only, she would have called him a\nfish)--and rapped loudly at the door with his knuckles. It was opened\nby another footman in livery, with a round face, and large eyes like a\nfrog; and both footmen, Alice noticed, had powdered hair that curled all\nover their heads. She felt very curious to know what it was all about,\nand crept a little way out of the wood to listen.\n\nThe Fish-Footman began by producing from under his arm a great letter,\nnearly as large as himself, and this he handed over to the other,\nsaying, in a solemn tone, 'For the Duchess. An invitation from the Queen\nto play croquet.' The Frog-Footman repeated, in the same solemn tone,\nonly changing the order of the words a little, 'From the Queen. An\ninvitation for the Duchess to play croquet.'\n\nThen they both bowed low, and their curls got entangled together.\n\nAlice laughed so much at this, that she had to run back into the\nwood for fear of their hearing her; and when she next peeped out the\nFish-Footman was gone, and the other was sitting on the ground near the\ndoor, staring stupidly up into the sky.\n\nAlice went timidly up to the door, and knocked.\n\n'There's no sort of use in knocking,' said the Footman, 'and that for\ntwo reasons. First, because I'm on the same side of the door as you\nare; secondly, because they're making such a noise inside, no one could\npossibly hear you.' And certainly there was a most extraordinary noise\ngoing on within--a constant howling and sneezing, and every now and then\na great crash, as if a dish or kettle had been broken to pieces.\n\n'Please, then,' said Alice, 'how am I to get in?'\n\n'There might be some sense in your knocking,' the Footman went on\nwithout attending to her, 'if we had the door between us. For instance,\nif you were INSIDE, you might knock, and I could let you out, you know.'\nHe was looking up into the sky all the time he was speaking, and this\nAlice thought decidedly uncivil. 'But perhaps he can't help it,' she\nsaid to herself; 'his eyes are so VERY nearly at the top of his head.\nBut at any rate he might answer questions.--How am I to get in?' she\nrepeated, aloud.\n\n'I shall sit here,' the Footman remarked, 'till tomorrow--'\n\nAt this moment the door of the house opened, and a large plate came\nskimming out, straight at the Footman's head: it just grazed his nose,\nand broke to pieces against one of the trees behind him.\n\n'--or next day, maybe,' the Footman continued in the same tone, exactly\nas if nothing had happened.\n\n'How am I to get in?' asked Alice again, in a louder tone.\n\n'ARE you to get in at all?' said the Footman. 'That's the first\nquestion, you know.'\n\nIt was, no doubt: only Alice did not like to be told so. 'It's really\ndreadful,' she muttered to herself, 'the way all the creatures argue.\nIt's enough to drive one crazy!'\n\nThe Footman seemed to think this a good opportunity for repeating his\nremark, with variations. 'I shall sit here,' he said, 'on and off, for\ndays and days.'\n\n'But what am I to do?' said Alice.\n\n'Anything you like,' said the Footman, and began whistling.\n\n'Oh, there's no use in talking to him,' said Alice desperately: 'he's\nperfectly idiotic!' And she opened the door and went in.\n\nThe door led right into a large kitchen, which was full of smoke from\none end to the other: the Duchess was sitting on a three-legged stool in\nthe middle, nursing a baby; the cook was leaning over the fire, stirring\na large cauldron which seemed to be full of soup.\n\n'There's certainly too much pepper in that soup!' Alice said to herself,\nas well as she could for sneezing.\n\nThere was certainly too much of it in the air. Even the Duchess\nsneezed occasionally; and as for the baby, it was sneezing and howling\nalternately without a moment's pause. The only things in the kitchen\nthat did not sneeze, were the cook, and a large cat which was sitting on\nthe hearth and grinning from ear to ear.\n\n'Please would you tell me,' said Alice, a little timidly, for she was\nnot quite sure whether it was good manners for her to speak first, 'why\nyour cat grins like that?'\n\n'It's a Cheshire cat,' said the Duchess, 'and that's why. Pig!'\n\nShe said the last word with such sudden violence that Alice quite\njumped; but she saw in another moment that it was addressed to the baby,\nand not to her, so she took courage, and went on again:--\n\n'I didn't know that Cheshire cats always grinned; in fact, I didn't know\nthat cats COULD grin.'\n\n'They all can,' said the Duchess; 'and most of 'em do.'\n\n'I don't know of any that do,' Alice said very politely, feeling quite\npleased to have got into a conversation.\n\n'You don't know much,' said the Duchess; 'and that's a fact.'\n\nAlice did not at all like the tone of this remark, and thought it would\nbe as well to introduce some other subject of conversation. While she\nwas trying to fix on one, the cook took the cauldron of soup off the\nfire, and at once set to work throwing everything within her reach at\nthe Duchess and the baby--the fire-irons came first; then followed a\nshower of saucepans, plates, and dishes. The Duchess took no notice of\nthem even when they hit her; and the baby was howling so much already,\nthat it was quite impossible to say whether the blows hurt it or not.\n\n'Oh, PLEASE mind what you're doing!' cried Alice, jumping up and down in\nan agony of terror. 'Oh, there goes his PRECIOUS nose'; as an unusually\nlarge saucepan flew close by it, and very nearly carried it off.\n\n'If everybody minded their own business,' the Duchess said in a hoarse\ngrowl, 'the world would go round a deal faster than it does.'\n\n'Which would NOT be an advantage,' said Alice, who felt very glad to get\nan opportunity of showing off a little of her knowledge. 'Just think of\nwhat work it would make with the day and night! You see the earth takes\ntwenty-four hours to turn round on its axis--'\n\n'Talking of axes,' said the Duchess, 'chop off her head!'\n\nAlice glanced rather anxiously at the cook, to see if she meant to take\nthe hint; but the cook was busily stirring the soup, and seemed not to\nbe listening, so she went on again: 'Twenty-four hours, I THINK; or is\nit twelve? I--'\n\n'Oh, don't bother ME,' said the Duchess; 'I never could abide figures!'\nAnd with that she began nursing her child again, singing a sort of\nlullaby to it as she did so, and giving it a violent shake at the end of\nevery line:\n\n   'Speak roughly to your little boy,\n    And beat him when he sneezes:\n   He only does it to annoy,\n    Because he knows it teases.'\n\n         CHORUS.\n\n (In which the cook and the baby joined):--\n\n       'Wow! wow! wow!'\n\nWhile the Duchess sang the second verse of the song, she kept tossing\nthe baby violently up and down, and the poor little thing howled so,\nthat Alice could hardly hear the words:--\n\n   'I speak severely to my boy,\n    I beat him when he sneezes;\n   For he can thoroughly enjoy\n    The pepper when he pleases!'\n\n         CHORUS.\n\n       'Wow! wow! wow!'\n\n'Here! you may nurse it a bit, if you like!' the Duchess said to Alice,\nflinging the baby at her as she spoke. 'I must go and get ready to play\ncroquet with the Queen,' and she hurried out of the room. The cook threw\na frying-pan after her as she went out, but it just missed her.\n\nAlice caught the baby with some difficulty, as it was a queer-shaped\nlittle creature, and held out its arms and legs in all directions, 'just\nlike a star-fish,' thought Alice. The poor little thing was snorting\nlike a steam-engine when she caught it, and kept doubling itself up and\nstraightening itself out again, so that altogether, for the first minute\nor two, it was as much as she could do to hold it.\n\nAs soon as she had made out the proper way of nursing it, (which was to\ntwist it up into a sort of knot, and then keep tight hold of its right\near and left foot, so as to prevent its undoing itself,) she carried\nit out into the open air. 'IF I don't take this child away with me,'\nthought Alice, 'they're sure to kill it in a day or two: wouldn't it be\nmurder to leave it behind?' She said the last words out loud, and the\nlittle thing grunted in reply (it had left off sneezing by this time).\n'Don't grunt,' said Alice; 'that's not at all a proper way of expressing\nyourself.'\n\nThe baby grunted again, and Alice looked very anxiously into its face to\nsee what was the matter with it. There could be no doubt that it had\na VERY turn-up nose, much more like a snout than a real nose; also its\neyes were getting extremely small for a baby: altogether Alice did not\nlike the look of the thing at all. 'But perhaps it was only sobbing,'\nshe thought, and looked into its eyes again, to see if there were any\ntears.\n\nNo, there were no tears. 'If you're going to turn into a pig, my dear,'\nsaid Alice, seriously, 'I'll have nothing more to do with you. Mind\nnow!' The poor little thing sobbed again (or grunted, it was impossible\nto say which), and they went on for some while in silence.\n\nAlice was just beginning to think to herself, 'Now, what am I to do with\nthis creature when I get it home?' when it grunted again, so violently,\nthat she looked down into its face in some alarm. This time there could\nbe NO mistake about it: it was neither more nor less than a pig, and she\nfelt that it would be quite absurd for her to carry it further.\n\nSo she set the little creature down, and felt quite relieved to see\nit trot away quietly into the wood. 'If it had grown up,' she said\nto herself, 'it would have made a dreadfully ugly child: but it makes\nrather a handsome pig, I think.' And she began thinking over other\nchildren she knew, who might do very well as pigs, and was just saying\nto herself, 'if one only knew the right way to change them--' when she\nwas a little startled by seeing the Cheshire Cat sitting on a bough of a\ntree a few yards off.\n\nThe Cat only grinned when it saw Alice. It looked good-natured, she\nthought: still it had VERY long claws and a great many teeth, so she\nfelt that it ought to be treated with respect.\n\n'Cheshire Puss,' she began, rather timidly, as she did not at all know\nwhether it would like the name: however, it only grinned a little wider.\n'Come, it's pleased so far,' thought Alice, and she went on. 'Would you\ntell me, please, which way I ought to go from here?'\n\n'That depends a good deal on where you want to get to,' said the Cat.\n\n'I don't much care where--' said Alice.\n\n'Then it doesn't matter which way you go,' said the Cat.\n\n'--so long as I get SOMEWHERE,' Alice added as an explanation.\n\n'Oh, you're sure to do that,' said the Cat, 'if you only walk long\nenough.'\n\nAlice felt that this could not be denied, so she tried another question.\n'What sort of people live about here?'\n\n'In THAT direction,' the Cat said, waving its right paw round, 'lives\na Hatter: and in THAT direction,' waving the other paw, 'lives a March\nHare. Visit either you like: they're both mad.'\n\n'But I don't want to go among mad people,' Alice remarked.\n\n'Oh, you can't help that,' said the Cat: 'we're all mad here. I'm mad.\nYou're mad.'\n\n'How do you know I'm mad?' said Alice.\n\n'You must be,' said the Cat, 'or you wouldn't have come here.'\n\nAlice didn't think that proved it at all; however, she went on 'And how\ndo you know that you're mad?'\n\n'To begin with,' said the Cat, 'a dog's not mad. You grant that?'\n\n'I suppose so,' said Alice.\n\n'Well, then,' the Cat went on, 'you see, a dog growls when it's angry,\nand wags its tail when it's pleased. Now I growl when I'm pleased, and\nwag my tail when I'm angry. Therefore I'm mad.'\n\n'I call it purring, not growling,' said Alice.\n\n'Call it what you like,' said the Cat. 'Do you play croquet with the\nQueen to-day?'\n\n'I should like it very much,' said Alice, 'but I haven't been invited\nyet.'\n\n'You'll see me there,' said the Cat, and vanished.\n\nAlice was not much surprised at this, she was getting so used to queer\nthings happening. While she was looking at the place where it had been,\nit suddenly appeared again.\n\n'By-the-bye, what became of the baby?' said the Cat. 'I'd nearly\nforgotten to ask.'\n\n'It turned into a pig,' Alice quietly said, just as if it had come back\nin a natural way.\n\n'I thought it would,' said the Cat, and vanished again.\n\nAlice waited a little, half expecting to see it again, but it did not\nappear, and after a minute or two she walked on in the direction in\nwhich the March Hare was said to live. 'I've seen hatters before,' she\nsaid to herself; 'the March Hare will be much the most interesting, and\nperhaps as this is May it won't be raving mad--at least not so mad as\nit was in March.' As she said this, she looked up, and there was the Cat\nagain, sitting on a branch of a tree.\n\n'Did you say pig, or fig?' said the Cat.\n\n'I said pig,' replied Alice; 'and I wish you wouldn't keep appearing and\nvanishing so suddenly: you make one quite giddy.'\n\n'All right,' said the Cat; and this time it vanished quite slowly,\nbeginning with the end of the tail, and ending with the grin, which\nremained some time after the rest of it had gone.\n\n'Well! I've often seen a cat without a grin,' thought Alice; 'but a grin\nwithout a cat! It's the most curious thing I ever saw in my life!'\n\nShe had not gone much farther before she came in sight of the house\nof the March Hare: she thought it must be the right house, because the\nchimneys were shaped like ears and the roof was thatched with fur. It\nwas so large a house, that she did not like to go nearer till she had\nnibbled some more of the lefthand bit of mushroom, and raised herself to\nabout two feet high: even then she walked up towards it rather timidly,\nsaying to herself 'Suppose it should be raving mad after all! I almost\nwish I'd gone to see the Hatter instead!'\n\n\n\n\n!!! CHAPTER VII. A Mad Tea-Party\n\nThere was a table set out under a tree in front of the house, and the\nMarch Hare and the Hatter were having tea at it: a Dormouse was sitting\nbetween them, fast asleep, and the other two were using it as a\ncushion, resting their elbows on it, and talking over its head. 'Very\nuncomfortable for the Dormouse,' thought Alice; 'only, as it's asleep, I\nsuppose it doesn't mind.'\n\nThe table was a large one, but the three were all crowded together at\none corner of it: 'No room! No room!' they cried out when they saw Alice\ncoming. 'There's PLENTY of room!' said Alice indignantly, and she sat\ndown in a large arm-chair at one end of the table.\n\n'Have some wine,' the March Hare said in an encouraging tone.\n\nAlice looked all round the table, but there was nothing on it but tea.\n'I don't see any wine,' she remarked.\n\n'There isn't any,' said the March Hare.\n\n'Then it wasn't very civil of you to offer it,' said Alice angrily.\n\n'It wasn't very civil of you to sit down without being invited,' said\nthe March Hare.\n\n'I didn't know it was YOUR table,' said Alice; 'it's laid for a great\nmany more than three.'\n\n'Your hair wants cutting,' said the Hatter. He had been looking at Alice\nfor some time with great curiosity, and this was his first speech.\n\n'You should learn not to make personal remarks,' Alice said with some\nseverity; 'it's very rude.'\n\nThe Hatter opened his eyes very wide on hearing this; but all he SAID\nwas, 'Why is a raven like a writing-desk?'\n\n'Come, we shall have some fun now!' thought Alice. 'I'm glad they've\nbegun asking riddles.--I believe I can guess that,' she added aloud.\n\n'Do you mean that you think you can find out the answer to it?' said the\nMarch Hare.\n\n'Exactly so,' said Alice.\n\n'Then you should say what you mean,' the March Hare went on.\n\n'I do,' Alice hastily replied; 'at least--at least I mean what I\nsay--that's the same thing, you know.'\n\n'Not the same thing a bit!' said the Hatter. 'You might just as well say\nthat \"I see what I eat\" is the same thing as \"I eat what I see\"!'\n\n'You might just as well say,' added the March Hare, 'that \"I like what I\nget\" is the same thing as \"I get what I like\"!'\n\n'You might just as well say,' added the Dormouse, who seemed to be\ntalking in his sleep, 'that \"I breathe when I sleep\" is the same thing\nas \"I sleep when I breathe\"!'\n\n'It IS the same thing with you,' said the Hatter, and here the\nconversation dropped, and the party sat silent for a minute, while Alice\nthought over all she could remember about ravens and writing-desks,\nwhich wasn't much.\n\nThe Hatter was the first to break the silence. 'What day of the month\nis it?' he said, turning to Alice: he had taken his watch out of his\npocket, and was looking at it uneasily, shaking it every now and then,\nand holding it to his ear.\n\nAlice considered a little, and then said 'The fourth.'\n\n'Two days wrong!' sighed the Hatter. 'I told you butter wouldn't suit\nthe works!' he added looking angrily at the March Hare.\n\n'It was the BEST butter,' the March Hare meekly replied.\n\n'Yes, but some crumbs must have got in as well,' the Hatter grumbled:\n'you shouldn't have put it in with the bread-knife.'\n\nThe March Hare took the watch and looked at it gloomily: then he dipped\nit into his cup of tea, and looked at it again: but he could think of\nnothing better to say than his first remark, 'It was the BEST butter,\nyou know.'\n\nAlice had been looking over his shoulder with some curiosity. 'What a\nfunny watch!' she remarked. 'It tells the day of the month, and doesn't\ntell what o'clock it is!'\n\n'Why should it?' muttered the Hatter. 'Does YOUR watch tell you what\nyear it is?'\n\n'Of course not,' Alice replied very readily: 'but that's because it\nstays the same year for such a long time together.'\n\n'Which is just the case with MINE,' said the Hatter.\n\nAlice felt dreadfully puzzled. The Hatter's remark seemed to have no\nsort of meaning in it, and yet it was certainly English. 'I don't quite\nunderstand you,' she said, as politely as she could.\n\n'The Dormouse is asleep again,' said the Hatter, and he poured a little\nhot tea upon its nose.\n\nThe Dormouse shook its head impatiently, and said, without opening its\neyes, 'Of course, of course; just what I was going to remark myself.'\n\n'Have you guessed the riddle yet?' the Hatter said, turning to Alice\nagain.\n\n'No, I give it up,' Alice replied: 'what's the answer?'\n\n'I haven't the slightest idea,' said the Hatter.\n\n'Nor I,' said the March Hare.\n\nAlice sighed wearily. 'I think you might do something better with the\ntime,' she said, 'than waste it in asking riddles that have no answers.'\n\n'If you knew Time as well as I do,' said the Hatter, 'you wouldn't talk\nabout wasting IT. It's HIM.'\n\n'I don't know what you mean,' said Alice.\n\n'Of course you don't!' the Hatter said, tossing his head contemptuously.\n'I dare say you never even spoke to Time!'\n\n'Perhaps not,' Alice cautiously replied: 'but I know I have to beat time\nwhen I learn music.'\n\n'Ah! that accounts for it,' said the Hatter. 'He won't stand beating.\nNow, if you only kept on good terms with him, he'd do almost anything\nyou liked with the clock. For instance, suppose it were nine o'clock in\nthe morning, just time to begin lessons: you'd only have to whisper a\nhint to Time, and round goes the clock in a twinkling! Half-past one,\ntime for dinner!'\n\n('I only wish it was,' the March Hare said to itself in a whisper.)\n\n'That would be grand, certainly,' said Alice thoughtfully: 'but then--I\nshouldn't be hungry for it, you know.'\n\n'Not at first, perhaps,' said the Hatter: 'but you could keep it to\nhalf-past one as long as you liked.'\n\n'Is that the way YOU manage?' Alice asked.\n\nThe Hatter shook his head mournfully. 'Not I!' he replied. 'We\nquarrelled last March--just before HE went mad, you know--' (pointing\nwith his tea spoon at the March Hare,) '--it was at the great concert\ngiven by the Queen of Hearts, and I had to sing\n\n     \"Twinkle, twinkle, little bat!\n     How I wonder what you're at!\"\n\nYou know the song, perhaps?'\n\n'I've heard something like it,' said Alice.\n\n'It goes on, you know,' the Hatter continued, 'in this way:--\n\n     \"Up above the world you fly,\n     Like a tea-tray in the sky.\n         Twinkle, twinkle--\"'\n\nHere the Dormouse shook itself, and began singing in its sleep 'Twinkle,\ntwinkle, twinkle, twinkle--' and went on so long that they had to pinch\nit to make it stop.\n\n'Well, I'd hardly finished the first verse,' said the Hatter, 'when the\nQueen jumped up and bawled out, \"He's murdering the time! Off with his\nhead!\"'\n\n'How dreadfully savage!' exclaimed Alice.\n\n'And ever since that,' the Hatter went on in a mournful tone, 'he won't\ndo a thing I ask! It's always six o'clock now.'\n\nA bright idea came into Alice's head. 'Is that the reason so many\ntea-things are put out here?' she asked.\n\n'Yes, that's it,' said the Hatter with a sigh: 'it's always tea-time,\nand we've no time to wash the things between whiles.'\n\n'Then you keep moving round, I suppose?' said Alice.\n\n'Exactly so,' said the Hatter: 'as the things get used up.'\n\n'But what happens when you come to the beginning again?' Alice ventured\nto ask.\n\n'Suppose we change the subject,' the March Hare interrupted, yawning.\n'I'm getting tired of this. I vote the young lady tells us a story.'\n\n'I'm afraid I don't know one,' said Alice, rather alarmed at the\nproposal.\n\n'Then the Dormouse shall!' they both cried. 'Wake up, Dormouse!' And\nthey pinched it on both sides at once.\n\nThe Dormouse slowly opened his eyes. 'I wasn't asleep,' he said in a\nhoarse, feeble voice: 'I heard every word you fellows were saying.'\n\n'Tell us a story!' said the March Hare.\n\n'Yes, please do!' pleaded Alice.\n\n'And be quick about it,' added the Hatter, 'or you'll be asleep again\nbefore it's done.'\n\n'Once upon a time there were three little sisters,' the Dormouse began\nin a great hurry; 'and their names were Elsie, Lacie, and Tillie; and\nthey lived at the bottom of a well--'\n\n'What did they live on?' said Alice, who always took a great interest in\nquestions of eating and drinking.\n\n'They lived on treacle,' said the Dormouse, after thinking a minute or\ntwo.\n\n'They couldn't have done that, you know,' Alice gently remarked; 'they'd\nhave been ill.'\n\n'So they were,' said the Dormouse; 'VERY ill.'\n\nAlice tried to fancy to herself what such an extraordinary ways of\nliving would be like, but it puzzled her too much, so she went on: 'But\nwhy did they live at the bottom of a well?'\n\n'Take some more tea,' the March Hare said to Alice, very earnestly.\n\n'I've had nothing yet,' Alice replied in an offended tone, 'so I can't\ntake more.'\n\n'You mean you can't take LESS,' said the Hatter: 'it's very easy to take\nMORE than nothing.'\n\n'Nobody asked YOUR opinion,' said Alice.\n\n'Who's making personal remarks now?' the Hatter asked triumphantly.\n\nAlice did not quite know what to say to this: so she helped herself\nto some tea and bread-and-butter, and then turned to the Dormouse, and\nrepeated her question. 'Why did they live at the bottom of a well?'\n\nThe Dormouse again took a minute or two to think about it, and then\nsaid, 'It was a treacle-well.'\n\n'There's no such thing!' Alice was beginning very angrily, but the\nHatter and the March Hare went 'Sh! sh!' and the Dormouse sulkily\nremarked, 'If you can't be civil, you'd better finish the story for\nyourself.'\n\n'No, please go on!' Alice said very humbly; 'I won't interrupt again. I\ndare say there may be ONE.'\n\n'One, indeed!' said the Dormouse indignantly. However, he consented to\ngo on. 'And so these three little sisters--they were learning to draw,\nyou know--'\n\n'What did they draw?' said Alice, quite forgetting her promise.\n\n'Treacle,' said the Dormouse, without considering at all this time.\n\n'I want a clean cup,' interrupted the Hatter: 'let's all move one place\non.'\n\nHe moved on as he spoke, and the Dormouse followed him: the March Hare\nmoved into the Dormouse's place, and Alice rather unwillingly took\nthe place of the March Hare. The Hatter was the only one who got any\nadvantage from the change: and Alice was a good deal worse off than\nbefore, as the March Hare had just upset the milk-jug into his plate.\n\nAlice did not wish to offend the Dormouse again, so she began very\ncautiously: 'But I don't understand. Where did they draw the treacle\nfrom?'\n\n'You can draw water out of a water-well,' said the Hatter; 'so I should\nthink you could draw treacle out of a treacle-well--eh, stupid?'\n\n'But they were IN the well,' Alice said to the Dormouse, not choosing to\nnotice this last remark.\n\n'Of course they were', said the Dormouse; '--well in.'\n\nThis answer so confused poor Alice, that she let the Dormouse go on for\nsome time without interrupting it.\n\n'They were learning to draw,' the Dormouse went on, yawning and rubbing\nits eyes, for it was getting very sleepy; 'and they drew all manner of\nthings--everything that begins with an M--'\n\n'Why with an M?' said Alice.\n\n'Why not?' said the March Hare.\n\nAlice was silent.\n\nThe Dormouse had closed its eyes by this time, and was going off into\na doze; but, on being pinched by the Hatter, it woke up again with\na little shriek, and went on: '--that begins with an M, such as\nmouse-traps, and the moon, and memory, and muchness--you know you say\nthings are \"much of a muchness\"--did you ever see such a thing as a\ndrawing of a muchness?'\n\n'Really, now you ask me,' said Alice, very much confused, 'I don't\nthink--'\n\n'Then you shouldn't talk,' said the Hatter.\n\nThis piece of rudeness was more than Alice could bear: she got up in\ngreat disgust, and walked off; the Dormouse fell asleep instantly, and\nneither of the others took the least notice of her going, though she\nlooked back once or twice, half hoping that they would call after her:\nthe last time she saw them, they were trying to put the Dormouse into\nthe teapot.\n\n'At any rate I'll never go THERE again!' said Alice as she picked her\nway through the wood. 'It's the stupidest tea-party I ever was at in all\nmy life!'\n\nJust as she said this, she noticed that one of the trees had a door\nleading right into it. 'That's very curious!' she thought. 'But\neverything's curious today. I think I may as well go in at once.' And in\nshe went.\n\nOnce more she found herself in the long hall, and close to the little\nglass table. 'Now, I'll manage better this time,' she said to herself,\nand began by taking the little golden key, and unlocking the door that\nled into the garden. Then she went to work nibbling at the mushroom (she\nhad kept a piece of it in her pocket) till she was about a foot high:\nthen she walked down the little passage: and THEN--she found herself at\nlast in the beautiful garden, among the bright flower-beds and the cool\nfountains.\n\n\n\n\n!!! CHAPTER VIII. The Queen's Croquet-Ground\n\nA large rose-tree stood near the entrance of the garden: the roses\ngrowing on it were white, but there were three gardeners at it, busily\npainting them red. Alice thought this a very curious thing, and she went\nnearer to watch them, and just as she came up to them she heard one of\nthem say, 'Look out now, Five! Don't go splashing paint over me like\nthat!'\n\n'I couldn't help it,' said Five, in a sulky tone; 'Seven jogged my\nelbow.'\n\nOn which Seven looked up and said, 'That's right, Five! Always lay the\nblame on others!'\n\n'YOU'D better not talk!' said Five. 'I heard the Queen say only\nyesterday you deserved to be beheaded!'\n\n'What for?' said the one who had spoken first.\n\n'That's none of YOUR business, Two!' said Seven.\n\n'Yes, it IS his business!' said Five, 'and I'll tell him--it was for\nbringing the cook tulip-roots instead of onions.'\n\nSeven flung down his brush, and had just begun 'Well, of all the unjust\nthings--' when his eye chanced to fall upon Alice, as she stood watching\nthem, and he checked himself suddenly: the others looked round also, and\nall of them bowed low.\n\n'Would you tell me,' said Alice, a little timidly, 'why you are painting\nthose roses?'\n\nFive and Seven said nothing, but looked at Two. Two began in a low\nvoice, 'Why the fact is, you see, Miss, this here ought to have been a\nRED rose-tree, and we put a white one in by mistake; and if the Queen\nwas to find it out, we should all have our heads cut off, you know.\nSo you see, Miss, we're doing our best, afore she comes, to--' At this\nmoment Five, who had been anxiously looking across the garden, called\nout 'The Queen! The Queen!' and the three gardeners instantly threw\nthemselves flat upon their faces. There was a sound of many footsteps,\nand Alice looked round, eager to see the Queen.\n\nFirst came ten soldiers carrying clubs; these were all shaped like\nthe three gardeners, oblong and flat, with their hands and feet at the\ncorners: next the ten courtiers; these were ornamented all over with\ndiamonds, and walked two and two, as the soldiers did. After these came\nthe royal children; there were ten of them, and the little dears came\njumping merrily along hand in hand, in couples: they were all ornamented\nwith hearts. Next came the guests, mostly Kings and Queens, and among\nthem Alice recognised the White Rabbit: it was talking in a hurried\nnervous manner, smiling at everything that was said, and went by without\nnoticing her. Then followed the Knave of Hearts, carrying the King's\ncrown on a crimson velvet cushion; and, last of all this grand\nprocession, came THE KING AND QUEEN OF HEARTS.\n\nAlice was rather doubtful whether she ought not to lie down on her face\nlike the three gardeners, but she could not remember ever having heard\nof such a rule at processions; 'and besides, what would be the use of\na procession,' thought she, 'if people had all to lie down upon their\nfaces, so that they couldn't see it?' So she stood still where she was,\nand waited.\n\nWhen the procession came opposite to Alice, they all stopped and looked\nat her, and the Queen said severely 'Who is this?' She said it to the\nKnave of Hearts, who only bowed and smiled in reply.\n\n'Idiot!' said the Queen, tossing her head impatiently; and, turning to\nAlice, she went on, 'What's your name, child?'\n\n'My name is Alice, so please your Majesty,' said Alice very politely;\nbut she added, to herself, 'Why, they're only a pack of cards, after\nall. I needn't be afraid of them!'\n\n'And who are THESE?' said the Queen, pointing to the three gardeners who\nwere lying round the rosetree; for, you see, as they were lying on their\nfaces, and the pattern on their backs was the same as the rest of the\npack, she could not tell whether they were gardeners, or soldiers, or\ncourtiers, or three of her own children.\n\n'How should I know?' said Alice, surprised at her own courage. 'It's no\nbusiness of MINE.'\n\nThe Queen turned crimson with fury, and, after glaring at her for a\nmoment like a wild beast, screamed 'Off with her head! Off--'\n\n'Nonsense!' said Alice, very loudly and decidedly, and the Queen was\nsilent.\n\nThe King laid his hand upon her arm, and timidly said 'Consider, my\ndear: she is only a child!'\n\nThe Queen turned angrily away from him, and said to the Knave 'Turn them\nover!'\n\nThe Knave did so, very carefully, with one foot.\n\n'Get up!' said the Queen, in a shrill, loud voice, and the three\ngardeners instantly jumped up, and began bowing to the King, the Queen,\nthe royal children, and everybody else.\n\n'Leave off that!' screamed the Queen. 'You make me giddy.' And then,\nturning to the rose-tree, she went on, 'What HAVE you been doing here?'\n\n'May it please your Majesty,' said Two, in a very humble tone, going\ndown on one knee as he spoke, 'we were trying--'\n\n'I see!' said the Queen, who had meanwhile been examining the roses.\n'Off with their heads!' and the procession moved on, three of the\nsoldiers remaining behind to execute the unfortunate gardeners, who ran\nto Alice for protection.\n\n'You shan't be beheaded!' said Alice, and she put them into a large\nflower-pot that stood near. The three soldiers wandered about for a\nminute or two, looking for them, and then quietly marched off after the\nothers.\n\n'Are their heads off?' shouted the Queen.\n\n'Their heads are gone, if it please your Majesty!' the soldiers shouted\nin reply.\n\n'That's right!' shouted the Queen. 'Can you play croquet?'\n\nThe soldiers were silent, and looked at Alice, as the question was\nevidently meant for her.\n\n'Yes!' shouted Alice.\n\n'Come on, then!' roared the Queen, and Alice joined the procession,\nwondering very much what would happen next.\n\n'It's--it's a very fine day!' said a timid voice at her side. She was\nwalking by the White Rabbit, who was peeping anxiously into her face.\n\n'Very,' said Alice: '--where's the Duchess?'\n\n'Hush! Hush!' said the Rabbit in a low, hurried tone. He looked\nanxiously over his shoulder as he spoke, and then raised himself upon\ntiptoe, put his mouth close to her ear, and whispered 'She's under\nsentence of execution.'\n\n'What for?' said Alice.\n\n'Did you say \"What a pity!\"?' the Rabbit asked.\n\n'No, I didn't,' said Alice: 'I don't think it's at all a pity. I said\n\"What for?\"'\n\n'She boxed the Queen's ears--' the Rabbit began. Alice gave a little\nscream of laughter. 'Oh, hush!' the Rabbit whispered in a frightened\ntone. 'The Queen will hear you! You see, she came rather late, and the\nQueen said--'\n\n'Get to your places!' shouted the Queen in a voice of thunder, and\npeople began running about in all directions, tumbling up against each\nother; however, they got settled down in a minute or two, and the game\nbegan. Alice thought she had never seen such a curious croquet-ground in\nher life; it was all ridges and furrows; the balls were live hedgehogs,\nthe mallets live flamingoes, and the soldiers had to double themselves\nup and to stand on their hands and feet, to make the arches.\n\nThe chief difficulty Alice found at first was in managing her flamingo:\nshe succeeded in getting its body tucked away, comfortably enough, under\nher arm, with its legs hanging down, but generally, just as she had got\nits neck nicely straightened out, and was going to give the hedgehog a\nblow with its head, it WOULD twist itself round and look up in her face,\nwith such a puzzled expression that she could not help bursting out\nlaughing: and when she had got its head down, and was going to begin\nagain, it was very provoking to find that the hedgehog had unrolled\nitself, and was in the act of crawling away: besides all this, there was\ngenerally a ridge or furrow in the way wherever she wanted to send the\nhedgehog to, and, as the doubled-up soldiers were always getting up\nand walking off to other parts of the ground, Alice soon came to the\nconclusion that it was a very difficult game indeed.\n\nThe players all played at once without waiting for turns, quarrelling\nall the while, and fighting for the hedgehogs; and in a very short\ntime the Queen was in a furious passion, and went stamping about, and\nshouting 'Off with his head!' or 'Off with her head!' about once in a\nminute.\n\nAlice began to feel very uneasy: to be sure, she had not as yet had any\ndispute with the Queen, but she knew that it might happen any minute,\n'and then,' thought she, 'what would become of me? They're dreadfully\nfond of beheading people here; the great wonder is, that there's any one\nleft alive!'\n\nShe was looking about for some way of escape, and wondering whether she\ncould get away without being seen, when she noticed a curious appearance\nin the air: it puzzled her very much at first, but, after watching it\na minute or two, she made it out to be a grin, and she said to herself\n'It's the Cheshire Cat: now I shall have somebody to talk to.'\n\n'How are you getting on?' said the Cat, as soon as there was mouth\nenough for it to speak with.\n\nAlice waited till the eyes appeared, and then nodded. 'It's no use\nspeaking to it,' she thought, 'till its ears have come, or at least one\nof them.' In another minute the whole head appeared, and then Alice put\ndown her flamingo, and began an account of the game, feeling very glad\nshe had someone to listen to her. The Cat seemed to think that there was\nenough of it now in sight, and no more of it appeared.\n\n'I don't think they play at all fairly,' Alice began, in rather a\ncomplaining tone, 'and they all quarrel so dreadfully one can't hear\noneself speak--and they don't seem to have any rules in particular;\nat least, if there are, nobody attends to them--and you've no idea how\nconfusing it is all the things being alive; for instance, there's the\narch I've got to go through next walking about at the other end of the\nground--and I should have croqueted the Queen's hedgehog just now, only\nit ran away when it saw mine coming!'\n\n'How do you like the Queen?' said the Cat in a low voice.\n\n'Not at all,' said Alice: 'she's so extremely--' Just then she noticed\nthat the Queen was close behind her, listening: so she went on,\n'--likely to win, that it's hardly worth while finishing the game.'\n\nThe Queen smiled and passed on.\n\n'Who ARE you talking to?' said the King, going up to Alice, and looking\nat the Cat's head with great curiosity.\n\n'It's a friend of mine--a Cheshire Cat,' said Alice: 'allow me to\nintroduce it.'\n\n'I don't like the look of it at all,' said the King: 'however, it may\nkiss my hand if it likes.'\n\n'I'd rather not,' the Cat remarked.\n\n'Don't be impertinent,' said the King, 'and don't look at me like that!'\nHe got behind Alice as he spoke.\n\n'A cat may look at a king,' said Alice. 'I've read that in some book,\nbut I don't remember where.'\n\n'Well, it must be removed,' said the King very decidedly, and he called\nthe Queen, who was passing at the moment, 'My dear! I wish you would\nhave this cat removed!'\n\nThe Queen had only one way of settling all difficulties, great or small.\n'Off with his head!' she said, without even looking round.\n\n'I'll fetch the executioner myself,' said the King eagerly, and he\nhurried off.\n\nAlice thought she might as well go back, and see how the game was going\non, as she heard the Queen's voice in the distance, screaming with\npassion. She had already heard her sentence three of the players to be\nexecuted for having missed their turns, and she did not like the look\nof things at all, as the game was in such confusion that she never knew\nwhether it was her turn or not. So she went in search of her hedgehog.\n\nThe hedgehog was engaged in a fight with another hedgehog, which seemed\nto Alice an excellent opportunity for croqueting one of them with the\nother: the only difficulty was, that her flamingo was gone across to the\nother side of the garden, where Alice could see it trying in a helpless\nsort of way to fly up into a tree.\n\nBy the time she had caught the flamingo and brought it back, the fight\nwas over, and both the hedgehogs were out of sight: 'but it doesn't\nmatter much,' thought Alice, 'as all the arches are gone from this side\nof the ground.' So she tucked it away under her arm, that it might not\nescape again, and went back for a little more conversation with her\nfriend.\n\nWhen she got back to the Cheshire Cat, she was surprised to find quite a\nlarge crowd collected round it: there was a dispute going on between\nthe executioner, the King, and the Queen, who were all talking at once,\nwhile all the rest were quite silent, and looked very uncomfortable.\n\nThe moment Alice appeared, she was appealed to by all three to settle\nthe question, and they repeated their arguments to her, though, as they\nall spoke at once, she found it very hard indeed to make out exactly\nwhat they said.\n\nThe executioner's argument was, that you couldn't cut off a head unless\nthere was a body to cut it off from: that he had never had to do such a\nthing before, and he wasn't going to begin at HIS time of life.\n\nThe King's argument was, that anything that had a head could be\nbeheaded, and that you weren't to talk nonsense.\n\nThe Queen's argument was, that if something wasn't done about it in less\nthan no time she'd have everybody executed, all round. (It was this last\nremark that had made the whole party look so grave and anxious.)\n\nAlice could think of nothing else to say but 'It belongs to the Duchess:\nyou'd better ask HER about it.'\n\n'She's in prison,' the Queen said to the executioner: 'fetch her here.'\nAnd the executioner went off like an arrow.\n\n The Cat's head began fading away the moment he was gone, and,\nby the time he had come back with the Duchess, it had entirely\ndisappeared; so the King and the executioner ran wildly up and down\nlooking for it, while the rest of the party went back to the game.\n\n\n\n\n!!! CHAPTER IX. The Mock Turtle's Story\n\n'You can't think how glad I am to see you again, you dear old thing!'\nsaid the Duchess, as she tucked her arm affectionately into Alice's, and\nthey walked off together.\n\nAlice was very glad to find her in such a pleasant temper, and thought\nto herself that perhaps it was only the pepper that had made her so\nsavage when they met in the kitchen.\n\n'When I'M a Duchess,' she said to herself, (not in a very hopeful tone\nthough), 'I won't have any pepper in my kitchen AT ALL. Soup does very\nwell without--Maybe it's always pepper that makes people hot-tempered,'\nshe went on, very much pleased at having found out a new kind of\nrule, 'and vinegar that makes them sour--and camomile that makes\nthem bitter--and--and barley-sugar and such things that make children\nsweet-tempered. I only wish people knew that: then they wouldn't be so\nstingy about it, you know--'\n\nShe had quite forgotten the Duchess by this time, and was a little\nstartled when she heard her voice close to her ear. 'You're thinking\nabout something, my dear, and that makes you forget to talk. I can't\ntell you just now what the moral of that is, but I shall remember it in\na bit.'\n\n'Perhaps it hasn't one,' Alice ventured to remark.\n\n'Tut, tut, child!' said the Duchess. 'Everything's got a moral, if only\nyou can find it.' And she squeezed herself up closer to Alice's side as\nshe spoke.\n\nAlice did not much like keeping so close to her: first, because the\nDuchess was VERY ugly; and secondly, because she was exactly the\nright height to rest her chin upon Alice's shoulder, and it was an\nuncomfortably sharp chin. However, she did not like to be rude, so she\nbore it as well as she could.\n\n'The game's going on rather better now,' she said, by way of keeping up\nthe conversation a little.\n\n''Tis so,' said the Duchess: 'and the moral of that is--\"Oh, 'tis love,\n'tis love, that makes the world go round!\"'\n\n'Somebody said,' Alice whispered, 'that it's done by everybody minding\ntheir own business!'\n\n'Ah, well! It means much the same thing,' said the Duchess, digging her\nsharp little chin into Alice's shoulder as she added, 'and the moral\nof THAT is--\"Take care of the sense, and the sounds will take care of\nthemselves.\"'\n\n'How fond she is of finding morals in things!' Alice thought to herself.\n\n'I dare say you're wondering why I don't put my arm round your waist,'\nthe Duchess said after a pause: 'the reason is, that I'm doubtful about\nthe temper of your flamingo. Shall I try the experiment?'\n\n'HE might bite,' Alice cautiously replied, not feeling at all anxious to\nhave the experiment tried.\n\n'Very true,' said the Duchess: 'flamingoes and mustard both bite. And\nthe moral of that is--\"Birds of a feather flock together.\"'\n\n'Only mustard isn't a bird,' Alice remarked.\n\n'Right, as usual,' said the Duchess: 'what a clear way you have of\nputting things!'\n\n'It's a mineral, I THINK,' said Alice.\n\n'Of course it is,' said the Duchess, who seemed ready to agree to\neverything that Alice said; 'there's a large mustard-mine near here. And\nthe moral of that is--\"The more there is of mine, the less there is of\nyours.\"'\n\n'Oh, I know!' exclaimed Alice, who had not attended to this last remark,\n'it's a vegetable. It doesn't look like one, but it is.'\n\n'I quite agree with you,' said the Duchess; 'and the moral of that\nis--\"Be what you would seem to be\"--or if you'd like it put more\nsimply--\"Never imagine yourself not to be otherwise than what it might\nappear to others that what you were or might have been was not otherwise\nthan what you had been would have appeared to them to be otherwise.\"'\n\n'I think I should understand that better,' Alice said very politely, 'if\nI had it written down: but I can't quite follow it as you say it.'\n\n'That's nothing to what I could say if I chose,' the Duchess replied, in\na pleased tone.\n\n'Pray don't trouble yourself to say it any longer than that,' said\nAlice.\n\n'Oh, don't talk about trouble!' said the Duchess. 'I make you a present\nof everything I've said as yet.'\n\n'A cheap sort of present!' thought Alice. 'I'm glad they don't give\nbirthday presents like that!' But she did not venture to say it out\nloud.\n\n'Thinking again?' the Duchess asked, with another dig of her sharp\nlittle chin.\n\n'I've a right to think,' said Alice sharply, for she was beginning to\nfeel a little worried.\n\n'Just about as much right,' said the Duchess, 'as pigs have to fly; and\nthe m--'\n\nBut here, to Alice's great surprise, the Duchess's voice died away, even\nin the middle of her favourite word 'moral,' and the arm that was linked\ninto hers began to tremble. Alice looked up, and there stood the Queen\nin front of them, with her arms folded, frowning like a thunderstorm.\n\n'A fine day, your Majesty!' the Duchess began in a low, weak voice.\n\n'Now, I give you fair warning,' shouted the Queen, stamping on the\nground as she spoke; 'either you or your head must be off, and that in\nabout half no time! Take your choice!'\n\nThe Duchess took her choice, and was gone in a moment.\n\n'Let's go on with the game,' the Queen said to Alice; and Alice was\ntoo much frightened to say a word, but slowly followed her back to the\ncroquet-ground.\n\nThe other guests had taken advantage of the Queen's absence, and were\nresting in the shade: however, the moment they saw her, they hurried\nback to the game, the Queen merely remarking that a moment's delay would\ncost them their lives.\n\nAll the time they were playing the Queen never left off quarrelling with\nthe other players, and shouting 'Off with his head!' or 'Off with her\nhead!' Those whom she sentenced were taken into custody by the soldiers,\nwho of course had to leave off being arches to do this, so that by\nthe end of half an hour or so there were no arches left, and all the\nplayers, except the King, the Queen, and Alice, were in custody and\nunder sentence of execution.\n\nThen the Queen left off, quite out of breath, and said to Alice, 'Have\nyou seen the Mock Turtle yet?'\n\n'No,' said Alice. 'I don't even know what a Mock Turtle is.'\n\n'It's the thing Mock Turtle Soup is made from,' said the Queen.\n\n'I never saw one, or heard of one,' said Alice.\n\n'Come on, then,' said the Queen, 'and he shall tell you his history,'\n\nAs they walked off together, Alice heard the King say in a low voice,\nto the company generally, 'You are all pardoned.' 'Come, THAT'S a good\nthing!' she said to herself, for she had felt quite unhappy at the\nnumber of executions the Queen had ordered.\n\nThey very soon came upon a Gryphon, lying fast asleep in the sun.\n(IF you don't know what a Gryphon is, look at the picture.) 'Up, lazy\nthing!' said the Queen, 'and take this young lady to see the Mock\nTurtle, and to hear his history. I must go back and see after some\nexecutions I have ordered'; and she walked off, leaving Alice alone with\nthe Gryphon. Alice did not quite like the look of the creature, but on\nthe whole she thought it would be quite as safe to stay with it as to go\nafter that savage Queen: so she waited.\n\nThe Gryphon sat up and rubbed its eyes: then it watched the Queen till\nshe was out of sight: then it chuckled. 'What fun!' said the Gryphon,\nhalf to itself, half to Alice.\n\n'What IS the fun?' said Alice.\n\n'Why, SHE,' said the Gryphon. 'It's all her fancy, that: they never\nexecutes nobody, you know. Come on!'\n\n'Everybody says \"come on!\" here,' thought Alice, as she went slowly\nafter it: 'I never was so ordered about in all my life, never!'\n\nThey had not gone far before they saw the Mock Turtle in the distance,\nsitting sad and lonely on a little ledge of rock, and, as they came\nnearer, Alice could hear him sighing as if his heart would break. She\npitied him deeply. 'What is his sorrow?' she asked the Gryphon, and the\nGryphon answered, very nearly in the same words as before, 'It's all his\nfancy, that: he hasn't got no sorrow, you know. Come on!'\n\nSo they went up to the Mock Turtle, who looked at them with large eyes\nfull of tears, but said nothing.\n\n'This here young lady,' said the Gryphon, 'she wants for to know your\nhistory, she do.'\n\n'I'll tell it her,' said the Mock Turtle in a deep, hollow tone: 'sit\ndown, both of you, and don't speak a word till I've finished.'\n\nSo they sat down, and nobody spoke for some minutes. Alice thought to\nherself, 'I don't see how he can EVEN finish, if he doesn't begin.' But\nshe waited patiently.\n\n'Once,' said the Mock Turtle at last, with a deep sigh, 'I was a real\nTurtle.'\n\nThese words were followed by a very long silence, broken only by an\noccasional exclamation of 'Hjckrrh!' from the Gryphon, and the constant\nheavy sobbing of the Mock Turtle. Alice was very nearly getting up and\nsaying, 'Thank you, sir, for your interesting story,' but she could\nnot help thinking there MUST be more to come, so she sat still and said\nnothing.\n\n'When we were little,' the Mock Turtle went on at last, more calmly,\nthough still sobbing a little now and then, 'we went to school in the\nsea. The master was an old Turtle--we used to call him Tortoise--'\n\n'Why did you call him Tortoise, if he wasn't one?' Alice asked.\n\n'We called him Tortoise because he taught us,' said the Mock Turtle\nangrily: 'really you are very dull!'\n\n'You ought to be ashamed of yourself for asking such a simple question,'\nadded the Gryphon; and then they both sat silent and looked at poor\nAlice, who felt ready to sink into the earth. At last the Gryphon said\nto the Mock Turtle, 'Drive on, old fellow! Don't be all day about it!'\nand he went on in these words:\n\n'Yes, we went to school in the sea, though you mayn't believe it--'\n\n'I never said I didn't!' interrupted Alice.\n\n'You did,' said the Mock Turtle.\n\n'Hold your tongue!' added the Gryphon, before Alice could speak again.\nThe Mock Turtle went on.\n\n'We had the best of educations--in fact, we went to school every day--'\n\n'I'VE been to a day-school, too,' said Alice; 'you needn't be so proud\nas all that.'\n\n'With extras?' asked the Mock Turtle a little anxiously.\n\n'Yes,' said Alice, 'we learned French and music.'\n\n'And washing?' said the Mock Turtle.\n\n'Certainly not!' said Alice indignantly.\n\n'Ah! then yours wasn't a really good school,' said the Mock Turtle in\na tone of great relief. 'Now at OURS they had at the end of the bill,\n\"French, music, AND WASHING--extra.\"'\n\n'You couldn't have wanted it much,' said Alice; 'living at the bottom of\nthe sea.'\n\n'I couldn't afford to learn it.' said the Mock Turtle with a sigh. 'I\nonly took the regular course.'\n\n'What was that?' inquired Alice.\n\n'Reeling and Writhing, of course, to begin with,' the Mock Turtle\nreplied; 'and then the different branches of Arithmetic--Ambition,\nDistraction, Uglification, and Derision.'\n\n'I never heard of \"Uglification,\"' Alice ventured to say. 'What is it?'\n\nThe Gryphon lifted up both its paws in surprise. 'What! Never heard of\nuglifying!' it exclaimed. 'You know what to beautify is, I suppose?'\n\n'Yes,' said Alice doubtfully: 'it means--to--make--anything--prettier.'\n\n'Well, then,' the Gryphon went on, 'if you don't know what to uglify is,\nyou ARE a simpleton.'\n\nAlice did not feel encouraged to ask any more questions about it, so she\nturned to the Mock Turtle, and said 'What else had you to learn?'\n\n'Well, there was Mystery,' the Mock Turtle replied, counting off\nthe subjects on his flappers, '--Mystery, ancient and modern, with\nSeaography: then Drawling--the Drawling-master was an old conger-eel,\nthat used to come once a week: HE taught us Drawling, Stretching, and\nFainting in Coils.'\n\n'What was THAT like?' said Alice.\n\n'Well, I can't show it you myself,' the Mock Turtle said: 'I'm too\nstiff. And the Gryphon never learnt it.'\n\n'Hadn't time,' said the Gryphon: 'I went to the Classics master, though.\nHe was an old crab, HE was.'\n\n'I never went to him,' the Mock Turtle said with a sigh: 'he taught\nLaughing and Grief, they used to say.'\n\n'So he did, so he did,' said the Gryphon, sighing in his turn; and both\ncreatures hid their faces in their paws.\n\n'And how many hours a day did you do lessons?' said Alice, in a hurry to\nchange the subject.\n\n'Ten hours the first day,' said the Mock Turtle: 'nine the next, and so\non.'\n\n'What a curious plan!' exclaimed Alice.\n\n'That's the reason they're called lessons,' the Gryphon remarked:\n'because they lessen from day to day.'\n\nThis was quite a new idea to Alice, and she thought it over a little\nbefore she made her next remark. 'Then the eleventh day must have been a\nholiday?'\n\n'Of course it was,' said the Mock Turtle.\n\n'And how did you manage on the twelfth?' Alice went on eagerly.\n\n'That's enough about lessons,' the Gryphon interrupted in a very decided\ntone: 'tell her something about the games now.'\n\n\n\n\n!!! CHAPTER X. The Lobster Quadrille\n\nThe Mock Turtle sighed deeply, and drew the back of one flapper across\nhis eyes. He looked at Alice, and tried to speak, but for a minute or\ntwo sobs choked his voice. 'Same as if he had a bone in his throat,'\nsaid the Gryphon: and it set to work shaking him and punching him in\nthe back. At last the Mock Turtle recovered his voice, and, with tears\nrunning down his cheeks, he went on again:--\n\n'You may not have lived much under the sea--' ('I haven't,' said\nAlice)--'and perhaps you were never even introduced to a lobster--'\n(Alice began to say 'I once tasted--' but checked herself hastily, and\nsaid 'No, never') '--so you can have no idea what a delightful thing a\nLobster Quadrille is!'\n\n'No, indeed,' said Alice. 'What sort of a dance is it?'\n\n'Why,' said the Gryphon, 'you first form into a line along the\nsea-shore--'\n\n'Two lines!' cried the Mock Turtle. 'Seals, turtles, salmon, and so on;\nthen, when you've cleared all the jelly-fish out of the way--'\n\n'THAT generally takes some time,' interrupted the Gryphon.\n\n'--you advance twice--'\n\n'Each with a lobster as a partner!' cried the Gryphon.\n\n'Of course,' the Mock Turtle said: 'advance twice, set to partners--'\n\n'--change lobsters, and retire in same order,' continued the Gryphon.\n\n'Then, you know,' the Mock Turtle went on, 'you throw the--'\n\n'The lobsters!' shouted the Gryphon, with a bound into the air.\n\n'--as far out to sea as you can--'\n\n'Swim after them!' screamed the Gryphon.\n\n'Turn a somersault in the sea!' cried the Mock Turtle, capering wildly\nabout.\n\n'Change lobsters again!' yelled the Gryphon at the top of its voice.\n\n'Back to land again, and that's all the first figure,' said the Mock\nTurtle, suddenly dropping his voice; and the two creatures, who had been\njumping about like mad things all this time, sat down again very sadly\nand quietly, and looked at Alice.\n\n'It must be a very pretty dance,' said Alice timidly.\n\n'Would you like to see a little of it?' said the Mock Turtle.\n\n'Very much indeed,' said Alice.\n\n'Come, let's try the first figure!' said the Mock Turtle to the Gryphon.\n'We can do without lobsters, you know. Which shall sing?'\n\n'Oh, YOU sing,' said the Gryphon. 'I've forgotten the words.'\n\nSo they began solemnly dancing round and round Alice, every now and\nthen treading on her toes when they passed too close, and waving their\nforepaws to mark the time, while the Mock Turtle sang this, very slowly\nand sadly:--\n\n '\"Will you walk a little faster?\" said a whiting to a snail.\n \"There's a porpoise close behind us, and he's treading on my tail.\n\n See how eagerly the lobsters and the turtles all advance!\n They are waiting on the shingle--will you come and join the dance?\n\n Will you, won't you, will you, won't you, will you join the dance?\n Will you, won't you, will you, won't you, won't you join the dance?\n\n \"You can really have no notion how delightful it will be\n When they take us up and throw us, with the lobsters, out to sea!\"\n But the snail replied \"Too far, too far!\" and gave a look askance--\n Said he thanked the whiting kindly, but he would not join the dance.\n\n Would not, could not, would not, could not, would not join the dance.\n Would not, could not, would not, could not, could not join the dance.\n\n '\"What matters it how far we go?\" his scaly friend replied.\n \"There is another shore, you know, upon the other side.\n The further off from England the nearer is to France--\n Then turn not pale, beloved snail, but come and join the dance.\n\n Will you, won't you, will you, won't you, will you join the dance?\n Will you, won't you, will you, won't you, won't you join the dance?\"'\n\n'Thank you, it's a very interesting dance to watch,' said Alice, feeling\nvery glad that it was over at last: 'and I do so like that curious song\nabout the whiting!'\n\n'Oh, as to the whiting,' said the Mock Turtle, 'they--you've seen them,\nof course?'\n\n'Yes,' said Alice, 'I've often seen them at dinn--' she checked herself\nhastily.\n\n'I don't know where Dinn may be,' said the Mock Turtle, 'but if you've\nseen them so often, of course you know what they're like.'\n\n'I believe so,' Alice replied thoughtfully. 'They have their tails in\ntheir mouths--and they're all over crumbs.'\n\n'You're wrong about the crumbs,' said the Mock Turtle: 'crumbs would all\nwash off in the sea. But they HAVE their tails in their mouths; and the\nreason is--' here the Mock Turtle yawned and shut his eyes.--'Tell her\nabout the reason and all that,' he said to the Gryphon.\n\n'The reason is,' said the Gryphon, 'that they WOULD go with the lobsters\nto the dance. So they got thrown out to sea. So they had to fall a long\nway. So they got their tails fast in their mouths. So they couldn't get\nthem out again. That's all.'\n\n'Thank you,' said Alice, 'it's very interesting. I never knew so much\nabout a whiting before.'\n\n'I can tell you more than that, if you like,' said the Gryphon. 'Do you\nknow why it's called a whiting?'\n\n'I never thought about it,' said Alice. 'Why?'\n\n'IT DOES THE BOOTS AND SHOES.' the Gryphon replied very solemnly.\n\nAlice was thoroughly puzzled. 'Does the boots and shoes!' she repeated\nin a wondering tone.\n\n'Why, what are YOUR shoes done with?' said the Gryphon. 'I mean, what\nmakes them so shiny?'\n\nAlice looked down at them, and considered a little before she gave her\nanswer. 'They're done with blacking, I believe.'\n\n'Boots and shoes under the sea,' the Gryphon went on in a deep voice,\n'are done with a whiting. Now you know.'\n\n'And what are they made of?' Alice asked in a tone of great curiosity.\n\n'Soles and eels, of course,' the Gryphon replied rather impatiently:\n'any shrimp could have told you that.'\n\n'If I'd been the whiting,' said Alice, whose thoughts were still running\non the song, 'I'd have said to the porpoise, \"Keep back, please: we\ndon't want YOU with us!\"'\n\n'They were obliged to have him with them,' the Mock Turtle said: 'no\nwise fish would go anywhere without a porpoise.'\n\n'Wouldn't it really?' said Alice in a tone of great surprise.\n\n'Of course not,' said the Mock Turtle: 'why, if a fish came to ME, and\ntold me he was going a journey, I should say \"With what porpoise?\"'\n\n'Don't you mean \"purpose\"?' said Alice.\n\n'I mean what I say,' the Mock Turtle replied in an offended tone. And\nthe Gryphon added 'Come, let's hear some of YOUR adventures.'\n\n'I could tell you my adventures--beginning from this morning,' said\nAlice a little timidly: 'but it's no use going back to yesterday,\nbecause I was a different person then.'\n\n'Explain all that,' said the Mock Turtle.\n\n'No, no! The adventures first,' said the Gryphon in an impatient tone:\n'explanations take such a dreadful time.'\n\nSo Alice began telling them her adventures from the time when she first\nsaw the White Rabbit. She was a little nervous about it just at first,\nthe two creatures got so close to her, one on each side, and opened\ntheir eyes and mouths so VERY wide, but she gained courage as she went\non. Her listeners were perfectly quiet till she got to the part about\nher repeating 'YOU ARE OLD, FATHER WILLIAM,' to the Caterpillar, and the\nwords all coming different, and then the Mock Turtle drew a long breath,\nand said 'That's very curious.'\n\n'It's all about as curious as it can be,' said the Gryphon.\n\n'It all came different!' the Mock Turtle repeated thoughtfully. 'I\nshould like to hear her try and repeat something now. Tell her to\nbegin.' He looked at the Gryphon as if he thought it had some kind of\nauthority over Alice.\n\n'Stand up and repeat \"'TIS THE VOICE OF THE SLUGGARD,\"' said the\nGryphon.\n\n'How the creatures order one about, and make one repeat lessons!'\nthought Alice; 'I might as well be at school at once.' However, she\ngot up, and began to repeat it, but her head was so full of the Lobster\nQuadrille, that she hardly knew what she was saying, and the words came\nvery queer indeed:--\n\n  ''Tis the voice of the Lobster; I heard him declare,\n  \"You have baked me too brown, I must sugar my hair.\"\n  As a duck with its eyelids, so he with his nose\n  Trims his belt and his buttons, and turns out his toes.'\n\n       [later editions continued as follows\n  When the sands are all dry, he is gay as a lark,\n  And will talk in contemptuous tones of the Shark,\n  But, when the tide rises and sharks are around,\n  His voice has a timid and tremulous sound.]\n\n'That's different from what I used to say when I was a child,' said the\nGryphon.\n\n'Well, I never heard it before,' said the Mock Turtle; 'but it sounds\nuncommon nonsense.'\n\nAlice said nothing; she had sat down with her face in her hands,\nwondering if anything would EVER happen in a natural way again.\n\n'I should like to have it explained,' said the Mock Turtle.\n\n'She can't explain it,' said the Gryphon hastily. 'Go on with the next\nverse.'\n\n'But about his toes?' the Mock Turtle persisted. 'How COULD he turn them\nout with his nose, you know?'\n\n'It's the first position in dancing.' Alice said; but was dreadfully\npuzzled by the whole thing, and longed to change the subject.\n\n'Go on with the next verse,' the Gryphon repeated impatiently: 'it\nbegins \"I passed by his garden.\"'\n\nAlice did not dare to disobey, though she felt sure it would all come\nwrong, and she went on in a trembling voice:--\n\n  'I passed by his garden, and marked, with one eye,\n  How the Owl and the Panther were sharing a pie--'\n\n    [later editions continued as follows\n  The Panther took pie-crust, and gravy, and meat,\n  While the Owl had the dish as its share of the treat.\n  When the pie was all finished, the Owl, as a boon,\n  Was kindly permitted to pocket the spoon:\n  While the Panther received knife and fork with a growl,\n  And concluded the banquet--]\n\n'What IS the use of repeating all that stuff,' the Mock Turtle\ninterrupted, 'if you don't explain it as you go on? It's by far the most\nconfusing thing I ever heard!'\n\n'Yes, I think you'd better leave off,' said the Gryphon: and Alice was\nonly too glad to do so.\n\n'Shall we try another figure of the Lobster Quadrille?' the Gryphon went\non. 'Or would you like the Mock Turtle to sing you a song?'\n\n'Oh, a song, please, if the Mock Turtle would be so kind,' Alice\nreplied, so eagerly that the Gryphon said, in a rather offended tone,\n'Hm! No accounting for tastes! Sing her \"Turtle Soup,\" will you, old\nfellow?'\n\nThe Mock Turtle sighed deeply, and began, in a voice sometimes choked\nwith sobs, to sing this:--\n\n   'Beautiful Soup, so rich and green,\n   Waiting in a hot tureen!\n   Who for such dainties would not stoop?\n   Soup of the evening, beautiful Soup!\n   Soup of the evening, beautiful Soup!\n     Beau--ootiful Soo--oop!\n     Beau--ootiful Soo--oop!\n   Soo--oop of the e--e--evening,\n     Beautiful, beautiful Soup!\n\n   'Beautiful Soup! Who cares for fish,\n   Game, or any other dish?\n   Who would not give all else for two\n   Pennyworth only of beautiful Soup?\n   Pennyworth only of beautiful Soup?\n     Beau--ootiful Soo--oop!\n     Beau--ootiful Soo--oop!\n   Soo--oop of the e--e--evening,\n     Beautiful, beauti--FUL SOUP!'\n\n'Chorus again!' cried the Gryphon, and the Mock Turtle had just begun\nto repeat it, when a cry of 'The trial's beginning!' was heard in the\ndistance.\n\n'Come on!' cried the Gryphon, and, taking Alice by the hand, it hurried\noff, without waiting for the end of the song.\n\n'What trial is it?' Alice panted as she ran; but the Gryphon only\nanswered 'Come on!' and ran the faster, while more and more faintly\ncame, carried on the breeze that followed them, the melancholy words:--\n\n   'Soo--oop of the e--e--evening,\n     Beautiful, beautiful Soup!'\n\n\n\n\n!!! CHAPTER XI. Who Stole the Tarts?\n\nThe King and Queen of Hearts were seated on their throne when they\narrived, with a great crowd assembled about them--all sorts of little\nbirds and beasts, as well as the whole pack of cards: the Knave was\nstanding before them, in chains, with a soldier on each side to guard\nhim; and near the King was the White Rabbit, with a trumpet in one hand,\nand a scroll of parchment in the other. In the very middle of the court\nwas a table, with a large dish of tarts upon it: they looked so good,\nthat it made Alice quite hungry to look at them--'I wish they'd get the\ntrial done,' she thought, 'and hand round the refreshments!' But there\nseemed to be no chance of this, so she began looking at everything about\nher, to pass away the time.\n\nAlice had never been in a court of justice before, but she had read\nabout them in books, and she was quite pleased to find that she knew\nthe name of nearly everything there. 'That's the judge,' she said to\nherself, 'because of his great wig.'\n\nThe judge, by the way, was the King; and as he wore his crown over the\nwig, (look at the frontispiece if you want to see how he did it,) he did\nnot look at all comfortable, and it was certainly not becoming.\n\n'And that's the jury-box,' thought Alice, 'and those twelve creatures,'\n(she was obliged to say 'creatures,' you see, because some of them were\nanimals, and some were birds,) 'I suppose they are the jurors.' She said\nthis last word two or three times over to herself, being rather proud of\nit: for she thought, and rightly too, that very few little girls of her\nage knew the meaning of it at all. However, 'jury-men' would have done\njust as well.\n\nThe twelve jurors were all writing very busily on slates. 'What are they\ndoing?' Alice whispered to the Gryphon. 'They can't have anything to put\ndown yet, before the trial's begun.'\n\n'They're putting down their names,' the Gryphon whispered in reply, 'for\nfear they should forget them before the end of the trial.'\n\n'Stupid things!' Alice began in a loud, indignant voice, but she stopped\nhastily, for the White Rabbit cried out, 'Silence in the court!' and the\nKing put on his spectacles and looked anxiously round, to make out who\nwas talking.\n\nAlice could see, as well as if she were looking over their shoulders,\nthat all the jurors were writing down 'stupid things!' on their slates,\nand she could even make out that one of them didn't know how to spell\n'stupid,' and that he had to ask his neighbour to tell him. 'A nice\nmuddle their slates'll be in before the trial's over!' thought Alice.\n\nOne of the jurors had a pencil that squeaked. This of course, Alice\ncould not stand, and she went round the court and got behind him, and\nvery soon found an opportunity of taking it away. She did it so quickly\nthat the poor little juror (it was Bill, the Lizard) could not make out\nat all what had become of it; so, after hunting all about for it, he was\nobliged to write with one finger for the rest of the day; and this was\nof very little use, as it left no mark on the slate.\n\n'Herald, read the accusation!' said the King.\n\nOn this the White Rabbit blew three blasts on the trumpet, and then\nunrolled the parchment scroll, and read as follows:--\n\n   'The Queen of Hearts, she made some tarts,\n      All on a summer day:\n    The Knave of Hearts, he stole those tarts,\n      And took them quite away!'\n\n'Consider your verdict,' the King said to the jury.\n\n'Not yet, not yet!' the Rabbit hastily interrupted. 'There's a great\ndeal to come before that!'\n\n'Call the first witness,' said the King; and the White Rabbit blew three\nblasts on the trumpet, and called out, 'First witness!'\n\nThe first witness was the Hatter. He came in with a teacup in one\nhand and a piece of bread-and-butter in the other. 'I beg pardon, your\nMajesty,' he began, 'for bringing these in: but I hadn't quite finished\nmy tea when I was sent for.'\n\n'You ought to have finished,' said the King. 'When did you begin?'\n\nThe Hatter looked at the March Hare, who had followed him into the\ncourt, arm-in-arm with the Dormouse. 'Fourteenth of March, I think it\nwas,' he said.\n\n'Fifteenth,' said the March Hare.\n\n'Sixteenth,' added the Dormouse.\n\n'Write that down,' the King said to the jury, and the jury eagerly\nwrote down all three dates on their slates, and then added them up, and\nreduced the answer to shillings and pence.\n\n'Take off your hat,' the King said to the Hatter.\n\n'It isn't mine,' said the Hatter.\n\n'Stolen!' the King exclaimed, turning to the jury, who instantly made a\nmemorandum of the fact.\n\n'I keep them to sell,' the Hatter added as an explanation; 'I've none of\nmy own. I'm a hatter.'\n\nHere the Queen put on her spectacles, and began staring at the Hatter,\nwho turned pale and fidgeted.\n\n'Give your evidence,' said the King; 'and don't be nervous, or I'll have\nyou executed on the spot.'\n\nThis did not seem to encourage the witness at all: he kept shifting\nfrom one foot to the other, looking uneasily at the Queen, and in\nhis confusion he bit a large piece out of his teacup instead of the\nbread-and-butter.\n\nJust at this moment Alice felt a very curious sensation, which puzzled\nher a good deal until she made out what it was: she was beginning to\ngrow larger again, and she thought at first she would get up and leave\nthe court; but on second thoughts she decided to remain where she was as\nlong as there was room for her.\n\n'I wish you wouldn't squeeze so.' said the Dormouse, who was sitting\nnext to her. 'I can hardly breathe.'\n\n'I can't help it,' said Alice very meekly: 'I'm growing.'\n\n'You've no right to grow here,' said the Dormouse.\n\n'Don't talk nonsense,' said Alice more boldly: 'you know you're growing\ntoo.'\n\n'Yes, but I grow at a reasonable pace,' said the Dormouse: 'not in that\nridiculous fashion.' And he got up very sulkily and crossed over to the\nother side of the court.\n\nAll this time the Queen had never left off staring at the Hatter, and,\njust as the Dormouse crossed the court, she said to one of the officers\nof the court, 'Bring me the list of the singers in the last concert!' on\nwhich the wretched Hatter trembled so, that he shook both his shoes off.\n\n'Give your evidence,' the King repeated angrily, 'or I'll have you\nexecuted, whether you're nervous or not.'\n\n'I'm a poor man, your Majesty,' the Hatter began, in a trembling voice,\n'--and I hadn't begun my tea--not above a week or so--and what with the\nbread-and-butter getting so thin--and the twinkling of the tea--'\n\n'The twinkling of the what?' said the King.\n\n'It began with the tea,' the Hatter replied.\n\n'Of course twinkling begins with a T!' said the King sharply. 'Do you\ntake me for a dunce? Go on!'\n\n'I'm a poor man,' the Hatter went on, 'and most things twinkled after\nthat--only the March Hare said--'\n\n'I didn't!' the March Hare interrupted in a great hurry.\n\n'You did!' said the Hatter.\n\n'I deny it!' said the March Hare.\n\n'He denies it,' said the King: 'leave out that part.'\n\n'Well, at any rate, the Dormouse said--' the Hatter went on, looking\nanxiously round to see if he would deny it too: but the Dormouse denied\nnothing, being fast asleep.\n\n'After that,' continued the Hatter, 'I cut some more bread-and-butter--'\n\n'But what did the Dormouse say?' one of the jury asked.\n\n'That I can't remember,' said the Hatter.\n\n'You MUST remember,' remarked the King, 'or I'll have you executed.'\n\nThe miserable Hatter dropped his teacup and bread-and-butter, and went\ndown on one knee. 'I'm a poor man, your Majesty,' he began.\n\n'You're a very poor speaker,' said the King.\n\nHere one of the guinea-pigs cheered, and was immediately suppressed by\nthe officers of the court. (As that is rather a hard word, I will just\nexplain to you how it was done. They had a large canvas bag, which tied\nup at the mouth with strings: into this they slipped the guinea-pig,\nhead first, and then sat upon it.)\n\n'I'm glad I've seen that done,' thought Alice. 'I've so often read\nin the newspapers, at the end of trials, \"There was some attempts\nat applause, which was immediately suppressed by the officers of the\ncourt,\" and I never understood what it meant till now.'\n\n'If that's all you know about it, you may stand down,' continued the\nKing.\n\n'I can't go no lower,' said the Hatter: 'I'm on the floor, as it is.'\n\n'Then you may SIT down,' the King replied.\n\nHere the other guinea-pig cheered, and was suppressed.\n\n'Come, that finished the guinea-pigs!' thought Alice. 'Now we shall get\non better.'\n\n'I'd rather finish my tea,' said the Hatter, with an anxious look at the\nQueen, who was reading the list of singers.\n\n'You may go,' said the King, and the Hatter hurriedly left the court,\nwithout even waiting to put his shoes on.\n\n'--and just take his head off outside,' the Queen added to one of the\nofficers: but the Hatter was out of sight before the officer could get\nto the door.\n\n'Call the next witness!' said the King.\n\nThe next witness was the Duchess's cook. She carried the pepper-box in\nher hand, and Alice guessed who it was, even before she got into the\ncourt, by the way the people near the door began sneezing all at once.\n\n'Give your evidence,' said the King.\n\n'Shan't,' said the cook.\n\nThe King looked anxiously at the White Rabbit, who said in a low voice,\n'Your Majesty must cross-examine THIS witness.'\n\n'Well, if I must, I must,' the King said, with a melancholy air, and,\nafter folding his arms and frowning at the cook till his eyes were\nnearly out of sight, he said in a deep voice, 'What are tarts made of?'\n\n'Pepper, mostly,' said the cook.\n\n'Treacle,' said a sleepy voice behind her.\n\n'Collar that Dormouse,' the Queen shrieked out. 'Behead that Dormouse!\nTurn that Dormouse out of court! Suppress him! Pinch him! Off with his\nwhiskers!'\n\nFor some minutes the whole court was in confusion, getting the Dormouse\nturned out, and, by the time they had settled down again, the cook had\ndisappeared.\n\n'Never mind!' said the King, with an air of great relief. 'Call the next\nwitness.' And he added in an undertone to the Queen, 'Really, my dear,\nYOU must cross-examine the next witness. It quite makes my forehead\nache!'\n\nAlice watched the White Rabbit as he fumbled over the list, feeling very\ncurious to see what the next witness would be like, '--for they haven't\ngot much evidence YET,' she said to herself. Imagine her surprise, when\nthe White Rabbit read out, at the top of his shrill little voice, the\nname 'Alice!'\n\n\n\n\n!!! CHAPTER XII. Alice's Evidence\n\n\n'Here!' cried Alice, quite forgetting in the flurry of the moment how\nlarge she had grown in the last few minutes, and she jumped up in such\na hurry that she tipped over the jury-box with the edge of her skirt,\nupsetting all the jurymen on to the heads of the crowd below, and there\nthey lay sprawling about, reminding her very much of a globe of goldfish\nshe had accidentally upset the week before.\n\n'Oh, I BEG your pardon!' she exclaimed in a tone of great dismay, and\nbegan picking them up again as quickly as she could, for the accident of\nthe goldfish kept running in her head, and she had a vague sort of idea\nthat they must be collected at once and put back into the jury-box, or\nthey would die.\n\n'The trial cannot proceed,' said the King in a very grave voice, 'until\nall the jurymen are back in their proper places--ALL,' he repeated with\ngreat emphasis, looking hard at Alice as he said do.\n\nAlice looked at the jury-box, and saw that, in her haste, she had put\nthe Lizard in head downwards, and the poor little thing was waving its\ntail about in a melancholy way, being quite unable to move. She soon got\nit out again, and put it right; 'not that it signifies much,' she said\nto herself; 'I should think it would be QUITE as much use in the trial\none way up as the other.'\n\nAs soon as the jury had a little recovered from the shock of being\nupset, and their slates and pencils had been found and handed back to\nthem, they set to work very diligently to write out a history of the\naccident, all except the Lizard, who seemed too much overcome to do\nanything but sit with its mouth open, gazing up into the roof of the\ncourt.\n\n'What do you know about this business?' the King said to Alice.\n\n'Nothing,' said Alice.\n\n'Nothing WHATEVER?' persisted the King.\n\n'Nothing whatever,' said Alice.\n\n'That's very important,' the King said, turning to the jury. They were\njust beginning to write this down on their slates, when the White Rabbit\ninterrupted: 'UNimportant, your Majesty means, of course,' he said in a\nvery respectful tone, but frowning and making faces at him as he spoke.\n\n'UNimportant, of course, I meant,' the King hastily said, and went on\nto himself in an undertone,\n\n'important--unimportant--unimportant--important--' as if he were trying\nwhich word sounded best.\n\nSome of the jury wrote it down 'important,' and some 'unimportant.'\nAlice could see this, as she was near enough to look over their slates;\n'but it doesn't matter a bit,' she thought to herself.\n\nAt this moment the King, who had been for some time busily writing in\nhis note-book, cackled out 'Silence!' and read out from his book, 'Rule\nForty-two. ALL PERSONS MORE THAN A MILE HIGH TO LEAVE THE COURT.'\n\nEverybody looked at Alice.\n\n'I'M not a mile high,' said Alice.\n\n'You are,' said the King.\n\n'Nearly two miles high,' added the Queen.\n\n'Well, I shan't go, at any rate,' said Alice: 'besides, that's not a\nregular rule: you invented it just now.'\n\n'It's the oldest rule in the book,' said the King.\n\n'Then it ought to be Number One,' said Alice.\n\nThe King turned pale, and shut his note-book hastily. 'Consider your\nverdict,' he said to the jury, in a low, trembling voice.\n\n'There's more evidence to come yet, please your Majesty,' said the White\nRabbit, jumping up in a great hurry; 'this paper has just been picked\nup.'\n\n'What's in it?' said the Queen.\n\n'I haven't opened it yet,' said the White Rabbit, 'but it seems to be a\nletter, written by the prisoner to--to somebody.'\n\n'It must have been that,' said the King, 'unless it was written to\nnobody, which isn't usual, you know.'\n\n'Who is it directed to?' said one of the jurymen.\n\n'It isn't directed at all,' said the White Rabbit; 'in fact, there's\nnothing written on the OUTSIDE.' He unfolded the paper as he spoke, and\nadded 'It isn't a letter, after all: it's a set of verses.'\n\n'Are they in the prisoner's handwriting?' asked another of the jurymen.\n\n'No, they're not,' said the White Rabbit, 'and that's the queerest thing\nabout it.' (The jury all looked puzzled.)\n\n'He must have imitated somebody else's hand,' said the King. (The jury\nall brightened up again.)\n\n'Please your Majesty,' said the Knave, 'I didn't write it, and they\ncan't prove I did: there's no name signed at the end.'\n\n'If you didn't sign it,' said the King, 'that only makes the matter\nworse. You MUST have meant some mischief, or else you'd have signed your\nname like an honest man.'\n\nThere was a general clapping of hands at this: it was the first really\nclever thing the King had said that day.\n\n'That PROVES his guilt,' said the Queen.\n\n'It proves nothing of the sort!' said Alice. 'Why, you don't even know\nwhat they're about!'\n\n'Read them,' said the King.\n\nThe White Rabbit put on his spectacles. 'Where shall I begin, please\nyour Majesty?' he asked.\n\n'Begin at the beginning,' the King said gravely, 'and go on till you\ncome to the end: then stop.'\n\nThese were the verses the White Rabbit read:--\n\n   'They told me you had been to her,\n    And mentioned me to him:\n   She gave me a good character,\n    But said I could not swim.\n\n   He sent them word I had not gone\n    (We know it to be true):\n   If she should push the matter on,\n    What would become of you?\n\n   I gave her one, they gave him two,\n    You gave us three or more;\n   They all returned from him to you,\n    Though they were mine before.\n\n   If I or she should chance to be\n    Involved in this affair,\n   He trusts to you to set them free,\n    Exactly as we were.\n\n   My notion was that you had been\n    (Before she had this fit)\n   An obstacle that came between\n    Him, and ourselves, and it.\n\n   Don't let him know she liked them best,\n    For this must ever be\n   A secret, kept from all the rest,\n    Between yourself and me.'\n\n'That's the most important piece of evidence we've heard yet,' said the\nKing, rubbing his hands; 'so now let the jury--'\n\n'If any one of them can explain it,' said Alice, (she had grown so large\nin the last few minutes that she wasn't a bit afraid of interrupting\nhim,) 'I'll give him sixpence. _I_ don't believe there's an atom of\nmeaning in it.'\n\nThe jury all wrote down on their slates, 'SHE doesn't believe there's an\natom of meaning in it,' but none of them attempted to explain the paper.\n\n'If there's no meaning in it,' said the King, 'that saves a world of\ntrouble, you know, as we needn't try to find any. And yet I don't know,'\nhe went on, spreading out the verses on his knee, and looking at them\nwith one eye; 'I seem to see some meaning in them, after all. \"--SAID\nI COULD NOT SWIM--\" you can't swim, can you?' he added, turning to the\nKnave.\n\nThe Knave shook his head sadly. 'Do I look like it?' he said. (Which he\ncertainly did NOT, being made entirely of cardboard.)\n\n'All right, so far,' said the King, and he went on muttering over\nthe verses to himself: '\"WE KNOW IT TO BE TRUE--\" that's the jury, of\ncourse--\"I GAVE HER ONE, THEY GAVE HIM TWO--\" why, that must be what he\ndid with the tarts, you know--'\n\n'But, it goes on \"THEY ALL RETURNED FROM HIM TO YOU,\"' said Alice.\n\n'Why, there they are!' said the King triumphantly, pointing to the tarts\non the table. 'Nothing can be clearer than THAT. Then again--\"BEFORE SHE\nHAD THIS FIT--\" you never had fits, my dear, I think?' he said to the\nQueen.\n\n'Never!' said the Queen furiously, throwing an inkstand at the Lizard\nas she spoke. (The unfortunate little Bill had left off writing on his\nslate with one finger, as he found it made no mark; but he now hastily\nbegan again, using the ink, that was trickling down his face, as long as\nit lasted.)\n\n'Then the words don't FIT you,' said the King, looking round the court\nwith a smile. There was a dead silence.\n\n'It's a pun!' the King added in an offended tone, and everybody laughed,\n'Let the jury consider their verdict,' the King said, for about the\ntwentieth time that day.\n\n'No, no!' said the Queen. 'Sentence first--verdict afterwards.'\n\n'Stuff and nonsense!' said Alice loudly. 'The idea of having the\nsentence first!'\n\n'Hold your tongue!' said the Queen, turning purple.\n\n'I won't!' said Alice.\n\n'Off with her head!' the Queen shouted at the top of her voice. Nobody\nmoved.\n\n'Who cares for you?' said Alice, (she had grown to her full size by this\ntime.) 'You're nothing but a pack of cards!'\n\nAt this the whole pack rose up into the air, and came flying down upon\nher: she gave a little scream, half of fright and half of anger, and\ntried to beat them off, and found herself lying on the bank, with her\nhead in the lap of her sister, who was gently brushing away some dead\nleaves that had fluttered down from the trees upon her face.\n\n'Wake up, Alice dear!' said her sister; 'Why, what a long sleep you've\nhad!'\n\n'Oh, I've had such a curious dream!' said Alice, and she told her\nsister, as well as she could remember them, all these strange Adventures\nof hers that you have just been reading about; and when she had\nfinished, her sister kissed her, and said, 'It WAS a curious dream,\ndear, certainly: but now run in to your tea; it's getting late.' So\nAlice got up and ran off, thinking while she ran, as well she might,\nwhat a wonderful dream it had been.\n\nBut her sister sat still just as she left her, leaning her head on her\nhand, watching the setting sun, and thinking of little Alice and all her\nwonderful Adventures, till she too began dreaming after a fashion, and\nthis was her dream:--\n\nFirst, she dreamed of little Alice herself, and once again the tiny\nhands were clasped upon her knee, and the bright eager eyes were looking\nup into hers--she could hear the very tones of her voice, and see that\nqueer little toss of her head to keep back the wandering hair that\nWOULD always get into her eyes--and still as she listened, or seemed to\nlisten, the whole place around her became alive with the strange creatures\nof her little sister's dream.\n\nThe long grass rustled at her feet as the White Rabbit hurried by--the\nfrightened Mouse splashed his way through the neighbouring pool--she\ncould hear the rattle of the teacups as the March Hare and his friends\nshared their never-ending meal, and the shrill voice of the Queen\nordering off her unfortunate guests to execution--once more the pig-baby\nwas sneezing on the Duchess's knee, while plates and dishes crashed\naround it--once more the shriek of the Gryphon, the squeaking of the\nLizard's slate-pencil, and the choking of the suppressed guinea-pigs,\nfilled the air, mixed up with the distant sobs of the miserable Mock\nTurtle.\n\nSo she sat on, with closed eyes, and half believed herself in\nWonderland, though she knew she had but to open them again, and all\nwould change to dull reality--the grass would be only rustling in the\nwind, and the pool rippling to the waving of the reeds--the rattling\nteacups would change to tinkling sheep-bells, and the Queen's shrill\ncries to the voice of the shepherd boy--and the sneeze of the baby, the\nshriek of the Gryphon, and all the other queer noises, would change (she\nknew) to the confused clamour of the busy farm-yard--while the lowing\nof the cattle in the distance would take the place of the Mock Turtle's\nheavy sobs.\n\nLastly, she pictured to herself how this same little sister of hers\nwould, in the after-time, be herself a grown woman; and how she would\nkeep, through all her riper years, the simple and loving heart of her\nchildhood: and how she would gather about her other little children, and\nmake THEIR eyes bright and eager with many a strange tale, perhaps even\nwith the dream of Wonderland of long ago: and how she would feel with\nall their simple sorrows, and find a pleasure in all their simple joys,\nremembering her own child-life, and the happy summer days.\n\n              THE END\n\n\n\n\n\nEnd of Project Gutenberg's Alice's Adventures in Wonderland, by Lewis Carroll\n\n*** END OF THIS PROJECT GUTENBERG EBOOK ALICE'S ADVENTURES IN WONDERLAND ***\n\n***** This file should be named 11.txt or 11.zip *****\nThis and all associated files of various formats will be found in:\n        http://www.gutenberg.org/1/11/\n\n\n\nUpdated editions will replace the previous one--the old editions\nwill be renamed.\n\nCreating the works from public domain print editions means that no\none owns a United States copyright in these works, so the Foundation\n(and you!) can copy and distribute it in the United States without\npermission and without paying copyright royalties.  Special rules,\nset forth in the General Terms of Use part of this license, apply to\ncopying and distributing Project Gutenberg-tm electronic works to\nprotect the PROJECT GUTENBERG-tm concept and trademark.  Project\nGutenberg is a registered trademark, and may not be used if you\ncharge for the eBooks, unless you receive specific permission.  If you\ndo not charge anything for copies of this eBook, complying with the\nrules is very easy.  You may use this eBook for nearly any purpose\nsuch as creation of derivative works, reports, performances and\nresearch.  They may be modified and printed and given away--you may do\npractically ANYTHING with public domain eBooks.  Redistribution is\nsubject to the trademark license, especially commercial\nredistribution.\n\n\n\n*** START: FULL LICENSE ***\n\nTHE FULL PROJECT GUTENBERG LICENSE\nPLEASE READ THIS BEFORE YOU DISTRIBUTE OR USE THIS WORK\n\nTo protect the Project Gutenberg-tm mission of promoting the free\ndistribution of electronic works, by using or distributing this work\n(or any other work associated in any way with the phrase \"Project\nGutenberg\"), you agree to comply with all the terms of the Full Project\nGutenberg-tm License (available with this file or online at\nhttp://gutenberg.org/license).\n\n\nSection 1.  General Terms of Use and Redistributing Project Gutenberg-tm\nelectronic works\n\n1.A.  By reading or using any part of this Project Gutenberg-tm\nelectronic work, you indicate that you have read, understand, agree to\nand accept all the terms of this license and intellectual property\n(trademark/copyright) agreement.  If you do not agree to abide by all\nthe terms of this agreement, you must cease using and return or destroy\nall copies of Project Gutenberg-tm electronic works in your possession.\nIf you paid a fee for obtaining a copy of or access to a Project\nGutenberg-tm electronic work and you do not agree to be bound by the\nterms of this agreement, you may obtain a refund from the person or\nentity to whom you paid the fee as set forth in paragraph 1.E.8.\n\n1.B.  \"Project Gutenberg\" is a registered trademark.  It may only be\nused on or associated in any way with an electronic work by people who\nagree to be bound by the terms of this agreement.  There are a few\nthings that you can do with most Project Gutenberg-tm electronic works\neven without complying with the full terms of this agreement.  See\nparagraph 1.C below.  There are a lot of things you can do with Project\nGutenberg-tm electronic works if you follow the terms of this agreement\nand help preserve free future access to Project Gutenberg-tm electronic\nworks.  See paragraph 1.E below.\n\n1.C.  The Project Gutenberg Literary Archive Foundation (\"the Foundation\"\nor PGLAF), owns a compilation copyright in the collection of Project\nGutenberg-tm electronic works.  Nearly all the individual works in the\ncollection are in the public domain in the United States.  If an\nindividual work is in the public domain in the United States and you are\nlocated in the United States, we do not claim a right to prevent you from\ncopying, distributing, performing, displaying or creating derivative\nworks based on the work as long as all references to Project Gutenberg\nare removed.  Of course, we hope that you will support the Project\nGutenberg-tm mission of promoting free access to electronic works by\nfreely sharing Project Gutenberg-tm works in compliance with the terms of\nthis agreement for keeping the Project Gutenberg-tm name associated with\nthe work.  You can easily comply with the terms of this agreement by\nkeeping this work in the same format with its attached full Project\nGutenberg-tm License when you share it without charge with others.\n\n1.D.  The copyright laws of the place where you are located also govern\nwhat you can do with this work.  Copyright laws in most countries are in\na constant state of change.  If you are outside the United States, check\nthe laws of your country in addition to the terms of this agreement\nbefore downloading, copying, displaying, performing, distributing or\ncreating derivative works based on this work or any other Project\nGutenberg-tm work.  The Foundation makes no representations concerning\nthe copyright status of any work in any country outside the United\nStates.\n\n1.E.  Unless you have removed all references to Project Gutenberg:\n\n1.E.1.  The following sentence, with active links to, or other immediate\naccess to, the full Project Gutenberg-tm License must appear prominently\nwhenever any copy of a Project Gutenberg-tm work (any work on which the\nphrase \"Project Gutenberg\" appears, or with which the phrase \"Project\nGutenberg\" is associated) is accessed, displayed, performed, viewed,\ncopied or distributed:\n\nThis eBook is for the use of anyone anywhere at no cost and with\nalmost no restrictions whatsoever.  You may copy it, give it away or\nre-use it under the terms of the Project Gutenberg License included\nwith this eBook or online at www.gutenberg.org\n\n1.E.2.  If an individual Project Gutenberg-tm electronic work is derived\nfrom the public domain (does not contain a notice indicating that it is\nposted with permission of the copyright holder), the work can be copied\nand distributed to anyone in the United States without paying any fees\nor charges.  If you are redistributing or providing access to a work\nwith the phrase \"Project Gutenberg\" associated with or appearing on the\nwork, you must comply either with the requirements of paragraphs 1.E.1\nthrough 1.E.7 or obtain permission for the use of the work and the\nProject Gutenberg-tm trademark as set forth in paragraphs 1.E.8 or\n1.E.9.\n\n1.E.3.  If an individual Project Gutenberg-tm electronic work is posted\nwith the permission of the copyright holder, your use and distribution\nmust comply with both paragraphs 1.E.1 through 1.E.7 and any additional\nterms imposed by the copyright holder.  Additional terms will be linked\nto the Project Gutenberg-tm License for all works posted with the\npermission of the copyright holder found at the beginning of this work.\n\n1.E.4.  Do not unlink or detach or remove the full Project Gutenberg-tm\nLicense terms from this work, or any files containing a part of this\nwork or any other work associated with Project Gutenberg-tm.\n\n1.E.5.  Do not copy, display, perform, distribute or redistribute this\nelectronic work, or any part of this electronic work, without\nprominently displaying the sentence set forth in paragraph 1.E.1 with\nactive links or immediate access to the full terms of the Project\nGutenberg-tm License.\n\n1.E.6.  You may convert to and distribute this work in any binary,\ncompressed, marked up, nonproprietary or proprietary form, including any\nword processing or hypertext form.  However, if you provide access to or\ndistribute copies of a Project Gutenberg-tm work in a format other than\n\"Plain Vanilla ASCII\" or other format used in the official version\nposted on the official Project Gutenberg-tm web site (www.gutenberg.org),\nyou must, at no additional cost, fee or expense to the user, provide a\ncopy, a means of exporting a copy, or a means of obtaining a copy upon\nrequest, of the work in its original \"Plain Vanilla ASCII\" or other\nform.  Any alternate format must include the full Project Gutenberg-tm\nLicense as specified in paragraph 1.E.1.\n\n1.E.7.  Do not charge a fee for access to, viewing, displaying,\nperforming, copying or distributing any Project Gutenberg-tm works\nunless you comply with paragraph 1.E.8 or 1.E.9.\n\n1.E.8.  You may charge a reasonable fee for copies of or providing\naccess to or distributing Project Gutenberg-tm electronic works provided\nthat\n\n- You pay a royalty fee of 20% of the gross profits you derive from\n     the use of Project Gutenberg-tm works calculated using the method\n     you already use to calculate your applicable taxes.  The fee is\n     owed to the owner of the Project Gutenberg-tm trademark, but he\n     has agreed to donate royalties under this paragraph to the\n     Project Gutenberg Literary Archive Foundation.  Royalty payments\n     must be paid within 60 days following each date on which you\n     prepare (or are legally required to prepare) your periodic tax\n     returns.  Royalty payments should be clearly marked as such and\n     sent to the Project Gutenberg Literary Archive Foundation at the\n     address specified in Section 4, \"Information about donations to\n     the Project Gutenberg Literary Archive Foundation.\"\n\n- You provide a full refund of any money paid by a user who notifies\n     you in writing (or by e-mail) within 30 days of receipt that s/he\n     does not agree to the terms of the full Project Gutenberg-tm\n     License.  You must require such a user to return or\n     destroy all copies of the works possessed in a physical medium\n     and discontinue all use of and all access to other copies of\n     Project Gutenberg-tm works.\n\n- You provide, in accordance with paragraph 1.F.3, a full refund of any\n     money paid for a work or a replacement copy, if a defect in the\n     electronic work is discovered and reported to you within 90 days\n     of receipt of the work.\n\n- You comply with all other terms of this agreement for free\n     distribution of Project Gutenberg-tm works.\n\n1.E.9.  If you wish to charge a fee or distribute a Project Gutenberg-tm\nelectronic work or group of works on different terms than are set\nforth in this agreement, you must obtain permission in writing from\nboth the Project Gutenberg Literary Archive Foundation and Michael\nHart, the owner of the Project Gutenberg-tm trademark.  Contact the\nFoundation as set forth in Section 3 below.\n\n1.F.\n\n1.F.1.  Project Gutenberg volunteers and employees expend considerable\neffort to identify, do copyright research on, transcribe and proofread\npublic domain works in creating the Project Gutenberg-tm\ncollection.  Despite these efforts, Project Gutenberg-tm electronic\nworks, and the medium on which they may be stored, may contain\n\"Defects,\" such as, but not limited to, incomplete, inaccurate or\ncorrupt data, transcription errors, a copyright or other intellectual\nproperty infringement, a defective or damaged disk or other medium, a\ncomputer virus, or computer codes that damage or cannot be read by\nyour equipment.\n\n1.F.2.  LIMITED WARRANTY, DISCLAIMER OF DAMAGES - Except for the \"Right\nof Replacement or Refund\" described in paragraph 1.F.3, the Project\nGutenberg Literary Archive Foundation, the owner of the Project\nGutenberg-tm trademark, and any other party distributing a Project\nGutenberg-tm electronic work under this agreement, disclaim all\nliability to you for damages, costs and expenses, including legal\nfees.  YOU AGREE THAT YOU HAVE NO REMEDIES FOR NEGLIGENCE, STRICT\nLIABILITY, BREACH OF WARRANTY OR BREACH OF CONTRACT EXCEPT THOSE\nPROVIDED IN PARAGRAPH F3.  YOU AGREE THAT THE FOUNDATION, THE\nTRADEMARK OWNER, AND ANY DISTRIBUTOR UNDER THIS AGREEMENT WILL NOT BE\nLIABLE TO YOU FOR ACTUAL, DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE OR\nINCIDENTAL DAMAGES EVEN IF YOU GIVE NOTICE OF THE POSSIBILITY OF SUCH\nDAMAGE.\n\n1.F.3.  LIMITED RIGHT OF REPLACEMENT OR REFUND - If you discover a\ndefect in this electronic work within 90 days of receiving it, you can\nreceive a refund of the money (if any) you paid for it by sending a\nwritten explanation to the person you received the work from.  If you\nreceived the work on a physical medium, you must return the medium with\nyour written explanation.  The person or entity that provided you with\nthe defective work may elect to provide a replacement copy in lieu of a\nrefund.  If you received the work electronically, the person or entity\nproviding it to you may choose to give you a second opportunity to\nreceive the work electronically in lieu of a refund.  If the second copy\nis also defective, you may demand a refund in writing without further\nopportunities to fix the problem.\n\n1.F.4.  Except for the limited right of replacement or refund set forth\nin paragraph 1.F.3, this work is provided to you 'AS-IS' WITH NO OTHER\nWARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO\nWARRANTIES OF MERCHANTIBILITY OR FITNESS FOR ANY PURPOSE.\n\n1.F.5.  Some states do not allow disclaimers of certain implied\nwarranties or the exclusion or limitation of certain types of damages.\nIf any disclaimer or limitation set forth in this agreement violates the\nlaw of the state applicable to this agreement, the agreement shall be\ninterpreted to make the maximum disclaimer or limitation permitted by\nthe applicable state law.  The invalidity or unenforceability of any\nprovision of this agreement shall not void the remaining provisions.\n\n1.F.6.  INDEMNITY - You agree to indemnify and hold the Foundation, the\ntrademark owner, any agent or employee of the Foundation, anyone\nproviding copies of Project Gutenberg-tm electronic works in accordance\nwith this agreement, and any volunteers associated with the production,\npromotion and distribution of Project Gutenberg-tm electronic works,\nharmless from all liability, costs and expenses, including legal fees,\nthat arise directly or indirectly from any of the following which you do\nor cause to occur: (a) distribution of this or any Project Gutenberg-tm\nwork, (b) alteration, modification, or additions or deletions to any\nProject Gutenberg-tm work, and (c) any Defect you cause.\n\n\nSection  2.  Information about the Mission of Project Gutenberg-tm\n\nProject Gutenberg-tm is synonymous with the free distribution of\nelectronic works in formats readable by the widest variety of computers\nincluding obsolete, old, middle-aged and new computers.  It exists\nbecause of the efforts of hundreds of volunteers and donations from\npeople in all walks of life.\n\nVolunteers and financial support to provide volunteers with the\nassistance they need, is critical to reaching Project Gutenberg-tm's\ngoals and ensuring that the Project Gutenberg-tm collection will\nremain freely available for generations to come.  In 2001, the Project\nGutenberg Literary Archive Foundation was created to provide a secure\nand permanent future for Project Gutenberg-tm and future generations.\nTo learn more about the Project Gutenberg Literary Archive Foundation\nand how your efforts and donations can help, see Sections 3 and 4\nand the Foundation web page at http://www.pglaf.org.\n\n\nSection 3.  Information about the Project Gutenberg Literary Archive\nFoundation\n\nThe Project Gutenberg Literary Archive Foundation is a non profit\n501(c)(3) educational corporation organized under the laws of the\nstate of Mississippi and granted tax exempt status by the Internal\nRevenue Service.  The Foundation's EIN or federal tax identification\nnumber is 64-6221541.  Its 501(c)(3) letter is posted at\nhttp://pglaf.org/fundraising.  Contributions to the Project Gutenberg\nLiterary Archive Foundation are tax deductible to the full extent\npermitted by U.S. federal laws and your state's laws.\n\nThe Foundation's principal office is located at 4557 Melan Dr. S.\nFairbanks, AK, 99712., but its volunteers and employees are scattered\nthroughout numerous locations.  Its business office is located at\n809 North 1500 West, Salt Lake City, UT 84116, (801) 596-1887, email\nbusiness@pglaf.org.  Email contact links and up to date contact\ninformation can be found at the Foundation's web site and official\npage at http://pglaf.org\n\nFor additional contact information:\n     Dr. Gregory B. Newby\n     Chief Executive and Director\n     gbnewby@pglaf.org\n\n\nSection 4.  Information about Donations to the Project Gutenberg\nLiterary Archive Foundation\n\nProject Gutenberg-tm depends upon and cannot survive without wide\nspread public support and donations to carry out its mission of\nincreasing the number of public domain and licensed works that can be\nfreely distributed in machine readable form accessible by the widest\narray of equipment including outdated equipment.  Many small donations\n($1 to $5,000) are particularly important to maintaining tax exempt\nstatus with the IRS.\n\nThe Foundation is committed to complying with the laws regulating\ncharities and charitable donations in all 50 states of the United\nStates.  Compliance requirements are not uniform and it takes a\nconsiderable effort, much paperwork and many fees to meet and keep up\nwith these requirements.  We do not solicit donations in locations\nwhere we have not received written confirmation of compliance.  To\nSEND DONATIONS or determine the status of compliance for any\nparticular state visit http://pglaf.org\n\nWhile we cannot and do not solicit contributions from states where we\nhave not met the solicitation requirements, we know of no prohibition\nagainst accepting unsolicited donations from donors in such states who\napproach us with offers to donate.\n\nInternational donations are gratefully accepted, but we cannot make\nany statements concerning tax treatment of donations received from\noutside the United States.  U.S. laws alone swamp our small staff.\n\nPlease check the Project Gutenberg Web pages for current donation\nmethods and addresses.  Donations are accepted in a number of other\nways including checks, online payments and credit card donations.\nTo donate, please visit: http://pglaf.org/donate\n\n\nSection 5.  General Information About Project Gutenberg-tm electronic\nworks.\n\nProfessor Michael S. Hart is the originator of the Project Gutenberg-tm\nconcept of a library of electronic works that could be freely shared\nwith anyone.  For thirty years, he produced and distributed Project\nGutenberg-tm eBooks with only a loose network of volunteer support.\n\n\nProject Gutenberg-tm eBooks are often created from several printed\neditions, all of which are confirmed as Public Domain in the U.S.\nunless a copyright notice is included.  Thus, we do not necessarily\nkeep eBooks in compliance with any particular paper edition.\n\n\nMost people start at our Web site which has the main PG search facility:\n\n     http://www.gutenberg.org\n\nThis Web site includes information about Project Gutenberg-tm,\nincluding how to make donations to the Project Gutenberg Literary\nArchive Foundation, how to help produce our new eBooks, and how to\nsubscribe to our email newsletter to hear about new eBooks.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/Apple.tid",
    "content": "created: 20180222072026299\nlist: [[Apple 6]] [[Apple 7]] [[Apple 8]] [[Apple 9]] [[Apple 10]] [[Apple 20]] [[Apple 30]] [[Apple 100]]\nmodified: 20220227210835979\ntags: Demonstrations\ntitle: Apple\n\n<<.this-is-operator-example>>\n\nIt has a <<.field list>> field containing the following items:\n\n<<list-links \"[list[]]\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/Caruso - Ave Maria.tid",
    "content": "title: Caruso - Ave Maria\ntype: audio/mp3\n_canonical_uri: https://archive.org/download/Caruso_part1/Caruso-AveMaria.mp3\ntags: Demonstrations"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/CustomStoryTiddlerTemplateDemo.tid/Demo Tiddler List with Custom Story Tiddler Template.tid",
    "content": "created: 20211204122107920\nfilter: HelloThere Community GettingStarted Features Reference Plugins Learning\nmodified: 20211204131610322\ntags: $:/tags/TiddlerList\ntitle: Demo Tiddler List with Custom Story Tiddler Template\ntype: text/vnd.tiddlywiki\n\nThis is a demo tiddler with a custom story tiddler template that displays the tiddlers named in the list field as a fan.\n\nSee [[How to create a custom story tiddler template]] for details.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/CustomStoryTiddlerTemplateDemo.tid/Styles.tid",
    "content": "title: $:/_tw5.com/CustomStoryTiddlerTemplateDemo/Styles\ntags: $:/tags/Stylesheet\n\n.tc-custom-tiddler-template {\n\tborder: 3px solid <<colour muted-foreground>>;\n\tborder-radius: 1em;\n\tmargin-bottom: 1em;\n}\n\n.tc-custom-tiddler-template-inner {\n\tbackground: <<colour muted-foreground>>;\n\tpadding: 1em;\n}\n\n.tc-custom-tiddler-template-list {\n\tposition: relative;\n\theight: 33vh;\n}\n\n.tc-custom-tiddler-template-list .tc-custom-tiddler-template-list-item {\n\tposition: absolute;\n\twidth: 100%;\n\ttransform-origin: 50% 0;\n\ttop: 50px;\n\tleft: 0;\n\t<<box-shadow \"0px 0px 15px rgba(0, 0, 0, 0.3)\">>\n}\n\n.tc-custom-tiddler-template-list .tc-custom-tiddler-template-list-item .tc-tiddler-frame {\n\tmargin: 0;\n}"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/CustomStoryTiddlerTemplateDemo.tid/Template.tid",
    "content": "title: $:/_tw5.com/CustomStoryTiddlerTemplateDemo/Template\ncode-body: yes\n\n\\define list-item-styles()\ntransform: translate($(left)$%,$(top)$%) scale(0.3) rotate($(angle)$deg);\n\\end\n\n<div class=\"tc-custom-tiddler-template\">\n\t<div class=\"tc-custom-tiddler-template-inner\">\n\t\t<div style=\"text-align: right;\">\n\t\t\t{{||$:/core/ui/Buttons/more-tiddler-actions}} {{||$:/core/ui/Buttons/edit}} {{||$:/core/ui/Buttons/close}}\n\t\t</div>\n\t\t<$transclude mode=\"block\"/>\n\t</div>\n\t<div class=\"tc-custom-tiddler-template-list\">\n\t\t<$let numItems={{{ [subfilter{!!filter}count[]] }}} angleIncrement={{{ [[45]divide<numItems>] }}} posIncrement={{{ [[90]divide<numItems>] }}}>\n\t\t\t<$list filter={{!!filter}} counter=\"counter\">\n\t\t\t\t<$let  angle={{{ [<counter>subtract[1]multiply<angleIncrement>subtract[22.5]] }}} left={{{ [<counter>subtract[1]multiply<posIncrement>subtract[45]] }}} top={{{ 0 }}}>\n\t\t\t\t\t<div class=\"tc-custom-tiddler-template-list-item\" style=<<list-item-styles>>>\n\t\t\t\t\t\t{{||$:/core/ui/ViewTemplate}}\n\t\t\t\t\t</div>\n\t\t\t\t</$let>\n\t\t\t</$list>\n\t\t</$let>\n\t</div>\n</div>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/CustomStoryTiddlerTemplateDemo.tid/TiddlerTemplateFilter.tid",
    "content": "title: $:/_tw5.com/CustomStoryTiddlerTemplateDemo/Filter\ntags: $:/tags/StoryTiddlerTemplateFilter\nlist-before: $:/config/StoryTiddlerTemplateFilters/default\ncode-body: yes\n\n[tag[$:/tags/TiddlerList]then[$:/_tw5.com/CustomStoryTiddlerTemplateDemo/Template]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/CustomTiddlerColourCascadeDemo/CustomTiddlerColourCascadeDemo.tid",
    "content": "created: 20211206114433294\nlist-before: $:/config/TiddlerColourFilters/default\nmodified: 20211206114433294\ntags: $:/tags/TiddlerColourFilter\ntitle: $:/_tw5.com/CustomTiddlerColourCascadeDemo\ntype: text/vnd.tiddlywiki\n\n[tag[TableOfContents]then[#1e90ff]]\n[tag[Working with TiddlyWiki]then[darkorchid]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/CustomTiddlerIconCascadeDemo/CustomTiddlerIconCascadeDemo.tid",
    "content": "created: 20211205195110592\nlist-before: $:/config/TiddlerIconFilters/default\nmodified: 20211205195217941\ntags: $:/tags/TiddlerIconFilter\ntitle: $:/_tw5.com/CustomTiddlerIconCascadeDemo\ntype: text/vnd.tiddlywiki\n\n[tag[TableOfContents]then[$:/core/images/globe]]\n[tag[Working with TiddlyWiki]then[$:/core/images/help]] \n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/GroupedLists.tid",
    "content": "created: 20150106180000000\nmodified: 20241204085601176\ntags: ListWidget Lists\ntitle: GroupedLists\n\nThe following sidebar tabs give examples of grouped lists created by nesting.\n\n!! [[Types Tab|$:/core/ui/MoreSideBar/Types]]\n\nFor the \"Types Tab\", the outer list filter as shown below selects each discrete value found in the `type` field. The inner list filter selects all the (non-system) tiddlers with that type.\n\n<<tw-code \"$:/core/ui/MoreSideBar/Types\">>\n\n!! [[Recent Tab|$:/core/ui/SideBar/Recent]]\n\nThe list in the \"Recent Tab\" is generated using the <<.mlink timeline>> macro. Here, the outer list filter selects each discrete day found in the `modified` field, while the inner list filter selects all the tiddlers dated the same day in the `modified` field.\n\n<<tw-code \"$:/core/macros/timeline\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/ImageGallery Example.tid",
    "content": "created: 20140809113603449\nmodified: 20211022195248529\ntitle: ImageGallery Example\ntype: text/vnd.tiddlywiki\n\n<<.warning \"The [[ImageGallery Example]] has been replaced with the new [[Icon Gallery]] which is transcluded below\">>\n\n---\n\n{{Icon Gallery}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/KeyboardDrivenInput/Demonstration_ keyboard-driven-input Macro.tid",
    "content": "created: 20210222140234737\nmodified: 20211123034501278\ntags: Learning KeyboardDrivenInput\ntitle: Demonstration: keyboard-driven-input Macro\ntype: text/vnd.tiddlywiki\n\n\\define allshortcuts(descriptor)\n<$wikify name=scutlist text=<<displayshortcuts (($descriptor$)) '' ' ' ''>> >\n<$list filter=\"[<scutlist>split[ ]join[</kbd> or <kbd>]addprefix[<kbd>]addsuffix[</kbd>]]\" variable=scts><<scts>></$list>\n</$wikify>\n\\end\n\n\\define kdi-demo-textmacrocall()\n```\n<$macrocall $name=keyboard-driven-input \n        tiddler=\"$(tiddler)$\"\n        storeTitle=\"$(storeTitle)$\" \n        selectionStateTitle=\"$(selectionStateTitle)$\" \n        configTiddlerFilter=\"$(configTiddlerFilter)$\" \n />\n```\n\\end\n\n<$vars configTiddlerFilter=\"[[kdi-demo-configtid]]\" tiddler=\"kdi-demo-tiddler\" storeTitle=\"kdi-demo-storeTitle\" selectionStateTitle=\"kdi-demo-selectionStateTitle\" >\n\nThe [[keyboard-driven-input Macro]] is used to create filtered lists that update as the user types. It also allows navigating the lists, and invoking macros using list items, with the keyboard.\n\nIt consists of an ''[[edit-text widget|EditTextWidget]]'' wrapped in [[keyboard widgets|KeyboardWidget]]. There are <<.def keyboard>> widgets to listen for `((input-accept))`, `((input-accept-variant))`, and `((input-cancel))` keyboard shortcuts, but there is no default behaviour in response to these events; macros must be written to suit the use-case. There is also no default visualisation of the filtered options list.\n\n!!Types of keyboard input handled by the <<.var keyboard-driven-input>> macro:\n\n!!!Non-configurable: \n\nThe following keyboard events invoke macros defined alongside <<.var keyboard-driven-input>> in [[$:/core/macros/keyboard-driven-input]].\n\n|Input |Purpose |Macro |h\n|typing input |composing a string to be used within list filters |<<.var keyboard-input-actions>> |\n|`((input-up))` (<<allshortcuts input-up>>) |temporarily selecting the previous item in the filtered list |<<.var input-next-actions>>  with parameters <<.param afterOrBefore>>=`\"before\"`, <<.param reverse>>=`\"reverse[]\"` |\n|`((input-down))` (<<allshortcuts input-down>>) |temporarily selecting the next item in the filtered list |<<.var input-next-actions>> with <<.param afterOrBefore>>=`\"after\"`, <<.param reverse>>=`\"\"` |\n\nAll of the above actions generate or modify data which <<.var keyboard-driven-input>> keeps in tiddlers specified using the macro's parameters. The data can then be accessed not only by the macros invoked by keyboard shortcuts, but also outside of these, e.g. a macro to display the filtered list(s).\n\n!!!Configurable through parameters:\n\nThe following keyboard events invoke macros whose names are specified in parameters to <<.var keyboard-driven-input>>. The intended purpose is suggested by the parameter name, but there are no default macros defined within [[$:/core/macros/keyboard-driven-input]].\n\n|[[Keyboard shortcut descriptor |Keyboard Shortcut Descriptor]] |Key combination |Parameter |h\n|`((input-accept))` |<<allshortcuts input-accept>> |<<.param inputAcceptActions>> |\n|`((input-accept-variant))` |<<allshortcuts input-accept-variant>> |<<.param inputAcceptVariantActions>> |\n|`((input-cancel))` |<<allshortcuts input-cancel>> |<<.param inputCancelActions>> |\n\n<<.var keyboard-driven-input>> can be seen in action as part of various core features in TiddlyWiki, e.g.: the [[search feature|Searching in TiddlyWiki]], the [[tag-picker Macro]], and dropdown interfaces in the [[Editor toolbar]] such as [[Insert link]].\n\n!!Minimal ingredients for a demonstration\n\nKeeping in mind that the <<.var keyboard-driven-input>> macro does not, by itself, display list results, or do anything with a selected option, a minimal demonstration of the <<.var keyboard-driven-input>> macro requires: \n\n# ''a tiddler, containing a filter'' whose results depend on the user's text input, to generate the options from which the user can select\n# ''several parameters:''\n#*''a filter'' to return the title of the tiddler where the filter described in step 1 can be found, and \n#*''tiddler titles'' to use for storing state information in response to input events. These tiddlers do not need to exist already. If they do exist, the <<.var keyboard-driven-input>> macro will change their contents.\n\n!!The search filter(s)\n\nBy default, <<.var keyboard-driven-input>> will look for filters in the <<.field first-search-filter>> and <<.field second-search-filter>> fields of a tiddler (whose title is specified by a parameter discussed below).\n\nThis filter can refer to a variable called <<.var userInput>>, which shows the contents of the <<.def edit-text>> widget, as stored in a state tiddler (discussed below), at the time of the latest <kbd><<displayshortcuts ((input-up))>></kbd> or <kbd><<displayshortcuts ((input-down))>></kbd> event.\n\n''Note:'' If this filter is to be referred to in a context outside the <<.var keyboard-driven-input>> macro (such as in a popup showing the filtered options), the variable <<.var userInput>> has to be defined in those contexts as well (by reading it from a state tiddler).\n\n!!Minimal parameters\n\n|Parameter name |Notes |h\n|<<.param configTiddlerFilter>> |This is a filter, rather than a tiddler title, allowing conditional behaviour (e.g. checking for an active tab, or preferring a filter that may not be present, with a fallback).<br>The title returned must belong to an existing tiddler, containing at least one filter with which <<.var keyboard-driven-input>> can generate its results list. |\n|<<.param tiddler>> |This tiddler contains either the typed input, or the instantaneous result selection, depending upon the most recent event. It is updated with each keystroke in the ''edit-text'' widget, //and// when the user uses the <kbd><<displayshortcuts ((input-up))>></kbd> or <kbd><<displayshortcuts ((input-down))>></kbd> key to cycle through filtered results. |\n|<<.param storeTitle>> |This tiddler always reflects the user input (transcluded from the tiddler <<.param tiddler>> after each keystroke into the ''edit-text'' widget). |\n|<<.param selectionStateTitle>> |This tiddler is updated on <kbd><<displayshortcuts ((input-up))>></kbd> or <kbd><<displayshortcuts ((input-down))>></kbd> events and contains either the user input with the suffix `-userInput`, or the instantaneous selection with the suffix `-primaryList` or `-secondaryList`, depending on which of up to two filters generated the list it came from. |\n\n!!Demonstration setup\n\nI have created a tiddler called <$list filter=<<configTiddlerFilter>> /> and put the following filter into its <<.field first-search-filter>> field:  \n\n<code><$list filter=<<configTiddlerFilter>> ><$text text={{!!first-search-filter}}/></$list></code>. \n\nThis filters for non-system tiddlers whose titles contain the text the user has typed.\n\nTo use the above filter with <<.var keyboard-driven-input>>, the value of the parameter <<.param configTiddlerFilter>> should be a filter that returns <$list filter=<<configTiddlerFilter>> />.\n\nI can select <<.param tiddler>>, <<.param storeTitle>>, and <<.param selectionStateTitle>> fairly arbitrarily (just making sure not to use titles of tiddlers that I do not want changed).\n\nThis demonstration can now be invoked with the following macro call:\n\n<<kdi-demo-textmacrocall>>\n\n!!Demo\n\nTry typing in here: <$macrocall $name=keyboard-driven-input \n        tiddler=<<tiddler>>\n        storeTitle=<<storeTitle>> \n        selectionStateTitle=<<selectionStateTitle>> \n        configTiddlerFilter=<<configTiddlerFilter>> \n />  \n\nObserve the changes in the various state tiddlers in the below table. Use <kbd><<displayshortcuts ((input-up))>></kbd> and <kbd><<displayshortcuts ((input-down))>></kbd> keys to navigate among filter results. If nothing changes, try a shorter input to widen the filter. If the input has zero length, the list will contain all non-system tiddlers.\n\n@@.tablestyle\n\n|Parameter name |Tiddler title |Contents of <<.field text>> field of the tiddler |h\n|<<.param tiddler>> |{{{[<tiddler>]}}} |<pre><$text text={{{[<tiddler>get[text]]}}}/></pre>|\n|<<.param storeTitle>> |{{{[<storeTitle>]}}} |<pre><$text text= {{{[<storeTitle>get[text]]}}}/></pre>|\n|<<.param selectionStateTitle>> |{{{[<selectionStateTitle>]}}} |<pre><$text text={{{[<selectionStateTitle>get[text]]}}}/></pre>|\n@@\n\nThe <<.var keyboard-driven-input>> macro has many parameters available, including all the attributes of the enclosed ''edit-text'' widget, which make it very flexible in how it is used and how results can be displayed and interacted with.\n\nSee also: [[Customising search results]] and [[$:/core/ui/DefaultSearchResultList]]\n\n<style>\n.tablestyle {width:100%;}\n.tablestyle td + td + td {width: 50%;}\n</style>"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/KeyboardDrivenInput/kdi-demo-configtid.tid",
    "content": "created: 20210131043724146\nfirst-search-filter: [!is[system]search:title<userInput>sort[]]\nmodified: 20211123034440629\ntags: KeyboardDrivenInput\ntitle: kdi-demo-configtid\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/SampleAlert.tid",
    "content": "component: demo\ncreated: 20160107230134172\nmodified: 20160107230134172\ntitle: SampleAlert\ntype: text/vnd.tiddlywiki\n\nThis is a demonstration alert.\n\nNote that the trashcan icon deletes the tiddler containing this alert. You can also remove it by opening the tiddler SampleAlert and editing it to remove the tag [[$:/tags/Alert]]."
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/SampleNotification.tid",
    "content": "created: 20140912145543340\nmodified: 20211119192337845\ntags: Demonstrations\ntitle: SampleNotification\ntype: text/vnd.tiddlywiki\n\n{{$:/core/images/done-button}} This is a notification!"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/SampleTabFour.tid",
    "content": "created: 20150221211420000\nmodified: 20150221211613000\ntitle: SampleTabFour\ntags: sampletab\ncaption: Four\ntooltip: This tab specifies both a caption and a tooltip\norder: 4\n\nThis is the fourth of our sample tabs.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/SampleTabOne.tid",
    "content": "created: 20150221211544000\ntitle: SampleTabOne\ntags: sampletab\norder: 1\n\nThis is the first of our sample tabs.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/SampleTabThree.tid",
    "content": "created: 20150221211557000\ntitle: SampleTabThree\ntags: sampletab\norder: 3\ntooltip: This tab specifies a tooltip only\n\nThis is the third of our sample tabs.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/SampleTabTwo.tid",
    "content": "created: 20150221211552000\ntitle: SampleTabTwo\ntags: sampletab\norder: 2\n\nThis is the second of our sample tabs.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/SampleTiddlerFirst.tid",
    "content": "created: 20211117003509226\nmodified: 20260102135713260\ntags: sampletag1 sampletag2 [[Widget Examples]]\ntitle: SampleTiddlerFirst\ntype: text/vnd.tiddlywiki\n\nThis is a test tiddler called SampleTidlerFirst.\nIt is used in [[DiffTextWidget]].\nYou can modify its content."
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/SampleTiddlerSecond.tid",
    "content": "created: 20211117003511221\nmodified: 20260102135739735\ntags: sampletag1 sampletag2 [[Widget Examples]]\ntitle: SampleTiddlerSecond\n\nThis test tiddler is called SampleTiddlerSecond.\nIt is used in [[DiffTextWidget]].\nYou can edit its content."
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/SampleTiddlerThird.tid",
    "content": "created: 20211117003513463\nmodified: 20211117003749750\ntags: sampletag1 sampletag2 [[Widget Examples]]\ntitle: SampleTiddlerThird\n\nThis tiddler SampleTiddlerThird is the third test tiddler."
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/SampleWizard.tid",
    "content": "created: 20140912145537860\nfooter: <$button message=\"tm-close-tiddler\">Close</$button>\nmodified: 20211119205125230\nsubtitle: I'm a modal wizard\ntags: Demonstrations\ntitle: SampleWizard\ntype: text/vnd.tiddlywiki\n\nThis is a modal wizard dialogue, stored in the tiddler SampleWizard.\n\n{{Motovun Jack.jpg}}\n\nYou can <$button message=\"tm-modal\" param=\"SampleWizard2\">nest wizards</$button>.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/SampleWizard2.tid",
    "content": "created: 20140912145532856\nfooter: <$button message=\"tm-close-tiddler\">Close</$button>\nmodified: 20211119205144340\nsubtitle: I'm another modal wizard\ntags: Demonstrations\ntitle: SampleWizard2\ntype: text/vnd.tiddlywiki\n\nThis is another modal wizard dialogue, stored in the tiddler SampleWizard2.\n\nYou can <$button message=\"tm-modal\" param=\"SampleWizard\">nest wizards</$button>.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/TabbedExampleType.tid",
    "content": "title: TabbedExampleType\n\ntoc-tabbed-internal-nav"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/TableOfContents/Contents.tid",
    "content": "created: 20150221194324000\nlist: First Second Third Fourth\nmodified: 20211114013601186\ntags: [[Table-of-Contents Demonstrations]]\ntitle: Contents\n\n<<.toc-lorem>>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/TableOfContents/First.tid",
    "content": "created: 20150221194349000\nlist: FirstOne FirstTwo FirstThree\nmodified: 20211114013601187\ntags: Contents [[Table-of-Contents Demonstrations]]\ntitle: First\n\n<<.toc-lorem>>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/TableOfContents/FirstOne.tid",
    "content": "created: 20150221194354000\nmodified: 20211114013601187\ntags: First [[Table-of-Contents Demonstrations]]\ntitle: FirstOne\n\n<<.toc-lorem>>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/TableOfContents/FirstThree.tid",
    "content": "created: 20150221194357000\nmodified: 20211114013601187\ntags: First [[Table-of-Contents Demonstrations]]\ntitle: FirstThree\n\n<<.toc-lorem>>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/TableOfContents/FirstTwo.tid",
    "content": "created: 20150221194401000\nmodified: 20211114013601187\ntags: First [[Table-of-Contents Demonstrations]]\ntitle: FirstTwo\n\n<<.toc-lorem>>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/TableOfContents/Fourth.tid",
    "content": "caption: Fourth-Caption\ncreated: 20150221194405000\nmodified: 20211114013601188\ntags: Contents [[Table-of-Contents Demonstrations]]\ntitle: Fourth\ntype: text/vnd.tiddlywiki\n\n<<.toc-lorem>>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/TableOfContents/Second.tid",
    "content": "created: 20150221194408000\nmodified: 20211114013601190\ntags: Contents [[Table-of-Contents Demonstrations]]\ntitle: Second\n\n<<.toc-lorem>>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/TableOfContents/SecondOne.tid",
    "content": "created: 20150221194412000\nmodified: 20211114013601188\ntags: Second [[Table-of-Contents Demonstrations]]\ntitle: SecondOne\n\n<<.toc-lorem>>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/TableOfContents/SecondThree.tid",
    "content": "created: 20150221194416000\nlist: SecondThreeOne SecondThreeTwo SecondThreeThree\nmodified: 20211114013601189\ntags: Second [[Table-of-Contents Demonstrations]]\ntitle: SecondThree\ntoc-link: no\n\n<<.toc-lorem>>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/TableOfContents/SecondThreeOne.tid",
    "content": "created: 20150221194420000\nmodified: 20211114013601188\ntags: SecondThree [[Table-of-Contents Demonstrations]]\ntitle: SecondThreeOne\n\n<<.toc-lorem>>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/TableOfContents/SecondThreeThree.tid",
    "content": "created: 20150221194423000\nmodified: 20211114013601189\ntags: SecondThree [[Table-of-Contents Demonstrations]]\ntitle: SecondThreeThree\ntoc-link: no\ntype: text/vnd.tiddlywiki\n\n''Important''\n\nIt's important that this tiddler has no \"child\" to be able to visually test every possible toc code-path.\n\n* This tiddler has a field ''toc-link: no''\n* Do not tag any other tiddler with the title of this one\n\n\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/TableOfContents/SecondThreeTwo.tid",
    "content": "created: 20150221194429000\nmodified: 20211114013601189\ntags: SecondThree [[Table-of-Contents Demonstrations]]\ntitle: SecondThreeTwo\n\n<<.toc-lorem>>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/TableOfContents/SecondTwo.tid",
    "content": "created: 20150221194433000\nmodified: 20211114013601190\ntags: Second [[Table-of-Contents Demonstrations]]\ntitle: SecondTwo\n\n<<.toc-lorem>>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/TableOfContents/Third.tid",
    "content": "caption: Third-Caption\ncreated: 20150221194436000\nlist: ThirdOne ThirdTwo ThirdThree\nmodified: 20211114013601191\ntags: Contents [[Table-of-Contents Demonstrations]]\ntitle: Third\ntype: text/vnd.tiddlywiki\n\n<<.toc-lorem>>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/TableOfContents/ThirdOne.tid",
    "content": "created: 20150221194440000\nmodified: 20211114013601190\ntags: Third [[Table-of-Contents Demonstrations]]\ntitle: ThirdOne\n\n<<.toc-lorem>>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/TableOfContents/ThirdThree.tid",
    "content": "created: 20150221194446000\nmodified: 20211114013601190\ntags: Third [[Table-of-Contents Demonstrations]]\ntitle: ThirdThree\n\n<<.toc-lorem>>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/TableOfContents/ThirdTwo.tid",
    "content": "created: 20150221194453000\nmodified: 20211114013601191\ntags: Third [[Table-of-Contents Demonstrations]]\ntitle: ThirdTwo\n\n<<.toc-lorem>>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/TableOfContentsMacro Expandable Example.tid",
    "content": "created: 20150221201816000\nmodified: 20150221203715000\ntitle: Example Table of Contents: Expandable\ncaption: Expandable\ntags: table-of-contents-example\norder: 2\n\n<$macrocall $name=\".example\" n=\"1\"\neg=\"\"\"<div class=\"tc-table-of-contents\">\n<<toc-expandable \"Contents\">>\n</div>\"\"\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/TableOfContentsMacro Selective Expandable Example custom icons.tid",
    "content": "caption: Selective (custom icons)\ncreated: 20220819080004663\nmodified: 20220819081049054\norder: 5\ntags: table-of-contents-example\ntitle: Example Table of Contents: Selectively Expandable (custom icons)\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.2.4\">> It is possible to define the `toc-open-icon` and `toc-closed-icon` variable, to change the icons used by the toc macros. This setting works for all toc-macro variants\n\n<$macrocall $name=\".example\" n=\"1\"\neg=\"\"\"<$let toc-open-icon=\"$:/core/images/fold-button\" toc-closed-icon=\"$:/core/images/folder\">\n<div class=\"tc-table-of-contents\">\n<<toc-selective-expandable \"Contents\">>\n</div>\n</$let>\"\"\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/TableOfContentsMacro Selective Expandable Example.tid",
    "content": "created: 20150221201907000\nmodified: 20150221203950000\ntitle: Example Table of Contents: Selectively Expandable\ncaption: Selective\ntags: table-of-contents-example\norder: 4\n\n<$macrocall $name=\".example\" n=\"1\"\neg=\"\"\"<div class=\"tc-table-of-contents\">\n<<toc-selective-expandable \"Contents\">>\n</div>\"\"\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/TableOfContentsMacro Simple Example.tid",
    "content": "caption: Simple\ncreated: 20150221201838000\nmodified: 20260124125915331\norder: 1\ntags: table-of-contents-example\ntitle: Example Table of Contents: Simple\ntype: text/vnd.tiddlywiki\n\n<$macrocall $name=\".example\" n=\"1\"\neg=\"\"\"<div class=\"tc-table-of-contents\">\n<<toc \"Contents\">>\n</div>\"\"\"/>\n\n---\n\n<<.tip\"\"\"If you use several parameters in a macro call, it is advised to use ''named parameters'' for all of them\"\"\">>\n\n<$macrocall $name=\".example\" n=\"2\"\neg=\"\"\"<div class=\"tc-table-of-contents\">\n<<toc tag:\"Contents\" level:\"1\">>\n</div>\"\"\"/>\n\n<$macrocall $name=\".example\" n=\"3\"\neg=\"\"\"<div class=\"tc-table-of-contents\">\n<<toc tag:\"Contents\" level:\"2\">>\n</div>\"\"\"/>\n\n<$macrocall $name=\".example\" n=\"4\"\neg=\"\"\"<div class=\"tc-table-of-contents\">\n<<toc tag:\"Contents\" level:\"4\">>\n</div>\"\"\"/>\n\n* If you want to ''change'' or ''remove'' the indicator, you can locally overwrite the `toc-level-indicator` macro. \n* It is globally defined at: $:/core/macros/toc tiddler. Eg:\n\n<$macrocall $name=\".example\" n=\"5\"\neg=\"\"\"\\define toc-level-indicator()\n<!-- remove the indicator --> \n\\end\n\n<div class=\"tc-table-of-contents\">\n<<toc tag:\"Contents\" level:\"1\">>\n</div>\"\"\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/TableOfContentsMacro Sorted Expandable Example.tid",
    "content": "created: 20150221201942000\nmodified: 20150221203958000\ntitle: Example Table of Contents: Sorted Expandable\ncaption: Sorted\ntags: table-of-contents-example\norder: 3\n\n<$macrocall $name=\".example\" n=\"1\"\neg=\"\"\"<div class=\"tc-table-of-contents\">\n<<toc-expandable \"Contents\" \"sort[title]\">>\n</div>\"\"\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/TableOfContentsMacro Tabbed Example.tid",
    "content": "created: 20150221203607000\nmodified: 20150221210000000\ntitle: Example Table of Contents: Tabbed Internal\ncaption: Tabbed Internal\ntags: table-of-contents-example\norder: 5\n\n<$macrocall\n\t$name=\"toc-tabbed-internal-nav\"\n\ttag=\"TableOfContents\"\n\tselectedTiddler=\"$:/temp/toc/selectedTiddler\"\n\tunselectedText=\"<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>\"\n\tmissingText=\"<p>Missing tiddler.</p>\"\n/>\n\n```\n<$macrocall\n\t$name=\"toc-tabbed-internal-nav\"\n\ttag=\"TableOfContents\"\n\tselectedTiddler=\"$:/temp/toc/selectedTiddler\"\n\tunselectedText=\"<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>\"\n\tmissingText=\"<p>Missing tiddler.</p>\"\n/>\n```\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/TableOfContentsMacro Tabbed External Example.tid",
    "content": "created: 20150221205834000\nmodified: 20150221210006000\ntitle: Example Table of Contents: Tabbed External\ncaption: Tabbed External\ntags: table-of-contents-example\norder: 6\n\n<$macrocall\n\t$name=\"toc-tabbed-external-nav\"\n\ttag=\"TableOfContents\"\n\tselectedTiddler=\"$:/temp/toc/selectedTiddler\"\n\tunselectedText=\"<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>\"\n\tmissingText=\"<p>Missing tiddler.</p>\"\n/>\n\n```\n<$macrocall\n\t$name=\"toc-tabbed-external-nav\"\n\ttag=\"TableOfContents\"\n\tselectedTiddler=\"$:/temp/toc/selectedTiddler\"\n\tunselectedText=\"<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>\"\n\tmissingText=\"<p>Missing tiddler.</p>\"\n/>\n```\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/Tagged with TagMacro.tid",
    "content": "created: 20150221230034000\nmodified: 20211116034929868\ntags: [[tag Macro (Examples)]] [[Macro Examples]]\ntitle: Example for tag Macro\n\nThis tiddler exists to demonstrate the <<.mlink tag>> macro.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/Tasks/Compose ballad.tid",
    "content": "created: 20130825143000000\nmodified: 20211115013141494\ntags: task TaskManagementExample\ntitle: Compose ballad\n\n//This is a sample task for the TaskManagementExample//\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/Tasks/Get the Ring.tid",
    "content": "created: 20130825143100000\nmodified: 20211115013240401\ntags: task TaskManagementExample\ntitle: Get the Ring\n\n//This is a sample task for the TaskManagementExample//\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/Tasks/Go to Mordor.tid",
    "content": "created: 20130825143100000\nmodified: 20211115181040966\ntags: task done TaskManagementExample\ntitle: Go to Mordor\n\n//This is a sample task for the TaskManagementExample//\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/Tasks/Kill the Dragon.tid",
    "content": "created: 20130825143100000\nlist-before: Get the Ring\nmodified: 20211115013217852\ntags: task TaskManagementExample\ntitle: Kill the Dragon\n\n//This is a sample task for the TaskManagementExample//\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/Tasks/Make the beds.tid",
    "content": "created: 20130825143100000\nmodified: 20211115013200231\ntags: task TaskManagementExample\ntitle: Make the beds\n\n//This is a sample task for the TaskManagementExample//\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/Tasks/TaskManagementExample.tid",
    "content": "created: 20130825213300000\nmodified: 20180307153530187\ntags: Learning\ntitle: TaskManagementExample\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki5 can be used as a simple task management system without further customisation.<br>The idea is that tasks be tagged `task`, with those that are completed also tagged `done`. In this way it is straightforward to generate task lists.\n\n<<.tip \"\"\"There is [[an enhanced version of this demo|TaskManagementExample (Draggable)]] that adds the ability to drag and drop the tasks to re-order them.\"\"\">>\n\n! Outstanding tasks\n\n<$macrocall $name='wikitext-example-without-html'\nsrc=\"\"\"<$list filter=\"[!has[draft.of]tag[task]!tag[done]sort[created]]\">\n<$checkbox tag=\"done\"> <$link/></$checkbox><br>\n</$list>\n\"\"\"/>\n\n! Completed tasks\n\n<$macrocall $name='wikitext-example-without-html'\nsrc=\"\"\"<$list filter=\"[!has[draft.of]tag[task]tag[done]sort[created]]\">\n<$checkbox tag=\"done\"> ~~<$link/>~~</$checkbox><br>\n</$list>\n\"\"\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/Tasks/TaskManagementExampleDraggable.tid",
    "content": "created: 20180307153530187\nmodified: 20180307153530187\ntags: Learning\ntitle: TaskManagementExample (Draggable)\ntype: text/vnd.tiddlywiki\n\nThis is a version of the TaskManagementExample enhanced with the ability to drag and drop the task list to re-order them.<br>The list uses a the itemTemplate [[TaskManagementExampleDraggableTemplate]] tiddler, which you will also need to experiment yourself.\n\n! Outstanding tasks\n\n<$macrocall $name='wikitext-example-without-html'\nsrc=\"\"\"//Drag the tasks to re-order them//\n\n<<list-tagged-draggable tag:\"task\" subFilter:\"!has[draft.of]!tag[done]\" itemTemplate:\"TaskManagementExampleDraggableTemplate\" emptyMessage:\"You don't have any active tasks\">>\n\"\"\"/>\n\n! Completed tasks\n\n<$macrocall $name='wikitext-example-without-html'\nsrc=\"\"\"//(Listed in reverse order of completion)//\n\n<$list filter=\"[!has[draft.of]tag[task]tag[done]sort[modified]]\">\n<div>\n<$checkbox tag=\"done\"> ~~<$link/>~~</$checkbox>\n</div>\n</$list>\n\"\"\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/Tasks/TaskManagementExampleDraggableTemplate.tid",
    "content": "created: 20180307153530187\nmodified: 20180307153530187\ntags: Learning\ntitle: TaskManagementExampleDraggableTemplate\ntype: text/vnd.tiddlywiki\n\n<$checkbox tag=\"done\"> <$link/></$checkbox>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/Tasks/done.tid",
    "content": "color: #2dbe37\ncreated: 20211115013354157\nicon: $:/core/images/done-button\nmodified: 20211115013357660\ntags: TaskManagementExample\ntitle: done\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/Tasks/task.tid",
    "content": "color: #8d9ac3\ncreated: 20130825213200000\nlist: [[Make the beds]]\nmodified: 20211115013121643\ntags: TaskManagementExample\ntitle: task\n\n//This tag identifies the tasks for the TaskManagementExample//\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/TiddlyWiki.mp3.meta",
    "content": "title: TiddlyWiki.mp3\ntype: audio/mp3\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/Weekdays/Days of the Week.tid",
    "content": "created: 20150117192110000\nlist: Monday Tuesday Wednesday Thursday Friday Saturday Sunday\nmodified: 20211116221246915\nmy-special-list: [[listed Operator (Examples)]]\nshort: Mon Tue Wed Thu Fri Sat Sun\ntags: [[Operator Examples]]\ntitle: Days of the Week\ntype: text/vnd.tiddlywiki\n\n<<.this-is-operator-example>>\n\nIt has a <<.field list>> field containing the following items:\n\n<<list-links \"[list[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/Weekdays/Friday.tid",
    "content": "created: 20150117192111000\nmodified: 20211116221111294\ntags: [[Operator Examples]]\ntitle: Friday\ntype: text/vnd.tiddlywiki\n\n<<.this-is-operator-example>>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/Weekdays/Monday.tid",
    "content": "created: 20150117192113000\nmodified: 20211116221111294\ntags: [[Operator Examples]]\ntitle: Monday\ntype: text/vnd.tiddlywiki\n\n<<.this-is-operator-example>>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/Weekdays/Saturday.tid",
    "content": "created: 20150422010000000\nmodified: 20211116221111294\ntags: [[Operator Examples]]\ntitle: Saturday\ntype: text/vnd.tiddlywiki\n\n<<.this-is-operator-example>>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/Weekdays/Sunday.tid",
    "content": "created: 20150117192115000\nmodified: 20211116220736572\ntags: [[Operator Examples]]\ntitle: Sunday\ntype: text/vnd.tiddlywiki\n\n<<.this-is-operator-example>>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/Weekdays/Thursday.tid",
    "content": "created: 20150117192116000\nmodified: 20211116221111295\ntags: [[Operator Examples]]\ntitle: Thursday\ntype: text/vnd.tiddlywiki\n\n<<.this-is-operator-example>>\n\n! <<.olink before>> and <<.olink after>>\n\n<<.using-days-of-week>>\n\n<<.operator-example 1 \"[list[Days of the Week]before{!!title}]\">>\n<<.operator-example 2 \"[list[Days of the Week]after{!!title}]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/Weekdays/Tuesday.tid",
    "content": "created: 20150117192118000\nmodified: 20211116221111295\ntags: [[Operator Examples]]\ntitle: Tuesday\ntype: text/vnd.tiddlywiki\n\n<<.this-is-operator-example>>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/Weekdays/Wednesday.tid",
    "content": "created: 20150117192119000\nmodified: 20211116221111295\ntags: [[Operator Examples]]\ntitle: Wednesday\ntype: text/vnd.tiddlywiki\n\n<<.this-is-operator-example>>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/sampletag1.tid",
    "content": "created: 20211117214646420\nmodified: 20211117214650773\ntags: [[Widget Examples]]\ntitle: sampletag1\n\nThis is `sampletag1`.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/demonstrations/sampletag2.tid",
    "content": "created: 20211117214707647\nmodified: 20211117214716137\ntags: [[Widget Examples]]\ntitle: sampletag2\n\nThis is `sampletag2`.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/editions/Blog Edition.tid",
    "content": "created: 20150902123139133\nmodified: 20150902123255662\ntags: Editions\ntitle: Blog Edition\ntype: text/vnd.tiddlywiki\n\nThe ''Blog'' edition of TiddlyWiki contains tools to help publish static HTML blogs written in TiddlyWiki. It is currently designed for use under Node.js.\n\nWhile documentation is being prepared, see https://github.com/Jermolene-blog/blog for an example of use.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/editions/Editions.tid",
    "content": "created: 20140908125500000\nlist: [[Empty Edition]]\nmodified: 20160107222125923\ntags: TableOfContents\ntitle: Editions\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki is distributed in several distinct editions that are tuned for specific purposes.\n\nAn edition consists of the TiddlyWiki core components along with plugins, documentation and sample content to get you up and running as quickly as possible.\n\nYou can mix and match the components of these editions, to make a unique solution for your particular application.\n\n<<list-links \"[tag[Editions]]\">>\n\n<$macrocall $name=\".tip\" _=\"\"\"Note that editions should not be confused with the [[platforms|Platforms]] on which TiddlyWiki runs (eg as a [[single HTML file|Saving]] vs. [[under Node.js|TiddlyWiki on Node.js]])\"\"\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/editions/Empty Edition.tid",
    "content": "created: 20140916213421041\nmodified: 20160702084215576\ntags: Editions\ntitle: Empty Edition\ntype: text/vnd.tiddlywiki\n\nThe \"empty\" edition of TiddlyWiki is a vanilla distribution, with no additional plugins or configuration beyond the core code.\n\nThe empty edition can be downloaded from:\n\n* Link: [ext[empty.html]]\n* Built-in: {{$:/editions/tw5.com/snippets/download-empty-button}}\nYour browser may ask you to accept the download before it begins\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/editions/Full Edition.tid",
    "content": "created: 20150310103210459\nmodified: 20160602051530592\ntags: Editions\ntitle: Full Edition\ntype: text/vnd.tiddlywiki\n\nThe \"full\" edition of TiddlyWiki consists of all the available languages, themes and plugins for TiddlyWiki. It is intended for use in testing TiddlyWiki - in particular, for switching between all the available language plugins.\n\nThe full edition can be downloaded from:\n\nhttps://tiddlywiki.com/editions/full/\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/editions/Resume Builder Edition.tid",
    "content": "created: 20150718123139133\nmodified: 20160602051544252\ntags: Editions\ntitle: Résumé Builder Edition\ntype: text/vnd.tiddlywiki\n\nThe ''Résumé Builder'' edition of TiddlyWiki gets you started with a simple way to create a professional resume that you can save to the web or print.\n\nhttps://tiddlywiki.com/editions/resumebuilder/\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/editions/Text Slicer Edition.tid",
    "content": "created: 20150718123139133\nmodified: 20160602051553479\ntags: Editions\ntitle: Text-Slicer Edition\ntype: text/vnd.tiddlywiki\n\nThe ''Text-Slicer'' edition of TiddlyWiki contains tools to help advanced users slice long texts up into individual tiddlers.\n\nhttps://tiddlywiki.com/editions/text-slicer/\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/editions/XLSX Utilities Edition.tid",
    "content": "created: 20161023202301847\nmodified: 20161023202301847\ntags: Editions\ntitle: XLSX Utilities Edition\ntype: text/vnd.tiddlywiki\n\nThe ''XLSX Utilities'' edition of TiddlyWiki contains tools to work with `.XLSX` spreadsheets generated by applications like Microsoft Excel and Google Sheets. It can be used in the browser or under Node.js.\n\nhttps://tiddlywiki.com/editions/xlsx-utils/\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/empty-tag-node-template.tid",
    "content": "created: 20240710161501472\nlist-after: \nmodified: 20240719201317702\ntags: $:/tags/ViewTemplate\ntitle: $:/editions/tw5.com/empty-tag-node-template\ntype: \n\n<%if [<storyTiddler>!has[text]!has[tags]tagging[]] %>\nThe following tiddlers are tagged with <<tag>>:\n\n<<list-links filter:\"[<storyTiddler>!has[text]!has[tags]tagging[]]\" class:\"multi-columns\">>\n<%endif%>"
  },
  {
    "path": "editions/tw5.com/tiddlers/features/AutoSave.tid",
    "content": "created: 20140206211715540\nmodified: 20160610081543108\ntags: Features\ntitle: AutoSave\ntype: text/vnd.tiddlywiki\n\nIf there is a SavingMechanism available that supports it, TiddlyWiki will automatically trigger a save of the current document on clicking <<.icon $:/core/images/done-button>> ''ok'' or <<.icon $:/core/images/delete-button>> ''delete'' when editing a tiddler.\n\nYou should see a yellow notification at the top right of the window to confirm that an automatic save has taken place.\n\nAutomatic saving can be enabled or disabled through the ''Settings'' tab of the [[control panel|$:/ControlPanel]] <<.icon $:/core/images/options-button>>. Behind the scenes, it is controlled through the configuration tiddler [[$:/config/AutoSave]], which must have the value ''yes'' to enable automatic saving.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/features/Core Icons.tid",
    "content": "title: Core Icons\ntags: Features\nmodified: 20230423103154329\ncreated: 20230423103154329\n\n\n!! Introduction\n\nTiddlyWiki includes over 100 custom vector icons. They feature in the user interface and are also available for authors to use in their own applications. See [[Icon Gallery]] for a complete listing.\n\n!! Usage\n\nThe core icons are used by transcluding them. For example:\n\n<<wikitext-example-without-html \"\"\"{{$:/core/images/new-image-button}}\n\"\"\">>\n\nThe core icons are parameterised. The first parameter `size` specified the size at which the icon should be rendered:\n\n<<wikitext-example-without-html \"\"\"{{$:/core/images/picture|64px}}\n<$transclude $tiddler=\"$:/core/images/picture\" size=\"32px\"/>\n\"\"\">>\n\nHere is an example of dynamically resizing icons:\n\n<<wikitext-example-without-html \"\"\"<$list filter=\"[range[24,56,8]]\" variable=iconSize>\n<$text text={{{ [<iconSize>addsuffix[px]] }}} />\n<$transclude $tiddler=\"$:/core/icon\" size=<<iconSize>>/>\n</$list>\n\"\"\">>\n\nSome icons take further parameters to customise how they are rendered. For example, the $:/core/images/new-journal-button icon takes an additional parameter `day` that specifies the day of the month that should be shown on the calendar. It defaults to the current date if not specified\n\n<<wikitext-example-without-html \"\"\"{{$:/core/images/new-journal-button|48px|17}}\n<$transclude $tiddler=\"$:/core/images/new-journal-button\" day=\"17\"/>\n\"\"\">>\n\nThe core icons are implemented as embedded [[SVG elements|Using SVG]], and not as full-blown SVG images. This means that they can be styled using CSS. For example, the CSS property `fill` can be used to change the colour of the icons. For example:\n\n<<wikitext-example-without-html \"\"\"<span style=\"color: red;\">{{$:/core/images/opacity}}</span>\n\"\"\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/features/DateFormat.tid",
    "content": "created: 20140418142957325\nmodified: 20230226144359284\ntags: Features\ntitle: DateFormat\ntype: text/vnd.tiddlywiki\n\nThe default representation of dates is a compact string such as <<.value \"<$view field='modified' format='text'/>\">>. The associated template is `[UTC]YYYY0MM0DD0hh0mm0ss0XXX`. For example, the <<.field created>> and <<.field modified>> fields are stored like this.\n\nThe display format for this string can be controlled with a template. For example, transcluding the <<.field modified>> field automatically applies a template to display the date as \"{{!!modified}}\". A few widgets and filter operators allow you to manually specify a template, for example the ViewWidget:\n\n`<$view field=modified format=date template=\"DDth mmm YYYY 0hh:0mm:0ss\" />`\n\nThe date string is processed with the following substitutions:\n\n|!Token |!Substituted Value |\n|`[UTC]`|Time-shift the represented date to UTC. Must be at very start of format string |\n|`YYYY` |Full year |\n|`YY` |Two-digit year |\n|`wYYYY` |Full year with respect to week number |\n|`aYYYY` |<<.from-version \"5.1.23\">> Full year but negative dates are displayed as positive |\n|`wYY` |Two digit year with respect to week number |\n|`{era:BCE||CE}` |<<.from-version \"5.1.23\">> Displays a different string for years that are negative, zero or positive (see below) |\n|`MMM` |Month in full (e.g. \"July\") |\n|`mmm` |Short month (e.g. \"Jul\") |\n|`MM` |Month number |\n|`0MM` |Adds leading zero |\n|`ddddd` |<<.from-version \"5.2.0\">> Day of year (1 to 365, or 366 for leap years) |\n|`0ddddd` |<<.from-version \"5.2.0\">> Zero padded day of year (001 to 365, or 366 for leap years) |\n|`DDD` |Day of week in full (e.g. \"Monday\") |\n|`ddd` |Short day of week (e.g. \"Mon\") |\n|`dddd` |<<.from-version \"5.2.0\">> Weekday number from 1 through 7, beginning with Monday and ending with Sunday |\n|`DD` |Day of month |\n|`0DD` |Adds a leading zero |\n|`DDth` |Adds a suffix |\n|`WW` |ISO-8601 week number of year |\n|`0WW` |Adds a leading zero |\n|`hh` |Hours |\n|`0hh` |Adds a leading zero |\n|`hh12` |Hours in 12 hour clock |\n|`0hh12` |Hours in 12 hour clock with leading zero |\n|`mm` |Minutes |\n|`0mm` |Minutes with leading zero |\n|`ss` |Seconds |\n|`0ss` |Seconds with leading zero |\n|`XXX` |Milliseconds |\n|`0XXX` |Milliseconds with leading zero |\n|`am` or `pm` |Lower case am/pm indicator |\n|`AM` or `PM` |Upper case AM/PM indicator |\n|`TZD` |Timezone offset from UTC (e.g. \"+01:00\", \"-05:00\"…) |\n|`TIMESTAMP` |<<.from-version \"5.2.4\">> Number of milliseconds since the [[ECMAScript epoch|https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date#the_ecmascript_epoch_and_timestamps]], 1 January 1970. |\n|`\\x` |Used to escape a character that would otherwise have special meaning |\n\n\nNote that other text is passed through unchanged, allowing commas, colons or other separators to be used.\n\nThe `{era:BCE||CE}` notation can specify different strings for years that are negative, zero or positive. For example `{era:BC|Z|AD}` would display <<.value BC>> for negative years, <<.value AD>> for positive years, and <<.value Z>> for year zero.\n\n! Examples\n\n|!Template |!Output |\n|`DDth MMM YYYY` |16th February 2011 |\n|`DDth MMM \\M\\M\\M YYYY` |16th February MMM 2011 |\n|`DDth mmm YYYY 0hh:0mm:0ss` |16th Feb 2011 11:38:42 |\n\n!! Using <<.value TIMESTAMP>> to calculate time difference\n\nYou can calculate the difference between two dates by doing the following:\n\n# Convert both dates to timestamps\n# Subtract the later date from the earlier one -- if you don't know which one is earlier use the <<.olink \"abs\">> operator to get an absolute value after subtraction\n# Divide the resulting number by the number of milliseconds in your chosen interval\n\nHere is an example of calculating the number of days that passed between creation and last modification of current tiddler:\n\n* Convert the <<.field created>> and <<.field modified>> fields to timestamps\n* Divide their difference by <<.value 86400000>> which is the number of milliseconds in a day\n** 1000 milliseconds per second × 60 seconds per minute × 60 minutes per hour × 24 hours per day = 86,400,000 milliseconds per day\n\n<$macrocall $name=\".example\" n=\"0\" eg=\"\"\"<$let\n\ttimestamp-modified={{{ [{!!modified}format:date[TIMESTAMP]] }}}\n\ttimestamp-created={{{ [{!!created}format:date[TIMESTAMP]] }}}\n\tdifference-days={{{ [<timestamp-modified>subtract<timestamp-created>divide[86400000]floor[]] }}}>\n\n* ''Modified date:'' <$text text={{{ [{!!modified}format:date[YYYY-0MM-0DD]] }}}/>\n* ''Created date:'' <$text text={{{ [{!!created}format:date[YYYY-0MM-0DD]] }}}/>\n* ''Difference in days:'' <<difference-days>> days\n</$let>\"\"\"/>"
  },
  {
    "path": "editions/tw5.com/tiddlers/features/Deserializers.tid",
    "content": "created: 20230627093650105\nmodified: 20230627094356394\ntags: Features\ntitle: Deserializers\ntype: text/vnd.tiddlywiki\n\nDeserializer [[modules|Modules]] parse text in various formats into their JSON representation as tiddlers. The deserializer modules available in a wiki can be seen using the  [[deserializers operator|deserializers Operator]] and can be used with the [[deserialize Operator]].\n\nThe TiddlyWiki core provides the following deserializers:\n\n|!Deserializer |!Description |\n|(DOM)|Extracts tiddlers from a DOM node, should not be used with the <<.op deserialize[]>> operator |\n|application/javascript|Parses a JavaScript module as a tiddler extracting fields from the header comment|\n|application/json|Parses [[JSON|JSON in TiddlyWiki]] into tiddlers|\n|application/x-tiddler|Parses the [[.tid file format|TiddlerFiles]] as a tiddler|\n|application/x-tiddler-html-div|Parses the [[<DIV>.tiddler file format|TiddlerFiles]] as a tiddler|\n|application/x-tiddlers|Parses the [[MultiTiddlerFile format|MultiTiddlerFiles]] as tiddlers|\n|text/css|Parses CSS as a tiddler extracting fields from the header comment|\n|text/html|Parses an HTML file into tiddlers. Supports ~TiddlyWiki Classic HTML files, ~TiddlyWiki5 HTML files and ordinary HTML files|\n|text/plain|Parses plain text as a tiddler|"
  },
  {
    "path": "editions/tw5.com/tiddlers/features/Drag and Drop.tid",
    "content": "created: 20170328143119836\nmodified: 20170328173846754\ntags: Features\ntitle: Drag and Drop\ntype: text/vnd.tiddlywiki\n\n~TiddlyWiki uses drag and drop to power two separate features:\n\n* [[Importing Tiddlers]] into ~TiddlyWiki \n* Manipulating tiddlers within a ~TiddlyWiki \n\nTiddler manipulation via drag and drop is supported by the core user interface in the following contexts:\n\n* Entries in the \"Open\" tab of the sidebar can be reordered by drag and drop; new tiddlers can be opened by dragging their titles into the list\n* Entries within a tag pill dropdown can be reordered by drag and drop; new tiddlers can be assigned the tag by dragging their titles into the list\n* Entries in the [[control panel|$:/ControlPanel]] \"Appearance\"/\"Toolbars\" tab can be reordered by drag and drop. (Less usefully, new entries can be added to the toolbars by dragging their titles into the list)\n\nAll tiddler links are draggable by default. They can be dragged within a browser window for manipulating tiddlers, or dragged to a different browser window to initiate an [[import operation|Importing Tiddlers]]\n\nIf you want to drag a link, first move it vertically, because horizontal movement is recognized by the browser as text selection.\n\nTag pills are also draggable, and are equivalent to simultaneously dragging all of the individual tiddlers carrying the tag.\n\nSome common scenarios for drag and drop tiddler manipulation are available as reusable macros:\n\n* [[list-links-draggable Macro]] for reordering the entries in a tiddler ListField\n* [[list-tagged-draggable Macro]] for reordering the tiddlers that carry a specified tag\n\nSee DragAndDropMechanism for details of how to use the low level drag and drop primitives to build more complex interactions.\n\nThe standard HTML 5 drag and drop APIs used by ~TiddlyWiki are not generally available on mobile browsers on smartphones or tablets. The [[Mobile Drag And Drop Shim Plugin]] adds an open source library that implements partial support on many mobile browsers, including iOS and Android.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/features/Features.tid",
    "content": "created: 20130822172800000\nmodified: 20160107225826644\ntags: TableOfContents\ntitle: Features\ntype: text/vnd.tiddlywiki\n\nFurther information about specific TiddlyWiki features:\n\n<<list-links \"[tag[Features]]\">>\n\nLast but not least, TiddlyWiki is a rare example of a practical [[quine|Quine]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/features/Future Proof.tid",
    "content": "created: 20131213101024997\nmodified: 20170329104438386\ntags: Features\ntitle: Future Proof\ntype: text/vnd.tiddlywiki\n\nFrom [[Network World|https://www.networkworld.com/article/947618/tiddlywiki-a-free-open-source-wiki-revisited.html]] magazine in January 2016:\n\n<<<\nWay back in the mists of time (actually, January 2009) I [[wrote|http://www.networkworld.com/article/2272104/applications/an-amazing-free-microwiki.html]] about a really cool tool called ~TiddlyWiki, a “non-linear personal web notebook”. Fast forward to today and I just had an out of body experience: Completely by accident I found a ~TiddlyWiki that I started when I wrote that piece and it still works!\n\nFinding code that works flawlessly after just two or three years is magical enough but after seven years?! And given that ~TiddlyWiki is written as a single page Web application and considering how different browsers are now than they were in 2009, the fact that the old version of ~TiddlyWiki still works is not short of miraculous.\n<<<\n\nTiddlyWiki is designed with the long term needs of its users in mind. Because it is OpenSource and needs no infrastructure, we can be confident that all we'll need to access a ~TiddlyWiki file even in the far future is an ordinary HTML browser. If you're starting to use ~TiddlyWiki at the beginning of your career you can be confident that it will carry you through to retirement.\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/features/Importing Tiddlers.tid",
    "content": "created: 20130825162000000\nmodified: 20170328160211362\ntags: Features\ntitle: Importing Tiddlers\ntype: text/vnd.tiddlywiki\n\nYou can import tiddlers into a ~TiddlyWiki from external files or directly from another ~TiddlyWiki.\n\n!! Importing content from external files\n\nThere are several ways to import content (including text, images, pdf documents, etc.) from external files:\n\n* Use the <<.icon $:/core/images/import-button>> ''import'' button (under the ''Tools'' tab in the sidebar) to select a local file\n* Drag and drop files from Windows Explorer or OS X Finder etc. into the ~TiddlyWiki browser window\n* Paste content directly from the clipboard using the menu or keyboard shortcut (<kbd>ctrl-V</kbd> or <kbd>cmd-V</kbd>)\n** Currently supported in Chrome, Firefox and Edge (but not Internet Explorer)\n\nMost files are imported as individual tiddlers. The exceptions are:\n\n* ''.html'' files that are recognised as a ~TiddlyWiki file are parsed to extract the tiddlers within them\n* ''.json'' files are parsed to extract the tiddlers within them. They can be created by [[exporting them|How to export tiddlers]] from another ~TiddlyWiki. ~TiddlyWiki accepts JSON files that contain either a single tiddler fields object, or an array of tiddler fields objects\n\n!! Importing content from other ~TiddlyWiki browser windows\n\nTiddlers can be imported from other ~TiddlyWiki browser windows via [[Drag and Drop]]. Drag a TiddlyWiki internal link or a tag from one ~TiddlyWiki browser window to another. Dragging an internal link will import a single tiddler while dragging a tag pill will import all of the tiddlers that carry that tag.\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/features/JSON in TiddlyWiki.tid",
    "content": "title: JSON in TiddlyWiki\ntags: Features\ntype: text/vnd.tiddlywiki\ncreated: 20220427174702859\nmodified: 20220611104737314\n\n!! Introduction\n\nJSON (~JavaScript Object Notation) is a standardised text representation for data structures that is widely used for the storage and transfer of data.\n\nJSON is used in several different contexts in TiddlyWiki. For example:\n\n* Tiddlers are represented as JSON data within TiddlyWiki HTML files\n* Groups of tiddlers can be [[exported|How to export tiddlers]] and [[imported|Importing Tiddlers]] as JSON files\n* Plugin tiddlers store their constituent shadow tiddlers as JSON data\n* The client-server configuration uses [[JSON messages|TiddlyWeb JSON tiddler format]] to communicate between the client and the server\n* Arbitrary JSON data within DataTiddlers can be processed and manipulated using a set of filter operators and action widgets\n\n!! About JSON\n\nThe technical description of JSON at the official website https://json.org/ is terse. Here we summarise the main features.\n\nJSON supports two basic data structures:\n\n''Arrays'' are lists of items. The items are identified by their numeric index (starting at zero)\n\nAn example of an array is:\n\n```json\n[\"one\",\"two\",\"three\\\"four\"]\n```\n\nNote the following features of arrays:\n\n* The array is signified by square brackets surrounding the list of items\n* Each item is a string in double quotes. Double quotes can be included within the strings by preceding them with a backslash (`\\`)\n* The items are separated by commas\n\n''Objects'' are collections of name/value pairs. Each item is a value that is identified by a unique name\n\nAn example of an object is:\n\n```json\n{\n  \"first\": \"This is the first value\",\n  \"second\": \"This is the second value\",\n  \"third\": \"This is the third value\"\n}\n```\n\nNote the following features of objects:\n\n* The object is signified by curly braces surrounding the list of name/value pairs\n* Each name/value pair consists of the name in double quotes, a colon, and then the value\n* The name/value pairs are separated by commas\n\nThe examples above all show string values. JSON actually supports several different types of value. Any of these types can be used as a value:\n\n* String values, as shown above\n* Numeric values, represented as signed decimals such as `1`, `3.14`. Exponential notation can also be used e.g. `-1E10`\n* Boolean values, represented by the keywords `true` and `false`\n* The special value `null`, which is often used to represent data that is missing or incomplete\n* Objects and arrays are also values, allowing complex nested structures to be represented\n\n!! Working with Data Tiddlers\n\n* [[Reading data from JSON tiddlers]]\n* [[Constructing JSON tiddlers]]\n* [[Modifying JSON tiddlers]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/features/LazyLoading.tid",
    "content": "created: 20140206214608586\nmodified: 20211009145417525\ntags: Features\ntitle: LazyLoading\ntype: text/vnd.tiddlywiki\n\nOrdinarily with TiddlyWiki, the full content of all tiddlers is embedded into the main HTML file. Lazy loading refers to the technique of only embedding metadata about the tiddler (in other words all fields except the ''text'' field), and requesting the body from the server when required.\n\nLazy loading can be used in two configurations:\n\n* When running [[TiddlyWiki on Node.js]], just image tiddlers or all non-system tiddlers can be subject to lazy loading\n* When running [[TiddlyWiki in the Sky for TiddlyWeb]], all tiddlers are subject to lazy loading\n\nSee the [[Lazy Loading Mechanism|https://tiddlywiki.com/dev/#LazyLoadingMechanism]] for details of how lazy loading is implemented.\n\n! Lazy loading under Node.js\n\nTo start TiddlyWiki with lazy loading for image tiddlers use this command:\n\n\n```\ntiddlywiki --listen root-tiddler=$:/core/save/lazy-images\n```\n\nTo apply lazy loading to all non-system tiddlers use this command:\n\n\n```\ntiddlywiki --listen root-tiddler=$:/core/save/lazy-all\n```\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/features/Modals.tid",
    "content": "created: 20160107225427489\nmodified: 20211221102625141\ntags: Features\ntitle: Modals\ntype: text/vnd.tiddlywiki\n\nModals (or \"wizards\") fade the main TiddlyWiki window to display an isolated tiddler that must be explicitly dismissed by the user.\n\nThe tiddler to be displayed can contain the following optional fields that are used to customise the modal:\n\n|!Field |!Description |\n|footer|The footer text for the modal|\n|subtitle|The subtitle text for a modal, displayed in a `h3` html tag|\n|class|An additional class to apply to the modal wrapper|\n|help|An optional external link that will be displayed at the left of the footer with the text \"Help\"|\n|mask-closable|When set to ''yes'' or ''true'', will close the modal dialog when the mask (area outside the modal) is clicked|\n\nNote that the footer and subtitle fields are not limited to plain text, and wiki text features such as widgets and transclusions can be used as well.\n\nModals are displayed with the [[WidgetMessage: tm-modal]].\n\n<$button message=\"tm-modal\" param=\"SampleWizard\">Open demo modal</$button>\n\n<<.tip \"\"\"<$macrocall $name=\".from-version\" version=\"5.2.4\"/> allow using \"mask-closable\" field\"\"\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/features/Notifications.tid",
    "content": "created: 20160107225753340\nmodified: 20160107225855353\ntags: Features\ntitle: Notifications\ntype: text/vnd.tiddlywiki\n\nNotifications are small informational messages that appear at the top right of the TiddlyWiki window, and automatically disappear after a preset time.\n\n<$button message=\"tm-notify\" param=\"SampleNotification\">Display sample notification</$button>"
  },
  {
    "path": "editions/tw5.com/tiddlers/features/Performance Instrumentation.tid",
    "content": "created: 20190316163428191\nmodified: 20190510133455372\ntags: Features\ntitle: Performance Instrumentation\ntype: text/vnd.tiddlywiki\n\nThe core has built-in performance instrumentation for the refresh cycle. See “Performance Instrumentation” on the “Settings” tab of control panel. The wiki will need to be reloaded before it takes effect.\n\nWith performance instrumentation switched on, there is additional timing information displayed the browser developer console each time a refresh cycle is triggered. For example:\n\n```\nperformance: mainRender: 327.83ms \nperformance: styleRefresh: 9.14ms \nperformance: mainRefresh: 68.10ms \n```\n\nThe information above should be interpreted as follows:\n\n* mainRender is the time taken for the initial display of the page template\n* styleRefresh is the time taken to refresh the page stylesheet\n* mainRefresh is the time taken to refresh the main page template\n\nAs an example, try switching between the sidebar tabs to compare how long they take to render.\n\nMore detailed information on filter execution timings is also available. With performance instrumentation enabled, type the following JavaScript command in the browser developer console:\n\n```\n$tw.perf.log()\n```\n\nA table is displayed with the following information:\n\n* ''name'' - the string \"Filter: \" plus the text of the filter\n* ''invocations'' - the number of invocations of the filter since startup\n* ''totalTime'' - the total time in milliseconds spent evaluating this filter since startup\n* ''percentTime'' - the percentage of the execution time of this filter against the total execution time of all filters\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/features/SafeMode.tid",
    "content": "created: 20140419082845576\nmodified: 20190912093109517\ntags: Features\ntitle: SafeMode\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nSafe mode provides a way to disabling most customisations in TiddlyWiki. This is useful because if TiddlyWiki is customised incorrectly it can be rendered inoperable. A particular issue is that some customisations break when upgrading to a newer core version of TiddlyWiki (especially during the beta).\n\n<<.warning \"Safe mode should only be used with the single file configuration of TiddlyWiki, and then only with savers that do not autosave. Using safe mode in the client server configuration can lead to data loss.\">>\n\n! Enabling Safe Mode\n\nSafe mode is enabled in the browser by starting TiddlyWiki with the URL hash set to the string `#:safe`. For example:\n\nhttps://tiddlywiki.com/#:safe\n\n! How Safe Mode Works\n\nSafe mode triggers two changes:\n\n* All plugins are temporarily disabled. You can use the [[control panel|$:/ControlPanel]] <<.icon $:/core/images/options-button>> to disable individual plugins\n* Any tiddlers that override shadow tiddlers are renamed to give them the prefix `SAFE: `, thus restoring the underlying shadow tiddler\n* Certain configuration options are ignored, and the default settings used instead:\n** WikiParserRuleConfiguration\n\nA report tiddler is displayed that allows you to inspect the tiddlers that were renamed.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/features/Scalability.tid",
    "content": "created: 20130822173400000\nmodified: 20211124215615812\ntags: Features\ntitle: Scalability\ntype: text/vnd.tiddlywiki\n\nYou might expect that TiddlyWiki's architecture as a SinglePageApplication would make it unsuitable for large amounts of data. In fact, TiddlyWiki users regularly work with files that are tens or even over a hundred megabytes without problems - and successful experiments have been done up into the gigabytes.\n\nSee [[performance tips|Performance]] for large wikis."
  },
  {
    "path": "editions/tw5.com/tiddlers/features/Searching in TiddlyWiki.tid",
    "content": "created: 20140210160125905\nmodified: 20160607163012344\ntags: Features [[Working with TiddlyWiki]]\ntitle: Searching in TiddlyWiki\ntype: text/vnd.tiddlywiki\n\nSearching is fast and flexible in ~TiddlyWiki.\n\n! Standard search\n\nTyping text into the search box in the sidebar will turn up a list of all the tiddlers that contain that text.\n\n://(Note that the sidebar tabs will be hidden by the search results until you click the 'x' to the right of the search box to remove the search results)//\n\n! Advanced searching\n\nClicking on the magnifying glass icon <<.icon $:/core/images/advanced-search-button>> to the right of the search box will open [[$:/AdvancedSearch]]. This tiddler contains four tabs:\n\n* The ''standard'' tab contains another instance of the search box found in the sidebar\n* The ''system'' tab allows you to limit your search to system tiddlers\n* The ''shadows'' tab allows you to limit your search to shadow tiddlers\n* The ''filter'' tab is not a search box, per se, but a way to obtain a list of all tiddlers that meet the specific criteria described by that [[filter|Filters]], for example, \"All tags except system tags\"\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/features/StartupActions.tid",
    "content": "created: 20180323092308399\nmodified: 20201025161723719\ntags: Features\ntitle: StartupActions\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki executes any ActionWidgets found in tiddlers with the following system tags during startup:\n\n* Executed during initial startup:\n** <<tag \"$:/tags/StartupAction\">> (executed on all platforms)\n** <<tag \"$:/tags/StartupAction/Browser\">> (only executed when running in the browser)\n** <<tag \"$:/tags/StartupAction/Node\">> (only executed when running under Node.js)\n* Executed after startup rendering:\n** <<.from-version \"5.1.23\">> <<tag \"$:/tags/StartupAction/PostRender\">> (only executed when running in the browser)\n\n!! Initial Startup Actions\n\nThe initial startup actions are useful for customising TiddlyWiki according to environmental factors such as the screen size. For example, the following action widgets when placed in a tiddler tagged `$:/tags/StartupAction/Browser` will cause the sidebar to be hidden by default when the screen width is less than 1000 pixels:\n\n```\n<$reveal type=\"lt\" state=\"$:/info/browser/screen/width\" text=\"3000\">\n<$action-setfield $tiddler=\"$:/state/sidebar\" $value=\"no\"/>\n</$reveal>\n\n<$reveal type=\"gteq\" state=\"$:/info/browser/screen/width\" text=\"3000\">\n<$action-setfield $tiddler=\"$:/state/sidebar\" $value=\"yes\"/>\n</$reveal>\n```\n\n<<.from-version \"5.1.20\">> This example switches to the language plugin matching the language reported by the browser:\n\n```\n<$action-setfield $tiddler=\"$:/language\" text={{{ [[$:/languages/en-GB]] [plugin-type[language]sort[description]removeprefix[$:/languages/]] +[prefix{$:/info/browser/language}] ~[[en-GB]] +[addprefix[$:/languages/]] }}}/>\n```\n\nNote that global macros are not available within initial startup action tiddlers by default. If you need to access them then you'll need to explicitly include them with an [[Pragma: \\import]] at the top of the tiddler:\n\n```\n\\import [subfilter{$:/core/config/GlobalImportFilter}]\n```\n\n!! Post-Render Startup Actions\n\n<<.from-version \"5.1.23\">> Post-render startup actions occur after the TiddlyWiki user interface has been rendered. This makes it possible to perform actions that depend on the rendered display (such as displaying modals).\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/fields/ListField.tid",
    "content": "caption: list\ncreated: 20130830092500000\nmodified: 20230803052727464\ntags: Fields\ntitle: ListField\ntype: text/vnd.tiddlywiki\n\nThe `list` [[field of a tiddler|TiddlerFields]] is an optional feature that can be used to help structure your content. Its value is a [[title list|Title List]], and it can be used in several ways:\n\n* The `list` field of a tiddler that is being used as a tag determines the ordering of the tiddlers that carry that tag - see [[Tagging]] for details\n* The `list` [[filter|Filters]] selects the entries from a list\n* The `listed` [[filter|Filters]] selects the tiddlers that list the selected tiddler(s)\n* The NavigatorWidget manipulates a [[StoryList|$:/StoryList]] tiddler containing a `list` field of the tiddlers that are displayed in the main story column\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/fields/_canonical_uriField.tid",
    "content": "created: 20240627223618060\nmodified: 20240627223637576\ntitle: $:/language/Docs/Fields/_canonical_uri\n\nThe full URI of an external image, audio, or html file"
  },
  {
    "path": "editions/tw5.com/tiddlers/fileformats/MultiTiddlerFileSyntax.tid",
    "content": "created: 20150621181334837\nmodified: 20150621181400844\ntags: [[TiddlyWiki on Node.js]]\ntitle: MultiTiddlerFileSyntax\ntype: text/vnd.tiddlywiki\n\n!!! MultiTiddlerFiles\n\n<$railroad text=\"\"\"\n{<\"Header Line\">} \"Blank Line\" {(<\"Tiddler Descriptor Line\"> | <\"Comment Line\">)}\n\"\"\"/>\n\n!!! Header Line\n\n<$railroad text=\"\"\"\n<\"Identifier\"> \":\" {\"Whitespace\"} <\"Value\"> \"New Line\"\n\"\"\"/>\n\n!!! Tiddler Descriptor Line\n\n<$railroad text=\"\"\"\n<\"File Path\"> \":\" {\"Whitespace\"} <\"Tiddler Title\"> \"New Line\"\n\"\"\"/>\n\n!!! Comment Line\n\n<$railroad text=\"\"\"\n\"#\" {(\"Text\" | \"Whitespace\")} \"New Line\"\n\"\"\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/fileformats/MultiTiddlerFiles.tid",
    "content": "created: 20140209143652456\nmodified: 20150621182140407\ntags: [[TiddlyWiki on Node.js]]\ntitle: MultiTiddlerFiles\ntype: text/vnd.tiddlywiki\n\nMultiTiddlerFiles allow multiple tiddlers to be concisely represented in a single text file.\n\nThe goals of this format are:\n\n* To be easy to type and easy to read\n* Optimised for single line strings\n* To allow common fields or tags to be shared within groups of tiddlers\n* To be simple to process with external tools\n\nMultiTiddlerFiles have the extension `multids`. The file is structured as a block of shared fields followed by a blank line. The rest of the file is a sequence of comments and tiddlers. Tiddlers are specified by their title, followed by a colon, at least one space character, and then the rest of the line is the text field for the tiddler.\n\nFor example:\n\n```\ntitle: $:/language/ControlPanel/\ntags: strings\nmodifier: JoeBloggs\n\nBasics/Caption: Basics\n# This is a comment\nBasics/Version: ~TiddlyWiki Version\n```\n\nThis example defines two tiddlers, [[$:/language/ControlPanel/Basics/Caption]] and [[$:/language/ControlPanel/Basics/Version]].\n\nIf a `title` field is specified in the header then it is treated as a prefix for the individual tiddlers defined in the title.\n\n!! Syntax Specification\n\n{{MultiTiddlerFileSyntax}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/fileformats/TiddlerFiles.tid",
    "content": "created: 20130825150000000\nmodified: 20210714130751701\ntags: [[TiddlyWiki on Node.js]]\ntitle: TiddlerFiles\ntype: text/vnd.tiddlywiki\n\nTiddlers can be stored in text files in several different formats. Files containing single tiddlers can also have an auxiliary `.meta` file formatted as a sequence of name:value pairs:\n\n```\ntitle: TheTitle\nmodifier: someone\n```\n\n!! ~TiddlyWeb-style .tid files\n\nThese files consist of a sequence of lines containing name:value pairs, a blank line and then the text of the tiddler. For example:\n\n```\ntitle: MyTiddler\nmodifier: Jeremy\n\nThis is the text of my tiddler.\n```\n\nNote that many text editors require that files include a terminating newline. If you want to avoid including the terminating newline in the text of the tiddler you can use this alternative syntax:\n\n```\ntitle: MyTiddler\nmodifier: Jeremy\ntext: This is the text of my tiddler.\n```\n\n//The ContentType `application/x-tiddler` is used internally for these files//\n\n!! TiddlyWiki `<DIV>` .tiddler files\n\nIn TiddlyWiki 5, `*.tiddler` files look like this:\n\n```\n<div title=\"AnotherExampleStyleSheet\" modifier=\"blaine\" created=\"201102111106\" modified=\"201102111310\" tags=\"examples\" creator=\"psd\">\n<pre>Note that there is an embedded <pre> tag, and line feeds are not escaped.\n\nAnd, weirdly, there is no HTML encoding of the body.</pre>\n</div>\n```\n\nThese `*.tiddler` files are not exactly the same as the tiddlers inside a TiddlyWiki HTML file where they are HTML encoded.\n\nOlder `*.tiddler` files more closely matched the store format used by TiddlyWiki at the time:\n\n```\n<div tiddler=\"AnotherExampleStyleSheet\" modifier=\"JeremyRuston\" modified=\"200508181432\" created=\"200508181432\" tags=\"examples\">This is an old-school .tiddler file, without an embedded &lt;pre&gt; tag.\\nNote how the body is &quot;HTML encoded&quot; and new lines are escaped to \\\\n</div>\n```\n\n//The ContentType `application/x-tiddler-html-div` is used internally for these files//\n\n!! ~TiddlyWeb-style JSON files\n\nThese files are a straightforward array of hashmaps of `name:value` properties. All field values must be specified as strings.\n\nFor example:\n\n```\n[\n\t{\n\t\t\"title\": \"First Tiddler\",\n\t\t\"text\": \"Text of first tiddler\",\n\t\t\"tags\": \"one two [[t h r e e]]\"\n\t},{\n\t\t\"title\": \"Second Tiddler\",\n\t\t\"text\": \"Text of second tiddler\",\n\t\t\"modified\": \"20150216171751154\"\n\t}\n]\n```\n\nThe ContentType `application/json` is used internally for these files.\n\nNote that JSON files that do not conform to the tiddler structure will instead be imported as a single tiddler containing the JSON data.\n\n!! New JSON-based format for TiddlyWiki HTML files\n\nThe new format for TiddlyWiki HTML files embeds the tiddlers in JSON format within a script tag:\n\n```json\n<script class=\"tiddlywiki-tiddler-store\" type=\"application/json\">[\n{\"title\": \"A\",\"text\": \"One\"},\n{\"title\": \"B\",\"text\": \"Two\"}\n]</script>\n```\n\n!! Old DIV-based format for TiddlyWiki HTML files\n\nTiddlyWiki Classic and TiddlyWiki 5 prior to version v5.2.0 stored tiddlers encoded in `<DIV>` format.\n\nFor TiddlyWiki to import an unencrypted DIV-based HTML file, it requires a `<div id=\"storeArea\">` containing tiddler DIVs as explained above. For example:\n\n```\n<div id=\"storeArea\">\n<div created=\"20130302085406905\" modified=\"20130302084548184\" tags=\"Examples\" title=\"A tiddler title\">\n<pre>HTML encoded text of tiddler\n</pre>\n</div>\n<div created=\"20140315085406905\" modified=\"20140321084548184\" tags=\"One Two [[Three with Space]]\" title=\"Another title\" customfield=\"field value\">\n<pre>Text of this tiddler\n</pre>\n</div>\n</div>\n```\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/Conditional Operators.tid",
    "content": "created: 20190802113703788\nmodified: 20230711082337975\ntags: Filters\ntitle: Conditional Operators\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.20\">> The conditional filter operators allow ''if-then-else'' logic to be expressed within filters.\n\nThe foundation is the convention that an empty list can be used to represent the Boolean value <<.value false>> and a list with at one (or more) entries to represent <<.value true>>.\n\nThe conditional operators are:\n\n* [[then Operator]] replaces any input values with a constant string. For example:\n** <<.inline-operator-example \"[[HelloThere]is[missing]then[FOO]]\">>\n** <<.inline-operator-example \"[[Missing Tiddler]is[missing]then[FOO]]\">>\n* [[else Operator]] if the title list is empty then returns a constant string, otherwise returns the original title list\n** <<.inline-operator-example \"[[HelloThere]is[tiddler]else[BAR]]\">>\n** <<.inline-operator-example \"[[Missing Tiddler]is[tiddler]else[BAR]]\">>\n\nThese operators can be combined. For example:\n\n<<.operator-example 1 \"[[New Tiddler]is[missing]then[I am missing]else[No I am not missing]]\">>\n\nThe <<.olink else>> operator can be used to apply a defaults for missing values. In this example, we take advantage of the fact that the <<.olink get>> operator returns an empty list if the field or tiddler does not exist:\n\n<<.operator-example 2 \"[[HelloThere]get[custom-field]else[default-value]]\">>\n\n''Filter Run Prefixes''\n\nThe [[:then|Then Filter Run Prefix]] and [[:else|Else Filter Run Prefix]] named filter run prefixes serve a similar purpose as the conditional operators. \n\nAlso see: [[Named Filter Run Prefix]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/Filter Operators.tid",
    "content": "breadcrumbs: [[Filter Step]]\ncreated: 20140410103123179\nmodified: 20250302200615061\ntags: Filters\ntitle: Filter Operators\ntype: text/vnd.tiddlywiki\n\n\\define .operator-rows(filter)\n<$list filter=\"$filter$\"><tr>\n<td><$link>{{!!caption}}</$link></td>\n<td>{{!!op-purpose}}</td>\n<td align=\"center\"><$list filter=\"[all[current]tag[Common Operators]]\">✓</$list></td>\n<td align=\"center\"><$list filter=\"[all[current]tag[Negatable Operators]]\">`!`</$list></td>\n<td align=\"center\"><$list filter=\"[all[current]tag[Selection Constructors]!tag[Selection Constructors: Conditional]]\">`C`</$list><$list filter=\"[all[current]tag[Selection Constructors]tag[Selection Constructors: Conditional]]\">`C?`</$list></td>\n</tr></$list>\n\\end\n\n\\define .group-heading(_)\n<tr class=\"doc-table-subheading\"><th colspan=\"5\" align=\"center\">$_$</th></tr>\n\\end\n\nA <<.def \"filter operator\">> is a predefined keyword attached to an individual step of a [[filter|Filters]]. It defines the particular action of that step.\n\n<<.tip \"\"\"In general, each first [[filter step|Filter Step]] of a [[filter run|Filter Run]] not given any input titles receives the output of <$link to=\"all Operator\">''[all[tiddlers]]''</$link> as its input.\"\"\" title:\"Important\">>\n\n\n''Table legend:''\n\n|tc-table-no-border tc-first-col-min-width|k\n|^ ✓|^... |,Used to mark the most common ones |\n|^ `!`|^... |,The column indicates whether an operator allows ''negation'' using the <$link to=\"Filter Step\"><code>!</code> prefix</$link>.<br>For specifics as to each operator's negated output please refer to its documentation |\n|^ `C`|^... |,Most steps process the [[selection of titles|Title Selection]] that are supplied as their input, but a few [[construct an entirely new selection|Selection Constructors]] instead, as indicated by the last column.<br>A `C?` indicates it might construct a new selection, depending on usage. For specifics as to each operator's selection creation please refer to its documentation |\n\nThe following table lists all core operators:\n\n<table>\n<tr>\n<th align=\"left\">Operator</th>\n<th align=\"left\">Purpose</th>\n<th align=\"center\">✓</th>\n<th align=\"center\">`!`</th>\n<th align=\"center\">`C`</th>\n</tr>\n<<.operator-rows \"[tag[Filter Operators]!tag[Order Operators]!tag[Mathematics Operators]!tag[String Operators]!tag[Tag Operators]!tag[Special Operators]sort[]]\">>\n<<.group-heading \"Order Operators\">>\n<<.operator-rows \"[tag[Filter Operators]tag[Order Operators]!tag[Listops Operators]!tag[Mathematics Operators]!tag[String Operators]!tag[Tag Operators]!tag[Special Operators]sort[]]\">>\n<<.group-heading \"Listops Operators\">>\n<<.operator-rows \"[tag[Filter Operators]tag[Listops Operators]tag[Order Operators]!tag[Mathematics Operators]!tag[String Operators]!tag[Tag Operators]!tag[Special Operators]sort[]]\">>\n<<.group-heading \"String Operators\">>\n<<.operator-rows \"[tag[Filter Operators]!tag[Order Operators]tag[String Operators]!tag[Tag Operators]!tag[Special Operators]sort[]]\">>\n<<.group-heading \"Mathematics Operators\">>\n<<.operator-rows \"[tag[Filter Operators]!tag[Order Operators]tag[Mathematics Operators]!tag[Tag Operators]!tag[Special Operators]sort[]]\">>\n<<.group-heading \"Tag Operators\">>\n<<.operator-rows \"[tag[Filter Operators]!tag[Order Operators]!tag[Mathematics Operators]!tag[String Operators]tag[Tag Operators]!tag[Special Operators]sort[]]\">>\n<<.group-heading \"Special Operators\">>\n<<.operator-rows \"[tag[Filter Operators]!tag[Order Operators]!tag[Mathematics Operators]!tag[String Operators]!tag[Tag Operators]tag[Special Operators]sort[]]\">>\n</table>\n\nA typical step is written as `[operator[parameter]]`, although not all of the operators need a [[parameter|Filter Parameter]].\n\nFor the exact rules, see [[Filter Syntax]]."
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/Introduction to filter notation.tid",
    "content": "created: 20140410101941871\nmodified: 20201103111438568\ntags: Learning Filters\ntitle: Introduction to filter notation\ntype: text/vnd.tiddlywiki\n\n<<.preamble \"\"\"This explains the basics of writing a [[filter|Filters]] to select a set of tiddlers. For a more technical presentation, see [[Filter Syntax]].\"\"\">>\n\n<$macrocall $name=\".tip\" _=\"\"\"Filters do nothing if you just type them into a tiddler on their own. They need a context. An easy way to experiment with filters is to type them into the <<.advancedsearch-tab Filter>> tab of [[Advanced Search|$:/AdvancedSearch]].\"\"\"/>\n\nThe simplest case is where you already know exactly which tiddlers you want. Type each title in double square brackets, with a space between each one and the next:\n\n> `[[Recipe book]] [[ScrambledEggs]] [[Mom's apple pie]]`\n\nYou can omit the square brackets when a title doesn't contain any spaces:\n\n> `[[Recipe book]] ScrambledEggs [[Mom's apple pie]]`\n\nThe double square brackets are actually a shorthand for this:\n\n> `[title[ScrambledEggs]]`\n\n... which gives us the <<.def \"general model\">> for any filter:\n\n> `[operator[parameter]]`\n\nFor instance, here's how to select all the tiddlers that have been tagged <<.tag Recipe>>:\n\n> `[tag[Recipe]]`\n\nWe can reverse the meaning by adding an exclamation mark `!` just before the operator. For example, we can select any tiddlers that do <<.em not>> have the <<.tag Recipe>> tag:\n\n> `[!tag[Recipe]]`\n\nTiddlers can be filtered by other fields than just title and tags:\n\n> `[field:serving[4]]`\n\nThat example will select any tiddlers that have <<.value 4>> in their <<.field serving>> field.\n\nAs the word \"serving\" isn't a standard filter operator (and isn't likely to become one), you can safely omit the `field:` prefix:\n\n> `[serving[4]]`\n\n!Combinations\n\nThe filters we've looked at so far have involved just one step each. But you can <<.def run>> several steps together like this:\n\n> `[tag[Vegetarian]!tag[soup]serving[4]]`\n\nNotice how the entire run is contained in a single pair of square brackets.\n\nA tiddler has to match <<.em all>> of the steps in a run. So the example above retrieves vegetarian recipes (other than soups) for 4 people.\n\nA sequence of separate runs will select the tiddlers that match <<.em any>> of the runs. We can use this to find recipes that serve either 3, 4 or 5 people:\n\n> `[serving[3]] [serving[4]] [serving[5]]`\n\nIf we want to ignore vegetarian recipes that serve 4, we can say this:\n\n> `[serving[3]] [serving[4]!tag[Vegetarian]] [serving[5]]`\n\nBy default, each run considers every tiddler in the wiki. But we can use a `+` sign to force a run to consider only the tiddlers that were selected by the preceding runs:\n\n> `[serving[3]] [serving[4]] [serving[5]] +[tag[Vegetarian]] +[sort[title]]`\n\nThis selects recipes for 3, 4 or 5 people, then filters <<.em those>> to keep only the vegetarian ones, and finally sorts any that are left into alphabetical order of title.\n\nIn a similar way, we can use a `-` sign to <<.em remove>> a run's tiddlers from the result so far. Here we select all vegetarian recipes apart from two:\n\n> `[tag[Vegetarian]] -[title[ScrambledEggs]] -BeansOnToast`\n\n!Special parameters\n\nThe parameter of each step we've seen so far has been in square brackets. It means that ~TiddlyWiki will filter for the exact string found between the brackets. But two other kinds of bracket are possible:\n\n<<.def \"Curly brackets\">> `{}` mean that the parameter is a TextReference, and it will be replaced with content from another tiddler. For example, if we have a tiddler with the title <<.tid Preference>> whose content is the single word <<.value Vegetarian>>, we can say\n\n> `[tag{Preference}]`\n\nIn this simplest form the TextReference will take the full content of the tiddler (in technical terms, the text field of the tiddler) and substitute it in place of the TextReference. This way the tiddler's content will become the filter parameter, just like if you have written `[tag[Vegetarian]]`. But it gives you the added flexibility to change the parameter by changing the content of the Preference tiddler.\n\n<<.def \"Angle brackets\">> `<>` mean that the parameter is the name of a [[variable|Variables]] whose value is to be used instead. Here we use the built-in <<.vlink currentTiddler>> variable in a filter that selects any tiddlers whose text contains the title of the current one:\n\n> `[search<currentTiddler>]`\n\nNote that these special brackets cannot be nested. It is not possible for example to write `[search{<currentTiddler>}]`.\n\n!Multiple parameters\n\n<<.from-version \"5.1.23\">> Some steps accept multiple parameters which are separated by a ` , ` character.\n\n> Example: `[param1],[param2]` or `<param1>,{param2}`\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/Mathematics Operators.tid",
    "content": "created: 20190206140446821\nmodified: 20230321133008898\ntags: Filters\ntitle: Mathematics Operators\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.20\">>The mathematics filter operators allow numerical calculations to be performed within filters.\n\n! Using mathematics operators\n\nThe mathematics operators interpret their arguments as numbers according to the following rules:\n\n* Any non-numeric characters after a valid number are ignored (e.g. `28px` is interpreted as the number 28)\n* If the argument cannot be interpreted as a number, the value 0 is used (e.g. `foo` is interpreted as the number 0)\n* The special values `Infinity` and `-Infinity` can be used to represent positive and negative infinity respectively\n\n<$macrocall $name=\".warning\" _=\"Some filter operators remove duplicate items which can cause unexpected results when using the mathematics operators. See [[Dominant Append]] for details.\"/>\n\nThe mathematics operators take three different forms:\n\n* ''Unary operators'' apply an operation to each number in the input list (e.g. negate, truncate, sign)\n** <<.inline-operator-example \"=1 =2 =3 =4 +[negate[]]\">>\n** <<.inline-operator-example \"=1.2 =2.4 =3.6 =4.8 +[trunc[]]\">>\n** <<.inline-operator-example \"=1.2 =2.4 =3.6 =4.8 +[round[]]\">>\n* ''Binary operators'' apply an operation and parameter to each number in the input list (e.g. add, multiply, remainder) \n** <<.inline-operator-example \"=1 =2 =3 =4 +[add[3]]\">>\n** <<.inline-operator-example \"=1 =2 =3 =4 +[multiply[8]]\">>\n* ''Reducing operators'' apply an operation to all of the numbers in the input list, returning a single result (e.g. sum, product)\n** <<.inline-operator-example \"=1 =2 =3 =4 +[sum[]]\">>\n** <<.inline-operator-example \"=1 =2 =3 =4 +[product[]]\">>\n** <<.inline-operator-example \"=1 =2 =3 =4 +[average[]]\">>\n\n\n! Operations Combination\n\nOperations can be combined by concatenating them while merging the inner `][` characters.\n\n* <<.inline-operator-example \"[[355]divide[113]fixed[5]]\">>\n* <<.inline-operator-example \"[range[100]sum[]divide[100]]\">>\n* <<.inline-operator-example \"[tag[HelloThere]get[text]length[]sum[]]\">>\n\nComplex operations will sometimes need to be split up into separate filters. For example, to compute the average length of the text field of tiddlers tagged \"~HelloThere\":\n\n<$macrocall $name='wikitext-example-without-html'\nsrc=\"\"\"<$set name=\"number-of-tiddlers\" value={{{ [tag[HelloThere]count[]] }}}>\nAverage length of <$text text=<<number-of-tiddlers>>/> tiddlers tagged <<tag \"HelloThere\">>: <$text text={{{ [tag[HelloThere]get[text]length[]sum[]divide<number-of-tiddlers>fixed[3]] }}}/>\n</$set>\"\"\" />\n\n! Mathematics Operators list\n\n<table>\n<tr>\n<th align=\"left\">Operator</th>\n<th align=\"left\">Purpose</th>\n</tr>\n<$list filter=\"[tag[Mathematics Operators]sort[caption]]\">\n<tr>\n<td><$link>{{!!caption}}</$link></td>\n<td>{{!!op-purpose}}</td>\n</tr>\n</$list>\n</table>\n\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/abs Operator.tid",
    "content": "caption: abs\ncreated: 20190611174137960\nmodified: 20190611174208327\nop-input: a [[selection of titles|Title Selection]]\nop-output: the absolute value of the input numbers\nop-purpose: calculate the absolute value of a list of numbers\ntags: [[Unary Mathematics Operators]] [[Filter Operators]] [[Mathematics Operators]]\ntitle: abs Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.20\">> See [[Mathematics Operators]] for an overview.\n\n<<.operator-examples \"abs\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/acos Operator.tid",
    "content": "caption: acos\ncreated: 20211019211936842\nmodified: 20211021222835888\nop-input: a [[selection of titles|Title Selection]]\nop-output: the arccosine (in radians) of the input numbers\nop-purpose: calculate the arccosine value (in radians) of a list of numbers\ntags: [[Filter Operators]] [[Mathematics Operators]] [[Trigonometric Operators]] [[Unary Mathematics Operators]]\ntitle: acos Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.21\">> See [[Mathematics Operators]] for an overview.\n\n<<.tip \" This is the inverse operation of [[cos|cos Operator]]: cos calculate the cosine of an angle (in radian), but acos calculate the angle (in radian) of a cosine.\">>\n\n<<.operator-examples \"acos\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/add.tid",
    "content": "caption: add\ncreated: 20190206140446821\nmodified: 20230321130647487\nop-input: a [[selection of titles|Title Selection]]\nop-output: the input as numbers, but with <<.place N>> added to each one\nop-parameter: a number\nop-parameter-name: N\nop-purpose: treating each input title as a number, add to each the numeric value of the parameter\ntags: [[Filter Operators]] [[Mathematics Operators]] [[Binary Mathematics Operators]]\ntitle: add Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.20\">> See [[Mathematics Operators]] for an overview.\n\n<<.operator-examples \"add\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/addprefix.tid",
    "content": "created: 20140410103123179\nmodified: 20150203181822000\ntags: [[Filter Operators]] [[String Operators]]\ntitle: addprefix Operator\ntype: text/vnd.tiddlywiki\ncaption: addprefix\nop-purpose: extend each input title with a prefix\nop-input: a [[selection of titles|Title Selection]]\nop-parameter: a string of characters\nop-parameter-name: S\nop-output: the input, but with <<.place S>> added to the start of each title\n\n<<.operator-examples \"addprefix\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/addsuffix.tid",
    "content": "created: 20140828133830424\nmodified: 20150203183207000\ntags: [[Filter Operators]] [[String Operators]]\ntitle: addsuffix Operator\ntype: text/vnd.tiddlywiki\ncaption: addsuffix\nop-purpose: extend each input title with a suffix\nop-input: a [[selection of titles|Title Selection]]\nop-parameter: a string of characters\nop-parameter-name: S\nop-output: the input, but with <<.place S>> added to the end of each title\n\n<<.operator-examples \"addsuffix\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/after.tid",
    "content": "created: 20140512103123179\nmodified: 20150203183205000\ntags: [[Filter Operators]] [[Order Operators]]\ntitle: after Operator\ntype: text/vnd.tiddlywiki\ncaption: after\nop-purpose: find which input title follows a specified one\nop-input: a [[selection of titles|Title Selection]]\nop-parameter: one of those titles\nop-parameter-name: T\nop-output: the title that immediately follows <<.place T>> in the input\n\nIf <<.place T>> is not present in the input, or is the last title there, then the output is empty.\n\n<<.operator-examples \"after\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/all.tid",
    "content": "caption: all\ncreated: 20140410103123179\nmodified: 20230321131457669\nop-input: ignored, unless the parameter is empty\nop-output: the titles that belong to all the specified categories\nop-parameter: zero or more categories\nop-purpose: find all titles of a fundamental category\ntags: [[Filter Operators]] [[Common Operators]] [[Selection Constructors]] [[Selection Constructors: Conditional]]\ntitle: all Operator\ntype: text/vnd.tiddlywiki\n\nThe parameter specifies zero or more fundamental categories using the following [[filter step|Filter Step]] syntax:\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n<-\"all\"->  (  \"[\" | \"<\" | \"{\"  )\n   [{: (\"current\" | \"missing\" |: \"orphans\" | \"shadows\" | \"tags\" | \"tiddlers\" ) +\"+\" }] \n   (  \"]\" | \">\" | \"}\"  )\n\"\"\"/>\n\n|!Category |!Members |!Sorted |\n|^`current` |just the [[current tiddler|Current Tiddler]] |^-- |\n|^`missing` |all non-existent tiddlers to which there is at least one [[hard link|Hard and Soft Links]] |^no |\n|^`orphans` |all tiddlers to which there are <<.em no>> hard links |^by title |\n|^`shadows` |all the [[shadow tiddlers|ShadowTiddlers]] that exist, including any that have been overridden with non-shadow tiddlers |^no |\n|^`tags` |all the tags in use on non-shadow tiddlers |no |\n|^`tiddlers` |all the non-shadow tiddlers that exist |no |\n\nIf the parameter specifies more than one category, they are processed from left to right. The overall output is initially empty, and each category's output is [[dominantly appended|Dominant Append]] to it in turn. Unrecognised categories contribute nothing to the output.\n\nAs a special case, if the parameter is empty, the output is simply a copy of the input. This can be useful when the parameter is a [[soft parameter|Filter Parameter]].\n\nThe <<.olink is>> operator is similar, but its scope is restricted to its input.\n\n<<.operator-examples \"all\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/allafter.tid",
    "content": "caption: allafter\ncreated: 20151017145021839\nmodified: 20151108051523860\nop-input: a list of items\nop-output: all items after the marker\nop-parameter: the list item to be used as a marker\nop-parameter-name: marker\nop-purpose: discard all items except those after the marker\nop-suffix: specifying a suffix ('include') will include the marker in the output\ntags: [[Filter Operators]] [[Order Operators]] [[Listops Operators]]\ntitle: allafter Operator\ntype: text/vnd.tiddlywiki\n\n<<.operator-examples \"allafter\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/allbefore.tid",
    "content": "caption: allbefore\ncreated: 20151017145131857\nmodified: 20151108051507578\nop-input: a list of items\nop-output: all items before the marker\nop-parameter: the list item to be used as a marker\nop-parameter-name: marker\nop-purpose: discard all items except those before the marker\nop-suffix: specifying a suffix ('include') will include the marker in the output\ntags: [[Filter Operators]] [[Order Operators]] [[Listops Operators]]\ntitle: allbefore Operator\ntype: text/vnd.tiddlywiki\n\n<<.operator-examples \"allbefore\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/append.tid",
    "content": "caption: append\ncreated: 20151017145358368\nmodified: 20230321131631510\nop-input: a list of items\nop-neg-output: a list with items appended from the tail of the parameter array\nop-output: a list with items appended from the head of the parameter array\nop-parameter: the array of items to be appended to the tail of the list\nop-parameter-name: list\nop-purpose: append a range of items from an array to the list\nop-suffix: an integer N, defaulting to all\ntags: [[Filter Operators]] [[Order Operators]] [[Listops Operators]]\ntitle: append Operator\ntype: text/vnd.tiddlywiki\n\n<<.operator-examples \"append\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/applypatches Operator.tid",
    "content": "caption: applypatches\ncreated: 20230304154824762\nmodified: 20230304154826621\nop-purpose: applies a set of patches to transform the input\nop-input: a [[selection of titles|Title Selection]]\nop-parameter: a string containing patches from the [[makepatches Operator]]\nop-parameter-name: P\nop-output: the transformed input to which the patches <<.place P>> have been applied\ntags: [[Filter Operators]] [[String Operators]]\ntitle: applypatches Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.2.6\">>\n\n<<.operator-examples \"makepatches and applypatches\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/asin Operator.tid",
    "content": "caption: asin\ncreated: 20211019212120548\nmodified: 20211021222841479\nop-input: a [[selection of titles|Title Selection]]\nop-output: the arcsine (in radians) of the input numbers\nop-purpose: calculate the arcsine value (in radians) of a list of numbers\ntags: [[Filter Operators]] [[Mathematics Operators]] [[Trigonometric Operators]] [[Unary Mathematics Operators]]\ntitle: asin Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.21\">> See [[Mathematics Operators]] for an overview.\n\n<<.tip \" This is the inverse operation of [[sin|sin Operator]]: sin calculate the sine of an angle (in radian), but asin calculate the angle (in radian) of a sine.\">>\n\n<<.operator-examples \"asin\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/atan Operator.tid",
    "content": "caption: atan\ncreated: 20211019211516128\nmodified: 20211021222847610\nop-input: a [[selection of titles|Title Selection]]\nop-output: the arctangent (in radians) of the input numbers\nop-purpose: calculate the arctangent value (in radians) of a list of numbers\ntags: [[Filter Operators]] [[Mathematics Operators]] [[Trigonometric Operators]] [[Unary Mathematics Operators]]\ntitle: atan Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.21\">> See [[Mathematics Operators]] for an overview.\n\n<<.operator-examples \"atan\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/atan2 Operator.tid",
    "content": "caption: atan2\ncreated: 20211019222810994\nmodified: 20211021222853123\nop-input: a [[selection of titles|Title Selection]] = coordinate Y (<<.place Y>>)\nop-output: the angle in radians (in [ - π , π ] ) between the positive x-axis and the ray from (0,0) to the point (x,y)\nop-parameter: coordinate X\nop-parameter-name: X\nop-purpose: returns the angle in the plane (in radians) between the positive x-axis and the ray from (0,0) to the point (x,y), for [<<.place Y>>]atan2[<<.place X>>]\ntags: [[Filter Operators]] [[Mathematics Operators]] [[Binary Mathematics Operators]] [[Trigonometric Operators]]\ntitle: atan2 Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.21\">> See [[Mathematics Operators]] for an overview.\n\n<<.operator-examples \"atan2\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/average.tid",
    "content": "caption: average\ncreated: 20210417090137714\nmodified: 20210426131553482\nop-input: a [[selection of titles|Title Selection]]\nop-output: the arithmetic mean of the input as numbers\nop-purpose: treating each input title as a number, compute their arithmetic mean\ntags: [[Reducing Mathematics Operators]] [[Filter Operators]] [[Mathematics Operators]]\ntitle: average Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.2.0\">> See [[Mathematics Operators]] for an overview.\n\n<<.operator-examples \"average\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/backlinks.tid",
    "content": "created: 20140410103123179\nmodified: 20150203183356000\ntags: [[Filter Operators]]\ntitle: backlinks Operator\ntype: text/vnd.tiddlywiki\ncaption: backlinks\nop-purpose: find the titles that link to each input title\nop-input: a [[selection of titles|Title Selection]]\nop-parameter: none\nop-output: any non-[[system|SystemTiddlers]] titles that contain [[hard links|Hard and Soft Links]] to the input titles\n\nEach input title is processed in turn. The corresponding tiddler's list of backlinks is generated, sorted alphabetically by title, and then [[dominantly appended|Dominant Append]] to the operator's overall output.\n\n<<.operator-examples \"backlinks\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/backtranscludes.tid",
    "content": "caption: backtranscludes\ncreated: 20211002204500000\nmodified: 20240610085949413\nop-input: a [[selection of titles|Title Selection]]\nop-output: any non-[[system|SystemTiddlers]] titles that [[hard-transclude|Hard and Soft Transclusions]] the input titles\nop-parameter: none\nop-purpose: find the titles that transclude each input title\ntags: [[Filter Operators]]\ntitle: backtranscludes Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version 5.3.4>> Each input title is processed in turn. The corresponding tiddler's list of backtransclusions is generated, sorted alphabetically by title, and then [[dominantly appended|Dominant Append]] to the operator's overall output. Analogous to [[backlinks|backlinks Operator]].\n\n<<.operator-examples \"backtranscludes\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/before.tid",
    "content": "created: 20140512103123179\nmodified: 20150203191918000\ntags: [[Filter Operators]] [[Order Operators]]\ncaption: before\ntitle: before Operator\ntype: text/vnd.tiddlywiki\nop-purpose: find which input title precedes a specified one\nop-input: a [[selection of titles|Title Selection]]\nop-parameter: one of those titles\nop-parameter-name: T\nop-output: the title that immediately precedes <<.place T>> in the input\n\nIf <<.place T>> is not present in the input, or is the first title there, then the output is empty.\n\n<<.operator-examples \"before\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/bf.tid",
    "content": "created: 20140410103123179\nmodified: 20150203183738000\ntags: [[Filter Operators]] [[Order Operators]]\ntitle: bf Operator\ntype: text/vnd.tiddlywiki\ncaption: bf\nop-purpose: same as <<.olink rest>>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/butfirst.tid",
    "content": "created: 20140410103123179\nmodified: 20150203183733000\ntags: [[Filter Operators]] [[Order Operators]]\ntitle: butfirst Operator\ntype: text/vnd.tiddlywiki\ncaption: butfirst\nop-purpose: same as <<.olink rest>>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/butlast.tid",
    "content": "created: 20140410103123179\nmodified: 20220226043344258\ntags: [[Filter Operators]] [[Order Operators]]\ntitle: butlast Operator\ntype: text/vnd.tiddlywiki\ncaption: butlast\nop-purpose: discard the last <<.place N>> input titles\nop-input: a [[selection of titles|Title Selection]]\nop-parameter: an integer, defaulting to 1\nop-parameter-name: N\nop-output: all but the last <<.place N>> input titles\n\n<<.from-version \"5.2.2\">> The <<.op butlast>> operator returns the input list unchanged if <<.place N>> is 0. This is consistent with the behaviour of the [[rest Operator]].\n\n<<.operator-examples \"butlast\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/ceil Operator.tid",
    "content": "caption: ceil\ncreated: 20190611174247845\nmodified: 20190611174443899\nop-input: a [[selection of titles|Title Selection]]\nop-output: rounds each of the input numbers up to the next largest integer\nop-purpose: rounds a list of numbers up to the next largest integer\ntags: [[Unary Mathematics Operators]] [[Filter Operators]] [[Mathematics Operators]]\ntitle: ceil Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.20\">> See [[Mathematics Operators]] for an overview.\n\n<<.operator-examples \"ceil\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/charcode.tid",
    "content": "caption: charcode\ncreated: 20210622214425635\nmodified: 20210622214425635\nop-input: ignored\nop-output: a string formed from concatenating the characters specified by the numeric codes given in the parameter(s)\nop-parameter: numeric character code\nop-parameter-name: C\nop-purpose: generates string characters from their numeric character codes\ntags: [[Filter Operators]]\ntitle: charcode Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.2.0\">>\n\nThis operator returns a string formed from concatenating the characters specified by the numeric codes given in one or more parameters. It is useful for generating special characters such as tab (`charcode[9]`) or new line (`charcode[13],[10]`).\n\n<<.operator-examples \"charcode\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/commands.tid",
    "content": "created: 20140410103123179\nmodified: 20150203184154000\ntags: [[Filter Operators]] [[Special Operators]] [[Selection Constructors]]\ntitle: commands Operator\ntype: text/vnd.tiddlywiki\ncaption: commands\nop-purpose: select the titles of all the Node.js commands\nop-input: ignored\nop-parameter: none\nop-output: the [[command words|Commands]] that can be given to [[TiddlyWiki on Node.js]]\n\n<<.operator-examples \"commands\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/compare Operator.tid",
    "content": "caption: compare\ncreated: 20200412181551706\nmodified: 20200412181551706\nop-input: a [[selection of titles|Title Selection]]\nop-neg-output: those input titles <<.em not>> matching the specified comparison\nop-output: those input titles matching the specified comparison\nop-parameter: the value to compare\nop-purpose: filter the input by comparing each item against the parameter\nop-suffix: the <<.op compare>> operator uses a rich suffix, see below for details\ntags: [[Filter Operators]] [[Mathematics Operators]] [[String Operators]] [[Negatable Operators]]\ntitle: compare Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.22\">>The <<.op compare>> filter allows numerical, string and date comparisons to be performed.\n\nThe <<.op compare>> operator uses an extended syntax to specify all the options:\n\n```\n[compare:<type>:<mode>[<parameter>]]\n```\n\nThe ''type'' can be:\n\n* \"number\" - (default) invalid numbers are interpreted as zero\n* \"integer\" - invalid integers are interpreted as zero\n* \"string\"\n* \"date\" - invalid dates are interpreted as 1st January 1970\n* \"version\" - invalid versions are interpreted as \"v0.0.0\"\n\nThe ''mode'' can be:\n\n* \"eq\" - equal to\n* \"ne\" - not equal to\n* \"gteq\" - greater than or equal to\n* \"gt\" - greater than\n* \"lteq\" - less than or equal to\n* \"lt\" - less than\n\nThe operator compares each item in the selection against the value of the parameter, retaining only those items that pass the specified condition.\n\nFor example:\n\n```\n[[2]compare:number:eq[3]] returns nothing\n[[2]compare:number:lt[3]] returns \"2\"\n[[2]compare::eq[2]] returns \"2\"\n```\n\nNote that several of the variants of the <<.op compare>> operator are synonyms for existing operators, and are provided in the interests of consistency. For example, `compare:string:eq[x]` is a synonym for `match[x]`.\n\n<<.operator-examples \"compare\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/contains Operator.tid",
    "content": "caption: contains\ncreated: 20180815124349784\nmodified: 20180815124607101\nop-input: a [[selection of titles|Title Selection]]\nop-neg-output: those input tiddlers in which the list field <<.place F>> does <<.em not>> contain the value <<.place S>>\nop-output: those input tiddlers in which the list field <<.place F>> contains the value <<.place S>>\nop-parameter: a possible value to be found in list field <<.place F>>\nop-parameter-name: S\nop-purpose: filter the input by searching list fields for a value\nop-suffix: the name of a [[field|TiddlerFields]] (defaults to `list`)\nop-suffix-name: F\ntags: [[Filter Operators]] [[Field Operators]] [[Negatable Operators]]\ntitle: contains Operator\ntype: text/vnd.tiddlywiki\n\n<<.operator-examples \"contains\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/cos Operator.tid",
    "content": "caption: cos\ncreated: 20211019211007324\nmodified: 20211021222900121\nop-input: a [[selection of titles|Title Selection]]\nop-output: the cosine of the input angles (numeric value between -1 and 1)\nop-purpose: calculate the cosine value of a list of angles (given in radians)\ntags: [[Filter Operators]] [[Mathematics Operators]] [[Trigonometric Operators]] [[Unary Mathematics Operators]]\ntitle: cos Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.21\">> See [[Mathematics Operators]] for an overview.\n\n<<.operator-examples \"cos\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/count_Operator.tid",
    "content": "caption: count\ncreated: 20170208200553517\nmodified: 20170208200900081\nop-input: a [[selection of titles|Title Selection]]\nop-output: a new list containing the number of items in the input list as a decimal string\nop-purpose: count the number of entries in a list\ntags: [[Filter Operators]] [[Group Operators]]\ntitle: count Operator\ntype: text/vnd.tiddlywiki\n\nThe number of the entries in the input list is counted and a decimal representation returned as a single string.\n\n<<.operator-examples \"count\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/cycle Operator.tid",
    "content": "caption: cycle\ncreated: 20201118172906835\nmodified: 20201118192136472\nop-input: a list of items\nop-output: the input list with the titles specified in the parameter toggled in a cyclical manner\nop-parameter: the <<.op cycle>> operator accepts 1 or 2 parameters, see below for details\nop-purpose: toggle the titles specified in the first parameter in a cyclical manner\ntags: [[Filter Operators]] [[Listops Operators]] [[Order Operators]]\ntitle: cycle Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.23\">>\n\nThe <<.op cycle>> operator requires at least one parameter.\n\n```\n[cycle[<titles>],[step-size]]\n```\n* ''titles'' : a title list to toggle in the input list cyclically. If no title from the parameter is present in the input, the first title is added. If a title from the parameter is present in the input, it is replaced with the next title from the parameter. Note that all titles specified in this parameter should be unique.\n* ''step-size'': (optional). Defaults to 1. Specifies the number of steps in the parameter list to move each time. Can be a negative number.\n\n<$macrocall $name=\".tip\" _=\"While the <<.op cycle>> operator interprets its first parameter as a list of titles to cycle through, the [[toggle Operator]] accepts an unlimited number of distinct parameters and offers similar functionality.\"/>\n\n<<.operator-examples \"cycle\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/days.tid",
    "content": "tags: [[Filter Operators]] [[Date Operators]] [[Negatable Operators]]\ntitle: days Operator\ntype: text/vnd.tiddlywiki\ncaption: days\nop-input: a [[selection of titles|Title Selection]]\nop-neg-output: those input tiddlers in which field <<.place F>> is at least <<.place D>> days in the { future | past }\nop-output: those input tiddlers in which field <<.place F>> is <<.place D>> days in the { future | past } or any time { before | after } that, including { past | future }\nop-parameter: a { positive | negative } number of days, defaulting to 0\nop-parameter-name: D\nop-purpose: filter the input by date\nop-suffix: the name of a [[date field|Date Fields]], defaulting to <<.field modified>>\nop-suffix-name: F\n\nSelect tiddlers where a specified date field (default \"modified\") is within a specified date range. Time portion is ignored.\n\n<<.operator-examples \"days\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/decodebase64 Operator (Examples).tid",
    "content": "created: 20240831025944330\nmodified: 20240831041423075\ntags: [[decodebase64 Operator]] [[Operator Examples]]\ntitle: decodebase64 Operator (Examples)\n\n<<.operator-example 1 \"[[dGVzdA==]decodebase64[]]\">>\n\n<<.operator-example 2 \"[[8J+Yjg==]decodebase64[]]\">>\n\n<<.operator-example 3 \"[[8J-Yjg==]decodebase64:urlsafe[]]\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/decodebase64 Operator.tid",
    "content": "caption: decodebase64\ncreated: 20240831034919913\nfrom-version: 5.2.6\nmodified: 20240831034931703\nop-input: a [[selection of titles|Title Selection]]\nop-output: the input with base 64 decoding applied\nop-parameter: \nop-parameter-name: \nop-purpose: apply [[base 64|Base64]] decoding to a string\nop-suffix: optional: `binary` to produce binary output, `urlsafe` for URL-safe input\ntags: [[Filter Operators]] [[String Operators]]\ntitle: decodebase64 Operator\ntype: text/vnd.tiddlywiki\n\nSee Mozilla Developer Network for details of [[base 64 encoding|https://developer.mozilla.org/en-US/docs/Glossary/Base64]]. TiddlyWiki uses [[library code from @nijikokun|https://gist.github.com/Nijikokun/5192472]] to handle the conversion.\n\nThe input strings must be base64 encoded. The output strings are the text (or binary data) decoded from base64 format.\n\nThe optional `binary` suffix, if present, changes how the input is processed. The input is normally assumed to be [[UTF-8|https://developer.mozilla.org/en-US/docs/Glossary/UTF-8]] text encoded in base64 form (such as what the <<.op \"encodebase64\">> operator produces), so only certain byte sequences in the input are valid. If the input is binary data encoded in base64 format (such as an image, audio file, video file, etc.), then use the optional `binary` suffix, which will allow all byte sequences. Note that the output will then be binary, ''not'' text, and should probably not be passed into further filter operators.\n\nThe optional `urlsafe` suffix, if present, causes the decoder to assume that the base64 input uses `-` and `_` instead of `+` and `/` for the 62nd and 63rd characters of the base64 \"alphabet\", which is usually referred to as \"URL-safe base64\" or \"bae64url\".\n\n<<.operator-examples \"decodebase64\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/decodehtml_Operator.tid",
    "content": "caption: decodehtml\ncreated: 20161017152925704\nmodified: 20161017152951209\nop-input: a [[selection of titles|Title Selection]]\nop-output: the input with HTML decoding applied\nop-parameter: \nop-parameter-name: \nop-purpose: apply HTML decoding to a string\ntags: [[Filter Operators]] [[String Operators]]\ntitle: decodehtml Operator\ntype: text/vnd.tiddlywiki\nfrom-version: 5.1.14\n\n\"HTML decoding\" means replacing HTML entities that represent special characters with that character:\n\n* `&amp;` replaced with `&`\n* `&nbsp;` replaced with ` ` (non breaking space)\n* `&lt;` replaced with `<`\n* `&gt;` replaced with `>`\n* `&quot;` replaced with `\"`\n\n<<.operator-examples \"decodehtml\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/decodeuri_Operator.tid",
    "content": "caption: decodeuri\ncreated: 20161017152854460\nmodified: 20161017152914038\nop-input: a [[selection of titles|Title Selection]]\nop-output: the input with URI decoding applied\nop-parameter: \nop-parameter-name: \nop-purpose: apply URI decoding to a string\ntags: [[Filter Operators]] [[String Operators]]\ntitle: decodeuri Operator\ntype: text/vnd.tiddlywiki\nfrom-version: 5.1.14\n\nSee Mozilla Developer Network for details of the [[decodeURI|https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURI]] operation.\n\n<<.operator-examples \"decodeuri\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/decodeuricomponent_Operator.tid",
    "content": "caption: decodeuricomponent\ncreated: 20161017152454726\nmodified: 20161017152630625\nop-input: a [[selection of titles|Title Selection]]\nop-output: the input with URI component decoding applied\nop-parameter: \nop-parameter-name: \nop-purpose: apply URI component decoding to a string\ntags: [[Filter Operators]] [[String Operators]]\ntitle: decodeuricomponent Operator\ntype: text/vnd.tiddlywiki\nfrom-version: 5.1.14\n\nSee Mozilla Developer Network for details of the [[decodeURIComponent|https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent]] operation.\n\n<<.operator-examples \"decodeuricomponent\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/deserialize Operator.tid",
    "content": "caption: deserialize\ncreated: 20230601195749377\nfrom-version: 5.3.0\nmodified: 20230627094109762\nop-input: a selection of strings\nop-output: JSON representations of tiddlers extracted from input titles.\nop-parameter: the deserializer module to be used to extract tiddlers from the input\nop-purpose: extract JSON representation of tiddlers from the input strings\ntags: [[Filter Operators]] [[Special Operators]]\ntitle: deserialize Operator\ntype: text/vnd.tiddlywiki\n\n{{Deserializers}}\n\n\n\n<<.operator-examples \"deserialize\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/deserializers Operator.tid",
    "content": "caption: deserializers\ncreated: 20210506115203172\nfrom-version: 5.2.0\nmodified: 20230627094238610\nop-input: ignored\nop-output: the title of each available deserializer\nop-parameter: none\ntags: [[Filter Operators]] [[Special Operators]] [[Selection Constructors]]\ntitle: deserializers Operator\ntype: text/vnd.tiddlywiki\n\n<<.tip \"You can specify a specific [[deserializer|Deserializers]] for a DropzoneWidget to use\">>\n\n<<.operator-examples \"deserializers\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/divide Operator.tid",
    "content": "caption: divide\ncreated: 20190611125839100\nmodified: 20190611125922960\nop-input: a [[selection of titles|Title Selection]]\nop-output: the input as numbers, but with each one divided by <<.place N>>\nop-parameter: a number\nop-parameter-name: N\nop-purpose: treating each input title as a number, divide it by the numeric value of the parameter\ntags: [[Filter Operators]] [[Mathematics Operators]] [[Binary Mathematics Operators]]\ntitle: divide Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.20\">> See [[Mathematics Operators]] for an overview.\n\n<<.operator-examples \"divide\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/duplicateslugs Operator.tid",
    "content": "caption: duplicateslugs\ncreated: 20200509141702846\nmodified: 20200509141702846\nop-input: a [[selection of titles|Title Selection]]\nop-output: input titles that yield duplicate slugs\nop-purpose: find titles that yield duplicate slugs\ntags: [[Filter Operators]]\ntitle: duplicateslugs Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.23\">> The <<.olink slugify>> operator can be used to transform arbitrary tiddler titles into human readable strings suitable for use in URLs or filenames. However, it is possible for multiple different titles to slugify to the same string. The <<.olink duplicateslugs>> operator can be used to display a warning. For example:\n\n<$macrocall $name='wikitext-example-without-html'\nsrc='<$list filter=\"[!is[system]duplicateslugs[]limit[1]]\" emptyMessage=\"There are no duplicate slugs\">\nThe following tiddlers have duplicate slugs:\n\n<ul>\n<$list filter=\"[!is[system]duplicateslugs[]]\">\n<li><$link><$text text=<<currentTiddler>>/></$link></li>\n</$list>\n</ul>\n</$list>'/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/each.tid",
    "content": "caption: each\ncreated: 20140410103123179\nmodified: 20241204090042816\nop-input: a [[selection of titles|Title Selection]]\nop-output: a selection containing the first input title encountered for each distinct value of field <<.place F>>\nop-parameter: the name of a [[field|TiddlerFields]], defaulting to <<.field title>>\nop-parameter-name: F\nop-purpose: select one of each group of input titles by field\nop-suffix: optionally, `list-item` or `value`\ntags: [[Filter Operators]] [[Group Operators]]\ntitle: each Operator\ntype: text/vnd.tiddlywiki\n\nEach input title is processed in turn. The value of field <<.place F>> in the corresponding tiddler is examined.\n\n;each\n:As long as the value of the field is unique (i.e. has not been encountered before), the title is appended to the output.\n;each:list-item\n:The value is treated as a [[title list|Title List]]. Each title in the list considered in turn. If it has not been encountered before, it is appended to the output.\n;each:value\n:As long as the title is unique it is appended to the output whether or not the corresponding tiddler exists.\n\nNote that if a tiddler does not contain field <<.place F>>, it is treated as if the value of the field were empty. Thus, a filter expression such as `[each[motovun]]` will return one tiddler that doesn't have a `motovun` field, as well as one tiddler with each distinct value of that field, if any. To obtain just the tiddlers that have a non-blank value for the `motovun` field one can use `[each[motovun]has[motovun]]`.\n\n<<.note\"\"\"For an example of using the <<.op each>> operator to generate a two-tier list of groups and members, see [[GroupedLists]].\"\"\">>\n\n<<.operator-examples \"each\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/eachday.tid",
    "content": "created: 20140410103123179\nmodified: 20150210161620000\ntags: [[Filter Operators]] [[Group Operators]] [[Date Operators]]\ntitle: eachday Operator\ntype: text/vnd.tiddlywiki\ncaption: eachday\nop-purpose: select one of each group of input titles by date\nop-input: a [[selection of titles|Title Selection]]\nop-parameter: the name of a [[date field|Date Fields]], defaulting to <<.field modified>>\nop-parameter-name: F\nop-output: a selection containing the first input title encountered for each distinct value (ignoring times of day) of field <<.place F>>\n\nEach input title is processed in turn. The value of field <<.place F>> in the corresponding tiddler is examined, and as long as this indicates a date that has not been encountered before, the title is appended to the output.\n\nIf a tiddler doesn't contain field <<.place F>>, it contributes nothing to the output.\n\n<<.operator-examples \"eachday\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/editiondescription.tid",
    "content": "created: 20150111145738451\nmodified: 20150203184528000\ntags: [[Filter Operators]] [[Special Operators]]\ntitle: editiondescription Operator\ntype: text/vnd.tiddlywiki\ncaption: editiondescription\nop-purpose: select the descriptions of the input editions\nop-input: a [[selection|Title Selection]] of edition names\nop-parameter: none\nop-output: the description string of each edition in the input\n\nEach input title is processed in turn, ignoring any that is not the name of a ~TiddlyWiki edition.\n\n<<.node-only-operator>>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/editions.tid",
    "content": "created: 20150111145738451\nmodified: 20150203184604000\ntags: [[Filter Operators]] [[Special Operators]] [[Selection Constructors]]\ntitle: editions Operator\ntype: text/vnd.tiddlywiki\ncaption: editions\nop-purpose: select the names of all the ~TiddlyWiki editions\nop-input: ignored\nop-parameter: none\nop-output: the name of each ~TiddlyWiki edition, in alphabetical order\n\n<<.node-only-operator>>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/else Operator.tid",
    "content": "caption: else\ncreated: 20190802113024942\nmodified: 20190802113919945\nop-input: a [[selection of titles|Title Selection]]\nop-output: the original input titles unless empty, in which case return a list with the single entry  <<.place E>>\nop-parameter: a string\nop-parameter-name: E\nop-purpose: if the list of input titles is empty then return a list consisting of a single constant string, otherwise return the original titles\ntags: [[Conditional Operators]] [[Filter Operators]]\ntitle: else Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.20\">> See [[Conditional Operators]] for an overview.\n\n<<.operator-examples \"else\">>\n\nAlso see: [[then Operator]] | [[Then Filter Run Prefix]] and [[Else Filter Run Prefix]]\n\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/encodebase64 Operator (Examples).tid",
    "content": "created: 20240831025156306\nmodified: 20240831041537886\ntags: [[encodebase64 Operator]] [[Operator Examples]]\ntitle: encodebase64 Operator (Examples)\n\n<<.operator-example 1 \"[[test]encodebase64[]]\">>\n\n<<.operator-example 2 \"[[😎]encodebase64[]]\">>\n\n<<.operator-example 3 \"[[😎]encodebase64:urlsafe[]]\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/encodebase64 Operator.tid",
    "content": "caption: encodebase64\ncreated: 20240831034955575\nfrom-version: 5.2.6\nmodified: 20240831035003716\nop-input: a [[selection of titles|Title Selection]]\nop-output: the input with base 64 encoding applied\nop-parameter: \nop-parameter-name: \nop-purpose: apply [[base 64|Base64]] encoding to a string\nop-suffix: optional: `binary` to treat input as binary data, `urlsafe` for URL-safe output\ntags: [[Filter Operators]] [[String Operators]]\ntitle: encodebase64 Operator\ntype: text/vnd.tiddlywiki\n\nSee Mozilla Developer Network for details of [[base 64 encoding|https://developer.mozilla.org/en-US/docs/Glossary/Base64]]. TiddlyWiki uses [[library code from @nijikokun|https://gist.github.com/Nijikokun/5192472]] to handle the conversion.\n\nThe input strings are interpreted as [[UTF-8 encoded|https://developer.mozilla.org/en-US/docs/Glossary/UTF-8]] text (or binary data instead if the `binary` suffix is present). The output strings are base64 encoded.\n\nThe optional `binary` suffix, if present, causes the input string to be interpreted as binary data instead of text. Normally, an extra UTF-8 encoding step will be added before the base64 output is produced, so that emojis and other Unicode characters will be encoded correctly. If the input is binary data, such as an image, audio file, video, etc., then the UTF-8 encoding step would produce incorrect results, so using the `binary` suffix causes the UTF-8 encoding step to be skipped.\n\nThe optional `urlsafe` suffix, if present, will use the alternate \"URL-safe\" base64 encoding, where `-` and `_` are used instead of `+` and `/` respectively, allowing the result to be used in URL query parameters or filenames.\n\n<<.operator-examples \"encodebase64\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/encodehtml_Operator.tid",
    "content": "caption: encodehtml\ncreated: 20161017152953211\nmodified: 20161017153015687\nop-input: a [[selection of titles|Title Selection]]\nop-output: the input with HTML encoding applied\nop-parameter: \nop-parameter-name: \nop-purpose: apply HTML encoding to a string\ntags: [[Filter Operators]] [[String Operators]]\ntitle: encodehtml Operator\ntype: text/vnd.tiddlywiki\nfrom-version: 5.1.14\n\n\"HTML encoding\" means replacing special HTML characters with the corresponding HTML entity:\n\n* `&` replaced with `&amp;`\n* `<` replaced with `&lt;`\n* `>` replaced with `&gt;`\n* `\"` replaced with `&quot;`\n\n<<.operator-examples \"encodehtml\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/encodeuri_Operator.tid",
    "content": "caption: encodeuri\ncreated: 20161017152827112\nmodified: 20161017152845585\nop-input: a [[selection of titles|Title Selection]]\nop-output: the input with URI encoding applied\nop-parameter: \nop-parameter-name: \nop-purpose: apply URI encoding to a string\ntags: [[Filter Operators]] [[String Operators]]\ntitle: encodeuri Operator\ntype: text/vnd.tiddlywiki\nfrom-version: 5.1.14\n\nSee Mozilla Developer Network for details of the [[encodeURI|https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURI]] operation.\n\n<<.operator-examples \"encodeuri\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/encodeuricomponent_Operator.tid",
    "content": "caption: encodeuricomponent\ncreated: 20161017152747386\nmodified: 20230119174350062\nop-input: a [[selection of titles|Title Selection]]\nop-output: the input with URI component encoding applied\nop-parameter: \nop-parameter-name: \nop-purpose: apply URI component encoding to a string\ntags: [[Filter Operators]] [[String Operators]]\ntitle: encodeuricomponent Operator\ntype: text/vnd.tiddlywiki\nfrom-version: 5.1.14\n\nSee Mozilla Developer Network for details of the [[encodeURIComponent|https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent]] operation.\n\n<<.from-version \"5.2.6\">> In addition to the characters mentioned in the article above, the following additional characters are also percent encoded: `!'()*`\n\n<<.operator-examples \"encodeuricomponent\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/enlist Operator.tid",
    "content": "caption: enlist\ncreated: 20170221144241063\nmodified: 20210505100241872\nop-input: ignored\nop-neg-input: a [[selection of titles|Title Selection]]\nop-neg-output: those input titles that are <<.em not>> listed in <<.place L>>\nop-output: the titles stored as a [[title list|Title List]] at <<.place L>>\nop-parameter: a [[title list|Title List]]\nop-parameter-name: L\nop-purpose: select titles from the parameter interpreted as a [[title list|Title List]]\nop-suffix: <<.from-version \"5.1.20\">> `dedupe` (the default) to remove duplicates, `raw` to leave duplicates untouched\nop-suffix-name: D\ntags: [[Filter Operators]] [[Field Operators]] [[Selection Constructors]] [[Negatable Operators]]\ntitle: enlist Operator\ntype: text/vnd.tiddlywiki\n\n<<.tip \"\"\"Literal filter parameters cannot contain square brackets but you can work around the issue by using a variable. ''Learn more at:'' [[SetWidget]] documentation under the heading \"Filtered List Variable Assignment\" \"\"\">>\n\n```\n<$set name=\"myList\" value=\"first [[second with a space]] third\">\n<$list filter=\"[enlist<myList>]\">\n...\n```\n\n<<.operator-examples \"enlist\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/enlist-input Operator.tid",
    "content": "caption: enlist-input\ncreated: 20201102215459192\nmodified: 20201102221854719\nop-input: a [[selection of titles|Title Selection]]\nop-output: the titles stored as a [[title list|Title List]] in each input title\nop-purpose: select titles by interpreting each input title as a [[title list|Title List]]\nop-suffix: `dedupe` (the default) to remove duplicates, `raw` to leave duplicates untouched\nop-suffix-name: D\ntags: [[Filter Operators]] [[String Operators]]\ntitle: enlist-input Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.23\">>\n\n<<.tip \" Compare with [[enlist|enlist Operator]] operator that interprets its parameter as a title list\">>\n\n```\n<$vars days={{{ [[Days of the Week]get[list]] }}}>\n\n{{{ [enlist<days>] }}}\n\n</$vars>\n```\n\nis equivalent to:\n\n```\n{{{ [[Days of the Week]get[list]enlist-input[]] }}}\n```\n\n<<.operator-examples \"enlist-input\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/escapecss_Operator.tid",
    "content": "caption: escapecss\ncreated: 20190629072855199\nmodified: 20190629072855199\nop-input: a [[selection of titles|Title Selection]]\nop-output: the input with CSS escaping applied through the CSS.escape() method\nop-parameter: \nop-parameter-name: \nop-purpose: apply CSS escaping to a selection of titles through the CSS.escape() method / operation\ntags: [[Filter Operators]] [[String Operators]]\ntitle: escapecss Operator\ntype: text/vnd.tiddlywiki\nfrom-version: 5.1.20\n\nSee Mozilla Developer Network for details of the [[CSS.escape()|https://developer.mozilla.org/docs/Web/API/CSS/escape]] operation.\n\n<<.operator-examples \"escapecss\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/escaperegexp_Operator.tid",
    "content": "caption: escaperegexp\ncreated: 20161017153116372\nmodified: 20161017153230962\nop-input: a [[selection of titles|Title Selection]]\nop-output: the input with escaping applied to special regular expression characters\nop-parameter: \nop-parameter-name: \nop-purpose: escape special characters used in regular expressions\ntags: [[Filter Operators]] [[String Operators]]\ntitle: escaperegexp Operator\ntype: text/vnd.tiddlywiki\nfrom-version: 5.1.14\n\nSee Mozilla Developer Network for details of the [[regular expression syntax|https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/RegExp]].\n\n<<.operator-examples \"escaperegexp\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/Brownies.tid",
    "content": "created: 20201004145650743\nmodified: 20201006181234412\nprice: 4.99\nquantity: 1\ntags: shopping\ntitle: Brownies\ntype: text/vnd.tiddlywiki\n\n//This is a sample shopping list item for the [[reduce Operator (Examples)]]//\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/Chick Peas.tid",
    "content": "created: 20201004145612358\nmodified: 20201006181232439\nprice: 1.32\nquantity: 5\ntags: shopping\ntitle: Chick Peas\ntype: text/vnd.tiddlywiki\n\n//This is a sample shopping list item for the [[reduce Operator (Examples)]]//\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/Hamlet.tid",
    "content": "created: 20230304161453213\nmodified: 20230304162156826\ntags: [[Operator Examples]]\ntitle: Hamlet\ntype: application/json\n\n{\n    \"Shakespeare-old\": \"Hamlet: Do you see yonder cloud that's almost in shape of a camel?\\nPolonius: By the mass, and 'tis like a camel, indeed.\\nHamlet: Methinks it is like a weasel.\\nPolonius: It is backed like a weasel.\\nHamlet: Or like a whale?\\nPolonius: Very like a whale.\\n-- Shakespeare\",\n    \"Shakespeare-new\": \"Hamlet: Do you see the cloud over there that's almost the shape of a camel?\\nPolonius: By golly, it is like a camel, indeed.\\nHamlet: I think it looks like a weasel.\\nPolonius: It is shaped like a weasel.\\nHamlet: Or like a whale?\\nPolonius: It's totally like a whale.\\n-- Shakespeare\",\n    \"Trekkie-old\": \"Kirk: Do you see yonder cloud that's almost in shape of a Klingon?\\nSpock: By the mass, and 'tis like a Klingon, indeed.\\nKirk: Methinks it is like a Vulcan.\\nSpock: It is backed like a Vulcan.\\nKirk: Or like a Romulan?\\nSpock: Very like a Romulan.\\n-- Trekkie\"\n}"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/How to remove stop words.tid",
    "content": "created: 20201118094513209\nmodified: 20201118103414384\ntags: [[Operator Examples]] [[search-replace Operator]] [[sortsub Operator]]\ntitle: How to remove stop words\ntype: text/vnd.tiddlywiki\n\n\\define book-list()\n[[A Tale of Two Cities]]\n[[The Dice Man]]\n[[A New Kind of Science]]\n[[The Recursive Universe]]\n[[Great Expectations]]\n[[Animal Farm]]\n\\end\n\n\\define compare-without-stopwords()\n[<currentTiddler>search-replace:i:regexp[^The |A ],[]]\n\\end\n\nYou can use the [[search-replace Operator]] in combination with the [[sortsub Operator]] to ignore stop words like \"A\" and \"The\" at the beginning of titles when sorting. (Note for example that \"A Tale of Two Cities\" sorts under \"T\" rather than \"A\")\n<<.operator-example 6 \"[enlist<book-list>sortsub<compare-without-stopwords>]\">>\n\nYou can also customise the listing so that \"A Tale of Two Cities\" is listed as \"Tale of Two Cities, A\" but still links to the correct tiddler.\n<<wikitext-example-without-html \"\"\"<ul>\n<$list filter=\"[enlist<book-list>sortsub<compare-without-stopwords>]\">\n<li><$link><$text text={{{[<currentTiddler>search-replace:i:regexp[(^The |A )(.*)],[$2, $1]]}}}/></$link></li>\n</$list>\n</ul>\"\"\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/Milk.tid",
    "content": "created: 20201004145636906\nmodified: 20201006181233518\nprice: 0.46\nquantity: 12\ntags: shopping\ntitle: Milk\ntype: text/vnd.tiddlywiki\n\n//This is a sample shopping list item for the [[reduce Operator (Examples)]]//\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/Rice Pudding.tid",
    "content": "created: 20201004145502135\nmodified: 20201006181230956\nprice: 2.66\nquantity: 4\ntags: shopping\ntitle: Rice Pudding\ntype: text/vnd.tiddlywiki\n\n//This is a sample shopping list item for the [[reduce Operator (Examples)]]//\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/abs Operator (Examples).tid",
    "content": "created: 20190611174214039\nmodified: 20190611174245197\ntags: [[abs Operator]] [[Operator Examples]]\ntitle: abs Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[-2000]abs[]]\">>\n<<.operator-example 2 \"=-1 =-2 =3 =4 =5 +[abs[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/acos Operator (Examples).tid",
    "content": "created: 20211020142658214\nmodified: 20211020142724786\ntags: [[acos Operator]] [[Operator Examples]]\ntitle: acos Operator (Examples)\n\n<<.operator-example 1 \"[[2]acos[]]\">>\n<<.operator-example 2 \"=1 =2 =3 =4 +[acos[]]\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/add Operator (Examples).tid",
    "content": "created: 20190611125225770\nmodified: 20190611125525466\ntags: [[add Operator]] [[Operator Examples]]\ntitle: add Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[23]add[19]]\">>\n<<.operator-example 2 \"=1 =2 =3 =4 +[add[4]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/addprefix.tid",
    "content": "created: 20150118132851000\nmodified: 20150118183116000\ntags: [[addprefix Operator]] [[Operator Examples]]\ntitle: addprefix Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"Cat Garden [[Favourite Armchair]] +[addprefix[My ]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/addsuffix.tid",
    "content": "created: 20150118134542000\nmodified: 20150118183121000\ntags: [[addsuffix Operator]] [[Operator Examples]]\ntitle: addsuffix Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[London]addsuffix[ Underground]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/after.tid",
    "content": "created: 20150118134611000\nmodified: 20150118183126000\ntags: [[after Operator]] [[Operator Examples]]\ntitle: after Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.using-days-of-week>> The [[Thursday]] tiddler shows a further example.\n\n<<.operator-example 1 \"[list[Days of the Week]after[Monday]]\">>\n<<.operator-example 2 \"[list[Days of the Week]after[Sunday]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/all.tid",
    "content": "created: 20150118134646000\nmodified: 20150118183130000\ntags: [[all Operator]] [[Operator Examples]]\ntitle: all Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[all[shadows]]\">>\n<<.operator-example 2 \"[all[shadows+tiddlers]]\">>\n<<.operator-example 3 \"[all[tiddlers+shadows]]\">>\n<<.operator-example 4 \"[all[orphans+missing+current]]\">>\n<<.operator-example 5 \"[all[current]]\">>\n<<.operator-example 6 \"[all[current]tag[Operator Examples]]\">>\n<<.operator-example 7 \"[all[current]tag[Recipes]]\">>\n<<.operator-example 8 \"Monday Thursday +[all[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/allafter.tid",
    "content": "created: 20151022123929297\nmodified: 20151108080543606\ntags: [[Operator Examples]] [[allafter Operator]]\ntitle: allafter Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.using-days-of-week>>\n\n<<.operator-example 1 \"[list[Days of the Week]] +[allafter[Wednesday]]\">>\n<<.operator-example 2 \"[list[Days of the Week]] +[allafter:include[Wednesday]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/allbefore.tid",
    "content": "created: 20151017150902487\nmodified: 20151108051438263\ntags: [[Operator Examples]] [[allbefore Operator]]\ntitle: allbefore Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.using-days-of-week>>\n\n<<.operator-example 1 \"[list[Days of the Week]allbefore[Wednesday]]\">>\n<<.operator-example 2 \"[list[Days of the Week]allbefore:include[Wednesday]]\">>\n<<.operator-example 3 \"A B C D E +[allbefore:include[C]count[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/append.tid",
    "content": "created: 20151017150942725\nmodified: 20151108051557748\ntags: [[Operator Examples]] [[append Operator]]\ntitle: append Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.using-days-of-week>>\n\n<<.operator-example 1 \"[list[Days of the Week]append[Tomorrow]]\">>\n<<.operator-example 2 \"[list[Days of the Week]append[Yesterday Today Tomorrow]]\">>\n\n;Append the first 4 short days of the week to our list\n\n<<.operator-example 3 \"[list[Days of the Week]append:4{Days of the Week!!short}]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/asin Operator (Examples).tid",
    "content": "created: 20211020142731829\nmodified: 20211020142758974\ntags: [[Operator Examples]] [[asin Operator]]\ntitle: asin Operator (Examples)\n\n<<.operator-example 1 \"[[2]asin[]]\">>\n<<.operator-example 2 \"=1 =2 =3 =4 +[asin[]]\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/atan Operator (Examples).tid",
    "content": "created: 20211020141113826\nmodified: 20211020141329661\ntags: [[atan2 Operator]] [[Operator Examples]]\ntitle: atan Operator (Examples)\n\n<<.operator-example 1 \"[[2]atan[]]\">>\n<<.operator-example 2 \"=1 =2 =3 =4 +[atan[]]\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/atan2 Operator (Examples).tid",
    "content": "created: 20211020140733724\nmodified: 20211020140827194\ntags: [[atan2 Operator]] [[Operator Examples]]\ntitle: atan2 Operator (Examples)\n\n<<.operator-example 1 \"[[2]atan2[5]]\">>\n<<.operator-example 2 \"=1 =2 =3 =4 +[atan2[4]]\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/average Operator (Examples).tid",
    "content": "created: 20210426130837644\nmodified: 20210426131553546\ntags: [[Operator Examples]] [[average Operator]]\ntitle: average Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"=1 =3 =4 =5 +[average[]]\">>\n\nNote that if there is no input the operator returns `NaN`\n<<.operator-example 2 \"[tag[NotATiddler]get[price]] +[average[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/backlinks.tid",
    "content": "created: 20150118134611000\nmodified: 20150118183135000\ntags: [[backlinks Operator]] [[Operator Examples]]\ntitle: backlinks Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[HelloThere]backlinks[]]\">>\n<<.operator-example 2 \"[tag[TableOfContents]backlinks[]]\" \"tiddlers that link to tiddlers tagged [[TableOfContents]]\">>\n<<.operator-example 3 \"[all[current]backlinks[]]\" \"tiddlers that link to this one\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/backtransclude.tid",
    "content": "tags: [[backtranscludes Operator]] [[Operator Examples]]\ntitle: backtranscludes Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[Motovun Jack.jpg]backtranscludes[]]\">>\n\n<<.operator-example 2 \"[[Transclusion]backtranscludes[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/before.tid",
    "content": "created: 20150118134611000\nmodified: 20150118183139000\ntags: [[before Operator]] [[Operator Examples]]\ntitle: before Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.using-days-of-week>> The [[Thursday]] tiddler shows a further example.\n\n<<.operator-example 1 \"[list[Days of the Week]before[Saturday]]\">>\n<<.operator-example 2 \"[list[Days of the Week]before[Monday]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/butlast.tid",
    "content": "created: 20150118134611000\nmodified: 20220226043344258\ntags: [[butlast Operator]] [[Operator Examples]]\ntitle: butlast Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.using-days-of-week>>\n\n<<.operator-example 1 \"[list[Days of the Week]butlast[]]\">>\n<<.operator-example 2 \"[list[Days of the Week]butlast[0]]\">>\n<<.operator-example 3 \"[list[Days of the Week]butlast[2]]\">>\n<<.operator-example 4 \"A B C D E F G H I J K L M +[butlast[7]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/ceil Operator (Examples).tid",
    "content": "created: 20190611174446781\nmodified: 20190611174554787\ntags: [[ceil Operator]] [[Operator Examples]]\ntitle: ceil Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[1.6]ceil[]]\">>\n<<.operator-example 2 \"[[-1.6]ceil[]]\">>\n<<.operator-example 3 \"=-1.2 =-2.4 =3.6 =4.8 =5.1 +[ceil[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/charcode.tid",
    "content": "created: 20210622214849214\nmodified: 20210622214849214\ntags: [[charcode Operator]] [[Operator Examples]]\ntitle: charcode Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[charcode[65]match[A]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/commands.tid",
    "content": "created: 20150118134611000\nmodified: 20150118183148000\ntags: [[commands Operator]] [[Operator Examples]]\ntitle: commands Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[commands[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/compare Operator (Examples).tid",
    "content": "created: 20200412212935849\nmodified: 20200412212935849\ntags: [[compare Operator]] [[Operator Examples]]\ntitle: compare Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[20200101]compare:date:gt[201912311852]]\" \"compares two partial dates\">>\n<<.operator-example 2 \"[[202001011852]compare:integer:gt[20191231]]\" \"compares the same two strings as integers\">>\n<<.operator-example 3 \"[list[Days of the Week]compare:string:gt[M]compare:string:lt[W]]\">>\n<<.operator-example 4 \"[[v5.1.23-prerelease]compare:version:gt[v5.1.22]]\">>\n<<.operator-example 5 \"[[1]compare:number:gt[2]then[yes]else[no]]\">>\n<<.operator-example 6 \"[[-2]compare::lt[-1]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/contains Operator (Examples).tid",
    "content": "created: 20180815124630157\nmodified: 20180815124919662\ntags: [[contains Operator]] [[Operator Examples]]\ntitle: contains Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[contains:tags[HelloThere]]\" \"equivalent to [tag[HelloThere]]\">>\n<<.operator-example 2 \"[[$:/StoryList]contains[HelloThere]]\" \"checks whether the tiddler 'HelloThere' is currently displayed in the story river\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/cos Operator (Examples).tid",
    "content": "created: 20211020142042072\nmodified: 20211020142110929\ntags: [[Operator Examples]] [[cos Operator]]\ntitle: cos Operator (Examples)\n\n<<.operator-example 1 \"[[2]cos[]]\">>\n<<.operator-example 2 \"=1 =2 =3 =4 +[cos[]]\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/count_Operator_(Examples).tid",
    "content": "created: 20170208200912602\nmodified: 20170208201020488\ntags: [[each Operator]] [[Operator Examples]]\ntitle: count Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[tag[HelloThere]count[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/cycle Operator (Examples).tid",
    "content": "created: 20201118174250896\nmodified: 20201118175415868\ntags: [[Operator Examples]] [[cycle Operator]]\ntitle: cycle Operator (Examples)\ntype: text/vnd.tiddlywiki\n\nCycle through a list of values to add as a tag:\n\n```\n<$action-listops $tiddler=\"target\" $tags=\"+[cycle[todo soon now maybe done ]]\" />\n```\n\nCycle through a list of values to add as a tag, in reverse order:\n\n```\n<$action-listops $tiddler=\"target\" $tags=\"+[cycle[todo soon now maybe done ],[-1]]\" />\n```\n\n<<.using-days-of-week>>\n<<.operator-example 1 \"\"\"[list[Days of the Week]first[]] +[cycle{Days of the Week!!list}]\"\"\">>\n<<.operator-example 2 \"\"\"[list[Days of the Week]first[]] +[cycle{Days of the Week!!list},[2]]\"\"\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/days.tid",
    "content": "tags: [[Operator Examples]] [[days Operator]]\ntitle: days Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[days[-14]]\" \"tiddlers modified within the last 14 days\">>\n<<.operator-example 2 \"[!days:created[-800]]\" \"tiddlers created more than 800 days ago\">>\nThe filter can be used to highlight new items in a list. For example:\n<$macrocall\n  $name=\"wikitext-example-without-html\"\n  src=\"\"\"<ul>\n  <$list filter=\"[tag[ReleaseNotes]!<currentTiddler>!sort[modified]]\">\n    <li>\n      <$link><$view field=\"title\"/></$link>\n      <$list filter=\"[<currentTiddler>days[-180]]\"> @@color:red;^^new^^@@</$list>\n      <$list filter=\"[<currentTiddler>days[-500]!days[-180]]\"> @@color:black;^^recent^^@@</$list>\n    </li>\n  </$list>\n</ul>\"\"\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/decodehtml_Operator_(Examples).tid",
    "content": "created: 20161017154848886\nmodified: 20161017155350389\ntags: [[Operator Examples]] [[decodehtml Operator]]\ntitle: decodehtml Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[Title with &lt; angle brackets &gt;]] +[decodehtml[]]\">>\n<<.operator-example 2 \"[[Title with an &amp; ampersand]] +[decodehtml[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/decodeuri_Operator_(Examples).tid",
    "content": "created: 20161017154558573\nmodified: 20161017155350399\ntags: [[Operator Examples]] [[decodeuri Operator]]\ntitle: decodeuri Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[Title%20with%20Space]] +[decodeuri[]]\">>\n<<.operator-example 2 \"[[Title%20with%20Space]] [[Another%20title%20with%20Space]] +[decodeuri[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/decodeuricomponent_Operator_(Examples).tid",
    "content": "created: 20161017153616709\nmodified: 20161017155350393\ntags: [[Operator Examples]] [[decodeuricomponent Operator]]\ntitle: decodeuricomponent Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[Title%20with%20Space]] +[decodeuricomponent[]]\">>\n<<.operator-example 2 \"[[Title%20with%20Space]] [[Another%20title%20with%20Space]] +[decodeuricomponent[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/deserialize Operator (Examples).tid",
    "content": "created: 20230601200356736\nmodified: 20230602105036887\ntags: [[Operator Examples]] [[deserialize Operator]]\ntitle: deserialize Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n\\define html-data()\n<!doctype html>\n<html lang=\"en\">\n<head>\n\t<meta charset=\"utf-8\">\n\t<title>Test Data</title>\n</head>\n<body>\n\n<!--~~ Ordinary tiddlers ~~-->\n<div id=\"storeArea\" style=\"display:none;\"><div title=\"Hello &quot;There&quot;\" type=\"text/vnd.tiddlywiki\">\n<pre>Abacus</pre>\n</div>\n</div>\n<script class=\"tiddlywiki-tiddler-store\" type=\"application/json\">[{\"title\":\"Hello \\\"There\\\"\",\"text\":\"Calculator\"},{\"title\":\"Hello \\\"There\\\"\",\"text\":\"Protractor\"}]</script>\n</body>\n</html>\n\\end\n\nThis example uses the predefined variable `html-data`:\n<$codeblock code=<<html-data>> language=\"HTML\"/>\n\n<<.operator-example 1 \"[<html-data>deserialize[text/html]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/deserializers Operator (Examples).tid",
    "content": "created: 20210506115345021\nmodified: 20210506115402052\ntags: [[Operator Examples]] [[deserializer Operator]]\ntitle: deserializers Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[deserializers[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/divide Operator (Examples).tid",
    "content": "created: 20190611125929173\nmodified: 20190611130146154\ntags: [[divide Operator]] [[Operator Examples]]\ntitle: divide Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[355]divide[113]]\">>\n<<.operator-example 2 \"=1 =2 =3 =4 +[divide[2]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/each.tid",
    "content": "created: 20150118134611000\nmodified: 20241204085904594\ntags: [[each Operator]] [[Operator Examples]]\ntitle: each Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[each[color]]\">>\n<<.operator-example 2 \"[sort[title]each[type]]\" \"the alphabetically first tiddler of each type\">>\n<<.operator-example 3 \"[each:list-item[list]]\" \"all tiddlers listed anywhere in the core list field\">>\n<<.operator-example 4 \"[[Non existing]] [[GettingStarted]] +[each:value[]]\" \"Compare this to `+[each[]]` below\">>\n<<.operator-example 5 \"[[Non existing]] [[GettingStarted]] +[each[]]\" \"Compare this to `+[each:value[]]` above\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/eachday.tid",
    "content": "created: 20150118134611000\nmodified: 20150118183156000\ntags: [[eachday Operator]] [[Operator Examples]]\ntitle: eachday Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[eachday[created]]\" \"the first tiddler created on each day\">>\n\nFor an example of using the <<.op eachday>> operator to generate a two-tier list of groups and members, see [[GroupedLists]].\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/else Operator (Examples).tid",
    "content": "created: 20190802113334259\nmodified: 20190802113551566\ntags: [[else Operator]] [[Operator Examples]]\ntitle: else Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[HelloThereMissing]is[missing]else[yes]]\">>\n<<.operator-example 2 \"[[HelloThere]is[missing]else[yes]]\">>\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/encodehtml_Operator_(Examples).tid",
    "content": "created: 20161017154758523\nmodified: 20161017155350391\ntags: [[Operator Examples]] [[encodehtml Operator]]\ntitle: encodehtml Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[Title with <angle brackets>]] +[encodehtml[]]\">>\n<<.operator-example 2 \"[[Title with an & ampersand]] +[encodehtml[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/encodeuri_Operator_(Examples).tid",
    "content": "created: 20161017154702282\nmodified: 20161017155350397\ntags: [[Operator Examples]] [[encodeuri Operator]]\ntitle: encodeuri Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[Title with Space]] +[encodeuri[]]\">>\n<<.operator-example 2 \"[[Title with Space]] [[Another title with Space]] +[encodeuri[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/encodeuricomponent_Operator_(Examples).tid",
    "content": "created: 20161017154451373\nmodified: 20161017155350395\ntags: [[Operator Examples]] [[encodeuricomponent Operator]]\ntitle: encodeuricomponent Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[Title with Space]] +[encodeuricomponent[]]\">>\n<<.operator-example 2 \"[[Title with Space]] [[Another title with Space]] +[encodeuricomponent[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/enlist Operator (Examples).tid",
    "content": "created: 20170221144328467\nmodified: 20190610165309565\ntags: [[enlist Operator]] [[Operator Examples]]\ntitle: enlist Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[enlist[one two three]addsuffix[!]]\">>\n<<.operator-example 2 \"[enlist[one one one]]\">>\n<<.operator-example 3 \"[enlist:raw[one one one]]\">>\n<<.operator-example 4 \"[enlist{$:/StoryList!!list}]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/enlist-input Operator (Examples).tid",
    "content": "created: 20201102220519567\nmodified: 20201103090622475\ntags: [[enlist-input Operator]] [[Operator Examples]]\ntitle: enlist-input Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[Days of the Week]get[list]enlist-input[]]\">>\nContrast with: <<.operator-example 2 \"[[Days of the Week]get[list]]\">>\n<<.operator-example 3 \"'HelloThere GettingStarted [[Customise TiddlyWiki]]' +[enlist-input[]]\">>\nContrast with: <<.operator-example 4 \"'HelloThere GettingStarted [[Customise TiddlyWiki]]'\">>\n<<.operator-example 5 \"'HelloThere HelloThere GettingStarted [[Customise TiddlyWiki]]' +[enlist-input:raw[]]\">>\nContrast with: <<.operator-example 6 \"'HelloThere HelloThere GettingStarted [[Customise TiddlyWiki]]' +[enlist-input[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/escapecss Operator (Examples).tid",
    "content": "tags: [[escapecss Operator]] [[Operator Examples]]\ntitle: escapecss Operator (Examples)\ntype: text/vnd.tiddlywiki\ncreated: 20190629072855199\nmodified: 20190629072855199\n\n<<.operator-example 1 \"[all[tiddlers]tag[Resources]escapecss[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/escaperegexp_Operator_(Examples).tid",
    "content": "created: 20161017155417183\nmodified: 20161017155520892\ntags: [[Operator Examples]] [[escaperegexp Operator]]\ntitle: escaperegexp Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"\"\"[[Title with dots . and dollars $]] +[escaperegexp[]]\"\"\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/exponential Operator (Examples).tid",
    "content": "created: 20190611154509136\nmodified: 20190611154545304\ntags: [[exponential Operator]] [[Operator Examples]]\ntitle: exponential Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"123456789 +[exponential[4]]\">>\n<<.operator-example 2 \"123456789 +[exponential[13]]\">>\n<<.operator-example 3 \"1.23E23 +[exponential[90]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/field.tid",
    "content": "created: 20150118134611000\nmodified: 20150118183202000\ntags: [[field Operator]] [[Operator Examples]]\ntitle: field Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[field:author[JeremyRuston]]\" \"plugins authored by JeremyRuston\">>\n<<.operator-example 2 \"[plugin-type[theme]author[JeremyRuston]]\" \"themes authored by JeremyRuston\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/fields.tid",
    "content": "created: 20150118134611000\nmodified: 20200129165627964\ntags: [[fields Operator]] [[Operator Examples]]\ntitle: fields Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[HelloThere]fields[]]\" \"fields of HelloThere\">>\n<<.operator-example 2 \"[[HelloThere]fields:include[list title text non-existing]]\" \"\"\"fields of HelloThere using a \"short list\" of fields. Fields are only shown, if they exist\"\"\">>\n<<.operator-example 3 \"[[HelloThere]fields:include[list title text]sortby[title list text]]\" \"fields of HelloThere special sorting\">>\n<<.operator-example 4 \"[[HelloThere]fields:exclude[list title text]]\" \"fields of HelloThere using the exclude suffix\">>\n<<.operator-example 5 \"[[HelloThere]fields[]] -list -title -text\" \"fields of HelloThere, using several filter runs instead of exclude suffix\">>\n<<.operator-example 6 \"[tag[Common Operators]fields[]]\" \"fields of all tiddlers tagged as [[Common Operators]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/filter Operator (Examples).tid",
    "content": "created: 20201004141030951\nmodified: 20201004143326056\ntags: [[Operator Examples]] [[filter Operator]]\ntitle: filter Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n\\define larger-than-1k() [get[text]length[]compare:integer:gteq[1000]]\n\\define smaller-than-2k() [get[text]length[]compare:integer:lteq[2000]]\n\\define contains-missing-links() [links[]!is[shadow]is[missing]]\n\\define display-variable(name)\n''<$text text=<<__name__>>/>'': <code><$text text={{{ [<__name__>getvariable[]] }}}/></code>\n\\end\n\nThese examples use the following predefined variables:\n\n* <<display-variable larger-than-1k>>\n* <<display-variable smaller-than-2k>>\n* <<display-variable contains-missing-links>>\n\n<<.operator-example 1 \"[tag[HelloThere]filter<larger-than-1k>]\">>\n<<.operator-example 2 \"[tag[HelloThere]filter<smaller-than-2k>]\">>\n<<.operator-example 3 \"[tag[HelloThere]filter<larger-than-1k>filter<smaller-than-2k>]\">>\n<<.operator-example 4 \"[tag[Features]filter<contains-missing-links>]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/first.tid",
    "content": "created: 20150118134611000\nmodified: 20150118183210000\ntags: [[first Operator]] [[Operator Examples]]\ntitle: first Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.using-days-of-week>>\n\n<<.operator-example 1 \"[list[Days of the Week]first[]]\">>\n<<.operator-example 2 \"[list[Days of the Week]first[5]]\">>\n<<.operator-example 3 \"[tag[Filter Operators]!sort[title]first[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/fixed Operator (Examples).tid",
    "content": "created: 20190611150610846\nmodified: 20190611150743047\ntags: [[fixed Operator]] [[Operator Examples]]\ntitle: fixed Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"10.123456789 +[fixed[5]]\">>\n<<.operator-example 2 \"[[355]divide[113]fixed[7]]\">>\n<<.operator-example 3 \"[[1]divide[2]fixed[3]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/floor Operator (Examples).tid",
    "content": "created: 20190613084453154\nmodified: 20190613084521199\ntags: [[floor Operator]] [[Operator Examples]]\ntitle: floor Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[1.6]floor[]]\">>\n<<.operator-example 2 \"[[-1.6]floor[]]\">>\n<<.operator-example 3 \"=-1.2 =-2.4 =3.6 =4.8 =5.1 +[floor[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/format Operator (Examples).tid",
    "content": "created: 20201020102735123\nmodified: 20230226135641976\ntags: [[Operator Examples]] [[format Operator]]\ntitle: format Operator (Examples)\ntype: text/vnd.tiddlywiki\n\nThese examples use the tiddler HelloThere.\n\nCreated date with no format string specified:\n<<.operator-example 1 \"[[HelloThere]get[created]format:date[]]\">>\n\nCreated date with a format string supplied as operator parameter:\n<<.operator-example 2 \"[[HelloThere]get[created]format:date[DDth MMM YYYY]]\">>\n\nModified date shown as a relative date:\n<<.operator-example 3 \"[[HelloThere]get[modified]format:relativedate[]]\">>\n\nGet the date and time exactly 24 hours (86,400,000 milliseconds) from now:\n<<.operator-example 4 \"[<now [UTC]YYYY0MM0DD0hh0mm0ss0XXX>format:date[TIMESTAMP]add[86400000]format:timestamp[DDth mmm YYYY 0hh:0mm:0ss]]\">>\n\nA tiddler title with spaces formatted as a title list:\n<<.operator-example 5 \"\"\"[[Hello There]format:titlelist[]]\"\"\">>\n\nAll tiddler titles tagged with <<tag TableOfContents>> formatted as a title list:\n<<.operator-example 6 \"\"\"[tag[TableOfContents]format:titlelist[]]\"\"\">>\n\nA JSON string formatted as JSON – note how the JSON string is normalised to remove the duplicated properties:\n<<.operator-example 7 \"\"\"[[{\"one\":\"first\",\"one\":\"another\",\"two\":\"second\"}]format:json[]]\"\"\">>\n\n<<.tip \"To create a string to save a [[title list|Title List]] into a list field, use `format:titlelist[]` with the [[join operator|join Operator]]\">>\n<<.operator-example 8 \"\"\"[tag[TableOfContents]format:titlelist[]join[ ]]\"\"\">>\nFor example, to save titles tagged `TableOfContents` to the titles field of the tiddler [[format titlelist test]]:\n\n<$macrocall $name='wikitext-example-without-html'\nsrc='<$button>Try it\n<$action-setfield $tiddler=\"format titlelist test\" titles={{{ [tag[TableOfContents]format:titlelist[]join[ ]] }}}/>\n</$button>'/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/get.tid",
    "content": "created: 20150118134611000\nmodified: 20230325163424379\nmyfield: \ntags: [[get Operator]] [[Operator Examples]]\ntitle: get Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[all[current]get[draft.of]]\" \"the title of the tiddler of which the current tiddler is a draft\">>\n\n<<.operator-example 2 \"[get[tags]]\" \"returns the tags of all tiddlers without de-duplication\">>\n\n<<.operator-example 3 \"[get[tags]unique[]]\" \"returns the tags of all tiddlers with de-duplication\">>\n\n<<.tip \"\"\"If a data tiddler contains a field with an empty value, the empty string is not appended to the results.\"\"\">>\n\n<<.operator-example 4 \"[all[current]get[myfield]]\" \"the empty value of field <<.field myfield>> is not returned by the <<.olink get>> operator\">>\n\n<<.operator-example 5 \"[all[current]has:field[myfield]] :map[get[myfield]]\" \"also returns the empty string\">>\nThe above example works by first checking if the input title has the field <<.field myfield>> and then using the [[Map Filter Run Prefix]] to replace the title with their value of that field. If the input tiddler does not have the field, an empty <<.em selection>> is returned. The subsequent [[Map Filter Run Prefix]] outputs an empty <<.em string>> when its run returns an empty [[selection|Title Selection]] (because the field is empty).\n\n<<.operator-example 6 \"[all[tiddlers]] :filter[get[created]compare:date:lt{HelloThere!!created}]\" \"return all tiddlers that are older than [[HelloThere]]\">>\nThe above example demonstrates two different ways of accessing field values in filters: Use <<.olink get>> when the title is not known in advance as with the [[Filter Filter Run Prefix]] where <<.var currentTiddler>> is set to the current input title. Use a [[TextReference]] as an indirect [[Filter Parameter]] when the title is known.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/getindex.tid",
    "content": "created: 20150203140000000\nmodified: 20230325163543621\ntags: [[getindex Operator]] [[Operator Examples]]\ntitle: getindex Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[$:/palettes/Vanilla]getindex[background]]\" \"returns the value of property <<.value background>> of the [[DataTiddler|DataTiddlers]] [[$:/palettes/Vanilla]]\">>\n\n<<.operator-example 2 \"[all[shadows+tiddlers]tag[$:/tags/Palette]getindex[background]]\" \"returns all background colors defined in any of the ColourPalettes (notice the duplicates in the resulting list)\">>\n\n<<.tip \"\"\"If a data tiddler contains a property with an empty value, the empty string is not appended to the results.\"\"\">>\n\n<<.operator-example 3 \"[[ListopsData]getindex[DataIndex]]\" \"the empty value of the property <<.field ~DataIndex>> in [[ListopsData]] is not returned by the <<.olink getindex>> operator\">>\n\n<<.operator-example 4 \"[[ListopsData]has:index[DataIndex]] :map[getindex[DataIndex]]\" \"also returns the empty string\">>\nThe above example works by first checking if the input title has the property <<.field ~DataIndex>> and then using the [[Map Filter Run Prefix]] to replace the title with their value of that property. If the input tiddler does not have the property, an empty <<.em selection>> is returned. The subsequent [[Map Filter Run Prefix]] outputs an empty <<.em string>> when its run returns an empty [[selection|Title Selection]] (because the property is empty).\n\n<<.operator-example 5 \"[[$:/palettes/Vanilla]indexes[]] :filter[[$:/palettes/Vanilla]getindex<currentTiddler>count[]compare:number:eq[0]]\" \"returns those colors in [[$:/palettes/Vanilla]] which are defined, but have no value assigned\">>\nIn the above example, <<.olink count>> is used to check if <<.olink getindex>> returns a result (i.e. the corresponding property has a value) or not."
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/getvariable.tid",
    "content": "created: 20190330100101453\nmodified: 20190330100101453\ntags: [[getvariable Operator]] [[Operator Examples]]\ntitle: getvariable Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[currentTiddler]getvariable[]]\" \"returns the value of the variable ''currentTiddler''\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/has.tid",
    "content": "created: 20151111150157416\nemptyfield: \nmodified: 20151111150201093\ntags: [[has Operator]] [[Operator Examples]]\ntitle: has Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[has[color]]\">>\n<<.operator-example 2 \"[tag[Concepts]!has[modified]]\">>\n<<.operator-example 3 \"[has:field[emptyfield]]\">>\n<<.operator-example 4 \"[all[current]!has:field[doesntexist]]\">>\n<<.operator-example 5 \"[all[tiddlers+shadows]has:index[foreground]]\">>\n<<.operator-example 6 \"[all[current]!has:index[doesntexist]]\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/indexes.tid",
    "content": "created: 20150119125815000\nmodified: 20150119191028000\ntags: [[indexes Operator]] [[Operator Examples]]\ntitle: indexes Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[{$:/palette}indexes[]sort[title]]\" \"all the colours defined in the current [[colour palette|ColourPalettes]]\">>\n<<.operator-example 2 \"[[$:/HistoryList]indexes[]]\" \"integer output because the [[history list|$:/HistoryList]] is an array\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/insertafter Operator (Examples).tid",
    "content": "created: 20220223004441865\nmodified: 20220223004441865\ntags: [[Operator Examples]] [[insertafter Operator]]\ntitle: insertafter Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n\\define after-title() Friday\n\\define missing-title() Yesterday\n\\define display-variable(name)\n''<$text text=<<__name__>>/>'': <code><$text text={{{ [<__name__>getvariable[]] }}}/></code>\n\\end\n\nThese examples use the following predefined variables:\n\n* <<display-variable after-title>>\n* <<display-variable missing-title>>\n\n<<.operator-example 1 \"\"\"[list[Days of the Week]insertafter[Today]]\"\"\">>\n\n<<.operator-example 2 \"\"\"[list[Days of the Week]insertafter[Today],[Tuesday]]\"\"\">>\n\n<<.operator-example 3 \"\"\"[list[Days of the Week]insertafter[Today],<after-title>]\"\"\">>\n\n<<.operator-example 4 \"\"\"[list[Days of the Week]insertafter:after-title[Today]]\"\"\">>\n\n<<.operator-example 5 \"\"\"[list[Days of the Week]insertafter[Today],<missing-title>]\"\"\">>\n\n<<.operator-example 6 \"\"\"[list[Days of the Week]insertafter:missing-title[Today]]\"\"\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/insertbefore Operator (Examples).tid",
    "content": "created: 20220223004441865\nmodified: 20220223004441865\ntags: [[Operator Examples]] [[insertbefore Operator]]\ntitle: insertbefore Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n\\define before-title() Friday\n\\define missing-title() Yesterday\n\\define display-variable(name)\n''<$text text=<<__name__>>/>'': <code><$text text={{{ [<__name__>getvariable[]] }}}/></code>\n\\end\n\nThese examples use the following predefined variables:\n\n* <<display-variable before-title>>\n* <<display-variable missing-title>>\n\n<<.operator-example 1 \"\"\"[list[Days of the Week]insertbefore[Today]]\"\"\">>\n\n<<.operator-example 2 \"\"\"[list[Days of the Week]insertbefore[Today],[Tuesday]]\"\"\">>\n\n<<.operator-example 3 \"\"\"[list[Days of the Week]insertbefore[Today],<before-title>]\"\"\">>\n\n<<.operator-example 4 \"\"\"[list[Days of the Week]insertbefore:before-title[Today]]\"\"\">>\n\n<<.operator-example 5 \"\"\"[list[Days of the Week]insertbefore[Today],<missing-title>]\"\"\">>\n\n<<.operator-example 6 \"\"\"[list[Days of the Week]insertbefore:missing-title[Today]]\"\"\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/is.tid",
    "content": "created: 20150119133413000\nmodified: 20150119134652000\ntags: [[is Operator]] [[Operator Examples]]\ntitle: is Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[is[tag]]\">>\n<<.operator-example 2 \"[!is[tag]]\">>\n<<.operator-example 3 \"[all[shadows]!is[system]]\" \"shadow tiddlers that don't start with `$:/`\">>\n<<.operator-example 4 \"[is[system]tag[$:/tags/Stylesheet]]\" \"system stylesheets\">>\n<<.operator-example 5 \"[all[shadows]is[system]tag[$:/tags/Stylesheet]]\" \"shadow system stylesheets\">>\n<<.operator-example 6 \"[is[shadow]]\" \"overridden shadow tiddlers\">>\n<<.operator-example 7 \"[is[missing]]\" \"empty because its input contains only tiddlers that exist\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/join Operator (Examples).tid",
    "content": "created: 20190613154634914\nmodified: 20190613154711864\ntags: [[join Operator]] [[Operator Examples]]\ntitle: join Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"a b c d e +[join[,]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/jsondelete.tid",
    "content": "created: 20250115120000000\nmodified: 20250115120000000\ntags: [[Operator Examples]] [[jsondelete Operator]]\ntitle: jsondelete Operator (Examples)\n\n<$let object-a=\"\"\"{\n    \"a\": \"one\",\n    \"b\": \"\",\n    \"c\": \"three\",\n    \"d\": {\n        \"e\": \"four\",\n        \"f\": [\n            \"five\",\n            \"six\",\n            true,\n            false,\n            null\n        ],\n        \"g\": {\n            \"x\": \"max\",\n            \"y\": \"may\",\n            \"z\": \"maize\"\n        }\n    }\n}\n\"\"\"\nobject-b=\"\"\"{\"a\":\"one\",\"b\":\"\",\"c\":1.618,\"d\":{\"e\":\"four\",\"f\":[\"five\",\"six\",true,false,null]}}\"\"\"\narray-a=\"\"\"[\"une\",\"deux\",\"trois\",[\"quatre\",\"cinq\"]]\"\"\">\n\nThe examples below assume the following JSON object is contained in the variable `object-a`:\n\n<pre><<object-a>></pre>\n\n<<.operator-example 1 \"[<object-a>jsondelete[a]]\" \"Delete a top-level object property\">>\n<<.operator-example 2 \"[<object-a>jsondelete[d],[e]]\" \"Delete a nested object property\">>\n<<.operator-example 3 \"[<object-a>jsondelete[d],[f],[0]]\" \"Delete the first element from an array\">>\n<<.operator-example 4 \"[<object-a>jsondelete[d],[f],[-1]]\" \"Delete the last element from an array using negative index\">>\n<<.operator-example 5 \"[<object-a>jsondelete[d],[f],[-2]]\" \"Delete the second-to-last element from an array using negative index\">>\n<<.operator-example 6 \"[<object-a>jsondelete[d],[g],[x]]\" \"Delete a deeply nested object property\">>\n<<.operator-example 7 \"[<object-a>jsondelete[]]\" \"If no parameters are specified, the JSON object is returned unchanged\">>\n<<.operator-example 8 \"[<object-a>jsondelete[missing]]\" \"If the property does not exist, the JSON object is returned unchanged\">>\n\nThe examples below assume the following JSON object is contained in the variable `object-b`:\n\n<pre><<object-b>></pre>\n\n<<.operator-example 9 \"[<object-b>jsondelete[b]]\" \"Delete an empty string property\">>\n<<.operator-example 10 \"[<object-b>jsondelete[d],[f],[1]]\" \"Delete a middle element from an array\">>\n\nThe examples below assume the following JSON array is contained in the variable `array-a`:\n\n<pre><<array-a>></pre>\n\n<<.operator-example 11 \"[<array-a>jsondelete[0]]\" \"Delete the first element from a top-level array\">>\n<<.operator-example 12 \"[<array-a>jsondelete[-1]]\" \"Delete the last element from a top-level array using negative index\">>\n<<.operator-example 13 \"[<array-a>jsondelete[3],[0]]\" \"Delete an element from a nested array\">>\n\n<<.operator-example 14 \"[<object-a>] [<object-b>] :and[jsondelete[a]]\" \"If the input consists of multiple JSON objects with matching properties, the property is deleted from all of them\">>\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/jsonset.tid",
    "content": "created: 20231204112944341\r\nmodified: 20231204115056732\r\ntags: [[Operator Examples]] [[jsonset Operator]]\r\ntitle: jsonset Operator (Examples)\r\n\r\n<$let object-a=\"\"\"{\r\n    \"a\": \"one\",\r\n    \"b\": \"\",\r\n    \"c\": \"three\",\r\n    \"d\": {\r\n        \"e\": \"four\",\r\n        \"f\": [\r\n            \"five\",\r\n            \"six\",\r\n            true,\r\n            false,\r\n            null\r\n        ],\r\n        \"g\": {\r\n            \"x\": \"max\",\r\n            \"y\": \"may\",\r\n            \"z\": \"maize\"\r\n        }\r\n    }\r\n}\r\n\"\"\"\r\nobject-b=\"\"\"{\"a\":\"one\",\"b\":\"\",\"c\":1.618,\"d\":{\"e\":\"four\",\"f\":[\"five\",\"six\",true,false,null]}}\"\"\">\r\n\r\nThe examples below assume the following JSON object is contained in the variable `object-a`:\r\n\r\n<pre><<object-a>></pre>\r\n\r\n<<.operator-example 1 \"[<object-a>jsonset[d],[Jaguar]]\">>\r\n<<.operator-example 2 \"[<object-a>jsonset[d],[f],[Panther]]\">>\r\n<<.operator-example 3 \"[<object-a>jsonset[d],[f],[-1],[Elephant]]\">>\r\n<<.operator-example 4 \"[<object-a>jsonset[d],[f],[-2],[Elephant]]\">>\r\n<<.operator-example 5 \"[<object-a>jsonset[d],[f],[-4],[Elephant]]\">>\r\n<<.operator-example 6 \"[<object-a>jsonset[Panther]]\" \"If only a single parameter is specified, it replaces the entire JSON object\">>\r\n<<.operator-example 7 \"[<object-a>jsonset[]]\" \"If only a single blank parameter is specified, no changes are made to the JSON object\">>\r\n\r\n\r\nThe examples below assume the following JSON object is contained in the variable `object-b`:\r\n\r\n<pre><<object-b>></pre>\r\n\r\n<<.operator-example 8 \"[<object-b>jsonset[]]\" \"If only a single blank parameter is specified, no changes are made to the JSON object\">>\r\n<<.operator-example 9 \"[<object-b>jsonset[],[Antelope]]\" \"If the property to be set is blank, the entire JSON object is replaced\">>\r\n<<.operator-example 10 \"[<object-b>jsonset:number[],[not a number]]\" \"invalid numbers are interpreted as zero\">>\r\n<<.operator-example 11 \"[<object-b>jsonset[id],[Antelope]]\" \"nonexistent top level properties are added to the object\">>\r\n<<.operator-example 19 \"[<object-b>jsonset[missing],[id],[Antelope]]\" \"nonexistent nested properties are are ignored\">>\r\n<<.operator-example 12 \"[<object-b>jsonset:notatype[id],[Antelope]]\" \"invalid type suffix is interpreted as the default string type\">>\r\n<<.operator-example 13 \"[<object-b>jsonset:boolean[id],[false]]\">>\r\n<<.operator-example 14 \"[<object-b>jsonset:boolean[id],[Antelope]]\" \"invalid boolean value causes no assignment to be made\">>\r\n<<.operator-example 15 \"[<object-b>jsonset:number[id],[42]]\">>\r\n<<.operator-example 16 \"[<object-b>jsonset:null[id]]\">>\r\n<<.operator-example 17 \"[<object-b>jsonset:array[d],[f],[5]]\">>\r\n<<.operator-example 18 \"[<object-b>jsonset:object[d],[f],[5]]\">>\r\n\r\n<<.operator-example 20 \"[<object-a>] [<object-b>] :and[jsonset[b],[two]]\" \"If the input consists of multiple JSON objects with matching properties, the value is set for all of them\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/jsonstringify Operator (Examples).tid",
    "content": "created: 20230922121858167\nmodified: 20230922122333325\ntags: [[Operator Examples]] [[jsonstringify Operator]]\ntitle: jsonstringify Operator (Examples)\ntype: text/vnd.tiddlywiki\n\nCompare the encoding of quotes and control characters in the first example with the analogue [[example for the stringify operator|stringify Operator (Examples)]].\n<<.operator-example 1 \"\"\"[[Backslash \\, double quote \", single quote ', tab \t, line feed\n]] +[jsonstringify[]]\"\"\">>\n<<.operator-example 2 \"\"\"[[Accents and emojis -> äñøßπ ⌛🎄🍪🍓 without suffix]] +[jsonstringify[]]\"\"\">>\n<<.operator-example 3 \"\"\"[[Accents and emojis -> äñøßπ ⌛🎄🍪🍓 with rawunicode suffix]] +[jsonstringify:rawunicode[]]\"\"\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/last.tid",
    "content": "created: 20150118134611000\nmodified: 20150119182151000\ntags: [[last Operator]] [[Operator Examples]]\ntitle: last Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.using-days-of-week>>\n\n<<.operator-example 1 \"[list[Days of the Week]last[]]\">>\n<<.operator-example 2 \"[list[Days of the Week]last[5]]\">>\n<<.operator-example 3 \"[tag[Concepts]!sort[title]last[3]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/length Operator (Examples).tid",
    "content": "created: 20190613153325774\nmodified: 20190613153409962\ntags: [[length Operator]] [[Operator Examples]]\ntitle: length Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[abc]length[]]\">>\n<<.operator-example 2 \"[tag[HelloThere]length[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/levenshtein Operator (Examples).tid",
    "content": "created: 20230304183158728\nmodified: 20230304183159654\ntags: [[levenshtein Operator]] [[Operator Examples]]\ntitle: levenshtein Operator (Examples)\ntype: text/vnd.tiddlywiki\n\nDetermine the Levenshtein distance between two words:\n\n<<.operator-example 1 \"[[motel]levenshtein[money]]\">>\n\nList the 10 tiddler titles with the smallest Levenstein distance to \"~TiddlyWiki\":\n\n<$macrocall $name='wikitext-example-without-html'\nsrc=\"\"\"<ul>\n<$list filter=\"[all[tiddlers]!is[system]] :sort:number[levenshtein[TiddlyWiki]] :and[first[10]]\">\n<li>\n<$link /> (<$text text={{{ [all[current]levenshtein[TiddlyWiki]] }}} />)\n</li>\n</$list>\n</ul>\n\"\"\"/>"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/limit.tid",
    "content": "created: 20150118134611000\nmodified: 20150123214304000\ntags: [[limit Operator]] [[Operator Examples]]\ntitle: limit Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[sort[modified]!limit[20]]\" \"the 20 most recently modified tiddlers\">>\n<<.operator-example 2 \"[has[created]sort[created]limit[10]]\" \"the oldest 10 tiddlers in the wiki\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/links.tid",
    "content": "created: 20150118134611000\nmodified: 20150124202748000\ntags: [[links Operator]] [[Operator Examples]]\ntitle: links Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[HelloThere]links[]]\">>\n<<.operator-example 2 \"[all[current]links[]]\" \"tiddlers [[hard-linked|Hard and Soft Links]] from the current one\">>\n\nHere are some hard links:\n\n* HelloThere\n* [[Filter Operators]]\n* [[links Operator]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/list.tid",
    "content": "created: 20150118134611000\nmodified: 20150123214445000\ntags: [[list Operator]] [[Operator Examples]]\ntitle: list Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.using-days-of-week>>\n\n<<.operator-example 1 \"[list[HelloThere]]\">>\n<<.operator-example 2 \"[list[Days of the Week!!short]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/listed.tid",
    "content": "created: 20150118134611000\nmodified: 20150123214616000\ntags: [[listed Operator]] [[Operator Examples]]\ntitle: listed Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[HelloThere]listed[]]\">>\n<<.operator-example 2 \"[all[current]listed[my-special-list]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/log Operator (Examples).tid",
    "content": "created: 20201120041503515\nmodified: 20201120042024813\ntags: [[Operator Examples]] [[log Operator]]\ntitle: log Operator (Examples)\ntype: text/vnd.tiddlywiki\n\nLogarithm of `8` with base `2`:\n<<.operator-example 1 \"[[8]log[2]]\">>\n\nLogarithm of `100` with base `10`:\n<<.operator-example 2 \"[[100]log[10]]\">>\n\nNatural logarithm of 10 (base `e`), equivalent to `ln(10)` in mathematics:\n<<.operator-example 3 \"[[10]log[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/lookup Operator (Examples).tid",
    "content": "created: 20170907144257037\nmodified: 20211118025451349\ntags: [[Operator Examples]]\ntitle: lookup Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[all[shadows+tiddlers]tag[$:/tags/PageControls]lookup[$:/config/PageControlButtons/Visibility/]]\" \"Retrieve the visibility status of each page control button\">>\n<<.operator-example 2 \"[all[shadows+tiddlers]tag[$:/tags/PageControls]lookup:show[$:/config/PageControlButtons/Visibility/]]\" \"Retrieve the visibility status of each page control button, this time with a default value\">>\n<<.operator-example 3 \"[all[tiddlers]has[plugin-type]removeprefix[$:/plugins/tiddlywiki/]lookup:missing-description:field[$:/plugins/tiddlywiki/],[description]]\" \"Retrieve the description of all plugin-tiddlers that are in the `$:/plugins/tiddlywiki/` namespace.\">>\n<<.operator-example 4 \"OriginalTiddlerPaths +[lookup:missing-index:index[$:/config/],[HelloThere]]\" \"Lookup the original tiddler path on disk for the [[Hello There]] tiddler.\">>\n<<.operator-example 5 \"OriginalTiddlerPaths +[lookup:missing-index:index[$:/config/],[MissingTiddler]]\" \"Lookup the original tiddler path on disk for the [[MissingTiddler]] tiddler.\">>\n<<.operator-example 6 \"HistoryList MissingHistoryList +[lookup:missing-0:index[$:/]]\" \"Retrieve index `0` from the `$:/HistoryList` and `$:/MissingHistoryList`.\">>\n<<.operator-example 7 \"OriginalTiddlerPaths MissingTiddlerPaths +[lookup:missing-tiddler:index[$:/config/],[$:/key-test]]\" \"Retrieve index `$:/key-test` from `$:/config/OriginalTiddlerPaths` and `$:/config/MissingTiddlerPaths`.\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/lowercase Operator (Examples).tid",
    "content": "created: 20190613153824151\nmodified: 20190613153842330\ntags: [[lowercase Operator]] [[Operator Examples]]\ntitle: lowercase Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[Abc]lowercase[]]\">>\n<<.operator-example 2 \"[tag[HelloThere]lowercase[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/makepatches and applypatches Operator (Examples).tid",
    "content": "created: 20230304160331362\nmodified: 20230304160332927\ntags: [[makepatches Operator]] [[applypatches Operator]] [[Operator Examples]]\ntitle: makepatches and applypatches Operator (Examples)\ntype: text/vnd.tiddlywiki\n\nThese examples use the example texts in [[Hamlet]], taken from [[https://neil.fraser.name/software/diff_match_patch/demos/patch.html]]\n\n|^!Shakespeare's original |@@white-space: pre-wrap;{{Hamlet##Shakespeare-old}}@@ |\n|^!Modern English |@@white-space: pre-wrap;{{Hamlet##Shakespeare-new}}@@ |\n|^!Trekkie's Copy |@@white-space: pre-wrap;{{Hamlet##Trekkie-old}}@@ |\n\n<div class=\"doc-examples-hard-breaks\">\n\nUse `makepatches` to generate the set of patches to transform Shakepeare's original into Modern English:\n\n<<.operator-example 1 \"[{Hamlet##Shakespeare-old}makepatches{Hamlet##Shakespeare-new}]\">>\n\nUse `applypatches` to apply the patches to Shakespeare's original text:\n\n<<.operator-example 2 \"[{Hamlet##Shakespeare-old}makepatches{Hamlet##Shakespeare-new}] :map[{Hamlet##Shakespeare-old}applypatches<currentTiddler>]\">>\n\nIn the above example, the [[Map Filter Run Prefix]] is used to pass the patches information as a parameter to `applypatches`. Inside `:map`, <<.value currentTiddler>> is set to the input title (i.e. the previously generated patches).\n\nThe patch information from the Shakepeare texts can also be used to transform the //Trekkie's Copy// to a Modern English version:\n\n<<.operator-example 3 \"[{Hamlet##Shakespeare-old}makepatches{Hamlet##Shakespeare-new}] :map[{Hamlet##Trekkie-old}applypatches<currentTiddler>]\">>\n\nThe above examples used the character mode of `makepatches`. The `word` mode yields very similar results in this case, even when applied to the //Trekkie's Copy//.\n\n<<.operator-example 4 \"[{Hamlet##Shakespeare-old}makepatches:words{Hamlet##Shakespeare-new}]\">>\n\n<<.operator-example 5 \"[{Hamlet##Shakespeare-old}makepatches:words{Hamlet##Shakespeare-new}] :map[{Hamlet##Trekkie-old}applypatches<currentTiddler>]\">>\n\nThe `lines` mode doesn't work as well in this application:\n\n<<.operator-example 6 \"[{Hamlet##Shakespeare-old}makepatches:lines{Hamlet##Shakespeare-new}]\">>\n\n<<.operator-example 7 \"[{Hamlet##Shakespeare-old}makepatches:lines{Hamlet##Shakespeare-new}] :map[{Hamlet##Trekkie-old}applypatches<currentTiddler>]\">>\n\nIt is better suited as a very fast algorithm to detect line-wise incremental changes to texts and store only the changes instead of multiple versions of the whole texts.\n\n</div>"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/match Operator (Examples).tid",
    "content": "created: 20190731080350471\nmodified: 20190731080435966\ntags: [[match Operator]] [[Operator Examples]]\ntitle: match Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"a b c +[match[b]]\">>\n<<.operator-example 2 \"[match[HelloThere]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/max Operator (Examples).tid",
    "content": "created: 20190611130905752\nmodified: 20190611130938471\ntags: [[max Operator]] [[Operator Examples]]\ntitle: max Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[23]max[32]]\">>\n<<.operator-example 2 \"=1 =2 =3 =4 +[max[3]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/maxall Operator (Examples).tid",
    "content": "created: 20190611160949615\nmodified: 20190611161010568\ntags: [[maxall Operator]] [[Operator Examples]]\ntitle: maxall Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"=1 =2 =3 =4 =5 +[maxall[]]\">>\n<<.operator-example 2 \"[tag[HelloThere]get[text]length[]maxall[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/median Operator (Examples).tid",
    "content": "created: 20210426131042769\nmodified: 20210426131553560\ntags: [[Operator Examples]] [[median Operator]]\ntitle: median Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"=1 =3 =4 =5 +[median[]]\">>\n\nNote that if there is no input the operator returns `NaN`\n<<.operator-example 2 \"[title[NotATiddler]get[price]] +[median[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/min Operator (Examples).tid",
    "content": "created: 20190611131138259\nmodified: 20190611131149542\ntags: [[min Operator]] [[Operator Examples]]\ntitle: min Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[23]min[32]]\">>\n<<.operator-example 2 \"=1 =2 =3 =4 +[min[3]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/minall Operator (Examples).tid",
    "content": "created: 20190611161051108\nmodified: 20190611161107239\ntags: [[minall Operator]] [[Operator Examples]]\ntitle: minall Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"=1 =2 =3 =4 =5 +[minall[]]\">>\n<<.operator-example 2 \"[tag[HelloThere]get[text]length[]minall[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/minlength.tid",
    "content": "created: 20161011074235805\nmodified: 20161011074235805\ntags: [[Operator Examples]] [[minlength Operator]]\ntitle: minlength Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.using-days-of-week>>\n\n<<.operator-example 1 \"[list[Days of the Week]minlength[7]]\">>\n<<.operator-example 2 \"[list[Days of the Week]minlength[1]]\">>\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/moduleproperty Operator (Examples).tid",
    "content": "created: 20210919201407838\nmodified: 20210919201738739\ntags: [[moduleproperty Operator]] [[Operator Examples]]\ntitle: moduleproperty Operator (Examples)\ntype: text/vnd.tiddlywiki\n\nGet the name of the macro in the module `$:/core/modules/macros/qualify.js`:\n<<.operator-example 1 \"[[$:/core/modules/macros/qualify.js]moduleproperty[name]]\">>\n\nFor all macro modules retrieve their name module properties:\n<<.operator-example 2 \"[[macro]modules[]moduleproperty[name]]\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/modules.tid",
    "content": "created: 20150123221510000\nmodified: 20210919201037087\ntags: [[modules Operator]] [[Operator Examples]]\ntitle: modules Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[filteroperator]modules[]]\">>\n\nGet the title of the macro module which a `property` name with value `version`:\n<<.operator-example 2 \"[[macro]modules[name],[version]]\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/moduletypes.tid",
    "content": "created: 20150123221601000\nmodified: 20150123221623000\ntags: [[moduletypes Operator]] [[Operator Examples]]\ntitle: moduletypes Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[moduletypes[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/move.tid",
    "content": "created: 20151022123633433\nmodified: 20151108051643871\ntags: [[Operator Examples]] [[move Operator]]\ntitle: move Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.using-days-of-week>>\n\n<<.operator-example 1 \"[list[Days of the Week]] +[move[Wednesday]]\">>\n<<.operator-example 2 \"[list[Days of the Week]] +[move:-2[Wednesday]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/multiply Operator (Examples).tid",
    "content": "created: 20190611125743568\nmodified: 20190611125757767\ntags: [[multiply Operator]] [[Operator Examples]]\ntitle: multiply Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[23]multiply[19]]\">>\n<<.operator-example 2 \"=1 =2 =3 =4 +[multiply[4]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/negate Operator (Examples).tid",
    "content": "created: 20190611174040931\nmodified: 20190611174121059\ntags: [[negate Operator]] [[Operator Examples]]\ntitle: negate Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[-2000]negate[]]\">>\n<<.operator-example 2 \"=1 =2 =3 =4 =5 +[negate[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/next.tid",
    "content": "created: 20150123221711000\nmodified: 20150123221834000\ntags: [[next Operator]] [[Operator Examples]]\ntitle: next Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.using-days-of-week>>\n\n<<.operator-example 1 \"[[Monday]next[Days of the Week]]\">>\n<<.operator-example 2 \"[[Sunday]next[Days of the Week]]\">>\n<<.operator-example 3 \"Tuesday Wednesday Thursday +[next[Days of the Week]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/nsort.tid",
    "content": "created: 20150123221921000\nmodified: 20150123222142000\ntags: [[nsort Operator]] [[Operator Examples]]\ntitle: nsort Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"10 010 1000 100 +[nsort[]]\">>\n<<.operator-example 2 \"10 010 ALPHA beta alpha 1000 100 +[nsort[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/nsortcs.tid",
    "content": "created: 20150123222108000\nmodified: 20150123222139000\ntags: [[nsortcs Operator]] [[Operator Examples]]\ntitle: nsortcs Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"10 010 1000 100 +[nsortcs[]]\">>\n<<.operator-example 2 \"10 010 ALPHA beta alpha 1000 100 +[nsortcs[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/nth.tid",
    "content": "created: 20150118134611000\nmodified: 20150123222912000\ntags: [[nth Operator]] [[Operator Examples]]\ntitle: nth Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.using-days-of-week>>\n\n<<.operator-example 1 \"[list[Days of the Week]nth[]]\">>\n<<.operator-example 2 \"[list[Days of the Week]nth[5]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/pad Operator (Examples).tid",
    "content": "created: 20201129174833980\nmodified: 20201129180011580\ntags: [[Operator Examples]] [[pad Operator]]\ntitle: pad Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"\"\"[[2]pad[3]]\"\"\">>\n\n<<.operator-example 2 \"\"\"[[2]pad[3],[a]]\"\"\">>\n\n<<.operator-example 3 \"\"\"[[12]pad[9],[abc]]\"\"\">>\n\n<<.operator-example 4 \"\"\"[[12]pad:suffix[9],[abc]]\"\"\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/plugintiddlers.tid",
    "content": "created: 20150123223006000\nmodified: 20150123223023000\ntags: [[plugintiddlers Operator]] [[Operator Examples]]\ntitle: plugintiddlers Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[$:/core]plugintiddlers[]]\">>\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/power Operator (Examples).tid",
    "content": "created: 20201120040913073\nmodified: 20201120041513726\ntags: [[Operator Examples]] [[power Operator]]\ntitle: power Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[3]power[3]]\">>\n<<.operator-example 2 \"9 +[power[2]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/precision Operator (Examples).tid",
    "content": "created: 20190611151444751\nmodified: 20190611154248537\ntags: [[precision Operator]] [[Operator Examples]]\ntitle: precision Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"123456789 +[precision[3]]\">>\n<<.operator-example 2 \"123456789 +[precision[13]]\">>\n<<.operator-example 3 \"1.23E23 +[precision[90]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/prefix.tid",
    "content": "created: 20150123223129000\nmodified: 20220218023400000\ntags: [[prefix Operator]] [[Operator Examples]]\ntitle: prefix Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[tag[task]!prefix[Go]]\">>\n<<.operator-example 2 \"[tag[task]!prefix:caseinsensitive[go]]\">>\n<<.operator-example 3 \"[prefix[$:/languages/]]\">>\n<<.operator-example 4 \"[prefix[$:/]]\" \"same as `[is[system]]`\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/prepend.tid",
    "content": "created: 20151017151508135\nmodified: 20230321130446467\ntags: [[Operator Examples]] [[prepend Operator]]\ntitle: prepend Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.using-days-of-week>>\n\nThe operator may be used to prepend a number of items to the list.\n\n<<.operator-example 1 \"[list[Days of the Week]prepend[Yesterday Today Tomorrow]]\">>\n\nThe parameter may list only items without spaces -- to include items with spaces, use a reference to an array, e.g. prepend the last three short days of the week to the list\n\n<<.operator-example 2 \"[list[Days of the Week]!prepend:3{Days of the Week!!short}]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/previous.tid",
    "content": "created: 20150123221711000\nmodified: 20150123223422000\ntags: [[previous Operator]] [[Operator Examples]]\ntitle: previous Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.using-days-of-week>>\n\n<<.operator-example 1 \"[[Wednesday]previous[Days of the Week]]\">>\n<<.operator-example 2 \"[[Monday]previous[Days of the Week]]\">>\n<<.operator-example 3 \"Tuesday Wednesday Thursday +[previous[Days of the Week]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/product Operator (Examples).tid",
    "content": "created: 20190611160221390\nmodified: 20190611160243829\ntags: [[product Operator]] [[Operator Examples]]\ntitle: product Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"=1 =2 =3 =4 =5 +[product[]]\">>\n<<.operator-example 2 \"[tag[HelloThere]get[text]length[]product[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/putafter.tid",
    "content": "created: 20151017151905558\nmodified: 20151108051825288\ntags: [[Operator Examples]] [[putafter Operator]]\ntitle: putafter Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.using-days-of-week>>\n\n<<.operator-example 1 \"[list[Days of the Week]] +[putafter[Wednesday]]\">>\n<<.operator-example 2 \"[list[Days of the Week]] +[putafter:2[Tuesday]]\">>\n<<.operator-example 3 \"[list[Days of the Week]] [[Yesterday]] [[Today]] [[Tomorrow]] +[putafter:3[Tuesday]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/putbefore.tid",
    "content": "created: 20151022142602628\nmodified: 20151108051906935\ntags: [[Operator Examples]] [[putbefore Operator]]\ntitle: putbefore Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.using-days-of-week>>\n\n<<.operator-example 1 \"[list[Days of the Week]] +[putbefore[Wednesday]]\">>\n<<.operator-example 2 \"[list[Days of the Week]] +[putbefore:2[Tuesday]]\">>\n<<.operator-example 3 \"[list[Days of the Week]] [[Yesterday]] [[Today]] [[Tomorrow]] +[putbefore:3[Tuesday]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/putfirst.tid",
    "content": "created: 20151017152847899\nmodified: 20151108051943204\ntags: [[Operator Examples]] [[putfirst Operator]]\ntitle: putfirst Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.using-days-of-week>>\n\n<<.operator-example 1 \"[list[Days of the Week]] +[putfirst[]]\">>\n<<.operator-example 2 \"[list[Days of the Week]] +[putfirst:2[]]\">>\n<<.operator-example 3 \"[list[Days of the Week]] [[Yesterday]] [[Today]] [[Tomorrow]] +[putfirst:-2[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/putlast.tid",
    "content": "created: 20151017153037776\nmodified: 20151108052020761\ntags: [[Operator Examples]] [[putlast Operator]]\ntitle: putlast Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.using-days-of-week>>\n\n<<.operator-example 1 \"[list[Days of the Week]] +[putlast[]]\">>\n<<.operator-example 2 \"[list[Days of the Week]] +[putlast:2[]]\">>\n<<.operator-example 3 \"one two three [list[Days of the Week]] +[putlast:-3[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/reduce Operator (Examples).tid",
    "content": "created: 20201004154413968\nmodified: 20201204131137081\ntags: [[Operator Examples]] [[reduce Operator]]\ntitle: reduce Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n\\define add-price() [get[price]multiply{!!quantity}add<accumulator>]\n\\define num-items() [get[quantity]add<accumulator>]\n\\define join-with-commas() [<index>compare:number:gt[0]then<accumulator>addsuffix[, ]addsuffix<currentTiddler>else<currentTiddler>]\n\\define multiply-input() [multiply<accumulator>]\n\\define display-variable(name)\n''<$text text=<<__name__>>/>'': <code><$text text={{{ [<__name__>getvariable[]] }}}/></code>\n\\end\n\nThese examples use the following predefined variables:\n\n* <<display-variable add-price>>\n* <<display-variable num-items>>\n* <<display-variable join-with-commas>>\n* <<display-variable multiply-input>>\n\nThey also use the following data tiddlers:\n\n<ul>\n<$list filter=\"[tag[shopping]!has[draft.of]]\">\n<li>\n''<$link><$text text=<<currentTiddler>>/></$link>'' quantity: <$text text={{!!quantity}}/>,  price: <$text text={{!!price}}/>\n</li>\n</$list>\n</ul>\n\n<<.operator-example 1 \"[tag[shopping]reduce<num-items>]\">>\n<<.operator-example 2 \"[tag[shopping]reduce<add-price>]\">>\n<<.operator-example 3 \"[tag[shopping]reduce<join-with-commas>]\" \"Uses `<index>` to act differently on the first item than the rest\">>\n<<.operator-example 4 \"[tag[non-existent]reduce<add-price>]\" \"Empty input produces empty output\">>\n<<.operator-example 5 \"[tag[non-existent]reduce<add-price>else[0]]\" \"Use `else` to ensure output if input was empty\">>\n<<.operator-example 6 \"=1 =2 =3 +[reduce<multiply-input>]\" \"Empty initial value is treated as 0 by mathematical operators\">>\n<<.operator-example 7 \"=1 =2 =3 +[reduce<multiply-input>,[1]]\" \"Setting initial value is sometimes necessary for correct results\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/regexp.tid",
    "content": "created: 20150123221711000\nmodified: 20150123225347000\ntags: [[regexp Operator]] [[Operator Examples]]\ntitle: regexp Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.using-days-of-week>>\n\n<<.operator-example 1 \"[!is[system]regexp[Wiki]]\" \"non-system tiddlers with `Wiki` in their title\">>\n<<.operator-example 2 \"[!is[system]regexp[(?i)Wiki]]\" \"non-system tiddlers with `Wiki` in their title, ignoring case\">>\n<<.operator-example 3 \"[!is[system]regexp[Wiki(?i)]]\" \"same again\">>\n<<.operator-example 4 \"[regexp[(?i)\\.jpe?g$]]\" \"tiddlers with titles ending in `.jpg` or `.jpeg`, ignoring case\">>\n<<.operator-example 5 \"[regexp:created[^201408]]\" \"tiddlers created in August 2014\">>\n\nThe regular expression `[0-9]{2}` matches two consecutive digits. Because it contains square brackets, the way to use it with the <<.op regexp>> operator is via a [[variable|Variables]], as follows:\n\n<$macrocall\n$name=\"wikitext-example-without-html\"\nsrc=\"\"\"<$set name=\"digit-pattern\" value=\"[0-9]{2}\">\n<<list-links \"[regexp:title<digit-pattern>]\" field:\"title\">>\n</$set>\"\"\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/remainder Operator (Examples).tid",
    "content": "created: 20190611130110805\nmodified: 20190611130121033\ntags: [[remainder Operator]] [[Operator Examples]]\ntitle: remainder Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[23]remainder[3]]\">>\n<<.operator-example 2 \"=1 =2 =3 =4 +[remainder[2]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/remove.tid",
    "content": "created: 20151018054129966\nmodified: 20151108052052606\ntags: [[Operator Examples]] [[remove Operator]]\ntitle: remove Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.using-days-of-week>>\n\n<<.operator-example 1 \"[list[Days of the Week]] +[remove[Tuesday Wednesday Thursday]]\">>\n<<.operator-example 2 \"[list[Days of the Week]] +[remove:3[Monday Wednesday Friday Saturday]]\">>\n<<.operator-example 3 \"[list[Days of the Week]] +[!remove:2{Days of the Week!!list}]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/removeprefix.tid",
    "content": "created: 20150118132851000\nmodified: 20220218023400000\ntags: [[removeprefix Operator]] [[Operator Examples]]\ntitle: removeprefix Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[My Cat]] [[Your Garden]] [[My Favourite Armchair]] +[removeprefix[My ]]\">>\n<<.operator-example 2 \"[[My Cat]] [[Your Garden]] [[My Favourite Armchair]] +[removeprefix:caseinsensitive[my ]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/removesuffix.tid",
    "content": "created: 20150118132851000\nmodified: 20220218023400000\ntags: [[removesuffix Operator]] [[Operator Examples]]\ntitle: removesuffix Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"SIMPLEX Googolplex Complex +[removesuffix[plex]]\">>\n<<.operator-example 2 \"SIMPLEX Googolplex Complex +[removesuffix:caseinsensitive[plex]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/replace.tid",
    "content": "created: 20151017153634099\nmodified: 20151108052127454\ntags: [[Operator Examples]] [[replace Operator]]\ntitle: replace Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.using-days-of-week>>\n\n<<.operator-example 1 \"[list[Days of the Week]] Last +[replace[Wednesday]]\">>\n<<.operator-example 2 \"[list[Days of the Week]] Last +[replace:2[Tuesday]]\">>\n<<.operator-example 3 \"[list[Days of the Week]] [[Yesterday]] [[Today]] [[Tomorrow]] +[replace:3[Tuesday]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/rest.tid",
    "content": "created: 20150118134611000\nmodified: 20220226043344258\ntags: [[rest Operator]] [[Operator Examples]]\ntitle: rest Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.using-days-of-week>>\n\n<<.operator-example 1 \"[list[Days of the Week]rest[]]\">>\n<<.operator-example 2 \"[list[Days of the Week]rest[0]]\">>\n<<.operator-example 3 \"[list[Days of the Week]rest[3]]\">>\n<<.operator-example 4 \"Z Y X W V U T S R Q P O +[rest[5]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/reverse.tid",
    "content": "created: 20150118134611000\nmodified: 20150123212752000\ntags: [[reverse Operator]] [[Operator Examples]]\ntitle: reverse Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.using-days-of-week>>\n\n<<.operator-example 1 \"[list[Days of the Week]reverse[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/round Operator (Examples).tid",
    "content": "created: 20190613084626721\nmodified: 20190613084651519\ntags: [[round Operator]] [[Operator Examples]]\ntitle: round Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[1.6]round[]]\">>\n<<.operator-example 2 \"[[-1.6]round[]]\">>\n<<.operator-example 3 \"=-1.2 =-2.4 =3.6 =4.8 =5.1 +[round[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/sameday.tid",
    "content": "created: 20150124101702000\nmodified: 20150124101739000\ntags: [[sameday Operator]] [[Operator Examples]]\ntitle: sameday Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[sameday[20140410]]\" \"tiddlers modified on 10 April 2014\">>\n<<.operator-example 2 \"[sameday:created[20140410]]\" \"tiddlers created on 10 April 2014\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/search-replace Operator (Examples).tid",
    "content": "created: 20201107112846692\nmodified: 20211101125225197\ntags: [[Operator Examples]] [[search-replace Operator]]\ntitle: search-replace Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n\\define myregexp() e|o\n\n\\define myregexp2() ^(?!Unlike).*$\n\n\\define names() (\\w+)\\s(\\w+)\n\nReplace one string with another:\n<<.operator-example 1 \"\"\"[[The quick brown fox jumps over the lazy dog]search-replace[dog],[cat]]\"\"\">>\n\nReplace all matches of a regular expression:\n\n`\\define myregexp() e|o`\n<<.operator-example 2 \"\"\"[[Hello There]search-replace:g:regexp<myregexp>,[]]\"\"\">>\n\nReplace all matches of a string irrespective of case:\n<<.operator-example 3 \"\"\"[[Hello There]search-replace:gi[H],[]]\"\"\">>\n\nYou can also use regular expression capture groups in the replacement string:\n`\\define names() (\\w+)\\s(\\w+)`\n<<.operator-example 4 \"\"\"[[John Smith]search-replace::regexp<names>,[$2,$1]]\"\"\" >>\n\nYou can reference the portion of the input that matches the regular expression with `$&`:\n<<.operator-example 5 \"\"\"[[John Smith]search-replace::regexp[John .*],[His name is $&]]\"\"\">>\n\n<<.operator-example 6 \"\"\"[[This is an exciting feature]search-replace::regexp[exciting],[amazing and $&]]\"\"\">>\n\nTo replace everything but a match using a regular expression and the ''multiline'' (m) flag:\n`\\define myregexp2() ^(?!Unlike).*$`\n<<.operator-example 7 \"\"\"[[HelloThere]get[text]search-replace:gm:regexp<myregexp2>,[]]\"\"\">>\n\n\n{{How to remove stop words}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/search.tid",
    "content": "created: 20150124104508000\nmodified: 20211129122755444\ntags: [[search Operator]] [[Operator Examples]]\ntitle: search Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<$macrocall $name=\".operator-example\" n=\"1\" eg=\"[!is[system]search[table]]\" ie=\"non-system tiddlers containing the word <<.word table>>\"/>\n<$macrocall $name=\".operator-example\" n=\"2\" eg=\"[all[shadows]search[table]]\" ie=\"shadow tiddlers containing the word <<.word table>>\"/>\n<$macrocall $name=\".operator-example\" n=\"3\" eg=\"[search:caption[arch]]\" ie=\"tiddlers containing `arch` in their <<.field caption>> field\"/>\n<$macrocall $name=\".operator-example\" n=\"4\" eg=\"[search:*[arch]]\" ie=\"tiddlers containing `arch` in any field\"/>\n<$macrocall $name=\".operator-example\" n=\"5\" eg=\"[search:-title,caption[arch]]\" ie=\"tiddlers containing `arch` in any field except <<.field title>> and <<.field caption>>\"/>\n<$macrocall $name=\".operator-example\" n=\"6\" eg=\"[!is[system]search[the first]]\" ie=\"non-system tiddlers containing a case-insensitive match for both the <<.word 'the'>> and <<.word 'first'>>\"/>\n<$macrocall $name=\".operator-example\" n=\"7\" eg=\"[!is[system]search::literal[the first]]\" ie=\"non-system tiddlers containing a case-insensitive match for the literal phrase <<.word 'the first'>>\"/>\n<$macrocall $name=\".operator-example\" n=\"8\" eg=\"[!is[system]search::literal,casesensitive[The first]]\" ie=\"non-system tiddlers containing a case-sensitive match for the literal phrase <<.word 'The first'>>\"/>\n<$macrocall $name=\".operator-example\" n=\"9\" eg=\"[search:caption,description:casesensitive,words[arch]]\" ie=\"any tiddlers containing a case-sensitive match for the word `arch` in their <<.field caption>> or <<.field description>> fields\"/>\n<$macrocall $name=\".operator-example\" n=\"10\" eg=\"[search:tags:some[how test]]\" ie=\"any tiddlers containing at least 1 of the search terms in the field: <<.field tags>>\"/>\n<$macrocall $name=\".operator-example\" n=\"11\" eg=\"[search:tags:some,casesensitive[how test]]\" ie=\"any tiddlers containing at least 1 of the case-sensitive search terms in the field: <<.field tags>>\"/>\n<$macrocall $name=\".operator-example\" n=\"12\" eg=\"[search:tags,title:some,anchored[how test]]\" ie=\"any tiddlers containing at least 1 of anchored search terms in the fields: <<.field tags>> and <<.field title>>\"/>\n\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/sentencecase Operator (Examples).tid",
    "content": "created: 20190619110741485\nmodified: 20190620140353983\ntags: [[sentencecase Operator]] [[Operator Examples]]\ntitle: sentencecase Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[abc def ghi jkl]sentencecase[]]\">>\n<<.operator-example 2 \"[[abc deF gHi jKL]sentencecase[]]\">>\n<<.operator-example 3 \"[[abc deF gHi jKL]lowercase[]sentencecase[]]\">>\n<<.operator-example 4 \"[tag[HelloThere]sentencecase[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/sha256 Operator (Examples).tid",
    "content": "created: 20240308122813807\nmodified: 20240308122916812\ntags: [[Operator Examples]] [[sha256 Operator]]\ntitle: sha256 Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[test]sha256[]]\">>\n\n<<.operator-example 2 \"[[test]sha256[64]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/shadowsource.tid",
    "content": "created: 20150124111726000\nmodified: 20150124210736000\ntags: [[shadowsource Operator]] [[Operator Examples]]\ntitle: shadowsource Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[$:/core/copyright.txt]shadowsource[]]\">>\n<<.operator-example 2 \"$:/core/copyright.txt $:/plugins/tiddlywiki/railroad/parser.js +[shadowsource[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/sign Operator (Examples).tid",
    "content": "created: 20190613085050151\nmodified: 20190613085120851\ntags: [[sign Operator]] [[Operator Examples]]\ntitle: sign Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[1.6]sign[]]\">>\n<<.operator-example 2 \"[[-1.6]sign[]]\">>\n<<.operator-example 3 \"[[0]sign[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/sin Operator (Examples).tid",
    "content": "created: 20211020142121129\nmodified: 20211020142146276\ntags: [[Operator Examples]] [[sin Operator]]\ntitle: sin Operator (Examples)\n\n<<.operator-example 1 \"[[2]sin[]]\">>\n<<.operator-example 2 \"=1 =2 =3 =4 +[sin[]]\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/sort.tid",
    "content": "created: 20150124112340000\nmodified: 20150124113250000\ntags: [[sort Operator]] [[Operator Examples]]\ntitle: sort Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.using-days-of-week>>\n\n<<.operator-example 1 \"[list[Days of the Week]sort[]]\">>\n<<.operator-example 2 \"[list[Days of the Week]!sort[]]\">>\n<<.operator-example 3 \"one two Three four +[sort[]]\">>\n<<.operator-example 4 \"[prefix[Tiddl]sort[text]]\">>\n<<.operator-example 5 \"[has[created]sort[created]limit[10]]\" \"the oldest 10 tiddlers in the wiki\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/sortan.tid",
    "content": "created: 20180222071947788\nmodified: 20220227210921516\ntags: [[sortan Operator]] [[Operator Examples]]\ntitle: sortan Operator (Examples)\ntype: text/vnd.tiddlywiki\n\nThese examples make use of the [[Apple]] tiddler.\n\n----\n\nTry the following example with `sort` instead of `sortan`\n\n<<.operator-example 1 \"[list[Apple]sortan[]]\">>\n<<.operator-example 2 \"[list[Apple]!sortan[]]\">>\n<<.operator-example 3 \"App-10-A App-9-B App-10-B App-9-A +[sortan[]]\">>\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/sortby.tid",
    "content": "created: 20151018123433917\nmodified: 20151108052158811\ntags: [[Operator Examples]] [[sortby Operator]]\ntitle: sortby Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.using-days-of-week>>\n\n<<.operator-example 1 \"10 6 4 9 3 2 8 +[sortby[1 2 3 4 5 6 7 8 9 10]]\">>\n<<.operator-example 2 \"Friday Tuesday Monday Thursday Sunday +[sortby{Days of the Week!!list}]\">>\n<<.operator-example 3 \"1 Mon 5 Fri 4 Tue Sun 2  +[sortby{Days of the Week!!short}]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/sortcs.tid",
    "content": "created: 20150124113044000\nmodified: 20150124113344000\ntags: [[sortcs Operator]] [[Operator Examples]]\ntitle: sortcs Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.using-days-of-week>>\n\n<<.operator-example 1 \"one two Three four +[sortcs[]]\">>\n<<.operator-example 2 \"one two Three four +[!sortcs[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/sortsub Operator (Examples).tid",
    "content": "created: 20200425110427700\nmodified: 20201118103327392\ntags: [[sortsub Operator]] [[Operator Examples]]\ntitle: sortsub Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n\\define show-variable(name)\n<li>''$name$'': <code><$text text=<<$name$>>/></code></li>\n\\end\n\n\n<$vars\n\tcompare-by-title-length=\"[length[]]\"\n\tcompare-by-text-length=\"[get[text]else[]length[]]\"\n\tcompare-by-newest-of-modified-and-created-dates=\"[get[modified]else[19700101]]\"\n>\n\nThese examples make use of the following variables:\n\n<ul>\n<<show-variable compare-by-title-length>>\n<<show-variable compare-by-text-length>>\n<<show-variable compare-by-newest-of-modified-and-created-dates>>\n</ul>\n\n<<.operator-example 1 \"[sortsub:number<compare-by-title-length>limit[10]]\">>\n<<.operator-example 2 \"[!sortsub:number<compare-by-title-length>limit[10]]\">>\n<<.operator-example 3 \"[sortsub:number<compare-by-text-length>limit[10]]\">>\n<<.operator-example 4 \"[!sortsub:number<compare-by-text-length>limit[10]]\">>\n<<.operator-example 5 \"[tag[Field Operators]sortsub:date<compare-by-newest-of-modified-and-created-dates>]\">>\n\n{{How to remove stop words}}\n\n</$vars>"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/split Operator (Examples).tid",
    "content": "created: 20190613154338930\nmodified: 20190613154445868\ntags: [[split Operator]] [[Operator Examples]]\ntitle: split Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[a b c d e]split[ ]]\">>\n<<.operator-example 2 \"[[Mississippi]split[i]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/splitbefore.tid",
    "content": "created: 20150126143216000\nmodified: 20150126143901000\ntags: [[splitbefore Operator]] [[Operator Examples]]\ntitle: splitbefore Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<$macrocall $name=\".operator-example\" n=\"1\" eg=\"2015-01-26 2014-07-19 2013 +[splitbefore[-]]\"/>\n<$macrocall $name=\".operator-example\" n=\"2\" eg=\"[[green trees]splitbefore[ee]]\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/splitregexp Operator (Examples).tid",
    "content": "created: 20190613154934814\nmodified: 20190613155013565\ntags: [[splitregexp Operator]] [[Operator Examples]]\ntitle: splitregexp Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"a=b-c=d-e +[splitregexp[=|-]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/standard-deviation Operator (Examples).tid",
    "content": "created: 20210426130306824\nmodified: 20210426131553553\ntags: [[Operator Examples]] [[standard-deviation Operator]]\ntitle: standard-deviation Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"=1 =3 =4 =5 +[standard-deviation[]]\">>\n\nNote that if there is no input the operator returns `NaN`\n<<.operator-example 2 \"[title[NotATiddler]get[price]] +[standard-deviation[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/storyviews.tid",
    "content": "created: 20150126142047000\nmodified: 20150126142124000\ntags: [[storyviews Operator]] [[Operator Examples]]\ntitle: storyviews Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[storyviews[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/stringify_Operator_(Examples).tid",
    "content": "created: 20161017154944352\nmodified: 20230922122319674\ntags: [[Operator Examples]] [[stringify Operator]]\ntitle: stringify Operator (Examples)\ntype: text/vnd.tiddlywiki\n\nCompare the encoding of quotes and control characters in the first example with the analogue [[example for the jsonstringify operator|jsonstringify Operator (Examples)]].\n<<.operator-example 1 \"\"\"[[Backslash \\, double quote \", single quote ', tab \t, line feed\n]] +[stringify[]]\"\"\">>\n<<.operator-example 2 \"\"\"[[Accents and emojis -> äñøßπ ⌛🎄🍪🍓 without suffix]] +[stringify[]]\"\"\">>\n<<.operator-example 3 \"\"\"[[Accents and emojis -> äñøßπ ⌛🎄🍪🍓 with rawunicode suffix]] +[stringify:rawunicode[]]\"\"\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/subfilter Operator (Examples).tid",
    "content": "created: 20181031175129475\nmodified: 20211030223407188\ntags: [[subfilter Operator]] [[Operator Examples]]\ntitle: subfilter Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n\\define recent-mods() [has[modified]!sort[modified]limit[5]]\n\\define display-variable(name)\n''<$text text=<<__name__>>/>'': <code><$text text={{{ [<__name__>getvariable[]] }}}/></code>\n\\end\n\nLiteral filter parameters can be used, but such cases are better rewritten without using <<.op subfilter>>:\n<<.operator-example 1 \"[subfilter[one two three]addsuffix[!]]\" \"same as `one two three +[addsuffix[!]]`\">>\n\nThe <<.op subfilter>> operator can be used to dynamically define parts of a [[filter run|Filter Run]]. This is useful for sharing a common pieces of a filter across multiple filters.\n\nFor example, this variable:\n\n* <<display-variable recent-mods>>\n\ncan be used in one filter like this:\n\n<<.operator-example 2 \"[tag[Filter Operators]subfilter<recent-mods>addsuffix[!]]\" \"same as `[tag[Filter Operators]has[modified]!sort[modified]limit[5]addsuffix[!]]`\">>\n\nand in another similar filter like this:\n<<.operator-example 3 \"[tag[ActionWidgets]subfilter<recent-mods>addprefix[!]]\">>\n\nVariables are not the only way to define dynamic subfilters. [[Text references|TextReference]] can be used to load a subfilter from a tiddler field (see also [[Filter Parameter]]):\n<<.operator-example 4 \"[subfilter{$:/StoryList!!list}limit[5]]\">>\n<<.operator-example 5 \"[subfilter{$:/StoryList!!list}subfilter<recent-mods>]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/substitute Operator (Examples).tid",
    "content": "created: 20230614225302905\nmodified: 20251021140446753\ntags: [[Operator Examples]] [[substitute Operator]]\ntitle: substitute Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n!! Substitute operator parameters\n\nThe following example uses a ''function definition'' and a ''function call'' with a ''filter expression''\n\n<<wikitext-example-without-html \"\"\"\\function f.text() [[Hi, I'm $1$ and I live in $2$]substitute[Bugs Bunny],[Rabbit Hole Hill]]\n\n<<f.text>>\n\"\"\">>\n\n---\n\nThe following example uses a [[filtered transclusion|Transclusion in WikiText]] with a [[filter expression|Filter Syntax]] creating a link and a text output.\n\n<<wikitext-example-without-html \"\"\"link: {{{ [[Hi, I'm $1$ and I live in $2$]substitute[Bugs Bunny],[Rabbit Hole Hill]] }}}\n\ntext: <$text text={{{ [[Hi, I'm $1$ and I live in $2$]substitute[Bugs Bunny],[Rabbit Hole Hill]] }}}/>\n\"\"\">>\n\n\n!! Substitute variables and parameters\n\nThe following example uses [[variable definitions|Pragma: \\procedure]] \"name\", \"address\", a ''filtered transclusion'' assigned to a ''text-widget''. The variables \"name\" and \"address\" are used as ''substitute parameters''.\n\n<<wikitext-example-without-html \"\"\"\\procedure name() Bugs Bunny\n\\procedure address() Rabbit Hole Hill\n\n<$text text={{{ [[Hi, I'm $1$ and I live in $2$]substitute<name>,<address>] }}}/>\n\"\"\">>\n\n!! Substitute $(variables)$\n\nThe following examples use the variables \"name\" and \"address\" and directly substitute the with the [[attribute substitution|Substituted Attribute Values]] syntax. \n\n<<wikitext-example-without-html \"\"\"\\procedure name() Bugs Bunny\n\\procedure address() Rabbit Hole Hill\n\n<$text text=`Hi, I'm $(name)$ and I live in $(address)$`/>\n\"\"\">>\n\n!! Substitute a filter expression and a variable\n\nThe following example uses a procedure, that defines the text with substitution placeholders. `$(field)$` is defined as a variable. `${ ... }$` is filtered <<.olink2 \"substitution placeholder\" to:\"substitute\">>.\n\n<<wikitext-example-without-html \"\"\"\\procedure field() modified\n\n\\procedure sentence() This tiddler was last $(field)$ on ${[{!!modified}format:date[DDth MMM YYYY]]}$\n\n<$text text={{{ [<sentence>substitute[]] }}}/>\n\n---\n\n<$text text=`This tiddler was last $(field)$ on ${[{!!modified}format:date[DDth MMM YYYY]]}$`/>\n\n\"\"\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/subtiddlerfields Operator (Examples).tid",
    "content": "created: 20180403164143915\nmodified: 20180403164257147\ntags: [[plugintiddlers Operator]] [[Operator Examples]]\ntitle: subtiddlerfields Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[$:/core/copyright.txt]subtiddlerfields[$:/core]]\">>\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/subtract Operator (Examples).tid",
    "content": "created: 20190611125619962\nmodified: 20190611125638512\ntags: [[subtract Operator]] [[Operator Examples]]\ntitle: subtract Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[23]subtract[19]]\">>\n<<.operator-example 2 \"=1 =2 =3 =4 +[subtract[4]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/suffix.tid",
    "content": "created: 20150124113652000\nmodified: 20220218023400000\ntags: [[suffix Operator]] [[Operator Examples]]\ntitle: suffix Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[suffix[.jpg]]\">>\n<<.operator-example 2 \"[suffix:caseinsensitive[.JPG]]\">>\n<<.operator-example 3 \"[tag[task]!suffix[ing]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/sum Operator (Examples).tid",
    "content": "created: 20190611160000682\nmodified: 20190611160139594\ntags: [[sum Operator]] [[Operator Examples]]\ntitle: sum Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"=1 =2 =3 =4 =5 +[sum[]]\">>\n<<.operator-example 2 \"[tag[HelloThere]get[text]length[]sum[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/tag.tid",
    "content": "created: 20150124122400000\nmodified: 20150124122939000\ntags: [[tag Operator]] [[Operator Examples]]\ntitle: tag Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[tag[task]]\">>\n<<.operator-example 2 \"[tag[task]!tag[done]]\">>\n<<.operator-example 3 \"[!tag[task]]\">>\n<<.operator-example 4 \"[all[shadows]tag[$:/tags/Stylesheet]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/tagging.tid",
    "content": "created: 20150124133043000\nmodified: 20150124133617000\ntags: [[tagging Operator]] [[Operator Examples]]\ntitle: tagging Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[task]tagging[]]\" \"same as `[tag[task]]`\">>\n<<.operator-example 2 \"Concepts task +[tagging[]]\" \"tiddlers that are tagged ''Concepts'' or ''task''\">>\n<<.operator-example 3 \"[all[current]tagging[]]\" \"tiddlers tagged with the current one\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/tags.tid",
    "content": "created: 20150124134009000\nmodified: 20150124134203000\ntags: [[tags Operator]] [[Operator Examples]]\ntitle: tags Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[Filter Operators]tags[]]\">>\n<<.operator-example 2 \"[all[shadows]tags[]]\">>\n<<.operator-example 3 \"[all[shadows+tiddlers]tags[]sort[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/tan Operator (Examples).tid",
    "content": "created: 20211020142158187\nmodified: 20211020142222782\ntags: [[Operator Examples]] [[tan Operator]]\ntitle: tan Operator (Examples)\n\n<<.operator-example 1 \"[[2]tan[]]\">>\n<<.operator-example 2 \"=1 =2 =3 =4 +[tan[]]\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/then Operator (Examples).tid",
    "content": "created: 20190802113310992\nmodified: 20190802113555129\ntags: [[then Operator]] [[Operator Examples]]\ntitle: then Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[HelloThereMissing]is[missing]then[yes]]\">>\n<<.operator-example 2 \"[[HelloThere]is[missing]then[yes]]\">>\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/title.tid",
    "content": "created: 20150124140124000\nmodified: 20150124140355000\ntags: [[title Operator]] [[Operator Examples]]\ntitle: title Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[title[HelloThere]]\">>\n<<.operator-example 2 \"[[HelloThere]]\">>\n<<.operator-example 3 \"HelloThere\">>\n<<.operator-example 4 \"[title[HelloThere]] [title[Filter Operators]]\">>\n<<.operator-example 5 \"[[HelloThere]] [[Filter Operators]]\">>\n<<.operator-example 6 \"HelloThere [[Filter Operators]]\">>\n<<.operator-example 7 \"[tag[Filters]] +[!title[Filter Operators]]\">>\n<<.operator-example 8 \"[tag[Filters]] +[![Filter Operators]]\">>\n<<.operator-example 9 \"[tag[Filters]] -[[Filter Operators]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/titlecase Operator (Examples).tid",
    "content": "created: 20190620140005348\nmodified: 20190620140412655\ntags: [[titlecase Operator]] [[Operator Examples]]\ntitle: titlecase Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[abc def ghi jkl]titlecase[]]\">>\n<<.operator-example 2 \"[[abc deF gHi jKL]titlecase[]]\">>\n<<.operator-example 3 \"[[abc deF gHi jKL]lowercase[]titlecase[]]\">>\n<<.operator-example 4 \"[tag[HelloThere]titlecase[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/toggle Operator (Examples).tid",
    "content": "created: 20201107154352695\nmodified: 20201118174726982\ntags: [[Operator Examples]] [[toggle Operator]]\ntitle: toggle Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.using-days-of-week>>\n\n<<.operator-example 1 \"\"\"[list[Days of the Week]] +[toggle[Wednesday]]\"\"\">>\n\nTo toggle a tag in a tiddler:\n\n```\n<$action-listops  $tiddler=\"target\" $tags=\"+[toggle[done]]\" />\n```\n\nTo toggle a title in a field:\n\n```\n<$action-listops $tiddler=\"target\" $field=\"my-field\" $subfilter=\"+[toggle[done]]\" />\n```\n\nTo toggle between a value pair:\n\n```\n<$action-listops $tiddler=\"target\" $field=\"my-field\" $subfilter=\"+[toggle[todo],[done]]\" />\n```\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/transclude.tid",
    "content": "tags: [[transcludes Operator]] [[Operator Examples]]\ntitle: transcludes Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[Images in WikiText]transcludes[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/trim Operator (Examples).tid",
    "content": "created: 20190613153847475\nmodified: 20190613153924808\ntags: [[trim Operator]] [[Operator Examples]]\ntitle: trim Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[ a b ]trim[]addprefix[-]addsuffix[-]]\">>\n\n<<.operator-example 2 \"[[ abc ]] [[def ]] [[ ghi]] +[trim[]addprefix[-]addsuffix[-]]\">>\n<<.operator-example 3 \"[[ abc ]] [[def ]] [[ ghi]] +[trim:prefix[]addprefix[-]addsuffix[-]]\">>\n<<.operator-example 4 \"[[ abc ]] [[def ]] [[ ghi]] +[trim:suffix[]addprefix[-]addsuffix[-]]\">>\n\n<<.operator-example 5 \"abacus baobab +[trim[ab]]\">>\n<<.operator-example 6 \"abacus baobab +[trim:prefix[ab]]\">>\n<<.operator-example 7 \"abacus baobab +[trim:suffix[ab]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/trunc Operator (Examples).tid",
    "content": "created: 20190613084830686\nmodified: 20190613084854081\ntags: [[trunc Operator]] [[Operator Examples]]\ntitle: trunc Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[1.6]trunc[]]\">>\n<<.operator-example 2 \"[[-1.6]trunc[]]\">>\n<<.operator-example 3 \"=-1.2 =-2.4 =3.6 =4.8 =5.1 +[trunc[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/unique Operator (Examples).tid",
    "content": "created: 20210216203925301\nmodified: 20210217003209935\ntags: [[unique Operator]] [[Operator Examples]]\ntitle: unique Operator (Examples)\n\nTo remove duplicate entries from a list where deduplication has been prevented using the [[filter run prefix|Filter Expression]] `=`:\n\n<<.operator-example 1 \"\"\"=[[E]] =[[A]] =[[B]] =[[C]] =[[C]] =[[D]] =[[C]] +[unique[]]\"\"\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/untagged.tid",
    "content": "created: 20150124142346000\nmodified: 20150124142713000\ntags: [[untagged Operator]] [[Operator Examples]]\ntitle: untagged Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[untagged[]]\">>\n<<.operator-example 2 \"[all[shadows]untagged[]]\">>\n<<.operator-example 3 \"[list[HelloThere]!untagged[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/untrunc Operator (Examples).tid",
    "content": "created: 20190617162921280\nmodified: 20190617162921280\ntags: [[untrunc Operator]] [[Operator Examples]]\ntitle: untrunc Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[1.6]untrunc[]]\">>\n<<.operator-example 2 \"[[-1.6]untrunc[]]\">>\n<<.operator-example 3 \"=-1.2 =-2.4 =3.6 =4.8 =5.1 +[untrunc[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/uppercase Operator (Examples).tid",
    "content": "created: 20190613153541799\nmodified: 20190613153642345\ntags: [[uppercase Operator]] [[Operator Examples]]\ntitle: uppercase Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[[Abc]uppercase[]]\">>\n<<.operator-example 2 \"[tag[HelloThere]uppercase[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/variables.tid",
    "content": "created: 20190330100101453\nmodified: 20190330100101453\ntags: [[variables Operator]] [[Operator Examples]]\ntitle: variables Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[variables[]prefix[colour]]\" \"returns the names of any variables whose names start with ''colour''\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/variance Operator (Examples).tid",
    "content": "created: 20210426130620777\nmodified: 20210426131553522\ntags: [[Operator Examples]] [[variance Operator]]\ntitle: variance Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"1 3 4 5 +[variance[]]\">>\n\nNote that if there is no input the operator returns `NaN`\n<<.operator-example 2 \"[title[NotATiddler]is[tiddler]get[price]] +[variance[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/examples/zth Operator (Examples).tid",
    "content": "created: 20211029023246203\nmodified: 20211029023559616\ntags: [[Operator Examples]] [[zth Operator]]\ntitle: zth Operator (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.using-days-of-week>>\n\n<<.operator-example 1 \"[list[Days of the Week]zth[]]\">>\n<<.operator-example 2 \"[list[Days of the Week]zth[5]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/exponential Operator.tid",
    "content": "caption: exponential\ncreated: 20190611154259136\nmodified: 20190611154505880\nop-input: a [[selection of titles|Title Selection]]\nop-output: the input as numbers converted to exponential notation with <<.place N>> digits\nop-parameter: a number\nop-parameter-name: N\nop-purpose: convert each number to exponential notation with <<.place N>> digits\ntags: [[Filter Operators]] [[Mathematics Operators]] [[Binary Mathematics Operators]]\ntitle: exponential Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.20\">> See [[Mathematics Operators]] for an overview.\n\nThe ''exponential'' operator returns a string representation of the input number in exponential notation with the specified number of digits. If a number has more digits than requested, the number is rounded to the nearest number represented by the specified number of digits\n\n<<.operator-examples \"exponential\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/field.tid",
    "content": "caption: field\ncreated: 20140410103123179\nmodified: 20230316111901766\nop-input: a [[selection of titles|Title Selection]]\nop-neg-output: those input tiddlers in which field <<.place F>> does <<.em not>> have the value <<.place S>>\nop-output: those input tiddlers in which field <<.place F>> has the value <<.place S>>\nop-parameter: a possible value of field <<.place F>>\nop-parameter-name: S\nop-purpose: filter the input by field\nop-suffix: the name of a [[field|TiddlerFields]]\nop-suffix-name: F\ntags: [[Filter Operators]] [[Common Operators]] [[Field Operators]] [[Negatable Operators]]\ntitle: field Operator\ntype: text/vnd.tiddlywiki\n\nIf <<.place S>> is empty, <<.op field>> will match both of the following:\n\n* tiddlers that don't contain field <<.place F>>\n* tiddlers in which field <<.place F>> exists but has an empty value\n\nThe syntax of a [[filter step|Filter Step]] treats any unrecognised [[filter operator|Filter Operators]] as if it was the suffix to the <<.op field>> operator.\n\n<<.operator-examples \"field\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/fields.tid",
    "content": "caption: fields\ncreated: 20140924115616653\nmodified: 20200129165038748\nop-input: a [[selection of titles|Title Selection]]\nop-output: all the field names contained in the input tiddlers\nop-parameter: <<.from-version \"5.1.22\">> optional: a [[list of field names|TiddlerFields]]\nop-purpose: select all field names of the input titles\nop-suffix: <<.from-version \"5.1.22\">> optional: `include`, `exclude` parameter list\ntags: [[Filter Operators]] [[Field Operators]]\ntitle: fields Operator\ntype: text/vnd.tiddlywiki\n\nEach input title is processed in turn. Its list of field names is retrieved (in no particular order) and then [[dominantly appended|Dominant Append]] to the operator's output. \n\n<<.from-version \"5.1.22\">> If the `include` suffix is used, fields are only included, if they exist. It doesn't matter, if fields have a value. The `exclude` suffix is there for convenience, since it would be possible to use a second filter run. For more info see the examples.\n\n<<.operator-examples \"fields\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/filter.tid",
    "content": "caption: filter\ncreated: 20200929174420821\nmodified: 20210522162551921\nop-input: a [[selection of titles|Title Selection]] passed as input to the filter\nop-neg-input: a [[selection of titles|Title Selection]] passed as input to the filter\nop-neg-output: those input titles that <<.em \"do not\">> pass the filter  <<.place S>>\nop-output: the [[selection of titles|Title Selection]] that pass the filter <<.place S>>\nop-parameter: a [[filter expression|Filter Expression]]\nop-parameter-name: S\nop-purpose: apply a subfilter to each input title and return the titles that return a non-empty result from the subfilter\ntags: [[Filter Operators]] [[Negatable Operators]]\ntitle: filter Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.23\">> The <<.op filter>> operator runs a subfilter for each input title, and returns those input titles for which the subfilter returns a non-empty result (in other words the result is not an empty list). The results of the subfilter are thrown away.\n\nSimple filter operations can be concatenated together directly (eg `[tag[HelloThere]search[po]]`) but this doesn't work when the filtering operations require intermediate results to be computed. The <<.op filter>> operator can be used to filter on an intermediate result which is discarded. To take the same example but to also filter by those tiddlers whose text field is longer than 1000 characters:\n\n```\n<$vars myfilter=\"[get[text]length[]compare:integer:gteq[1000]]\">\n<$list filter=\"[tag[HelloThere]search[po]filter<myfilter>]\">\n<div>\n<$link>\n<$text text=<<currentTiddler>>/>\n</$link>\n</div>\n</$list>\n</$vars>\n```\n\nNote that within the subfilter, the \"currentTiddler\" variable is set to the title of the tiddler being processed. The value of currentTiddler outside the subfilter is available in the variable \"..currentTiddler\". <<.from-version \"5.2.0\">>\n\n<<.tip \"Compare with the similar [[subfilter|subfilter Operator]] operator which runs a subfilter and directly returns the results\">>\n\n<<.tip \"Compare with the analogous named filter run prefix `:filter`\">>\n\n```\n\\define larger-than-1k() [get[text]length[]compare:integer:gteq[1000]]\n\n{{{ [tag[HelloThere]filter<larger-than-1k>] }}}\n```\n\nis equivalent to:\n\n```\n{{{ [tag[HelloThere]] :filter[get[text]length[]compare:integer:gteq[1000]] }}}\n```\n\n<<.operator-examples \"filter\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/first.tid",
    "content": "created: 20140410103123179\nmodified: 20150203191946000\ntags: [[Filter Operators]] [[Order Operators]]\ntitle: first Operator\ntype: text/vnd.tiddlywiki\ncaption: first\nop-purpose: select the first <<.place N>> input titles\nop-input: a [[selection of titles|Title Selection]]\nop-parameter: an integer, defaulting to 1\nop-parameter-name: N\nop-output: the first <<.place N>> input titles\n\n<<.operator-examples \"first\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/fixed Operator.tid",
    "content": "caption: fixed\ncreated: 20190611150505495\nmodified: 20190611150931872\nop-input: a [[selection of titles|Title Selection]]\nop-output: the input as numbers converted to fixed point notation with <<.place N>> digits after the decimal point\nop-parameter: a number\nop-parameter-name: N\nop-purpose: convert each number to fixed point notation with <<.place N>> digits after the decimal point\ntags: [[Filter Operators]] [[Mathematics Operators]] [[Binary Mathematics Operators]]\ntitle: fixed Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.20\">> See [[Mathematics Operators]] for an overview.\n\nThe ''fixed'' operator returns a string representation of the input number that does not use exponential notation and has exactly the specified number of digits after the decimal place. The number is rounded if necessary, and the fractional part is padded with zeros if necessary so that it has the specified length.\n\n<<.operator-examples \"fixed\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/floor Operator.tid",
    "content": "caption: floor\ncreated: 20190613084227037\nmodified: 20190613084450121\nop-input: a [[selection of titles|Title Selection]]\nop-output: rounds each of the input numbers to the largest integer less than or equal to the given number\nop-purpose: rounds a list of numbers to the largest integer less than or equal to each number\ntags: [[Unary Mathematics Operators]] [[Filter Operators]] [[Mathematics Operators]]\ntitle: floor Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.20\">> See [[Mathematics Operators]] for an overview.\n\n<<.operator-examples \"floor\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/format.tid",
    "content": "caption: format\ncreated: 20201020100834443\nmodified: 20230321132245053\nop-input: a [[selection of titles|Title Selection]]\nop-output: input strings formatted according to the specified suffix <<.place B>>\nop-parameter: optional format string for the formats\nop-parameter-name: C\nop-purpose: format the input string according to one of supported formats\nop-suffix: one of supported formats\nop-suffix-name: B\ntags: [[Filter Operators]] [[String Operators]]\ntitle: format Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.23\">>\n\nThe suffix <<.place B>> is one of the following supported string formats:\n\n|Format |Description |h\n|^`date` |The input string is interpreted as a UTC date and displayed according to the DateFormat specified in the optional parameter <<.place C>>. (Defaults to \"YYYY MM DD 0hh:0mm\") |\n|^`json` |<<.from-version \"5.2.4\">> The input string is interpreted as JSON and displayed with standard formatting. The optional parameter <<.place C>> specifies the number of spaces to use for indenting, or a string to use for indenting. Nothing is returned if the input string is not valid JSON |\n|^`relativedate` |The input string is interpreted as a UTC date and displayed as the interval from the present instant. Any operator parameters <<.place C>> are ignored |\n|^`timestamp` |<<.from-version \"5.3.0\">> The input string is interpreted as number of milliseconds since the [[ECMAScript epoch|https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date#the_ecmascript_epoch_and_timestamps]], 1 January 1970, and displayed according to the DateFormat specified in the optional operator parameter. (Defaults to \"[UTC]YYYY0MM0DD0hh0mm0ss0XXX\") |\n|^`titlelist` |<<.from-version \"5.2.0\">> The input string wrapped in double square brackets if it contains a space. Appropriate for use in a [[title list|Title List]]. |\n\nInvalid input strings are dropped by the <<.op format>> operator.\n\n<<.warning \"\"\"The [[Title List]] format cannot reliably represent items that contain certain specific character sequences such as `]] `. Thus it should not be used where there is a possibility of such sequences occurring.\"\"\">>\n\n<<.operator-examples \"format\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/function.tid",
    "content": "caption: function\ncreated: 20220909111836951\nmodified: 20260130210336084\nop-input: a [[selection of titles|Title Selection]] passed as input to the function <<.place F>>\nop-output: the [[selection of titles|Title Selection]] returned from the function <<.place F>>\nop-parameter: first parameter is the [[function name|Functions]], subsequent parameters are passed to the function by position\nop-parameter-name: F\nop-purpose: apply a [[function|Functions]] to the input list, and return the result\ntags: [[Filter Operators]]\ntitle: function Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.3.0\">> The <<.op function>> operator applies a named [[function|Functions]] to the input titles, and returns the results from the function. The function is called once with all of the input titles (in contrast, the [[filter Operator]] calls its function separately for each input title).\n\nThe first parameter of the <<.op function>> operator specifies the name of the function to be called. Subsequent parameters are passed to the function.\n\nThe mapping between the parameters is //positional//, with each consecutive parameter specified in the function call mapped to the corresponding parameter in the function definition. Any parameters that are not provided are given their default values.\n\n<<.tip \"Compare with the similar [[filter|filter Operator]] and [[subfilter|subfilter Operator]] operators which take a filter strings as their parameter instead of a named function, and does not permit parameters to be passed\">>\n\n<<.operator-examples \"function\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/get.tid",
    "content": "caption: get\ncreated: 20140426183123179\nmodified: 20230309163844434\nop-input: a [[selection of titles|Title Selection]]\nop-output: the values of field <<.place F>> in each of the input titles\nop-parameter: the name of a [[field|TiddlerFields]]\nop-parameter-name: F\nop-purpose: select all values of a field in the input titles\ntags: [[Filter Operators]] [[Field Operators]]\ntitle: get Operator\ntype: text/vnd.tiddlywiki\n\nEach input title is processed in turn. If the corresponding tiddler contains field <<.place F>>, and the value of this field is not empty, then its value is appended to the output.\n\n<<.tip \"Unlike most other [[Filter Operators]], the [[selection|Title Selection]] output by <<.op get>> can contain duplicates. To avoid duplicates, use `get[F]unique[]`.\">>\n\n<<.operator-examples \"get\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/getindex.tid",
    "content": "caption: getindex\ncreated: 20150203140000000\nmodified: 20230309163838670\nop-input: a [[selection of titles|Title Selection]]\nop-output: the values of property <<.place P>> in each of the input titles\nop-parameter: the name of a [[property|DataTiddlers]]\nop-parameter-name: P\nop-purpose: select all values of a data property in the input titles\ntags: [[Filter Operators]] [[Field Operators]]\ntitle: getindex Operator\n\nEach input title is processed in turn, and is ignored if it does not denote a [[data tiddler|DataTiddlers]]. If the corresponding tiddler contains property <<.place P>>, and the value of this property is not empty, then its value is appended to the output.\n\n<<.tip \"Unlike most other [[Filter Operators]], the [[selection|Title Selection]] output by <<.op getindex>> can contain duplicates. To avoid duplicates, use `getindex[P]unique[]`.\">>\n\n<<.operator-examples \"getindex\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/getvariable.tid",
    "content": "created: 20190330100101453\nmodified: 20190330100101453\ntags: [[Filter Operators]] [[Special Operators]]\ntitle: getvariable Operator\ncaption: getvariable\nop-purpose: select all values of variables named in the input titles\nop-input: a selection of variable names\nop-parameter: ignored\nop-output: the values of each of the variables named in the input titles (or blank if the variable is not defined)\n\n<<.from-version \"5.1.20\">> The usual way to retrieve a variable value within a filter is with the angle brackets notation. For example, `[<currentTiddler>]` will retrieve the value of the variable called `currentTiddler`. \n\nThe `getvariable` filter operator provides an alternative way to retrieve a variable. For example, `[[currentTiddler]getvariable[]]` is another way to retrieve the value of the variable `currentTiddler`.\n\nThe advantage of `getvariable` is that it makes it possible to work with variables whose name is computed, and not known in advance. For example, `[<myvariable>getvariable[]]` gets the value of the variable whose name is given in the variable `myvariable`.\n\n<<.operator-examples \"getvariable\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/has.tid",
    "content": "caption: has\ncreated: 20140410103123179\nmodified: 20230306143207920\nop-input: a [[selection of titles|Title Selection]]\nop-neg-output: ''without suffix''<br>&raquo; those input tiddlers in which field <<.place F>> does <<.em not>> exist or has an empty value<br>''suffix `field`''<br>&raquo; those input tiddlers in which field <<.place F>> does <<.em not>> exist<br>''suffix `index`''<br>&raquo; those input data tiddlers in which index <<.place F>> does <<.em not>> exist\nop-output: ''without suffix''<br>&raquo; those input tiddlers in which field <<.place F>> has a non-empty value<br>''suffix `field`''<br>&raquo; those input tiddlers in which field <<.place F>> exists<br>''suffix `index`''<br>&raquo; those input data tiddlers in which index <<.place F>> exists\nop-parameter: the name of a [[field|TiddlerFields]]<br>''suffix `index`''<br>&raquo; those input tiddlers in which index <<.place F>> exists\nop-parameter: the name of a [[field|TiddlerFields]] or, optionally an [[index|TextReference]]\nop-parameter-name: F\nop-purpose: filter the input by field existence\nop-suffix: <<.from-version \"5.1.14\">> optionally, the keyword `field` or <<.from-version \"5.1.22\">> optionally, the keyword `index`\nop-suffix-name: S\ntags: [[Filter Operators]] [[Common Operators]] [[Field Operators]] [[Negatable Operators]]\ntitle: has Operator\ntype: text/vnd.tiddlywiki\n\n<<.operator-examples \"has\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/haschanged.tid",
    "content": "created: 20150208191821000\nmodified: 20150208191821000\ntags: [[Filter Operators]] [[Negatable Operators]]\ntitle: haschanged Operator\ntype: text/vnd.tiddlywiki\ncaption: haschanged\nop-purpose: filter the input by tiddler modification status\nop-input: a [[selection of titles|Title Selection]]\nop-parameter: none\nop-output: those input tiddlers that have been modified during this session\nop-neg-output: those input tiddlers that have <<.em not>> been modified during this session\n\nA tiddler is deemed to have been modified if it has been written back to the wiki since the start of the current ~TiddlyWiki session. If you edit a tiddler and immediately store it again without making any changes, that is enough to mark it as modified.\n\n<<.operator-examples \"haschanged\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/indexes.tid",
    "content": "created: 20140410103123179\nmodified: 20221229094244039\ntags: [[Filter Operators]]\ntitle: indexes Operator\ntype: text/vnd.tiddlywiki\ncaption: indexes\nop-purpose: select all data properties of the input titles\nop-input: a [[selection of titles|Title Selection]]\nop-parameter: none\nop-output: all the property names or indices contained in the input data tiddlers\n\nEach input title is processed in turn, and is ignored if it does not denote a [[data tiddler|DataTiddlers]]. The sorted list of property names is retrieved from the data tiddler and then [[dominantly appended|Dominant Append]] to the operator's output.\n\nNote that behind the scenes, the name/value pairs in a dictionary tiddler are represented as a [[JSON object|JSONTiddlers]]. JSON objects do not maintain a guaranteed ordering and so we cannot reliably retain the ordering of the data in the file.\n\nWhere the content of a tiddler is in JSON format with an array as its root, the <<.op indexes>> operator retrieves a selection of integer indices instead.\n\n<<.operator-examples \"indexes\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/insertafter Operator.tid",
    "content": "caption: insertafter\ncreated: 20170406090122441\nmodified: 20220223004441865\nop-input: a [[selection of titles|Title Selection]]\nop-output: the input tiddler list with the new entry inserted\nop-parameter: the <<.op insertafter>> operator accepts 1 or 2 parameters, see below for details\nop-purpose: insert an item <<.place T>> into a list immediately after an item <<.place A>>\nop-suffix: (optional) the name of a variable containing the title of the tiddler after which this one should be inserted\ntags: [[Filter Operators]] [[Order Operators]] [[Listops Operators]]\ntitle: insertafter Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.2.3\">>\n\nThe <<.op insertafter>> operator requires at least one parameter which specifies the title to insert into the input list. A second parameter can be used to specify the title after which the new title should be inserted.\n\nA suffix can also be used to specify <<.place A>>, the title after which the new title should be inserted, but this form is deprecated. Instead, the two-parameter form is recommended. If the two-parameter form is used, the suffixes ''start'' and ''end'' can be used to specify where the item should be inserted if <<.place A>> is not found.\n\n```\ninsertafter:<after-title-variable>[<title>]\ninsertafter:<missing-location>[<title>],[<after-title>]\n```\n\n* ''title'' : a title <<.place T>> to insert in the input list.\n* ''after-title'' : (optional). Insert <<.place T>> after this title <<.place A>> in the input list.\n* ''after-title-variable'' : (optional). The name of a variable specifying <<.place A>> instead of the `after-title` parameter.\n* ''missing-location'' : (optional). Either `start` or `end`: where to insert <<.place T>> if <<.place A>> is not found in the list.\n\nIf the item <<.place A>> isn't present in the input list then the new item is inserted at the end of the list. <<.from-version \"5.2.3\">> The suffixes ''start'' and ''end'' can be spedified to control where the new item is inserted when <<.place A>> is not found. The suffix ''end'' is the default, inserting the new item at the end of the list. The suffix ''start'' will cause the new item to be inserted at the start of the list when <<.place A>> is not found.\n\n<<.tip \"Either [[parameter|Filter Parameter]] can be a string, a text reference or a variable\">>\n\n<<.tip \"If <<.place A>> is specified as both a suffix and a parameter, the parameter takes precedence\">>\n\n<<.operator-examples \"insertafter\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/insertbefore Operator.tid",
    "content": "caption: insertbefore\ncreated: 20170406090122441\nmodified: 20220223004441865\nop-input: a [[selection of titles|Title Selection]]\nop-output: the input tiddler list with the new entry inserted\nop-parameter: <<.from-version \"5.2.2\">> the <<.op insertbefore>> operator accepts 1 or 2 parameters, see below for details\nop-purpose: insert an item <<.place T>> into a list immediately before an item <<.place B>>\nop-suffix: <<.from-version \"5.2.3\">> (optional) the name of a variable containing the title of the tiddler before which this one should be inserted\ntags: [[Filter Operators]] [[Order Operators]] [[Listops Operators]]\ntitle: insertbefore Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.2.2\">>\n\nThe <<.op insertbefore>> operator requires at least one parameter which specifies the title to insert into the input list. A second parameter can be used to specify the title before which the new title should be inserted.\n\n<<.from-version \"5.2.3\">>\n\nUsing the suffix to specify <<.place B>>, the title before which the new title should be inserted, is deprecated. Instead, the two-parameter form is recommended. If the two-parameter form is used, the suffixes ''start'' and ''end'' can be used to specify where the item should be inserted if <<.place B>> is not found.\n\n```\ninsertbefore:<before-title-variable>[<title>]\ninsertbefore:<missing-location>[<title>],[<before-title>]\n```\n\n* ''title'' : a title <<.place T>> to insert in the input list.\n* ''before-title'' : (optional). Insert <<.place T>> before this title <<.place B>> in the input list.\n* ''before-title-variable'' : (optional). The name of a variable specifying <<.place B>> instead of the `before-title` parameter.\n* ''missing-location'' : (optional). Either `start` or `end`: where to insert <<.place T>> if <<.place B>> is not found in the list.\n\nIf the item <<.place B>> isn't present in the input list then the new item is inserted at the end of the list. <<.from-version \"5.2.3\">> The suffixes ''start'' and ''end'' can be spedified to control where the new item is inserted when <<.place B>> is not found. The suffix ''end'' is the default, inserting the new item at the end of the list. The suffix ''start'' will cause the new item to be inserted at the start of the list when <<.place B>> is not found.\n\n<<.tip \"Either [[parameter|Filter Parameter]] can be a string, a text reference or a variable\">>\n\n<<.tip \"If <<.place B>> is specified as both a suffix and a parameter, the parameter takes precedence\">>\n\n<<.operator-examples \"insertbefore\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/is.tid",
    "content": "caption: is\ncreated: 20140410103123179\nmodified: 20201107110947882\nop-input: a [[selection of titles|Title Selection]]\nop-neg-output: those input tiddlers that do <<.em not>> belong to category <<.place C>>\nop-output: those input tiddlers that belong to category <<.place C>>\nop-parameter: a category\nop-parameter-name: C\nop-purpose: filter the input by fundamental category\ntags: [[Filter Operators]] [[Common Operators]] [[Negatable Operators]]\ntitle: is Operator\ntype: text/vnd.tiddlywiki\n\nThe parameter <<.place C>> is one of the following fundamental categories:\n\n|!Category |!Matches any tiddler title that... |\n|^`current` |is the [[current tiddler|Current Tiddler]] |\n|^`image` |has an image ContentType |\n|^`binary` |has a binary ContentType |\n|^`missing` |does not exist (other than possibly as a shadow tiddler), regardless of whether there are any links to it |\n|^`orphan` |has no [[hard links|Hard and Soft Links]] to it |\n|^`shadow` |is a [[shadow tiddler|ShadowTiddlers]], regardless of whether it has been overridden with a non-shadow tiddler |\n|^`system` |is a [[system tiddler|SystemTiddlers]], i.e. its title starts with `$:/` |\n|^`tag` |is in use as a tag |\n|^`tiddler` |exists as a non-shadow tiddler |\n|^`variable` |<<.from-version \"5.1.20\">> exists as a variable (whether or not that variable has a non-blank value) |\n|^`blank` |<<.from-version \"5.1.20\">> is blank (i.e. is a zero length string) |\n|^`draft` |<<.from-version \"5.1.23\">> is a draft of another tiddler. Synonym for `[has[draft.of]]` |\n\nIf <<.place C>> is anything else an error message is returned. <<.from-version \"5.1.14\">> if <<.place C>> is blank, the output is passed through unchanged (in earlier versions an error message was returned).\n\n`!is[tiddler]` is a synonym for `is[missing]`, and vice versa.\n\nWhen <<.op is[missing]>> is the first operator in a [[run|Filter Run]], its output is always empty. And when <<.op is[shadow]>> comes first, it outputs only those shadow tiddlers that have been overridden. This is because the [[initial input to a run|Filter Expression]] contains only <<.em non>>-shadow tiddlers.\n\n<<.tip \"Use `has[title]` to match any tiddler title that is either a tiddler //or// a shadow tiddler.\">>\n\nThe <<.olink all>> operator is similar to <<.olink is>>, but its scope is the whole wiki.\n\n<<.operator-examples \"is\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/join Operator.tid",
    "content": "caption: join\ncreated: 20190613154502541\nmodified: 20190613154632657\nop-input: a [[selection of titles|Title Selection]]\nop-output: the input titles joined together with the separator <<.place S>>\nop-parameter: the separator to insert between each of the items\nop-parameter-name: S\nop-purpose: join a list of strings together with the separator <<.place S>>\ntags: [[Filter Operators]]\ntitle: join Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.20\">>\n\n<<.operator-examples \"join\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/jsondelete.tid",
    "content": "caption: jsondelete\ncreated: 20250115120000000\nmodified: 20250115120000000\nop-input: a selection of JSON objects\nop-output: the JSON objects with the specified property deleted\nop-parameter: one or more indexes of the property to delete\nop-purpose: delete a property from JSON objects\ntags: [[Filter Operators]] [[JSON Operators]]\ntitle: jsondelete Operator\n\n<<.from-version \"5.4.0\">> The <<.op jsondelete>> operator is used to delete a property from JSON strings. See [[JSON in TiddlyWiki]] for background. See also the following related operators:\n\n* <<.olink jsonset>> to set values within JSON objects\n* <<.olink jsonget>> to retrieve the values of a property in JSON data\n* <<.olink jsontype>> to retrieve the type of a JSON value\n* <<.olink jsonindexes>> to retrieve the names of the fields of a JSON object, or the indexes of a JSON array\n* <<.olink jsonextract>> to retrieve a JSON value as a string of JSON\n\nProperties within a JSON object are identified by a sequence of indexes. In the following example, the value at `[a]` is `one`, and the value at `[d][f][0]` is `five`.\n\n```\n{\n    \"a\": \"one\",\n    \"b\": \"\",\n    \"c\": \"three\",\n    \"d\": {\n        \"e\": \"four\",\n        \"f\": [\n            \"five\",\n            \"six\",\n            true,\n            false,\n            null\n        ],\n        \"g\": {\n            \"x\": \"max\",\n            \"y\": \"may\",\n            \"z\": \"maize\"\n        }\n    }\n}\n```\n\nThe <<.op jsondelete>> operator uses multiple parameters to specify the indexes of the property to delete. For object properties, the property is removed using JavaScript's `delete` operator. For array elements, the element is removed using `splice`, which shifts remaining elements.\n\nNegative indexes into an array are counted from the end, so -1 means the last item, -2 the next-to-last item, and so on.\n\nIndexes can be dynamically composed from variables and transclusions, e.g. `[<jsondata>jsondelete<variable>,{!!field},[0]]`.\n\nIf the specified property does not exist, the JSON object is returned unchanged. If you attempt to delete the root object itself (by providing no indexes or a blank index), the JSON object is returned unchanged.\n\nIf the input consists of multiple JSON objects, the property is deleted from all of them.\n\n<<.operator-examples \"jsondelete\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/jsonextract.tid",
    "content": "created: 20220611104737314\nmodified: 20220611104737314\ntags: [[Filter Operators]] [[JSON Operators]]\ntitle: jsonextract Operator\ncaption: jsonextract\nop-purpose: retrieve the JSON string of a property from JSON strings\nop-input: a selection of JSON strings\nop-parameter: one or more indexes of the property to retrieve\nop-output: the JSON string values of each of the retrieved properties\n\n<<.from-version \"5.2.4\">> See [[JSON in TiddlyWiki]] for background.\n\nThe <<.op jsonextract>> operator is used to retrieve values from JSON data as JSON substrings. See also the following related operators:\n\n* <<.olink jsonget>> to retrieve the values of a property in JSON data\n* <<.olink jsontype>> to retrieve the type of a JSON value\n* <<.olink jsonindexes>> to retrieve the names of the fields of a JSON object, or the indexes of a JSON array\n\nProperties within a JSON object are identified by a sequence of indexes. In the following example, the value at `[a]` is `one`, and the value at `[d][f][0]` is `five`.\n\n```\n{\n    \"a\": \"one\",\n    \"b\": \"\",\n    \"c\": \"three\",\n    \"d\": {\n        \"e\": \"four\",\n        \"f\": [\n            \"five\",\n            \"six\",\n            true,\n            false,\n            null\n        ],\n        \"g\": {\n            \"x\": \"max\",\n            \"y\": \"may\",\n            \"z\": \"maize\"\n        }\n    }\n}\n```\n\nThe following examples assume that this JSON data is contained in a variable called `jsondata`.\n\nThe <<.op jsonextract>> operator uses multiple parameters to specify the indexes of the property to retrieve. Values are returned as literal JSON strings:\n\n```\n[<jsondata>jsonextract[a]] --> \"one\"\n[<jsondata>jsonextract[d],[e]] --> \"four\"\n[<jsondata>jsonextract[d],[f],[0]] --> \"five\"\n[<jsondata>jsonextract[d],[f]] --> [\"five\",\"six\",true,false,null]\n[<jsondata>jsonextract[d],[g]] --> {\"x\":\"max\",\"y\":\"may\",\"z\":\"maize\"}\n```\n\n<<.from-version \"5.3.2\">> Negative indexes into an array are counted from the end, so -1 means the last item, -2 the next-to-last item, and so on:\n\n```\n[<jsondata>jsonextract[d],[f],[-1]] --> null\n[<jsondata>jsonextract[d],[f],[-2]] --> false\n[<jsondata>jsonextract[d],[f],[-4]] --> \"six\"\n```\n\nIndexes can be dynamically composed from variables and transclusions:\n\n```\n[<jsondata>jsonextract<variable>,{!!field},[0]]\n```\n\nA subtlety is that the special case of a single blank parameter is used to identify the root object. Thus:\n\n```\n[<jsondata>jsonextract[]] --> {\"a\":\"one\",\"b\":\"\",\"c\":\"three\",\"d\":{\"e\":\"four\",\"f\":[\"five\",\"six\",true,false,null],\"g\":{\"x\":\"max\",\"y\":\"may\",\"z\":\"maize\"}}}\n```\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/jsonget.tid",
    "content": "created: 20220611104737314\nmodified: 20220611104737314\ntags: [[Filter Operators]] [[JSON Operators]]\ntitle: jsonget Operator\ncaption: jsonget\nop-purpose: retrieve the value of a property from JSON strings\nop-input: a selection of JSON strings\nop-parameter: one or more indexes of the property to retrieve\nop-output: the values of each of the retrieved properties\n\n<<.from-version \"5.2.4\">> See [[JSON in TiddlyWiki]] for background.\n\nThe <<.op jsonget>> operator is used to retrieve values from JSON data as strings. See also the following related operators:\n\n* <<.olink jsontype>> to retrieve the type of a JSON value\n* <<.olink jsonindexes>> to retrieve the names of the fields of a JSON object, or the indexes of a JSON array\n* <<.olink jsonextract>> to retrieve a JSON value as a string of JSON\n\nProperties within a JSON object are identified by a sequence of indexes. In the following example, the value at `[a]` is `one`, and the value at `[d][f][0]` is `five`.\n\n```\n{\n    \"a\": \"one\",\n    \"b\": \"\",\n    \"c\": \"three\",\n    \"d\": {\n        \"e\": \"four\",\n        \"f\": [\n            \"five\",\n            \"six\",\n            true,\n            false,\n            null\n        ],\n        \"g\": {\n            \"x\": \"max\",\n            \"y\": \"may\",\n            \"z\": \"maize\"\n        }\n    }\n}\n```\n\nThe following examples assume that this JSON data is contained in a variable called `jsondata`.\n\nThe <<.op jsonget>> operator uses multiple parameters to specify the indexes of the property to retrieve:\n\n```\n[<jsondata>jsonget[a]] --> \"one\"\n[<jsondata>jsonget[d],[e]] --> \"four\"\n[<jsondata>jsonget[d],[f],[0]] --> \"five\"\n```\n\n<<.from-version \"5.3.2\">> Negative indexes into an array are counted from the end, so -1 means the last item, -2 the next-to-last item, and so on:\n\n```\n[<jsondata>jsonget[d],[f],[-1]] --> null\n[<jsondata>jsonget[d],[f],[-2]] --> false\n[<jsondata>jsonget[d],[f],[-4]] --> \"six\"\n```\n\nIndexes can be dynamically composed from variables and transclusions:\n\n```\n[<jsondata>jsonget<variable>,{!!field},[0]]\n```\n\nBoolean values and null are returned as normal strings. The <<.olink jsontype>> operator can be used to retrieve a string identifying the original type. Thus:\n\n```\n[<jsondata>jsontype[a]] --> \"string\"\n[<jsondata>jsontype[d]] --> \"object\"\n[<jsondata>jsontype[d],[f]] --> \"array\"\n[<jsondata>jsontype[d],[f],[2]] --> \"boolean\"\n```\n\nUsing the <<.op jsonget>> operator to retrieve an object or an array returns a list of the values. For example:\n\n```\n[<jsondata>jsonget[d],[f]] --> \"five\",\"six\",\"true\",\"false\",\"null\"\n[<jsondata>jsonget[d],[g]] --> \"max\",\"may\",\"maize\"\n```\n\nThe <<.olink jsonindexes>> operator retrieves the corresponding indexes:\n\n```\n[<jsondata>jsonindexes[d],[f]] --> \"0\", \"1\", \"2\", \"3\", \"4\"\n[<jsondata>jsonindexes[d],[g]] --> \"x\", \"y\", \"z\"\n```\n\nIf the object or array contains nested child objects or arrays then the values are retrieved recursively and returned flattened into a list. For example:\n\n```\n[<jsondata>jsonget[d]] --> \"four\",\"five\",\"six\",\"true\",\"false\",\"null\",\"max\",\"may\",\"maize\"\n```\n\nA subtlety is that the special case of a single blank parameter is used to identify the root object. Thus:\n\n```\n[<jsondata>jsonindexes[]] --> \"a\", \"b\", \"c\", \"d\"\n```\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/jsonindexes.tid",
    "content": "created: 20220611104737314\nmodified: 20220611104737314\ntags: [[Filter Operators]] [[JSON Operators]]\ntitle: jsonindexes Operator\ncaption: jsonindexes\nop-purpose: retrieve the value of a property from JSON strings\nop-input: a selection of JSON strings\nop-parameter: one or more indexes of the property to retrieve\nop-output: the values of each of the retrieved properties\n\n<<.from-version \"5.2.4\">> See [[JSON in TiddlyWiki]] for background.\n\nThe <<.op jsonindexes>> operator is used to retrieve the property names of JSON objects or the index names of JSON arrays. See also the following related operators:\n\n* <<.olink jsonget>> to retrieve the values of a property in JSON data\n* <<.olink jsontype>> to retrieve the type of a JSON value\n* <<.olink jsonextract>> to retrieve a JSON value as a string of JSON\n\nProperties within a JSON object are identified by a sequence of indexes. In the following example, the value at `[a]` is `one`, and the value at `[d][f][0]` is `five`.\n\n```\n{\n    \"a\": \"one\",\n    \"b\": \"\",\n    \"c\": \"three\",\n    \"d\": {\n        \"e\": \"four\",\n        \"f\": [\n            \"five\",\n            \"six\",\n            true,\n            false,\n            null\n        ],\n        \"g\": {\n            \"x\": \"max\",\n            \"y\": \"may\",\n            \"z\": \"maize\"\n        }\n    }\n}\n```\n\nThe following examples assume that this JSON data is contained in a variable called `jsondata`.\n\nThe <<.op jsonindexes>> operator uses multiple parameters to specify the indexes of the property to retrieve:\n\n```\n[<jsondata>jsonindexes[d],[f]] --> \"0\", \"1\", \"2\", \"3\", \"4\"\n[<jsondata>jsonindexes[d],[g]] --> \"x\", \"y\", \"z\"\n```\n\nIndexes can be dynamically composed from variables and transclusions:\n\n```\n[<jsondata>jsonindexes<variable>,{!!field}]\n```\n\nRetrieving the indexes of JSON properties that are not objects or arrays will return nothing.\n\nA subtlety is that the special case of a single blank parameter is used to identify the root object. Thus:\n\n```\n[<jsondata>jsonindexes[]] --> \"a\", \"b\", \"c\", \"d\"\n```\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/jsonset.tid",
    "content": "caption: jsonset\ncreated: 20230915121010948\nmodified: 20231204115203428\nop-input: a selection of JSON objects\nop-output: the JSON objects with the specified value assigned to the specified property\nop-parameter: one or more indexes of the property to modify, if applicable followed by the value to be assigned\nop-purpose: set the value of a property in JSON objects\nop-suffix: data type of the value to be assigned to the property\ntags: [[Filter Operators]] [[JSON Operators]]\ntitle: jsonset Operator\n\n<<.from-version \"5.3.2\">> The <<.op jsonset>> operator is used to set a property value in JSON strings. See [[JSON in TiddlyWiki]] for background. See also the following related operators:\n\n* <<.olink jsonget>> to retrieve the values of a property in JSON data\n* <<.olink jsontype>> to retrieve the type of a JSON value\n* <<.olink jsonindexes>> to retrieve the names of the fields of a JSON object, or the indexes of a JSON array\n* <<.olink jsonextract>> to retrieve a JSON value as a string of JSON\n\nThe type of the value to be assigned to the property can be optionally specified with a suffix:\n\n* ''string'': default, the string is specified as the final operand\n* ''boolean'': the boolean value is true if the final operand is the string \"true\" and false if the final operand is the string \"false\", any other value for the final string results prevents the property from being assigned\n* ''number'': the numeric value is taken from the final operand, invalid numbers are interpreted as zero\n* ''json'': the JSON string value is taken from the final operand, invalid JSON prevents the property from being assigned\n* ''object'': an empty object is assigned to the property, the final operand is ignored\n* ''array'': an empty array is assigned to the property, the final operand is ignored\n* ''null'': the special value null is assigned to the property, the final operand is ignored\n\nProperties within a JSON object are identified by a sequence of indexes. In the following example, the value at `[a]` is `one`, and the value at `[d][f][0]` is `five`.\n\n```\n{\n    \"a\": \"one\",\n    \"b\": \"\",\n    \"c\": \"three\",\n    \"d\": {\n        \"e\": \"four\",\n        \"f\": [\n            \"five\",\n            \"six\",\n            true,\n            false,\n            null\n        ],\n        \"g\": {\n            \"x\": \"max\",\n            \"y\": \"may\",\n            \"z\": \"maize\"\n        }\n    }\n}\n```\n\nThe <<.op jsonset>> operator uses multiple parameters to specify the indexes of the property to set. When used to assign strings (default behaviour if no suffix is specified) the final operand is interpreted as the value to assign.\n\nNegative indexes are counted from the end, so -1 means the last item, -2 the next-to-last item, and so on.\n\nIndexes can be dynamically composed from variables and transclusions, e.g. `[<jsondata>jsonset<variable>,{!!field},[0],{CurrentResult}]`.\n\nIn the special case where only a single parameter is defined, the operator replaces the entire input object with the the value of that parameter. If the single parameter is blank, the operation is ignored and no assignment takes place.\n\nIf the input consists of multiple JSON objects with matching properties, the value is set for all of them.\n\n<<.operator-examples \"jsonset\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/jsonstringify Operator.tid",
    "content": "caption: jsonstringify\ncreated: 20171029155051467\nfrom-version: 5.1.14\nmodified: 20230922121404577\nop-input: a [[selection of titles|Title Selection]]\nop-output: the input with JSON string encodings applied\nop-parameter: \nop-parameter-name: \nop-purpose: apply JSON string encoding to a string, see also the similar <<.olink stringify>>\nop-suffix: <<.from-version \"5.1.23\">> optionally, the keyword `rawunicode`\nop-suffix-name: R\ntags: [[Filter Operators]] [[String Operators]]\ntitle: jsonstringify Operator\ntype: text/vnd.tiddlywiki\n\nThe following substitutions are made:\n\n|!Character |!Replacement |!Condition |\n|`\\` |`\\\\` |Always |\n|`\"` |`\\\"` |Always |\n|Carriage return (0x0d) |`\\r` |Always |\n|Line feed (0x0a) |`\\n` |Always |\n|Backspace (0x08) |`\\b` |Always |\n|Form field (0x0c) |`\\f` |Always |\n|Tab (0x09) |`\\t` |Always|\n|Characters from 0x00 to 0x1f, except listed above |`\\u####` where #### is four hex digits |Always |\n|Characters from from 0x80 to 0xffff|`\\u####` where #### is four hex digits |If `rawunicode` suffix is not present (default) |\n|Characters from 0x80 to 0xffff|<<.from-version \"5.1.23\">> Unchanged |If `rawunicode` suffix is present |\n\n<<.from-version \"5.1.23\">> If the suffix `rawunicode` is present, Unicode characters above 0x80 (such as ß, ä, ñ or 🎄) will be passed through unchanged. Without the suffix, they will be substituted with `\\u` codes, which was the default behavior before 5.1.23. Characters outside the Basic Multilingual Plane, such as 🎄 and other emojis, will be encoded as a UTF-16 surrogate pair, i.e. with two `\\u` sequences.\n\n<<.note \"\"\"Mind the differences compared to <<.olink stringify>> in encoding of single quotes and control characters (0x00 to 0x1f).\n\"\"\">>\n\n<<.operator-examples \"jsonstringify\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/jsontype.tid",
    "content": "created: 20220611104737314\nmodified: 20220611104737314\ntags: [[Filter Operators]] [[JSON Operators]]\ntitle: jsontype Operator\ncaption: jsontype\nop-purpose: retrieve the type of a property from JSON strings\nop-input: a selection of JSON strings\nop-parameter: one or more indexes of the property whose type is to be retrieved\nop-output: the types of each of the retrieved properties\n\n<<.from-version \"5.2.4\">> See [[JSON in TiddlyWiki]] for background.\n\nThe <<.op jsontype>> operator is used to retrieve the type of a property in JSON data. See also the following related operators:\n\n* <<.olink jsonget>> to retrieve the values of a property in JSON data\n* <<.olink jsonindexes>> to retrieve the names of the fields of a JSON object, or the indexes of a JSON array\n* <<.olink jsonextract>> to retrieve a JSON value as a string of JSON\n\nJSON supports the following data types:\n\n* ''string'' - a Unicode string\n* ''number'' - a floating point number\n* ''boolean'' - Boolean value (true or false)\n* ''array'' - an array of values\n* ''object'' - an object of name/value pairs\n* ''null'' - a special type representing a missing value\n\nProperties within a JSON object are identified by a sequence of indexes. In the following example, the value at `[a]` is `one`, and the value at `[d][f][0]` is `five`.\n\n```\n{\n    \"a\": \"one\",\n    \"b\": \"\",\n    \"c\": \"three\",\n    \"d\": {\n        \"e\": \"four\",\n        \"f\": [\n            \"five\",\n            \"six\",\n            true,\n            false,\n            null\n        ],\n        \"g\": {\n            \"x\": \"max\",\n            \"y\": \"may\",\n            \"z\": \"maize\"\n        }\n    }\n}\n```\n\nThe following examples assume that this JSON data is contained in a variable called `jsondata`.\n\nThe <<.op jsontype>> operator uses multiple parameters to specify the indexes of the property whose type is to be retrieved:\n\n```\n[<jsondata>jsontype[a]] --> \"string\"\n[<jsondata>jsontype[d]] --> \"object\"\n[<jsondata>jsontype[d],[f]] --> \"array\"\n[<jsondata>jsontype[d],[f],[2]] --> \"boolean\"\n```\n\n<<.from-version \"5.3.2\">> Negative indexes into an array are counted from the end, so -1 means the last item, -2 the next-to-last item, and so on:\n\n```\n[<jsondata>jsontype[d],[f],[-1]] --> \"null\"\n[<jsondata>jsontype[d],[f],[-2]] --> \"boolean\"\n[<jsondata>jsontype[d],[f],[-4]] --> \"string\"\n```\n\nIndexes can be dynamically composed from variables and transclusions:\n\n```\n[<jsondata>jsontype<variable>,{!!field},[0]]\n```\n\nA subtlety is that the special case of a single blank parameter is used to identify the root object. Thus:\n\n```\n[<jsondata>jsontype[]] --> \"object\"\n```\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/last.tid",
    "content": "created: 20140410103123179\nmodified: 20150203192036000\ntags: [[Filter Operators]] [[Order Operators]]\ntitle: last Operator\ntype: text/vnd.tiddlywiki\ncaption: last\nop-purpose: select the last <<.place N>> input titles\nop-input: a [[selection of titles|Title Selection]]\nop-parameter: an integer, defaulting to 1\nop-parameter-name: N\nop-output: the last <<.place N>> input titles\n\n<<.operator-examples \"last\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/length Operator.tid",
    "content": "caption: length\ncreated: 20190613153225735\nmodified: 20190613153321546\nop-input: a [[selection of titles|Title Selection]]\nop-output: replaces each input title with its length as an integer\nop-purpose: returns the number of characters of each item in the list\ntags: [[Filter Operators]]\ntitle: length Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.20\">>\n\n<<.operator-examples \"length\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/levenshtein Operator.tid",
    "content": "caption: levenshtein\ncreated: 20230304181639768\nmodified: 20230304181642365\nop-purpose: determine the Levenshtein distance of the input title(s) and a given string\nop-input: a [[selection of titles|Title Selection]]\nop-parameter: a string\nop-parameter-name: S\nop-output: the Levenshtein distance between the input title(s) and <<.place S>>\ntags: [[Filter Operators]] [[String Operators]]\ntitle: levenshtein Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.2.6\">>\n\nThe Levenshtein distance is a metric for measuring the difference between two strings. Informally, the Levenshtein distance between two strings is the //minimum// number of single-character edits required to change one string into the other.\n\n<<.operator-examples \"levenshtein\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/limit.tid",
    "content": "created: 20140410103123179\nmodified: 20150203185456000\ntags: [[Filter Operators]] [[Common Operators]] [[Order Operators]] [[Negatable Operators]]\ntitle: limit Operator\ntype: text/vnd.tiddlywiki\ncaption: limit\nop-purpose: select the first or last <<.place N>> input titles\nop-input: a [[selection of titles|Title Selection]]\nop-parameter: an integer, defaulting to 0\nop-parameter-name: N\nop-output: the first <<.place N>> input titles\nop-neg-output: the last <<.place N>> input titles\n\n`limit[N]` and `!limit[N]` are synonyms for `first[N]` and `last[N]` respectively.\n\n<<.operator-examples \"limit\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/links.tid",
    "content": "created: 20140410103123179\nmodified: 20150203185545000\ntags: [[Filter Operators]] [[Common Operators]]\ntitle: links Operator\ntype: text/vnd.tiddlywiki\ncaption: links\nop-purpose: find the titles linked to by each input title\nop-input: a [[selection of titles|Title Selection]]\nop-parameter: none\nop-output: the titles to which the input tiddlers contain [[hard links|Hard and Soft Links]]\n\nEach input title is processed in turn. The corresponding tiddler's list of links is generated, in the order in which they appear in the tiddler's text, and [[dominantly appended|Dominant Append]] to the operator's overall output.\n\n<<.operator-examples \"links\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/list.tid",
    "content": "caption: list\ncreated: 20140410103123179\nmodified: 20240811083650364\nop-input: ignored\nop-neg-input: a [[selection of titles|Title Selection]]\nop-neg-output: those input titles that are <<.em not>> mentioned at <<.place R>>\nop-output: the titles stored as a [[title list|Title List]] at <<.place R>>\nop-parameter: a [[reference|TextReference]] to a [[field|TiddlerFields]] or [[index|DataTiddlers]] of a particular tiddler\nop-parameter-name: R\nop-purpose: select titles via a list field\ntags: [[Filter Operators]] [[Field Operators]] [[Selection Constructors]] [[Negatable Operators]]\ntitle: list Operator\ntype: text/vnd.tiddlywiki\n\n<<.place R>> can reference either a field or a property. See [[TextReference]] for the syntax.\n\n* If neither is specified, the <<.field list>> field is used by default. So `[list[T]]` outputs the titles listed in the <<.field list>> field of tiddler T.\n* If <<.place R>> consists of <<.em only>> a field or a property, the tiddler part of the reference defaults to the [[current tiddler|Current Tiddler]]. So `[list[!!tags]]` outputs the titles listed in the <<.field tags>> field of the current tiddler.\n\n<<.operator-examples \"list\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/listed.tid",
    "content": "created: 20140410103123179\nmodified: 20150203185745000\ntags: [[Filter Operators]] [[Field Operators]]\ntitle: listed Operator\ntype: text/vnd.tiddlywiki\ncaption: listed\nop-purpose: find the titles that list the input titles\nop-input: a [[selection of titles|Title Selection]]\nop-parameter: the name of a [[field|TiddlerFields]], defaulting to <<.field list>>\nop-parameter-name: F\nop-output: the titles in which field <<.place F>> mentions any of the input titles\n\n<<.field F>> is assumed to be a [[title list|Title List]].\n\nEach input title is processed in turn. A list of tiddlers whose <<.place F>> field mentions it is generated (in no particular order) and [[dominantly appended|Dominant Append]] to the operator's overall output.\n\n<<.operator-examples \"listed\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/log Operator.tid",
    "content": "caption: log\ncreated: 20201120041113537\nmodified: 20201120041443518\nop-input: a [[selection of titles|Title Selection]]\nop-output: the logarithm of each input title as numbers, with base <<.place N>> if specified otherwise base `e`\nop-parameter: a number\nop-parameter-name: N\nop-purpose: treating each input title as a number, return its logarithm with base equal to the numeric value of the parameter if specified, otherwise base `e`\ntags: [[Filter Operators]] [[Mathematics Operators]] [[Binary Mathematics Operators]]\ntitle: log Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.23\">>\n\n<<.operator-examples \"log\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/lookup Operator.tid",
    "content": "caption: lookup\ncreated: 20170907103639431\nmodified: 20210116081305739\nop-input: a [[selection of titles|Title Selection]]\nop-output: the lookup values corresponding to each lookup tiddler\nop-parameter: prefix applied to input titles to yield title of lookup tiddler from which value is retrieved. Now accepts 1 or 2 parameters, see below for details\nop-parameter-name: P, T\nop-purpose: applies a prefix to each input title to yield the title of a tiddler from which the final value is retrieved. With a single parameter, the default field is \"text\" and the default index is \"0\". If a second parameter is provided, that becomes the target field or index.\nop-suffix: the default value to be used for missing lookups. This operator can now accept a second suffix of `:index`, see below for details\nop-suffix-name: D, I\ntags: [[Filter Operators]]\ntitle: lookup Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.15\">>\n\nThe action of this operator is as follows with 1 parameter:\n\n* Apply the specified prefix to each input tiddler title, yielding a new list of tiddler titles\n* Transclude the value of the `text` field each of those tiddlers\n** Substitute the default value for missing or empty values\n* Return the list of values\n\n<<.from-version \"5.2.2\">>\n\nThe use of the `:index` second suffix changes the default lookup location from field: `text` to index: `0`. This is used if no 2nd parameter is provided.\n\nThe action of this operator is as follows with 2 parameters:\n\nIf there are two parameters provided, use the second parameter as the target field or index.\n\n<<.note \"\"\"If there is only one parameter given, the filter checks for a second suffix equal to \"index\". If this suffix is found, the default target index is \"0\".\nIn all other cases, the default target field is \"text\".\"\"\">>\n\nThen:\n\n* Apply the specified prefix to each input tiddler title, yielding a new list of tiddler titles\n* Transclude the value of the target field or index\n** Substitute the default value for missing or empty values\n* Return the list of values\n\n<<.operator-examples \"lookup\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/lowercase Operator.tid",
    "content": "caption: lowercase\ncreated: 20190613153650010\nmodified: 20190619110848522\nop-input: a [[selection of titles|Title Selection]]\nop-output: the input titles with each uppercase letter replaced by the equivalent lowercase letter\nop-purpose: returns each item in the list as lowercase\ntags: [[Filter Operators]]\ntitle: lowercase Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.20\">>\n\nSee also [[uppercase Operator]] and [[sentencecase Operator]].\n\n<<.operator-examples \"lowercase\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/makepatches Operator.tid",
    "content": "caption: makepatches\ncreated: 20230304122354967\nmodified: 20230304122400128\nop-purpose: returns a set of patches that transform the input to a given string\nop-input: a [[selection of titles|Title Selection]]\nop-parameter: a string of characters\nop-parameter-name: S\nop-output: a set of patch instructions per input title to be used by the [[applypatches Operator]] to transform the input title(s) into the string <<.place S>>\nop-suffix: `lines` to operate in line mode, `words` to operate in word mode. If omitted (default), the algorithm operates in character mode. See notes below.\nop-suffix-name: T\ntags: [[Filter Operators]] [[String Operators]]\ntitle: makepatches Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.2.6\">>\n\nThe difference algorithm operates in character mode by default. This produces the most detailed diff possible. In `words` mode, each word in the input text is transformed into a meta-character, upon which the algorithm then operates. In the default character mode, the filter would find two patches between \"ActionWidget\" and \"Action-Widgets\" (the hyphen and the plural s), while in `words` mode, the whole word is found to be changed. In `lines` mode, the meta-character is formed from the whole line, delimited by newline characters, and is found to be changed independent of the number of changes within the line.\n\nThe different modes influence the result when the patches are applied to texts other than the original, as well as the runtime.\n\n<<.tip \"The calculation in `words` mode is roughly 10 times faster than the default character mode, while `lines` mode can be more than 100 times faster than the default.\">>\n\n<<.operator-examples \"makepatches and applypatches\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/match Operator.tid",
    "content": "caption: match\ncreated: 20190731080209404\nmodified: 20230711082432865\nop-input: a [[selection of titles|Title Selection]]\nop-neg-output: each item in the input list that does not match the parameter string\nop-output: each item in the input list that matches the parameter string (potentially including duplicates)\nop-parameter: the string to be matched\nop-purpose: returns each item in the list that matches the parameter string\nop-suffix: the <<.op match>> operator uses a rich suffix, see below for details\ntags: [[Filter Operators]]\ntitle: match Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.20\">>\n\nThe <<.op match>> operator uses an extended syntax that permits multiple flags to be passed:\n\n```\n[match:<flag list>[<parameter>]]\n```\n\n* ''flag list'': a comma delimited list of flags\n\nThe available flags are:\n\n* ''casesensitive'': (default), this flag forces a case-sensitive match, where upper and lower case letters are considered different\n* ''caseinsensitive'': overrides the default so that upper and lower case letters are considered identical for matching purposes\n\n<<.operator-examples \"match\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/max Operator.tid",
    "content": "caption: max\ncreated: 20190611130631390\nmodified: 20230321133057297\nop-input: a [[selection of titles|Title Selection]]\nop-output: the input as numbers, with any that are less than <<.place N>> being replaced by <<.place N>>\nop-parameter: a number\nop-parameter-name: N\nop-purpose: treating each input title as a number, take the maximum of its value and the numeric value of the parameter\ntags: [[Filter Operators]] [[Mathematics Operators]] [[Binary Mathematics Operators]]\ntitle: max Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.20\">> See [[Mathematics Operators]] for an overview.\n\nSee also the [[min Operator]], and compare with the [[maxall Operator]] and the [[minall Operator]].\n\n<<.operator-examples \"max\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/maxall Operator.tid",
    "content": "caption: maxall\ncreated: 20190611160656499\nmodified: 20190611160942704\nop-input: a [[selection of titles|Title Selection]]\nop-output: the largest of the input numbers\nop-purpose: find the largest of a list of numbers\ntags: [[Reducing Mathematics Operators]] [[Filter Operators]] [[Mathematics Operators]]\ntitle: maxall Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.20\">> See [[Mathematics Operators]] for an overview.\n\nSee also the [[minall Operator]], and compare with the [[max Operator]] and the [[min Operator]].\n\n<<.operator-examples \"maxall\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/median.tid",
    "content": "caption: median\ncreated: 20210417090137714\nmodified: 20210426131553507\nop-input: a [[selection of titles|Title Selection]]\nop-output: the median of the input numbers\nop-purpose: treating each input title as a number, compute their median value\ntags: [[Filter Operators]] [[Mathematics Operators]]\ntitle: median Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.2.0\">> See [[Mathematics Operators]] for an overview.\n\n<<.operator-examples \"median\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/min Operator.tid",
    "content": "caption: min\ncreated: 20190611131102707\nmodified: 20190611131135931\nop-input: a [[selection of titles|Title Selection]]\nop-output: the input as numbers, with any that are greater than <<.place N>> being replaced by <<.place N>>\nop-parameter: a number\nop-parameter-name: N\nop-purpose: treating each input title as a number, take the minimum of its value and the numeric value of the parameter\ntags: [[Filter Operators]] [[Mathematics Operators]] [[Binary Mathematics Operators]]\ntitle: min Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.20\">> See [[Mathematics Operators]] for an overview.\n\nSee also the [[max Operator]], and compare with the [[maxall Operator]] and the [[minall Operator]].\n\n<<.operator-examples \"min\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/minall Operator.tid",
    "content": "caption: minall\ncreated: 20190611161015153\nmodified: 20190611161043817\nop-input: a [[selection of titles|Title Selection]]\nop-output: the smallest of the input numbers\nop-purpose: find the smallest of a list of numbers\ntags: [[Reducing Mathematics Operators]] [[Filter Operators]] [[Mathematics Operators]]\ntitle: minall Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.20\">> See [[Mathematics Operators]] for an overview.\n\nSee also the [[maxall Operator]], and compare with the [[max Operator]] and the [[min Operator]].\n\n<<.operator-examples \"minall\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/minlength.tid",
    "content": "caption: minlength\ncreated: 20161011074235805\nfrom-version: 5.1.14\nmodified: 20240709161140504\nop-input: a list of items\nop-output: those items at least as long as the specified minimum length\nop-parameter: the minimum length for items\nop-parameter-name: minlength\nop-purpose: filter items whose length is greater than or equal to the specified minimum length\ntags: [[Filter Operators]]\ntitle: minlength Operator\ntype: text/vnd.tiddlywiki\n\n<<.operator-examples \"minlength\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/moduleproperty Operator.tid",
    "content": "caption: modulesproperty\ncreated: 20210919201126246\nmodified: 20210919201347702\nop-input: a [[selection|Title Selection]] of modules\nop-output: the value of the module property as specified in the parameter\nop-parameter: module property to retrieve\nop-purpose: retrieve a module property\ntags: [[Filter Operators]] [[Special Operators]]\ntitle: moduleproperty Operator\ntype: text/vnd.tiddlywiki\n\n<<.operator-examples \"moduleproperty\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/modules.tid",
    "content": "caption: modules\ncreated: 20140410103123179\nmodified: 20210919201148915\nop-input: a [[selection|Title Selection]] of module types\nop-output: the title of each module with any of the input types\nop-parameter: none\nop-purpose: select the names of all modules of the input module types\ntags: [[Filter Operators]] [[Special Operators]]\ntitle: modules Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.2.0\">>The <<.op modules>> filter allows two optional parameters. When both are specified, it returns the modules with the module property specified in the first parameter which has the value in the second parameter.\n\n<<.operator-examples \"modules\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/moduletypes.tid",
    "content": "created: 20140410103123179\nmodified: 20150203185903000\ntags: [[Filter Operators]] [[Special Operators]] [[Selection Constructors]]\ntitle: moduletypes Operator\ntype: text/vnd.tiddlywiki\ncaption: moduletypes\nop-purpose: select the names of all ~TiddlyWiki module types\nop-input: ignored\nop-parameter: none\nop-output: the name of each known ~TiddlyWiki [[module type|ModuleType]], in alphabetical order\n\n<<.operator-examples \"moduletypes\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/move.tid",
    "content": "caption: move\ncreated: 20151022123413501\nmodified: 20151108082424017\nop-input: a list of items\nop-output: re-ordered list of items\nop-parameter: the list item to be used as a marker\nop-parameter-name: marker\nop-purpose: move marker N places in the list\nop-suffix: an integer N, defaulting to 1\ntags: [[Filter Operators]] [[Order Operators]] [[Listops Operators]]\ntitle: move Operator\ntype: text/vnd.tiddlywiki\n\n<<.operator-examples \"move\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/multiply Operator.tid",
    "content": "caption: multiply\ncreated: 20190611125657820\nmodified: 20190611125816555\nop-input: a [[selection of titles|Title Selection]]\nop-output: the input as numbers, but with each one multiplied by <<.place N>>\nop-parameter: a number\nop-parameter-name: N\nop-purpose: treating each input title as a number, multiply it by the numeric value of the parameter\ntags: [[Filter Operators]] [[Mathematics Operators]] [[Binary Mathematics Operators]]\ntitle: multiply Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.20\">> See [[Mathematics Operators]] for an overview.\n\nCompare with the [[product Operator]].\n\n<<.operator-examples \"multiply\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/negate Operator.tid",
    "content": "caption: negate\ncreated: 20190611173918279\nmodified: 20190611174037439\nop-input: a [[selection of titles|Title Selection]]\nop-output: the negation of the input numbers\nop-purpose: calculate the negation of a list of numbers\ntags: [[Unary Mathematics Operators]] [[Filter Operators]] [[Mathematics Operators]]\ntitle: negate Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.20\">> See [[Mathematics Operators]] for an overview.\n\n<<.operator-examples \"negate\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/next.tid",
    "content": "created: 20140410103123179\nmodified: 20150203185954000\ntags: [[Filter Operators]] [[Field Operators]] [[Order Operators]]\ntitle: next Operator\ntype: text/vnd.tiddlywiki\ncaption: next\nop-purpose: find which titles in a <<.field list>> field follow the input ones\nop-input: a [[selection of titles|Title Selection]]\nop-parameter: a tiddler title\nop-parameter-name: T\nop-output: a selection containing each title that immediately follows each of the input titles in the <<.field list>> field of <<.place T>>\n\nEach input title is processed in turn, and its successor is located in the <<.field list>> field and appended to the output. If a title is not listed in the field, or is the last title there, then it contributes nothing to the output.\n\n<<.operator-examples \"next\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/nsort.tid",
    "content": "created: 20140410103123179\nmodified: 20150203190051000\ntags: [[Filter Operators]] [[Field Operators]] [[Order Operators]] [[Negatable Operators]]\ntitle: nsort Operator\ntype: text/vnd.tiddlywiki\ncaption: nsort\nop-purpose: sort the input by number field\nop-input: a [[selection of titles|Title Selection]]\nop-parameter: the name of a [[field|TiddlerFields]], defaulting to <<.field title>>\nop-parameter-name: F\nop-output: the input, sorted into ascending order by field <<.field F>>, treating field values as numbers\nop-neg-output: the input, likewise sorted into descending order\n\nNon-numeric values are treated as having a higher value than any number, and the difference between capital and lowercase letters is ignored. Compare <<.olink nsortcs>>.\n\n<<.operator-examples \"nsort\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/nsortcs.tid",
    "content": "caption: nsortcs\ncreated: 20140410103123179\nmodified: 20150417125717078\nop-input: a [[selection of titles|Title Selection]]\nop-neg-output: the input, likewise sorted into descending order\nop-output: the input, sorted into ascending order by field <<.place F>>, treating field values as numbers\nop-parameter: the name of a [[field|TiddlerFields]], defaulting to <<.field title>>\nop-parameter-name: F\nop-purpose: sort the input titles by number field, treating upper and lower case as different\ntags: [[Filter Operators]] [[Field Operators]] [[Order Operators]] [[Negatable Operators]]\ntitle: nsortcs Operator\ntype: text/vnd.tiddlywiki\n\nNon-numeric values are treated as having a higher value than any number, and capital and lowercase letters are treated as different. Compare <<.olink nsort>>.\n\n<<.operator-examples \"nsortcs\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/nth.tid",
    "content": "caption: nth\ncreated: 20150122204111000\nmodified: 20211029023739450\nop-input: a [[selection of titles|Title Selection]]\nop-output: the <<.place N>>th input title\nop-parameter: an integer, defaulting to 1\nop-parameter-name: N\nop-purpose: select the <<.place N>>th input title\ntags: [[Filter Operators]] [[Order Operators]]\ntitle: nth Operator\ntype: text/vnd.tiddlywiki\n\n<<.place N>> is one-based. In other words, `nth[1]` has the same effect as the <<.olink first>> operator.\n\n<<.tip \"See <<.olink zth>> for an equivalent operator with a 0 based parameter\">>\n\n<<.operator-examples \"nth\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/order_Operator.tid",
    "content": "caption: order\ncreated: 20161128185907280\nmodified: 20161128191251557\nop-input: a [[selection of titles|Title Selection]]\nop-output: the input, with the order reversed if <<.field F>> is the special value `reverse`\nop-parameter: Either the string `reverse` or another value\nop-parameter-name: F\nop-purpose: selectively reverse the input list\ntags: [[Filter Operators]] [[Common Operators]] [[Field Operators]] [[Order Operators]]\ntitle: order Operator\ntype: text/vnd.tiddlywiki\n\nEither reverses or preserves the order of the input list according to whether the parameter is the special value `reverse`.\n\n<<.operator-examples \"order\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/pad Operator.tid",
    "content": "caption: pad\ncreated: 20201129174215674\nmodified: 20201129175301148\nop-input: a [[selection of titles|Title Selection]]\nop-output: the input titles padded to the specified length\nop-parameter: the <<.op pad>> operator accepts 1 or more parameters, see below for details\nop-purpose: returns each item in the list padded to the specified length\nop-suffix: (optional). Whether to pad by adding a \"suffix\" or \"prefix\". Defaults to \"prefix\".\ntags: [[Filter Operators]] [[String Operators]]\ntitle: pad Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.23\">>\n\nThe <<.op pad>> operator requires at least one parameter which specifies the desired length of the input titles. A second optional parameter can be used to specify the string to pad with (defaults to \"0\").\n\n```\n[pad[<length>],[<padding-string>]]\n```\n* ''length'' : the desired final length of the input titles.\n* ''padding-string'': (optional). The string to use to pad to the desired length. Defaults to \"0\".\n\n<<.operator-examples \"pad\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/plugintiddlers.tid",
    "content": "created: 20140410103123179\nmodified: 20150203190350000\ntags: [[Filter Operators]] [[Special Operators]]\ntitle: plugintiddlers Operator\ntype: text/vnd.tiddlywiki\ncaption: plugintiddlers\nop-purpose: select all shadow titles in the input plugins\nop-input: a [[selection|Title Selection]] of plugin tiddler titles\nop-parameter: none\nop-output: all shadow titles contained in the input plugins\n\n<<.operator-examples \"plugintiddlers\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/power Operator.tid",
    "content": "caption: power\ncreated: 20201120040720190\nmodified: 20201120040852980\nop-input: a [[selection of titles|Title Selection]]\nop-output: the input as numbers, but with each one raised to the power of <<.place N>>\nop-parameter: a number\nop-parameter-name: N\nop-purpose: treating each input title as a number, raise it to the power of the numeric value of the parameter\ntags: [[Filter Operators]] [[Mathematics Operators]] [[Binary Mathematics Operators]]\ntitle: power Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.23\">>\n\n<<.operator-examples \"power\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/precision Operator.tid",
    "content": "caption: precision\ncreated: 20190611150935800\nmodified: 20190611151434569\nop-input: a [[selection of titles|Title Selection]]\nop-output: the input as numbers with <<.place N>> significant digits\nop-parameter: a number\nop-parameter-name: N\nop-purpose: convert each number to a string with <<.place N>> significant digits\ntags: [[Filter Operators]] [[Mathematics Operators]] [[Binary Mathematics Operators]]\ntitle: precision Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.20\">> See [[Mathematics Operators]] for an overview.\n\nThe ''precision'' operator returns a string representation of the input number that has exactly the specified number of significant digits, using whichever is shorter of [[exponential|exponential Operator]] or [[fixed|fixed Operator]] notation.\n\n<<.operator-examples \"precision\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/prefix.tid",
    "content": "caption: prefix\ncreated: 20140410103123179\nmodified: 20230711082821266\nop-input: a [[selection of titles|Title Selection]]\nop-neg-output: those input tiddlers that do <<.em not>> start with <<.place S>>\nop-output: those input titles that start with <<.place S>>\nop-parameter: a string of characters\nop-parameter-name: S\nop-purpose: filter the input titles by how they start\nop-suffix: the <<.op prefix>> operator uses a rich suffix, see below for details\ntags: [[Filter Operators]] [[String Operators]] [[Negatable Operators]]\ntitle: prefix Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.2.2\">>\n\nThe <<.op prefix>> operator uses an extended syntax that permits multiple flags to be passed:\n\n```\n[prefix:<flag list>[<parameter>]\n```\n\n* ''flag list'': a comma delimited list of flags\n\nThe available flags are:\n\n* ''casesensitive'': (default), this flag forces a case-sensitive match, where upper and lower case letters are considered different\n* ''caseinsensitive'': overrides the default so that upper and lower case letters are considered identical for matching purposes\n\n<<.operator-examples \"prefix\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/prepend.tid",
    "content": "caption: prepend\ncreated: 20151017145439292\nmodified: 20151108051701587\nop-input: a list of items\nop-neg-output: a list with items prepended from the tail of the parameter array\nop-output: a list with items prepended from the head of the parameter array\nop-parameter: the array of items to be prepended to the head of the list\nop-parameter-name: list\nop-purpose: prepend a range of items from an array to the list\nop-suffix: an integer N, defaulting to all\ntags: [[Filter Operators]] [[Order Operators]] [[Listops Operators]]\ntitle: prepend Operator\ntype: text/vnd.tiddlywiki\n\n<<.operator-examples \"prepend\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/previous.tid",
    "content": "created: 20140410103123179\nmodified: 20150203190515000\ntags: [[Filter Operators]] [[Field Operators]] [[Order Operators]]\ntitle: previous Operator\ntype: text/vnd.tiddlywiki\ncaption: previous\nop-purpose: find which titles in a <<.field list>> field precede the input ones\nop-input: a [[selection of titles|Title Selection]]\nop-parameter: a tiddler title\nop-parameter-name: T\nop-output: a selection containing each title that immediately precedes each of the input titles in the <<.field list>> field of <<.place T>>\n\nEach input title is processed in turn, and its predecessor is located in the <<.field list>> field and appended to the output. If a title is not listed in the field, or is the first item there, then it contributes nothing to the output.\n\n<<.operator-examples \"previous\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/product Operator.tid",
    "content": "caption: product\ncreated: 20190611160145434\nmodified: 20190611160215653\nop-input: a [[selection of titles|Title Selection]]\nop-output: the result of multiplying together the input as numbers\nop-purpose: produce the product of the input numbers\ntags: [[Reducing Mathematics Operators]] [[Filter Operators]] [[Mathematics Operators]]\ntitle: product Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.20\">> See [[Mathematics Operators]] for an overview.\n\nCompare with the [[multiply Operator]].\n\n<<.operator-examples \"product\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/putafter.tid",
    "content": "caption: putafter\ncreated: 20151017144307862\nmodified: 20151108051805137\nop-input: a list of items\nop-output: re-ordered list of items\nop-parameter: the list item to be used as a marker\nop-parameter-name: marker\nop-purpose: move N trailing items after the marker\nop-suffix: an integer N, defaulting to 1\ntags: [[Filter Operators]] [[Order Operators]] [[Listops Operators]]\ntitle: putafter Operator\ntype: text/vnd.tiddlywiki\n\n<<.operator-examples \"putafter\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/putbefore.tid",
    "content": "caption: putbefore\nop-input: a [[selection of titles|Title Selection]]\nop-output: the first <<.place N>> input titles\nop-parameter: an integer, defaulting to 1\nop-parameter-name: marker\nop-purpose: move N trailing items before the marker\nop-suffix: an integer N, defaulting to 1\ntags: [[Filter Operators]] [[Order Operators]] [[Listops Operators]]\ntitle: putbefore Operator\ntype: text/vnd.tiddlywiki\n\n<<.operator-examples \"putbefore\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/putfirst.tid",
    "content": "caption: putfirst\ncreated: 20151017144802884\nmodified: 20151108051922934\nop-input: a list of items\nop-output: re-ordered list of items\nop-parameter: ignored\nop-purpose: move N trailing items to the head of the list\nop-suffix: an integer N, defaulting to 1\ntags: [[Filter Operators]] [[Order Operators]] [[Listops Operators]]\ntitle: putfirst Operator\ntype: text/vnd.tiddlywiki\n\n<<.operator-examples \"putfirst\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/putlast.tid",
    "content": "caption: putlast\ncreated: 20151017144822139\nmodified: 20151108052000425\nop-input: a list of items\nop-output: re-ordered list of items\nop-parameter: ignored\nop-purpose: move N leading items to the tail of the list\nop-suffix: an integer N, defaulting to 1\ntags: [[Filter Operators]] [[Order Operators]] [[Listops Operators]]\ntitle: putlast Operator\ntype: text/vnd.tiddlywiki\n\n<<.operator-examples \"putlast\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/range.tid",
    "content": "caption: range\ncreated: 20171221184734665\nmodified: 20251008154315078\nop-input: ignored\nop-neg-output: a series of evenly spaced numbers ranging from `[BEGIN]` to `[END]` in reverse order\nop-output: a series of evenly spaced numbers ranging from `[BEGIN]` to `[END]`\nop-parameter: a range specification, like `[1],[5]`\nop-parameter-name: N\nop-purpose: generate a range of numbers\ntags: [[Filter Operators]] [[Negatable Operators]] [[Selection Constructors]]\ntitle: range Operator\ntype: text/vnd.tiddlywiki\n\n\\define range_example(range)\n```\n[range[$range$]]\n```\n\n<$list variable=n filter=\"[range[$range$]]\"><<n>> </$list>\n\\end\n\nThe `range` operator produces a list of numbers counting up or down.  It is useful for counting and numbering.\n\n<<.from-version \"5.2.0\">> The range operator has been updated to use multiple parameters. Prior to this version, the range operator only had one parameter, with the three parts delimited by `,`, `;` or `:`.\n\nIn the descriptions below the words `BEGIN`, `END` and `STEP` are placeholders. \n\n```\n[range[END]]\n[range[BEGIN],[END]]\n[range[BEGIN],[END],[STEP]]\n```\n\nThe behaviour depends on the number of parameters:\n\n|Parameter(s) Literal |Output |h\n|`[END]` |Whole numbers up to `[END]` eg: `[range[7]]`|\n|`[BEGIN],[END]` |Numbers from `[BEGIN]` to `[END]`, spaced by whole numbers eg: `[range[1],[10]]` |\n|`[BEGIN],[END],[STEP]` |Numbers from `[BEGIN]` to `[END]` spaced out by `[STEP]` eg: `[range[1],[7],[2]]` |\n\n|Parameter(s) Dynamic |Output |h\n|`<END>` |Whole numbers up to `<END>` eg: `[range<myRangeEnd>]`.<br>The <<.var myRangeEnd>> variable has to be defined somewhere else with eg: <<.wid let>> widget |\n|`{BEGIN},<END>` |Numbers from `{BEGIN}` to `<END>` eg: `[range{myRangeStart},<myRangeEnd>]`.<br>The <<.param myRangeStart>> will be transcluded from a tiddler \"myRanageStart\"  and <<.var myRangeEnd>> comes from a variable |\n\nEach parameter must be a number, and works as follows:\n\n* `[BEGIN]`: start counting at this number.\n** Defaults to 1 if `[END]` is at least 1 (or -1 if `[END]` is at most -1).\n\n* `[END]`: stop counting at this number.\n** This number will appear in the list unless it falls between two steps.\n\n* `[STEP]`: count up (or down) by this amount.\n** Defaults to 1.\n** Cannot be zero.\n** We always count from `[BEGIN]` toward `[END]`, whether `[STEP]` is positive or negative.\n\nThe number of decimal points in the output is fixed, and based on the parameter with the //most// decimal points.\n\nTo prevent the browser from freezing, `range` is currently limited to 10,000 values.\n\n!! Examples\n\n<<wikitext-example-without-html\n\"\"\"<$list variable=n filter=\"[range[7]]\" join=\", \"><<n>></$list>\"\"\">>\n\n<<wikitext-example-without-html\n\"\"\"<$list variable=n filter=\"[range[3],[10]]\" join=\", \"><<n>></$list>\"\"\">>\n\n<<wikitext-example-without-html\n\"\"\"<$list variable=n filter=\"[range[17],[13]]\" join=\", \"><<n>></$list>\"\"\">>\n\n<<wikitext-example-without-html\n\"\"\"<$list variable=n filter=\"[range[1.001],[8],[2]]\" join=\", \"><<n>></$list>\"\"\">>\n\n<<wikitext-example-without-html\n\"\"\"<$list variable=n filter=\"[range[.9],[1.1],[.004]]\" join=\", \"><<n>></$list>\"\"\">>\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/reduce.tid",
    "content": "caption: reduce\ncreated: 20201004154131193\nmodified: 20230321133918020\nop-input: a [[selection of titles|Title Selection]] passed as input to the filter\nop-output: the final result of running the subfilter <<.place S>>\nop-parameter: a [[filter expression|Filter Expression]]. Optional second parameter for initial value for accumulator\nop-parameter-name: S\nop-purpose: apply a subfilter to each input title in turn, accumulating a single value\ntags: [[Filter Operators]]\ntitle: reduce Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.23\">> The <<.op reduce>> operator runs a subfilter for each input title, passing the result of the previous subfilter run as a variable. The initial value of the accumulator can optionally be specified. It returns the result of the final subfilter run.\n\nThe <<.op reduce>> operator is used to flatten a list of items down to a single item by repeatedly applying a formula. A typical use is to add up the values in a given field of a list of tiddlers.\n\nThe following variables are available within the subfilter:\n\n* ''accumulator'' - the result of the previous subfilter run\n* ''currentTiddler'' - the input title\n* ''..currentTiddler'' - the value of the variable `currentTiddler` outside the subfilter. <<.from-version \"5.2.0\">>\n* ''index'' - the numeric index of the current list item (with zero being the first item in the list)\n* ''revIndex'' - the reverse numeric index of the current list item (with zero being the last item in the list)\n* ''length'' - the total length of the input list\n\nIf the <<.op reduce>> operator receives no input, its output will be empty. The [[else Operator]] can be useful in such cases.\n\n<<.tip \"Literal filter parameters cannot contain square brackets but you can work around the issue by using a variable:\">>\n\n```\n<$set name=\"sum-input\" value=\"[add<accumulator>]\">\n{{{ =1 =2 =3 +[reduce<sum-input>] }}}\n</$set>\n```\n\n<<.tip \"Compare with the analogous named [[filter run prefix|Filter Expression]] `:reduce`\">>\n\n```\n\\define num-items() [get[quantity]add<accumulator>]\n\n[tag[shopping]reduce<num-items>]\n```\n\nis equivalent to:\n\n```\n[tag[shopping]] :reduce[get[quantity]add<accumulator>]\n```\n\n<$macrocall $name=\".tip\" _=\"\"\"If the optional second parameter is not given, the initial accumulator value will be empty. Numerical operators treat empty input as if it was the number 0. See the multiply-input examples for how this can affect the result of <<.op reduce>> in some cases.\"\"\"/>\n\n<<.operator-examples \"reduce\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/regexp.tid",
    "content": "created: 20140909134102102\nmodified: 20150203190626000\ntags: [[Filter Operators]] [[Field Operators]] [[Negatable Operators]]\ntitle: regexp Operator\ntype: text/vnd.tiddlywiki\ncaption: regexp\nop-purpose: filter the input by pattern-matched field\nop-input: a [[selection of titles|Title Selection]]\nop-suffix: the name of a [[field|TiddlerFields]], defaulting to <<.field title>>\nop-suffix-name: F\nop-parameter: a regular expression\nop-parameter-name: X\nop-output: those input tiddlers in which field <<.place F>> matches <<.place X>>\nop-neg-output: those input tiddlers in which field <<.place F>> does <<.em not>> match <<.place X>>\n\n<<.def \"Regular expressions\">> are concise strings of characters that denote patterns of text to search for. The format used in ~TiddlyWiki is fully defined in [[this Mozilla reference|https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions]].\n\nThe [[filter syntax|Filter Run]] makes it impossible to directly specify a regular expression that contains square brackets. The solution is to store the expression in a [[variable|Variables]]. See the <<.operator-examples \"regexp\" \"examples\">>.\n\nThe parameter <<.place X>> can optionally start or end with a string of flags:\n\n<$railroad text=\"\"\" \"(?\" { (\"i\"|\"m\"|:\"g\") } \")\" \"\"\"/>\n\nOnly the `i` flag is generally useful: it forces the different between capital and lowercase letters to be ignored.\n\nIf <<.place X>> is empty, <<.op regexp>> will match all of the input tiddlers.\n\n<<.operator-examples \"regexp\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/remainder Operator.tid",
    "content": "caption: remainder\ncreated: 20190611130006275\nmodified: 20190611130107195\nop-input: a [[selection of titles|Title Selection]]\nop-output: the input as numbers, but with each replaced by the remainder when dividing it by <<.place N>>\nop-parameter: a number\nop-parameter-name: N\nop-purpose: treating each input title as a number, return the remainder when divided by the numeric value of the parameter\ntags: [[Filter Operators]] [[Mathematics Operators]] [[Binary Mathematics Operators]]\ntitle: remainder Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.20\">> See [[Mathematics Operators]] for an overview.\n\n<<.operator-examples \"remainder\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/remove.tid",
    "content": "caption: remove\ncreated: 20151017144531676\nmodified: 20170125200005000\nop-input: a list of items\nop-neg-output: items removed from current list that appear at the tail of the parameter array\nop-output: items removed from current list that appear at the head of the parameter array\nop-parameter: an array of items to remove\nop-parameter-name: array\nop-prefix: causes N items from the end of the array to be removed\nop-purpose: remove a list of titles specified in the parameter from the input\nop-suffix: an integer N, defaulting to all\ntags: [[Filter Operators]] [[Order Operators]] [[Listops Operators]]\ntitle: remove Operator\ntype: text/vnd.tiddlywiki\n\n<<.operator-examples \"remove\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/removeprefix.tid",
    "content": "caption: removeprefix\ncreated: 20140410103123179\nmodified: 20230711082842515\nop-input: a [[selection of titles|Title Selection]]\nop-output: those input titles that start with <<.place S>>, but with those characters discarded\nop-parameter: a string of characters\nop-parameter-name: S\nop-purpose: filter the input titles by how they start, deleting that prefix\nop-suffix: the <<.op removeprefix>> operator uses a rich suffix, see below for details\ntags: [[Filter Operators]] [[String Operators]]\ntitle: removeprefix Operator\ntype: text/vnd.tiddlywiki\n\n<<.tip \" This filters out input titles that do not start with S. For removing S without filtering out input titles that don't start with S, see [[trim|trim Operator]].\">>\n\n<<.from-version \"5.2.2\">>\n\nThe <<.op removeprefix>> operator uses an extended syntax that permits multiple flags to be passed:\n\n```\n[removeprefix:<flag list>[<parameter>]]\n```\n\n* ''flag list'': a comma delimited list of flags\n\nThe available flags are:\n\n* ''casesensitive'': (default), this flag forces a case-sensitive match, where upper and lower case letters are considered different\n* ''caseinsensitive'': overrides the default so that upper and lower case letters are considered identical for matching purposes\n\n<<.operator-examples \"removeprefix\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/removesuffix.tid",
    "content": "caption: removesuffix\ncreated: 20140828133830424\nmodified: 20230711082859816\nop-input: a [[selection of titles|Title Selection]]\nop-output: those input titles that end with <<.place S>>, but with those characters discarded\nop-parameter: a string of characters\nop-parameter-name: S\nop-purpose: filter the input titles by how they end, deleting that suffix\nop-suffix: the <<.op removesuffix>> operator uses a rich suffix, see below for details\ntags: [[Filter Operators]] [[String Operators]]\ntitle: removesuffix Operator\ntype: text/vnd.tiddlywiki\n\n<<.tip \" This filters out input titles that do not end with S. For removing S without filtering out input titles that don't end with S, see [[trim|trim Operator]].\">>\n\n<<.from-version \"5.2.2\">>\n\nThe <<.op removesuffix>> operator uses an extended syntax that permits multiple flags to be passed:\n\n```\n[removesuffix:<flag list>[<parameter>]]\n```\n\n* ''flag list'': a comma delimited list of flags\n\nThe available flags are:\n\n* ''casesensitive'': (default), this flag forces a case-sensitive match, where upper and lower case letters are considered different\n* ''caseinsensitive'': overrides the default so that upper and lower case letters are considered identical for matching purposes\n\n<<.operator-examples \"removesuffix\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/replace.tid",
    "content": "caption: replace\ncreated: 20151017144531676\nmodified: 20151108052110493\nop-input: a list of items\nop-output: re-ordered list of items\nop-parameter: the item to be used as a marker\nop-parameter-name: marker\nop-purpose: replace marker with N trailing items\nop-suffix: an integer N, defaulting to 1\ntags: [[Filter Operators]] [[Order Operators]] [[Listops Operators]]\ntitle: replace Operator\ntype: text/vnd.tiddlywiki\n\n<<.operator-examples \"replace\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/rest.tid",
    "content": "created: 20140410103123179\nmodified: 20150203190822000\ntags: [[Filter Operators]] [[Order Operators]]\ntitle: rest Operator\ntype: text/vnd.tiddlywiki\ncaption: rest\nop-purpose: discard the first <<.place N>> input titles\nop-input: a [[selection of titles|Title Selection]]\nop-parameter: an integer, defaulting to 1\nop-parameter-name: N\nop-output: all but the first <<.place N>> input titles\n\n<<.olink butfirst>> and <<.olink bf>> are synonyms for <<.op rest>>.\n\n<<.operator-examples \"rest\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/reverse.tid",
    "content": "created: 20140410103123179\nmodified: 20150203190852000\ntags: [[Filter Operators]] [[Order Operators]]\ntitle: reverse Operator\ntype: text/vnd.tiddlywiki\ncaption: reverse\nop-purpose: reverse the order of the input titles\nop-input: a [[selection of titles|Title Selection]]\nop-parameter: none\nop-output: the input, in reverse order\n\n<<.operator-examples \"reverse\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/round Operator.tid",
    "content": "caption: round\ncreated: 20190613084541416\nmodified: 20190613084623913\nop-input: a [[selection of titles|Title Selection]]\nop-output: rounds each of the input numbers to the nearest integer\nop-purpose: rounds a list of numbers to the nearest integer\ntags: [[Unary Mathematics Operators]] [[Filter Operators]] [[Mathematics Operators]]\ntitle: round Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.20\">> See [[Mathematics Operators]] for an overview.\n\n<<.operator-examples \"round\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/sameday.tid",
    "content": "created: 20140410103123179\nmodified: 20150203190959000\ntags: [[Filter Operators]] [[Date Operators]]\ntitle: sameday Operator\ntype: text/vnd.tiddlywiki\ncaption: sameday\nop-purpose: filter the input by date\nop-input: a [[selection of titles|Title Selection]]\nop-suffix: the name of a [[date field|Date Fields]], defaulting to <<.field modified>>\nop-suffix-name: F\nop-parameter: a date, in the [[format|DateFormat]] `YYYYMMDD`\nop-parameter-name: D\nop-output: those input tiddlers in which field <<.place F>> has the value <<.place D>>, ignoring time\n\nIf <<.place D>> is not a valid date, the output is empty.\n\n<<.place D>> may include a time of day, but this is ignored.\n\n<<.operator-examples \"sameday\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/search-replace Operator.tid",
    "content": "caption: search-replace\ncreated: 20201107111139011\nmodified: 20210829174535854\nop-input: a [[selection of titles|Title Selection]]\nop-output: the input titles with the search string replaced with the replacement string\nop-parameter: the <<.op search-replace>> operator requires 2 parameters, see below for details\nop-purpose: returns each item in the list, replacing within each title the string specified by the first parameter with the second parameter\nop-suffix: the <<.op search-replace>> operator uses a rich suffix, see below for details\ntags: [[Filter Operators]] [[String Operators]]\ntitle: search-replace Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.23\">>\n\nThe <<.op search-replace>> operator uses an extended syntax that allows for multiple suffixes and parameters to be passed:\n\n```\n[search-replace:<flag list>:<regexp-mode>[<search-term>],[<replacement>]]\n```\n\n* ''flag-list'': ''g'' for global mode to replace all matches, ''i'' for case-insensitive mode, <<.from-version \"5.2.0\">> ''m'' for multiline mode, \"gim\" for all. (optional)\n* ''regexp-mode'': ''regexp'' to treat the first parameter as a regular expression (optional).\n* ''search-term'': string or regular expression that should be replaced\n* ''replacement'': string that should replace the search-term\n\n<<.tip \"Either [[parameter|Filter Parameter]] can be a string, a text reference or a variable\">>\n\n<<.operator-examples \"search-replace\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/search.tid",
    "content": "caption: search\ncreated: 20140410103123179\nmodified: 20230711084359603\nop-input: a [[selection of titles|Title Selection]]\nop-neg-output: those input tiddlers in which <<.em not>> all of the search terms can be found\nop-output: those input tiddlers in which <<.em all>> of the search terms can be found in the value of field <<.place F>>\nop-parameter: one or more search terms, separated by spaces, or a literal search string\nop-purpose: filter the input by searching tiddler content\nop-suffix: the <<.op search>> operator uses a rich suffix, see below for details\ntags: [[Filter Operators]] [[Common Operators]] [[Field Operators]] [[Negatable Operators]]\ntitle: search Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.18\">> The search filter operator was significantly enhanced in 5.1.18. Earlier versions do not support the extended syntax and therefore do not permit searching multiple fields, or the ''literal'' or ''casesensitive'' options.\n\nThe <<.op search>> operator uses an extended syntax that permits multiple fields and flags to be passed:\n\n```\n[search:<field list>:<flag list>[<parameter>]]\n```\n\n* ''field list'': a comma delimited list of field names to restrict the search\n** defaults to <<.field tags>>, <<.field text>> and <<.field title>> if blank\n** an asterisk `*` instead of the field list causes the search to be performed across all fields available on each tiddler\n** preceding the list with a minus sign `-` reverses the order so that the search is performed on all fields except the listed fields\n* ''flag list'': a comma delimited list of flags (defaults to `words` if blank)\n* ''parameter'': filter parameter\n\nThis example searches the fields <<.field title>> and <<.field caption>> for a case-sensitive match for the literal string <<.op-word \"The first\">>:\n\n```\n[search:title,caption:literal,casesensitive[The first]]\n```\n\nThe available flags are:\n\n* Search mode - the first to be set of the following flags determines the type of search that is performed:\n** ''literal'': considers the search string to be a literal string, and requires an exact match\n** ''whitespace'': considers the search string to be a literal string, but will consider all runs of whitespace to be equivalent to a single space. Thus `A B` matches `A   B`\n** ''regexp'': treats the search string as a regular expression. Note that the ''regexp'' option obviates the need for the older <<.olink regexp>> operator.\n** ''words'': (the default) treats the search string as a list of tokens separated by whitespace, and matches if ''all of the tokens'' appear in the string (regardless of ordering and whether there is other text in between)\n** ''some'': <<.from-version \"5.2.2\">> treats the search string as a list of tokens separated by whitespace, and matches if ''at least one'' of the tokens appear in the string\n* ''casesensitive'': if present, this flag forces a case-sensitive match, where upper and lower case letters are considered different. By default, upper and lower case letters are considered identical for matching purposes.\n* ''anchored'': <<.from-version \"5.1.20\">> anchors the search to the start of the string (applies to ''whitespace'', ''literal'' and ''words'' modes)\n\n<<.operator-examples \"search\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/sentencecase Operator.tid",
    "content": "caption: sentencecase\ncreated: 20190619110607457\nmodified: 20190619110736016\nop-input: a [[selection of titles|Title Selection]]\nop-output: the input titles with each first letter capitalised\nop-purpose: returns each item in the list with the first letter capitalised\ntags: [[Filter Operators]]\ntitle: sentencecase Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.20\">>\n\nSee also [[lowercase Operator]], [[uppercase Operator]], [[titlecase Operator]].\n\n<<.tip \" This operator does not change anything except the first letter of each title, so `[[aBcD eFgH]]` would become `[[ABcD eFgH]]`. If you want `[[Abcd efgh]]`, then use a filter like `[lowercase[]sentencecase[]]`.\">>\n\n<<.operator-examples \"sentencecase\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/sha256 Operator.tid",
    "content": "caption: sha256\ncreated: 20220129105504961\nmodified: 20220129105504961\nop-input: a [[selection of titles|Title Selection]]\nop-output: the base64 encoded sha256 of the input, truncated to the specified length\nop-parameter: the number of characters to return, up to a maximum of 64\nop-parameter-name: L\nop-purpose: apply sha256 hash to a string\ntags: [[Filter Operators]] [[String Operators]]\ntitle: sha256 Operator\ntype: text/vnd.tiddlywiki\nfrom-version: 5.1.14\n\nHashes are a way of turning strings of arbitrary length into obfuscated strings of fixed length. They are often used in situations where items need to be stored by name but it is inconvenient to allow arbitrary length strings.\n\nSee Wikipedia for details of the [[sha256|https://en.wikipedia.org/wiki/SHA-2]] operation.\n\n<<.operator-examples \"sha256\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/shadowsource.tid",
    "content": "created: 20140410103123179\nmodified: 20150203191120000\ntags: [[Filter Operators]] [[Special Operators]]\ntitle: shadowsource Operator\ntype: text/vnd.tiddlywiki\ncaption: shadowsource\nop-purpose: select the plugin titles that contain the input shadows\nop-input: a [[selection|Title Selection]] of [[shadow titles|ShadowTiddlers]]\nop-parameter: none\nop-output: the [[plugins|Plugins]] that contain the input tiddlers\n\nEach input title is processed in turn. If it denotes a shadow tiddler, the title of its plugin tiddler is [[dominantly appended|Dominant Append]] to the output. Non-shadow tiddlers contribute nothing to the output.\n\n<<.operator-examples \"shadowsource\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/sign Operator.tid",
    "content": "caption: sign\ncreated: 20190613084919354\nmodified: 20190613085044655\nop-input: a [[selection of titles|Title Selection]]\nop-output: replaces each input number with -1, 0 or 1 according to whether the number is negative, zero, or positive\nop-purpose: return -1, 0 or 1 for a list of numbers according to whether each number is negative, zero, or positive\ntags: [[Unary Mathematics Operators]] [[Filter Operators]] [[Mathematics Operators]]\ntitle: sign Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.20\">> See [[Mathematics Operators]] for an overview.\n\n<<.operator-examples \"sign\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/sin Operator.tid",
    "content": "caption: sin\ncreated: 20211019203650938\nmodified: 20211021222816944\nop-input: a [[selection of titles|Title Selection]]\nop-output: the sine of the input angles (numeric value between -1 and 1)\nop-purpose: calculate the sine value of a list of angles (given in radians)\ntags: [[Filter Operators]] [[Mathematics Operators]] [[Trigonometric Operators]] [[Unary Mathematics Operators]]\ntitle: sin Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.21\">> See [[Mathematics Operators]] for an overview.\n\n<<.operator-examples \"sin\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/slugify Operator.tid",
    "content": "caption: slugify\ncreated: 20200509141702846\nmodified: 20200509141702846\nop-input: a [[selection of titles|Title Selection]]\nop-output: the input titles transformed so that they only contain lower case letters, numbers, periods, dashes and underscores\nop-purpose: returns each item in the list in a human-readable form for use in URLs or filenames\ntags: [[Filter Operators]]\ntitle: slugify Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.23\">> The transformation applied by the slugify operator follows these steps:\n\n* If there is a tiddler with the same title that has a ''slug'' field, then return that field instead of running the following steps\n* Replace uppercase letters with lowercase equivalents\n* Transliterate diacritics to their basic lowercase ASCII equivalents (for example, \"Æ\" is transliterated to \"AE\")\n* Replace spaces with dashes\n* Remove all non-word characters except dashes and periods\n* Replace multiple sequential dashes with a single dash\n* Trim dashes from start and end\n* If the result is the empty string then character codes are used instead (eg. \"&£@\" transforms to \"38-163-64\")\n\nNote that it is possible for more than one title to slugify to the same string. The <<.olink duplicateslugs>> can be used to alert authors to any clashes.\n\n<<.operator-examples \"slugify\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/sort.tid",
    "content": "created: 20140410103123179\nmodified: 20150203191228000\ntags: [[Filter Operators]] [[Common Operators]] [[Field Operators]] [[Order Operators]] [[Negatable Operators]]\ntitle: sort Operator\ntype: text/vnd.tiddlywiki\ncaption: sort\nop-purpose: sort the input by text field\nop-input: a [[selection of titles|Title Selection]]\nop-parameter: the name of a [[field|TiddlerFields]], defaulting to <<.field title>>\nop-parameter-name: F\nop-output: the input, sorted into ascending order by field <<.field F>>, treating field values as text\nop-neg-output: the input, likewise sorted into descending order\n\nThe difference between capital and lowercase letters is ignored. Compare <<.olink sortcs>>.\n\n<<.operator-examples \"sort\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/sortan.tid",
    "content": "caption: sortan\ncreated: 20180222071605739\nmodified: 20180223012553446\nop-input: a [[selection of titles|Title Selection]]\nop-neg-output: the input, likewise sorted into descending order\nop-output: the input, sorted into ascending order by field <<.field F>>, treating field values as alphanumerics\nop-parameter: the name of a [[field|TiddlerFields]], defaulting to <<.field title>>\nop-parameter-name: F\nop-purpose: sort the input by text field considering them as alphanumerics\ntags: [[Filter Operators]] [[Common Operators]] [[Field Operators]] [[Order Operators]] [[Negatable Operators]]\ntitle: sortan Operator\ntype: text/vnd.tiddlywiki\n\nThe difference between uppercase and lowercase letters is ignored.\n\n<<.operator-examples \"sortan\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/sortby.tid",
    "content": "caption: sortby\ncreated: 20151017145021839\nmodified: 20151108052142057\nop-input: a list of items\nop-output: all items sorted by lookup list\nop-parameter: a list specifying the order in which to sort the current list\nop-parameter-name: order\nop-purpose: sort the current list in the order of the list referenced in the parameter\ntags: [[Filter Operators]] [[Order Operators]] [[Listops Operators]]\ntitle: sortby Operator\ntype: text/vnd.tiddlywiki\n\n<<.operator-examples \"sortby\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/sortcs.tid",
    "content": "caption: sortcs\ncreated: 20140410103123179\nmodified: 20150417125704503\nop-input: a [[selection of titles|Title Selection]]\nop-neg-output: the input, likewise sorted into descending order\nop-output: the input, sorted into ascending order by field <<.field F>>, treating field values as text\nop-parameter: the name of a [[field|TiddlerFields]], defaulting to <<.field title>>\nop-parameter-name: F\nop-purpose: sort the input by text field, treating upper and lower case as different\ntags: [[Filter Operators]] [[Field Operators]] [[Order Operators]] [[Negatable Operators]]\ntitle: sortcs Operator\ntype: text/vnd.tiddlywiki\n\nCapital and lowercase letters are treated as different. Compare <<.olink sort>>.\n\n<<.operator-examples \"sortcs\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/sortsub Operator.tid",
    "content": "caption: sortsub\ncreated: 20200424160155182\nmodified: 20240717115735166\nop-input: a [[selection of titles|Title Selection]]\nop-neg-output: the input, sorted into reverse order by the result of evaluating subfilter <<.param S>>\nop-output: the input, sorted into ascending order by the result of evaluating subfilter <<.param S>>\nop-parameter: a subfilter to be evaluated\nop-parameter-name: S\nop-purpose: sort the input by the result of evaluating a subfilter for each item\nop-suffix: the type used for the comparison (string, number, integer, date, version), defaulting to string\nop-suffix-name: T\ntags: [[Filter Operators]] [[Field Operators]] [[Order Operators]] [[Negatable Operators]]\ntitle: sortsub Operator\ntype: text/vnd.tiddlywiki\n\nEach item in the list of input titles is passed to the subfilter in turn. The subfilter transforms the input titles into the form needed for sorting. For example, the subfilter `[length[]]` transforms each input title in the number representing its length, and thus sorts the input titles according to their length.\n\nNote that within the subfilter <<.place S>>, the <<.var currentTiddler>> variable is set to the title of the tiddler being processed. This permits subfilters like `[{!!value}divide{!!cost}]` to be used for computation. \n\nThe value of <<.var currentTiddler>> outside the subfilter is available in the variable <<.var ..currentTiddler>>. <<.from-version \"5.2.0\">>\n\nThe suffix <<.place T>> determines how the items are compared and can be:\n\n* ''string'' (the default)\n* ''number'' - invalid numbers are interpreted as zero\n* ''integer'' - invalid integers are interpreted as zero\n* ''date'' - invalid dates are interpreted as 1st January 1970\n* ''version'' - invalid versions are interpreted as \"v0.0.0\"\n* ''alphanumeric'' - treat items as alphanumerics <<.from-version \"5.2.0\">>\n\n<<.tip \"\"\"Note that subfilters <<.place S>> ''should return the same number of items that they are passed''. In particular, when retrieving the value of a field with the <<.olink get>> operator it is helpful to guard against a missing field value using the <<.olink else>> operator. For example `...[get[myfield]else[default-value]]`.<br><br>\n\nAny ''missing'' entries will be treated as ''zero'' or the ''empty string''.\"\"\">>\n\nAlso see: [[Sort Filter Run Prefix]]\n\n<<.operator-examples \"sortsub\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/split Operator.tid",
    "content": "caption: split\ncreated: 20190613153944647\nmodified: 20190613154541225\nop-input: a [[selection of titles|Title Selection]]\nop-output: the input titles split into separate items according to the specified separator <<.place S>>\nop-parameter: The substring at which to split each title\nop-parameter-name: S\nop-purpose: returns each item in the list split into separate strings according to the specified separator <<.place S>>; duplicates are <<.em not>> removed\ntags: [[Filter Operators]]\ntitle: split Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.20\">>\n\nNote that in some circumstances the <<.op split>> operator will include blank items in the list of results. For example, \n\n```\n[[the band thethe are the best the]split[the]]\n```\n\nThe following results are returned:\n\n```\n[\"\", \" band \", \"\", \" are \", \" best \", \"\"]\n```\n\nWhere it might be expected that the results would be:\n\n```\n[\" band \", \" are \", \" best \"]\n```\n\nThe blank items mark the boundaries between matches. If they are not required they can be removed with the ''blank'' category of the [[is Operator]]: `[[the band thethe are the best the]split[the]!is[blank]]`.\n\nThe reason that the blank items can be useful is that they allow search and replace operations to be constructed from a combination of the [[split Operator]] or [[splitregexp Operator]] and the [[join Operator]]. For example:\n\n<<.operator-example 1 \"[[the band thethe are the best the]split[the]join[every]]\">>\n\n<<.operator-examples \"split\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/splitbefore.tid",
    "content": "created: 20150126142522000\nmodified: 20150221193759000\ntags: [[Filter Operators]] [[String Operators]]\ntitle: splitbefore Operator\ntype: text/vnd.tiddlywiki\ncaption: splitbefore\nop-purpose: select a delimited prefix from each input title\nop-input: a [[selection of titles|Title Selection]]\nop-parameter: a string of characters marking the end of the prefix\nop-parameter-name: S\nop-output: the prefix, up to and including <<.place S>>, of each input title\n\nEach input title is processed in turn.\n\n* A title that contains <<.place S>> contributes everything up to and including <<.place S>>.\n* A title that doesn't contain <<.place S>> simply contributes itself to the output.\n\nContributions are [[dominantly appended|Dominant Append]] to the output.\n\nThe [[table-of-contents macros|Table-of-Contents Macros]] use this operator with `/` as the parameter.\n\n<<.operator-examples \"splitbefore\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/splitregexp Operator.tid",
    "content": "caption: splitregexp\ncreated: 20190613154722705\nmodified: 20240606113433618\nop-input: a [[selection of titles|Title Selection]]\nop-output: the input titles split into separate items according to the specified regular expression <<.place R>>\nop-parameter: The regular expression at which to split each title\nop-parameter-name: R\nop-purpose: returns each item in the list split into separate strings according to the specified regular expression <<.place R>>\nop-suffix: flags: ''m'' for multiline mode, ''i'' for case-insensitive mode\ntags: [[Filter Operators]]\ntitle: splitregexp Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.20\">>\n\n<<.note \"\"\"... that in some circumstances the <<.op splitregexp>> operator will include blank items in the list of results. For example, \"\"\">>\n\n```\n[[the band thethe are the best the]splitregexp[the]]\n```\n\nThe following results are returned:\n\n```\n[\"\", \" band \", \"\", \" are \", \" best \", \"\"]\n```\n\nWhere it might be expected that the results would be:\n\n```\n[\" band \", \" are \", \" best \"]\n```\n\nThe blank items mark the boundaries between matches. If they are not required they can be removed with the ''blank'' category of the [[is Operator]]: `[[the band thethe are the best the]splitregexp[the]!is[blank]]`.\n\nThe reason that the blank items can be useful is that they allow search and replace operations to be constructed from a combination of the [[split Operator]] or [[splitregexp Operator]] and the [[join Operator]]. For example:\n\n<<.operator-example 1 \"[[nobody, really; wants; to see -- all this \\punctuation]splitregexp[,|;|-|\\\\]join[...]]\">>\n\nSyntax errors in the regular expression will cause the filter to return an error message. For example:\n\n<<.operator-example 2 \"[[the cat sat on the mat]splitregexp[\\]]\">>\n\n<<.operator-examples \"splitregexp\">>\n\n----\n\nThe <<.op splitregexp>> operator is intended to be used as described above. If the `regexp` contains //capture groups// those groups will be included into the output.\n\n<<.bad-example \"\"\"```\n\\procedure re() (color)|(colour)ed\n\\procedure str() Some coloured text\n{{{ [<str>splitregexp<re>join[, ]] }}}\n```\"\"\">>\n\nSomewhat more useful may be this code. \n\n```\n\\procedure re() (colou?red)\n\\procedure str() Some coloured text\n{{{ [<str>splitregexp<re>join[, ]] }}}\n```"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/standard-deviation Operator.tid",
    "content": "caption: standard-deviation\ncreated: 20210426130150358\nmodified: 20210426131553530\nop-input: a [[selection of titles|Title Selection]]\nop-output: the standard-deviation of the input as numbers\nop-purpose: treating each input title as a number, compute their standard-deviation\ntags: [[Reducing Mathematics Operators]] [[Filter Operators]] [[Mathematics Operators]]\ntitle: standard-deviation Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.2.0\">> See [[Mathematics Operators]] for an overview.\n\n<<.tip \"\"\" The `standard-deviation` operator treats the input as a complete population and not a sample\"\"\">>\n\n<<.operator-examples \"standard-deviation\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/storyviews.tid",
    "content": "created: 20150126141718000\nmodified: 20150203191420000\ntags: [[Filter Operators]] [[Special Operators]] [[Selection Constructors]]\ntitle: storyviews Operator\ntype: text/vnd.tiddlywiki\ncaption: storyviews\nop-purpose: select the names of all the story views\nop-input: ignored\nop-parameter: none\nop-output: the name of each story view\n\nThe names are those exported by [[modules|Modules]] whose <<.field module-type>> is <<.value storyview>>.\n\n<<.operator-examples \"storyviews\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/stringify_Operator.tid",
    "content": "caption: stringify\ncreated: 20161017153038029\nfrom-version: 5.1.14\nmodified: 20230922121406947\nop-input: a [[selection of titles|Title Selection]]\nop-output: the input with ~JavaScript string encodings applied\nop-parameter: \nop-parameter-name: \nop-purpose: apply ~JavaScript string encoding to a string, see also the similar <<.olink jsonstringify>>\nop-suffix: <<.from-version \"5.1.23\">> optionally, the keyword `rawunicode`\nop-suffix-name: R\ntags: [[Filter Operators]] [[String Operators]]\ntitle: stringify Operator\ntype: text/vnd.tiddlywiki\n\nThe following substitutions are made:\n\n|!Character |!Replacement |!Condition |\n|`\\` |`\\\\` |Always |\n|`\"` |`\\\"` |Always |\n|`'` |`\\'` |Always |\n|Line feed (0x0a) |`\\n` |Always |\n|Carriage return (0x0d) |`\\r` |Always |\n|Characters from 0x00 to 0x1f, except listed above |`\\x##` where ## is two hex digits |Always |\n|Characters from 0x80 to 0xffff|`\\u####` where #### is four hex digits |If `rawunicode` suffix is not present (default) |\n|Characters from 0x80 to 0xffff|<<.from-version \"5.1.23\">> Unchanged |If `rawunicode` suffix is present |\n\n<<.from-version \"5.1.23\">> If the suffix `rawunicode` is present, Unicode characters above 0x80 (such as ß, ä, ñ or 🎄) will be passed through unchanged. Without the suffix, they will be substituted with `\\u` codes, which was the default behavior before 5.1.23. Characters outside the Basic Multilingual Plane, such as 🎄 and other emojis, will be encoded as a UTF-16 surrogate pair, i.e. with two `\\u` sequences.\n\n<<.note \"\"\"Mind the differences compared to <<.olink jsonstringify>> in encoding of single quotes and control characters (0x00 to 0x1f).\n\"\"\">>\n\n<<.operator-examples \"stringify\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/subfilter Operator.tid",
    "content": "caption: subfilter\ncreated: 20181031175129475\nmodified: 20211217135706478\nop-input: a [[selection of titles|Title Selection]] passed as input to the subfilter\nop-neg-input: a [[selection of titles|Title Selection]] passed as input to the subfilter\nop-neg-output: those input titles that are <<.em not>> returned from the subfilter  <<.place S>>\nop-output: the [[selection of titles|Title Selection]] returned from the subfilter <<.place S>>\nop-parameter: a [[filter expression|Filter Expression]]\nop-parameter-name: S\nop-purpose: select titles from the parameter interpreted as a [[filter expression|Filter Expression]]\ntags: [[Filter Operators]] [[Field Operators]] [[Selection Constructors]] [[Negatable Operators]] [[Selection Constructors: Conditional]]\ntitle: subfilter Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.18\">> Note that the <<.op subfilter>> operator was introduced in version 5.1.18 and is not available in earlier versions.\n\n<<.tip \" Literal filter parameters cannot contain square brackets but you can work around the issue by using a variable:\">>\n\n```\n<$set name=\"myFilter\" value=\"[tag[one]]\">\n<$list filter=\"[all[tiddlers]subfilter<myFilter>]\">\n...\n```\n\n<<.tip \"Compare with the similar [[filter|filter Operator]] operator which runs a subfilter against each title, returning those titles that return a non-empty list (and discards the results of the subfilter)\">>\n\nThe <<.op subfilter>> operator will act as a [[constructor|Selection Constructors]] whenever the filter defined by its parameter is a [[constructor|Selection Constructors]]. Otherwise, it will act as a [[modifier|Selection Constructors]].\n\n<<.operator-examples \"subfilter\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/substitute Operator.tid",
    "content": "caption: substitute\ncreated: 20230614223551834\nmodified: 20251021124124967\nop-input: a [[selection of titles|Title Selection]]\nop-output: the input titles with placeholders for filter expressions, parameter and variables replaced with their corresponding values\nop-parameter: the <<.op substitute>> operator optionally accepts a variable number of parameters, see below for details\nop-purpose: returns each item in the list, replacing within each title placeholders for filters, parameters and variables with their corresponding values\ntags: [[Filter Operators]] [[String Operators]]\ntitle: substitute Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.3.0\">>\n\nThe <<.op substitute>> operator replaces any placeholders in the input titles in the following order:\n\n# filter expressions\n# parameters to the <<.op substitute>> operator\n# variables\n\n|placeholder syntax|description|h\n|`$n$`|Text substitution of a parameter provided to the operator, where n is the position of the parameter starting with 1 for the first parameter.<br>Unmatched placeholders pass through unchanged. |\n|`$(varname)$`|Text substitution of a variable. Undefined variables are replaced with an empty string. |\n|`${ filter expression }$`|Text substitution of the first result of evaluating a filter expression. In other words, if the filter returns multiple titles only the first one will be used. |\n\n<<.tip \"\"\"Placeholders that contain square bracket characters are not valid filter syntax when used directly in a filter expression. However they can be provided as input to the <$macrocall $name=\".op\" _=\"substitute\"/> operator as text references or variables\"\"\">>\n\n<<.operator-examples \"substitute\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/subtiddlerfields Operator.tid",
    "content": "caption: subtiddlerfields\ncreated: 20180403164138703\nmodified: 20180403164644231\nop-input: a [[selection|Title Selection]] of tiddler titles\nop-output: all field names present in the selected tiddlers within the plugin named <<.place P>>\nop-parameter: the title of a plugin\nop-parameter-name: P\nop-purpose: select all fields present in the selected tiddlers within a plugin\ntags: [[Filter Operators]] [[Special Operators]]\ntitle: subtiddlerfields Operator\ntype: text/vnd.tiddlywiki\n\n<<.operator-examples \"subtiddlerfields\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/subtract Operator.tid",
    "content": "caption: subtract\ncreated: 20190611125542096\nmodified: 20190611125616692\nop-input: a [[selection of titles|Title Selection]]\nop-output: the input as numbers, but with <<.place N>> subtracted from each one\nop-parameter: a number\nop-parameter-name: N\nop-purpose: treating each input title as a number, subtract from each the numeric value of the parameter\ntags: [[Filter Operators]] [[Mathematics Operators]] [[Binary Mathematics Operators]]\ntitle: subtract Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.20\">> See [[Mathematics Operators]] for an overview.\n\n<<.operator-examples \"subtract\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/suffix.tid",
    "content": "caption: suffix\ncreated: 20140828133830424\nmodified: 20230711083049169\nop-input: a [[selection of titles|Title Selection]]\nop-neg-output: those input tiddlers that do <<.em not>> end with <<.place S>>\nop-output: those input titles that end with <<.place S>>\nop-parameter: a string of characters\nop-parameter-name: S\nop-purpose: filter the input titles by how they end\nop-suffix: the <<.op suffix>> operator uses a rich suffix, see below for details\ntags: [[Filter Operators]] [[String Operators]] [[Negatable Operators]]\ntitle: suffix Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.2.2\">>\n\nThe <<.op suffix>> operator uses an extended syntax that permits multiple flags to be passed:\n\n```\n[suffix:<flag list>[<parameter>]]\n```\n\n* ''flag list'': a comma delimited list of flags\n\nThe available flags are:\n\n* ''casesensitive'': (default), this flag forces a case-sensitive match, where upper and lower case letters are considered different\n* ''caseinsensitive'': overrides the default so that upper and lower case letters are considered identical for matching purposes\n\n<<.operator-examples \"suffix\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/sum Operator.tid",
    "content": "caption: sum\ncreated: 20190611155400623\nmodified: 20190611155953322\nop-input: a [[selection of titles|Title Selection]]\nop-output: the result of adding together the input as numbers\nop-purpose: produce the sum of the input numbers\ntags: [[Reducing Mathematics Operators]] [[Filter Operators]] [[Mathematics Operators]]\ntitle: sum Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.20\">> See [[Mathematics Operators]] for an overview.\n\n<<.operator-examples \"sum\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/syntax/All Filter Run Prefix.tid",
    "content": "created: 20230316150731234\nfrom-version: 5.1.23\nmodified: 20230711084644541\nrp-input: all titles from previous filter runs\nrp-output: output titles are appended to the output of previous filter runs without de-duplication.\nrp-purpose: union of sets without de-duplication\ntags: [[Named Filter Run Prefix]]\ntitle: All Filter Run Prefix\ntype: text/vnd.tiddlywiki\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n( \":all\" | - )\n[[run|\"Filter Run\"]]\n\"\"\"/>\n\nThis prefix has an optional [[shortcut syntax|Shortcut Filter Run Prefix]] symbol `=run`"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/syntax/And Filter Run Prefix.tid",
    "content": "created: 20230318142752854\nfrom-version: 5.1.23\nmodified: 20230711084712170\nop-purpose: accumulation of filter steps\nrp-input: the filter output of all previous runs so far\nrp-output: output titles replace the output of previous filter runs\ntags: [[Named Filter Run Prefix]]\ntitle: And Filter Run Prefix\ntype: text/vnd.tiddlywiki\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n( \":and\" | - )\n[[run|\"Filter Run\"]]\n\"\"\"/>\n\nThis prefix has an optional [[shortcut syntax|Shortcut Filter Run Prefix]] symbol `+run`"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/syntax/Cascade Filter Run Prefix (Examples).tid",
    "content": "created: 20211130114857532\nfilter1: [prefix[ca]then[ca]]\nfilter2: [suffix[at]then[at]]\nfilter3: other\nmodified: 20230305125250563\ntags: [[Cascade Filter Run Prefix]]\ntitle: Cascade Filter Run Prefix (Examples)\ntype: text/vnd.tiddlywiki\n\nThe <<.op \":cascade\">> filter run prefix is used by the ~TiddlyWiki core to choose the colour for each tiddler as used in the tag pill generated by the tag macro.\n\n`:cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerColourFilter]!is[draft]get[text]]`\n\nThe filter expression inside the above <<.op :cascade>> filter run returns a list of filters from the text fields of tiddlers tagged <<tag $:/tags/TiddlerColourFilter>> as shown below:\n\n<ul>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TiddlerColourFilter]!is[draft]get[text]]\">\n<li><pre><$text text=<<currentTiddler>>/></pre></li>\n</$list>\n</ul>\n\nFor each input title, each of these filters is now applied to in turn until the first filter that returns a non-empty list. The first result from this non-empty list replaces that input title and is used as the colour for that tiddler.\n\n<<.operator-example 1 \"\"\"[all[shadows+tiddlers]] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerColourFilter]!is[draft]get[text]] +[!is[blank]limit[10]]\"\"\">>\n\n!! Extended example\n\nThis example illustrates step-by-step how the <<.op :cascade>> filter run works.\n\nA filter expression whose output returns a list of filters is required. Typically such a filter expression will construct the list of filters by querying some field in a set of tiddlers (likely via tag). To keep this example self-contained, 3 filters are stored in the //filter1//, //filter2// and //filter3// fields of this tiddler. [[Text references|TextReference]] and instances of the [[append operator|append Operator]] are used to combine the fields into a list of filters.\n\nThe filter `[{!!filter1}append{!!filter2}append{!!filter3}]`, generates this list of filters:\n\n<ul>\n<$list filter=\"[{!!filter1}append{!!filter2}append{!!filter3}]\">\n<li><pre><$text text=<<currentTiddler>>/></pre></li>\n</$list>\n</ul>\n\nFor this example, `cat can bat bug` will be used as the input titles. Each input title will be evaluated by <<.op :cascade>> against each of the above filters in turn. To help understand what <<.op :cascade>> sees internally, the following table uses the [[Map Filter Run Prefix]] to show the result of each individual filter.\n\n|^<<.operator-example c1.1 \"cat can bat bug :map[prefix[ca]then[ca]]\">>|^<<.operator-example c1.2 \"cat can bat bug :map[suffix[at]then[at]]\">>|^<<.operator-example c1.3 \"cat can bat bug :map[[other]]\">>|\n\nClick \"Try it\" on the above 3 examples. The first non-blank value from each row as read from left to right will be returned when <<.op :cascade>> is used. Click \"Try it\" below to see the final result:\n \n<<.operator-example c1.4 \"cat can bat bug :cascade[{!!filter1}append{!!filter2}append{!!filter3}]\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/syntax/Cascade Filter Run Prefix.tid",
    "content": "created: 20211130114043280\nfrom-version: 5.2.1\nmodified: 20230710073343947\nrp-input: the filter output of all previous runs so far\nrp-output: the input titles as modified by the filters returned by this filter run\nrp-purpose: modify input titles by successively evaluating a list of filters and applying the first result\ntags: [[Named Filter Run Prefix]]\ntitle: Cascade Filter Run Prefix\ntype: text/vnd.tiddlywiki\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n( \":cascade\" | - )\n[[run|\"Filter Run\"]]\n\"\"\"/>\n\nThe [[filter expression|Filter Expression]] for this [[filter run|Filter Run]] is evaluated to return a list of filters. Each input title is then evaluated against each of the filters in turn, and the input title is replaced with the first result of the first filter that returns a non-empty list. If none of the filters return a result for an input title, it is replaced with an empty string.\n\nThe following variables are available within the filter run:\n\n* <<.var currentTiddler>> - the input title\n* <<.var ..currentTiddler>> - the value of the variable <<.var currentTiddler>> outside the filter run.\n\n[[Cascade Filter Run Prefix (Examples)]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/syntax/Else Filter Run Prefix.tid",
    "content": "created: 20230318142408662\nfrom-version: 5.1.23\nmodified: 20230322140756821\nrp-input: all titles from previous filter runs\nrp-output: if the filter output so far is an empty list then the output titles of the run are [[dominantly appended|Dominant Append]] to the filter's output.<br>if the filter output so far is not an empty list then the run is ignored.\nrp-purpose: the filter run is only evaluated if the filter output of all previous runs so far is an empty list\ntags: [[Named Filter Run Prefix]]\ntitle: Else Filter Run Prefix\ntype: text/vnd.tiddlywiki\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n( \":else\" | - )\n[[run|\"Filter Run\"]]\n\"\"\"/>\n\nThis prefix has a [[Shortcut Filter Run Prefix]] symbol `~run`\n\nAlso see: [[Then Filter Run Prefix]] | [[then Operator]] and [[else Operator]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/syntax/Except Filter Run Prefix.tid",
    "content": "created: 20230318142056008\nfrom-version: 5.1.23\nmodified: 20230322140643066\nrp-input: all titles from previous filter runs\nrp-output: output titles are removed from the filter's output (if such tiddlers exist)\nrp-purpose: if output titles of this filter run are contained in the output of previous filter runs, they are removed, and otherwise ignored\ntags: [[Named Filter Run Prefix]]\ntitle: Except Filter Run Prefix\ntype: text/vnd.tiddlywiki\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n( \":except\" | - )\n[[run|\"Filter Run\"]]\n\"\"\"/>\n\nThis prefix has a [[Shortcut Filter Run Prefix]] symbol `-run`"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/syntax/Filter Expression.tid",
    "content": "created: 20150124182421000\nmodified: 20230710074507466\ntags: [[Filter Syntax]]\ntitle: Filter Expression\ntype: text/vnd.tiddlywiki\n\nA <<.def \"filter expression\">> is the outermost level of the [[filter syntax|Filter Syntax]]. It consists of [[filter runs|Filter Run]] with optional [[filter run prefixes|Filter Run Prefix]]. Multiple filter runs are separated by [[whitespace|Filter Whitespace]].\n\n<$railroad text=\"\"\"\n{ (\n    - |\n    : [[<\"prefix\">|\"Filter Run Prefix\"]]\n  )\n  [[run|\"Filter Run\"]]\n  +  [[whitespace|\"Filter Whitespace\"]]\n}\n\"\"\"/>\n\n<<.tip \"\"\"If the diagram has a single start and end line, as shown above, it means there is more info in the linked level above. The breadcrumbs can be used to navigate\"\"\">>\n\n<<.tip \"\"\"If the diagram has no start and no end, as used in lower levels, it means that higher level syntax elements have been removed, to increase readability and simplicity. The breadcrumbs can be used to navigate\"\"\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/syntax/Filter Filter Run Prefix (Examples).tid",
    "content": "created: 20211129022707404\nmodified: 20230305125338118\ntags: [[Filter Filter Run Prefix]]\ntitle: Filter Filter Run Prefix (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"[tag[HelloThere]] :filter[get[text]length[]compare:integer:gteq[1000]]\">>\n<<.operator-example 2 \"[tag[HelloThere]] :filter[get[text]length[]compare:integer:lteq[2000]]\">>\n<<.operator-example 3 \"[tag[HelloThere]] :filter[get[text]length[]compare:integer:gteq[1000]] :filter[get[text]length[]compare:integer:lteq[2000]]\">>\n<<.operator-example 4 \"[tag[Features]] :filter[links[]!is[shadow]is[missing]]\">>\n\n<<.operator-example 5 \"A B C D E F :filter[<index>remainder[2]compare:integer:eq[0]]\" \"Return every other element of the input list\">>\n\n<<.operator-example 6 \"[tag[shopping]] :filter[{!!quantity}compare:integer:gt[4]] :map[addprefix[ ]addprefix{!!quantity}]\">>\n<<.operator-example 7 \"[tag[shopping]] :filter[{!!quantity}compare:integer:lteq[4]] :map[addprefix[ ]addprefix{!!quantity}]\">>\n\n!! Comparison between `:filter` and `:and`/`+` filter run prefixes\n\nThe functionality of the <<.op :filter>> filter run prefix has some overlap with the <<.op :and>> prefix (alias <<.op +>>). Notice the filter expressions above all have the following two properties:\n\n# The start of the filter expression transforms the input titles (i.e. `get[text]length[]`, `links[]`, `<index>remainder[2]`, `{!!quantity}`.\n# The end of the filter expression only sends input items to the output if they meet some condition (i.e. `compare`, `is`).\n\nThe purpose of the <<.op :filter>> prefix is to return the original input titles despite property #1 causing those input titles to be transformed. That way, the \"meet some condition\" check can be performed on something other than the original input. If some filter expression does not require property #1, then the <<.op :and>> prefix can be used instead.\n\n| <<.op :filter>> | <<.op :and>> |\n|^<<.operator-example c1.1 \"[tag[HelloThere]] :filter[get[text]length[]compare:integer:gteq[1000]]\">>|^<<.operator-example c1.2 \"[tag[HelloThere]] :and[get[text]length[]compare:integer:gteq[1000]]\">>|\n|^<<.operator-example c2.1 \"[tag[Features]] :filter[links[]!is[shadow]is[missing]]\">>|^<<.operator-example c2.2 \"[tag[Features]] :and[links[]!is[shadow]is[missing]]\">>|\n|!results are the same|<|\n|^<<.operator-example c3.1 \"cat can bat bug :filter[suffix[at]minlength[3]]\">>|^<<.operator-example c3.2 \"cat can bat bug :and[suffix[at]minlength[3]]\">>|"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/syntax/Filter Filter Run Prefix.tid",
    "content": "created: 20211129022455873\nfrom-version: 5.1.23\nmodified: 20230710073334078\nrp-input: the filter output of all previous runs so far\nrp-output: the input titles for which the filter run is not empty\nrp-purpose: remove every input title for which the filter run output is an empty list\ntags: [[Named Filter Run Prefix]]\ntitle: Filter Filter Run Prefix\ntype: text/vnd.tiddlywiki\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n( \":filter\" | - )\n[[run|\"Filter Run\"]]\n\"\"\"/>\n\nIt receives the filter output so far as its input. The next run is evaluated for each title of the input, removing every input title for which the output is an empty list.\n\nNote that within the filter run, the <<.var currentTiddler>> variable is set to the title of the tiddler being processed. This permits filter runs like `:filter[{!!price}multiply{!!cost}compare:integer:gteq[5]]` to be used for computation. The value of currentTiddler outside the run is available in the variable <<.var ..currentTiddler>>.\n\nThe following variables are available within the filter run:\n\n* <<.var currentTiddler>> - the input title\n* <<.var ..currentTiddler>> - the value of the variable `currentTiddler` outside the filter run.\n* <<.var index>> - <<.from-version \"5.2.1\">> the numeric index of the current list item (with zero being the first item in the list).\n* <<.var revIndex>> - <<.from-version \"5.2.1\">> the reverse numeric index of the current list item (with zero being the last item in the list).\n* <<.var length>> - <<.from-version \"5.2.1\">> the total length of the input list.\n\n<<.tip \"Compare named filter run prefix `:filter` with [[filter Operator]] which applies a subfilter to every input title, removing the titles that return an empty result from the subfilter\">>\n\n[[Filter Filter Run Prefix (Examples)]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/syntax/Filter Parameter.tid",
    "content": "created: 20150220152540000\nmodified: 20240708202234843\ntags: [[Filter Step]]\ntitle: Filter Parameter\ntype: text/vnd.tiddlywiki\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n( \"[\" [: <-\"hard\"-> /\"anything but ]\"/] \"]\"\n  |\n  \"{\" [: <-\"indirect\"-> /\"anything but }\"/] \"}\"\n  |\n  \"<\" [: <-\"variable\"-> /\"anything but >\"/] \">\"\n)\n\"\"\"/>\n\nThe parameter to a [[filter operator|Filter Operators]] can be:\n\n;<<.def hard>>\n: `[like this]`\n: The parameter is the exact text that appears between the square brackets.\n;<<.def soft>>\n: <<.def indirect>>\n:: `{like this}`\n:: The parameter is the text indicated by the [[text reference|TextReference]] whose name appears between the curly brackets, i.e. a [[field|TiddlerFields]] of a specified tiddler, or the value of a property of a specified [[data tiddler|DataTiddlers]].\n: <<.def variable>>\n:: `<like this>`\n:: The parameter is the current value of the [[variable|Variables]] whose name appears between the angle brackets. Macro parameters are <<.em not>> supported up to v5.2.0\n::<<.from-version \"5.2.0\">> Literal macro parameters are supported. For example: `[<now [UTC]YYYY0MM0DD0hh0mm0ssXXX>]`.\n\n<<.note \"\"\"Every [[filter Operator]] must be followed by a parameter expression. In the case of [[Operators without parameters]], that expression is empty, as with the filter Operator <<.olink links>> in `[<currentTiddler>links[]]`.\"\"\">>\n\n---\n\n<<.from-version \"5.1.23\">>  [[Filter Step]]s support multiple parameters which are separated by a `,` character.\n\nFor example: `[param1],[param2]` or `<param1>,{param2}`\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/syntax/Filter Run Prefix (Examples).tid",
    "content": "created: 20201117073343969\nmodified: 20230315152812472\ntags:\ntitle: Filter Run Prefix (Examples)\ntype: text/vnd.tiddlywiki\n\n!! `:filter` examples\n\nSee [[Filter Filter Run Prefix (Examples)]]\n\n!! `:intersection` examples\n\nSee [[Intersection Filter Run Prefix (Examples)]]\n\n!! `:reduce` examples\n\nSee [[Reduce Filter Run Prefix (Examples)]]\n\n!! `:sort` examples\n\nSee [[Sort Filter Run Prefix (Examples)]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/syntax/Filter Run Prefix.tid",
    "content": "created: 20230305130600148\nmodified: 20230711090913687\ntags: [[Filter Expression]]\ntitle: Filter Run Prefix\ntype: text/vnd.tiddlywiki\n\nThere are 2 types of filter run prefixes that are interchangeable; [[named prefixes|Named Filter Run Prefix]] and [[shortcut prefixes|Shortcut Filter Run Prefix]]. \n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n(\n   - |\n:  [[<\":named prefix\"> /\"starting with v5.1.23\"/ |\"Named Filter Run Prefix\"]] | \n   [[<\"shortcut prefix\"> /\"prior to v5.1.23\"/ |\"Shortcut Filter Run Prefix\"]]\n)\n[[run|\"Filter Run\"]]\n\"\"\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/syntax/Filter Run.tid",
    "content": "created: 20150124182117000\nmodified: 20230710074357002\ntags: [[Filter Expression]]\ntitle: Filter Run\ntype: text/vnd.tiddlywiki\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n( \"[\" { [[<\"Filter Step\">|\"Filter Step\"]] } \"]\"\n  |\n  [:{/\"anything but [ ] or whitespace\"/}]\n  |\n  '\"' [:{/'anything but \"'/}] '\"'\n  |\n  \"'\" [:{/\"anything but '\"/}] \"'\"\n)\n\"\"\"/>\n\nA <<.def run>> consists of [[steps|Filter Step]], and it outputs a [[selection|Title Selection]] that contributes to a larger [[filter expression|Filter Expression]].\n\nThe steps are processed from left to right. The input to the first step is same as the input to the run. For each subsequent step, the input is the output of the previous step.\n\n\nThe lower three options in the diagram match syntax like `HelloThere`, `\"HelloThere\"`, `'HelloThere'` and `\"Filter Operators\"`. They are short for `[title[...]]`.\n\nThe quoted options exist to support titles that contain square brackets, as in `\"An [[[[Unusual]]]] Tiddler\"`.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/syntax/Filter Step.tid",
    "content": "created: 20150124182127000\nmodified: 20250731101041336\ntags: [[Filter Run]]\ntitle: Filter Step\ntype: text/vnd.tiddlywiki\n\nA <<.def \"filter step\">> represents a single operation within a <<.def \"filter run\">>.\n\nIn programming terms, it is akin to a function call to which the step's input is passed as a parameter. A step's output is a [[title selection|Title Selection]] that contributes to a [[filter run|Filter Run]] and hence to the entire [[filter expression|Filter Expression]] that contains it.\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n[\"!\"]\n( / \"if omitted, defaults to: title\" /|:\n( :[[operator|\"Filter Operators\"]] )\n[ {\":\" [: [[suffix|\"Filter Operators\"]] ] }] )\n{ [[parameter|\"Filter Parameter\"]] + \",\" }\n\"\"\"/>\n\nThe step's <<.def operator>> is drawn from a list of predefined keywoards which are known as [[filter operators|Filter Operators]].\n\nMany steps require an explicit <<.def parameter>>, that further defines what the step is to do. \n\nThe <<.def suffix>> is additional text, often the name of a [[field|TiddlerFields]], that extends the meaning of certain operators.\n\nIf a step's <<.def operator>> and <<.def suffix>> are //omitted// altogether, it defaults to the [[title|title Operator]] operator.\n\n<<.from-version \"5.1.23\">> Some steps accept multiple <<.def parameter>>s which are separated by a `,` character.\n\nAny unrecognised operator is treated as if it was the suffix to the <<.olink field>> operator. \n\nFilter operators can be extended by plugins.\n\n{{Selection Constructors}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/syntax/Filter Syntax.tid",
    "content": "created: 20140210141217955\nlist: [[Filter Expression]] [[Filter Run]] [[Filter Step]] [[Filter Parameter]] [[Filter Whitespace]]\nmodified: 20230710074340943\ntags: Filters\ntitle: Filter Syntax\ntype: text/vnd.tiddlywiki\n\n<<.preamble \"\"\"[[Filters]] follow a grammar that is presented here, using [[railroad diagrams|Railroad Diagrams]], for those who find formal syntax descriptions helpful. However, you can [[learn to write filters|Introduction to filter notation]] without needing to understand this group of tiddlers.\"\"\">>\n\nA <<.def filter>> is a pipeline for transforming an <<.def input>> into an <<.def output>>. Both the input and the output are [[ordered sets of titles|Title Selection]] of tiddlers and fields.\n\nFilters are ''expressions'' constructed from smaller building blocks, called ''runs'', which are built using ''steps''. Each of which also transforms an input to an output.\n\nA filter starts with an empty output. Its runs are processed from left to right, progressively modifying the output.\n\nThe \"Filter Syntax\" description starts with:\n\n<$railroad text=\"\"\"\n\\start double\n\\end double\n[[<\"Filter Expression\">|\"Filter Expression\"]]\n\"\"\"/>\n\n<<.tip \"The railroad boxes as the one above can be used to navigate\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/syntax/Filter Whitespace.tid",
    "content": "created: 20150124182304000\nmodified: 20230710074447240\ntags: [[Filter Expression]]\ntitle: Filter Whitespace\ntype: text/vnd.tiddlywiki\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n{( \"space\" | \"tab\" | \"linefeed\" | \"return\" | \"vertical tab\" | \"formfeed\" )}\n\"\"\"/>\n\nWhitespace characters can appear between each run of a [[filter expression|Filter Expression]].\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/syntax/Interchangeable Filter Run Prefixes.tid",
    "content": "created: 20230316151518640\nmodified: 20230327130626715\ntags: [[Filter Run Prefix]]\ntitle: Interchangeable Filter Run Prefixes\ntype: text/vnd.tiddlywiki\n\n!! Interchangeable Filter Run Prefixes\n\nIn technical / logical terms:\n\n|!Run |!Equivalent named prefix |!Interpretation |!Output |\n|`[run]` |`:or[run]` |de-duplicated union of sets |... OR run |\n|`+[run]` |`:and[run]` |accumulation of filter steps |... AND run |\n|`-[run]` |`:except[run]` |difference of sets |... AND NOT run |\n|`~[run]` |`:else[run]` |else |... ELSE run |\n|`=[run]` |`:all[run]` |union of sets without de-duplication |... OR run |\n|`=>[run]` |`:let[run]` |<<.from-version \"5.4.0\">> assign results to a variable |... LET run |\n\nThe input of a run is normally a list of all the non-[[shadow|ShadowTiddlers]] tiddler titles in the wiki (in no particular order).<br>But the `+` prefix can change this:\n\n|Prefix|Input|h\n|`-`, `~`, `=`, `:intersection` or none| <$link to=\"all Operator\">`[all[]]`</$link> tiddler titles, unless otherwise determined by the first [[filter operator|Filter Operators]]|\n|`+`, `:filter`,  `:map`, `:reduce`,`:sort` |the filter output of all previous runs so far|\n\nPrecisely because of varying inputs, be aware that both prefixes `-` and `+` do not behave inverse to one another!\n\nFor example, in both of the following, `$:/baz` will only be removed if it actually exists:\n\n* <$link to=\"is Operator\"> `foo bar $:/baz -[is[system]]`</$link>\n* <$link to=\"prefix Operator\">`foo bar $:/baz -[prefix[$:/]]`</$link>\n\nTo understand why, consider the input for both final runs with their `-` prefix.\n\nIn order to remove `$:/baz` in any case, existing or not, simply use the `+` prefix with [[negated filter operators|Filter Operators]]:\n\n* <$link to=\"is Operator\">`foo bar $:/baz +[!is[system]]`</$link>\n* <$link to=\"prefix Operator\">`foo bar $:/baz +[!prefix[$:/]]`</$link>\n\n!! Difference between + and intersection\n\nFor the difference between `+` and `:intersection`, see [[Intersection Filter Run Prefix (Examples)]].\n\n!! For Developers\n\nTo create a new filter run prefix, create a [[Javascript module|Modules]] with a [[module-type|ModuleType]] of `filterrunprefix`.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/syntax/Intersection Filter Run Prefix (Examples).tid",
    "content": "created: 20211128212902292\nmodified: 20230305125354209\ntags: [[Intersection Filter Run Prefix]]\ntitle: Intersection Filter Run Prefix (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"A B C D :intersection[enlist[C D E F]]\">>\n\n<<.operator-example 2 \"A B C D :intersection[enlist[A B C D]]\">>\n\n<<.operator-example 3 \"A B C D :intersection[enlist[E F G H]]\">>\n\n<<.operator-example 4 \":intersection[enlist[A B C D]]\" \"Using intersection in the first filter run is of little use. The result will always be empty.\">>\n\n!! Difference between `+` and `:intersection`\n\nThe `+` prefix should be thought of as an \"AND\" in formal logic, e.g. \"give me all titles that satisfy condition A ''and'' condition B\". But it's not suitable for all cases; if condition B uses a filter operator that replaces its input, then it will be difficult to use the `+` prefix. For example, if you wanted to find out what tags two tiddlers have in common, you might try to write a filter expression like:\n\n* <$link to=\"tags Operator\">`[[field Operator]tags[]] +[[compare Operator]tags[]]`</$link>\n\nBut that won't work, because the second filter run will end up throwing away its input and replacing it with an input consisting of the single title `[[compare Operator]]`. So the result you'd get from that filter expression would be just the tags of the `compare Operator` tiddler.\n\nFor cases like this, the `:intersection` prefix is what you need. It takes the filter output so far, //sets it aside//, and starts the next filter run with all tiddler titles as input. Then once the latest filter run has completed, it takes the latest output, compares it to the set-aside output, and produces a new output that contains only titles that appeared in both the set-aside output and the latest output. So to get only the tags that the `field Operator` and `compare Operator` tiddlers have in common, you would write a filter expression like this:\n\n* <$link to=\"tags Operator\">`[[field Operator]tags[]] :intersection[[compare Operator]tags[]]`</$link>\n\nThe following examples use the [[field Operator]] and [[compare Operator]] tiddlers and their respective tags.\n\n<<.operator-example 5 \"[[field Operator]tags[]]\">>\n<<.operator-example 6 \"[[compare Operator]tags[]]\">>\n\n<<.operator-example 7 \"[[field Operator]tags[]] +[[compare Operator]tags[]]\" \"\"\"The \"field Operator\" tiddler's tags are lost, so only the \"compare Operator\" tiddler's tags are returned\"\"\">>\n\n<<.operator-example 8 \"[[field Operator]tags[]] :intersection[[compare Operator]tags[]]\" \"\"\"Returns the tags that both tiddlers have in common\"\"\">>\n\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/syntax/Intersection Filter Run Prefix.tid",
    "content": "created: 20211128212902292\nfrom-version: 5.1.23\nmodified: 20230710073322863\nrp-input: all titles from previous filter runs\nrp-output: the titles that are present in both the result of this filter run and the output from previous runs\nrp-purpose: find the intersection of titles from previous runs with titles in this filter\ntags: [[Named Filter Run Prefix]]\ntitle: Intersection Filter Run Prefix\ntype: text/vnd.tiddlywiki\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n( \":intersection\" | - )\n[[run|\"Filter Run\"]]\n\"\"\"/>\n\nThe filter output from previous runs is set aside. The `:intersection` filter run is started with all tiddler titles as input. Once this latest filter run has completed, the latest output is compared to the set-aside output. A new output is produced that contains only titles that appeared in both the set-aside output and the latest output.\n\n[[Intersection Filter Run Prefix (Examples)]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/syntax/Let Filter Run Prefix (Examples).tid",
    "content": "created: 20260222152853141\nmodified: 20260222184916224\ntags: [[Let Filter Run Prefix]]\ntitle: Let Filter Run Prefix (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.operator-example 1 \"3 2 1 4 :let[[myvar]] 6 7 8 [(myvar)sort[]]\" \"Uses the named prefix\">>\n<<.operator-example 2 \"3 2 1 4 =>myvar 6 7 8 [(myvar)sort[]]\" \"Uses the short-hand prefix\">>\n<<.operator-example 3 \"3 2 1 4 =>myvar 6 7 8 [<myvar>]\" \"Angle brackets return only the first value\">>\n<<.operator-example 4 \"3 2 1 4 =>mynumbers [(mynumbers)sum[]] [(mynumbers)average[]]\">>\n<<.operator-example 5 '\"[0-9]\" =>digitsRE abc 123 de45 67fg hij :filter[regexp<digitsRE>]' \"A regular expression containing square brace requires using a variable parameter\">>\n<<.operator-example 6 '\"[prefix[ca]then[ca]]\" \"[suffix[at]then[at]]\" other =>myfilters cat can bat bug :cascade[(myfilters)]' \"Define filters to be used with the [[Cascade Filter Run Prefix]]\">>\n<<.operator-example 7 \"[[⁎ ]] [[⁑ ]] [[⁂ ]] :let[[prefixList]] [tag[Learning]first[3]] :map:flat[(prefixList)addsuffix<currentTiddler>]\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/syntax/Let Filter Run Prefix.tid",
    "content": "created: 20250307212252946\nfrom-version: 5.4.0\nmodified: 20250307212252946\nrp-input: all titles from previous filter runs\nrp-output: an empty title list is always returned from the \"let\" filter run prefix\nrp-purpose: assign the title list resulting from previous filter runs to a multi-valued variable\ntags: [[Named Filter Run Prefix]]\ntitle: Let Filter Run Prefix\ntype: text/vnd.tiddlywiki\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n( \":let\" )\n[[run|\"Filter Run\"]]\n\"\"\"/>\n\nThe `:let` filter run prefix assigns the title list resulting from previous filter runs to a [[multi-valued variable|Multi-Valued Variables]]. The variable is named with the first result returned by the filter run.\n\nThe variable is made available to the remaining [[filter runs|Filter Run]] in the [[filter expression|Filter Expression]]. Only the first item in the result list is returned when the variable is accessed in the usual way (or an empty string if the result list is empty). Using round brackets instead of angle brackets around a variable name as an operand retrieves the complete list of items in the result list.\n\nThis prefix has an optional [[shortcut syntax|Shortcut Filter Run Prefix]] symbol `=>run`. For example:\n\n```\n=[<myfun1>] =[<myfun2>] =>myvar\n```\n\nThe `:let` filter run prefix always clears the current result list.\n\n[[Let Filter Run Prefix (Examples)]]"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/syntax/Map Filter Run Prefix (Examples).tid",
    "content": "created: 20210618134753828\nmodified: 20230305125405422\ntags: [[Map Filter Run Prefix]]\ntitle: Map Filter Run Prefix (Examples)\ntype: text/vnd.tiddlywiki\n\nReplace the input titles with the caption field if it exists, otherwise preserve the input title:\n\n<<.operator-example 1 \"[tag[Widgets]] :map[get[caption]else{!!title}]\">>\n\n<<.tip \"The above example is equivalent to `[tag[Widgets]] :map[{!!caption}!is[blank]else{!!title}]`. Note that referencing a field as a text reference such as `{!!caption}` returns an empty string for a non-existent or empty caption field. Therefore a check for `is[blank]` is needed before the `else` operator\">>\n\n\nFor each title in a shopping list, calculate the total cost of purchasing each item:\n\n<<.operator-example 2 \"[tag[shopping]] :map[get[quantity]else[0]multiply{!!price}]\">>\n\nGet the tags of all tiddlers tagged `Widget:`\n\n<<.operator-example 3 \"[tag[Widgets]] :map:flat[tagging[]] :and[!is[blank]unique[]]\">>\n<<.tip \"Without the `flat` suffix the `:map` filter run only returns the first result for each input title\">>\n\n!! Comparison between `:map` with and without the `flat` suffix\n\nThe `:map` filter run will return at least as many outputs as given in the input.  By default one input item will result in exactly one output item. When the filter run transforms an input item into an empty result, the output for that item will be an empty string. When the filter run transforms an input item into multiple items, only the first item will appear in the output. This behavior can be overridden by providing the `flat` suffix. The `flat` suffix will cause all the items to appear in the output.\n\n| `:map` | `:map:flat` |\n|^<<.operator-example m0.1 \"[range[4]] :map[match[this matches nothing]]\">>|^<<.operator-example m0.2 \"[range[4]] :map:flat[match[this matches nothing]]\">>|\n|^<<.operator-example m1.1 \"[range[4]] :map[range<currentTiddler>]\">>|^<<.operator-example m1.2 \"[range[4]] :map:flat[range<currentTiddler>]\">>|\n|^<<.operator-example m2.1 \"[range[4]] :map[range<currentTiddler>]\">>|^<<.operator-example m2.2 \"[range[4]] :map:flat[range<currentTiddler>first[]]\">>|\n|^<<.operator-example m3.1 \"[range[4]] :map[range<currentTiddler>sum[]]\">>|^<<.operator-example m3.2 \"[range[4]] :map:flat[range<currentTiddler>sum[]]\">>|\n|^<<.operator-example m4.1 \"[[1,2,3]] [[4,5]] :map[split[,]]\">>|^<<.operator-example m4.2 \"[[1,2,3]] [[4,5]] :map:flat[split[,]]\">>|\n|^<<.operator-example m5.1 \"[[1,2,3]] [[4,5]] :map[split[,]]\">>|^<<.operator-example m5.2 \"[[1,2,3]] [[4,5]] :map:flat[split[,]first[]]\">>|\n\n\n!! Comparison between `:map` and `:and`/`+` filter run prefixes\n\nThe functionality of the `:map` filter run prefix has some overlap with the `:and` prefix (alias `+`). They will sometimes return the same results as each other. In at least these cases, the results will be different:\n\n# The `:and` filter run can modify the number of items (either increase or decrease). The `:map` run will never alter the number of items.\n# The number of items in the `:and` filter run will also decrease due to [[de-duplication|Dominant Append]]. The `:map` run will not [[de-duplicate|Dominant Append]].\n# Explicit references to the \"currentTiddler\" variable will behave differently\n# Implicit references to the \"currentTiddler\" using TextReference will behave differently.\n\n| `:map` | `:and` |\n|!results are the same|<|\n|^<<.operator-example 1.1 \"[range[5]] :map[add[1]]\">>|^<<.operator-example 1.2 \"[range[5]] :and[add[1]]\">>|\n|^<<.operator-example 2.1 \"[range[5]] :map[addsuffix[ hello]]\">>|^<<.operator-example 2.2 \"[range[5]] :and[addsuffix[ hello]]\">>|\n|^<<.operator-example 3.1 \"[tag[shopping]] :map[get[quantity]]\">>|^<<.operator-example 3.2 \"[tag[shopping]] :and[get[quantity]]\">>|\n|!decrease in the number of items|<|\n|^<<.operator-example 4.1 \"[range[5]] :map[sum[]]\">>|^<<.operator-example 4.2 \"[range[5]] :and[sum[]]\">>|\n|^<<.operator-example 5.1 \"[range[5]] :map[join[,]]\">>|^<<.operator-example 5.2 \"[range[5]] :and[join[,]]\">>|\n|!increase in the number of items|<|\n|^<<.operator-example 6.1 \"[[1,2,3]] [[4,5]] :map[split[,]]\">>|^<<.operator-example 6.2 \"[[1,2,3]] [[4,5]] :and[split[,]]\">>|\n|!de-duplication|<|\n|^<<.operator-example 7.1 \"[range[5]] :map[[hello]]\">>|^<<.operator-example 7.2 \"[range[5]] :and[[hello]]\">>|\n|!currentTiddler|<|\n|^<<.operator-example 8.1 \"[tag[shopping]] :map[<currentTiddler>]\">>|^<<.operator-example 8.2 \"[tag[shopping]] :and[<currentTiddler>]\">>|\n|^<<.operator-example 9.1 \"[tag[shopping]] :map[{!!quantity}]\">>|^<<.operator-example 9.2 \"[tag[shopping]] :and[{!!quantity}]\">>|\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/syntax/Map Filter Run Prefix.tid",
    "content": "created: 20210618133745003\nfrom-version: 5.2.0\nmodified: 20240312202834547\nrp-input: the filter output of all previous runs so far\nrp-output: the input titles as modified by the result of this filter run\nrp-purpose: modify input titles by the result of evaluating this filter run for each item\nrp-suffix: <<.from-version \"5.2.3\">> <<.value flat>> to return all results from the filter run, or omit (default) to return only the first result\ntags: [[Named Filter Run Prefix]]\ntitle: Map Filter Run Prefix\ntype: text/vnd.tiddlywiki\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n( \":map\" (: \":flat\" | - ) | - )\n[[run|\"Filter Run\"]]\n\"\"\"/>\n\nEach input title from previous runs is passed to this run in turn. The filter run transforms the input titles and the output of this run replaces the input title. For example, the filter run `[get[caption]else{!!title}]` replaces each input title with its caption field, unless the field does not exist in which case the title is preserved.\n\nNote that within the filter run, the <<.var currentTiddler>> variable is set to the title of the tiddler being processed. This permits filter runs like `:map[{!!price}multiply{!!cost}]` to be used for computation.\n\nThe following variables are available within the filter run:\n\n* <<.var currentTiddler>> - the input title\n* <<.var ..currentTiddler>> - the value of the variable `currentTiddler` outside the filter run.\n* <<.var index>> - <<.from-version \"5.2.1\">> the numeric index of the current list item (with zero being the first item in the list).\n* <<.var revIndex>> - <<.from-version \"5.2.1\">> the reverse numeric index of the current list item (with zero being the last item in the list).\n* <<.var length>> - <<.from-version \"5.2.1\">> the total length of the input list.\n\nFilter runs used with the `:map` prefix should return at least the same number of items that they are passed. Input titles for which the filter run returns no output are replaced by an empty string. In particular, when retrieving the value of a field with the [[get Operator]] it is helpful to guard against a missing field value using the [[else Operator]]. For example `[get[myfield]else[default-value]...`.\n\n[[Map Filter Run Prefix (Examples)]]"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/syntax/Named Filter Run Prefix.tid",
    "content": "created: 20201214044413473\nmodified: 20230711090833212\ntags: [[Filter Run Prefix]]\ntitle: Named Filter Run Prefix\ntype: text/vnd.tiddlywiki\n\nIn <<.from-version \"5.1.23\">> the named filter run prefixes were implemented. `:cascade`, `:map` and `:sort` have been added later as shown in the diagrams.\n\nA named filter run prefix can precede any [[run|Filter Run]] of a [[filter expression|Filter Expression]] in place of a [[shortcut run prefix|Shortcut Filter Run Prefix]].\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n(\n[[<\":all\"> |\"All Filter Run Prefix\"]] |\n[[<\":and\"> |\"And Filter Run Prefix\"]] |\n[[<\":cascade\">  /\"v5.2.1\"/  |\"Cascade Filter Run Prefix\"]] |\n[[<\":else\"> |\"Else Filter Run Prefix\"]] |\n[[<\":except\"> |\"Except Filter Run Prefix\"]] |\n[[<\":filter\"> |\"Filter Filter Run Prefix\"]] |\n[[<\":intersection\"> |\"Intersection Filter Run Prefix\"]] |\n[[<\":map\">  /\"v5.2.0\"/ |\"Map Filter Run Prefix\"]] |\n[[<\":or\"> |\"Or Filter Run Prefix\"]] |\n[[<\":reduce\"> |\"Reduce Filter Run Prefix\"]] |\n[[<\":sort\">  /\"v5.2.0\"/ |\"Sort Filter Run Prefix\"]] |\n[[<\":let\">  /\"v5.4.0\"/ |\"Let Filter Run Prefix\"]] |\n[[<\":then\">  /\"v5.3.0\"/ |\"Then Filter Run Prefix\"]]) [[run|\"Filter Run\"]]\n\"\"\"/>\n\n\n<<.tip \"Compare named filter run prefix `:filter` with [[filter Operator]] which applies a subfilter to every input title, removing the titles that return an empty result from the subfilter\">>\n\n<<.tip \"Compare named filter run prefix `:reduce` with [[reduce Operator]] which is used to used to flatten a list of items down to a single item by repeatedly applying a subfilter\">> \n\n<<.tip \"\"\"Within the filter runs prefixed with `:reduce`, `:sort`, `:map` and `:filter`, the <<.var currentTiddler>> variable is set to the title of the tiddler being processed.<br>The value of currentTiddler outside the subfilter is available in the variable <<.var \"..currentTiddler\">> <<.from-version \"5.2.0\">>\"\"\" >>\n\nAlso see: [[Interchangeable Filter Run Prefixes]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/syntax/Or Filter Run Prefix.tid",
    "content": "created: 20230318135743766\nfrom-version: 5.1.23\nmodified: 20230322140708372\nrp-input: all titles from previous filter runs\nrp-output: output titles are [[dominantly appended|Dominant Append]] to the output of previous filter runs\nrp-purpose: de-duplicated union of tiddler sets\ntags: [[Named Filter Run Prefix]]\ntitle: Or Filter Run Prefix\ntype: text/vnd.tiddlywiki\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n( \":or\" | - )\n[[run|\"Filter Run Prefix\"]]\n\"\"\"/>\n\nThe :or prefix is equivalent to using no prefix at all. See `run` at [[Shortcut Filter Run Prefix]]"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/syntax/Reduce Filter Run Prefix (Examples).tid",
    "content": "created: 20211124151912931\nmodified: 20230305125430544\ntags: [[Reduce Filter Run Prefix]]\ntitle: Reduce Filter Run Prefix (Examples)\ntype: text/vnd.tiddlywiki\n\n\\define multiply-input() [multiply<accumulator>]\n\nThe following examples use these data tiddlers:\n\n<ul>\n<$list filter=\"[tag[shopping]!has[draft.of]]\">\n<li>\n''<$link><$text text=<<currentTiddler>>/></$link>'' quantity: <$text text={{!!quantity}}/>,  price: <$text text={{!!price}}/>\n</li>\n</$list>\n</ul>\n\n<<.operator-example 1 \"[tag[shopping]] :reduce[get[quantity]add<accumulator>]\">>\n<<.operator-example 2 \"[tag[shopping]] :reduce[get[price]multiply{!!quantity}add<accumulator>]\">>\n<<.operator-example 3 \"[tag[shopping]] :reduce[<index>compare:number:gt[0]then<accumulator>addsuffix[, ]addsuffix<currentTiddler>else<currentTiddler>]\" \"Uses `<index>` to act differently on the first item than the rest. Just for demonstration. Better to use the [[join Operator]] to accomplish this task\">>\n<<.operator-example 4 \"[tag[non-existent]] :reduce[get[price]multiply{!!quantity}add<accumulator>]\" \"Empty input produces empty output\">>\n<<.operator-example 5 \"[tag[non-existent]] :reduce[get[price]multiply{!!quantity}add<accumulator>] :else[[0]]\" \"Use `:else` to ensure output if input was empty\">>\n\n<$macrocall $name=\".tip\" _=\"\"\"Unlike the [[reduce Operator]], the `:reduce` prefix cannot specify an initial value for the accumulator, so its initial value will always be empty (which is treated as 0 by mathematical operators). So `=1 =2 =3 :reduce[multiply<accumulator>]` will produce 0, not 6. If you need to specify an initial accumulator value, use the [[reduce Operator]].\"\"\"/>\n<<.operator-example 6 \"=1 =2 =3 :reduce[multiply<accumulator>]\" \"Empty initial value is treated as 0 by mathematical operators\">>\n<<.operator-example 7 \"=1 =2 =3 +[reduce<multiply-input>,[1]]\" \"Setting initial value is sometimes necessary for correct results\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/syntax/Reduce Filter Run Prefix.tid",
    "content": "created: 20211124151912931\nfrom-version: 5.1.23\nmodified: 20230710073305239\nrp-input: the filter output of all previous runs so far\nrp-output: the accumulated single item\nrp-purpose: replaces all filter output so far with a single item by repeatedly applying a filter run to each input title\ntags: [[Named Filter Run Prefix]]\ntitle: Reduce Filter Run Prefix\ntype: text/vnd.tiddlywiki\n\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n( \":reduce\" | - )\n[[run|\"Filter Run\"]]\n\"\"\"/>\n\n\nEach input title from previous runs is passed to this run in turn. The result of each previous call to this run is made available in the next call via the variable named <<.var accumulator>>. The result of the last call to this run is returned as the output.  A typical use is to add up the values in a given field of each input title.\n\nReplaces all filter output so far with a single item by repeatedly applying a formula, as described above, to each input title.\n\nThe following variables are available within the filter run:\n\n* <<.var accumulator>> - the result of the previous filter run\n* <<.var currentTiddler>> - the input title\n* <<.var ..currentTiddler>> - the value of the variable `currentTiddler` outside the filter run. <<.from-version \"5.2.0\">>\n* <<.var index>> - the numeric index of the current list item (with zero being the first item in the list)\n* <<.var revIndex>> - the reverse numeric index of the current list item (with zero being the last item in the list)\n* <<.var length>> - the total length of the input list\n\n<<.tip \"Compare named filter run prefix `:reduce` with [[reduce Operator]] which is used to flatten a list of items down to a single item by repeatedly applying a subfilter.\">> \n\n```\n[tag[shopping]] :reduce[get[quantity]add<accumulator>]\n```\n\nis equivalent to:\n\n```\n\\define num-items() [get[quantity]add<accumulator>]\n\n[tag[shopping]reduce<num-items>]\n```\n\n[[Reduce Filter Run Prefix (Examples)]]"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/syntax/Shortcut Filter Run Prefixes.tid",
    "content": "created: 20230305131705188\nmodified: 20230710074438655\ntags: [[Filter Run Prefix]]\ntitle: Shortcut Filter Run Prefix\ntype: text/vnd.tiddlywiki\n\nShortcut prefixes are commonly used by advanced users because they are fast to type but they are harder to read by less experienced users. That's why [[named prefixes|Named Filter Run Prefix]] have been created, which are more verbose. Shortcut and named filter run prefixes are interchangeable as shown in the table below.\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n(-|:\"+\"|\"-\"|\"~\"|\"=\"|\"=>\")\n[[run|\"Filter Run\"]]\n\"\"\"/>\n\nIf a run has:\n\n* no prefix, its output titles are [[dominantly appended|Dominant Append]] to the filter's output\n\n* the prefix `+`, it receives the filter output so far as its input; its output then <<.em \"replaces\">> all filter output so far and forms the input for the next run\n\n* the prefix `-`, output titles are <<.em removed>> from the filter's output (if such tiddlers exist)\n\n* the prefix `~`, if the filter output so far is an empty list then the output titles of the run are [[dominantly appended|Dominant Append]] to the filter's output. If the filter output so far is not an empty list then the run is ignored. <<.from-version \"5.1.18\">>\n\n* the prefix `=`, output titles are appended to the filter's output without de-duplication. <<.from-version \"5.1.20\">>\n\n* the prefix `=>`, the input is assigned to the variable named with the output title. <<.from-version \"5.4.0\">>\n\n{{Interchangeable Filter Run Prefixes}}"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/syntax/Sort Filter Run Prefix (Examples).tid",
    "content": "created: 20210428074912172\nmodified: 20230315165343329\ntags: [[Sort Filter Run Prefix]]\ntitle: Sort Filter Run Prefix (Examples)\ntype: text/vnd.tiddlywiki\n\nSort by title length:\n\n<<.operator-example 1 \"[all[tiddlers]] :sort:number[length[]] +[limit[10]]\">>\n\nSort by title length reversed:\n\n<<.operator-example 2 \"[all[tiddlers]] :sort:number:reverse[length[]] +[limit[10]]\">>\n\nSort by text length:\n\n<<.operator-example 3 \"[all[tiddlers]] :sort:number[get[text]length[]] +[limit[10]]\">>\n\nSort by newest of modified dates:\n\n<<.operator-example 4 \"[tag[Field Operators]] :sort:date[get[modified]else[19700101]] +[limit[10]]\">>\n\nSort by title:\n<<.operator-example 5 \"[tag[Field Operators]] :sort:string:casesensitive[get[caption]] +[limit[10]]\">>\n\nSort by title in reverse order:\n<<.operator-example 6 \"[tag[Field Operators]] :sort:string:casesensitive,reverse[get[caption]] +[limit[10]]\">>\n\nSort as text with case sensitivity:\n<<.operator-example 7 \"Apple Banana Orange Grapefruit guava DragonFruit Kiwi apple orange  :sort:string:casesensitive[{!!title}]\">>\n\nSort as text ignoring case:\n<<.operator-example 8 \"Apple Banana Orange Grapefruit guava DragonFruit Kiwi apple orange :sort:string:caseinsensitive[{!!title}]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/syntax/Sort Filter Run Prefix.tid",
    "content": "created: 20210428083929749\nfrom-version: 5.2.0\nmodified: 20240717120111427\nrp-input: the filter output of all previous runs so far\nrp-output: output titles replace the output of previous filter runs\nrp-purpose: sort the input titles by the result of evaluating this filter run for each item\nrp-suffix: the :sort filter run prefix uses a rich suffix, see below for details\nrp-suffix-name: S\ntags: [[Named Filter Run Prefix]]\ntitle: Sort Filter Run Prefix\ntype: text/vnd.tiddlywiki\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n( \":sort\" ) \n( \":\" ) \n( : \"string\" | \"alphanumeric\" | \"number\" | \"integer\" | \"version\" | \"date\" )\n( \":\" ) \n{\n\t(\n\t\t(\n\t\t\t( : \"caseinsensitive\" /\"required for string and alphanumeric\"/ | \"casesensitive\" /\"required for string and alphanumeric\"/)\n\t\t\t| \"reverse\" /\"optional\"/ \n\t\t)\n\t)\n\t+\",\"\n}\n[[run|\"Filter Run\"]]\n\"\"\"/>\n\nEach input title from previous runs is passed to this run in turn. The filter run transforms the input titles into the form needed for sorting. For example, the filter run `[length[]]` transforms each input title in to the number representing its length, and thus sorts the input titles according to their length.\n\nNote that within the filter run, the <<.var currentTiddler>> variable is set to the title of the tiddler being processed. This permits filter runs like `:sort:number[{!!value}divide{!!cost}]` to be used for computation. The value of <<.var currentTiddler>> outside the run is available in the variable <<.var \"..currentTiddler\">>.\n\nThe `:sort` <<.place S>> filter run prefix uses an extended syntax that allows for multiple suffixes, some of which are required:\n\n```\n:sort:<type>:<flaglist>[...filter run...]\n\n```\n\n* ''type'': Required. Determines how the items are compared and can be any of: ''string'', ''alphanumeric'', ''number'', ''integer'', ''version'' or ''date''.\n\n* ''flaglist'': comma separated list of the following flags:\n\n** ''casesensitive'' or ''caseinsensitive'' (required for types `string` and `alphanumeric`).\n*** defaults to: //caseinsensitive// if the flag is missing.\n*** for clarity this parameter should be always defined.\n\n** ''reverse'' to invert the order of the filter run (optional).\n\n<<.tip \"\"\"Note that filter runs used with the `:sort` prefix ''should return the same number of items that they are passed''. In particular, when retrieving the value of a field with the [[get Operator]] it is helpful to guard against a missing field value using the [[else Operator]]. For example `...[get[myfield]else[default-value]]`.<br><br>\n\nAny ''missing'' entries will be treated as ''zero'' or the ''empty string''.\"\"\">>\n\nAlso see: <<.olink sortsub>> Operator\n\n[[Examples|Sort Filter Run Prefix (Examples)]]"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/syntax/Then Filter Run Prefix (Examples).tid",
    "content": "created: 20230617183745774\nmodified: 20230617183745774\ntags: [[Then Filter Run Prefix]]\ntitle: Then Filter Run Prefix (Examples)\ntype: text/vnd.tiddlywiki\n\n\n!! Conditional Execution\n\nThe <<.op :then>> filter run prefix can be used to avoid the need for nested [[ListWidget]]s or [[Macro Definitions in WikiText]].\n\n<$macrocall $name='wikitext-example-without-html'\nsrc=\"\"\"<$edit-text field=\"search\" placeholder=\"Search title\"/>\n\n<$let searchTerm={{!!search}}>\n<$list filter=\"[<searchTerm>minlength[3]] :then[!is[system]search:title<searchTerm>]\" template=\"$:/core/ui/ListItemTemplate\"/>\n</$let>\"\"\"/>\n\n\n!! Conditional (Sub)Filters\n\nThe <<.op :then>> filter run prefix can be combined with the <<.op :else>> prefix to create conditional filters. In this example, the fields used in <<.var searchSubfilter>> for searching depend on the value of [[$:/temp/searchFields]] and the sort order used by <<.var sortSubfilter>> depends on the value of [[$:/temp/searchSort]]. Checkboxes are used to set the values of these tiddlers.\n\n<<.tip \"Note that each filter run of the subfilter receives the input of the <<.olink subfilter>> operator as input\">>\n\nSince the <<.olink then>> and <<.olink else>> operators cannot call subfilters or perform additional filter steps, they cannot be used for such applications.\n\n<$macrocall $name='wikitext-example-without-html'\nsrc=\"\"\"<$checkbox tiddler=\"$:/temp/searchSort\"\n      field=\"text\"\n      checked=\"chrono\" unchecked=\"alpha\" default=\"alpha\">\n  Sort chronologically (newest first)\n</$checkbox><br/>\n<$checkbox tiddler=\"$:/temp/searchFields\"\n      field=\"text\"\n      checked=\"title\" unchecked=\"default\" default=\"title\">\n  Search <<.field title>> only\n</$checkbox><p/>\n<$let searchSubfilter=\"[{$:/temp/searchFields}match[default]] :then[search[prefix]] :else[search:title[prefix]]\"\n      sortSubfilter=\"[{$:/temp/searchSort}match[chrono]] :then[!nsort[modified]] :else[sort[title]]\"\n      limit=10 >\n  <$list filter=\"[all[tiddlers]!is[system]subfilter<searchSubfilter>subfilter<sortSubfilter>first<limit>]\">\n    <$link/> (<$text text={{{ [{!!modified}format:date[YYYY-0MM-0DD]] }}} />)<br/>\n  </$list>\n  <$list filter=\"[all[tiddlers]!is[system]subfilter<searchSubfilter>rest<limit>count[]]\">\n    ... and <<currentTiddler>> more.\n  </$list>\n</$let>\"\"\"/>\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/syntax/then Filter Run Prefix.tid",
    "content": "created: 20210618133745003\nfrom-version: 5.3.0\nmodified: 20230710074225410\nrp-input: <<.olink all>> tiddler titles\nrp-output: the output of this filter run replaces the output of previous runs unless it is an empty list (see below)\nrp-purpose: replace any input to this filter run with its output, only evaluating the run when there is any input\nsearch: \ntags: [[Named Filter Run Prefix]]\ntitle: Then Filter Run Prefix\ntype: text/vnd.tiddlywiki\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n\":then\"\n[[run|\"Filter Run\"]]\n\"\"\"/>\n\nThe <<.op :then>> filter run prefix is used to replace the result of all previous filter runs with its output.\n\nIf the result of all previous runs is an empty list, the <<.op :then>> prefixed filter run is not evaluated.\n\nIf the output of a <<.op :then>> prefixed filter run is itself an empty list, the result of all previous filter runs is passed through unaltered.\n\n<<.tip \"Note that a list with a single empty string item is not an empty list.\">>\n\n\n!! <<.op :then>> run prefix versus the <<.olink then>> operator\n\nThe major difference between the <<.op then>> operator and a <<.op :then>> prefixed filter run is that the operator will replace //each item// of the input [[Title List]] with its parameter while <<.op :then>> will replace the //whole input list// with the result of its run.\n\n|doc-op-comparison tc-center|k\n| !<<.op :then>> Filter Run Prefix | !<<.op then>> Operator |\n|^<<.operator-example m1-1 \"[tag[WikiText]] :then[[true]]\">>|^<<.operator-example m1-2 \"[tag[WikiText]then[true]]\">><p>To make them equivalent, additional filter steps may be added:</p> <<.operator-example m1-3 \"[tag[WikiText]count[]compare:number:gt[0]then[true]]\">>|\n\n\n[[Then Filter Run Prefix (Examples)]]\n\nAlso see: [[Else Filter Run Prefix]] | [[then Operator]] and [[else Operator]]\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/tag.tid",
    "content": "caption: tag\ncreated: 20140410103123179\nmodified: 20161126122900712\nop-input: a [[selection of titles|Title Selection]]\nop-neg-output: those input tiddlers that do <<.em not>> have tag <<.place T>>\nop-output: those input tiddlers that have tag <<.place T>>\nop-parameter: the title of a [[tag|Tagging]]\nop-parameter-name: T\nop-purpose: filter the input by tag\nop-suffix: <<.from-version \"5.1.14\">> optional `strict` flag\nop-suffix-name: S\ntags: [[Filter Operators]] [[Common Operators]] [[Tag Operators]] [[Negatable Operators]]\ntitle: tag Operator\ntype: text/vnd.tiddlywiki\n\nThe output is [[sorted|Order of Tagged Tiddlers]] using the tag's <<.field list>> field and the tiddlers' <<.field list-before>> and <<.field list-after>> fields.\n\nThe behaviour when <<.place T>> is empty depends on the settings of the <<.place S>> optional suffix:\n\n* if <<.place T>> is missing and  <<.place S>> is either missing or set to \"loose\", then the output of `tag` is empty, and the output of `!tag` is a copy of the input.\n* <<.from-version \"5.1.14\">> if <<.place T>> is missing and <<.place S>> is set to \"strict\", then the output of both `tag` and `!tag` is a copy of the input\n\n<<.operator-examples \"tag\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/tagging.tid",
    "content": "created: 20140410103123179\nmodified: 20150203191620000\ntags: [[Filter Operators]] [[Tag Operators]]\ntitle: tagging Operator\ntype: text/vnd.tiddlywiki\ncaption: tagging\nop-purpose: find the tiddlers that have the input tags\nop-input: a [[selection|Title Selection]] of [[tags|Tagging]]\nop-parameter: none\nop-output: the titles of any tiddlers that carry the input tags\n\nEach input tag is processed in turn. The list of tiddlers carrying that tag is generated, [[sorted|Order of Tagged Tiddlers]], and then [[dominantly appended|Dominant Append]] to the operator's overall output.\n\n<<.operator-examples \"tagging\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/tags.tid",
    "content": "created: 20140410103123179\nmodified: 20150203191657000\ntags: [[Filter Operators]] [[Tag Operators]]\ntitle: tags Operator\ntype: text/vnd.tiddlywiki\ncaption: tags\nop-purpose: select all tags of the input tiddlers\nop-input: a [[selection of titles|Title Selection]]\nop-parameter: none\nop-output: all the tags carried by the input tiddlers\n\nEach input title is processed in turn. The corresponding tiddler's tags are retrieved (in order of appearance in the <<.field tags>> field) and then [[dominantly appended|Dominant Append]] to the operator's output.\n\n<<.operator-examples \"tags\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/tan Operator.tid",
    "content": "caption: tan\ncreated: 20211019211156303\nmodified: 20211021222828332\nop-input: a [[selection of titles|Title Selection]]\nop-output: the tangent of the input angles\nop-purpose: calculate the tangent value of a list of angles (given in radians)\ntags: [[Filter Operators]] [[Mathematics Operators]] [[Trigonometric Operators]] [[Unary Mathematics Operators]]\ntitle: tan Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.21\">> See [[Mathematics Operators]] for an overview.\n\n<<.operator-examples \"tan\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/then Operator.tid",
    "content": "caption: then\ncreated: 20190802112756430\nmodified: 20230501174334627\nop-input: a [[selection of titles|Title Selection]]\nop-output: the input titles with each one replaced by the string <<.place T>>\nop-parameter: a string\nop-parameter-name: T\nop-purpose: replace input titles by a constant string\ntags: [[Conditional Operators]] [[Filter Operators]]\ntitle: then Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.20\">> See [[Conditional Operators]] for an overview.\n\n<<.tip \"The [[Then Filter Run Prefix]] has a similar purpose to the <<.op then>> operator. See its documentation for a comparison of usage.\">>\n\n<<.operator-examples \"then\">>\n\nAlso see: [[else Operator]] | [[Then Filter Run Prefix]] and [[Else Filter Run Prefix]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/title.tid",
    "content": "created: 20140410103123179\nmodified: 20150203191749000\ntags: [[Filter Operators]] [[Common Operators]] [[Selection Constructors]] [[Negatable Operators]]\ntitle: title Operator\ntype: text/vnd.tiddlywiki\ncaption: title\nop-purpose: select a single title\nop-input: ignored\nop-neg-input: a [[selection of titles|Title Selection]]\nop-parameter: a tiddler title\nop-parameter-name: T\nop-output: a selection containing only <<.place T>>\nop-neg-output: the input, but with tiddler <<.place T>> filtered out if it exists in the wiki\n\n`[title[An Example]]` can be shortened to `[[An Example]]`, because <<.op title>> is the default filter operator. Consequentially, `[!title[An Example]]` can be shortened to `[![An Example]]`.\n\n<<.op title>> is a [[constructor|Selection Constructors]] (except in the form `!title`), but <<.olink2 \"field:title\" field>> is a [[modifier|Selection Constructors]].\n\n<<.from-version \"5.4.0\">> If the operand is quoted with round brackets then the <<.op title>> operator returns the complete list of titles assigned to the multi-valued variable. When negated, the title operator with multi-valued operands returns all the titles that are not present in the operand list.\n\n<<.operator-examples \"title\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/titlecase Operator.tid",
    "content": "caption: titlecase\ncreated: 20190620135008529\nmodified: 20190620135008529\nop-input: a [[selection of titles|Title Selection]]\nop-output: the input titles with each word capitalised\nop-purpose: returns each item in the list with each word capitalised\ntags: [[Filter Operators]]\ntitle: titlecase Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.20\">>\n\nSee also [[lowercase Operator]], [[uppercase Operator]], [[sentencecase Operator]].\n\n<<.tip \" This operator does not change anything except the first letter of each word, so `[[aBcD eFgH]]` would become `[[ABcD EFgH]]`. If you want `[[Abcd Efgh]]`, then use a filter like `[lowercase[]titlecase[]]`.\">>\n\n<<.operator-examples \"titlecase\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/toggle Operator.tid",
    "content": "caption: toggle\ncreated: 20201107153758990\nmodified: 20201118192155504\nop-input: a list of items\nop-output: the input list with the title specified in the parameter toggled\nop-parameter: the <<.op toggle>> operator accepts 1 or more parameters, see below for details\nop-purpose: toggle the title specified in the parameter in the input\ntags: [[Filter Operators]] [[Listops Operators]] [[Order Operators]]\ntitle: toggle Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.23\">>\n\nThe <<.op toggle>> operator requires at least one parameter and can accept additional optional parameters. With a second optional parameter it can be used to toggle between a pair of titles:\n\n```\n[toggle[<title1>],[<title2>]]\n```\n* ''title1'' : a title to toggle in the input list. If it is already present, it is removed. Otherwise, it is added.\n* ''title2'': (optional). When the second parameter is provided, the operator toggles between the two values in the input list. If neither is present, the first parameter takes precedence is added to the list.\n\nWith more than two parameters, the <<.op toggle>> behaves similar to the [[cycle|cycle Operator]] and can be used to cycle through a list of values. Note that all parameters should be unique.\n\n<$macrocall $name=\".tip\" _=\"While the <<.op cycle>> operator interprets its first parameter as a list of titles to cycle through and offers similar functionality, the <<.op toggle>> operator accepts an unlimited number of distinct parameters.\"/>\n\n<<.operator-examples \"toggle\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/transcludes.tid",
    "content": "caption: transcludes\ncreated: 20211002204500000\nmodified: 20240610085927867\nop-input: a [[selection of titles|Title Selection]]\nop-output: the titles which the input tiddlers [[hard-transclude|Hard and Soft Transclusions]]\nop-parameter: none\nop-purpose: find the titles transcluded by each input title\ntags: [[Filter Operators]] [[Common Operators]]\ntitle: transcludes Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version 5.3.4>> Each input title is processed in turn. The corresponding tiddler's list of transclusions is generated, in the order in which they appear in the tiddler's text, and [[dominantly appended|Dominant Append]] to the operator's overall output.\n\n<<.operator-examples \"transcludes\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/trim Operator.tid",
    "content": "caption: trim\ncreated: 20190613153740241\nmodified: 20201130141111438\nop-purpose: returns each item in the list with whitespace, or a given character string, trimmed from the start and/or end\nop-input: a [[selection of titles|Title Selection]]\nop-parameter: <<.from-version \"5.1.23\">> a string of characters\nop-parameter-name: S\nop-output: the input titles with <<.place S>>, or whitespace if <<.place S>> is not specified, trimmed from the start and/or end\nop-suffix: <<.from-version \"5.1.23\">> `prefix` to trim from the start only, `suffix` to trim from the end only. If omitted (default), trim from both start and end\nop-suffix-name: T\ntags: [[Filter Operators]] [[String Operators]]\ntitle: trim Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.20\">>\n<<.from-version \"5.1.23\">>The <<.op trim>> filter allows a parameter specifying a string to trim.\n\n<<.operator-examples \"trim\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/trunc Operator.tid",
    "content": "caption: trunc\ncreated: 20190613084703801\nmodified: 20190613084829253\nop-input: a [[selection of titles|Title Selection]]\nop-output: truncates each of the input numbers to their integer part, removing any fractional part\nop-purpose: truncates a list of numbers to their integer part, removing any fractional part\ntags: [[Unary Mathematics Operators]] [[Filter Operators]] [[Mathematics Operators]]\ntitle: trunc Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.20\">> See [[Mathematics Operators]] for an overview.\n\n<<.tip \" The trunc operator rounds towards zero. To round away from zero, use [[untrunc|untrunc Operator]].\">>\n\n<<.operator-examples \"trunc\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/unique.tid",
    "content": "caption: unique\ncreated: 20240709151018238\nmodified: 20240709151336906\nop-input: a list of items\nop-output: a list of unique items\nop-parameter: ignored\nop-purpose: remove all duplicate items from the current list\ntags: [[Filter Operators]] [[Order Operators]] [[Listops Operators]]\ntitle: unique Operator\ntype: text/vnd.tiddlywiki\n\n<<.note \"\"\"Unlike the default <<.link \"Dominant Append\" \"Dominant Append\">> handling of duplication, the effect of <<.op unique>> is to retain only the <<.em earliest>> instance among duplicated values.\"\"\">>\n\n<<.operator-examples \"unique\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/untagged.tid",
    "content": "created: 20140410103123179\nmodified: 20150203191821000\ntags: [[Filter Operators]] [[Tag Operators]] [[Negatable Operators]]\ntitle: untagged Operator\ntype: text/vnd.tiddlywiki\ncaption: untagged\nop-purpose: discard any input titles that have tags\nop-input: a [[selection of titles|Title Selection]]\nop-parameter: none\nop-output: those input tiddlers that have no tags\nop-neg-output: those input tiddlers that have at least one tag\n\nA tiddler is deemed to have no tags if it:\n\n* doesn't exist\n* doesn't have a <<.field tags>> field\n* has an empty <<.field tags>> field\n\n<<.operator-examples \"untagged\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/untrunc Operator.tid",
    "content": "caption: untrunc\ncreated: 20190617163327756\nmodified: 20190617163327756\nop-input: a [[selection of titles|Title Selection]]\nop-output: rounds each of the input numbers to the next integer with largest absolute value, that is, away from zero\nop-purpose: rounds a list of numbers to the next integer with largest absolute value, that is, away from zero\ntags: [[Unary Mathematics Operators]] [[Filter Operators]] [[Mathematics Operators]]\ntitle: untrunc Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.20\">> See [[Mathematics Operators]] for an overview.\n\n<<.tip \" This is the inverse operation of [[trunc|trunc Operator]]: trunc rounds to zero, but untrunc rounds away from zero.\">>\n\n<<.operator-examples \"untrunc\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/uppercase Operator.tid",
    "content": "caption: uppercase\ncreated: 20190613153420821\nmodified: 20190619110837473\nop-input: a [[selection of titles|Title Selection]]\nop-output: the input titles with each lowercase letter replaced by the equivalent uppercase letter\nop-purpose: returns each item in the list as uppercase\ntags: [[Filter Operators]]\ntitle: uppercase Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.20\">>\n\nSee also [[lowercase Operator]] and [[sentencecase Operator]].\n\n<<.operator-examples \"uppercase\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/variables.tid",
    "content": "created: 20190330100101453\nmodified: 20190330100101453\ntags: [[Filter Operators]] [[Special Operators]] [[Selection Constructors]]\ntitle: variables Operator\ntype: text/vnd.tiddlywiki\ncaption: variables\nop-purpose: select the names of all the actively defined variables\nop-input: ignored\nop-parameter: none\nop-output: the names of all the actively defined variables\n\n<<.from-version \"5.1.20\">> The primary purpose of the `variables` operator is to implement the [[dumpvariables Macro]]:\n\n<$codeblock code={{$:/core/macros/dumpvariables}}/>\n\n<<.operator-examples \"variables\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/variance Operator.tid",
    "content": "caption: variance\ncreated: 20210426130029500\nmodified: 20210426131553539\nop-input: a [[selection of titles|Title Selection]]\nop-output: the variance of the input as numbers\nop-purpose: treating each input title as a number, compute their variance\ntags: [[Reducing Mathematics Operators]] [[Filter Operators]] [[Mathematics Operators]]\ntitle: variance Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.2.0\">> See [[Mathematics Operators]] for an overview.\n\n<<.tip \"\"\" The `standard-deviation` operator treats the input as a complete population and not a sample\"\"\">>\n\n<<.operator-examples \"variance\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/filters/zth Operator.tid",
    "content": "caption: zth\ncreated: 20211029023242012\nmodified: 20211029023711450\nop-input: a [[selection of titles|Title Selection]]\nop-output: the <<.place Z>>th input title\nop-parameter: an integer, defaulting to 0\nop-parameter-name: Z\nop-purpose: select the <<.place Z>>th input title\ntags: [[Filter Operators]] [[Order Operators]]\ntitle: zth Operator\ntype: text/vnd.tiddlywiki\n\n<<.from-version 5.2.1>>\n<<.place Z>> is zero-based. In other words, `zth[0]` has the same effect as `nth[1]` and the <<.olink first>> operator.\n\n<<.tip \"See <<.olink nth>> for an equivalent operator with a 1 based parameter\">>\n\n<<.operator-examples \"zth\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/function Operator (Examples).tid",
    "content": "created: 20241202134158579\ntags: [[Operator Examples]] [[function Operator]]\ntitle: function Operator (Examples)\n\n\\function get.destField(subTiddler,field) [<subTiddler>get<field>]\n\n\\function get.sourceField(subTiddler,field) [<subTiddler>shadowsource[]get[text]jsonget[tiddlers],<subTiddler>,<field>]\n\n\\function get.sourceFields(subTiddler) [<subTiddler>shadowsource[]]:map:flat[<subTiddler>subtiddlerfields{!!title}]\n\n\\function has.diff(subTiddler,field) [get.destField<subTiddler>,<field>else[]]:filter[get.sourceField<subTiddler>,<field>else[]!match{!!title}]\n\n\\function diff.fields(subTiddler) [get.sourceFields<subTiddler>] [<subTiddler>fields:exclude[created creator modified modifier]] :filter[has.diff<subTiddler>,{!!title}]\n\n\\define subTiddler() $:/SiteTitle\n\n\\procedure display-variable(name) ''<$text text=<<name>>/>'': <code><$text text={{{ [<name>getvariable[]] }}}/></code>\n\nThese examples use the following predefined variable: \n\n* <<display-variable subTiddler>>\n\nThey also use the following predefined functions:\n\n```\n\\function get.destField(subTiddler,field) [<subTiddler>get<field>]\n\n\\function get.sourceField(subTiddler,field) [<subTiddler>shadowsource[]get[text]jsonget[tiddlers],<subTiddler>,<field>]\n\n\\function get.sourceFields(subTiddler) [<subTiddler>shadowsource[]]:map:flat[<subTiddler>subtiddlerfields{!!title}]\n\n\\function has.diff(subTiddler,field) [get.destField<subTiddler>,<field>else[]]:filter[get.sourceField<subTiddler>,<field>else[]!match{!!title}]\n\n\\function diff.fields(subTiddler) [get.sourceFields<subTiddler>] [<subTiddler>fields:exclude[created creator modified modifier]] :filter[has.diff<subTiddler>,{!!title}]\n```\n\n<<.operator-example 1 \"[function[get.destField],<subTiddler>,[text]]\" \"get the overriden value of the field <<.field text>>.\">>\n\nThe function `get.destField` use the operator <<.olink get>> to get the overriden value of the field <<.field text>> for <<subTiddler>>.\n\n<<.operator-example 2 \"[function[get.sourceField],<subTiddler>,[text]]\" \"get the original value of the field <<.field text>>\">>\n\nThe function `get.sourceField` use the operator <<.olink shadowsource>> to get the title of the plugin in which the shadow tiddler is defined ({{{ [<subTiddler>shadowsource[]]}}}). It then use the operator <<.olink get>> to retrieve the content of the field <<.field text>>, in which is defined every tiddlers for that plugin, in a json format. Next, the operator <<.olink jsonget>> is used to retrieve the value of the original field <<.field text>> for <<subTiddler>>.\n\n<<.operator-example 3 \"[function[get.sourceFields],<subTiddler>]\" \"get the original list of fields.\">>\n\nThe function `get.sourceFields` use the operator <<.olink shadowsource>> to get the title of the plugin in which the shadow tiddler is defined. The subsequent [[Map Filter Run Prefix]] iterate over the plugin title, and use the operator <<.olink subtiddlerfields>> to output every fields of the shadow tiddler <<subTiddler>>, whose title is retrieved using a [[TextReference]].\n\n<<.operator-example 4 \"[function[has.diff],<subTiddler>,[text]]\" \"compare the original value of the field <<.field text>> with the value set in the overriding tiddler. If the value is different, output the overriden value\">>\n\nThe function `has.diff` use the operator <<.olink get>> to retrieve the current value for the field <<.field text>>. If this field is missing or empty, the operator <<.olink else>> output an empty <<.em string>>. Next, the [[Filter Filter Run Prefix]] use the function `get.sourceField` to get the original value for that field, and the operator <<.olink match>> is used to check if the value does not match the current value for that field, using a [[TextReference]]. If the values do not match, it means that the value for that field was changed, and the value of the field is output. Otherwise, the `:filter` filter run prevent the field value to be output.\n\n<<.operator-example 5 \"[function[diff.fields],<subTiddler>]\" \"list the overriden fields\">>\n\nThe function `diff.fields` use the the function `get.sourceFields` to list every fields in the original <<subTiddler>>.  It then use the <<.olink fields>> operator to get every fields on the overriding tiddler, excluding the fields that are automatically set when a [[ShadowTiddler|ShadowTiddlers]] is overriden (<<.field created>>, <<.field creator>>, <<.field modified>>, <<.field modifier>>). The subsequent [[Filter Filter Run Prefix]] use the function `has.diff` to output only the title of the fields that were overidden.\n\n<<.tip \"\"\"Theses functions can be used together to highlight the changes made to <<subTiddler>>:\"\"\">>\n\n<<wikitext-example-without-html \"\"\"<$list filter=\"[diff.fields<subTiddler>]\" variable=field>\n  <$diff-text source={{{ [get.sourceField<subTiddler>,<field>] }}} dest={{{ [get.destField<subTiddler>,<field>] }}} >\n    <code><<field>></code>: <<diff-count>> difference<%if [<diff-count>!match[1]]%>s<%endif%>\n  </$diff-text>\n</$list>\"\"\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/functions/Functions.tid",
    "content": "created: 20221009124003601\nmodified: 20240422084850412\ntags: Concepts [[Core Functions]]\ntitle: Functions\ntype: text/vnd.tiddlywiki\n\n!! Introduction\n\n<<.from-version \"5.3.0\">> A <<.def function>> is a named snippet of text containing a [[Filter Expression]]. Functions can have named parameters which are available within the function as variables.\n\nFunctions are usually defined with the [[Pragma: \\function]]:\n\n```\n\\function myfun(param:\"2\")\n[<param>multiply[1.5]]\n\\end\n```\n\nFunctions can be called in several ways:\n\n* Using the [[Calls]] syntax:\n** Directly transclude functions with the syntax `<<myfun param:\"value\">>`\n** Assign functions to widget attributes with the syntax `<div class=<<myfun param:\"value\">>>`\n* Call functions via the [[function Operator]] with the syntax `[function[myfun],[value],...]`\n* Directly call functions whose names contain a period as custom filter operators with the syntax `[my.fun[value]]` or `[.myfun[value]]`\n\n!! How Functions Work\n\nFunctions are implemented as a special kind of [[variable|Variables]]. The only thing that distinguishes them from ordinary variables is the way that the parameters are handled.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/gettingstarted/GettingStarted - Android.tid",
    "content": "caption: Android\ncreated: 20140811171036268\nmodified: 20211114031651878\ntags: GettingStarted\ntitle: GettingStarted - Android\ntype: text/vnd.tiddlywiki\n\nThere are three options for using TiddlyWiki on Android:\n\n! Using Firefox and TiddlyFox\n\n{{Saving with TiddlyFox on Android}}\n\n! Using the AndTidWiki App\n\n{{Saving on Android}}\n\n! Using Node.js in Termux\n\n{{Serving TW5 from Android}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/gettingstarted/GettingStarted - Chrome.tid",
    "content": "caption: Chrome\ncreated: 20140811165935523\nmodified: 20211114031651878\ntags: GettingStarted\ntitle: GettingStarted - Chrome\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki on Google Chrome can only save changes using the HTML5-compatible saver module.\n\n{{Saving with the HTML5 saver}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/gettingstarted/GettingStarted - Firefox.tid",
    "content": "caption: Firefox\ncreated: 20140811170425199\nmodified: 20230803213024843\ntags: GettingStarted\ntitle: GettingStarted - Firefox\ntype: text/vnd.tiddlywiki\n\nFirefox provides the best user experience for using TiddlyWiki with the following browser extensions:\r\n<<list-links filter:\"[tag[Firefox]delivery[Browser Extension]] -[[Saving with TiddlyFox]]\">>\n\n{{Saving with FireFox}}\r\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/gettingstarted/GettingStarted - Node.js.tid",
    "content": "caption: Node.js\ncreated: 20140811172010003\nmodified: 20211114031651879\ntags: GettingStarted\ntitle: GettingStarted - Node.js\ntype: text/vnd.tiddlywiki\n\n{{Installing TiddlyWiki on Node.js}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/gettingstarted/GettingStarted - Online.tid",
    "content": "caption: Online\ncreated: 20160216191710789\nmodified: 20211114031651879\ntags: GettingStarted\ntitle: GettingStarted - Online\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki can also be hosted on online services such as Dropbox and Cloudant.\n\n;Dropbox (syncs the entire HTML file)\n:To edit files stored in your Dropbox, go to http://tiny.cc/tw5inthesky/. This will allow you to open any HTML files found. \n;Cloudant (or another CouchDB-type server) (syncs individual tiddlers)\n:http://noteself.github.io/"
  },
  {
    "path": "editions/tw5.com/tiddlers/gettingstarted/GettingStarted - Safari.tid",
    "content": "caption: Safari\ncreated: 20140811171121022\nmodified: 20211114031651879\ntags: GettingStarted\ntitle: GettingStarted - Safari\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki on Safari can only save changes using the manual HTML5-compatible fallback saver module.\n\n{{Saving on Safari}}\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/gettingstarted/GettingStarted - iOS.tid",
    "content": "caption: iPad/iPhone\ncreated: 20140811170918707\nmodified: 20211114031651879\ntags: GettingStarted\ntitle: GettingStarted - iOS\ntype: text/vnd.tiddlywiki\n\n{{Saving on iPad/iPhone}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/gettingstarted/GettingStarted.tid",
    "content": "created: 20131129090249275\nmodified: 20220819041016415\ntags: [[Working with TiddlyWiki]] Welcome\ntitle: GettingStarted\ntype: text/vnd.tiddlywiki\n\nThe easiest way to use ~TiddlyWiki is to sign up for a free account with [[Tiddlyhost|https://tiddlyhost.com/]], an independently run community service. If you find Tiddlyhost useful, please consider [[donation or sponsorship|https://tiddlyhost.com/donate]].\n\nClick here to download an empty copy of ~TiddlyWiki: {{$:/editions/tw5.com/snippets/download-empty-button}}\n\nThe next step is to choose a method for saving changes. There's a wide variety of methods available, with different features and limitations. Click on the badge for a method to see more information about it. You can also click on one of the platform filters to restrict the listing to methods that work with that platform.\n\n<<.warning \"Don't attempt to use the browser ''File''/''Save'' menu option to save changes (it doesn't work)\">><br/><br/>\n\n{{Saving}}"
  },
  {
    "path": "editions/tw5.com/tiddlers/hellothere/A Gentle Guide to TiddlyWiki.tid",
    "content": "created: 20150325170720682\nmodified: 20210519110623819\ntags: HelloThere\ntitle: A Gentle Guide to TiddlyWiki\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki is an incredibly flexible and versatile tool that is conceived and constructed differently than most software. This can make it hard to understand until the moment when it clicks, and becomes a seamless extension of your brain.\n\nStarting with the basics, TiddlyWiki is a note-taking web application you can download for free, store wherever you like and customise however you wish. Use it to capture, organise and share your notes in ways that word processors and other note-taking tools cannot.\n\n~TiddlyWiki is designed to be non-linear, structuring content with stories, tags, hyperlinks, and other features. You can organise and retrieve your notes in ways that conform to your personal thought patterns, rather than feel chained to one preset organisational structure.\n\nYou can use ~TiddlyWiki as a single file that you view and edit through any web browser, whether you are online or offline. Or you can use it as a powerful [[Node.js application|TiddlyWiki on Node.js]] that stores each of your notes as a separate file.\n\nHow can you make ~TiddlyWiki work for you? We recommend you start with our introductory documentation listed below, and then browse the TableOfContents, available in the Contents tab in the sidebar. Or just [[follow our simple instructions|GettingStarted]] and try it out for yourself!\n\n<<list-links \"[tag[HelloThere]]\">>\n\nAlso see:\n\n* [[\"Grok TiddlyWiki\" by Soren Bjornstad]]\n* [[TiddlyWiki Video Tutorials by Francis Meetze]]"
  },
  {
    "path": "editions/tw5.com/tiddlers/hellothere/AllTiddlers.tid",
    "content": "created: 20140225211938920\nmodified: 20140225211938920\ntitle: AllTiddlers\ntype: text/vnd.tiddlywiki\n\nCurrent tiddlers:\n\n<$list filter=\"[!is[system]sort[title]]\" />\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/hellothere/Discover TiddlyWiki.tid",
    "content": "created: 20140904121000000\nmodified: 20151023165341339\ntags: HelloThere\ntitle: Discover TiddlyWiki\ntype: text/vnd.tiddlywiki\n\nYou've never seen //anything// like ~TiddlyWiki. ~TiddlyWiki is:\n\n:: a tool, \n:: a toolbox, \n:: a community, \n:: and a philosophy. \n\n! ~TiddlyWiki is a Tool\n\n''~TiddlyWiki is first and foremost a tool:'' it is a free downloadable tool for capturing and organising content from the web, from your documents or from your brain. It is a tool for note-taking, bookmarking, pinning, writing, managing to-do lists and projects, collaborating, blogging, and publishing.\n\nIn ~TiddlyWiki you create or paste content into notes called tiddlers, then connect your tiddlers with hyperlinks and tags. You can then quickly retrieve your notes through features such as tag pills, sidebar tabs, and ~TiddlyWiki's lightning fast search window. You can even dynamically include one tiddler's content inside another - similar to using building blocks - to create articles, lists, presentations and more.\n\n! ~TiddlyWiki is a Toolbox\n\nIn addition to being a versatile tool, ''~TiddlyWiki is also a toolbox.''\n\nWhere other note-taking products hook you with the basic program then charge you for the really helpful features, ~TiddlyWiki has an ever-expanding collection of completely free visual themes, colour palettes, plugins, widgets and macros, which you can then mix and match so that you can tweak and tailor your ~TiddlyWiki to get it just the way you want it. \n\n! ~TiddlyWiki is also a Community\n\nWe are a [[community|Community]] of users and developers who help each other imagine new ways of thinking and organising and create new solutions, so that ~TiddlyWiki is continually adapting to better serve your needs. ~TiddlyWiki users and developers share questions and advice at a ~TiddlyWiki Google group. They also create tutorials, adaptations, and plugins to enhance your ~TiddlyWiki experience. See the section ''Community'' of the TableOfContents for more details.\n\n! Finally, ~TiddlyWiki is a philosophy\n\nThe purpose of taking and organising a note (or recording any kind of content) is to be able to retrieve it later. If you can't find your notes in your note-taking system, your note-taking becomes a colossal waste of time.\n\nThe [[TiddlyWiki philosophy|Philosophy of Tiddlers]] is that the best way to take notes is to separate them into tiddlers, the smallest semantic units possible. A tiddler might be an image, a webpage link, a concept, the definition of a term, or a specific customisation such as a macro.\n\nThese tiddlers can then be woven together to create longer units: stories, articles, lists, image galleries, and much more. ~TiddlyWiki's features such as tagging, hyperlinking, and filters are specially designed to help you relate and connect tiddlers together in multiple ways, facilitating your future retrieval of your notes and even helping you see unexpected relationships among your tiddlers and the information they contain.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/hellothere/Find Out More.tid",
    "content": "color: #880\ncreated: 20241009150347613\nicon: $:/core/images/help\nmodified: 20241115170824144\ntags: Welcome\ntitle: Find Out More\ntype: text/vnd.tiddlywiki\n\nResources to help you learn more about ~TiddlyWiki and its community.\n\n<div class=\"tc-cards\">\n<$list filter=\"[tag[HelloThumbnail]]\">\n<$macrocall $name=\"flex-card\" captionField=\"caption\" descriptionField=\"text\"/>\n</$list>\n</div>\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/hellothere/HelloThere.tid",
    "content": "created: 20130822170200000\nicon: $:/core/icon\nlist: [[A Gentle Guide to TiddlyWiki]] [[Discover TiddlyWiki]] [[Some of the things you can do with TiddlyWiki]] [[Ten reasons to switch to TiddlyWiki]] Examples [[What happened to the original TiddlyWiki?]]\nmodified: 20250807084952911\ntags: Welcome\ntitle: HelloThere\ntype: text/vnd.tiddlywiki\n\n<h2\nstyle=\"\n\tbackground: red;\n\tpadding: 0.5em;\n\tcolor: white;\n\tfont-weight: bold;\n\ttext-align: center;\n\tborder-radius: 0.5em;\n\tbox-shadow: 0 1px 3px 0 #d4d4d5, 0 0 0 1px #d4d4d5;\n\tbackground-image: linear-gradient(90deg, rgb(34, 132, 224), rgb(95, 174, 248), rgb(34, 132, 224));\n\">\nMake Something of Your Notes\n</h2>\n\n<h2\nclass=\"tc-hero-heading\"\nstyle=\"\n\ttext-align: center;\n\">\nWelcome to TiddlyWiki, a unique [[non-linear|Philosophy of Tiddlers]] notebook for [[capturing|Creating and editing tiddlers]], [[organising|Structuring TiddlyWiki]] and [[sharing|Sharing your tiddlers with others]] complex information\n</h2>\n\nUse it to keep your [[to-do list|TaskManagementExample]], to plan an [[essay or novel|\"TiddlyWiki for Scholars\" by Alberto Molina]], or to organise your wedding. Record every thought that crosses your brain, or build a flexible and responsive website.\n\n* ~TiddlyWiki stores its data and code in a single HTML file, requiring no installs, no external dependencies, just a web browser\n\n* ~TiddlyWiki lets you choose where to keep your data, guaranteeing that in the decades to come you will [[still be able to use|Future Proof]] the notes you take today\n\n* ~TiddlyWiki is infinitely customisable and extensible with many plugins that add new features\n\n* ~TiddlyWiki is the product of a collective of developers, part of an extensive community of users\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/hellothere/HelloThumbnail.tid",
    "content": "created: 20150414070451144\nlist: [[HelloThumbnail - Newsletter]] [[HelloThumbnail - Community Survey 2025]] [[HelloThumbnail - Introduction Video]] [[HelloThumbnail - Grok TiddlyWiki]] [[HelloThumbnail - Latest Version]] [[HelloThumbnail - MultiWikiServer]] [[HelloThumbnail - Twenty Years of TiddlyWiki]] [[HelloThumbnail - Funding]] [[HelloThumbnail - TiddlyWiki Privacy]] [[HelloThumbnail - Marketplace]] [[HelloThumbnail - Intertwingled Innovations]] [[HelloThumbnail - TiddlyWikiLinks]]\nmodified: 20150414070948246\ntitle: HelloThumbnail\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/hellothere/Some of the things you can do with TiddlyWiki.tid",
    "content": "created: 20140904090300000\nmodified: 20211018102355896\ntags: HelloThere\ntitle: Some of the things you can do with TiddlyWiki\ntype: text/vnd.tiddlywiki\n\n* Take notes, and use tags and hyperlinking to form relationships between your notes\n* Use tabs, tables, tag-based lists, and tables of contents to get organised\n* Bookmark your favorite websites (see an example at http://giffmex.org/experiments/tidmarks.html)\n* Keep track of tasks and appointments, and organise them by multiple tags (see our TaskManagementExample)\n* Inventory just about anything: your recipes, personal library, contacts, music collection, and more\n* Create a blog or website\n* Write a book\n* Organise your images into galleries (see [[Icon Gallery]])\n* Share the information in your ~TiddlyWiki with others, as an online file, as a file attachment, as a tiddler file, or as a link to a specific online tiddler (try clicking and dragging a tiddler from one ~TiddlyWiki file to another to see what happens)\n* Draw a sketch (Edit [[Motovun Jack.jpg]] and start drawing over the image to see what happens)\n* Use familiar web user interface elements such as lightboxes - see SampleWizard\n* Create a slideshow presentation\n* Set up an entire local or online knowledgebase, with a central ~TiddlyWiki file linking to other ~TiddlyWiki files (http://recursos.giffmex.org is a Spanish online example of this)\n* Set up a data visualisation using tiddlers as data (see the visualisations at https://tiddlywiki.com/plugins/tiddlywiki/d3/)\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/hellothere/Ten reasons to switch to TiddlyWiki.tid",
    "content": "created: 20140904085700000\nmodified: 20150414071655191\ntags: HelloThere\ntitle: Ten reasons to switch to TiddlyWiki\ntype: text/vnd.tiddlywiki\n\n@@.tc-double-spaced-list\n# With ~TiddlyWiki you can organise your notes your way, not their way. Your notes conform to your way of thinking rather than being forced into a hierarchical straightjacket of notebooks and tabs\n# ~TiddlyWiki's nonlinear approach will actually make you think about your information in new and helpful ways\n# Finding your notes in ~TiddlyWiki is lightning fast\n# There are many ways to customise and adapt every aspect of ~TiddlyWiki\n# ~TiddlyWiki is free and is compatible with all platforms. Any web browser will open it. You don't need to purchase an expensive program or pay a subscription fee to use it\n# ~TiddlyWiki files promote the free sharing of information. There are many ways you can share your information from ~TiddlyWiki\n# With ~TiddlyWiki, your information is yours, and you store it where you want to - on your device, on a USB stick, in Dropbox, on your server\n# ~TiddlyWiki features an ever-growing number of plugins, themes, widgets, and languages\n# The online ~TiddlyWiki community is friendly and will do their best to give you the help you need\n# If you are a programmer, you have even more ways to play with ~TiddlyWiki. With ~TiddlyWiki, the more you know, the more fun you can have with it\n@@\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/hellothere/Testimonials and Reviews.tid",
    "content": "color: #088\nicon: $:/core/images/star-filled\nmodified: 20241115170824144\ntags: Welcome\ntitle: Testimonials and Reviews\ntype: text/vnd.tiddlywiki\n\n\\parsermode inline\n<div class=\"tc-cards\">\n<$list filter=\"[tag[Testimonial]]\">\n<$macrocall $name=\"flex-card\" class=\"tc-card-quote\" captionField=\"caption\" descriptionField=\"text\"/>\n</$list>\n</div>"
  },
  {
    "path": "editions/tw5.com/tiddlers/hellothere/What happened to the original TiddlyWiki.tid",
    "content": "title: What happened to the original TiddlyWiki?\ntags: HelloThere\ncreated: 201409040851\nmodified: 201409040851\n\n<a class=\"tc-float-right tc-bordered-image\" href=\"https://classic.tiddlywiki.com/\" target=\"_blank\" rel=\"noopener noreferrer\">[img width=\"200\" [TiddlyWiki Classic.png]]</a>\n\nThe original [[Classic|TiddlyWikiClassic]] version of TiddlyWiki is still available at:\n\nhttps://classic.tiddlywiki.com.\n\nNote that the [[current version|TiddlyWiki5]] of TiddlyWiki is not fully backwards compatible with TiddlyWikiClassic. Content can be imported but will need massaging to adapt to the new WikiText format. A ''tw2parser'' plugin is under development that will allow faithful display of most content created for TiddlyWikiClassic:\n\nhttps://tiddlywiki.com/plugins/tiddlywiki/tw2parser/\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/hellothere/badges/ProductHunt-Badge.svg.tid",
    "content": "title: ProductHunt-Badge.svg\ntype: image/svg+xml\ntags: [[HelloThere Badge]]\n\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"250px\" height=\"54px\" viewBox=\"0 0 250 54\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n  <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n    <g transform=\"translate(-130.000000, -73.000000)\">\n      <g transform=\"translate(130.000000, 73.000000)\">\n        <rect stroke=\"\" fill=\"#24273f\" x=\"0.5\" y=\"0.5\" width=\"249\" height=\"53\" rx=\"10\"></rect>\n        <text font-family=\"Helvetica-Bold, Helvetica\" font-size=\"9\" font-weight=\"bold\" fill=\"#FFFFFF\">\n          <tspan x=\"53\" y=\"20\">Product Hunt</tspan>\n        </text>\n        <text font-family=\"Helvetica-Bold, Helvetica\" font-size=\"16\" font-weight=\"bold\" fill=\"#FFFFFF\">\n          <tspan x=\"52\" y=\"40\">#2 Product of the Day</tspan>\n        </text>\n        \n        <g transform=\"translate(17.000000, 13.000000)\"><path d=\"M4.33,16.364 L0.328,24.9 C0.202,25.158 0.335,25.32 0.755,25.24 L4.013,24.532 C4.07755234,24.5094173 4.14861896,24.5149617 4.20888789,24.5472826 C4.26915683,24.5796035 4.31309537,24.6357337 4.33,24.702 L5.797,27.709 C5.937,28.033 6.099,28.099 6.225,27.842 L10.485,18.908 L4.33,16.364 Z M16.67,16.364 L20.672,24.9 C20.805,25.158 20.665,25.32 20.245,25.24 L16.987,24.532 C16.9224353,24.5100506 16.8516562,24.5158869 16.7915589,24.5481157 C16.7314616,24.5803445 16.687439,24.6360738 16.67,24.702 L15.203,27.709 C15.063,28.033 14.908,28.099 14.775,27.842 L10.515,18.908 L16.67,16.364 Z\" fill=\"#DE7818\" fill-rule=\"nonzero\"></path><path d=\"M9.298,21.392 C9.298,21.399 9.284,21.392 9.269,21.392 C7.03578049,21.1442528 4.94208026,20.1826237 3.299,18.65 C3.291,18.642 3.269,18.635 3.276,18.627 L3.46,18.237 C3.468,18.222 3.482,18.259 3.49,18.267 C5.067,19.733 7.257,20.655 9.497,20.927 C9.505,20.927 9.52,20.927 9.52,20.935 L9.298,21.392 Z\" fill=\"#B35454\"></path><circle fill=\"#9B9B9B\" cx=\"10.5\" cy=\"10.489\" r=\"10.489\"></circle><circle fill=\"#949494\" cx=\"10.5\" cy=\"10.489\" r=\"9.045\"></circle><circle fill=\"#B6B6B6\" cx=\"10.75\" cy=\"10.75\" r=\"8.75\"></circle><path d=\"M7.19,9.018 L7.19,9.054 L9.159,9.054 L9.159,9.013 C9.159,8.315 9.663,7.823 10.389,7.823 C11.086,7.823 11.544,8.239 11.544,8.86 C11.544,9.358 11.227,9.786 9.984,10.934 L7.314,13.448 L7.314,14.884 L13.741,14.884 L13.741,13.208 L10.178,13.208 L10.178,13.097 L11.573,11.813 C13.073,10.477 13.623,9.645 13.623,8.708 C13.623,7.214 12.358,6.2 10.465,6.2 C8.503,6.2 7.19,7.337 7.19,9.018 Z\" fill=\"#EFEFEF\"></path><path d=\"M12.97,3.089 C16.3260745,3.89113363 18.7213186,6.85251327 18.8041673,10.3021205 C18.8870161,13.7517278 16.6366978,16.8246793 13.323,17.787 C15.358,16.232 16.707,13.578 16.707,10.563 C16.707,7.379 15.203,4.6 12.969,3.089 L12.97,3.089 Z\" fill-opacity=\"0.2\" fill=\"#FFFFFF\"></path><path d=\"M11.702,21.392 C11.709,21.399 11.724,21.392 11.731,21.392 C14.024,21.104 16.131,20.182 17.717,18.664 C17.724,18.657 17.746,18.65 17.739,18.642 L17.554,18.252 C17.547,18.237 17.532,18.274 17.524,18.281 C15.947,19.748 13.751,20.655 11.503,20.927 C11.495,20.927 11.48,20.927 11.48,20.935 L11.702,21.392 Z\" fill=\"#B35454\"></path></g>\n      </g>\n    </g>\n  </g>\n</svg>"
  },
  {
    "path": "editions/tw5.com/tiddlers/hellothere/badges/ProductHunt-Link.tid",
    "content": "title: Product Hunt Link\ntags: [[HelloThere Badge]]\n\n<a href=\"https://www.producthunt.com/posts/tiddlywiki-2?utm_source=badge-top-post-badge&utm_medium=badge&utm_souce=badge-tiddlywiki-2\" aria-label=\"Product Hunt: Product of the Day\" target=\"_blank\" rel=\"noopener noreferrer\">{{ProductHunt-Badge.svg}}</a>"
  },
  {
    "path": "editions/tw5.com/tiddlers/hellothere/quickstart/Quick Start.tid",
    "content": "color: #cc9\ncreated: 20241009163451663\nicon: $:/core/images/tip\nlist: GettingStarted [[Getting Started Video]] [[Find Out More]] [[TiddlyWiki on the Web]] [[Testimonials and Reviews]]\nmodified: 20241115170824144\ntags: Welcome\ntitle: Quick Start\ntype: text/vnd.tiddlywiki\n\nChoose how to get started quickly with ~TiddlyWiki.\n\n<div class=\"tc-cards tc-action-card\">\n<$list filter=\"[[Quick Start: Tiddlyhost]] [[Quick Start: Desktop]] [[Quick Start: DIY]] [[Quick Start: Xememex]]\">\n<$macrocall $name=\"flex-card\" bordercolor={{!!color}} textcolor={{!!text-color}} backgroundcolor={{!!background-color}} captionField=\"caption\" descriptionField=\"text\"/>\n</$list>\n</div>\n<div class=\"tc-cards tc-small\">\n<$link to=\"中文社区 - Chinese Community\" class=\"tc-btn-big-green tc-card\" aria-label=\"Chinese Community\">\n中文社区<br/>Chinese Community\n</$link>\n</div>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/hellothere/quickstart/desktop.tid",
    "content": "title: Quick Start: Desktop\ntags: [[Getting Started]]\ncaption: Desktop\nicon: $:/core/images/storyview-zoomin\nbutton-color: #37753e\nbutton-text: Download\nbackground: linear-gradient(90deg,#f0fff1, #ffffff)\nlink: TiddlyDesktop\n\nDownload the official desktop application for macOS, Windows and Linux"
  },
  {
    "path": "editions/tw5.com/tiddlers/hellothere/quickstart/diy.tid",
    "content": "title: Quick Start: DIY\ntags: [[Getting Started]]\ncaption: DIY\nicon: $:/core/images/theme-button\nbutton-color: #ff4522\nbutton-text: Explore\nbackground: linear-gradient(90deg,#fff4f2, #ffffff)\nlink: GettingStarted\n\nFind the configuration that is right for you to get the full benefits of ~TiddlyWiki"
  },
  {
    "path": "editions/tw5.com/tiddlers/hellothere/quickstart/tiddlyhost.tid",
    "content": "title: Quick Start: Tiddlyhost\ntags: [[Getting Started]]\ncaption: Tiddlyhost\nicon: $:/core/images/globe\nbutton-color: #00009a\nbutton-text: Create Account\nbackground: linear-gradient(90deg,#f5f5ff, #ffffff)\nlink: Tiddlyhost\n\nThe easiest way to get started with an online ~TiddlyWiki"
  },
  {
    "path": "editions/tw5.com/tiddlers/hellothere/quickstart/xememex.tid",
    "content": "title: Quick Start: Xememex\ntags: [[Getting Started]]\ncaption: Xememex\nicon: $:/core/images/star-filled\nbutton-color: #bf5fb6\nbutton-text: Find out more\nbackground: linear-gradient(90deg,#fff1fe, #ffffff)\nlink: Xememex\n\nFor companies and teams, a multiuser ~TiddlyWiki from Intertwingled Innovations"
  },
  {
    "path": "editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - Community Survey.tid",
    "content": "title: HelloThumbnail - Community Survey 2025\ntags: HelloThumbnail\ncolor: rgb(234, 205, 183)\nimage: Community Survey 2025\ncaption: Community Survey\nlink: Community Survey 2025\nribbon-text: NEW\n\nExplore the responses to the 2025 community survey"
  },
  {
    "path": "editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - Funding.tid",
    "content": "background-color: #EDB431\ncaption: How is ~TiddlyWiki Funded?\ncolor: #ff0\nimage: Funding\nlink: Funding TiddlyWiki\ntags: HelloThumbnail\ntitle: HelloThumbnail - Funding\n\nFind out how you can help support ~TiddlyWiki financially"
  },
  {
    "path": "editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - Grok TiddlyWiki.tid",
    "content": "title: HelloThumbnail - Grok TiddlyWiki\ntags: HelloThumbnail\ncolor: #D5B7EA\nimage: Grok TiddlyWiki Banner\ncaption: Grok ~TiddlyWiki 2.0\nlink: \"Grok TiddlyWiki\" by Soren Bjornstad\n\nA comprehensive interactive guide to ~TiddlyWiki, from the very basics to the advanced concepts, featuring exercises and takeaways to aid learning"
  },
  {
    "path": "editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - Intertwingled Innovations.tid",
    "content": "background-color: #EDB431\ncaption: Intertwingled Innovations\ncolor: #ff0\nimage: Intertwingled Innovations\nlink: Intertwingled Innovations\ntags: HelloThumbnail\ntitle: HelloThumbnail - Intertwingled Innovations\ntype: text/vnd.tiddlywiki\n\nSupport the development of ~TiddlyWiki by hiring Jeremy Ruston through Intertwingled Innovations Limited"
  },
  {
    "path": "editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - Introduction Video.tid",
    "content": "title: HelloThumbnail - Introduction Video\ntags: HelloThumbnail\ncolor: red\nbackground-color: #fff\nicon: {{$:/core/images/video}}\ncaption: Introduction to ~TiddlyWiki\nlink: Introduction Video\nimage: Introduction Video Thumbnail.jpg\n\nShort video introducing basic ~TiddlyWiki concepts"
  },
  {
    "path": "editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - Latest Version.tid",
    "content": "title: HelloThumbnail - Latest Version\ntags: HelloThumbnail\ncaption: What's New in v<<version>>\nlink: Releases\nimage: New Release Banner\ncolor: #fff\n\n\\define prerelease-regexp() [0-9]+\\.[0-9]+\\.[0-9]+\\-prerelease\n<$list filter=\"[<version>!regexp<prerelease-regexp>]\" variable=\"ignore\">\nThe latest version v<<version>> of ~TiddlyWiki (released on <$view field=\"released\" tiddler={{{ [<version>addprefix[Release ]] }}} format=\"date\" template=\"DDth MMM YYYY\"/>)\n</$list>\n<$list filter=\"[<version>regexp<prerelease-regexp>]\" variable=\"ignore\">\nThis is a prerelease build for testing and review\n</$list>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - Marketplace.tid",
    "content": "title: HelloThumbnail - Marketplace\ntags: HelloThumbnail\ncolor: #6B6E98\nbackground-color: #EAE57D\nimage: TiddlyWiki Marketplace Banner\ncaption: ~TiddlyWiki Marketplace\nlink: TiddlyWiki Marketplace\n\nExplore commercial products and services for ~TiddlyWiki"
  },
  {
    "path": "editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - MultiWikiServer.tid",
    "content": "title: HelloThumbnail - MultiWikiServer\ntags: HelloThumbnail\ncolor: purple\nbackground-color: #fff\ncaption: ~MultiWikiServer\nlink: MultiWikiServer\nimage: MWS Banner\ntype: text/vnd.tiddlywiki\n\nFind out more about the new ~MultiWikiServer plugin that turns ~TiddlyWiki into a full-fledged server system supporting multiple user accounts and tiddler sharing"
  },
  {
    "path": "editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - Newsletter.tid",
    "content": "title: HelloThumbnail - Newsletter\ntags: HelloThumbnail\ncaption: ~TiddlyWiki Newsletter\nlink: TiddlyWiki Newsletter\nimage: TiddlyWiki Newsletter Badge\ncolor: #fff\ntype: text/vnd.tiddlywiki\nribbon-text: NEW\n\nSubscribe to the ~TiddlyWiki Newsletter, a summary of the most interesting and relevant news from the ~TiddlyWiki community\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - TW5-Graph.tid",
    "content": "caption: Graphs and Visualizations\ncolor: #5778d8\nimage: TW5-Graph.png\nlink: TW5-Graph by Flibbles\ntags: HelloThumbnail\ntitle: HelloThumbnail - TW5-Graph\nribbon-text: NEW\n\n\\rules except wikilink\n\nUse TiddlyWiki plugins to easily create visualizations of your tiddlers.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - TiddlyWiki Privacy.tid",
    "content": "title: HelloThumbnail - TiddlyWiki Privacy\ntags: HelloThumbnail\ncolor: #D5B7EA\nimage: TiddlyWiki Privacy Badge\ncaption: Your Privacy and Security\nlink: TiddlyWiki Privacy and Security\ntype: text/vnd.tiddlywiki\n\nWith care, ~TiddlyWiki can be used totally privately, without needing to trust anything or anyone but your own device"
  },
  {
    "path": "editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - TiddlyWikiLinks.tid",
    "content": "title: HelloThumbnail - TiddlyWikiLinks\ntags: HelloThumbnail\ncolor: #D5B7EA\nimage: TiddlyWikiLinks\ncaption: Community Links\nlink: Community Links Aggregator\n\nLinks to ~TiddlyWiki-related content collected by the community"
  },
  {
    "path": "editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - Twenty Years of TiddlyWiki.tid",
    "content": "title: HelloThumbnail - Twenty Years of TiddlyWiki\ntags: HelloThumbnail\ncolor: #D5B7EA\nimage: Twenty Years of TiddlyWiki\ncaption: Twenty Years of ~TiddlyWiki\nlink: History of TiddlyWiki\n\nCelebrating 20 years since the launch of ~TiddlyWiki"
  },
  {
    "path": "editions/tw5.com/tiddlers/hiddensettings/Hidden Setting Content to be displayed for empty story.tid",
    "content": "created: 20240811052854726\nmodified: 20240811053649554\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: Content to be displayed for empty story\n\nTo display content when the story is empty, create $:/config/EmptyStoryMessage and enter the desired contents.\n\nThe following would show the GettingStarted tiddler when all others are closed.\n\n```\n{{GettingStarted||$:/core/ui/ViewTemplate}}\n```"
  },
  {
    "path": "editions/tw5.com/tiddlers/hiddensettings/Hidden Setting Default Story Ordering.tid",
    "content": "title: Hidden Setting: Retain Story ordering\ntags: [[Hidden Settings]]\n\n<<.from-version \"5.2.4\">> The tiddler $:/config/ControlPanel/Basics/DefaultTiddlers/RetainStory contains the value that is assigned to $:/DefaultTiddlers when clicking the \"retain story ordering\" button in $:/ControlPanel under the ''Info'' -> ''Basics'' tab."
  },
  {
    "path": "editions/tw5.com/tiddlers/hiddensettings/Hidden Setting Default Tiddler Colour.tid",
    "content": "created: 20240907042443909\nmodified: 20241120225606237\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: Default Tiddler Colour\ntype: text/vnd.tiddlywiki\n\nA default tag-tiddler colour can be specified by creating a tiddler called $:/config/DefaultTiddlerColour containing the CSS color value. For more details see: [[Tiddler Colour Cascade]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/hiddensettings/Hidden Setting Default Tiddler Icon.tid",
    "content": "created: 20200306145004925\nmodified: 20200306145004925\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: Default Tiddler Icon\ntype: text/vnd.tiddlywiki\n\nA default tiddler icon can be specified by creating a tiddler called $:/config/DefaultTiddlerIcon containing the title of the tiddler containing the icon.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/hiddensettings/Hidden Setting DefaultMissingType.tid",
    "content": "tags: [[Hidden Settings]]\ntitle: Hidden Setting: Default Type for Missing Tiddlers\ntype: text/vnd.tiddlywiki\n\nBy default new tiddlers are created with a blank content type.\n\nThe hidden setting in $:/config/DefaultMissingType can be set to another content type which is used by default for new tiddlers created by clicking on a missing link (for example, `text/markdown` to default to Markdown for missing tiddlers). If no value is provided, the content type will be blank and WikiText will be used.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/hiddensettings/Hidden Setting EditTabIndex.tid",
    "content": "title: Hidden Setting: Tab Index for Edit-Inputs\ntags: [[Hidden Settings]]\ncreated: 20190702074846206\nmodified: 20190702074846206\n\nThe input fields of Tiddlers that are being edited can be assigned a ''tabindex'' value (preferably 1) so that the <kbd>Tab</kbd> key can be used to directly move the focus from one input to the next or backwards using <kbd>shift-Tab</kbd>\n\n$:/config/EditTabIndex\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/hiddensettings/Hidden Setting HtmlParserDisableSandbox.tid",
    "content": "created: 20210411100148461\nmodified: 20210411100148461\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: HTML Parser Sandbox\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.2.0\">> By default, tiddlers with the type `text/html` are displayed in an iframe with the [[sandbox attribute|https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#attr-sandbox]] set to the empty string. This causes all security restrictions to be applied, disabling many features such as JavaScript, downloads and external file references. This is the safest setting.\n\nTo globally disable the sandbox, set the tiddler $:/config/HtmlParser/DisableSandbox to `yes`. This will mean that the code in the iframe has full access to TiddlyWiki's internals, which means that a malicious HTML page could exfiltrate data from a private wiki.\n\nTo keep the sandbox but control which restrictions are applied, ensure that $:/config/HtmlParser/DisableSandbox is not set to `yes`, and then set $:/config/HtmlParser/SandboxTokens to the desired list of tokens [[from the MDN documentation|https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#attr-sandbox]].\n\nNote that these are global settings. To control the sandboxing on an individual tiddler basis will require a custom `<iframe>` to be used.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/hiddensettings/Hidden Setting NewImageType.tid",
    "content": "created: 20211116222524148\nmodified: 20211116222535549\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: New-Image Type\ntype: text/vnd.tiddlywiki\n\nBy default new images are created with the image-type `jpeg`\n\nThe hidden setting in $:/config/NewImageType can be set to another Image-Type which is used for new Image Tiddlers, like `png`\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/hiddensettings/Hidden Setting SaveWikiButton Filename.tid",
    "content": "created: 20181215154811835\nmodified: 20190122000000000\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: Filename for Save Wiki Button\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.19\">> When saving a ~TiddlyWiki using the <<.button save-wiki>> button, the default  file name used for saving is constructed using the Title of the ~TiddlyWiki as entered in the [[Control Panel|$:/ControlPanel]], which is stored in the tiddler [[$:/SiteTitle]].\n\nThe value used is in the form `{{$:/SiteTitle}}.html`. This causes the filename to be constructed from the site Title with a `.html` extension.\n\nIf a tiddler named [[$:/config/SaveWikiButton/Filename]] is created, the text in that tiddler will be used as the default file name used for saving the ~TiddlyWiki.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/hiddensettings/Hidden Setting SaveWikiButton Template.tid",
    "content": "created: 20181215154811835\nmodified: 20181215154811835\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: Template for Save Wiki Button\ntype: text/vnd.tiddlywiki\n\nDetermines the template used when saving via the \"save wiki\" page control button.\n\nDefaults to `$:/core/save/all`.\n\nYou can change this setting to choose what is saved when the \"save wiki\" button is clicked.\n\n$:/config/SaveWikiButton/Template\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/hiddensettings/Hidden Setting Search-NavigateOnEnter.tid",
    "content": "title: Hidden Setting: Navigate on Enter\ntags: [[Hidden Settings]]\ncreated: 20201108104956516\nmodified: 20201108104956516\n\nThe configuration Tiddler $:/config/Search/NavigateOnEnter/enable can be used to enable (if set to ''yes'') Navigation to and Creation of missing Tiddlers in the various search input fields when hitting <kbd>{{$:/config/shortcuts/input-accept}}</kbd> respectively <kbd>{{$:/config/shortcuts/input-accept-variant}}</kbd>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/hiddensettings/Hidden Setting SearchMinLength.tid",
    "content": "created: 20161011074235805\nmodified: 20161011074235805\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: Search Minimum Length\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.14\">> Controls the minimum length of a search string before results are displayed.\n\nDefaults to \"3\".\n\n$:/config/Search/MinLength\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/hiddensettings/Hidden Setting ShowEditPreviewPerTiddler.tid",
    "content": "created: 20211028083211182\nmodified: 20211029090311444\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: Show Edit Preview per Tiddler\n\nControls whether the [[tiddler editing preview|Text preview]] is controlled globally (the default) or on a per-tiddler basis.\n\nSet it to ''yes'' to enable per-tiddler mode.\n\n$:/config/ShowEditPreview/PerTiddler\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/hiddensettings/Hidden Setting Sync System Tiddlers From Server.tid",
    "content": "created: 20220909094340097\nmodified: 20220909094340097\ntitle: Hidden Setting: Sync System Tiddlers From Server\ntags: [[Hidden Settings]]\n\n<<.from-version \"5.1.23\">> Determines whether system tiddlers are synced from the server under Node.js. (Note that this is a one-way setting; system tiddlers are always synced //to// the server).\n\n* `no` -- system tiddlers are not synced from the server (default)\n* `yes` -- system tiddlers are synced from the server\n\nEngaging sync of system tiddlers means that tiddlers such as $:/StoryList and $:/HistoryList get synced, which can lead to unexpected outcomes when multiple users are connected to the same server at the same time (it means that the story sequence is synced between all the users).\n\n$:/config/SyncSystemTiddlersFromServer"
  },
  {
    "path": "editions/tw5.com/tiddlers/hiddensettings/Hidden Setting SyncLogging.tid",
    "content": "created: 20190903192324700\nmodified: 20190903192324700\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: Sync Logging\ntype: text/vnd.tiddlywiki\n\nSpecifies whether [[Syncadaptor|https://tiddlywiki.com/dev/#Syncadaptor]] should log information to the browser's developer console or not.\n\nDefaults to `yes`. Set to `no` to disable logging.\n\nChanging needs restart to take effect.\n\n$:/config/SyncLogging\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/hiddensettings/Hidden Setting SyncPollingInterval.tid",
    "content": "created: 20190903192324700\nmodified: 20190903192324700\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: Sync Polling Interval\ntype: text/vnd.tiddlywiki\n\nSpecifies the interval at which [[Syncadaptor|https://tiddlywiki.com/dev/#Syncadaptor]] synchronizes tiddlers between the server and the browser.\n\nDefaults to \"60000\" (60 * 1000 ms = 1 min).\n\nChanging needs restart to take effect.\n\n$:/config/SyncPollingInterval\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/hiddensettings/Hidden Setting TagsMinLength.tid",
    "content": "created: 201712032331\nmodified: 201712032331\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: Tags Minimum Length\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.16\">> Tag Dropdown: Controls the minimum length of an input string before results are displayed.\n\nDefaults to \"0\".\n\n$:/config/Tags/MinLength\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/hiddensettings/Hidden Setting ViewTemplate and EditTemplate.tid",
    "content": "title: Hidden Setting: ViewTemplate and EditTemplate\ntags: [[Hidden Settings]]\ncreated: 20190704053532718\nmodified: 20190704053532718\n\nThe configuration Tiddlers $:/config/ui/ViewTemplate and $:/config/ui/EditTemplate can be used to change the ''~ViewTemplate'' respectively the ''~EditTemplate'' used in the [[Story PageTemplate|$:/core/ui/PageTemplate/story]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/hiddensettings/Hidden Setting_ Disable Drag and Drop.tid",
    "content": "created: 20200315143638556\nmodified: 20210519155433742\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: Disable Drag and Drop\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.22\">> To disable all the drag and drop operations that are built into the core, set the following tiddler to \"no\":\n\n$:/config/DragAndDrop/Enable\n\nTo selectively re-enable drag and drop for an instance of the [[list-tagged-draggable Macro]] or [[list-links-draggable Macro]] you must ensure that the variable `tv-enable-drag-and-drop` is set to `yes` for the scope of the macro invocation. For example, note how it is still possible to use drag and drop within this list even if $:/config/DragAndDrop/Enable is set to \"no\":\n\n<$macrocall $name=\"wikitext-example-without-html\" src=\"\"\"<$set name=\"tv-enable-drag-and-drop\" value=\"yes\">\n\n<<list-tagged-draggable tag:\"HelloThere\">>\n\n</$set>\"\"\"/>\n\nNote that when using the DropzoneWidget and the DroppableWidget directly the ''enable'' attribute works independently of the global setting.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/hiddensettings/Hidden Setting_ Disable Lazy Loading.tid",
    "content": "created: 20191025100113266\nmodified: 20191025100113266\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: Disable Lazy Loading\ntype: text/vnd.tiddlywiki\n\nLazyLoading can be disabled by setting this value to `yes`\n\n$:/config/SyncDisableLazyLoading\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/hiddensettings/Hidden Setting_ Enable File Import in Editor_1.tid",
    "content": "created: 20210519155447339\nmodified: 20210519160010708\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: Enable File Import in Editor\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.2.0\">>\n\n$:/config/Editor/EnableImportFilter\n\nThis filter determines whether dragging and dropping files in the editor works for a given tiddler or not. A non-empty result enables drag and drop in the editor for that tiddler.\nThis filter is used in such a manner that it respects the global drag and drop setting."
  },
  {
    "path": "editions/tw5.com/tiddlers/hiddensettings/Hidden Setting_ More Tabs Horizontal.tid",
    "content": "created: 20221128092648000\nmodified: 20221128092903706\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: More Tabs Horizontal\ntype: text/vnd.tiddlywiki\n\nSet the $:/config/ui/SideBar/More/horizontal tiddler to ''yes'', to align the ''More -> Tabs'' in horizontal orientation."
  },
  {
    "path": "editions/tw5.com/tiddlers/hiddensettings/Hidden Setting_ Scroll Top Adjustment.tid",
    "content": "created: 20180816105911495\nmodified: 20180816110627713\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: Scroll Top Adjustment\ntype: text/vnd.tiddlywiki\n\nAs part of navigating to a tiddler, TiddlyWiki scrolls the page so that the top of the tiddler lines up with the top of the browser window.  This means that the upper part of tiddlers can be obscured when using custom `position:fixed` toolbars at the top of the window.\n\nTo adjust the scroll position to allow for the toolbar, add the CSS class `tc-adjust-top-of-scroll` to the toolbar. TiddlyWiki's scrolling mechanism will then dynamically adjust the scroll position by the height of that element.\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/hiddensettings/Hidden Setting_ Search AutoFocus.tid",
    "content": "created: 20150619162518761\nmodified: 20150619162605652\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: Search AutoFocus\ntype: text/vnd.tiddlywiki\n\nWhen TiddlyWiki first opens in the browser the search box is automatically given the focus by default. If this causes problems, you can change the default by changing this value from ''true'' to ''false'':\n\n$:/config/Search/AutoFocus\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/hiddensettings/Hidden Setting_ Tag Pill Drag Filter.tid",
    "content": "created: 20240508093242925\nmodified: 20240728134955433\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: Tag Pill Drag Filter\ntype: text/vnd.tiddlywiki\n\nThe ''~$:/core/config/TagPillDragFilter'' defines the filter string, that is used to drag & drop a tap-pill eg: <<tag HelloThere>> from 1 wiki to an other wiki. \n\n* By default the set contains all tiddlers that are ''tagged:'' HelloThere ''without'' the HelloThere tag-tiddler itself\n** Core Default: <code><$transclude $tiddler=\"$:/core\" $subtiddler=\"$:/core/config/TagPillDragFilter\" output=\"text/plain\" /></code>\n* If you do want to include the tag-tiddler use the following filter:\n** Tagged tiddlers only: `[all[current]tagging[]] [all[current]is[tiddler]] +[!is[draft]]`\n\nYour $:/core/config/TagPillDragFilter\n<%if [[$:/core/config/TagPillDragFilter]is[tiddler]] %>\n''has been overwritten'' and  contains:\n<%else%>\ndefaults to:\n<%endif%>\n<code>{{$:/core/config/TagPillDragFilter}}</code>\n\n<<.note title:\"Be Aware\" _:\"The core default filter does //not// include shadow-tiddlers. It will //include overwritten// shadow tiddlers. See: [[is Operator]] for details about the `is[tiddler]` and other possibilities.\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/hiddensettings/Hidden Setting_ Typin Refresh Delay.tid",
    "content": "created: 20150619162409306\nmodified: 20191014091803518\ntags: [[Hidden Settings]]\ntitle: Hidden Setting: Typing Refresh Delay\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki defers processing changes to draft tiddlers and tiddlers with the prefix `$:/temp/volatile/` until a timeout has elapsed (this is called throttling). The mechanism can be extended to other tiddlers by adding a `throttle.refresh` field. See RefreshThrottling for details.\n\nThe default value of 400ms gives a good balance of responsiveness in most cases but isn't always optimal on lower powered mobile devices.\n\nThe timeout can now be changed by changing this value (in milliseconds):\n\n$:/config/Drafts/TypingTimeout\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/hiddensettings/Hidden Settings.tid",
    "content": "created: 20150619162223882\nmodified: 20150619162405141\ntags: [[Customise TiddlyWiki]]\ntitle: Hidden Settings\ntype: text/vnd.tiddlywiki\n\nThe most useful configuration settings for TiddlyWiki are exposed in the [[control panel|$:/ControlPanel]] but some more advanced settings do not have a full user interface. Instead, the underlying configuration tiddlers are edited directly.\n\nTo change these settings on an empty TiddlyWiki, you can drag the links to the individual configuration tiddlers directly from this wiki into yours.\n\n<<list-links \"[tag[Hidden Settings]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/hire-jeremy/Hire Jeremy Sidebar Segment.tid",
    "content": "title: Hire Jeremy Sidebar Segment\ncreated: 20250708130030654\nmodified: 20250708130030654\ntags: $:/tags/SideBarSegment\nlist-after: $:/core/ui/SideBarSegments/site-subtitle\n\n<div class=\"yellow-note-sidebar-wrapper\">\n\t<div class=\"yellow-note-sidebar\">\n\t\t<$link to=\"Hire the founder of TiddlyWiki\">\n\t\t\t<div class=\"yellow-note\">\n\t\t\t\t<i class=\"yellow-note-pin\"></i>Hire the founder of ~TiddlyWiki\n\t\t\t</div>\n\t\t</$link>\n\t</div>\n</div>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/hire-jeremy/HireJeremy.tid",
    "content": "title: Hire the founder of TiddlyWiki\nmodified: 20250901094938063\ncreated: 20250901094938063\n\n<i class=\"yellow-note-pin\"></i>//A note from [[JeremyRuston]]//\n\nI am currently taking on new commercial clients through my company [[Intertwingled Innovations]].\n\n<$expand.able heading=\"Why choose me?\">\n\nSome of the ways I can help your organisation get the best from ~TiddlyWiki:\n\n* ''Custom applications'' -- Bespoke ~TiddlyWiki solutions to speed up your workflows\n* ''Core sponsorship'' -- Fund new features or official plugins for your organisation while strengthening the wider ~TiddlyWiki ecosystem\n* ''Seamless integration'' -- Connect ~TiddlyWiki with your existing tools and infrastructure so everything works smoothly together\n* ''Sustaining ~TiddlyWiki'' -- Commercial projects are what enable me to keep maintaining and innovating ~TiddlyWiki. By working with me, you directly support its future\n\n</$expand.able>\n\n<$expand.able heading=\"Ways to collaborate\">\n\nProjects begin as a conversation to understand your vision, goals and operating context. One or more proof-of-concept prototypes are followed by iterative, timeboxed development cycles with regular meetings to review progress and agree on the next steps.\n\nMost of my projects have grown into long-term collaborations, but I also take on smaller, focused engagements. I work across several projects at once, identifying common needs and building components that benefit multiple clients, and often become enhancements for the whole ~TiddlyWiki community.\n\n</$expand.able>\n\n<$expand.able heading=\"Client success stories\">\n\nI've been lucky enough to work on some meaningful and interesting projects with a wide range of organisations from across the globe. Notably:\n\n* For a charity -- [[Xememex]], a multi-user ~TiddlyWiki server with thousands of users\n* For a philanthropic investment firm -- an extranet to share their pipeline with external partners\n* For a law firm -- a hypertext knowledge system with hundreds of thousands of densely linked tiddlers\n* For a publisher -- an experimental hypertext book publishing platform\n* For a real estate firm -- a new geospatial plugin\n\n</$expand.able>\n\n<$expand.able heading=\"Impact on TiddlyWiki\">\n\nMany core features and official plugins originated in client projects:\n\n* Testcase Widget\n* Consent Banner Plugin\n* Dynannotate and Dynaview Plugins\n* Excel Importer Plugin\n* Geospatial Plugin\n* ~InnerWiki Plugin\n* Text Slicer Plugin\n* Tour and Confetti Plugins\n* XLSX Importer Plugin\n\n</$expand.able>\n\nIf you'd like to explore how ~TiddlyWiki could help your organisation, please contact me at <a href=\"mailto:jeremy@jermolene.com\" target=\"_blank\">jeremy@jermolene.com</a>.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/hire-jeremy/HireJeremyDefinitions.tid",
    "content": "title: $:/HireJeremy/definitions\ntags: $:/tags/Global\n\n\\widget $expand.able(heading:'Click me',colour)\n<$let\n\tstateBase=<<qualify \"$:/temp/HireJeremy\">>\n\tstate={{{ [<stateBase>addsuffix<heading>] }}}\n>\n\t<$button class=\"tc-btn-big-green\" style.background-color=<<colour>>>\n\t\t<%if [<state>get[text]else[closed]match[closed]] %>\n\t\t\t<$action-setfield $tiddler=<<state>> $value=\"open\"/>\n\t\t\t{{$:/core/images/right-arrow}}\n\t\t<%else%>\n\t\t\t<$action-setfield $tiddler=<<state>> $value=\"closed\"/>\n\t\t\t{{$:/core/images/down-arrow}}\n\t\t<%endif%>\n\t\t<$text text=<<heading>>/>\n\t</$button>\n\n\t<$reveal type=\"match\" state=<<state>> text=\"open\" default=\"closed\" animate=\"yes\" retain=\"yes\" tag=\"div\">\n\t\t<$slot $name=\"ts-raw\">\n\t</$reveal>\n</$let>\n\\end $expand.able\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/hire-jeremy/HireJeremyStyles.tid",
    "content": "title: $:/HireJeremy/styles\ntags: [[$:/tags/Stylesheet]]\ntype: text/vnd.tiddlywiki\n\n\\define sidebarbreakpoint()\n<$text text={{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}/>\n\\end\n\n\\define sidebarbreakpoint-minus-one()\n<$text text={{{ [{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}removesuffix[px]subtract[1]addsuffix[px]] ~[{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}] }}}/>\n\\end\n\n.yellow-note, [data-tiddler-title=\"Hire the founder of TiddlyWiki\"] {\n\tz-index: 800;\n\tmargin-top: 2em;\n\ttransform-origin: 50% 50%;\n\ttransition: transform 200ms ease-in-out;\n\ttransform: rotate(-0.6deg) scale(1);\n\tbackground-color: #ffff92;\n\tcolor: black;\n\tbox-shadow: 6px 6px 14px 0px rgba(0, 0, 0, 0.3);\n\tborder: 1px solid #cccc40;\n\ttext-shadow: 0 1px 0 #ffffff;\n}\n\n.yellow-note:hover, [data-tiddler-title=\"Hire the founder of TiddlyWiki\"]:hover {\n\ttransform: rotate(-0deg) scale(1.03);\n}\n\n@media (max-width: <<sidebarbreakpoint-minus-one>>) {\n\n.yellow-note, [data-tiddler-title=\"Hire the founder of TiddlyWiki\"] {\n\ttransform: rotate(-0.6deg) scale(0.9);\n}\n\n.yellow-note:hover, [data-tiddler-title=\"Hire the founder of TiddlyWiki\"]:hover {\n\ttransform: rotate(-0deg) scale(1.03);\n}\n\n}\n\n.yellow-note h2.tc-title, [data-tiddler-title=\"Hire the founder of TiddlyWiki\"] h2.tc-title {\n\tmargin: 0.5em 0;\n\tcolor: #334;\n\tfont-weight: bold;\n}\n\n[data-tiddler-title=\"Hire the founder of TiddlyWiki\"] .tc-tags-wrapper, [data-tiddler-title=\"Hire the founder of TiddlyWiki\"] .tc-subtitle {\n\tdisplay: none;\n}\n\n.yellow-note p, [data-tiddler-title=\"Hire the founder of TiddlyWiki\"] p {\n\tmargin: 0.5em 0;\n}\n\n.yellow-note .tc-tiddler-body h1, [data-tiddler-title=\"Hire the founder of TiddlyWiki\"] .tc-tiddler-body h1 {\n\tmargin: 0.25em 0;\n\tfont-weight: bold;\n}\n\n.yellow-note .tc-tiddler-body a, [data-tiddler-title=\"Hire the founder of TiddlyWiki\"] .tc-tiddler-body a {\n\tcolor: #5778d8;\n}\n\n[data-tiddler-title=\"Hire the founder of TiddlyWiki\"] .tc-btn-big-green {\n\tmargin: 0;\n\tpadding: 0;\n\ttext-align: left;\n\twidth: 100%;\n\tcolor: #334;\n\tfont-weight: bold;\n\tbackground-color: inherit;\n}\n\n@media (min-width: <<sidebarbreakpoint>>) {\n\n[data-tiddler-title=\"Hire the founder of TiddlyWiki\"] .tc-btn-big-green {\n\tmargin-left: -1.35em;\n}\n\n}\n\n[data-tiddler-title=\"Hire the founder of TiddlyWiki\"] .tc-btn-big-green svg {\n\tcolor: #cece86;\n}\n\n.yellow-note-sidebar-wrapper {\n\toverflow-y: hidden;\n\tmax-height: {{{ [[$:/StoryList]contains[Hire the founder of TiddlyWiki]then[0em]else[15em]] }}};\n\ttransition: max-height 600ms ease-in-out;\n}\n\n.yellow-note-sidebar {\n\tfont-size: 2em;\n\ttext-align: center;\n\tline-height: 1.3;\n\tmax-width: 8.5em;\n}\n\n.yellow-note-sidebar .yellow-note {\n\tpadding: 0.5em;\n\tmargin: 1em 0;\n\ttransform: perspective(600px) rotateX(10deg) rotateY(5deg) scale(0.9);\n\ttransform-style: preserve-3d;\n}\n\n.yellow-note-sidebar:hover .yellow-note {\n\ttransform: perspective(900px) rotateX(5deg) rotateY(10deg) scale(0.95);\n\ttransform-style: preserve-3d;\n}\n\n.yellow-note-sidebar:hover a {\n\ttext-decoration: none;\n}\n\n/* Thanks to https://codepen.io/dillonbrady/pen/EgRoZQ */\n\n.yellow-note-pin {\n\tbackground-color: #aaa;\n\tdisplay: block;\n\theight: 32px;\n\twidth: 2px;\n\tposition: absolute;\n\tleft: 50%;\n\ttop: -16px;\n\tz-index: 1;\n}\n\n.yellow-note-pin:after {\n\tbackground-color: #A31;\n\tbackground-image: radial-gradient(25% 25%, circle, hsla(0,0%,100%,.3), hsla(0,0%,0%,.3));\n\tborder-radius: 50%;\n\tbox-shadow: inset 0 0 0 1px hsla(0,0%,0%,.1), inset 3px 3px 3px hsla(0,0%,100%,.2), inset -3px -3px 3px hsla(0,0%,0%,.2), 23px 20px 3px hsla(0,0%,0%,.15);\n\tcontent: \"\";\n\theight: 12px;\n\tleft: -5px;\n\tposition: absolute;\n\ttop: -10px;\n\twidth: 12px;\n}\n\n.yellow-note-pin:before {\n\tbackground-color: hsla(0,0%,0%,0.1);\n\tbox-shadow: 0 0 .25em hsla(0,0%,0%,.1);\n\tcontent: \"\";\n\theight: 24px;\n\twidth: 2px;\n\tleft: 0;\n\tposition: absolute;\n\ttop: 8px;\n\n\ttransform: rotate(57.5deg);\n\t-moz-transform: rotate(57.5deg);\n\t-webkit-transform: rotate(57.5deg);\n\t-o-transform: rotate(57.5deg);\n\t-ms-transform: rotate(57.5deg);\n\n\ttransform-origin: 50% 100%;\n\t-moz-transform-origin: 50% 100%;\n\t-webkit-transform-origin: 50% 100%;\n\t-ms-transform-origin: 50% 100%;\n\t-o-transform-origin: 50% 100%;\n}"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Adding a Twitter Follow button.tid",
    "content": "created: 20140103091348509\nmodified: 20140919161534259\ntags: Learning\ntitle: Adding a Twitter Follow button\ntype: text/vnd.tiddlywiki\n\nHere's a macro that provides a Twitter Follow button for a particular username:\n\n```\n\\define twitterFollowButton(username)\n<iframe allowtransparency=\"true\" frameborder=\"0\" scrolling=\"no\" src=\"//platform.twitter.com/widgets/follow_button.html?screen_name=$username$\" style=\"width:300px; height:20px;\"></iframe>\n\\end\n```\n\nThe only change from the version published at https://dev.twitter.com/docs/follow-button is that new lines have been removed.\n\nNote that the src URL is given without a protocol (ie \"http\" or \"https\"). It's done this way so that it works on sites whether they are hosted on a HTTP or HTTPS domain. If you want the Twitter button to work while using a TiddlyWiki offline on a \"file://\" URL, then you'll need to manually add the protocol. For example:\n\n```\n<iframe allowtransparency=\"true\" frameborder=\"0\" scrolling=\"no\" src=\"https://platform.twitter.com/widgets/follow_button.html?screen_name=jermolene\" style=\"width:300px; height:20px;\"></iframe>\n```\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Adding_a_table_of_contents_to_the_sidebar.tid",
    "content": "created: 20160424150551727\nmodified: 20181106224128548\ntags: [[Customise TiddlyWiki]]\ntitle: Adding a table of contents to the sidebar\ntype: text/vnd.tiddlywiki\n\nThe standard mechanisms in ~TiddlyWiki for creating Table-of-Contents are macros known collectively as \"toc\" [[macros|Macros]] (click on link to learn more about macros). They use `Tagging` as their means of creating relationships, so be sure to review the [[Tagging]] topic tiddler if tagging is a new concept for you.\n\nA customisable [[table of contents|Table-of-Contents Macros]] can be added to the sidebar with the following steps:\n\n# Create a tiddler called [[TableOfContents]]\n# Give it the tag ''~$:/tags/SideBar''\n# Set the text to <div><pre><code><$text text=\"\"\"\n<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'TableOfContents'>>\n\n</div>\"\"\"/></code></pre></div>\n# Add a ''caption'' field with the text ''Contents''\n# Add a ''list-after'' field with the text ''~$:/core/ui/SideBar/Open''\n\nAdd entries to the table of contents by creating tiddlers tagged ''~TableOfContents''. An easy way is to choose <<.icon $:/core/images/new-here-button>> ''new here'' from the tiddler toolbar of the ''~TableOfContents'' tiddler. \n(if you don't see the \"new here\" button, click on the down arrow <<.icon $:/core/images/down-arrow>> to see more menu options.)\n\nTo create child tiddlers (tiddlers that come below other tiddlers), tag them with the name of the parent tiddler.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Adopt a Titles Policy.tid",
    "content": "created: 20130825103300000\nmodified: 20140912150136251\ntags: Learning\ntitle: Adopt a Titles Policy\ntype: text/vnd.tiddlywiki\n\nAs the structures within your TiddlyWiki documents get more complex it can be hard to keep the titles of tiddlers consistent. For example, should terms be defined in the plural or the singular? Camel case or separate words?\n\nRecording a formal titling policy can help to reduce confusion. For example, the titling policies for this wiki are recorded in the [[Documentation Style Guide]].\n\n! SystemTiddler Titles\n\nA useful convention is to use the prefix `$:/_` for any system tiddlers that you create to ensure that they are near the top of the system tiddler listing in the sidebar\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Concatenating text and variables using macro substitution.tid",
    "content": "created: 20160424150551727\nmodified: 20230615114519672\ntags: Learning\ntitle: Concatenating text and variables using macro substitution\ntype: text/vnd.tiddlywiki\n\n!! Important\n\nSince <<.from-version \"5.3.0\">> it is recommended to use [[substituted attributes|Substituted Attribute Values]] or the [[substitute filter operator|substitute Operator]] to concatenate text and variables.\n\nIt's a frequent use case in ~TiddlyWiki that you will want to put the results of variables together with various bits of strings of text. This process in some programming languages is often referred to as \"concatenating\" text.\n\n---\n\n!! What is Wrong\n\nYou might, for instance want to set up a template for your customer database, where links will automatically refer to additional contact information about your customer. Inside your tiddler, you might try something like this:\n\n<<.bad-example \"`[[Additional Info|<<currentTiddler>>-Contact]]`\">>\n\nBut that won't work. If you try this, the link will be interpreted very literally, and will attempt to take you to:\n\n```\n<<currentTiddler>>-Contact\n```\n\nThe solution is to use a macro to put the rendered value of `<<currentTiddler>>` together with the bit of additional text, `-Contact`.\n\nCreate a macro at the top of the tiddler like this:\n\n```\n\\define linkup(link) [[Additional Info|$link$-Contact]]\n```\n\nYou might be tempted to invoke the new macro like this:\n\n<<.bad-example \"`<<linkup <<currentTiddler>> >>`\">>\n\nBut if you do, you will find that `<<currentTiddler>>` doesn't get rendered, but instead gets passed literally.\n\nInstead, you could use the [[MacroCallWidget]] widget, like this:\n\n```\n<$macrocall $name=\"linkup\" link=<<currentTiddler>> />\n```\n\nIn this case, we passed the value of a variable directly to our macro. This is often a general way to go about this task. If you wanted to create more links based on other variables you could re-use the macro for each situation.\n\nIf, as in this case, the only variable you are using is `currentTiddler` then you could write a simple macro, like this:\n\n```\n\\define linkup() [[Additional Info|$(currentTiddler)$-Contact]]\n```\n\nNotice that in this case we don't pass an argument. Instead, we reference the variable using the special syntax `$(variable)$`.  Since we don't pass an argument, we can invoke it without the `<$macrocall>` widget more simply, like this:\n\n```\n<<linkup>>\n```"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Configuring the default TiddlerInfo tab.tid",
    "content": "created: 20140828080837703\nmodified: 20140912145908651\ntags: [[Customise TiddlyWiki]]\ntitle: Configuring the default TiddlerInfo tab\ntype: text/vnd.tiddlywiki\n\nThe configuration tiddler [[$:/config/TiddlerInfo/Default]] contains the title of the tiddler containing the default tiddler info tab.\n\nThe default value is `$:/core/ui/TiddlerInfo/Fields` corresponding to the ''Fields'' tab. Other possible values are:\n\n<ul>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TiddlerInfo]!has[draft.of]]\">\n<li>\n<$view field=\"title\"/>\n</li>\n</$list>\n</ul>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Constructing JSON tiddlers.tid",
    "content": "created: 20220427174702859\nmodified: 20230922122551197\ntags: [[JSON in TiddlyWiki]] Learning\ntitle: Constructing JSON tiddlers\n\nSee [[JSON in TiddlyWiki]] for an overview of using JSON in TiddlyWiki.\n\nJSON data is just plain text, and so there are an wide variety of techniques to generate it in wikitext.\n\nAt a high level, we have several ways to generate JSON data in TiddlyWiki's own tiddler format:\n\n* JSONTiddlerWidget\n* [[jsontiddler Macro]]\n* [[jsontiddlers Macro]]\n\nWhen constructing JSON data manually, the [[jsonstringify Operator]] is needed to ensure that any special characters are properly escaped.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Creating SubStories.tid",
    "content": "created: 20140214215718317\nmodified: 20211127032217828\ntags: Learning\ntitle: Creating SubStories\ntype: text/vnd.tiddlywiki\n\nThis example shows how to create a sub-story within a tiddler that is independent of the main [[story|Story River]].  The NavigatorWidget and ListWidget work together to:\n\n# Add tiddlers to the [[story|Story River]] when links are clicked. Navigate to the tiddler corresponding to the link click. (''story'' attribute of the NavigatorWidget)\n# Remove tiddlers from the [[story|Story River]] when tiddler close buttons are clicked. (''story'' attribute of NavigatorWidget)\n# Animate the opening and closing of tiddlers. (''storyview'' attribute of the ListWidget)\n# Display the list of open tiddlers. (''filter'' and ''template'' attributes of the ListWidget)\n# Display tiddlers in [[draft mode|DraftMechanism]]. (''editTemplate'' attribute of the ListWidget)\n# Track [[navigation history|HistoryMechanism]]. (''history'' attribute of both NavigatorWidget and ListWidget)\n# And more!\n\nHere is the example code (see also StateMechanism for related discussion):\n\n<$macrocall $name='wikitext-example-without-html'\nsrc='<$navigator story=\"$:/temp/DemoStoryList\" history=\"$:/temp/DemoHistoryList\">\n\n{{$:/core/ui/SideBarSegments/search}}\n\n<$list\n  filter=\"[list[$:/temp/DemoStoryList]]\"\n  history=\"$:/temp/DemoHistoryList\"\n  template={{$:/config/ui/ViewTemplate}}\n  editTemplate={{$:/config/ui/EditTemplate}}\n  storyview=\"classic\"\n  emptyMessage=\"Use search box above. Clicked search links will open here instead of in the main story.<p>No search ideas? Click this link to get started: HelloThere</p>\"/>\n\n</$navigator>'>"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Creating a custom export format.tid",
    "content": "title: Creating a custom export format\nmodified: 20141124173526227\ncreated: 20141124173526227\ntags: [[Customise TiddlyWiki]]\n\nTo create a custom export format that exports tiddlers as their raw body text:\n\n# Create a tiddler with the following fields:\n#* ''tags'': [[$:/tags/Exporter]]\n#* ''description'': Description of this exporter\n#* ''extension'': Default file extension for this export format (including the dot; for example `.tid`)\n# Set the following content:\n\n```\n\\define renderContent()\n{{{ $(exportFilter)$ ||$:/core/templates/plain-text-tiddler}}}\n\\end\n<<renderContent>>\n```\n\nThe variable `exportFilter` contains a filter defining which tiddlers should be exported.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Creating a splash screen.tid",
    "content": "created: 20180927081216605\nmodified: 20180927084436111\ntags: [[Customise TiddlyWiki]]\ntitle: Creating a splash screen\ntype: text/vnd.tiddlywiki\n\nBy default, TiddlyWiki displays a blank screen while it is loading. You can add a special \"splash screen\" that is displayed while the wiki loads.\n\nLarger TiddlyWiki files and those loaded over a slow network connection may take a little time to load. Once fully loaded, performance improves, because everything is now running entirely within the browser. Using a splash screen ensures people know the loading process is taking place, reducing the chance they will leave the page.\n\nIn order for the splash screen to be displayed before TiddlyWiki is initialised or [[decrypted|Encryption]], it is embedded as static HTML/CSS within the TiddlyWiki HTML file. This is done with the [[SystemTag: $:/tags/RawMarkupWikified/TopBody]], or any of the other system tags beginning with $:/tags/RawMarkup. \n\nIn order to remove the splash screen when the wiki has finished loading, the HTML should be wrapped in a container with the special class `tc-remove-when-wiki-loaded`. Any DOM elements with this class are automatically deleted by the core once the wiki has loaded.\n\nHere's an example of a simple splash screen that just displays the text //Loading//. To use it, copy the text into a new tiddler, give it the type \"text/plain\" and the tag \"$:/tags/RawMarkupWikified/TopBody\":\n\n```\n<div class=\"tc-remove-when-wiki-loaded\">\nLoading...\n</div>\n```\n\nIf the tiddler is given the WikiText type `text/vnd.tiddlywiki` then the contents are wikified as the file is saved, allowing transclusion etc. For example, here's an example that quotes the site title in the loading message. To use it, copy the text into a new tiddler, give it the type \"text/vnd.tiddlywiki\" and the tag \"$:/tags/RawMarkupWikified/TopBody\":\n\n```\n\\rules only filteredtranscludeinline transcludeinline\n<div class=\"tc-remove-when-wiki-loaded\">\nPlease wait while {{$:/SiteTitle}} is loading\n</div>\n```\n\nThe `\\rules` directive is used to limit the wikitext syntax that is recognised to the two forms of inline transclusion. This avoids accidental wikification of tiddler content.\n\nThere is a more complex example splash screen using CSS animations and images configured in this wiki: see $:/SplashScreen\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/CurvedText.tid",
    "content": "title: $:/CurvedText\n\nEverything in federation"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Custom Styles by title.tid",
    "content": "created: 201804111739\nmodified: 201804111739\ntags: [[How to apply custom styles]]\ntitle: Custom styles by data-tiddler-title\ntype: text/vnd.tiddlywiki\n\n! Attribute: data-tiddler-title\n\n<<.from-version \"5.1.16\">>\n\nThe ~TiddlyWiki core adds several `attributes` to the rendered content. With those attributes it's possible to apply custom styles to the tiddler content. \n\nFor example this tiddler is named: \"{{!!title}}\" so the attribute looks like this: \n\n```\ndata-tiddler-title=\"Custom styles by data-tiddler-title\"\n```\n\n!! Examples\n\nThe following CSS is defined in [[Custom data-styles]] and creates a blue border for exactly this tiddler.\n\n```\n[data-tiddler-title=\"Custom styles by data-tiddler-title\"] {\n  border: 1px solid blue;\n}\n```\n\nTo create a green border for every tiddler that starts with `$:/` aka system tiddlers, you'd need to use CSS like so: (not applied here but you can experiment with it! )\n\n```\n[data-tiddler-title^=\"$:/\"] {\n  border: 1px solid green;\n}\n```\n\n!! More Possibilities\n\n{{Attribute Selectors}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Custom Styles by userClass.tid",
    "content": "created: 201804111739\nmodified: 201804111739\ntitle: Custom styles by user-class\ntags: [[How to apply custom styles]]\ntype: text/vnd.tiddlywiki\n\n''Tiddler Field: `class`'' <<.from-version \"5.1.16\">>\n\nThe [[tag manager|$:/TagManager]] allows us to set a tiddler `color` field, that is used to define the \"tag-pill\" colour. Since: <<.from-version \"5.1.16\">> we can define a `class` field, that is directly inserted into the [[ViewTemplate|$:/core/ui/ViewTemplate]] and it can be used for styling: \n\n\"\"\"\ntitle: `anyName`\ntags: `$:/tags/Stylesheet`\nclass: `myClass`\n\"\"\"\n\nEvery tiddler, that has a `class` field can be styled that way!\n\n```\n.myClass {\n  border: 2px solid blue;\n}\n\n```\n\nLearn more at: [[How to apply custom styles]]"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Custom tag pill styles.tid",
    "content": "created: 20230608121519758\nmodified: 20230608123444591\ntags: [[How to apply custom styles]]\ntitle: Custom tag pill styles\ntype: text/vnd.tiddlywiki\n\n! Attribute: data-tag-title\n\n<<.from-version \"5.2.0\">> The attribute <<.attr data-tag-title>> was added to tag pills visible in the tiddler view template. \n\n<<.from-version \"5.3.0\">> The attribute was added to every tag pill visible in the standard ~TiddlyWiki UI. Especially the edit template tag list, the tag-picker dropdown,  the Right sidebar -> More -> Tags tab and the $:/TagManager\n\nThe <<.attr data-tag-title>> HTML attribute only contains the tag-title visible in the tag pill. It can be used to style the tag-pill. \n\nIf you want to style the whole tiddler have a look at: [[Custom styles by data-tiddler-title]]\n\n!! Examples\n\nIf you use the following CSS in a new tiddler tagged: `$:/tags/Stylesheet` every tag that starts with a `#` will have a new border radius. So those tags stand out in contrast to the default tags. \n\n''You have to define both CSS rules'', due to the existing UI structure to catch all tag-pills in the existing TW UI.\n\n```\n[data-tag-title^=\"#\"] .tc-tag-label,\n[data-tag-title^=\"#\"].tc-tag-label {\n   border-radius: 3px;\n}\n```\n\n!! More Possibilities\n\n{{Attribute Selectors}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Custom_Attribute_Selectors.tid",
    "content": "created: 20170126152839462\nmodified: 201804111739\ntags: [[Custom data-styles]]\ntitle: Attribute Selectors\ntype: text/vnd.tiddlywiki\n\n;[attr]\n:Represents an element with an attribute name of attr.\n\n;[attr=\"value\"]\n:Represents an element with an attribute name of attr and whose value is exactly \"value\".\n\n;[attr~=\"value\"]\n:Represents an element with an attribute name of attr whose value is a whitespace-separated list of words, one of which is exactly \"value\".\n\n;[attr|=\"value\"]\n:Represents an element with an attribute name of attr. Its value can be exactly “value” or can begin with “value” immediately followed by “-” (U+002D). It can be used for language subcode matches.\n\n;[attr^=\"value\"]\n:Represents an element with an attribute name of attr and whose first value is prefixed by \"value\".\n\n;[attr$=\"value\"]\n:Represents an element with an attribute name of attr and whose last value is suffixed by \"value\".\n\n;[attr*=\"value\"]\n:Represents an element with an attribute name of attr and whose value contains at least one occurrence of string \"value\" as substring.\n\n;[attr \"operator value\" i]\n:Adding an i (or I) before the closing bracket causes the value to be compared case-insensitively (for characters within the ASCII range). \n\nLearn more at: [[Attribute selectors - CSS|https://developer.mozilla.org/en-US/docs/Web/CSS/Attribute_selectors]] or [[CSS-Specification|https://www.w3.org/TR/CSS22/selector.html#attribute-selectors]]"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Custom_Styles_FAQ.tid",
    "content": "modified: 201804111739\ncreated: 201804111739\ntitle: Custom Styles FAQ\ntags: [[How to apply custom styles]] FAQ-group\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.16\">>\n\n<<list-links \"[tag[Custom Styles FAQ]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Custom_data-styles.tid",
    "content": "created: 20180411173900000\nmodified: 20230803050721827\ntags: data-tags-styles [[How to apply custom styles]] $:/tags/Stylesheet\ntitle: Custom data-styles\ntype: text/vnd.tiddlywiki\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline html\n\n[data-tiddler-title=\"Custom styles by data-tiddler-title\"] {\n  border: 1px solid blue;\n}\n\n[data-tags*=\"example-test\"] {\n  border: 2px solid pink;\n}\n\n[data-tags*=\"example-hardlinebreaks\"] .tc-tiddler-body {\n  word-break: normal;\n  word-wrap: break-word;\n  white-space: pre-wrap;\n}\n\n[data-tags*=\"data-tags-styles\"] .tc-tiddler-body {\n  display: block;\n  padding: 14px;\n  margin-top: 1em;\n  margin-bottom: 1em;\n  word-break: normal;\n  word-wrap: break-word;\n  white-space: pre-wrap;\n  background-color: #f5f5f5;\n  border: 1px solid #cccccc;\n  padding: 0 3px 2px;\n  border-radius: 3px;\n  font-family: Monaco, Consolas, \"Lucida Console\", \"DejaVu Sans Mono\", monospace;\n}\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Custom_styles_by_data-tags.tid",
    "content": "created: 20170124132500000\nmodified: 201804111739\ntags: example-test [[How to apply custom styles]]\ntitle: Custom styles by data-tags\ntype: text/vnd.tiddlywiki\n\n! Attribute: data-tags\n\n<<.from-version \"5.1.16\">>\n\nThe ~TiddlyWiki core adds several `attributes` to the rendered content. These make it possible to apply custom styles to tiddlers. \n\nFor example this tiddler is tagged: <<tag \"How to apply custom styles\">> and <<tag \"example-test\">> so the attribute looks like this: \n\n```\ndata-tags=\"[[How to apply custom styles]] example-test\"\n```\n\n''Important:'' Tiddler tags are ''not'' sorted so the order in the rendered output may be different!\n\n!! Examples\n\nThe following CSS is defined in [[Custom data-styles]] and creates a pink border for all tiddlers (including this one) tagged with `example-test`.\n\n```\n[data-tags*=\"example-test\"] {\n  border: 2px solid pink;\n}\n```\n\n!!! Styling Stylesheets\n\nSo to display tiddlers tagged: `data-tags-styles` in a decent way we can use the following code. (I could have used: `$:/tags/Stylesheet`, but that would affect all stylesheets in this wiki, which is not intended. amt ;)\n\n''Important:'' Don't forget to also specify `.tc-tiddler-body` or the whole tiddler, including the title, will be changed! see: [[Custom data-styles]]\n\n```\n[data-tags*=\"data-tags-styles\"] .tc-tiddler-body {\n  display: block;\n  padding: 14px;\n  margin-top: 1em;\n  margin-bottom: 1em;\n  word-break: normal;\n  word-wrap: break-word;\n  white-space: pre-wrap;\n  background-color: #f5f5f5;\n  border: 1px solid #cccccc;\n  padding: 0 3px 2px;\n  border-radius: 3px;\n  font-family: Monaco, Consolas, \"Lucida Console\", \"DejaVu Sans Mono\", monospace;\n}\n```\n\n!! Hard Linebreaks\n\nThis mechanism may be handy for users who want to write prose text! See: [[Hard Linebreaks with CSS]]\n\n!! More Possibilities\n\n{{Attribute Selectors}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Debugging Stylesheets.tid",
    "content": "created: 20211125175712017\nmodified: 20211125175906085\ntags: [[Using Stylesheets]]\ntitle: Debugging Stylesheets\ntype: text/vnd.tiddlywiki\n\nThe core shadow tiddler $:/snippets/DebugStylesheets contains a simple tool for tracking down certain problems with mismatched brackets and other nested structures.\n\nIn the list below, any stylesheets containing an error will be marked with a red cross:\n\n{{$:/snippets/DebugStylesheets}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Editing Tiddlers with Emacs.tid",
    "content": "created: 20140406210404245\nmodified: 20140919161501896\ntags: Learning\ntitle: Editing Tiddlers with Emacs\ntype: text/vnd.tiddlywiki\n\nMichael Fogleman has written an [[Emacs|http://www.gnu.org/software/emacs/]] major mode called [[tid-mode|https://github.com/mwfogleman/tid-mode]], which is for editing TiddlyWiki .tid files. It is derived from text-mode, uses the useful minor modes org-struct and subword, and updates the modified times when you save a .tid file.\n\nHe also wrote two helper functions for using TiddlyWiki in Emacs. The first opens a tiddlers directory in Dired; the second opens TiddlyWiki in the browser.\n\n```\n(defun open-wiki ()\n  \"Opens a TiddlyWiki directory in Dired.\"\n  (interactive)\n  (dired \"~/Dropbox/wiki/tiddlers/\"))\n```\n  \n```\n(defun browse-wiki ()\n  \"Opens TiddlyWiki in the browser.\"\n  (interactive)\n  (browse-url \"127.0.0.1:8080/\"))\n```\n\nThis latter function may require specifying a browser:\n\n```\n(setq browse-url-browser-function 'browse-url-generic\n      browse-url-generic-program \"chromium\")\n```\n\nYou can bind either of these functions with the global-set-key function:\n\n```\n(global-set-key (kbd \"C-c w\") 'open-wiki)\n```\n\nAt the moment, these are not integrated into tid-mode.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Editing Tiddlers with Vim.tid",
    "content": "modified: 20160111190002\ncreated: 20140406210404245\ntags: Learning\ntitle: Editing Tiddlers with Vim\ntype: text/vnd.tiddlywiki\n\nDevin Weaver has written a [[Vim|http://www.vim.org/]] plugin at https://github.com/sukima/vim-tiddlywiki\n\nIt supports most of the TiddlyWiki syntax and includes a filetype plugin which will auto update the `modified` field.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Editor toolbar.tid",
    "content": "created: 20160817093933820\nmodified: 20190118161349442\ntags: Features [[Formatting text in TiddlyWiki]]\ntitle: Editor toolbar\ntype: text/vnd.tiddlywiki\n\n!! How it Works\n\nThe editor toolbar is a toolbar that helps you format text easily. It appears above the text input field in a tiddler when in edit mode. It has a similar appearance to desktop text editors like Microsoft Word or Libre Office Write. \n\n!! What the Editor toolbar does\nWhen you press the button for a function, it will insert the WikiText in the text field. As an example, if you press the bold button it will insert `'' ''`. \n\nIf you ''highlight'' a piece of text the markup code will automatically go around the highlighted text.\n\nIf you are in another mode, like [[MarkDown|Markdown Plugin]], the toolbar will change to that syntax and insert appropriate code. However It will not change previously typed text or markup.\n\nBesides the standard WikiText formatting, the Editor toolbar has the following buttons:\n\n<<list-links \"[tag[Editor toolbar]sort[title]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Formatting List Results as Tables with CSS - Specified Columns Methods.tid",
    "content": "created: 20161209172820513\nmodified: 20161220161653258\ntags: Learning\ntitle: Formatting List Results as Tables with CSS - Specified Columns Methods\ntype: text/vnd.tiddlywiki\n\nSometimes you want the results of a ``<$list>`` widget to be formatted in the form of multiple columns, instead of just one straight listing. This method uses ~CSS to set up listing as  columns and assumes that you know how many columns you want.  The method here is to create a style that reflects the number of columns you want your table to be in, and then apply that style to the resulting list output.\n\nFor other table-making techniques see also:\n\n* [[Formatting List Results as Tables with CSS - Variable Column Method]]\n* [[Formatting List Results as Tables (no CSS)]]\n\n\n!!! 1) Create a tiddler for the columns tagged with `$:/tags/Stylesheet`, containing:\n\n```\n/* FOUR COLUMN MODE */\n.fourcolumns {\n   display:block;\n   column-count:4;\n   column-gap:1em;\n   -moz-column-count:4;\n   -moz-column-gap:1em;\n   -webkit-column-count: 4;\n   -webkit-column-gap:1em;\n}\n```\n\nNote the various places you need to indicate the number of columns\n\n!!! 2) Then format your output like this:\n\n```\n@@.fourcolumns\n<$list filter=\"[tag[Filter Operators]]\" variable=\"foo\">\n<<foo>><br>\n</$list>\n@@\n```\n\n!! Example showing partial list of filter operators\n\n@@.fourcolumns\n<$list filter=\"[tag[Filter Operators]limit[24]]\" variable=\"foo\">\n<<foo>><br>\n</$list>\n@@\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Formatting List Results as Tables with CSS - Variable Column Method.tid",
    "content": "created: 20161209172820513\nmodified: 20161220162845058\ntags: Learning\ntitle: Formatting List Results as Tables with CSS - Variable Column Method\ntype: text/vnd.tiddlywiki\n\nSometimes you want the results of a ``<$list>`` widget to be formatted in the form of multiple columns, instead of just one straight listing. This method uses CSS to set up listing as  columns. It is responsive, that is,  re-positioning to display fewer columns if the window is too small.\n\nYou don't directly specify a fixed number of columns but instead specify the max-width for the list (which could be a transclusion of the tiddler width) and the width for each item. It lists from left to right, then wraps to a new row.\n\nFor other table-making techniques see also:\n\n* [[Formatting List Results as Tables with CSS - Specified Columns Methods]]\n* [[Formatting List Results as Tables (no CSS)]]\n\n\n!! Example listing using 50 existing ~TiddlyWiki tags\n\n```\n<div class=\"dynamic-table\">\n  <$list filter=\"[has[tags]tags[]sort[title]first[50]]\">\n    <span class=\"item\">\n      <$transclude tiddler=\"$:/core/ui/TagTemplate\"/>\n    </span>\n  </$list>\n</div>\n```\n\n!! Example stylesheet to use with listing\n\n```\n<style>\n.dynamic-table {\n  max-width:700px; /* could transclude tiddler width instead */\n  -ms-box-orient: vertical; /* might be unnecessary */\n  display: -webkit-box;\n  display: -moz-box;\n  display: -ms-flexbox;\n  display: -moz-flex;\n  display: -webkit-flex;\n  display: inline-flex;\n  -webkit-flex-wrap: wrap;\n  flex-wrap: wrap;\n  flex-direction: row;\n}\n\n.item {\n  max-width:160px; min-width:160px;\n  flex: 0 0 2em; /* -grow, -shrink, -basis */\n}\n</style>\n```\n\n!! Results\n\n<div class=\"dynamic-table\">\n  <$list filter=\"[has[tags]tags[]sort[title]first[50]]\">\n    <span class=\"item\">\n      <$transclude tiddler=\"$:/core/ui/TagTemplate\"/>\n    </span>\n  </$list>\n</div>\n\n<style>\n.dynamic-table {\n  max-width:700px; /* could transclude tiddler width instead */\n  -ms-box-orient: vertical;\n  display: -webkit-box;\n  display: -moz-box;\n  display: -ms-flexbox;\n  display: -moz-flex;\n  display: -webkit-flex;\n  display: inline-flex;\n  -webkit-flex-wrap: wrap;\n  flex-wrap: wrap;\n  flex-direction: row;\n}\n\n.item {\n  max-width:160px; min-width:160px;\n  flex: 0 0 2em; /* -grow, -shrink, -basis */\n}\n</style>\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Formatting_List_Results_as_Tables_(no_CSS).tid",
    "content": "created: 20161220154952676\nmodified: 20161220161706470\ntags: Learning\ntitle: Formatting List Results as Tables (no CSS)\ntype: text/vnd.tiddlywiki\n\nSometimes you want the results of a ``<$list>`` widget to be formatted in the form of multiple columns instead of just one straight listing. The following method creates an actual table structure and uses the [[nth operator|nth Operator]] to provide break points for the rows.  It is not responsive, that is,  it doesn't re-position to display fewer columns if the window is too small.\n\nIn the first, outer list structure you must provide a count to indicate at item number rows should occur. So, in the following example, each row breaks after 4 items, so the sequence is 1,5,9, etc. Note that this requires you to know in advance the maximum number of items there will be. There is also an internal limit that is set to n-1 items, where n is the number of columns you want. \n\nNote also that you need to repeat the driving filter operator inside of the internal `<$list>` widget.  Obviously this technique lends itself to a macro implementation.\n\nFor other table-making techniques see also:\n\n* [[Formatting List Results as Tables with CSS - Variable Column Method]]\n* [[Formatting List Results as Tables with CSS - Specified Columns Methods]]\n\n\n!! Example code for a four-column table with fewer than 70 items\n\n```\n<table>\n<$list filter=\"1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65\" variable =\"rows\">\n    <$list filter=\"[tag[Filter Operators]limit[50]] +[nth<rows>]\" variable=\"cell\">\n        <tr>\n        <td> <<cell>> </td>\n        <$list filter=\"[tag[Filter Operators]limit[50]] +[allafter<cell>limit[3]]\" variable=\"this\">\n            <td> <<this>> </td>\n        </$list>\n        </tr>\n    </$list>\n</$list>\n</table>\n```\n\n!! Result\n\n<table>\n<$list filter=\"1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65\" variable =\"rows\">\n    <$list filter=\"[tag[Filter Operators]limit[50]] +[nth<rows>]\" variable=\"cell\">\n        <tr>\n        <td> <<cell>> </td>\n        <$list filter=\"[tag[Filter Operators]limit[50]] +[allafter<cell>limit[3]]\" variable=\"this\">\n            <td> <<this>> </td>\n        </$list>\n        </tr>\n    </$list>\n</$list>\n</table>\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Generating Static Sites with TiddlyWiki.tid",
    "content": "created: 20130828190200000\nmodified: 20241008031135403\ntags: [[TiddlyWiki on Node.js]]\ntitle: Generating Static Sites with TiddlyWiki\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki5 can be used to generate static HTML representations of a TiddlyWiki that doesn't need JavaScript.\nThis process requires that TiddlyWiki be installed on Node.js on your local system. See [[Installing TiddlyWiki on Node.js]] for \ndetails.\n\nThere is much flexibility in how the static HTML is generated. The following scenarios are all illustrated on https://tiddlywiki.com.\n\n! Wiki Snapshots and Tiddler Snapshots\n\nYou can explore a static representation of the main TiddlyWiki site at https://tiddlywiki.com/static.html. That file is a static snapshot of the current DefaultTiddlers. Any tiddlers that it links to are referred to via URLs of the form `/static/HelloThere.html` that point to static snapshots of individual tiddlers. The tiddler HTML files reference a `static.css` stylesheet file.\n\nThe following commands are used to generate the sample static version of the TiddlyWiki5 site:\n\n```sh\ntiddlywiki wikipath --render '[!is[system]]' '[encodeuricomponent[]addprefix[static/]addsuffix[.html]]' text/plain $:/core/templates/static.tiddler.html\ntiddlywiki wikipath --render $:/core/templates/static.template.html static.html text/plain\ntiddlywiki wikipath --render $:/core/templates/static.template.css static/static.css text/plain\n```\n\nThe first RenderCommand generates the HTML representations of all individual non-system tiddlers using the filter `[!is[system]]`, and the next filter `[encodeuricomponent[]addprefix[static/]addsufixx[.html]]` applies URI encoding to each title, and then adds the prefix `static/`, and finally adds the suffix `.html`. The second RenderCommand saves the static version of the DefaultTiddlers in `static.html`, and the final RenderCommand saves the stylesheet. (All the files are placed in the `output` folder of the wiki folder).\n\n! Wiki Snapshot with Internal Links\n\nIt is also possible to produce a single HTML file that contains static representations of tiddlers, and uses standard HTML anchor links to jump between them.\n\nFor example: https://tiddlywiki.com/alltiddlers.html\n\nThe example is built by the following commands:\n\n```\n--render $:/core/templates/alltiddlers.template.html alltiddlers.html text/plain\n```\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Hard_Linebreaks_with_CSS.tid",
    "content": "created: 20170126174506507\nmodified: 20170126211042714\ntags: [[Hard Linebreaks in WikiText]]\ntitle: Hard Linebreaks with CSS\ntype: text/vnd.tiddlywiki\n\nSince TiddlyWiki Version 5.1.16, it's possible to apply customs styles with `data-` attributes. see: [[How to apply custom styles]]\n\nThe [[Custom data-styles]] stylesheet tiddler contains the following definition:\n\n```\n[data-tags*=\"example-hardlinebreaks\"] .tc-tiddler-body {\n  word-break: normal; \n  word-wrap: break-word;\n  white-space: pre-wrap;\n}\n```\n\nIf rendered without the tag, the content of \"Hard Linebreaks with CSS - Example\" will be shown like this: \n\n>{{Hard Linebreaks with CSS - Example}}\n\n----\n\nOpen the tiddler to see the custom CSS rules applied: [[Hard Linebreaks with CSS - Example]]\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Hard_Linebreaks_with_CSS_-_Example.tid",
    "content": "created: 20170126161803543\nmodified: 20170126211025840\ntags: example-hardlinebreaks [[Hard Linebreaks in WikiText]]\ntitle: Hard Linebreaks with CSS - Example\ntype: text/vnd.tiddlywiki\n\nThe following text is rendered without any special WikiText syntax. So most of the ~WikiText functionality will be accessible. \n\nThis is a line\nand this is a new line\nwhile this is yet another line\nand this is the final one\napart from this one\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Height of text editor.tid",
    "content": "created: 20160817103854725\nmodified: 20160817105415313\ntags: [[Editor toolbar]]\ntitle: Height of text editor\n\nThe button {{ $:/core/ui/EditorToolbar/editor-height}} let you adjust the height of the text input field."
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/How to add a banner for GitHub contributions.tid",
    "content": "title: How to add a banner for GitHub contributions\nmodified: 20141123094403948\ncreated: 20141123094403948\ntags: Learning\n\nWhen you edit a tiddler on https://tiddlywiki.com you will see a small ribbon inviting you to edit the source of the tiddler on GitHub.\n\nIf you are using Node.js, you can replicate this feature for your own TiddlyWiki-based site as follows:\n\n# Make sure the following setting is included in the <$link to=\"tiddlywiki.info Files\">`tiddlywiki.info`</$link> file in your [[wiki folder|TiddlyWikiFolders]]:\n#> <pre><code>\t\"config\": {\n\t\t\"retain-original-tiddler-path\": true\n\t}</code></pre>\n# Copy the tiddler [[$:/ContributionBanner]] to your wiki\n# Make the following changes:\n## Adjust the GitHub link URL from https://github.com/TiddlyWiki/TiddlyWiki5/edit/master/editions/tw5.com/tiddlers/ to point to your own GitHub repo\n## Make sure the wording of the text starting \"Can you help us improve this documentation?\" is appropriate for your visitors\n## Adjust the link to [[Improving TiddlyWiki Documentation]] to point to your own tiddler with instructions for the contribution procedure\n\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/How to apply custom styles by tag.tid",
    "content": "caption: {{!!title}} - ^^deprecated^^\ncreated: 20141001132300000\nmodified: 20220704174221300\ntags: [[How to apply custom styles]] $:/deprecated\ntitle: How to apply custom styles by tag\ntype: text/vnd.tiddlywiki\n\n<<.deprecated-since \"5.1.16\" \"Custom styles by data-tags\">>. Also see: [[How to apply custom styles]]\n\n----\n\nYou can apply custom styles to tiddlers that have a particular tag by defining a CSS class with the name `tc-tagged-<Tag Name>`.\n\nFor example, to make tiddlers tagged \"NightReader\" appear in a special colour scheme suitable for night-time reading, [[create a stylesheet|Using Stylesheets]] defining the class `tc-tagged-NightReader` like this:\n\n```\n.tc-tagged-NightReader {\n\tbackground-color:black;\n\tcolor: orange;\n\tpadding: 35px 35px;\n}\n\n.tc-tagged-NightReader .tc-tiddler-body {\n\tfont-size: 1.5em;\n}\n```\n\nThe `tc-tagged-NightReader` class is applied to the entire tiddler and not just the tiddler text. If you want to target a smaller portion of the tiddler you can qualify the CSS selector, as is done here with `.tc-tagged-NightReader .tc-tiddler-body`.\n\nNote that tags containing spaces or non-alphanumeric characters will be converted using URI encoding, making the generated CSS classname hard to predict. For example:\n\n|!Tag |!Generated Class Name |\n|`$:/mytag` |`tc-tagged-%24%3A%2Fmytag` |\n|`Doctor Who` |`tc-tagged-Doctor%20Who` |\n|`£35.23` |`tc-tagged-%C2%A335.23` |\n\nAlthough ~TiddlyWiki will generate these tags, to actually use them in your css, you will need to escape the percent character in your stylesheet, like:\n\n```\n.tc-tagged-Doctor\\%20Who {\n    background-image: url(./tardis_back.svg);\n    background-repeat: no-repeat;\n    background-position: right;\n    color:#FBFBFB;\n}\n```\n\nA utility function is available in JavaScript to perform the conversion:\n\n```\n$tw.utils.tagToCssSelector(\"$:/tags/Stylesheet\")\n```\n\nGenerates the following output:\n\n```\ntc-tagged-\\%24\\%3A\\%2Ftags\\%2FStylesheet\n```\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/How to apply custom styles.tid",
    "content": "created: 20141001132300000\nlist: [[Custom styles by data-tags]] [[Custom styles by data-tiddler-title]]\nmodified: 201804111740\ntags: [[Customise TiddlyWiki]]\ntitle: How to apply custom styles\ntype: text/vnd.tiddlywiki\n\nThere are several ways to apply custom styles.\n\n<<list-links filter:\"[tag[How to apply custom styles]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/How to build a TiddlyWiki5 from individual tiddlers.tid",
    "content": "created: 20131124220600000\nmodified: 20241025051111864\ntags: [[TiddlyWiki on Node.js]]\ntitle: How to build a TiddlyWiki5 from individual tiddlers\ntype: text/vnd.tiddlywiki\n\nFirst install TiddlyWiki as described in [[Installing TiddlyWiki on Node.js]].\n\n# Create an empty [[TiddlyWikiFolder|TiddlyWikiFolders]]\n## Create a new folder in a convenient place (for example `~/MyWiki`)\n## Create a file called `tiddlywiki.info` containing the following text:\n##* `{\"themes\": [\"tiddlywiki/vanilla\",\"tiddlywiki/snowwhite\"]}`\n## Create a subfolder called `tiddlers`\n##* Alternatively, just copy the `editions/empty` folder from the TiddlyWiki5 repo\n# Create individual TiddlerFiles in the `~/MyWiki/tiddlers` directory\n# Execute the following command from the TiddlyWiki5 root directory to build a TiddlyWiki5 file from the tiddlers:\n## `tiddlywiki ~/MyWiki --render $:/core/save/all index.html text/plain`\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/How to change the sort order of sub-branches in a TOC macro.tid",
    "content": "created: 20161209172820513\nmodified: 20190220000000000\ntags: Learning\ntitle: How to change the sort order of sub-branches in a TOC macro\ntype: text/vnd.tiddlywiki\n\nImagine that you are using a [[Table of Contents|Table-of-Contents Macros]] macro similar to this:\n\n```\n<<toc-selective-expandable  \"TableOfContents\" \"sort[title]\">>\n```\n\nThe sorting is fine for most cases, but you would like all your items tagged `Journal` to be sorted by the `created` field. How can you apply a separate sort order to just those sub-items tagged `Journal`?\n\nThe trick is to add a field to the parent tagging tiddler (i.e. `Journal`) that points to a different sort criteria. Let's call the field `fuzzy`, and populate it with the value `created` (`created `is the name of the field that contains a tiddler's creation date).\n\nNow change your [[Table of Contents|Table-of-Contents Macros]] to look like this:\n\n```\n<<toc-selective-expandable  \"TableOfContents\" \"sort{!!fuzzy}\">>\n```\n\nNow your Table of Contents will sort by title everywhere, except for the children of the `Journal` tiddler, which will sort by the `created `date.\n\nThe downside to this trick is that you can't apply a reverse sort based on just one special field. If you reverse the sort order, it will be reversed everywhere.\n\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/How to create a custom story tiddler template.tid",
    "content": "created: 20211204120244761\nmodified: 20211206165108185\ntags: Learning Cascades [[Story Tiddler Template]] [[Story Tiddler Template Cascade]] [[Customise TiddlyWiki]]\ntitle: How to create a custom story tiddler template\ntype: text/vnd.tiddlywiki\n\nHere we show how to add a rule to the [[Story Tiddler Template Cascade]] that causes tiddlers tagged <<tag \"$:/tags/TiddlerList\">> to be displayed with a custom appearance incorporating thumbnails of the tiddlers named in the list field.\n\nOpen [[Demo Tiddler List with Custom Story Tiddler Template]] to see the demo.\n\nFirst, we add a new step to the story tiddler template cascade. The new filter step is:\n\n```\n[tag[$:/tags/TiddlerList]then[$:/_tw5.com/CustomStoryTiddlerTemplateDemo/Template]]\n```\n\nIt can be read as:\n\n```\nIf the tiddler has the tag $:/tags/TiddlerList then return $:/_tw5.com/CustomStoryTiddlerTemplateDemo/Template\n```\n\n> The template $:/_tw5.com/CustomStoryTiddlerTemplateDemo/Template also depends on styles defined in [[$:/_tw5.com/CustomStoryTiddlerTemplateDemo/Styles]].\n\nThe story tiddler template cascade is defined by the tag <<tag \"$:/tags/StoryTiddlerTemplateFilter\">>, so we need to create a configuration tiddler with that tag.\n\nWe also need to make sure that it is inserted at the correct point in the cascade:\n\n* The new rule must be after the \"draft\" rule to ensure that draft tiddlers with the tag $:/tags/TiddlerList can be edited\n* The new rule must be before the \"default\" rule otherwise it will never be executed\n\nThe control panel \"Cascades\" tab shows that this can be achieved by inserting the new step immediately before the default step using the `list-before` field.\n\nThe full list of fields in the configuration tiddler is:\n\n<<.tiddler-fields \"$:/_tw5.com/CustomStoryTiddlerTemplateDemo/Filter\">>\n\nFinally, we need to create the demo tiddler itself:\n\n<<.tiddler-fields \"Demo Tiddler List with Custom Story Tiddler Template\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/How to create a custom tiddler colour rule.tid",
    "content": "created: 20211206114114698\nmodified: 20211206165150302\ntags: Learning Cascades [[Customise TiddlyWiki]]\ntitle: How to create a custom tiddler colour rule\ntype: text/vnd.tiddlywiki\n\nHere we show how to add a rule to the [[Tiddler Colour Cascade]] that causes tiddlers with the tag <<tag \"TableOfContents\">> to be given a bright blue colour and tiddlers with the tag <<tag \"Working with TiddlyWiki\">> to be given a dark purple colour.\n\n<<.tip \"[[How to create a custom tiddler icon rule]] describes how the same tiddlers have been given a custom icon\">>\n\nFirst, we add a new step to the tiddler colour cascade. The new filter step is:\n\n```\n[tag[TableOfContents]then[#1e90ff]]\n[tag[Working with TiddlyWiki]then[darkorchid]]\n```\n\nIt can be read as:\n\n```\nIf the tiddler has the tag \"TableOfContents\" then return the colour #1e90ff\nElse if the tiddler has the tag \"Working with TiddlyWiki\" then return the colour darkorchid\n```\n\nThe tiddler colour cascade is defined by the tag <<tag \"$:/tags/TiddlerColourFilter\">>, so we need to create a configuration tiddler with that tag.\n\nWe also need to make sure that it is inserted at the correct point in the cascade:\n\n* The new rule must be after the \"colour-field\" rule to ensure that tiddlers with an explicit ''color'' field will respect the value of that field\n* The new rule must be before the \"default\" icon otherwise it will never be seen if the default colour is specified\n\nThe control panel \"Cascades\" tab shows that this can be achieved by inserting the new step immediately before the default step using the `list-before` field.\n\nThe full list of fields in the configuration tiddler is:\n\n<<.tiddler-fields \"$:/_tw5.com/CustomTiddlerColourCascadeDemo\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/How to create a custom tiddler icon rule.tid",
    "content": "created: 20211204161649863\nmodified: 20211206165129215\ntags: Learning Cascades [[Tiddler Icon Cascade]] [[Customise TiddlyWiki]]\ntitle: How to create a custom tiddler icon rule\ntype: text/vnd.tiddlywiki\n\nHere we show how to add a rule to the [[Tiddler Icon Cascade]] that causes tiddlers with the tag <<tag \"TableOfContents\">> to be given the \"globe\" icon <<.icon $:/core/images/globe>> and tiddlers with the tag <<tag \"Working with TiddlyWiki\">> to be given the \"help\" icon <<.icon $:/core/images/help>>.\n\n<<.tip \"[[How to create a custom tiddler colour rule]] describes how the same tiddlers have been given a custom colour\">>\n\nFirst, we add a new step to the tiddler icon cascade. The new filter step is:\n\n```\n[tag[TableOfContents]then[$:/core/images/globe]]\n[tag[Working with TiddlyWiki]then[$:/core/images/help]] \n```\n\nIt can be read as:\n\n```\nIf the tiddler has the tag \"TableOfContents\" then return $:/core/images/globe\nElse if the tiddler has the tag \"Working with TiddlyWiki\" then return $:/core/images/help\n```\n\nThe tiddler icon cascade is defined by the tag <<tag \"$:/tags/TiddlerIconFilter\">>, so we need to create a configuration tiddler with that tag.\n\nWe also need to make sure that it is inserted at the correct point in the cascade:\n\n* The new rule must be after the \"icon-field\" rule to ensure that tiddlers with an explicit ''icon'' field will respect the value of that field\n* The new rule must be before the \"default\" icon otherwise it will never be seen if the default icon is specified\n\nThe control panel \"Cascades\" tab shows that this can be achieved by inserting the new step immediately before the default step using the `list-before` field.\n\nThe full list of fields in the configuration tiddler is:\n\n<<.tiddler-fields \"$:/_tw5.com/CustomTiddlerIconCascadeDemo\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/How to create dynamic editor toolbar buttons.tid",
    "content": "created: 20201216182347597\nmodified: 20260206104319886\ntags: \ntitle: How to create dynamic editor toolbar buttons\ntype: text/vnd.tiddlywiki\n\n\\define disabledFilterExample()`[[$(tempBoldDisabled)$]get[state-disabled]else[no]]`\n\n\\define remove-shortcuts()\n<$action-deletetiddler $tiddler=<<shortcutInfo>>/>\n<$action-deletetiddler $tiddler=<<shortcutConfigMac>>/>\n<$action-deletetiddler $tiddler=<<shortcutConfigNotMac>>/>\n<$action-deletetiddler $tiddler=<<tempBold>>/>\n<$action-deletetiddler $tiddler=<<tempBoldDisabled>>/>\n\\end\n\n\\define create-shortcut-tiddlers()\n<$action-createtiddler $basetitle=<<shortcutInfo>> \n  $template=\"$:/config/ShortcutInfo/bold\" \n  $overwrite=\"yes\"\n/>\n<$action-navigate $to=<<shortcutInfo>>/>\n\n<$action-createtiddler $basetitle=<<shortcutConfigMac>> \n  $template=\"$:/config/shortcuts-mac/bold\" \n  $overwrite=\"yes\"\n  text=\"meta-shift-X\"\n/>\n<$action-navigate $to=<<shortcutConfigMac>>/>\n\n<$action-createtiddler $basetitle=<<shortcutConfigNotMac>> \n  $template=\"$:/config/shortcuts-not-mac/bold\" \n  $overwrite=\"yes\"\n  text=\"ctrl-shift-X\"\n/>\n<$action-navigate $to=<<shortcutConfigNotMac>>/>\n\n\\end\n\n\\define clone-bold()\n<$action-createtiddler $basetitle=<<tempBold>> \n  $template=\"$:/core/ui/EditorToolbar/bold\" \n  $overwrite=\"yes\"\n  icon=\"$:/core/images/spiral\"\n  shortcuts=\"((temp-bold))\"\n  condition-disabled=\"[[$(tempBoldDisabled)$]get[state-disabled]else[no]]\"\n/>\n<$action-sendmessage $message=\"tm-edit-tiddler\" $param=<<tempBold>>/>\n\\end\n\n\\define clone-button-bold()\n<$button actions=<<clone-bold>> >Create a Temporary Bold Button</$button>\n\\end\n\n\\define toggle-bold()\n<$action-listops  $tiddler=<<tempBoldDisabled>> $field=\"state-disabled\" $subfilter=\"+[toggle[yes],[no]]\" />\n\\end\n\n<!-- $vars is needed don't remove it! -->\n<$vars tempBold=\"$:/temp/bold\" tempBoldDisabled=\"$:/temp/bold/disabled\" shortcutInfo=\"$:/config/ShortcutInfo/temp-bold\"  shortcutConfigMac=\"$:/config/shortcuts-mac/temp-bold\" shortcutConfigNotMac=\"$:/config/shortcuts-not-mac/temp-bold\">\n\n!! Create a New Toolbar Button\n\nThe easiest way to create new editor toolbar button is to clone and open one.\n\n><<clone-button-bold>> \n\nThis tiddler contains all the necessary elements that are important for toolbar buttons. \n\n<<<\n\n; text\n: We don't discuss the text field details in this howto\n\n; caption\n: The caption field is used to display the shortcut name in the $:/ControlPanel : Keyboard Shortcuts tab\n\n; condition\n: A filter, that defines the button visibility state\n\n; condition-disabled  <<.from-version \"5.1.23\">>\n: A ''filter'', that allows us to define the \"disabled\" attribute for buttons. eg: <<disabledFilterExample>>\n:  This condition ''must'' return \"no\", if the \"state tiddler\" or \"state field\" doesn't exist! So there has to be a `else[no]` element in the filter.\n\n; description\n: Is used as the button tooltip\n\n; icon \n: Assigns the button icon. We use `$:/core/images/spiral` {{$:/core/images/spiral}} here. More button icons can be found in the [[Icon Gallery]]\n\n; shortcuts\n: This is the [[Keyboard Shortcut Descriptor]] eg: `((temp-bold))`\n\n; button-classes <<.from-version \"5.4.0\">>\n: Additional CSS classes applied to the created button, definable as a list or filter expression\n\n<<<\n\n!! Disabled State\n\nYou can use any \"state tiddler\" to define the button disabled state. It's important, that the ''condition-disabled'' field is a ''filter''. For our example we use the `state-disabled` field from tiddler: <<tempBoldDisabled>>\n\nThe easiest way to test filters is with the $:/AdvancedSearch : Filter tab\n\n> The temporary \"bold button\" is disabled: ''\"{{{ [<tempBoldDisabled>get[state-disabled]else[no]] }}}\"'' ... You can see the button in the editor toolbar if you edit any tiddler!\n\n> <$button actions=<<toggle-bold>>>Toggle Temporary Bold Button Visisbility</$button>\n\n!! Create Keyboard Shortcuts for New Button\n\nFor our ~HowTo we use the ''Keyboard Shortcut Descriptor'': `((temp-bold))`\n\nTo create a valid shortcut configuration we need 2 tiddlers: \n\n>[[$:/config/ShortcutInfo/|$:/config/ShortcutInfo/temp-bold]]''temp-bold'' .. and\n>[[$:/config/shortcuts/|$:/config/shortcuts/temp-bold]]''temp-bold''\n\n> <$button actions=<<create-shortcut-tiddlers>>>Create Shortcut Tiddlers</$button>\n\n!! \n\n!! Clean up the Configuration Tiddlers\n\nIf you don't need the config tiddlers anymore you can \n\n><$button actions=<<remove-shortcuts>>>Remove the Shortcut Configuration</$button>\n\n\n</$vars><!-- needed don't remove! -->\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/How to create keyboard shortcuts.tid",
    "content": "created: 20251209131215120\nmodified: 20251209133619105\ntags: [[Customise TiddlyWiki]] Learning\ntitle: How to create keyboard shortcuts\ntype: text/vnd.tiddlywiki\n\n\\define tv-show-missing-links() no\n\n!! Introduction\n\n~TiddlyWiki distinguishes two types of keyboard shortcuts:\n\n# Those that are limited to work within <$macrocall $name=\".tag\" _=\"input\"/> fields or <$macrocall $name=\".tag\" _=\"textareas\"/> which are handled by the <$macrocall $name=\".wlink\" to=\"KeyboardWidget\"/> widget \n\n# Keyboard shortcuts that work globally, which means that only the page needs to have focus in order for them to be accessible\n\nThe latter are handled by a mechanism that starts to work when a wiki is loaded\n\n!! Configuration Mechanism\n\n''The configuration mechanism is the same for both shortcut-types''.\n\nA tiddler with the ''prefix'' `$:/config/ShortcutInfo/` and a ''unique suffix'' appended, like `my-shortcut`, makes the new shortcut appear in the $:/ControlPanel within the [[Keyboard Shortcuts Tab|$:/core/ui/ControlPanel/KeyboardShortcuts]]. An optional description can be added within its text field\n\nIn the [[Keyboard Shortcuts Tab|$:/core/ui/ControlPanel/KeyboardShortcuts]] the ''key combination'' that should trigger the shortcut can be configured:\n\n<<<\n Look for the ''unique suffix'' defined for the new shortcut and click the <$button class=\"tc-btn-invisible\"><<.icon $:/core/images/edit-button>><$action-sendmessage $message=\"tm-notify\" $param=\"$:/core/images/edit-button\"/></$button> button to open a popup that detects ''key combinations'' and shows the detected combination in its input field\n\nThe ''add shortcut'' assigns the key-combination to the shortcut\n<<<\n\nDepending on the chosen platform the configuration mechanism creates a tiddler with a specific nomenclature\n\n<<<\n$:/config/shortcuts/ + the ''shortcut suffix'' for shortcuts that will work on all platforms (operating systems)\n\n$:/config/shortcuts-(mac/not-mac/windows/not-windows/linux/not-linux)/ + the ''shortcut suffix'' for shortcuts that will work on the chosen platform only or that will not work on the excluded platform\n<<<\n\n!!! Shortcut Configuration Examples\n\n* $:/config/shortcuts/`my-shortcut`\n* $:/config/shortcuts-mac/`my-shortcut`\n* $:/config/shortcuts-windows/`my-shortcut`\n* $:/config/shortcuts-linux/`my-shortcut`\n* $:/config/shortcuts-not-mac/`my-shortcut`\n* $:/config/shortcuts-not-windows/`my-shortcut`\n* $:/config/shortcuts-not-linux/`my-shortcut`\n\n<<.note \"\"\"Those platform-specific tiddlers don't have to be created manually if the ''ShortcutInfo'' tiddler as mentioned above is created first and the shortcut is configured in the ~ControlPanel\"\"\">>\n\n''At this point the shortcut is defined and its ''actions'' can be configured''\n\n!! Using the [[Keyboard Widget|KeyboardWidget]]\n\n<<<\nA <<.wlink \"KeyboardWidget\">> widget detects the key combinations pressed within an <<.tag input>> or <<.tag textarea>> field within its scope. The <<.wlink \"KeyboardWidget\">> widget needs to \"embrace\" the <<.tag input>> or <<.tag textarea>> field and its <<.attr key>> attribute either points to a configuration tiddler using the [[Key Descriptor]] Syntax or explicitely contains the key\n\n```\n<$keyboard key=\"((my-shortcut))\" actions='<$action-setfield $tiddler=\"my-tiddler\" $field=\"my-field\" $value=\"my-value\"/>'>\n\n<$edit-text tag=\"input\" tiddler=\"my-tiddler\"/>\n\n</$keyboard>\n```\n\n```\n<$keyboard key=\"alt-shift-M\" actions='<$action-setfield $tiddler=\"my-tiddler\" $field=\"my-field\" $value=\"my-value\"/>'>\n\n<$edit-text tag=\"input\" tiddler=\"my-tiddler\"/>\n\n</$keyboard>\n```\n\nIf actions are defined , the <<.wlink KeyboardWidget>> widget will invoke the actions defined in its <<.attr actions>> attribute when it detects the key-combination defined in its <<.attr key>> attribute being pressed in any <<.tag input>> or <<.tag textarea>> field within its scope\n<<<\n\n!! Using global Keyboard Shortcuts\n\n<<<\n\nSee [[Keyboard Shortcut Tiddler]] for detailed information about creating new global keyboard shortcuts.\n\nThe actions for ''global'' keyboard shortcuts are stored in the ''text'' field of tiddlers tagged with <<tag $:/tags/KeyboardShortcut>>\n\nThe ''key field'' connects an action-tiddler with the corresponding shortcut through the `((my-shortcut))` syntax, called [[Keyboard Shortcut Descriptor]]\n\n; Syntax\n: `((` + `a chosen suffix` + `))`\n\nIf the tiddler has the tag <<tag $:/tags/KeyboardShortcut>>, the field ''key'' with the [[Keyboard Shortcut Descriptor]] as its value and some actions in its text field, the actions will be triggered when the mechanism detects the configured key-combination\n\n<$macrocall $name=\".note\" _=\"\"\"''Macros'' defined ''outside'' a global keyboard-shortcut (through a tiddler tagged `$:/tags/Global`) need to be ''imported'' in order to be accessible.\nThe [[import pragma|Pragma]] can be used for that\"\"\"/>\n\n```\n\\import [subfilter{$:/core/config/GlobalImportFilter}]\n```\n\nIf the tiddler that contains the macro definition is known and - for example - titled `my-macro-tiddler`\n\n```\n\\import [[my-macro-tiddler]]\n```\n\n<$macrocall $name=\".note\" _=\"\"\"Some actions require to be wrapped within a <<.wlink NavigatorWidget>> widget. That is necessary for the following list of widgets and messages in order to work if used within global keyboard shortcuts\"\"\"/>\n\n<<<\n\n!!! Widgets\n\n* <<.wlink ActionNavigateWidget>> (ActionNavigateWidget)\n\n!!! Messages\n\n<<list-links filter:\"[tag[navigator-message]]\"  class:\"multi-columns\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/How to customize TiddlyDesktop.tid",
    "content": "created: 20171118194518819\nmodified: 20171118194518819\ntags: Learning\ntitle: How to Customize TiddlyDesktop\ntype: text/vnd.tiddlywiki\n\n!! Prelude/caution:\n\nBefore experimenting with TiddlyDesktop internals you should find the location of the “user configuration folder” - click the “Settings” button on the main TiddlyDesktop window, and then click the button “Open user config folder”. Then move up to locate the parent folder, which should be called “TiddlyDesktop”. If things go wrong, you can reset TiddlyDesktop to its factory state by deleting this entire folder.\n\nClick the `Backstage` button on the main TiddlyDesktop window to open the backstage wiki. This is a Node.js-like instance of TiddlyWiki that runs the UI and logic of TiddlyDesktop.\n\n!! How do I get rid of the \"Add a ~TiddlyWiki Folder\" button.\n\nWithin the backstage wiki, locate the tiddler `WikiListToolbar` (there’s a link in HelloThere). Click it into edit mode and you’ll see the wikitext for all the toolbar buttons. If you make modifications and click “done” then the changes will immediately be reflected in the main TiddlyDesktop window.\n\n!! How would I change the \"advanced\" button to the \"reveal backups\" button.\n\nYou can copy the code for the “reveal backups” button from the tiddler `$:/TiddlyDesktop/Settings` and paste it into `WikiListToolbar`.\n\n!! How do I change the colors?\n\nJust as usual in TiddlyWiki: you can use the palette, or define your own custom CSS.\n\n!! How do I change the order in which the tiddlers are listed (which appears to be alphabetical)?\n\nOpen the `WikiList` tiddler, edit it, and scroll to the end. Then change the `<$list>` widget inside the ''wikilist'' macro:\n\n```\n<$list filter=\"[tag[wikilist]sort[title]!has[draft.of]]\" emptyMessage=\"Add a ~TiddlyWiki file or folder to get started. Click the buttons above to browse, or drag and drop from your file Explorer/Finder\" storyview=\"pop\">\n```\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/How to embed PDF and other documents.tid",
    "content": "created: 20141117000000000\nmodified: 20230803051806817\ntags: Learning\ntitle: How to embed PDF and other documents\ntype: text/vnd.tiddlywiki\n\n!!! Note about embedding versus external linking\n\n''Note:'' Before we dive into how you can embed files of a certain type, you may want to consider not embedding and instead simply linking to external resources like this:\n\n```\n[ext[title|path/to/that.file]] \n```\n\nThen let your browser decide how to handle the resource. The advantage to this approach is that it is simple and quick. The disadvantage is that the file doesn't actually travel with the TW5 file and that you can't use `node.js` with method #2 below to quickly file paths.\n\n!! Two ways to embed a PDF in your TW5 file.\n\n!!! 1. Embedding with Drag and Drop \n\nOne is to drag and drop the file onto your TW5 file. Wait for the green bar to appear at the top, drop, and then import from the import tiddler. This actually embeds the contents of your imported PDF (or other file) into your TW5 file.\n\nThis method be OK as long as your PDF is not too big. There can be concerns if your TW5 file becomes too big.\n\n!!! 2. Embedding with '_canonical_uri'\n\nThe other way is to create a tiddler link to the external file. In this method the file is not actually incorporated into your TW5 file, but can be accessed with the `{{My Image File.jpg}}` transclusion syntax just like an embedded file. The location address of the file can also be changed under [[Node.js]]. See [[ExternalImages]] for details of using external images with node.js.\n\nCreate a tiddler with a field `_canonical_uri`. Put in the local address to the external file. Set the `type` field to `application/pdf`.\n\nWith either way, with an appropriately configured browser, you should see your embedded PDF file. \n\n!!! Other File Types\n\nThere's only so many file formats that TW5 knows about. There is a list at [[ContentType]]. If your browser and/or TW5 doesn't know what to do with a particular file format, then you can only the use the second method to embed and then download a file. When you edit the tiddler a link is presented. You can right click on the link in order to download the file.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/How to export tiddlers.tid",
    "content": "created: 20151006145934884\nmodified: 20160610084018658\ntags: Learning\ntitle: How to export tiddlers\ntype: text/vnd.tiddlywiki\n\n! Selecting All tiddlers for export\n\nTo export ''all'' tiddlers click on the \"Tools\" tab of the Sidebar. Find and click the <<.icon $:/core/images/export-button>> ''export all'' button. A pop-up menu will offer you the chance to export tiddlers in multiple formats.\n\n! Exporting a tiddler\n\nIf you want to export a particular tiddler, first navigate to that tiddler. Then click on the <<.icon $:/core/images/down-arrow>> ''more'' button that appears above the tiddler. From the list that appears select <<.icon $:/core/images/export-button>> ''export tiddler''. A pop-up menu will offer you the chance to export the tiddler in multiple formats.\n\n! Exporting tiddlers matching a criteria (filter)\n\nTo export a selection of tiddlers, click the little magnifying glass <<.icon $:/core/images/advanced-search-button>> next to the search area on the sidebar. This will open the [[Advanced Search|$:/AdvancedSearch]] tiddler. Click on the \"Filter\" tab of the Advanced Search tiddler. Only the [[Filter|Filters]] tab will allow you to export a selection of tiddlers. [[Filters]] follow a particular syntax. Click on this [[Filters|Filters]] link to learn about how to make filters.\n\nOnce you have written a filter, a list of tiddlers matching the filter will appear. Now you can click on the <<.icon $:/core/images/export-button>> ''export tiddler'' button to the right of the filter input field. A pop-up menu will offer you the chance to export tiddlers in multiple formats.\n\n! Export formats\n\nCurrently, the export formats available are:\n\n* CSV file format\n* JSON file format\n* Static HTML file\n* \".tid\" file format\n\nThe ``\".tid\"`` format is unique from the other formats in that only one tiddler will be exported, even if you are attempting to export all tiddlers or a selection of tiddlers.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/How to hide the authors and other fields with CSS.tid",
    "content": "created: 20180309232911422\nmodified: 20180310201216266\ntags: Learning\ntitle: How to hide the author's and other fields with CSS\ntype: text/vnd.tiddlywiki\n\nSometimes you might want to save some screen space by hiding away the author's name in all tiddlers. Here's a quick way to do it:\n\n* Create a new tiddler with any title you want.\n* Give the tiddler the tag `$:/tags/Stylesheet`\n* In the text field of the tiddler put:\n\n```\n.tc-subtitle .tc-tiddlylink {display:none;}\n```\n\n* Save the tiddler. The author's name field should no longer appear.\n\nSimilarly, the entire subtitle field including author and date can be removed with:\n\n```\n.tc-subtitle {display:none;}\n```\n\nUnfortunately, you can't hide just the date without also hiding the author using CSS.\n\nAnd finally, for a truly minimalist look, you can remove the title with:\n\n```\nh2.tc-title {display:none;)\n```\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/How to put the last modification date in a banner.tid",
    "content": "created: 20141020111002211\nmodified: 20160617125921235\ntags: Learning\ntitle: How to put the last modification date in a banner\ntype: text/vnd.tiddlywiki\n\nHere's how to display the last modification date of a wiki in a banner in the corner of the window:\n\n# [[Install the plugin|Installing a plugin from the plugin library]] <<.def \"Corner ribbon\">> in your ~TiddlyWiki\n# Save (<<.icon $:/core/images/save-button-dynamic>>) and reload (<<.icon $:/core/images/refresh-button>>) your wiki\n# Create a new tiddler called [[$:/_MyRibbon]] tagged [[$:/tags/PageControls]] and containing:<div>\n\n```\n<div class=\"github-fork-ribbon-wrapper right\">\n<div class=\"github-fork-ribbon\" style=\"background-color:#DF4848;\">\n<$list filter=\"[!is[system]!has[draft.of]!sort[modified]limit[1]]\">\n<$link>\n<$view field=\"modified\" format=\"date\" template=\"DD mmm YYYY at 0hh:0mm\"/>\n</$link>\n</$list>\n</div>\n</div>\n```\n</div>\n# If required, change the background-color value to your preference\n# You can also try changing the positioning class from `right` to `right-bottom`\n## To make the banner appear at the top left you'll need to tag the tiddler [[$:/tags/PageTemplate]] instead of [[$:/tags/PageControls]] and then change the position class to `left`\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/How to update TiddlyWiki to the latest version.tid",
    "content": "created: 20220426221124514\nmodified: 20220426221240671\ntags: [[Working with TiddlyWiki]]\ntitle: How to update TiddlyWiki to the latest version\ntype: text/vnd.tiddlywiki\n\n{{Upgrading}}"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/How to widen tiddlers (aka story river).tid",
    "content": "created: 20161208000000000\nmodified: 20161208000000000\ntags: Learning [[Customise TiddlyWiki]]\ntitle: How to widen tiddlers (aka storyriver)\ntype: text/vnd.tiddlywiki\n\nYou can change the width of the main column of tiddlers (also known as the story river)  by:\n\n* Clicking on the settings cog to open the control panel\n* In the control panel select \"Appearance\" and then \"Theme Tweaks\". \n* Under Theme tweaks, scroll down. \n\nThere you will see settings for `story right`, `story width`, and `tiddler width`. By setting these numbers to something larger, you can widen the tiddlers. In general, `story right` and `story width` should be the same size, and `tiddler width` a little bit smaller. You could even use percentages for tiddler width. You will also probably want to change the sidebar breakpoint to something larger than the story river, unless you don't mind the sidebar floating to the top of the page.\n\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/How_to_add_a_new_tab_to_the_sidebar.tid",
    "content": "created: 20141117000000000\nmodified: 20170204191253218\ntags: Learning [[Customise TiddlyWiki]]\ntitle: How to add a new tab to the sidebar\ntype: text/vnd.tiddlywiki\n\nTo create a new tab in the sidebar menu:\n\n# Create a tiddler and tag it with the [[SystemTag|SystemTags]] tag [[$:/tags/SideBar]]\n#* To create a table of contents you can populate the new tab tiddler using the [[table-of-contents macros|Table-of-Contents Macros]]. For example, see the [[TableOfContents]] used here\n# By default, the tiddler title is used as the tab title but you can override it using the `caption` field\n# To define the tab ordering, use the `list-after` or `list-before` fields as discussed in [[Tagging]]\n#* For example: set `list-after` to [[$:/core/ui/SideBar/Open]] to place a sidebar tab immediately after the \"Open\" tab\n\nNote that you can create new tabs under the \"More\" tab in the same way by using the tag `$:/tags/MoreSideBar`.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/How_to_turn_off_camel_case_linking.tid",
    "content": "created: 20161209172820513\nmodified: 20240923161828376\ntags: [[Customise TiddlyWiki]] Learning\ntitle: How to turn off camel case linking\ntype: text/vnd.tiddlywiki\n\nCamelCase is used in most Wikis, but it can interfere with text presentation in some situations.\n\n!! Turning off Camel Case locally\n\nTo prevent a particular CamelCase word from being linked, simply put a tilde (~) in front of the word, like this:\n\n```\n~CamelCase\n```\n\nIf you need to disable CamelCase for just an entire tiddler, you can use the [[\\rules pragma|Pragma: \\rules]]:\n\n```\n\\rules except wikilink\n```\n\n!! Turning off Camel Case globally\n\nTo turn off CamelCase in all tiddlers, navigate to the [[Control Panel|$:/ControlPanel]].  Select the `Settings` tab and then scroll or read down to the ``Camel Case Wiki Links`` section and unselect ``Enable automatic CamelCase linking``."
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Insert link.tid",
    "content": "created: 20160817095829521\nmodified: 20160817105713406\ntags: [[Editor toolbar]]\ntitle: Insert link\n\nThis will give you a dialog to search for and pick existing tiddlers in the wiki. When you pick a tiddler it will be inserted as a WikiText link where the cursor is in the text field.\n\nPressing <<.icon $:/core/images/link>> will give you `[[Some link]]`\n\nIt wil ''not'' insert: external web links or [[picture|Insert picture]] links."
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Insert picture.tid",
    "content": "created: 20160817100415079\nmodified: 20160817110210268\ntags: [[Editor toolbar]]\ntitle: Insert picture\n\nThis will give you a dialog to search for and pick existing image tiddlers in the wiki. When you pick a tiddler it will be inserted as a WikiText  image link where the cursor is in the text field.\n\n\nPressing <<.icon $:/core/images/picture>> will give you `[img[$:/favicon.ico]]`"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/KeyboardShortcuts.tid",
    "content": "created: 20140526204527418\nmodified: 20160610082117953\ntags: Features [[Working with TiddlyWiki]]\ntitle: KeyboardShortcuts\ntype: text/vnd.tiddlywiki\n\nKeyboard shortcuts can either be used with the <<.wlink KeyboardWidget>> Widget or with [[Keyboard Shortcut Tiddlers|Keyboard Shortcut Tiddler]]\n\n<<.tip \"\"\"The <$macrocall $name=\".wlink\" to=\"KeyboardWidget\"/> Widget makes the shortcuts accessible within an `input` or `textarea` field.\n<br>\nA shortcut defined through a [[Keyboard Shortcut Tiddler]] makes the shortcut accessible globally\"\"\">>\n\n!!!See [[How to create keyboard shortcuts]] with a detailed explanation for creating your own shortcuts\n\nKeyboard shortcuts are available for common editing operations within the Text Editor:\n\n* Confirming changes to the draft tiddler containing the keyboard focus (defaults to <kbd>ctrl-Enter</kbd>)\n* Abandoning changes to the draft tiddler containing the keyboard focus (defaults to <kbd>escape</kbd>)\n* Formatting operations from the tiddler editing toolbar (see the tooltips)\n\n<<.from-version 5.1.18>> : New ''global'' Keyboard shortcuts:\n\n|!Action |!Default Shortcut|\n|Creating a new tiddler |<kbd>alt-N</kbd> |\n|Creating a new journal |<kbd>alt-J</kbd> |\n|Creating a new image |<kbd>alt-I</kbd> |\n|Focusing sidebar search |<<.from-version 5.1.20>><kbd>ctrl-shift-F</kbd> |\n|Toggling the sidebar |<<.from-version 5.1.20>><kbd>shift-alt-S</kbd> |\n|Advanced search |<<.from-version 5.1.20>><kbd>ctrl-shift-A</kbd> |\n|Open [[Control Panel|$:/ControlPanel]] |<<.from-version 5.3.6>><kbd>ctrl-alt-C</kbd> |\n\nThe current shortcuts can be inspected and customised in the \"Keyboard Shortcuts\" tab of the [[Control Panel|$:/ControlPanel]] <<.icon $:/core/images/options-button>>.\n\n!! Special Keys\n\n; adding tags in the editor\n: <<.from-version 5.1.14>> : if you hit <kbd>Enter</kbd> in the new tag input, the tag will be added\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Making a custom journal button.tid",
    "content": "created: 20160424150551727\nmodified: 20171114215846324\ntags: [[Customise TiddlyWiki]]\ntitle: Making a custom journal button\ntype: text/vnd.tiddlywiki\n\nTo get your own ''//custom//'' Journal button, start by cloning the [[New Journal|$:/core/ui/Buttons/new-journal]] button.\n\nThen create your own config tiddlers, eg: \n\n* ``$:/config/myNewTiddler/Tags`` and ... \n* ``$:/config/myNewTiddler/Title`` and ... \n* ``$:/config/myNewTiddler/Text``\n\n\nEdit your custom button and \"search and replace\" the config tiddler names.\n\nChange the following lines, near the end  of the tiddler \nfrom\n\n```\n<$set name=\"journalTitleTemplate\" value={{$:/config/NewJournal/Title}}>\n<$set name=\"journalTags\" value={{$:/config/NewJournal/Tags}}>\n<$set name=\"journalText\" value={{$:/config/NewJournal/Text}}>\n```\n\nto\n\n```\n<$set name=\"journalTitleTemplate\" value={{$:/config/myNewTiddler/Title}}>\n<$set name=\"journalTags\" value={{$:/config/myNewTiddler/Tags}}>\n<$set name=\"journalText\" value={{$:/config/myNewTiddler/Text}}>\n```\n\nif you want to see your config tiddlers in the sidebar use:\n\n```\n<$set name=\"journalTitleTemplate\" value={{config/myNewTiddler/Title}}>\n<$set name=\"journalTags\" value={{config/myNewTiddler/Tags}}>\n<$set name=\"journalText\" value={{config/myNewTiddler/Text}}>\n```\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Making curved text with SVG.tid",
    "content": "created: 20140324223413403\nmodified: 20150505063713581\ntags: Learning\ntitle: Making curved text with SVG\ntype: text/vnd.tiddlywiki\n\n\\define textOnPath(text)\n$$$.svg\n<svg width=\"100%\" height=\"100%\" viewBox=\"0 0 1000 300\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" style=\"background:white;\">\n<defs>\n<path id=\"MyPath\" d=\"M 100 200 C 200 100 300   0 400 100 C 500 200 600 300 700 200 C 800 100 900 100 900 100\"/>\n</defs>\n<use xlink:href=\"#MyPath\" fill=\"none\" stroke=\"#ddd\"/>\n<text font-family=\"'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif\" font-size=\"42.5\">\n<textPath xlink:href=\"#MyPath\">\n$text$\n</textPath>\n</text>\n</svg>\n$$$\n\\end\nThis demo shows how to use SVG to render transcluded text along a path. Enter some text in the textbox below to try it out; [[view the source|Making curved text with SVG]] to see how it is done.\n\n<$edit-text tiddler=\"$:/CurvedText\" tag=\"input\" placeholder=\"Type text here\" default=\"\"/>\n\n<$macrocall $name=\"textOnPath\" text={{$:/CurvedText}}/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Modifying JSON tiddlers.tid",
    "content": "created: 20220427174702859\nmodified: 20220427171707459\ntags: [[JSON in TiddlyWiki]] Learning\ntitle: Modifying JSON tiddlers\ntype: text/vnd.tiddlywiki\n\nSee [[JSON in TiddlyWiki]] for an overview of using JSON in TiddlyWiki.\n\nNote that \n\n!! Using ActionSetFieldWidget and ActionListopsWidget\n\nThe widgets ActionSetFieldWidget and ActionListopsWidget can manipulate named properties of data tiddlers by indicating the name of the property in the $index attribute.\n\n* To create or modify a named property with ActionSetFieldWidget, provide a $value attribute\n* To delete a named property with ActionSetFieldWidget, omit the $value attribute.\n\nActionListopsWidget assigns the named property the list constructed through its $filter and $subfilter attributes.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/More actions.tid",
    "content": "created: 20160817104039668\nmodified: 20160817110101356\ntags: [[Editor toolbar]]\ntitle: More actions\n\nPressing <<.icon $:/core/images/down-arrow>> Gives you  a dropdown menu with more editing options."
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Preserving open tiddlers at startup.tid",
    "content": "created: 20140101192052333\nmodified: 20140912142248706\ntags: [[Customise TiddlyWiki]]\ntitle: Preserving open tiddlers at startup\ntype: text/vnd.tiddlywiki\n\nOrdinarily, at startup TiddlyWiki displays the tiddlers specified as a filter in the tiddler [[$:/DefaultTiddlers]].\n\nSometimes it's useful to re-open the same tiddlers that were open when the file was saved. To do so, set [[$:/DefaultTiddlers]] to this filter:\n\n```\n[list[$:/StoryList]]\n```\n\nThis filter returns the tiddlers specified in the [[$:/StoryList]] tiddler, which is the system tiddler that TiddlyWiki uses to store the sequence of tiddlers in the current story.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Reading data from JSON tiddlers.tid",
    "content": "created: 20220427174702859\nmodified: 20220611104737314\ntags: [[JSON in TiddlyWiki]] Learning\ntitle: Reading data from JSON tiddlers\ntype: text/vnd.tiddlywiki\n\nSee [[JSON in TiddlyWiki]] for an overview of using JSON in TiddlyWiki.\n\n!! Filter Operators for Accessing JSON Data\n\nThe following filter operators allow values to be read from JSON data:\n\n* <<.olink jsonget>> to retrieve the values of a property in JSON data\n* <<.olink jsontype>> to retrieve the type of a JSON value\n* <<.olink jsonindexes>> to retrieve the names of the fields of a JSON object, or the indexes of a JSON array\n* <<.olink jsonextract>> to retrieve a JSON value as a string of JSON\n\n!! Text References for Accessing JSON Data\n\n[[Text references|TextReference]] are a simple shortcut syntax to look up the value of a named property. For example, if a [[DictionaryTiddler|DictionaryTiddlers]] called `MonthDays` contains:\n\n```\noct:31\nnov:30\ndec:31\n```\n\n... then `{{MonthDays##nov}}` will resolve to the value `30`.\n\nThe same is true if `MonthDays` is a [[JSONTiddler|JSONTiddlers]] with the following content:\n\n```\n{\"oct\":31,\"nov\":30,\"dec\":31}\n```\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/SVGExampleRadius.tid",
    "content": "title: $:/SVGExampleRadius\n\n50"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Setting a favicon.tid",
    "content": "created: 20131224074240979\nmodified: 20200510115704738\ntags: [[Customise TiddlyWiki]]\ntitle: Setting a favicon\ntype: text/vnd.tiddlywiki\n\n\"favicons\" are small icons that most browsers display to help users identify websites. Note that all browsers support bitmap images, but only certain modern browsers support SVG format icons.\n\n! favicons in the Browser\n\nWhen TiddlyWiki starts up in the browser it looks for a tiddler called [[$:/favicon.ico]] and dynamically uses it as the favicon for the page. If you modify the image then the favicon changes instantly to reflect it.\n\n<<.from-version \"5.1.23\">> To set an external image as the favicon, assign the URL to the ''_canonical_uri'' field of the [[$:/favicon.ico]] tiddler.\n\n! favicons on the Server\n\nOn the server, the ServerCommand will serve the tiddler [[$:/favicon.ico]] at the path `/favicon.ico`.\n\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Setting a page background image.tid",
    "content": "created: 20150417155912612\nmodified: 20230803044412567\ntags: [[Customise TiddlyWiki]]\ntitle: Setting a page background image\ntype: text/vnd.tiddlywiki\n\n# Import your image as a tiddler (see [[Images in WikiText]])\n#* You can also use an [[external image|ExternalImages]]\n# Open the [[control panel|$:/ControlPanel]] <<.icon $:/core/images/options-button>> and switch to the ''Appearance''/''Theme Tweaks'' tab\n# Select your image from the dropdown labelled \"Page background image\"\n# Set \"Page background image attachment\" to \"Fixed to window\" to have the background stay stationary and the content to scroll over the top of it, or \"Scroll with tiddlers\" to have it move (note that the iPhone/iPad [[doesn't support the fixed setting|http://stackoverflow.com/a/20444219]] for performance reasons)\n# Set \"Page background image size\" as follows:\n#* ''Auto'' causes the background image to be tiled over the page background\n#* ''Cover'' causes the background image to be sized so that it completely covers the page. Some of the image may be clipped\n#* ''Contain'' causes the background image to be sized so that it fits within the page\n\nNote that the palette [[DarkPhotos|ColourPalettes]] is provided to make the sidebar more readable on dark background images.\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Sharing a TiddlyWiki on Dropbox.tid",
    "content": "created: 20140122085818089\nmodified: 20150608032039504\ntags: Learning\ntitle: Sharing a TiddlyWiki on Dropbox\ntype: text/vnd.tiddlywiki\n\nYou can work on a TiddlyWiki file in Dropbox and publish a URL that anyone can use to see a read-only view of the file.\n\n# Save your TiddlyWiki file within your Dropbox folder\n# Select Dropbox's \"Share Link\" option to obtain a public URL for the file\n#* In the Dropbox web interface, this is done by clicking the link icon that appears when you hover over a file. Dropbox also adds a \"Share Link\" item to the file context menu in Finder on OS X and Explorer on Windows\n# The URL generated by Dropbox will have this form:\n#> `https://www.dropbox.com/s/<gobbledegook>/mywiki.html`\n# Modify the URL like this, carefully preserving the gobbledegook:\n#> `https://dl.dropboxusercontent.com/s/<gobbledegook>/mywiki.html`\n\nThe result is a \"secret\" URL that you can send to other people to enable them to see the wiki.\n\n----\n\nEnter a generated URL here and you can copy and paste the secret URL:\n\n<$edit-text tiddler=\"$:/temp/dropboxurl\" default=\"https://www.dropbox.com/s/<gobbledegook>/mywiki.html\" tag=\"input\" type=\"text\" size=\"60\"/>\n\n<$macrocall $name=\"dropbox-url\" url={{$:/temp/dropboxurl}}/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Simple ways to write protect tiddlers.tid",
    "content": "created: 20180310002601813\nmodified: 20211106021629911\ntags: Learning [[How to apply custom styles]]\ntitle: Simple ways to write protect tiddlers\ntype: text/vnd.tiddlywiki\n\nSometimes you want to protect individual tiddlers from accidental changes, either from yourself or guests to your ~TiddlyWiki file. Here's a couple simple approaches. Note that these do not provide hardened protection against a wilful attack.\n\n!! Using a stylesheet to lock tiddlers by tag name\n\nCreate a tiddler with the following contents and tag it as `$:/tags/Stylesheet` :\n\n```css\n[data-tags*=\"Locked\"] button[title=\"Edit this tiddler\"]   {display: none;}\n```\n\nIf your TW language isn't English, then you'll need to change the text in 'title=\"....\"' to whatever the text is when you hover over the edit button.\n\nNow any tiddler you tag as \"Locked\" will have the edit button hidden. To get it back you will need to open the stylesheet tiddler and change \"none\" to \"inline\".\n\n!! Using transclusion to hide your tiddler in a system tiddler\n\n* Open your tiddler for editing.\n* Select the title and copy.\n* Select all the tiddler text.\n* Click on the excise tool.\n* In the title box, type `$:/` and then paste the original title.\n* Use the defaults to excise the text into a new tiddler and replace it with a transclusion\n\nNow you can view the contents of your original tiddler, but to edit them you will have to find the the tiddler with the `$:/` prefix.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Structuring TiddlyWiki.tid",
    "content": "created: 20131128090536894\nmodified: 20150124211518000\ntags: [[Working with TiddlyWiki]]\ntitle: Structuring TiddlyWiki\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki5 provides several features to help you structure information as [[tiddlers|Tiddlers]], and model the relationships between them:\n\n* TiddlerLinks\n* [[Tagging]]\n* [[Title Lists|Title List]]\n* DataTiddlers\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Tagging.tid",
    "content": "created: 20140904075400000\nmodified: 20230803050201458\ntags: [[Working with TiddlyWiki]] Concepts\ntitle: Tagging\ntype: text/vnd.tiddlywiki\n\nTagging is a way of organising tiddlers into categories. For example, if you had tiddlers representing various individuals, you could tag them as ''friend'', ''family'', ''colleague'' etc to indicate these people's relationships to you.\n\nA tag is in fact just a tiddler (or a potential tiddler), and it can have tags of its own. You can add any number of tags to the same tiddler.\n\nSee [[Creating and editing tiddlers]] for instructions on how to tag.\n\nBy tagging your tiddlers, you can view, navigate and organise your information in numerous additional ways:\n\n* The coloured tag pills on a tiddler give you quick access to all the other tiddlers with the same tag, as well as to the tiddler that represents the tag itself.\n\n* If a tiddler is serving as a tag, then the ''Tagging'' tab in its InfoPanel will show you which tiddlers are currently tagged with it.\n\n* The ''More'' tab of the sidebar has a ''Tags'' tab that presents an overview of all your tags and lets you access all your tagged tiddlers.\n\n* You can use [[filters|Filters]] to create lists of tiddlers based on their tags. You can then display any combination of the [[fields|TiddlerFields]] of those tiddlers. For example, you could build a glossary by listing the title and text of all tiddlers tagged ''Glossary''. Such lists can be formatted in any way you wish: e.g. bulleted, numbered or comma-separated.\n\n* There are a number of special ''system tags'' that control the layout of tiddlers and the entire ~TiddlyWiki page. See [[Page and tiddler layout customisation|Customising TiddlyWiki's user interface]] for instructions.\n\nThere are two more things you can do with tags:\n\n! Set a tag's colour and icon\n\nYou can use the <<.icon $:/core/images/tag-button>> [[tag manager|$:/TagManager]], found on the ''Tags'' tab under ''More'' in the sidebar, to change the colour of a tag's pill or add an icon to the pill.\n\n* To change the colour, click the button in the ''Colour'' column to select from a colour picker. Alternatively, click the icon in the ''Info'' column, then type a [[CSS|Cascading Style Sheets]] colour value in the ''Colour'' field\n* To change the icon, click the <<.icon $:/core/images/down-arrow>> button in the ''Icon'' column and choose from the list of available icons\n\n! Change the order in which tags are listed\n\nBy default, tagged tiddlers are listed in alphabetical order.\n\nIf you want any other order, add a <<.flink ListField>> field to the tag tiddler, and set its value to be a [[list of the tiddlers|Title List]] in that order.\n\nThe ''list'' field doesn't have to mention all of the tiddlers. See the [[precise rules|Order of Tagged Tiddlers]] ~TiddlyWiki uses to order tagged tiddlers.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Text preview.tid",
    "content": "created: 20160817104110857\nmodified: 20211029090145708\ntags: [[Editor toolbar]]\ntitle: Text preview\n\nPressing the eye icon {{$:/core/ui/EditorToolbar/preview}} will open or close a preview window showing the results of rendering the WikiText (the icon-eye will also open or close).\n\nRight to the eye there is another icon, {{$:/core/images/chevron-down}}, which when clicked, shows you a dropdown which gives you access to six different types of preview:\n\n* //output// shows you the text as you see it when you do not edit the tiddler.\n* //html// shows you the [[source code|https://www.w3schools.com/html/html_intro.asp]] of that output. Your web browser uses this source code to display webpages.\n* //parsetree// and //widgettree// show you the two object trees that ~TiddlyWiki internally generates from ~WikiText. The //parsetree// collects basic information about your ~WikiText. From the informations of the parsetree the //widgettree// then generates extended informations and finally the above html (and the widgettree also does other things).\n* //differences from current// shows you the differences since the tiddler was last saved. Deleted parts are <span style=\"color:red;\">red</span>, added parts are <span style=\"color:green;\">green</span>.\n* //differences from shadow (if any)// does the same, but this time it shows you the differences to the underlying [[shadow-tiddler|ShadowTiddlers]].\n\n<<.tip \"By default, the preview pane button controls whether the preview pane is displayed for all tiddlers that are open for editing. There is a [[hidden setting|Hidden Setting: Show Edit Preview per Tiddler]] to make the button work on a per-tiddler basis\">>\n\n<<.tip \"The variable [[tv-tiddler-preview|tv-tiddler-preview Variable]] can be used to detect whether content is being displayed in the preview pane.\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/The First Rule of Using TiddlyWiki.tid",
    "content": "created: 20140419132828051\nmodified: 20140919154434409\ntags: [[Working with TiddlyWiki]]\ntitle: The First Rule of Using TiddlyWiki\ntype: text/vnd.tiddlywiki\n\n! Horror Stories\n\nEvery so often, TiddlyWiki users report heart-rending tales of personal data loss on the discussion groups:\n\n> My entire TiddlyWiki has just been wiped out when Firefox crashed during saving a tiddly.\n\nhttps://groups.google.com/d/topic/tiddlywiki/oG2L7OXhUoI/discussion\n\n> Last time I used it was last night at home on my Windows 7 desktop, hit the check mark to stop editing my last entry, it then saves via TiddlyFox and I eject my USB drive. I came to work this morning, plugged in my USB, enter my TW5 password and it doesn't want to open after several attempts. I browse to my TW5 html file and notice that my file size is no longer 3MB.. instead it is 80KB. This leads me to believe I lost everything.\n\nhttps://groups.google.com/d/topic/tiddlywiki/SXStDJ0ntGI/discussion\n\nDon't let it happen to you!\n\n!! The first rule of using TiddlyWiki is:\n\n<p style=\"font-size:40pt;line-height:48pt;font-weight:700;color:red;\">\nBackup your data!\n</p>\n\nTiddlyWiki is a very flexible, customisable system that puts you firmly in charge of your own data. Every care is taken in TiddlyWiki's development to ensure that it is a safe place to preserve your most valuable data but the ultimate responsibility to reduce the risk of data loss falls to users.\n\nThe best way to make sure that your data is safe is to practise a rigorous system of backups:\n\n* Consider using services like Dropbox to continuously back up your personal data to the cloud. (Dropbox [[has a neat feature|https://www.dropbox.com/help/11]] whereby they keep track of previous versions of files)\n* Retain backups before upgrading to a new version of TiddlyWiki\n* Figure out and protect yourself from the worst case scenarios: what if your USB stick or hard drive fails? What if your computer is hit by a ransomeware virus?\n* Be defensive and redundant: for example, take multiple backups and keep them in separate physical locations\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Upgrading.tid",
    "content": "created: 20131202102427114\nmodified: 20160617105124677\ntags: Features [[Working with TiddlyWiki]]\ntitle: Upgrading\ntype: text/vnd.tiddlywiki\n\nThere are regular releases of TiddlyWiki with bug fixes and improvements. It's a good idea to keep up to date by regularly upgrading to the latest version.\n\n! Introduction\n\nThe process described here is for upgrading standalone TiddlyWiki files. There is a [[different procedure|Upgrading TiddlyWiki on Node.js]] for upgrading [[TiddlyWiki on Node.js]].\n\n<<<\nWhen upgrading, please remember the [[The First Rule of Using TiddlyWiki]]:\n\n//You are responsible for looking after your own data; take care to make backups, especially when upgrading the ~TiddlyWiki core//\n<<<\n\n! Online upgrading\n\nThis process will work on most desktop browsers. Note that none of your personal data leaves your browser with this process.\n\n# Locate your TiddlyWiki file in the file system (i.e. using Windows Explorer, the Finder on Mac OS X, or your file manager on Linux)\n# Visit https://tiddlywiki.com/upgrade.html in your browser\n\n# Drag your old TiddlyWiki HTML file into the browser window\n#* If the file is encrypted you will be prompted for the password\n# Review the list of tiddlers that will be upgraded\n# Click ''Upgrade''\n# Save changes to save the new version (<<.icon $:/core/images/save-button-dynamic>>)\n\nThis will download a file called ''upgrade.html'' to your computer. This file is the upgrade of your old file. You may need to open the location where ''upgrade.html'' was downloaded, rename ''upgrade.html'' with the name of the old file you are upgrading, and replace the old file by moving the new file in its place.\n\n! Offline upgrading\n\nYou can also download https://tiddlywiki.com/upgrade.html locally and perform the same drag-and-drop procedure to upgrade your files.\n\n! Problems with Upgrades\n\n!! Firefox Security Restrictions\n\nThe following error occurs when trying to perform the online upgrade procedure using Firefox:\n\n<<<\nError while saving:\n\nError:NS_ERROR_DOM_BAD_URI: Access to restricted URI denied\n<<<\n\nThe upgrade operation falls foul of a security restriction in Firefox. Until this can be resolved, we suggest either using the offline upgrader, or using Chrome to perform the upgrade:\n\n# Use Chrome to open https://tiddlywiki.com/upgrade.html, then drag the TiddlyWiki HTML file to be upgraded into the upgrader window, as described above in ''Online upgrading''\n# After you've saved your upgraded file, you should be able to open it in Firefox and [[save using TiddlyFox|Saving with TiddlyFox]] again\n\n!! Incompatible Customisations\n\nIt is possible for a customisation applied in a previous version to break when upgraded to the latest version. There are two techniques you can use to help track down issues:\n\n* Try repeating the upgrade having selectively unchecked any tiddlers that may be applying customisations to TiddlyWiki\n* Use SafeMode to disable all customisations of shadow tiddlers\n\nYou can see which shadow tiddlers have been overridden in the ''Filter'' tab of [[advanced search|$:/AdvancedSearch]]. Select \"Overridden shadow tiddlers\" from the dropdown.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Using Excise.tid",
    "content": "created: 20160810122928198\nmodified: 20230803044526608\ntags: [[Editor toolbar]]\ntitle: Using Excise\ntype: text/vnd.tiddlywiki\n\n! Excise text\nFrom the [[Editor toolbar]] you can export selected text to a new tiddler and insert a [[link|Linking in WikiText]], [[Transclusion]] or [[macro|Macros]] in its place. Click ''Excise text'' (<<.icon $:/core/images/excise>>), input name of the new tiddler, and choose excise method.\n\n!! How to excise text\n# Highlight the relevant piece of text \n# Click ''Excise text'' (<<.icon $:/core/images/excise>>)\n# Give the new tiddler a title.\n# Choose if the new tiddler will be tagged with the title of the current tiddler (see note below).\n# Choose replacing method: [[link|Linking in WikiText]], [[transclusion|Transclusion]], or [[macro|Macros]].\n# Click the ''{{$:/language/Buttons/Excise/Caption/Excise}}'' button\n\n<<.strong Note!>> If you choose the option to `Tag new tiddler with the title of this tiddler`, the new tiddler will be tagged with the name of the current tiddler before it has been edited. If you have changed the title of the current tiddler, save it first and edit it again to perform excision with this option.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Using SVG.tid",
    "content": "created: 20131028132700000\nmodified: 20160618085859219\ntags: Features\ntitle: Using SVG\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki5 allows you to use SVG to display vector graphics in two ways:\n\n* Tiddlers with the type `image/svg+xml` are interpreted as SVG images, and displayed and transcluded as self-contained `<img>` elements with the SVG embedded as a data URI in the `src` attribute.\n** For examples of SVG images see [[Motovun Jack.svg]] and [[Tiddler Fishes.svg]]\n* WikiText can also include inline SVG elements directly. See below for an example.\n\n! Embedding SVG tiddlers\n\nYou can embed an SVG image tiddler using the ordinary transclusion syntax:\n\n```\n{{Motovun Jack.jpg}}\n```\n\nYou can also use [[Typed Blocks in WikiText]] to embed an inline SVG tiddler.\n\nThe implications of the image being rendered within an `<img>` element are that it is sandboxed; it can't use CSS styles from the parent document, for example. Neither can the image use WikiText features like transclusion.\n\n! Embedding SVG elements\n\nThe other way to use SVG is to embed the `<svg>` element directly. For example:\n\n<svg width=\"150\" height=\"100\">\n  <circle cx=\"100\" cy=\"50\" r=\"40\" stroke=\"black\" stroke-width=\"2\" fill=\"red\" />\n</svg>\n\nNote that inline SVG elements don't need an `<?xml version=\"1.0\"?>` directive.\n\n! Including HTML or WikiText content in SVG images\n\nYou can include simple text strings in SVG images using the `<text>` element:\n\n<svg width=\"100px\" height=\"30px\" viewBox=\"0 0 1000 300\"><text x=\"250\" y=\"150\" font-family=\"Verdana\" font-size=\"55\">Hello, out there</text><rect x=\"1\" y=\"1\" width=\"998\" height=\"298\" fill=\"none\" stroke-width=\"2\" /></svg>\n\nHTML or WikiText content can be included within inline SVG images using the `<foreignObject>` element. For example:\n\n<svg width=\"260px\" height=\"260px\"><circle cx=\"150\" cy=\"150\" r=\"100\" fill=\"blue\" stoke=\"red\"/><foreignObject x=\"70\" y=\"110\" width=\"150\" height=\"180\"><body>Here is some text that requires a word wrap, and includes a [[link to a tiddler|HelloThere]].</body></foreignObject></svg>\n\n! Transcluding SVG elements\n\nWhen embedding SVG elements you can also use WikiText features like transclusion. For example, here is an SVG circle with the radius set to the value in the tiddler [[$:/SVGExampleRadius]]:\n\n<svg width=\"150\" height=\"150\"><circle cx=\"75\" cy=\"75\" r={{$:/SVGExampleRadius}} stroke=\"black\" stroke-width=\"2\" fill=\"green\"/></svg>\n\nYou can edit the value of the radius here: <$edit-text tiddler=\"$:/SVGExampleRadius\" tag=\"input\"/>\n\n! Making curved text with SVG\n\n{{Making curved text with SVG}}"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Using Stamp.tid",
    "content": "created: 20160618090057124\nmodified: 20230101114932775\ntags: [[Editor toolbar]]\ntitle: Using Stamp\ntype: text/vnd.tiddlywiki\n\nSnippets are pre-configured snippets of text which can be inserted into the editor by clicking the ''stamp'' (<<.icon $:/core/images/stamp>>) button on the [[toolbar|Editor toolbar]] and then on the required item.\n\nSnippets can either ''replace'', or be ''added before and/or after'', the selected text in the editor.\n\n! Create a snippet\n!! Whilst editing a tiddler\n\n# Click ''stamp'' (<<.icon $:/core/images/stamp>>) on the toolbar\n# Click \"//Add your own//\" at the bottom of the menu\n# Type the text for the snippet in the editor\n# Enter the caption for the snippet menu item in the `caption` field\n# Click the <<.icon $:/core/images/done-button>> //Confirm changes to this tiddler// button\n\n!! Manually\n\n# Create a new tiddler by clicking the //Create a new tiddler// <<.icon $:/core/images/new-button>> button in the sidebar\n\n# Change the title for the tiddler (from e.g. `New Tiddler 1`). The tiddler title determines the menu item for the stamp if you do not set a `caption` field (see below).<div><$macrocall $name=\".tip\" _=\"\"\"''Pro tip'' Set a title like `$:/yourusername/snippets/My new stamp` to 'file' your new tiddler away as a [[system tiddler|SystemTiddlers]] which doesn't appear in the normal search results \"\"\" /></div>\n\n# Add the tag <<tag-pill $:/tags/TextEditor/Snippet>> by entering `$:/tags/TextEditor/Snippet` in the `tag name` tag box and clicking //Add// (or pressing the //Enter// key)\n\n# Enter the snippet content (which you wish to appear in the editor when you click the stamp menu <<.icon $:/core/images/stamp>>) in the editor \n\n# Create a field with the name `caption` and value set to the text for the snippet's stamp menu item:\n## Enter `caption` in the //Add new field// `field name` box\n## Enter the stamp menu item caption in the `field value` box\n\n\n\n! Re-ordering snippets\nYour new snippet will appear at the bottom of the stamp menu by default. To adjust the order of snippets:\n\n# Navigate to a snippet tiddler\n# Click the <<tag $:/tags/TextEditor/Snippet>> tag pill\n# Drag items up and down the menu of snippets\n\n\n! Adding a prefix and/or suffix to a selection <span style=\"font-size:1rem;\"><<.from-version \"5.1.20\">></span>\n\nBy default, the stamp button ''replaces ''text you have selected in the editor (let's say `selectedText`)with your snippet (let's say `$:/my/snippet`).\n\nIf instead of //replacing// selected text, you wish the stamp button to //add// [[wikitext  |WikiText]] before and/or after the selection:\n\n# Create a snippet tiddler (tagged <<tag-pill $:/tags/TextEditor/Snippet>>, with `caption` field set to desired stamp menu item text) using either of the two methods above\n# Create a new tiddler with either `/prefix` or `/suffix` appended to the end of the snippet tiddler's title, according to whether you wish the stamp to insert the snippet content //before //(`/prefix`) or //after //(`/suffix`) the text selected in the editor. \n#* Do not tag the tiddler <<tag-pill $:/tags/TextEditor/Snippet>>; the caption field is ignored\n#* Set the tiddler text to the text you wish to be inserted before or after your selection\n\n|Example configuration for `snippet2` with prefix+suffix|c\n|!Tiddler|!Tiddler content|!Tag|!`caption` field|\n|`$:/snip/snippet2`||<<tag-pill $:/tags/TextEditor/Snippet>>|`My second stamp menu item`|\n|`$:/snip/snippet2/prefix`|`TextIWantPrependedToSelection`|||\n|`$:/snip/snippet2/suffix`|`TextIWantAppendedToSelection`|||\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Using Stylesheets.tid",
    "content": "created: 20140305091244145\nmodified: 20211125175708977\ntags: [[Customise TiddlyWiki]]\ntitle: Using Stylesheets\ntype: text/vnd.tiddlywiki\n\n\\define tv-config-toolbar-text() yes\n\n\\define openCpTheme()\n<$action-setfield $tiddler=\"$:/state/tab-1749438307\" $value=\"$:/core/ui/ControlPanel/Appearance\"/>\n<$action-setfield $tiddler=\"$:/state/tab--1963855381\" $value=\"$:/core/ui/ControlPanel/Theme\"/>\n<$action-navigate $to=\"$:/ControlPanel\"/>\n\\end\n\n! Theme and Colorpalette\n\nThe first steps to changing the appearance of ~TiddlyWiki are to choose and apply:\n\n* One of the available themes: {{$:/core/ui/Buttons/theme}}\n* Modify the colour palette: {{$:/core/ui/Buttons/palette}}\n* Experiment with the <$button actions=<<openCpTheme>> class=\"tc-btn-invisible\"><<.icon $:/core/images/options-button>> ~ControlPanel</$button>\n\n! Work with Stylesheets\n\nIn addition to the control panel, custom styles can be defined by tagging a tiddler `$:/tags/Stylesheet`. Try creating a custom stylesheet now with the following content in order to change the page background colour to red:\n\n```\nbody.tc-body {\n\tbackground: red;\n}\n```\n\nYou can then use your own [[styles and classes in WikiText|Styles and Classes in WikiText]].\n\n!! Additional Resrouces\n\n* [[Cascading Style Sheets (CSS) at mozilla|https://developer.mozilla.org/en-US/docs/Web/CSS]]\n* [[Cascading Style Sheets (CSS) at w3scools|http://www.w3schools.com/css]]\n\n! Overriding Theme Settings\n\nCustom stylesheets are applied independently from theme stylesheets. Therefore, it is often necessary for the css rules in your custom stylesheet to be more specific than those of the theme you want to override. For example, `html body.tc-body` is more specific than `body.tc-body`. \n\n<<.tip \"\"\"You should always start with the least specific value that works!\"\"\">>\n\n! Stylesheet Types\n\nUsually it is best to use the type `text/css` for stylesheets. This treats them as plain stylesheets, and ensures that ~TiddlyWiki doesn't apply any wiki processing to them.\n\nIf you wish to use macros and transclusions in your stylesheets you should instead use the default WikiText type `text/vnd.tiddlywiki`. This allows full ~WikiText processing to be performed. Here is an example:\n\n```\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline html\n\nbody.tc-body pre {\n\t<<box-shadow \"inset 0 1px 0 #fff\">>\n}\n```\n\nThe `\\rules` pragma at the top of the tiddler restricts the ~WikiText to just allow macros and transclusion. This avoids mistakenly triggering unwanted ~WikiText processing.\n\nA stylesheet tiddler is processed such that it is first wikified and then the text portion of the ouput is extracted to apply as the CSS. Any HTML tags you will use in your stylesheet are thus ignored. For example, HTML elements generated by the RevealWidget will not affect the output. As in the following example, you can wrap CSS rules in `<pre>` tags to display them as a codeblock without affecting processing, including handling the inner macro.\n\n```\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline html\n\n<pre>body.tc-body pre {\n\t<<box-shadow \"inset 0 1px 0 #fff\">>\n}\n</pre>\n```\n\n!! Stylesheet Macros\n\nThe ~TiddlyWiki core provides several [[global macros that are helpful in constructing stylesheets|Stylesheet Macros]].\n\n!! See Also\n\n<<list-links \"[tag[Using Stylesheets]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Using TiddlyWiki for GitHub project documentation.tid",
    "content": "created: 20130825150100000\nmodified: 20140912141559011\ntags: [[TiddlyWiki on Node.js]]\ntitle: Using TiddlyWiki for GitHub project documentation\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki5 can be used to produce documentation for GitHub projects. It lets you maintain a single set of documentation as a [[TiddlyWikiFolder|TiddlyWikiFolders]] containing separate tiddler files under source code control, and then use it to produce `readme.md` files for inclusion in project folders, or HTML files for storage in [[GitHub Pages|http://pages.github.com/]]. Both features are demonstrated by TiddlyWiki5 itself.\n\n! Generating `readme.md` files\n\nWhen displaying the contents of a folder GitHub will look for a `readme.md` file and display it. Note that it will not display full HTML files in this way, just static MarkDown files (this is a security measure). Happily MarkDown permits a safe subset of HTML, and thus to generate a `readme.md` file that is suitable for GitHub it is just necessary for TiddlyWiki5 to generate the content of the `<body>` element of an HTML document, and give it the appropriate filename.\n\nThis is done with this command:\n\n```\n--rendertiddler ReadMe ./readme.md text/html\n```\n\nIt saves the tiddler ReadMe to the file `./readme.md` in the `text/html` format.\n\nBy default, tiddler links will be rendered as `<a>` links to a relative URI consisting of the title of the tiddler. This behaviour can be overridden by defining the macro `tv-wikilink-template`, as is done at the top of the tiddler ReadMe:\n\n```\n\\define tv-wikilink-template() https://tiddlywiki.com/static/$uri_doubleencoded$.html\n```\n\nSee the LinkWidget for more details.\n\nIn this example, tiddler links are rendered as links to the static rendering of tw5.com.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Using a custom path prefix with the client-server edition.tid",
    "content": "created: 20140613133627669\nmodified: 20140912141613393\ntags: [[TiddlyWiki on Node.js]]\ntitle: Using a custom path prefix with the client-server edition\ntype: text/vnd.tiddlywiki\n\nBy default, when running [[TiddlyWiki on Node.js]], the server exposes the wiki at the URI formed from the protocol, host and port - for example, `http://127.0.0.1:8080/`.\n\nThere are two steps to running the wiki at a custom path like `http://127.0.0.1:8080/path/to/my/wiki/`:\n\n# Configure the server by passing `/path/to/my/wiki` as the ''pathprefix'' argument of the ServerCommand\n# Configure the client by creating a tiddler called `$:/config/tiddlyweb/host` that contains `$protocol$//$host$/path/to/my/wiki/`\n\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/Visible Transclusions.tid",
    "content": "created: 20220909111836951\nmodified: 20230419103154329\ntags: Learning\ntitle: Visible Transclusions\ntype: text/vnd.tiddlywiki\n\n!! Visible Transclusions\n\nBlock transclusions are shown in red, and inline transclusions are shown in green.\n\n<$button>\n<$action-setfield $tiddler=\"$:/temp/VisibleTransclusions\" tags=\"$:/tags/Macro/View/Body\" text={{$:/core/ui/VisibleTransclude}}/>\nClick here to make transclusions visible within story river tiddlers\n</$button>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/faq/csFAQ_dynamic_stylesheet.tid",
    "content": "created: 201804111739\nmodified: 201804111739\ntitle: Q: Is there a way to create dynamic stylesheets?\ntags: [[Custom Styles FAQ]]\n\n''Answer:'' <<.from-version \"5.1.16\">>\n\nYes, see: [[Q: How can I use a custom field to style a tiddler?]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/faq/csFAQ_how_can_i_use_custom_field.tid",
    "content": "created: 201804111739\nmodified: 201804111739\ntitle: Q: How can I use a custom field to style a tiddler?\ntags: [[Custom Styles FAQ]]\n\n\n''Consider the following usecase:'' <<.from-version \"5.1.16\">>\n\nThere is a field named: `rank`, which can hold different values eg: `species`.\n\n''Answer:''\n\nThe idea is now: We dynamically create the stylesheet. The style-sheet can look like this: \n\n\"\"\"\ntitle: `myStyles`\ntags: `$:/tags/Stylesheet`\n\"\"\"\n\n```\n<$list filter=\"[rank[species]]\"> \n[data-tiddler-title^=\"<$view field=title/>\"] .tc-tiddler-body {\n    column-count: 2;\n}\n</$list> \n```\n\nThis creates a CSS rule for every tiddler-title, that has a field `rank` and value `species`.\n\n[[Learn more about possible attributes!|Attribute Selectors]]"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/faq/csFAQ_what_if_tiddler_has_no_tags.tid",
    "content": "created: 201804111739\nmodified: 201804111739\ntitle: Q: What if a tiddler has no tags?\ntags: [[Custom Styles FAQ]]\n\n''Answer:'' <<.from-version \"5.1.16\">>\n\n* If a tiddler has no tags, but needs styling use: `data-tiddler-title` as CSS selector\n** There is only one tiddler \n\n* If a user wants to style system tiddlers in a custom way: use: `[data-tiddler-title^=\"$:\"/]` as a selector\n** using the TW namespace functionality\n\n* If the user wants special behaviour for tagged tiddlers. eg: Learning\n** use: `[data-tags*=\"Learning\"]` as CSS selector. \n\nThe names I'm using are only used for documentation purpose, without changing the existing wiki. I don't want, that the docs has side effects. \n\n[[Learn more about possible attributes!|Attribute Selectors]]"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/faq/csFAQ_what_this_and_that_tag.tid",
    "content": "created: 201804111739\nmodified: 201804111739\ntitle: Q: How can I style a tiddler if it has \"this\" AND \"that\" tag?\ntags: [[Custom Styles FAQ]]\n\n''Answer:'' <<.from-version \"5.1.16\">>\n\nIf tiddler has both: `this` AND tag `that` create an orange border.\n\n```\n[data-tags*=\"bar\"][data-tags*=\"froz\"] {\n  border: 2px solid orange;\n}\n```\n\n''If your CSS looks like this: ''\n\n```\n[data-tags~=\"this\"] {\n  border: 2px solid blue;\n}\n\n[data-tags~=\"that\"] {\n  border: 2px solid red;\n}\n```\n\n`this` creates a blue border\n`that` creates a red border\nIf you swap positions, you get it the other way around.\n\n\n[[Learn more about possible attributes!|Attribute Selectors]]"
  },
  {
    "path": "editions/tw5.com/tiddlers/howtos/faq/csFAQ_what_this_or_that_tag.tid",
    "content": "created: 201804111739\nmodified: 201804111739\ntitle: Q: How can I style a tiddler if it has \"this\" OR \"that\" tag?\ntags: [[Custom Styles FAQ]]\n\n''Answer:'' <<.from-version \"5.1.16\">>\n\nEither tag `this` or tag `that` create a red border.\n\n```\n[data-tags~=\"this\"],\n[data-tags~=\"that\"] {\n  border: 2px solid red;\n}\n```\n\n[[Learn more about possible attributes!|Attribute Selectors]]"
  },
  {
    "path": "editions/tw5.com/tiddlers/images/Blurry Lawn.jpg.meta",
    "content": "title: Blurry Lawn.jpg\ntype: image/jpeg\ntags: picture external-image\nsource: https://www.flickr.com/photos/jermy/16386332964/in/photostream\nalt-text: Blurry image with green grass with flowsers.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/images/Community Survey 2025.webp.meta",
    "content": "alt-text: Shape the future by taking the TiddlyWiki Community Survey 2025\ntags: picture\ntitle: Community Survey 2025\ntype: image/webp"
  },
  {
    "path": "editions/tw5.com/tiddlers/images/Favicon template.svg.meta",
    "content": "title: Favicon template.svg\ntags: picture\ntype: image/svg+xml\nalt-text: Motovun Jack with blue background.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/images/Funding.webp.meta",
    "content": "title: Funding\ntype: image/webp\ntags: picture\nalt-text: Hand over a debit-card.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/images/Grok TiddlyWiki.png.meta",
    "content": "title: Grok TiddlyWiki Banner\ntype: image/png\ntags: picture\nalt-text: Grok TiddlyWiki page and siluette of Motovun Jack.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/images/Icon Gallery.tid",
    "content": "created: 20211013132515594\nmodified: 20211018102307833\ntags: Learning [[Core Icons]]\ntitle: Icon Gallery\ntype: text/vnd.tiddlywiki\n\n\\define copyActions() <$action-sendmessage $message=\"tm-copy-to-clipboard\" $param=<<imageTitle>>/>\n\n<<.tip \"Click an icon to copy the title to the clipboard\">>\n\n<div class=\"tc-image-chooser\">\n<$macrocall $name=\"image-picker-list\" filter=\"[all[shadows+tiddlers]tag[$:/tags/Image]]\" actions=<<copyActions>> />\n</div>\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/images/Intertwingled Innovations.webp.meta",
    "content": "title: Intertwingled Innovations\ntype: image/webp\ntags: picture\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/images/Introduction Video Thumbnail.jpg.meta",
    "content": "title: Introduction Video Thumbnail.jpg\ntype: image/jpeg\ntags: picture external-image\nalt-text: Screenshot with a headline: TiddlyWiki. Below are several tiddlers randomly stacked.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/images/MWS Banner.webp.meta",
    "content": "alt-text: Banner for the new Multi Wiki Server plugin for TiddlyWiki\ncreated: 20250718090840336\nmodified: 20250718091156532\ntags: picture\ntitle: MWS Banner\ntype: image/webp"
  },
  {
    "path": "editions/tw5.com/tiddlers/images/Marketplace Banner.webp.meta",
    "content": "title: TiddlyWiki Marketplace Banner\ntype: image/webp\ntags: picture\nalt-text: Motovun Jack with a shopping cart. Blue floor, orange background.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/images/Motovun Jack.ascii.tid",
    "content": "title: Motovun Jack.ascii\ntags: picture\nalt-text: Motovun Jack ASCII-art.\n\n\\rules only html\n<pre style=\"font-size:10px; font-family: monospace; line-height:13px\">\n  ';.                                                           .;c'\n :XNo                                                          ,kjack'           .:dd\n,K0X:                                                         '0l   Tiddly:',..,Wiki.\njacK'                                                        .dk.     '';jack  .xk;\nJack;                        ..',','...                      '0c                .0c\n:0:c0l.                 .:dTidllyc::cjoWikioc:,,,,;;:cJACKc:;;d0.                'K:\n l0:'jack,...   ...',:lkxc.              ..';:ccc:;;,'...',:loc                 .Kc\n  ,xk:..,jackjackjack;'.                                                        :K,\n    .lxxl;..        .                                                          .Ox.\n       .':lTiddlyWikI.                                                        .xk.\n              ``   ;0;                                                 .     ;Od.\n                   .dO'                                               .0Ojackx,\n                     cOo'                                            .kk'.'..\n                      .k0'                                         .cOo.\n                      lO;          ...                          .jack.\n                    .xk'          .jackTiddlyWikijackO,       .lkd;.\n                   ;Oo.          .dO.              .ok.     ,Oo.\n                  l0;    .c,     ,0:                .kd     l0.\n                 .xk.   .xNx     lO.                 lO.    ;0,\n                  .Od.  ,XW0,    :0;                 dk.    .kx.\n                   .kx.  jACKx'   cOl.              .Ol      ;0:\n                    .oO:  .JACKx.  .jack;'.         .0:       c0;\n                      'dkc   ,lXKd'   .'jack.       .Ol        cOc.\n                        .;ljack,.;xkc,...,oK,        'xxjack.   .oko.\n                            ``       'cljack'              .okdlcJack.\n                                                             'JacK,'\n</pre>"
  },
  {
    "path": "editions/tw5.com/tiddlers/images/Motovun Jack.jpg.meta",
    "content": "title: Motovun Jack.jpg\ntype: image/jpeg\nsource: https://www.flickr.com/photos/jermy/6292279493/in/photostream\ntags: picture\nalt-text: Motovun Jack on a stone wall with treas and hills in the background.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/images/Motovun Jack.pdf.meta",
    "content": "title: Motovun Jack.pdf\ntype: application/pdf\ntags: picture\nalt-text: PDF reader with Motovun Jack siluette on a white background page 1 of 1.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/images/New Release Banner.webp.meta",
    "content": "title: New Release Banner\ntype: image/webp\ntags: picture\nalt-text: Release banner, with a custom background and a release version in big letters.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/images/Newnham Horizon.jpg.meta",
    "content": "title: Newnham Horizon.jpg\ntype: image/jpeg\ntags: picture external-image\nsource: https://www.flickr.com/photos/jermy/289999155/in/photostream\nalt-text: Newham Horizon. Green field, blue skey with some clouds on a sunny day.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/images/Open Collective Logo.tid",
    "content": "created: 20240621075644739\nmodified: 20240621075647009\ntags: picture\ntitle: Open Collective Logo\nalt-text: Open Collective Logo\n\n<svg style=\"fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 28 28\"><path d=\"M25.509 6.026A13.934 13.934 0 0 1 28 14c0 2.963-.92 5.71-2.491 7.974l-3.626-3.627A8.96 8.96 0 0 0 23 14a8.964 8.964 0 0 0-1.117-4.347l3.626-3.627Z\"/><path d=\"m21.974 2.49-3.627 3.628a9 9 0 1 0 0 15.765l3.627 3.626A13.934 13.934 0 0 1 14 27.999C6.268 28 0 21.733 0 14 0 6.269 6.268 0 14 0c2.963 0 5.711.922 7.974 2.492Z\"/></svg>"
  },
  {
    "path": "editions/tw5.com/tiddlers/images/PerlinLight.jpg.meta",
    "content": "title: PerlinLight.jpg\ntype: image/jpeg\nalt-text: Backgournd tile with light gray dots randomly scatterd.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/images/Pinstripe.gif.meta",
    "content": "title: Pinstripe.gif\ntype: image/gif\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/images/Reddit Logo.tid",
    "content": "title: Reddit Logo\nalt-text: Reddit Logo\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> viewBox=\"0 0 20 20\">\n\t<g>\n\t\t<path d=\"M16.67,10C16.641,9.22 15.992,8.593 15.211,8.593C14.834,8.593 14.472,8.739 14.2,9C13.063,8.227 11.725,7.799 10.35,7.77L11,4.65L13.14,5.1C13.194,5.605 13.626,5.993 14.134,5.993C14.683,5.993 15.134,5.542 15.134,4.993C15.134,4.444 14.683,3.993 14.134,3.993C13.779,3.993 13.449,4.183 13.27,4.49L10.82,4C10.798,3.995 10.776,3.993 10.754,3.993C10.607,3.993 10.48,4.097 10.45,4.24L9.71,7.71C8.318,7.731 6.962,8.159 5.81,8.94C5.539,8.685 5.181,8.543 4.81,8.543C4.009,8.543 3.35,9.202 3.35,10.003C3.35,10.573 3.683,11.092 4.2,11.33C4.189,11.476 4.189,11.624 4.2,11.77C4.2,14.01 6.81,15.83 10.03,15.83C13.25,15.83 15.86,14.01 15.86,11.77C15.871,11.624 15.871,11.476 15.86,11.33C16.363,11.08 16.679,10.561 16.67,10ZM12.3,12.04C11.751,12.04 11.3,11.589 11.3,11.04C11.3,10.491 11.751,10.04 12.3,10.04C12.849,10.04 13.3,10.491 13.3,11.04C13.301,11.053 13.301,11.067 13.301,11.08C13.301,11.629 12.849,12.08 12.301,12.08C12.297,12.08 12.294,12.08 12.29,12.08L12.3,12.04ZM12.48,13.75C11.771,14.285 10.897,14.557 10.01,14.52C9.123,14.557 8.249,14.285 7.54,13.75C7.5,13.702 7.479,13.641 7.479,13.579C7.479,13.431 7.601,13.309 7.749,13.309C7.811,13.309 7.872,13.33 7.92,13.37C8.521,13.811 9.255,14.033 10,14C10.746,14.041 11.483,13.825 12.09,13.39C12.142,13.339 12.212,13.311 12.285,13.311C12.438,13.311 12.564,13.437 12.564,13.59C12.564,13.665 12.534,13.737 12.48,13.79L12.48,13.75ZM6.67,11C6.67,10.451 7.121,10 7.67,10C8.219,10 8.67,10.451 8.67,11C8.67,11.549 8.219,12 7.67,12C7.121,12 6.67,11.549 6.67,11Z\"/>\n\t</g>\n</svg>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/images/TW5-Graph.png.meta",
    "content": "title: TW5-Graph.png\ntype: image/png\ntags: picture\nalt-text: TW5-Graph and data visualization\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/images/TWEUM Thumbnail.jpg.meta",
    "content": "title: TWEUM Thumbnail.jpg\ntype: image/jpeg\ntags: picture\nalt-text: TW EU Meeting thumbnail. Skyline of Oxford on a sunny day with blue sky. Motovun Jack and a TiddlyWiki sceenshot in the back.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/images/Tiddler Fishes.svg.meta",
    "content": "title: Tiddler Fishes.svg\ntype: image/svg+xml\ntags: picture\nalt-text: 5 coloured sketched fish arranged in a cyrcle.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/images/Tiddler Poster.webp.meta",
    "content": "title: Tiddler Poster\ntype: image/webp\nsource: https://tiddlywiki.com/poster\ntags: picture\nalt-text: Poster with a headline: Your messy thoughts. Organized. Below is an abstract Stickleback fish and tiddlywiki.com URL.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/images/TiddlyFox Apocalypse.webp.meta",
    "content": "title: TiddlyFox Apocalypse Badge\ntype: image/webp\ntags: picture\nalt-text: Motovun Jack's head with a FireFox logo over the head and a date: Nov. 14th 2017 on the left.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/images/TiddlyWiki Classic.webp.meta",
    "content": "title: TiddlyWiki Classic\ntype: image/webp\ntags: picture\nalt-text: TiddlyWiki classic screenshto thumbnail.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/images/TiddlyWiki Newsletter Badge.webp.meta",
    "content": "alt-text: Motovun Jack reads a Newsletter.\ntags: picture\ntitle: TiddlyWiki Newsletter Badge\ntype: image/webp"
  },
  {
    "path": "editions/tw5.com/tiddlers/images/TiddlyWiki Privacy Badge.webp.meta",
    "content": "created: 20250718090420319\nmodified: 20250718090424617\ntitle: TiddlyWiki Privacy Badge\ntype: image/webp"
  },
  {
    "path": "editions/tw5.com/tiddlers/images/TiddlyWikiLinks.png.meta",
    "content": "title: TiddlyWikiLinks\ntype: image/png\ntags: picture\nalt-text: Motovun Jack body with \"chain liks\" around the neck.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/images/Tiddlyhost Logo.png.meta",
    "content": "title: Tiddlyhost Logo\ntype: image/png\ntags: picture\natl-text: TiddlyHost logo."
  },
  {
    "path": "editions/tw5.com/tiddlers/images/Twenty Years of TiddlyWiki.webp.meta",
    "content": "title: Twenty Years of TiddlyWiki\ntype: image/webp\ntags: picture\nalt-text: Screenshot of TiddlyWiki from 20th September 2004 with a banner reading \"Twenty Years\"\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/images/Xememex Logo.svg.meta",
    "content": "type: image/svg+xml\ntitle: Xememex Logo\nalt-text Xememex Logo\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/images/favicon.png.meta",
    "content": "title: $:/favicon.ico\ntype: image/png\nalt-text: Motovun Jack with blue background.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/images/green_favicon.png.meta",
    "content": "title: $:/green_favicon.ico\ntype: image/png\nalt-text: Motovun Jack with green background.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/languages/Castellano (Espana) Edition.tid",
    "content": "caption: Castellano (España)\ncreated: 20160511155557372\nlist-before: Deutsch (Deutschland) Edition\nmodified: 20160511160224223\ntags: Languages\ntitle: Edición en Castellano\ntype: text/vnd.tiddlywiki\n\nLa edición española de ~TiddlyWiki se encuentra aquí:\n\n* ''Documentación'' : https://tiddlywiki.com/languages/es-ES/index.html\n* ''~TiddlyWiki en blanco'' : https://tiddlywiki.com/languages/es-ES/empty.html\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/languages/Chinese (Simplified) Edition.tid",
    "content": "caption: 中文 (简体)\ncreated: 20140919215640174\nmodified: 20140920030246450\ntags: Languages\ntitle: Chinese (Simplified) Edition\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki 的简体中文翻译版本：\n\n<!-- * ''文件'': https://tiddlywiki.com/languages/zh-Hans/index.html -->\n* ''空白版本'': https://tiddlywiki.com/languages/zh-Hans/empty.html\n\n另请参阅 [[中文 (正體) 版|Chinese (Traditional) Edition]]。\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/languages/Chinese (Traditional) Edition.tid",
    "content": "caption: 中文 (正體)\ncreated: 20140919215743298\nmodified: 20140920030246450\ntags: Languages\ntitle: Chinese (Traditional) Edition\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki 的正體中文翻譯版本：\n\n<!-- * ''文件'': https://tiddlywiki.com/languages/zh-Hant/index.html -->\n* ''空白版本'': https://tiddlywiki.com/languages/zh-Hant/empty.html\n\n另請參閱 [[中文 (简体) 版|Chinese (Simplified) Edition]]。\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/languages/French (France) Edition.tid",
    "content": "created: 20140919215540827\nmodified: 20141123162938012\ntags: Languages\ncaption: Français (France)\ntitle: Édition en Français (France)\ntype: text/vnd.tiddlywiki\n\nLa traduction en Français (France) de TiddlyWiki démarre ici :\n\n* ''documentation'' : https://tiddlywiki.com/languages/fr-FR/index.html\n* ''empty'' : https://tiddlywiki.com/languages/fr-FR/empty.html\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/languages/German (Austria) Edition.tid",
    "content": "created: 20140919214900580\nmodified: 20140919215900428\ntags: Languages\ncaption: Deutsch (Österreich)\ntitle: Deutsch (Österreich) Edition\ntype: text/vnd.tiddlywiki\n\nDie österreichische Übersetzung von TiddlyWiki ist verfügbar unter:\n\n* ''Dokumentation'': https://tiddlywiki.com/languages/de-AT/index.html\n* ''Leer'': https://tiddlywiki.com/languages/de-AT/empty.html\n\nSiehe auch: [[Deutsch (Deutschland) Edition]].\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/languages/German (Germany) Edition.tid",
    "content": "created: 20140919215410238\nmodified: 20140919215851101\ntags: Languages\ncaption: Deutsch (Deutschland)\ntitle: Deutsch (Deutschland) Edition\ntype: text/vnd.tiddlywiki\n\nDie deutsche Übersetzung von TiddlyWiki ist verfügbar unter:\n\n* ''Dokumentation'': https://tiddlywiki.com/languages/de-DE/index.html\n* ''Leer'': https://tiddlywiki.com/languages/de-DE/empty.html\n\nSiehe auch: [[Deutsch (Österreich) Edition]].\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/languages/Japanese (Japan) Edition.tid",
    "content": "caption: 日本語 (日本国)\ncreated: 20201227004927059\nmodified: 20241224112736358\ntags: Languages\ntitle: Japanese (Japan) Edition\ntype: text/vnd.tiddlywiki\n\nTiddlyWikiの日本語バージョンはこちら:\n\n* ''ドキュメント'' : https://tiddlywiki.com/languages/ja-JP/index.html\n* ''空白のコピー'' : https://tiddlywiki.com/languages/ja-JP/empty.html\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/languages/Korean (Korea Republic) Edition.tid",
    "content": "caption: 한국어 (대한민국)\ncreated: 20160424113322330\nmodified: 20160424113322330\ntags: Languages\ntitle: Korean (Korea Republic) Edition\ntype: text/vnd.tiddlywiki\n\n티들리위키 한국어 번역은 다음에서 사용할 수 있습니다:\n\n<!--* ''설명문서'' : https://tiddlywiki.com/languages/ko-KR/index.html-->\n* ''빈 위키'' : https://tiddlywiki.com/languages/ko-KR/empty.html\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/languages/Languages.tid",
    "content": "created: 20141202125500000\nmodified: 20160617101222113\ntags: TableOfContents\ntitle: Languages\ntype: text/vnd.tiddlywiki\n\n!! Language Plugins\n\nThe core TiddlyWiki user interface is available in over 20 languages. You can install language plugins following the instructions [[Installing a plugin from the plugin library]]. You can change the current language using the ''language'' button, found on the \"Tools\" tab in the sidebar.\n\nYou can contribute a new language to the library by learning how to [[translate TiddlyWiki into your language|Translate TiddlyWiki into your language]].\n\n!! Language Editions\n\nFor some languages, there are pre-built editions with additional translated documentation:\n\n<<list-links \"[tag[Languages]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/learning/Copying tiddlers between TiddlyWiki files.tid",
    "content": "created: 20140908131700000\nmodified: 20140919161524603\ntags: Learning\ntitle: Copying tiddlers between TiddlyWiki files\ntype: text/vnd.tiddlywiki\n\nYou can copy an individual tiddler from one TiddlyWiki file to another by dragging a link to the tiddler from one browser window to another.\n\nIf you want to drag a link, first move it vertically, because horizontal movement is recognized by the browser as text selection.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/learning/Introduction to Lists.tid",
    "content": "created: 20171212175130471\nmodified: 20171212175139631\ntags: Learning\ntitle: Introduction to Lists\ntype: text/vnd.tiddlywiki\n\nMaking lists of items plays a central role in working with TiddlyWiki. The following is a brief run-through of some of the more common techniques.\n\n~TiddlyWiki [[uses|Extended Listops Filters]] lists [[internally|ListField]] for many purposes so the word can have several meanings. Here we are concerned with displaying sequences of items, but not necessarily presented as a conventional bullet list.\n\n! Manually Typed Lists\n\n!! ~WikiText\n\nWikiText lists are manually typed lists that use a special character to specify what sort of list it is and how it should be displayed.\n\nExamples include bullet lists created with asterisks (*) and numbered lists (#). Behind the scenes, ~WikiText lists are based on the standard `<ul>` and `<li>` HTML elements. For more information see [[Lists in WikiText]].\n\nAn example of a typed list in WikiText:\n\n<<wikitext-example-without-html \"\"\"* Greatest Movies of All Time\n** Casa Blanca\n** Pride and Prejudice and Zombies\"\"\">>\n\n! Generated Lists\n\nLists can be automatically generated with the ListWidget using [[filters|Filters]] in which [[filter operators|Filter Operators]] \nspecify criteria for selecting which tiddlers are desired as output. Shortcut macros are provided for some common types of list.\n\n!! ~ListWidget\n\nThe ListWidget is the most powerful tool for creating lists. It allows the filtered output to be manipulated and styled into forms that may not seem to resemble lists at all, for example tables or complex texts. For more details, see [[ListWidget]].\n\nAn example to show all tiddlers tagged with \"HelloThere\" might look like:\n\n<<wikitext-example-without-html \"\"\"<$list filter=\"[tag[HelloThere]]\"><$view field=\"title\"/><br/></$list>\"\"\">>\n\n<<.tip \"\"\"Even tiddlers themselves are made with the ~ListWidget. The [[ViewTemplate|$:/core/ui/ViewTemplate]] makes use of the ListWidget to fetch all specified templates that are used to show a tiddlers title, tags, text and more.\"\"\">>\n\n!! Filtered transclusion\n\nThe syntax for filtered transclusion `{{{...}}}` takes a filter as input and outputs a linked list of matching titles. You can also apply a [[template|Transclusion with Templates]], for example:\n\n<<wikitext-example-without-html \"\"\"{{{ [tag[HelloThere]] || $:/core/ui/TagTemplate }}}\"\"\">>\n\n!! list-links Macro\n\nThe [[list-links|list-links Macro]] macro gives a preformatted list, typically a bullet list, in a more simplified way than by using the ListWidget. Behind the scenes it really is the ListWidget applying a default template to each list item.\n\n<$macrocall $name=\"wikitext-example-without-html\" src=\"\"\"<<list-links \"[tag[HelloThere]]\">>\"\"\"/>\n\n!Other “list related” features\n\n[[list|ListField]], [[list-before|Order of Tagged Tiddlers]] and [[list-after|Order of Tagged Tiddlers]] are all field names to control the position of tiddlers in a list. [[Fields|TiddlerFields]] are a way to add additional bits of structured information to a tiddler such as date, quantity, category, etc.\n\n[[list|list Operator]] and [[listed|listed Operator]] are //filter operators// to, respectively, select and find titles in lists.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/learning/Learning.tid",
    "content": "created: 20140912140047779\nlist: Videos [[Introduction to filter notation]] [[Sharing a TiddlyWiki on Dropbox]] [[Sharing your tiddlers with others]] [[Copying tiddlers between TiddlyWiki files]] [[Creating SubStories]] [[Editing Tiddlers with Emacs]] [[ImageGallery Example]] [[Making curved text with SVG]] TaskManagementExample [[Adding a Twitter Follow button]] [[Philosophy of Tiddlers]] [[Adopt a Titles Policy]]\nmodified: 20140919161721584\ntags: TableOfContents\ntitle: Learning\ntype: text/vnd.tiddlywiki\n\nLearn more about using TiddlyWiki:\n\n<<list-links \"[tag[Learning]]\">>\n\nAlso see the complete [[Reference]], including advanced WikiText, macros, widgets, filters etc.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/ChangeCountMacro.tid",
    "content": "caption: changecount\ncreated: 20131228162825226\nmodified: 20221221174529586\ntags: Macros [[Core Macros]]\ntitle: changecount Macro\ntype: text/vnd.tiddlywiki\n\nThe <<.def changecount>> [[macro|Macros]] returns the number of times the [[current tiddler|Current Tiddler]] has been created, stored or deleted during the current ~TiddlyWiki session.\n\nIf a tiddler is deleted and subsequently recreated, its <<.var changecount>> will be increased by two.\n\n!! Parameters\n\n(none)\n\n<<.macro-examples \"changecount\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/ColourMacro.tid",
    "content": "created: 20150221154058000\nmodified: 20200228142855357\ntags: Macros [[Core Macros]]\ntitle: colour Macro\ntype: text/vnd.tiddlywiki\ncaption: colour\n\nThe <<.def colour>> (or <<.def color>>) [[macro|Macros]] returns the [[CSS|Cascading Style Sheets]] value of one the colours in the current [[palette|ColourPalettes]].\n\nIf no such entry exists in the current palette, the [[vanilla palette|$:/palettes/Vanilla]] is used instead. If no such entry exists in the vanilla palette, the system looks for a configuration tiddler with the title `$:/config/DefaultColourMappings/<colour-name>` and transcludes the colour from the text field. This enables to plugins to ship defaults for colours that are not present in the core palettes.\n\n!! Parameters\n\n;name\n: The name of the palette entry, e.g. `page-background`\n\n<<.macro-examples \"colour\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/ContrastColourMacro.tid",
    "content": "created: 20150221113728000\nmodified: 20150221151338000\ntags: Macros [[Core Macros]]\ntitle: contrastcolour Macro\ntype: text/vnd.tiddlywiki\ncaption: contrastcolour\n\nThe <<.def contrastcolour>> [[macro|Macros]] returns whichever of two given [[CSS|Cascading Style Sheets]] colours is deemed to contrast best with another.\n\nAn example can be seen in the [[template tiddler for tag pills|$:/core/ui/TagTemplate]].\n\n!! Parameters\n\n;target\n: The colour to contrast against (typically a background colour)\n;fallbackTarget\n: An alternative colour to contrast against. This is used when <<.param target>> is undefined or not a valid colour\n;colourA\n: The first of the two colours to choose between\n;colourB\n: The second of the two colours to choose between\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/CoreMacros.tid",
    "content": "created: 20150220180315000\nmodified: 20240422084600212\ntags: Reference\ntitle: Core Macros\ntype: text/vnd.tiddlywiki\n\nThe following [[macros|Macros]] are built into ~TiddlyWiki's core:\n\n<<list-links \"[tag[Core Macros]]\" class:\"multi-columns\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/CsvTiddlersMacro.tid",
    "content": "created: 20150221115509000\nmodified: 20150221151344000\ntags: Macros [[Core Macros]]\ntitle: csvtiddlers Macro\ntype: text/vnd.tiddlywiki\ncaption: csvtiddlers\n\nThe <<.def csvtiddlers>> [[macro|Macros]] returns the fields of a [[selection of tiddlers|Title Selection]] in [[CSV|Comma-Separated Values]] form, with one record (row) per tiddler.\n\nAn example can be seen in the [[template tiddler for CSV exports|$:/core/templates/exporters/CsvFile]].\n\n!! Parameters\n\n;filter\n: A [[filter|Filters]] selecting which tiddlers to include\n;format\n: Reserved for future extension. Should be set to `quoted-comma-sep`\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/DataUriMacro.tid",
    "content": "created: 20150221162212000\nmodified: 20150221222838000\ntags: Macros [[Core Macros]]\ntitle: datauri Macro\ntype: text/vnd.tiddlywiki\ncaption: datauri\n\nThe <<.def datauri>> [[macro|Macros]] returns a [[data URI|Data URI]] for the content of a tiddler.\n\nIt is often used in [[stylesheet|Cascading Style Sheets]] tiddlers to reference things like inline images and fonts:\n\n> `background: url(<<datauri \"Motovun Jack.jpg\">>);`\n\nThe data URI is automatically [[base64|Base64]]-encoded in the case of a non-text tiddler.\n\n!! Parameters\n\n;title\n: The title of a tiddler, such as an image\n\n<<.macro-examples \"datauri\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/DumpVariablesMacro.tid",
    "content": "created: 20140908104107181\nmodified: 20150221151454000\ntags: Macros [[Core Macros]]\ntitle: dumpvariables Macro\ntype: text/vnd.tiddlywiki\ncaption: dumpvariables\n\nThe <<.def dumpvariables>> [[macro|Macros]] returns a table showing the values of all [[variables|Variables]] and [[macros|Macros]] that exist at that position in the [[widget tree|Widgets]].\n\nIt is useful for debugging and exploring ~TiddlyWiki's internals.\n\nPlaceholders are replaced with values in the normal way, but using the default values for all macro parameters.\n\n!! Parameters\n\n(none)\n\n<<.macro-examples \"dumpvariables\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/JsonTiddlersMacro.tid",
    "content": "caption: jsontiddlers\ncreated: 20150221152226000\nmodified: 20220427171155184\ntags: Macros [[Core Macros]]\ntitle: jsontiddlers Macro\ntype: text/vnd.tiddlywiki\n\nThe <<.def jsontiddlers>> [[macro|Macros]] returns the fields of a [[selection of tiddlers|Title Selection]] in [[JSON|JavaScript Object Notation]] form. See [[JSON in TiddlyWiki]] for an overview.\n\nAn example can be seen in the [[template tiddler for JSON exports|$:/core/templates/exporters/JsonFile]].\n\n!! Parameters\n\n;filter\n: A [[filter|Filters]] selecting which tiddlers to include\n;spaces\n: An optional number of spaces to use for formatting the JSON. Defaults to 4, with blank or zero resulting in packed JSON with no formatting spaces\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/LingoMacro.tid",
    "content": "created: 20150221154907000\nmodified: 20150221155706000\ntitle: lingo Macro\ntags: Macros [[Core Macros]]\ncaption: lingo\n\nThe <<.def lingo>> [[macro|Macros]] relates to the translation of ~TiddlyWiki's user interface into other languages. It returns a piece of text in the user's currently selected language.\n\nTranslatable text is supplied by language plugins containing tiddlers with specific titles that start with `$:/language/`.\n\n!! Parameters\n\n;title\n: The title of the shadow tiddler that contains the text. The prefix `$:/language/` is added automatically\n\n<<.macro-examples \"lingo\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/ListMacro.tid",
    "content": "caption: list-links\ncreated: 20140917083515996\nmodified: 20221105090835041\ntags: Macros [[Core Macros]]\ntitle: list-links Macro\ntype: text/vnd.tiddlywiki\n\nThe <<.def list-links>> [[macro|Macros]] returns a formatted list of links to a [[selection of tiddlers|Title Selection]].\n\nIf a tiddler has a <<.field caption>> field, this is shown instead of the tiddler's title. If the caption field is empty, a blank entry is shown.\n\nNote: Each first [[step|Filter Step]] of a [[filter run|Filter Run]] not given any input titles receives the output of <$link to=\"all Operator\">[all[tiddlers]]</$link> as its input. This means all the existing non-[[shadow|ShadowTiddlers]] tiddlers.\n\n!! Parameters\n\n;filter\n: A [[filter|Filters]] selecting which tiddlers to include\n;field\n: The name of the field to transclude for each list item, defaulting to `caption`\n;type\n: An HTML element to use for the overall list element, defaulting to `ul`\n;subtype\n: An HTML element to use for each item in the list, defaulting to `li`\n;class\n: A [[CSS|Cascading Style Sheets]] class for the overall list element\n;emptyMessage\n: Optional wikitext to display if there are no tiddlers with the specified tag\n\n<<.macro-examples \"list-links\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/MakeDataUriMacro.tid",
    "content": "created: 20131228163141555\nmodified: 20200330105334133\ntags: Macros [[Core Macros]]\ntitle: makedatauri Macro\ntype: text/vnd.tiddlywiki\ncaption: makedatauri\n\nThe <<.def makedatauri>> [[macro|Macros]] takes a piece of text and an associated ContentType, and returns a corresponding [[data URI|Data URI]].\n\n<<.var makedatauri>> is used to implement the <<.mlink datauri>> macro.\n\n!! Parameters\n\n;text\n: The text to be converted to a data URI\n;type\n: The ContentType of the text\n;_canonical_uri\n: The optional ''_canonical_uri'' address of the content\n\n<<.macro-examples \"makedatauri\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/NowMacro.tid",
    "content": "caption: now\ncreated: 20141008141616791\nmodified: 20210629215024061\ntags: Macros [[Core Macros]]\ntitle: now Macro\ntype: text/vnd.tiddlywiki\n\nThe <<.def now>> [[macro|Macros]] returns the current date and time in a specified [[format|DateFormat]].\n\nThe value doesn't update automatically, like a ticking clock. It updates whenever the macro call is rendered, such as when the containing tiddler's display needs to be refreshed for some other reason.\n\n!! Parameters\n\n;format\n: A string specifying the desired [[format|DateFormat]], defaulting to `0hh:0mm, DDth MMM YYYY`\n\n''Note'': The format string `[UTC]YYYY0MM0DD0hh0mm0ssXXX` will return a date string representing the UTC time-stamp as it is used in the ~TiddlyWiki `created` and `modified` time-stamp fields.\n\n<<.from-version 5.2.0>><<.tip \"You can now pass literal parameters to the `now` macro in filters. For example, this filter will return all tiddlers created today: `[all[tiddlers]] :filter[get[created]format:date[YYYY0MM0DD]match<now YYYY0MM0DD>]`\">>\n\n\n<<.macro-examples \"now\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/QualifyMacro.tid",
    "content": "created: 20131228164411884\nmodified: 20150221223816000\ntags: Macros [[Core Macros]]\ntitle: qualify Macro\ntype: text/vnd.tiddlywiki\ncaption: qualify\n\nThe <<.def qualify>> [[macro|Macros]] is an important part of the StateMechanism.\n\nIt returns a unique string that encodes its position within the [[widget tree|Widgets]], as identified by the stack of transcluded tiddlers that lead to that position.\n\nIt is implemented using the <<.vlink transclusion>> variable.\n\n!! Parameters\n\n;title\n: The prefix for the returned string, normally a tiddler title\n\n<<.macro-examples \"qualify\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/ResolvePath.tid",
    "content": "created: 20150203152000000\nmodified: 20150221223858000\ntags: Macros [[Core Macros]]\ntitle: resolvepath Macro\ntype: text/vnd.tiddlywiki\ncaption: resolvepath\n\nThe <<.def resolvepath>> [[macro|Macros]] takes a relative path and an absolute path. It interprets the former relative to the latter, and returns the absolute equivalent of the former.\n\nFolders in the paths are delimited by `/`.\n\nThe special folder name `.` denotes the current folder, and `..` denotes the parent folder.\n\nIf the absolute path indicates a folder, it needs to end with `/`. Anything after the final `/` is treated as an arbitrary filename within the intended path, and is discarded.\n\nIf no absolute path is supplied, the relative path is returned unchanged, except that anything after the final `/` is discarded.\n\nThe return value is a path, but does <<.em not>> end with `/`.\n\n!! Parameters\n\n;source\n: the relative path\n;root\n: the absolute path\n\n<<.macro-examples \"resolvepath\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/StylesheetMacros.tid",
    "content": "created: 20150221181835000\nmodified: 20251101090648379\ntags: Macros [[Core Macros]]\ntitle: Stylesheet Macros\ntype: text/vnd.tiddlywiki\n\nThe following stylesheet macros are documented separately:\n\n* <<.mlink colour>>\n* <<.mlink datauri>>\n\nAll these macros are defined in the [[$:/core/macros/CSS]] tiddler.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/TableOfContentsMacro.tid",
    "content": "created: 20140919155729620\nmodified: 20260124130054271\ntags: Macros [[Core Macros]]\ntitle: Table-of-Contents Macros\ntype: text/vnd.tiddlywiki\n\n~TiddlyWiki provides several macros for generating a tree of tiddler links by analysing [[tags|Tagging]]:\n\n; <<.var toc>>\n: A simple tree\n\n; <<.var toc-expandable>>\n: A tree in which all the branches can be expanded and collapsed\n\n; <<.var toc-selective-expandable>>\n: A tree in which the non-empty branches can be expanded and collapsed\n\n; <<.var toc-tabbed-internal-nav>> and <<.var toc-tabbed-external-nav>>\n: A two-panel browser:\n:* on the left, a selectively expandable tree that behaves like a set of vertical tabs\n:* on the right, the content of whichever tiddler the user selects in the tree\n\nThe difference between the last two has to do with what happens when the user clicks a link in the right-hand panel:\n\n; <<.var toc-tabbed-internal-nav>>\n: The target tiddler appears in the right-hand panel, replacing the tiddler that contained the link\n\n; <<.var toc-tabbed-external-nav>>\n: The target tiddler appears in the normal way (which depends on the user's configured storyview)\n\n!! Structure\n\nThe top level of the tree consists of the tiddlers that carry a particular tag, known as the <<.def \"root tag\">>. Tiddlers tagged with any of those make up the next level down, and so on.\n\nAt each level, the tiddlers can be [[ordered|Order of Tagged Tiddlers]] by means of the <<.field list>> field of the parent tag tiddler. They can also be ordered by the macro's <<.param sort>> parameter.\n\nThe tree displays the <<.field caption>> field of a tiddler if it has one, or the tiddler's title otherwise.\n\nEach tiddler in the tree is normally displayed as a link. To suppress this, give the tiddler a <<.field toc-link>> field with the the value <<.value no>>. In the [[examples|Table-of-Contents Macros (Examples)]], the SecondThree tiddler is set up like this. Clicking such a tiddler in the tree causes its branch to expand or collapse.\n\n<<.from-version \"5.1.23\">> By default, the links open the tiddlers making up the table of contents. Alternatively, if the tiddler contains a <<.field target>> field then its contents will be used as the target of the link.\n\nThe table of contents is generated as an HTML ordered list. The `<ol>` elements always have the class `tc-toc`. Expandable trees have the additional class `tc-toc-expandable`. Selectively expandable trees (including those in the two-panel browser) have `tc-toc-selective-expandable`.\n\nTo make a table of contents appear in the sidebar, see [[How to add a new tab to the sidebar]].\n\n!! Parameters\n\n; tag\n: The root tag that identifies the top level of the tree\n: <<.from-version \"5.3.5\">> If the <<.param tag>> parameter is \"missing\" or \"an empty\" string, the <<.var curretTiddler>> variable is used\n\n; sort\n: An optional extra [[filter step|Filter Step]], e.g. `sort[title]`\n\nThese two parameters are combined into a single [[filter expression|Filter Expression]] like this:\n\n> `[tag[$tag$]$sort$]`\n\n<<.var toc-tabbed-internal-nav>> and <<.var toc-tabbed-external-nav>> take additional parameters:\n\n; selectedTiddler\n: The title of the [[state tiddler|StateMechanism]] for noting the currently selected tiddler, defaulting to `$:/temp/toc/selectedTiddler`. It is recommended that this be a [[system tiddler|SystemTiddlers]]\n\n; unselectedText\n: The text to display when no tiddler is selected in the tree\n\n; missingText\n: The text to display if the selected tiddler doesn't exist\n\n; template\n: Optionally, the title of a tiddler to use as a [[template|TemplateTiddlers]] for transcluding the selected tiddler into the right-hand panel\n\n; exclude <<.from-version \"5.3.0\">>\n: This optional parameter can be used to exclude tiddlers from the TOC list. It allows a [[Title List]] or a <<.olink subfilter>>. Eg: `exclude:\"HelloThere [[Title with spaces]]\"` or `exclude:\"[has[excludeTOC]]\"`. Where the former will exclude two tiddlers and the later would exclude every tiddler that has a field <<.field excludeTOC>> independent of its value.<br>''Be aware'' that eg: `[prefix[H]]` is a shortcut for `[all[tiddlers]prefix[H]]`, which can have a performance impact, if used carelessly. So use $:/AdvancedSearch -> ''Filters'' tab to test the <<.param exclude>> parameter\n\n; level <<.from-version \"5.4.0\">>\n: This optional parameter can be used to define how many toc levels are shown by the toc-macro. By default all levels are shown. \n\n!! Custom Icons\n\n<<.from-version \"5.2.4\">>\n\nTo change the icons used by the Table-of-Contents macros, redefine the macros `toc-open-icon` and `toc-closed-icon`. This setting works for all toc-macro variants.\n\n!!! Default Settings\n\n* <<.var toc-open-icon>>: `\\define toc-open-icon() $:/core/images/down-arrow`  \n\n* <<.var toc-closed-icon>>: `\\define toc-closed-icon() $:/core/images/right-arrow` \n\n!!! Custom Definitions\n\nThe default settings can be overwritten in your code using the define-pragma or the let-widget. The <<.wlink LetWidget>> widget can be used, if you have multiple table of contents macros in one tiddler, that need different icons. \n\n''Define new icons using a pragma''\n\n```\n\\define toc-open-icon() $:/core/images/fold-button\n\\define toc-closed-icon() $:/core/images/folder\n...\n```\n\n''Define new icons using the let-widget''\n\n```\n<$let toc-open-icon=\"$:/core/images/fold-button\" toc-closed-icon=\"$:/core/images/folder\">\n...\n</$let>\n```\n\n!! Examples\n\nLearn more at [[Examples|Table-of-Contents Macros (Examples)]]"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/TabsMacro.tid",
    "content": "caption: tabs\ncreated: 20131228162203521\nmodified: 20240627201724476\ntags: Macros [[Core Macros]]\ntitle: tabs Macro\ntype: text/vnd.tiddlywiki\n\nThe <<.def tabs>> [[macro|Macros]] presents a [[selection of tiddlers|Title Selection]] as a set of tabs that the user can switch between.\n\nThe tabs display the <<.field caption>> field of a tiddler if it has one, or the tiddler's title otherwise. If specified, the tabs display the <<.field tooltip>> field of a tiddler as the respective button tooltip.\n\nBy default the tabs are arranged horizontally above the content. To get vertical tabs, set the <<.param class>> parameter to <<.value tc-vertical>>.\n\n!! Parameters\n\n;tabsList\n: A [[filter|Filters]] selecting which tiddlers to include\n;default\n: The title of the tiddler whose tab is to be selected by default, if the [[state tiddler|StateMechanism]] doesn't exist. The state tiddler takes precedence over this setting\n;state\n: The prefix for the title of a [[state tiddler|StateMechanism]] for noting the currently selected tab, defaulting to `$:/state/tab`. It is recommended that this be a [[system tiddler|SystemTiddlers]]\n;class\n: Additional [[CSS|Cascading Style Sheets]] classes for the generated `div` elements. Multiple classes can be separated with spaces\n;template\n: Optionally, the title of a tiddler to use as a [[template|TemplateTiddlers]] for transcluding the content of the selected tab\n;buttonTemplate\n: Optionally, the title of a tiddler to use as a [[template|TemplateTiddlers]] for transcluding the content of the button for the selected tab\n;retain\n: Optionally, \"yes\" specifies that the content of the tabs should be retained when switching to another tab, avoiding re-rendering it (this can be useful to avoid video or audio sources unexpectedly resetting)\n;actions\n: Optionally, actions can be specified that are triggered when changing a tab. Within the actions, the title of the selected tab is available in the <<.var currentTab>> variable and the `currentTiddler` variable from outside the tabs macro is available in the <<.var save-currentTiddler>>\n;explicitState\n: Optionally, an explicit state title can be specified. It will be preferred over the internally computed (qualified) state title\n\nWithin the template, the title of the selected tab is available in the <<.var currentTab>> variable.\n\nThe <<.vlink currentTiddler>> variable is not affected by the <<.var tabs>> macro. This can put you in trouble if the list of tabs includes tiddlers that depend on the value of the <<.vlink currentTiddler>>, for example tiddlers listing children based on its own name. To overcome this problem you can make use of the <<.vlink currentTab>> variable, which can be used in a [[TemplateTiddler|TemplateTiddlers]] such as the following:\n\n```\n<$tiddler tiddler=<<currentTab>>>\n<$transclude mode=\"block\" />\n</$tiddler>\n```\n\n<<.macro-examples \"tabs\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/TagMacro.tid",
    "content": "caption: tag\ncreated: 20141206130540337\nmodified: 20240228131301798\ntags: Macros [[Core Macros]]\ntitle: tag Macro\ntype: text/vnd.tiddlywiki\n\nThe <<.def tag>> [[macro|Macros]] generates a tag pill for a specified tag. Clicking the tag pill opens a dropdown. This can be compared to the [[tag-pill Macro]] which also features other parameters.\n\n<<.tip \"\"\"If a [[list widget|ListWidget]] generates multiple tag macros for the same tag, clicking on one of them will open dropdowns on all of them. The simplest way to prevent this is to add the `counter=\"transclusion\"` attribute to the list widget. See the examples below for more details.\"\"\">>\n\n!! Parameters\n\n; tag\n: The title of the tag, defaulting to the [[current tiddler|Current Tiddler]]\n\n!! CSS classes\n\n<<.from-version \"v5.3.4\">>\n\n; `tc-tag-missing`\n: This class is defined if a tag does ''not exist'' as a tiddler.\n\n; `tc-tag-exists`\n: This class is defined if a tag does exist as a tiddler\n\n!!! Defining the class\n\nTo define the `tc-tag-missing` class a stylesheet tiddler needs to be created. The default font-style for missing tiddler links is //italic//, so it's used for the example code below. Eg:\n\n''title:'' `myTagsStylesheet`<br>\n''tag:'' `$:/tags/Stylesheet`\n\n<<copy-to-clipboard-above-right src:\"\"\"\n.tc-tag-missing {\n\tfont-style: italic;\n}\n\"\"\">>\n```\n.tc-tag-missing {\n\tfont-style: italic;\n}\n```\n\n<<.macro-examples \"tag\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/TimelineMacro.tid",
    "content": "caption: timeline\ncreated: 20150220180357000\nmodified: 20170223033633361\ntags: Macros [[Core Macros]]\ntitle: timeline Macro\ntype: text/vnd.tiddlywiki\n\nThe <<.def timeline>> [[macro|Macros]] returns a list of tiddlers in reverse chronological order of modification (or some other [[date field|Date Fields]]), grouped by day.\n\n!! Parameters\n\n;limit\n: The maximum number of tiddlers to include, defaulting to 100. But if <<.em any>> tiddlers are included for a particular day, <<.em all>> of the other tiddlers for that day will also be included -- even if this exceeds the limit\n;format\n: A string specifying the desired [[format|DateFormat]], defaulting to `DDth MMM YYYY`\n;subfilter\n: An optional extra [[filter step|Filter Step]], e.g. `tag[MyTag]`\n;dateField\n: The name of the date field to use, defaulting to `modified`\n\nThe tiddlers are selected by means of a [[filter expression|Filter Expression]], into which the <<.param subfilter>> and <<.param limit>> parameters are spliced as follows:\n\n> `[!is[system]$subfilter$has[$dateField$]!sort[$dateField$]limit[$limit$]eachday[$dateField$]]`\n\n<<.macro-examples \"timeline\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/TranslinkMacro.tid",
    "content": "created: 20230505090333510\nmodified: 20230505090333510\ntags: Macros [[Core Macros]]\ntitle: translink Macro\ntype: text/vnd.tiddlywiki\ncaption: translink\n\nThe <<.def translink>> [[macro|Macros]] returns a frame with the title and [[transcluded|Transclusion]] text of a chosen tiddler. The title links to the transcluded tiddler.\n\nIf the chosen tiddler is missing, an appropriate message will be shown instead of the transcluded text.\n\nThis is the default macro used when [[excising|Using Excise]] text and replacing it with a macro.\n\n!! Parameters\n\n; title\n: The title of the tiddler to be transcluded\n; mode\n: The mode of the [[transclude widget|TranscludeWidget]] used inside the macro, defaults to `block`\n\n<<.macro-examples \"translink\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/UnusedTitleMacro.tid",
    "content": "caption: unusedtitle\ncreated: 20210104143546885\nmodified: 20240119224103283\ntags: Macros [[Core Macros]]\ntitle: unusedtitle Macro\ntype: text/vnd.tiddlywiki\n\nThe <<.def unusedtitle>> [[macro|Macros]] returns an unused title. Optionally you can provide a base title to generate the new title.\n\nIt uses the same method as the create new tiddler button, a number is appended to the end of the base name.\n\n!! Parameters\n\n; baseName\n: A string specifying the desired base name, defaulting to `New Tiddler`. <br>The default setting can be adjusted in the $:/ControlPanel '': Info : Basics - tab.''\n\n; separator\n: <<.from-version \"5.2.0\">> An ''optional'' string specifying the separator between baseName and the unique number. eg: `separator:\"-\"`. Defaults to a space: `\" \"`. If you need an empty separator use the ''template''!\n\n; template\n: <<.from-version \"5.2.0\">> An ''optional'' template string can be used to allow you maximum flexibility. If the template string is used, there will always be a counter value. \n\n; startCount\n: <<.from-version \"5.3.6\">> An ''optional'' parameter, that sets the initial value for the new tiddler counter.\n\n!! Template String\n\n; `$basename$`\n: This variable will be replaced by the content of the ''baseName'' parameter\n\n; `$separator$`\n: This variable will be replaced by the ''separator'' parameter\n\n;`$count$`\n: This variable will be created automatically and is a counter starting with 0\n\n;`$count:4$`\n: This variable will be created automatically and starts at 0000\n: `:4` represents the number of digits\n\n!! Examples\n\n<<list-links \"[prefix[unusedtitle Macro (E]!sort[]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/VersionMacro.tid",
    "content": "created: 20131228162448664\nmodified: 20150221214134000\ntags: Macros [[Core Macros]]\ntitle: version Macro\ntype: text/vnd.tiddlywiki\ncaption: version\n\nThe <<.def version>> [[macro|Macros]] returns the current version number of ~TiddlyWiki.\n\n!! Parameters\n\n(none)\n\n<<.macro-examples \"version\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/colour-picker Macro.tid",
    "content": "caption: colour-picker\ncreated: 20160418152741901\nmodified: 20160418154330605\ntags: Macros [[Core Macros]]\ntitle: colour-picker Macro\ntype: text/vnd.tiddlywiki\n\nThe <<.def colour-picker>> [[macro|Macros]] displays an interactive colour picker, as can be seen in the core bitmap editor.\n\n!! Parameters\n\n;actions\n: Wikitext for the action widgets that should be executed when the user selects a colour. Within the text, the variable `colour-picker-value` contains the selected colour.\n\n<<.macro-examples \"colour-picker\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/copy-to-clipboard Macro.tid",
    "content": "caption: copy-to-clipboard\ncreated: 20171216104754967\nmodified: 20171216104941967\ntags: Macros [[Core Macros]]\ntitle: copy-to-clipboard Macro\ntype: text/vnd.tiddlywiki\n\nThe <<.def copy-to-clipboard>> [[macro|Macros]] displays a button that copies specified text to the clipboard. A notification is displayed if the operation is successful; some browsers do not permit the operation.\n\n!! Parameters\n\n;src\n: The text to be copied to the clipboard\n;class\n: Optional CSS classes to be assigned to the button (defaults to `tc-btn-invisible`)\n;style\n: Optional CSS styles to be assigned to the button\n\n<<.macro-examples \"copy-to-clipboard\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/examples/Macro Calls.tid",
    "content": "created: 20150220182252000\nmodified: 20150221221723000\ntags: [[WikiText Examples]]\ntitle: Macro Calls in WikiText (Examples)\ntype: text/vnd.tiddlywiki\n\n\\define sayhi-example-1() <<sayhi>>\n\\define sayhi-example-2() <<sayhi Bugs>>\n\\define sayhi-example-3() <<sayhi \"Donald Duck\" Disneyland>>\n\\define sayhi-example-4() <<sayhi \"Mickey Mouse\" \"Mouse House\">>\n\\define sayhi-example-5() <<sayhi name:'Minnie Mouse' address:[[Mouse House]]>>\n\\define sayhi-example-6() <<sayhi address:\"Quacky Towers\" name:\"Donald Duck\">>\n\n\\define sayhi-example-7()\n<<sayhi \"Mickey Mouse\" \"\"\"\"Mouse House\",\nRodent's Lane,\nSqueaksville,\nRatland\"\"\">>\n\\end\n\n<$importvariables filter=\"$:/editions/tw5.com/macro-examples/say-hi\">\n<$codeblock code={{$:/editions/tw5.com/macro-examples/say-hi}}/>\n<$macrocall $name=\".example\" n=\"1\" eg=<<sayhi-example-1>>/>\n<$macrocall $name=\".example\" n=\"2\" eg=<<sayhi-example-2>>/>\n<$macrocall $name=\".example\" n=\"3\" eg=<<sayhi-example-3>>/>\n<$macrocall $name=\".example\" n=\"4\" eg=<<sayhi-example-4>>/>\n<$macrocall $name=\".example\" n=\"5\" eg=<<sayhi-example-5>>/>\n<$macrocall $name=\".example\" n=\"6\" eg=<<sayhi-example-6>>/>\n<$macrocall $name=\".example\" n=\"7\" egvar=\"sayhi-example-7\"/>\n</$importvariables>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/examples/changecount.tid",
    "content": "created: 20150221151206000\nmodified: 20150221151227000\ntags: [[changecount Macro]] [[Macro Examples]]\ntitle: changecount Macro (Examples)\ntype: text/vnd.tiddlywiki\n\n<$macrocall $name=\".example\" n=\"1\" eg=\"\"\"<<changecount>>\"\"\"/>\n\nThe value will increase if you edit this tiddler and store it again, even without making any changes to its content.\n\nTo access the <<.var changecount>> of a different tiddler, use a <<.wlink TiddlerWidget>> widget:\n\n<$macrocall $name=\".example\" n=\"2\"\neg=\"\"\"<$tiddler tiddler=\"Draft of 'New Tiddler'\">\n<<changecount>>\n</$tiddler>\"\"\"/>\n\nThe value shown will increase whenever you create, store or delete [[New Tiddler]].\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/examples/colour-picker Macro (Example 1).tid",
    "content": "created: 20160418154853776\nmodified: 20211116034610950\ntags: [[Macro Examples]]\ntitle: colour-picker Macro (Example 1)\ntype: text/vnd.tiddlywiki\n\nColour: <$edit-text tiddler='$:/_MyColour' tag='input' placeholder='(unset)' default=''/>\n\n---\n\n<$macrocall $name='colour-picker' actions=\"\n\n<$action-setfield $tiddler='$:/_MyColour' $value=<<colour-picker-value>>/>\n\n\"/>"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/examples/colour-picker Macro (Examples).tid",
    "content": "created: 20160418152735536\nmodified: 20160418155324847\ntags: [[colour-picker Macro]] [[Macro Examples]]\ntitle: colour-picker Macro (Examples)\ntype: text/vnd.tiddlywiki\n\n<$macrocall $name=\".example\" n=\"1\" eg={{colour-picker Macro (Example 1)}}/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/examples/colour.tid",
    "content": "created: 20150221154356000\nmodified: 20150221154803000\ntags: [[colour Macro]] [[Macro Examples]]\ntitle: colour Macro (Examples)\ntype: text/vnd.tiddlywiki\n\n<$macrocall $name=\".example\" n=\"1\" eg=\"\"\"<<colour code-border>>\"\"\"/>\n<$macrocall $name=\".example\" n=\"2\" eg=\"\"\"<<colour foreground>>\"\"\"/>\n<$macrocall $name=\".example\" n=\"3\" eg=\"\"\"<<colour page-background>>\"\"\"/>\n<$macrocall $name=\".example\" n=\"4\" eg=\"\"\"<<colour sidebar-tab-background>>\"\"\"/>\n<$macrocall $name=\".example\" n=\"5\" eg=\"\"\"<<colour tag-foreground>>\"\"\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/examples/copy-to-clipboard Macro (Examples).tid",
    "content": "created: 20171216104946277\nmodified: 20171216105109641\ntags: [[copy-to-clipboard Macro]] [[Macro Examples]]\ntitle: copy-to-clipboard Macro (Examples)\ntype: text/vnd.tiddlywiki\n\n<$macrocall $name=\".example\" n=\"1\" eg=\"\"\"<<copy-to-clipboard \"Mary had a little lamb\">>\"\"\"/>\n<$macrocall $name=\".example\" n=\"2\" eg=\"\"\"<$macrocall $name=\"copy-to-clipboard\" src={{$:/SiteTitle}}/>\"\"\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/examples/datauri.tid",
    "content": "created: 20150221160534000\nmodified: 20150221223524000\ntags: [[datauri Macro]] [[Macro Examples]]\ntitle: datauri Macro (Examples)\ntype: text/vnd.tiddlywiki\n\n<$macrocall $name=\".example\" n=\"2\"\neg=\"\"\"<style>\n.jack {\n\tbackground: url(<$macrocall $name=\"datauri\" title=\"Motovun Jack.jpg\" $output=\"text/plain\"/>);\n\theight: 300px;\n}\n</style>\n\n<div class=\"jack\"/>\"\"\"/>\n\nThe example has to invoke <<.var datauri>> through the <<.wid macrocall>> widget. It needs to prevent the macro's output from being parsed as WikiText, as that would transform the data URI into a <<.wlink LinkWidget>> widget and break the example. If the example was in a CSS tiddler, you could simply write:\n\n> `background: url(<<datauri \"Motovun Jack.jpg\">>);`\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/examples/dumpvariables.tid",
    "content": "created: 20150221151358000\nmodified: 20150221151415000\ntags: [[dumpvariables Macro]] [[Macro Examples]]\ntitle: dumpvariables Macro (Examples)\ntype: text/vnd.tiddlywiki\n\n<$macrocall $name=\".example\" n=\"1\"\neg=\"\"\"<$set name=\"EXAMPLE\" value=\"123.$(EXAMPLE2)$.789\">\n<$set name=\"EXAMPLE2\" value=\"456\">\n\n<<dumpvariables>>\n\n</$set>\n</$set>\"\"\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/examples/image-picker Macro (Example 1).tid",
    "content": "created: 20160418155523369\nmodified: 20211116035014728\ntags: [[Macro Examples]]\ntitle: image-picker Macro (Example 1)\ntype: text/vnd.tiddlywiki\n\nImage: <$edit-text tiddler='$:/_MyImage' tag='input' placeholder='(unset)' default=''/>\n\n<$transclude tiddler={{$:/_MyImage}}/>\n\n---\n\n<$macrocall $name='image-picker' actions=\"\n\n<$action-setfield $tiddler='$:/_MyImage' $value=<<imageTitle>>/>\n\n\"/>"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/examples/image-picker Macro (Example 2).tid",
    "content": "created: 20160418155523369\nmodified: 20211116035110986\ntags: [[Macro Examples]]\ntitle: image-picker Macro (Example 2)\ntype: text/vnd.tiddlywiki\n\nImage: <$edit-text tiddler='$:/_MyImage' tag='input' placeholder='(unset)' default=''/>\n\n<$transclude tiddler={{$:/_MyImage}}/>\n\n---\n\n<$macrocall $name='image-picker' actions=\"\n\n<$action-setfield $tiddler='$:/_MyImage' $value=<<imageTitle>>/>\n\n\" subfilter=\"prefix[Language]\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/examples/image-picker Macro (Examples).tid",
    "content": "created: 20160418155539132\nmodified: 20160418155621890\ntags: [[image-picker Macro]] [[Macro Examples]]\ntitle: image-picker Macro (Examples)\ntype: text/vnd.tiddlywiki\n\n<$macrocall $name=\".example\" n=\"1\" eg={{image-picker Macro (Example 1)}}/>\n\nThis next example shows how the <<.param subfilter>> parameter limits the list of images (here to those with the \"Language\" prefix):\n\n<$macrocall $name=\".example\" n=\"2\" eg={{image-picker Macro (Example 2)}}/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/examples/lingo.tid",
    "content": "created: 20150221151358000\nmodified: 20150221160113000\ntags: [[lingo Macro]] [[Macro Examples]]\ntitle: lingo Macro (Examples)\ntype: text/vnd.tiddlywiki\n\nThis example shows the text used as the basis for the title of a newly created tiddler:\n\n<$macrocall $name=\".example\" n=\"1\" eg=\"\"\"<<lingo DefaultNewTiddlerTitle>>\"\"\"/>\n\nThis example shows the name of the eighth month of the year, for use in [[formatting dates|DateFormat]]:\n\n<$macrocall $name=\".example\" n=\"2\" eg=\"\"\"<<lingo Date/Long/Month/8>>\"\"\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/examples/list-links-draggable Macro (Examples).tid",
    "content": "created: 20170328211011767\nmodified: 20170328211211799\ntags: [[list-links-draggable Macro]] [[Macro Examples]]\ntitle: list-links-draggable Macro (Examples)\ntype: text/vnd.tiddlywiki\n\n<$macrocall $name=\".example\" n=\"1\" eg=\"\"\"<<list-links-draggable tiddler:\"Days of the Week\">>\"\"\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/examples/list-links.tid",
    "content": "created: 20150221160534000\nmodified: 20150221160748000\ntags: [[list-links Macro]] [[Macro Examples]]\ntitle: list-links Macro (Examples)\ntype: text/vnd.tiddlywiki\n\nThis example lists all the tiddlers whose titles start with J:\n\n<$macrocall $name=\".example\" n=\"1\" eg=\"\"\"<<list-links filter:\"[prefix[J]]\">>\"\"\"/>\n\nThis example lists the documentation tiddlers for the core macros, each of which has a <<.field caption>> field:\n\n<$macrocall $name=\".example\" n=\"2\" eg=\"\"\"<<list-links filter:\"[tag[Core Macros]]\">>\"\"\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/examples/list-tagged-draggable Macro (Examples).tid",
    "content": "created: 20170329093300835\nmodified: 20170329093346982\ntags: [[list-tagged-draggable Macro]] [[Macro Examples]]\ntitle: list-tagged-draggable Macro (Examples)\ntype: text/vnd.tiddlywiki\n\n<$macrocall $name=\".example\" n=\"1\" eg=\"\"\"<<list-tagged-draggable tag:\"Features\">>\"\"\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/examples/list-thumbnails Macro (Examples).tid",
    "content": "created: 20200612170734735\nmodified: 20200612171403882\ntags: [[Macro Examples]]\ntitle: list-thumbnails Macro (Examples)\ntype: text/vnd.tiddlywiki\n\nThis example lists all the tiddlers which are tagged with \"HelloThumbnail\":\n\n<$macrocall $name=\".example\" n=\"1\" eg=\"\"\"<<list-thumbnails filter:\"[tag[HelloThumbnail]]\" width:\"168\" height:\"95\">>\"\"\"/>\n\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/examples/makedatauri.tid",
    "content": "created: 20150221160534000\nmodified: 20150221223613000\ntags: [[makedatauri Macro]] [[Macro Examples]]\ntitle: makedatauri Macro (Examples)\ntype: text/vnd.tiddlywiki\n\n<$macrocall $name=\".example\" n=\"1\" eg=\"\"\"<<makedatauri \"some example text\" \"text/plain\">>\"\"\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/examples/now.tid",
    "content": "created: 20150221151358000\nmodified: 20150221170425000\ntags: [[now Macro]] [[Macro Examples]]\ntitle: now Macro (Examples)\ntype: text/vnd.tiddlywiki\n\n<$macrocall $name=\".example\" n=\"1\" eg=\"\"\"<<now>>\"\"\"/>\n<$macrocall $name=\".example\" n=\"2\" eg=\"\"\"<<now YYYY-0MM-0DD>>\"\"\"/>\n<$macrocall $name=\".example\" n=\"3\" eg=\"\"\"<<now \"hh:0mm:0sspm\">>\"\"\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/examples/qualify-transcluded.tid",
    "content": "created: 20150221171233000\nmodified: 20150221172546000\ntags: [[qualify Macro]] [[Macro Examples]]\ntitle: $:/editions/tw5.com/macro-examples/qualify-transcluded\ntype: text/vnd.tiddlywiki\n\n<$macrocall $name=\".example\" n=\"1\"\neg=\"\"\"<ul>\n<li><code><<qualify \"BaseTiddler\">></code></li>\n<li><code><<transclusion>></code></li>\n</ul>\"\"\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/examples/qualify.tid",
    "content": "created: 20150221172527000\ntags: [[qualify Macro]] [[Macro Examples]]\ntitle: qualify Macro (Examples)\ntype: text/vnd.tiddlywiki\n\nThe results returned by the <<.mlink qualify>> macro depend on its location in the transclusion stack.\n\nThe two examples below are identical, but produce different results because the second one has been transcluded from [[another tiddler|$:/editions/tw5.com/macro-examples/qualify-transcluded]].\n\nEach example shows the result of calling <<.var qualify>> and then the value of the <<.vlink transclusion>> variable.\n\n<$macrocall $name=\".example\" n=\"1\"\neg=\"\"\"<ul>\n<li><code><<qualify \"BaseTiddler\">></code></li>\n<li><code><<transclusion>></code></li>\n</ul>\"\"\"/>\n\n{{$:/editions/tw5.com/macro-examples/qualify-transcluded}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/examples/resolvepath.tid",
    "content": "created: 20150221182731000\nmodified: 20150221183441000\ntags: [[resolvepath Macro]] [[Macro Examples]]\ntitle: resolvepath Macro (Examples)\ntype: text/vnd.tiddlywiki\n\n<$macrocall $name=\".example\" n=\"1\" eg=\"\"\"<<resolvepath \"./backup\" \"http://example.com/store.php\">>\"\"\"/>\n<$macrocall $name=\".example\" n=\"2\" eg=\"\"\"<<resolvepath \"backup\" \"http://example.com/store.php\">>\"\"\"/>\n<$macrocall $name=\".example\" n=\"3\" eg=\"\"\"<<resolvepath \"../backup\" \"http://example.com/store.php\">>\"\"\"/>\n<$macrocall $name=\".example\" n=\"4\" eg=\"\"\"<<resolvepath \"../jpg/Motovun_Jack.jpg\" \"http://example.com/resources/images/png/\">>\"\"\"/>\n<$macrocall $name=\".example\" n=\"5\" eg=\"\"\"<<resolvepath \"../jpg/../png/Motovun_Jack.png\">>\"\"\"/>\n<$macrocall $name=\".example\" n=\"6\" eg=\"\"\"<<resolvepath \"jpg/Motovun_Jack.jpg\">>\"\"\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/examples/tabs.tid",
    "content": "created: 20150221211317000\nmodified: 20150221211719000\ntags: [[tabs Macro]] [[Macro Examples]]\ntitle: tabs Macro (Examples)\ntype: text/vnd.tiddlywiki\n\n<$macrocall $name=\".example\" n=\"1\"\neg=\"\"\"<<tabs \"SampleTabOne SampleTabTwo SampleTabThree SampleTabFour\" \"SampleTabOne\" \"$:/state/tab1\">>\"\"\"/>\n\n<$macrocall $name=\".example\" n=\"2\"\neg=\"\"\"<<tabs \"[tag[sampletab]]\" \"SampleTabTwo\" \"$:/state/tab2\" \"tc-vertical\">>\"\"\"/>\n\n<$macrocall $name=\".example\" n=\"3\"\neg=\"\"\"<<tabs \"[tag[sampletab]nsort[order]]\" \"SampleTabThree\" \"$:/state/tab3\" \"tc-vertical\">>\"\"\"/>\n\nThe following example sets the default tab to be the first tiddler selected in the filter and makes the saved state non-persistent (by using \"~$:/temp/\"):\n\n<$macrocall $name=\".example\" n=\"4\"\neg=\"\"\"<$set name=tl filter=\"[tag[sampletab]nsort[order]]\">\n<$transclude $variable=tabs tabsList=<<tl>> default={{{[enlist<tl>]}}} state=\"$:/temp/state/tab\" class=\"tc-vertical\"/>\n</$set>\"\"\"/>\n\n<<.from-version \"5.4.0\">> Dynamic parameters can be used to specify the default tab:\n\n<$macrocall $name=\".example\" n=\"5\"\neg=\"\"\"<<tabs \"[tag[sampletab]nsort[order]]\" default={{{[tag[sampletab]nsort[order]]}}} state=\"$:/temp/state/tab\" class=\"tc-vertical\">>\"\"\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/examples/tag.tid",
    "content": "created: 20150221211317000\nmodified: 20240228131331605\ntags: [[tag Macro]] [[Macro Examples]]\ntitle: tag Macro (Examples)\ntype: text/vnd.tiddlywiki\n\n<$macrocall $name=\".example\" n=\"1\" eg=\"\"\"<<tag>>\"\"\"/>\n<$macrocall $name=\".example\" n=\"2\" eg=\"\"\"<<tag Concepts>>\"\"\"/>\n\nThe Following tag can be shown with a font-style: //italic// if the corresponding stylesheet exists. See: [[tag Macro]]\n\n<$macrocall $name=\".example\" n=\"3\" eg=\"\"\"<<tag \"Does not exist\">>\"\"\"/>\n\nIf a [[list widget|ListWidget]] generates multiple tag macros for the same tag, clicking any of them opens dropdowns on all of them, as in the example below. This is usually unwanted.\n<$macrocall $name=\".example\" n=\"4\" eg=\"\"\"<$list filter=\"[tag[HelloThere]]\">\n\n* <$link/> is tagged with: <$list filter=\"[<currentTiddler>tags[]]\"> <<tag>> </$list>\n\n</$list>\"\"\"/>\n\nAdding the `counter=\"transclusion\"` attribute to the list widget that generates multiple identical tag macros causes each of them to be identified as a unique one. Clicking on any of them opens only a single dropdown.\n<$macrocall $name=\".example\" n=\"5\" eg=\"\"\"<$list filter=\"[tag[HelloThere]]\" counter=\"transclusion\">\n\n* <$link/> is tagged with: <$list filter=\"[<currentTiddler>tags[]]\"> <<tag>> </$list>\n\n</$list>\"\"\"/>\n\nA slightly more performant option is to use the `variable=\"transclusion\"` attribute in the list widget. In this case, the variable `<<transclusion>>` has to be used inside the list widget instead of the `<<currentTiddler>>` .\n<$macrocall $name=\".example\" n=\"6\" eg=\"\"\"<$list filter=\"[tag[HelloThere]]\" variable=\"transclusion\">\n\n* <$link to=<<transclusion>>/> is tagged with: <$list filter=\"[<transclusion>tags[]]\"> <<tag>> </$list>\n\n</$list>\"\"\"/>"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/examples/thumbnail Macro (Examples).tid",
    "content": "created: 20150325171700344\nmodified: 20150325172147259\ntags: [[thumbnail Macro]] [[Macro Examples]]\ntitle: thumbnail Macro (Examples)\ntype: text/vnd.tiddlywiki\n\n\n! Examples\n\nHere is an example of the `thumbnail-right` macro used to create a video thumbnail that floats to the right of the text\n\n<$macrocall $name=\".example\" n=\"1\" eg=\"\"\"<<thumbnail-right link:\"Introduction Video\" image:\"Introduction Video Thumbnail.jpg\" caption:\"Introduction to ~TiddlyWiki\" icon:\"{{$:/core/images/video}}\" color:\"red\">>\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"\"\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/examples/timeline.tid",
    "content": "created: 20150221213650000\nmodified: 20150221224634000\ntags: [[timeline Macro]] [[Macro Examples]]\ntitle: timeline Macro (Examples)\ntype: text/vnd.tiddlywiki\n\n<$macrocall $name=\".example\" n=\"1\" eg=\"\"\"<<timeline format:\"DD/MM/YYYY\">>\"\"\"/>\n<$macrocall $name=\".example\" n=\"2\" eg=\"\"\"<<timeline limit:30 subfilter:\"tag[Definitions]\" format:\"DD/MM/YYYY\">>\"\"\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/examples/toc.tid",
    "content": "created: 20150221193056000\nmodified: 20181106221404624\ntags: [[Table-of-Contents Macros]] [[Macro Examples]]\ntitle: Table-of-Contents Macros (Examples)\ntype: text/vnd.tiddlywiki\n\nThese examples derive tables of contents from the root tag <<.tag Contents>>. See [[Table-of-Contents Macros]] for details on how to use the Table-of-Contents Macros to make your own structured table-of-contents.\n\nYou can explore the same structure with these clickable tag pills:\n\n* {{Contents||$:/core/ui/TagTemplate}}\n** {{First||$:/core/ui/TagTemplate}}\n** {{Second||$:/core/ui/TagTemplate}}\n*** {{SecondThree||$:/core/ui/TagTemplate}}\n** {{Third||$:/core/ui/TagTemplate}}\n** {{Fourth||$:/core/ui/TagTemplate}}\n\nThe tabbed example uses the real TableOfContents of this documentation instead.\n\n<<tabs \"[tag[table-of-contents-example]nsort[order]]\" \"Example Table of Contents: Simple\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/examples/translink.tid",
    "content": "created: 20230505092952569\nmodified: 20230505092952569\ntags: [[translink Macro]] [[Macro Examples]]\ntitle: translink Macro (Examples)\ntype: text/vnd.tiddlywiki\n\n<$macrocall $name=\".example\" n=\"1\" eg=\"\"\"<<translink \"Philosophy of Tiddlers\">>\"\"\"/>\n<$macrocall $name=\".example\" n=\"2\" eg=\"\"\"<<translink \"Philosophy of Tiddlers\" inline>>\"\"\"/>\n<$macrocall $name=\".example\" n=\"3\" eg=\"\"\"<<translink Foo>>\"\"\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/examples/tree Macro (Examples).tid",
    "content": "created: 20170628164706364\nmodified: 20170628164823552\ntags: [[tree Macro]] [[Macro Examples]]\ntitle: tree Macro (Examples)\ntype: text/vnd.tiddlywiki\n\n<$macrocall $name=\".example\" n=\"1\"\neg=\"\"\"<<tree prefix:\"$:/\">>\"\"\"/>\n\n<$macrocall $name=\".example\" n=\"2\"\neg=\"\"\"<<tree prefix:\"tree-macro-example-\" separator:\"-\">>\"\"\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/examples/tree-macro-example-data.multids",
    "content": "title: tree-macro-example-\ntag: [[tree Macro (Examples)]]\n\nhouse: See [[tree Macro (Examples)]]\nhouse-kitchen: See [[tree Macro (Examples)]]\nhouse-kitchen-table: See [[tree Macro (Examples)]]\nhouse-kitchen-sink: See [[tree Macro (Examples)]]\nhouse-kitchen-window: See [[tree Macro (Examples)]]\nhouse-attic: See [[tree Macro (Examples)]]\nhouse-attic-window: See [[tree Macro (Examples)]]\nhouse-attic-roof: See [[tree Macro (Examples)]]\nhouse-garden: See [[tree Macro (Examples)]]\nhouse-garden-shed: See [[tree Macro (Examples)]]\nhouse-garden-lawn: See [[tree Macro (Examples)]]\ncar: See [[tree Macro (Examples)]]\ncar-boot: See [[tree Macro (Examples)]]\ncar-boot-lock: See [[tree Macro (Examples)]]\ncar-boot-handle: See [[tree Macro (Examples)]]\ncar-roof: See [[tree Macro (Examples)]]\ncar-roof-rails: See [[tree Macro (Examples)]]\ncar-roof-aerial: See [[tree Macro (Examples)]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/examples/unusedtitle Macro (Examples 1).tid",
    "content": "created: 20210227212730299\nmodified: 20240119151636562\ntags: [[Macro Examples]]\ntitle: unusedtitle Macro (Examples 1)\ntype: text/vnd.tiddlywiki\n\n\\define testCreate()\n<$action-createtiddler $basetitle=<<unusedtitle template:\"$count:2$-new\">>/>\n\\end\n\n\\define testCreate1()\n<$action-createtiddler $basetitle=<<unusedtitle baseName:\"new\" separator:\"-\" template:\"$count:2$$separator$$basename$\">>/>\n\\end\n\n\\define testNew()\n<$action-sendmessage $message=\"tm-new-tiddler\" title=<<unusedtitle baseName:\"new\" template:\"$count:2$-$basename$\">> />\n\\end\n\n\\define testStartCount()\n<$action-createtiddler $basetitle=<<unusedtitle startCount:\"10\" baseName:\"new\" separator:\"-\" template:\"$count:2$$separator$$basename$\">>/>\n\\end\n\n```\n<<unusedtitle template:\"$count:2$-new\">>\n```\n\n<$button actions=<<testCreate>> >\n<$action-setfield $tiddler=\"$:/state/tab/sidebar--595412856\" text=\"$:/core/ui/SideBar/Recent\"/>\nCreate Tiddler\n</$button>\n\n```\n<<unusedtitle baseName:\"new\" template:\"$count:2$-$basename$\">>\n```\n\n<$button actions=<<testNew>>>\n<$action-setfield $tiddler=\"$:/state/tab/sidebar--595412856\" text=\"$:/core/ui/SideBar/Recent\"/>\nNew Tiddler\n</$button>\n\n```\n<<unusedtitle baseName:\"new\" separator:\"-\" template:\"$count:2$$separator$$basename$\">>\n```\n\n<$button actions=<<testCreate1>>>\n<$action-setfield $tiddler=\"$:/state/tab/sidebar--595412856\" text=\"$:/core/ui/SideBar/Recent\"/>\nCreate Tiddler\n</$button>\n\n\n```\n<<unusedtitle startCount:\"10\" baseName:\"new\" separator:\"-\" template:\"$count:2$$separator$$basename$\">>\n```\n\n<$button actions=<<testStartCount>>>\n<$action-setfield $tiddler=\"$:/state/tab/sidebar--595412856\" text=\"$:/core/ui/SideBar/Recent\"/>\nCreate Tiddler\n</$button>\n\n---\n\n<details>\n    <summary>Show the code</summary>\n    <pre><code><$view><pre><code>\n</details>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/examples/unusedtitle.tid",
    "content": "created: 20210104143940715\nmodified: 20240119150720917\ntags: [[unusedtitle Macro]] [[Macro Examples]]\ntitle: unusedtitle Macro (Examples)\ntype: text/vnd.tiddlywiki\n\n<$macrocall $name=\".example\" n=\"1\" eg=\"\"\"<<unusedtitle>>\"\"\"/>\n''The following example works best if there is an open tiddler in draft mode, or there is a tiddler named \"New Tiddler\".'' So you can see the automatic numbering.\n<$macrocall $name=\".example\" n=\"2\" eg=\"\"\"<<unusedtitle separator:\"-\">>\"\"\"/>\n<$macrocall $name=\".example\" n=\"3\" eg=\"\"\"<<unusedtitle baseName:\"anotherBase\">>\"\"\"/>\n<$macrocall $name=\".example\" n=\"4\" eg=\"\"\"<<unusedtitle baseName:\"About\" separator:\"-\">>\"\"\"/>\n<$macrocall $name=\".example\" n=\"5\" eg=\"\"\"<<unusedtitle baseName:\"Count\" startCount:\"3\">>\"\"\"/>\n<$macrocall $name=\".example\" n=\"6\" eg=\"\"\"<<unusedtitle template:\"$count:2$-test\">>\"\"\"/>\n\n---\n\nWorking buttons can be found at: [[unusedtitle Macro (Examples 1)]]. You'll have to examine the code to see, what's going on."
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/examples/version.tid",
    "content": "created: 20150221214110000\nmodified: 20150221214129000\ntags: [[version Macro]] [[Macro Examples]]\ntitle: version Macro (Examples)\ntype: text/vnd.tiddlywiki\n\n<$macrocall $name=\".example\" n=\"1\" eg=\"\"\"Version number: <<version>>\"\"\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/image-picker Macro.tid",
    "content": "caption: image-picker\ncreated: 20160418155531395\nmodified: 20160418155805435\ntags: Macros [[Core Macros]]\ntitle: image-picker Macro\ntype: text/vnd.tiddlywiki\n\nThe <<.def image-picker>> [[macro|Macros]] displays an interactive image picker, as can be seen in the core text editor.\n\n!! Parameters\n\n;actions\n: Wikitext for the action widgets that should be executed when the user selects an image. Within the text, the variable `imageTitle` contains the title of the tiddler containing the selected image.\n;subfilter\n: An optional extra [[filter step|Filter Step]], e.g. `tag[MyTag]`\n\nThe images are selected by means of a [[filter expression|Filter Expression]], into which the <<.param subfilter>> parameter is spliced as follows:\n\n> `[all[shadows+tiddlers]is[image]$subfilter$!has[draft.of]] -[type[application/pdf]] +[sort[title]]`\n\n<<.macro-examples \"image-picker\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/import/say-hi-using-variables.tid",
    "content": "code-body: yes\ncreated: 20150221145447000\nmodified: 20150221145626000\ntitle: $:/editions/tw5.com/macro-examples/say-hi-using-variables\ntype: text/vnd.tiddlywiki\n\n\\define say-hi-using-variables()\nHi, I'm $(name)$ and I live in $(address)$.\n\\end\n\n\\define name() Bugs\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/import/say-hi.tid",
    "content": "code-body: yes\ncreated: 20150221145803000\nmodified: 20150221221536000\ntitle: $:/editions/tw5.com/macro-examples/say-hi\ntype: text/vnd.tiddlywiki\n\n\\define sayhi(name:\"Bugs Bunny\",address:\"Rabbit Hole Hill\")\nHi, I'm $name$ and I live in $address$.\n\\end\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/import/tags-of-current-tiddler.tid",
    "content": "code-body: yes\ncreated: 20150221145803000\nmodified: 20240310124126491\ntitle: $:/editions/tw5.com/macro-examples/tags-of-current-tiddler\ntype: text/vnd.tiddlywiki\n\n\\procedure tags-of-current-tiddler() {{!!tags}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/import/tv-get-export-image-link.tid",
    "content": "code-body: yes\ncreated: 20150228123855000\nmodified: 20240310133309881\ntitle: $:/editions/tw5.com/macro-examples/tv-get-export-image-link\ntype: text/vnd.tiddlywiki\n\n\\function tv-get-export-image-link(src) [[https://www.tiddlywiki.com/$(src)$]substitute[]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/import/tv-wikilink-tooltip.tid",
    "content": "code-body: yes\ncreated: 20150228120252000\nmodified: 20240310124217005\ntitle: $:/editions/tw5.com/macro-examples/tv-wikilink-tooltip\ntype: text/vnd.tiddlywiki\n\n\\procedure tv-wikilink-tooltip()\n<$transclude field=\"tooltip\">(<$transclude field=\"caption\"/>)</$transclude>\n\\end\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/jsontiddler Macro.tid",
    "content": "caption: jsontiddler\ncreated: 20170317140130417\nmodified: 20220427171228844\ntags: Macros [[Core Macros]]\ntitle: jsontiddler Macro\ntype: text/vnd.tiddlywiki\n\nThe <<.def jsontiddler>> [[macro|Macros]] returns the fields of a single tiddler in [[JSON|JavaScript Object Notation]] form. See [[JSON in TiddlyWiki]] for an overview.\n\n!! Parameters\n\n;title\n: The title of a tiddler\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/keyboard-driven-input_Macro.tid",
    "content": "title: keyboard-driven-input Macro\ntags: Macros [[Core Macros]]\n\nThe <<.def keyboard-driven-input>> [[macro|Macros]] generates an input field or textarea that lets you cycle through a given list of entries with the <kbd><<displayshortcuts ((input-up))>></kbd> and <kbd><<displayshortcuts ((input-down))>></kbd> keys. Doing so, an entry gets selected and can be processed with further actions\n\n!! Parameters\n\nTo create the input field or textarea, the <<.def keyboard-driven-input>> [[macro|Macros]] accepts all parameters of the EditTextWidget\n\nThe additional parameters are:\n\n|parameter  |purpose |h\n|storeTitle |the title of the tiddler that stores the user input |\n|selectionStateTitle |the title of the tiddler that stores the selected entry with a -primaryList or -secondaryList suffix to make it unique |\n|inputAcceptActions |the actions that get processed when the user hits <kbd><<displayshortcuts ((input-accept))>></kbd> |\n|inputAcceptVariantActions |the actions that get processed when the user hits <kbd><<displayshortcuts ((input-accept-variant))>></kbd> |\n|inputCancelActions |the actions that get processed when the user hits <kbd><<displayshortcuts ((input-cancel))>></kbd> |\n|configTiddlerFilter |a ''filter'' that specifies the tiddler that stores the first item-filter in its <<.field first-search-filter>> field and the second item-filter in its <<.field second-search-filter>> field |\n|firstSearchFilterField |the field of the configTiddler where the first search-filter is stored. Defaults to <<.field first-search-filter>> |\n|secondSearchFilterField |the field of the configTiddler where the second search-filter is stored. Defaults to <<.field second-search-filter>> |\n|filterMinLength |the minimum length of the user input after which items are filtered |\n\nSee [[Demonstration: keyboard-driven-input Macro]] for further guidance on using this macro.\n\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/list-links-draggable Macro.tid",
    "content": "caption: list-links-draggable\ncreated: 20170328204925306\nmodified: 20260206131823536\ntags: Macros [[Core Macros]]\ntitle: list-links-draggable Macro\ntype: text/vnd.tiddlywiki\n\nThe <<.def list-links-draggable>> [[macro|Macros]] renders the ListField of a tiddler as a list of links that can be reordered via [[drag and drop|Drag and Drop]].\n\n!! Parameters\n\n; tiddler\n: The title of the tiddler containing the list\n: <<.from-version 5.4.0>> If the tiddler parameter is not defined it defaults to: <<.var currentTiddler>>\n\n; field\n: The name of the field containing the list (defaults to `list`)\n\n; emptyMessage\n: Optional wikitext to display if there is no output (tiddler is not existed, field is not existed or empty)\n\n; type\n: The element tag to use for the list wrapper (defaults to `ul`)\n\n; subtype\n: The element tag to use for the list items (defaults to `li`)\n\n; class\n: Optional space separated classes to add to the wrapper element\n\n; itemTemplate\n: Optional title of a tiddler to use as the template for rendering list items\n\n; displayField <<.from-version 5.4.0>>\n: Optional name of the field to display when the list is rendered. Defaults to the \"caption\" field; if \"caption\" is not present, the \"title\" field is used instead\n\n; startactions <<.from-version \"5.4.0\">>\n: Optional action string that gets invoked when link ''dragging starts''\n: <<.var actionTiddler>> variable is available in this action\n\n; endactions <<.from-version \"5.4.0\">>\n: Optional action string that gets invoked when link ''dragging ends'' \n: <<.var actionTiddler>> variable is available in this action\n\nIf the `itemTemplate` parameter is not provided then the list items are rendered as simple links. Within the `itemTemplate`, the [[currentTiddler Variable]] refers to the current list item.\n\n<<.macro-examples \"list-links-draggable\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/list-tagged-draggable Macro.tid",
    "content": "caption: list-tagged-draggable\ncreated: 20170329092723939\nmodified: 20260206131803841\ntags: Macros [[Core Macros]]\ntitle: list-tagged-draggable Macro\ntype: text/vnd.tiddlywiki\n\nThe <<.def list-tagged-draggable>> [[macro|Macros]] renders the tiddlers with a particular tag as a list of links that can be reordered via [[drag and drop|Drag and Drop]].\n\n!! Parameters\n\n; tag\n: The title of the tag\n\n; subFilter\n: An optional subfilter to filter out unwanted items (eg `!tag[done]`)\n\n; itemTemplate\n: Optional title of a tiddler to use as the template for rendering list items\n\n; emptyMessage\n: Optional wikitext to display if there are no tiddlers with the specified tag\n\n; displayField <<.from-version 5.4.0>>\n: Optional name of the field to display when the list is rendered. Defaults to `title` field\n\n; startactions <<.from-version \"5.4.0\">>\n: Optional action string that gets invoked when link ''dragging starts'' \n: <<.var actionTiddler>> variable is available in this action.\n\n; endactions <<.from-version \"5.4.0\">>\n: Optional action string that gets invoked when link ''dragging ends'' \n: <<.var actionTiddler>> variable is available in this action\n\nNote that the [[ordering|Order of Tagged Tiddlers]] is accomplished by assigning a new list to the `list` field of the tag tiddler. Any `list-before` or `list-after` fields on any of the other tiddlers carrying the tag are also removed to ensure the `list` field is respected\n\nIf the `itemTemplate` parameter is not provided then the list items are rendered as simple links. Within the `itemTemplate`, the [[currentTiddler Variable]] refers to the current list item.\n\n<<.macro-examples \"list-tagged-draggable\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/list-thumbnails Macro.tid",
    "content": "caption: list-thumbnails\ncreated: 20200612170158838\nmodified: 20230803033631967\ntags: Macros [[Core Macros]]\ntitle: list-thumbnails Macro\ntype: text/vnd.tiddlywiki\n\nThe <<.def list-thumbnails>> [[macros|Macros]] are used to create lists of linkable thumbnail panels. It assumes that the input has <<.field icon>>, <<.field color>>, <<.field background-color>>, <<.field image>>, and <<.field caption>> fields, filled as desired.\n\n!! Parameters\n\n;filter\n: A [[filter|Filters]] for selecting thumbnails\n;width\n: A width in px for the thumbnail, defaulting to `280`\n;height\n: A height in px for the thumbnail, defaulting to `157`\n\n<<.macro-examples \"list-thumbnails\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/show-filter-count.tid",
    "content": "\ncreated: 20240804143842924\nmodified: 20240804150223291\ntags: Macros [[Core Macros]]\ntitle: show-filter-count Macro\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.3.6\">> -- The <<.def show-filter-count>> [[macro|Macros]] creates an element, that shows a counter and a button to open the provided filter string in $:/AdvancedSearch\n\n!! Parameters\n\n; filter\n: Needs to be a valid [[filter run|Filters]]\n\n!! Examples\n\n<<wikitext-example-without-html src:\"\"\"<<show-filter-count filter:\"[tag[HelloThere]]\">> -- The number and the icon is click-able\"\"\">>\n\n<<wikitext-example-without-html src:\"\"\"<<show-filter-count filter:\"[has[author]sort[]]\">> -- The number and the icon is click-able\"\"\">>\n\nAlso see: [[$:/core/ui/ControlPanel/TiddlerFields]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/syntax/Call Syntax.tid",
    "content": "created: 20240310165023000\nmodified: 20260125212303316\ntags: [[Call Syntax]]\ntitle: Call Syntax\ntype: text/vnd.tiddlywiki\n\n<<.preamble \"\"\"What follows is a formal presentation of the syntax of the WikiText syntax for procedure/function/macro calls, using [[railroad diagrams|Railroad Diagrams]].\"\"\">>\n\n!! callee-name\n\n<$railroad text=\"\"\"\n\"<<\" [[ callee-name |Calls]] [: [[whitespace|\"Filter Whitespace\"]] [:{param-value}] ]\">>\"\n\"\"\"/>\n\n* The <<.place callee-name>> is a sequence of non-whitespace characters other than `(` or `>`.\n\n* <<.place whitespace>> denotes a sequence of [[whitespace characters|Filter Whitespace]].\n\n!!! param-value\n\nEach ''individual'' <<.place param-value>> has the following syntax:\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n(\nvalue\n|\nparam-name [:space] (\n\":\" [:space] value [: space]\n|\n\"=\" [:space] new-value [: space]\n)\n)\n\"\"\"/>\n\n* The <<.place param-name>> is a sequence of letters (`A`--`Z`, `a`--`z`), digits (`0`--`9`), hyphens (`-`) and underscores (`_`).\n\n* The <<.place value>> is specified as follows:\n\n<$railroad text={{$:/editions/tw5.com/railroad/call-parameter-value}}/>\n\n* <<.from-version 5.4.0>> The <<.place new-value>> can either be a plain <<.place value>> or a full <<.place callee-name>> call, allowing for dynamic parameter values.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/syntax/CallParameterValue.tid",
    "content": "created: 20150220191009000\nmodified: 20260125212303316\ntitle: $:/editions/tw5.com/railroad/call-parameter-value\ntype: text/vnd.tiddlywiki.railroad\n\n( '\"\"\"' [:{/'anything but \"\"\"'/}] '\"\"\"'\n| '\"'   [:{/'anything but \"'/}]   '\"'\n| \"'\"   [:{/\"anything but '\"/}]   \"'\"\n| \"[[\"  [:{/\"anything but ]\"/}]   \"]]\"\n| \"`\"   [:{/\"anything but `\"/}]   \"`\"\n| \"```\"   [:{/\"anything but ```\"/}]   \"```\"\n| {/\"\"\"anything but ' \" or whitespace\"\"\"/}\n)\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/syntax/Macro Call Syntax.tid",
    "content": "created: 20150221105732000\nmodified: 20260125212303316\ntags: $:/deprecated\ntitle: Macro Call Syntax\ntype: text/vnd.tiddlywiki\n\n<<.deprecated-since \"5.3.0\" \"Call Syntax\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/syntax/Macro Definition Syntax.tid",
    "content": "created: 20150220200255000\nmodified: 20150221222349000\ntags: [[Macro Syntax]] $:/deprecated\ntitle: Macro Definition Syntax\ntype: text/vnd.tiddlywiki\n\n<<.deprecated-since \"5.3.0\" \"Procedure Definition Syntax\">>\n\n----------\n\n<<.preamble \"\"\"What follows is a formal presentation of the syntax of the `\\define` pragma, using [[railroad diagrams|Railroad Diagrams]]. A [[simpler overview|Macro Definitions in WikiText]] is also available.\"\"\">>\n\n<$railroad text=\"\"\"\n\"\\define\" space name params [:space] rest\n\"\"\"/>\n\n<<.place space>> denotes a sequence of [[whitespace characters|Filter Whitespace]].\n\nThe [[macro|Macros]]'s <<.place name>> is a sequence of non-whitespace characters other than `(` or `>`.\n\nThe parameter declaration list (<<.place params>>) has the following syntax:\n\n<$railroad text=\"\"\"\n\"(\" [:sep] [:{ param sep }] \")\"\n\"\"\"/>\n\nThe parameter separator (<<.place sep>>) is any sequence of characters that does not match a <<.place param-name>>. Among other things, this includes commas, spaces and linefeeds.\n\nA <<.place param-name>> is a sequence of letters (`A`--`Z`, `a`--`z`), digits (`0`--`9`), hyphens (`-`) and underscores (`_`).\n\nEach individual <<.place param>> has the following syntax:\n\n<$railroad text=\"\"\"\nparam-name [: [:space] \":\" [:space] default ]\n\")\"\n\"\"\"/>\n\nThe optional <<.place default>> value of a parameter is specified as follows:\n\n<$railroad text={{$:/editions/tw5.com/railroad/call-parameter-value}}/>\n\nThe <<.place rest>> of the definition has the following syntax:\n\n<$railroad text=\"\"\"\n( snippet | lf snippet lf \"\\end\" [:space] ) lf\n\"\"\"/>\n\n<<.place lf>> denotes a linefeed.\n\nThe <<.place snippet>> is any sequence of characters that doesn't terminate the macro definition. That is to say, a single-line snippet cannot contain a linefeed, and a multi-line snippet cannot contain `\\end` on a line of its own.\n\nThe snippet can contain placeholders with the following syntax:\n\n<$railroad text=\"\"\"\n( \"$\" name \"$\" | \"$\" \"(\" name \")\" \"$\" )\n\"\"\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/syntax/Macro Syntax.tid",
    "content": "created: 20150221222254000\nmodified: 20150227193157000\ntags: Macros\ntitle: Macro Syntax\n\n<<list-links filter:\"[tag[Macro Syntax]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/syntax/Procedure Call Syntax.tid",
    "content": "created: 20240310165023000\nmodified: 20260125212303316\ntitle: Procedure Call Syntax\ntype: text/vnd.tiddlywiki\n\n<<.deprecated-since \"5.4.0\" \"Call Syntax\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/syntax/Procedure Definition Syntax.tid",
    "content": "created: 20240310165023000\nmodified: 20240310175033730\ntags: [[Call Syntax]]\ntitle: Procedure Definition Syntax\ntype: text/vnd.tiddlywiki\n\n<<.preamble \"\"\"What follows is a formal presentation of the syntax of the [[Pragma: \\procedure]], using [[railroad diagrams|Railroad Diagrams]]. \"\"\">>\n\n! \\procedure\n\nThere are 2 types of procedure definitions\n\n* Single line definitions\n* Multi line definitions\n\n!! Single Line\n\nSingle line definitions should only be used for very short bodies, where the procedure name, params and the body fit into 1 line terminated with a line-feed.\n\n<$railroad text=\"\"\"\n\"\\procedure\"\n[[<\"space\">|\"Filter Whitespace\"]]\n\"procedure-name\"\n<\"(params)\">\n[:[[<\"space\">|\"Filter Whitespace\"]]]\n\"body\"\n\"lf\"\n\"\"\"/>\n\n!! Multi Line\n\nThe majority of procedure definitions will have a body, that spans over several lines of wikitext. Those procedure definitions are terminated using the \"\\end\" pragma\n\n<$railroad text=\"\"\"\n\"\\procedure\"\n[[<\"space\">|\"Filter Whitespace\"]]\n\"procedure-name\"\n<\"(params)\">\n[:[[<\"space\">|\"Filter Whitespace\"]]]\nbody\n\"\\end\"\n\"\"\"/>\n\nThe [[procedure-name|Procedures]] is a sequence of non-whitespace characters other than `(` or `>`.\n\n\n* <<.place procedure-name>> is a sequence of letters (`A`--`Z`, `a`--`z`), digits (`0`--`9`), hyphens (`-`) and underscores (`_`)\n* <<.place body>> is wikitext including [[nested procedures|Pragma: \\procedure]]\n* <<.place space>> denotes a sequence of [[whitespace characters|Filter Whitespace]]\n\n!! params\n\nThe parameter declaration list <<.place (params)>> has the following syntax:\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n\"(\" [:\"sep\"] [:{ parameter \"sep\" }] \")\"\n\"\"\"/>\n\n* <<.place sep>> is any sequence of characters that does not match a <<.place param-name>>. <br>Among other things, this includes commas, spaces and linefeeds.\n\n\nEach ''individual'' <<.place parameter>> has the following syntax:\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n\"param-name\" [: [:[[<\"space\">|\"Filter Whitespace\"]]] \":\" [:[[<\"space\">|\"Filter Whitespace\"]]] default ]\n\"\"\"/>\n\n* <<.place param-name>> is a sequence of letters (`A`--`Z`, `a`--`z`), digits (`0`--`9`), hyphens (`-`) and underscores (`_`).\n\n* <<.place default>> is an optional value of a parameter is specified as follows:\n\n<$railroad text={{$:/editions/tw5.com/railroad/call-parameter-value}}/>\n\n!! body\n\nThe <<.place body>> of the definition has the following syntax:\n\n<$railroad text=\"\"\"\n\\start none\n\\end none\n{[[<\"wikitext\">|WikiText]] \"lf\"}  \n\"\"\"/>\n\n* <<.place wikitext>> is any sequence of characters that doesn't terminate the macro definition.\n** If [[nested procedures|Pragma: \\procedure]] are used they need to be at the start of the wikitext. There are the same rules as if the wikitext would be in a tiddler. \n** Pragmas need to be before standard wikitext.\n\n* <<.place lf>> denotes a linefeed.\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/syntax/Procedure Syntax.tid",
    "content": "created: 20240310165023000\nmodified: 20240310173318213\ntags: Procedures\ntitle: Procedure Syntax\ntype: text/vnd.tiddlywiki\n\nPlain text description can be found at [[Procedures]]\n\n<<list-links filter:\"[tag[Call Syntax]]\">>\n\n<<.tip \"The railroad boxes in the linked tiddlers can be used to navigate.\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/tag-picker_Macro.tid",
    "content": "caption: tag-picker\ncreated: 20161128191316701\nmodified: 20240708175550512\ntags: Macros [[Core Macros]]\ntitle: tag-picker Macro\ntype: text/vnd.tiddlywiki\n\nThe <<.def tag-picker>> [[macro|Macros]] generates a combination of a text box and a button that allows a tag to be selected and added.\n\n!! Parameters\n\n; actions\n: Action widgets to be triggered when the pill is clicked. Within the text, the variable <<.var tag>> contains the title of the selected tag.\n\n; tagField\n: <<.from-version 5.1.23>> The specified ''field'' that gets updated with the selected tag. Defaults to `tags`.\n\n; tiddler\n: <<.from-version 5.3.4>> Defines the target tiddler, which should be manipulated. Defaults to: <<.var currentTiddler>>.\n\n; tagListFilter\n: <<.from-version 5.3.4>> This parameter defaults to: `[tags[]]` which creates a list of all existing tags. If the tag list should come from a different source the filter should look similar to eg: `[<listSource>get[field-name]enlist-input[]]`. See examples.\n: <<.from-version 5.3.5>> This parameter defaults to: `[tags[]sort[]]`. This change allows a custom sort order, since `sort[]` is not hardcoded into the tag-picker macro anymore. \n\n\n<<.macro-examples \"tag-picker\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/tag-pill_Macro.tid",
    "content": "caption: tag-pill\ncreated: 20161128190930538\nmodified: 20260114112210310\ntags: Macros [[Core Macros]]\ntitle: tag-pill Macro\ntype: text/vnd.tiddlywiki\n\nThe <<.def tag-pill>> [[macro|Macros]] generates a static tag pill showing a specified tag, but without the dropdown action provided by the [[tag Macro]].\n\n!! Parameters\n\n; tag\n: The title of the tag\n\n; element-tag\n: The element name to be used for the pill (defaults to HTML element SPAN).\n:  If an ''actions'' parameter is used the element-tag needs to be set to `$button`\n\n; element-attributes\n: Additional attributes for the element specified in ''element-tag'' \n\n; actions\n:  If an actions parameter should be activated, the ''element-tag'' parameter needs to be set to `$button`.\n: Action widgets to be triggered when the pill is clicked. Within the text, the macro parameter ''tag'' contains the title of the selected tag\n\n<<.macro-examples \"tag-pill\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/thumbnail Macro.tid",
    "content": "caption: thumbnail\ncreated: 20150325172203603\nmodified: 20230803033450805\ntags: Macros [[Core Macros]]\ntitle: thumbnail Macro\ntype: text/vnd.tiddlywiki\n\nThe <<.def thumbnail>> [[macro|Macros]] is used to create linkable thumbnail panels. An alternative <<.def thumbnail-right>> macro uses the same parameters, but floats to the right of its container.\n\n!! Parameters\n\n;link\n: The tiddler to link to\n;icon\n: An icon to place in the center of the thumbnail. Must be enclosed in curly brackets\n;color\n: A color for the icon\n;background-color\n: A background color if there is no image. Does not show if the image has transparency\n;image\n: A background image for the thumbnail\n;caption\n: A caption for the element\n;width\n: A width in px for the thumbnail, defaulting to `280`\n;height\n: A height in px for the thumbnail, defaulting to `157`\n\n<<.macro-examples \"thumbnail\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/macros/tree Macro.tid",
    "content": "caption: tree\ncreated: 20170628164534981\nmodified: 20170628164654430\ntags: Macros [[Core Macros]]\ntitle: tree Macro\ntype: text/vnd.tiddlywiki\n\nThe <<.def tree>> [[macro|Macros]] renders an expandable tree view based on a prefix and separator within tiddler titles.\n\n!! Parameters\n\n;prefix\n: The prefix from which to generate the tree, defaults to `$:/`\n;separator\n: The separator between parts of the tiddler titles, defaults to `/`\n\n<<.macro-examples \"tree\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/marketplace/TiddlyWiki Marketplace.tid",
    "content": "title: TiddlyWiki Marketplace\ntags: Community\nmodified: 20221204165636777\ncreated: 20221204165636777\n\n<span style=\"float:right;\">[img width=200px [TiddlyWiki Marketplace Banner]]</span>\n\nWelcome to the TiddlyWiki Marketplace. This new forum is designed to provide a space for individuals and organizations to offer commercial products and services that are built around TiddlyWiki:\n\n* Paid hosting services\n* Custom solution development\n* Training courses\n* One-to-one training sessions\n* \"Fix my wiki\" debugging sessions\n\n<a href=\"https://talk.tiddlywiki.org/c/marketplace/22\" class=\"tc-btn-big-green\" style=\"border-radius:4px;background-color:#ff5c48;\" target=\"_blank\" rel=\"noopener noreferrer\">\n~TiddlyWiki Marketplace\n</a>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/mechanisms/AlertMechanism.tid",
    "content": "created: 20140213224306412\nmodified: 20160606125956564\ntags: Mechanisms Features\ntitle: AlertMechanism\ntype: text/vnd.tiddlywiki\n\nAlerts are displayed as yellow boxes overlaying the main TiddlyWiki window. Each one corresponds to a tiddler with the tag [[$:/tags/Alert]]. Clicking the <<.icon $:/core/images/delete-button>> delete icon on an alert deletes the corresponding tiddler.\n\nHere's a demo <$fieldmangler tiddler=\"SampleAlert\"><$set name=\"currentTiddler\" value=\"SampleAlert\"><$button message=\"tm-add-tag\" param=\"$:/tags/Alert\">alert</$button></$set></$fieldmangler>.\n\nAlert tiddlers should have the following fields:\n\n|!Field |!Description |\n|title |By default, alert titles have the prefix `$:/temp/alerts/` |\n|text |The text of the alert message |\n|modified |Date of the alert (used for ordering the alerts on screen) |\n|component |Component name associated with the alert |\n|tags |Must include [[$:/tags/Alert]] |\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/mechanisms/Background Actions.tid",
    "content": "title: Background Actions\ncreated: 20250212154426403\nmodified: 20250212154426403\ntags: Mechanisms\n\nBackground actions are performed whenever there are changes to the results of a filter.\n\nThey can be useful for hooking into existing functionality by tracking changes to the tiddler store.\n\nThe following example tracks changes to the story list, reusing itself as the text of a notification at the same time:\n\n<<.demo-tiddler \"\"\"\ntitle: SampleBackgroundAction: Story Change\ntags: $:/tags/BackgroundAction\ntrack-filter: [list[$:/StoryList]]\n\n<$action-sendmessage $message=\"tm-notify\" $param=\"SampleBackgroundAction: Story Change\" list={{$:/StoryList!!list}}/>\n\nStory List:\n\n<ol>\n<$list filter=\"[enlist<list>]\">\n<li>\n<$text text=<<currentTiddler>>/>\n</li>\n</$list>\n</ol>\n\"\"\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/mechanisms/DraftMechanism.tid",
    "content": "title: DraftMechanism\nmodified: 201308201324\ntags: Mechanisms\n\nTiddlers that have a `draft.of` field are treated as pending drafts of the tiddler specified in the field. Draft tiddlers should also have a `draft.title` field that specifies the title that will be given to the tiddler when it is saved.\n\nSeveral features work in concert to give the desired behaviour for draft tiddlers:\n\n* The ListWidget can optionally render draft tiddlers through a different template\n* The NavigatorWidget incorporates handlers for the following events:\n** `tm-new-tiddler` for creating a new tiddler in draft mode\n** `tm-edit-tiddler` for moving a tiddler into edit mode \n** `tm-cancel-tiddler` for cancelling a tiddler out of edit mode\n** `tm-save-tiddler` for saving a draft tiddler\n* Draft tiddlers are automatically excluded from search operations\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/mechanisms/DragAndDropMechanism.tid",
    "content": "created: 20170328161210552\nmodified: 20170406085836682\ntags: [[Importing Tiddlers]] [[Drag and Drop]] Mechanisms\ntitle: DragAndDropMechanism\ntype: text/vnd.tiddlywiki\n\nThis tiddler discusses the internal mechanisms that are used to implement drag and drop features in ~TiddlyWiki. See [[Drag and Drop]] for a general description of the features.\n\n<<.warning \"\"\"\n~TiddlyWiki uses the [[standard HTML 5 drag and drop APIs|https://www.w3.org/TR/2010/WD-html5-20101019/dnd.html]]. However, this is an area that is rightly notorious for cross-browser compatibility problems. Therefore, some features that you might expect to work won't necessarily work in all browsers. In particular, \n\"\"\">>\n\nThe following widgets are concerned with drag and drop features:\n\n* The DraggableWidget creates a draggable element that represents one or more tiddlers for dragging\n** The ButtonWidget and LinkWidget incorporate the functionality of the DraggableWidget\n* The DroppableWidget creates an area into which tiddlers can be dragged to trigger customisable actions\n* The DropzoneWidget handles importing external tiddlers from files or by drag and drop from another browser window\n\nThe general sequence of a drag and drop operation is as follows:\n\n# The user clicks down and drags the pointer on a draggable element such as the DraggableWidget, ButtonWidget or LinkWidget\n# The draggable element moves with the mouse pointer until the click is released\n# Moving the pointer over droppable elements such as the DroppableWidget displays a highlight indicating that the item can be dropped\n# The configured actions are performed if the drag ends on a droppable element\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/mechanisms/HistoryMechanism.tid",
    "content": "created: 20140213171818824\nmodified: 20150207131000000\ntags: Mechanisms\ntitle: HistoryMechanism\ntype: text/vnd.tiddlywiki\n\nThe system tiddler [[$:/HistoryList]] keeps track of a list of tiddlers comprising the navigation history. Each time you click on a link to a tiddler, the title of the target tiddler is added to the top of the stack.\n\nThe history list is stored in JSON to allow additional details about the coordinates of the DOM node that initiated the navigation.\n\nThe history list also maintains the field ''current-tiddler'' that contains the name of the tiddler at the top of the stack. This field can be used like so:\n\n```\n<$list filter=\"[list[$:/StoryList]]\" history=\"$:/HistoryList\" storyview=\"pop\">\n\n<$button message=\"tm-close-tiddler\" class=\"tc-btn-invisible tc-btn-mini\">&times;</$button> <$link><$view field=\"title\"/> <$reveal type=\"match\" state=\"$:/HistoryList!!current-tiddler\" text=<<currentTiddler>>>&#x2713;</$reveal></$link>\n\n</$list>\n```\n\nWhich renders the same as the \"Open\" sidebar tab, with the addition of a tick against the tiddler that was last navigated to.\n\n<$list filter=\"[list[$:/StoryList]]\" history=\"$:/HistoryList\" storyview=\"pop\">\n\n<$button message=\"tm-close-tiddler\" class=\"tc-btn-invisible tc-btn-mini\">&times;</$button> <$link><$view field=\"title\"/> <$reveal type=\"match\" state=\"$:/HistoryList!!current-tiddler\" text=<<currentTiddler>>>&#x2713;</$reveal></$link>\n\n</$list>\n\n!! Empty Story\n\nTo display content when the story is empty, create $:/config/EmptyStoryMessage and enter the desired contents. The following would show the GettingStarted tiddler when all others are closed.\n\n```\n{{GettingStarted||$:/core/ui/ViewTemplate}}\n```\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/mechanisms/InfoMechanism.tid",
    "content": "created: 20140720164948099\nmodified: 20250819181815032\ntags: Mechanisms\ntitle: InfoMechanism\ntype: text/vnd.tiddlywiki\n\n\\procedure example(name)\n<$text text={{{ [[$:/info/url/]addsuffix<name>get[text]] }}} />\n\\end\n\nSystem tiddlers in the namespace `$:/info/` are used to expose information about the system (including the current browser) so that WikiText applications can adapt themselves to available features.\n\n! Information Tiddlers\n\n|!Title |!Description |\n|[[$:/info/startup-timestamp]] |<<.from-version \"5.1.23\">> Startup timestamp in TiddlyWiki date format |\n|[[$:/info/browser]] |Running in the browser? (\"yes\" or \"no\") |\n|[[$:/info/mobile]] |<<.from-version \"5.2.3\">> Is running on a mobile device? (\"yes\" or \"no\" - eg, ''<<example full>>'') |\n|[[$:/info/browser/language]] |<<.from-version \"5.1.20\">> Language as reported by browser (note that some browsers report two character codes such as `en` while others report full codes such as `en-GB`) |\n|[[$:/info/browser/screen/width]] |Screen width in pixels |\n|[[$:/info/browser/screen/height]] |Screen height in pixels |\n|[[$:/info/browser/darkmode]] |<<.from-version \"5.4.0\">> Is dark mode preferred? (\"yes\" or \"no\") |\n|[[$:/info/darkmode]] |<<.deprecated-since \"5.4.0\">> Alias for  $:/info/browser/darkmode |\n|`$:/info/browser/window/*` |<<.from-version \"5.4.0\">> Tiddlers reporting window dimensions, updated when the windows are resized |\n|[[$:/info/node]] |Running under [[Node.js]]? (\"yes\" or \"no\") |\n|[[$:/info/url/full]] |<<.from-version \"5.1.14\">> Full URL of wiki (eg, ''<<example full>>'') |\n|[[$:/info/url/host]] |<<.from-version \"5.1.14\">> Host portion of URL of wiki (eg, ''<<example host>>'') |\n|[[$:/info/url/hostname]] |<<.from-version \"5.1.14\">> Hostname portion of URL of wiki (eg, ''<<example hostname>>'') |\n|[[$:/info/url/origin]] |<<.from-version \"5.1.14\">> Origin portion of URL of wiki (eg, ''<<example origin>>'') |\n|[[$:/info/url/pathname]] |<<.from-version \"5.1.14\">> Pathname portion of URL of wiki (eg, ''<<example pathname>>'') |\n|[[$:/info/url/port]] |<<.from-version \"5.1.14\">> Port portion of URL of wiki (eg, ''<<example port>>'') |\n|[[$:/info/url/protocol]] |<<.from-version \"5.1.14\">> Protocol portion of URL of wiki (eg, ''<<example protocol>>'') |\n|[[$:/info/url/search]] |<<.from-version \"5.1.14\">> Search portion of URL of wiki (eg, ''<<example search>>'') |\n|[[$:/info/darkmode]] |<<.from-version \"5.1.23\">> Is dark mode enabled? (\"yes\" or \"no\") |\n\n! Main Window Dimension Tiddlers\n\n<<.from-version \"5.4.0\">> These tiddlers reports the dimensions of the main ~TiddlyWiki window and are updated automatically whenever the main window is resized.\n\n|!Title |!Description |\n|[[$:/info/browser/window/system/main/outer/width]] |Full browser window including chrome, tabs, toolbars |\n|[[$:/info/browser/window/system/main/outer/height]] |Full browser window including chrome, tabs, toolbars |\n|[[$:/info/browser/window/system/main/inner/width]] |Viewport width including scrollbars |\n|[[$:/info/browser/window/system/main/inner/height]] |Viewport height including scrollbars |\n|[[$:/info/browser/window/system/main/client/width]] |Content width excluding scrollbars |\n|[[$:/info/browser/window/system/main/client/height]] |Content height excluding scrollbars |\n\n! User-Created Window Dimension Tiddlers\n\n<<.from-version \"5.4.0\">> These tiddler reports the dimensions of additional windows opened via [[tm-open-window|WidgetMessage: tm-open-window]]. The windowID used when opening the window is used to identify the corresponding info tiddlers. These tiddlers are updated automatically whenever the main window is resized.\n\n|!Title |!Description |\n|`$:/info/browser/window/user/<windowID>/outer/width` | Full browser window including chrome, tabs, toolbars |\n|`$:/info/browser/window/user/<windowID>/outer/height` | Full browser window including chrome, tabs, toolbars |\n|`$:/info/browser/window/user/<windowID>/inner/width` |Viewport width including scrollbars |\n|`$:/info/browser/window/user/<windowID>/inner/height` |Viewport height including scrollbars |\n|`$:/info/browser/window/user/<windowID>/client/width` |Content width excluding scrollbars |\n|`$:/info/browser/window/user/<windowID>/client/height` |Content height excluding scrollbars |\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/mechanisms/Mechanisms.tid",
    "content": "color: #9fa3cb\ncreated: 20130825153800000\nmodified: 20140910211727889\ntitle: Mechanisms\ntags: Reference\ntype: text/vnd.tiddlywiki\n\nThese are the internal mechanisms that fit together to make up TiddlyWiki.\n\n<<list-links \"[tag[Mechanisms]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/mechanisms/MediaQueryTrackerMechanism.tid",
    "content": "title: Media Query Tracker Mechanism\ntags: Mechanisms\ncreated: 20250212154426403\nmodified: 20250212154426403\n\n\n<<.from-version \"5.4.0\">> The media query tracker mechanism allows you to define [[custom CSS media queries|https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_media_queries/Using_media_queries]] to be bound to a specified [[info|InfoMechanism]] tiddler. The info tiddler will be dynamically update to reflect the current state of the media query.\n\nAdding or modifying a tiddler tagged $:/tags/MediaQueryTracker takes effect immediately.\n\nThe media queries are always applied against the main window. This is relevant for viewport related media queries such as `min-width` which will always respect the main window and ignore the sizes of any external windows.\n\nThe core includes a media query tracker that is used for tracking the operating system dark/light setting. See $:/core/wiki/config/MediaQueryTrackers/DarkLightPreferred for details.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/mechanisms/PluginMechanism.tid",
    "content": "created: 20130826122000000\nmodified: 20240520162828577\ntags: Mechanisms\ntitle: PluginMechanism\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\n[[Plugins]] are bundles of tiddlers that are distributed and managed as a single unit. Users can install them with drag and drop, or using the [[plugin library|Installing a plugin from the plugin library]].\n\n<<.from-version \"5.1.22\">> Plugins that contain JavaScript modules require a reload of the wiki before they will work. Plugins that do not contain JavaScript modules are automatically dynamically loaded and unloaded. \n\nPlugins can be used to package any tiddler content, including JavaScript [[modules|Modules]] that extend and enhance the core TiddlyWiki5 functionality. The tiddlers within registered plugins are ShadowTiddlers: they can be freely overwritten by creating a tiddler with the same title, but deleting that tiddler restores the underlying tiddler value from the plugin.\n\nBy convention, plugin titles have the form `$:/plugins/<publisher>/<name>`. Plugins that are part of the core TiddlyWiki distribution have titles of the form `$:/plugins/tiddlywiki/<name>`.\n\nWhen [[running TiddlyWiki under Node.js|TiddlyWiki on Node.js]], plugins can also be stored as individual tiddler files in [[PluginFolders]].\n\n! Plugin Stability\n\n{{Plugin Stability}}\n\n! Plugin Types\n\n{{Plugin Types}}\n\n! Plugin Dependencies\n\n{{Plugin Dependencies}}\n\n! Plugin Ordering\n\n{{Plugin Ordering}}\n\n! Plugin Fields\n\n{{Plugin Fields}}\n\n! More information\n\n<<list-links \"[tag[PluginMechanism]]\">>\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/mechanisms/PopupMechanism.tid",
    "content": "created: 20131212175656755\nmodified: 20151223222712715\ntags: Mechanisms\ntitle: PopupMechanism\ntype: text/vnd.tiddlywiki\n\nThe popup mechanism allows blocks of content to be selectively displayed and positioned with respect to an anchor. It has several parts:\n\n* [[StateTiddlers|StateMechanism]] to record whether a popup is currently displayed or not\n* The RevealWidget to selectively display the popup content\n** <<.from-version \"5.2.4\">> For positioning the popups relative or absolute coordinates can be used. See [[Coordinate Systems]] for more information about usage and format.\n** For \"sticky\" popups — those that don't close when clicking inside one — set the ''class'' attribute to `tc-popup-keep`\n* The ButtonWidget to trigger the display of the popup by setting the state tiddler appropriately\n\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/mechanisms/RefreshMechanism.tid",
    "content": "created: 20191012152414236\nmodified: 20191014091753894\ntags: Mechanisms\ntitle: RefreshMechanism\ntype: text/vnd.tiddlywiki\n\nThe refresh mechanism is the part of the WikificationMechanism concerned with updating a rendering when there are changes in the tiddler store.\n\nThe refresh mechanism is notified of changes to the tiddler store asynchronously. This is done so that multiple consecutive changes can be coalesced into a single change notification. Thus, a series of action widgets modifying several different tiddlers will only trigger a single refresh cycle.\n\nWhen changes occur, the rendering is updated by calling the \"refresh\" method of the root widget. The refresh  method determines whether the widget needs to be updated to reflect the incoming changes, and then recursively calls into the refresh methods of each child widget\n\nThe refresh cycle is inherently fairly slow because it involves visiting every node in the render tree. To maintain performance there is a RefreshThrottling mechanism that enables refresh processing to be deferred when rapid changes occur to the same tiddler.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/mechanisms/RefreshThrottling.tid",
    "content": "created: 20191013095916159\nmodified: 20211117232644028\ntags: RefreshMechanism Mechanisms\ntitle: RefreshThrottling\ntype: text/vnd.tiddlywiki\n\nThe RefreshMechanism allows the refresh cycle to be throttled (or deferred) when rapid changes occur to the same tiddler. It is used to maintain responsiveness while editing a draft tiddler, but can also be used on other tiddlers.\n\nThe rules governing refresh throttling are:\n\n* When a change notification occurs, throttling will only take place if all of the modified tiddlers meet at least one of these criteria:\n** Has the field `draft.of`\n** Has the field `throttle.refresh`\n** Has a title prefixed with `$:/temp/volatile/`\n* If the refresh cycle is to be throttled, a timer is set for the internal specified in [[$:/config/Drafts/TypingTimeout|Hidden Setting: Typing Refresh Delay]] (cancelling any previously set timer)\n** When the timer fires, the refresh cycle is triggered, passing the aggregated titles of all the deferred refresh cycles\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/mechanisms/SavingMechanism.tid",
    "content": "created: 20150709150749755\nmodified: 20160709112741259\ntags: Mechanisms\ntitle: SavingMechanism\ntype: text/vnd.tiddlywiki\n\nThe SavingMechanism is the mechanism by which TiddlyWiki generates a new HTML file and stores it. It is different from the sync mechanism, which is concerned with synchronising changes to individual tiddlers back to a server (see https://tiddlywiki.com/dev/#SyncAdaptorModules for more details).\n\nThe following steps are involved:\n\n# The saver mechanism uses the filter defined in $:/config/SaverFilter to specify which modified tiddlers trigger the dirty state for the wiki. (The dirty state is reflected in the red colouring of the \"save changes\" button in the sidebar).\n# The ButtonWidget is used to generate a [[tm-save-wiki|WidgetMessage: tm-save-wiki]] message to trigger the save operation\n# The optional parameter for the message specifies the template that will be used for generating the HTML file, defaulting to $:/core/save/all\n#* The plugin $:/plugins/tiddlywiki/tiddlyweb in the client-server configuration replaces the default template with $:/plugins/tiddlywiki/tiddlyweb/save/offline\n# The template includes a variable assignment that specifies a filter to select the tiddlers that should be included in the saved file. It then transcludes the main page template `$:/core/templates/tiddlywiki5.html`\n#* The template includes a reference to `$(publishFilter)$` that allows the filter to be customised via a global variable\n# The [[tm-save-wiki|WidgetMessage: tm-save-wiki]] handler renders the template to generate the HTML file\n# The message handler chooses the highest priority \"saver\" module that can handle saving the file\n#* See https://tiddlywiki.com/dev/#Saver for more details\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/mechanisms/StateMechanism.tid",
    "content": "created: 20131228164411884\nmodified: 20211127033939415\ntags: Mechanisms\ntitle: StateMechanism\ntype: text/vnd.tiddlywiki\n\nThe StateMechanism in TiddlyWiki is at the heart of how complex user interfaces can be built from WikiText.\n\nIn the browser, the TiddlyWiki display is produced by dynamically rendering the tiddler [[$:/core/ui/PageTemplate]]. Through various transclusions and other widgets it renders the entire user interface. The dynamic rendering is accomplished by a mechanism called \"binding\": any changes to the tiddlers in the store are dynamically reflected in the browser display.\n\nThe stack of templates that make up the TiddlyWiki display are complex but we'll focus on the line that displays the main story column:\n\n```\n<$list filter=\"[list[$:/StoryList]]\" history=\"$:/HistoryList\" template=\"$:/core/ui/ViewTemplate\" editTemplate=\"$:/core/ui/EditTemplate\" storyview={{$:/view}} />\n```\n\nBreaking down the attributes applied to the list widget:\n\n* ''filter'': selects the list of tiddlers in the `list` field of the tiddler [[$:/StoryList]]. If a tiddler is added or removed from that list then it is automatically reflected in the displayed list\n* ''history'': references the tiddler to be used to store the history stack (see the HistoryMechanism)\n* ''template'': identifies a template tiddler to be used for rendering each tiddler in the list\n* ''editTemplate'': identifies a different template tiddler to be used for rendering tiddlers that are in [[draft mode|DraftMechanism]]\n* ''storyview'': specifies the story view to be used (eg classic, or zoomin)\n\nThe [[$:/StoryList]] tiddler is an example of a StateTiddler: a tiddler that is used to hold the state of the user interface. Changes to the user interface are made indirectly, by changing the underlying state tiddlers, and letting TiddlyWiki ripple the changes through the user interface.\n\nNote how this approach makes the ''open'' tab in the sidebar very easy to implement: it is just another list widget referencing the same state tiddler, but with a different template:\n\n```\n<$list filter=\"[list[$:/StoryList]]\" history=\"$:/HistoryList\" storyview=\"pop\">\n<$button message=\"tm-close-tiddler\" class=\"tc-btn-invisible tc-btn-mini\">&times;</$button> <$link/>\n</$list>\n```\n\nNow consider the implementation of the info panel within the tiddler template. We want to be able to toggle the info panel open and closed, which means that we must track its current state in a tiddler.\n\nHowever, we can't track the state in a tiddler called, say, [[$:/InfoPanelState]] because every tiddler would share the same state; changing the value of the tiddler would affect all tiddlers displayed in the story.\n\nThe solution is to dynamically generate a unique title for each state tiddler that we need. We need to ensure that the same state tiddler title is generated each time a user interface element is rendered. To do that, we append together tokens representing each of the stack of transclusions that led to the current rendering location. Then that string of symbols is hashed to a simple numeric value.\n\nThe process of generating a state tiddler title is encapsulated in the <<.mlink qualify>> macro.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/mechanisms/TranslationMechanism.tid",
    "content": "created: 20140217173700918\nmodified: 20140911183846401\ntags: Mechanisms\ntitle: TranslationMechanism\ntype: text/vnd.tiddlywiki\n\nThe translation mechanism of TiddlyWiki manages and switches between language plugins that provide translations of the TiddlyWiki user interface. The developer site at https://tiddlywiki.com/dev/ explains how translators can create and submit translations for TiddlyWiki.\n\nThe title of the current language plugin is read from the tiddler [[$:/language]]. If the selected plugin changes then any displayed translatable text automatically changes.\n\nTranslation plugins are bundles of tiddlers that each contain an independent translatable string. The strings are transcluded as needed.\n\nTranslatable strings are generally in the namespace `$:/language/`, for example:\n\n* [[$:/language/EditTemplate/Shadow/OverriddenWarning]]\n* [[$:/language/Docs/ModuleTypes/isfilteroperator]]\n* [[$:/language/EditTemplate/Fields/Add/Value/Placeholder]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/mechanisms/UpgradeMechanism.tid",
    "content": "created: 20140711090154150\nmodified: 20160606122804180\ntags: Mechanisms\ntitle: UpgradeMechanism\n\n# Open upgrade.html\n# Includes a data tiddler called `$:/UpgradeLibrary` that contains the latest compatible versions of all plugins in the library\n# Drag in old wiki file\n# Place tiddlers into a data tiddler `$:/Import` that is typed as a \"pending import\"\n# Kick off import processing for each tiddler\n## Give each \"upgrader\" module a chance to inspect the incoming tiddlers\n## Upgrader modules can trigger actions for each tiddler:\n##* Display a warning message\n##* Don't import\n##* Replace with another tiddler from the upgrade library\n##* Disable incompatible plugins\n# Display the newly created pending import tiddler through a new view template segment\n## Displays the payload tiddlers as a list of titles and checkboxes, with a dropdown showing the full details of the tiddler\n## Perhaps we also suppress the usual JSON display for data tiddlers behind a reveal widget\n# The user can adjust the selection checkboxes\n# Clicking \"Upgrade\" unpacks the selected tiddlers from the pending import tiddler\n# The pending import tiddler and the upgrade library tiddler are excluded from the subsequent save operation\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/mechanisms/WikificationMechanism.tid",
    "content": "created: 20191012080221911\nmodified: 20230803052515281\ntags: Mechanisms\ntitle: WikificationMechanism\ntype: text/vnd.tiddlywiki\n\n\"Wikification\" is a general term for the dynamic process of converting tiddlers containing WikiText into the HTML DOM representation needed by the browser, and updating that representation if the underlying tiddlers change.\n\nIt is composed of several distinct steps:\n\n* [[ParserMechanism|WikiText parser mode transitions]]: reading the text of tiddlers and scanning for wikitext constructions, outputting a tree representation of the resulting structure. It is an expensive process so parse trees are cached, and only need to be updated if the corresponding tiddler is changed\n* [[WidgetMechanism|Widgets]]: starting with a specified root tiddler, recursively instantiate a widget for each parse tree node making a rendering tree. Widgets can optionally also create DOM nodes\n* RefreshMechanism: handling changes to the tiddler store by selectively and efficiently updating a rendering tree\n\nThis mechanism is used in the browser to build TiddlyWiki's main interactive page. At startup, the tiddler $:/core/ui/PageTemplate is parsed and rendered to the DOM, recursively pulling in other tiddlers to build the entire user interface. Any user interactions -- following a link, clicking a button, or typing in a text box -- trigger a change in the tiddler store which then automatically propagates through the widget tree.  For example, if the user clicks a link to navigate to a new tiddler, the following steps take place:\n\n# Clicking the link triggers the action of the LinkWidget which by default is to add the target tiddler to the list field of the tiddler $:/StoryList\n# The modification to the tiddler store asynchronously triggers the refresh cycle. The asynchronous triggering ensures that the refresh cycle is only run once even if multiple tiddlers were modified in succession\n# The refresh cycle recursively visits each node of the render tree giving them the chance to update themselves in the light of the accumulated changes to the tiddler store. In this case, the ListWidget of the main story river notices that a single tiddler needs to be added to the river, and renders that newly displayed tiddler without disturbing the other tiddlers\n\nThe performance of the entire wikification process is critical. If the refresh cycle takes more than about 400ms then the user will notice a delay between their actions and the effects. See [[Performance]] for some discussion of how to optimise performance.\n\nThe rendering process is also aggressively reused in other parts of TiddlyWiki, both in the browser and on the server:\n\n* Generating TiddlyWiki's standalone HTML representation\n* Creating static HTML renderings of tiddlers\n* Dynamically rendering CSS stylesheet tiddlers\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/menubar/gettingstarted.tid",
    "content": "title: $:/editions/tw5.com/menuitems/gettingstarted\ncaption: ~GettingStarted\ndescription: Link to ~GettingStarted\ntags: $:/tags/MenuBar\ntarget: GettingStarted\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/menubar/tagsMenuBar.tid",
    "content": "title: $:/tags/MenuBar\nlist:$:/plugins/tiddlywiki/menubar/items/hamburger $:/plugins/tiddlywiki/menubar/items/topleftbar $:/editions/tw5.com/menuitems/gettingstarted $:/plugins/tiddlywiki/menubar/items/contents $:/plugins/tiddlywiki/menubar/items/search $:/plugins/tiddlywiki/menubar/items/pagecontrols $:/plugins/tiddlywiki/menubar/items/server $:/plugins/tiddlywiki/menubar/items/toprightbar"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/SampleModal.tid",
    "content": "created: 20140912145537860\nfooter: <$button message=\"tm-close-tiddler\">Close</$button>\nmodified: 20211117224341543\nsubtitle: This is a modal created especially for <<yourName>>\ntags: [[Message Examples]]\ntitle: SampleModal\ntype: text/vnd.tiddlywiki\n\n! Hello, <<yourName>>\n\nThis is an example modal containing the following message:\n\n<<yourMessage>>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/SampleWindowTemplate.tid",
    "content": "created: 20211109165213041\nmodified: 20220227211343988\ntags: [[Message Examples]]\ntitle: SampleWindowTemplate\n\n\n| ''Name:'' |<$edit field=name tag=\"input\" />|\n|''Rank:'' |<$edit field=rank tag=\"input\" />|\n\n''Variable 'something' contains:'' <<something>>"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-add-field.tid",
    "content": "created: 20140908185153663\nmodified: 20140908185153663\ntags: Messages\ntitle: WidgetMessage: tm-add-field\ntype: text/vnd.tiddlywiki\ncaption: tm-add-field\n\nThe `tm-add-field` message is handled by the FieldManglerWidget. It adds the specified field with a blank value if the field doesn't already exist.\n\n|!Name |!Description |\n|param |Name of field to add |\n\nThe add field message is usually generated with the ButtonWidget, and is handled by the FieldManglerWidget.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-add-tag.tid",
    "content": "created: 20140908185153663\nmodified: 20140908185153663\ntags: Messages\ntitle: WidgetMessage: tm-add-tag\ntype: text/vnd.tiddlywiki\ncaption: tm-add-tag\n\nThe `tm-add-tag` message is handled by the FieldManglerWidget. It adds the specified tag.\n\n|!Name |!Description |\n|param |Name of tag to add |\n\nThe add tag message is usually generated with the ButtonWidget, and is handled by the FieldManglerWidget.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-auto-save-wiki.tid",
    "content": "created: 20140830112325641\nmodified: 20140830115149288\ntags: Messages\ntitle: WidgetMessage: tm-auto-save-wiki\ntype: text/vnd.tiddlywiki\ncaption: tm-auto-save-wiki\n\nThe autosave wiki message causes the current saver module to perform a background save if it is required.\n\nThe autosave wiki message should be generated whenever changes are made to the store. For example, the navigator widget generates the autosave wiki message as part of its handling of the [[WidgetMessage: tm-save-tiddler]], [[WidgetMessage: tm-delete-tiddler]] and [[WidgetMessage: tm-perform-import]].\n\nThe autosave wiki message is handled by the TiddlyWiki core SyncMechanism which invokes the current [[SaverModule|SaverModules]]. Not all SaverModules can handle autosaving.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-browser-refresh.tid",
    "content": "created: 20140819110529062\nmodified: 20140826110529062\ntags: Messages\ntitle: WidgetMessage: tm-browser-refresh\ntype: text/vnd.tiddlywiki\ncaption: tm-browser-refresh\n\nThe `tm-browser-refresh` message refreshes the page, causing the re-initialisation of any plugin tiddlers. It does not require any properties on the `event` object.\n\nThe refresh message is usually generated with the ButtonWidget and is handled by the core.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-cancel-tiddler.tid",
    "content": "created: 20140226193622350\nmodified: 20140226193906089\ntags: Messages navigator-message\ntitle: WidgetMessage: tm-cancel-tiddler\ntype: text/vnd.tiddlywiki\ncaption: tm-cancel-tiddler\n\nThe `tm-cancel-tiddler` message abandons the changes in a draft tiddler. It requires the following properties on the `event` object:\n\n|!Name |!Description |\n|param |Title of the tiddler that is being cancelled out of edit mode |\n|tiddlerTitle |Fallback title that is used if ''param'' isn't specified (automatically set by the ButtonWidget)  |\n\nThe cancel tiddler message is usually generated with the ButtonWidget and is handled by the NavigatorWidget.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-clear-password.tid",
    "content": "created: 20140226084018038\nmodified: 20140226084916556\ntags: Messages\ntitle: WidgetMessage: tm-clear-password\ntype: text/vnd.tiddlywiki\ncaption: tm-clear-password\n\nThe `tm-clear-password` message clears the current password from the password vault, clearing the [[$:/isEncrypted]] tiddler. See EncryptionMechanism for details.\n\nThis message is typically generated with the ButtonWidget, and is handled by the core itself.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-close-all-tiddlers.tid",
    "content": "created: 20140226194242809\nmodified: 20140226194341303\ntags: Messages navigator-message\ntitle: WidgetMessage: tm-close-all-tiddlers\ntype: text/vnd.tiddlywiki\ncaption: tm-close-all-tiddlers\n\nThe close all tiddlers message empties the story list.\n\nThe close all tiddlers message is usually generated with the ButtonWidget and is handled by the NavigatorWidget.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-close-all-windows.tid",
    "content": "created: 20220301162305764\nmodified: 20220301180818011\ntags: Messages\ntitle: WidgetMessage: tm-close-all-windows\ntype: text/vnd.tiddlywiki\ncaption: tm-close-all-windows\n\n<<.from-version 5.2.2>>\nThe `tm-close-all-windows` [[message|Messages]] closes all additional //browser// window that were opened with [[tm-open-window|WidgetMessage: tm-open-window]]. \n\nThe `tm-close-window` message is best generated with the ActionSendMessageWidget, which in turn is triggered by a widget such as the ButtonWidget. It is handled by the core itself.\n\n<$macrocall $name='wikitext-example-without-html'\nsrc=\"\"\"\n<$button>Close All Windows\n<$action-sendmessage \n  $message=\"tm-close-all-windows\" \n/>\n</$button>\n\"\"\" />\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-close-other-tiddlers.tid",
    "content": "created: 20140302183306544\nmodified: 20140302183352966\ntags: Messages navigator-message\ntitle: WidgetMessage: tm-close-other-tiddlers\ntype: text/vnd.tiddlywiki\ncaption: tm-close-other-tiddlers\n\nThe `tm-close-other-tiddlers` message removes all but a specified tiddler from the story list. It requires the following properties on the `event` object:\n\n|!Name |!Description |\n|param |Title of the tiddler that is not to be closed |\n|tiddlerTitle |Fallback title that is used if ''param'' isn't specified (automatically set by the ButtonWidget)  |\n\nThe close other tiddlers message is usually generated with the ButtonWidget and is handled by the NavigatorWidget.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-close-tiddler.tid",
    "content": "created: 20140226193940778\nmodified: 20140226194227227\ntags: Messages navigator-message\ntitle: WidgetMessage: tm-close-tiddler\ntype: text/vnd.tiddlywiki\ncaption: tm-close-tiddler\n\nThe `tm-close-tiddler` message removes a specified tiddler from the story list. It requires the following properties on the `event` object:\n\n|!Name |!Description |\n|param |Title of the tiddler that is to be closed |\n|tiddlerTitle |Fallback title that is used if ''param'' isn't specified (automatically set by the ButtonWidget)  |\n\nThe close tiddler message is usually generated with the ButtonWidget and is handled by the NavigatorWidget.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-close-window.tid",
    "content": "caption: tm-close-window\ncreated: 20220228140417116\nmodified: 20230723220539648\ntags: Messages\ntitle: WidgetMessage: tm-close-window\ntype: text/vnd.tiddlywiki\n\n<<.from-version 5.2.2>>\nThe `tm-close-window` [[message|Messages]] closes an additional //browser// window that was opened with [[tm-open-window|WidgetMessage: tm-open-window]]. Specify which window to close by setting the value of <<.param param>> to the string used as <<.param windowID>> when opening the window.\n\n|!Name |!Description |\n|param //{default param}//  |String used as <<.param windowID>> when opening the window |\n\nThe `tm-close-window` message is best generated with the ActionSendMessageWidget, which in turn is triggered by a widget such as the ButtonWidget. It is handled by the core itself.\n\n<<.tip \"\"\"When used with the ActionSendMessageWidget, <<.param 'param'>> becomes <<.param '$param'>> \"\"\">>\n<<.tip \"\"\"To close all additional browser windows that were opened with [[tm-open-window|WidgetMessage: tm-open-window]] use [[WidgetMessage: tm-close-all-windows]]\"\"\">>\n<<.tip \"\"\"If the <<.param windowID>> parameter was used with [[tm-open-window|WidgetMessage: tm-open-window]] when opening a new window,  the value of <<.param windowID>> is available within that window in the variable <<.var tv-window-id>>\"\"\">>\n\n\n<$macrocall $name='wikitext-example-without-html'\nsrc=\"\"\"\n<$button>Open Window\n<$action-sendmessage \n  $message=\"tm-open-window\" \n  $param=\"$:/temp/openme\" \n  template=\"SampleWindowTemplate\" \n  windowTitle=\"My Window Title\"\n  width=\"400\"\n  height=\"500\"\n  windowID=\"window1\"\n  something=\"I just flew in on a variable, and boy is my Hashmap tired.\" />\n</$button>\n<$button>Close Window\n<$action-sendmessage \n  $message=\"tm-close-window\" \n  $param=\"window1\" \n/>\n</$button>\n\"\"\" />\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-copy-to-clipboard.tid",
    "content": "caption: tm-copy-to-clipboard\ncreated: 20171215150056004\nmodified: 20240523174013095\ntags: Messages\ntitle: WidgetMessage: tm-copy-to-clipboard\ntype: text/vnd.tiddlywiki\n\nThe \"copy to clipboard\" message attempts to copy the specified text to the clipboard. If it succeeds, the tiddler [[$:/language/Notifications/CopiedToClipboard/Succeeded]] is displayed as a notification. If the browser doesn't permit the operation, the tiddler [[$:/language/Notifications/CopiedToClipboard/Failed]] is displayed instead.\n\nIt requires the following properties on the `event` object:\n\n|!Name |!Description |\n|param |Text to be copied to the clipboard |\n|successNotification |<<.from-version \"5.3.4\">> Optional title of tiddler containing notification to be used if the operation succeeds |\n|failureNotification |<<.from-version \"5.3.4\">> Optional title of tiddler containing notification to be used if the operation fails |\n\nThis message is usually generated with the ButtonWidget. It is handled by the TiddlyWiki core.\n\n! Example\n\nThis example copies the current time to the clipboard:\n\n<$macrocall $name='wikitext-example-without-html'\nsrc='<$button message=\"tm-copy-to-clipboard\" param=<<now>>>\nCopy date to clipboard\n</$button>'/>\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-delete-tiddler.tid",
    "content": "created: 20140226090324129\nmodified: 20140226090441236\ntags: Messages navigator-message\ntitle: WidgetMessage: tm-delete-tiddler\ntype: text/vnd.tiddlywiki\ncaption: tm-delete-tiddler\n\nThe `tm-delete-tiddler` message deletes the specified tiddler and removes it from the current story. If the tiddler is a draft then it also deletes the tiddler specified in the `draft.of` field. The delete tiddler message requires the following properties on the `event` object:\n\n|!Name |!Description |\n|param |Title of the tiddler that is to be deleted |\n|tiddlerTitle |Fallback title that is used if ''param'' isn't specified (automatically set by the ButtonWidget)  |\n\nThe delete tiddler message is usually generated with the ButtonWidget and is handled by the NavigatorWidget.\n\nUse the [[ActionDeleteTiddlerWidget]] to delete a named tiddler without getting the \"Do you wish to delete the tiddler\" prompt.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-download-file.tid",
    "content": "caption: tm-download-file\ncreated: 20140811112201235\nmodified: 20230723214745520\ntags: Messages\ntitle: WidgetMessage: tm-download-file\ntype: text/vnd.tiddlywiki\n\nThe download file message causes the current saver module to prompt the user to download the result of parsing a specified template tiddler as a file. It requires the following properties on the `event` object:\n\n|!Name |!Description |\n|param |Title of a tiddler to use as a template for the new tiddler |\n|//{any other params}// |Any other parameters are made available as variables within the context of the widget message. |\n\nThe following variable names have special behaviour:\n\n|!Name |!Description |\n|filename |Filename for the downloaded file (note that this is a hint to the browser, and the actual filename used may be different) |\n|type |<<.from-version \"5.3.7\">> Content type for the downloaded file |\n\nThe download file message is usually generated with the ButtonWidget.\n\nThe download file message is handled by the TiddlyWiki core SyncMechanism which invokes the current [[SaverModule|SaverModules]].\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-edit-bitmap-operation.tid",
    "content": "caption: tm-edit-bitmap-operation\ncreated: 20160424204236050\nmodified: 20230803045807664\ntags: Messages\ntitle: WidgetMessage: tm-edit-bitmap-operation\ntype: text/vnd.tiddlywiki\n\n\\define resizeDescription()\n<div>\n\nResizes the image to the specified width and height. Parameters include:\n\n|!Name |!Description |\n|width |Specifies the width the image is resized to |\n|height |Specifies the height the image is resized to |\n\n</div>\n\\end\n\n\\define clearDescription()\n<div>\n\nClears the contents of the image and fills it with a solid colour. Parameters include:\n\n|!Name |!Description |\n|colour |Colour the image should be filled with, defaults to <<.value \"White\">> |\n\n<<.tip \"The colour field can take any normal CSS colour value, including the hexadecimal representation or the RGB format.\">>\n</div>\n\\end\n\n\nA `tm-edit-bitmap-operation` invokes one of the available operations on a __surrounding__ bitmap editor. Therefore the message has to be dispatched within the editor in order for it to catch it. The following properties on the `event` object are required:\n\n|!Name |!Description |\n|param |Name of the operation to be executed, see ''below'' for a list of possible operations |\n|//{any other params}// |Any other parameters are made available as variables within the context of the widget message. |\n\n\nThe `tm-edit-bitmap-operation` message is usually generated by a ButtonWidget or an [[ActionWidget|ActionWidgets]] and is handled by the surrounding bitmap editor.\n\n! Bitmap Operations\n\nAt this point the following bitmap operations have been implemented:\n\n|!Name |!Description |\n|<<.def \"resize\">>|<<resizeDescription>> |\n|<<.def \"clear\">>|<<clearDescription>> |\n\n\n!Example\n\nAn example can be seen in [[$:/core/ui/EditorToolbar/size-dropdown]]:\n\n```\n<$button>\n<$action-sendmessage\n\t$message=\"tm-edit-bitmap-operation\"\n\t$param=\"resize\"\n\twidth={{$config-title$/new-width}}\n\theight={{$config-title$/new-height}}\n/>\n...\nResize\n</$button>\n```\n\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-edit-text-operation.tid",
    "content": "caption: tm-edit-text-operation\ncreated: 20160424211339792\nmodified: 20240909083525060\ntags: Messages\ntitle: WidgetMessage: tm-edit-text-operation\ntype: text/vnd.tiddlywiki\n\n\\define exciseDescription()\n<div>\n\nExcises the currently selected text into a new tiddler and replaces it with a link, a macro or a transclude of the new tiddler. Parameters include:\n\n|!Name |!Description |\n|title |Title of the new tiddler the selected content is excised to |\n|type |Type of the replacement to be inserted: Can be one of <<.value \"transclude\">>, <<.value \"link\">> or <<.value \"macro\">> |\n|macro |In case //type=<<.value \"macro\">>//, specifies the name of the macro to be inserted. The title of the new tiddler is provided as the first parameter to the macro. Defaults to the [[translink macro|translink Macro]] |\n|tagnew |If '<<.value \"yes\">>', will tag the new tiddler with the title of the tiddler currently being edited |\n\n</div>\n\\end\n\n\\define replaceAllDescription()\n<div>\n\nReplaces ''all'' contents of the editor with the provided text.\n\n|!Name |!Description |\n|text |Text to be inserted |\n\n</div>\n\\end\n\n\\define replaceSelectionDescription()\n<div>\n\nReplaces the current selection with the provided text.\n\n|!Name |!Description |\n|text |Text to be inserted |\n\n</div>\n\\end\n\n\\define prefixLinesDescription()\n<div>\n\nPrefixes the currently selected line//(s)// with the provided character. If a line is already prefixed by the provided prefix, the prefix is removed instead.\n\n|!Name |!Description |\n|character |Prefix character |\n|count |Number of characters that make up the prefix |\n\n''Example'' Setting //character=\"<<.value \"!\">>\"// and //count=\"<<.value \"3\">>\"// would insert the prefix \"<<.value \"!!!\" >>\", which will resolve to a subheading when parsed as WikiText.\n\n</div>\n\\end\n\n\\define wrapLinesDescription()\n<div>\n\nSurrounds the selected //lines// with the provided <<.param \"prefix\">> and <<.param \"suffix\">>.\n\n|!Name |!Description |\n|prefix |String to be prefixed to the selected lines |\n|suffix |Suffix to be inserted after the selected lines |\n\n\n</div>\n\\end\n\n\n\\define wrapSelectionDescription()\n<div>\n\nSurrounds the current //selection// with the provided <<.param \"prefix\">> and <<.param \"suffix\">>.\n\n|!Name |!Description |\n|prefix |String to be prefixed to the selection |\n|suffix |Suffix to be inserted after the selection |\n|trimSelection |<<.from-version 5.3.6>> Trim leading and trailing white-space from the selection and move it to the surrounding text. Possible values are: `yes`, `no` (default), `start` and `end` |\n\n</div>\n\\end\n\n\\define saveSelectionDescription()\n<div>\n\nSaves the text of the current //selection// into the provided <<.param \"tiddler\">> and <<.param \"field\">>.\n\n|!Name |!Description |\n|tiddler |Tiddler title to which the selection will be saved |\n|field |Field name (defaults to \"text\") |\n\n</div>\n\\end\n\n\\define makeLinkDescription()\n<div>\n\nCreates a wiki text link to the tiddler specified in <<.param \"text\">>. If there is a selection, it is used as the text of the link. \n\n|!Name |!Description |\n|text |Tiddler title to which the link will be created |\n\n</div>\n\\end\n\n\\define insertTextDescription()\n<div>\n\nInserts the text specified in <<.param \"text\">> at the caret position. If there is a selection, it is replaced. \n\n|!Name |!Description |\n|text |Text to be inserted |\n\n</div>\n\\end\n\n\\define focusEditorDescription() Simply focuses the Text Editor\n\nA `tm-edit-text-operation` invokes one of the available operations on a __surrounding__ text editor. Therefore the message has to be dispatched within the editor in order for it to catch it. The following properties on the `event` object are required:\n\n|!Name |!Description |\n|param |Name of the operation to be executed, see ''below'' for a list of possible operations |\n|//{any other params}// |Any other parameters are made available as variables within the context of the widget message. |\n\nThe `tm-edit-text-operation` message is usually generated by a ButtonWidget or an [[ActionWidget|ActionWidgets]] and is handled by the surrounding text editor.\n\n! Text Operations\n\nAt this point the following text operations have been implemented:\n\n|!Name |!Description |\n|<<.def \"excise\">>|<<exciseDescription>> |\n|<<.def \"replace-all\">>|<<replaceAllDescription>> |\n|<<.def \"replace-selection\">>|<<replaceSelectionDescription>> |\n|<<.def \"prefix-lines\">>|<<prefixLinesDescription>> |\n|<<.def \"wrap-lines\">>|<<wrapLinesDescription>> |\n|<<.def \"wrap-selection\">>|<<wrapSelectionDescription>> |\n|<<.def \"save-selection\">>|<<saveSelectionDescription>> |\n|<<.def \"make-link\">>|<<makeLinkDescription>> |\n|<<.def \"insert-text\">>|<<insertTextDescription>> |\n|<<.def \"focus-editor\">>|<<.from-version 5.2.0>> <<focusEditorDescription>> |\n\n\n! Example\n\nAn example can be seen in [[$:/core/ui/EditorToolbar/bold]]:\n\n```\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"''\"\n\tsuffix=\"''\"\n\ttrimSelection=\"yes\"\n/>\n```\n\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-edit-tiddler.tid",
    "content": "created: 20140226085529797\nmodified: 20140226090641987\ntags: Messages navigator-message\ntitle: WidgetMessage: tm-edit-tiddler\ntype: text/vnd.tiddlywiki\ncaption: tm-edit-tiddler\n\nThe `tm-edit-tiddler` message replaces the specified tiddler in the current story with a draft version of itself. It requires the following properties on the `event` object:\n\n|!Name |!Description |\n|param |Title of the tiddler that is being switched to edit mode |\n|tiddlerTitle |Fallback title that is used if ''param'' isn't specified (automatically set by the ButtonWidget)  |\n\nThe edit tiddler message is usually generated with the ButtonWidget or the ActionSendMessageWidget and is handled by the NavigatorWidget.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-focus-selector.tid",
    "content": "caption: tm-focus-selector\ncreated: 20190628162542132\nmodified: 20230723215122038\ntags: Messages\ntitle: WidgetMessage: tm-focus-selector\ntype: text/vnd.tiddlywiki\n\nThe `tm-focus-selector` message sets the focus to the DOM element identified by the selector in the `param` parameter. \n\n|!Name |!Description |\n|param |Selector identifying the DOM element to be focussed  |\n|//{any other params}// |Any other parameters  to be passed to the  [[focus()|https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus]] method as variables.|\n\n<<.tip \"\"\"Use preventScroll=\"true\" to prevent the browser from scrolling to the focused element\"\"\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-fold-all-tiddlers.tid",
    "content": "caption: tm-fold-all-tiddlers\ncreated: 20160424230908388\nmodified: 20191028113838596\ntags: Messages\ntitle: WidgetMessage: tm-fold-all-tiddlers\ntype: text/vnd.tiddlywiki\n\nThe `tm-fold-all-tiddlers` message folds all tiddlers in the current story list.\n\nInternally, it sets the text of all of the state tiddlers corresponding to tiddlers in the story river to \"<<.value \"hide\">>\". The state tiddler titles are formed by prefixing the tiddler title with a prefix that defaults to `$:/state/folded/`.\n\n|!Name |!Description |\n|foldedStatePrefix |Prefix for the state tiddler in which the fold state is stored. Defaults to `$:/state/folded` |\n\nThe `tm-fold-all-tiddlers` message is usually generated with the ButtonWidget and is handled by the surrounding NavigatorWidget.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-fold-other-tiddlers.tid",
    "content": "caption: tm-fold-other-tiddlers\ncreated: 20160424232355215\nmodified: 20191028113932268\ntags: Messages\ntitle: WidgetMessage: tm-fold-other-tiddlers\ntype: text/vnd.tiddlywiki\n\nThe `tm-fold-other-tiddlers` message folds all tiddlers in the current story list, except the one specified in the `param` parameter. It does so by setting the text of a state tiddler to either \"<<.value \"show\">>\" or \"<<.value \"hide\">>\", according to the fold state.\n\n|!Name |!Description |\n|param|Title of the tiddler that should be ignored by the fold operation. |\n|foldedStatePrefix |Prefix for the state tiddler in which the fold state is stored. |\n\n<<.tip \"The core uses a foldStatePrefix of `$:/state/folded/` to store the fold states for the default story view.\">>\n<<.warning \"The state tiddlers title is computed as `foldStatePrefix + TiddlerTitle`. If the foldStatePrefix is not set, it will overwrite the text of the tiddler(s) itself, resulting in data loss. \">>\n\n\nThe `tm-fold-other-tiddlers` message is usually generated with the ButtonWidget and is handled by the surrounding NavigatorWidget.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-fold-tiddler.tid",
    "content": "caption: tm-fold-tiddler\ncreated: 20160424232749223\nmodified: 20191028113537119\ntags: Messages\ntitle: WidgetMessage: tm-fold-tiddler\ntype: text/vnd.tiddlywiki\n\nThe `tm-fold-tiddler` message toggles the value of a state tiddler. It does so by setting the text of a state tiddler to either \"<<.value \"show\">>\" or \"<<.value \"hide\">>\", according to the fold state.\n\n|!Name |!Description |\n|param |ignored ... foldedState must be used |\n|foldedState |State tiddler in which the fold state is stored |\n\n<<.tip \"The core uses a foldState prefix of `$:/state/folded/` + `tiddler title` to store the fold states for the default story view.\">>\n\nThe `tm-fold-tiddler` message is usually generated with the ButtonWidget and is handled by the surrounding NavigatorWidget.\n\nThe core $:/core/ui/ViewTemplate defines a global variable `folded-state`, that is used with every tiddler. It's created like this: \n\n```\n\\define folded-state()\n$:/state/folded/$(currentTiddler)$\n\\end\n```\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-full-screen.tid",
    "content": "caption: tm-full-screen\ncreated: 20140811112400855\nmodified: 20180814215126941\ntags: Messages\ntitle: WidgetMessage: tm-full-screen\ntype: text/vnd.tiddlywiki\n\nThe fullscreen message is used to enter, exit or toggle the \"fullscreen\" mode of the browser, if it supports it. It uses the following properties on the `event` object:\n\n|!Name |!Description |\n|param |`enter` to enter full screen mode, `exit` to exit it, otherwise toggle the full screen status |\n\nThe fullscreen message is handled by the TiddlyWiki core.\n\n\n<$macrocall $name='wikitext-example-without-html'\nsrc='<$button message=\"tm-full-screen\">\nFull screen toggle\n</$button>\n\n<$button message=\"tm-full-screen\" param=\"enter\">\nFull screen enter\n</$button>\n\n<$button message=\"tm-full-screen\" param=\"exit\">\nFull screen exit\n</$button>'/>\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-home.tid",
    "content": "created: 20140819110529062\nmodified: 20140819110529062\ntags: Messages\ntitle: WidgetMessage: tm-home\ntype: text/vnd.tiddlywiki\ncaption: tm-home\n\nThe `tm-home` message closes any open tiddlers and re-opens the default tiddlers set in [[$:/DefaultTiddlers]]. It also remove any [[permalink|PermaLinks]] from the browser address bar. It does not require any properties on the `event` object.\n\nThe home message is usually generated with the ButtonWidget and is handled by the core.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-http-cancel-all-requests.tid",
    "content": "caption: tm-http-cancel-all-requests\ncreated: 20230429161453032\nmodified: 20230429161453032\ntags: Messages\ntitle: WidgetMessage: tm-http-cancel-all-requests\ntype: text/vnd.tiddlywiki\n\nThe ''tm-http-cancel-all-requests'' message is used to cancel all outstanding HTTP requests initiated with [[WidgetMessage: tm-http-request]].\n\nNote that the state tiddler $:/state/http-requests contains a number representing the number of outstanding HTTP requests in progress.\n\nIt does not take any parameters.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-http-request Example Basic Authentication.tid",
    "content": "title: WidgetMessage: tm-http-request Example - Basic Authentication\ntags: $:/tags/Global\n\n\n!! HTTP Basic Authentication\n\n[[HTTP Basic Authentication|https://en.wikipedia.org/wiki/Basic_access_authentication]] is a simple scheme for HTTP clients pass a username and password to an HTTP server.\n\nThe credentials are passed via the \"Authorization\" header as the string \"Basic \" (note the space) followed by the base64-encoded username and password joined with a colon.\n\nHere is a simple, illustrative example:\n\n```\n\\procedure get-tiddler-list-from-tiddlywiki-server(url,username,password)\n\t\\procedure completion-get-json()\n\t\\import [subfilter{$:/core/config/GlobalImportFilter}]\n\t\t<$action-log msg=\"In completion-get-json\"/>\n\t\t<$action-log/>\n\t\\end completion-get-json\n\t<$action-sendmessage\n\t\t$message=\"tm-http-request\"\n\t\turl=<<url>>\n\t\tmethod=\"GET\"\n\t\theader-Authorization={{{ [<username>addsuffix[:]addsuffix<password>encodebase64[]addprefix[Basic ]] }}}\n\t\toncompletion=<<completion-get-json>>\n\t/>\n\\end get-tiddler-list-from-tiddlywiki-server\n\n<$button>\n<<get-tiddler-list-from-tiddlywiki-server url:\"http://127.0.0.1:8080\" username:\"Joe\" password:\"Bloggs\">>\nDownload\n</$button>\n```\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-http-request Example Random Dog.tid",
    "content": "title: WidgetMessage: tm-http-request Example - Random Dog\ntags: $:/tags/Macro $:/tags/Global\n\n\\procedure download-dog(url)\n\n\\procedure completion-download-dog()\n\\import [subfilter{$:/core/config/GlobalImportFilter}]\n\t<$action-log msg=\"In completion-download-dog\"/>\n\t<$action-log/>\n\t<!-- Success -->\n\t<$list filter=\"[<status>compare:number:gteq[200]compare:number:lteq[299]]\" variable=\"ignore\">\n\t\t<!-- Create the dog tiddler -->\n\t\t<$action-createtiddler\n\t\t\t$basetitle=`$:/RandomDog/$(title)$`\n\t\t\ttext=<<data>>\n\t\t\ttags=\"$:/tags/RandomDog\"\n\t\t\ttype={{{ [<headers>jsonget[content-type]] }}}\n\t\t\tcredits=\"https://random.dog/\"\n\t\t>\n\t\t\t<$action-log msg=\"Created tiddler\" title=<<createTiddler-title>>/>\n\t\t</$createtiddler>\n\t</$list>\n\\end completion-download-dog\n\n<$action-sendmessage\n\t$message=\"tm-http-request\"\n\turl=<<url>>\n\tmethod=\"GET\"\n\tbinary=\"yes\"\n\toncompletion=<<completion-download-dog>>\n\tvar-title=<<url>>\n/>\n\\end download-dog\n\n\\procedure get-random-dog()\n\n\\procedure completion-get-json()\n\\import [subfilter{$:/core/config/GlobalImportFilter}]\n\t<$action-log msg=\"In completion-get-json\"/>\n\t<$action-log/>\n\t<!-- Success -->\n\t<$list filter=\"[<status>compare:number:gteq[200]compare:number:lteq[299]]\" variable=\"ignore\">\n\t\t<!-- Download the dog -->\n\t\t<$macrocall $name=\"download-dog\" url={{{ [<data>jsonget[url]] }}}/>\n\t</$list>\n\\end completion-get-json\n\n<$action-sendmessage\n\t$message=\"tm-http-request\"\n\turl=\"https://random.dog/woof.json\"\n\tmethod=\"GET\"\n\toncompletion=<<completion-get-json>>\n/>\n\\end get-random-dog\n\n!! Random Dogs\n\nThis demo uses the API of the website https://random.dog/ to import a random dog image or video.\n\n//Note that the images and videos can be quite large, so this demo is not recommended to be used over mobile data connections.//\n\n<$button actions=<<get-random-dog>>>\nImport a random dog image or video\n</$button>\n\n<$list filter=\"[tag[$:/tags/RandomDog]limit[1]]\" variable=\"ignore\">\n\n!! Imported Tiddlers\n\n<$button>\n<$action-deletetiddler $filter=\"[tag[$:/tags/RandomDog]]\"/>\nDelete all imported random dogs\n</$button>\n\nExport all imported random dogs: <$macrocall $name=\"exportButton\" exportFilter=\"[tag[$:/tags/RandomDog]]\" lingoBase=\"$:/language/Buttons/ExportTiddlers/\"/>\n\n</$list>\n\n<ol>\n<$list filter=\"[tag[$:/tags/RandomDog]!sort[modified]]\">\n<li>\n<$link>\n<$text text=<<currentTiddler>>/>\n</$link>\n<div style=\"width:300px;\">\n<$transclude $tiddler=<<currentTiddler>>/>\n</div>\n</li>\n</$list>\n</ol>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-http-request Example Zotero.tid",
    "content": "title: WidgetMessage: tm-http-request Example - Zotero\ntags: $:/tags/Macro $:/tags/Global\n\n\\procedure select-zotero-group()\nSpecify the Zotero group ID to import\n<$edit-text tiddler=\"$:/config/zotero-group\" tag=\"input\"/> or \n<$select tiddler=\"$:/config/zotero-group\">\n<option value=\"4813312\">com216</option>\n<option value=\"4914891\">steve-sunypoly</option>\n<option value=\"4747244\">idt575</option>\n</$select>\n\\end\n\n\\procedure zotero-save-item(item)\n<$action-createtiddler\n\t$basetitle={{{ =[[_zotero_import ]] =[<item>jsonget[key]] =[[ ]] =[<item>jsonget[title]] +[join[]] }}}\n\ttext={{{ [<item>jsonget[title]] }}}\n\ttags=\"$:/tags/ZoteroImport\"\n        zotero-group={{$:/config/zotero-group}}\n>\n\t<$action-setmultiplefields $tiddler=<<createTiddler-title>> $fields=\"[<item>jsonindexes[]addprefix[zotero-]]\" $values=\"[<item>jsonindexes[]] :map[<item>jsonget<currentTiddler>else[.XXXXX.]]\"/>\n\t<$list filter=\"[<item>jsonindexes[creators]]\" variable=\"creatorIndex\">\n\t\t<$action-setmultiplefields $tiddler=<<createTiddler-title>> $fields=\"[<item>jsonget[creators],<creatorIndex>,[creatorType]addprefix[zotero-]]\" $values=\"[<item>jsonget[creators],<creatorIndex>,[lastName]] [<item>jsonget[creators],<creatorIndex>,[firstName]] +[join[, ]] :else[<item>jsonget[creators],<creatorIndex>,[name]] \"/>\n\t</$list>\n</$action-createtiddler>\n\\end zotero-save-item\n\n\\procedure zotero-save-items(data)\n<$list filter=\"[<data>jsonindexes[]] :map[<data>jsonextract<currentTiddler>,[data]]\" variable=\"item\">\n\t<$macrocall $name=\"zotero-save-item\" item=<<item>>/>\n</$list>\n\\end zotero-save-items\n\n\\procedure zotero-get-items(start:\"0\",limit:\"25\")\n\n\\procedure completion()\n\\import [subfilter{$:/core/config/GlobalImportFilter}]\n\t<$action-log msg=\"In completion\"/>\n\t<$action-log/>\n\t<!-- Success -->\n\t<$list filter=\"[<status>compare:number:gteq[200]compare:number:lteq[299]]\" variable=\"ignore\">\n\t\t<!-- Import these items -->\n\t\t<$macrocall $name=\"zotero-save-items\" data=<<data>>/>\n\t\t<!-- Check if there are any more items to download -->\n\t\t<$list filter=\"[<headers>jsonget[total-results]subtract<start>subtract<limit>compare:number:gt[0]]\" variable=\"ignore\">\n\t\t\t<$macrocall $name=\"zotero-get-items\" start={{{ [<start>add<limit>] }}} limit=<<limit>>/>\n\t\t</$list>\n\t</$list>\n\\end completion\n\n\\procedure progress()\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n\t<$action-log message=\"In progress-actions\"/>\n\\end progress\n\n\\procedure request-url()\n\\rules only transcludeinline transcludeblock filteredtranscludeinline filteredtranscludeblock\nhttps://api.zotero.org/groups/{{$:/config/zotero-group}}/items/\n\\end request-url\n\n<$wikify name=\"url\" text=<<request-url>>>\n\t<$action-sendmessage\n\t\t$message=\"tm-http-request\"\n\t\turl=<<url>>\n\t\tmethod=\"GET\"\n\t\tquery-format=\"json\"\n\t\tquery-sort=\"title\"\n\t\tquery-start=<<start>>\n\t\tquery-limit=<<limit>>\n\t\theader-accept=\"application/json\"\n\t\tbind-status=\"$:/temp/zotero/status\"\n\t\tbind-progress=\"$:/temp/zotero/progress\"\n\t\toncompletion=<<completion>>\n\t\tonprogress=<<progress>>\n\t\tvar-start=<<start>>\n\t\tvar-limit=<<limit>>\n\t/>\n</$wikify>\n\\end\n\n\\procedure zotero-actions()\n<$macrocall $name=\"zotero-get-items\" start=\"0\" limit=\"50\"/>\n\\end\n\n<<select-zotero-group>>\n\n<$button actions=<<zotero-actions>>>\nStart import from Zotero group\n</$button>\n\n<$button message=\"tm-http-cancel-all-requests\">\nCancel all HTTP requests\n</$button> Outstanding requests: {{$:/state/http-requests}}\n\n<$list filter=\"[tag[$:/tags/ZoteroImport]limit[1]]\" variable=\"ignore\">\n\n!! Imported Tiddlers\n\n<$button>\n<$action-deletetiddler $filter=\"[tag[$:/tags/ZoteroImport]]\"/>\nDelete these tiddlers\n</$button>\n\nExport: <$macrocall $name=\"exportButton\" exportFilter=\"[tag[$:/tags/ZoteroImport]]\" lingoBase=\"$:/language/Buttons/ExportTiddlers/\"/>\n\n</$list>\n\n<ol>\n<$list filter=\"[tag[$:/tags/ZoteroImport]]\">\n<li>\n<$link>\n<$view field=\"title\"/>\n</$link>\n</li>\n</$list>\n</ol>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-http-request Examples.tid",
    "content": "created: 20240609152203076\nmodified: 20240901142049810\ntags: \ntitle: WidgetMessage: tm-http-request Examples\ntype: text/vnd.tiddlywiki\n\n<$let store-fetched-output=\"\"\"\\procedure store-fetched-output()\n<$action-setfield $tiddler=Output status=<<status>> error=<<error>> data=<<data>> headers=<<headers>>/>\n\\end\n\"\"\">\n<$testcase>\n<$data title=Description text=\"Simple tm-http-request GET\"/>\n<$data title=Narrative text=\"\"\"Use the oncompletion attribute to store the results of a method=\"GET\" request\"\"\"/>\n<$data title=Output text=`$(store-fetched-output)$\n\\procedure http-get()\n\t<$action-sendmessage\n\t\t$message=\"tm-http-request\"\n\t\turl=\"https://httpbin.org/get\"\n\t\tmethod=\"GET\"\n\t\toncompletion=<<store-fetched-output>>\n\t/>\n\\end\n\n<$button actions=<<http-get>>>send HTTP GET</$button>`/>\n</$testcase>\n\n<$testcase>\n<$data title=Description text=\"Simple tm-http-request POST\"/>\n<$data title=Narrative text=\"\"\"Use the oncompletion attribute to store the results of a method=\"POST\" request. Use the body attribute to send data\"\"\"/>\n<$data title=Output text=`$(store-fetched-output)$\n\\procedure http-post()\n\t<$action-sendmessage\n\t\t$message=\"tm-http-request\"\n\t\turl=\"https://httpbin.org/post\"\n\t\theader-content-type=\"application/json\"\n\t\tmethod=\"POST\"\n\t\tbody='{\"foo\": \"bar\"}'\n\t\toncompletion=<<store-fetched-output>>\n\t/>\n\\end\n\n<$button actions=<<http-post>>>send HTTP POST</$button>`/>\n</$testcase>\n\n<$testcase>\n<$data title=Description text=\"tm-http-request with delayed response\"/>\n<$data title=Narrative text=\"\"\"Use the bind-status and bind-progress attributes to watch the intermediate state of a slow response\"\"\"/>\n<$data title=Output text=`$(store-fetched-output)$\n\\procedure http-get()\n\t<$action-sendmessage\n\t\t$message=\"tm-http-request\"\n\t\turl=\"https://httpbin.org/delay/2\"\n\t\tbind-status=status\n\t\tbind-progress=progress\n\t\tmethod=\"GET\"\n\t\toncompletion=<<store-fetched-output>>\n\t/>\n\\end\n\n<$button actions=<<http-get>>>send HTTP GET</$button>\n\n|!status |{{status}}|\n|!progress %|{{progress}}|`/>\n</$testcase>\n\n<$testcase>\n<$data title=Description text=\"tm-http-request with dripped response\"/>\n<$data title=Narrative text=\"\"\"Use the bind-status and bind-progress attributes to watch progress of data which arrives a little at a time\"\"\"/>\n<$data title=Output text=`$(store-fetched-output)$\n\\procedure http-get()\n\t<$action-sendmessage\n\t\t$message=\"tm-http-request\"\n\t\turl=\"https://httpbin.org/drip?duration=2&numbytes=10&code=200&delay=2\"\n\t\tbind-status=status\n\t\tbind-progress=progress\n\t\tmethod=\"GET\"\n\t\toncompletion=<<store-fetched-output>>\n\t/>\n\\end\n\n<$button actions=<<http-get>>>send HTTP GET</$button>\n\n|!status |{{status}}|\n|!progress %|{{progress}}|`/>\n</$testcase>\n\n<$testcase>\n<$data title=Description text=\"tm-http-request 504 Bad Gateway error response\"/>\n<$data title=Narrative text=\"\"\"Send a request to a url which simulates a 504 HTTP response in order to illustrate what an error response looks like\"\"\"/>\n<$data title=Output text=`$(store-fetched-output)$\n\\procedure http-get()\n\t<$action-sendmessage\n\t\t$message=\"tm-http-request\"\n\t\turl=\"https://httpbin.org/status/504\"\n\t\tmethod=\"GET\"\n\t\toncompletion=<<store-fetched-output>>\n\t/>\n\\end\n\n<$button actions=<<http-get>>>send HTTP GET</$button>`/>\n</$testcase>\n\n<$testcase>\n<$data title=Description text=\"tm-http-request 405 Method Not Allowed error response\"/>\n<$data title=Narrative text=\"\"\"Another error response example. This one sends a GET to a URL which only allows POST\"\"\"/>\n<$data title=Output text=`$(store-fetched-output)$\n\\procedure http-get()\n\t<$action-sendmessage\n\t\t$message=\"tm-http-request\"\n\t\turl=\"https://httpbin.org/post\"\n\t\tmethod=\"GET\"\n\t\toncompletion=<<store-fetched-output>>\n\t/>\n\\end\n\n<$button actions=<<http-get>>>send HTTP GET</$button>`/>\n</$testcase>\n</$let>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-http-request.tid",
    "content": "caption: tm-http-request\ncreated: 20230429161453032\nmodified: 20240614204704401\ntags: Messages\ntitle: WidgetMessage: tm-http-request\ntype: text/vnd.tiddlywiki\n\nThe ''tm-http-request'' message is used to make an HTTP request to a server.\n\nIt uses the following properties on the `event` object:\n\n|!Name |!Description |\n|param |Not used |\n|//{any other params}// |Any other parameters are made available as variables within the context of the widget message. See below. |\n\nThe following parameters are used:\n\n|!Name |!Description |\n|method |HTTP method (eg \"GET\", \"POST\") |\n|body |String data to be sent with the request |\n|binary |<<.from-version \"5.3.1\">> Set to \"yes\" to cause the response body to be treated as binary data and returned in base64 format |\n|useDefaultHeaders |<<.from-version \"5.3.4\">> Defaults to true.  Set to \"false\" to prevent default headers from being added.  This can be helpful when dealing with apis that restrict header fields. |\n|query-* |Query string parameters with string values |\n|header-* |Headers with string values |\n|password-header-* |Headers with values taken from the password store |\n|password-query-* |Query string parameters with values taken from the password store |\n|basic-auth-username |<<.from-version \"5.3.4\">> Optional username for HTTP basic authentication |\n|basic-auth-username-from-store |<<.from-version \"5.3.4\">> Optional username for HTTP basic authentication, specified as the name of the entry in the password store containing the username |\n|basic-auth-password |<<.from-version \"5.3.4\">> Optional password for HTTP basic authentication |\n|basic-auth-password-from-store |<<.from-version \"5.3.4\">> Optional password for HTTP basic authentication, specified as the name of the entry in the password store containing the password |\n|bearerAuthToken |<<.from-version \"5.3.6\">> Optional plain text token for HTTP bearer authentication |\n|basic-auth-password-from-store |<<.from-version \"5.3.6\">> Optional token for HTTP bearer authentication, specified as the name of the entry in the password store containing the token |\n|var-* |Variables to be passed to the completion and progress handlers (without the \"var-\" prefix) |\n|bind-status |Title of tiddler to which the status of the request (\"pending\", \"complete\", \"error\") should be bound |\n|bind-progress |Title of tiddler to which the progress of the request (0 to 100) should be bound |\n|oncompletion |Action strings to be executed when the request completes |\n|onprogress |Action strings to be executed when progress is reported |\n\nThe following variables are passed to the completion handler:\n\n|!Name |!Description |\n|status |HTTP result status code (see [[MDN|https://developer.mozilla.org/en-US/docs/Web/HTTP/Status]]) |\n|statusText |HTTP result status text |\n|error |Error string |\n|data |Returned data |\n|headers |Response headers as a JSON object |\n\nThe following variables are passed to the progress handler:\n\n|!Name |!Description |\n|lengthComputable |Whether the progress loaded and total figures are valid - \"yes\" or \"no\" |\n|loaded |Number of bytes loaded so far |\n|total |Total number bytes to be loaded |\n\nNote that the state tiddler $:/state/http-requests contains a number representing the number of outstanding HTTP requests in progress.\n\n!! Examples\n\n* Several simple examples using https://httpbin.org: [[WidgetMessage: tm-http-request Examples]]\n* [[Zotero's|https://www.zotero.org/]] API for retrieving reference items: [[WidgetMessage: tm-http-request Example - Zotero]]\n* [[Random Dog's|https://random.dog/]] API for retrieving random pictures of dogs showing how to retrieve binary data: [[WidgetMessage: tm-http-request Example - Random Dog]]\n* Example of using HTTP Basic Authentication: [[WidgetMessage: tm-http-request Example - Basic Authentication]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-import-tiddlers.tid",
    "content": "created: 20140716084658099\nmodified: 20150228143618000\ntags: Messages navigator-message\ntitle: WidgetMessage: tm-import-tiddlers\ntype: text/vnd.tiddlywiki\ncaption: tm-import-tiddlers\n\nThe `tm-import-tiddlers` message inserts a list of tiddlers into the pending import tiddler [[$:/Import]]. It also applies any active ''upgrader'' modules to each tiddler as it arrives (see the UpgradeMechanism for more details).\n\n|!Name |!Description |\n|param |JSON text of the array of tiddlers to be imported |\n|autoOpenOnImport |<<.from-version \"5.1.23\">> Optional value \"no\" or \"yes\" that can override tv-auto-open-on-import |\n|importTitle|<<.from-version \"5.1.23\">> optional tiddler title to use for import process instead of ~$:/Import |\n\nThe import tiddlers message is usually generated with the DropzoneWidget or the BrowseWidget, and is handled by the NavigatorWidget.\n\n! Configuration Variables\n\n* <<.vlink tv-auto-open-on-import>>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-load-plugin-from-library.tid",
    "content": "caption: tm-load-plugin-from-library\ncreated: 20160424233627001\nmodified: 20160424235543975\ntags: Messages\ntitle: WidgetMessage: tm-load-plugin-from-library\ntype: text/vnd.tiddlywiki\n\nThe `tm-load-plugin-from-library` message load the specified tiddler or plugin from the specified plugin library.\n\n|!Name |!Description |\n|title |Title of the tiddler or plugin to be loaded into the current wiki |\n|url |Url specifying the plugin library from which the tiddler or plugin is to be loaded. |\n\n!Example\n\nThe following snippet will install the CodeMirror plugin from the official plugin library:\n\n```\n<$button>\n<$action-sendmessage $message=\"tm-load-plugin-from-library\" title=\"$:/plugins/tiddlywiki/codemirror\" url=\"https://tiddlywiki.com/library/v5.1.11/index.html\"/>\nInstall CodeMirror\n</$button>\n```\n\n<<.tip \"Usually a plugin library has to be loaded (initialized) first before it can be used. If the plugin library specified by 'url' has not been initialized yet, it will be loaded and initialized.\">>\n\n\nThe `tm-load-plugin-from-library` message is usually generated with the ButtonWidget and is handled by the core itself.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-load-plugin-library.tid",
    "content": "caption: tm-load-plugin-library\ncreated: 20160424235548387\nmodified: 20160425000427238\ntags: Messages\ntitle: WidgetMessage: tm-load-plugin-library\ntype: text/vnd.tiddlywiki\n\nThe `tm-load-plugin-library` message loads the specified plugin library and imports information about the contained plugins in temporary tiddlers.\n\n|!Name |!Description |\n|url |Url specifying the plugin library to be loaded. |\n|infoTitlePrefix|Prefix to the temporary tiddlers being created, containing information about the plugins the plugin library offers. Defaults to <<.value \"$:/temp/RemoteAssetInfo/\">> |\n\n!Example\n\nThe following snippet will load the official plugin library:\n\n```\n<$button>\n<$action-sendmessage $message=\"tm-load-plugin-library\" infoTitlePrefix=\"$:/temp/RemoteAssetInfo/\" url=\"https://tiddlywiki.com/library/v5.1.11/index.html\"/>\nLoad official plugin library\n</$button>\n```\n\nThe `tm-load-plugin-library` message is usually generated with the ButtonWidget and is handled by the core itself.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-login.tid",
    "content": "created: 20140811112445887\nmodified: 20201025163134940\ntags: Messages\ntitle: WidgetMessage: tm-login\ntype: text/vnd.tiddlywiki\ncaption: tm-login\n\nThe login message prompts the user for a username and password and attempts to login to the current serverside host. The tiddler [[$:/status/IsLoggedIn]] reflects the current login status with the values \"yes\" or \"no\", and [[$:/status/UserName]] reflects the current username.\n\nThe login message is handled by the TiddlyWiki core SyncMechanism which invokes the current [[SyncAdaptorModule|SyncAdaptorModules]] (typically the ''tiddlywiki/tiddlywebadaptor'' plugin).\n\n<<.from-version \"5.1.23\">> The login message can optionally accept parameters called ''username'' and ''password'' that immediately attempts to login with the specified credentials without displaying the prompt\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-logout.tid",
    "content": "created: 20140811112457311\nmodified: 20140811113344084\ntags: Messages\ntitle: WidgetMessage: tm-logout\ntype: text/vnd.tiddlywiki\ncaption: tm-logout\n\nThe logout message attempts to log the user out of the current serverside host. The tiddler [[$:/status/IsLoggedIn]] reflects the current login status with the values \"yes\" or \"no\", and [[$:/status/UserName]] reflects the current username.\n\nThe logout message is handled by the TiddlyWiki core SyncMechanism which invokes the current [[SyncAdaptorModule|SyncAdaptorModules]] (typically the ''tiddlywiki/tiddlywebadaptor'' plugin).\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-modal.tid",
    "content": "caption: tm-modal\ncreated: 20140811112133701\nmodified: 20230723215434712\ntags: Messages\ntitle: WidgetMessage: tm-modal\ntype: text/vnd.tiddlywiki\n\n|!Name |!Description |\n|param |Title of the tiddler to be displayed |\n|//{any other params}// |Any other parameters are made available as variables within the context of the widget message. |\n|rootwindow |<<.from-version 5.1.18>> ''yes'' or ''true'' will always display a modal in the wiki-root-window |\n\nThe modal message is usually generated with the ButtonWidget. The modal message is handled by the TiddlyWiki core.\n\n[[Fields within the tiddler|Modals]] being displayed in the modal can be used to customise its appearance.\n\n!! paramObject\n\nThe \"currentTiddler\" variable is set to the title of the modal tiddler, but can be overridden by specifying a different value in `paramObject`.\n\n! Example\n\nHere is an example of displaying a modal and passing parameters to it:\n(Note how all parameters to `action-sendmessage` other than `$param` and `$message` are available as variables within the modal.)\n\n<$macrocall $name='wikitext-example-without-html'\nsrc='Your name: <$edit-text tiddler=\"$:/temp/yourName\" tag=\"input\" default=\"Your name\"/>\n\nYour message:\n<$edit-text tiddler=\"$:/temp/yourMessage\" default=\"Your message\"/>\n\n<$button>\n<$action-sendmessage $message=\"tm-modal\" $param=\"SampleModal\" yourName={{$:/temp/yourName}} yourMessage={{$:/temp/yourMessage}}/>\nClick me!\n</$button>'/>\n\n\n<<.tip \"\"\"<$macrocall $name=\".from-version\" version=\"5.1.18\"/> if triggered from within a ''new window'', the above examples will be displayed within that window. The <$macrocall $name=\".attr\" _=\"rootwindow\"/> attribute can be set to ''yes'' or ''true'' to inherit this behavior and to display the Modal within the ''root'' window\"\"\">>\n\n<<.tip \"\"\"<$macrocall $name=\".from-version\" version=\"5.1.23\"/> Links to tiddlers within a modal will open in the same story as the widget that sent the `tm-modal` message. You can override this by specifying values for the variables `tv-story-list` and `tv-history-list` when sending the `tm-modal` message.\n\n\"\"\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-navigate.tid",
    "content": "created: 20140226085215941\nmodified: 20210705094948968\ntags: Messages\ntitle: WidgetMessage: tm-navigate\ntype: text/vnd.tiddlywiki\ncaption: tm-navigate\n\nThe `tm-navigate` message inserts the specified tiddler into the story and puts it at the top of the history stack. If the tiddler is not already present in the story then it will be positioned immediately after the tiddler specified in `event.navigateFromTitle`.\n\nThe navigate message requires the following properties on the `event` object:\n\n|!Name |!Description |\n|navigateTo |Title of the tiddler that is being navigated |\n|navigateFromTitle |Title of the tiddler from which the navigation was initiated |\n|navigateFromClientRect |Bounding rectangle in client page coordinates of the element initiating the navigation |\n|navigateFromClientTop |<<<<.from-version \"5.2.0\">> Y coordinate of top edge of bounding client rectangle |\n|navigateFromClientLeft |<<<<.from-version \"5.2.0\">> X coordinate of left edge of bounding client rectangle |\n|navigateFromClientWidth |<<<<.from-version \"5.2.0\">> Width of bounding client rectangle |\n|navigateFromClientRight |<<<<.from-version \"5.2.0\">> X coordinate of right edge of bounding client rectangle |\n|navigateFromClientBottom |<<<<.from-version \"5.2.0\">> Y coordinate of bottom edge of bounding client rectangle |\n|navigateFromClientHeight |<<<<.from-version \"5.2.0\">> Height of bounding client rectangle |\n|navigateSuppressNavigation |''true'' causes the new tiddler to only be added to the story, and not the history stack. This suppresses the scrolling associated with navigating to a tiddler |\n\nThe navigate message can be generated by the LinkWidget, the ActionNavigateWidget and the ButtonWidget, and is handled by the NavigatorWidget.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-new-tiddler.tid",
    "content": "caption: tm-new-tiddler\ncreated: 20140226194405353\nmodified: 20230723215831560\ntags: Messages navigator-message\ntitle: WidgetMessage: tm-new-tiddler\ntype: text/vnd.tiddlywiki\n\nThe new tiddler message creates a new draft tiddler and adds it to the current story. It requires the following properties on the `event` object:\n\n|!Name |!Description |\n|param |The optional title of a tiddler to use as a template for the new tiddler |\n|//{any other params}// |The names and values of additional tiddler fields. |\n|navigateFromTitle |Title of the tiddler from which the navigation to the new tiddler was initiated |\n\nThe title for the draft tiddler is chosen according to these rules:\n\n* If additional parameters  were used and a title field was specified, use that title\n* If a template tiddler was used, use the title of the template tiddler, making it unique with a numeric suffix\n* Otherwise, generate a new title based on the default new tiddler title with a numeric suffix to make it unique\n\nThe new tiddler message is usually generated with the ButtonWidget or ActionSendMessageWidget and is handled by the NavigatorWidget.\n\n! Examples\n\nTo make a button that creates new tiddlers tagged \"task\", create a tiddler called \"~TaskTemplate\" with that tag, and then make your button like this:\n\n```\n<$button message=\"tm-new-tiddler\" param=\"TaskTemplate\">New Task</$button>\n```\n\nTo create a new tiddler with explicit parameters rather than by cloning a template tiddler:\n\n```\n<$button>\n<$action-sendmessage $message=\"tm-new-tiddler\" title=\"This is newly created tiddler\" tags=\"OneTag [[Another Tag]]\" text=<<now \"Today is DDth, MMM YYYY\">>/>\nNew Tiddler\n</$button>\n```\n\n To create a new tiddler from a template with additional parameters:\n\n```\n <$button>\n <$action-sendmessage $message=\"tm-new-tiddler\" $param=<<currentTiddler>> fieldname=\"field value\"/>\n New Tiddler\n </$button>\n ```\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-notify.tid",
    "content": "caption: tm-notify\ncreated: 20140811112304772\nmodified: 20230723220728382\ntags: Messages\ntitle: WidgetMessage: tm-notify\ntype: text/vnd.tiddlywiki\n\nThe notify message briefly displays a specified tiddler as a small alert in the upper right corner of the page. It requires the following properties on the `event` object:\n\n|!Name |!Description |\n|param |Title of the tiddler to be displayed |\n|//{any other params}// |Any other parameters are made available as variables to the notify message. |\n\nThe notify message is handled by the TiddlyWiki core.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-open-external-window.tid",
    "content": "caption: tm-open-external-window\ncreated: 20170121182300000\nmodified: 20230723220850135\ntags: Messages\ntitle: WidgetMessage: tm-open-external-window\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.14\">>\n\nThe `tm-open-external-window` message opens an external link eg: \"https://tiddlywiki.com\" in a new //browser// window. If no parameters are specified, it opens the help tiddler. Any additional parameters passed via the <<.param \"paramObject\">> are being provided as variables to the new window.\n\n|!Name |!Description |\n|param |URL of the tiddler to be opened in a new browser window, defaults to the [[TiddlyWiki help|https://tiddlywiki.com/#WidgetMessage%3A%20tm-open-external-window if empty]] |\n|//{any other params}// |Any other parameters are made available as variables to the window. See below. |\n\n\n''parmObject''\n\n|!Name |!Description|!Important|\n|windowName|If a parameter is provided it can be used to open different links in the same window eg: `_tiddlywiki`. Default is empty, so every link opens a new window.|The behaviour is influenced by user settings in the browser and the browsers default behavior! |\n|windowFeatures|This parameter needs to be provided as a single string. eg: `\"height=400, width=600\"`. For detailed description about possible parameters see: [[Mozilla Help|https://developer.mozilla.org/en-US/docs/Web/API/Window/open#Window_features]] ||\n\nThe `tm-open-external-window` message is usually generated with the ButtonWidget or ActionSendMessageWidget and is handled by the core itself.\n\n''Examples''\n\n<$macrocall $name='wikitext-example-without-html'\nsrc='<$button>\n<$action-sendmessage $message=\"tm-open-external-window\" $param=\"https://tiddlywiki.com\" windowName=\"_tiddlywiki\" windowFeatures=\"height=500, width=900\"/>\nOpen ~TiddlyWiki - Action\n</$button>\n\n<$button>\n<$action-sendmessage $message=\"tm-open-external-window\" $param=\"https://developer.mozilla.org/en-US/docs/Web/API/Window/open\" windowName=\"_tiddlywiki\" windowFeatures=\"height=400, width=600\"/>\nOpen Mozilla Help - Action\n</$button>\n\n<$button message=\"tm-open-external-window\" param=\"https://tiddlywiki.com\" >\nOpen ~TiddlyWiki - Button\n</$button>'/>"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-open-window.tid",
    "content": "caption: tm-open-window\ncreated: 20160424181447704\nmodified: 20230831201518773\ntags: Messages\ntitle: WidgetMessage: tm-open-window\ntype: text/vnd.tiddlywiki\n\nThe `tm-open-window` [[message|Messages]] opens a tiddler in a new //browser// window. If no parameters are specified, the current tiddler is opened in a new window. Similiar to `tm-modal` any additional parameters passed via the <<.param \"paramObject\">> are provided as variables to the new window.\n\n|!Name |!Description |\n|param //{default param}//  |Title of the tiddler to be opened in a new browser window, defaults to <<.var \"currentTiddler\">> if empty |\n|template |Template in which the tiddler will be rendered |\n|windowTitle |Title string for the opened window |\n|width |Width of the new browser window |\n|height |Height of the new browser window |\n|left|<<.from-version \"5.2.2\">> Optional, left position of new browser window|\n|top|<<.from-version \"5.2.2\">> Optional, top position of new browser window|\n|windowID|<<.from-version \"5.2.2\">> Optional, unique string used to identify the widow. Can be used with [[WidgetMessage: tm-close-window]] to close the window. Defaults to the value of <<.param param>> |\n|//{any other params}// |Any other parameters are made available as variables within the new window |\n\nThe `tm-open-window` message is best generated with the ActionSendMessageWidget, which in turn is triggered by a widget such as the ButtonWidget. The message is handled by the core itself.\n\n<<.tip \"\"\"When used with the ActionSendMessageWidget, <<.param 'param'>> becomes <<.param '$param'>>.<br>\nParameters <<.param template>>, <<.param windowTitle>>, <<.param width>>, <<.param height>>, <<.param left>> and <<.param top>> require the ActionSendMessageWidget. \"\"\">>\n\n<<.tip \"\"\"<<.from-version 5.2.2>>\nTo close a window opened with tm-open-window use [[WidgetMessage: tm-close-window]]<br>\nTo open a tiddler in more than one new window, use a unique value for <<.param windowID>>\n\"\"\">>\n\n<<.tip \"\"\"<<.from-version 5.3.2>>\nIf the new window is hidden by other windows, clicking the \"open\" button again will bring it to the foreground and set focus to the new window. This behaviour should be consistent for all browsers now\n\"\"\">>\n\n<$macrocall $name='wikitext-example-without-html'\nsrc=\"\"\"\n<$button>Open Window\n<$action-sendmessage \n  $message=\"tm-open-window\" \n  $param=\"$:/temp/openme\" \n  template=\"SampleWindowTemplate\" \n  windowTitle=\"My Window Title\"\n  width=\"640\"\n  height=\"480\"\n  something=\"This is my new window. There are many like it, but this one is mine.\" />\n</$button>\n\"\"\" />\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-perform-import.tid",
    "content": "created: 20140716084242809\nmodified: 20140716084341303\ntags: Messages navigator-message\ntitle: WidgetMessage: tm-perform-import\ntype: text/vnd.tiddlywiki\ncaption: tm-perform-import\n\nThe perform import message copies tiddlers from a specified plugin into the main store. See the UpgradeMechanism for an overview of how it is used by the core.\n\n|!Name |!Description |\n|param |Title of the pending import tiddler. Defaults to ''$:/Import'' |\n\nTo select which tiddlers are to be imported, fields with names formed from `selection-` plus the title of the tiddler are used. The value ''unchecked'' causes the tiddler to be skipped from the import.\n\nThe perform import message is usually generated with the ButtonWidget and is handled by the NavigatorWidget.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-permalink.tid",
    "content": "created: 20140723103751357\nmodified: 20240523174013095\ntags: Messages\ntitle: WidgetMessage: tm-permalink\ntype: text/vnd.tiddlywiki\ncaption: tm-permalink\n\nThe `tm-permalink` message changes the browser address bar to form a [[permalink|PermaLinks]] to a specified tiddler, defaulting to the current tiddler. The resulting link will be copied to the clipboard.\n\nThe permalink message supports the following properties on the `event` object:\n\n|!Name |!Description |\n|param |Title of the tiddler to be permalinked |\n|tiddlerTitle |The current tiddler (used by default if the tiddler title isn't specified in the `param`) |\n|successNotification |<<.from-version \"5.3.4\">> Optional title of tiddler containing notification to be used if the operation succeeds |\n|failureNotification |<<.from-version \"5.3.4\">> Optional title of tiddler containing notification to be used if the operation fails |\n\nThe permalink message can be generated by the ButtonWidget, and is handled by the story mechanism.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-permaview.tid",
    "content": "created: 20140723103751357\nmodified: 20240523174013095\ntags: Messages\ntitle: WidgetMessage: tm-permaview\ntype: text/vnd.tiddlywiki\ncaption: tm-permaview\n\nThe `tm-permaview` message changes the browser address bar to form a [[permaview|PermaLinks]] that specifies all the open tiddlers in the main story river, and the tiddler to be navigated, defaulting to the current tiddler.\n\nThe permaview message supports the following properties on the `event` object:\n\n|!Name |!Description |\n|param |Title of the tiddler to be navigated within the permaview |\n|tiddlerTitle |The current tiddler (used by default if the tiddler title isn't specified in the `param`) |\n|successNotification |<<.from-version \"5.3.4\">> Optional title of tiddler containing notification to be used if the operation succeeds |\n|failureNotification |<<.from-version \"5.3.4\">> Optional title of tiddler containing notification to be used if the operation fails |\n\nThe permaview message can be generated by the ButtonWidget, and is handled by the story mechanism.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-print.tid",
    "content": "created: 20161008085627406\nmodified: 20161008085627406\ntags: Messages\ntitle: WidgetMessage: tm-print\ntype: text/vnd.tiddlywiki\ncaption: tm-print\n\n<<.from-version \"5.1.14\">> The `tm-print` message causes the browser to display the print dialog for the current page. It does not require any properties on the `event` object.\n\nThe print message is usually generated with the ButtonWidget and is handled by the core.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-relink-tiddler.tid",
    "content": "caption: tm-relink-tiddler\ncreated: 20220219093748993\nmodified: 20220219093748993\ntags: Messages navigator-message\ntitle: WidgetMessage: tm-relink-tiddler\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.2.2\">> The `tm-relink-tiddler` message relinks a tiddler by deleting it and recreating it with a new title. Unlike the [[WidgetMessage: tm-rename-tiddler]] message, this message does not rename the tiddler, it just relinks the references to it.\n\nThe relink tiddler message requires the following properties on the `event` object:\n\n|!Name |!Description |\n|from |Current title of tiddler  |\n|to |New title of tiddler  |\n|renameInTags |Optional value \"no\" to disable renaming in tags fields of other tiddlers (defaults to \"yes\") |\n|renameInLists |Optional value \"no\" to disable renaming in list fields of other tiddlers (defaults to \"yes\") |\n\nThe relink tiddler message is usually generated with the ButtonWidget and is handled by the core.\n\n! Examples\n\nTo relink Tiddler1 to Tiddler2 in tags and list fields of other tiddlers:\n\n```\n<$action-sendmessage $message=\"tm-relink-tiddler\" from=\"Tiddler1\" to=\"Tiddler2\" />\n```\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-remove-field.tid",
    "content": "created: 20140908185153663\nmodified: 20140908185153663\ntags: Messages\ntitle: WidgetMessage: tm-remove-field\ntype: text/vnd.tiddlywiki\ncaption: tm-remove-field\n\nThe `tm-remove-field` message is handled by the FieldManglerWidget. It removes the specified field.\n\n|!Name |!Description |\n|param |Name of field to remove |\n\nThe remove field message is usually generated with the ButtonWidget, and is handled by the FieldManglerWidget.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-remove-tag.tid",
    "content": "created: 20140908185153663\nmodified: 20140908185153663\ntags: Messages\ntitle: WidgetMessage: tm-remove-tag\ntype: text/vnd.tiddlywiki\ncaption: tm-remove-tag\n\nThe `tm-remove-tag` message is handled by the FieldManglerWidget. It removes the specified tag.\n\n|!Name |!Description |\n|param |Name of tag to remove |\n\nThe remove tag message is usually generated with the ButtonWidget, and is handled by the FieldManglerWidget.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-rename-tiddler.tid",
    "content": "caption: tm-rename-tiddler\ncreated: 20190909133618113\nmodified: 20220219093748993\ntags: Messages navigator-message\ntitle: WidgetMessage: tm-rename-tiddler\ntype: text/vnd.tiddlywiki\n\nThe `tm-rename-tiddler` message renames a tiddler by deleting it and recreating it with a new title. The rename tiddler message requires the following properties on the `event` object:\n\n|!Name |!Description |\n|from |Current title of tiddler  |\n|to |New title of tiddler  |\n|renameInTags |<<.from-version \"5.1.23\">> Optional value \"no\" to disable renaming in tags fields of other tiddlers (defaults to \"yes\") |\n|renameInLists |<<.from-version \"5.1.23\">> Optional value \"no\" to disable renaming in list fields of other tiddlers (defaults to \"yes\") |\n\nThe very similar [[WidgetMessage: tm-relink-tiddler]] message does not rename the tiddler, it just relinks the references to it.\n\nThe rename tiddler message is usually generated with the ButtonWidget and is handled by the core.\n\n! Examples\n\nTo rename a tiddler called Tiddler1 to Tiddler2 and also renaming Tiddler1 in tags and list fields of other tiddlers:\n\n```\n<$action-sendmessage $message=\"tm-rename-tiddler\" from=\"Tiddler1\" to=\"Tiddler2\" />\n```\n\nTo rename a tiddler called Tiddler1 to Tiddler2 and not rename Tiddler1 in tags and list fields of other tiddlers:\n\n```\n<$action-sendmessage $message=\"tm-rename-tiddler\" from=\"Tiddler1\" to=\"Tiddler2\" renameInTags=\"no\" renameInLists=\"no\"/>\n```\n\nTo rename a tiddler called Tiddler1 to Tiddler2 and respect the setting in the tiddler $:/config/RelinkOnRename for whether to rename Tiddler1 in tags and list fields of other tiddlers:\n\n```\n<$action-sendmessage $message=\"tm-rename-tiddler\" from=\"Tiddler1\" to=\"Tiddler2\" renameInTags={{$:/config/RelinkOnRename}} renameInLists={{$:/config/RelinkOnRename}}/>\n```\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-save-tiddler.tid",
    "content": "created: 20140226090544323\nmodified: 20140226090729828\ntags: Messages navigator-message\ntitle: WidgetMessage: tm-save-tiddler\ntype: text/vnd.tiddlywiki\ncaption: tm-save-tiddler\n\nThe `tm-save-tiddler` message is applied to draft tiddlers. It saves the draft over the tiddler identified in the `draft.of` field and then deletes the draft. The save tiddler message requires the following properties on the `event` object:\n\n|!Name |!Description |\n|param |Title of the tiddler that is being switched out of edit mode |\n|tiddlerTitle |Fallback title that is used if ''param'' isn't specified (automatically set by the ButtonWidget)  |\n\nThe save tiddler message is usually generated with the ButtonWidget and is handled by the NavigatorWidget.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-save-wiki.tid",
    "content": "caption: tm-save-wiki\ncreated: 20140811112325641\nmodified: 20230723220944427\ntags: Messages\ntitle: WidgetMessage: tm-save-wiki\ntype: text/vnd.tiddlywiki\n\nThe save wiki message causes the current saver module to perform a full save operation. The save operation can involve user interaction. It requires the following properties on the `event` object:\n\n|!Name |!Description |\n|param |Title of a tiddler to use as a template for rendering the wiki (defaults to `$:/core/save/all`) |\n|//{any other params}// |Any other parameters are made available as variables to use for the rendering. |\n\nThe save wiki message is usually generated by the ButtonWidget.\n\nThe save wiki message is handled by the TiddlyWiki core SyncMechanism which invokes the current [[SaverModule|SaverModules]].\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-scroll.tid",
    "content": "caption: tm-scroll\ncreated: 20160425000906330\nmodified: 20201014152456174\ntags: Messages\ntitle: WidgetMessage: tm-scroll\ntype: text/vnd.tiddlywiki\n\nThe `tm-scroll` message causes the surrounding scrollable container to scroll to the specified DOM node into view. The `tm-scroll` is handled in various places in the core itself, but can also be handled by a [[ScrollableWidget]].\n\n|!Name |!Description |\n|target |Target DOM node the scrollable container should scroll to (note that this parameter can only be set via JavaScript code) |\n|selector |<<.from-version \"5.1.23\">> Optional string [[CSS selector|https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors]] as an alternate means of identifying the target DOM node |\n|animationDuration |<<.from-version \"5.2.2\">> Optional number specifying the animation duration in milliseconds for the scrolling. Defaults to the [[global animation duration|$:/config/AnimationDuration]]. |\n\n<<.tip \"Set `animationDuration` to `0` to scroll without animation\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-server-refresh.tid",
    "content": "created: 20140811112435281\nmodified: 20140811113453568\ntags: Messages\ntitle: WidgetMessage: tm-server-refresh\ntype: text/vnd.tiddlywiki\ncaption: tm-server-refresh\n\nThe server refresh message attempts to synchronise the latest changes to the current serverside host.\n\nThe server refresh message is handled by the TiddlyWiki core SyncMechanism which invokes the current [[SyncAdaptorModule|SyncAdaptorModules]] (typically the ''tiddlywiki/tiddlywebadaptor'' plugin).\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-set-password.tid",
    "content": "created: 20140226084623977\nmodified: 20140226085200323\ntags: Messages\ntitle: WidgetMessage: tm-set-password\ntype: text/vnd.tiddlywiki\ncaption: tm-set-password\n\nThe `tm-set-password` message prompts the user for a new password and stores it in the password vault, replacing any existing password. It also sets the [[$:/isEncrypted]] tiddler. See EncryptionMechanism for details.\n\nThis message is typically generated with the ButtonWidget, and is handled by the core itself.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-unfold-all-tiddlers.tid",
    "content": "caption: tm-unfold-all-tiddlers\ncreated: 20160424233133261\nmodified: 20191028113810219\ntags: Messages\ntitle: WidgetMessage: tm-unfold-all-tiddlers\ntype: text/vnd.tiddlywiki\n\nThe `tm-unfold-all-tiddlers` message unfolds all tiddlers in the current story list. It does so by setting the text of all state tiddlers to: \"<<.value \"show\">>\".\n\n|!Name |!Description |\n|foldedStatePrefix |Prefix for the state tiddler in which the fold state is stored. |\n\n<<.tip \"The core uses a foldStatePrefix of `$:/state/folded/` to store the fold states for the default story view.\">>\n<<.warning \"The state tiddlers title is computed as `foldStatePrefix + TiddlerTitle`. If the foldStatePrefix is not set, it will overwrite the text of the tiddler(s) itself, resulting in data loss. \">>\n\nThe `tm-unfold-all-tiddlers` message is usually generated with the ButtonWidget and is handled by the surrounding NavigatorWidget.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-unload-plugin-library.tid",
    "content": "caption: tm-unload-plugin-library\ncreated: 20191004112527669\nmodified: 20191004113621714\ntags: Messages\ntitle: WidgetMessage: tm-unload-plugin-library\ntype: text/vnd.tiddlywiki\n\nThe `tm-unload-plugin-library` message unloads the specified plugin library and deletes associated temporary tiddlers.\n\n|!Name |!Description |\n|url |Url specifying the plugin library to be unloaded |\n\nUnloading a plugin library deletes the following tiddlers:\n\n* The tiddler titled `$:/temp/ServerConnection/` + `<url>`\n* All tiddlers with the prefix `$:/temp/RemoteAssetInfo/` + `<url>` + `/`\n\nThe `tm-unload-plugin-library` message is usually generated with the ButtonWidget and is handled by the core itself.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/messages/config-zotero-group.tid",
    "content": "title: $:/config/zotero-group\ntext: 4813312"
  },
  {
    "path": "editions/tw5.com/tiddlers/nodejs/Building TiddlyWikiClassic.tid",
    "content": "created: 20131129094452285\nmodified: 20140912141658212\ntags: [[TiddlyWiki on Node.js]]\ntitle: Building TiddlyWikiClassic\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki5 can be used to build older 2.x.x versions of TiddlyWikiClassic from their constituent components. Doing so involves these features:\n\n* The `tiddlywiki/classictools` plugin, containing a deserializer module which allows tiddlers to be loaded from TiddlyWiki 2.x.x `.recipe` files\n* The `stripcomments` format for the ViewWidget, which strips single line JavaScript comments starting `//#`\n* The `stripTitlePrefix='yes'` attribute of the FieldsWidget, which removes prefixes wrapped in curly braces from the `title` attribute\n** For example, `{tiddler}HelloThere` would be transformed to `HelloThere`\n\n! Usage\n\nTiddlyWikiClassic is built from the command line by running [[TiddlyWiki on Node.js]]. A typical usage would be:\n\n```\nnode ../../tiddlywiki.js \\\n\t--verbose \\\n\t--load <path_to_recipe_file> \\\n\t--rendertiddler $:/core/templates/tiddlywiki2.template.html <path_to_write_index_file> text/plain \\\n\t|| exit 1\n```\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/nodejs/Customising Tiddler File Naming.tid",
    "content": "created: 20160424181300000\nmodified: 20210803204659026\ntags: [[TiddlyWiki on Node.js]]\ntitle: Customising Tiddler File Naming\ntype: text/vnd.tiddlywiki\n\nBy default, a [[TiddlyWiki on Node.js]] instance using a [[wiki folder|TiddlyWikiFolders]] will create new tiddler files by using the sanitised and disambiguated title as filename. All filepath operations are relative to a `default-tiddler-location` which defaults to the wiki folder's `tiddlers/` directory. This can be overridden by mapping a path in the wiki's tiddlywiki.info file, by using a `default-tiddler-location` property in the `config` object.\n\nThe default file extension of `.tid` is used for tiddlers that are missing the `type` field, or for tiddlers of type \"text/vnd.tiddlywiki\". Tiddlers of other types are saved according to their MIME types (defined at boot startup).\n\nBoth the logical path (directory and file name) and the file extension can be customised independently by creating optional tiddlers [[$:/config/FileSystemPaths]] and [[$:/config/FileSystemExtensions]].\n\n! File System Paths\n\nThe logical path can be customised by creating a [[$:/config/FileSystemPaths]] tiddler containing one or more [[filter expressions|Filter Syntax]], each on a line of its own. Every time a tiddler is saved to disk it is tested against each filter in turn, and the first output of the first filter to produce any output is taken as a logical path to be used for the tiddler file. If the logical path has changed a new file is created and the old file is deleted.\n\nTiddlers are limited to being written to the [[wiki folder|TiddlyWikiFolders]], the path defined in the `default-tiddler-location` setting, or the specific path saved in the $:/config/OriginalTiddlerPaths tiddler (see [[tiddlywiki.files Files]]). Any error saving a tiddler to disk, with a logical path that does not start with the wiki folder's path the most common error, causes the filepath to be encoded via Javascript's `encodeURIComponent()` method and the tiddler is saved as this file in the wiki folder's `default-tiddler-location`.\n\nLogical paths do not include the file-on-disk's extension (see below), and they can use `/` or `\\` as directory separator (when generating the physical path, this is replaced by the correct separator for the platform ~TiddlyWiki is running on). If none of the filters match, the logical path is simply the title with all occurrences of the characters `/\\<>~:\"|?*^` replaced by `_` in order to guarantee that the resulting path is legal on all supported platforms. Logical paths are also  limited to 200 characters. If a file with this name already exists, a space and a number will be appended to the final filepath, and with the number incremented until an unused path is found.\n\n!! Example\n\n```\n[is[system]!has[draft.of]removeprefix[$:/]addprefix[_system/]]\n[is[draft]search-replace:g:regexp[/|\\\\],[_]addprefix[drafts/]]\n[tag[task]addprefix[mytasks/]]\n[!tag[externalnote]addprefix[wiki/]]\n```\n\n<<.note \"All paths are relative to the wiki's `default-tiddler-location`.\">>\n\nThis will store newly created system tiddlers that are not drafts of other tiddlers in `./_system/` (after stripping the `$:/` prefix). Next, all drafts have the path separator characters in their titles replaced by \"_\" and are stored in `./drafts/`. Then tiddlers tagged [[task]] are stored in a subdirectory `./mytasks/`. Finally, all tiddlers not tagged with \"externalnote\" will match the final `[!tag[externalnote]addprefix[wiki/]]` storing these in `./wiki/`. In this example, tiddlers tagged with \"externalnote\" have been imported using [[tiddlywiki.files Files]] with an \"isEditableFile\" flag set to true, causing the server to remember their original file path in the $:/config/OriginalTiddlerPaths tiddler.\n\nWhenever a tiddler generates a $:/config/FileSystemPaths filter match, any `/` or `\\` in the tiddler title is mapped to a path separator. With the above filters, the non-system, non-draft tiddler titled `some/thing/entirely/new` (with no tags) will be saved to `./wiki/some/thing/entirely/new.tid` (ie, the file `new.tid` in a directory called `entirely/`). Thus, $:/config/FileSystemPaths itself will end up in `./_system/config/FileSystemPaths.tid` or `.\\_system\\config\\FileSystemPaths.tid`, depending on the platform.\n\n! File System Extensions\n\nNormally, the file system extension of a tiddler on disk is determined by the presence of field values containing newlines or field values that start or end with whitespace (other than the text field), in which case the single file \".json\" tiddler file format is used.\n\nIf the tiddler does not have such field values, then the `type` field is referenced to find a matching file-type, with `.tid` used for tiddlers without a type value. The boot engine defines a set of these tiddler-type to file-type relationships in the [[$:/boot/boot.js]] tiddler. Search for `// Add file extension information` to find the section of code that defines these relationships.\n\nThe file extension of individual tiddlers can be customised by creating a tiddler [[$:/config/FileSystemExtensions]] containing one or more [[filter expressions|Filter Syntax]], each on a line of its own. Every time a tiddler is saved to disk it is tested against these filters, and the first output of the first filter to produce any output is taken as the file extension to be used for the tiddler file. Extensions should always start with a leading dot (see example).  If no filter matches, the default extension is used. If the extension has changed a new file is created and the old file is deleted.\n\n<<.note \"\"\"A result of \".tid\" will force the tiddler to be written to disk as a single-file text tiddler. A result of \".json\" will force the tiddler to be written to disk as a single file tiddler in json-format (a single tiddler fields object in an array), NOT as a tiddler of type \"application/json\". All other recognised file-types will be saved using their defined extension along with an accompanying *.meta file of the same name which describes all fields but the \"text\" field.\"\"\">>\n\n!! Example\n\n```\n[tag[.txt]then[.txt]]\n[tag[.json]then[.json]]\n[tag[.tid]then[.tid]]\n```\n\nThis will cause all tiddlers that have the tag \".txt\" to be saved at the filepath determined by the File System Paths filters, but with their text field saved as a *.txt file, and all other fields saved as a *.txt.meta file.\n\nNext, all tiddlers that have the \".json\" tag are saved as *.json files. Finally, all tiddlers that have tag \".tid\" are saved as single files. If a tiddler matches none of the filters, the default extension determined by the tiddlers `type` field would be used."
  },
  {
    "path": "editions/tw5.com/tiddlers/nodejs/Environment Variables on Node.js.tid",
    "content": "created: 20140617211749290\nmodified: 20220613114121229\ntags: [[TiddlyWiki on Node.js]]\ntitle: Environment Variables on Node.js\ntype: text/vnd.tiddlywiki\n\n[[TiddlyWiki on Node.js]] supports the following OS environment variables for specifying a delimited list of paths to search for plugins and editions:\n\n* `TIDDLYWIKI_PLUGIN_PATH` - Search path for ordinary plugins\n* `TIDDLYWIKI_THEME_PATH` - Search path for themes\n* `TIDDLYWIKI_LANGUAGE_PATH` - Search path for languages\n* `TIDDLYWIKI_EDITION_PATH` - Search path for editions (used by the InitCommand)\n\n\n<$macrocall $name=\".note\" _=\"\"\"''1.'' The delimiter may vary between operating systems. While on Windows a semicolon `;` is used, Linux implements a colon `:`.<br><br>''2.'' On Linux systems, it may be necessary to //''export''// the variable as well as to define it.\n\"\"\"/> \n\nThe additional paths should each point to folders structured like the equivalent directories in the ~TiddlyWiki5 GitHub repository: the plugin, theme and language directories contain `publisher/pluginname/<files>` while the edition directories contain `editionname/<files>`\n\nFor example:\n\n```\nexport TIDDLYWIKI_PLUGIN_PATH=~/MyPluginStore\ntiddlywiki mywiki --build index\n```\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/nodejs/Installing TiddlyWiki Prerelease on Node.js.tid",
    "content": "created: 20150926162849519\nmodified: 20191022095509822\ntags: [[TiddlyWiki on Node.js]]\ntitle: Installing TiddlyWiki Prerelease on Node.js\ntype: text/vnd.tiddlywiki\n\n# Clone a local copy of the TiddlyWiki5 GitHub repository from https://github.com/TiddlyWiki/TiddlyWiki5\n# Open a command line terminal and change the current working directory to the root of the TiddlyWiki5 repo\n# Type `npm link` (Windows) or `sudo npm link` (Mac/Linux) to tell [[npm]] to use this copy of the repo as the globally installed one\n# Inside the root, you can launch ~TiddlyWiki like this:  <br/>``tiddlywiki editions/tw5.com-server --listen``\n\nAfter this procedure you can work with TiddlyWiki5 via [[npm]] as though it had been installed in the usual way with `npm install -g tiddlywiki`.\n\nUpdate the clone from time to time in order to ensure that you have the latest code.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/nodejs/Installing TiddlyWiki on Node.js.tid",
    "content": "caption: Node.js\ncolor: #F06292\ncreated: 20131219100608529\ndelivery: DIY\ndescription: Flexible hosting on your own machine or in the cloud\nmethod: sync\nmodified: 20221115230831173\ntags: Saving [[TiddlyWiki on Node.js]] Windows Mac Linux\ntitle: Installing TiddlyWiki on Node.js\ntype: text/vnd.tiddlywiki\n\n# Install [[Node.js]]\n#* Linux: \n#*> //Debian/Ubuntu//:<br/>`apt install nodejs`<br/>May need to be followed up by:<br/>`apt install npm`\n#*> //Arch Linux//<br/>`yay -S tiddlywiki` <br/>(installs node and tiddlywiki)\n#* Mac\n#*> `brew install node`\n#* Android\n#*> [[Termux for Android|Serving TW5 from Android]]\n#* Other \n#*> See http://nodejs.org\n# Open a command line terminal and type:\n#> `npm install -g tiddlywiki`\n#> If it fails with an error you may need to re-run the command as an administrator:\n#> `sudo npm install -g tiddlywiki` (Mac/Linux)\n# Ensure ~TiddlyWiki is installed by typing:\n#> `tiddlywiki --version`\n#* In response, you should see TiddlyWiki report its current version (eg \"<<version>>\". You may also see other debugging information reported.)\n# Try it out:\n## `tiddlywiki mynewwiki --init server` to create a folder for a new wiki that includes server-related components\n## `tiddlywiki mynewwiki --listen` to start TiddlyWiki\n## Visit http://127.0.0.1:8080/ in your browser\n## Try editing and creating tiddlers\n# Optionally, make an offline copy:\n#* click the <<.icon $:/core/images/save-button-dynamic>> ''save changes'' button in the sidebar, ''OR''\n#* `tiddlywiki mynewwiki --build index`\n\nThe `-g` flag causes TiddlyWiki to be installed globally. Without it, TiddlyWiki will only be available in the directory where you installed it.\n\n<<.warning \"If you are using Debian or Debian-based Linux and you are receiving a `node: command not found` error though node.js package is installed, you may need to create a symbolic link between `nodejs` and `node`. Consult your distro's manual and `whereis` to correctly create a link. See github [[issue 1434|http://github.com/TiddlyWiki/TiddlyWiki5/issues/1434]]. <br><br>Example Debian v8.0: `sudo ln -s /usr/bin/nodejs /usr/bin/node`\">>\n<br>\n<<.tip \"You can also install prior versions like this: <br><code> npm install -g tiddlywiki@5.1.13</code>\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/nodejs/Installing custom plugins on Node.js.tid",
    "content": "created: 20191022095653896\nmodified: 20220617130125173\ntags: [[TiddlyWiki on Node.js]] PluginsCS\ntitle: Installing custom plugins on Node.js\ntype: text/vnd.tiddlywiki\n\n\\rules except wikilink\n\n! Introduction\n\nThere are several ways in which official plugins and custom plugins can be installed when using TiddlyWiki with a Node.js client-server configuration.\n\n<$macrocall $name=\".note\" _=\"\"\"For instructions on installing plugins from libraries to ''single-file'' wikis learn more at [[Plugins]].\n\"\"\"/> \n\n!! Plugin Load Order\n\n{{Plugin Ordering}}\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/nodejs/Installing official plugins on Node.js.tid",
    "content": "created: 20220611123344385\nmodified: 20220617132351460\ntags: [[TiddlyWiki on Node.js]] PluginsCS\ntitle: Installing official plugins on Node.js\ntype: text/vnd.tiddlywiki\n\nFollow these instructions when using TiddlyWiki with a client-server Node.js configuration:\n\n# Identify the plugins you want to install using the ''Plugins'' tab of <<controlPanel-plugin-link>> (''don't'' install the plugins from here, though)\n#* Plugins are identified by their type (ie language, theme or plugin) and their publisher and title. For example, the plugin `$:/plugins/tiddlywiki/internals` is referred to as ''tiddlywiki/internals''\n\n# Quit the server if it is running\n\n# Edit the `tiddlywiki.info` file (it is in JSON format) and locate the `plugins`, `themes` or `languages` section (see below)\n\n# Add entries corresponding to the plugins you wish to add\n#* Take care to retain ''commas ''to separate items\n#* Do ''not'' terminate the last item in a list with a comma\n\n# Restart the server\n\n```\n{\n\t\"plugins\": [\n\t\t\"tiddlywiki/codemirror\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\"\n\t],\n    \"languages\": [\n        \"es-ES\",\n        \"fr-FR\",\n        \"en-EN\"\n    ]\n}\n```\n\n<$macrocall $name=\".note\" _=\"An overview of working with plugins can be found at [[Plugins]].<br>Also see: [[Installing custom plugins on Node.js]].\"/>\n\n<<.tip \"You can find the sourcecode on GitHub at https://github.com/TiddlyWiki/TiddlyWiki5\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/nodejs/Naming of System Tiddlers.tid",
    "content": "created: 20140112190154121\nmodified: 20240202121048363\ntags: SystemTiddlers\ntitle: Naming of System Tiddlers\ntype: text/vnd.tiddlywiki\n\nThe system tiddlers provided as part of the core are named according to the following rules:\n\n|!Namespace |!Format |!Description |\n|`$:/*` |~CamelCase |Root user interface tiddlers (eg control panel, advanced search) |\n|`$:/config/*` |~CamelCase |User-oriented configuration setting |\n|`$:/core/images/*` |hyphen-case |Core images |\n|`$:/core/modules/*` |lowercase |JavaScript module tiddlers |\n|`$:/core/save/*` |lowercase |Saving templates for creating TiddlyWiki documents |\n|`$:/core/templates/*` |//inconsistent// |Templates needed for TiddlyWiki to operate. Currently uses a mix of dashes and periods to separate words |\n|`$:/core/ui/*` |//inconsistent// |Tiddlers comprising the default user interface of TiddlyWiki. Currently uses a mix of ~CamelCase and lowercase naming conventions |\n|`$:/core/wiki/*` |lowercase |Metadata about the entire wiki |\n|`$:/docs/*` |lowercase |Documentation tiddlers |\n|`$:/messages/*` |~CamelCase |System messages |\n|`$:/plugins/*` |lowercase |[[Plugin|Plugins]] tiddlers, and plugin content |\n|`$:/snippets/*` |//inconsistent// |Reusable snippets (will be replaced by macros) |\n|`$:/state/*` |lowercase |User interface state tiddlers (see StateMechanism) |\n|`$:/tags/*` |~CamelCase |User interface configuration tags |\n|`$:/temp/*` |lowercase |[[Temporary tiddlers|Temporary Tiddlers]] that shouldn't be saved |\n|`$:/themes/*` |lowercase |Theme plugins |\n\nIn the format column:\n\n* ''hyphen-case'' refers to joining multiple lowercase words with hyphens\n* ''~CamelCase'' refers to directly joining multiple lowercase words with initial uppercase letters\n* ''lowercase'' refers to directly joining multiple lowercase words\n* ''inconsistent'' marks namespaces that are currently titled inconsistently\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/nodejs/PluginsCS.tid",
    "content": "created: 20220612082924589\nlist: [[Installing custom plugins on Node.js]] [[Installing official plugins on Node.js]] [[Uninstalling a plugin with Node.js]]\nmodified: 20220617124533352\ntitle: PluginsCS\ntype: text/vnd.tiddlywiki\n\nThis tiddler is used as a tag in the [[Plugins]] tiddler to create a sorted list\n\n<<list-links-draggable>>"
  },
  {
    "path": "editions/tw5.com/tiddlers/nodejs/Scripts for TiddlyWiki on Node.js.tid",
    "content": "created: 20131219100637788\nmodified: 20141015165343893\ntags: [[TiddlyWiki on Node.js]]\ntitle: Scripts for TiddlyWiki on Node.js\ntype: text/vnd.tiddlywiki\n\n! Script Files\n\nThe TiddlyWiki5 repository contains several scripts in the `bin` folder that you can use to automate common tasks, or as a useful starting point for your own scripts. See [[Scripts for building tiddlywiki.com]] for details of the scripts used to build and release https://tiddlywiki.com/.\n\nAll the scripts expect to be run from the root folder of the repository.\n\n!! `serve`: serves tw5.com\n\n```\n./bin/serve.sh -h\n./bin/serve.sh [edition dir] [username] [password] [host] [port]\n```\n\nOr:\n\n```\n./bin/serve.cmd -h\n./bin/serve.cmd [edition dir] [username] [password] [host] [port]\n```\n\nThis script starts TiddlyWiki5 running as an HTTP server, defaulting to the content from the `tw5.com-server` edition. By default, the Node.js serves on port 8080. If the optional `username` parameter is provided, it is used for signing edits. If the `password` is provided then HTTP basic authentication is used. Run the script with the `-h` parameter to see online help.\n\nTo experiment with this configuration, run the script and then visit `http://127.0.0.1:8080` in a browser.\n\nChanges made in the browser propagate to the server over HTTP (use the browser developer console to see these requests). The server then syncs changes to the file system (and logs each change to the screen).\n\n!! `test`: build and run tests\n\nThis script runs the `test` edition of TiddlyWiki on the server to perform the server-side tests and to build `test.html` for running the tests in the browser.\n\n!! `lazy`: serves tw5.com with lazily loaded images\n\n```\n./bin/lazy.sh <username> [<password>]\n```\n\nOr:\n\n```\n./bin/lazy.cmd <username> [<password>]\n```\n\nThis script serves the `tw5.com-server` edition content with LazyLoading applied to images.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/nodejs/Serving TW5 from Android.tid",
    "content": "caption: Node.js on Termux\ncolor: #F06292\ncreated: 20200501120322327\ndelivery: App with DIY steps\ndescription: Using Node.js to serve/create flatfile wikis\nmethod: sync\nmodified: 20200507112915801\ntags: Saving [[TiddlyWiki on Node.js]] Android\ntitle: Serving TW5 from Android\ntype: text/vnd.tiddlywiki\n\n[[Termux|https://termux.com/]] is and open source android application providing limited Unix environment enabling users to install [[Node.js]] and npm modules in android. Users can install and run [[TiddlyWiki on Node.js]] using [[Termux|https://termux.com/]].\n\n!! Instructions \n\n* Download and install Termux from [[Google Play Store|https://play.google.com/store/apps/details?id=com.termux]] or [[Fdroid|https://f-droid.org/en/packages/com.termux/]]\n* Open termux and run the following commands one by one\n\n  ```bash\napt update\napt upgrade\napt install nodejs\nnpm install -g tiddlywiki\n```\n\n* If you need to create/serve ''~TiddlyWiki on Node.js'' from the internal storage, you need to give termux storage permission by running the following command in termux\n\n```\ntermux-setup-storage\n```\n\n* Now you can create and serve ''~TiddlyWiki on Node.js'' from internal storage. In the example given below, user is creating a new wiki called \"mynewwiki\" in his internal folder.\n\n```\ncd storage/shared\ntiddlywiki mynewwiki --init server\ntiddlywiki mynewwiki --listen\n```\n* Visit http://127.0.0.1:8080/ in your browser\n* From then on, as long as //Termux// is not closed, you may access your wiki anytime from your favourite Web browser pointing on the expected address and port.\n\n---\n\n* For more information regarding ~TiddlyWiki on Node.js, please see [[Installing TiddlyWiki on Node.js]]\n* For more information and tips regarding termux, please refer to [[Termux wiki|https://wiki.termux.com/wiki/Main_Page]]\n\n<<.tip \"In //Termux//, you may as well install //git//, //emacs// or //vi//, in order to edit and maintain individual tiddler files. This would probably require that you also attach a more powerful keyboard to your Android, like the [[Hacker's Keyboard|https://github.com/klausw/hackerskeyboard/]] application or a Bluetooth external device.\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/nodejs/TiddlyWiki on Node.js.tid",
    "content": "created: 20131129094353704\nmodified: 20220617114433107\ntags: Platforms\ntitle: TiddlyWiki on Node.js\ntype: text/vnd.tiddlywiki\n\n\\rules except wikilink\n\nRunning TiddlyWiki on [[Node.js]] brings several important benefits over and above the single file version:\n\n* Individual tiddlers are stored in separate files, which you can organise as you wish\n\n* The ability to build multiple wikis that blend different combinations of shared and unique content\n\n* You can edit your content on any modern browser, including smartphones and tablets\n\n\n<<.warning \"\"\"Note that TiddlyWiki on Node.js doesn't currently support directly modifying the tiddler files via the file system while it is running. The server must be restarted in order to for changes to take effect. The recommended way to interact with a running wiki is via the HTTP or JavaScript APIs.\"\"\">>\n\nFor more information see:\n\n<<list-links \"[tag[TiddlyWiki on Node.js]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/nodejs/TiddlyWiki5 Versioning.tid",
    "content": "created: 20131202081424080\nmodified: 20140912142600317\ntags: [[Releases]]\ntitle: TiddlyWiki5 Versioning\ntype: text/vnd.tiddlywiki\n\nEach release of TiddlyWiki5 is identified by a version number that complies with a variant of [[Semantic Versioning 2.0.0|http://semver.org/]] standard.\n\n! TiddlyWiki Core Version\n\nAccording to the standard:\n\n```\nGiven a version number MAJOR.MINOR.PATCH, increment the:\n\nMAJOR version when you make incompatible API changes,\nMINOR version when you add functionality in a backwards-compatible manner, and\nPATCH version when you make backwards-compatible bug fixes.\nAdditional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.\n```\n\n!! Alpha and Beta versions\n\nWhile in alpha TiddlyWiki5 uses the pre-release label \"alpha\", for example:\n\n```\n5.0.1-alpha\n```\n\nEach new alpha or beta release will bump the `PATCH` version number. This breaks the strict semantics of versioning because `PATCH` increments are supposed to be reserved for compatible changes.\n\n//Note that prior to ''5.0.1-alpha'', TiddlyWiki5 used version numbers formatted as ''5.0.0-alpha.19''. The change was made to enable the upgrade mechanism to recognise plugin updates from the version information.//\n\n!! Interim versions\n\nDuring development when a new release is being prepared, the pre-release label is set to `prerelease`.\n\n! Plugin Versions\n\nVersion numbers\n\nTiddlyWiki5 uses the version information attached to plugins for determining which of two plugins is more recent during an upgrade or import. The pre-release label is ignored when performing these comparisons.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/nodejs/Uninstalling a plugin with Node.js.tid",
    "content": "created: 20220611125113040\nmodified: 20220617133704286\ntags: [[TiddlyWiki on Node.js]] PluginsCS\ntitle: Uninstalling a plugin with Node.js\ntype: text/vnd.tiddlywiki\n\nFollow these instructions when using TiddlyWiki with client-server Node.js configuration:\n\n# Quit the server if it is running\n\n# Edit the `tiddlywiki.info` file (it is in JSON format) and locate the `plugins` and `themes` section (see below)\n\n# Remove the entries corresponding to the plugins you wish to remove\n#* Take care to retain ''commas'' to separate items\n#* Do ''not'' terminate the last item in a list with a comma\n\n# Restart the server\n\n```\n{\n\t\"plugins\": [\n\t\t\"tiddlywiki/codemirror\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\"\n\t]\n}\n```\n\n<$macrocall $name=\".note\" _=\"An overview of working with plugins can be found at [[Plugins]]\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/nodejs/Upgrading TiddlyWiki on Node.js.tid",
    "content": "created: 20131219100544073\nmodified: 20140912141800426\ntags: [[TiddlyWiki on Node.js]]\ntitle: Upgrading TiddlyWiki on Node.js\ntype: text/vnd.tiddlywiki\n\nIf you've installed [[TiddlyWiki on Node.js]] on the usual way, when a new version is released you can upgrade it with this command:\n\n```\nnpm update -g tiddlywiki\n```\n\nOn Mac or Linux you'll need to add ''sudo'' like this:\n\n```\nsudo npm update -g tiddlywiki\n```\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/nodejs/Using TiddlyWiki on Node.js.tid",
    "content": "created: 20131219100520659\nmodified: 20241025051303991\ntags: [[TiddlyWiki on Node.js]]\ntitle: Using TiddlyWiki on Node.js\ntype: text/vnd.tiddlywiki\n\n~TiddlyWiki5 includes a set of commands for use on the command line to perform an extensive set of operations based on TiddlyWikiFolders, TiddlerFiles.\n\nFor example, the following command loads the tiddlers from a ~TiddlyWiki HTML file and then saves one of them in static HTML:\n\n```\ntiddlywiki --verbose --load mywiki.html --render ReadMe ./readme.html\n```\n\nRunning `tiddlywiki` from the command line boots the ~TiddlyWiki kernel, loads the core plugins and establishes an empty wiki store. It then sequentially processes the command line arguments from left to right. The arguments are separated with spaces.\n\n<<.from-version \"5.1.20\">> First, there can be zero or more plugin references identified by the prefix `+` for plugin names or `++` for a path to a plugin folder. These plugins are loaded in addition to any specified in the  [[TiddlyWikiFolder|TiddlyWikiFolders]].\n\nThe next argument is the optional path to the [[TiddlyWikiFolder|TiddlyWikiFolders]] to be loaded. If not present, then the current directory is used.\n\nThe commands and their individual arguments follow, each command being identified by the prefix `--`.\n\n```\ntiddlywiki [+<pluginname> | ++<pluginpath>] [<wikipath>] [--<command> [<arg>[,<arg>]]]\n```\n\nFor example:\n\n```\ntiddlywiki --version\ntiddlywiki +plugins/tiddlywiki/filesystem +plugins/tiddlywiki/tiddlyweb mywiki --listen\ntiddlywiki ++./mygreatplugin mywiki --listen\n```\n\n<<.from-version \"5.1.18\">> Commands such as the ListenCommand that support large numbers of parameters can use NamedCommandParameters to make things less unwieldy. For example:\n\n```\ntiddlywiki wikipath --listen username=jeremy port=8090\n```\n\nSee [[Commands]] for a full listing of the available commands.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/nodejs/Working with the TiddlyWiki5 repository.tid",
    "content": "created: 20131219100444289\nmodified: 20140920134404247\ntags: [[TiddlyWiki on Node.js]]\ntitle: Working with the TiddlyWiki5 repository\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nIf you want to [[contribute|Contributing]] to TiddlyWiki's development, rather than [[installing TiddlyWiki in the usual way|Installing TiddlyWiki on Node.js]], you can work directly with the GitHub repository. \n\nMario Pietsch has created a [[short video introduction|Working with the TiddlyWiki5 repository video]].\n\n! Setting Up\n\n# Create an account on GitHub if you don't already have one\n# Fork the TiddlyWiki5 GitHub repository from https://github.com/TiddlyWiki/TiddlyWiki5\n# Clone a local copy of your fork\n# Open a command line terminal and change the current working directory to the root of the repo\n# Type `npm link` (Windows) or `sudo npm link` (Mac/Linux) to tell [[npm]] to use this copy of the repo as the globally installed one\n\nAfter this procedure you can work with TiddlyWiki5 via [[npm]] as though it were installed in the usual way with `npm install -g tiddlywiki`.\n\nSee also [[Scripts for TiddlyWiki on Node.js]].\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/nodejs/tiddlywiki.files_Files.tid",
    "content": "created: 20161015114118243\nmodified: 20211114101256212\ntags: TiddlyWikiFolders [[TiddlyWiki on Node.js]]\ntitle: tiddlywiki.files Files\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nA `tiddlywiki.files` JSON file in a sub-folder within [[a TiddlyWiki folder|TiddlyWikiFolders]] overrides the usual logic for recursively scanning the folder for tiddler files. Instead, the `tiddlywiki.files` file specifies instructions for loading tiddlers from specific files and folders.\n\nThe format of the file is an object with two optional properties:\n\n* ''tiddlers'' - an array of objects describing external files with the ability to override or modify any of the fields read from the file\n* ''directories'' - an array of objects describing external directories, a filter determining which files within those directories should be processed, and the ability to override or modify any of the fields read from the file\n\nNote that significant enhancements to `tiddlywiki.files` processing were introduced in [[Release 5.1.14]].\n\n!! Field overrides\n\nBoth the ''tiddlers'' and ''directories'' sections of `tiddlywiki.files` files include the ability to override or customise the values of fields with a `fields` object.\n\nEach field can be specified as either a ''string'' or ''array'' value to be assigned directly to the field, or <<.from-version \"5.1.14\">> an ''object'' describing how to generate the value for the field. The object contains the following properties:\n\n* ''source'' - (optional) a string specifying the source value for the field. If not specified, the existing value is used\n** //filename// the filename of the file containing the tiddler\n** //filename-uri-decoded// the filename of the file containing the tiddler, with [[URI decoding|https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent]] applied\n** //basename// the filename of the file containing the tiddler without any extension\n** //basename-uri-decoded// the filename of the file containing the tiddler without any extension, with [[URI decoding|https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent]] applied\n** //extname// the extension of the filename of the file containing the tiddler\n** //created// the creation date/time of the file containing the tiddler\n** //modified// the modification date/time of the file containing the tiddler\n** <<.from-version \"5.3.0\">> //filepath// the path of the file containing the tiddler, relative to the ''path'' property of the directory (only usable in ''directories'' declarations)\n** <<.from-version \"5.3.0\">> //subdirectories// an array of the subdirectories in the file's path relative, to the ''path'' property of the directory (only usable in ''directories'' declarations)\n* ''prefix'' - (optional) a string to be prepended to the value of the field\n* ''suffix'' - (optional) a string to be appended to the value of the field\n\n! Tiddlers section\n\nThe file specifications in the `tiddlers` array support the following properties:\n\n* ''file'': (required) the absolute or relative path to the file containing the tiddler data (relative paths are interpreted relative to the path of the `tiddlywiki.files` file)\n* ''isTiddlerFile'': (optional) if `true`, the file will be treated as a [[tiddler file|TiddlerFiles]] and deserialised to extract the tiddlers. Otherwise, the raw content of the file is assigned to the `text` field without any parsing\n* ''fields'': (optional) an object containing values that override or customise the fields provided in the tiddler file (see above)\n* ''prefix'' & ''suffix'': (optional) strings to be prefixed and suffixed to the tiddler `text` field\n*> Note that providing a ''prefix'' here is equivalent to setting the `text` field of the ''fields'' object to `{\"prefix\":\"<prefixvalue>\"}`.\n\n! Directories section\n\nDirectory specifications in the `directories` array may take the following forms:\n\n* a ''string'' literal, specifying the absolute or relative path to the directory containing the tiddler files (relative paths are interpreted relative to the path of the `tiddlywiki.files` file). The directory is recursively searched for tiddler files\n* <<.from-version \"5.1.14\">> an ''object'' with the following properties:\n** ''path'' - (required) the absolute or relative path to the directory containing the tiddler files (relative paths are interpreted relative to the path of the `tiddlywiki.files` file). Note that by default the directory is not recursively searched; sub-directories are ignored unless the //searchSubdirectories// flag is set to `true` (see below).\n** ''filesRegExp'' - (optional) a [[regular expression|https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions]] that matches the filenames of the files that should be processed within the directory\n** ''isTiddlerFile'' - (required) if `true`, the file will be treated as a [[tiddler file|TiddlerFiles]] and deserialised to extract the tiddlers. Otherwise, the raw content of the file is assigned to the `text` field without any parsing\n** ''isEditableFile'' - <<.from-version \"5.1.23\">> (optional) if `true`, changes to the tiddler be saved back to the original file. The tiddler will be saved back to the original filepath as long as it does not generate a result from the $:/config/FileSystemPath filters, which will override the final filepath generated if a result is returned from a filter.\n** ''searchSubdirectories'' - <<.from-version \"5.1.23\">> (optional) if `true`, all subdirectories of the //path// are searched recursively for files that match the (optional) //filesRegExp//. If no //filesRegExp// is provided, all files in all subdirectories of the //path// are loaded. Tiddler titles generated via the //source// attribute //filename// (see above) will only include the filename, not any of the subdirectories of the path. If this results in multiple files with loaded with the same tiddler title, then only the last file loaded under that tiddler title will be in memory. In order to prevent this, you can use the //filepath// attribute instead of //filename//. Alternately, you can include multiple directory objects and customise the title field with a //prefix// or //suffix// alongside the //source// attribute.\n** ''fields'' - (required) an object containing values that override or customise the fields provided in the tiddler file (see above)\n\nFields can also be overridden for particular files by creating a file with the same name plus the suffix `.meta` -- see TiddlerFiles.\n\n! Examples\n\nThese example `tiddlywiki.files` must be placed in their own sub-directory of the [[wiki folder|TiddlyWikiFolders]].\n\nThere are also several examples of `tiddlywiki.files` files in the main [[TiddlyWiki 5 GitHub repository|https://github.com/TiddlyWiki/TiddlyWiki5]]. \n\n!! Importing a folder of PDFs\n\nThis example retrieves all the files with the extension `.pdf` from a folder specified by a relative path. This path starts with \"../../../\" indicating 3 directory levels above the folder holding this config file. Each tiddler is set up for LazyLoading with the following fields:\n\n* ''title'' - set to the URI decoded base filename of the PDF file. [[URI decoding|https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent]] allows characters like \"/\" to be included in titles by URI encoding them as \"%2F\"\n* ''created'' - set to the creation date/time of the PDF file\n* ''modified'' - set to the modification date/time of the PDF file\n* ''type'' - set to `application/pdf`\n* ''tags'' - set to `$:/tags/AttachedFile`\n* ''text'' - set to an empty string\n* ''_canonical_uri'' - set to the string \"pdfs/\" concatenated with the filename\n\n```\n{\n    \"directories\": [\n        {\n            \"path\": \"../../../input/pdfs\",\n            \"filesRegExp\": \"^.*\\\\.pdf$\",\n            \"isTiddlerFile\": false,\n            \"fields\": {\n                \"title\": {\"source\": \"basename-uri-decoded\"},\n                \"created\": {\"source\": \"created\"},\n                \"modified\": {\"source\": \"modified\"},\n                \"type\": \"application/pdf\",\n                \"tags\": [\"$:/tags/AttachedFile\"],\n                \"text\": \"\",\n                \"_canonical_uri\": {\"source\": \"filename\", \"prefix\": \"pdfs/\"}\n            }\n        }\n    ]\n}\n```\n\n!! Importing a folder of text files\n\nThis example retrieves all the files with the extension `.txt` from a folder specified by a relative path. This folder is within the wiki's base directory, and the current config file is in a directory within the wiki's \"tiddlers/\" directory. So, in this case the path starts with \"../../\" to traverse upwards two directory levels, and then down into the \"externalnotes/\" directory. Each tiddler is set up with the following fields:\n\n* ''title'' - set to the URI decoded base filename of the text file. [[URI decoding|https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent]] allows characters like \"/\" to be included in titles by URI encoding them as \"%2F\"\n* ''created'' - set to the creation date/time of the text file\n* ''modified'' - set to the modification date/time of the text file\n* ''type'' - set to `text/plain`\n* ''tags'' - set to `[[note]] [[externalnote]] [[.txt]]` (using array notation)\n* ''text'' - not set, thus the content of the file is loaded as the text field\n\n```\n{\n    \"directories\": [\n        {\n            \"path\": \"../../externalnotes\",\n            \"filesRegExp\": \".+\\\\.txt\",\n            \"isTiddlerFile\": false,\n            \"isEditableFile\": true,\n            \"fields\": {\n                \"title\": {\"source\": \"basename-uri-decoded\"},\n                \"created\": {\"source\": \"created\"},\n                \"modified\": {\"source\": \"modified\"},\n                \"type\": \"text/plain\",\n                \"tags\": [\"note\", \"externalnote\", \".txt\"]\n            }\n        }\n  ]\n}\n```\n\nThis will load all text files in the `../../externalnotes/` directory into the wiki as individual tiddlers. These can be a collection of snippets in various markup-languages. Then, the `type` field of each of these tiddlers can be changed to match their languages For example, \"text/vnd.tiddlywiki\" for wikitext, or \"text/markdown\" for markdown files. Then, using $:/config/FileSystemPaths and $:/config/FileSystemExtentions tiddlers with the following lines we can cause any changes to these tiddlers to be saved back to the directory they started from, and also as \"*.txt\" files with accompanying \"*.txt.meta\" files. These meta files will be generated as required, and will then over-ride any fields generated from the config `tiddlywiki.files` file (such as the tiddler's `type` field) when the server is restarted.\n\nFrom the examples in [[Customising Tiddler File Naming]] we see that the final `[!tag[externalnote]addprefix[wiki/]]` filter in the $:/config/FileSystemPaths tiddler excludes all tiddlers tagged with `externalnotes` (that have not matched an earlier filter). These tiddlers have their filepath retrieved from the $:/config/OriginalTiddlerPaths generated upon boot startup.\n\nThen, the `[tag[.txt]then[.txt]]` filter in the $:/config/FileSystemExtensions tiddler forces all these tiddlers to be saved back to disk as *.txt and accompanying *.txt.meta files (overriding the normal tiddler-type to file-type mapping). In this case, allowing the snippets of Tiddlywiki wikitext or markdown-text to be saved back to \"text\" *.txt files.\n\n!! Importing and auto-tagging images\n\nThis example imports all the image files in the `files` directory and all its subdirectories as external-image tiddlers, and tags them based on their filepath. Each tiddler is set up with the following fields:\n\n* ''title'' - set to the URI decoded base filename of the text file\n* ''created'' - set to the creation date/time of the text file\n* ''modified'' - set to the modification date/time of the text file\n* ''type'' - set to `image/jpeg`. There is currently no way to infer the correct ContentType of the image tiddler from the file, but `image/jpeg` tiddlers should render correctly even with png or gif images. As an alternative, you could create separate definitions for jpg, png, and gif files with the `image/jpeg`, `image/png`, and `image/gif` types respectively.\n* ''tags'' - generated based on the path of the image relative to the parent directory (`files` in this case). Eg, images in `files/photos` will be tagged with `photos`, those in `files/photos/family` will be tagged with both `photos` and `family`, and those in the root `files` directory will have no tags.\n* ''text'' - set to an empty string\n* ''_canonical_uri'' - set to the full filepath of the image relative to the wiki root\n\n\n```\n{\n    \"directories\": [\n        {\n            \"path\": \"../../files/\",\n            \"filesRegExp\": \"^.*\\\\.(?:jpg|jpeg|png|gif)$\",\n            \"isTiddlerFile\": false,\n\t        \"searchSubdirectories\": true,\n            \"fields\": {\n                \"title\": {\"source\": \"basename-uri-decoded\"},\n                \"created\": {\"source\": \"created\"},\n                \"modified\": {\"source\": \"modified\"},\n                \"type\": \"image/jpeg\",\n                \"tags\": { \"source\": \"subdirectories\" },\n                \"text\": \"\",\n                \"_canonical_uri\": { \"source\": \"filepath\", \"prefix\": \"files/\" }\n            }\n        }\n    ]\n}\n```\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/nodejs/tiddlywiki.info_Files.tid",
    "content": "created: 20161015114042793\nmodified: 20241030132156792\ntags: TiddlyWikiFolders [[TiddlyWiki on Node.js]]\ntitle: tiddlywiki.info Files\ntype: text/vnd.tiddlywiki\n\n[[TiddlyWikiFolders]] are configured with a single `tiddlywiki.info` file in the root of the wiki folder. It should contain a JSON object comprising the following properties:\n\n* ''plugins'' - an array of plugin names to be included in the wiki\n* ''themes'' - an array of theme names to be included in the wiki\n* ''languages'' - an array of language names to be included in the wiki\n* ''includeWikis'' - an array of references to external wiki folders to be included in the wiki\n* ''build'' - a hashmap of named build targets, each defined by an array of command tokens (see BuildCommand)\n* ''config'' - an optional hashmap of configuration options (see below)\n\n!!! ''includeWikis''\n\nThe entries in the ''includeWikis'' array can be either a string specifying the relative path to the wiki, or an object with the following fields:\n\n* ''path'' - relative path to wiki folder\n* ''read-only'' - set //true// to prevent the tiddlers in the included wiki from being modified. The modifications will be written to the directory specified in ''default-tiddler-location'', described below\n\n!!! ''build''\n\nNote that the build targets of included wikis are merged if a target of that name isn't defined in the current `tiddlywiki.info` file.\n\n!!! ''config''\n\nConfiguration options include:\n\n* ''default-tiddler-location'' - a string path to the default location for the filesystem adaptor to save new tiddlers (resolved relative to the wiki folder)\n\n* ''retain-original-tiddler-path'' - If true, the server will generate a tiddler [[$:/config/OriginalTiddlerPaths]] containing the original file paths of each tiddler in the wiki\n\n!!! Example\n\nFor example:\n\n```\n{\n\t\"plugins\": [\n\t\t\"tiddlywiki/tiddlyweb\",\n\t\t\"tiddlywiki/filesystem\"\n\t],\n\t\"includeWikis\": [\n\t\t{\"path\": \"../tw5.com\", \"read-only\": true}\n\t],\n\t\"build\": {\n\t\t\"index\": [\n\t\t\t\"--render\",\"$:/core/save/all\",\"index.html\",\"text/plain\"],\n\t\t\"favicon\": [\n\t\t\t\"--save\", \"$:/favicon.ico\", \"favicon.ico\",\n\t\t\t\"--save\", \"$:/green_favicon.ico\", \"static/favicon.ico\"]\n\t},\n\t\"config\": {\n\t\t\"retain-original-tiddler-path\": true\t\n\t}\n}\n```\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/platforms/Platforms.tid",
    "content": "created: 20150412185300152\nmodified: 20150412185427211\ntags: TableOfContents\ntitle: Platforms\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki can be used on several platforms:\n\n<<list-links \"[tag[Platforms]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/platforms/TiddlyFox Apocalypse.tid",
    "content": "created: 20171109170823847\nmodified: 20211124214943222\ntags: TiddlyFox\ntitle: TiddlyFox Apocalypse\ntype: text/vnd.tiddlywiki\n\n! Summary\n\nOn 14th November 2017 Mozilla [[released Firefox 57|https://blog.mozilla.org/blog/2017/09/26/firefox-quantum-beta-developer-edition/]], a major new version with many improvements and security enhancements. However, in amongst those improvements are ''some fundamental changes to Firefox's security model with the unfortunate effect of making it impossible for ~TiddlyFox to function''.\n\nTiddlyFox will remain available for people who [[continue to use older versions of Firefox|https://groups.google.com/d/topic/tiddlywiki/OJQ0yRq4zog/discussion]], but anyone upgrading to the new version will need to choose a new way to handle saving changes with TiddlyWiki.\n\nHappily, several new ways of working with TiddlyWiki now exist so that users have many alternative choices -- see GettingStarted for details. The demise of TiddlyFox has provoked several of these recent developments and thus may well ultimately be good for the community.\n\nThere is a [[discussion thread|https://groups.google.com/d/topic/tiddlywiki/LcldXzPlTK0/discussion]] on the TiddlyWiki forums about these developments.\n\n! Background\n\nFirefox was first released in November 2004, a few months after the first version of TiddlyWiki. It was in many ways the Millenium Falcon to Microsoft's Death Star (in the shape of Internet Explorer). IE had by then enjoyed more than 5 years as the dominant browser, leading many in the web community to be frustrated that Microsoft's self-serving extensions to HTML had become de facto standards at the expense of innovation that might benefit the web community as a whole.\n\nFirefox quickly became successful because it managed to render web pages with close enough compatibly with Internet Explorer while offering a superior user experience. A large part of the promise of that user experience was the ability for any user to customise every aspect of the browser. Two innovations were behind this:\n\n* The entire user interface of the browser was constructed in [[XUL|https://en.wikipedia.org/wiki/XUL]], effectively an extension of HTML that enabled it to render conventional user interfaces (at the time, HTML was largely restricted to simple document-oriented layouts). Tweaking a few lines of XUL code could make wholesale changes to the user interface of the browser\n* The Mozilla add-on architecture gave full privileges to add-ons, enabling them to observe and interact deeply with the browser engine itself, and the file system of the computer on which it was running\n\nThese two conditions enabled a vibrant ecosystem of Firefox add-ons, many of them extremely popular. In many cases, innovations that were first seen in browser add-ons later became integrated into the browser itself, most notably the web debugger [[Firebug|https://en.wikipedia.org/wiki/Firebug_(software)]] which was eventually cloned by all the browser manufacturers.\n\nFirefox continued to be extremely popular until Google joined the development of the rival ~WebKit browser to make Chrome. Google took a very different approach to the trade offs of making a browser, focusing on improving security at the expense of almost all other considerations. They pioneered approaches such as isolating each tab in its own process that were quickly adopted by all other major browsers.\n\nGoogle's approach precluded them adopting Mozilla's free-for-all approach to add-ons. Instead of having access to the entire browser environment and filing system, add-ons in Chrome see only a restricted subset of what is going on within the browser, and enjoy little or no access to the resources of the host machine.\n\nIt was inevitable that Mozilla would eventually adopt Google's approach to [[browser security vis-a-vis add-ons|https://support.mozilla.org/en-US/kb/firefox-add-technology-modernizing]]. There is a point at which it wouldn't be responsible for Mozilla to be releasing a browser that had knowingly worse security than the market leader.\n\n! Lessons\n\nSome of the fecundity of the TiddlyWiki ecosystem stems from the adoption of the above two principles from Firefox:\n\n* Making the application user interface out of the same primitives as the application content\n* Giving add-ons free rein to observe and interact with all of the internal logic of the application\n\nThose two characteristics present similar security challenges to TiddlyWiki as they did to Firefox. A TiddlyWiki that was primarily focused on security would need to curtail those abilities.\n\n! The Future\n\nInnovation on new browser-based user interfaces and capabilities has now shifted from browser extensions to a new generation of frameworks that simplify creation of a custom browser based on an off-the-shelf open source HTML rendering engine. TiddlyDesktop uses [[nwjs|https://nwjs.io]], while [[Beaker Browser]] uses an alternative called [[Electron|https://electron.atom.io/]].\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/platforms/TiddlyWiki in the Sky for TiddlyWeb.tid",
    "content": "created: 20131129100250644\nmodified: 20211124214855770\ntags: $:/deprecated\ntitle: TiddlyWiki in the Sky for TiddlyWeb\ntype: text/vnd.tiddlywiki\ncaption: {{!!title}} - ^^deprecated^^\n\nThe term \"TiddlyWiki in the Sky for TiddlyWeb\" was used to refer to the ability for content to be synchronised between TiddlyWiki running in the browser and a TiddlyWeb server. This configuration should still work but is no longer commonly used.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/plugins/Amazon Web Services Plugin.tid",
    "content": "created: 20170703193252423\nmodified: 20170703193353918\ntags: OfficialPlugins\ntitle: Amazon Web Services Plugin\ntype: text/vnd.tiddlywiki\n\nThe Amazon Web Services Plugin provides several tools for working with Amazon Web Services:\n\n* Templates for saving a TiddlyWiki as a single JavaScript file in a ZIP file that can be executed as an AWS Lambda function. In this form, TiddlyWiki is a self contained single file containing both code and data, just like the standalone HTML file configuration\n* Commands that can be used to interact with AWS services, under both the Node.js and Lambda configurations of TiddlyWiki\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/plugins/BrowserStorage Plugin.tid",
    "content": "created: 20190206181204119\nmodified: 20190206181204119\ntags: OfficialPlugins\ntitle: BrowserStorage Plugin\ntype: text/vnd.tiddlywiki\n\nThe ~BrowserStorage Plugin enables TiddlyWiki to save tiddlers in [[browser local storage|https://en.wikipedia.org/wiki/Web_storage#localStorage]]. This means that changes are stored within the browser, and automatically re-applied any time the base wiki is reloaded.\n\nBrowser local storage is not a panacea for TiddlyWiki:\n\n* Browsers limit the amount of local storage available to a page, typically to 5 or 10MB\n* Keeping personal data in browser local storage can lead to unexpected privacy violations\n* Browsers reserve the right to without warning delete data stored in local storage at any time\n* Browsers tie local storage to a URL which can lead to problems if you move a wiki to a URL previously occupied by a different wiki\n\nPlease use this plugin with caution. There are a number of unresolved issues and open questions.\n\nThe ~BrowserStorage Plugin can be installed from the plugin library.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/plugins/CodeMirror Plugin.tid",
    "content": "created: 20160107223435497\nlist: \nmodified: 20170228102537972\ntags: OfficialPlugins [[Plugin Editions]]\ntitle: CodeMirror Plugin\ntype: text/vnd.tiddlywiki\n\nThe CodeMirror plugin adds a sophisticated web-based editor to TiddlyWiki.\n\nSee [ext[https://tiddlywiki.com/plugins/tiddlywiki/codemirror|plugins/tiddlywiki/codemirror]] for a demo.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/plugins/Consent Banner Plugin.tid",
    "content": "created: 20201019084534263\nmodified: 20201019084658478\ntags: OfficialPlugins\ntitle: Consent Banner Plugin\ntype: text/vnd.tiddlywiki\n\nThe Consent Banner Plugin helps make websites that are compliant with \"cookie legislation\" such as the [[EU General Data Protection Regulation|https://gdpr.eu/cookies/]].\nIt presents a banner inviting the user to accept or reject cookies, keeping track of their consent in local storage so that the banner can be hidden on subsequent visits.\n\nBy default, content embedded with &lt;iframe>, &lt;embed> and &lt;object> is blocked unless the user consents to accept cookies.\n\nConsent status is  available via a configuration tiddler so that it is possible to construct content that behaves differently depending upon whether consent has been granted. As an example, a macro is provided for embedding ~YouTube videos that automatically uses the youtube-nocookie.com variant of video URLs unless the user has accepted cookies.\n\nPlease note that using this plugin does not guarantee compliance with any particular legislation. You will need to understand the technical issues specific to your situation, and if necessary seek legal advice."
  },
  {
    "path": "editions/tw5.com/tiddlers/plugins/D3 Plugin.tid",
    "content": "created: 20160107223425581\ncaption: {{!!title}} - ^^deprecated^^\nmodified: 20240913122437925\ntags: OfficialPlugins [[Plugin Editions]] $:/deprecated\ntitle: D3 Plugin\ntype: text/vnd.tiddlywiki\n\n<<.deprecated-since \"5.3.4\">> The D3 plugin integrates the D3 visualisation library with TiddlyWiki.\n\nSee https://tiddlywiki.com/plugins/tiddlywiki/d3/\n\nSee the demo at [ext[https://tiddlywiki.com/plugins/tiddlywiki/d3|plugins/tiddlywiki/d3]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/plugins/Disabling_Plugins.tid",
    "content": "created: 20161015121727194\nmodified: 20161015121728291\ntags: PluginMechanism\ntitle: Disabling Plugins\ntype: text/vnd.tiddlywiki\n\n!! Disabling Plugins\n\nPlugins can be disabled by creating a tiddler titled `$:/config/Plugins/Disabled/` concatenated with the plugin title, and setting its text to `yes`.\n\nFor example, to disable the plugin `$:/plugins/tiddlywiki/highlight`, the title would be:\n\n```\n$:/config/Plugins/Disabled/$:/plugins/tiddlywiki/highlight\n```"
  },
  {
    "path": "editions/tw5.com/tiddlers/plugins/Dynaview Plugin.tid",
    "content": "created: 20180111122953142\nmodified: 20181113084151268\ntags: OfficialPlugins [[Plugin Editions]]\ntitle: Dynaview Plugin\ntype: text/vnd.tiddlywiki\n\nThe Dynaview Plugin makes it possible to build user interfaces that dynamically respond to changes in the browser viewport via scrolling or zooming:\n\n* CSS classes that allow rendering to be deferred until the output is scrolled into view\n* CSS classes that allow the opacity of DOM elements to vary according to the current zoom level\n\nSee the demo at [ext[https://tiddlywiki.com/plugins/tiddlywiki/dynaview|plugins/tiddlywiki/dynaview]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/plugins/External Attachments Plugin.tid",
    "content": "created: 20171031172325817\nlist: \nmodified: 20171031172440017\ntags: OfficialPlugins [[Plugin Editions]]\ntitle: External Attachments Plugin\ntype: text/vnd.tiddlywiki\n\nThe External Attachments Plugin provides support for importing tiddlers as external attachments. That means that instead of importing binary files as self-contained tiddlers, they are imported as \"skinny\" tiddlers that reference the original file via the ''_canonical_uri'' field. This reduces the size of the wiki and thus improves performance. However, it does mean that the wiki is no longer fully self-contained.\n\nThis plugin only works when using TiddlyWiki with platforms such as TiddlyDesktop that support the ''path'' attribute for imported/dragged files.\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/plugins/Geospatial Plugin.tid",
    "content": "created: 20250302053159467\nmodified: 20250302053316068\ntags: OfficialPlugins [[Plugin Editions]]\ntitle: Geospatial Plugin\ntype: text/vnd.tiddlywiki\n\nThe Geospatial Plugin adds new primitives to the TiddlyWiki platform to enable non-developers to build sophisticated interactive geospatial applications.\n\nIt incorporates a number of third party libraries and online services:\n\n* [[Leaflet.js|https://leafletjs.com/]], an open source library to display interactive maps\n* [[Turf.js|https://turfjs.org/]], an open source library to perform geospatial calculations with [[GeoJSON|https://en.wikipedia.org/wiki/GeoJSON]] objects\n* [[TravelTime|https://traveltime.com/]], a commercial API for [[geocoding|https://traveltime.com/features/geocoding]], [[routing|https://traveltime.com/features/multi-modal-routing]] and [[isochrones|https://traveltime.com/features/isochrones]]\n* [[Flickr|https://www.flickr.com/services/api/]], a free API for retrieving geotagged photographs\n* [[OpenLocationCode|https://github.com/google/open-location-code]], Google's open source library for converting to and from Open Location Codes (also known as [[PlusCodes|https://maps.google.com/pluscodes/]])\n\nTry it out at https://tiddlywiki.com/plugins/tiddlywiki/geospatial/"
  },
  {
    "path": "editions/tw5.com/tiddlers/plugins/Highlight Plugin.tid",
    "content": "created: 20160107223417655\nlist: \nmodified: 20220222094354907\ntags: OfficialPlugins [[Plugin Editions]]\ntitle: Highlight Plugin\ntype: text/vnd.tiddlywiki\n\nThe Highlight plugin provides the ability to apply syntax colouring to text.\n\nSee [ext[https://tiddlywiki.com/plugins/tiddlywiki/highlight|plugins/tiddlywiki/highlight]]\n\n<<.warning \"\"\"The latest version of the [[Highlight Plugin]] requires a modern browser that fully supports JavaScript ES6 (released in 2015). The older version is still available as the ''highlight-legacy'' plugin for users who need to use an older browser.\"\"\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/plugins/Innerwiki Plugin.tid",
    "content": "created: 20190127104143725\nmodified: 20190127104143725\ntags: OfficialPlugins [[Plugin Editions]]\ntitle: Innerwiki Plugin\ntype: text/vnd.tiddlywiki\n\nThe Innerwiki Plugin enables TiddlyWiki to embed a modified copy of itself (an \"innerwiki\"). The primary motivation is to be able to produce screenshot illustrations that are automatically up-to-date with the appearance of TiddlyWiki as it changes over time, or to produce the same screenshot in different languages.\n\nIn the browser, innerwikis are displayed as an embedded iframe. Under Node.js [[Google's Puppeteer|https://pptr.dev/]] is used to load the innerwikis as off-screen web pages and then snapshot them as a PNG image.\n\nSee the demo at [ext[https://tiddlywiki.com/plugins/tiddlywiki/innerwiki|plugins/tiddlywiki/innerwiki]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/plugins/Installing a plugin from the plugin library.tid",
    "content": "created: 20160107222352710\nmodified: 20220617122143911\ntags: Plugins\ntitle: Installing a plugin from the plugin library\ntype: text/vnd.tiddlywiki\n\n\\rules except wikilink\n\nIf you want to follow the steps //side by side// you can <<open-tiddler-in-window>>. \n\nFollow these instructions when using TiddlyWiki as a standalone, single file wiki.\n\n# Open your TiddlyWiki in a browser\n\n# Create a backup of your current wiki file ([[just in case|The First Rule of Using TiddlyWiki]])\n\n# Open the <<controlPanel-plugin-link>>\n\n#* Click on the ''Plugins'' tab and then the \n#*<<.icon $:/core/images/download-button>> ''Get more plugins'' button\n\n# Click <<.icon $:/core/images/chevron-right>> ''open plugin library'' to open the official plugin library\n\n# When the library listing is loaded:\n## Use the tab to select between ''plugins'', ''themes'' and ''languages''\n## Use the ''search'' box to search the plugin details\n\n# Click the ''install'' button to install a plugin\n\n# Save your TiddlyWiki <<.icon $:/core/images/save-button-dynamic>>\n\n# If a yellow warning bar appears at the top of the window,  refresh the window so that TiddlyWiki completes installation of the plugin <<.icon $:/core/images/refresh-button>>\n\n#* <<.from-version \"5.1.22\">> It is no longer necessary to refresh TiddlyWiki when deleting plugins that support dynamic loading. See the [[PluginMechanism]] for more details\n\n# The plugin should now be available for use\n\n<$macrocall $name=\".note\" _=\"\"\"If you use TiddlyWiki with ''Node.js'' have a closer look at [[Installing official plugins on Node.js]]<br>An overview can be found at [[Plugins]]\"\"\"/> \n"
  },
  {
    "path": "editions/tw5.com/tiddlers/plugins/JSZip Plugin.tid",
    "content": "created: 20201019084712096\nmodified: 20201019084824422\ntags: OfficialPlugins\ntitle: JSZip Plugin\ntype: text/vnd.tiddlywiki\n\nThis plugin provides primitives for creating Zip files in the browser. It also makes the [[JSZip|https://stuk.github.io/jszip/]] library available for use by other plugins."
  },
  {
    "path": "editions/tw5.com/tiddlers/plugins/KaTeX Plugin.tid",
    "content": "created: 20160107223410181\nlist: \nmodified: 20170228102517666\ntags: OfficialPlugins [[Plugin Editions]]\ntitle: KaTeX Plugin\ntype: text/vnd.tiddlywiki\n\nThis plugin adds the ability to display mathematical notation written in ~LaTeX.\n\nSee [ext[https://tiddlywiki.com/plugins/tiddlywiki/katex|plugins/tiddlywiki/katex]]"
  },
  {
    "path": "editions/tw5.com/tiddlers/plugins/Manually installing a plugin.tid",
    "content": "created: 20160107222430613\nmodified: 20220617115930635\ntags: Plugins\ntitle: Manually installing a plugin\ntype: text/vnd.tiddlywiki\n\n\\rules except wikilink\n\nIf you want to follow the steps //side by side// you can <<open-external-window \"https://tiddlywiki.com/plugins/tiddlywiki/katex\">>. \n\n# Create a backup of your current TiddlyWiki HTML file ([[just in case|The First Rule of Using TiddlyWiki]])\n\n# Open your TiddlyWiki in a browser\n\n# In another browser window, find a link to the plugin, e.g. https://tiddlywiki.com/plugins/tiddlywiki/katex. You will typically find these links on the home page of the plugin\n\n# Drag the link similar to `$:/plugins/tiddlywiki/example` to the browser window containing your TiddlyWiki\n\n# Import the new plugin shown in the $:/Import tiddler\n\n# Save your TiddlyWiki (<<.icon $:/core/images/save-button-dynamic>>)\n\n# If a yellow warning bar appears at the top of the window,  refresh the window so that TiddlyWiki completes installation of the plugin <<.icon $:/core/images/refresh-button>>\n\n#* <<.from-version \"5.1.22\">> It is no longer necessary to refresh TiddlyWiki when deleting plugins that support dynamic loading. See PluginMechanism for more details\n\n# The plugin should now be available for use\n\n<$macrocall $name=\".note\" _=\"More information about installing a plugin form the official plugin library, can be found at [[Installing a plugin from the plugin library]]<br>An overview can be found at [[Plugins]]\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/plugins/Markdown Plugin.tid",
    "content": "created: 20160107223401584\nlist: \nmodified: 20170228102511347\ntags: OfficialPlugins [[Plugin Editions]]\ntitle: Markdown Plugin\ntype: text/vnd.tiddlywiki\n\nThe Markdown plugin enables you to use tiddlers that are written in standard Markdown markup.\n\nSee [ext[https://tiddlywiki.com/plugins/tiddlywiki/markdown|plugins/tiddlywiki/markdown]]"
  },
  {
    "path": "editions/tw5.com/tiddlers/plugins/Mobile Drag And Drop Shim Plugin.tid",
    "content": "created: 20170328173820802\ncaption: {{!!title}} - ^^deprecated^^\nmodified: 20240913122844238\ntags: OfficialPlugins $:/deprecated\ntitle: Mobile Drag And Drop Shim Plugin\ntype: text/vnd.tiddlywiki\n\n<<.deprecated-since \"5.3.4\">> The Mobile Drag And Drop Shim Plugin provides a \"shim\" that enables HTML 5 compatible drag and drop operations on mobile browsers, including iOS and Android. The shim was created by Tim Ruffles and is published at https://github.com/timruffles/ios-html5-drag-drop-shim.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/plugins/OfficialPlugins.tid",
    "content": "created: 20170210075109635\nmodified: 20220612082350537\ntags: Plugins\ntitle: OfficialPlugins\ntype: text/vnd.tiddlywiki\n\nThe official TiddlyWiki plugin library contains the plugins that are part of the [[main TiddlyWiki 5 GitHub repository|Working with the TiddlyWiki5 repository]]. Install them from [[the plugin library|Installing a plugin from the plugin library]]. Plugins from the official plugin library are automatically updated as part of the [[upgrade process|UpgradeMechanism]].\n\n<<list-links \"[tag[OfficialPlugins]]\">>\n\n<$macrocall $name=\".note\" _=\"An overview, how to handle plugins can be found at: [[Plugins]]\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/plugins/Plugin Dependencies.tid",
    "content": "created: 20190928081852771\nmodified: 20190928082758674\ntags: PluginMechanism\ntitle: Plugin Dependencies\ntype: text/vnd.tiddlywiki\n\nThe simplest form of dependency between plugins is that one plugin can declare itself to be a sub-plugin of another plugin by specifying that plugin in the `parent-plugin` [[field|Plugin Fields]]. Sub-plugins are displayed in the control panel plugin chooser within the expandable area of their parent plugin. For example, the official plugin library includes the [[CodeMirror Plugin]] and also more than a dozen sub-plugins that extend the CodeMirror plugin with optional functionality. Note that sub-plugins cannot themselves have further sub-plugins.\n\nPlugins can also use their `dependents` [[field|Plugin Fields]] to list the titles of any other plugins that should also be installed. Note that the list is not resolved recursively: dependents of dependents will not be installed.\n\nWhen installing a plugin from the plugin library, both the `parent-plugin` and `dependents` fields are used to determine any additional plugins to be installed.\n\nNote that the `dependents` field is also used by the ThemeMechanism and the LanguageMechanism to switch in dependent theme/language plugins.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/plugins/Plugin Editions.tid",
    "content": "created: 20160107223443647\nmodified: 20160107223732928\ntags: Editions\ntitle: Plugin Editions\ntype: text/vnd.tiddlywiki\n\nThese editions contain simple demos of the original set of TiddlyWiki plugins. They were prepared for earlier versions of TiddlyWiki that lacked the plugin library.\n\n<<list-links \"[tag[Plugin Editions]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/plugins/Plugin Ordering.tid",
    "content": "created: 20220613115453346\nmodified: 20220628160136158\ntags: PluginMechanism\ntitle: Plugin Ordering\ntype: text/vnd.tiddlywiki\n\nUsing the Node.js client-server configuration plugins are activated in the following order:\n\n# Plugins found using the OS environment variables\n#* See: [[PluginFolders]]\n#* and: [[Environment Variables on Node.js]]\n\n# Plugins stored in the wiki `/plugins` path\n#* See: [[PluginFolders]]\n\n# Plugins specified in the command line\n#* See: [[Using TiddlyWiki on Node.js]] ... the notes about <<.from-version \"5.1.20\">>\n\n# Plugins imported by drag and drop as wiki content\n#* See: [[Installing a plugin from the plugin library]] or [[Manually installing a plugin]]\n\n''Important:''\n\n* ''Elements lower in the list take precedence''\n\n*Including a plugin as an ordinary tiddler by drag and drop  into the browser, will result in the plugin only being active in the browser\n** It will not be available under Node.js\n\nOption 1:\n\n* Using a Node.js configuration option 1 is the most common one\n* It lowers maintenence, because all plugins can be updated in one go\n\nOption 2:\n\n* Option 2 is preferred if you want to work with a fixed configuration\n* Plugin updates only effect the corresponding wiki\n\nOption 3:\n\n* This option allows to ''add and start'' an edition without the need to overwrite an existing `tiddlywiki.info` file\n* It allows you to start any edition as a client-server edition, even if the tiddlywiki.info file didn't specify it.\n\nOption 4:\n\n* Is the exact same mechanism used for a single-file wiki\n* This mechanism should only be used in a Node.js configuration for ''testing and debugging'' purposes, since the plugins are stored in the `tiddlers/` directory\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/plugins/Plugin Stability.tid",
    "content": "created: 20240520155341641\nmodified: 20240520162820882\ntags: PluginMechanism\ntitle: Plugin Stability\ntype: text/vnd.tiddlywiki\n\nPlugins are recommended to have a `stability` field that communicates the state of development of the plugin. It can contain the following values:\n\n* ''STABILITY_0_DEPRECATED'' - Deprecated. This plugin is not recommended for new projects\n* ''STABILITY_1_EXPERIMENTAL'' - Experimental. Non-backward compatible changes or removal may occur in any future release. Use of the plugin is not recommended in production environments\n* ''STABILITY_2_STABLE''  - Stable.\n* ''STABILITY_3_LEGACY'' - Legacy. Although this plugin is unlikely to be removed, it is no longer actively maintained, and other alternatives are available\n\nThese stability levels are taken from the Node.js project - https://nodejs.org/api/documentation.html#stability-index.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/plugins/Plugin Types.tid",
    "content": "created: 20190928081810311\nmodified: 20211114222640985\ntags: PluginMechanism\ntitle: Plugin Types\ntype: text/vnd.tiddlywiki\n\nPlugins have a `plugin-type` field that determines how it is treated. The following values are defined by the core:\n\n* `plugin` - an ordinary plugin\n* `theme` - a theme plugin (see ThemeMechanism). Only the theme plugin named in the tiddler $:/theme is activated at any one time (along with any dependent theme plugins)\n* `language` - a language plugin (see TranslationMechanism). Only the language plugin named in the tiddler $:/language is activated at any one time (along with any dependent language plugins)\n\nThe following plugin types are used internally by the core:\n\n* `import` - for the special $:/Import plugin created while importing is in progress\n* `info` - for the special $:/temp/info-plugin tiddler created by the InfoMechanism\n\nWhile not supported by the plugin library, it is also possible to use custom plugin types to build plugin-like behaviour with a custom user interface. Plugins with a custom type will automatically receive the same behaviour as plain plugins but can display a custom user interface using an appropriate [[view template segment|SystemTag: $:/tags/ViewTemplate]].\n\nBy default, tiddlers within plugins with custom plugin types will not be registered as shadow tiddlers (the constituent tiddlers can still be addressed as subtiddlers by the TranscludeWidget, ViewWidget or the [[plugintiddlers Operator]]). Setting a configuration tiddler `$:/config/RegisterPluginType/<plugin-type>` to `yes` will cause the tiddlers within the plugin to be registered as shadow tiddlers.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/plugins/PluginFolders.tid",
    "content": "created: 20161015113519246\nmodified: 20220613123551803\ntags: PluginMechanism\ntitle: PluginFolders\ntype: text/vnd.tiddlywiki\n\n! Working with Plugin Folders\n\n* Arrange the [[PluginFolders]] containing the plugins in a convenient shared location\n\n* Use [[environment variables|Environment Variables on Node.js]] to tell TiddlyWiki to search those folders. \n\n*The plugins can be referenced in `tiddlywiki.info` by their name (e.g. `tiddlytools/magic`)\n\n* Place the PluginFolders containing the plugins in a `plugins` folder within the [[wiki folder|TiddlyWikiFolders]]. TiddlyWiki will attempt to include every subfolder as a plugin. Do not add the plugin names to `tiddlywiki.info`. Do not add the PluginFolders under a specific namespace:\n\n```\n├── plugins/\n│   ├── relink/\n│   │   ├── js/\n│   │   ├── tiddlers/\n│   │   └── plugin.info\n│   └── relink-markdown/\n│       ├── js/\n│       ├── plugin.info\n│       └── readme.tid\n├── tiddlers/\n└── tiddlywiki.info\n```\n\n! Plugin.info File\n\nOn the server, plugins can be stored as ordinary JSON tiddlers but it is often more convenient to store them as separate tiddler files within folders. Plugin folders must contain a `plugin.info` file that contains the metadata for the plugin. It can also optionally identify files external to the plugin folder that should be loaded as tiddlers.\n\nThe `plugin.info` file should contain the following JSON structure:\n\nThe JSON structure for plugin tiddlers is as follows:\n\n```\n{\n\t\"title\": \"$:/plugins/publisher/name\",\n\t\"name\": \"name\",\n\t\"description\": \"An exemplary plugin for demonstration purposes\",\n\t\"author\": \"JeremyRuston\",\n\t\"version\": \"1.2.3-alpha3\",\n\t\"core-version\": \">=5.0.0\",\n\t\"source\": \"https://tiddlywiki.com/MyPlugin\",\n\t\"plugin-type\": \"plugin\",\n\t\"list\": \"readme license history\"\n}\n```\n\nBy convention, the titles of the individual tiddlers are prefixed with the title of the containing plugin, but they are not restricted to do so.\n\nNote that if the `version` field is omitted from a `plugin.info` file when the plugin folder is packed then it is automatically filled in by the core to the current core version number. This is to ensure that all the core plugins carry the correct version number. Generally plugin authors will want to ensure that they do explicitly specify a version number.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/plugins/Plugin_Fields.tid",
    "content": "created: 20161015122718559\nmodified: 20190928083018378\ntags: PluginMechanism\ntitle: Plugin Fields\ntype: text/vnd.tiddlywiki\n\nPlugins are stored as tiddlers with the following fields:\n\n|!Field |!Description |\n|author |//(optional)// Author of plugin |\n|dependents |List of dependencies: plugins that should be installed in order for this one to work |\n|description |Description of plugin |\n|list |Names of exposed plugin information tiddlers (see below) |\n|name |Brief name of the plugin |\n|plugin-priority |//(optional)// Numerical priority (higher numbers install later, the core plugin has a priority of zero |\n|plugin-type |Generally ''plugin'', ''language'' or ''theme''; see PluginMechanism for details |\n|parent-plugin |//(optional)// <<.from-version \"5.1.22\">> Title of the plugin under which this plugin should be displayed as a sub-plugin in the control panel plugin chooser |\n|source |//(optional)// Source URL of plugin |\n|text |JSON encoding of the list of tiddlers comprising the plugin |\n|title |Title of plugin |\n|type |Must be ''application/json'' |\n|version |//(optional)// Version string (should conform to [ext[SemanticVersioning|http://semver.org/]] convention) |\n|platform |<<.from-version 5.4.0>> //(optional)// Set this field to ''node'' to restrict the plugin to only be loaded on the server (this is accomplished by suppressing such plugins from the various save templates) |\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/plugins/Plugin_Information_Tiddlers.tid",
    "content": "created: 20161015121708376\nmodified: 20161015121709477\ntags: PluginMechanism\ntitle: Plugin Information Tiddlers\ntype: text/vnd.tiddlywiki\n\n! Information Tiddlers for Plugins\n\nPlugin authors are encouraged to provide special information and documentation tiddlers that TiddlyWiki can include as plugin information tabs in the [[control panel|$:/ControlPanel]].\n\nPlugins should provide an icon contained in a tiddler with the title formed of `<plugin-name>/icon` (for example, [[$:/core/icon]]).\n\nPlugins expose the names of the individual information tabs that they wish to display in the `list` field of the plugin tiddler. By convention, some or all of the following should be provided:\n\n* ''readme'': basic information about the plugin\n* ''license'': the license under which the plugin is published\n\nThe title of the associated information tiddler must be formed as follows:\n\n# `$:/<plugin-name>/<current-language>/<tab-name>` (for example, ''$:/core/en-GB/readme'')\n# `$:/<plugin-name>/<tab-name>` (for example, ''$:/core/readme'')\n\nThus, plugins can provide language-specific versions of each information tiddler.\n\nNote that information tiddlers should not reference other tiddlers within the plugin. This is because plugins containing themes or languages are dynamically switched in and out as they are selected, and so their information tiddlers may not be available for viewing. The control panel uses the 'subtiddler' attribute of the TranscludeWidget to access these tiddlers, which works independently of the plugin switching mechanism."
  },
  {
    "path": "editions/tw5.com/tiddlers/plugins/Plugins.tid",
    "content": "created: 20140910215514237\nlist: [[Installing a plugin from the plugin library]] [[Uninstalling a plugin]] [[Manually installing a plugin]] OfficialPlugins\nmodified: 20220617133819755\ntags: Concepts TableOfContents\ntitle: Plugins\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nPlugins in TiddlyWiki5 can be used to distribute optional components that customise and extend wiki. You can install them from the official plugin library or from community sites.\n\nInternally, plugins are a bundle of tiddlers packaged together as a single tiddler that can be installed, copied, disabled or deleted as a unit. The individual tiddlers within a plugin appear as shadow tiddlers. \n\nPlugins can contain ~JavaScript modules, style sheets, and templates. Plugins can also be used to distribute ordinary text, images or any other content.\n\n! Handling Plugins with a Single File Wiki\n\n<<list-links \"[tag[Plugins]] -[has[draft.of]]\">>\n\n! Handling Plugins with a Client - Server Configuration (Node.js)\n\n<<list-links \"[tag[PluginsCS]] -[has[draft.of]]\">>\n\n! Plugin Mechanism\n\nThe PluginMechanism tiddler contains more details about how plugins are implemented internally. \n\nYou can open the plugin details in the <<controlPanel-plugin-link>> on the <<.controlpanel-tab Plugins>> sub-tab.\n\nThere is a plugin called $:/core that contains the main core code of TiddlyWiki. It is always present, and it is the source of default ShadowTiddlers."
  },
  {
    "path": "editions/tw5.com/tiddlers/plugins/Railroad Plugin.tid",
    "content": "created: 20160107223348621\nlist: \nmodified: 20170228102501706\ntags: OfficialPlugins [[Plugin Editions]]\ntitle: Railroad Plugin\ntype: text/vnd.tiddlywiki\n\n!! Railroad Diagrams\n\n{{Railroad Diagrams}}\n\n!! Plugin\n\n{{$:/plugins/tiddlywiki/railroad/readme}}\n\nLearn more about the [[Railroad Plguin Syntax Description|$:/plugins/tiddlywiki/railroad/syntax]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/plugins/SaveTrail Plugin.tid",
    "content": "created: 20170210074840860\nmodified: 20170328173912704\ntags: OfficialPlugins\ntitle: SaveTrail Plugin\ntype: text/vnd.tiddlywiki\n\nThis plugin causes TiddlyWiki to continuously download (as a JSON file) the contents of any tiddler that is manually changed by any of several means:\n\n* Confirming an edit\n* Deleting tiddlers\n* Imports\n* Renames/relinks\n* Optionally, typing in draft tiddlers can trigger a download\n\nWhere appropriate, separate 'before' and 'after' files are downloaded. Configured correctly, the browser will download the files silently in the background, and they can be used as a backup in case of accidental data loss.\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/plugins/Share Plugin.tid",
    "content": "created: 20201228143125000\nmodified: 20250302051857380\ntags: OfficialPlugins [[Plugin Editions]]\ntitle: Share Plugin\ntype: text/vnd.tiddlywiki\n\n<div class=\"tc-message-box\">Do not install this plugin unless you understand exactly what it does</div>\n\nThis experimental plugin provides tools to share tiddlers via URLs, comprising:\n\n* The ability to load a group of tiddlers from the browser location hash at startup\n* Wizard and templates to create URLs from group of tiddlers\n\nSee the demo at [ext[https://tiddlywiki.com/share|share]]"
  },
  {
    "path": "editions/tw5.com/tiddlers/plugins/TW2Parser Plugin.tid",
    "content": "created: 20160107223340750\nlist: \nmodified: 20170228102455677\ntags: OfficialPlugins [[Plugin Editions]]\ntitle: TW2Parser Plugin\ntype: text/vnd.tiddlywiki\n\nThis experimental plugin adds the ability to display WikiText written for the original Classic version of TiddlyWiki.\n\nSee [ext[https://tiddlywiki.com/plugins/tiddlywiki/tw2parser|plugins/tiddlywiki/tw2parser]]"
  },
  {
    "path": "editions/tw5.com/tiddlers/plugins/Tour Plugin.tid",
    "content": "created: 20250302052635425\nmodified: 20250302052905312\ntags: OfficialPlugins [[Plugin Editions]]\ntitle: Tour Plugin\ntype: text/vnd.tiddlywiki\n\nThe tour plugin allows interactive learning tours to be created and presented in TiddlyWiki.\n\nThe demo TiddlyWiki interactive tour can be seen at https://tiddlywiki.com/tour"
  },
  {
    "path": "editions/tw5.com/tiddlers/plugins/Twitter Plugin.tid",
    "content": "created: 20170227223209558\nmodified: 20170328173919702\ntags: OfficialPlugins\ntitle: Twitter Plugin\ntype: text/vnd.tiddlywiki\n\nThis plugin adds a `<$twitter>` widget that can embed a variety of entities from twitter.com:\n\n* Individual tweets and conversation threads\n* Buttons to tweet a hashtag/account, follow/like an account, or share a URL\n* Timelines showing tweets from a user, hashtag, list or collection\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/plugins/Uninstalling a plugin.tid",
    "content": "created: 20160107222504269\nmodified: 20220617132957241\ntags: Plugins\ntitle: Uninstalling a plugin\ntype: text/vnd.tiddlywiki\n\n\\rules except wikilink\n\nIf you want to follow the steps //side by side// you can <<open-tiddler-in-window>>.\n\n\nFollow these instructions when using TiddlyWiki as a standalone, single file wiki.\n\n# Create a backup of your current TiddlyWiki HTML file ([[just in case|The First Rule of Using TiddlyWiki]])\n\n# Open the <<controlPanel-plugin-link>> and go to the ''Plugins'' tab\n\n# Click on the plugin you want to delete to open it as a standalone tiddler\n\n# Click the <<.icon $:/core/images/down-arrow>> ''more'' button and <<.icon $:/core/images/delete-button>> ''delete'' the tiddler\n\n# Save your TiddlyWiki <<.icon $:/core/images/save-button-dynamic>>\n\n# If a yellow warning bar appears at the top of the window,  refresh the window so that TiddlyWiki completely removes the plugin <<.icon $:/core/images/refresh-button>>\n\n#* <<.from-version \"5.1.22\">> It is no longer necessary to refresh TiddlyWiki when deleting plugins that support dynamic loading. See [[PluginMechanism]] for more details\n\n# The plugin should no longer be active or available\n\n<$macrocall $name=\".note\" _=\"\"\"If you use TiddlyWiki with node.js have a closer look at [[Uninstalling a plugin with Node.js]]<br>An overview of working with plugins can be found at [[Plugins]]\"\"\"/> \n"
  },
  {
    "path": "editions/tw5.com/tiddlers/pragmas/Pragma_ _define.tid",
    "content": "created: 20220917112233317\nmodified: 20231217185535715\ntags: Pragmas\ntitle: Pragma: \\define\ntype: text/vnd.tiddlywiki\n\nThe ''\\define'' [[pragma|Pragmas]] is used to [[define macros|Macro Definitions]]. It is a shortcut syntax for the SetVariableWidget.\n\nThe usual form allows macros to span multiple lines.\n\n```\n\\define <macro-name>(<param-name>[:<param-default-value>],<param-name>[:<param-default-value>]...)\n<multiple-line-definition-text>\n\\end [<macro-name>]\n```\n\nNote that the `\\end` marker can optionally specify the name of the macro to which it relates which allows macro definitions to be nested.\n\nThere is also a single line form for shorter macros:\n\n```\n\\define <macro-name>(<param-name>[:<param-default-value>],<param-name>[:<param-default-value>]...) <single-line-definition-text>\n```\n\nThe first line of the definition specifies the macro name and any parameters. Each parameter has a name and, optionally, a default value that is used if no value is supplied on a particular call to the macro.\n\nThe lines that follow contain the text of the macro text (i.e. the snippet represented by the macro name), until `\\end` appears on a line by itself:\n\n<$codeblock code={{$:/editions/tw5.com/macro-examples/say-hi}}/>\n\nAlternatively, the entire definition can be presented on a single line without an `\\end` marker:\n\n```\n\\define sayhi(name:\"Bugs Bunny\") Hi, I'm $name$.\n```\n\nMacro definitions can be nested by specifying the name of the macro in the `\\end` marker. For example:\n\n<<wikitext-example-without-html src:\"\"\"\\define special-button(caption:\"Click me\")\n\\define actions()\n<$action-sendmessage $message=\"tm-notify\" $param=\"HelloThere\"/>\n\\end actions\n<$button actions=<<actions>>>\n$caption$\n</$button>\n\\end special-button\n\n<<special-button>>\n\"\"\">>\n\n<<.warning \"\"\"If macros are nested, textual substitution will only occur for the outermost macro. This is because by the time the inner macros are processed all the substitutions will have already occurred\"\"\">>\n\nA more formal [[presentation|Macro Definition Syntax]] of this syntax is also available.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/pragmas/Pragma_ _function.tid",
    "content": "created: 20221009162634214\nmodified: 20230419103154329\ntags: Pragmas\ntitle: Pragma: \\function\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.3.0\">> The ''\\function'' [[pragma|Pragmas]] is used to [[define custom functions|Functions]]. It is a shortcut syntax for the SetVariableWidget.\n\nThe usual form allows custom functions to span multiple lines:\n\n```\n\\function <function-name>(<param-name>[:<param-default-value>],<param-name>[:<param-default-value>]...)\n<multiple-line-definition-text>\n\\end [<function-name>]\n```\n\nNote that the `\\end` marker can optionally specify the name of the function to which it relates, enabling function definitions to be nested inside procedures, macros or widget definitions.\n\nThere is also a single line form for shorter functions:\n\n```\n\\function <function-name>(<param-name>[:<param-default-value>],<param-name>[:<param-default-value>]...) <single-line-definition-text>\n```\n\nThe first line of the definition specifies the function name and any parameters. Each parameter has a name and, optionally, a default value that is used if no value is supplied on a particular call to the function. <<.from-version \"5.4.0\">> The default value can also be a [[multi-valued variable reference|Multi-Valued Variables]] using the `((var))` syntax (e.g. `\\function show(items:((defaults)))`). The lines that follow contain the text of the function (i.e. the snippet represented by the function name), until `\\end` appears on a line by itself:\n\nSee [[Functions]] for more details."
  },
  {
    "path": "editions/tw5.com/tiddlers/pragmas/Pragma_ _import.tid",
    "content": "created: 20220917113054582\nmodified: 20230419103154329\ntags: Pragmas\ntitle: Pragma: \\import\ntype: text/vnd.tiddlywiki\n\nThe ''\\import'' [[pragma|Pragmas]] is used to import definitions from other tiddlers that are identified with a filter. It is a shortcut syntax for the ImportVariablesWidget.\n\n```\n\\import <filter>\n```\n\nFor example:\n\n```\n\\import [all[shadows+tiddlers]tag[$:/tags/Global]]\n```\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/pragmas/Pragma_ _parameters.tid",
    "content": "created: 20220917113154900\nmodified: 20230518143557045\ntags: Pragmas\ntitle: Pragma: \\parameters\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.3.0\">> The ''\\parameters'' [[pragma|Pragmas]] is used within [[procedure|Procedure Definitions]] and [[widget|Custom Widgets]] definitions to declare the parameters that are expected, and their default values. It is a shortcut syntax for the ParametersWidget.\n\n```\n\\parameters (<name>[:<default-value>],<name>[:<default-value>]...)\n```\n\nFor example:\n\n```\n\\parameters (firstname:\"Joe\",lastname:\"Blogs\")\n```\n\nTo illustrate the use of ''\\parameters'' pragma, see [[Core Icons]] which are parameterised. The first parameter `size` specified the size at which the icon should be rendered. For example see the text of [[$:/core/images/print-button]] tiddler. The first line defines the size parameter as `\\parameters (size:\"22pt\")`\n\n<<wikitext-example-without-html \"\"\"{{$:/core/images/print-button|16px}}\n<$transclude $tiddler=\"$:/core/images/print-button\" size=\"32px\"/>\n\"\"\">>\n\nIn the above example, the first line shows a simple transclusion of [[$:/core/images/print-button]] icon with `size` parameter passed by position and is set to 16px. The second line is a transclusion of image with `size` parameter passed by name and is set to 32px.\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/pragmas/Pragma_ _parsermode.tid",
    "content": "created: 20221123223127425\nmodified: 20230117112244779\ntags: Pragmas\ntitle: Pragma: \\parsermode\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.2.4\">>\n\nThe ''\\parsermode'' [[pragma|Pragma]] adjusts whether the remaining text is parsed in block mode or inline mode. See [[WikiText Parser Modes]] for details of parser modes.\n\nAs with all pragmas, setting the parser mode this way can only be done at the start of text, not within the main body of the text.\n\n;`\\parsermode block` or `\\parsermode inline`\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/pragmas/Pragma_ _procedure.tid",
    "content": "created: 20221007132845007\nmodified: 20230724184009153\ntags: Pragmas\ntitle: Pragma: \\procedure\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.3.0\">> The ''\\procedure'' [[pragma|Pragmas]] is used to [[define procedures|Procedure Definitions]]. It is a shortcut syntax for the SetVariableWidget with an implicit ParametersWidget.\n\nThe usual form allows procedures to span multiple lines:\n\n```\n\\procedure <procedure-name>(<param-name>[:<param-default-value>],<param-name>[:<param-default-value>]...)\n<multiple-line-definition-text>\n\\end [<procedure-name>]\n```\n\nNote that the `\\end` marker can optionally specify the name of the procedure to which it relates which allows procedure definitions to be nested.\n\nThere is also a single line form for shorter procedures:\n\n```\n\\procedure <procedure-name>(<param-name>[:<param-default-value>],<param-name>[:<param-default-value>]...) <single-line-definition-text>\n```\n\nThe first line of the definition specifies the procedure name and any parameters. Each parameter has a name and, optionally, a default value that is used if no value is supplied on a particular call to the procedure. <<.from-version \"5.4.0\">> The default value can also be a [[multi-valued variable reference|Multi-Valued Variables]] using the `((var))` syntax (e.g. `\\procedure show(items:((defaults)))`). The lines that follow contain the text of the procedure text (i.e. the snippet represented by the procedure name), until `\\end` appears on a line by itself:\n\nFor example:\n\n```\n\\procedure sayhi(name:\"Bugs Bunny\")\nHi, I'm <<name>>.\n\\end\n\n<<sayhi \"Jeremy\">>\n```\n\nAlternatively, the entire definition can be presented on a single line without an `\\end` marker:\n\n```\n\\procedure sayhi(name:\"Bugs Bunny\") Hi, I'm <<name>>.\n```\n\nProcedure definitions can be nested by specifying the name of the procedure in the `\\end` marker. For example:\n\n<<wikitext-example-without-html src:\"\"\"\\procedure special-button(caption:\"Click me\")\n\\procedure actions()\n<$action-sendmessage $message=\"tm-notify\" $param=\"HelloThere\"/>\n\\end actions\n<$button actions=<<actions>>>\n<<caption>>\n</$button>\n\\end special-button\n\n<<special-button>>\n\"\"\">>\n\n! Use of Parameters Inside Procedures\nThe parameters can be declared inside procedures. The parameters widget is necessary in a procedure if you want to use computed default values. For example:\n\n<<wikitext-example-without-html \nsrc:\"\"\"\\procedure myproc()\n<$parameters name={{$:/SiteTitle}} desc={{$:/SiteSubtitle}}>\nThis is <<name>> demonstrates <<desc>>.\n</$parameters>\n\\end\n\n<<myproc>>\n\"\"\">>\n\n!! Caution in Using Positional Parameters\nProcedures are a shortcut syntax for the SetVariableWidget with an implicit ParametersWidget, so generally there is no reason to have multiple parameters widgets within a definition. In the below example when passing `x` to `myproc`, it will also be set to `a`:\n\n<<wikitext-example-without-html \nsrc:\"\"\"\\procedure myproc(x:10)\n\\parameters (a:100, b:200)\n\nx=<<x>>, a=<<a>>, b=<<b>>\n\\end\n\n<<myproc 50>>\n\"\"\">>\n\nThe reason for that result is clearer if we consider an equivalent with explicit parameters widgets.\n\n<$macrocall $name=wikitext-example-without-html \nsrc='<$let myprog=\"\"\"\n\\parameters (x:10)\n\\parameters (a:100, b:200)\n\nx=<<x>>, a=<<a>>, b=<<b>>\n\"\"\">\n<<myprog 50>>\n</$let>'\n/>\n\nThis is because those two parameters widgets are entirely independent. They are both processed as if the other parameter widget is not there.\n\n<<.tip \"The positional parameters are only required when using the parameterised transclusion shortcut syntax, and that in other cases it is generally clearer to use named parameters.\">>\n\nTo prevent such situation of above example, pass parameters by name as below.\n\n<<wikitext-example-without-html \nsrc:\"\"\"\\procedure myproc(x:10)\n\\parameters (a:100, b:200)\n\nx=<<x>>, a=<<a>>, b=<<b>>\n\\end\n\n<<myproc x:50>>\n\"\"\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/pragmas/Pragma_ _rules.tid",
    "content": "created: 20220917112931273\nmodified: 20240923161726957\ntags: Pragmas\ntitle: Pragma: \\rules\ntype: text/vnd.tiddlywiki\n\nThe ''\\rules'' [[pragma|Pragmas]] adjusts the set of parser rules used to parse the remaining text.\n\n```\n\\rules only|except <rule-list>\n```\n\nThe list of available parser rules can be consulted in $:/ControlPanel -> Info -> Advanced -> Parsing.\n\nFor example, in stylesheets it is typical to only use the rules associated with macros and transclusions:\n\n```\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n```\n\nDisable CamelCase for just one tiddler:\n\n```\n\\rules except wikilink\n```"
  },
  {
    "path": "editions/tw5.com/tiddlers/pragmas/Pragma_ _whitespace.tid",
    "content": "created: 20220917113002350\nmodified: 20230921180332436\ntags: Pragmas\ntitle: Pragma: \\whitespace\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.15\">> The ''\\whitespace'' [[pragma|Pragmas]] determines how spaces and newlines are treated within wikitext.\n\n* ''notrim'' -- whitespace text is not subject to special processing (the default)\n* ''trim'' -- whitespace text is ignored\n\nNote that the processing only applies to the printable text, and not to other text, such as the values of attributes.\n\nThe whitespace setting only applies to the parsed content in which it appears. The setting is inherited by embedded [[Procedure Definitions]] and [[Custom Widgets]] definitions, but is not inherited by [[Macro definitions]].\n\n```\n\\whitespace trim|notrim\n```\n\nFor example:\n\n```\n\\whitespace trim\n```\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/pragmas/Pragma_ _widget.tid",
    "content": "created: 20221009121950630\nmodified: 20230419103154329\ntags: Pragmas\ntitle: Pragma: \\widget\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.3.0\">> The ''\\widget'' [[pragma|Pragmas]] is used to [[define custom widgets|Custom Widgets]]. It is a shortcut syntax for the SetVariableWidget with an implicit ParametersWidget.\n\nThe usual form allows custom widgets to span multiple lines:\n\n```\n\\widget <widget-name>(<param-name>[:<param-default-value>],<param-name>[:<param-default-value>]...)\n<multiple-line-definition-text>\n\\end [<widget-name>]\n```\n\nNote that the `\\end` marker can optionally specify the name of the widget to which it relates which allows widget definitions to be nested.\n\nThere is also a single line form for shorter widgets:\n\n```\n\\widget <widget-name>(<param-name>[:<param-default-value>],<param-name>[:<param-default-value>]...) <single-line-definition-text>\n```\n\nThe first line of the definition specifies the widget name and any parameters. Each parameter has a name and, optionally, a default value that is used if no value is supplied on a particular call to the widget. The lines that follow contain the text of the widget text (i.e. the snippet represented by the widget name), until `\\end` appears on a line by itself:\n\nSee [[Custom Widgets]] for more details."
  },
  {
    "path": "editions/tw5.com/tiddlers/pragmas/Pragmas.tid",
    "content": "created: 20220917112416666\nmodified: 20230721064409436\ntags: Concepts [[WikiText Parser Modes]]\ntitle: Pragmas\ntype: text/vnd.tiddlywiki\n\nA <<.def pragma>> is a special component of WikiText that provides control over the way the remaining text is parsed.\n\nPragmas occupy lines that start with `\\`. They can only appear at the start of the text of a tiddler, but blank lines and comments are allowed between them. If a pragma appears in the main body of the text, it is treated as if it was ordinary text.\n\n<<.from-version \"5.2.6\">> Pragmas can have preceding optional whitespace characters.\n\nThe following pragmas are available:\n\n<<list-links \"[tag[Pragmas]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/procedures/Procedure Calls.tid",
    "content": "caption: Procedure Calls\ncreated: 20221007130006705\nmodified: 20260125212303316\ntitle: Procedure Calls\ntype: text/vnd.tiddlywiki\n\n<<.deprecated-since \"5.4.0\" \"Calls\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/procedures/Procedure Definitions.tid",
    "content": "created: 20221007125701001\nmodified: 20230921180332436\ntags: WikiText Procedures\ntitle: Procedure Definitions\ntype: text/vnd.tiddlywiki\n\n!! Introduction\n\nThis tiddler describes the different ways in which [[Procedures|Procedures]] can be defined.\n\n!! Procedure Definition Pragma\n\nProcedures are created using the [[Pragma: \\procedure]] at the start of a tiddler. The definitions are available in the rest of the tiddler that defines them, plus any tiddlers that it transcludes.\n\n```\n\\procedure my-procedure(param)\nThis is the procedure text (param=<<param>>)\n\\end\n```\n\nNote that the [[Pragma: \\whitespace]] setting is inherited from the parsing context in which the procedure definition occurs. That means that a tiddler containing multiple procedure definitions only needs a single whitespace pragma at the top of the tiddler, and the setting will be automatically inherited by the procedure definitions without needing the pragma to be repeated.\n\n!! Procedure Definition with Set Widget\n\nProcedures are implemented as a special kind of [[variable|Variables]] and so internally are actually defined with a <<.wlink SetWidget>> widget.\n\n```\n<$set name=\"my-procedure\" value=\"This is the procedure text\">\n...\n</$set>\n```\n\n<<.note \"\"\"that it is not currently possible to specify parameters when defining a procedure with the  <<.wlink SetWidget>> widget.\"\"\">>\n\n!! Importing Procedure Definitions\n\nThe [[Pragma: \\import]] or <<.wlink ImportVariablesWidget>> widget can be used to copy procedure definitions from another tiddler.\n\n!! `$:/tags/Global` Tag\n\nGlobal procedures can be defined using the [[SystemTag: $:/tags/Global]].\n\nThe tag [[SystemTag: $:/tags/Global/View]] is used to define procedures that should only be available within the main view template and the preview panel.\n\nThe tag [[SystemTag: $:/tags/Global/View/Body]] is used to define procedures that should only be available within the main view template body and the preview panel.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/procedures/Procedure Parameter Handling.tid",
    "content": "created: 20221007130538285\nmodified: 20230419103154329\ntags: WikiText Procedures\ntitle: Procedure Parameter Handling\ntype: text/vnd.tiddlywiki\n\n!! Introduction\n\n[[Procedure|Procedures]] parameters are made available as variables when the procedure contents are wikified.\n\n!! Accessing Parameters as Variables\n\nWhen procedures are wikified, the parameters can be accessed as variables.\n\nFor example:\n\n<$macrocall $name=\"wikitext-example-without-html\" src=\"\"\"\\procedure say-hi(name,address)\nHi, I'm <<name>> and I live in <<address>>.\n\\end\n\n<<say-hi name:\"Bugs\" address:\"Rabbit Hole Hill\">>\n\"\"\"/>\n\nAccessing parameters as variables only works in procedures that are wikified and not, for example, when a procedure is used as an attribute value.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/procedures/Procedures.tid",
    "content": "created: 20221007124007426\nmodified: 20240422090349758\ntags: Concepts [[Core Procedures]]\ntitle: Procedures\ntype: text/vnd.tiddlywiki\n\n!! Introduction\n\n<<.from-version \"5.3.0\">> A <<.def procedure>> is a named snippet of text. They are typically defined with the [[Pragma: \\procedure]]:\n\n```\n\\procedure my-procedure(parameter:\"Default value\")\nThis is the procedure, and the parameter is <<parameter>>.\n\\end\n```\n\nThe name wrapped in double angled [[brackets|Brackets]] is a shorthand way of [[transcluding|Transclusion]] the snippet. Each of these <<.def \"procedure calls\">> can supply a different set of parameters:\n\n```\n<<my-procedure>>\n<<my-procedure \"The parameter\">>\n<<my-procedure parameter:\"The parameter\">>\n```\n\nThe parameters that are specified in the procedure call are made available as variables.\n\n<<.tip \"\"\"If a procedure has more than one parameter, it is highly encouraged to use \"named parameters\", as shown in the third example above and in contrast to the second example. Even if it is more to type, it will pay off in the long run.\"\"\">>\n\n!! How Procedures Work\n\nProcedures are implemented as a special kind of [[variable|Variables]]. The only thing that distinguishes them from ordinary variables is the way that the parameters are handled.\n\n!! Using Procedures\n\n* [[Procedure Definitions]] describes how to create procedures\n* [[Calls]] describes how to use procedures\n* [[Procedure Parameter Handling]] describes how procedure parameters work\n* [[Call Syntax]] is a formal syntax description using railroad diagrams\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/procedures/calls/Calls.tid",
    "content": "caption: Calls\ncreated: 20221007130006705\nmodified: 20260301030947969\ntags: WikiText Procedures Functions Macros\ntitle: Calls\ntype: text/vnd.tiddlywiki\n\n!! Introduction\n\nThis tiddler describes the different ways in which [[procedures|Procedures]], [[functions|Functions]] and [[macros|Macros]] can be called. See [[Call Syntax]] for a formal description of the syntax.\n\n!! Call Transclusion Shortcut\n\nTo perform a call, place `<<`double angle brackets`>>` around the callee name and any parameter values.\n\n```\n<<my-procedure param=\"This is the parameter value\">>\n```\n\nBy default, parameters are interpreted as being in the same order as in the definition. A parameter value can be labelled with its name and an equals sign to allow them to be listed in a different order.\n\nIf no value is specified for a parameter, the default value given for that parameter in the [[procedure definition|Procedure Definitions]], [[function definition|Function Definitions]] or [[macro definition|Macro Definitions]] is used instead. (If no default value was defined, the parameter is blank).\n\nEach parameter value can be enclosed in `'`single quotes`'`, `\"`double quotes`\"`, `\"\"\"`triple double quotes`\"\"\"` or `[[`double square brackets`]]`. Triple double quotes allow a value to contain almost anything. If a value contains no spaces or single or double quotes, it requires no delimiters. [[Substituted Attribute Values]] enclosed in single or triple back quotes are also supported.\n\nSee the discussion about [[parser modes|WikiText parser mode: macro examples]]\n\n!!! Examples\n\n<<testcase TestCases/Calls/ProcedureStaticAttributes>>\n\n<<testcase TestCases/Calls/ProcedureDynamicAttributes>>\n\n!! Calls with <<.wlink TranscludeWidget>> Widget\n\nThe shortcut syntax expands to the <<.wlink TranscludeWidget>> widget with the `$variable` attribute specifying the name of the procedure to transclude.\n\n```\n<$transclude $variable=\"my-procedure\" param=\"This is the parameter value\"/>\n```\n\nThe widget itself offers greater flexibility than the shortcut syntax, including the ability to override it with a custom widget.\n\n!! Assigning Results of Calls to Attribute Values\n\nThe text returned from a call can be directly assigned to an attribute of a widget or HTML element. The result of the call is not wikified, which means that [[parameter handling|Procedure Parameter Handling]] does not take place.\n\n```\n<div class=<<myclasses>>>\n...\n</div>\n```\n\n!! Using Calls in Filters\n\nCalls can be used in filters. The text is not wikified which again means that the parameters will be ignored.\n\n```\n<$list filter=\"[<my-procedure>]\">\n...\n</$list>\n```"
  },
  {
    "path": "editions/tw5.com/tiddlers/readme/ContributingTemplate.tid",
    "content": "created: 201308251449\nmodified: 201308251449\ntitle: ContributingTemplate\n\n\\define tv-wikilink-template() https://tiddlywiki.com/static/$uri_doubleencoded$.html\n! Contributing to TiddlyWiki5\n\n{{Contributing}}\n\n//This file was automatically generated by TiddlyWiki5//\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/readme/ReadMe.tid",
    "content": "created: 20131129094758194\nmodified: 20240925115259828\ntitle: ReadMe\ntype: text/vnd.tiddlywiki\n\n\\define tv-wikilink-template() https://tiddlywiki.com/static/$uri_doubleencoded$.html\n\\import [subfilter{$:/core/config/GlobalImportFilter}]\n\n! Welcome\n\nWelcome to TiddlyWiki, a non-linear personal web notebook that anyone can use and keep forever, independently of any corporation.\n\n~TiddlyWiki is a complete interactive wiki in ~JavaScript. It can be used as a single HTML file in the browser or as a powerful Node.js application. It is highly customisable: the entire user interface is itself implemented in hackable WikiText.\n\n!! Demo\n\nLearn more and see it in action at https://tiddlywiki.com/\n\n!! Developer Documentation\n\nDeveloper documentation is in progress at https://tiddlywiki.com/dev/\n\n!! Pull Request Previews\n\nPull request previews courtesy of [[Netlify|https://netlify.com]]\n\n<a href=\"https://www.netlify.com\" rel=\"noopener noreferrer\" target=\"_blank\"><img src=\"https://www.netlify.com/v3/img/components/netlify-light.svg\" alt=\"Deploys by Netlify\" /></a>\n\n! Join the Community\n\n<$vars tv-adjust-heading-level=\"1\">\n<$transclude mode=\"block\" tiddler=\"Forums\"/>\n</$vars>\n\n---\n\n! Installing ~TiddlyWiki on Node.js\n\n~TiddlyWiki is a SingleFileApplication, which is easy to use. For advanced users and developers there is a possibility to use a Node.js client / server configuration. This configuration is also used to build the ~TiddlyWiki SinglePageApplication\n\n{{Installing TiddlyWiki on Node.js}}\n\n! Using ~TiddlyWiki on Node.js\n\n{{Using TiddlyWiki on Node.js}}\n\n! Upgrading ~TiddlyWiki on Node.js\n\n{{Upgrading TiddlyWiki on Node.js}}\n\n! Also see\n\n<<list-links \"[tag[TiddlyWiki on Node.js]] -[[Installing TiddlyWiki on Node.js]] -[[Using TiddlyWiki on Node.js]] -[[Upgrading TiddlyWiki on Node.js]]\">>\n\n//This readme file was automatically generated by TiddlyWiki//\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/readme/ReadMeBinFolder.tid",
    "content": "created: 20140908150853120\nmodified: 20140908150853120\ntitle: ReadMeBinFolder\ntype: text/vnd.tiddlywiki\n\n\\define tv-wikilink-template() https://tiddlywiki.com/static/$uri_doubleencoded$.html\n{{Scripts for TiddlyWiki on Node.js}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/readme/TiddlyWiki2ReadMe.tid",
    "content": "title: TiddlyWiki2ReadMe\n\n\\define tv-wikilinks() no\n! Building TiddlyWikiClassic\n{{Building TiddlyWikiClassic}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/reference/Reference.tid",
    "content": "created: 20140910212931897\nlist: Concepts Definitions WikiText Macros Variables SystemTags Widgets Filters Messages Commands Mechanisms Developers\nmodified: 20180927080640647\ntags: TableOfContents\ntitle: Reference\ntype: text/vnd.tiddlywiki\ncolor: #F45757\n\nThe following topics provide the canonical reference documentation for TiddlyWiki:\n\n<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'Reference'>>\n\n</div>"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.3.8/#9133.tid",
    "content": "title: $:/changenotes/5.3.8/#9133\ndescription: Update Chinese translation\nrelease: 5.3.8\ntags: $:/tags/ChangeNote\nchange-type: enhancement\nchange-category: translation\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9133\ngithub-contributors: BramChen\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.3.8/#9166.tid",
    "content": "title: $:/changenotes/5.3.8/#9166\ndescription: Fixed name field of fa-IR language plugin\nrelease: 5.3.8\ntags: $:/tags/ChangeNote\nchange-type: bugfix\nchange-category: translation\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/issue/9166\ngithub-contributors: Leilei332\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.3.8/#9175.tid",
    "content": "title: $:/changenotes/5.3.8/#9175\ndescription: Fixed Flexoki palette regressions\nrelease: 5.3.8\ntags: $:/tags/ChangeNote\nchange-type: bugfix\nchange-category: palette\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9175\ngithub-contributors: Leilei332\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.3.8/#9184.tid",
    "content": "title: $:/changenotes/5.3.8/#9184\ndescription: Update Polish translation\nrelease: 5.3.8\ntags: $:/tags/ChangeNote\nchange-type: enhancement\nchange-category: translation\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9184\ngithub-contributors: EvidentlyCube\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.3.8/#9185.tid",
    "content": "title: $:/changenotes/5.3.8/#9185\ndescription: Fixed [[Highlight Plugin]] theme listing\nrelease: 5.3.8\ntags: $:/tags/ChangeNote\nchange-type: bugfix\nchange-category: plugin\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9185\ngithub-contributors: Leilei332\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.3.8/32caeb69c3e7b75a80a84a1e14363e87175b164e.tid",
    "content": "title: $:/changenotes/5.3.8/32caeb69c3e7b75a80a84a1e14363e87175b164e\ndescription: Revert breakage of [[list-tagged-draggable Macro]]\nrelease: 5.3.8\ntags: $:/tags/ChangeNote\nchange-type: bugfix\nchange-category: hackability\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/commit/32caeb69c3e7b75a80a84a1e14363e87175b164e\ngithub-contributors: Jermolene\n\nReverted the [[change in v5.3.7|https://github.com/TiddlyWiki/TiddlyWiki5/pull/8721]] that broke the [[list-tagged-draggable Macro]]. The change involved updating some core macros to use procedures\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.3.8/75502266176de9d4a5e1f89cd7f2e455b7a2f6da.tid",
    "content": "title: $:/changenotes/5.3.8/75502266176de9d4a5e1f89cd7f2e455b7a2f6da\ndescription: Update Greek translation\nrelease: 5.3.8\ntags: $:/tags/ChangeNote\nchange-type: enhancement\nchange-category: translation\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/commit/75502266176de9d4a5e1f89cd7f2e455b7a2f6da\ngithub-contributors: superuser-does\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.3.8/93d30f374da4a6b2037b335f7f7d4eddce8192db.tid",
    "content": "title: $:/changenotes/5.3.8/93d30f374da4a6b2037b335f7f7d4eddce8192db\ndescription: Fixed display of field names longer than the available width in the info panel\nrelease: 5.3.8\ntags: $:/tags/ChangeNote\nchange-type: bugfix\nchange-category: usability\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/commit/93d30f374da4a6b2037b335f7f7d4eddce8192db\ngithub-contributors: Jermolene\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#7898.tid",
    "content": "title: $:/changenotes/5.4.0/#7898\ndescription: Add clamp attribute to RevealWidget\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: enhancement\nchange-category: widget\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/7898\ngithub-contributors: yaisog\n\nThe attribute `clamp` is added to the RevealWidget to force the popup to be displayed inside its container without overflowing. The value can be `right`, `bottom` or `both`.\nClamping to left and top can be accomplished via the `positionAllowNegative` attribute.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#8093.tid",
    "content": "title: $:/changenotes/5.4.0/#8093\ndescription: Fixes SelectWidget does not work with multiple options organised into group - issue #8092\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: bugfix\nchange-category: widget\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/issues/8093 https://github.com/TiddlyWiki/TiddlyWiki5/pull/9616\ngithub-contributors: buggyj saqimtiaz\n\nFixed SelectWidget does not work with multiple options organised into group.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#8249-aes-256-bit.tid",
    "content": "change-category: internal\nchange-type: security\ncreated: 20251115012727571\ndescription: Set AES strength to 256 bit default\ngithub-contributors: pmario\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/8249\nmodified: 20251115014704622\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\ntitle: $:/changenotes/5.4.0/#8249\ntype: text/vnd.tiddlywiki\n\nThis PR changes the default ''AES encryption'' setting ''from 128 bit to 256'' bit. \n\n* Download [[emtpy.html v5.3.8 from the archve|https://tiddlywiki.com/archive/empty/Empty-TiddlyWiki-5.3.8]] which uses AES 128 bit\n* Create some content\n* Save encrypted as eg: ''aes-128.html''\n* Create aes-256.html with TW v5.4.x\n* Create some content\n* Save encrypted as: ''aes-256.html''\n\n''Import decryption test''\n\n* Import ''aes-256.html'' into ''aes-128.html'' -> Decryption and import works\n* Import ''aes-128.html'' into ''aes-256.html'' -> Decryption and import works\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#8258.tid",
    "content": "title: $:/changenotes/5.4.0/#8258\ndescription:  Core plugin to serialize syntax trees back to strings\ntags: $:/tags/ChangeNote\nrelease: 5.4.0\nchange-type: feature\nchange-category: developer\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/8258\ngithub-contributors: linonetwo\n\nThis is an internal change that will only be of direct interest to plugin developers but will form the basis of future user-facing features. For example:\n\n* Programmatically manipulating wikitext content by modifying the syntax tree and deserializing it back to wikitext\n* Building WYSIWYG editors\n* Creating WikiText formatters and linters\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#8810.tid",
    "content": "title: $:/changenotes/5.4.0/#8810\ndescription: New plugin for saving DOM nodes as an image\ntags: $:/tags/ChangeNote\nrelease: 5.4.0\nchange-type: enhancement\nchange-category: plugin\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/8810\ngithub-contributors: Jermolene\n\nThe new \"dom-to-image\" plugin enables almost anything that can be rendered in a web browser to be saved as an image. The motivation is to be able to save maps generated by Leaflet.js as PNG, JPEG or SVG images, which is not natively supported by Leaflet. This plugin uses the library https://github.com/1904labs/dom-to-image-more to provide the underlying functionality.\n\nInstall the plugin from the plugin library in the usual way.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#8972.tid",
    "content": "title: $:/changenotes/5.4.0/#8972\ndescription: Multi-valued variables and let filter run prefix\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: enhancement\nchange-category: hackability\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/8972 https://github.com/TiddlyWiki/TiddlyWiki5/pull/9614 https://github.com/TiddlyWiki/TiddlyWiki5/pull/9645\ngithub-contributors: Jermolene saqimtiaz\n\nThis PR introduces a new filter run prefix `:let` that assigns the result of the filter run to a variable that is made available for the remaining filter runs of the filter expression. It solves the problem that previously it was impossible to compute values for filter operator parameters; parameters could only be a literal string, text reference or variable reference.\n\nThis PR also introduces multi-valued variables, the ability to store a list of results in a variable, not just a single string. They can be assigned with the new `:let` filter run prefix, or the existing `<$let>` widget. The full list of values can be retrieved using round brackets instead of the usual angle brackets. In all other contexts only the first item in the list is used as the variable value.\n\n* [[Multi-Valued Variables]]\n* [[Let Filter Run Prefix]]\n* [[LetWidget]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9015-muted-palette-adjustments.tid",
    "content": "change-category: theme\nchange-type: enhancement\ncreated: 20251115012539668\ndescription: Muted palette, minor adjustments\ngithub-contributors: pmario\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9015\nmodified: 20251115012705865\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\ntitle: $:/changenotes/5.4.0/#9015\ntype: text/vnd.tiddlywiki"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9050.tid",
    "content": "change-category: widget\nchange-type: enhancement\ncreated: 20260126112805413\ndescription: Allow actions to be invoked when an image is loaded\ngithub-contributors: saqimtiaz\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9050\nmodified: 20260126113146914\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\ntitle: $:/changenotes/5.4.0/#9050\ntype: text/vnd.tiddlywiki\n\nAdds support to the image widget for optional actions that are invoked when an image has completed loading."
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9055.tid",
    "content": "title: $:/changenotes/5.4.0/#9055\ndescription: Dynamic parameters for macro/procedure/function calls\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: enhancement\nchange-category: hackability\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9055\ngithub-contributors: Jermolene\n\nThis PR extends the handling of macro/procedure/function invocationsmade via the `<<..>>` shortcut syntax to allow dynamic parameters instead of just static strings. To indicate the new syntax the colon that usually separates a parameter name from its value is replaced by an equals sign. For example:\n\n```\n<<mymacro param={{Something}}>>\n<div class=<<mymacro param={{Something}}>>>\n<div class=<<mymacro param={{{ [<myvar>addprefix[https:] }}}>>>\n<div class=<<mymacro param={{{ [<innermacro p={{Something}}>addprefix[https:] }}}>>>\n```\n\nNote that the new syntax obviates the need for `<$transclude $variable=...>` constructions in many cases.\n\nThe extended syntax allows parameter values to be passed as transclusions, filter expressions or nested invocations in three settings:\n\n* As a standalone construction\n* As a widget attribute value\n* As a filter operand value\n\nSee [[Calls]] for more details and examples.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9078.tid",
    "content": "title: $:/changenotes/5.4.0/#9078\ndescription: Web server get-file route now supports HTTP Range headers and streaming\ntags: $:/tags/ChangeNote\nrelease: 5.4.0\nchange-type: enhancement\nchange-category: nodejs\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9078\ngithub-contributors: linonetwo\n\nThe web server's `get-file` route now supports HTTP Range requests and file streaming, enabling better loading and playback of large media files.\n\n!! Features\n\n* HTTP Range header: Enables partial content delivery with `206 Partial Content` responses, which is used when the user drags the progress bar in video/audio playback\n* Streaming file delivery: Browsers can now properly seek and stream video files from the `/files/` directory. Files are read using Node.js streams for better performance and memory efficiency.\n* Resumable downloads: To save interrupted downloads\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9097.tid",
    "content": "change-category: developer\nchange-type: enhancement\ncreated: 20260120153052332\ndescription: Adds a destroy method for widgets allowing for clean up of resources when a widget is removed.\ngithub-contributors: saqimtiaz\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9097\nmodified: 20260125212701672\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\ntitle: $:/changenotes/5.4.0/#9097\ntype: text/vnd.tiddlywiki\n\nAdds a destroy method for widgets allowing for clean up of resources when a widget is removed."
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9103.tid",
    "content": "title: $:/changenotes/5.4.0/#9103\ndescription: Add support for commands and startups which return promises\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: enhancement\nchange-category: developer\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9103\ngithub-contributors: Arlen22\n\nThis adds support for async functions to commands and startups. \n\nIn both `synchronous: true` and `synchronous: false` mode, if you return a promise (manually or by using the async keyword), it will wait for the promise to resolve, and then proceed using the resolved value as the return value of the function. \n\nImportantly, in `synchronous: false` mode, returning a promise will not change the callback behavior. So you can safely use an async function and still call the callback to continue execution. \n\nPreviously, in `synchronous: true` mode, returning a promise would have just logged the promise to console and halted execution. Now the promise will be awaited, and if the value is truthy, it will be logged to console and halt execution. If the promise resolves to a falsy value, execution will continue. This is the main breaking change, but since logging an opaque promise to console is the most useless of all error messages, this is unlikely to seriously break anything in practice. Throwing anything, truthy or not, will still stop execution (in `synchronous: true` mode). \n\nThis also does not add any error handling code. Rejected promises should still be logged to console as unhandled rejections just as uncaught exceptions are currently. "
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9118.tid",
    "content": "title: $:/changenotes/5.4.0/#9118\ndescription: Update HighlightJS plugin\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: enhancement\nchange-category: plugin\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9118\ngithub-contributors: Leilei332\n\nUpdate HighlightJS version to 11.11.1"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9119 - sticky-flag.tid",
    "content": "title: $:/changenotes/5.4.0/#9119/impacts/sticky-flag\nchangenote: $:/changenotes/5.4.0/#9119\ncreated: 20251114082949025\nmodified: 20251114082949025\ntags: $:/tags/ImpactNote\ndescription: Tiddlywiki no longer works on old browsers that doesn't support [[sticky flag|https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/sticky]].\nimpact-type: compatibility-break\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9119.tid",
    "content": "title: $:/changenotes/5.4.0/#9119\ndescription: Use sticky flag to improve regexp search performance\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: performance\nchange-category: internal\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9119\ngithub-contributors: Leilei332\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9131 - strikethrough.tid",
    "content": "title: $:/changenotes/5.4.0/#9131/impacts/strikethrough\nchangenote: $:/changenotes/5.4.0/#9131\ncreated: 20250901000000000\nmodified: 20250901000000000\ntags: $:/tags/ImpactNote\ndescription: CSS rules using `strike` selector will broken\nimpact-type: compatibility-break\n\n`strike` should be replaced by `s`.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9131.tid",
    "content": "title: $:/changenotes/5.4.0/#9131\ndescription: Render s tag instead of strike\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: deprecation\nchange-category: internal\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9131\ngithub-contributors: Leilei332\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9135.tid",
    "content": "title: $:/changenotes/5.4.0/#9135\ndescription: Update ESLint target to ES2017\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: enhancement\nchange-category: developer\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9135\ngithub-contributors: Arlen22\n\nUpdates the eslint config to check for syntax newer than ES2017. This uses a plugin to check for newer syntax, for better error messages, and may need to be updated regularly along with eslint to catch the latest features. "
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9148.tid",
    "content": "title: $:/changenotes/5.4.0/#9148\ndescription: Bidirectional improvements for core classes\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: enhancement\nchange-category: theme\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9148\ngithub-contributors: Leilei332\n\nMake some core classes display properly when Tiddlywiki's language uses bidirectional scripts."
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9154.tid",
    "content": "title: $:/changenotes/5.4.0/#9154\ndescription: Allow button widget to use all aria attributes\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: enhancement\nchange-category: widget\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9154\ngithub-contributors: Leilei332\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9167.tid",
    "content": "title: $:/changenotes/5.4.0/#9167\ndescription: Allow link widget to use all aria attributes\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: enhancement\nchange-category: widget\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9167\ngithub-contributors: Leilei332\n\nAllow LinkWidget to use all aria attributes directly."
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9177.tid",
    "content": "title: $:/changenotes/5.4.0/#9177\ndescription: Add Display Field to list-tagged-draggable and list-links-draggable macros\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: enhancement\nchange-category: hackability\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9177\ngithub-contributors: kookma\n\nA new input parameter, `displayField`, has been added to the `list-links-draggable` and `list-tagged-draggable` macros, \nallowing users to specify which field (e.g., title, caption, or any custom field) should be displayed when a tiddler is \nrendered via the draggable macro.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9183 - core-server-pluginisation.tid",
    "content": "title: $:/changenotes/5.4.0/#9183/impacts/core-server-pluginisation\nchangenote: $:/changenotes/5.4.0/#9183\ncreated: 20250901000000000\nmodified: 20250901000000000\ntags: $:/tags/ImpactNote\ndescription: Server components of the core have been moved into a new `$:/core-server` plugin\nimpact-type: pluginisation\n\nIt is not necessary for wikis to explicitly include the `$:/core-server` plugin."
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9183.tid",
    "content": "title: $:/changenotes/5.4.0/#9183\ndescription: Offload server-only components to a plugin\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: performance\nchange-category: internal\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9183 https://github.com/TiddlyWiki/TiddlyWiki5/pull/9288\ngithub-contributors: Jermolene Leilei332\n\nThis change reduces the size of the core plugin by 119.3KB or about 4.5%.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9203.tid",
    "content": "title: $:/changenotes/5.4.0/#9203\ndescription: Fix not provide content-type header in GET routes\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: bugfix\nchange-category: nodejs\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9203\ngithub-contributors: linonetwo\n\nFixed an issue which prevented plugins like the sitemap plugin from setting the correct MIME types (e.g., application/xml).\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9206.tid",
    "content": "change-category: nodejs\nchange-type: feature\ncreated: 20260120154012282\ndescription: Allows server routes to be prioritized via ordering.\ngithub-contributors: saqimtiaz\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9206\nmodified: 20260120160656948\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\ntitle: $:/changenotes/5.4.0/#9206\ntype: text/vnd.tiddlywiki\n\nThis PR adds support for an info property to server route module exports. The info object may include a priority field, which determines the route’s order of precedence.\n\nPriorities are numeric and follow a descending order: routes with higher priority values are processed first, similar to how saver modules are prioritized.\n\nTo maintain backward compatibility with existing code, any module that omits info or info.priority is assigned a default priority of 100. Core server routes have been updated to explicitly use this default value of 100."
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9207.tid",
    "content": "change-category: nodejs\nchange-type: feature\ncreated: 20260120154249928\ndescription: Allows server routes to support multiple HTTP methods.\ngithub-contributors: saqimtiaz\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9207\nmodified: 20260120160159661\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\ntitle: $:/changenotes/5.4.0/#9207\ntype: text/vnd.tiddlywiki\n\nAllows server routes to support multiple HTTP methods by introducing an `exports.methods` array."
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9214 - configure-edit-focus.tid",
    "content": "change-category: usability\nchange-type: bugfix\ncreated: 20260125065754439\ndescription: Allow title, tags, text as initial focus for editing existing tiddlers\ngithub-contributors: pmario\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9214\nmodified: 20260125065921915\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\ntitle: $:/changenotes/5.4.0/#9214\ntype: text/vnd.tiddlywiki\n\n''ControlPanel -> Info -> Basics'' tab now contains a ''Default focus field for existing tiddlers'' setting, which allows users to select, title, text or tags to be auto-focused if the editor is opened."
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9235.tid",
    "content": "title: $:/changenotes/5.4.0/#9235\ndescription: Fix nested `span.tc-keyboard` element in core\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: enhancement\nchange-category: internal\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9235 https://github.com/TiddlyWiki/TiddlyWiki5/pull/9325\ngithub-contributors: Leilei332\n\nRemoves nested `<span class=\"tc-keyboard\">` element in core search field.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9242 - deprecate-css-macros.tid",
    "content": "title: $:/changenotes/5.4.0/#9242/impacts/drpecate-css-macros\nchangenote: $:/changenotes/5.4.0/#9242\ncreated: 20250901000000000\nmodified: 20250901000000000\ntags: $:/tags/ImpactNote\ndescription: Currently all the CSS property macros are deprecated\nimpact-type: deprecation\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9242.tid",
    "content": "title: $:/changenotes/5.4.0/#9242\ndescription: Deprecate CSS macros supported in 2017 baseline\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: deprecation\nchange-category: developer\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9242\ngithub-contributors: Leilei332\n\nMark CSS macros supported in 2017 baseline as deprecated. They are moved to [[$:/core/macros/deprecated]] now."
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9243.tid",
    "content": "title: $:/changenotes/5.4.0/#9243\ndescription: Replace CSS property macros in Snow White theme\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: enhancement\nchange-category: theme\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9243 https://github.com/TiddlyWiki/TiddlyWiki5/pull/9625\ngithub-contributors: Leilei332\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9253 - textencoder.tid",
    "content": "title: $:/changenotes/5.4.0/#9253/impacts/textencoder\nchangenote: $:/changenotes/5.4.0/#9253\ncreated: 20251115041709112\nmodified: 20251115041709112\ntags: $:/tags/ImpactNote\ndescription: Encoding & decoding base64 no longer works on browsers that doesn't support [[TextEncoder|https://developer.mozilla.org/en-US/docs/Web/API/TextEncoder]] or [[TextDecoder|https://developer.mozilla.org/en-US/docs/Web/API/TextDecoder]]\nimpact-type: compatibility-break\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9253.tid",
    "content": "title: $:/changenotes/5.4.0/#9253\ndescription: Switch to native support for converting utf-8 between base64\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: performance\nchange-category: internal\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9253\ngithub-contributors: Leilei332\n\nReplace `base64-utf8` module with `TextEncoder` method to convert between utf-8 and Base64."
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9254-list-links-draggable-parameter-missing.tid",
    "content": "change-category: hackability\nchange-type: enhancement\ncreated: 20251115012214040\ndescription: list-links-draggable defaults to currentTiddler if tiddler parameter is missing\ngithub-contributors: pmario\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9254\nmodified: 20251115012535958\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\ntitle: $:/changenotes/5.4.0/#9254\ntype: text/vnd.tiddlywiki\n\n* If macro `list-links-draggable` misses the tiddler parameter it points to `currentTiddler` variable by default now\n* Also discussed at [[Talk Tiddlywiki|https://talk.tiddlywiki.org/t/long-standing-bug-in-list-links-draggable-macro/8057]]"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9259.tid",
    "content": "change-category: widget\nchange-type: deprecation\ncreated: 20260120154533983\ndescription: The deprecated events and actions-* atrributes for the eventcatcher widget have been removed.\ngithub-contributors: saqimtiaz\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9259\nmodified: 20260120160236297\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\ntitle: $:/changenotes/5.4.0/#9259\ntype: text/vnd.tiddlywiki\n\nDeprecates and removes the `events` and `actions-*` attributes for the $eventcatcher widget."
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9259_impacts_deprecate-eventcatcher-attributes.tid",
    "content": "changenote: $:/changenotes/5.4.0/#9259\ncreated: 20260120154817011\ndescription: Deprecated events and actons-* attributes from the eventcatcher widget\nimpact-type: deprecation\nmodified: 20260120154900978\ntags: $:/tags/ImpactNote\ntitle: $:/changenotes/5.4.0/#9259/impacts/deprecate-eventcatcher-attributes\ntype: text/vnd.tiddlywiki"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9260.tid",
    "content": "change-category: hackability\nchange-type: feature\ncreated: 20260120154445701\ndescription: Adds info tiddlers for viewport dimensions that are updated on window resize.\ngithub-contributors: saqimtiaz\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9260\nmodified: 20260120160515462\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\ntitle: $:/changenotes/5.4.0/#9260\ntype: text/vnd.tiddlywiki\n\nAdds info tiddlers for viewport dimensions that are updated on window resize.\n\n!! Example: Main and a user-created window with windowID my-window\n\n|Window | Info tiddler | Meaning |h\n|system/main |`$:/info/browser/window/system/main/outer/width` | Full browser window including chrome, tabs, toolbars |\n|system/main |`$:/info/browser/window/system/main/outer/height` | Full browser window including chrome, tabs, toolbars |\n|system/main |`$:/info/browser/window/system/main/inner/width` | Viewport width including scrollbars |\n|system/main |`$:/info/browser/window/system/main/inner/height` | Viewport height including scrollbars |\n|system/main |`$:/info/browser/window/system/main/client/width` | Content width excluding scrollbars |\n|system/main |`$:/info/browser/window/system/main/client/height` | Content height excluding scrollbars |\n|user/my-window |`$:/info/browser/window/user/my-window/outer/width` | Full browser window including chrome, tabs, toolbars |\n|user/my-window |`$:/info/browser/window/user/my-window/outer/height` | Full browser window including chrome, tabs, toolbars |\n|user/my-window |`$:/info/browser/window/user/my-window/inner/width` | Viewport width including scrollbars |\n|user/my-window |`$:/info/browser/window/user/my-window/inner/height` | Viewport height including scrollbars |\n|user/my-window |`$:/info/browser/window/user/my-window/client/width` | Content width excluding scrollbars |\n|user/my-window |`$:/info/browser/window/user/my-window/client/height` | Content height excluding scrollbars |\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9275 - remove-range-widget-ie.tid",
    "content": "title: $:/changenotes/5.4.0/#9275/impacts/remove-range-ie\nchangenote: $:/changenotes/5.4.0/#9275\ncreated: 20250901000000000\nmodified: 20250901000000000\ntags: $:/tags/ImpactNote\ndescription: RangeWidget will not work on Internet Explorer 10\nimpact-type: compatibility-break"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9275.tid",
    "content": "title: $:/changenotes/5.4.0/#9275\ndescription: Remove support for Internet Explorer in RangeWidget\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: deprecation\nchange-category: widget\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9275\ngithub-contributors: Leilei332\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9277.tid",
    "content": "title: $:/changenotes/5.4.0/#9277\ndescription: Added an option to enable CORS\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: feature\nchange-category: developer\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9277\ngithub-contributors: kixam\n\nAdded an option to the TiddlyWiki5 server to enable CORS (ie. don't check `same-origin`). It is meant for advanced users, do not use it unless you understand the full consequences.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9280.tid",
    "content": "title: $:/changenotes/5.4.0/#9280\ndescription: Fixed :reverse suffix being ignored by version sort filter\ntags: $:/tags/ChangeNote\nrelease: 5.4.0\nchange-type: bugfix\nchange-category: filters\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9280\ngithub-contributors: Flibbles\n\nWhen using the version suffix with the sort filter, the reverse flag had no effect. Fixed.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9281-add-th-debug-element.tid",
    "content": "change-category: developer\nchange-type: enhancement\ncreated: 20251115011206881\ndescription: Add th-debug-element hook to allow plugins to add additional info\ngithub-contributors: pmario\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9281\nmodified: 20251115014302351\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\ntitle: $:/changenotes/5.4.0/#9281\ntype: text/vnd.tiddlywiki\n\nThis PR adds:\n\n* `th-dom-rendering-element` hook, that is called right before the DOM node is inserted into the DOM\n* It allows plugins to add debug info\n* An example using an experimental hook can be found at: [[#9222|https://github.com/TiddlyWiki/TiddlyWiki5/pull/9222]]"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9287.tid",
    "content": "title: $:/changenotes/5.4.0/#9287\ndescription: Split release notes into individual change notes\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: enhancement\nchange-category: internal\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9287 https://github.com/TiddlyWiki/TiddlyWiki5/pull/9657\ngithub-contributors: Jermolene\n\nDoing so enables us to filter and group changes. For example, we could show all the breaking changes between two releases.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9293-draft-moduls-not-executed.tid",
    "content": "change-category: developer\nchange-type: bugfix\ncreated: 20251115011834670\ndescription: Modules in draft tidders should not be executed\ngithub-contributors: pmario\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9293\nmodified: 20251115012143765\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\ntitle: $:/changenotes/5.4.0/#9293\ntype: text/vnd.tiddlywiki\n\nModules in draft tiddlers should not be executed.\n\nThis PR:\n\n* Checks for drafts in `$tw.Wiki.prototype.defineTiddlerModules`\n* It also reports and blocks draft modules that come from plugins\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9295.tid",
    "content": "title: $:/changenotes/5.4.0/#9295\ndescription: Markdown: Fix missing inline support and macrocall args parsing error\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: bugfix\nchange-category: plugin\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9295\ngithub-contributors: cdruan\n\n* Fix markdown parser to respect ''parseAsInline'' option [[#8917|https://github.com/TiddlyWiki/TiddlyWiki5/pull/8917]].\n\n* Fix improper parsing of macrocall, whenenver args contain `>` character.\n\n* Use ''$tw.log.MARKDOWN'' flag to enable debug messages."
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9297.tid",
    "content": "title: $:/changenotes/5.4.0/#9297\ndescription: Better support for downloading binary image tiddlers\ntags: $:/tags/ChangeNote\nrelease: 5.4.0\nchange-type: enhancement\nchange-category: usability\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9297\ngithub-contributors: Flibbles\n\nTiddlyWiki used to convert to blob all tiddlers intended to be downloaded, which is efficient, but interfered with a browser's ability to download binary image data in a way that it recognized.\n\nThis isn't necessarily the best solution, but it makes image downloading possible in TiddlyWiki until we require a more sufficient solution.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9305.tid",
    "content": "title: $:/changenotes/5.4.0/#9305\ndescription: Let tiddler modules overwrite shadow modules with the same exports but different names\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: bugfix\nchange-category: internal\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9305\ngithub-contributors: yaisog\n\nTiddlers were previously processed before shadows during module registration. The shadow modules registration algorithm only checked for a matching title to prevent overwriting, but a differently named tiddler with the same exports would be overwritten by a shadow. This change swaps the order of $tw.wiki.defineTiddlerModules() and $tw.wiki.defineShadowModules() in boot.js, so that tiddlers are processed after shadows and can therefore override them.\n\nEach group (tiddlers or shadows) is sorted alphabetically, so plugin shadows would previously correctly overwrite core shadows (assuming their name starts with $:/plugins/), which remains unchanged. This change only affects module tiddlers that have the same export as a shadow, but a different name.\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9313.tid",
    "content": "title: $:/changenotes/5.4.0/#9313\ndescription: Set modal's mask-closable attribute to yes by default\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: enhancement\nchange-category: hackability\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9313\ngithub-contributors: Leilei332\n\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9316 - currentcolor.tid",
    "content": "title: $:/changenotes/5.4.0/#9316/impacts/currentcolor\nchangenote: $:/changenotes/5.4.0/#9316\ncreated: 20251115032340986\nmodified: 20251115032340986\ntags: $:/tags/ImpactNote\ndescription: SVG icons will inherit colors instead of using `#333333` if its parent element has `color` property set\nimpact-type: compatibility-break\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9316.tid",
    "content": "title: $:/changenotes/5.4.0/#9316\ndescription: Use currentColor to style SVG\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: enhancement\nchange-category: theme\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9316 https://github.com/TiddlyWiki/TiddlyWiki5/pull/9568\ngithub-contributors: Leilei332\n\nReplaces hardcoded `fill` attributes with one `fill: currentColor` rule to solve the compatibility issues of migrating to lucide icons."
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9317-eslint-ignore-output.tid",
    "content": "change-category: nodejs\nchange-type: bugfix\ncreated: 20251115002825127\ndescription: Add output directory to eslint ignore configuration\ngithub-contributors: pmario\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9317\nmodified: 20251115011145606\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\ntitle: $:/changenotes/5.4.0/#9317\ntype: text/vnd.tiddlywiki\n\nThis PR adds the `**/output/**` directory to eslint ignore configuration"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9328.tid",
    "content": "title: $:/changenotes/5.4.0/#9328\ndescription: Migrate most deprecated rules\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: enhancement\nchange-category: developer\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9328\ngithub-contributors: Leilei332\n\nMigrate eslint deprecated rules (except for nodejs related rules). Format related rules are replaced by `@stylistic/eslint-plugin`."
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9333.tid",
    "content": "title: $:/changenotes/5.4.0/#9333\ndescription: Intergrate Tiddlywiki palette colors and settings to custom CSS properties\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: feature\nchange-category: developer\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9333\ngithub-contributors: Leilei332\n\nAdds `--tpc-*` (for palettes colors) and `--tp-*` (for CSS settings) [[custom CSS properties|https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/--*]] to allow writing stylesheets with vanilla CSS, for example:\n\n```\n/* Old way to get a palette color, which requires using wikitext */\n.tag {\n\tbackground: <<colour tag-background>>;\n}\n```\n\n```css\n/* New way to get a palette color without wikitext */\n.tag {\n\tbackground: var(--tp-color-tag-background);\n}\n```\n\n```\n/* Old way to get CSS settings with transclusion */\n.tc-sidebar-header {\n\tpadding: 14px;\n\tmin-height: 32px;\n\tmargin-top: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\ttransition:  min-height {{$:/config/AnimationDuration}}ms ease-in-out, padding-top {{$:/config/AnimationDuration}}ms ease-in-out, padding-bottom {{$:/config/AnimationDuration}}ms ease-in-out;\n}\n```\n\n```css\n/* New way to get CSS settings */\n.tc-sidebar-header {\n\tpadding: 14px;\n\tmin-height: 32px;\n\tmargin-top: var(--tp-story-top);\n\ttransition: min-height var(--tp-animation-duration) ease-in-out, padding-top var(--tp-animation-duration) ease-in-out, padding-bottom var(--tp-animation-duration) ease-in-out;\n}\n```\n\nSee:  \n\n* [[Writing stylesheets in vanilla CSS]] and [[Core CSS Variables]] for details.  \n* https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/var  "
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9337 - math-filters .tid",
    "content": "title: $:/changenotes/5.4.0/#9337/impacts/math-filters\nchangenote: $:/changenotes/5.4.0/#9337\ncreated: 20251112152513384\nmodified: 20251209160312626\ntags: $:/tags/ImpactNote\ndescription: filter output changes for some math filter operators when input list is empty\nimpact-type: compatibility-break"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9337.tid",
    "content": "title: $:/changenotes/5.4.0/#9337\ndescription: Modify output of some math operators for empty inputs\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: bugfix\nchange-category: filters\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9337\ngithub-contributors: yaisog\n\nThe following math operators are changed to output an empty list when the input list is empty:\n\n* sum[]\n* product[]\n* maxall[]\n* minall[]\n* average[]\n* variance[]\n* standard-deviation[]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9341.tid",
    "content": "title: $:/changenotes/5.4.0/#9341\ndescription: Fix crash when processing large files from tiddlywiki.files\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: bugfix\nchange-category: nodejs\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9341\ngithub-contributors: cdruan\n\n* skip reading file content when `_canonical_uri` is present\n\n* skip loading file when file size is too large"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9347.tid",
    "content": "title: $:/changenotes/5.4.0/#9347\ndescription: Improve switcher (UI) accessibility\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: enhancement\nchange-category: usability\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9347\ngithub-contributors: Leilei332\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9348.tid",
    "content": "title: $:/changenotes/5.4.0/#9348\ndescription: Improve tabs macro accessibility\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: enhancement\nchange-category: usability\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9348\ngithub-contributors: Leilei332\n\nAdds `tablist`, `tabpanel` and `tab` roles to the tabs macro to improve its accessibility. It also adds a `selectedAria` attribute to the button widget."
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9350 - deprecation.tid",
    "content": "title: $:/changenotes/5.4.0/#9350/impacts/plugin-deprecation\nchangenote: $:/changenotes/5.4.0/#9350\ncreated: 20251116030650076\nmodified: 20251116030650076\ntags: $:/tags/ImpactNote\ndescription: The purged deprecated plugins are no longer availabe in the official plugin library\nimpact-type: deprecation\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9350.tid",
    "content": "title: $:/changenotes/5.4.0/#9350\ndescription: Purge deprecated plugins and editions\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: deprecation\nchange-category: plugin\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9350\ngithub-contributors: Leilei332\n\nRemove deprecated plugins and editions and some legacy plugins, including:\n\n* Blog\n* Cecily\n* [[D3 Plugin]] and its demo\n* HammerJS\n* Highlight (Legacy)\n* Markdown (Legacy)\n* [[Mobile Drag And Drop Shim Plugin]]\n* nw.js Saver\n* TahoeLAFS and its demo\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9358.tid",
    "content": "title: $:/changenotes/5.4.0/#9358\ndescription: Remove redundant code in format/json.js\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: performance\nchange-category: internal\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9358\ngithub-contributors: cdruan\n\nRemove redundant code in `core/modules/filters/format/json.js`.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9371.tid",
    "content": "title: $:/changenotes/5.4.0/#9371\ndescription: Added jsondelete operator for deleting properties from JSON objects\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: feature\nchange-category: filters\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9390\ngithub-contributors: SmartDever02\n\nAdded the <<.op jsondelete>> operator for deleting properties from JSON strings. The operator uses the same code path as <<.op jsonset>> to locate the correct part of the object, ensuring consistency between setting and deleting operations. It supports deleting both object properties and array elements, with support for negative array indexes counted from the end.\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9375.tid",
    "content": "title: $:/changenotes/5.4.0/#9375\ndescription: Update Chinese translation\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: enhancement\nchange-category: translation\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9375 https://github.com/TiddlyWiki/TiddlyWiki5/pull/9576\ngithub-contributors: BramChen\n\n* change camel-case hint text for chinese translations\n* add alerts ARIA message"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9401.tid",
    "content": "title: $:/changenotes/5.4.0/#9401\ndescription: Repacking plugins should update modified timestamp\ntags: $:/tags/ChangeNote\nrelease: 5.4.0\nchange-type: enhancement\nchange-category: developer\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9401\ngithub-contributors: andrewgoz\n\nThis PR modifies `$tw.utils.repackPlugin()` so that it adds the standard tiddler modification fields to plugin tiddlers when they are repacked.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9422.tid",
    "content": "title: $:/changenotes/5.4.0/#9422\ndescription: Remove Opera & Microsoft prefix in browser.js\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: deprecation\nchange-category: internal\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9422\ngithub-contributors: Leilei332\n\nRemove Opera & Microsoft prefix in `$:/core/modules/utils/dom/browser.js`.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9427.tid",
    "content": "title: $:/changenotes/5.4.0/#9427\ndescription: Fix widgets generating leading space in class attribute when additional class is empty\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: bugfix\nchange-category: widget\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/issues/9427\ngithub-contributors: linonetwo\n\nFixed a bug in the RevealWidget, DroppableWidget, EventcatcherWidget, and KeyboardWidget where an empty class attribute would generate a leading space in the rendered HTML. By trimming the resulting class string, we shorten the HTML and avoid potential confusion.\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9439.tid",
    "content": "title: $:/changenotes/5.4.0/#9439\ndescription: Fix markup not included in external core edition\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: bugfix\nchange-category: internal\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9218 https://github.com/TiddlyWiki/TiddlyWiki5/pull/9439\ngithub-contributors: Leilei332\n\nFix the problem that tiddlywiki's raw markup shadow tiddlers in `$:/core` is not included in HTML."
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9445.tid",
    "content": "title: $:/changenotes/5.4.0/#9445\ndescription: Add the prevailing mimetype for CSV parser\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: enhancement\nchange-category: developer\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9445\ngithub-contributors: EvidentlyCube\n\nCSV parser used to support only the very obscure `text/tab-delimited-values` mimetype so this change adds the more common `text/tab-separated-values`."
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9452 - diff-text-editcost-param.tid",
    "content": "title: $:/changenotes/5.4.0/#9452\ndescription: Add new editcost parameter to diff-text widget\ntags: $:/tags/ChangeNote\nrelease: 5.4.0\nchange-type: feature\nchange-category: widget\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9452\ngithub-contributors: pmario\n\nSee: [[DiffTextWidget]] -> Attributes and Examples"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9454 - edit-text-rows-precedence.tid",
    "content": "title: $:/changenotes/5.4.0/#9454\ndescription: Ensure rows parameter of edit-text widget takes precedence\ntags: $:/tags/ChangeNote\nrelease: 5.4.0\nchange-type: feature\nchange-category: widget\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9454\ngithub-contributors: pmario\n\n[[Edit-text widget|EditTextWidget]] rows parameter takes precedence and ~CodeMirror editor accepts rows parameter now\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9465.tid",
    "content": "title: $:/changenotes/5.4.0/#9465\ndescription: Import UI now conditionally displays file-type-specific import options\ntags: $:/tags/ChangeNote\nrelease: 5.4.0\nchange-type: enhancement\nchange-category: usability\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9465\ngithub-contributors: linonetwo\n\nThe import UI now displays import options based on the file types being imported. Import options are only shown when relevant files are detected, an example is:\n\n```tid\ntags: $:/tags/ImportOptions\ncondition: [match[text/x-markdown]] :or[match[text/markdown]]\n```\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9466.tid",
    "content": "title: $:/changenotes/5.4.0/#9466\ndescription: ViewToolbar buttons now support condition field\ntags: $:/tags/ChangeNote\nrelease: 5.4.0\nchange-type: feature\nchange-category: hackability\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9466\ngithub-contributors: linonetwo\n\nViewToolbar buttons can now be conditionally displayed based on the currentTiddler using a `condition` field. Similar to how `$:/tags/Exporter` and `$:/tags/EditorTools` already have. An example would be:\n\n```tid\ntags: $:/tags/ViewToolbar\ncondition: [<currentTiddler>type[text/x-markdown]] [<currentTiddler>type[text/markdown]]\n```\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9489.tid",
    "content": "title: $:/changenotes/5.4.0/#9489\ndescription: Fix ActionLogWidget sluggishness\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: bugfix\nchange-category: widget\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9489\ngithub-contributors: yaisog\n\nPR #8972 introduced a change in the ActionLogWidget that could lead to a significant slowdown, which has been fixed.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9494.tid",
    "content": "title: $:/changenotes/5.4.0/#9494\ndescription: Fix LetWidget to always set all staged variables on first render\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: bugfix\nchange-category: widget\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9494\ngithub-contributors: yaisog\n\nThis PR corrects a bug where the LetWidget did not set variables if their value was the empty output of a filtered transclusion.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9495.tid",
    "content": "title: $:/changenotes/5.4.0/#9495\ndescription: Protect cached array data from external mutation\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: bugfix\nchange-category: internal\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9495\ngithub-contributors: yaisog\n\nFunctions returning cached tiddler lists now return shallow copies to prevent external code from inadvertently mutating the cache\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9538.tid",
    "content": "title: $:/changenotes/5.4.0/#9538\ndescription: Fix browser storage plugin making wiki dirty\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: bugfix\nchange-category: plugin\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9538\ngithub-contributors: Jermolene\n\nFixed issue where the browser storage plugin caused the wiki to be marked as dirty every time it starts up. The problem was due to the use of a log tiddler titled `$:/info/browser/storage/persisted`, the fix is to rename it to `$:/state/browser/storage/persisted`."
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9548.tid",
    "content": "title: $:/changenotes/5.4.0/#9548\ndescription: Better infinite transclude recursion handling\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: bugfix\nchange-category: widget\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9458\ngithub-contributors: Flibbles\n\nFixed issue where exceptions occurring during widget rendering could result in junk DOM nodes remaining in widget tree. This was very obvious when max recursion depth exceptions occurred.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9551.tid",
    "content": "title: $:/changenotes/5.4.0/#9551\ndescription: Add words and lines modes to diff-text widget\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: enhancement\nchange-category: widget\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9551\ngithub-contributors: yaisog\n\nThe DiffTextWidget now supports two additional diff modes via the `mode` attribute:\n\n* `mode=\"words\"` - Performs word-level diff operations, making differences more intelligible when comparing text\n* `mode=\"lines\"` - Performs line-level diff operations, highlighting entire lines that have changed\n\nThe default `mode=\"chars\"` continues to work as before, performing character-level diff operations.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9570.tid",
    "content": "title: $:/changenotes/5.4.0/#9570\ndescription: Fix images loaded from _canonical_uri tiddlers not having progress classes assigned\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: bugfix\nchange-category: internal\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9570\ngithub-contributors: Jermolene\n\nFixes issue whereby transcluding a _canonical_uri tiddler with a missing image did not assign the progress classes `tc-image-loading`, `tc-image-loaded` and `tc-image-error`."
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9582.tid",
    "content": "title: $:/changenotes/5.4.0/#9582\ndescription: Refactor code for EditTemplate fields\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: enhancement\nchange-category: internal\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9582\ngithub-contributors: yaisog\n\nRefactored the EditTemplate fields.tid template to improve code maintainability and readability"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9585 - button-classes.tid",
    "content": "title: $:/changenotes/5.4.0/#9585\ncreated: 20260106174849522\nmodified: 20260106174849522\ntags: $:/tags/ChangeNote\nchange-type: enhancement\nchange-category: hackability\ndescription: The button classes of Editor toolbar buttons can now be evaluated as filter expressions\nrelease: 5.4.0\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9585\ngithub-contributors: BurningTreeC\ntype: text/vnd.tiddlywiki\n\nThis change lets you define the button-classes of Editor toolbar buttons as filters for flexible styling\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9598.tid",
    "content": "change-category: filters\nchange-type: bugfix\ncreated: 20260120145005984\ndescription: Fixes a bug with the resolution of functions within the substitute operator, where the function did not have access to variables set in the filter run.\ngithub-contributors: saqimtiaz\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9598\nmodified: 20260120145321774\nrelease: 5.4.0\ntags: \ntitle: $:/changenotes/5.4.0/#9598\ntype: text/vnd.tiddlywiki"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9600.tid",
    "content": "title: $:/changenotes/5.4.0/#9600\ndescription: Fix Ctrl-Enter not working in EditTemplate tag name input\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: bugfix\nchange-category: internal\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9600\ngithub-contributors: yaisog\n\nThe tag name input now calls `<<save-tiddler-actions>>` from the EditTemplate when Ctrl-Enter (or whichever key is assigned to input-accept-variant) is pressed.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9609.tid",
    "content": "change-category: widget\nchange-type: enhancement\ncreated: 20260125124838970\ndescription: Adds support for pointer capture and enabling/disabling to the EventCatcherWidget.\ngithub-contributors: saqimtiaz\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9609\nmodified: 20260125202924515\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\ntitle: $:/changenotes/5.4.0/#9609\ntype: text/vnd.tiddlywiki\n\nThe [[EventCatcher|EventCatcherWidget]] widget has been updated to provide:\n\n1. ''Optional Pointer Capture Support'' \n   Adds native pointer capture handling to improve pointer event reliability and tracking outside the widget DOM nodes boundaries. When enabled, pointer events such as `pointermove`, `pointerup`, and `pointercancel` are correctly captured and routed to the widget, even if the pointer moves off-screen or outside the element.  \n   The pointer capture logic supports two modes of event listener attachment for better performance and control.\n\n2. ''Widget Enable/Disable Control''\n   Adds a new attribute to enable or disable the ~EventCatcher widget at runtime. This allows users to temporarily deactivate event handling without removing the widget or disrupting the DOM structure, enhancing flexibility for dynamic UIs.\n\n3. Access to event properties via the variable `eventJSON` in actions. \n\n4. Deprecation of the error-prone event-detail* variables in favour of using the new `eventJSON` variable."
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9609_impacts_event detail variables in eventcatcher.json",
    "content": "[\n    {\n        \"created\": \"20260125202948362\",\n        \"text\": \"\",\n        \"title\": \"$:/changenotes/5.4.0/#9609/impacts/event detail variables in eventcatcher\",\n        \"modified\": \"20260125203132149\",\n        \"tags\": \"$:/tags/ImpactNote\",\n        \"type\": \"text/vnd.tiddlywiki\",\n        \"changenote\": \"$:/changenotes/5.4.0/#9609\",\n        \"description\": \"`event-detail*` variables have been removed in favour of the new `eventJSON` variable\",\n        \"impact-type\": \"compatibility-break \"\n    }\n]"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9612-toc-level.tid",
    "content": "change-category: hackability\nchange-type: enhancement\ncreated: 20260124121646761\ndescription: The simple toc macro now supports a level parameter\ngithub-contributors: pmario\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9612\nmodified: 20260124131646761\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\ntitle: $:/changenotes/5.4.0/#9612\ntype: text/vnd.tiddlywiki\n\n* The [[toc-macro|Table-of-Contents Macros]] now supports a ''level'' parameter, that allows us to limit the [[toc-levels|Table-of-Contents Macros (Examples)]], that are listed. \n* If the level parameter is active, levels, which have children will show a level indicator at the front. By default it uses the core \"+\" icon\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9617 - select-widget-refresh-default.tid",
    "content": "change-category: widget\nchange-type: bugfix\ncreated: 20260125195754439\ndescription: Refresh widget if \"default\" parameter input value is changed\ngithub-contributors: pmario\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9617\nmodified: 20260125195754439\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\ntitle: $:/changenotes/5.4.0/#9617\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9621 - list-widget-macros-start-endactions.tid",
    "content": "change-category: hackability\nchange-type: enhancement\ncreated: 20260126125300\ndescription: Add start- and endactions to link-widget, list-links-draggable and list-tagged-draggable macros\ngithub-contributors: pmario\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9621\nmodified: 20260126125300\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\ntitle: $:/changenotes/5.4.0/#9621\ntype: text/vnd.tiddlywiki\n\n* [[LinkWidget]] new Attributes and Action Variables section\n* [[list-links-draggable Macro]] new Attributes\n* [[list-tagged-draggable Macro]] new Attributes\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9626.tid",
    "content": "title: $:/changenotes/5.4.0/#9626\ndescription: Bump Katex to latest version\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: enhancement\nchange-category: plugin\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9626\ngithub-contributors: Leilei332\n\nBump Katex to latest version and use woff2 fonts to reduce plugin size."
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9634-cascade-info-tab.tid",
    "content": "title: $:/changenotes/5.4.0/#9634\r\ndescription: Add \"Cascade Details\" to the Advanced tab of the Tiddler Info panel\r\ntags: $:/tags/ChangeNote\r\nrelease: 5.4.0\r\nchange-type: enhancement\r\nchange-category: usability\r\ngithub-links: https://github.com/Jermolene/TiddlyWiki5/pull/9634 https://github.com/Jermolene/TiddlyWiki5/pull/9643\r\ngithub-contributors: DesignThinkerer\r\n\r\n\r\nThe Tiddler Info panel's `Advanced` tab now displays the templates and filters used to render the current tiddler.\r\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9641.tid",
    "content": "title: $:/changenotes/5.4.0/#9641\ndescription: Background actions and media query tracking\ntags: $:/tags/ChangeNote\nrelease: 5.4.0\nchange-type: enhancement\nchange-category: hackability\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9641\ngithub-contributors: Jermolene\n\nIntroduces [[Background Actions]] that are triggered whenever there is a change to the results of a specified filter.\n\nBuilding on that, it also introduces a new [[Media Query Tracker Mechanism]] that can track the results of any CSS media query (not just dark mode), storing the results in a shadow `$:/info/...` tiddler\n\nThese improvements were cherrypicked from [[#8702 - Colour Handling Improvements|https://github.com/TiddlyWiki/TiddlyWiki5/pull/8702]] when it was deferred until v5.5.0.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9655 - german-translations.tid",
    "content": "title: $:/changenotes/5.4.0/#9655\ndescription: Update German translation\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: enhancement\nchange-category: translation\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9655\ngithub-contributors: pmario\n\nBrings German UI texts up to par with English version"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9660.tid",
    "content": "title: $:/changenotes/5.4.0/#9660\r\ndescription: Fix info panel overflow\r\ntags: $:/tags/ChangeNote\r\nrelease: 5.4.0\r\nchange-type: enhancement\r\nchange-category: theme\r\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9660\r\ngithub-contributors: DesignThinkerer\r\n\r\nRemove `overflow: hidden` from the `.tc-tiddler-info` style definition. This allows popups and dropdowns triggered from within the tiddler info panel to extend beyond its boundaries rather than being clipped."
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/#9676.tid",
    "content": "title: $:/changenotes/5.4.0/#9676\ndescription: Fix critical freelinks bugs: first character loss and false positive matches in v5.4.0\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: bugfix\nchange-category: plugin\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9084 https://github.com/TiddlyWiki/TiddlyWiki5/pull/9397 https://github.com/TiddlyWiki/TiddlyWiki5/pull/9676\ngithub-contributors: s793016\n\nFixes and optimizations to the Freelinks plugin's Aho-Corasick implementation following #9397.\n\nFixes:\n* Failure Links Non-Functional (Critical): The failure link map used a plain object `{}` with trie nodes as keys. Since all JavaScript objects coerce to the same string `[object Object]`, every node resolved to the same map entry. Failure links were silently broken for all overlapping patterns. Fixed by replacing with `WeakMap`.\n* Cache Rebuilt on Every UI Interaction (Performance): Any `$:/state/...` update (e.g. clicking tabs) would trigger a full Aho-Corasick rebuild, causing severe lag on large wikis. The `refresh` logic now ignores system tiddlers, with an explicit allowlist for plugin config tiddlers.\n* Short Match Blocking Longer Match: A shorter title appearing earlier (e.g. \"The New\") could prevent a longer overlapping title (e.g. \"New York City\") from matching. Replaced left-to-right greedy selection with global length-first sorting and interval occupation tracking.\n* Unicode Index Desync in ignoreCase Mode: Calling `toLowerCase()` on the full text before searching could change string length (e.g. Turkish \"İ\" expands), causing `substring()` to split Emoji surrogate pairs and produce garbage output. Case conversion is now done per-character during search.\n* Removed Vestigial Regex Escaping: `escapeRegExp()` was called during trie construction but Aho-Corasick operates on literal character transitions, not regex. Removed.\n\nImpact:\n* Overlapping titles now match correctly for the first time.\n* No cache rebuilds during normal UI interactions on large wikis.\n* Correct longest-match behavior for titles sharing substrings.\n* Safe Emoji and complex Unicode handling in case-insensitive mode.\n\n\n#9397\nThis note addresses two major bugs introduced in the Freelinks plugin with the v5.4.0 release:\n\nFixes:\n* First Character Loss: The first character of a matched word would incorrectly disappear (e.g., \"The\" became \"he\"). This was fixed by correctly timing the filtering of the current tiddler's title during match validation, ensuring proper substring handling.\n* False Positive Matches: Unrelated words (like \"it is\" or \"Choose\") would incorrectly link to a tiddler title. This was resolved by fixing wrong output merging in the Aho-Corasick failure-link handling, eliminating spurious matches from intermediate nodes, and adding cycle detection.\n\nImpact:\n* Significantly improved correctness and reliability of automatic linking for all users, especially in multilingual and large wikis.\n\n\n#9084\nThis change introduces a fully optimized override of the core text widget, integrating an enhanced Aho-Corasick algorithm for automatic linkification of tiddler titles within text (freelinks). The new implementation prioritizes performance for large wikis and correct support for non-Latin scripts such as Chinese.\n\nHighlights:\n- Full switch from regex-based matching to a custom, robust Aho-Corasick engine dedicated to rapid, multi-pattern title detection—drastically decreasing linkification time (tested: 1–5s reduced to 100–500ms on ~12,000 tiddlers).\n- Handles extremely large title sets gracefully, including a chunked insertion process and use of a persistent cache (`$:/config/Freelinks/PersistAhoCorasickCache`) to further accelerate subsequent linking operations in large/active wikis.\n- Improvements for CJK and non-Latin text: supports linking using long or full-width symbol titles such as  '：' (U+FF1A) with no split or mismatch.\n- Smart prioritization: longer titles are automatically matched before shorter, more ambiguous ones, preventing partial/incorrect linking.\n- Actively skips self-linking in the current tiddler and prevents overlapping matches for clean, deterministic linkification.\n- End users with large or multilingual wikis see massive performance boost and 100% accurate linking for complex, full-width, or multi-language titles.\n- New options for persistent match cache and word boundary checking (`$:/config/Freelinks/WordBoundary`), both can be tuned based on wiki size and content language needs.\n- Safe for gradual rollout: legacy behavior is preserved if the new freelinks override is not enabled.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/Release 5.4.0.tid",
    "content": "caption: 5.4.0\ncreated: 20250901000000000\nmodified: 20250901000000000\ntags: ReleaseNotes\ntitle: Release 5.4.0\ntype: text/vnd.tiddlywiki\ndescription: Under development\n\n\\procedure release-introduction()\nRelease v5.4.0 deliberately and forensically loosens backwards compatibility to clear the path for significant new features and fundamental improvements to be made in the future.\n\n''Please note that there are some changes that do not yet change notes, please see the change history on ~GitHub for the full list of changes.''\n\nSee the [[project plan|https://github.com/orgs/TiddlyWiki/projects/4]] for full details.\n\\end release-introduction\n\n<<releasenote 5.4.0>>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/add-stylesheet-wiki-info.tid",
    "content": "title: $:/changenotes/5.4.0/#9565\ndescription: Add stylesheet wiki information\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: feature\nchange-category: internal\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9565\ngithub-contributors: Leilei332\n\nExtend wiki information tool to display stylesheet information.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/bump-markdown-it.tid",
    "content": "title: $:/changenotes/5.4.0/#9513\ndescription: Bump markdown-it and its plugins to newest version\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: enhancement\nchange-category: plugin\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9513\ngithub-contributors: Leilei332\n\nUpgrade the markdown-it libraries used by the [[Markdown Plugin]]:\n\n* markdown-it: 14.1.0\n* markdown-it-deflist: 3.0.0\n* markdown-it-footnote: 4.0.0\n* markdown-it-ins: 4.0.0\n* markdown-it-mark: 4.0.0\n* markdown-it-sub: 2.0.0\n* markdown-it-sup: 2.0.0"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/deprecate-util-func - deprecation.tid",
    "content": "title: $:/changenotes/5.4.0/#9251/impacts/deprecation\nchangenote: $:/changenotes/5.4.0/#9251\ncreated: 20251129130610944\nmodified: 20251129130610953\ntags: $:/tags/ImpactNote\ndescription: Some utility functions are deprecated and are discouraged to be used\nimpact-type: deprecation\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/deprecate-util-func.tid",
    "content": "title: $:/changenotes/5.4.0/#9251\ndescription: Deprecate some utility functions\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: deprecation\nchange-category: developer\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9251 https://github.com/TiddlyWiki/TiddlyWiki5/pull/9622\ngithub-contributors: Leilei332 saqimtiaz\n\nDeprecate some utility functions. Some of them are moved to [[$:/core/modules/utils/deprecated.js]]."
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/draft-i18n.tid",
    "content": "title: $:/changenotes/5.4.0/#8891\ndescription: Draft title internationalization\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: enhancement\nchange-category: translation\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/8891\ngithub-contributors: Leilei332\n\nThe title of the draft tiddler is now translatable. These new language strings are provided:\n\n* `$:/language/Draft/Title` The template of the title of a draft tiddler without attribution. The `draft-title` variable represents the title of the new tiddler.\n* `$:/language/Draft/Attribution` The template of the title of a draft tiddler without attribution.\n\nThe translators plugin is also updated."
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/escapecss-split.tid",
    "content": "title: $:/changenotes/5.4.0/#9475\ndescription: Split escapecss.js into two platforms\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: performance\nchange-category: internal\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9475\ngithub-contributors: Leilei332\n\nSplit [[$:/core/modules/utils/escapecss.js]] for two platforms: one for the browser, the other for Node.js. The `CSS.escape` polyfill is moved to `core-server`."
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/improve-alert-a11y.tid",
    "content": "title: $:/changenotes/5.4.0/#9248\ndescription: Improve alert accessibility\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: enhancement\nchange-category: usability\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9248 https://github.com/TiddlyWiki/TiddlyWiki5/pull/9575\ngithub-contributors: Leilei332\n\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/leilei332-update-eslint-config.tid",
    "content": "title: $:/changenotes/5.4.0/#9457\ndescription: Update eslint configuration\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: enhancement\nchange-category: developer\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9457 https://github.com/TiddlyWiki/TiddlyWiki5/pull/9474\ngithub-contributors: Leilei332\n\n* Enforce tab indentation, semicolon\n* Switch off `max-classes-per-file`\n* Switch on `no-eval` rule and disable it in [[$:/boot/boot.js]] with one comment\n* Show warning for unused variables\n* Disable `@stylistic/indent` rule in [[$:/boot/boot.js]] and [[$:/boot/bootprefix.js]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/migrate-to-dmp-es - api.tid",
    "content": "title: $:/changenotes/5.4.0/#9511/impacts/api\nchangenote: $:/changenotes/5.4.0/#9511\ncreated: 20251220010540143\nmodified: 20251220010540143\ntags: $:/tags/ImpactNote\ndescription: The diff-match-patch-es library uses different APIs\nimpact-type: compatibility-break\n\n* Default export and the class constructor has been removed\n* Function name has been unified to camelCase\n* Previous options like Diff_Timeout and Diff_EditCost are now passed as an options object in the arguments if needed"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/migrate-to-dmp-es.tid",
    "content": "title: $:/changenotes/5.4.0/#9511\ndescription: Migrate diff-match-patch library to diff-match-patch-es\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: enhancement\nchange-category: developer\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9511\ngithub-contributors: Leilei332\n\nMigrate the unmaintained [[diff-match-patch|https://github.com/google/diff-match-patch]] library to the maintained and modern fork [[diff-match-patch-es|https://github.com/antfu/diff-match-patch-es]].\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/5.4.0/refactor-base64-util.tid",
    "content": "title: $:/changenotes/5.4.0/#9488\ndescription: Refactor base64 utility functions\nrelease: 5.4.0\ntags: $:/tags/ChangeNote\nchange-type: enhancement\nchange-category: internal\ngithub-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9488\ngithub-contributors: Leilei332\n\nRefactor base64 utility functions in [[$:/core/modules/utils/utils.js]] to make it easier for maintainence.\n\n* Split base64 utility functions to two platforms\n* Use `TextEncoder` and `TextDecoder` api in Node.js\n* Do not export `base64ToBytes` and `bytesToBase64`"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/BetaReleases.tid",
    "content": "created: 20131109105400007\nmodified: 20231220113054682\ntags: Releases BetaReleaseNotes\ntitle: BetaReleases\ntype: text/vnd.tiddlywiki\n\nHere are the details of the beta releases of TiddlyWiki5. See [[TiddlyWiki5 Versioning]] for details of how releases are named.\n\n<<tabs \"[tag[BetaReleaseNotes]!sort[created]] -[<currentTiddler>]\" \"Release 5.0.18-beta\" \"$:/state/tab2\" \"tc-vertical\" \"ReleaseTemplate\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/Release Notes and Changes Internals.tid",
    "content": "title: Release Notes and Changes Internals\n\n! Release Notes\n\nRelease notes describe the changes in a release, and the impact of those changes.\n\nRelease note fields:\n\n* `caption` - the plain version number (eg `5.4.0`)\n* `created` - in DateFormat\n* `modified` - in DateFormat\n* `released` - in DateFormat -- only present if the release has been published\n* `tags` - must include `ReleaseNotes`\n* `title` - the title of the release note (eg `Release 5.4.0`)\n* `description` - a brief description of the release\n* `text` - see below\n\nThe text of the release note should consist of the definition of a variable `release-introduction` followed by the invocation of the `releasenote` procedure. For example:\n\n```\n\\define release-introduction()\nRelease v5.4.0 includes major improvements in a number of areas. See the [[project plan|https://github.com/orgs/TiddlyWiki/projects/4]] for more details.\n\\end release-introduction\n\n<<releasenote 5.4.0>>\n```\n\n! Change Notes\n\nChange notes describe a discrete change within a release. Change note fields:\n\n* `title` - by convention titles are formed `$:/changenotes/<version>/<unique identifier>`. The unique identifier is typically the primary GitHub PR or issue like `#1234` or a GitHub commit ID such as `98f850609d29bc36ded83f90c0d5be231649254b`\n* `tags` - must include `$:/tags/ChangeNote`\n* `change-type` - the type of change as a single string; see [[here|Release Notes and Changes]] for valid values\n* `change-category` - the category of the change; see [[here|Release Notes and Changes]] for valid values\n* `text` - full description of the change\n* `description` - brief description of the change\n* `release` - the release with which this change note is associated (eg `5.4.0`)\n* `github-links` - a list of the ~GitHub links associated with this change\n* `github-contributors` - a list of the ~GitHub handles of the developers responsible for the PR/commits\n\n! Impact Notes\n\nImpact notes describe the impact of a particular change. There can be multiple impact notes for a given change.\n\nImpact note fields:\n\n* `title` - by convention, the title of the associated change note with `/deprecations/` and a unique ID appended `$:/changenotes/5.4.0/#8702/deprecations/darkmode-info-tiddler`\n* `changenote` - the title of the associated change note\n* `created` - in DateFormat\n* `modified` - in DateFormat\n* `tags` - must include `$:/tags/ImpactNote`\n* `description` - a brief description of the impact\n* `impact-type` - the type of impact; see [[here|Release Notes and Changes]] for valid values\n* `text` - description of the impact if required\n\n! Summary Lists\n\nSummary sections are curated via lists stored in fields on the tiddler `$:/tw5.com/releases/info/summary-lists`.\n\nEach field is named `<section>/<release>` and contains a list of change note tiddler titles, for example:\n\n* `highlights/5.4.0`\n* `big-bug-fixes/5.4.0`\n* `clearing-the-decks/5.4.0`\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/Release Notes and Changes.tid",
    "content": "title: Release Notes and Changes\n\nSee [[Release Notes and Changes Internals]] for a detailed breakdown of the tiddlers that make up a release note.\n\n! Release Notes\n\nRelease notes describe the changes in a release, and the impact of those changes. They comprise the following information:\n\n* the version number (eg `5.4.0`)\n* the release date if the release has been published\n* a brief description of the release\n\n! Change Notes\n\nChange notes describe a discrete change within a release. Change note comprise the following information:\n\n* the associated release\n* the change-type from the list below\n* the change-category from the list below\n* a description of the change\n* a list of the ~GitHub links associated with this change\n* a list of the ~GitHub handles of the developers responsible for the PR/commits\n\nValid change note types are as follows:\n\n* ''bugfix''\n* ''feature''\n* ''enhancement''\n* ''deprecation''\n* ''security''\n* ''performance''\n\nValid change categories are as follows: \n\n* ''internal''\n* ''translation''\n* ''plugin''\n* ''widget''\n* ''filters''\n* ''usability''\n* ''theme''\n* ''hackability''\n* ''nodejs''\n* ''performance''\n* ''developer''\n\n! Impact Notes\n\nImpact notes describe the impact of a particular change. There can be multiple impact notes for a given change. They comprise the following information:\n\n* the associated change note\n* a description of the impact\n* the impact type from the list below\n\nValid impact types are as follows:\n\n* ''deprecation'' - there are features or functionality that should no longer be used in new code\n* ''compatibility-break'' - changes are included that break backwards compatibility\n* ''pluginisation'' - functionality has been moved from the core to a plugin\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/ReleaseTemplate.tid",
    "content": "created: 20211117231152248\nmodified: 20211119231156728\ntags: [[Release Template]]\ncode-body: yes\ntitle: ReleaseTemplate\n\n<h2><$link to=<<currentTab>>><$view tiddler=<<currentTab>> field=\"title\"/></$link></h2>\n\n^^Released <$view tiddler=<<currentTab>> field=\"released\" format=\"date\" template=\"DDth MMM YYYY at 0hh:0mm\">TBA</$view>^^\n\n<$transclude tiddler=<<currentTab>> />\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/Releases.tid",
    "content": "created: 20150419144523070\nmodified: 20231005205612322\ntags: About\ntitle: Releases\ntype: text/vnd.tiddlywiki\n\nNew releases of TiddlyWiki and TiddlyDesktop are announced via the [[official discussion groups|Forums]] and [[Twitter|https://twitter.com/TiddlyWiki]]\n\nThe prerelease of the next version of TiddlyWiki can be found at https://tiddlywiki.com/prerelease for testing and review purposes.\n\nSee the [[TiddlyWiki Archive]] to download older versions.\n\n<<tabs \"[[TiddlyWiki Releases]] [[TiddlyDesktop Releases]]\" \"TiddlyWiki Releases\" \"$:/state/tab\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/ReleasesInfo.multids",
    "content": "title: $:/tw5.com/releases/info/\n\ncategory-order: translation usability hackability widget filters plugin theme nodejs developer internal\nchange-type-order: feature enhancement performance bugfix deprecation security\nimpact-type-order: compatibility-break deprecation pluginisation\ntab-order: [[Summary]] [[By Type]] [[By Category]] [[Impacts]]\ncategories/developer/singular: Developer\ncategories/developer/plural: Developer\ncategories/filters/singular: Filters\ncategories/filters/plural: Filters\ncategories/hackability/singular: Hackability\ncategories/hackability/plural: Hackability\ncategories/internal/singular: Internal\ncategories/internal/plural: Internal\ncategories/nodejs/singular: Node.js\ncategories/nodejs/plural: Node.js\ncategories/plugin/singular: Plugin\ncategories/plugin/plural: Plugins\ncategories/theme/singular: Theme\ncategories/theme/plural: Theming\ncategories/translation/singular: Translation\ncategories/translation/plural: Translation\ncategories/usability/singular: Usability\ncategories/usability/plural: Usability\ncategories/widget/singular: Widget\ncategories/widget/plural: Widgets\nchange-types/bugfix/singular: Bugfix\nchange-types/bugfix/colour: #ffe246\nchange-types/bugfix/plural: Bugfixes\nchange-types/deprecation/singular: Deprecation\nchange-types/deprecation/colour: #ff9d6c\nchange-types/deprecation/plural: Deprecations\nchange-types/enhancement/singular: Enhancement\nchange-types/enhancement/colour: #cba5ff\nchange-types/enhancement/plural: Enhancements\nchange-types/feature/singular: Feature\nchange-types/feature/colour: #91ba66\nchange-types/feature/plural: Features\nchange-types/performance/singular: Performance\nchange-types/performance/colour: #c2c7ff\nchange-types/performance/plural: Performance\nchange-types/security/singular: Security\nchange-types/security/colour: #ff6666\nchange-types/security/plural: Security\nimpact-types/compatibility-break/singular: Compatibility Break\nimpact-types/compatibility-break/colour/background: #ddffdd\nimpact-types/compatibility-break/colour/foreground: #228822\nimpact-types/compatibility-break/plural: Compatibility Breaks\nimpact-types/deprecation/singular: Deprecation\nimpact-types/deprecation/colour/background: #ffdddd\nimpact-types/deprecation/colour/foreground: #882222\nimpact-types/deprecation/plural: Deprecations\nimpact-types/pluginisation/singular: Pluginisation\nimpact-types/pluginisation/colour/background: #ddddff\nimpact-types/pluginisation/colour/foreground: #222288\nimpact-types/pluginisation/plural: Pluginisations\ncategories/translation/colour: #7ec8e3\ncategories/usability/colour: #f4a261\ncategories/hackability/colour: #9b8ec4\ncategories/performance/colour: #87ceeb\ncategories/widget/colour: #e78ac3\ncategories/filters/colour: #8cc56d\ncategories/plugin/colour: #f0c674\ncategories/theme/colour: #d4a76a\ncategories/nodejs/colour: #77bb66\ncategories/developer/colour: #6baed6\ncategories/internal/colour: #b0b0b0\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/ReleasesProcedures.tid",
    "content": "title: $:/tw5.com/releases/procedures\ntags: $:/tags/Global\n\n<!-- Generate a link to the changes since the previous release -->\n\\procedure github-release-changes-link(release)\n<a\n\tclass=\"tc-tiddlylink-external\"\n\thref=`https://github.com/TiddlyWiki/TiddlyWiki5/compare/v${ [all[tiddlers]tag[ReleaseNotes]has[released]!sort[released]] :filter[get[released]compare:number:lt<releaseTiddlerCreated>] +[get[caption]] }$...${ [<releaseTiddler>has[released]get[caption]addprefix[v]] :else[[master]] }$`\n\trel=\"noopener noreferrer\"\n\ttarget=\"_blank\"\n>the detailed change history on ~GitHub</a>\n\\end github-release-changes-link\n\n\\procedure banner-credits()\n<%if [<banner-credit-user-name>!match[]] %>\n\t<img src=<<banner-credit-permalink>> width=\"140\" style=\"float:left;margin-right:0.5em;\"/>\n\tCongratulations to\n\t<a\n\t\tclass=\"tc-tiddlylink-external\"\n\t\thref=<<banner-credit-user-link>>\n\t\trel=\"noopener noreferrer\"\n\t\ttarget=\"_blank\"\n\t><$text text=<<banner-credit-user-name>>/></a>\n\tfor their winning design for the banner for this release (here is the\n\t<a\n\t\tclass=\"tc-tiddlylink-external\"\n\t\thref=<<banner-credit-discussion-link>>\n\t\trel=\"noopener noreferrer\"\n\t\ttarget=\"_blank\"\n\t>discussion</a>).\n<%else%>\n\t<$image source=\"New Release Banner\" width=\"140\"/>\n<%endif%>\n<div style=\"clear:both;\"/>\n\\end banner-credits\n\n\\procedure impact-pill(impact-type)\n\\whitespace trim\n<span\n\tstyle.fill={{{ [<impact-type>addprefix[$:/tw5.com/releases/info/impact-types/]addsuffix[/colour/foreground]get[text]] }}}\n\tstyle.color={{{ [<impact-type>addprefix[$:/tw5.com/releases/info/impact-types/]addsuffix[/colour/background]get[text]] }}}\n\tclass={{{ doc-change-note-impact-pill-icon [[doc-change-note-impact-pill-]addsuffix<impact-type>] +[join[ ]] }}}\n>{{$:/core/images/star-filled}}</span>\n<span\n\tclass=\"doc-change-note-impact-pill-text\"\n>\n\t<$text text=<<impact-type>>/>\n</span>\n\\end impact-pill\n\n\\procedure release-section-toggle(state,default)\n\\whitespace trim\n<$reveal type=\"nomatch\" state=<<state>> text=\"open\" default=<<default>> tag=\"span\">\n\t<$action-setfield $tiddler=<<state>> $field=\"text\" $value=\"open\"/>\n\t<span class=\"doc-release-section-toggle\">{{$:/core/images/right-arrow}}</span>\n</$reveal>\n<$reveal type=\"match\" state=<<state>> text=\"open\" default=<<default>> tag=\"span\">\n\t<$action-setfield $tiddler=<<state>> $field=\"text\" $value=\"close\"/>\n\t<span class=\"doc-release-section-toggle\">{{$:/core/images/down-arrow}}</span>\n</$reveal>\n\\end release-section-toggle\n\n\\procedure change-note-type-badge()\n\\whitespace trim\n<$link\n\tto=\"Release Notes and Changes\"\n\tclass=\"doc-link-badge\"\n\tstyle.backgroundColor={{{ [<change>get[change-type]addprefix[$:/tw5.com/releases/info/change-types/]addsuffix[/colour]get[text]] }}}\n>\n\t<$text text={{{ [<change>get[change-type]addprefix[$:/tw5.com/releases/info/change-types/]addsuffix[/singular]get[text]] }}}/>\n</$link>\n\\end change-note-type-badge\n\n\\procedure change-note-category-badge()\n\\whitespace trim\n<$link\n\tto=\"Release Notes and Changes\"\n\tclass=\"doc-link-badge\"\n\tstyle.backgroundColor={{{ [<change>get[change-category]addprefix[$:/tw5.com/releases/info/categories/]addsuffix[/colour]get[text]] }}}\n>\n\t<$text text={{{ [<change>get[change-category]addprefix[$:/tw5.com/releases/info/categories/]addsuffix[/singular]get[text]] }}}/>\n</$link>\n\\end change-note-category-badge\n\n\\procedure change-note-heading()\n\\whitespace trim\n<h3 class=\"doc-change-note-heading\"\n\tstyle.backgroundColor={{{ [<change>get[change-type]addprefix[$:/tw5.com/releases/info/change-types/]addsuffix[/colour]get[text]addsuffix[40]] }}}\n>\n\t<%if [<show-type-badge>!match[no]] %><<change-note-type-badge>><%endif%>\n\t<%if [<show-category-badge>match[yes]] %><<change-note-category-badge>><%endif%>\n\t<%if [<show-tiddler-link>match[yes]] %><$link to=<<change>> class=\"doc-change-note-description-link\"><$transclude $tiddler=<<change>> $field=\"description\" $mode=\"inline\"/></$link><%else%><$transclude $tiddler=<<change>> $field=\"description\" $mode=\"inline\"/><%endif%>\n</h3>\n\\end change-note-heading\n\n\\procedure change-note-impacts()\n\\whitespace trim\n<$list filter=\"[tag[$:/tags/ImpactNote]] :filter[{!!changenote}match<change>] +[sort[description]]\" variable=\"impact\" counter=\"impactCount\">\n\t<div class=\"doc-change-note-info-list-item-caption\">\n\t\t<%if [<impactCount>match[1]] %>Impact:<%endif%>\n\t</div>\n\t<div class=\"doc-change-note-info-list-item-description\">\n\t\t<div class=\"doc-change-note-info-list-item-description-summary\">\n\t\t\t<$transclude $variable=\"impact-pill\" $mode=\"inline\" impact-type={{{ [<impact>get[impact-type]] }}}/>\n\t\t\t<$text text=\": \"/>\n\t\t\t<%if [<show-tiddler-link>match[yes]] %><$link to=<<impact>> class=\"doc-change-note-description-link\"><$transclude $tiddler=<<impact>> $field=\"description\" $mode=\"inline\"/></$link><%else%><$transclude $tiddler=<<impact>> $field=\"description\" $mode=\"inline\"/><%endif%>\n\t\t</div>\n\t\t<div class=\"doc-change-note-info-list-item-description-details\">\n\t\t\t<$transclude $tiddler=<<impact>> $field=\"text\" $mode=\"block\"/>\n\t\t</div>\n\t</div>\n</$list>\n\\end change-note-impacts\n\n\\procedure change-note-github-links()\n\\whitespace trim\n<div class=\"doc-change-note-info-list-item-caption\">\n\t<$text text=\"GitHub: \"/>\n</div>\n<div class=\"doc-change-note-info-list-item-description\">\n\t<$list filter=\"[<change>get[github-links]enlist-input[]]\" variable=\"link\">\n\t\t<a href=<<link>> class=\"doc-github-link\" target=\"_blank\" rel=\"noopener noreferrer\">\n\t\t\t{{$:/core/images/github}}\n\t\t</a>\n\t</$list>\n</div>\n\\end change-note-github-links\n\n\\procedure change-note-info()\n\\whitespace trim\n<div class=\"doc-change-note-info-list\">\n\t<%if [<show-change-impacts>!match[no]] %><<change-note-impacts>><%endif%>\n\t<<change-note-github-links>>\n</div>\n\\end change-note-info\n\n\\procedure change-note-description()\n\\whitespace trim\n<div class=\"doc-change-note-description\">\n\t<$transclude $tiddler=<<change>> $mode=\"block\"/>\n</div>\n\\end change-note-description\n\n\\procedure change-note-item()\n\\whitespace trim\n<div class=\"doc-change-note-item\">\n\t<<change-note-heading>>\n\t<<change-note-info>>\n\t<<change-note-description>>\n</div>\n\\end change-note-item\n\n\\procedure change-note-list(filter)\n\\whitespace trim\n<$list\n\tfilter=<<filter>>\n\tvariable=\"change\"\n\temptyMessage=\"<div class='doc-change-note-empty'>No curated changes yet.</div>\"\n>\n\t<<change-note-item>>\n</$list>\n\\end change-note-list\n\n\\procedure summary-tab()\n\\whitespace trim\nThese are significant improvements that will benefit a broad range of users, and are recommended for everyone to explore.\n<$let show-type-badge=\"yes\" show-category-badge=\"yes\" show-change-impacts=\"yes\" show-tiddler-link=\"yes\"\n\tsummaryListField={{{ [<release>addprefix[highlights/]] }}}\n>\n<$macrocall $name=\"change-note-list\" filter=\"[[$:/tw5.com/releases/info/summary-lists]get<summaryListField>enlist-input[]]\"/>\n</$let>\n\\end summary-tab\n\n\\procedure release-tab-search(stateTiddler)\n\\whitespace trim\n<div class=\"doc-release-tab-search\">\n\t<$edit-text tiddler=<<stateTiddler>> tag=\"input\" placeholder=\"Search...\" default=\"\"/>\n</div>\n\\end release-tab-search\n\n\\procedure change-type-section()\n\\whitespace trim\n<$let changeTypeState={{{ [<release>addprefix[$:/state/release/change-type/]addsuffix[/]addsuffix<change-type>] }}}>\n\t<div class=\"doc-release-section\">\n\t\t<$button class=\"tc-btn-invisible doc-release-section-summary\"\n\t\t\tstyle.backgroundColor={{{ [[$:/tw5.com/releases/info/change-types/]addsuffix<change-type>addsuffix[/colour]get[text]addsuffix[40]] }}}\n\t\t>\n\t\t\t<$macrocall $name=\"release-section-toggle\" state=<<changeTypeState>>/>\n\t\t\t<span class=\"doc-release-section-summary-text\">\n\t\t\t\t<$text text={{{ [[$:/tw5.com/releases/info/change-types/]addsuffix<change-type>addsuffix[/plural]get[text]] }}} />\n\t\t\t\t<$text text=\" \"/><span class=\"doc-release-section-count\">(<$text text={{{ [tag[$:/tags/ChangeNote]] :filter[{!!release}match<release>] :filter[{!!change-type}match<change-type>] +[count[]] }}}/>)</span>\n\t\t\t</span>\n\t\t</$button>\n\t\t<$reveal type=\"match\" state=<<changeTypeState>> text=\"open\" tag=\"div\" class=\"doc-release-section-body\">\n\t\t\t<$let typeFilter=\"[tag[$:/tags/ChangeNote]] :filter[{!!release}match<release>] :filter[{!!change-type}match<change-type>] +[sort[description]]\">\n\t\t\t\t<$macrocall $name=\"change-note-list\" filter=<<typeFilter>>/>\n\t\t\t</$let>\n\t\t</$reveal>\n\t</div>\n</$let>\n\\end change-type-section\n\n\\procedure change-types-tab()\n\\whitespace trim\n<$let show-type-badge=\"no\" show-category-badge=\"yes\" show-change-impacts=\"yes\" show-tiddler-link=\"yes\"\n\tsearchState={{{ [<release>addprefix[$:/state/release/search/change-types/]] }}}\n>\n<$macrocall $name=\"release-tab-search\" stateTiddler=<<searchState>>/>\n<$let searchText={{{ [<searchState>get[text]] }}}>\n<%if [<searchText>!match[]] %>\n\t<div class=\"doc-release-search-count\">\n\t\t<$let count={{{ [tag[$:/tags/ChangeNote]] :filter[{!!release}match<release>] +[search:title,description,text,github-contributors,github-links<searchText>] +[count[]] }}}>\n\t\t\t<$text text={{{ [<count>addsuffix[ ]] }}}/>result<$text text={{{ [<count>!match[1]then[s]] }}}/>\n\t\t</$let>\n\t</div>\n\t<$macrocall $name=\"change-note-list\" filter=\"[tag[$:/tags/ChangeNote]] :filter[{!!release}match<release>] +[search:title,description,text,github-contributors,github-links<searchText>] +[sort[description]]\"/>\n<%else%>\n\t<$list filter=\"[enlist{$:/tw5.com/releases/info/change-type-order}]\" variable=\"change-type\">\n\t\t<<change-type-section>>\n\t</$list>\n<%endif%>\n</$let>\n</$let>\n\\end change-types-tab\n\n\\procedure change-category-section()\n\\whitespace trim\n<$let changeCategoryState={{{ [<release>addprefix[$:/state/release/change-category/]addsuffix[/]addsuffix<category>] }}}>\n\t<div class=\"doc-release-section\">\n\t\t<$button class=\"tc-btn-invisible doc-release-section-summary\"\n\t\t\tstyle.backgroundColor={{{ [[$:/tw5.com/releases/info/categories/]addsuffix<category>addsuffix[/colour]get[text]addsuffix[40]] }}}\n\t\t>\n\t\t\t<$macrocall $name=\"release-section-toggle\" state=<<changeCategoryState>>/>\n\t\t\t<span class=\"doc-release-section-summary-text\">\n\t\t\t\t<$text text={{{ [[$:/tw5.com/releases/info/categories/]addsuffix<category>addsuffix[/plural]get[text]] }}} />\n\t\t\t\t<$text text=\" \"/><span class=\"doc-release-section-count\">(<$text text={{{ [tag[$:/tags/ChangeNote]] :filter[{!!release}match<release>] :filter[{!!change-category}match<category>] +[count[]] }}}/>)</span>\n\t\t\t</span>\n\t\t</$button>\n\t\t<$reveal type=\"match\" state=<<changeCategoryState>> text=\"open\" tag=\"div\" class=\"doc-release-section-body\">\n\t\t\t<$let categoryFilter=\"[tag[$:/tags/ChangeNote]] :filter[{!!release}match<release>] :filter[{!!change-category}match<category>] +[sort[description]]\">\n\t\t\t\t<$macrocall $name=\"change-note-list\" filter=<<categoryFilter>>/>\n\t\t\t</$let>\n\t\t</$reveal>\n\t</div>\n</$let>\n\\end change-category-section\n\n\\procedure change-categories-tab()\n\\whitespace trim\n<$let show-type-badge=\"yes\" show-category-badge=\"no\" show-change-impacts=\"yes\" show-tiddler-link=\"yes\"\n\tsearchState={{{ [<release>addprefix[$:/state/release/search/change-categories/]] }}}\n>\n<$macrocall $name=\"release-tab-search\" stateTiddler=<<searchState>>/>\n<$let searchText={{{ [<searchState>get[text]] }}}>\n<%if [<searchText>!match[]] %>\n\t<div class=\"doc-release-search-count\">\n\t\t<$let count={{{ [tag[$:/tags/ChangeNote]] :filter[{!!release}match<release>] +[search:title,description,text,github-contributors,github-links<searchText>] +[count[]] }}}>\n\t\t\t<$text text={{{ [<count>addsuffix[ ]] }}}/>result<$text text={{{ [<count>!match[1]then[s]] }}}/>\n\t\t</$let>\n\t</div>\n\t<$macrocall $name=\"change-note-list\" filter=\"[tag[$:/tags/ChangeNote]] :filter[{!!release}match<release>] +[search:title,description,text,github-contributors,github-links<searchText>] +[sort[description]]\"/>\n<%else%>\n\t<$list filter=\"[enlist{$:/tw5.com/releases/info/category-order}]\" variable=\"category\">\n\t\t<<change-category-section>>\n\t</$list>\n<%endif%>\n</$let>\n</$let>\n\\end change-categories-tab\n\n\\procedure impact-change-note()\n\\whitespace trim\n<$let change={{{ [<impact>get[changenote]] }}} show-change-impacts=\"no\">\n\t<<change-note-item>>\n</$let>\n\\end impact-change-note\n\n\\procedure impact-note-item()\n\\whitespace trim\n<div class=\"doc-impact-note-item\">\n\t<h3 class=\"doc-impact-note-heading\"\n\t\tstyle.backgroundColor={{{ [<impact>get[impact-type]addprefix[$:/tw5.com/releases/info/impact-types/]addsuffix[/colour/background]get[text]] }}}\n\t>\n\t\t<$transclude $variable=\"impact-pill\" $mode=\"inline\" impact-type={{{ [<impact>get[impact-type]] }}}/>\n\t\t<$text text=\": \"/>\n\t\t<%if [<show-tiddler-link>match[yes]] %><$link to=<<impact>> class=\"doc-change-note-description-link\"><$transclude $tiddler=<<impact>> $field=\"description\" $mode=\"inline\"/></$link><%else%><$transclude $tiddler=<<impact>> $field=\"description\" $mode=\"inline\"/><%endif%>\n\t</h3>\n\t<div class=\"doc-impact-note-details\">\n\t\t<$transclude $tiddler=<<impact>> $field=\"text\" $mode=\"block\"/>\n\t</div>\n\t<<impact-change-note>>\n</div>\n\\end impact-note-item\n\n\\procedure impact-type-section()\n\\whitespace trim\n<$let impactTypeState={{{ [<release>addprefix[$:/state/release/impact-type/]addsuffix[/]addsuffix<impact-type>] }}}>\n\t<div class=\"doc-release-section\">\n\t\t<$button class=\"tc-btn-invisible doc-release-section-summary\"\n\t\t\tstyle.backgroundColor={{{ [[$:/tw5.com/releases/info/impact-types/]addsuffix<impact-type>addsuffix[/colour/background]get[text]] }}}\n\t\t>\n\t\t\t<$macrocall $name=\"release-section-toggle\" state=<<impactTypeState>>/>\n\t\t\t<span class=\"doc-release-section-summary-text\">\n\t\t\t\t<$text text={{{ [[$:/tw5.com/releases/info/impact-types/]addsuffix<impact-type>addsuffix[/plural]get[text]] }}} />\n\t\t\t\t<$text text=\" \"/><span class=\"doc-release-section-count\">(<$text text={{{ [tag[$:/tags/ImpactNote]] :filter[{!!impact-type}match<impact-type>] :filter[{!!changenote}get[release]match<release>] +[count[]] }}}/>)</span>\n\t\t\t</span>\n\t\t</$button>\n\t\t<$reveal type=\"match\" state=<<impactTypeState>> text=\"open\" tag=\"div\" class=\"doc-release-section-body\">\n\t\t\t<$list\n\t\t\t\tfilter=\"[tag[$:/tags/ImpactNote]] :filter[{!!impact-type}match<impact-type>] :filter[{!!changenote}get[release]match<release>] +[sort[description]]\"\n\t\t\t\tvariable=\"impact\"\n\t\t\t>\n\t\t\t\t<<impact-note-item>>\n\t\t\t</$list>\n\t\t</$reveal>\n\t</div>\n</$let>\n\\end impact-type-section\n\n\\procedure impacts-tab()\n\\whitespace trim\n<$let show-tiddler-link=\"yes\"\n\tsearchState={{{ [<release>addprefix[$:/state/release/search/impacts/]] }}}\n>\n<$macrocall $name=\"release-tab-search\" stateTiddler=<<searchState>>/>\n<$let searchText={{{ [<searchState>get[text]] }}}>\n<%if [<searchText>!match[]] %>\n\t<div class=\"doc-release-search-count\">\n\t\t<$let count={{{ [tag[$:/tags/ImpactNote]] :filter[{!!changenote}get[release]match<release>]  +[search:title,description,text<searchText>] +[count[]] }}}>\n\t\t\t<$text text={{{ [<count>addsuffix[ ]] }}}/>result<$text text={{{ [<count>!match[1]then[s]] }}}/>\n\t\t</$let>\n\t</div>\n\t<$list filter=\"[tag[$:/tags/ImpactNote]] :filter[{!!changenote}get[release]match<release>] +[search:title,description,text<searchText>] +[sort[description]]\" variable=\"impact\">\n\t\t<<impact-note-item>>\n\t</$list>\n<%else%>\n\t<$list filter=\"[enlist{$:/tw5.com/releases/info/impact-type-order}]\" variable=\"impact-type\">\n\t\t<<impact-type-section>>\n\t</$list>\n<%endif%>\n</$let>\n</$let>\n\\end impacts-tab\n\n\\procedure credits-tab()\n\\whitespace trim\n<div class=\"doc-release-credits\">\n\tA warm thank you to the developers who have contributed to this release:\n\t<<acknowledgements>>\n</div>\n\\end credits-tab\n\n\\procedure release-tabs()\n\\whitespace trim\n<$macrocall\n\t$name=\"tabs\"\n\ttabsList=\"[enlist{$:/tw5.com/releases/info/tab-order}]\"\n\tdefault=\"Summary\"\n\tclass=\"doc-release-tabs\"\n\ttemplate=\"$:/tw5.com/releases/tab-template\"\n/>\n\\end release-tabs\n\n\\procedure acknowledgements()\n<ol class=\"doc-github-contributors\">\n\t<$list filter=\"[enlist<release-github-contributors>sort[]]\" variable=\"username\">\n\t\t<li>\n\t\t\t<a href={{{ [[https://github.com/]addsuffix<username>] }}} class=\"tc-tiddlylink-external\" target=\"_blank\" rel=\"noopener noreferrer\">\n\t\t\t\t<span class=\"doc-github-contributor-avatar\"><img src={{{ [[https://avatars.githubusercontent.com/]addsuffix<username>addsuffix[?size=64]] }}} width=\"64\" height=\"64\"/></span>\n\t\t\t\t<span class=\"doc-github-contributor-username\">@<$text text=<<username>>/></span>\n\t\t\t</a>\n\t\t</li>\n\t</$list>\n</ol>\n\\end acknowledgements\n\n\\procedure releasenote(release)\n<$let\n\treleaseTiddler={{{ [all[tiddlers]tag[ReleaseNotes]] :filter[{!!caption}match<release>] }}}\n\treleaseTiddlerCreated={{{ [<releaseTiddler>get[created]] }}}\n\trelease-github-contributors={{{ [tag[$:/tags/ChangeNote]] :filter[{!!release}match<release>] :map:flat[enlist{!!github-contributors}] +[sort[]format:titlelist[]join[ ]]}}}\n>\n\nSee <<github-release-changes-link>> and [[other releases|TiddlyWiki Releases]].\n\n<<banner-credits>>\n\n<$transclude $variable=\"release-introduction\" $mode=\"block\"/>\n\n<<release-tabs>>\n\n! Credits\n\n<<credits-tab>>\n\n</$let>\n\\end releasenote\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/ReleasesStyles.tid",
    "content": "title: $:/tw5.com/releases/styles\ntags: $:/tags/Stylesheet\ntype: text/vnd.tiddlywiki\n\n.doc-release-note {\n}\n\n.tc-tab-set.doc-release-tabs {\n\tmargin-top: 1rem;\n}\n\n.doc-release-tab-search {\n\tmargin-bottom: 0.75em;\n}\n\n.doc-release-tab-search input {\n\twidth: 100%;\n\tpadding: 0.5em;\n\tborder: 1px solid #e8e8e8;\n\tborder-radius: 0.25em;\n\tfont-size: inherit;\n\tfont-family: inherit;\n}\n\n.doc-release-search-count {\n\tfont-size: 0.85em;\n\tcolor: #888;\n\tmargin-bottom: 0.5em;\n}\n\n.doc-release-section {\n\tborder: 1px solid #e8e8e8;\n\tborder-radius: 0.5em;\n\tmargin: 0.75em 0;\n\tbackground: #ffffff;\n}\n\n.doc-release-section-summary {\n\tdisplay: flex;\n\talign-items: center;\n\tpadding: 0.5em 0.75em;\n\tfont-weight: 600;\n\tbackground: #f1f1f1;\n\twidth: 100%;\n\tcursor: pointer;\n\ttext-align: left;\n\tborder: none;\n\tfont-size: inherit;\n\tfont-family: inherit;\n\tborder-radius: 0.5em 0.5em 0 0;\n}\n\n.doc-release-section-toggle {\n\tmargin-right: 0.5em;\n}\n\n.doc-release-section-summary-text {\n\tflex: 1 1 auto;\n}\n\n.doc-release-section-count {\n\tfont-weight: normal;\n\topacity: 0.6;\n}\n\n.doc-release-credits {\n\tmargin: 0.75em 0;\n}\n\n.doc-release-section-body {\n\tpadding: 0.5em 0.75em;\n}\n\n.doc-release-note-heading {\n}\n\n.doc-change-note-category, .doc-change-note-heading {\n\tfont-weight: 600;\n\tmargin: 0;\n}\n\n.doc-release-note, .doc-release-note-heading, .doc-change-note-type, .doc-change-note-body, .doc-change-note-impacts {\n}\n\n.doc-change-note-item {\n\tborder: 2px solid #e8e8e8;\n\tborder-radius: 0.5em;\n\tmargin-top: 1em;\n\tmargin-bottom: 1em;\n\tbackground: #f9f9f9;\n}\n\n.doc-change-note-item {\n}\n\n.doc-change-note-heading {\n\tpadding: 0.25em;\n\tbackground: #e8e8e8;\n\tcolor: <<colour foreground>>;\n}\n\n.doc-change-note-heading .doc-link-badge {\n\tmargin-right: 0.25em;\n\tdisplay: inline-block;\n\tvertical-align: baseline;\n}\n\n.doc-change-note-github-links {\n\tborder-top: 1px solid #e8e8e8;\n\tborder-bottom: 1px solid #e8e8e8;\n}\n\n.doc-change-note-info-list {\n\tdisplay: grid;\n\tgrid-template-columns: max-content 1fr;\n\tgap: 0.5rem;\n\tpadding: 0.5rem;\n}\n\n.doc-change-note-info-list-item-caption {\n\ttext-transform: uppercase;\n\tfont-size: 0.7em;\n\tfont-weight: bold;\n\twhite-space: nowrap;\n\ttext-align: right;\n}\n\n.doc-change-note-impact-pill-icon {\n}\n\n.doc-change-note-impact-pill-icon svg {\n\twidth: 1em;\n\theight: 1em;\n\tvertical-align: middle;\n}\n\n.doc-change-note-info-list-item-description-summary {\n\tfont-weight: bold;\n\tfont-size: 0.9em;\n}\n\n.doc-change-note-info-list-item-description-details {\n\tfont-size: 0.85em;\n\tmargin-top: 0.25em;\n\tpadding-left: 1.5em;\n\tborder-left: 2px solid #e8e8e8;\n}\n\n.doc-change-note-description {\n\tpadding: 0.25em;\n\tbackground: #ffffff;\n}\n\n.doc-impact-note-item {\n\tborder: 1px solid #e8e8e8;\n\tborder-radius: 0.5em;\n\tmargin: 0.5em 0;\n\tpadding: 0.5em;\n\tbackground: #f9f9f9;\n}\n\n.doc-impact-note-heading {\n\tfont-weight: 600;\n\tmargin: 0 0 0.25em 0;\n\tpadding: 0.25em 0.5em;\n\tborder-radius: 0.25em;\n}\n\n.doc-impact-note-item > .doc-change-note-item {\n\tfont-size: 0.9em;\n}\n\n.doc-impact-note-details {\n\tfont-size: 0.9em;\n\tmargin-bottom: 0.5em;\n}\n\n.doc-impact-note-change {\n\tdisplay: flex;\n\tgap: 0.5em;\n\talign-items: baseline;\n\tflex-wrap: wrap;\n}\n\n.doc-impact-note-change-caption {\n\ttext-transform: uppercase;\n\tfont-size: 0.7em;\n\tfont-weight: bold;\n\twhite-space: nowrap;\n}\n\n.doc-impact-note-change-link {\n\tfont-weight: 600;\n}\n\n.doc-change-note-description-link {\n\tfont-weight: inherit;\n\tcolor: inherit;\n\ttext-decoration: underline;\n\ttext-decoration-style: dotted;\n}\n\n.doc-change-note-description-link:hover {\n\ttext-decoration-style: solid;\n}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/ReleasesSummaryLists.tid",
    "content": "title: $:/tw5.com/releases/info/summary-lists\ntype: text/vnd.tiddlywiki\nhighlights/5.4.0: [[$:/changenotes/5.4.0/#9055]] [[$:/changenotes/5.4.0/#8972]] [[$:/changenotes/5.4.0/#9641]] [[$:/changenotes/5.4.0/#8258]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/ReleasesTabTemplate.tid",
    "content": "title: $:/tw5.com/releases/tab-template\ntype: text/vnd.tiddlywiki\n\n<%if [<currentTab>match[Summary]] %>\n\t<<summary-tab>>\n<%elseif [<currentTab>match[By Type]] %>\n\t<<change-types-tab>>\n<%elseif [<currentTab>match[By Category]] %>\n\t<<change-categories-tab>>\n<%elseif [<currentTab>match[Impacts]] %>\n\t<<impacts-tab>>\n<%endif%>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/ReleasesViewTemplateBodyChangeNote.tid",
    "content": "title: $:/tw5.com/releases/ViewTemplate/body/changenote\n\n\\whitespace trim\n<$let change=<<currentTiddler>> show-type-badge=\"yes\" show-category-badge=\"yes\" show-change-impacts=\"yes\">\n\t<<change-note-item>>\n</$let>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/ReleasesViewTemplateBodyFilters.tid",
    "content": "title: $:/tw5.com/releases/ViewTemplateBodyFilters\ntags: $:/tags/ViewTemplateBodyFilter\nlist-before:\n\n[tag[$:/tags/ChangeNote]then[$:/tw5.com/releases/ViewTemplate/body/changenote]]\n[tag[$:/tags/ImpactNote]then[$:/tw5.com/releases/ViewTemplate/body/impactnote]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/ReleasesViewTemplateBodyImpactNote.tid",
    "content": "title: $:/tw5.com/releases/ViewTemplate/body/impactnote\n\n\\whitespace trim\n<$let impact=<<currentTiddler>> show-tiddler-link=\"yes\">\n\t<<impact-note-item>>\n</$let>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/TiddlyWiki Releases.tid",
    "content": "caption: ~TiddlyWiki\ncreated: 20131109105400007\nmodified: 20171113161419656\ntags: Releases\ntitle: TiddlyWiki Releases\ntype: text/vnd.tiddlywiki\n\nHere are the details of recent releases of TiddlyWiki5. See [[TiddlyWiki5 Versioning]] for details of how releases are named.\n\n* An overview about all TW versions can be found at the [[TiddlyWiki Archive]].\n\n* If you are using Node.js, you can also install ''prior'' versions like this:\n\n*> npm install -g tiddlywiki@5.3.0\n\n* BetaReleases and AlphaReleases are listed separately\n\n<$list filter=\"[tag[ReleaseNotes]!sort[created]limit[1]]\">\n  <$macrocall $name=\"tabs\" tabsList=\"[tag[ReleaseNotes]!sort[created]]\" default={{!!title}} class=\"tc-vertical\" template=\"ReleaseTemplate\" />\n</$list>"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/alpha/AlphaReleases.tid",
    "content": "created: 20131109105400007\nmodified: 20231220113044942\ntags: Releases AlphaReleaseNotes\ntitle: AlphaReleases\ntype: text/vnd.tiddlywiki\n\nHere are the details of the alpha releases of TiddlyWiki5. See [[TiddlyWiki5 Versioning]] for details of how releases are named.\n\n<<tabs \"[tag[AlphaReleaseNotes]!sort[created]] -[<currentTiddler>]\" \"Release 5.0.1-alpha\" \"$:/state/tab2\" \"tc-vertical\" \"ReleaseTemplate\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/alpha/Release 5.0.0alpha11.tid",
    "content": "created: 201311081754007\nmodified: 201311081754007\ntitle: Release 5.0.0-alpha.11\ntags: AlphaReleaseNotes\nreleased: 201311081806\ncaption: 5.0.0-alpha.11\n\nThis release is the culmination of a large scale refactoring of the widget mechanism of TiddlyWiki5. There are several changes to be aware of if upgrading from earlier versions:\n\n* The following widgets have been removed:\n** `<$setstyle>` - use `<div style=<<macroName Param>>>` instead\n** `<$video>` - will return in a later release\n** `<$datauri>` - use the `<<makedatauri>>` built-in macro instead\n** `<$error>` - may return in a later release\n** `<$import>` - use the BrowseWidget, DropzoneWidget and NavigatorWidget instead\n** `<$info>` - use the `<<changecount>>` built-in macro instead\n** `<$version>` - use the `<<version>>` built-in macro instead\n* The following widgets have had significant changes:\n** EditWidget\n** ListWidget - the list widget itself no longer generates HTML nodes, so you'll often need to wrap the template in a `<div>` or a `<span>` to be able to style the content\n** ViewWidget - has several changes:\n*** `<$view format=\"link\"/>` is no longer available; use an explicit `<$link>` widget instead\n*** `<$view format=\"link\"/>` is no longer available; use the TranscludeWidget instead\n* The following new widgets have been added:\n** BrowseWidget\n** DropzoneWidget\n** EditTextWidget and EditBitmapWidget\n** SetVariableWidget\n* Widget attribute names have been made more consistent. In particular, `tiddler` is used to reference a tiddler by title, not `title`\n* It is no longer possible to import the macro definitions within another tiddler by transcluding that tiddler\n* The `body` element now has the class `tw-body`, which will need to be specified in any overrides\n** This was done due to the new support for HTML foreign objects, which makes it possible to have multiple `<body>` elements in a document\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/alpha/Release 5.0.0alpha12.tid",
    "content": "created: 201311081854007\nmodified: 201311081854007\ntitle: Release 5.0.0-alpha.12\ntags: AlphaReleaseNotes\nreleased: 201311082141\ncaption: 5.0.0-alpha.12\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.0.0-alpha.11...v5.0.0-alpha.12]]//\n\nThis minor release just contains fixes for the syncer and related adaptor modules for the TiddlyWeb edition and for TiddlyWiki5's integrated server.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/alpha/Release 5.0.0alpha13.tid",
    "content": "created: 201311091122007\nmodified: 201311091122007\ntitle: Release 5.0.0-alpha.13\ntags: AlphaReleaseNotes\nreleased: 201311091927\ncaption: 5.0.0-alpha.13\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.0.0-alpha.12...v5.0.0-alpha.13]]//\n\nThis release has several bug fixes:\n\n* Fixes to DaveGifford's themes ''blanca'', ''blue'' and ''rocker''\n* Fix an issue with the `<$edit-text>` widget\n* Documentation updates\n* Improved deployment scripts\n* Made the modifier field in the subtitle be a link\n* Styling improvements for the CodeMirror plugin\n* Improved the ViewWidget so that it falls back to displaying its content if the field/property is missing or empty\n* Extend use of the built-in `<<tabs>>` macro to the tiddler info panel, the control panel and the sidebar\n** This means that you can add new tabs by creating tiddlers with these tags, and optionally a `caption` field for the text of the tab:\n*** [[$:/tags/TiddlerInfo]] for tiddler info panel tabs\n*** [[$:/tags/ControlPanel]] for control panel tabs\n*** [[$:/tags/SideBar]] for sidebar tabs\n*** [[$:/tags/MoreSideBar]] for tabs in the \"more\" sidebar\n*** Change the order of tabs by adjusting the `list` field of the corresponding tag tiddler\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/alpha/Release 5.0.0alpha14.tid",
    "content": "created: 201311101922007\nmodified: 201311101922007\ntitle: Release 5.0.0-alpha.14\ntags: AlphaReleaseNotes\nreleased: 201311102315\ncaption: 5.0.0-alpha.14\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.0.0-alpha.13...v5.0.0-alpha.14]]//\n\nThis release has several bug fixes:\n\n* Improved the layout of the [[control panel|$:/ControlPanel]]\n* Fixed problem with using the CheckboxWidget to apply tags to tiddlers that don't have any existing tags\n* Fixed problem with default password for the PasswordWidget being the string \"null\"\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/alpha/Release 5.0.0alpha15.tid",
    "content": "created: 201311122050007\nmodified: 201311122050007\ntitle: Release 5.0.0-alpha.15\ntags: AlphaReleaseNotes\nreleased: 201311191221\ncaption: 5.0.0-alpha.15\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.0.0-alpha.14...v5.0.0-alpha.15]]//\n\n!! New Features\n\n* Added a dropdown to the edit template for setting the tiddler type\n* A saver module for Microsoft Internet Explorer version 10 and above. Clicking save in the sidebar causes the browser to pull up a bar at the bottom of the window where you can click ''save''. You then get a new copy of your wiki in the downloads folder.\n* Support for new `tw-close-other-tiddlers` message (eg, <$button message=\"tw-close-other-tiddlers\">close others</$button>)\n* For http://five.tiddlywiki.com, add a tiddler info tab with a link to the static representation of the tiddler\n* Make more UI elements extensible via system tags:\n** [[$:/tags/ViewToolbar]] for the view mode tiddler toolbar\n** [[$:/tags/EditTemplate]] for the edit template\n** [[$:/tags/EditToolbar]] for the edit mode tiddler toolbar\n** [[$:/tags/PageControls]] for the page control tools in the sidebar\n\n!! Improvements\n\n* Rename the `<$setvariable>` to `<$set>`\n** `<$setvariable>` will temporarily remain as a synonym for `<$set>` for the next few releases\n* Improve the popup mechanism so that the tiddler info panel doesn't close so easily\n* Various improvements for working with TiddlyWeb, including:\n** Updated control panel\n\n!! Bug fixes\n\n* Fixed bug when creating a tiddler title starting or ending with a space\n* Fixed behaviour of tags editor dropdown when search box is empty\n* Fixed problem with interpretation of `fields` and `index` attributes of the TranscludeWidget\n* Fixed the module type names in the internal tab of the control panel\n* Improved styling for embedded PDFs\n* Fixed bug with second being omitted from serialised date formats\n\nContributors to this release include @jermolene and @grayeul.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/alpha/Release 5.0.0alpha16.tid",
    "content": "created: 20131119125600007\nmodified: 20131130095531749\ntags: AlphaReleaseNotes\ntitle: Release 5.0.0-alpha.16\ntype: text/vnd.tiddlywiki\nreleased: 201311301325\ncaption: 5.0.0-alpha.16\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.0.0-alpha.15...v5.0.0-alpha.16]]//\n\n!! New Features and Improvements\n\n* Improved appearance of tags editor\n* Improved generation of qualified tiddler titles for state storage\n** Instead of `$:/state/tab/sidebar-{$:/core/ui/SideBar|$:/core/ui/SideBar||}{$:/core/ui/PageTemplate|$:/core/ui/PageTemplate||}` one gets `$:/state/tab/sidebar-{1743827719}`\n* Significant updates to the structure and content of the user documentation\n* Added a new plugin for displaying corner ribbons; currently used for a version banner on tw5.com\n* Split ''Snow White'' theme into a base ''Vanilla'' theme with all the basic formatting, leaving the decorative bits to ''Snow White''\n** Existing TiddlyWikiFolders will need updating to include ''Vanilla'' as an additional theme\n* The page building blocks are now driven by the system tag `$:/tags/PageTemplate`\n** [[$:/TopSideBar]] and [[$:/LeftSideBar]] are no longer specially treated; use the new tag instead\n* Fixed problem that prevented tag configured items from shadow tiddlers interleaving with items from ordinary tiddlers\n* Refactored control panel to add ''Saving'' tab that includes TiddlySpot options\n* Improved notifications when saving to TiddlySpot\n* Added backup URL to TiddlySpot control panel tab\n* Extended the ServerCommand to add primitive support for basic authentication when running under [[Node.js]]\n\n!! Bug fixes\n\n* Fixed problem with displaying tiddler titles that contain WikiText syntax\n* No longer crashes when encountering an error in a filter string\n* Fixed a crash when dragging and dropping tiddlers within TiddlyWiki5\n* No longer update the modified date for imported tiddlers\n* Automatically forces new field names to be lower case\n\n!! Internal changes\n\n* Added Windows-compatible build scripts\n* Changes to the SavingMechanism to allow the tiddlers that are saved to be selected\n** This enables the wiki at http://five.tiddlywiki.com/index.html to generate an empty wiki\n* The main HTML file template used for saving TiddlyWiki5 documents has changed from `$:/core/templates/tiddlywiki5.template.html` to `$:/core/save/all`\n* Moved tw5.com's Google Analytics integration into a proper plugin\n\nContributors to this release include @jermolene, @asampal and @pmario.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/alpha/Release 5.0.0alpha17.tid",
    "content": "created: 20131130151600007\nmodified: 20131130151631749\ntags: AlphaReleaseNotes\ntitle: Release 5.0.0-alpha.17\ntype: text/vnd.tiddlywiki\nreleased: 201311301519\ncaption: 5.0.0-alpha.17\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.0.0-alpha.16...v5.0.0-alpha.17]]//\n\n!! Bug fixes\n\n* Fixes a small but important bug that prevented downloading an empty wiki with alpha.16\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/alpha/Release 5.0.1alpha.tid",
    "content": "created: 20131201132300007\nmodified: 20131206161343895\ntags: AlphaReleaseNotes\ntitle: Release 5.0.1-alpha\ntype: text/vnd.tiddlywiki\nreleased: 201312061753\ncaption: 5.0.1-alpha\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.0.0-alpha.17...v5.0.1-alpha]]//\n\n!! Improvements\n\n* Changes to the importing process to enable a smoother [[Upgrading]] process\n** Ignores attempts to import plugins that are older than currently installed plugins\n** System tiddlers are now imported as usual\n* If `$:/theme` isn't defined or refers to a missing tiddler, then fallback through ''Snow White'' to ''Vanilla''. This means that `empty.html` now defaults to ''Snow White''\n* Added support for [[Block Quotes in WikiText]]\n** Contributed by StephanHradek (@Skeeve on GitHub)\n\n!! Bug fixes\n\n* Fixed bug that was preventing `$:/tags/PageControls` tiddlers from being reordered\n\n!! Internal changes\n\n* Changed the [[TiddlyWiki5 Versioning]] policy\n** Beta releases will be `5.0.x-beta` and the final release will be `5.1.x`\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/beta/Changes to filters in 5.0.9-beta.tid",
    "content": "created: 20140403223413403\nmodified: 20140403223524945\ntags: [[Release 5.0.9-beta]]\ntitle: Changes to filters in 5.0.9-beta\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nThis release resolves a number of inconsistencies with the way that filters are handled. The changes mean that existing filters may need to be updated - particularly those that must deal with missing or shadow tiddlers.\n\n! Changes to ''is'' and addition of ''all''\n\nMost filter operators act by choosing some or all of their source titles to pass through or re-order. Those that add new entries that are not drawn from the source list are referred to as selectors. Prior to 5.0.9-beta, a few filter operators were inconsistent in whether they filtered from the source list or selected new entries into it. \n\nThe specific changes are:\n\n* The ''is'' operator now always strictly filters from the currently selected list of tiddlers\n* The new ''all'' operator acts as a selector by replacing the current list with a combination of tiddlers from specific sources:\n** ''current'' for the current tiddler\n** ''missing'' for all missing tiddlers\n** ''orphans'' for all orphan tiddlers\n** ''shadows'' for all shadow tiddlers\n** ''tiddlers'' for all non-shadow tiddlers (including both system and non-system tiddlers)\n\nThe sources for the ''all'' operator can be combined with the `+` character. For example, `[all[shadows+tiddlers]]` returns all shadow tiddlers and all ordinary tiddlers.\n\nPreviously, it was common to have `[is[shadow]]` at the start of a filter string to select all the shadow tiddlers. In 5.0.9 and above, this will not return all the shadow tiddlers, but instead just those ordinary tiddlers that are also shadow tiddlers (by virtue of having overridden one). The resolution is to use the new ''all'' operator. For example, consider this filter from 5.0.8:\n\n```\n[is[shadow]!has[draft.of]tag[$:/tags/AdvancedSearch]] [!is[shadow]!has[draft.of]tag[$:/tags/AdvancedSearch]] +[tag[$:/tags/AdvancedSearch]]\n```\n\nIn 5.0.9, that filter has been changed to:\n\n```\n[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch]!has[draft.of]]\n```\n\nNote how the ''all'' operator allows operations to be performed on tiddlers from combinations of sources.\n\n!! Changes to `[is[current]]`\n\nOne result of the changes is that `[is[current]]` now strictly filters from the source tiddlers; so, if the current tiddler is a missing tiddler not in the source list, then `[is[current]]` will return an empty list.\n\nThe solution is generally to use `[all[current]]` instead. It doesn't read as well, but has the required behaviour of returning just the current tiddler, regardless of whether it is in the source tiddlers.\n\n! Changes to ''title'' and ''field''\n\nThere are minor changes to the way that the ''title'' and ''field'' operators work.\n\nThe ''title'' operator is a selector: it returns the specified title regardless of whether it is in the current source. ''title'' is used as the default operator if none is specified\n\nThe ''field'' operator is a filter: it only returns a subset of the source tiddlers. ''field'' is used as the default operator if the supplied operator is not defined (the supplied operator is passed as the suffix to the field operator, so `[description[Missing]]` is equivalent to `[field:description[Missing]]`).\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/beta/Notes for upgrading to 5.0.11-beta.tid",
    "content": "created: 20140516150234142\nmodified: 20140516150234142\ntags: [[Release 5.0.11-beta]]\ntitle: Notes for upgrading to 5.0.11-beta\ntype: text/vnd.tiddlywiki\n\nVersion 5.0.11-beta includes some changes that can break content from earlier releases of ~TiddlyWiki 5.\n\n! Command line changes\n\nPreviously, commands that generate output files would interpret the specified path to the file as being relative to the current working directory. So, for example, the following command would write `index.html` to the current directory:\n\n```\ntiddlywiki mywiki --rendertiddler $:/core/save/all index.html text/plain\n```\n\nIn 5.0.11-beta this behaviour has changed, and now the specified filename is resolved relative to an `output` folder within the TiddlyWikiFolder. So the command above will now write the file `index.html` to `mywiki/output/index.html`.\n\nYou can override this behaviour with the OutputCommand. For example, to generate the `index.html` file within the current directory:\n\n```\ntiddlywiki mywiki --output . --rendertiddler $:/core/save/all index.html text/plain\n```\n\nA further change is that the `--rendertiddlers` command now clears the output folder before it writes any files. This means that any previous `--rendertiddler` commands to the same folder will have their output deleted.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/beta/Notes for upgrading to 5.0.8-beta.tid",
    "content": "created: 20140223183404938\nmodified: 20140223195514667\ntags: [[Release 5.0.8-beta]]\ntitle: Notes for upgrading to 5.0.8-beta\ntype: text/vnd.tiddlywiki\n\nVersion 5.0.8-beta includes some changes that can break content from earlier releases of ~TiddlyWiki 5.\n\n! Change to [[$:/SiteTitle]] and [[$:/SiteSubtitle]]\n\nYou should rename any existing SiteTitle and SiteSubtitle tiddlers to [[$:/SiteTitle]] and [[$:/SiteSubtitle]] respectively.\n\n! Changed parsing rules for content of HTML elements\n\nVersion 5.0.8-beta marks a change in the way that TiddlyWiki determines whether to parse the content of an HTML element or widget in //block mode// or //inline mode//.\n\n* In block mode, TiddlyWiki parses text into paragraphs, creating `<p>` tags to wrap them. It also recognises block syntax like headings, lists and tables.\n\n* In inline mode, TiddlyWiki ignores paragraph formatting, and just recognises character formatting, like bold and italic.\n\nIt's important to be able to control which type of parsing is performed for different situations.\n\nPrior to 5.0.8-beta, TiddlyWiki parsed the content of an element in inline mode unless the opening tag of the element were immediately followed by a line break. This meant that much of the time element tags would be shunted together into a long line, hindering readability.\n\nThe new behaviour for 5.0.8-beta is to parse the content of an element in inline mode unless the opening tag is immediately followed by two line breaks.\n\nTo adjust existing content for 5.0.8-beta you will need to manually add the additional line break after the opening tag of elements and widgets whose content should be parsed in block mode.\n\nThe positive aspect of the change is that it removes the need to pack multiple HTML tags onto a single line, improving readability.\n\n!! Examples\n\nConsider the difference between these two examples. First, here's an HTML tag that starts with two line breaks:\n\n<<wikitext-example src:\"\n<blockquote>\n\n! This is a heading\n\nAnd a paragraph of text.\n\n</blockquote>\n\">>\n\nSecondly, here's an HTML tag with just a single line break. Notice how the heading is no longer recognised as a heading\n\n<<wikitext-example src:\"\n<blockquote>\n! This is a heading\n\nAnd a paragraph of text.\n</blockquote>\n\">>\n\n! Changed commands for [[TiddlyWiki on Node.js]]\n\nThe handling of wiki folders has changed. Previously, if the `tiddlywiki` command was run against a wiki folder that didn't have the necessary `tiddlywiki.info` file then it would be automatically created. Now, the wiki folder must be initialised with the InitCommand.\n\nThis is how to create and start a new server-based wiki:\n\n```\ntiddlywiki mywikifolder --init server\ntiddlywiki mywikifolder --server\n```\n\nNote that the name of the ''clientserver'' edition has changed to ''server''.\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/beta/Release 5.0.10beta.tid",
    "content": "created: 20140416160234142\nmodified: 20150118182457000\ntags: BetaReleaseNotes\ntitle: Release 5.0.10-beta\ntype: text/vnd.tiddlywiki\nreleased: 201404191305\ncaption: 5.0.10-beta\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.0.9-beta...v5.0.10-beta]]//\n\n!! Highlights\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/ad4b03506a62d7110cb30aaa3d6f8dbfc712f246]] new syntax for [[Images in WikiText]] and a new ImageWidget\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/ba576d9f1b2146cec293447b2968e34f0c594a05]] support for a SafeMode that disables customisations\n\n!! Documentation Improvements\n\n* Added DateFormat documentation\n\n!! Usability Improvements\n\n* [[Refactor|https://github.com/TiddlyWiki/TiddlyWiki5/commit/bb42c0ab360760917ad5bde84f15350186a9471a]] sorting to respect accented characters\n* [[Support|https://github.com/TiddlyWiki/TiddlyWiki5/commit/45b0966013c760abab5b3f7faea0e59af2ca5619]] embedded images in Markdown tiddlers\n* [[Refactored|https://github.com/TiddlyWiki/TiddlyWiki5/commit/821f1f1428f92160ae8bc4fa71dd3f947243f09e]] sidebar hiding action so that the story river border is maintained\n\n!! Hackability Improvements\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/15d0c27e2a82359616ce6c7883557cd2ef1886cd]] `[is[tag]]` to the <<.olink is>> operator\n* [[Hide|https://github.com/TiddlyWiki/TiddlyWiki5/commit/95d291daac4a26664f0c232175f54780f0fa678f]] the top bars in the print stylesheet\n\n!! Bug Fixes\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/4758874d13430338da07727997d0c4df7f328ac1]] support for saving changes on Windows network drives\n* [[Refactored|https://github.com/TiddlyWiki/TiddlyWiki5/commit/9fbe72a8778ae94c7d6322ad4b9155c83f753113]] configuration processing so that ordinary tiddlers are processed after shadow tiddlers. This resolves an issue whereby user stylesheets were being overridden by shadow stylesheets\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/d6054f10392c535ca430f3e73b9b68d0f8c18498]] issue with offline snapshot of server edition erroneously including shadow tiddlers\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/bd4a031df8a68287475a41ad84b423ad83f735a3]] problem with corrupted upgrades from 5.0.x-prerelease to 5.0.x-beta\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/73cfd1021809e97906ecfd5dacdf2337da3abae9]] bug with `[untagged[]]` filter operator\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/d336ffea02621e382f6d7135847d11e49e77bc26]] incorrect background colour for tag pills in the sidebar\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/f57e04787738ad30fb05ac0e592239075b90507e]] issues with null fields under TiddlyWeb\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/768489128547cf54e80fc321f3f1f4f5cd191862]] problem with hamburger overlapping scrollbars\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/beta/Release 5.0.11beta.tid",
    "content": "created: 20140516150234142\nmodified: 20150221225737000\ntags: BetaReleaseNotes\ntitle: Release 5.0.11-beta\ntype: text/vnd.tiddlywiki\nreleased: 201405161600\ncaption: 5.0.11-beta\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.0.10-beta...v5.0.11-beta]]//\n\n!! Incompatible Changes\n\nSee [[Notes for upgrading to 5.0.11-beta]] for more details of these changes:\n\n* The default output location for command line operations has changed to the `/output` folder within TiddlyWikiFolders (it used to be current directory)\n* Note that the shadow tiddler [[$:/core/ui/PageMacros]] has changed with this release. If you've made modifications to it you should copy your modifications to a new tiddler, delete [[$:/core/ui/PageMacros]], perform the upgrade and then manually update the new copy of [[$:/core/ui/PageMacros]]\n\n!! Documentation Improvements\n\n* Added more warnings about taking care to [[backup your data|The First Rule of Using TiddlyWiki]]\n\n!! Usability Improvements\n\n* Many performance optimisations, particularly for filter operations\n* Added support for PermaLinks and browser back and forward buttons\n* Added support for WikiLinks in Markdown via `[link text](#TiddlerTitle)`\n* Added support for explicit external [[Linking in WikiText]] (eg `[ext[tooltip|url]]`)\n* [[Replaced|https://github.com/TiddlyWiki/TiddlyWiki5/issues/580]] hamburger menu icon with double chevron icon\n* [[Enhance|https://github.com/TiddlyWiki/TiddlyWiki5/commit/552657fc584dbb36754d3fcabca2cdef7e916ec9]] plain text parsing to use the CodeBlockWidget, and hence use syntax highlighting if the plugin is installed. This gives us syntax highlighting for JavaScript shadow tiddlers, amongst other things\n* Improvements to the German, French, Italian, Japanese and Chinese translations\n* [[Removed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/61c3f8a5ba3c815d623c06f6a97d9c00a31a4157]] WikiText tiddlers from the sidebar \"Types\" tab\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/a90339d1e573ec82dba1caeaead0f71717618a80]] various warnings when editing shadow tiddlers\n* [[Allow|https://github.com/TiddlyWiki/TiddlyWiki5/commit/0ac4c2b554f045c6bd2dc6ea5daa0d2f0397d04c]] digits in field names\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/a4294b55f0a217d019a6e4cbb62f6a8a19668928]] warning banner and when attempting to edit binary tiddlers\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b84c663215cf7877fff960748af4b2849ae0dbb3]] automatic refreshing of the browser window title from $:/core/wiki/title\n\n!! Hackability Improvements\n\n* Improved vertical layouts of <<.mlink tabs>> macro\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/93566cdc332226b77eaba8a70fa166f3b8fcfe1e]] \"standard\" tab to [[advanced search|$:/AdvancedSearch]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/e83759e86d2a9e05e4b85dae50925fe988f8e239]] new filter operators <<.olink before>> and <<.olink after>>\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/570cad1c7f90e685961130918f09a7f9b2951f8c]] new <<.olink get>> operator\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/f7e50e0950c5bf10d94d926576011893418b25f1]] [[BuildCommand]], [[OutputCommand]] and [[ClearPasswordCommand]]\n* Added new extensible StartupMechanism for orchestrating startup tasks\n* [[Updated|https://github.com/TiddlyWiki/TiddlyWiki5/commit/711b76307c95d0026f79f584e85ae3d4b7289d15]] to new version of CodeMirror\n* Added https://github.com/TiddlyWiki/TiddlyWiki5NodeWebkit, a demo of using TiddlyWiki as a library in a node-webkit application\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/commit/4e07b3335b570f4039427e11df729fc4a899a671]] `.tid` TiddlerFiles to allow single line text fields\n* Renamed `$:/ShowEditPreview` to `$:/state/showeditpreview`\n\n!! Bug Fixes\n\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/cc60ad1428dcf99a7ea0787e43e3b37f5a02fb98]] issue with hovering of the topbar icons in Firefox\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/e548dd35af2d3195f82899096d4a4080362a1ff0]] problem with dragging and dropping within a text edit control\n\n!! Contributors\n\nI ([[@Jermolene|https://github.com/Jermolene]]) would like to thank the contributors to this release who have generously given their time to helping improve TiddlyWiki:\n\n[[@BramChen|https://github.com/BramChen]], [[@mwfogleman|https://github.com/mwfogleman]], [[@nameanyone|https://github.com/nameanyone]], [[@natecain|https://github.com/natecain]], [[@pekopeko1|https://github.com/pekopeko1]], [[@pmario|https://github.com/pmario]], [[@sukima|https://github.com/sukima]], [[@xcazin|https://github.com/xcazin]].\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/beta/Release 5.0.12beta.tid",
    "content": "created: 20140517010234142\nmodified: 20140517010234142\ntags: BetaReleaseNotes\ntitle: Release 5.0.12-beta\ntype: text/vnd.tiddlywiki\nreleased: 201405170102\ncaption: 5.0.12-beta\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.0.11-beta...v5.0.12-beta]]//\n\nThis is an emergency release that fixes a single significant bug with shadow tiddler handling in 5.0.11. See the [[discussion thread|https://groups.google.com/d/topic/tiddlywiki/pNxZsSCVp7c/discussion]] for more details.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/beta/Release 5.0.13beta.tid",
    "content": "created: 20140518150234142\nmodified: 20150118182554000\ntags: BetaReleaseNotes\ntitle: Release 5.0.13-beta\ntype: text/vnd.tiddlywiki\nreleased: 201406240941\ncaption: 5.0.13-beta\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.0.12-beta...v5.0.13-beta]]//\n\n!! Accessibility Improvements\n\nThis release includes a number of features designed to improve the experience of TiddlyWiki with a screen reader. Particular thanks to [[@domasofan|https://github.com/domasofan]] for his feedback\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/34e4166dc5f24519b000de66853d5b1aee8f1648]] label and title for show/hide sidebar buttons\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/346b2f86111815c746c993fa09b7f677fa0b4b37]] label and title for advanced search link\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/6f859c8d447a477a9120bdc308d1524558a80f20]] label and title for close buttons in \"Open\" sidebar tab\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/06b0f9adb7209870b46d42f832c1f7ad7a78976f]] ''aria-label'' support to the LinkWidget\n* [[Switched|https://github.com/TiddlyWiki/TiddlyWiki5/commit/bc9b67cbc3f363d48aafea86c077fcd5a9c0ca64]] to H1 tags for the page title and H2 tags for tiddler titles\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/eeedcb6d94a25d02e8fec45c89b30c7f2bcdde73]] label and title for tiddler and page toolbar buttons\n\n!! Usability Improvements\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/9ab0c84140bbc0f31cf65e632bddac616bbadbda]] support for global [[Macros in WikiText]] via the new ImportVariablesWidget\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/3182a2d599f0e4b70a73fe369df4f398587dc1a9]] new SelectWidget\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/f131c378934a86b741ab5b808437c95694dc5503]] behaviour of `text/html` tiddlers so that they are displayed within an HTML iframe element\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/9b576f2a8d39dcca37bcb709183a8f9b27f33ccf]] group headings to the content type dropdown in edit mode\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/4d70d5780e51cf0918fba15954cd47549e4e1a9f]] advanced navigation settings in [[$:/ControlPanel]] to use radio buttons\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/f7b8813a27141a78980eefa03df70a4a2de9d10b]] (and [[here|https://github.com/TiddlyWiki/TiddlyWiki5/commit/3f25db0abe8cd28712c020f218506710cec004b6]]) behaviour of PermaLinks so that now [ext[https://tiddlywiki.com/#HelloThere]] just opens the single specified tiddler\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/0c48502e8ed214cee23537d06e7e87efd53592c7]] support for triple-quoted multi-line attributes with [[macros|Macros in WikiText]], [[widgets|Widgets in WikiText]] and [[HTML elements|HTML in WikiText]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/32099b85d3b12f9e590274cb7550e3e531131706]] TableOfContents tab for tw5.com edition\n\n!! Hackability Improvements\n\n* [[Restored|https://github.com/TiddlyWiki/TiddlyWiki5/commit/1b37d660ea7cd576cfeadfe8b782fe6c62dc9048]] ''escape'' as a shortcut to abandon edits\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/9547a1f01c144c604c294f394a68d7dc6dbe4e5d]] support for ExternalImages that are referenced by URI and not stored in the TiddlyWiki HTML file\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/d2796d0c9c7ed7a971ae6b0752d7418384072bb5]] new SetFieldCommand\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/305617b632fd6ecf25cd4be85f4dfb5a5a65dfef]] new SaveTiddlersCommand\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/f14ecf4eb8965f2e407ccac51d4277330221efe3]] support for system tag [[$:/tags/RawMarkup]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/0bdc5b5c70fbbf34aa459afcf0499fc9c8ae6374]] editor type mappings to control panel advanced tab\n* [[Refactored|https://github.com/TiddlyWiki/TiddlyWiki5/commit/1717c93d001ad184a08ca66d1bffb33fb5d32b3a]] CodeMirror (https://tiddlywiki.com/codemirrordemo.html) plugin for simpler configuration\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b2e48d00e9ea068a22b5ac5c0a4c93e8ddbb4a8a]] support for [[Environment Variables on Node.js]]\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/commit/eee3a0cf8e5aa047f8596df06e28194409f38b01]] ServerCommand to allow a path prefix\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/commit/4238af2a405c14d22937d7c47a70bfb3d4e6f22d]] the <<.olink listed>> operator to use any list field\n\n!! Bug Fixes\n\n* Fixed [[here|https://github.com/TiddlyWiki/TiddlyWiki5/commit/6fb992690d33940d3509d7d4d74538e7f458e063]] and [[here|https://github.com/TiddlyWiki/TiddlyWiki5/commit/0fae9ee99200e7eca30b9db0584c479d58841349]] the problem with state tiddlers being inadvertently saved\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/a03a15e7de32a1b41618146ac334b5cd7d432e91]] bug with TextWidget not refreshing correctly\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/d8a142fed5b22a8273d93ba05095e5f9c6929cb3]] problem with vertical tabs in Safari\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b8aedf2ca3cfc870be5a46accbb2dc0ddbb6d451]] issue with images in Markdown\n\n!! Contributors\n\n[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:\n\n* [[@BramChen|https://github.com/BramChen]]\n* [[@buggyj|https://github.com/buggyj]]\n* [[@csugden|https://github.com/csugden]]\n* [[@danielo515|https://github.com/danielo515]]\n* [[@IreneKnapp|https://github.com/IreneKnapp]]\n* [[@jayfresh|https://github.com/jayfresh]]\n* [[@mwfogleman|https://github.com/mwfogleman]]\n* [[@xcazin|https://github.com/xcazin]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/beta/Release 5.0.14beta.tid",
    "content": "caption: 5.0.14-beta\ncreated: 20140718150234142\nmodified: 20150221225749000\ntags: BetaReleaseNotes\ntitle: Release 5.0.14-beta\ntype: text/vnd.tiddlywiki\nreleased: 201408131731\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.0.13-beta...v5.0.14-beta]]//\n\n!! Major Changes\n\n!!! Improved Control Panel Plugins Tab\n\nThe ''Plugins'' tab of the [[control panel|$:/ControlPanel]] has been improved with the addition of documentation tabs that plugins can use to show documentation. There is also a larger draggable area for dragging tiddlers across to other wikis.\n\n!!! Configurable Button Toolbars\n\nThe page toolbar and the tiddler toolbars can now be configured with several new buttons - see the [[control panel|$:/ControlPanel]] under the ''Appearance'' and ''Toolbars'' tabs.\n\nThe sidebar tools tab now shows all the available page controls, allowing them to be invoked or checked to appear in the toolbar. The tiddler info area now includes a tools tab that includes buttons for all the tiddler actions.\n\n!!! Upgrade Mechanism\n\nThere are two components:\n\n* A more flexible ImportMechanism that:\n** Presents incoming tiddlers as a pending import list that allows the user to inspect them and, if necessary, explicitly deselect them from the actual import\n** Provides UpgraderModules with an opportunity to process each incoming tiddler\n*** The [[plugin upgrader|$:/core/modules/upgraders/plugins.js]] module handles version checking of plugins and upgrading them from a special UpgradeLibrary plugin tiddler\n*** The [[system upgrader|$:/core/modules/upgraders/system.js]] module is responsible for suppressing the importing of certain system tiddlers (currently [[$:/StoryList]] and [[$:/HistoryList]])\n*** The [[themetweak upgrader|$:/core/modules/upgraders/themetweaks.js]] module handles migrating theme tweaks from their pre-5.0.14-beta format (see below)\n* An UpgradePlugin and associated edition that provides a custom, single-purpose user interface for upgrading standalone TiddlyWiki files - see https://tiddlywiki.com/upgrade.html\n\n!!! Improvements to CamelCase Recognition\n\nTiddlyWiki now takes a much more conservative approach to recognising CamelCase terms that should be automatically linked. Previously, the dash and underscore were treated as lower case letters, leading to a number of false positives. See the [[GitHub bug #337|https://github.com/TiddlyWiki/TiddlyWiki5/issues/337]] for details.\n\n!!! Automatic Permalinking Off by Default\n\nWith previous beta releases of TiddlyWiki the browser address bar is automatically updated so that it dynamically reflects the tiddlers that are currently open. This makes it easier to get a permalink for copying and pasting elsewhere, but it leads to much confusion for casual users who don't always understand why unexpected tiddlers are being displayed after they have refreshed the page in the browser.\n\nFor 5.0.14-beta, the setting has been changed. Visit [[control panel|$:/ControlPanel]] ''Advanced''/''Settings'' to switch the setting back to \"Include the target tiddler and the current story sequence\".\n\n!! Usability Improvements\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/f6d7d87a3d49f816ccc050bdf4a5394eed37dd51]] previews to the icon dropdown in the [[tag manager|$:/TagManager]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/56945d91d327489478fc44dce5234ece35a01abb]] an indication of unsaved changes by changing the colour of the save changes button\n* [[Split|https://github.com/TiddlyWiki/TiddlyWiki5/commit/7aa6c7c06d8b5359f183e6b9f6f57cf89611cda8]] the wikitext emphasis parsers into separate modules so that they can be independently controlled with the `\\rules` pragma\n* [[Refactored|https://github.com/TiddlyWiki/TiddlyWiki5/commit/f43cd5ba9c6e5eda221ec738174e61e34fad2b8d]] (and [[here|https://github.com/TiddlyWiki/TiddlyWiki5/commit/a3de93b4eb8b108239b2e4b496308026e9e9eef8]]) ReleaseHistory to place the releases into vertical tabs\n* [[Stopped|https://github.com/TiddlyWiki/TiddlyWiki5/commit/3ff7462afd5414b92680c6b6e67274be79233224]] saving [[$:/HistoryList]], thus avoiding it uncontrollably increasing in size\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/73cf1bfdb3cd238ac7800162f58d44a8bb60019b]] (and [[here|https://github.com/TiddlyWiki/TiddlyWiki5/commit/d5e4b9b5d1e7db5ad4d769433cc934ef08265f57]]) print stylesheet to remove page background\n* [[Updated|https://github.com/TiddlyWiki/TiddlyWiki5/commit/07f13b310d300631267936ad8bc55a338369afc0]] display of plugin tiddlers so that their constituent tiddlers are shown, rather than the raw JSON\n* [[Moved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/799a5b059a40a51fdeb1dae7a0eb5bf8a79f5106]] the functionality of the fullscreen plugin into the core\n\n!! Hackability Improvements\n\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/commit/c23f6af4b5c59f4d09dd8d6704e1939bb9d5b2d3]] TiddlerWidget to add a CSS class corresponding to each tag present on displayed tiddlers\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/d357e1706c91d17a72fb19fedf43e57071fc7dd6]] support for hiding specified fields in the tiddler editor\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/be040ea8a2cc8962f1a28a313e4c9ebc2d5c0e31]] support for variable operands in filters (see [[Filter Parameter]])\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/1f16ef6fa88b51d2dad7c8e57fcff014950a7442]] support for widget messages [[tw-permalink|WidgetMessage: tw-permalink]] and [[tw-permaview|WidgetMessage: tw-permaview]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/tree/master/plugins/tiddlywiki/browser-sniff]] browser sniffing plugin so that tiddlywiki.com can present the correct browser-specific documentation\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/ef67cc3fd9b267a522598abccdfbb93fbfca240c]] a configuration option for specifying the default location for saving new tiddlers in the client-server configuration\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b4d47858e587c96f3a68cc28cffff181ec45f55f]] support for the InfoMechanism\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/commit/f08f57c5d24eb0146ac2cb77472a5fc5f135f1e9]] CheckboxWidget to allow it to toggle fields as well as tags\n* [[Refactored|https://github.com/TiddlyWiki/TiddlyWiki5/commit/21c137a66c37f010b36697bb6bed5321138fbb9f]] [[control panel|$:/ControlPanel]] theme tweaks to be stored in individual tiddlers\n* [[Extend|https://github.com/TiddlyWiki/TiddlyWiki5/commit/e18d8a88661a1c2caa1b722841747c75ca6af437]] the <<.mlink tabs>> macro to allow tabs to be templated\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/91acad0f7ce8637945a953dfcb122cd31292626d]] (and [[here|https://github.com/TiddlyWiki/TiddlyWiki5/commit/8612bc4006e717e4fa3c562fa72a85650206b66f]]) SystemTags support for inserting content above and below the story river\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/f793816dfa687ae7791143b33487fd5f95f3265c]] support for transcluding plugin subtiddlers with the TranscludeWidget\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/c73853288c5b4b0716da94fea2f2edec09345643]] (and [[here|https://github.com/TiddlyWiki/TiddlyWiki5/commit/08f775eac8cb053d08c1c561e65a5eeb87c4c6b6]]) support for importing from `*.htm` and `*.hta` files as well as the existing support for `*.html` files\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/commit/73d7e85e11c7732080ca8bc4321ebb12afbac09c]] the \"sticky titles\" theme so that it works when tiddlers are in edit mode\n\n!! Bug Fixes\n\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/5b3b62f93da4b7b19e24ccf72d9ce20b9edce6d5]] bug with execution order of BuildCommand targets\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/d93da81671a704377209fc1871425c3a7c5db35a]] bug with missing hover colours for external links\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/465f4ac46903070759a572d183c498c5579cb922]] problem with refreshing modal dialogues\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/3351ae7e29cbf3bed6fc1925ef33664bcc59fef5]] issue with cookies disabled on Firefox\n* [[Relax|https://github.com/TiddlyWiki/TiddlyWiki5/commit/5260899d8b090e8886e41e3aa770fdcf5967ad8c]] the requirement for a newline immediately the closing `\\end` of a macro definition\n\n!! Contributors\n\n[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:\n\n* [[@BramChen|https://github.com/BramChen]]\n* [[@pmario|https://github.com/pmario]]\n* [[@ssokolow|https://github.com/ssokolow]]\n* [[@xcazin|https://github.com/xcazin]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/beta/Release 5.0.15beta.tid",
    "content": "caption: 5.0.15-beta\ncreated: 20140812150234142\nmodified: 20150221194057000\ntags: BetaReleaseNotes\ntitle: Release 5.0.15-beta\ntype: text/vnd.tiddlywiki\nreleased: 201408202255\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.0.14-beta...v5.0.15-beta]]//\n\n!! Usability Improvements\n\n* [[Simplified|https://github.com/TiddlyWiki/TiddlyWiki5/commit/c57b00996855f10d9b7fa2aa4e9deb2a2a607d7f]] shadow default tiddlers\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/32a7ee2683ace619599f0ab73028307ca33f4e4c]] the ability to disable plugins (see PluginMechanism) with a user interface in [[control panel|$:/ControlPanel]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/4b05608ad5e77043b01495825ea0f0e76c378760]] page control button for invoking the [[tag manager|$:/TagManager]]\n* [[Simplified|https://github.com/TiddlyWiki/TiddlyWiki5/commit/c4b76ceb0bc786bcceb12fc3417bb8c4bfde27a9]] downloading an offline copy of a client-server wiki\n* [[Blocked|https://github.com/TiddlyWiki/TiddlyWiki5/commit/2bbe9f76ecf8fc89c789e72be00ac19e811195ee]] temporary state tiddlers from import/upgrade\n\n!! Hackability Improvements\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/c912fed55d94c9bef2d541cd55f458b12172941c]] a banner to the edit template encouraging improvements to the documentation\n* [[Refactored|https://github.com/TiddlyWiki/TiddlyWiki5/commit/f75af2c983e10e8a82639890b993fb5cf042d610]] `saver-handler.js` out of `syncer.js`\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/8cf726275c19ed5b4a0ed1cf8354d64d1bc29da5]] [[Table-of-Contents Macros]]\n* Simplified startup module organisation (see [[Startup Modules.svg]])\n* [[Changed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/25777b147fa4ed2f915150aec503ad1e094e6043]] the overlay text for the DropzoneWidget to make it translateable\n* [[Introduced|https://github.com/TiddlyWiki/TiddlyWiki5/commit/920e11e7921f777170aa2f9e1836c000fec2e26d]] a new [[refresh button|WidgetMessage: tw-browser-refresh]] and reverted [[home button|WidgetMessage: tw-home]] behaviour\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/fbf307c648ae0e92679c54f7d03f197a75b4e101]] ''alt'' attribute to the ImageWidget\n\n!! Bug Fixes\n\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/c8830d32f74b8c228553f11f7f55b5be45ae6471]] problem with building TiddlyWiki under Windows\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/34461cb2fe554331a0269fd7795b1d6a879fcba9]] unclickable download ink in upgrade wizard\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/9e85ddfec78dd8df71e6173100dce659417551f4]] missing language flag in ''empty.html''\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/18592fe8f810d1858ca040da1a7c4a81fb74cfed]] problem with switching the type of a tiddler between the bitmap and text editor\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/fe6623d7feed1a9068e15bfac57be0b0924e8915]] foreground colour for tag pills in the sidebar\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/c912fed55d94c9bef2d541cd55f458b12172941c]] problem with github source links for tiddlywiki.com not working for titles containing colons\n\n!! Contributors\n\n[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:\n\n* [[@BramChen|https://github.com/BramChen]]\n* [[@xcazin|https://github.com/xcazin]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/beta/Release 5.0.16beta.tid",
    "content": "caption: 5.0.16-beta\ncreated: 20140830131615798\nmodified: 20150221194111000\ntags: BetaReleaseNotes\ntitle: Release 5.0.16-beta\ntype: text/vnd.tiddlywiki\nreleased: 20140902124037214\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.0.15-beta...v5.0.16-beta]]//\n\n!! Incompatible Changes\n\n5.0.16-beta brings more incompatible changes than any previous release. These changes are likely to break almost all plugins written for previous releases of TiddlyWiki 5, and will break many customisations.\n\n* [[Changed|https://github.com/TiddlyWiki/TiddlyWiki5/issues/764]] all CSS class prefixes from `tw-` to `tc-` (eg `tw-tiddler-frame` has become `tc-tiddler-frame`; missing prefixes have also been added, so `btn-invisible` has become `tc-btn-invisible`)\n* [[Changed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/2f69ea362cd673f59b9fadbe11f1f95549a59813]] all message prefixes from `tw-` to `tm-` (eg `tw-close-tiddler` has become `tm-close-tiddler`)\n* [[Changed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/89fd5379dd78887fc21746d792072bf5a25f0c56]] all variable prefixes from `tw-` to `tv-` (eg `tw-config-toolbar-icons` has become `tv-config-toolbar-icons`)\n* [[Changed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/112a9a95d95e9f62f110c97a4faaf537c5c100b1]] prefix/removeprefix filter operators to be case-sensitive\n\n!! Compatibility with TiddlyWikiClassic\n\nThis release includes a preliminary version of a new plugin that provides compatibility with content created for TiddlyWikiClassic:\n\nhttps://tiddlywiki.com/classicparserdemo.html\n\nSubsequent releases will include end-user documentation with step-by-step instructions for migrating content.\n\nMany thanks to @buggyj for his work on this plugin.\n\n!! Usability Improvements\n\n* [[Amended|https://github.com/TiddlyWiki/TiddlyWiki5/commit/e47852cb141b384ad2a9097eca795545cb5b2494]] behaviour of the [[tm-browser-refresh|WidgetMessage: tw-browser-refresh]] message so that it no longer clears the location hash\n* [[Hide|https://github.com/TiddlyWiki/TiddlyWiki5/commit/88c9c0c3ee115917b8c1a9126452bb0574061857]] toolbar buttons from static renderings\n\n!! Hackability Improvements\n\n* [[Extend|https://github.com/TiddlyWiki/TiddlyWiki5/commit/48312272adb17610db96d50758e6af947cab7b1d]] the <<.olink all>> operator to be able to select all the source tiddlers\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/43aeb47fc34f1ba424030c4f78ee907fe7b1d5d8]] problem with single line macro definitions incorrectly including whitespace in the value. (For example, `\\define mymacro() yes` would set the macro value to \" yes\", with a leading space)\n* [[Extend|https://github.com/TiddlyWiki/TiddlyWiki5/commit/d2a5a12f2d6b6ccc36dd22a70ac2def08d1d3722]] [[Table-of-Contents Macros]] use the caption field if present\n* [[Configurability|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b437f1b450f5f2a3104a9086f7c674299b53b9bc]] for the default tab shown in the tiddler info panel (see [[Configuring the default TiddlerInfo tab]])\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/dcf4e93a3283e3e93cc14e50366f9b0252870835]] <<.olink suffix>> and <<.olink removesuffix>> operators\n\n!! Bug Fixes\n\n* [[Reverted|https://github.com/TiddlyWiki/TiddlyWiki5/commit/ad40223d6b9bed435d9381611cb9de1841b53df6]] incorrect refreshing of the tiddler widget\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/44228ed9f733217557851150f5ae45d9ebb23420]] indentation of selective expandable [[Table-of-Contents Macros]]\n\n!! Contributors\n\n[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:\n\n* [[@BramChen|https://github.com/BramChen]]\n* [[@buggyj|https://github.com/buggyj]]\n* [[@gernert|https://github.com/gernert]]\n* [[@pmario|https://github.com/pmario]]\n* [[@xcazin|https://github.com/xcazin]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/beta/Release 5.0.17beta.tid",
    "content": "caption: 5.0.17-beta\ncreated: 20140910131615798\nmodified: 20150221225235000\ntags: BetaReleaseNotes\ntitle: Release 5.0.17-beta\ntype: text/vnd.tiddlywiki\nreleased: 20140912164804565\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.0.16-beta...v5.0.17-beta]]//\n\n!! Highlights\n\nThis release includes major improvements from @giffmex to the welcome and tutorial documentation, and new development docs incorporating [[the work|https://github.com/cjrk/saa-tw]] of @cheigele and @cjrk.\n\n!! Incompatible Changes\n\n!!! Change System Tag `$:/tags/stylesheet` with `$:/tags/Stylesheet`\n\nThe [[issue|https://github.com/TiddlyWiki/TiddlyWiki5/issues/824]] is that the capitalisation of `$:/tags/stylesheet` is not consistent with other system tags. This release adds support for `$:/tags/Stylesheet`, and adds a deprecation warning if `$:/tags/stylesheet` is used. Support for `$:/tags/stylesheet` will be removed before the beta.\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/f6ff0a7f715bdf12dfba6556f72c49ea2c3016b0]] support for `$:/tags/Stylesheet` and a deprecation warning when `$:/tags/stylesheet` is used\n\n!!! Change ButtonWidget `title` attribute to `tooltip`\n\nThe use of the `title` attribute in the ButtonWidget was not consistent with the `tooltip` attribute used by the ImageWidget and LinkWidget. This release adds support for the `tooltip` attribute to the ButtonWidget alongside the existing support for the `title` attribute, but with a deprecation warning.\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b7f638aef3094d0552db2f72330b40a526113bd5]] `tooltip` attribute to ButtonWidget\n\n!!! Removing Support for RegExp Filter Operands\n\nAs discussed in [[the associated ticket|https://github.com/TiddlyWiki/TiddlyWiki5/issues/762]], the support for regular expression filter operands is incomplete and inconsistent. The plan is to remove support for this feature in the next release. A new filter operator has been provided to replace it, along with the addition of a deprecation warning that is displayed whenever regular expression filter operators are used.\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/f4fff7a33037ba9dd537379bcb44a52a280868d6]] new <<.olink regexp>> operator\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/d45c417c187fe3dcc35ee7a308e64feebc7b185b]] deprecation warning for regular expression filter operators\n\n!!! Repository Reorganisation\n\nThe goal is to make the TiddlyWiki repository easier to comprehend for newcomers.\n\n* [[Moved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/6e9cd5943703f7137e819fcb85376423b9c930d5]] scripts into a separate `bin` folder\n\n!! Usability Improvements\n\n* Reorganised the [[control panel|$:/ControlPanel]] to make it more logical and usable\n\n!! Hackability Improvements\n\n* Moved developer documentation to https://tiddlywiki.com/dev\n* [[Improvements|https://github.com/TiddlyWiki/TiddlyWiki5/commit/872e6fc2532012f0f9acfb29aa24a9cd5f340b9d]] (and [[here|https://github.com/TiddlyWiki/TiddlyWiki5/commit/c8a131ffd4716f2b99ab508567422ff463f2849d]]) to `serve.sh`/`serve.cmd` scripts\n* [[Disable|https://github.com/TiddlyWiki/TiddlyWiki5/commit/ac54fe33263cbe48bc294f9c14257ccc146be38e]] plugins when in SafeMode\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/c1de85838f3d0d3e6a207152ecc9d61ff08a4b05]] new <<.mlink timeline>> macro\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/f16d1832aae9a7ce71dea78b16c11afaf673acf2]] new <<.mlink dumpvariables>> macro\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/commit/ba3f8002355607c8b00b7d184f01fa68bbcda152]] [[Table-of-Contents Macros]] so that individual links can be disabled\n* [[Removed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/542788bfeba98ec3bac0bb721293c16354bc1b34]] (and [[here|https://github.com/TiddlyWiki/TiddlyWiki5/commit/487c4a40abda2b457b4015033bf1be76bd81dcc9]]) unnecessary `<p>` tag from edit tags and types dropdowns\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/ccd916ca7cb45468ac30eb48bfdf86bea704d810]] ''multiple'' attribute to the BrowseWidget\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/commit/ab944bbf02e9fae606632a11df1053a46573fa49]] view template to hide bodies of tiddlers with field ''hide-body'' set to ''yes''\n\n!! Bug Fixes\n\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/c713eddbef50603e313a86f78c185753bab3d607]] problem with draft tiddlers not counting as dirty\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/f87ce7e98a083f1bdcff5b1887b56aa95b731efe]] problem with keyboard shortcuts introduced in 5.0.16-beta\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/756e05504b33c387da7d3f81446a18f9a8fefe49]] problem with stylesheets being parsed in inline mode\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/9adc30f69fba169813638021780263ff0df4e2bc]] bug with selective expandable [[Table-of-Contents Macros]]\n\n!! Contributors\n\n[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:\n\n* [[@BramChen|https://github.com/BramChen]]\n* [[@buggyj|https://github.com/buggyj]]\n* [[@cheigele|https://github.com/cheigele]]\n* [[@cjrk|https://github.com/cjrk]]\n* [[@giffmex|https://github.com/giffmex]]\n* [[@pmario|https://github.com/pmario]]\n* [[@xcazin|https://github.com/xcazin]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/beta/Release 5.0.18beta.tid",
    "content": "caption: 5.0.18-beta\ncreated: 20140917211055150\nmodified: 20150221230143000\ntags: BetaReleaseNotes\ntitle: Release 5.0.18-beta\ntype: text/vnd.tiddlywiki\nreleased: 20140917211055150\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.0.17-beta...v5.0.18-beta]]//\n\nThis is a minor release prior to the full release of TiddlyWiki on September 20th. The documentation has been cleaned up and improved (with more improvements to come).\n\n!! File Layout of tiddlywiki.com\n\nThe layout of files on tiddlywiki.com has been adjusted to make it more logical. See the [[ticket|https://github.com/TiddlyWiki/TiddlyWiki5/issues/823]] for a discussion. You can see the source files that make up tiddlywiki.com at https://github.com/Jermolene/jermolene.github.com\n\n!! Hackability Improvements\n\n* Added first iteration of a <<.mlink list-links>> macro (further improvements are planned)\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/6d9bd4df8a1133c2ba246333edad14e6028d3ea4]] support for importing `.markdown` and `.md` files\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/commit/c4123ba3740f74f172468c4aa050451ebc5780d8]] <<.mlink timeline>> macro to support a subfilter\n\n!! Bug Fixes\n\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/a9f46525a0b1ecf7ce6d1bdae64e6763a247106b]] problem with digits being classified as lower case letters for wiki link matching\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/8cc236b4dca96327c7b28ad45e1eb4c2dce174e5]] crash when sorting missing tiddlers by fields other than title\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/73a4747d05c6746476ccd9e8cb8255853f631d17]] problem with handling `.jpeg` file extensions\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/775482a2428d24a475e0c7df7bea215c190b5574]] problem with RadioWidget and missing tiddlers\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/2571f534aa67c7f9d423d44d36efa32480f4c370]] problem with dragging a partially selected link\n\n!! Contributors\n\n[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:\n\n* [[@BramChen|https://github.com/BramChen]]\n* [[@buggyj|https://github.com/buggyj]]\n* [[@Eucaly|https://github.com/Eucaly]]\n* [[@pmario|https://github.com/pmario]]\n* [[@xcazin|https://github.com/xcazin]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/beta/Release 5.0.2beta.tid",
    "content": "created: 20131211074600007\nmodified: 20131215142414174\ntags: BetaReleaseNotes\ntitle: Release 5.0.2-beta\ntype: text/vnd.tiddlywiki\nreleased: 201312151436\ncaption: 5.0.2-beta\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.0.1-alpha...v5.0.2-beta]]//\n\n!! Improvements\n\n* Added support for [[Hard Linebreaks in WikiText]]\n* Added a new RadioWidget, contributed by StephanHradek (@Skeeve on GitHub)\n* Two new savers for InternetExplorer, both contributed by DavidJade (@davidjade on GitHub)\n** ''tiddlyie'' for [[saving with TiddlyIE|Saving with TiddlyIE]], an equivalent of TiddlyFox for InternetExplorer\n** ''fsosaver'' that can [[save changes directly with InternetExplorer|Saving on InternetExplorer]] but requires the HTML file to be renamed `*.hta`\n\n!! Bug fixes\n\n* Fixed problem deleting tiddlers under the filesystemadaptor\n* Fixed problem with transcluding fields containing lists or dates (eg, `{{!!tags}}`)\n* Fixed problem with re-ordering page control tiddlers (ie tiddlers tagged `$:/tags/PageControls`)\n* Update template used for deploying to TiddlyWeb\n* Fixed problem with tiddler deletions via the file system adaptor\n\n!! Internal changes\n\n* Allowed variable number of arguments to [[JavaScript Macros]]\n** Contributed by StephanHradek (@Skeeve on GitHub)\n* Changed the format of plugin tiddlers to remove duplicated information (see the PluginMechanism)\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/beta/Release 5.0.3beta.tid",
    "content": "created: 201312151700\nmodified: 201312151700\ntags: BetaReleaseNotes\ntitle: Release 5.0.3-beta\ntype: text/vnd.tiddlywiki\nreleased: 201312151700\ncaption: 5.0.3-beta\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.0.2-beta...v5.0.3-beta]]//\n\nThis release includes minor bug fixes and documentation updates.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/beta/Release 5.0.4beta.tid",
    "content": "created: 20131216100000000\nmodified: 20131221205551616\ntags: BetaReleaseNotes\ntitle: Release 5.0.4-beta\ntype: text/vnd.tiddlywiki\nreleased: 201312221544\ncaption: 5.0.4-beta\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.0.3-beta...v5.0.4-beta]]//\n\n!! Improvements\n\n* Switched to using an HTML5 placeholder for the default text of a new tiddler\n* Refactored stylesheet handling so that theme tweaks are now applied immediately, and some ordering issues have been resolved\n* Several improvements for running [[TiddlyWiki on Node.js]]:\n** The `tiddlywiki.info` file in the root of [[wiki folder|TiddlyWikiFolders]] file is now optional, falling back to a default configuration suitable for serverside use ([[commit|https://github.com/TiddlyWiki/TiddlyWiki5/commit/0ec2224757dd07f009246ec9ea97cd859d077e72]])\n** The file system plugin now automatically creates the `tiddlers` subfolder in the [[wiki folder|TiddlyWikiFolders]]\n* Added [[favicon.ico support|Using favicons]]\n* Added SaveTiddlerCommand\n\n!! Bug Fixes\n\n* Fixed problem with tiddlers sometimes wrongly opening at the top of the story ([[commit|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b50eb8da302431cdfa7c37ac9ef1414a33d00292]])\n* Fixed problem with refreshing RadioWidget\n* Fixed problem with the dragger image being visible in some circumstances\n* Fixed drag and drop support on InternetExplorer, contributed by DavidJade (@davidjade on GitHub)\n* Fixed crash on modifying page template ([[commit|https://github.com/TiddlyWiki/TiddlyWiki5/commit/a5f33d875b1339b08838203a4885f8a3a7d10353]])\n* Updated fullscreen plugin to latest version of the API ([[commit|https://github.com/TiddlyWiki/TiddlyWiki5/commit/638c8b207033f8cb01ac9efdca104d282fd4cffe]])\n* Improved handling of double square brackets within tags (thanks to StephanHradek)\n\nThis release includes minor bug fixes and documentation updates.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/beta/Release 5.0.5beta.tid",
    "content": "created: 20131223085100000\nmodified: 20131224142028933\ntags: BetaReleaseNotes\ntitle: Release 5.0.5-beta\ntype: text/vnd.tiddlywiki\nreleased: 201312241430\ncaption: 5.0.5-beta\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.0.4-beta...v5.0.5-beta]]//\n\n!! Improvements\n\n* Added support for [[Setting a favicon]]\n\n!! Bug Fixes\n\n* Fixed problem with modal wizard positioning on narrow screens\n* Fix problem with static content being included in empty.html when downloaded from the full wiki\n* Improved performance of tiddler import with large tiddlers on Firefox\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/beta/Release 5.0.6beta.tid",
    "content": "created: 20131228164411884\nmodified: 20140103164959903\ntags: BetaReleaseNotes\ntitle: Release 5.0.6-beta\ntype: text/vnd.tiddlywiki\nreleased: 201401031714\ncaption: 5.0.6-beta\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.0.5-beta...v5.0.6-beta]]//\n\n!! Improvements\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/324]] support for numeric sorting to TiddlerFilters (thanks to StephanHradek)\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/pull/321]] [[Tables in WikiText]] to allow for vertical alignment of cells (thanks to StephanHradek)\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/87fbd988f1fb0164411af190adfe6b6a2404eef3]] experimental support for running [[TiddlyWiki on node-webkit]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/3d79eb87d1c609195b8c518c08e167994b20a346]] an [[$:/AdvancedSearch]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/bd7db62da052ec6262c3319eaa11f00e5c452a7b]] support for specifying hostname for the ServerCommand\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b9e80a270b7f67db816e9b06e2f71f9c9dd86c17]] a first pass at generating an all-in-one static HTML representation of a wiki, complete with internal anchor links for wiki links\n** See https://tiddlywiki.com/alltiddlers.html\n* [[Hide|https://github.com/TiddlyWiki/TiddlyWiki5/commit/44568dc6ef64be8c1370df8f682777c2c805fee7]] encryption features when running on the server\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/2ee50939447cf2948e49e5905520943ea4075975]] [[double backticks|Formatting in WikiText]] as an alternative for delimitting inline code (thanks to StephanHradek)\n\n!! Bug Fixes\n\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/ec7dff291dadb3e128e1db34b4ded6b57bc8ed46]] import ''browse'' button\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/ef59a3743f02c726f20e035c5d28665000fda79a]] crash when attempting full screen mode on browsers that don't support it\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/307]] requirement for a newline immediately after a horizontal rule, table or typed block (thanks to StephanHradek)\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/318]] problem with ''placeholder'' attibute on InternetExplorer (thanks to DavidJade)\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/beta/Release 5.0.7beta.tid",
    "content": "created: 20140113173652456\nmodified: 20140125191028534\ntags: BetaReleaseNotes\ntitle: Release 5.0.7-beta\ntype: text/vnd.tiddlywiki\nreleased: 201401262107\ncaption: 5.0.7-beta\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.0.6-beta...v5.0.7-beta]]//\n\n!! Incompatible Changes\n\nThese are changes that might affect users upgrading from previous betas.\n\n* The [[node-webkit]] saver has been moved into a plugin - [[$:/plugins/tiddlywiki/nodewebkitsaver]]. The plugin is only needed when embedding a single TiddlyWiki in [[node-webkit]] and is not required for TiddlyDesktop, which as of v.0.0.2 uses the existing TiddlyFox saver.\n\n!! Documentation updates\n\n* A new video tutorial: [[TiddlyWiki on Firefox for Android Video]]\n* A first pass at [[TiddlyWiki Coding Style Guidelines]]\n* Added an explanation of TemplateTiddlers\n* Added documentation for [[saving on a custom PHP server|Saving on a PHP Server]]\n* Added documentation for TextWidget\n* Summary of the approach for [[Naming of System Tiddlers]]\n\n!! Improvements\n\n* Added support for importing encrypted TiddlyWiki documents\n* Added several new [[filter operators|TiddlerFilters]], including ''reverse'', ''first'', ''last'', ''butlast'', ''rest'', ''nth''\n* Extend ''list'' filter operator to allow other fields to be used via a TextReference\n* Added shortcut in [[$:/ControlPanel]] ''Basics'' tab for setting [[$:/DefaultTiddlers]] to retain tiddler story ordering\n* Added emacs and vim keymapping support to the [[CodeMirror plugin|https://tiddlywiki.com/codemirrordemo.html]], (thanks to João Bolila, @jbolila on GitHub)\n* Added the [[highlight.js|http://highlightjs.org/]] syntax highlighting plugin: https://tiddlywiki.com/highlightdemo.html (thanks to João Bolila, @jbolila on GitHub)\n* Added the first export option to the ''Tools'' tab of the [[control panel|$:/ControlPanel]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/ffcc215e8f8896be96093579abc5bcfb76335e66]] an ellipsis for [[advanced search|$:/AdvancedSearch]] next to the search box in the sidebar\n* [[Adjusted|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b326315b0e9959096b85aa716dd613f21605705a]] the password dialogue to make it narrower for smaller screens\n* [[Adjusted|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b7a1db1e9fb651928a4f86e1881959150dd66a55]] the display of tiddler dictionaries to make them display as plain text\n\n!! Bug Fixes\n\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b06e09a4d3e25087ca0495e624c8662ddb69224e]] problem with default format of ViewWidget substituting seconds for minutes in displayed times\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/e0f428b9b2374487a0758ea80716f337e3c643ff]] problem that was causing several animations to fail in Safari\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/f2409d4245bbba0ccdf39186dca6a0cbf16d8759]] problem with unclickable sidebar under the Centralised theme\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/0fb13e649b6558961fd8436bc7aac83bfd991983]] problem with non-system tiddlers showing up in system tiddler [[advanced search|$:/AdvancedSearch]]\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b64b7982af4285be41cca85db1fa745fc009ca29]] problem with notifications not always disappearing in Firefox\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b04141fefd2c0103b525726e4f466c32f0385194]] problem with wiki folders including wiki files with tiddlers that do not have a title\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/12770ca3e694a8f4edeb065e054eddd5957353b8]] problem with ServerCommand logging \"Serving on undefined:8080\"\n\n\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/beta/Release 5.0.8beta.tid",
    "content": "created: 20140127143652456\nmodified: 20140228154939681\ntags: BetaReleaseNotes\ntitle: Release 5.0.8-beta\ntype: text/vnd.tiddlywiki\nreleased: 201402281551\ncaption: 5.0.8-beta\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.0.7-beta...v5.0.8-beta]]//\n\n!! Incompatible Changes\n\nSee [[Notes for upgrading to 5.0.8-beta]] for more details of these changes:\n\n* Changed rules for parsing content of HTML elements\n* Switched SiteTitle and SiteSubtitle to [[$:/SiteTitle]] and [[$:/SiteSubtitle]]\n* Changes to commands used with [[TiddlyWiki on Node.js]]\n* Changes to naming of some editions\n** Notably ''clientserver'' has changed to ''server''\n\n!! Documentation Improvements\n\n* Improved documentation for TiddlerFilters, including a notation of the [[TiddlerFilter Formal Grammar]] contributed by [[@Tikkoneus|https://github.com/Tikkoneus]]\n* Improved documentation for WidgetMessages\n* Tiddlers on tiddlywiki.com now have a link to the original source on ~GitHub for pull requests (see the \"Sources\" tab of the tiddler info panel)\n\n!! Usability Improvements\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/a01bbd4b9c7ca284141078340c8f568b1e0561a2]] [[automatic saving|AutoSave]] on editing a tiddler and a warning when attempting to close the window with unsaved changes\n* Added confirmation dialogue when deleting tiddlers\n* Add support for switchable (and editable) ColourPalettes\n* Added TranslationMechanism and translations for:\n** Deutsch (Österreich and Deutschland) by @pmario\n** Français (France) by @xcazin\n** Chinese (Simplified and Traditional) by @BramChen\n* Add error alerts when syncing to a server\n* Rejigged [[$:/ControlPanel]] to use nested tabs\n* Added [[$:/TagManager]] for easy management of tags\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/e3a05625b2368b2167a2a1b30aa82369e96a7538]] experimental KeyboardWidget, including support for ''ctrl-enter'' (or ''cmd-enter'') to finish editing a tiddler\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/e6fa9b8a859867c147fb289859169b204dea003e]] number of tags to control panel ''Basics'' tab\n* Enhanced link handling so that control/command clicking a link opens the target tiddler without navigating to it\n* Importing tiddlers via drag and drop no longer opens all the tiddlers\n\n!! Scalability Improvements\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/fa5938221552846c255eb50004996528a09534a9]] support for LazyLoading of images\n* Extended RevealWidget to allow control over content retention\n\n!! Hackability Improvements\n\n* Added HelpCommand and InitCommand for [[TiddlyWiki on Node.js]]\n* Extended ButtonWidget to allow navigating to a tiddler\n* Added experimental support for building plugins in the browser: [[How to create plugins in the browser]]\n* Extend the TranscludeWidget to display its content as a fallback if the tiddler or field is missing\n* Add logging and AlertMechanism\n* Added a ''Filter'' tab to [[advanced search|$:/AdvancedSearch]]\n* Add ''indexes'' [[filter operator|TiddlerFilters]]\n* Control over line width and colour for EditBitmapWidget\n* Add support for `.multids` MultiTiddlerFiles\n* Extend ViewWidget so that it works with indexes\n* Added support for Tank, a new service built on TiddlyWeb: https://tank.peermore.com\n* Extend relative dates to work in the future\n\n!! Bug Fixes\n\n* Fixed problem with pasting items into the browser\n* Fixed problem with colour pickers not showing correct colour in Chrome\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/8e8e31fb9f5ed8f2e5deff0271d434dbe91f503c]] problem with tag pills not working inside table cells\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/6d3d3322e5c676e63d1f64dce89ce86e58dcd715]] problem in client server configuration with ''%'' in tiddler titles\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/7eafd51a7dd89d2174be3dec97033dc0bb206677]] problem with not using placeholder text when editing missing tiddlers\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/1a54d590e1e67825057d7693ac89466a093b4577]] problem with test data in certain time zones\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/5af30086c02b9d4466c133c87aca76f9b85eea49]] problem with non-breaking space characters being converted into '@' symbols\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/5d3dda1a1721af05e56e301a8b896e53f9868540]] problem with highlighting plugin only working in the browser\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/175e86078ce2fed34953f337baf2f0edfc093742]] crash when wiki/themes folder contains files that are not themes\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/beta/Release 5.0.9beta.tid",
    "content": "created: 201403021809\nmodified: 201403021809\ntags: BetaReleaseNotes\ntitle: Release 5.0.9-beta\ntype: text/vnd.tiddlywiki\nreleased: 201404152139\ncaption: 5.0.9-beta\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.0.8-beta...v5.0.9-beta]]//\n\n!! Highlights\n\n* Improved layout, including a ''hamburger'' icon for dismissing the sidebar and expanding the story river to fill the space\n* Added new ''Seamless'' theme\n* New ''Filter'' tab in [[$:/AdvancedSearch]]\n* Initial implementation of CecilyView\n* Overhaul of inconsistencies in TiddlerFilters (see [[Changes to filters in 5.0.9-beta]])\n* New translations for Italian and Japanese\n* Performance improvements, particularly [[during editing|https://github.com/TiddlyWiki/TiddlyWiki5/commit/0aa559cd23b3742c8f10c5ac144860d816699782]]\n\n!! Documentation Improvements\n\n* Improved and reorganised documentation for TiddlerFilters\n* Demo of [[Making curved text with SVG]]\n* [[Community]] links are now broken up into individual tiddlers\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/a19432541e776bfb63b1b985a60f472e9f1d4352]] overview diagram of [[TiddlyWiki Architecture]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/7b57561160173667031b5bc15a4f7553d8514c1c]] documentation from buggyj: [[Developing plugins using Node.js and GitHub]]\n\n!! Usability Improvements\n\n* Made the dropdown arrow icon [[skinnier|https://github.com/TiddlyWiki/TiddlyWiki5/commit/ec90ac99cf2767b6ff20902d8b01aa1c36778147]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/bca1d552803c1839e7385765314f81c5307632b8]] validation of legal characters for fieldnames\n* Added blacklisting of unsafe HTML [[elements|https://github.com/TiddlyWiki/TiddlyWiki5/commit/ba6edd42c125cb19d955a1cb3f54a2d367cb79dc]] and [[attributes|https://github.com/TiddlyWiki/TiddlyWiki5/commit/d0caf21b2df9fda9800eb30489003a87cafb1277]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/baa8cf3dd098bab0a7a8c78b24747c69bd40889f]] a warning indicator to tiddlers in TiddlyWikiClassic format\n* [[Add|https://github.com/TiddlyWiki/TiddlyWiki5/commit/42c67cfeb732fccb10b8ab574c84090dc2471352]] tiddler info ''Advanced'' panel with information about plugins and shadow tiddlers\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/96457d801159958b897f98e22aa9af53b97f0e35]] layout of [[$:/ControlPanel]] ''Plugins'' tab\n* [[Enhance|https://github.com/TiddlyWiki/TiddlyWiki5/commit/f48701544eda4f79af86b1ad44340e7182bcf024]] viewing of system tiddlers by fading down the `$:/` prefix\n* [[Extend|https://github.com/TiddlyWiki/TiddlyWiki5/commit/dd3ee2a603cba35770a8f109e070f271d72861f8]] [[$:/TagManager]] to allow icons to be assigned to tags\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/87c4839fed789b80e0942014c05175e36aacc157]] support for `list-before` and `list-after` fields for controlling tag ordering (see TiddlerTags for details)\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/3afa26b9a318d913ba162d93a63036cb4a94be59]] request for confirmation before abandoning edits to a tiddler\n\n!! Hackability Improvements\n\n* [[Updated|https://github.com/TiddlyWiki/TiddlyWiki5/commit/bdbbf94326f70db0f8ef196270ab9e92bfde10fb]] [[Transclusion in WikiText]] syntax to allow translusion of a template without affecting the current tiddler\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/8a7d0f53d380e9ca93ee34d8ad05090d511e95c4]] `sourceURL` handling to `eval()` so that tiddler modules can be [[properly debugged|https://chromedevtools.googlecode.com/svn-history/r421/trunk/tutorials/breapoints/index.html#regular]] in Chrome\n* New ScrollableWidget giving better control over scrollable regions\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/d3c0296a87198296cff26aa7ce7bb8274cdcc3f7]] new CSS class `tw-site-title` for the site title\n* [[Disable|https://github.com/TiddlyWiki/TiddlyWiki5/commit/e397e4d15951c1395c7752a7563f002ca459206e]] the TiddlyWeb sync adaptor unless the wiki is loaded over HTTP\n* Added a [[high resolution timer mechanism|https://github.com/TiddlyWiki/TiddlyWiki5/commit/dcce4879347e4829d75f10248477731b18b829ef]] and a [[performance measurement mechanism|https://github.com/TiddlyWiki/TiddlyWiki5/commit/d402d3c5a619b6b1642ab03c74ff03a864846a0b]]\n* Added a [[basic CSV parser|https://github.com/TiddlyWiki/TiddlyWiki5/commit/5a085f792722c74d259464386138c731b2f014cc]]\n* Several measures to enforce the TiddlyWiki programming model:\n** [[Refactor|https://github.com/TiddlyWiki/TiddlyWiki5/commit/9de17aa206b21df5c4e29e61bba5d6b49aca6c71]] wiki store object to make members be private\n** Freeze tiddler object and [[fields|https://github.com/TiddlyWiki/TiddlyWiki5/commit/279626a3e3fbd75d60fc3be49b68a99d8ba0a95d]] tiddler fields to enforce their immutability\n* [[Extend|https://github.com/TiddlyWiki/TiddlyWiki5/commit/f649b5b037bfd2e7c48d1ba65ffa37064456523d]] the ButtonWidget to be able to set text references\n* [[Add|https://github.com/TiddlyWiki/TiddlyWiki5/commit/afa677b9a0b1dff1239dc1ea08edd210b9736af9]] a class to tiddler frames in view mode\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/50cf9678cb469e443e220b063e2355c844e417e7]] support for [[WidgetMessage: tw-home]]\n* [[Hidden|https://github.com/TiddlyWiki/TiddlyWiki5/commit/2608a323ebf3d8a8e925eda6d3a10ebb8f41d383]] system tags from the sidebar ''Tags'' tab\n* [[Allow|https://github.com/TiddlyWiki/TiddlyWiki5/commit/98872bbe7c62faa4aa209fa421c2989aeef3aaf2]] pasting and import of HTML content\n* [[Add|https://github.com/TiddlyWiki/TiddlyWiki5/commit/a5a2c718b1d5671652d01e3567dba1c6795b7521]] support for a tooltip on the LinkWidget\n\n!! Bug Fixes\n\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/aa631518152cda5643805c143bf0000bca8d767f]] problem with occasional freezes of the sync mechanism - thanks to buggyj\n* Fixed problem with [[tiddlers|https://github.com/TiddlyWiki/TiddlyWiki5/commit/1e960ffcac566c742c44b18d6f0e809d4457b249]] or [[fields|https://github.com/TiddlyWiki/TiddlyWiki5/commit/ea46f85a8a5ad29e8602cbb13667c853903681a6]] called `__proto__`\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/aec618793f41b937676a5a165764dc19d9bbb2b2]] with refreshing the D3 plugin\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/67f3d58f7153ca4d50ce5a14ed72d9d4b6ad9b71]] problem with \"null\" message when unloading under Internet Explorer 11\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/pre-5.4.0/Release 5.1.0.tid",
    "content": "caption: 5.1.0\ncreated: 20140920124011558\nmodified: 20140920124011558\ntags: ReleaseNotes\ntitle: Release 5.1.0\ntype: text/vnd.tiddlywiki\nreleased: 201409201500\ndescription: First non-beta release\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.0.18-beta...v5.1.0]]//\n\nThis is the first full release of TiddlyWiki. Documentation updates made up the bulk of the changes since the previous 5.0.18-beta release.\n\n!! Hackability Improvements\n\n* [[Removed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b239b3d6230a9f7aab4c9ef6a59aefb4158f45b1]] curly braces from qualified identifiers\n\n!! Bug Fixes\n\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/9e6dab06cc2db8263fce083510ae570923b21c0b]] problem with Markdown Maruku mode metadata\n\n!! Contributors\n\n[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:\n\n* [[@BramChen|https://github.com/BramChen]]\n* [[@malgam|https://github.com/malgam]]\n* [[@gernert|https://github.com/gernert]]\n* [[@pmario|https://github.com/pmario]]\n* [[@xcazin|https://github.com/xcazin]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/pre-5.4.0/Release 5.1.1.tid",
    "content": "caption: 5.1.1\ncreated: 20140921124011558\nmodified: 20140921124011558\ntags: ReleaseNotes\ntitle: Release 5.1.1\ntype: text/vnd.tiddlywiki\nreleased: 201409221100\ndescription: [[KaTeX Plugin]]\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.1.0...v5.1.1]]//\n\nThis is a minor bug fix release to improve the documentation and correct some issues with the first full release of TiddlyWiki.\n\n!! Incompatible Changes\n\nCertain features that were deprecated in [[Release 5.0.17-beta]] have now been removed:\n\n* [[Removed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/62edd1e8a3fddc0c11b87c87b3e5b404d8e1e395]] deprecated `title` attribute on the ButtonWidget\n* [[Removed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/d047ccdc84ab6f23779c3614712e0d6fa0ef63ec]] support for deprecated `$:/tags/stylesheet` system tag\n\nNote that the next release will also remove support for regular expression filter operands, which was also deprecated in 5.0.17-beta.\n\n!! Hackability Improvements\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/96b7d0eebaf73dcfd4eccb848b90caaa055e5e20]] first implementation of the [[KaTeX Plugin]] for mathematical typesetting\n\n!! Contributors\n\n[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:\n\n* [[@pmario|https://github.com/pmario]]\n* [[@TheDiveO|https://github.com/TheDiveO]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/pre-5.4.0/Release 5.1.10.tid",
    "content": "caption: 5.1.10\ncreated: 20160107231609312\nmodified: 20160107231609312\ntags: ReleaseNotes\ntitle: Release 5.1.10\ntype: text/vnd.tiddlywiki\nreleased: 20160107231609312\ndescription: Text slicer, fold/unfold, performance optimisations, translations, external text tiddlers\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.1.9...v5.1.10]]//\n\n! Major Improvements\n\n!! Performance Optimisations\n\nThis release includes several low-level performance optimisations that should improve speed and responsiveness in many common operations.\n\n* [[Caching the results of parsing a tiddler|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b0cb17cd83dde89753ec159e27c920a7bf22bee1]]\n* [[Loop optimisations|https://github.com/TiddlyWiki/TiddlyWiki5/commit/c6e48ebc2db4af895f5b3935b3f575b8aab292fe]]\n* [[Tiddler iteration optimisations|https://github.com/TiddlyWiki/TiddlyWiki5/commit/8f63e2a959a7ac44533ae2b6192716ee17a1ce93]]\n* [[State qualifier generation|https://github.com/TiddlyWiki/TiddlyWiki5/commit/848a7f4e744c8f4dcb4ec88a0e99c4ae6aac25e5]]\n* [[Caching data tiddlers|https://github.com/TiddlyWiki/TiddlyWiki5/commit/32f6d7f1b01474b82debcbdd5d76c49c59303265]]\n* [[Removed expensive visual effects|https://github.com/TiddlyWiki/TiddlyWiki5/commit/4f5cf4597abb08af787b62c2e2ee1b8c667dad1e]]\n\nThere is a new setting in the control panel to enable performance instrumentation, making it much easier to measure and improve performance issues.\n\n!! New Editions\n\nThree new editions of TiddlyWiki are included in this release. These can be used as starting points for creating your own wiki for several purposes:\n\n* The [[Résumé Builder Edition]] by @inmysocks is a custom edition to guide you through the process of using TiddlyWiki to create a good looking résumé (or curriculum vitæ)\n* The [[Blog Edition]] provides tools for using TiddlyWiki under Node.js to create a static HTML blog that can be published on GitHub pages (or similar)\n* The [[Text-Slicer Edition]] is a custom edition with tools to help advanced users slice longer texts up into individual tiddlers.\n\n!! External Text Tiddlers\n\nLimited support for tiddlers stored in external `.tid` files:\n\n* standalone TiddlyWiki HTML files with external text tiddlers can be built under Node.js\n* wikis with external text tiddlers can be worked with in the browser, automatically lazily loading the content of external text tiddlers when it is first referenced\n** saving changes in the browser doesn't work as expected: if edited, the external text tiddler is replaced with an ordinary tiddler\n** lazy loading of external text tiddlers doesn't work in Chrome when viewing the TiddlyWiki HTML file on a ''file:'' URI; it works OK in Firefox\n** lazy loading works on an HTTP URI on all browsers as long as the target file is either stored on the same domain or is served by a [[server that supports CORS|https://en.wikipedia.org/wiki/Cross-origin_resource_sharing]]\n\nSee [[Alice in Wonderland]] for an example. Try opening it without a network connection.\n\n!! New \"Tight\" Theme\n\nA new theme called \"Tight\" uses reduced padding, margins and font-sizes to pack as much text as possible:\n\n<$button>\n<$action-setfield $tiddler=\"$:/theme\" text=\"$:/themes/tiddlywiki/tight\"/>\nTry it out\n</$button> <$button>\n<$action-setfield $tiddler=\"$:/theme\" text=\"$:/themes/tiddlywiki/snowwhite\"/>\nRevert\n</$button>\n\n! Other Improvements\n\n!! Translation Improvements\n\n* Added Swedish translation by @Superdos\n* Added Korean (Korean Republic) translation by @araname\n* Improved Catalan, Chinese, Danish, Dutch, French, German, Italian, Russian and Spanish translations\n\n!! Usability Improvements\n\n* [[Enhanced|https://github.com/TiddlyWiki/TiddlyWiki5/commit/e6529af04e004b59093921f74758ac7132e1b19d]] the tiddler editor to accept new fields and tags when clicking confirm, without having to click \"Add tag\" or \"Add field\"\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/5d43cd740863be188e43fd49893dc8dddcd5b937]] new ''fold'' and ''fold others'' buttons to the tiddler toolbar to temporarily hide the body of a tiddler, and also [[added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/ac08dc2e35d99eb563ab8c4449ce1fcfe30f3bf7]] new ''fold all'' and ''unfold all'' page buttons\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/d5e690a06d523a2047eaf9b623b633bb72c18af9]] ability to disable individual WikiText parser rules (see the ''Advanced'' tab of $:/ControlPanel). Also [[added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/58188cf8053bef87dbe97e4b05cdba67f75c615d]] a simple setting for disabling automatic linking of ~CamelCase words\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/commit/2cb6400773096b02b71c1851fb0fac5dfefbbd6f]] support for automatically linked system tiddler titles to include digits and underscore\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/2c9b1ae2579f8d2452c60217aa3e153a29d32d1f]] warning when trying to use plugins designed for TiddlyWiki Classic\n* Upgraded to version v8.8.0 of highlight.js for the [[Highlight Plugin]]\n* [[Removed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/1981]] the need to manually confirm deleting alerts\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/2147]] optional tooltips to [[tabs Macro]]\n\n!! Hackability Improvements\n\n* Updated to KaTeX v0.5.1, with [[several new features|https://github.com/Khan/KaTeX/releases]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/e0aacc84d5f084ff7a53153c590fbff3d24f2e2c]] `publishFilter` to default save template\n* [[Allow|https://github.com/TiddlyWiki/TiddlyWiki5/commit/7dddc925ae93725552b98bc348a07572895da96c]] ''delete'' button to be used in the tiddler view-mode toolbar\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/742161675421a942051abed01cb47c0394f4db6d]] a new [[hidden setting for keyboard shortcuts|Hidden Setting: Keyboard Shortcuts]]\n* [[Update|https://github.com/TiddlyWiki/TiddlyWiki5/commit/e5cd8313a0d1a4a3dea17457a8a883675243b9c7]] ActionSetFieldWidget to allow timestamp to be preserved\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/fdce67399d175a9911df908981b83ac3edfb1142]] option to suppress navigation for edit/cancel/save\n* [[Enhance|https://github.com/TiddlyWiki/TiddlyWiki5/commit/5176f008f0bc15751e36933c95ae299c1ee5971a]] SaveTiddlersCommand with do not delete option\n* [[Enhance|https://github.com/TiddlyWiki/TiddlyWiki5/commit/4ccdaf3fafda2f1d0766ed69c68d030a7db2bbc6]] RenderTiddlerCommand with template option\n* [[Extend|https://github.com/TiddlyWiki/TiddlyWiki5/commit/51d771a07493f91c32145b69e4f5534724416d2e]] tm-open-window to pass variables\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/7b8928886bf101b0cf4a8cc2d2dd2e576ec1c8d8]] new utility method `$tw.utils.tagToCssSelector(tagName)` for converting tag titles into a form suitable for matching the `tc-tagged-*` [[classes generated by TiddlyWiki|How to apply custom styles by tag]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/99df9f46f7cc4c1d3aa0320347f9b6c1bc458c60]] support for tiddlers containing mp4 videos\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/commit/fd997c45814e6bb5b576137bf62bad5575b0a28c]] the ActionSetFieldWidget to enable it to be used to delete a field or indexed property\n* [[Made|https://github.com/TiddlyWiki/TiddlyWiki5/commit/746aab2cf6bbe3c1905efd5caf80e40e23b914b0]] the tw5.com documentation available as a plugin and an [[edition|https://tiddlywiki.com/editions/tw5.com-docs/index.html]], simplifying some scenarios for re-using it\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/0035a0046315ee0203b1adfb75efdbb0e854a7f6]] rendering of \"More\" sidebar tab gradients in the \"Snow White\" theme\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/33563d01baed4b4092fc834eb6a1df55e1671418]] option in [[control panel|$:/ControlPanel]] to enable the display of detailed performance instrumentation in the browser developer console\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/bc0cbf907063ccd484da7d56c8e42cf5e90489b8]] a LazyLoading template for all non-system tiddlers\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/issues/1984]] handling of TiddlerLinks in Markdown tiddlers\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/pull/2004]] FieldManglerWidget to create the target tiddler if it does not exist\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/pull/2049]] KeyboardWidget to trigger ActionWidgets\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/pull/2074]] SelectWidget to support multiple selections\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/1909]] new [[days Operator]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/231d0a3dc8385fcb2173436754f00f464d7b018e]] official plugin wrappers for the JavaScript libraries [[async.js|https://github.com/caolan/async]] and [[JSZip|https://stuk.github.io/jszip/]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/2037]] new ActionListopsWidget\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/791f97983e8bbbbb209cf0e7068f858dfd2d38eb]] ''rows'' attribute to EditTextWidget\n\n!! Bug Fixes\n\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/issues/1882]] problem introduced in 5.1.9 with processing `tiddlywiki.info` files\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/3fbf29093b32c00941b0c03951250de7c0cc8d6f]] problem with invisible icons in $:/AdvancedSearch\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/862e358b57fde74595420e7948bf44fdadf690dc]] check for required plugins in ServerCommand\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/709126dd643207adab725569c214f8617c28fbeb]] problem with queueing change events for deleting non-existent tiddlers\n* [[Ensure|https://github.com/TiddlyWiki/TiddlyWiki5/commit/85553609b10ccc813662c867d4043e5df78efcec]] EditTextWidget fixes height even if refresh isn't required\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/8a763e9d838fcb571d12c4175952cd4e15e95e00]] the gradient on the sidebar tabs divider\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/6add992bf2e9cedd077c74c3471758bbe9d6e1b2]] problem with tiddler titles such as `$:/templates/something` being erroneously classed as `$:/temp` tiddlers, and so excluded from syncing\n* [[Switched|https://github.com/TiddlyWiki/TiddlyWiki5/commit/acbf87657b6c88719148266100b91a61e29a0546]] to absolute date format in tiddler subtitles\n\n!! Node.js Improvements\n\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/dc020276b07fd0ec365c13000eb868a87a3376b9]] problem with the filesystem adaptor saving new image files as base64-encoded .tid files instead of as native binary files with an accompanying `.meta` file\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/commit/803d70225a2ce1f1f7992e493bbaf7a78b15c04d]] `tiddlywiki.files` support in TiddlyWikiFolders to allow directories to be loaded recursively, as well as individual files\n\n!! Contributors\n\n[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:\n\n* [[@afeldspar|https://github.com/afeldspar]]\n* [[@araname|https://github.com/araname]]\n* [[@BramChen|https://github.com/BramChen]]\n* [[@danielo515|https://github.com/danielo515]]\n* [[@Drakor|https://github.com/Drakor]]\n* [[@erwanm|https://github.com/erwanm]]\n* [[@felixhayashi|https://github.com/felixhayashi]]\n* [[@Evolena|https://github.com/Evolena]]\n* [[@hegart-dmishiv|https://github.com/hegart-dmishiv]]\n* [[@idoine|https://github.com/idoine]]\n* [[@inmysocks|https://github.com/inmysocks]]\n* [[@IreneKnapp|https://github.com/IreneKnapp]]\n* [[@gernert|https://github.com/gernert]]\n* [[@kixam|https://github.com/kixam]]\n* [[@Marxsal|https://github.com/Marxsal]]\n* [[@matabele|https://github.com/matabele]]\n* [[@mklauber|https://github.com/mklauber]]\n* [[@nameanyone|https://github.com/nameanyone]]\n* [[@pmario|https://github.com/pmario]]\n* [[@senevoldsen90|https://github.com/senevoldsen90]]\n* [[@Spangenhelm|https://github.com/Spangenhelm]]\n* [[@spelufo|https://github.com/spelufo]]\n* [[@SuperDOS|https://github.com/SuperDOS]]\n* [[@tgrosinger|https://github.com/tgrosinger]]\n* [[@tobibeer|https://github.com/tobibeer]]\n* [[@xcazin|https://github.com/xcazin]]\n* [[@zahlman|https://github.com/zahlman]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/pre-5.4.0/Release 5.1.11.tid",
    "content": "caption: 5.1.11\ncreated: 20160130124109312\nmodified: 20160130124109312\ntags: ReleaseNotes\ntitle: Release 5.1.11\ntype: text/vnd.tiddlywiki\nreleased: 20160130124109312\ndescription: Bug fix release for v5.1.10\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.1.10...v5.1.11]]//\n\nThis is a bug-fix release for [[Release 5.1.10]] that fixes a serious issue affecting the operation of the official plugin library.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/pre-5.4.0/Release 5.1.12.tid",
    "content": "caption: 5.1.12\ncreated: 20160713104714652\nmodified: 20160713104714652\ntags: ReleaseNotes\ntitle: Release 5.1.12\ntype: text/vnd.tiddlywiki\nreleased: 20160713104714652\ndescription: Editor toolbars, improved bitmap editor, Internals plugin, WikifyWidget\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.1.11...v5.1.12]]//\n\n! Major Improvements\n\n!! New Editor Toolbars\n\n[[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/2315]] support for extensible formatting toolbars for the editor widgets.\n\n* Formatting operations for WikiText, with support for Markdown:\n** Character formatting operations for bold, italic, strikethrough, underline, superscript, subscript, inline monospace\n** Line formatting operations for monospaced blocks, quoting, headings and both numbered and bulleted lists\n** Insert picture from a dropdown chooser\n** Stamp snippet of pre-programmed text\n** Excise selected text into a new tiddler\n** Optional automatic resizing to fit content\n* Full keyboard shortcut editor in control panel. Shortcuts are also shown in the toolbar button tooltips\n\n!! Improved Bitmap Editor\n\nThe bitmap editor has been enhanced with a toolbar supporting:\n\n* Painting with selectable colour, width and opacity\n* Clearing the image\n* Resizing the image\n* Keeping track of recently chosen colours\n\n!! Improved Plugins\n\nSeveral of the official plugins available in the plugin library have been updated for this release. [[Upgrading]] will automatically update any installed plugins.\n\n* The KaTeX plugin has been updated to [[version v0.60.0|https://github.com/Khan/KaTeX/releases/tag/v0.6.0]]\n* The CodeMirror plugin has been updated to version 5.13.2, and integrated with the new editor toolbars. The default configuration has been updated to include syntax highlighting for HTML, ~JavaScript, CSS, XML, TiddlyWiki Classic and Markdown.\n* The Markdown plugin includes formatting toolbar buttons and a new \"new markdown tiddler\" button in the Tools tab of the sidebar.\n* The experimental Evernote plugin allows notes and images from `.enex` files to be imported into TiddlyWiki.\n* The new Internals plugin provides features to help understand the internal operation of TiddlyWiki, including new preview modes in the editor showing both the parse and widget trees of the current tiddler\n* Improved language translations:\n** Korean\n** Chinese (Simplified) and Chinese (Traditional)\n** German\n** French\n** Danish\n** Dutch\n\n!! Text-Slicer Plugin Improvements\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/176d2ccd76856b10aadd5e71af587574e7bcd447]] support for sticky notes within documents\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/commit/c98ef97d236fb023c3b5099a5fc52c1e8da7eb4d]] support for slicing documents to Node.js\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/1335dff45013f83fb06a47453e6063b5c0e2c0b3]] document metadata display\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/46800d790a6521aafba24fc9cb9e0d0e8f1a48a2]] `list-children` filter operator\n* Fixed bugs\n\n! Other Improvements\n\n\n!! Usability Improvements\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/7908e10488cc4280dd8e4f405bcb09f2fb6d3524]] a setting for disabling linking to missing tiddlers\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/de3adf905aff80e547dc630890f0d18bd87da880]] a setting for forcing word wrapping in monospaced code blocks\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/issues/2351]] a warning when creating or editing tiddler titles containing troublesome characters\n* Addition of “new image” button to the “Tools” tab of the sidebar\n* Introduction of new general purpose [[colour-picker Macro]]\n* Introduction of new general purpose [[image-picker Macro]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/adf45b346847a81d4ed26397466daa4514035bb9]] a bulk delete button to [[advanced search|$:/AdvancedSearch]] \"Filter\" tab\n\n!! Hackability Improvements\n\n* [[Introduction|https://github.com/TiddlyWiki/TiddlyWiki5/issues/2337]] of the new WikifyWidget\n* Introduction of new EditShortcutWidget for direct entry of keyboard shortcut codes\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/commit/7daebba46bad0e7ea3e4dfc1fc2e59e36414a683]] editor preview pane to allow plugins to add further types of preview (see the new `tiddlywiki/internals` plugin for an example)\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/f8565443d7617f4d18b90ba7ce3f55b9764eccb2]] a simple HTTP PUT saver for use with WebDav or REST servers\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/37823f64e96809df16884c605b062f8da2453635]] build targets to the server edition\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/pull/2364]] [[days Operator]] to better cope with operations on today and yesterday\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/commit/3c20f2396e7c794b6e28c3e369e09230352402d0]] ActionWidgets mechanism to allow them to be used with the LinkCatcherWidget and SelectWidget\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/19e699d3302da842c4a6596f7b9ecc4dcaf8fbc2]] `mobile-web-app-capable` meta tag for Android Chrome\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/3d5885f5a5ef8a395ba15285e68c19a8db115e6b]] new `plainwikified` format for the ViewWidget\n\n!! Bug Fixes\n\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/54bf6c8a93f026ad1128dfc9cd745a67aaa6cda0]] problem with tiddler titles containing single quotes in [[Table-of-Contents Macros]]\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/037cfb7cc7c1b32153e23774697e8a9045d8f36a]] problem with z-ordering of modals in zoomin story view\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/2284]] problem with [[has Operator]]\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/4a03dcab2031a31eb60f99b6d15a70ff0449182c]] problem with double byte entities in the EntityWidget\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/276074b6cfde9d916f9428b2185f795915e190ae]] problem with ScrollableWidget in static renderings\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/1e0d019610acd960b8c70c0b85b7bb1a25096a8f]] problem with repeatedly lazy loading of tiddlers without a text field\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b326ba5b2c9e622f5fe99b00ab368bb484c1d4e5]] problem with titles containing URLs being interpreted as external links\n\n!! Node.js Improvements\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/2379]] ability to [[customise the paths used for tiddler saving|Customising Tiddler File Naming]]\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/bf74d13df544e323066cde9a019cbf1855d3db04]] problem saving non-JPG binary files\n\n! Contributors\n\n[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:\n\n* [[@araname|https://github.com/araname]]\n* [[@BramChen|https://github.com/BramChen]]\n* [[@brentmaxwell|https://github.com/brentmaxwell]]\n* [[@Drakor|https://github.com/Drakor]]\n* [[@edrex|https://github.com/edrex]]\n* [[@Evolena|https://github.com/Evolena]]\n* [[@felixhayashi|https://github.com/felixhayashi]]\n* [[@FND|https://github.com/FND]]\n* [[@Infurnoape|https://github.com/Infurnoape]]\n* [[@kixam|https://github.com/kixam]]\n* [[@Marxsal|https://github.com/Marxsal]]\n* [[@maxthomax|https://github.com/maxthomax]]\n* [[@mklauber|https://github.com/mklauber]]\n* [[@nameanyone|https://github.com/nameanyone]]\n* [[@nome|https://github.com/nome]]\n* [[@PauDeLuca|https://github.com/PauDeLuca]]\n* [[@pmario|https://github.com/pmario]]\n* [[@rcrath|https://github.com/rcrath]]\n* [[@r1chard5mith|https://github.com/r1chard5mith]]\n* [[@sukima|https://github.com/sukima]]\n* [[@telmiger|https://github.com/telmiger]]\n* [[@twMat|https://github.com/twMat]]\n* [[@webninjasi|https://github.com/webninjasi]]\n* [[@xcazin|https://github.com/xcazin]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/pre-5.4.0/Release 5.1.13.tid",
    "content": "caption: 5.1.13\ncreated: 20160713124714652\nmodified: 20160725084810809\nreleased: 20160725084810809\ntags: ReleaseNotes\ntitle: Release 5.1.13\ntype: text/vnd.tiddlywiki\ndescription: Bug fix release for v5.1.12\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.1.12...v5.1.13]]//\n\nThis is a minor bug fix release.\n\n!! Bug Fixes\n\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/e49d310ea943916089b5381b00df20b1f9a9e52e]] (and [[refixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/782553eb62ccfea31ad249911c3230e2137a07dd]]) [[problematic|https://github.com/TiddlyWiki/TiddlyWiki5/issues/2501]] stricter external link matching rules introduced in 5.1.12\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/e282ff1d92d6d3abaf9fd50c9deff464ac028ad7]] [[problem|https://github.com/TiddlyWiki/TiddlyWiki5/issues/2507]] with tiddlers titled \"undefined\"\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/487d6642e34e5eb685ad83a11c8514dbc6fc4d89]] rendering [[problem|https://github.com/TiddlyWiki/TiddlyWiki5/issues/2500]] with [[KaTeX Plugin]]\n* [[Removed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/8f6178acfce1f4f49d1a7d234c25dcbf0256aa10]] unneeded border in print stylesheet\n\n!! Node.js Bug Fixes\n\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/2504]] problem with extraneous `.tid` extension added to tiddler filenames\n\n!! Other Improvements\n\n* Updated Portuguese (Portugal) translation\n\n! Contributors\n\n[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:\n\n* [[@sukima|https://github.com/sukima]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/pre-5.4.0/Release 5.1.14.tid",
    "content": "caption: 5.1.14\ncreated: 20170426160031661\nmodified: 20170426160031661\nreleased: 20170426160031661\ntags: ReleaseNotes\ntitle: Release 5.1.14\ntype: text/vnd.tiddlywiki\ndescription: Drag and drop improvements, initial RTL support, plugins for XLSX import, QR Codes, ~BibTeX, Google Analytics, Twitter\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.1.13...v5.1.14]]//\n\n!! New and Improved Plugins\n\n* Added [[SaveTrail Plugin]] that continuously downloads edited tiddlers in the background, providing a  trail of backups\n* Added XLSX Utilities plugin for importing Excel-compatible spreadsheets. See the [[XLSX Utilities Edition]] for details\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/22c1b04ee79a5ccc25cbc33cc91bf5daac1df831]] QR code generator plugin\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/7f11c151f06cd039d1887a6940075237ccb4b7a9]] ~BibTeX importer plugin\n* [[Updated|https://github.com/TiddlyWiki/TiddlyWiki5/commit/c16f96626e2ff9d849563eeba7d8ef5cf8e4ed4b]] Google Analytics plugin to the latest version\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/e30330d4be0e0b9b04ea807a034c8d9fa3d13fea]] [[Twitter Plugin]] for embedding tweets etc\n* [[Updated|https://github.com/TiddlyWiki/TiddlyWiki5/commit/c0f7f18f0a268087e51813bfbba1b796478d0bb1]] [[KaTeX Plugin]] to [[v0.7.1 of KaTeX|https://github.com/Khan/KaTeX/releases]]\n\n!! Improved Support for Drag and Drop\n\nThere are several improvements to [[Drag and Drop]]:\n\n* Ability to rearrange the \"Open\" sidebar panel and the tag dropdown (and new tiddlers can be opened by dragging them to the list)\n* Ability to reorder entries in tag dropdowns\n* Dragging a tag pill is now equivalent to dragging all of the tagged tiddlers together\n* Entries in the control panel \"Appearance\"/\"Toolbars\" tab can be reordered by drag and drop\n* The image shown while dragging now reflects the dragged item, instead of being a generic drag pill\n\n!! New \"Heavier\" Theme\n\nA new theme called \"Heavier\" thickens TiddlyWiki's default lightweight fonts. A variant \"Tight-Heavier\" combines the \"Heavier\" theme with the existing \"Tight\" theme:\n\n<$button>\n<$action-setfield $tiddler=\"$:/theme\" text=\"$:/themes/tiddlywiki/heavier\"/>\nTry out the \"Heavier\" theme\n</$button> <$button>\n<$action-setfield $tiddler=\"$:/theme\" text=\"$:/themes/tiddlywiki/tight-heavier\"/>\nTry out the \"Tight-Heavier\" theme\n</$button> <$button>\n<$action-setfield $tiddler=\"$:/theme\" text=\"$:/themes/tiddlywiki/snowwhite\"/>\nRevert\n</$button>\n\n!! New Tiddler Manager\n\n[[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/16bb65d17f5a20a0076320c6b1305b7b139d7375]] new [[tiddler manager|$:/Manager]] to support tasks such as:\n\n* Reviewing and applying tags to a large number of tiddlers\n* Tweaking the custom colours and icons for a large number of tiddlers\n\nThe tiddler manager will be extended in the future to increase flexibility and to add support for bulk operations.\n\n!! Performance Improvements\n\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/commit/989cee50594a76a0f30d1d2124ce9e5e5808c6cf]] search mechanism to require the search string to be a minimum length\n\n!! Translation Improvements\n\n* [[Improvements|https://github.com/TiddlyWiki/TiddlyWiki5/tree/master/languages]] to Danish, Dutch, French, German, Portuguese and Chinese translations\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b96377099a7377e4c77582800cac78103a08b066]] new Hebrew translation\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/e20bce5450f40c8db891893fa0674c493bba7f11]] preliminary support for right-to-left (RTL) languages\n\n!! Usability Improvements\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/3197f9a639761e1e56b2f5b18b5f7cf5c3d992da]] a select all/none checkbox to the header of the import panel\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/2072]] \"close plugin library\" button\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/2592]] support for adding tags using the <kbd>enter</kbd> key\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/pull/2590]] handling of <kbd>ctrl-Enter</kbd> to add partially completed tags and fields\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/e8bb897e263feea1a671ce035af68d0c6bc246b5]] support for relinking references to renamed tiddlers\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/0b76c327c217251e2eb8e318e3f2d4637192581a]] new \"print page\" page control button {{$:/core/ui/Buttons/print}} (and [[added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/c4e13bc94afb022e40aaa70b06464084188acfea]] associated [[icon|$:/core/images/print-button]])\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/d1121787c090ec8f5fc592b83c3dbad1075fe0ec]] new page control button to temporarily suspend timestamps {{$:/core/ui/Buttons/timestamp}}\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/7a6d7e2a1567ce04330939b3926b21b88796b4c9]] access to plugin information:\n** Refactored the display of plugin tiddlers to use the same format as the control panel, adding the shadow tiddler listing as an overridable extension tab\n** Added a new tab in the “More” sidebar providing quick access to all installed plugins\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/issues/2616]] height of preview pane to use a scrollbar when fixed height layout is selected\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/commit/4eed18496fe2f4f67ad6a382b813b5c5371d3930]] editor \"link\" button to create external links and missing links\n* [[Increased|https://github.com/TiddlyWiki/TiddlyWiki5/commit/2d9aa12aa867d1b7c983e21de2ed60abf6f5a1bc]] size of icons in the \"Filter\" tab of $:/AdvancedSearch\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/issues/2381]] problem with multiple copies of a tiddler appearing in the story river\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/pull/2585]] dropdown for new field names with typeahead search\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/c02c3a06e09baaa7746a26dffebb97ef8ec1ff6e]] the ordering of groups in the tiddler editor content type dropdown\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b3273bcbda6bcb9f3a0670b79ea598c3674c5012]] \"sticky\" mode for tiddler info panel. See \"Settings\" in [[control panel|$:/ControlPanel]]\n* [[Increased|https://github.com/TiddlyWiki/TiddlyWiki5/commit/5bf238fc8698a6b750dd0f577ab745a4db714a17]] boldness of tag pill text\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/ee66d1a1afb939c0cba8c2257b8300921831c716]] documentation marker to indicate the version in which a new feature was released\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b1a5afbf158fab9e224978c81a10aca15d30d91a]] an entry to the advanced search filter drop down for exporting the current story (minus advanced search)\n\n!! New and Improved Filter Operators\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/issues/2767]] new [[enlist Operator]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b4b77d1681023d4ccc0e157df1ce67d0d388cd5a]] several new filter operators for string encoding/decoding:\n** [[decodehtml Operator]]\n** [[decodeuri Operator]]\n** [[decodeuricomponent Operator]]\n** [[encodehtml Operator]]\n** [[encodeuri Operator]]\n** [[encodeuricomponent Operator]]\n** [[escaperegexp Operator]]\n** [[stringify Operator]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/ffcbcbfa82cb8f1044c57967117aeae0978579f0]] new [[minlength Operator]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/9a386421414aacd23e21bc9cb1a116b905fb39ff]] new [[order Operator]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/c65d08240b1f69078c8b3129cb9b00df56ada1d3]] strict mode to [[tag Operator]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/a3dc3b4b98f424d12019550df52639224100316f]] new ''tags'' option to the [[all Operator]]\n* [[Changed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/c460cc03a49be2c41157814f5a1fc25c4bc3fe41]] [[is Operator]] to pass through arguments if the operand is blank\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/2066]] \"field\" suffix for [[has Operator]]\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/pull/2193]] [[wikiparserrules Operator]] to return all available parse rules\n\n!! Hackability Improvements\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/d9f301f7556ce899840dab0ebc31c040d9c7a72b]] support for \"formattedtext\" output type to the WikifyWidget\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/a20da9f5303fdd52a54d61b231450c2aa35d3804]] a saver for the peer-to-peer Beaker browser; see [[TiddlyWiki on Beaker Browser]] for details\n* [[Refactored|https://github.com/TiddlyWiki/TiddlyWiki5/commit/f07e0f981a1cded691227146e0281f7c4f06d55c]] the tag templates and macros to make them more reusable\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/87fa7f972cae859c466dea8a531d50f060e7d910]] modals and notifications so that global macros are available\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b35544bf4946596e60f7b0c7f0a55fa490ac2a24]] the SetWidget to allow a single result to be selected from a filtered result list\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/2f590a365e5b6bfecc1170fdbeaaf398795a2feb]] new `$:/info/url/*` [[information tiddlers|InfoMechanism]] providing document location information\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/3bceb98119c6f1fbbed76c977c601a930b0bcac9]] support for the ''actions'' attribute to the CheckboxWidget\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/pull/2104]] CheckboxWidget to support data tiddlers via the `index` attribute\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b1a5afbf158fab9e224978c81a10aca15d30d91a]] new entry to the advanced search filtered export menu for exporting the current story river\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/1b339e17bc0c67ff7eb3e8f7f299588ecf8848ee]] `tag` attribute to the KeyboardWidget\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/2614]] overwrite protection to the ~WebDAV saver\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/202ffd9c51d71b469eff968ae63b56a985a3c6bf]] new \"big block quote\" style for [[Block Quotes in WikiText]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/c25a44756b1a4a08a29fbe02a908ef57a6a193bf]] customisable template text for new journal tiddlers, accessible the control panel\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/779e62a30fc5e61cee893eabc0f268e7fb959639]] support for `.json` tiddler files containing a single tiddler object, instead of an array of tiddlers\n\n!! Node.js Improvements\n\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commits/master/plugins/tiddlywiki/filesystem/filesystemadaptor.js]] multiple issues the creation of new tiddler files by the filesystem adaptor\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/0d0ece63777a22422ab2ddae7dee996b28f62c5e]] new FetchCommand for retrieving tiddlers over http/https\n* [[Enhanced|https://github.com/TiddlyWiki/TiddlyWiki5/commit/6f93ce6ea790427fe1e6e11a062d64f14449bfa3]] RenderTiddlerCommand to add support for an additional variable\n\n!! Bug Fixes\n\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b1ecf81b0c0727db2245cfeba78cc46a33c3a814]] Node.js support for the HighlightPlugin\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/2650]] problem with recursion errors in the [[Table-of-Contents Macros]]\n* [[Prevented|https://github.com/TiddlyWiki/TiddlyWiki5/commit/f97c1226aac9f3a5b563fc8d95bfeff91b8ab810]] email addresses from being mis-recognised as HTML tags\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/2572]] issue with `$tw.utils.strEndsWith()`\n* [[Partially fixed|https://github.com/TiddlyWiki/TiddlyWiki5/issues/2599]] problem with action widgets being invoked independently of refresh cycle\n* [[Revised|https://github.com/TiddlyWiki/TiddlyWiki5/issues/2522]] handling of `syncAdaptor.isReady()` method to improve compatibility with older adaptors\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/issues/2517]] problem with unsafe use of `String.prototype.replace()`, corrupting fields containing dollar signs\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/8b60dbb81d3495aa8be1f160e4f31bcae995f400]] problem with page background colour not showing through transparent background images\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/issues/2514]] sync problem with skinny tiddlers not being loaded\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/06b7de415cd2cef3848f2ef2516200ee79afd130]] problem with \"Cancel\" button in login dialogue also submitting the form\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/issues/2579]] typo affecting created/creator fields when deleting a field\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/issues/2595]] issue with system links containing international characters not being recognised\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/issues/2076]] issue with single line macro definitions without a terminating line break\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/cf28eeb2a120fe3f263235c35fe5603013f88049]] issue with empty strings and the CheckboxWidget\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b759d82f4ce2bf44da0bcce0c08550870f3216f8]] problem with calculation of week numbers\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/issues/2312]] problem with [[move Operator]] not wrapping correctly\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/f0ff1f993e94d6928f0aa249b7f6f5e5624ebb69]] problem preventing customisation of textarea background colours\n\n!! Developer Bug Fixes and Improvements\n\n* [[Updated|https://github.com/TiddlyWiki/TiddlyWiki5/commit/25b2e846cea0f560b259296263a98e3287e5f311]] Stanford JavaScript Library to version v1.0.6\n* [[Updated|https://github.com/TiddlyWiki/TiddlyWiki5/commit/c16f96626e2ff9d849563eeba7d8ef5cf8e4ed4b]] Google Analytics plugin to latest version of Google's code\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/3c715c5e0d1117ca32760d4da6578cd27af06172]] Common/JS compatibility by adding support for implicitly adding `/index.js` to a require target\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/1b41b4468495bbe66f99345ee94a67346176deb7]] support for bulk loading tiddler files via [[tiddlywiki.files Files]] within TiddlyWikiFolders\n* [[Refactored|https://github.com/TiddlyWiki/TiddlyWiki5/pull/2627]] server mechanism to make it simpler to integrate TiddlyWiki into [[ExpressJS|http://expressjs.com/]] apps\n* [[Refactored|https://github.com/TiddlyWiki/TiddlyWiki5/pull/2626]] the TiddlyFox saver module to make it easier to use it with other saving mechanisms\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/2397f0aa6f7af305807b61ccb1d435c2e6a789ab]] (and [[here|https://github.com/TiddlyWiki/TiddlyWiki5/commit/daf703b67fae0dd029eeaa4317b721fa8c284648]]) several new UI hooks, and [[improved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/6b2ab9072111cb87508f83a385b0885fb196cbcf]] the hook mechanism; see <a href=\"./dev/index.html#:[search:title[hook]]\" target=\"_blank\">developer docs</a>\n\n! Contributors\n\n[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:\n\n* [[@beniquezsd|https://github.com/beniquezsd]]\n* [[@BramChen|https://github.com/BramChen]]\n* [[@crypdick|https://github.com/crypdick]]\n* [[@danielo515|https://github.com/danielo515]]\n* [[@dedioste|https://github.com/dedioste]]\n* [[@DoronTzur|https://github.com/DoronTzur]]\n* [[@duarteframos|https://github.com/duarteframos]]\n* [[@FND|https://github.com/FND]]\n* [[@gernert|https://github.com/gernert]]\n* [[@hchaase|https://github.com/hchaase]]\n* [[@ibnishak|https://github.com/ibnishak]]\n* [[@jest|https://github.com/jest]]\n* [[@jrgetsin|https://github.com/jrgetsin]]\n* [[@nameanyone|https://github.com/nameanyone]]\n* [[@Marxsal|https://github.com/Marxsal]]\n* [[@mklauber|https://github.com/mklauber]]\n* [[@nmota|https://github.com/nmota]]\n* [[@pmario|https://github.com/pmario]]\n* [[@roma0104|https://github.com/roma0104]]\n* [[@Serj-Aleks|https://github.com/Serj-Aleks]]\n* [[@stevesunypoly|https://github.com/stevesunypoly]]\n* [[@sukima|https://github.com/sukima]]\n* [[@sycom|https://github.com/sycom]]\n* [[@tejjyid|https://github.com/tejjyid]]\n* [[@telmiger|https://github.com/telmiger]]\n* [[@tobibeer|https://github.com/tobibeer]]\n* [[@twMat|https://github.com/twMat]]\n* [[@xcazin|https://github.com/xcazin]]\n* [[@zakrec|https://github.com/zakrec]]\n "
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/pre-5.4.0/Release 5.1.15.tid",
    "content": "caption: 5.1.15\ncreated: 20170426172144552\nmodified: 20171113161124237\nreleased: 20171113161124237\ntags: ReleaseNotes\ntitle: Release 5.1.15\ntype: text/vnd.tiddlywiki\ndescription: Explorer tab, whitespace pragma, save and render commands\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.1.14...v5.1.15]]//\n\n!! New and Improved Plugins\n\n* New [[Amazon Web Services Plugin]] with primitives for running TiddlyWiki in the cloud\n* New [[External Attachments Plugin]] that allows automatic creation of [[ExternalImages]] for TiddlyDesktop\n\n!! Translation Improvements\n\nNew and improved translations:\n\n* New Persian translation\n* Updated Chinese and Greek translations\n\nAnother improvement that benefits users of translations is the addition of about 800 new //transliteration pairs//. These are substitutions that are performed when converting a tiddler title into a filename, such as the two characters \"oe\" for the single character \"œ\". See [[the commit|https://github.com/TiddlyWiki/TiddlyWiki5/commit/5cdf86b3072604f8c556c84f266767be5b8e75c3]] for more details. The result is that automatically generated filenames are much more readable.\n\n!! Usability Improvements\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/1e9d214f67906e63758f8665091bc0ef6651f10d]] new \"Explorer\" tab to \"More\" sidebar and underlying [[tree Macro]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/cee7baa1831a8f236c46d8c438c2a4d9bda8a0e2]] configuration option in [[theme tweaks|$:/themes/tiddlywiki/vanilla/themetweaks]] for the editor font\n\n!! Hackability Improvements\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/aa417fe899d0983ad8a3fe1fdfe9cac42364b2b6]] new [[lookup Operator]] to simplify use of lookup tables\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/commit/5dd3d97760083f7c6ba9a6cd6186525edb3fb836]] the SetWidget with ''tiddler'', ''field'' and ''index'' attributes\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/d966583854d7c7f4a7df25c0e2a8d6b9e217a12c]] new ''whitespace'' [[Pragma]] allowing whitespace to be selectively ignored within wikitext\n* [[Updated|https://github.com/TiddlyWiki/TiddlyWiki5/commit/ef9efbc3995248d72148423bee10a1374c842926]] support for saving in [[Beaker Browser]]\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/commit/4db950cc450ef1ea87ce8f480fe882f2b108cdb4]] [[date formatting|DateFormat]] to support milliseconds and UTC dates\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/commit/dc295b2536cdf411893e15b6dc0d62107f50a08d]] LinkCatcherWidget to make the target tiddler available within the action string\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/commit/596dfa1d5058e030a318e4a0f23d078500c3d154]] (and [[here|https://github.com/TiddlyWiki/TiddlyWiki5/commit/a4d919f45caae393f99018e0d797980b3667867f]]) the DropzoneWidget and BrowseWidget to allow the deserializer to be manually specified\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/523280362b529ee73229001a1bcd79272f483908]] new `tc-btn-*` classes to toolbar buttons allowing easier custom styling\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/8293a77c6e6870960956dcf1501c687d2f88ea3c]] new ''mode'' attribute to the ViewWidget, allowing control over the parsing mode for wikified output formats\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/d7a6816307f4fd47df29cb8e0343ea39c079a2b0]] new [[jsonstringify Operator]]\n\n!! Node.js Improvements\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/35a7a66b019f2ea0532ba65cd5475f5cfe46a860]] SaveCommand and RenderCommand, intended as more flexible replacements for RenderTiddlerCommand, RenderTiddlersCommand, SaveTiddlerCommand and SaveTiddlersCommand\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/51b1ead5c9aa5a754e7fdc0bfbf241dd98db5f7c]] (and [[here|https://github.com/TiddlyWiki/TiddlyWiki5/commit/1b7d9d65f42e77fdceb11b0b0b9ab9a63f6762e9]]) more colour to command line output\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/c179dc93cbd8947f92a8007d28c497b70efc4204]] new \"raw\" options to the FetchCommand\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/e951047461c3c2c273484a759ce5fc2c388fb684]] new ImportCommand\n\n!! Bug Fixes\n\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/2821]] problem with \"new journal\" button clearing the text field\n* [[Removed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/c069d48a2a690b333c0733328f3574ae8a76e435]] extraneous URI encoding of filename with PUT saver\n* [[Restored|https://github.com/TiddlyWiki/TiddlyWiki5/pull/2940]] ability to use sub-filter with image-picker macro\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/ccac0258af9b6d8c93d41b1f170e20dbf2efe3f3]] problem with the download saver and filenames containing spaces, accents or other characters that need URL encoding\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/issues/2850]] problem with importing JSON tiddlers with leading or trailing spaces in the title\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/683285d44943db2d993bd574ed2d2f8a07dfc816]] plugin display so that \"contents\" tab is shown even if no other tabs are provided\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/2842]] problem with `allbefore:include` filter operator\n* [[Updated|https://github.com/TiddlyWiki/TiddlyWiki5/commit/e471bd54d42226d3b6d070b8561f8883f44df68a]] Update Stanford JavaScript Library to version 1.0.7\n\n!! Developer Bug Fixes and Improvements\n\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/commit/0bc325025a61c265dafe7ce8750ea8deed2be51b]] `$tw.boot.boot()` to add a callback parameter\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/commit/d89010752a8b169a4917bde9a9028ddd871e743d]] navigation handling to pass original event data\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/518f57f4bbc747c3675260eb3ffde1dc7468c805]] new `th-importing-files` hook\n\n! Contributors\n\n[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:\n\n* [[@0mp|https://github.com/0mp]]\n* [[@Arlen22|https://github.com/Arlen22]]\n* [[@BramChen|https://github.com/BramChen]]\n* [[@cjhunt|https://github.com/cjhunt]]\n* [[@danielo515|https://github.com/danielo515]]\n* [[@hoelzro|https://github.com/hoelzro]]\n* [[@Marxsal|https://github.com/Marxsal]]\n* [[@maxthomax|https://github.com/maxthomax]]\n* [[@morosanuae|https://github.com/morosanuae]]\n* [[@pmario|https://github.com/pmario]]\n* [[@rubaboo|https://github.com/rubaboo]]\n* [[@saqimtiaz|https://github.com/saqimtiaz]]\n* [[@telmiger|https://github.com/telmiger]]\n* [[@twMat|https://github.com/twMat]]\n* [[@xcazin|https://github.com/xcazin]]\n "
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/pre-5.4.0/Release 5.1.16.tid",
    "content": "caption: 5.1.16\ncreated: 20171114142602640\nmodified: 20180425155658451\nreleased: 20180425155658451\ntags: ReleaseNotes\ntitle: Release 5.1.16\ntype: text/vnd.tiddlywiki\ndescription: [[Dynaview Plugin]], import previews, DiffTextWidget, rotate left in bitmap editor, StartupActions\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.1.15...v5.1.16]]//\n\n!! Improved ~CodeMirror Plugins\n\nThe ~CodeMirror plugin has undergone a substantial rewrite, with many new improvements:\n\n* Upgrade to ~CodeMirror version v5.37.0\n* Now modularised into:\n** Base plugin: basic lightweight configuration, approximately 240KB\n** Add-on plugins:\n*** Search and Replace\n*** Auto-completion\n*** Fullscreen editing\n*** Auto-close brackets\n*** Auto-close tags\n*** ~SublimeText keymap\n*** Emacs keymap\n*** Vim keymap\n*** Highlighting modes: Javascript, Xml, Html (htmlmixed), Html (htmlembedded), Css, Markdown, X-Tiddlywiki\n* Automatic configuration (the configuration tiddler is not needed anymore)\n*** ~CodeMirror (engine.js) builds the configuration using information within the installed ~CodeMirror plugins\n* New control panel configuration tab:\n** Line numbers\n** Theme:\n*** Editor font family (same as native TiddlyWiki)\n*** Cursor settings\n*** Line wrapping\n** Active line highlighting\n*** Autocompletion on/off (if installed)\n** Keymap\n\n!! Other New and Improved Plugins\n\n* New [[Dynaview Plugin]] makes it possible to build user interfaces that dynamically respond to changes in scrolling or zooming\n* Improved [[Text-Slicer Plugin|Text-Slicer Edition]] with customisable JSON rules\n* Updated [[KaTeX Plugin]] to latest v0.9.0\n\n!! Translation Improvements\n\nNew and improved translations:\n\n* New Slovenian translation\n* New Português (Brasil) translation\n* Improved Dutch translation\n* Improved French translation\n* Improved German translation\n* Improved Traditional and Simplified Chinese translations\n** These translations now also reset the minimum search length to one character\n\n!! Privacy Improvements\n\nPrompted by the [[General Data Protection Regulation (GDPR)|https://en.wikipedia.org/wiki/General_Data_Protection_Regulation]], we've [[removed all third party cookies from tiddlywiki.com|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3106]].\n\n!! Usability Improvements\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3112]] new DiffTextWidget, and integrated it into the import listing and as a preview pane\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/9e03264ebe141a5dc4d37dcb62f3bbf2f740d983]] selectable previews to the import listing\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3155]] new editor toolbar buttons for wrapping the selection with double square and curly brackets\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3134]] new [[sortan Operator]] for sorting alphanumeric values such as \"Apple 6\", \"Apple 7\", \"Apple 8\", \"Apple 9\", \"Apple 10\", \"Apple 20\", \"Apple 30\", \"Apple 100\"\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/da0ffce2d66f16ad14587fbe58b8d7a5c8d36657]] default fonts for readability as advised by [[GitHub|http://markdotto.com/2018/02/07/github-system-fonts/]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3131]] an editor toolbar button for stamping fragments of formulae for the [[KaTeX Plugin]] \n* [[Simplified|https://github.com/TiddlyWiki/TiddlyWiki5/commit/1c8170463c80a18c0753783aa0b32a0ff2f9028c]] the page scrolling behaviour: navigating to a tiddler now scrolls the top of the tiddler to the top of the viewport\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/d2ff164c07788818ded9826c9e3811599272e69c]] [[WidgetMessage: tm-copy-to-clipboard]] and [[also|https://github.com/TiddlyWiki/TiddlyWiki5/commit/1b6a06a4d79ad5c58593a7844e306c25848979ea]] [[copy-to-clipboard Macro]] for copying text directly to the clipboard\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3040]] a hint to the field list dropdown\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3135]] a control panel setting for the default tab in the More sidebar\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3149]] a control panel setting for the titles of new tiddlers\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/c0569849d22f99623423d349c0d96ecae11ffbe8]] \"rotate left\" button to bitmap editor toolbar\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3180]] criteria under which certain editor toolbar buttons are displayed\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3190]] support for a minimum length for the new tag field before the dropdown is shown\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/02529a51d0be47477e62cd52dd5e4989a4993663]] consistency and reusability of the palette, language and theme switchers\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/ea763d0eaba7edf928ae247563deb95278504e9f]] support for retaining tab content in the [[tabs Macro]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/2703]] support for adding links via the <kbd>enter</kbd> key\n\n!! Hackability Improvements\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/033feda02d7f5cdf27a9393b8229f22219cdab88]] support for comparison operators to the RevealWidget\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/1c6942402ee7b6d938f01bad23130ebe75b109f2]] support for StartupActions to execute action widgets at startup\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/commit/f4fd5e76f8da8555bb9056725f11e0c0c91649f7]] ServerCommand to allow the port number to be specified as an environment variable\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/28e713caac1582e30b9ab8f7364ac8a564f4ffd7]] screen width/height to [[platform information exposed at startup|InfoMechanism]]\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3167]] DroppableWidget to pass modifier keys in a variable\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3203]] DraggableWidget with actions for drag start and drag end\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/7cb54f32c6ee2d98f3f13ddda39f92281d419afd]] a new [[TaskManagementExample (Draggable)]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/460a07ca03a501009530a57352d6bec0e3cf49cd]] new 'Stylesheets' tab to control panel\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b4c7c59d5d1bc5282fcfed58abbf087b9f65b86c]] new 'emptyMessage' parameter to [[list-links Macro]] and [[list-tagged-draggable Macro]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/de4eb5ca89132db136c8f5fb3103f289f25fe98a]] new `th-page-refreshed` hook\n* [[Enhanced|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3063]] macro evaluation by making parameters available as variables - see \"Parameters as Variables\" in [[Macro Definitions in WikiText]]\n* [[Enhanced|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3052]] LinkWidget to allow better customisation of CSS classes\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3124]] new \"value\" suffix for the [[each Operator]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/0d354fe57f7424c1751a5c0cf5fbf1203803f3c8]] new ''subtiddler'' attribute to the SetWidget\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/47cdf5513391742c3410bb80b36107ab17b0476d]] new [[subtiddlerfields Operator]] for extracting the fields from tiddlers within plugins\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3182]] ability to trigger actions on unchecking the CheckboxWidget\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/2182]] support for a checked class to the RadioWidget\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/pull/2982]] the [[is Operator]] to allow multiple types to be specified\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3209]] data attributes to ViewTemplate (see [[Custom data-styles]])\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/2988]] new RangeWidget\n\n!! Bug Fixes\n\n* [[Removed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3043]] superfluous list item at the end of list-links-draggable macro\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/7e71fcfab80bed9aed4389eea386fb2036cc4a85]] problem with the content area of vertical tabs sometimes overflowing their right hand margin\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3079]] problem with double quotes within the new journal template\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3070]] problem with dragging inside a textarea\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3099]] usage of \"default\" attribute of SelectWidget when \"index\" attribute is used\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3093]] problem with crash when dragging over TiddlyWiki on some browsers\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3079]] issue with new journal button\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3164]] problem with ''filter'' and ''value'' attributes of SetWidget\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3190]] problem with numeric operands in the [[Extended Listops Filters]]\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/df1f7e9798b5f6c3d2c3fd82e438cbc9713ade04]] problem with \"put\" saver and 412 return codes\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3048]] problem with variable references in field values in the edit template\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3219]] behaviour of list-after field so that the tiddler is placed at the end of the list if the list-after field is present but empty \n\n!! Developer Bug Fixes and Improvements\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/1dc764764055243acd07d0c4f480e6e912be6870]] ''plugin-priority'' field to core plugins\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3113]] problems with plugin ordering\n* Several optimisations to the tiddler store:\n** [[Avoiding slow Object.keys calls|https://github.com/TiddlyWiki/TiddlyWiki5/commit/254e1ca7f7a5fe9d2deef72692ada2b7637f34ce]] - saving 50% of some operations\n** [[Optimising the tag filter|https://github.com/TiddlyWiki/TiddlyWiki5/commit/e4b10d42f9480c0505862a93f0b97d1c4270ed65]] - saving 50% on some tag operations\n** [[Minor improvements to tiddler deletion|https://github.com/TiddlyWiki/TiddlyWiki5/commit/358d4165260311446f2b433591762dd667250975]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/2990]] support for custom boot paths\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3206]] new navigation hooks: `th-cancelling-tiddler`, `th-new-tiddler` and `th-renaming-tiddler`\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3024]] new hook when the HTTP server starts `th-server-command-post-start`\n\n\n! Contributors\n\n[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:\n\n* [[@alexhough|https://github.com/alexhough]]\n* [[@anavarre|https://github.com/anavarre]]\n* [[@BramChen|https://github.com/BramChen]]\n* [[@BurningTreeC|https://github.com/BurningTreeC]]\n* [[@diego898|https://github.com/diego898]]\n* [[@flibbles|https://github.com/flibbles]]\n* [[@furicle|https://github.com/furicle]]\n* [[@gernert|https://github.com/gernert]]\n* [[@ibnishak|https://github.com/ibnishak]]\n* [[@inmysocks|https://github.com/inmysocks]]\n* [[@Marxsal|https://github.com/Marxsal]]\n* [[@metebalci|https://github.com/metebalci]]\n* [[@mklauber|https://github.com/mklauber]]\n* [[@pmario|https://github.com/pmario]]\n* [[@Skeeve|https://github.com/Skeeve]]\n* [[@TheDiveO|https://github.com/TheDiveO]]\n* [[@tobibeer|https://github.com/tobibeer]]\n* [[@twMat|https://github.com/twMat]]\n* [[@xcazin|https://github.com/xcazin]]\n "
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/pre-5.4.0/Release 5.1.17.tid",
    "content": "caption: 5.1.17\ncreated: 20180512104329616\nmodified: 20180512104329616\nreleased: 20180512104329616\ntags: ReleaseNotes\ntitle: Release 5.1.17\ntype: text/vnd.tiddlywiki\ndescription: Minor bug fix release\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.1.16...v5.1.17]]//\n\n!! Reversions\n\nAfter encountering significant problems we've reluctantly decided to [[remove support|https://github.com/TiddlyWiki/TiddlyWiki5/commit/737e9ae4cb136ca3f473624f64142bd83e532b9b]] for multiple sub-operators with the [[is Operator]] that was added in v5.1.16.\n\n!! Usability Improvements\n\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/7468ad7acf1ca2280ad89ee014484928e160f54b]] appearance of ~TiddlyWiki's \"red screen of embarrassment\"\n\n!! Bug Fixes\n\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/e6466b2c320cdab46a74aa343b6c56c5783e3f94]] problem with extraneous space in new journal titles\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b95aa6ec6ad51672e9ed26ab94d7fe799698782c]] problem with repeated use of \"new journal\" with text set\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/f9be417204695d26d5f458fbc53870b2adb9a372]] (and [[here|https://github.com/TiddlyWiki/TiddlyWiki5/commit/46e8e4343acba876b9540b9fc77a5c85faa10939]]) problem with Etag handling\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3240]] problem with [[is Operator]] introduced in 5.1.16\n* [[Restored|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b2173d11ea550ba4a5f2fd89b1388b392e37dd51]] default of the preview pane being hidden\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/issues/3245]] incorrect plugin library location\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3226]] animation timing problem with reveal widget that sometimes caused the sidebar not to show when requested\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3244]] problem with saving with non-Dat URI schemes\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/4c89bbabbe5f5665e92258b560ed7380ae06d9e8]] deletion of `$:/status/UserName` when logged out\n\n!! Node.js Improvements\n\n* [[Stopped|https://github.com/TiddlyWiki/TiddlyWiki5/pull/2893]] clearing [[$:/status/UserName]] when logged out\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/ab5e5795e88892b5687885c8ead8d6959082399b]] bug with attempting to lazy load tiddlers that do not qualify for syncing\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/2c7f467514cb75aefa87912620575deabde1a530]] support for `/*\\` style metadata comments at the top of `*.CSS` files\n\n! Contributors\n\n[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:\n\n* [[@BramChen|https://github.com/BramChen]]\n* [[@BurningTreeC|https://github.com/BurningTreeC]]\n* [[@danielo515|https://github.com/danielo515]]\n* [[@icarito|https://github.com/icarito]]\n* [[@ldorigo|https://github.com/ldorigo]]\n* [[@mklauber|https://github.com/mklauber]]\n* [[@sukima|https://github.com/sukima]]\n* [[@tobibeer|https://github.com/tobibeer]]\n* [[@twMat|https://github.com/twMat]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/pre-5.4.0/Release 5.1.18.tid",
    "content": "caption: 5.1.18\ncreated: 20181206090053690\nmodified: 20181206090053690\nreleased: 20181206090053690\ntags: ReleaseNotes\ntitle: Release 5.1.18\ntype: text/vnd.tiddlywiki\ndescription: Global keyboard shortcuts, HTTP server improvements, support for splash screens, `~` filter run prefix, external JS support\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.1.17...v5.1.18]]//\n\n!! Major Improvements\n\n!!! Global Keyboard Shortcuts\n\nThis version introduces new infrastructure to handle global keyboard shortcuts. The core ships with the following shortcuts:\n\n* <kbd>alt-I</kbd> (or <kbd>ctrl-I</kbd> on Mac) - New image\n* <kbd>alt-J</kbd> (or <kbd>ctrl-J</kbd> on Mac) - New journal\n* <kbd>alt-N</kbd> (or <kbd>ctrl-N</kbd> on Mac) - New tiddler\n\nSee [[How to create keyboard shortcuts]]\n\n!!! Node.js HTTP Server\n\nThe HTTP WebServer functionality has been significantly improved:\n\n* Adds ability to make a wiki that is [[read-only for anonymous users (with the editing UI hidden), but allows editing for users who log in|WebServer Authorization]]\n* Hides UI features like the new tiddler button and the edit button when the user only has read-only access to the wiki\n* Adds support for [[serving static file attachments over HTTP|Using the integrated static file server]]\n* Adds support for [[multiple user credentials|WebServer Parameter: credentials]] for basic authentication via a CSV file containing usernames/passwords\n* Adds support for [[serving over HTTPS|Using HTTPS]] as well as HTTP\n* Adds support for [[authentication via a trusted header|WebServer Parameter: authenticated-user-header]], making it easier to integrate with corporate single sign on (and Windows authentication)\n* Adds support for more fine grained authorisation (ie granting/denying individual users read/write permission to resources)\n* Better [[debugging information|WebServer Parameter: debug-level]]\n* Experimental support for a new, plain HTML [[single tiddler per page view|Using the read-only single tiddler view]]\n* Adds a simple level of [[CSRF protection|WebServer Parameter: csrf-disable]]\n* Deprecating the existing ServerCommand in favour of a new  ListenCommand using the new NamedCommandParameters support for named parameters that can be specified in any order\n* Refactoring routes as separate modules, making it easier to extend the server with new functionality\n\nSee WebServer for more details, or [[see the changes on GitHub|https://github.com/TiddlyWiki/TiddlyWiki5/pull/2679]].\n\n!!! Special Characters in Tiddler Titles\n\nIn previous versions of TiddlyWiki, there were some special character sequences in tiddler titles that would break certain features. For example, a tiddler title ending in double quotes would cause the [[Table-of-Contents Macros]] to render incorrectly.\n\nAs of 5.1.18, many of these problems have been fixed by refactoring the features to use the latest abilities of wikitext:\n\n* [[Table-of-Contents Macros]]\n* [[tree Macro]]\n* [[tag Macro]]\n* [[list-tagged-draggable Macro]]\n* $:/TagManager\n\nNote that using certain characters in tiddler titles will still prevent some features from being used correctly. For example, two vertical bar characters are used in the double curly braces transclusion syntax to separate the tiddler title from the template title: `{{title||template}}`. However, although it would be impossible to transclude a tiddler called `title||template` using that syntax, one could still transclude it using `<$transclude tiddler=\"title||template\"/>`.\n\n!! Plugin Improvements\n\n* ''KaTeX Plugin'' -- the [[KaTeX Plugin]] has been [[updated to KaTeX v0.10.0|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3600]]. The plugin [[now incorporates|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3601]] an [[extension for chemical formulae|https://github.com/mhchem/MathJax-mhchem]]\n* ''Comment Plugin'' -- this release [[adds|https://github.com/TiddlyWiki/TiddlyWiki5/commit/acaa07a964a004759ddb8fb755484918b3322815]] a new commenting plugin -- see $:/plugins/tiddlywiki/comments\n* ''AWS Plugin'' -- support for running TiddlyWiki as a Lambda function has been [[improved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/d6a0b06f024e14e9c0a57df5d2b80c8a1cdbd1c2]] with support for GZip compression of the JSON payload\n\n!! Translation Improvements\n\nNew and improved translations:\n\n* Catalan\n* Chinese Simplified and Chinese Traditional\n* Dutch\n* French\n* German\n\n!! Usability Improvements\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/cfb2d7c9c8d899729b67864070d1958b35cc0ca2]] support for splash screens to be shown while TiddlyWiki is loading -- see [[Creating a splash screen]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/88664f028611162730b898025a45d29568eb205a]] display of backlinks when renaming a tiddler\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/3bfa9c6f100cfd7107f2c5bf4cfc5dd40a93d54d]] persistent indicators at the bottom of the window showing any hidden drafts\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/7dbe117bc55a9cda91ce7b480525a2b2a70b8229]] current username (if set) to the title of draft tiddlers, making them easier to identify in multiuser scenarios\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/6b14969cf60bdcad16ac5978030bf1d929a712c6]] a warning for binary tiddlers in view mode\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/issues/3255]] permalink/permaview to copy the URL to the clipboard as well as updating the address bar. This behaviour can be customised in $:/ControlPanel settings\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/d96c84426484747ab19d92b1d9f49e01c9dad985]] saving to use the $:/SiteTitle as the basis of the filename\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/09112ed455e7c4be2e50e88c00f370d726d71f64]] support for [[webp|https://en.wikipedia.org/wiki/WebP]], [[heic and heif|https://en.wikipedia.org/wiki/High_Efficiency_Image_File_Format]] image formats\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/97b098b059aa75e9c5965cafa5973ea6d98951d7]] tiddler positioning when creating new tiddlers\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/55b5b6dd56d9146b39482fbd2ae0353adce037f1]] smooth scrolling in new windows\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/c82edbe6bc9dfe6166650e4300a860c6ee625c76]] problem dismissing popups within new windows\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3530]] handling of disabled missing links so that core user interface features are not broken (see also [[here|https://github.com/TiddlyWiki/TiddlyWiki5/commit/a83cd3f984c88a1ecf5861c2c25ffb483b08f0ac]]) \n\n!! Hackability Improvements\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3558]] a new filter prefix `~` allowing if-then-else logic within filters -- see [[Filter Expression]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/33dd367a6548824567995bb48e87eece755681e8]] a new [[subfilter Operator]] to allow nested filters to be used\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/849844be12196781017b3a517839c4721771efd7]] new ''stateTitle'', ''stateField'' and ''stateIndex'' attributes to the ButtonWidget and the RevealWidget, making it possible to use state tiddlers whose titles contain `!!` or `##`\n* [[Enhanced|https://github.com/TiddlyWiki/TiddlyWiki5/commit/d6a0b06f024e14e9c0a57df5d2b80c8a1cdbd1c2]] the [[search Operator]] to support searching arbitrary lists of fields, literal searches, whitespace-tolerant searches and regexp searches\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/763f8afaf2dc7dcaa2d4a492887a944d84c4fed2]] new [[contains Operator]] for searching within list fields\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/issues/3396]] support for a navigation scroll offset to avoid navigating to tiddlers resulting in them being obscured under a `position:fixed` top menu bar -- see [[Hidden Setting: Scroll Top Adjustment]]\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/commit/3140ff9e490cc2e725c0d02edab8db93009d74b2]] [[WidgetMessage: tm-full-screen]] message to support forcing the status instead of just toggling it\n* [[Refactored|https://github.com/TiddlyWiki/TiddlyWiki5/pull/2758]] the sidebar to make it be dynamically built from the tag <<tag \"$:/tags/SideBarSegment\">>\n* [[Refactored|https://github.com/TiddlyWiki/TiddlyWiki5/commit/19f7287a536e48225ec706589ffb307dfc991c9e]] the tiddler info panel to make it be dynamically built from the tag <<tag \"$:/tags/TiddlerInfoSegment\">>\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3346]] new [[range Operator]] for generating ranges of numbers\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3360]] palette support for `<select>` element colouring\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/bef3242075b6d962b7963b9c9c7042c39198fc8f]] new text editor operation ''save-selection'' -- see [[WidgetMessage: tm-edit-text-operation]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/f54a0a11bce9e47542df32610fae489f4a1dba8c]] support for editor toolbar buttons to have action widgets\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/2e51f08bef8656fdca83fff6163dc67cbaefa2d4]] support for rebasing headings at render time -- see [[tv-adjust-heading-level Variable]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3423]] experimental support for packaging TiddlyWiki's JavaScript core into an external script [[for use with the new Web Server enhancements|Using the external JavaScript template]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/fe85845c3ce78ff102e411d01873912b3de8705e]] new `\\import` [[Pragma]] as a more concise alternative to using the ImportVariablesWidget directly\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3530]] (and [[here|https://github.com/TiddlyWiki/TiddlyWiki5/commit/a83cd3f984c88a1ecf5861c2c25ffb483b08f0ac\t]]) new [[tv-show-missing-links Variable]] for tighter control over rendering of missing links by the LinkWidget\n\n!! Bug Fixes\n\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/issues/3371]] with [[WidgetMessage: tm-new-tiddler]] overwriting creation fields of existing tiddlers\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/35cbb127a3c21b7047517f1eeeff571a420b82ae]] problem with unwanted variable substitutions by restricting variable substitutions to macros defined with the ''define'' pragma\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/c72e4f01f1a3051e169593a217bffab8eec279f6]] problem with the 'excise' editor toolbar button not showing if the tiddler type is \"text/vnd.tiddlywiki\"\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/929b0c98330ad25aa4a32cd201274a6e89cd8902]] problem with generation of wifi QR codes\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3495]] [[$tw.platform.isLinux]] on the latest Firefox\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3334]] problem with using full screen on secondary windows\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/a3a4c28143138ca2bde1b8426c910b5e3d6a7110]] subtle bug whereby the RevealWidget was not refreshing properly when the state tiddler of a popup changed\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/issues/3373]] problem with malformed HTML entities\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/874318091e20293c6f141080cc4330eb7aa02273]] crash when passing illegal arguments to the [[decodeuri Operator]] and [[decodeuricomponent Operator]]\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/457f03798c69f2053894d9971d4b187521c0d9ad]] errors when a popup blocker blocks opening a new window\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/3aae643e140044e440673772d90ebaf0be18ec1f]] problems using a lazily loaded tidler as a state tiddler with the RevealWidget\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/33ba69e852966d7c5449842a95636024857d7177]] problem with modals not appearing in the correct window\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/19c49ae18a48a368ca24bb1493fc9876fa7c7570]] the animations for adding and removing tags in edit mode, and a [[similar fix|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3578]] for the animations in the \"Open\" sidebar tab\n\n!! Developer Bug Fixes and Improvements\n\n* [[Refactored|https://github.com/TiddlyWiki/TiddlyWiki5/pull/2027]] `$tw.utils.parseStringArray()` to optionally allow non-unique entries\n\n! Contributors\n\n[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:\n\n* [[@abesamma|https://github.com/abesamma]]\n* [[@AnthonyMuscio|https://github.com/AnthonyMuscio]]\n* [[@Arlen22|https://github.com/Arlen22]]\n* [[@bimlas|https://github.com/bimlas]]\n* [[@BramChen|https://github.com/BramChen]]\n* [[@BurningTreeC|https://github.com/BurningTreeC]]\n* [[@Drakor|https://github.com/Drakor]]\n* [[@EvanBalster|https://github.com/EvanBalster]]\n* [[@flibbles|https://github.com/flibbles]]\n* [[@G0erman|https://github.com/G0erman]]\n* [[@hchaase|https://github.com/hchaase]]\n* [[@hoelzro|https://github.com/hoelzro]]\n* [[@iblech|https://github.com/iblech]]\n* [[@jho1965us|https://github.com/jho1965us]]\n* [[@ldorigo|https://github.com/ldorigo]]\n* [[@Lioric|https://github.com/Lioric]]\n* [[@Marxsal|https://github.com/Marxsal]]\n* [[@morosanuae|https://github.com/morosanuae]]\n* [[@pmario|https://github.com/pmario]]\n* [[@talha131|https://github.com/talha131]]\n* [[@TechLifeWeb|https://github.com/TechLifeWeb]]\n* [[@tobibeer|https://github.com/tobibeer]]\n* [[@twMat|https://github.com/twMat]]\n* [[@yrashk|https://github.com/yrashk]]\n* [[@xcazin|https://github.com/xcazin]]\n* [[@xcodinas|https://github.com/xcodinas]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/pre-5.4.0/Release 5.1.19.tid",
    "content": "caption: 5.1.19\ncreated: 20181220163418974\nmodified: 20181220163418974\nreleased: 20181220163418974\ntags: ReleaseNotes\ntitle: Release 5.1.19\ntype: text/vnd.tiddlywiki\ndescription: Bug fix release for v5.1.18\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.1.18...v5.1.19]]//\n\nThis release consists of fixes for bugs discovered in [[Release 5.1.18]].\n\n!! Hackability Improvements\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/a8b8fb3b6f587ee8813cc0bafdc008bf12ecb7d1]] new [[hidden setting for the filename used when saving|Hidden Setting: Filename for Save Wiki Button]]\n\n!! Bug Fixes\n\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/issues/3630]] incompatible change to the construction of filename used for saving\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3640]] problem with fonts for the [[KaTeX Plugin]]\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/issues/3647]] problem with forcing basic authentication for the WebServer\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3650]] problem with the ButtonWidget not refreshing when the `popupTitle` attribute changes\n* [[Fixed|https://github.com/Jermolene/build.jermolene.github.io/issues/5]] problem with `empty.html` accidentally containing a splash screen\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3641]] regression with search matches across multiple fields\n\n! Contributors\n\n[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:\n\n* [[@BurningTreeC|https://github.com/BurningTreeC]]\n* [[@dlund4|https://github.com/dlund4]]\n* [[@hoelzro|https://github.com/hoelzro]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/pre-5.4.0/Release 5.1.2.tid",
    "content": "caption: 5.1.2\ncreated: 20140922124011558\nmodified: 20140927162422831\ntags: ReleaseNotes\ntitle: Release 5.1.2\ntype: text/vnd.tiddlywiki\nreleased: 20140927162659979\ndescription: Minor fixes\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.1.1...v5.1.2]]//\n\nThis is another small release with documentation updates and a few bug fixes and improvements.\n\n!! Usability Improvements\n\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b3df07ae3e190cfb6fc23dbe31c6229fe5e39087]] error handling for malformed or unrecognised ~LaTeX content with [[KaTeX Plugin]]\n\n!! Hackability Improvements\n\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/42abef6fbf79342ccbd90b142d48f64ab5c1c38a]] styling of separator before the untagged item in the tags sidebar\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/23c2d90ee8e28f8c68f9ba58fcbc13a56f838d61]] error handling for the upload saver (which is used for saving to TiddlySpot)\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/115245a632e80e9d033957327dfec909a3cd1fc8]] storyview error detection\n\n!! Bug Fixes\n\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b1fb0a2a070a6abc78564e56fdb4244076ac44ac]] crash caused by incorrectly formatted plugins\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/eacb9e53ebf2a814d61bf005d68f449f7b9e63b5]] problem with tiddler info not being removed by the syncer after deleting a tiddler\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/e2046ce4ffb6b8232a4ad5e7f51c431798917787]] HTTP handling to treat response code 201 as success\n\n!! Contributors\n\n[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:\n\n* [[@Evolena|https://github.com/Evolena]]\n* [[@pmario|https://github.com/pmario]]\n* [[@simonbaird|https://github.com/simonbaird]]\n* [[@TheDiveO|https://github.com/TheDiveO]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/pre-5.4.0/Release 5.1.20.tid",
    "content": "caption: 5.1.20\ncreated: 20190809141328809\nmodified: 20190809141328809\nreleased: 20190809141328809\ntags: ReleaseNotes\ntitle: Release 5.1.20\ntype: text/vnd.tiddlywiki\ndescription: New conditional, mathematics and string operators, GitHub Saver, save wiki folder command, [[Innerwiki Plugin]]\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.1.19...v5.1.20]]//\n\n!! New Conditional Operators\n\n[[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/17711657b6028a177c8aef97f7a0a1c084d65436]] new [[Conditional Operators]] [[then Operator]] and [[else Operator]]\n\n!! New Mathematics Operators\n\nAdded several new [[Mathematics Operators]] for working with numbers: [[negate|negate Operator]], [[abs|abs Operator]], [[ceil|ceil Operator]], [[floor|floor Operator]], [[round|round Operator]], [[trunc|trunc Operator]], [[untrunc|untrunc Operator]], [[sign|sign Operator]], [[add|add Operator]], [[subtract|subtract Operator]], [[multiply|multiply Operator]], [[divide|divide Operator]], [[remainder|remainder Operator]], [[max|max Operator]], [[min|min Operator]], [[fixed|fixed Operator]], [[precision|precision Operator]], [[exponential|exponential Operator]], [[sum|sum Operator]], [[product|product Operator]], [[maxall|maxall Operator]] and [[minall|minall Operator]].\n\n!! New String Operators\n\nAdded several new string operators: [[match|match Operator]], [[length|length Operator]], [[uppercase|uppercase Operator]], [[lowercase|lowercase Operator]], [[titlecase|titlecase Operator]], [[sentencecase|sentencecase Operator]], [[trim|trim Operator]], [[split|split Operator]], [[splitregexp|splitregexp Operator]] and [[join|join Operator]].\n\n!! Improved Handling of Duplicates in Filters \n\nThere is now finer control over TiddlyWiki's default behaviour of removing duplicates from filter results, making it much easier to work with the new mathematics and string operators:\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/37bb75f0cf446d62eb45d07b9f9b0aa14814a43f]] support for new `=` prefix for merging filter runs without removing duplicates\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/18fe112da7d3ac210a5a0b9cf73fe9050717d4e3]] option for the [[enlist Operator]] to not remove duplicates\n\n!! Improved Keyboard Shortcuts\n\nKeyboard shortcut handling has been significantly improved with the following new global shortcuts (configurable via $:/ControlPanel):\n\n* <kbd>ctrl-shift-F</kbd> - focus the sidebar search field \n* <kbd>alt-shift-S</kbd> - toggle the visibility of the sidebar\n* <kbd>ctrl-shift-A</kbd> - open the advanced search tiddler\n\n!! Saving to ~GitHub and ~GitLab\n\n[[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/aa5eaa98fcb8658dbc2b93476c2e09c9207439d8]] a [[Git service saver|Saving to a Git service]] for saving directly to ~GitHub and ~GitLab\n\n!! Plugin Improvements\n\nNew and improved plugins:\n\n* New [[BrowserStorage Plugin]] for saving tiddlers in browser local storage\n* New [[Innerwiki Plugin]] for rendering TiddlyWiki screenshots\n* [[Updated|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4133]] [[KaTeX Plugin]] to ~KaTeX v0.10.2\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3131]] an editor toolbar button for the [[KaTeX Plugin]]\n* [[Updated|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3635]] [[Highlight Plugin]] to use highlight.js v9.15.6\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3898]] support for language aliases with the [[Highlight Plugin]]\n* Updates to the [[CodeMirror Plugin]], including [[adding|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3810]] support for smart indent\n* Updates to the [[Dynaview Plugin]], including [[adding|https://github.com/TiddlyWiki/TiddlyWiki5/commit/a9e595c3f633391003224e499440cdeb8560c055]] support for restoring the scroll position at startup from local storage\n* Updates to the [[Amazon Web Services Plugin]], including [[adding|https://github.com/TiddlyWiki/TiddlyWiki5/commit/fffd0ee9e17d6b6a561648a42f0f200d4bb04046]] support for specifying credentials\n\n!! Translation Improvements\n\nNew and improved translations:\n\n* Catalan\n* Chinese Simplified and Chinese Traditional\n* French\n* German\n* US English\n\n!! Performance Improvements\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3951]] pluggable index modules to accelerate the [[field Operator]] and the [[tag Operator]] (in tests on a wiki with 60K tiddlers, startup time is reduced by 25% with these optimisations, and refresh time is reduced by a factor of three.)\n* [[Optimised|https://github.com/TiddlyWiki/TiddlyWiki5/commit/fddc5d4ee627232441278284ed6bee2f50fe8b26]] the \"Classic\" storyview to perform much faster when the animation duration is set to zero (approximtely 50% speed improvement was observed in tests opening a storyview with 8,000 entries)\n* [[Optimised|https://github.com/TiddlyWiki/TiddlyWiki5/commit/7869546fef7b2ea5fd6fd72feacd565a7f177fb6]] the RevealWidget to avoid using the relatively slow `localeCompare()` method to compare strings\n* [[Updated|https://github.com/TiddlyWiki/TiddlyWiki5/commit/e8d1fbba6c109ccbeaedc1b34e47677c0ada7529]] [[Performance Instrumentation]] to show the timings for individual filters\n* [[Optimised|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4102]] rendering and refreshing child widgets\n\n!! Usability Improvements\n\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3832]] the [[palette manager|$:/PaletteManager]] with the ability to delete entries, and directly edit indirect entries\n* Several new palettes: \"Nord\", \"Solarized Light\", \"Spartan Day\", \"Spartan Night\" and \"Twilight\"\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/5a37a84a54f2dc9ccf106309b739cfa693bae3e3]] the plugin library to search all plugin fields\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/e5f3301c1c36e8add4ed89ab1bd53a9b68411d3f]] a warning when core JavaScript modules are overwritten via import\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3654]] prompt for references when renaming a tiddler\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/0e6855eba8945e023cc5ef19809cfb6d6025627b]] a new filter preset for advanced search for \"tiddlers modified this session\"\n* Added a number of animations (some of were already present but had been broken over the years) for changes in:\n** [[Tags in the view template|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4142]]\n** [[Page controls|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4145]]\n** [[Top left and top right bar|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4146]]\n** [[Tabs|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4149]]\n** [[Fields in the edit template|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4148]]\n\n!! Hackability Improvements\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4051]] support for [[configurable view and edit templates|Hidden Setting: ViewTemplate and EditTemplate]]\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/37ea659bf011b1d4a152f54171399d94f5bba3ef]] the [[dumpvariables Macro]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/754c1251a9bdf45e8f64079a4bbdaed2d05be2b7]] new [[variables Operator]] and [[getvariable Operator]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/ed67f4a88b29c5c81d4de31203dbf23d66955fb7]] new [[WidgetMessage: tm-focus-selector]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3546]] new [[escapecss Operator]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3880]] new [[unusedtitle Macro]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/36e76429b1a1d4638374d513430393db5693b932]] new `[is[variable]]` option to the [[is Operator]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/90684f9f52809ff5df39629d3b161d7ff23002f4]] new `[is[blank]]` option to the [[is Operator]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/94f143bf643e36e817d1dd5b678515853eed6aca]] optional autofocus for the text inputs in $:/AdvancedSearch (controlled by the same [[Hidden Setting: Search AutoFocus]] as the sidebar search)\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3756]] optional ''tabindex'' attribute to simple, framed and CodeMirror text editor engines\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3758]] ''tabindex'' attributes to edit templates\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3822]] outline colour to button, textarea, input\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/477c41f84304ed83245c87068dba3695a5053d62]] ''tooltip'' attribute to SelectWidget\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/348a0bc8bcbf5c42d9b93e5e208696d28fc95cb7]] an option for plugins to disable the initial navigation at startup\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/c036c228269fc30d0df770a7c7713fd9af829df7]] $:/info/browser/language to the InfoMechanism\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/f047e7cbf50edcf4775b50bdebc3f704970b8cde]] an example of using StartupActions to set the default language\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/edd3156430dd94b0ced630a1b70f2e2ef0ff6c36]] importing of JSON files to verify whether they are valid tiddler files, and import them as plain JSON if not\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/issues/3974]] the LinkWidget to use the title of the target tiddler as a default if it has no content\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/2a4c60b23dc1436af6206fad5a56742550eac1a3]] [[WidgetMessage: tm-open-window]] to allow a window title to be specified\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/8e7c0907f8cce4708a02486fc93dcea1ab115196]] ''checkActions'' attribute to the CheckboxWidget\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/3afaa9de9aaae7654c1d03ddc22ee97724cbb159]] support for searches anchored to the start of a field\n\n!! Bug Fixes\n\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/8b04cfd4d5142a957f2e3da80c3f079e215b9e75]] a long standing problem with the main standalone HTML file template whereby raw markup tiddlers would be included even if not selected by the save filter\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3572]] overlapping dropdowns with sticky titles enabled\n* [[Removed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3749]] apparently obsolete limitation of selection wrapping in text editor\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3745]] bug in RevealWidget when stateTitle tiddler is missing\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/72f2a9425197b013ab3664e1679c6763d92d4382]] bug with animation duration being blank\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3806]] Firefox problem with drag and drop placeholders in the \"open\" tab of the sidebar\n* [[Ameliorated|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3809]] Firefox problem with sticky placeholder during drag and drop operations\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3819]] [[CodeMirror Plugin]] to use ''tiddler-editor-border'' colour\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/8012a3508f209fbbe68484e30ed65832cf5146b9]] problem using the TiddlySpot saver with cookies disabled\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3611]] framed text editor to use correct background colour\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/f5b25994322e58de84cae70ab67a68b1413db27f]] problem with the class `tc-sidebar-lists` being used on two different areas of the sidebar, making it impossible to distinguish them in CSS selectors\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/7f78065992baf290ae221fb12c63e52e0f8da403]] problem with unnecessary \"list\" field created when renaming tiddlers\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/394725f00cd8f38089d2840aa026d72c88627bff]] crash with EditBitmapWidget and missing tiddlers\n\n!! Node.js Bug Fixes and Improvements\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/373afd72c804b0ffa2779849ba0d278d53e65df4]] new SaveWikiFolderCommand to save a wiki as a [[wiki folder|TiddlyWikiFolders]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/5b09881679200dc78e5962a0588c8f214ddedbbb]] new DeleteTiddlersCommand\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/8c72a28f0c70e6a62387ccdd1431f9225a5fd2de]] (and [[also here|https://github.com/TiddlyWiki/TiddlyWiki5/commit/feab75a6d1723cd6db5912b2902f0ec33c550fb6]]) ability to specify plugins on the command line (see [[Using TiddlyWiki on Node.js]])\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3677]] support for deflate and gzip compression to the WebServer ListenCommand\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/12630d4a91b4cc7b1eb846c3afbeda16858df05a]] an option to the LoadCommand to ignore loading errors\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/7fcd2f132e91aa375a1fece501b14e991ba1bd4c]] handling of JSON files by the file system adaptor:\n** Use `.json` files (instead of `.tid`) for any tiddler whose fields contain values that can't be stored as a .tid file\n** Save `application/json` tiddlers as `.json` files\n\n!! Developer Bug Fixes and Improvements\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/e52a616891977bde142334df2a72c7dd121efb82]] support for widget subclassing -- see https://tiddlywiki.com/prerelease/dev/#WidgetSubclassingMechanism\n\n! Contributors\n\n[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:\n\n* [[@00SS|https://github.com/00SS]]\n* [[@admls|https://github.com/admls]]\n* [[@benwebber|https://github.com/benwebber]]\n* [[@bimlas|https://github.com/bimlas]]\n* [[@BramChen|https://github.com/BramChen]]\n* [[@BurningTreeC|https://github.com/BurningTreeC]]\n* [[@diego898|https://github.com/diego898]]\n* [[@dnebauer|https://github.com/dnebauer]]\n* [[@inmysocks|https://github.com/inmysocks]]\n* [[@flibbles|https://github.com/flibbles]]\n* [[@jdjdjdjdjdjd|https://github.com/jdjdjdjdjdjd]]\n* [[@JesseWeinstein|https://github.com/JesseWeinstein]]\n* [[@joshuafontany|https://github.com/joshuafontany]]\n* [[@Kartiku|https://github.com/Kartiku]]\n* [[@kyrias|https://github.com/kyrias]]\n* [[@MarxSal|https://github.com/MarxSal]]\n* [[@MidnightLightning|https://github.com/MidnightLightning]]\n* [[@pacoriviere|https://github.com/pacoriviere]]\n* [[@pmario|https://github.com/pmario]]\n* [[@rmunn|https://github.com/rmunn]]\n* [[@talha131|https://github.com/talha131]]\n* [[@telmiger|https://github.com/telmiger]]\n* [[@the-kenny|https://github.com/the-kenny]]\n* [[@xcazin|https://github.com/xcazin]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/pre-5.4.0/Release 5.1.21.tid",
    "content": "caption: 5.1.21\ncreated: 20190910152313608\nmodified: 20190910152313608\nreleased: 20190910152313608\ntags: ReleaseNotes\ntitle: Release 5.1.21\ntype: text/vnd.tiddlywiki\ndescription: Bug fix release for v5.1.20\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.1.20...v5.1.21]]//\n\n<<.banner-credits\n\tcredit:\"\"\"Congratulations to [[Sylvain Comte|https://github.com/sycom]] for his winning design for the banner for this release (here are the [[other entries|https://groups.google.com/g/tiddlywiki/c/l47ZZzWdDb8/m/a1dnyKG0AQAJ]]).\n\"\"\"\n\turl:\"https://raw.githubusercontent.com/Jermolene/TiddlyWiki5/42060acb43b329036b7436ee154bf605e90efa8e/editions/tw5.com/tiddlers/images/New%20Release%20Banner.jpg\"\n>>\n\nThis is a bug fix release that resolves issues introduced in the recent [[Release 5.1.20]].\n\n!! Bug Fixes\n\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/a170210069bbec265992b365a61e0722b480ab1d]] crash with ActionDeleteFieldWidget and a missing ''tiddler'' attribute\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4087]] edge cases where some tiddler lists were not valid when interpreted as a filter\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/471b73158a887d2f060194741739c1da8b5d44d8]] problem with too many alerts when upgrading a wiki containing an overwritten core module\n* [[Reverted|https://github.com/TiddlyWiki/TiddlyWiki5/commit/83386f34b50a9d93171df133957d489b5de629ef]] inadvertently switching on performance instrumentation\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/issues/4218]] bug with WikiText within field names\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/dd09266b467173e45d75c172b2e82fd542f682fe]] problem with classes in the [[Table-of-Contents Macros]]\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4203]] missing foreground colour for buttons with class `tc-btn-invisible`\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4227]] whitespace around field editor inputs\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/bb036ced933ecb36f5d93693fb4f6e7aa2748df7]] layout problems with the [[translators edition|Translate TiddlyWiki into your language]]\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/996ee52cf9f5e15d95deaf0acf4206959d34432a]] crash with the [[External Attachments Plugin]] on Windows\n* [[Removed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4245]] inconsistent shadow for tag pills in the sidebar\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/issues/4247]] regression with the [[field Operator]] and blank operands\n* [[Reverted|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4249]] erroneous change in v5.1.20 in the way that lists are stringified\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4189]] the ''Open'' sidebar tab to use the `tv-story-list` variable\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4255]] problem [[saving to GitLab|Saving to a Git service]]\n\n!! Node.js Bug Fixes\n\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4174]] bug with [[customised tiddler file naming|Customising Tiddler File Naming]]\n\n! Contributors\n\n[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:\n\n* [[@bimlas|https://github.com/bimlas]]\n* [[@BurningTreeC|https://github.com/BurningTreeC]]\n* [[@flibbles|https://github.com/flibbles]]\n* [[@heronils|https://github.com/heronils]]\n* [[@hoelzro|https://github.com/hoelzro]]\n* [[@markstegeman|https://github.com/markstegeman]]\n* [[@StefanSTFG|https://github.com/StefanSTFG]]\n* [[@xcazin|https://github.com/xcazin]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/pre-5.4.0/Release 5.1.22.tid",
    "content": "caption: 5.1.22\ncreated: 20200415160825341\nmodified: 20200415160825341\nreleased: 20200415160825341\ntags: ReleaseNotes\ntitle: Release 5.1.22\ntype: text/vnd.tiddlywiki\ndescription: Dynamic plugin loading, compare operator, new plugins: Menubar, Freelinks, Dynannotate, Share\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.1.21...v5.1.22]]//\n\n<<.banner-credits\n\tcredit:\"\"\"Congratulations to [[Thomas Elmiger|https://github.com/telmiger]] for his winning design for the banner for this release (here are the [[other entries|https://groups.google.com/g/tiddlywiki/c/rYrja18_SfQ/m/IX-jFS4cBQAJ]]).\n\"\"\"\n\turl:\"https://raw.githubusercontent.com/Jermolene/TiddlyWiki5/1ed36adab62c117849ee29d9535136eac70d3bc7/editions/tw5.com/tiddlers/images/New%20Release%20Banner.png\"\n>>\n\n! Major Improvements\n\n!!  Dynamic Plugin Loading\n\nPlugins [[can now|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4259]] be loaded or deleted dynamically, without requiring a reload -- as long as they don't contain any ~JavaScript modules. Plugins that require a reload are indicated in the plugin chooser in [[$:/ControlPanel]].\n\nThe [[plugin listing|$:/core/ui/ControlPanel/Plugins]] and the [[plugin chooser|$:/core/ui/ControlPanel/Modals/AddPlugins]] in the control panel feature several improvements:\n\n* A new ''\"Updates\" tab'' listing all upgrades available from a plugin library, and a button to update all of them with one click\n* Tabs are now used to display plugin libraries within the plugin chooser\n* The plugin chooser now displays plugins that provide add-on functionality to another plugin as nested ''\"sub-plugins\"'', making the main listing easier to navigate\n* Plugins may now declare dependencies that are ''automatically installed'' without user intervention\n* All plugins are now displayed more consistently, including a concise, informal name (in addition to the description and title)\n\n!! Client-Server Improvements\n\nThis release sees several improvements to the client-server configuration:\n\n* Improved resilience to connection errors. Errors encountered by the browser are automatically retried, and when they succeed the associated error messages are automatically removed\n* Changes to system tiddlers are now synchronised from the server to the browser\n* Deletions of tiddlers on the server are now synchronised to the browser\n* New \"cloud\" page control button with a dropdown menu showing status and additional actions:\n** \"Refresh from server\" to force an immediate check for changes from the server\n** \"Logout\"\n** \"Save snapshot for offline use\" to save a copy of the wiki without the client-server components\n** \"Copy syncer logs to clipboard\" to make it easier to ask end users for debugging information \n* Added \"filter\" and \"exclude\" parameters to the [[GET /recipes/default/tiddlers.json|WebServer API: Get All Tiddlers]] endpoint to allow the returned tiddlers and fields to be filtered\n* Enhanced LazyLoading to include skinny versions of tiddlers in the HTML file, and to avoid unnecessary loads from the server\n* The official plugin library is now disabled when the tiddlyweb adaptor is active\n* Internal file system details are no longer exposed to browsers when a file request fails (see https://github.com/TiddlyWiki/TiddlyWiki5/issues/3724)\n\nSee the [[pull request on GitHub for more details|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4373]]. \n\n!! New [[compare Operator]]\n\n[[Added|https://github.com/TiddlyWiki/TiddlyWiki5/issues/4554]] a new filter operator for comparing numbers, strings, dates and version numbers. For example:\n\n:`[[2]compare:number:eq[3]]`\n;returns nothing\n:`[[2]compare:number:lt[3]]`\n; returns \"2\"\n:`[[2]compare:number:eq[2]]`\n; returns \"2\"\n:`=1.2 =1.8 =2.3 =3.4 =7.2 +[compare:number:gt[1.5]compare:number:lt[2.5]]`\n; returns \"1.8\" \"2.3\"\n:`[[1]compare:number:gt[2]then[yes]else[no]]`\n; returns \"no\"\n\n!! New Plugins\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/ad2d4503e584ce9f931dbd1e98f95738b2841e51]] new ''menubar'' plugin that creates a menu bar that is responsive on mobile devices, and supports search, dropdowns and links\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/447cd56da9db2ee169607f32923081ac47e78354]] new ''freelinks'' plugin to automatically create links from any tiddler title, without having to type double square brackets or use CamelCase.\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/9b48a1c82955d1050c426fef559f42f4b8ec56e7]] new ''dynannotate'' plugin containing primitives for overlaying annotations or highlights over other content\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/005c584d85505b9477169ef822752eed39dde66a]] new ''share'' plugin for sharing tiddlers via the URL location hash\n* [[Switched|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3876]] the ''markdown'' plugin to the newer and improved [[remarkable|https://github.com/jonschlinkert/remarkable]] library\n\n! Translation Improvements\n\n* Improved Chinese translation\n* Improved Dutch translation\n* Improved French translation\n* Improved German translations\n* Improved Portuguese translation\n\n! Performance Improvements\n\n* [[Optimised|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4108]] ImportVariablesWidget to improve performance of global macros\n* [[Optimised|https://github.com/TiddlyWiki/TiddlyWiki5/commit/18f5333e01eb62ece65a86c457bf8a398f156930]] core SVG images to save approximately 100KB from the core plugin\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4421]] indexer for backlinks\n* [[Optimised|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4397]] [[sort Operator]]\n\n! Usability Improvements\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/96eca32b1105416c317101aa91dd284f835a8ba8]] download button for binary tiddlers\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4293]] ([[and here|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4296]]) spacing for page control buttons\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/9395d7567179c436d0e8ac26fc976d717eae7f50]] display of icons in documentation\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4238]] support in control panel for specifying the field that should receive focus when editing or creating a tiddler\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4314]] support in control panel for specifying the tags for new tiddlers and journals\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/05a3e1ad36c2fb383dd4975a578f95e8a6c3f325]] language attribute to HTML document to improve accessibility\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/3943]] scaling of embedded videos\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4361]] \"none\" option in icon dropdown in $:/TagManager\n* Fixed a number of layout issues relating to the edit template and tag picker (see [[18151cc1|https://github.com/TiddlyWiki/TiddlyWiki5/commit/18151cc193e8c0d613663d3ecf6437c63e540c2d]], [[793d84bc|https://github.com/TiddlyWiki/TiddlyWiki5/commit/793d84bcb1bc52ee77c49090268dd242017cdaa9]], [[1cf2d079|https://github.com/TiddlyWiki/TiddlyWiki5/commit/1cf2d0799d7027d58f4bdca857bc342dd778a330]], [[3c365a25|https://github.com/TiddlyWiki/TiddlyWiki5/commit/3c365a2567ebfe12d78b0aed77a40969cd38563e]], [[45def4de|https://github.com/TiddlyWiki/TiddlyWiki5/commit/45def4def441554a06c3e17742adc29a17d2a13c]], [[89728d8a|https://github.com/TiddlyWiki/TiddlyWiki5/commit/89728d8a9a9fd9b888deb78f420dd5758ee63909]], [[4cf96e73|https://github.com/TiddlyWiki/TiddlyWiki5/commit/4cf96e7339b3b7d8e84a5b73d9871cdad50c5a84]], [[bfa3ddd0|https://github.com/TiddlyWiki/TiddlyWiki5/commit/bfa3ddd077404ad4627b9161bcadf3d5a539c1dc]] and [[74172b35|https://github.com/TiddlyWiki/TiddlyWiki5/commit/74172b35ceae84f254e20d6d7ec4dff2cca692b1]])\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4494]] new ''Gruvbox Dark'' palette\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4515]] (and [[https://github.com/TiddlyWiki/TiddlyWiki5/pull/4517|here]])) Vanilla and Nord palettes\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/152125f53b9979bfd5511973038b4358d1ef48c4]] Railroad plugin to use standard palette colours\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/16c1cbee292604b2b8be36a15d5828893d132b20]] Comment plugin to add a link on each comment to the original post \n\n! Hackability Improvements\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4491]] new saver for https://gitea.io/\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/24d2804799b09278c4bb83918d8b75dfa49dbed4]] new ActionPopupWidget for triggering popups\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4442]] ''tabindex'' attribute to the ButtonWidget\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/bfbd886a8bbf2f6ce147ea526eec2098357d3ae7]] ''index'' attribute to the RangeWidget enabling it to be used with DataTiddlers\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/6089c4de2921df0f76f605f1830fb2c04548f73c]] support for RefreshThrottling via the `throttle.refresh` field\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/1150c87edb7478af6cc943eb0ef52fdf3051c121]] (and [[here|https://github.com/TiddlyWiki/TiddlyWiki5/commit/8c894612914e21cf941a1daa953538c28ce91d8e]]) new `[is[binary]]` operand for the [[is Operator]]\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/68163684a2e57108e160295e445c194268b873c5]] usage of `publishFilter` in save templates -- see SavingMechanism\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/89716bb81d68b9c68d3c0fd2f2de96afad1b086a]] CSS class identifying the tiddler body editor\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/e9211b0eee8e0b081f9f1597bde6673bf4c55d5c]] CSS classes to identify sidebar tabsets\n* [[Updated|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4208]] normalize.css from v3.0.0 to v8.0.1\n* [[Updated|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4502]] Highlight plugin to use highlight.js v9.18.1\n* [[Updated|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4226]] Jasmine to v3\n* [[Refactored|https://github.com/TiddlyWiki/TiddlyWiki5/commit/7b66df688ae745537929a25799ef4a72d4437fcd]] AndTidWiki saver\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/5a5c967a3943beb6a4fa513cb34d231e46304452]] new [[SystemTag: $:/tags/Macro/View]] for creating macros that are only available within the view template\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4404]] support for embedding `.webm` and `.ogg` video files\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/c7d8492842844d7de12b7a327f978ff114708d84]] support for embedding `.woff2` font files\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/3df1f9c9d0cc92b596262c0220ecf529c7fbb858]] ''spaces'' parameter to [[jsontiddlers Macro]] for controlling the formatting of the output\n* [[Updated|https://github.com/TiddlyWiki/TiddlyWiki5/commit/4afde5a722afc91c826305800ba536c5fe8ef2e5]] the [[colour Macro]] to add support for specifying a fallback for colours not in the current colour palette\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/6091b013864af3d9918df69894f4aa05d1b8ffeb]] new [[Hidden Setting: Default Tiddler Icon]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/bc687e57834efa312cca126af222613ef241c585]] new [[Hidden Setting: Disable Drag and Drop]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/ae9ce4f01c6048aeb5604a93b57c2f3e4f959162]] new ''tc-tiddler-overridden-shadow'' class to tiddler frames for tiddlers that override a shadow tiddler\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4490]] support for a custom class to modal wrapper\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/091bcfce7d1a9c09140992e649f41ae17d27f307]] [[datauri Macro]] to work with tiddlers with a ''_canonical_uri'' field\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4332]] invaldi HTML produced in \">\" in blockquote lists\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4540]] new \"index\" option to the [[has Operator]] for detecting the presence of data tiddler items\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4433]] the FieldsWidget with an \"include\" attribute and more sorting options, and the [[fields Operator]] with new \"include\" and \"exclude\" suffixes\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4436]] ActionCreateTiddlerWidget with attributes for specifying a template and for controlling overwriting existing tiddlers\n\n! Bug Fixes\n\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/issues/4291]] bug with deletes failing when lazy loading used under Node.js\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4243]] problem with the [[GitLab saver|Saving to a Git service]]\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/issues/4237]] bug with permaview button when placed above the search box\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/a054d100e73db95071299e92c4321c2aa8e42382]] usage of ''count'' parameter of [[WidgetMessage: tm-edit-text-operation]]\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/issues/4284]] bug with toc-selective-expandable macro still showing disclosure arrow despite excluding tiddlers\n* [[Removed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/81f1e6af4e5920c6ff41e7f08171bfddc1b26dfc]] (and [[here|https://github.com/TiddlyWiki/TiddlyWiki5/commit/46c90af308015242fa0314d85f1524727e2aa7e5]]) erroneous word break setting for vertical tabs\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/d30eacc6520971c95bdabf24f4c4122534d9414a]] problem with programmatically deselecting entries from the SelectWidget in multiple selection mode\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4333]] usage of spans in colour picker\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/e84c422e5091c02f55db4027faa9ba840e2aee6c]] refreshing of RangeWidget when underlying value changes\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/e4eaae14faa1bf867c0f8168e221cf30ac6e2e0d]] problem with splash screen being shown when JavaScript is disabled\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/8f3da69f818940eb5f517da850fb3766b72c7d7d]] problem with millisecond 0XXX DateFormat\n* [[Improve|https://github.com/TiddlyWiki/TiddlyWiki5/commit/174a36cda63127d19230bcfbe9a5fdde46e5b0ea]] compatibility of single tiddler window vs. main window\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/015306dfc9099f4d5d9415b64266d328a154b119]] problems with some core icons in Internet Explorer\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/3eacdc19fdb4ed7ce864a04dd87a5e1c6492daac]] GitHub and GitLab savers to use default path of `/` if none specified\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4432]] support for embedding ZIP files in some environments\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/665b63ec38b75dfe62009d2f5514682de60e953f]] lack of refresh when ButtonWidget ''actions'' attribute changes\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4534]] the RangeWidget to work in Internet Explorer 10/11\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/bdc5ac592f17b5ed3bb5ae782e56ced62406d653]] CountWidget to display \"0\" for an empty filter, instead of \"undefined\"\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4559]] MakeLibraryCommand to respect environment variables\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4396]] not to return \"null\" for an empty list\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4551]] z-index for CodeMirror autocomplete dropdowns\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/4552]] unwanted whitespace within sidebar links\n\n! Contributors\n\n[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:\n\n* [[@activescott|https://github.com/activescott]]\n* [[@Arlen22|https://github.com/Arlen22]]\n* [[@BramChen|https://github.com/BramChen]]\n* [[@BurningTreeC|https://github.com/BurningTreeC]]\n* [[@donmor|https://github.com/donmor]]\n* [[@ento|https://github.com/ento]]\n* [[@flibbles|https://github.com/flibbles]]\n* [[@gernert|https://github.com/gernert]]\n* [[@heronils|https://github.com/heronils]]\n* [[@hoelzro|https://github.com/hoelzro]]\n* [[@Janno|https://github.com/Janno]]\n* [[@joshuafontany|https://github.com/joshuafontany]]\n* [[@inmysocks|https://github.com/inmysocks]]\n* [[@kookma|https://github.com/kookma]]\n* [[@linonetwo|https://github.com/linonetwo]]\n* [[@m42e|https://github.com/m42e]]\n* [[@MidnightLightning|https://github.com/MidnightLightning]]\n* [[@mklauber|https://github.com/mklauber]]\n* [[@pmario|https://github.com/pmario]]\n* [[@s-l-lee|https://github.com/s-l-lee]]\n* [[@s-light|https://github.com/s-light]]\n* [[@saqimtiaz|https://github.com/saqimtiaz]]\n* [[@xcazin|https://github.com/xcazin]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/pre-5.4.0/Release 5.1.23.tid",
    "content": "caption: 5.1.23\ncreated: 20201224132933812\nmodified: 20201224132933812\nreleased: 20201224132933812\ntags: ReleaseNotes\ntitle: Release 5.1.23\ntype: text/vnd.tiddlywiki\ndescription: Switchable page templates, EventCatcherWidget, Rename during import, many plugin and filter improvements\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.1.22...v5.1.23]]//\n\n<<.banner-credits\n\tcredit:\"\"\"Congratulations to [[Atronoush|https://github.com/atronoush]] for his winning design for the banner for this release (here are the [[other entries|https://groups.google.com/g/tiddlywiki/c/cTgPWl8b_9c/m/RghSSNKXAQAJ]]).\n\"\"\"\n\turl:\"https://raw.githubusercontent.com/Jermolene/TiddlyWiki5/3c003364d2408eb27912187f57f023333cc4f4dd/editions/tw5.com/tiddlers/images/New%20Release%20Banner.png\"\n>>\n\n! Performance Improvements\n\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5206\">> filter execution to use a more efficient linked list structure for intermediate results\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5205\">> widget mechanism to cache the result of parsing macros which don't use text substitution\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4659\">> page templates to use a single VarsWidget instead of several [[SetVariableWidgets|SetVariableWidget]], for improved performance and easier debugging\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4954\">> ListWidget to not initialize parsers for blank `emptyMessage` attributes\n\n! Usability Improvements\n\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5143\">> tiddler info panel to change \"references\" to \"backlinks\"\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/1546a4a1895b93a47b79c9d37b94be039604443a\">> warning message about using the online plugin library with the client-server configuration\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/9cd5415dfe54b47819920aa3cf6ac2d5e3a9188e\">> favicon for the prerelease edition\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/22e25c05eb5e5cc5b670a362d1eead1d62dedbb9\">> normalize.css's styling of search input fields and <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/9003c810393d90ee20db083fda35b6469acc592a\">> to a modern fork of normalize.css\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/bb6fee4e1c79a2b1cbf75cd0326ecb8fb1ccb86b\">> editor toolbar buttons editing SVG tiddlers by removing unneeded buttons\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5089\">> global keyboard shortcut for switching layouts\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/1d7091e637462dcda8c28d660ca42c073f647043\">> the export menu to hide the `.tid` exporter when there is more than one tiddler to export\n\n! Import Mechanism Improvements\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4937\">> support for renaming tiddlers and a warning about overwriting existing tiddlers\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5067\">> colour coding for import items that will overwrite existing tiddlers, and for other warnings\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/527638d5e60114653385ed39dc55c736a67e58d2\">> other warnings in the import listing\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/cc3462999b80461fe30b8f4b4f272ccfbbb78b35\">> content type of imported `.tid` files that do not have a `type` field\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4711\">> extraneous system tiddlers created during import process\n\n! Palette Improvements\n\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/484c9e986fc6f323e30460a88f134da3a4e8a89e\">> the $:/PaletteManager to show \"indirect\" colours (ie, colours defined by another `<<colour>>` macro)\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5092\">> new \"Desert Sand\" palette\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5100\">> new \"Cupertino Dark\" palette\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/8cf458d3b3f1e38c14a2819529e08dca4a7e297c\">> \"Solarized Dark\" palette\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4590\">> (and <<.link-badge-here \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/274a07b4fd2ca2d1b95c8ddf52fe055c44260d9b\">>) the Vanilla theme to optionally use palette colours for the [[browser selection outline|https://developer.mozilla.org/en-US/docs/Web/CSS/::selection]]\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4585\">> \"Gruvbox\" palette readability of toolbar buttons\n\n! Keyboard Handling Improvements\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4725\">> support for navigating the search and new tag dropdowns via the keyboard. The [[keyboard-driven-input Macro]] can be used to add this capability to other dropdowns\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4791\">> a ''tabIndex'' property to the tiddler editor input area to make it easier to use the <kbd>tab</kbd> key to move between edit controls\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4909\">> keyboard support for cycling through the tabs in $:/AdvancedSearch\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4921\">> keyboard support for navigating the field name dropdown in the Edit Template\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4989\">> keyboard support or navigating the `type` field input in the Edit Template\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4919\">> keyboard support for using the ''insert wikilink'' toolbar dropdown in the Edit Template\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4927\">> a keyboard shortcut for saving the wiki\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4978\">> a keyboard shortcut for deleting a field in the edit template\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4952\">> a keyboard shortcut to change the sidebar layout\n\n! Widget Improvements\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5086\">> EventCatcherWidget for low level event handling\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/1b31c25ea77ee4dce86a9aac4375337423ebd3a6\">> new LogWidget and ActionLogWidget to help debugging\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5037\">> new ActionConfirmWidget to prompt the user for simple yes/no questions\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5091\">> ButtonWidget and DroppableWidget so that changing the class attribute does not trigger a refresh. This makes it easier to use classes to trigger CSS animations\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5087\">> the RevealWidget to optionally dynamically refresh popup positions when the state tiddler changes\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5014\">> support for ''disabled'' attribute to EditWidget, EditTextWidget, CheckboxWidget, RadioWidget and RangeWidget\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5010\">> support for ''disabled'' attribute to ButtonWidget\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/ae13a0fee118c50169b7835c950df1dade33788f\">> the MacroCallWidget to be able to optionally render the raw text of the macro (previously the output was always wikified)\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/e71a27ac2d71f2e48f9e4e9156b59bb3ecc2a105\">> the LinkWidget to work within SVG elements\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/c86a621d5d205e1ae0ce999b90ebe09addc45a9f\">> ''accept'' attribute to the BrowseWidget\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/77a929faa3a33768e52cf2a34ecbef9c554a6a7b\">> the ActionPopupWidget to allow popups to be dismissed\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4740\">> the EditWidget to pass all attributes through to the sub-widget\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/95e30138f0b34135031d50c1606e8b0059ca6653\">> the LinkCatcherWidget to pass keyboard modifier status to actions\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5154\">> the RadioWidget to support actions\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5158\">> the RangeWidget to support actions\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/3406b98af62def252bcb0f7df8a72ed4b74818eb\">> ''autocomplete'' attribute to the EditTextWidget and EditWidget\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5088\">> incorrect behaviour of default values with [[lookup Operator]]\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/6570561d4ec31d9e64c3021bb69c20daec8c9eac\">> [[has Operator]] when used with the ''tags'' field\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5222\">> crash when using [[edition Operator]] in the browser\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4647\">> ''class'' attribute of DroppableWidget\n\n! Filter Improvements\n\nNew capabilities:\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4964\">> support for multiple operands for filter operators\n\nNew filter run prefixes:\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4915\">> support for named filter run prefixes\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4918\">> new [[:filter filter run prefix|Filter Expression]] which is analagous to the new [[filter Operator]] but applies to a filter run\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4959\">> new [[:intersection filter run prefix|Filter Expression]] to get the intersection of two filter runs\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5196\">> new [[:reduce filter run prefix|Filter Expression]]\n\nNew operators:\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/14a28b77796461c9167898793ab9851e029e0354\">> new [[filter|filter Operator]] and [[reduce|reduce Operator]] operators for processing lists of items\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5080\">> new [[power Operator]] and [[log Operator]]\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4991\">> new [[draft Operator|is Operator]] to check if a tiddler is a draft of another tiddler\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4973\">> new [[search-replace Operator]] to search and replace in strings\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4948\">> new [[enlist-input Operator]] to parse its input titles as a title lists\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/4966f6ab625c8ce2c9f0812a726ba928d68ea00b\">> new [[slugify Operator]] and [[duplicateslugs Operator]] for generating human readable filenames/URLs\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/619c0752bd3c6e71d1fcdb74daa03cfe8257afe4\">> new [[sortsub Operator]] for sorting by a user defined subfilter\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4785\">> new [[format Operator]] for formatting dates\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/14a28b77796461c9167898793ab9851e029e0354\">> new [[reduce Operator]] to apply a subfilter to each input title in turn, accumulating a single value \n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/14a28b77796461c9167898793ab9851e029e0354\">> new [[filter Operator]] to apply a subfilter to each input title and return the titles that return a non-empty result from the subfilter\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4990\">> new [[toggle Operator]] to toggle a title in a list\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5021\">> new [[cycle Operator]]\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5146\">> new [[pad Operator]]\n\nOther improvements:\n\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4811\">> the [[trim Operator]] to optionally trim a given string instead of whitespace, and trim from front, back, or both sides of input tiddlers\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5191\">> [[jsonstringify Operator]] and [[stringify Operator]] to support \"rawunicode\" suffix\n\n! Tiddler File Naming Improvements\n\n<<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5113\">> the mechanism for [[Customising Tiddler File Naming]] to:\n\n* Save drafts to a special folder for each user\n* Allow filters in $:/config/FileSystemPaths to change the path of a tiddler file on disk\n* Allow filters in $:/config/FileSystemExtensions to change the extension of a tiddler file on disk\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/c1a1e272cc9b823f97f8f1bde6a24dfa5fe973e8\">> `th-make-tiddler-path` hook for low-level control of tiddler path construction\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4914\">> [[tiddlywiki.files Files]] specification with `isEditableFile` attribute allowing files to be saved back to their original location\n\n! Hackability Improvements\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4979\">> basic support for switching page templates\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/1446a1e44cd084b0905f3fdcd8b339f23edf2384\">> the [[WidgetMessage: tm-scroll]] message to allow the target element to be specified by a CSS selector, making it possible to scroll to positions within a tiddler\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5027\">> modals to incorporate a NavigatorWidget so that links work as expected\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/5af76c5ea10db2b59cc20f963a836c6a9faa8b10\">> the [[Table-of-Contents Macros]] to support custom link targets\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4777\">> new Hyperdrive saver for use with Beaker Browser v1.0\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/2a8f7a9c503c9a6e4ea1bcd116be31ab6e90cf52\">> [[favicon mechanism|Setting a favicon]] to support ''_canonical_uri'' images\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/48dfadd85b8ebd788b44ed2c46108720742546df\">> support for recording the startup timestamp in $:/info/startup-timestamp (see [[InfoMechanism]])\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/bf6735420d2f8191f658c556910e7d73c681d5fe\">> support for SVG favicons\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/f760a2fa796d57e61307a5ea5274d6cd0b6484c7\">> `th-saving-tiddler` hook to include information about the draft tiddler (see https://tiddlywiki.com/dev/#Hook%3A%20th-saving-tiddler)\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4723\">> [[WidgetMessage: tm-rename-tiddler]] to control whether relinking occurs\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4741\">> [[WidgetMessage: tm-import-tiddlers]] to override the title $:/Import and to better control whether the import tiddler is opened automatically\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/bd2cf5c46498222a32ebda92da3ae50bde33decb\">> the internal `<$element>` widget to add a hook so that plugins can intercept DOM node creation\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4724\">> original event to `tm-navigate` event\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/651fb777abd11c88e58b4bdfbced01d6db508852\">> the password prompt to enable it to be customised\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/69c12618d963c711edd72a60427bd15ec4fa0e6e\">> syncer to enable syncadaptors to customise the login prompt\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/a1b486436e9278078c524c6aa11f7f4de6cbc877\">> the [[tabs Macro]] to support `actions` and `explicitState` attributes\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4906\">> (and <<.link-badge-here \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4907\">>) filters used for syncing on node.js and saving the single file version to exclude multiple story lists and history lists based on their prefix, as well as multiple tiddlers that might be used for the import process\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/5cc1600072f5aa50c8ff5f5d2e748d81a7067420\">> post-render startup actions\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/f7f55e8eff8b172d8fd04f095781efa2420b1be6\">> support for username/password parameters for `tm-login` message\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/4c6de2271124fc3a4b01e4324a0d5e401500cca2\">> support for the content type ''image/jpg'' (the correct type is ''image/jpeg'' but the misspelling is common so most browsers now support it)\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4908\">> support for an override saver\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4923\">> utility CSS classes to replace use of `&nbsp;` to introduce visual separation\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4983\">> option to configure the tag used for TableOfContents in the menubar\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4971\">> the KeyboardWidget to not trap keys if there are no actions to be invoked\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4975\">> buttons to the Edit Template toolbar for the editor-height and the stamp tool for tiddlers of type ''application/javascript'',''application/json'' and ''application/x-tiddler-dictionary''\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4985\">> all instance of the [[tabs Macro]] in the core to use the explicitState attribute\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5000\">> support for the <kbd>meta</kbd> key as a modifier in actions\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/c854e518faa2d2661b7b7278634b10607ab0a5f5\">> support for $:/info/darkmode to the InfoMechanism, reflecting the browser dark mode vs. light mode setting\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4200\">> `story.js` to remove dependency on `wiki.js` for story start up and navigator\n\n! Plugin Improvements\n\n!! [[JSZip Plugin]]\n\n<<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/6a0ff7db1807f45b73061ced82f5a85f1a529bbf\">> the [[JSZip Plugin]] with the ability to dynamically create Zip files, and thus to conveniently build multi-file static sites within the browser\n\n!! [[Consent Banner Plugin]]\n\n<<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/4a84ed0018df7fd67000404bb5ef8a7ca50509c1\">> the new [[Consent Banner Plugin]] plugin helps make websites that are compliant with \"cookie legislation\" such as the [[EU General Data Protection Regulation|https://gdpr.eu/cookies/]].\nIt presents a banner inviting the user to accept or reject cookies, keeping track of their consent in local storage so that the banner can be hidden on subsequent visits.\n\nBy default, content embedded with &lt;iframe>, &lt;embed> and &lt;object> is blocked unless the user consents to accept cookies.\n\nConsent status is  available via a configuration tiddler so that it is possible to construct content that behaves differently depending upon whether consent has been granted. As an example, a macro is provided for embedding ~YouTube videos that automatically uses the youtube-nocookie.com variant of video URLs unless the user has accepted cookies.\n\nPlease note that using this plugin does not guarantee compliance with any particular legislation. You will need to understand the technical issues specific to your situation, and if necessary seek legal advice.\n\n!! Freelinks Plugin\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/1f354a972e0217e034d1f59d31577c1fd6b186f3\">> (and <<.link-badge-here \"https://gitxhub.com/Jermolene/TiddlyWiki5/commit/c9692d7a508cfdb0446e67061201961dca64d8dd\">>) support for ignoring case when matching titles\n\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/05e6c1bf62cd51df6aa025d0ad07f7959cde6fa0\">> bug with autolinking within HTML `<a>` elements\n\n!! [[Twitter Plugin]]\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/3a20fb1e3a41a032574d227a8c770a11ae0a5d58\">> warning if wiki needs to be saved and reloaded\n!! [[Dynaview Plugin]]\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/b0e40e86413c1769c8be8a84652b66ef6ac8b997\">> examples (and <<.link-badge-here \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/f7fe47914e19ba7198b7768ca832ee03c289a2bc\">>)\n!! [[CodeMirror Plugin]]\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4662\">> issue with `e.toggleComment` being undefined with CodeMirror Sublime keymap\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4950\">> CodeMirror plugins to version 5.58.3\n!! [[Markdown Plugin]]\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4680\">> encoding of Markdown image files\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/e01b354f7d9e137cb355f7090f5e68661a4ead41\">> issue with whitespace and linebreaks\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4862\">> ''tc-tiddlylink-external'' class to external links\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4771\">> to add `rel=\"noopener noreferrer\"` to external links\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5128\">> to use palette colours\n!! [[Amazon Web Services Plugin]]\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/0338f0fee23d176a94de9009492d2e43a916fbfa\">> a new ''aws-encodeuricomponent'' filter that also encodes single quotes\n!! ~BibTeX Plugin\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/f863acf8ac716dbf892f2d63efa0a130aadfec6a\">> to a later fork of the underlying third party ~BibTeX parsing library\n!! Menubar Plugin\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4974\">> so the top margin of the side bar adjusts to the height of the menu\n!! Dynannotate Plugin\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/4394b8e723f78b3d2562a95155aeb91a3d6bbd5f\">> examples of usage in the View Template\n!! [[External Attachments Plugin]]\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/4549\">> a bug with relative paths in the [[External Attachments Plugin]]\n!! [[Highlight Plugin]]\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5128\">> to use palette colours\n\n!! Translation Plugins\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/tree/master/languages/ar-PS\">> new Arabic (Palestine) translation\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/tree/master/languages/ca-ES\">> Catalan translation\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/tree/master/languages/zh-Hans\">> (and <<.link-badge-here \"https://github.com/TiddlyWiki/TiddlyWiki5/tree/master/languages/zh-Hant\">>) Chinese translation\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/tree/master/languages/nl-NL\">> Dutch translation\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/tree/master/languages/fr-FR\">> French translation\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/tree/master/languages/de-DE\">> German translation\n\n! Other Bug Fixes\n\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/fe8606759ebf1db50c57a2e779b086a6d7df2ae6\">> parsing of dates from 0 to 100CE\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/6a91dbfe2f6e52512d7f063b6d5e3742ff77126d\">> handling of negative dates (see [[Date Fields]] and DateFormat)\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5126\">> \"409 conflict\" errors with the ~GitHub saver when saving within 60 seconds of the last save\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4987\">> behaviour of system tiddler syncing with the client server configuration. By default, changes to system tiddlers are not synced from the server to the client, restoring the behaviour from v5.1.21 and earlier. Bidirectional syncing of system tiddlers can be enabled with the configuration tiddler $:/config/SyncSystemTiddlersFromServer\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4632\">> hover effect for search dropdown items\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4584\">> restored missing parameter to `saveTiddler()` method of syncadaptors\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/678e25f510786fbc38f505f8b594f57f39e33a04\">> MakeLibraryCommand to skip non-directories\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4601\">> erroneous use of `$tw.wiki`\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4634\">> high CPU usage with animated syncing icon introduced in v5.1.22\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/4591\">> $:/config/NewJournal/Tags appearing in tag dropdowns\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4658\">> popups not being cancelled when clicking within a text editor\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4676\">> issue with [[timeline Macro]] and invalid date values\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4682\">> hover colours of tag dropdowns in the sidebar\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4683\">> alignment of tag pill icons\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4696\">> crash with droppable widget\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4674\">> issue with adding tags in $:/Manager\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4686\">> edit template \"type\" dropdown positioning\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4687\">> edit template field dropdown positioning\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4704\">> (with additional updates <<.link-badge-here \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4705\">>) syntax error in ScrollableWidget\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4780\">> problem with headers not being treated case insensitively\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/a2796d89ab3dbf4a15b63b0f4623387fdc6acd5b\">> problem with `Content-Type` HTTP header sent as `Content-type`\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4776\">> EntityWidget not refreshing correctly\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4774\">> [[Markdown Plugin]] to honour alignment directives\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/f74c49f393da3213abadaa52dd09940d708ea635\">> syncing issues with external JS template\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4813\">> incorrect base64 encoding of astral plane Unicode text\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4770\">> server error when saving a new tiddler created by following a tiddler link\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4751\">> a `plugin-priority` field to the TiddlyWeb plugin so that language plugins can override its language strings\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4853\">> bug whereby joining an empty list would not return an empty list\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/59f233cd46616646fa8889f65aa9cc7d704d8c9a\">> bug exporting tiddlers with double quoted titles\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/4900\">> bug with syncing plugin tiddlers\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/4877891980f077c6c31e99cc6a9eb45b5d1230e1\">> bug with the position of the tiddler title when there is no icon in use\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/3153c588ecddfdc97cc8289720d36b1fb15ef236\">> unwanted autosave in the upgrade wizard\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4938\">> problem whereby  `$:/temp` tiddlers were being saved in single file wikis\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4839\">> a bug with the `sortan` filter operator when used with date fields\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4947\">> a bug for location hashes that contain a `#` character\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5055\">> default branch to ''main'' for saving to ~GitHub\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/7327a3fb92fa2ae17d7264c66ab0409d43b18fdc\">> shadow tiddlers not refreshing when their plugin is deleted or modified\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5129\">> `tc-dirty` class not appearing on external windows\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5148\">> `static.tiddler.html` template to make rendered tiddlers full-width\n\n! Contributors\n\n[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:\n\n<<.contributors \"\"\"\nadithya-badidey\nArlen22\nbimlas\nBramChen\nBurningTreeC\ndanielo515\ndefault-kramer\nento\nfavadi\nfkohrt\nflibbles\ngera2ld\nibnishak\nidotobi\njdangerx\njjduhamel\njoshuafontany\nkookma\nKamal-Habash\nMarxsal\nmocsa\nNicolasPetton\nOmbraDiFenice\npassuf\npmario\nrmunn\nSmilyOrg\nsaqimtiaz\ntwMat\nxcazin\n\"\"\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/pre-5.4.0/Release 5.1.3.tid",
    "content": "caption: 5.1.3\ncreated: 20141020171015200\nmodified: 20150221230151000\ntags: ReleaseNotes\ntitle: Release 5.1.3\ntype: text/vnd.tiddlywiki\nreleased: 20141020171015200\ndescription: Journals, ActionWidgets, <<.olink addprefix>> and <<.olink addsuffix>> operators, \"includeWikis\"\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.1.2...v5.1.3]]//\n\n!! Usability Improvements\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/e872f17842809e33eae177980e9ea0650b6a4c03]] \"new journal\" button; see [[Creating journal tiddlers]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/70984aa39f8a4061162d4e404bfd158e515c7e6e]] \"new here\" button; see [[Creating and editing tiddlers]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/00cdd04edd49c2bf0e461071c0c7c50f8aab4e42]] \"new journal here\" button; see [[Creating journal tiddlers]]\n* [[Made|https://github.com/TiddlyWiki/TiddlyWiki5/commit/c6951ee912d1f2717a8c208cbb920e54edf9e5d9]] date format strings be translateable\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/tree/master/languages/ru-RU]] Russian translation\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/ef1d5310918dae088ce9361c1682ce0f99cf568a]] confirmation when clearing password\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b7bbcfa05659808c1e51a4f2f5f1d6afbc2ed3a1]] additional prompt when setting password\n* [[Increased|https://github.com/TiddlyWiki/TiddlyWiki5/commit/dc9981322aeb508d5ebac0b691b0d703f8c1995e]] size of the clear search button\n* [[Upgraded|https://github.com/TiddlyWiki/TiddlyWiki5/commit/564457de1c991df15263040d2d5526fa8ae879bb]] to [[KaTeX v0.1.1|https://github.com/Khan/KaTeX/releases/tag/v0.1.1]], with support for several additional LaTeX features\n\n\n!! Hackability Improvements\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/2ffe53f1916e4b746cc6d7e74e8f4ac75c72e38a]] audio \"parser\" for handling [[Audio]] content\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/0dcf54c3b59ed04645928f0ec4ced647e5a0da7f]] support for ActionWidgets\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/65504d5d41e45326ab1b1b6c0c21eea4c9772797]] new <<.olink addprefix>> and <<.olink addsuffix>> operators\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/0c8e5380778303cdd3308bed4a15290214841f8b]] support for custom password prompts\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/commit/c26bd4c5a872f56c47e9f5cfc3fada468c53ddde]] the <<.mlink list-links>> macro to display ''caption'' field if present\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/commit/12e26009eef5e29140ba1a880ff033428d673630]] ImageWidget to allow percentage width and height to be specified\n\n!! Bug Fixes\n\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/cc576b052e2b05fd93fcb4f3eb8d9ee5278abf3e]] the <<.olink each>> operator to work with missing tiddlers\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/5dd6ebff05a3380db2901294b2cfc89c1a0e71bf]] problem with tiddler width in zoomin storyview with the sidebar hidden\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/09b6540998fec6bf1fb14842be8e8c53dbd5c46a]] bug whereby the `tm-home` message wasn't navigating to a tiddler, causing problems in zoomin storyview\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/3ca8d7b6cca46ffa424bcf9bdc134da464fc84f4]] problem with jumping toolbar icons under Firefox\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/f85b07e70b71d0622a9459e4b04e2027540abda8]] problem with untagged label being incorrectly coloured\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b3dcd7d625ec83701ef3a77f3fb8101af57c154f]] problem with title background colours with the \"Sticky Titles\" theme\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/5211f9c40c874a167174e8c0d439db34189d3329]] problem with subfilter parameter of <<.mlink timeline>> macro\n* [[Exclude|https://groups.google.com/d/topic/tiddlywiki/YPACpXhH9PY/discussion]] search string tiddler from search results\n\n!! Node.js Changes\n\n//These changes are only relevant to people using TiddlyWiki under Node.js//\n\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/commit/63c174d7ed56284e80ad6cd6ae966b81f9181cc9]] ~KaTeX plugin to be able to work under Node.js to generate static HTML\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/commit/49dc5694a391a391264a4473e4f4422e2472a3b3]] \"includeWikis\" to merge build targets\n* [[Refactored|https://github.com/TiddlyWiki/TiddlyWiki5/issues/969]] the build scripts for tiddlywiki.com into a separate repository at https://github.com/Jermolene/build.jermolene.github.io\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/commit/744245ea3249446fd15f504190efb1d828935d01]] boot kernel to raise an error if a missing wiki folder is specified on the command line\n\n!! Contributors\n\n[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:\n\n* [[@andrey013|https://github.com/andrey013]]\n* [[@BramChen|https://github.com/BramChen]]\n* [[@buggyj|https://github.com/buggyj]]\n* [[@Eucaly|https://github.com/Eucaly]]\n* [[@Evolena|https://github.com/Evolena]]\n* [[@fghhfg|https://github.com/fghhfg]]\n* [[@Marxsal|https://github.com/Marxsal]]\n* [[@pmario|https://github.com/pmario]]\n* [[@simonbaird|https://github.com/simonbaird]]\n* [[@TheDiveO|https://github.com/TheDiveO]]\n* [[@xcazin|https://github.com/xcazin]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/pre-5.4.0/Release 5.1.4.tid",
    "content": "caption: 5.1.4\ncreated: 20141022155524581\nmodified: 20141022155524581\ntags: ReleaseNotes\ntitle: Release 5.1.4\ntype: text/vnd.tiddlywiki\nreleased: 20141022155524581\ndescription: Dragging links into text boxes, coloured errors and warnings under Node.js\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.1.3...v5.1.4]]//\n\nThis is a small release with documentation improvements and some important bug fixes from [[Release 5.1.3]].\n\n!! Usability Improvements\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/6681a8e1f2fd3f39d92a1480b5b573a6c831515d]] a toolbar button for advanced search\n* [[Changed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/53d834c86be2f97599a9486c0eae4777c51d9093]] dragging behaviour so that you can drag a tiddler title into an edit box to insert the title, making link creation easier. (This change doesn't affect the behaviour of dragging tiddler links between TiddlyWiki windows)\n\n!! Hackability Improvements\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/26e50b81e579b7f2d190ca3662cadcf82764c8a7]] additional theme tweaks for the body text size and line height\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/commit/1b620387dda2d16bf387a89071188762455890c4]] the ViewWidget to work with subtiddlers\n\n!! Bug Fixes\n\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/ddc74955427f8a7291ee964c42a771a112007789]] problem with search counts\n\n!! Node.js Changes\n\n//These changes are only relevant to people using TiddlyWiki under Node.js//\n\n* Fixed problem with missing wiki folder warnings by [[removing|https://github.com/TiddlyWiki/TiddlyWiki5/commit/9fedf3865778fd3aa50c2f049c2b81061c8cd778]] and [[re-implementing|https://github.com/TiddlyWiki/TiddlyWiki5/commit/e62e38d66c6eb447bbd8f16b5beec0fe0276ea0d]] the fix from [[Release 5.1.3]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/5d600ce31b1d1162529ae8043bb342e2165c4b13]] coloured warnings and errors under Node.js\n\n!! Contributors\n\n[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:\n\n* [[@danielo515|https://github.com/danielo515]]\n* [[@gernert|https://github.com/gernert]]\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/pre-5.4.0/Release 5.1.5.tid",
    "content": "caption: 5.1.5\ncreated: 20141025120850184\nmodified: 20150221225041000\ntags: ReleaseNotes\ntitle: Release 5.1.5\ntype: text/vnd.tiddlywiki\nreleased: 20141126153016142\ndescription: Export button, more ActionWidgets, Danish and Greek translations\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.1.4...v5.1.5]]//\n\n!! Translation Improvements\n\n* Added new translators edition making it much easier to create and maintain translations of TiddlyWiki\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/615425cf0634233d27f4f1ea430589b2a618feb6]] improved Japanese translation\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/8ba1a9b72ac5a4f50a4f670a24393d564c137c0c]] new Danish translation\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/14a64ef3effc1e4cf1098b35af6d6cb864d77ac2]] new Greek translation\n\n!! Usability Improvements\n\n* [[Improvements|https://github.com/TiddlyWiki/TiddlyWiki5/commit/09a3f94d79fc6eacbfd46c86594748e996191eb2]] to tooltips for accessibility\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/6fc5c70ace43219710983f6d9640f4b01d620908]] export button to tiddler toolbar, page controls and [[advanced search|$:/AdvancedSearch]] \"filter\" tab\n* Improved layout of [[$:/TagManager]]\n* [[Simplified|https://github.com/TiddlyWiki/TiddlyWiki5/commit/0a986ccd995266bf3a47182fa584d79f9dd3e153]] default tiddler toolbar buttons\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/63b00fd0f80ce0c9917e233287d4a0138e8c385f]] advanced search button to sidebar search results\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/4d061d0fee959fdc5ab470dc8f8379bedfa946d9]] search results by listing title matches at the top\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/da1f9f7d2233eb2aacc027bc1fc1053fa8b7bc2e]] input box for specifying new field value in edit template\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/0bb8e08edca61f415aa084327b6751c278e45108]] tag pill rendering so that the foreground colour is dynamically chosen for maximum contrast with the background colour\n* Enhancements to many of the [[core icons|ImageGallery Example]]\n* [[Removed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/1dfa6f369bddd8dedba2e47dc4707eba28ccf4e1]] (and [[here|https://github.com/TiddlyWiki/TiddlyWiki5/commit/145713e7668a41320981ed87b448542cd30d13dc]], [[here|https://github.com/TiddlyWiki/TiddlyWiki5/commit/3035badf144abb85f5d42b2b1d395cf0f65fb03e]] and [[here|https://github.com/TiddlyWiki/TiddlyWiki5/commit/e69e2c1c91002c296e1789532ca74286fae8d5a4]]) unnecessary confirmations when abandoning or deleting unmodified tiddlers\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/a5c7089bcfe3d2439eb082535527a7cc767891cc]] a subtle rounded corner to tiddlers and tabs\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/6f0d581d720e611fade3b3f346ad0409ef5e291b]] automatic focusing of the title of newly created tiddlers\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/81481588e07ed3cb1e378a6c6f21d26dcbaa8345]] advanced search links on tiddler counts in [[$:/ControlPanel]]\n\n!! Hackability Improvements\n\n* Introduced new ActionSetFieldWidget, ActionDeleteFieldWidget and ActionDeleteTiddlerWidget for manipulating tiddler fields and values\n* [[Enhanced|https://github.com/TiddlyWiki/TiddlyWiki5/commit/c7971d3da3bbef4bbc81d4462ee93590adc248f8]] [[WidgetMessage: tm-new-tiddler]] to allow a skeleton to be specified with additional fields\n* [[Enhanced|https://github.com/TiddlyWiki/TiddlyWiki5/commit/4a172125768e3b33c30e725e8550454a9d26c5c4]] the EditTextWidget to allow more control over the sizing of textarea editors\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/13726ef73157d9e9d65ae4027d9c32aaa7cdcc90]] new canned filter for recently modified system tiddlers in [[$:/AdvancedSearch]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/c20c935faabbb63f679bc4720b52162c56b6af64]] new system image for videos: [[$:/core/images/video]]\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/commit/c13cf94413c94ee56bebc60fab2d9231d1824d88]] search results to allow custom visualisations - see [[Customising search results]]\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/commit/a3a50dbf6d96e7441e5e8ec183e40134bc4eb618]] <<.mlink timeline>> macro to be able to use different date fields\n* [[Updated|https://github.com/TiddlyWiki/TiddlyWiki5/commit/8260d000be1cf1caf35a557f6cd54a0fb8ccf4f0]] the <<.olink search>> operator to allow a field to be specified\n* [[Updated|https://github.com/TiddlyWiki/TiddlyWiki5/commit/73491f14dd63612d527632210d2c3873eb81188f]] the highlight plugin to display tabs as spaces\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/commit/91a7c397911726e391ca368f96b50fbe1687d56a]] modal handling to permit variables to be passed to the modal (see [[WidgetMessage: tm-modal]])\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/853f5fd06402b16e271e8f119ef380de485aeff2]] simple logging to help track down drop/paste issues (see https://tiddlywiki.com/dev/#ImportLogging)\n* [[Updated|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b520efdeb83f6ac7536a69cf5af2bab3f94cf77f]] [[WidgetMessage: tm-download-file]] and [[WidgetMessage: tm-save-wiki]] to allow variables to be specified for the rendering\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/f5055c0205d24102a36b9cf3a9dd9306e148a1f0]] [[Example Table of Contents: Tabbed Internal]]\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/commit/79e428757b5562bd4a925b9b0428ea4ba70ad05a]] RevealWidget so that it can be used without specifying a state tiddler\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/90caf5bf42523cfb6cd603b979aadb719ddcede4]] \"hooks\" mechanism so that plugins can modify the default tiddler list\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b882a0dff12dc2660426de53e64d8c018f3a9d84]] support for nested popups\n\n!! Bug Fixes\n\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/90096cbd367a7a685fb5dc5b2cbaa69a00d8199f]] problem with CodeMirror editor and missing tiddlers\n* [[Exclude|https://github.com/TiddlyWiki/TiddlyWiki5/commit/5093cdc86047209f23b9ead5ee0f216d0414e4f2]] drafts from [[Table-of-Contents Macros]]\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/5599f9f9338a5f96080143b2192214a78b961509]] problem with encoding of HTML tiddlers\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/835e3a945244dd8a07f4c7fd570eb890e9fdcc2c]] problem with sticky titles being covered by vertical tabs\n* [[Removed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/d1bbe7253c135ceed138fd02c82b0f861d5dda6b]] flicker when automatically resizing textareas\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/4bf6fe7fe9416f4e304036302ab5727148ae5222]] JSON deserialiser so that all fields can be imported\n\n!! Node.js Changes\n\n//These changes are only relevant to people using TiddlyWiki under Node.js//\n\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/commit/8e685e5150e636aed6655c6caa09c7b6cffdcea2]] ''includeWikis'' mechanism of TiddlyWikiFolders to allow read-only wikis to be included\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/cea963420ca2800b86989e29d42d06ccb7ea2a00]] error handling under Node.js\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/17a594a97ad5655142c834dfd5fa68855a61d201]] UnpackPluginCommand\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/04d26e6fae20671a6d455e113f7b0afedabc7122]] EditionsCommand to list the available editions\n\n!! Changes affecting plugin authors\n\n* [[Disabled|https://github.com/TiddlyWiki/TiddlyWiki5/commit/f7a2849d27bb082e4bbf6b056a800a1edb30f510]] wiki change events for shadow tiddlers\n* [[Updated|https://github.com/TiddlyWiki/TiddlyWiki5/commit/d93c19daaa126f0938048009a83796cb52690541]] structure of widget messages that have a hashmap parameter\n* The support for nested popups has necessitated a change in the way that popups are styled that affects popups that are triggered with the focusPopup attribute of the EditTextWidget: it is now necessary for the widget to be given the class `tc-popup-handle`.\n\n!! Contributors\n\n[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:\n\n* [[@andrey013|https://github.com/andrey013]]\n* Birthe C\n* [[@Braincoke|https://github.com/Braincoke]]\n* [[@BramChen|https://github.com/BramChen]]\n* [[@danielo515|https://github.com/danielo515]]\n* [[@erwanm|https://github.com/erwanm]]\n* [[@Evolena|https://github.com/Evolena]]\n* [[@giffmex|https://github.com/giffmex]]\n* [[@inmysocks|https://github.com/inmysocks]]\n* Makoto Hirohashi\n* [[@pmario|https://github.com/pmario]]\n* [[@Skeeve|https://github.com/Skeeve]]\n* [[@tobibeer|https://github.com/tobibeer]]\n* [[@welford|https://github.com/welford]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/pre-5.4.0/Release 5.1.6.tid",
    "content": "caption: 5.1.6\ncreated: 20141127120850184\nmodified: 20150221194210000\ntags: ReleaseNotes\ntitle: Release 5.1.6\ntype: text/vnd.tiddlywiki\nreleased: 20141219155007260\ndescription: Minor bug fix release for v5.1.5\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.1.5...v5.1.6]]//\n\n!! Translation Improvements\n\n* Added Dutch translation\n* Updated Danish and Japanese translations\n\n!! Hackability Improvements\n\n* [[Allow|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b29973312d7c16292cabb493e5914668f7c3f127]] buttons to be styled to look like internal links\n* [[Disabled|https://github.com/TiddlyWiki/TiddlyWiki5/commit/5b38c21a417d2e5e2b85aed8010c88af32420e24]] linking when transcluding ''caption'' field in [[Table-of-Contents Macros]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b220c19fb7b789eb6d00c9d1a71414676d87130e]] support for templates to tabbed [[Table-of-Contents Macros]]\n* [[Allow|https://github.com/TiddlyWiki/TiddlyWiki5/commit/31b5eb1578640fabe8712f0cd4edd49708bc4493]] shadow tiddlers to appear in [[Table-of-Contents Macros]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/5154a25ab95f0cc08eb079a624be4fd3353e6dbd]] tooltip to BrowseWidget\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/42dba113ccdb18d7e76ac7a773c7dca532207007]] handling of missing tiddlers by the <<.olink has>> and <<.olink field>> operators\n\n!! Bug Fixes\n\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/182c2428ca7b38d00d36d2d6650e761026470e63]] problem with download saver using incorrect filename\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/d031a93c6d607d5b10d025149608f10977181e26]] [[problem|https://github.com/TiddlyWiki/TiddlyWiki5/issues/1010]] with processing of date format templates\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/a0c13a0856cb6b4a2592acdd46975e44eb7c53a8]] problem with ''storytop'' theme tweak not being respected when the narrow responsive design kicks in\n\n!! Node.js Changes\n\n//These changes are only relevant to people using TiddlyWiki under Node.js//\n\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/bb74be7ac1a24eeaee10a3cb3d3633e3aa318632]] problem with \"all tiddlers\" static HTML export\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/51db48acc901d8fb298d9b0f7f10b47ffe90df05]] incorrect checking for an empty folder with the InitCommand\n\n!! Changes affecting plugin authors\n\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/commit/1e47a62c2af392f30a492da732b33b89f23a2e4c]] `$tw.utils.each` so that the loop can be broken out of\n\n!! Contributors\n\n[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:\n\n* [[@anavarre|https://github.com/anavarre]]\n* [[@Drakor|https://github.com/Drakor]]\n* [[@dullroar|https://github.com/dullroar]]\n* [[@erwanm|https://github.com/erwanm]]\n* [[@malgam|https://github.com/malgam]]\n* [[@nameanyone|https://github.com/nameanyone]]\n* [[@pekopeko1|https://github.com/pekopeko1]]\n* [[@Spangenhelm|https://github.com/Spangenhelm]]\n* [[@tobibeer|https://github.com/tobibeer]]\n* [[@xcazin|https://github.com/xcazin]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/pre-5.4.0/Release 5.1.7.tid",
    "content": "caption: 5.1.7\ncreated: 20141219215007260\nmodified: 20141219215007260\ntags: ReleaseNotes\ntitle: Release 5.1.7\ntype: text/vnd.tiddlywiki\nreleased: 20141219215007260\ndescription: Hot fix release for v5.1.7\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.1.6...v5.1.7]]//\n\nThis is an hot fix release with the following change over [[Release 5.1.6]]:\n\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/a31aa25d0c00187ff829d74108f018e44b5cb3c5]] typo in GettingStarted\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/pre-5.4.0/Release 5.1.8.tid",
    "content": "caption: 5.1.8\ncreated: 20150417163307227\nmodified: 20150417163307227\ntags: ReleaseNotes\ntitle: Release 5.1.8\ntype: text/vnd.tiddlywiki\nreleased: 2015041716307227\ndescription: Plugin library, Railroad Plugin, sticky titles, 7 new translations\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.1.7...v5.1.8]]//\n\nThis release includes many improvements to the documentation for TiddlyWiki. Many thanks to everyone who has helped out, but especially to our prodigious new contributor Astrid Elocson.\n\n!! Translation Improvements\n\n* Improvements to French, Danish, Chinese and Japanese translations\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/cb8caf6a01aeeac480bf28661888961657b0dbd8]] Czech translation\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/d6918d737f5d1b663346ad9a35421a5ae0ffb9a7]] [[Interlingua|https://en.wikipedia.org/wiki/Interlingua]] translation\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/6721a5eb1b77935226ccc8559008af3a0a05d0cb]] Portuguese translation\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b845751d3c549366adb2f6e5c58b0114fa95ba30]] Punjabi and Hindu translations\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/49a9a2c44ca3a71fff3062709f06940aaca4a574]] Slovak translation\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/5d947ed582fb9d68c01d82a334ab75498a8724ef]] Spanish translation\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/2c367c5476da70ce9c2b37838febcdf437b9aca4]] localisation for encryption prompt\n\n!! Usability Improvements\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/987bfcfd5b49b992e5fd45f3428497f6f55cae53]] user interface for [[setting a page background image|Setting a page background image]]\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/3df341621d30b205775288e324cef137c48e9f6e]] problem with unnecessary scrolling at startup\n* [[Upgraded|https://github.com/TiddlyWiki/TiddlyWiki5/commit/ae001a19e5b3e43cf5388fd4e8d99788085649fe]] the [[KaTeX Plugin]] to use [[KaTeX v0.2.0|https://github.com/Khan/KaTeX/releases/tag/v0.2.0]], with better symbol support\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/70e419824fab107aab58f87780dbb5a1de70c248]] [[Help Plugin]] providing floating help panel\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/8643278a452d1a300cec8d3425c1b18699a17dca]] support for an online plugin library\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/ea6e60e66983ee1184f09c5796ef6c8bceae703a]] automatic focusing of the search box at startup\n* [[Introduced|https://github.com/TiddlyWiki/TiddlyWiki5/commit/4f3cb8b9aebfc4f65f40c96ef99730887d746b41]] the [[Railroad Plugin]] by Astrid Elocson (see it in action in the new [[Filter Syntax]] documentation)\n* [[Migrated|https://github.com/TiddlyWiki/TiddlyWiki5/commit/230066eeae9ace8336612e02c78f8cdaa3f717e4]] functionality of \"Sticky Titles\" theme into an optional tweak for the \"Vanilla\"/\"Snow White\" themes. This means that tiddler titles will stick to the top of the window during scrolling on browsers that support `position: sticky` (such as Safari and Firefox)\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/8cb7090c40489c81e8c5dfb8cbbdee2c60998c3e]] icons to [[$:/AdvancedSearch]], [[$:/ControlPanel]] and [[$:/TagManager]]\n* [[Changed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/21b6ce71ffc617f61d4da0065a3ee695be535e2a]] wording of tiddler \"save\" button to \"confirm\"\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/issues/1103]] automatic linking of system tiddlers such as $:/ControlPanel\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/9c7936413a8c50817044eb409661a575f7f97563]] new tag dropdown to only list title matches\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/aae56f20af35e7be6f3839a8c727e3f43174efe9]] a warning banner notifying the user when modified plugins require the page to be reloaded\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/0bd2ec50e1514ef247182816f9f9e421f52f67bb]] first pass at \"stacked\" story view\n* [[Changed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/421ac16389cf07e8c00611ef5a858da0b89f7584]] modal headers and footers to be parsed in inline mode by default (avoiding unneeded `<p>` tags)\n\n!! Hackability Improvements\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/d340277cb219ffebd212fbf409e8ea804121d105]] [[resolvepath Macro]]\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/718ce3e4aa04f7af5e9310f90d3415c0d82bee6f]] ''class'' attribute to CheckboxWidget\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/bb10e2b02900ece4701c44c3a7e7c03304e813b7]] support for a special message to be displayed when the main story river is empty\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/6e0c7d90221771ae384d620984f08a2090c500dc]] font rendering under Mac OS X\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/a2493f80a973b24ad3d3affda945c437b98c2d2e]] support for embedding ZIP files\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/1808b1597e5a61379e4e5381d6d78bb73fa3a523]] support for custom elements with the RevealWidget\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/bd6472c1d10bc86eaf1b317c35b86f84086ee3c8]] ''style'' attribute to RevealWidget\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/0b4ed3c72de16148ffe62abf1c5c06f2d2ce47f1]] text inputs to use palette colours\n* Several new [[core icons|ImageGallery Example]]: <span style=\"fill:#aaa;\"><span title=\"$:/core/images/github\">{{$:/core/images/github}}</span> <span title=\"$:/core/images/help\">{{$:/core/images/help}}</span> <span title=\"$:/core/images/mail\">{{$:/core/images/mail}}</span> <span title=\"$:/core/images/tip\">{{$:/core/images/tip}}</span> <span title=\"$:/core/images/warning\">{{$:/core/images/warning}}</span> <span title=\"$:/core/images/twitter\">{{$:/core/images/twitter}}</span> <span title=\"$:/core/images/video\">{{$:/core/images/video}}</span> <span title=\"$:/core/images/up-arrow\">{{$:/core/images/up-arrow}}</span> <span title=\"$:/core/images/left-arrow\">{{$:/core/images/left-arrow}}</span></span>\n\n!! Bug Fixes\n\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/1520]] the [[sameday Operator]] and [[eachday Operator]] to accept TW5 date strings\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/pull/1249]] version number compatibility checks for plugins\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/1adfe20508116da0ee4b5c9e72ea9742f24b60c9]] problem with repeatedly cancelling a draft\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/050b643948e24d1d93a83766a23a0d693616d01e]] sandboxing of generated `<iframe>` elements\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b166632bbb76a7a033cd8fc3af14e5dadddfc631]] problem with modal backgrounds on Firefox\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/1b87d9134bd0b45be671eebfdcac1d7acadcecf4]] problem with accidentally dragging a tiddler within its originating window\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/c9ab873ba393753647f2b0b3b3aa1a8bcf6b1c28]] problem with dragging certain plugins with Safari\n* [[Partially fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/2f8837a44508687223c4d78e718cf82a9b35c97b]] problem with SVG icons being clipped by 1 pixel on the right and bottom\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/f3ed9bf7e4936dd9bbe3e237673828bbe89326f9]] problem with double quotes in a new field value\n\n!! Node.js Changes\n\n//These changes are only relevant to people using TiddlyWiki under Node.js//\n\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/cc85368fd48f1e5878018a4e00b6c17d436e67a9]] [[Highlight Plugin]] to work when generating static files under Node.js\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/c296f14210545374124df5d4ae9ffb402ed73561]] problem with case-insensitive filing systems (eg Windows)\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/1354]] mobile metadata to static page templates\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/1352]] added \"noclean\" parameter to RenderTiddlersCommand\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/b768dc332b2d5d7ac1f731953cafb5fd1b30dad9]] [[editions Operator]] and [[editiondescription Operator]] for enumerating available editions\n\n!! Contributors\n\n[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:\n\n* [[@aelocson|https://github.com/aelocson]]\n* [[@andreasabeck|https://github.com/andreasabeck]]\n* [[@alexhough|https://github.com/alexhough]]\n* [[@Arlen22|https://github.com/Arlen22]]\n* [[@BramChen|https://github.com/BramChen]]\n* [[@danielo515|https://github.com/danielo515]]\n* [[@dpdannemiller|https://github.com/dpdannemiller]]\n* [[@Drakor|https://github.com/Drakor]]\n* [[@evgeniy-gryaznov|https://github.com/evgeniy-gryaznov]]\n* [[@felixhayashi|https://github.com/felixhayashi]]\n* [[@gernert|https://github.com/gernert]]\n* [[@Infurnoape|https://github.com/Infurnoape]]\n* [[@Jc-L|https://github.com/Jc-L]]\n* [[@le-pako|https://github.com/le-pako]]\n* [[@Mathobal|https://github.com/Mathobal]]\n* [[@ng110|https://github.com/ng110]]\n* [[@pmario|https://github.com/pmario]]\n* [[@reflectionist|https://github.com/reflectionist]]\n* [[@roma0104|https://github.com/roma0104]]\n* [[@simonbaird|https://github.com/simonbaird]]\n* [[@Spangenhelm|https://github.com/Spangenhelm]]\n* [[@sukima|https://github.com/sukima]]\n* [[@tobibeer|https://github.com/tobibeer]]\n* [[@twMat|https://github.com/twMat]]\n* [[@welford|https://github.com/welford]]\n* [[@xcazin|https://github.com/xcazin]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/pre-5.4.0/Release 5.1.9.tid",
    "content": "caption: 5.1.9\ncreated: 20150703153725652\nmodified: 20150703153725652\ntags: ReleaseNotes\ntitle: Release 5.1.9\ntype: text/vnd.tiddlywiki\nreleased: 20150703153725652\ndescription: Fluid-fixed layout, vars widget, open in new window\n\n\\define custom-colour-picker(tiddler,colour)\n<$edit-text tiddler=\"\"\"$tiddler$\"\"\" index=\"\"\"$colour$\"\"\" type=\"color\" tag=\"input\"/>\n\\end\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.1.8...v5.1.9]]//\n\n! Major Improvements\n\n!! New \"Powered by ~TiddlyWiki\" plugin\n\nAn experimental plugin to add a simple \"Powered by ~TiddlyWiki\" banner to your site. It is included in this prerelease but will not be on the main tiddlywiki.com wiki.\n\n!! New \"Fluid story, fixed sidebar\" mode\n\nIt is now possible to arrange the main window so that the sidebar has a fixed width and the story river expands to fill the remaining space.\n\nTo switch it on, visit ''Theme Tweaks'' in the $:/ControlPanel ''Appearance'' tab and use the following options:\n\n* Sidebar layout:\n** ''Fixed story, fluid sidebar'' (default) - the story river has a fixed width and the sidebar fills the remaining space\n** ''Fluid story, fixed sidebar'' - the story river expands to fill horizontal space remaining after the fixed width sidebar\n* Sidebar width:\n** The width of the sidebar. Can be specified in pixels (eg ''350px''), a percentage (eg ''25%'') or other [[CSS unit|https://developer.mozilla.org/en/docs/Web/CSS/length]]\n\n!! Toolbar Button Style Setting\n\nA new setting in $:/ControlPanel ''Settings'' tab allows the toolbar button style to be chosen from the following options:\n\n* <$button set=\"$:/config/Toolbar/ButtonClass\" setTo=\"tc-btn-invisible\">borderless</$button> the existing style\n* <$button set=\"$:/config/Toolbar/ButtonClass\" setTo=\"tc-btn-boxed\">boxed</$button>, which adds a thin border box around the button\n* <$button set=\"$:/config/Toolbar/ButtonClass\" setTo=\"tc-btn-rounded\">rounded</$button>, which rounds the button corners and inverts the button colours\n\nPlugins can add new style options.\n\n!! New Tiddler Toolbar Button: \"Open in new window\"\n\nAn experimental new tiddler toolbar button opens a single tiddler in a separate pop-up browser window. The tiddler will be dynamically updated just as in the main window. There are several uses:\n\n* Arranging reference tiddlers for easy access while editing in the main window\n* Making good use of multi-screen layouts\n* Printing the content of a single tiddler\n* Running presentations in a separate window while maintaining notes in the main window\n\n!! Improvements for visually impaired users\n\n* Improved monochrome palette variants:\n** <$button>\n<$action-setfield $tiddler=\"$:/theme\" text=\"$:/themes/tiddlywiki/vanilla\"/>\n<$action-setfield $tiddler=\"$:/palette\" text=\"$:/palettes/ContrastDark\"/>\nDark palette\n</$button>. Foreground: <<custom-colour-picker \"$:/palettes/ContrastDark\" \"foreground\">>, Background: <<custom-colour-picker \"$:/palettes/ContrastDark\" \"background\">>\n** <$button>\n<$action-setfield $tiddler=\"$:/theme\" text=\"$:/themes/tiddlywiki/vanilla\"/>\n<$action-setfield $tiddler=\"$:/palette\" text=\"$:/palettes/ContrastLight\"/>\nLight palette\n</$button>. Foreground: <<custom-colour-picker \"$:/palettes/ContrastLight\" \"foreground\">>, Background: <<custom-colour-picker \"$:/palettes/ContrastLight\" \"background\">>\n** <$button>\n<$action-setfield $tiddler=\"$:/theme\" text=\"$:/themes/tiddlywiki/snowwhite\"/>\n<$action-setfield $tiddler=\"$:/palette\" text=\"$:/palettes/Vanilla\"/>\nRevert\n</$button>\n\n!! New \"Solar Flare\" palette\n\nThere's a new core palette \"Solar Flare\", contributed by Rustem Akbulatov (@nameanyone).\n\n<$button>\n<$action-setfield $tiddler=\"$:/theme\" text=\"$:/themes/tiddlywiki/snowwhite\"/>\n<$action-setfield $tiddler=\"$:/palette\" text=\"$:/palettes/SolarFlare\"/>\nTry it out\n</$button> <$button>\n<$action-setfield $tiddler=\"$:/theme\" text=\"$:/themes/tiddlywiki/snowwhite\"/>\n<$action-setfield $tiddler=\"$:/palette\" text=\"$:/palettes/Vanilla\"/>\nRevert\n</$button>\n\n!! Options for Story Control\n\nThere are new options for controlling the position in the story river of newly opened tiddlers. Visit the ''Settings'' tab of $:/ControlPanel and look for \"Tiddler Opening Behaviour\".\n\n!! New Hidden Settings\n\nTwo new [[hidden settings|Hidden Settings]] for advanced configuration:\n\n* [[Hidden Setting: Search AutoFocus]]\n* [[Hidden Setting: Typing Refresh Delay]]\n\n!! New Vars widget\n\n[[Added|https://github.com/TiddlyWiki/TiddlyWiki5/pull/1678]] VarsWidget for setting multiple variables in one operation:\n\n```\n<$vars greeting=\"Hi\" me={{!!title}} sentence=<<helloworld>>>\n  <<greeting>>! I am <<me>> and I say: <<sentence>>\n</$vars>\n```\n\n! Other Improvements\n\n!! Translation Improvements\n\n* Updates to the Dutch, Chinese, Italian and German translations\n* New Catalan (Spain) translation\n\n!! Usability Improvements\n\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/789069bb6b9ca1bd9da75e035b18728e83eb232c]] new page control icon for setting the palette: <$set name=\"tv-config-toolbar-class\" value=\"btn\">\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n{{$:/core/ui/Buttons/palette}}\n</$set>\n</$set>\n</$set>\n* Added new icons for <span style=\"fill:#aaa;\">\npalette <span title=\"$:/core/images/palette\">{{$:/core/images/palette}}</span>\nand \"open new window\" <span title=\"$:/core/images/open-window\">{{$:/core/images/open-window}}</span>\n</span>\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/648f670bcbba088780bc76f0c33cbe378d283bbd]] the theme icon to better match the new palette icon: <span style=\"fill:#aaa;\">\n<span title=\"$:/core/images/theme-button\">{{$:/core/images/theme-button}}</span>\n<span title=\"$:/core/images/plugin-generic-theme\">{{$:/core/images/plugin-generic-theme}}</span>\n</span>\n* [[Avoid|https://github.com/TiddlyWiki/TiddlyWiki5/commit/7b4153f87f8b4793fa055ec287a659ece3150d99]] glitch with autofocusing the search box in the plugin library\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/9f92c086c31a528a2ffb6bc9fed53d4cc016480f]] information about TiddlyDesktop to [[Releases]]\n* [[Stopped|https://github.com/TiddlyWiki/TiddlyWiki5/commit/4a3a5bf1f06c4efb8449c860e90c214f707954f6]] autosaving after cancelling an edit\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/062aa03c5acf6ac506169e9f3bac9cb0307667e4]] dropdown to edit template to allow existing field names to be selected\n\n!! Hackability Improvements\n\n* [[Updated|https://github.com/TiddlyWiki/TiddlyWiki5/commit/5f3587c38c2968ff63780552ef50b52d87ada3ca]] to ~KaTeX version 0.4.3, with the following editions since the previous 0.2.0 release that was distributed with TiddlyWiki 5.1.8:\n** Added support for some `\\begin`/`\\end` environments, including support for `array`, `matrix`, `pmatrix`, `bmatrix`, `vmatrix`, and `Vmatrix`\n** Added support for optional `\\sqrt` arguments, e.g. `\\sqrt[3]{x}`\n** Add support for `\\phantom`\n** Add `\\#`, `\\&`\n** See the [[KaTeX GitHub page|https://github.com/Khan/KaTeX/releases]] for full release details\n* [[Extended|https://github.com/TiddlyWiki/TiddlyWiki5/commit/9b4b9d4d8878b8646112de7b5a7b282f50a4d1cb]] ActionSendMessageWidget for more flexible passing of named parameters via new `$name` and `$value` attributes\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/6942efa6289c9f1d99ea9f63972aa314ac06a8b1]] styling for `<kbd>` elements such as <kbd>escape</kbd> and <kbd>enter</kbd>\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/637aaca2fc3563cc695ab5603fc0cde222a770da]] subtle new \"pin stripe\" pattern for page background - <$button>\n<$action-setfield $tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\" text=\"Pinstripe.gif\"/>\n<$action-setfield $tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment\" text=\"fixed\"/>\n<$action-setfield $tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize\" text=\"auto\"/>\nTry it out\n</$button>\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/139496209f92d229feadf5c2883edec9090c0a0a]] support for custom elements to the ButtonWidget\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/d8366cc45f25d16c9085e05ee18965e626e218ff]] CodeMirror plugin to automatically refresh when a tiddler type changes\n* [[Added|https://github.com/TiddlyWiki/TiddlyWiki5/commit/0d5033e2a00e34a7665c2cff58c0d15da224dd2b]] new setting in $:/ControlPanel to render tiddler titles as links, which can be convenient for drag and drop\n* [[Simplified|https://github.com/TiddlyWiki/TiddlyWiki5/commit/f42842f80104e8e892545c758ea0b997cacbdd31]] detecting the preview pane with the [[tv-tiddler-preview Variable]]\n* [[Improved|https://github.com/TiddlyWiki/TiddlyWiki5/commit/50c6ce8b73aef692920d7a03b1c9c46c35f972d6]] automatic linking of system tiddler titles by restricting them to letters and the characters `/.-`\n\n!! Bug Fixes\n\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/5a6249894d5e79ee4e472c72be8956ce59558797]] problem with special characters in field names\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/230f40c3bd71177eb7b1f7e8252a5164e99a12c5]] static banner layout on mobile devices\n* [[Fixed|https://github.com/TiddlyWiki/TiddlyWiki5/commit/df84e932833b3643ce600499ddd5fef497bec908]] popups within the scrollable widget by adding `position: relative;` to example scrollable widget styles\n\n!! Contributors\n\n[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:\n\n* [[@BramChen|https://github.com/BramChen]]\n* [[@buggyj|https://github.com/buggyj]]\n* [[@cehmke|https://github.com/cehmke]]\n* [[@danielo515|https://github.com/danielo515]]\n* [[@Drakor|https://github.com/Drakor]]\n* [[@ericshulman|https://github.com/ericshulman]]\n* [[@felixhayashi|https://github.com/felixhayashi]]\n* [[@gernert|https://github.com/gernert]]\n* [[@heroboy|https://github.com/heroboy]]\n* [[@idoine|https://github.com/idoine]]\n* [[@infurnoape|https://github.com/infurnoape]]\n* [[@inmysocks|https://github.com/inmysocks]]\n* [[@kixam|https://github.com/kixam]]\n* [[@lolole13|https://github.com/lolole13]]\n* [[@marcor|https://github.com/marcor]]\n* [[@Marxsal|https://github.com/Marxsal]]\n* [[@nameanyone|https://github.com/nameanyone]]\n* [[@pmario|https://github.com/pmario]]\n* [[@r1chard5mith|https://github.com/r1chard5mith]]\n* [[@roma0104|https://github.com/roma0104]]\n* [[@silvyn|https://github.com/silvyn]]\n* [[@slovuj|https://github.com/slovuj]]\n* [[@StevenMcD|https://github.com/StevenMcD]]\n* [[@sukima|https://github.com/sukima]]\n* [[@vouko|https://github.com/vouko]]\n* [[@welford|https://github.com/welford]]\n* [[@xcazin|https://github.com/xcazin]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/pre-5.4.0/Release 5.2.0.tid",
    "content": "caption: 5.2.0\ncreated: 20211003151502543\nmodified: 20211003151502543\nreleased: 20211003151502543\ntags: ReleaseNotes\ntitle: Release 5.2.0\ntype: text/vnd.tiddlywiki\ndescription: JSON store area, nestable macros, counter attribute for ListWidget, MessageCatcherWidget\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.1.23...v5.2.0]]//\n\n<<.banner-credits\n\tcredit:\"\"\"Congratulations to Frank. B for his winning design for the banner for this release (here are the [[other entries|https://groups.google.com/g/tiddlywiki/c/eccIEHZoxsI/m/_MWs3EooBAAJ]]).\n\"\"\"\n\turl:\"https://raw.githubusercontent.com/Jermolene/TiddlyWiki5/32b36fb2aff6bbe4f9281ee56d5bf6b8bbe5454b/editions/tw5.com/tiddlers/images/New%20Release%20Banner.png\"\n>>\n\n! Highlights\n\n!! Unrestricted Fieldnames and the New JSON Store Area\n\nThe major change in this release is that the format used to store tiddlers in TiddlyWiki's HTML file has changed from an HTML DIV-based format to a new JSON-based format. The consequences of this change are far-reaching. They are thus the primary rationale for bumping the version number from v5.1.x to v5.2.0:\n\nFirstly, the ''characters that can be used in field names are now unrestricted'' (just like tiddler titles), making it possible to use fieldnames like `My^Field` or `☃️`. This has become possible because every other part of TiddlyWiki was already capable of dealing with unrestricted field names apart from saving as an HTML file.\n\nSecondly, external tools that read, write or otherwise process TiddlyWiki HTML files will need modification to understand the new store area format.  The details are documented in the [[/dev wiki|https://tiddlywiki.com/dev/#Data%20Storage%20in%20Single%20File%20TiddlyWiki]].\n\nFor more details, see ticket [[#5708|https://github.com/TiddlyWiki/TiddlyWiki5/pull/5708]] on GitHub.\n\n!! Dragging and Dropping Images into the Editor\n\nIt is now possible to drag and drop an image file directly into the tiddler text editor. A popup allows the incoming image tiddler to be renamed, and then `[img[title]]` is automatically inserted into the tiddler text at the insertion point.\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5699\">> (and again [[here|https://github.com/TiddlyWiki/TiddlyWiki5/pull/5705]]) ability to drag and drop images directly in the editor\n\n!! Simplified Access to Tiddler Title with ActionCreateTiddlerWidget\n\nIt is now possible to embed actions within the body of the ActionCreateTiddlerWidget, and those actions can directly access the title of the newly created tidddler via the variable `createTiddler-title`, and the title of the corresponding draft in the variable `createTiddler-draftTitle`. The old `$savetitle` and `$savedrafttitle` attributes are now deprecated.\n\n```\n<$button>\n  <$action-createtiddler $basetitle=\"Homemade Button\" tags=\"$:/tags/PageControls\" text={{$:/state/new-button-caption}}>\n    <$action-navigate $to=<<createTiddler-title>>/>\n  </$action-createtiddler>\n  Create a new non-functional page control button and open the tiddler\n</$button>\n```\n\nFor more details:\n\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/9faaa312998d48c56bd50335820b6b881266af4b\">> [[ActionCreateTiddlerWidget]] to make the new title available as a variable\n\n!! More Flexible Parsing of Macros\n\nTwo long-standing limitations of TiddlyWiki's macro syntax have been resolved.\n\nFirst, it is now possible to nest macro calls within the parameters to other macros. For example:\n\n```\n<<mymacro arg:\"\"\"nested <<macro>> call\"\"\">>\n```\n\nSecond, macro parameters can now be used within filter expressions. For example:\n\n```\n[<qualify \"$:/state/mydata\">addsuffix[-]addsuffix<now \"YYYY MM DDD hh:mm:ss\">]\n```\n\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5451\">> macro calls to use the same parser as that used for widget attributes\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5836\">> support for macro parameters within filters (see [[Filter Parameter]])\n\n!! Optimised Refreshing of Transclusions\n\nThis simple-sounding change has several important consequences:\n\nThe first consequence is that it makes the TranscludeWidget much more efficient, and improves the performance of the refresh cycle.\n\nThe second consequence resolves a long-standing difficulty for many users: it is now possible to use an EditWidget to edit another field of the same tiddler. Previously, the edit widget would not work properly in such cases because it would be refreshed on every keypress, leading to the current editing caret/selection position being lost.\n\nAs sometimes happens, the third consequence is that constructions that relied on the old, buggy behaviour may no longer work as expected. A common example of such a construction is an invocation of a JavaScript macro. The problem stems from the fact that JavaScript macros are designed to be as simple as possible from the developers perspective, being pure functions that have no side effects, and that always return the same value for the same parameters. In particular, JavaScript macros cannot participate in TiddlyWiki's refresh mechansim, so they cannot force themselves to be updated when underlying data changes (for situations where such processing is needed, JavaScript widgets should be used instead of JavaScript macros).\n\nHowever, developers have sometimes worked around this limitation by using the TranscludeWidget to force refreshing of a macro invocation when a particular tiddler changes. The newer, more selective behaviour means that sometimes such widgets will avoid a refresh that was previously relied upon to update the JavaScript macro.\n\nFor end users, if an upgrade to v5.2.0 causes problems then consult the discussion [[Forums]] to see if other users have encountered the same problem, and make a new posting if needed.\n\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5736\">> the TranscludeWidget to avoid triggering a refresh unless the transcluded field changes (previously it was also triggered for changes to other fields)\n\n!! Other Notable Improvements\n\n<<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5611\">> (and [[here|https://github.com/TiddlyWiki/TiddlyWiki5/commit/4a99e0cc7d4a6b9e7071c0b2a9a0f63c3c7d2492]]) the [[ListWidget]] with an optional `counter` attribute specifying a variable to contain the numeric index of each list item. This is useful for creating a list of numbered items, and for detecting the first and last entries in a list\n\n<<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/3094e062366830bdecfb91e3d852667fa951dc50\">> action widget execution with an optional new mode that ensures that all widgets are refreshed before invocation -- see [[ActionWidget Execution Modes]]. This resolves a long-standing inconsistency in the way that ActionWidgets are executed, making them behave much more like a conventional programming language\n\n<<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5726\">> the HTML comment syntax to enable it to be used before and in between pragmas such as macro definitions. This makes it much easier to provide documentation within complex wikitext tiddlers\n\n<<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/a360adbba924d222c5b55709133c18890c04398d\">> size of dropzone when story river is empty. For a long time, TiddlyWiki confusingly wouldn't recognise a drag and drop operation if the story river was empty\n\n! Performance Improvements\n\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5380\">> (and again [[here|https://github.com/TiddlyWiki/TiddlyWiki5/pull/5488]]) the efficiency of the linked list implementation used in filter processing\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5362\">> the [[all Operator]] and [[here|https://github.com/TiddlyWiki/TiddlyWiki5/pull/5369\"]] the [[links Operator]], and [[here|https://github.com/TiddlyWiki/TiddlyWiki5/pull/6050]] the [[backlinks Operator]] to use the new linked list implementation\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5436\">> [[ETag|https://en.wikipedia.org/wiki/HTTP_ETag]]-based browser-side caching for all resources and GZip or Deflate compression for all responses to GET requests\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/70e60cd93fe26e9cde1e350e3236578fa5abfe48\">> plugin internal formatting to remove unneeded whitespace, saving about 6% on the size of the $:/core plugin\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6053\">> performance of [[sort Operator]] through optimising common cases\n\n! Usability Improvements\n\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5479\">> ability to import previously blocked system tiddlers\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5812\">> warning message when cancelling a pending import\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/f97850dd05693e84dd36b8af5d72b22fbfd74958\">> the default font weights in the \"Snow White\" theme to be thicker and more legible\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5816\">> modal mechanism to prevent page from scrolling while modals are displayed\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5326\">> fill colour for \"remove tag\" button\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5370\">> page title so that the separating em-dash is only used if the site subtitle is present\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5397\">> broken aria-label in $:/PaletteManager\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/caec6bc3fea9155eb2b0aae64d577c565dd7b088\">> SVG optimiser script\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/c325380231a8c592a6e51d4498c1e6c3a241b539\">> plus/minus SVG icons: <<.icon $:/core/images/plus-button>> and <<.icon $:/core/images/minus-button>>\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5672\">> link to the existing tiddler when the warning \"Target tiddler already exists\" is displayed in the edit template\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5727\">> class to make tag pills in the edit template look like those in the ViewTemplate\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/1661\">> overflow of long field values that do not contain whitespace\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/a4421f50c6886b02c3595b7ffa6ba72674d6bf21\">> GitHub, Gitea and GitLab savers to wikify the commit message, enabling macros to be used in the message\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5981\">> the [[text editor stamp toolbar button|Using Stamp]] dropdown to allow sorting by drag and drop\n\n! Widget Improvements\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/9eda02868f21e9dd1733ffe26352bd7ac96285b4\">> (and [[here|https://github.com/TiddlyWiki/TiddlyWiki5/commit/f87b3bfcdba79b6ad198af286bd827c61044891f]]) new MessageCatcherWidget to catch arbitrary messages and execute action strings\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/b9647b2c48152dac069a1099a0822b32375a66cf\">> [[FieldManglerWidget]] to ensure it doesn't propogate events that it traps\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5597\">> [[DropzoneWidget]] to optionally invoke actions after the `tm-import-tiddlers` message has been sent, and to specify an optional `contentTypesFilter` which determines which content types are accepted by the dropzone.\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/07caa16e8714afe9a64eb202375e4a2f95da1508\">> [[DropzoneWidget]] to also use the specified deserializer for strings either dropped or pasted on to the dropzone\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5635\">> [[SelectWidget]] refreshing\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5644\">> [[ActionListopsWidget]] bug by avoiding concatenating fragments of filter expressions\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/3f986861538a3cc5c3c6da578b45d0d9138a6b2b\">> [[ActionPopupWidget]] to create floating popups that must be manually cleared\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5648\">> (and [[here|https://github.com/TiddlyWiki/TiddlyWiki5/pull/5782]]) [[KeyboardWidget]] to provide additional information variables\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/e9e5d37ff01cc1aaa3419798904dac8b0e9775af\">> DraggableWidget with option to hide the drag image\n\n! Filter improvements\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5813\">> new [[:map filter run prefix|Map Filter Run Prefix]]\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5653\">> new [[:sort filter run prefix|Sort Filter Run Prefix]]\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5612\">> [[average Operator]], [[median Operator]], [[variance Operator]] and [[standard-deviation Operator]] for calculating averages of a list of numbers\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5673\">> [[deserializers filter Operator|deserializers Operator]] for obtaining a list of the available deserializers\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5665\">> [[format:titlelist operator|format Operator]] for selectively adding double square brackets around titles\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/83ee363cb4c19246ac977f55e46439dd8a1508ba\">> [[charcode Operator]] for easily accessing special characters like tab and linefeed\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5252\">> support for suffixes to filter run prefixes\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5968\">> [[search-replace Operator]] with ''m'' flag for multiline mode\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/e6fd0caf6b997c24c116def354b2a65d8909279e\">> [[range Operator]] to allow parameters to be specified as separate operands\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6055\">> [[moduleproperty Operator]] and extended [[modules Operator]] to provide access to internal JavaScript modules\n\n! Hackability Improvements\n\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5361\">> [[unusedtitle Macro]] to add ''separator'' and ''template'' parameters\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5720\">> ''color-scheme'' field to all themes to differentiate between light and dark themes\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/d25e540dd2f0decf61c52fdc665a28a5dfeda93f\">> support for `image/vnd.microsoft.icon` content type\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5458\">> support for throttling refreshes for changed tiddlers with the title prefix $:/temp/volatile/\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/89546b3357b0696a7047e6915bd6cd137b589de6\">> a hidden setting to control sandboxing of tiddlers of type `text/html`\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5707\">> text operation [[insert-text|WidgetMessage: tm-edit-text-operation]]\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/e157d16b724172f752da0ff714847e0c0ca9664d\">> ''data-tag-title'' attribute to tag pills\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5294\">> support for [[dynamic toolbar buttons|How to create dynamic editor toolbar buttons]]\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5694\">> new [[SystemTag: $:/tags/ControlPanel/Plugins]] for customising the tabs shown under the \"Plugins\" tab of control panel\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/59a53e695b28144f8f788469dad7865499d95d79\">> support for DateFormat tokens for weekday number and day of year\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/ebf563ac70b2053fcaed8c544ae83e839878e3bd\">> further transliteration pairs for the [[slugify Operator]]\n\n! Client-server Improvements\n\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/e96a54c7531a2d9e07745e27d2015d8d7d09588f\">> crash running in client server configuration when 'ETag' header is missing\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5423\">> blank favicon when using lazily loaded images\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/4461\">> web server issue with custom path prefix and basic authentication\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5416\">> crash on Node.js with ActionSetFieldWidget when type field is given a value upon new tiddler creation\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5329\">> issue with saving tiddler files with titles that already end in the required extension\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5465\">> several consistency issues with the filesystem plugin\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/5483\">> issue with encoding of $:/config/OriginalTiddlerPaths outside the wiki folder\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5628\">> the TiddlySpot Saver settings form\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5638\">> 401 and 403 error messages for PUT saver\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5570\">> the [[external JavaScript template|Using the external JavaScript template]] to be easier to use and work more smoothly when offline\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5931\">> incorrect usage of X-Requested-With header for simple HTTP requests\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/a67b1b8bb5dcff5e6e3151844d96bf882ae4a976\">> security issue allowing [[access to files|Using the integrated static file server]] outside the `./files/` folder\n\n! Node.js Improvements\n\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/a38dc1730010c6a2b6a011aff4818bbc67c04055\">> RenderCommand to allow multiple variables to be passed\n\n! Plugin Improvements\n\n!! [[Markdown Plugin]]\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5846\">> support for using the [[KaTeX Plugin]] in Markdown\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5848\">> extraneous paragraph tags in lists\n\n!! [[XLSX Utilities Plugin|XLSX Utilities Edition]]\n\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/5400\">> crash with the XLSX Utils plugin\n\n!! [[KaTeX Plugin]]\n\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/a2ca5e4d1ef67374628d2d78afa1550443900ec0\">> to KaTeX v0.13.18\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5933\">> custom macro editor\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6046\">> automatic numbering reset for each displayed tiddler\n\n!! [[Freelinks Plugin]]\n\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/0ed32fded996826a59832d7a7555bb16c4a57864\">> the Freelinks plugin with a filter to determine which tiddlers can be the targets of freelinks\n\n!! [[Menubar Plugin]]\n\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/discussions/5533\">> Menu plugin to support optional ''dropdown-position'' field\n\n!! [[BibTeX Plugin]]\n\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/5581\">> BibTeX Plugin to report errors more sensibly\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/953fb9f237ad78e409c03d4b29b9854d8abf6cdf\">> BibTex Plugin to force fieldnames to be lowercase\n\n! Developer Experience Improvements\n\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5382\">> the widget subclassing mechanism to work with widgets that add event listeners in their constructor\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5377\">> the Jasmine test suite output\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/9f9ce6595b08032a602981f82940ca113cff8211\">> wikitext parser with a subclassing mechanism\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/ef76349c37662e9706acfffc2c2edb51a920183d\">> added support for ''utils-browser'' modules\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5464\">> ''th-before-importing'' hook to allow plugins to inspect or modify the `importTiddler` object before any tiddlers are imported\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/3797\">> ''th-closing-tiddler'' hook when tiddlers are closed\n\n! Translation improvements\n\n* <<.link-badge-added>> Polish translation\n* <<.link-badge-improved>> Catalan translation\n* <<.link-badge-improved>> Chinese translations\n* <<.link-badge-improved>> French translation\n* <<.link-badge-improved>> German translations\n* <<.link-badge-improved>> Spanish translation\n\n! Other Bug Fixes\n\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5999\">> crash with malformed input to `decodeURIComponent()`\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5376\">> issue with [[lookup Operator]] returning \"undefined\" under some circumstances\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/5396\">> crash with unterminated wikitext comments\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5453\">> tiddler info area content bleeding on close animation\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5452\">> inline/block widget parsing glitch\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5401\">> runaway regexp when parsing filters\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5440\">> right margin of tag pill when used outside of the tags wrapper\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5455\">> upload saver to optionally work without a username or password\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/5e4430dbf9ff66d9a18fbdf3005abcd716efc07d\">> RadioWidget to refresh selectively, and to use the ''checked'' attribute correctly\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5542\">> \"invert\" option of `wiki.search()` method\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/7b1a0c6e6a8bd2d3badf8766af0cd3f5f7ac5ec8\">> ES5 compatibility issue\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/226df2ad7d2978d3d7400d94767a0503e495cf98\">> exporting of tiddlers that begin and end with double quotes\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/d56e8764a1f02a214df5da1cc95191be2da2491b\">> accessibility of button widget when controlling a popup\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/d6ea369f5ef9d3092a360a4286a99902df37782b\">> EditTextWidget to use default text for missing fields\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5552\">> css-escape-polyfill to work under Node.js\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/dbd3f835bf8399ed1a3da7cc322ec9b6ab783d53\">> (and [[here|https://github.com/TiddlyWiki/TiddlyWiki5/commit/fb4d77ef46e23c23f4e46c13f4a529aa29a27dcd]]) crash when sorting by non-string fields\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5711\">> (and [[here|https://github.com/TiddlyWiki/TiddlyWiki5/pull/5868]]) some bugs in the [[EventCatcherWidget]], introduced new `stopPropagation` attribute and new syntax for specifying actions\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5691\">> CurrentTiddler variable consistency in subfilters and prefixes\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/485779f5b2136b7bcd739352b56188d94b0eb9e4\">> crash when accessing variables in filters that don't have a widget context\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/8fbf52e419e71d726ea32b6c44e3ccfc4245d825\">> unnecessary triggering of reload warning when JavaScript tiddlers are not subsequently imported\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5521\">> minor issue with import pragma \n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5700\">> leading and trailing whitespace in themes\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5469\">> configuration list of HTML5 block elements\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5692\">> shape and color for disabled button to work with `tc-btn-invisible` class\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5473\">> inconsistent spacing of view toolbar items\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/2720072b23593c87e7909d12c75c5b136e1bdf99\">> crash when assigning new value to file input controls\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6003\">> [[text editor stamp button|Using Stamp]] to work with prefixes and suffixes in shadow tiddlers\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/62b8a83741e6eccfaead5ea7960c0400b6db5f4a\">> Internet Explorer crash when pasting text using an HTA\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6036\">> bug with `[all[shadows]]` sometimes returning overridden shadow tiddlers\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6044\">> refresh bug with radio widget where the tc-radio-selected class is not correctly updated\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/f6eadbd1c900b5f779ebbf3c539192cd3c2b98cc\">> crash with reading invalid JSON files\n\n! Acknowledgements\n\n[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:\n\n<<.contributors \"\"\"\n8d1h\nArlen22\nBlueGreenMagick\nBramChen\nBurningTreeC\ncdruan\nclutterstack\nCodaCodr\ndixonge\ndonmor\nfelixhayashi\nFlashSystems\nflibbles\nFND\nhoelzro\njeremyredhead\njoebordes\njoshuafontany\nkookma\nlaomaiweng\nleehawk787\nMarxsal\nmorosanuae\nneumark\nNicolasPetton\nOdinJorna\npmario\nrryan\nsaqimtiaz\nsimonbaird\nslaymaker1907\nsobjornstad\ntwMat\nxcazin\n\"\"\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/pre-5.4.0/Release 5.2.1.tid",
    "content": "caption: 5.2.1\ncreated: 20211208115833846\nmodified: 20211208115833846\nreleased: 20211208115833846\ntags: ReleaseNotes\ntitle: Release 5.2.1\ntype: text/vnd.tiddlywiki\ndescription: Filter cascades, LetWidget, trigonometric operators\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.2.0...v5.2.1]]//\n\n<<.banner-credits\n\tcredit:\"\"\"Congratulations to [[Mohammad Rahmani|https://github.com/kookma]] and [[Elise Springer|https://www.wesleyan.edu/academics/faculty/espringer/profile.html]] for their winning design for the banner for this release (here are the [[other entries|https://groups.google.com/g/tiddlywiki/c/GU0TPGNMPvw/m/y1SyQk_nAQAJ]]).\n\"\"\"\n\turl:\"https://raw.githubusercontent.com/Jermolene/TiddlyWiki5/cb43b91ab6b14c2a16af917cfab0e5b2371502c6/editions/tw5.com/tiddlers/images/New%20Release%20Banner.png\"\n>>\n\n! Highlights\n\n!! <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6168\">> New Filter Cascade Mechanism\n\nThe [[cascade mechanism|Cascades]] provides a flexible way to choose between multiple options. Crucially, it is done in a way that makes it simple for plugins to tweak the logic or add their own options.\n\nSome of the things that can be done with cascades are:\n\n* Replacing the default tiddler body template with a custom one for a certain type of tiddler\n* Giving all journal tiddlers a custom icon\n* Implementing a custom editor for certain types of tiddler\n\nThere are two parts to these changes. The underpinning is a new [[Cascade Filter Run Prefix]] that takes a list of filters and runs them in order, returning the result of the first one to return a value.\n\nThe second part is a series of improvements based on this new filter cascade mechanism. Conditional logic that was previously hidden within core templates can now be extended and tweaked much more easily than before.\n\nChoosing the following elements of the core user interface is now handled with cascades:\n\n* [[Story Tiddler Templates|Story Tiddler Template Cascade]]\n* [[Tiddler Colour|Tiddler Colour Cascade]]\n* [[Tiddler Icons|Tiddler Icon Cascade]]\n* [[View Template Body|View Template Body Cascade]]\n* [[View Template Title|View Template Title Cascade]]\n* [[Edit Template Body|Edit Template Body Cascade]]\n\nThe cascades can be inspected in $:/ControlPanel under ''Info'' -> ''Advanced'' -> ''Cascades''.\n\nSee [[Cascades]] for more information.\n\n!! <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6148\">> New LetWidget\n\nThe LetWidget is an improved alternative to the existing VarsWidget. It is recommended to use the new LetWidget instead of the VarsWidget in all circumstances.\n\nThe chief advantage is that the LetWidget performs the variable assignments in the same order as they are written, and permits references to earlier assignments. For example, here we swap the values of two variables:\n\n```\n<$let temp=<<foo>> foo=<<bar>> bar=<<temp>>>\n...\n</$let>\n```\n\n! Bug Fixes\n\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6261\">> fixed issue with drag and drop in Chrome 96\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6278\">> fixed issue with drag and drop and the [[CodeMirror Plugin]] in Chrome 96\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6013\">> refreshing of LinkWidget attributes\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6107\">> crash when using \"source=basename-uri-decoded\" in tiddlywiki.files\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/8ae4428332e03a1fdaee26f777a0c3a372fff401\">> ''$timestamp'' attribute ignored when using ActionSetFieldWidget to set the value of an index\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/2af632a46d74e223f99a67c6aaa5bc6931e9466e\">> crash during static rendering of [[CodeMirror Plugin]]\n\n! Usability Improvements\n\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6015\">> image picker in theme tweaks to not dismiss when an image is selected\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5998\">> a [[new hidden setting|Hidden Setting: Show Edit Preview per Tiddler]] for controlling the visibility of the editor preview pane on a per-tiddler basis\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/b0f72d069086dee8506758c643f953f9ec55f403\">> sidebar plugin listing to show icon and more details\n\n! Widget Improvements\n\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/9caba544eb04f56ed772340a2d8767974b2617c9\">> refreshing of the CodeBlockWidget\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6145\">> EditTextWidget to provide a new ''actionValue'' variable to action strings that contains the value of the input\n\n! Filter improvements\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6127\">> new trigonometric operators: [[acos|acos Operator]], [[asin|asin Operator]], [[atan|atan Operator]], [[cos|cos Operator]], [[sin|sin Operator]] and [[tan|tan Operator]]\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6150\">> new [[zth Operator]] that works like [[nth Operator]] but counts from zero instead of one\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6149\">> [[Map Filter Run Prefix]] to provide additional variables to the filter\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6164\">> macro parameters in filter run prefixes\n\n! Hackability Improvements\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6130\">> new ActionSetMultipleFieldsWidget, new SetMultipleVariablesWidget and extended ActionSendMessageWidget for working with multiple variables/fields/indexes/parameters in one operation\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6012/files\">> new `focus-editor` operation to [[WidgetMessage: tm-edit-text-operation]]\n\n! Developer Improvements\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6132\">> support for widgets to access the order in which attributes are defined\n\n! Node.js Improvements\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5275\">> support for recursively loading subdirectories with [[tiddlywiki.files Files]]\n\n! Translation improvements\n\n* Polish\n* Chinese\n\n! Acknowledgements\n\n[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:\n\n<<.contributors \"\"\"\nbmann\nbtheado\nBramChen\nBurningTreeC\neiro10\nEvidentlyCube\nflibbles\njoshuafontany\nMarxsal\npmario\nsaqimtiaz\nTelumire\ntw-FRed\ntwMat\n\"\"\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/pre-5.4.0/Release 5.2.2.tid",
    "content": "caption: 5.2.2\ncreated: 20220325130817150\nmodified: 20220325130817150\nreleased: 20220325130817150\ntags: ReleaseNotes\ntitle: Release 5.2.2\ntype: text/vnd.tiddlywiki\ndescription: Minor bug fix release\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.2.1...v5.2.2]]//\n\n<<.banner-credits\n\tcredit:\"\"\"Congratulations to [[Elise Springer|https://www.wesleyan.edu/academics/faculty/espringer/profile.html]] for her winning design for the banner for this release (here is the [[competition thread|https://groups.google.com/d/msgid/tiddlywiki/ad868177-3432-4f8c-bec5-5f6639d1aeddn%40googlegroups.com]]).\n\"\"\"\n\turl:\"https://raw.githubusercontent.com/Jermolene/TiddlyWiki5/e26a4d8cb54fa60b8a47e3cef2c3a962535ca619/editions/tw5.com/tiddlers/images/New%20Release%20Banner.png\"\n>>\n\n! Highlights\n\n!! <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6427\">> [[Highlight Plugin]] to use highlight.js v11.4.0\n\nThis is a major upgrade to the latest version of highlight.js. The new version has many improvements, including better support for Fortran.\n\n<<.warning \"\"\"The new version of the [[Highlight Plugin]] requires a modern browser that fully supports JavaScript ES6 (released in 2015). The older version is still available as the ''highlight-legacy'' plugin for users who need to use an older browser.\"\"\">>\n\n!! <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6498\">> support for secondary windows\n\nThe [[WidgetMessage: tm-open-window]] now supports an optional `windowID` parameter so that opened windows can be closed with the new [[WidgetMessage: tm-close-window]] message. There is also a new [[WidgetMessage: tm-close-all-windows]] message which closes all secondary windows.\n\n!! <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6421\">> support for line breaks within filtered transcluded attributes\n\nTo improve readability, it is now possible to use newlines as whitespace within filtered transcluded attributes of HTML elements and widgets. For example:\n\n```\n<span class={{{\n\t[<currentTiddler>addsuffix[-primaryList]]\n\t:except[<searchListState>get[text]]\n\t:and[then[]else[tc-list-item-selected]]\n}}}>\n```\n\n!! <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6383\">> inconsistent ordering of tagged tiddlers\n\nThis was a long standing bug that manifested itself in several ways.\n\nThe root cause was that the order in which tiddlers were enumerated depended upon the order in which they had been added to the store.\n\nThe effect was that lists based on enumerating tiddlers would show different results depending upon whether new tiddlers were added since the wiki was reloaded.\n\nFor example, adding a new tiddler with a given tag previously caused the new tiddler to appear at the bottom of the tag pill listing for that tag. Saving and reloading the wiki would reorder the list to put the new tiddler in the correct position.\n\nThe fix ensures that the enumeration order remains consistent.\n\n!! <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6553\">> some incorrectly nested `<span>` and `<div>` elements\n\nTiddlyWiki's core page layout has historically included several instances of inline `<span>` elements containing block `<div>` elements, something that is technically invalid HTML. In practice, browsers have always handled these cases leniently to make the page work but it has also been unhelpful for developers to encountering invalid HTML constructions in their first interactions with TiddlyWiki.\n\nThe immediate prompt for starting to fix these issue now is that Chrome v100 [[includes a change|https://chromium.googlesource.com/chromium/src/+/4a76c96d2a4021257e691058c1fe1fb60d9d8327]] that causes some of these misnested elements to be rendered correctly visually but to be unclickable in some situations. (The change is [[reverted|https://chromium.googlesource.com/chromium/src/+/abadd1181ca70cf3d1ac7e7878d46b1d3173a2e0]] in Chrome v102, but it still makes sense to fix it)\n\n! Plugin Improvements\n\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6428\">> issue with ~LaTeX content within Markdown tiddlers\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/6457\">> incorrect handling of dropdown classes in the menu bar plugin\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6520\">> the Dynannotate plugin to use the new [[View Template Body Cascade]] to avoid modifying the default view template.\n\n! Translation improvements\n\n* Polish\n* Chinese\n* French\n\n! Usability Improvements\n\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6435\">> wording of drag and drop banner (from \"drop here\" to \"drop now\")\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/853a899c77766e47eade1dfa5822640ef9915637\">> wrapping and wikification of field names in field viewer\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/0186c6490fbd1d8fd4de7c3fa99ccf4d129fbd80\">> missing whitespace between description and MIME type in edit template dropdown for the ''type'' field\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/c7e8c87f85b54f60302ff8e396a7569d996e3f67\">> incorrect usage of code view for certain system tiddlers\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6501\">> sidebar plugin listing to be sorted by name rather than description\n\n! Widget Improvements\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/66ae1d6930796a9eb062fdb64a755adab8f39294\">> classes to the ImageWidget to indicate whether it is loading, loaded or has encountered an error\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/6389\">> RadioWidget not using default value if the field or index is missing\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/6426\">> issue with ImportVariablesWidget when importing block mode widgets\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6480\">> DraggableWidget to support an optional drag handle\n\n! Filter improvements\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6468\">> support for case insensitive matching for the [[prefix Operator]] and [[suffix Operator]]\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/1a0c831216c397c6fef8e5685e47857193411a1b\">> [[sha256 Operator]]\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6438\">> crash when using deprecated regexp operands for filter operators\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5742\">> [[lookup Operator]] to support indexes as well as fields\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6293\">> [[search Operator]] with new 'some' flag\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6478\">> [[untagged Operator]] to consider non-existent tiddlers to be untagged\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6477\">> [[insertbefore Operator]] to accept the position title as a parameter, instead of as a variable name in the suffix\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6483\">> [[butlast Operator]] to be consistent with the [[rest Operator]]\n\n! Hackability Improvements\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6511\">> [[Field Editor Cascade]] for customising how fields are displayed in the edit template\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6388\">> support for directly specifying style properties on [[HTML elements|HTML in WikiText]] (for example, `<div style.color={{!!color}}>`)\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/54cfda76ee353190f1cf0210b9071894fb1a5690\">> support for ''code-body'' field set to ''yes'' to trigger display of a tiddler in the code view\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6410\">> support to [[WidgetMessage: tm-scroll]] for scrolling without animating\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/1d16206188ebd5ca7481a7f565bf5fc4c08239fd\">> support for [[WidgetMessage: tm-relink-tiddler]]\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6470\">> [[WidgetMessage: tm-open-window]] to support 'top' and 'left' parameters\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6523\">> new ''matchSelector'' attribute to the EventCatcherWidget\n\n! Developer Improvements\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6409\">> support for ''renderEnd()'' method for storyviews\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6381\">> sourceURL tags to $:/boot/boot.js and $:/boot/bootprefix.js, enabling them to be accessed in the browser debugger more easily\n\n! Node.js Improvements\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5899\">> several new web server options: [[admin|WebServer Parameter: admin]], [[required-plugins|WebServer Parameter: required-plugins]] and [[tls-passphrase|WebServer Parameter: tls-passphrase]]\n\n! Performance Improvements\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6327\">> support for caching the [[listed Operator]]\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6537\">> stylesheet handling to avoid unnecessary refreshes\n\n! Bug Fixes\n\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/60187dc59e6546d9ca8e6a35418f782a9627cda0\">> importing/upgrading encrypted single file wikis\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/6376\">> [[WidgetMessage: tm-edit-text-operation]] crash with ''wrap-lines'' operation if prefix or suffix is missing\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/6395\">> processing of $:/tags/RawMarkupWikified/TopHead tiddlers\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/6398\">> issue whereby renaming tags could result in duplicate tags\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/6440\">> search results obscured on narrow screens\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6540\">> ActionListopsWidget bug with input list items starting with `-`, `+`, `~`, `:` or other character with a special meaning in filters\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/28a91aafa74da04842dbff4b8d0eb7a8dad5dbaa\">> (and [[here|https://github.com/TiddlyWiki/TiddlyWiki5/pull/6531]]) refreshing of the ButtonWidget when the `default` attribute changes\n\n! Acknowledgements\n\n[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:\n\n<<.contributors \"\"\"\nbenwebber\nBramChen\nbtheado\nCodaCodr\ncdruan\ndamscal\ndavout1806\nEvidentlyCube\nFlashSystems\nflibbles\nFSpark\nibnishak\njc-ose\njoshuafontany\nlinonetwo\nMarxsal\nnilslindemann\noflg\npmario\nrryan\nsaqimtiaz\nslaymaker1907\ntw-FRed\ntwMat\n\"\"\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/pre-5.4.0/Release 5.2.3.tid",
    "content": "caption: 5.2.3\ncreated: 20220802122551819\nmodified: 20220802122551819\nreleased: 20220802122551819\ntags: ReleaseNotes\ntitle: Release 5.2.3\ntype: text/vnd.tiddlywiki\ndescription: Minor fixes and improvements\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.2.2...v5.2.3]]//\n\n<<.banner-credits\n\tcredit:\"\"\"Congratulations to [[feedthegood|https://talk.tiddlywiki.org/u/feedthegood]] for their winning design for the banner for this release (here is the [[competition thread|https://talk.tiddlywiki.org/t/new-release-banner-competition-for-v5-2-3]] and the [[voting thread|https://talk.tiddlywiki.org/t/banner-competition-voting-for-v5-2-3]]).\n\"\"\"\n\turl:\"https://raw.githubusercontent.com/Jermolene/TiddlyWiki5/5d9b71771aaf00ee141028d3bb0e7908c4656a30/editions/tw5.com/tiddlers/images/New%20Release%20Banner.png\"\n>>\n\n! Plugin Improvements\n\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/2f817e42935a3ab15cad697a7b8200dd8152eb9f\">> (and <<.link-badge-here \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/bbae2ab6da6c6cd1facab37fb7b9fd42e1d73169\">>) [[KaTeX Plugin]] to ~KaTeX v0.16\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6625\">> [[BrowserStorage Plugin]] to be able to delete existing tiddlers as well as modify or add tiddlers\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6691\">> (and <<.link-badge-here \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6691\">>) [[Markdown Plugin]] to add the ''link'' and ''linkify'' editor toolbar buttons\n** The linkify button just inserts `[]()`. If any text is selected, it will be inside the square brackets: `[text]()`\n** The link button opens a popup menu in which you can either paste a URL or search for an existing tiddler\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6689\">> [[Markdown Plugin]] to add the ''codeblock'' editor toolbar button\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6696\">> [[Markdown Plugin]] to add <kbd>ctrl-M</kbd> (Mac) or <kbd>alt-M</kbd> (other platforms) to create a new Markdown tiddler\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6675\">> Browser Sniff Plugin to expose [[$:/info/browser/is/mobile]]\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/6701\">> [[BrowserStorage Plugin]] crashing if local storage not available\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/df7416d16bf8fe39d7a2a8a4a917248d45506ba1\">> (and <<.link-badge-here \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/0391e1855cd5c770928a3b4252aef54ed0a51385\">>) Dynannotate Plugin selection tracker, making it easier to add a popup menu to text selections\n\n! Translation improvements\n\n* Chinese\n* French\n* German\n* Japanese\n* Polish\n\n! Accessibility Improvements\n\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6742\">> [[ARIA|https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA]] support for the sidebar and story river\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6743\">> [[ARIA|https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA]] support for notifications so that screen readers will automatically read them\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6749\">> [[ARIA|https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA]] support for the edit template\n\n! Usability Improvements\n\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/5916\">> ActionSetFieldWidget to avoid inadvertent changes to the current tiddler\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6589\">> \"put\" and \"upload\" savers (as used by [[TiddlyHost|Saving on TiddlyHost]] to display error responses from the server\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6655\">> (and <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6661\">>) various palettes to work with ''color-scheme: dark''\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6698\">> the monospaced blocks and block quotes editor buttons so that they can be undone by clicking the button again\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6740\">> field and tag editors to trim whitespace\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6778\">> formatting of stylesheet tiddlers to use syntax highlighting if the [[Highlight Plugin]] is installed\n\n! Widget Improvements\n\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/6593\">> CheckboxWidget to support the indeterminate state\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6561\">> CheckboxWidget to support the ''listField'' and ''filter'' attributes\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6581\">> DraggableWidget to support an ''enabled'' attribute\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6582\">> DraggableWidget to pass additional context variables to the ''dragstartactions'' action string\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6787\">> refreshing of DraggableWidget\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6786\">> brittle selector implementation for the DraggableWidget\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6809\">> the ImageWidget to support [[lazy loading of images|https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/loading]]\n\n! Filter improvements\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6771\">> new [[insertafter Operator]] to match the existing [[insertbefore Operator]]\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/35b0833e0cafc477e402309c006a163eb59a94ca\">> handling of `{!!title}` in a filter with no currentTiddler variable set\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6806\">> new \"flat\" option to the [[Map Filter Run Prefix]] enabling multiple items to be returned from each invocation of the filter run\n\n! Hackability Improvements\n\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6779\">> tiddler subtitle rendering to allow individual elements to be controlled via the [[SystemTag: $:/tags/ViewTemplate/Subtitle]]\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/f3bf5b6e850691b6bff430b0575387a09f6aaf97\">> support for [[SystemTag: $:/tags/Macro/View/Body]]\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6624\">> [[colour Macro]] to allow for palette-specific fallback colours to be specified\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6578\">> whitespace and indentation of [[tabs Macro]] to improve readability\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6659\">> ''color-scheme'' CSS property to the root of the Vanilla base theme\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6681\">> EventCatcherWidget to support `tv-widgetnode-width` and `tv-widgetnode-height`\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6776\">> [[list-links-draggable Macro]] to support an message to be displayed if the list is empty\n\n! Bug Fixes\n\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6789\">> issue with drag and drop running on mobile Chrome browsers\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6628\">> problem when switching fields in the editor causing their values to be cleared\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/6656\">> incorrect ''color-scheme'' metatag for iframe content with the framed editor\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/6649\">> crash when using the SaveCommand to attempt to save missing fields\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/6614\">> bug with formatting UTC date strings\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/6603\">> SaveCommand crash when attempting to save missing tiddlers\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6599\">> fix broken [[style block behaviour|Styles and Classes in WikiText]]\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/6594\">> incorrect display of image system tiddlers as text\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/1c16f12d6f5b81d86f79c3e687eec05b3a8d45bf\">> erroneous link rendering within captions in [[list-links Macro]]\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/758d590837c30ddde9cc7b8171273756680f1545\">> erroneous link rendering within captions in [[list-links-draggable Macro]]\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6644\">> bug with JavaScript modules and lazy loading\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6679\">> fixed tiddler title indentation discrepancy\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6697\">> problem with numbered list editor button not undoing markers in Markdown tiddlers\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/6700\">> palette manager showing duplicate entries\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/7e4722f07a81fadc419738d2c2a55a090a830f8c\">> crash with missing palette tiddlers\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/d5030eb87b7a21c5b76978aeed819eedc4740245\">> (and <<.link-badge-here \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/a29889a7412fcba45d7779e8a8ee9ca91b499946\">>) search inputs not to trigger Chrome's password autocomplete popup\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6755\">> embedded SVG [[foreignObject|https://developer.mozilla.org/en-US/docs/Web/SVG/Element/foreignObject]] namespace\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/6757\">> anchor links not working when address bar is updated with a permalink, and animation duration is set to zero\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/6767\">> positioning of server page control dropdown\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/6832\">> \"save changes\" button in the menu bar not turning red when the wiki is dirty\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6825\">> hardcoded spaces in [[Table-of-Contents Macros]]\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/6840\">> state handling in [[tabs Macro]]\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/34b1b8128f4832e111a5d71af36d5ca2e2a1e0d4\">> fixed formatting of IPv6 URLs by ListenCommand and ServerCommand\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/667da96c970283cbf0fc2b3672fba3812886be65\">> crash when closing multiple plugin libraries\n\n! Developer Improvements\n\n* A number of core tiddlers have been refactored to use `\\whitespace trim` for improved readability. The work was split into a number of PRs: [[#6257|https://github.com/TiddlyWiki/TiddlyWiki5/pull/6257]], [[#6265|https://github.com/TiddlyWiki/TiddlyWiki5/pull/6265]], [[#6269|https://github.com/TiddlyWiki/TiddlyWiki5/pull/6269]], [[#6270|https://github.com/TiddlyWiki/TiddlyWiki5/pull/6270]], [[#6272|https://github.com/TiddlyWiki/TiddlyWiki5/pull/6272]], [[#6275|https://github.com/TiddlyWiki/TiddlyWiki5/pull/6275]], [[#6276|https://github.com/TiddlyWiki/TiddlyWiki5/pull/6276]], [[#6587|https://github.com/TiddlyWiki/TiddlyWiki5/pull/6587]], [[#6600|https://github.com/TiddlyWiki/TiddlyWiki5/pull/6600]], [[#6604|https://github.com/TiddlyWiki/TiddlyWiki5/pull/6604]], [[#6611|https://github.com/TiddlyWiki/TiddlyWiki5/pull/6611]]\n\n! Node.js Improvements\n\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6746\">> RenderCommand to support the `storyTiddler` variable\n\n! Performance Improvements\n\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6402\">> filter processing to allow compiled filters to be cached\n\n! Acknowledgements\n\n[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:\n\n<<.contributors \"\"\"\nArlen22\nBramChen\nbtheado\nBurningTreeC\ndamscal\nes-kha\nEvidentlyCube\nFlashSystems\nflibbles\nFSpark\nfu-sen\nibnishak\njeremyredhead\njoshuafontany\nkookma\nlinonetwo\nMarxsal\nMaxGyver83\nndarilek\noflg\npmario\nrmunn\nsaqimtiaz\nsimonbaird\nTelumire\ntobibeer\ntwMat\ntw-FRed\nxcazin\n\"\"\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/pre-5.4.0/Release 5.2.4.tid",
    "content": "caption: 5.2.4\ncreated: 20221213163110439\nmodified: 20221213163110439\nreleased: 20221213163110439\ntags: ReleaseNotes\ntitle: Release 5.2.4\ntype: text/vnd.tiddlywiki\ndescription: Hot fixes for v5.2.3, Twitter archivist plugin, GenesisWidget, JSON read operators, nested macro definitions\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.2.3...v5.2.4]]//\n\n<<.banner-credits\n\tcredit:\"\"\"Congratulations to [[dmikh|https://talk.tiddlywiki.org/u/dmikh]] for their winning design for the banner for this release (here is the [[competition thread|https://talk.tiddlywiki.org/t/new-release-banner-competition-for-v5-2-4/4982]] and the [[voting thread|https://talk.tiddlywiki.org/t/vote-for-the-v5-2-4-new-release-banner/5140/2]]).\n\"\"\"\n\turl:\"https://raw.githubusercontent.com/Jermolene/TiddlyWiki5/0dc30086e933cf2272cddb076a9fcbedad252735/editions/tw5.com/tiddlers/images/New%20Release%20Banner.png\"\n>>\n\n! Important Update\n\nAfter the release of v5.2.5, we found some backwards compatibility issues with the stylesheet changes in [[#7039|https://github.com/TiddlyWiki/TiddlyWiki5/pull/7039]] and [[#6910|https://github.com/TiddlyWiki/TiddlyWiki5/pull/6910]]. We have therefore decided to make a rapid bug fix [[Release 5.2.5]] to resolve these issues, and all users should upgrade to the new version.\n\n! Major Improvements\n\nNew [ext[Twitter Archivist|./editions/twitter-archivist]] plugin to import the tweets and associated media from a Twitter Archive as individual tiddlers.\n\n<<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6961\">> new GenesisWidget that allows the dynamic construction of another widget, where the name and attributes of the new widget can be dynamically determined, without needing to be known in advance\n\n<<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6936\">> (and <<.link-badge-here \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7105\">>) new operators for reading and formatting JSON data: [[jsonget Operator]], [[jsonindexes Operator]], [[jsontype Operator]], [[jsonextract Operator]] and [[format Operator]]\n\n! Translation Improvements\n\nImprovements to the following translations:\n\n* Chinese\n* French\n* German\n* Polish\n* Spanish\n* Japanese\n\nImprovements to the translation features of TiddlyWiki itself:\n\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6882\">> the [[Translators Edition|Translate TiddlyWiki into your language]] to add an option to display the original English text underneath the text area\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6933\">> \"delete\" button text in $:/AdvancedSearch so that it is translatable\n\n! Usability Improvements\n\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/d62a16ee464fb9984b766b48504829a1a3eb143b\">> problem with long presses on tiddler links triggering a preview on iOS/iPadOS\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6910\">> consistency of button and input elements across browsers\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/d825f1c875f5e46158c9c41c8c66471138c162d1\">> edit preview to use the [[View Template Body Cascade]]\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/36896c3db8c9678c0385a561996248a6f00a45ff\">> opening a tiddler in a new window to use the [[View Template Body Cascade]]\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6970\">> detection of infinite recursion errors in widgets and filters\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6877\">> default styles for [[styled runs|Styles and Classes in WikiText]]\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6881\">> upgrade wizard to make the version number more prominent\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7042\">> parsing of tiddlers containing CSV data for greater compatibility\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7076\">> new page control button to summon the layout switcher\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/7084\">> folded tiddlers to ensure that the unfold button is always visible\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7072\">> handling of [[Modals]] to optionally allow them to be dismissed by clicking on the background\n\n! Widget Improvements\n\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/127f660c91020dcbb43897d954066b31af729e74\">> EditTextWidget to remove the default text \"Type the text for the tiddler 'foo'\"\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7081\">> ''focus'' attribute to SelectWidget\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/1df4c29d73073788ba3859668112e8bb46171a6c\">> LetWidget to remove restriction of the widget being unable to create variables whose names begin with a dollar sign\n\n! Filter improvements\n\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/6303\">> issue with availability of variables within filter runs\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7065\">> issue with removing multiple items from a linked list during filter processing\n\n! Hackability Improvements\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7004\">> support for nested [[macro definitions|Macro Definitions in WikiText]]\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6976\">> support for [[SystemTag: $:/tags/ClassFilters/TiddlerTemplate]] and [[SystemTag: $:/tags/ClassFilters/PageTemplate]] to assign dynamic CSS classes to both tiddler frames and the page template\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/c5d3d4c26e8fe27f272dda004aec27d6b66c4f60\">> safe mode to disable wiki store indexers\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/166a1565843878083fb1eba47c73b8e67b78400d\">> safe mode to prevent globally disabling parser rules\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6735\">> keyboard shortcut handling to allow to global shortcuts to override all other shortcuts\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/965bd090a905f5756e79124b698c894f7f72ad5b\">> [[list-links Macro]] to allow the rendered field to be overriden\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6913\">> [[Table-of-Contents Macros]] to allow the default icons to be overridden\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6939\">> ''data-tags-*'' and ''data-tiddler-title'' attributes to the edit preview area\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/5947\">> [[timeline Macro]] to override the link template\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7043\">> support for Unix epoch timestamps in [[date format strings|DateFormat]]\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7064\">> the \"big green download button\" to use the defined palette colour\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7063\">> new hidden setting [[to use horizontal tabs for the \"more\" sidebar tab|Hidden Setting: More Tabs Horizontal]]\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/bef11fe6a25fb849dee40c4aa4337d6a30daf0b4\">> the [[external JavaScript templates|Using the external JavaScript template]] to allow the URL of the external script file to be configured\n\n! Bug Fixes\n\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7099\">> truncated search results on small screens\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7010\">> table contents overflow on small screens\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/fb34df84ed41882c1c2a6ff54f0e908b43ef95a3\">> \"new image\" keyboard shortcut not to assign journal tags\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6987\">> SelectWidget class to update if it uses a filter\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/7017\">> issue with wikification within the advanced search filter dropdown\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7057\">> the table in $:/Import to avoid creating hidden empty rows\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/7008\">> advanced search keyboard shortcut not navigating correctly\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/7083\">> erroneous display of drafts within the advanced search filter dropdown\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7092\">> backwards compatibility of new field editor cascade introduced in v5.2.3\n\n! Node.js Improvements\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7073\">> new CommandsCommand to enable command tokens to be dynamically generated from a filter\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6947\">> console logging to avoid spaces and `<empty string>` message\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7014\">> problem  with lazy loading deleting tiddler bodies under certain circumstances\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/344110e2890caf711ab8f3c4f4deaa7d86771231\">> handling of \".mp4\" file extension so that it defaults to video not audio\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6588\">> test server to the plugin library edition\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7049\">> [[Hidden Setting: Sync Logging]] to control logging of sync-related messages\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6944\">> Jasmine plugin to require the explicit use of the `--test` command in order to cause the tests to be run\n\n! Performance Improvements\n\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/53d229592df76c6dd607e40be5bea4d5e063c48e\">> performance of `wiki.getTiddler()`\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/81ac9874846b3ead275f67010fcfdb49f3d2f43c\">> performance of variable prototype chain handling\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6056\">> performance of list handling during filter processing\n\n! Acknowledgements\n\n[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:\n\n<<.contributors \"\"\"\nAnthonyMuscio\nbestony\nbtheado\nBramChen\ncarlo-colombo\nEvidentlyCube\nFlashSystems\nflibbles\nfu-sen\njoebordes\nhoelzro\nkookma\nlinonetwo\nMarxsal\noflg\npmario\nrmunn\nroma0104\nsaqimtiaz\nsimonbaird\ntalha131\nTelumire\ntw-FRed\ntwMat\nxcazin\n\"\"\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/pre-5.4.0/Release 5.2.5.tid",
    "content": "caption: 5.2.5\ncreated: 20221219184500440\nmodified: 20221219184500440\nreleased: 20221219184500440\ntags: ReleaseNotes\ntitle: Release 5.2.5\ntype: text/vnd.tiddlywiki\ndescription: Hot fix release for v5.2.4\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.2.4...v5.2.5]]//\n\n<<.banner-credits\n\tcredit:\"\"\"Congratulations to [[dmikh|https://talk.tiddlywiki.org/u/dmikh]] for their winning design for the banner for this release (here is the [[competition thread|https://talk.tiddlywiki.org/t/new-release-banner-competition-for-v5-2-4/4982]] and the [[voting thread|https://talk.tiddlywiki.org/t/vote-for-the-v5-2-4-new-release-banner/5140/2]]).\n\"\"\"\n\turl:\"https://raw.githubusercontent.com/Jermolene/TiddlyWiki5/25b8f26073504dace56a5537f29c8bff0ead2acd/editions/tw5.com/tiddlers/images/New%20Release%20Banner.png\"\n>>\n\nThis is a bug fix release intended to resolve backwards compatibility issues discovered in v5.2.4. See [[this GitHub ticket|https://github.com/TiddlyWiki/TiddlyWiki5/issues/7126]] for the background.\n\nThe issues are entirely cosmetic stylesheet changes, and do not affect the functionality of TiddlyWiki. However, we encourage all users to upgrade to this new version for consistency.\n\nSince v5.2.5 replaces v5.2.4 that was only released for a week, here is the [[release note for v5.2.4|Release 5.2.4]].\n\n! Release Note for v5.2.4\n\n{{Release 5.2.4}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/pre-5.4.0/Release 5.2.6.tid",
    "content": "caption: 5.2.6\ncreated: 20230320184352916\nmodified: 20230320184352916\nreleased: 20230320184352916\ntags: ReleaseNotes\ntitle: Release 5.2.6\ntype: text/vnd.tiddlywiki\ndescription: Markdown improvements, indentable pragmas, accessible save wiki button\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.2.5...v5.2.6]]//\n\n<<.banner-credits\n\tcredit:\"\"\"Congratulations to [[StS|https://talk.tiddlywiki.org/u/StS]] for their winning design for the banner for this release (here is the [[competition thread|https://talk.tiddlywiki.org/t/new-release-banner-competition-for-tiddlywiki-v5-2-6/6403/3]] and the [[voting thread|https://talk.tiddlywiki.org/t/vote-for-the-tiddlywiki-banner-v5-2-6/6469]]).\n\"\"\"\n\turl:\"https://raw.githubusercontent.com/Jermolene/TiddlyWiki5/3a2831870b4418b8b01d155b057db5b7485562c1/editions/tw5.com/tiddlers/images/New%20Release%20Banner.png\"\n>>\n\n! Major Improvements\n\n!! Improved Markdown Plugin\n\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6528\">> the [[Markdown Plugin]] to use the newer and better maintained [[markdown-it|https://github.com/markdown-it/markdown-it]] library. The previous Markdown plugin remains available as \"markdown-legacy\"\n\n!! Better Handling of Loss of Network Connectivity with Client Server Configuration\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7169\">> integration between the [[BrowserStorage Plugin]] and the client-server configuration to allow changes to be made while offline and then later resynchronised with the server\n\n!! New Diff-Match-Patch Primitives\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7290\">> three new operators exposing previously hidden features of the [[Diff-Match-Patch|https://neil.fraser.name/software/diff_match_patch]] library that is integrated with TiddlyWiki:\n** new [[levenshtein Operator]] to calculate the similarity of two strings as the number of characters that need to be inserted, deleted or modified in order to turn one into the other\n** new [[makepatches Operator]] and [[applypatches Operator]] that can be used to make and apply patches that represent the difference between two different texts. See the [[examples|makepatches and applypatches Operator (Examples)]]\n\n! Translation Improvements\n\nImprovements to the following translations:\n\n* Chinese\n* German\n* Italian\n* Polish\n\n! Plugin Improvements\n\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7176\">> [[Innerwiki Plugin]] to allow the `<$data>` widget to override existing tiddler fields\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7207\">>, <<.link-badge-here \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/c39ef398bffae12c0ed7324d9b6d9d29f0f2f9ff\">> and <<.link-badge-here \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/8f7441f296351a4dd0852c3c782f8874d398e052\">> problem preventing [[Share Plugin]] from working properly\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/524cee1489f260375cac8cfe878fdc5942a4596e\">> [[XLSX Plugin|XLSX Utilities Edition]] to handle importing numeric fields\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/81f514116657d0d567be7a4c45762a85beaa8bc0\">> Dynannotate plugin crash when using the fake DOM used for static rendering\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7281\">> bug where pasting text into the CodeMirror editor also opened an `$:/Import` tiddler\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7334\">> documentation for the [[Railroad Plugin]]\n\n! Accessibility Improvements\n\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7232\">> appearance of save wiki button so that it is accessible to users without colour vision\n\n! Usability Improvements\n\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7217\">> consistency of tiddler deletion by allowing missing tiddlers to be 'deleted', which just results in them being closed\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/34643a42790777f1b235f57b5093bb29bd0b3a14\">> layout switcher to include an optional icon for each layout\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/c0615e20ecf7d5d5e66d8a2acd28b80e8d59688d\">> problems with [[improvements to table layout|https://github.com/TiddlyWiki/TiddlyWiki5/pull/7010]] from v5.2.5 by reverting them\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7323\">> support for `&dollar;` HTML entity\n\n! Widget Improvements\n\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7222\">> EditTextWidget to support `focusSelectFromStart` and `focusSelectFromEnd` attributes to give better control over text selection\n\n! Filter improvements\n\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7121\">> [[encodeuricomponent Operator]] to encode characters such as `*` that are illegal in Windows filenames\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/89fd8871b6217634c9896b9402069757ca5ea189\">> [[encodebase64 Operator]] and [[decodebase64 Operator]]\n\n! Hackability Improvements\n\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7185\">> the [[pragma|Pragma]] syntax to allow them to be indented with whitespace\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7118\">> readability of [[tag-picker Macro]] and [[keyboard-driven-input Macro]]\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7129\">> reliability of [[list-links-draggable Macro]] and [[list-tagged-draggable Macro]] by using the new GenesisWidget instead of textual substitution\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7210\">> [[external JavaScript core support|Using the external JavaScript template]] to make it possible to save an external JS wiki as a standard single file wiki\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7007\">> a warning message in the browser console when the Zoomin storyview fails due to the tiddler view template lacking a single containing element\n\n! Bug Fixes\n\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6622\">> bug with the DropzoneWidget that prevented all the available formats being pasted\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7102\">> PDF rendering to use an `<iframe>` instead of the older `<embed>`\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/8ef6d78beffb6496fe5daa2c81a529a79046ba3c\">> issue with `.tid` files with fieldnames containing hash characters by saving such tiddlers in `.json` format\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7121\">> (and <<.link-badge-here \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7219\">>) overriding `toc-caption` macro for [[Table-of-Contents Macros]]\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7212\">> rendering of $:/core/ui/MoreSideBar/Tags when viewed within the story river\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7156\">> undefined variable crash in [[reduce Operator]], [[filter Operator]] and [[sortsub Operator]]\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/7153\">> GenesisWidget not to create anything if the `$type` attribute is blank or missing\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7230\">> GenesisWidget to pass `isBlock` flag to the generated widget\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/7160\">> crash using [[jsonget Operator]] with \"fixed\" as key name\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/0b39e47ce88c7620b7a66c1553a71efaff06edb9\">> importing of MP3 files to match current browser implementations\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7122\">> crash when attempting to create an element with a blank tag name\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7224\">> layout issue with \"save tiddler\" button\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/3d0ec5b1bdc157f87d65b8c9b76e681c14337eb4\">> (and <<.link-badge-here \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/4e5c957e975459350cd7df3038e5fb3c7aea859f\">>) handling of whitespace in lists to cover all Unicode whitespace characters\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7228\">> test spacing of parser rule checkboxes in control panel\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/f249b79e81e51d48364ea8147fe27850df9f577f\">> CSS classes assigned to edit toolbar buttons\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/7247\">> usage of broken CSS class `tc-storyview-zoomin-tiddler` in Zoomin story view\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7243\">> usage of `importTitle` and `autoOpenOnImport` options for [[WidgetMessage: tm-import-tiddlers]]\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7276\">> fixed text editor refresh when the palette is changed\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/7270\">> crash with LetWidget when referencing a variable that exists but has an undefined value\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/7354\">> unwanted double braces around tags specified in $:/config/NewTiddler/Tags when using \"new here\" button\n\n! Node.js Improvements\n\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7130\">> duplicate fields in internal templates used in client-server configuration\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/7138\">> lazy loading not triggering a sync from the server\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/bf8e1ca5b0587787bf80692b0213bb7b038c7868\">> crash on creating a new tiddler if anonymous users manage to create syncable tiddlers in a read only wiki\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/95e61688397ff1bc9be04193bc4ce2e3c8c48dce\">> handling of logout in the client-server configuration to avoid 404 errors\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/7238\">> problem with saving tiddlers with `_canonical_uri` field as `.tid` files\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6953\">> missing meta viewport to static river template\n\n! Performance Improvements\n\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7299\">> field indexer to more efficiently process lookups\n\n! Acknowledgements\n\n[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:\n\n<<.contributors \"\"\"\nandrigamerita\nAnthonyMuscio\nBramChen\nbtheado\ncdruan\nCrossEye\ncs8425\nEvidentlyCube\nfkmiec\nflibbles\nGameDungeon\nhffqyd\njeffrey4l\njoebordes\nkookma\nlinonetwo\nm42e\nMarxsal\nmateuszwilczek\nnewmedicine\nmichsa\npippep\npmario\nsaqimtiaz\nTelumire\ntwMat\nwincentbalin\nyaisog\n\"\"\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/pre-5.4.0/Release 5.2.7.tid",
    "content": "caption: 5.2.7\ncreated: 20230326083239710\nmodified: 20230326083239710\nreleased: 20230326083239710\ntags: ReleaseNotes\ntitle: Release 5.2.7\ntype: text/vnd.tiddlywiki\ndescription: Bug fix release for v5.2.6\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.2.6...v5.2.7]]//\n\n<<.banner-credits\n\tcredit:\"\"\"Congratulations to [[StS|https://talk.tiddlywiki.org/u/StS]] for their winning design for the banner for this release (here is the [[competition thread|https://talk.tiddlywiki.org/t/new-release-banner-competition-for-tiddlywiki-v5-2-6/6403/3]] and the [[voting thread|https://talk.tiddlywiki.org/t/vote-for-the-tiddlywiki-banner-v5-2-6/6469]]).\n\"\"\"\n\turl:\"https://raw.githubusercontent.com/Jermolene/TiddlyWiki5/7926af85419ef2f813276a05833598d6d65e2ecd/editions/tw5.com/tiddlers/images/New%20Release%20Banner.png\"\n>>\n\nThis is a bug fix release intended to resolve a backwards compatibility issue discovered in v5.2.6. See [[this GitHub ticket|https://github.com/TiddlyWiki/TiddlyWiki5/issues/7371]] for the background.\n\nThe issue is that trailing newlines within a macro definitions were being ignored, which affected whether the content were parsed in inline or block mode.\n\nSince v5.2.7 replaces v5.2.6 that was only released for less than a week, here is the [[release note for v5.2.6|Release 5.2.6]].\n\n! Release Note for v5.2.6\n\n{{Release 5.2.6}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/pre-5.4.0/Release 5.3.0.tid",
    "content": "caption: 5.3.0\ncreated: 20230701123439630\nmodified: 20230701123439630\nreleased: 20230701123439630\ntags: ReleaseNotes\ntitle: Release 5.3.0\ntype: text/vnd.tiddlywiki\ndescription: Parameterised transclusions, procedures, functions, custom widgets\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.2.7...v5.3.0]]//\n\n<<.banner-credits\n\tcredit:\"\"\"Congratulations to [[vilc|https://talk.tiddlywiki.org/u/vilc]] for their winning design for the banner for this release (here is the [[competition thread|https://talk.tiddlywiki.org/t/banner-image-competition-for-v5-3-0/7406/10]]).\n\"\"\"\n\turl:\"https://raw.githubusercontent.com/Jermolene/TiddlyWiki5/04950452fab7d5cb86f893020355611c4711d361/editions/tw5.com/tiddlers/images/New%20Release%20Banner.jpg\"\n>>\n\n! Overview of v5.3.0\n\nThis release introduces a number of significant improvements and new features related to some of TiddlyWiki's most fundamental components: macros, widgets, operators and transclusion. v5.3.0 also contains several other bug fixes and improvements.\n\n! Introduction to Parameterised Transclusion, Procedures, Functions and Custom Widgets\n\n<<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6666\">> The motivation of these changes is to fix one of ~TiddlyWiki 5's early design flaws: the reliance on macros using textual substitution as the primary way to modularise and reuse wikitext and filters.\n\nExperience has shown that while macros are a good match for a small number of tasks, they are brittle and error prone for many common operations. See [[Macro Pitfalls]] for a discussion of the problems that accompany this approach. Over the years we have introduced mitigations for the worst problems but these have come at a cost of increased complexity.\n\nThe changes in this release provide powerful new ways to achieve common tasks, and unlock completely new capabilities that were previously impossible in wikitext.\n\n* [[Procedures]], which are essentially what macros should have been; they work in exactly the same way except that parameters are exposed as simple variables (without the double underscores) and no textual substitution takes place\n* [[Custom Widgets]], allowing the creation of widgets in wikitext, and the redefinition of built-in widgets\n* [[Functions]], a new way to encapsulate filter expressions with named parameters, including the ability to make custom filter operators\n* Parameterised [[Transclusions|Transclusion]], allowing strings and wikitext trees to be passed to transclusions\n\nThe approach taken by this release is to add new functionality by extending and augmenting the system without disturbing existing functionality. All of these changes are thus intended to be backwards compatible. While they represent a new field of opportunities for wikitext authors, it is possible for authors to ignore all these new features and continue to use ~TiddlyWiki 5 in the way that they have always done.\n\nThese changes lay the groundwork for macros and related features to be deprecated (which is the point at which users are advised not to use old features, and instead given clear pointers to the equivalent modern functionality).\n\n! Text Substitution Improvements\n\n<<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7526\">> The new transclusion architecture is not by itself sufficient to enable us to fully deprecate macros yet. To handle most of the remaining use cases this release adds convenient new ways of using textual substitution without having to create a macro:\n\nFirstly, the new [[text substitution syntax for widget attributes|Substituted Attribute Values]] allows widget attributes to be assigned the value of a string with certain placeholders being replaced by their processed contents. For example:\n\n* Substitute variable names with the value: <$codeblock code=\"attr=`Current tiddler is $(currentTiddler)$`\"/>\n* Substitute filter expressions with the first value they return: <$codeblock code=\"attr=```There are ${ [tag[Done]count[]] }$ completed tasks```\"/>\n\nSecondly, the new [[substitute operator|substitute Operator]] allows the same textual substitutions to be performed via a filter operator with the addition of positional parameters that use placeholders of the form `$1$`, `$2$`, `$3$` etc.\n\n```\n[[https://$1$/$(currentTiddler)$]substitute<domain-name>]\n```\n\n! HTTP Requests in WikiText\n\n<<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7422\">> new [[WidgetMessage: tm-http-request]] for performing HTTP requests in WikiText. This opens up some exciting new opportunities:\n\n* Integration with Web-based APIs. The documentation includes an [[example of using the Zotero API|WidgetMessage: tm-http-request Example - Zotero]] to retrieve academic citation data\n* Dynamic content loading: additional tiddlers can be imported dynamically after the main wiki has loaded\n\n! Defaulting to Disabling CamelCase Links\n\n<<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7513\">> CamelCase linking is now disabled by default for new wikis. (Note that this documentation wiki has CamelCase linking explicitly enabled because much of the old content was written relying on them).\n\n! Plugin Improvements\n\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7554\">> Google Analytics plugin to use new GA4 code. Note that the update requires manual configuration to use the new \"measurement ID\" instead of the old \"account ID\"\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7260\">> Dynannotate pugin to support three additional search modes\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7365\">> problem with [[BrowserStorage Plugin]] unnecessarily saving shadow tiddlers\n\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7398\">> [[BrowserStorage Plugin]] to request that browser storage be persisted without eviction\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7493\">> [[CodeMirror Plugin]] to add an option to make trailing spaces visible\n\n! Translation improvement\n\nImprovements to the following translations:\n\n* French\n* German\n* Polish\n* Chinese\n\n! Usability Improvements\n\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7524\">> consistency of layout of \"Settings\" tab in $:/ControlPanel\n\n<!--\n\n! Widget Improvements\n\n-->\n\n! Filter improvements\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7511\"> new [[deserialize Operator]] for converting various textual representations of tiddlers into JSON data\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7292\">> [[format Operator]] to support converting Unix timestamps to TiddlyWiki's native date format\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7392\">> new [[':then' filter run prefix|Then Filter Run Prefix]]\n\n! Hackability Improvements\n\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7413\">> [[Core Icons]] to allow the size to be controlled with a parameter\n** <<.warning \"\"\"This change can cause problems with non-standard usage of the core icons where the text is directly rendered instead of being transcluded\"\"\">>\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7182\">> new [[thisTiddler Variable]] that refers to the tiddler currently being rendered\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7530\">> `data-tag-title` attribute to all tag pills, allowing easier [[Custom tag pill styles]]\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7332\">> [[Story Tiddler Template Cascade]] handling to fall back to the default template if the output of the cascade is not valid\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7378\">> missing file extensions for \"audio/mpeg\" files\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7417\">> [[Table-of-Contents Macros]] to add consistent support for an ''exclude'' parameter\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/190613ad2989f70526f86eef17f524087f60eb72\">> [[tv-config-static Variable]] for indicating static rendering\n\n! Bug Fixes\n\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7215\">> importing tiddlers by pasting tiddler data\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7400\">> unneeded 14px bottom border for textareas with autoheight enabled\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7380\">> crashes when using an invalid CSS selector for [[WidgetMessage: tm-focus-selector]] and [[WidgetMessage: tm-scroll]]\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7401\">> bug whereby scrolling occurs if the linkcatcher widget triggers an action-navigate and the $scroll attribute is set to \"no\"\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7409\">> problem switching between LTR and RTL text\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7448\">> bug when the listField attribute of the CheckboxWidget was given the name of a date field (like <<.field created>> or <<.field modified>>)\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/7529\">> size of buttons in dropdown for editor \"link\" toolbar button\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/8e132948b6bec623d81d300fbe6dc3a0307bcc6d\">> crash when transcluding a lazily loaded tiddler as an attribute value\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/7462\">> DiffTextWidget crash with missing or empty attributes\n\n! Node.js Improvements\n\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7471\">> [[WebServer Parameter: authenticated-user-header]] to require URI encoding of authenticated username header, permitting non-ASCII characters in usernames\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7253\">> support for `filepath` source attribute to [[tiddlywiki.files Files]]\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/48b22abdaab62c281c207127c66883b50898f9dd\">> a warning message for JSON errors in [[tiddlywiki.info Files]] or [[plugin.info Files|PluginFolders]]\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7490\">> new \"explodePlugins\" option to SaveWikiFolderCommand\n\n! Performance Improvements\n\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/4624\">> module execution to reuse the same sandbox, saving memory and improving performance\n\n! Acknowledgements\n\n[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:\n\n<<.contributors \"\"\"\nAnthonyMuscio\nArlen22\nBramChen\nbtheado\nbuggyj\ncarlo-colombo\ncdruan\ndonmor\nEvidentlyCube\nflibbles\nGameDungeon\nJoshuaFontany\nkookma\nlinonetwo\nMarxsal\nmateuszwilczek\nmichsa\nmuzimuzhi\noeyoews\npmario\nrmunn\nsaqimtiaz\ntavin\ntwMat\nxcazin\nyaisog\nZacharia2\n\"\"\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/pre-5.4.0/Release 5.3.1.tid",
    "content": "caption: 5.3.1\ncreated: 20230820112855583\nmodified: 20230820112855583\nreleased: 20230820112855583\ntags: ReleaseNotes\ntitle: Release 5.3.1\ntype: text/vnd.tiddlywiki\ndescription: Bug fix release for v5.3.0\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.3.0...v5.3.1]]//\n\n<<.banner-credits\n\tcredit:\"\"\"Congratulations to [[vilc|https://talk.tiddlywiki.org/u/vilc]] for their winning design for the banner for this release (here is the [[competition thread|https://talk.tiddlywiki.org/t/banner-image-competition-for-v5-3-0/7406/10]]).\n\"\"\"\n\turl:\"https://github.com/TiddlyWiki/TiddlyWiki5/blob/4124bbdfb3e2445d45488006dfff1925d067ab0f/editions/tw5.com/tiddlers/images/New%20Release%20Banner.png?raw=true\"\n>>\n\n! Overview of v5.3.1\n\nThis release comes only a few weeks after [[v5.3.0|Release 5.3.0]]. The motivation for the release is to swiftly fix some issues that have emerged with v5.3.0. There are also some other improvements included in this release, notably the ability to access binary resources over HTTP -- the [[demo|WidgetMessage: tm-http-request Example - Random Dog]] downloads a random image or video of a dog.\n\n! Bug Fixes and Reversions of v5.3.0 Changes\n\n* Reverted adding the `widget.destroy()` method because of performance concerns (see https://github.com/TiddlyWiki/TiddlyWiki5/pull/7468)\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7647\">> inefficiency when transcluding with the ''$output'' attribute set to `text/plain` that manifested itself as extremely slow export times\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7648\">> unwanted error message \"Global assignment is not allowed within modules on node\"\n\n! Translation improvement\n\nImprovements to the following translations:\n\n* Chinese\n* Polish\n\n! Widget Improvements\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7594\">> ''tabindex'' attribute to SelectWidget\n\n! Hackability Improvements\n\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7611\">> ImportVariablesWidget and [[Pragma: \\import]] to trim whitespace when parsing tiddlers\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/9b2af1359614f4ad5afd05be7cf9853909334592\">> [[WidgetMessage: tm-http-request]] to handle binary responses ([[demo|WidgetMessage: tm-http-request Example - Random Dog]])\n\n! Bug Fixes\n\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7627\">> table of contents indentation\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7595\">> bindStatus and bindProgress parameters of [[WidgetMessage: tm-http-request]]\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7606\">> attribute substitution to handle variables containing non-word characters\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7624\">> the pragmas introduced in v5.3.0 so that they can be indented with whitespace\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7619\">> size of tiddler icons\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7622\">> drag and drop from Chrome-like browsers to Firefox\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7679\">> listIndex mode of checkbox widgets\n\n! Node.js Improvements\n\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7645\">> console reporting of ~JavaScript errors\n\n! Developer Improvements\n\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/6c7c21a87bdb0d8a00df1c14eea18912164e0b57\">> overeager onload handler in Jasmine plugin\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/08bad90e51c45233a196333e101bbbf6ecf702ce\">> ordering of shadow tiddler listings to not reflect order of insertion\n\n! Acknowledgements\n\n[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:\n\n<<.contributors \"\"\"\nAnthonyMuscio\nbtheado\ncatter-fly\ncmo-pomerium\nCrossEye\nflibbles\nhffqyd\nlilscribby\nlinonetwo\nMarxsal\nmateuszwilczek\npille1842\npmario\nrmunn\nsaqimtiaz\nstevesunypoly\nTiddlyTweeter\ntwMat\nyaisog\n\"\"\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/pre-5.4.0/Release 5.3.2.tid",
    "content": "caption: 5.3.2\ncreated: 20231213080637781\ndescription: Conditional Shortcut Syntax, ListWidget Improvements\nmodified: 20231213080637781\nreleased: 20231213080637781\ntags: ReleaseNotes\ntitle: Release 5.3.2\ntype: text/vnd.tiddlywiki\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.3.1...v5.3.2]]//\n\n<<.banner-credits\n\tcredit:\"\"\"Congratulations to [[catter-fly|https://talk.tiddlywiki.org/u/catter-fly]] for their winning design for the banner for this release (here is the [[competition thread|https://talk.tiddlywiki.org/t/banner-image-competition-for-v5-3-2/8569]]).\n\"\"\"\n\turl:\"https://raw.githubusercontent.com/Jermolene/TiddlyWiki5/51862f812851afda0ed3540f8463f51def0d4f9a/editions/tw5.com/tiddlers/images/New%20Release%20Banner.png\"\n>>\n! Major Improvements\n\n!! Conditional Shortcut Syntax\n\n<<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7710\">> a new [[shortcut syntax|Conditional Shortcut Syntax]] for concisely expressing if-then-else logic. This is the first of a new type of wikitext syntax based on tokens delimited with `<%` and `%>`. We plan to introduce other structures using the same format such as a \"case\" statement.\n\nThese new token-based shortcuts allow a richer structure and expressivity than existing features such as widgets or pragmas. For example:\n\n```\n<%if [<animal>match[Elephant]] %>\n  It is an elephant\n<%elseif [<animal>match[Giraffe]] %>\n\tIt is a giraffe\n<%else%>\n\tIt is completely unknown\n<%endif%>\n```\n\nBehind the scenes, the conditional shortcut syntax is rendered as the equivalent [[ListWidgets|ListWidget]].\n\n!! Explicit Templates for the ListWidget\n\n<<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7784\">> support for `<$list-template>` and `<$list-empty>` as immediate children of the <<.wid \"ListWidget\">> widget to specify the list item template and/or the empty template.\n\nThis new feature is designed to replace a common pattern of using the `emptyMessage` attribute of the ListWidget to render complex wikitext that thus has to be quoted. Working with wikitext within quotes is awkward and error prone. The new structure can be somewhat faster because it allows the empty message to be parsed in advanced of rendering.\n\nFor example:\n\n```\n<$list filter=<<filter>>>\n\t<$list-template>\n\t\t<$text text=<<currentTiddler>>/>\n\t</$list-template>\n\t<$list-empty>\n\t\tNone!\n\t</$list-empty>\n</$list>\n```\n\nNote that the <<.attr \"emptyMessage\">> and <<.attr \"template\">> attributes take precedence if they are present.\n\n!! Joiners for the ListWidget\n\n<<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7694\">> a <<.attr \"join\">> attribute to the <<.wid \"ListWidget\">> widget to insert a short piece of text between list items. This is both easier to use and faster than using the <<.attr \"counter\">> attribute for the same purpose. So if your list looked like this:\n\n```\n<$list filter=<<filter>> counter=\"counter\" variable=\"item\">\n<$text text=<<item>>/><$list filter=\"[<counter-last>match[no]]\" variable=\"ignore\"><$text text=\", \"/></$list>\n</$list>\n```\n\nYou can replace it with:\n\n```\n<$list filter=<<filter>> variable=\"item\" join=\", \"><$text text=<<item>>/></$list>\n```\n\nIf the joiner text that you need is long and awkward to write in an attribute, you can use the new `<$list-join>` widget. Like `<$list-template>` and `<$list-empty>`, it must be an immediate child of the <<.wid \"ListWidget\">>:\n\n```\n<$list filter=<<filter>> variable=\"item\"><$text text=<<item>>/><$list-join>, and <em>also</em> let's not forget </$list-join></$list>\n```\n\n!! jsonset operator\n\n<<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7742\">> [[jsonset Operator]] for setting values within JSON objects\n\n!! QR Code Reader\n\n<<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7746\">> QR Code plugin to be able to read QR codes and a number of other bar code formats\n\n! Translation improvements\n\nImprovements to the following translations:\n\n* Chinese\n* Polish\n* Spanish\n\n! Plugin Improvements\n\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/1be8f0a9336952d4745d2bd4f2327e353580a272\">> Comments Plugin to use predefined palette colours\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7785\">> Evernote Importer Plugin to support images and other attachments\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7790\">> `$floating` attribute to Dynannotate Plugin to support popups that do not disappear when another part of the screen is clicked. Instead they have to dismissed manually\n\n! Widget Improvements\n\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7734\">> ImageWidget encoding for more image types\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7634\">> ImageWidget to add a \"usemap\" attribute\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7649\">> the ScrollableWidget to allow the scroll position to be bound to a tiddler, so that changes to the tiddler affect the scroll position, and vice versa\n\n! Usability Improvements\n\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7747\">> editor preview button to automatically focus the editor\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7764\">> file type names in the export menu\n\n! Hackability Improvements\n\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7769\">> all the relevant core widgets to allow arbitrary `data-*` attributes and `style.*` attributes to be applied to the generated DOM nodes. This is useful for passing data to the EventCatcherWidget\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7849\">> [[jsonextract Operator]], [[jsonget Operator]], [[jsonset Operator]] and [[jsontype Operator]] to allow negative indexes into arrays to be counted from the end of the array\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7690\">> the default page layout to better support CSS grid and flexbox layouts\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7787\">> the editor to use grid layout, simplifying customisation\n\n! Bug Fixes\n\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7758\">> ordering of Vanilla stylesheets\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/fa9bfa07a095548eb2f8339b0b1b816d2e6794ef\">> missing closing tag in tag-pill-inner macro\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/7732\">> invalid \"type\" attribute from textarea elements generated by the EditTextWidget\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7749\">> editor \"type\" dropdown state tiddlers\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7712\">> handling of \"counter-last\" variable when appending items with the ListWidget\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6088\">> upgrade download link in Firefox\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7698\">> refreshing of transcluded functions\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7789\">> resizing of height of textareas in control panel\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7683\">> [[encodebase64 Operator]] and [[decodebase64 Operator]] to work properly with binary data\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7708\">> [[WidgetMessage: tm-open-window]] when opening an existing window to bring it to the front and focus it\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7809\">> behaviour of [[last Operator]] when zero items selected\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7806\">> incorrectly setting focus on field name input field when deleting field using the delete field button\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7802\">> [[Table-of-Contents Macros]] to not show expander icon for a sublist that has all children excluded\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7794\">> overflow of [[CodeMirror Plugin]] editor within grid container\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7835\">> wikitest parser removing whitespace when parsing pragmas\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7842\">> tooltip for editor add field button\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7844\">> plain text parser being susceptible to the CodeBlockWidget being redefined\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7855\">> pragmas not working within the action string of several core macros\n\n! Node.js Improvements\n\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7843\">> a significant flaw in the synchronisation algorithm used by the client-server configuration. The flaw could lead to tiddlers temporarily disappearing from the browser\n\n! Performance Improvements\n\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7702\">> performance of predefined patterns with [[all Operator]]\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/7671\">> favicon format to PNG\n\n! Developer Improvements\n\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7751\">> global hook handling to support removing hooks\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7539\">> some useful npm scripts to `package.json`\n\n! Infrastructure Improvements\n\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7820\">> Continuous Integration tests to use Playwright to run our browser-based tests\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7737\">> an automatic build of the external core TiddlyWiki at https://tiddlywiki.com/empty-external-core.html\n\n! Acknowledgements\n\n[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:\n\n<<.contributors \"\"\"\nAnthonyMuscio\nBramChen\nBuckarooBanzay\nBurningTreeC\nCrossEye\nEvidentlyCube\nGk0Wk\njoebordes\nkookma\nlinonetwo\nmateuszwilczek\noflg\npille1842\npmario\nrmunn\nsaqimtiaz\nsimonbaird\nT1mL3arn\nyaisog\n\"\"\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/pre-5.4.0/Release 5.3.3.tid",
    "content": "caption: 5.3.3\ncreated: 20231223102201587\ndescription: Bugfix release for v5.3.2\nmodified: 20231223102201587\nreleased: 20231223102201587\ntags: ReleaseNotes\ntitle: Release 5.3.3\ntype: text/vnd.tiddlywiki\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.3.2...v5.3.3]]//\n\n<<.banner-credits\n\tcredit:\"\"\"Congratulations to [[catter-fly|https://talk.tiddlywiki.org/u/catter-fly]] for their winning design for the banner for this release (here is the [[competition thread|https://talk.tiddlywiki.org/t/banner-image-competition-for-v5-3-2/8569]]).\n\"\"\"\n\turl:\"https://raw.githubusercontent.com/Jermolene/TiddlyWiki5/5cb31b7adb0a6b226c0c215ddbed62e297ce89e1/editions/tw5.com/tiddlers/images/New%20Release%20Banner.png\"\n>>\n\nThis is a bug fix release to address a number of bugs that were introduced with [[Release 5.3.2]].\n\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7903\">> handling of a list widget with an empty paragraph as inline template\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7900\">> broken per-tiddler previews\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7897\">> missing comma before skinny tiddlers in JSON store area\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7895\">> handling of whitespace immediately after pragmas\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7905\">> SelectWidget handling of classes and rendering typo\n\nSince v5.3.3 replaces v5.3.2 after only a couple of weeks, here is the release note for v5.3.2.\n\n! Release Note for v5.3.2\n\n{{Release 5.3.2}}"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/pre-5.4.0/Release 5.3.4.tid",
    "content": "caption: 5.3.4\ncreated: 20240627165458407\ndescription: Testcase Widget, Tour Plugin, Geospatial Plugin, transcludes- backtranscludes operators, ... \nmodified: 20240628132840367\nreleased: 20240627165458407\ntags: ReleaseNotes\ntitle: Release 5.3.4\ntype: text/vnd.tiddlywiki\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.3.3...v5.3.4]]//\n\n<<.banner-credits\n\tcredit:\"\"\"Congratulations to [[duarte.framos|https://talk.tiddlywiki.org/u/duarte.framos]] for their winning design for the banner for this release (here is the [[competition thread|https://talk.tiddlywiki.org/t/banner-image-competition-for-v5-3-4/9940]]).\n\"\"\"\n\turl:\"https://raw.githubusercontent.com/Jermolene/TiddlyWiki5/05792a9de331dc31b5016c2029a43977114eb018/editions/tw5.com/tiddlers/images/New%20Release%20Banner.png\"\n>>\n\n! Major Improvements\n\n!! Tour Plugin\n\n<<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7734\">> several new features that together allow interactive learning tours to be created and presented in TiddlyWiki.\n\nThe demo TiddlyWiki interactive tour can be seen at https://tiddlywiki.com/tour\n\nThe new features include:\n\n* The new Tour Plugin itself\n* The new Confetti Plugin that allows animated bursts of confetti to be displayed\n* Improvements to the Dynannotate Plugin to add the ability to highlight screen elements using an animated spotlight effect\n\n!! Geospatial Plugin\n\n<<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7406\">> new Geospatial Plugin that adds new primitives to the TiddlyWiki platform to enable non-developers to build sophisticated interactive geospatial applications.\n\nThe Geospatial Plugin incorporates a number of third party libraries and online services:\n\n* [[Leaflet.js|https://leafletjs.com/]], an open source library to display interactive maps\n* [[Turf.js|https://turfjs.org/]], an open source library to perform geospatial calculations with [[GeoJSON|https://en.wikipedia.org/wiki/GeoJSON]] objects\n* [[TravelTime|https://traveltime.com/]], a commercial API for [[geocoding|https://traveltime.com/features/geocoding]], [[routing|https://traveltime.com/features/multi-modal-routing]] and [[isochrones|https://traveltime.com/features/isochrones]]\n* [[Flickr|https://www.flickr.com/services/api/]], a free API for retrieving geotagged photographs\n* [[OpenLocationCode|https://github.com/google/open-location-code]], Google's open source library for converting to and from Open Location Codes (also known as [[PlusCodes|https://maps.google.com/pluscodes/]])\n\nTry it out at https://tiddlywiki.com/plugins/tiddlywiki/geospatial/\n\n!! <<.wlink TestCaseWidget>> Widget\n\n<<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7817\">> new <<.wlink TestCaseWidget>> widget that is intended to solve a problem with the examples that we feature in the documentation. The existing macros are workable for simple, self-contained examples, but can be hard to follow in cases where the examples use additional tiddlers. The <<.wlink TestCaseWidget>> widget displays complete, self-contained interactive examples showing the output together with a tabbed display of the constituent tiddlers that produce it:\n\n<<testcase \"TestCases/TestCaseWidget/TwoPlusTwo\">>\n\nThe payload tiddlers for a test case are specified with the <<.wlink DataWidget>> widget. Test cases are run as an independent, self-contained nested wiki in a similar way to the [[Innerwiki Plugin]], but are much more lightweight. The disadvantage is that test cases are rendered as part of the main page, and so any styling changes will leak out to the rest of the page.\n\nTest cases can also specify the raw HTML of the expected result which causes them to be executed as tests, with success or failure indicated by an icon:\n\n<<testcase \"TestCases/TestCaseWidget/FailingTest\">>\n\nThe easiest way to use the <<.wlink TestCaseWidget>> is by creating TestCaseTiddlers using the new CompoundTiddlers format. There are also many test cases to view in the TiddlyWiki test edition at https://tiddlywiki.com/test.html\n\n! Translation improvements\n\nThis release also includes improvements to the following translations:\n\n* Chinese\n* French\n* German\n* Macedonian\n* Polish\n\n! Plugin Improvements\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8198\">> badges to the core plugins to indicate their [[stability level|Plugin Stability]] from \"deprecated\", \"experimental\", \"stable\" and \"legacy\". These badges are shown in the plugin library and in the control panel\n\n! Widget Improvements\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8115\">> ''$timestamp'' attribute to ActionDeleteFieldWidget\n\n! Filter Improvements\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/6081\">> new [[transcludes|transcludes Operator]] and [[backtranscludes|backtranscludes Operator]] operators\n\n! Usability Improvements\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/8121\">> new keyboard shortcut for refreshing the page\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/f3614c1e47e6ac5d5fec221b060699e975cd5ef6\">> and simplified the splash screen for tiddlywiki.com. See [[Creating a splash screen]] for instructions on creating your own splash screen\n\n! Hackability Improvements\n\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7866\">> the wikitext parser to generate start/end properties for all nodes\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8109\">> [[WidgetMessage: tm-http-request]] to be able to use Basic Authentication\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8225\">> [[WidgetMessage: tm-http-request]] to allow the default headers to be suppressed\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7882\">> infinite recursion handling using a custom exception\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7966\">> button to the JavaScript error popup allowing tiddlers to be saved to a local JSON file\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/8120\">> to latest version of modern-normalize 2.0.0\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8211\">> [[tm-permalink|WidgetMessage: tm-permalink]], [[tm-permaview|WidgetMessage: tm-permaview]] and [[tm-copy-to-clipboard|WidgetMessage: tm-copy-to-clipboard]] messages to allow the notification text to be customised\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8097\">> window title rendering to automatically include global definitions\n\n! Bug Fixes\n\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8233\">> nested functions not resolving variables created in filter runs\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8186\">> nested [[Block Quotes in WikiText]]\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7933\">> TiddlyWikiClassic build process\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7935\">> LinkWidget not refreshing when the `to` attribute changes\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/3460\">> parsing bug with empty procedures/macros\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/7907\">> functions to use variables set by filter runs\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/7943\">> edit widget not refreshing when the editor type changes\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/7922\">> editor preview width\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/9bf3c0602d4fd3fe5ac7411db697b51f87a79056\">> [[WidgetMessage: tm-http-request]] not returning data in the event of an error\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/8150\">> [[WidgetMessage: tm-http-request]] incorrectly interpreting 2XX status codes\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/7949\">> processing of path separators in `tiddlywiki.files` files on Windows\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/7975\">> incorrect state reference in advanced search\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/7985\">> clipping of popups in preview pane\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/8039\">> JavaScript error when attempting to export missing tiddlers to a CSV file\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/7909\">> imported procedures defaulting to `\\whitespace trim`\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/801ed0ea1164aab4f88547322f9d73704388143f\">> crash with [[cycle Operator]] if the the step size is larger than the number of operands\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/8095\">> proper DOCTYPE for the open window template\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/7945\">> theme font size settings to open in new window CSS\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8098\">> backlink parser to prevent it parsing binary tiddlers\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8203\">> issue where default parameters were not applied when a ParametersWidget did not find a parent TranscludeWidget\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8222\">> crash when using [[splitregexp Operator]] with a regular expression that includes capture groups\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8239\">> ActionLogWidget evaluating all variables in scope\n\n! Node.js Improvements\n\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/8141\">> usage of \"Cache-Control\" header\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/7878\">> SaveCommand not overwriting files when required\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/8237\">> server header authentication when header is missing\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/8253\">> ButtonWidget should refresh when \"tooltip\" attribute changes\n\n! Developer Improvements\n\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8195\">> issue with fakedom TW_Node inheritence\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8099\">> SJCL library creating variables in global scope\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8179\">> `widget.getVariableInfo()` to always return a `params` property\n\n! Acknowledgements\n\n[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:\n\n<<.contributors \"\"\"\nandjar\nAnthonyMuscio\nbimlas\nBramChen\nbtheado\nBurningTreeC\ncatter-fly\nDrevarr\neschlon\netardiff\nflibbles\nFSpark\nGk0Wk\nhoelzro\njinix6\njoshuafontany\nlinonetwo\nmateuszwilczek\nmklauber\noeyoews\npmario\nPotOfCoffee2Go\nrmunn\nsaqimtiaz\nsarna\nTelumire\ntwMat\nxcazin\nyaisog\n\"\"\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/pre-5.4.0/Release 5.3.5.tid",
    "content": "caption: 5.3.5\ncreated: 20240710115948992\ndescription: Bugfix release for v5.3.4\nmodified: 20240723172616735\nreleased: 20240710153600000\ntags: ReleaseNotes\ntitle: Release 5.3.5\ntype: text/vnd.tiddlywiki\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.3.4...v5.3.5]]//\n\n<<.banner-credits\n\tcredit:\"\"\"Congratulations to [[duarte.framos|https://talk.tiddlywiki.org/u/duarte.framos]] for their winning design for the banner for this release (here is the [[competition thread|https://talk.tiddlywiki.org/t/banner-image-competition-for-v5-3-4/9940]]).\n\"\"\"\n\turl:\"https://raw.githubusercontent.com/Jermolene/TiddlyWiki5/a9b6de8c35f0789a27a36218e8422bb11066f115/editions/tw5.com/tiddlers/images/New%20Release%20Banner.png\"\n>>\n\nThis is a bug fix release to address a number of bugs that were introduced with [[Release 5.3.4]].\n\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8327\">> backwards compatibility issues with [[colour Macro]] as a procedure\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8322\">> typo extra \"tags: \"\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8332\">> adding fields without clicking the \"add\" button\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8317\">> stability badges colors in the Gruvbox, Nord and Solarized palettes\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8333\">> crash with DataWidget if `$filter` attribute specifies a missing tiddler\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/6554b5c9f4f6888f0c25c833b775c3a74ea15531\">> reapplies [[#8246 Link to correct plugin instructions for Node.js|https://github.com/TiddlyWiki/TiddlyWiki5/pull/8246]] which had accidentally been reverted\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/d2c2ada33ccd3d73d39d8c0461f327e4dee68234\">> tour display in \"zoomin\" storyview\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/8f1792df2059378db0f038c563551373e5d95fbe\">> test case import icon\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8354\">> crash when editing JSON text of a plugin tiddler\n\n! Acknowledgements for v5.3.5\n\n[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:\n\n<<.contributors \"\"\"\nandrewgoz\nbtheado\nLeilei332\nmichaeljmcd\noeyoews\npmario\nspringerspandrel\n\"\"\">>\n\n---\n\n! Release Note for v5.3.4\n\nSince v5.3.5 replaces v5.3.4 after only a couple of weeks, here is the release note for v5.3.4.\n\n{{Release 5.3.4}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/pre-5.4.0/Release 5.3.6.tid",
    "content": "caption: 5.3.6\ncreated: 20241115170824144\ndescription: Improved Geospatial Plugin, Markdown Plugin, TestCaseWidget, Usability and Bug fixes\nmodified: 20241115194033978\nreleased: 20241115170824144\ntags: ReleaseNotes\ntitle: Release 5.3.6\ntype: text/vnd.tiddlywiki\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.3.5...v5.3.6]]//\n\n<<.banner-credits\n\tcredit:\"\"\"Congratulations to [[pmario|https://talk.tiddlywiki.org/u/pmario]] for their winning design for the banner for this release (here is the [[competition thread|https://talk.tiddlywiki.org/t/banner-image-competition-for-v5-3-6]]).\n\"\"\"\n\turl:\"https://raw.githubusercontent.com/TiddlyWiki/TiddlyWiki5/fdafdba1b07032f3d777bd3f782c4e62cfbf3731/editions/tw5.com/tiddlers/images/New%20Release%20Banner.png\"\n>>\n\n! Translation improvements\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8531\">> support for new language \"Chinese (Hong Kong)\"\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8669\">> support for new language \"English (Philippines)\"\n\nThis release includes improvements to the following translations:\n\n* Chinese\n* French\n* Japanese\n* Spanish\n* Polish\n\n<<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8703\">> [[the translators edition|Translate TiddlyWiki into your language]] with various fixes and updates\n\n! Plugin Improvements\n\n!! Geospatial Plugin\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8404\">> support for custom wikitext popups to be attached to map features\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8740\">> support for click actions to be attached to map features\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8437\">> ordering of latitude and longitude in geospatial operators\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8484\">> crash when geomap contains an empty geolayer widget\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8511\">> loading map state from saved tiddlers\n\n!! Markdown Plugin\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8486\">> support for dragging and dropping images directly into Markdown tiddlers\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8395\">> strikethrough, superscript and subscript editor toolbar buttons\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8402\">> readability of Markdown links to other tiddlers\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8459\">> image toolbar dropdown to editor toolbar\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8492\">> colour for target footnote background\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8585\">> settings tab\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8595\">> reorganised \"readme\" and \"config\" tabs\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8498\">> support for the excision tool\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8704\">> Markdown plugin to use the same formatting for highlighted text as ordinary WikiText\n\n!! Browser Storage Plugin\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8602\">> added support for separate messages to delete the cookie saved by the Browser Storage Plugin and for disabling the plugin entirely\n\n! TestCaseWidget and Related Improvements\n\nThis release includes several fixes and improvements to the TestCaseWidget, its default template, and the related DataWidget and CompoundTiddlers format. These features were first introduced in [[Release 5.3.4]] and are undergoing continuous improvement as we work on integrating them more widely across the system.\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8447\">> new `$compound-filter` attribute for the DataWidget that allows other compound tiddlers to be imported. There is also a companion ''import-compound'' field for the TestCaseWidget template\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8514\">> the TestCaseWidget default template to make it more modular\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8499\">> support for an ''import'' field in TestCaseTiddlers, allowing additional tiddlers to be imported\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8416\">> [[TestCaseWidget]] default template to allow wikitext within the test case narrative\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8449\">> WikiText formatting buttons when editing CompoundTiddlers\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8450\">> CompoundTiddlers type `text/vnd.tiddlywiki-multiple` to the editor type dropdown\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8409\">> filesystem handling so that CompoundTiddlers are saved as .tid files\n\n! Widget Improvements\n\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8256\">> DroppableWidget to allow actions to be triggered once passing all the items in the list rather than invoking the actions separately for each item in the list\n\n! Usability Improvements\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8545\">> new light and dark \"Flexoki\" palettes, originally designed by Steph Ango – see https://stephango.com/flexoki\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8643\">> presentation of core plugin settings by adding them to the main \"Settings\" tab in $:/ControlPanel\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8530\">> language descriptions by localising them\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8407\">> the contrast of plugin stability badges on hover\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8430\">> a \"copy to clipboard\" button to the view template body template used for code tiddlers\n* <<.link-badge-added \"github.com/TiddlyWiki/TiddlyWiki5/pull/8441\">> support for social media cards to be added to TiddlyWiki\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8518\">> type attribute to input fields in control panel, allowing virtual keyboards to switch to the proper one when editing settings\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8558\">> empty message to tag picker, search dropdown and advanced search\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8157\">> a search button to the control panel tiddler fields tab\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8323\">> (and <<.link-badge-here \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8324\">>) the view and edit toolbars with more descriptive Aria labels\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8594\">> export button so that it can be dragged to export the tiddlers to another wiki\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8606\">> $:/TagManager to use the [[colour-picker Macro]]\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8505\">> an animation while lazily loaded tiddlers are being loaded\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8628\">> font stacks used in \"Vanilla\" theme to contemporary best practice\n\n! Hackability Improvements\n\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8678\">> [[keyboard-driven-input Macro]] to use modern syntax\n* <<.link-badge-adds \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8699\">> a shortcut syntax for setting CSS variables on [[an HTML element|HTML in WikiText]]\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8698\">> support for a control panel setting to configure the maximum number of tiddlers shown in the \"recent\" tab\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8291\">> [[Table-of-Contents Macros]] to default to showing the table of contents for the current tiddler whenever no parameter is specified\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8431\">> support for the HTML entity `&NoBreak;` which can be useful for joining HTML elements without an unwanted linebreak\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8439\">> a keyboard shortcut for opening the control panel (by default it is <kbd>ctrl</kbd>-<kbd>alt</kbd>-<kbd>C</kbd>)\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8182\">> new [[Hidden Setting: Tag Pill Drag Filter]] that allows configuration of the tiddlers that are transferred when dragging a tag pill\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8384\">> tests to ensure that the syntax elements `{% %}` and `{= =}` are reserved for external tooling, and will never be recognised by TiddlyWiki itself\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8462\">> new cascades for the view template subtitle and tags\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8500\">> excision tool implementation to make the excision tiddler title translatable\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8584\">> editor toolbar buttons to use the new [[Conditional Shortcut Syntax]]\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8579\">> page control toolbar buttons to use the new [[Conditional Shortcut Syntax]]\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8559\">> [[WidgetMessage: tm-new-tiddler]] to allow tiddlers to be created with no tags field\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7941\">> ''startCount'' parameter to [[unusedtitle Macro]]\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7944\">> trimSelection parameter to [[WidgetMessage: tm-edit-text-operation]]\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8350\">> option to set a keyboard shortcut for the menubar search text input\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8614\">> (and <<.link-badge-here \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8642\">>) [[Plugin Stability]] badges to support translation of the labels\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8665\">> all core colour palettes to use six digit hex colours\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/a51afc8b818d81ea153c889295359c79562a5f7b\">> support for HTTP Bearer authentication to the [[WidgetMessage: tm-http-request]]\n\n! Bug Fixes\n\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/8683\">> ordering of global macros\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8690\">> [[timeline Macro]] to avoid exceeding the limit on the number of tiddlers displayed in a single day\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8333\">> tiddlers should not be interactive after they are closed\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8393\">> crash when [[WidgetMessage: tm-copy-to-clipboard]] is passed an empty string\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8399\">> disengage \"select all\" when cancelling an import\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8382\">> [[transcludes Operator]] and [[backtranscludes Operator]] minor issue with transclusions made via a filtered attribute\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/discussions/8428\">> scroll top position when animation duration is zero\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8476\">> importing $:/build tiddler when upgrading to avoid overwriting it\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/d9ac4a823fe0f91c615ed33fa890069f88cc8ab9\">> crash with RenderCommand when filename filter returns empty result\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8355\">> display of language plugins\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8540\">> (and <<.link-badge-here \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8546\">> and <<.link-badge-here \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8688\">>) display of non-square plugin icons\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8517\">> appearance of input elements other than type `text` and `search`\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/38081b86c97a795420515156fcd52177574be516\">> crash with filesystem adaptor if the wiki folder is missing\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8413\">> unwrapped oveflowed code blocks not showing scroll bars when setting \"Wrap long lines in code blocks\" to \"No\" in \"Theme tweaks\"\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7317\">> (and <<.link-badge-here \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8552\">>) search input box outline in Chrome-like browsers\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8578\">> problem with rapid typing in the advanced search filter tab\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8535\">> crash with EditionsCommand if an edition directory does not have a [[tiddlywiki.info file|tiddlywiki.info Files]]\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/b8fb9e6b21319e790e9aa7453ca265b0ed4898db\">> DataWidget to allow title fields to be overwritten\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/fa423e508ff5012423a1904bb17c9d61848732ee\">> \"Put Saver\" to correctly interpret HTTP response codes\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8547\">> invalid accept header in \"Put Saver\" \n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8485\">> duplicated search results in advanced search when more than one tiddlers are tagged with [[SystemTag: $:/tags/SearchResults]]\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/7dfdbae812306875bac2445ca4ee505b406e3be1\">> crash if the KeyboardWidget is used within a [[startup action|StartupActions]]\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8574\">> suffix in the [[encodebase64 Operator]] and [[decodebase64 Operator]]\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8557\">> overflow of floated elements\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/8523\">> (and <<.link-badge-here \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8652\">> and <<.link-badge-here \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8682\">>) tables overflowing  tiddler margins on narrow screens\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/8610\">> the [[colour-picker Macro]] wrongly autoclosing when selecting or typing a colour\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/8593\">> confusing message when the tag picker dropdown is empty\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8672\">> misaligned tiddler subtitle\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/f565b5b55da29d8acb428641c4594304d462a539\">> GenesisWidget so that explicit attributes take precedence\n\n! Node.js Improvements\n\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/ea3cb1c58d96eefd4aca07f5fd79ff1ba01f24fe\">> BuildCommand crashing when no wiki folder has been specified\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8339\">> server crash when authenticating if newlines are contained in the site title\n\n! Developer Improvements\n\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8423\">> the browser checks used in $:/boot/bootprefix.js\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8494\">> parse tree format to add `start`/`end` properties to table row and cell elements\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8265\">> and simplified plugin library edition usage\n\n! Acknowledgements\n\n[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:\n\n<<.contributors \"\"\"\nBramChen\nBurningTreeC\nbtheado\nEvidentlyCube\nflibbles\nhoelzro\nIchijikuIchigo\njeremyredhead\njoebordes\nkookma\nLeilei332\nlinonetwo\nmateuszwilczek\nmichaeljmcd\npmario\nPotOfCoffee2Go\nsaqimtiaz\nsimonbaird\nspringerspandrel\ntechmagus\ntwMat\nvalpackett\nwebplusai\nwolfsprite\nzorrox1024\n\"\"\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/pre-5.4.0/Release 5.3.7.tid",
    "content": "caption: 5.3.7\ncreated: 20250707115023707\ndescription: $:/ControlPanel Wiki Information Tab, Updated [[CodeMirror Plugin]]s to v5.65.19, Support AVIF Images and Bug Fixes\nmodified: 20250707165341181\nreleased: 20250707115023707\ntags: ReleaseNotes\ntitle: Release 5.3.7\ntype: text/vnd.tiddlywiki\n\n//[[See GitHub for detailed change history of this release|https://github.com/TiddlyWiki/TiddlyWiki5/compare/v5.3.6...master]]//\n\nThis is a minor bug fix release before introducing the major changes planned for v5.4.0. The changes planned for that release do involve some minor breaks in backwards compatibility so this release is intended to be a stable point for users before they upgrade.\n\n! New Features\n\n<<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/9130\">> The new ~TiddlyWiki Surveys edition at https://tiddlywiki.com/surveys.html is a home for surveys and interviews with the TiddlyWiki community. There will be a new 2025 survey soon, but in the meantime you can read the results of the Great Viral ~TiddlyWiki Interview Project from 2010.\n\n<<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/9099\">>The new Wiki Information tab in the control panel provides a convenient way to view and copy key configuration information about your wiki. This is useful for debugging and support purposes. Find it in $:/ControlPanel under the \"Info\" tab.\n\n! Translation improvements\n\n* Chinese\n* French\n* German\n* Greek\n* Japanese\n\n! Plugin Improvements\n\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/9114\">> [[CodeMirror Plugin]] to ~CodeMirror version to 5.65.19\n\n! Widget Improvements\n\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8816\">> 'disabled' attribute to SelectWidget and BrowseWidget\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8819\">> 'tabindex' attribute to BrowseWidget, RangeWidget, CheckboxWidget and RadioWidget\n\n! Usability Improvements\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8783\">> (and <<.link-badge-here \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/028c80782d105beb90f5d58a7f22e865c7e8c6f4\">>) [[Hidden Setting: Default Type for Missing Tiddlers]]\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8837\">> [[incorrect|https://localizejs.com/articles/why-using-flag-icons-can-confuse-your-users/]] use of national flags to represent languages\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8078\">> vertical spacing of sidebar \"Tools\" tab when displayed in the story river, and add some utility CSS classes\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/9102\">> control panel setting to specify the default tiddler info tab\n\n! Palette Improvements\n\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8661\">> DiffTextWidget colours to several core palettes\n* <<.link-badge-improved \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8807\">> (and <<.link-badge-here \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8911\">>) Flexoki palette with additional colours\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/9007\">> Vanilla palette with resolvable #RRGGBB values\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/9053\">> test case palette entries to the remaining core palettes\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/9020\">> (and <<.link-badge-here \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/9020\">>) ~SolarizedLight and ~SolarizedDark palettes to improve readability of stability badges and the download button\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/9016\">> Nord palette to improve accessibility and make the editor border visible\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/9009\">> ~ContrastDark palette to improve accessibility\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/9018\">> ~SolarFlare palette, fix plugin button hover and sidebar icon hover\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/9017\">> Rocker palette, make toolbar buttons visible, sidebar tabs adjusted\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/9014\">> ~GruvboxDark palette, improve accessibility contrast, add network activity\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/9013\">> ~DesertSand palette, fix some errors, make values resolvable\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/9012\">> ~DarkPhotos palette, make colours resolvable\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/9011\">> Cupertino dark palette\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/9010\">> ~ContrastLight palette, slightly improved contrast\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/9008\">> Blanca palette with resolvable values, add missing indices, slight colour adjustments\n\n! Hackability Improvements\n\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8768\">> several macros such as [[colour-picker Macro]], [[dumpvariables Macro]], [[image-picker Macro]], [[translink Macro]], [[tree Macro]] and [[list-links-draggable Macro]] to use the newer syntax\n* <<.link-badge-extended \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8780\">> rendered plain text template to support more languages\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8821\">> the editor link dropdown to use newer syntax\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8911\">> support for images in AVIF format\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/9076\">> a CSS class to the import table\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/9098\">> a CSS class to help style links in modals\n\n! Bug Fixes\n\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8800\">> problem with overwriting shadow tiddlers from plugins that do not have a `plugin-priority` field\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8831\">> (and <<.link-badge-here \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8835\">>) problem with switching language not correctly updating the `lang` attribute of the root `<html>` element\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/8842\">> bug with refreshing ExternalImages with a `_canonical_uri` field\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8882\">> [[unusedtitle Macro]] to trim whitespace from the generated title\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8898\">> file extensions and MIME types for font files\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8903\">> bug where the wiki would be marked as dirty when a shadow tiddler is changed\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8895\">> unnecessary refresh with GenesisWidget\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/d4bc3fcd998902c17cd6bcefdc8d380e5c224458\">> [[WidgetMessage: tm-http-request]] to pass custom variables to the progress actions\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8930\">> FillWidget to no longer display its content\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/8921\">> inconsistent whitespace in page toolbar \"More\" dropdown\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8931\">> RSOD with [[contains Operator]] if created field is accessed\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/8881\">> incorrect .html file extension of exported tiddlers on Android\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8951\">> Arabic text using sans-serif font by adding \"system-ui\" to default font family \n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/8955\">> refresh problem with \"save\" button\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8721\">> [[list-tagged-draggable Macro]] to use the \"caption\" field if available\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8959\">> problem with missing expandable arrow in [[toc-selective-expandable|Table-of-Contents Macros]]\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/5930\">> the default value does not work for the CheckboxWidget if it is bound to an index in a data tiddler\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/8970\">> [[median Operator]] to order values as numbers, not strings\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/8958\">> red screen of embarrassment error with moduleproperty filter operator\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/8946\">> red screen of embarrassment when using a [[startup action|StartupActions]] with the [[now Macro]]\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/9026\">> some download file types not being specified\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/9032\">> configuration filter in $:/AdvancedSearch \"Standard\" tab\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/9025\">> stringification of derived fields for [[tiddlywiki.files Files]]\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8739\">> broken tag pill styling in edit mode after v5.3.3\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/9105\">> adding external themes to the [[Highlight Plugin]]\n\n! Node.js Improvements\n\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8789\">> incorrect redirect when combining a custom [[path-prefix|WebServer Parameter: path-prefix]] with manual HTTP Basic Authentication via the [[/login-basic|WebServer API: Force Basic Authentication Login]] endpoint\n* <<.link-badge-fixed \"https://github.com/TiddlyWiki/TiddlyWiki5/commit/55dbce10f461c41240d2c6ee5a49bd6ed0edc15b\">> crash loading large files\n\n! Performance Improvements\n\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/issues/8952\">> plugin editions to use the external core\n\n! Developer Improvements\n\n* <<.link-badge-updated \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/8978\">> Widget.prototype.addEventListener not overwriting old listeners\n* <<.link-badge-added \"https://github.com/TiddlyWiki/TiddlyWiki5/pull/7596\">> configurations for [[dprint|https://dprint.dev/]] and [[eslint|https://eslint.org/]] (partially reverted in [[#8987|https://github.com/TiddlyWiki/TiddlyWiki5/pull/8987]])\n\n! Acknowledgements\n\n[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:\n\n<<.contributors \"\"\"\nbobjtls\nDesignThinkerer\nflibbles\ngalenhuntington\nhoelzro\nIchijikuIchigo\njbaldus\njeremyredhead\njrbntt\njryans\nkookma\nLeilei332\nlinonetwo\nmatthewsalmon\nmichaeljmcd\nopn\npmario\nRhys-T\nsaqimtiaz\nwell-noted\nxcazin\nyaisog\n\"\"\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/releasenotes/pre-5.4.0/Release 5.3.8.tid",
    "content": "caption: 5.3.8\ncreated: 20250807084952911\ndescription: Bugfix release for 5.3.7\nmodified: 20250807100514203\nreleased: 20250807084952911\ntags: ReleaseNotes\ntitle: Release 5.3.8\ntype: text/vnd.tiddlywiki\n\n\\define release-introduction()\nThis is a bug fix release for TiddlyWiki [[Release 5.3.7]] that fixes problems introduced in that release.\n\\end release-introduction\n\n\\define banner-credit-user-name() Christian Byron\n\\define banner-credit-user-link() https://talk.tiddlywiki.org/u/Christian_Byron\n\\define banner-credit-discussion-link() https://talk.tiddlywiki.org/t/planning-a-v5-3-8-bug-fix-release/12963\n\\define banner-credit-permalink() https://raw.githubusercontent.com/TiddlyWiki/TiddlyWiki5/e8a7bbf14e078d83ab6ba55a80cb8d9ba5290303/editions/tw5.com/tiddlers/images/New%20Release%20Banner.png\n\n<<releasenote 5.3.8>>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/roadmap/RoadMap.tid",
    "content": "created: 20130823203800000\nmodified: 20260220093010752\ntags: About\ntitle: RoadMap\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki was first released in 2013, 9 years after the original [[TiddlyWiki Classic]]. Since then there have been 41 releases, making TiddlyWiki steadily more flexible and reliable. We have ambitious plans for the future as well: v5.4.x, v5.5.x, and eventually TWXX.\n\nOur version numbering follows the form v5.x.0. ~TiddlyWiki is currently on v<<version>>, and so we are currently working towards v5.4.0.\n\nThere is a detailed project plan on GitHub, but the major milestones are planned as follows:\n\n* TiddlyWiki v5.4.0 will be followed by further v5.4.x releases to fix bugs and incrementally improve features. If there are significant backwards compatibility concerns then those improvements will be pushed into v5.5.0, the next release to make minor backwards comatibility tweaks.\n* We'll go on to make v5.6.0, v5.7.0 etc releases until we're ready to release the next major redesign, that is not compromised by backwards compatibility. We are calling this release ~TiddlyWiki XX (\"~TiddlyWiki Twenty\", or TWXX).\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/roadmap/multiwikiserver/MultiWikiServer.tid",
    "content": "title: MultiWikiServer\ntags: Definitions\nmodified: 20241105133737778\ncreated: 20241105133737778\n\n<span class=\"tc-float-right tc-bordered-image\">[img width=200 [MWS Banner.png]]</span>\n~MultiWikiServer is a new development that drastically improves ~TiddlyWiki's capabilities when running as a server under Node.js. It brings ~TiddlyWiki up to par with common web-based tools like ~WordPress or ~MediaWiki by supporting multiple wikis and multiple users at the same time.\n\nPlanned features include:\n\n* Hosting multiple wikis at once, using the [[Bags and Recipes]] mechanism for sharing data between them\n* Robust authentication and authorisation options\n* Improved handling of file uploads and attachments, allowing gigabyte video files to be uploaded and streamed\n* Instantaneous synchronisation of changes between the server and all connected clients\n* Workflow processing on the server, for example to automatically compress images, or to archive webpages\n\nMWS does require basic knowledge of the command line and Node.js but is designed to be as simple as possible to setup and use. A few simple commands are all that is needed to complete the installation and start the server.\n\nMWS is currently under development at ~GitHub but it is already functional and usable:\n\nhttps://github.com/TiddlyWiki/MultiWikiServer/\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/saving/Emergency Tiddler Export.tid",
    "content": "caption: Emergency Export\ncolor: #7986CB\ncreated: 20180309211328412\ndelivery: Saver\ndescription: Retrieve and save tiddlers when saving is broken\nmethod: save\nmodified: 20200507202809334\ntags: Android Chrome Firefox [[Internet Explorer]] Linux Mac Opera Safari Saving Windows Edge\ntitle: Emergency Tiddler Export\ntype: text/vnd.tiddlywiki\n\nThis method is useful if, for any reason, you should find your current TiddlyWiki instance is not saving (e.g. a plugin or a server has stopped working). It should work on just about any platform.\n\n* Go to advanced search {{$:/core/ui/Buttons/advanced-search}}\n** Goto the filter tab\n** Enter the following filter text: \n\n\n```\n[!is[system]!sort[modified]limit[25]]\n```\n* Check the list of tiddlers.\n* Adjust the number \"25\" in the filter to make sure you found  all your recently modified tiddlers\n* Press the bucket with the up arrow [<button class=\"tc-btn-invisible\" disabled><<.icon $:/core/images/export-button>></button>] which appears on the right\n* A dialogue window will ask for a location to download a file called tiddler.json on your local drive, or depending on browser configuration, just alert you that such a file will be downloaded. Press save.\n* The `tiddlers.json` file can be imported (tools in sidebar) or drag and drop the file on the top line of the story river of another TW . \n** You can (de)select specific tiddlers. \n** Finally, press `import`.\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/saving/Encrypted Wiki Import Problems.tid",
    "content": "created: 20250617180651017\nmodified: 20250617183155928\ntags: Encryption\ntitle: Encrypted Wiki Import Problems\ntype: text/vnd.tiddlywiki\n\nThere have been some problems with ''importing encrypted'' TWs ''into'' version v5.2.0 and v5.2.1.\n\nWhile encrypting and decrypting single file wikis with v5.2.0 and v5.2.1 works as intended. There are some problems if encrypted wikis are ''imported'', if those wikis have been ''encrypted with any other version''.\n\nSo if you import a wiki that was been encrypted with eg: TW v5.1.23 into v5.2.0 or v5.2.1 the v5.1.23 wiki could not be decrypted by v5.2.0 or v5.2.1.\n\n!! Upgrading\n\n* ''Importing'' encrypted wikis from any v5.1.x, v5.2.x and v5.3.x ''into the latest'' TW versions ''works as expected''\n* The ''only target'' TW versions that can cause ''importing problems'' are ''v5.2.0'' and ''v5.2.1''\n\n!! Downgrading\n\n* Importing an encrypted v5.''3''.x into v5.''2''.x and v5.''3''.x ''works'' as expected\n** ''Except'' v5.2.0 and v5.2.1\n* Importing an encrypted v5.''3''.x to v5.''1''.x ''does not work''\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/saving/Encryption.tid",
    "content": "created: 20130825160900000\nmodified: 20250617140259415\ntags: Features [[Working with TiddlyWiki]]\ntitle: Encryption\ntype: text/vnd.tiddlywiki\n\nWhen used as a single HTML file, TiddlyWiki5 allows content to be encrypted with AES 256 bit encryption in CCM mode using the [[Stanford JavaScript Crypto Library]]. \n\n# Switch to the ''Tools'' tab in the sidebar and look for the button with a padlock icon\n# If the button is labelled <<.icon $:/core/images/unlocked-padlock>> ''set password'' then the current wiki is not encrypted. Clicking the button will prompt for a password that will be used to encrypt subsequent saves\n# If the button is labelled <<.icon $:/core/images/locked-padlock>> ''clear password'' then the current wiki is already encrypted. Clicking the button will remove the password so that subsequent saves will be unencrypted\n# Optionally, open the saved file in a text editor and verify that your data is encrypted\n# Open the file in your browser. You will be prompted for a password before the content is displayed\n\nNote that TiddlyWiki has two other unrelated features concerned with passwords/encryption:\n\n* The ability to set a password when saving to [[Tiddlyhost]]. This is done in the \"Saving\" tab of ''control panel'' <<.icon $:/core/images/options-button>>.\n* The ability to use standard HTTP basic authentication with the [[Node.js|TiddlyWiki on Node.js]] server configuration. This is done on the command line with the ListenCommand. Combined with SSL, this gives the same level of transit encryption as you'd get with online services like Google or Dropbox, but there is no encryption of data on disk\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/saving/Example config-tiddlyweb-host for IIS.txt",
    "content": "title: $:/config/tiddlyweb/host\ntext: $protocol$//$host$/MyApp/\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/saving/Example config-tiddlyweb-host for IIS.txt.meta",
    "content": "title: Example config-tiddlyweb-host for IIS\ncreated: 20180328145039530\nmodified: 20180328145234871\ntags: [[Installing TiddlyWiki on Microsoft Internet Information Server]]\ntype: text/plain\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/saving/Example package.json for IIS.txt",
    "content": "{\n    \"name\": \"MyStuff\",\n    \"description\": \"A description of this wiki\",\n    \"dependencies\": {\n        \"sax\": \"1.2.4\",\n        \"tiddlywiki\": \"*\"\n    }\n}"
  },
  {
    "path": "editions/tw5.com/tiddlers/saving/Example package.json for IIS.txt.meta",
    "content": "created: 20180328145039530\nmodified: 20180328145234871\ntags: [[Installing TiddlyWiki on Microsoft Internet Information Server]]\ntitle: Example package.json for IIS\ntype: text/plain\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/saving/Example tiddlywiki.info for IIS.txt",
    "content": "{\n\t\"description\": \"My wiki\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/tiddlyweb\",\n\t\t\"tiddlywiki/filesystem\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\"\n\t]\n}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/saving/Example tiddlywiki.info for IIS.txt.meta",
    "content": "created: 20180328151124878\nmodified: 20180328151214616\ntags: [[Installing TiddlyWiki on Microsoft Internet Information Server]]\ntitle: Example tiddlywiki.info for IIS\ntype: text/plain\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/saving/Example web.config for IIS.txt",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<configuration>\n    <system.webServer>\n        <handlers>\n            <add \n                name=\"httpplatformhandler\"\n                path=\"*\"\n                verb=\"*\"\n                modules=\"httpPlatformHandler\"\n                resourceType=\"Unspecified\"\n                requireAccess=\"Script\" />\n        </handlers>\n        <httpPlatform \n           stdoutLogEnabled=\"true\"\n           stdoutLogFile=\".\\node.log\"\n           startupTimeLimit=\"20\"\n           processPath=\"C:\\Program Files\\nodejs\\node.exe\"\n           arguments=\".\\node_modules\\tiddlywiki\\tiddlywiki.js ./wiki --listen port=PORT path-prefix=/MyApp\">\n            <environmentVariables>\n                <environmentVariable name=\"PORT\" value=\"%HTTP_PLATFORM_PORT%\" />\n                <environmentVariable name=\"NODE_ENV\" value=\"Production\" />\n            </environmentVariables>            \n        </httpPlatform>\n    </system.webServer>\n</configuration>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/saving/Example web.config for IIS.txt.meta",
    "content": "created: 20180328145259455\nmodified: 20180701185215523\ntags: [[Installing TiddlyWiki on Microsoft Internet Information Server]]\ntitle: Example web.config for IIS\ntype: text/plain\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/saving/Installing TiddlyWiki on Microsoft Internet Information Server.tid",
    "content": "caption: Internet Information Services\ncolor: #F06292\ncreated: 20180328120356008\ndelivery: DIY\ndescription: Windows' built-in web server\nmethod: sync\nmodified: 20200507105855400\ntags: Saving [[TiddlyWiki on Node.js]] Windows\ntitle: Installing TiddlyWiki on Microsoft Internet Information Server\ntype: text/vnd.tiddlywiki\n\n\\define example-file(title)\n<$transclude tiddler=\"$title$\" mode=\"block\"/> <$macrocall $name=\"copy-to-clipboard\" src={{$title$}}/>\n\\end\n\nMicrosoft's [[Internet Information Server|https://en.wikipedia.org/wiki/Internet_Information_Services]] (IIS) is the built-in web server for Windows. It can be useful to host TiddlyWiki within IIS in order to take advantage of IIS features like URL rewriting, static file hosting and automatic restarts after a crash.\n\n! 1. Enable IIS\n\n# In Windows, access the Control Panel and click ''Add or Remove Programs''\n# In the Add or Remove Programs window, click ''Add/Remove Windows Components''.\n# Select the ''Internet Information Services (IIS)'' check box\n# Click ''Next'', then click ''Finish''\n\n! 2. Install the required tools\n\n# Install the IIS module ~HttpPlatformHandler from https://www.iis.net/downloads/microsoft/httpplatformhandler\n# Install [[Node.js]] from https://nodejs.org/\n# Install Git from https://git-scm.com/\n#* //optional; only required when using the latest TiddlyWiki release pulled directly from ~GitHub -- see below//\n\n! 3. Install TiddlyWiki and setup a new wiki\n\n# Create a convenient directory for the wiki (e.g. `C:\\MyStuff`)\n# Within it, create a file called `C:\\MyStuff\\package.json` with the content:\n#> <<example-file \"Example package.json for IIS\">>\n# Also create a file called `C:\\MyStuff\\web.config` with the content:\n#> <<example-file \"Example web.config for IIS\">>\n# Create a subdirectory called \"wiki\" (i.e. `C:\\MyStuff\\wiki`)\n# Create a file called `C:\\MyStuff\\wiki\\tiddlywiki.info` with the content:\n#> <<example-file \"Example tiddlywiki.info for IIS\">>\n# Create a subdirectory called \"tiddlers\" (i.e. `C:\\MyStuff\\wiki\\tiddlers`)\n# Within it, create a file called `C:\\MyStuff\\wiki\\tiddlers\\config-tiddlyweb-host.tid` with the content:\n#> <<example-file \"Example config-tiddlyweb-host for IIS\">>\n#* (See [[the documentation|https://docs.microsoft.com/en-us/iis/extensions/httpplatformhandler/httpplatformhandler-configuration-reference]] for details of the configuration fields for ~HttpPlatformHandler\n# Execute the command `npm install` within the `C:/MyStuff` directory\n\n! 4. Setup the application in IIS\n\n* In Windows, run the IIS Manager application (use the start menu to run `inetmgr.exe`)\n* Locate the server in the ''Connections'' column on the left, and click the disclosure triangle to show its content\n* Open the ''Sites'' folder\n* Right click on the ''Default Web Site'' entry, and select ''Add application..'' from the menu\n* Enter the following information in the dialogue box:\n*# ''Alias'': `MyApp`\n*# ''Physical path'': `C:\\MyStuff`\n* Click ''OK''\n\n! 5. Test the application\n\nTest the app by visiting http://localhost/MyApp/ in a browser.\n\n! Notes\n\n* If you require authentication, specify a username and password in the `--listen` command in `web.config`. For example:\n** `arguments=\".\\node_modules\\tiddlywiki\\tiddlywiki.js ./wiki-server --listen username=joe &quot;password=bloggs&quot; port=PORT path-prefix=/MyApp\">`\n** Take note of the need to use double quotes around non-alphanumeric passwords, and to HTML encode them into `&quot;`\n* If you change the settings in the `web.config` file, or modify the app code, then you'll need to restart the server using the IIS manager application\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/saving/Saving on Android.tid",
    "content": "caption: Tiddloid and Tiddloid Lite\ncolor: #FF8A65\ncommunity-author: donmor\ncreated: 20130825161400000\ndelivery: App\ndescription: Android app for saving changes locally to device storage\nmethod: save\nmodified: 20200507103926292\ntags: Saving Android [[Standalone App]]\ntitle: Saving on Android\ntype: text/vnd.tiddlywiki\nurl: https://github.com/donmor/Tiddloid\n\nThe Tiddloid and Tiddloid Lite app are Android apps that makes it possible to edit and save changes to TiddlyWiki HTML files. \n\n* For more information: [[Tiddloid|https://github.com/donmor/Tiddloid]] [[Tiddloid Lite|https://github.com/donmor/TiddloidLite]].\n* Download apks: [[Tiddloid|https://github.com/donmor/Tiddloid/releases]], [[TiddloidLite|https://github.com/donmor/TiddloidLite/releases]]\n\n\n!!! Features\n\n* Create new ~TiddlyWiki importing latest edition from internet\n* Import existing ~TiddlyWikis stored on device/internal storage. ([[TiddloidLite|https://github.com/donmor/TiddloidLite/releases]] supports external SD card too)\n* Fork interesting ~Tiddlywikis from internet  (Supports TW5 only)\n* TiddlyWiki detection\n* Locally stored ~Tiddlywikis are updated simultaneously on saving changes to ~TiddlyWikis imported to the app\n* Backup system that is compatible with TiddlyDesktop, the desktop TiddlyWiki saver\n* Creating shortcuts to existing ~TiddlyWiki  on Android Homepage\n* [[TiddloidLite|https://github.com/donmor/TiddloidLite/releases]] supports cloud storages like GDrive and ~OneDrive\n\n!!! Please note\n\n* Tiddloid Lite feature better support for devices running Android Q or later. It also supports cloud storages like GDrive and ~OneDrive, while Tiddloid keeps the compatibility to TiddlyWikiClassic. To know more about differences between Tiddloid and  Tiddloid Lite, please visit [[Tiddloid's homepage|https://github.com/donmor/Tiddloid]].\n* You should keep the `.html` or `.htm` extension of the files to be imported."
  },
  {
    "path": "editions/tw5.com/tiddlers/saving/Saving on Browser with TiddlyStow.tid",
    "content": "caption: ~TiddlyStow (experimental)\ncolor: #FF8A65\ncreated: 20230403170650008\ndelivery: Saver\ndescription: Save changes using new versions of Chromium based browsers\nmethod: save\nmodified: 20230403183020357\ntags: Chrome Edge Opera Saving Linux Mac Windows\ntitle: Saving on Browser with TiddlyStow\ntype: text/vnd.tiddlywiki\nurl: https://github.com/btheado/tiddlystow\n\n''Link:'' {{!!url}}\n\nTiddlystow saves TiddlyWiki files locally using the browser file system API (Chrome-based browsers currently). \nThis is a simple web page for loading a local TiddlyWiki file and storing it back to the same local file requiring no plugins or extensions.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/saving/Saving on Browser with the File System Access API.tid",
    "content": "caption: TW5-browser-nativesaver (experimental)\r\ncolor: #FF8A65\r\ncreated: 20220206035734757\r\ndelivery: Saver\r\ndescription: Save changes using new versions of Chromium based browsers\r\nmethod: save\r\nmodified: 20220206035734757\r\ntags: Chrome Edge Opera Saving Linux Mac Windows\r\ntitle: Saving on Browser with File System Access API\r\ntype: text/vnd.tiddlywiki\r\n\r\nTiddlywiki can save changes to the filesystem without [[downloading a new file each time|Saving with the HTML5 fallback saver]]\r\neach time using the [[File System Access API|https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API]].\r\n\r\n<<.warning \"This API is not yet fully standardized hence this method of saving is somewhat experimental.\">>\r\n\r\nThe API used by this saver works in most Chromium based browsers. See [[caniuse|https://caniuse.com/native-filesystem-api]]\r\nfor up to date information on browser support.\r\n\r\n* [[Plugin Wiki|https://slaymaker1907.github.io/tiddlywiki/plugin-library.html]]\r\n* [[GitHub Repo|https://github.com/slaymaker1907/TW5-browser-nativesaver]]\r\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/saving/Saving on TidGi.tid",
    "content": "caption: ~TidGi Desktop\ncolor: #FF8A65\ncommunity-author: LinOnetwo\ncreated: 20220221080637764\ndelivery: App\ndescription: Desktop application for serving and syncing TiddlyWiki\nmethod: save\ntags: Saving Mac Windows Linux [[Standalone App]]\ntitle: Saving on TidGi Desktop\ntype: text/vnd.tiddlywiki\nurl: https://github.com/tiddly-gittly/TidGi-Desktop/releases/latest\n\nSee its [[readme|https://github.com/tiddly-gittly/TidGi-Desktop#readme]] about details of TidGi's design decisions, here is a brief summary:\n\n# TidGi runs [[TiddlyWiki on Node.js]] while [[TiddlyDesktop|Saving on TiddlyDesktop]] focus on single HTML wiki\n# TidGi has built-in git-sync backup script\n# TidGi provides some electron based feature, such as a menubar mini window and a shell executor.\n\n!!! How to install\n\n# Install the latest release of TidGi Desktop from {{!!url}}\n# Run TidGi\n# Create a new wiki, or open an existing nodejs tiddlywiki folder\n# Changes are automatically saved, you can optionally configue it to sync to the github every 30min\n\n[img[https://github.com/tiddly-gittly/TidGi-Desktop/raw/master/docs/images/preference.png]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/saving/Saving on TiddlyDesktop.tid",
    "content": "caption: ~TiddlyDesktop\ncolor: #FF8A65\ncommunity-author: Jeremy Ruston\ncreated: 20171112085137764\ndelivery: App\ndescription: Custom desktop application for working with TiddlyWiki\nmethod: save\nmodified: 20200507104332791\ntags: Saving Mac Windows Linux [[Standalone App]]\ntitle: Saving on TiddlyDesktop\ntype: text/vnd.tiddlywiki\nurl: https://github.com/TiddlyWiki/TiddlyDesktop/releases\n\nSee the [[Introducing TiddlyDesktop Video]]\n\n# Install the latest release of TiddlyDesktop from https://github.com/TiddlyWiki/TiddlyDesktop/releases\n# Run TiddlyDesktop\n# Use the browse button to open TiddlyWiki files\n# Save changes within TiddlyWiki in the usual way\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/saving/Saving on TiddlyHost.tid",
    "content": "caption: ~TiddlyHost\ncolor: #29B6F6\ncommunity-author: Simon Baird\ncreated: 20210422191232572\ndelivery: Service\ndescription: Online service for creating and hosting ~TiddlyWikis\nmethod: save\nmodified: 20210423003921468\ntags: Android Chrome Firefox [[Internet Explorer]] Linux Mac Opera PHP Safari Saving Windows iOS Edge\ntitle: Saving on TiddlyHost\ntype: text/vnd.tiddlywiki\n\n[img width=140 [https://github.com/simonbaird/tiddlyhost/raw/main/rails/app/assets/images/logo-800.png]]\n\n[[TiddlyHost.com|https://tiddlyhost.com/]] is a hosting service for TiddlyWiki created by Simon Baird. Once you sign up and confirm your email you can create \"sites\", (i.e. ~TiddlyWikis), with support for online saving. Sites can be private or public, and you can optionally list them on the taggable and searchable [[TiddlyHost Hub|https://tiddlyhost.com/hub]] where they'll be discoverable by others.\n\nUnlike [[TiddlySpot|Saving on TiddlySpot]], [[TiddlyHost|https://tiddlyhost.com]] is secure, open source, and has proper support for TiddlyWiki5. It also allows uploading existing ~TiddlyWiki files, supports TiddlyWikiClassic, and lets you claim ownership of your ~TiddlySpot sites. For more information see the [[FAQ|https://github.com/simonbaird/tiddlyhost/wiki/FAQ]] and the [[About|https://tiddlyhost.com/about]] page.\n\nIf you find Tiddlyhost useful, please consider [[donation or sponsorship|https://tiddlyhost.com/donate]].\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/saving/Saving on TiddlySpot.tid",
    "content": "caption: ~TiddlySpot\ncolor: #29B6F6\ncommunity-author: Simon Baird & Daniel Baird\ncreated: 20130825213500000\ndelivery: Service\ndescription: Online TiddlyWiki hosting. (Deprecated in favour of TiddlyHost)\nmethod: save\nmodified: 20210423004027196\ntitle: Saving on TiddlySpot\ntype: text/vnd.tiddlywiki\n\n----\n<<.warning \"''Please note: ~TiddlySpot is in maintenance mode and no longer allows new sites to be created. Instead of ~TiddlySpot you can now use [[TiddlyHost|Saving on TiddlyHost]], a new service from the creator of ~TiddlySpot.''\">>\n----\n[img[https://raw.githubusercontent.com/simonbaird/tiddlyhost/main/rails/app/assets/images/tiddlyspot-banner-logo.png]]\n\n[[TiddlySpot.com|http://tiddlyspot.com]] is a hosting service for TiddlyWiki created in 2006 by Simon Baird and Daniel Baird.\n\nIn early 2021 it was superseded by [[TiddlyHost|Saving on TiddlyHost]], a new, secure, modern reimagining of ~TiddlySpot. Creating new sites on ~TiddlySpot is no longer supported, (though sites created in 2020 or earlier are still functional).\n\n!! Security warning for ~TiddlySpot\n\nNote that your password is sent unencrypted when using ~TiddlySpot. From the [[FAQ|http://faq.tiddlyspot.com/]]:\n\n<<<\n''Is Tiddlyspot secure?''\n\nNo. Tiddlyspot does not use SSL/https, so all ~TiddlySpot web traffic is vulnerable to packet sniffing. This means your password and site data could be intercepted by a malicious third party. For this reason, please don't keep sensitive information in your ~TiddlySpot site, and don't use a password that you use for other web sites.\n<<<\n\n!! Problems with saving on ~TiddlySpot\n\nIn case you run into this error when uploading a freshly upgraded local TiddlyWiki to ~TiddlySpot:\n\n<<<\nError: NS_ERROR_DOM_BAD_URI: Access to restricted URI denied\n<<<\n\nThe upgrade operation falls foul of a security restriction in Firefox. Until this can be resolved, we suggest using Chrome.\n\n* Use Chrome to open the local TiddlyWiki document you want to upload to ~TiddlySpot and follow the steps 1 through 5 described at [[Upgrading]].\n* Once you've checked the ~TiddlySpot-hosted TiddlyWiki loads properly in Chrome, you should be able to access, edit and [[save using TiddlyFox|Saving with TiddlyFox]] again.\n* After you've uploaded your local document once, further editing and saving of the online version hosted on ~TiddlySpot should work with any modern browser of your choice. (Don't forget to fill in the ~TiddlySpot password in your ~TiddlySpot TiddlyWiki control panel for any new browser you want to use for saving changes.)\n\n//See also: [[Upgrading]]//\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/saving/Saving on a PHP Server.tid",
    "content": "caption: PHP\ncolor: #F06292\ncreated: 20140111091844267\ndelivery: DIY\ndescription: DIY script you can install on your own server\nmethod: save\nmodified: 20200507110314202\ntags: Saving PHP\ntitle: Saving on a PHP Server\ntype: text/vnd.tiddlywiki\n\nThe built-in `TiddlySpot `saver can also be used to save changes to a simple PHP script that you can run on most hosting providers.\n\n//This code hasn't been updated in several years. If you have difficulty with it, consider using [[TW Receiver|Saving with TW Receiver]] instead//\n\n# Download a copy of `TiddlyHome_0.1.2.zip` from https://code.google.com/archive/p/bidix/downloads\n# Unzip. \n# Extract a copy of `store.php` from under the unzipped subdirectory `_th\\lib`\n# Edit your copy of ''store.php'' to add your username(s) and password(s). Find the line `$USERS = array( 'UserName1'=>'Password1', etc)` and replace Username1 and Password1 with your desired username and password\n#* Make sure you leave all the punctuation and code, such as the single quotes, intact\n# Save the file\n# Using FTP or your web interface, upload ''store.php'' to your server. Make sure that the filename is correct\n#* If you've uploaded the file correctly you should be able to view it in your browser (eg, http://example.com/store.php)\n# In TiddlyWiki, go to the ''Saving'' tab of the ''control panel'' <<.icon $:/core/images/options-button>> and enter the following information:\n#* Your username as the wiki name\n#* Your password\n#* The URL of the ''store.php'' file (//''not'' the URL of the wiki, this must the full URL to the ''store.php'' file//)\n\nThe control panel ''Saving'' tab includes the following configuration options:\n\n|!Name |!Description |\n|Server URL |The full URL to the ''store.php'' file on your server |\n|Upload filename |The filename used to save the TiddlyWiki (defaults to ''index.html'') |\n|Upload directory |The relative path from ''store.php'' to the directory used for saving the file |\n|Backup directory |The relative path from ''store.php'' to the directory used for backups |\n\n!!! Note about maximum size\n\nAs your TW file increases in size, you may need to modify  your `.htaccess` or `htaccess` file (depending on system)  to increase the value of the maximum upload and/or post size. Check with your Web Host Provider for your particular settings. Be sure also to make backups before experiementing. On some systems, the settings might look like:\n\n```\nphp_value upload_max_filesize 4M\nphp_value post_max_size 6M\n```\n\n!!! Note about possible error message\n\nIf you get an error message regarding `split()`, you may need to change references  to `split` in ''store.php'' to function `explode` .\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/saving/Saving on iPad_iPhone.tid",
    "content": "caption: Quine\ncolor: #FF8A65\ncommunity-author: Chris Hunt\ncreated: 20131129101027725\ndelivery: App\ndescription: iPad/iPhone app for working with TiddlyWiki\nmethod: save\nmodified: 20201007205336209\ntags: Saving iOS [[Standalone App]]\ntitle: Saving on iPad/iPhone\ntype: text/vnd.tiddlywiki\n\nThe iPad/iPhone app ''Quine 2'' makes it possible to view, edit and then save changes to TiddlyWiki5 on iOS. [[Download it here|https://apps.apple.com/us/app/quine-2/id1450128957]].\n\nInstructions for use:\n\n# Open Quine 2\n# Tap the + toolbar button to create and open a new TiddlyWiki\n# From the file list tap an existing TiddlyWiki file to open it\n# Edit the TiddlyWiki as normal, and save as normal using either Autosave or the TiddlyWiki save button <<.icon $:/core/images/save-button-dynamic>>\n# Tap the left hand \"Documents\" toolbar button to close an open TiddlyWiki\n\n*Quine 2 works natively in iOS with the local file system and the iCloud file system\n*Quine 2 also allows you to open, edit and save TiddlyWiki files stored with cloud file providers\n*Quine 2 allows you to follow embedded WikiText links and canonical links to external files for cloud-like file providers which support \"folder level sharing\". \n**This includes the apps \"Secure Shellfish\" and \"Working Copy\". Most providers, though, do not allow apps like Quine 2 to access linked files this way.\n** If you wish to enable such links for \"well behaved\" file providers, toggle \"on\" the \"Enable folder selection for out-of-sandbox links\" setting in iOS Settings for Quine 2\n\n//Note that Quine is published independently of TiddlyWiki//\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/saving/Saving to a Git service.tid",
    "content": "caption: Git Service Saver\ncolor: #29B6F6\ncreated: 20190408173002622\ndelivery: Service\ndescription: Save changes directly to a Git repository (on GitHub, GitLab)\nmethod: save\nmodified: 20230723074211772\ntags: Android Chrome Firefox [[Internet Explorer]] Linux Mac Opera Safari Saving Windows iOS Edge\ntitle: Saving to a Git service\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki can save changes directly to a GitHub repository in the single file configuration.\n\nSaving to a Git service is configured in the [[$:/ControlPanel]] in the ''Git Service Saver'' tab under the ''Saving'' tab. The following settings are supported:\n\n* ''Type'' - (mandatory) the type of the service (e.g. GitHub, GitLab)\n* ''Username'' - (mandatory) the username for the Git service account used for saving changes\n* ''Password'' - (mandatory) the OAUTH token or personal access token for the specified account. Note that GitHub deprecated password authentication, permitted authentication methods are shown in the [[API documentation|https://developer.github.com/v3/#authentication]].\n* ''Repository'' - (mandatory) the name of the Git repository. Both the owner name and the repository name must be specified. For example `Jermolene/TiddlyWiki5`\n* ''Branch'' - (optional) the name of the branch to be used within the Git repository. Defaults to `main` (~GitHub) or `master` (~GitLab)\"\n* ''Path'' - (optional) the path to the target file. Defaults to `/`\n* ''Filename'' - (mandatory) the filename of the target file\n\nNotes\n\n* The Git service token or password is stored persistently in browser local storage. Be sure to clear the password if using a shared machine. Using a personal access token for authentication offers an extra layer of security: if the access token is accidentally exposed it can be revoked without needing to reset the account password\n\n---\n\nFor a more detailed info about the ~GitHub saver see: [[GitHub Saver Tutorial by Mohammad]]"
  },
  {
    "path": "editions/tw5.com/tiddlers/saving/Saving via WebDAV.tid",
    "content": "caption: ~WebDAV\ncolor: #f48fb1\ncreated: 20160216191710789\ndelivery: Protocol\ndescription: Standard web protocol available on products such as Sharepoint\nmethod: save\nmodified: 20260102081028704\ntags: Android Chrome Firefox [[Internet Explorer]] Linux Mac Opera PHP Safari Saving Windows iOS Edge\ntitle: Saving via WebDAV\ntype: text/vnd.tiddlywiki\n\nIf hosted on a [[WebDAV|https://en.wikipedia.org/wiki/WebDAV]]-enabled server, TiddlyWiki will automatically save changes via HTTP for TiddlyWiki's created after 2016. If you created your wiki before Feb 16 2016  you'll need to [[Upgrade|Upgrading]] to enable ~WebDAV.\n\n\n\n!! Cross platform lightweight servers\n\nLightweight, portable and easy to use solutions\n\n*   [[rclone|https://rclone.org/commands/rclone_serve_webdav/]]\n**  Running it can be as simple as: <br/>`rclone serve webdav some_directory_containing_tiddlywiki_files`\n* [[copyparty|https://github.com/9001/copyparty]]\n** Copyparty comes with a ~WebDAV server. Simply run `copyparty -v .::rwd:c,daw` to serve the current folder and visit [[http://[::1]:3923/]] to use TiddlyWiki\n** Note that you need to grant read, write and delete permission and add `daw` volflag to allow copyparty to overwrite existing files.\n*   [[micromata dave - the simple webdav server|https://github.com/micromata/dave]]\n* [[dav-server|https://github.com/edrex/dav-server]] is a quick way to serve up a folder of HTML ~TiddlyWikis.\n*   [[hacdias webdav server|https://github.com/hacdias/webdav/]]\n    **   Guide for using this ~WebDAV server by Mohammad [[Scripts in Tiddlywiki — codes, macros, and solutions in TW|https://kookma.github.io/TW-Scripts/#Easy%20Local%20Saving%20with%20WebDav]]\n\n\n!! Windows\n\n*   IIS\n    **   Video guide by [[pmario|https://talk.tiddlywiki.org/u/pmario]]: [[01 Intro - How to use TiddlyWiki with IIS and WebDAV - YouTube|https://www.youtube.com/watch?v=tpkQhKyqPzc&list=PLuiC_HFhI4OwoVDb-B-VK0ydj-mBPNn-1]]\n    **  Step-by-step ~HowTo video by ~MagoArcade on using a “real” IIS server + SSL + ~WindowsAuth with self-signed certificate: [[TiddlyWiki Install - Windows IIS WebDAV Method - YouTube|https://youtu.be/VMQ3Lfko8uQ]]\n\n*   ~SharePoint / ~OneDrive for Windows\n** Save your ~TiddlyWiki file with an `.aspx` extension\n** Copy it to a ~SharePoint/~OneDrive for Business sync'd library\n**   As long as ~WebDAV has not been disabled, renaming single-file wiki from .html to .aspx “just works” when stored in one of these folders\n** This //might// work with Mac also.\n\n!! OSX\n*   ~WebDavNav Server via the Mac App store.\n\n!! Android\n\n* RCX is an open source file manager for Android based on //rclone//. It is available on both //F-Droid// and //Google Play//. Thanks to its integrated WebDAV server, it lets you edit the wikis that you keep in your pocket. You can share them with other devices on the local network too.\n\n!! iOS\n\n* There are no native apps that can serve a ~WebDAV server, but you can use rclone or copyparty on [[iSH Shell|https://apps.apple.com/cn/app/ish-shell/id1436902243]] or copyparty on [[a-Shell|https://apps.apple.com/cn/app/a-shell/id1473805438]].\n\n!! Servers\n\nMany [[NAS|https://en.wikipedia.org/wiki/NAS]] or [[Subversion|https://en.wikipedia.org/wiki/Apache_Subversion]] servers support ~WebDAV out of the box. Setting up your own server might take some effort though:\n\n\n\n!! Free Hosting\n\nSeveral ~WebDAV hosting services tested (~~box.com~~, ~~swissdisk.com~~) don't support accessing HTML files via a webbrowser, so they won't work with ~TiddlyWiki. However, The GMX mediacenter (www.gmx.net) has been reported as working with WebDAV with a free account.\n\n!!! Koofr\n\n//''Koofr''// is a cloud service that emphasizes privacy. To use their webdav services, sign up for an account at `koofr.eu` . Then go to `preferences` on their web app. Then `password` from the menu on the left. Scroll down to `App Passwords`. Use some name like 'tiddlywiki' and generate a password. Despite what it says, save the password somewhere. \n\nYou will probably need to rename your file extension to `.aspx`. Then upload your file on some path, preferably without spaces to their site. Then in the browser link to the site with an address like:\n\n```\nhttps://app.koofr.net/dav/Koofr/myfile.aspx\n\n```\nWhen you do, an authentication dialog will come up. Use your email address that you used to sign up and the password you just generated to login.\n\nYou should be able to load the file and save changes back in place.\n\n!! Paid Hosting\n\n!!! pCloud\n\n//''pCloud''// is cloud service with servers in Europe and the United States. When you sign up, you need to select which server location is best for you. Then in your web browser, sign in to the service. Upload the file you wish to access via the browser interface. Then, in another tab, open either\n\n```\nhttps://webdav.pcloud.com\n```\n\nif your servers are in the U.S. or\n\n```\nhttps://ewebdav.pcloud.com\n```\n\nif your servers are in Europe.\n\nA file navigation page should come up. Navigate to your file and open in your browser. You should be able create and save changes.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/saving/Saving via a Minimal Web Server.tid",
    "content": "caption: tw5server\ncolor: #70c9a0\ncommunity-author: hffqyd\ncreated: 20230302011710789\ndelivery: Server-side Script\ndescription: Web server for saving and uploading\nmethod: save\nmodified: 20230302055929311\ntags: Android Chrome Firefox [[Internet Explorer]] Linux Mac Opera Safari Saving Windows iOS Edge\ntitle: Saving via a Minimal Web Server\ntype: text/vnd.tiddlywiki\n\nA local mini binary server for TiddlyWiki5 that saves and backups wikis and uploads files for TiddlyWiki, inspired by\n[[tw5-server.rb | https://gist.github.com/jimfoltz/ee791c1bdd30ce137bc23cce826096da]].\n\ntw5server provides features of:\n\n* Server for TiddlyWiki5, as well as other files (e.g. images used in TW5 `[img[images/*.png]]`);\n* Easy to save wiki via browsers;\n* Backup wiki in compress format (.gz), to save disk space;\n* Auto clean backups: keep one newest per previous month, keep all backups in current month.\n* Upload files/images to server via pressing button or drag-and-drop, for use in tiddlywiki as external links.\n* Offer binary executable for Linux, macos, Android and windows.\n\nDownload executable binary at the github.com [[tw5-server|https://github.com/hffqyd/tw5-server]].\n\n! Usage\n\n```bash\ntw5server -a:192.168.0.10 -p:8000 -d:./ -b:backup\n\n-h usage help\n-a address, defautl localhost\n-p port, default 8000\n-d directory to servering, default `current dir`\n-b backup directory name, default `backup`\n-l log saving messages to stdout\n\nBackups auto-clean strategy:\nKeep all backups in current month, keep only the newest one for previous months.\n```\n\nIn Unix/Linux, maybe first `chmod +x tw5server`), then run it.\nFor Android version, run it in Termux, or some other terminals.\n\nThen go to http://localhost:8000 (or other address:port specified in command) in your web browser, and click on your wiki html file.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/saving/Saving via minimal Ruby server.tid",
    "content": "caption: Ruby Server\ncolor: #78909C\ncommunity-author: Jim Foltz\ncreated: 20180514011710789\ndelivery: Server-side Script\ndescription: DIY script you can run as a server\nmethod: save\nmodified: 20200507203129704\ntags: Android Chrome Firefox [[Internet Explorer]] Linux Mac Opera Safari Saving Windows iOS Edge\ntitle: Saving via a Minimal Ruby Server\ntype: text/vnd.tiddlywiki\n\nThis is a minimal server using Ruby Webrick. It just serves up files from the same folder and handles saving.\n\nOnce running, just point your web browser at http://localhost:8000 to view the folder listing, and click on your wiki html file.\n\nSee the script at:\n\nhttps://gist.github.com/jimfoltz/ee791c1bdd30ce137bc23cce826096da\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/saving/Saving with Polly.tid",
    "content": "caption: Polly\ncolor: #29B6F6\ncommunity-author: TiddlyTweeter\ncreated: 20220223153410510\ndelivery: Service\ndescription: Batch script for saving downloaded TiddlyWiki files.\nmethod: save\nmodified: 20220223160414274\ntags: Chrome Firefox [[Internet Explorer]] Linux Mac Opera Safari Saving Windows Edge\ntitle: Saving with Polly\ntype: text/vnd.tiddlywiki\n\n[[Polly|https://github.com/Marxsal/polly]] is a batch file system using Windows //~PowerShell// to restore ~TiddlyWiki files from a specified download directory to their original home directory.\n\nEffectively, this becomes a new way to save your files, but with these features:\n\n* No binary executables\n* Human-readable batch script.\n* No special plugins in your ~TiddlyWiki file\n* No special browser required\n* No browser extension required.\n* No need for node.exe running in background\n* Total size expanded package only 100k\n* Backups as regular file and/or zip to specified directories\n* The ability to \"parrot\" extra copies to target directories (e.g. a Dropbox folder)\n\nIt should be able to run anywhere that //~PowerShell// runs, including Windows, Linux, and Mac.\n\nhttps://github.com/Marxsal/polly"
  },
  {
    "path": "editions/tw5.com/tiddlers/saving/Saving with TW Receiver.tid",
    "content": "caption: TW Receiver\ncreated: 20200612233356021\ndelivery: DIY\ndescription: DIY script you can install on your own server\nmethod: save\nmodified: 20200612234312631\ntags: Saving PHP\ntitle: Saving with TW Receiver\ntype: text/vnd.tiddlywiki\n\nTW Receiver is a ~TiddlyWiki plugin and PHP script used for saving to a PHP based server.\n\nIt's features include simple automated backups,  stale Instance Overwrite Protection,  challenge digest authentication (enhanced security), and data integrity signing (enhanced security).\n\n* Visit [[TW-Receiver|https://github.com/sendwheel/tw-receiver]] for more information, plugin, and code."
  },
  {
    "path": "editions/tw5.com/tiddlers/saving/Saving with TiddlyFox.tid",
    "content": "caption: ~TiddlyFox\ncolor: #4DB6AC\ncommunity-author: Jeremy Ruston\ncreated: 20131221085742684\ndelivery: Browser Extension\ndescription: Browser extension for older versions of Firefox\nmethod: save\nmodified: 20230806001436106\ntags: Saving Firefox\ntitle: Saving with TiddlyFox\ntype: text/vnd.tiddlywiki\n\n<<.deprecated-since \"FireFox 57\" \"Saving with FireFox\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/saving/Saving with TiddlyPWA.tid",
    "content": "caption: ~TiddlyPWA\ncolor: #E056B4\ncommunity-author: Val Packett\ncreated: 20240902162617154\ndelivery: Progressive Web Application\ndescription: Save to Browser Storage\nmethod: save\nmodified: 20240902162617154\ntags: Chrome Firefox Linux Mac Opera Safari Saving Windows iOS Edge\ntitle: TiddlyPWA - Save to Browser Storage\ntype: text/vnd.tiddlywiki\n\n~TiddlyPWA turns TiddlyWiki 5 into an offline-first Progressive Web App with encrypted local persistent storage and efficient synchronization with a self-hosted server that can easily be hosted for free.\n\nhttps://tiddly.packett.cool/\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/saving/Saving with the HTML5 fallback saver.tid",
    "content": "created: 20131129092604900\nmodified: 20200507202835577\ntags: \ntitle: Saving with the HTML5 fallback saver\ntype: text/vnd.tiddlywiki\n\nSee [[Saving with the HTML5 saver]]"
  },
  {
    "path": "editions/tw5.com/tiddlers/saving/Saving with the HTML5 saver.tid",
    "content": "caption: Download Saver\ncolor: #7986CB\ncreated: 20221210215207986\ndelivery: Saver\ndescription: Universal technique that works on almost every browser\nmethod: save\nmodified: 20221210215716269\ntags: Chrome Firefox [[Internet Explorer]] Opera Safari Saving Edge Windows Mac Linux Android iOS\ntitle: Saving with the HTML5 saver\ntype: text/vnd.tiddlywiki\n\nThis is the default method of saving if no other method is installed. It uses your browser's built-in \"download a file\" handler, and has the advantage of working on almost all desktop browsers, and many mobile browsers.\n\n# [[Download]] an empty TiddlyWiki by clicking this button:\n#> {{$:/editions/tw5.com/snippets/download-empty-button}}\n#> If the button doesn't work save this link: https://tiddlywiki.com/empty.html\n#> Your browser may ask you to accept the download before it begins\n# Locate the file you just downloaded\n#* You may rename it, but be sure to keep the `.html` or `.htm` extension\n# Open the file in your browser\n# Try creating a new tiddler using the ''new tiddler'' <<.icon $:/core/images/new-button>> button in the sidebar. Type some content for the tiddler, and click the <<.icon $:/core/images/done-button>> ''ok'' button\n# Save your changes by clicking the <<.icon $:/core/images/save-button-dynamic>> ''save changes'' button in the sidebar\n# Your browser will download a new copy of the wiki incorporating your changes\n# Locate the newly downloaded file and open it in your browser\n# Verify that your changes have been saved correctly\n\n''Tip'': most browsers have an option to prompt each time for the download location. This allows you to select the existing version of the file and replace it.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/saving/Saving.tid",
    "content": "created: 20140912140651119\nmodified: 20220812144516626\nsaving-browser: Firefox Chrome Edge Safari Opera [[Standalone App]]\nsaving-os: Windows Mac Linux Android iOS\ntags: [[Working with TiddlyWiki]]\ntitle: Saving\ntype: text/vnd.tiddlywiki\n\n\n\\define alltagsfilter()  \n<$vars tag1=\"tag[\" tag2=\"]\" lb=\"[\" rb=\"tag[Saving]sort[delivery]!tag[$:/deprecated]]\">\n<$set filter=\"[list<stateTiddler>addprefix<tag1>addsuffix<tag2>]+[join[]addprefix<lb>addsuffix<rb>]\" name=\"alltags\" select=0>\n<$text text=<<alltags>>/>\n</$set>\n</$vars>\n\\end\n\n\\define saverssidebaritem(item:\"Linux\")\n<$checkbox tiddler=<<qualify $:/temp/$item$>> field=\"status\" checked=\"selected\" checkactions=<<checkactions \"$item$\">> uncheckactions=<<uncheckactions \"$item$\">> default=\"closed\"> $item$</$checkbox><br/>\n\\end\n\n\\define saverssidebaritemlist(fieldname:\"os\")\n<$list filter=\"[enlist{!!$fieldname$}]\" variable=\"currentItem\">\n<$macrocall $name=\"saverssidebaritem\" item=<<currentItem>>/>\n</$list>\n\\end\n\n\\define uncheckactions(item:\"Linux\")\n<$action-listops  $tiddler=<<stateTiddler>> $subfilter=\"-[[$item$]]\"/>\n\\end\n\n\\define checkactions(item:\"Linux\")\n<$action-listops $tiddler=<<stateTiddler>>  $subfilter=\"[[$item$]]\"/>\n\\end\n\n\\define introduction-message()\n<div class=\"tc-saving-introduction\">\n<div>\nUse the checkboxes to explore the methods of saving that work with your platform(s)\n</div>\n</div>\n\\end\n\n<$vars stateTiddler=<<qualify \"$:/state/gettingstarted\">> >\n\n<div class=\"tc-wrapper-flex\">\n<div class=\"tc-saving-sidebar\">\n  <div class=\"tc-saving-sidebar-category\">\n      <div class=\"tc-saving-sidebar-category-title\">OS</div>\n     <div class=\"tc-saving-sidebar-category-item\">\n                <<saverssidebaritemlist \"saving-os\">>\n      </div>\n   </div>\n   <div class=\"tc-saving-sidebar-category\">\n       <div class=\"tc-saving-sidebar-category-title\">Browser</div>\n        <div class=\"tc-saving-sidebar-category-item\">\n               <<saverssidebaritemlist \"saving-browser\">>\n        </div>\n  </div>\n  \n</div>\n\n<!-- Page content -->\n<div class=\"tc-cards\">\n<$wikify text=<<alltagsfilter>> name=\"alltagsfilterwikified\">\n<$list filter=<<alltagsfilterwikified>> emptyMessage=<<introduction-message>>>\n{{||$:/_tw5.com-card-template}}\n</$list>\n</$wikify>\n\n</div>\n</div>\n</$vars>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/saving/SavingDetailsFilter.tid",
    "content": "created: 20171113131257109\nmodified: 20171113162326513\ntitle: $:/SavingDetailsFilter\ntype: text/vnd.tiddlywiki\n\n[tag[Saving]]"
  },
  {
    "path": "editions/tw5.com/tiddlers/saving/SavingDetailsTemplate.tid",
    "content": "title: $:/SavingDetailsTemplate\n\n\\define platforms()\n<$set name=\"platforms\" tiddler=<<currentTab>> field=\"platforms\">\n<$list filter=\"[<currentTab>tags[]sort[]] -Resources -Saving -plugins\" variable=\"platform\">\n<span class=\"tc-saving-details-platform\">\n<$text text=<<platform>>/>\n</span>\n</$list>\n</$set>\n\\end\n\n<h1><$link to=<<currentTab>>><$view tiddler=<<currentTab>> field=\"title\"/></$link></h1>\n\n|!Method |<$view tiddler=<<currentTab>> field=\"method\"/> |\n|!Delivery |<$view tiddler=<<currentTab>> field=\"delivery\"/> |\n|!Platforms: |<<platforms>> |\n\n<$tiddler tiddler=<<currentTab>>>\n<$transclude tiddler=<<currentTab>> field=\"text\" mode=\"block\"/>\n</$tiddler>"
  },
  {
    "path": "editions/tw5.com/tiddlers/saving/SavingThumbnailsStyles.tid",
    "content": "title: $:/SavingThumbnailsStyles\ntags: $:/tags/Stylesheet\n\n.tc-thumbnail-tabs .tc-tab-buttons {\n\tbackground: <<color message-background>>;\n    text-align: center;\n}\n\n.tc-thumbnail-tabs .tc-tab-buttons button {\n    display: table-cell;\n\twidth: 140px;\n\theight: 80px;\n\tvertical-align: top;\n\tmargin: 0.3em;\n\tborder: 2px solid <<color message-background>>;\n\tbackground: <<color message-background>>;\n\tcolor: <<colour message-foreground>>;\n\tpadding: 0;\n\tfont-weight: normal;\n}\n\n.tc-thumbnail-tabs .tc-tab-buttons button.tc-tab-selected {\n\tborder: 2px solid <<colour foreground>>;\n\tbackground: <<color background>>;\n}\n\n.tc-thumbnail-tabs .tc-tab-buttons button:hover {\n\tbackground: <<colour message-foreground>>;\n\tcolor: <<colour message-background>>;\n}\n\n.tc-thumbnail-tabs .tc-tab-divider {\n\tborder: none;\n}\n\n.tc-thumbnail-tabs .tc-saving-thumbnail-wrapper {\n\tvertical-align: top;\n    height: inherit;\n}\n\n.tc-thumbnail-tabs .tc-saving-thumbnail-caption {\n\tfont-weight: bold;\n\tbackground: <<color foreground>>;\n\tcolor: <<color background>>;\n\tpadding: 2px 8px;\n}\n\n.tc-thumbnail-tabs .tc-saving-thumbnail-description {\n\tpadding: 2px 8px;\n\tfont-style: italic;\n    font-size: 0.85em;\n}\n\n.tc-thumbnail-tabs .tc-saving-details-platform,\n.tc-thumbnail-tabs .tc-btn-unpushed,\n.tc-thumbnail-tabs .tc-btn-pushed  {\n\tdisplay: inline-block;\n\tpadding: 0.16em 0.7em;\n\tfont-size: 0.9em;\n\tfont-weight: 400;\n\tline-height: 1.2em;\n\tcolor: <<colour message-background>>;\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n\tbackground-color: <<colour message-foreground>>;\n\tborder-radius: 1em;\n}\n\n.tc-thumbnail-tabs .tc-btn-pushed {\n\tbackground-color: <<colour foreground>>;\n\tcolor: <<color background>>;\n}\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/saving/SavingThumbnailsTemplate.tid",
    "content": "title: $:/SavingThumbnailsTemplate\n\n<div class=\"tc-saving-thumbnail-wrapper\">\n<div class=\"tc-saving-thumbnail-caption\">\n<$transclude tiddler=<<currentTab>> field=\"caption\">\n<$view tiddler=<<currentTab>> field=\"title\"/>\n</$transclude>\n</div>\n<div class=\"tc-saving-thumbnail-description\">\n<$view tiddler=<<currentTab>> field=\"description\"/>\n</div>\n</div>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/saving/TiddlyBucket - Save to AWS or Google Storage.tid",
    "content": "caption: ~TiddlyBucket\ncolor: #f48fb1\ncreated: 20221126192148031\ndelivery: Protocol\ndescription: Save to AWS or Google Storage\nmethod: save\nmodified: 20221126192853897\ntags: Chrome Firefox [[Internet Explorer]] Linux Mac Opera Safari Saving Windows iOS Edge\ntitle: TiddlyBucket - Save to AWS or Google Storage\ntype: text/vnd.tiddlywiki\n\n~TiddlyBucket - Save to AWS or Google Storage using Go\n\nThis tool replicates the ~TiddlyWeb backend API and can read and write the tiddler files to a local directory like the canonical ~TiddlyWiki5 app. But, in addition, it can do the same with a given a Google Cloud Storage bucket or AWS S3 bucket. Written in the Go programming language"
  },
  {
    "path": "editions/tw5.com/tiddlers/saving/TiddlyWiki in the Sky for Dropbox.tid",
    "content": "caption: ~TiddlyWiki Cloud Connectors\ncolor: #29B6F6\ncreated: 20171113135053055\ndelivery: Web Service\ndescription: Online service for editing TiddlyWiki documents in Dropbox\nmethod: save\nmodified: 20200507202922556\ntags: Android Chrome Firefox [[Internet Explorer]] Linux Mac Opera PHP Safari Saving Windows iOS Edge\ntitle: TiddlyWiki Cloud\ntype: text/vnd.tiddlywiki\nurl: https://twcloud.github.io/tw5-dropbox/\n\nOriginally built by Jeremy Ruston and now maintained by Arlen Beiler, TiddlyWiki Cloud (formerly known as TiddlyWiki in the Sky for Dropbox) is an online service that lets you edit TiddlyWiki documents directly in your own Dropbox using just a browser.\n\nIt works with TiddlyWiki 5. As for TiddlyWiki Classic, the mainstream loader does not work, and a newer loader may work.\n\nhttps://twcloud.github.io/\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/styleguide/Documentation Macros.tid",
    "content": "created: 20150110182600000\nmodified: 20240224170607731\ntags: [[Improving TiddlyWiki Documentation]]\ntitle: Documentation Macros\ntype: text/vnd.tiddlywiki\n\nThe following macros are used throughout ~TiddlyWiki's documentation. Their names start with a dot to keep them out of the way of names that a user might try experimenting with.\n\n! General\n\n|Macro |Used for |Example |Rendered|h\n|.def |the defining instance of a term |`<<.def widget>>` |<<.def widget>> |\n|.em |minor emphasis within a sentence |`<<.em not>>` |<<.em not>> |\n|.place |a placeholder for the user to fill in |`<<.place tagname>>` |<<.place tagname>> |\n|.strong |major emphasis within a tiddler |`<<.strong Important!>>` |<<.strong Important!>> |\n|.word |a mention of an ordinary word or phrase |`<<.word \"hello world\">>` |<<.word \"hello world\">> |\n|.icon |an icon, sized to match the surrounding text |`<<.icon \"$:/core/images/globe\">>` |<<.icon \"$:/core/images/globe\">> |\n\n! Textboxes\n\n!! Textbox Parameters\n\n; text\n: Text to be shown in the box\n\n; title\n: A title shown as an HTML STRONG element\n\n; icon\n: Core icons can be found at [[Icon Gallery]]\n\n; class\n: An optional custom class can be added to the text block. It will overwrite the defaults. To keep the defaults, ''add them'' to the custom class settings. \n: ''.note''-macro defaults to `doc-note`\n: ''.tip''-macro defaults to `doc-tip`\n: ''.warning''-macro defaults to `doc-warning`\n\n!! Textbox Examples\n\n|Macro |Used for |Example |Renderd |h\n|^.infoBox |^Text-box with an icon |`<<.infoBox text:\"A generic ...\">>` |<<.infoBox \"A generic text box, with an optional title and a custom icon\">> |\n|^.note|^Infos with a title |`<<.note text:\"Some text ...\">>` |<<.note \"Some text in a box with a title by default\">> |\n|^.tip |^hints and tips |`<<.tip text:\"Eg: Turn ...\">>` |<<.tip \"Eg: Turn your screen on, otherwise<br>you won't be able to see much.\">> |\n|^.warning |^warning advice |`<<.warning text:\"Eg: Make a backup ...\">>` |<<.warning \"Eg: Make a backup of your file<br>before you upgrade.\">> |\n\n\n\n! Blocks\n\n|Macro |Example |Used for |h\n|.preamble |`<<.preamble \"your text comes here\">>` |<<.preamble \"an introductory sentence that stands apart from the rest of the tiddler\">> |\n\n! Tiddlers and Fields\n\n|Macro |Used for |Example |Rendered |h\n|.tid |a tiddler title |`<<.tid Example>>` |<<.tid Example>> |\n|.tag |a tag |`<<.tag Example>>` |<<.tag Example>> |\n|.field |a field name |`<<.field example>>` |<<.field example>> |\n|.value |a field value |`<<.value \"example value\">>` |<<.value \"example value\">> |\n|.op |a filter operator |`<<.op backlinks>>` |<<.op backlinks>> |\n|.var |a variable or macro name |`<<.var currentTiddler>>` |<<.var currentTiddler>> |\n|.wid |a widget name |`<<.wid list>>` |<<.wid list>> |\n|.attr |an attribute name |`<<.attr filter>>` |<<.attr filter>> |\n|.param |a macro parameter name |`<<.param text>>` |<<.param text>> |\n|.tiddler-fields |a list of tiddler fields |`<<.tiddler-fields \"Monday\">>` |<<.tiddler-fields \"Monday\">> |\n\n! Links\n\n|!Macro |Used for |Example |Renderd |h\n|.link |link containing WikiText |`<<.link \"^^an^^ ~~example~~\" Example>>` |<<.link \"^^an^^ ~~example~~\" Example>> |\n|.clink |code link |``<<.clink `<$list>` ListWidget>>`` |<<.clink `<$list>` ListWidget>> |\n|.dlink |definition link for a instance of a term |`<<.dlink widget Widgets>>` |<<.dlink widget Widgets>> |\n|.dlink-ex |external link to a defining instance of a term |`<<.dlink-ex Example \"http://example.com/\">>` |<<.dlink-ex Example \"http://example.com/\">> |\n|.flink |field link |`<<.flink ListField>>` |<<.flink ListField>> |\n|.mlink |macro link |`<<.mlink qualify>>` |<<.mlink qualify>> |\n|.mlink2 |macro link with a specified target |`<<.mlink2 foo \"Examples of Macros\">>` |<<.mlink2 foo \"Examples of Macros\">> |\n|.olink |operator link |`<<.olink prefix>>` |<<.olink prefix>> |\n|.olink2 |operator link with specified target |`<<.olink2 foo prefix>>` |<<.olink2 foo prefix>> |\n|.vlink |variable link |`<<.vlink currentTiddler>>` |<<.vlink currentTiddler>> |\n|.vlink2 |variable link with specified target |`<<.vlink2 foo \"Examples of Variables\">>` |<<.vlink2 foo \"Examples of Variables\">> |\n|.wlink |widget link |`<<.wlink ButtonWidget>>` |<<.wlink ButtonWidget>> |\n|.wlink2 |widget link with specified text |`<<.wlink2 foo ButtonWidget>>` |<<.wlink2 foo ButtonWidget>> |\n\n! Keyboard Shortcuts\n\n|Macro |Used for |Example |Rendered |h\n|.key |a key on the keyboard |`<<.key Escape>>` |<<.key Escape>> |\n|.keys |a key combination |`<<.keys Ctrl+Enter>>` |<<.keys Ctrl+Enter>> |\n\n! Doc-Tabs\n\nSee: [[CheckboxWidget]]\n\n|Macro |Used for |Example |h\n|.doc-tabs |showing a tab set in a documentation tiddler | -- |\n|.doc-tab-link |button to activate a tab | -- |\n|.widget-attr-link |button with a widget attribute name to activate a tab | -- |\n\n! Sidebar Tabs\n\n|Macro |Used for |Example |Rendered |h\n|.sidebar-tab |the name of a sidebar tab |`<<.sidebar-tab More>>` |<<.sidebar-tab More>> |\n|.more-tab |the name of a subtab of the More tab |`<<.more-tab Shadows>>` |<<.more-tab Shadows>> |\n|.info-tab |the name of a tiddler info tab |`<<.info-tab Fields>>` |<<.info-tab Fields>> |\n|.controlpanel-tab |the name of a Control Panel tab |`<<.controlpanel-tab Settings>>` |<<.controlpanel-tab Settings>> |\n|.advancedsearch-tab |the name of an Advanced Search tab |`<<.advancedsearch-tab Filter>>` |<<.advancedsearch-tab Filter>> |\n|.toc-tab |name of the tw5.com TOC tab |`<<.toc-tab>>` |<<.toc-tab>> |\n|.example-tab |an example tab name |`<<.example-tab \"Notes\">>` |<<.example-tab \"Notes\">> |\n\n!! Parameters for .sidebar-tab\n\n|Open |`<<.sidebar-tab Open>>` |<<.sidebar-tab Open>> |\n|Recent |`<<.sidebar-tab Recent>>` |<<.sidebar-tab Recent>> |\n|Tools |`<<.sidebar-tab Tools>>` |<<.sidebar-tab Tools>> |\n|More |`<<.sidebar-tab More>>` |<<.sidebar-tab More>> |\n\n!! Parameters for .more-tab\n\n|All |`<<.more-tab All>>` |<<.more-tab All>> |\n|Recent |`<<.more-tab Recent>>` |<<.more-tab Recent>> |\n|Tags |`<<.more-tab Tags>>` |<<.more-tab Tags>> |\n|Missing |`<<.more-tab Missing>>` |<<.more-tab Missing>> |\n|Drafts |`<<.more-tab Drafts>>` |<<.more-tab Drafts>> |\n|Orphans |`<<.more-tab Orphans>>` |<<.more-tab Orphans>> |\n|Types |`<<.more-tab Types>>` |<<.more-tab Types>> |\n|System |`<<.more-tab System>>` |<<.more-tab System>> |\n|Shadows |`<<.more-tab Shadows>>` |<<.more-tab Shadows>> |\n\n!! Parameters for .info-tab\n\n|Tools |`<<.info-tab Tools>>` |<<.info-tab Tools>> |\n|References |`<<.info-tab References>>` |<<.info-tab References>> |\n|Tagging |`<<.info-tab Tagging>>` |<<.info-tab Tagging>> |\n|List |`<<.info-tab List>>` |<<.info-tab List>> |\n|Listed |`<<.info-tab Listed>>` |<<.info-tab Listed>> |\n|Fields |`<<.info-tab Fields>>` |<<.info-tab Fields>> |\n|Advanced |`<<.info-tab Advanced>>` |<<.info-tab Advanced>> |\n\n!! Parameters for .controlpanel-tab\n\n|Info |`<<.controlpanel-tab Info>>` |<<.controlpanel-tab Info>> |\n|Appearance |`<<.controlpanel-tab Appearance>>` |<<.controlpanel-tab Appearance>> |\n|Settings |`<<.controlpanel-tab Settings>>` |<<.controlpanel-tab Settings>> |\n|Saving |`<<.controlpanel-tab Saving>>` |<<.controlpanel-tab Saving>> |\n|Plugins |`<<.controlpanel-tab Plugins>>` |<<.controlpanel-tab Plugins>> |\n\n!! Parameters for .advancedsearch-tab\n\n|Standard |`<<.advancedsearch-tab Standard>>` |<<.advancedsearch-tab Standard>> |\n|System |`<<.advancedsearch-tab System>>` |<<.advancedsearch-tab System>> |\n|Shadows |`<<.advancedsearch-tab Shadows>>` |<<.advancedsearch-tab Shadows>> |\n|Filter |`<<.advancedsearch-tab Filter>>` |<<.advancedsearch-tab Filter>> |\n\n! Buttons\n\n|Macro |Used for |Example |Rendered |h\n|.button |a standard button name and icon |`<<.button \"new-tiddler\">>` |<<.button \"new-tiddler\">> |\n\n!! Parameters for .button\n\n!!! Tiddler toolbar\n\n|clone |`<<.button \"clone\">>` |<<.button \"clone\">> |\n|close |`<<.button \"close\">>` |<<.button \"close\">> |\n|close-others |`<<.button \"close-others\">>` |<<.button \"close-others\">> |\n|edit |`<<.button \"edit\">>` |<<.button \"edit\">> |\n|export-tiddler |`<<.button \"export-tiddler\">>` |<<.button \"export-tiddler\">> |\n|info |`<<.button \"info\">>` |<<.button \"info\">> |\n|more-tiddler-actions |`<<.button \"more-tiddler-actions\">>` |<<.button \"more-tiddler-actions\">> |\n|new-here |`<<.button \"new-here\">>` |<<.button \"new-here\">> |\n|new-journal-here |`<<.button \"new-journal-here\">>` |<<.button \"new-journal-here\">> |\n|permalink |`<<.button \"permalink\">>` |<<.button \"permalink\">> |\n\n!!! Edit-mode toolbar\n\n|cancel |`<<.button \"cancel\">>` |<<.button \"cancel\">> |\n|delete |`<<.button \"delete\">>` |<<.button \"delete\">> |\n|save |`<<.button \"save\">>` |<<.button \"save\">> |\n\n!!! Page toolbar\n\n|advanced-search |`<<.button \"advanced-search\">>` |<<.button \"advanced-search\">> |\n|close-all |`<<.button \"close-all\">>` |<<.button \"close-all\">> |\n|control-panel |`<<.button \"control-panel\">>` |<<.button \"control-panel\">> |\n|encryption |`<<.button \"encryption\">>` |<<.button \"encryption\">> |\n|export-page |`<<.button \"export-page\">>` |<<.button \"export-page\">> |\n|full-screen |`<<.button \"full-screen\">>` |<<.button \"full-screen\">> |\n|home |`<<.button \"home\">>` |<<.button \"home\">> |\n|import |`<<.button \"import\">>` |<<.button \"import\">> |\n|language |`<<.button \"language\">>` |<<.button \"language\">> |\n|more-page-actions |`<<.button \"more-page-actions\">>` |<<.button \"more-page-actions\">> |\n|new-journal |`<<.button \"new-journal\">>` |<<.button \"new-journal\">> |\n|new-tiddler |`<<.button \"new-tiddler\">>` |<<.button \"new-tiddler\">> |\n|permaview |`<<.button \"permaview\">>` |<<.button \"permaview\">> |\n|refresh |`<<.button \"refresh\">>` |<<.button \"refresh\">> |\n|save-wiki |`<<.button \"save-wiki\">>` |<<.button \"save-wiki\">> |\n|storyview |`<<.button \"storyview\">>` |<<.button \"storyview\">> |\n|tag-manager |`<<.button \"tag-manager\">>` |<<.button \"tag-manager\">> |\n|theme |`<<.button \"theme\">>` |<<.button \"theme\">> |\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/styleguide/Documentation Style Guide.tid",
    "content": "created: 20140904164608166\nmodified: 20150117152546000\ntitle: Documentation Style Guide\ntags: [[Improving TiddlyWiki Documentation]]\ntype: text/vnd.tiddlywiki\n\nThe documentation for ~TiddlyWiki tries to follow a consistent editorial style. It has two main areas, each with its own tone and audience:\n\n* [[Instruction Tiddlers]]\n* [[Reference Tiddlers]]\n\nWe keep the two areas distinct. This avoids overwhelming relative newcomers, while still providing quick access to the information that expert users need.\n\nAdditional topics:\n\n* [[Tiddler Title Policy]]\n* [[Tiddler Structure]]\n* [[Spelling]]\n* [[Typography]]\n* [[Documentation Macros]]\n* [[Technical Prose Style]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/styleguide/Instruction Tiddlers.tid",
    "content": "created: 20150110101500000\nmodified: 20150117152550000\ntitle: Instruction Tiddlers\ntags: [[Improving TiddlyWiki Documentation]]\n\n<<.def \"Instruction tiddlers\">> talk directly to the reader and guide them through a process. The reader is likely to be a beginner or an intermediate user.\n\nSuch tiddlers can be subcategorised as:\n\n;Welcome\n* What is ~TiddlyWiki and why should I care?\n* Demonstrations of key features and benefits\n* Frequently asked questions\n* Examples of ~TiddlyWiki in the field\n* Information about the project itself\n\n;Tutorial\n* An ordered presentation of material for beginners\n* Each tiddler introduces one new point or concept\n* Its main content contains very few links\n* A revealable <<.word \"Find out more\">> section at the end can offer related links\n\n;Exercise\n* Accompanying a tutorial tiddler\n* Solution revealed on demand\n\n;How-to\n* A list of numbered steps for performing a small specific task\n* Concise, with links to reference tiddlers where appropriate\n* Often has a preamble to clarify the nature of the task\n\n;Example\n* Accompanying a [[reference tiddler|Reference Tiddlers]]\n* Can contain explanations and similar commentary\n* Kept separate to keep the reference tiddler pure\n\nInstruction tiddlers talk directly to the reader as <<.word you>>. They can be reasonably chatty.\n\nBut they avoid excessively colloquial language, cultural or topical references and attempts at humour, as these can baffle or even offend the international readership. They also avoid potentially frustrating the reader with descriptions of features as <<.word convenient>> or <<.word easy>>.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/styleguide/Reference Tiddlers.tid",
    "content": "created: 20141226192500000\nmodified: 20230318160831470\ntags: [[Improving TiddlyWiki Documentation]]\ntitle: Reference Tiddlers\n\n<<.def \"Reference tiddlers\">> offer raw information in a comprehensive interlinked way. The reader is likely to be an intermediate or expert user.\n\nThere are several subcategories:\n\n;Concepts\n* With definitions, together forming a glossary\n\n;User manual\n* Presenting technical details of ~WikiText features\n* Subcategorised: messages, operators, widgets, etc\n** Widget documentation should follow the [[Widget Documentation Style Guide]]\n\n;Developer manual\n* Presenting technical details of ~TiddlyWiki's internal architecture\n\nReference material is written in a terse, formal style that avoids referring to the reader, and instead focuses on how ~TiddlyWiki itself behaves. The passive voice is often suitable:\n\n* <<.word \"the template is specified as a tiddler\">> rather than <<.word \"specify the template as a tiddler\">>\n* <<.word \"the widget can be used for various purposes\">> rather than <<.word \"you can use the widget for various purposes\">>\n* But <<.word \"this widget has several possible uses\">> is better, because it is less convoluted and more succinct\n\nMost contracted verb forms are avoided in reference tiddlers. But those ending in <<.word \"n't\">> (<<.word \"aren't\">>, <<.word \"doesn't\">>, <<.word \"hasn't\">>, <<.word \"isn't\">>, etc) are acceptable, as they make it less easy to accidentally overlook the word <<.word not>>.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/styleguide/Spelling.tid",
    "content": "created: 20150110182900000\nmodified: 20150117152553000\ntitle: Spelling\ntags: [[Improving TiddlyWiki Documentation]]\n\nBecause ~TiddlyWiki is of British origin, its English documentation uses [[British spelling in preference to US spelling|https://en.wikipedia.org/wiki/American_and_British_English_spelling_differences]].\n\nWords like <<.word customise>> are spelled <<.word -ise>>, not <<.word -ize>>. Words like <<.word colour>> will also be spelled using UK English unless they are being used for reserved words in code, such as in CSS or JavaScript.\n\nStandard technical acronyms are written in upper case, without dots: <<.word HTML>>, not <<.word html>> or <<.word H.T.M.L.>>\n\nAvoid arbitrarily abbreviating words and sentences. But the following abbreviations are acceptable:\n\n|!Abbreviation |!Meaning |!Notes |\n|e.g. |for example |with a dot after each letter |\n|i.e. |that is to say |with a dot after each letter |\n|etc |and so on |without a dot |\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/styleguide/Technical Prose Style.tid",
    "content": "created: 20150110182900000\nmodified: 20150117152555000\ntitle: Technical Prose Style\ntags: [[Improving TiddlyWiki Documentation]]\n\nWhen writing an [[instruction tiddler|Instruction Tiddlers]], start by planning a route through the information you wish to present. This should be a simple, logical, direct progression of thoughts, with no backtracking or forward references. Use this approach even within individual sentences: always proceed from cause to effect, from the old or known to the new or unknown.\n\nKeep sentences short and simple. A clear technical sentence seldom contains more than one idea. It therefore avoids parenthetical information. Similarly, keep paragraph structure simple. A flat presentation is often easier to understand than a hierarchical one.\n\nIt is often possible to simplify a sentence without changing its meaning, merely by adjusting its vocabulary or grammatical structure. <<.word \"Execution of the macro is performed\">> just means <<.word \"The macro runs\">>. <<.word \"Your expectation might be...\">> just means <<.word \"You might expect...\">>.\n\nPrefer the active voice by default: <<.word \"Jane creates a tiddler\">> rather than <<.word \"a tiddler is created by Jane\">>. The passive voice can be useful if you want the reader to focus on the action itself or its result: <<.word \"a tiddler is created\">>. But it can often be clearer to proceed from cause to effect and say <<.word \"this creates a tiddler\">> in the active voice.\n\nDocumentation often presents two items that are parallel either by similarity or by difference. The reader will more easily detect such a pattern if you use the same sentence or phrase structure for both. But this must be balanced with the need to avoid monotony.\n\nPrefer precise instructions over woolly descriptions. If something has a name, use it. If something lacks a name, give it a tiddler.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/styleguide/Tiddler Structure.tid",
    "content": "created: 20150110183300000\nmodified: 20210207124737959\ntitle: Tiddler Structure\ntags: [[Improving TiddlyWiki Documentation]]\n\nIn accordance with the [[Philosophy of Tiddlers]], documentation tiddlers are typically short and interlinked.\n\nWhen a tiddler seems as if it needs to contain subheadings, this is often a sign that it should in fact be split into several tiddlers. But it is reasonable for a [[reference tiddler|Reference Tiddlers]] to consist of an untitled introductory section followed by a titled section of details.\n\nConsistency of terminology is essential if the reader is not to become confused. Consistent typography and punctuation lend a professional quality to the documentation. Macros can improve the consistency and maintainability of the text.\n\nUse numbered lists for step-by-step instructions, and bullet points for lists whose order is arbitrary. Use a definition list in preference to a bulleted list if each bulleted item would begin with a term and a colon. If at all possible, avoid burdening the reader with a nested list.\n\nUse a table when information naturally falls into three or more columns, and also for lists of parameters, attributes, etc in [[reference tiddlers|Reference Tiddlers]].\n\nAvoid periods at the end of list items, headings and table cell text.\n\nThe documentation describes the current reality of ~TiddlyWiki. Avoid discussing future aspirations.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/styleguide/Tiddler Title Policy.tid",
    "content": "created: 20150110183300000\nmodified: 20150118183633000\ntitle: Tiddler Title Policy\ntags: [[Improving TiddlyWiki Documentation]]\n\nMany documentation tiddlers, especially the [[reference ones|Reference Tiddlers]], are concerned with a single concept. Their titles should be succinct noun phrases like <<.tid \"List Widget\">> or <<.tid \"Tiddler Fields\">>.\n\nEach of the main words of such a title begins with a capital letter. Minor words such as <<.word and>>, <<.word or>>, <<.word the>>, <<.word to>> and <<.word with>> do not.\n\nTags also follow this pattern.\n\nTitles of this kind are plural if they denote a category of items, e.g. <<.tid \"Keyboard Shortcuts\">> or <<.tid \"Tiddler Fields\">>. Such titles are used to tag more specific tiddlers within the category.\n\nWhere a concept is an item rather than a category, its tiddler has a singular title, e.g. <<.tid \"List Widget\">>, <<.tid \"tag Operator\">>.\n\nStart a title with its most distinctive part. For instance, the tiddlers documenting the filter operators have titles like <<.tid \"addprefix Operator\">>. This helps the reader scan a list of links to find a particular tiddler.\n\nAvoid starting a title with the word <<.word the>>.\n\nIn the past, many tiddlers had CamelCase titles. This is gradually being phased out of the documentation to improve readability. ~CamelCase titles should no longer be used, even for tags, except in cases like <<.tid ~JavaScript>> where that is the standard spelling.\n\n[[Instruction tiddlers|Instruction Tiddlers]] often have longer titles that can be more complicated than just a noun phrase, e.g. <<.tid \"Ten reasons to switch to ~TiddlyWiki\">>. These titles use sentence case, i.e. only the first word (and any proper names) starts with a capital letter.\n\nHow-to tiddlers have titles that begin with <<.word \"How to\">>, e.g. <<.tid \"How to edit a tiddler\">>. Avoid titles like <<.tid \"Editing tiddlers\">>, because a less fluent English speaker could misunderstand that as the name of a category of tiddlers.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/styleguide/Typography.tid",
    "content": "created: 20141226192500000\nmodified: 20150117152559000\ntitle: Typography\n\nUse the [[documentation macros|Documentation Macros]] to keep the text maintainable in the face of change.\n\nBe wary of arbitrarily applying raw bold or italic markup in a sentence. If there's a suitable macro, use that instead. If there isn't a suitable macro, write one or request one.\n\nUse simple backticks (<code>&#96;...&#96;</code>) for fragments of WikiText, but not for the names of things like fields and widgets. These have their own macros.\n\nTo keep things clean and simple, quotation marks and apostrophes should be straight `'`, not curly `’`, and the ellipsis should be three separate dots `...` rather than `…`.\n\nUse `\"` as the primary quotation mark, reserving `'` for the rare case of a nested quotation.\n\nAvoid using a single hyphen `-` as sentence punctuation. Instead, use a double hyphen -- which ~TiddlyWiki renders as an en-dash -- with a space on either side.\n\nItems in lists and tables should only end with a full stop (period in US English) if they are complete sentences. They should have no trailing punctuation otherwise.\n\nIt is very rarely necessary to use an exclamation mark in professional documentation.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/styleguide/Widget Documentation Style Guide.tid",
    "content": "created: 20230318160840043\nmodified: 20230325162525198\ntags: [[Reference Tiddlers]]\ntitle: Widget Documentation Style Guide\n\nWidget documentation generally consists of\n\n* an introductory summary of the widget's function\n* an overview of attributes and how the widget content is handled\n* more detailed attribute explanation when required\n* examples\n\nThe //Content and Attributes// section should describe how the content of the widget is used, followed by a table of the possible attributes, each with a short description of a single sentence. The attribute names in the table and elsewhere in the tiddler should be rendered with the <<.var .attr>> macro. The <<.var .from-version>> macro should be used as first item in the description to designate the version at which a parameter became available.\n\nA subsection should be used for parameters that need an //extended description//, possibly with separate examples. When there are more than 2 such subsection necessary, the subsections should be split into their own tiddlers, and the <<.var .doc-tabs>> macro should be used to transclude them into the widget documentation tiddler as tabs.\n\n* The <<.var .doc-tabs>> macro is used without parameters\n* The <<.var .doc-tabs>> macro must not be used more than once within a single documentation tiddler\n* The tiddlers to be included in the tab group should be tagged with the respective widget documentation tiddler and have a <<.field description>> field set to <<.value tab>>\n* The <<.field caption>> contains the tab button text. It should be as short as possible. For the attribute name, the <<.var .attr>> macro should be used in the <<.field caption>>\n* The tab tiddlers should start with a level-2-heading that links to itself, so that they may be opened from within the tabs\n* They can contain examples if these are specific to the topic of the subsection\n\nIn the attribute table, the <<.var .widget-attr-link>> macro can be used to turn attributes into a button that activates the respective tab. The <<.var .widget-attr-link>> macro is used like this\n\n```\n<<.widget-attr-link text:<display text> target:<title of corresponding tiddler> >>\n```\n\nElsewhere, the <<.var .doc-tab-link>> macro can be used to activate the respective tab\n\n```\n<<.doc-tab-link text:<display text> target:<title of corresponding tiddler> tooltip:<tooltip to show when hovering over the button> class:<additional classes> >>\n```\nThe parameters <<.param tooltip>> and <<.param class>> are optional.\n\nBoth link macros scroll to the tab group additionally to setting the selected tab. They can also be used within the tab contents tiddlers themselves. If a tab tiddler is opened outside the tab group, <<.var doc-tab-link>> will open the tiddler containing the tab group if it is not yet open, and scroll to its tab group if it is."
  },
  {
    "path": "editions/tw5.com/tiddlers/system/$__SplashScreen.tid",
    "content": "created: 20180927082601825\nmodified: 20180927083036494\ntags: $:/tags/RawMarkupWikified/TopBody\ntitle: $:/SplashScreen\ntype: text/vnd.tiddlywiki\n\n\\import [subfilter{$:/core/config/GlobalImportFilter}]\n\n\\procedure show-icon(title)\n<$wikify name=\"icon\" text={{{ [<title>addprefix[{{]addsuffix[}}]] }}} output=\"html\">\n<$text text=<<icon>>/>\n</$wikify>\n\\end\n\n\\rules only filteredtranscludeinline transcludeinline macrocallinline\n<div class=\"tc-remove-when-wiki-loaded\">\n<style scoped>\n\n.tc-splash-text {\n    font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n    font-size: 16px;\n    text-rendering: optimizeLegibility;\n    -webkit-font-smoothing: antialiased;\n\tmargin: 20px auto 0;\n\twidth: 200px;\n\ttext-align: center;\n\tcolor: <<colour foreground>>;\n\tfill: <<colour foreground>>;\n}\n\n.tc-splash-text img {\n\twidth: 150px;\n\t<<box-shadow \"2px 2px 10px rgba(0, 0, 0, 0.5)\">>\n}\n\nhtml body.tc-body {\n\tbackground: <<colour page-background>>;\n}\n\n/*\nSpinner from https://github.com/tobiasahlin/SpinKit/ by Tobias Ahlin\n\nThe MIT License (MIT)\n\nCopyright (c) 2015 Tobias Ahlin\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n\n.tc-splash-spinner {\n\tmargin: 20px auto 0;\n\twidth: 70px;\n\ttext-align: center;\n}\n\n.tc-splash-spinner > div {\n\twidth: 18px;\n\theight: 18px;\n\tborder-radius: 100%;\n\tdisplay: inline-block;\n\t-webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;\n\tanimation: sk-bouncedelay 1.4s infinite ease-in-out both;\n\tbackground-color: #f88;\n}\n\n.tc-splash-spinner .tc-splash-bounce-1 {\n\t-webkit-animation-delay: -0.32s;\n\tanimation-delay: -0.32s;\n\tbackground-color: #8f8;\n}\n\n.tc-splash-spinner .tc-splash-bounce-2 {\n\t-webkit-animation-delay: -0.16s;\n\tanimation-delay: -0.16s;\n\tbackground-color: #88f;\n}\n\n@-webkit-keyframes sk-bouncedelay {\n\t0%, 80%, 100% { -webkit-transform: scale(0) }\n\t40% { -webkit-transform: scale(1.0) }\n}\n\n@keyframes sk-bouncedelay {\n\t0%, 80%, 100% { \n\t-webkit-transform: scale(0);\n\ttransform: scale(0);\n\t} 40% { \n\t-webkit-transform: scale(1.0);\n\ttransform: scale(1.0);\n\t}\n}\n</style>\n\n<div class=\"tc-splash-spinner\">\n  <div class=\"tc-splash-bounce-1\"></div>\n  <div class=\"tc-splash-bounce-2\"></div>\n  <div class=\"tc-splash-bounce-3\"></div>\n</div>\n\n<div class=\"tc-splash-text\">\n<strong>{{$:/SiteTitle}}</strong>\n<br/>\nis loading\n</div>\n\n<!-- Demonstrating how to embed a bitmap graphic --> \n<div class=\"tc-splash-text\">\n<img src=\"data:image/jpeg;base64,{{New Release Banner||$:/core/templates/plain-text-tiddler}}\" width=\"100\"/>\n</div>\n\n<!-- Demonstrating how to embed a wikitext SVG graphic --> \n<div class=\"tc-splash-text\">\n<<show-icon \"$:/core/icon\">>\n</div>\n\n</div>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/system/$__config_DefaultSidebarTab.tid",
    "content": "created: 20241009155913899\nmodified: 20241009155953494\ntags: \ntitle: $:/config/DefaultSidebarTab\ntype: text/vnd.tiddlywiki\n\nTableOfContents"
  },
  {
    "path": "editions/tw5.com/tiddlers/system/$__startup_open-welcome.tid",
    "content": "title: $:/state/toc/TableOfContents-Welcome--232442599\ntype: text/vnd.tiddlywiki\n\nopen"
  },
  {
    "path": "editions/tw5.com/tiddlers/system/ContributionBanner.tid",
    "content": "created: 20240313115309914\nlist-after: $:/core/ui/EditTemplate/title\nmodified: 20240313115810689\ntags: $:/tags/EditTemplate\ntitle: $:/ContributionBanner\n\n\\define base-github()\nhttps://github.com/TiddlyWiki/TiddlyWiki5/edit/tiddlywiki-com/editions/tw5.com/tiddlers/\n\\end\n\n<$set name=\"draft-of\" value={{{ [<currentTiddler>get[draft.of]] }}}>\n<$list filter=\"[[$:/config/OriginalTiddlerPaths]getindex<draft-of>]\" variable=\"target\" >\n<div class=\"tc-improvement-banner\">\n{{$:/core/images/star-filled}} Can you help us improve this documentation? [[Find out how|Improving TiddlyWiki Documentation]] to\n<a href={{{ [<draft-of>encodeuricomponent[]addprefix[https://edit.tiddlywiki.com/#]] }}} class=\"tc-tiddlylink-external\" target=\"_blank\" rel=\"noopener noreferrer\">edit this tiddler in Docs PR Maker</a>\nor\n<a href={{{ [<target>addprefix<base-github>] }}} class=\"tc-tiddlylink-external\" target=\"_blank\" rel=\"noopener noreferrer\">edit it directly on ~GitHub</a>\n</div>\n</$list>\n</$set>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/system/DefaultTiddlers.tid",
    "content": "created: 20131127215321439\nmodified: 20140912135951542\ntitle: $:/DefaultTiddlers\ntype: text/vnd.tiddlywiki\n\n[[Hire the founder of TiddlyWiki]]\nHelloThere\n[[Quick Start]]\n[[Find Out More]]\n[[TiddlyWiki on the Web]]\n[[Testimonials and Reviews]]\nGettingStarted\nCommunity"
  },
  {
    "path": "editions/tw5.com/tiddlers/system/DefaultToContentsTab.tid",
    "content": "title: $:/state/tab/sidebar--1835078512\n\nTableOfContents"
  },
  {
    "path": "editions/tw5.com/tiddlers/system/Deprecated.tid",
    "content": "created: 20170126143833588\nmodified: 20240310123352998\ntitle: $:/deprecated\ntype: text/vnd.tiddlywiki\n\nDeprecated features of TiddlyWiki are those that have been superseded by newer, improved ways of doing the same thing.\n\nDeprecated features will still work, but are not recommended for new content.\n\n''Tiddlers tagged'' $:/deprecated:\n\n<<list-links filter:\"[tag[$:/deprecated]]\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/system/Deprecated_-_What_does_it_mean.tid",
    "content": "created: 20170126142116898\nmodified: 20220704174221300\ntitle: Deprecated - What does it mean\ntype: text/vnd.tiddlywiki\n\n{{$:/deprecated}}\n\nDeprecated features are marked with a special warning button. See: [[How to apply custom styles by tag]] for an example.\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/system/SiteDomain.tid",
    "content": "title: $:/SiteDomain\n\ntiddlywiki.com"
  },
  {
    "path": "editions/tw5.com/tiddlers/system/SitePreviewUrl.tid",
    "content": "title: $:/SitePreviewUrl\n\nhttps://tiddlywiki.com/images/Introduction%2520Video%2520Thumbnail.jpg"
  },
  {
    "path": "editions/tw5.com/tiddlers/system/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\na non-linear personal web notebook"
  },
  {
    "path": "editions/tw5.com/tiddlers/system/SiteTitle.tid",
    "content": "created: 20131211131022562\nmodified: 20131211131023829\ntitle: $:/SiteTitle\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki @@font-size:small; v<<version>>@@"
  },
  {
    "path": "editions/tw5.com/tiddlers/system/SiteUrl.tid",
    "content": "title: $:/SiteUrl\n\nhttps://tiddlywiki.com/"
  },
  {
    "path": "editions/tw5.com/tiddlers/system/Sources.tid",
    "content": "caption: Sources\ncode-body: yes\ncreated: 20240313090915565\nmodified: 20240313115026563\ntags: $:/tags/TiddlerInfo\ntitle: $:/editions/tw5.com/TiddlerInfo/Sources\n\n\\function static-link-base() [[https://tiddlywiki.com/static/$(title)$.html]substitute[]]\n\n\\function github-link-base()\n[[https://github.com/TiddlyWiki/TiddlyWiki5/blob/tiddlywiki-com/editions/tw5.com/tiddlers/$(title)$]substitute[]]\n\\end\n\n\\procedure make-static-link()\n\\whitespace trim\n<$set name=\"title\" filter=\"[<currentTiddler>encodeuricomponent[]encodeuricomponent[]]\" select=\"0\">\n\t<a href=<<static-link-base>>\n\t\tclass=\"tc-tiddlylink-external\"\n\t\ttarget=\"_blank\"\n\t\trel=\"noopener noreferrer\"\n\t>\n\t\t<$text text=<<static-link-base>>/>\n\t</a>\n</$set>\n\\end\n\n\\procedure make-github-link()\n<$set name=\"title\" value={{{ [[$:/config/OriginalTiddlerPaths]getindex<currentTiddler>] }}}>\n\t<$set name=\"title\" filter=\"[<title>encodeuricomponent[]]\" select=\"0\">\n\t\t<a href=<<github-link-base>>\n\t\t\tclass=\"tc-tiddlylink-external\"\n\t\t\ttarget=\"_blank\"\n\t\t\trel=\"noopener noreferrer\"\n\t\t>Link to \"<$text text=<<currentTiddler>>/>\" on github.com</a>\n\t</$set>\n</$set>\n\\end\n\n\\procedure make-pr-maker-link()\n<a href={{{ [<currentTiddler>encodeuricomponent[]addprefix[https://edit.tiddlywiki.com/#]] }}}\n\tclass=\"tc-tiddlylink-external\"\n\ttarget=\"_blank\"\n\trel=\"noopener noreferrer\"\n>Link to \"<$text text=<<currentTiddler>>/>\" in Docs PR Maker edition</a>\n\\end\n\n<$list filter=\"[all[current]!is[system]!is[shadow]]\">\n\nA static HTML representation of this tiddler is available at the URL:\n\n* <<make-static-link>>\n\nHelp us to [[improve the documentation|Improving TiddlyWiki Documentation]] by suggesting changes to this tiddler using the [[TiddlyWiki Docs PR Maker]] or directly on ~GitHub.\n\n* <<make-pr-maker-link>>\n* <<make-github-link>>\n\n</$list>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/system/StaticBanner.tid",
    "content": "title: $:/StaticBanner\n\n<div class=\"tc-static-alert\"><div class=\"tc-static-alert-inner\">This page is part of a static HTML representation of the ~TiddlyWiki at https://tiddlywiki.com/</div></div>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/system/TableOfContents.tid",
    "content": "caption: {{$:/language/SideBar/Contents/Caption}}\ncreated: 20140809114010378\nlist: Welcome HelloThere [[Quick Start]] Learning [[Working with TiddlyWiki]] [[Customise TiddlyWiki]] Features Filters Languages Editions Plugins Platforms Reference Community About\nlist-before: \nmodified: 20230322150307580\ntags: $:/tags/SideBar\ntitle: TableOfContents\ntype: text/vnd.tiddlywiki\n\n<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'TableOfContents'>>\n\n</div>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/system/configWikiParserRulesInlineWikilink.tid",
    "content": "title: $:/config/WikiParserRules/Inline/wikilink\n\nenable"
  },
  {
    "path": "editions/tw5.com/tiddlers/system/download-empty-button.tid",
    "content": "created: 20200507005920476\nmodified: 20200507044420793\ntitle: $:/editions/tw5.com/snippets/download-empty-button\ntype: text/vnd.tiddlywiki\n\n<$button class=\"tc-btn-download\">\n<$action-sendmessage $message=\"tm-download-file\" $param=\"$:/editions/tw5.com/download-empty\" filename=\"empty.html\"/>\nDownload {{$:/core/images/save-button}}\n</$button>"
  },
  {
    "path": "editions/tw5.com/tiddlers/system/download-empty.tid",
    "content": "title: $:/editions/tw5.com/download-empty\ncode-body: yes\n\n\\procedure saveTiddlerFilter()\n[[$:/core]] [[$:/isEncrypted]] [[$:/themes/tiddlywiki/snowwhite]] [[$:/themes/tiddlywiki/vanilla]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] -[has[plugin-type]field:platform[server]] +[sort[title]]\n\\end\n\n\\procedure savingEmpty() yes\n\n{{$:/core/templates/tiddlywiki5.html}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/system/dropbox-url-macro.js",
    "content": "/*\\\ntitle: $:/edition/tw5.com/dropbox-url.js\ntype: application/javascript\ntags: $:/tags/Macro\nmodule-type: macro\n\nImplements the Dropbox URL converter macro.\n\n```\n<$macrocall $name=\"dropbox-url\" url={{$:/temp/dropbox}}/>\n```\n\n\\*/\n\n\n\"use strict\";\n\nexports.name = \"dropbox-url\";\n\nexports.params = [\n\t{name: \"url\", default: \"https://www.dropbox.com/s/<gobbledegook>/mywiki.html\"}\n];\n\nexports.run = function(url) {\n\turl = url.replace(\"www.dropbox.com\",\"dl.dropboxusercontent.com\");\n\treturn \"`\" + url + \"` <small>([[open|\" + url + \"]])</small>\";\n};\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/system/filter-run-template.tid",
    "content": "code-body: yes\ncreated: 20230316112235083\nlist-before: $:/core/ui/ViewTemplate/body\nmodified: 20240229161432000\ntags: $:/tags/ViewTemplate\ntitle: $:/editions/tw5.com/filter-run-template\ntype: text/vnd.tiddlywiki\n\n\\whitespace trim\n\n\\procedure .op-place()\n<%if [<op-name>!is[blank]] %>\n\t<$macrocall $name=\".place\" _=<<op-name>> /><span class=\"tc-tiny-gap\">=</span>\n<%endif%>\n\\end\n\n\\procedure .op-row()\n<%if [<op-body>!is[blank]] %>\n\t<tr>\n\t\t<th align=\"left\"><<op-head>></th>\n\t\t<td><<.op-place>><<op-body>></td>\n\t</tr>\n<%endif%>\n\\end\n\n<$list filter=\"[all[current]tag[Named Filter Run Prefix]]\">\n\t<$let op-head=\"\" op-body=\"\" op-name=\"\">\n\t\t<table class=\"doc-table\">\n\t\t\t<!-- purpose -->\n\t\t\t<$let op-head=\"purpose\" op-body={{!!rp-purpose}}>\n\t\t\t\t<<.op-row>>\n\t\t\t</$let>\n\t\t\t<!-- input -->\n\t\t\t<$let op-head=\"[[input|Filter Expression]]\" op-body={{!!rp-input}}>\n\t\t\t\t<<.op-row>>\n\t\t\t</$let>\n\t\t\t<!-- suffix -->\n\t\t\t<$let op-head=\"[[suffix|Filter Run Prefix]]\" op-body={{!!rp-suffix}} op-name={{!!rp-suffix-name}}>\n\t\t\t\t<<.op-row>>\n\t\t\t</$let>\n\t\t\t<!-- output -->\n\t\t\t<$let op-head=\"output\" op-body={{!!rp-output}}>\n\t\t\t\t<<.op-row>>\n\t\t\t</$let>\n\t\t</table>\n\t\t<$list filter=\"[all[current]has[from-version]]\" variable=\"listItem\">\n\t\t\t<$macrocall $name=\".from-version\" version={{!!from-version}}/>\n\t\t</$list>\n\t</$let>\n</$list>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/system/if-macro.js",
    "content": "/*\\\ntitle: $:/editions/tw5.com/if-macro.js\ntype: application/javascript\nmodule-type: macro\n\\*/\n\n\"use strict\";\n\nexports.name = \".if\";\n\nexports.params = [\n\t{ name: \"cond\" },\n\t{ name: \"then\" },\n\t{ name: \"else\" }\n];\n\nexports.run = function(cond, then, elze) {\n\tthen = then || \"\";\n\telze = elze || \"\";\n\treturn cond ? then : elze;\n};\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/system/language.tid",
    "content": "title: $:/language\n\n$:/languages/en-GB"
  },
  {
    "path": "editions/tw5.com/tiddlers/system/netlify-build-badge-icon.tid",
    "content": "title: $:/_tw5.com/netlify-build-badge/netlify-light.svg\ntype: image/svg+xml\n\n<svg width=\"114\" height=\"50\" viewBox=\"0 0 114 50\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#a)\"><rect width=\"114\" height=\"50\" rx=\"4\" fill=\"#181A1C\"/><path fill=\"#fff\" d=\"M0 0h114v51H0z\"/><g clip-path=\"url(#b)\" fill=\"#181A1C\"><path d=\"M44.445 40.3v-7.694l.153-.16h1.853l.154.16V40.3l-.154.16h-1.853l-.153-.16ZM44.445 17.854V10.16l.153-.16h1.853l.154.16v7.694l-.154.16h-1.853l-.153-.16ZM38.068 34.89h-.254l-1.275-1.322v-.264l2.388-2.482 1.349.002.18.184v1.4l-2.388 2.483ZM36.54 17.226v-.266l1.274-1.321h.254l2.388 2.48v1.397l-.18.19h-1.349l-2.388-2.48ZM28.154 24.106h10.5l.153.16v1.926l-.153.16h-10.5l-.154-.16v-1.926l.154-.16ZM99.844 24.109l.154.16v1.923l-.154.16H89.19l-.153-.16.77-1.924.154-.16h9.883ZM49 29.24h-1.853l-.153-.16v-4.503c0-.802-.303-1.423-1.234-1.443-.48-.012-1.027 0-1.613.025l-.089.093v5.825l-.153.16h-1.853l-.154-.16v-7.694l.154-.16h4.169c1.62 0 2.933 1.363 2.933 3.045v4.81l-.154.159v.002ZM57.974 25.87l-.154.16h-4.79l-.154.16c0 .32.31 1.283 1.546 1.283.463 0 .926-.16 1.082-.481l.154-.16h1.852l.154.16c-.154.962-.926 2.407-3.245 2.407-2.625 0-3.861-1.924-3.861-4.172 0-2.247 1.236-4.17 3.708-4.17 2.472 0 3.708 1.923 3.708 4.17v.643Zm-2.319-1.604c0-.16-.153-1.284-1.39-1.284-1.235 0-1.389 1.124-1.389 1.284l.154.16h2.472l.153-.16ZM62.298 26.832c0 .322.154.481.464.481h1.39l.153.16v1.604l-.154.16h-1.39c-1.389 0-2.625-.643-2.625-2.407V23.3l-.154-.16H58.9l-.154-.159v-1.604l.154-.16h1.082l.154-.16v-1.442l.154-.16h1.852l.154.16v1.443l.154.16h1.699l.153.159v1.604l-.153.16h-1.7l-.153.16v3.528l.002.002ZM68.015 29.24h-1.853l-.153-.16V18.17l.153-.159h1.853l.154.16v10.906l-.154.16v.002ZM72.186 19.935h-1.852l-.154-.16v-1.604l.154-.16h1.852l.154.16v1.604l-.154.16Zm0 9.304h-1.852l-.154-.16V21.38l.154-.16h1.852l.154.16v7.7l-.154.16ZM79.449 18.17v1.605l-.154.16h-1.39c-.309 0-.463.16-.463.48v.644l.154.16h1.546l.153.159v1.604l-.153.16h-1.546l-.154.16v5.773l-.153.16h-1.853l-.154-.16V23.3l-.153-.16h-1.083l-.153-.159v-1.604l.153-.16h1.083l.153-.16v-.642c0-1.764 1.236-2.407 2.626-2.407h1.39l.153.16-.002.002ZM85.163 29.399c-.619 1.604-1.236 2.566-3.398 2.566h-.773l-.154-.16v-1.604l.154-.16h.773c.773 0 .926-.159 1.082-.64v-.16l-2.472-6.256V21.38l.154-.16h1.39l.153.16 1.853 5.455h.153l1.853-5.455.154-.16h1.39l.153.16v1.605L85.156 29.4l.007-.002Z\"/></g><path fill=\"#181A1C\" d=\"M0 0h15v50H0z\"/><path d=\"M5.518 45.367v-.774H10v.774H5.518Zm0-1.746c0-.44.098-.784.294-1.032.196-.248.474-.372.834-.372.348 0 .622.13.822.39.2.26.3.628.3 1.104l-.336.018c.004-.608.114-1.062.33-1.362.212-.3.524-.45.936-.45.424 0 .748.146.972.438.22.288.33.686.33 1.194v1.242h-.738v-1.152c0-.268-.05-.488-.15-.66a.498.498 0 0 0-.462-.258c-.224 0-.39.088-.498.264-.108.172-.162.39-.162.654v1.146h-.738V43.68c0-.192-.04-.36-.12-.504a.426.426 0 0 0-.396-.216c-.192 0-.33.068-.414.204a.955.955 0 0 0-.126.51v1.116h-.678v-1.17Zm0-2.925v-.774H8.17c.256 0 .472-.04.648-.12a.88.88 0 0 0 .39-.336.926.926 0 0 0 .126-.486.926.926 0 0 0-.126-.486.845.845 0 0 0-.39-.33 1.497 1.497 0 0 0-.648-.126H5.518v-.75h2.664c.604 0 1.068.146 1.392.438.324.288.486.71.486 1.266 0 .56-.162.984-.486 1.272-.324.288-.788.432-1.392.432H5.518Zm0-5.048v-.774H10v.774H5.518Zm0-2.475V32.4H10v.774H5.518Zm3.75-.546v-2.412H10v2.412h-.732Zm-3.69-3.903v-.773H10v.773H5.578Zm-.06 1.41v-3.6h.732v3.6h-.732Zm0-6.98v-.827l3.684-1.056v.318L5.518 20.43v-.888l3.684-1.122v.318L5.518 17.64v-.798L10 18.18v.81l-4.086 1.254v-.438L10 21.097v.756l-4.482 1.302Zm0-7.385v-.774H10v.774H5.518Zm.06-3.283v-.774H10v.774H5.578Zm-.06 1.41v-3.6h.732v3.6h-.732Zm0-4.7v-.773H10v.774H5.518Zm1.572-.545V6.179h.732V8.65H7.09ZM5.518 6.407v-.774H10v.774H5.518Z\" fill=\"#fff\"/></g><rect x=\"1\" y=\"1\" width=\"112\" height=\"48\" rx=\"3\" stroke=\"#181A1C\" stroke-width=\"2\"/><defs><clipPath id=\"a\"><rect width=\"114\" height=\"50\" rx=\"4\" fill=\"#fff\"/></clipPath><clipPath id=\"b\"><path fill=\"#fff\" d=\"M28 10h72v30.46H28z\"/></clipPath></defs></svg>"
  },
  {
    "path": "editions/tw5.com/tiddlers/system/netlify-build-badge.tid",
    "content": "title: $:/_tw5.com/netlify-build-badge\ntags: $:/tags/SideBarSegment\nlist-after: $:/core/ui/SideBarSegments/site-subtitle\n\n<% if [{$:/build}prefix[NETLIFY-BUILD]] %>\n\t<p>\n\t\t<div class=\"tc-scary-warning\" style=\"display: flex;gap: 0.5em;padding: 1em;margin-right: 1em;align-items: center;\">\n\t\t\t<div style=\"\">\n\t\t\t\t<a href=\"https://www.netlify.com\" rel=\"noopener noreferrer\" target=\"_blank\"><$image source=\"$:/_tw5.com/netlify-build-badge/netlify-light.svg\" alt=\"Deploys by Netlify\" /></a>\n\t\t\t</div>\n\t\t\t<div style=\"\">\n\t\t\t\tThis is a preview build of the pull request <a href={{{ [{$:/build}split[|]nth[5]addprefix[https://github.com/TiddlyWiki/TiddlyWiki5/pull/]] }}} rel=\"noopener noreferrer\" target=\"_blank\">#<$text text={{{ [{$:/build}split[|]nth[5]] }}}/></a>\n\t\t\t</div>\n\t\t</div>\n\t</p>\n<% endif %>\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/system/operator-macros.tid",
    "content": "created: 20150117152607000\nmodified: 20240229132501000\ntags: $:/tags/Macro\ncode-body: yes\ntitle: $:/editions/tw5.com/operator-macros\n\n\n\\whitespace trim\n\n\\procedure .operator-examples(op,text:\"Examples\") <$link to=`$(op)$ Operator (Examples)`><<text>></$link>\n\n\\procedure .operator-example-tryit-actions() <$action-setfield $tiddler=<<.state>> text=\"show\" filter=<<eg>>/>\n\n\\procedure .operator-example(n,eg,ie)\n<div class=\"doc-example\">\n\t<$list filter=\"[title<.state-prefix>addsuffix{!!title}addsuffix[/]addsuffix<n>]\" variable=\".state\">\n\t\t<$reveal state=<<.state>> type=\"nomatch\" text=\"show\">\n\t\t\t<code><$text text=<<eg>>/></code>\n\t\t\t<%if [<ie>!is[blank]] %>\n\t\t\t\t<dd>&rarr;&nbsp;<<ie>></dd>\n\t\t\t<%endif%>\n\t\t\t<dl>\n\t\t\t\t<dd><$button actions=<<.operator-example-tryit-actions>>>Try it</$button></dd>\n\t\t\t</dl>\n\t\t</$reveal>\n\t\t<$reveal state=<<.state>> type=\"match\" text=\"show\">\n\t\t\t<$edit-text tiddler=<<.state>> field=\"filter\" tag=\"input\" type=search focus=\"true\"/>\n\t\t\t<dl>\n\t\t\t\t<dd>\n\t\t\t\t\t<$button set=<<.state>> setTo=\"\">Hide</$button>\n\t\t\t\t\t<$reveal stateTitle=<<.state>> stateField=\"filter\" type=\"nomatch\" text=<<eg>>>\n\t\t\t\t\t\t<$button actions=<<.operator-example-tryit-actions>>>Reset</$button>\n\t\t\t\t\t</$reveal>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t\t<blockquote class=\"doc-example-result\">\n\t\t\t\t<ul>\n\t\t\t\t\t<$list filter={{{[<.state>get[filter]]}}} emptyMessage=\"(empty)\">\n\t\t\t\t\t\t<li><$link><$view field=\"title\"/></$link></li>\n\t\t\t\t\t</$list>\n\t\t\t\t</ul>\n\t\t\t</blockquote>\n\t\t</$reveal>\n\t</$list>\n</div>\n\\end\n\n\\procedure .inline-operator-example(eg)\n<code>\n\t<$text text=<<eg>>/>\n</code>\n<span class=\"tc-tiny-gap\">evaluates to</span>\n<$list filter=<<eg>> emptyMessage=\"(empty)\">\n\t<code class=\"tc-tiny-gap-left\"><$text text=<<currentTiddler>>/></code>\n</$list>\n\\end\n\n\\define .this-is-operator-example() This example tiddler is used to illustrate some of the [[Filter Operators]].\n\\define .using-days-of-week() These examples make use of the [[Days of the Week]] tiddler.\n\\define .s-matching-is-case-sensitive() In looking for matches for <<.place S>>, capital and lowercase letters are treated as different.\n\n\\procedure .node-only-operator()\n\n<$macrocall $name=\".note\" _=\"This operator is <<.em not>> available when ~TiddlyWiki is running in a web browser.\"/>\n\n\\end\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/system/operator-template.tid",
    "content": "created: 20150203173506000\nmodified: 20240229155612000\nlist-before: $:/core/ui/ViewTemplate/body\ntags: $:/tags/ViewTemplate\ncode-body: yes\ntitle: $:/editions/tw5.com/operator-template\n\n\\whitespace trim\n\n\\procedure .op-place()\n<%if [<op-name>!is[blank]] %>\n\t<$macrocall $name=\".place\" _=<<op-name>> /><span class=\"tc-tiny-gap\">=</span>\n<%endif%>\n\\end\n\n\\procedure .op-row()\n<%if [<op-body>!is[blank]] %>\n\t<tr>\n\t\t<th align=\"left\"><<op-head>></th><td><<.op-place>><<op-body>></td>\n\t</tr>\n<%endif%>\n\\end\n\n<$list filter=\"[all[current]tag[Filter Operators]]\">\n\t<$let op-head=\"\" op-body=\"\" op-name=\"\">\n\t\t<table class=\"doc-table before-tiddler-body\">\n\t\t\t<!-- purpose -->\n\t\t\t<$let op-head=\"purpose\" op-body={{!!op-purpose}}>\n\t\t\t\t<<.op-row>>\n\t\t\t</$let>\n\t\t\t<!-- input -->\n\t\t\t<$let op-head=\"[[input|Filter Syntax]]\" op-body={{!!op-input}}>\n\t\t\t\t<<.op-row>>\n\t\t\t</$let>\n\t\t\t<!-- input negated -->\n\t\t\t<$let op-head=\"`!` input\" op-body={{!!op-neg-input}}>\n\t\t\t\t<<.op-row>>\n\t\t\t</$let>\n\t\t\t<!-- suffix -->\n\t\t\t<$let op-head=\"[[suffix|Filter Step]]\" op-body={{!!op-suffix}} op-name={{!!op-suffix-name}}>\n\t\t\t\t<<.op-row>>\n\t\t\t</$let>\n\t\t\t<!-- parameter -->\n\t\t\t<$let op-head=\"[[parameter|Filter Parameter]]\" op-body={{!!op-parameter}} op-name={{!!op-parameter-name}}>\n\t\t\t\t<<.op-row>>\n\t\t\t</$let>\n\t\t\t<!-- output -->\n\t\t\t<$let op-head=\"output\" op-body={{!!op-output}}>\n\t\t\t\t<<.op-row>>\n\t\t\t</$let>\n\t\t\t<!-- output negated -->\n\t\t\t<$let op-head=\"`!` output\" op-body={{!!op-neg-output}}>\n\t\t\t\t<<.op-row>>\n\t\t\t</$let>\n\t\t</table>\n\t\t<p>\n\t\t\t[[Learn more about how to use Filters|Filters]]\n\t\t</p>\n\n\t\t<$list filter=\"[all[current]has[from-version]]\" variable=\"listItem\">\n\t\t\t<$macrocall $name=\".from-version\" version={{!!from-version}}/>\n\t\t</$list>\n\t</$let>\n</$list>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/system/sidebarlayout.tid",
    "content": "title: $:/themes/tiddlywiki/vanilla/options/sidebarlayout\n\nfluid-fixed"
  },
  {
    "path": "editions/tw5.com/tiddlers/system/static.content.tid",
    "content": "title: $:/core/templates/static.content\n\n\\define tv-wikilink-template() https://tiddlywiki.com/static/$uri_doubleencoded$.html\n\n<%if [<savingEmpty>match[yes]] %>\n\n<$transclude tiddler=\"$:/core\" subtiddler=\"$:/core/templates/static.content\"/>\n\n<%else%>\n\n<!-- Mastodon verification -->\n\n<a rel=\"me\" href=\"https://fosstodon.org/@TiddlyWiki\">~TiddlyWiki on Mastodon</a>\n\n<!-- For Google, and people without JavaScript-->\n\nIt looks like this browser doesn't run JavaScript. You can use one of these static HTML versions to browse the same content:\n\n* https://tiddlywiki.com/static.html - browse individual tiddlers as separate pages\n* https://tiddlywiki.com/alltiddlers.html#HelloThere - single file containing all tiddlers\n\n---\n\n{{TiddlyWiki}}\n\n<%endif%>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/system/style-guide-macros.tid",
    "content": "created: 20220227210120989\nmodified: 20220227210123695\ntags: $:/tags/Macro\ntitle: $:/editions/tw5.com/style-guide-macros\n\n\\define style-guide(good,bad)\n<table>\n<tbody>\n<tr>\n<th>Good</th>\n<td>``$good$``</td>\n</tr>\n<tr>\n<th>Bad</th>\n<td>``$bad$``</td>\n</tr>\n</tbody>\n</table>\n\\end\n\n<pre><$view field=\"text\"/></pre>"
  },
  {
    "path": "editions/tw5.com/tiddlers/system/systemtag-template.tid",
    "content": "created: 20220719120233104\nlist-after: $:/core/ui/ViewTemplate/body\nmodified: 20240710163659672\ntags: $:/tags/ViewTemplate\ntitle: $:/editions/tw5.com/systemtag-template\n\n<%if [all[current]prefix[SystemTag: ]] %>\n<$let thisTag={{{ [all[current]removeprefix[SystemTag: ]] }}} >\n\n<$list filter='[all[tiddlers+shadows]tag<thisTag>limit[1]]' emptyMessage='(No tiddlers are currently tagged with <<tag $(thisTag)$ >>)'>\n\nThe following tiddlers are tagged with <<tag $(thisTag)$ >>\n\n<div class=\"tc-table-wrapper\">\n<table>\n<tr><th></th><th>caption</th></tr>\n<$list filter='[all[tiddlers+shadows]tag<thisTag>sort[]]'>\n<tr>\n<td><$link/></td>\n<td><$transclude field=\"caption\"><$transclude field=\"description\"><$view field=\"title\"/></$transclude></$transclude></td>\n</tr>\n</$list>\n</table>\n</div>\n</$list>\n</$let>\n<%endif%>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/system/theme.tid",
    "content": "title: $:/theme\n\n$:/themes/tiddlywiki/snowwhite"
  },
  {
    "path": "editions/tw5.com/tiddlers/system/tw5.com-card-template.tid",
    "content": "created: 20200507002521489\nmodified: 20220719134613555\ntitle: $:/_tw5.com-card-template\ntype: text/vnd.tiddlywiki\n\n<$macrocall $name=\"flex-card\" bordercolor={{!!color}} captionField=\"caption\" subtitle={{{ [{!!community-author}!is[blank]addprefix[by ]] }}}/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/system/tw5.com-styles.tid",
    "content": "created: 20200507002727378\nmodified: 20220719132112414\ntags: $:/tags/Stylesheet\ntitle: $:/_tw5.com-styles\ntype: text/vnd.tiddlywiki\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock\n\n.tc-hero-heading a.tc-tiddlylink {\n\tfont-weight: bold;\n}\n\n.tc-double-spaced-list li {\n\tpadding-bottom: .5em;\n\tpadding-top: .5em;\n}\n\n.tc-link-info-item {\n    border: 1px solid #ebefcd;\n    padding: 5px 10px;\n    margin-bottom: 10px;\n    background: <<colour code-background>>;\n    font-size: 0.8em;\n    line-height: 1.2;\n}\n\n.tc-link-info-item h1 {\n\tfont-weight: 500;\n\tfont-size: 16px;\t\n}\n\n.tc-scrollable-demo {\n\tborder: 1px solid <<colour message-border>>;\n\tbackground-color: <<colour message-background>>;\n\tpadding: 1em;\n\theight: 400px;\n\tposition: relative;\n\toverflow: auto;\n}\n\n.tc-improvement-banner {\n\tfont-size: 0.7em;\n\tbackground: #fcc;\n\tpadding-left: 5px;\n\tmargin-top: 6px;\n\tmargin-bottom: 12px;\n\t<<box-shadow \"2px 2px 2px rgba(0,0,0,0.4)\">>\n}\n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\t\n\t.tc-improvement-banner {\n\t}\n\n}\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-improvement-banner {\n\t\tmargin-right: -53px;\n\t\tmargin-left: -53px;\n\t}\n\n\t.tc-improvement-banner:before {\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\twidth: 0;\n\t\theight: 0;\n\t\tcontent: \" \";\n\t\tmargin-left: -5px;\n\t\tmargin-top: -10px;\n\t\tborder-top: 5px solid transparent;\n\t\tborder-left: 5px solid transparent;\n\t\tborder-right: 5px solid #C07E7E;\n\t\tborder-bottom: 5px solid #C07E7E;\n\t}\n\n}\n\n.tc-improvement-banner svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\n.tc-wrapper-flex {\n\tdisplay: flex;\n}\n\n.tc-btn-download {\n\tpadding: 10px 30px;\n\tborder-radius: 5px;\n\tbackground: <<colour \"download-background\">>;\n\tborder: none;\n\tbox-shadow: 1px 2px 2px 0 <<colour muted-foreground>>;\n\toverflow: hidden;\n\tcursor: pointer;\n\tfont-size: 1.2em;\n\tline-height: 1.4em;\n\tcolor: #fff;\n}\n\n.tc-btn-download:active {\n\tbox-shadow: none;\n}\n\n/* WikiText rules */\n\n.multi-columns,\n.fourcolumns {\n\tdisplay: block;\n\tcolumn-count: 4;\n\tcolumn-gap: 1em;\n\t-moz-column-count: 4;\n\t-moz-column-gap: 1em;\n\t-webkit-column-count: 4;\n\t-webkit-column-gap: 1em;\n}\n\n/* Switch to 2 columns for 780x1280 displays which is 780p */\n@media (max-width: 1279px) {\n\t.multi-columns {\n\t\tcolumn-count: 2;\n\t}\n}\n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\t.multi-columns {\n\t\tcolumn-count: 1;\n\t}\n}\n\n.tc-grid-columns {\n\tdisplay: grid;\n\tgrid-template-columns: repeat(auto-fit, minmax(25em, 1fr));\n\tgap: 1em;\n\twidth: 100%; /* Ensures container stretches fully */\n}\n\n.tc-grid-columns.tc-grid-columns-2 > div {\n\tborder-radius: 1em;\n\tpadding: 1em;\n\tbackground-color: <<colour alert-background>>;\n}\n\n.tc-grid-columns.tc-grid-columns-2 > div:nth-child(odd) {\n\tcolor: <<colour diff-delete-foreground>>;\n\tbackground-color: <<colour diff-delete-background>>;\n}\n\n\n.tc-saving-sidebar-category { margin-bottom:10px; }\n.tc-saving-sidebar-category-title { margin-bottom:5px; font-weight:bold; }\n.tc-saving-sidebar-category-item { margin-left:10px; white-space:nowrap; }\n\n.tc-scary-warning {\n\tfont-weight: bold;\n\tpadding: 0 1em;\n\tmargin-left: -1em;\n\tmargin-right: -1em;\n\tcolor: #f22;\n\tborder-radius: 4px;\n\tborder: 3px solid transparent;\n\tbackground: #ffd;\n\tbackground: linear-gradient(#ffd, #ffd) padding-box, repeating-linear-gradient(-45deg, red 0, red 25%, transparent 0, transparent 50%) 0 / .6em .6em;\n}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/system/variable-macros.tid",
    "content": "created: 20150228114241000\nmodified: 20220227210136243\ntags: $:/tags/Macro\ncode-body: yes\ntitle: $:/editions/tw5.com/variable-macros\n\n\\procedure .variable-examples(v,text:\"Examples\") <$link to=`$(v)$ Variable (Examples)`><<text>></$link>\n\\procedure .macro-examples(m,text:\"Examples\") <$link to=`$(m)$ Macro (Examples)`><<text>></$link>\n\\procedure .widget-examples(w,text:\"Examples\") <$link to=`$(w)$ Widget (Examples)`><<text>></$link>\n\n\\procedure .js-macro-link(_)\n<a href=\"https://tiddlywiki.com/dev/index.html#JavaScript%20Macros\"\n\tclass=\"tc-tiddlylink-external\"\n\ttarget=\"_blank\"\n\trel=\"noopener noreferrer\"\n><$text text=<<_>>/></a>\n\\end\n\n\\procedure .this-is-static-link-variable() <<.note \"This variable has no useful effect when ~TiddlyWiki is running in a browser, as the `href` attribute is ignored there -- links between tiddlers are performed by JavaScript instead. The variable comes into play when one is using the [[Node.js configuration|TiddlyWiki on Node.js]] to [[generate a static version|RenderTiddlersCommand]] of a wiki.\">>\n\n\\procedure .this-is-toolbar-config-variable(configTiddler)\n\\whitespace notrim\nIt can be set to <<.value yes>> or <<.value no>> prior to transcluding such a button.\n\nThe standard page template sets it to the value found in <$link to=<<configTiddler>>><<configTiddler>></$link>, with the result that this becomes the default for the whole page. The user can adjust this default by using a tickbox on the <<.controlpanel-tab Settings>> tab of the [[Control Panel|$:/ControlPanel]].\n\\end\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_AboveStory.tid",
    "content": "caption: $:/tags/AboveStory\ncreated: 20180926170345251\ndescription: marks elements to be placed at the top of the story river\nmodified: 20180926171456529\ntags: SystemTags\ntitle: SystemTag: $:/tags/AboveStory\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/AboveStory` marks elements to be placed at the top of the story river"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_AdvancedSearch.tid",
    "content": "caption: $:/tags/AdvancedSearch\ncreated: 20180926170345251\ndescription: marks search elements\nmodified: 20180926171456527\ntags: SystemTags\ntitle: SystemTag: $:/tags/AdvancedSearch\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/AdvancedSearch` marks search elements"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_AdvancedSearch_FilterButton.tid",
    "content": "caption: $:/tags/AdvancedSearch/FilterButton\ncreated: 20180926170345251\ndescription: marks filter buttons\nmodified: 20180926171456526\ntags: SystemTags\ntitle: SystemTag: $:/tags/AdvancedSearch/FilterButton\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/AdvancedSearch/FilterButton` marks filter buttons"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_Alert.tid",
    "content": "caption: $:/tags/Alert\ncreated: 20180926170345251\ndescription: marks alerts\nmodified: 20180926171456524\ntags: SystemTags\ntitle: SystemTag: $:/tags/Alert\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/Alert` marks alerts"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_BelowStory.tid",
    "content": "caption: $:/tags/BelowStory\ncreated: 20180926170345251\ndescription: marks elements to be placed at the bottom of the story river\nmodified: 20180926171456521\ntags: SystemTags\ntitle: SystemTag: $:/tags/BelowStory\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/BelowStory` marks elements to be placed at the bottom of the story river"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_ClassFilters_PageTemplate.tid",
    "content": "caption: $:/tags/ClassFilters/PageTemplate\ncreated: 20221020035315795\ndescription: marks filters evaluated to dynamically add classes to the page template.\nmodified: 20221020035945262\ntags: SystemTags\ntitle: SystemTag: $:/tags/ClassFilters/PageTemplate\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/ClassFilters/PageTemplate` marks filters evaluated to dynamically add their output as CSS classes to the page template.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_ClassFilters_TiddlerTemplate.tid",
    "content": "caption: $:/tags/ClassFilters/TiddlerTemplate\ncreated: 20221020035738692\ndescription: marks filters evaluated to dynamically add classes to the tiddler template.\nmodified: 20250608225016149\ntags: SystemTags\ntitle: SystemTag: $:/tags/ClassFilters/TiddlerTemplate\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/ClassFilters/TiddlerTemplate`  marks filters evaluated to dynamically add their output as CSS classes to the tiddler template.\n\nThe variables available are within each filter:\n\n* <<.var storyTiddler>>: the tiddler in the story for which the filter should be evaluated.\n* <<.var currentTiddler>>: the tiddler holding the filter definition being evaluated.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_ControlPanel.tid",
    "content": "caption: $:/tags/ControlPanel\ncreated: 20180926170345251\ndescription: marks control panel tabs\nmodified: 20180926171456518\ntags: SystemTags\ntitle: SystemTag: $:/tags/ControlPanel\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/ControlPanel` marks control panel tabs"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_ControlPanel_Advanced.tid",
    "content": "caption: $:/tags/ControlPanel/Advanced\ncreated: 20180926170345251\ndescription: marks control panel advanced tabs\nmodified: 20180926171456516\ntags: SystemTags\ntitle: SystemTag: $:/tags/ControlPanel/Advanced\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/ControlPanel/Advanced` marks control panel advanced tabs"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_ControlPanel_Appearance.tid",
    "content": "caption: $:/tags/ControlPanel/Appearance\ncreated: 20180926170345251\ndescription: marks control panel appearance tabs\nmodified: 20180926171456514\ntags: SystemTags\ntitle: SystemTag: $:/tags/ControlPanel/Appearance\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/ControlPanel/Appearance` marks control panel appearance tabs"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_ControlPanel_Info.tid",
    "content": "caption: $:/tags/ControlPanel/Info\ncreated: 20180926170345251\ndescription: marks control panel info tabs\nmodified: 20180926171456512\ntags: SystemTags\ntitle: SystemTag: $:/tags/ControlPanel/Info\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/ControlPanel/Info` marks control panel info tabs"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_ControlPanel_Plugins.tid",
    "content": "caption: $:/tags/ControlPanel/Plugins\ncreated: 20210807123106257\ndescription: marks elements to be placed under \"Plugins\" tab in Control Panel\nmodified: 20210807123621182\ntags: SystemTags\ntitle: SystemTag: $:/tags/ControlPanel/Plugins\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/ControlPanel/Plugins` marks elements to be placed under \"Plugins\" tab in [[$:/ControlPanel]]"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_ControlPanel_Saving.tid",
    "content": "caption: $:/tags/ControlPanel/Saving\ncreated: 20180926170345251\ndescription: marks saving configurations\nmodified: 20180926171456510\ntags: SystemTags\ntitle: SystemTag: $:/tags/ControlPanel/Saving\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/ControlPanel/Saving` marks saving configurations"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_ControlPanel_Settings.tid",
    "content": "caption: $:/tags/ControlPanel/Settings\ncreated: 20180926170345251\ndescription: marks control panel settings tabs\nmodified: 20180926171456509\ntags: SystemTags\ntitle: SystemTag: $:/tags/ControlPanel/Settings\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/ControlPanel/Settings` marks control panel settings tabs"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_ControlPanel_SettingsTab.tid",
    "content": "caption: $:/tags/ControlPanel/SettingsTab\ncreated: 20240813060717747\ndescription: marks elements to be placed under \"Settings\" tab in Control Panel\nmodified: 20240813060843043\ntags: SystemTags\ntitle: SystemTag: $:/tags/ControlPanel/SettingsTab\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/ControlPanel/SettingsTab` marks elements to be placed under \"Settings\" tab in [[$:/ControlPanel]]"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_ControlPanel_Toolbars.tid",
    "content": "caption: $:/tags/ControlPanel/Toolbars\ncreated: 20180926170345251\ndescription: marks control panel toolbar customisation tabs\nmodified: 20180926171456507\ntags: SystemTags\ntitle: SystemTag: $:/tags/ControlPanel/Toolbars\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/ControlPanel/Toolbars` marks control panel toolbar customisation tabs"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_EditPreview.tid",
    "content": "caption: $:/tags/EditPreview\ncreated: 20180926170345251\ndescription: marks custom preview panes\nmodified: 20180926171456503\ntags: SystemTags\ntitle: SystemTag: $:/tags/EditPreview\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/EditPreview` marks custom preview panes"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_EditTemplate.tid",
    "content": "caption: $:/tags/EditTemplate\ncreated: 20180926170345251\ndescription: marks the edit template\nmodified: 20180926171456501\ntags: SystemTags\ntitle: SystemTag: $:/tags/EditTemplate\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/EditTemplate` marks the edit template"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_EditToolbar.tid",
    "content": "caption: $:/tags/EditToolbar\ncreated: 20180926170345251\ndescription: marks the edit mode tiddler toolbar\nmodified: 20180926171456499\ntags: SystemTags\ntitle: SystemTag: $:/tags/EditToolbar\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/EditToolbar` marks the edit mode tiddler toolbar"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_EditorToolbar.tid",
    "content": "caption: $:/tags/EditorToolbar\ncreated: 20180926170345251\ndescription: marks the editor toolbar buttons\nmodified: 20180926171456505\ntags: SystemTags\ntitle: SystemTag: $:/tags/EditorToolbar\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/EditorToolbar` marks the editor toolbar buttons"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_EditorTools.tid",
    "content": "caption: $:/tags/EditorTools\ncreated: 20210519160245560\ndescription: marks the edit mode tiddler toolbar for non-button elements.\nmodified: 20210519160509587\ntags: SystemTags\ntitle: SystemTag: $:/tags/EditorTools\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]]  `$:/tags/EditorTools` can be used to include non-button UI elements in the edit mode tiddler toolbar. For buttons see [[SystemTag: $:/tags/EditToolbar]]."
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_Exporter.tid",
    "content": "caption: $:/tags/Exporter\ncreated: 20180926170345251\ndescription: marks the exporters\nmodified: 20180926171456497\ntags: SystemTags\ntitle: SystemTag: $:/tags/Exporter\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/Exporter` marks the exporters"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_Filter.tid",
    "content": "caption: $:/tags/Filter\ncreated: 20180926170345251\ndescription: marks filters in advanced search sample filter dropdown\nmodified: 20180926171456495\ntags: SystemTags\ntitle: SystemTag: $:/tags/Filter\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/Filter` marks filters in advanced search sample filter dropdown\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_Global.tid",
    "content": "caption: $:/tags/Global\ncreated: 20230419103154329\ndescription: marks global definitions\nmodified: 20230419103154329\ntags: SystemTags\ntitle: SystemTag: $:/tags/Global\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/Global` marks global definitions that are made available everywhere."
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_Global_View.tid",
    "content": "caption: $:/tags/Global/View\ncreated: 20230419103154329\ndescription: marks global definitions only active in View template\nmodified: 20230419103154329\ntags: SystemTags\ntitle: SystemTag: $:/tags/Global/View\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/Global/View` marks definitions that are only made available within the main view templates and the preview panel.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_Global_View_Body.tid",
    "content": "caption: $:/tags/Global/View/Body\ncreated: 20230419103154329\ndescription: marks global definitions only active in View template body\nmodified: 20230419103154329\ntags: SystemTags\ntitle: SystemTag: $:/tags/Global/View/Body\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/Global/View/Body` marks definitions that are only made available within the main view template bodies and the preview panel.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_Image.tid",
    "content": "caption: $:/tags/Image\ncreated: 20180926170345251\ndescription: marks (core) images\nmodified: 20211018102336342\ntags: SystemTags\ntitle: SystemTag: $:/tags/Image\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/Image` marks core images. An overview of system icons can be found in the [[Icon Gallery]]"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_ImportPreview.tid",
    "content": "caption: $:/tags/ImportPreview\ncreated: 20180926170345251\ndescription: marks preview types for the import listing\nmodified: 20180926171456492\ntags: SystemTags\ntitle: SystemTag: $:/tags/ImportPreview\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/ImportPreview` marks preview types for the import listing"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_KeyboardShortcut.tid",
    "content": "caption: $:/tags/KeyboardShortcut\ndescription: uses the text of tagged tiddler as keyboard shortcut actions\ntags: SystemTags\ntitle: SystemTag: $:/tags/KeyboardShortcut\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/KeyboardShortcut` defines the tagged Tiddler as a [[Keyboard Shortcut Tiddler]], a ''container for actions'' that get triggered when its corresponding [[Keyboard Shortcut Descriptor]] in its `key` field matches a keyboard combination executed by the User\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_Layout.tid",
    "content": "caption: $:/tags/Layout\ncreated: 20201123191935978\ndescription: marks alternative page layouts\nmodified: 20201123192158739\ntags: SystemTags\ntitle: SystemTag: $:/tags/Layout\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/Layout` marks [[alternative page layouts|Alternative page layouts]] that can be switched to."
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_Macro.tid",
    "content": "caption: $:/tags/Macro\ncreated: 20180926170345251\ndescription: marks global macros\nmodified: 20180926171456486\ntags: SystemTags\ntitle: SystemTag: $:/tags/Macro\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/Macro` marks global macros. It is now deprecated in favour of [[SystemTag: $:/tags/Global]].\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_Macro_View.tid",
    "content": "caption: $:/tags/Macro/View\ncreated: 20200103092530990\ndescription: marks global macros only active in View template\nmodified: 20200103092606462\ntags: SystemTags\ntitle: SystemTag: $:/tags/Macro/View\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/Macro/View` marks macros that are only made available within the main view templates and the preview panel. It is now deprecated in favour of [[SystemTag $:/tags/Global/View]].\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_Macro_View_Body.tid",
    "content": "caption: $:/tags/Macro/View/Body\ncreated: 20200103092530990\ndescription: marks global macros only active in View template body\nmodified: 20220505082912548\ntags: SystemTags\ntitle: SystemTag: $:/tags/Macro/View/Body\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/Macro/View/Body` marks macros that are only made available within the main view template bodies and the preview panel. It is now deprecated in favour of [[SystemTag $:/tags/Global/View/Body]].\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_Manager_ItemMain.tid",
    "content": "caption: $:/tags/Manager/ItemMain\ncreated: 20180926170345251\ndescription: marks the tiddler manager. $:/Manager\nmodified: 20180926171456490\ntags: SystemTags\ntitle: SystemTag: $:/tags/Manager/ItemMain\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/Manager/ItemMain` marks the tiddler manager. $:/Manager"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_Manager_ItemSidebar.tid",
    "content": "caption: $:/tags/Manager/ItemSidebar\ncreated: 20180926170345251\ndescription: marks the tiddler manager\nmodified: 20180926171456488\ntags: SystemTags\ntitle: SystemTag: $:/tags/Manager/ItemSidebar\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/Manager/ItemSidebar` marks the tiddler manager"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_MoreSideBar.tid",
    "content": "caption: $:/tags/MoreSideBar\ncreated: 20180926170345251\ndescription: marks tabs in the 'more' sidebar\nmodified: 20180926171456484\ntags: SystemTags\ntitle: SystemTag: $:/tags/MoreSideBar\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/MoreSideBar` marks tabs in the 'more' sidebar"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_MoreSideBar_Plugins.tid",
    "content": "caption: $:/tags/MoreSideBar/Plugins\ncreated: 20180926170345251\ndescription: marks Sidebar: More: Plugins tab\nmodified: 20180926171456483\ntags: SystemTags\ntitle: SystemTag: $:/tags/MoreSideBar/Plugins\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/MoreSideBar/Plugins` marks Sidebar: More: Plugins tab"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_PageControls.tid",
    "content": "caption: $:/tags/PageControls\ncreated: 20180926170345251\ndescription: marks the page control tools in the sidebar\nmodified: 20180926171456481\ntags: SystemTags\ntitle: SystemTag: $:/tags/PageControls\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/PageControls` marks the page control tools in the sidebar"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_PageTemplate.tid",
    "content": "caption: $:/tags/PageTemplate\ncreated: 20180926170345251\ndescription: marks the main page elements\nmodified: 20180926171456480\ntags: SystemTags\ntitle: SystemTag: $:/tags/PageTemplate\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/PageTemplate` marks the main page elements"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_Palette.tid",
    "content": "caption: $:/tags/Palette\ncreated: 20180926170345251\ndescription: marks colour palettes\nmodified: 20180926171456478\ntags: SystemTags\ntitle: SystemTag: $:/tags/Palette\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/Palette` marks colour palettes"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_PluginLibrary.tid",
    "content": "caption: $:/tags/PluginLibrary\ncreated: 20180926170345251\ndescription: marks the plugin library\nmodified: 20180926171456474\ntags: SystemTags\ntitle: SystemTag: $:/tags/PluginLibrary\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/PluginLibrary` marks the plugin library"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_RawMarkup.tid",
    "content": "caption: $:/tags/RawMarkup\ncreated: 20180926170345251\ndescription: marks tiddlers included as raw text at the bottom of `<head>`\nmodified: 20180927084346820\ntags: SystemTags\ntitle: SystemTag: $:/tags/RawMarkup\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/RawMarkup` marks plain text tiddlers to be included as raw markup at the bottom of the `<head>` section in the generated HTML file.\n\nNote that the wiki must be saved and reloaded in order for a raw markup tiddler to take effect."
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_RawMarkupWikified.tid",
    "content": "caption: $:/tags/RawMarkupWikified\ncreated: 20180926170345251\ndescription: marks tiddlers included as wikified text at the bottom of `<head>`\nmodified: 20180927084332243\ntags: SystemTags\ntitle: SystemTag: $:/tags/RawMarkupWikified\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/RawMarkupWikified` marks wikified tiddlers to be included as raw markup at the bottom of the `<head>` section in the generated HTML file.\n\nNote that the wiki must be saved and reloaded in order for a raw markup tiddler to take effect. Also note that global macros are not available by default within raw markup tiddlers; you can use the ImportVariablesWidget to explicitly import them."
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_RawMarkupWikified_BottomBody.tid",
    "content": "caption: $:/tags/RawMarkupWikified/BottomBody\ncreated: 20180926170345251\ndescription: marks tiddlers included as wikified text at the bottom of `<body>`\nmodified: 20180928145806493\ntags: SystemTags\ntitle: SystemTag: $:/tags/RawMarkupWikified/BottomBody\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.18\">> The [[system tag|SystemTags]] `$:/tags/RawMarkupWikified/BottomBody` marks wikified tiddlers to be included as raw markup at the bottom of the `<body>` section in the generated HTML file.\n\nNote that the wiki must be saved and reloaded in order for a raw markup tiddler to take effect. Also note that global macros are not available by default within raw markup tiddlers; you can use the ImportVariablesWidget to explicitly import them."
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_RawMarkupWikified_TopBody.tid",
    "content": "caption: $:/tags/RawMarkupWikified/TopBody\ncreated: 20180926170345251\ndescription: marks tiddlers included as wikified text at the top of `<body>`\nmodified: 20180928145800288\ntags: SystemTags\ntitle: SystemTag: $:/tags/RawMarkupWikified/TopBody\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.18\">> The [[system tag|SystemTags]] `$:/tags/RawMarkupWikified/TopBody` marks wikified tiddlers to be included as raw markup at the top of the `<body>` section in the generated HTML file.\n\nNote that the wiki must be saved and reloaded in order for a raw markup tiddler to take effect. Also note that global macros are not available by default within raw markup tiddlers; you can use the ImportVariablesWidget to explicitly import them."
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_RawMarkupWikified_TopHead.tid",
    "content": "caption: $:/tags/RawMarkupWikified/TopHead\ncreated: 20180926170345251\ndescription: marks tiddlers included as wikified text at the top of `<head>`\nmodified: 20180928145753616\ntags: SystemTags\ntitle: SystemTag: $:/tags/RawMarkupWikified/TopHead\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.18\">> The [[system tag|SystemTags]] `$:/tags/RawMarkupWikified/TopHead` marks wikified tiddlers to be included as raw markup at the top of the `<head>` section in the generated HTML file.\n\nNote that the wiki must be saved and reloaded in order for a raw markup tiddler to take effect. Also note that global macros are not available by default within raw markup tiddlers; you can use the ImportVariablesWidget to explicitly import them."
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_RawStaticContent.tid",
    "content": "caption: $:/tags/RawStaticContent\ncreated: 20180926170345251\ndescription: marks raw content to be saved into the TW code\nmodified: 20180926171456461\ntags: SystemTags\ntitle: SystemTag: $:/tags/RawStaticContent\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/RawStaticContent` marks raw content to be saved into the TW code"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_RemoteAssetInfo.tid",
    "content": "caption: $:/tags/RemoteAssetInfo\ncreated: 20180926170345251\ndescription: marks plugin import handling\nmodified: 20180926171456460\ntags: SystemTags\ntitle: SystemTag: $:/tags/RemoteAssetInfo\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/RemoteAssetInfo` marks plugin import handling"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_SearchResults.tid",
    "content": "caption: $:/tags/SearchResults\ncreated: 20180926170345251\ndescription: marks customised search results\nmodified: 20180926171456458\ntags: SystemTags\ntitle: SystemTag: $:/tags/SearchResults\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/SearchResults` marks customised search results"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_ServerConnection.tid",
    "content": "caption: $:/tags/ServerConnection\ncreated: 20180926170345251\ndescription: marks plugin import handling\nmodified: 20180926171456456\ntags: SystemTags\ntitle: SystemTag: $:/tags/ServerConnection\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/ServerConnection` marks plugin import handling"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_SideBar.tid",
    "content": "caption: $:/tags/SideBar\ncreated: 20180926170345251\ndescription: marks sidebar tabs\nmodified: 20180926171456454\ntags: SystemTags\ntitle: SystemTag: $:/tags/SideBar\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/SideBar` marks sidebar tabs"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_SideBarSegment.tid",
    "content": "caption: $:/tags/SideBarSegment\ncreated: 20180926170345251\ndescription: marks sidebar segments\nmodified: 20180926171456451\ntags: SystemTags\ntitle: SystemTag: $:/tags/SideBarSegment\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/SideBarSegment` marks sidebar segments\n\nNote: You can rearrange the segments by drag-and-dropping the titles inside the tag pill <<tag $:/tags/SideBarSegment>>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_StartupAction.tid",
    "content": "caption: $:/tags/StartupAction\ncreated: 20180926170345251\ndescription: marks actions executed on all platforms\nmodified: 20180926171456449\ntags: SystemTags\ntitle: SystemTag: $:/tags/StartupAction\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/StartupAction` marks actions executed on all platforms"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_StartupAction_Browser.tid",
    "content": "caption: $:/tags/StartupAction/Browser\ncreated: 20180926170345251\ndescription: marks actions only executed when running in the browser\nmodified: 20180926171456447\ntags: SystemTags\ntitle: SystemTag: $:/tags/StartupAction/Browser\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/StartupAction/Browser` marks actions only executed when running in the browser"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_StartupAction_Node.tid",
    "content": "caption: $:/tags/StartupAction/Node\ncreated: 20180926170345251\ndescription: marks actions only executed when running under Node.js\nmodified: 20180926171456445\ntags: SystemTags\ntitle: SystemTag: $:/tags/StartupAction/Node\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/StartupAction/Node` marks actions only executed when running under Node.js"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_Stylesheet.tid",
    "content": "caption: $:/tags/Stylesheet\ncreated: 20180926170345251\ndescription: marks that a tiddler should be applied as a CSS stylesheet\nmodified: 20180926171456442\ntags: SystemTags\ntitle: SystemTag: $:/tags/Stylesheet\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/Stylesheet` marks that a tiddler should be applied as a CSS stylesheet"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_TagDropdown.tid",
    "content": "caption: $:/tags/TagDropdown\ncreated: 20180926170345251\ndescription: marks tags dropdown sorting\nmodified: 20180926171456439\ntags: SystemTags\ntitle: SystemTag: $:/tags/TagDropdown\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/TagDropdown` marks tags dropdown sorting"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_Texteditor_Snippet.tid",
    "content": "caption: $:/tags/TextEditor/Snippet\ncreated: 20180926170345251\ndescription: marks text snippets\nmodified: 20200828154100425\ntags: SystemTags\ntitle: SystemTag: $:/tags/TextEditor/Snippet\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/TextEditor/Snippet` marks text snippets"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_TiddlerInfo.tid",
    "content": "caption: $:/tags/TiddlerInfo\ncreated: 20180926170345251\ndescription: marks tiddler info panel tabs\nmodified: 20180926171456544\ntags: SystemTags\ntitle: SystemTag: $:/tags/TiddlerInfo\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/TiddlerInfo` marks tiddler info panel tabs"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_TiddlerInfoSegment.tid",
    "content": "caption: $:/tags/TiddlerInfoSegment\ncreated: 20180926170345251\ndescription: marks tiddler info panel segments\nmodified: 20180926171456541\ntags: SystemTags\ntitle: SystemTag: $:/tags/TiddlerInfoSegment\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/TiddlerInfoSegment` marks tiddler info panel segments"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_TiddlerInfo_Advanced.tid",
    "content": "caption: $:/tags/TiddlerInfo/Advanced\ncreated: 20180926170345251\ndescription: marks tabs under the advanced tiddler tab\nmodified: 20180926171456539\ntags: SystemTags\ntitle: SystemTag: $:/tags/TiddlerInfo/Advanced\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/TiddlerInfo/Advanced` marks tabs under the advanced tiddler tab"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_ToolbarButtonStyle.tid",
    "content": "caption: $:/tags/ToolbarButtonStyle\ncreated: 20180926170345251\ndescription: marks the style of the buttons\nmodified: 20180926171456537\ntags: SystemTags\ntitle: SystemTag: $:/tags/ToolbarButtonStyle\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/ToolbarButtonStyle` marks the style of the buttons"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_TopLeftBar.tid",
    "content": "caption: $:/tags/TopLeftBar\ncreated: 20180926170345251\ndescription: marks the top left bar\nmodified: 20180926171456536\ntags: SystemTags\ntitle: SystemTag: $:/tags/TopLeftBar\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/TopLeftBar` marks the top left bar"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_TopRightBar.tid",
    "content": "caption: $:/tags/TopRightBar\ncreated: 20180926170345251\ndescription: marks the top right bar\nmodified: 20180926171456534\ntags: SystemTags\ntitle: SystemTag: $:/tags/TopRightBar\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/TopRightBar` marks the top right bar"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_ViewTemplate.tid",
    "content": "caption: $:/tags/ViewTemplate\ncreated: 20180926170345251\ndescription: identifies the individual segments that are displayed as part of the view template\nmodified: 20180926171456532\ntags: SystemTags\ntitle: SystemTag: $:/tags/ViewTemplate\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/ViewTemplate` identifies the individual segments that are displayed as part of the view template"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_ViewTemplateSubtitle.tid",
    "content": "caption: $:/tags/ViewTemplate/Subtitle\ncreated: 20220714093251204\ndescription: identifies the individual segments that are displayed as the tiddler subtitle\nmodified: 20220714093251204\ntags: SystemTags\ntitle: SystemTag: $:/tags/ViewTemplate/Subtitle\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/ViewTemplate/Subtitle` identifies the individual segments that are displayed as the tiddler subtitle"
  },
  {
    "path": "editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_ViewToolbar.tid",
    "content": "caption: $:/tags/ViewToolbar\ncreated: 20180926170345251\ndescription: marks the view mode tiddler toolbar\nmodified: 20180926171456531\ntags: SystemTags\ntitle: SystemTag: $:/tags/ViewToolbar\ntype: text/vnd.tiddlywiki\n\nThe [[system tag|SystemTags]] `$:/tags/ViewToolbar` marks the view mode tiddler toolbar"
  },
  {
    "path": "editions/tw5.com/tiddlers/tag-picker Macro (Examples).tid",
    "content": "created: 20230616104546608\nmodified: 20240708132312901\ntags: [[tag-picker Macro]] [[Macro Examples]]\ntitle: tag-picker Macro (Examples)\ntype: text/vnd.tiddlywiki\n\n<<.warning \"\"\"The first example will add tags to the <<.tid currentTiddler>> so you should copy / paste it to a new tiddler for testing. Otherwise you'll change \"this tiddler\" \"\"\">>\n\n<$transclude $variable=\".example\" n=\"1\"\neg=\"\"\"Add tags to this tiddler's ''tags'' field (selecting from a list of all tags): <<tag-picker>>\n\"\"\"/>\n\n----\n\n<$let transclusion=test>\n\n<<.tip \"\"\"The following examples use a temporary tiddler: $:/temp/test/tag-picker. So this tiddler will not be changed \"\"\">>\n\n\n<$transclude $variable=\".example\" n=\"2\" \neg=\"\"\"$:/temp/test/tag-picker ''tags'': <$text text={{{ [[$:/temp/test/tag-picker]get[tags]enlist-input[]join[, ]else[n/a]] }}}/>\n\nAdd tags to the $:/temp/test/tag-picker ''tags'' field (selecting from a list of all tags): <<tag-picker tiddler:\"$:/temp/test/tag-picker\">>\n\"\"\"/>\n\n----\n\n<<.tip \"\"\"Use the following example to populate the $:/temp/test/tag-picker ''foo''-field, which are needed by some examples below \"\"\">>\n\n<$transclude $variable=\".example\" n=\"3\" \neg=\"\"\"$:/temp/test/tag-picker ''foo'': <$text text={{{ [[$:/temp/test/tag-picker]get[foo]enlist-input[]join[, ]else[n/a]] }}}/>\n\nAdd tags to the $:/temp/test/tag-picker ''foo'' field (selecting from a list of all tags): <<tag-picker tagField:\"foo\"  tiddler:\"$:/temp/test/tag-picker\">>\n\"\"\"/>\n\n----\n\n<<.tip \"\"\"The following example expects some values in the \"foo\" field of the tiddler $:/temp/test/tag-picker, which can be created by the example above.\"\"\">>\n\n<$transclude $variable=\".example\" n=\"4\" eg=\"\"\"\\procedure listSource() $:/temp/test/tag-picker\n\n$:/temp/test/tag-picker foo: <$text text={{{ [[$:/temp/test/tag-picker]get[foo]enlist-input[]join[, ]else[n/a]] }}}/><br>\n$:/temp/test/tag-picker bar: <$text text={{{ [[$:/temp/test/tag-picker]get[bar]enlist-input[]join[, ]else[n/a]] }}}/>\n\nAdd tags to the ''bar'' field, selecting from values in ''foo'' field of $:/temp/test/tag-picker: <<tag-picker tagField:\"bar\" tagListFilter:\"[<listSource>get[foo]enlist-input[]]\" tiddler:\"$:/temp/test/tag-picker\">>\n\"\"\"/>\n\n----\n\n<<.tip \"\"\"The following example expects some values in the \"foo\" field of the tiddler $:/temp/test/tag-picker, which can be created by the example above.<br>\nIt will also add completely new tags to the bar-field and the source tiddler‘s foo-field. New tags can be entered by typing into the tag-name input\n\"\"\">>\n\n<$transclude $variable=\".example\" n=\"5\" eg=\"\"\"\n\\procedure listSource() $:/temp/test/tag-picker\n\\procedure listSourceField() foo\n\n\\procedure addNewTagToSource()\n\t<$action-listops $tiddler=<<listSource>> $field=<<listSourceField>> $subfilter='[<listSource>get<listSourceField>enlist-input[]] [<tag>trim[]]'/>\n\\end\n\n$:/temp/test/tag-picker foo: <$text text={{{ [[$:/temp/test/tag-picker]get[foo]enlist-input[]join[, ]else[n/a]] }}}/><br>\n$:/temp/test/tag-picker ''bar'': <$text text={{{ [[$:/temp/test/tag-picker]get[bar]enlist-input[]join[, ]else[n/a]] }}}/>\n\nAdd tags to ''bar'' field, selecting from values in ''foo'' field of $:/temp/test/tag-picker: <$macrocall $name=\"tag-picker\" tagField=\"bar\" tagListFilter=\"[<listSource>get<listSourceField>enlist-input[]]\" tiddler=\"$:/temp/test/tag-picker\" actions=<<addNewTagToSource>>/>\n\n\"\"\"/>\n\n</$let>"
  },
  {
    "path": "editions/tw5.com/tiddlers/tag-pill Macro (Examples).tid",
    "content": "created: 20230803034230294\nmodified: 20260114112240512\ntags: [[Macro Examples]] [[tag-pill Macro]]\ntitle: tag-pill Macro (Examples)\n\nThis example displays the [[Community]] tag as a clickable element with no dropdown:\n\n<$transclude $variable=\".example\" n=\"1\" eg=\"\"\"<<tag-pill Community>>\"\"\"/>\n\nThis example displays the [[Definitions]] tag as an unclickable, but still-styled, `big` element with no dropdown:\n\n<$transclude $variable=\".example\" n=\"2\" eg=\"\"\"<<tag-pill Definitions element-tag:\"big\" element-attributes:\"inert\">>\"\"\"/>\n\n\n<$transclude $variable=\".example\" n=\"3\" eg=\"\"\"\\procedure tag-actions()\n<$action-confirm $message=\"test\"/>\n\\end\n\n<$transclude $variable=\"tag-pill\" tag=\"asdf\" element-tag=\"$button\" actions=<<tag-actions>>/>\n\"\"\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/testcases/Calls/ProcedureDynamicAttributes.tid",
    "content": "created: 20260301005951330\ndescription: Procedure calls with dynamic attributes\nmodified: 20260301013907635\ntags: $:/tags/wiki-test-spec\ntitle: TestCases/Calls/ProcedureDynamicAttributes\ntype: text/vnd.tiddlywiki-multiple\n\ntitle: Narrative\n\nNew-style equals sign named parameters support dynamic values\n+\ntitle: Output\n\n\\function f(a) foo [<a>] :and[join[ ]]\n\\procedure p(a1) <$text text=<<a1>>/>\n\n<$let v=\"foo 1\" v2=\"foo 3\">\n<<p a1=<<v>>>> -\n<<p a1=<<f 2>>>> -\n<<p a1=`$(v2)$`>> -\n<<p a1={{my tiddler}}>> -\n<<p a1={{my tiddler!!myfield}}>> -\n<<p a1={{{ foo 6 :and[join[ ]] }}}>>\n</$let>\n+\ntitle: my tiddler\nmyfield: foo 5\n\nfoo 4\n+\ntitle: ExpectedResult\n\n<p>\nfoo 1 -\nfoo 2 -\nfoo 3 -\nfoo 4 -\nfoo 5 -\nfoo 6\n</p>"
  },
  {
    "path": "editions/tw5.com/tiddlers/testcases/Calls/ProcedureStaticAttributes.tid",
    "content": "created: 20260301000418824\ndescription: Procedure calls with static attributes\nmodified: 20260301031128810\ntags: $:/tags/wiki-test-spec\ntitle: TestCases/Calls/ProcedureStaticAttributes\ntype: text/vnd.tiddlywiki-multiple\n\ntitle: Narrative\n\nPositional, old style colon named parameters, and new-style equals sign named parameters support static values\n+\ntitle: Output\n\n\\procedure p(a1) <$text text=<<a1>>/>\n\n<<p foo1>> -\n<<p a1:foo2>> -\n<<p a1=foo3>>\n\n<<p \"foo 4\">> -\n<<p a1:\"foo 5\">> -\n<<p a1=\"foo 6\">>\n\n<<p 'foo 7'>> -\n<<p a1:'foo 8'>> -\n<<p a1='foo 9'>>\n\n<<p \"\"\"foo 10\"\"\">> -\n<<p a1:\"\"\"foo 11\"\"\">> -\n<<p a1=\"\"\"foo 12\"\"\">>\n\n<<p [[foo 13]]>> -\n<<p a1:[[foo 14]]>> -\n<<p a1=[[foo 15]]>>\n+\ntitle: ExpectedResult\n\n<p>foo1 -\nfoo2 -\nfoo3</p><p>foo 4 -\nfoo 5 -\nfoo 6</p><p>foo 7 -\nfoo 8 -\nfoo 9</p><p>foo 10 -\nfoo 11 -\nfoo 12</p><p>foo 13 -\nfoo 14 -\nfoo 15</p>"
  },
  {
    "path": "editions/tw5.com/tiddlers/testcases/DataWidget/FilterMissingTiddler.tid",
    "content": "title: TestCases/DataWidget/FilterMissingTiddler\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\ndescription: Filter returns title of missing tiddler\ndisplay-format: plaintext\n\ntitle: Narrative\n\nWhen the $filter attribute of the data widget returns the title of a missing tiddler, no tiddler should be added to the output array of tiddlers.\n+\ntitle: Output\n\n<$data $filter=\"missing\"/>\n+\ntitle: ExpectedResult\n\n<p>[]</p>"
  },
  {
    "path": "editions/tw5.com/tiddlers/testcases/DataWidget/ImportCompound.tid",
    "content": "title: TestCases/DataWidget/ImportCompound\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\ndescription: Importing a compound payload tiddler and adding custom fields\ndisplay-format: plaintext\n\ntitle: Narrative\n\nUsing the data widget to import a tiddler stored in a compound tiddler\n+\ntitle: Output\n\n<$data $compound-tiddler=\"Compound\" custom=\"Alpha\"/>\n+\ntitle: Compound\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Payload Tiddler\ntags: Alpha Beta Gamma\n\nThis is a payload tiddler from a compound tiddler\n+\ntitle: ExpectedResult\n\n<p>[\n    {\n        \"title\": \"Payload Tiddler\",\n        \"tags\": \"Alpha Beta Gamma\",\n        \"text\": \"This is a payload tiddler from a compound tiddler\",\n        \"custom\": \"Alpha\"\n    }\n]</p>"
  },
  {
    "path": "editions/tw5.com/tiddlers/testcases/DataWidget/ImportCustomTitle.tid",
    "content": "title: TestCases/DataWidget/ImportCustomTitle\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\ndescription: Importing a payload tiddler and overwriting the title\ndisplay-format: plaintext\n\ntitle: Narrative\n\nImporting a payload tiddler and overwriting the title\n+\ntitle: Output\n\n\\whitespace trim\n<$data $tiddler=\"HelloThere\" title=\"RealTitle\"/>\n+\ntitle: HelloThere\ntags: Definitions\n\nThis is the tiddler HelloThere\n+\ntitle: ExpectedResult\n\n<p>[\n    {\n        \"title\": \"RealTitle\",\n        \"tags\": \"Definitions\",\n        \"text\": \"This is the tiddler HelloThere\"\n    }\n]</p>"
  },
  {
    "path": "editions/tw5.com/tiddlers/testcases/DataWidget/ImportedFilter.tid",
    "content": "title: TestCases/DataWidget/ImportedFilter\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\ndescription: Imported filter definition\ndisplay-format: plaintext\n\ntitle: Narrative\n\nUsing the data widget to create copies of all the tiddlers with the title prefix \"Day: T\", adding the field \"custom\" set to \"Beta\"\n+\ntitle: Output\n\n<$data $filter=\"[prefix[Day: T]]\" custom=\"Beta\"/>\n+\ntitle: Day: Monday\ntext: Today is Monday\n+\ntitle: Day: Tuesday\ntext: Today is Tuesday\n+\ntitle: Day: Wednesday\ntext: Today is Wednesday\n+\ntitle: Day: Thursday\ntext: Today is Thursday\n+\ntitle: Day: Friday\ntext: Today is Friday\n+\ntitle: Day: Saturday\ntext: Today is Saturday\n+\ntitle: Day: Sunday\ntext: Today is Sunday\n+\ntitle: ExpectedResult\n\n<p>[\n    {\n        \"title\": \"Day: Thursday\",\n        \"text\": \"Today is Thursday\",\n        \"custom\": \"Beta\"\n    },\n    {\n        \"title\": \"Day: Tuesday\",\n        \"text\": \"Today is Tuesday\",\n        \"custom\": \"Beta\"\n    }\n]</p>"
  },
  {
    "path": "editions/tw5.com/tiddlers/testcases/DataWidget/ImportedTiddler.tid",
    "content": "title: TestCases/DataWidget/ImportedTiddler\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\ndescription: Imported tiddler definition\ndisplay-format: plaintext\n\ntitle: Narrative\n\nUsing the data widget to create a tiddler that is a copy of the tiddler \"Hello\" with the addition of the field \"custom\" set to \"Alpha\"\n+\ntitle: Output\n\n<$data $tiddler=\"Hello\" custom=\"Alpha\"/>\n+\ntitle: Hello\nmodifier: JoeBloggs\n\nThis is the Hello tiddler\n+\ntitle: ExpectedResult\n\n<p>[\n    {\n        \"title\": \"Hello\",\n        \"modifier\": \"JoeBloggs\",\n        \"text\": \"This is the Hello tiddler\",\n        \"custom\": \"Alpha\"\n    }\n]</p>"
  },
  {
    "path": "editions/tw5.com/tiddlers/testcases/DataWidget/Refreshing.tid",
    "content": "title: TestCases/DataWidget/Refreshing\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\ndescription: Refreshing the data widget\ndisplay-format: plaintext\n\ntitle: Narrative\n\nVerifying that the JSON output of the data widget is correctly refreshed when the data changes\n+\ntitle: Output\n\n<$data title=\"Epsilon\" text={{Subject}}/>\n+\ntitle: Subject\n\nNothing\n+\ntitle: Actions\n\n<$action-setfield $tiddler=\"Subject\" text=\"Theta\"/>\n+\ntitle: ExpectedResult\n\n<p>[\n    {\n        \"title\": \"Epsilon\",\n        \"text\": \"Theta\"\n    }\n]</p>"
  },
  {
    "path": "editions/tw5.com/tiddlers/testcases/DataWidget/SimpleTiddler.tid",
    "content": "title: TestCases/DataWidget/SimpleTiddler\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\ndescription: Simple tiddler definition\ndisplay-format: plaintext\n\ntitle: Narrative\n\nUsing the data widget to create a tiddler with the title \"Epsilon\" and the text \"Theta\"\n+\ntitle: Output\n\n<$data title=\"Epsilon\" text=\"Theta\"/>\n+\ntitle: ExpectedResult\n\n<p>[\n    {\n        \"title\": \"Epsilon\",\n        \"text\": \"Theta\"\n    }\n]</p>"
  },
  {
    "path": "editions/tw5.com/tiddlers/testcases/HTML/BlockModeInHTMLTable.tid",
    "content": "created: 20240713164810184\ndescription: Block mode for table cells\nmodified: 20240713164810184\ntags: $:/tags/wiki-test-spec\ntitle: TestCases/HTML/BlockModeInHTMLTable\ntype: text/vnd.tiddlywiki-multiple\n\ntitle: Narrative\n\nUnlike the table wiki syntax, the less convenient `<table>`, `<tr>`, `<td>` html tags can use a blank line\nto get block mode punctuation regognised inside of table cells.\n+\ntitle: Output\n\n<table>\n<tr><td>\n\n* list item one\n* list item two\n</td><td>\n\n|nested|table|\n</td></tr>\n</table>\n+\ntitle: ExpectedResult\n\n<p><table>\n<tr><td><ul><li>list item one</li><li>list item two</li></ul></td><td><table><tbody><tr class=\"evenRow\"><td>nested</td><td>table</td></tr></tbody></table></td></tr>\n</table></p>"
  },
  {
    "path": "editions/tw5.com/tiddlers/testcases/HTML/OpenTagBlankLine.tid",
    "content": "created: 20240622142425004\ndescription: Blank line after open tag\nmodified: 20240622144230258\ntags: $:/tags/wiki-test-spec\ntitle: TestCases/HTML/OpenTagBlankLine\ntype: text/vnd.tiddlywiki-multiple\n\ntitle: Narrative\n\nA blank line after an open html tag allows block mode punctuation to be recognised\n+\ntitle: Output\n\n<div>\n\n* blank line after open tag allows\n* block mode punctuation (i.e. this list) to\n* be recognised\n</div>\n+\ntitle: ExpectedResult\n\n<div><ul><li>blank line after open tag allows</li><li>block mode punctuation (i.e. this list) to</li><li>be recognised</li></ul></div>"
  },
  {
    "path": "editions/tw5.com/tiddlers/testcases/HTML/OpenTagBlankLineInBoldSyntax.tid",
    "content": "created: 20240622144038465\ndescription: Blank line after open tag in bold syntax\nmodified: 20240622145114506\ntags: $:/tags/wiki-test-spec\ntitle: TestCases/HTML/OpenTagBlankLineInBoldSyntax\ntype: text/vnd.tiddlywiki-multiple\n\ntitle: Narrative\n\nA blank line after an open html tag allows block mode punctuation to be recognised even when the html is embedded within inline punctuation (bold here).\n+\ntitle: Output\n\n''<div>\n\n* list item one\n* list item two\n</div>''\n+\ntitle: ExpectedResult\n\n<p><strong><div><ul><li>list item one</li><li>list item two</li></ul></div></strong></p>"
  },
  {
    "path": "editions/tw5.com/tiddlers/testcases/HTML/OpenTagBlankLineInTableSyntax.tid",
    "content": "created: 20240622144753311\ndescription: Blank line after open tag in table syntax\nmodified: 20240622145056299\ntags: $:/tags/wiki-test-spec\ntitle: TestCases/HTML/OpenTagBlankLineInTableSyntax\ntype: text/vnd.tiddlywiki-multiple\n\ntitle: Narrative\n\nA blank line after an open html tag cannot work when used inside table syntax since each row of a table must be all on one line\n+\ntitle: Output\n\n|For a blank line after open tag|<div>\n\n* list is recognised\n* but the surrounding table row is not\n</div>|\n+\ntitle: ExpectedResult\n\n<p>|For a blank line after open tag|<div><ul><li>list is recognised</li><li>but the surrounding table row is not</li></ul></div>|</p>"
  },
  {
    "path": "editions/tw5.com/tiddlers/testcases/HTML/OpenTagNoBlankLine.tid",
    "content": "created: 20240622143533021\ndescription: No blank line after open tag\nmodified: 20240622145145440\ntags: $:/tags/wiki-test-spec\ntitle: TestCases/HTML/OpenTagNoBlankLine\ntype: text/vnd.tiddlywiki-multiple\n\ntitle: Narrative\n\nBlock mode punctuation is not recognised when HTML open tag is not followed by a blank line\n+\ntitle: Output\n\n<div>\n* Open tag without a blank line means\n* block mode punctuation (i.e. this list) will\n* NOT be recognised.\n\nParagraphs are only recognised in block mode. Even with blank lines, new paragraphs are not recognised.\n\nThis also is not a new paragraph.\n</div>\n+\ntitle: ExpectedResult\n\n<p><div>\n* Open tag without a blank line means\n* block mode punctuation (i.e. this list) will\n* NOT be recognised.\n\nParagraphs are only recognised in block mode. Even with blank lines, new paragraphs are not recognised.\n\nThis also is not a new paragraph.\n</div></p>"
  },
  {
    "path": "editions/tw5.com/tiddlers/testcases/RevealWidget/AccordionSlider.tid",
    "content": "created: 20240721163229297\ndescription: Reveal widget for accordion or slider functionality\nmodified: 20240721172211283\ntags: $:/tags/wiki-test-spec\ntitle: TestCases/RevealWidget/AccordionSlider\ntype: text/vnd.tiddlywiki-multiple\n\ntitle: Narrative\n\nTwo distinct buttons toggle the state of the tiddler value. Two reveal widgets. The first displays the button to show the content. The second displays both the content and the button to hide the content.\n+\ntitle: Output\n\n<$reveal type=\"nomatch\" state=\"$:/state/SampleReveal2\" text=\"show\">\n\n<$button set=\"$:/state/SampleReveal2\" setTo=\"show\">Show me</$button>\n\n</$reveal>\n<$reveal type=\"match\" state=\"$:/state/SampleReveal2\" text=\"show\">\n\n<$button set=\"$:/state/SampleReveal2\" setTo=\"hide\">Hide me</$button>\n\n! This is the revealed content\nAnd this is some text\n\n</$reveal>\n+\ntitle: ExpectedResult\n\n<div class=\"tc-reveal\"><p><button class=\"\">Show me</button></p></div><div class=\"tc-reveal\" hidden=\"true\"></div>"
  },
  {
    "path": "editions/tw5.com/tiddlers/testcases/RevealWidget/Popup.tid",
    "content": "created: 20240721163229297\ndescription: Reveal widget for popup content\nmodified: 20240721172211283\ntags: $:/tags/wiki-test-spec\ntitle: TestCases/RevealWidget/Popup\ntype: text/vnd.tiddlywiki-multiple\n\ntitle: Narrative\n\nWhen the button is clicked, the tiddler specified by the popup attribute is filled with the click coordinates. The reveal widget uses these coordinates to position the popup content.\n+\ntitle: Output\n\n<$button popup=\"$:/SamplePopupState\">Pop me up!</$button>\n\n<$reveal type=\"popup\" state=\"$:/SamplePopupState\">\n<div class=\"tc-drop-down\">\n\n! This is the popup\nAnd this is some text\n\n</div>\n</$reveal>\n+\ntitle: ExpectedResult\n\n<p><button aria-expanded=\"false\" class=\"\">Pop me up!</button></p><p><span class=\"tc-reveal\" hidden=\"true\"></span></p>"
  },
  {
    "path": "editions/tw5.com/tiddlers/testcases/RevealWidget/SimpleReveal.tid",
    "content": "created: 20240721163229297\ndescription: Simple content reveal\nmodified: 20240721172211283\ntags: $:/tags/wiki-test-spec\ntitle: TestCases/RevealWidget/SimpleReveal\ntype: text/vnd.tiddlywiki-multiple\n\ntitle: Narrative\n\nTwo distinct buttons toggle the state of the tiddler value. The reveal widget displays its content for one of the two states.\n+\ntitle: Output\n\n<$button set=\"$:/state/SampleReveal1\" setTo=\"show\">Show me</$button>\n<$button set=\"$:/state/SampleReveal1\" setTo=\"hide\">Hide me</$button>\n\n<$reveal type=\"match\" state=\"$:/state/SampleReveal1\" text=\"show\">\n\n! This is the revealed content\nAnd this is some text\n\n</$reveal>\n+\ntitle: ExpectedResult\n\n<p><button class=\"\">Show me</button>\n<button class=\"\">Hide me</button></p><div class=\"tc-reveal\" hidden=\"true\"></div>"
  },
  {
    "path": "editions/tw5.com/tiddlers/testcases/RevealWidget/TextReference.tid",
    "content": "created: 20240721163229297\ndescription: Reveal widget text references\nmodified: 20240721174826529\ntags: $:/tags/wiki-test-spec\ntitle: TestCases/RevealWidget/TextReference\ntype: text/vnd.tiddlywiki-multiple\n\ntitle: Narrative\n\nThe state attribute of the reveal widget can use the text reference syntax to refer to a specific field. In this example if the field ``jeremy`` contains the text ``tiddlywiki``, then the reveal widget's content will be displayed.\n+\ntitle: Output\njeremy: tiddlywiki\n\n<$reveal type=\"match\" state=\"!!jeremy\" text=\"tiddlywiki\">\n~TiddlyWiki!\n</$reveal>\n+\ntitle: ExpectedResult\n\n<p><span class=\"tc-reveal\">\nTiddlyWiki!\n</span></p>"
  },
  {
    "path": "editions/tw5.com/tiddlers/testcases/TestCaseWidget/FailingTest.tid",
    "content": "title: TestCases/TestCaseWidget/FailingTest\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec-failing]]\ndescription: An example of a failing test\n\ntitle: Narrative\n\nThis test case intentionally fails (in order to show how failures are displayed). The expected result is set to <code><$text text={{ExpectedResult}}/></code>, but the result computes to <code><$wikify name=\"html\" text={{Output}} mode=\"block\" output=\"html\"><$text text=<<html>>/></$wikify></code>\n+\ntitle: Output\n\nThe sum is <$text text={{{ [[2]add[2]] }}}/>.\n+\ntitle: ExpectedResult\ntext: <p>The sum is not 8.</p>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/testcases/TestCaseWidget/NoExpectedResults.tid",
    "content": "title: TestCases/TestCaseWidget/NoExpectedResults\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\ndescription: A testcase that does not specify expected results\n\ntitle: Narrative\n\nThis testcase will display without the pass/fail icons because it does not include an `ExpectedResults` tiddler, and so will only be rendered, and not be executed as a test\n+\ntitle: Output\n\nThis is the output\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/testcases/TestCaseWidget/TwoPlusTwo.tid",
    "content": "title: TestCases/TestCaseWidget/TwoPlusTwo\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec-failing]]\ndescription: A testcase to calculate 2+2\n\ntitle: Narrative\n\nThis test case shows an elaborate way to calculate 2+2 involving multiple tiddlers\n+\ntitle: Output\n\nThe sum is <$text text={{{ [{FirstNumber}add{SecondNumber}] }}}/>\n+\ntitle: FirstNumber\ntext: 2\n+\ntitle: SecondNumber\ntext: 2\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/testcases/TestCaseWidget/currentTiddler.tid",
    "content": "description: currentTiddler should be properly set\ntags: $:/tags/wiki-test-spec\ntitle: TestCases/TestCaseTiddler/currentTiddler\ntype: text/vnd.tiddlywiki-multiple\n\ntitle: Narrative\n\ncurrentTiddler variable in Output tiddler should be \"Output\"\n+\ntitle: Output\n\n<$text text=<<currentTiddler>>>\n+\ntitle: ExpectedResult\n\n<p>Output</p>"
  },
  {
    "path": "editions/tw5.com/tiddlers/testcases/TranscludeWidget/SimpleTransclusion.tid",
    "content": "title: TestCases/TranscludeWidget/SimpleTransclusion\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\ndescription: Simple transclusion\n\ntitle: Narrative\n\nThis test case demonstrates transclusion of and links to other tiddlers.\n+\ntitle: Output\n\nGood morning, my [[name|Name]] is {{Name}} and I [[live in|Address]] {{Address}}\n+\ntitle: Name\n\nRobert Rabbit\n+\ntitle: Address\n\n14 Carrot Street, Vegetabletown\n+\ntitle: ExpectedResult\ntext: <p>Good morning, my <a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"#Name\">name</a> is Robert Rabbit and I <a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"#Address\">live in</a> 14 Carrot Street, Vegetabletown</p>"
  },
  {
    "path": "editions/tw5.com/tiddlers/testimonials/Testimonials - Joe Armstrong.tid",
    "content": "title: Testimonials - Joe Armstrong\ntags: Testimonial\ncaption: Joe Armstrong, Co-inventor of Erlang\nextlink: https://joearms.github.io/\n\nThe ~TiddlyWiki is the best software I've ever found for organising my ideas.\n\nIt's well worth spending an hour or so playing with it to see how it can help you. This will be time well-spent and will change how you think and how you organise your ideas.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/testimonials/Testimonials - Network World.tid",
    "content": "title: Testimonials - Network World\ntags: Testimonial\ncaption: Mark Gibbs, Network World\nextlink: http://www.networkworld.com/article/3028098/open-source-tools/tiddlywiki-a-free-open-source-wiki-revisited.html\n\n~TiddlyWiki gets a Gearhead rating of 6 out of 5 (it's that good).\n\nFinding code that works flawlessly after just two or three years is magical enough but after seven years?!\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/testimonials/Testimonials - Product Hunt.tid",
    "content": "title: Testimonials - Product Hunt\ntags: Testimonial\ncaption: Product Hunt\nextlink: https://www.producthunt.com/posts/tiddlywiki-2?utm_source=badge-top-post-badge&utm_medium=badge&utm_souce=badge-tiddlywiki-2\n\nTiddlyWiki was featured on Product Hunt on April 17th 2020, rising to become the #2 product of the day.\n\n<div style=\"text-align:center;\">{{Product Hunt Link}}</div>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/tiddlydesktop/TiddlyDesktop_Releases.tid",
    "content": "caption: ~TiddlyDesktop\ncreated: 20150419144649101\nmodified: 20180924082438784\ntags: Releases\ntitle: TiddlyDesktop Releases\ntype: text/vnd.tiddlywiki\n\nThe latest release of TiddlyDesktop can be found at https://github.com/TiddlyWiki/TiddlyDesktop/releases/latest, or you can see a [[list of all releases|https://github.com/TiddlyWiki/TiddlyDesktop/releases]].\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/v5.4.0/Improvements to Macro Calls.tid",
    "content": "title: Improvements to Macro Calls in v5.4.0\ntags: v5.4.0\n\n<$macrocall $name='wikitext-example-without-html'\nsrc=\"\"\"\\define testmacro(one)\nResult: $one$.\n\\end testmacro\n\n<<testmacro one={{{ [[There]addprefix[Hello]] }}}>>\n\"\"\"/>\n\n<$macrocall $name='wikitext-example-without-html'\nsrc=\"\"\"\\function testfunction(one)\n[<one>addprefix[Hello]]\n\\end testfunction\n\n<<testfunction one={{{ [[re]addprefix[The]] }}}>>\n\"\"\"/>\n\n<$macrocall $name='wikitext-example-without-html'\nsrc=\"\"\"\\define testmacro(one)\nResult: $one$.\n\\end testmacro\n\n<$text text=<<testmacro one={{{ [[There]addprefix[Hello]] }}}>>/>\n\"\"\"/>\n\n<$macrocall $name='wikitext-example-without-html'\nsrc=\"\"\"\\function testfunction(one)\n[<one>addprefix[Hello]]\n\\end testfunction\n\n<$text text=<<testfunction one={{{ [[re]addprefix[The]] }}}>>/>\n\"\"\"/>\n\n<$macrocall $name='wikitext-example'\nsrc=\"\"\"\\define innermacro(one)\n:$one$:$one$:\n\\end innermacro\n\n\\define mymacro(param)\n|$param$|$param$|\n\\end mymacro\n\n<div class=<<mymacro param={{{ [<innermacro one={{$:/palette}}>addprefix[The palette named ]] }}}>>>\nContent\n</div>\n\"\"\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/Behaviour of called variables depends on how the variable was declared.tid",
    "content": "created: 20230726145210484\nmodified: 20260130210336084\ntags: [[Variable Usage]]\ntitle: Behaviour of called variables depends on how the variable was declared\ntype: text/vnd.tiddlywiki\n\n\\define m1(a1) $a1$ - <<__a1__>> - <<a1>>\n\\procedure p1(a1) $a1$ - <<__a1__>> - <<a1>>\n\\function f1(a1) \"$a1$\" \"-\" [<__a1__>] =\"-\" [<a1>] :and[join[ ]]\n\nCalled in normal wikitext context: `<$transclude $variable=myvar/>` or `<<myvar>>`\n\n{{Behaviour of variables called via normal wikitext}}\n\nCalled via widget attribute: `<div class=<<myvar>>/>`\n\n{{Behaviour of variables called via widget attributes}}\n\nCalled via filter operator parameter: `[<myvar>]`\n\n{{Behaviour of variables called via filter operator parameter}}\n\nCalled via function call in a filter expression: `[function[.myfun]]`\n\n{{Behaviour of variables called via filter expression function call}}\n\n!! Examples\n\nBelow is an example macro, procedure and function definition.  All three forms of parameter substitution `$a1$`, `<<__a1__>>`, and `<<a1>>` are included in each definition. The output helps illustrate when each form of substitution will or will not have affect.\n\n```\n\\define m1(a1) $a1$ - <<__a1__>> - <<a1>>\n\\procedure p1(a1) $a1$ - <<__a1__>> - <<a1>>\n\\function f1(a1) $a1$ \"-\" [<__a1__>] =\"-\" [<a1>] :and[join[ ]]\n```\n\n| !Variable transclusion|!output |\n| `<<m1 foo>>`|<<m1 foo>>|\n| `<<p1 foo>>`|<<p1 foo>>|\n| `<<f1 foo>>`|<<f1 foo>>|\n| !Widget attribute|!output |\n| `<$text text=<<m1 foo>>/>`|<$text text=<<m1 foo>>/>|\n| `<$text text=<<p1 foo>>/>`|<$text text=<<p1 foo>>/>|\n| `<$text text=<<f1 foo>>/>`|<$text text=<<f1 foo>>/>|\n| !Filter operator parameter|!output |\n| `[<m1 foo>]`|<$text text={{{[<m1 foo>]}}}/>|\n| `[<p1 foo>]`|<$text text={{{[<p1 foo>]}}}/>|\n| `[<f1 foo>]`|<$text text={{{[<f1 foo>]}}}/>|\n| !Function call in filter expression|!output |\n| `[function[m1],[foo]]`|<$text text={{{[function[m1],[foo]]}}}/>|\n| `[function[p1],[foo]]`|<$text text={{{[function[p1],[foo]]}}}/>|\n| `[function[f1],[foo]]`|<$text text={{{[function[f1],[foo]]}}}/>|"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/Behaviour of variables invoked via filter expression function call.tid",
    "content": "created: 20230726143929233\nmodified: 20230726150604831\ntags: [[Variable Usage]]\ntitle: Behaviour of variables invoked via filter expression function call\ntype: text/vnd.tiddlywiki\n\n|tc-first-col-min-width|k\n|!how declared|!behaviour|\n|\\define, <<.wlink SetWidget>>, <<.wlink LetWidget>>, <<.wlink VarsWidget>>, \\procedure, \\widget|Every function is a variable, but only variables defined using \\function are callable using the <<.olink function>> filter operator. Attempts to use a non-function variable is the same as if the function doesn't exist. The behavior in this case is like the identity function. All filter input is passed unchanged to the output.|\n|\\function|The body text of the function is treated as a filter expression and evaluated. This filter expression can itself contain a function call. Filter expressions can be factored out into functions arbitrarily deep.|"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/Behaviour of variables invoked via filter operator parameter.tid",
    "content": "created: 20230726143617389\nmodified: 20230726150625716\ntags: [[Variable Usage]]\ntitle: Behaviour of variables invoked via filter operator parameter\ntype: text/vnd.tiddlywiki\n\n|tc-first-col-min-width|k\n|!how declared|!behaviour|\n|\\define|Textual substitution of parameters is performed on the body text. No further processing takes place. The result after textual substitution is used as the filter operator's parameter.|\n|<<.wlink SetWidget>>, <<.wlink LetWidget>>, <<.wlink VarsWidget>>, \\procedure, \\widget|Body text is retrieved as-is and used as the filter operator's parameter.|\n|\\function|The body text of the function is treated as a filter expression and evaluated. The first result is passed to the operator as a parameter. The remaining results are discarded.|"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/Behaviour of variables invoked via normal wikitext.tid",
    "content": "created: 20230726142925020\nmodified: 20240619211452297\ntags: [[Variable Usage]]\ntitle: Behaviour of variables invoked via normal wikitext\ntype: text/vnd.tiddlywiki\n\n|tc-first-col-min-width|k\n|!how declared|!behaviour|\n|\\define|All wikitext and variable substitution and textual substitution takes place|\n|<<.wlink SetWidget>>, <<.wlink LetWidget>>, <<.wlink VarsWidget>>, \\procedure, \\widget|All wikitext and variable substitution takes place|\n|\\function|Invoking a function in this way (`<<.myfun>>`) is a synonym for `<$text text={{{[function[.myfun]]}}}/>`. As with any filtered transclusion (i.e. triple curly braces), all results except the first are discarded|"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/Behaviour of variables invoked via widget attributes.tid",
    "content": "created: 20230726143332803\nmodified: 20240619210723396\ntags: [[Variable Usage]]\ntitle: Behaviour of variables invoked via widget attributes\ntype: text/vnd.tiddlywiki\n\n|tc-first-col-min-width|k\n|!how declared|!behaviour|\n|\\define|Textual substitution of parameters is performed on the body text. No further processing takes place. The result after textual substitution is used as the attribute's value|\n|<<.wlink SetWidget>>, <<.wlink LetWidget>>, <<.wlink VarsWidget>>, \\procedure, \\widget|Body text is retrieved as-is and used as the attribute's value.|\n|\\function|When a function (e.g. `.myfun`) is invoked as `<div class=<<.myfun>>/>`, it is a synonym for `<div class={{{[function[.myfun]]}}}/>`. As with any filtered transclusion (i.e. triple curly braces), all results except the first are discarded. That first result is used as the attribute's value. Note that functions are recursively processed even when invoked in this form. In other words a filter expression in a function can invoke another function and the processing will continue|\n\n<<.from-version \"5.4.0\">> Using the [[multi-valued variable attribute|Multi-Valued Variable Attribute Values]] syntax `((var))` instead of `<<var>>` passes the complete list of values to the attribute rather than just the first value. This is primarily useful for passing [[multi-valued variables|Multi-Valued Variables]] to procedure and function parameters via the TranscludeWidget."
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/Core Variables.tid",
    "content": "created: 20150220161908000\nmodified: 20240421144847774\ntags: Reference\ntitle: Core Variables\ntype: text/vnd.tiddlywiki\n\nThe following [[variables|Variables]] are built into ~TiddlyWiki's core:\n\n<<list-links filter:\"[tag[Core Variables]] -[tag[Configuration Variables]]\" class:\"multi-columns\">>\n\nThe core will also use various configuration variables and macros if you define them:\n\n<<list-links filter:\"[tag[Configuration Variables]]\"  class:\"multi-columns\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/Multi-Valued Variables.tid",
    "content": "title: Multi-Valued Variables\ncreated: 20250307212252946\nmodified: 20250307212252946\ntags: Concepts Variables\n\n<<.from-version \"5.4.0\">> In ordinary usage, [[variables|Variables]] contain a single snippet of text. With the introduction of multi-valued variables. it is now possible to store a list of multiple values in a single variable. When accessed in the usual way, only the first value is returned, but using round brackets instead of angle brackets around the variable name allows access to the complete list of the values. This makes multi-valued variables largely invisible unless you specifically need to use them.\n\n! Setting Multi-Valued Variables\n\nGenerally, all the methods for setting variables implicitly set multi-valued variables, with the exception of the [[Set Widget|Set Widget]].\n\n!! LetWidget\n\nThe <<.wid let>> widget allows multi-valued variables to be set in one operation, each to the complete list of results obtained from evaluating an attribute that is defined via a filtered transclusion. For example:\n\n```\n<$let\n\tvarname={{{ [all[tiddlers]sort[]] }}}\n>\n```\n\nThe <<.wid let>> widget also allows the complete list of return values from a function to be assigned to a multi-valued variable. For example:\n\n```\n<$let\n\tvarname=<<my.func>>\n>\n```\n\n!! [[Let Filter Run Prefix]]\n\nThe `:let` filter run prefix (or its shortcut syntax `=>`) assigns the complete list of results of a filter run to a multi-valued variable.\n\n! Retrieving Multi-Valued Variables\n\n!! [[title Operator]]\n\nThe simplest way to retrieve the complete list of values stored in a multi-valued variable is to use the [[title Operator]]. For example:\n\n```\n[title(varname)]\n```\n\nBecause `title` is the default operator when the operator name is missing from a filter step, the following example is equivalent to the previous one:\n\n```\n[(varname)]\n```\n\n!! Multi-valued Parameters for Filter Operators\n\nCertain filter operators can accept multi-valued parameters:\n\n* [[function Operator]]\n* [[title Operator]]\n\nFor example:\n\n```\n\\function myfunc(tiddlers) [(tiddlers)sort[]]\n\n<$let varname={{{ [all[tiddlers]limit[50]] }}}>\n<$text text={{{ [function[myfunc],(varname)] +[join[-]] }}}/>\n</$let>\n```\n\n!! Passing Multi-Valued Variables to Procedures and Functions\n\n<<.from-version \"5.4.0\">> Multi-valued variables can be passed to procedures and functions using the `((var))` syntax in [[widget attributes|Multi-Valued Variable Attribute Values]]. This is the multi-valued counterpart of the `<<var>>` syntax:\n\n```\n\\procedure showItems(itemList)\n<$text text={{{ [(itemList)join[-]] }}}/>\n\\end\n\n<$let items={{{ [all[tiddlers]sort[]] }}}>\n<$transclude $variable=\"showItems\" itemList=((items))/>\n</$let>\n```\n\nThe `((var))` syntax can also be used in procedure and function parameter defaults:\n\n```\n\\procedure showItems(itemList:((defaults)))\n<$text text={{{ [(itemList)join[-]] }}}/>\n\\end\n```\n\n! Displaying Multi-Valued Variables\n\n<<.from-version \"5.4.0\">> Multi-valued variables can be displayed inline in wikitext using the `((var))` syntax. The values are joined with a comma and space by default:\n\n```\n<$let items={{{ [all[tiddlers]sort[]] }}}>\n((items))\n</$let>\n```\n\nA custom separator can be specified using the `||` delimiter:\n\n```\n((items||:))\n```\n\nA similar syntax with triple round brackets is available for displaying the results of a filter expression:\n\n```\n(((  [all[tiddlers]sort[]]  )))\n(((  [all[tiddlers]sort[]]  ||:  )))\n```\n\n! Examples\n\n```\n<$let varname={{{ [all[tiddlers]sort[]] }}}>\n<$text text={{{ [(varname)] +[join[-]] }}}/>\n</$let>\n```\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/SampleTemplate.tid",
    "content": "created: 20230506165016526\ndescription: I'm a demonstration template\nmodified: 20230506170529579\ntags: Demonstrations thisTiddler\ntitle: SampleTemplate\ntype: text/vnd.tiddlywiki\n\n''thisTiddler'': <$text text=<<thisTiddler>> />\n\n''currentTiddler'': <$text text=<<currentTiddler>> />"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/Variable Usage.tid",
    "content": "created: 20230421020225031\nmodified: 20230726145912019\ntags: \ntitle: Variable Usage\ntype: text/vnd.tiddlywiki\n\n!Ways to define variables and parameters\n|! how declared|! how parameters are defined|! accessing parameter values in the body|\n|\\define|`()`|`$param$, <<__param__>>`|\n|~|<<.wlink ParametersWidget>> or `\\parameters`|`<<param>>`|\n|<<.wlink SetWidget>>, <<.wlink LetWidget>>, <<.wlink VarsWidget>>|<<.wlink ParametersWidget>> or `\\parameters`|`<<param>>`|\n|\\procedure, \\widget|`()`, <<.wlink ParametersWidget>> or `\\parameters`|`<<param>>`|\n|\\function|`()`|`<param>`|\n|javascript macros|`exports.params` javascript property array|passed as normal javascript function parameter and so accessed as a normal javascript variable|\n\n!!Examples\nThese examples are meant to provide insight into the various ways of defining and using parameters. In many cases they do not illustrate best practices.\n\n!!! \\define\n\n<$let eg='\\define mp1(a1)  $a1$ - <<__a1__>>\n\n\\define mp2() <$parameters a1><<a1>></$parameters>\n\n\\define mp3()\n\\parameters(a1)\n<<a1>>\n\\end\n\n|<<mp1 foo>>|<<mp2 foo>>|<<mp3 foo>>|\n'>\n<$macrocall $name=\"copy-to-clipboard-above-right\" src=<<eg>>/>\n<$codeblock code=<<eg>>/>\n</$let>\n\n!!! $set, $let, $vars\n\n<$let eg='<$set name=\"sp1\" value=\"<$parameters a1><<a1>></$parameters>\">\n<$set name=\"sp2\" value=\"\"\"\n\\parameters(a1)\n<$parameters a1><<a1>></$parameters>\n\"\"\">\n<$vars vp1=\"<$parameters a1><<a1>></$parameters>\" vp2=\"\"\"\n\\parameters(a1)\n<$parameters a1><<a1>></$parameters>\n\"\"\">\n<$let lp1=\"<$parameters a1><<a1>></$parameters>\" lp2=\"\"\"\n\\parameters(a1)\n<$parameters a1><<a1>></$parameters>\n\"\"\">\n\n|<<sp1 foo>>|<<sp2 foo>>|\n|<<vp1 foo>>|<<vp2 foo>>|\n|<<lp1 foo>>|<<lp2 foo>>|\n</$let>\n</$vars>\n</$set>\n</$set>\n'>\n<$macrocall $name=\"copy-to-clipboard-above-right\" src=<<eg>>/>\n<$codeblock code=<<eg>>/>\n</$let>\n\n!!! \\procedure, \\widget\n\n<$let eg='\\procedure pp1(a1)  <<a1>>\n\n\\procedure pp2() <$parameters a1><<a1>></$parameters>\n\n\\procedure pp3()\n\\parameters(a1)\n<<a1>>\n\\end\n\n\\procedure wp1(a1)  <<a1>>\n\n\\widget wp2() <$parameters a1><<a1>></$parameters>\n\n\\widget wp3()\n\\parameters(a1)\n<<a1>>\n\\end\n\n|<<pp1 foo>>|<<pp2 foo>>|<<pp3 foo>>|\n|<<wp1 foo>>|<<wp2 foo>>|<<wp3 foo>>|\n'>\n<$macrocall $name=\"copy-to-clipboard-above-right\" src=<<eg>>/>\n<$codeblock code=<<eg>>/>\n</$let>\n\n!!! \\function\n<$let eg='\\function fp1(a1)  [<a1>]\n|<<fp1 foo>>|'>\n<$macrocall $name=\"copy-to-clipboard-above-right\" src=<<eg>>/>\n<$codeblock code=<<eg>>/>\n</$let>\n\n\n!Behaviour of invoked variables depends on how the variable was declared\n\n{{Behaviour of invoked variables depends on how the variable was declared}}\n\n\n!Namespaces\n\n*''tiddler titles'' - tiddlers are uniquely identified by their title. The namespace for tiddler titles and variable names are completely separate.\n*''variables'' - \\define, <<.wlink SetWidget>>, <<.wlink LetWidget>>, <<.wlink VarsWidget>>, \\procedure, \\widget, \\function all create variables. If the same name is used, then later define will overwrite earlier defined\n *''<<.op function>> filter operator parameter'' - only variables defined using \\function can be called using the <<.olink function>> operator\n *''filter operators'' - only the [[javascript defined filter operators|Filter Operators]] and variables defined using \\function with name containing a dot can be called\n *''widgets'' - variables defined using \\widget can be invoked using `<$widget/>` syntax ONLY if the name starts a dollar sign. Without the dollar sign prefix, defining variables using \\widget is no different than using \\procedure.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/Variables.tid",
    "content": "created: 20141002133113496\nmodified: 20250307212252946\ntags: Concepts WikiText\ntitle: Variables\ntype: text/vnd.tiddlywiki\n\n!! Introduction\n\n* A <<.def variable>> is a ''snippet of text'' that can be accessed by name\n* The text is referred to as the variable's <<.def value>>\n\n<<.from-version \"5.4.0\">> In ordinary usage, variables contain a single snippet of text. With the introduction of [[Multi-Valued Variables]] it is possible to store a list of multiple values in a single variable. When accessed in the usual way, only the first value is returned, but using round brackets instead of the usual angle brackets retrieves the complete list of values. This makes the existence of multi-valued variables invisible unless you specifically need to use them.\n\nVariables are defined by [[widgets|Widgets]]. Several core widgets define variables, the most common being the <<.wlink LetWidget>>, <<.wlink SetWidget>> and <<.wlink ListWidget>> widgets.\n\nThe values of variables are available to descendant widgets, including transcluded content. For example, within each tiddler in the main story river the variable <<.var currentTiddler>> is set to the title of the tiddler.\n\nVariables can also be overwritten by descendent widgets defining variables of the same name, thus binding a different snippet to that name for the scope of the children of the widget.\n\n!! Special Kinds of Variables\n\nThere are several special kinds of variable that extend their basic capabilities:\n\n* [[Procedures]] are snippets of text that can be passed parameters when wikified\n* [[Functions]] are snippets of text containing [[filters|Filters]] with optional named parameters\n* [[Custom Widgets]] are snippets of text containing definitions of custom [[widget|Widgets]]\n* [[Macros]] are snippets of text that can contain placeholders that are filled in with parameters whenever the macro is used\n\nNote that these special kinds of variable can only be created with the associated shortcut definition syntax.\n\nFor a more detailed comparison of these special kinds of variables, see [[Variable Usage]].\n\n!! Defining Variables\n\nThe following core widgets are commonly used to define variables:\n\n* <<.wlink LetWidget>> widget -- the easiest way to define multiple variables\n* <<.wlink SetWidget>> widget -- the most flexible way to define a single variable\n* <<.wlink ParametersWidget>> widget -- used to declare parameter variables within [[procedures|Procedures]] and [[custom widgets|Custom Widgets]]\n* <<.wlink ListWidget>> widget -- defines a loop variable and optional counter variable\n* <<.wlink SetMultipleVariablesWidget>> widget -- allows creation of multiple variables at once where the names and values are not known in advance\n\n!! Using Variables\n\nOnce a variable is defined there are several ways to access it.\n\n!!! Transcluding Variables\n\nTranscluding a variable renders the text contents of the variable as if it replaced the call. It is a shortcut syntax for the <<.wlink TranscludeWidget>> widget with the `$variable` attribute.\n\n```\n<<varname>>\n```\n\nParameters can be passed to the transclusion as follows:\n\n```\n<<varname \"This is a parameter\">>\n<<varname param:\"This is a parameter\">>\n<<varname param:\"This is a parameter\" second:\"Another parameter\">>\n```\n\nThe handling of these parameters depends on the kind of variable:\n\n* [[Procedures]] assign the parameters to variables that are available within the procedure\n* [[Macros]] replace the text of the special markers `$param$` with the values passed to the macro for those parameters (see [[Macro Parameter Handling]] for the details)\n\nThe parameters are ignored for other kinds of variable.\n\n!!! Macro Variable Substitutions\n\nBefore the text of a macro is used, the special markers `$(variable)$` are replaced with the values of the named variable.\n\n!!! Variable Attributes\n\nVariables can be used as the value of attributes of widgets or HTML elements:\n\n```\n<div class=<<varname>>>\n```\n\nParameters can be passed:\n\n```\n<div class=<<varname \"This is a parameter\">>>\n...\n<div class=<<varname param:\"This is a parameter\">>>\n...\n<div class=<<varname param:\"This is a parameter\" second:\"Another parameter\">>>\n...\n```\n\nThe handling of these parameters depends on the kind of variable:\n\n* [[Functions]] assign the parameters to variables that are available within the function\n* [[Macros]] replace the text of the special markers `$param$` with the values passed to the macro for those parameters (see [[Macro Parameter Handling]] for the details)\n\nThe parameters are ignored for other kinds of variable.\n\n!!! Variables in Filters\n\nVariables can be accessed within [[Filters]] using angle brackets to quote the name:\n\n```\n[<varname>]\n```\n\nParameters can be passed in the usual way:\n\n```\n[<varname \"This is a parameter\">]\n[<varname param:\"This is a parameter\">]\n[<varname param:\"This is a parameter\" second:\"Another parameter\">]\n...\n```\n\n!! See Also\n\n* The <<.mlink dumpvariables>> macro lists all variables that are available at that position in the widget tree\n* Complete listing of ~TiddlyWiki's built-in [[Core Variables]]\n\n!! Examples\n\n!!! Example of Defining a Variable\n\n<$macrocall $name=\".example\" n=\"1\"\neg=\"\"\"<$set name=animal value=zebra>\n<<animal>>\n</$set>\"\"\"/>\n\n!!! Example of Defining a Macro\n\nThe `\\define` pragma below [[defines a macro|Macro Definitions]] called <<.var tags-of-current-tiddler>>. The macro returns the value of the tiddler's <<.field tags>> field, and can be accessed from anywhere else in the same tiddler (or in any tiddler that [[imports|ImportVariablesWidget]] it).\n\n<$importvariables filter=\"$:/editions/tw5.com/macro-examples/tags-of-current-tiddler\">\n<$codeblock code={{$:/editions/tw5.com/macro-examples/tags-of-current-tiddler}}/>\n<$macrocall $name=\".example\" n=\"2\" eg=\"\"\"The tags are: <<tags-of-current-tiddler>>\"\"\"/>\n</$importvariables>\n\n!!! Example of Using a Variable as a Filter Parameter\n\nThis example uses the <<.olink backlinks>> [[operator|Filter Operators]] to list all tiddlers that link to this one.\n\n<$macrocall $name=\".example\" n=\"3\" eg=\"\"\"<<list-links filter:\"[<currentTiddler>backlinks[]]\">>\"\"\"/>\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/WidgetVariable_ currentTiddler.tid",
    "content": "caption: currentTiddler\ncreated: 20141001232824187\nmodified: 20150221152029000\ntags: Variables [[Core Variables]]\ntitle: currentTiddler Variable\ntype: text/vnd.tiddlywiki\n\nThe <<.def currentTiddler>> [[variable|Variables]] contains the title of the [[current tiddler|Current Tiddler]].\n\nSeveral aspects of WikiText use this tiddler as their context. As a result, within a <<.wlink ListWidget>> widget or a [[template tiddler|TemplateTiddlers]], there is often no need to explicitly specify a tiddler title.\n\nCompare <<.vlink storyTiddler>>.\n\n<<.variable-examples \"currentTiddler\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/WidgetVariable_ storyTiddler.tid",
    "content": "caption: storyTiddler\ncreated: 20141001232753952\nmodified: 20150221222522000\ntags: Variables [[Core Variables]]\ntitle: storyTiddler Variable\ntype: text/vnd.tiddlywiki\n\nWhen a tiddler is viewed or edited, then within its branch of the [[widget tree|Widgets]], the <<.def storyTiddler>> [[variable|Variables]] contains the title of that tiddler.\n\nThe default [[view template|$:/core/ui/ViewTemplate]] and [[edit template|$:/core/ui/EditTemplate]] initialise <<.var storyTiddler>> to the value of the <<.vlink currentTiddler>> variable. This in turn will have been set by a <<.wlink ListWidget>> widget in [[the relevant part of the page template|$:/core/ui/PageTemplate/story]].\n\n<<.var storyTiddler>> is undefined outside the story river, such as in the sidebar.\n\n<<.variable-examples \"storyTiddler\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/WidgetVariable_ transclusion.tid",
    "content": "caption: transclusion\ncreated: 20141002004621385\nmodified: 20150221225622000\ntags: Variables [[Core Variables]]\ntitle: transclusion Variable\ntype: text/vnd.tiddlywiki\n\nThe <<.def transclusion>> [[variable|Variables]] is set by the <<.wlink TranscludeWidget>> widget to a string that identifies the position of that widget within the [[widget tree|Widgets]].\n\n~TiddlyWiki's core uses it to detect recursive [[transclusion|Transclusion]]. It is also used to implement the <<.mlink qualify>> macro.\n\nThe string has the following syntax:\n\n<$railroad text=\"\"\"\n\"{\" a \"|\" b \"|\" c \"|\" d \"|\" e \"|\" \"}\"\n\"\"\"/>\n\n<ol style=\"list-style-type: lower-alpha;\">\n<li>the title of the [[current tiddler|Current Tiddler]]</li>\n<li>the title of the tiddler being transcluded</li>\n<li>the name of the field being transcluded</li>\n<li>the name of the property name or index being transcluded</li>\n<li>the name of the subtiddler being transcluded from a plugin</li>\n</ol>\n\nMany of the five items are often blank.\n\nIn the sidebar, the value of <<.var transclusion>> is:\n\n> `{|$:/core/ui/PageTemplate/sidebar|||}`\n\nWhen the tiddler <<.tid HelloThere>> is displayed in the story river, <<.var transclusion>> is set to:\n\n> `{HelloThere|HelloThere|||}`\n\n<<.variable-examples \"transclusion\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/actionTiddler Variable.tid",
    "content": "created: 20170406083917224\nmodified: 20240612115232524\ntags: Variables [[Core Variables]]\ntitle: actionTiddler Variable\ntype: text/vnd.tiddlywiki\n\nThe variable `actionTiddler` is used in subtly different ways by different widgets:\n\n* Within the ''actions'' string of the DroppableWidget, the <<.def actionTiddler>> [[variable|Variables]] contains the title of the tiddler being dropped.\n* Within the ''startactions'' and ''endactions'' string of the DraggableWidget, the <<.def actionTiddler>> [[variable|Variables]] contains a quoted [[Title List]] of all of the titles being dragged.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/examples/Sample Headings 1-2-3.tid",
    "content": "created: 20180609112450207\nmodified: 20211117024604173\ntags: [[Variable Examples]]\ntitle: Sample Headings 1,2,3\n\n! This is a Level 1 Heading\n\nThis is a paragraph.\n\n<$vars tv-adjust-heading-level=\"-2\">\n\n{{Sample Headings 3,4,5}}\n\n</$vars>\n\n!! This is a Level 2 heading\n\n<$vars tv-adjust-heading-level=\"-1\">\n\n{{Sample Headings 4,5,6}}\n\n</$vars>\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/examples/Sample Headings 3-4-5.tid",
    "content": "created: 20180609112450207\nmodified: 20211117024620368\ntags: [[Variable Examples]]\ntitle: Sample Headings 3,4,5\n\n!!! This is written as a Level 3 heading\n\n!!!! This is written as a Level 4 heading\n\n!!!!! This is written as a Level 5 heading\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/examples/Sample Headings 4-5-6.tid",
    "content": "created: 20180609112450207\nmodified: 20211117024620368\ntags: [[Variable Examples]]\ntitle: Sample Headings 4,5,6\n\n!!!! This is written as a Level 4 heading\n\n!!!!! This is written as a Level 5 heading\n\n!!!!!! This is written as a Level 6 heading\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/examples/currentTiddler.tid",
    "content": "created: 20150221140726000\nmodified: 20150221141342000\ntags: [[currentTiddler Variable]] [[Variable Examples]]\ntitle: currentTiddler Variable (Examples)\ntype: text/vnd.tiddlywiki\n\nThe following two examples have the same meaning:\n\n<$macrocall $name=\".example\" n=\"1\" eg=\"\"\"<$view field=title/>\"\"\"/>\n<$macrocall $name=\".example\" n=\"2\" eg=\"\"\"<$view tiddler=<<currentTiddler>> field=title/>\"\"\"/>\n\nThis next example shows how the <<.wlink ListWidget>> widget changes the current tiddler:\n\n<$macrocall $name=\".example\" n=\"3\"\neg=\"\"\"<ol>\n<$list filter=\"[prefix[J]]\">\n<li><<currentTiddler>></li>\n</$list>\n</ol>\"\"\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/examples/storyTiddler.tid",
    "content": "created: 20150221141258000\nmodified: 20150221141431000\ntags: [[storyTiddler Variable]] [[Variable Examples]]\ntitle: storyTiddler Variable (Examples)\ntype: text/vnd.tiddlywiki\n\n<$macrocall $name=\".example\" n=\"1\"\neg=\"\"\"<ol>\n<$list filter=\"[prefix[J]]\">\n<li><<currentTiddler>>, <<storyTiddler>></li>\n</$list>\n</ol>\"\"\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/examples/transclusion.tid",
    "content": "created: 20150221141507000\nmodified: 20150228103440000\ntags: [[transclusion Variable]] [[Variable Examples]]\ntitle: transclusion Variable (Examples)\ntype: text/vnd.tiddlywiki\n\nThis example shows how to distinguish between the sidebar and other environments:\n\n<$macrocall $name=\".example\" n=\"1\"\neg=\"\"\"We are\n<$list\nfilter=\"[<transclusion>prefix[{|$:/core/ui/PageTemplate/sidebar|||}]]\"\nemptyMessage=\"in the story river.\">\nin the sidebar.\n</$list>\"\"\"/>\n\nIn the sidebar, this would show `We are in the sidebar` instead.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/examples/tv-adjust-heading-level.tid",
    "content": "created: 20180609112450207\nmodified: 20180609112450207\ntags: [[tv-adjust-heading-level Variable]] [[Variable Examples]]\ntitle: tv-adjust-heading-level Variable (Examples)\ntype: text/vnd.tiddlywiki\n\n\\define show-tiddler(title)\n!! $title$\n\n<$codeblock code={{$title$}}/>\n\\end\n\n! Tiddlers\n\n<<show-tiddler \"Sample Headings 1,2,3\">>\n\n<<show-tiddler \"Sample Headings 3,4,5\">>\n\n<<show-tiddler \"Sample Headings 4,5,6\">>\n\n! Example\n\n<$macrocall $name=\".example\" n=\"1\"\neg=\"\"\"<$transclude tiddler=\"Sample Headings 1,2,3\" mode=\"block\"/>\"\"\"/>\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/examples/tv-config-toolbar-class.tid",
    "content": "created: 20150228135051000\nmodified: 20150228135737000\ntags: [[tv-config-toolbar-class Variable]] [[Variable Examples]]\ntitle: tv-config-toolbar-class Variable (Examples)\ntype: text/vnd.tiddlywiki\n\n<style>\n.green-background {\n\tbackground-color: green;\n\tcolor: white;\n}\n</style>\n\n<$macrocall $name=\".example\" n=\"1\"\neg=\"\"\"<$set name=\"tv-config-toolbar-class\" value=\"tc-btn-invisible\">\n{{$:/core/ui/Buttons/new-tiddler}}\n</$set>\n\"\"\"/>\n\n<$macrocall $name=\".example\" n=\"2\"\neg=\"\"\"<$set name=\"tv-config-toolbar-class\" value=\"green-background\">\n{{$:/core/ui/Buttons/new-tiddler}}\n</$set>\n\"\"\"/>\n\nThe `green-background` [[CSS|Cascading Style Sheets]] class is declared in a stylesheet within this tiddler.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/examples/tv-config-toolbar-icons.tid",
    "content": "created: 20150228140420000\nmodified: 20150228141418000\ntags: [[tv-config-toolbar-icons Variable]] [[Variable Examples]]\ntitle: tv-config-toolbar-icons Variable (Examples)\ntype: text/vnd.tiddlywiki\n\n<$macrocall $name=\".example\" n=\"1\"\neg=\"\"\"<$set name=\"tv-config-toolbar-icons\" value=\"no\">\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n{{$:/core/ui/Buttons/new-tiddler}}\n</$set>\n</$set>\n\"\"\"/>\n\n<$macrocall $name=\".example\" n=\"2\"\neg=\"\"\"<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n{{$:/core/ui/Buttons/new-tiddler}}\n</$set>\n\"\"\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/examples/tv-config-toolbar-text.tid",
    "content": "created: 20150228140420000\nmodified: 20150228140516000\ntags: [[tv-config-toolbar-text Variable]] [[Variable Examples]]\ntitle: tv-config-toolbar-text Variable (Examples)\ntype: text/vnd.tiddlywiki\n\n<$macrocall $name=\".example\" n=\"1\"\neg=\"\"\"<$set name=\"tv-config-toolbar-text\" value=\"no\">\n{{$:/core/ui/Buttons/new-tiddler}}\n</$set>\n\"\"\"/>\n\n<$macrocall $name=\".example\" n=\"2\"\neg=\"\"\"<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n{{$:/core/ui/Buttons/new-tiddler}}\n</$set>\n\"\"\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/examples/tv-get-export-image-link.tid",
    "content": "created: 20150228124038000\nmodified: 20240310134432122\ntags: [[tv-get-export-image-link Variable]] [[Variable Examples]]\ntitle: tv-get-export-image-link Variable (Examples)\ntype: text/vnd.tiddlywiki\n\nThis example fetches [[the TiddlyWiki icon|https://www.tiddlywiki.com/favicon.ico]]\n\n<$importvariables filter=\"$:/editions/tw5.com/macro-examples/tv-get-export-image-link\">\n<$codeblock code={{$:/editions/tw5.com/macro-examples/tv-get-export-image-link}}/>\n<$macrocall $name=\".example\" n=\"1\" eg=\"\"\"[img[favicon.ico]]\"\"\"/>\n</$importvariables>\n\nAlso see:\n\n* [[substitute Operator]]\n* [[Substituted Attribute Values]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/examples/tv-wikilink-tooltip.tid",
    "content": "created: 20150228115959000\nmodified: 20150228120621000\ntags: [[tv-wikilink-tooltip Variable]] [[Variable Examples]]\ntitle: tv-wikilink-tooltip Variable (Examples)\ntype: text/vnd.tiddlywiki\n\nThis example shows a way of giving links a tooltip derived from the target tiddler's <<.field caption>> field:\n\n<$importvariables filter=\"$:/editions/tw5.com/macro-examples/tv-wikilink-tooltip\">\n<$codeblock code={{$:/editions/tw5.com/macro-examples/tv-wikilink-tooltip}}/>\n<$macrocall $name=\".example\" n=\"1\" eg=\"\"\"Here is a link to [[backlinks Operator]] with a custom tooltip.\"\"\"/>\n</$importvariables>\n\nHere is [[a standard link|HelloThere]] for comparison.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/examples/tv-wikilinks.tid",
    "content": "created: 20150228103411000\nmodified: 20150228104438000\ntags: [[tv-wikilinks Variable]] [[Variable Examples]]\ntitle: tv-wikilinks Variable (Examples)\ntype: text/vnd.tiddlywiki\n\n<$macrocall $name=\".example\" n=\"1\"\neg=\"\"\"HelloThere,\n[[HelloThere]],\n<$link to=\"HelloThere\">is //this// a link?</$link>\"\"\"/>\n\n<$macrocall $name=\".example\" n=\"2\"\neg=\"\"\"<$set name=\"tv-wikilinks\" value=\"no\">\nHelloThere,\n[[HelloThere]],\n<$link to=\"HelloThere\">is //this// a link?</$link>\n</$set>\"\"\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/modifier Variable.tid",
    "content": "created: 20201123120203415\nmodified: 20220414162815231\ntags: Variables [[Core Variables]]\ntitle: modifier Variable\ntype: text/vnd.tiddlywiki\n\nWithin the ''action'' string of the DroppableWidget, the ''startactions'' and ''endactions'' of the DraggableWidget, the ''action'' string of the ButtonWidget and the ''action'' string of the LinkCatcherWidget and the EventCatcherWidget, the <<.def modifier>> [[variable|Variables]] contains the modifier key(s) held during the drag, click or other event.\nPossible key combinations are listed in the table below.\n\nThe variable contains a string that identifies the keys:\n\n|Modifier Key |Variable Content |h\n|meta |meta |\n|ctrl |ctrl |\n|alt |alt |\n|shift |shift |\n|meta+shift |meta-shift |\n|meta+ctrl |meta-ctrl |\n|meta+alt |meta-alt |\n|ctrl+shift |ctrl-shift |\n|alt+shift |alt-shift |\n|ctrl+alt |ctrl-alt |\n|meta+ctrl+shift |meta-ctrl-shift |\n|meta+ctrl+alt |meta-ctrl-alt |\n|meta+alt+shift |meta-alt-shift |\n|ctrl+alt+shift |ctrl-alt-shift |\n|meta+ctrl+alt+shift |meta-ctrl-alt-shift |\n|no modifier (normal click / drag) |normal |\n\n<<.tip \"\"\"Some operating systems may intercept the ''meta'' key so it is never detected\"\"\">>\n\n<$button actions=\"\"\"<$action-setfield $tiddler=\"$:/temp/test-modifier-keys\" text=<<modifier>>/>\"\"\">Test modifier keys here</$button>\n\n!!! Modifier keys held while clicking the button above:\n\n{{$:/temp/test-modifier-keys}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/namespace.tid",
    "content": "created: 20150228132024000\nmodified: 20150228133745000\ntitle: namespace Variable\ntags: Variables [[Core Variables]]\ntype: text/vnd.tiddlywiki\ncaption: namespace\n\nThe <<.def namespace>> [[variable|Variables]] is used internally by [[HTML|HyperText Markup Language]] widgets to keep track of the correct namespace for the [[DOM|Document Object Model]] elements they generate.\n\nAn `svg` or `math` element supplies a distinct namespace for itself and any child elements it contains.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/thisTiddler Variable (Examples).tid",
    "content": "created: 20230304123606350\nmodified: 20230304124149055\ntags: [[thisTiddler Variable]] [[Variable Examples]]\ntitle: thisTiddler Variable (Examples)\ntype: text/vnd.tiddlywiki\n\nThe first example shows how <<.def thisTiddler>> works whithin transcluded template. Here the [[SampleTemplate]] is a template for demonstration.\n\n<$macrocall $name=\".example\" n=\"1\" eg=\"\"\"{{||SampleTemplate}}\"\"\"/>\n\nThe second example shows <<.def thisTiddler>> in the body of tiddler and inside a macro.\n\n<$macrocall $name=\".example\" n=\"2\" eg=\"\"\"<$text text=<<thisTiddler>>/>\"\"\"/>\n\n<$macrocall $name=\".example\" n=\"3\" eg=\"\"\"\\define example() <$text text=<<thisTiddler>>/>\n<<example>>\n\"\"\"/>\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/thisTiddler Variable.tid",
    "content": "caption: thisTiddler\ncreated: 20230304122810114\nmodified: 20230505200086200\ntags: Variables [[Core Variables]]\ntitle: thisTiddler Variable\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.3.0\">> The <<.def thisTiddler>> [[variable|Variables]] is set by the <<.wlink TranscludeWidget>> widget to contain the title of the tiddler that was transcluded. This means that within transclusions <<.def thisTiddler>> will contain the title of the transcluded tiddler. It is not affected by macros, which means that within a macro <<.def thisTiddler>> will contain the title of the tiddler from which the macro was invoked. Intermediate, nested macro calls are ignored.\n\nThere are two key usages for <<.def thisTiddler>>:\n\n* Within a transcluded template, <<.def thisTiddler>> points to the template itself, making it possible for the template to access data stored in other fields of the template\n* Within a macro, <<.def thisTiddler>> points to the template that invoked the macro. If the macro was invoked by another macro, the template that invoked that macro is returned, and so on\n\nCompare <<.vlink storyTiddler>> and <<.vlink currentTiddler>>.\n\n<<.variable-examples \"thisTiddler\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/tv-adjust-heading-level Variable.tid",
    "content": "caption: tv-adjust-heading-level\ncreated: 20180609112450207\nmodified: 20180609112450207\ntags: Variables [[Core Variables]] [[Configuration Variables]]\ntitle: tv-adjust-heading-level Variable\ntype: text/vnd.tiddlywiki\n\nThe <<.def tv-adjust-heading-level>> [[variable|Variables]] allows the level of [[headings|Headings in WikiText]] to be adjusted. It is interpreted as a positive or negative number (e.g. \"2\" or \"-3\") that is added to the heading level for display.\n\nNote that if the resulting heading level is less than 1 then level 1 is used instead. This means that specfiying a large negative adjustment factor will reset all headings to display as level 1. Similarly, heading levels larger than 6 are clamped to the maximum HTML heading level of 6.\n\n<<.variable-examples \"tv-adjust-heading-level\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/tv-auto-open-on-import.tid",
    "content": "created: 20150228120919000\nmodified: 20150228130407000\ntitle: tv-auto-open-on-import Variable\ntags: Variables [[Core Variables]] [[Configuration Variables]]\ntype: text/vnd.tiddlywiki\ncaption: tv-auto-open-on-import\n\nThe <<.def tv-auto-open-on-import>> [[variable|Variables]] controls whether the `tm-import-tiddlers` message causes the tiddler [[$:/Import]] (which lists the pending imports) to open in the story river.\n\nBy default, the tiddler is opened. But if this variable has the value <<.value no>>, it isn't.\n\nAn example of setting this variable to <<.value no>> can be found in the upgrade plugin within the [[TiddlyWiki Upgrade Wizard|https://www.tiddlywiki.com/upgrade.html]]. People can drag their wiki files onto the wizard without triggering the normal import display.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/tv-config-static Variable.tid",
    "content": "created: 20230617085524754\nmodified: 20230617085524754\ntitle: tv-config-static Variable\ntags: Variables [[Core Variables]] [[Configuration Variables]]\ntype: text/vnd.tiddlywiki\ncaption: tv-config-static\n\n<<.from-version \"5.3.0\">> The <<.def tv-config-static>> [[variable|Variables]] is set to `yes` within static rendering templates, and is unset in other contexts.\n\nIt is useful for selectively hiding or showing content depending on whether a rendering is static or interactive.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/tv-config-toolbar-class.tid",
    "content": "created: 20150228134732000\nmodified: 20150228135803000\ntitle: tv-config-toolbar-class Variable\ntags: Variables [[Core Variables]] [[Configuration Variables]]\ntype: text/vnd.tiddlywiki\ncaption: tv-config-toolbar-class\n\nThe <<.def tv-config-toolbar-class>> [[variable|Variables]] controls the value of the [[CSS|Cascading Style Sheets]] `class` attribute on the HTML element for a toolbar button.\n\nIt can be set prior to transcluding such a button.\n\nIn most environments, it defaults to <<.value tc-btn-invisible>>, which removes the button's background colour and border.\n\n<<.variable-examples \"tv-config-toolbar-class\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/tv-config-toolbar-icons.tid",
    "content": "created: 20150228135910000\nmodified: 20150228141357000\ntitle: tv-config-toolbar-icons Variable\ntags: Variables [[Core Variables]] [[Configuration Variables]]\ntype: text/vnd.tiddlywiki\ncaption: tv-config-toolbar-icons\n\nThe <<.def tv-config-toolbar-icons>> [[variable|Variables]] controls whether toolbar buttons display icons.\n\n<<.this-is-toolbar-config-variable $:/config/Toolbar/Icons>>\n\n<<.variable-examples \"tv-config-toolbar-icons\">>\n\nSee also <<.vlink tv-config-toolbar-text>>.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/tv-config-toolbar-text.tid",
    "content": "created: 20150228135910000\nmodified: 20150228141403000\ntitle: tv-config-toolbar-text Variable\ntags: Variables [[Core Variables]] [[Configuration Variables]]\ntype: text/vnd.tiddlywiki\ncaption: tv-config-toolbar-text\n\nThe <<.def tv-config-toolbar-text>> [[variable|Variables]] controls whether toolbar buttons display text.\n\n<<.this-is-toolbar-config-variable $:/config/Toolbar/Text>>\n\n<<.variable-examples \"tv-config-toolbar-text\">>\n\nSee also <<.vlink tv-config-toolbar-icons>>.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/tv-filter-export-link Variable.tid",
    "content": "caption: tv-filter-export-link\ncreated: 20170828095135984\nmodified: 20170828095757620\ntags: Variables [[Core Variables]] [[Configuration Variables]]\ntitle: tv-filter-export-link Variable\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.1.15\">> The <<.def tv-filter-export-link>> [[variable|Variables]] controls the value of the `href` attribute on the HTML `a` element generated by the <<.wlink LinkWidget>> widget. If defined, it takes precedence over the [[tv-wikilink-template Variable]].\n\nThe variable is treated as a filter that is given the target tiddler title as input. The filter is evaluated and the first result is used as the `href` attribute.\n\nFor example:\n\n```\n\\define tv-filter-export-link() [encodeuricomponent[]encodeuricomponent[]addsuffix[.html]]\n```\n\nSee also the <<.vlink tv-get-export-link>> variable, which dominates over this one.\n\n<<.this-is-static-link-variable>>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/tv-get-export-image-link.tid",
    "content": "caption: tv-get-export-image-link\ncreated: 20150228122257000\nmodified: 20240310133708578\ntags: Variables [[Core Variables]] [[Configuration Variables]]\ntitle: tv-get-export-image-link Variable\ntype: text/vnd.tiddlywiki\n\nThe <<.def tv-get-export-image-link>> [[variable|Variables]] controls the value of the `src` attribute on the HTML `img` element generated by the <<.wlink ImageWidget>> widget when the value of its `source` attribute is not the title of a tiddler.\n\nThe variable should be a [[function|Functions]] with the following parameter:\n\n;src\n: The value of the `source` attribute -- equivalent to the image name specified in <$link to=\"Images in WikiText\">the shorthand syntax</$link> `[img[source]]`\n\nThe ability to override image URIs in this way can be useful when one is using the [[Node.js configuration|TiddlyWiki on Node.js]] to export a static version of a wiki.\n\n<<.variable-examples \"tv-get-export-image-link\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/tv-get-export-link.tid",
    "content": "caption: tv-get-export-link\ncreated: 20150228114004000\nmodified: 20150228130943000\ntags: Variables [[Core Variables]] [[Configuration Variables]]\ntitle: tv-get-export-link Variable\ntype: text/vnd.tiddlywiki\n\nThe <<.def tv-get-export-link>> [[variable|Variables]] controls the value of the `href` attribute on the HTML `a` element generated by the <<.wlink LinkWidget>> widget.\n\nThe variable should be a [[macro|Macros]] with the following parameter:\n\n;to\n: The title of the target tiddler of the link, with no escaping\n\nSee also <<.vlink tv-wikilink-template>>. If both that variable and this one exist, this one dominates.\n\n<<.this-is-static-link-variable>>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/tv-get-export-path.tid",
    "content": "created: 20150228130131000\nmodified: 20150228131730000\ntitle: tv-get-export-path Variable\ntags: Variables [[Core Variables]] [[Configuration Variables]]\ntype: text/vnd.tiddlywiki\ncaption: tv-get-export-path\n\nThe <<.def tv-get-export-path>> [[variable|Variables]] specifies the full pathname to which the <<.clink rendertiddlers RenderTiddlersCommand>> [[Node.js|TiddlyWiki on Node.js]] command writes each tiddler.\n\nThe variable should be implemented as a <<.js-macro-link \"JavaScript macro\">> with the following parameter:\n\n;title\n: The title of the tiddler\n\nIf no such macro exists, the tiddlers are written to files whose names are [[percent-encoded|Percent Encoding]], in the command's output folder.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/tv-history-list Variable.tid",
    "content": "created: 20170629074522030\nmodified: 20170629074609739\ntags: Variables [[Core Variables]]\ntitle: tv-history-list Variable\ntype: text/vnd.tiddlywiki\n\nThe <<.def tv-history-list>> [[variable|Variables]] is assigned by the [[NavigatorWidget]] to contain the title of the tiddler containing the current history list.\n\nCompare <<.vlink tv-story-list>>.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/tv-show-missing-links Variable.tid",
    "content": "tags: Variables [[Core Variables]]\ntitle: tv-show-missing-links Variable\ntype: text/vnd.tiddlywiki\n\nThe <<.def tv-show-missing-links>> [[variable|Variables]] defines if ''missing links'' within the ''scope'' of the variable are rendered as links or not.\n\nGlobally, the variable is set within the ~PageTemplate and can be changed in the $:/ControlPanel under Settings - Show missing links to tiddlers\n\nIf <<.def tv-show-missing-links>> is set to ''no'', missing links are rendered as plain text\n\nIf <<.def tv-show-missing-links>> is set to ''yes'', missing links are rendered as wiki-links\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/tv-story-list Variable.tid",
    "content": "created: 20170629074200301\nmodified: 20170629074520393\ntags: Variables [[Core Variables]]\ntitle: tv-story-list Variable\ntype: text/vnd.tiddlywiki\n\nThe <<.def tv-story-list>> [[variable|Variables]] is assigned by the [[NavigatorWidget]] to contain the title of the tiddler containing the current story list.\n\nCompare <<.vlink tv-history-list>>.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/tv-tiddler-preview.tid",
    "content": "created: 20150620082727484\nmodified: 20150620082727484\ntitle: tv-tiddler-preview Variable\ntags: Variables [[Core Variables]]\ntype: text/vnd.tiddlywiki\ncaption: tv-tiddler-preview\n\nThe <<.def tv-tiddler-preview>> [[variable|Variables]] indicates whether content is being rendered in a tiddler preview panel.\n\nThe value is ''yes'' within the preview panel, and undefined elsewhere.\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/tv-wikilink-template.tid",
    "content": "caption: tv-wikilink-template\ncreated: 20150228105954000\nmodified: 20170828095603911\ntags: Variables [[Core Variables]] [[Configuration Variables]]\ntitle: tv-wikilink-template Variable\ntype: text/vnd.tiddlywiki\n\nThe <<.def tv-wikilink-template>> [[variable|Variables]] controls the value of the `href` attribute on the HTML `a` element generated by the <<.wlink LinkWidget>> widget. The <<.vlink tv-filter-export-link>>, if defined, it takes precedence over the <<.vlink tv-wikilink-template>> variable.\n\nThe variable is treated as if it was a [[macro|Macros]] with the following parameters:\n\n;uri_encoded\n: The title of the target tiddler of the link, but [[percent-encoded|Percent Encoding]]\n;uri_doubleencoded\n: The value of the <<.param uri_encoded>> parameter but percent-encoded again, i.e. with its `%` characters further converted to `%25`\n\n> `\\define tv-wikilink-template() ../tiddlers/$uri_encoded$.html`\n\nThe variable defaults to `#$uri_encoded$`.\n\nSee also the <<.vlink tv-get-export-link>> variable, which dominates over this one.\n\n<<.this-is-static-link-variable>>"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/tv-wikilink-tooltip.tid",
    "content": "created: 20150228115540000\nmodified: 20150228130451000\ntitle: tv-wikilink-tooltip Variable\ntags: Variables [[Core Variables]] [[Configuration Variables]]\ntype: text/vnd.tiddlywiki\ncaption: tv-wikilink-tooltip\n\nThe <<.def tv-wikilink-tooltip>> [[variable|Variables]] specifies the default value for the <<.attr tooltip>> attribute of the <<.wlink LinkWidget>> widget.\n\nIt is often defined as a [[macro|Macros]], and its value parsed as inline WikiText.\n\n<<.variable-examples \"tv-wikilink-tooltip\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/variables/tv-wikilinks.tid",
    "content": "created: 20150228102737000\nmodified: 20150228130415000\ntitle: tv-wikilinks Variable\ntags: Variables [[Core Variables]] [[Configuration Variables]]\ntype: text/vnd.tiddlywiki\ncaption: tv-wikilinks\n\nThe <<.def tv-wikilinks>> [[variable|Variables]] controls the behaviour of the <<.wlink LinkWidget>> widget.\n\nThe widget normally produces a link to a tiddler. But if this variable has the value <<.value no>>, the widget suppresses the link and simply displays the text that would otherwise have served as the link.\n\nYou can suppress links for a whole tiddler by placing the following line at the start of the tiddler's text:\n\n> `\\define tv-wikilinks() no`\n\nThis variable has no effect on external links, as those do not involve the <<.wid link>> widget.\n\n<<.variable-examples \"tv-wikilinks\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/videos/Getting Started Video.tid",
    "content": "created: 20140104134911101\nmodified: 20140919161039197\ntags: Videos [[Working with TiddlyWiki]] [[Quick Start]]\ntitle: Getting Started Video\ntype: text/vnd.tiddlywiki\n\nThis brief tutorial takes you through the basics of saving changes with a standalone TiddlyWiki file.\n\n//Note that the video is a bit out of date, and will be updated soon!//\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/1g66s7UbyuU\" frameborder=\"0\" allowfullscreen></iframe>"
  },
  {
    "path": "editions/tw5.com/tiddlers/videos/Introducing TiddlyDesktop Video.tid",
    "content": "created: 20140126124827076\nmodified: 20140912150423506\ntags: Videos TiddlyDesktop\ntitle: Introducing TiddlyDesktop Video\ntype: text/vnd.tiddlywiki\n\nThis brief introduction shows how to install and use TiddlyDesktop:\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/i3Bggkm7paA\" frameborder=\"0\" allowfullscreen></iframe>"
  },
  {
    "path": "editions/tw5.com/tiddlers/videos/Introduction Video.tid",
    "content": "created: 20141126153016142\nmodified: 20141126153016142\ntags: Videos [[Working with TiddlyWiki]]\ntitle: Introduction Video\ntype: text/vnd.tiddlywiki\n\nThis brief presentation explains the basic principles of TiddlyWiki.\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/KtCUr83XgyE\" frameborder=\"0\" allowfullscreen></iframe>\n\nThe TiddlyWiki used to produce the video can be found here:\n\nhttps://tiddlywiki.com/editions/introduction/\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/videos/TiddlyWiki on Firefox for Android Video.tid",
    "content": "created: 20140104134947485\nmodified: 20140912150329611\ntags: Videos [[Saving with TiddlyFox]]\ntitle: TiddlyWiki on Firefox for Android Video\ntype: text/vnd.tiddlywiki\n\nThis brief screencast shows how to setup Firefox for Android so you can save changes to TiddlyWiki:\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/iikkv9orGGI\" frameborder=\"0\" allowfullscreen></iframe>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/videos/Videos.tid",
    "content": "created: 20140912150153512\nmodified: 20140919161220608\ntags: Learning\ntitle: Videos\ntype: text/vnd.tiddlywiki\n\nThe following TiddlyWiki videos are available.\n\n<<list-links \"[tag[Videos]]\">>\n\nThe aim is to curate a series of videos to guide people through getting up and running with TiddlyWiki. [[Contributions|Contributing]] are welcome."
  },
  {
    "path": "editions/tw5.com/tiddlers/videos/Working with the TiddlyWiki5 repository video.tid",
    "content": "created: 20140920133836765\nmodified: 20140920134005568\ntags: [[Working with the TiddlyWiki5 repository]]\ntitle: Working with the TiddlyWiki5 repository video\ntype: text/vnd.tiddlywiki\n\nMario Pietsch has created a short video tutorial on [[working with the TiddlyWiki5 GitHub repository|Working with the TiddlyWiki5 repository]].\n\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/6ElUruH92tc\" frameborder=\"0\" allowfullscreen></iframe>"
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/TiddlyWeb JSON tiddler format.tid",
    "content": "created: 20181002130513206\nmodified: 20181002131123893\ntags: [[WebServer Guides]]\ntitle: TiddlyWeb JSON tiddler format\ntype: text/vnd.tiddlywiki\n\nThe web server API uses tiddlers in a special format originally designed for TiddlyWeb:\n\n* Field values are represented as strings. Lists (like the ''tags'' and ''list'' fields) use double square brackets to quote values that contain spaces\n* Tiddlers are represented as an object containing any of a fixed set of standard fields, with custom fields being relegated to a special property called ''fields''\n* The standard fields are: ''bag'', ''created'', ''creator'', ''modified'', ''modifier'', ''permissions'', ''recipe'', ''revision'', ''tags'', ''text'', ''title'', ''type'', ''uri''\n\nFor example, consider the following tiddler:\n\n```\n{\n\t\"title\": \"HelloThere\",\n\t\"tags\": \"FirstTag [[Second Tag]]\",\n\t\"my-custom-field\": \"Field value\"\n}\n```\n\nIn transit over the API, the tiddler would be converted to the following format:\n\n```\n{\n\t\"title\": \"HelloThere\",\n\t\"tags\": \"FirstTag [[Second Tag]]\",\n\t\"fields\": {\n\t\t\"my-custom-field\": \"Field value\"\t\t\n\t}\n}\n```\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/Using HTTPS.tid",
    "content": "created: 20180702160923664\nmodified: 20211111023610539\ntags: [[WebServer Guides]]\ntitle: Using HTTPS\ntype: text/vnd.tiddlywiki\n\nBy default, TiddlyWiki's WebServer serves resources over the insecure HTTP protocol. The risk is minimal if it is only being used within a private, trusted network but in many situations it is desirable to use a secure HTTPS connection.\n\nHTTPS requires the server to be configured with a certificate via a \"cert\" file and a \"key\" file, configured via the [[tls-cert|WebServer Parameter: tls-cert]] and [[tls-key|WebServer Parameter: tls-key]] parameters.\n\n<<.from-version \"5.2.2\">> The optional [[tls-passphrase|WebServer Parameter: tls-passphrase]] parameter allows the server to use certificate files that have been generated with a passphrase/password.\n\nCertificates can be obtained from a certification authority such as https://letsencrypt.org/, or you can create a self-signed certificate for internal testing.\n\nTo create the required certificate files with the popular [[openssl|https://www.openssl.org/]] utility:\n\n```\nopenssl req -newkey rsa:2048 -new -nodes -keyout mywikifolder/key.pem -out mywikifolder/csr.pem\nopenssl x509 -req -days 365 -in mywikifolder/csr.pem -signkey mywikifolder/key.pem -out mywikifolder/server.crt\ntiddlywiki mywikifolder --listen username=joe password=bloggs tls-key=key.pem tls-cert=server.crt\n```\n\nIf using a [[tls-passphrase|WebServer Parameter: tls-passphrase]] to generate the certificate files, the commands would change as below:\n\n* remove the `-nodes` flag, which specifies \"no encryption\"\n* replace `TLS_PASSPHRASE` in the `-passout` and `-passin` parameters in the below commands with your chosen string.\n\nThis is the simplest, but __least secure method,__ of passing a passphrase to the certificate utility. See [[this Stack Exchange anwser on openssl certificates|https://security.stackexchange.com/questions/106525/generate-csr-and-private-key-with-password-with-openssl]] and the [[openssl|https://www.openssl.org/docs/man1.0.2/man1/openssl.html]] and [[openssl-passphrase-options|https://www.openssl.org/docs/manmaster/man1/openssl-passphrase-options.html]] page in the openssl utility documentation.\n\n```\nopenssl req -newkey rsa:2048 -passout pass:TLS_PASSPHRASE -new -keyout mywikifolder/key.pem -out mywikifolder/csr.pem -passout pass:TLS_PASSPHRASE\nopenssl x509 -req -days 365 -in mywikifolder/csr.pem -signkey mywikifolder/key.pem -out mywikifolder/server.crt -passin pass:TLS_PASSPHRASE\ntiddlywiki mywikifolder --listen username=joe password=bloggs tls-key=key.pem tls-cert=server.crt tls-passphrase=TLS_PASSPHRASE\n```\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/Using the external JavaScript template.tid",
    "content": "created: 20180905075846391\nmodified: 20240413045138914\ntags: [[WebServer Guides]]\ntitle: Using the external JavaScript template\ntype: text/vnd.tiddlywiki\n\n<!--\nThis tiddler is also included in the \"server-external-js\" edition. Take care before editing or moving it.\n-->\n\nYou can use a special template to externalise ~TiddlyWiki's core code into a separate file. This configuration allows the browser to cache the core for improved efficiency. \n\n! Background\n\n~TiddlyWiki in the single file configuration ordinarily packs everything into a single file: your data, and the ~JavaScript, CSS and HTML comprising ~TiddlyWiki itself. This lack of dependencies is usually very convenient: it means that it is impossible for the parts of a ~TiddlyWiki to become separated, and enormously improves the chances of it still functioning in the future.\n\nHowever, there is some inefficiency in this arrangement because the core code is repeatedly loaded and saved every time the content of the wiki is saved. This inefficiency is partially ameliorated when working in the client server configuration because once the wiki is loaded by the browser the synchronisation process only transmits individual tiddlers back and forth to the server.\n\nThe remaining inefficiency when working in the client server configuration is that the single page wiki that is initially loaded will contain a copy of the entire core code of ~TiddlyWiki, making it impossible for the browser to cache it.\n\n! Using the external ~JavaScript template with the client-server configuration\n\nThe mechanism is activated by setting the [[root-tiddler|WebServer Parameter: root-tiddler]] parameter to `$:/core/save/all-external-js`. This template externalises ~TiddlyWiki's core ~JavaScript into a separate file. For example, the following command will [[start your server with caching enabled|WebServer Parameter: use-browser-cache]]. It will transfer the wiki with two GET requests, and the core can be cached by the browser.\n\n```\ntiddlywiki YOUR_WIKI_FOLDER --listen 'root-tiddler=$:/core/save/all-external-js' use-browser-cache=yes\n```\n\n<<.tip \"\"\"You can activate your browser's ''Developer Tools: Network'' tab and reload the page to see how it works.\"\"\">>\n\n<<.tip \"\"\"On Windows, Command Prompt (CMD) users need to replace single quotes `'` with double quotation marks `\"`.\"\"\">>\n\n!! Initialising a new wiki\n\nThe provided edition `server-external-js` contains all the configuration necessary to use the external ~JavaScript template. Here is an example:\n\n```\ntiddlywiki ./myNewWiki --init server-external-js\ntiddlywiki ./myNewWiki --build listen\n```\n\nThe above commands perform the following:\n\n* Create a new wiki with external JavaScript customisation included.\n* Start the server with external ~JavaScript enabled. The server listens on port 8080. Visit http://localhost:8080 in your browser.\n\nTo customise your `--build listen` command, see [[tiddlywiki.info Files]] and [[ListenCommand]].\n\n! Using the external ~JavaScript template with the single file configuration\n\nYou can use the \"external-js\" template with your single file wiki, but this requires that you have ~TiddlyWiki's core ~JavaScript saved alongside your HTML file. You may prefer this configuration, for example, if you have several wikis on a ~WebDav server. (See: [[Saving via WebDAV]])\n\n<<.warning \"This functionality is intended for advanced users: there are many more ways for things to go wrong than with the standard single file configuration\">>\n\n!! Saving your snapshots\n\nIf you start your ~TiddlyWiki server in the \"external-js\" configuration, snapshots you save from the wiki will also have the external-js configuration.\n\nYou can click on the \"cloud\" button and choose <<.icon $:/core/images/download-button>>  ''Save snapshot for offline use''. The html wiki you saved will have a reduced file size compared to a regular snapshot because the ~TiddlyWiki core code has been externalised. However, to be able to use this wiki, you ''must'' also have a copy of ~TiddlyWiki's core ~JavaScript in the same directory; see below for instructions for obtaining it\n\nThe \"server-external-js\" edition lets you save the snapshot from the command line:\n\n```\ntiddlywiki YOUR_WIKI_FOLDER --build index\n```\n\nThe files `external-5-x-x.html` and `tiddlywikicore-5.x.x.js` will be saved in your wiki folder's `output` directory.\n\n!! Obtaining the ~TiddlyWiki core in the browser\n\n{{$:/core/ui/ExportTiddlyWikiCore}}\n\n!! Obtaining the ~TiddlyWiki core with Node.js\n\nYou can also run the following command to obtain the core ~JavaScript. The file `tiddlywikicore-5.x.x.js` will be saved in the`output` directory of your wiki folder:\n\n```\ntiddlywiki YOUR_WIKI_FOLDER \\\n    --render '$:/core/templates/tiddlywiki5.js' \\\n    '[[tiddlywikicore-]addsuffix<version>addsuffix[.js]]' \\\n    'text/plain'\n```\n\nThe \"server-external-js\" edition has a shortcut for the BuildCommand to do the same thing:\n\n```\ntiddlywiki YOUR_WIKI_FOLDER --build tiddlywikicore\n```\n\n! Upgrading your standalone wiki\n\n<<.warning \"This procedure is experimental, please take care to backup your data\">>\n\nBefore you proceed, backup your wiki first! Follow the steps below to upgrade a single-file wiki with the external ~JavaScript template:\n\n# Proceed with the [[Upgrade Process for Standalone TiddlyWikis|Upgrading]]. Your wiki will be converted to a full standalone HTML.\n\n# Open your upgraded wiki in the browser. If you'd like to revert to using the regular template, restore the original shadow tiddler `$:/config/SaveWikiButton/Template` by deleting any custom copy. Save your wiki and you are done. \n\n# Otherwise, from your wiki, select the ''Tools'' tab from the sidebar and click on the <<.icon $:/core/images/star-filled>> ''export tiddlywiki core'' button to obtain the core from your wiki.\n\n# Verify that `$:/config/SaveWikiButton/Template` still contains `$:/core/save/offline-external-js`. Modify if necessary.\n\n# Save your wiki again. Your wiki is now converted to using the external core.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/Using the integrated static file server.tid",
    "content": "created: 20180703095630828\nmodified: 20240413045124764\ntags: [[WebServer Guides]]\ntitle: Using the integrated static file server\ntype: text/vnd.tiddlywiki\n\nAny files in the subfolder `files` of the wiki folder will be available via the route `\\files\\<uri-encoded-filename>`. For example: http://127.0.0.1:8080/files/Motovun%20Jack.jpg\n\nThis can be useful for publishing large files that you don't want to incorporate into the main wiki (PDFs, videos, large images, etc.).\n\nStatic files can be referenced directly:\n\n* `[ext[./files/a-big-document.pdf]]` - to make a link to a PDF\n* `[img[./files/a-big-image.png]]` - to embed an image\n\nAlternatively, the ''_canonical_uri'' field can be used to reference the files as [[external tiddlers|ExternalImages]].\n\nIf [[WebServer Parameter: use-browser-cache]] is used, these files will be cached by the client's browser to save on bandwidth. In this case, the `cache busting strategy` can be used to make sure the client always has the latest updated files.\n\n\n<<<\nhttps://javascript.plainenglish.io/what-is-cache-busting-55366b3ac022\n\n!! Cache Busting\n\nThere are a couple different ways of changing the names of files so that they will load when they change. One way is to use version numbers and have them somewhere in the file name when loading. You could have a subdirectory for every version, `v1/index.js` `v2/index.css` . You could also have the version in queries in the URLs, `index.js?v1` , `index.css?v2` .\n\nAnother way is to change the name of the file, `index.v1.js` , `index.v2.css` . These ways are not as manageable because this can become very hard once you have a ton of files that are being changed.\n\nA more popular and manageable way is to keep hashes inside the file names. Hashes, if you don’t know, are fixed length character representations of any content and they are irreversible, meaning you can get the hash from the file but you can’t get the file from the hash. Hashes are perfect for this, because when a file changes its hash will change, so if we keep the hash inside the filename `index.[someHashHere].js` browsers will detect it and load it instead of an old file.\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/Using the read-only single tiddler view.tid",
    "content": "created: 20180703095435813\nmodified: 20180824073211367\ntags: [[WebServer Guides]]\ntitle: Using the read-only single tiddler view\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki's experimental single tiddler per page, read-only view uses a simplified page layout, and implements links between tiddlers, but there are no other interactive features. Compared to a full TiddlyWiki user interface, it is very lightweight and usable even over very slow connections.\n\nAlongside serving the full interactive wiki at the path `/` (e.g. http://127.0.0.1:8080/), TiddlyWiki serves each tiddler at the path `/<url-encoded-tiddler-title>`. For example:\n\n* http://127.0.0.1:8080/HelloThere\n* http://127.0.0.1:8080/Philosophy%20of%20Tiddlers\n\nOrdinary, non-system tiddlers are rendered through a special view template while system tiddlers are rendered through a template that returns the raw text of the rendered output. In this way ordinary tiddlers can be browsed by end users while system tiddlers can be included in their raw form to use them as JS, HTML or CSS templates. Additionally these defaults can be overwritten on a per tiddler basis by specifying the `_render_type` and `_render_template` fields accordingly.\n\nThe templates are controlled by these parameters:\n\n* [[system-tiddler-render-type|WebServer Parameter: system-tiddler-render-type]]\n* [[system-tiddler-template|WebServer Parameter: system-tiddler-render-template]]\n* [[tiddler-render-type|WebServer Parameter: tiddler-render-type]]\n* [[tiddler-template|WebServer Parameter: tiddler-render-template]]\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer API.tid",
    "content": "created: 20180630194032981\nmodified: 20181002131850742\ntags: WebServer\ntitle: WebServer API\ntype: text/vnd.tiddlywiki\n\nThe TiddlyWiki [[WebServer]] API supports the following routes:\n\n<<list-links \"[tag[WebServer API]sort[]]\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer API_ Delete Tiddler.tid",
    "content": "created: 20181002112106875\nmodified: 20210418100750769\ntags: [[WebServer API]]\ntitle: WebServer API: Delete Tiddler\ntype: text/vnd.tiddlywiki\n\nDelete a tiddler\n\n```\nDELETE /bags/default/tiddlers/{title}\n```\n\nParameters:\n\n* ''title'' - URI encoded title of the tiddler to delete\n\nHeaders:\n\n* ''x-requested-with'' - must be set to `TiddlyWiki` in order for the request to succeed, unless [[WebServer Parameter: csrf-disable]] is set to `yes`\n\nResponse:\n\n* 204 No Content"
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer API_ Force Basic Authentication Login.tid",
    "content": "created: 20181002124825195\nmodified: 20181216181934282\ntags: [[WebServer API]]\ntitle: WebServer API: Force Basic Authentication Login\ntype: text/vnd.tiddlywiki\n\nForces the server to request basic authentication login, and then redirects to the root\n\n```\nGET /login-basic\n```\n\nRequests an basic authentication from the browser, and redirects to the root if successful.\n\nParameters:\n\n* none\n\nResponse:\n\n* 302 Found\n*> `Location: /`\n* 401 Unauthorized\n*> `WWW-Authenticate: Basic realm=\"Please provide your username and password to login to <servername>\"\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer API_ Get All Tiddlers.tid",
    "content": "created: 20181002131215403\nmodified: 20220909094340097\ntags: [[WebServer API]]\ntitle: WebServer API: Get All Tiddlers\ntype: text/vnd.tiddlywiki\n\nGets an array of all raw non-system tiddlers, excluding the ''text'' field.\n\n```\nGET /recipes/default/tiddlers.json\n```\n\nParameters:\n\n* ''filter'' - filter identifying tiddlers to be returned (optional, defaults to \"[all[tiddlers]!is[system]sort[title]]\")\n* ''exclude'' - comma delimited list of fields to excluded from the returned tiddlers (optional, defaults to \"text\")\n\nIn order to avoid denial of service attacks with malformed filters in the default configuration the only filter that is accepted is the default filter \"[all[tiddlers]!is[system]sort[title]]\"; attempts to use any other filter will result in an HTTP 403 error.\n\n<<.note \"System tiddlers will not be returned by this API unless the [[Hidden Setting: Sync System Tiddlers From Server]] is explicitly switched on by setting $:/config/SyncSystemTiddlersFromServer to `yes`\">>\n\nTo enable a particular filter, create a tiddler with the title \"$:/config/Server/ExternalFilters/\" concatenated with the filter text, and the text field set to \"yes\". For example, the TiddlyWeb plugin includes the following shadow tiddler to enable the filter that it requires:\n\n```\ntitle: $:/config/Server/ExternalFilters/[all[tiddlers]] -[[$:/isEncrypted]] -[prefix[$:/temp/]] -[prefix[$:/status/]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] -[has[plugin-type]field:platform[server]] -[[$:/library/sjcl.js]] -[[$:/core]]\ntext: yes\n```\n\nIt is also possible to configure the server to accept any filter by creating a tiddler titled $:/config/Server/AllowAllExternalFilters with the text \"yes\". This should not be done for public facing servers.\n\nResponse:\n\n* 200 OK\n*> `Content-Type: application/json`\n*> Body: array of all non-system tiddlers in [[TiddlyWeb JSON tiddler format]] \n* 403 Forbidden\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer API_ Get Favicon.tid",
    "content": "created: 20181002123308575\nmodified: 20181002124103586\ntags: [[WebServer API]]\ntitle: WebServer API: Get Favicon\ntype: text/vnd.tiddlywiki\n\nGet the favicon for the wiki from the tiddler $:/favicon.ico\n\n```\nGET /favicon.ico\n```\n\nParameters:\n\n* none\n\nResponse:\n\n* 200 OK\n*> `Content-Type: image/x-icon`\n*> Body: image data from the tiddler $:/favicon.ico"
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer API_ Get File.tid",
    "content": "created: 20181002123907518\nmodified: 20250605000000000\ntags: [[WebServer API]]\ntitle: WebServer API: Get File\ntype: text/vnd.tiddlywiki\n\nGet the content of a static file. See\n[[using the integrated static file server|Using the integrated static file server]]\n\n```\nGET /files/<pathname>\n```\n\nParameters:\n\n* ''pathname'' - URI encoded path to the file\n\nHeaders:\n\n* ''Range'' - <<.from-version \"5.3.7\">> (optional) Request specific byte ranges using the format `bytes=start-end`. Supports partial content delivery for media streaming.\n\nResponse:\n\n* 200 OK\n*> `Content-Type: <content-type>` (determined from file extension)\n*> `Content-Length: <file-size>`\n*> `Accept-Ranges: bytes`\n*> Body: complete file data\n* 206 Partial Content (when Range header is provided)\n*> `Content-Type: <content-type>` (determined from file extension)\n*> `Content-Length: <range-size>`\n*> `Content-Range: bytes <start>-<end>/<total-size>`\n*> `Accept-Ranges: bytes`\n*> Body: requested byte range data\n* 403 Forbidden\n* 404 Not Found\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer API_ Get Rendered Tiddler.tid",
    "content": "created: 20181002125954409\nmodified: 20181002135401854\ntags: [[WebServer API]]\ntitle: WebServer API: Get Rendered Tiddler\ntype: text/vnd.tiddlywiki\n\nGets a rendering of the specified tiddler. See [[using the read-only single tiddler view|Using the read-only single tiddler view]] for more details.\n\n```\nGET /{title}\n```\n\nParameters:\n\n* ''title'' - URI encoded title of the tiddler to render\n\nResponse:\n\n\n* 200 OK\n*> `Content-Type: <content-type>`\n*> Body: tiddler rendering\n* 404 Not Found\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer API_ Get Server Status.tid",
    "content": "created: 20181002125229601\nmodified: 20181002125840235\ntags: [[WebServer API]]\ntitle: WebServer API: Get Server Status\ntype: text/vnd.tiddlywiki\n\nGet server status information\n\n```\nGET /status\n```\n\nParameters:\n\n* none\n\nResponse:\n\n* 200 OK\n*> `Content-Type: application/json`\n*> Body: see below\n\nThe JSON data returned comprises the following properties:\n\n* ''username'' - the username of the currently authenticated user. If undefined, the [[WebServer Parameter: anon-username]] is returned instead\n* ''anonymous'' - true if the current user is anonymous\n* ''read_only'' - true if the current user is restricted to read only access to the server\n* ''logout_is_available'' - true if the server supports logging out (optional, defaults to true)\n* ''space'' - always contains the object `{recipe: \"default\"}`\n* ''tiddlywiki_version''  - the current TiddlyWiki version\n\nFor example:\n\n```\n{\n  \"username\": \"\",\n  \"anonymous\": true,\n  \"read_only\": false,\n  \"space\": {\n    \"recipe\": \"default\"\n  },\n  \"tiddlywiki_version\": \"5.1.18\"\n}\n```\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer API_ Get Tiddler.tid",
    "content": "created: 20181002130310180\nmodified: 20181002130457330\ntags: [[WebServer API]]\ntitle: WebServer API: Get Tiddler\ntype: text/vnd.tiddlywiki\n\nGets the raw fields of a tiddler\n\n```\nGET /recipes/default/tiddlers/{title}\n```\n\nParameters:\n\n* ''title'' - URI encoded title of the tiddler to retrieve\n\nResponse:\n\n\n* 200 OK\n*> `Content-Type: application/json`\n*> Body: tiddler in [[TiddlyWeb JSON tiddler format]] \n* 404 Not Found\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer API_ Get Wiki.tid",
    "content": "created: 20181002124430552\nmodified: 20181002124755134\ntags: [[WebServer API]]\ntitle: WebServer API: Get Wiki\ntype: text/vnd.tiddlywiki\n\nGet the main wiki\n\n```\nGET /\n```\n\nThe wiki is composed by rendering the tiddler identified in the [[root-tiddler|WebServer Parameter: root-tiddler]] parameter with the render type in the [[root-render-type|WebServer Parameter: root-render-type]] parameter. This is then served with the content type from the [[root-serve-type|WebServer Parameter: root-serve-type]] parameter.\n\nParameters:\n\n* none\n\nResponse:\n\n* 200 OK\n*> `Content-Type: text/html`\n*> Body: data retrieved from file\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer API_ Put Tiddler.tid",
    "content": "created: 20181002131341062\nmodified: 20210418100750769\ntags: [[WebServer API]]\ntitle: WebServer API: Put Tiddler\ntype: text/vnd.tiddlywiki\n\nSaves the raw fields of a tiddler\n\n```\nPUT /recipes/default/tiddlers/{title}\n```\n\nThe body should be in [[TiddlyWeb JSON tiddler format]].\n\nParameters:\n\n* ''title'' - URI encoded title of the tiddler to save\n\nHeaders:\n\n* ''x-requested-with'' - must be set to `TiddlyWiki` in order for the request to succeed, unless [[WebServer Parameter: csrf-disable]] is set to `yes`\n\nResponse:\n\n* 204 No Content\n*> `Content-Type: text/plain`\n*> `Etag: \"default/<title>/<changecount>:\"`\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer Anonymous Access.tid",
    "content": "created: 20180701175139654\nmodified: 20180701202339421\ntags: [[WebServer Authentication]]\ntitle: WebServer Anonymous Access\ntype: text/vnd.tiddlywiki\n\nAnonymous access is only permitted if the special ''(anon)'' token is present in the [[readers|WebServer Parameter: readers]] (for reading) and optionally [[writers|WebServer Parameter: writers]] (for writing) authorisation parameters.\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer Authentication.tid",
    "content": "created: 20180630193939007\nmodified: 20180701184519624\ntags: WebServer\ntitle: WebServer Authentication\ntype: text/vnd.tiddlywiki\n\n''Authentication'' is the process of identifying the current user. TiddlyWiki supports three types of authentication:\n\n* [[Anonymous Access|WebServer Anonymous Access]] allows any user to access resources without requiring authentication. Optionally, a username can still be specified for signing edits\n* [[Basic Authentication|WebServer Basic Authentication]] requires the user to enter a username and password combination which TiddlyWiki validates against an internal database of credentials\n* [[Header Authentication|WebServer Header Authentication]] requires an external proxy to place the username of the current user in a trusted header of the request. It is often used as the basis of \"single sign-on\" features\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer Authorization.tid",
    "content": "created: 20180630194006239\nmodified: 20211122004159427\ntags: WebServer\ntitle: WebServer Authorization\ntype: text/vnd.tiddlywiki\n\n''Authorization'' is the process of determining which resources may be accessed by a particular user. It occurs after [[authentication|WebServer Authentication]] has determined the identity of the user. TiddlyWiki's WebServer implements a simple authorization scheme which permits independent control of who has administrator access to the server, and read and write access to a wiki.\n\nThe WebServer parameters [[admin|WebServer Parameter: admin]], [[readers|WebServer Parameter: readers]] and [[writers|WebServer Parameter: writers]] each contain a comma separated list of //principals// (which is to say, either usernames or certain special tokens) which should have read or write access respectively. \n\nThe available special tokens are:\n\n* ''(anon)'' - indicates all anonymous users\n* ''(authenticated)'' - indicates all authenticated users\n\n!! Admin Functions\n\n<<.tip\"\"\"The ''(anon)'' token is not valid for the [[admin|WebServer Parameter: admin]] parameter.\"\"\">>\n\nAt this time, no server functions are restricted to ''admin'' authorized users in the unmodified [[Tiddlywiki server|WebServer]]. Third party plugins can leverage this to restrict routes or commands to a subset of authorized users.\n\n!! Read-only Mode\n\nRead-only mode is engaged when the current user is not authorized to write to the current wiki.\n\nUser interface features concerned with creating or editing content are disabled in read-only mode:\n\n* ''clone'', ''delete'', ''new-here'' and ''new-journal-here'' tiddler toolbar buttons\n* ''import'', ''manager'', ''new-tiddler'' ''new-image'' and ''new-journal'' page control buttons\n\nThe tiddler $:/status/IsReadOnly is set to `yes` when read-only mode is engaged.\n\n!! Examples\n\nThese example use the [[credentials|WebServer Parameter: credentials]] parameter to specify the location of a file containing usernames and passwords.\n\nIn the first example, read access is permitted for the users \"joe\" and \"mary\", with write access restricted to \"mary\":\n\n```\ntiddlywiki mywikifolder --listen credentials=myusers.csv readers=joe,mary writers=mary\n```\n\nIn the following example, read access is granted to all authenticated users, but only \"mary\" is granted write access:\n\n```\ntiddlywiki mywikifolder --listen credentials=myusers.csv \"readers=(authenticated)\" writers=mary\n```\n\nIn the following example, read and write access is granted to all authenticated users, but only \"mary\" is granted admin access:\n\n```\ntiddlywiki mywikifolder --listen credentials=myusers.csv \"readers=(authenticated)\" \"writers=(authenticated)\" admin=mary\n```\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer Basic Authentication.tid",
    "content": "created: 20180701175133376\nmodified: 20181216181934282\ntags: [[WebServer Authentication]]\ntitle: WebServer Basic Authentication\ntype: text/vnd.tiddlywiki\n\n[[Basic authentication|https://en.wikipedia.org/wiki/Basic_access_authentication]] is a standard [[mechanism|WebServer Authentication]] for servers to instruct browsers to prompt the user for credentials. It is recommended to use it in association with HTTPS due to the way that it passes unencrypted passwords over the network.\n\nBasic authentication is activated if credentials are specified via the [[username|WebServer Parameter: username]]/[[password|WebServer Parameter: password]] or [[credentials|WebServer Parameter: credentials]] parameters.\n\nIf [[WebServer Authorization]] is configured to allow access by both anonymous and authenticated users then by default users will not be prompted for credentials, and will be given anonymous access. To force a password prompt visit the route `/login-basic` (for example, http://127.0.0.1:8080/login-basic).\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer Guides.tid",
    "content": "created: 20180703094704164\nmodified: 20180703094729900\ntags: WebServer\ntitle: WebServer Guides\ntype: text/vnd.tiddlywiki\n\nFurther information on usage of the integrated [[WebServer]]:\n\n<<list-links filter:\"[tag[WebServer Guides]]\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer Header Authentication.tid",
    "content": "created: 20180701175127987\nmodified: 20180702140238032\ntags: [[WebServer Authentication]]\ntitle: WebServer Header Authentication\ntype: text/vnd.tiddlywiki\n\nHeader authentication is a web integration technique enabling external entities to securely pass details of the authenticated user to an application.\n\nHeader authentication is activated if is configured via the [[authenticated-user-header|WebServer Parameter: authenticated-user-header]]\n\n!! Usage in SSO\n\nHeader authentication is commonly used for \"single sign on\" in corporate environments. When doing header authentication, the user is not prompted for a username and password on TiddlyWiki. Instead, the user is required to login at a SSO proxy server. When the user authenticates themselves to the SSO proxy server, the proxy server redirects the user request to the TiddlyWiki server with this additional request header containing the username. Then TiddlyWiki server is able to use the value of this request header to identify the user."
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer Parameter_ admin.tid",
    "content": "caption: admin\ncreated: 20211111015634164\nmodified: 20211111023141767\ntags: [[WebServer Parameters]]\ntitle: WebServer Parameter: admin\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.2.2\">> The [[web server configuration parameter|WebServer Parameters]] ''admin'' is used to specify the security principals with administrator access to the [[WebServer]]. Does not accept the ''(anon)'' special token. See [[WebServer Authorization]] for more details.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer Parameter_ anon-username.tid",
    "content": "caption: anon-username\ncreated: 20180702124636124\nmodified: 20180702124836655\ntags: [[WebServer Parameters]]\ntitle: WebServer Parameter: anon-username\ntype: text/vnd.tiddlywiki\n\nThe [[web server configuration parameter|WebServer Parameters]] ''anon-username'' provides an optional username for signing edits from anonymous users.\n\nWithout this parameter, anonymous users will be given a blank username."
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer Parameter_ authenticated-user-header.tid",
    "content": "caption: authenticated-user-header\ncreated: 20180630180213047\nmodified: 20230522184416583\ntags: [[WebServer Parameters]]\ntitle: WebServer Parameter: authenticated-user-header\ntype: text/vnd.tiddlywiki\n\nThe [[web server configuration parameter|WebServer Parameters]] ''authenticated-user-header'' activates [[header authentication|WebServer Header Authentication]] by specifying the name of the HTTP header field that will be used to pass the username to TiddlyWiki.\n\nFor example, if the ''authenticated-user-header'' is set to ''X-Authenticated-User'', then the HTTP request must include a header field ''X-Authenticated-User'' with a value that is the username:\n\n```http\nX-Authenticated-User: JeremyRuston\n```\n\n<<.from-version \"5.3.0\">> Value of this header field should be URI-encoded before transit on the client (using `encodeURIComponent` JS function or [[encodeuricomponent Operator]]), and will be URI-decoded by the server."
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer Parameter_ credentials.tid",
    "content": "caption: credentials\ncreated: 20180630180156036\nmodified: 20180702154456353\ntags: [[WebServer Parameters]]\ntitle: WebServer Parameter: credentials\ntype: text/vnd.tiddlywiki\n\nThe [[web server configuration parameter|WebServer Parameters]] ''credentials'' contains the pathname of a [[CSV file|https://en.wikipedia.org/wiki/Comma-separated_values]] containing a list of username/password combinations. Using the ''credentials'' parameter activates [[WebServer Basic Authentication]].\n\nThe CSV file must contain a header row and columns labelled ''username'' and ''password''. For example:\n\n```\nusername,password\njane,do3\nandy,sm1th\nroger,m00re\n```\n\nNotes:\n\n* The optional [[username|WebServer Parameter: username]]/[[password|WebServer Parameter: password]] parameters may be used to provide an additional single set of credentials\n* The pathname is taken relative to the wiki folder\n* Passwords cannot contain the comma character `,`\n* The header row must be present\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer Parameter_ csrf-disable.tid",
    "content": "caption: csrf-disable\ncreated: 20180630180340448\nmodified: 20190419171355307\ntags: [[WebServer Parameters]]\ntitle: WebServer Parameter: csrf-disable\ntype: text/vnd.tiddlywiki\n\nThe [[web server configuration parameter|WebServer Parameters]] ''csrf-disable'' causes the usual [[cross-site request forgery|https://en.wikipedia.org/wiki/Cross-site_request_forgery]] checks to be disabled. This might be necessary in unusual or experimental configurations.\n\nSetting ''csrf-disable'' to `yes` disables the CSRF checks; `no` (or any other value) enables them.\n\nThe only currently implemented check is the use of a [[custom header|https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet#Protecting_REST_Services:_Use_of_Custom_Request_Headers]] called `x-requested-with` that must contain the string `TiddlyWiki` in order for write requests to succeed."
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer Parameter_ debug-level.tid",
    "content": "caption: debug-level\ncreated: 20180630180535728\nmodified: 20180702142154308\ntags: [[WebServer Parameters]]\ntitle: WebServer Parameter: debug-level\ntype: text/vnd.tiddlywiki\n\nThe [[web server configuration parameter|WebServer Parameters]] ''debug-level'' determines the level of debugging information printed to the console:\n\n* ''full'' - maximum logging\n* ''none'' - no logging\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer Parameter_ host.tid",
    "content": "caption: host\ncreated: 20180630180123321\nmodified: 20181107183151913\ntags: [[WebServer Parameters]]\ntitle: WebServer Parameter: host\ntype: text/vnd.tiddlywiki\n\nThe [[web server configuration parameter|WebServer Parameters]] ''host'' is the IP address on which the server listens. The most common settings are:\n\n* ''127.0.0.1'' (default) - only listens for connections from browsers on the same computer \n* ''0.0.0.0'' - listens for connections on all network interfaces, and thus from any browser on a reachable network\n* ''n.n.n.n'' - listens for connections on the network interface with the specified IP address\n\n''Note:'' Using ''0.0.0.0'' or ''n.n.n.n'' in a public environment (e.g. coffee shop, library, airport) is inadvisable as it ''will'' expose your system to possible intrusion."
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer Parameter_ password.tid",
    "content": "caption: password\ncreated: 20180630170932602\nmodified: 20180630171122879\ntags: [[WebServer Parameters]]\ntitle: WebServer Parameter: password\ntype: text/vnd.tiddlywiki\n\nThe [[web server configuration parameter|WebServer Parameters]] ''password'', is used with its companion [[username|WebServer Parameter: username]] as a shortcut for setting user credentials for [[WebServer Basic Authentication]].\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer Parameter_ path-prefix.tid",
    "content": "caption: path-prefix\ncreated: 20180630180514893\nmodified: 20201027122943281\ntags: [[WebServer Parameters]]\ntitle: WebServer Parameter: path-prefix\ntype: text/vnd.tiddlywiki\n\nThe [[web server configuration parameter|WebServer Parameters]] ''path-prefix'' can be used to set an optional prefix for all paths served.\n\nThis example causes the server to serve from http://127.0.0.1/MyApp instead of the default http://127.0.0.1/.\n\n```\ntiddlywiki mywikifolder --listen \"path-prefix=/MyApp\"\n```\n\nNotes:\n\n* Further steps are required to configure the client-side components to use the prefix. See [[Using a custom path prefix with the client-server edition]]\n* If no path prefix is required then the `path-prefix` parameter should be omitted or set to the empty string, and not to `\\` as might be expected\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer Parameter_ port.tid",
    "content": "caption: port\ncreated: 20180630180552254\nmodified: 20191219123751824\ntags: [[WebServer Parameters]]\ntitle: WebServer Parameter: port\ntype: text/vnd.tiddlywiki\n\nThe [[web server configuration parameter|WebServer Parameters]] ''port'' specifies the TCP port on which the server will listen for connections. The default value is `8080`.\n\nThe ''port'' parameter accepts two types of value:\n\n* Numerical values are interpreted as a decimal port number\n** The special value 0 (zero) causes the operating system to assign an available port\n* Non-numeric values are interpreted as an environment variable from which the port should be read\n\nThis example configures the server to listen on port 8090:\n\n```\ntiddlywiki mywikifolder --listen port=8090\n```\n\nThis example configures the server to listen on the port specified in the environment variable `THE_PORT`:\n\n```\ntiddlywiki mywikifolder --listen port=THE_PORT\n```\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer Parameter_ readers.tid",
    "content": "caption: readers\ncreated: 20180630180405978\nmodified: 20180702155139006\ntags: [[WebServer Parameters]]\ntitle: WebServer Parameter: readers\ntype: text/vnd.tiddlywiki\n\nThe [[web server configuration parameter|WebServer Parameters]] ''readers'' is used to specify the security principals with read access to the wiki. See [[WebServer Authorization]] for more details."
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer Parameter_ required-plugins.tid",
    "content": "caption: required-plugins\ncreated: 20211226160733000\nmodified: 20211226160754000 \ntags: [[WebServer Parameters]]\ntitle: WebServer Parameter: required-plugins\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.2.2\">> The [[web server configuration parameter|WebServer Parameters]] ''required-plugins'' is used to specify the plugins required to start the [[WebServer]]. It take a comma seperated list of plugin titles. The WebServer will issue a warnign in the console if the required plugins are not loaded. This parameter defaults to `$:/plugins/tiddlywiki/filesystem,$:/plugins/tiddlywiki/tiddlyweb`.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer Parameter_ root-render-type.tid",
    "content": "caption: root-render-type\ncreated: 20180630180301861\nmodified: 20180702160458499\ntags: [[WebServer Parameters]]\ntitle: WebServer Parameter: root-render-type\ntype: text/vnd.tiddlywiki\n\nThe [[web server configuration parameter|WebServer Parameters]] ''root-render-type'' determines the way that the [[root wiki tiddler|WebServer Parameter: root-tiddler]] is rendered:\n\n* `text/plain` (default) -- the plain text content of the output is rendered (i.e. HTML elements are ignored)\n* `text/html` -- the full HTML content of the output is rendered (i.e. including HTML elements)\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer Parameter_ root-serve-type.tid",
    "content": "caption: root-serve-type\ncreated: 20180630180233285\nmodified: 20180702160557700\ntags: [[WebServer Parameters]]\ntitle: WebServer Parameter: root-serve-type\ntype: text/vnd.tiddlywiki\n\nThe [[web server configuration parameter|WebServer Parameters]] ''root-serve-type'' determines the content type with which the root wiki tiddler is rendered. The default is `text/html`."
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer Parameter_ root-tiddler.tid",
    "content": "caption: root-tiddler\ncreated: 20180630180320376\nmodified: 20180702160659310\ntags: [[WebServer Parameters]]\ntitle: WebServer Parameter: root-tiddler\ntype: text/vnd.tiddlywiki\n\nThe [[web server configuration parameter|WebServer Parameters]] ''root-tiddler'' determines the title of the tiddler that is rendered as the root wiki. The default setting is `$:/core/save/all`.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer Parameter_ system-tiddler-render-template.tid",
    "content": "caption: system-tiddler-render-template\ncreated: 20180808094408813\nmodified: 20180810053154669\ntags: [[WebServer Parameters]]\ntitle: WebServer Parameter: system-tiddler-render-template\ntype: text/vnd.tiddlywiki\n\nThe [[web server configuration parameter|WebServer Parameters]] ''system-tiddler-render-template'' is used to specify the template for serving system tiddlers in the [[read-only single tiddler view|Using the read-only single tiddler view]]. The default value is `$:/core/templates/wikified-tiddler` which renders the tiddler raw, without any special viewing template.\n\n<<.tip \"This setting may be overwritten by specifying the `_render_template` field of a tiddler.\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer Parameter_ system-tiddler-render-type.tid",
    "content": "caption: system-tiddler-render-type\ncreated: 20180808092758577\nmodified: 20180810053136312\ntags: [[WebServer Parameters]]\ntitle: WebServer Parameter: system-tiddler-render-type\ntype: text/vnd.tiddlywiki\n\nThe [[web server configuration parameter|WebServer Parameters]] ''system-tiddler-render-type'' is used to specify the render type for serving system tiddlers in the [[read-only single tiddler view|Using the read-only single tiddler view]]. The default value is `text/plain`, causing the raw text of rendered system tiddlers to be returned. Alternatively, `text/html` can be used to cause the full HTML of the rendered tiddlers to be returned.\n\n<<.tip \"This setting may be overwritten by specifying the `_render_type` field of a tiddler.\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer Parameter_ tiddler-render-template.tid",
    "content": "caption: tiddler-render-template\ncreated: 20180808094255388\nmodified: 20180810053232494\ntags: [[WebServer Parameters]]\ntitle: WebServer Parameter: tiddler-render-template\ntype: text/vnd.tiddlywiki\n\nThe [[web server configuration parameter|WebServer Parameters]] ''tiddler-render-template'' is used to specify the template for serving ordinary, non-system tiddlers in the [[read-only single tiddler view|Using the read-only single tiddler view]]. The default value is `$:/core/templates/server/static.tiddler.html` which renders tiddlers in a lightweight page with a simple sidebar.\n\n<<.tip \"This setting may be overwritten by specifying the `_render_template` field of a tiddler.\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer Parameter_ tiddler-render-type.tid",
    "content": "caption: tiddler-render-type\ncreated: 20180808093108099\nmodified: 20180810053128531\ntags: [[WebServer Parameters]]\ntitle: WebServer Parameter: tiddler-render-type\ntype: text/vnd.tiddlywiki\n\nThe [[web server configuration parameter|WebServer Parameters]] ''tiddler-render-type'' is used to specify the render type for serving ordinary, non-system tiddlers in the [[read-only single tiddler view|Using the read-only single tiddler view]]. The default value is `text/html`, causing the full HTML of the rendered output to be returned. Alternatively, `text/plain` can be used to cause the raw text of rendered system tiddlers to be returned.\n\n<<.tip \"This setting may be overwritten by specifying the `_render_type` field of a tiddler.\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer Parameter_ tls-cert.tid",
    "content": "caption: tls-cert\ncreated: 20180630180449581\nmodified: 20180703100612649\ntags: [[WebServer Parameters]]\ntitle: WebServer Parameter: tls-cert\ntype: text/vnd.tiddlywiki\n\nThe optional [[web server configuration parameter|WebServer Parameters]] ''tls-cert'' contains the pathname to the certificate file required when running the web server under HTTPS. The pathname is taken relative to the wiki folder.\n\nSee [[Using HTTPS]] for details."
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer Parameter_ tls-key.tid",
    "content": "caption: tls-key\ncreated: 20180630180435405\nmodified: 20180703100619863\ntags: [[WebServer Parameters]]\ntitle: WebServer Parameter: tls-key\ntype: text/vnd.tiddlywiki\n\nThe optional [[web server configuration parameter|WebServer Parameters]] ''tls-key'' contains the pathname to the key file required when running the web server under HTTPS. The pathname is taken relative to the wiki folder.\n\nSee [[Using HTTPS]] for details."
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer Parameter_ tls-passphrase.tid",
    "content": "caption: tls-passphrase\ncreated: 20211111004416873\nmodified: 20211111022120158\ntags: [[WebServer Parameters]]\ntitle: WebServer Parameter: tls-passphrase\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.2.2\">> The optional [[web server configuration parameter|WebServer Parameters]] ''tls-passphrase'' contains the \"certificate passphrase\", a string used to decrypt the certificate file used when running the web server under HTTPS.\n\nSee [[Using HTTPS]] for details.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer Parameter_ use-browse-cache.tid",
    "content": "caption: use-browse-cache\ncreated: 20240413042652008\nmodified: 20240413050841387\ntags: [[WebServer Parameters]]\ntitle: WebServer Parameter: use-browser-cache\ntype: text/vnd.tiddlywiki\n\nThe [[web server configuration parameter|WebServer Parameters]] ''use-browser-cache=yes'' activates 200 OK browser caching via the `Cache-Control` header and a smart a Etag header:\n\n* The server javascript creates an MD5 `hash` object.\n* Adds the data of the current `request:response` (for example: json text or an image binary) to the hash object.\n* Adds the current `headers` of the response to the hash object.\n* If the response data has an `encoding` value, adds the encoding to the hash object.\n* Calculates the final MD5 hash string as a `contentDigest` javascript variable, and saves it as an `Etag: \"<<contentDigest>>\"` header.\n\nIf the incoming request contains a header named `if-none-match`, then the server will check the generated Etag against all values.\n\nIf any `if-none-match` value DOES match the current Etag, the server will send a `304 NOT MODIFIED` response with the current response headers, instead of the data with a `200 OK` response.\n\nThis saves bandwidth, as the client can be sure they have already received the exact data and has it in their current cache.\n\nIf ''use-browser-cache=no'' (or any other value including null), then the server will return a `Cache-Control: no-store` header by default.\n\nIf any customer server route module defines custom `Cache-Control` header behavior, then the server will pass that header through instead of the default.\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer Parameter_ username.tid",
    "content": "caption: username\ncreated: 20180628130114210\nmodified: 20180702124624290\ntags: [[WebServer Parameters]]\ntitle: WebServer Parameter: username\ntype: text/vnd.tiddlywiki\n\nThe [[web server configuration parameter|WebServer Parameters]] ''username'', in conjunction with its companion [[password|WebServer Parameter: password]]:\n\n* Enables [[Basic Authentication|WebServer Basic Authentication]] with the specified username/password combination being added to any credentials specified with the [[credentials|WebServer Parameter: credentials]] parameter\n* The specified username is used as a default value for the [[readers|WebServer Parameter: readers]] and [[writers|WebServer Parameter: writers]] authorisation parameters if they are not specified\n\n!! Examples\n\nServe anonymous users, setting the username to \"joe\":\n\n```\ntiddlywik mywikifolder --listen anon-username=joe\n```\n\nRestrict access to the user \"joe\" with a password of \"secret\":\n\n```\ntiddlywik mywikifolder --listen username=joe password=secret\n```\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer Parameter_ writers.tid",
    "content": "caption: writers\ncreated: 20180630180359439\nmodified: 20180702155133411\ntags: [[WebServer Parameters]]\ntitle: WebServer Parameter: writers\ntype: text/vnd.tiddlywiki\n\nThe [[web server configuration parameter|WebServer Parameters]] ''writers'' is used to specify the security principals with write access to the wiki. See [[WebServer Authorization]] for more details."
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer Parameters.tid",
    "content": "created: 20180628125910136\nmodified: 20180630170919859\ntags: WebServer\ntitle: WebServer Parameters\ntype: text/vnd.tiddlywiki\n\nThe following configuration parameters are supported by the integrated [[WebServer]]:\n\n<<list-links filter:\"[tag[WebServer Parameters]]\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/webserver/WebServer.tid",
    "content": "created: 20180626150526207\nmodified: 20240413043741157\ntags: ListenCommand ServerCommand Features\ntitle: WebServer\ntype: text/vnd.tiddlywiki\n\nWhen [[running under Node.js|TiddlyWiki on Node.js]], TiddlyWiki includes a simple HTTP/HTTPS web server that allows you to use it from any browser running on the same machine or over a network.\n\n<<.tip \"\"\"The web server includes a very simple mechanism allowing multiple users to log in with different credentials. The implementation is designed to be simple and easy to use, and would not generally be considered robust enough for use on the open internet. It is intended for use by individuals or small groups on a trusted network. It is recommended to use an external proxy before exposing it on the Internet.\"\"\">>\n\n! How It Works\n\nThe web server listens for requests coming over the network, and performs the following actions in turn:\n\n* [[Authentication|WebServer Authentication]] is the process of identifying the current user. TiddlyWiki supports three types of authentication: [[Anonymous|WebServer Anonymous Access]], [[Basic|WebServer Basic Authentication]] and [[Header|WebServer Header Authentication]]\n* [[Authorization|WebServer Authorization]] is the process of determining which resources may be accessed by a particular user. TiddlyWiki implements a simple scheme whereby read and write access to the wiki can be independently controlled.\n* Routing is the process of dispatching the request to the [[API handler|WebServer API]], and returning any required data.\n\n! Usage\n\n!! Anonymous Access \n\nThe web server is started with the ListenCommand (which supersedes the older ServerCommand). All \nthe NamedCommandParameters are optional, so the simplest form is:\n\n```\ntiddlywiki mywikifolder --listen\n```\n\nVisit http://127.0.0.1:8080/ to access the wiki. Access is anonymous, so anyone can read or write to the wiki.\n\nThis will typically be available only to users on the local machine. For information on how to open the instance to the local network see the Web Server [[host|WebServer Parameter: host]] parameter entry. \n\n!! Authenticated Access\n\nAdding [[username|WebServer Parameter: username]] and [[password|WebServer Parameter: password]] parameters enforces basic authentication for both reading and writing:\n\n```\ntiddlywiki mywikifolder --listen username=test password=tset\n```\n\nVisiting the wiki will prompt for a username and password, and access is denied if they do not match the provided credentials.\n\n!! Anonymous Read, Authenticated Write\n\nThis example adds the [[authorization|WebServer Authorization]] parameters [[readers|WebServer Parameter: readers]] and [[writers|WebServer Parameter: writers]] to grant read access to anonymous users, but require authentication as \"joe\" in order to gain write access.\n\n> Note that anonymous users can trigger a username/password prompt by visiting the route `\\login-basic` (eg http://127.0.0.1:8080/login-basic).\n\n```\ntiddlywiki mywikifolder --listen \"readers=(anon)\" writers=joe username=joe password=bloggs\n```\n\nNote  the double quotes that are required for parameters containing special characters.\n\n! Arguments\n\nThe full list of available optional parameters is:\n\n<<list-links filter:\"[tag[WebServer Parameters]]\">>\n\n! Guides\n\nFurther information on usage of the integrated [[WebServer]]:\n\n<<list-links filter:\"[tag[WebServer Guides]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/$__docs_anyField.tid",
    "content": "created: 20210505094244703\nfield: list\nmodified: 20210505094434740\ntags: \ntitle: $:/docs/anyField\ntype: text/vnd.tiddlywiki\n\nThis tiddler is needed for the last [[SetWidget]] example"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/$__editions_tw5.com_widget-examples_qualify-transcluded.tid",
    "content": "created: 20220125161941555\nmodified: 20220125162920771\ntags: [[Widget Examples]]\ntitle: $:/editions/tw5.com/widget-examples/qualify-transcluded\ntype: text/vnd.tiddlywiki\n\n<$macrocall $name=\".example\" n=\"1\"\neg=\"\"\"<$qualify title=\"BaseTiddler\" name=\"iamnotanumber\">\n<ul>\n<li><code><<iamnotanumber>></code></li>\n<li><code><<transclusion>></code></li>\n</ul>\n</$qualify>\n\"\"\"/>"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/ActionConfirmWidget.tid",
    "content": "caption: action-confirm\ncreated: 20201115150255011\nmodified: 20201115160335288\ntags: Widgets ActionWidgets\ntitle: ActionConfirmWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\n<<.from-version \"5.1.23\">>The ''action-confirm'' widget is an [[action widget|ActionWidgets]] that prompts the user for confirmation and invokes other action widgets contained within it only if the user confirms. ActionWidgets are used within triggering widgets such as the ButtonWidget.\n\n! Content and Attributes\n\nThe ''action-confirm'' widget is invisible. Any content within it is only processed if the user confirms the action, or the confirmation has been disabled by the `$prompt` attribute.\n\n|!Attribute |!Description |\n|$message |Optional message displayed to the user when asking for confirmation.|\n|$prompt |Optional flag, set to \"no\" to disable the prompt for confirmation. Defaults to \"yes\" |\n\n! Examples\n\nHere is an example of a button that asks the user for confirmation, before deleting the caption and tags fields of the current tiddler:\n\n<$macrocall $name='wikitext-example-without-html'\nsrc='<$button>\n<$action-confirm $message=\"Do you wish to delete the caption and tags?\">\n<$action-deletefield caption tags/>\nDelete \"caption\" and \"tags\"\n</$action-confirm>\n</$button>'/>\n\nHere is an example of a button that uses the optional `$prompt` attribute to control whether to prompt the user before deleting the text field of the tiddler HelloThere:\n\n<$macrocall $name='wikitext-example-without-html'\nsrc='<$button>\n<$action-confirm $message=\"Do you wish to delete the text field?\" $prompt={{$:/state/promptUser}}>\n<$action-deletefield $tiddler=\"HelloThere\" $field=\"text\"/>\n</$action-confirm>\nDelete text from ~HelloThere\n</$button>'/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/ActionCreateTiddlerWidget Example 1.tid",
    "content": "created: 20200131142401129\nmodified: 20240602154417754\ntags: ActionCreateTiddlerWidget\ntitle: ActionCreateTiddlerWidget Example 1\ntype: text/vnd.tiddlywiki\n\n<$testcase>\n<$data title=Description text=\"Default widget with no attributes\"/>\n<$data title=Narrative text='The button in this example uses the $action-createtiddler widget to create \"New Tiddler\", \"New Tiddler 1\", \" New Tiddler 2\" and so on'/>\n<$data title=Output text=\"\"\"\\procedure testCreate() <$action-createtiddler />\n\n<$button actions=<<testCreate>> >\nCreate Tiddler\n</$button>\"\"\"/>\n</$testcase>"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/ActionCreateTiddlerWidget Example 2.tid",
    "content": "created: 20200131144828713\nmodified: 20240602160133371\ntags: ActionCreateTiddlerWidget\ntitle: ActionCreateTiddlerWidget Example 2\ntype: text/vnd.tiddlywiki\n\n<$testcase>\n<$data title=Description text=\"Transcluded base title\"/>\n<$data title=Narrative text=\"\"\"The $action-createtiddler widget in this example uses the base title defined in [[$:/language/DefaultNewTiddlerTitle]].\n\nIt will overwrite the tiddler if the button is clicked several times.\"\"\"/>\n<$data $tiddler=\"$:/language/DefaultNewTiddlerTitle\"/>\n<$data title=Output text=\"\"\"\\procedure testCreate()\n<$action-createtiddler $basetitle={{$:/language/DefaultNewTiddlerTitle}} $overwrite=\"yes\"/>\n\\end\n\n<$button actions=<<testCreate>> >\nCreate Tiddler\n</$button>\"\"\"/>\n</$testcase>"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/ActionCreateTiddlerWidget Example 3.tid",
    "content": "created: 20200131145355658\nmodified: 20240602155233116\ntags: ActionCreateTiddlerWidget\ntitle: ActionCreateTiddlerWidget Example 3\ntype: text/vnd.tiddlywiki\n\n<$testcase>\n<$data title=Description text=\"Template and custom base title\"/>\n<$data title=Narrative text=\"\"\"The $action-createtiddler widget in this example uses the basetitle attribute and template: [[ActionCreateTiddlerWidget Template]].\n\nClicking the button will create: \"base\", \"base 1\", \"base 2\" and so on\n\"\"\"/>\n<$data $tiddler=\"ActionCreateTiddlerWidget Template\"/>\n<$data title=Output text=\"\"\"\\procedure testCreate()\n<$action-createtiddler $basetitle=\"base\" $template=\"ActionCreateTiddlerWidget Template\"/>\n\\end\n\n<$button actions=<<testCreate>> >\nCreate Tiddler\n</$button>\"\"\"/>\n</$testcase>"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/ActionCreateTiddlerWidget Example 4.tid",
    "content": "created: 20200131150229551\nmodified: 20240602154933113\ntags: ActionCreateTiddlerWidget\ntitle: ActionCreateTiddlerWidget Example 4\ntype: text/vnd.tiddlywiki\n\n<$testcase>\n<$data title=Description text=\"Template with override fields and custom base title\"/>\n<$data title=Narrative text=\"\"\"The $action-createtiddler widget in this example uses the basetitle attribute and template: [[ActionCreateTiddlerWidget Template]].\n\nThere will be new fields \"aa\" and \"bb\" which are added to the new tiddlers.\n\"\"\"/>\n<$data $tiddler=\"ActionCreateTiddlerWidget Template\"/>\n<$data title=Output text=\"\"\"\\procedure testCreate()\n<$action-createtiddler $basetitle=\"base\" $template=\"ActionCreateTiddlerWidget Template\" aa=\"new field aa\" bb=\"new field bb\" />\n\\end\n\n<$button actions=<<testCreate>> >\nCreate Tiddler\n</$button>\"\"\"/>\n</$testcase>"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/ActionCreateTiddlerWidget Example 5.tid",
    "content": "created: 20200131144828713\nmodified: 20240602155008453\ntags: ActionCreateTiddlerWidget\ntitle: ActionCreateTiddlerWidget Example 5\ntype: text/vnd.tiddlywiki\n\n<$testcase>\n<$data title=Description text=\"Child action widget uses the created tiddler title\"/>\n<$data title=Narrative text=\"\"\"The $action-createtiddler widget in this example uses the <<.var createTiddler-title>> variable to navigate to the created tiddler\"\"\"/>\n<$data $tiddler=\"ActionCreateTiddlerWidget Template\"/>\n<$data title=Output text=\"\"\"\\procedure testCreate()\n<$action-createtiddler  $basetitle=\"base\" $template=\"ActionCreateTiddlerWidget Template\">\n\t<$action-navigate $to=<<createTiddler-title>>/>\n</$action-createtiddler>\n\\end\n\n<$button actions=<<testCreate>> >\nCreate Tiddler\n</$button>\"\"\"/>\n</$testcase>"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/ActionCreateTiddlerWidget Template.tid",
    "content": "created: 20200131145608087\nmodified: 20211116192551162\ntags: test [[Widget Examples]]\ntitle: ActionCreateTiddlerWidget Template\ntype: text/vnd.tiddlywiki\nx: x\n\nThis is a tiddler used as a template in: [[ActionCreateTiddlerWidget Example 3]]"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/ActionCreateTiddlerWidget.tid",
    "content": "caption: action-createtiddler\ncreated: 20161020152745942\nmodified: 20240602153213986\ntags: Widgets ActionWidgets\ntitle: ActionCreateTiddlerWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nThe <<.wid \"action-createtiddler\">> widget is an [[action widget|ActionWidgets]] that creates new tiddlers. Action widgets are used within triggering widgets such as the ButtonWidget.\n\nThere are several //differences// from the [[tm-new-tiddler message|WidgetMessage: tm-new-tiddler]]:\n\n* The new tiddler is not automatically displayed in the [[story river|Story River]]\n* The title of the new tiddler is made available for subsequent operations\n\n! Content and Attributes\n\nThe ''action-createtiddler'' widget is invisible.\n\n|!Attribute |!Description |\n|$basetitle |The initial title that will be attempted. If a tiddler with that title already exists, then a numerical counter is added to the title and incremented until it is unique|\n|$savetitle |<<.deprecated-since \"5.1.20\" \"ActionCreateTiddlerWidget Example 5\">> A text reference identifying a field or index into which the title of the newly created tiddler will be stored after it is created |\n|$savedrafttitle |<<.deprecated-since \"5.1.20\" \"ActionCreateTiddlerWidget Example 5\">> A text reference identifying a field or index into which the draft title associated with the newly created tiddler will be stored after it is created. This is useful when using a sequence of action widgets to create a new tiddler, put it into edit mode, and position it within the list of its parent tag |\n|$timestamp |Specifies whether the timestamp(s) of the target tiddler will be updated (''modified'' and ''modifier'', plus ''created'' and ''creator'' for newly created tiddlers). Can be \"yes\" (the default) or \"no\" |\n|$template |<<.from-version \"5.1.22\">> The title of a template tiddler, that will be used to create a new tiddler |\n|$overwrite |<<.from-version \"5.1.22\">> If set to \"yes\", it will overwrite existing tiddlers. ''Be careful!'' |\n|//{any attributes not starting with $}// |Each attribute name specifies a field to be created in the new tiddler  |\n\n! Variables\n\n<<.from-version \"5.2.0\">> The content of the <<.wid \"action-createtiddler\">> widget is executed after the new tiddler has been created. The title of the newly created tiddler is stored in the variable <<.var \"createTiddler-title\">>.\n\n|!Variables |!Description |\n|`createTiddler-title` |The tittle of the tiddler that has been created. See [[ActionCreateTiddlerWidget Example 5]] |\n|`createTiddler-draftTitle` |This variable only exists to have feature parity with the deprecated parameters. It contains the title of a \"draft tiddler\" |\n\n! Examples\n\n<$list filter=\"[prefix[ActionCreateTiddlerWidget Example]]\">\n<$transclude/>\n</$list>"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/ActionCreateTiddlerWidget_Example.tid",
    "content": "created: 20161020153426686\nmodified: 20240602160452171\ntags: ActionCreateTiddlerWidget\ntitle: ActionCreateTiddlerWidget Example\ntype: text/vnd.tiddlywiki\n\n<$testcase>\n<$data title=Description text=\"Create a new page control button\"/>\n<$data title=Narrative text=\"\"\"Use the $action-createtiddler widget to create and open a new, non-functional page control button tiddler\"\"\"/>\n<$data title=Output text=\"\"\"\\procedure testCreate()\n<$action-createtiddler $basetitle=\"Homemade Button\" tags=\"$:/tags/PageControls\" text={{$:/state/new-button-caption}}>\n\t<$action-navigate $to=<<createTiddler-title>>/>\n</$action-createtiddler>\n\\end\n\n{{$:/core/ui/SideBarSegments/page-controls}}\n\nCaption for new button: <$edit-text tiddler=\"$:/state/new-button-caption\" tag=\"input\" default=\"\"/>\n\n<$button actions=<<testCreate>> >\nCreate Tiddler\n</$button>\"\"\"/>\n<$data title=\"$:/state/new-button-caption\" text=\"button text \"/>\n</$testcase>"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/ActionDeleteFieldWidget.tid",
    "content": "caption: action-deletefield\ncreated: 20141025120850184\nmodified: 20240608151322035\ntags: Widgets ActionWidgets\ntitle: ActionDeleteFieldWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nThe ''action-deletefield'' widget is an [[action widget|ActionWidgets]] that deletes specified fields of a tiddler. ActionWidgets are used within triggering widgets such as the ButtonWidget.\n\n! Content and Attributes\n\nThe ''action-deletefield'' widget is invisible. Any content within it is ignored.\n\n|!Attribute |!Description |\n|$tiddler |The title of the tiddler whose fields are to be modified (if not provided defaults to the [[current tiddler|Current Tiddler]]) |\n|$field |Optional name of a field to delete |\n|$timestamp |<<.from-version \"5.3.4\">> Specifies whether the timestamp(s) of the target tiddler will be updated (''modified'' and ''modifier'', plus ''created'' and ''creator'' for newly created tiddlers). Can be \"yes\" (the default) or \"no\" |\n|//{any attributes not starting with $}// |Each attribute name specifies a field to be deleted. The attribute value is ignored and need not be specified |\n\n! Examples\n\n<$testcase>\n<$data title=Description text=\"Delete currentTiddler fields using plain attributes\"/>\n<$data title=Narrative text=\"\"\"Use the $action-deletefield widget to delete the \"caption\" and \"tags\" fields of the current tiddler\"\"\"/>\n<$data title=Output caption=\"A caption\" tags=\"tag1 tag2 tag3\" text=\"\"\"Click\n<$button actions=\"<$action-deletefield caption tags/>\">\nDelete\n</$button>\nand watch the \"caption\" and \"tags\" field disappear.\"\"\"/>\n</$testcase>\n\n<$testcase>\n<$data title=Description text=\"Delete fields from a specific tiddler\"/>\n<$data title=Narrative text=\"\"\"Use the $action-deletefield widget to delete the \"list\" and \"tags\" fields of the tiddler ~HelloThere\"\"\"/>\n<$data $tiddler=\"HelloThere\"/>\n<$data title=Output text=\"\"\"Click HelloThere, then click\n<$button actions='<$action-deletefield $tiddler=\"HelloThere\" list tags/>'>\nDelete\n</$button>\nand watch the \"list\" and \"tags\" fields disappear\"\"\"/>\n</$testcase>\n\n<$testcase>\n<$data title=Description text=\"Delete field from a specific tiddler\"/>\n<$data title=Narrative text=\"\"\"Use the $field attribute of the $action-deletefield widget to delete the \"text\" field of the tiddler ~HelloThere\"\"\"/>\n<$data $tiddler=\"HelloThere\"/>\n<$data title=Output text=\"\"\"Click HelloThere, then click\n<$button actions='<$action-deletefield $tiddler=\"HelloThere\" $field=\"text\"/>'>\nDelete\n</$button>\nand watch the contents of the \"text\" field disappear\"\"\"/>\n</$testcase>\n\n<$testcase>\n<$data title=Description text=\"Delete a variable field name\"/>\n<$data title=Narrative text=\"\"\"Use the $field attribute of the $action-deletefield widget to delete a variable field name\"\"\"/>\n<$data title=Output description=\"This field will be deleted\" text=\"\"\"<$let fieldName=description>\nClick\n<$button actions=\"<$action-deletefield $field=<<fieldName>>/>\">\nDelete\n</$button>\nand watch the \"<<fieldName>>\" field disappear.\"\"\"/>\n</$let>\n</$testcase>\n\n<$testcase>\n<$data title=Description text=\"Delete field without updating timestamps\"/>\n<$data title=Narrative text=\"\"\"Use the $timestamp attribute of the $action-deletefield widget to prevent creation/change of \"modified\" and \"created\" fields\"\"\"/>\n<$data title=Output description=\"This field will be deleted\" text=\"\"\"Click\n<$button actions='<$action-deletefield $field=\"description\" $timestamp=\"no\"/>'>\nDelete\n</$button>\nand watch the \"description\" field disappear without the \"modified\" and \"created\" fields getting added\"\"\"/>\n</$testcase>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/ActionDeleteTiddlerWidget.tid",
    "content": "caption: action-deletetiddler\ncreated: 20141025120850184\nmodified: 20240608152211834\ntags: Widgets ActionWidgets\ntitle: ActionDeleteTiddlerWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nThe ''action-deletetiddler'' widget is an [[action widget|ActionWidgets]] that deletes tiddlers. ActionWidgets are used within triggering widgets such as the ButtonWidget.\n\nThere are several differences compared to the [[WidgetMessage: tm-delete-tiddler]]:\n\n* The user is not prompted to confirm the deletion\n* No automatic updating of the story list\n* No special handling of draft tiddlers\n\n! Content and Attributes\n\nThe ''action-deletetiddler'' widget is invisible. Any content within it is ignored.\n\n|!Attribute |!Description |\n|$tiddler |Optional title of the tiddler to be deleted |\n|$filter |Optional filter identifying tiddlers to be deleted |\n\n! Examples\n\n<$testcase>\n<$data title=Description text=\"Delete a specific tiddler\"/>\n<$data title=Narrative text=\"\"\"Use the $tiddler attribute of the $action-deletefield widget to delete the \"~HelloThere\" tiddler\"\"\"/>\n<$data $tiddler=\"HelloThere\"/>\n<$data title=Output text=\"\"\"<$button actions=\"<$action-deletetiddler $tiddler=HelloThere/>\">\nDelete \"~HelloThere\"\n</$button>\"\"\"/>\n</$testcase>\n\n<$testcase>\n<$data title=Description text=\"Delete tiddlers matching a filter\"/>\n<$data title=Narrative text=\"\"\"Use the $filter attribute of the $action-deletefield widget to delete all tiddlers tagged \"~TableOfContents\" \"\"\"/>\n<$data $filter=\"[tag[TableOfContents]]\"/>\n<$data title=Output text=\"\"\"<$button actions='<$action-deletetiddler $filter=\"[tag[TableOfContents]]\"/>'>\nDelete tiddlers tagged \"~TableOfContents\"\n</$button>\"\"\"/>\n</$testcase>"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/ActionListopsWidget.tid",
    "content": "caption: action-listops\ncreated: 20141025120850184\nmodified: 20240509135041526\nmyfield: \ntags: ActionWidgets Widgets\ntitle: ActionListopsWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nThe ''action-listops'' widget is an [[action widget|ActionWidgets]] that manipulates user lists in any field or data index. ActionWidgets are used within triggering widgets such as the ButtonWidget.\n\n! Content and Attributes\n\nThe ''action-listops'' widget is invisible. Any content within it is ignored.\n\n|!Attribute |!Description |\n|$tiddler |The title of the tiddler whose lists are to be modified (if not provided defaults to the [[current tiddler|Current Tiddler]]) |\n|$field |The name of a field to be manipulated as a list (defaults to 'list') |\n|$index |Optional index of a property in a [[data tiddler|DataTiddlers]] index to be manipulated as a list |\n|$filter |An optional filter expression, the output of which will be saved to the field/index being manipulated |\n|$subfilter |An optional subfilter expression, which takes the list being manipulated as input, and saves the modified list back to the field/index being manipulated |\n|$tags |An optional subfilter expression, which takes the <<.field tags>> field of the target tiddler as input, and saves the modified list of tags back to the <<.field tags>> field |\n\n!! Note on subfilter expressions\n\nIf the manipulation depends on the current contents of the list, e.g. when using the <<.olink toggle>> operator to toggle the presence of an element, the [[Filter Run]] would be prefixed with the `+` / `:and` [[filter run prefix|Filter Expression]] so that it properly receives the list as input. \n\n```\n<$action-listops $subfilter=\"+[toggle[List Item]]\"/>\n```\n\nThe above widget will toggle the presence of the element <<.value \"List Item\">> in the field <<.field list>> of the current tiddler, removing or adding the element as necessary.\n\nSimilarly, if an element is to always be removed when it is present, the `-` / `:except` [[filter run prefix|Filter Expression]] can be used. Both of the following yield the same result:\n\n```\n<$action-listops $subfilter=\"-[[ListItem]]\"/>\n<$action-listops $subfilter=\"+[remove[ListItem]]\"/>\n```\n\n<<.infoBox \"\"\"Note that the parameter of the [[remove Operator]] is a [[Title List]]. To remove one or more titles containing spaces the individual titles must be wrapped in double square brackets, usually via a soft [[Filter Parameter]]. See //Filtered List Variable Assignment// in the [[SetWidget]] documentation to learn more.\"\"\">>\n\nWithout any prefixes, the filter run output is simply [[dominantly appended|Dominant Append]] to the list.\n\nSee also the [[Examples|ActionListopsWidget (Examples)]].\n\n\n!! Using $filter or $subfilter\n\nStandalone use of the `$subfilter` attribute can be replaced by using a (more complicated) `$filter` attribute value.\n\nFor example, the items \"abc\" and \"123\" can be appended to the field `myfield` using the `$subfilter` attribute:\n\n```\n<$action-listops $field=\"myfield\" $subfilter=\"abc 123\"/>\n```\n\nThe same can be achieved using the `$filter` attribute and prepending the [[Filter Run]] `[enlist{!!myfield}]` to the [[Filter Expression]]:\n\n```\n<$action-listops $field=\"myfield\" $filter=\"[enlist{!!myfield}] abc 123\"/>\n```\n\nThe short form is more convenient, but the long form is useful for live-debugging complicated `$subfilter` values using the filter tab of [[$:/AdvancedSearch]]. By using [[$:/AdvancedSearch]], the [[Filter Expression]] can be tested before using ''action-listops'' to modify actual tiddler fields. For this use case, the `all[current]` portion of the expression needs to be changed to select the proper test tiddler.\n\n!! Using $tags or $subfilter\n\n[[Tagging]] is implemented using a tiddler's 'tags' field, so appending the tags \"abc\" and \"123\" using the `$tags` attribute like this:\n\n```\n<$action-listops $tags=\"abc 123\"/>\n```\n\nis mostly equivalent to using `$subfilter` along with \"tags\" for the value of `$field`:\n\n```\n<$action-listops $field=\"tags\" $subfilter=\"abc 123\"/>\n```\n\n!! Comparison to [[ActionSetFieldWidget]]\n\nIn general, ActionSetFieldWidget is better for setting multiple fields at once and for replacing the value of a field, which can also be a list. The ActionListopsWidget is better for modifying a list field based on the existing list and for using a [[Filter Expression]] to derive the value of the field.\n\nThe ~ActionSetFieldWidget sets the value of a field using `$field` and `$value` attribute pairs or attributes that do not start with a `$`. A single ~ActionSetFieldWidget can be used to set any number of fields of a single tiddler.\n\nThe ~ActionListopsWidget replaces or modifies a single field's value using filter expressions.\n\nThe following widgets are functionally equivalent:\n\n```\n<$action-setfield $field=\"myfield\" $value=\"abc 123\"/>\n<$action-setfield myfield=\"abc 123\"/>\n<$action-listops $field=\"myfield\" $filter=\"abc 123\"/>\n```\nNote that <<.value \"abc 123\">> in the first two cases is a literal string that is assigned to the field <<.field myfield>>, but in the third case a filter expression which evaluates to the same string.\n\n!! Extended Filter Operators\n\nA number of [[Extended Listops Filters]] are necessary for the manipulation of lists. These operators have been designed primarily for use in subfilter expressions whereby the modified current list is returned in place of the current list.\n\n!! Notes on de-duplication\n\nIn some cases, there may occur unexpected de-duplication of lists.\n\n!!! Assignments to the <<.field list>> field\n\nWhen assigning filter results to the <<.field list>> field (default), the generated list is automatically de-duplicated, so\n\n```\n<$action-listops $filter=\"[[1]] :and[[1]]\"/>\n```\nwill result in the <<.field list>> field of the current tiddler containing the string <<.value 1>>, but not <<.value \"1 1\">>.\n\n!!! Input to the subfilter expression\n\nThe input to the subfilter expression in the `$subfilter` attribute is also de-duplicated. If you rely on lists containing duplicates, consider using this alternative using the `$filter` attribute:\n\n<$macrocall $name='wikitext-example-without-html'\nsrc=\"\"\"<$button>\n<$action-listops $field=\"myfield\" $filter=\"[enlist:raw{!!myfield}] :all[[abc]]\" />\nAdd 'abc' to 'myfield'\n</$button>\n\n<$list filter=\"[enlist:raw{!!myfield}]\" template=\"$:/core/ui/ListItemTemplate\" />\n\"\"\"/>\nThe [[enlist Operator]] with `raw` suffix will enlist the list saved in <<.field myfield>> of the current tiddler without de-duplication, while e.g. the [[list Operator]] will always de-duplicate. The widget then adds the item <<.value abc>> -- whether or not it is already included in the list -- and replaces the original list in <<.field myfield>>.\n\n\n! [[Examples|ActionListopsWidget (Examples)]]"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/ActionLogWidget.tid",
    "content": "caption: action-log\ncreated: 20201114113318785\nmodified: 20260105121108063\ntags: Widgets ActionWidgets [[Debugging Widgets]]\ntitle: ActionLogWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\n<<.from-version \"5.1.23\">> The <<.wid action-log>> widget is an [[action widget|ActionWidgets]] that can be used to output debugging information to the [[JavaScript console|Web Developer Tools]] supported by most browsers. This can be useful to observe and debug the behavior within a sequence of actions.\n\nWhen the action is invoked, the names and values of all [[attributes|Widget Attributes]] are logged to the JavaScript console.\n\n```\n<$action-log name=value />\n```\n\nActionWidgets are used within triggering widgets such as the ButtonWidget.\n\n<<.note \"\"\" For debugging outside of actions see [[LogWidget]]\"\"\">>\n\n! Content and Attributes\n\nThe <<.wid action-log>> widget is invisible. Any content within it is ignored.\n\n<<.from-version \"5.4.0\">> Any [[multi-valued variables|Multi-Valued Variables]] or attributes are logged as a list of values.\n\n|!Attribute |!Description |\n|<<.attr $$filter>>|(Optional) All variables whose name matches the [[Filter Expression]] will be logged |\n|<<.attr $$message>> |(Optional) A message to display as the title of the information logged. Useful when several <<.wid action-log>> widgets are used in sequence |\n|<<.attr $$all>> |(Optional) Set to <<.value yes>> to log all variables |\n\n<<.note \"\"\" If `<$action-log />` is called without any attributes, all defined variables will be logged as if `$$all=yes` were set.\"\"\">>\n\n<<.note \"\"\"When logging [[Variable Attribute Values]], the body text of macros and procedures will be output as their value. Functions are evaluated and their first result is logged.\"\"\">>\n\n! Examples\n\n!! Basic Example\n\nLog the value of variable <<.var name>>, the first result of the filter expression `[tag[Learning]]` and the value of field <<.field created>> of the current tiddler:\n\n```\n<$action-log name=<<name>> filter={{{ [tag[Learning]] }}} created={{!!created}} />\n```\n\n!! Example using <<.attr $$filter>> and <<.attr $$message>> \n\nLog all core variables (which start with <<.var tv->>) with a table title:\n\n```\n<$action-log $$message=\"Core Variables\" $$filter=\"[prefix[tv-]]\" />\n```\n\n!! Widget Debugging\n\nChange a misbehaving <<.wlink ActionSetFieldWidget>> widget to an <<.wid action-log>> widget to verify that <<.var currentTiddler>> and <<.var value>> match their expected values:\n\n<<.tip \"\"\"If an action widget is not behaving as expected it is often useful to temporarily change it to an <<.wid action-log>> widget so that the passed attributes can be verified.\"\"\">>\n\n```\n<$action-log $tiddler=<<currentTiddler>> $field=\"text\" $value=<<value>> />\n```\n\nThis application is the primary reason that the attributes of the <<.wid action-log>> widget are prefixed with two dollar signs instead of one. Otherwise, the attributes of the original widget could be interpreted as attributes to <<.wid action-log>> and lead to unintended consequences.\n\n!! Example with Function\n\nLog the <<.var tiddlerList>> function definition and its first evaluation result:\n\n```\n\\function tiddlerList() [tag[Learning]]\n\n<$action-log $$filter=\"[title[tiddlerList]]\" value=<<tiddlerList>> />\n```\n\n<<.note \"\"\"The values output with the <<.attr $$filter>> or <<.attr $$all>> attributes will only contain the definition of functions instead of their values, as the evaluation of many functions can lead to significant performance penalties.\"\"\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/ActionNavigateWidget.tid",
    "content": "caption: action-navigate\ncreated: 20141008163514491\nmodified: 20150220162057000\ntags: Widgets ActionWidgets\ntitle: ActionNavigateWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nThe ''action-navigate'' widget is an [[action widget|ActionWidgets]] that sends a [[tm-navigate|WidgetMessage: tm-navigate]] message back up the widget tree. ActionWidgets are used within triggering widgets such as the ButtonWidget.\n\n! Content and Attributes\n\nThe ''action-navigate'' widget is invisible. Any content within it is ignored.\n\n|!Attribute |!Description |\n|$to |The title of the target tiddler for the navigation (if not provided defaults to the [[current tiddler|Current Tiddler]] |\n|$scroll |Optional parameter determining whether the navigation will also cause a scroll to the target tiddler (see below) |\n\n!! Scroll handling\n\nThe optional `$scroll` attribute can be set to \"yes\" to force scrolling to occur to bring the target tiddler into view. If set to \"no\" then scrolling does not occur. If the `$scroll` attribute is omitted then scrolling occurs unless either:\n\n* the control key is pressed\n* the action was initiated with the middle mouse button (if available)\n\nNote that if navigating to multiple tiddlers at once you should use the same `$scroll` setting for all of them.\n\n! Examples\n\nHere is an example of button that navigates to two different tiddlers at once:\n\n<$macrocall $name='wikitext-example-without-html'\nsrc='<$button>\n<$action-navigate $to=\"ButtonWidget\"/>\n<$action-navigate $to=\"ActionWidgets\"/>\nClick me!\n</$button>'/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/ActionPopupWidget.tid",
    "content": "caption: action-popup\ncreated: 20200303114556528\nmodified: 20230731193016105\ntags: Widgets ActionWidgets\ntitle: ActionPopupWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nThe ''action-popup'' widget is an [[action widget|ActionWidgets]] that triggers the display of a popup defined via a state tiddler, or clears all displayed popups. ActionWidgets are used within triggering widgets such as the ButtonWidget.\n\n! Content and Attributes\n\nThe ''action-popup'' widget is invisible. Any content within it is ignored.\n\n|!Attribute |!Description |\n|$state |The title of the state tiddler for the popup |\n|$coords |Optional coordinates for the handle to which popup is positioned (see [[Coordinate Systems]] for the supported formats) |\n|$floating |<<.from-version \"5.2.0\">> Optional. Defaults to `no`. Set to `yes` to create a popup that must be closed explicitly. |\n\n<<.from-version \"5.1.23\">> If the ''$coords'' attribute is missing or empty then all popups are cancelled.<br/>\n<<.from-version \"5.2.4\">> The ''$coords'' attribute supports absolute and relative coordinates. See [[Coordinate Systems]] for more information.\n\n<<.tip \"Delete the state tiddler for a floating popup to close it.\">>\n\n! Examples\n\nHere is an example of button that triggers the \"more\" button in the sidebar \"Tools\" tab. You may need to scroll to see the popup\n\n<$macrocall $name='wikitext-example-without-html'\nsrc='<$button>\n<$action-setfield $tiddler=\"$:/state/tab/sidebar--595412856\" $value=\"$:/core/ui/SideBar/Tools\"/>\n<$action-popup $state=\"$:/state/popup/more--810643385\" $coords=\"(0,20,0,0)\"/>\nClick me!\n</$button>'/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/ActionSendMessageWidget.tid",
    "content": "caption: action-sendmessage\ncreated: 20141008134309742\nmodified: 20211023160110220\ntags: Widgets ActionWidgets\ntitle: ActionSendMessageWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nThe ''action-sendmessage'' widget is an [[action widget|ActionWidgets]] that sends a [[message|Messages]] back up the widget tree. ActionWidgets are used within triggering widgets such as the ButtonWidget.\n\n! Content and Attributes\n\nThe ''action-sendmessage'' widget is invisible. Any content within it is ignored.\n\n|!Attribute |!Description |\n|$message |The message to send (eg, [[WidgetMessage: tm-new-tiddler]]) |\n|$param |Optional parameter string whose meaning is dependent on the message being sent |\n|$name |Optional name of additional parameter |\n|$value |Value for optional parameter whose name is specified in `$name` |\n|$names |<<.from-version \"5.2.1\">> Optional filter evaluating to a list of additional parameter names |\n|$values |<<.from-version \"5.2.1\">> Optional filter evaluating to a list of parameter values corresponding to the parameters names specified in `$names` |\n|//{any attributes not starting with $}// |Multiple additional, optional named parameters that are attached to the message |\n\n! Examples\n\nHere is an example of button that displays both a notification and a wizard, and creates a new tiddler with tags and text:\n\n<$macrocall $name='wikitext-example-without-html'\nsrc='<$button>\n<$action-sendmessage $message=\"tm-modal\" $param=\"SampleWizard\"/>\n<$action-sendmessage $message=\"tm-notify\" $param=\"SampleNotification\"/>\n<$action-sendmessage $message=\"tm-new-tiddler\" title=\"This is newly created tiddler\" tags=\"OneTag [[Another Tag]]\" text=<<now \"Today is DDth, MMM YYYY\">>/>\nClick me!\n</$button>'/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/ActionSetFieldWidget.tid",
    "content": "caption: action-setfield\ncreated: 20141025120850184\nmodified: 20250322010115457\ntags: Widgets ActionWidgets\ntitle: ActionSetFieldWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nThe ''action-setfield'' widget is an [[action widget|ActionWidgets]] that assigns values to the fields of a tiddler. ActionWidgets are used within triggering widgets such as the ButtonWidget.\n\n! Content and Attributes\n\nThe ''action-setfield'' widget is invisible. Any content within it is ignored.\n\n|!Attribute |!Description |\n|$tiddler |The title of the tiddler whose fields are to be modified (if not provided defaults to the [[current tiddler|Current Tiddler]]) |\n|$field |Optional name of a field to be assigned the $value attribute |\n|$index |Optional index of a property in a [[data tiddler|DataTiddlers]] to be assigned the $value attribute|\n|$value |The value to be assigned to the field or index identified by the $field or $index attribute. If neither is specified then the value is assigned to the text field. If no value is specified, $field or $index will be deleted.|\n|$timestamp |Specifies whether the timestamp(s) of the target tiddler will be updated (''modified'' and ''modifier'', plus ''created'' and ''creator'' for newly created tiddlers). Can be \"yes\" (the default) or \"no\" |\n|//{any attributes not starting with $}// |Each attribute name specifies a field to be modified with the attribute value providing the value to assign to the field  |\n\n! Examples\n\nHere is an example of a pair of buttons that open the control panel directly to specified tabs. They work by using ''action-setfield'' to set the state tiddler for the control panel tabs.\n\n<$macrocall $name='wikitext-example-without-html'\nsrc='<$button>\n<$action-setfield $tiddler=\"$:/state/tab-1749438307\" text=\"$:/core/ui/ControlPanel/Appearance\"/>\n<$action-navigate $to=\"$:/ControlPanel\"/>\nGo to Control Panel \"Appearance\" tab\n</$button>\n\n<$button>\n<$action-setfield $tiddler=\"$:/state/tab-1749438307\" text=\"$:/core/ui/ControlPanel/Settings\"/>\n<$action-navigate $to=\"$:/ControlPanel\"/>\nGo to Control Panel \"Settings\" tab\n</$button>'/>\n\nHere is an example of a button that assigns tags and fields to the tiddler HelloThere, and then navigates to it and opens the tiddler info panel on the \"Fields\" tab:\n\n<$macrocall $name='wikitext-example-without-html'\nsrc='<$button>\n<$action-setfield $tiddler=\"HelloThere\" tags=\"NewTag [[Another New Tag]]\" color=\"red\"/>\n<$action-setfield $tiddler=\"$:/state/popup/tiddler-info--1779055697\" text=\"(568,1443,33,39)\"/>\n<$action-setfield $tiddler=\"$:/state/tab--1890574033\" text=\"$:/core/ui/TiddlerInfo/Fields\"/>\n<$action-navigate $to=\"HelloThere\"/>\nModify ~HelloThere\n</$button>'/>\n\nHere is an example of a button that assigns tags and fields to the tiddler HelloThere, and then initiates editing it:\n\n<$macrocall $name='wikitext-example-without-html'\nsrc='<$button>\n<$action-setfield $tiddler=\"HelloThere\" tags=\"MoreTag [[Further More Tags]]\" color=\"green\"/>\n<$action-sendmessage $message=\"tm-edit-tiddler\" $param=\"HelloThere\"/>\nEdit ~HelloThere\n</$button>'/>\n\nHere is an example of a button that opens the control panel directly to the \"Appearance\" tabs:\n\n<$macrocall $name='wikitext-example-without-html'\nsrc='<$button>\n<$action-setfield $tiddler=\"$:/state/tab-1749438307\" $field=\"text\" $value=\"$:/core/ui/ControlPanel/Appearance\"/>\n<$action-navigate $to=\"$:/ControlPanel\"/>\nGo to Control Panel \"Appearance\" tab\n</$button>'/>\n\nHere is an example of a button that will update the value of an existing field in a tiddler\n<$macrocall $name='wikitext-example-without-html'\nsrc='<$button>\n<$action-setfield $tiddler=\"Test\" existing_field_name=\"new field value\"/>\nUpdate Field existing_field_name in tiddler Test\n</$button>'/>"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/ActionSetMultipleFieldsWidget.tid",
    "content": "caption: action-setmultiplefields\ncreated: 20211023160110220\nmodified: 20211023160110220\ntags: Widgets ActionWidgets\ntitle: ActionSetMultipleFieldsWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nThe ''action-setmultiplefields'' widget is an [[action widget|ActionWidgets]] that assigns multiple fields to a tiddler where the names and values of the fields are specified as separate filters. ActionWidgets are used within triggering widgets such as the ButtonWidget.\n\n! Content and Attributes\n\nThe ''action-setmultiplefields'' widget is invisible. Any content within it is ignored.\n\n|!Attribute |!Description |\n|$tiddler |Optional title of the tiddler to modify (defaults to the current tiddler) |\n|$fields |Optional filter evaluating to the names of a list of fields to assign. Either `$fields` or `$indexes` must be specified  |\n|$indexes |Optional filter evaluating to the names of a list of indexes to assign. Either `$fields` or `$indexes` must be specified |\n|$values |Filter evaluating to the values to be assigned to the fields or indexes |\n|$timestamp |Specifies whether the timestamp(s) of the target tiddler will be updated (''modified'' and ''modifier'', plus ''created'' and ''creator'' for newly created tiddlers). Can be \"yes\" (the default) or \"no\" |\n\n! Examples\n\nHere is an example of button that uses the data in [[Days of the Week]] to assign fields `day-Monday`, `day-Tuesday` etc. to the tiddler \"HelloThere\":\n\n<$macrocall $name='wikitext-example-without-html'\nsrc='<$button>\n<$action-setmultiplefields $tiddler=\"HelloThere\" $fields=\"[list[Days of the Week]addprefix[day-]]\" $values=\"[list[Days of the Week]]\"/>\nClick me!\n</$button>'/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/ActionWidget Execution Modes.tid",
    "content": "created: 20211003094722447\nmodified: 20211116193245990\ntags: Widgets\ntitle: ActionWidget Execution Modes\n\n<<.from-version \"5.2.0\">> The default behaviour of action widgets has some peculiarities that often cause confusion. There is now an improved mode that simplifies how things work, but due to BackwardsCompatibility constraints, it must be explicitly engaged in order to take advantage of it.\n\nThe peculiarities relate to the way that the results of previous action widgets are available to subsequent action widgets. By default, action widgets are refreshed before each execution which ensure that they reflect the results of previous actions. However, ordinary widgets are not updated in the same way.\n\nIn the following contrived example, a button triggers a series of actions that should result in the string `foo` being assigned to the ''text'' field of the tiddler ActionTestTiddler. However, it fails to produce the expected result because the `<$set>` widget is not refreshed with the new value of ActionTestTiddler after the execution of the first `<$action-setfield>` widget.\n\n\n<$macrocall $name='wikitext-example-without-html'\nsrc='\\define actions()\n<$action-setfield $tiddler=\"ActionTestTiddler\" $field=\"text\" $value=\"FOO\"/>\n<$set name=\"newvalue\" value={{{ [{ActionTestTiddler}lowercase[]] }}}>\n<$action-setfield $tiddler=\"ActionTestTiddler\" $field=\"text\" $value=<<newvalue>>/>\n</$set>\n\\end\n\nCurrent value of ActionTestTiddler: {{ActionTestTiddler}}\n\n<$button actions=<<actions>>>\nClick me\n</$button>'/>\n\nThe new behaviour avoids these problems by refreshing all widgets before execution, not just action widgets. It is engaged by running the actions in a scope that includes the variable `tv-action-refresh-policy` set to the value `always`.  (The default value for `tv-action-refresh-policy` is `once`).\n\nThe assignment can be done within an action string, or via a local variable declaration containing the widget triggering the action.\n\n<<.warning \"Do not attempt to set `tv-action-refresh-policy` globally; the core will only work correctly with the default setting\">>\n\nThe example above works as expected with the addition of `tv-action-refresh-policy`:\n\n<$macrocall $name='wikitext-example-without-html'\nsrc='\\define tv-action-refresh-policy() always\n\n\\define actions()\n<$action-setfield $tiddler=\"ActionTestTiddler\" $field=\"text\" $value=\"FOO\"/>\n<$set name=\"newvalue\" value={{{ [{ActionTestTiddler}lowercase[]] }}}>\n<$action-setfield $tiddler=\"ActionTestTiddler\" $field=\"text\" $value=<<newvalue>>/>\n</$set>\n\\end\n\nCurrent value of ActionTestTiddler: {{ActionTestTiddler}}\n\n<$button actions=<<actions>>>\nClick me\n</$button>'/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/ActionWidgets.tid",
    "content": "created: 20141008134425548\nmodified: 20211031172913375\ntags: Widgets\ntitle: ActionWidgets\ntype: text/vnd.tiddlywiki\n\nAction widgets are a special type of widget that have no visual appearance but perform an action when triggered (such as sending a message, navigating to a tiddler, or changing the value of a tiddler). Action widgets are used in association with other widgets that [[trigger those actions|TriggeringWidgets]] (for example, the ButtonWidget).\n\nThe following action widgets are provided:\n\n<<list-links \"[tag[ActionWidgets]]\">>\n\nThere are two ways to use action widgets:\n\n* Placing them within an action string attribute (typically called `actions`) on the triggering widget (this is the preferred way)\n* Embedding the actions within the triggering widget (an older technique that is now deprecated)\n\n!! Using action string attributes\n\nThe action widgets are passed as a string to the `actions` attribute of the [[triggering widget|TriggeringWidgets]]. Usually, it is more convenient to use a macro to assign the action widgets to a variable. For example, here is a button that triggers two actions of sending different messages:\n\n```\n\\define my-actions()\n<$action-sendmessage $message=\"tm-home\"/>\n<$action-sendmessage $message=\"tm-full-screen\"/>\n\\end\n\n<$button actions=<<my-actions>>>\nClick me!\n</$button>\n```\n\n!! Directly embedding action widgets\n\nThe action widgets need not be immediate children of their [[triggering widget|TriggeringWidgets]], but they must be descendents of it. The actions are performed in sequence. Here is the above example rewritten to use embedding:\n\n```\n<$button>\n<$action-sendmessage $message=\"tm-home\"/>\n<$action-sendmessage $message=\"tm-full-screen\"/>\nClick me!\n</$button>\n```\n\n! Action Execution Modes\n\n{{ActionWidget Execution Modes}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/BrowseWidget.tid",
    "content": "caption: browse\ncreated: 20131024141900000\nmodified: 20231113093304323\ntags: Widgets\ntitle: BrowseWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nThe browse widget displays an HTML file browser button that allows the user to choose one or more files to import. It sends a [[WidgetMessage: tm-import-tiddlers]] carrying a JSON representation of the tiddlers imported from the files up through its parents. This message is usually handled by the NavigatorWidget which adds the tiddlers to the store and updates the story to display them.\n\n! Content and Attributes\n\nThe content of the <<.wid BrowseWidget>> widget is ignored.\n\n|!Attribute |!Description |\n|multiple |Set to \"multiple\" to select multiple file upload |\n|deserializer |<<.from-version \"5.1.15\">> Optional name of deserializer to be used (by default the deserializer is derived from the file extension or type) |\n|tooltip |Optional tooltip text |\n|accept |<<.from-version \"5.1.23\">> Optional comma delimited [[list of file accepted extensions|https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#Unique_file_type_specifiers]] and/or MIME types |\n|message |Optional override of widget message to be generated. The files will be passed in the JavaScript object `event.target.files` |\n|param |Optional parameter to be passed with the custom message |\n|disabled |<<.from-version \"5.3.7\">> Optional. Set to \"yes\" to disable file browser. Defaults to \"no\". |\n|tabindex |<<.from-version \"5.3.7\">> Optional. Sets the `tabindex` attribute of the HTML select element to the given value |\n|data-* |<<.from-version \"5.3.2\">> Optional [[data attributes|https://developer.mozilla.org/en-US/docs/Learn/HTML/Howto/Use_data_attributes]] to be assigned to the HTML element |\n|style.* |<<.from-version \"5.3.2\">> Optional [[CSS properties|https://developer.mozilla.org/en-US/docs/Web/CSS/Reference]] to be assigned to the HTML element |\n\nOn iPhone/iPad choosing the multiple option will remove the ability to take photographs/videos directly into TiddlyWiki.\n\n''e.g.''\n\n```\n<$browse/>\n```\n\nrenders as:\n\n<$browse/>\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/ButtonWidget.tid",
    "content": "caption: button\ncreated: 20131024141900000\nmodified: 20251101091926820\ntags: Widgets TriggeringWidgets\ntitle: ButtonWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nThe button widget displays an HTML `<button>` element that can perform a combination of optional actions when clicked:\n\n* Executing any ActionWidgets passed in the `actions` attribute, which is the preferred approach\n* Executing any ActionWidgets that are immediate children of the button widget, which is now deprecated in favour of using the `actions` attribute\n* Execute any integrated actions:\n** Navigate to a specified tiddler\n** Dispatch a user defined [[widget message|Core Messages]]\n** Trigger a user defined [[popup|PopupMechanism]]\n** Assign new text to a specified tiddler\n\nThe integrated actions are provided as a shortcut for invoking common actions. The same functionality is available via ActionWidgets, with the exception of the support for highlighting selected popups.\n\n! Content and Attributes\n\nThe content of the `<$button>` widget is displayed within the button.\n\n|!Attribute |!Description |\n|actions |A string containing ActionWidgets to be triggered when the key combination is detected. <<.from-version \"5.1.23\">> the <<.def \"modifier\">> variable lists the modifier keys that are pressed when the action is invoked. The possible modifiers are ''ctrl'', ''ctrl-alt'', ''ctrl-shift'', ''alt'', ''alt-shift'', ''shift'' and ''ctrl-alt-shift'' |\n|to |The title of the tiddler to navigate to |\n|message |The name of the [[widget message|Messages]] to send when the button is clicked |\n|param |The optional parameter to the message |\n|set |A TextReference to which a new value will be assigned |\n|setTitle |A title to which a new value will be assigned, ''without'' TextReference. Gets preferred over <<.attr set>> |\n|setField |A ''field name'' to which the new value will be assigned, if the attribute <<.attr setTitle>> is present. Defaults to the ''text'' field |\n|setIndex |An ''index'' to which the new value will be assigned, if the attribute <<.attr setTitle>> is present |\n|setTo |The new value to assign to the TextReference identified in the `set` attribute or the text field / the field specified through <<.attr setField>> / the index specified through <<.attr setIndex>> of the title given through <<.attr setTitle>> |\n|selectedClass |An optional additional CSS class to be assigned if the popup is triggered or the tiddler specified in <<.attr set>> already has the value specified in <<.attr setTo>>  |\n|selectedAria |<<.from-version \"5.4.0\">> An ARIA attribute to be set to `true` or `false` when <<.attr selectedClass>> is defined. Allowed values are `aria-checked` (default), `aria-selected` and `aria-pressed`  |\n|default |Default value if <<.attr set>> tiddler is missing for testing against <<.attr setTo>> to determine <<.attr selectedClass>> |\n|popup |Title of a state tiddler for a popup that is toggled when the button is clicked. See PopupMechanism for details |\n|popupTitle |Title of a state tiddler for a popup that is toggled when the button is clicked. In difference to the <<.attr popup>> attribute, ''no'' TextReference is used. See PopupMechanism for details |\n|popupAbsCoords |<<.from-version \"5.2.4\">> If set to ''yes'' writes absolute coordinates to the tiddler referenced by the <<.attr popup>>. If set to ''no'' (the default) uses relative coordinates. See [[Coordinate Systems]] for details |\n|aria-label |Optional [[Accessibility]] label |\n|role |<<.from-version \"5.2.3\">> Optional [[ARIA role|https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Reference/Roles]] |\n|tooltip |Optional tooltip |\n|class |An optional CSS class name to be assigned to the HTML element|\n|data-* |<<.from-version \"5.3.2\">> Optional [[data attributes|https://developer.mozilla.org/en-US/docs/Learn/HTML/Howto/Use_data_attributes]] to be assigned to the HTML element |\n|style.* |<<.from-version \"5.3.2\">> Optional [[CSS properties|https://developer.mozilla.org/en-US/docs/Web/CSS/Reference]] to be assigned to the HTML element |\n|aria-* |<<.from-version \"5.4.0\">> Optional [[ARIA attributes|https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Reference/Attributes]]. |\n|style |An optional CSS style attribute to be assigned to the HTML element |\n|tag |An optional html tag to use instead of the default \"button\" |\n|dragTiddler |An optional tiddler title making the button draggable and identifying the payload tiddler. See DraggableWidget for details |\n|dragFilter |An optional filter making the button draggable and identifying the list of payload tiddlers. See DraggableWidget for details |\n|tabindex |Sets the `tabindex` attribute of the button to the given value |\n|disabled|<<.from-version \"5.1.23\">> Optional, disables the button if set to \"yes\". Defaults to \"no\"|\n\n''Note:'' In almost all other cases where a TextReference is used as a widget attribute, it will be placed between curly brackets, to [[transclude|Transclusion in WikiText]] the value currently stored there. However, when we use a TextReference as the value of a button widget's <<.attr set>> attribute, we are referencing //the storage location itself//, rather than the value stored there, so we do ''not'' use curly brackets there. //Example:// we could code a button widget that sets the `caption` field of TiddlerA to be the same as that of TiddlerB as:\n\n<<.tip \"\"\"<$macrocall $name=\".from-version\" version=\"5.1.18\"/> <$macrocall $name=\".attr\" _=\"setTitle\"/>, <$macrocall $name=\".attr\" _=\"setField\"/> and <$macrocall $name=\".attr\" _=\"setIndex\"/> attributes allow specifying Tiddler states ''directly'', without interpreting them as [[TextReferences|TextReference]].\nThis is useful for edge-cases where titles may contain characters that are used to denote Tiddler fields or indices (`!!`, `##`)\"\"\">>\n\n```\n<$button set=\"TiddlerA!!caption\" setTo={{TiddlerB!!caption}} >\n\nPress me!\n\n</$button>\n```\n\n''Tip:'' Set ''class'' to `tc-btn-invisible tc-tiddlylink` to have a button look like an internal link.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/CheckboxWidget (field Mode).tid",
    "content": "caption: <<.attr field>>\ncreated: 20230314171223911\ndescription: tab\nmodified: 20230317161110431\ntags: CheckboxWidget\ntitle: CheckboxWidget (field Mode)\n\n!!<<.link \"<<.attr field>> Mode\" \"CheckboxWidget (field Mode)\">>\n\nUsing the checkbox widget in field mode requires the <<.attr field>> attribute to specify the name of the field. The <<.attr checked>> and <<.attr unchecked>> attributes specify the values to be assigned to the field to correspond to its checked and unchecked states respectively. The <<.attr default>> attribute is used as a fallback value if the field is missing or contains a value that does not correspond to the value of the <<.attr checked>> or <<.attr unchecked>> attributes.\n\nThis example creates a checkbox that is checked if the field <<.field status>> is equal to <<.value open>> and unchecked if the field is equal to <<.value closed>>. If the field value is undefined then it defaults to <<.value closed>>.\n\n<<wikitext-example-without-html \"\"\"<$checkbox field=\"status\" checked=\"open\" unchecked=\"closed\" default=\"closed\"> Is it open?</$checkbox>\n\n''status:'' {{!!status}}\"\"\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/CheckboxWidget (filter Mode).tid",
    "content": "caption: <<.attr filter>>\ncreated: 20230314174505003\ndescription: tab\nmodified: 20230325101447667\ntags: CheckboxWidget\ntitle: CheckboxWidget (filter Mode)\n\n!!<<.link \"<<.attr filter>> Mode\" \"CheckboxWidget (filter Mode)\">>\n\nUsing the checkbox widget in filter mode requires the <<.attr filter>> attribute to contain a filter whose output will determine the checked state of the checkbox. In filter mode, checking the checkbox will not automatically make changes to any field of any tiddler. Instead, you can use the <<.attr actions>> attribute (or the <<.attr checkactions>> and <<.attr uncheckactions>> attributes) to specify what should happen when the checkbox is toggled. It is your responsibility to make sure the actions cause changes to the tiddlers or fields that the filter results depend on, so that the checkbox becomes properly checked or unchecked after the actions have triggered and the filter has updated.\n\nIf the filter returns an empty result, the checkbox will be unchecked. Otherwise, if the filter result is non-empty, the checkbox will be checked.\n\nHowever, if either the <<.attr checked>> or <<.attr unchecked>> attributes (or both) are specified, then their values will be looked for in the filter result, instead of considering any non-empty value to mean <<.value checked>>.\n\nThis example creates the same checkbox as in the <<.doc-tab-link \"listField mode example\" \"CheckboxWidget (listField Mode)\">>, selecting between <<.value red>> and <<.value green>> in the <<.field colors>> list field, but using filters and actions to make the change.\n\n<<wikitext-example-without-html \"\"\"\\define checkActions() <$action-listops $field=\"colors\" $subfilter=\"-red green\"/>\n\\define uncheckActions() <$action-listops $field=\"colors\" $subfilter=\"red -green\"/>\n<$checkbox filter=\"[list[!!colors]]\" checked=\"green\" unchecked=\"red\" default=\"red\" checkactions=<<checkActions>> uncheckactions=<<uncheckActions>> > Is \"green\" in colors?</$checkbox>\n\n''colors:'' {{!!colors}}\n\"\"\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/CheckboxWidget (indeterminate).tid",
    "content": "caption: <<.attr indeterminate>>\ncreated: 20230315173145042\ndescription: tab\nmodified: 20230317160908743\ntags: CheckboxWidget\ntitle: CheckboxWidget (indeterminate)\n\n!!<<.link \"<<.attr indeterminate>> Checkboxes\" \"CheckboxWidget (indeterminate)\">>\n\nIf both the <<.attr checked>> and <<.attr unchecked>> attributes are specified, but neither one is found in the specified field (or index), the result can be ambiguous. Should the checkbox be checked or unchecked? Normally in such cases the checkbox will be unchecked, but if the <<.attr indeterminate>> attribute is set to <<.value yes>> (default is <<.value no>>), the checkbox will instead be in an \"indeterminate\" state. An indeterminate checkbox counts as false for most purposes &mdash; if you click it, the checkbox will become checked and the <<.attr checkactions>>, if any, will be triggered &mdash; but indeterminate checkboxes are displayed differently in the browser.\n\nThis example shows indeterminate checkboxes being used for categories in a shopping list (which could also be sub-tasks in a todo list, or many other things). If only some items in a category are selected, the category checkbox is indeterminate. You can click on the category checkboxes to see how indeterminate states are treated the same as the unchecked state, and clicking the box checks it and applies its check actions (in this case, checking all the boxes in that category). Try editing the <<.field fruits>> and <<.field vegetables>> fields on this tiddler and see what happens to the example when you do.\n\n<<wikitext-example-without-html \"\"\"\\define check-all(field-name:\"items\") <$action-listops $field=\"selected-$field-name$\" $filter=\"[list[!!$field-name$]]\" />\n\\define uncheck-all(field-name:\"items\") <$action-listops $field=\"selected-$field-name$\" $filter=\"[[]]\" />\n\n<$checkbox filter=\"[list[!!selected-fruits]count[]]\" checked={{{ [list[!!fruits]count[]] }}} unchecked=\"0\" checkactions=<<check-all fruits>> uncheckactions=<<uncheck-all fruits>> indeterminate=\"yes\"> fruits</$checkbox>\n<ul style=\"list-style: none\">\n<$list variable=\"fruit\" filter=\"[list[!!fruits]]\">\n<li><$checkbox listField=\"selected-fruits\" checked=<<fruit>>> <<fruit>></$checkbox></li>\n</$list>\n</ul>\n<$checkbox filter=\"[list[!!selected-vegetables]count[]]\" checked={{{ [list[!!vegetables]count[]] }}} unchecked=\"0\" checkactions=<<check-all vegetables>> uncheckactions=<<uncheck-all vegetables>> indeterminate=\"yes\"> veggies</$checkbox>\n<ul style=\"list-style: none\">\n<$list variable=\"veggie\" filter=\"[list[!!vegetables]]\">\n<li><$checkbox listField=\"selected-vegetables\" checked=<<veggie>>> <<veggie>></$checkbox></li>\n</$list>\n</ul>\n\n<p>Selected veggies: {{!!selected-vegetables}}<br/>\nSelected fruits: {{!!selected-fruits}}</p>\"\"\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/CheckboxWidget (index Mode).tid",
    "content": "caption: <<.attr index>>\ncreated: 20230314171351122\ndescription: tab\nmodified: 20230317160939333\ntags: CheckboxWidget\ntitle: CheckboxWidget (index Mode)\n\n!!<<.link \"<<.attr index>> Mode\" \"CheckboxWidget (index Mode)\">>\n\nTo use the checkbox widget in index mode set the <<.attr index>> attribute to a property of a [[DataTiddler|DataTiddlers]]. The <<.attr checked>> and <<.attr unchecked>> attributes specify the values to be assigned to the property and correspond to its checked and unchecked states respectively. The <<.attr default>> attribute is used as a fallback value if the property is undefined.\n\n<<.warning \"Make sure to set <<.attr tiddler>> correctly, because non-[[DataTiddlers]] will be overwritten without warning\">>\n\nThe example below creates a checkbox that is checked if the property in the tiddler [[ExampleData]] by the name of the current tiddler is equal to <<.value selected>> and unchecked if the property is an empty string. If the property is undefined then it defaults to an empty string, meaning the checkbox will be unchecked if the property is missing.\n\n<$macrocall $name=\"wikitext-example-without-html\" src=\"\"\"<$checkbox tiddler=\"ExampleData\" index=<<currentTiddler>> checked=\"selected\" unchecked=\"\" default=\"\"> Selected?</$checkbox>\"\"\"/>"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/CheckboxWidget (listField Mode).tid",
    "content": "caption: <<.attr listField>>\ncreated: 20230314171331190\ndescription: tab\nmodified: 20230317160948525\ntags: CheckboxWidget\ntitle: CheckboxWidget (listField Mode)\n\n!!<<.link \"<<.attr listField>> Mode\" \"CheckboxWidget (listField Mode)\">>\n\nUsing the checkbox widget in list mode requires the <<.attr listField>> attribute to specify the name of a field containing a list. The <<.attr checked>> attribute specifies the value that should be present or absent in the list when the checkbox is checked or unchecked respectively. If <<.attr checked>> is absent (or empty) but <<.attr unchecked>> is present, then the logic will be inverted: the checkbox will be checked when the <<.attr unchecked>> value is missing from the list, and unchecked when the <<.attr unchecked>> value is found in the list. If both <<.attr checked>> and <<.attr unchecked>> are present, the checkbox will work like a toggle, replacing the <<.attr checked>> value with the <<.attr unchecked>> value and vice-versa. Finally, if neither <<.attr checked>> nor <<.attr unchecked>> is specified, the checkbox will be checked if the field has anything in it, but unchecked if the field is missing or empty. (This is rarely useful. Most of the time you want to specify <<.attr checked>> or <<.attr unchecked>> or both.)\n\nThe <<.attr default>> attribute is used as a fallback for the checkbox state if the field is not defined.\n\nThe following table summarizes the possible combinations:\n\n| !defined attributes| !<$checkbox tag=\"void\" disabled=\"yes\"/> | !<$checkbox field=\"tag\" checked=\"void\" default=\"void\" disabled=\"yes\" /> | !<$checkbox listField=\"tag\" checked=\"void\" unchecked=\"invalid\" indeterminate=\"yes\" disabled=\"yes\" /> |\n| neither| field missing or list empty<br/>no <<.attr default>> defined | field has any value | -- |\n| <<.attr checked>>=<<.value item1>>| <<.value item1>> removed from list | <<.value item1>> added to list | -- |\n| <<.attr unchecked>>=<<.value item2>>| <<.value item2>> added to list | <<.value item2>> removed from list | -- |\n| both| <<.value item1>> removed from list<br/><<.value item2>> added to list | <<.value item1>> added to list<br/><<.value item2>> removed from list | <<.value item1>> not in list<br/><<.value item2>> not in list<br/>no <<.attr default>> defined |\n\nThis example creates a checkbox that is checked if the list field named <<.field colors>> contains <<.value green>> and unchecked if the field contains <<.value red>>. If the field is undefined, or if neither <<.value green>> nor <<.value red>> appears in the field, then it defaults to <<.value green>>, meaning that the checkbox will be checked.\n\n<<wikitext-example-without-html \"\"\"<$checkbox listField=\"colors\" checked=\"green\" unchecked=\"red\" default=\"green\"> Is \"green\" in colors?</$checkbox><br />''colors:'' {{!!colors}}\"\"\">>\n\nTry editing the <<.field colors>> field of this tiddler to see how the example changes.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/CheckboxWidget (listIndex Mode).tid",
    "content": "caption: <<.attr listIndex>>\ncreated: 20230314174442174\ndescription: tab\nmodified: 20230317160929003\ntags: CheckboxWidget\ntitle: CheckboxWidget (listIndex Mode)\n\n!!<<.link \"<<.attr listIndex>> Mode\" \"CheckboxWidget (listIndex Mode)\">>\n\nUsing the checkbox widget in index list mode requires the <<.attr listIndex>> attribute to specify the the property of a [[DataTiddler|DataTiddlers]]. This property contains a list. The <<.attr checked>> attribute specifies the value that should be present or absent in the list when the checkbox is checked or unchecked respectively. If <<.attr checked>> is absent (or empty) but <<.attr unchecked>> is present, then the logic will be inverted: the checkbox will be checked when the <<.attr unchecked>> value is missing from the list, and unchecked when the <<.attr unchecked>> value is found in the list. If both <<.attr checked>> and <<.attr unchecked>> are present, the checkbox will work like a toggle, replacing the <<.attr checked>> value with the <<.attr unchecked>> value and vice-versa. Finally, if neither <<.attr checked>> nor <<.attr unchecked>> is specified, the checkbox will be checked if the field has anything in it, but unchecked if the field is missing or empty. (This is rarely useful. Most of the time you want to specify <<.attr checked>> or <<.attr unchecked>> or both.)\n\nThe <<.attr default>> attribute is used as a fallback for the checkbox state if the property is undefined.\n\nThe following table summarizes the possible combinations:\n\n| !defined attributes| !<$checkbox tag=\"void\" disabled=\"yes\"/> | !<$checkbox field=\"tag\" checked=\"void\" default=\"void\" disabled=\"yes\" /> | !<$checkbox listField=\"tag\" checked=\"void\" unchecked=\"invalid\" indeterminate=\"yes\" disabled=\"yes\" /> |\n| neither| property missing or list empty<br/>no <<.attr default>> defined | property has any value | -- |\n| <<.attr checked>>=<<.value item1>>| <<.value item1>> removed from list | <<.value item1>> added to list | -- |\n| <<.attr unchecked>>=<<.value item2>>| <<.value item2>> added to list | <<.value item2>> removed from list | -- |\n| both| <<.value item1>> removed from list<br/><<.value item2>> added to list | <<.value item1>> added to list<br/><<.value item2>> removed from list | <<.value item1>> not in list<br/><<.value item2>> not in list<br/>no <<.attr default>> defined |\n\n<<.warning \"Make sure to set <<.attr tiddler>> correctly, because non-[[DataTiddlers]] will be overwritten without warning\">>\n\nThe example below creates three checkboxes that each control a different value in a property of the ExampleData tiddler.\n\n<$macrocall $name=\"wikitext-example-without-html\" src=\"\"\"<$set name=indexName filter=\"[<currentTiddler>addsuffix[ Colors]]\" >\n<$checkbox tiddler=\"ExampleData\" listIndex=<<indexName>> checked=\"green\" unchecked=\"red\" default=\"red\"> Green or red?</$checkbox><br/>\n<$checkbox tiddler=\"ExampleData\" listIndex=<<indexName>> checked=\"yellow\" unchecked=\"blue\" default=\"blue\"> Yellow or blue?</$checkbox><br/>\n<$checkbox tiddler=\"ExampleData\" listIndex=<<indexName>> checked=\"orange\" unchecked=\"purple\" default=\"purple\"> Orange or purple?</$checkbox><br/>\nColors list: <$text text={{{ [[ExampleData]getindex<indexName>] }}} />\n</$set>\n\"\"\"/>"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/CheckboxWidget (tag Mode).tid",
    "content": "caption: <<.attr tag>>\ncreated: 20230314171205017\ndescription: tab\nmodified: 20230317161122617\ntags: CheckboxWidget\ntitle: CheckboxWidget (tag Mode)\n\n!!<<.link \"<<.attr tag>> Mode\" \"CheckboxWidget (tag Mode)\">>\n\nUsing the checkbox widget in tag mode requires the <<.attr tag>> attribute to specify the name of the tag. The checkbox will be checked if the tiddler specified in the <<.attr tiddler>> attribute has the specified tag and unchecked if it does not.\n\nThis example creates a checkbox that flips the <<.tag done>> tag on the current tiddler:\n\n<<wikitext-example-without-html \"\"\"<$checkbox tag=\"done\"> Is it done?</$checkbox>\"\"\">>\n\nWhen the attribute <<.attr invertTag>> is set to <<.value yes>>, the checkbox will be checked if the tiddler does <<.em not>> have the specified tag and unchecked if it does.\n\n<<wikitext-example-without-html \"\"\"<$checkbox tag=\"done\" invertTag=\"yes\"> Is it not done?</$checkbox>\"\"\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/CheckboxWidget.tid",
    "content": "caption: checkbox\ncolors: red orange yellow blue\ncreated: 20131024141900000\nfruits: bananas oranges grapes\nlist: [[CheckboxWidget (tag Mode)]] [[CheckboxWidget (field Mode)]] [[CheckboxWidget (listField Mode)]] [[CheckboxWidget (index Mode)]] [[CheckboxWidget (listIndex Mode)]] [[CheckboxWidget (filter Mode)]] [[CheckboxWidget (indeterminate)]]\nmodified: 20231113093304323\ntags: Widgets TriggeringWidgets\ntitle: CheckboxWidget\ntype: text/vnd.tiddlywiki\nvegetables: carrots potatoes\n\n! Introduction\n\nThe checkbox widget displays an HTML `<input type=\"checkbox\">` element that is dynamically bound to either:\n\n* the presence or absence of a specified tag on a specified tiddler\n* the value of a specified field of a specified tiddler\n\n! Content and Attributes\n\nThe content of the `<$checkbox>` widget is displayed within an HTML `<label>` element immediately after the checkbox itself. This means that clicking on the content will toggle the checkbox.\n\n|!Attribute |!Description |\n|<<.attr tiddler>> |Title of the tiddler to manipulate (defaults to the [[Current Tiddler]]) |\n|<<.widget-attr-link tag \"CheckboxWidget (tag Mode)\">> |The name of the [[tag|Tagging]] to which the checkbox is bound |\n|<<.attr invertTag>> |When set to <<.value yes>>, flips the tag binding logic so that the absence of the tag causes the checkbox to be checked  |\n|<<.widget-attr-link field \"CheckboxWidget (field Mode)\">> |The name of the field to which the checkbox is bound |\n|<<.widget-attr-link listField \"CheckboxWidget (listField Mode)\">> |<<.from-version \"5.2.3\">> The name of the field that contains the list to which the checkbox is bound |\n|<<.widget-attr-link index \"CheckboxWidget (index Mode)\">> |<<.from-version \"5.1.14\">> The property of the [[DataTiddler|DataTiddlers]] to which the checkbox is bound|\n|<<.widget-attr-link listIndex \"CheckboxWidget (listIndex Mode)\">> |<<.from-version \"5.2.3\">> Like <<.attr index>>, but treats the value as a list the same way that <<.attr listField>> does |\n|<<.widget-attr-link filter \"CheckboxWidget (filter Mode)\">> |<<.from-version \"5.2.3\">> A filter whose output determines the checked state of the checkbox |\n|<<.attr checked>> |The value of the field corresponding to the checkbox being checked |\n|<<.attr unchecked>> |The value of the field corresponding to the checkbox being unchecked |\n|<<.attr default>> |The default value to use if the field is not defined |\n|<<.widget-attr-link indeterminate \"CheckboxWidget (indeterminate)\">> |Whether ambiguous values can produce indeterminate checkboxes (see below) |\n|<<.attr class>> |The class that will be assigned to the `<label>` element <$macrocall $name=\".tip\" _=\"\"\"<<.from-version \"5.2.3\">> `tc-checkbox` is always applied by default, as well as `tc-checkbox-checked` when checked\"\"\"/> |\n|<<.attr actions>> |<<.from-version \"5.1.14\">> A string containing ActionWidgets to be triggered when the status of the checkbox changes (whether it is checked or unchecked) |\n|<<.attr uncheckactions>> |<<.from-version \"5.1.16\">> A string containing ActionWidgets to be triggered when the checkbox is unchecked |\n|<<.attr checkactions>> |<<.from-version \"5.1.20\">> A string containing ActionWidgets to be triggered when the checkbox is checked |\n|<<.attr disabled>> |<<.from-version \"5.1.23\">> Optionally disables the checkbox if set to <<.value yes>> (defaults to <<.value no>>)|\n|<<.attr tabindex>> |<<.from-version \"5.3.7\">> Optional. Sets the `tabindex` attribute of the HTML select element to the given value |\n|<<.attr data-*>> |<<.from-version \"5.3.2\">> Optional [[data attributes|https://developer.mozilla.org/en-US/docs/Learn/HTML/Howto/Use_data_attributes]] to be assigned to the HTML `<input>` element |\n|<<.attr style.*>> |<<.from-version \"5.3.2\">> Optional [[CSS properties|https://developer.mozilla.org/en-US/docs/Web/CSS/Reference]] to be assigned to the HTML `<input>` element |\n\n<<.doc-tabs>>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/CodeblockWidget.tid",
    "content": "caption: codeblock\ncreated: 20151103160200000\nmodified: 20240809074611002\ntags: Widgets\ntitle: CodeBlockWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nThe ''codeblock'' widget renders text in `<pre>` and `<code>` blocks, causing it to be\ndisplayed monospace. A language may optionally be specified using the\n''language'' attribute, however syntax highlighting will only be used if the\n[[Highlight Plugin]] is installed.\n\n! Content and Attributes\n\nThe content of the `<$codeblock>` widget is ignored.\n\n|!Attribute |!Description |\n|code |Contents of the block to render as code |\n|language |Programming language for syntax highlighting |\n\nThe `language` attribute accepts either:\n\n* a Highlight.js language code (see https://highlightjs.org/demo for a list)\n* a MIME type (eg, `text/html` or `image/svg+xml`)\n\n! Examples\n\nHere is an example embedding the contents of a tiddler as a code block.\n\n<$macrocall $name='wikitext-example-without-html'\nsrc='<$codeblock code={{$:/editions/tw5.com/macro-examples/say-hi}} />' />\n\nA codeblock may also specify a language.\n\n<$macrocall $name='wikitext-example-without-html'\nsrc='<$codeblock code=\"SELECT * FROM users WHERE deleted = false\" language=\"sql\" />' />\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/CountWidget.tid",
    "content": "title: CountWidget\ncreated: 201310241419\nmodified: 20181231131\ntags: Widgets\ncaption: count\n\n! Introduction\n\nThe count widget displays the number of unique items in the output of specified [[filter expressions|Filters]].\n\n! Content and Attributes\n\nThe content of the `<$count>` widget is ignored.\n\n|!Attribute |!Description |\n|filter |The filter expression to count |\n\n! Example\n<<wikitext-example-without-html \"\"\"There are <$count filter=\"[tag[Examples]]\"/> tiddlers tagged with Examples\"\"\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/Custom Widgets.tid",
    "content": "created: 20221007144237585\nmodified: 20240422084734129\ntags: Concepts\ntitle: Custom Widgets\ntype: text/vnd.tiddlywiki\n\n!! Introduction\n\n<<.from-version \"5.3.0\">> A <<.def \"custom widget\">> is a special kind of [[procedure|Procedures]] that can be called using the same syntax as widgets.\n\nCustom widgets can also be used to override built-in JavaScript widgets to customise their behaviour. \n\n!! Defining Custom Widgets\n\nCustom widgets are usually defined with the [[Pragma: \\widget]]:\n\n```\n\\widget $my.widget(attribute:\"Default value\")\nThis is the widget, and the attribute is <<attribute>>.\n\\end\n```\n\nThe name of the widget must start with a dollar sign. If it is a user defined widget that does not override an existing widget then it must include at least one period (dot) within the name (for example `$my.widget` or `$acme.logger`).\n\nNote that the [[Pragma: \\whitespace]] setting is inherited from the parsing context in which the procedure definition occurs. That means that a tiddler containing multiple procedure definitions only needs a single whitespace pragma at the top of the tiddler, and the setting will be automatically inherited by the procedure definitions without needing the pragma to be repeated.\n\n!! Using Custom Widgets\n\nCustom widgets are called in the same way as ordinary built-in widgets:\n\n```\n<$my.widget/>\n\n<$my.widget attribute=\"The parameter\"/>\n```\n\nThe attributes that are specified in the widget call are made available as parameter variables.\n\n!! Accessing Content of Custom Widgets\n\nWithin the definition of a custom widget the content of the calling widget is available via the `<$slot $name=\"ts-raw\"/>` widget. The contents of the <<.wlink SlotWidget>> widget is used as the default content if the widget was called without any content.\n\nFor example:\n\n<<wikitext-example-without-html \"\"\"\\widget $my.widget(one:'Jaguar')\n<$text text=<<one>>/>\n<$slot $name=\"ts-raw\">\n\tWhale\n</$slot>\n\\end\n\n<$my.widget one=\"Dingo\">\n\tCrocodile\n</$my.widget>\n\n<$my.widget/>\"\"\">>\n\n!! How Custom Widgets Work\n\nCustom widgets are implemented as a special kind of [[variable|Variables]]. The only thing that distinguishes them from ordinary variables is the way that they can be called as a custom widget with attributes mapped to parameters.\n\n!! Overriding Core ~JavaScript Widgets\n\nCustom widgets can use the <<.wlink \"GenesisWidget\">> widget to invoke the original widget, bypassing the override. For example, here we override the <<.wlink CodeBlockWidget>> widget to add `≤≥` symbols around each string of text.\n\n\n<<wikitext-example-without-html \"\"\"\\widget $codeblock(code)\n<$genesis $type=\"$codeblock\" $remappable=\"no\" code={{{ [<code>addprefix[≤]addsuffix[≥]] }}}/>\n\\end\n\n<$codeblock code=\"Kangaroo\"/>\n\n<$codeblock code={{$:/SiteTitle}}/>\n\n```\nPython\n```\n\n<$let test=\"Tiger\">\n<$codeblock code=<<test>>/>\n</$let>\"\"\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/DataWidget.tid",
    "content": "caption: data\ncreated: 20240507221902644\nmodified: 20240729084028713\ntags: Widgets\ntitle: DataWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nThe data widget is used with the <<.wlink TestCaseWidget>> widget and the [[Innerwiki Plugin]] to specify payload tiddlers that are to be included in the test case or innerwiki.\n\n! Content and Attributes\n\nThe content of the data widget is ignored. It supports the following attributes:\n\n|!Attribute |!Description |\n|<<.attr $tiddler>> |Optional title of a tiddler to be used as a payload tiddler (optional) |\n|<<.attr $filter>> |Optional filter string identifying tiddlers to be used as payload tiddlers (optional) |\n|<<.attr $compound-tiddler>> |Optional title of a tiddler containing payload tiddlers in `text/vnd.tiddlywiki-multiple` format (see below) |\n|<<.attr $compound-filter>> |<<.from-version \"5.3.6\">> Optional filter, to create a list of tiddlers that contain compound tiddlers. <<.infoBox \"\"\"Tiddlers will be imported in order. Existing testcase tiddlers will be overwritten, so the currentTiddler wins\"\"\">>|\n|//any attribute<br>not starting<br>with $// |Field values to be assigned to the payload tiddler(s) |\n\nThe data widget is not rendered when used within the <<.wlink TestCaseWidget>> widget or the [[Innerwiki Plugin]] but for ease of testing, when used elsewhere it renders a JSON representation of the payload tiddlers.\n\nWithout any of the attributes <<.attr $tiddler>>, <<.attr $filter>> or <<.attr $compound-tiddler>>, any attributes whose name does not start with $ are used as the field values for creating a single new tiddler.\n\n<<testcase \"TestCases/DataWidget/SimpleTiddler\">>\n\nIf any of the attributes <<.attr $tiddler>>, <<.attr $filter>> or <<.attr $compound-tiddler>> are specified then they are used to generate base tiddlers that are then modified with the addition of fields derived from any attributes whose name does not start with $.\n\nThe attribute <<.attr $tiddler>> is used to ingest a single tiddler from the wiki containing the data widget:\n\n<<testcase \"TestCases/DataWidget/ImportedTiddler\">>\n\nThe attribute <<.attr $filter>> is used to ingest multiple tiddlers from the wiki containing the data widget:\n\n<<testcase \"TestCases/DataWidget/ImportedFilter\">>\n\n! Compound Tiddlers\n\n[[Compound tiddlers|CompoundTiddlers]] provide a way to easily create multiple tiddlers from within a single tiddler. They are contained in tiddlers of type `text/vnd.tiddlywiki-multiple`. The text field consists of a series of tiddlers in the same format as `.tid` files, each separated by a line containing a single `+` character.\n\n<<testcase \"TestCases/DataWidget/ImportCompound\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/DiffTextWidget.tid",
    "content": "caption: diff-text\ncreated: 20180316162725329\nmodified: 20260102132650194\ntags: Widgets\ntitle: DiffTextWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\n<<.from-version \"5.1.16\">> The diff text widget analyses the differences between a pair of source and destination text strings and displays the results as highlighted insertions and deletions (similar to the \"track changes\" function of a word processor).\n\n```\n<$diff-text source=\"This is the original text\" dest=\"This is the text to compare to\" mode=\"words>\n    These are the <<diff-count>> differences:\n</$diff-text>\n```\n\n\n\n! Content and Attributes\n\nThe content of the <<.wid diff-text>> widget is displayed immediately before the differences. Within the content, the variable <<.var diff-count>> is available, containing the number of differences found. If the widget has no content then it automatically transcludes the tiddler [[$:/language/Diffs/CountMessage]].\n\n<<.note \"\"\"The algorithm counts changes as both insertion and deletion, and therefore the number of differences can be higher than expected.\"\"\">>\n\n|!Attribute |!Description |\n|<<.attr source>> |The source text |\n|<<.attr dest>> |The destination text |\n|<<.attr cleanup>> |Optional post-processing to improve readability (default is <<.value semantic>>) |\n|<<.attr editcost>> |<<.from-version \"5.4.0\">> Threshold parameter for <<.value efficiency>> cleanup mode (default is <<.value 4>>) |\n|<<.attr mode>> |<<.from-version \"5.4.0\">> Specifies the granularity at which differences are computed and displayed (default is <<.value chars>>) |\n\n\n!! <<.attr cleanup>> / <<.attr editcost>>\n\nThe <<.attr cleanup>> attribute determines which optional post-processing should be applied to the diffs:\n\n* <<.value none>>: No cleanup is performed\n* <<.value semantic>> (default): Optimizes the differences for readability\n* <<.value efficiency>>: Optimizes the differences to minimise the number of operations for subsequent processing\n** When using <<.value efficiency>> mode, the <<.attr editcost>> parameter controls the cost threshold for the cleanup algorithm, determining how aggressively the diff algorithm merges nearby edits for better human readability (default value is 4).\n\n<<.note \"\"\"Note that in many cases the results will be the same regardless of the cleanup option. See the [[docs|https://github.com/google/diff-match-patch/wiki/API]] of the underlying library for more details\"\"\">>\n\n!! <<.attr mode>>\n\nThe <<.attr mode>> attribute determines how differences are computed and displayed:\n\n* <<.value chars>>: Compares differences at the //character level// for precise change detection\n* <<.value words>>: Compares differences at the //word level// for more readable text comparisons\n* <<.value lines>>: Compares differences at the //line level// for better visibility of structural changes\n\n! Examples\n\nA basic example:\n\n<<.example n:1 e.g.\"\"\"<$diff-text source=\"The quick brown fox jumps\" dest=\"The slick brown fox leaps\"/>\"\"\">>\n\nIn <<.value words>> mode, differences are computed at the words level:\n\n<<.example n:2 e.g.\"\"\"<$diff-text mode=\"words\" source=\"The quick brown fox jumps\" dest=\"The slick brown fox leaps\"/>\"\"\">>\n\n\nTo see the effects of all parameters, use this example:\n\n|tc-max-width tc-edit-max-width|k\n|<$edit-text tiddler=\"SampleTiddlerFirst\" rows=\"5\"/>|<$edit-text tiddler=\"SampleTiddlerSecond\" rows=\"5\"/>|\n\n<$diff-text source={{SampleTiddlerFirst}} dest={{SampleTiddlerSecond}} cleanup={{{ [{!!cleanup}!is[blank]else[efficiency]] }}} editcost={{{ [{!!editcost}!is[blank]else[4]] }}} mode={{{ [{!!mode}!is[blank]else[chars]] }}}/>\n\n!! <<.attr mode>>\n<$radio field=\"mode\" value=\"chars\" default=\"chars\" class=\"tc-small-gap-right\"> <<.value chars>></$radio>\n<$radio field=\"mode\" value=\"words\" class=\"tc-small-gap-right\"> <<.value words>></$radio>\n<$radio field=\"mode\" value=\"lines\"> <<.value lines>></$radio>\n\n!! <<.attr cleanup>>\n<$radio field=\"cleanup\" value=\"none\" class=\"tc-small-gap-right\"> <<.value none>></$radio>\n<$radio field=\"cleanup\" value=\"semantic\" class=\"tc-small-gap-right\"> <<.value semantic>></$radio>\n<$radio field=\"cleanup\" value=\"efficiency\" default=\"efficiency\"> <<.value efficiency>></$radio>\n\n<% if [{!!cleanup}!match[none]!match[semantic]] %>\n\n!! <<.attr editcost>>: <$transclude $variable=\".value\" _={{{ [{!!editcost}!is[blank]else[4]] }}} />\n<$range field=\"editcost\" min=\"1\" max=\"200\" default=\"4\" class=\"tc-max-width\" style.max-width=\"500px\" />\n<% endif %>"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/DraggableWidget.tid",
    "content": "caption: draggable\ncreated: 20170406081938627\nmodified: 20231121101431149\ntags: Widgets TriggeringWidgets\ntitle: DraggableWidget\ntype: text/vnd.tiddlywiki\n\nThe DraggableWidget creates a DOM element that can be dragged by the user. It only works on browsers that support drag and drop, which typically means desktop browsers, but [[there are workarounds|Mobile Drag And Drop Shim Plugin]].\n\nThe draggable element can be assigned a list of tiddlers that are used as the payload.\nIf desired it can invoke actions when dragging starts and when it ends.\nSee DragAndDropMechanism for an overview.\n\n! Content and Attributes\n\n|!Attribute |!Description |\n|tiddler |Optional title of the payload tiddler for the drag |\n|filter |Optional filter defining the payload tiddlers for the drag |\n|tag |Optional tag to override the default \"div\" element created by the widget|\n|selector|<<.from-version 5.2.2>> Optional CSS Selector to identify a DOM element within the widget that will be used as the drag handle |\n|class |Optional CSS classes to assign to the DOM element created by the widget. The class `tc-draggable` is added to the the DOM element created by the widget unless the <<.param selector>> attribute is used. The class `tc-dragging` is applied to the DOM element created by the widget while the element is being dragged |\n|enable |<<.from-version 5.2.3>> Optional value \"no\" to disable the draggable functionality (defaults to \"yes\") |\n|startactions |Optional action string that gets invoked when dragging ''starts'' |\n|endactions |Optional action string that gets invoked when dragging ''ends'' |\n|dragimagetype |<<.from-version \"5.2.0\">> Optional type of drag image: `dom` (the default) or `blank` to disable the drag image |\n|data-* |<<.from-version \"5.3.2\">> Optional [[data attributes|https://developer.mozilla.org/en-US/docs/Learn/HTML/Howto/Use_data_attributes]] to be assigned to the HTML element |\n|style.* |<<.from-version \"5.3.2\">> Optional [[CSS properties|https://developer.mozilla.org/en-US/docs/Web/CSS/Reference]] to be assigned to the HTML element |\n\nEither or both of the ''tiddler'' and ''filter'' attributes must be specified in order for there to be a payload to drag.\n\nThe [[actionTiddler Variable]] is accessible in both //startactions// and //endactions//. It holds the payload tiddler(s) specified through the //tiddler// and //filter// attributes as a [[Title List]] using double square brackets to quote titles that include whitespace.\n\n<<.tip \"\"\"Note that the [[actionTiddler Variable]] holds a [[Title List]] quoted with double square brackets. This is unlike the DroppableWidget which uses the same variable to pass a single unquoted title.\"\"\">>\n\n<<.tip \"\"\"When specifying a DOM node to use as the drag handle with the <<.param selector>> attribute, give it the class `tc-draggable` in order for it to have the appropriate cursor and the attribute `draggable` with the value `true` to make it draggable.\"\"\">>\n\n\nThe LinkWidget incorporates the functionality of the DraggableWidget via the ''draggable'' attribute.\n\n<<.from-version 5.2.3>> The following variables are accessible in the //startactions// and the //endactions//:\n\n|!Variables |!Description |\n|`modifier` |The [[modifier Variable]] contains the Modifier Key held while dragging |\n|`dom-*` |All DOM attributes of the node being dragged are made available as variables, with the prefix `dom-` |\n|`tv-popup-coords` |A relative co-ordinate string that can be used with the ActionPopupWidget to trigger a popup at the DOM node matching the selector where the event originated (see [[Coordinate Systems]] for more information) |\n|`tv-popup-abs-coords` |<<.from-version \"5.2.4\">> An absolute co-ordinate string that can be used with the ActionPopupWidget to trigger a popup at the DOM node matching the selector where the event originated (see [[Coordinate Systems]] for more information) |\n|`tv-selectednode-posx` |`x` offset position of the dragged DOM node |\n|`tv-selectednode-posy` |`y` offset position of the dragged DOM node  |\n|`tv-selectednode-width` |`offsetWidth` of the dragged DOM node |\n|`tv-selectednode-height` |`offsetHeight` of the dragged DOM node |\n|`event-fromselected-posx` |`x` position of the event relative to the dragged DOM node |\n|`event-fromselected-posy` |`y` position of the event relative to the dragged DOM node |\n|`event-fromviewport-posx` |`x` position of the event relative to the viewport |\n|`event-fromviewport-posy` |`y` position of the event relative to the viewport |\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/DroppableWidget.tid",
    "content": "caption: droppable\ncreated: 20170406082820317\nmodified: 20240612125454153\ntags: Widgets TriggeringWidgets\ntitle: DroppableWidget\ntype: text/vnd.tiddlywiki\n\n\\procedure drop-on-tags-actions()\n<$action-log actionTiddlerList=<<actionTiddlerList>>/>\n<$action-setfield $tiddler=\"$:/temp/drop/TitleList\" $field=\"text\" text=<<actionTiddlerList>> type=\"text/plain\"/>\n\\end\n\n\\procedure droppable-image-actions()\n<$action-setfield $tiddler=<<actionTiddler>> $field=\"icon\" $value=<<currentTiddler>>/>\n\\end\n\n\\procedure colour-demo-body()\n<$droppable actions=<<droppable-colour-actions>>>\n<span style=`display: inline-block; width: 1em; height: 1em;background-color: $(currentTiddler)$;`>\n</span>\n</$droppable>\n\\end\n\n\\procedure droppable-colour-actions()\n<$action-setfield $tiddler=<<actionTiddler>> $field=\"color\" $value=<<currentTiddler>>/>\n\\end\n\nThe `droppable` widget creates a DOM element onto which dragged items can be dropped by the user, triggering the specified actions. It only works on browsers that support drag and drop, which typically means desktop browsers, but [[there are workarounds|Mobile Drag And Drop Shim Plugin]].\n\nSee DragAndDropMechanism for an overview.\n\n! Content and Attributes\n\n|! Attribute |! Description |\n|actions |Actions to be performed when items are dropped. It activates ''1 action per item'' |\n|listActions |<<.from-version \"5.3.4\">> Actions to be performed when items are dropped. It activates ''1 action for'' a the whole ''list of items'' |\n|class |Optional CSS classes to assign to the draggable element. The class `tc-droppable` is added automatically, and the class `tc-dragover` is applied while an item is being dragged over the droppable element |\n|tag |Optional tag to override the default of a \"div\" element when the widget is rendered in block mode, or a \"span\" element when it is rendered in inline mode |\n|enable |<<.from-version \"5.1.22\">> Optional value \"no\" to disable the droppable functionality (defaults to \"yes\") |\n|data-* |<<.from-version \"5.3.2\">> Optional [[data attributes|https://developer.mozilla.org/en-US/docs/Learn/HTML/Howto/Use_data_attributes]] to be assigned to the HTML element |\n|style.* |<<.from-version \"5.3.2\">> Optional [[CSS properties|https://developer.mozilla.org/en-US/docs/Web/CSS/Reference]] to be assigned to the HTML element |\n\n''Within the action string'', the following variables are generated by the DroppableWidget:\n\n|!Variables |!Description |\n|`actionTiddler` |For parameter <<.param actions>>, the [[actionTiddler Variable]] contains the title of the item being dropped |\n|`actionTiddlerList` |For parameter <<.param listActions>> the [[actionTiddlerList Variable]] contains a [[Title List]] of all the items being dropped |\n|`modifier` |The [[modifier Variable]] contains the modifier key held while dragging (can be normal, ctrl, shift or ctrl-shift) |\n\n<<.note \"\"\"Note that the <<.var actionTiddler>> variable holds a single, unquoted title. This is unlike the DraggableWidget which uses the same variable to pass a quoted [[Title List]].\"\"\">>\n\n! Examples\n\nThis example displays a palette of icons. Dragging a tiddler onto one of the icons assigns that icon to the tiddler.\n\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/Image]sort[title]]\">\n<$droppable actions=<<droppable-image-actions>>>\n<$transclude/>\n</$droppable>\n</$list>\n\n---\n\nSimilarly, this example shows a palette of colours. Dragging a tiddler onto one of the colours assigns that colour to be used for rendering the icon of the tiddler.\n\n<$list filter=\"LightPink Pink Crimson LavenderBlush PaleVioletRed HotPink DeepPink MediumVioletRed Orchid Thistle Plum Violet Magenta Fuchsia DarkMagenta Purple MediumOrchid DarkViolet DarkOrchid Indigo BlueViolet MediumPurple MediumSlateBlue SlateBlue DarkSlateBlue Lavender GhostWhite Blue MediumBlue MidnightBlue DarkBlue Navy RoyalBlue CornflowerBlue LightSteelBlue LightSlateGrey SlateGrey DodgerBlue AliceBlue SteelBlue LightSkyBlue SkyBlue DeepSkyBlue LightBlue PowderBlue CadetBlue Azure LightCyan PaleTurquoise Cyan Aqua DarkTurquoise DarkSlateGrey DarkCyan Teal MediumTurquoise LightSeaGreen Turquoise Aquamarine MediumAquamarine MediumSpringGreen MintCream SpringGreen MediumSeaGreen SeaGreen Honeydew LightGreen PaleGreen DarkSeaGreen LimeGreen Lime ForestGreen Green DarkGreen Chartreuse LawnGreen GreenYellow DarkOliveGreen YellowGreen OliveDrab Beige LightGoldenrodYellow Ivory LightYellow Yellow Olive DarkKhaki LemonChiffon PaleGoldenrod Khaki Gold Cornsilk Goldenrod DarkGoldenrod FloralWhite OldLace Wheat Moccasin Orange PapayaWhip BlanchedAlmond NavajoWhite AntiqueWhite Tan BurlyWood Bisque DarkOrange Linen Peru PeachPuff SandyBrown Chocolate SaddleBrown Seashell Sienna LightSalmon Coral OrangeRed DarkSalmon Tomato MistyRose Salmon Snow LightCoral RosyBrown IndianRed Red Brown FireBrick DarkRed Maroon White WhiteSmoke Gainsboro LightGrey Silver DarkGrey Grey DimGrey Black\">\n<<colour-demo-body>>\n</$list>\n\n---\n\nDrag the tag pill <<tag HelloThere>> or a single tiddler link [[HelloThere]] into the \"Drop Area\" below. It will show the \"Title List\" stored in $:/temp/drop/TitleList\n\n<<.note title:\"\"\n_:\"\"\"<$droppable listActions=<<drop-on-tags-actions>> >\n''Drop'' the tagpill or a link into this ''area''.<br>\n~TitleList: <$transclude $tiddler=\"$:/temp/drop/TitleList\"/>\n</$droppable>\"\"\">>\n\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/DropzoneWidget.tid",
    "content": "caption: dropzone\ncreated: 20131024141900000\nmodified: 20211009122205481\ntags: Widgets TriggeringWidgets\ntitle: DropzoneWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nThe dropzone widget creates an area into which the user can drag files and other objects. It also supports pasting via the clipboard, although browser support is currently limited.\n\nIt sends a [[WidgetMessage: tm-import-tiddlers]] carrying a JSON representation of the tiddlers to be imported up through its parents. This message usually trapped by the NavigatorWidget which adds the tiddlers to the store and updates the story to display them.\n\n! Content and Attributes\n\n|!Attribute |!Description |\n|deserializer |<<.from-version \"5.1.15\">> Optional name of deserializer to be used (by default the deserializer is derived from the file extension) |\n|enable |<<.from-version \"5.1.22\">> Optional value \"no\" to disable the dropzone functionality (defaults to \"yes\") |\n|class |<<.from-version \"5.1.22\">> Optional CSS class to be assigned to the DOM node created by the dropzone (defaults to \"tc-dropzone\") |\n|autoOpenOnImport |<<.from-version \"5.1.23\">> Optional value \"no\" or \"yes\" that can override tv-auto-open-on-import |\n|importTitle|<<.from-version \"5.1.23\">> Optional tiddler title to use for import process instead of ~$:/Import |\n|actions|<<.from-version \"5.2.0\">> Optional actions string to be invoked after the `tm-import-tiddlers` message has been sent. The variable `importTitle` provides the title of the tiddler used for the import process. |\n|contentTypesFilter |<<.from-version \"5.2.0\">> Optional filter that specifies the [[content types|ContentType]] accepted by the dropzone. |\n|filesOnly|<<.from-version \"5.2.0\">> Optional. When set to \"yes\", the dropzone only accepts files and not string data. Defaults to \"no\" |\n\n<<.tip \"\"\"Use the `prefix` filter operator to easily accept multiple related content types. For example this filter will accept all image content types: `[prefix[image/]]`\"\"\">>\n\n<<.tip \"The list of available deserializers can be seen by using the filter `[deserializers[]]` in the Filter tab in [[Advanced Search|$:/AdvancedSearch]].\">>\n\nThe dropzone widget displays any contained content within the dropzone.\n\n! Display\n\nThe dropzone widget creates an HTML `<div class=\"tc-dropzone\">` to contain its content. During a drag operation the class `tc-dragover` is added. CSS is used to provide user feedback. For custom styling of this state where a drag is in progress, specify a custom class name with the `class` attribute and use CSS with the selector `.myclass.tc-dragover`.\n\n! Data types supported\n\nThe following data transfer types are supported:\n\n* ''text/vnd.tiddler'' - a list of tiddlers in JSON format (this format is generated by the LinkWidget)\n* ''text/plain'' - plain text\n* ''text/uri-list'' - a list of URIs as a single tiddler\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/EditBitmapWidget.tid",
    "content": "created: 20131024141900000\nmodified: 20150220162127000\ntags: Widgets\ntitle: EditBitmapWidget\ntype: text/vnd.tiddlywiki\ncaption: edit-bitmap\n\n! Introduction\n\nThe edit bitmap widget provides a user interface in the browser for editing bitmap tiddlers.\n\n! Content and Attributes\n\nThe content of the `<$edit-bitmap>` widget is ignored.\n\n|!Attribute |!Description |\n|tiddler |The tiddler to edit (defaults to the [[current tiddler|Current Tiddler]]) |\n\n! Configuration\n\nThe edit bitmap widget can be configured with these system tiddlers:\n\n* [[$:/config/BitmapEditor/LineWidth]] determines the line width: <$edit-text tiddler=\"$:/config/BitmapEditor/LineWidth\" tag=\"input\"/>\n* [[$:/config/BitmapEditor/Colour]] determines the line color: <$edit-text tiddler=\"$:/config/BitmapEditor/Colour\" tag=\"input\" type=\"color\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/EditTextWidget.tid",
    "content": "caption: edit-text\ncreated: 20131024141900000\nheading: \nmodified: 20251118230450156\ntags: Widgets\ntemp: \ntitle: EditTextWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nThe edit text widget provides a user interface in the browser for editing text tiddler fields. The editing element is dynamically bound to the underlying tiddler value: changes to the tiddler are instantly reflected, and any edits are instantly propagated.\n\nBy default, applying the ~EditTextWidget to the `text` field of a tiddler will generates an HTML `<textarea>` element, i.e. a multi-line editor. Applying the ~EditTextWidget to any other field generates an HTML `<input type=\"text\">` element, a single-line editor. This behaviour can be overridden with the `tag` and `type` attributes.\n\n! Content and Attributes\n\nThe content of the `<$edit-text>` widget is ignored.\n\n|!Attribute |!Description |\n|tiddler |The tiddler to edit (''defaults'' to the [[current tiddler|Current Tiddler]]) |\n|field |The field to edit (''defaults'' to `text`). Takes precedence over the `index` attribute |\n|index |The index to edit |\n|default |The default text to be provided when the target tiddler doesn't exist |\n|class |A CSS class to be assigned to the generated HTML editing element |\n|placeholder |Placeholder text to be displayed when the edit field is empty |\n|focusPopup |Title of a state tiddler for a popup that is displayed when the editing element has focus  |\n|focus |Set to \"yes\" or \"true\" to automatically focus the editor after creation |\n|focusSelectFromStart |<<.from-version 5.2.6>> If the `focus` attribute is enabled, determines the position of the start of the selection: `0` (''default'') places the start of the selection at the beginning of the text, `1` places the start of the selection after the first character, etc.  |\n|focusSelectFromEnd |<<.from-version 5.2.6>> If the `focus` attribute is enabled, determines the position of the end of the selection: `0` (''default'') places the end of the selection at the end of the text, `1` places the start of the selection before the final character, etc.  |\n|tabindex |Sets the `tabindex` attribute of the input or textarea to the given value |\n|autocomplete |<<.from-version 5.1.23>> An optional string to provide a hint to the browser how to handle autocomplete for this input |\n|tag |Overrides the generated HTML editing element tag. For a multi-line editor use `tag=textarea`. For a single-line editor use `tag=input` |\n|type |Overrides the generated HTML editing element `type` attribute |\n|size |The size of the input field (in characters). This exact result depends on browser and font. Use the `class` attribute to style width for precise control |\n|autoHeight |Either \"yes\" or \"no\" to specify whether to automatically resize `textarea` editors to fit their content (''defaults'' to \"yes\"). This setting can be changed globally with an editor toolbar button|\n|minHeight |Minimum height for automatically resized `textarea` editors, specified in CSS length units such as \"px\", \"em\" or \"%\". Has no effect if the [[CodeMirror Plugin]] is active |\n|rows|Sets the rows attribute of a generated textarea. `rows` ''takes precedence'' over `autoHeight`, so text areas can be defined individually |\n|cancelPopups |<<.from-version \"5.1.23\">> if set to \"yes\", cancels all popups when the input gets focus |\n|inputActions |<<.from-version 5.1.23>> Optional actions that are triggered every time an input event occurs within the input field or textarea.<br><<.from-version \"5.2.1\">> The variable `actionValue` is available to the `inputActions` and contains the value of the input field. |\n|refreshTitle |<<.from-version 5.1.23>> An optional tiddler title that makes the input field update whenever the specified tiddler changes |\n|disabled|<<.from-version \"5.1.23\">> Optional, disables the text input if set to \"yes\". ''Defaults'' to \"no\"|\n|fileDrop|<<.from-version \"5.2.0\">> Optional. When set to \"yes\" allows dropping or pasting images into the editor to import them. ''Defaults'' to \"no\"|\n\n! Examples\n\nIf you wanted to change the field `myconfig` of the tiddler `AppSettings`, you could use an ~EditTextWidget to edit the field, and then show the result anywhere else by using `{{AppSettings!!myconfig}}`. Note that this will create tiddler AppSettings if it doesn't already exist.\n\n<$macrocall $name=\".example\" n=\"1\"\neg=\"\"\"<$edit-text tiddler=\"AppSettings\" field=\"myconfig\"/><p/>\nValue of ''myconfig'' : {{AppSettings!!myconfig}}\n\"\"\"/>\n\n!! Text Selection\n\nIf the edit field already contains text or a default value is provided, you can use the `focusSelectFromStart` and `focusSelectFromEnd` attributes to only select part of the text when using `focus=\"yes\"`.\n\nPartial selection when editing this tiddler's //caption// field:\n\n<$macrocall $name=\".example\" n=\"2\"\neg=\"\"\"<$edit-text tiddler=<<currentTiddler>> field=\"caption\" focus=\"yes\" focusSelectFromStart=\"5\" />\n\"\"\"/>\n\n!!! {{!!heading}}\n\nProvide a dated heading for this example where only the placeholder (but not the date) is selected for easier text input:\n\n<$macrocall $name=\".example\" n=\"3\"\neg=\"\"\"<$edit-text tiddler=<<currentTiddler>> field=\"heading\" size=\"25\" focus=\"yes\" focusSelectFromEnd=\"13\" default={{{ [[Heading Text (]] [<now YYYY-0MM-0DD>] [[)]] +[join[]] }}} />\n\"\"\"/>\n\n!!! Input Actions, with class attribute\n\n<$macrocall $name=\".example\" n=\"4\"\neg=\"\"\"\\procedure onInput()\n  <%if [get[temp]match[$:/]] %>\n\t\t<$action-confirm $message=\"Yes, this is how system tiddler names begin!\"/>\n  <%endif%>\n\\end\n\nType a new tiddler name, starting with the system prefix `$:/`: <$edit-text inputActions=<<onInput>> field=\"temp\" class=\"tc-edit-texteditor\"/>\n\"\"\"/>\n\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/EditWidget.tid",
    "content": "caption: edit\ncreated: 20131024141900000\nmodified: 20240627220419761\ntags: Widgets TriggeringWidgets\ntitle: EditWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nThe edit widget provides a general purpose interface for editing a tiddler. It dynamically chooses the appropriate widget depending on the type of the tiddler (currently either the EditTextWidget or the EditBitmapWidget).\n\n! Content and Attributes\n\nThe content of the `<$edit>` widget is ignored.\n\n|!Attribute |!Description |\n|tiddler |The tiddler to edit (defaults to the [[current tiddler|Current Tiddler]]) |\n|field |The field to edit (defaults to `text`). Takes precedence over the `index` attribute |\n|index |The index to edit |\n|class |A CSS class to be added the generated editing widget |\n|tabindex |Sets the `tabindex` attribute of the input or textarea to the given value |\n|autocomplete |<<.from-version 5.1.23>> An optional string to provide a hint to the browser how to handle autocomplete for this input |\n|cancelPopups |<<.from-version \"5.1.23\">> if set to \"yes\", cancels all popups when the input gets focus |\n|inputActions |<<.from-version 5.1.23>> Optional actions that are triggered every time an input event occurs within the input field or textarea |\n|refreshTitle |<<.from-version 5.1.23>> An optional tiddler title that makes the input field update whenever the specified tiddler changes |\n\n! Examples\n\n!! Edit the contents (text field) of a tiddler titled <%if [<now YYYY-0MM-0DD>is[tiddler]] %> <$tiddler tiddler=<<now YYYY-0MM-0DD>> > <$link/></$tiddler> <%else %> with today’s date <%endif%>\n\n<$macrocall $name=\".example\" n=\"1\"\neg=\"\"\"<$edit tiddler=<<now YYYY-0MM-0DD>> class=\"tc-edit-texteditor\"/>\n\"\"\"/>\n\n!! Edit $:/status/UserName with single-line input box, have browser offer autocomplete for email\n\n<$macrocall $name=\".example\" n=\"2\"\neg=\"\"\"<$edit-text tiddler=\"$:/status/UserName\" tag=\"input\" size=40 autocomplete=\"email\"/>\n\"\"\"/>"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/EncryptWidget.tid",
    "content": "caption: encrypt\ncreated: 20131024141900000\nmodified: 20230803050114889\ntags: Widgets\ntitle: EncryptWidget\n\n! Introduction\n\nThe encrypt widget renders a filtered list of tiddlers to an encrypted block with the password currently held in the PasswordVault. The encrypted block can subsequently be decrypted by the TiddlyWiki5 BootMechanism. See the [[EncryptionMechanism|Encryption]] for more details.\n\n! Content and Attributes\n\nThe content of the `<$encrypt>` widget is ignored.\n\n|!Attribute |!Description |\n|filter |Filter defining the tiddlers to be included in the encrypted block. If not specified then all non-system tiddlers are used |\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/EntityWidget.tid",
    "content": "caption: entity\ncreated: 20160314165608218\nmodified: 20160314165658703\ntags: Widgets\ntitle: EntityWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nThe entity widget displays a specified HTML character entity.\n\n! Content and Attributes\n\nThe content of the `<$entity>` widget is not used.\n\n|!Attribute |!Description |\n|entity |The entity to display (eg, `&times;`) |\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/ErrorWidget.tid",
    "content": "caption: error\ncreated: 20220909111836951\nmodified: 20230419103154328\ntags: Widgets\ntitle: ErrorWidget\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.2.4\">> The <<.wlink ErrorWidget>> widget is used by the core to display error messages such as the recursion errors reported by the <<.wlink TranscludeWidget>> widget.\n\nThe <<.wlink ErrorWidget>> does not provide any useful functionality to end users. It is only required by the core for technical reasons.\n\n! Content and Attributes\n\nThe content of the <<.wlink ErrorWidget>> widget is ignored.\n\n|!Attribute |!Description |\n|$message |The error message |\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/EventCatcherWidget.tid",
    "content": "created: 20201123113532200\nmodified: 20260125202715594\ntags: Widgets TriggeringWidgets\ntitle: EventCatcherWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\n<<.from-version \"5.1.23\">>\n\n//This is an advanced widget intended for use by those familiar with HTML, CSS and JavaScript handling of DOM events.//\n\nThe event catcher widget traps DOM-initiated Javascript events dispatched within its child content, and allows invoking a series of ActionWidgets in response to those events.\n\nUse of the event catcher widget is beneficial when using large numbers of other trigger widgets such as the ButtonWidget is causing performance problems. The workflow it enables is akin to what is referred to as \"event delegation\" in JavaScript parlance.\n\nIn order for the events to be trapped:\n\n* The event must be of one of the events specified in the event catcher widget's attributes\n* The event must target a DOM node with an ancestor that matches the widget's `selector` attribute\n* <<.from-version \"5.2.2\">> Optionally, the DOM node targeted by the event must also match the widget's `matchSelector` attribute\n* The event must support event bubbling\n* <<.from-version \"5.4.0\">> The widget must be enabled (`enabled=\"yes\"`)\n* <<.from-version \"5.4.0\">> Pointer events may continue to be trapped outside the widget DOM boundaries if pointer capture is enabled\n\n! Content and Attributes\n\nThe content of the `<$eventcatcher>` widget is displayed normally.\n\n|!Attribute |!Description |\n|selector |A CSS selector. Only events originating inside a DOM node with this selector will be trapped |\n|matchSelector |<<.from-version \"5.2.2\">> An optional CSS selector. Only events targeting DOM nodes matching this selector will be trapped |\n|//{any attributes starting with $}// |<<.from-version \"5.2.0\">> Each attribute name (excluding the $) specifies the name of an event, and the value specifies the action string to be invoked. For example: `$click=<<clickActions>>` |\n|tag |Optional. The HTML element the widget creates to capture the events, defaults to:<br>» `span` when parsed in inline-mode<br>» `div` when parsed in block-mode |\n|class |Optional. A CSS class name (or names) to be assigned to the widget HTML element |\n|stopPropagation |<<.from-version \"5.2.0\">> Optional. Set to \"always\" to always stop event propagation even if there are no corresponding actions to invoke, \"never\" to never stop event propagation, or the default value \"onaction\" with which event propagation is only stopped if there are corresponding actions that are invoked |\n|enabled |<<.from-version \"5.4.0\">> Optional. Enables or disables the event catcher widget. Set to \"no\" to remove all event listeners while keeping the widget’s DOM structure intact. Defaults to \"yes\" |\n|pointerCapture |<<.from-version \"5.4.0\">> Optional. Enables native pointer capture for pointer events. Possible values are \"no\", \"yes\", or \"dynamic\". Defaults to \"no\" |\n|events |//(removed – see below)// Space separated list of JavaScript events to be trapped, for example \"click\" or \"click dblclick\" |\n|actions-* |//(removed – see below)// Action strings to be invoked when a matching event is trapped. Each event is mapped to an action attribute name of the form <code>actions-<em>event</em></code> |\n\n<<.from-version \"5.4.0\">> The attributes `events` and `actions-*` have been removed as they are no longer needed. Instead you can use attributes starting with `$` where the attribute name (excluding the `$`) specifies the name of the event and the value specifies the action string to be invoked.\n\n! Pointer Capture\n\n<<.from-version \"5.4.0\">>  \nThe `pointerCapture` attribute enables native [[Pointer Events|https://developer.mozilla.org/en-US/docs/Web/API/Pointer_events]] support using `setPointerCapture()`. This allows pointer interactions to continue to be tracked even if the pointer moves outside the widget’s DOM nodes or the browser viewport.\n\nThis is particularly useful for drag-and-drop interfaces, sliders, drawing tools, and other pointer-driven interactions.\n\n!! Values\n\n* `no` (default)  \nPointer capture is not used. Pointer events are only received while the pointer remains within the widget’s DOM nodes.\n\n* `yes`  \nPointer capture is enabled whenever a `pointerdown` event occurs. All pointer event handlers specified on the widget remain active for the lifetime of the widget.\n\n* `dynamic`  \nPointer capture is enabled only for the duration of an active pointer interaction.  \nEvent handlers for `pointerup`, `pointercancel`, and optionally `pointermove` are attached only while pointer capture is active and are removed when the interaction ends.  \nThis mode minimizes active event listeners and is recommended for performance-sensitive use cases.\n\n!! Notes\n\n* Pointer capture only applies to pointer events such as `pointerdown`, `pointermove`, `pointerup`, and `pointercancel`\n* Pointer capture does not affect mouse or touch events\n* Pointer capture is automatically released on `pointerup` or `pointercancel`\n\n! Enabling and Disabling the Widget\n\n<<.from-version \"5.4.0\">>  \nThe `enabled` attribute allows the event catcher widget to be temporarily disabled without removing it from the DOM.\n\nWhen `enabled=\"no\"`:\n\n* All event listeners are removed\n* No actions are invoked\n* The widget’s DOM node and child content remain unchanged\n\n\n! Variables\n\nThe following variables are made available to the actions:\n\n|!Variables |!Description |\n|`dom-*` |All DOM attributes of the node matching the given selector are made available as variables, with the prefix `dom-` |\n|`modifier` |The [[modifier Variable]] contains the Modifier Key held during the event |\n|`event-mousebutton` |The mouse button (if any) used to trigger the event (can be \"left\", \"right\" or \"middle\") <<.infoBox \"\"\"This property is only reliable for events caused by pressing or releasing mouse buttons. It is not reliable for mouseenter, mouseleave, mouseover, mouseout, or mousemove. More details at: https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button\"\"\">> |\n|`event-type` |The type property of the JavaScript event. <<.deprecated-since 5.4.0>> Removed in favour of `eventJSON`|\n|`event-detail-*` |Any properties in the detail attribute of the event are made available with the prefix `event-detail-`. <<.deprecated-since 5.4.0>> Removed in favour of `eventJSON` |\n|`tv-popup-coords` |A relative coordinate string that can be used with the ActionPopupWidget |\n|`tv-popup-abs-coords` |<<.from-version \"5.2.4\">> An absolute coordinate string that can be used with the ActionPopupWidget |\n|`tv-widgetnode-width` |<<.from-version \"5.2.3\">> `offsetWidth` of the DOM node created by the eventcatcher widget |\n|`tv-widgetnode-height` |<<.from-version \"5.2.3\">> `offsetHeight` of the DOM node created by the eventcatcher widget |\n|`tv-selectednode-posx` |`x` offset position of the selected DOM node |\n|`tv-selectednode-posy` |`y` offset position of the selected DOM node |\n|`tv-selectednode-width` |`offsetWidth` of the selected DOM node |\n|`tv-selectednode-height` |`offsetHeight` of the selected DOM node |\n|`event-fromselected-posx` |`x` position of the event relative to the selected DOM node |\n|`event-fromselected-posy` |`y` position of the event relative to the selected DOM node |\n|`event-fromcatcher-posx` |`x` position of the event relative to the event catcher DOM node |\n|`event-fromcatcher-posy` |`y` position of the event relative to the event catcher DOM node |\n|`event-fromviewport-posx` |<<.from-version \"5.2.0\">> `x` position of the event relative to the viewport |\n|`event-fromviewport-posy` |<<.from-version \"5.2.0\">> `y` position of the event relative to the viewport |\n|`eventJSON`|<<.from-version \"5.4.0\">>A stringified JSON object containing string-safe copies of the event’s own properties. Can be accessed using the [[jsonget Operator]]. |\n\n! Example\n\nThis example illustrates how to work with click and right click events:\n\n```\n\\procedure card-click-actions()  \n<$action-setfield $tiddler=\"$:/temp/selected-card\" text=<<dom-data-card-id>>/>  \n\\end  \n  \n\\procedure card-context-actions()  \n<$action-setfield $tiddler=\"$:/temp/context-menu\"   \n  text=`Showing context menu for card: {{!!card}}`\n  card=<<dom-data-card-id>>\n  x=<<event-fromviewport-posx>>  \n  y=<<event-fromviewport-posy>>/>  \n\\end  \n  \n<$eventcatcher   \n  selector=\".gallery-card\"   \n  $click=<<card-click-actions>>   \n  $contextmenu=<<card-context-actions>>  \n  class=\"card-gallery\">  \n  \n<div class=\"gallery-card\" data-card-id=\"card1\" style=\"border: 1px solid #ccc; padding: 10px; margin: 5px; cursor: pointer;\">  \n  <h3>1: Mountain Landscape</h3>  \n  <p>Click to select, right-click for options</p>  \n</div>  \n  \n<div class=\"gallery-card\" data-card-id=\"card2\" style=\"border: 1px solid #ccc; padding: 10px; margin: 5px; cursor: pointer;\">  \n  <h3>2: Ocean View</h3>  \n  <p>Click to select, right-click for options</p>  \n</div>  \n  \n<div class=\"gallery-card\" data-card-id=\"card3\" style=\"border: 1px solid #ccc; padding: 10px; margin: 5px; cursor: pointer;\">  \n  <h3>3: City Skyline</h3>  \n  <p>Click to select, right-click for options</p>  \n</div>  \n  \n</$eventcatcher>  \n  \n<!-- Display selected card info -->  \n<$reveal type=\"nomatch\" state=\"$:/temp/selected-card\" text=\"\">  \n<div style=\"background: #f0f0f0; padding: 10px; margin-top: 10px;\">  \n  <strong>Selected:</strong> {{$:/temp/selected-card}}  \n</div>  \n</$reveal>  \n  \n<!-- Display context menu info -->  \n<$reveal type=\"nomatch\" state=\"$:/temp/context-menu\" text=\"\">  \n<div style=\"background: #ffe0e0; padding: 10px; margin-top: 10px;\">  \n  {{$:/temp/context-menu}}  \n</div>  \n</$reveal>\n```\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/Extended Listops Filters.tid",
    "content": "created: 20151014170727812\ndays: Fri Wed Mon Tue\ndofwks: Mon Tue Wed Thu Fri Sat Sun\nitem1: six\nitem2: seven\nitem3: eight\nlist: Yesterday Today Tomorrow\nmarker: Thursday\nmodified: 20230227175501965\nmyfield: Monday Tuesday [[Middle of the Week]] Thursday Friday Saturday Sunday\nnumbers: 1 2 3 4 five 6 7 8 9\ntags: Filters\ntitle: Extended Listops Filters\n\n\\define .operator-rows(filter)\n<$list filter=\"$filter$\"><tr>\n<td><$link>{{!!caption}}</$link></td>\n<td>{{!!op-purpose}}</td>\n<td align=\"center\"><$list filter=\"[all[current]tag[Common Operators]]\">✓</$list></td>\n<td align=\"center\"><$list filter=\"[all[current]tag[Negatable Operators]]\">`!`</$list></td>\n</tr></$list>\n\\end\n\n\\define .group-heading(_)\n<tr class=\"doc-table-subheading\"><th colspan=\"4\" align=\"center\">$_$</th></tr>\n\\end\n\n! Introduction\n\nA number of filters are used to manipulate lists. \n\nSome filters are designed to move items from the tail of the list and insert them at specified locations in the list, e.g. [[putafter|putafter Operator]] or [[putbefore|putbefore Operator]]. Items are often appended to the list before using these filters. In general, these filters accept a suffix specifying the number of items to move (default to 1.) \n\nSome filters are designed to either add or remove from the list, a selected range of items from an array, e.g. [[append|append Operator]] or [[remove|remove Operator]]. These filters are best used with a reference to an array, stored in a field or data index elsewhere in the wiki (they may be used with a simple list of items, provided the items do not include white space.) In general, these filters accept a suffix specifying the number of items to move (default to All.)\n\n<table>\n<<.group-heading \"Listops Operators\">>\n<tr>\n<th align=\"left\">Operator</th>\n<th align=\"left\">Purpose</th>\n<th>✓</th>\n<th>`!`</th>\n</tr>\n<<.operator-rows \"[tag[Filter Operators]tag[Listops Operators]tag[Order Operators]!tag[String Operators]!tag[Tag Operators]!tag[Special Operators]sort[]]\">>\n</table>\n\n! Examples\n\nIn this example we shall populate the '~DataIndex' index of the tiddler '~MyData' with the names of the days of the week, then clear this list. \n\n<$macrocall $name='wikitext-example-without-html'\nsrc=\"\"\"<$button>\n<$action-listops $tiddler=\"ListopsData\" $index=\"DataIndex\" $filter=\"[list[Days of the Week]]\"/>\nGet days-of-the-week\n</$button> \n<$button>\n<$action-listops $tiddler=\"ListopsData\" $index=\"DataIndex\" $filter=\"[[]]\"/>\nClear\n</$button>\n\n{{ListopsData}}\"\"\"/>\n\n---\nIn this example we shall slice the populated list from the 'DaysOfTheWeek' index of the tiddler '~MyData' in order to insert items before and after a marker item (Wednesday) that are first appended to the list.\n\n<$macrocall $name='wikitext-example-without-html'\nsrc=\"\"\"<$button>\n<$action-listops $tiddler=\"ListopsData\" $index=\"DataIndex\" $subfilter=\"one two +[putbefore:2[Wednesday]]\"/>\nPut 2 Items Before Wednesday\n</$button> \n<$button>\n<$action-listops $tiddler=\"ListopsData\" $index=\"DataIndex\" $subfilter=\"four five +[putafter:2[Wednesday]] three +[putbefore[Wednesday]]\"/>\nPut One Item Before & Two Items After Wednesday\n</$button>\n\n{{ListopsData}}\"\"\"/>\n\n---\nIn this example we shall slice the populated list from the 'DaysOfTheWeek' index of the tiddler '~MyData' in order to replace the marker item (Wednesday) with items which are first appended to the list. We shall then move 3 items to the head of the list which have first been appended to the list from referenced fields.\n\n<$macrocall $name='wikitext-example-without-html'\nsrc=\"\"\"<$button>\n<$action-listops $tiddler=\"ListopsData\" $index=\"DataIndex\" $subfilter=\"[[---o]] [[o---]] +[replace:2{!!marker}]\"/>\nReplace '!!marker' with 2 Items\n</$button>\n<$button>\n<$action-listops $tiddler=\"ListopsData\" $index=\"DataIndex\" $subfilter=\"[{!!item1}] [{!!item2}] [{!!item3}] +[putfirst:3[]]\"/>\nPut 3 Items First\n</$button>\n\n{{ListopsData}}\"\"\"/>\n\n---\nIn this example we shall slice the populated list from the 'DaysOfTheWeek' index of the tiddler '~MyData' in order to append to the truncated list, items from a referenced field. We shall then remove the first two of the items added.\n\n<$macrocall $name='wikitext-example-without-html'\nsrc=\"\"\"|list: |<$view field=\"list\"/> |\n\n<$button>\n<$action-listops $tiddler=\"ListopsData\" $index=\"DataIndex\" $subfilter=\"+[allbefore:include[Wednesday]] +[prepend{!!list}]\"/>\nPrepend '!!list' to items before 'Wednesday'\n</$button> \n<$button>\n<$action-listops $tiddler=\"ListopsData\" $index=\"DataIndex\" $subfilter=\"+[remove:2{!!list}]\"/>\nRemove first two items in '!!list' from current list\n</$button>\n<$button>\n<$action-listops $tiddler=\"ListopsData\" $index=\"DataIndex\" $subfilter=\"+[!remove:1{!!list}]\"/>\nRemove last item in '!!list' from current list\n</$button>\n\n{{ListopsData}}\"\"\"/>\n\n---\nIn this example we shall populate the list with numbers, then move items one by one from the head to the tail and from the tail to the head (best seen by clicking the lower buttons several times.) \n\nThis example illustrates that the append[] and prepend[] operators do not enforce unique instances of an item and that, with the next run, any duplicates are removed.\n\n<$macrocall $name='wikitext-example-without-html'\nsrc=\"\"\"<$button>\n<$action-listops $tiddler=\"ListopsData\" $index=\"DataIndex\" $filter=\"[[]]\" $subfilter=\"+[append:3{!!numbers}]\"/>\nSetup some numbers\n</$button>\n<$button>\n<$action-listops $tiddler=\"ListopsData\" $index=\"DataIndex\" $subfilter=\"+[!append:6{!!numbers}]\"/>\nAppend more numbers\n</$button>\n\n<$button>\n<$action-listops $tiddler=\"ListopsData\" $index=\"DataIndex\" $subfilter=\"+[putfirst:2[]]\"/>\nMove last 2 items to the head\n</$button>\n<$button>\n<$action-listops $tiddler=\"ListopsData\" $index=\"DataIndex\" $subfilter=\"+[putlast[]]\"/>\nMove the head to the last item\n</$button>\n\n{{ListopsData}}\"\"\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/FieldMangler Widget (Examples).tid",
    "content": "created: 20150706160301163\nmodified: 20150706172915783\ntags: [[Widget Examples]] FieldManglerWidget\ntitle: FieldMangler Widget (Examples)\ntype: text/vnd.tiddlywiki\n\n<$macrocall $name=\".example\" n=\"1\"\neg=\"\"\"\n<$fieldmangler>\nAdd tag ''example'' to this tiddler (current)<$button message=\"tm-add-tag\" param=\"example\">{{$:/core/images/new-button}}</$button>\n<br>\nRemove tag ''example'' to this tiddler (current)<$button message=\"tm-remove-tag\" param=\"example\">{{$:/core/images/delete-button}}</$button>\n</$fieldmangler>\n\"\"\"/>\n\n\n<$macrocall $name=\".example\" n=\"2\"\neg=\"\"\"\n<$fieldmangler tiddler=\"Hello World\">\nAdd tag ''example'' to the Hello World tiddler<$button message=\"tm-add-tag\" param=\"example\">{{$:/core/images/new-button}}</$button>\n<br>\nRemove tag ''example'' to the Hello World tiddler<$button message=\"tm-remove-tag\" param=\"example\">{{$:/core/images/delete-button}}</$button>\n</$fieldmangler>\n\"\"\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/FieldManglerWidget.tid",
    "content": "caption: fieldmangler\ncreated: 20131024141900000\nmodified: 20211009122821085\ntags: Widgets MessageHandlerWidgets\ntitle: FieldManglerWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nThe field mangler widget manipulates the fields and tags of a tiddler. It does so in response to the following [[Messages]]:\n\n|!Message |!Description |\n|''tm-remove-field'' |Remove the field specified in `event.param` |\n|''tm-add-field'' |Add the field specified in `event.param` |\n|''tm-remove-tag'' |Remove the tag specified in `event.param` |\n|''tm-add-tag'' |Add the tag specified in `event.param` |\n\n! Content and Attributes\n\nThe field mangler widget displays any contained content, and responds to [[Messages]] dispatched within it.\n\n|!Attribute |!Description |\n|tiddler |Title of the tiddler to manipulate (defaults to the [[current tiddler|Current Tiddler]]) |\n\n<<.widget-examples \"FieldMangler\">>\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/FieldsWidget.tid",
    "content": "title: FieldsWidget\ncreated: 201310241419\nmodified: 20150220161240000\ntags: Widgets\ncaption: fields\n\n! Introduction\n\nThe fields widget renders each field of a specified tiddler through a simple text template. A list of fields to exclude can be provided. It is used internally by TiddlyWiki5, notably by the FileSavingMechanism.\n\n!! Template Handling\n\nThe provided template is rendered with the following special substitutions:\n\n|!Symbol |!Substitution |\n|$name$ |Field name |\n|$value$ |Field value |\n|$encoded_value$ |HTML encoded form of field value |\n\n! Content and Attributes\n\nThe content of the `<$fields>` widget is ignored.\n\n|!Attribute |!Description |\n|tiddler |Title of the tiddler from which the fields are to be displayed (defaults to the [[current tiddler|Current Tiddler]]) |\n|template |Text of the template (see above) |\n|exclude |Lists of fields to be excluded (defaults to \"text\") |\n|include |Lists of fields to be included, if the field exists. This parameter takes precedence over \"exclude\" |\n|sort |Sorts the fields by name (defaults to \"yes\"). Set to \"no\", if \"include\" order should be retained! |\n|sortReverse |Reverses the sort order|\n|stripTitlePrefix |If set to \"yes\" then curly bracketed prefixes are removed from titles (for example `{prefix}HelloThere` converts to `HelloThere`) |\n\nThe `stripTitlePrefix` attribute is used when building TiddlyWiki Classic; see `editions/tw2` in the TiddlyWiki5 repo.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/FillWidget.tid",
    "content": "caption: fill\ncreated: 20220909111836951\nmodified: 20230511123456782\ntags: Widgets\ntitle: FillWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\n<<.from-version \"5.3.0\">> The <<.wlink FillWidget>> widget is used within a <<.wlink TranscludeWidget>> widget to specify the content that should be copied to the named \"slot\". Slots are defined by the <<.wlink SlotWidget>> widget within the transcluded content.\n\nSee the <<.wlink TranscludeWidget>> widget for details and an example. More examples can be found in the <<.wlink SlotWidget>> widget documentation.\n\n! Attributes\n\nThe content of the <<.wlink FillWidget>> widget is used as the content to be passed to the transclusion.\n\n|!Attribute |!Description |\n|$name |The name of the slot to be filled |\n\n<<.warning \"\"\"The $name attribute must be specified as a literal string\"\"\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/GenesisWidget.tid",
    "content": "caption: genesis\ncreated: 20221101100729587\nmodified: 20231214093716044\ntags: Widgets\ntitle: GenesisWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\n<<.from-version \"5.2.4\">> The <<.wid genesis>> widget allows the dynamic construction of another widget, where the name and attributes of the new widget can be dynamically determined, without needing to be known in advance.\n\n! Content and Attributes\n\nThe content of the <<.wid genesis>> widget is used as the content of the dynamically created widget.\n\n|!Attribute |!Description |\n|$type |The type of widget or element to create (an initial `$` indicates a widget, otherwise an HTML element will be created) |\n|$remappable |Set to \"no\" to prevent the generated widget from being affected by any custom widget overrides. Needed when invoking the original widget within a custom widget definition |\n|$names |An optional filter evaluating to the names of a list of attributes to be applied to the widget |\n|$values |An optional filter evaluating to the values corresponding to the list of names specified in <<.attr $names>> |\n|$mode |An optional override of the parsing mode. May be \"inline\" or \"block\" |\n|//{other attributes starting with $}// |Other attributes starting with a single dollar sign are reserved for future use |\n|//{attributes starting with $$}// |Attributes starting with two dollar signs are applied as attributes to the output widget, but with the attribute name changed to use a single dollar sign |\n|//{attributes not starting with $}// |Any other attributes that do not start with a dollar are applied as attributes to the output widget or HTML Element |\n\n<<.from-version \"5.2.6\">> If the `$type` attribute is missing or blank, the <<.wlink GenesisWidget>> widget does not render an intrinsic element, instead just rendering its children.\n\n<<.from-version \"5.3.6\">> Note that attributes explicitly specified take precedence over attributes with the same name specified in the `$names` filter. This has always been the documented behaviour but prior to [[Release 5.3.6]] the implementation was reversed, and the `$names` attributes took precedence. This was fixed in [[Release 5.3.6]].\n\n! Examples\n\n<$macrocall $name=\"wikitext-example\"\nsrc=\"\"\"<$genesis $type=\"div\" class=\"tc-thing\" label=\"Squeak\">Mouse</$genesis>\"\"\"/>\n\n<$macrocall $name=\"wikitext-example\"\nsrc=\"\"\"\\define my-banner(mode:\"inline\",caption)\n<$genesis $type={{{ [<__mode__>match[inline]then[span]else[div]] }}} class=\"tc-mybanner\">\n<<__caption__>>\n</$genesis>\n\\end\n\n<<my-banner caption:\"I'm in a SPAN\">>\n\n<<my-banner mode:\"block\" caption:\"I'm in a DIV\">>\n\"\"\"/>\n\n! Important\n\n<$macrocall $name=\".warning\" _=\"\"\"\nIn the following example the widget attribute named `one` is not present in the HTML output. This is because HTML attributes starting with the prefix `on` are removed for security reasons. See [[HTML in WikiText]] \"Security\" for more details. This restriction only affects generated HTML elements, and does not prevent the use of attributes prefixed `on` with other widgets\"\"\"/>\n\n<<wikitext-example '<$genesis $type=\"my-element\" $names=\"one two\" $values=\"1 2\">Test Genesis Widget</$genesis>'>>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/ImageWidget.tid",
    "content": "caption: image\ncreated: 20140416160234142\nmodified: 20260126114209242\ntags: Widgets\ntitle: ImageWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nThe image widget displays images that can be specified as a remote URL or the title of a local tiddler containing the image.\n\n! Content and Attributes\n\nAny content of the `<$image>` widget is ignored.\n\n|!Attribute |!Description |\n|source |The URL of the image, or the title of an image tiddler |\n|width |The width of the image |\n|height |The height of the image |\n|tooltip |The tooltip to be displayed over the image |\n|alt |The alternative text to be associated with the image |\n|class |CSS classes to be assigned to the `<img>` element |\n|loading|<<.from-version \"5.2.3\">>Optional. Set to `lazy` to enable lazy loading of images loaded from an external URI |\n|usemap|<<.from-version \"5.3.2\">>Optional usemap attribute to be assigned to the `<img>` element for use with HTML image maps |\n|loadActions|<<.from-version \"5.4.0\">>Optional actions invoked when the image has completed loading. See below for variables passed to the actions.|\n\nThe width and the height can be specified as pixel values (eg \"23\" or \"23px\") or percentages (eg \"23%\"). They are both optional; if not provided the browser will use CSS rules to size the image.\n\n\n'' The following variables are accessible in the //loadActions//:''\n<<.from-version 5.4.0>>\n\n|!Variables |!Description |\n|`dom-*` |All DOM attributes of the image are made available as variables, with the prefix `dom-` |\n|`tv-popup-coords` |A relative co-ordinate string that can be used with the ActionPopupWidget to trigger a popup at the image|\n|`tv-popup-abs-coords` |<<.from-version \"5.2.4\">> An absolute co-ordinate string that can be used with the ActionPopupWidget to trigger a popup at the image (see [[Coordinate Systems]] for more information) |\n|`tv-selectednode-posx` |`x` offset position of the image DOM node |\n|`tv-selectednode-posy` |`y` offset position of the image DOM node  |\n|`tv-selectednode-width` |`offsetWidth` of the image DOM node |\n|`tv-selectednode-height` |`offsetHeight` of the image DOM node |\n|`img-natural-width` |Original intrinsic width of the image |\n|`img-natural-height` |Original intrinsic height of the image |\n\n\n! Responsive images and `<map>`\n\n[[Image maps area|https://developer.mozilla.org/en-US/docs/Web/HTML/Element/area]] coordinates are numbers of CSS pixels, therefore they do not scale. If you want to use responsive images, you can use a `svg` and `foreignObject`: \n\n<svg viewBox=\"0 0 330 333\" xmlns=\"http://www.w3.org/2000/svg\" width=\"50%\">\n<foreignObject width=\"100%\" height=\"100%\">\n[img[Tiddler Fishes.svg]]\n</foreignObject>\n<g transform=\"translate(-216 -290)\" >\n<a href=\"#:[[Orange fish]]\">\n<title>Orange fish</title>\n<path opacity=\"0\" d=\"m309.4 403.5c-2.3-1.6-4-3.3-5.3-5.2-.4-.9-.7-1.8-1-2.8-.9-3.4-1.4-7.5-.9-11.3.1-1 .3-1.9.5-2.8.8-2 1.8-3.9 2.9-5.7.3-.3.6-.6.9-.8.4-.4.9-.7 1.4-1l1.3-.6 5-.3c4.1-.3 8-.9 11.9-1.7 10.9-2.3 20.8-6.6 29.5-13.1 2.4-1.8 4.7-3.9 6.8-6.1-1.6 6.2-2.5 11.8-9 19.5 5.7 1.6 11.6 4 13.6-6 3.8 5.9 8.9 3.1 9.8-5.3 5.4 6.7 8.4 3 8.4-4.3 6.4 5.2 10.6.8 12.2-5.5-4.9-1.1-20 2.4-25.1-6.7.1 0 .2-.1.3-.1 3-1.3 6.6-2.1 10.2-2.4 1.5-.1 3-.1 4.5-.1l2.5-.2c1.5-.1-.3-.1 1.1-.2.6 0 1.3-.1 1.9-.1.8-.1 1.6-.2 2.4-.3.7.1 1.5.2 2.2.3 1.4.1 3.1.2 4.2-.5.4-.2.5-.6.6-1.1.1-.4.1-.7.2-1.1.6-4.3.1-8.7-1.4-12.3-.5-1.1-1.1-2.1-1.7-3.1-3.5-5.1-9.1-8.1-14.9-9.6-1.4-.4-2.9-.6-4.5-.8-2.1-.2-4.3-.3-6.4-.2-6.9.3-13.2 2.1-18.8 4.9.9-4.4 4.8-10.5 7.7-14.5-.7-.3-1.5-.4-2.3-.4-5.5-.2-11.8 5.4-13.8 10.9-4.2-4.5-13.8.9-12.9 5-7.8-2.9-11.5 2.7-9.6 9.3-4.6-.2-9.6 3-9 8.1 8.3-5.1 13.4.8 15.3 6.6-1.1 1.3-2.2 2.6-3.4 3.8-4.4 4.6-9.4 8.3-14.6 11.3-5.3 3-10.9 5.4-17.1 6.5-2.9.5-6.1.8-9.1.3-3.4-1-6.2-3-8.6-6.3-.5-.8-1.1-1.8-1.4-2.4l-1 .8c-1.7 1.9-3.2 3.8-4.4 6-.9 1.7-1.8 3.5-2.1 5.6-.4 2.9.4 5.5 2.1 7.4 2.4 2.6 5.8 3.9 9.1 4.7 1 .2 2 .5 3 .6l2 .3-.5 1.9c-.4 1.4-.6 2.8-.8 4.3-.6 5 .6 9.7 4.2 12.8 1 .9 2.2 1.6 3.4 2.2 1.6.7 3.3 1.2 5.1 1.5 2.1.3 4.6.4 6.8 0 1 .1 2.1.2 3.8.2 1.3 0 1.9.1 2.6.1z\"/>\n</a>\n<a href=\"#:[[Cyan fish]]\">\n<title>Cyan fish</title>\n<path opacity=\"0\" d=\"m273.6 408.6c-3.2-.2-6.1 2.4-7.2 5.5-4.8-3.6-10.5-2.3-10.6 5-3.1-2-10.5 4.1-8.1 9-5.8 0-13.5 4.5-13.5 10 .8-.2 1.6-.4 2.4-.6 5.4-1.3 12.3-2.2 14.6 0-.6.5-1.2.9-1.9 1.4-2.3 1.9-4.6 3.8-6.9 5.9-5.1 4.8-9.3 10-12.3 15.9-.8 1.5-1.3 3.1-1.9 4.7-.7 2.2-1.4 4.5-1.9 6.9-.5 2.2-.8 4.5-1 6.9-.1 1.7-.2 3.5-.1 5.3.3 10.7 4.6 19.5 11.6 26.8 1.2 1.3 2.6 2.5 3.9 3.7.7.6 1.5 1.2 2.3 1.8 1 .8 2 1.6 3 2.4 2.9 2.4 5.6 4.9 8.3 7.6 5.6 5.5 10.4 11.5 15.3 17.4.8 1 1.6 2 2.4 3 .5.6 1.2.5 1.6.1 2.2-1.6 1.7-4.8 1.2-7.2-.1-.6-.3-1.3-.5-1.9-.7-2.1-1.5-4.2-2.2-6.3-.6-3.1-1.1-6-1.7-9.6-1.6-1.9-1.2-4 .1-6.3-.3 1.1-.1 2.3.4 3.2.2.3.5.8.8 1-.9-1-1.2-2.6-.7-4 .3-1.1 1.1-2.1 1.9-3 2.2-2.5 4.9-4.6 7.3-6.8 1.8-1.6 3.6-3.4 4.5-5.5.1-.1.1-.3.2-.4l.1-.1c-.1-.1-.2-.2-.3-.2-.1-.1-.2-.2-.3-.3 0 0 0 0 0 0 0 0 0-.1.1-.1 0 0-.1 0-.1.1-.3-.2-.5-.5-.8-.7l-.1 0c-.1 0-.4.3-.5.3-.7.4-1.4.8-2.1 1.2-3 1.8-6.1 3.5-9.3 4.9-2.6 1.1-5.3 2.3-8.2 2.9-1.6.4-3.3.7-5.1.8-2.5.1-4.6-.2-6.6-1.1-.5-.2-1.1-.5-1.6-.9-3.1-2.2-4.8-5.5-5.8-9.1l-.7-3.5 0-.1c.1-1.2.3-2.4.7-3.5.9-2.8 2.6-5.4 4.6-7.7 4-4.3 8.6-7.6 13.3-10.6l2.1-1.3c-1.7 2.6-3.9 5.3-7.7 8.2 4.5 2.4 9.2 5.6 12.7-2.5 2.2 5.8 7 4.4 9.4-2.7 3.3 6.7 6.6 4.2 8-2.1 4.5 5.7 8.9 2.7 11.4-2.4-2.8-1.3-10.1-1.6-15.3-4.6l5.4-1.1.2 0c.1 0 .3 0 .4 0 .5 0 .9-.1 1.4-.1 1-.1 2-.1 3-.2 3.2-.2 6.5-.3 9.7-.4 4.1-.2 8.2-.3 12.3-.7 3.1-.3 6.1-.7 9-1.2.3-.1.7-.2 1.1-.4 1.1-.4 2.2-1 3.2-1.6-.4.2-.8.3-1.2.4.6-.3 1.1-.6 1.5-1 .2 0 .3 0 .5-.1.2-.1.5-.3.7-.4.7-.4 1.4-.8 2-1.2 1-.7 2-1.7 1.9-3 0-.2-.1-.5-.2-.7-.4-1.1-1.6-1.8-2.6-2.4l-4.8-2.5-.1-.2c-1.1-1.3-2.1-2.6-3.4-3.9-3.8-3.9-8.1-7.2-12.4-10-5.5-3.6-11.3-6.4-17.6-8.3-3.1-.9-6.3-1.5-9.7-1.7-1.4-.1-2.8-.1-4.2.1-.3 0-.6.1-1 .1-.1-.1-.3-.2-.4-.3-4.6-3.2-9-9.7-1.7-15.4-.7-.4-1.5-.6-2.2-.6z\"/>\n</a>\n<a href=\"#:[[Purple fish]]\">\n<title>Purple fish</title>\n<path opacity=\"0\" d=\"m426 385.2c-2.2 0-4.3 1.7-5.4 4.5-2.7-2.3-7.3-2.8-9.4.5 7.5.9 7.8 6.9 6.2 11.4-1.6.4-3.1.8-4.7 1.4-3.1 1.1-6.4 3-9.1 4.9-3.4 2.4-6.4 5.1-9.1 8-2.4 2.6-4.6 5.3-6.5 8.2-1.6 2.4-3 4.7-4.3 7.2l-1.2 2.9-2.2 2c-.8.7-1.5 1.5-2.1 2.3-.3.5-.8 1.1-.8 1.8 0 .2 0 .4 0 .6.3 1.2 1.4 1.8 2.4 2.1.7.2 1.4.4 2 .5.3 0 .5.1.7.1.3.1.6 0 .9-.1.7.2 1.3.3 2 .4l-2 0c1.3.3 2.8.7 4.2.5 2.7-.3 5.3-.7 8-1.2 3.6-.7 7.1-1.6 10.7-2.5 2.8-.7 5.6-1.5 8.4-2.1.9-.2 1.8-.4 2.6-.6.3-.1.7-.1 1-.2.6-.1 1.2-.1 1.9-.2.2 0 .3 0 .5 0-3.4 4.6-10.7 7-12.9 8.9 3.5 3.7 8 5.2 10.4-.8.9 1.7 2 3 3 3.7.1.1.2.1.3.2 1.8 1 3.4 0 4.2-4.1 3.8 5.4 8.3 5.4 8.7-.1 5.1 6.1 8.3 2.2 11.5-1-5.6-2.2-8.4-4.7-11-7.3.6 0 1.3 0 1.9 0 .5 0 1.1 0 1.6.1.1 0 .5 0 .6 0l2.6.4c.9.1 1.9.2 2.8.2 2.5.1 5 .2 7.5.2 3.1.1 6.2.2 9.4.5 2.9.2 5.7.5 8.5 1 7.9 1.4 16.3 4.1 21.2 10.5 4.7 6.2 5 13.6 4 20.3-.2 1.5-.5 3-.8 4.5-.2.7-.3 1.4-.5 2 0 .1-.1.2-.1.3.1.4.4.9.6 1.3 0 0 .2.1.2.1.3.2.6.3.9.4 1.8.6 3.8.6 5.6-.3 2.6-1.2 4.1-3.2 5.5-5.4 2.6-4 4.1-9.1 4.3-13.9 0-.6 0-1.1 0-1.7-.1-1.8-.4-4.1-1.8-5.7-.7-.8-1.4-1.1-2.4-1.4-.6-.6-1.3-1.2-2-1.8 1.8-.8 3.4-1.6 4.9-2.4.2-.1.4-.2.6-.2 1.9-.8 3.9-1.9 5.4-3.1 2-1.5 3.7-3.5 4.8-5.7.1-.2.2-.3.2-.5.1-.3.3-.6.4-1 0-.1.1-.2.1-.4.2-.6.4-1.3.6-2 .3-1.6.4-3.2.2-4.8-.2-1.4-.5-2.8-1.3-4.2-.4-.7-.9-1.3-1.6-1.6-1.5-.6-3.3-.3-4.9-.1-.9.1-1.9.3-2.8.5-1.3.3-2.7.6-4.1.9-5 1.1-10.2 2.3-15.2 2.1-2.3-.1-5-.3-7.1-1.5-1.7-1-3-2.4-4.5-3.7-1.3-1.1-2.6-2.2-3.9-3.2-6.1-4.9-12.7-9-19.8-12.5-3.6-1.8-7.6-3.2-11.6-4.2-.7-.2-1.5-.3-2.2-.5.1-3.4 8.3-6.3 13.4-7.8-2.5-4.2-10.5-4.2-14.9-1.5-.4-4.8-8.8-6.2-10.3-3.2-1.5-2.4-3.2-3.5-5-3.5z\"/>\n</a>\n<a href=\"#:[[Green fish]]\">\n<title>Green fish</title>\n<path opacity=\"0\" d=\"m358.4 492.9c1-2.3 1.8-4.5 2.3-6.7.6-1.7.9-3.4.7-5.2-.1-.5-.1-1.3-.4-1.7-.5-.6-1.2-.7-1.9-1-.5-.2-.9-.3-1.4-.5-5-1.6-10.2-2.7-15.6-2.7-.8 0-1.5 0-2.3.1-2.6.2-5.5.8-8.1 1.7-4.6 1.7-8.4 4.6-11.4 8.2-3.7 4.3-6.3 9.6-8.2 14.9-.1-.2-.1-.3-.2-.5-1.7-4.5-1.7-12.1-1.5-17.4-6.6 1.5-10 11.8-8.4 18.7-6.4-1.6-11.8 8.8-8.6 12-8.7 1.9-8.8 9.1-3.2 13.9-4.2 2.5-6.8 8.3-3.4 12.5 4.3-8.8 11.6-7.3 16.7-3.6-0 .1-.1.3-.1.4-1 4.7-2 9.3-3.5 13.9-1.4 4.7-3.2 9.5-6.2 13.7-1.6 2.2-3.4 4.1-5.5 5.6-1.4 1-2.9 1.8-4.7 2.4-5.3 1.8-10.5 1.4-15.3.4-.9-.2-1.8-.4-2.7-.6-.9-.2-1.9-.4-2.8-.9-.2-.1-.3-.2-.5-.3-3.1-2.4-5.8-5.8-7.7-10.3-0-.3-.1-.6-.1-.9-0 .3 0 .5 0 .8-.2-.6-.5-1.2-.7-1.8-6 3.5-5.4 14.4 3.7 29.2-1.2 8.8.1 17.4 4 25.7-.1.3-.2.6-.3.9 2.2-6 5.3-12 9.4-17.2 4.5-5.7 10.1-10.1 16.3-13.6 10.3-5.8 22.4-9.4 32.9-15 7.1-3.8 13.4-8.3 18.6-14.4 2.1-2.4 4-5.1 5.7-8 1-1.8 1.9-3.5 2.6-5.4.4-1.1.7-2.3 1.1-3.5 1.2 3.2 2.1 7 2.4 12.1 5.6-2.9 12-5.3 6.3-14.6 7.3 1.8 9.3-4.1 3.8-11.3 9.1 1.3 8.8-3.8 3.5-9.5 8.8-.6 8.9-7.1 5.5-13.2-3.4 2-9.3 10-16.5 12.7-.3.1-.6.2-.8.3.3-1.5.5-3 .8-4.5.4-1.9.8-3.8 1.4-5.6.6-1.9 1.2-4 2.1-5.9.3-.4.6-.9.9-1.3.2-.5.4-1 .6-1.5zm-89.3 80.9c0 0 .1 0 .1 0 .7.2 1.3.3 2 .4-.7-.1-1.4-.3-2.1-.5zm-.2 22.4c-1.5 2.3-2.9 4.8-4.1 7.3-.6 1.3-1.1 2.6-1.6 4 1.3-3.7 2.8-7.4 5.8-11.3z\"/>\n</a>\n<a href=\"#:[[Blue fish]]\">\n<title>Blue fish</title>\n<path opacity=\"0\" d=\"m411 458.4c-1.1 0-2.2.2-3.1.7 3.4 3.7 8.3 9.9 8.6 13.7-.2 0-.3-.1-.4-.2-2.6-1.5-5.3-2.9-8.1-4.1-2.3-1-4.6-2-7.1-2.7-2.8-.8-5.9-1.1-8.8-1.3-4.8-.4-9.6-.4-14.1.2-1.1.2-2.3.3-3.4.8-.2.1-.5.4-.5.7 0 .1 0 .1 0 .2-.4 2.7-.1 5.9.6 9.3-.3-.9-.6-1.7-.9-2.6.2.9.5 1.7.8 2.6.1.5.3 1 .5 1.5.6 2.7 1.5 5.6 2.5 8.5.5 1.3 1.3 3.1 2.3 5 1.7 3.4 3.6 6.7 6 9.8.6.8 1.2 1.6 1.9 2.4 0 0 0 0 0 0-.4.1-.8.2-1.2.3-2 .4-4.1.5-6.1.3-.2 0-.3 0-.4 0-2.5-.2-4.8-.6-6.8-.9 0 0 0 0 0 0-.1 0-.1 0-.1 0-.6-.1-1.1-.1-1.5-.2-.2 0-.3 0-.5 0-.5 0-.9 0-1.3 0 .1.7.2 1.4.4 2.1.1.6.3 1.2.6 1.8.1.3.2.6.4.9.1.2.3.4.4.7 0 0 0 0 .1 0 .1.3.3.5.5.7.3.4.7.7 1.2.9.5.3 1 .5 1.5.6.3 0 .6 0 .9 0 .3 0 .6-.1.9-.1.6-.1 1.3-.4 2-.7.4-.2.8-.4 1.2-.7-.1.9-.2 1.6-.2 2.3 0 .7 0 1.4.1 1.9.1.3.1.6.2.9.1.2.1.5.2.7 0 0 0 0 0 0 .1.2.2.4.4.6.1.1.2.3.3.4.2.1.3.3.5.3.2.1.4.2.6.2 0 0 0 0 0 0 .2 0 .4.1.6 0 .2 0 .4 0 .7-.1.2-.1.5-.2.7-.3 0 0 0 0 .1 0 .2-.2.5-.3.8-.5 0 0 0 0 0 0 .3-.2.6-.4.9-.7 0 0 0 0 0 0 .4-.3.7-.6 1-.9 0 .5 0 .9 0 1.4 0 .4.1.8.1 1.2.1.4.1.8.2 1.2.1.3.2.7.3 1 .1.3.2.6.3.9.2.2.3.5.5.7.1.3.3.5.5.6.1.2.3.4.5.5.2.2.4.3.6.4 0 0 0 0 0 0 .2.1.4.1.6.2.3 0 .5 0 .7 0 .2 0 .5 0 .7-.1.2-.1.5-.2.7-.3 0 0 .1 0 .1 0 .2-.1.4-.3.7-.4 0 0 0 0 0-.1.3-.1.5-.3.8-.6 0 0 0 0 0 0 0 0 0 0 0 0 .2-.2.5-.5.7-.8.1.6.1 1.1.2 1.6 0 0 0 0 0 0 0 0 0 0 0 0 .1.5.1.9.3 1.4.1.4.2.7.3 1.1.2.3.3.6.5.9.2.3.3.5.5.8.2.2.4.4.6.5.1.1.1.1.1.1.2.1.4.3.7.4.2.1.4.2.7.3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .3.1.5.2.8.2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .3.1.6.1.9.1 0 0 0 0 0 0 .6.1 1.2 0 1.8 0 .6-.1 1.3-.1 1.9-.2.7-.1 1.3-.2 2-.3-.5-.7-.8-1.3-1.2-2 0 0-.1-.1-.1-.1-.3-.6-.6-1.1-.8-1.6-.1-.2-.2-.5-.3-.7-.2-.3-.4-.7-.5-1.1-.1-.2-.2-.4-.2-.5-.2-.4-.3-.8-.5-1.2 0-.1-.1-.3-.1-.5-.2-.4-.3-.8-.4-1.2-.1-.1-.1-.2-.1-.3-.4-1.6-.7-3.2-.9-4.7 2.6 1 5.5 1.7 8.4 2.2 4.7.9 9.5 1.5 13.3 3.6 3.2 1.7 5.3 5 6.3 8.4.4 1.1.7 2.3.9 3.5.1.5.1.9.2 1.4l.1.3-1.1 1.7c-2.9 5.7-3.5 13.6-2.9 19.8.1 1.4.4 2.8.6 4.2.4 1.8.9 3.5 1.5 5.1.8 2.2 1.8 4.4 2.9 6.5 1.5 2.6 3.2 5.3 5.1 7.7 1.6 2 3.3 3.8 5.1 5.5 1.2 1.1 2.5 2.1 4 2.9 1 .5 2.4 1 3.5.6l.2 0c.1-.3.2-.6.2-1 .1-.3.2-.6.2-.9.1-.2.1-.3.2-.5 0 0-.3-.2-.4-.3-.2-.2-.4-.5-.6-.8-1.1-1.4-1.8-2.9-2.4-4.5-1.4-3.4-2.3-7-2.5-10.7-.1-2.5.2-5.9 2.1-7.5l.6-.4 2.2 2c2.9 2.3 6.3 4.2 10.4 4.3.5 0 1 0 1.5 0 .6-.1 1.1-.2 1.6-.3.2 0 .5-.1.7-.2 2.8-.6 5.7-1.9 8.4-4.1l1.4-3.1c.3-.5.6-1 .9-1.5-.2.3-.4.6-.6.9l.5-1.1c.2 0 .4 0 .6-.1-.2 0-.4.1-.6.1l0-.1c-.3.1-.6.1-.9.2-1.3 0-2.6.1-3.9-.1-11.9-1.3-19-11.9-22-22-.3-1.1-.6-2.2-.8-3.3l-.6-3 .3-1.2c.3-1.2.6-2.4.7-3.6.5-3.4.6-6.7.2-9.8-.7-6.6-3.1-12.8-6.7-18.5-.2-5.8 3.5-15.6 13.2-11.1 0-4.5-4.7-6.8-8.7-6.2 1.1-6-2.8-10.6-9.4-7.3.4-3.7-8.5-7.6-11.8-3.2-2.2-4.3-7.6-8.3-12.2-8.3z\"/>\n</a>\n</g>\n</svg>\n\n! Image Status Classes\n\n<<from-version \"5.2.2\">> The following CSS classes are automatically added to the `<img>` element to indicate the status of the image. Note that only one of these classes will be added at the same time.\n\n|''tc-image-loading'' |When the image is being loaded |\n|''tc-image-loaded'' |The image has been loaded successfully |\n|''tc-image-error'' |The image could not be loaded |\n\n! External Images and the ''_canonical_uri'' field\n\nWhen used to display tiddler-based images, the image widget operates in two distinct modes:\n\n* If the ''_canonical_uri'' field is present then it is used as the ''src'' attribute of the generated `<img>` element and the ''text'' field is ignored\n* Without the ''_canonical_uri'' field, the image widget generates an `<img>` element that embeds the image data directly using a `data:` URI.\n\nSee ExternalImages for more details.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/ImportVariablesWidget.tid",
    "content": "caption: importvariables\ncreated: 20140612142500000\nmodified: 20180928150043777\ntags: Widgets\ntitle: ImportVariablesWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nThe ImportVariablesWidget imports macro and variable definitions from a list of other tiddlers and makes them available to its children. For example:\n\n```\n<$importvariables filter=\"[tag[mySpecialMacros]]\">\nAll the macros defined in tiddlers with the tag \"mySpecialMacros\" are available here\n</$importvariables>\n```\n\n! Attributes and Content\n\nThe content of the importvariables widget is the scope within which the imported variable definitions are available.\n\n|!Attribute |!Description |\n|filter |[[Tiddler filter|Filters]] defining the tiddlers from which macro definitions will be imported |\n\n! Global Macros\n\nSo-called global macros are implemented within the main page template ([[$:/core/ui/PageTemplate]]) by wrapping the page content in the following importvariables widget:\n\n```\n<$importvariables filter=\"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\">\n...\n</$importvariables>\n```\n\n! `\\import` Pragma\n\n<<.from-version \"5.1.18\">> The [[Pragma: \\import]] is an alternative syntax for using the ImportVariablesWidget. For example, the previous example could be expressed as:\n\n```\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n```"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/JSONTiddlerWidget.tid",
    "content": "caption: jsontiddler\ncreated: 20210630100923398\nmodified: 20220427171128693\ntags: Widgets\ntitle: JSONTiddlerWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nThe jsontiddler widget renders the fields of a tiddler to display as a JSON object. The fields of the tiddler can be customised or excluded.\n\nThe jsontiddler widget is used in system templates to generate JSON representations of tiddlers for saving. See [[JSON in TiddlyWiki]] for an overview.\n\n! Content and Attributes\n\nThe content of the `<$jsontiddler>` widget is ignored.\n\n|!Attribute |!Description |\n|tiddler |Optional title of the tiddler from which the fields are to be displayed |\n|exclude |Optional space separated list of fields to be excluded |\n|escapeUnsafeScriptChars |If set to \"yes\" then the `<` character will be escaped to the equivalent `\\u003C` encoding |\n|//{any attributes starting with $}// |Each attribute name (without the leading `$`) specifies a field to be modified with the attribute value providing the value to assign to the field  |\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/Keyboard Codes.tid",
    "content": "created: 20210427090945829\nmodified: 20210525103712235\ntags: KeyboardWidget\ntitle: Keyboard Codes\ntype: text/vnd.tiddlywiki\n\nThis is a list of all the key codes supported by the KeyboardWidget:\n\n<kbd>cancel</kbd>, <kbd>help</kbd>, <kbd>backspace</kbd>, <kbd>tab</kbd>, <kbd>clear</kbd>, <kbd>return</kbd>, <kbd>enter</kbd>, <kbd>pause</kbd>, <kbd>escape</kbd>, <kbd>space</kbd>, \n<kbd>page_up</kbd>, <kbd>page_down</kbd>, <kbd>end</kbd>, <kbd>home</kbd>, <kbd>left</kbd>, <kbd>up</kbd>, <kbd>right</kbd>, <kbd>down</kbd>, <kbd>printscreen</kbd>, <kbd>insert</kbd>, <kbd>delete</kbd>\n\n<kbd>0</kbd>, <kbd>1</kbd>, <kbd>2</kbd>, <kbd>3</kbd>, <kbd>4</kbd>, <kbd>5</kbd>, <kbd>6</kbd>, <kbd>7</kbd>, <kbd>8</kbd>, <kbd>9</kbd>\n\n<kbd>a</kbd>, <kbd>b</kbd>, <kbd>c</kbd>, <kbd>d</kbd>, <kbd>e</kbd>, <kbd>f</kbd>, <kbd>g</kbd>, <kbd>h</kbd>, <kbd>i</kbd>, <kbd>j</kbd>, <kbd>k</kbd>, <kbd>l</kbd>, <kbd>m</kbd>, <kbd>n</kbd>, <kbd>o</kbd>, <kbd>p</kbd>, <kbd>q</kbd>, <kbd>r</kbd>, <kbd>s</kbd>, <kbd>t</kbd>, <kbd>u</kbd>, <kbd>v</kbd>, <kbd>w</kbd>, <kbd>x</kbd>, <kbd>y</kbd>, <kbd>z</kbd>\n\n<kbd>numpad0</kbd>, <kbd>numpad1</kbd>, <kbd>numpad2</kbd>, <kbd>numpad3</kbd>, <kbd>numpad4</kbd>, <kbd>numpad5</kbd>, <kbd>numpad6</kbd>, <kbd>numpad7</kbd>, <kbd>numpad8</kbd>, <kbd>numpad9</kbd>\n\n<kbd>multiply</kbd>, <kbd>add</kbd>, <kbd>separator</kbd>, <kbd>subtract</kbd>, <kbd>decimal</kbd>, <kbd>divide</kbd>\n\n<kbd>f1</kbd>,  <kbd>f2</kbd>,  <kbd>f3</kbd>,  <kbd>f4</kbd>,  <kbd>f5</kbd>,  <kbd>f6</kbd>,  <kbd>f7</kbd>,  <kbd>f8</kbd>,  <kbd>f9</kbd>,  <kbd>f10</kbd>, <kbd>f11</kbd>, <kbd>f12</kbd><br/>\n<kbd>f13</kbd>, <kbd>f14</kbd>, <kbd>f15</kbd>, <kbd>f16</kbd>, <kbd>f17</kbd>, <kbd>f18</kbd>, <kbd>f19</kbd>, <kbd>f20</kbd>, <kbd>f21</kbd>, <kbd>f22</kbd>, <kbd>f23</kbd>, <kbd>f24</kbd>\n\n<kbd>firefoxsemicolon</kbd>, <kbd>firefoxequals</kbd>, <kbd>firefoxminus</kbd>\n\n<kbd>semicolon</kbd>, <kbd>equals</kbd>, <kbd>comma</kbd>, <kbd>dash</kbd>, <kbd>period</kbd>, <kbd>slash</kbd>, <kbd>backquote</kbd>, <kbd>openbracket</kbd>, <kbd>backslash</kbd>, <kbd>closebracket</kbd>, <kbd>quote</kbd>\n\n<kbd>shift</kbd>, <kbd>ctrl</kbd>, <kbd>alt</kbd>, <kbd>meta</kbd>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/KeyboardWidget.tid",
    "content": "caption: keyboard\ncreated: 20140302192136805\nmodified: 20211009121239821\ntags: Widgets TriggeringWidgets\ntitle: KeyboardWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nThe keyboard widget allows ActionWidgets to be triggered by specific key combinations. There is also a shorthand for generating [[Messages]] via the `message` and `param` attributes.\n\n! Content and Attributes\n\nThe content of the `<$keyboard>` widget is rendered normally. The keyboard shortcuts only take effect when the focus is within the contained content.\n\n|!Attribute |!Description |\n|actions |A string containing ActionWidgets to be triggered when the key combination is detected<br><<.from-version \"5.2.0\">> The variables: ''event-key'', ''event-code'' and ''modifier'' are available for the actions |\n|message |The title of the [[WidgetMessage|Messages]] to generate |\n|param |The parameter to be passed with the [[WidgetMessage|Messages]] |\n|key |Key string identifying the key(s) to be trapped (see below) |\n|class |A CSS class to be assigned to the generated HTML DIV element |\n|tag|<<.from-version \"5.1.14\">> The html element the widget creates to capture the keyboard event, defaults to:<br>» `span` when parsed in inline-mode<br>» `div` when parsed in block-mode|\n\n! Variables\n\n<<.from-version \"5.2.0\">> The following variables are made available to the actions:\n\n|!Variables |!Description |\n|`event-key` |The <<.var event-key>> variable contains the character, if possible. eg: `1`. You can experiment with some settings at: [[Key Codes (Example)]] |\n|`event-code` |The <<.var event-code>> variable contains a character description. eg:  `Digit1` instead of `1`. Or `Space` instead of an empty string ` `, which is hard to see|\n|`event-key-descriptor` |The <<.var event-key-descriptor>> variable is available if the keyboard event captured was configured using a [[keyboard shortcut descriptor|Keyboard Shortcut Descriptor]] of the form `((my-shortcut))` which references a configuration tiddler. |\n|`modifier` |The [[modifier Variable]] contains the Modifier Key held during the event (can be <kbd>normal</kbd>, <kbd>ctrl</kbd>, <kbd>shift</kbd>, <kbd>alt</kbd> or combinations thereof) |\n\n! Key Strings\n\nKey strings are made up of one or more key specifiers separated by spaces. Each key specifier is zero or more of the modifiers <kbd>alt</kbd>, <kbd>shift</kbd>, <kbd>ctrl</kbd> or <kbd>meta</kbd> followed by the name of a key, all joined with \"+\" plus or \"-\" minus symbols. Key names are either the letter or digit printed on the key (eg \"a\" or \"1\"), or one of the special keys <kbd>backspace</kbd>, <kbd>tab</kbd>, <kbd>enter</kbd> or <kbd>escape</kbd>.\n\n<$railroad text=\"\"\"\n[: {\n   (\"alt\" | \"shift\" | \"ctrl\" |: \"meta\" ) +(\"+\" | \"-\") \n\t }\n\t \"+\" \n]\n( \"<a-z,0-9>\" | \"backspace\" |: \"tab\" | \"enter\" | \"escape\" )\n\"\"\"/>\n\nFor example:\n\n```\nA\nshift+A\nshift+escape\nctrl+enter\nctrl+shift+alt+A\n```\n\n! More Info\n\n<<list-links \"[tag[KeyboardWidget]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/LetWidget.tid",
    "content": "title: LetWidget\ncreated: 20211028115900000\nmodified: 20250307212252946\ntags: Widgets\ncaption: let\n\n! Introduction\n\n<<.from-version \"5.2.1\">> The <<.wid let>> widget allows more than one variable to be set in one operation. In some situations it can result in simpler code than using the more flexible <<.wlink SetWidget>> widget. It differs from the <<.wlink VarsWidget>> widget in that variables you're defining may depend on earlier variables defined within the same <<.wid let>>.\n\n! Content and Attributes\n\nThe content of the <<.wid let>> widget is the scope for the value assigned to the variable.\n\n|!Attribute |!Description |\n|//{attributes}// |Each attribute name specifies a variable name. The attribute value is assigned to the variable |\n\nAttributes are evaluated in the order they are written. Attributes with the same name are allowed. Each time a duplicate attribute is encountered, it will replace the existing value set by the earlier duplicate.\n\n<<.note \"\"\"<<.from-version \"5.2.4\">> There is no longer any restriction on using variable names that start with the $ character.\"\"\">>\n\n! Multi-Valued Variables\n\n<<.from-version \"5.4.0\">> The <<.wid let>> widget also allows [[multi-valued variables|Multi-Valued Variables]] to be set in one operation to the complete list of results obtained from evaluating an attribute.\n\nAlmost all operations that work with variables only consider the first item in the list. Using round brackets instead of angle brackets around the variable name gives access to the complete list of results. For example:\n\n```\n<$let varname={{{ [all[tiddlers]sort[]] }}}>\n<$text text={{{ [(varname)] +[join[-]] }}}/>\n</$let>\n```\n\n! Examples\n\nConsider a case where you need to set multiple variables, where some depend on the evaluation of others.\n\nUsing the <<.wid let>> widget, this situation may be handled in the following way:\n\n```\n\\define helloworld() Hello world!\n\n<$let target=\"MyTiddler\" currentTiddler={{{ [<target>prefix[$:/settings/for/]] }}} settings={{!!text}} currentTiddler=<<target>> >\n  The settings for <<currentTiddler>> are: <<settings>>\n</$let>\n```\n\nIn contrast, here is the same example using the <<.wid set>> widget:\n\n```\n<$set name=\"target\" value=\"MyTiddler\" >\n<$set name=\"currentTiddler\" value={{{ [<target>prefix[$:/settings/for/]] }}} >\n<$set name=\"settings\" value={{!!text}} >\n<$set name=\"currentTiddler\" value=<<target>> >\n  The settings for <<currentTiddler>> are: <<settings>>\n</$set>\n</$set>\n</$set>\n</$set>\n```\n\n! Remarks\n\nThis widget differs from <<.wid vars>> in the following way:\n\n* Each variable's definition will be immediately available to all proceeding variables in the same let widget. This differs from vars, in which definitions which depend on some variable will always look to the widget's outer scope for a value.\n\nThis widget differs from <<.wid set>> in the following ways:\n\n* A fallback (also known as \"emptyValue\") cannot be specified\n* Filters cannot be used to produce a conditional variable assignment\n* Variable names must be literal strings\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/LinkCatcherWidget.tid",
    "content": "caption: linkcatcher\ncreated: 20131024141900000\nmodified: 20241031151342973\ntags: Widgets MessageHandlerWidgets TriggeringWidgets\ntitle: LinkCatcherWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nThe link catcher widget traps [[WidgetMessage: tm-navigate]] dispatched within its child content by performing any or all of these actions:\n\n* sending a different widget message\n* setting a tiddler to the title of the navigated tiddler\n* setting a tiddler to a specified value\n* performing a series of ActionWidgets\n\n! Content and Attributes\n\nThe content of the `<$linkcatcher>` widget is displayed normally.\n\n|!Attribute |!Description |\n|to |Optional title of the tiddler to be set to the title of the navigated tiddler |\n|message |Optional identifier for a [[widget message|Messages]] to be sent when a navigation is caught  |\n|set |Optional title of the tiddler to be set to a specified value when navigation occurs |\n|setTo |Value to be assigned by the `set` attribute |\n|actions |Actions to be performed when a link is caught. Within the action string, the variable <<.var navigateTo>> contains the title of the tiddler being navigated.<br><<.from-version \"5.1.23\">> the <<.var modifier>> variable lists the modifier keys that are pressed when the action is invoked.<br>The possible modifiers are ''ctrl'', ''ctrl-alt'', ''ctrl-shift'', ''alt'', ''alt-shift'', ''shift'' and ''ctrl-alt-shift'' |\n\n|!Action Variables |!Description |\n|`navigateTo` |Contains the tiddler title being navigated to  |\n|`modifier` |Contains the value of a modifier key, active while actions are activated |\n\n<<.tip \"\"\"<<.from-version \"5.2.0\">> For more complex use cases involving trapping the <<.param tm-navigate>> message consider the MessageCatcherWidget which provides greater flexibility\"\"\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/LinkWidget.tid",
    "content": "caption: link\ncreated: 20131024141900000\nmodified: 20260206131722044\ntags: Widgets\ntitle: LinkWidget\ntype: text/vnd.tiddlywiki\n\nThe `link` widget generates links to tiddlers. (Use the HTML `<a>` element to generate external links).\n\n! Content and Attributes\n\nThe content of the link widget is rendered within the `<a>` tag representing the link. If the content is empty then the title of the target tiddler is rendered as the default, for example:\n\n* `<$link/>` is equivalent to `<$link to=<<currentTiddler>>><$view field=\"title\"/></$link>`\n* `<$link to=\"HelloThere\"/>` is equivalent to `<$link to=\"HelloThere\">HelloThere</$link>`\n\n|!Attribute |!Description |\n|to |The title of the target tiddler for the link (defaults to the [[current tiddler|Current Tiddler]]) |\n|aria-label |Optional accessibility label |\n|role |<<.from-version \"5.4.0\">> Optional [[ARIA role|https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Reference/Roles]] |\n|tooltip |Optional tooltip WikiText |\n|tabindex |Optional numeric [[tabindex|https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/tabIndex]] |\n|draggable |\"yes\" to enable the link to be draggable (defaults to \"yes\") |\n|tag |Optional tag to override the default \"a\" element |\n|class|Optional CSS classes //in addition to// the default classes (see below)|\n|overrideClass|<<.from-version \"5.1.16\">> Optional CSS classes //instead of// the default classes |\n|data-* |<<.from-version \"5.3.2\">> Optional [[data attributes|https://developer.mozilla.org/en-US/docs/Learn/HTML/Howto/Use_data_attributes]] to be assigned to the HTML element |\n|style.* |<<.from-version \"5.3.2\">> Optional [[CSS properties|https://developer.mozilla.org/en-US/docs/Web/CSS/Reference]] to be assigned to the HTML element |\n|aria-* |<<.from-version \"5.4.0\">> Optional [[ARIA attributes|https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Reference/Attributes]] to be assigned to the HTML element |\n|startactions |<<.from-version \"5.4.0\">> Optional action string that gets invoked when ''dragging starts''. The <<.var actionTiddler>> variable is available in this action.|\n|endactions |<<.from-version \"5.4.0\">> Optional action string that gets invoked when ''dragging ends''. The <<.var actionTiddler>> variable is available in this action. |\n\nThe draggable functionality is equivalent to using the DraggableWidget with the ''tiddler'' attribute set to the link target.\n\nThe default value of the tooltip attribute is supplied by the <<.vlink tv-wikilink-tooltip>> variable.\n\nThis means that you can control the text of a link tooltip in several ways:\n\n```\n<$link to=\"HelloThere\" tooltip=\"Custom tooltip\">Link 1</$link>\n\n<$link to=\"HelloThere\" tooltip=\"Another tooltip\">{{$:/core/icon}}</$link>\n\n<$set name=\"tv-wikilink-tooltip\" value=\"I'm a link to {{!!title}}\">\n<$link to=\"HelloThere\">Link 2</$link>\n</$set>\n\n```\n\nRenders as:\n\n<$link to=\"HelloThere\" tooltip=\"Custom tooltip\">Link 1</$link>\n\n<$link to=\"HelloThere\" tooltip=\"Another tooltip\">{{$:/core/icon}}</$link>\n\n<$set name=\"tv-wikilink-tooltip\" value=\"I'm a link to {{!!title}}\">\n<$link to=\"HelloThere\">Link 2</$link>\n</$set>\n\nNote that the tooltip is rendered with the current tiddler set to the target of the link.\n\nA useful convention is to set the tooltip like this:\n\n```\n\\define tv-wikilink-tooltip()\n<$transclude field=\"tooltip\"><$transclude field=\"title\"/></$transclude>\n\\end\n```\n\nThis causes the tooltip to be the ''tooltip'' field of the target tiddler. If the field isn't present, then the title is used instead.\n\n! Action Variables\n\n<<.from-version \"5.4.0\">> The <<.var actionTiddler>> variable is available to <<.param startaction>> and <<.param endaction>>.\n\nTo see all variables available to an action you can use this code and see the variables in the browser dev-console (F12)\n\n<<wikitext-example-without-html \"\"\"\\procedure endActions()\n<$action-log/>\n\\end\n\n<$link to=HelloThere endactions=<<endActions>>>drag me!</$link>\n\"\"\">>\n\n! CSS Classes\n\nThe link widget automatically determines and applies the following classes to links:\n\n* `tc-tiddlylink` - applied to ''all'' links\n* `tc-tiddlylink-external` - applied to external, non-tiddler links\n* `tc-tiddlylink-internal` - applied to tiddler links\n* `tc-tiddlylink-missing` - applied to tiddler links where the target tiddler doesn't exist\n* `tc-tiddlylink-resolves` - applied to tiddler links when the target tiddler does exist\n* `tc-tiddlylink-shadow` - applied to tiddler links when the target is a shadow tiddler\n** `tc-tiddlylink-shadow tc-tiddlylink-resolves` - applied to ''overwritten'' shadow tiddlers\n\nUse the `class` attribute to specify additional css classes, or `overrideClass` to apply only that but not the above defaults, e.g. when used in a LinkCatcherWidget:\n\n<<wikitext-example-without-html \"\"\"*<$link class=\"example\">Here</$link> the `example` class is added.\n*<$link overrideClass=\"example\">Here</$link> only the `example` class applies.\n*<$link overrideClass=\"\">Here</$link> no class is set.\"\"\">>\n\n! `href` generation\n\nThe following process is used to generate the `href` attribute of the generated HTML `<a>` element:\n\n# If <<.vlink tv-get-export-link>> is defined it is invoked to convert the target tiddler title to the `href` value\n#* In practice, only a [[JavaScript macro|Macros]] can be used\n# <<.from-version \"5.1.15\">> If <<.vlink tv-filter-export-link>> is defined it is interpreted as a filter that converts the target tiddler title to the `href` value\n# If <<.vlink tv-wikilink-template>> is defined it is treated as a specialised macro body that can perform limited conversion of the target tiddler title to the `href` value\n# Otherwise, the target tiddler title is URI encoded to create the `href`\n\n! Configuration Variables\n\n* <<.vlink tv-wikilinks>>\n* <<.vlink tv-filter-export-link>>\n* <<.vlink tv-wikilink-template>>\n* <<.vlink tv-wikilink-tooltip>>\n* <<.vlink tv-get-export-link>>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/ListWidget.tid",
    "content": "caption: list\ncreated: 20131024141900000\nmodified: 20230831182949930\ntags: Widgets Lists\ntitle: ListWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nThe list widget displays a sequence of tiddlers that match a [[tiddler filter|Filters]]. It can be used for many purposes:\n\n* Displaying custom lists of links, like in TiddlyWiki5's sidebar\n* Custom lists, such as \"all tiddlers tagged 'task' that are not tagged 'done'\"\n* Listing each of the tags applied to a tiddler\n* Handling the main story river\n\nThe tiddlers are displayed by transcluding each in turn through a template. There are several ways to specify the template and for controlling the behaviour of the list.\n\n! Examples\n\n''plain list''\n\n```\n<$list filter=\"[tag[ListWidget]sort[title]]\"/>\n```\n\nDisplays as:\n\n<<<\n<$list filter=\"[tag[ListWidget]sort[title]]\"/>\n\n<<<\n\n''custom item output''\n\n```\n<$list filter=\"[tag[ListWidget]sort[title]]\">\n<<currentTiddler>>\n{{||$:/core/ui/ViewTemplate/tags}}\n</$list>\n```\n\nDisplays as:\n\n<<<\n<$list filter=\"[tag[ListWidget]sort[title]]\">\n<<currentTiddler>>\n{{||$:/core/ui/ViewTemplate/tags}}\n</$list>\n<<<\n\n''custom item template''\n\n```\n<$list filter=\"[tag[ListWidget]sort[title]]\" template=\"$:/core/ui/ViewTemplate/subtitle\"/>\n```\n\nDisplays as:\n\n<<<\n<$list filter=\"[tag[ListWidget]sort[title]]\" template=\"$:/core/ui/ViewTemplate/subtitle\"/>\n\n<<<\n\n!! Grouped Lists\n\nSee GroupedLists for how to generate nested and grouped lists using the ListWidget.\n\n! Content and Attributes\n\nThe content of the `<$list>` widget is an optional template to use for rendering each tiddler in the list.\n\n<<.from-version \"5.3.2\">> If the widgets `<$list-template>` or `<$list-empty>` are found as immediate children of the <<.wid \"ListWidget\">> widget then the content of those widgets are used as the list item template and/or the empty template. Note that the <<.attr \"emptyMessage\">> and <<.attr \"template\">> attributes take precedence if they are present.\n\nThe action of the list widget depends on the results of the filter combined with several options for specifying the template:\n\n* If the filter evaluates to an empty list, the text of the ''emptyMessage'' attribute is rendered, and all other templates are ignored\n* Otherwise, if the ''template'' attribute is specified then it is taken as the title of a tiddler to use as a template for rendering each item of the list\n* Otherwise, if the list widget content is not blank, it is used as a template for rendering each item of the list\n* Otherwise, a default template is used consisting of a `<span>` or `<div>` element wrapped around a link to the item\n\n|!Attribute |!Description |\n|filter |The [[tiddler filter|Filters]] to display |\n|limit |<<.from-version \"5.3.2\">> Optional numeric limit for the number of results that are returned. Negative values will return the results from the end of the list |\n|template |The title of a template tiddler for transcluding each tiddler in the list. When no template is specified, the body of the ListWidget serves as the item template. With no body, a simple link to the tiddler is returned. |\n|editTemplate |An alternative template to use for [[DraftTiddlers|DraftMechanism]] in edit mode |\n|join |<<.from-version \"5.3.2\">> Text to include between each list item |\n|variable |The name for a [[variable|Variables]] in which the title of each listed tiddler is stored. Defaults to ''currentTiddler'' |\n|counter |<<.from-version \"5.2.0\">> Optional name for a [[variable|Variables]] in which the 1-based numeric index of each listed tiddler is stored (see below) |\n|emptyMessage |Message to be displayed when the list is empty |\n|storyview |Optional name of module responsible for animating/processing the list |\n|history |The title of the tiddler containing the navigation history |\n\n!! `counter` attribute\n\nThe optional `counter` attribute specifies the name of a variable to hold the 1-based numeric index of the current item in the list.\n\nTwo additional variables are also set to indicate the first and last items in the list:\n\n* `<counter-variable-name>-first` is set to `yes` for the first entry in the list, `no` for the others\n* `<counter-variable-name>-last` is set to `yes` for the last entry in the list, `no` for the others\n\nFor example:\n\n\n```\n<$list filter=\"[tag[About]sort[title]]\" counter=\"counter\">\n<div>\n<<counter>>: ''<$text text=<<currentTiddler>>/>'' (is first: <<counter-first>>, is last: <<counter-last>>)\n</div>\n</$list>\n```\n\nDisplays as:\n\n<<<\n<$list filter=\"[tag[About]sort[title]]\" counter=\"counter\">\n<div>\n<<counter>>: ''<$text text=<<currentTiddler>>/>'' (is first: <<counter-first>>, is last: <<counter-last>>)\n</div>\n</$list>\n<<<\n\nNote that using the `counter` attribute can reduce performance when working with list items that dynamically reorder or update themselves. The best advice is only to use it when it is really necessary: to obtain a numeric index, or to detect the first or last entries in the list. Note that if you are only using it to insert something (like a comma) between list items, the `join` attribute performs much better and you should use it instead of `counter`.\n\nSetting `counter=\"transclusion\"` is a handy way to make child elements for each list element be identified as unique. A common use case are multiple [[tag macros|tag Macro]] for the same tag generated by a list widget. Refer to [[tag macro examples|tag Macro (Examples)]] for more details.\n\n!! `join` attribute\n\n<<.from-version \"5.3.2\">> The optional `join` attribute allow you to insert some [[WikiText]] between each list item without needing to use the `counter` attribute, which can become quite slow if the list is updated frequently.\n\n<<.from-version \"5.3.2\">> If the widget `<$list-join>` is found as an immediate child of the <<.wid \"ListWidget\">> widget then the content of that widget is used as the \"join\" template, included between two list items. Note that the <<.attr \"join\">> attribute takes precedence if it is present.\n\nFor example:\n\n\n```\n<$list filter=\"[tag[About]sort[title]]\" join=\", \" variable=\"item\"><<item>></$list>\n```\n\nDisplays as:\n\n<<<\n<$list filter=\"[tag[About]sort[title]]\" join=\", \" variable=\"item\"><<item>></$list>\n<<<\n\n!! Edit mode\n\nThe `<$list>` widget can optionally render draft tiddlers through a different template to handle editing, see DraftMechanism.\n\n!! `storyview` attribute\n\nThe `storyview` attribute specifies the name of an optional module that can animate changes to the list (including navigation). The core ships with the following storyview modules:\n\n* `classic`: renders the list as an ordered sequence of tiddlers\n* `zoomin`: just renders the current tiddler from the list, with a zoom animation for navigating between tiddlers\n* `pop`: shrinks items in and out of place\n\nIn order for the storyviews to animate correctly each entry in the list should be a single block mode DOM element.\n\n!! History and navigation\n\nThe optional `history` attribute specifies the name of a tiddler that is used to track the current tiddler for navigation purposes. When the history tiddler changes the list view responds by telling the listview to handle navigating to the new tiddler. See HistoryMechanism for details.\n\n!! Additional Notes and Edge Cases\n\n* If the `filter` attribute is not present then a default of `[!is[system]sort[title]]` is used\n* If the list widget is completely empty (ie only whitespace between the opening and closing tags), then it behaves as if the content were a `DIV` or a `SPAN` containing a link to the current tiddler (it’s a `DIV` if the list widget is in block mode, or a SPAN if it is in inline mode)\n* If the `template` attribute is not present then the content of the list widget will be used as the template, unless the widget is completely empty in which case a default template is used"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/ListopsData.tid",
    "content": "created: 20151017094630847\ndaysoftheweek: four three Fri Thu Wed Tue Mon\nmodified: 20151108041839747\ntitle: ListopsData\ntype: application/x-tiddler-dictionary\ntags: [[Operator Examples]]\n\nDataIndex: \n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/LogWidget.tid",
    "content": "created: 20201120152706842\nmodified: 20260105121111637\ntags: Widgets [[Debugging Widgets]]\ntitle: LogWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\n<<.from-version \"5.1.23\">> The <<.wid log>> widget is a [[widget|Widgets]] that can be used to output debugging information to the [[JavaScript console|Web Developer Tools]] supported by most browsers.\n\nWhen the widget is rendered or refreshed, the names and values of all [[attributes|Widget Attributes]] are logged to the JavaScript console.\n\n```\n<$log name=value />\n```\n\n<<.note \"\"\" For debugging inside of actions see [[ActionLogWidget]]\"\"\">>\n\n! Content and Attributes\n\nThe <<.wid log>> widget is invisible. Any content within it is ignored.\n\n\n|!Attribute |!Description |\n|<<.attr $$filter>>|(Optional) All variables whose name matches the [[Filter Expression]] will be logged |\n|<<.attr $$message>> |(Optional) A message to display as the title of the information logged. Useful when several <<.wid log>> widgets are used in sequence |\n|<<.attr $$all>> |(Optional) Set to <<.value yes>> to log all variables |\n\n<<.note \"\"\" If `<$log />` is called without any attributes, all defined variables will be logged as if `$$all=yes` were set.\"\"\">>\n\n<<.note \"\"\"When logging [[Variable Attribute Values]], the body text of macros and procedures will be output as their value. Functions are evaluated and their first result is logged.\"\"\">>\n\n! Examples\n\n!! Basic Example\n\nLog the value of variable <<.var name>>, the first result of the filter expression `[tag[Learning]]` and the value of field <<.field created>> of the current tiddler:\n\n```\n<$log name=<<name>> filter={{{ [tag[Learning]] }}} created={{!!created}} />\n```\n\n!! Example using <<.attr $$filter>> and <<.attr $$message>> \n\nLog all core variables (which start with <<.var tv->>) with a table title:\n\n```\n<$log $$message=\"Core Variables\" $$filter=\"[prefix[tv-]]\" />\n```\n\n!! Widget Debugging\n\nChange a misbehaving <<.wlink TranscludeWidget>> widget to a <<.wid log>> widget to verify that <<.var name>> and <<.var mode>> match their expected values:\n\n<<.tip \"\"\"If a widget is not behaving as expected it is often useful to temporarily change it to a <<.wid log>> widget so that the passed attributes can be verified.\"\"\">>\n\n```\n<$log $variable=<<name>> $mode=<<mode>> />\n```\n\nThis application is the primary reason that the attributes of the <<.wid log>> widget are prefixed with two dollar signs instead of one. Otherwise, the attributes of the original widget could be interpreted as attributes to <<.wid log>> and lead to unintended consequences.\n\n!! Example with Function\n\nLog the <<.var tiddlerList>> function definition and its first evaluation result (see browser console after clicking \"Try it\"):\n\n<<.example n:\"2\" eg:\"\"\"\\function tiddlerList() [tag[Learning]]\n\n<$log $$filter=\"[title[tiddlerList]]\" value=<<tiddlerList>> />\"\"\" >>\n\n<<.note \"\"\"The values output with the <<.attr $$filter>> or <<.attr $$all>> attributes will only contain the definition of functions instead of their values, as the evaluation of many functions can lead to significant performance penalties.\"\"\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/MacroCallWidget.tid",
    "content": "caption: macrocall\ncreated: 20131024141900000\nmodified: 20230419103154328\ntags: Widgets $:/deprecated\ntitle: MacroCallWidget\ntype: text/vnd.tiddlywiki\n\n<<.deprecated-since \"5.3.0\" \"TranscludeWidget\">>\n\nThe <<.wlink MacroCallWidget>> widget is deprecated. While it will continue to work, users are now advised to use the <<.wlink TranscludeWidget>> widget, converting the `$name` attribute to `$variable`.\n\nFor example,\n\n```\n<$macrocall $name=\"my-macro\" my-parameter=\"Elephant\"/>\n```\n\nshould be changed to:\n\n```\n<$transclude $variable=\"my-macro\" my-parameter=\"Elephant\"/>\n```\n\nInternally, the <<.wlink MacroCallWidget>> widget is implemented via the <<.wlink TranscludeWidget>> widget.\n\n! Content and Attributes\n\nThe content of the <<.wlink MacroCallWidget>> widget is ignored.\n\n|!Attribute |!Description |\n|$name |Name of the macro to invoke |\n|$type |ContentType with which the macro text should be parsed (defaults to `text/vnd.tiddlywiki`) |\n|$output |ContentType for the output rendering (defaults to `text/html`, can also be `text/plain` or `text/raw`) |\n|//parameters// |Macro parameters specified as attributes |\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/MessageCatcherWidget.tid",
    "content": "created: 20210309133636211\nmodified: 20211222153049771\ntags: Widgets MessageHandlerWidgets TriggeringWidgets\ntitle: MessageCatcherWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\n<<.from-version \"5.2.0\">>\n\nThe message catcher widget traps [[messages|Messages]] dispatched within its child content, and allows invoking a series of ActionWidgets in response to those messages.\n\n! Content and Attributes\n\nThe content of the `<$messagecatcher>` widget is displayed normally.\n\n|!Attribute |!Description |\n|//{any attributes starting with $}// |Each attribute name (excluding the $) specifies the name of a message, and the value specifies the action string to be invoked |\n|type |Name of the message be trapped, for example \"tm-scroll\" or \"tm-navigate\". The `type` and `actions` attributes can be useful when the type of event needs to be specified via a variable or text reference |\n|actions |Action string to be invoked when a matching message is trapped. Must be used in conjunction with the `type` attribute |\n\n! Variables\n\nThe message catcher widget sets the following variables within each action string:\n\n|!Variables |!Description |\n|`event-*` |All string-based properties of the `event` object, with the names prefixed with `event-` |\n|`list-event` |A list of the names of each the string-based properties of the `event` object (the names are not prefixed with `event-`) |\n|`event-paramObject-*` |All string-based properties of the `event.paramObject` object, with the names prefixed with `event-paramObject-` |\n|`list-event-paramObject` |A list of the names of each the string-based properties of the `event.paramObject` object (the names are not prefixed with `event-paramObject-`) |\n|`modifier` |For messages that originated with browser events, the modifier keys that were pressed when the event was fired. The possible modifiers are ''normal'' (no modifiers), ''ctrl'', ''ctrl-alt'', ''ctrl-shift'', ''alt'', ''alt-shift'', ''shift'' and ''ctrl-alt-shift'' |\n\n! Example\n\n<$macrocall $name=\"wikitext-example-without-html\" src=\"\"\"\n\\define actions()\n<$action-log/>\n\\end\n\n<$messagecatcher $tm-navigate=<<actions>>>\n\nClick on [[this link]] to fire an action. See the browser JavaScript console for the output\n\n</$messagecatcher>\n\"\"\"/>\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/MessageHandlerWidgets.tid",
    "content": "created: 20211031174746965\nmodified: 20211113163856255\ntags: Widgets\ntitle: MessageHandlerWidgets\ntype: text/vnd.tiddlywiki\n\nMessage handler widgets are those widgets which can react to one or more [[widget messages|Messages]].\n\n<<.tip \"Widget messages are similar to low-level DOM events, except they are higher-level and specific to TiddlyWiki. To handle DOM events see the EventCatcherWidget\">>\n\nThe following message handler widgets are provided:\n\n<<list-links \"[tag[MessageHandlerWidgets]]\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/NavigatorWidget.tid",
    "content": "caption: navigator\ncreated: 20131024141900000\nmodified: 20211127023932158\ntags: Widgets MessageHandlerWidgets\ntitle: NavigatorWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nThe navigator widget manipulates the current store, the story list and history lists in response to various [[Messages]].\n\n! Content and Attributes\n\nThe navigator widget displays any contained content, and responds to Messages dispatched within it.\n\n|!Attribute |!Description |\n|story |Name of the tiddler containing the story list to be manipulated |\n|history |Name of the tiddler containing the history list to be manipulated |\n|openLinkFromInsideRiver |Determines the location for opening new tiddlers from links within the story river: at the ''top'' or ''bottom'' of the story river, or ''above'' or ''below'' the current tiddler |\n|openLinkFromOutsideRiver|Determines the location for opening new tiddlers from links outside the story river: at the ''top'' or ''bottom'' of the story river|\n|relinkOnRename|<<.from-version \"5.1.14\">> Determines if tags in other tiddlers are renamed if the tiddler title changes. ''yes'' or ''no''. default: ''no''|\n\n! Widget Messages\n\nThe following [[Messages]] are handled by the navigator widget:\n\n<ul>\n<$list filter=\"[tag[navigator-message]]\">\n<li>\n<$link/>\n</li>\n</$list>\n</ul>\n\n! Variables\n\nThe following [[Variables]] are assigned by the navigator widget:\n\n* <<.vlink tv-story-list>>, giving the name of the tiddler containing the story list\n* <<.vlink tv-history-list>>, giving the name of the tiddler containing the history list\n\n! Examples\n\nSee [[Creating SubStories]]."
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/ParametersWidget.tid",
    "content": "caption: parameters\ncreated: 20220909111836951\nmodified: 20230518134032228\ntags: Widgets\ntitle: ParametersWidget\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.3.0\">> The <<.wlink ParametersWidget>> widget is used within transcluded content to declare the parameters to be made available to the <<.wlink TranscludeWidget>> widget.\n\nThere are shortcuts for common scenarios that can often make it unnecessary to use the <<.wlink ParametersWidget>> widget directly:\n\n* the [[Pragma: \\parameters]]\n* the [[Pragma: \\procedure]] for declaring procedure\n* the [[Pragma: \\widget]] for declaring custom widgets\n\nThe <<.wlink ParametersWidget>> widget must be used directly in the following situations:\n\n* When the default value of a parameter must be computed dynamically\n* When the `$depth` attribute is used to retrieve parameters from a parent transclusion (see below)\n\n! Content and Attributes\n\nThe content of the <<.wlink ParametersWidget>> widget is the scope within which the values of the parameters can be accessed as ordinary variables.\n\n|!Attribute |!Description |\n|$depth |The index of the parent transclusion from which to obtain the parameters (defaults to 1). See below |\n|$parseMode |Optional name of a variable in which is made available the parse mode of the content of the parent transclusion (the parse mode can be \"inline\" or \"block\") |\n|$parseTreeNodes |Optional name of a variable in which is made available the JSON representation of the parse tree nodes contained within the parent transclusion |\n|$slotFillParseTreeNodes |Optional name of a variable in which is made available the JSON representation of the parse tree nodes corresponding to each fill widget contained within the parent transclusion (as an object where the keys are the slot names and the values are the parse tree nodes) |\n|$params |Optional name of a variable in which is made available the JSON representation of the parameters passed to the parent transclusion (as an object where the keys are the parameter names and the values are the coresponding values) |\n|//{attributes not starting with $}// |Any attributes that do not start with a dollar are used as parameters, with the value specifying the default to be used for missing parameters |\n|//{other attributes starting with $}// |Other attributes starting with a single dollar sign are reserved for future use |\n|//{attributes starting with $$}// |Attributes starting with two dollar signs are used as parameters to the transclusion, but with the name changed to use a single dollar sign. The value specifies the default to be used for missing parameters |\n\n<<.note \"Note the special treatment required for parameters names that start with a `$`; this can be avoided by using one of the pragmas\">>\n\n!! `$depth` Attribute\n\nBy default, the <<.wlink ParametersWidget>> widget retrieves parameters from the immediate parent transclusion. The `$depth` attribute permits access to the parameters of parent transclusions by specifying an index to the parent to be inspected (\"1\" is the immediate parent, \"2\" is the parent of that parent, etc.). This is useful in some situations where an intervening transclusion prevents immediate access to desired parameters.\n\n!! `$parseMode`, `$parseTreeNodes`, `$slotFillParseTreeNodes` and `$params` Attributes\n\nThese attributes provide low level access to the contents of the transcluding widget:\n\n* The `$params` attribute provides access to the raw parameters provided to the transcluding widget. Represented in JSON as an object with keys of the parameter names and values of the corresponding parameter values\n* The `$parseMode` attribute contains `block` or `inline` to indicate whether the contents was parsed in block or inline mode\n* The `$parseTreeNodes` attribute provides access to the raw parse tree nodes that represent the contents of the transcluding widget. Represented in JSON as an array of parse tree nodes\n* The `$slotFillParseTreeNodes` attribute provides access to the raw parse tree nodes corresponding to the filled slots within the contents of the transcluding widget. Represented in JSON as an object with keys of the slot name and values being an array of parse tree nodes\n\n! Examples\n{{ParametersWidget (Examples)}}\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/PasswordWidget.tid",
    "content": "title: PasswordWidget\ncreated: 201310241419\nmodified: 201310300837\ntags: Widgets\ncaption: password\n\n! Introduction\n\nThe password widget displays a password input box that is bound to a named entry in the TiddlyWiki5 PasswordVault. Passwords are currently stored in the browsers local storage and are not themselves encrypted.\n\n! Content and Attributes\n\nThe content of the `<$password>` widget is ignored.\n\n|!Attribute |!Description |\n|name |Name of the password vault entry |\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/QualifyWidget.tid",
    "content": "caption: vars\ncreated: 20220125160004463\nmodified: 20220125163041347\ntags: Widgets\ntitle: QualifyWidget\n\n! Introduction\n\nThe <<.wid qualify>> widget sets a variable\nto a unique string that encodes its position within the widget tree, as identified by the stack of transcluded tiddlers that lead to that position.\n\nInternally, it is implemented using the transclusion variable.\n\n! Content and Attributes\n\nThe content of the <<.wid qualify>> widget is the scope for the value assigned to the <<.var name>> variable.\n\n|!Attribute |!Description |\n|//title// |The prefix for the string, normally a tiddler title |\n|//name// |The name of the variable to be set to the unique string |\n\n! Examples\n\nThe two examples below are identical, but produce different results because the second one has been transcluded from [[another tiddler|$:/editions/tw5.com/widget-examples/qualify-transcluded]].\n\nEach example shows the result of calling <<.var qualify>> and then the value of the <<.vlink transclusion>> variable.\n<$macrocall $name=\".example\" n=\"1\"\neg=\"\"\"<$qualify title=\"BaseTiddler\" name=\"iamnotanumber\">\n<ul>\n<li><code><<iamnotanumber>></code></li>\n<li><code><<transclusion>></code></li>\n</ul>\n</$qualify>\n\"\"\"/>\n{{$:/editions/tw5.com/widget-examples/qualify-transcluded}}\n\n! Remarks\n\nIn most cases it will be simpler to use the [[qualify Macro]]."
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/RadioWidget Example.tid",
    "content": "created: 20201130181015815\nmodified: 20210307102027763\ntags: RadioWidget\ntitle: RadioWidget Example\ntype: text/vnd.tiddlywiki\n\n\\define newText() value: $(actionValue)$\n\n\\define radioActions()\n<$action-sendmessage $message=\"tm-notify\" $param=\"RadioWidget ExampleTemplate\" value=<<actionValue>> current=<<currentTiddler>> />\n<$action-createtiddler $basetitle=\"$:/temp/test/value\" $overwrite=\"yes\" text=<<newText>>/>\n<$action-navigate $to=\"$:/temp/test/value\"/>\n\\end\n\n!! Using Actions\n\nWhen you select an option below the following acitons will occur:\n\n* the value is written to $:/temp/test/value\n* the ''id'' field of tiddler: $:/temp/test will be updated\n* a notification showing the ''actionValue'' will be shown\n\n<$tiddler tiddler=\"$:/temp/test\">\n\n<$radio field=\"id\" value=\"a\" actions=<<radioActions>> > Option a </$radio>\n\n<$radio field=\"id\" value=\"b\" actions=<<radioActions>> > Option b </$radio>\n\n<$radio field=\"id\" value=\"c\" actions=<<radioActions>> > Option c </$radio>\n\n</$tiddler>\n\nThe wikitext of this example is shown below:\n\n<$codeblock code={{RadioWidget Example!!text}}/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/RadioWidget ExampleTemplate.tid",
    "content": "created: 20201130181111808\nmodified: 20201130182421491\ntags: RadioWidget\ntitle: RadioWidget ExampleTemplate\ntype: text/vnd.tiddlywiki\n\nvalue = <<value>>"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/RadioWidget.tid",
    "content": "caption: radio\ncreated: 20131212195353929\nmodified: 20231113093304323\ntags: Widgets TriggeringWidgets\ntitle: RadioWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nThe radio widget displays an HTML `<input type=\"radio\">` that reflects whether a given tiddler field has a specified value. Selecting the radio button sets to the tiddler field to the value.\n\n! Content and Attributes\n\nThe content of the `<$radio>` widget is displayed within an HTML `<label>` element also containing the radio button. This means that clicking on the content will have the same effect as clicking on the button itself.\n\n|!Attribute |!Description |\n|tiddler |Title of the tiddler to manipulate (defaults to the [[current tiddler|Current Tiddler]]) |\n|field |The field of the //tiddler// bound to the radio button |\n|index|<<.from-version \"5.1.14\">> The index of the //tiddler// being [[DataTiddler|DataTiddlers]] bound to the radio button (takes precedence over //field//) |\n|default |<<.from-version \"5.2.0\">> The default value to be used for matching if the tiddler, field or index are missing |\n|value |The value for the //field// or //index// of the //tiddler// |\n|class |The CSS classes assigned to the label around the radio button <<.from-version \"5.1.14\">> `tc-radio` is always applied by default, as well as `tc-radio-selected` when selected |\n|actions|<<.from-version \"5.1.23\">> Optional string containing ActionWidgets to be triggered when the value changes. <br>The variable: ''actionValue'' is available for the actions  |\n|disabled|<<.from-version \"5.1.23\">> Optional. Set to \"yes\" to disable the radio input. Defaults to \"no\" |\n|tabindex |<<.from-version \"5.3.7\">> Optional. Sets the `tabindex` attribute of the HTML select element to the given value |\n|data-* |<<.from-version \"5.3.2\">> Optional [[data attributes|https://developer.mozilla.org/en-US/docs/Learn/HTML/Howto/Use_data_attributes]] to be assigned to the `<input>` HTML element |\n|style.* |<<.from-version \"5.3.2\">> Optional [[CSS properties|https://developer.mozilla.org/en-US/docs/Web/CSS/Reference]] to be assigned to the `<input>` HTML element |\n\n!! Field Mode\n\nThis example uses the radio widget to change the `modifier` field of this tiddler:\n\n<<wikitext-example-without-html \"\"\"<$radio field=\"modifier\" value=\"JoeBloggs\"> Joe Bloggs</$radio>\n<$radio field=\"modifier\" value=\"JaneBloggs\"> Jane Bloggs</$radio>\"\"\">>\n\n!! Index Mode\n\nUsing the radio widget in index mode requires the //index// attribute to specify the name of the index of a [[DataTiddler|DataTiddlers]] to which the specified //value// is assigned.\n\nThis example sets the `Tree Frog` index in the tiddler AnimalColours:\n\n<$macrocall $name=\"wikitext-example-without-html\" src=\"\"\"<$tiddler tiddler=\"AnimalColours\">\n<$radio index=\"Tree Frog\" value=\"green\"> green</$radio>\n<$radio index=\"Tree Frog\" value=\"brown\"> brown</$radio>\n</$tiddler>\"\"\"/>\n\n{{RadioWidget Example}}"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/RangeWidget Example.tid",
    "content": "created: 20201130191618831\nmodified: 20210307102027763\ntags: RangeWidget\ntitle: RangeWidget Example\ntype: text/vnd.tiddlywiki\n\n\\define getText() $(text)$ - value: $(value)$ - changed: $(actionValueHasChanged)$\n\n\\define range-log(text:\"\", value:\"\", tiddler:\"$:/temp/range/log\")\n<$vars text=\"\"\"$text$\"\"\" value=\"\"\"$value$\"\"\" >\n<$action-setfield $tiddler=\"\"\"$tiddler$\"\"\" $index=<<now \"0hh-0mm-0ss:0XXX\">> $value=<<getText>>/>\n</$vars>\n\\end\n\n\\define clear-range-log(tiddler:\"$:/temp/range/log\")\n<$action-setfield $tiddler=\"\"\"$tiddler$\"\"\" text=\"{}\" show=show/>\n\\end\n\n\\define logTiddler()$:/temp/range/log\n\n\\define clearLogButton()<$button actions=<<clear-range-log>>>Clear Log</$button>\n\n\\define actionsStop()\n<$macrocall $name=\"range-log\" text=\"                    actionsStop\" value=<<actionValue>> />\n\\end\n\n\\define actionsStart()\n<$macrocall $name=\"range-log\" text=\"                    actionsStart\" value=<<actionValue>> />\n\\end\n\n\\define actions()\n<$macrocall $name=\"range-log\" text=\"actions\" value=<<actionValue>> />\n\\end\n\n!! Using Actions\n\n<$range tiddler=\"$:/temp/range/1__\" min=\"-1\" max=\"10\" default=\"1\" increment=\"1\"\n  actionsStart=<<actionsStart>> actionsStop=<<actionsStop>> actions=<<actions>>/> {{$:/temp/range/1__}}\n\n<$range tiddler=\"$:/temp/range/__2\" min=\"0\" max=\"1\" default=\".01\" increment=\".01\"\n  actionsStart=<<actionsStart>> actionsStop=<<actionsStop>> actions=<<actions>> /> {{$:/temp/range/__2}} \n\n<$checkbox tiddler=<<logTiddler>> field=\"show\" checked=\"show\" unchecked=\"hide\"> Show log</$checkbox> <<clearLogButton>>\n\n<$reveal stateTitle=<<logTiddler>> stateField=\"show\" type=\"match\" text=\"show\">\n<$transclude tiddler=<<logTiddler>> />\n</$reveal>\n\n---\n\nThe wikitext of this example is shown below:\n\n<$codeblock code={{RangeWidget Example!!text}}/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/RangeWidget.tid",
    "content": "caption: range\ncreated: 20171102134825376\nmodified: 20231113093304323\ntags: Widgets TriggeringWidgets\ntitle: RangeWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nThe range widget displays an HTML `<input type=\"range\">` that reflects a given tiddler field numeric value. Adjusting the range slider sets the tiddler field to the value.\n\n! Content and Attributes\n\nThe content of the `<$range>` widget is ignored.\n\n|!Attribute |!Description |\n|tiddler |Title of the tiddler to manipulate (defaults to the [[current tiddler|Current Tiddler]]) |\n|field |The field of the //tiddler// bound to the range slider|\n|index|<<.from-version \"5.1.22\">> The index of the //tiddler//, a [[DataTiddler|DataTiddlers]], to which the radio button is bound |\n|min |The minimum value to be able to be set by the `<$range>` widget |\n|max |The maximum value to be able to be set by the `<$range>` widget |\n|increment |The minimum amount by which a value may be changed.  Defaults to 1 |\n|default |If the field is missing or empty this is the default position for the widget handle relative to the min and max values|\n|class |CSS classes to be assigned to the label around the range slider |\n|actions|<<.from-version \"5.1.23\">> Optional, A string containing ActionWidgets to be triggered when the value changes. <br>The variable: ''actionValue'' is available for ''all'' actions.<br>The variable: ''actionValueHasChanged'' is always `yes` here.|\n|actionsStart|<<.from-version \"5.1.23\">> Optional, A string containing ~ActionWidgets to be triggered when the \"handle\" is ''clicked''. <br>The variable: ''actionValueHasChanged'' is always `no` here|\n|actionsStop|<<.from-version \"5.1.23\">> Optional, A string containing ~ActionWidgets to be triggered when the \"handle\" is ''released''. <br>The variable: ''actionValueHasChanged'' is `yes`, ''if'' the new-value is different to the start-value |\n|disabled|<<.from-version \"5.1.23\">> Optional, disables the range input if set to \"yes\". Defaults to \"no\"|\n|tabindex |<<.from-version \"5.3.7\">> Optional. Sets the `tabindex` attribute of the HTML select element to the given value |\n|data-* |<<.from-version \"5.3.2\">> Optional [[data attributes|https://developer.mozilla.org/en-US/docs/Learn/HTML/Howto/Use_data_attributes]] to be assigned to the `<input>` HTML element |\n|style.* |<<.from-version \"5.3.2\">> Optional [[CSS properties|https://developer.mozilla.org/en-US/docs/Web/CSS/Reference]] to be assigned to the `<input>` HTML element |\n\n! Examples\n\n!! Range -1 to 10\n\n<$macrocall $name='wikitext-example-without-html'\nsrc=\"\"\"<$range tiddler=\"$:/_RangeDemo/1\" min=\"-1\" max=\"10\" default=\"1\" increment=\"1\"/> {{$:/_RangeDemo/1}}\"\"\"/>\n\n!! Range 0 to 1\n\n<$macrocall $name='wikitext-example-without-html'\nsrc=\"\"\"<$range tiddler=\"$:/_RangeDemo/2\" min=\"0\" max=\"1\" default=\".01\" increment=\".01\"/> {{$:/_RangeDemo/2}}\"\"\"/>\n\n\n{{RangeWidget Example}}"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/RevealWidget.tid",
    "content": "caption: reveal\ncreated: 20131024141900000\njeremy: tiddlywiki\nmodified: 20251212091659847\ntags: Widgets\ntitle: RevealWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nThe reveal widget hides or shows its content depending upon the value of a [[state tiddler|StateMechanism]].\n\n! Content and Attributes\n\nThe content of the `<$reveal>` widget is displayed according to the rules given above.\n\n|!Attribute |!Description |\n|<<.attr state>> |A TextReference containing the state |\n|<<.attr stateTitle>> |A title containing the state, without TextReference. Gets preferred over the <<.attr state>> attribute if both are set |\n|<<.attr stateField>> |A field name which is used to look for the state, if the attribute <<.attr stateTitle>> is present |\n|<<.attr stateIndex>> |An index which is used to look for the state, if the attribute <<.attr stateTitle>> is present |\n|<<.attr default>> |Default value to use when the state tiddler is missing |\n|<<.attr tag>> |Overrides the default [[HTML tag|HTML Tags]] (`<div>` in block mode or `<span>` in inline mode) |\n|<<.attr type>> |The type of matching performed, see below |\n|<<.attr text>> |The text to match when the type is <<.value match>>, <<.value nomatch>>, <<.value lt>>, <<.value gt>>, <<.value lteq>> or <<.value gteq>> |\n|<<.attr class>> |An optional CSS class name to be assigned to the HTML element|\n|<<.attr style>> |An optional CSS style attribute to be assigned to the HTML element |\n|<<.attr position>> |The position used for the popup when the type is <<.value popup>>.<br> Can be <<.value left>>, <<.value above>>, <<.value aboveleft>>, <<.value aboveright>>, <<.value right>>, <<.value belowleft>>, <<.value belowright>> or <<.value below>>. Also see [[Popup Clamping Example|RevealWidget (Popup Clamping Example)]] |\n|<<.attr positionAllowNegative>> |Set to <<.value yes>> to allow computed popup positions to be negative relative to their container or the document window (for absolutely positioned popups). Defaults to <<.value no>> |\n|<<.attr clamp>> |Set to <<.value right>>, <<.value bottom>> or <<.value both>> to prevent a popup to overflow its container, see below |\n|<<.attr animate>> |Set to <<.value yes>> to animate opening and closing. Defaults to <<.value no>> |\n|<<.attr retain>> |Set to <<.value yes>> to force the content to be retained even when hidden. Defaults to <<.value no>> |\n|<<.attr updatePopupPosition>> |<<.from-version \"5.1.23\">>Set to <<.value yes>> to update the popup position when the state tiddler is updated. Defaults to <<.value no>> |\n\n<<.tip \"\"\"<$macrocall $name=\".from-version\" version=\"5.1.18\"/> <<.attr stateTitle>>, <<.attr stateField>> and <<.attr stateIndex>> attributes allow specifying Tiddler states directly, without interpreting them as [[TextReferences|TextReference]].\nThis is useful for edge-cases where titles may contain characters that are used to denote Tiddler fields or indices (`!!`, `##`)\"\"\">>\n\n<<.tip \"\"\"Retaining the content when hidden can give poor performance since the hidden content requires refresh processing even though it is not displayed. On the other hand, the content can be revealed much more quickly. Note that setting `animate=\"yes\"` will also require `retain=\"yes\"`\"\"\">>\n\n<<.tip \"\"\"Set the <<.attr class>> attribute to <<.value tc-popup-keep>> to make a popup \"sticky\" so it will not close when you click inside of it\"\"\">>\n\n!! <<.attr type>> Attribute\n\nThe <<.attr type>> of the widget determines the condition for the content being displayed:\n\n* <<.value match>>: the content is displayed if the state tiddler matches the text attribute value\n* <<.value nomatch>>: the content is displayed if the state tiddler doesn't match the text attribute value\n* <<.value popup>>: the content is displayed as a popup as described in the PopupMechanism\n* <<.value lt>>: the content is displayed if the state tiddler contains an integer with a value ''less than'' the text attribute value\n* <<.value gt>>: the content is displayed if the state tiddler contains an integer with a value ''greater than'' the text attribute value\n* <<.value lteq>>: the content is displayed if the state tiddler contains an integer with a value ''less than or equal to'' the text attribute value\n* <<.value gteq>>: the content is displayed if the state tiddler contains an integer with a value ''greater than or equal to'' the text attribute value\n\n!! Popup Clamping\n\nPopups can be forced not to overflow their container (when relatively positioned) or the document window (when absolutely positioned). The popup's ''container'' is the nearest ancestor element with CSS positioning (<<.attr position>>: <<.value relative>>, <<.value absolute>>, <<.value fixed>>, or <<.value sticky>>).\n\nOverflow to the left or top is prevented by setting <<.attr positionAllowNegative>> to <<.value no>> (the default). Clamping to the right and bottom is achieved by setting <<.attr clamp>> to <<.value right>>, <<.value bottom>> or <<.value both>>.\n\nSee [[Popup Clamping Example|RevealWidget (Popup Clamping Example)]]\n\n\n<<.tip \"\"\"Refer to [[ButtonWidget]] and [[Coordinate Systems]] for information on relative and absolute positioning\"\"\">>\n\n! Examples\n\n<<testcase TestCases/RevealWidget/SimpleReveal>>\n\n<<testcase TestCases/RevealWidget/AccordionSlider>>\n\n<<testcase TestCases/RevealWidget/Popup>>\n\n<<testcase TestCases/RevealWidget/TextReference>>"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/ScrollableWidget.tid",
    "content": "caption: scrollable\ncreated: 20140324223413403\nmodified: 20230731100903977\ntags: Widgets\ntitle: ScrollableWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nThe scrollable widget wraps its content in a scrollable frame. The user can scroll the contents with the mouse or with touch gestures. Code can use the [[WidgetMessage: tm-scroll]] to programmatically scroll specific DOM nodes into view.\n\n! Content and Attributes\n\nThe content of the `<$scrollable>` widget is displayed within a pair of wrapper DIVs. If the inner DIV is larger then it scrolls within the outer one. CSS is used to specify the size of the outer wrapper.\n\n|!Attribute |!Description |\n|class |The CSS class(es) to be applied to the outer DIV |\n|fallthrough |See below |\n|bind |<<.from-version \"5.3.2\">> Optional title of tiddler to which the scroll position should be bound |\n\nBinding the scroll position to a tiddler automatically copies the scroll coordinates into the `scroll-left` and `scroll-top` fields after scrolling occurs. Conversely, setting those field values will automatically cause the scrollable to scroll if it can.\n\n<$macrocall $name=\".note\" _=\"\"\"If a scrollable widget can't handle the `tm-scroll` message because the inner DIV fits within the outer DIV, then by default the message falls through to the parent widget. Setting the ''fallthrough'' attribute to `no` prevents this behaviour.\"\"\"/> \n\n! Examples\n\nThese examples require the following CSS definitions from [[$:/_tw5.com-styles]]:\n\n```\n.tc-scrollable-demo {\n\tborder: 1px solid <<colour message-border>>;\n\tbackground-color: <<colour message-background>>;\n\tpadding: 1em;\n\theight: 400px;\n\tposition: relative;\n}\n```\n\n!! Simple Usage\n\nThis wiki text shows how to display a list within the scrollable widget:\n\n<<wikitext-example-without-html \"<$scrollable class='tc-scrollable-demo'>\n<$list filter='[tag[Reference]]'>\n\n<$view field='title'/>: <$list filter='[all[current]links[]sort[title]]' storyview='pop'>\n<$link><$view field='title'/></$link>\n</$list>\n\n</$list>\n</$scrollable>\n\">>\n\n!! Binding scroll position to a tiddler\n\n[[Current scroll position|$:/my-scroll-position]]: {{$:/my-scroll-position!!scroll-left}}, {{$:/my-scroll-position!!scroll-top}}\n\n<$button>\n<$action-setfield $tiddler=\"$:/my-scroll-position\" scroll-left=\"100\" scroll-top=\"100\"/>\nSet current scroll position to 100,100\n</$button>\n\n<$button>\n<$action-setfield $tiddler=\"$:/my-scroll-position\" scroll-top={{{ [{$:/my-scroll-position!!scroll-top}subtract[10]] }}}/>\nScroll up by 10 pixels\n</$button>\n\n<$button>\n<$action-setfield $tiddler=\"$:/my-scroll-position\" scroll-top={{{ [{$:/my-scroll-position!!scroll-top}add[10]] }}}/>\nScroll down by 10 pixels\n</$button>\n\n<<wikitext-example-without-html \"<$scrollable class='tc-scrollable-demo' bind='$:/my-scroll-position'>\n<$list filter='[tag[Reference]]'>\n\n<$view field='title'/>: <$list filter='[all[current]links[]sort[title]]' storyview='pop'>\n<$link><$view field='title'/></$link>\n</$list>\n\n</$list>\n</$scrollable>\n\">>\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/SelectWidget.tid",
    "content": "caption: select\ncreated: 20131024141900000\nmodified: 20231113093304323\ntags: TriggeringWidgets Widgets\ntitle: SelectWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nThe select widget displays a popup menu based on a [[HTML select element|https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select]]. The popup (or dropdown) contains a list of items defined by `<option>` and `<optgroup>` elements. \nEvery time the user selects a new value in the menu, the selected value is written to the text of a specified tiddler field or index and any ActionWidgets within the `actions` attribute are triggered. Conversely, if the tiddler value is changed independently the select widget is automatically updated to reflect the new value.\n\nIn multiple selection mode, the list of selected values is bound to the specified tiddler field or index. Browsers generally use the <kbd>ctrl</kbd> or <kbd>cmd</kbd> keys for multiple selection.\n\nFor example, this select widget displays a list of the tags in this wiki:\n\n<$macrocall $name=\"wikitext-example-without-html\" src=\"<$select tiddler=<<qualify 'select-demo'>> default='HelloThere'>\n<$list filter='[all[shadows+tiddlers]tags[]sort[title]]'>\n<option value=<<currentTiddler>>><$view field='title'/></option>\n</$list>\n</$select>\"/>\n\nThe <$link to=<<qualify \"select-demo\">>>state tiddler</$link> currently contains:\n\n<$edit-text tiddler=<<qualify \"select-demo\">> tag=\"input\" default=\"\"/>\n\nSee the text change as you switch entries in the select widget. Try changing the value of the state tiddler and see the select widget change. Notice how the select widget only displays an entry if there is a precise match with the tiddler text.\n\n! Content and Attributes\n\nThe content of the `<$select>` widget should be one or more HTML `<option>` or `<optiongroup>` elements that provide the available values.\n\n|!Attribute |!Description |\n|tiddler |The title of the tiddler containing the value to be displayed/modified by the select widget (defaults to the current tiddler) |\n|field |The field name for the value in the current tiddler (defaults to \"text\") |\n|index |The index of a property in a [[DataTiddler|DataTiddlers]] (takes precedence over the field attribute) |\n|class |CSS classes to be assigned to the HTML select element |\n|tooltip |Optional tooltip |\n|default |Default value to be used if the tiddler, field or index specifies a missing value |\n|multiple |If present, switches to multiple selection mode |\n|size |The number of rows to display in multiple selection mode |\n|actions |A string containing ActionWidgets to be triggered when the key combination is detected |\n|focus |<<.from-version \"5.2.4\">> Optional. Set to \"yes\" to automatically focus the HTML select element after creation |\n|tabindex |<<.from-version \"5.3.1\">> Optional. Sets the `tabindex` attribute of the HTML select element to the given value |\n|disabled |<<.from-version \"5.3.7\">> Optional. Set to \"yes\" to disable select input. Defaults to \"no\". |\n|data-* |<<.from-version \"5.3.2\">> Optional [[data attributes|https://developer.mozilla.org/en-US/docs/Learn/HTML/Howto/Use_data_attributes]] to be assigned to the HTML element |\n|style.* |<<.from-version \"5.3.2\">> Optional [[CSS properties|https://developer.mozilla.org/en-US/docs/Web/CSS/Reference]] to be assigned to the HTML element |\n\n! Examples\n\n!! Simple Lists\n\nThis example sets the title of the current wiki [[$:/SiteTitle]] to one of a list of book titles:\n\n<$macrocall $name=\"wikitext-example-without-html\" src=\"<$select tiddler='$:/SiteTitle' tooltip='Choose a new site title'>\n<option>A Tale of Two Cities</option>\n<option>A New Kind of Science</option>\n<option>The Dice Man</option>\n</$select>\"/>\n\n!!! Simple List with Placeholder Value\n\nTo display a default value that is also disabled, effectively functioning as a placeholder, the following form can be used. Note that the targeted field must be empty, or not exist, for the placeholder to show in the widget:\n\n<$macrocall $name=\"wikitext-example-without-html\" src=\"<$select tiddler='New Tiddler' field='text' default='Choose a new text'>\n<option disabled>Choose a new text</option>\n<option>A Tale of Two Cities</option>\n<option>A New Kind of Science</option>\n<option>The Dice Man</option>\n</$select>\"/>\n\n!! Value lists\n\nIn this example the `value` attribute has been used to specify the text that should be used as the value of the entry instead of the display text.\n\n<$macrocall $name=\"wikitext-example-without-html\" src=\"<$select tiddler='$:/SiteTitle'>\n<option value='cities'>A Tale of Two Cities</option>\n<option value='science'>A New Kind of Science</option>\n<option value='dice'>The Dice Man</option>\n</$select>\"/>\n\n!! Option Groups\n\nEntries in the list can be grouped together with the `<optgroup>` element\n\n<$macrocall $name=\"wikitext-example-without-html\" src=\"<$select tiddler='$:/SiteTitle'>\n<optgroup label='Fiction'>\n<option value='cities'>A Tale of Two Cities</option>\n<option value='dice'>The Dice Man</option>\n</optgroup>\n<optgroup label='Non-fiction'>\n<option value='science'>A New Kind of Science</option>\n<option value='recursive'>The Recursive Universe</option>\n</optgroup>\n</$select>\"/>\n\n!! Generated Lists\n\nThe ListWidget can be used to generate the options for a select widget. For example, here we combine a select widget listing all the tiddlers tagged ''TableOfContents'' with a transclusion to display the text of the selected one.\n\n<$macrocall $name=\"wikitext-example-without-html\" src=\"<$select tiddler='$:/generated-list-demo-state'>\n<$list filter='[tag[TableOfContents]]'>\n<option><$view field='title'/></option>\n</$list>\n</$select>\n<$tiddler tiddler={{$:/generated-list-demo-state}}>\n<$transclude mode='block'/>\n</$tiddler>\"/>\n\n!! Nested Lists\n\nThis example uses a nested pair of list widgets. The outer one generates the `<optgroup>` elements, and the inner one generates `<option>` elements:\n\n<$macrocall $name=\"wikitext-example-without-html\" src=\"<$select tiddler='$:/generated-list-demo-nestedstate' field='type' default='text/vnd.tiddlywiki'>\n<$list filter='[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]each[group]sort[group]]'>\n<optgroup label={{!!group}}>\n<$list filter='[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]group{!!group}] +[sort[description]]'>\n<option value={{!!name}}><$view field='description'><$view field='title'/></$view> (<$view field='name'/>)</option>\n</$list>\n</optgroup>\n</$list>\n</$select>\"/>\n\n!! Multiple Selections\n\nThis example uses the `multiple` keyword to specify that we should be able to select multiple items.\n\n<$macrocall $name=\"wikitext-example-without-html\" src=\"<$select tiddler='$:/generated-list-demo-state' field='testing' multiple size='8'>\n<$list filter='[tag[TableOfContents]]'>\n<option><$view field='title'/></option>\n</$list>\n</$select><br />\n<$list filter='[list[$:/generated-list-demo-state!!testing]]'>\n<$view field='title' /><br />\n</$list>\n\"/>\n\n!! Actions \n\nThis example uses the actions attribute to apply days of the week as tags to the current tiddler.\n\n<$macrocall $name=\"wikitext-example-without-html\" src=\"\"\"<$select tiddler='$:/generated-list-demo-state' field='actions-test' \nactions='<$action-listops $field=\"myfield\" $tags={{$:/generated-list-demo-state!!actions-test}}/>'\n>\n<$list filter='[list[Days of the Week]]'>\n<option><$view field='title'/></option>\n</$list>\n</$select>\n\"\"\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/SetMultipleVariablesWidget.tid",
    "content": "caption: setmultiplevariables\ncreated: 20211023162409163\nmodified: 20211023162409163\ntags: Widgets\ntitle: SetMultipleVariablesWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nThe setmultiplevariables widget assigns values to multiple [[variables|Variables]] where the names and values of the variables are specified as separate filter.\n\n! Content and Attributes\n\nThe content of the `<$setmultiplevariables>` widget is the scope for the value assigned to the variable.\n\n|!Attribute |!Description |\n|$names |Filter evaluating to the names of a list of variables to assign |\n|$values |Filter evaluating to the values corresponding to the list of names specified in `$names` |\n\n! Examples\n\nHere is an example of a convoluted way to display the values of the fields of the tiddler \"HelloThere\":\n\n<$macrocall $name='wikitext-example-without-html'\nsrc=\"\"\"<$setmultiplevariables $names=\"[[HelloThere]fields[]addprefix[demo-]]\" $values=\"[[HelloThere]fields[]] :map[[HelloThere]get<currentTiddler>]\">\n<ol>\n<$list filter=\"[variables[]prefix[demo-]sort[]]\">\n<li>\n''<$text text={{{ [<currentTiddler>removeprefix[demo-]] }}}/>'': <$text text={{{ [<currentTiddler>getvariable[]] }}}/>\n</li>\n</$list>\n</ol>\n</$setmultiplevariables>\"\"\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/SetVariableWidget.tid",
    "content": "title: SetVariableWidget\ncreated: 201310241419\nmodified: 20141025115603373\ntags: Widgets\ncaption: setvariable\n\nThe `<$setvariable>` widget is a synonym for `<$set/>`; see SetWidget for more details.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/SetWidget.tid",
    "content": "caption: set\ncreated: 20131115182700000\nmodified: 20230720174707977\ntags: Widgets\ntitle: SetWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nThe set variable widget assigns a value to a specified [[variable|Variables]]. The new value of the variable is available to the content within the set variable widget.\n\n! Content and Attributes\n\nThe content of the `<$set>` widget is the scope for the value assigned to the variable.\n\n|!Attribute |!Description |\n|name |The name of the variable to assign (defaults to \"currentTiddler\") |\n|value |The value to assign to the variable if the <<.attr filter>> attribute is missing or not empty |\n|tiddler |<<.from-version \"5.1.15\">> Optional title of the tiddler from which to read the value |\n|subtiddler |<<.from-version \"5.1.16\">> Optionally specifies the title of a subtiddler within a plugin tiddler identified by the ''tiddler'' attribute |\n|field |<<.from-version \"5.1.15\">> Optional field of the tiddler from which to read the value (only used if ''tiddler'' is used) |\n|index |<<.from-version \"5.1.15\">> Optional index of the tiddler from which to read the value (only used if ''tiddler'' is used) |\n|filter |An optional filter to be evaluated and assigned to the variable (see \"Filtered List Variable Assignment\" below). The variable can be used with the <<.olink enlist>> operator |\n|select |<<.from-version \"5.1.14\">> An optional zero-based index of the item to return from the filter output (see below) |\n|emptyValue |The value to assign to the variable if the specified value is missing or empty (see below) |\n\n<<.tip \"\"\"If the value of your variable is enclosed in double square brackets this might indicate that you are returning a list of values from the filter. To use a single title from the filter output without the double square brackets see ''Filtered Item Variable Assignment'' below.\"\"\">>\n\n! Examples\n\n!! Simple Variable Assignment\n\nThe simplest way of using set variable widget assigns a string to a variable. The following example assigns a literal string\n\n<<<\n\n<$macrocall $name='wikitext-example-without-html' \nsrc='<$set name=\"myVariable\" value=\"Some text\">\n<$text text=<<myVariable>>/>\n</$set>' />\n\n<<<\n\nBoth the name and value attributes can be transcluded. For example:\n\n<<<\n\n<$macrocall $name='wikitext-example-without-html' \nsrc='<$set name=anotherVariable value=\"myVariable\">\n  <$set name=<<anotherVariable>> value={{$:/language/DefaultNewTiddlerTitle}}>\n    <$text text=<<myVariable>>/>\n  </$set>\n</$set>' />\n\n<<<\n\n!! Conditional Variable Assignment\n\nThis form of the set variable widget chooses one of two specified values according to whether a filter evaluates to an empty list. Here's an example that sets a variable according to whether the current tiddler is called \"myMagicTitle\":\n\n<<<\n\n<$macrocall $name='wikitext-example-without-html' \nsrc=\"\"\"<$set name=\"myVariable\" filter=\"[all[current]field:title[myMagicTitle]]\" value=\"It's magic\" emptyValue=\"It's not magic\">\n<$text text=<<myVariable>>/>\n</$set>\"\"\" />\n\n<<<\n\n!! Filtered List Variable Assignment\n\nThis form of the set variable widget evaluates the filter and assigns the result to the variable as a space-separated list (using double square brackets for titles containing spaces).\n\n<<.warning \"\"\"The [[Title List]] format cannot reliably represent items that contain certain specific character sequences such as `]] `. Thus it should not be used where there is a possibility of such sequences occurring.\"\"\">>\n\n<<<\n\n<$macrocall $name='wikitext-example-without-html' \nsrc='<$set name=\"myVariable\" filter=\"[tag[HelloThere]]\">\n<$text text=<<myVariable>>/>\n</$set>' />\n\n<<<\n\n!! Filtered Item Variable Assignment Single Element\n\n<<.from-version \"5.1.14\">> This form of the set variable widget evaluates the filter and assigns the specified result to the variable as a single item (ie, not using double square brackets for titles containing spaces).\n\n<<<\n\n<$macrocall $name='wikitext-example-without-html' \nsrc='<$set name=\"myVariable\" filter=\"[tag[HelloThere]]\" select=\"0\">\n<$text text=<<myVariable>>/>\n</$set>'/>\n\n<<<\n\n!! Transcluded Variable Assignment\n\n<<.from-version \"5.1.15\">> This form of the set variable widget obtains the value to assign to the variable from a value in a tiddler field or index. For example:\n\n<<<\n\n<$macrocall $name='wikitext-example-without-html' \nsrc='<$set name=\"myVariable\" tiddler=\"HelloThere\" field=\"list\">\n<$text text=<<myVariable>>/>\n</$set>'/>\n\n<<<\n\nThe example above could also be written as `<$set name=\"myVariable\" value={{HelloThere!!list}}>`. The advantage of using the ''tiddler'' attribute is that the tiddler title and field or index can themselves be computed. For example:\n\n<<<\n\n<$macrocall $name='wikitext-example-without-html' \nsrc='<$set name=\"myTiddler\" value=\"HelloThere\">\n  <$set name=\"myVariable\" tiddler=<<myTiddler>> field={{$:/docs/anyField!!field}}>\n    <$text text=<<myVariable>>/>\n  </$set>\n</$set>'/>\n\n<<<\n\n!! Using the Set Widget to Create Global Variables\n\nThere are times when it makes sense to use the features of the [[SetWidget]] rather than procedures or functions to create global variables.  This can be accomplished by placing the set variable widget in a tiddler that is tagged [[$:/tags/Global|SystemTag: $:/tags/Global]].  If multiple variables are required, the set variable widget can be nested as shown here:\n\n<<<\n<div class=\"doc-example\">\n\n```\n<$set name=\"myGlobalVariable\" value=\"I am global\">\n    <$set name=\"myOtherGlobalVariable\" value=\"I am also a global variable.\">\n    </$set>\n</$set>\n```\n</div>\n<<<\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/SlotWidget.tid",
    "content": "caption: slot\ncreated: 20220909111836951\nmodified: 20230511123922283\ntags: Widgets\ntitle: SlotWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\n<<.from-version \"5.3.0\">> The <<.wlink SlotWidget>> widget is used within transcluded content to mark \"slots\" that the transcluding widget can fill with the <<.wlink FillWidget>> widget.\n\nSee the <<.wlink TranscludeWidget>> widget for details.\n\n! Attributes\n\nThe content of the <<.wlink SlotWidget>> widget is used as a fallback for the slot content if the corresponding <<.wlink FillWidget>> widget is not found.\n\n|!Attribute |!Description |\n|$name |The name of the slot being defined |\n|$depth |Optional number indicating how deep the <<.wlink SlotWidget>> widget is compared to the matching <<.wlink FillWidget>> widget as measured by the number of nested transclude widgets (defaults to 1). Transclude widgets whose <<.attr $fillignore>> attribute is set to ''yes'' are ignored, and do not affect the depth count |\n\n! Examples\n\n!! Quoted content\nWhen content contains quotes, passing it through attributes and parameters can be challenging. However, passing the content using the <<.wlink FillWidget>> widget content eliminates the need to wrap it in quotes, making the process easier.\n\n<$let bold_slot='<b>\n<$slot $name=\"body\"/>\n</b>\n'>\n\nIf a variable named <<.var bold_slot>> contains the following <<.wlink SlotWidget>> definition:\n<$codeblock code={{{[[bold_slot]getvariable[]]}}}/>\n\nthen the slot can be filled using this variable transclusion:\n\n<<wikitext-example-without-html src:'<$transclude $variable=bold_slot>\n<$fill $name=body>\n\n\"\"\"\nsome text\nusing [[Hard Linebreaks in WikiText]]\nsyntax\n\"\"\"\n</$fill>\n</$transclude>\n'>>\n</$let>\n\n!! Depth\n\n<$let table_slot=\"|!depth|!slot1|!slot2|\n|1|<$slot $name=slot1/>|<$slot $name=slot2/>|\n|2|<$slot $name=slot1 $depth=2>missing</$slot>|<$slot $name=slot2 $depth=2>missing</$slot>|\n\"\ntable_fill=\"\"\"<$transclude $variable=table_slot  $mode=block>\n  <$fill $name=slot1>outer1</$fill>\n  <$fill $name=slot2>outer2\n    <$transclude $variable=table_slot $mode=block>\n      <$fill $name=slot1>inner1</$fill>\n      <$fill $name=slot2>inner2</$fill>\n    </$transclude>\n  </$fill>\n</$transclude>\n\"\"\">\n\nIf a variable named <<.var table_slot>> contains the following <<.wlink SlotWidget>> definition:\n\n<$codeblock code={{{[[table_slot]getvariable[]]}}}/>\n\nthen the slot values can be filled at different transclusion depths:\n\n<$transclude $variable=\"wikitext-example-without-html\" src=<<table_fill>>/>\n\nThe <<.var slot1>> slot is filled at both depths with a simple string (outer1 and outer2). For <<.var slot2>>, the outer instance is a simple string but the inner instance recursively transcludes the same <<.var table_slot>> variable again. The recursion ends at the third transclusion call since both \"inner\" slots are filled with simple strings."
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/TestCaseWidget.tid",
    "content": "caption: testcase\ncreated: 20240507221902644\nmodified: 20241113203728572\ntags: Widgets\ntitle: TestCaseWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nThe <<.wid testcase>> widget is designed to present interactive example test cases that are useful for learning and testing. It functions by creating an independent subwiki loaded with the specified payload tiddlers and then rendering a specified template from within the subwiki. The <<.wid testcase>> widget can optionally also be used to run and verify test results within the subwiki.\n\nThis makes it possible to run independent tests that also serve as documentation examples.\n\nThe <<.wid testcase>> widget can be used directly as documented below, but it is generally easier to create [[TestCaseTiddlers]]. These are special CompoundTiddlers that can contain multiple payload tiddlers making up a test case.\n\n!! Features\n\nHere is an example of a test case showing the default split view with the source tiddlers on the left and the tiddler titled `Output` rendered on the right.\n\n<<testcase \"TestCases/TranscludeWidget/SimpleTransclusion\">>\n\nNotice also that clicking on links within the output pane will switch to the tab containing that tiddler.\n\nThe text of the payload tiddlers listed on the left are editable, with the results being immediately reflected in the preview pane on the right. However, if the <<.wid testcase>> widget is refreshed then the modifications are lost.\n\nThere is a dropdown menu at the top right of the menu that has two options:\n\n* Export the payload tiddlers to a file in the usual export formats\n* Import the payload tiddlers into the host wiki. This option loads the payload tiddlers into the $:/Import tiddler so that they can be renamed and/or individually selected\n\nThe green tick at the top left of a test case indicates that a test has been set up and that it passes.\n\nIf the test fails, a red cross is shown, and there is a display of the differences between the actual results and the expected results:\n\n<<testcase \"TestCases/TestCaseWidget/FailingTest\">>\n\n! Limitations\n\nThe <<.wid testcase>> widget creates a lightweight TiddlyWiki environment that is a parasite of the main wiki. Because it is not a full, independent TiddlyWiki environment, there are some important limitations:\n\n* Output is rendered into a DIV, and so cannot be styled independently of the host wiki\n* Any changes to the wiki made interactively by the user are volatile, and are lost when the <<.wid testcase>> widget is refreshed\n* Startup actions are not supported\n* Only plugins available in the host wiki can be included in the test case\n\nIf these limitations are a problem, the [[Innerwiki Plugin]] offers the ability to embed a fully independent subwiki via an `<iframe>` element, but without the testing related features of the <<.wid testcase>> widget.\n\n! Content and Attributes\n\nThe content of the `<$testcase>` widget is not displayed but instead is scanned for <<.wlink DataWidget>> widgets that define the payload tiddlers to be included in the test case.\n\n|!Attribute |!Description |\n|<<.attr template>> |Optional title of the template used to display the test case (defaults to $:/core/ui/testcases/DefaultTemplate). Note that custom templates will need to be explicitly added to the payload |\n|<<.attr testOutput>> |Optional title of the tiddler whose output should be subject to testing (note that both <<.attr testOutput>> and  <<.attr testExpectedResult>> must be provided in order for testing to occur) |\n|<<.attr testExpectedResult>> |Optional title of the tiddler whose content is the expected result of rendering the output tiddler (note that both <<.attr testOutput>> and  <<.attr testExpectedResult>> must be provided in order for testing to occur)  |\n|<<.attr testActions>> |Optional title of the tiddler containing actions that should be executed before the test occurs |\n|<<.attr testHideIfPass>> |If set to \"yes\", hides the <<.wid testcase>> widget if the test passes |\n|<<.attr class>> |<<.from-version \"5.3.7\">> Optional CSS classes in addition to the default `tc-test-case` class |\n\n! Payload Tiddlers\n\nThe payload tiddlers are the tiddler values that are loaded into the subwiki that is created to run the tests. They are created via <<.wlink DataWidget>> widgets within the body of the `<$testcase>` widget. The `$:/core` plugin is automatically included in the payload.\n\n! Testcase Templates\n\nThe <<.attr template>> attribute defaults to $:/core/ui/testcases/DefaultTemplate\n\nThe default test case template assigns special meanings to a number of payload tiddlers:\n\n|!Tiddler |!Description |\n|''Description'' |Descriptive heading for the test, intended to make it easy to identify the test |\n|''Narrative'' |Narrative description of the test, intended to explain the purpose and operation of the test |\n|''Output'' |The tiddler that produces the test output |\n|''~ExpectedResult'' |HTML of expected result of rendering the ''Output'' tiddler |\n\nThe test case wiki will inherit variables that are visible to the <<.wid testcase>> widget itself. The default template uses several variables that can be set by the user:\n\n|!Variable |!Description |\n|<<.var linkTarget>> |Causes the test case description to be rendered as a link to the current tiddler |\n|<<.var displayFormat>> |Defaults to \"wikitext\", can also be \"plaintext\" to force plain text display |\n|<<.var testcaseTiddler>> |Title of the tiddler to be used as a link target for the testcase description |\n\nA custom template can be specified for special purposes. For example, the provided template $:/core/ui/testcases/RawJSONTemplate just displays the payload tiddlers in JSON, which can be used for debugging purposes.\n\n! Test Case Template Variables\n\nThe <<.wid testcase>> widget makes the following variables available within the rendered template:\n\n|!Variable |!Description |\n|<<.var transclusion>> |A hash that reflects the names and values of all the payload tiddlers. This makes it easier for test case templates to create unique state tiddler titles using the [[qualify Macro]] or QualifyWidget |\n|<<.var payloadTiddlers>> |JSON array of payload tiddler fields |\n|<<.var outputHTML>> |The actual output HTML if running tests |\n|<<.var expectedHTML>> |The expected output HTML if running tests |\n|<<.var testResult>> |The tests result if running tests (may be \"pass\" or \"fail\") |\n\n! Example\n\nHere is an example of setting up a test case that includes expected test results:\n\n<$testcase>\n<$data title=\"Description\" text=\"Example of a test case with expected results\"/>\n<$data title=\"Output\" text=\"\"\"<$testcase testOutput=\"Output\" testExpectedResult=\"ExpectedResult\">\n    <$data title=\"Description\" text=\"How to calculate 2 plus 2\"/>\n    <$data title=\"Output\" text=\"<$text text={{{ [[2]add[2]] }}}/>\"/>\n    <$data title=\"ExpectedResult\" text=\"<p>8</p>\"/>\n</$testcase>\n\"\"\"/>\n</$testcase>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/TextWidget.tid",
    "content": "created: 201401191419\nmodified: 201901150000\ntags: Widgets\ntitle: TextWidget\ncaption: text\ntext-test: e=mc^^2^^\n\n! Introduction\n\nThe text widget displays plain text without parsing it as [[WikiText]], opposite of [[WikifyWidget]].\n\n! Content and Attributes\n\nThe content of the `<$text>` widget is not used.\n\n|!Attribute |!Description |\n|text |The text to display |\n\n! Example\n\n<$macrocall $name='wikitext-example-without-html' src='<$vars string=\"//italic//\">\n\n* <<string>>\n* <$text text=<<string>>/>\n\n</$vars>\n' />\n\n<$macrocall $name='wikitext-example-without-html' src='\nThe text-test field of this tiddler has a field value: <$text text={{!!text-test}}/>\n\nIt displays in its normal WikiText format as: {{!!text-test}}\n' />\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/The Extended Listops Filters.tid",
    "content": "created: 20230301172832597\nmodified: 20230301172832597\ntitle: The Extended Listops Filters\n\nSee [[Extended Listops Filters]]"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/TiddlerWidget.tid",
    "content": "created: 20130824154300000\nmodified: 20170901101236822\ntags: Widgets\ntitle: TiddlerWidget\ntype: text/vnd.tiddlywiki\ncaption: tiddler\n\n! Introduction\n\nThe TiddlerWidget is used to set a value for the [[current tiddler|Current Tiddler]] variable, valid within the scope of the TiddlerWidget.\n\n! Content and Attributes\n\n|!Attribute |!Description |\n|tiddler |The title of the tiddler to become the new [[current tiddler|Current Tiddler]] |\n\n! CSS Class Variables\n\nThe tiddler widget assigns several useful CSS classes to variables that it creates:\n\n; missingTiddlerClass\n: `tc-tiddler-exists` or...\n: `tc-tiddler-missing` depending on whether the tiddler exists\n;shadowTiddlerClass\n: `tc-tiddler-shadow` if the tiddler is a shadow tiddler\n;systemTiddlerClass\n:` tc-tiddler-system` if the tiddler is a system tiddler\n;tiddlerTagClasses\n: a space separated list of CSS classes named `tc-tagged-{tagname}`,<br>e.g. `tc-tagged-introduction`<br><br>''Note:'' tag names are URI encoded which means that the tag [[$:/tags/Macro]] appears as the CSS class `tc-tagged-%24%3A%2Ftags%2FMacro`. See [[How to apply custom styles by tag]] for more details\n\nYou can use these variables like this:\n\n```\n<$tiddler tiddler=\"MyOtherTiddler\">\n<div class=<<missingTiddlerClass>>>\n<$transclude/>\n</div>\n</$tiddler>\n```\n\nSee also [[$:/core/ui/ViewTemplate]].\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/TranscludeWidget.tid",
    "content": "caption: transclude\ncreated: 20130824142500000\nmodified: 20240621073236430\ntags: Widgets\ntitle: TranscludeWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nTransclusion is the underlying mechanism for many higher level wikitext features, such as ''procedures'', ''functions'', ''custom widgets'' and ''macros''.\n\nThe <<.wid transclude>> widget dynamically includes the content from another ''tiddler'' or ''variable'', rendering it as if the transclude widget were replaced by the target content.\n\nThe <<.wid transclude>> widget can be used to render content of any type: wikitext, images, videos, etc.\n\n! Attributes\n\n| !Attribute |<| !Description |\n| !(modern) | !(legacy) |~|\n|$variable |- |Name of the variable to transclude. Eg: Name of <<.dlink procedures Procedures>>, <<.dlink functions Functions>>, <<.dlink \"custom widgets\" Widgets>> and <<.dlink macros Macros>> |\n|$tiddler |tiddler |The title of the tiddler to transclude (defaults to the current tiddler) |\n|$field |field |The field name of the current tiddler (defaults to \"text\"; if present takes precedence over the index attribute) |\n|$index |index |The index of a property in a [[DataTiddler|DataTiddlers]] |\n|$subtiddler |subtiddler |Optional SubTiddler title when the target tiddler is a [[plugin|Plugins]] (see below) |\n|$mode |mode |Override the default parsing mode for the transcluded text to \"block\" or \"inline\" |\n|$type |– |Optional ContentType used when transcluding variables, indexes or fields other than the ''text'' field|\n|$output |- |ContentType for the output rendering (defaults to `text/html`, can also be `text/plain` or `text/raw`) |\n|$recursionMarker |recursionMarker |Set to ''no'' to prevent creation of [[Legacy Transclusion Recursion Marker]] (defaults to ''yes'') |\n|$fillignore |- |Set to ''yes'' to make this transclusion invisible to the <<.attr $depth>> attribute of the <<.wlink SlotWidget>> widget (defaults to ''no'') |\n|//{attributes not starting with $}// |– |Any other attributes that do not start with a dollar are used as parameters to the transclusion |\n|//{other attributes starting with $}// |– |Other attributes starting with a single dollar sign are ''reserved'' for future use |\n|//{attributes starting with $$}// |– |Attributes starting with two dollar signs are used as parameters to the transclusion, but with the name changed to use a single dollar sign |\n\n! Legacy vs. Modern Mode\n\nThe <<.wid transclude>> widget can be used in two modes:\n\n* <<.from-version \"5.3.0\">> ''Modern mode'' offers the full capabilities of the <<.wid transclude>> widget, and incorporates the functionality of the  <<.wlink MacroCallWidget>> widget. It is indicated by the presence of at least one attribute starting with a dollar sign `$`\n* ''Legacy mode'' offers a more limited set of capabilities. It is indicated by the absence of any attributes starting with a dollar sign `$`\n\nModern mode is recommended for use in new applications.\n\n! Example\n\nHere is a complete example showing the important features of the <<.wid transclude>> widget:\n\n```\n\\procedure myproc(name,age)\nMy name is <<name>> and my age is <<age>>.\n\\end\n\n<$transclude $variable=\"myproc\" name=\"James\" age=\"19\"/>\n```\n\n* `\\procedure` defines a variable as a procedure with two parameters, ''name'' and ''age''\n* The content of the procedure refers to the parameters as variables\n* The <<.wlink TranscludeWidget>> widget specifies the variable to transclude, and values for the parameters.\n\n! Basic Operation\n\nThe basic operation of the <<.wid transclude>> widget is as follows:\n\n|`<$transclude/>` |Transcludes the text field of the current tiddler |\n|`<$transclude $variable=\"alpha\"/>` |Transcludes the variable \"alpha\" (note that procedures, custom widgets and macros are all special types of variable) |\n|`<$transclude $tiddler=\"foo\"/>` |Transcludes the text field of the tiddler \"foo\" |\n|`<$transclude $field=\"bar\"/>` |Transcludes the field \"bar\" of the current tiddler |\n|`<$transclude $index=\"beta\"/>` |Transcludes the index \"beta\" of the current tiddler |\n|`<$transclude $tiddler=\"foo\" $index=\"beta\"/>` |Transcludes the index \"beta\" of the tiddler \"foo\" |\n\n! Transclusion Parameters\n\nNamed string parameters can be passed to the <<.wid transclude>> widget. They are made available as variables within the transcluded text. Parameters are only supported in modern mode.\n\nWhen invoking a transclusion, parameters are specified as additional attributes that do not start with a dollar sign `$`:\n\n```\n<$transclude $tiddler=\"MyTiddler\" firstParameter=\"One\" secondParameter=\"Two\"/>\n```\n\nTo pass parameters whose names start with a dollar sign `$`, prefix them with an extra `$`. For example, to pass a parameter called `$tiddler`:\n\n```\n<$transclude $tiddler=\"MyTiddler\" $$tiddler=\"One\"/>\n```\n\nThere are several different ways to declare parameters within a transclusion:\n\n* the <<.wlink ParametersWidget>> widget\n* the [[Pragma: \\parameters]]\n* the [[Pragma: \\procedure]] for declaring procedure\n* the [[Pragma: \\widget]] for declaring custom widgets\n* the [[Pragma: \\define]] for declaring macros\n\nAn example of declaring parameters with the <<.wlink ParametersWidget>> widget:\n\n```\n<$parameters firstParameter=\"default\" secondParameter=\"another default\">\n    Parameters are available here as the variables <<firstParameter>> and <<secondParameter>>.\n</$parameters>\n```\n\nThe [[Pragma: \\parameters]] can be used as a shortcut syntax for declaring parameters. For example:\n\n```\n\\parameters (firstParameter:\"default\",secondParameter:\"another default\")\nParameters are available here as the variables <<firstParameter>> and <<secondParameter>>.\n```\n\n! Transclusion Slots\n\nTranscluded content can define special named locations called slots. At the point of transclusion, blocks of wikitext can be passed to the <<.wid transclude>> widget to fill those slots.\n\nSlots work very similarly to parameters except that they can contain structured wikitext, and not just plain text. The primary advantage of slots over parameters is that the contents do not need to be wrapped in quotation symbols, making it much simpler to pass complex structures.\n\nFor example, here we transclude the tiddler \"Example\" while using the <<.wlink FillWidget>> widget to pass wikitext blocks to fill the slots called \"positive\" and \"negative\":\n\n```\n<$transclude $tiddler=\"Example\">\n  <$fill $name=\"positive\">\n    <h1>This is positive</h1>\n  </$fill>\n  <$fill $name=\"negative\">\n    <h3>This is negative</h3>\n  </$fill>\n</$transclude>\n```\n\nThe tiddler \"Example\" uses the <<.wlink SlotWidget>> widget to specify the slots to be filled:\n\n```\n<ol>\n  <li><$slot $name=\"positive\"/></li>\n  <li><$slot $name=\"negative\"/></li>\n</ol>\n```\n\nThe output will be equivalent to:\n\n```\n<ol>\n  <li>\n    <h1>This is positive</h1>\n  </li>\n  <li>\n    <h3>This is negative</h3>\n  </li>\n</ol>\n```\nSee <<.wlink SlotWidget>> for more examples.\n\n! Missing Transclusion Targets\n\nThe TranscludeWidget uses the special slot `ts-missing` to specify the content to be rendered if the transclusion target is not defined (i.e. a missing tiddler or a missing field).\n\nFor example:\n\n```\n<$transclude $tiddler=\"MissingTiddler\">\n<$fill $name=\"ts-missing\">\nThis content is displayed if `MissingTiddler` is missing.\n</$fill>\n<$fill $name=\"other\">\nThis content is passed to the transclusion as the slot value `other`\n</$fill>\n</$transclude>\n```\n\nIf no slots values are specified within the <<.wlink TranscludeWidget>> widget then the entire content of the widget is used as the missing content.\n\nFor example:\n\n```\n<$transclude $tiddler=\"MissingTiddler\">\nThis content is displayed if `MissingTiddler` is missing.\n</$transclude>\n```\n\n! Parsing modes\n\nTiddlyWiki [[parses text in two modes|WikiText Parser Modes]]:\n\n* [[inline mode|Inline Mode WikiText]] recognises character formatting such as emphasis, links\n* [[block mode|Block Mode WikiText]] recognises all the ''inline'' formatting, and adds block formatting such as tables, headings and lists\n\nUsually, the mode is determined by whether the transclude widget itself has been parsed in block or inline mode. This can be overridden with the <<.attr mode>> attribute.\n\nFor example, consider tiddler \"A\" with this content:\n\n```\n# Item one\n#<$transclude tiddler=\"B\"/>\n# Item two\n```\n\nAnd a tiddler \"B\" with this content:\n\n```\n# Item one - a\n# Item one - b\n```\n\nThe result will be something like this:\n\n# Item one\n# # Item one - a # Item one - b\n# Item two\n\nThis can be fixed by amending tiddler \"A\":\n\n```\n# Item one\n#<$transclude tiddler=\"B\" mode=\"block\"/>\n# Item two\n```\nSee also these [[other examples|WikiText parser mode: transclusion examples]].\n\n! ~SubTiddler Access\n\nThe transclude widget allows access to the individual tiddlers stored within a [[plugin|Plugins]].\n\nThe following example will transclude the core version of the tiddler [[$:/DefaultTiddlers]] even if it has been overridden:\n\n<<wikitext-example-without-html \"\"\"<$transclude tiddler=\"$:/core\" subtiddler=\"$:/DefaultTiddlers\"/>\"\"\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/TriggeringWidgets.tid",
    "content": "created: 20211031172716741\nmodified: 20211113163836901\ntags: Widgets\ntitle: TriggeringWidgets\ntype: text/vnd.tiddlywiki\n\nTriggering widgets are a type of widget which can trigger ActionWidgets. Typically these widgets (such as the ButtonWidget) will trigger actions based on interaction from the user.\n\nThe following triggering widgets are provided:\n\n<<list-links \"[tag[TriggeringWidgets]]\">>\n\nSee ActionWidgets for more information and examples of how TriggeringWidgets and ActionWidgets work together."
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/VarsWidget.tid",
    "content": "title: VarsWidget\ncreated: 20150426115958020\nmodified: 20150426115958020\ntags: Widgets\ncaption: vars\n\n! Introduction\n\nThe <<.wid vars>> widget allows multiple variables to be set in one operation. In some situations it can result in simpler code than using the more flexible <<.wlink SetWidget>> widget. It differs from the <<.wlink LetWidget>> in that variables cannot interfere with the evaluation of other variables within the same <<.wid vars>>.\n\n! Content and Attributes\n\nThe content of the <<.wid vars>> widget is the scope for the value assigned to the variable.\n\n|!Attribute |!Description |\n|//{attributes not starting with $}// |Each attribute name specifies a variable name. The attribute value is assigned to the variable |\n\nAttributes will not interfere with the evaluation of other attributes. So if one attribute sets <<.attr currentTiddler>>, and another attribute uses <<.attr currentTiddler>> in its evaluation, it will use the value of <<.attr currentTiddler>> that exists outside the widget's scope.\n\n! Examples\n\nConsider a case where you need to set multiple variables.\n\nUsing the <<.wid vars>> widget, this situation may be handled in the following way:\n\n```\n\\define helloworld() Hello world!\n\n<$vars greeting=\"Hi\" me={{!!title}} sentence=<<helloworld>>>\n  <<greeting>>! I am <<me>> and I say: <<sentence>>\n</$vars>\n```\n\nIn contrast, here is the same example using the <<.wid set>> widget:\n\n```\n<$set name=\"greeting\" value=\"Hi\" >\n<$set name=\"me\" value={{!!title}} >\n<$set name=\"sentence\" value=<<helloworld>> >\n  <<greeting>>! I am <<me>> and I say: <<sentence>>\n</$set>\n</$set>\n</$set>\n```\n\n! Remarks\n\nIt should be noted that this widget differs from the <<.wid set>> widget in the following ways:\n\n* A fallback (also known as \"emptyValue\") cannot be specified\n* Filters cannot be used to produce a conditional variable assignment\n* Variable names must be literal strings\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/ViewWidget.tid",
    "content": "caption: view\ncreated: 20131024141900000\nmodified: 20211219213444235\ntags: Widgets\ntitle: ViewWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nThe view widget displays the contents of a tiddler field in a specified format.\n\n! Content and Attributes\n\nThe content of the `<$view>` widget is displayed if the field or property is missing or empty.\n\n|!Attribute |!Description |\n|tiddler |The title of the tiddler (defaults to the [[current tiddler|Current Tiddler]]) |\n|field |The name of the field to view (defaults to \"text\") |\n|index |The name of the index to view |\n|format |The format for displaying the field (see below) |\n|template |Optional template string used when the `format` attribute is set to \"date\" |\n|subtiddler |Optional SubTiddler title when the target tiddler is a [[plugin|Plugins]] (see below) |\n|mode |<<.from-version \"5.1.15\">> Optional transclusion parsing mode for wikified formats. May be \"inline\" or \"block\" (the default) |\n\n!! Formats\n\nThe following formats can be specified in the `format` attribute:\n\n|!Format |!Description |\n|''text'' |Plain text (default) <<.tip \"See also the TextWidget. `<$view format=text tiddler=MyTiddler/>` renders the same as `<$text text={{MyTiddler}}/>`\">>|\n|''htmlencoded'' |The field is displayed with HTML encoding. <<.tip \"Rendered value is the same as the output from the [[encodehtml|encodehtml Operator]] filter operator\">>  |\n|''htmltextencoded'' |<<.from-version \"5.2.0\">> The field is displayed with HTML encoding, only double quotes (\") are not escaped. This creates a more compact htmlencoding appropriate for html text content, but //not// for attributes. |\n|''urlencoded'' |The field is displayed with URL encoding <<.tip \"Rendered value is the same as the output from the [[encodeuri|encodeuri Operator]] filter operator\">> |\n|''doubleurlencoded'' |The field is displayed with double URL encoding <<.tip \"Rendered value is the same as the output from calling the [[encodeuri|encodeuri Operator]] filter operator twice\">> |\n|''htmlwikified'' |The field is wikified according to the mode attribute and the resulting HTML returned as plain text (ie HTML elements will appear in plain text) |\n|''plainwikified'' |The field is wikified according to the mode attribute and the text content of the resulting HTML returned as plain text (ie HTML elements will be removed) |\n|''htmlencodedplainwikified'' |The field is wikified according to the mode attribute and the text content of the resulting HTML returned as HTML encoded plain text (ie HTML elements will be removed) |\n|''date'' |The field is interpreted as a UTC date and displayed according to the DateFormat specified in the `template` attribute <<.tip \"Rendered value is the same as the output from the [[format:date|format Operator]] filter operator\">> |\n|''relativedate'' |The field is interpreted as a UTC date and displayed as the interval from the present instant <<.tip \"Rendered value is the same as the output from the [[format:relativedate|format Operator]] filter operator\">> |\n|''stripcomments'' |The field is interpreted as JavaScript source code and any lines beginning `\\\\#` are stripped |\n|''jsencoded'' |The field is displayed as a JavaScript encoded string <<.tip \"Rendered value is the same as the output from the [[stringify|stringify Operator]] filter operator\">> |\n\n!! \"WikiText format\"\n\nTo display the field content as regular WikiText, for example with working links, use the [[TranscludeWidget]] instead. \n\n! SubTiddler Access\n\nThe view widget allows access to the individual tiddlers stored within a [[plugin|Plugins]].\n\nThe following example will view the core version of the tiddler [[$:/DefaultTiddlers]] even if it has been overridden:\n\n<<wikitext-example-without-html '\n<$view tiddler=\"$:/core\" subtiddler=\"$:/DefaultTiddlers\"/>\n\n'>>\n\nTo transclude a subtiddler with codeblock visual style, wrap it with pre, and set the mode and format attributes:\n\n<<wikitext-example-without-html '\n<pre>\n<$view tiddler=\"$:/core\" subtiddler=\"$:/core/ui/ControlPanel/ViewTemplateTags\" mode=block format=text/>\n</pre>\n\n'>>\n\n! Examples\n\nGiven this [[Saturday]] example tiddler:\n\n|!tiddler|!raw content|!rendered content|\n|[[Saturday]]|<$text text={{Saturday}}/>|{{Saturday}}|\n\nHere is how `<$view tiddler=Saturday format=<<format>>/>` renders for each format:\n<table>\n<tr><th>format</th><th>renders as</th></tr>\n<$list filter=\"text htmlencoded htmltextencoded urlencoded doubleurlencoded htmlwikified plainwikified htmlencodedplainwikified stripcomments jsencoded\" variable=format>\n<tr>\n<td>''<<format>>''</td>\n<td><$view tiddler=\"Saturday\" format=<<format>>/></td>\n</tr>\n</$list>\n</table>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/Widgets.tid",
    "content": "created: 20140908130500000\nmodified: 20240422083334052\ntags: Concepts [[Core Widgets]]\ntitle: Widgets\ntype: text/vnd.tiddlywiki\n\n~TiddlyWiki's display is driven by an underlying collection of <<.def widgets>>. These are organised into a tree structure: each widget has a parent widget and zero or more child widgets.\n\n~TiddlyWiki generates this <<.def \"widget tree\">> by parsing the ~WikiText of tiddlers. Each component of the ~WikiText syntax, including even the trivial case of ordinary text, generates a corresponding widget. The widget tree is an intermediate representation that is subsequently rendered into the actual display.\n\nWidgets are analogous to elements in an HTML document. Indeed, HTML tags in ~WikiText generate dedicated <<.def \"element widgets\">>.\n\nEach class of widget contributes a specific ability to the overall functionality, such as the ability to <<.wlink2 \"display an image\" ImageWidget>> or <<.wlink2 \"a button\" ButtonWidget>>, to <<.wlink2 \"call a macro\" MacroCallWidget>> or <<.wlink2 \"transclude text from elsewhere\" TranscludeWidget>>, or to [[mark a piece of text as a heading|HTML in WikiText]].\n\nThe more specialised widgets use a general-purpose [[widget syntax|Widgets in WikiText]] as their only possible WikiText representation.\n\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/WikifyWidget.tid",
    "content": "caption: wikify\ncreated: 20160321144949700\nmodified: 20241206233352509\ntags: Widgets\ntitle: WikifyWidget\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nThe <<.wid wikify>> widget parses and renders a string of text and assigns the result to a specified [[variable|Variables]]. The new value of the variable is available to the content within the <<.wid wikify>> widget.\n\n! Content and Attributes\n\nThe content of the <<.wid wikify>> widget is the scope for the value assigned to the variable.\n\n|!Attribute |!Description |\n|name |The name of the variable to assign |\n|text |The text to parse and render |\n|type |The ContentType of the text (defaults to `text/vnd.tiddlywiki`) |\n|mode |The parse mode: [[block|Block Mode WikiText]] (the default) or [[inline|Inline Mode WikiText]] |\n|output |Keyword indicating the desired output type, defaulting to `text` (see below) |\n\nThe available output types are:\n\n|!Keyword |!Description |\n|text |Return the plain text of the rendered output (ie HTML tags are omitted) |\n|formattedtext |Return the plain text with simple text formatting of the rendered output (ie HTML tags are omitted) |\n|html |Return the rendered HTML of the output |\n|parsetree |Return a formatted JSON representation of the parse tree |\n|widgettree |Return a formatted JSON representation of the widget tree |\n\n! Examples\n\n!! Using a widget as a value\n\n<<testcase \"TestCases/WikifyWidget/WidgetValue/Success\">>\n<<testcase \"TestCases/WikifyWidget/WidgetValue/Fail\">>\n\n!! Accurate word count\n\n<<testcase \"TestCases/WikifyWidget/WordCount/Success\">>\n<<testcase \"TestCases/WikifyWidget/WordCount/Fail\">>\n\n!! Exporting rendered html\n\n<<testcase \"TestCases/WikifyWidget/RenderHTML\">>\n\n!! Rendering parameterised SVG for use in stylesheets\n\n<<testcase \"TestCases/WikifyWidget/RenderSVGURI\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/examples/ActionListopsWidget (Examples).tid",
    "content": "created: 20230301174431218\nlist: efg hlm pqr\nmodified: 20230805103601224\nmyfield: \nrevision: 0\ntags: ActionListopsWidget\ntitle: ActionListopsWidget (Examples)\ntype: text/vnd.tiddlywiki\n\nIn this example we shall populate and then clear a list in an ordinary field (myfield) of this tiddler (the default).\n\n<$macrocall $name='wikitext-example-without-html'\nsrc=\"\"\"<$button>\n<$action-listops $field=\"myfield\" $filter=\"efg hlm pqr\"/>\nPopulate 'myfield'\n</$button>\n<$button>\n<$action-listops $field=\"myfield\" $subfilter=\"abc xyz\"/>\nAppend More Items\n</$button>\n<$button>\n<$action-listops $field=\"myfield\" $subfilter=\"-abc -hlm\"/>\nRemove Items\n</$button>\n<$button>\n<$action-listops $field=\"myfield\" $filter=\"[[]]\"/>\nClear 'myfield'\n</$button>\n\n<$list filter=\"[list[!!myfield]]\">\n\n</$list>\"\"\"/>\n\n---\nIn this example we shall append and remove items from a list in an ordinary field (myfield) of this tiddler (the default) and sort the resultant list. We shall then remove some of the appended items and sort the resulting list in reverse order.\n\n<$macrocall $name='wikitext-example-without-html'\nsrc=\"\"\"<$button>\n<$action-listops $field=\"myfield\" $subfilter=\"-efg ijk xyz [[this is a title]] +[sort[]]\"/>\nMangle List\n</$button>\n<$button>\n<$action-listops $field=\"myfield\" $subfilter=\"-xyz -[[this is a title]] +[!sort[]]\"/>\nUnmangle List\n</$button>\n\n<$list filter=\"[list[!!myfield]]\">\n\n</$list>\"\"\"/>\n\n---\nThe following example toggles the tag <<.value Examples>> for the current tiddler.\n\n<$macrocall $name='wikitext-example-without-html'\nsrc=\"\"\"<$button>\n<$action-listops $tags=\"+[toggle[Examples]]\"/>\nToggle 'Examples' tag\n</$button>\n\"\"\"/>\n\n---\nIn this example we shall append a few tags to the 'tags' field of this tiddler (the default). We shall then remove some of the appended tags. \n\n<$macrocall $name='wikitext-example-without-html'\nsrc=\"\"\"<$button>\n<$action-listops $tags=\"+[append{Days of the Week!!short}] $:/tag1 $:/tag2 $:/tag3\"/>\nPopulate 'tags'\n</$button>\n<$button>\n<$action-listops $tags=\"+[!remove:2{!!tags}]\"/>\nRemove Last Two Tags\n</$button>\n<$button>\n<$action-listops $tags=\"+[!prefix[$:/]]\"/>\nRemove System Tags\n</$button>\n<$button>\n<$action-listops $tags=\"-Mon -Tue\"/>\nRemove Mon and Tue\n</$button>\n<$button>\n<$action-listops $tags=\"+[prefix[$:/]] ActionWidgets Widgets\"/>\nRemove User Tags\n</$button>\n<$button>\n<$action-listops $tags=\"+[[]] ActionWidgets Widgets\"/>\nClear Tags\n</$button>\n\n<$list filter=\"[list[!!tags]]\">\n\n</$list>\"\"\"/>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/examples/ParametersWidget (Examples).tid",
    "content": "created: 20230518124403282\nmodified: 20230518135109977\ntags: ParametersWidget\ntitle: ParametersWidget (Examples)\n\n''Example i'': Shows transclusion of [[Sample Tiddler Template]]. The template tiddler has two parameters `name` and `age` and here their default values are used.\n\n<$macrocall $name=\".example\" n=\"1\" eg=\"\"\"<$transclude $tiddler=\"Sample Tiddler Template\" />\"\"\"/>\n\n''Example ii'': Shows, another transclusion of [[Sample Tiddler Template]], here the value of `age` is passed, but `name` uses its default value.\n\n<$macrocall $name=\".example\" n=\"2\" eg=\"\"\"<$transclude $tiddler=\"Sample Tiddler Template\" age=33/>\"\"\"/>\n\n''Example iii'': Shows, another transclusion of [[Sample Tiddler Template]], here the value of both `name` and `age` are passed.\n\n<$macrocall $name=\".example\" n=\"3\" eg=\"\"\"<$transclude $tiddler=\"Sample Tiddler Template\" age=45 name=\"Jeremy Ruston\" />\"\"\"/>\n\nIn the simple form the above transclusion is equivalent to\n\n<$macrocall $name=\".example\" n=\"3.1\" eg=\"\"\"{{Sample Tiddler Template|Jeremy Ruston|45}}\"\"\"/>\n\nIn this simple form, parameters passed by position not by name. So the first value is passed to the first parameter, here `name` and the second value is passed to the second parameter, here `age`.\n\n''Remarks''\n\n# Passing parameter by name is good practice and is recommended for clarity. So for parameterized transclusions, the use of <<.wid transclude>> is recommended over simple form transclusion.\n# When passing parameters value by position, you cannot pass the second parameter while the first one has not been passed.\n\n\n''Example iv'': Here the <<.wlink ParametersWidget>> widget is used to declare a parameter whose default value is transcluded from another tiddler.\n\n<$macrocall $name=\".example\" n=\"4\" eg=\"\"\"\\procedure myproc()\n<$parameters name={{$:/SiteTitle}} age=\"21\">\nMy name is <<name>> and my age is <<age>>.\n</$parameters>\n\\end\n\n<$transclude $variable=\"myproc\" age=\"19\"/>\n\"\"\"/>"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/examples/RevealWidget (Popup Clamping Example).tid",
    "content": "created: 20231218192649874\nmodified: 20251212092210168\ntags: RevealWidget\ntitle: RevealWidget (Popup Clamping Example)\n\n<style>\n.container {\n  display: grid;\n  grid-template-columns: repeat(5, 1fr);\n  grid-template-rows: repeat(5, 1fr);\n  width: 600px;\n  height: 500px;\n  overflow: hidden;\n  background-color: #F8F8F8;\n  position: relative;\n  border: 1px solid #888;\n}\n.grid-item {\n    justify-self: center;\n    align-self: center;\n}\n.grid-popup .tc-drop-down {\n\tpadding: 1em;\n\tmin-width: 15em;\n}\n</style>\n\nThis example demonstrates the use of <<.attr positionAllowNegative>> and <<.attr clamp>> to clamp a popup inside its parent container.\n\n<<.attr clamp>>=<$select tiddler=\"$:/temp/clamp-demo-active\" field=\"text\" default=\"none\">\n<option value=\"none\">none</option>\n<option value=\"right\">right</option>\n<option value=\"bottom\">bottom</option>\n<option value=\"both\">both</option>\n</$select>\n\n<$checkbox tiddler=\"$:/temp/clamp-demo-allow-negative\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> <<.attr positionAllowNegative>></$checkbox>\n\n<<.attr position>>=<$select tiddler=\"$:/temp/clamp-demo-position\" field=\"text\" default=\"below\">\n<option value=\"left\">left</option>\n<option value=\"above\">above</option>\n<option value=\"aboveleft\">aboveleft</option>\n<option value=\"aboveright\">aboveright</option>\n<option value=\"right\">right</option>\n<option value=\"belowleft\">belowleft</option>\n<option value=\"belowright\">belowright</option>\n<option value=\"below\">below</option>\n</$select>\n\n<div class=\"container\">\n\t<$list filter=\"[range[25]]\">\n\t\t<div class=\"grid-item\">\n\t\t\t<$button popup=\"$:/state/popup-clamping\">Pop Me Up</$button>\n\t\t</div>\n\t</$list>\n\t<$reveal type=\"popup\"\n\t         position={{{ [{$:/temp/clamp-demo-position}else[below]] }}}\n\t\t\t state=\"$:/state/popup-clamping\"\n\t\t\t class=\"grid-popup\"\n\t\t\t clamp={{{ [{$:/temp/clamp-demo-active}else[none]] }}}\n\t\t\t positionAllowNegative={{{ [{$:/temp/clamp-demo-allow-negative}else[no]] }}}>\n\t\t<div class=\"tc-drop-down\">\n\n\t\t!! This is the popup\n\t\tAnd this is some text\n\t\t</div>\n\t</$reveal>\n</div>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/widgets/examples/Sample Tiddler Template.tid",
    "content": "created: 20230518124140604\ndescription: This example tiddler is used to illustrate some of the new features in Parameterized Transclusions\nmodified: 20230518125337219\ntags: [[ParametersWidget Examples]] Demonstrations\ntitle: Sample Tiddler Template\n\n<$parameters name=Jeremy age=\"21\">\nMy name is <<name>> and my age is <<age>>.\n</$parameters>"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/Anchor Links using HTML.tid",
    "content": "created: 20190311094603013\nmodified: 20201130064330388\ntags: [[HTML in WikiText]]\ntitle: Anchor Links using HTML\n\n<a id=<<qualify \"#Top\">>></a>\n\n<h2 id=\"#Introduction:Anchor-Links-using-HTML\">''HTML Anchor Links in Tiddlers''</h2>\n\n\n\n* <a href=<<qualify \"##Introduction\">>>What do they do?</a>\n* <a href=<<qualify \"##How-do-I-make-them\">>>How do I make them?</a>\n* <a href=<<qualify \"##Anchor-link-limitations\">>>Limitations and things to look out for</a>\n* <a href=<<qualify \"##More_examples\">>>More examples</a>\n* <a href=<<qualify \"##Suggestions-for-elements\">>>Suggestions for HTML elements to use</a>\n* <a href=<<qualify \"##Suggestions-for-ids\">>>Suggestions for target names to use</a>\n* <a href=<<qualify \"##qualify-example\">>>Avoiding duplicate IDs when transcluding</a>\n* <a href=<<qualify ##Style_Hints>>>Style Hints</a>\n\n<a id=<<qualify \"#Introduction\">>></a>\n\n!! What do they do?\n\nIn TiddlyWiki anchor links can help us link to target points and distinct sections within rendered tiddlers. They can help the reader navigate longer tiddler content.\n\nFor example this link, <a href=<<qualify \"##Bottom_of_tiddler\">>>Bottom</a>, should take you to the bottom of this tiddler. The \"Back to the top\" link below should return you back to the top of this tiddler.\n\n<a href=<<qualify \"##Top\">>>Back to the top</a>\n\n<a id=<<qualify \"#How-do-I-make-them\">>></a>\n\n!! How do I make them?\n\nThere are only 2 steps to making anchor links.\n\n* First, create the target point (called an 'anchor') where you want it.\n* Second, add a link to it where the reader might need it.\n\nThat's it. \n\n\n''Step 1: Create an 'anchor' (link target)''\n\n```\n<a id=\"#Bottom_of_tiddler\"></a>\n```\n\n*Add an <<.attr id>> attribute to any HTML5 tag and place a single `#` before the 'address' value. <a href=<<qualify \"##Suggestions-for-elements\">>>Here are some suggestions of tags you can use.</a>\n* Place this code at the target location. E.g. at the bottom of the tiddler.\n\n''Step 2: Create a link to the target anchor''\n\n```\n<a href=\"##Bottom_of_tiddler\">Bottom</a>\n```\n*Create an `<a href>` link using exactly the same 'address' value as the target but with double  `##` characters preceding it.\n*Place this code where it will most help the reader.\n\nThe above example can be adapted to work for many situations in ~TiddlyWiki, such as the table of contents at the top of this tiddler.\n\n''Is it really that simple? ''\n\nYes, it's that simple. BUT...  in ~TiddlyWiki there are some small differences from standard HTML5 anchor links and some specific ~TiddlyWiki limitations.\n\n<a href=<<qualify \"##Top\">>>Back to the top</a>\n\n<h2 id=<<qualify \"#Anchor-link-limitations\">>>Limitations and things to watch out for</h2>\n\n''Step 1:'' Creating the target anchor\n\n* Unlike standard HTML5, in ~TiddlyWiki you must put a single `#` character in front of the target address value that follows the <<.attr id>> attribute.  (Notice the single `#` character used in the #Bottom_of_tiddler in Example 1.)\n* Unlike standard HTML5, ~TiddlyWiki anchor links are case sensitive. In the example above #Bottom_of_tiddler works, but #bottom_of_Tiddler wouldn't.\n* Avoid using the % character in your link, as some browsers have a bug where navigation to anchors containing a % character can sometimes fail (see warning below).\n* <a id=<<qualify #note.1-return>>/>Avoid using any whitespace in your link (see <a href=<<qualify ##note.1>> title=\"click to go to note 1.\">note 1</a> below).\n* Each link address should be unique in the TiddlyWiki.  If transclusions create multiple instances of the same <<.attr id>> attribute, navigation will take place to the first instance found that satisfies the above criteria. To avoid this, you can use the [[qualify macro|qualify Macro]] in both the <<.attr id>> and the <<.attr href>> attributes in a similar style to the example given below: <a href=<<qualify ##qualify-example>> >Avoiding duplicate IDs when transcluding</a>.\n\n''Step 2:'' Creating the link to the target\n\n* Remember that the <<.attr href>> value should start with ''two'' `#` characters, one more than the <<.attr id>> value of the target anchor.\n* Remember that ~TiddlyWiki anchor links are case sensitive\n\n''Step 3:'' Navigating to the target\n\nNormally you can click on the link and ~TiddlyWiki will scroll the window so the target anchor is at the top of the window, but there are several limitations:\n\n* Anchor links in ~TiddlyWiki do not work if the tiddler is not in the Story River, or is not displayed in the sidebar.\n* Anchor links in ~TiddlyWiki do not work if the tidlder is in the Story River or sidebar but anchor marked target point is not visible on the page (e.g., the tiddler is folded or the anchor is within a non-displaying $reveal widget). Ctrl+Click on such an anchor link will open a new browser window/tab loading the base web page and will not navigate to the expected tiddler.\n* Anchor links in Tiddlywiki do not work if Control Panel > Appearance > Story View is set to Zoomin (the single page view) and the tiddler is not at the top of the story river (i.e. not displayed).\n* When an anchor link is clicked the browser's navigation history will be updated with the link's href value appended to the web page's URL. This will happen even if the Control Panel > Settings > Navigation History value is set to \"Do not update history\".\n\n<$macrocall $name=.note _=\"\"\"<span id=<<qualify #note.1>>><a href=<<qualify ##note.1-return>> title=\"click to return\">1.</a></span> The [ext[HTML5 specification|https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id]] for the <<.attr id>> attribute  says that its value should not contain any whitespace. Currently ^^(Dec 2020)^^ an <<.attr id>> value with whitespace can sometimes work. However, it may not work in all browsers and is not guaranteed to work in the future.\"\"\"  />\n\n<<.warning \"Some browsers may fail to navigate to an anchor target whose ''id'' value includes a `%` character followed by 2 digits. This is a bug in the browser and nothing that ~TiddlyWiki can fix. To be safe, avoid using the `%` character.\">>\n\n<a href=<<qualify \"##Top\">>>Back to the top</a>\n\n<h2 id=<<qualify \"#More_examples\">>>More examples</h2>\nIn each case the target code is placed at the destination the reader navigates to, the link code is placed where it will help the reader navigate from.\n\n```\n<h2 id=\"#heading-01\"> My Target Heading</h2>\n\n<a href=\"##heading-01\">Link to My Target Heading</a>\n\n```\n\nThis looks like:\n\n<hr>\n<h2 id=\"#heading-01\">My Target Heading</h2>\n\n<a href=\"##heading-01\">Link to My Target Heading</a>\n<hr>\n\n```\n<section id=\"#unique001\">\n\n!! My Target section\n\nA `<section>` HTML tag is generally used to define sections in an HTML document, such as chapters, headers, footers, or any other sections of the document.\n</section>\n\nClicking this anchor link goes to: <a href=\"##unique001\">Link to My Target Section</a>\n```\n\nThis looks like:\n\n<hr>\n<section id=\"#unique001\">\n\n!! My Target section\n\nA `<section>` HTML tag is generally used to define sections in an HTML document, such as chapters, headers, footers, or any other sections of the document.\n</section>\n\nClicking this anchor link goes to: <a href=\"##unique001\">Link to My Target Section</a>\n<hr>\n\n<a href=<<qualify \"##Top\">>>Back to the top</a>\n\n<h2 id=<<qualify \"#Suggestions-for-elements\">>>''Suggestions for HTML elements to use''</h2>\n\nSome suggestions for the HTML element you choose for marking a position using the <<.attr id>> attribute:\n\n| ! Element | ! Sample code | ! Observations |\n|<<.def anchor>> |<$text text=\"\"\"<a id=\"#part001-of-TiddlerName\"></a>\"\"\"/> |Should work perfectly everywhere|\n|<<.def heading>> |<$text text=\"\"\"<h2 id=\"#a-new-heading\">A New Heading</h2>\"\"\"/>|Headings can have <<.attr id>> attributes as well|\n|<<.def section>> |<$text text=\"\"\"<section id=\"#sect001-of-TiddlerName\">This is a new section</section>\"\"\"/>|If you use the `section` element it should probably have an <<.attr id>> of its own|\n|<<.def span>> |<$text text=\"\"\"<span id=\"#007\">Marker 007 is here!</span>\"\"\"/>|`span` elements can be used to insert an <<.attr id>> mid-paragraph|\n\n<a href=<<qualify \"##Top\">>>Back to the top</a>\n\n<h2 id=<<qualify \"#Suggestions-for-ids\">>>Suggestions for target names to use</h2>\n\n| ! | ! Sample code | ! Observations |\n|<<.def Recommended>> |<$text text=\"\"\"<a id=\"#part001-of-TiddlerName\"></a>\"\"\"/> |Include the tiddler name for easy unique <<.attr id>>s|\n|<<.def \"Avoid: whitespace\">> |<$text text=\"\"\"<h2 id=\"#0 0 1\">A New Heading</h2>\"\"\"/>|Whitespace is not guaranteed to work in all browsers|\n|<<.def \"Avoid: %\">> |<$text text=\"\"\"<section id=\"#sect001%20of%20TiddlerName\">This is a new section</section>\"\"\"/>|URI encoding (turning space into %20 and so on) may not work in some browsers|\n|<<.def \"Avoid: duplicate IDs\">> |<$text text=\"\"\"<span id=\"#007\">Marker 007 is here!</span>\"\"\"/>|<<.attr id>> values should be unique within entire wiki|\n|<<.def \"Avoid: duplicate IDs\">> |<$text text=\"\"\"<a id=\"#007\"></a>\"\"\"/>A different marker 007|If <<.attr id>> values are duplicated, one will be ignored|\n\n<a href=<<qualify \"##Top\">>>Back to the top</a>\n\n<h2 id=<<qualify \"#qualify-example\">>> ''Avoiding duplicate IDs when transcluding''</h2>\nThe <<.attr id>> and anchor link to this header has been made as follows:\n\n```\n<a href=<<qualify \"##qualify-example\">>>Avoiding duplicate IDs when transcluding</a>\n\n<h2 id=<<qualify \"#qualify-example\">>>Avoiding duplicate IDs when transcluding</h2>\n```\n;For this to work:\n\n* The <<.attr href>> and <<.attr id>> values use the [[macro invocation syntax for attributes|HTML in WikiText]], using the [[qualify Macro]] to create a unique <<.attr id>> value.\n* Both the <<.attr id>> and the anchor link must be in the same tiddler.\n* There must not be any quote characters between the `=` and the `<<`.\n* The double quotes around the target name are optional, but recommended.\n* There should be a total of three `>` characters after the target name, two `>>` to close the `<<qualify` macro, and one `>` to close the `<a` tag.\n\n<a href=<<qualify \"##Top\">>>Back to the top</a>\n\n<h2 id=<<qualify #Style_Hints>>>''Style Hints'' </h2>\n\nIf you don't want the link to look like an external link, give the `<a>` element's <<.attr class>> attribute the value <<.def tc-tiddlylink>> and if you want the link to also be italic & bold, give the additional classes <<.def \"tc-tiddlylink-missing tc-tiddlylink-shadow\">> like below:\n\n```\n<a class=\"tc-tiddlylink\" href=\"##Introduction:Anchor-Links-using-HTML\">Back to the top</a> or just back to <a class=\"tc-tiddlylink tc-tiddlylink-missing tc-tiddlylink-shadow\" href=<<qualify ##Hints>>>Hints</a>.\n```\n<a class=\"tc-tiddlylink\" href=\"##Introduction:Anchor-Links-using-HTML\">Back to the top</a> or just back to <a class=\"tc-tiddlylink tc-tiddlylink-missing tc-tiddlylink-shadow\" href=<<qualify ##Style_Hints>>>Style Hints</a>.\n\nIf you want to include an <<.attr id>> attribute to a link in your sidebar Table of Contents, you can include it in your listed tiddler's <<.field caption>> field similar to the way shown below:\n\n```\n<span id=#some-value>Your caption</span>\n```\n\n<a id=<<qualify \"#Bottom_of_tiddler\">>></a>\n\n<a href=<<qualify \"##Top\">>>Back to the top</a>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/Block Quotes in WikiText.tid",
    "content": "caption: Block Quotes\ncreated: 20131206154636572\nmodified: 20240512000910702\ntags: WikiText\ntitle: Block Quotes in WikiText\ntype: text/vnd.tiddlywiki\n\nThere are two ways to produce HTML block quotes in TiddlyWiki5, one for content spread across multiple lines, and one for single line content.\n\n! Multi-line Block Quotes\n\nThe syntax for multi-line block quotes (<<.icon $:/core/images/quote>>) is:\n\n<<wikitext-example src:\"<<<\nThis is a block quoted paragraph\nwritten in English\n<<<\n\">>\n\n!! Citation\n\nA citation can be added to the quote like this:\n\n<<wikitext-example src:\"<<<\nComputers are like a bicycle for our minds\n<<< Steve Jobs\n\">>\n\n!! CSS Classes\n\nCSS classes can be added to a block quote:\n\n<<wikitext-example src:\"<<<.myClass.another-class\nOperating systems are like a brick wall for our minds\n<<< Nobody\n\">>\n\nThe core includes the class `tc-big-quote` that renders block quotes with outsize double quotes:\n\n<<wikitext-example src:\"<<<.tc-big-quote\nA dramatic quote\n<<< Somebody Important\n\">>\n\n! Single-line Block Quotes\n\nThe single-line syntax for block quotes is actually an extension of the syntax for [[Lists in WikiText]]. For example:\n\n<<wikitext-example src:\"> Quoted text\n> Another line of quoted text\n\">>\n\nYou can also nest quotes like this:\n\n```\n> A top quote\n>> A subquote\n> Another top quote\n```\n\nWhich renders as:\n\n> A top quote\n>> A subquote\n> Another top quote\n\nYou can also mix block quotes with other list items. For example:\n\n<<wikitext-example src:\"* List One\n** List Two\n**> A quote\n**> Another quote\n* List Three\n\">>\n\n! Advanced Wikitext and Block Quotes\nYou can also mix block quotes with paragraphs and other block wikitext. Be mindful of block mode - if other quoted content follows a paragraph, end it with a blank line. The final paragraph in the quote does not need to end with a blank line. If using indentation, make sure __not to indent the blank lines__. The parser will interpret this as additional inline content and not return to block mode. For example:\n\n<<wikitext-example src:'<<< Mixing Block Quotes with Inline Wikitext\nA paragraph appears before other //wikitext//, which needs to end with a blank line.\n\n    * List One\n    ** List Two\n    **> A quote\n\"\"\"\nA poem\nwith line beaks\nneeds to have\na blank line after\nthe final quotes\nif followed\nby other content\n\"\"\"\n\n    <<<< Deep Block Quote\n        A paragraph before other //wikitext//, which ends with a blank line.\n\n        ! A Header\n        Another paragraph, which needs to end with a blank line.\n\n            !! Sub Header\n            A final paragraph, which __does not__ need to end with a blank line as the Block Quote ends.\n    <<<<\n<<<\n'>>"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/Code Blocks in WikiText.tid",
    "content": "caption: Code Blocks\ncreated: 20131205160047557\nmodified: 20220513120302826\ntags: WikiText\ntitle: Code Blocks in WikiText\ntype: text/vnd.tiddlywiki\n\nYou can use triple backticks <code>&#96;&#96;&#96;</code> to mark code blocks (<<.icon $:/core/images/mono-block>>):\n\n<pre>&#96;&#96;&#96;\nThis will be monospaced\n&#96;&#96;&#96;\n</pre>\n\nRenders as:\n\n```\nThis will be monospaced\n```\n\nTo be interpreted correctly, the three backticks need to be at the start of the line and immediately followed by a line-break.\n\nBe aware that any preceding paragraph content should be properly terminated with a double line break, too. So, this example is wrong:\n\n<pre>This is an ordinary paragraph\n&#96;&#96;&#96;\nThis will be monospaced\n&#96;&#96;&#96;\n</pre>\n\nThe correct version is:\n\n<pre>This is an ordinary paragraph\n\n&#96;&#96;&#96;\nThis will be monospaced\n&#96;&#96;&#96;\n</pre>\n\nNote that some keyboard layouts treat the backtick as a [[dead key|https://en.wikipedia.org/wiki/Dead_key]], making it hard to type. The trick is to type three backticks followed by a space. Alternatively, type all six backticks in one go, then a space, and then move the cursor back three characters to type or paste the content.\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/Conditional Shortcut Syntax.tid",
    "content": "created: 20230901122740573\nmodified: 20230901123102263\ntags: WikiText\ntitle: Conditional Shortcut Syntax\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.3.2\">> The conditional shortcut syntax provides a convenient way to express if-then-else logic within WikiText. It evaluates a [[filter expression|Filter Expression]] and considers the condition to be true if there is at least one result (regardless of the value of that result).\n\nWithin an \"if\" or \"elseif\" clause, the variable `condition` contains the value of the first result of evaluating the filter condition.\n\nA simple example:\n\n<$macrocall $name='wikitext-example-without-html'\nsrc='<%if [{$:/info/url/protocol}match[file:]] %>\n  Loaded from a file URI\n<%else%>\n  Not loaded from a file URI\n<%endif%>\n'/>\n\nOne or more `<%elseif%>` clauses may be included before the `<%else%>` clause:\n\n<$macrocall $name='wikitext-example-without-html'\nsrc='<%if [{$:/info/url/protocol}match[file:]] %>\n  Loaded from a file URI\n<%elseif [{$:/info/url/protocol}match[https:]] %>\n  Loaded from an HTTPS URI\n<%elseif [{$:/info/url/protocol}match[http:]] %>\n  Loaded from an HTTP URI\n<%else%>\n  Loaded from an unknown protocol\n<%endif%>\n'/>\n\nThe conditional shortcut syntax can be nested:\n\n<$macrocall $name='wikitext-example-without-html'\nsrc='\\procedure test(animal)\n<%if [<animal>match[Elephant]] %>\n  It is an elephant\n<%else%>\n  <%if [<animal>match[Giraffe]] %>\n    It is a giraffe\n  <%else%>\n    It is completely unknown\n  <%endif%>\n<%endif%>\n\\end\n\n<<test \"Giraffe\">>\n\n<<test \"Elephant\">>\n\n<<test \"Antelope\">>\n'/>\n\nNotes:\n\n* Clauses are parsed in inline mode by default. Force block mode parsing by following the opening `<%if %>`, `<%elseif%>` or `<%else%>` with two line breaks\n* Widgets and HTML elements must be within a single conditional clause; it is not possible to start an element in one conditional clause and end it in another\n* The conditional shortcut syntax cannot contain pragmas such as procedure definitions\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/Dashes in WikiText.tid",
    "content": "caption: Dashes\ncreated: 20131205160641986\nmodified: 20220513111920644\nrevision: 0\ntags: WikiText\ntitle: Dashes in WikiText\ntype: text/vnd.tiddlywiki\n\nYou can create an n-dash with a double hyphen -- and an m-dash with a triple hyphen `---`.\n\n<<wikitext-example src:\"\"\"* -- n-dash example \n* --- m-dash example --- have fun!\"\"\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/Definitions in WikiText.tid",
    "content": "caption: Definitions\ncreated: 20131205160424246\nmodified: 20251229110936191\ntitle: Definitions in WikiText\ntype: text/vnd.tiddlywiki\n\nTo use HTML Definition Lists through WikiText, see [[Description Lists in WikiText]]."
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/Description Lists in WikiText.tid",
    "content": "caption: Description Lists\ncreated: 20131205160424246\nmodified: 20251229110936191\ntags: WikiText\ntitle: Description Lists in WikiText\ntype: text/vnd.tiddlywiki\n\nHTML description lists (<abbr title=\"also known as\">AKA</abbr> definition lists) are created with this syntax:\n\n<<wikitext-example src:\"; Term being described\n: Description / Definition of that term\n; Another term\n: Another description / definition\n\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/Filtered Attribute Values.tid",
    "content": "created: 20230615045132842\nmodified: 20230615045231048\ntags: WikiText [[Widget Attributes]]\ntitle: Filtered Attribute Values\ntype: text/vnd.tiddlywiki\n\nFiltered attribute values are indicated with triple curly braces around a [[Filter Expression]]. The value will be the first item in the resulting list, or the empty string if the list is empty.\n\n<<.from-version \"5.2.2\">> To improve readability, newlines can be included anywhere that whitespace is allowed within filtered attributes.\n\nThis example shows how to add a prefix to a value:\n\n```\n<$text text={{{ [<currentTiddler>addprefix[$:/myprefix/]] }}} />\n```\n<<.warning \"The value of the attribute will be the exact text from the first item in the resulting list. Any wiki syntax in that text will be left as-is.\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/Formatting in WikiText.tid",
    "content": "caption: Formatting\ncreated: 20131205155959399\nmodified: 20230303215447403\ntags: WikiText\ntitle: Formatting in WikiText\ntype: text/vnd.tiddlywiki\n\n!! Overview\n\nAvailable character formatting in WikiText includes:\n\n|Wikitext | Button | Shortcut |Rendered Output |h\n|Double single quotes are used for `''bold text''`| <kbd><<.icon $:/core/images/bold>></kbd> | <kbd><<displayshortcuts \"((bold))\">></kbd> |Double single quotes are used for ''bold text'' |\n|Double slashes are used for `//italic text//`| <kbd><<.icon $:/core/images/italic>></kbd> | <kbd><<displayshortcuts \"((italic))\">></kbd> |Double slashes are used for //italic text//|\n|Double underscores are used for `__underlined text__`| <kbd><<.icon $:/core/images/underline>></kbd> | <kbd><<displayshortcuts \"((underline))\">></kbd>  |Double underscores are used for __underlined text__ |\n|Double circumflex accents are used for `^^superscripted^^` text | <kbd><<.icon $:/core/images/superscript>></kbd> | <kbd><<displayshortcuts \"((superscript))\">></kbd> |Double circumflex accents are used for ^^superscripted^^ text |\n|Double commas are used for `,,subscripted,,` text | <kbd><<.icon $:/core/images/subscript>></kbd> | <kbd><<displayshortcuts \"((subscript))\">></kbd> |Double commas are used for ,,subscripted,, text |\n|Double  tilde signs are used for `~~strikethrough~~` text | <kbd><<.icon $:/core/images/strikethrough>></kbd> | <kbd><<displayshortcuts \"((strikethrough))\">></kbd> |Double   tilde signs are used for ~~strikethrough~~ text |\n|Single backticks are used for ```code` `` | <kbd><<.icon $:/core/images/mono-line>></kbd> | <kbd><<displayshortcuts \"((mono-line))\">></kbd> |Single backticks are used for `code` |\n|Double @ characters are used to create a `@@highlight@@` | - | - |Double @ characters are used to create a @@highlight@@ |\n\nSee [[Styles and Classes in WikiText]] for more formatting options\n\n!! Embedded Backticks\n\n|Wikitext |Rendered Output|h\n|<code>&#96;&#96;double backticks allows &#96;embedded&#96; backticks&#96;&#96;</code>|``double backticks allows `embedded` backticks``|\n\n!! Keyboard Shortcuts\n\nThe full list of KeyboardShortcuts can be found in the $:/ControlPanel -> ''Keyboard Shortcuts'' tab. \n\n!! Semantic Information\n\n|Wikitext | Resulting HTML Code  |h\n|Double single quotes are used for `''bold text''`|Double single quotes are used for `<strong>bold text</strong>` |\n|Double slashes are used for `//italic text//`|Double slashes are used for `<em>italic text</em>` |\n|Double underscores are used for `__underlined text__`|Double underscores are used for `<u>underlined text<u>` |\n|Double circumflex accents are used for `^^superscripted^^` text |Double circumflex accents are used for `<sup>superscripted</sup>` text |\n|Double commas are used for `,,subscripted,,` text |Double commas are used for `<sub>subscripted</sub>` text |\n|Double tilde signs are used for `~~strikethrough~~` text |Double tilde signs are used for `<s>strikethrough</s>` text |\n|Single backticks are used for ```code` `` |Single backticks are used for `<code>code</code>` |\n|Double @ characters are used to create a `@@highlight@@` |Double @ characters are used to create a `<span class=\"tc-inline-style\">highlighted</span>` |\n\n!! Bold vs Strong\n\nIn TW we use the term \"bold\" instead of \"strong\" because most users are used to it. ... The rendering process converts our \"bold text\" into the STRONG HTML element. \n\n>The `<strong>` element is for content that is of greater importance, while the `<b>` element is used to draw attention to text without indicating that it's more important.\n>https://developer.mozilla.org/en-US/docs/Web/HTML/Element/strong#b_vs._strong\n\n!! Underline vs. Underscore\n\n>Use underline to describe text formatting that puts a line under the characters. Use underscore to refer to the underscore character ( _ ).\n>https://learn.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/u/underline-vs-underscore\n\n!! Emphasis vs Italics\n\n>The `<em>` element represents stress emphasis of its contents, while the `<i>` element represents text that is set off from the normal prose, such as a foreign word, fictional character thoughts, or when the text refers to the definition of a word instead of representing its semantic meaning. (The title of a work, such as the name of a book or movie, should use `<cite>`.)\n>https://developer.mozilla.org/en-US/docs/Web/HTML/Element/em#i_vs._em\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/HTML Entities.tid",
    "content": "created: 20130204165019000\nmodified: 20240726074846436\ntags: WikiText\ntitle: HTML Entities\ntype: text/vnd.tiddlywiki\n\n!! Summary\n\nUse HTML entities to enter characters that cannot easily be typed on an ordinary keyboard. They take the form of an ampersand (`&`), an identifying string, and a terminating semi-colon (`;`), e.g. `&amp;` for the ''&'' character.\n\n!! Markup\n\n```\nThe value of Tiddlers&trade; cannot even be expressed in &pound;, &euro; or &dollar;.\n```\n\n''Displays as:''\n\nThe value of Tiddlers&trade; cannot even be expressed in &pound;, &euro; or &dollar;.\n\n!! Entity References\n\nComprehensive lists of html entities can be found at...\n\n* [[Mozilla Developer Network -- Entities|https://developer.mozilla.org/en-US/docs/Glossary/Entity]]\n\n* [[HTML Spec official list -- Entities|https://html.spec.whatwg.org/multipage/named-characters.html#named-character-references]]\n\n\n!! Examples Of Common And Useful Entities\n\n|>|>|>|>|>|>| ! HTML Entities |\n| &amp;nbsp; | &nbsp; | no-break space | &nbsp;&nbsp; |  |  |  |\n| &amp;~NoBreak; | &NoBreak; | zerro width WordJoiner | &nbsp;&nbsp; | &amp;apos; | &apos; | single quote, apostrophe |\n| &amp;ndash; | &ndash; | en dash |~| &amp;quot; | \" | quotation mark |\n| &amp;mdash; | &mdash; | em dash |~| &amp;prime; | &prime; | prime; minutes; feet |\n| &amp;hellip; | &hellip; |\thorizontal ellipsis |~| &amp;Prime; | &Prime; | double prime; seconds; inches |\n| &amp;copy; | &copy; | Copyright symbol |~| &amp;lsquo; | &lsquo; | left single quote |\n| &amp;reg; | &reg; | Registered symbol |~| &amp;rsquo; | &rsquo; | right  single quote |\n| &amp;trade; | &trade; | Trademark symbol |~| &amp;ldquo; | &ldquo; | left double quote |\n| &amp;dagger; | &dagger; | dagger |~| &amp;rdquo; | &rdquo; | right double quote |\n| &amp;Dagger; | &Dagger; | double dagger |~| &amp;laquo; | &laquo; | left angle quote |\n| &amp;para; | &para; | paragraph sign |~| &amp;raquo; | &raquo; | right angle quote |\n| &amp;sect; | &sect; | section sign |~| &amp;times; | &times; | multiplication symbol |\n| &amp;uarr; | &uarr; | up arrow |~| &amp;darr; | &darr; | down arrow |\n| &amp;larr; | &larr; | left arrow |~| &amp;rarr; | &rarr; | right arrow |\n| &amp;lArr; | &lArr; | double left arrow |~| &amp;rArr; | &rArr; | double right arrow |\n| &amp;harr; | &harr; | left right arrow |~| &amp;hArr; | &hArr; | double left right arrow |\n\n!! Accented Characters\n\nThe table below shows how accented characters can be built up by //substituting// the \nunderscore (_) in the second table into the corresponding character. eg:\n\n|Code |Character |Example |Result |h\n|`&Auml;` |Ä | `&Auml;pfel` |&Auml;pfel |\n\n\n|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>| ! Accented Characters |\n| grave accent | &amp;_grave; | &Agrave; | &agrave; | &Egrave; | &egrave; | &Igrave; | &igrave; | &Ograve; | &ograve; | &Ugrave; | &ugrave; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; |\n| acute accent | &amp;_acute; | &Aacute; | &aacute; | &Eacute; | &eacute; | &Iacute; | &iacute; | &Oacute; | &oacute; | &Uacute; | &uacute; | &nbsp; | &nbsp; | &Yacute; | &yacute; | &nbsp; | &nbsp; |\n| circumflex accent | &amp;_circ; | &Acirc; | &acirc; | &Ecirc; | &ecirc; | &Icirc; | &icirc; | &Ocirc; | &ocirc; | &Ucirc; | &ucirc; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; |\n| umlaut mark | &amp;_uml; | &Auml; | &auml; |  &Euml; | &euml; | &Iuml; | &iuml; | &Ouml; | &ouml; | &Uuml; | &uuml; | &nbsp; | &nbsp; | &Yuml; | &yuml; | &nbsp; | &nbsp; |\n| tilde | &amp;_tilde; | &Atilde; | &atilde; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &Otilde; | &otilde; | &nbsp; | &nbsp; | &Ntilde; | &ntilde; | &nbsp; | &nbsp; | &nbsp; | &nbsp; |\n| ring | &amp;_ring; | &Aring; | &aring; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; |\n| slash | &amp;_slash; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &Oslash; | &oslash; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; |\n| cedilla | &amp;_cedil; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &Ccedil; | &ccedil; |\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/HTML in WikiText.tid",
    "content": "caption: HTML\ncreated: 20131205160816081\nmodified: 20241025073517909\ntags: WikiText\ntitle: HTML in WikiText\ntype: text/vnd.tiddlywiki\n\n! HTML tags and comments\n\nHTML tags and comments can be used directly in WikiText. For example:\n\n```\n<article class=\"hello\">\nThis is my nice and simple block of text. HelloThere\n<!-- This comment will not appear in the wikified output -->\n</article>\n```\n\n!! Pragma Comments\n\n<<.from-version 5.2.0>> Comments can now be freely intermixed with pragmas as well as within the main body of a block of wikitext.\n\n```\n<!-- NEW: Comment that describes the macro -->\n\\define test()\nsome text <!-- inline comment -->\n\\end\n\n<<test>>\n```\n\n! Important\n\n!! Security \n\n<<.warning \"\"\"Note that any HTML attributes prefixed with `on` are removed from the rendered HTML content. This is done to prevent event handlers (such as \"onclick\") being used as a clandestine way to execute untrusted JavaScript. A design goal of TiddlyWiki is to ensure that executable JavaScript can only enter the system through explicit JavaScript module tiddlers or raw markup tiddlers. This makes it possible to filter unsafe content in multiuser environments, and also makes it safer to copy untrusted wikitext examples.\"\"\">> \n\n!! Widgets\n\n<<.tip \"\"\"[[Widgets share the same syntax as HTML tags|Widgets in WikiText]]<br>and so the following information applies to them, too.\"\"\">>\n\n\n! Block mode versus Inline mode\n\nTo get the content of an HTML element to be [[parsed|WikiText Parser Modes]] in [[block mode|Block Mode WikiText]], the opening tag must be followed by two linebreaks.\n\nWithout the two linebreaks, the tag content will be [[parsed|WikiText Parser Modes]] in [[inline mode|Inline Mode WikiText]] which means that block mode formatting such as wikitext tables, lists and headings is not recognised.\n\nSee also [[WikiText parser mode: HTML examples]] and [[WikiText parser mode transitions]].\n\n! Self closing elements\n\nThe following tags are treated as 'void'. This means that `<tag>` is treated as if it were `<tag/>`, and that  no terminating `</tag>` is needed (if one is provided it will be ignored and treated as plain text).\n\n* `<area>`, `<base>`, `<br>`, `<col>`, `<command>`, `<embed>`, `<hr>`, `<img>`, `<input>`, `<keygen>`, `<link>`, `<meta>`, `<param>`, `<source>`, `<track>`, `<wbr>`\n\nIf you do not close any other tag then it will behave as if the missing closing tag were at the end of the tiddler.\n\n! Attributes\n\nIn an extension of conventional HTML syntax, attributes of elements and widgets can be specified in [[several different ways|Widget Attributes]]:\n\n* [[a literal string|Literal Attribute Values]]\n* [[a transclusion of a textReference|Transcluded Attribute Values]]\n* [[a transclusion of a macro/variable|Variable Attribute Values]]\n* [[as the result of a filter expression|Filtered Attribute Values]]\n* <<.from-version \"5.3.0\">> [[as the result of performing filter and variable substitutions on the given string|Substituted Attribute Values]]\n\n!! Style Attributes\n\nTiddlyWiki supports the usual HTML ''style'' attribute for assigning CSS styles to elements:\n\n```\n<div style=\"color:red;\">Hello</div>\n```\n\n<<.from-version \"5.2.2\">> In an extension to HTML, TiddlyWiki also supports accessing individual CSS styles as independent attributes. For example:\n\n```\n<div style.color=\"red\">Hello</div>\n```\n\nThe advantage of this syntax is that it simplifies assigning computed values to CSS styles. For example:\n\n```\n<div style.color={{!!color}}>Hello</div>\n```\n\n<<.from-version \"5.3.6\">> TiddlyWiki also supports setting [[CSS custom properties|https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties]] as independent attributes. For example:\n\n```\n<div --bg-color={{{ [[red]] }}}>Hello</div>\n```\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/HTML_Links_in_WikiText.tid",
    "content": "created: 20161021101834041\nmodified: 20161021102041147\ntags: [[HTML in WikiText]]\ntitle: HTML Links in WikiText\ntype: text/vnd.tiddlywiki\n\nIt is often useful to be able to create HTML links to external resources. For example, here the value of the `href` attribute will be set to the value of the tiddler MyLinkDestination:\n\n```\n<a href={{MyLinkDestination}}>link</a>\n```\n\nHowever, there is an unexpected security issue that means that most of the time the link should have the `rel` attribute set to `noopener noreferrer` to maintain privacy of the URLs of private TiddlyWiki's (eg on Dropbox). See https://mathiasbynens.github.io/rel-noopener/ for more information.\n\n```\n<a href={{MyLinkDestination}} rel=\"noopener noreferrer\">link</a>\n```\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/Hard Linebreaks in WikiText.tid",
    "content": "caption: Hard Linebreaks\ncreated: 20131214165710101\nmodified: 20240512001649319\ntags: WikiText\ntitle: Hard Linebreaks in WikiText\ntype: text/vnd.tiddlywiki\n\nThe usual handling of [[paragraphs in wikitext|Paragraphs in WikiText]] causes single line breaks to be ignored, and double linebreaks to be interpreted as the end of a paragraph.\n\nThis behaviour isn't convenient when dealing with material that incorporates hard linebreaks - for instance, poetry. You can mark a block of content as containing hard line breaks like this:\n\n<<wikitext-example src:'\"\"\"\nThis is a line\nand this is a new line\nwhile this is yet another line\nand this is the final one\napart from this one\n\"\"\"\n\n'>>\n\n<<.tip 'Note: <strong>Hard Linebreaks in ~WikiText</strong> require an extra blank line after the trailing `\"\"\"` before the parser will return to [[block mode|Block Mode WikiText]].'>>."
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/Headings in WikiText.tid",
    "content": "caption: Headings\ncreated: 20131205161234909\nmodified: 20220513110830487\ntags: WikiText\ntitle: Headings in WikiText\ntype: text/vnd.tiddlywiki\n\nHeadings are specified with one up to six leading `!` characters:\n\n```\n! This is a level 1 heading\n\n!! This is a level 2 heading\n\n!!! This is a level 3 heading\n```\n\nCSS classes can be assigned to individual headings like this:\n\n<<wikitext-example src:\"\"\"!!.myStyle This heading has the class `myStyle`\"\"\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/Horizontal Rules in WikiText.tid",
    "content": "caption: Horizontal Rules\ncreated: 20131205160706975\nmodified: 20220513111257531\ntags: WikiText\ntitle: Horizontal Rules in WikiText\ntype: text/vnd.tiddlywiki\n\nYou can include a horizontal rule with three or more dashes on their own on a line:\n\n<<wikitext-example src:\"---\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/Images in WikiText.tid",
    "content": "caption: Images\ncreated: 20131205160221762\nmodified: 20220129152627668\ntags: WikiText [[Working with TiddlyWiki]]\ntitle: Images in WikiText\ntype: text/vnd.tiddlywiki\n\n! Image Formatting\n\nImages can be included in WikiText with the following syntax:\n\n```\n[img[Motovun Jack.jpg]]\n[img[https://tiddlywiki.com/favicon.ico]]\n```\n\nYou can also insert image tiddlers from the editor toolbar. Click ''picture'' (<<.icon $:/core/images/picture>>) and select a picture file.\n\nIf the image source is the title of an image tiddler then that tiddler is directly displayed. Otherwise it is interpreted as a URL and an HTML `<img>` tag is generated with the `src` attribute containing the URL.\n\nA tooltip can also be specified:\n\n```\n[img[An explanatory tooltip|Motovun Jack.jpg]]\n```\n\nAttributes can be provided to specify CSS classes and the image width and height:\n\n```\n[img width=32 [Motovun Jack.jpg]]\n[img width=32 class=\"tc-image\" [Motovun Jack.jpg]]\n```\n\nNote that attributes can be specified as transclusions or variable references:\n\n```\n[img width={{!!mywidth}} class=<<image-classes>> [Motovun Jack.jpg]]\n```\n\nThe image syntax is a shorthand for invoking the ImageWidget.\n\n! Displaying Images via Transclusion\n\nYou can also display an image stored in a tiddler by transcluding that tiddler. The disadvantage of this approach is that there is no direct way to control the size of the image.\n\n```\n{{Motovun Jack.jpg}}\n```\n\nRenders as:\n\n{{Motovun Jack.jpg}}\n\n! Images as Links\n```\n<$link to=\"HelloThere\" tooltip=\"Custom tooltip\">{{$:/core/icon}}</$link>\n```\n\nRenders as:\n\n<$link to=\"HelloThere\" tooltip=\"Custom tooltip\">{{$:/core/icon}}</$link>\n\n! Importing Images\n\nUse the <<.button import>> button (under the <<.sidebar-tab Tools>> tab in the sidebar), or drag and drop.\nSee [[Importing Tiddlers]] for details.\n\n<<.from-version \"5.2.0\">> You can also import images by dropping or pasting images into the tiddler editor.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/Linking in WikiText.tid",
    "content": "caption: Linking\ncreated: 20131205155230596\nmodified: 20211230145939554\ntags: WikiText\ntitle: Linking in WikiText\ntype: text/vnd.tiddlywiki\n\nA key capability of WikiText is the ability to make links to other tiddlers or to external websites.\n\n! Manual Links\n\nLink to a tiddler by title:\n\n```\n[[Tiddler Title]]\n```\n\nTo link to a tiddler and specify the text of the link:\n\n```\n[[Displayed Link Title|Tiddler Title]]\n```\n\nYou can also create a link from the editor toolbar. Click ''link'' (<<.icon $:/core/images/link>>), and search and select a tiddler.\n\n! ~CamelCase Links\n\nFor tiddler titles that match the CamelCase rules, just typing the title without double square brackets will automatically create a link.\n\nYou can suppress a link from being recognised by preceding it with `~`. For example:\n\n<<wikitext-example src:\"* ~HelloThere is not a link\n* ~http://google.com/ is not a link\">>\n\n! External Links\n\nTo link to an external [[resource|https://en.wikipedia.org/wiki/Web_resource]] such as a website or a file, type its //full// [[URL|https://en.wikipedia.org/wiki/URL]], including the [[URI scheme|https://en.wikipedia.org/wiki/URI_scheme]] such as a protocol (e.g. `http://`, `file://`) or `mailto`:\n\n```\nhttps://tiddlywiki.com/\n\n[[TW5|https://tiddlywiki.com/]]\n\n[[Mail me|mailto:me@where.net]]\n\n[[Open file|file:///c:/users/me/index.html]]\n```\n\nFor this syntax to work, the URL has to be recognisable as a URL. Otherwise, it is treated as a tiddler title. As a result, in case you want to link to a resource locatable using a relative path, use the extended syntax:\n\n```\n[ext[Open file|index.html]]\n\n[ext[Open file|./index.html]]\n\n[ext[Open file|../README.md]]\n\n[ext[Open file|c:\\users\\me\\index.html]]\n```\n\nThe extended syntax still works with full URLs, although in that case it is not necessary:\n\n```\n[ext[https://tiddlywiki.com]]\n\n[ext[TW5|https://tiddlywiki.com]]\n\n[ext[Mail me|mailto:me@where.net]]\n\n[ext[Open file|file:///c:/users/me/index.html]]\n```\n\nYou can also use the extended syntax to force an external link:\n\n```\n[ext[Donate|bitcoin:1aabbdd....?amount=0.001]]\n```\n\n! Customising Tiddler Links\n\nSee the LinkWidget for details of the underlying widget used to implement tiddler links, including macros that can be used to customise its behaviour.\n\n! Generating dynamic links\n\n[[Linking in WikiText]] does not lend itself well to creating dynamic links. The reason is because this WikiText link:\n\n```\n[[link to myself|Linking in WikiText]]\n```\nis shorthand for using the LinkWidget and TextWidget like this:\n\n```\n<$link to=\"Linking in WikiText\">\n  <$text text=\"link to myself\"/>\n</$link>\n```\nSince both the link title (\"link to myself\") and the link target (\"Linking in ~WikiText\") are used as widget attributes, no WikiText expansion takes place.\n\nFor example, an attempt to use a [[reference|TextReference]] and a [[variable|Variables]] to dynamically generate a link like this:\n\n<<.bad-example \"`[[{{!!caption}}|<<currentTiddler>>]]`\">>\n\nis the same as trying to use the LinkWidget and TextWidget like this:\n\n<<.bad-example \"\"\"```\n<$link to=\"<<currentTiddler>>\">\n  <$text text=\"{{!!caption}}\"/>\n</$link>\n```\"\"\">>\n\nThis will not work as desired. Content inside of quoted widget attributes is [[treated as a literal value|HTML in WikiText]] and protected from WikiText expansion, so it will render like this:\n\n<<.bad-example \"[[{{!!caption}}|<<currentTiddler>>]]\">>\n\nIn order to get the desired result, the LinkWidget can be used directly like this:\n\n<<wikitext-example-without-html src:\"<$link to=<<currentTiddler>>>{{!!caption}}</$link>\">>\n\nSee also another example of [[constructing dynamic links|Concatenating text and variables using macro substitution]].\n\n! Linking within tiddlers - \"anchor links\"\n\nIn TiddlyWiki anchor links can help us link to target points and distinct sections within rendered tiddlers. They can help the reader navigate longer tiddler content.\n\nSee [[Anchor Links using HTML]] for more information.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/Lists in WikiText.tid",
    "content": "caption: Lists\ncreated: 20131205160257619\nmodified: 20160607093103220\ntags: WikiText Lists\ntitle: Lists in WikiText\ntype: text/vnd.tiddlywiki\n\n! Bulleted Lists\n\nYou can create bulleted (unordered) lists with `*` characters (<<.icon $:/core/images/list-bullet>>):\n\n<<wikitext-example src:\"* First list item\n* Second list item\n** A subitem\n* Third list item\n\">>\n\n! Numbered Lists\n\nNumbered (ordered) lists use `#` instead of `*` (<<.icon $:/core/images/list-number>>):\n\n# First item\n# Second item\n# Third item\n\nYou can also mix ordered and unordered list items:\n\n<<wikitext-example src:\"* To do today\n*# Eat\n* To get someone else to do\n*# This\n*# That\n*## And the other\n\">>\n\nHere's an example the other way around, with numbers as the first level:\n\n<<wikitext-example src:\"# To do today\n#* Eat\n# To get someone else to do\n#* This\n#* That\n#** And the other\n\">>\n\n! CSS Classes\n\nYou can also assign a CSS class to an individual member of a list with this notation:\n\n<<wikitext-example src:\"* List One\n*.tc-muted List Two\n* List Three\n\">>\n\n! Mixing Lists and Block Quotes\n\nNote that [[Block Quotes in WikiText]] can be mixed with lists. For example:\n\n<<wikitext-example src:\"* List One\n** List Two\n**> A quote\n**> Another quote\n* List Three\n\">>\n\n! Paragraphs in Lists\n\nEntries in the list are delimited with a linebreak, making it impossible to include linebreaks within a list entry. There are a couple of workarounds.\n\nFirst, you can transclude paragraph content from another tiddler. For example:\n\n```\n* First entry\n* <$transclude tiddler=\"MyTiddler\" mode=\"block\"/>\n* Third entry\n```\n\nSecondly, you can use an HTML \"div\" element to contain the multiline content. For example:\n\n```\n# Step 1\n# Step 2\n# Step 3<div>\n\nHere is the first of several paragraphs. Note that the double linebreak preceding this paragraph is significant.\n\nAnd here is the second of several paragraphs.\n</div>\n# Step 4\n# Step 5\n# Step 6\n```\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/Literal Attribute Values.tid",
    "content": "created: 20230615045409162\nmodified: 20230615045432768\ntags: [[Widget Attributes]] WikiText\ntitle: Literal Attribute Values\ntype: text/vnd.tiddlywiki\n\nLiteral attribute values can use several different styles of quoting:\n\n* Single quotes (eg `attr='value'`)\n* Double quotes (eg `attr=\"value\"`)\n* Tripe double quotes (eg `attr=\"\"\"value\"\"\"`)\n* No quoting is necessary for values that do not contain spaces (eg `attr=value`)\n\nLiteral attribute values can include line breaks. For example:\n\n```\n<div data-address=\"Mouse House,\nMouse Lane,\nRodentville,\nRatland.\"/>\n```\n\nBy using triple-double quotes you can specify attribute values that contain single double quotes. For example:\n\n```\n<div data-address=\"\"\"Mouse House,\n\"Mouse\" Lane,\nRodentville,\nRatland.\"\"\"/>\n```"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/Macro Calls in WikiText.tid",
    "content": "caption: Macro Calls\ncreated: 20220917074831994\nmodified: 20220917074844235\ntags: \ntitle: Macro Calls in WikiText\ntype: text/vnd.tiddlywiki\n\nSee [[Macro Calls]]."
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/Macro Calls.tid",
    "content": "caption: Macro Calls\ncreated: 20150220182252000\nmodified: 20230419103154328\ntitle: Macro Calls\ntype: text/vnd.tiddlywiki\n\n<<.deprecated-since \"5.4.0\" \"Calls\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/Macro Definitions in WikiText.tid",
    "content": "created: 20150220181617000\nmodified: 20180820165115455\ntags: \ntitle: Macro Definitions in WikiText\ntype: text/vnd.tiddlywiki\n\nSee [[Macro Definitions]].\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/Macro Definitions.tid",
    "content": "created: 20150220181617000\nmodified: 20230419103154328\ntags: WikiText Macros\ntitle: Macro Definitions\ntype: text/vnd.tiddlywiki\n\n!! Introduction\n\nThis tiddler describes the different ways in which [[macros|Macros]] can be defined.\n\n!! Macro Definition Pragma\n\nMacros are created using the [[Pragma: \\define]] at the start of a tiddler. The definitions are available in the rest of the tiddler that defines them, plus any tiddlers that it transcludes.\n\n```\n\\define mymacro(param)\nThis is the macro text (param=$param$)\n\\end\n```\n\n!! Nested Macro Definitions\n\nMacro definitions can be nested to any number of required levels by specifying the name of the macro in the `\\end` marker. Nested macro definitions must appear at the start of the definition that contains them. For example:\n\n<<wikitext-example-without-html src:\"\"\"\\define special-button(caption:\"Click me\")\n\\define actions()\n<$action-sendmessage $message=\"tm-notify\" $param=\"HelloThere\"/>\n\\end actions\n<$button actions=<<actions>>>\n$caption$\n</$button>\n\\end special-button\n\n<<special-button>>\n\"\"\">>\n\nNote that the textual substitution of macro parameters that occurs when the outer macro is rendered will apply to the nested definitions as well. That generally means that textual substitution of macro parameters should not be used within nested macros.\n\nParameters of nested macros can also be accessed via the `<<__variablename__>>` syntax. As ordinary variables, these parameters are available within nested child macros (and grandchildren etc).\n\n!! Macro Definition with Set Widget\n\nMacros are implemented as a special type of [[variable|Variables]] and so internally are actually defined with a <<.wlink SetWidget>> widget.\n\n```\n<$set name=\"mymacro\" value=\"This is the macro text\">\n...\n</$set>\n```\n\n<<.note \"\"\"that it is not currently possible to specify parameters when defining a macro with the  <<.wlink SetWidget>> widget.\"\"\">>\n\n!! Importing Macro Definitions\n\nThe [[Pragma: \\import]] or <<.wlink ImportVariablesWidget>> widget can be used to copy macro definitions from another tiddler.\n\n!! `$:/tags/Macro` Tag\n\nGlobal macros can be defined using the [[SystemTag: $:/tags/Macro]].\n\nThe tag [[SystemTag: $:/tags/Macro/View]] is used to define macros that should only be available within the main view template and the preview panel.\n\nThe tag [[SystemTag: $:/tags/Macro/View/Body]] is used to define macros that should only be available within the main view template body and the preview panel.\n\n!! JavaScript Macros\n\nMacros can also be <<.js-macro-link \"written as JavaScript modules\">>.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/Macro Parameter Handling.tid",
    "content": "created: 20220917154902906\nmodified: 20230419103154328\ntags: WikiText Macros\ntitle: Macro Parameter Handling\ntype: text/vnd.tiddlywiki\n\n!! Introduction\n\n[[Macros]] parameters are handled in two different ways:\n\n# Textual substitution is always performed for each parameter before the macro contents is used\n# When the macro contents are wikified the parameters are made available as variables. The variable names are formed by wrapping the parameter name with double underscores\n\nSomewhat confusingly, in some situations both of these mechanisms will occur; this is related to the [[pitfalls of using macros|Macro Pitfalls]].\n\n!! Textual Substitution of Parameters and variables\n\nThe following substitutions take place before the text of a macro is used:\n\n* The pattern `$param$` is replaced with the value of the named parameter\n* The pattern `$(variable)$` is replaced with the value of the named variable\n\nThe actual value of the parameter or variable is substituted for the placeholder whenever the macro is called:\n\n<$macrocall $name=\"wikitext-example-without-html\" src=\"\"\"\\define say-hi-using-parameters(name,address)\nHi, I'm $name$ and I live in $address$.\n\\end\n\n<<say-hi-using-parameters name:\"Bugs\" address:\"Rabbit Hole Hill\">>\n\"\"\"/>\n\nHere's an example using variable substitution:\n\n<$macrocall $name=\"wikitext-example-without-html\" src=\"\"\"\\define say-hi-using-variables()\nHi, I'm $(name)$ and I live in $(address)$.\n\\end\n\n\\define name() Bugs\n\n<$let address=\"Rabbit Hole Hill\">\n<<say-hi-using-variables>>\n</$let>\n\"\"\"/>\n\n<<.warning \"\"\"It is important to note that if the text being inserted contains any substitution tokens then they will in turn be processed. This can lead to unexpected results.\"\"\">>\n\n!! Accessing Parameters as Variables\n\nWhen macros are wikified, the parameters can be accessed as variables with the name of the parameter wrapped with double underscores. For example, the parameter `address` would be accessed as the variable `__address__`.\n\nThus, the example above could also be expressed as:\n\n<$macrocall $name=\"wikitext-example-without-html\" src=\"\"\"\\define say-hi-using-parameters(name,address)\nHi, I'm <<__name__>> and I live in <<__address__>>.\n\\end\n\n<<say-hi-using-parameters name:\"Bugs\" address:\"Rabbit Hole Hill\">>\n\"\"\"/>\n\nAccessing parameters as variables only works in macros that are wikified and not, for example, when a macro is used as an attribute value.\n\n!!! Advantages of Accessing Parameters as Variables\n\nThe primary advantage of the technique is that it avoids the parameter value being substituted into the macro as a literal string, which in turn can help avoid issues with parameters that contain quotes.\n\nFor example, consider this macro. It invokes another macro using the single parameter as an argument for it:\n\n```\n\\define film-quote(line) <$macrocall $name=\"anothermacro\" actor=\"Bugs Bunny\" line=\"\"\"$line$\"\"\"/>\n```\n\nThe code above will fail if the macro is invoked with the argument containing triple double quotes (for example `<<film-quote 'I quote thrice \"\"\" - see!?'>>`). Using parameter variables offers a workaround:\n\n```\n\\define film-quote(line) <$macrocall $name=\"anothermacro\" actor=\"Bugs Bunny\" line=<<__line__>>/>\n```\n\nSee [[Macro Pitfalls]] for more discussion.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/Macro Pitfalls.tid",
    "content": "created: 20220917091428117\nmodified: 20230419103154328\ntitle: Macro Pitfalls\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nIn the early days of TiddlyWiki, [[macros|Macros]] were the best way of encapsulating snippets for reuse, and so they were used extensively. However, they have always suffered from some significant disadvantages that can give rise to errors and poor performance.\n\n<<.from-version \"5.3.0\">> Macros have been joined by [[Procedures]], [[Custom Widgets]] and [[Functions]] which together provide more robust and flexible ways to encapsulate and re-use code. It is now recommended to only use macros when textual substitution is specifically required.\n\n! Shortcomings of Textual Substitution\n\nTiddlyWiki's handling of [[macro|Macros]] parameters is based on \"textual substitution\" which means that the string values of the parameters provided when calling a macro are plugged into the macro definition before it is wikified.\n\nHere's a typical example of the approach in early versions of TiddlyWiki 5. The intention is to provide a macro that takes a single parameter of the title of the tiddler to view:\n\n```\n\\define mymacro(title)\n<$codeblock code={{$title$}}/>\n\\end\n```\n\nThat works for simple cases like `<<mymacro \"HelloThere\">>` but is subtly brittle.  For example, the macro above would fail with tiddler titles containing double closing curly braces. Trying to use it with the title `foo}}bar` would lead to the macro being expanded to the following invalid syntax:\n\n```\n<$codeblock code={{foo}}bar}}/>\n```\n\nAs a result of this issue, for many years  the TiddlyWiki 5 user interface failed if a variety of combinations of special characters were encountered in tiddler titles.\n\nThis issue has been mitigated over the years, particularly by providing access to the macro parameters as variables. However, for backwards compatibility, this was done without affecting the existing syntax, which required us to adopt the clumsy protocol of wrapping the parameter name in double underscores to get the name of the corresponding variable.\n\n! Performance of Global Macros\n\nGlobal [[Macro Definitions]] defined with the [[SystemTag: $:/tags/Macro]] suffer from poor performance because every macro has to be parsed regardless of whether it is actually used.\n\nFurthermore, the way that definitions are imported means that updating a tiddler tagged [[SystemTag: $:/tags/Macro]] will cause the entire page to be refreshed.\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/Macros in WikiText.tid",
    "content": "created: 20131205160746466\nmodified: 20150221094003000\ntags: \ntitle: Macros in WikiText\ntype: text/vnd.tiddlywiki\n\nSee [[Macros]]."
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/Multi-Valued Variable Attribute Values.tid",
    "content": "created: 20250208120000000\nmodified: 20250208120000000\ntags: WikiText [[Widget Attributes]]\ntitle: Multi-Valued Variable Attribute Values\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.4.0\">> Multi-valued variable attribute values are indicated with double round brackets around the variable name. This passes the complete list of values of a [[multi-valued variable|Multi-Valued Variables]] to the attribute, rather than just the first value.\n\n```\n<$transclude $variable=\"myproc\" items=((myvar))/>\n```\n\nThis is the multi-valued counterpart to the [[Variable Attribute Values]] syntax `<<var>>`, which only returns the first value for backwards compatibility. The relationship mirrors the existing convention in filter operands where `<var>` returns a single value and `(var)` returns all values.\n\n! Non-MVV-Aware Attributes\n\nWhen `((var))` is used on a widget attribute that does not support multi-valued variables (such as the `text` attribute of the TextWidget), only the first value is used:\n\n```\n<$text text=((myvar))/>\n```\n\n! Passing Multi-Valued Variables to Procedures\n\nThe primary use case for this syntax is passing multi-valued variables through the `$transclude` pipeline to procedures and functions:\n\n```\n\\procedure showItems(itemList)\n<$text text={{{ [(itemList)join[-]] }}}/>\n\\end\n\n<$let items={{{ [all[tiddlers]sort[]] }}}>\n<$transclude $variable=\"showItems\" itemList=((items))/>\n</$let>\n```\n\nIn this example, the complete list of tiddler titles stored in `items` is passed to the `itemList` parameter of the `showItems` procedure.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/Paragraphs in WikiText.tid",
    "content": "created: 20131205155836435\nmodified: 20131214170445345\ntags: WikiText\ntitle: Paragraphs in WikiText\ntype: text/vnd.tiddlywiki\ncaption: Paragraphs\n\nTo mark the end of a paragraph in TiddlyWiki you need to type `enter` twice to create a double line break:\n\n```\nThis is the first paragraph.\n\nAnd this is the second paragraph.\n```\n\nSingle line breaks are ignored within paragraphs. For example:\n\n<<wikitext-example src:\"This is a\nparagraph made\nup of\nshort lines\">>\n\nFor situations where this behaviour isn't convenient, you can also use [[Hard Linebreaks in WikiText]].\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/Styles and Classes in WikiText.tid",
    "content": "caption: Styles and Classes\ncreated: 20131205160532119\nmodified: 20230726105744098\ntags: WikiText [[How to apply custom styles]]\ntitle: Styles and Classes in WikiText\ntype: text/vnd.tiddlywiki\n\nCSS styles and classes can be applied to inline or block content wrapped in `@@double at signs@@`. Classes can be applied to certain block WikiText elements.\n\n//Inline content// wrapped in `@@double at signs@@` without specifying style or class will be assigned the `tc-inline-style` class and displayed as highlighted text. The foreground and background colours of the highlighted text are defined as `highlight-background` and `highlight-foreground` in the current palette.\n\n<<wikitext-example src:\"@@Highlighted text@@\">>\n\n!! Styles\n\nMultiple style attributes, e.g. `color`, each followed by `;` semicolon can be introduced immediately after the opening `@@`, without spaces in between.\n\n<<wikitext-example src:\"@@color:steelblue;background-color:lightcyan;Text with custom style@@\">>\n\nSimilarly, styles can be applied to //block content//. Wrapping block content in `@@` without specifying style or class has no effect.\n\n<<wikitext-example src:\"@@background-color:lightcyan;\n* Item one\n* Item two\n@@\n\">>\n\n!! Classes\n\nThe following `coloured-text` and `coloured-bg` classes are defined in this tiddler for demonstration purposes:\n\n\n```\n.coloured-text {color: darkkhaki;}\n.coloured-bg {background-color: cornsilk;}\n```\n\n<style>\n.coloured-text {color: darkkhaki;}\n.coloured-bg {background-color: cornsilk;}\n</style>\n\nMultiple classes, each prefixed with `.`, can be introduced immediately after the opening `@@`, followed by a ` ` space. This works both for inline and block content:\n\n<<wikitext-example src:\"@@.coloured-text.coloured-bg Inline content with two assigned classes@@\">>\n\n<<wikitext-example src:\"@@.coloured-bg\n* Block content\n* With one assigned class\n@@\">>\n\nMultiple classes and styles can be applied simultaneously. In case of inline content, the styles have to be defined first, followed by the classes.\n\n<<wikitext-example src:\"@@font-size:1.5em;.coloured-text.coloured-bg Text with custom style and classes@@\">>\n\nIn case of block content, the styles and classes can be defined in a single line after the opening `@@` identically as for the inline content, or in separate lines, each beginning with `@@`:\n\n<<wikitext-example src:\"@@font-size:1.5em;\n@@.coloured-text\n@@.coloured-bg\n* Block content\n* With custom style and classes\n@@\">>\n\nIn a similar way classes, but not styles, can be applied to those block WikiText elements that are introduced through characters on the beginning of the line. The classes prefixed with `.` are specified immediately after the special characters, followed by a ` ` space.\n\n<<wikitext-example src:\"!!!.coloured-bg Heading with a custom background class.\n\n* Standard list element.\n*.coloured-bg List element with a custom background colour class.\n*.coloured-text List element with  a custom text colour class.\n*.coloured-bg.coloured-text List element with both of the custom classes.\n\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/Substituted Attribute Values.tid",
    "content": "base-url: http://tiddlywiki.com/\ncreated: 20230615050814821\nmodified: 20251021134906488\ntags: [[Widget Attributes]] WikiText\ntitle: Substituted Attribute Values\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.3.0\">>\nSubstituted attribute values can use two different styles of quoting:\n\n* Single backticks <$codeblock code=\"attr=`value`\"/>\n* Triple backticks <$codeblock code=\"attr=```value```\"/>\n\nThe value of the attribute will be the text denoted by the backticks with any of the placeholders for filter expressions and variables substituted with their corresponding values. Filter expression placeholders are substituted before variable placeholders, allowing for further variable substitution in their returned value.\n\n<<.warning \"Any other wiki syntax in that text will be left as-is.\">>\n\n\n|placeholder syntax|description|h\n|`$(varname)$`|Text substitution of a variable. Undefined variables are replaced with an empty string. |\n|`${ filter expression }$`|Text substitution with the first result of evaluating the filter expression. |\n\n! Examples\n\n!! Substituting a variable value into a string\n\n<$macrocall $name=wikitext-example-without-html src=\"\"\"<$text text=`Hello there this is the tiddler \"$(currentTiddler)$\"`/>\"\"\"/>\n\n\n!! Substituting a variable value and the result of evaluating a filter expression into a string\n<$macrocall $name=wikitext-example-without-html src=\"\"\"<$text text=`This tiddler is titled \"$(currentTiddler)$\" and was last modified on ${[{!!modified}format:date[DDth MMM YYYY]]}$`/>\"\"\"/>\n\n{{Concatenating variables to create a URL}}\n\n{{Concatenating a text reference to create a URL}}"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/Table Classes Captions Headers and Footers.tid",
    "content": "created: 20220819100636227\nmodified: 20220819101309072\ntags: [[Tables in WikiText]]\ntitle: Table Classes, Captions, Headers and Footers\ntype: text/vnd.tiddlywiki\n\nTable CSS classes, captions, headers and footers can be specified as special pseudo-rows. The following example:\n\n* `|myclass anotherClass|k` assigns the CSS classes \"myclass\" and \"anotherClass\" to the table\n* `|This is a caption |c` gives the table the caption \"This is a caption\"\n* `|Header|Header|h` adds a header row of cells with the text \"Header\"\n* `|Footer|Footer|f` adds a footer row of cells with the text \"Footer\"\n\n<<wikitext-example-without-html src:\"\"\"|myclass anotherClass|k\n|This is a caption |c\n|Cell1 |Cell2 |\n|Cell3 |Cell3 |\n|Header|Header|h\n|Footer|Footer|f\n\"\"\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/Tables in WikiText CSS Utility Classes.tid",
    "content": "created: 20220817153236691\nmodified: 20221010074314452\ntags: [[Tables in WikiText]]\ntitle: Tables in WikiText CSS Utility Classes\ntype: text/vnd.tiddlywiki\n\n~WikiText tables can be styled by applying CSS classes. For basic information on wiktext tables and how to style them, see [[Tables in WikiText]].\n\n{{Table Classes, Captions, Headers and Footers}}\n\nAs seen above, the resulting table is left aligned and grows to fit the content. This is the browser default layout behaviour for tables. To get another behaviour, various CSS classes can be added into the \"`k` row\".\n\n! Utility Classes\n\n{{Utility Classes}}\n\n! Examples\n\nThe following examples apply the style classes to tables but the \"General Utility Classes\" can as well be used on DIVs or other [[HTML block elements|HTML Block Elements]]\n\n!! Centred Table\n\nTo center a table horizontally, use `tc-center`:\n\n<<wikitext-example-without-html src:\"\"\"|tc-center|k\n|This is a caption |c\n|Cell1 |Cell2 |\n|Cell3 |Cell4 |\n|Header|Header|h\n|Footer|Footer|f\n\"\"\">>\n\n!! Centred Table, 80% Width\n\nTo add empty left and right margins to a table that is otherwise full-tiddler-width, you can use `tc-max-width-80`\n\n<<wikitext-example-without-html src:\"\"\"|tc-center tc-max-width-80|k\n|This is a caption |c\n|Cell1 |<<.lorem>> |\n|<<.lorem>> |Cell4 |\n|Header|Header|h\n\"\"\">>\n\n!! Table with Maximum Width\n\nTo expand a table to full tiddler width, use `tc-max-width`\n\n<<wikitext-example-without-html src:\"\"\"|tc-max-width|k\n|Header|Header|h\n|Cell1 |Cell2 |\n|Cell3 |Cell4 |\n\"\"\">>\n\n!! Table with First Column Minimum Width\n\nThe following example shows a simple \"form\" where the first columns width is adjusted to its content by means of `tc-first-col-min-width`\n\n<<wikitext-example-without-html src:\"\"\"|tc-max-width tc-first-col-min-width|k\n|Header|Header|h\n|Cell1 |<$edit-text tiddler=\"$:/temp/test-table-input\" tag=\"input\" field=\"test\"/> |\n|Cell3 |<$edit-text tiddler=\"$:/temp/test-table-input\" field=\"text\"/>  |\n\"\"\">>\n\n!! Table with Maximum Width ~TextWidgets\n\nHere, the previous \"form\" is styled further to give the [[TextWidget]]s full width by adding the class `tc-edit-max-width`\n\n<<wikitext-example-without-html src:\"\"\"|tc-max-width tc-first-col-min-width tc-edit-max-width|k\n|Header|Header|h\n|Cell1 |<$edit-text tiddler=\"$:/temp/test-table-input\" tag=\"input\" field=\"test\"/> |\n|Cell3 |<$edit-text tiddler=\"$:/temp/test-table-input\" field=\"text\"/>  |\n\"\"\">>\n\n!! Table with No Borders\n\nThe following is a table with maximum width. It contains [[TextWidget]]s with maximum width. The first column is set to be minimum width. Further, all links in the first column are set to __not__ line break (wrap) regardless of window resize.\n\n<<wikitext-example-without-html src:\"\"\"|tc-max-width tc-first-col-min-width tc-edit-max-width tc-table-no-border tc-first-link-nowrap|k\n| Cell1|<$edit-text tiddler=\"$:/temp/test-table-input\" tag=\"input\" field=\"test\"/> |\n|^ [[Link to a tiddler]]<br>some more text|<$edit-text tiddler=\"$:/temp/test-table-input\" field=\"text\"/>  |\n\"\"\">>\n\n!! Table with Alternating Row Styles\n\nYou will need to create your own stylesheet. See [[Using Stylesheets]]. The idea is to create rules using `:nth-of-type(even/odd)`. For example:\n\n```\n.myclass tbody tr:nth-of-type(even) { background-color: <<color tiddler-editor-fields-even>>; }\n.myclass tbody tr:nth-of-type(odd) { background-color: <<color tiddler-editor-fields-odd>>; }\n```\n\n<<.note \"\"\"~TiddlyWiki automatically applies classes `evenRow` and `oddRow` to table rows. However, use of these classes is not recommended. Rows start as 'even' (opposite to that expected) and all the rows of the table are considered to be a single combined set of rows, regardless of if they appear in the header, footer, or body.\"\"\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/Tables in WikiText.tid",
    "content": "caption: Tables\ncreated: 20130914132100000\nmodified: 20220819103416274\ntags: WikiText\ntitle: Tables in WikiText\ntype: text/vnd.tiddlywiki\n\n! Basics\n\nTiddlyWiki5 formats tables using vertical bar `|` characters. Exclamation marks `!` are used to indicate header cells.\n\n<<wikitext-example-without-html src:\"\"\"|!Cell1 |!Cell2 |\n|Cell3 |Cell3 |\n\"\"\">>\n\n\n\n! Cell Alignment\n\nTable cell alignment is controlled by inserting space characters before and/or after the cell content. For example:\n\n<<wikitext-example-without-html src:\"\"\"|Left aligned content |\n| Right aligned content|\n| Centred content |\n|+++ a very wide column so we can see the alignment +++|\n\"\"\">>\n\n\n\n! Cell vertical Alignment\n\nVertical alignment of cells is done by inserting either a `^` for top alignment or a `,` for bottom alignment as the first character of a cell. The normal horizontal alignment is still possible. For example:\n\n```\n|^top left |^ top center |^ top right|\n|middle left | middle center | middle right|\n|,bottom left |, bottom center |, bottom right|\n```\n\nThe example renders as:\n\n| :: | ::::::::::::::::::::::::::: | ::::::::::::::::::::::::::: | ::::::::::::::::::::::::::: | :: |\n| ::<br>:: |^top left |^ top center |^ top right| ::<br>:: |\n| ::<br>:: |middle left | middle center | middle right| ::<br>:: |\n| ::<br>:: |,bottom left |, bottom center |, bottom right| ::<br>:: |\n| :: | ::::::::::::::::::::::::::: | ::::::::::::::::::::::::::: | ::::::::::::::::::::::::::: | :: |\n\nIf you need to have a `^`or a `,` as the first character of a left aligned cell, you can use HTML escaping:\n\n| `^` | &amp;#94; |\n| `,` | &amp;#44; |\n\n\n\n! Cell Merging\n\nTo merge a table cell with the one above, use the special cell text `~`. To merge a cell with the one to its left use the text `<`. To merge one to its right use `>`. For example:\n\n<<wikitext-example-without-html src:\"\"\"|Cell1 |Cell2 |Cell3 |Cell4 |\n|Cell5 |Cell6 |Cell7 |<|\n|Cell5 |~|Cell7 |Cell8 |\n|>|Cell9 |Cell10 |Cell11 |\n\"\"\">>\n\n\n\n! Table Classes, Captions, Headers and Footers\n\n{{Table Classes, Captions, Headers and Footers}}\n\n\nMore examples can be found at: [[Tables in WikiText CSS Utility Classes]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/Transcluded Attribute Values.tid",
    "content": "created: 20230615045327830\nmodified: 20230615045353826\ntags: [[Widget Attributes]] WikiText\ntitle: Transcluded Attribute Values\ntype: text/vnd.tiddlywiki\n\nTranscluded attribute values are indicated with double curly braces around a TextReference. For example:\n\n```\nattr={{tiddler}}\nattr={{!!field}}\nattr={{tiddler!!field}}\n```\n<<.warning \"The value of the attribute value will be the exact text retrieved from the TextReference. Any wiki syntax in that text will be left as-is.\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/Transclusion Basic Usage.tid",
    "content": "created: 20141129201509859\nmodified: 20141130194810119\ntags: [[Transclusion in WikiText]]\ntitle: Transclusion Basic Usage\ncaption: Basic Usage\n\n! Simple Transclusion\n\nTo include some content from [[TiddlerA]] into [[TiddlerB]], edit the latter to include the following text: \n\n```\nThis is the content of TiddlerA: {{TiddlerA}}\n```\n\nThe result is that the content of the ''text'' field (i.e. the main content) of [[TiddlerA]] is rendered within [[TiddlerB]]. \n\n! Usage\n\nThe notation ``{{TiddlerA}}`` is a shortcut for ``{{TiddlerA!!text}}``. This is because the default field for transclusion is ''text'', but any other [[field|TiddlerFields]] can be used explicitly. For example, you can print the last time TiddlerA was modified using:\n\n```\nTiddlerA was modified on {{TiddlerA!!modified}}\n```\n\nBy omitting the tiddler title, the transclusion notation can also be used to display the content of a field from the current tiddler, for example:\n\n```\nThe current tiddler was modified on {{!!modified}}\n```\n\n! Recursion Errors\n\nNotice that using ``{{!!text}}`` or ``{{}}`` causes an error (//Recursive transclusion error in transclude widget//), because it does not make sense to include the content of the current tiddler into the content of the current tiddler (that is, into itself). Whenever you encouter this error message, it means that you are trying to include something into itself, directly or indirectly (for example if tiddler A transcludes tiddler B which transcludes tiddler C which, in turn, transcludes tiddler A).\n\n! Learning More\n\nIn TiddlyWiki, transclusions are not limited to including raw content like the above. To learn about more advanced uses of transclusion, see [[Transclusion with Templates]].\n\nSee also:\n\n* [[Transclusion]]\n* [[Transclusion with Templates]]\n* [[Transclusion in WikiText]]\n* TextReference\n* TiddlerFields.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/Transclusion and Substitution.tid",
    "content": "created: 20141018090608643\nmodified: 20231030124224424\ntags: WikiText\ntitle: Transclusion and Substitution\ntype: text/vnd.tiddlywiki\n\nThe power of WikiText comes from the ability to use the content of one tiddler inside another one. This ability takes several different forms that can easily be confused.\n\nThe main distinction is between a transclusion and a textual substitution:\n\n* A transclusion is replaced dynamically with the value of either:\n** a tiddler field\n** a variable\n* Textual substitutions are performed on the text of macro definitions before they are used\n\n! Tiddler Field Transclusion\n\n[[Transclusion in WikiText]] describes the basics of transclusion. For example:\n\n```\n{{MyTiddler}}\n```\n\nAs described in [[HTML in WikiText]], you can also transclude tiddler field values as attributes of HTML elements and widgets. For example:\n\n```\n<$text text={{MyTiddler}}/>\n```\n\nAs described in [[Introduction to filter notation]], you can also transclude tiddler field values using the [[filter syntax|Filter Syntax]]. For example:\n\n```\n{{{ [tag{TiddlerContainingMyTag}] }}}\n```\n\n! Variable/Macro Transclusion\n\nVariables that were defined with parameter or variable substitution are referred to as \"macros\". The value of a variable/macro can be transcluded with the syntax:\n\n```\n<<myMacro param:\"Value of parameter\">>\n```\n\nAs described in [[HTML in WikiText]], you can also transclude a variable as the value of an attribute of HTML elements and widgets. For example:\n\n```\n<$text text=<<myMacro>>/>\n```\n\nAs described in [[Introduction to filter notation]], you can also transclude a variable as the value of a filter parameter using the [[filter syntax|Filter Syntax]]. For example:\n\n```\n{{{ [tag<myMacro>] }}}\n```\n\n! Textual Substitution\n\nTextual substitution occurs when the value of a macro/variable is used. It is described in [[Substituted Attribute Values]] and [[substitute Operator]]\n\nThe key difference between substitution and transclusion is that substitution occurs before WikiText parsing. This means that you can use substitution to build ~WikiText constructions. Transclusions are processed independently, and cannot be combined with adjacent text to define ~WikiText constructions.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/Transclusion in WikiText.tid",
    "content": "caption: Transclusion\ncreated: 20131205160146648\nmodified: 20240102070417483\ntags: WikiText\ntitle: Transclusion in WikiText\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nYou can incorporate the content of one tiddler within another using the [[Transclusion]] notation:\n\n* `{{MyTiddler}}` transcludes a single tiddler\n* `{{MyTiddler||TemplateTitle}}` displays the tiddler through a specified [[TemplateTiddler|TemplateTiddlers]]\n* `{{||TemplateTitle}}` displays the specified template tiddler without altering the [[current tiddler|Current Tiddler]]\n* `{{MyTiddler|Parameter}}` transcludes a single tiddler with a single parameter\n* `{{MyTiddler||TemplateTitle|Parameter|SecondParameter}}` transcludes a single tiddler through a specified [[TemplateTiddler|TemplateTiddlers]] with two parameters\n\n!! Transcluding Text References\n\nYou can also use a TextReference instead of a tiddler title:\n\n* `{{MyTiddler!!field}}` transcludes a specified field of a tiddler\n* `{{!!field}}` transcludes a specified field of the current tiddler\n* `{{MyTiddler##index}}` transcludes a specified indexed property of a [[DataTiddler|DataTiddlers]]\n* `{{##index}}` transcludes a specified indexed property of the current [[DataTiddler|DataTiddlers]]\n\n!! Filtered Transclusion\n\nA similar syntax can be used to generate or transclude a list of tiddlers matching a specified [[filter|Filters]]:\n\n```\n{{{ [tag[mechanism]] }}}\n{{{ [tag[mechanism]]||TemplateTitle }}}\n```\n\nIn contrast to [[Filtered Attribute Values]], all items matching the filter are transcluded and not only the first.\n\n!! Generated Widgets\n\nThe WikiText transclusion syntax generates a TiddlerWidget wrapped around a TranscludeWidget. For example, `{{MyTiddler||TemplateTitle}}` generates the following pair of widgets:\n\n```\n<$tiddler tiddler=\"MyTiddler\">\n\t<$transclude $tiddler=\"TemplateTitle\"/>\n</$tiddler>\n```\n\nThe filtered transclusion syntax `{{{ [tag[mechanism]] }}}` generates the following widgets\n\n```\n<$list filter=\"[tag[mechanism]]\">\n\t<$link />\n</$list>\n```\nor, when used with a template, `{{{ [tag[mechanism]]||TemplateTitle }}}` expands to\n\n```\n<$list filter=\"[tag[mechanism]]\">\n\t<$transclude tiddler=\"TemplateTitle\" />\n</$list>\n```\n\n<<.tip \"Install the //Internals// plugin to enable the display of the generated widget tree in the preview pane of the editor\">>\n\n!! Multi-Valued Variable Display\n\n<<.from-version \"5.4.0\">> The `((var))` syntax can be used inline to display the values of a [[multi-valued variable|Multi-Valued Variables]], joined with a comma and space by default:\n\n```\n((myvar))\n((myvar||:))\n```\n\nThe optional `||` delimiter specifies a custom separator string.\n\n!! Inline Filter Display\n\n<<.from-version \"5.4.0\">> The `(((filter)))` syntax displays the results of a filter expression inline, joined with a comma and space by default:\n\n```\n((( [all[tiddlers]sort[]] )))\n((( [all[tiddlers]sort[]] ||: )))\n```\n\nThe optional `||` delimiter specifies a custom separator string. This is the inline display counterpart to the filtered transclusion `{{{ }}}` syntax.\n\n---\n\nSee also:\n\n* [[Transclusion Basic Usage]]\n* [[Transclusion with Templates]]\n* TemplateTiddlers\n* TranscludeWidget\n* [[Transclusion and Substitution]]\n* [[WikiText parser mode: transclusion examples]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/Transclusion with Templates.tid",
    "content": "created: 20141129210304238\nmodified: 20150220161405000\ntags: [[Transclusion in WikiText]]\ntitle: Transclusion with Templates\ncaption: With Templates\n\n! Introduction\n\nIn [[Transclusion Basic Usage]] we have seen how to include the content of a tiddler A into a tiddler B. Now suppose that tiddler A contains:\n\n```\n@@background-color:yellow;\nHello, my title is {{!!title}}\n@@\n```\n\nThis makes tiddler A display its title with a yellow background (see [[Styles and Classes in WikiText]] to learn about CSS style). Imagine that you want to display the title in the same way in tiddler B. But you don't want to copy/paste the style instructions, because you might want to change the background colour later and you want to keep it consistent among tiddlers. This looks like a typical case of transclusion, so let's try to transclude tiddler A in tiddler B the usual way with ``{{A}}``. You should see the following content in tiddler B:\n\n<<<\n@@background-color:yellow;\nHello, my title is A\n@@\n<<<\n\nThe style is applied as expected, but the title is wrong: we want ``{{!!title}}`` to refer to the target tiddler B, and not the source tiddler A.\n\nThe solution is to use a //template//. In this case, the source tiddler A is called the [[TemplateTiddler|TemplateTiddlers]], and it is //applied// to tiddler B using the notation ``{{||A}}``. The difference is that any TextReference which does not refer explicitly to a specific tiddler is applied to the [[current tiddler|Current Tiddler]], that is, the target tiddler. As a result, tiddler B now looks as expected:\n\n<<<\n@@background-color:yellow;\nHello, my title is B\n@@\n<<<\n\n! Usage\n\nTranscluding via a template is like applying a mask: assuming that the source tiddler contains generic references (like eye holes in a mask), these will be replaced with the target tiddlers values (like the eyes of the person who wears the mask).\n\nA template can be applied to any tiddler, not necessarily the current one. This is achieved using the full notation ``{{<target>||<template>}}``. The default ``<target>`` is the [[current tiddler|Current Tiddler]] (this is what we used in the above example).\n\n! Examples\n\n!! A predefined template to render tags nicely\n\nYou can apply the system template ``$:/core/ui/TagTemplate`` to a tag in order to see it as a tag pill with a drop-down menu:\n\n```\n{{Transclusion||$:/core/ui/TagTemplate}}\n```\n\nis rendered as {{Transclusion||$:/core/ui/TagTemplate}}\n\nSee also:\n\n* [[Transclusion in WikiText]]\n* [[Transclusion Basic Usage]]\n* TextReference\n* TemplateTiddlers\n* TranscludeWidget\n* [[Current Tiddler]]\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/Typed Blocks in WikiText.tid",
    "content": "caption: Typed Blocks\ncreated: 20131205161051792\nmodified: 20251006150732150\ntags: WikiText\ntitle: Typed Blocks in WikiText\ntype: text/vnd.tiddlywiki\n\nWikiText can include blocks of text that are rendered with an explicit ContentType like this:\n\n!! Image SVG\n\n<<wikitext-example-without-html \n\"\"\"$$$image/svg+xml\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"150\" height=\"100\">\n  <circle cx=\"100\" cy=\"50\" r=\"40\" stroke=\"black\" stroke-width=\"2\" fill=\"green\" />\n</svg>\n$$$\n\"\"\">>\n\nIt is also possible to abbreviate the ContentType to a file extension. For example:\n\n<<wikitext-example-without-html\n\"\"\"$$$.svg\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"150\" height=\"100\">\n  <circle cx=\"100\" cy=\"50\" r=\"40\" stroke=\"black\" stroke-width=\"2\" fill=\"red\" />\n</svg>\n$$$\n\"\"\"\n>>\n\n!! Unknown Type\n\nUnknown types render as plain text\n\n<<wikitext-example-without-html \n\"\"\"$$$text/unknown\nSome plain text, which will not be //formatted//.\n$$$\n\"\"\">>\n\n!! Specific Type WikiText\n\nA render type can also be specified, causing a particular text rendering to be displayed. For example:\n\n<<wikitext-example-without-html \n\"\"\"$$$text/vnd.tiddlywiki>text/html\nThis is ''some'' wikitext\n$$$\n\"\"\">>\n\n<<wikitext-example-without-html \n\"\"\"$$$text/vnd.tiddlywiki>text/plain\nThis is ''some'' wikitext\n$$$\n\"\"\">>\n\n!! CSV Table\n\n<<wikitext-example-without-html \n\"\"\"$$$text/csv\na,b,c\n1,2,3\n4,5,6\naye,bee,cee\n10,22,42\n$$$\n\"\"\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/Utility Classes.tid",
    "content": "created: 20220818093624828\nmodified: 20221010074235929\ntags: WikiText\ntitle: Utility Classes\ntype: text/vnd.tiddlywiki\n\n<<.from-version \"5.2.4\">> The following outlines a few predefined CSS classes intended to make it simpler to style [[HTML block-elements|HTML Block Elements]] and [[wikitext tables|Tables in WikiText CSS Utility Classes]].\n\n!! General Utility Classes\n\n|`tc-center` |Centres a block-element to the middle of the container |\n|`tc-max-width `|Expands a block-element to use the maximum width of the container |\n|`tc-max-width-80`|Sets the width of a block-element to use 80% of the maximum container width. This setting is useful with the `tc-center` class |\n|`tc-edit-max-width `|Expands [[TextWidget]]s to use the maximum available width. See [[ControlPanel -> Info -> Basics|$:/core/ui/ControlPanel/Basics]]|\n|`tc-first-link-nowrap` |Ensures that any links in the first table column will never wrap to the next line |\n|`tc-clearfix`|<<.from-version \"5.3.6\">> This class can be used to prevent elements, that have a `class=\"tc-float-right\"` from overflowing their container elements. tc-clearfix is already assigned to all major ViewTemplate and EditTemplate elements. So it only needs to be used where the default does not work out of the box.|\n!! Table Utility Classes\n\n|`tc-table-no-border` |Removes the borders of a table |\n|`tc-first-col-min-width` |The first column of a table will take up minimal possible width. It adapts to the content |\n|`tc-table-wrapper` |<<.from-version \"5.3.6\">> A class to be applied to a `div` element outside the table to prevent table from overflowing |\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/Variable Attribute Values.tid",
    "content": "created: 20230615045239825\nmodified: 20230726151053593\ntags: [[Widget Attributes]] WikiText\ntitle: Variable Attribute Values\ntype: text/vnd.tiddlywiki\n\nVariable attribute values are indicated with double angle brackets around a [[macro invocation|Macro Calls]]. For example:\n\n```\n<div title=<<MyMacro \"Brian\">>>\n...\n</div>\n```\n\nThe behaviour of variables invoked via widget attributes is not the same as when they are [[invoked via normal wikitext|Behaviour of variables invoked via normal wikitext]]. In addition, the behaviour depends on how the variable is declared:\n\n{{Behaviour of variables invoked via widget attributes}}\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/Variables in WikiText.tid",
    "content": "created: 20141002141231992\nmodified: 20150221221850000\ntags: \ntitle: Variables in WikiText\ntype: text/vnd.tiddlywiki\n\nSee [[Variables]]."
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/Widget Attributes.tid",
    "content": "created: 20230615045526689\nmodified: 20230731210638956\ntags: WikiText\ntitle: Widget Attributes\ntype: text/vnd.tiddlywiki\n\nAttributes of [[HTML elements|HTML in WikiText]] and widgets can be specified in several different ways:\n\n* [[a literal string|Literal Attribute Values]]\n* [[a transclusion of a textReference|Transcluded Attribute Values]]\n* [[a transclusion of a macro/variable|Variable Attribute Values]]\n* [[as the result of a filter expression|Filtered Attribute Values]]\n* <<.from-version \"5.3.0\">> [[as the result of performing filter and variable substitutions on the given string|Substituted Attribute Values]]\n* <<.from-version \"5.4.0\">> [[as a multi-valued variable reference|Multi-Valued Variable Attribute Values]]\n\n|attribute type|syntax|h\n|literal |single, double or triple quotes or no quotes for values without spaces |\n|transcluded |double curly braces around a text reference |\n|variable |double angle brackets around a macro or variable invocation |\n|filtered |triple curly braces around a filter expression|\n|substituted|single or triple backticks around the text to be processed for substitutions|\n|multi-valued variable |double round brackets around a variable name |\n\n\n<$list filter=\"[[Literal Attribute Values]] [[Transcluded Attribute Values]] [[Variable Attribute Values]] [[Filtered Attribute Values]] [[Substituted Attribute Values]] [[Multi-Valued Variable Attribute Values]]\">\n<$link><h1><$text text=<<currentTiddler>>/></h1></$link>\n<$transclude mode=\"block\"/>\n</$list>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/Widgets in WikiText.tid",
    "content": "caption: Widgets\ncreated: 20131205160840915\nmodified: 20220513113347606\ntags: WikiText\ntitle: Widgets in WikiText\ntype: text/vnd.tiddlywiki\n\nWidgets provide rich functionality within WikiText. They have the same syntax as [[HTML elements|HTML in WikiText]], but the tag name always starts with `$`. For example:\n\n<$macrocall $name=\".example\" n=\"1\"\neg=\"\"\"<$button message=\"tm-navigate\" to=\"HelloThere\">Open ~HelloThere</$button>\n\"\"\"/>\n\nNote that widgets inherit all the features of [[HTML in WikiText]]:\n\n* Widget attributes can be specified as:\n** Unquoted strings (that cannot contain spaces)\n** Strings quoted with single or double quotes\n** Strings quoted with triple-double quotes\n** Macro invocations (eg `attr=<<myMacro>>`)\n** Transclusions (eg, `attr={{MyTiddler!!field}}`)\n** Filtered transclusions (eg, `attr={{{ [filter[op]] }}}`)\n** <<.from-version \"5.3.0\">> [[Substituted Attribute Values]]\n* The content of a widget is [[parsed|WikiText Parser Modes]] in [[inline mode|Inline Mode WikiText]] unless the opening tag is followed by two linebreaks, which forces [[block mode|Block Mode WikiText]]\n** [[inline mode|Inline Mode WikiText]] means that [[block mode|Block Mode WikiText]] parse rules like headings, tables and lists are not recognised\n\nSee [[HTML in WikiText]] for more details.\n\nThe available widgets include:\n\n<<list-links \"[tag[Widgets]]\" class:\"multi-columns\">>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/parser/Block Mode WikiText (Examples).tid",
    "content": "created: 20220115152811251\nmodified: 20220115161035903\ntags: [[Block Mode WikiText]]\ntitle: Block Mode WikiText (Examples)\ntype: text/vnd.tiddlywiki\n\n[[Paragraphs|Paragraphs in WikiText]] are the most common WikiText. It is important to know they do not end until a blank line is encountered. Once a paragraph starts the parser will be in ''inline mode''. Until that blank line is encountered other ''block mode'' syntax will be ignored:\n\n<<<\n<<wikitext-example-without-html src:'This is a paragraph.\nOnly __//inline mode//__ punctuation is recognised here.\nBlock mode punctuation will be <b>ignored</b> until\nthe paragraph ends (i.e. a blank line is encountered).\nFor example:\n* List item punctuation is ignored\n* So is this horizontal rule:\n---\n|tables|are|ignored|\n! headings are ignored\n<<<\nmulti-line block quotes are ignored\n<<<\n'>>\n<<<\n\nTo get the parser to recognise the above ''block mode'' WikiText, a blank line needs to be inserted after the \"For example:\" line. The blank line will be treated as the end of the paragraph and the parser will start recognising ''block mode'' punctuation again. Like this:\n\n<<<\n<<wikitext-example-without-html src:'This is a paragraph.\nOnly __//inline mode//__ punctuation is recognised here.\nBlock mode punctuation will be <b>ignored</b> until\nthe paragraph ends (i.e. a blank line is encountered).\nFor example, here is a blank line:\n\n* due to above blank line,\n* list items work\n* the following horizontal rule also works:\n---\n|!tables|!work|\n|cell 1| cell 2|\n! Headings work\n<<<\nmulti-line block quotes work\n<<<\n; Term\n: Definition of that term\nAnother paragraph can start here, but it will not end until blank line\n'>>\n<<<\n\nAll the block mode examples above except for the paragraph are written one line after the other without blanks between. Those types of WikiText don't require the extra blank line to terminate."
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/parser/Block Mode WikiText.tid",
    "content": "caption: block parser mode\ncreated: 20220110234234616\nmodified: 20240512001555383\ntags: [[WikiText Parser Modes]]\ntitle: Block Mode WikiText\ntype: text/vnd.tiddlywiki\n\nSome WikiText is recognised only while the parser is in block mode.\n\nCommon characteristics of such block mode WikiText:\n\n* At least one entire line is required to delimit the WikiText.\n* The closing punctuation must come at the end of the line (in some cases the end of the line //is// the closing punctuation.\n\n|!~WikiText|!Punctuation|\n|[[Block Quotes in WikiText]] |Multi-line block quotes are enclosed by lines containing only the text `<<<`; single line block quotes are also possible.|\n|[[Code Blocks in WikiText]]|Enclosed by lines containing only the text <code>&#96;&#96;&#96;</code>|\n|[[Description Lists in WikiText]]|Each term is on its own line and each definition is on its own line.|\n|[[Hard Linebreaks in WikiText]]|Enclosed by lines containing only the text `\"\"\"`.|\n|[[Headings in WikiText]]|Entire line starting with `!`.|\n|[[Horizontal Rules in WikiText]]|A line containing only the text `---`.|\n|[[Lists in WikiText]]|Each list item is on its own line.|\n|[[Paragraphs in WikiText]]|Any text other than the start punctuation of one of the other block mode WikiText will start a paragraph. Even the start punctuation of inline mode WikiText will start a paragraph. The parser includes all following lines into the paragraph until it encounters a blank line.|\n|[[Styles and Classes in WikiText]]|Enclosed by lines starting with `@@`.|\n|[[Tables in WikiText]]|Each table row is a line starting and ending with `|`.|\n|[[Typed Blocks in WikiText]]|Enclosed by lines starting with `$$`.|\n\nThe above WikiText types are only recognised in ''block mode''. However, the text <<.em enclosed>> by most of them will be parsed in ''inline mode'' ([[Block Quotes in WikiText]] and [[Styles and Classes in WikiText]] are the two exceptions in which the parser will continue in ''block mode''). While in ''inline mode'' the parser may encounter something which moves it to ''block mode'' (see [[WikiText parser mode transitions]]).\n\nAt the end of the terminating line, the parser will return to ''block mode''.\n<<.tip 'Note: [[Hard Linebreaks in WikiText]] require an extra blank line after the trailing `\"\"\"` before the parser will return to <strong>block mode</strong>.'>>\n\nIf the punctuation for the above types of WikiText is encountered while the parser is in ''inline mode'', it will be //ignored// and output as-is.\n\n[[Examples|Block Mode WikiText (Examples)]]"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/parser/Inline Mode WikiText.tid",
    "content": "caption: inline parser mode\ncreated: 20220111000108618\nmodified: 20220917074925230\ntags: [[WikiText Parser Modes]]\ntitle: Inline Mode WikiText\ntype: text/vnd.tiddlywiki\n\nSome WikiText is recognised only while the parser is in inline mode.\n\nThese WikiText types can be expressed without an entire line of text. They aren't required to be all on one line, just that they <<.em can>> be expressed within a single line. And as such, more than one can appear within a single line.  In other words, line endings are not involved while the parser tries to find where the particular WikiText begins and ends While the parser is in inline mode, it will recognise the punctuation for these WikiText types:\n\n* [[Dashes in WikiText]]\n* [[Formatting in WikiText]]\n* [[HTML in WikiText]]\n* [[Images in WikiText]]\n* [[Linking in WikiText]]\n* [[Macro Calls]]\n* [[Styles and Classes in WikiText]] (single line version only)\n* [[Transclusion in WikiText]]\n* [[Variables in WikiText]]\n* [[Widgets in WikiText]]\n\n<<.tip \"\"\"[[Macro Calls]] and  [[Transclusion in WikiText]] will be recognised in block mode if the macro call or transclusion spans an entire line.\"\"\">>\n<<.tip \"\"\"The other ''inline mode'' WikiText types are technically <<.em only>> detected while the parser is in ''inline mode''. However, the opening punctuation will also trigger the start of [[Paragraphs in WikiText]] which will automatically cause the parser to go into ''inline mode''. Therefore, practically speaking, it is just as useful to consider these WikiText types as recognised while the parser is in either ''inline mode'' or ''block mode''\"\"\">>\n\nWhile processing the //enclosed// text of some of these WikiText types, the parser [[will not look for new WikiText|Places where the parser ignores WikiText]]. But for rest of these WikiText types, the parser will continue in ''inline mode'' for the //enclosed// text.  While parsing that text, it might encounter something which [[moves it to block mode|WikiText parser mode transitions]]."
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/parser/Places where the parser ignores WikiText.tid",
    "content": "caption: ignore parser mode\ncreated: 20220111000929700\nmodified: 20240921085112396\ntags: [[WikiText Parser Modes]]\ntitle: Places where the parser ignores WikiText\ntype: text/vnd.tiddlywiki\n\nText enclosed by these constructs is skipped by the parser and WikiText punctuation will be ignored:\n\n|[[Code Blocks in WikiText]]|One of the main purposes of code blocks is to suppress wikitext expansion. Once the code block starts, the parser will ignore all WikiText punctuation until the code block ends.|\n|[[Images in WikiText]]|`[[img|literal image link text]]` - the text enclosed by square braces will be ignored. This means, for example, [[transclusions|Transclusion in WikiText]] and [[macro calls|Macro Calls]] cannot be used to dynamically construct the link text|\n|[[Linking in WikiText]]|`[[literal link target|literal link text]]` - the text enclosed by square braces will be ignored. This means, for example, [[transclusions|Transclusion in WikiText]] and [[macro calls|Macro Calls]] cannot be used to dynamically construct the link target or the link text|\n|[[Macro Calls]]|`<<mymacro ''notbold'' \"literal text\" \"<<macro_expansion_ignored>>\" {{transclusion_ignored}}>>` - while processing the text enclosed by a macro call, the parser will follow special rules for detecting macro parameters. These rules do not include detection of WikiText. However, after the parameters are substituted into the macro definition, the result will be parsed using the [[normal rules|WikiText Parser Modes]]. This will likely result in the detection of any WikiText.|\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/parser/WikiText Parser Modes.tid",
    "content": "created: 20220110233944530\nmodified: 20220513112653029\ntags: WikiText\ntitle: WikiText Parser Modes\ntype: text/vnd.tiddlywiki\n\nIn order to display Tiddlers (usually the text field), the WikiText parser reads and interprets the content and applies WikiText rules. The parser has three modes:\n\n* ''pragma mode'' - the parser will recognise only [[pragma mode WikiText|Pragmas]] punctuation \n* ''block mode'' - the parser will recognise only [[block mode WikiText|Block Mode WikiText]] punctuation\n* ''inline mode'' - the parser will recognise only [[inline mode WikiText|Inline Mode WikiText]]\n\nThe parser [[transitions between these modes|WikiText parser mode transitions]] based on the text it encounters. In addition, there are  [[places where the parser ignores WikiText|Places where the parser ignores WikiText]] punctuation. The parser mode can also be set directly with the [[Pragma: \\parsermode]].\n\n<<.tip \"The concept of inline vs block also exists for standard HTML elements. For HTML, these [[two layout modes|https://www.w3schools.com/html/html_blocks.asp]] determine if the output flows together on the same line or not.\n<p>Most [[block mode WikiText|Block Mode WikiText]] corresponds to [[block level HTML elements|https://developer.mozilla.org/en-US/docs/Web/HTML/Block-level_elements]] and most [[inline mode WikiText|Inline Mode WikiText]] corresponds to [[inline level HTML elements|https://developer.mozilla.org/en-US/docs/Web/HTML/Inline_elements]]. However, for Wikitext the two modes are just as important for determining which syntax will be recognised by the parser as they are for determining how the output will flow.</p>\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/parser/WikiText parser mode transitions.tid",
    "content": "created: 20220110235808139\nmodified: 20220122184232928\ntags: [[WikiText Parser Modes]]\ntitle: WikiText parser mode transitions\ntype: text/vnd.tiddlywiki\n\nThis is a <<.em rough>> diagram whose lines mostly correspond to the parser mode transitions described below:\n<$railroad text=\"\"\"\n{<\"pragma mode\">\n{(\n  {<\"inline mode\"> +} |\n  ({<\"block mode\">\n    +(\"<<<\" | \"@@\" | \"$$\")\n  }\n  \"other block mode start punct\")\n  {<\"inline mode\"> +}\n  )\n  +(\n    \"block mode close punctuation\" |\n    (\"blank line\" \"html open tag\")\n  )}\n  +(\"transclude widget\" | \"macrocall\")\n}\n\"\"\"/>\n\n!! Start mode\n\nBy default the parser starts in [[block mode|Block Mode WikiText]]. However, a tiddler can instead be transcluded with [[inline mode|Inline Mode WikiText]] in which case [[block mode WikiText|Block Mode WikiText]] will not be recognised.\n\nAt the start of text only, the parser will also recognise any [[pragma mode WikiText|Pragmas]].\n\n!! Transitions from pragma mode\n\nAt the start of text, the parser will recognise any [[pragma|Pragmas]]. If none are found then it will move to [[inline|Inline Mode WikiText]] or [[block|Block Mode WikiText]] mode depending on the transclusion mode. If any [[pragma|Pragmas]] are found then it will continue looking for [[pragma|Pragmas]] until it finds one or more blank lines not followed by the start of a new pragma.\n\n!! Transitions from block mode\n\nWhen the parser encounters most [[block mode|Block Mode WikiText]] start punctuation it transitions to [[inline mode|Inline Mode WikiText]]. This means\nhe text enclosed by most [[block mode|Block Mode WikiText]] constructs will be parsed using [[inline mode|Inline Mode WikiText]].\n\n<<.tip \"\"\"The start \"punctuation\" for a paragraph is \"invisible\". Even for paragraphs the parser moves to [[inline mode|Inline Mode WikiText]]\"\"\">>\n\nHowever, there are a few constructs whose enclosed text is parsed using [[block mode|Block Mode WikiText]]:\n\n* [[Multi-line block quotes|Block Quotes in WikiText]]\n* [[Multi-line style blocks|Styles and Classes in WikiText]]\n* [[Typed blocks|Typed Blocks in WikiText]]\n\nWhen the start punctuation for these are encountered, the enclosed text will continue to be parsed in [[block mode|Block Mode WikiText]].\n\n[[Horizontal rules|Horizontal Rules in WikiText]] are another special case. They do not enclose any text, so there is no opportunity for the parser to transition to [[inline mode|Inline Mode WikiText]].\n\nOpening [[widget|Widgets in WikiText]] or [[HTML|HTML in WikiText]] tags provide another way the parser can transition. When such a tag is <<.em not>> followed by a blank line, then the contents enclosed by the tag will be parsed in [[inline mode|Inline Mode WikiText]]. See the [[HTML examples|WikiText parser mode: HTML examples]].\n\n!! Transitions from inline mode\n\n* The parser will move back to [[block mode|Block Mode WikiText]] after the end of a line which terminates [[block mode|Block Mode WikiText]] ~WikiText. In other words, when the block mode close punctuation is encountered.\n* When the opening [[widget|Widgets in WikiText]] or [[HTML|HTML in WikiText]] tag is followed by a blank line, then the contents enclosed by the tag will be parsed in [[block mode|Block Mode WikiText]]. See the [[HTML examples|WikiText parser mode: HTML examples]].\n* Transcluded text and text pulled in via a macro call can transition the parser away from [[inline mode|Inline Mode WikiText]]. See [[transclusion examples|WikiText parser mode: transclusion examples]] and [[macro examples|WikiText parser mode: macro examples]] for more details."
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/parser/WikiText parser mode_ HTML examples.tid",
    "content": "created: 20220122153235162\nmodified: 20240713165558596\ntags: [[WikiText parser mode transitions]]\ntitle: WikiText parser mode: HTML examples\ntype: text/vnd.tiddlywiki\n\n<<testcase TestCases/HTML/OpenTagBlankLine>>\n\n---\n\nThe open tag blank line \"trick\" also works inside of punctuation only recognised in inline mode (such as [[Formatting in WikiText]]):\n\n<<testcase TestCases/HTML/OpenTagBlankLineInBoldSyntax>>\n\n---\n\n<<testcase TestCases/HTML/OpenTagNoBlankLine>>\n\n---\n\n[[Tables in WikiText]] is one construct for which the open tag blank line \"trick\" cannot work. In order for the parser to recognise a table row, the entire row must be on a single line.\n\nAdding a blank link after an open tag within a table cell causes the row to span mulitple lines and the parser ceases to be able to recognise it as a table row.\n\n<<wikitext-example-without-html \"|table row|all on|one line|is recognised|\">>\n\n<<testcase TestCases/HTML/OpenTagBlankLineInTableSyntax>>\n\n---\n\nThe only way to get [[block mode|Block Mode WikiText]] punctuation recognised in [[wikitext tables|Tables in WikiText]] is to use <<.wlink TranscludeWidget>> with <<.attr mode>> = <<.value block>>.\n\n<<wikitext-example-without-html '|Nested table:|<$transclude tiddler=\"table-example\" mode=block/>|'>>\n\nNote that <<.wlink MacroCallWidget>> does not have a similar <<.attr mode>> attribute and the content of macro definitions can only be parsed in [[inline mode|Inline Mode WikiText]]\n\n---\n\n<<testcase TestCases/HTML/BlockModeInHTMLTable>>"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/parser/WikiText parser mode_ macro examples.tid",
    "content": "created: 20220122144742419\nmodified: 20220122180929683\ntags: [[WikiText parser mode transitions]]\ntitle: WikiText parser mode: macro examples\ntype: text/vnd.tiddlywiki\n\n\\define boringtable()\n|cell one|cell two|\n|cell three|cell four|\n\\end\nWith the macro `boringtable` defined as:\n<$codeblock code=<<boringtable>>/>\nthen\n<table><<wikitext-example-table-header>><tbody>\n<<wikitext-example-table-row 1 \"* <<boringtable>>\">>\n<<wikitext-example-table-row 2 \"\"\"* <div>\n\n<<boringtable>>\n</div>\n\"\"\">>\n<<wikitext-example-table-row 3 \"* <$macrocall $name=boringtable/>\">>\n<<wikitext-example-table-row 4 \"* <$macrocall $name=boringtable></$macrocall>\">>\n<<wikitext-example-table-row 5 \"\"\"* <$macrocall $name=boringtable>\n\n</$macrocall>\"\"\">>\n</tbody></table>\n\nThe list syntax is recognised in [[block mode|Block Mode WikiText]] and the enclosed contents are parsed using [[inline mode|Inline Mode WikiText]]. When the parser encounters a [[wikitext macro call|Macro Calls]] it will use the current parse mode to parse the contents of the macro. The contents of the macro contains table syntax which is only recognised in [[block mode|Block Mode WikiText]]. \n\nTherefore, in #1 above the table syntax is not recognised. In #2 above, the blank line after the open `div` tag moves the parser back into [[block mode|Block Mode WikiText]], the macro call inherits it and the table is recognised.\n\nWhen calling macros using the [[widget|MacroCallWidget]], the parse mode will be inline (#3 and #4 above) unless it is written as an open tag with a following blank line (#5 above).\n\n<<.tip \"See also [[WikiText parser mode: transclusion examples]] for similar examples\">>\n\n---\n\nThese examples have slightly different behavior. In the previous section, the macro calls were enclosed within list items.  In these examples, the macro calls are at the top level:\n<table><<wikitext-example-table-header>><tbody>\n<<wikitext-example-table-row 1 \"<<boringtable>>\">>\n<<wikitext-example-table-row 2 \"\"\"<div>\n\n<<boringtable>>\n</div>\n\"\"\">>\n<<wikitext-example-table-row 3 \"<$macrocall $name=boringtable/>\">>\n<<wikitext-example-table-row 4 \"<$macrocall $name=boringtable></$macrocall>\">>\n<<wikitext-example-table-row 5 \"\"\"<$macrocall $name=boringtable>\n\n</$macrocall>\"\"\">>\n</tbody></table>\n\nOf these examples, only the two <<.wlink MacroCallWidget>> tags which are not followed by a blank line are parsed using [[inline mode|Inline Mode WikiText]].\n\n<<.tip \"See also [[WikiText parser mode: transclusion examples]] for similar examples\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/parser/WikiText parser mode_ transclusion examples.tid",
    "content": "created: 20220122145022547\nmodified: 20220122180845946\ntags: [[WikiText parser mode transitions]]\ntitle: WikiText parser mode: transclusion examples\ntype: text/vnd.tiddlywiki\n\n\nGiven the tiddler  [[table-example]] defined with these contents:\n<$codeblock code={{table-example}}/>\nthen\n<table><<wikitext-example-table-header>><tbody>\n<<wikitext-example-table-row 1 \"* {{table-example}}\">>\n<<wikitext-example-table-row 2 \"\"\"* <div>\n\n{{table-example}}\n</div>\n\"\"\">>\n<<wikitext-example-table-row 3 \"* <$transclude tiddler=table-example/>\">>\n<<wikitext-example-table-row 4 \"* <$transclude tiddler=table-example></$transclude>\">>\n<<wikitext-example-table-row 5 \"\"\"* <$transclude tiddler=table-example>\n\n</$transclude>\"\"\">>\n<<wikitext-example-table-row  6 \"* <$transclude tiddler=table-example mode=block/>\">>\n</tbody></table>\n\nThe list syntax is recognised in [[block mode|Block Mode WikiText]] and the enclosed contents are parsed using [[inline mode|Inline Mode WikiText]]. When the parser encounters a [[wikitext transclusion|Transclusion in WikiText]] it will use the current parse mode to parse the contents of the transcluded tiddler. The contents of the example tiddler contains table syntax which is only recognised in [[block mode|Block Mode WikiText]]. \n\nTherefore, in #1 above the table syntax is not recognised. In #2 above, the blank line after the open `div` tag moves the parser back into [[block mode|Block Mode WikiText]], the transcluded text inherits it and the table is recognised.\n\nWhen transcluding tiddlers using the [[widget|TranscludeWidget]], the parse mode will be inline (#3 and #4 above) unless it is written as an open tag with a following blank line (#5 above).\n\n<<.tip \"See also [[WikiText parser mode: macro examples]] for similar examples. The only difference here is <<.wlink TranscludeWidget>> has a <<.attr mode>> attribute (extra example #6) which allows the parse mode to be explicitly overridden rather than come implicitly based on the they way the tag is written\">>\n\n---\n\nIn these examples, the transclusions are at the top level instead of enclosed in list items:\n\n<table><<wikitext-example-table-header>><tbody>\n<<wikitext-example-table-row 1 \"{{table-example}}\">>\n<<wikitext-example-table-row 2 \"\"\"<div>\n\n{{table-example}}\n</div>\n\"\"\">>\n<<wikitext-example-table-row 3 \"<$transclude tiddler=table-example/>\">>\n<<wikitext-example-table-row 4 \"<$transclude tiddler=table-example></$transclude>\">>\n<<wikitext-example-table-row 5 \"\"\"<$transclude tiddler=table-example>\n\n</$transclude>\"\"\">>\n<<wikitext-example-table-row  6 \"<$transclude tiddler=table-example mode=inline/>\">>\n</tbody></table>\n\n\nOf these examples, only the two <<.wlink TranscludeWidget>> tags which are not followed by a blank line and the widget call using <<.attr mode>>=<<.value inline>> are parsed using [[inline mode|Inline Mode WikiText]].\n\n<<.tip \"See also [[WikiText parser mode: macro examples]] for similar examples\">>"
  },
  {
    "path": "editions/tw5.com/tiddlers/wikitext/parser/table-example.tid",
    "content": "created: 20220118023452157\nmodified: 20220118023529825\ntags: [[WikiText parser mode transitions (Examples)]]\ntitle: table-example\ntype: text/vnd.tiddlywiki\n\n|cell one|cell two|\n|cell three|cell four|"
  },
  {
    "path": "editions/tw5.com/tiddlers/workingwithtw/Audio.tid",
    "content": "created: 20141018131647392\nmodified: 20141019200654436\ntags: [[Working with TiddlyWiki]] Features\ntitle: Audio\ntype: text/vnd.tiddlywiki\n\nAudio files can be incorporated into TiddlyWiki in a very similar way to [[images|Images in WikiText]].\n\n! Embedded Audio\n\nSmall audio files can be embedded directly within TiddlyWiki. Embedding isn't suitable for large files (over a few hundred kilobytes) because it increases the size of the TiddlyWiki file.\n\nFor example, the tiddler [[TiddlyWiki.mp3]] contains an MP3 recording of the word \"TiddlyWiki\". If you visit that tiddler, you should see an audio player that will play back the recording.\n\nYou can also transclude audio files. For example:\n\n<<wikitext-example-without-html '{{TiddlyWiki.mp3}}'>>\n\n! External Audio\n\nExternal audio tiddlers use the ''_canonical_uri'' field to point to an external audio file/stream, and have their ''text'' field blocked. This reduces their size considerably, but still allows for playback.\n\nFor example, the tiddler [[Caruso - Ave Maria]] points to an online audio recording hosted on http://archive.org:\n\n<<wikitext-example-without-html '{{Caruso - Ave Maria}}'>>\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/workingwithtw/BrowserCompatibility.tid",
    "content": "title: BrowserCompatibility\ntags: [[Working with TiddlyWiki]]\n\nTiddlyWiki is designed to work with HTML5-compatible browsers.\n\nThe following table summarises the browser versions that are known to work with TiddlyWiki\n\n|!Browser |!Status |\n|Internet Explorer |Version 10 and above |\n|Chrome |All recent versions |\n|Firefox |All recent versions |\n|Firefox for Android |All recent versions |\n|Safari |Version 6 and above |\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/workingwithtw/Creating and editing tiddlers.tid",
    "content": "created: 20140904140300000\nmodified: 20160607153747195\ntags: [[Working with TiddlyWiki]]\ntitle: Creating and editing tiddlers\ntype: text/vnd.tiddlywiki\n\n! Creating tiddlers\n\nYou create a tiddler either by clicking the <<.icon $:/core/images/new-button>> button in the sidebar, or by clicking on a link to a missing tiddler. Links to missing tiddlers are shown in [[blue italics]].\n\nSee also:\n\n* [[Creating journal tiddlers]]\n\n! Editing tiddlers\n\nTo edit an existing tiddler, click the <<.icon $:/core/images/edit-button>> button at the top right of the tiddler.\n\n!! Draft mode\n\nWhen you create a new tiddler or edit an existing one, the tiddler will go into draft mode. This presents a control panel for modifying the tiddler in various ways. It has several parts, from top to bottom:\n\n*''The title field'' - Use this to change the title of the tiddler\n*''The tag selector'' - Use this to add or remove tags. As you type a tag name in the box, a dropdown list will show you any existing tags that match. You can pick from this list or create a completely new tag. Then click the ''add'' button or hit the <kbd>Enter</kbd> key to add the tag to the tiddler. Each tag is shown as a coloured pill. Click the \"×\" on a pill to remove that tag\n*''The text area'' - Use this to edit the main content of the tiddler. Click the ''preview'' button (<<.icon $:/core/images/preview-closed>> / <<.icon $:/core/images/preview-open>>) to see what your changes will look like\n*''The type selector'' - Use this when a tiddler needs to be displayed in a special way, such as an image. See ContentType for a list of the options. The default is `text/vnd.tiddlywiki`, which means the tiddler contains WikiText\n*''The field selector'' - Use this to add or remove fields on the tiddler. For example, if you are editing a tiddler that's being used to tag other tiddlers, you can add a [[''list'' field|ListField]] to change the order in which those tiddlers will be listed\n\n! Save, cancel or delete\n\nWhen you have finished editing, click a button at the top right of the tiddler:\n\n*The ''ok'' button (<<.icon $:/core/images/done-button>>) stores your changes to this one tiddler and leaves draft mode. If your wiki is configured to [[AutoSave]], your changes will be permanently saved. Otherwise they will only be stored temporarily in your web browser, and you will lose them if you close your ~TiddlyWiki page without first clicking the master ''save changes'' button (<<.icon $:/core/images/save-button-dynamic>>) in the sidebar.\n*The ''cancel'' button (<<.icon $:/core/images/cancel-button>>) discards your changes (after asking you to confirm) and leaves draft mode.\n*The ''delete'' button (<<.icon $:/core/images/delete-button>>) deletes the entire tiddler (after asking you to confirm).\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/workingwithtw/Creating journal tiddlers.tid",
    "content": "created: 20141010093214683\nmodified: 20181218180042029\ntags: [[Working with TiddlyWiki]]\ntitle: Creating journal tiddlers\ntype: text/vnd.tiddlywiki\n\n! Introduction\n\nJournal tiddlers are tiddlers that use a date and/or time as their title. They are typically used as a quick way to record time-stamped information.\n\nYou can use additional tags on a journal tiddler to link it to other tiddlers, helping to establish the relationships between items of information.\n\nFor example, you might use a journal tiddler called ''10th October 2014'' to record thoughts and information captured on that particular day. The tags ''Shopping'' and ''London'' might be used to indicate that the entry concerns shopping in London.\n\n! Creating a journal tiddler\n\nThe easiest way to create a journal tiddler is to use the ''new journal'' button <<.icon $:/core/images/new-journal-button>> in the ''Tools'' tab of the sidebar. If you find yourself often using the button, click the checkbox next to it to make the button available just above the search box.\n\nThe ''new journal'' button creates a journal entry as a blank tiddler with the tag ''Journal'' and a title derived from today's date. If a journal tiddler with that title already exists, then this is opened for editing.\n\n! Creating a tagged journal tiddler\n\nA common sequence of actions is to create (or reopen) today's journal entry and tag it with the title of another tiddler. This can be done with the ''new journal here'' button <<.icon $:/core/images/new-journal-button>> in the other tiddler's toolbar. You can find this button in the ''Tools'' tab of the tiddler's InfoPanel.\n\nFor example, you might be reviewing a tiddler called ''Oxford Street'' and realise that it's relevant for planning your shopping trip. Click the ''new journal here'' button on the ''Oxford Street'' tiddler to bring up a journal entry tagged with ''Oxford Street''.\n\n! Customising journal tiddlers\n\nTo configure how new journal entries are created, visit the ''Basics'' tab under ''Info'' in the [[control panel|$:/ControlPanel]] <<.icon $:/core/images/options-button>>:\n\n* \"Title of new journal tiddlers\" specifies how these tiddlers should be named, as a [[date format string|DateFormat]]. The default setting of `DDth MMM YYYY` causes new entries to have titles of the form \"10th October 2014\"\n* \"Tags for new journal tiddlers\" [specifies|Title List] tags that will automatically appear on new journal entries. For example: `Journal [[Summer vacation]]`\n\nHint: if you want to create a separate journal tiddler whenever you click ''new journal'' (even if you do this several times in the same day), you can include the clock time in the title format. Specify something like `YYYY-0MM-0DD at 0hhh0mm'0ss''` as the date format.\n\nAnother useful trick is to include `<<currentTiddler>>` somewhere in the title format. This means that if you click ''new journal here'' on several different tiddlers, the title of each of those tiddlers will form part of the name of the resulting journal entries.\n\n! Making a custom new journal button\n\nVisit the [[Making a custom journal button]] tiddler for instructions on how to make your own custom New Journal button"
  },
  {
    "path": "editions/tw5.com/tiddlers/workingwithtw/Formatting text in TiddlyWiki.tid",
    "content": "created: 20140908131500000\nmodified: 20140919214820549\ntags: [[Working with TiddlyWiki]]\ntitle: Formatting text in TiddlyWiki\ntype: text/vnd.tiddlywiki\n\nWithin the text of a tiddler you can use special formatting called WikiText to control how the text is displayed.\n\nWikiText can be typed by using the [[Editor toolbar]] or by typing by hand. While the first is convenient the later can be faster when you know the WikiText markup code.\n\n! Simple Formatting\n\nAt its simplest, WikiText lets you use familiar word-processing features like bold, italic, lists and tables. For example:\n\n```\nThe ''quick'' brown ~~flea~~ fox //jumps// over the `lazy` dog\n```\n\n… displays as:\n\nThe ''quick'' brown ~~flea~~ fox //jumps// over the `lazy` dog\n\n! Working with Tiddlers\n\nIn WikiText, you can link to tiddlers using double square brackets, or by taking advantage of the automatic linking of CamelCase words:\n\n```\nThis is a link to HelloThere, and one to [[History of TiddlyWiki]]\n```\n\n… displays as:\n\nThis is a link to HelloThere, and one to [[History of TiddlyWiki]]\n\n! Macros\n\nMacros let you package repetitive fragments of WikiText so that you can easily reuse them.\n\nFor example, here is the definition of a macro that generates a ~YouTube video URL from its unique identifier:\n\n```\n\\define youtube(video)\nhttps://www.youtube.com/watch?v=$video$\n\\end\n```\n\nWith that definition in place, `<<youtube 1g66s7UbyuU>>` generates the URL https://www.youtube.com/watch?v=1g66s7UbyuU\n\n! Advanced WikiText\n\nAdvanced WikiText features allow you to produce automated lists and interactive features like dropdown menus. In fact, the entire user interface of TiddlyWiki itself is written in WikiText, so any feature that you see in TiddlyWiki can be adapted for use in your own wikis.\n\nSome of the advanced features require complex coding. TiddlyWiki includes several built-in macros that simplify common user interface tasks, like tabs, tables of content, and lists of tiddlers.\n\n! Find out more\n\nSee [[WikiText]] for a detailed introduction to writing WikiText.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/workingwithtw/Navigating between open tiddlers.tid",
    "content": "created: 20140908092600000\nmodified: 20160607145200048\ntags: [[Working with TiddlyWiki]]\ntitle: Navigating between open tiddlers\ntype: text/vnd.tiddlywiki\n\nIn the default \"classic\" storyview mode, open tiddlers are displayed in a vertical column called the \"story river\". There are a number of ways you can navigate the story river - that is, how you can jump back and forth between the open tiddlers.\n\n* The best approach is to ''use the Open tab'' in the sidebar to click on the open tiddler to which you wish to navigate.\n\n** The ''Open'' tab contains a list of all the open tiddlers. You can click on any tiddler in the list to jump to it, or click the \"×\" next to a tiddler link to close it. There is also a handy <<.icon $:/core/images/close-all-button>> ''close all'' button at the bottom of the list of open tiddlers.\n\n* Another way is to simply ''scroll the page up and down'' using the story river scrollbar to the right.\n\n** Note that when both the story river and the sidebar extend below the visible screen, there will be //two// scrollbars. The outer or far-right scrollbar controls the story river. The inner scrollbar controls the sidebar.\n\n* A clunky approach that many new users try is to ''close tiddlers one by one'' until they get to the tiddler they are looking for. \n** Closing any tiddler at the top or in the middle of the story river will cause all the tiddlers below it to slide up the river. The tiddler immediately below the tiddler you closed will slide up to take its place.\n\n** Closing the bottom tiddler will close it and the bottom of the tiddler above it will come into view.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/workingwithtw/Performance.tid",
    "content": "created: 20150330155120127\nmodified: 20191014091943444\ntags: [[Working with TiddlyWiki]]\ntitle: Performance\ntype: text/vnd.tiddlywiki\n\nTiddlyWiki ships with defaults that are designed to get the best out of modern devices from smartphones to desktop computers. If you need to work on older, less powerful devices, or work with large amounts of content, there are a few steps you can take to improve performance.\n\n!! Usage\n\n* ''Avoid the \"Recent\" tab''. It is computationally slow to generate and update in response to tiddler changes.\n* ''Use the \"Vanilla\" theme''. The default \"Snow White\" theme includes visual effects like shadows, transparency and blurring that can be slow to render on older devices\n* ''Avoid large tiddlers''. Large bitmaps can significantly slow TiddlyWiki's performance. For example, an image taken with a modern smartphone will often be 5MB or more. Use ExternalImages whenever possible\n* ''Don't have too many tiddlers open at once''. Every tiddler you have open will require processing to keep it up to date as the store changes (for example, while you type into a draft tiddler). It is particularly easy when using zoomin story view to end up with dozens of tiddlers listed in the ''Open'' tab in the sidebar. Get into the habit of periodically closing all open tiddlers with the <<.icon $:/core/images/close-all-button>> ''close all'' button\n\n!! WikiText\n\n* ''Use the built-in performance instrumentation''.  Studying the [[performance instrumentation|Performance Instrumentation]] results can help highlight performance problems\n* Take advantage of indexed filter operators. The following constructions at the start of a filter run will be optimised to run many times faster than otherwise:\n** `[all[tiddlers]tag[x]...`\n** `[all[shadows]tag[x]...`\n** `[all[tiddlers+shadows]tag[x]...`\n** `[all[shadows+tiddlers]tag[x]...`\n** `[all[tiddlers]field:y[x]...`\n** `[all[shadows]field:y[x]...`\n** `[all[tiddlers+shadows]field:y[x]...`\n** `[all[shadows+tiddlers]field:y[x]...`\n** Note that the field indexer currently defaults to indexing field values of less than 128 characters; longer values can still be searched for, but no index will be constructed\n** Also note that the “field” operator is also used when the operator name is a fieldname, so, for example, `[all[shadows+tiddlers]caption[x]...` is optimised.\n* Use the [[throttling|RefreshThrottling]] feature of the RefreshMechanism judiciously\n* Keep in mind that ''transcluding separate tiddlers is more performant than heavy use of macros'' and the difference can be significant in some situations. The result of parsing each tiddler is cached and reused the next time if the tiddler has not changed. The same technique cannot be used for macros and they have to be re-parsed every time, as they are not global but local to the widget tree.\n** <<.from-version \"5.1.23\">> Parse trees are now cached for macros that do ''not'' perform any text substitution either via parameters or variables (i.e. `$parameter$` or `$(variable)$`).\n* Where possible ''use the SetWidget or VarsWidget with filters instead of the WikifyWidget'' for declaring variables and string concatenation. The performance of the wikify mechanism is relatively poor as there is no opportunity to cache the parse tree or widget tree.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/workingwithtw/Sharing your tiddlers with others.tid",
    "content": "created: 20140908163900000\nmodified: 20230803052125981\ntags: Learning\ntitle: Sharing your tiddlers with others\ntype: text/vnd.tiddlywiki\n\nThere are a number of ways that you can share [[tiddlers|Tiddlers]] or your whole TiddlyWiki:\n\n*You can attach a ~TiddlyWiki to an e-mail\n*You can publish your ~TiddlyWiki online and grab a link to send or message to others:\n**A link to the web address of the whole ~TiddlyWiki file\n**A [[permalink|PermaLinks]] (<<.icon $:/core/images/permalink-button>>) to a specific tiddler\n**A [[permaview|PermaLinks]] (<<.icon $:/core/images/permaview-button>>) link of all the currently open tiddlers\n* You can [[share a Dropbox link to your TiddlyWiki|Sharing a TiddlyWiki on Dropbox]]\n* You can [[export tiddlers|How to export tiddlers]] (<<.icon $:/core/images/export-button>>) in a variety of formats including text, static HTML and comma separated values (ie spreadsheet compatible)\n*You can also share tiddlers merely by making your ~TiddlyWiki accessible to others, for example by publishing it online, so that they can [[import tiddlers|Importing Tiddlers]] from it\n* There is an experimental [[sharing plugin|Share Plugin]] that you can use to share tiddlers via the URL location hash.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/workingwithtw/TiddlyWiki Node.js Privacy and Security.tid",
    "content": "title: TiddlyWiki Node.js Privacy and Security\ntags: [[TiddlyWiki Privacy and Security]]\n\n!!! Node.js Configuration\n\nUsing ~TiddlyWiki in the Node.js configuration requires more technical knowledge than the single file configuration.  There are several important areas with respect to security and privacy.\n\n* Most obviously, there is the matter of how user data is stored on disc as individual `.tid` files. Just as with the single file configuration, these are just ordinary files, and so can be used with third party tools that provide encryption.\n* Consideration must also be given to how data is transmitted across the network. By default, the Node.js configuration does not use SSL and so network traffic can be observed by others.\n** The impact of this is mitigated by the fact that, by default, only users on the same machine can connect to the server.\n** ~TiddlyWiki itself does offer the option of setting up an SSL connection.  However, it is generally advised to use an external proxy server to provide SSL services. nginx is popular for this purpose."
  },
  {
    "path": "editions/tw5.com/tiddlers/workingwithtw/TiddlyWiki Privacy and Security.tid",
    "content": "created: 20241106165307259\nmodified: 20241117170845666\ntitle: TiddlyWiki Privacy and Security\ntype: text/vnd.tiddlywiki\n\n<span class=\"tc-float-right tc-bordered-image\">[img width=200 [TiddlyWiki Privacy Badge]]</span>\n''TiddlyWiki is unique in that ordinary people can use it securely and privately without any special training.''  The key is that ~TiddlyWiki is just a text file, or a folder of files, so everything that you may already know about how to keep your documents and images private can be applied to ~TiddlyWiki.  Also, because your ~TiddlyWiki data is stored in simple text files, you can be confident that it will still be securely accessible in the decades to come.\n\n!! ~TiddlyWiki Configurations\n\n~TiddlyWiki can be used in two main configurations:\n\n* As a single HTML file that contains all the data and code. This is the easiest setup, and the most widely supported.\n** Popular services like [[Tiddlyhost]] are based on the single file configuration\n** See [[Saving]] for a listing of all the different ways to save a single file ~TiddlyWiki\n* As a Node.js application that runs a web server. This configuration is more powerful, but requires more technical knowledge to set up and maintain. See:\n** [[Installing TiddlyWiki on Node.js]]\n** [[Using TiddlyWiki on Node.js]]\n\nThe security and privacy implications of the two configurations are different:\n\n<div class=\"tc-grid-columns tc-grid-columns-2\">\n\n<div>\n\n{{TiddlyWiki Single File Privacy and Security}}\n\n</div>\n\n<div>\n\n{{TiddlyWiki Node.js Privacy and Security}}\n\n</div>\n\n</div>\n\n!! Verifiable Trust\n\nAn important aspect of ~TiddlyWiki's security and privacy claims is that they can be readily confirmed by anyone with basic technical skills.  For example, the network monitoring tools built into most browsers allow you to verify that ~TiddlyWiki doesn't send any data to other servers. Similarly, you can open a ~TiddlyWiki HTML file in an editor and verify that your data is readily accessible.\n\n!! Community Tools\n\nThere are also third party tools from the community that extend ~TiddlyWiki's built in encryption:\n\n* [[\"Encrypt single tiddler plugin\" by Danielo Rodriguez]] allows individual tiddlers to be encrypted\n* [[TW5-CSEncryption|https://wiki.fspark.me/TW5-CSEncryption/]] offers client-side encryption for ~TiddlyWiki on Node.js\n\n!! Further Information\n\nIf security and privacy are important to you then you need to take the best available advice, and the best place for that is specialist organisations that focus on this area.\n\nThe [[Electronic Frontier Foundation (EFF)|https://eff.org]] in the US is well respected, and their advice would be a good place to start. It emphasises basics such as dealing with passwords and two factor authentication, but also explains more advanced topics such as making a security plan, and how to set up a device securely.\n\n* https://ssd.eff.org/module-categories/basics\n* //Please suggest other useful privacy and security resources//"
  },
  {
    "path": "editions/tw5.com/tiddlers/workingwithtw/TiddlyWiki Single File Privacy and Security.tid",
    "content": "title: TiddlyWiki Single File Privacy and Security\ntags: [[TiddlyWiki Privacy and Security]]\n\n!!! Single File Configuration\n\nAs a practical matter, using ~TiddlyWiki in the single file configuration depends upon keeping that file secure and private.  You can employ the same tools that you use to keep your other documents and images secure. In most cases, the simplest solution will be to use an existing file storage service such as [[Google Drive|https://drive.google.com]], [[Apple's iCloud|https://www.icloud.com]], or [[Dropbox|https://www.dropbox.com]]. Many people already rely on the privacy and security of these services.  There are also open source alternatives such as [[Syncthing|https://syncthing.net/]] that can allow you to synchronise files between your devices without using a third party service.\n\nYou may also wish to use additional layers of security. ~TiddlyWiki in the single file configuration offers built-in encryption using an industry standard encryption library to provide AES 128-bit encryption in CCM mode. All the data within the file is encrypted and cannot be accessed without entering the correct password. Your password is never stored in the file: if it is lost or forgotten, your data cannot be decrypted. Instructions can be found in [[Encryption]].\n\nIt is important to understand that ~TiddlyWiki's built in encryption is our best endeavour to offer privacy and usability. However, the encryption feature has not been subject to the kind of rigorous third party testing that characterises secure services like Signal or Syncthing.  Cautious users may wish to use ~TiddlyWiki's built in encryption as an extra layer of security, but should take care not to rely on it as one would rely on industry standard encryption solutions that have been rigorously tested in a variety of situations."
  },
  {
    "path": "editions/tw5.com/tiddlers/workingwithtw/Using links to navigate between tiddlers.tid",
    "content": "created: 20140908093600000\nmodified: 20201129183020567\ntags: [[Working with TiddlyWiki]]\ntitle: Using links to navigate between tiddlers\ntype: text/vnd.tiddlywiki\n\nYou can use links (normally displayed as blue text) to navigate from one tiddler to another. Clicking on a link to any tiddler will take you to that tiddler. If the tiddler is closed, it will be opened. The wonderful thing about ~TiddlyWiki is that it makes links to tiddlers as accessible as possible. There are links everywhere! Here are the key places where you can find links to tiddlers in ~TiddlyWiki:\n\n* You can ''create a link'' to a tiddler, whether it exists yet or not, in the body of any tiddler. See [[Linking in WikiText]] to see the various easy ways to create links between tiddlers.\n\n* Each ''tag pill'' in your tiddler (such as the ''Working with ~TiddlyWiki'' tag pill below the title of this tiddler) contains a link to that tag's tiddler, as well as lists of all the tiddlers that carry that tag. This lets you go to any of those tiddlers.\n\n* The ''InfoPanel'' of each tiddler gives you access to four tabs containing additional lists of related tiddlers:\n\n** The ''Backlinks'' tab lists all the tiddlers that link //to// the current tiddler.\n\n** The ''Tagging'' tab lists all the tiddlers that have been tagged with the current tiddler's title.\n\n** The ''List'' tab lists all the tiddlers (or potential tiddlers) mentioned in the [[list field|ListField]] of the current tiddler.\n\n** The ''Listed'' tab lists all the tiddlers that mention the current tiddler in //their// list fields.\n\n* The ''sidebar tabs'' contain numerous lists of links to tiddlers:\n\n** The ''Open'' tab lists all the tiddlers that are currently open, i.e. visible somewhere on the page.\n\n** The ''Recent'' tab lists the 100 most recently modified tiddlers, beginning with the most recently modified.\n\n** The ''More'' tab offers eight additional lists of tiddlers:\n\n*** ''All'' lists all tiddlers in alphabetical order.\n\n*** ''Tags'' lists all the tags. You can click on the pill for any tag to access a list of the tiddlers tagged with that tag.\n\n*** ''Missing'' lists any tiddlers that don't yet exist, but have been linked to from other tiddlers. This is helpful for finding tiddlers you planned to create, but never got around to.\n\n*** ''Drafts'' lists any tiddlers that are currently in draft mode. ~TiddlyWiki considers a tiddler's draft to be a separate tiddler for as long as you are editing it, so while you're editing a tiddler entitled ''Australia'', there will be two tiddlers, ''Australia'' and ''Draft of 'Australia&apos;''. When you close the draft by saving your changes to it, those changes will be applied to the ''Australia'' tiddler. So treat the ''Drafts'' tab as a way of finding any unfinished drafts you started.\n\n*** ''Orphans'' lists all the tiddlers that are not directly linked from another tiddler. This is a helpful aid to editing your file - it shows you which tiddlers need to be integrated more carefully with the others.\n\n*** ''Types'' lists any tiddlers with special content, such as images or audio.\n\n*** ''System'' lists all of the SystemTiddlers.\n\n*** ''Shadows'' lists all of the ShadowTiddlers.\n\n* ''Search results'' are a list of the tiddlers that contain the text you type in the search box.\n\n* Finally, you can create your own custom lists of tiddlers by various methods:\n\n** You can transclude a [[filter|Filters]] (see [[Transclusion in WikiText]]). For example, adding `{{{ [tag[mountain]] }}}` to a tiddler will insert a list of all tiddlers tagged with ''mountain''.\n\n** You can use the ListWidget. This is more complicated than transcluding a [[filter|Filters]], but in return it allows you more flexibility in designing and displaying the list exactly as you want it to appear.\n"
  },
  {
    "path": "editions/tw5.com/tiddlers/workingwithtw/Working with TiddlyWiki.tid",
    "content": "created: 20140904101100000\nlist: [[The First Rule of Using TiddlyWiki]] GettingStarted [[Getting Started Video]] Upgrading [[Navigating between open tiddlers]] [[Using links to navigate between tiddlers]] [[Searching in TiddlyWiki]] [[Creating and editing tiddlers]] [[Creating journal tiddlers]] Saving [[Formatting text in TiddlyWiki]] [[Structuring TiddlyWiki]] Tagging [[Images in WikiText]] KeyboardShortcuts Encryption\nmodified: 20140919191122898\ntags: TableOfContents\ntitle: Working with TiddlyWiki\ntype: text/vnd.tiddlywiki\n\nInformation to help you get started using TiddlyWiki:\n\n<<list-links \"[tag[Working with TiddlyWiki]]\">>\n\n"
  },
  {
    "path": "editions/tw5.com/tiddlywiki.info",
    "content": "{\n\t\"description\": \"Documentation from https://tiddlywiki.com\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/browser-sniff\",\n\t\t\"tiddlywiki/confetti\",\n\t\t\"tiddlywiki/dynannotate\",\n\t\t\"tiddlywiki/internals\",\n\t\t\"tiddlywiki/menubar\",\n\t\t\"tiddlywiki/railroad\",\n\t\t\"tiddlywiki/tour\",\n\t\t\"tiddlywiki/dom-to-image\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\",\n\t\t\"tiddlywiki/starlight\",\n\t\t\"tiddlywiki/seamless\",\n\t\t\"tiddlywiki/centralised\",\n\t\t\"tiddlywiki/tight\",\n\t\t\"tiddlywiki/heavier\",\n\t\t\"tiddlywiki/tight-heavier\",\n\t\t\"tiddlywiki/readonly\"\n\t],\n\t\"languages\": [\n\t],\n\t\"build\": {\n\t\t\"index\": [\n\t\t\t\"--savetiddlers\",\"[tag[external-image]]\",\"images\",\n\t\t\t\"--render\",\"[tag[external-text]]\",\"[encodeuricomponent[]addprefix[text/]addsuffix[.tid]]\",\"text/plain\",\"$:/core/templates/tid-tiddler\",\n\t\t\t\"--setfield\",\"[tag[external-image]]\",\"_canonical_uri\",\"$:/core/templates/canonical-uri-external-image\",\"text/plain\",\n\t\t\t\"--setfield\",\"[tag[external-text]]\",\"_canonical_uri\",\"$:/core/templates/canonical-uri-external-text\",\"text/plain\",\n\t\t\t\"--setfield\",\"[tag[external-image]] [tag[external-text]]\",\"text\",\"\",\"text/plain\",\n\t\t\t\"--render\",\"$:/core/save/all\",\"index.html\",\"text/plain\"],\n\t\t\"empty\": [\n\t\t\t\"--render\",\"$:/editions/tw5.com/download-empty\",\"empty.html\",\"text/plain\"],\n\t\t\"encrypted\": [\n\t\t\t\"--password\", \"password\",\n\t\t\t\"--render\", \"$:/core/save/all\", \"encrypted.html\", \"text/plain\",\n\t\t\t\"--clearpassword\"],\n\t\t\"favicon\": [\n\t\t\t\"--savetiddler\",\"$:/favicon.ico\",\"favicon.ico\",\n\t\t\t\"--savetiddler\",\"$:/green_favicon.ico\",\"static/favicon.ico\"],\n\t\t\"readmes\": [\n\t\t\t\"--render\",\"ReadMe\",\"readme.md\",\"text/html\",\n\t\t\t\"--render\",\"ReadMeBinFolder\",\"bin/readme.md\",\"text/html\",\n\t\t\t\"--render\",\"ContributingTemplate\",\"contributing.md\",\"text/html\",\n\t\t\t\"--render\",\"$:/core/copyright.txt\",\"license\",\"text/plain\"],\n\t\t\"tw2\": [\n\t\t\t\"--render\",\"TiddlyWiki2ReadMe\",\"tw2/readme.md\",\"text/html\"],\n\t\t\"static\": [\n\t\t\t\"--render\",\"$:/core/templates/static.template.html\",\"static.html\",\"text/plain\",\n\t\t\t\"--render\",\"$:/core/templates/alltiddlers.template.html\",\"alltiddlers.html\",\"text/plain\",\n\t\t\t\"--render\",\"[!is[system]]\",\"[encodeuricomponent[]addprefix[static/]addsuffix[.html]]\",\"text/plain\",\"$:/core/templates/static.tiddler.html\",\n\t\t\t\"--render\",\"$:/core/templates/static.template.css\",\"static/static.css\",\"text/plain\"],\n\t\t\"external-js\": [\n\t\t\t\"--render\",\"$:/core/save/offline-external-js\",\"[[external-]addsuffix<version>addsuffix[.html]]\",\"text/plain\",\n\t\t\t\"--render\",\"$:/core/templates/tiddlywiki5.js\",\"[[tiddlywikicore-]addsuffix<version>addsuffix[.js]]\",\"text/plain\"],\n\t\t\"archive\":[\n\t\t\t\"--render\",\"$:/core/save/all\",\"[[archive/full/TiddlyWiki-]addsuffix<version>addsuffix[.html]]\",\"text/plain\",\n\t\t\t\"--render\",\"$:/editions/tw5.com/download-empty\",\"[[archive/empty/Empty-TiddlyWiki-]addsuffix<version>addsuffix[.html]]\",\"text/plain\",\n\t\t\t\"--render\",\"[[TiddlyWiki Archive]]\",\"archive/index.html\",\"text/plain\",\"$:/core/templates/static.tiddler.html\",\n\t\t\t\"--render\",\"$:/core/templates/static.template.css\",\"archive/static.css\",\"text/plain\"]\n\t},\n\t\"config\": {\n\t\t\"retain-original-tiddler-path\": true\n\t}\n}\n"
  },
  {
    "path": "editions/tw5.com-docs/tiddlers/$__coreURL.tid",
    "content": "title: $:/coreURL\ntags: $:/tags/Global\n\n\\function coreURL() [[../../tiddlywikicore-$(version)$.js]substitute[]]\n"
  },
  {
    "path": "editions/tw5.com-docs/tiddlers/DefaultTiddlers.tid",
    "content": "title: $:/DefaultTiddlers\n\n[[Welcome to tw5.com-docs]]\n"
  },
  {
    "path": "editions/tw5.com-docs/tiddlers/Welcome to tw5.com-docs.tid",
    "content": "title: Welcome to tw5.com-docs\n\nThis edition of TiddlyWiki is a tool to help people make and submit improvements to the main documentation on https://tiddlywiki.com/\n\nIn this wiki, all the tiddlers from https://tiddlywiki.com (to be precise, all the tiddlers [[from here|https://github.com/TiddlyWiki/TiddlyWiki5/tree/master/editions/tw5.com/tiddlers]]) are packed into a plugin:\n\n[[$:/plugins/tiddlywiki/tw5.com-docs]]\n\nThis means that the original documentation tiddlers become //shadow tiddlers//: if you edit them, you can just delete your modified copy to revert to the shadow value.\n\nNote that currently some functionality doesn't work properly because of macros and filters written expecting all the content tiddlers to be non-shadow tiddlers. For example, see [[Community]].\n\n''Default tiddlers from tiddlywiki.com'':\n\n<$macrocall $name=\"list-links\" filter={{$:/tw5.com/DefaultTiddlers}}/>\n\n<$list filter=\"[[$:/plugins/tiddlywiki/tw5.com-docs]plugintiddlers[]is[tiddler]] -[[$:/DefaultTiddlers]] +[limit[1]]\" emptyMessage=\"\"\"\n\nAdditional information will appear here if you modify any of the documentation tiddlers.\n\n\"\"\">\n\n''Tiddlers that you have modified'':\n\n<<list-links \"[[$:/plugins/tiddlywiki/tw5.com-docs]plugintiddlers[]is[tiddler]] -[[$:/DefaultTiddlers]]\">>\n\n</$list>\n"
  },
  {
    "path": "editions/tw5.com-docs/tiddlers/external/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": [\n\t\t{\n\t\t\t\"file\": \"../../../tw5.com/tiddlers/system/DefaultTiddlers.tid\",\n\t\t\t\"fields\": {\n\t\t\t\t\"title\": \"$:/tw5.com/DefaultTiddlers\"\n\t\t\t},\n\t\t\t\"isTiddlerFile\": true\n\t\t}\n\t]\n}"
  },
  {
    "path": "editions/tw5.com-docs/tiddlywiki.info",
    "content": "{\n\t\"description\": \"Documentation from tw5.com edition\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/tw5.com-docs\",\n\t\t\"tiddlywiki/internals\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\"\n\t],\n\t\"build\": {\n\t\t\"index\": [\n\t\t\t\"--render\",\"$:/core/save/all\",\"index.html\",\"text/plain\"],\n\t\t\"external\": [\n\t\t\t\"--render\",\"$:/core/save/all-external-js\",\"index.html\",\"text/plain\"\n\t\t]\n\t}\n}\n"
  },
  {
    "path": "editions/tw5.com-server/tiddlers/config-Navigation-UpdateAddressBar.tid",
    "content": "created: 20140910212049455\ntitle: $:/config/Navigation/UpdateAddressBar\ntype: text/vnd.tiddlywiki\nnote: <!-- TODO: Remove before end of beta -->\n\npermaview"
  },
  {
    "path": "editions/tw5.com-server/tiddlers/config-more-button.tid",
    "content": "created: 20140912140419093\nmodified: 20140912140418015\ntitle: $:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/more-page-actions\ntype: text/vnd.tiddlywiki\nnote: <!-- TODO: Remove before end of beta -->\n\nshow"
  },
  {
    "path": "editions/tw5.com-server/tiddlers/system/tiddlywiki.com.server.png.meta",
    "content": "title: $:/favicon.ico\ntype: image/png\n"
  },
  {
    "path": "editions/tw5.com-server/tiddlywiki.info",
    "content": "{\n\t\"description\": \"Server configuration of the tw5.com edition\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/tiddlyweb\",\n\t\t\"tiddlywiki/filesystem\",\n\t\t\"tiddlywiki/highlight\",\n\t\t\"tiddlywiki/internals\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\"\n\t],\n\t\"includeWikis\": [\n\t\t\"../tw5.com\"\n\t],\n\t\"config\": {\n\t\t\"default-tiddler-location\": \"../tw5.com/tiddlers\"\n\t}\n}\n"
  },
  {
    "path": "editions/tw5tank/tiddlers/TiddlerListTemplate.tid",
    "content": "title: TiddlerListTemplate\n\n<$view field=\"title\" format=\"link\"/> <small><$view field=\"type\"/></small>\n"
  },
  {
    "path": "editions/tw5tank/tiddlers/TiddlyWiki5 for Tank.tid",
    "content": "title: TiddlyWiki for Tank\ncreated: 201311152153\nmodified: 201311152153\n\n! Features\n\n* Loads skinny tiddlers from entire recipe at startup/login\n* Subsequently syncs changes back to the server\n* Polls for changes from the server\n\n! Issues\n\n* ''[[$:/DefaultTiddlers]]'' doesn't work because thanks to lazy loading it is only loaded after it is needed\n* Ignores ''if-match'' header, so doesn't detect clashes on save\n* UI state (eg current tab status) is shared between all users of the wiki, meaning that the UI can spontaneously change in response to a server sync\n"
  },
  {
    "path": "editions/tw5tank/tiddlers/system/DefaultTiddlers.tid",
    "content": "title: $:/DefaultTiddlers\n\n[[TiddlyWiki for Tank]]\n"
  },
  {
    "path": "editions/tw5tank/tiddlers/system/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\nfor Tank"
  },
  {
    "path": "editions/tw5tank/tiddlers/system/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\nTiddlyWiki in the Sky"
  },
  {
    "path": "editions/tw5tank/tiddlers/system/tiddlyweb-host.tid",
    "content": "title: $:/config/tiddlyweb/host\n\n/"
  },
  {
    "path": "editions/tw5tank/tiddlywiki.info",
    "content": "{\n\t\"description\": \"Demo of Tank integration\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/tiddlyweb\",\n\t\t\"tiddlywiki/internals\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\"\n\t],\n\t\"build\": {\n\t\t\"index\": [\n\t\t\t\"--rendertiddler\",\"$:/core/save/all\",\"tw5tank.html\",\"text/plain\"]\n\t}\n}\n"
  },
  {
    "path": "editions/tw5tiddlyweb/tiddlers/TiddlerListTemplate.tid",
    "content": "title: TiddlerListTemplate\n\n<$view field=\"title\" format=\"link\"/> <small><$view field=\"type\"/></small>\n"
  },
  {
    "path": "editions/tw5tiddlyweb/tiddlers/TiddlyWiki5 for TiddlyWeb.tid",
    "content": "title: TiddlyWiki5 for TiddlyWeb\ncreated: 201311152153\nmodified: 201311152153\n\n! Features\n\n* Loads skinny tiddlers from entire recipe at startup/login\n* Subsequently syncs changes back to the server\n* Polls for changes from the server\n\n! Getting Started\n\nTo try it out, create a new space, include the space ''tw5tiddlyweb'', and then visit ''{myspace}.tiddlyspace.com/tw5''.\n\nIf you want to make TiddlyWiki5 the default view for your space, then create a tiddler called ''ServerSettings'' and give it the text:\n\n```\nindex: tw5\n```\n\n! Issues\n\n* ''[[$:/DefaultTiddlers]]'' doesn't work because thanks to lazy loading it is only loaded after it is needed\n* Ignores ''if-match'' header, so doesn't detect clashes on save\n* UI state (eg current tab status) is shared between all users of the wiki, meaning that the UI can spontaneously change in response to a server sync\n"
  },
  {
    "path": "editions/tw5tiddlyweb/tiddlers/system/DefaultTiddlers.tid",
    "content": "title: $:/DefaultTiddlers\n\n[[TiddlyWiki5 for TiddlyWeb]]\n"
  },
  {
    "path": "editions/tw5tiddlyweb/tiddlers/system/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\nfor TiddlyWeb"
  },
  {
    "path": "editions/tw5tiddlyweb/tiddlers/system/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\nTiddlyWiki in the Sky"
  },
  {
    "path": "editions/tw5tiddlyweb/tiddlywiki.info",
    "content": "{\n\t\"description\": \"Base edition for TiddlySpace integration\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/tiddlyweb\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\"\n\t],\n\t\"build\": {\n\t\t\"index\": [\n\t\t\t\"--rendertiddler\",\"$:/core/save/all\",\"tw5tiddlyweb.html\",\"text/plain\"]\n\t}\n}"
  },
  {
    "path": "editions/twitter-archivist/tiddlers/DefaultTiddlers.tid",
    "content": "title: $:/DefaultTiddlers\n\n[[Twitter Archives]]\nHelloThere\n"
  },
  {
    "path": "editions/twitter-archivist/tiddlers/HelloThere.tid",
    "content": "title: HelloThere\n\n!!! Welcome to the Twitter Archivist for TiddlyWiki\n\n<$tiddler tiddler=\"$:/plugins/tiddlywiki/twitter-archivist\">\n\t<$set name=\"tabsList\" filter=\"[list<currentTiddler>]\">\n\t\t<$macrocall $name=\"tabs\" state=<<qualify \"$:/state/tabs/twitter-archivist\">> tabsList=<<tabsList>> default={{{ [enlist<tabsList>] }}} template=\"$:/core/ui/PluginInfo\"/>\n\t</$set>\n</$tiddler>\n"
  },
  {
    "path": "editions/twitter-archivist/tiddlers/SiteSubtitle.tid",
    "content": "title: $:/SiteTitle\n\nGet Your Tweets Into ~TiddlyWiki"
  },
  {
    "path": "editions/twitter-archivist/tiddlers/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\nTwitter Archivist"
  },
  {
    "path": "editions/twitter-archivist/tiddlywiki.info",
    "content": "{\n\t\"description\": \"Twitter Archivist Edition\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/twitter-archivist\"\n\t],\n\t\"languages\": [\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\"\n\t],\n\t\"build\": {\n\t\t\"index\": [\n\t\t\t\"--render\",\"$:/core/save/all\",\"index.html\",\"text/plain\"]\n\t}\n}"
  },
  {
    "path": "editions/upgrade/tiddlywiki.info",
    "content": "{\n\t\"description\": \"TiddlyWiki upgrader edition\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/upgrade\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\"\n\t],\n\t\"build\": {\n\t\t\"upgrade\": [\n\t\t\t\"--makelibrary\",\n\t\t\t\"--rendertiddler\",\"$:/core/save/all\",\"upgrade.html\",\"text/plain\"]\n\t}\n}"
  },
  {
    "path": "editions/xlsx-utils/tiddlers/$__coreURL.tid",
    "content": "title: $:/coreURL\ntags: $:/tags/Global\n\n\\function coreURL() [[../../tiddlywikicore-$(version)$.js]substitute[]]\n"
  },
  {
    "path": "editions/xlsx-utils/tiddlers/DefaultTiddlers.tid",
    "content": "title: $:/DefaultTiddlers\n\n[[HelloThere]]\n[[$:/plugins/tiddlywiki/xlsx-utils]]\n[[Presidents Demo]]"
  },
  {
    "path": "editions/xlsx-utils/tiddlers/HelloThere.tid",
    "content": "title: HelloThere\n\nThis is a demo of the ''xlsx-utils'' plugin for TiddlyWiki.\n\n{{$:/plugins/tiddlywiki/xlsx-utils/readme}}\n\n!! Demos\n\n* [[Presidents Demo]]"
  },
  {
    "path": "editions/xlsx-utils/tiddlers/Macros.tid",
    "content": "title: $:/_Macros\ntags: $:/tags/Macro\n\n\\define download-xlsx-tiddler(title,caption)\n<a href={{{ [[data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,]addsuffix{$title$}] }}} download=\"$title$\">$caption$</a>\n\\end\n"
  },
  {
    "path": "editions/xlsx-utils/tiddlers/Presidents Demo.tid",
    "content": "title: Presidents Demo\n\n\\define tv-config-toolbar-icons() yes\n\\define tv-config-toolbar-text() yes\n\n# Visit the ''XLSX Utilities'' tab of control panel and ensure the current import specification is set to ''Presidents and Justices demo''\n# Download the demo spreadsheet: <<download-xlsx-tiddler \"Presidents and Justices.xlsx\" \"Presidents and Justices.xlsx\">>\n# Explore the contents of the file to understand the data and how it is structured\n# Import the spreadsheet back into TiddlyWiki\n#* Use the {{$:/core/ui/Buttons/import}} button here or in the ''Tools'' sidebar tab --or--\n#* Drag and drop the file into the browser\n# Click the ''import'' button on the $:/Import tiddler\n# Explore the imported data using the table of contents below \n# Explore the ''Presidents and Justices demo'' import specification to see how the spreadsheet data was converted into tiddlers\n\n! Output\n\n<$list filter=\"[role[president]limit[1]]\" emptyMessage=\"\"\"\n//Follow the instructions above and the results will appear here//\n\"\"\">\n</$list>\n\n<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'States'>>\n\n</div>\n"
  },
  {
    "path": "editions/xlsx-utils/tiddlers/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\na demo of the XLSX utilities plugin for TiddlyWiki\n"
  },
  {
    "path": "editions/xlsx-utils/tiddlers/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\nxlsx-utils\n"
  },
  {
    "path": "editions/xlsx-utils/tiddlers/default-import-spec.tid",
    "content": "created: 20161021164330811\nmodified: 20161021164331841\ntitle: $:/config/plugins/tiddlywiki/xlsx-utils/default-import-spec\ntype: text/vnd.tiddlywiki\n\n$:/_importspec/Presidents and Justices/"
  },
  {
    "path": "editions/xlsx-utils/tiddlers/default-plugin-info-tab.tid",
    "content": "title: $:/state/plugin-info--1909267488-$:/plugins/tiddlywiki/xlsx-utils---1477676357\ntext: controls\n"
  },
  {
    "path": "editions/xlsx-utils/tiddlers/import-specs/Presidents and Justices/field-Justices-Main-modified.tid",
    "content": "created: 20161021165241843\nimport-field-column: Description\nimport-field-name: text\nimport-field-source: column\nimport-field-type: string\nimport-spec-role: field\nmodified: 20161023172126055\ntitle: $:/_importspec/Presidents and Justices/Justices/Main/modified\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/xlsx-utils/tiddlers/import-specs/Presidents and Justices/field-Justices-Main-role.tid",
    "content": "created: 20161021165214228\nimport-field-name: role\nimport-field-source: constant\nimport-field-value: justice\nimport-spec-role: field\nmodified: 20161023172127108\ntitle: $:/_importspec/Presidents and Justices/Justices/Main/role\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/xlsx-utils/tiddlers/import-specs/Presidents and Justices/field-Justices-Main-tags.tid",
    "content": "created: 20161009181413650\nimport-field-column: President\nimport-field-list-op: append\nimport-field-name: tags\nimport-field-source: column\nimport-field-type: string\nimport-spec-role: field\nmodified: 20161023172128142\ntitle: $:/_importspec/Presidents and Justices/Justices/Main/tags\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/xlsx-utils/tiddlers/import-specs/Presidents and Justices/field-Justices-Main-title.tid",
    "content": "created: 20161021165211404\nimport-field-column: Justice\nimport-field-name: title\nimport-field-source: column\nimport-spec-role: field\nmodified: 20161023172125012\ntitle: $:/_importspec/Presidents and Justices/Justices/Main/title\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/xlsx-utils/tiddlers/import-specs/Presidents and Justices/field-Justices-Main-trivia.tid",
    "content": "created: 20161021165829079\nimport-field-column: Trivial Facts\nimport-field-name: trivia\nimport-field-source: column\nimport-field-type: string\nimport-spec-role: field\nmodified: 20161023172129150\ntitle: $:/_importspec/Presidents and Justices/Justices/Main/trivia\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/xlsx-utils/tiddlers/import-specs/Presidents and Justices/field-Presidents-Main-parent.tid",
    "content": "created: 20161021164844363\nimport-field-column: State\nimport-field-list-op: append\nimport-field-name: tags\nimport-field-source: column\nimport-spec-role: field\nmodified: 20161023172106663\ntitle: $:/_importspec/Presidents and Justices/Presidents/Main/parent\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/xlsx-utils/tiddlers/import-specs/Presidents and Justices/field-Presidents-Main-role.tid",
    "content": "created: 20161021164839163\nimport-field-name: role\nimport-field-source: constant\nimport-field-value: president\nimport-spec-role: field\nmodified: 20161023172105656\ntitle: $:/_importspec/Presidents and Justices/Presidents/Main/role\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/xlsx-utils/tiddlers/import-specs/Presidents and Justices/field-Presidents-Main-text.tid",
    "content": "created: 20161023172104652\nimport-field-column: Description\nimport-field-name: text\nimport-field-source: column\nimport-spec-role: field\nmodified: 20161023172104652\ntitle: $:/_importspec/Presidents and Justices/Presidents/Main/text\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/xlsx-utils/tiddlers/import-specs/Presidents and Justices/field-Presidents-Main-title.tid",
    "content": "created: 20161021164831260\nimport-field-column: President\nimport-field-name: title\nimport-field-source: column\nimport-spec-role: field\nmodified: 20161023172103626\ntitle: $:/_importspec/Presidents and Justices/Presidents/Main/title\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/xlsx-utils/tiddlers/import-specs/Presidents and Justices/field-States-Main-role.tid",
    "content": "created: 20161021164652535\nimport-field-name: role\nimport-field-source: constant\nimport-field-value: state\nimport-spec-role: field\nmodified: 20161023172038126\ntitle: $:/_importspec/Presidents and Justices/States/Main/role\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/xlsx-utils/tiddlers/import-specs/Presidents and Justices/field-States-Main-tags.tid",
    "content": "created: 20161021171230908\nimport-field-column: Column Name\nimport-field-list-op: append\nimport-field-name: tags\nimport-field-source: constant\nimport-field-type: string\nimport-field-value: States\nimport-spec-role: field\nmodified: 20161023172043708\ntitle: $:/_importspec/Presidents and Justices/States/Main/tags\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/xlsx-utils/tiddlers/import-specs/Presidents and Justices/field-States-Main-text.tid",
    "content": "created: 20161023172033792\nimport-field-column: Description\nimport-field-name: text\nimport-field-source: column\nimport-spec-role: field\nmodified: 20161023172033792\ntitle: $:/_importspec/Presidents and Justices/States/Main/text\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/xlsx-utils/tiddlers/import-specs/Presidents and Justices/field-States-Main-title.tid",
    "content": "created: 20161021164642751\nimport-field-column: State\nimport-field-name: title\nimport-field-source: column\nimport-spec-role: field\nmodified: 20161023172029372\ntitle: $:/_importspec/Presidents and Justices/States/Main/title\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/xlsx-utils/tiddlers/import-specs/Presidents and Justices/row-Justices.tid",
    "content": "created: 20161009181413651\nimport-spec-role: row\nlist: [[$:/_importspec/Presidents and Justices/Justices/Main/title]] [[$:/_importspec/Presidents and Justices/Justices/Main/modified]] [[$:/_importspec/Presidents and Justices/Justices/Main/role]] [[$:/_importspec/Presidents and Justices/Justices/Main/tags]] [[$:/_importspec/Presidents and Justices/Justices/Main/trivia]]\nmodified: 20161023172129146\ntags: \ntitle: $:/_importspec/Presidents and Justices/Justices/Main\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/xlsx-utils/tiddlers/import-specs/Presidents and Justices/row-Presidents.tid",
    "content": "created: 20161021164852566\nimport-spec-role: row\nlist: [[$:/_importspec/Presidents and Justices/Presidents/Main/title]] [[$:/_importspec/Presidents and Justices/Presidents/Main/text]] [[$:/_importspec/Presidents and Justices/Presidents/Main/role]] [[$:/_importspec/Presidents and Justices/Presidents/Main/parent]]\nmodified: 20161023172106661\ntags: \ntitle: $:/_importspec/Presidents and Justices/Presidents/Main\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/xlsx-utils/tiddlers/import-specs/Presidents and Justices/row-States.tid",
    "content": "created: 20161021164655367\nimport-spec-role: row\nlist: [[$:/_importspec/Presidents and Justices/States/Main/title]] [[$:/_importspec/Presidents and Justices/States/Main/text]] [[$:/_importspec/Presidents and Justices/States/Main/role]] [[$:/_importspec/Presidents and Justices/States/Main/tags]]\nmodified: 20161023172043705\ntags: \ntitle: $:/_importspec/Presidents and Justices/States/Main\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/xlsx-utils/tiddlers/import-specs/Presidents and Justices/sheet-Justices.tid",
    "content": "created: 20161021164943746\nimport-sheet-name: Justices\nimport-spec-role: sheet\nlist: [[$:/_importspec/Presidents and Justices/Justices/Main]]\nmodified: 20161021165827475\ntags: \ntitle: $:/_importspec/Presidents and Justices/Justices\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/xlsx-utils/tiddlers/import-specs/Presidents and Justices/sheet-Presidents.tid",
    "content": "created: 20161021164721439\nimport-sheet-name: Presidents\nimport-spec-role: sheet\nlist: [[$:/_importspec/Presidents and Justices/Presidents/Main]]\nmodified: 20161021164903102\ntags: \ntitle: $:/_importspec/Presidents and Justices/Presidents\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/xlsx-utils/tiddlers/import-specs/Presidents and Justices/sheet-States.tid",
    "content": "created: 20161021164354030\nimport-sheet-name: States\nimport-spec-role: sheet\nlist: [[$:/_importspec/Presidents and Justices/States/Main]]\nmodified: 20161021164745886\ntags: \ntitle: $:/_importspec/Presidents and Justices/States\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/xlsx-utils/tiddlers/import-specs/Presidents and Justices/workbook.tid",
    "content": "caption: Presidents and Justices demo\ncreated: 20161021163735946\nimport-spec-role: workbook\nlist: [[$:/_importspec/Presidents and Justices/States]] [[$:/_importspec/Presidents and Justices/Presidents]] [[$:/_importspec/Presidents and Justices/Justices]]\nmodified: 20161021164938592\ntags: \ntitle: $:/_importspec/Presidents and Justices/\ntype: text/vnd.tiddlywiki\n\n"
  },
  {
    "path": "editions/xlsx-utils/tiddlers/samples/Presidents and Justices.xlsx.meta",
    "content": "title: Presidents and Justices.xlsx\ntype: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\n"
  },
  {
    "path": "editions/xlsx-utils/tiddlywiki.info",
    "content": "{\n\t\"description\": \"Demo of the XLSX utilities plugin\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/jszip\",\n\t\t\"tiddlywiki/xlsx-utils\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\"\n\t],\n\t\"includeWikis\": [\n\t],\n\t\"build\": {\n\t\t\"index\": [\n\t\t\t\"--rendertiddler\",\"$:/core/save/all\",\"index.html\",\"text/plain\"],\n\t\t\"external\": [\n\t\t\t\"--render\",\"$:/core/save/all-external-js\",\"index.html\",\"text/plain\"\n\t\t]\n\t}\n}\n"
  },
  {
    "path": "editions/xlsx-utils-server/tiddlywiki.info",
    "content": "{\n\t\"description\": \"Server configuration of the xlsx-utils edition\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/tiddlyweb\",\n\t\t\"tiddlywiki/filesystem\",\n\t\t\"tiddlywiki/jszip\",\n\t\t\"tiddlywiki/xlsx-utils\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\"\n\t],\n\t\"includeWikis\": [\n\t\t\"../xlsx-utils\"\n\t],\n\t\"config\": {\n\t\t\"default-tiddler-location\": \"../xlsx-utils/tiddlers\"\n\t}\n}\n"
  },
  {
    "path": "editions/zh-Hans/tiddlers/images/favicon.png.meta",
    "content": "title: $:/favicon.ico\ntype: image/png\n"
  },
  {
    "path": "editions/zh-Hans/tiddlers/images/green_favicon.png.meta",
    "content": "title: $:/green_favicon.ico\ntype: image/png\n"
  },
  {
    "path": "editions/zh-Hans/tiddlers/system/download-empty-button-zh-Hans.tid",
    "content": "title: $:/editions/zh-Hans/snippets/download-empty-button\n\n<$button class=\"tc-btn-big-green\">\n<$action-sendmessage $message=\"tm-download-file\" $param=\"$:/editions/zh-Hant/download-empty\" filename=\"empty.zh-Hans.html\"/>\n简体中文版 {{$:/core/images/save-button}}\n</$button>"
  },
  {
    "path": "editions/zh-Hans/tiddlers/system/download-empty-zh-Hans.tid",
    "content": "title: $:/editions/zh-Hans/download-empty\n\n\\define saveTiddlerFilter()\n[[$:/core]] [[$:/isEncrypted]] [[$:/language]] [[$:/languages/zh-Hans]] [[$:/themes/tiddlywiki/snowwhite]] [[$:/themes/tiddlywiki/vanilla]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] -[has[plugin-type]field:platform[server]] +[sort[title]]\n\\end\n\\define savingEmpty()\nyes\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
  },
  {
    "path": "editions/zh-Hans/tiddlers/system/language.tid",
    "content": "title: $:/language\n\n$:/languages/zh-Hans"
  },
  {
    "path": "editions/zh-Hans/tiddlywiki.info",
    "content": "{\n\t\"description\": \"Chinese (Simplified) edition\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/internals\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\",\n\t\t\"tiddlywiki/starlight\",\n\t\t\"tiddlywiki/seamless\",\n\t\t\"tiddlywiki/centralised\",\n\t\t\"tiddlywiki/tight\",\n\t\t\"tiddlywiki/readonly\"\n\t],\n\t\"languages\": [\n\t\t\"zh-Hans\"\n\t],\n\t\"includeWikis\": [\n\t\t{\"path\": \"../tw5.com\", \"read-only\": true}\n\t],\n\t\"build\": {\n\t\t\"index\": [\n\t\t\t\"--savetiddlers\",\"[tag[external-image]]\",\"images\",\n\t\t\t\"--rendertiddlers\",\"[tag[external-text]]\",\"$:/core/templates/tid-tiddler\",\"text\",\"text/plain\",\".tid\",\n\t\t\t\"--setfield\",\"[tag[external-image]]\",\"_canonical_uri\",\"$:/core/templates/canonical-uri-external-image\",\"text/plain\",\n\t\t\t\"--setfield\",\"[tag[external-text]]\",\"_canonical_uri\",\"$:/core/templates/canonical-uri-external-text\",\"text/plain\",\n\t\t\t\"--setfield\",\"[tag[external-image]] [tag[external-text]]\",\"text\",\"\",\"text/plain\",\n\t\t\t\"--rendertiddler\",\"$:/core/save/all\",\"index.html\",\"text/plain\"],\n\t\t\"empty\": [\n\t\t\t\"--rendertiddler\",\"$:/editions/zh-Hans/download-empty\",\"empty.html\",\"text/plain\"],\n\t\t\"favicon\": [\n\t\t\t\"--savetiddler\",\"$:/favicon.ico\",\"favicon.ico\",\n\t\t\t\"--savetiddler\",\"$:/green_favicon.ico\",\"static/favicon.ico\"],\n\t\t\"static\": [\n\t\t\t\"--rendertiddler\",\"$:/core/templates/static.template.html\",\"static.html\",\"text/plain\",\n\t\t\t\"--rendertiddler\",\"$:/core/templates/alltiddlers.template.html\",\"alltiddlers.html\",\"text/plain\",\n\t\t\t\"--rendertiddlers\",\"[!is[system]]\",\"$:/core/templates/static.tiddler.html\",\"static\",\"text/plain\",\n\t\t\t\"--rendertiddler\",\"$:/core/templates/static.template.css\",\"static/static.css\",\"text/plain\"]\n\t},\n\t\"config\": {\n\t\t\"retain-original-tiddler-path\": true\n\t}\n}\n"
  },
  {
    "path": "editions/zh-Hant/tiddlers/images/favicon.png.meta",
    "content": "title: $:/favicon.ico\ntype: image/png\n"
  },
  {
    "path": "editions/zh-Hant/tiddlers/images/green_favicon.png.meta",
    "content": "title: $:/green_favicon.ico\ntype: image/png\n"
  },
  {
    "path": "editions/zh-Hant/tiddlers/system/download-empty-button-zh-Hant.tid",
    "content": "title: $:/editions/zh-Hant/snippets/download-empty-button\n\n<$button class=\"tc-btn-big-green\">\n<$action-sendmessage $message=\"tm-download-file\" $param=\"$:/editions/zh-Hant/download-empty\" filename=\"empty.zh-Hant.html\"/>\n繁體中文版 {{$:/core/images/save-button}}\n</$button>"
  },
  {
    "path": "editions/zh-Hant/tiddlers/system/download-empty-zh-Hant.tid",
    "content": "title: $:/editions/zh-Hant/download-empty\n\n\\define saveTiddlerFilter()\n[[$:/core]] [[$:/isEncrypted]] [[$:/language]] [[$:/languages/zh-Hant]] [[$:/themes/tiddlywiki/snowwhite]] [[$:/themes/tiddlywiki/vanilla]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] -[has[plugin-type]field:platform[server]] +[sort[title]]\n\\end\n\\define savingEmpty()\nyes\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
  },
  {
    "path": "editions/zh-Hant/tiddlers/system/language.tid",
    "content": "title: $:/language\n\n$:/languages/zh-Hant"
  },
  {
    "path": "editions/zh-Hant/tiddlywiki.info",
    "content": "{\n\t\"description\": \"Chinese (Traditional) edition\",\n\t\"plugins\": [\n\t\t\"tiddlywiki/internals\"\n\t],\n\t\"themes\": [\n\t\t\"tiddlywiki/vanilla\",\n\t\t\"tiddlywiki/snowwhite\",\n\t\t\"tiddlywiki/starlight\",\n\t\t\"tiddlywiki/seamless\",\n\t\t\"tiddlywiki/centralised\",\n\t\t\"tiddlywiki/tight\",\n\t\t\"tiddlywiki/readonly\"\n\t],\n\t\"languages\": [\n\t\t\"zh-Hant\"\n\t],\n\t\"includeWikis\": [\n\t\t{\"path\": \"../tw5.com\", \"read-only\": true}\n\t],\n\t\"build\": {\n\t\t\"index\": [\n\t\t\t\"--savetiddlers\",\"[tag[external-image]]\",\"images\",\n\t\t\t\"--rendertiddlers\",\"[tag[external-text]]\",\"$:/core/templates/tid-tiddler\",\"text\",\"text/plain\",\".tid\",\n\t\t\t\"--setfield\",\"[tag[external-image]]\",\"_canonical_uri\",\"$:/core/templates/canonical-uri-external-image\",\"text/plain\",\n\t\t\t\"--setfield\",\"[tag[external-text]]\",\"_canonical_uri\",\"$:/core/templates/canonical-uri-external-text\",\"text/plain\",\n\t\t\t\"--setfield\",\"[tag[external-image]] [tag[external-text]]\",\"text\",\"\",\"text/plain\",\n\t\t\t\"--rendertiddler\",\"$:/core/save/all\",\"index.html\",\"text/plain\"],\n\t\t\"empty\": [\n\t\t\t\"--rendertiddler\",\"$:/editions/zh-Hant/download-empty\",\"empty.html\",\"text/plain\"],\n\t\t\"favicon\": [\n\t\t\t\"--savetiddler\",\"$:/favicon.ico\",\"favicon.ico\",\n\t\t\t\"--savetiddler\",\"$:/green_favicon.ico\",\"static/favicon.ico\"],\n\t\t\"static\": [\n\t\t\t\"--rendertiddler\",\"$:/core/templates/static.template.html\",\"static.html\",\"text/plain\",\n\t\t\t\"--rendertiddler\",\"$:/core/templates/alltiddlers.template.html\",\"alltiddlers.html\",\"text/plain\",\n\t\t\t\"--rendertiddlers\",\"[!is[system]]\",\"$:/core/templates/static.tiddler.html\",\"static\",\"text/plain\",\n\t\t\t\"--rendertiddler\",\"$:/core/templates/static.template.css\",\"static/static.css\",\"text/plain\"]\n\t},\n\t\"config\": {\n\t\t\"retain-original-tiddler-path\": true\n\t}\n}\n"
  },
  {
    "path": "eslint.config.mjs",
    "content": "//@ts-check\nimport { defineConfig } from \"eslint/config\";\nimport globals from \"globals\";\nimport js from \"@eslint/js\";\nimport eslint from \"eslint\";\nimport stylistic from \"@stylistic/eslint-plugin\";\nimport esx from \"eslint-plugin-es-x\";\n\n/** @type {import(\"eslint\").Linter.Config} */\nconst es2017rules = {\n    //@ts-ignore\n    plugins: esx.configs[\"flat/restrict-to-es2017\"].plugins,\n    //@ts-ignore\n    rules: esx.configs[\"flat/restrict-to-es2017\"].rules,\n    ignores: [\"bin/**/*\", \"core-server/**/*\"],\n};\n/** @type {import(\"eslint\").Linter.Config} */\nconst es2023rules = {\n    //@ts-ignore\n    plugins: esx.configs[\"flat/restrict-to-es2023\"].plugins,\n    //@ts-ignore\n    rules: esx.configs[\"flat/restrict-to-es2023\"].rules,\n    files: [\"bin/**/*\", \"core-server/**/*\"],\n};\n\n\n\nexport default defineConfig([{\n    ignores: [\n        // Ignore \"third party\" code whose style we will not change.\n        \"boot/sjcl.js\",\n        \"core/modules/utils/base64-utf8/base64-utf8.module.js\",\n        \"core/modules/utils/base64-utf8/base64-utf8.module.min.js\",\n        \"core/modules/utils/diff-match-patch/diff_match_patch.js\",\n        \"core/modules/utils/diff-match-patch/diff_match_patch_uncompressed.js\",\n        \"core/modules/utils/dom/csscolorparser.js\",\n        \"plugins/tiddlywiki/*/files/\",\n        \"eslint.config.mjs\",\n        \"playwright.config.js\",\n        \"**/output/**\"\n    ],\n\n},\njs.configs.recommended,\n{\n    languageOptions: {\n        ecmaVersion: \"latest\",\n        sourceType: \"commonjs\",\n    },\n\n    plugins: {\n        \"@stylistic\": stylistic\n    },\n\n    rules: {\n        \"@stylistic/array-bracket-newline\": \"off\",\n        \"@stylistic/array-bracket-spacing\": \"off\",\n        \"array-callback-return\": \"off\",\n        \"@stylistic/array-element-newline\": \"off\",\n        \"arrow-body-style\": \"error\",\n        \"@stylistic/arrow-parens\": [\"error\", \"always\"],\n        \"@stylistic/arrow-spacing\": [\"error\", {\n            after: true,\n            before: true,\n        }],\n        \"block-scoped-var\": \"off\",\n        \"@stylistic/block-spacing\": \"off\",\n        \"@stylistic/brace-style\": \"off\",\n        \"callback-return\": \"off\",\n        camelcase: \"off\",\n        \"capitalized-comments\": \"off\",\n        \"class-methods-use-this\": \"error\",\n        \"@stylistic/comma-dangle\": \"off\",\n        \"@stylistic/comma-spacing\": \"off\",\n        \"@stylistic/comma-style\": \"off\",\n        complexity: \"off\",\n        \"@stylistic/computed-property-spacing\": \"off\",\n        \"consistent-return\": \"off\",\n        \"consistent-this\": \"off\",\n        curly: \"off\",\n        \"default-case\": \"off\",\n        \"default-case-last\": \"error\",\n        \"default-param-last\": \"error\",\n        \"@stylistic/dot-location\": \"off\",\n        \"dot-notation\": \"off\",\n        \"@stylistic/eol-last\": \"off\",\n        eqeqeq: \"off\",\n        \"@stylistic/func-call-spacing\": \"off\",\n        \"func-name-matching\": \"off\",\n        \"func-names\": \"off\",\n        \"func-style\": \"off\",\n        \"@stylistic/function-call-argument-newline\": \"off\",\n        \"@stylistic/function-paren-newline\": \"off\",\n        \"@stylistic/generator-star-spacing\": \"error\",\n        \"global-require\": \"off\",\n        \"grouped-accessor-pairs\": \"error\",\n        \"guard-for-in\": \"off\",\n        \"handle-callback-err\": \"off\",\n        \"id-denylist\": \"error\",\n        \"id-length\": \"off\",\n        \"id-match\": \"error\",\n        \"@stylistic/implicit-arrow-linebreak\": \"error\",\n        \"@stylistic/indent\": [\"error\", \"tab\"],\n        \"init-declarations\": \"off\",\n        \"@stylistic/jsx-quotes\": \"error\",\n        \"@stylistic/key-spacing\": \"off\",\n        \"@stylistic/keyword-spacing\": [\"warn\", {\n            before: true,\n            after: false,\n            overrides: {\n                case: { after: true },\n                do: { after: true },\n                else: { after: true },\n                return: { after: true },\n                throw: { after: true },\n                try: { after: true },\n                const: { after: true }\n            },\n        }],\n        \"@stylistic/line-comment-position\": \"off\",\n        \"@stylistic/linebreak-style\": \"off\",\n        \"@stylistic/lines-around-comment\": \"off\",\n        \"@stylistic/lines-around-directive\": \"off\",\n        \"@stylistic/lines-between-class-members\": \"error\",\n        \"@stylistic/no-trailing-spaces\": \"error\",\n        \"@stylistic/no-multiple-empty-lines\": [\"error\", { \"max\": 1, \"maxEOF\": 0 }],\n        \"@stylistic/space-infix-ops\": \"error\",\n        \"max-classes-per-file\": \"off\",\n        \"max-depth\": \"off\",\n        \"@stylistic/max-len\": \"off\",\n        \"max-lines\": \"off\",\n        \"max-lines-per-function\": \"off\",\n        \"max-nested-callbacks\": \"error\",\n        \"max-params\": \"off\",\n        \"max-statements\": \"off\",\n        \"@stylistic/max-statements-per-line\": \"off\",\n        \"@stylistic/multiline-comment-style\": \"off\",\n        \"@stylistic/multiline-ternary\": \"off\",\n        \"@stylistic/new-parens\": \"off\",\n        \"@stylistic/newline-after-var\": \"off\",\n        \"@stylistic/newline-before-return\": \"off\",\n        \"@stylistic/newline-per-chained-call\": \"off\",\n        \"no-alert\": \"off\",\n        \"no-array-constructor\": \"off\",\n        \"no-await-in-loop\": \"error\",\n        \"no-bitwise\": \"off\",\n        \"no-buffer-constructor\": \"off\",\n        \"no-caller\": \"error\",\n        \"@stylistic/no-confusing-arrow\": \"error\",\n        \"no-console\": \"off\",\n        \"no-constant-condition\": [\"error\", { checkLoops: false }],\n        \"no-constructor-return\": \"error\",\n        \"no-continue\": \"off\",\n        \"no-div-regex\": \"off\",\n        \"no-duplicate-imports\": \"error\",\n        \"no-else-return\": \"off\",\n        \"no-empty-function\": \"off\",\n        \"no-eq-null\": \"off\",\n        \"no-eval\": \"error\",\n        \"no-extend-native\": \"off\",\n        \"no-extra-bind\": \"off\",\n        \"no-extra-label\": \"off\",\n        \"@stylistic/no-extra-parens\": \"off\",\n        \"@stylistic/no-floating-decimal\": \"off\",\n        \"no-implicit-coercion\": [\"error\", {\n            boolean: false,\n            number: false,\n            string: false,\n        }],\n        \"no-implicit-globals\": \"off\",\n        \"no-implied-eval\": \"error\",\n        \"no-inline-comments\": \"off\",\n        \"no-invalid-this\": \"off\",\n        \"no-iterator\": \"error\",\n        \"no-label-var\": \"off\",\n        \"no-labels\": \"off\",\n        \"no-lone-blocks\": \"off\",\n        \"no-lonely-if\": \"off\",\n        \"no-loop-func\": \"off\",\n        \"no-loss-of-precision\": \"error\",\n        \"no-magic-numbers\": \"off\",\n        \"@stylistic/no-mixed-operators\": \"off\",\n        \"no-mixed-requires\": \"off\",\n        \"no-multi-assign\": \"off\",\n        \"@stylistic/no-multi-spaces\": \"off\",\n        \"no-multi-str\": \"error\",\n        \"@stylistic/no-multiple-empty-lines\": \"off\",\n        \"@stylistic/no-native-reassign\": \"off\",\n        \"no-negated-condition\": \"off\",\n        \"no-unsafe-negation\": \"error\",\n        \"no-nested-ternary\": \"off\",\n        \"no-new\": \"off\",\n        \"no-new-func\": \"off\",\n        \"no-object-constructor\": \"off\",\n        \"no-new-require\": \"error\",\n        \"no-new-wrappers\": \"error\",\n        \"no-octal-escape\": \"error\",\n        \"no-param-reassign\": \"off\",\n        \"no-path-concat\": \"error\",\n        \"no-plusplus\": \"off\",\n        \"no-process-env\": \"off\",\n        \"no-process-exit\": \"off\",\n        \"no-promise-executor-return\": \"error\",\n        \"no-proto\": \"off\",\n        \"no-restricted-exports\": \"error\",\n        \"no-restricted-globals\": [\"error\", \"self\"],\n        \"no-restricted-imports\": \"error\",\n        \"no-restricted-modules\": \"error\",\n        \"no-restricted-properties\": \"error\",\n        \"no-restricted-syntax\": \"error\",\n        \"no-return-assign\": \"off\",\n        \"no-script-url\": \"off\",\n        \"no-self-compare\": \"off\",\n        \"no-sequences\": \"off\",\n        \"no-shadow\": \"off\",\n        \"@stylistic/no-spaced-func\": \"off\",\n        \"no-sync\": \"off\",\n        \"@stylistic/no-tabs\": \"off\",\n        \"no-template-curly-in-string\": \"error\",\n        \"no-ternary\": \"off\",\n        \"no-throw-literal\": \"off\",\n        \"@stylistic/no-trailing-spaces\": \"off\",\n        \"no-undef-init\": \"off\",\n        \"no-undefined\": \"off\",\n        \"no-underscore-dangle\": \"off\",\n        \"no-unmodified-loop-condition\": \"off\",\n        \"no-unneeded-ternary\": \"off\",\n        \"no-unreachable-loop\": \"error\",\n        \"no-unused-expressions\": \"off\",\n        \"no-use-before-define\": \"off\",\n        \"no-useless-backreference\": \"error\",\n        \"no-useless-call\": \"off\",\n        \"no-useless-computed-key\": \"error\",\n        \"no-useless-concat\": \"off\",\n        \"no-useless-constructor\": \"error\",\n        \"no-useless-rename\": \"error\",\n        \"no-useless-return\": \"off\",\n        \"no-var\": \"off\",\n        \"no-void\": \"off\",\n        \"no-warning-comments\": \"off\",\n        \"@stylistic/no-whitespace-before-property\": \"error\",\n        \"@stylistic/nonblock-statement-body-position\": [\"error\", \"any\"],\n        \"@stylistic/object-curly-newline\": \"off\",\n        \"@stylistic/object-curly-spacing\": \"off\",\n        \"@stylistic/object-property-newline\": \"off\",\n        \"object-shorthand\": \"off\",\n        \"one-var\": \"off\",\n        \"@stylistic/one-var-declaration-per-line\": \"off\",\n        \"operator-assignment\": \"off\",\n        \"@stylistic/operator-linebreak\": \"off\",\n        \"@stylistic/padded-blocks\": \"off\",\n        \"@stylistic/padding-line-between-statements\": \"error\",\n        \"prefer-arrow-callback\": \"off\",\n        \"prefer-const\": \"off\",\n        \"prefer-destructuring\": \"off\",\n        \"prefer-exponentiation-operator\": \"off\",\n        \"prefer-named-capture-group\": \"off\",\n        \"prefer-numeric-literals\": \"error\",\n        \"prefer-object-spread\": \"off\",\n        \"prefer-promise-reject-errors\": \"error\",\n        \"prefer-regex-literals\": \"off\",\n        \"prefer-rest-params\": \"off\",\n        \"prefer-spread\": \"off\",\n        \"prefer-template\": \"off\",\n        \"@stylistic/quote-props\": \"off\",\n        \"@stylistic/quotes\": [\"error\", \"double\", { avoidEscape: true }],\n        radix: \"off\",\n        \"require-atomic-updates\": \"error\",\n        \"require-await\": \"error\",\n        \"require-jsdoc\": \"off\",\n        \"require-unicode-regexp\": \"off\",\n        \"@stylistic/rest-spread-spacing\": \"error\",\n        \"@stylistic/semi\": [\"error\", \"always\"],\n        \"@stylistic/semi-spacing\": \"off\",\n        \"@stylistic/semi-style\": \"off\",\n        \"sort-imports\": \"error\",\n        \"sort-keys\": \"off\",\n        \"sort-vars\": \"off\",\n        \"@stylistic/space-before-blocks\": \"off\",\n        \"@stylistic/space-before-function-paren\": \"off\",\n        \"@stylistic/space-in-parens\": \"off\",\n        \"@stylistic/space-infix-ops\": \"off\",\n        \"@stylistic/space-unary-ops\": \"off\",\n        \"@stylistic/spaced-comment\": \"off\",\n        strict: \"off\",\n        \"@stylistic/switch-colon-spacing\": \"off\",\n        \"symbol-description\": \"error\",\n        \"@stylistic/template-curly-spacing\": \"error\",\n        \"@stylistic/template-tag-spacing\": \"error\",\n        \"unicode-bom\": [\"error\", \"never\"],\n        \"valid-jsdoc\": \"off\",\n        \"valid-typeof\": [\"error\", { requireStringLiterals: false }],\n        \"vars-on-top\": \"off\",\n        \"@stylistic/wrap-iife\": \"off\",\n        \"@stylistic/wrap-regex\": \"off\",\n        \"@stylistic/yield-star-spacing\": \"error\",\n        \"yoda\": \"off\",\n        \"no-useless-escape\": \"off\",\n        \"no-unused-vars\": [\"warn\", {\n            \"args\": \"none\",\n            \"caughtErrors\": \"none\"\n        }],\n        \"no-empty\": \"off\",\n        \"@stylistic/no-extra-semi\": \"off\",\n        \"no-redeclare\": \"off\",\n        \"no-control-regex\": \"off\",\n        \"@stylistic/no-mixed-spaces-and-tabs\": \"off\",\n        \"no-extra-boolean-cast\": \"off\",\n        \"no-prototype-builtins\": \"off\",\n        \"no-undef\": \"off\",\n        \"no-unreachable\": \"off\",\n        \"no-self-assign\": \"off\",\n    },\n\n},\n    es2017rules,\n    es2023rules,\n    {\n        files: [\"tiddlywiki.js\"],\n        plugins:  {\n\t\t    \"es-x\": esx\n\t    },\n        rules: {\n   \t    \t\"es-x/no-hashbang\": \"off\"         \n        }\n    }\n]);\n"
  },
  {
    "path": "languages/ar-PS/Buttons.multids",
    "content": "title: $:/language/Buttons/\n\nAdvancedSearch/Caption: بحث متقدم\nAdvancedSearch/Hint: بحث متقدم\nBold/Caption: غامق\nBold/Hint: غامق\nCancel/Caption: الغاء\nCancel/Hint: الغاء\nClear/Caption: مسح\nClone/Caption: إستنسخ\nClone/Hint: إستنسخ هذا التدلر\nClose/Caption: إغلاق\nClose/Hint: إغلاق\nCloseAll/Caption: إغلاق الجميع\nCloseAll/Hint:  إغلاق جميع التدلرز\nCloseOthers/Caption: أغلق الأخريات\nCloseOthers/Hint: أغلاق التلرز الأخرى\nControlPanel/Caption: لوحة التحكم\nControlPanel/Hint: فتح لوحة التحكم\nCopyToClipboard/Caption: انسخ على لوحة الحفظ\nCopyToClipboard/Hint: انسخ هذا النص على لوحة الحفظ\nDelete/Caption: إحذف\nDelete/Hint: إحذف هذا التدلر\nEdit/Caption: تحرير\nEdit/Hint: تحرير هذا التدلر\nEditorHeight/Caption: ارتفاع المحرر\nEditorHeight/Caption/Auto: اضبط الارتفاع تلقائيًا ليلائم المحتوى\nEncryption/Caption: التشفير\nEncryption/ClearPassword/Caption: مسح كلمة السر\nEncryption/ClearPassword/Hint: امسح كلمة المرور واحفظ هذا الويكي بدون تشفير\nEncryption/Hint: ضع أو إمسح كلمة مرور لحفظ هذا الويكي\nEncryption/SetPassword/Caption: ضع كلمة السر\nEncryption/SetPassword/Hint: ضع كلمة مرور لحفظ هذا الويكي باستخدام التشفير\nExcise/Caption/NewTitle: عنوان التدلر الجديد\nExcise/Caption/Replace/Link: رابط\nExportPage/Caption: تصدير الكل\nExportPage/Hint:  تصدير كل التدلرز\nExportTiddler/Caption: تصدير تدلر\nExportTiddler/Hint: تصدير تدلر\nExportTiddlers/Caption: تصدير تدلرز\nExportTiddlers/Hint: تصدير تدلرز\nFold/Caption: طوي تدلر\nFold/Hint: إطوِ نص هذا التدلر\nFoldAll/Caption: إطوِ جميع التدلرز\nFoldAll/Hint: إطوِ نصوص جميع التدلرز المفتوحة\nFoldOthers/Caption: إطوِ جميع التدلرز\nFoldOthers/Hint:  إطوِ نصوص التدلرز المفتوحة الأخرى\nFullScreen/Caption: ملء الشاشة\nFullScreen/Hint: ادخل أو غادر وضعية ملء الشاشة\nHelp/Caption: مساعدة\nHelp/Hint: إظهار لوحة المساعدة\nHideSideBar/Caption: اخفاء الشريط الجانبي\nHideSideBar/Hint: اخفاء الشريط الجانبي\nHome/Caption: الصفحة الرئيسية\nHome/Hint: افتح التدلرز المفترضة\nImport/Caption: إستيراد\nImport/Hint: استيراد العديد من أنواع الملفات بما في ذلك النص أو الصورة أو TiddlyWiki أو JSON\nInfo/Caption: معلومات\nInfo/Hint: عرض معلومات هذا التدلر\nItalic/Caption: مائل\nItalic/Hint: تطبيق التنسيق المائل على التحديد\nLanguage/Caption: لغة\nLanguage/Hint: اختر لغة واجهة المستخدم\nLineWidth/Caption: عرض الخط\nLink/Caption: رابط\nLink/Hint: إنشاء رابط ويكي\nLinkify/Caption: رابط ويكي\nLinkify/Hint: غلف التحديد بأقواس مربعة\nListBullet/Caption: قائمة نقطية\nListNumber/Caption: قائمة مرقمة\nManager/Caption: مدير التدلرز\nManager/Hint: إفتح مدير التدلرز\nMonoBlock/Caption: كتلة أحادية المسافة\nMonoLine/Caption: أحادي المسافة\nMore/Caption: المزيد\nMore/Hint: المزيد من الإجراءات\nNewHere/Caption: أنشاء جديد هنا\nNewHere/Hint: إنشاء تدلر جديد موسوم بهذا\nNewImage/Caption: رسم جديد\nNewImage/Hint: قم بإنشاء تدلر رسام\nNewJournal/Caption: دفتر اليومية جديد\nNewJournal/Hint: قم بإنشاء دفتر يوميات جديد\nNewJournalHere/Caption: أنشئ دفتر يوميات جديد هنا\nNewJournalHere/Hint: قم بإنشاء دفتر يوميات جديد موسوم بهذا\nNewMarkdown/Caption: تدلر ماركداون جديد\nNewMarkdown/Hint: قم بإنشاء تدلر ماركداون جديد\nNewTiddler/Caption: تدلر جديد\nNewTiddler/Hint: قم بإنشاء تدلر جديد\nOpacity/Caption: تعتيم\nOpenWindow/Caption: افتح في نافذة جديدة\nOpenWindow/Hint: افتح التدلر في نافذة جديدة\nPaint/Caption: لون الطلاء\nPalette/Caption: نظام الألوان\nPalette/Hint: اختر نظام الألوان\nPermalink/Caption: الرابط المباشر\nPermalink/Hint: اضبط شريط عنوان المتصفح على رابط مباشر لهذا التدلر\n\nPermaview/Caption: العرض المباشر\nPermaview/Hint: اضبط شريط عنوان المتصفح على رابط مباشر لجميع التدلرز في هذه القصة\n\nPicture/Caption: صورة\nPicture/Hint: إدراج صورة\nPreview/Caption: معاينة\nPreview/Hint: إظهار شاشة المعاينة\n\nPreviewType/Caption: نوع المعاينة\nPreviewType/Hint: اختر نوع المعاينة\nPrint/Caption: طباعة الصفحة\nPrint/Hint: اطبع الصفحة الحالية\nQuote/Caption: quote\nRefresh/Caption: تحديث\nRefresh/Hint: قم بإجراء تحديث كامل للويكي\nRotateLeft/Caption: تدوير لليسار\nRotateLeft/Hint: تدوير الصورة لليسار بزاوية 90 درجة\nSave/Caption: تمام\nSave/Hint: تأكيد التغييرات على هذا التدلر\nSaveWiki/Caption: حفظ التغييرات\nSaveWiki/Hint: حفظ التغييرات\nShowSideBar/Caption: إظهار الشريط الجانبي\nShowSideBar/Hint: إظهار الشريط الجانبي\nSize/Caption: حجم الصورة\nSize/Caption/Height: ارتفاع:\nSize/Caption/Resize: تغيير حجم الصورة\nSize/Caption/Width: عرض:\nSize/Hint: ضبط حجم الصورة\nStamp/Caption: ختم\nStamp/Caption/New: اضف اشياءك الخاصة\nStamp/Hint: أدخل نصا مقتطفًا تم تكوينه مسبقًا\nStamp/New/Text: نص المقتطف. (تذكر إضافة عنوان وصفي في حقل الشرح).\nStamp/New/Title: الاسم كما هو ظاهر في القائمة\nStoryView/Caption: عرض القصة\nStoryView/Hint: اختر تصور القصة\nStrikethrough/Caption: يتوسطه خط\nStrikethrough/Hint: تطبيق تنسيق \"يتوسطه خط\"على التحديد\nSubscript/Caption: نص منخفض\nSubscript/Hint: تطبيق تنسيق منخفض على التحديد\n\nSuperscript/Caption: نص مرتفع\nSuperscript/Hint: تطبيق تنسيق مرتفع على التحديد\nTagManager/Caption: ادارة الوسوم\nTagManager/Hint: افتح ادارة الوسوم\nTheme/Caption: ثيم\nTheme/Hint: إختر ثيم العرض\nTimestamp/Caption: الطوابع الزمنية\nTimestamp/Hint: اختر ما إذا قامت التعديلات بتحديث الطوابع الزمنية\n\nTimestamp/Off/Caption: الطوابع الزمنية متوقفة\nTimestamp/Off/Hint: لا تقم بتحديث الطوابع الزمنية عندما يتم تعديل التدلرز\nTimestamp/On/Caption: الطوابع الزمنية مفعّلة\nTimestamp/On/Hint: حَدث الطوابع الزمنية عندما يتم تعديل التدلرز\n\nToggleSidebar/Hint: تبديل رؤية الشريط الجانبي\nTranscludify/Caption: ترانسكلوجن\nTranscludify/Hint: غلف التحديد بأقواس مجعدة\nUnderline/Caption: تسطير\nUnderline/Hint: تطبيق تنسيق التسطير على التحديد\n\nUnfold/Caption: بسط التدلر\nUnfold/Hint: إبسط نص هذا التدلر\nUnfoldAll/Caption: إبسط جميع التدلرز\nUnfoldAll/Hint: إبسط نصوص جميع التدلرز المفتوحة\n"
  },
  {
    "path": "languages/ar-PS/ControlPanel.multids",
    "content": "title: $:/language/ControlPanel/\n\nAdvanced/Caption: متقدم\nAdvanced/Hint: معلومات داخلية عن هذا الوكي\nAppearance/Caption: مظهر خارجي\nAppearance/Hint: طرق لتخصيص مظهر وكي خاص بك.\n\nBasics/AnimDuration/Prompt: مدة الرسوم المتحركة\nBasics/AutoFocus/Prompt: موقع مؤشر الماوس الإفتراضي للتدلرز الجددة\nBasics/Caption: أساسيات\nBasics/DefaultTiddlers/BottomHint: إستخدم &#91;&#91;أقواس مربعة مزدوجة&#93;&#93; للعناوين مع مسافات. أو بإمكانك إختيار{{الإحتفاظ بترتيب القصة||$:/snippets/retain-story-ordering-button}}\nBasics/DefaultTiddlers/Prompt: تدلرز مفترضة\nBasics/DefaultTiddlers/TopHint: أي تدلرز ستظهر عند التشغيل \nBasics/Language/Prompt: مرحبا! اللغة الحالية:\nBasics/NewJournal/Tags/Prompt: وسوم لتدلر اليوميات الجديدة\n\nBasics/NewJournal/Text/Prompt: نص لتدلر اليوميات الجديدة\nBasics/NewJournal/Title/Prompt: عنوان لتدلر اليوميات الجديدة\nBasics/NewTiddler/Tags/Prompt: وسوم للتدلرز الجديدة\nBasics/NewTiddler/Title/Prompt: عنوان للتدلرز الجديدة\nBasics/OverriddenShadowTiddlers/Prompt: عدد تدلرز الظل التي تم تجاوزها\nBasics/ShadowTiddlers/Prompt: عدد تدلرز الظل\nBasics/Subtitle/Prompt: العنوان الفرعي\n\nBasics/SystemTiddlers/Prompt: عدد تدلرز النظام\nBasics/Tags/Prompt: عدد الوسوم\nBasics/Tiddlers/Prompt: عدد التدلرز\nBasics/Title/Prompt: عنوان هذا الويكي\nBasics/Username/Prompt: اسم المستخدم لتوقيع التعديلات\nBasics/Version/Prompt: نسخة تدلي ويكي\nEditorTypes/Caption: أنواع المحرر\nEditorTypes/Editor/Caption: المحرر\nEditorTypes/Hint:  تحدد هذه التدلرز أي محرر مستخدم لتحرير أنواع معينة من التدلرز\nEditorTypes/Type/Caption: نوع\nInfo/Caption: معلومات\nInfo/Hint: معلومات عن هذا التدلي ويكي\nKeyboardShortcuts/Add/Caption: إضافة اختصار\nKeyboardShortcuts/Add/Prompt: اكتب اختصار هنا\nKeyboardShortcuts/Caption: اختصارات لوحة المفاتيح\nKeyboardShortcuts/Hint: إدارة تعيينات اختصارات لوحة المفاتيح\nKeyboardShortcuts/NoShortcuts/Caption: لم يتم تعيين اختصارات لوحة المفاتيح\nKeyboardShortcuts/Platform/All: جميع المنصات\nKeyboardShortcuts/Platform/Linux: نظام لينكس فقط\nKeyboardShortcuts/Platform/Mac: نظام ماكنتوش فقط\nKeyboardShortcuts/Platform/NonLinux: انظمة غير نظام لينكس فقط\nKeyboardShortcuts/Platform/NonMac: انظمة غير نظام ماكنتوش فقط\nKeyboardShortcuts/Platform/NonWindows: انظمة غير نظام ويندوز فقط\nKeyboardShortcuts/Platform/Windows: نظام ويندوز فقط\nKeyboardShortcuts/Remove/Hint: إزالة اختصار لوحة المفاتيح\nLoadedModules/Caption: الوحدات المحملة\nLoadedModules/Hint: هذ هي وحدات التدلرز المحملة حاليا والمرتبطة بتدلرز مصدرية. تفتقر أي وحدات بتنسيق مائل إلى تدلر مصدري ، عادة لأن إعدادها تم أثناء عملية التمهيد.\n\nPalette/Caption: نظام الألوان\nPalette/Editor/Clone/Caption: استنساخ\n\nPalette/Editor/Clone/Prompt: من المستحسن أن تنسخ نظام ألوان الظل هذه قبل تحريره\n\nPalette/Editor/Delete/Hint: حذف هذا الإدخال من نظام الألوان\n\nPalette/Editor/Names/External/Show: إظهار أسماء الألوان التي ليست جزءًا من نظام الألوان الحالي\n\nPalette/Editor/Prompt: التحرير\nPalette/Editor/Prompt/Modified: تم تعديل نظام ألوان الظل هذه\n\nPalette/Editor/Reset/Caption: إعادة تعيين\nPalette/HideEditor/Caption: إخفاء محرر \n\nPalette/Prompt: نظام الألوان الحالي:\nPalette/ShowEditor/Caption: إظهار محرر\nParsing/Caption: التحليل النحوي\nParsing/Hint: هنا يمكنك تعطيل / تمكين قواعد محلل ويكي النحوي. لكي تدخل التغييرات حيز التنفيذ ، احفظ موقع الويكي وأعد تحميله. يمكن أن يمنع تعطيل بعض قواعد المحلل النحوي <$text text=\"تدلي ويكي\"/> من العمل بشكل صحيح. استخدم [[الوضع الآمن | https: //tiddlywiki.com/#SafeMode]] لاستعادة التشغيل العادي.\nPlugins/Add/Caption: احصل على المزيد من البرامج المساعدة\nPlugins/Add/Hint: تثبيت البرامج المساعدة من المكتبة الرسمية\nPlugins/AlreadyInstalled/Hint: هذا البرنامج المساعد مثبت بالفعل في الإصدار\n <$text text=<<installedVersion>>/>\nPlugins/AlsoRequires: يتطلب أيضًا:\nPlugins/Caption: البرامج المساعدة\nPlugins/ClosePluginLibrary: إغلاق مكتبة البرنامج المساعد\nPlugins/Disable/Caption: تعطيل\nPlugins/Disable/Hint: قم بتعطيل هذا البرنامج المساعد عند إعادة تحميل الصفحة\nPlugins/Disabled/Status: (معطل)\nPlugins/Downgrade/Caption: تخفيض\nPlugins/Empty/Hint: لا يوجد\n\nPlugins/Enable/Caption: مَكن\nPlugins/Enable/Hint: تمكين هذا البرنامج المساعد عند إعادة تحميل الصفحة\nPlugins/Install/Caption: تثبيت\nPlugins/Installed/Hint: البرنامج المساعد المثبتة حاليًا:\nPlugins/Languages/Caption: اللغات\nPlugins/Languages/Hint: برامج مساعدة (حزم لغوية)\nPlugins/NotInstalled/Hint: هذا البرنامج المساعد غير مثبت حاليا\nPlugins/OpenPluginLibrary: فتح مكتبة البرنامج المساعد\nPlugins/Plugins/Caption: البرامج المساعدة\nPlugins/Plugins/Hint: البرامج المساعدة\nPlugins/PluginWillRequireReload: (يتطلب إعادة التحميل)\nPlugins/Reinstall/Caption: إعادة تثبيت\nPlugins/Themes/Caption: ثيمات\nPlugins/Themes/Hint: برامج مساعدة (ثيمات)\nPlugins/Update/Caption: تحديث\nPlugins/Updates/Caption: التحديثات\nPlugins/Updates/Hint: التحديثات المتاحة للمكونات الإضافية المثبتة\nPlugins/Updates/UpdateAll/Caption: تحديث <<update-count>> برامج المساعدة\nSaving/Caption: حفظ\nSaving/DownloadSaver/AutoSave/Description: السماح بالحفظ التلقائي لحافظ التنزيل\nSaving/DownloadSaver/AutoSave/Hint: تمكين الحفظ التلقائي لحافظ التنزيل\nSaving/DownloadSaver/Caption: حافظ التنزيل\nSaving/DownloadSaver/Hint: تنطبق هذه الإعدادات على خادم التنزيل المتوافق مع HTML5\nSaving/General/Caption: عام\nSaving/General/Hint: تنطبق هذه الإعدادات على جميع الخوادم المحملة\nSaving/GitService/Branch: الفرع المستهدف للحفظ\nSaving/GitService/CommitMessage: حفظ بواسطة تدلي ويكي\nSaving/GitService/Description: تُستخدم هذه الإعدادات فقط عند الحفظ في <<service-name>>\nSaving/GitService/Filename: اسم الملف الهدف (مثال `index.html`)\n\nSaving/GitService/Gitea/Caption: حافظ جت تي\nSaving/GitService/Gitea/Password: رمز الوصول الشخصي لواجهة برمجة التطبيقات (عبر واجهة الويب لـ Gitea: `الإعدادات | التطبيقات | إنشاء رمز جديد`)\nSaving/GitService/GitHub/Caption: حافظ جت هب\nSaving/GitService/GitHub/Password: كلمة المرور أو رمز OAUTH أو رمز الوصول الشخصي (انظر [[صفحة مساعدة GitHub | https: //help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line]] للتفاصيل)\nSaving/GitService/GitLab/Caption: حافظ جت لاب\nSaving/GitService/GitLab/Password: رمز الدخول الشخصي لواجهة برمجة التطبيقات (انظر [[صفحة مساعدة GitLab | https: //docs.gitlab.com/ee/user/profile/personal_access_tokens.html]] للحصول على التفاصيل)\nSaving/GitService/Path: مسار الملف المستهدف (مثال `/wiki/`)\nSaving/GitService/Repo: المستودع الهدف (مثال `Jermolene/TiddlyWiki5`)\nSaving/GitService/ServerURL: عنوان URL لواجهة برمجة تطبيقات الخادم\n\nSaving/GitService/UserName: إسم المستخدم\nSaving/Hint: الإعدادات المستخدمة لحفظ تدلي ويكي بالكامل كملف واحد عبر وحدة خادم\n\nSaving/TiddlySpot/Advanced/Heading: إعدادات متقدمة\nSaving/TiddlySpot/BackupDir: مجلد النسخة الاحتياطية\nSaving/TiddlySpot/Backups: النسخ الاحتياطية\nSaving/TiddlySpot/Caption: حافظ تدلي سبوت\nSaving/TiddlySpot/Description: تُستخدم هذه الإعدادات فقط عند الحفظ في http://tiddlyspot.com أو خادم آخر مناسب\n\nSaving/TiddlySpot/Filename: إسم ملف التحميل\nSaving/TiddlySpot/Password: كلمة المرور\nSaving/TiddlySpot/UploadDir: مجلد التحميل\nSaving/TiddlySpot/UserName: إسم الويكي\nSettings/AutoSave/Caption: حفظ تلقائي\nSettings/AutoSave/Disabled/Description: لا تقم بحفظ التغييرات تلقائيًا\nSettings/AutoSave/Enabled/Description: إحفظ التغييرات تلقائيًا\nSettings/CamelCase/Caption: روابط ويكي بنمط كاميلكيس\nSettings/CamelCase/Description: تفعيل الربط التلقائي لعبارات كاميلكيس\nSettings/CamelCase/Hint: يمكنك تعطيل الربط التلقائي لعبارات كاميلكيس بشكل عام. يتطلب إعادة التحميل لتصبح نافذة المفعول\nSettings/Caption: الإعدادات\nSettings/DefaultMoreSidebarTab/Caption: القيمة الافتراضية للتبويب \"مزيد\" في الشريط الجانبي\n\nSettings/DefaultMoreSidebarTab/Hint: حدد أي قيمة في التبويب \"مزيد\" سيتم عرضها بشكل افتراضي من الشريط الجانبي\nSettings/DefaultSidebarTab/Caption: التبويب الافتراضي في الشريط الجانبي\n\nSettings/DefaultSidebarTab/Hint: حدد أي تبويب سيتم عرضه بشكل افتراضي في الشريط الجانبي\n\nSettings/EditorToolbar/Caption: شريط أدوات المحرر\n\nSettings/EditorToolbar/Description: أظهر شريط أدوات المحرر\n\nSettings/EditorToolbar/Hint: تمكين أو تعطيل شريط أدوات المحرر:\n\nSettings/Hint: تتيح لك هذه الإعدادات تخصيص سلوك تدلي ويكي.\n\nSettings/InfoPanelMode/Caption: وضع لوحة معلومات تدلر\nSettings/InfoPanelMode/Hint: تحديد أي ظرف يتم فيه إغلاق لوحة معلومات\nSettings/InfoPanelMode/Popup/Description: يتم إغلاق لوحة معلومات تدلر تلقائيًا\n\nSettings/InfoPanelMode/Sticky/Description: تظل لوحة معلومات تدلر مفتوحة حتى يتم إغلاقها\n\nSettings/LinkToBehaviour/Caption: سلوك عملية فتح تدلر\nSettings/LinkToBehaviour/InsideRiver/Hint: التقل من // داخل // مسار القصة\n\nSettings/LinkToBehaviour/OpenAbove: فتح فوق التدلر الحالي\n\nSettings/LinkToBehaviour/OpenAtBottom: فتح في الجزء السفلي من مسار القصة\n\nSettings/LinkToBehaviour/OpenAtTop: فتح في الجزء العلوي من مسار القصة\n\nSettings/LinkToBehaviour/OpenBelow: فتح أسفل التدلر الحالي\n\nSettings/LinkToBehaviour/OutsideRiver/Hint: التقل من // خارج // مسار القصة\n\nSettings/MissingLinks/Caption: روابط ويكي\nSettings/MissingLinks/Description: تمكين الارتباط بتلرز مفقودة\n\nSettings/MissingLinks/Hint: اختيار إمكانية الارتباط بتدلرز غير موجودين بعد\n\nSettings/NavigationAddressBar/Caption: شريط عنوان التنقل\nSettings/NavigationAddressBar/Hint: سلوك شريط عنوان المتصفح عند الانتقال إلى تدلر\n\nSettings/NavigationAddressBar/No/Description: لا تقم بتحديث شريط العنوان\n\nSettings/NavigationAddressBar/Permalink/Description: قم بتضمين التدلر المستهدف\n\nSettings/NavigationAddressBar/Permaview/Description: قم بتضمين التدلر المستهدف وتسلسل القصة الحالي\n\nSettings/NavigationHistory/Caption: محفوظات التنقل\n\nSettings/NavigationHistory/Hint: تحديث محفوظات المتصفح عند الانتقال إلى تدلر:\n\nSettings/NavigationHistory/No/Description: لا تقم بتحديث محفوظات المتصفح\n\nSettings/NavigationHistory/Yes/Description: حدث محفوظات المتصفح\nSettings/NavigationPermalinkviewMode/Caption: رابط مباشر/ وضع العرض المباشر\n\nSettings/NavigationPermalinkviewMode/CopyToClipboard/Description: انسخ الرابط المباشر/ رابط العرض المباشر إلى الكليب-بورد\n\nSettings/NavigationPermalinkviewMode/Hint: اختر كيفية معالجة الرابط المباشر/ العرض المباشر:\n\nSettings/NavigationPermalinkviewMode/UpdateAddressBar/Description: تحديث شريط العنوان باستخدام الرابط المباشر/ رابط العرض المباشر\n\nSettings/PerformanceInstrumentation/Caption: قياس الأداء\nSettings/PerformanceInstrumentation/Description: تمكين قياس الأداء\n\nSettings/PerformanceInstrumentation/Hint: يعرض إحصائيات الأداء في وحدة تحكم مطور المتصفح. يتطلب إعادة التحميل لتصبح نافذة المفعول\nSettings/TitleLinks/Caption: عناوين التدلرز\nSettings/TitleLinks/Hint: عرض عناوين التدلرز بشكل اختياري كروابط\n\nSettings/TitleLinks/No/Description: لا تعرض عناوين التدلرز كروابط\n\nSettings/TitleLinks/Yes/Description: عرض عناوين التدلرز كروابط\n\nSettings/ToolbarButtons/Caption: أزرار شريط الأدوات\n\nSettings/ToolbarButtons/Hint: مظهر زر شريط الأدوات الافتراضي:\nSettings/ToolbarButtons/Icons/Description: إدراج أيقونة\nSettings/ToolbarButtons/Text/Description: إدراج نص\nSettings/ToolbarButtonStyle/Caption: نمط زر شريط الأدوات\nSettings/ToolbarButtonStyle/Hint: اختر نمط أزرار شريط الأدوات:\n\nSettings/ToolbarButtonStyle/Styles/Borderless: بلا حدود\n\nSettings/ToolbarButtonStyle/Styles/Boxed: وضع في صندوق\nSettings/ToolbarButtonStyle/Styles/Rounded: وضع في دائرة\nStoryView/Caption: عرض القصة\nStoryView/Prompt: العرض الحالي:\nStylesheets/Caption: ستايل شيتس\nStylesheets/Expand/Caption: توسيع الكل\nStylesheets/Hint:  هـذه قائمة من ستايل  شيت تدلرز فعالة وموسومة بـ   <<tag \"$:/tags/Stylesheet\">>\nStylesheets/Restore/Caption: استعادة\nTheme/Caption: ثيم\nTheme/Prompt: الثيم الحالي:\n\nTiddlerFields/Caption: حقول التدلر\nTiddlerFields/Hint: هذه هي المجموعة الكاملة من حقول التدلرز المستخدمة في هذا الويكي (بما في ذلك تدلرز النظام ولكن باستثناء تدلرز الظل).\nToolbars/Caption: أشرطة الأدوات\nToolbars/EditorToolbar/Caption: شريط أدوات المحرر\n\nToolbars/EditorToolbar/Hint: اختر الأزرار التي يتم عرضها في شريط أدوات المحرر. لاحظ أن بعض الأزرار ستظهر فقط عند تحرير التدلرز من نوع معين. اسحب وأفلت لتغيير الترتيب\nToolbars/EditToolbar/Caption:  شريط الأدوات التحرير\nToolbars/EditToolbar/Hint: اختر الأزرار التي يتم عرضها للتدلرز في وضع التحرير. اسحب وأفلت لتغيير الترتيب.\n\nToolbars/Hint: حدد أزرار شريط الأدوات التي يتم عرضها\n\nToolbars/PageControls/Caption: شريط أدوات الصفحة\nToolbars/PageControls/Hint: اختر الأزرار التي يتم عرضها على شريط أدوات الصفحة الرئيسية. اسحب وأفلت لتغيير الترتيب\n\nToolbars/ViewToolbar/Caption: شريط أدوات العرض\nToolbars/ViewToolbar/Hint: اختر الأزرار التي يتم عرضها للتدلرز في وضع العرض. اسحب وأفلت لتغيير الترتيب\n\nTools/Download/Full/Caption: تنزيل الويكي بشكل كامل\n\n"
  },
  {
    "path": "languages/ar-PS/CoreReadMe.tid",
    "content": "title: $:/core/readme\n\nيحتوي هذا البرنامج المساعد على مكونات تدلي ويكي الأساسية ، والتي تشمل:\n\n* وحدات كود جافا سكريبت\n* الأيقونات\n* النماذج المطلوبة لإنشاء واجهة مستخدم تدلي ويكي\n* ترجمات اللغة العربية الفلسطينية (\"ar-PS\") للأسطر التي يمكن  ترجمتها وجعلها محلية والمستخدمة بهذه الوحدة المركزية"
  },
  {
    "path": "languages/ar-PS/Dates.multids",
    "content": "title: $:/language/\n\nDate/DaySuffix/1: \nDate/DaySuffix/10: \nDate/DaySuffix/11: \nDate/DaySuffix/12: \nDate/DaySuffix/13: \nDate/DaySuffix/14: \nDate/DaySuffix/15: \nDate/DaySuffix/16: \nDate/DaySuffix/17: \nDate/DaySuffix/18: \nDate/DaySuffix/19: \nDate/DaySuffix/2: \nDate/DaySuffix/20: \nDate/DaySuffix/21: \nDate/DaySuffix/22: \nDate/DaySuffix/23: \nDate/DaySuffix/24: \nDate/DaySuffix/25: \nDate/DaySuffix/26: \nDate/DaySuffix/27: \nDate/DaySuffix/28: \nDate/DaySuffix/29: \nDate/DaySuffix/3: \nDate/DaySuffix/30: \nDate/DaySuffix/31: \nDate/DaySuffix/4: \nDate/DaySuffix/5: \nDate/DaySuffix/6: \nDate/DaySuffix/7: \nDate/DaySuffix/8: \nDate/DaySuffix/9: \nDate/Long/Day/0: الأحد\nDate/Long/Day/1: الإثنين\nDate/Long/Day/2: الثلاثاء\nDate/Long/Day/3: الأربعاء\nDate/Long/Day/4: الخميس\nDate/Long/Day/5: الجمعة\nDate/Long/Day/6: السبت\nDate/Long/Month/1: كانون الثاني\nDate/Long/Month/10: تشرين الأول\nDate/Long/Month/11: تشرين الثاني\nDate/Long/Month/12: كانون الأول\nDate/Long/Month/2: شباط\nDate/Long/Month/3: أذار\nDate/Long/Month/4: نيسان\nDate/Long/Month/5: أيار\nDate/Long/Month/6: حزيران\nDate/Long/Month/7: تموز\nDate/Long/Month/8: آب\nDate/Long/Month/9: أيلول\nDate/Period/am: ًصباحا\nDate/Period/pm:  مساءاً\nDate/Short/Day/0: الأحد\nDate/Short/Day/1: الإثنين\nDate/Short/Day/2: الثلاثاء\nDate/Short/Day/3: الأربعاء\nDate/Short/Day/4: الخميس\nDate/Short/Day/5: الجمعة\nDate/Short/Day/6: السبت\nDate/Short/Month/1: كانون الثاني\nDate/Short/Month/10: تشرين الأول\nDate/Short/Month/11: تشرين الثاني\nDate/Short/Month/12: كانون الأول\nDate/Short/Month/2: شباط\nDate/Short/Month/3: أذار\nDate/Short/Month/4: نيسان\nDate/Short/Month/5: أيار\nDate/Short/Month/6: حزيران\nDate/Short/Month/7: تموز\nDate/Short/Month/8: آب\nDate/Short/Month/9: أيلول\nRelativeDate/Future/Days: <<period>> بعد أيام من الآن\n\nRelativeDate/Future/Hours: <<period>> ساعات من الآن\nRelativeDate/Future/Minutes: <<period>> دقائق من الآن\n\nRelativeDate/Future/Months: <<period>> بعد أشهر من الآن\nRelativeDate/Future/Second: ثانية واحدة من الآن\nRelativeDate/Future/Seconds: <<period>> ثواني من الآن\nRelativeDate/Future/Years: <<period>> سنوات من الآن\nRelativeDate/Past/Days: <<period>> أيام مضت\nRelativeDate/Past/Hours: <<period>> منذ ساعات\nRelativeDate/Past/Minutes: <<period>> دقائق مضت\nRelativeDate/Past/Months: <<period>> منذ اشهر\nRelativeDate/Past/Second: منذ ثانية واحدة\n\nRelativeDate/Past/Seconds: <<period>> منذ ثوانى\nRelativeDate/Past/Years: <<period>> سنين مضت\n"
  },
  {
    "path": "languages/ar-PS/Docs/ModuleTypes.multids",
    "content": "title: $:/language/Docs/ModuleTypes/\n\n"
  },
  {
    "path": "languages/ar-PS/Docs/PaletteColours.multids",
    "content": "title: $:/language/Docs/PaletteColours/\n\n"
  },
  {
    "path": "languages/ar-PS/EditTemplate.multids",
    "content": "title: $:/language/EditTemplate/\n\nBody/External/Hint: يعرض هذا التدلر محتوى مخزن خارج ملف تدلي ويكي الرئيسي. يمكنك تحرير الوسوم والحقول ولكن لا يمكنك تحرير المحتوى نفسه مباشرة\n\nBody/Placeholder: اكتب النص لهذا التدلر\n\nBody/Preview/Type/Output: output\nField/Dropdown/Caption: قائمة الحقول\nFields/Add/Button: أضف\nFields/Add/Button/Hint: أضف الحقل الجديد إلى التدلر\nFields/Add/Dropdown/System: حقول النظام\nFields/Add/Dropdown/User: حقول المستخدم\nFields/Add/Name/Placeholder: اسم الحقل\nFields/Add/Prompt: أضف حقل جديد:\nFields/Add/Value/Placeholder: قيمة الحقل\nTags/Add/Button: أضف\nTags/Add/Button/Hint: أضف وسما\nTags/Add/Placeholder: إسم الوسم\nTags/Dropdown/Caption: قائمة وسوم\nTags/Dropdown/Hint: إظهار قائمة الوسوم\nTitle/Exists/Prompt: التدلر المستهدف موجود بالفعل\nType/Delete/Caption: حذف نوع المحتوى\nType/Delete/Hint: حذف نوع المحتوى\nType/Dropdown/Caption: قائمة أنواع المحتوى\nType/Dropdown/Hint: إظهار قائمة أنواع المحتوى\nType/Placeholder: نوع المحتوى\nType/Prompt: نوع:\n"
  },
  {
    "path": "languages/ar-PS/Exporters.multids",
    "content": "title: $:/language/Exporters/\n\nCsvFile: ملف CSV\nJsonFile: ملف JSON\nTidFile: ملف \".tid\"\n"
  },
  {
    "path": "languages/ar-PS/Fields.multids",
    "content": "title: $:/language/Docs/Fields/\n\n"
  },
  {
    "path": "languages/ar-PS/Filters.multids",
    "content": "title: $:/language/Filters/\n\n"
  },
  {
    "path": "languages/ar-PS/GettingStarted.tid",
    "content": "title: GettingStarted\n\n\\define lingo-base() $:/language/ControlPanel/Basics/\nمرحبًا بك في تدلي ويكي ومجتمع تدلي ويكي\n\nقبل البدء في تخزين المعلومات المهمة في تدلي ويكي ، من الضروري التأكد من أنه يمكنك حفظ التغييرات بشكل موثوق. راجع https://tiddlywiki.com/#GettingStarted للحصول على التفاصيل\n\nقم بإعداد هذا  التدلي ويكي !!\n\n<div class=\"tc-control-panel\">\n\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\nSee the [[control panel|$:/ControlPanel]] for more options.\n"
  },
  {
    "path": "languages/ar-PS/Import.multids",
    "content": "title: $:/language/Import/\n\nImported/Hint: تم إستيراد التدلرز التالية:\nListing/Cancel/Caption: إلغاء\nListing/Hint: هؤلاء التدلرز جاهزون للإستيراد:\n\nListing/Import/Caption: إستيراد\nListing/Preview: معاينة:\nListing/Preview/Fields: حقول\nListing/Preview/Text: Text\nListing/Select/Caption: إختيار\nListing/Status/Caption: الحالة\nListing/Title/Caption: العنوان\nUpgrader/Plugins/Suppressed/Incompatible: تم حظر مكون إضافي غير متوافق أو قديم\nUpgrader/System/Alert: أنت على وشك إدخال تدلر سيستبدال وحدة تدلر أساسية. لا يُنصح بذلك لأنه قد يجعل النظام غير مستقر\nUpgrader/System/Suppressed: Blocked system tiddler\nUpgrader/System/Warning: وحدة تدلر أساسية \n"
  },
  {
    "path": "languages/ar-PS/Misc.multids",
    "content": "title: $:/language/\n\nAboveStory/ClassicPlugin/Warning: It looks like you are trying to load a plugin designed for ~TiddlyWiki Classic. Please note that [[these plugins do not work with TiddlyWiki version 5.x.x|https://tiddlywiki.com/#TiddlyWikiClassic]]. ~TiddlyWiki Classic plugins detected:\nBinaryWarning/Prompt: يحتوي هذا التدلر على بيانات ثنائية\n\nClassicWarning/Hint: تمت كتابة هذا التدلر بتنسيق الوكي النصي الخاص بتدلي ويكي الكلاسيكي ، وهو غير متوافق تمامًا مع الإصدار تدلي ويكي 5.  راجع https://tiddlywiki.com/static/Upgrading.html لمزيد من التفاصيل.\nClassicWarning/Upgrade/Caption: ترقية\nCloseAll/Button: إغلاق الجميع\nColourPicker/Recent: حديث:\nConfirmCancelTiddler: هل ترغب في تجاهل التغييرات التي تم إجراؤها على التدلر \"<$text text=<<title>>/>\"?\nConfirmDeleteTiddler: هل ترغب في حذف التدلر\"<$text text=<<title>>/>\"?\nConfirmOverwriteTiddler: هل ترغب في استبدال التدلر \"<$text text=<<title>>/>\"?\nCount: العد\nDefaultNewTiddlerTitle: تدلر جديد\nDiffs/CountMessage: <<diff-count>> إختلافات\nDropMessage: أفلت هنا (أو استخدم مفتاح \"Escape\" للإلغاء)\nEncryption/Cancel: إلغاء\nEncryption/ConfirmClearPassword: هل ترغب/ي في مسح كلمة المرور؟ سيؤدي هذا إلى إزالة التشفير المطبق عند حفظ هذا الويكي\nEncryption/Password: كلمة مرور\nEncryption/PasswordNoMatch: كلمة المرور غير مطابقة\nEncryption/PromptSetPassword: قم بتعيين كلمة مرور جديدة لهذا التدلي ويكي\n\nEncryption/RepeatPassword: كرر/ي كلمة السر\nEncryption/SetPassword: ضبط كلمة السر\nEncryption/Username: اسم المستخدم\nError/Caption: خطأ\nError/Filter: خطأ في التصفية\nError/FilterSyntax: خطأ في بناء الجملة في تعبير عامل التصفية\nError/IsFilterOperator: خطأ في التصفية: معامل غير معروف لعامل التصفية 'is'\n\nError/LoadingPluginLibrary: خطأ في تحميل مكتبة المكونات الإضافية\n\nError/NetworkErrorAlert: `<h2>''خطأ في الشبكة''</h2> يبدو أن الاتصال بالخادم قد انقطع. قد يشير هذا إلى وجود مشكلة في اتصال الشبكة. يرجى محاولة استعادة اتصال الشبكة قبل المتابعة. <br> <br> '' ستتم مزامنة أي تغييرات غير محفوظة تلقائيًا عند استعادة الاتصال ''.\nError/PutEditConflict: تم تغيير الملف على الخادم\nError/WhileSaving: حدث خطأ أثناء الحفظ\n\nInternalJavaScriptError/Hint: حسنا، هذا أمر محرج. من المستحسن إعادة تشغيل تدلي ويكي عن طريق إنعاش المتصفح الخاص بك\nInternalJavaScriptError/Title: خطأ جافا سكربت داخلي\n\nLoginToTiddlySpace: تسجيل الدخول إلى تدلي سبيس\n\nManager/Controls/FilterByTag/None: (بلا)\nManager/Controls/FilterByTag/Prompt: فلترة حسب الوسم:\nManager/Controls/Order/Prompt: ترتيب عكسي\nManager/Controls/Search/Placeholder: بحث\nManager/Controls/Search/Prompt: بحث:\nManager/Controls/Show/Option/Tags: وسوم\nManager/Controls/Show/Option/Tiddlers: تدلرز\nManager/Controls/Show/Prompt: إعرض:\nManager/Controls/Sort/Prompt: ترتيب حسب:\nManager/Item/Colour: لون\nManager/Item/Fields: حقول\nManager/Item/Icon: أيقونة\nManager/Item/Icon/None: (بلا)\nManager/Item/RawText: نص خام\nManager/Item/Tags: وسوم\nManager/Item/Tools: أدوات\nManager/Item/WikifiedText: Wikified text\nNo: لا\nOfficialPluginLibrary: المكتبة الرسمية للبرامج المساعدة لتدلي ويكي\nOfficialPluginLibrary/Hint: المكتبة الرسمية للبرامج المساعدة لتدلي ويكي على موقع  tiddlywiki.com. يتم حفظ، متابعة وصيانة البرامج المساعدة والثيمات وحزم اللغات من قبل الفريق الأساسي.\n\nRecentChanges/DateFormat: DD MMM YYYY\nSystemTiddler/Tooltip: هذا تدلر خاص بالنظام\n\nSystemTiddlers/Include/Prompt: إعرض تدلرز النظام\nTagManager/Colour/Heading: لون\nTagManager/Count/Heading: إحصاء\nTagManager/Icon/Heading: أيقونة\nTagManager/Icons/None: لا يوجد\n\nTagManager/Info/Heading: معلومات\nTagManager/Tag/Heading: وسم\nTiddler/DateFormat: DD MMM YYYY at hh12:0mmam\nUnsavedChangesWarning: لديك تغييرات غير محفوظة في تدلي ويكي\n\nYes: نعم\n"
  },
  {
    "path": "languages/ar-PS/Modals/Download.tid",
    "content": "title: $:/language/Modals/Download\ntype: \nsubtitle: Download changes\nfooter: <$button message=\"tm-close-tiddler\">Close</$button>\nhelp: https://tiddlywiki.com/static/DownloadingChanges.html\n\nمتصفحك يدعم فقط الحفظ اليدوي.\n\nلحفظ ويكي المعدل ، انقر بزر الماوس الأيمن على رابط التنزيل أدناه واختر \"تنزيل ملف\" أو \"حفظ ملف\" ، ثم اختر المجلد واسم الملف.\n\n// يمكنك تسريع الأمور بشكل هامشي عن طريق النقر فوق الارتباط بمفتاح التحكم (Windows) أو مفتاح الخيارات / alt (Mac OS X). لن تتم مطالبتك بالمجلد أو اسم الملف ، ولكن من المحتمل أن يعطيه المستعرض اسمًا لا يمكن التعرف عليه - قد تحتاج إلى إعادة تسمية الملف لتضمين ملحق `.html` قبل أن تتمكن من القيام بأي شيء مفيد معه. //\n\nعلى الهواتف الذكية التي لا تسمح بتنزيل الملفات ، يمكنك بدلاً من ذلك وضع إشارة مرجعية على الرابط ، ثم مزامنة إشاراتك المرجعية مع كمبيوتر سطح المكتب حيث يمكن حفظ موقع wiki بشكل طبيعي."
  },
  {
    "path": "languages/ar-PS/NewJournal.multids",
    "content": "title: $:/config/NewJournal/\n\nTags: \nTitle: DD MMM YYYY\n"
  },
  {
    "path": "languages/ar-PS/Notifications.multids",
    "content": "title: $:/language/Notifications/\n\nCopiedToClipboard/Failed: فشل النسخ إلى الكليب-بورد!\n\nCopiedToClipboard/Succeeded: تم النسخ على الكليب-بورد!\nSave/Done: ويكي محفوظ\nSave/Starting: البدء في حفظ ويكي\n\n"
  },
  {
    "path": "languages/ar-PS/Search.multids",
    "content": "title: $:/language/Search/\n\nDefaultResults/Caption: قائمة\nFilter/Caption: فلتر\nFilter/Hint: البحث عن طريق [[عبارة فلتر |https://tiddlywiki.com/static/Filters.html]]\nMatches: //<small><<resultCount>> تطابقات</small>//\nMatches/All: جميع التدلرز المتطابقة:\nMatches/Title: العناوين المتطابقة:\nSearch: بحث\nSearch/TooShort: نص البحث قصير جدًا\n\nShadows/Caption: تدلرز خفية\nShadows/Hint: ابحث عن تدلرز الظل\n\nShadows/Matches: //<small><<resultCount>> تطابقات</small>//\nStandard/Caption: معيار\nStandard/Hint: ابحث عن التدلرز المعيارية\n\nStandard/Matches: //<small><<resultCount>> تطابقات</small>//\nSystem/Caption: نظام\nSystem/Hint: ابحث عن تدلرز النظام\n\nSystem/Matches: //<small><<resultCount>> تطابقات</small>//\n"
  },
  {
    "path": "languages/ar-PS/SideBar.multids",
    "content": "title: $:/language/SideBar/\n\nAll/Caption: الكل\nContents/Caption: المحتويات\nDrafts/Caption: المسودات\nExplorer/Caption: مستكشف\nMissing/Caption: مفقود\nMore/Caption: المزيد\nOpen/Caption: إفتح\nOrphans/Caption: أيتام\nRecent/Caption: حديث\nShadows/Caption: تدلرز خفية\nSystem/Caption: نظام\nTags/Caption: وسوم\nTags/Untagged/Caption: غير موسومة\nTools/Caption: أدوات\nTypes/Caption: أنواع\n"
  },
  {
    "path": "languages/ar-PS/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\nدفتر ملاحظات شخصي غير خطي\n"
  },
  {
    "path": "languages/ar-PS/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\nتدلي ويكي الخاص بي"
  },
  {
    "path": "languages/ar-PS/ThemeTweaks.multids",
    "content": "title: $:/language/ThemeTweaks/\n\n"
  },
  {
    "path": "languages/ar-PS/TiddlerInfo.multids",
    "content": "title: $:/language/TiddlerInfo/\n\nAdvanced/Caption: متقدم\nAdvanced/PluginInfo/Empty/Hint: لا شيء\nAdvanced/PluginInfo/Heading: تفاصيل البرنامج المساعد\nAdvanced/PluginInfo/Hint: يحتوي هذا البرنامج المساعد على التدلرز الخفية التالية:\n\nAdvanced/ShadowInfo/Heading: حالة الظل\nAdvanced/ShadowInfo/NotShadow/Hint: التدلر <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> ليس تدلر خفي\nAdvanced/ShadowInfo/OverriddenShadow/Hint: يتم تجاوزه من قبل تدلر عادي\n\nAdvanced/ShadowInfo/Shadow/Hint: التدلر  <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> هو تدلر خفي\nAdvanced/ShadowInfo/Shadow/Source: يتم تعريفه في البرنامج المساعد\n <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>\nFields/Caption: حقول\nList/Caption: قائمة\nList/Empty: هذا التدلر ليس لديه قائمة\n\nListed/Caption: مدرج في قائمة\nListed/Empty: لم يتم سرد هذا التدلر في قائمة من قبل أي تدلر اخر\n\nReferences/Caption: مراجع\nReferences/Empty: لا يوجد تدلرز مرتبطة بهذا\nTagging/Caption: توسيم\nTagging/Empty: لا يوجد تدلر موسوم بهذا التدلر\nTools/Caption: أدوات\n"
  },
  {
    "path": "languages/ar-PS/plugin.info",
    "content": "{\n    \"title\": \"$:/languages/ar-PS\",\n    \"name\": \"ar-PS\",\n    \"plugin-type\": \"language\",\n    \"description\": \"العربية (فلسطين)\",\n    \"author\": \"Kamal-Habash\",\n    \"core-version\": \">=5.1.23\",\n\t\"text-direction\": \"rtl\"\n}"
  },
  {
    "path": "languages/ca-ES/Buttons.multids",
    "content": "title: $:/language/Buttons/\n\nAdvancedSearch/Caption: cerca avançada\nAdvancedSearch/Hint: Cerca avançada\nBold/Caption: negreta\nBold/Hint: Poseu en negreta la selecció\nCancel/Caption: anul·la\nCancel/Hint: Descarta els canvis d'aquest tiddler\nClear/Caption: esborra\nClear/Hint: Esborra la imatge\nClone/Caption: clona\nClone/Hint: Clona aquest tiddler\nClose/Caption: tanca\nClose/Hint: Tanca aquest tiddler\nCloseAll/Caption: tanca-ho tot\nCloseAll/Hint: Tanca tots els tiddlers\nCloseOthers/Caption: tanca els altres\nCloseOthers/Hint: Tanca els altres tiddlers\nControlPanel/Caption: tauler de control\nControlPanel/Hint: Obre el tauler de control\nCopyToClipboard/Caption: copia al portapapers\nCopyToClipboard/Hint: Copia el text al portapapers\nDelete/Caption: suprimeix\nDelete/Hint: Suprimeix aquest tiddler\nEdit/Caption: edita\nEdit/Hint: Edita aquest tiddler\nEditorHeight/Caption: alçada de l'editor\nEditorHeight/Caption/Auto: Ajusta l'alçada al contingut\nEditorHeight/Caption/Fixed: Alçada fixe:\nEditorHeight/Hint: Trieu l'alçada de l'editor de text\nEncryption/Caption: encriptació\nEncryption/ClearPassword/Caption: neteja la contrasenya\nEncryption/ClearPassword/Hint: Suprimeix la contrasenya per desar aquest wiki sense encriptació\nEncryption/Hint: Establiu o suprimiu la contrasenya per desar aquest wiki\nEncryption/SetPassword/Caption: trieu la contrasenya\nEncryption/SetPassword/Hint: Estableix una contrasenya per desar aquest wiki amb encriptació\nExcise/Caption: extirpa\nExcise/Caption/Excise: Executa l'extirpació\nExcise/Caption/MacroName: Nom de la macro:\nExcise/Caption/NewTitle: Títol del nou tiddler:\nExcise/Caption/Replace: Reemplaça el text extirpat amb:\nExcise/Caption/Replace/Link: enllaç\nExcise/Caption/Replace/Transclusion: transclusió\nExcise/Caption/Tag: Etiqueta el nou tiddler amb el títol d'aquest tiddler\nExcise/Caption/TiddlerExists: Atenció: aquest tiddler ja existeix\nExcise/Hint: Extirpa el text seleccionat en un nou tiddler\nExportPage/Caption: exporta-ho tot\nExportPage/Hint: Exporta tots els tiddlers\nExportTiddler/Caption: exporta el tiddler\nExportTiddler/Hint: Exporta aquest tiddler\nExportTiddlers/Caption: exporta tiddlers\nExportTiddlers/Hint: Exporta els tiddlers\nFold/Caption: expandeix el tiddler\nFold/FoldBar/Caption: barra d'expansió\nFold/FoldBar/Hint: Barres opcionals per a contraure i expandir els tiddlers\nFold/Hint: Contrau el cos d'aquest tiddler\nFoldAll/Caption: contrau tots els tiddlers\nFoldAll/Hint: Contrau el cos de tots els tiddlers oberts\nFoldOthers/Caption: contrau els altres tiddlers\nFoldOthers/Hint: Contrau el cos d'altres tiddlers oberts\nFullScreen/Caption: pantalla sencera\nFullScreen/Hint: Mostra o deixa de mostrar la finestra en pantalla sencera\nHeading1/Caption: capçalera 1\nHeading1/Hint: Aplica el format de capçalera de nivell 1 a les línies que contenen la selecció\nHeading2/Caption: capçalera 2\nHeading2/Hint: Aplica el format de capçalera de nivell 2 a les línies que contenen la selecció\nHeading3/Caption: capçalera 3\nHeading3/Hint: Aplica el format de capçalera de nivell 3 a les línies que contenen la selecció\nHeading4/Caption: capçalera 4\nHeading4/Hint: Aplica el format de capçalera de nivell 4 a les línies que contenen la selecció\nHeading5/Caption: capçalera 5\nHeading5/Hint: Aplica el format de capçalera de nivell 5 a les línies que contenen la selecció\nHeading6/Caption: capçalera 6\nHeading6/Hint: Aplica el format de capçalera de nivell 6 a les línies que contenen la selecció\nHelp/Caption: ajuda\nHelp/Hint: Mostra el tauler d'ajuda\nHideSideBar/Caption: amaga la barra lateral\nHideSideBar/Hint: Amaga la barra lateral\nHome/Caption: Inici\nHome/Hint: Obre els tiddlers per omissió\nImport/Caption: importa\nImport/Hint: Importa fitxers\nInfo/Caption: informació\nInfo/Hint: Mostra la informació d'aquest tiddler\nItalic/Caption: cursiva\nItalic/Hint: Aplica el format de cursiva a la selecció\nLanguage/Caption: idioma\nLanguage/Hint: Trieu l'idioma\nLineWidth/Caption: amplada de la línia\nLineWidth/Hint: Trieu l'amplada de la línia\nLink/Caption: enllaç\nLink/Hint: Genera un enllaç de tipus wikitext\nLinkify/Caption: wikienllaç\nLinkify/Hint: Posa la selecció dins de claudàtors\nListBullet/Caption: llista de pics\nListBullet/Hint: Aplica el format de llista de pics a la selecció\nListNumber/Caption: llista numerada\nListNumber/Hint: Aplica el format de llista numerada a la selecció\nManager/Caption: gestor de tiddlers\nManager/Hint: Obre el gestor de tiddlers\nMonoBlock/Caption: bloc monoespaiat\nMonoBlock/Hint: Aplica el format de bloc monoespaiat a la selecció\nMonoLine/Caption: monoespaiat\nMonoLine/Hint: Aplica el format monoespaiat a la selecció\nMore/Caption: més\nMore/Hint: Més accions\nNewHere/Caption: nou aquí\nNewHere/Hint: Obre un nou tiddler etiquetat amb aquest\nNewImage/Caption: nova imatge\nNewImage/Hint: Nova imatge\nNewJournal/Caption: nou diari\nNewJournal/Hint: Nou tiddler diari\nNewJournalHere/Caption: nou diari aquí\nNewJournalHere/Hint: Obre un nou tiddler de tipus diari etiquetat amb el títol d'aquest tiddler\nNewMarkdown/Caption: nou tiddler de Markdown\nNewMarkdown/Hint: Genera un nou tiddler de Markdown\nNewTiddler/Caption: nou tiddler\nNewTiddler/Hint: Obre un nou tiddler\nOpacity/Caption: opacitat\nOpacity/Hint: Trieu l'opacitat de la tinta\nOpenWindow/Caption: obre en una nova finestra\nOpenWindow/Hint: Obre el tiddler en una nova finestra\nPaint/Caption: color de la tinta\nPaint/Hint: Trieu el color de la tinta\nPalette/Caption: paleta de colors\nPalette/Hint: Trieu el color de la paleta\nPermalink/Caption: enllaç permanent\nPermalink/Hint: Mostra a la barra d'adreces, l'enllaç directe cap aquest tiddler\nPermaview/Caption: vista permanent\nPermaview/Hint: Mostra a la barra d'adreces, l'enllaç directe cap als tiddlers que ara es veuen\nPicture/Caption: imatge\nPicture/Hint: Inserta una imatge\nPreview/Caption: previsualització\nPreview/Hint: Mostra el quadre de previsualització\nPreviewType/Caption: tipus de previsualització\nPreviewType/Hint: Trieu el tipus de previsualització\nPrint/Caption: imprimeix la pàgina\nPrint/Hint: Imprimeix la pàgina actual\nQuote/Caption: cita\nQuote/Hint: Aplica el format de cita a la selecció\nRefresh/Caption: actualitza\nRefresh/Hint: Actualitza tot el wiki\nRotateLeft/Caption: gira a l'esquerra\nRotateLeft/Hint: Gira la imatge 90 graus a l'esquerra\nSave/Caption: d'acord\nSave/Hint: Confirma els canvis d'aquest tiddler\nSaveWiki/Caption: desa els canvis\nSaveWiki/Hint: Desa els canvis\nShowSideBar/Caption: mostra la barra lateral\nShowSideBar/Hint: Mostra la barra lateral\nSidebarSearch/Hint: Trieu el camp de cerca de la barra lateral\nSize/Caption: mida de la imatge\nSize/Caption/Height: Alçada:\nSize/Caption/Resize: Mida de la  imatge\nSize/Caption/Width: Amplada:\nSize/Hint: Trieu la mida de la imatge\nStamp/Caption: Plantilla\nStamp/Caption/New: Afegeix una nova plantilla\nStamp/Hint: Inserta una plantilla de text\nStamp/New/Text: Plantilla de text. (Recordeu afegir un text descriptiu al camp //caption//).\nStamp/New/Title: Nom que es mostrarà al menú d'afegir una plantilla\nStoryView/Caption: mode de visualització\nStoryView/Hint: mode de visualització\nStrikethrough/Caption: ratllat\nStrikethrough/Hint: Aplica el format de ratllat a la selecció\nSubscript/Caption: subíndex\nSubscript/Hint: Aplica el format de subíndex a la selecció\nSuperscript/Caption: superíndex\nSuperscript/Hint: Aplica el format de superíndex a la selecció\nTagManager/Caption: gestor d'etiquetes\nTagManager/Hint: Obre el gestor d'etiquetes\nTheme/Caption: tema\nTheme/Hint: Trieu el tema\nTimestamp/Caption: marques del temps\nTimestamp/Hint: Indiqueu si voleu que s'anoti l'hora de modificació dels tiddlers\nTimestamp/Off/Caption: no anotis l'hora de modificació\nTimestamp/Off/Hint: No s'anota l'hora de modificació dels tiddlers\nTimestamp/On/Caption: anota l'hora de modificació\nTimestamp/On/Hint: S'anota l'hora de modificació dels tiddlers\nToggleSidebar/Hint: Commuta la visibilitat de la barra lateral\nTranscludify/Caption: transclusió\nTranscludify/Hint: Posa la selecció entre claus\nUnderline/Caption: subratllat\nUnderline/Hint: Aplica el format de subratllat a la selecció\nUnfold/Caption: expandeix el tiddler\nUnfold/Hint: Expandeix el cos d'aquest tiddler\nUnfoldAll/Caption: expandeix tots els tiddlers\nUnfoldAll/Hint: Expandeix el cos de tots els tiddlers oberts\n"
  },
  {
    "path": "languages/ca-ES/ControlPanel.multids",
    "content": "title: $:/language/ControlPanel/\n\nAdvanced/Caption: Avançat\nAdvanced/Hint: Informació interna sobre aquest TiddlyWiki\nAppearance/Caption: Aparença\nAppearance/Hint: Formes de personalitzar l'aparença del vostre TiddlyWiki.\nBasics/AnimDuration/Prompt: Duració de l'animació:\nBasics/AutoFocus/Prompt: Focus dels nous tiddlers\nBasics/Caption: Bàsic\nBasics/DefaultTiddlers/BottomHint: Useu &#91;&#91;claudàtors dobles&#93;&#93; per als títols amb espais. O trieu {{restaura la sessió anterior en arrencar||$:/snippets/retain-story-ordering-button}}\nBasics/DefaultTiddlers/Prompt: Tiddlers per omissió:\nBasics/DefaultTiddlers/TopHint: Trieu quins tiddlers s'han de mostrar a l'inici:\nBasics/Language/Prompt: Bon dia! Trieu l'idioma:\nBasics/NewJournal/Tags/Prompt: Etiquetes per als nous tiddlers del diari\nBasics/NewJournal/Text/Prompt: Text dels nous tiddlers del diari\nBasics/NewJournal/Title/Prompt: Títol dels nous tiddlers del diari\nBasics/NewTiddler/Tags/Prompt: Etiquetes dels nous tiddlers\nBasics/NewTiddler/Title/Prompt: Títol dels nous tiddlers\nBasics/OverriddenShadowTiddlers/Prompt: Número de tiddlers ombra sobreescrits:\nBasics/RemoveTags: Actualitza al format actual\nBasics/RemoveTags/Hint: Actualitza la configuració de les etiquetes al format actual\nBasics/ShadowTiddlers/Prompt: Número de tiddlers ombra:\nBasics/Subtitle/Prompt: Subtítol:\nBasics/SystemTiddlers/Prompt: Número de tiddlers del sistema:\nBasics/Tags/Prompt: Número d'etiquetes:\nBasics/Tiddlers/Prompt: Número de tiddlers:\nBasics/Title/Prompt: Títol d'aquest ~TiddlyWiki:\nBasics/Username/Prompt: Nom d'usuari per a signar les edicions:\nBasics/Version/Prompt: ~TiddlyWiki versió:\nEditorTypes/Caption: Tipus de l'editor\nEditorTypes/Editor/Caption: Editor\nEditorTypes/Hint: Aquests tiddlers determinen quin editor s'utilitza per a editar cada tipus de tiddler.\nEditorTypes/Type/Caption: Tipus\nInfo/Caption: Informació\nInfo/Hint: Informació sobre aquest TiddlyWiki\nKeyboardShortcuts/Add/Caption: afegeix una drecera\nKeyboardShortcuts/Add/Prompt: Escriviu aquí la drecera\nKeyboardShortcuts/Caption: Dreceres del teclat\nKeyboardShortcuts/Hint: Gestioneu l'assignació de les dreceres del teclat\nKeyboardShortcuts/NoShortcuts/Caption: No hi ha cap drecera del teclat assignada\nKeyboardShortcuts/Platform/All: Totes les plataformes\nKeyboardShortcuts/Platform/Linux: Només per a la plataforma Linux\nKeyboardShortcuts/Platform/Mac: Només per a la plataforma Macintosh\nKeyboardShortcuts/Platform/NonLinux: Només per a les plataformes No Linux\nKeyboardShortcuts/Platform/NonMac: Només per a les plataformes No Macintosh\nKeyboardShortcuts/Platform/NonWindows: Només per a les plataformes No Windows\nKeyboardShortcuts/Platform/Windows: Només per a la plataforma Windows\nKeyboardShortcuts/Remove/Hint: suprimeix la drecera del teclat\nLayoutSwitcher/Caption: Disposició\nLoadedModules/Caption: Mòduls carregats\nLoadedModules/Hint: Aquests són els mòduls tiddlers enllaçats als seus tiddlers font. Els mòduls indicats en cursiva no disposen de tiddler font, sovint per que s'han configurat a l'arrencada.\nPalette/Caption: Paleta\nPalette/Editor/Clone/Caption: clona\nPalette/Editor/Clone/Prompt: Es recomana que cloneu aquesta paleta ombra abans d'editar-la\nPalette/Editor/Delete/Hint: suprimeix aquesta entrada de la paleta actual\nPalette/Editor/Names/External/Show: Mostra el noms dels colors que no formen part de la paleta actual\nPalette/Editor/Prompt: S'està editant\nPalette/Editor/Prompt/Modified: Aquesta paleta ombra ha estat modificada\nPalette/Editor/Reset/Caption: reinicia\nPalette/HideEditor/Caption: amaga l'editor\nPalette/Prompt: Paleta actual:\nPalette/ShowEditor/Caption: mostra l'editor\nParsing/Block/Caption: Regles d'anàlisi de blocs\nParsing/Caption: Anàlisi\nParsing/Hint: Aquí podeu activar/desactivar globalment les regles de l’analitzador de wiki. Perquè els canvis tinguin efecte, deseu i torneu a carregar el vostre wiki. La desactivació de certes regles d'anàlisi pot impedir que <$text text=\"TiddlyWiki\"/> funcioni correctament. Disposeu del [[mode segur | https: //tiddlywiki.com/#SafeMode]] per restaurar el funcionament normal.\nParsing/Inline/Caption: Regles d'anàlisi en línia\nParsing/Pragma/Caption: Regles d'anàlisi Pragma\nPlugins/Add/Caption: Obtingueu més connectors\nPlugins/Add/Hint: Instal·leu connectors de la biblioteca oficial\nPlugins/AlreadyInstalled/Hint: Aquest connector ja té instal·lada la versió <$text text=<<installedVersion>>/>\nPlugins/AlsoRequires: També necessita:\nPlugins/Caption: Connectors\nPlugins/ClosePluginLibrary: tanca la biblioteca de connectors\nPlugins/Disable/Caption: desactiva\nPlugins/Disable/Hint: Desactiva aquest connector quan la pàgina es torni a carregar\nPlugins/Disabled/Status: (desactivat)\nPlugins/Downgrade/Caption: desactualitza\nPlugins/Empty/Hint: Cap\nPlugins/Enable/Caption: activa\nPlugins/Enable/Hint: Activa aquest connector quan la pàgina es torni a carregar\nPlugins/Install/Caption: instal·la\nPlugins/Installed/Hint: Connectors que ara mateix estàn carregats:\nPlugins/Languages/Caption: Idiomes\nPlugins/Languages/Hint: Connectors del paquet de l'idioma\nPlugins/NoInfoFound/Hint: No s'ha trobat ''\"<$text text=<<currentTab>>/>\"''\nPlugins/NotInstalled/Hint: Aquest connector no està instal·lat\nPlugins/OpenPluginLibrary: obre la biblioteca de connectors\nPlugins/Plugins/Caption: Connectors\nPlugins/Plugins/Hint: Connectors\nPlugins/PluginWillRequireReload: (cal tornar-ho a carregar)\nPlugins/Reinstall/Caption: torna a instal·lar\nPlugins/SubPluginPrompt: Amb <<count>> sub-connectors disponibles\nPlugins/Themes/Caption: Temes\nPlugins/Themes/Hint: Connectors del tema\nPlugins/Update/Caption: actualització\nPlugins/Updates/Caption: Actualitzacions\nPlugins/Updates/Hint: Actualitzacions disponibles dels connectors instal·lats\nPlugins/Updates/UpdateAll/Caption: Actualitza <<update-count>> connectors\nSaving/Caption: Desa\nSaving/DownloadSaver/AutoSave/Description: Permet que el gestor de baixades desi automàticament\nSaving/DownloadSaver/AutoSave/Hint: Activa el desat automàtic pel gestor de baixades\nSaving/DownloadSaver/Caption: Gestor de baixades\nSaving/DownloadSaver/Hint: Aquesta configuració s’aplica al gestor de baixades compatible amb HTML5\nSaving/General/Hint: Aquests valors s'apliquen a tots els gestors de baixades carregats\nSaving/GitHub/Branch: Branca destinació a on desar (per omissió és `master`)\nSaving/GitHub/Caption: Gestor de baixades de ~GitHub\nSaving/GitHub/Description: Aquests valors només s’utilitzen quan es desa a ~ GitHub\nSaving/GitHub/Filename: Nom del fitxer destinació (per exemple, `index.html`)\nSaving/GitHub/Password: Contrasenya, clau OAUTH o clau d'accés personal\nSaving/GitHub/Path: Ruta al fitxer destinació (per exemple, `/wiki/`)\nSaving/GitHub/Repo: Repositori destinació (per exemple, `Jermolene/TiddlyWiki5`)\nSaving/GitHub/ServerURL: URL del servidor (per omissió és `https://api.github.com`)\nSaving/GitHub/UserName: Nom d'usuari\nSaving/GitService/Branch: Branca destinació a on desar\nSaving/GitService/CommitMessage: Desat per TiddlyWiki\nSaving/GitService/Description: Aquests paràmetres només s'utilitzen quan es desa a <<service-name>>\nSaving/GitService/Filename: Nom del fitxer destinació (per exemple `index.html`)\nSaving/GitService/Gitea/Caption: Gestor de baixades Gitea\nSaving/GitService/Gitea/Password: Testimoni d'accès personal de l'API (via la interfície web de Gitea: `Paràmetres | Aplicacions | Genera un Nou Testimoni`)\nSaving/GitService/GitHub/Caption: Gestor de baixades de ~GitHub\nSaving/GitService/GitHub/Password: Contrasenya, clau OAUTH o clau d'accés personal (veieu els detalls a la [[pàgina d'ajuda del GitHub|https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line]] )\nSaving/GitService/GitLab/Caption: Gestor de baixades de ~GitLab\nSaving/GitService/GitLab/Password: Clau d'accés personal de l'API (veieu els detalls a la [[pàgina d'ajuda del GitLab|https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html]] )\nSaving/GitService/Path: Ruta del fitxer destinació (e.g. `/wiki/`)\nSaving/GitService/Repo: Repositori destinació (e.g. `Jermolene/TiddlyWiki5`)\nSaving/GitService/ServerURL: URL de l'API del servidor\nSaving/GitService/UserName: NomDUsuari\nSaving/Heading: S'està desant\nSaving/Hint: Configuració que s’utilitza per desar tot el TiddlyWiki com a un únic fitxer amb un mòdul de desar\nSaving/TiddlySpot/Advanced/Heading: Paràmetres avançats\nSaving/TiddlySpot/BackupDir: Carpeta de les còpies de seguretat\nSaving/TiddlySpot/Backups: Còpies de seguretat\nSaving/TiddlySpot/Caption: Gestor de baixades de ~TiddlySpot\nSaving/TiddlySpot/Description: Aquests paràmetres només es fan servir quan es desa a http://tiddlyspot.com o a un servidor remot compatible\nSaving/TiddlySpot/Filename: Nom del fitxer que es pujarà\nSaving/TiddlySpot/Hint: //La URL per omisió del servidor és `http://<wikiname>.tiddlyspot.com/store.cgi` i es pot canviar per l'adreça d'un servidor personalitzat com ara `http://exemple.com/botiga.php`.//\nSaving/TiddlySpot/Password: Contrasenya\nSaving/TiddlySpot/ServerURL: URL del servidor\nSaving/TiddlySpot/UploadDir: Carpeta a la que es pujarà el fitxer\nSaving/TiddlySpot/UserName: Usuari\nSettings/AutoSave/Caption: DesatAutomàtic\nSettings/AutoSave/Disabled/Description: No desis els canvis de forma automàtica\nSettings/AutoSave/Enabled/Description: Desa els canvis de forma automàtica\nSettings/AutoSave/Hint: Desa els canvis de forma automàtica mentre s'està editant\nSettings/CamelCase/Caption: Enllaços wiki tipus CamelCase\nSettings/CamelCase/Description: Activa l'enllaç automàtic tipus ~CamelCase\nSettings/CamelCase/Hint: Cal que es torni a carregar per tenir efecte\nSettings/Caption: Paràmetres\nSettings/DefaultMoreSidebarTab/Caption: Pestanya Més de la barra lateral per omissió\nSettings/DefaultMoreSidebarTab/Hint: Indiqueu la pestanya Més de la barra lateral que es mostra per omissió\nSettings/DefaultSidebarTab/Caption: Pestanya de la barra lateral que es mostra per omissió\nSettings/DefaultSidebarTab/Hint: Indiqueu la pestanya de la barra lateral que es mostra per omissió\nSettings/EditorToolbar/Caption: Barra d'eines de l'editor\nSettings/EditorToolbar/Description: Mostra la barra d'eines de l'editor\nSettings/EditorToolbar/Hint: Activa o desactiva la barra d'eines de l'editor:\nSettings/Hint: Aquests paràmetres us permeten personalitzar el comportament del TiddlyWiki.\nSettings/InfoPanelMode/Caption: Mode del tauler d'informació del Tiddler\nSettings/InfoPanelMode/Hint: Controla quan es tanca el tauler d'informació del tiddler:\nSettings/InfoPanelMode/Popup/Description: El tauler d’informació del Tiddler es tanca automàticament\nSettings/InfoPanelMode/Sticky/Description: El tauler d’informació del Tiddler roman obert fins que es tanqui explícitament\nSettings/LinkToBehaviour/Caption: Comportament d'obertura del tiddler\nSettings/LinkToBehaviour/InsideRiver/Hint: Forma d'obrir els nous tiddlers de la columna principal\nSettings/LinkToBehaviour/OpenAbove: Obre per sobre del tiddler actual\nSettings/LinkToBehaviour/OpenAtBottom: Obre a la part inferior de la cronologia\nSettings/LinkToBehaviour/OpenAtTop: Obre a la part superior de la cronologia\nSettings/LinkToBehaviour/OpenBelow: Obre per sota del tiddler actual\nSettings/LinkToBehaviour/OutsideRiver/Hint: Forma d'obrir els nous tiddlers fora de la columna principal\nSettings/MissingLinks/Caption: Enllaços Wiki\nSettings/MissingLinks/Description: Activa els enllaços als tiddlers que falten\nSettings/MissingLinks/Hint: Escolliu si voleu enllaçar els tiddlers que encara no existeixen\nSettings/NavigationAddressBar/Caption: Barra d'adreces de navegació\nSettings/NavigationAddressBar/Hint: Comportament de la barra d'adreces en navegar cap a un tiddler:\nSettings/NavigationAddressBar/No/Description: No actualitzis la barra d'adreces\nSettings/NavigationAddressBar/Permalink/Description: Inclou el tiddler destinació\nSettings/NavigationAddressBar/Permaview/Description: Inclou el tiddler destinació i la cronologia actual\nSettings/NavigationHistory/Caption: Històrial de navegació\nSettings/NavigationHistory/Hint: Actualitza l'històrial del navegador en navegar cap a un tiddler:\nSettings/NavigationHistory/No/Description: No actualitzis l'històrial\nSettings/NavigationHistory/Yes/Description: Actualitza l'històrial\nSettings/NavigationPermalinkviewMode/Caption: Mode enllaç permanent/vista permanent\nSettings/NavigationPermalinkviewMode/CopyToClipboard/Description: Copia l’URL de l'enllaç permanent/vista permanent al portapapers\nSettings/NavigationPermalinkviewMode/Hint: Trieu com es gestiona l'enllaç permanent/vista permanent\nSettings/NavigationPermalinkviewMode/UpdateAddressBar/Description: Poseu l’URL de l'enllaç permanent/vista permanent a la barra d’adreces\nSettings/PerformanceInstrumentation/Caption: Instruments del rendiment\nSettings/PerformanceInstrumentation/Description: Activa els instruments del rendiment\nSettings/PerformanceInstrumentation/Hint: Mostra les estadístiques de rendiment a la consola del desenvolupador del navegador. Cal tornar-ho a carregar per que tingui efecte\nSettings/TitleLinks/Caption: Títols dels Tiddlers\nSettings/TitleLinks/Hint: Mostra opcionalment els títols de tiddler com a enllaços\nSettings/TitleLinks/No/Description: No mostris els títols dels tiddlers com a enllaços\nSettings/TitleLinks/Yes/Description: Mostra els títols dels tiddlers com a enllaços\nSettings/ToolbarButtons/Caption: Botons de la barra d'eines\nSettings/ToolbarButtons/Hint: Aparença del botó de la barra d'eines per omissió:\nSettings/ToolbarButtons/Icons/Description: Inclou la icona\nSettings/ToolbarButtons/Text/Description: Inclou el text\nSettings/ToolbarButtonStyle/Caption: Estil del botó de la barra d’eines\nSettings/ToolbarButtonStyle/Hint: Trieu l'estil per als botons de la barra d'eines:\nSettings/ToolbarButtonStyle/Styles/Borderless: Sense vora\nSettings/ToolbarButtonStyle/Styles/Boxed: En caixa\nSettings/ToolbarButtonStyle/Styles/Rounded: Arrodonit\nStoryView/Caption: Mode de visualització\nStoryView/Prompt: Vista actual\nStylesheets/Caption: Fulls d'estil\nStylesheets/Expand/Caption: Expandeix-ho tot\nStylesheets/Hint: Aquest és el CSS generat amb el full d'estils actual etiquetat amb <<tag \"$:/tags/Stylesheet\">>\nStylesheets/Restore/Caption: Restaura\nTheme/Caption: Tema\nTheme/Prompt: Tema actual:\nTiddlerFields/Caption: Camps del tiddler\nTiddlerFields/Hint: Aquest és el conjunt complet de CampsDelsTiddlers utilitzats en aquest wiki (inclòs els tiddlers del sistema però sense incloure els tiddlers ombra).\nToolbars/Caption: Barres d'eines\nToolbars/EditorToolbar/Caption: Barra d'eines de l'editor\nToolbars/EditorToolbar/Hint: Trieu quins botons es mostren a la barra d’eines de l’editor. Alguns botons només apareixeran en editar els tiddlers d’un determinat tipus. Podeu arrossegar i deixar anar els botons per canviar-ne l'ordre.\nToolbars/EditToolbar/Caption: Barra d'eines d'edició\nToolbars/EditToolbar/Hint: Trieu quins botons es mostren als tiddlers en mode edició. Podeu arrossegar i deixar anar els botons per canviar-ne l'ordre.\nToolbars/Hint: Trieu els botons de les barres d'eines.\nToolbars/PageControls/Caption: Barra d'eines de la pàgina\nToolbars/PageControls/Hint: Trieu quins botons es mostren a la barra d'eines de la pàgina principal. Podeu arrossegar i deixar anar els botons per canviar-ne l'ordre.\nToolbars/ViewToolbar/Caption: Barra d'eines de vista\nToolbars/ViewToolbar/Hint: Trieu quins botons es mostren als tiddlers en mode vista. Podeu arrossegar i deixar anar els botons per canviar-ne l'ordre.\nTools/Download/Full/Caption: Baixa tot el wiki\n"
  },
  {
    "path": "languages/ca-ES/CoreReadMe.tid",
    "content": "title: $:/core/readme\n\nAquest connector conté  components del nucli de TiddlyWiki, com ara:\n\n* Els mòduls de codi JavaScript,\n* Icones\n* Plantilles necessàries per crear la interfície d'usuari de TiddlyWiki\n* Traduccions en Català ('ca-ES' ') de les cadenes localitzables utilitzades pel nucli"
  },
  {
    "path": "languages/ca-ES/Dates.multids",
    "content": "title: $:/language/\n\nDate/DaySuffix/1: r\nDate/DaySuffix/10: \nDate/DaySuffix/11: \nDate/DaySuffix/12: \nDate/DaySuffix/13: \nDate/DaySuffix/14: \nDate/DaySuffix/15: \nDate/DaySuffix/16: \nDate/DaySuffix/17: \nDate/DaySuffix/18: \nDate/DaySuffix/19: \nDate/DaySuffix/2: \nDate/DaySuffix/20: \nDate/DaySuffix/21: \nDate/DaySuffix/22: \nDate/DaySuffix/23: \nDate/DaySuffix/24: \nDate/DaySuffix/25: \nDate/DaySuffix/26: \nDate/DaySuffix/27: \nDate/DaySuffix/28: \nDate/DaySuffix/29: \nDate/DaySuffix/3: \nDate/DaySuffix/30: \nDate/DaySuffix/31: \nDate/DaySuffix/4: \nDate/DaySuffix/5: \nDate/DaySuffix/6: \nDate/DaySuffix/7: \nDate/DaySuffix/8: \nDate/DaySuffix/9: \nDate/Long/Day/0: Diumenge\nDate/Long/Day/1: Dilluns\nDate/Long/Day/2: Dimarts\nDate/Long/Day/3: Dimarts\nDate/Long/Day/4: Dijous\nDate/Long/Day/5: Divendres\nDate/Long/Day/6: Dissabte\nDate/Long/Month/1: de gener\nDate/Long/Month/10: d'octubre\nDate/Long/Month/11: de novembre\nDate/Long/Month/12: de desembre\nDate/Long/Month/2: de febrer\nDate/Long/Month/3: de març\nDate/Long/Month/4: d'abril de\nDate/Long/Month/5: de maig\nDate/Long/Month/6: de juny\nDate/Long/Month/7: de juliol\nDate/Long/Month/8: d'agost\nDate/Long/Month/9: de septembre\nDate/Short/Day/0: Diu\nDate/Short/Day/1: Dil\nDate/Short/Day/2: Dim\nDate/Short/Day/3: Dic\nDate/Short/Day/4: Dij\nDate/Short/Day/5: Div\nDate/Short/Day/6: Dis\nDate/Short/Month/1: Gen\nDate/Short/Month/12: Des\nDate/Short/Month/4: Abr\nDate/Short/Month/5: Mai\nDate/Short/Month/8: Ago\nDate/Period/am: del matí\nDate/Period/pm: de la tarda\nRelativeDate/Future/Days: <<period>> dies des d'ara\nRelativeDate/Future/Hours: <<period>> hores des d'ara\nRelativeDate/Future/Minutes: <<period>> minuts des d'ara\nRelativeDate/Future/Months: <<period>> mesos des d'ara\nRelativeDate/Future/Second: 1 segon des d'ara\nRelativeDate/Future/Seconds: <<period>> segons des d'ara\nRelativeDate/Future/Years: <<period>> anys des d'ara\nRelativeDate/Past/Days: fa <<period>> dies\nRelativeDate/Past/Hours: fa <<period>> hores\nRelativeDate/Past/Minutes: fa <<period>> minuts\nRelativeDate/Past/Months: fa <<period>> mesos\nRelativeDate/Past/Second: fa 1 segon\nRelativeDate/Past/Seconds: fa <<period>> segons\nRelativeDate/Past/Years: fa <<period>> anys\n"
  },
  {
    "path": "languages/ca-ES/Docs/ModuleTypes.multids",
    "content": "title: $:/language/Docs/ModuleTypes/\n\nallfilteroperator: Un suboperador per a l’operador de filtre '' all ''.\nanimation: Animacions que es poden utilitzar amb el RevealWidget.\nauthenticator: Defineix com el servidor HTTP integrat autentica les sol·licituds.\nbitmapeditoroperation: Una operació de la barra d'eines de l'editor de mapes de bits.\ncommand: Ordres que es poden executar a Node.js.\nconfig: Dades per a insertar a `$tw.config`.\nfilteroperator: Mètodes individuals de l'operador filtre.\nglobal: Dades globals per a insertar a `$tw`.\ninfo: Publica la informació del sistema mitjançant el pseudo-connector [[$:/temp/info-plugin]].\nisfilteroperator: Operands pel operador filtre ''is''.\nlibrary: Tipus de mòdul genèric per a mòduls JavaScript de propòsit general.\nmacro: Definicions de macros JavaScript.\nparser: Analitzadors sintàctics per a diferents tipus de continguts.\nroute: Defineix com el servidor HTTP integrat gestiona els patrons d’URL individuals.\nsaver: Els gestors de baixades (saver) ofereixen diferents mètodes per a desar fitxers des del navegador.\nstartup: Funcions de l'inici\nstoryview: El mode de visualització permet personalizar l'animació i el comportament de les llistes\ntexteditoroperation: Una operació de la barra d'eines de l'editor de text.\ntiddlerdeserializer: Converteix diferents tipus de contingut a tiddlers.\ntiddlerfield: Defineix el comportament d'un camp individual d'un tiddler.\ntiddlermethod: Afegeix mètodes al prototip `$tw.Tiddler`.\nupgrader: Aplica processament d'actualització als tiddlers durant una actualització o importació.\nutils: Afegeix mètodes a `$tw.utils`.\nutils-node: Afegeix mètodes específics de Node.js a `$tw.utils`.\nwidget: Els widgets encapsulen el renderitzat i l'actualització del DOM.\nwikimethod: Afegeix mètodes a `$tw.Wiki`.\nwikirule: Regles d'anàlisi sintàctic individuals per a l'analitzador sintàctic principal del WikiText.\n"
  },
  {
    "path": "languages/ca-ES/Docs/PaletteColours.multids",
    "content": "title: $:/language/Docs/PaletteColours/\n\nalert-background: Fons de l'avís\nalert-border: Vora de l'avís\nalert-highlight: Destacat de l'avís\nalert-muted-foreground: Primer plà de l'avís silenciat\nbackground: Fons general\nblockquote-bar: Barra de bloc de cita\nbutton-background: Fons del botó predeterminat\nbutton-border: Vora del botó predeterminat\nbutton-foreground: Primer pla del botó predeterminat\ncode-background: Fons del codi\ncode-border: Vora del codi\ncode-foreground: Primer plà del codi\ndirty-indicator: Indicador dels canvis sense desar\ndownload-background: Fons del botó de baixada\ndownload-foreground: Primer plà del botó de baixada\ndragger-background: Fons de l'arrossegador\ndragger-foreground: Primer plà de l'arrossegador\ndropdown-background: Fons de la llista desplegable\ndropdown-border: Vora de la llista desplegable\ndropdown-tab-background: Fons de la pestanya de la llista desplegable\ndropdown-tab-background-selected: Fons de la pestanya de la llista desplegable per les pestanyes seleccionades\ndropzone-background: Fons de la zona d'aterratge\nexternal-link-background: Fons de l'enllaç extern\nexternal-link-background-hover: Fons de la bafarada de l'enllaç extern\nexternal-link-background-visited: Fons de l'enllaç extern visitat\nexternal-link-foreground: Primer plà de l'enllaç extern\nexternal-link-foreground-hover: Primer plà de la bafarada de l'enllaç extern\nexternal-link-foreground-visited: Primer plà de l'enllaç extern visitat\nforeground: Primer plà general\nmenubar-background: Fons de la barra de menús\nmenubar-foreground: Primer plà de la barra de menús\nmessage-background: Fons de la capsa de text\nmessage-border: Vora de la capsa de text\nmessage-foreground: Primer plà de la capsa de text\nmodal-backdrop: Zona d'aterratge dels diàlegs modals\nmodal-background: Fons dels diàlegs modals\nmodal-border: Vora dels diàlegs modals\nmodal-footer-background: Fons del peu dels diàlegs modals\nmodal-footer-border: Vora del peu dels diàlegs modals\nmodal-header-border: Vora de la capçalera dels diàlegs modals\nmuted-foreground: Primer plà silenciat general\nnotification-background: Fons de la notificació\nnotification-border: Vora de la notificació\npage-background: Fons de la pàgina\npre-background: Fons del codi preformatat\npre-border: Vora del codi preformatat\nprimary: General primari\nselect-tag-background: `<select>` el fons de l’element\nselect-tag-foreground: `<select>`el  text de l'element\nsidebar-button-foreground: Primer plà del botó de la barra lateral\nsidebar-controls-foreground: Primer plà dels controls de la barra lateral\nsidebar-controls-foreground-hover: Primer plà de la bafarada dels controls de la barra lateral\nsidebar-foreground: Primer plà de la barra lateral\nsidebar-foreground-shadow: Ombra del primer plà de la barra lateral\nsidebar-muted-foreground: Primer plà de la barra lateral silenciada\nsidebar-muted-foreground-hover: Primer plà de la bafarada de la barra lateral silenciada\nsidebar-tab-background: Fons de la pestanya de la barra lateral\nsidebar-tab-background-selected: Fons de la pestanya de la barra lateral per les pestanyes seleccionades\nsidebar-tab-border: Vora de la pestanya de la barra lateral\nsidebar-tab-border-selected: Vora de la pestanya de la barra lateral per les pestanyes seleccionades\nsidebar-tab-divider: Divisor de la pestanya de la barra lateral\nsidebar-tab-foreground: Primer plà de la pestanya de la barra lateral\nsidebar-tab-foreground-selected: Primer plà de la pestanya de la barra lateral per les pestanyes seleccionades\nsidebar-tiddler-link-foreground: Primer plà de l'enllaç del tiddler de la barra lateral\nsidebar-tiddler-link-foreground-hover: Primer plà de la bafarada de l'enllaç del tiddler de la barra lateral\nsite-title-foreground: Primer pla del títol del lloc\nstatic-alert-foreground: Primer plà de l'avís estàtic\ntab-background: Fons de la pestanya\ntab-background-selected: Fons de la pestanya per les pestanyes seleccionades\ntab-border: Vora de la pestanya\ntab-border-selected: Vora de la pestanya per les pestanyes seleccionades\ntab-divider: Divisor de la pestanya\ntab-foreground: Primer plà de la pestanya\ntab-foreground-selected: Primer plà de la pestanya per les pestanyes seleccionades\ntable-border: Vora de la taula\ntable-footer-background: Fons del peu de la taula\ntable-header-background: Fons de la capçalera de la taula\ntag-background: Fons de l'etiqueta\ntag-foreground: Primer plà de l'etiqueta\ntiddler-background: Fons del tiddler\ntiddler-border: Vora del tiddler\ntiddler-controls-foreground: Primer plà dels controls del tiddler\ntiddler-controls-foreground-hover: Primer plà de la bafarada dels controls del tiddler\ntiddler-controls-foreground-selected: Primer plà dels controls del tiddler per als controls seleccionats\ntiddler-editor-background: Fons de l'editor de tiddlers\ntiddler-editor-border: Vora de l'editor de tiddlers\ntiddler-editor-border-image: Imatge de la vora de l'editor de tiddlers\ntiddler-editor-fields-even: Fons de l'editor de tiddlers per als camps parells\ntiddler-editor-fields-odd: Fons de l'editor de tiddlers per als camps senars\ntiddler-info-background: Fons del tiddler del tauler d'informació\ntiddler-info-border: Vora del tiddler del tauler d'informació\ntiddler-info-tab-background: Fons de la pestanya del tiddler del tauler d'informació\ntiddler-link-background: Fons de l'enllaç del tiddler\ntiddler-link-foreground: Primer plà de l'enllaç del tiddler\ntiddler-subtitle-foreground: Primer plà del subtitol del tiddler\ntiddler-title-foreground: Primer plà del titol del tiddler\ntoolbar-cancel-button: Primer plà del botó 'anul·la' de la caixa d'eines\ntoolbar-close-button: Primer plà del botó 'tanca' de la caixa d'eines\ntoolbar-delete-button: Primer plà del botó 'suprimeix' de la caixa d'eines\ntoolbar-done-button: Primer plà del botó 'fet' de la caixa d'eines\ntoolbar-edit-button: Primer plà del botó 'edita' de la caixa d'eines\ntoolbar-info-button: Primer plà del botó 'informació' de la caixa d'eines\ntoolbar-new-button: Primer plà del botó 'nou tiddler' de la caixa d'eines\ntoolbar-options-button: Primer plà del botó 'opcions' de la caixa d'eines\ntoolbar-save-button: Primer plà del botó 'desa' de la caixa d'eines\nuntagged-background: Fons de la píndola sense etiqueta\nvery-muted-foreground: Primer plà de l'avís molt silenciat\n"
  },
  {
    "path": "languages/ca-ES/EditTemplate.multids",
    "content": "title: $:/language/EditTemplate/\n\nBody/External/Hint: Aquest és un tiddler extern desat fora del fitxer del TiddlyWiki principal. Podeu editar les etiquetes i camps però no podeu editar directament el seu contingut\nBody/Placeholder: Escriviu el text per aquest tiddler\nBody/Preview/Type/DiffCurrent: diferències respecte l'actual\nBody/Preview/Type/DiffShadow: diferències respecte de l'ombre (si hi ha)\nBody/Preview/Type/Output: resultat\nField/Dropdown/Caption: llista de camps\nField/Dropdown/Hint: Mostra la llista de camps\nField/Remove/Caption: suprimeix el camp\nField/Remove/Hint: Suprimeix el camp\nFields/Add/Button: afegeix\nFields/Add/Button/Hint: Afegeix un camp nou al tiddler\nFields/Add/Dropdown/System: Camps del sistema\nFields/Add/Dropdown/User: Camps de l'usuari\nFields/Add/Name/Placeholder: nom del camp\nFields/Add/Prompt: Afegeix un nou camp\nFields/Add/Value/Placeholder: valors del camp\nShadow/OverriddenWarning: Aquest és un tiddler ombra modificat. Podeu restablir la versió per omisió suprimint aquest tiddler\nShadow/Warning: Aquest és un tiddler ombra. Qualsevol canvi sobreescriurà la versió per omisió\nTags/Add/Button: afegeix\nTags/Add/Button/Hint: afegeix una etiqueta\nTags/Add/Placeholder: nom de l'etiqueta\nTags/ClearInput/Caption: neteja\nTags/ClearInput/Hint: Neteja l'etiqueta\nTags/Dropdown/Caption: llista d'etiquetes\nTags/Dropdown/Hint: Mostra la llista d'etiquetes\nTitle/BadCharacterWarning: Avís: eviteu qualsevol dels caràcters <<bad-chars>> al títol d'un tiddler\nTitle/Exists/Prompt: El tiddler destinació ja existeix\nTitle/References/Prompt: Les referències següents cap aquest tiddler no s'actualitzaran automàticament:\nTitle/Relink/Prompt: Actualitza ''<$text text=<<fromTitle>>/>'' cap a ''<$text text=<<toTitle>>/>'' a les //etiquetes// i a la //lista// de camps d'altres tiddlers\nType/Delete/Caption: suprimeix el tipus de contingut\nType/Delete/Hint: Suprimeix el tipus de contingut\nType/Dropdown/Caption: llista del tipus de contingut\nType/Dropdown/Hint: Mostra la llista dels tipus de contingut\nType/Placeholder: tipus de contingut\nType/Prompt: Tipus:\n"
  },
  {
    "path": "languages/ca-ES/Exporters.multids",
    "content": "title: $:/language/Exporters/\n\nCsvFile: Fitxer CSV\nJsonFile: Fitxer JSON\nStaticRiver: HTML estàtic\nTidFile: Fitxer \".tid\"\n"
  },
  {
    "path": "languages/ca-ES/Fields.multids",
    "content": "title: $:/language/Docs/Fields/\n\n_canonical_uri: La URI sencera d'una imatge externa al tiddler\n_is_skinny: Si està present, indica que el camp de text del tiddler s'ha de carregar des del servidor\nbag: El nom del paquet del que prové el tiddler\ncaption: El text que es mostrarà en una pestanya o botó\ncolor: El valor del color CSS associat amb un tiddler\ncomponent: El nom del component responsable d'un [[tiddler d'avís|AlertMechanism]]\ncreated: La data en que es va generar el tiddler\ncreator: El nom de la persona que va generar el tiddler\ncurrent-tiddler: Utilitzat per desar la darrera còpia del tiddler de l'[[històrial|HistoryMechanism]]\ndependents: Per a un connector, llista els títols dels connectors que en depenen\ndescription: El text que descriu un connector, o un diàleg modal\ndraft.of: Per als tiddlers esborranys, conté el títol del tiddler del qual és un esborrany\ndraft.title: Per als tiddlers esborranys, conté el títol proposat per al tiddler\nfooter: El peu de text d'un giny\nhide-body: El valor de la plantilla de vista amaga el cos dels tiddlers és: ''sí''\nicon: El títol del tiddler que conté la icona associada amb el tiddler\nlibrary: Si és ''si'' indica que un tiddler s'ha desar com una biblioteca de JavaScript\nlist: Una llista ordenada dels títols dels tiddlers associats amb un tiddler\nlist-after: Si està activat, el títol del tiddler després del qual, aquest tiddler s'hauria d'afegir a la llista ordenada de títols de tiddler, o al final de la llista aquest camp hi és però és buit\nlist-before: Si està activat, el títol del tiddler abans del qual, aquest tiddler s'hauria d'afegir a la llista ordenada de títols de tiddler, o a l'inici de la llista si aquest camp hi és però està buit\nmodified: La data i hora a la que un tiddler es va modificar per darrer cop\nmodifier: El títol del tiddler associat amb la persona que va modificar per darrer cop un tiddler\nname: El nom llegible pels humans associat a un tiddler connector\nplugin-priority: Un valor numèric que indica la prioritat d'un tiddler connector\nplugin-type: El tipus de connector d'un tiddler connector\nreleased: La data de la versió de TiddlyWiki\nrevision: La revisió del tiddler que es manté al servidor\nsource: La URL orígen associada a un tiddler\nsubtitle: El text del subtítol d'un assistent\ntags: La llista d'etiquetes associades a un tiddler\ntext: El text del cos d'un tiddler\nthrottle.refresh: Si està present, l’acceleració actualitza aquest tiddler\ntitle: El nom únic d'un tiddler\ntoc-link: Si és no, suprimeix l'enllaç del tiddler a l'Índex\ntype: El tipus de contingut d'un tiddler\nversion: Informació de la versió d'un connector\n"
  },
  {
    "path": "languages/ca-ES/Filters.multids",
    "content": "title: $:/language/Filters/\n\nAllTags: Totes les etiquetes excepte les etiquetes del sistema\nAllTiddlers: Totes els tiddlers excepte els tiddlers del sistema\nDrafts: Tiddlers esborranys\nMissing: Tiddlers que no existeixen\nOrphans: Tiddlers orfes\nOverriddenShadowTiddlers: Tiddlers amb ombra sobreescrits\nRecentSystemTiddlers: Tiddlers que s'han modificat recentment, inclós els tiddlers del sistema\nRecentTiddlers: Tiddlers que s'han modificat recentment\nSessionTiddlers: Tiddlers modificats des que es va carregar el wiki\nShadowTiddlers: Tiddlers amb ombra predefinits\nStoryList: Els tiddlers de la cronologia, a excepció de <$text text=\"$:/AdvancedSearch\"/>\nSystemTags: Etiquetes del sistema\nSystemTiddlers: Tiddlers del sistema\nTypedTiddlers: Tiddlers amb text que no és wiki\n"
  },
  {
    "path": "languages/ca-ES/GettingStarted.tid",
    "content": "title: GettingStarted\n\n\\define lingo-base() $:/language/ControlPanel/Basics/\nBenvingut a ~TiddlyWiki i a la comunitat ~TiddlyWiki\n\nAbans de començar a desar informació important al ~TiddlyWiki cal que us assegureu que podeu desar els canvis de forma fiable. Veieu els detalls a https://tiddlywiki.com/#GettingStarted\n\n!! Configureu aquest ~TiddlyWiki\n\n<div class=\"tc-control-panel\">\n\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit-text tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\nVeieu més opcions al [[tauler de control|$:/ControlPanel]].\n"
  },
  {
    "path": "languages/ca-ES/Help/build.tid",
    "content": "title: $:/language/Help/build\ndescription: Executa automàticament ordres configurades\n\nConstrueix els destins indicats al wiki actual. Si no s'indica cap destí, llavors es construiran tots els destins.\n\n```\n--build <desti> [<desti> ...]\n```\n\nConstrueix els destins indicats al fitxer `tiddlywiki.info` de la carpeta wiki.\n\n"
  },
  {
    "path": "languages/ca-ES/Help/clearpassword.tid",
    "content": "title: $:/language/Help/clearpassword\ndescription: Neteja la contrasenya per a les operacions criptogràfiques següents\n\nNeteja la contrasenya per a les operacions criptogràfiques següents```--clearpassword```"
  },
  {
    "path": "languages/ca-ES/Help/default.tid",
    "content": "title: $:/language/Help/default\ndescription: \n\n\\define títolDeLOrdre()\n$:/language/Help/$títolDeLOrdre(ordre)$\n\\end\n```\nús: tiddlywiki [<carpetawiki>] [--<ordre> [<args>...]...]\n```\n\nOrdres disponibles:\n\n<ul>\n<$list filtre=\"[commands[]sort[títol]]\" variable=\"ordre\">\n<li><$link to=<<títolDeLOrdre>>><$macrocall $name=\"ordre\" $type=\"text/plain\" $output=\"text/plain\"/></$link>: <$transclude tiddler=<<títolDeLOrdre>> field=\"descripcio\"/></li>\n</$list>\n</ul>\n\nPer obtenir ajuda sobre una ordre podeu fer:\n\n```\ntiddlywiki --help <ordre>\n```\n"
  },
  {
    "path": "languages/ca-ES/Help/deletetiddlers.tid",
    "content": "title: $:/language/Help/deletetiddlers\ndescription: Suprimeix un grup de tiddlers\n\n<<.from-version \"5.1.20\">> Suprimeix un grup de tiddlers identificat per un filtre.\n\n```\n--deletetiddlers <filter>\n```\n"
  },
  {
    "path": "languages/ca-ES/Help/editions.tid",
    "content": "title: $:/language/Help/editions\ndescription: Llista les edicions disponibles de TiddlyWiki\n\nLlista els noms i descripcions de les edicions disponibles. Podeu generar un nou wiki d'una edició concreta amb l'ordre `--init`.\n\n```\n--editions\n```\n"
  },
  {
    "path": "languages/ca-ES/Help/fetch.tid",
    "content": "title: $:/language/Help/fetch\ndescription: Obté tiddlers del wiki per URL\n\nObté un o més fitxers per HTTP/HTTPS, i importa els tiddlers que compleixen un filtre, opcionalment transformant els títols entrants.\n\n```\n--fetch file <url> <filter-d-importacio> <filtre-de-transformacio>\n--fetch files <url-de-filter> <import-d-importacio> <filtre-de-transformacio>\n--fetch raw-file <url> <filtre-de-transformacio>\n--fetch raw-files <url-de-filter> <filtre-de-transformacio>\n```\n\nLes variants \"fitxer\" i \"fitxers\" obtenen els fitxers indicats i intenten importar els tiddlers dins d’ells (el mateix processament que si els fitxers s’arrosseguessin a la finestra del navegador). Les variants \"text-en-cru\" i \"texts-en-cru\" obtenen els fitxers especificats i després emmagatzemen les dades del fitxer com a text cru sense aplicar la lògica d'importació.\n\nAmb les variants \"fitxer\" i \"texts-en-cru\" només s'obté un sol fitxer i el primer paràmetre és l’URL del fitxer a llegir.\n\nAmb les variants \"fitxers\" i \"texts-en-cru\", s'obtenen diversos fitxers i el primer paràmetre és un filtre que proporciona una llista d’URL dels fitxers a llegir. Per exemple, donat un conjunt de tiddlers etiquetats com \"servidor-remot\" que tenen un camp \"url\", amb el filtre `[etiqueta[servidor-remot]get[url]]` recuperarà tots els URL disponibles.\n\nPer a les variants \"fitxer\" i \"fitxers\", el paràmetre `<import-filter> indica un filtre que determina quins tiddlers s’importen. Per omissió, és `[all[tiddlers]]` si no s'indica res.\n\nPer a totes les variants, el paràmetre `<transform-filter>` indica un filtre opcional que transforma els títols dels tiddlers importats. Per exemple, `[addprefix[$: /myimports /]]` afegiria el prefix `$: /myimports/` a cada títol.\n\nPrecedint l’ordre `--fetch` amb` --verbose` s’obtindrà informació del progrés durant la importació.\n\nTingueu en compte que TiddlyWiki no obtindrà una versió anterior d’un connector ja carregat.\n\nEl següent exemple recupera tots els tiddlers que no siguin del sistema de https://tiddlywiki.com i els desa en un fitxer JSON:\n\n```\ntiddlywiki --verbose --fetch file \"https://tiddlywiki.com/\" \"[!is[system]]\" \"\" --rendertiddler \"$:/core/templates/exporters/JsonFile\" sortida.json text/plain \"\" exportFilter \"[!is[system]]\"\n```\nEl següent exemple recupera el fitxer \"favicon\" de tiddlywiki.com i el desa en un fitxer anomenat \"sortida.ico\". Tingueu en compte que el tiddler intermedi \"Icon Tiddler\" està citat a l’ordre \"--fetch\" perquè s’utilitza com a filtre de transformació per substituir el títol per omisió, mentre que no hi ha cometes per a l’ordre \"--savetiddler\" perquè s’utilitza directament com a títol.\n\n```\ntiddlywiki --verbose --fetch raw-file \"https://tiddlywiki.com/favicon.ico\" \"[[Tiddler d'icona]]\" --savetiddler \"Tiddler d'icona\" sortida.ico\n```\n\n"
  },
  {
    "path": "languages/ca-ES/Help/help.tid",
    "content": "title: $:/language/Help/help\ndescription: Mostra l'ajuda de les ordres TiddlyWiki\n\nMostra el text d'ajuda d'una ordre:\n\n```\n--help [<ordre>]\n```Per exemple:\n\nSi no s'indica el nom de l'ordre llavors es mostra una llista de les ordres disponibles.\n"
  },
  {
    "path": "languages/ca-ES/Help/import.tid",
    "content": "title: $:/language/Help/import\ndescription: Importa els tiddlers d’un fitxer\n\nImporta tiddlers de TiddlyWiki (`.html`),` .tiddler`, `.tid`,` .json` o altres fitxers locals. Cal indicar explícitament el deserialitzador, a diferència de l’ordre `load` que infereix al deserialitzador de l’extensió del fitxer.\n\n```\n--import <ruta> <deserialitzador> [<títol>] [<codificació>]\n```\n\nEls deserialitzadors inclosos són:\n\n* application/javascript\n* application/json\n* application/x-tiddler\n* application/x-tiddler-html-div\n* application/x-tiddlers\n* text/html\n* text/plain\n\nEl títol del tiddler importat és per omissió el nom del fitxer.\n\nLa codificació predeterminada és \"utf8\", però pot ser \"base64\" per importar fitxers binaris.\n\nTingueu en compte que TiddlyWiki no importarà una versió anterior d’un connector ja carregat."
  },
  {
    "path": "languages/ca-ES/Help/init.tid",
    "content": "title: $:/language/Help/init\ndescription: Inicia una nova carpeta wiki\n\nInicialitza una [[CarpetaWiki|WikiFolders]] buida amb una còpia de l'edició indicada.\n\n```\n--init <edició> [<edició> ...]\n```\n\nPer exemple:\n\n```\ntiddlywiki ./LaMevaCarpetaWiki --init empty\n```\n\nNotes:\n\n* Si cal es generarà la carpeta wiki\n* El valor per omisió de \"edició\" és ''empty''\n* L'ordre init fracassarà si la carpeta wiki no està buida\n* L'ordre init suprimeix qualsevol definició `includeWikis` de l'edició del fitxer `tiddlywiki.info`\n* Quan s'indiqui múltiples edicions, les edicions que s'iniciïn més tard sobreescriuran qualsevol fitxer compartit amb edicions anteriors (així que el fitxer final `tiddlywiki.info` es copiarà de la darrera edció)\n* `--editions` retorna la llista d'edicions disponibles\n"
  },
  {
    "path": "languages/ca-ES/Help/listen.tid",
    "content": "title: $:/language/Help/listen\ndescription: Proporciona una interfície del servidor HTTP a TiddlyWiki\n\nServeix una wiki via HTTP.\n\nL'ordre listen utilitza Paràmetres d'Ordre amb Nom:\n\n```\n--listen [<nom>=<valor>]...\n```\n\nTots els paràmetres són opcionals amb valors predeterminats segurs i es poden especificar en qualsevol ordre. Els paràmetres reconeguts són:\n\n* ''host'': nom d'amfitrió opcional per servir (per omissió, \"127.0.0.1\" o \"localhost\")\n* ''path-prefix'' - prefix opcional per a les rutes\n* ''port'' - número de port on escoltar; Els valors no numèrics s’interpreten com a variable d’entorn del sistema des de la qual s’extreu el número de port (per omissió, \"8080\")\n* ''credentials'': ruta del fitxer CSV de les credencials (relatiu a la carpeta wiki)\n* ''anon-username'': el nom d’usuari per signar edicions per a usuaris anònims\n* ''username'' - nom d’usuari opcional per a l’autenticació bàsica\n* ''password'': contrasenya opcional per a l'autenticació bàsica\n* ''authenticated-user-header'' - nom opcional de la capçalera que s’utilitzarà per a l’autenticació de confiança\n* ''readers'' - llista separada per comes, dels usuaris que poden llegir aquesta wiki\n* ''writers': llista separada per comes, dels usuaris que poden escriure en aquesta wiki\n* ''csrf-disable'': es defineix com a \"sí\" per desactivar les comprovacions de CSRF (per omissió, \"no\")\n* ''root-tiddler'': el tiddler que servirà a l’arrel (per omissió és \"$:/core/save/all\")\n* ''root-render-type '' - el tipus de contingut amb el qual s'ha de generar el tiddler arrel (per omissió, \"text/plain\")\n* ''root-serve-type'' - el tipus de contingut amb el qual s'ha de servir el tiddler root (per omissió, \"text/html\")\n* ''tls-cert'': ruta del fitxer del certificat TLS (relatiu a la carpeta wiki)\n* ''tls-key'': ruta d'accés al fitxer de la clau TLS (relatiu a la carpeta wiki)\n* ''debug-level'' - nivell de depuració opcional; s'estableix a \"debug\" per veure els detalls de la sol·licitud (per omissió, \"cap\")\n* ''gzip'': establiu-ho a \"sí\" per habilitar la compressió gzip per a alguns extrems http (per omissió \"no\")\n\nPer obtenir informació sobre com obrir la vostra instància a tota la xarxa local i possibles problemes de seguretat, consulteu el tiddler WebServer de TiddlyWiki.com.\n"
  },
  {
    "path": "languages/ca-ES/Help/load.tid",
    "content": "title: $:/language/Help/load\ndescription: Carrega tiddlers des d'un fitxer\n\nCarrega els fitxers dels tiddlers de la versió 2.x.x del TiddlyWiki (`.html`), `.tiddler`, `.tid`, `.json` o altres fitxers \n\n```\n--load <ruta>\n```\n\nPer carregar els tiddlers d'un fitxer TiddlyWiki encriptat cal indicar la contrasenya, amb l'ordre PasswordCommand. Per exemple:\n\n```\ntiddlywiki ./ElMeuWiki --password c0ntras3nya --load la_meva_wiki.html\n```\n\nTingueu en compte que TiddlyWiki no carregarà una versió anterior d'un connector ja carregat.\n"
  },
  {
    "path": "languages/ca-ES/Help/makelibrary.tid",
    "content": "title: $:/language/Help/makelibrary\ndescription: Construeix el connector de la biblioteca necessari per a l'actualització\n\nConstrueix el tiddler `$:/UpgradeLibrary` per al procés d'actualització.\n\nLa biblioteca d'actualització es formata com un tiddler connector corrent amb el tipus de connector `library`. Conté una còpia de cada un dels connectors, temes i paquets de l'idioma disponibles al repositori del TiddlyWiki5.\n\nAquesta ordre és per a ús intern; només és rellevant per als usuaris que dissenyen un procés d'actualització a mida.\n\n```\n--makelibrary <títol>\n```\n\nEl valor per omisió de l'argument títol és `$:/UpgradeLibrary`.\n"
  },
  {
    "path": "languages/ca-ES/Help/notfound.tid",
    "content": "title: $:/language/Help/notfound\ndescription: \n\nNo podem trobar aquest tema d'ajuda"
  },
  {
    "path": "languages/ca-ES/Help/output.tid",
    "content": "title: $:/language/Help/output\ndescription: Tria la carpeta de sortida per a les ordres següents\n\nTria la carpeta de sortida per a les ordres següents. La carpeta per omisió és la subcarpeta `output` de la carpeta de l'edició.\n\n```\n--output <ruta>\n```ordre\n\nSi la ruta indicada és relativa es resoldrà a partir de la carpeta actual de treball. Per exemple: `--output .` estableix la carpeta de sortida a la carpeta de treball actual.\n\n"
  },
  {
    "path": "languages/ca-ES/Help/password.tid",
    "content": "title: $:/language/Help/password\ndescription: Tria la contrasenya per a les operacions criptogràfiques següents\n\nTria la contrasenya per a les operacions criptogràfiques següents\n\n```\n--password <contrasenya>\n```\n\n"
  },
  {
    "path": "languages/ca-ES/Help/render.tid",
    "content": "title: $:/language/Help/render\ndescription: Genera fitxers individuals a partir de tiddlers\n\nGenera els tiddlers individuals indicats per un filtre i desa els resultats als fitxers indicats.\n\nOpcionalment, es pot especificar el títol d’un tiddler de plantilla. En aquest cas, en lloc de generar directament cada tiddler, el tiddler de la plantilla es genera amb la variable \"currentTiddler\" establerta al títol del tiddler que s'està generant.\n\nTambé es pot indicar opcionalment un nom i un valor per a una altra variable.\n\n```\n--render <filtre-de-tiddler> [<nom-del-filtre>] [<render-type>] [<plantilla>] [<nom>] [<valor>]\n```\n\n* '' filtre-de-tiddler '': Filtre que indica els tiddler(s) que s'han de generar\n* '' nom-del-filtre '': Filtre opcional que transforma els títols dels tiddlers en noms de ruta. Si s'omet, el valor per omissió és `[is[tiddler]addsuffix [.html]]`, que utilitza el títol de tiddler sense modificar com a nom de fitxer\n* '' tipus-de-contingut '': tipus de contingut opcional: `text / html` (el valor per omissió) retorna el text HTML complet i ` text/plain` només retorna el contingut del text (és a dir, ignora les etiquetes HTML i altres materials no imprimibles)\n* ''plantilla'': Plantilla opcional per a generar cada tiddler\n* ''nom'': Nom de variable opcional\n* ''valor'': Valor de variable opcional\n\nPer omissió, el nom del fitxer es resol en relació amb la subcarpeta `output ' de la carpeta d’edició. L'ordre `--output` es pot utilitzar per dirigir la sortida a una altra carpeta.\n\nNotes:\n\n* A la carpeta de sortida no s'esborra cap fitxer existent\n* Es generen automàticament les carpetes que falten a la ruta del nom del fitxer.\n* En referir un tiddler amb espais al seu títol, tingueu cura de fer servir tant les cometes necessàries pel vostre intèrpret d'ordres com els dobles claudàtors de TiddlyWiki: `--render\" [[Motovun Jack.jpg]] \"`\n\n* El nom del filtre s'avalua amb els elements seleccionats establerts al títol del tiddler que s'està generant, el que permet que el títol s’utilitzi com a base per calcular el nom del fitxer. Per exemple `[encodeuricomponent[]addprefix[static/]]` s'aplica la codificació URI a cada títol i després afegeix el prefix `static/`\n\n* L'ordre `--render` reemplaça, i és més flexible, que les ordres` --rendertiddler` i `--rendertiddlers`, que estan obsoletes.\n\nExemples:\n\n* `--render \"[!is[system]]\" \"[encodeuricomponent[]addprefix[tiddlers/]addsuffix[.html]]\"` --\ngenera tots els tiddlers que no siguin del sistema com a fitxers a la carpeta \"tiddlers\" amb títols codificats per URL amb l'extensió HTML\n"
  },
  {
    "path": "languages/ca-ES/Help/rendertiddler.tid",
    "content": "title: $:/language/Help/rendertiddler\ndescription: Mostra un tiddler individual indicat per ContentTypecommand\n\nMostra un tiddler individual indicat per ContentType, per omisió `text/html` i el desa al fitxer indicat:\n\n```\n--rendertiddler <títol> <nomdelfitxer> [<tipus>]\n```\n\nPer omisió, el nom del fitxer es resoldrà de forma relativa a la carpeta `output` de la carpeta d'edició. L'ordre `--output` es pot fer servir per dirigir la sortida a una altre carpeta.\n\nLes carpetes de la ruta del fitxer que no es trobin es crearan de forma automàtica.\n"
  },
  {
    "path": "languages/ca-ES/Help/rendertiddlers.tid",
    "content": "title: $:/language/Help/rendertiddlers\ndescription: Mostra els tiddlers que coincideixen amb el filtre indicat per ContentType\n\nMostra un grup de tiddlers que coincideixen amb el filtre de fitxers separats indicat per ContentType (per omisió `text/html`) i extensió (per omisió `.html`).\n\n```\n--rendertiddlers <filtre> <plantilla> <ruta> [<tipus>] [<extensió>] [\"noclean\"]\n```\n\nPer exemple:\n\n```\n--rendertiddlers [!is[system]] $:/core/templates/static.tiddler.html ./static text/plain\n```\n\nPer omisió, la ruta es resoldrà de forma relativa a la subcarpeta `output` de la carpeta d'edició. L'ordre `--output` es pot fer servir per dirigir la sortida a una altre carpeta.\n\nTots els fitxers de la capeta destí es suprimiran a no ser que s'inclogui el paràmetre \"noclean\". La carpeta destí si no es troba es crearà de forma recursiva.\n"
  },
  {
    "path": "languages/ca-ES/Help/save.tid",
    "content": "title: $:/language/Help/save\ndescription: Desa tiddlers individuals a fitxers com a text cru\n\nDesa els tiddlers individuals indicats per un filtre en text cru o en binari als fitxers especificats.\n\n```\n--save <filtre-de-tiddler> <nom-del-filtre>\n```\n* ''filtre-de-tiddler'': Un filtre que indica els tiddler(s) que s'han de desar\n* ''nom-del-filtre'': Filtre opcional que transforma els títols de tiddler en noms de ruta. Si s'omet, el valor per omissió `[is[tiddler]]`, s'utilitza el títol del tiddler sense modificar com a nom de fitxer\n\nPer omissió, el nom del fitxer es resol en relació amb el subcarpeta `output 'de la carpeta d’edició. L'ordre `--output` es pot utilitzar per dirigir la sortida a una altra carpeta.\n\nNotes:\n\n* A la carpeta de sortida no s'esborra cap fitxer existent\n* Es generen automàticament les carpetes que falten a la ruta del nom del fitxer.\n* En guardar un tiddler amb espais en el seu títol, tingueu cura de fer servir tant les cometes necessàries pel vostre intèrpret d'ordres com els dobles claudàtors de TiddlyWiki: `--save\" [[Motovun Jack.jpg]] \"`\n* El nom del filtre s'avalua amb els elements seleccionats establerts al títol del tiddler que s'està desant, el que permet que el títol s’utilitzi com a base per calcular el nom del fitxer. Per exemple `[encodeuricomponent[]addprefix[static/]]` s'aplica la codificació URI a cada títol i després afegeix el prefix `static/`\n* L'ordre `--save` reemplaça, i és més flexible, que les ordres` --savetiddler` i `--savetiddlers`, que estan obsoletes.\n\nExemples:\n\n* `--save\" [!is[system]is[image]]\" \"[encodeuricomponent[]addprefix[tiddlers/]]\"` -- desa tots els tiddlers d'imatges que no siguin del sistema com a fitxers a la subcarpeta \"tiddlers\" amb títols codificats en URL\n"
  },
  {
    "path": "languages/ca-ES/Help/savetiddler.tid",
    "content": "title: $:/language/Help/savetiddler\ndescription: Desa un tiddler com a text cru a un fitxer\n\nDesa un tiddler individual com a text cru o en format binari al fitxer indicat.\n\n```\n--savetiddler <títol> <fitxer>\n```\n\nPer omisió, el nom del fitxer es resoldrà de forma relativa a la carpeta `output` de la carpeta d'edició. L'ordre `--output` es pot fer servir per dirigir la sortida a una altre carpeta.\n\nLes carpetes de la ruta del fitxer que no es trobin es crearan de forma automàtica.\n"
  },
  {
    "path": "languages/ca-ES/Help/savetiddlers.tid",
    "content": "title: $:/language/Help/savetiddlers\ndescription: Desa un grup de tiddlers com a text cru a una carpeta\n\nDesa un grup de tiddlers com a text com a text cru o en format binari a la carpeta indicada.\n\n```\n--savetiddlers <filtre> <ruta>\n```  Tingueu en compte que la contrasenya es transmet tal qual així que no és una bona solució d'ús general.\n\nPer omissió, la ruta es resoldrà de forma relativa a la carpeta `output` de la carpeta d'edició. L'ordre `--output` es pot fer servir per dirigir la sortida a una altre carpeta.\n\nLes carpetes de la ruta que no es trobin es crearan de forma automàtica.\n"
  },
  {
    "path": "languages/ca-ES/Help/savewikifolder.tid",
    "content": "title: $:/language/Help/savewikifolder\ndescription: Desa un wiki a una nova carpeta wiki\n\n<<.from-version \"5.1.20\">> Desa el wiki actual a una carpeta wiki, incloent el tiddlers, els connectors i la configuració:\n\n```\n--carpeta-per-desar-el-wiki <ruta-per-desar-el-wiki> [<filtre>]\n```\n\n* La carpeta de destinació de la wiki ha d'estar buida o inexistent\n* El filtre indica els tiddlers que s'han d'incloure. És opcional, per omissió és`[all[tiddlers]]`\n* Els connectors de la biblioteca oficial de complements es reemplacen per referències a aquests connectors al fitxer `tiddlywiki.info '\n* Els connectors personalitzats es descomprimeixen a la seva pròpia carpeta\n\nUn ús habitual és convertir un fitxer HTML de TiddlyWiki en una carpeta wiki:\n\n```\ntiddlywiki --load ./elmeuwiki --carpeta-per-desar-el-wiki ./la-meva-carpeta-wiki\n```\n"
  },
  {
    "path": "languages/ca-ES/Help/server.tid",
    "content": "title: $:/language/Help/server\ndescription: Proporciona una interfície de servidor HTTP a TiddlyWiki\n\nEl servidor que inclou el TiddlyWiki5 és molt simple. Encara que és compatible amb TiddlyWeb no permet moltes de les característiques necessàries que calen per a l'ús robust de l'Internet.\n\nA l'arrel, serveix per a generar un tiddler concret. Fora de l'arrel, serveis els tiddlers individuals codificats en JSON, i permet l'ús de les operacions bàsiques HTTP per `GET`, `PUT` i `DELETE`.\n\n```\n--server <port> <tiddler-arrel> <tipus-de-contingut> <tipus-de-servidor> <usuari> <contrasenya> <host> <prefix-de-la-ruta>\n```\n\nEls paràmetres són:\n\n* ''port'' - número del port que donarà el servei (per omissió \"8080\")\n* ''tiddler-arrel'' - el tiddler que donarà el servei arrel (per omissió \"$:/core/save/all\") \n* ''tipus-de-contingut'' - el tipus de contingut al qual s'haurà de generar el tiddler arrel (per omissió \"text/plain\")\n* ''tipus-de-servidor'' - el tipus de contingut amb el qual s'haurà de servir el tiddler arrel (per omissió \"text/html\")\n* ''usuari'' - nom de l'usuari per omissió per signar les edicions\n* ''contrasenya'' - contrasenya opcional per l'autenticació bàsica\n* ''host'' - nom de host opcional que donarà el servei (per omissió \"127.0.0.1\" és a dir \"localhost\")\n* ''prefix-de-la-ruta'' - prefix opcional de les rutes\n\nSi s'indica el paràmetre de la contrasenya el navegador demanarà un usuari i una contrasenya. La contrasenya es transmet tal qual així que no és una bona solució d'ús general.\n\nPer exemple:\n\n```\n--server 8080 $:/core/save/all text/plain text/html ElMeuUsuari c0ntran3nya\n```\n\nEl nom d'usuari i la contrasenya es pot indicar com a cadenes buides si voleu indicar un host o un prefix-de-la-ruta i no us cal una contrasenya:\n\n```\n--server 8080 $:/core/save/all text/plain text/html \"\" \"\" 192.168.0.245\n```\n\nPer tal d'executar diversos servidors TiddlyWiki al mateix temps, heu d'indicar un port diferent per a cada un.\n"
  },
  {
    "path": "languages/ca-ES/Help/setfield.tid",
    "content": "title: $:/language/Help/setfield\ndescription: Prepara els tiddlers externs per que puguin ser utilitzats\n\n//Tingueu en compte que aquesta ordre és experimental i podria canviar abans d'estar acabada//\n\nEstableix el camp d'un grup de tiddlers al resultat de wikificar un tiddler plantilla indicat per la variable `currentTiddler`.\n\n```\n--setfield <filtre> <nom-del-camp> <plantilla-del-títol> <tipus>\n```\n\nEls paràmetres són:\n\n* ''filtre'' - filtre que identifica els tiddlers afectats\n* ''nom-del-camp'' - el camp a modificar (per omissió \"text\")\n* ''plantilla-del-títol'' - el tiddler a wikificar del camp indicat. Si està en blanc o no hi és llavors el camp indicat es suprimirà\n* ''tipus-de-text'' - el tipus de text que cal generar (per omissió \"text/plain\"; es possible utilitzar \"text/html\" per incloure etiquetes HTML)\n"
  },
  {
    "path": "languages/ca-ES/Help/unpackplugin.tid",
    "content": "title: $:/language/Help/unpackplugin\ndescription: Extreu els tiddlers carregats d'un connector\n\nExtreu els tiddlers carregats d'un connector, generant-los com a tiddlers corrents:\n\n```\n--unpackplugin <títol>\n```\n"
  },
  {
    "path": "languages/ca-ES/Help/verbose.tid",
    "content": "title: $:/language/Help/verbose\ndescription: Llença el mode de sortida ampliada\n\nLlença la sortida ampliada, útil per a depurar ```--verbose```"
  },
  {
    "path": "languages/ca-ES/Help/version.tid",
    "content": "title: $:/language/Help/version\ndescription: Mostra el número de versió de TiddlyWiki\n\nMostra el número de versió de TiddlyWiki.```--version```"
  },
  {
    "path": "languages/ca-ES/Import.multids",
    "content": "title: $:/language/Import/\n\nEditor/Import/Heading: Importa imatges i afegeix-les a l'editor.\nImported/Hint: S'han importat els següents tiddlers:\nListing/Cancel/Caption: Anul·la\nListing/Cancel/Warning: Voley anul·lar la importació?\nListing/Hint: Aquests tiddlers estàn llestos per a ser importats\nListing/Import/Caption: Importa\nListing/Preview: Vista prèvia:\nListing/Preview/Diff: Diferències\nListing/Preview/DiffFields: Diferències (Camps)\nListing/Preview/Fields: Camps\nListing/Preview/TextRaw: Text (Cru)\nListing/Rename/CancelRename: Anul·la\nListing/Rename/ConfirmRename: Canvia el nom del tiddler\nListing/Rename/OverwriteWarning: Ja existeix un tiddler amb aquest nom.\nListing/Rename/Prompt: Canvia el nom a:\nListing/Rename/Tooltip: Canvia el nom del tiddler abans d'importar\nListing/Select/Caption: Trieu\nListing/Status/Caption: Estat\nListing/Title/Caption: Títol\nUpgrader/Plugins/Suppressed/Incompatible: Connector bloquejat incompatible o obsolet\nUpgrader/Plugins/Suppressed/Version: Connector bloquejat (degut a que la nova versió <<entrant>>  és anterior a l'actual <<actual>>)\nUpgrader/Plugins/Upgraded: Connector actualitzat de <<entrant>> a <<actualitzat>>\nUpgrader/State/Suppressed: Tiddler temporalment bloquejat\nUpgrader/System/Alert: Esteu a punt d’importar un tiddler que sobreescrigui un tiddler del nucli central. Això no és recomanable, ja que pot fer que el sistema sigui inestable\nUpgrader/System/Disabled: Tiddler del sistema inhabilitat\nUpgrader/System/Suppressed: Tiddler del sistema bloquejat\nUpgrader/System/Warning: Tiddler del nucli central\nUpgrader/ThemeTweaks/Created: Tema migrat des de <$text text=<<desde>>/>\nUpgrader/Tiddler/Disabled: Tiddler inhabilitat\nUpgrader/Tiddler/Selected: Triat pel usuari\nUpgrader/Tiddler/Unselected: Tiddler no triat.\n"
  },
  {
    "path": "languages/ca-ES/Misc.multids",
    "content": "title: $:/language/\n\nAboveStory/ClassicPlugin/Warning: Sembla que intenteu carregar un connector dissenyat per a ~TiddlyWiki Classic. Tingueu en compte que [[aquests connectors no funcionen amb la versió 5.x.x de TiddlyWiki |https://tiddlywiki.com/#TiddlyWikiClassic]]. S'han detectat connectors de ~TiddlyWiki Classic:\nBinaryWarning/Prompt: Aquest tiddler conté dades binàries\nClassicWarning/Hint: Aquest tiddler està escrit en format de text de TiddlyWiki, que no es totalment compatible amb la versió 5 de TiddlyWiki. Veieu els detalls a https://tiddlywiki.com/static/Upgrading.html .\nClassicWarning/Upgrade/Caption: actualitza\nCloseAll/Button: tanca-ho tot\nConfirmAction: Voleu continuar?\nConfirmCancelTiddler: Voleu descartar els canvis del tiddler \"<$text text=<<title>>/>\"?\nConfirmDeleteTiddler: Voleu suprimir el tiddler \"<$text text=<<title>>/>\"?\nConfirmEditShadowTiddler: Aneu a editar un TiddlerOmbra. Qualsevol canvi sobreescriurà les opcions per omisió del sistema i complicarà les actualitzacions. Segur que voleu editar \"<$text text=<<title>>/>\"?\nConfirmOverwriteTiddler: Segur que voleu sobreescriure el tiddler \"<$text text=<<title>>/>\"?\nCount: compte\nDefaultNewTiddlerTitle: Nou Tiddler\nDiffs/CountMessage: <<diff-count>> diferències\nDropMessage: Dexeu-ho anar aquí (o anul·leu-ho amb la tecla 'Escape')\nEncryption/Cancel: Anul·la\nEncryption/ConfirmClearPassword: Voleu suprimir la contrasenya? Això eliminarà l'encriptació utilitzada quan es desa aquest wiki\nEncryption/Password: Contrasenya\nEncryption/PasswordNoMatch: Les contrasenyes no coincideixen\nEncryption/PromptSetPassword: Indiqueu una nova contrasenya per aquest TiddlyWiki\nEncryption/RepeatPassword: Repetiu la contrasenya\nEncryption/SetPassword: Indiqueu la contrasenya\nEncryption/Username: Usuari\nError/Caption: S'ha produït un error\nError/Filter: S'ha produït un error del filtre\nError/FilterRunPrefix: S'ha produït un error del filtre: El prefix és desconegut\nError/FilterSyntax: S'ha produït un error de sintaxi en l'expressió del filtre\nError/FormatFilterOperator: S'ha produït un error del filtre: El sufix del operador del filtre de 'format' és desconegut\nError/IsFilterOperator: S'ha produït un error del filtre: operant desconegut per a l’operador de filtre \"is\"\nError/LoadingPluginLibrary: S'ha produït un error en carregar la biblioteca del connector\nError/NetworkErrorAlert: `<h2>''Error de la xarxa''</h2>Sembla que s'ha perdut la connexió amb el servidor. Això pot indicar un problema amb la vostra connexió de la xarxa. Intenteu restaurar la connectivitat de xarxa abans de continuar.<br><br>' Qualsevol canvi no guardat es sincronitzarà automàticament quan es restableixi la connectivitat''.'\nError/PutEditConflict: El fitxer ha canviat al servidor\nError/RecursiveTransclusion: S'ha produït un error de transclusió recursiva en el widget de transclusió\nError/RetrievingSkinny: S'ha produït un error en recuperar la llista de tiddler parcials\nError/SavingToTWEdit: S'ha produït un error en desar a TWEdit\nError/WhileSaving: S'ha produït un error en desar\nError/XMLHttpRequest: Codi d'error XMLHttpRequest\nInternalJavaScriptError/Hint: Bé, això és compromès. Es recomana que reinicieu TiddlyWiki actualitzant el navegador\nInternalJavaScriptError/Title: S'ha produït un error intern de JavaScript\nLayoutSwitcher/Description: Obre el canviador de disposició\nLazyLoadingWarning: <p>S'està tractant de carregar contingut extern de ''<$text text={{!!_canonical_uri}}/>''</p><p>Si aquest missatge no desapareix, o bé el tipus de contingut del tiddler no coincideix amb el tipus de contingut extern o bé esteu utilitzant un navegador que no admet contingut extern per als wikis carregats com a fitxers independents. Mireu https://tiddlywiki.com/#ExternalText</p>\nLoginToTiddlySpace: Inicieu la sessió a TiddlySpace\nManager/Controls/FilterByTag/None: (cap)\nManager/Controls/FilterByTag/Prompt: Filtra per etiqueta:\nManager/Controls/Order/Prompt: Ordre invers\nManager/Controls/Search/Placeholder: Cerca\nManager/Controls/Search/Prompt: Cerca:\nManager/Controls/Show/Option/Tags: etiquetes\nManager/Controls/Show/Prompt: Mostra:\nManager/Controls/Sort/Prompt: Ordena per:\nManager/Item/Colour: Color\nManager/Item/Fields: Camps\nManager/Item/Icon: Icona\nManager/Item/Icon/None: (cap)\nManager/Item/RawText: Text cru\nManager/Item/Tags: Etiquetes\nManager/Item/Tools: Eines\nManager/Item/WikifiedText: Text en format Wiki\nMissingTiddler/Hint: Falta el tiddler \"<$text text=<<currentTiddler>>/>\" - cliqueu {{||$:/core/ui/Buttons/edit}} per generar-ho\nOfficialPluginLibrary: Biblioteca Oficial de connectors de ~TiddlyWiki\nOfficialPluginLibrary/Hint: La biblioteca de complements oficials de ~TiddlyWiki a tiddlywiki.com. L'equip principal gestiona els connectors, els temes i els paquets d'idioma.\nPageTemplate/Description: disposició de ~TiddlyWiki per omissió\nPageTemplate/Name: ~PageTemplate per omissió\nPluginReloadWarning: Deseu si us plau {{$:/core/ui/Buttons/save-wiki}} i torneu a carregar {{$:/core/ui/Buttons/refresh}} per tal que els canvis als connectors es puguin activar\nRecentChanges/DateFormat: DD MMM YYYY\nShortcuts/Input/Accept/Hint: Accepta l'element triat\nShortcuts/Input/AcceptVariant/Hint: Accepta l'element triat (variant)\nShortcuts/Input/AdvancedSearch/Hint: Obre el tauler de ~AdvancedSearch des del camp de cerca de la barra lateral\nShortcuts/Input/Cancel/Hint: Neteja el camp d'entrada\nShortcuts/Input/Down/Hint: Tria l'element següent\nShortcuts/Input/Tab-Left/Hint: Tria la pestanya anterior\nShortcuts/Input/Tab-Right/Hint: Tria la pestanya següent\nShortcuts/Input/Up/Hint: Tria l'element anterior\nShortcuts/SidebarLayout/Hint: Canvia la disposició de la barra lateral\nSwitcher/Subtitle/language: Canvia l'idioma\nSwitcher/Subtitle/layout: Canvia la disposició\nSwitcher/Subtitle/palette: Canvia la paleta\nSwitcher/Subtitle/theme: Canvia el tema\nSystemTiddler/Tooltip: Aquest és un tiddler del sistema\nSystemTiddlers/Include/Prompt: Inclou els tiddlers del sistema\nTagManager/Colour/Heading: Color\nTagManager/Count/Heading: Compte\nTagManager/Icon/Heading: Icona\nTagManager/Icons/None: Cap\nTagManager/Info/Heading: Informació\nTagManager/Tag/Heading: Etiqueta\nTiddler/DateFormat: DD MMM de YYYY a les hh12:0mm am\nUnsavedChangesWarning: Teniu canvis sense desar al TiddlyWiki\nYes: Sí\n"
  },
  {
    "path": "languages/ca-ES/Modals/Download.tid",
    "content": "title: $:/language/Modals/Download\ntype: text/vnd.tiddlywiki\nsubtitle: Download changes\nfooter: <$button message=\"tm-close-tiddler\">Close</$button>\nhelp: https://tiddlywiki.com/static/DownloadingChanges.html\n\nEl vostre navegador només permet desar de forma manual. Per desar les modificacions del vostre wiki, cliqueu amb el botó dret l'enllaç per baixar de sota i trieu \"Baixa el fitxer\" o \"Desa el fitxer\", i llavors trieu la carpeta i el nom del fitxer.//Podeu accelerar-ho clicant l'enllaç amb la tecla control (Windows) o la tecla opcions/alt (Mac OS X). Es demanarà la carpeta o el nom del fitxer, però probablement el vostre navegador hi assignarà un nom irreconeixible -- haureu de reanomenar el fitxer per incloure l'extensió `.html` abans no pogueu fer res útil amb ell.//Als mòbils que no permeten baixar fitxers podeu desar l'enllaç als preferits, i llavors sincronitzar els vostres preferits a un ordinador des del que podeu desar el wiki normalment."
  },
  {
    "path": "languages/ca-ES/NewJournal.multids",
    "content": "title: $:/config/NewJournal/\n\nTags: Diari\nTitle: DD MMM YYYY\n"
  },
  {
    "path": "languages/ca-ES/Notifications.multids",
    "content": "title: $:/language/Notifications/\n\nCopiedToClipboard/Failed: No s’ha pogut copiar al porta-retalls.\nCopiedToClipboard/Succeeded: S’ha copiat al porta-retalls!\nSave/Done: S'ha desat el wiki\nSave/Starting: S'està desant el wiki\n"
  },
  {
    "path": "languages/ca-ES/Search.multids",
    "content": "title: $:/language/Search/\n\nDefaultResults/Caption: Llista\nFilter/Caption: Filtre\nFilter/Hint: Cerca amb una [[expressió de filtre|https://tiddlywiki.com/static/Filters.html]]\nFilter/Matches: //<small><<resultCount>> coincidències</small>//\nMatches: //<small><<resultCount>> coincidències</small>//\nMatches/All: Totes les coincidències:\nMatches/Title: Coincidències del títol:\nSearch: Cerca\nSearch/TooShort: El text que voleu cercar és massa curt\nShadows/Caption: Ombres\nShadows/Hint: Cerca de tiddlers ombra\nShadows/Matches: //<small><<resultCount>> coincidències</small>//\nStandard/Caption: Estàndar\nStandard/Hint: Cerca tiddlers estàndar\nStandard/Matches: //<small><<resultCount>> coincidències</small>//\nSystem/Caption: Sistema\nSystem/Hint: Cerca tiddlers del sistema\nSystem/Matches: //<small><<resultCount>> coincidències</small>//\n"
  },
  {
    "path": "languages/ca-ES/SideBar.multids",
    "content": "title: $:/language/SideBar/\n\nAll/Caption: Tot\nContents/Caption: Contingut\nDrafts/Caption: Esborranys\nExplorer/Caption: Explorador\nMissing/Caption: Falten\nMore/Caption: Més\nOpen/Caption: Obert\nOrphans/Caption: Orfes\nShadows/Caption: Ombres\nSystem/Caption: Sistema\nTags/Caption: Etiquetes\nTags/Untagged/Caption: senseEtiqueta\nTools/Caption: Eines\nTypes/Caption: Tipus\n"
  },
  {
    "path": "languages/ca-ES/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\nbloc personal no lineal"
  },
  {
    "path": "languages/ca-ES/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\nEl meu ~TiddlyWiki"
  },
  {
    "path": "languages/ca-ES/Snippets/ListByTag.tid",
    "content": "title: $:/language/Snippets/ListByTag\ntags: $:/tags/TextEditor/Snippet\ncaption: Llista de tiddlers per etiqueta\n\n<<list-links \"[tag[task]sort[title]]\">>\n"
  },
  {
    "path": "languages/ca-ES/Snippets/MacroDefinition.tid",
    "content": "title: $:/language/Snippets/MacroDefinition\ntags: $:/tags/TextEditor/Snippet\ncaption: Definició de la macro\n\n\\define macroName(param1:\"default value\",param2)\nText de la macro\n\\end\n"
  },
  {
    "path": "languages/ca-ES/Snippets/Table4x3.tid",
    "content": "title: $:/language/Snippets/Table4x3\ntags: $:/tags/TextEditor/Snippet\ncaption: Taula amb 4 columnes i 3 files\n\n|! |!Alpha |!Beta |!Gamma |!Delta |\n|!Un | | | | |\n|!Dos | | | | |\n|!Tres | | | | |\n"
  },
  {
    "path": "languages/ca-ES/Snippets/TableOfContents.tid",
    "content": "title: $:/language/Snippets/TableOfContents\ntags: $:/tags/TextEditor/Snippet\ncaption: Índex\n\n<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'Índex'>>\n\n</div>"
  },
  {
    "path": "languages/ca-ES/ThemeTweaks.multids",
    "content": "title: $:/language/ThemeTweaks/\n\nMetrics: Mides\nMetrics/BodyFontSize: Mida del tipus de lletra per al cos de tiddler\nMetrics/BodyLineHeight: Alçada de la línia per al cos de tiddler\nMetrics/FontSize: Mida del tipus de lletra\nMetrics/LineHeight: Alçada de la línia\nMetrics/SidebarBreakpoint: Punt de baixada de la cronologia\nMetrics/SidebarBreakpoint/Hint: l’amplada mínima de la pàgina en que la cronologia i la barra lateral es mostren una al costat de l'altre\nMetrics/SidebarWidth: Amplada de la barra lateral\nMetrics/SidebarWidth/Hint: l'amplada de la barra lateral amb una disposició fluida fixe\nMetrics/StoryLeft: Marge esquerra de la cronologia\nMetrics/StoryLeft/Hint: marge esquerre entre la cronologia<br>(zona dels tiddlers) i la vora esquerra de la pàgina\nMetrics/StoryRight: Marge dret de la cronologia\nMetrics/StoryRight/Hint: distància entre el marge esquerre entre la barra lateral<br>i la vora esquerra de la pàgina\nMetrics/StoryTop: Posició vertical de la cronologia\nMetrics/StoryTop/Hint: distància del marge superior de la cronologia<br>fins a la vora superior de la pàgina\nMetrics/StoryWidth: Amplada de la cronologia\nMetrics/StoryWidth/Hint: l'amplada global de la cronologia\nMetrics/TiddlerWidth: Amplada dels tiddlers\nMetrics/TiddlerWidth/Hint: a la cronologia\nOptions: Opcions\nOptions/CodeWrapping: Divideix les línies llargues dels blocs de codi\nOptions/SidebarLayout: Disposició de la barra lateral\nOptions/SidebarLayout/Fixed-Fluid: Cronologia fixa, barra lateral fluida\nOptions/SidebarLayout/Fluid-Fixed: Cronologia fluida, barra lateral fixa\nOptions/StickyTitles: Títols enganxosos\nOptions/StickyTitles/Hint: Fa que els títols del tiddler \"s'enganxin\" a la part superior de la finestra del navegador\nSettings: Paràmetres\nSettings/BackgroundImage: Imatge de fons de la pàgina\nSettings/BackgroundImageAttachment: Adjunt de la imatge de fons de la pàgina\nSettings/BackgroundImageAttachment/Fixed: Fixa-ho a la finestra\nSettings/BackgroundImageAttachment/Scroll: Desplaça-ho amb els tiddlers\nSettings/BackgroundImageSize: Mida de la imatge de fons de la pàgina\nSettings/BackgroundImageSize/Contain: Omple\nSettings/BackgroundImageSize/Cover: Retalla\nSettings/CodeFontFamily: Família del tipus de lletra del codi\nSettings/EditorFontFamily: Família del tipus de lletra de l'editor\nSettings/FontFamily: Família del tipus de lletra\nThemeTweaks: Personalitza el tema\nThemeTweaks/Hint: Podeu modificar alguns aspectes del tema ''Vainilla''.\n"
  },
  {
    "path": "languages/ca-ES/TiddlerInfo.multids",
    "content": "title: $:/language/TiddlerInfo/\n\nAdvanced/Caption: Avançat\nAdvanced/PluginInfo/Empty/Hint: cap\nAdvanced/PluginInfo/Heading: Detalls del connector\nAdvanced/PluginInfo/Hint: Aquest connector conté els següents tiddlers ombra:\nAdvanced/ShadowInfo/Heading: Estat de l'Ombra\nAdvanced/ShadowInfo/NotShadow/Hint: El tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> no és un tiddler ombra\nAdvanced/ShadowInfo/OverriddenShadow/Hint: Està sobreescrit per un tiddler corrent\nAdvanced/ShadowInfo/Shadow/Hint: El tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> és un tiddler ombra\nAdvanced/ShadowInfo/Shadow/Source: Està definit al connector <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>\nFields/Caption: Camps\nList/Caption: Llista\nList/Empty: Aquest tiddler no té una llista\nListed/Caption: Llistat\nListed/Empty: Aquest tiddler no està llistat a cap d'altre\nReferences/Caption: Referències\nReferences/Empty: No hi ha cap tiddler que enllaçi cap aquest\nTagging/Caption: Etiquetes\nTagging/Empty: No hi ha cap tiddler etiquetat amb aquest\nTools/Caption: Eines\n"
  },
  {
    "path": "languages/ca-ES/Types/application%2Fjavascript.tid",
    "content": "title: $:/language/Docs/Types/application/javascript\ndescription: Codi JavaScript\nname: application/javascript\ngroup: Desenvolupador\n"
  },
  {
    "path": "languages/ca-ES/Types/application%2Fjson.tid",
    "content": "title: $:/language/Docs/Types/application/json\ndescription: Dades JSON\nname: application/json\ngroup: Desenvolupador\n"
  },
  {
    "path": "languages/ca-ES/Types/application%2Fx-tiddler-dictionary.tid",
    "content": "title: $:/language/Docs/Types/application/x-tiddler-dictionary\ndescription: Diccionari de dades\nname: application/x-tiddler-dictionary\ngroup: Desenvolupador\n"
  },
  {
    "path": "languages/ca-ES/Types/image%2Fgif.tid",
    "content": "title: $:/language/Docs/Types/image/gif\ndescription: Imatge GIF\nname: image/gif\ngroup: Imatge\n"
  },
  {
    "path": "languages/ca-ES/Types/image%2Fjpeg.tid",
    "content": "title: $:/language/Docs/Types/image/jpeg\ndescription: Imatge JPEG\nname: image/jpeg\ngroup: Imatge\n"
  },
  {
    "path": "languages/ca-ES/Types/image%2Fpng.tid",
    "content": "title: $:/language/Docs/Types/image/png\ndescription: Imatge PNG\nname: image/png\ngroup: Imatge\n"
  },
  {
    "path": "languages/ca-ES/Types/image%2Fsvg%2Bxml.tid",
    "content": "title: $:/language/Docs/Types/image/svg+xml\ndescription: Imatge Gràfic de Vectors Estructurats\nname: image/svg+xml\ngroup: Imatge\n"
  },
  {
    "path": "languages/ca-ES/Types/text%2Fcss.tid",
    "content": "title: $:/language/Docs/Types/text/css\ndescription: Full d'estil estàtic\nname: text/css\ngroup: Desenvolupador\n"
  },
  {
    "path": "languages/ca-ES/Types/text%2Fhtml.tid",
    "content": "title: $:/language/Docs/Types/text/html\ndescription: Marques HTML\nname: text/html\ngroup: Text\n"
  },
  {
    "path": "languages/ca-ES/Types/text%2Fplain.tid",
    "content": "title: $:/language/Docs/Types/text/plain\ndescription: Text plà\nname: text/plain\ngroup: Text\n"
  },
  {
    "path": "languages/ca-ES/plugin.info",
    "content": "{\n\t\"title\": \"$:/languages/ca-ES\",\n\t\"name\": \"ca-ES\",\n\t\"plugin-type\": \"language\",\n\t\"description\": \"Català (Espanya)\",\n\t\"author\": \"Paco Rivière\",\n\t\"core-version\": \">=5.0.0\"\n}"
  },
  {
    "path": "languages/cs-CZ/Buttons.multids",
    "content": "title: $:/language/Buttons/\n\nAdvancedSearch/Caption: pokročilé hledání\nAdvancedSearch/Hint: Pokročilé hledání\nCancel/Caption: zrušit\nCancel/Hint: Zrušit editaci tohoto tiddleru\nClone/Caption: klonovat\nClone/Hint: Klonovat tento tiddler\nClose/Caption: zavřít\nClose/Hint: Zavřít tento tiddler\nCloseAll/Caption: zavřít vše\nCloseAll/Hint: Zavřít všechny tiddlery\nCloseOthers/Caption: zavřít ostatní\nCloseOthers/Hint: Zavřít ostatní tiddlery\nControlPanel/Caption: panel nastavení\nControlPanel/Hint: Otevřít panel nastavení\nDelete/Caption: smazat\nDelete/Hint: Smazat tento tiddler\nEdit/Caption: editovat\nEdit/Hint: Editovat tento tiddler\nEncryption/Caption: šifrování\nEncryption/ClearPassword/Caption: smazat heslo\nEncryption/ClearPassword/Hint: Smazat heslo a uložit tuto wiki bez šifrování\nEncryption/Hint: Nastavit nebo smazat heslo pro ukádání této wiki\nEncryption/SetPassword/Caption: nastavit heslo\nEncryption/SetPassword/Hint: Nastavit heslo pro ukládání této wiki se šifrováním\nExportPage/Caption: exportovat vše\nExportPage/Hint: Expertovat všechny tiddlery\nExportTiddler/Caption: exportovat tiddler\nExportTiddler/Hint: Exportovat tiddler\nExportTiddlers/Caption: exportovat tiddlery\nExportTiddlers/Hint: Exportovat tiddlery\nFullScreen/Caption: full-screen\nFullScreen/Hint: Přepnout full-screen mód\nHideSideBar/Caption: skrýt boční panel\nHideSideBar/Hint: Skrýt boční panel\nHome/Caption: domů\nHome/Hint: Otevřít výchozí tiddlery\nImport/Caption: import\nImport/Hint: Importovat soubory\nInfo/Caption: info\nInfo/Hint: Zobrazit info o tomto tiddleru\nLanguage/Caption: jazyk\nLanguage/Hint: Vyberte jazyk\nMore/Caption: více\nMore/Hint: Více akcí\nNewHere/Caption: nový k tomuto\nNewHere/Hint: Vytvořit nový tiddler se štítkem na tento\nNewJournal/Caption: nový deník\nNewJournal/Hint: Vytvořit nový deníkový tiddler\nNewJournalHere/Caption: nový deník k tomuto\nNewJournalHere/Hint: Vytvořit nový deníkový tiddler se štítkem na tento\nNewTiddler/Caption: nový tiddler\nNewTiddler/Hint: Vytvořit nový tiddler\nPermalink/Caption: permalink\nPermalink/Hint: Nastavit adresu v prohlížeči na přímý odkaz na tento tiddler\nPermaview/Caption: permaview\nPermaview/Hint: Nastavit adresu v prohlížeči na přímý odkaz na tok zobrazených tiddlery\nRefresh/Caption: obnovit\nRefresh/Hint: Spustit znovunačtení wiki\nSave/Caption: uložit\nSave/Hint: Uložit tento tiddler\nSaveWiki/Caption: uložit změny\nSaveWiki/Hint: Uložit změny\nShowSideBar/Caption: zobrazit boční panel\nShowSideBar/Hint: Zobrazit boční panel\nStoryView/Caption: styl zobrazování\nStoryView/Hint: Vybrat styl zobrazování\nTagManager/Caption: správce štítků\nTagManager/Hint: Otevřít správce štítků\nTheme/Caption: vzhled\nTheme/Hint: výběr vzhledu\n"
  },
  {
    "path": "languages/cs-CZ/ControlPanel.multids",
    "content": "title: $:/language/ControlPanel/\n\nAdvanced/Caption: Pokročilé\nAdvanced/Hint: Podrobnější informace o této TiddlyWiki\nAppearance/Caption: Vzhled\nAppearance/Hint: Možnosti přizpůsobení vzhledu vaší TiddlyWiki.\nBasics/AnimDuration/Prompt: Délka animace:\nBasics/Caption: Základní\nBasics/DefaultTiddlers/BottomHint: Použijte &#91;&#91;dvojité hranaté závorky&#93;&#93; pro názvy s mezerami. Nebo můžete zvolit {{zachování toku||$:/snippets/retain-story-ordering-button}}\nBasics/DefaultTiddlers/Prompt: Výchozí tiddlery:\nBasics/DefaultTiddlers/TopHint: Vyberte které tiddlery budou zobrazeny po spuštění:\nBasics/Language/Prompt: Ahoj! Aktuální jazyk:\nBasics/NewJournal/Tags/Prompt: Štítky pro nové deníkové tiddlery\nBasics/NewJournal/Title/Prompt: Název nových deníkových tiddlerů\nBasics/OverriddenShadowTiddlers/Prompt: Počet přepsaných stínových tiddlerů:\nBasics/ShadowTiddlers/Prompt: Počet stínových tiddlerů:\nBasics/Subtitle/Prompt: Podtitul:\nBasics/SystemTiddlers/Prompt: Počet systémových tiddlerů:\nBasics/Tags/Prompt: Počet štítků:\nBasics/Tiddlers/Prompt: Počet tiddlerů:\nBasics/Title/Prompt: Název této ~TiddlyWiki:\nBasics/Username/Prompt: Jméno do podpisu:\nBasics/Version/Prompt: Verze ~TiddlyWiki:\nEditorTypes/Caption: Typy editorů\nEditorTypes/Editor/Caption: Editor\nEditorTypes/Hint: Tyto tiddlery určují, který editor bude použit pro úpravu daného typu tiddleru.\nEditorTypes/Type/Caption: Typ\nInfo/Caption: Info\nInfo/Hint: Informace o této TiddlyWiki\nLoadedModules/Caption: Nahrané moduly\nLoadedModules/Hint: Toto jsou aktálně nahrané moduly spojené s jejich zdrojovými tiddlery. Kurzívou psaným modulům chybí zdrojový tiddler, obvykle proto, že byli nastaveny během startu.\nPalette/Caption: Paleta barev\nPalette/Editor/Clone/Caption: zkopírovat\nPalette/Editor/Clone/Prompt: Doporučujeme si tuto paletu před úpravami zkopírovat\nPalette/Editor/Prompt: Editace\nPalette/Editor/Prompt/Modified: Tato paleta byla upravena\nPalette/Editor/Reset/Caption: reset\nPalette/HideEditor/Caption: skrýt editor\nPalette/Prompt: Aktivní paleta:\nPalette/ShowEditor/Caption: zobrazit editor\nPlugins/Caption: Pluginy\nPlugins/Disable/Caption: vypnout\nPlugins/Disable/Hint: Vypne tento plugin po obnovení stránky\nPlugins/Disabled/Status: (vypnuto)\nPlugins/Empty/Hint: Žadný\nPlugins/Enable/Caption: zapnout\nPlugins/Enable/Hint: Zapne tento plugin po obnovení stránky\nPlugins/Language/Prompt: Jazyky\nPlugins/Plugin/Prompt: Pluginy\nPlugins/Theme/Prompt: Témata\nSaving/Caption: Ukládání\nSaving/Heading: Ukládání\nSaving/TiddlySpot/Advanced/Heading: Pokročilé nastavení\nSaving/TiddlySpot/BackupDir: Složka záloh\nSaving/TiddlySpot/Backups: Zálohy\nSaving/TiddlySpot/Description: Toto nastavení je použito pouze pro ukládání na http://tiddlyspot.com nebo kompatibilní server\nSaving/TiddlySpot/Filename: Jméno souboru pro upload\nSaving/TiddlySpot/Heading: ~TiddlySpot\nSaving/TiddlySpot/Hint: //Výchozí URL serveru je `http://<wikiname>.tiddlyspot.com/store.cgi` a může být změněno na adresu vlastního serveru//\nSaving/TiddlySpot/Password: Heslo\nSaving/TiddlySpot/ServerURL: URL serveru\nSaving/TiddlySpot/UploadDir: Složka pro upload\nSaving/TiddlySpot/UserName: Wiki Jméno\nSettings/AutoSave/Caption: Autosave\nSettings/AutoSave/Disabled/Description: Neukládat změny automaticky\nSettings/AutoSave/Enabled/Description: Ukládat změny automaticky\nSettings/AutoSave/Hint: Automatické ukládání změn během editace\nSettings/Caption: Nastavení\nSettings/Hint: Tato nastavení ovlivňují chování TiddlyWiki.\nSettings/NavigationAddressBar/Caption: Adresní řádek prohlížeče\nSettings/NavigationAddressBar/Hint: Chování adresního řádku během pohybu mezi tiddlery:\nSettings/NavigationAddressBar/No/Description: Neměnit adresní řádek\nSettings/NavigationAddressBar/Permalink/Description: Vložit cílový tiddler\nSettings/NavigationAddressBar/Permaview/Description: Vložit cílový tiddler a tok tiddlerů\nSettings/NavigationHistory/Caption: Historie navigace\nSettings/NavigationHistory/Hint: Chování historie prohížeče během pohybu mezi tiddlery:\nSettings/NavigationHistory/No/Description: Neukládat historii\nSettings/NavigationHistory/Yes/Description: Ukládat historii\nSettings/ToolbarButtons/Caption: Lišta tlačítek\nSettings/ToolbarButtons/Hint: Výchozí zobrazení lišty tlačítek:\nSettings/ToolbarButtons/Icons/Description: Včetně ikon\nSettings/ToolbarButtons/Text/Description: Včetně textu\nStoryView/Caption: Zobrazení toku tiddlerů\nStoryView/Prompt: Aktivní zobrazení:\nTheme/Caption: Téma\nTheme/Prompt: Aktivní téma:\nTiddlerFields/Caption: Pole tiddleru\nTiddlerFields/Hint: Toto je kompletí set polí tiddleru použitých v tété wiki (včetně systémových ale bez stínových)\nToolbars/Caption: Lišty tlačítek\nToolbars/EditToolbar/Caption: Editační lištu\nToolbars/EditToolbar/Hint: Vyberte, které tlačítka budou zobrazena při editaci tiddleru\nToolbars/Hint: Vyberte, které tlačítka budou zobrazena\nToolbars/PageControls/Caption: Hlavní lišta\nToolbars/PageControls/Hint: Vyberte, které tlačítka budou zobrazena na hlavní liště\nToolbars/ViewToolbar/Caption: Lišta tiddleru\nToolbars/ViewToolbar/Hint: Vyberte, které tlačítka budou zobrazena při prohlížení tiddleru\nTools/Download/Full/Caption: Stáhnout kompletní wiki\n"
  },
  {
    "path": "languages/cs-CZ/CoreReadMe.tid",
    "content": "title: $:/core/cs-CZ/readme\n\nTento plugin obsahuje hlavní komponenty TiddlyWiki, jako jsou:\n\n* JavaScript kód\n* Ikony\n* Šablony potřebné k vytvoření uživatelského rozhraní TiddlyWiki\n* Anglickou (en-GB) verzi základních textů\n"
  },
  {
    "path": "languages/cs-CZ/Dates.multids",
    "content": "title: $:/language/\n\nDate/DaySuffix/1: .\nDate/DaySuffix/10: .\nDate/DaySuffix/11: .\nDate/DaySuffix/12: .\nDate/DaySuffix/13: .\nDate/DaySuffix/14: .\nDate/DaySuffix/15: .\nDate/DaySuffix/16: .\nDate/DaySuffix/17: .\nDate/DaySuffix/18: .\nDate/DaySuffix/19: .\nDate/DaySuffix/2: .\nDate/DaySuffix/20: .\nDate/DaySuffix/21: .\nDate/DaySuffix/22: .\nDate/DaySuffix/23: .\nDate/DaySuffix/24: .\nDate/DaySuffix/25: .\nDate/DaySuffix/26: .\nDate/DaySuffix/27: .\nDate/DaySuffix/28: .\nDate/DaySuffix/29: .\nDate/DaySuffix/3: .\nDate/DaySuffix/30: .\nDate/DaySuffix/31: .\nDate/DaySuffix/4: .\nDate/DaySuffix/5: .\nDate/DaySuffix/6: .\nDate/DaySuffix/7: .\nDate/DaySuffix/8: .\nDate/DaySuffix/9: .\nDate/Long/Day/0: Neděle\nDate/Long/Day/1: Pondělí\nDate/Long/Day/2: Úterý\nDate/Long/Day/3: Středa\nDate/Long/Day/4: Čtvrtek\nDate/Long/Day/5: Pátek\nDate/Long/Day/6: Sobota\nDate/Long/Month/1: Leden\nDate/Long/Month/10: Říjen\nDate/Long/Month/11: Listopad\nDate/Long/Month/12: Prosinec\nDate/Long/Month/2: Únor\nDate/Long/Month/3: Březen\nDate/Long/Month/4: Duben\nDate/Long/Month/5: Květen\nDate/Long/Month/6: Červen\nDate/Long/Month/7: Červenec\nDate/Long/Month/8: Srpen\nDate/Long/Month/9: Září\nDate/Period/am: dop\nDate/Period/pm: odp\nDate/Short/Day/0: Ne\nDate/Short/Day/1: Po\nDate/Short/Day/2: Út\nDate/Short/Day/3: St\nDate/Short/Day/4: Čt\nDate/Short/Day/5: Pá\nDate/Short/Day/6: So\nDate/Short/Month/1: Led\nDate/Short/Month/10: Říj\nDate/Short/Month/11: Lis\nDate/Short/Month/12: Pro\nDate/Short/Month/2: Úno\nDate/Short/Month/3: Bře\nDate/Short/Month/4: Dub\nDate/Short/Month/5: Kvě\nDate/Short/Month/6: Čer\nDate/Short/Month/7: Čec\nDate/Short/Month/8: Srp\nDate/Short/Month/9: Zář\nRelativeDate/Future/Days: za <<period>> dní(y)\nRelativeDate/Future/Hours: za <<period>> hodin(y)\nRelativeDate/Future/Minutes: za <<period>> minut(y)\nRelativeDate/Future/Months: za <<period>> měsíce(ů)\nRelativeDate/Future/Second: za 1 sekundu\nRelativeDate/Future/Seconds: za <<period>> sekund(y)\nRelativeDate/Future/Years: za <<period>> rok(y/ů)\nRelativeDate/Past/Days: před <<period>> dny\nRelativeDate/Past/Hours: před <<period>> hodinami\nRelativeDate/Past/Minutes: před <<period>> minutami\nRelativeDate/Past/Months: před <<period>> měsíci(em)\nRelativeDate/Past/Second: před 1 sekundou\nRelativeDate/Past/Seconds: před <<period>> sekundami\nRelativeDate/Past/Years: před <<period>> roky(em)\n"
  },
  {
    "path": "languages/cs-CZ/Docs/ModuleTypes.multids",
    "content": "title: $:/language/Docs/ModuleTypes/\n\nanimation: Animace může být použita s RevealWidget.\ncommand: Příkaz spustitelný pomocí Node.js.\nconfig: Data použitelná v `$tw.config`.\nfilteroperator: Operator individuálního filtru\nglobal: Globální data použitelná v `$tw`.\nisfilteroperator: Operand pro filtr ''is''.\nmacro: Definice JavaScript maker\nparser: Parsery pro různé typy obsahu.\nsaver: Obsluhuje různé způsoby ukládná souborů z prohlížeče.\nstartup: Funkce spouštěné při startu\nstoryview: Upravuje animace a chování widgetů\ntiddlerdeserializer: Převádí různé druhy obsahu do tiddlerů\ntiddlerfield: Určuje chování jednotlivých polí tiddleru\ntiddlermethod: Přidává metody do `$tw.Tiddler` prototypu.\nupgrader: Provádí upgrade tiddleru během upgrade/importu.\nutils: Přidává metody do `$tw.utils`.\nutils-node: Přidává metody z Node.js-specific do `$tw.utils`.\nwidget: Zapouzdřuje zobrazování a obnovování\nwikimethod: Přidává metody do `$tw.Wiki`.\nwikirule: Individuální pravidla pro hlavní WikiText parser.\n"
  },
  {
    "path": "languages/cs-CZ/Docs/PaletteColours.multids",
    "content": "title: $:/language/Docs/PaletteColours/\n\nalert-background: Alert background\nalert-border: Alert border\nalert-highlight: Alert highlight\nalert-muted-foreground: Alert muted foreground\nbackground: General background\nblockquote-bar: Blockquote bar\ncode-background: Code background\ncode-border: Code border\ncode-foreground: Code foreground\ndirty-indicator: Unsaved changes indicator\ndownload-background: Download button background\ndownload-foreground: Download button foreground\ndragger-background: Dragger background\ndragger-foreground: Dragger foreground\ndropdown-background: Dropdown background\ndropdown-border: Dropdown border\ndropdown-tab-background: Dropdown tab background\ndropdown-tab-background-selected: Dropdown tab background for selected tabs\ndropzone-background: Dropzone background\nexternal-link-background: External link background\nexternal-link-background-hover: External link background hover\nexternal-link-background-visited: External link background visited\nexternal-link-foreground: External link foreground\nexternal-link-foreground-hover: External link foreground hover\nexternal-link-foreground-visited: External link foreground visited\nforeground: General foreground\nmessage-background: Message box background\nmessage-border: Message box border\nmessage-foreground: Message box foreground\nmodal-backdrop: Modal backdrop\nmodal-background: Modal background\nmodal-border: Modal border\nmodal-footer-background: Modal footer background\nmodal-footer-border: Modal footer border\nmodal-header-border: Modal header border\nmuted-foreground: General muted foreground\nnotification-background: Notification background\nnotification-border: Notification border\npage-background: Page background\npre-background: Preformatted code background\npre-border: Preformatted code border\nprimary: General primary\nsidebar-button-foreground: Sidebar button foreground\nsidebar-controls-foreground: Sidebar controls foreground\nsidebar-controls-foreground-hover: Sidebar controls foreground hover\nsidebar-foreground: Sidebar foreground\nsidebar-foreground-shadow: Sidebar foreground shadow\nsidebar-muted-foreground: Sidebar muted foreground\nsidebar-muted-foreground-hover: Sidebar muted foreground hover\nsidebar-tab-background: Sidebar tab background\nsidebar-tab-background-selected: Sidebar tab background for selected tabs\nsidebar-tab-border: Sidebar tab border\nsidebar-tab-border-selected: Sidebar tab border for selected tabs\nsidebar-tab-divider: Sidebar tab divider\nsidebar-tab-foreground: Sidebar tab foreground\nsidebar-tab-foreground-selected: Sidebar tab foreground for selected tabs\nsidebar-tiddler-link-foreground: Sidebar tiddler link foreground\nsidebar-tiddler-link-foreground-hover: Sidebar tiddler link foreground hover\nstatic-alert-foreground: Static alert foreground\ntab-background: Tab background\ntab-background-selected: Tab background for selected tabs\ntab-border: Tab border\ntab-border-selected: Tab border for selected tabs\ntab-divider: Tab divider\ntab-foreground: Tab foreground\ntab-foreground-selected: Tab foreground for selected tabs\ntable-border: Table border\ntable-footer-background: Table footer background\ntable-header-background: Table header background\ntag-background: Tag background\ntag-foreground: Tag foreground\ntiddler-background: Tiddler background\ntiddler-border: Tiddler border\ntiddler-controls-foreground: Tiddler controls foreground\ntiddler-controls-foreground-hover: Tiddler controls foreground hover\ntiddler-controls-foreground-selected: Tiddler controls foreground for selected controls\ntiddler-editor-background: Tiddler editor background\ntiddler-editor-border: Tiddler editor border\ntiddler-editor-border-image: Tiddler editor border image\ntiddler-editor-fields-even: Tiddler editor background for even fields\ntiddler-editor-fields-odd: Tiddler editor background for odd fields\ntiddler-info-background: Tiddler info panel background\ntiddler-info-border: Tiddler info panel border\ntiddler-info-tab-background: Tiddler info panel tab background\ntiddler-link-background: Tiddler link background\ntiddler-link-foreground: Tiddler link foreground\ntiddler-subtitle-foreground: Tiddler subtitle foreground\ntiddler-title-foreground: Tiddler title foreground\ntoolbar-cancel-button: Toolbar 'cancel' button foreground\ntoolbar-close-button: Toolbar 'close' button foreground\ntoolbar-delete-button: Toolbar 'delete' button foreground\ntoolbar-done-button: Toolbar 'done' button foreground\ntoolbar-edit-button: Toolbar 'edit' button foreground\ntoolbar-info-button: Toolbar 'info' button foreground\ntoolbar-new-button: Toolbar 'new tiddler' button foreground\ntoolbar-options-button: Toolbar 'options' button foreground\ntoolbar-save-button: Toolbar 'save' button foreground\nuntagged-background: Untagged pill background\nvery-muted-foreground: Very muted foreground\n"
  },
  {
    "path": "languages/cs-CZ/EditTemplate.multids",
    "content": "title: $:/language/EditTemplate/\n\nBody/External/Hint: Tohle je externí tiddler uložený mimo hlavní soubor TiddlyWiki. Můžete upravovat štítky a pole, ale nemůžete přímo upravovat samotný obsah\nBody/Placeholder: Vložte text...\nField/Remove/Caption: odstranit pole\nField/Remove/Hint: Odstranit pole\nFields/Add/Button: přidat\nFields/Add/Name/Placeholder: název pole\nFields/Add/Prompt: Přidat nové pole:\nFields/Add/Value/Placeholder: hodnota pole\nShadow/OverriddenWarning: Tohle je upravený stínový tiddler. Výchozí verzi můžete obnovit smazáním tohoto tiddleru\nShadow/Warning: Tohle je stínový tiddler. Změny v něm přepíší výchozí verzi\nTags/Add/Button: přidat\nTags/Add/Placeholder: název štítku\nTags/Dropdown/Caption: seznam štítků\nTags/Dropdown/Hint: Zobrazit seznam štítků\nType/Delete/Caption: smazat typ obsahu\nType/Delete/Hint: Smazat typ obsahu\nType/Dropdown/Caption: seznam typů obsahu\nType/Dropdown/Hint: Zobrazit seznam typů obsahu\nType/Placeholder: typ obsahu\nType/Prompt: Typ:\n"
  },
  {
    "path": "languages/cs-CZ/Exporters.multids",
    "content": "title: $:/language/Exporters/\n\nCsvFile: CSV soubor\nJsonFile: JSON soubor\nStaticRiver: Tok tiddlerů jako statický HTML soubor\nTidFile: Samostatný tiddler \".tid\" soubor\n"
  },
  {
    "path": "languages/cs-CZ/Fields.multids",
    "content": "title: $:/language/Docs/Fields/\n\n_canonical_uri: Kompletní URI exerního obrázkového tiddleru\nbag: The name of the bag from which a tiddler came\ncaption: Text zobrazený záložce nebo tlačítku\ncolor: CSS barva tiddleru\ncomponent: Název komponenty zodpovědné za [[alert tiddler|AlertMechanism]]\ncreated: Datum vytvoření tiddleru\ncreator: Jméno tvůrce riddleru\ncurrent-tiddler: Použito pro uložení tiddleru do cache v [[history list|HistoryMechanism]]\ndependents: Pro plugin, seznam závislých pluginů\ndescription: Popis pluginu nebo dialogu\ndraft.of: Pro rozepsané tiddlery, obsahuje titulek s popisem, že se jedná o rozepsané tiddlery\ndraft.title: Pro rozepsané tiddlery, obsahuje návrhy názvů pro nový tiddler\nfooter: Patička\nicon: Název tiddleru obsahujícím ikonu\nlibrary: Je-li nastaveno na \"ano\", pak se tiddler bude ukládán jako JavaScriptový soubor\nlist: Seřazený seznam názvu tiddleru\nlist-after: If set, the title of the tiddler after which this tiddler should be added to the ordered list of tiddler titles\nlist-before: If set, the title of a tiddler before which this tiddler should be added to the ordered list of tiddler titles, or at the start of the list if this field is present but empty\nmodified: Datum a čas poslední úpravy tiddleru\nmodifier: Jméno člověka, který naposledy upravoval tiddler\nname: Název pluginu\nplugin-priority: Priorita pluginu\nplugin-type: Druh pluginu\nreleased: Datum vydání TiddlyWiki\nrevision: Verze tiddleru\nsource: Zdrojová URL tiddleru\nsubtitle: Podtitulek\ntags: Seznam štítků tiddleru\ntext: Text tiddleru\ntitle: Unikátní název tiddleru\ntype: Typ obsahu tiddleru\nversion: Verze pluginu\n"
  },
  {
    "path": "languages/cs-CZ/Filters.multids",
    "content": "title: $:/language/Filters/\n\nAllTags: Všechny štítky kromě systémových\nAllTiddlers: Všechny tiddlery kromě systémových\nDrafts: Rozepsané tiddlery\nMissing: Chybějící tiddlery\nOrphans: Osamocené tiddlery\nOverriddenShadowTiddlers: Přepsané stínové tiddlery tiddlery\nRecentSystemTiddlers: Nedávno upravené tiddlery včetně systémových\nRecentTiddlers: Nedávno upravené tiddlery\nShadowTiddlers: Stínové tiddlery\nSystemTags: Systémové štítky\nSystemTiddlers: Systémové tiddlery\n"
  },
  {
    "path": "languages/cs-CZ/GettingStarted.tid",
    "content": "title: GettingStarted\n\n\\define lingo-base() $:/language/ControlPanel/Basics/\nVítejte v ~TiddlyWiki a v ~TiddlyWiki komunitě\n\nNež začnete používat ~TiddlyWiki pro záznam důležitých informací, je potřeba se přesvědčit, zda lze informace v pořádku uložit na disk\nZjistěte více na https://tiddlywiki.com/#GettingStarted\n\n!! Nastavte si tutos ~TiddlyWiki\n\n<div class=\"tc-control-panel\">\n\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit-text tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\nV sekci [[control panel|$:/ControlPanel]] najdete další nastavení\n"
  },
  {
    "path": "languages/cs-CZ/Import.multids",
    "content": "title: $:/language/Import/\n\nListing/Cancel/Caption: Zrušit\nListing/Hint: Tyto tiddlery jsou připraveny k importu:\nListing/Import/Caption: Importovat\nListing/Select/Caption: Vybrat\nListing/Status/Caption: Status\nListing/Title/Caption: Titulek\nUpgrader/Plugins/Suppressed/Incompatible: Zablokovaný nekompatibilní nebo zastaralý plugin\nUpgrader/Plugins/Suppressed/Version: Blokovaný plugin (protože nahrávaný <<incoming>>  je starší než v systému existující <<existing>>)\nUpgrader/Plugins/Upgraded: Upgradeovaný plugin z <<incoming>> na <<upgraded>>\nUpgrader/State/Suppressed: Blokovaný dočasný tiddler\nUpgrader/System/Suppressed: Blokovaný systemový tiddler\nUpgrader/ThemeTweaks/Created: Změněné téma upravené z <$text text=<<from>>/>\n"
  },
  {
    "path": "languages/cs-CZ/Misc.multids",
    "content": "title: $:/language/\n\nBinaryWarning/Prompt: Tento tiddler obsahuje binární data\nClassicWarning/Hint: Tento tiddler používá formát textu z TiddlyWiki Classic, který není plně kompatibilní s TiddlyWiki verze 5. Na https://tiddlywiki.com/static/Upgrading.html zjistíte více. \nClassicWarning/Upgrade/Caption: upgrade\nCloseAll/Button: zavřít vše\nConfirmCancelTiddler: Chcete zrušit změny v tiddleru \"<$text text=<<title>>/>\"?\nConfirmDeleteTiddler: Chcete smazat tiddler \"<$text text=<<title>>/>\"?\nConfirmEditShadowTiddler: Chystáte se editovat stínový tiddler. Změny přepíšý výchozí nastavení systému, díky čemuž mohou nastat komplikace při pozdějších upgrade.Opravdu chcete editovat \"<$text text=<<title>>/>\"?\nConfirmOverwriteTiddler: Chcete přepsat tiddler \"<$text text=<<title>>/>\"?\nDefaultNewTiddlerTitle: Nový Tiddler\nDropMessage: Zde pusťte (nebo zmáčknutím Esc zrušte)\nEncryption/ConfirmClearPassword: Chcete ztušit heslo? Tím se zruší šifrování této wiki\nEncryption/PromptSetPassword: Nastavte nové heslo pro tuto TiddlyWiki\nMissingTiddler/Hint: Chybějící tiddler \"<$text text=<<currentTiddler>>/>\" - klikněte na {{||$:/core/ui/Buttons/edit}} pro jeho vytvoření\nRecentChanges/DateFormat: DD. MM. YYYY\nSystemTiddler/Tooltip: Toto je systémový tiddler\nTagManager/Colour/Heading: Barva\nTagManager/Icon/Heading: Ikona\nTagManager/Info/Heading: Info\nTagManager/Tag/Heading: Štítek\nUnsavedChangesWarning: Máte neuložené změny\n"
  },
  {
    "path": "languages/cs-CZ/Modals/Download.tid",
    "content": "title: $:/language/Modals/Download\ntype: text/vnd.tiddlywiki\nsubtitle: Download changes\nfooter: <$button message=\"tm-close-tiddler\">Close</$button>\nhelp: https://tiddlywiki.com/static/DownloadingChanges.html\n\nVáš prohlížeč umožnuje pouze ruční ukládání.\n\nAbyste uložili vaši upravenou wiki, klikněte pravým tlačítkem myši na odkaz ke stažení níže a zvolte \"Stáhnout soubor\" nebo \"Uložit soubor\" a potom vyberte složku a jméno souboru pro uložení.\n\nNa smartphonech, které neumožnují soubory stahovat, můžete odkaz vložit do záložek a záložky synchronizovat s běžným PC. Odtud pak wiki uložíte normálně.\n"
  },
  {
    "path": "languages/cs-CZ/NewJournal.multids",
    "content": "title: $:/config/NewJournal/\n\nTags: Deník\nTitle: DD. MM. YYYY\n"
  },
  {
    "path": "languages/cs-CZ/Notifications.multids",
    "content": "title: $:/language/Notifications/\n\nSave/Done: Wiki uložena\nSave/Starting: Ukládám wiki\n"
  },
  {
    "path": "languages/cs-CZ/Search.multids",
    "content": "title: $:/language/Search/\n\nDefaultResults/Caption: Seznam\nFilter/Caption: Filtr\nFilter/Hint: Hledat pomocí [[filter expression|https://tiddlywiki.com/static/Filters.html]]\nFilter/Matches: //<small>nalezeno <<resultCount>></small>//\nMatches: //<small>nalezeno <<resultCount>></small>//\nShadows/Caption: Stínové\nShadows/Hint: Hledat stínové tiddlery\nShadows/Matches: //<small>nalezeno <<resultCount>></small>//\nStandard/Caption: Standardní\nStandard/Hint: Hledat standardní tiddlery\nStandard/Matches: //<small>nalezeno <<resultCount>></small>//\nSystem/Caption: Systémové\nSystem/Hint: Hledat systémové tiddlery\nSystem/Matches: //<small>nalezeno <<resultCount>></small>//\n"
  },
  {
    "path": "languages/cs-CZ/SideBar.multids",
    "content": "title: $:/language/SideBar/\n\nAll/Caption: Vše\nContents/Caption: Obsah\nDrafts/Caption: Rozepsané\nMissing/Caption: Chybějící\nMore/Caption: Více\nOpen/Caption: Otevřené\nOrphans/Caption: Osamocené\nRecent/Caption: Nedávné\nShadows/Caption: Stínové\nSystem/Caption: Systémové\nTags/Caption: Štítky\nTags/Untagged/Caption: beze štítku\nTools/Caption: Nástroje\nTypes/Caption: Typy\n"
  },
  {
    "path": "languages/cs-CZ/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\nosobní nelineární webový zápisník"
  },
  {
    "path": "languages/cs-CZ/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\nMoje ~TiddlyWiki"
  },
  {
    "path": "languages/cs-CZ/TiddlerInfo.multids",
    "content": "title: $:/language/TiddlerInfo/\n\nAdvanced/Caption: Pokročilé\nAdvanced/PluginInfo/Empty/Hint: žádné\nAdvanced/PluginInfo/Heading: Detaily pluginu\nAdvanced/PluginInfo/Hint: Plugin obsahuje následující stínové tiddlery:\nAdvanced/ShadowInfo/Heading: Stínový status\nAdvanced/ShadowInfo/NotShadow/Hint: Tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> není stínový tiddler\nAdvanced/ShadowInfo/OverriddenShadow/Hint: Přepsáno běžným tiddlerem\nAdvanced/ShadowInfo/Shadow/Hint: Tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> je stínový tiddler\nAdvanced/ShadowInfo/Shadow/Source: Je definováno v pluginu <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>\nFields/Caption: Pole\nList/Caption: Seznam\nList/Empty: Tento tiddler nemá žádný seznam\nListed/Caption: Odkazy\nListed/Empty: Na tento tiddler nevede odkaz z jiného tiddleru\nReferences/Caption: Reference\nReferences/Empty: Tento tiddler neodkazuje na žádné další tiddlery\nTagging/Caption: Štítky\nTagging/Empty: Tímto štítkem není označen žádný tiddler\nTools/Caption: Nástroje\n"
  },
  {
    "path": "languages/cs-CZ/Types/application%2Fjavascript.tid",
    "content": "title: $:/language/Docs/Types/application/javascript\ndescription: JavaScript code\nname: application/javascript\ngroup: Developer\n"
  },
  {
    "path": "languages/cs-CZ/Types/application%2Fjson.tid",
    "content": "title: $:/language/Docs/Types/application/json\ndescription: JSON data\nname: application/json\ngroup: Developer\n"
  },
  {
    "path": "languages/cs-CZ/Types/application%2Fx-tiddler-dictionary.tid",
    "content": "title: $:/language/Docs/Types/application/x-tiddler-dictionary\ndescription: Data dictionary\nname: application/x-tiddler-dictionary\ngroup: Developer\n"
  },
  {
    "path": "languages/cs-CZ/Types/image%2Fgif.tid",
    "content": "title: $:/language/Docs/Types/image/gif\ndescription: GIF image\nname: image/gif\ngroup: Image\n"
  },
  {
    "path": "languages/cs-CZ/Types/image%2Fjpeg.tid",
    "content": "title: $:/language/Docs/Types/image/jpeg\ndescription: JPEG image\nname: image/jpeg\ngroup: Image\n"
  },
  {
    "path": "languages/cs-CZ/Types/image%2Fpng.tid",
    "content": "title: $:/language/Docs/Types/image/png\ndescription: PNG image\nname: image/png\ngroup: Image\n"
  },
  {
    "path": "languages/cs-CZ/Types/image%2Fsvg%2Bxml.tid",
    "content": "title: $:/language/Docs/Types/image/svg+xml\ndescription: Structured Vector Graphics image\nname: image/svg+xml\ngroup: Image\n"
  },
  {
    "path": "languages/cs-CZ/Types/text%2Fcss.tid",
    "content": "title: $:/language/Docs/Types/text/css\ndescription: Static stylesheet\nname: text/css\ngroup: Developer\n"
  },
  {
    "path": "languages/cs-CZ/Types/text%2Fhtml.tid",
    "content": "title: $:/language/Docs/Types/text/html\ndescription: HTML markup\nname: text/html\ngroup: Text\n"
  },
  {
    "path": "languages/cs-CZ/Types/text%2Fplain.tid",
    "content": "title: $:/language/Docs/Types/text/plain\ndescription: Plain text\nname: text/plain\ngroup: Text\n"
  },
  {
    "path": "languages/cs-CZ/Types/text%2Fvnd.tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/vnd.tiddlywiki\ndescription: TiddlyWiki 5\nname: text/vnd.tiddlywiki\ngroup: Text\n"
  },
  {
    "path": "languages/cs-CZ/plugin.info",
    "content": "{\n\t\"title\": \"$:/languages/cs-CZ\",\n\t\"name\": \"cs-CZ\",\n\t\"plugin-type\": \"language\",\n\t\"description\": \"Čeština (Česká republika)\",\n\t\"author\": \"Zdeněk Jašek\",\n\t\"core-version\": \">=5.0.0\"\n}"
  },
  {
    "path": "languages/da-DK/Buttons.multids",
    "content": "title: $:/language/Buttons/\n\nAdvancedSearch/Caption: avanceret søgning\nAdvancedSearch/Hint: Avanceret søgning\nBold/Caption: fed\nBold/Hint: Føj fed formatering til udvalgte\nCancel/Caption: fortryd\nCancel/Hint: Fortryd redigering af denne tiddler\nClear/Caption: tøm\nClear/Hint: Erstat billede med solid farve\nClone/Caption: klon\nClone/Hint: Klon denne tiddler\nClose/Caption: luk\nClose/Hint: Luk denne tiddler\nCloseAll/Caption: Luk alle\nCloseAll/Hint: Luk alle tiddlere\nCloseOthers/Caption: luk andre\nCloseOthers/Hint: Luk andre tiddlere\nControlPanel/Caption: Kontrolpanel\nControlPanel/Hint: Åbn kontrolpanel\nDelete/Caption: slet\nDelete/Hint: Slet denne tiddler\nEdit/Caption: redigér\nEdit/Hint: Redigér denne tiddler\nEditorHeight/Caption: editor højde\nEditorHeight/Caption/Auto: Automatisk tilpasning af højde til indhold\nEditorHeight/Caption/Fixed: Fixeret højde\nEditorHeight/Hint: Vælg højde på tekst editor\nEncryption/Caption: kryptering\nEncryption/ClearPassword/Caption: slet kodeord\nEncryption/ClearPassword/Hint: Slet kodeord og gem denne wiki uden kryptering\nEncryption/Hint: Angiv eller slet et kodeord for at gemme denne wiki\nEncryption/SetPassword/Caption: Angiv kodeord\nEncryption/SetPassword/Hint: Angiv et kodeord for gemme denne wiki i krypteret tilstand\nExcise/Caption: klip\nExcise/Caption/Excise: Udfør klip\nExcise/Caption/MacroName: Makro navn:\nExcise/Caption/NewTitle: Titel på ny tiddler:\nExcise/Caption/Replace: Erstat udklippet tekst med:\nExcise/Caption/Replace/Macro: makro\nExcise/Caption/Replace/Transclusion: transklusion\nExcise/Caption/Tag: Tag ny tiddler med titlen på denne tiddler\nExcise/Caption/TiddlerExists: Advarsel: tiddler eksister allerede\nExcise/Hint: Klip udvalgt tekst til en ny tiddler\nExportPage/Caption: eksportér alle\nExportPage/Hint: Eksportér alle tiddlere\nExportTiddler/Caption: eksportér tiddler\nExportTiddler/Hint: Eksportér tiddler\nExportTiddlers/Caption: eksportér tiddlere\nExportTiddlers/Hint: Eksportér tiddlere\nFold/FoldBar/Hint: Valgfri bars til fold og udfold af tiddlere\nFold/Hint: Fold denne tiddlers krop\nFoldAll/Caption: fold alle tiddlere\nFoldAll/Hint: Fold kroppen i alle åbne tiddlere\nFoldOthers/Caption: fold andre tiddlere\nFoldOthers/Hint: Fold kroppen i andre åbne tiddlere\nFullScreen/Caption: fuldskærm\nFullScreen/Hint: Gå til eller forlad fuldskærmstilstand\nHeading1/Caption: overskrift 1\nHeading1/Hint: Føj overskrift niveau 1 formatering til linier indeholdende udvalgte\nHeading2/Caption: overskrift 2\nHeading2/Hint: Føj overskrift niveau 2 formatering til linier indeholdende udvalgte\nHeading3/Caption: overskrift 3\nHeading3/Hint: Føj overskrift niveau 3 formatering til linier indeholdende udvalgte\nHeading4/Caption: overskrift 4\nHeading4/Hint: Føj overskrift niveau 4 formatering til linier indeholdende udvalgte\nHeading5/Caption: overskrift 5\nHeading5/Hint: Føj overskrift niveau 5 formatering til linier indeholdende udvalgte\nHeading6/Caption: overskrift 6\nHeading6/Hint: Føj overskrift niveau 6 formatering til linier indeholdende udvalgte\nHelp/Caption: hjælp\nHelp/Hint: Vis hjælpepanel\nHideSideBar/Caption: skjul sidebar\nHideSideBar/Hint: Skjul sidepanel\nHome/Caption: hjem\nHome/Hint: Åbn standardtiddlerne\nImport/Caption: importér\nImport/Hint: Importér filer\nInfo/Caption: info\nInfo/Hint: Vis information om denne tiddler\nItalic/Caption: kursiv\nItalic/Hint: Føj kursiv formatering til udvalgte\nLanguage/Caption: sprog\nLanguage/Hint: Vælg brugerfladesprog\nLineWidth/Caption: linie tykkelse\nLineWidth/Hint: Sæt linie tykkelse til maling\nListBullet/Caption: punkt liste\nListBullet/Hint: Føj punkt liste formatering til linier indeholdende udvalgte\nListNumber/Caption: nummereret liste\nListNumber/Hint: Føj nummereret liste formatering til linier indeholdende udvalgte\nMonoBlock/Caption: monospaced blok\nMonoBlock/Hint: Føj monospaced blok formatering til linier indeholdende udvalgte\nMonoLine/Hint: Føj monospaced bogstav formatering til udvalgte\nMore/Caption: mere\nMore/Hint: Flere muligheder\nNewHere/Caption: ny her\nNewHere/Hint: Opret en ny tiddler tagget med denne tiddlers titel\nNewImage/Caption: nyt billede\nNewImage/Hint: Opret en ny billed tiddler\nNewJournal/Caption: ny journal\nNewJournal/Hint: Opret en ny journaltiddler\nNewJournalHere/Caption: ny journal her\nNewJournalHere/Hint: Opret en ny journaltiddler tagget med denne tiddlers titel\nNewMarkdown/Caption: ny Markdown tiddler\nNewMarkdown/Hint: Opret en ny Markdown tiddler\nNewTiddler/Caption: ny tiddler\nNewTiddler/Hint: Opret en ny tiddler\nOpacity/Caption: gennemsigtighed\nOpacity/Hint: Sæt gennemsigtighed af maling\nOpenWindow/Caption: Åben i nyt vindue\nOpenWindow/Hint: Åbn tiddler i nyt vindue\nPaint/Caption: male farve\nPaint/Hint: Sæt male farve\nPalette/Hint: Vælg farve palette\nPermalink/Caption: permalink\nPermalink/Hint: Sæt browserens adresselinie til et direkte link til denne tiddler\nPermaview/Caption: permaview\nPermaview/Hint: Sæt browserens adresselinie til et direkte link til alle tiddlere i denne historie\nPicture/Caption: billede\nPicture/Hint: Indsæt billede\nPreview/Caption: forhåndsvisning\nPreview/Hint: Vis forhåndsvisnings panel\nPreviewType/Caption: forhåndsvisnings type\nPreviewType/Hint: Vælg forhåndsvisnings type\nPrint/Caption: print side\nPrint/Hint: Print den aktuelle side\nQuote/Caption: Citat\nQuote/Hint: Føj citat tekst formatering til linier indeholdende udvalgte\nRefresh/Caption: genopfrisk\nRefresh/Hint: Udfør en fuld genopfriskning af wiki'en\nSave/Caption: gem\nSave/Hint: Gem denne tiddler\nSaveWiki/Caption: gem ændringer\nSaveWiki/Hint: Gem ændringer\nShowSideBar/Caption: vis sidepanel\nShowSideBar/Hint: Vis sidepanel\nSize/Caption: billed størrelse\nSize/Caption/Height: Højde:\nSize/Caption/Resize: Ændre billed størrelse\nSize/Caption/Width: Bredde:\nSize/Hint: Sæt billed størrelse\nStamp/Caption: stempel\nStamp/Caption/New: Tilføj dit eget\nStamp/Hint: Indsæt et prækonfiguret klip med tekst\nStamp/New/Text: Tekst i klippet. (Husk at skrive en beskrivende titel i caption feltet).\nStamp/New/Title: Navn som vist i menu\nStoryView/Caption: historieVisning\nStoryView/Hint: Vælg historievisning\nStrikethrough/Caption: gennemstregning\nStrikethrough/Hint: Føj gennemstregnings formatering til udvalgte\nSubscript/Hint: Føj subscript formatering til udvalgte\nSuperscript/Hint: Føj superscript formatering til udvalgte\nTagManager/Caption: tagadministrator\nTagManager/Hint: Åbn tagadministrator\nTheme/Caption: tema\nTheme/Hint: Vælg visningstema\nTimestamp/Hint: Vælg om modifikationer opdaterer tidsstempler\nTimestamp/Off/Caption: tidsstempler er slået fra\nTimestamp/Off/Hint: Opdaterer ikke tiddstempler når tiddlere modificeres\nTimestamp/On/Caption: tidsstempker er slået til\nTimestamp/On/Hint: Opdater tidsstempler når tiddlere modificeres\nUnderline/Caption: understregning\nUnderline/Hint: Føj understregnings formatering til udvalgte\nUnfold/Caption: udfold tiddler\nUnfold/Hint: Udfold denne tiddlers krop\nUnfoldAll/Caption: udfold alle tiddlere\nUnfoldAll/Hint: Udfold kroppen i alle åbne tiddlere\n"
  },
  {
    "path": "languages/da-DK/ControlPanel.multids",
    "content": "title: $:/language/ControlPanel/\n\nAdvanced/Caption: Avanceret\nAdvanced/Hint: Intern information om denne TiddlyWiki\nAppearance/Caption: Design\nAppearance/Hint: Måder at tilpasse udseendet af din TiddlyWiki.\nBasics/AnimDuration/Prompt: Animationsvarighed\nBasics/Caption: Basis\nBasics/DefaultTiddlers/BottomHint: Brug &#91;&#91;dobbelt  firkantede parenteser&#93;&#93; for titler med mellemrum. Eller du kan vælge at {{gemme de aktuelt åbne tiddlere||$:/snippets/retain-story-ordering-button}}\nBasics/DefaultTiddlers/Prompt: Standardtiddlere:\nBasics/DefaultTiddlers/TopHint: Vælg hvilke tiddlere der vises ved opstart:\nBasics/Language/Prompt: Hallo! Aktuelt sprog:\nBasics/NewJournal/Tags/Prompt: Tags for nye journaltiddlere\nBasics/NewJournal/Title/Prompt: Titel på nye journaltiddlere\nBasics/OverriddenShadowTiddlers/Prompt: Antal overskrevne skyggetiddlere:\nBasics/ShadowTiddlers/Prompt: Antal skyggetiddlere:\nBasics/Subtitle/Prompt: Undertitel\nBasics/SystemTiddlers/Prompt: Antal systemtiddler:\nBasics/Tags/Prompt: Antal tags:\nBasics/Tiddlers/Prompt: Antal tiddlere:\nBasics/Title/Prompt: Titel på denne ~TiddlyWiki:\nBasics/Username/Prompt: Brugernavn til at signere redigeringer:\nBasics/Version/Prompt: ~TiddlyWiki version:\nEditorTypes/Caption: Editortyper\nEditorTypes/Editor/Caption: Editor\nEditorTypes/Hint: Disse tiddlere bestemmer hvilken editor der bruges til at redigere specifikke tiddler typer.\nEditorTypes/Type/Caption: Type\nInfo/Caption: Info\nInfo/Hint: Information om denne TiddlyWiki\nKeyboardShortcuts/Add/Caption: Tilføj genvej\nKeyboardShortcuts/Add/Prompt: Skriv genvej her\nKeyboardShortcuts/Caption: Tastatur genveje\nKeyboardShortcuts/Hint: Administrér tastatur genvejs tilknytninger\nKeyboardShortcuts/NoShortcuts/Caption: Ingen tastatur genveje tilknyttet\nKeyboardShortcuts/Platform/All: Alle platforme\nKeyboardShortcuts/Platform/Linux: Linux platform udelukkende\nKeyboardShortcuts/Platform/Mac: Macintosh platform udelukkende\nKeyboardShortcuts/Platform/NonLinux: Ikke-Linux platforme udelukkende\nKeyboardShortcuts/Platform/NonMac: Ikke-Macintosh platforme udelukkende\nKeyboardShortcuts/Platform/NonWindows: Ikke-Windows platforme udelukkende\nKeyboardShortcuts/Platform/Windows: Windows platform udelukkende\nKeyboardShortcuts/Remove/Hint: fjern tastatur genvej\nLoadedModules/Caption: Indlæste moduler\nLoadedModules/Hint: Dette er de aktuelt indlæste tiddlermoduler der linkes til deres kildetiddlere. Alle moduler med kursiv mangler en kildetiddler, typisk fordi de blev sat op under bootprocessen.\nPalette/Caption: Palette\nPalette/Editor/Clone/Caption: klon\nPalette/Editor/Clone/Prompt: Det anbefales at du kloner denne skyggepalette før du redigerer den\nPalette/Editor/Prompt: Redigering\nPalette/Editor/Prompt/Modified: Denne skyggepalette er blevet ændret\nPalette/Editor/Reset/Caption: nulstil\nPalette/HideEditor/Caption: skjul editor\nPalette/Prompt: Aktuel palette:\nPalette/ShowEditor/Caption: vis editor\nParsing/Block/Caption: Blok Parse regler\nParsing/Hint: Her kan du globalt slå individuelle wiki parser regler fra. Vær påpasselig, da det at slå nogle parser regler fra, kan hindre ~TiddlyWiki i at fungere korrekt (du kan genskabe  normal funktion med [[safe mode|https://tiddlywiki.com/#SafeMode]] )\nParsing/Inline/Caption: Inline Parse regler\nParsing/Pragma/Caption: Pragma Parse regler\nPlugins/Add/Caption: Få flere udvidelser\nPlugins/Add/Hint: Installér udvidelser fra det officielle bibliotek\nPlugins/AlreadyInstalled/Hint: Dette plugin er allerede installeret i version <$text text=<<installedVersion>>/>\nPlugins/Caption: Udvidelser\nPlugins/Disable/Caption: slå fra\nPlugins/Disable/Hint: Slå denne udvidelse fra, når siden genindlæses\nPlugins/Disabled/Status: (slået fra)\nPlugins/Empty/Hint: Ingen\nPlugins/Enable/Caption: Slå til\nPlugins/Enable/Hint: Slå denne udvidelse til, når siden genindlæses\nPlugins/Install/Caption: installér\nPlugins/Installed/Hint: Aktuelt installerede udvidelser:\nPlugins/Language/Prompt: Sprog\nPlugins/Languages/Caption: Sprog\nPlugins/Languages/Hint: Sprogpakkeudvidelser\nPlugins/NoInfoFound/Hint: Ingen ''\"<$text text=<<currentTab>>/>\"'' fundet\nPlugins/NotInstalled/Hint: Dette plugin er ikke aktuelt installeret\nPlugins/OpenPluginLibrary: Åbn plugin bibliotek\nPlugins/Plugin/Prompt: Udvidelser\nPlugins/Plugins/Caption: Udvidelser\nPlugins/Plugins/Hint: Udvidelser\nPlugins/Reinstall/Caption: geninstallér\nPlugins/Theme/Prompt: Temaer\nPlugins/Themes/Caption: Temaer\nPlugins/Themes/Hint: Tema udvidelser\nSaving/Caption: Gemning\nSaving/Heading: Gemning\nSaving/TiddlySpot/Advanced/Heading: Avancerede indstillinger\nSaving/TiddlySpot/BackupDir: Backupmappe\nSaving/TiddlySpot/Backups: Backups\nSaving/TiddlySpot/Description: Disse indstillinger bruges kun, når der gemmes til http://tiddlyspot.com eller en kompatibel server\nSaving/TiddlySpot/Filename: Upload filnavn\nSaving/TiddlySpot/Heading: ~TiddlySpot\nSaving/TiddlySpot/Hint: //The server URL forfalder til `http://<wikiname>.tiddlyspot.com/store.cgi` og kan ændres til en tilpasset  serveradresse//\nSaving/TiddlySpot/Password: Adgangskode\nSaving/TiddlySpot/ServerURL: Server URL\nSaving/TiddlySpot/UploadDir: Uploadmappe\nSaving/TiddlySpot/UserName: Wikinavn\nSettings/AutoSave/Caption: Automatisk gemning\nSettings/AutoSave/Disabled/Description: Gem ikke ændringer automatisk\nSettings/AutoSave/Enabled/Description: Gem ændringer atomatisk\nSettings/AutoSave/Hint: Gem automatisk ændringer i løbet af redigeringen\nSettings/CamelCase/Description: Slå automatisk ~CamelCase linking til\nSettings/CamelCase/Hint: Kræver genindlæsning for at tage effekt.\nSettings/Caption: Indstillinger\nSettings/DefaultSidebarTab/Caption: Standard Sidepanelsfane\nSettings/DefaultSidebarTab/Hint: Specificér hvilken sidepanelsfane der vises som standard\nSettings/Hint: Disse indstillinger lader dig tilpasse din  TiddlyWikis opførsel.\nSettings/InfoPanelMode/Hint: Kontrol når info panelet lukkes:\nSettings/InfoPanelMode/Popup/Description: Tiddler info panel lukkes automatisk\nSettings/InfoPanelMode/Sticky/Description: Tiddler info panel forbliver åbent indtil det udtrykkeligt lukkes\nSettings/LinkToBehaviour/Caption: Tiddler åbnings adfærd\nSettings/LinkToBehaviour/InsideRiver/Hint: Navigation fra //indefra// the story river\nSettings/LinkToBehaviour/OpenAbove: Åben ovenover den aktuelle tiddler\nSettings/LinkToBehaviour/OpenAtBottom: Åbn i bunden af story river\nSettings/LinkToBehaviour/OpenAtTop: Åbn i toppen af story river\nSettings/LinkToBehaviour/OpenBelow: Åbn nedenunder den aktuelle tiddler\nSettings/LinkToBehaviour/OutsideRiver/Hint: Navigation fra //udenfor// the story river\nSettings/MissingLinks/Description: Tillad links til manglende tiddlere\nSettings/MissingLinks/Hint: Vælg om der skal linkes til tiddlere som ikke eksisterer endnu\nSettings/NavigationAddressBar/Caption: Navigationsadressefelt\nSettings/NavigationAddressBar/Hint: Opførsel i browserens adresssefelt ved navigering til en tiddler:\nSettings/NavigationAddressBar/No/Description: Opdatér ikke adressefeltet\nSettings/NavigationAddressBar/Permalink/Description: Inkludér måltiddleren\nSettings/NavigationAddressBar/Permaview/Description: Inkludér måltiddleren og den aktuelle historiesekvens\nSettings/NavigationHistory/Caption: Navigationshistorie\nSettings/NavigationHistory/Hint: Opdatér browserhistorikken, når der navigeres til en tiddler:\nSettings/NavigationHistory/No/Description: Opdatér ikke historie\nSettings/NavigationHistory/Yes/Description: Opdatér historik\nSettings/PerformanceInstrumentation/Caption: Ydelses instrumentering\nSettings/PerformanceInstrumentation/Description: Tillad ydelses instrumentering\nSettings/PerformanceInstrumentation/Hint: Viser ydelses statistikker i browserens udvikler konsol. Kræver genindlæsning for at få effekt\nSettings/TitleLinks/Caption: Tiddler titler\nSettings/TitleLinks/Hint: Valgfri visning af tiddler tiddler som links\nSettings/TitleLinks/No/Description: Vis ikke tiddler titler som links\nSettings/TitleLinks/Yes/Description: Vis tiddler titler som links\nSettings/ToolbarButtons/Caption: Værktøjslinieknapper\nSettings/ToolbarButtons/Hint: Standard udseende af værktøjslinieknap:\nSettings/ToolbarButtons/Icons/Description: Inkludér ikon\nSettings/ToolbarButtons/Text/Description: Inkludér tekst\nSettings/ToolbarButtonStyle/Caption: Værktøjslinie knap stil\nSettings/ToolbarButtonStyle/Hint: Vælg stil for værktøjslinie knapper:\nSettings/ToolbarButtonStyle/Styles/Borderless: Rammeløs\nSettings/ToolbarButtonStyle/Styles/Boxed: Indrammet\nSettings/ToolbarButtonStyle/Styles/Rounded: Afrundet\nStoryView/Caption: Historievisning\nStoryView/Prompt: Aktuel visning:\nTheme/Caption: Tema\nTheme/Prompt: Aktuelt tema\nTiddlerFields/Caption: Tiddler felter\nTiddlerFields/Hint: Dette er alle de TiddlerFelter der er i brug i denne wiki (inklusive systemtiddlere men eksklusive skyggetiddlere).\nToolbars/Caption: Værktøjslinier\nToolbars/EditorToolbar/Caption: Editor værktøjslinie\nToolbars/EditorToolbar/Hint: Vælg hvilke knapper der vises i editorens værktøjslinie. Bemærk at nogen knapper kun vises, når der redigeres tiddlere af en bestemt type\nToolbars/EditToolbar/Caption: Redigeringsværktøjslinie\nToolbars/EditToolbar/Hint: Vælg hvilke knapper der vises i tiddlere i redigeringstilstand\nToolbars/Hint: Vælg hvilke værktøjslinieknapper der vises\nToolbars/PageControls/Caption: Sideværktøjslinie\nToolbars/PageControls/Hint: Vælg hvilke knapper der vises på hovedsideværktøjslinien\nToolbars/ViewToolbar/Caption: Læseværktøjslinie\nToolbars/ViewToolbar/Hint: Vælg hvilke knapper der vises i tiddlere i læsetilstand\nTools/Download/Full/Caption: Hent hele wikien\n"
  },
  {
    "path": "languages/da-DK/CoreReadMe.tid",
    "content": "title: $:/core/readme\n\n"
  },
  {
    "path": "languages/da-DK/Dates.multids",
    "content": "title: $:/language/\n\nDate/DaySuffix/1: .\nDate/DaySuffix/10: .\nDate/DaySuffix/11: .\nDate/DaySuffix/12: .\nDate/DaySuffix/13: .\nDate/DaySuffix/14: .\nDate/DaySuffix/15: .\nDate/DaySuffix/16: .\nDate/DaySuffix/17: .\nDate/DaySuffix/18: .\nDate/DaySuffix/19: .\nDate/DaySuffix/2: .\nDate/DaySuffix/20: .\nDate/DaySuffix/21: .\nDate/DaySuffix/22: .\nDate/DaySuffix/23: .\nDate/DaySuffix/24: .\nDate/DaySuffix/25: .\nDate/DaySuffix/26: .\nDate/DaySuffix/27: .\nDate/DaySuffix/28: .\nDate/DaySuffix/29: .\nDate/DaySuffix/3: .\nDate/DaySuffix/30: .\nDate/DaySuffix/31: .\nDate/DaySuffix/4: .\nDate/DaySuffix/5: .\nDate/DaySuffix/6: .\nDate/DaySuffix/7: .\nDate/DaySuffix/8: .\nDate/DaySuffix/9: .\nDate/Long/Day/0: søndag\nDate/Long/Day/1: mandag\nDate/Long/Day/2: tirsdag\nDate/Long/Day/3: onsdag\nDate/Long/Day/4: torsdag\nDate/Long/Day/5: fredag\nDate/Long/Day/6: lørdag\nDate/Long/Month/1: januar\nDate/Long/Month/10: oktober\nDate/Long/Month/11: november\nDate/Long/Month/12: december\nDate/Long/Month/2: februar\nDate/Long/Month/3: marts\nDate/Long/Month/4: april\nDate/Long/Month/5: maj\nDate/Long/Month/6: juni\nDate/Long/Month/7: juli\nDate/Long/Month/8: august\nDate/Long/Month/9: september\nDate/Period/am: am\nDate/Period/pm: pm\nDate/Short/Day/0: søn\nDate/Short/Day/1: man\nDate/Short/Day/2: tir\nDate/Short/Day/3: ons\nDate/Short/Day/4: tor\nDate/Short/Day/5: fre\nDate/Short/Day/6: lør\nDate/Short/Month/1: jan\nDate/Short/Month/10: okt\nDate/Short/Month/11: nov\nDate/Short/Month/12: dec\nDate/Short/Month/2: feb\nDate/Short/Month/3: mar\nDate/Short/Month/4: apr\nDate/Short/Month/5: maj\nDate/Short/Month/6: jun\nDate/Short/Month/7: jul\nDate/Short/Month/8: aug\nDate/Short/Month/9: sep\nRelativeDate/Future/Days: om <<period>> dage\nRelativeDate/Future/Hours: om <<period>> timer\nRelativeDate/Future/Minutes: om <<period>> minuter\nRelativeDate/Future/Months: om <<period>> måneder\nRelativeDate/Future/Second: om 1 sekund\nRelativeDate/Future/Seconds: om <<period>> sekunder\nRelativeDate/Future/Years: om <<period>> år\nRelativeDate/Past/Days: for <<period>> dage siden\nRelativeDate/Past/Hours: for <<period>> timer siden\nRelativeDate/Past/Minutes: for <<period>> minutter siden\nRelativeDate/Past/Months: for <<period>> måneder siden\nRelativeDate/Past/Second: for 1 sekund siden\nRelativeDate/Past/Seconds: for <<period>> sekunder siden\nRelativeDate/Past/Years: for <<period>> år siden\n"
  },
  {
    "path": "languages/da-DK/Docs/ModuleTypes.multids",
    "content": "title: $:/language/Docs/ModuleTypes/\n\nallfilteroperator: En sub-operator for ''all'' filter operator.\nanimation: Animationer kan bruges med RevealWidget.\nbitmapeditoroperation: En bitmap editor toolbar operation.\ncommand: Kommandoer som kan køres under Node.js.\nconfig: Data som indsættes i `$tw.config`.\nfilteroperator: Individuelle filter operator metoder.\nglobal: Globale data som indsættes i `$tw`.\ninfo: Publiserer system information via [[$:/temp/info-plugin]] pseudo-plugin.\nisfilteroperator: Operander for  ''is'' filter operatoren.\nlibrary: Generisk modul type for general purpose JavaScript moduler.\nmacro: JavaScript makro definitioner.\nparser: Parsere for forskellige indholdstyper..\nsaver: Gemmere håndterer forskellige metoder til at gemme filer fra browseren.\nstartup: Opstartsfunktioner.\nstoryview: Historievisninger tilpasser animation og adfærd for liste widgets.\ntexteditoroperation: En text editor toolbar operation.\ntiddlerdeserializer: konverterer forskellige indholdstyper til tiddlere.\ntiddlerfield: Definerer adfærden for et individuelt tiddler felt.\ntiddlermethod: Føjer metoder til `$tw.Tiddler` prototypen.\nupgrader: Anvender opgraderingsforarbejdning af tiddlere under en opgradering / import.\nutils: Føjer metoder til `$tw.utils`.\nutils-node: Føjer Node.js-specifikke metoder til `$tw.utils`.\nwidget: Widgets indkapsler DOM rendering og genopfriskning.\nwikimethod: Føjer metoder til `$tw.Wiki`.\nwikirule: Individuelle parserregler for hoved WikiText parseren.\n"
  },
  {
    "path": "languages/da-DK/Docs/PaletteColours.multids",
    "content": "title: $:/language/Docs/PaletteColours/\n\nalert-background: Advarselsbaggrund\nalert-border: Advarselsramme\nalert-highlight: Advarselsopmærkning\nalert-muted-foreground: Dæmpet advarselsforgrund\nbackground: Generel baggrund\nblockquote-bar: Blokcitatslinie\nbutton-background: Standard knap baggrund\nbutton-border: Standard knap ramme\nbutton-foreground: Standard knap forgrund\ncode-background: Kodebaggrund\ncode-border: Koderamme\ncode-foreground: Kodeforgrund\ndirty-indicator: Indikator af ugemte ændringer\ndownload-background: Downloadknap baggrund\ndownload-foreground: Downloadknap forgrund\ndragger-background: Trækkerbaggrund\ndragger-foreground: Trækkerforgrund\ndropdown-background: Rullemenubaggrund\ndropdown-border: Rullemenuramme\ndropdown-tab-background: Fanebaggrund for rullemenu\ndropdown-tab-background-selected: Rullemenuers fanebaggrund for valgte faner\ndropzone-background: Dropzone baggrund\nexternal-link-background: Eksternt link baggrund\nexternal-link-background-hover: Eksternt link baggrund når der peges\nexternal-link-background-visited: Eksternt link baggrund besøgt\nexternal-link-foreground: Eksternt link forgrund\nexternal-link-foreground-hover: Eksternt link forgrund når der peges\nexternal-link-foreground-visited: Eksternt link forgrund besøgt\nforeground: Generel forgrund\nmessage-background: Beskedboks baggrund\nmessage-border: Beskedboks ramme\nmessage-foreground: Beskedboks forgrund\nmodal-backdrop: Modal bagtæppe\nmodal-background: Modal baggrund\nmodal-border: Modal ramme\nmodal-footer-background: Modal footer baggrund\nmodal-footer-border: Modal footer ramme\nmodal-header-border: Modal header ramme\nmuted-foreground: Generel dæmpet forgrund\nnotification-background: Notifikationsbaggrund\nnotification-border: Notifikationsramme\npage-background: Side baggrund\npre-background: Præformateret kode baggrund\npre-border: Præformatteret kode ramme\nprimary: Generel primær\nsidebar-button-foreground: Sidepanelets knap forgrund\nsidebar-controls-foreground: Sidepanelets kontroller forgrund\nsidebar-controls-foreground-hover: Sidepanelets kontroller forgrund hover\nsidebar-foreground: Sidepanelets forgrund\nsidebar-foreground-shadow: Sidepanelets forgrund skygge\nsidebar-muted-foreground: Sidepanelets dæmpet forgrund\nsidebar-muted-foreground-hover: Sidepanelets dæmpet forgrund når der peges\nsidebar-tab-background: Sidepanelets fane baggrund\nsidebar-tab-background-selected: Sidepanelets fane baggrund for valgte faner\nsidebar-tab-border: Sidepanelets faneramme\nsidebar-tab-border-selected: Sidepanelets fane ramme for valgte faner\nsidebar-tab-divider: Sidepanelets fane deler\nsidebar-tab-foreground: Sidepanelets fane forgrund\nsidebar-tab-foreground-selected: Sidepanelets fane forgrund for valgte faner\nsidebar-tiddler-link-foreground: Sidepanelets tiddler link forgrund\nsidebar-tiddler-link-foreground-hover: Sidepanelets tiddler link forgrund når der peges\nsite-title-foreground: Side titel forgrund\nstatic-alert-foreground: Statisk advarsel forgrund\ntab-background: Fanebaggrund\ntab-background-selected: Fanebaggrund for valgte faner\ntab-border: Faneramme\ntab-border-selected: Faneramme for valgte faner\ntab-divider: Faneadskiller\ntab-foreground: Faneforgrund\ntab-foreground-selected: Faneforgrund for valgte faner\ntable-border: Tabelramme\ntable-footer-background: Tabelfod baggrund\ntable-header-background: Tabelheader baggrund\ntag-background: Tagbaggrund\ntag-foreground: Tagforgrund\ntiddler-background: Tiddlerbaggrund\ntiddler-border: Tiddlerramme\ntiddler-controls-foreground: Tiddlerkontroller forgrund\ntiddler-controls-foreground-hover: Tiddlerkontroller forgrund hover\ntiddler-controls-foreground-selected: Tiddlerkontroller forgrund for valgte kontroller\ntiddler-editor-background: Tiddlereditor baggrund\ntiddler-editor-border: Tiddlereditor ramme\ntiddler-editor-border-image: Tiddlereditor ramme billede\ntiddler-editor-fields-even: Tiddlereditor baggrund for lige felter\ntiddler-editor-fields-odd: Tiddlereditor baggrund for ulige felter\ntiddler-info-background: Tiddler infopanel baggrund\ntiddler-info-border: Tiddler infopanel ramme\ntiddler-info-tab-background: Tiddler infopanel fane baggrund\ntiddler-link-background: Tiddler linkbaggrund\ntiddler-link-foreground: Tiddler linkforgrund\ntiddler-subtitle-foreground: Tiddler undertitel forgrund\ntiddler-title-foreground: Tiddler titel forgrund\ntoolbar-cancel-button: Værktøjslinie 'fortryd' knap forgrund\ntoolbar-close-button: Værktøjslinie 'luk' knap forgrund\ntoolbar-delete-button: Værktøjslinie 'slet' knap forgrund\ntoolbar-done-button: Værktøjslinie 'gem' knap forgrund\ntoolbar-edit-button: Værktøjslinie 'redigér' knap forgrund\ntoolbar-info-button: Værktøjslinie 'info' knap forgrund\ntoolbar-new-button: Værktøjslinie 'ny tiddler' knap forgrund\ntoolbar-options-button: Værktøjslinie 'valg' knap forgrund\ntoolbar-save-button: Værktøjslinie 'gem' knap forgrund\nuntagged-background: Ukategoriseret pille baggrund\nvery-muted-foreground: Meget dæmpet forgrund\n"
  },
  {
    "path": "languages/da-DK/EditTemplate.multids",
    "content": "title: $:/language/EditTemplate/\n\nBody/External/Hint: Dette er en indlejret tiddler hentet fra et eksternt tiddlywikidokument. Du kan redigere tags og felter men kan ikke direkte redigere selve  indholdet\nBody/Placeholder: Skriv denne tiddlers tekst\nField/Remove/Caption: fjern felt\nField/Remove/Hint: Fjern felt\nFields/Add/Button: tilføj\nFields/Add/Dropdown/System: System felter\nFields/Add/Dropdown/User: Bruger felter\nFields/Add/Name/Placeholder: felt navn\nFields/Add/Prompt: Tilføj et nyt felt:\nFields/Add/Value/Placeholder: feltværdi\nShadow/OverriddenWarning: Dette er en ændret skyggetiddler. Du kan vende tilbage til standardversionen ved at slette denne tiddler\nShadow/Warning: Dette er en skyggetiddler. Enhver ændring vil overskrive standardversionen\nTags/Add/Button: tilføj\nTags/Add/Placeholder: tagnavn\nTags/Dropdown/Caption: tagliste\nTags/Dropdown/Hint: Vis tagliste\nTitle/BadCharacterWarning: Advarsel: undgå alle at bruge nogen af disse bogstaver <<bad-chars>> i tiddler titler\nType/Delete/Caption: slet indholdstype\nType/Delete/Hint: Slet indholdstype\nType/Dropdown/Caption: indholdstypeliste\nType/Dropdown/Hint: Vis indholdstypeliste\nType/Placeholder: indholdstype\nType/Prompt: Type:\n"
  },
  {
    "path": "languages/da-DK/Exporters.multids",
    "content": "title: $:/language/Exporters/\n\nCsvFile: CSV tiddler fil\nJsonFile: JSON tiddler fil\nStaticRiver: Statiske HTML tiddlere\nTidFile: Enkelt tiddler \".tid\" fil\n"
  },
  {
    "path": "languages/da-DK/Fields.multids",
    "content": "title: $:/language/Docs/Fields/\n\n_canonical_uri: Den fulde URI til en ekstern billedtiddler\nbag: Navnet på den mappe en tiddler kom fra\ncaption: Teksten der bliver vist på en fane eller knap\ncolor: Den CSS farveværdi som er knyttet til en tiddler\ncomponent: Navnet på den komponent som er ansvarlig for en [[advarselstiddler|AlertMechanism]]\ncreated: Den dato en tiddler blev oprettet\ncreator: Navnet på den person som oprettede en tiddler\ncurrent-tiddler: Bruges til mellemlagring af den øverste tiddler i en [[historieliste|HistoryMechanism]]\ndependents: Lister afhængighederne for en udvidelse\ndescription: Den beskrivende tekst for en udvidelse, eller en modal dialog\ndraft.of: For kladdetiddlere, indeholder  titlen på den tiddler som denne er en kladde til\ndraft.title: For kladdetiddlere, indeholder forslag til ny titel på tiddleren\nfooter: fodnotetekst i en guide\nicon: Titlen på den tiddler som indeholder et ikon, der er knyttet til en tiddler\nlibrary: Hvis sat til  \"ja\" indikeres at en tiddler bør gemmes som et  JavaScript library\nlist: En ordnet liste af tiddlertitler som er knyttet til en tiddler\nlist-after: Hvis sat, titlen på den tiddler efter hvilken denne tiddler skal indsættes i den ordnede liste over tiddler titler.\nlist-before: Hvis sat, titlen på en tiddler, før hvilken denne tiddler skal indsættes i  den ordnede liste over tiddler titler, eller i starten af listen, hvis dette felt er tilstede men tomt.\nmodified: Dato og klokkeslæt, hvor en tiddler sidst blev ændret\nmodifier: Den tiddlertitel som har samme navn som den forfatter der sidst ændrede tiddleren\nname: Det menneskeligt læsbare navn, som knyttes til en udvidelsestiddler\nplugin-priority: En numerisk værdi som indikerer prioriteringen af en udvidelsestiddler\nplugin-type: Typen af plugin i en udvidelsestiddler\nreleased: Dato for en tiddlywikiudgivelse\nrevision: Revision af tiddleren holdt på serveren\nsource: Kilde-URL knyttet til en  tiddler\nsubtitle: Undertiteltekst for en guide\ntags: En liste over tags som er knyttet til en tiddler\ntext: tekstområdet i en tiddler\ntitle: Det unikke navn på en tiddler\ntype: En tiddlers indholdstype\nversion: En udvidelses versionsnummer\n"
  },
  {
    "path": "languages/da-DK/Filters.multids",
    "content": "title: $:/language/Filters/\n\nAllTags: Alle tags undtaget systemtags\nAllTiddlers: Alle tiddlere undtaget systemtiddlere\nDrafts: Kladdetiddlere\nMissing: Manglende tiddlere\nOrphans: Løse tiddlere\nOverriddenShadowTiddlers: Overskrevne skyggetiddlere\nRecentSystemTiddlers: Nyligt ændrede tiddlere, inklusive systemtiddlere\nRecentTiddlers: Nyligt ændrede tiddlere\nShadowTiddlers: Skyggetiddlere\nSystemTags: Systemtags\nSystemTiddlers: Systemtiddlere\nTypedTiddlers: Ikke wiki-tekst tiddlere\n"
  },
  {
    "path": "languages/da-DK/GettingStarted.tid",
    "content": "title: GettingStarted\n\n\\define lingo-base() $:/language/ControlPanel/Basics/\nVelkommen til ~TiddlyWiki og ~TiddlyWiki fællesskabet\n\nFør du begynder at lagre vigtige informationer i ~TiddlyWiki er det vigtigt, at du sikrer dig, at du på pålidelig måde kan gemme ændringer. Se https://tiddlywiki.com/#GettingStarted for detaljer\n\n!! Opsæt denne ~TiddlyWiki\n\n<div class=\"tc-control-panel\">\n\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\nSe [[kontrol panel|$:/ControlPanel]] for flere muligheder.\n"
  },
  {
    "path": "languages/da-DK/Help/build.tid",
    "content": "title: $:/language/Help/build\ndescription: Kør konfigurerede kommandoer automatisk.\n\nBygger wikien ud fra de angivne byggemål for den aktuelle wiki. Hvis der ikke er angivet nogen byggemål vil alle tilstedeværende mål blive bygget.\n\n```\n--build <target> [<target> ...]\n```\n\nByggemål defineres i  `tiddlywiki.info` filen i en wiki mappe.\n\n"
  },
  {
    "path": "languages/da-DK/Help/clearpassword.tid",
    "content": "title: $:/language/Help/clearpassword\ndescription: Slet et kodeord for efterfølgende krypteringsoperationer\n\nSlet kodeord for efterfølgende krypteringsoperationer\n\n```\n--clearpassword\n```\n"
  },
  {
    "path": "languages/da-DK/Help/default.tid",
    "content": "title: $:/language/Help/default\ndescription: \n\n\\define commandTitle()\n$:/language/Help/$(command)$\n\\end\n```\nusage: tiddlywiki [<wikifolder>] [--<command> [<args>...]...]\n```\n\nMulige kommandoer:\n\n<ul>\n<$list filter=\"[commands[]sort[title]]\" variable=\"command\">\n<li><$link to=<<commandTitle>>><$macrocall $name=\"command\" $type=\"text/plain\" $output=\"text/plain\"/></$link>: <$transclude tiddler=<<commandTitle>> field=\"description\"/></li>\n</$list>\n</ul>\n\nFor at få detaljeret hjælp til en kommando:\n\n```\ntiddlywiki --help <command>\n```\n"
  },
  {
    "path": "languages/da-DK/Help/editions.tid",
    "content": "title: $:/language/Help/editions\ndescription: Lister mulige udgaver  af TiddlyWiki\n\nLister navn og beskrivelse af de mulige udgaver. Du kan oprette en ny  wiki af en angivet udgave med `--init` command.\n\n```\n--editions\n```\n"
  },
  {
    "path": "languages/da-DK/Help/help.tid",
    "content": "title: $:/language/Help/help\ndescription: Viser hjælpetekst for TiddlyWiki kommandoer\n\nViser hjælpetekst for en kommando:\n\n```\n--help [<command>]\n```\n\nHvis kommandoens navn udelades, vil en liste over mulige kommandoer vises.\n"
  },
  {
    "path": "languages/da-DK/Help/init.tid",
    "content": "title: $:/language/Help/init\ndescription: Initialisér en ny wikimappe\n\nInitialisér en tom [[WikiFolder|WikiFolders]] med en kopi af den angivne udgave.\n\n```\n--init <edition> [<edition> ...]\n```\n\nFor eksempel:\n\n```\ntiddlywiki ./MyWikiFolder --init empty\n```\n\nBemærk:\n\n* wikimappe bliver oprettet, hvis det er nødvendigt\n* \"udgave\" bliver som standard til ''tom''\n* init kommandoen fejler, hvis wikimappen ikke er tom\n* init kommandoen fjerner alle `includeWikis` definitioner i udgavens `tiddlywiki.info` fil\n* Når flere udgaver er specificerede, vil udgaver som intialiseres senere overskrive alle filer delt med tidligere udgaver (altså, den endelige `tiddlywiki.info` fil vil bliver kopieret fra den sidste udgave)\n* `--help editions` returnerer en liste over de udgaver, der er til rådighed\n"
  },
  {
    "path": "languages/da-DK/Help/load.tid",
    "content": "title: $:/language/Help/load\ndescription: Indlæs tiddlere fra en fil\n\nIndlæs tiddlere fra 2.x.x TiddlyWiki filer (`.html`), `.tiddler`, `.tid`, `.json` eller andre filer\n\n```\n--load <filepath>\n```\n\nFor at indlæse tiddlere fra en krypteret ~TiddlyWiki fil, skal du først angive kodeord med PasswordCommand. For eksempel:\n\n```\ntiddlywiki ./MyWiki --password pa55w0rd --load my_encrypted_wiki.html\n```\n\nBemærk at ~TiddlyWiki ikke vil indlæse en ældre version af en allerede indlæst udvidelse.\n"
  },
  {
    "path": "languages/da-DK/Help/makelibrary.tid",
    "content": "title: $:/language/Help/makelibrary\ndescription: Konstruerer biblioteksudvidelse som er nødvendig til opgraderingsprocessen\n\nKonstruerer `$:/UpgradeLibrary` tiddleren til opgraderingsprocessen.\n\nOpgraderingsbiblioteket er formateret som en almindelig udvidelsestiddler med udvidelsestypen `library`. Den indeholder en kopi af hver af udvidelsens, temaer og sprogpakker, som findes i ~TiddlyWiki5 lager (repository).\n\nDenne kommando er beregnet til internt brug; Den er kun relevant for brugere som konstruerer en specialtilpasset opgraderingsprocedure.\n\n```\n--makelibrary <title>\n```\n\nTitel argumentet  forfalder til `$:/UpgradeLibrary`.\n"
  },
  {
    "path": "languages/da-DK/Help/notfound.tid",
    "content": "title: $:/language/Help/notfound\ndescription: \n\nHjælpeemnet findes ikke"
  },
  {
    "path": "languages/da-DK/Help/output.tid",
    "content": "title: $:/language/Help/output\ndescription: Sætter basis output mappe for efterfølgende kommandoer\n\nSætter  basis output mappe for efterfølgende kommandoer. Standard output mappe er `output` undermappe for udgavens mappe.\n\n```\n--output <pathname>\n```\n\nHvis det specificerede stinavn er relativt, sættes det relativt til den aktuelle arbejdsmappe.\n"
  },
  {
    "path": "languages/da-DK/Help/password.tid",
    "content": "title: $:/language/Help/password\ndescription: Angiv et kodeord for efterfølgende krypteringsoperationer\n\nAngiv et kodeord for efterfølgende krypteringsoperationer\n\n```\n--password <password>\n```\n\n"
  },
  {
    "path": "languages/da-DK/Help/rendertiddler.tid",
    "content": "title: $:/language/Help/rendertiddler\ndescription: Renderer en individuel tiddler som en specifik indholdstype\n\nRenderer en individuel tiddler som en angivet indholdstype, forfalder til `text/html` og gemmer den til det angivne filnavn:\n\n```\n--rendertiddler <title> <filename> [<type>]\n```\n\nSom standard løses filnavnet relativt til `output`undermappen i udgavens mappe. `--output` kommandoen kan bruges til at dirigere output til en anden mappe.\n\nEnhver manglende mappe i filnavnet bliver automatisk oprettet.\n"
  },
  {
    "path": "languages/da-DK/Help/rendertiddlers.tid",
    "content": "title: $:/language/Help/rendertiddlers\ndescription: Renderer tiddlere der matcher et filter til  specifik indholdstype\n\nRenderer et sæt af tiddlere, der matcher et filter til forskellige filer af en specifik indholdstype (standard til `text/html`) og udvidelse (standard til `.html`).\n\n```\n--rendertiddlers <filter> <template> <pathname> [<type>] [<extension>]\n```\n\nFor eksempel:\n\n```\n--rendertiddlers [!is[system]] $:/core/templates/static.tiddler.html ./static text/plain\n```\n\nPr. standard, sættes stinavnet til `output` undermappen i udgavens mappe. `--output` kommandoen kan bruges til at dirigere output til en anden mappe.\n\nEnhver fil i målmappen bliver slettet. Målmappen bliver rekursivt oprettet, hvis den mangler.\n"
  },
  {
    "path": "languages/da-DK/Help/savetiddler.tid",
    "content": "title: $:/language/Help/savetiddler\ndescription: Gemmer en rå tiddler til en fil\n\nGemmer en individuel tiddler i dens rå tekst eller binære format til det angivne filnavn. \n\n```\n--savetiddler <title> <filename>\n```\n\nSom standard, sættes finavn til `output` undermappen i  udgavens mappe. `--output` kommandoen kan bruges til at rette output til et anden mappe.\n\nEnhver manglende mappe i stien til filnavnet oprettes automatisk.\n"
  },
  {
    "path": "languages/da-DK/Help/savetiddlers.tid",
    "content": "title: $:/language/Help/savetiddlers\ndescription: Gemmer en gruppe af rå tiddlere til en mappe\n\nGemmer en gruppe af tiddlere i deres rå tekst eller binære format i den specificerede mappe. \n\n```\n--savetiddlers <filter> <pathname>\n```\n\nSom standard, løses stinavnet relativt til `output` undermappen i udgavens mappe . `--output` kommandoen kan bruges til at dirigere output til en anden mappe .\n\nAlle manglende mapper i stinavnet oprettes automatisk.\n"
  },
  {
    "path": "languages/da-DK/Help/server.tid",
    "content": "title: $:/language/Help/server\ndescription: Leverer et HTTP serverinterface til TiddlyWiki\n\nServeren som er indbygget i ~TiddlyWiki5 er meget simpel. Skønt kompatibel med ~TiddlyWeb har den ikke understøttelse af mange af de funktioner som er nødvendige til pålidelig Internet-facing brug.\n\nI roden, serverer den rendering af en angivet tiddler. Væk fra roden, serverer den individuelle tiddlere kodet i JSON, og understøtter de basale HTTP operationer for `GET`, `PUT`og `DELETE`.\n\n```\n--server <port> <roottiddler> <rendertype> <servetype> <username> <password> <host> <pathprefix>\n```\n\nParametrene er:\n\n* ''port'' - port nummeret til at servere fra (standard til \"8080\")\n* ''roottiddler'' - tiddler som serveres i  roden (standard til \"$:/core/save/all\") \n* ''rendertype'' - den indholdstype rod tiddleren skal renderes til (standard til \"text/plain\")\n* ''servetype'' - den indholdstype rod tiddleren skal serveres (standard til \"text/html\")\n* ''username'' - standard brugernavn til signerering af redigeringer\n* ''password'' - valgfrit password til basis autentificering\n* ''host'' - valgfrit værtnavn at servere fra (standard til \"127.0.0.1\" også kendt som  \"localhost\")\n* ''pathprefix'' - valgfrit prefix til stier\n\nHvis password parameteren er angivet, vil browseren bede brugeren om brugernavn og password. Bemærk at password sendes i ren tekst så denne implementering er ikke egnet til generel brug.\n\nFor eksempel:\n\n```\n--server 8080 $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n\nBrugernavn og password kan specificeres som tomme strenge hvis du har behov for at sætte værtsnavn eller stiprefix og ikke ønsker at kræve et password:\n\n```\n--server 8080 $:/core/save/all text/plain text/html \"\" \"\" 192.168.0.245\n```\n\nFor at køre flere tiddlywikiservere samtidigt, er du nødt til at sætte hver af dem til sin egen port.\n"
  },
  {
    "path": "languages/da-DK/Help/setfield.tid",
    "content": "title: $:/language/Help/setfield\ndescription: Forbereder eksterne tiddlere til brug\n\n//Bemærk at denne kommando er eksperimentel og kan ændres eller erstattes før den bliver endelig//\n\nSætter det angivne felt i en gruppe af tiddlere med resulterende wikificering af en skabelontiddler med den `currentTiddler` variable sat til den  tiddler.\n\n```\n--setfield <filter> <fieldname> <templatetitle> <rendertype>\n```\n\nParametrene er:\n\n* ''filter'' - filter der identificerer de tiddlere der påvirkes\n* ''fieldname'' - feltet der ændres (standard til \"text\")\n* ''templatetitle'' - tiddleren der wikificeres til det angivne felt. Hvis tom eller manglende slettes det specificerede felt\n* ''rendertype'' - text type til renderingr (standard til \"text/plain\"; \"text/html\" kan bruges for at inkludere HTML tags)\n"
  },
  {
    "path": "languages/da-DK/Help/unpackplugin.tid",
    "content": "title: $:/language/Help/unpackplugin\ndescription: Udtrækker payload tiddlere fra en udvidelse\n\nUdtrækker payload tiddlere fra en udvidelse, idet de oprettes som ordinære tiddlere:\n\n```\n--unpackplugin <title>\n```\n"
  },
  {
    "path": "languages/da-DK/Help/verbose.tid",
    "content": "title: $:/language/Help/verbose\ndescription: Udløser udførlig udskriftsmodus\n\nUdløser en mere udførlig udskrift, nyttig til fejlfinding\n\n```\n--verbose\n```\n"
  },
  {
    "path": "languages/da-DK/Help/version.tid",
    "content": "title: $:/language/Help/version\ndescription: Viser TiddlyWiki's versionsnummer.\n\nViser TiddlyWiki's versionsnummer.\n\n```\n--version\n```\n"
  },
  {
    "path": "languages/da-DK/Import.multids",
    "content": "title: $:/language/Import/\n\nImported/Hint: Følgende tiddlere blev importeret:\nListing/Cancel/Caption: Fortryd\nListing/Hint: Disse tiddlere er klar til import:\nListing/Import/Caption: Importér\nListing/Select/Caption: Vælg\nListing/Status/Caption: Status\nListing/Title/Caption: Titel\nUpgrader/Plugins/Suppressed/Incompatible: Blokeret inkompatibelt eller forældet udvidelse\nUpgrader/Plugins/Suppressed/Version: Blokeret udvidelse (pga. at indkommende <<incoming>>  er ældre end den eksisterende <<existing>>)\nUpgrader/Plugins/Upgraded: Upgraderet udvidelse fra <<incoming>> til <<upgraded>>\nUpgrader/State/Suppressed: Blokeret foreløbig statustiddler\nUpgrader/System/Suppressed: Blokeret systemtiddler\nUpgrader/ThemeTweaks/Created: Migreret tema tweak fra <$text text=<<from>>/>\n"
  },
  {
    "path": "languages/da-DK/Misc.multids",
    "content": "title: $:/language/\n\nAboveStory/ClassicPlugin/Warning: Det ser ud til, at du prøver at indlæse et plugin beregnet for ~TiddlyWiki Classic. Bemærk venligst, at [[disse plugins ikke virker med TiddlyWiki version 5.x.x|https://tiddlywiki.com/#TiddlyWikiClassic]]. ~TiddlyWiki Classic plugins opdaget:\nBinaryWarning/Prompt: Denne tiddler indeholder binære data\nClassicWarning/Hint: Denne tiddler er skrevet i ~TiddlyWiki Classic wikitekstformat, som ikke er fuldt kompatibel med ~TiddlyWiki version 5. Se https://tiddlywiki.com/static/Upgrading.html for flere detaljer..\nClassicWarning/Upgrade/Caption: Opgradér\nCloseAll/Button: luk alle\nConfirmCancelTiddler: Ønsker du at fortryde ændringer til denne tiddler \"<$text text=<<title>>/>\"?\nConfirmDeleteTiddler: Ønsker du at slette denne tiddler \"<$text text=<<title>>/>\"?\nConfirmEditShadowTiddler: Du skal til at redigere en skyggetiddler. Enhver ændring vil overskrive standardsystemet og gøre fremtidige opgraderinger mere besværlige. Er du sikker på, du ønsker at redigere \"<$text text=<<title>>/>\"?\nConfirmOverwriteTiddler: Ønsker du at overskrive tiddleren \"<$text text=<<title>>/>\"?\nCount: tæl\nDefaultNewTiddlerTitle: Ny tiddler\nDropMessage: Slip her (eller klik escape for at fortryde)\nEncryption/Cancel: Fortryd\nEncryption/ConfirmClearPassword: Ønsker du at slette kodeordet? Dette vil fjerne den indsatte  kryptering, når wikien gemmes\nEncryption/Password: Kodeord\nEncryption/PasswordNoMatch: Kodeordet er ikke korrekt\nEncryption/PromptSetPassword: Angiv et nyt kodeord for denne ~TiddlyWiki\nEncryption/RepeatPassword: Gentag kodeord\nEncryption/SetPassword: Angiv kodeord\nEncryption/Username: Brugernavn\nError/Caption: Fejl\nError/Filter: Filter fejl\nError/FilterSyntax: Syntaks fejl i filter udtryk\nError/IsFilterOperator: Filter fejl: ukendt operand for  'is' filter operator\nError/LoadingPluginLibrary: Fejl ved indlæsning af plugin library\nError/RecursiveTransclusion: Recursive transclusion fejl i transclude widget\nError/SavingToTWEdit: Fejl ved gemning til TWEdit\nError/WhileSaving: Fejl ved gemning\nInternalJavaScriptError/Hint: Oh, dette er pinligt. Det anbefales at du genstarter TiddlyWiki ved at opfriske din browser\nInternalJavaScriptError/Title: Intern JavaScript fejl\nLazyLoadingWarning: <p>indlæser ekstern tekst fra ''<$text text={{!!_canonical_uri}}/>''</p><p>Hvis denne besked ikke forsvinder, bruger du måske en browser, som ikke understøtter ekstern tekst i denne konfiguration. Se https://tiddlywiki.com/#ExternalText</p>\nLoginToTiddlySpace: Login til TiddlySpace\nManager/Controls/FilterByTag/Prompt: Filtrer efter tag:\nManager/Controls/Order/Prompt: Omvendt rækkefølge\nManager/Controls/Search/Placeholder: Søg\nManager/Controls/Search/Prompt: Søg:\nManager/Controls/Show/Option/Tiddlers: tiddlere\nManager/Controls/Show/Prompt: Vis:\nManager/Controls/Sort/Prompt: Sortér efter:\nManager/Item/Colour: Farve\nManager/Item/Fields: Felter\nMissingTiddler/Hint: Manglende tiddler \"<$text text=<<currentTiddler>>/>\" - klik {{||$:/core/ui/Buttons/edit}} for at oprette den.\nNo: Nej\nOfficialPluginLibrary: Officielt ~TiddlyWiki udvidelsesbibliotek\nOfficialPluginLibrary/Hint: Det officielle ~TiddlyWiki plugin library på tiddlywiki.com. Plugins, temaer og sprog pakker vedligeholdes af core team.\nPluginReloadWarning: Venligst gem {{$:/core/ui/Buttons/save-wiki}} og genindlæs {{$:/core/ui/Buttons/refresh}} for at tillade udvidelser at træde i kraft\nRecentChanges/DateFormat: DD. MMM YYYY\nSystemTiddler/Tooltip: Dette er en systemtiddler\nTagManager/Colour/Heading: Farve\nTagManager/Count/Heading: Tæl\nTagManager/Icon/Heading: Ikon\nTagManager/Tag/Heading: Tag\nTiddler/DateFormat: DD. MMM YYYY kl. hh12:0mmam\nUnsavedChangesWarning: Du har ændringer som ikke er gemt i ~TiddlyWiki\nYes: Ja\n"
  },
  {
    "path": "languages/da-DK/Modals/Download.tid",
    "content": "title: $:/language/Modals/Download\ntype: text/vnd.tiddlywiki\nsubtitle: Download changes\nfooter: <$button message=\"tm-close-tiddler\">Close</$button>\nhelp: https://tiddlywiki.com/static/DownloadingChanges.html\n\nDin browser understøtter kun manuel gemning\n\nFor at gemme din ændrede wiki, højreklik på downloadlinket nedenfor og vælg \"Hent fil\" eller \"Gem fil\", og vælg dernæst en mappe og et filnavn.\n\n//Du kan øge hastigheden lidt ved at klikke på linket med kontrol tasten (Windows)eller vælg/alt key (Mac OS X). Du vil ikke blive bedt om mappe eller filnavn. Sandsynligvis giver din browser den et uigenkendeligt navn -- Du kan blive nødt til at omdøbe filen og inkludere en `.html` udvidelse, for at den kan bruges..//\n\nPå smartphones, som ikke tillader filer at blive lagret, kan du i stedet bogmærke linket og synkronisere dine bogmærker til en computer hvorfra wiki'en kan gemmes normalt.\n"
  },
  {
    "path": "languages/da-DK/NewJournal.multids",
    "content": "title: $:/config/NewJournal/\n\nTags: Journal\nTitle: DD. MMM YYYY\n"
  },
  {
    "path": "languages/da-DK/Notifications.multids",
    "content": "title: $:/language/Notifications/\n\nSave/Done: Gemt wiki\nSave/Starting: Begynder at gemme wiki\n"
  },
  {
    "path": "languages/da-DK/Search.multids",
    "content": "title: $:/language/Search/\n\nDefaultResults/Caption: Liste\nFilter/Caption: Filter\nFilter/Hint: Søg med et [[filterudtryk|https://tiddlywiki.com/static/Filters.html]]\nFilter/Matches: //<small><<resultCount>> træffere</small>//\nMatches: //<small><<resultCount>> træffere</small>//\nMatches/All: Alle træffere:\nMatches/Title: Titel træffere:\nSearch: Søg\nSearch/TooShort: Søge tekst for kort\nShadows/Caption: Skygger\nShadows/Hint: Søg i skyggetiddlere\nShadows/Matches: //<small><<resultCount>> træffere</small>//\nStandard/Caption: Standard\nStandard/Hint: Søg i standardtiddlere\nStandard/Matches: //<small><<resultCount>>træffere</small>//\nSystem/Caption: System\nSystem/Hint: Søg i systemtiddlere\nSystem/Matches: //<small><<resultCount>>træffere</small>//\n"
  },
  {
    "path": "languages/da-DK/SideBar.multids",
    "content": "title: $:/language/SideBar/\n\nAll/Caption: Alle\nContents/Caption: Indhold\nDrafts/Caption: Kladde\nMissing/Caption: Mangler\nMore/Caption: Mere\nOpen/Caption: Åbne\nOrphans/Caption: Løse\nRecent/Caption: Seneste\nShadows/Caption: Skygger\nSystem/Caption: System\nTags/Caption: Tags\nTags/Untagged/Caption: Ukategoriserede\nTools/Caption: Værktøj\nTypes/Caption: Typer\n"
  },
  {
    "path": "languages/da-DK/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\nen ikke-lineær personlig web notesbog"
  },
  {
    "path": "languages/da-DK/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\nMin ~TiddlyWiki"
  },
  {
    "path": "languages/da-DK/Snippets/ListByTag.tid",
    "content": "title: $:/language/Snippets/ListByTag\ntags: $:/tags/TextEditor/Snippet\ncaption: List tiddlere efter tag\n\n<<list-links \"[tag[task]sort[title]]\">>\n"
  },
  {
    "path": "languages/da-DK/Snippets/MacroDefinition.tid",
    "content": "title: $:/language/Snippets/MacroDefinition\ntags: $:/tags/TextEditor/Snippet\ncaption: Makro definition\n\n\\define macroName(param1:\"default value\",param2)\nMakroens tekst\n\\end\n"
  },
  {
    "path": "languages/da-DK/Snippets/Table4x3.tid",
    "content": "title: $:/language/Snippets/Table4x3\ntags: $:/tags/TextEditor/Snippet\ncaption: Tabel med 4 kolonner og 3 rækker\n\n|! |!Alpha |!Beta |!Gamma |!Delta |\n|!En | | | | |\n|!To | | | | |\n|!Tre | | | | |\n"
  },
  {
    "path": "languages/da-DK/Snippets/TableOfContents.tid",
    "content": "title: $:/language/Snippets/TableOfContents\ntags: $:/tags/TextEditor/Snippet\ncaption: Indholdsfortegnelse\n\n<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'TableOfContents'>>\n\n</div>"
  },
  {
    "path": "languages/da-DK/ThemeTweaks.multids",
    "content": "title: $:/language/ThemeTweaks/\n\nMetrics: Størrelser\nMetrics/BodyFontSize: Font størrelse for tiddler body\nMetrics/BodyLineHeight: Linie højde for tiddler body\nMetrics/FontSize: Font størrelse\nMetrics/LineHeight: Linie højde\nMetrics/SidebarBreakpoint/Hint: minimum side bredde ved hvilken story<br>river og sidebar vises side om side\nMetrics/SidebarWidth: Sidebar bredde\nMetrics/SidebarWidth/Hint: bredden af sidebar i flydende-fikseret layout\nMetrics/StoryLeft: Story venstre position\nMetrics/StoryLeft/Hint: hvor langt venstre kant af story river<br>(tiddler area) er fra vestre side af siden.\nMetrics/StoryRight: Story højre\nMetrics/StoryRight/Hint: hvor langt venstre margen af sidebar <br>er fra vesntre side af siden\nMetrics/StoryTop/Hint: hvor langt top margen af the story river<br>er fra troppen af siden\nMetrics/StoryWidth: Story bredde\nMetrics/StoryWidth/Hint: Hele bredden af story river\nMetrics/TiddlerWidth: Tiddler bredde\nMetrics/TiddlerWidth/Hint: i story river\nOptions: Valgmuligheder\nOptions/CodeWrapping: Omgiv lange linier  i code blokke\nOptions/SidebarLayout/Fixed-Fluid: Fikseretstory, flydende sidebar\nOptions/SidebarLayout/Fluid-Fixed: Flydende story, fikseret sidebar\nSettings: Indstillinger\nSettings/BackgroundImage: Side baggrunds billede\nSettings/BackgroundImageAttachment: Side baggrunds billede tilknyttet\nSettings/BackgroundImageAttachment/Fixed: Fikseret til vindoe\nSettings/BackgroundImageAttachment/Scroll: Ruller med tiddlere\nSettings/BackgroundImageSize: Side baggrunds billede størrelse\nSettings/BackgroundImageSize/Contain: Indeholder\nSettings/BackgroundImageSize/Cover: Dækker\nSettings/CodeFontFamily: Code font familie\nSettings/FontFamily: Font familie\nThemeTweaks: Tema justering\nThemeTweaks/Hint: Du kan justere visse aspekter af ''Vanilla'' temaet.\n"
  },
  {
    "path": "languages/da-DK/TiddlerInfo.multids",
    "content": "title: $:/language/TiddlerInfo/\n\nAdvanced/Caption: Avanceret\nAdvanced/PluginInfo/Empty/Hint: ingen\nAdvanced/PluginInfo/Heading: Udvidelsesdetaljer\nAdvanced/PluginInfo/Hint: Denne udvidelse indeholder følgende skyggetiddlere:\nAdvanced/ShadowInfo/Heading: Skyggestatus\nAdvanced/ShadowInfo/NotShadow/Hint: Tiddleren <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> er ikke en skyggetiddler\nAdvanced/ShadowInfo/OverriddenShadow/Hint: Den er oveskrevet af en almindelig tiddler\nAdvanced/ShadowInfo/Shadow/Hint: Tiddleren <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link>er en skyggetiddler\nAdvanced/ShadowInfo/Shadow/Source: Det er defineret i udvidelsen <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>\nFields/Caption: Felter\nList/Caption: Liste\nList/Empty: Denne tiddler har ikke en liste\nListed/Caption: Listet\nListed/Empty: Denne tiddler er ikke listet af andre\nReferences/Caption: Referencer\nReferences/Empty: Ingen tiddlere linker til denne\nTagging/Caption: Tagging\nTagging/Empty: Ingen tiddlere er tagget med denne\nTools/Caption: Værktøj\n"
  },
  {
    "path": "languages/da-DK/Types/application%2Fjavascript.tid",
    "content": "title: $:/language/Docs/Types/application/javascript\ndescription: JavaScript kode\nname: application/javascript\ngroup: Udvikler\n"
  },
  {
    "path": "languages/da-DK/Types/application%2Fjson.tid",
    "content": "title: $:/language/Docs/Types/application/json\ndescription: JSON data\nname: application/json\ngroup: Udvikler\n"
  },
  {
    "path": "languages/da-DK/Types/application%2Fx-tiddler-dictionary.tid",
    "content": "title: $:/language/Docs/Types/application/x-tiddler-dictionary\ndescription: Databibliotek\nname: application/x-tiddler-dictionary\ngroup: Udvikler\n"
  },
  {
    "path": "languages/da-DK/Types/image%2Fgif.tid",
    "content": "title: $:/language/Docs/Types/image/gif\ndescription: GIF billede\nname: image/gif\ngroup: Billede\n"
  },
  {
    "path": "languages/da-DK/Types/image%2Fjpeg.tid",
    "content": "title: $:/language/Docs/Types/image/jpeg\ndescription: JPEG billede\nname: image/jpeg\ngroup: Billede\n"
  },
  {
    "path": "languages/da-DK/Types/image%2Fpng.tid",
    "content": "title: $:/language/Docs/Types/image/png\ndescription: PNG billede\nname: image/png\ngroup: Billede\n"
  },
  {
    "path": "languages/da-DK/Types/image%2Fsvg%2Bxml.tid",
    "content": "title: $:/language/Docs/Types/image/svg+xml\ndescription: Struktureret Vektorgrafik billede\nname: image/svg+xml\ngroup: Billede\n"
  },
  {
    "path": "languages/da-DK/Types/text%2Fcss.tid",
    "content": "title: $:/language/Docs/Types/text/css\ndescription: Statisk stylesheet\nname: text/css\ngroup: Udvikler\n"
  },
  {
    "path": "languages/da-DK/Types/text%2Fhtml.tid",
    "content": "title: $:/language/Docs/Types/text/html\ndescription: HTML opmærkning\nname: text/html\ngroup: Tekst\n"
  },
  {
    "path": "languages/da-DK/Types/text%2Fplain.tid",
    "content": "title: $:/language/Docs/Types/text/plain\ndescription: Ren tekst\nname: text/plain\ngroup: Tekst\n"
  },
  {
    "path": "languages/da-DK/Types/text%2Fvnd.tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/vnd.tiddlywiki\ndescription: TiddlyWiki 5\nname: text/vnd.tiddlywiki\ngroup: Tekst\n"
  },
  {
    "path": "languages/da-DK/plugin.info",
    "content": "{\n\t\"title\": \"$:/languages/da-DK\",\n\t\"name\": \"da-DK\",\n\t\"plugin-type\": \"language\",\n\t\"description\": \"Dansk (Danmark)\",\n\t\"author\": \"Birthe C\",\n\t\"core-version\": \">=5.0.8\"\n}\n"
  },
  {
    "path": "languages/de-AT/CoreReadMe.tid",
    "content": "title: $:/core/de-AT/readme\n\n{{$:/core/de-DE/readme}}\n"
  },
  {
    "path": "languages/de-AT/Dates.multids",
    "content": "title: $:/language/\n\n# The rest of the elements is part of languages/de-DE/Dates.multids\nDate/Long/Month/1: Jänner\nDate/Short/Month/1: Jän\n"
  },
  {
    "path": "languages/de-AT/plugin.info",
    "content": "{\n\t\"title\": \"$:/languages/de-AT\",\n\t\"name\": \"de-AT\",\n\t\"plugin-type\": \"language\",\n\t\"description\": \"Deutsch (Österreich)\",\n\t\"author\": \"MarioPietsch aka pmario\",\n\t\"core-version\": \">=5.0.0\",\n\t\"dependents\": [\"$:/languages/de-DE\"],\n\t\"plugin-priority\": 110\n}\n"
  },
  {
    "path": "languages/de-CH/plugin.info",
    "content": "{\n\t\"title\": \"$:/languages/de-CH\",\n\t\"name\": \"de-CH\",\n\t\"plugin-type\": \"language\",\n\t\"description\": \"Deutsch (Schweiz)\",\n\t\"author\": \"MarioPietsch aka pmario\",\n\t\"core-version\": \">=5.0.0\",\n\t\"dependents\": [\"$:/languages/de-DE\"],\n\t\"plugin-priority\": 110\n}\n"
  },
  {
    "path": "languages/de-DE/Buttons.multids",
    "content": "title: $:/language/Buttons/\n\nAdvancedSearch/Caption: Erweiterte Suche\nAdvancedSearch/Hint: Erweiterte Suche\nCancel/Caption: Abbrechen\nCancel/Hint: Änderungen verwerfen\nClone/Caption: Klone\nClone/Hint: Klone diesen Tiddler\nClose/Caption: Schließen\nClose/Hint: Schließe diesen Tiddler\nCloseAll/Caption: Alle schließen\nCloseAll/Hint: Alle Tiddler schließen\nCloseOthers/Caption: Andere schließen\nCloseOthers/Hint: Alle anderen Tiddler schließen\nControlPanel/Caption: Control-Panel\nControlPanel/Hint: Öffne das Control-Panel\nCopyToClipboard/Caption: Kopiere in die Zwischenablage\nCopyToClipboard/Hint: Kopiere diesen Text in die Zwischenablage\nDelete/Caption: Löschen\nDelete/Hint: Lösche den Tiddler\nDeleteTiddlers/Caption: Lösche Tiddler\nDeleteTiddlers/Hint: Lösche diese Tiddler\nEdit/Caption: Bearbeiten\nEdit/Hint: Bearbeite diesen Tiddler\nEncryption/Caption: Verschlüsselung\nEncryption/Hint: Aktivieren oder löschen des Passworts für dieses Wiki\nEncryption/ClearPassword/Caption: Verschlüsselung deaktivieren\nEncryption/ClearPassword/Hint: Lösche das Passwort und speichere ohne Verschlüsselung\nEncryption/SetPassword/Caption: Verschlüsselung\nEncryption/SetPassword/Hint: Definiert ein Passwort, um dieses Wiki zu verschlüsseln\nEmergencyDownload/Caption: Speichern aller Tiddler als JSON File\nExportPage/Caption: Alle exportieren\nExportPage/Hint: Alle Tiddler exportieren\nExportTiddler/Caption: Exportieren\nExportTiddler/Hint: Diesen Tiddler exportieren\nExportTiddlers/Caption: Mehrere exportieren\nExportTiddlers/Hint: Mehrere Tiddler exportieren\nSidebarSearch/Hint: Aktiviere das \"sidebar\" Suchfeld\nFold/Caption: Ausblenden Textbereich\nFold/Hint: Der Tiddler Textbereich wird ausgeblendet\nFold/FoldBar/Caption: Textbereich ein/aus\nFold/FoldBar/Hint: Optionelle Buttons im Tiddler, um den Textbereich ein- bzw. auszublenden\nUnfold/Caption: Einblenden Textbereich\nUnfold/Hint: Der Tiddler Textbereich wird eingeblendet\nFoldOthers/Caption: Ausblenden andere Textbereiche\nFoldOthers/Hint: Die Textbereiche aller anderen Tiddler werden ausgeblendet\nFoldAll/Caption: Ausblenden aller Textbereiche\nFoldAll/Hint: Ausblenden der Textbereiche aller Tiddler\nUnfoldAll/Caption: Einblenden aller Textbereiche\nUnfoldAll/Hint: Einblenden der Textbereiche aller Tiddler\nFullScreen/Caption: Vollbild\nFullScreen/Hint: Aktivieren oder Deaktivieren des Vollbild-Modus\nHelp/Caption: Hilfe\nHelp/Hint: Hilfe anzeigen\nImport/Caption: Import\nImport/Hint: Importiere unterschiedliche Dateitypen. zB: Text, Bilder, TiddlyWiki oder JSON\nInfo/Caption: Info\nInfo/Hint: Informationen zu diesem Tiddler anzeigen\nHome/Caption: Home\nHome/Hint: Öffnen der Standard-Tiddler\nLanguage/Caption: Sprache\nLanguage/Hint: Auswahldialog für die Systemsprache\nLayoutSwitcher/Hint: Öffne den Layout Selektor\nLayoutSwitcher/Caption: Layout\nManager/Caption: Tiddler Manager\nManager/Hint: Öffne den Tiddler Manager\nMore/Caption: mehr\nMore/Hint: Weitere Aktionen\nNewHere/Caption: Neu hier\nNewHere/Hint: Erstelle einen neuen Tiddler, der mit dem Namen dieses Tiddlers getaggt ist\nNetworkActivity/Caption: Netzwerk Aktivität\nNetworkActivity/Hint: Alle offen Netwerk Anfragen beenden\nNewJournal/Caption: Neues Journal\nNewJournal/Hint: Erstelle einen neuen Journal-Tiddler\nNewJournalHere/Caption: Neues Journal hier\nNewJournalHere/Hint: Erstelle ein neues Journal der mit diesem getaggt ist\nNewImage/Caption: Neues Bild\nNewImage/Hint: Erstelle ein neues Bild\nNewMarkdown/Caption: Neuer Markdown Tiddler\nNewMarkdown/Hint: Erstelle einen neuen \"Markdown\" Tiddler\nNewTiddler/Caption: Neuer Tiddler\nNewTiddler/Hint: Erstelle einen neuen Tiddler\nOpenWindow/Caption: Öffne in neuem Fenster\nOpenControlPanel/Hint: Öffne das Control-Panel\nOpenWindow/Hint: Öffne diesen Tiddler in einem neuen Fenster\nPalette/Caption: Palette\nPalette/Hint: Wähle eine Farbpalette\nPermalink/Caption: Permalink\nPermalink/Hint: Die Adressleiste des Browsers enthält einen Link zu diesem Tiddler\nPermaview/Caption: Permaview\nPermaview/Hint: Die Adressleiste des Browsers enthält einen Link zu allen offenen Tiddlern in dieser Story\nPrint/Caption: Seite drucken\nPrint/Hint: Aktuelle Seite drucken\nRefresh/Caption: Aktualisieren\nRefresh/Hint: Die Seite wird neu in den Browser geladen\nSave/Caption: Fertig\nSave/Hint: Änderungen für diesen Tiddler bestätigen\nSaveWiki/Caption: Speichern\nSaveWiki/Hint: Das Wiki speichern\nStoryView/Caption: Story-Modus\nStoryView/Hint: Auswahl des Anzeigemodus für die Story\nHideSideBar/Caption: Sidebar ausblenden\nHideSideBar/Hint: Sidebar ausblenden\nShowSideBar/Caption: Sidebar einblenden\nShowSideBar/Hint: Sidebar einblenden\nTagManager/Caption: Tag-Manager\nTagManager/Hint: Öffne den Tag-Manager\nTestCaseImport/Caption: importiere Tiddler\nTestCaseImport/Hint: Importiere im Test enthaltene Tiddler\nTimestamp/Caption: Zeitstempel\nTimestamp/Hint: Einstellung, ob Änderungen den Zeitstempel beeinflussen\nTimestamp/On/Caption: Zeitstempel EIN\nTimestamp/On/Hint: Zeitstempel aktualisieren, wenn ein Tiddler verändert wird\nTimestamp/Off/Caption: Zeitstempel AUS\nTimestamp/Off/Hint: Zeitstempel bleibt unverändert, wenn ein Tiddler geändert wird\nTheme/Caption: Theme\nTheme/Hint: Theme auswählen\nBold/Caption: Fett\nBold/Hint: Ausgewählten Text fett darstellen\nClear/Caption: Löschen\nClear/Hint: Bild mit Hintergrund Farbe löschen\nEditorHeight/Caption: Editor Höhe\nEditorHeight/Caption/Auto: Editor Höhe an Inhalt anpassen\nEditorHeight/Caption/Fixed: Fixe Höhe:\nEditorHeight/Hint: Wählen Sie die Höhe des Editors\nExcise/Caption: Verschieben\nExcise/Caption/Excise: Text verschieben\nExcise/Caption/MacroName: Makro Name:\nExcise/Caption/NewTitle: Titel des neuen Tiddlers:\nExcise/Caption/Replace: Ersetze den verschobenen Text mit:\nExcise/Caption/Replace/Macro: Makro\nExcise/Caption/Replace/Link: Link\nExcise/Caption/Replace/Transclusion: Transklusion\nExcise/Caption/Tag: Tagge den neuen Tiddler mit dem Titel des aktuellen Tiddlers\nExcise/Caption/TiddlerExists: Warnung: Tiddler existiert bereits!\nExcise/Hint: Verschiebe den ausgewählten Text in einen neuen Tiddler\nExcise/DefaultTitle: Neuen \"Text Verschieben\"\nHeading1/Caption: Überschrift 1\nHeading1/Hint: Überschrift 1 auf die Zeilen anwenden, die eine Auswahl enthalten\nHeading2/Caption: Überschrift 2\nHeading2/Hint: Überschrift 2 auf die Zeilen anwenden, die eine Auswahl enthalten\nHeading3/Caption: Überschrift 3\nHeading3/Hint: Überschrift 3 auf die Zeilen anwenden, die eine Auswahl enthalten\nHeading4/Caption: Überschrift 4\nHeading4/Hint: Überschrift 4 auf die Zeilen anwenden, die eine Auswahl enthalten\nHeading5/Caption: Überschrift 5\nHeading5/Hint: Überschrift 5 auf die Zeilen anwenden, die eine Auswahl enthalten\nHeading6/Caption: Überschrift 6\nHeading6/Hint: Überschrift 6 auf die Zeilen anwenden, die eine Auswahl enthalten\nItalic/Caption: Kursiv\nItalic/Hint: Kursiv auf den selektierten Text anwenden\nLineWidth/Caption: Zeilen Länge\nLineWidth/Hint: Wählen Sie die Zeilenlänge\nLink/Caption: Link\nLink/Hint: Erstellt einen Wiki-Link\nLinkify/Caption: Wikilink\nLinkify/Hint: Wikilink - Den selektierten Text in eckige Klammern setzen\nListBullet/Caption: Punkteliste\nListBullet/Hint: Zeilen, die eine Markierung enthalten, werden als Punkteliste formatiert\nListNumber/Caption: Aufzählungsliste\nListNumber/Hint: Zeilen, die eine Markierung enthalten, werden als Auzählungsliste formatiert\nMonoBlock/Caption: Dicktengleicher Textblock\nMonoBlock/Hint: Alle Zeilen die eine Markierung enthalten, werden als Textblock mit einer dicktengleichen Schrift formatiert\nMonoLine/Caption: Dicktengleich\nMonoLine/Hint: Alle markierten Zeichen werden mit einer dicktengleichen Schrift formatiert\nOpacity/Caption: Transparenz\nOpacity/Hint: Wählen sie die Transparenz\nPaint/Caption: Malfarbe\nPaint/Hint: Wählen Sie die Malfarbe\nPicture/Caption: Bild\nPicture/Hint: Bild einfügen\nPreview/Caption: Vorschau\nPreview/Hint: Vorschau einblenden\nPreviewType/Caption: Vorschau Typ\nPreviewType/Hint: Wählen Sie den Vorschau Typ\nQuote/Caption: Zitat\nQuote/Hint: Alle Zeilen, die eine Markierung enthalten werden als Referenz/Zitat formatiert\nRotateLeft/Caption: Links rotieren\nRotateLeft/Hint: Rotiere das Bild um 90° nach links\nSize/Caption: Bildgröße\nSize/Caption/Height: Höhe:\nSize/Caption/Resize: Bildgröße ändern\nSize/Caption/Width: Weite:\nSize/Hint: Bildweite ändern\nStamp/Caption: Stempel\nStamp/Caption/New: Eigenen Stempel erstellen\nStamp/Hint: Textschnipsel hier einfügen\nStamp/New/Title: Name, der im Menü angezeigt werden soll\nStamp/New/Text: Text des Schnipsels. (Nicher vergessen eine aussagekräftigen Titel zu verwenden)\nStrikethrough/Caption: Durchgestrichen\nStrikethrough/Hint: Ausgewählten Text durchgestrichen darstgellen\nSubscript/Caption: Tiefsgestellt\nSubscript/Hint: Ausgewählten Text tiefgestellt darstellen\nSuperscript/Caption: Hochgestellt\nSuperscript/Hint: Ausgewählten Text hochgestellt darstellen\nToggleSidebar/Hint: Invertiere die \"sidebar\" Sichtbarkeit\nTranscludify/Caption: Transklusion\nTranscludify/Hint: Transklusion - Den selektierten Text in geschwungene Klammern setzen\nUnderline/Caption: Unterstreichen\nUnderline/Hint: Ausgewählten Text unterstrichen darstellen"
  },
  {
    "path": "languages/de-DE/ControlPanel.multids",
    "content": "title: $:/language/ControlPanel/\n\nAdvanced/Caption: Erweitert\nAdvanced/Hint: Interne Informationen über dieses ~TiddlyWiki.\nAppearance/Caption: Design\nAppearance/Hint: Möglichkeiten um das Aussehen Ihres ~TiddlyWikis anzupassen.\nBasics/AnimDuration/Prompt: Dauer der Animation\nBasics/AutoFocus/Prompt: Standard Fokus Feld für neue Tiddler\nBasics/AutoFocusEdit/Prompt: Standard Fokus Feld für bestehende Tiddler\nBasics/Caption: Basis\nBasics/DefaultTiddlers/BottomHint: Verwenden Sie &#91;&#91;doppelte eckige Klammern&#93;&#93; für Titel mit Leerzeichen oder wählen Sie {{Offene Tiddler beim Laden wiederherstellen.||$:/snippets/retain-story-ordering-button}}\nBasics/DefaultTiddlers/Prompt: Standard-Tiddler\nBasics/DefaultTiddlers/TopHint: Tiddler, die beim Start geladen werden\nBasics/Language/Prompt: Hallo! Aktuelle Sprache\nBasics/NewJournal/Title/Prompt: Titel des neuen Journal-Tiddlers\nBasics/NewJournal/Text/Prompt: Text des neuen Journal-Tiddlers\nBasics/NewJournal/Tags/Prompt: Tags des neuen Journal-Tiddlers\nBasics/NewTiddler/Title/Prompt: Titel des neuen Tiddlers\nBasics/NewTiddler/Tags/Prompt: Tags des neuen Tiddlers\nBasics/OverriddenShadowTiddlers/Prompt: Anzahl überschriebener Schatten-Tiddler\nBasics/RemoveTags: Auf neues Format umstellen\nBasics/RemoveTags/Hint: Die \"tags\" Konfiguration wird auf das aktuelle Format umgestellt\nBasics/ShadowTiddlers/Prompt: Anzahl Schatten-Tiddler\nBasics/Subtitle/Prompt: Untertitel\nBasics/SystemTiddlers/Prompt: Anzahl System-Tiddler\nBasics/Tags/Prompt: Anzahl Tags\nBasics/Tiddlers/Prompt: Anzahl Tiddler\nBasics/Title/Prompt: Titel dieses ~TiddlyWikis\nBasics/Username/Prompt: Benutzersignatur zum Editieren\nBasics/Version/Prompt: ~TiddlyWiki Version\nCascades/Caption: Kaskaden\nCascades/Hint: Diese Regeln werden dynamisch auf verschiedene Templates angewendet. Das Ergebnis einer Filter-Kaskade wird von der Filter Sequenz bestimmt, die als Erste ein Resultat zurück gibt.\nCascades/TagPrompt: Filter Tags: <$macrocall $name=\"tag\" tag=<<currentTiddler>>/>\nEditorTypes/Caption: Editor Typen\nEditorTypes/Editor/Caption: Editor\nEditorTypes/Hint: Diese Tiddler definieren, welcher Editor für bestimmte Tiddler Typen (MIME-Type) verwendet werden soll.\nEditorTypes/Type/Caption: MIME-Type\nEditTemplateBody/Caption: Edit Template \"Körper\"\nEditTemplateBody/Hint: Diese Filter-Kaskade wird vom Standard \"Edit Template\" verwendet. Es wählt die Vorlage für den Textbereich aus.\nFieldEditor/Caption: Feld Editor\nFieldEditor/Hint: Diese Filter-Kaskade wird vom \"Edit Template\" zur Bestimmung der Vorlage für die \"Feld Namen\" verwendet.\nInfo/Caption: Info\nInfo/Hint: Informationen über dieses TiddlyWiki\nKeyboardShortcuts/Add/Prompt: Tastenkürzel hier eingeben\nKeyboardShortcuts/Add/Caption: Tastenkürzel erstellen\nKeyboardShortcuts/Caption: Tastenkürzel\nKeyboardShortcuts/Hint: Tastenkürzel Zuweisungen bearbeiten\nKeyboardShortcuts/NoShortcuts/Caption: Keine Tastenkürzel Zusweisungen vorhanden\nKeyboardShortcuts/Remove/Hint: Löschen eines Tastenkürzels\nKeyboardShortcuts/Platform/All: Alle Plattformen\nKeyboardShortcuts/Platform/Mac: Nur Macintosh\nKeyboardShortcuts/Platform/NonMac: Alle Plattformen, außer Macintosh\nKeyboardShortcuts/Platform/Linux: Nur Linux\nKeyboardShortcuts/Platform/NonLinux: Alle Plattformen, außer Linux\nKeyboardShortcuts/Platform/Windows: Nur Windows\nKeyboardShortcuts/Platform/NonWindows: Alle Plattformen, außer Windows\nLayoutSwitcher/Caption: Layout\nLoadedModules/Caption: Geladene Module\nLoadedModules/Hint: Hier werden die geladenen Module und ihre Quelltext-Komponenten angezeigt. Kursiv hervorgehobene Tiddler haben keinen Quelltext. Sie werden während des Boot-Prozesses (Aufrufen des Tiddlywikis) erstellt.\nPalette/Caption: Palette\nPalette/Editor/Clone/Caption: Palette klonen\nPalette/Editor/Clone/Prompt: Es wird empfohlen, dass Sie diese Schatten-Palette klonen, bevor Sie sie bearbeiten. Der Name der Palette wird im Tiddler-Feld \"description\" eingestellt.\nPalette/Editor/Delete/Hint: Lösche diesen Eintrag von der Palette\nPalette/Editor/Names/External/Show: Zeige Farb-namen, die nicht Tiel der bestehenden Palette sind\nPalette/Editor/Prompt/Modified: Diese Schatten-Palette wurde bearbeitet.\nPalette/Editor/Prompt: Bearbeiten\nPalette/Editor/Reset/Caption: Palette zurücksetzen\nPalette/HideEditor/Caption: Editor ausblenden\nPalette/Prompt: Ausgewählte Farbpalette:\nPalette/ShowEditor/Caption: Editor zeigen\nParsing/Caption: Parser\nParsing/Hint: Hier können Sie die globalen Parser-Einstellungen ändern. ACHTUNG: Manche Einstellungen können dazu führen, dass ~TiddlyWiki nicht mehr richtig funktioniert. Sollte das der Fall sein, dann können Sie die Änderungen im [[\"safe mode\"|https://tiddlywiki.com/#SafeMode]] rückgängig machen.\nParsing/Block/Caption: Block Regeln\nParsing/Inline/Caption: Inline Regeln\nParsing/Pragma/Caption: Pragma Regeln\nPlugins/Add/Caption: Suche\nPlugins/Add/Hint: Suche und installiere neue Plugins\nPlugins/AlreadyInstalled/Hint: Dieses Plugin ist bereits installiert. Version: <$text text=<<installedVersion>>/>\nPlugins/AlsoRequires: Benötigt auch:\nPlugins/Caption: Plugins\nPlugins/Disable/Caption: deaktivieren\nPlugins/Disable/Hint: Deaktivieren Sie dieses Plugin beim nächsten Laden der Seite.\nPlugins/Disabled/Status: (deaktiviert)\nPlugins/Downgrade/Caption: herabstufen\nPlugins/Empty/Hint: keine\nPlugins/Enable/Caption: aktivieren\nPlugins/Enable/Hint: Aktivieren Sie dieses Plugin beim nächsten Laden der Seite.\nPlugins/Install/Caption: installieren\nPlugins/Installed/Hint: Momentan installierte Plugins\nPlugins/Languages/Caption: Sprachen\nPlugins/Languages/Hint: Spracherweiterungen\nPlugins/NoInfoFound/Hint: Kein ''\"<$text text=<<currentTab>>/>\"'' gefunden\nPlugins/NotInstalled/Hint: Dieses Plugin ist momentan nicht installiert\nPlugins/OpenPluginLibrary: Öffne das Plugin-Verzeichnis\nPlugins/ClosePluginLibrary: Schließe das Plugin-Verzeichnis\nPlugins/PluginWillRequireReload: (\"reload\" ist nötig)\nPlugins/Plugins/Caption: Plugins\nPlugins/Plugins/Hint: Erweiterungen\nPlugins/Reinstall/Caption: erneut installieren\nPlugins/Stability/Deprecated: ABGEKÜNDIGT\nPlugins/Stability/Experimental: EXPERIMENTELL\nPlugins/Stability/Legacy: VERALTET\nPlugins/Stability/Stable: STABIL\nPlugins/Themes/Caption: Themes\nPlugins/Themes/Hint: Theme Erweiterungen\nPlugins/Update/Caption: aktualisieren\nPlugins/Updates/Caption: Aktualisieren\nPlugins/Updates/Hint: Verfügbare Erweiterungen zu bereits installierten \"Plugins\"\nPlugins/Updates/UpdateAll/Caption: Aktualisiere <<update-count>> \"Plugins\"\nPlugins/SubPluginPrompt: Mit <<count>> \"sub-plugins\" verfügbar\nSaving/Caption: Speichern\nSaving/DownloadSaver/AutoSave/Description: Erlaube automatisches Speichern für den \"Download Saver\"\nSaving/DownloadSaver/AutoSave/Hint: Erlaube automatisches Speichern für den \"Download Saver\"\nSaving/DownloadSaver/Caption: Download Saver\nSaving/DownloadSaver/Hint: Diese Einstellungen gelten für den HTML5-compatiblen \"Download Saver\"\nSaving/General/Caption: Allgemein\nSaving/General/Hint: Diese Einstellungen gelten für alle Speichermechanismen\nSaving/Hint: Einstellungen zu den TiddlyWiki Speichermechanismen\nSaving/GitService/Branch: Ziel \"branch\" zum Speichern (Standard: `master`)\nSaving/GitService/CommitMessage: Gespeichert von TiddlyWiki\nSaving/GitService/Description: Diese Einstellungen werden nur zum Speichern auf <<service-name>> verwendet\nSaving/GitService/Filename: Dateiname für Zielpfad (zB: `index.html`)\nSaving/GitService/Path: Pfad für Datei (zB: `/wiki/`)\nSaving/GitService/Repo: Ziel \"Repository\" (zB: `Jermolene/TiddlyWiki5`)\nSaving/GitService/ServerURL: Server URL (Standard: `https://api.github.com`)\nSaving/GitService/UserName: Benuzername\nSaving/GitService/GitHub/Caption: ~GitHub Saver\nSaving/GitService/GitHub/Password: Password, \"OAUTH token\", oder persönlicher \"Zugriffs-Token\". Siehe: [[GitHub help page|https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line]]\nSaving/GitService/GitLab/Caption: ~GitLab Saver\nSaving/GitService/GitLab/Password: Persönlicher \"Zugriffs-Token\". Siehe: [[GitLab help page|https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html]]\nSaving/GitService/Gitea/Caption: Gitea Saver\nSaving/GitService/Gitea/Password: Persönlicher \"Zugriffs-Token\" (siehe: Gitea’s web Seite: `Settings | Applications | Generate New Token`)\nSaving/TiddlySpot/Advanced/Heading: Erweiterte Einstellungen\nSaving/TiddlySpot/BackupDir: Verzeichnis für das \"Backup\"\nSaving/TiddlySpot/ControlPanel: ~TiddlyHost Control Panel\nSaving/TiddlySpot/Backups: \"Backups\"\nSaving/TiddlySpot/Caption: Speichern auf ~TiddlyHost\nSaving/TiddlySpot/Description: Diese Einstellungen sind nur für [[TiddlyHost|https://tiddlyhost.com]], und kompatible Server aktiv! [[Diese Beschreibung|https://github.com/simonbaird/tiddlyhost/wiki/TiddlySpot-Saver-configuration-for-Tiddlyhost-and-Tiddlyspot]] enthält weitergehende Informationen.\nSaving/TiddlySpot/Filename: Dateiname für den \"Upload\"\nSaving/TiddlySpot/Heading: ~TiddlyHost\nSaving/TiddlySpot/Hint: //Die Standard-Server-URL ist `http://<wikiname>.tiddlyspot.com/store.cgi` und kann im Feld 'Server-URL' verändert werden. zB: http://example.com/store.php//\nSaving/TiddlySpot/Password: Passwort\nSaving/TiddlySpot/ServerURL: Server-URL\nSaving/TiddlySpot/UploadDir: Verzeichnis für den \"Upload\"\nSaving/TiddlySpot/UserName: Name des Wikis\nSettings/AutoSave/Caption: Automatisch speichern\nSettings/AutoSave/Disabled/Description: Änderungen NICHT automatisch speichern\nSettings/AutoSave/Enabled/Description: Änderungen automatisch speichern\nSettings/AutoSave/Hint: Änderungen des Wikis automatisch speichern\nSettings/CamelCase/Caption: Camel Case Wiki Links\nSettings/CamelCase/Hint: ''Wichtig:'' Die Seite muss neu geladen werden, damit die Einstellungen wirksam werden.\nSettings/CamelCase/Description: Automatische ~CamelCase Umwandlung aktivieren\nSettings/Caption: Einstellungen\nSettings/EditorToolbar/Caption: Editor Toolbar\nSettings/EditorToolbar/Hint: Aktivieren oder deaktivieren der Editor Toolbar\nSettings/EditorToolbar/Description: Editor Toolbar anzeigen\nSettings/InfoPanelMode/Caption: Tiddler Info Panel Modus\nSettings/InfoPanelMode/Hint: Einstellung, wann das Info Panel geschlossen wird:\nSettings/InfoPanelMode/Popup/Description: Tiddler Info-Panel schließt automatisch\nSettings/InfoPanelMode/Sticky/Description: TiddlerTiddler Info-Panel bleibt offen, bis es geschlossen wird\nSettings/Hint: Diese erweiterten Einstellungen ermöglichen Ihnen, das Verhalten von TiddlyWiki zu ändern.\nSettings/NavigationAddressBar/Caption: Navigation Adresszeile\nSettings/NavigationAddressBar/Hint: Verhalten der Adresszeile des Browsers, wenn ein Tiddler geöffnet wird:\nSettings/NavigationAddressBar/No/Description: Die Adresszeile des Browsers wird nicht verändert.\nSettings/NavigationAddressBar/Permalink/Description: Den aktuellen Tiddler einbinden.\nSettings/NavigationAddressBar/Permaview/Description: Alle geöffneten Tiddler einbinden.\nSettings/NavigationHistory/Caption: Browser Chronik\nSettings/NavigationHistory/Hint: Die Browser Chronik ändern, wenn ein Tiddler angezeigt wird:\nSettings/NavigationHistory/No/Description: Browser Chronik nicht ändern.\nSettings/NavigationHistory/Yes/Description: Browser Chronik ändern.\nSettings/NavigationPermalinkviewMode/Caption: \"Permalink/permaview\" Modus\nSettings/NavigationPermalinkviewMode/Hint: Wähle, wie \"permalink/permaview\" verwendet werden soll:\nSettings/NavigationPermalinkviewMode/CopyToClipboard/Description: URL in die Zwischenablage kopieren\nSettings/NavigationPermalinkviewMode/UpdateAddressBar/Description: Adressleiste mit URL aktualisieren\nSettings/PerformanceInstrumentation/Caption: Performance Messung\nSettings/PerformanceInstrumentation/Hint: Anzeige der Performance Statistik in der Browser Entwickler Konsole. ''Wichtig:'' Seite neu laden um die Einstellung zu aktivieren!\nSettings/PerformanceInstrumentation/Description: Aktiviere Performance Messung\nSettings/RecentLimit/Caption: Zuletzt Limit\nSettings/RecentLimit/Hint: Maximale Anzahl von angezeigten \"Tiddlern\" im \"Zuletzt\" Reiter\nSettings/ToolbarButtonStyle/Caption: Toolbar Button Stil\nSettings/ToolbarButtonStyle/Hint: Wählen Sie einen Stil:\nSettings/ToolbarButtonStyle/Styles/Borderless: Ohne Rand\nSettings/ToolbarButtonStyle/Styles/Boxed: Box\nSettings/ToolbarButtonStyle/Styles/Rounded: Abgerundet\nSettings/ToolbarButtons/Caption: Toolbar Buttons\nSettings/ToolbarButtons/Hint: Standard Toolbar Button Erscheinungsbild:\nSettings/ToolbarButtons/Icons/Description: Icon anzeigen\nSettings/ToolbarButtons/Text/Description: Text anzeigen\nSettings/DefaultSidebarTab/Caption: Standard Sidebar Tab\nSettings/DefaultSidebarTab/Hint: Definition, welcher \"Sidebar Tab\" standardmäßig aktiv ist\nSettings/DefaultMoreSidebarTab/Caption: Standard \"Mehr Sidebar Tab\"\nSettings/DefaultMoreSidebarTab/Hint: Definition, welcher \"Mehr Sidebar Tab\" standardmäßig aktiv ist\nSettings/DefaultTiddlerInfoTab/Caption: Standard Tiddler Info Tab\nSettings/DefaultTiddlerInfoTab/Hint: Definition, welcher Tab in der Tiddler Info Section standardmäßig aktiv ist\nSettings/LinkToBehaviour/Caption: Tiddler Öffnen\nSettings/LinkToBehaviour/InsideRiver/Hint: Navigation bei Klicks //innerhalb// der Story\nSettings/LinkToBehaviour/OutsideRiver/Hint: Navigation bei Klicks //außerhalb// der Story\nSettings/LinkToBehaviour/OpenAbove: Öffne vor dem aktuellen Tiddler\nSettings/LinkToBehaviour/OpenBelow: Öffne unter dem aktuellen Tiddler\nSettings/LinkToBehaviour/OpenAtTop: Öffne als ersten Tiddler in der Story\nSettings/LinkToBehaviour/OpenAtBottom: Öffne alse letzten Tiddler in der Story\nSettings/TitleLinks/Caption: Tiddler Titel\nSettings/TitleLinks/Hint: Tiddler Titel als Links anzeigen:\nSettings/TitleLinks/No/Description: Tiddler Titel normal anzeigen.\nSettings/TitleLinks/Yes/Description: Tiddler Titel als Link anzeigen.\nSettings/MissingLinks/Caption: Wiki-Links\nSettings/MissingLinks/Hint: Aktiviere Links zu fehlenden Tiddlern. zB: FehlenderTiddler [[Einführung]]\nSettings/MissingLinks/Description: Aktiviere Links zu fehlenden Tiddlern.\nSocialCard/Caption: Social Media Karte\nSocialCard/Domain/Prompt: Domain Name für Link Anzeige. Zb: ''tiddlywiki.com''\nSocialCard/Hint: Diese Information wird verwendet, wenn eine \"Voransicht\" eines Links angezeigt werden soll\nSocialCard/PreviewUrl/Prompt: Vollständige URL für die Media-Vorschau für dieses ~TiddlyWiki\nSocialCard/PreviewUrl/Preview: Vorschau Bild:\nSocialCard/Url/Prompt: Vollständige URL für dieses ~TiddlyWiki\nStoryTiddler/Caption: Story Tiddler\nStoryTiddler/Hint: Diese Filter-Kaskade wird verwendet, um die Vorlage für den Tiddler im \"Story River\" auszuwählen.\nStoryView/Caption: Anzeige\nStoryView/Prompt: Ausgewählte Anzeige:\nStylesheets/Caption: Stylesheets\nStylesheets/Expand/Caption: Alle erweitern\nStylesheets/Hint: Hier wird der \"erweiterte\" CSS Code dargestellt. Die Reihenfolge, kann in der \"Tag-Liste\" <<tag \"$:/tags/Stylesheet\">> mit \"Drag & Drop\" angepasst werden!\nStylesheets/Restore/Caption: Alle zurücksetzen\nTestCases/Caption: Test Beispiele\nTestCases/Hint: Test Beispiele sind eigenständige Beispiele zum testen und lernen einzelner Funktionen\nTestCases/All/Caption: Alle Beispiele\nTestCases/All/Hint: Alle Test Beispiele\nTestCases/Failed/Caption: Test Nicht Bestehenden\nTestCases/Failed/Hint: Nicht bestandene Tests - Übersicht\nTheme/Caption: Theme\nTheme/Prompt: Ausgewähltes Theme:\nTiddlerFields/Caption: Tiddler Felder\nTiddlerFields/Hint: Hier finden Sie alle [[Felder|TiddlerFields]], die in diesem Wiki verwendet werden. Inklusive der Felder aus System-, exklusive Schatten-Tiddler.\nTiddlerColour/Caption: Tiddler Farbe\nTiddlerColour/Hint: Diese Filter-Kaskade wird verwendet, um die Farbe für das \"Icon\" und den \"Tag\" auszuwählen.\nTiddlerIcon/Caption: Tiddler Icon\nTiddlerIcon/Hint: Diese Filter-Kaskade wird verwendet, um die das Tiddler \"Icon\" auszuwählen.\nToolbars/Caption: Toolbar\nToolbars/EditToolbar/Caption: Edit Toolbar\nToolbars/EditToolbar/Hint: Auswählen, welche Buttons im \"Edit Modus\" angezeigt werden. Verwenden Sie \"Drag and Drop\", um die Reihenfolge zu ändern\nToolbars/Hint: Auswählen, welche \"Toolbar Button\" angezeigt werden\nToolbars/PageControls/Caption: Page Toolbar\nToolbars/PageControls/Hint: Auswählen, welche Buttons im Hauptmenü angezeigt werden. Verwenden Sie \"Drag and Drop\", um die Reihenfolge zu ändern\nToolbars/EditorToolbar/Caption: Editor Toolbar\nToolbars/EditorToolbar/Hint: Auswählen, welche Editorbuttons angezeigt werden sollen. Manche Buttons sind vom Tiddler-Typ abhängig und werden eventuell ausgeblendet.\nToolbars/ViewToolbar/Caption: View Toolbar\nToolbars/ViewToolbar/Hint: Auswählen, welche Buttons im \"View Modus\" angezeigt werden. Verwenden Sie \"Drag and Drop\", um die Reihenfolge zu ändern\nTools/Download/Full/Caption: Herunterladen des ''gesamten Wikis''\nViewTemplateBody/Caption: View Template Text\nViewTemplateBody/Hint: Diese Filter-Kaskade wird vom \"View Template\" dazu verwendet, um die Vorlage für den Tiddler Textbereich auszuwählen.\nViewTemplateTitle/Caption: View Template Titel\nViewTemplateTitle/Hint: Diese Filter-Kaskade wird vom \"View Template\" dazu verwendet, um die Vorlage für den Tiddler Titel auszuwählen.\nViewTemplateSubtitle/Caption: View Template Subtitle\nViewTemplateSubtitle/Hint: Diese Filter-Kaskade wird vom \"View Template\" dazu verwendet, um den \"Sub-Titel\" für den Tidddler Kopf auszuwählen. \nViewTemplateTags/Caption: View Template Tags\nViewTemplateTags/Hint: Diese Filter-Kaskade wird vom \"View Template\" dazu verwendet, um das Template für den Tag auszuwählen\nWikiInformation/Caption: Wiki Information\nWikiInformation/Hint: Diese Seite generiert eine Zusammenfassung wichtiger Informationen über dieses Wiki. Diese Seite kann dazu benutzt werden um Wiki Informationen mit anderen Usern auszutauschen. Zum Beispiel: Um Hilfe im TW Talk Forum zu bekommen. Es wereden ''keine'' privaten oder persönliche Daten erfasst. Keine Daten verlassen den Computer, ausser sie werden aktiv kopiert.\nWikiInformation/Drag/Caption: Ziehe diesen Link in ein anderes Wiki um die Daten zu kopieren"
  },
  {
    "path": "languages/de-DE/CoreReadMe.tid",
    "content": "title: $:/core/de-DE/readme\n\nDieses Plugin enthält die TiddlyWiki Basis Komponenten, bestehend aus:\n\n* JavaScript Code Module.\n* Piktogramme (icons).\n* Vorlagen, die benötigt werden um die ~TiddlyWiki Oberfläche zu erstellen.\n* British English (''en-GB'') übersetzbare Texte, die von der TW Basis Software verwendet werden.\n"
  },
  {
    "path": "languages/de-DE/Dates.multids",
    "content": "title: $:/language/\n\nDate/DaySuffix/1: .\nDate/DaySuffix/2: .\nDate/DaySuffix/3: .\nDate/DaySuffix/4: .\nDate/DaySuffix/5: .\nDate/DaySuffix/6: .\nDate/DaySuffix/7: .\nDate/DaySuffix/8: .\nDate/DaySuffix/9: .\nDate/DaySuffix/10: .\nDate/DaySuffix/11: .\nDate/DaySuffix/12: .\nDate/DaySuffix/13: .\nDate/DaySuffix/14: .\nDate/DaySuffix/15: .\nDate/DaySuffix/16: .\nDate/DaySuffix/17: .\nDate/DaySuffix/18: .\nDate/DaySuffix/19: .\nDate/DaySuffix/20: .\nDate/DaySuffix/21: .\nDate/DaySuffix/22: .\nDate/DaySuffix/23: .\nDate/DaySuffix/24: .\nDate/DaySuffix/25: .\nDate/DaySuffix/26: .\nDate/DaySuffix/27: .\nDate/DaySuffix/28: .\nDate/DaySuffix/29: .\nDate/DaySuffix/30: .\nDate/DaySuffix/31: .\nDate/Long/Day/0: Sonntag\nDate/Long/Day/1: Montag\nDate/Long/Day/2: Dienstag\nDate/Long/Day/3: Mittwoch\nDate/Long/Day/4: Donnerstag\nDate/Long/Day/5: Freitag\nDate/Long/Day/6: Samstag\nDate/Long/Month/1: Januar\nDate/Long/Month/2: Februar\nDate/Long/Month/3: März\nDate/Long/Month/4: April\nDate/Long/Month/5: Mai\nDate/Long/Month/6: Juni\nDate/Long/Month/7: Juli\nDate/Long/Month/8: August\nDate/Long/Month/9: September\nDate/Long/Month/10: Oktober\nDate/Long/Month/11: November\nDate/Long/Month/12: Dezember\nDate/Period/am: am\nDate/Period/pm: pm\nDate/Short/Day/0: So\nDate/Short/Day/1: Mo\nDate/Short/Day/2: Di\nDate/Short/Day/3: Mi\nDate/Short/Day/4: Do\nDate/Short/Day/5: Fr\nDate/Short/Day/6: Sa\nDate/Short/Month/1: Jan\nDate/Short/Month/2: Feb\nDate/Short/Month/3: Mär\nDate/Short/Month/4: Apr\nDate/Short/Month/5: Mai\nDate/Short/Month/6: Jun\nDate/Short/Month/7: Jul\nDate/Short/Month/8: Aug\nDate/Short/Month/9: Sep\nDate/Short/Month/10: Okt\nDate/Short/Month/11: Nov\nDate/Short/Month/12: Dez\nRelativeDate/Future/Days: in <<period>> Tagen\nRelativeDate/Future/Hours: in <<period>> Stunden\nRelativeDate/Future/Minutes: in <<period>> Minuten\nRelativeDate/Future/Months: in <<period>> Monaten\nRelativeDate/Future/Second: in einer Sekunde\nRelativeDate/Future/Seconds: in <<period>> Sekunden\nRelativeDate/Future/Years: in <<period>> Jahren\nRelativeDate/Past/Days: vor <<period>> Tagen\nRelativeDate/Past/Hours: vor <<period>> Stunden\nRelativeDate/Past/Minutes: vor <<period>> Minuten\nRelativeDate/Past/Months: vor <<period>> Monaten\nRelativeDate/Past/Second: vor einer Sekunde\nRelativeDate/Past/Seconds: vor <<period>> Sekunden\nRelativeDate/Past/Years: vor <<period>> Jahren"
  },
  {
    "path": "languages/de-DE/Docs/ModuleTypes.multids",
    "content": "title: $:/language/Docs/ModuleTypes/\n\nallfilteroperator: Ein Sub-Operator für den ''all'' Filter Operator.\nanimation: Animationen, die vom RevealWidget verwendet werden.\nauthenticator: Definiert, wie die Anfragen für den \"HTTP Server\" authentifiziert werden.\nbitmapeditoroperation: Eine \"Bitmap-Editor\" Toolbar Operation.\ncommand: Kommandozeilen-Parameter, die mit node.js ausgeführt werden können.\nconfig: Daten, die in `$tw.config` eingefügt werden.\nfilteroperator: Individuelle Funktionen für den Filter-Operator.\nglobal: Globale Daten, die in `$tw` eingefügt werden.\ninfo: Veröffentlicht System-Informationen mit dem Pseudo-plugin: [[$:/temp/info-plugin]]\nisfilteroperator: Parameter für den Filter-Operator: ''is''\nlibrary: Allgemeiner Modultyp, für JavaScript Module.\nmacro: Globale Makro-Definitionen in JavaScript.\nparser: Parser für verschiedene Tiddler Typen.\nroute: Definiert, wie die individuellen URL-Pfade vom HTTP Server verarbeitet werden.\nsaver: \"Savers\" stellen verschiedene Methoden zum Speichern mit dem Browser zur Verfügung.\nstartup: Funktionen zur Initialisierung.\nstoryview: [[Story-View|Story]] ist für das Verhalten des \"ListWidgets\" zuständig, das die Tiddler \"Hauptanzeige\" verwaltet. Mit dem Toolbutton Story-Modus wird einer dieser Modi ausgewählt.\ntexteditoroperation: Eine Text-Editor Toolbar Operation.\ntiddlerdeserializer: Konvertiert verschiedene textbasierte Inhaltstypen in das Tiddler-Format.\ntiddlerfield: Definiert das Verhalten, der unterschiedlichen Tiddler-Felder.\ntiddlermethod: Methoden werden dem `$tw.Tiddler` Prototypen hinzugefügt.\nupgrader: Führt spezifische Änderungen während des Upgrade- oder Import-prozesses durch.\nutils: Methoden werden `$tw.utils` hinzugefügt.\nutils-browser: Browser-spezifische Methoden werden zu `$tw.utils` hinzugefügt.\nutils-node: Erweitert `$tw.utils` mit Methoden aus node.js.\nwidget: Widgets verarbeiten das Rendern und Aktualisieren der Anzeige in der DOM.\nwikimethod: Methoden werden zu `$tw.Wiki` hinzugefügt.\nwikirule: Enthält die individuellen Parser Regeln für den WikiText-Parser."
  },
  {
    "path": "languages/de-DE/Docs/PaletteColours.multids",
    "content": "title: $:/language/Docs/PaletteColours/\n\nalert-background: Warnung Hintergrund\nalert-border: Warnung Rahmen\nalert-highlight: Warnung Hervorhebung\nalert-muted-foreground: Warnung gedeckt Vordergrund\nbackground: Hintergrund Global\nblockquote-bar: Zitat Markierung\nbutton-background: Standard-Button Hintergrund\nbutton-border: Standard-Button Rahmen\nbutton-foreground: Standard-Button Vordergrund\ndirty-indicator: Speichern nötig - Indikator\ncode-background: Code Hintergrund\ncode-border: Code Rahmen\ncode-foreground: Code Vordergrund\ndownload-background: Herunterladen-Button Hintergrund\ndownload-foreground: Herunterladen-Button Vordergrund\ndragger-background: Ziehen Hintergrund\ndragger-foreground: Ziehen Vordergrund\ndropdown-background: Auswahldialog Hintergrund\ndropdown-border: Auswahldialog Rahmen\ndropdown-tab-background-selected: Auswahldialog ausgewählter Reiter Hintergrund\ndropdown-tab-background: Auswahldialog Reiter Hintergrund\ndropzone-background: Import Zone Hintergrund\nexternal-link-background-hover: Externer Link Hintergrund (hover)\nexternal-link-background-visited: Externer Link besucht Hintergrund\nexternal-link-background: Externer Link Hintergrund\nexternal-link-foreground-hover: Externer Link Vordergrund (hover)\nexternal-link-foreground-visited: Externer Link besucht Vordergrund\nexternal-link-foreground: Externer Link Vordergrund\nforeground: Vordergrund Global\nmenubar-background: Menü Hintergrund\nmenubar-foreground: Menü Vordergrund\nmessage-background: Meldungs-Box Hintergrund\nmessage-border: Meldungs-Box Rahmen\nmessage-foreground: Meldungs-Box Vordergrund\nmodal-backdrop: Modaler Dialog abgedunkelt\nmodal-background: Modaler Dialog Hintergrund\nmodal-border: Modaler Dialog Rahmen\nmodal-footer-background: Modaler Dialog Fußzeile Hintergrund\nmodal-footer-border: Modaler Dialog Fußzeile Rahmen\nmodal-header-border: Modaler Dialog Kopfzeile Rahmen\nmuted-foreground: Global gedeckt Vordergrund\nnotification-background: Mitteilung Hintergrund\nnotification-border: Mitteilung Rahmen\npage-background: Seite Hintergrund\npre-background: Formatierter Code Hintergrund\npre-border: Formatierter Code Rahmen\nprimary: Global Primary\nselect-tag-background: `<select>` Element Hintergrund\nselect-tag-foreground: `<select>` Element Text\nsidebar-button-foreground: Seitenleiste Button Vordergrund\nsidebar-controls-foreground-hover: Seitenleiste Bedienelement Vordergrund (hover)\nsidebar-controls-foreground: Seitenleiste Bedienelement Vordergrund\nsidebar-foreground-shadow: Seitenleiste Vordergrund Schatten\nsidebar-foreground: Seitenleiste Vordergrund\nsidebar-muted-foreground-hover: Seitenleiste gedeckt Vordergrund (hover)\nsidebar-muted-foreground: Seitenleiste gedeckt Vordergrund\nsidebar-tab-background-selected: Seitenleiste Reiter\nsidebar-tab-background: Seitenleiste Reiter Hintergrund\nsidebar-tab-border-selected: Seitenleiste Reiter Rahmen für selektierte Reiter\nsidebar-tab-border: Seitenleiste Reiter Rahmen\nsidebar-tab-divider: Seitenleiste Reiter Trennzeichen\nsidebar-tab-foreground-selected: Seitenleiste Reiter Vordergrund für selectierte Reiter\nsidebar-tab-foreground: Seitenleiste Reiter Vordergrund\nsidebar-tiddler-link-foreground-hover: Seitenleiste Tiddler Link Vordergrund (hover)\nsidebar-tiddler-link-foreground: Seitenleiste Tiddler Link Vordergrund\nstability-stable: Label für Stabilitäts-Level \"stabil\"\nstability-experimental: Label für Stabilitäts-Level \"experimentell\"\nstability-deprecated: Label für Stabilitäts-Level \"abgekündigt\"\nstability-legacy: Label für Stabilitäts-Level \"veraltet\"\nsite-title-foreground: Wiki Titel Vordergrund\nstatic-alert-foreground: Statische Warnung Vordergrund\ntestcase-accent-level-1: Test Beispiel Akzent Farbe nicht \"verschachtelt\" - Ebene 1\ntestcase-accent-level-2: Test Beispiel Akzent Farbe with Ebene 2\ntestcase-accent-level-3: Test Beispiel Akzent Farbe with Ebene 3\ntab-background-selected: Reiter Hintergrund für selektierte Reiter\ntab-background: Reiter Hintergrund\ntab-border-selected: Reiter Rahmen für selektierte Reiter\ntab-border: Reiter Rahmen\ntab-divider: Reiter Trennzeichen\ntab-foreground-selected: Reiter Vordergrund für selektierte Reiter\ntab-foreground: Reiter Vordergrund\ntable-border: Tabelle Rahmen\ntable-footer-background: Tabelle Fußzeile Hintergrund\ntable-header-background: Tabelle Kopfzeile Hintergrund\ntag-background: Tag Hintergrund\ntag-foreground: Tag Vordergrund\ntiddler-background: Tiddler Hintergrund\ntiddler-border: Tiddler Rahmen\ntiddler-controls-foreground-hover: Tiddler Bedienelement Vordergrund (hover)\ntiddler-controls-foreground-selected: Tiddler Bedienelement Vordergrund für selektierte Elemente\ntiddler-controls-foreground: Tiddler Bedienelement Vordergrund\ntiddler-editor-background: Tiddler Editor Hintergrund\ntiddler-editor-border-image: Tiddler Editor Rahmen Bild\ntiddler-editor-border: Tiddler Editor Rahmen\ntiddler-editor-fields-even: Tiddler Editor Hintergrund geradzahlige Felder in Tabelle\ntiddler-editor-fields-odd: Tiddler Editor Hintergrund un-geradzahlige Felder in Tabelle\ntiddler-info-background: Tiddler Info Bereich Hintergrund\ntiddler-info-border: Tiddler Info Bereich Rahmen\ntiddler-info-tab-background: Tiddler Info Bereich Reiter Hintergrund\ntiddler-link-background: Tiddler Link Hintergrund\ntiddler-link-foreground: Tiddler Link Vordergrund\ntiddler-subtitle-foreground: Tiddler Untertitel Vordergrund\ntiddler-title-foreground: Tiddler Titel Vordergrund\ntoolbar-new-button: Werkzeugleiste 'Neuer Tiddler' Button Vordergrund\ntoolbar-options-button: Werkzeugleiste 'Optionen' Button Vordergrund\ntoolbar-save-button: Werkzeugleiste 'Speichern' Button Vordergrund\ntoolbar-info-button: Werkzeugleiste 'Info' Button Vordergrund\ntoolbar-edit-button: Werkzeugleiste 'Bearbeiten' Button Vordergrund\ntoolbar-close-button: Werkzeugleiste 'Schließen' Button Vordergrund\ntoolbar-delete-button: Werkzeugleiste 'Löschen' Button Vordergrund\ntoolbar-cancel-button: Werkzeugleiste 'Abbruch' Button Vordergrund\ntoolbar-done-button: Werkzeugleiste 'Fertig' Button Vordergrund\nuntagged-background: (untagged) Pille Hintergrund\nvery-muted-foreground: Stark abgedunkelter Vordergrund"
  },
  {
    "path": "languages/de-DE/Draft.multids",
    "content": "title: $:/language/Draft/\n\nAttribution: Entwurf: '<<draft-title>>' von {{$:/status/UserName}}\nTitle: Entwurf: '<<draft-title>>'"
  },
  {
    "path": "languages/de-DE/EditTemplate.multids",
    "content": "title: $:/language/EditTemplate/\n\nCaption: Editor\nBody/External/Hint: Dieser Tiddler zeigt den Inhalt einer Datei, die nicht im TW file gespeichert ist. Sie können die \"Tags\" und \"Feld\" Texte ändern, jedoch nicht den Inhalt des Tiddlers!\nBody/Placeholder: Geben Sie den Text für diesen Tiddler ein.\nBody/Preview/Type/Output: Anzeige\nBody/Preview/Type/DiffShadow: Unterschiede zum Schatten-Tiddler (wenn vorhanden)\nBody/Preview/Type/DiffCurrent: Unterschiede zum aktuellen Tiddler\nField/Remove/Caption: Lösche Feld\nField/Remove/Hint: Lösche Feld\nField/Dropdown/Caption: Feld Liste\nField/Dropdown/Hint: Zeige Feld Liste\nFields/Add/Button: ok\nFields/Add/Button/Hint: Erzeuge ein neues Feld für diesen Tiddler\nFields/Add/Name/Placeholder: Feld Name\nFields/Add/Prompt: Feld einfügen:\nFields/Add/Value/Placeholder: Feld Text / Wert\nFields/Add/Dropdown/System: System Felder\nFields/Add/Dropdown/User: Anwender Felder\nShadow/Warning: Dies ist ein Schatten-Tiddler. Jede Änderung, die Sie machen, überschreibt die Standardversion des Plugins: <<pluginLink>>\nShadow/OverriddenWarning: Dies ist ein veränderter Tiddler. Um zur Standardversion zurückzukehren, löschen Sie diesen Tiddler. Plugin: <<pluginLink>>\nTags/Add/Button: ok\nTags/Add/Button/Hint: Erzeuge einen neuen Tag\nTags/Add/Placeholder: Neuer Tag\nTags/ClearInput/Caption: lösche Eingabefeld\nTags/ClearInput/Hint: Lösche Tag Eingabefeld\nTags/Dropdown/Caption: Tag Liste\nTags/Dropdown/Hint: Tag Liste anzeigen\nTags/EmptyMessage: Kein Tag gefunden\nTags/EmptyMessage/System: Kein System Tag gefunden\nTitle/BadCharacterWarning: Warnung: Folgende Zeichen im Titel können zu Problemen führen: <<bad-chars>>\nTitle/Exists/Prompt: Tiddler Name existiert bereits\nTitle/Relink/Prompt: Ändere ''<$text text=<<fromTitle>>/>'' -> ''<$text text=<<toTitle>>/>'' in //tags// und //list// Feld aller anderen Tiddler\nType/Dropdown/Caption: Tiddler Typ Liste\nType/Dropdown/Hint: Anzeigen der Tiddler Typ Liste\nTitle/References/Prompt: Die folgenden Referenz-Links zu diesem Tiddler werden NICHT automatisch geändert\nType/Delete/Caption: Lösche Inhalts Typ\nType/Delete/Hint: Lösche Inhalts Typ\nType/Placeholder: Tiddler Format\nType/Prompt: Typ:"
  },
  {
    "path": "languages/de-DE/Exporters.multids",
    "content": "title: $:/language/Exporters/\n\nStaticRiver: HTML - Statisch\nJsonFile: JSON - Format\nCsvFile: CSV - Format\nTidFile: TID - Text Format"
  },
  {
    "path": "languages/de-DE/Fields.multids",
    "content": "title: $:/language/Docs/Fields/\n\n_canonical_uri: Die komplette URI eines externen Foto Tiddlers. URI = Uniform Resource Identifier, Identifikator für Ressourcen im Internet.\nauthor: Name des Plugin-Authors\nbag: Der Name eines ~TiddlyWeb \"bags\" von dem der Tiddler kam.\ncaption: Der Text, der auf \"Tab-Buttons\" angezeigt wird.\nclass: Die CSS Klasse, die angewendet wird, wenn ein Tiddler ausgegeben wird. Siehe: [[Custom styles by user-class]]. Wird auch verwended für: [[Modals]]\ncode-body: Das \"View Template\" wird den Tiddler Text als \"Code\" anzeigen, wenn dieses Feld auf: ''\"yes\"'' gesetzt wird.\ncolor: Der CSS Farbwert, der mit einem Tiddler assoziiert wird.\ncomponent: Der Name einer Komponente, die für eine [[Alarm Anzeige|AlertMechanism]] verantwortlich ist.\ncore-version: Zeigt die TiddlyWiki Version an, ab der ein Plugin verwendet werden kann.\ncurrent-tiddler: Wird verwendet um den \"obersten\" Tiddler in der [[Tiddler Historie|HistoryMechanism]] zwischen zu speichern.\ncreated: Datum an dem der Tiddler erstellt wurde.\ncreator: Name des Erstellers dieses Tiddlers.\ndependents: Listet die Abhängigkeiten bei \"plugins\" auf.\ndescription: Die Beschreibung für ein \"plugin\" oder einen \"modalen\" Dialog.\ndraft.of: Entwurf von - enthält den Titel des Tiddlers, zu dem dieser Entwurf-Tiddler gehört.\ndraft.title: Entwurf Titel - enthält den neuen Titel, wenn der Entwurf-Tiddler gespeichert wird.\nfooter: Der Fußnoten Text bei einem \"~Wizard-Dialog\"\nhide-body: Der Textbereich eines Tiddlers wird verborgen, wenn dieses Feld auf ''\"yes\"'' gesetzt wird\nicon: Der Titel eines ~Icon-Tiddlers, der mit diesem Tiddler verbunden ist.\nlibrary: Wenn dieses Feld=\"yes\" ist, dann soll der Tiddler als JavaScript Bibliothek gespeichert werden.\nlist: Eine geordnete Tiddler Liste, die mit diesem Tiddler verbunden ist.\nlist-before: Dient zum Einfügen von Tiddler Titeln in das \"list\" Feld. Wenn gesetzt, wird der neue Tiddler ''vor'' dem hier definierten Tiddler in die Liste eingefügt. Wenn vorhanden, aber leer, dann wird der neue Tiddler an den Anfang der Liste gesetzt.\nlist-after: Dient zum Einfügen von Tiddler Titeln in das \"list\" Feld. Wenn gesetzt, wird der neue Tiddler ''nach'' dem hier definierten Tiddler in die Liste eingefügt.\nmodified: Datum, an dem der Tiddler zuletzt verändert wurde.\nmodifier: Name der Person, die den Tiddler zuletzt verändert hat.\nmodule-type: Zeigt den Modul-typ bei JavaScript Tiddlern an.\nname: Ein Menschen lesbarer Name für einen \"plugin\" Tiddler.\nparent-plugin: Enthält den Namen des Übergeordneten Plugins.\nplugin-priority: Ein numerischer Wert, der die Priorität eines \"plugins\" festlegt.\nplugin-type: Der Typ eines \"plugins\".\nrevision: Die Revisionsnummer eines Tiddlers. Wird von einem Server vergeben.\nreleased: Datum der ~TiddlyWiki Ausgabe.\nstability: Entwicklungs Status: \"deprecated\"=abgekündigt, \"experimental\"=experimentell, \"stable\"=stabil, \"legacy\"=Altlast.\nsource: Eine Quelltext URL, verbunden mit diesem Tiddler.\nsubtitle: Der Untertitel für einen \"~Wizard-Dialog\".\ntags: Eine Liste von \"Tags\" für diesen Tiddler.\ntext: Der Haupttext eines Tiddlers.\nthrottle.refresh: Wenn es existiert, dann wird der \"refresh\" Zyklus des Tiddlers verzögert.\ntitle: Ein individueller einmaliger Name eines Tiddlers.\ntoc-link: Unterdrückt die Anzeige als Link, wenn der Wert auf ''\"no\"'' gesetzt wird\ntype: Legt den Typ eines Tiddlers fest (aka MIME-type).\nversion: Versions-Information eines \"plugins\".\n_is_skinny: Wenn es existiert, zeigt diese Feld an, dass das \"Text-Feld\" dynamisch vom Server geladen wird."
  },
  {
    "path": "languages/de-DE/Filters.multids",
    "content": "title: $:/language/Filters/\n\nAllTiddlers: Alle Tiddler außer System-Tiddler\nRecentSystemTiddlers: Kürzlich veränderte Tiddler, inklusive System-Tiddler\nRecentTiddlers: Kürzlich veränderte Tiddler\nAllTags: Alle Tags außer System-Tags\nMissing: Fehlende Tiddler\nDrafts: Entwurf Tiddler\nOrphans: Waisen Tiddler\nSystemTiddlers: System-Tiddler\nShadowTiddlers: Schatten-Tiddler\nOverriddenShadowTiddlers: Überschriebene Schatten-Tiddler\nSessionTiddlers: Tiddler, die seit dem letzten Laden verändert wurden\nSystemTags: System-Tags\nStoryList: Tiddler im \"story river\", außer <$text text=\"$:/AdvancedSearch\"/>\nTypedTiddlers: Nicht \"wiki-text\" Tiddler"
  },
  {
    "path": "languages/de-DE/GettingStarted.tid",
    "content": "title: GettingStarted\n\n\\define lingo-base() $:/language/ControlPanel/Basics/\nWillkommen bei ~TiddlyWiki, einem persönlichen nicht-linearen Web-Notizbuch.\n\nVor dem Start, vergewissern Sie sich, dass Sie dieses Wiki auch wirklich speichern können. Weitere Informationen finden Sie für:\n\n* Österreich: https://tiddlywiki.com/languages/de-AT\n* Deutschland: https://tiddlywiki.com/languages/de-DE\n* Allgemein (englisch): https://tiddlywiki.com \n\nErste Schritte:\n\n* Erstellen Sie einen neuen Tiddler mit dem \"Plus-Button\" in der rechten Navigationsleiste.\n* Einstellungen können im [[Kontrollpanel|$:/ControlPanel]] vorgenommen werden. Siehe: \"Zahnrad-Button\" \n** Das Anzeigen dieses Tiddlers können Sie verhindern, indem Sie die \"~DefaultTiddlers\" im ''Basis-Tab'' verändern.\n* Speichern wird mit dem \"Speichern-Button\" in der Navigationsleiste ausgelöst. \n* Österreich: [[Weitere Informationen zu WikiText|https://tiddlywiki.com/languages/de-AT/index.html#WikiText]]\n* Deutschland: [[Weitere Informationen zu WikiText|https://tiddlywiki.com/languages/de-DE/index.html#WikiText]]\n\nHinweis: Die österreichische und deutsche Version unterscheiden sich momentan nur in der Flagge, die bei der Standard Sprachauswahl angezeigt wird. In Zukunft können Beschriftungen der Benutzeroberfläche geringfügig von einander abweichen. zB: Jänner - Januar.\n\n!! Einrichten dieser ~TiddlyWiki\n\n<div class=\"tc-control-panel\">\n\n|tc-table-no-border tc-first-col-min-width tc-first-link-nowrap|k\n| <$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link>|<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n| <$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link>|<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|^ <$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link><br><<lingo DefaultTiddlers/TopHint>>| <$edit-text tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\nSee the [[control panel|$:/ControlPanel]] for more options.\n"
  },
  {
    "path": "languages/de-DE/Help/build.tid",
    "content": "title: $:/language/Help/build\ndescription: Ausführen, von vorkonfigurierten Befehlen.\n\nDieser Befehl erstellt eine Zielversion, der aktuellen Wiki Edition. Sind keine Ziele spezifiziert, dann werden all konfigurierten Ziele erstellt.\n\n```\n--build <target> [<target> ...]\n```\n\nZiele werden in der `tiddlywiki.info` Datei, im Wiki Verzeichnis konfiguriert.\n"
  },
  {
    "path": "languages/de-DE/Help/clearpassword.tid",
    "content": "title: $:/language/Help/clearpassword\ndescription: Lösche das Passwort, das für die vorhergehenden Verschlüsselungen verwendet wurde.\n\nLösche das Passwort, das für die vorhergehenden Verschlüsselungen verwendet wurde.\n\n```\n--clearpassword\n```\n"
  },
  {
    "path": "languages/de-DE/Help/commands.tid",
    "content": "title: $:/language/Help/commands\ndescription: Ausführen von Befehlen aus einem Filter\n\nSequentielle Abarbeitung von Befehlen aus einem Filter.\n\n```\n--commands <filter>\n```\n\nBeispiele\n\n```\n--commands \"[enlist:raw{$:/build-commands-as-text}]\"\n```\n\n```\n--commands \"[{$:/build-commands-as-json}jsonindexes[]] :map[{$:/build-commands-as-json}jsonget<currentTiddler>]\"\n```"
  },
  {
    "path": "languages/de-DE/Help/default.tid",
    "content": "title: $:/language/Help/default\n\n\\define commandTitle()\n$:/language/Help/$(command)$\n\\end\n```\nVerwendung: tiddlywiki [<wikifolder>] [--<command> [<args>...]...]\n```\n\nVerfügbare Befehle:\n\n<ul>\n<$list filter=\"[commands[]sort[title]]\" variable=\"command\">\n<li><$link to=<<commandTitle>>><$macrocall $name=\"command\" $type=\"text/plain\" $output=\"text/plain\"/></$link>: <$transclude tiddler=<<commandTitle>> field=\"description\"/></li>\n</$list>\n</ul>\n\nDetailierte Informationen zu den Befehlen:\n\n```\ntiddlywiki --help <command>\n```\n"
  },
  {
    "path": "languages/de-DE/Help/deletetiddlers.tid",
    "content": "title: $:/language/Help/deletetiddlers\ndescription: Löscht eine Gruppe von Tiddlern\n\n<<.from-version \"5.1.20\">> Löscht eine Gruppe von Tiddlern, die über einen Filter definiert werden.\n\n```\n--deletetiddlers <filter>\n```"
  },
  {
    "path": "languages/de-DE/Help/editions.tid",
    "content": "title: $:/language/Help/editions\ndescription: Listet alle verfügbaren TiddlyWiki Editionen auf\n\nListet alle verfügbaren TiddlyWiki Editionen auf.\n\n```\n--editions\n```\n\nSie können ein neues Wiki mit dem `--init` Befehl erstellen. Dabei wird eine der angezeigten Editionen \"geklont\".\n"
  },
  {
    "path": "languages/de-DE/Help/fetch.tid",
    "content": "title: $:/language/Help/fetch\ndescription: Laden mehrerer Tiddler über eine URL\n\nAbrufen eines oder mehrerer Tiddler über HTTP/HTTPS. Importieren der tiddler, die dem Filter entsprechen. Umwandeln der ankommenden Titel, wenn nötig.\n\n```\n--fetch file <url> <import-filter> <transform-filter>\n--fetch files <url-filter> <import-filter> <transform-filter>\n--fetch raw-file <url> <transform-filter>\n--fetch raw-files <url-filter> <transform-filter>\n```\n\nWird der `file` oder `raw-file` Parameter verwendet, wird nur eine einzelne Datei geladen. Der erste Parameter ist die URL von der die Datei ''importiert'' werden soll.\n\nWird der `files` Parameter verwendet, werden mehrere Dateien geholt. In diesem Fall ist der erste Parameter ein Filter, der eine Liste von URLs ergibt, von denen die Dateien gelesen werden sollen. Zum Beispiel: Mehrere Tiddler sind getaggt mit: `remote-server` und enthalten ein Feld: `url`. ... Der Filter `[tag[remote-server]get[url]]` wird alle verfügbaren URLs ansprechen.\n\nWerden die `raw-file` oder `raw-files` Varianten verwendet, wird der Klartext der Datei importiert. Es wird nicht versucht die Import-Logik anzuwenden.\n\nDer `<import-filter>` Parameter spezifiziert jene Tiddler, die importiert werden sollen. Ohne diesen Parameter wird standardmäßig `[all[tiddlers]]` als Filter verwendet.\n\nDer `<transform-filter>` Parameter, spezifiziert einen Filter, mit dem der Tiddler Name verändert werden kann. zB: `[addprefix[$:/meinImport/]]` würde `$:/meinImport/` allen Tiddler Namen voran stellen.\n\nWird `--verbose` vor dem `--fetch` Befehl benutzt, dann werden erweiterte Diagnose Infos ausgegeben.\n\nHinweis: TiddlyWiki wird ''keine'' veraltete Plugins importieren.\n\nDas folgende Beispiel wird alle \"nicht-system\" Tiddler von https://tiddlywiki.com holen und in ein `JSON` file speichern.\n\n```\ntiddlywiki --verbose --fetch file \"https://tiddlywiki.com/\" \"[!is[system]]\" \"\" --rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[!is[system]]\"\n```\n\nDas folgende Beispiel holt die \"favicon\" Datei von tiddlywiki.com und speichert sie als \"output.ico\".\n\n```\ntiddlywiki --verbose --fetch raw-file \"https://tiddlywiki.com/favicon.ico\" \"[[Icon Tiddler]]\" --savetiddler \"Icon Tiddler\" output.ico\n```\n\n''Wichtig!''\n\nEs wird darauf hingewiesen, dass der Parameter `\"[[Icon Tiddler]]\"` für den `--fetch` Befehl zusätzliche Klammern enthält. Er wird hier als Tranformations-Filter verwendet!\n\nDer zweite `\"Icon Tiddler\"` Parameter für `--savetiddler` enthält keine eckigen Klammern. Er wird als Dateiname verwendet\n\n"
  },
  {
    "path": "languages/de-DE/Help/help.tid",
    "content": "title: $:/language/Help/help\ndescription: Anzeige der Hilfe für die TiddlyWiki Befehle.\n\nAnzeige der Hilfe für die ~TiddlyWiki Befehle.\n\nBeispiel:\n\n```\n--help [<command>]\n```\n\nWird der Parameter <command> nicht angegeben, werden alle Befehle aufgelistet.\n"
  },
  {
    "path": "languages/de-DE/Help/import.tid",
    "content": "title: $:/language/Help/import\ndescription: Importiert mehrere Tiddler aus einer Datei.\n\nDieser Befehl importiert / extrahiert Tiddler aus folgenden Dateien:\n\n* TiddlyWiki `*.html`\n* `*.tiddler`\n* `*.tid`\n* `*.json`\n* oder andere lokale `.text` Dateien\n\nDer `<deserializer>` Parameter muss angegeben werden. Anders als beim `--load` Befehl, der diese Information aus der Dateiendung ableiten kann.\n\n```\n--import <filepath> <deserializer> [<title>] [<encoding>]\n```\n\nTiddlyWiki enthält folgende `deserializer` Standard-Typen:\n\n* application/javascript\n* application/json\n* application/x-tiddler\n* application/x-tiddler-html-div\n* application/x-tiddlers\n* text/html\n* text/plain\n\nDer Tiddler-Titel entspricht nach dem Import, dem Dateinamen.\n\nDie Zeichenkodierung ist auf \"utf8\" eingestellt. Sie kann aber auf \"base64\" für binäre Daten geändert werden.\n\nHinweis: TiddlyWiki importiert nur neuere Plugins, als jene, die bereits geladen sind.\n"
  },
  {
    "path": "languages/de-DE/Help/init.tid",
    "content": "title: $:/language/Help/init\ndescription: Initialisiere eine neues Wiki Verzeichnis.\n\nInitialisiere eine neues [[Wiki Verzeichnis|WikiFolders]] mit der Kopie einer Edition.\n\n```\n--init <edition> [<edition> ...]\n```\n\nBeispiel:\n\n```\ntiddlywiki ./MyWikiFolder --init empty\n```\n\nAnmerkung:\n\n* Das Wiki Verzeichnis wird angelegt, wenn es nicht existiert.\n* Der <edition> Parameter ist standardmäßig: ''empty''.\n* Der --init Befehl bricht ab, wenn das angegebene Verzeichnis nicht leer ist.\n* Der --init Befehl löscht alle `includeWikis` Definitionen aus der neuen `tiddlywiki.info` Datei.\n* Wenn mehrere Editionen importiert werden, wird die zuletzt importierte `tidlywiki.info` Datei aktiv sein. Alle anderen weden überschrieben.\n\n* `--editions` listet alle verfügbaren Editionen auf.\n"
  },
  {
    "path": "languages/de-DE/Help/listen.tid",
    "content": "title: $:/language/Help/listen\ndescription: Definiert das HTTP-Server Interface für Tiddlywiki\n\nStellt das Wiki mit einem HTTP-Server zur Verfügung.\n\nDer \"listen\" Parameter wird wie folgt verwendet:\n\n```\n--listen [<name>=<wert>]...\n```\n\nAlle Parameter sind optional, die Reihenfolge ist beliebig und es werden \"sichere\" standard Parameter verwendet.\n\nMögliche Parameter:\n\n* ''host'' - Host-Name, von dem übertragen wird. (Standard: \"127.0.0.1\" alias \"localhost\")\n* ''path-prefix'' - Pfad-prefix, der auf alle Pfade angewendet wird\n* ''port'' - Port Nummer, die überwacht werden soll; Nicht-numerische Werte werden als System Umgebungs-Variable interpretiert. (Standard: 8080)\n* ''credentials'' - Pfad zur Authentifizierungsdatei im CSV-format. Angabe ist relativ zum Wiki-Verzeichnis\n* ''anon-username'' - Name, der für anonymer Benutzer verwendet wird, um bearbeitete Tiddler zu markieren\n* ''username'' - Benutzername für die Basis-Authentifizierung\n* ''password'' - Passwort für die Basis-Authentifizierung\n* ''authenticated-user-header'' - Optionaler HTTP Header-Name für vertrauenswürdige, authentifizierte Benutzer\n* ''readers'' - Komma-separierte Liste für Benutzer, mit Schreiberlaubnis\n* ''writers'' - Komma-separierte Liste für Benutzer, mit Leseerlaubnis\n* ''csrf-disable'' - \"yes\" bedeutet, dass CSRF Überprüfungen deaktiviert sind. (Standard: \"no\")\n* ''root-tiddler'' - Tiddler, der für den \"Root-Pfad\" verwendet wird. (Standard: \"$:/core/save/all\")\n* ''root-render-type'' - Darstellungs-Type, die für den Root-Tiddler verwendet wird. (Standard: \"text/plain\")\n* ''root-serve-type'' - Inhalts-Type, die für den Root-Tiddler verwendet wird. (Standard: \"text/html\")\n* ''tls-cert'' - Pfad zur \"TLS Zertifikat\" Datei (relativ zum Wiki Verzeichnis)\n* ''tls-key'' - Pfad zur \"TLS Schlüssel\" Datei (relativ zum Wiki Verzeichnis)\n* ''debug-level'' - \"debug\" bewikt eine detailierte Anzeige der HTTP Anfrage-Parameter. (Standard: \"none\")\n* ''gzip'' - Wenn auf \"yes\" gesetzt, dann wird gzip Kompression aktiviert. (Standard: \"no\")\n* ''use-browser-cache'' - Ist dieser Parameter auf \"yes\" gesetzt kann der Browser Inhalte zwischenspeichern um Übertragungsbandbreite zu sparen. (Standard: \"no\")\n\nFür weitere Sicherheitshinweise und Informationen für die Verwendung in lokalen Netzwerken siehe: WebServer auf TiddlyWiki.com\n"
  },
  {
    "path": "languages/de-DE/Help/load.tid",
    "content": "title: $:/language/Help/load\ndescription: Lade Tiddler von einer Datei.\n\nLade Tiddler aus einer TiddlyWiki `.html`, `.tiddler`, `.tid`, `.json` oder anderen lokalen Datei.\n\nDie Verarbeitung der geladenen Datei wird anhand der Datei-Erweiterung bestimmt. Verwenden sie den alternativen `import` Befehl, wenn sie die verarbeitungsweise ändern möchten.\n\n\n```\n--load <filepath> [noerror]\n--load <dirpath> [noerror]\n```\n\nDer \"load\" Befehl erzeugt eine Fehlermeldung, wenn keine Tiddler gefunden werden. Dieses Verhalten kann mit dem Parameter \"noerror\" unterdrückt werden.\n\nUm Daten aus einer verschlüsselten TiddlyWiki Datei zu laden, muss zuerst mit dem \"password\" Parameter ein Passwort definiert werden. \n\nBeispiel:\n\n```\ntiddlywiki ./MyWiki --password hier-sicheres-passwort-verwenden --load my_encrypted_wiki.html\n```\n\nHinweis: TiddlyWiki wird nur neuere Versionen eines bestehenden Plugins laden!\n"
  },
  {
    "path": "languages/de-DE/Help/makelibrary.tid",
    "content": "title: $:/language/Help/makelibrary\ndescription: Erstellt die \"Upgrade Bibliothek\", die vom \"upgrade\" Prozess benötigt wird\n\nErstellt den tiddler: `$:/UpgradeLibrary`, der vom \"upgrade\" Prozess benötigt wird.\n\nDie \"Upgrade Bibliothek\" ist ein \"normales\" Plugin, vom Typ: `library`. Es enthält eine Kopie jedes Plugins, Themas und Sprachpacketes, das im TiddlyWiki Archiv enthalten ist.\n\nDieser Befehl ist ein \"interner\" Befehl! Er ist nur relevant für Benutzer, die einen spezifischen \"Upgrade Prezess\" erstellen müssen. zB: Umwandeln von einem Tiddler in mehrere Tiddler, um Inkompatibilitäten zu vermeiden.\n\n```\n--makelibrary <title>\n```\n\nDas \"title\" Argument ist standardmäßig: `$:/UpgradeLibrary`.\n"
  },
  {
    "path": "languages/de-DE/Help/notfound.tid",
    "content": "title: $:/language/Help/notfound\n\nKeine Hilfe zu diesem Thema gefunden!"
  },
  {
    "path": "languages/de-DE/Help/output.tid",
    "content": "title: $:/language/Help/output\ndescription: Setzt das Basis Ausgabeverzeichnis für alle folgenden Befehle.\n\nSetzt das Basis Ausgabeverzeichnis für alle folgenden Befehle. Das Standard Verzeichnis heißt: \"output\" und ist ein Unterverzeichnis des \"edition\" Verzeichnisses.\n\n```\n--output <pathname>\n```\n\nIst das spezifizierte Verzeichnis \"relativ\", dann wird es relativ zum bestehenden Arbeitsverzeichnis angelegt.\nZum Beispiel: `--output .` setzt das Ausgabeverzeichnis auf das aktuelle Verzeichnis.\n"
  },
  {
    "path": "languages/de-DE/Help/password.tid",
    "content": "title: $:/language/Help/password\ndescription: Setzen eines Passwortes für Verschlüsselungsoperationen.\n\nSetzen eines Passwortes für Verschlüsselungsoperationen\n\n```\n--password <password>\n```\n\nHinweis: Diese Option kann nicht verwendet werden, um ein \"Server Passwort\" festzulegen! Informationen zum Server Passwort siehe [[ServerCommand]].\n"
  },
  {
    "path": "languages/de-DE/Help/render.tid",
    "content": "title: $:/language/Help/render\ndescription: Ausgabe individueller Tiddler in Dateien\n\nIndividuelle Tiddler werden anhand von Filtern spezifiziert, gelesen und in Dateien umgewandelt.\n\nOptionell kann eine Template-Datei angegeben werden. In diesem Fall wird nicht der Inhalt des Tiddlers, sondern des Templates übersetzt. Die `currentTiddler` Variable wird auf den Titel, des auszugebenden, Tiddlers gesetzt.\n\nEs können noch zusätzliche Variablen per Name und Wert gesetzt werden.\n\n```\n--render <tiddler-filter> [<filename-filter>] [<render-type>] [<template>] [ [<name>] [<value>] ]*\n```\n\n* ''tiddler-filter'': Ein Filter, der die Auszugebenden Tiddler eindeutig spezifiziert.\n* ''filename-filter'': [Option] Filter, der aus Tiddler Titeln, Pfadnamen generiert. Wenn weggelassen, dann wird der Standard verwendet: `[is[tiddler]addsuffix[.html]]`, welcher den Titel als Dateiname verwendet.\n* ''render-type'': [Option] Ausgabe Typ: `text/html` (Standard) generiert HTML Text und `text/plain` gibt den \"reinen\" Text Inhalt zurück. `text/plain` ignoriert HTML Marker und andere \"nicht-druckbare\" Zeichen.\n* ''template'': [Option] Template, das verwendet werden soll\n* ''name'': [Option] Name einer zusätzlichen Variablen.\n* ''value'': [Option] Wert dieser zusätzlichen Variablen.\n\nStandardmäßig sind die Dateinamen \"relativ\" zum `output` Verzeichnis, des `edition` Verzeichnisses.\n\nMit dem `--output` Befehl kann die Ausgabe in jedes beliebige Verzeichnis umgeleitet werden.\n\nWichtig:\n\n* Das `output` Verzeichnis wird nicht gelöscht, bevor neue Dateien geschrieben werden.\n* Verzeichnisse und Dateien werden automatisch angelegt, sollten sie nicht vorhanden sein.\n* Wenn eine Datei Leerzeichen enthält, dann muss dies ''doppelt'' angezeigt werden. Für TiddlyWiki mit eckigen Klammern `[[]]` und für die Kommandozeile mit Hochkomma \"\". Zum Beispiel: `--render \"[[Motovun Jack.jpg]]\"`\n* Dateinamens-Filter zeigen immer auf den Titel, des gerade bearbeiteten Tiddlers. Das erlaubt uns, diesen als Basis für den Dateinamen zu verwenden. zB: `[encodeuricomponent[]addprefix[static/]]` ... Verwendet eine URI-Enkodierung für jeden Dateinamen und stellt das Wort `static/` als Pfadname voran.\n* Es können mehrere ''name/value'' Paare verwendet werden.\n* Der `--render` Befehl ist flexibler und ersetzt daher `--rendertiddler` und `--rendertiddlers`, welche mit V5.1.15 auslaufen!\n\nBeispiel:\n\n* `--render '[!is[system]]' '[encodeuricomponent[]addprefix[tiddlers/]addsuffix[.html]]'` ... Übersetzt alle Nicht-System Tiddler und schreibt sie in ein Unterverzeichnis `tiddlers/` mit URL-kodiertem Titel und der Erweiterung `.html`\n\n* `--render '.' 'tiddlers.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' '[tag[HelloThere]]'` -- Übersetzt all Tiddler mit dem Tag: \"HelloThere\" in eine JSON Datei mit dem namen \"tiddlers.json\"\n"
  },
  {
    "path": "languages/de-DE/Help/rendertiddler.tid",
    "content": "title: $:/language/Help/rendertiddler\ndescription: Ausgabe eines individuellen Tiddlers, in einem spezifizierten Format.\n\n''WICHTIG:''\n\n* Der `--rendertiddler` Befehl wird ab V5.1.15 durch `--render` ersetzt.\n* `--rendertiddler` wird auslaufen und sollte daher nicht mehr verwendet werden!\n\nAusgabe eines individuellen Tiddlers, in einem spezifizierten Format (standard: `text/html`) und Dateinamen.\n\nOptional kann ein Template tiddler angegeben werden. Die \"currentTiddler\" Variable wird auf den Tiddler gesetzt, der zu rendern ist.\n\n```\n--rendertiddler <title> <filename> [<type>] [<template>] [<name>] [<value>]\n```\n\nStandardmäßig ist das `output` Verzeichnis ein Unterverzeichnis im `edition` Verzeichnis. Der `--output` Befehl kann verwendet werden, um ein anderes Verzeichnis auszuwählen.\n\nNicht vorhandene Verzeichnisse werden automatisch erstellt.\n\n''Beispiel:''\n\nDer folgende Befehl speichert alle tiddler mit dem `tag: done` in eine `JSON` Datei mit dem Namen: `output.json`. Das Template `$:/core/templates/exporters/JsonFile` wird auf die zu speichernden Daten angewandt.\n\n```\n--rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[tag[done]]\"\n```\n"
  },
  {
    "path": "languages/de-DE/Help/rendertiddlers.tid",
    "content": "title: $:/language/Help/rendertiddlers\ndescription: Gefilterte Ausgabe von Tiddlern, in einem spezifizierten Format.\n\n''WICHTIG:''\n\n* Der `--rendertiddlers` Befehl wird ab V5.1.15 durch `--render` ersetzt.\n* `--rendertiddlers` wird auslaufen und sollte daher nicht mehr verwendet werden!\n\nGefilterte Ausgabe mehrerer Tiddler, in ein angegebenes Dateiformat (standard: `text/html`) mit spezifischer Erweiterung (Standard: `.html`).\n\n```\n--rendertiddlers '<filter>' <template> <pathname> [<type>] [<extension>] [\"noclean\"]\n```\n\nBeispiel:\n\n```\n--rendertiddlers '[!is[system]]' $:/core/templates/static.tiddler.html ./static text/plain\n```\n\nStandardmäßig ist das `output` Verzeichnis ein Unterverzeichnis im `edition` Verzeichnis. Der `--output` Befehl kann verwendet werden, um ein anderes Verzeichnis auszuwählen.\n\nNicht vorhandene Verzeichnisse werden automatisch erstellt und enthaltene Dateien werden gelöscht. Mit dem \"noclean\" Parameter, kann das löschen vorhandener Dateien unterdrückt werden.\n"
  },
  {
    "path": "languages/de-DE/Help/save.tid",
    "content": "title: $:/language/Help/save\ndescription: Speichert Klartext Tiddler als Dateien\n\nSpeichert einzelne oder mehrere Klartext Tiddler als Text oder im Binärformat in Dateien. Die zu speichernden Tiddler werden über Filter spezifiziert.\n\n```\n--save <tiddler-filter> <filename-filter>\n```\n\n* ''tiddler-filter'': Ein Filter, der die zu speichernden Tiddler anzeigt.\n* ''filename-filter'': [Option] Ein Filter, der die Tiddler Titel in Verzeichnis Namen aufspaltet. Wenn nicht spezifiziert, dann wird: `[is[tiddler]]` verwendet. `[is[tiddler]]` übernimmt den Tiddler Titel unverändert.\n\nStandardmäßig sind die Dateinamen \"relativ\" zum `output` Verzeichnis, des `edition` Verzeichnisses.\n\nMit dem `--output` Befehl kann die Ausgabe in jedes beliebige Verzeichnis umgeleitet werden.\n\nHinweise:\n\n* Das `output` Verzeichnis wird nicht gelöscht, bevor neue Dateien geschrieben werden.\n* Verzeichnisse und Dateien werden automatisch angelegt, sollten sie nicht vorhanden sein.\n* Wenn eine Datei Leerzeichen enthält, dann muss dies ''doppelt'' angezeigt werden. Für TiddlyWiki mit eckigen Klammern `[[]]` und für die Kommandozeile mit Hochkomma \"\". Zum Beispiel: `--render \"[[Motovun Jack.jpg]]\"`\n* Dateinamens-Filter zeigen immer auf den Titel, des gerade umzusetzenden Tiddlers. Das erlaubt uns, diesen als Basis für den Dateinamen zu verwenden. zB: `[encodeuricomponent[]addprefix[static/]]` ... Verwendet eine URI-Enkodierung für jeden Dateinamen und stellt das Wort `static/` als Pfadname voran.\n* Der `--save` Befehl ist flexibler und ersetzt daher `--savetiddler` und `--savetiddlers`, welche mit V5.1.15 auslaufen!\n\nBeispiel:\n\n* `--save \"[!is[system]is[image]]\" \"[encodeuricomponent[]addprefix[tiddlers/]]\"` -- Übersetzt alle Nicht-System Bild Tiddler in Datein und schreibt diese URL-kodiert in das Unterverzeichnis `tiddlers/`\n"
  },
  {
    "path": "languages/de-DE/Help/savetiddler.tid",
    "content": "title: $:/language/Help/savetiddler\ndescription: Speichert einen Tiddler als File.\n\n''WICHTIG:''\n\n* Der `--savetiddler` Befehl wird ab V5.1.15 durch `--save` ersetzt. \n* `--savetiddler` wird auslaufen und sollte daher nicht mehr verwendet werden!\n\nSpeichert einen individuellen Tiddler im Text- oder Binärformat mit dem angegebenen Dateinamen.\n\n```\n--savetiddler <title> <filename>\n```\n\nStandardmäßig ist das `output` Verzeichnis ein Unterverzeichnis im `edition` Verzeichnis. Der `--output` Befehl kann verwendet werden, um ein anderes Verzeichnis auszuwählen.\n\nNicht vorhandene Verzeichnisse werden automatisch erstellt.\n"
  },
  {
    "path": "languages/de-DE/Help/savetiddlers.tid",
    "content": "title: $:/language/Help/savetiddlers\ndescription: Speichert eine Gruppe von Tiddler in ein Verzeichnis\n\n''WICHTIG:''\n\n* Der `--savetiddlers` Befehl wird ab V5.1.15 durch `--save` ersetzt. \n* `--savetiddlers` wird auslaufen und sollte daher nicht mehr verwendet werden!\n\nSpeichert eine Gruppe von Tiddler im Text- oder Binärformat in ein angegebenes Verzeichnis.\n\n```\n--savetiddlers <filter> <pathname> [\"noclean\"]\n```\n\nStandardmäßig ist das `output` Verzeichnis ein Unterverzeichnis im `edition` Verzeichnis. Der `--output` Befehl kann verwendet werden, um ein anderes Verzeichnis auszuwählen.\n\nWichtig: Alle Dateien im Ausgabeverzeichnis werden automatisch gelöscht, wenn dieser Befehl verwendet wird. Um dies zu verhindern kann der ''noclean'' Parameter verwendet werden.\n\nNicht vorhandene Verzeichnisse im Pfadnamen werden automatisch erstellt.\n"
  },
  {
    "path": "languages/de-DE/Help/savewikifolder.tid",
    "content": "title: $:/language/Help/savewikifolder\ndescription: Speichert ein Wiki in einen neues Verzeichnis\n\n<<.from-version \"5.1.20\">> Speichert das aktuelle Wiki als ein Wiki-Verzeichnis. Inklusive Tiddlern, Plugins und Konfiguration:\n\n```\n--savewikifolder <wikifolderpath> [<filter>] [ [<name>=<value>] ]*\n```\n\n* Das Zielverzeichnis muss leer sein, oder nicht existent\n* Der \"filter\" Parameter definiert, welche Tiddler inkludiert werden. Diser Parameter is optional. Standard: `[all[tiddlers]]`\n* Plugins des offiziellen Plugin-Verzeichnisses werden durch Referenzen zu den Plugins in der `tiddlywiki.info` Datei ersetzt.\n* Drittanbieter Plugins werden in ihre eigenen Verzeichnisse entpackt\n\nFolgende Optionen werden unterstützt:\n\n* ''filter'': Ein \"Filter-Run\" der die Tiddler definiert, die ausgegeben werden sollen.\n\n* ''explodePlugins'': Standard ist: \"yes\"\n** \"yes\": wird Plugins \"aufspalten\" und einzelne \"Shadow Tiddler\" in ein  \"tiddlers/<plugin>\" Verzeichnis speichern.\n** \"no\": Wird das \"aufspalten\" von Plugins in einzelne \"Shadow Tiddler\" unterbinden. Das plugin selbst wird als 1 JSON Tiddler gespeichert.\n\nDiese Funktionen werden vor allem dazu verwendet, eine Wiki-Datei in einzelne Tiddler in einem Wiki-Verzeichnis umzuwandeln:\n\n```\ntiddlywiki --load ./mywiki.html --savewikifolder ./mywikifolder\n```\n\nDer folgende Befehl wird das Plugin als JSON-Tiddler in das \"tiddlers\" Verzeichnis speichern:\n\n```\ntiddlywiki --load ./mywiki.html --savewikifolder ./mywikifolder explodePlugins=no\n```"
  },
  {
    "path": "languages/de-DE/Help/server.tid",
    "content": "title: $:/language/Help/server\ndescription: (Dieser Befehl ist abgekündigt! - Neu ist: \"listen\") -- Stellt einen HTTP server für TiddlyWiki zur Verfügung.\n\n''WICHTIG:''\n\n* Dieser Befehl ist abgekündigt!\n* Wird durch: \"listen\" ersetzt.\n\nTiddlyWiki bringt einen einfachen Web-Server mit.\n\nDer Server kann spezifische Tiddler im angegebenen Format anzeigen (rendern). Zudem können einzelne, oder mehrere Tiddler im JSON Format übertragen werden. Die unterstützten HTTP Funktionen sind: `GET`, `PUT` und `DELETE`\n\n```\n--server <port> <root-tiddler> <root-render-type> <root-serve-type> <username> <password> <host> <path-prefix> <debug-level>\n```\n\nDie Parameter sind: \n\n* ''port'' - Port Nummer mit der kommuniziert werden soll (Standard: \"8080\"). Ein \"nicht-numerisher\" Wert wird als System-Umgebungsvariable interpretiert, von der der Wert gelesen werden soll.\n* ''root-tiddler'' - Der Tiddler, der als ~Basis-Tiddler verwendet werden soll ( Standard: \"$:/core/save/all\").\n* ''root-render-type'' -  MIME-Type, zu dem der ~Basis-Tiddler \"gerendert\" werden soll ( Standard: \"text/plain\").\n* ''root-serve-type'' - MIME-Type, mit dem der Basis-Tiddler ausgeliefert werden soll ( Standard: \"text/html\").\n* ''username'' - Benutzer Name, mit dem veränderte Tiddler signiert werden.\n* ''password'' - Passwort mit dem eine sehr \"simple\" Zugangsbeschränkung aufgebaut werden kann.\n* ''host'' - ~Host-Name von dem ausgeliefert werden soll. Host ist optional ( Standard: \"127.0.0.1\" oder auch \"localhost\").\n* ''path-prefix'' - Optionales prefix für Pfade.\n* ''debug-level'' - \"debug\" bewikt eine detailierte Anzeige der HTTP Anfrage-Parameter. (Standard: \"none\")\n\nWenn beim Serverstart ein Passwort angegeben wird, dann wird der Benutzer aufgefordert den Benutzernamen und das Passwort einzugeben, bevor ein Wiki angezeigt wird. ACHTUNG: Das Passwort wird im Klartext übertragen. Diese Vorgehensweise ist nicht für den Einsatz im Netz geeignet.\n\nBeispiel:\n\n```\n--server 8080 $:/core/save/all text/plain text/html MeinBenutzerName passw0rt\n```\n\nDer Name und das Passwort können als \"leere\" Zeichenketten definiert werden, wenn ein \"hostname\" oder \"pathprefix\" nötig ist, jedoch kein Passwort verwendet werden soll.\n\n```\n--server 8080 $:/core/save/all text/plain text/html \"\" \"\" 192.168.0.245\n```\n\nWenn Sie eine Addresse wie oben verwenden, dann ist der Server für das lokale Netzwerk sichtbar. Weitere Sicherheitshinweise finden sie unter: WebServer auf tiddlywiki.com\n\nEs ist möglich mehrere TiddlyWiki Server gleichzeitig zu starten. Jeder Server muss jedoch mit einem eigenen Port gestartet werden. Es kann sinnvoll sein, den Prozess mit lokalen \"Umgebungsvariable\" zu starten. Hier wird \"MEINE_PORT_NUMMER\" als Beispiel verwendet.\n\n\n```\n--server MEINE_PORT_NUMMER $:/core/save/all text/plain text/html MyUserName passw0rd\n```"
  },
  {
    "path": "languages/de-DE/Help/setfield.tid",
    "content": "title: $:/language/Help/setfield\ndescription: Experimentell - Setzt ein Tiddler \"field\" auf einen bestimmten Wert\n\n//Wichtig! Dieser Befehl is experimentell und kann während der Betaphase geändert oder ersetzt werden!//\n\nSetzt ein spezifiziertes Feld, für eine Gruppe von Tiddlern. Ein Template wird \"wikifiziert\" und das Ergebnis in das Feld geschrieben. Die `currentTiddler` Variable wird auf den jeweiligen Tiddler gesetzt.\n\n```\n--setfield <filter> <fieldname> <templatetitle> <rendertype>\n```\n\nThe parameters are:\n\n* ''filter'' - Filter, der die zu modifizierenden Tiddler auswählt.\n* ''fieldname'' - Das zu verändernde Feld (Standardwert: \"text\").\n* ''templatetitle'' - Der zu wikifizierende Vorlagen Tiddler, dessen Ergebnis in das Feld geschrieben wird. Wenn Leer, dann wird das Feld gelöscht.\n* ''rendertype'' - Der Text Typ für den \"rendering\" Vorgang (Standardwert: \"text/plain\"; \"text/html\" kann verwendet werden, um \"HTML tags\" zu erzeugen).\n"
  },
  {
    "path": "languages/de-DE/Help/unpackplugin.tid",
    "content": "title: $:/language/Help/unpackplugin\ndescription: Extrahiere Tiddler aus einem Plugin\n\nExtrahiert alle Tiddler aus einem plugin und schreibt diese als einzelne Tiddler Dateien:\n\n```\n--unpackplugin <title>\n```\n"
  },
  {
    "path": "languages/de-DE/Help/verbose.tid",
    "content": "title: $:/language/Help/verbose\ndescription: Aktiviert die erweiterte Fehlerausgabe.\n\nAktiviert die erweiterte Fehlerausgabe. Nützlich um Fehler zu finden.\n\n```\n--verbose\n```\n"
  },
  {
    "path": "languages/de-DE/Help/version.tid",
    "content": "title: $:/language/Help/version\ndescription: Gibt die Versionsnummer von TiddlyWiki aus.\n\nGibt die Versionsnummer von TiddlyWiki aus.\n\n```\n--version\n```\n"
  },
  {
    "path": "languages/de-DE/Import.multids",
    "content": "title: $:/language/Import/\n\nEditor/Import/Heading: Bilder in den Editor importieren.\nImported/Hint:  Folgende Tiddler wurden importiert: \nListing/Cancel/Caption: Abbrechen\nListing/Cancel/Warning: Möchten Sie den Import abbrechen?\nListing/Hint: Diese Tiddler können importiert werden: \nListing/Import/Caption: Importieren\nListing/Select/Caption: Auswahl\nListing/Status/Caption: Status\nListing/Title/Caption: Titel\nListing/Preview: Vorschau:\nListing/Preview/Text: Text\nListing/Preview/TextRaw: Text - roh\nListing/Preview/Fields: Felder\nListing/Preview/Diff: Diff - Text\nListing/Preview/DiffFields: Diff - Felder\nListing/Rename/Tooltip: Tiddler vorm Importieren umbenennen\nListing/Rename/Prompt: Umbenennen in:\nListing/Rename/ConfirmRename : Tiddler umbenennen\nListing/Rename/CancelRename : Abbrechen\nListing/Rename/OverwriteWarning: Ein Tiddler mit diesem Titel existiert bereits.\nUpgrader/Plugins/Suppressed/Incompatible: Unterdrückte, inkompatible oder veraltete \"plugins\".\nUpgrader/Plugins/Suppressed/Version: Einige \"plugins\" weden unterdrückt! Importierte plugins: <<incoming>> sind älter als existierende: <<existing>>.\nUpgrader/Plugins/Upgraded:  Aktualisieren der plugins von: <<incoming>> nach: <<upgraded>>.\nUpgrader/State/Suppressed: Unterdrückte temporäre Status Tiddler.\nUpgrader/System/Disabled: Deaktivierter \"System-Tiddler\".\nUpgrader/System/Suppressed: Unterdrückte \"System Tiddler\".\nUpgrader/System/Warning: \"Core Modul Tiddler\".\nUpgrader/System/Alert: Sie sind dabei einen Tiddler zu importieren, der einen \"Core Tiddler\" überschreibt. Diese Aktion wird nicht empfohlen! Das System kann instabil werden.\nUpgrader/ThemeTweaks/Created: Migrieren der \"theme tweaks\" von: <$text text=<<from>>/>.\nUpgrader/Tiddler/Disabled: Deaktivierter Tiddler.\nUpgrader/Tiddler/Selected: Ausgewählter Tiddler.\nUpgrader/Tiddler/Unselected: Auswahl aufgehoben."
  },
  {
    "path": "languages/de-DE/Misc.multids",
    "content": "title: $:/language/\n\nAlerts: Hinweis\nAboveStory/ClassicPlugin/Warning: Es scheint, Sie möchten ein Plugin verwenden, dass für [[TiddlyWiki Classic|https://tiddlywiki.com/#TiddlyWikiClassic]] entwickelt wurde. Diese Plugins können jedoch mit ~TiddlyWiki Version 5 nicht verwendet werden. ~TiddlyWiki Classic plugin erkannt:\nBinaryWarning/Prompt: Dieser Tiddler enthält binäre Daten.\nClassicWarning/Hint: Dieser Tiddler wurde im TiddlyWiki Classic Format erstellt. Dieses Format ist nur teilweise kompatibel mit TiddlyWiki Version 5. Mehr Info finden Sie unter: https://tiddlywiki.com/static/Upgrading.html\nClassicWarning/Upgrade/Caption: upgrade\nCloseAll/Button: alle schließen\nColourPicker/Recent: Kürzlich:\nConfirmCancelTiddler: Wollen Sie die Änderungen im Tiddler: \"<$text text=<<title>>/>\" verwerfen?\nConfirmDeleteTiddler: Wollen Sie den Tiddler: \"<$text text=<<title>>/>\" löschen?\nConfirmDeleteTiddlers: Wollen Sie <<resultCount>> Tiddler löschen?\nConfirmOverwriteTiddler: Tiddler: \"<$text text=<<title>>/>\" existiert! OK überschreibt den tiddler!\nConfirmEditShadowTiddler: Sie sind dabei, einen Schatten-Tiddler zu verändern. Zukünftige, automatische Anpassungen werden dadurch unterdrückt. Sie können Ihre Änderungen rückgängig machen, indem Sie diesen Tiddler wieder löschen. Wollen Sie den Tiddler: \"<$text text=<<title>>/>\" ändern?\nConfirmAction: Möchten Sie weitermachen? \nCount: Anzahl\nDefaultNewTiddlerTitle: Neuer Tiddler\nDiffs/CountMessage: <<diff-count>> Unterschied(e)\nDropMessage: Hierher ziehen (oder Escape um abzubrechen)\nEncryption/Cancel: Abbrechen\nEncryption/ConfirmClearPassword: Wollen Sie das Passwort löschen? Damit wird die Verschlüsselung beim nächsten Speichervorgang abgeschalten!\nEncryption/PromptSetPassword: Der TiddlyWiki Inhalt wird mit dem nächsten Speichern verschlüsselt!\nEncryption/Username: Benutzername\nEncryption/Password: Passwort\nEncryption/RepeatPassword: Passwort wiederholen\nEncryption/PasswordNoMatch: Passwörter stimmen nicht überein\nEncryption/SetPassword: Passwort setzen\nError/Caption: Fehler\nError/DeserializeOperator/MissingOperand: Filter Fehler: Fehlender Parameter für 'deserialize' Operator\nError/DeserializeOperator/UnknownDeserializer: Filter Fehler: Unbekannter \"deserializer\" als Parameter für 'deserialize' Operator verwendet\nError/Filter: Filter Fehler\nError/FilterSyntax: Syntax Fehler im Filter-Ausdruck\nError/FilterRunPrefix: Filter Fehler: Unbekanntes Prefix für Filter lauf\nError/IsFilterOperator: Filter Fehler: Unbekannter Parameter für den 'is' Filter Operator\nError/FormatFilterOperator: Filter Fehler: Unbekannter Parameter für den 'format' Filter Operator\nError/LoadingPluginLibrary: Fehler beim Laden der \"plugin library\"\nError/NetworkErrorAlert: `<h2>''Netzwerk Fehler''</h2>Es scheint, die Verbindung zum Server ist ausgefallen. Das weist auf Probleme mit der Netzwerkverbindung hin. Bitte versuchen Sie die Verbingung wider herzustellen, bevor Sie weitermachen.<br><br>''Nicht gespeicherte Änderungen werden automatich synchronisiert, sobald die Verbindung wider hergestellt ist.\nError/PutEditConflict: Datei am Server verändert\nError/PutForbidden: Erlaubnis verweigert\nError/PutUnauthorized: Authentifizierung benötigt\nError/RecursiveTransclusion: Recursive Transclusion: Fehler im \"transclude widget\"\nError/RetrievingSkinny: Fehler beim Empfangen einer \"skinny\" Tiddler Liste\nError/SavingToTWEdit: Fehler beim Speichern mit \"TWEdit\"\nError/WhileSaving: Fehler beim Speichern\nError/XMLHttpRequest: XMLHttpRequest Fehler-Code\nError/ZoominTextNode: \"Story View Error:\" Es scheint Sie versuchen mit einem Tiddler zu interagieren, der in einem speziellen Container angezeigt wird. Dies wird wahrscheinlich durch den Tag: `$:/tags/StoryTiddlerTemplateFilter`verursacht. Wahrscheinlich enthält das Template reinen Text oder Leerzeilen am Anfang. Verwenden Sie das \"Pragma\" `\\whitespace trim` oder stellen Sie sicher, dass der Template Inhalt in einem HTML-Element \"eingeschlossen\" ist. Der Text, der den Fehler verursacht ist: \nInternalJavaScriptError/Title: Interner JavaScript Fehler\nInternalJavaScriptError/Hint: Es tut uns leid, aber bitte starten Sie Ihr TiddlyWiki neu, indem sie die Seite im Browser neu laden.\nLayoutSwitcher/Description: \"Layout\" Selektor anzeigen\nLazyLoadingWarning: <p>Lade externe Datei von ''<$text text={{!!_canonical_uri}}/>''</p><p>Wenn diese Meldung nicht automatisch gelöscht wird, dann verwenden Sie wahrscheinlich einen Browser der diese Funktion nicht unterstützt. Oder die Tiddler \"conent-type\" Eistellung passt nicht, zu der, der externen Datei. Siehe https://tiddlywiki.com/#ExternalText</p>\nLoginToTiddlySpace: Login bei TiddlySpace\nManager/Controls/FilterByTag/None: (kein)\nManager/Controls/FilterByTag/Prompt: Filtern nach tag:\nManager/Controls/Order/Prompt: Invertiert\nManager/Controls/Search/Placeholder: Suche\nManager/Controls/Search/Prompt: Suche:\nManager/Controls/Show/Option/Tags: Tags\nManager/Controls/Show/Option/Tiddlers: Tiddler\nManager/Controls/Show/Prompt: Anzeigen:\nManager/Controls/Sort/Prompt: Sortieren nach:\nManager/Item/Colour: Farbe\nManager/Item/Fields: Feld\nManager/Item/Icon/None: (kein)\nManager/Item/Icon: Icon\nManager/Item/RawText: Text\nManager/Item/Tags: Tags\nManager/Item/Tools: Tools\nManager/Item/WikifiedText: Wikified Text\nMissingTiddler/Hint: Fehlender Tiddler \"<$text text=<<currentTiddler>>/>\" - klicken Sie {{||$:/core/ui/Buttons/edit}} um ihn zu erzeugen.\nNo: Nein\nOfficialPluginLibrary: Offizielles ~TiddlyWiki Plugin-Verzeichnis\nOfficialPluginLibrary/Hint: Offizielles ~TiddlyWiki Plugin-Verzeichnis auf tiddlywiki.com. Plugin, Themes und Sprach Dateien werden vom \"core team\" gewartet.\nPageTemplate/Description: das Standard ~TiddlyWiki Layout\nPageTemplate/Name: Standard Layout\nPluginReloadWarning: Das Wiki muss gespeichert {{$:/core/ui/Buttons/save-wiki}} und neu gladen {{$:/core/ui/Buttons/refresh}} werden, damit die ~JavaScript Plugins ausgeführt werden.\nRecentChanges/DateFormat: YYYY MMM DD\nShortcuts/Input/AdvancedSearch/Hint: Öffne den ~AdvancedSearch Tiddler vom \"Suchmenü\" aus\nShortcuts/Input/Accept/Hint: Wähle das selektierte Element\nShortcuts/Input/AcceptVariant/Hint: Wähle das selektierte Element (Variante)\nShortcuts/Input/Cancel/Hint: Lösche das Eingabefeld\nShortcuts/Input/Down/Hint: Gehe zum nächsten Element\nShortcuts/Input/Up/Hint: Gehe zum vorherigen Element\nShortcuts/Input/Tab-Left/Hint: Gehe zum vorherigen Tab \nShortcuts/Input/Tab-Right/Hint: Gehe zum nächsten Tab\nShortcuts/SidebarLayout/Hint: Das Layout des rechten Menüs ändern\nSwitcher/Subtitle/theme: Theme auswählen\nSwitcher/Subtitle/layout: Layout auswählen\nSwitcher/Subtitle/language: Sprache auswählen\nSwitcher/Subtitle/palette: Palette auswählen\nSystemTiddler/Tooltip: Das ist ein System-Tiddler\nSystemTiddlers/Include/Prompt: System-Tiddler einschließen\nTagManager/Colour/Heading: Farbe\nTagManager/Count/Heading: Anzahl\nTagManager/Icon/Heading: Symbol\nTagManager/Icons/None: Keine\nTagManager/Info/Heading: Info\nTagManager/Tag/Heading: Tag\nTiddler/DateFormat: DDth MMM YYYY um 0hh:0mm\nUnsavedChangesWarning: ~TiddlyWiki wurde geändert, aber noch nicht gespeichert!\nYes: Ja"
  },
  {
    "path": "languages/de-DE/Modals/Download.tid",
    "content": "title: $:/language/Modals/Download\nsubtitle: Änderungen Speichern\nfooter: <$button message=\"tm-close-tiddler\">Schließen</$button>\nhelp: https://tiddlywiki.com/static/DownloadingChanges.html\n\nIhr Browser unterstützt nur manuelles Speichern.\n\nUm das geänderte Wiki zu speichern, machen Sie einen \"rechts klick\" auf den folgenden Link. Wählen Sie \"Datei herunterladen\" oder \"Datei speichern\" und wählen Sie Name und Verzeichnis.\n\n//Sie können den Vorgang etwas beschleunigen, indem Sie die \"Control-Taste\" (Windows) oder die \"Options/Alt-Taste\" (Max OS X) drücken. Es wird kein \"Speichern Dialog\" erscheinen. Jedoch wird bei einigen Browsern die Datei einen zufälligen Namen bekommen. Sie müssen die Datei eventuell umbenennen, um sie öffnen zu können.//\n\nBei \"Smartphones\", die das Speichern von Dateien nicht erlauben, können Sie ein Lesezeichen erstellen, dass mit Ihrem PC synchronisiert wird. Dort können Sie die Dateien dann wie gewohnt speichern.\n"
  },
  {
    "path": "languages/de-DE/NewJournal.multids",
    "content": "title: $:/config/NewJournal/\n\nTitle: YYYY MMM 0DD\nText:"
  },
  {
    "path": "languages/de-DE/NewJournalTags.tid",
    "content": "title: $:/config/NewJournal/Tags\n\nJournal"
  },
  {
    "path": "languages/de-DE/Notifications.multids",
    "content": "title: $:/language/Notifications/\n\nSave/Done: Wiki gespeichert!\nSave/Starting: Wiki zum Speichern vorbereiten!\nCopiedToClipboard/Succeeded: Kopiert!\nCopiedToClipboard/Failed: Fehler, beim kopieren in die Zwischenablage!"
  },
  {
    "path": "languages/de-DE/Search.multids",
    "content": "title: $:/language/Search/\n\nDefaultResults/Caption: Liste\nFilter/Caption: Filter\nFilter/Hint: Suche mit [[\"filter expression\"|https://tiddlywiki.com/static/Filters.html]].\nFilter/Matches: //<small><<resultCount>> Treffer</small>//\nMatches: //<small><<resultCount>> Treffer</small>//\nMatches/All: Alle Treffer:\nMatches/NoMatch: //Kein Treffer//\nMatches/NoResult: //Kein Suchergebnis//\nMatches/Title: Titel Treffer:\nSearch: Suchen\nSearch/TooShort: Suchtext ist zu kurz\nShadows/Caption: Schatten\nShadows/Hint: Suche in Schatten-Tiddlern.\nShadows/Matches: //<small><<resultCount>> Treffer</small>//\nStandard/Caption: Standard\nStandard/Hint: Suche in Standard-Tiddlern.\nStandard/Matches: //<small><<resultCount>> Treffer</small>//\nSystem/Caption: System\nSystem/Hint: Suche in System-Tiddlern.\nSystem/Matches: //<small><<resultCount>> Treffer</small>//"
  },
  {
    "path": "languages/de-DE/SideBar.multids",
    "content": "title: $:/language/SideBar/\n\nCaption: Seitenleiste\nAll/Caption: Alle\nContents/Caption: Inhalt\nDrafts/Caption: Entwurf\nExplorer/Caption: Explorer\nMissing/Caption: Fehlend\nMore/Caption: Mehr\nOpen/Caption: Offen\nOrphans/Caption: Waisen\nRecent/Caption: Zuletzt\nShadows/Caption: Schatten\nSystem/Caption: System\nTags/Caption: Tags\nTags/Untagged/Caption: untagged\nTools/Caption: Tools\nTypes/Caption: Typen"
  },
  {
    "path": "languages/de-DE/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\nein persönliches nicht-lineares Web-Notizbuch"
  },
  {
    "path": "languages/de-DE/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\nMein TiddlyWiki"
  },
  {
    "path": "languages/de-DE/Snippets/FunctionDefinition.tid",
    "content": "title: $:/language/Snippets/FunctionDefinition\ntags: $:/tags/TextEditor/Snippet\ncaption: Function Definition\n\n\\function f.name(param1,param2:\"default value\") [<param1>!is[blank]else<param2>]\n\n<<f.name>>\n"
  },
  {
    "path": "languages/de-DE/Snippets/ListByTag.tid",
    "content": "title: $:/language/Snippets/ListByTag\ntags: $:/tags/TextEditor/Snippet\ncaption: Tiddler-Liste mit tag: \"task\", sortiert nach \"titel\"\n\n<<list-links \"[tag[task]sort[title]]\">>\n"
  },
  {
    "path": "languages/de-DE/Snippets/MacroDefinition.tid",
    "content": "title: $:/language/Snippets/MacroDefinition\ntags: $:/tags/TextEditor/Snippet\ncaption: Makro Definition\n\n\\define makroName(param1:\"standard parameter\", param2)\nIhr Text kommt hier her. Zugriff auf <<__param1__>>.\n<<__param2__>>\n\\end\n"
  },
  {
    "path": "languages/de-DE/Snippets/ProcedureDefinition.tid",
    "content": "title: $:/language/Snippets/ProcedureDefinition\ntags: $:/tags/TextEditor/Snippet\ncaption: Procedure Definition\n\n\\procedure procName(param1:\"standard parameter\", param2)\nIhr Text kommt hier her. Zugriff auf <<__param1__>>.\n<<__param2__>>\n\\end\n"
  },
  {
    "path": "languages/de-DE/Snippets/Table 4x3.tid",
    "content": "title: $:/language/Snippets/Table4x3\ntags: $:/tags/TextEditor/Snippet\ncaption: Tabelle -- 5 Spalten, 3 Zeilen, Kopf-, Fußzeile und Beschriftung\n\n| |Alpha |Beta |Gamma |Delta |h\n|!Beta | | | | |\n|!Gamma | | | | |\n|!Delta | | | | |\n| |a|b|c|d|f\n| Beschriftung |c\n"
  },
  {
    "path": "languages/de-DE/Snippets/TableOfContents.tid",
    "content": "title: $:/language/Snippets/TableOfContents\ntags: $:/tags/TextEditor/Snippet\ncaption: Inhaltsverzeichnis\n\n<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'InhaltsVerzeichnis'>>\n\n</div>"
  },
  {
    "path": "languages/de-DE/ThemeTweaks.multids",
    "content": "title: $:/language/ThemeTweaks/\n\nThemeTweaks: Theme Tweaks\nThemeTweaks/Hint: Hier können sie verschiedene Elemente des ''Vanilla'' (Standard) Themas einstellen.\nOptions: Optionen\nOptions/SidebarLayout: Seitenleiste Darstellung\nOptions/SidebarLayout/Fixed-Fluid: Fixe \"Story\", variable Seitenleiste\nOptions/SidebarLayout/Fluid-Fixed: Variable \"Story\", fixe Seitenleiste\nOptions/StickyTitles: \"Klebender Titel\"\nOptions/StickyTitles/Hint: Tiddler-Titel bleiben beim \"Scrollen\" am oberen Bildschirmrand \"kleben\". Funktioniert möglicherweise nicht mit jedem Browser.\nOptions/CodeWrapping: Lange Zeilen in \"Code-Blöcken\" umbrechen\nSettings: Einstellungen\nSettings/FontFamily: Schriftfamilie\nSettings/CodeFontFamily: \"Code\" Schriftfamilie\nSettings/EditorFontFamily: Editor Schriftfamilie\nSettings/BackgroundImage: Hintergrundbild für die Seite\nSettings/BackgroundImageAttachment: Hintergrundbild Anhang\nSettings/BackgroundImageAttachment/Scroll: Mit Inhalt \"scrollen\"\nSettings/BackgroundImageAttachment/Fixed: Fixe position im Fenster\nSettings/BackgroundImageSize: Hintergrundbild Größe\nSettings/BackgroundImageSize/Auto: Auto\nSettings/BackgroundImageSize/Cover: Abdecken\nSettings/BackgroundImageSize/Contain: Anpassen\nMetrics: Größen\nMetrics/FontSize: Schriftgröße\nMetrics/LineHeight: Zeilenhöhe\nMetrics/BodyFontSize: Schriftgröße für Tiddler Inhalt\nMetrics/BodyLineHeight: Zeilenhöhe für Tiddler Inhalt\nMetrics/StoryLeft: \"Story\" - linke Position\nMetrics/StoryLeft/Hint: Abstand des \"story rivers\" vom linken Fensterrand\nMetrics/StoryTop: \"Story\" - obere Position\nMetrics/StoryTop/Hint: Abstand des \"story rivers\" vom oberen Fensterrand\nMetrics/StoryRight: \"Story\" - rechte Position\nMetrics/StoryRight/Hint: Abstand der Seitenleiste from linken Fensterrand\nMetrics/StoryWidth: \"Story\" - Breite\nMetrics/StoryWidth/Hint: Breite des \"story rivers\" \nMetrics/TiddlerWidth: Tiddlerbreite\nMetrics/TiddlerWidth/Hint: im \"story river\"\nMetrics/SidebarBreakpoint: Seitenleiste \"breakpoint\"\nMetrics/SidebarBreakpoint/Hint: Minimum Fensterbreite, bei der die Seitenleiste an den Anfang der Seite verschoben wird.\nMetrics/SidebarWidth: Seitenleiste Breite\nMetrics/SidebarWidth/Hint: Die Breite der Leiste bei variabler/fixer Darstellung"
  },
  {
    "path": "languages/de-DE/TiddlerInfo.multids",
    "content": "title: $:/language/TiddlerInfo/\n\nAdvanced/Caption: Erweitert\nAdvanced/PluginInfo/Empty/Hint: Keine\nAdvanced/PluginInfo/Heading: Plugin Details\nAdvanced/PluginInfo/Hint: Dieses Plugin enthält folgende Schatten-Tiddler:\nAdvanced/ShadowInfo/Heading: Schatten Status\nAdvanced/ShadowInfo/NotShadow/Hint: Der Tiddler: <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> ist kein Schatten-Tiddler.\nAdvanced/ShadowInfo/Shadow/Hint: Der Tiddler: <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> ist ein Schatten-Tiddler.\nAdvanced/ShadowInfo/Shadow/Source: Er ist definiert im Plugin: <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>.\nAdvanced/ShadowInfo/OverriddenShadow/Hint: Der originale Schatten-Tiddler wurde durch diesen Tiddler überschrieben. Wenn Sie diesen Tiddler löschen, wird der originale Schatten-Tiddler wieder aktiv. Erstellen Sie vorher eventuell eine Sicherungskopie!\nAdvanced/CascadeInfo/Heading: Kascade Details\nAdvanced/CascadeInfo/Hint: ViewTemplate Kaskade - Filter Segmente getagged: <<tag \"$:/tags/ViewTemplate\">>.\nAdvanced/CascadeInfo/Detail/View: Ansicht\nAdvanced/CascadeInfo/Detail/ActiveCascadeFilter: Filter - Aktive Kascade\nAdvanced/CascadeInfo/Detail/Template: Template\nFields/Caption: Felder\nList/Caption: Liste\nList/Empty: Dieser Tiddler hat kein \"list\" Feld.\nListed/Caption: Gelistet\nListed/Empty: Dieser Tiddler wird nicht von anderen Tiddlern gelistet.\nReferences/Caption: Rückverweise\nReferences/Empty: Kein Tiddler linkt zu diesem Tiddler.\nTagging/Caption: Tagging\nTagging/Empty: Kein Tiddler ist mit diesem Tiddler \"getaggt\".\nTools/Caption: Tools"
  },
  {
    "path": "languages/de-DE/Types/application_javascript.tid",
    "content": "title: $:/language/Docs/Types/application/javascript\ndescription: JS - JavaScript Code\nname: application/javascript\ngroup: Entwickler\ngroup-sort: 2\n"
  },
  {
    "path": "languages/de-DE/Types/application_json.tid",
    "content": "title: $:/language/Docs/Types/application/json\ndescription: JSON - Daten\nname: application/json\ngroup: Entwickler\ngroup-sort: 2\n"
  },
  {
    "path": "languages/de-DE/Types/application_x_tiddler_dictionary.tid",
    "content": "title: $:/language/Docs/Types/application/x-tiddler-dictionary\ndescription: TiddlyWiki Datenkatalog\nname: application/x-tiddler-dictionary\ngroup: Entwickler\ngroup-sort: 2\n"
  },
  {
    "path": "languages/de-DE/Types/image_gif.tid",
    "content": "title: $:/language/Docs/Types/image/gif\ndescription: GIF - Bild\nname: image/gif\ngroup: Bilder\ngroup-sort: 1"
  },
  {
    "path": "languages/de-DE/Types/image_jpeg.tid",
    "content": "title: $:/language/Docs/Types/image/jpeg\ndescription: JPEG - Bild\nname: image/jpeg\ngroup: Bilder\ngroup-sort: 1\n"
  },
  {
    "path": "languages/de-DE/Types/image_png.tid",
    "content": "title: $:/language/Docs/Types/image/png\ndescription: PNG - Portable Netzwerkgrafik\nname: image/png\ngroup: Bilder\ngroup-sort: 1\n"
  },
  {
    "path": "languages/de-DE/Types/image_svg_xml.tid",
    "content": "title: $:/language/Docs/Types/image/svg+xml\ndescription: SVG - Strukturierte Vektor Graphik\nname: image/svg+xml\ngroup: Bilder\ngroup-sort: 1\n"
  },
  {
    "path": "languages/de-DE/Types/text_css.tid",
    "content": "title: $:/language/Docs/Types/text/css\ndescription: CSS - Cascading Style Sheets\nname: text/css\ngroup: Entwickler\ngroup-sort: 2\n"
  },
  {
    "path": "languages/de-DE/Types/text_html.tid",
    "content": "title: $:/language/Docs/Types/text/html\ndescription: HTML - Auszeichnungssprache\nname: text/html\ngroup: Text\ngroup-sort: 0"
  },
  {
    "path": "languages/de-DE/Types/text_plain.tid",
    "content": "title: $:/language/Docs/Types/text/plain\ndescription: TXT - Unformatierter Text\nname: text/plain\ngroup: Text\ngroup-sort: 0"
  },
  {
    "path": "languages/de-DE/Types/text_vnd.tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/vnd.tiddlywiki\ndescription: TW5 - TiddlyWiki Wikitext\nname: text/vnd.tiddlywiki\ngroup: Text\ngroup-sort: 0"
  },
  {
    "path": "languages/de-DE/Types/text_vnd.tiddlywiki_multiple.tid",
    "content": "title: $:/language/Docs/Types/text/vnd.tiddlywiki-multiple\ndescription: Verbund Tiddler\nname: text/vnd.tiddlywiki-multiple\ngroup: Entwickler\ngroup-sort: 2\n"
  },
  {
    "path": "languages/de-DE/plugin.info",
    "content": "{\n\t\"title\": \"$:/languages/de-DE\",\n\t\"name\": \"de-DE\",\n\t\"plugin-type\": \"language\",\n\t\"description\": \"Deutsch (Deutschland)\",\n\t\"author\": \"MarioPietsch aka pmario\",\n\t\"core-version\": \">=5.0.0\",\n\t\"plugin-priority\": 100\n}\n"
  },
  {
    "path": "languages/el-GR/Buttons.multids",
    "content": "title: $:/language/Buttons/\n\nAdvancedSearch/Caption: προηγμένη αναζήτηση\nAdvancedSearch/Hint: Προηγμένη αναζήτηση\nBold/Caption: έντονα\nBold/Hint: Εφάρμοσε μορφοποίηση έντονης γραφής στην επιλογή\nCancel/Caption: άκυρο\nCancel/Hint: Ακύρωσε την τροποποίηση αυτού του tiddler\nClear/Caption: εκκαθάρισε\nClear/Hint: Καθάρισε την εικόνα και αντικαθιστά με συμπαγή χρωματισμό\nClone/Caption: κλωνοποίησε\nClone/Hint: Κλωνοποίησε αυτό το tiddler\nClose/Caption: κλείσε\nClose/Hint: Κλείσε αυτό το tiddler\nCloseAll/Caption: κλείσε τα όλα\nCloseAll/Hint: Κλείσε όλα τα tiddlers\nCloseOthers/Caption: κλείσε τα υπόλοιπα\nCloseOthers/Hint: Κλείσε όλα τα άλλα tiddlers\nControlPanel/Caption: πίνακας ελέγχου\nControlPanel/Hint: Άνοιξε τον πίνακα ελέγχου\nCopyToClipboard/Caption: αντίγραψε στο πρόχειρο\nCopyToClipboard/Hint: Αντίγραψε αυτό το κείμενο στο πρόχειρο\nDelete/Caption: διάγραψε\nDelete/Hint: Διάγραψε αυτό το tiddler\nDeleteTiddlers/Caption: διάγραψε τα tiddlers\nDeleteTiddlers/Hint: Διάγραψε τα tiddlers\nEdit/Caption: τροποποίησε\nEdit/Hint: Τροποποίησε αυτό το tiddler\nEditorHeight/Caption: ύψος επεξεργαστή\nEditorHeight/Caption/Auto: Να ρυθμίζεται το ύψος αυτόματα ώστε να χωράει το περιεχόμενο\nEditorHeight/Caption/Fixed: Προκαθορισμένο ύψος:\nEditorHeight/Hint: Θέσε το ύψος του επεξεργαστή κειμένου\nEmergencyDownload/Caption: λήψη tiddlers σε μορφή json\nEncryption/Caption: κρυπτογράφηση\nEncryption/ClearPassword/Caption: εκκαθάρισε τον κωδικό\nEncryption/ClearPassword/Hint: Απάλειψε τον κωδικό και αποθήκευσε αυτό το wiki χωρίς κρυπτογράφηση\nEncryption/Hint: Όρισε ή απάλειψε το συνθηματικό για την αποθήκευση αυτού του wiki\nEncryption/SetPassword/Caption: όρισε κωδικό\nEncryption/SetPassword/Hint: Ορίζει έναν κωδικό για να να αποθηκεύσεις αυτό το wiki κρυπτογραφημένο\nExcise/Caption: μετακίνησε\nExcise/Caption/Excise: Μετακίνησε το κείμενο\nExcise/Caption/MacroName: Όνομα μακροεντολής:\nExcise/Caption/NewTitle: Τίτλος νέου tiddler:\nExcise/Caption/Replace: Αντικατέστησε το κείμενο που μετακινήθηκε με:\nExcise/Caption/Replace/Link: δεσμό\nExcise/Caption/Replace/Macro: μακροεντολή\nExcise/Caption/Replace/Transclusion: διασυμπερίληψη\nExcise/Caption/Tag: Πρόσθεσε τον τίτλο αυτού του tiddler ως ετικέτα στο νέο tiddler\nExcise/Caption/TiddlerExists: Προειδοποίηση: Το tiddler υπάρχει ήδη\nExcise/DefaultTitle: Νέα αφαίρεση\nExcise/Hint: Μετακίνησε το επιλεγμένο κείμενο σε νέο tiddler\nExportPage/Caption: εξαγωγή όλων\nExportPage/Hint: Κάνε εξαγωγή όλα τα tiddlers\nExportTiddler/Caption: εξαγωγή του tiddler\nExportTiddler/Hint: Κάνε εξαγωγή το tiddler\nExportTiddlers/Caption: εξαγωγή των tiddlers\nExportTiddlers/Hint: Κάνε εξαγωγή τα tiddlers\nFold/Caption: δίπλωσε το tiddler\nFold/FoldBar/Caption: ράβδος διπλώματος\nFold/FoldBar/Hint: Προαιρετικές ράβδοι για να δίπλωνες και να ξεδιπλώνεις τα tiddler\nFold/Hint: Δίπλωσε το κυρίως κείμενο αυτού του tiddler\nFoldAll/Caption: δίπλωσε όλα τα tiddlers\nFoldAll/Hint: Δίπλωσε τα κυρίως κείμενα όλων των ανοιχτών tiddler\nFoldOthers/Caption: δίπλωσε τα υπόλοιπα tiddlers\nFoldOthers/Hint: Δίπλωσε τα κείμενα όλων τον άλλων ανοιχτών tiddlers\nFullScreen/Caption: πλήρης οθόνη\nFullScreen/Hint: Ενάλλαξε λειτουργίας πλήρους οθόνης\nHeading1/Caption: επικεφαλίδα 1\nHeading1/Hint: Εφάρμοσε μορφοποίηση επικεφαλίδας 1 στις επιλεγμένες γραμμές\nHeading2/Caption: επικεφαλίδα 2\nHeading2/Hint: Εφάρμοσε μορφοποίηση επικεφαλίδας 2 στις επιλεγμένες γραμμές\nHeading3/Caption: επικεφαλίδα 3\nHeading3/Hint: Εφάρμοσε μορφοποίηση επικεφαλίδας 3 στις επιλεγμένες γραμμές\nHeading4/Caption: επικεφαλίδα 4\nHeading4/Hint: Εφάρμοσε μορφοποίηση επικεφαλίδας 4 στις επιλεγμένες γραμμές\nHeading5/Caption: επικεφαλίδα 5\nHeading5/Hint: Εφάρμοσε μορφοποίηση επικεφαλίδας 5 στις επιλεγμένες γραμμές\nHeading6/Caption: επικεφαλίδα 6\nHeading6/Hint: Εφάρμοσε μορφοποίηση επικεφαλίδας 6 στις επιλεγμένες γραμμές\nHelp/Caption: βοήθεια\nHelp/Hint: Εμφάνισε το παράθυρο βοήθειας\nHideSideBar/Caption: κρύψε την πλευρική εργαλειοθήκη\nHideSideBar/Hint: Απόκρυψε την πλευρική εργαλειοθήκη\nHome/Caption: αρχική\nHome/Hint: Άνοιξε τα προκαθορισμένα tiddlers\nImport/Caption: εισαγωγή\nImport/Hint: Εισαγωγή διαφόρων τύπων αρχείων όπως αρχεία κειμένου, εικόνας, TiddlyWiki, ή JSON\nInfo/Caption: πληροφορίες\nInfo/Hint: Δείξε πληροφορίες για αυτό το tiddler\nItalic/Caption: πλάγια\nItalic/Hint: Εφάρμοσε πλάγια μορφοποίηση στην επιλογή\nLanguage/Caption: γλώσσα\nLanguage/Hint: Επέλεξε την γλώσσα για το περιβάλλον εργασίας\nLayoutSwitcher/Caption: διάταξη\nLayoutSwitcher/Hint: Άνοιξε τον εναλλακτή διατάξεων\nLineWidth/Caption: πλάτος γραμμής\nLineWidth/Hint: Καθόρισε το πλάτος της γραμμής για βάψιμο\nLink/Caption: δέσμευσε\nLink/Hint: Δημιούργησε δεσμό με wiki-γραφή\nLinkify/Caption: σύνδεσμος wiki\nLinkify/Hint: Περιλάμβανε το επιλεγμένο κείμενο σε αγκύλες\nListBullet/Caption: λίστα με κουκίδες\nListBullet/Hint: Εφάρμοσε μορφοποίηση λίστας με κουκίδες στις επιλεγμένες γραμμές\nListNumber/Caption: αριθμημένη λίστα\nListNumber/Hint: Εφάρμοσε μορφοποίηση αριθμημένης λίστας στις επιλεγμένες γραμμές\nManager/Caption: διαχειριστής tiddler\nManager/Hint: Άνοιξε το εργαλείο διαχείρισης των tiddler\nMonoBlock/Caption: μονοδιαστήματη ενότητα\nMonoBlock/Hint: Εφάρμοσε μορφοποίηση ενομένου μονοδιαστήματου κειμένου στις επιλεγμένες γραμμές\nMonoLine/Caption: μονοδιαστήματα\nMonoLine/Hint: Εφάρμοσε μορφοποίηση μονοδιαστήματων χαρακτήρων στο επιλεγμένο κείμενο\nMore/Caption: περισσότερα\nMore/Hint: Περισσότερες ενέργειες\nNetworkActivity/Caption: δραστηριότητα δικτύου\nNetworkActivity/Hint: Ακύρωσε όλη τη δραστηριότητα δικτύου\nNewHere/Caption: νέο εδώ\nNewHere/Hint: Δημιούργησε ένα νέο tiddler που έχει το τλε tiddler ως ετικέτα του\nNewImage/Caption: νέα εικόνα\nNewImage/Hint: Δημιούργησε ένα νέο tiddler εικόνας\nNewJournal/Caption: νέο ημερολόγιο\nNewJournal/Hint: Δημιούργησε ένα νέο ημερολογιακό tiddler\nNewJournalHere/Caption: νέο ημερολόγιο εδώ\nNewJournalHere/Hint: Δημιούργησε ένα νέο ημερολογιακό tiddler που έχει το τρέχον tiddler ως ετικέτα του\nNewMarkdown/Caption: νέο Markdown tiddler\nNewMarkdown/Hint: Δημιούργησε ένα νέο Markdown tiddler\nNewTiddler/Caption: νέο tiddler\nNewTiddler/Hint: Δημιούργησε ένα νέο tiddler\nOpacity/Caption: αδιαφάνεια\nOpacity/Hint: Καθόρισε τόν βαθμό αδιαφάνειας κατά το βάψιμο\nOpenControlPanel/Hint: Άνοιξε τον πίνακα ελέγχου\nOpenWindow/Caption: άνοιξε σε νέο παράθυρο\nOpenWindow/Hint: Άνοιξε το tiddler σε νέο παράθυρο\nPaint/Caption: χρώμα βαφής\nPaint/Hint: Καθόρισε το χρώμα βαφής\nPalette/Caption: παλέτα\nPalette/Hint: Επέλεξε την παλέτα των χρωμάτων\nPermalink/Caption: μόνιμος σύνδεσμος\nPermalink/Hint: Θέσε άμεσο σύνδεσμο προς αυτό το tiddler στη γραμμή διεύθυνσης του προγράμματος περιήγησης\nPermaview/Caption: μόνιμη όψη\nPermaview/Hint: Θέσε άμεσο σύνδεσμο για όλα τα tiddlers σε αυτήν την ιστορία στην γραμμή διεύθυνσης του προγράμματος περιήγησης\nPicture/Caption: εικόνα\nPicture/Hint: Κάνε εισαγωγή μια εικόνα\nPreview/Caption: προεπισκόπηση\nPreview/Hint: Πρόβαλλε το παράθυρο προεπισκόπησης\nPreviewType/Caption: τύπος προεπισκόπησης\nPreviewType/Hint: Επέλεξε τύπου προεπισκόπησης\nPrint/Caption: τύπωσε σελίδα\nPrint/Hint: Εκτύπωσε την παρόν σελίδα\nQuote/Caption: εισαγωγικά αναφοράς\nQuote/Hint: Εφάρμοσε μορφοποίηση εισαγωγικών αναφοράς κειμένου στις επιλεγμένες γραμμές\nRefresh/Caption: ανανέωση\nRefresh/Hint: Να εκτελέσεις μια πλήρη ανανέωση (επαναφόρτωση) του wiki\nRotateLeft/Caption: περίστρεψε αριστερά\nRotateLeft/Hint: Περίστρεψε την εικόνα αριστεράαπό 90 μοίρες\nSave/Caption: αποθήκευση\nSave/Hint: Αποθήκευσε αυτό το tiddler\nSaveWiki/Caption: αποθήκευσε τις αλλαγές\nSaveWiki/Hint: Κάνε αποθήκευση τις αλλαγές\nShowSideBar/Caption: εμφάνιση εργαλειοθήκης\nShowSideBar/Hint: Εμφάνισε τη πλευρική εργαλειοθήκη\nSidebarSearch/Hint: Επέλεξε την αναζήτηση στη πλευρική εργαλειοθήκη\nSize/Caption: μέγεθος εικόνας\nSize/Caption/Height: Ύψος:\nSize/Caption/Resize: Άλλαξε το μέγεθος της εικόνας\nSize/Caption/Width: Πλάτος:\nSize/Hint: Καθόρισε του μεγέθος της εικόνας\nStamp/Caption: σφραγγίδα\nStamp/Caption/New: Πρόσθεσε τη δική σου\nStamp/Hint: Κάνε εισαγωγή ενός προκαθορισμένου αποσπάσματος κειμένου\nStamp/New/Text: Κείμενο αποσπάσματος. (Να θυμηθείς να προσθέσεις έναν περιγραφικό τίτλο στο πεδίο caption).\nStamp/New/Title: Όνομα που θα εμφανίζεται στον κατάλογο\nStoryView/Caption: ιστορική όψη\nStoryView/Hint: Επέλεξε οπτικοποίηση για την προβολή της ιστορικής ροής\nStrikethrough/Caption: διαγραμμένο\nStrikethrough/Hint: Εφάρμοσε μορφοποίηση διαγραμμένου κειμένου στην επιλογή\nSubscript/Caption: δείκτης / υπογεγραμμένα\nSubscript/Hint: Εφάρμοσε μορφοποίηση δείκτη / υπογεγραμμένων στην επιλογή\nSuperscript/Caption: εκθέτης\nSuperscript/Hint: Εφάρμοσε μορφοποίηση εκθέτη στην επιλογή\nTagManager/Caption: διαχειριστής ετικετών\nTagManager/Hint: Άνοιξε τον διαχειριστή ετικετών\nTestCaseImport/Caption: εισαγωγή tiddlers\nTestCaseImport/Hint: Κάνε εισαγωγή tiddlers\nTheme/Caption: θέμα\nTheme/Hint: Διάλεξε οπτικό θέμα\nTimestamp/Caption: χρονικές σημάνσεις\nTimestamp/Hint: Επέλεξε αν οι τροποποιήσεις θα ενημερώνουν τις χρονικές σημάνσεις\nTimestamp/Off/Caption: χρονικές σημάνσεις εκτός λειτουργίας\nTimestamp/Off/Hint: Να μην ενημερώνονται οι χρονικές σημάνσεις όταν τροποποιούνται τα tiddler\nTimestamp/On/Caption: χρονικές σημάνσεις λειτουργούν\nTimestamp/On/Hint: Οι χρονικές σημάνσεις ενημερώνονται όταν τροποποιούνται τα tiddler\nToggleSidebar/Hint: Ενάλλαξε ορατότητα της πλευρικής εργαλειοθήκης\nTranscludify/Caption: διασυμπερίληψη\nTranscludify/Hint: Περιλάμβανε  το επιλεγμένο κείμενο σε άγκιστρα\nUnderline/Caption: υπογράμμισε\nUnderline/Hint: Εφάρμοσε μορφοποίηση υπογράμμισης στην επιλογή\nUnfold/Caption: ξεδίπλωσε το tiddler\nUnfold/Hint: Ξεδίπλωσε το κυρίως κείμενο αυτού του tiddler\nUnfoldAll/Caption: ξεδίπλωσε όλα τα tiddler\nUnfoldAll/Hint: Ξεδίπλωσε το κυρίως κείμενο σε όλα τα ανοιχτά tiddler\n"
  },
  {
    "path": "languages/el-GR/ControlPanel.multids",
    "content": "title: $:/language/ControlPanel/\n\nAdvanced/Caption: Προηγμένα\nAdvanced/Hint: Εσωτερικές πληροφορίες σχετικά με αυτό το TiddlyWiki\nAppearance/Caption: Εμφάνιση\nAppearance/Hint: Τρόποι για να παραμετροποιήσεις την εμφάνιση του TiddlyWiki σου\nBasics/AnimDuration/Prompt: Διάρκεια κινούμενων εφέ\nBasics/Caption: Βασικά\nBasics/DefaultTiddlers/BottomHint: Χρησιμοποίησε &#91;&#91;διπλές αγκύλες&#93;&#93; για τίτλους με κενά. Ή, μπορείς να διαλέξεις να {{διατηρήσεις τη διάταξη της ιστορίας||$:/snippets/retain-story-ordering-button}}\nBasics/DefaultTiddlers/Prompt: Προκαθορισμένα tiddlers\nBasics/DefaultTiddlers/TopHint: Επέλεξε τα tiddler που θα εμφανίζονται κατά την έναρξη\nBasics/Language/Prompt: Γεια! Τρέχουσα γλώσσα:\nBasics/NewJournal/Tags/Prompt: Ετικέτες για νέα ημερολογιακά tiddlers\nBasics/NewJournal/Text/Prompt: Κείμενο για νέα ημερολογιακά tiddlers\nBasics/NewJournal/Title/Prompt: Τίτλος για νέα ημερολογιακά tiddlers\nBasics/NewTiddler/Tags/Prompt: Ετικέτες για νέα tiddlers\nBasics/NewTiddler/Title/Prompt: Τίτλος για νέα tiddlers\nBasics/OverriddenShadowTiddlers/Prompt: Απαρίθμηση σκιώδων tiddlers που έχουν παρακαμφθεί\nBasics/RemoveTags: Ενημέρωση στην πιο πρόσφατη μορφή\nBasics/RemoveTags/Hint: Ενημέρωση τη διαμόρφωση των ετικετών στην πιο πρόσφατη μορφή\nBasics/ShadowTiddlers/Prompt: Απαρίθμηση των σκιώδων tiddlers\nBasics/Subtitle/Prompt: Υπότιτλος\nBasics/SystemTiddlers/Prompt: Απαρίθμηση των tiddlers συστήματος\nBasics/Tags/Prompt: Αριθμός ετικετών\nBasics/Tiddlers/Prompt: Απαρίθμηση των tiddlers\nBasics/Title/Prompt: Τίτλος αυτού του ~TiddlyWiki\nBasics/Username/Prompt: Όνομα χρήστη για την υπογραφή των τροποποιήσεων\nBasics/Version/Prompt: Έκδοση ~TiddlyWiki\nCascades/Caption: Συζεύξεις\nCascades/Hint: Αυτοί οι καθολικοί κανόνες χρησιμοποιούνται για τη δυναμική επιλογή ορισμένων προτύπων. Το αποτέλεσμα της σύζευξης είναι το αποτέλεσμα του πρώτου φίλτρου στην ακολουθία που επιστρέφει αποτέλεσμα.\nCascades/TagPrompt: Φίλτρα με ετικέτα <$macrocall $name=\"tag\" tag=<<currentTiddler>>/>\nEditorTypes/Caption: Τύποι Επεξεργαστών\nEditorTypes/Editor/Caption: Επεξεργαστής\nEditorTypes/Hint: Αυτά τα tiddlers καθορίζουν τον επεξεργαστή που θα χρησιμοποιηθεί για την επεξεργασία συγκεκριμένων τύπων tiddler.\nEditorTypes/Type/Caption: Τύπος\nEditTemplateBody/Caption: Κυρίως Κείμενο Προτύπου Επεξεργασίας\nEditTemplateBody/Hint: Αυτή η σύζευξη κανόνων χρησιμοποιείται από το προεπιλεγμένο πρότυπο επεξεργασίας για να επιλέξει δυναμικά το πρότυπο για την επεξεργασία του κυρίως κειμένου ενός tiddler.\nFieldEditor/Caption: Επεξεργαστής Πεδίων\nFieldEditor/Hint: Αυτή η σύζευξη κανόνων χρησιμοποιείται για να επελεκτεί δυναμικά το πρότυπο για την απόδοση ενός πεδίου tiddler, με βάση το όνομά του. Χρησιμοποιείται εντός του Προτύπου Επεξεργασίας.\nInfo/Caption: Πληροφορίες\nInfo/Hint: Πληροφορίες σχετικα με αυτό το TiddlyWiki\nKeyboardShortcuts/Add/Caption: πρόσθεσε συντόμευση\nKeyboardShortcuts/Add/Prompt: Πληκτρολόγησε εδώ την συντόμευση\nKeyboardShortcuts/Caption: Συντομεύσεις Πληκτρολογίου\nKeyboardShortcuts/Hint: Διαχείριση των αντιστοιχίσεων στις συντομεύσεις πληκτρολογίου\nKeyboardShortcuts/NoShortcuts/Caption: Δεν έχουν αντιστοιχηθεί συντομεύσεις πληκτρολογίου\nKeyboardShortcuts/Platform/All: Όλες οι πλατφόρμες\nKeyboardShortcuts/Platform/Linux: Μόνο για πλατφόρμα Linux\nKeyboardShortcuts/Platform/Mac: Μόνο για πλατφόρμα Macintosh\nKeyboardShortcuts/Platform/NonLinux: Μόνο για πλατφόρμες εκτός του Linux\nKeyboardShortcuts/Platform/NonMac: Μόνο για πλατφόρμες εκτός του Macintosh\nKeyboardShortcuts/Platform/NonWindows: Μόνο για πλατφόρμες εκτός του Windows\nKeyboardShortcuts/Platform/Windows: Μόνο για πλατφόρμα Windows\nKeyboardShortcuts/Remove/Hint: αφαίρεσε την συντόμευση\nLayoutSwitcher/Caption: Διάταξη\nLoadedModules/Caption: Φορτωμένες Μονάδες\nLoadedModules/Hint: Αυτές είναι οι τρέχουσες φορτωμένες tiddler μονάδας που συνδέονται με τα αντίστοιχα τους πηγαία tiddler. Οι μονάδες σε πλάγια γραγή δεν έχουν πηγαίο tiddler, συνήθως επειδή αρχικοποιούνται κατά την διαδικασία εκκίνησης.\nPalette/Caption: Παλέτα\nPalette/Editor/Clone/Caption: κλωνοποίησε\nPalette/Editor/Clone/Prompt: Συνιστάτε να κλωνοποιήσεις αυτήν τη σκιώδη παλέτα πριν τη τροποποιήσεις\nPalette/Editor/Delete/Hint: διαγραφή αυτήν τη καταχώρηση από την τρέχουσα παλέτα\nPalette/Editor/Names/External/Show: Εμφάνιση ονομάτων χρωμάτων που δεν αποτελούν μέρος της τρέχουσας παλέτας\nPalette/Editor/Prompt: Τροποποιείς\nPalette/Editor/Prompt/Modified: Αυτή η σκιώδη παλέτα έχει τροποποιηθεί\nPalette/Editor/Reset/Caption: επαναφορά\nPalette/HideEditor/Caption: απόκρυψη επεξεργαστή\nPalette/Prompt: Τρέχουσα παλέτα:\nPalette/ShowEditor/Caption: εμφάνισε τον επεξεργαστή\nParsing/Block/Caption: Κανόνες Συντακτικής Ανάλυσης Τμημάτων\nParsing/Caption: Συντακτική Ανάλυση\nParsing/Hint: Εδώ μπορείς να ενεργοποιήσεις ή να απενεργοποιήσεις καθολικά τους κανόνες τις συντακτικής ανάλυσης του wiki. Για να εφαρμοστούν οι αλλαγές σου, αποθήκευσε και επαναφόρτωσε το wiki.  Η απενεργοποίηση συγκεκριμένων κανόνων συντακτικής ανάλυσης ενδέχεται να δημιουργήσει πρόβλημα στην ορθή λειτουργία του <$text text=\"TiddlyWiki\"/>. Χρησιμοποίησε [[ασφαλής λειτουργία|https://tiddlywiki.com/#SafeMode]] για να επανέλθεις στην κανονική λειτουργία..\nParsing/Inline/Caption: Ενσωματωμένοι Κανόνες Συντακτικής Ανάλυσης\nParsing/Pragma/Caption: Κανόνες Συντακτικής Ανάλυσης Για Pragma\nPlugins/Add/Caption: Απόκτησε περισσότερα πρόσθετα\nPlugins/Add/Hint: Εγκατέστησε πρόσθετα από την επίσημη βιβλιοθήκη\nPlugins/AlreadyInstalled/Hint: Το πρόσθετο αυτό έχει ήδη εγκατασταθεί με την έκδοση <$text text=<<installedVersion>>/>\nPlugins/AlsoRequires: Επίσης απαιτεί:\nPlugins/Caption: Πρόσθετα\nPlugins/ClosePluginLibrary: Κλείσε τη βιβλιοθήκη πρόσθετων\nPlugins/Disable/Caption: απενεργοποίησε\nPlugins/Disable/Hint: Να απενεργοποιηθεί αυτό το πρόσθετο όταν φορτωθεί ξανά η σελίδα\nPlugins/Disabled/Status: (απενεργοποιημένο)\nPlugins/Downgrade/Caption: υποβάθμισε\nPlugins/Empty/Hint: Κανένα\nPlugins/Enable/Caption: ενεργοποίησε\nPlugins/Enable/Hint: Ενεργοποίησε αυτό το πρόσθετο όταν φορτωθεί ξανά η σελίδα\nPlugins/Install/Caption: εγκατέστησε\nPlugins/Installed/Hint: Τρέχοντα εγκατεστημένα πρόσθετα:\nPlugins/Language/Prompt: Γλώσσες\nPlugins/Languages/Caption: Γλώσσες\nPlugins/Languages/Hint: Πρόσθετα πακέτα γλώσσας\nPlugins/NoInfoFound/Hint: Δεν βρέθηκε το ''«<$text text=<<currentTab>>/>»''\nPlugins/NoInformation/Hint: Δεν παρέχονται πληροφορίες\nPlugins/NotInstalled/Hint: Το πρόσθετο αυτό δεν είναι εγκατεστημένο\nPlugins/OpenPluginLibrary: Άνοιξε την βιβλιοθήκη πρόσθετων\nPlugins/Plugin/Prompt: Πρόσθετα\nPlugins/Plugins/Caption: Πρόσθετα\nPlugins/Plugins/Hint: Πρόσθετα\nPlugins/PluginWillRequireReload: (απαιτείται επαναφόρτωση)\nPlugins/Reinstall/Caption: επανεγκατέστησε\nPlugins/Stability/Deprecated: ΥΠΟ ΑΠΟΣΥΡΣΗ\nPlugins/Stability/Experimental: ΠΕΙΡΑΜΑΤΙΚΟ\nPlugins/Stability/Legacy: ΠΑΡΩΧΗΜΕΝΟ\nPlugins/Stability/Stable: ΣΤΑΘΕΡΟ\nPlugins/SubPluginPrompt: Με <<count>> διαθέσιμα δευτερεύοντα πρόσθετα\nPlugins/Theme/Prompt: Θέματα\nPlugins/Themes/Caption: Θέματα\nPlugins/Themes/Hint: Πρόσθετα θέματα\nPlugins/Update/Caption: ενημέρωσε\nPlugins/Updates/Caption: Ενημερώσεις\nPlugins/Updates/Hint: Διαθέσιμες ενημερώσεις για εγκατεστημένα πρόσθετα\nPlugins/Updates/UpdateAll/Caption: Ενημέρωσε <<update-count>> πρόσθετα\nSaving/Caption: Αποθηκεύεται\nSaving/DownloadSaver/AutoSave/Description: Επέτρεψε αυτόματη αποθήκευση για τον Αποθηκευτή Λήψης\nSaving/DownloadSaver/AutoSave/Hint: Ενεργοποιεί την αυτόματη αποθήκευση στον Αποθηκευτή Λήψης\nSaving/DownloadSaver/Caption: Αποθηκευτής Λήψης\nSaving/DownloadSaver/Hint: Αυτές οι ρυθμίσεις εφαρμόζονται στον Αποθηκευτή Λήψεων, ο οποίος είναι συμβατός με  HTML5\nSaving/General/Caption: Γενικά\nSaving/General/Hint: Αυτές οι ρυθμίσεις εφαρμόζονται σε όλους τους φορτωμένους αποθηκευτές\nSaving/GitService/Branch: Διακλάδωση προορισμού για αποθήκευση\nSaving/GitService/CommitMessage: Αποθηκεύτηκε από το TiddlyWiki\nSaving/GitService/Description: Αυτές οι ρυθμίσεις χρησιμοποιούνται μόνο κατά την αποθήκευση στο <<service-name>>\nSaving/GitService/Filename: Όνομα αρχείου προορισμού (π.χ. `index.html`)\nSaving/GitService/Gitea/Caption: Αποθηκευτής Gitea\nSaving/GitService/Gitea/Password: Προσωπικό διακριτικό πρόσβασης για API (μέσω της διεπαφής ιστού του Gitea: `Ρυθμίσεις | Εφαρμογές | Δημιουργία Νέου Διακριτικού`)\nSaving/GitService/GitHub/Caption: Αποθηκευτής ~GitHub\nSaving/GitService/GitHub/Password: Κωδικός πρόσβασης, διακριτικό ~OAuth ή προσωπικό διακριτικό πρόσβασης (δες τη [[σελίδα βοήθειας GitHub|https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line]] για λεπτομέρειες)\nSaving/GitService/GitLab/Caption: Αποθηκευτής ~GitLab\nSaving/GitService/GitLab/Password: Προσωπικό διακριτικό πρόσβασης για το API (δες τη [[σελίδα βοήθειας του GitLab|https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html]] για λεπτομέρειες)\nSaving/GitService/Path: Διαδρομή για αρχείο προορισμού (π.χ. `/wiki/`)\nSaving/GitService/Repo: Αποθητήριο προορισμού (π.χ. `Jermolene/TiddlyWiki5`)\nSaving/GitService/ServerURL: URL του API του διακομιστή\nSaving/GitService/UserName: Όνομα χρήστη\nSaving/Heading: Αποθήκευση\nSaving/Hint: Ρυθμίσεις που χρησιμοποιούνται για την αποθήκευση ολόκληρου του TiddlyWiki σε ένα αυτοτελής αρχείο μέσω μιας μονάδας αποθήκευσης\nSaving/TiddlySpot/Advanced/Heading: Προηγμένες Ρυθμίσεις\nSaving/TiddlySpot/BackupDir: Φάκελος Αντιγράφων Ασφαλείας\nSaving/TiddlySpot/Backups: Αντίγραφα Ασφαλείας\nSaving/TiddlySpot/Caption: Αποθηκευτής ~TiddlyHost\nSaving/TiddlySpot/ControlPanel: Πίνακας Ελέγχου ~TiddlyHost\nSaving/TiddlySpot/Description: Αυτές οι ρυθμίσεις χρησιμοποιούνται μόνο όταν γίνεται αποθήκευση στο [[TiddlyHost|https://tiddlyhost.com]], ή σε συμβατό απομακρυσμένο εξυπηρετητή. Δες [[τεκμηρίωση στο GitHub|https://github.com/simonbaird/tiddlyhost/wiki/TiddlySpot-Saver-configuration-for-Tiddlyhost-and-Tiddlyspot]] για πληροφορίες περί την ρύθμιση της αποθήκευσης στο ~TiddlyHost\nSaving/TiddlySpot/Filename: Αποστολή Αρχείου Με Όνομα\nSaving/TiddlySpot/Heading: ~TiddlyHost\nSaving/TiddlySpot/Hint: //Το τυπικό URL του εξυπηρετητή είναι  `http://<όνομαwiki>.tiddlyspot.com/` και μπορεί να αλλαχθεί για να χρησιμοποιεί διαφορετική διεύθυνση εξυπηρετητή, π.χ.  `http://παράδειγμα.com/store.php`.//\nSaving/TiddlySpot/Password: Κωδικός\nSaving/TiddlySpot/ServerURL: URL Διακομιστή\nSaving/TiddlySpot/UploadDir: Αποστολή Σε Φάκελο\nSaving/TiddlySpot/UserName: Όνομα Wiki\nSettings/AutoSave/Caption: Αυτόματη Αποθήκευση\nSettings/AutoSave/Disabled/Description: Μην αποθηκεύσεις αυτόματα τις αλλαγές\nSettings/AutoSave/Enabled/Description: Αποθήκευσε αυτόματα τις αλλαγές\nSettings/AutoSave/Hint: Προσπάθησε να αποθηκεύσεις αυτόματα τις αλλαγές κατά την επεξεργασία, όταν χρησιμοποιώ αποθηκευτή που το υποστηρίζει\nSettings/CamelCase/Caption: Σύνδεσμοι Σε Γραφή Με Ενδιάμεσα Κεφαλαία (Camel Case)\nSettings/CamelCase/Description: Ενεργοποίηση αυτόματης δημιουργίας συνδέσμων ~CamelCase\nSettings/CamelCase/Hint: Απαιτείται επαναφόρτωση για να εφαρμοστεί\nSettings/Caption: Ρυθμίσεις\nSettings/DefaultMoreSidebarTab/Caption: Προκαθορισμένη Καρτέλα «Περισσότερα» Της Πλευρικής Εργαλειοθήκης\nSettings/DefaultMoreSidebarTab/Hint: Καθόρισε ποιες καρτέλες εμφανίζεται από προεπιλογή υπό «Περισσότερα» στη πλευρική εργαλειοθήκη\nSettings/DefaultSidebarTab/Caption: Προκαθορισμένη Καρτέλα Πλευρικής Εργαλειοθήκης\nSettings/DefaultSidebarTab/Hint: Καθόρισε ποια καρτέλα της πλευρικής εργαλειοθήκης εμφανίζεται αυτομάτως\nSettings/DefaultTiddlerInfoTab/Caption: Προκαθορισμένη Καρτέλα Στον Πίνακα Πληροφοριών\nSettings/DefaultTiddlerInfoTab/Hint: Καθόρισε ποια καρτέλα στον πίνακα πληροφοριών εμφανίζεται αυτομάτως\nSettings/EditorToolbar/Caption: Εργαλειοθήκη Επεξεργασίας\nSettings/EditorToolbar/Description: Προβολή εργαλειοθήκης επεξεργασίας\nSettings/EditorToolbar/Hint: Ενεργοποίησε ή απενεργοποίησε την εργαλειοθήκη επεξεργασίας:\nSettings/Hint: Αυτές οι ρυθμίσεις σου επιτρέπουν να προσαρμόσεις την συμπεριφορά του TiddlyWiki.\nSettings/InfoPanelMode/Caption: Λειτουργία Πίνακα Πληροφοριών Tiddler\nSettings/InfoPanelMode/Hint: Ελέγχει το πότε θα κλείνει ο πίνακας πληροφοριών του tiddler:\nSettings/InfoPanelMode/Popup/Description: Ο πίνακας πληροφοριών του tiddler κλείνει αυτόματα\nSettings/InfoPanelMode/Sticky/Description: Ο πίνακας πληροφοριών του tiddler παραμένει ανοιχτός εκτός εάν είναι κλειστεί επίτηδες\nSettings/LinkToBehaviour/Caption: Συμπεριφορά Ανοίγματος Του Tiddler\nSettings/LinkToBehaviour/InsideRiver/Hint: Πλοήγηση από //εντός// της ροής της ιστορίας\nSettings/LinkToBehaviour/OpenAbove: Άνοιγμα πάνω από το παρόν tiddler\nSettings/LinkToBehaviour/OpenAtBottom: Άνοιγμα στο κάτω μέρος της ροής της ιστορίας\nSettings/LinkToBehaviour/OpenAtTop: Άνοιγμα στο άνω μέρος της ροής της ιστορίας\nSettings/LinkToBehaviour/OpenBelow: Άνοιγμα κάτω από το παρόν tiddler\nSettings/LinkToBehaviour/OutsideRiver/Hint: Πλοήγηση από //εκτός// της ροής της ιστορίας\nSettings/MissingLinks/Caption: Σύνδεσμοι Wiki\nSettings/MissingLinks/Description: Ενεργοποίηση συνδέσμων σε μη υπαρκτά tiddlers\nSettings/MissingLinks/Hint: Επέλεξε αν επιτρέπεται να προσθέσεις συνδέσμους σε tiddler που δεν έχουν ακόμα δημιουργηθεί\nSettings/NavigationAddressBar/Caption: Γραμμή Διευθύνσεων Του Περιηγητή\nSettings/NavigationAddressBar/Hint: Η συμπεριφορά της γραμμής διεύθυνσης του προγράμματος περιήγησης όταν μεταβαίνεις σε κάποιο tiddler:\nSettings/NavigationAddressBar/No/Description: Μην ενημερώνεις την γραμμή διευθύνσεων\nSettings/NavigationAddressBar/Permalink/Description: Συμπεριέλαβε το tiddler προορισμού\nSettings/NavigationAddressBar/Permaview/Description: Συμπεριέλαβε το tiddler προορισμού και τη τρέχουσα ακολουθία της ιστορίας\nSettings/NavigationHistory/Caption: Ιστορικό Περιήγησης\nSettings/NavigationHistory/Hint: Ενημέρωση του ιστορικού στο πρόγραμμα περιήγησης όταν μεταβαίνεις σε κάποιο tiddler:\nSettings/NavigationHistory/No/Description: Μην ενημερώνεις το ιστορικό\nSettings/NavigationHistory/Yes/Description: Ενημέρωνε το ιστορικό\nSettings/NavigationPermalinkviewMode/Caption: Λειτουργία Μόνιμου Σύνδεσμου/Μόνιμης Όψης\nSettings/NavigationPermalinkviewMode/CopyToClipboard/Description: Αντέγραψε το URL μόνιμου συνδέσμου/μόνιμης όψης στο πρόχειρο\nSettings/NavigationPermalinkviewMode/Hint: Επέλεξε πως χειρίζονται οι μόνιμοι σύνδεσμοι/μόνιμες όψεις:\nSettings/NavigationPermalinkviewMode/UpdateAddressBar/Description: Ενημέρωσε τη γραμμή διευθύνσεων με URL μόνιμου συνδέσμου/μόνιμης όψης\nSettings/PerformanceInstrumentation/Caption: Επισκόπηση Επιδόσεων\nSettings/PerformanceInstrumentation/Description: Ενεργοποίησε τα όργανα επισκόπησης για την επίδοση\nSettings/PerformanceInstrumentation/Hint: Εμφανίζει στατιστικά στοιχεία επίδοσης στην κονσόλα προγραμματιστών του προγράμματος περιήγησης. Απαιτείται επαναφόρτωση της σελίδας για να ενεργοποιηθεί.\nSettings/RecentLimit/Caption: Όριο Στην Καρτέλα «Προσφάτα»\nSettings/RecentLimit/Hint: Μέγιστος αριθμός tiddlers που θα εμφανίζονται υπό την καρτέλα «Πρόσφατα» της πλευρικής εργαλιοθήκης\nSettings/TitleLinks/Caption: Τίτλοι Των Tiddler\nSettings/TitleLinks/Hint: Προαιρετικά εμφάνισε τους τίτλους των  tiddler ως συνδέσμους\nSettings/TitleLinks/No/Description: Να μην εμφανίζονται οι τίτλοι των tiddler ως σύνδεσμοι\nSettings/TitleLinks/Yes/Description: Να εμφανίζονται οι τίτλοι των tiddler ως σύνδεσμοι\nSettings/ToolbarButtons/Caption: Κουμπιά Εργαλειοθηκών\nSettings/ToolbarButtons/Hint: Τυπική εμφάνιση κουμπιού γραμμής εργαλείων:\nSettings/ToolbarButtons/Icons/Description: Συμπεριέλαβε εικόνα\nSettings/ToolbarButtons/Text/Description: Συμπεριέλαβε κείμενο\nSettings/ToolbarButtonStyle/Caption: Στυλ Κουμπιών Εργαλειοθήκης\nSettings/ToolbarButtonStyle/Hint: Επέλεξε το ύφος των κουμπιών της εργαλειοθήκης:\nSettings/ToolbarButtonStyle/Styles/Borderless: Χωρίς περιθώρια\nSettings/ToolbarButtonStyle/Styles/Boxed: Εγκιβωτισμένα\nSettings/ToolbarButtonStyle/Styles/Rounded: Στρογγυλοποιημένα\nSocialCard/Caption: Κάρτα Κοινωνικών Δικτύων\nSocialCard/Domain/Prompt: Domain name (όνομα τομέα) που θα εμφανίζεται για τον σύνδεσμο (για παράδειγμα ''tiddlywiki.com'')\nSocialCard/Hint: Αυτές οι πληροφορίες χρησιμοποιούνται από τις υπηρεσίες κοινωνικής δικτύωσης και ανταλλαγής μηνυμάτων για να εμφανίσουν κάρτα προεπισκόπησης για συνδέσμους προς αυτό το ~TiddlyWiki, όταν το wiki φιλοξενείται στο διαδίκτυο\nSocialCard/PreviewUrl/Preview: Εικόνα προεπισκόπησης:\nSocialCard/PreviewUrl/Prompt: Πλήρης διεύθυνση URL προς εικόνα προεπισκόπηση για αυτό το ~TiddlyWiki\nSocialCard/Url/Prompt: Πλήρης διεύθυνση URL για αυτό το ~TiddlyWiki\nStoryTiddler/Caption: Tiddler Ιστορίας\nStoryTiddler/Hint: Αυτή η σύζευξη κανόνων χρησιμοποιείται για να επελεκτεί δυναμικά το πρότυπο για τη προβολή του tiddler στην ιστορική ροή.\nStoryView/Caption: Ιστορική Όψη\nStoryView/Prompt: Τρέχουσα όψη:\nStylesheets/Caption: Φύλλα στυλ (stylesheets)\nStylesheets/Expand/Caption: Ανάπτυξη Όλων\nStylesheets/Hint: Αυτό είναι το CSS που αποδίδεται από τα τρέχοντα tiddlers φύλλου στυλ που έχουν την ετικέτα <<tag \"$:/tags/Stylesheet\">>\nStylesheets/Restore/Caption: Επαναφορά\nTestCases/All/Caption: Όλες οι Δοκιμαστικές Περιπτώσεις\nTestCases/All/Hint: Όλες οι Δοκιμαστικές Περιπτώσεις\nTestCases/Caption: Δοκιμαστικές Περιπτώσεις\nTestCases/Failed/Caption: Αποτυχημένες Δοκιμαστικές Περιπτώσεις\nTestCases/Failed/Hint: Μόνο Αποτυχημένες Δοκιμαστικές Περιπτώσεις\nTestCases/Hint: Οι δοκιμαστικές περιπτώσεις είναι αυτοτελή παραδείγματα για δοκιμές και μάθηση\nTheme/Caption: Θέμα\nTheme/Prompt: Τρέχον θέμα:\nTiddlerColour/Caption: Χρώμα Tiddler\nTiddlerColour/Hint: Αυτή η σύζευξη κανόνων χρησιμοποιείται για τη δυναμική επιλογή του χρώματος ενός tiddler (χρησιμοποιείται για το εικονίδιο και το συσχετισμένο χάπι ετικέτας).\n\nTiddlerFields/Caption: Πεδία Tiddler\nTiddlerFields/Hint: Αυτή είναι πλήρης καταχώριση από TiddlerFields που χρησιμοποιούνται σε αυτό το wiki· συμπεριλαμβάνονται τα tiddler συστήματος, αλλά εξαιρούνται τα σκιώδη tiddler.\nTiddlerIcon/Caption: Εικονίδιο Tiddler\nTiddlerIcon/Hint: Αυτή η σύζευξη κανόνων χρησιμοποιείται για να επελεκτεί δυναμικά το εικονίδιο για τα tiddler.\nToolbars/Caption: Γραμμές Εργαλείων\nToolbars/EditorToolbar/Caption: Εργαλειοθήκη Επεξεργασίας\nToolbars/EditorToolbar/Hint: Επέλεξε ποια κουμπιά θα εμφανίζονται στην εργαλειοθήκη επεξεργασίας. Σημειώνουμε πως μερικά κουμπιά θα εμφανίζονται μόνο όταν επεξεργαστείς tiddler συγκεκριμένων τύπων. Μπορείς να αλλάξεις την σειρά με μεταφορά και απόθεση\nToolbars/EditToolbar/Caption: Εργαλειοθήκη Τροποποιήσεων\nToolbars/EditToolbar/Hint: Επιλέξτε ποια κουμπιά θα εμφανίζονται στα tiddler που βρίσκονται σε κατάσταση τροποποίησης. Μπορείς να αλλάξεις την σειρά με μεταφορά και απόθεση\nToolbars/Hint: Επιλέξτε ποια κουμπιά της γραμμής εργαλείων θα εμφανίζονται\nToolbars/PageControls/Caption: Εργαλειοθήκη Σελίδας\nToolbars/PageControls/Hint: Επέλεξε ποια κουμπιά θα εμφανίζονται στην κύρια εργαλειοθήκη της σελίδας. Μπορείς να αλλάξεις την σειρά με μεταφορά και απόθεση\nToolbars/ViewToolbar/Caption: Εργαλειοθήκη Προβολής\nToolbars/ViewToolbar/Hint: Επιλέξτε ποια κουμπιά θα εμφανίζονται για tiddler σε κατάσταση προβολής. Μπορείς να αλλάξεις την σειρά με μεταφορά και απόθεση\nTools/Download/Full/Caption: Λήψη του πλήρους wiki\nViewTemplateBody/Caption: Κυρίως Κείμενο Προτύπου Προβολής\nViewTemplateBody/Hint: Αυτή η σύζευξη κανόνων χρησιμοποιείται από το προεπιλεγμένο πρότυπο προβολής ώστε να επιλέξει δυναμικά το πρότυπο για να προβάλλει το κυρίως κείμενο ενός tiddler.\nViewTemplateSubtitle/Caption: Υπότιτλος Προτύπου Προβολής\nViewTemplateSubtitle/Hint: Αυτή η σύζευξη κανόνων χρησιμοποιείται από το προεπιλεγμένο πρότυπο προβολής ώστε να επιλέξει δυναμικά το πρότυπο για να προβάλλει τον υπότιτλο ενός tiddler.\nViewTemplateTags/Caption: Ετικέτες Προτύπου Προβολής\nViewTemplateTags/Hint: Αυτή η σύζευξη κανόνων χρησιμοποιείται από το προεπιλεγμένο πρότυπο προβολής ώστε να επιλέξει δυναμικά το πρότυπο για να προβάλλει την ενότητα με ετικέτες ενός tiddler.\nViewTemplateTitle/Caption: Τίτλοι Προτύπου Προβολής\nViewTemplateTitle/Hint: Αυτή η σύζευξη κανόνων χρησιμοποιείται από το προεπιλεγμένο πρότυπο προβολής ώστε να επιλέξει δυναμικά το πρότυπο για να προβάλλει τον τίτλο ενός tiddler.\n"
  },
  {
    "path": "languages/el-GR/CoreReadMe.tid",
    "content": "title: $:/core/readme\n\nΑυτό το πρόσθετο περιέχει συστατικά του πυρήνα του TiddlyWiki, αποτελούμενα από:\n\n* Ενότητες κώδικα JavaScript\n* Εικονίδια\n* Πρότυπα που απαιτούνται για τη δημιουργία του γραφικού περιβάλλοντος του TiddlyWiki's \n* Μετάφραση στα βρετανικά αγγλικά  (''en-GB'') των μεταφραζόμενων κειμένων που χρησιμοποιούνται από τον πυρήνα"
  },
  {
    "path": "languages/el-GR/Dates.multids",
    "content": "title: $:/language/\n\nDate/DaySuffix/1: η\nDate/DaySuffix/10: η\nDate/DaySuffix/11: η\nDate/DaySuffix/12: η\nDate/DaySuffix/13: η\nDate/DaySuffix/14: η\nDate/DaySuffix/15: η\nDate/DaySuffix/16: η\nDate/DaySuffix/17: η\nDate/DaySuffix/18: η\nDate/DaySuffix/19: η\nDate/DaySuffix/2: η\nDate/DaySuffix/20: η\nDate/DaySuffix/21: η\nDate/DaySuffix/22: η\nDate/DaySuffix/23: η\nDate/DaySuffix/24: η\nDate/DaySuffix/25: η\nDate/DaySuffix/26: η\nDate/DaySuffix/27: η\nDate/DaySuffix/28: η\nDate/DaySuffix/29: η\nDate/DaySuffix/3: η\nDate/DaySuffix/30: η\nDate/DaySuffix/31: η\nDate/DaySuffix/4: η\nDate/DaySuffix/5: η\nDate/DaySuffix/6: η\nDate/DaySuffix/7: η\nDate/DaySuffix/8: η\nDate/DaySuffix/9: η\nDate/Long/Day/0: Κυριακή\nDate/Long/Day/1: Δευτέρα\nDate/Long/Day/2: Τρίτη\nDate/Long/Day/3: Τετάρτη\nDate/Long/Day/4: Πέμπτη\nDate/Long/Day/5: Παρασκευή\nDate/Long/Day/6: Σάββατο\nDate/Long/Month/1: Ιανουαρίου\nDate/Long/Month/10: Οκτωβρίου\nDate/Long/Month/11: Νοεμβρίου\nDate/Long/Month/12: Δεκεμβρίου\nDate/Long/Month/2: Φεβρουαρίου\nDate/Long/Month/3: Μαρτίου\nDate/Long/Month/4: Απριλίου\nDate/Long/Month/5: Μαΐου\nDate/Long/Month/6: Ιουνίου\nDate/Long/Month/7: Ιουλίου\nDate/Long/Month/8: Αυγούστου\nDate/Long/Month/9: Σεπτεμβρίου\nDate/Period/am: π.μ.\nDate/Period/pm: μ.μ.\nDate/Short/Day/0: Κυ\nDate/Short/Day/1: Δε\nDate/Short/Day/2: Τρ\nDate/Short/Day/3: Τε\nDate/Short/Day/4: Πε\nDate/Short/Day/5: Πα\nDate/Short/Day/6: Σα\nDate/Short/Month/1: Ιαν\nDate/Short/Month/10: Οκτ\nDate/Short/Month/11: Νοε\nDate/Short/Month/12: Δεκ\nDate/Short/Month/2: Φεβ\nDate/Short/Month/3: Μάρ\nDate/Short/Month/4: Απρ\nDate/Short/Month/5: Μάι\nDate/Short/Month/6: Ιούν\nDate/Short/Month/7: Ιούλ\nDate/Short/Month/8: Αύγ\nDate/Short/Month/9: Σεπ\nRelativeDate/Future/Days: <<period>> ημέρες από τώρα\nRelativeDate/Future/Hours: <<period>> ώρες από τώρα\nRelativeDate/Future/Minutes: <<period>> λεπτά από τώρα\nRelativeDate/Future/Months: <<period>> μήνες από τώρα\nRelativeDate/Future/Second: 1 δευτερόλεπτο από τώρα\nRelativeDate/Future/Seconds: <<period>> δευτερόλεπτα από τώρα\nRelativeDate/Future/Years: <<period>> έτη από τώρα\nRelativeDate/Past/Days: <<period>> ημέρες μέχρι τώρα\nRelativeDate/Past/Hours: <<period>> ώρες μέχρι τώρα\nRelativeDate/Past/Minutes: <<period>> λεπτά μέχρι τώρα\nRelativeDate/Past/Months: <<period>> μήνες μέχρι τώρα\nRelativeDate/Past/Second: 1 δευτερόλεπτο μέχρι τώρα\nRelativeDate/Past/Seconds: <<period>> δευτερόλεπτα μέχρι τώρα\nRelativeDate/Past/Years: <<period>> έτη μέχρι τώρα\n"
  },
  {
    "path": "languages/el-GR/Docs/ModuleTypes.multids",
    "content": "title: $:/language/Docs/ModuleTypes/\n\nallfilteroperator: Ένας υπο-τελεστής για τον τελεστή φιλτραρίσματος  ''all''.\nanimation: Κινούμενες εικόνες που μπορεί να χρησιμοποιηθούν με το RevealWidget.\nauthenticator: Ορίζει τον τρόπο με τον οποίο ο ενσωματωμένος διακομιστής HTTP ελέγχει τα αιτήματα.\nbitmapeditoroperation: Μια λειτουργία του επεξεργαστή χαρτογραφικής εικόνας της εργαλειοθήκης.\ncommand: Εντολές που μπορούν να εκτελεστούν εντός του Node.js.\nconfig: Δεδομένα προς εισαγωγή στο `$tw.config`.\nfilteroperator: Ιδιαίτεροι τελεστές ή μέθοδοι φιλτραρίσματος.\nglobal: Καθολικά δεδομένα προς εισαγωγή στο `$tw`.\ninfo: Δημοσιεύει πληροφορίες συστήματος μέσω του ψευτο-πρόσθετου [[$:/temp/info-plugin]].\nisfilteroperator: Παραμέτροι για τον τελεστή φιλτραρίσματος ''is''.\nlibrary: Γενικός τύπος μονάδας για μονάδες γενικού σκοπού του JavaScript.\nmacro: Ορισμοί μακροεντολών JavaScript.\nparser: Αναλυτές (parsers) για διάφορους τύπους περιεχομένων.\nroute: Ορίζει τον τρόπο με τον οποίο ο ενσωματωμένος διακομιστής HTTP χειρίζεται τα μοτίβα URL.\nsaver: Οι αποθηκευτές εξυπηρετούν διάφορες μεθόδους για την αποθήκευση αρχείων από το πρόγραμμα περιήγησης.\nstartup: Λειτουργίες έναρξης.\nstoryview: Οι προβολές ιστορικού τροποποιούν τις κινούμενες εικόνες και την συμπεριφορά των στοιχείων λίστας (list widgets).\ntexteditoroperation: Μια λειτουργία της εργαλειοθήκης επεξεργασίας κειμένου.\ntiddlerdeserializer: Μετατρέπει διάφορους τύπους περιεχομένου σε tiddlers.\ntiddlerfield: Καθορίζει την συμπεριφορά ενός μεμονομένου πεδίου tiddler.\ntiddlermethod: Προσθέτει μεθόδους στο πρωτότυπο `$tw.Tiddler`.\nupgrader: Εφαρμόζει την επεξεργασία αναβάθμισης στα tiddler κατά την διάρκεια μιας αναβάθμισης ή εισαγωγής.\nutils: Προσθέτει μεθόδους στο `$tw.utils`.\nutils-browser: Προσθέτει μεθόδους εξειδικευμένες για το πρόγραμμα περιήγησης στο `$tw.utils`.\nutils-node: Προσθέτει μεθόδους εξειδικευμένες για το Node.js στο `$tw.utils`.\nwidget: Στοιχεία (widgets) που συμπυκνώνουν (encapsulate) την απεικόνιση και ανανέωση του DOM.\nwikimethod: Προσθέτει μεθόδους στο `$tw.Wiki`.\nwikirule: Μεμονωμένοι κανόνες ανάλυσης (parser rules) για τον κύριο γραμματικό αναλυτή της wiki-γραφής (WikiText).\n"
  },
  {
    "path": "languages/el-GR/Docs/PaletteColours.multids",
    "content": "title: $:/language/Docs/PaletteColours/\n\nalert-background: Υπόβαθρο προειδοποίησης\nalert-border: Περίγραμμα προειδοποίησης\nalert-highlight: Επισήμανση προειδοποίησης\nalert-muted-foreground: Προσκήνιο προειδοποίησης, βουβού τύπου\nbackground: Γενικό υπόβαθρο\nblockquote-bar: Πλαίσιο παραθέσεων αποσπασμάτων\nbutton-background: Προκαθορισμένο υπόβαθρο κουμπιών\nbutton-border: Περίγραμμα προεπιλεγμένου κουμπιού\nbutton-foreground: Χρώμα προεπιλεγμένου κουμπιού\ncode-background: Υπόβαθρο κώδικα\ncode-border: Περίγραμμα κώδικα\ncode-foreground: Προσκήνιο κώδικα\ndirty-indicator: Ένδειξη μη αποθηκευμένων αλλαγών\ndownload-background: Υπόβαθρο για το κουμπί λήψης\ndownload-foreground: Προσκήνιο για το κουμπί λήψης\ndragger-background: Υπόβαθρο συρσίματος\ndragger-foreground: Προσκήνιο συρσίματος\ndropdown-background: Υπόβαθρο λίστας επιλογών\ndropdown-border: Περίγραμμα λίστας επιλογών\ndropdown-tab-background: Υπόβαθρο καρτέλας μιας λίστας επιλογών\ndropdown-tab-background-selected: Υπόβαθρο επιλεγμένων καρτελών μιας λίστας επιλογών\ndropzone-background: Υπόβαθρο ζώνης άφεσης\nexternal-link-background: Υπόβαθρο για εξωτερικούς δεσμούς\nexternal-link-background-hover: Υπόβαθρο για εξωτερικό δεσμό κατά την τοποθέτηση του δείκτη\nexternal-link-background-visited: Υπόβαθρο για εξωτερικούς δεσμούς οι οποίοι έχουν ήδη επισκεφτεί\nexternal-link-foreground: Προσκήνιο για εξωτερικούς δεσμούς\nexternal-link-foreground-hover: Προσκήνιο για εξωτερικούς δεσμούς οι οποίοι έχουν ήδη επισκεφτεί\nexternal-link-foreground-visited: Υπόβαθρο για εξωτερικούς δεσμούς οι οποίοι έχουν ήδη επισκεφτεί\nforeground: Γενικό προσκήνιο\nmenubar-background: Υπόβαθρο γραμμής μενού\nmenubar-foreground: Προσκήνιο γραμμής μενού\nmessage-background: Υπόβαθρο πλαισίου μηνύματος\nmessage-border: Περίγραμμα πλαισίου μηνύματος\nmessage-foreground: Προσκήνιο πλαισίου μηνύματος\nmodal-backdrop: Υπόβαθρο σκηνικό όταν εμφανίζεται ένα αποκλειστικό παράθυρο\nmodal-background: Υπόβαθρο αποκλειστικού παραθύρου\nmodal-border: Περίγραμμα αποκλειστικού παραθύρου\nmodal-footer-background: Υπόβαθρο υποσέλιδου σε αποκλειστικά παράθυρα\nmodal-footer-border: Περίγραμμα υποσέλιδου σε αποκλειστικά παράθυρα\nmodal-header-border: Περίγραμμα κεφαλίδας σε αποκλειστικά παράθυρα\nmuted-foreground: Γενικό προσκήνιο, βουβού τύπου\nnotification-background: Υπόβαθρο ειδοποίησης\nnotification-border: Περίγραμμα ειδοποίησης\npage-background: Υπόβαθρο σελίδας\npre-background: Υπόβαθρο προδιαμορφωμένου κώδικα\npre-border: Περίγραμμα προδιαμορφωμένου κώδικα \nprimary: Γενικό κύριο χρώμα\nselect-tag-background: Προσκήνιο στοιχείων `<select>`\nselect-tag-foreground: Προσκήνιο κειμένου σε στοιχεία `<select>`\nsidebar-button-foreground: Προσκήνιο κουμπιών στη πλευρική εργαλειοθήκη\nsidebar-controls-foreground: Προσκήνιο ελέγχων στη πλευρική εργαλειοθήκη\nsidebar-controls-foreground-hover: Προσκήνιο ελέγχων στη πλευρική εργαλειοθήκη κατά την τοποθέτηση του δείκτη\nsidebar-foreground: Προσκήνιο της πλευρικής εργαλειοθήκης\nsidebar-foreground-shadow: Σκιά προσκήνιου της πλευρικής εργαλειοθήκης\nsidebar-muted-foreground: Προσκήνιο της πλευρικής εργαλειοθήκης, βουβού τύπου\nsidebar-muted-foreground-hover: Προσκήνιο πλευρικής εργαλειοθήκης κατά την τοποθέτηση του δείκτη, βουβού τύπου\nsidebar-tab-background: Υπόβαθρο καρτελών στη πλευρική εργαλειοθήκη\nsidebar-tab-background-selected: Υπόβαθρο επιλεγμένων καρτελών στη πλευρική εργαλειοθήκη\nsidebar-tab-border: Περίγραμμα καρτελών στη πλευρική εργαλειοθήκη\nsidebar-tab-border-selected: Περίγραμμα επιλεγμένων καρτελών στη πλευρική εργαλειοθήκη\nsidebar-tab-divider: Διαχωριστής καρτελών στη πλευρική εργαλειοθήκη\nsidebar-tab-foreground: Προσκήνιο καρτελών στη πλευρική εργαλειοθήκη\nsidebar-tab-foreground-selected: Προσκήνιο επιλεγμένων καρτελών στη πλευρική εργαλειοθήκη\nsidebar-tiddler-link-foreground: Προσκήνιο για δεσμό προς tiddler στη πλευρική εργαλειοθήκη\nsidebar-tiddler-link-foreground-hover: Προσκήνιο για δεσμό προς tiddler στη πλευρική εργαλειοθήκη κατά την τοποθέτηση του δείκτη\nsite-title-foreground: Προσκήνιο τίτλου του ιστότοπου\nstability-deprecated: Κονκάρδα για το «υπό απόσυρση» επίπεδο σταθερότητας\nstability-experimental: Κονκάρδα για το «πειραματικό» επίπεδο σταθερότητας\nstability-legacy: Κονκάρδα για το «παρωχημένο» επίπεδο σταθερότητας\nstability-stable: Κονκάρδα για το «σταθερό» επίπεδο σταθερότητας\nstatic-alert-foreground: Προσκήνιο στατικής προειδοποίησης\ntab-background: Υπόβαθρο καρτέλας\ntab-background-selected: Υπόβαθρο επιλεγμένων καρτελών\ntab-border: Περίγραμμα καρτέλας\ntab-border-selected: Περίγραμμα επιλεγμένων καρτελών\ntab-divider: Διαχωριστής καρτελών\ntab-foreground: Προσκήνιο καρτέλας\ntab-foreground-selected: Προσκήνιο επιλεγμένων καρτελών\ntable-border: Περίγραμμα καρτέλας\ntable-footer-background: Υπόβαθρο υπότιτλου σε πίνακα\ntable-header-background: Υπόβαθρο επικεφαλίδας πίνακα\ntag-background: Υπόβαθρο ετικέτας\ntag-foreground: Προσκήνιο ετικέτας\ntestcase-accent-level-1: Απόχρωση υπόθεσης δοκιμής χωρίς ένθεση\ntestcase-accent-level-2: Απόχρωση υπόθεσης δοκιμής με ένθεση 3ου επιπέδου\ntestcase-accent-level-3: Απόχρωση υπόθεσης δοκιμής με ένθεση 3ου ή παραπάνω επιπέδου\ntiddler-background: Υπόβαθρο tiddler\ntiddler-border: Περίγραμμα tiddler\ntiddler-controls-foreground: Προσκήνιο ελέγχων tiddler\ntiddler-controls-foreground-hover: Προσκήνιο ελέγχων tiddler κατά την τοποθέτηση του δείκτη\ntiddler-controls-foreground-selected: Προσκήνιο ελέγχων tiddler για επιλεγμένους ελέγχους\ntiddler-editor-background: Υπόβαθρο του εργαλείου επεξεργασίας tiddler\ntiddler-editor-border: Περίγραμμα του εργαλείου επεξεργασίας tiddler\ntiddler-editor-border-image: Εικόνα περιγράμματος του εργαλείου επεξεργασίας tiddler\ntiddler-editor-fields-even: Υπόβαθρο του εργαλείου επεξεργασίας tiddler για ζυγά πεδία\ntiddler-editor-fields-odd: Υπόβαθρο του εργαλείου επεξεργασίας tiddler για μονά πεδία\ntiddler-info-background: Υπόβαθρο για τους πίνακες πληροφοριών των tiddler\ntiddler-info-border: Περίγραμμα για τους πίνακες πληροφοριών των tiddler\ntiddler-info-tab-background: Υπόβαθρο καρτέλών στους πίνακες πληροφοριών των tiddler\ntiddler-link-background: Υπόβαθρο για δεσμό προς tiddler\ntiddler-link-foreground: Προσκήνιο για δεσμό προς tiddler\ntiddler-subtitle-foreground: Προσκήνιο για δευτερεύοντες τίτλους των tiddler\ntiddler-title-foreground: Προσκήνιο για τίτλους των tiddler\ntoolbar-cancel-button: Προσκήνιο του κουμπιού «άκυρο» της εργαλειοθήκης\ntoolbar-close-button: Προσκήνιο του κουμπιού «κλείσε» της εργαλειοθήκης\ntoolbar-delete-button: Προσκήνιο του κουμπιού  «διάγραψε» της εργαλειοθήκης\ntoolbar-done-button: Προσκήνιου του κουμπιού  «ολοκλήρωση» της εργαλειοθήκης\ntoolbar-edit-button: Προσκήνιο του κουμπιού  «τροποποίησε» της εργαλειοθήκης\ntoolbar-info-button: Προσκήνιο του κουμπιού  «πληροφορίες» της εργαλειοθήκης\ntoolbar-new-button: Προσκήνιο του κουμπιού «νέο tiddler» της εργαλειοθήκης\ntoolbar-options-button: Προσκήνιο του κουμπιού «επιλογές» της εργαλειοθήκης\ntoolbar-save-button: Προσκήνιο του κουμπιού  «αποθήκευση» της εργαλειοθήκης\nuntagged-background: Υπόβαθρο για χάπι χωρίς ετικέτα\nvery-muted-foreground: Προσκήνιο, πολύ βουβό\n"
  },
  {
    "path": "languages/el-GR/EditTemplate.multids",
    "content": "title: $:/language/EditTemplate/\n\nBody/External/Hint: Αυτό το tiddler εμφανίζει περιεχόμενο που είναι αποθηκευμένο εκτός του κυρίου αρχείου του TiddlyWiki. Μπορείς να τροποποιήσεις τις ετικέτες και τα πεδία, αλλά δεν μπορείς να τροποποιήσεις άμεσα το ίδιο το περιεχόμενο\nBody/Placeholder: Πληκτρολόγησε το κείμενο για αυτό το tiddler\nBody/Preview/Type/DiffCurrent: διαφορές από το παρόν\nBody/Preview/Type/DiffShadow: διαφορές από σκιώδες tiddler (εάν υπάρχουν)\nBody/Preview/Type/Output: αποτέλεσμα\nCaption: Επεξεργαστής\nField/Dropdown/Caption: λίστα πεδίων\nField/Dropdown/Hint: Πρόβαλλε κατάλογο με πεδία\nField/Remove/Caption: αφαίρεσε το πεδίο\nField/Remove/Hint: Αφαιρεί το πεδίο\nFields/Add/Button: προσθήκη\nFields/Add/Button/Hint: Πρόσθεσε το νέο πεδίο στο tiddler\nFields/Add/Dropdown/System: Πεδία του συστήματος\nFields/Add/Dropdown/User: Πεδία του χρήστη\nFields/Add/Name/Placeholder: όνομα πεδίου\nFields/Add/Prompt: Πρόσθεσε ένα νέο πεδίο:\nFields/Add/Value/Placeholder: τιμή πεδίου\nShadow/OverriddenWarning: Αυτό είναι ένα τροποποιημένο σκιώδες tiddler. Μπορείς να διαγράψεις αυτό το tiddler για να ανακαλέσεις στην προκαθορισμένη εκδοχή στο <<pluginLink>> \nShadow/Warning: Αυτό είναι ένα σκιώδες tiddler. Οποιεσδήποτε αλλαγές κάνετε θα παρακάμψουν την προκαθορισμένη εκδοχή του πρόσθετου <<pluginLink>>\nTags/Add/Button: προσθήκη\nTags/Add/Button/Hint: προσθήκη ετικέτας\nTags/Add/Placeholder: όνομα ετικέτας\nTags/ClearInput/Caption: καθαρισμός εισόδου\nTags/ClearInput/Hint: Εκκαθάρισε το κείμενο ετικέτας\nTags/Dropdown/Caption: λίστα ετικετών\nTags/Dropdown/Hint: Εμφανίζει την λίστα ετικετών\nTags/EmptyMessage: Δεν βρέθηκαν ετικέτες\nTags/EmptyMessage/System: Δεν βρέθηκαν ετικέτες σηστήματος\nTitle/BadCharacterWarning: Προειδοποίηση: αποφύγετε την χρήση των χαρακτήρων <<bad-chars>> στους τίτλους των tiddler\nTitle/Exists/Prompt: Το tiddler προορισμού υπάρχει ήδη\nTitle/References/Prompt: Οι ακόλουθες αναφορές σε αυτό το tiddler δεν θα ενημερωθούν αυτόματα:\nTitle/Relink/Prompt: Ενημέρωσε το ''<$text text=<<fromTitle>>/>'' σε ''<$text text=<<toTitle>>/>'' στα πεδία //tags// και //list// των υπολοίπων tiddlers\nType/Delete/Caption: διέγραψε τον τύπο περιεχομένου\nType/Delete/Hint: Διέγραψε τον τύπο περιεχομένου\nType/Dropdown/Caption: λίστα τύπων περιεχομένου\nType/Dropdown/Hint: Εμφάνισε κατάλογο με τύπους περιεχομένου\nType/Placeholder: τύπος περιεχομένου\nType/Prompt: Τύπος:\n"
  },
  {
    "path": "languages/el-GR/Exporters.multids",
    "content": "title: $:/language/Exporters/\n\nCsvFile: Αρχείο CSV\nJsonFile: Αρχείο JSON\nStaticRiver: Στατική HTML\nTidFile: αρχείο κειμένου TID\n"
  },
  {
    "path": "languages/el-GR/Fields.multids",
    "content": "title: $:/language/Docs/Fields/\n\n_canonical_uri: Το πλήρες URI ενός εξωτερικού tiddler εικόνας\n_is_skinny: Εάν υπάρχει, υποδεικνύει ότι το πεδίο κειμένου του tiddler πρέπει να φορτωθεί από τον διακομιστή\nauthor: Το όνομα του δημιουργού ενός πρόσθετου\nbag: Το όνομα του σακιδίου από όπου προέρχεται το tiddler\ncaption: Το κείμενο που προβάλλεται σε καρτέλα ή κουμπί\nclass: Η κλάση CSS που εφαρμόστηκε σε ένα tiddler κατά την απόδοσή του. Χρησιμοποιείται επίσης για αποκλειστικά παράθυρα.\ncode-body: Αν οριστεί σε ''yes'', το πρότυπο προβολής θα προβάλλει το tiddler ως κώδικα\ncolor: Η τιμή χρώματος CSS που σχετίζεται με ένα tiddler\ncomponent: Το όνομα του συστατικού που είναι υπεύθυνο για ένα tiddler προειδοποίησης\ncore-version: Για ένα πρόσθετο, υποδεικνύει με ποια έκδοση του TiddlyWiki είναι συμβατό\ncreated: Η ημερομηνία που δημιουργήθηκε το tiddler\ncreator: Το όνομα του ατόμου που δημιούργησε το tiddler\ncurrent-tiddler: Χρησιμοποιείται για τη προσωρινή αποθήκευση του πρώτου tiddler σε μία λίστα ιστορικού\ndependents: Για ένα πρόσθετο, παραθέτει τους τίτλους των εξαρτώμενων πρόσθετων\ndescription: Το κείμενο που περιγράφει ένα πρόσθετο, ή ένα αποκλειστικό παράθυρο\ndraft.of: Για πρόχειρα tiddlers, περιέχει τον τίτλο του tiddler για το οποίο αυτό είναι μια πρόχειρη έκδοση\ndraft.title: Για πρόχειρα tiddlers, περιέχει τον προτεινόμενο νέο τίτλο του tiddler\nfooter: Το κείμενο του υποσέλιδου για ένα αποκλειστικό παράθυρο\nhide-body: Αν οριστεί σε ''yes'', το πρότυπο προβολής θα αποκρύψει τα κυρίως κείμενα των tiddlers\nicon: Ο τίτλος του tiddler που περιέχει το εικονίδιο που σχετίζεται με ένα tiddler\nlibrary: Αν οριστεί σε ''yes'' υποδεικνύει πως το tiddler θα πρέπει να αποθηκευτεί ως μια βιβλιοθήκη JavaScript\nlist: Μια διατεταγμένη λίστα από τίτλους tiddler που σχετίζεται με ένα tiddler\nlist-after: Αν οριστεί, ο τίτλος από ένα tiddler όπου μετά από αυτό το tiddler πρέπει να προστεθεί στην διατεταγμένη λίστα των tiddler τίτλων, ή στο τέλος της λίστας αν αυτό το πεδίο είναι παρόν αλλά κενό\nlist-before: Αν οριστεί, ο τίτλος από ένα tiddler όπου πριν από αυτό το tiddler πρέπει να προστεθεί στην διατεταγμένη λίστα των tiddler τίτλων, ή στην αρχή της λίστας αν αυτό το πεδίο είναι παρόν αλλά κενό\nmodified: Η ημερομηνία και ώρα κατά την οποία ένα tiddler τροποποιήθηκε πιο πρόσφατα\nmodifier: Ο τίτλος του  tiddler που σχετίζεται με το τελευταίο πρόσωπο που τροποποίησε το  tiddler\nmodule-type: Καθορίζει το είδος μονάδας είναι τα JavaScript tiddlers\nname: Το όνομα, αναγνώσιμο από τον άνθρωπο, που συσχετίζεται με ένα tiddler πρόσθετου\nparent-plugin: Για ένα πρόσθετο, καθορίζει ποιο πρόσθετο του οποίου είναι δευτερεύον πρόσθετο\nplugin-priority: Μια αριθμητική τιμή που καθορίζει την προτεραιότητα ενός tiddler πρόσθετου\nplugin-type: Ο τύπος του πρόσθετου σε ένα tiddler πρόσθετου\nreleased: Η ημερομηνία μιας έκδοσης του TiddlyWiki\nrevision: Η αναθεώρηση από το tiddler που διατηρείται στον διακομιστή\nsource: Το πηγαίο URL που συσχετίζεται με ένα tiddler\nstability: Η κατάσταση ανάπτυξης ενός πρόσθετου: παρωχημένο, πειραματικό, σταθερό ή υπό απόσυρση\nsubtitle: Το κείμενο στον υπότιτλο για ένα αποκλειστικό παράθυρο\ntags: Μια λίστα από ετικέτες που σχετίζονται με ένα tiddler\ntext: Το κυρίως κείμενο ενός tiddler\nthrottle.refresh: Εάν υπάρχει, επιβραδύνει τις ανανεώσεις αυτού του tiddler\ntitle: Το μοναδικό όνομα ενός tiddler\ntoc-link: Αν οριστεί σε ''no'', αποκρύπτει τον σύνδεσμο του tiddler σε έναν δενδροειδή Πίνακα Περιεχομένων\ntype: Ο τύπος περιεχομένου ενός tiddler\nversion: Πληροφορίες έκδοσης για ένα πρόσθετο\n"
  },
  {
    "path": "languages/el-GR/Filters.multids",
    "content": "title: $:/language/Filters/\n\nAllTags: Όλες οι ετικέτες, εκτός των ετικετών συστήματος\nAllTiddlers: Όλα, εκτός των tiddler συστήματος\nDrafts: Πρόχειρα tiddler\nMissing: Tiddlers που λείπουν\nOrphans: Ορφανά tiddler\nOverriddenShadowTiddlers: Σκιώδη  tiddler που έχουν αντικατασταθεί\nRecentSystemTiddlers: Πρόσφατα τροποποιημένα tiddlers, συμπεριλαμβανομένων και των tiddler του συστήματος\nRecentTiddlers: Πρόσφατα τροποποιημένα tiddlers\nSessionTiddlers: Tiddlers που έχουν τροποποιηθεί αφού φορτώθηκε το wiki\nShadowTiddlers: Σκιώδη tiddler\nStoryList: Tiddler στην ιστορική ροή,  εξαιρώντας τα <$text text=\"$:/AdvancedSearch\"/>\nSystemTags: Ετικέτες συστήματος\nSystemTiddlers: Tiddler συστήματος\nTypedTiddlers: Tiddler χωρίς wiki-γραφή\n"
  },
  {
    "path": "languages/el-GR/GettingStarted.tid",
    "content": "title: GettingStarted\n\n\\define lingo-base() $:/language/ControlPanel/Basics/\nΚαλώς ήρθες στο ~TiddlyWiki, και στην κοινότητα ~TiddlyWiki\n\nΠριν διοχετεύσεις σημαντικές πληροφορίες στο ~TiddlyWiki, είναι σημαντικό να σιγουρέψεις ότι μπορείς να αποθηκεύσεις τις αλλαγές σου με αξιοπιστία. Δες https://tiddlywiki.com/#GettingStarted για λεπτομέρειες\n\n!! Ρύθμισε αυτό το ~TiddlyWiki\n\n<div class=\"tc-control-panel\">\n\n|tc-table-no-border tc-first-col-min-width tc-first-link-nowrap|k\n| <$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link>|<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n| <$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link>|<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|^ <$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link><br><<lingo DefaultTiddlers/TopHint>>|<$edit tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\nΔες τον [[πίνακα ελέγχου|$:/ControlPanel]] για περισσότερες επιλογές."
  },
  {
    "path": "languages/el-GR/Help/build.tid",
    "content": "title: $:/language/Help/build\ndescription: Αυτόματα εκτέλεσε προκαθορισμένες εντολές\n\nΔομεί τους προκαθορισμένους προορισμούς δομής για το τρέχον wiki. Αν δεν έχει καθοριστεί προορισμοί δομής, τότε όλοι οι διαθέσιμοι προορισμοί θα δομηθούν.\n\n```\n--build <προορισμός> [<προορισμός> ...]\n```\n\nΟι προορισμοί δομής ορίζονται στο αρχείο `tiddlywiki.info` ενός φακέλου wiki.\n\n"
  },
  {
    "path": "languages/el-GR/Help/clearpassword.tid",
    "content": "title: $:/language/Help/clearpassword\ndescription: Καθάρισε τον κωδικό για επόμενες υπολειτουργίες κρυπτογράφησης\n\nΑναιρεί τον κωδικό για τις μεταγενέστερες υπολειτουργίες κρυπτογράφησης\n\n```\n--clearpassword\n```\n"
  },
  {
    "path": "languages/el-GR/Help/commands.tid",
    "content": "title: $:/language/Help/commands\ndescription: Εκτέλεσε τις εντολές που επιστρέφονται από ένα φίλτρο\n\nΕκτέλεσε διαδοχικά τα διακριτικά εντολών που επιστρέφονται από ένα φίλτρο\n\n```\n--commands <filter>\n```\n\nΠαραδείγματα\n\n```\n--commands \"[enlist:raw{$:/build-commands-as-text}]\"\n```\n\n```\n--commands \"[{$:/build-commands-as-json}jsonindexes[]] :map[{$:/build-commands-as-json}jsonget<currentTiddler>]\"\n```"
  },
  {
    "path": "languages/el-GR/Help/default.tid",
    "content": "title: $:/language/Help/default\ndescription: \n\n\\define commandTitle()\n$:/language/Help/$(command)$\n\\end\n```\nΧρήση: tiddlywiki [<φάκελος wiki>] [--<εντολή> [<ορίσματα>...]...]\n```\n\nΔιαθέσιμες εντολές:\n\n<ul>\n<$list filter=\"[commands[]sort[title]]\" variable=\"command\">\n<li><$link to=<<commandTitle>>><$macrocall $name=\"command\" $type=\"text/plain\" $output=\"text/plain\"/></$link>:\n&#32;\n<$transclude tiddler=<<commandTitle>> field=\"description\"/></li>\n</$list>\n</ul>\n\nΓια να βρείς αναλυτική βοήθεια για μία συγκεκριμένη εντολή:\n\n```\ntiddlywiki --help <εντολή>\n```\n"
  },
  {
    "path": "languages/el-GR/Help/deletetiddlers.tid",
    "content": "title: $:/language/Help/deletetiddlers\ndescription: Διαγράφει μια ομάδα tiddlers\n\n<<.from-version \"5.1.20\">> Διαγράφει μια ομάδα tiddlers που αναγνωρίζονται από φίλτρο.\n\n```\n--deletetiddlers <φίλτρο>\n```\n"
  },
  {
    "path": "languages/el-GR/Help/editions.tid",
    "content": "title: $:/language/Help/editions\ndescription: Εμφανίζει τις διαθέσιμες εκδόσεις του TiddlyWiki\n\nΕμφανίζει λίστα με τα ονόματα και τις περιγραφές των διαθέσιμων εκδόσεων. Μπορείς να δημιουργήσεις ένα νέο wiki μιας συγκεκριμένης έκδοσης με την εντολή `--init`.\n\n```\n--editions\n```\n"
  },
  {
    "path": "languages/el-GR/Help/fetch.tid",
    "content": "title: $:/language/Help/fetch\ndescription: Ανακαλεί tiddler από το wiki μέσω URL\n\nΦέρνει ένα ή περισσότερα αρχεία μέσω HTTP/HTTPS, και εισάγει τα tiddler που ταιριάζουν σε ένα φίλτρο, προαιρετικά μετασχηματίζοντας τους εισερχόμενους τίτλους.\n\n```\n--fetch file <url> <φίλτρο-εισαγωγής> <φίλτρο-μετασχηματισμού>\n--fetch files <url-filter> <φίλτρο-εισαγωγής> <φίλτρο-μετασχηματισμού>\n--fetch raw-file <url> <φίλτρο-μετασχηματισμού>\n--fetch raw-files <url-filter> <φίλτρο-μετασχηματισμού>\n```\n\nΟι εκδοχές «file» και «files» παίρνουν τα καθορισμένα αρχεία και προσπαθούν να εισάγουν τα tiddler σε αυτά (τελείται η ίδια επεξεργασία με αυτήν που θα γινόταν αν σέρναμε τα αρχεία μέσα στο παράθυρο του προγράμματος περιήγησης). Οι εκδοχές «raw-file» και «raw-files» παίρνουν τα καθορισμένα αρχεία και έπειτα αποθηκεύουν τα ακατέργαστα δεδομένα τους σε tiddler, χωρίς να εφαρμόσουν την λογική της εισαγωγής.\n\nΜε τις εκδοχές «file» και «raw-file» ανακαλείτε μόνο ένα μεμονωμένο αρχείο και η πρώτη παράμετρος είναι το URL του αρχείου που θα διαβαστεί.\n\nΜε τις εκδοχές «raw-file» και «raw-files» εκδοχές, ανακαλούνται πολλαπλά αρχεία και η πρώτη παράμετρος είναι ένα φίλτρο που αποδίδει μια λίστα από URL των αρχείων που θα ανακληθούν. Για παράδειγμα, αν θεωρήσουμε ένα σύνολο από tiddler που έχουν ετικέτα «remote-server» τα οποία έχουν ένα πεδίο «url», το φίλτρο  `[tag[remote-server]get[url]]` θα επιστρέψει όλα τα διαθέσιμα URL.\n\nΓια τις εκδοχές «file» και «files», η παράμετρος `<iφίλτρο-εισαγωγής>` καθορίζει ένα φίλτρο που προσδιορίζει το ποια tiddler θα εισαχθούν. Αν δεν οριστεί τότε έχει προκαθορισμένη τιμή `[all[tiddlers]]`.\n\nΓια όλες τις εκδοχές η παράμετρος `<φίλτρο-μετασχηματισμού>` καθορίζει ένα προαιρετικό φίλτρο που μετασχηματίζει τους τίτλους των εισηγμένων tiddler. Για παράδειγμα , `[addprefix[$:/myimports/]]` θα προσθέσει το πρόθεμα  `$:/myimports/` σε κάθε τίτλο.\n\nΑν πριν την εντολή `--fetch` υπάρχει η `--verbose`, τότε θα εμφανιστούν πληροφορίες σχετικά με την πρόοδο κατά την εισαγωγή.\n\nΣημειώνουμε ότι το TiddlyWiki δεν θα ανακαλέσει μια παλαιότερη έκδοση ενός ήδη φορτωμένου πρόσθετου.\n\nΤο ακόλουθο παράδειγμα ανακαλεί όλα τα tiddlers που δεν είναι tiddler συστήματος από το https://tiddlywiki.com και τα αποθηκεύει σε ένα αρχείο JSON:\n\n```\ntiddlywiki --verbose --fetch file \"https://tiddlywiki.com/\" \"[!is[system]]\" \"\" --rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[!is[system]]\"\n```\n\nΤο ακόλουθο παράδειγμα ανακαλεί το αρχείο «favicon» από το tiddlywiki.com και το αποθηκεύει σε ένα αρχείο με όνομα «έξοδος.ico». Σημειώνουμε ότι το ενδιάμεσο tiddler «Tiddler Εικόνας» βρίσκεται μέσα σε εισαγωγικά στην εντολή «--fetch» επειδή χρησιμοποιείται ως φίλτρο μετασχηματισμού προκειμένου να αντικαταστήσει τον προκαθορισμένο τίτλο, ενώ δεν υπάρχουν εισαγωγικά στην εντολή «--savetiddler» επειδή χρησιμοποιείται απευθείας ως τίτλος.\n\n```\ntiddlywiki --verbose --fetch raw-file \"https://tiddlywiki.com/favicon.ico\" \"[[Icon Tiddler]]\" --savetiddler \"Tiddler Εικόνας\" έξοδος.ico\n```\n\n"
  },
  {
    "path": "languages/el-GR/Help/help.tid",
    "content": "title: $:/language/Help/help\ndescription: Εμφανίζει κείμενο βοήθειας για τις εντολές του TiddlyWiki\n\nΕμφανίζει βοηθητικό κείμενο για μία εντολή:\n\n```\n--help [<όνομα εντολής>]\n```\n\nΑν δεν οριστεί όνομα εντολής, τότε εμφανίζει μια λίστα με τις διαθέσιμες εντολές.\n"
  },
  {
    "path": "languages/el-GR/Help/import.tid",
    "content": "title: $:/language/Help/import\ndescription: Εισάγει tiddler από ένα αρχείο\n\nΕισάγει tiddlers από TiddlyWiki (`.html`), `.tiddler`, `.tid`, `.json` ή άλλα τοπικά αρχεία. Ο αποσειριοποιητής πρέπει να καθορίζεται ρητά, σε αντίθεση με την εντολή `load` η οποία συνάγει τον αποσειριοποιητή από την επέκταση του αρχείου.\n\n```\n--import <διαδρομή-αρχείου> <αποσειριοποιητής> [<τίτλος>] [<κωδικοποίηση>]\n```\n\nΟι διαθέσιμοι deserializers στον πυρήνα περιλαμβάνουν:\n\n* application/javascript\n* application/json\n* application/x-tiddler\n* application/x-tiddler-html-div\n* application/x-tiddlers\n* text/html\n* text/plain\n\nΟ τίτλος των εισαγόμενων tiddler έχει ως προκαθορισμένη τιμή το όνομα του αρχείου.\n\nΗ κωδικοποίηση έχει ως προκαθορισμένη τιμή την \"utf8\", αλλά σε περίπτωση εισαγωγής δυαδικών αρχείων μπορεί να είναι \"base64\".\n\nΣημειώστε ότι το TiddlyWiki δεν θα εισάγει μια παλαιότερη έκδοση ενός ήδη φορτωμένου πρόσθετου."
  },
  {
    "path": "languages/el-GR/Help/init.tid",
    "content": "title: $:/language/Help/init\ndescription: Αρχικοποιεί έναν νέο φάκελο wiki\n\nΑρχικοποιεί έναν άδειο [[WikiΦάκελου|WikiFolders]] με ένα αντίγραφο της καθορισμένης έκδοσης.\n\n```\n--init <έκδοση> [<έκδοση> ...]\n```\n\nΓια παράδειγμα:\n\n```\ntiddlywiki ./ΟΦάκελοςWikiΜου --init empty\n```\n\nΠαρατηρήσεις:\n\n* Ο φάκελος wiki θα δημιουργηθεί αν αυτό είναι αναγκαίο\n* Η προκαθωρισμένη «έκδοση» είναι η ''empty''\n* Η εντολή init θα αποτύχει αν ο φάκελος wiki δεν είναι κενός\n* Η εντολή init αφαιρεί οποιουσδήποτε ορισμούς `includeWikis` στις εκδόσεις του αρχείου `tiddlywiki.info`\n* Όταν καθορίζονται πολλαπλές εκδόσεις, οι εκδόσεις που αρχικοποιούνται μεταγενέστερα θα  αντικαταστήσουν τυχόν αρχεία που μοιράζονται με νεότερες εκδόσεις (έτσι, το τελικό αρχείο `tiddlywiki.info` θα αντιγραφεί από την τελευταία έκδοση)\n* `--editions` επιστρέφει μια λίστα με τις διαθέσιμες εκδόσεις\n"
  },
  {
    "path": "languages/el-GR/Help/listen.tid",
    "content": "title: $:/language/Help/listen\ndescription: Παρέχει μια διεπαφή διακομιστή HTTP στο TiddlyWiki\n\nΕξυπηρετεί ένα wiki μέσω HTTP.\n\nΗ εντολή «listen» χρησιμοποιεί παραμέτρους με όνομα (NamedCommandParameters):\n\n```\n--listen [<όνομα>=<τιμή>]...\n```\n\nΌλες οι παράμετροι είναι προαιρετικές με ασφαλείς προεπιλογές και μπορούν να καθοριστούν με οποιαδήποτε σειρά. Οι αναγνωρισμένες παράμετροι είναι:\n\n* ''host'' - προαιρετικό όνομα κεντρικού υπολογιστή (hostname) για την εξυπηρέτηση (προεπιλογή \"127.0.0.1\" γνωστό και ως «localhost»)\n* ''path-prefix'' - προαιρετικό πρόθεμα για τις διαδρομές\n* ''port'' - αριθμός θύρας για την ακρόαση· οι μη αριθμητικές τιμές ερμηνεύονται ως μια μεταβλητή περιβάλλοντος συστήματος από την οποία εξάγεται ο αριθμός της θύρας (προεπιλογή \"8080\")\n* ''credentials'' - διαδρομή του αρχείου διαπιστευτηρίων CSV (σχετική με τον φάκελο του wiki)\n* ''anon-username'' - το όνομα χρήστη για την υπογραφή επεξεργασιών από ανώνυμους χρήστες\n* ''username'' - προαιρετικό όνομα χρήστη για βασικό έλεγχο ταυτότητας\n* ''password'' - προαιρετικός κωδικός πρόσβασης για βασικό έλεγχο ταυτότητας\n* ''authenticated-user-header'' - προαιρετικό όνομα της κεφαλίδας αιτήματος (request header) που θα χρησιμοποιηθεί για έμπιστο έλεγχο ταυτότητας.\n* ''readers'' - λίστα οντοτήτων (principals) διαχωρισμένη με κόμματα, που επιτρέπεται να διαβάζουν από αυτό το wiki\n* ''writers'' - λίστα οντοτήτων (principals) διαχωρισμένη με κόμματα, που επιτρέπεται να γράφουν σε αυτό το wiki\n* ''csrf-disable'' - όρισε σε \"yes\" για να απενεργοποιήσεις τους ελέγχους CSRF (προεπιλογή \"no\")\n* ''root-tiddler'' - το tiddler που θα εξυπηρετείται στη ρίζα (root) (προεπιλογή \"$:/core/save/all\")\n* ''root-render-type'' - ο τύπος περιεχομένου στον οποίο θα γίνει η απόδοση του tiddler ρίζας (προεπιλογή \"text/plain\")\n* ''root-serve-type'' - ο τύπος περιεχομένου με τον οποίο θα εξυπηρετηθεί το tiddler ρίζας (προεπιλογή \"text/html\")\n* ''tls-cert'' - διαδρομή του αρχείου πιστοποιητικού TLS (σχετική με τον φάκελο του wiki)\n* ''tls-key'' - διαδρομή του αρχείου κλειδιού TLS (σχετική με τον φάκελο του wiki)\n* ''debug-level'' - προαιρετικό επίπεδο αποσφαλμάτωσης· όρισε σε \"debug\" για να βλέπεις λεπτομέρειες των αιτημάτων (προεπιλογή \"none\")\n* ''gzip'' - όρισε σε \"yes\" για να ενεργοποιήσεις τη συμπίεση gzip για ορισμένα τελικά σημεία (endpoints) HTTP (προεπιλογή \"no\")\n* ''use-browser-cache'' - όρισε σε \"yes\" για να επιτρέψεις στον περιηγητή να αποθηκεύει προσωρινά (cache) τις αποκρίσεις για εξοικονόμηση εύρους ζώνης (προεπιλογή \"no\")\n\nΓια πληροφορίες σχετικά με το άνοιγμα της εγκατάστασής σου σε ολόκληρο το τοπικό δίκτυο, και για πιθανά ζητήματα ασφαλείας, δες το tiddler WebServer στο TiddlyWiki.com.\n\n"
  },
  {
    "path": "languages/el-GR/Help/load.tid",
    "content": "title: $:/language/Help/load\ndescription: Φόρτωσε tiddlers από ένα αρχείο\n\n\nΦορτώνει tiddlers από TiddlyWiki (`.html`), `.tiddler`, `.tid`, `.json` ή άλλα τοπικά αρχεία. Η επεξεργασία που εφαρμόζεται στα εισερχόμενα αρχεία καθορίζεται από την επέκταση του αρχείου. Χρησιμοποίησε την εναλλακτική εντολή `--import` εάν χρειάζεται να καθορίσεις ρητά τον αποσειριοποιητή (parser) και την κωδικοποίηση (encoding).\n\n```\n--load <διαδρομή-αρχείου> [noerror]\n--load <διαδρομή-φακέλου> [noerror]\n```\n\nΑπό προεπιλογή, η εντολή φόρτωσης προκαλεί σφάλμα εάν δεν βρεθούν tiddlers. Το σφάλμα μπορεί να καταργηθεί παρέχοντας την προαιρετική παράμετρο \"noerror\".\n\nΓια να φορτώσεις tiddlers από ένα κρυπτογραφημένο αρχείο TiddlyWiki, θα πρέπει πρώτα να καθορίσεις τον κωδικό πρόσβασης με την εντολή PasswordCommand. Για παράδειγμα:\n\n```\ntiddlywiki ./ΤοWikiΜου --password κωδικ0ς --load το_κρυπτογραφημένο_wiki_μου.html\n```\n\nΣημειώνουμε ότι το  TiddlyWiki δεν θα φορτώσει μια παλαιότερη έκδοση ενός ήδη φορτωμένου πρόσθετου.\n"
  },
  {
    "path": "languages/el-GR/Help/makelibrary.tid",
    "content": "title: $:/language/Help/makelibrary\ndescription: Δημιουργεί το πρόσθετο βιβλιοθήκης που απαιτείται από τη διαδικασία αναβάθμισης\n\nΔημιουργεί το tiddler `$:/UpgradeLibrary` για τη διαδικασία αναβάθμισης.\n\nΗ βιβλιοθήκη αναβάθμισης είναι μορφοποιημένη ως ένα τυπικό tiddler πρόσθετου, το οποίο για ως τύπο την τιμή `library`. Περιέχει ένα αντίγραφο κάθε ενός από τα πρόσθετα, θέματα και γλωσσικά πακέτα που είναι διαθέσιμα εντός του αποθετηρίου TiddlyWiki5.\n\nΑυτή η εντολή προορίζεται για εσωτερική χρήση. Αφορά μόνο χρήστες που δημιουργούν μια εξειδικευμένη διαδικασία αναβάθμισης.\n\n```\n--makelibrary <τίτλος>\n```\n\nΗ προκαθορισμένη τιμή για το όρισμα τίτλος είναι  `$:/UpgradeLibrary`.\n"
  },
  {
    "path": "languages/el-GR/Help/notfound.tid",
    "content": "title: $:/language/Help/notfound\ndescription: \n\n\nΔεν βρέθηκε αντίστοιχη καταχώριση στην βοήθεια"
  },
  {
    "path": "languages/el-GR/Help/output.tid",
    "content": "title: $:/language/Help/output\ndescription: Καθορίζει τον βασικό φάκελο εξόδου για μεταγενέστερες εντολές\n\nΚαθορίζει τον βασικό φάκελο εξόδου για μεταγενέστερες εντολές. Ο προκαθορισμένος φάκελος εξόδου είναι ο υποφάκελος `output` του φακέλου της έκδοσης.\n\n```\n--output <διαδρομή>\n```\n\nΑν η προσδιορισμένη διαδρομή προς τον φάκελο είναι σχετική τότε εφαρμόζεται με βάση το τρέχον φάκελο εργασίας. Για παράδειγμα η `--output .` ορίζει ως φάκελο εξόδου το τρέχον φάκελο εργασίας.\n"
  },
  {
    "path": "languages/el-GR/Help/password.tid",
    "content": "title: $:/language/Help/password\ndescription: Καθόρισε έναν κωδικό για επόμενες υπολειτουργίες κρυπτογράφησης\n\nΚαθορίζει έναν κωδικό για τις μεταγενέστερες υπολειτουργίες κρυπτογράφησης\n\n```\n--password <κωδικός>\n```\n\n''Σημείωση'': Αυτό δεν πρέπει να χρησιμοποιείται για την προβολή του TiddlyWiki με προστασία κωδικού πρόσβασης. Αντίθετα, διάβασε σχετικά με την επιλογή κωδικού πρόσβασης υπό [[ServerCommand]]."
  },
  {
    "path": "languages/el-GR/Help/render.tid",
    "content": "title: $:/language/Help/render\ndescription: Αποδίδει μεμονωμένα tiddler σε αρχεία\n\nΑποδίδει μεμονωμένα tiddlers, που προσδιορίζονται από ένα φίλτρο, και αποθηκεύει τα αποτελέσματα στα καθορισμένα αρχεία.\n\nΠροαιρετικά, μπορεί να καθοριστεί ο τίτλος ενός πρότυπου tiddler. Σε αυτή την περίπτωση, αντί για την απευθείας απόδοση κάθε tiddler, αποδίδεται το πρότυπο tiddler με τη μεταβλητή \"currentTiddler\" να έχει οριστεί στον τίτλο του tiddler που αποδίδεται.\n\nΈνα όνομα και μια τιμή για μια επιπλέον μεταβλητή μπορούν επίσης να καθοριστούν προαιρετικά.\n\n```\n--render <φίλτρο-tiddler> [<φίλτρο-ονόματος-αρχείου>] [<τύπος-απεικόνισης>] [<πρότυπο>] [ [<όνομα>] [<τιμή>] ]*\n```\n\n* ''φίλτρο-tiddler'': φίλτρο που προσδιορίζει το/τα tiddler προς απόδοση\n* ''φίλτρο-ονόματος-αρχείου'': προαιρετικό φίλτρο που μετασχηματίζει τους τίτλους των tiddler σε διαδρομές αρχείων. Αν παραλειφθεί, η προεπιλογή είναι `[is[tiddler]addsuffix[.html]]`, που χρησιμοποιεί τον τίτλο του  tiddler χωρίς αλλαγές ως όνομα αρχείου\n* ''τύπος-απεικόνισης'': [ροαιρετικός τύπος απόδοσης: το text/html (η προεπιλογή) επιστρέφει το πλήρες κείμενο HTML και το text/plain επιστρέφει μόνο το περιεχόμενο κειμένου (δηλ. αγνοεί τις HTML ετικέτες και τα λοιπά μη-εκτυπώσιμα στοιχεία)\n* ''πρότυπο'': προαιρετικό πρότυπο μέσω του οποίου αποδίδεται κάθε tiddler\n* ''όνομα'': όνομα προαιρετικών μεταβλητών\n* ''τιμή'': τιμή προαιρετικών μεταβλητών\n\nπροκαθορισμένη συμπεριφορά είναι: η διαδρομή του αρχείου προσδιορίζεται σε σχέση με τον υποφάκελο `output` του φακέλου της έκδοσης. Η εντολή `--output` μπορεί να χρησιμοποιηθεί για να κατευθύνει την έξοδο σε διαφορετικό φάκελο.\n\nΠαρατηρήσεις:\n\n* Ο φάκελος εξόδου δεν καθαρίζεται από τυχόν υπάρχοντα αρχεία.\n* Αν κάποιοι φάκελοι δεν υπάρχουν στη διαδρομή προς το αρχείο, τότε δημιουργούνται αυτόματα.\n* Κατά την αναφορά σε ένα tiddler με κενά στον τίτλο του, φρόντισε να χρησιμοποιήσεις τόσο τα εισαγωγικά που απαιτεί το κέλυφός (shell) σας, όσο και τις διπλές τετράγωνες αγκύλες του TiddlyWiki: `--render \"[[Motovun Jack.jpg]]\"`\n* Το φίλτρο ονόματος αρχείου αποτιμάται με το τρέχον αντικείμενο επιλογής να είναι ο τίτλος του tiddler που αποδίδεται, επιτρέποντας έτσι τη χρήση του τίτλου ως βάση για τον υπολογισμό του ονόματος αρχείου. Για παράδειγμα, το `[encodeuricomponent[]addprefix[static/]]` εφαρμόζει κωδικοποίηση URI σε κάθε τίτλο και στη συνέχεια προσθέτει το πρόθεμα `static/`\n* Μπορούν να χρησιμοποιηθούν πολλαπλά ζεύγη ''όνομα''/''τιμή'' για την παράδοση περισσότερων από μία μεταβλητών.\n* Η εντολή `--render` είναι μια πιο ευέλικτη αντικατάσταση για τις εντολές `--rendertiddler` και `--rendertiddlers`, οι οποίες είναι πλέον παρωχημένες.\n\nΠαραδείγματα:\n\n* `--render '[!is[system]]' '[encodeuricomponent[]addprefix[tiddlers/]addsuffix[.html]]'` -- αποδίδει όλα τα μη συστημικά tiddlers ως αρχεία στον υποκατάλογο \"tiddlers\" με τίτλους κωδικοποιημένους για URL και την επέκταση .html.\n* `--render '.' 'tiddlers.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' '[tag[ΓειαΣας]]'` -- αποδίδει τα tiddlers με την ετικέτα «ΓειαΣας» σε ένα αρχείο JSON με το όνομα «tiddlers.json»."
  },
  {
    "path": "languages/el-GR/Help/rendertiddler.tid",
    "content": "title: $:/language/Help/rendertiddler\ndescription: Απεικονίζει ένα μεμονωμένο tiddler στο καθορισμένο ContentType\n\n(Παρατήρηση: Η εντολή `--rendertiddler` θεωρείτε πλέον παρωχημένη και συστήνεται  η χρήση της νέας, πιο ευέλικτης εντολής  `--render`)\n\nΑποδίδει ένα μεμονωμένο tiddler ως συγκεκριμένο ContentType που προκαθορίζεται σε `text/html` και το αποθηκεύει σε ένα καθορισμένο όνομα αρχείου.\n\nΠροαιρετικά μπορεί να χρησιμοποιηθεί ο τίτλος ενός πρότυπου tiddler· στην περίπτωση αυτή γίνεται απόδοση του πρότυπου tiddler έχοντας ορίσει στην μεταβλητή «currentTiddler» τιμή το tiddler του οποίου γίνεται η απόδοση (την πρώτη παραμετρική τιμή).\n\nΕπίσης μπορεί να οριστούν προαιρετικά το όνομα και η τιμή μιας επιπρόσθετης μεταβλητής.\n\n```\n--rendertiddler <τίτλος> <όνομα-αρχείου> [<τύπος>] [<πρότυπο>] [<όνομα>] [<τιμή>]\n```\n\nΗ προκαθορισμένη συμπεριφορά είναι να αναλύεται το όνομα αρχείου σχετικά ως προς τον υποφάκελο `output` του φακέλου της έκδοσης. Η εντολή `--output` μπορεί να χρησιμοποιηθεί για να οδηγήσει την έξοδο σε διαφορετικό φάκελο.\n\nΑν κάποιοι φάκελοι δεν υπάρχουν στην διαδρομή προς το αρχείο τότε δημιουργούνται αυτόματα.\n\nΓια παράδειγμα, ή ακόλουθη εντολή αποθηκεύει όλα τα tiddler που ταιριάζουν στο φίλτρο `[tag[ολοκληρωμένα]]` σε ένα αρχείο JSON με τίτλο `έξοδος.json`, χρησιμοποιώντας το πρότυπο `$:/core/templates/exporters/JsonFile` του πυρήνα.\n\n```\n--rendertiddler \"$:/core/templates/exporters/JsonFile\" έξοδος.json text/plain \"\" exportFilter \"[tag[ολοκληρωμένα]]\"\n```\n"
  },
  {
    "path": "languages/el-GR/Help/rendertiddlers.tid",
    "content": "title: $:/language/Help/rendertiddlers\ndescription: Απεικονίζει tiddlers που ταιριάζουν σε ένα φίλτρο σε έναν συγκεκριμένο ContentType\n\n(Παρατήρηση: Η εντολή `--rendertiddlers` θεωρείτε πλέον παρωχημένη και συστήνεται η χρήση της νέας, πιο ευέλικτης εντολής `--render`)\n\nΑπεικονίζει ένα σύνολο από tiddlers που ταιριάζουν σε ένα φίλτρο για να ξεχωρίσουν τα αρχεία ενός συγκεκριμένου ContentType (προκαθορισμένη τιμή  `text/html`) και κατάληξης (προκαθορισμένη τιμή `.html`).\n\n```\n--rendertiddlers '<φίλτρο>' <πρότυπο> <διαδρομή> [<τύπος>] [<κατάληξη>] [\"noclean\"]\n```\n\nΓια παράδειγμα:\n\n```\n--rendertiddlers [!is[system]] $:/core/templates/static.tiddler.html ./static text/plain\n```\n\nΗ προκαθορισμένη συμπεριφορά είναι: η διαδρομή στο αρχείο αναλύεται σχετικά με τον υποφάκελο `output` του φακέλου της έκδοσης. Μπορεί να χρησιμοποιηθεί η εντολή `--output` για να ανακατευθύνει την έξοδο σε έναν διαφορετικό φάκελο.\n\nΤυχόν αρχεία στο φάκελο προορισμού διαγράφονται εκτός και χρησιμοποιηθεί η ένδειξη \"noclean\". Ο φάκελος προορισμού δημιουργείται αναδρομικά αν δεν υπάρχει.\n"
  },
  {
    "path": "languages/el-GR/Help/save.tid",
    "content": "title: $:/language/Help/save\ndescription: Αποθηκεύει μεμονωμένα ακατέργαστα tiddler σε αρχεία\n\nΑποθηκεύει μεμονωμένα tiddlers, που προσδιορίζονται από ένα φίλτρο, στη μορφή ακατέργαστου κειμένου ή σε δυαδική μορφή, σε καθορισμένα αρχεία.\n\n```\n--save <φίλτρο-tiddler> <φίλτρο-ονόματος-αρχείου>\n```\n\n* ''φίλτρο-tiddler'': Ένα φίλτρο που προσδιορίζει το/τα tiddler που θα αποθηκευτούν\n* ''φίλτρο-ονόματος-αρχείου'': Προαιρετικό φίλτρο που μετασχηματίζει τους τίτλους των tiddler σε διαδρομές αρχείων. Αν παραλειφθεί, η προεπιλογή είναι `[is[tiddler]]`, που χρησιμοποιεί τον τίτλο του tiddler χωρίς αλλαγές ως όνομα αρχείου.\n\nΗ προκαθορισμένη συμπεριφορά είναι: η διαδρομή του αρχείου προσδιορίζεται σε σχέση με τον υποφάκελο `output` του φακέλου της έκδοσης. Η εντολή --output μπορεί να χρησιμοποιηθεί για να κατευθύνει την έξοδο σε διαφορετικό φάκελο.\n\nΠαρατηρήσεις:\n\n* Ο φάκελος εξόδου δεν καθαρίζεται από τυχόν υπάρχοντα αρχεία\n* Θα δημιουργηθούν αυτόματα τυχόν φάκελοι που δεν υπάρχουν στην διαδρομή για το όνομα αρχείου\n* Κατά την αποθήκευση ενός tiddler με κενά στον τίτλο του, φροντίστε να χρησιμοποιήσετε τόσο τα εισαγωγικά που απαιτεί το κέλυφός (shell) σου, όσο και τις διπλές τετράγωνες αγκύλες του TiddlyWiki: `--save \"[[Motovun Jack.jpg]]\"`\n* Το φίλτρο ονόματος αρχείου αποτιμάται με το τρέχον αντικείμενο επιλογής να είναι ο τίτλος του tiddler που αποθηκεύεται, επιτρέποντας έτσι τη χρήση του τίτλου ως βάση για τον υπολογισμό του ονόματος αρχείου. Για παράδειγμα, το `[encodeuricomponent[]addprefix[static/]]` εφαρμόζει κωδικοποίηση URI σε κάθε τίτλο και στη συνέχεια προσθέτει το πρόθεμα `static/`\n* Η εντολή `--save` είναι μια πιο ευέλικτη αντικατάσταση για τις εντολές `--savetiddler` και `--savetiddlers`, οι οποίες είναι πλέον παρωχημένες\n\nΠαραδείγματα:\n\n* `--save \"[!is[system]is[image]]\" \"[encodeuricomponent[]addprefix[tiddlers/]]\"` -- αποθηκεύει όλα τα μή-συστεμικά tiddler εικόνας ως αρχεία στον υποφάκελο \"tiddlers\", με τους τίτλους τους κωδικοποιημένους για URL."
  },
  {
    "path": "languages/el-GR/Help/savetiddler.tid",
    "content": "title: $:/language/Help/savetiddler\ndescription: Αποθηκεύει ένα ακατέργαστο tiddler σε αρχείο\n\n(Παρατήρηση: Η εντολή `--savetiddler` θεωρείτε πλέον παρωχημένη και συστήνεται η χρήση της νέας, πιο ευέλικτης εντολής `--save`)\n\nΑποθηκεύει ένα μεμονωμένο tiddler με μορφή ακατέργαστου κειμένου ή δυαδική σε καθορισμένο όνομα αρχείου. \n\n```\n--savetiddler <τίτλος> <όνομα-αρχείου>\n```\n\nΤυπικά, το όνομα αρχείου αναλύεται σχετικά ως προς τον υποφάκελο  `output` του φακέλου τη έκδοσης. Η εντολή `--output` μπορεί να χρησιμοποιηθεί για να ανακατευθύνει την έξοδο σε έναν διαφορετικό φάκελο.\n\nΘα δημιουργηθούν αυτόματα τυχόν φάκελοι που δεν υπάρχουν στην διαδρομή για το όνομα αρχείου.\n"
  },
  {
    "path": "languages/el-GR/Help/savetiddlers.tid",
    "content": "title: $:/language/Help/savetiddlers\ndescription: Αποθηκεύει μια ομάδα από ακατέργαστα tiddlers σε έναν φάκελο\n\n(Παρατήρηση: Η εντολή `--savetiddlers` θεωρείτε πλέον παρωχημένη και συστήνεται η χρήση της νέας, πιο ευέλικτης εντολής `--save`)\n\nΑποθηκεύει μια ομάδα από tiddlers σε μορφή ακατέργαστου κειμένου η δυαδική στο καθορισμένο φάκελο.\n\n```\n--savetiddlers <φίλτρο> <διαδρομή> [\"noclean\"]\n```\n\nΤυπικά, η διαδρομή αναλύεται σχετικά ως προς τον υποφάκελο `output` του φακέλου της έκδοσης. Η εντολή `--output` μπορεί να χρησιμοποιηθεί για να ανακατευθύνει την έξοδο σε ένα διαφορετικό φάκελο.\n\nΟ φάκελος εξόδου καθαρίζεται από τυχόν προϋπάρχοντα αρχεία πριν να αποθηκευτούν τα καθορισμένα αρχεία. Η διαγραφή μπορεί να απενεργοποιηθεί χρησιμοποιώντας την ένδειξη \"noclean\".\n\nΘα δημιουργηθούν αυτόματα τυχόν φάκελοι που δεν υπάρχουν στην διαδρομή."
  },
  {
    "path": "languages/el-GR/Help/savewikifolder.tid",
    "content": "title: $:/language/Help/savewikifolder\ndescription: Αποθηκεύει ένα wiki σε έναν νέο φάκελο wiki\n\n<<.from-version \"5.1.20\">>Αποθηκεύει το τρέχον wiki ως φάκελο wiki, συμπεριλαμβανομένων των tiddlers, των plugins και της διαμόρφωσης:\n\n```\n--savewikifolder <διαδρομήφακέλουwiki> [<φίλτρο>] [ [<όνομα>=<τιμή>] ]*\n```\n\n* Ο φάκελος wiki προορισμού πρέπει να είναι κενός ή ανύπαρκτος\n* Το φίλτρο καθορίζει ποια tiddlers θα πρέπει να συμπεριληφθούν. Είναι προαιρετικό, με την προεπιλεγμένη τιμή `[all[tiddlers]]`\n* Τα πρόσθετα από την επίσημη βιβλιοθήκη πρόσθετων αντικαθίστανται με αναφορές σε αυτά τα πρόσθετα στο αρχείο `tiddlywiki.info`\n* Τα προσαρμοσμένα πρόσθετα αποσυσκευάζονται στον δικό τους φάκελο\n\nΥποστηρίζονται οι ακόλουθες επιλογές:\n\n* ''φίλτρο'': μια έκφραση φίλτρου που ορίζει τα tiddlers που θα συμπεριληφθούν στην έξοδο\n* ''explodePlugins'': η προεπιλεγμένη τιμή είναι \"yes\"\n** Το ''yes'' θα αναπτύξει («εκραγεί») τα πρόσθετα σε ξεχωριστά αρχεία tiddler και θα τα αποθηκεύσει στον κατάλογο πρόσθετων μέσα στον φάκελο wiki\n** Το ''no'' αποτρέπει την ανάπτυξη («έκρυξη») των πρόσθετων στα επιμέρους αρχεία tiddler τους. Θα αποθηκεύσει το πρόσθετο ως ένα μεμονωμένο tiddler τύπου JSON στον φάκελο tiddlers\n\nΣημειώνουμε ότι και οι δύο επιλογές του ''explodePlugins'' θα δημιουργήσουν φακέλους wiki που δομούν ακριβώς το ίδιο αρχικό wiki. Η διαφορά έγκειται στον τρόπο με τον οποίο αναπαρίστανται τα πρόσθετα στον φάκελο του wiki.\n\nΜια συνηθισμένη χρήση είναι η μετατροπή ενός αρχείου HTML του TiddlyWiki σε έναν φάκελο wiki:\n\n```\ntiddlywiki --load ./τοwikiμου.html --savewikifolder ./οφάκελοςwikiμου\n```\n\nΓια την αποθήκευση του πρόσθετου στον κατάλογο tiddlers του φακέλου wiki προορισμού:\n\n```\ntiddlywiki --load ./τοwikiμου.html --savewikifolder ./οφάκελοςwikiμου explodePlugins=no\n```\n"
  },
  {
    "path": "languages/el-GR/Help/server.tid",
    "content": "title: $:/language/Help/server\ndescription: (παρωχημένη: δες την εντολή «listen») Παρέχει μια διεπαφή διακομιστή HTTP στο TiddlyWiki\n\nΠαρωχημένη εντολή για την εξυπηρέτηση ενός wiki μέσω HTTP.\n\n```\n--server <θύρα> <tiddler-ρίζας> <τύπος-απεικόνισης> <τύπος-εξυπηρέτησης> <όνομα-χρήστη> <κωδικός> <διακομιστής> <πρόθεμα-διαδρομών> <επίπεδο-αποσφαλμάτωσης>\n```\n\nΟι παράμετροι είναι:\n\n* ''θύρα'' - αριθμός θύρας για ακρόαση· οι μη αριθμητικές τιμές ερμηνεύονται ως μεταβλητή περιβάλλοντος συστήματος από την οποία εξάγεται ο αριθμός θύρας (προεπιλογή: \"8080\")\n* ''tiddler-ρίζας'' - το tiddler που θα εξυπηρετηθεί στη ρίζα (προεπιλογή: \"$:/core/save/all\")\n* ''τύπος-απεικόνισης'' - ο τύπος περιεχομένου στον οποίο θα πρέπει να αποδοθεί το tiddler ρίζας (προεπιλογή: \"text/plain\")\n* ''τύπος-εξυπηρέτησης'' - ο τύπος περιεχομένου με τον οποίο θα εξυπηρετηθεί το tiddler ρίζας (προεπιλογή: \"text/html\")\n* ''όνομα-χρήστη'' - το προεπιλεγμένο όνομα χρήστη για την υπογραφή των επεξεργασιών\n* ''κωδικός-πρόσβασης'' - προαιρετικός κωδικός πρόσβασης για βασικό έλεγχο ταυτότητας\n* ''εξυπηρετητής'' - προαιρετικό όνομα εξυπηρετητή για την εξυπηρέτηση (προεπιλογή: \"127.0.0.1\" γνωστό και ως \"localhost\")\n* ''πρόθεμα-διαδρομής'' - προαιρετικό πρόθεμα για τις διαδρομές\n* ''επίπεδο-αποσφαλμάτωσης'' - προαιρετικό επίπεδο αποσφαλμάτωσης· ορίστε το σε \"debug\" για να δεις λεπτομέρειες των αιτημάτων (προεπιλογή: \"none\")\n\nΑν καθοριστεί η παράμετρος συνθηματικού τότε το πρόγραμμα περιήγησης θα ενημερώσει τον χρήστη να εισάγει το όνομα χρήστη και συνθηματικό του.  Σημειώστε ότι το συνθηματικό θα μεταδοθεί ως απλό κείμενο οπότε η υλοποίηση αυτή δεν είναι κατάλληλη για γενική χρήση.\n\nΑν καθοριστεί η παράμετρος του κωδικού πρόσβασης, τότε το πρόγραμμα περιήγησης θα ζητήσει από τον χρήστη το όνομα χρήστη και τον κωδικό πρόσβασης. Σημειώνουμε ότι ο κωδικός πρόσβασης μεταδίδεται σε απλό κείμενο, επομένως αυτή η υλοποίηση θα πρέπει να χρησιμοποιείται μόνο σε αξιόπιστο δίκτυο ή μέσω HTTPS.\n\nΓια παράδειγμα:\n\n```\n--server 8080 $:/core/save/all text/plain text/html ΤοΌνομαΧρήστηΜου κωδικ0ς\n```\n\n\nΤο όνομα χρήστη και ο κωδικός πρόσβασης μπορούν να καθοριστούν ως κενές συμβολοσειρές εάν πρέπει να ορίσεις το όνομα του εξυπηρετητή ή το πρόθεμα διαδρομής και δεν θέλεις να απαιτείται κωδικός πρόσβασης.\n\n```\n--server 8080 $:/core/save/all text/plain text/html \"\" \"\" 192.168.0.245\n```\n\nΗ χρήση μιας τέτοιας διεύθυνσης εκθέτει το σύστημά σου στο τοπικό δίκτυο. Για πληροφορίες σχετικά με το άνοιγμα της παρουσίας σου σε ολόκληρο το τοπικό δίκτυο και τις πιθανές ανησυχίες για την ασφάλεια, ανέτρεξε στο tiddler «WebServer» στο TiddlyWiki.com.\n\nΓια να εκτελέσεις ταυτόχρονα πολλούς διακομιστές TiddlyWiki, θα πρέπει να βάλεις τον καθένα σε διαφορετική θύρα. Μπορεί να είναι χρήσιμο να χρησιμοποιήσεις μια μεταβλητή περιβάλλοντος για να περάσεις τον αριθμό θύρας στη διαδικασία Node.js. Αυτό το παράδειγμα αναφέρεται σε μια μεταβλητή περιβάλλοντος που ονομάζεται «Ο_ΑΡΙΘΜΟΣ_ΘΥΡΑΣ_ΜΟΥ»:\n\n```\n--server Ο_ΑΡΙΘΜΟΣ_ΘΥΡΑΣ_ΜΟΥ $:/core/save/all text/plain text/html ΤοΌνομαΧρήστηΜου κωδικ0ς\n```"
  },
  {
    "path": "languages/el-GR/Help/setfield.tid",
    "content": "title: $:/language/Help/setfield\ndescription: Προετοιμάζει  εξωτερικά  tiddlers για χρήση\n\n//Σημειώνουμε ότι αυτή η εντολή είναι σε πειραματικό στάδιο και μπορεί να αλλάξει η να αντικατασταθεί πριν καν τελειοποιηθεί//\n\nΘέτει το αποτέλεσμα της wiki-ποίησης ενός προτύπου tiddler στο καθορισμένο πεδίο μιας ομάδας από tiddlers, με την μεταβλητή `currentTiddler` να έχει τιμή το tiddler.\n\n```\n--setfield <φίλτρο> <όνομα-πεδίου> <τίτλος-προτύπου> <τύπος-απεικόνισης>\n```\n\nΟι παράμετροι είναι:\n\n* ''φίλτρο'' - το φίλτρο που καθορίζει τα  tiddlers που θα επηρεαστούν\n* ''όνομα-πεδίου'' - το πεδίο που θα τροποποιηθεί (τυπική τιμή είναι το \"text\")\n* ''τίτλος-προτύπου'' - το tiddler για  wiki-ποίηση εντός του καθορισμένου πεδίου. Αν είναι κενό η λείπει, τότε διαγράφεται το καθορισμένο πεδίο\n* ''τύπος-απεικόνισης'' - ο τύπος κειμένου για απεικόνιση (τυπική τιμή είναι το \"text/plain\". Η τιμή \"text/html\" μπορεί να χρησιμοποιηθεί για να συμπεριλάβει επίσης τις ετικέτες HTML)\n\n"
  },
  {
    "path": "languages/el-GR/Help/unpackplugin.tid",
    "content": "title: $:/language/Help/unpackplugin\ndescription: Εξάγει τα ωφέλιμα tiddler από ένα πρόσθετο\n\nΕξάγει τα ωφέλιμα tiddlers από ένα πρόσθετο, δημιουργώντας τα ως κοινότυπα tiddlers:\n\n```\n--unpackplugin <τίτλος>\n```\n"
  },
  {
    "path": "languages/el-GR/Help/verbose.tid",
    "content": "title: $:/language/Help/verbose\ndescription: Ενεργοποιεί την λειτουργία λεπτομερής εξόδου\n\nΕνεργοποιεί την λειτουργία λεπτομερής εξόδου, που είναι χρήσιμη για αποσφαλμάτωση\n\n```\n--verbose\n```\n"
  },
  {
    "path": "languages/el-GR/Help/version.tid",
    "content": "title: $:/language/Help/version\ndescription: Εμφανίζει τον αριθμό έκδοσης του TiddlyWiki\n\nΕμφανίζει τον αριθμό έκδοσης του  TiddlyWiki.\n\n```\n--version\n```\n"
  },
  {
    "path": "languages/el-GR/Import.multids",
    "content": "title: $:/language/Import/\n\nEditor/Import/Heading: Κάνε εισαγωγή τις εικόνες και πρόσθεσέ τις στον επεξεργαστή.\nImported/Hint: Τα ακόλουθα tiddler έχουν εισαχθεί:\nListing/Cancel/Caption: Άκυρο\nListing/Cancel/Warning: Θέλεις να ακυρώσεις την εισαγωγή;\nListing/Hint: Αυτά τα tiddlers είναι έτοιμα για εισαγωγή:\nListing/Import/Caption: Εισαγωγή\nListing/Preview: Προεπισκόπιση:\nListing/Preview/Diff: Διαφορά\nListing/Preview/DiffFields: Διαφορά (Πεδία)\nListing/Preview/Fields: Πεδία\nListing/Preview/Text: Κείμενο\nListing/Preview/TextRaw: Κείμενο (ακατέργαστο)\nListing/Rename/CancelRename: Άκυρο\nListing/Rename/ConfirmRename: Μετονομασία tiddler\nListing/Rename/OverwriteWarning: Υπάρχει ήδη ένα tiddler με αυτόν τον τίτλο.\nListing/Rename/Prompt: Μετονομασία σε:\nListing/Rename/Tooltip: Μετονομασία tiddler πριν την εισαγωγή\nListing/Select/Caption: Επιλογή\nListing/Status/Caption: Κατάσταση\nListing/Title/Caption: Τίτλος\nUpgrader/Plugins/Suppressed/Incompatible: Μπλοκαρίστηκε ασύμβατο ή παρωχημένο πρόσθετο.\nUpgrader/Plugins/Suppressed/Version: Μπλοκαρίστηκε το πρόσθετο (επειδή το εισερχόμενο <<incoming>>  δεν είναι πιο καινούριο από το υπάρχον <<existing>>)\nUpgrader/Plugins/Upgraded: Αναβαθμίστηκε το πρόσθετο από <<incoming>> σε <<upgraded>>\nUpgrader/State/Suppressed: Μπλοκαρίστηκε προσωρινό tiddler κατάστασης.\nUpgrader/System/Alert: Πρόκειται να εισάγεις ένα tiddler που θα αντικαταστήσει tiddler του πυρήνα (core). Αυτό δεν συνιστάται, καθώς μπορεί να προκαλέσει αστάθεια στο σύστημα.\nUpgrader/System/Disabled: Απενεργοποιήθηκε tiddler συστήματος.\nUpgrader/System/Suppressed: Μπλοκαρίστηκε tiddler συστήματος.\nUpgrader/System/Warning: Tiddler του πυρήνα.\nUpgrader/ThemeTweaks/Created: Μεταφέρθηκε μικροαλλαγή θέματος από <$text text=<<from>>/>\nUpgrader/Tiddler/Disabled: Απενεργοποιήθηκε tiddler.\nUpgrader/Tiddler/Selected: Επιλέχτηκε το tiddler.\nUpgrader/Tiddler/Unselected: Από-επιλέχτηκε το tiddler.\n"
  },
  {
    "path": "languages/el-GR/Misc.multids",
    "content": "title: $:/language/\n\nAboveStory/ClassicPlugin/Warning: Φαίνεται πως προσπαθείς να φορτώσεις ένα πρόσθετο που έχει σχεδιαστεί για το ~TiddlyWiki Classic. Σημειώνουμε ότι [[αυτά τα πρόσθετα δεν λειτουργούν με την έκδοση 5.χ.χ του TiddlyWiki|https://tiddlywiki.com/#TiddlyWikiClassic]]. Πρόσθετα ~TiddlyWiki Classic που εντοπίστηκαν:\nBinaryWarning/Prompt: Αυτό το tiddler περιέχει δυαδικά δεδομένα\nClassicWarning/Hint: Αυτό το tiddler έχει γραφτεί με την wiki-γραφή του TiddlyWiki Classic, που δεν είναι πλήρως συμβατή με τη γραφή της 5ης έκδοσης του TiddlyWiki. Δες το https://tiddlywiki.com/static/Upgrading.html για περισσότερες λεπτομέρειες.\nClassicWarning/Upgrade/Caption: αναβάθμιση\nCloseAll/Button: κλείσε τα όλα\nColourPicker/Recent: Πρόσφατα:\nConfirmAction: Θέλεις να συνεχίσεις;\nConfirmCancelTiddler: Θέλεις να απορριφθούν οι όποιες τροποποιήσεις έχεις κάνει στο tiddler «<$text text=<<title>>/>»;\nConfirmDeleteTiddler: Θέλεις να διαγράψεις το tiddler «<$text text=<<title>>/>»;\nConfirmDeleteTiddlers: Σίγουρα θέλεις να διαγράψεις <<resultCount>> tiddlers;\nConfirmEditShadowTiddler: Πρόκειται να τροποποιήσεις ένα σκιώδη tiddler. Οποιεσδήποτε τροποποιήσεις θα αντικαταστήσουν το τυπικό σύστημα και υπάρχει κίνδυνος να δυσκολευτείτε σε σε μελλοντική αναβάθμιση. Είστε σίγουροι ότι θέλετε να τροποποιήσετε το «<$text text=<<title>>/>»;\nConfirmOverwriteTiddler: Θέλετε να αντικαταστήσετε το tiddler «<$text text=<<title>>/>»?\nCount: απαρίθμηση\nDefaultNewTiddlerTitle: Νέο tiddler\nDiffs/CountMessage: <<diff-count>> διαφορές\nDropMessage: Άφησε εδώ (ή πάτησε το πλήκτρο Esc για να ακύρωσεις)\nEncryption/Cancel: Άκυρο\nEncryption/ConfirmClearPassword: Θέλεις να αφαιρέσεις τον κωδικό; Αυτό θα έχει ως συνέπεια να μην κρυπτογραφείται το wiki όταν αποθηκεύεται\nEncryption/Password: Κωδικός\nEncryption/PasswordNoMatch: Οι κωδικοί δεν ταιριάζουν\nEncryption/PromptSetPassword: Όρισε τον νέο κωδικό για αυτό το TiddlyWiki\nEncryption/RepeatPassword: Επανέλαβε τον κωδικό\nEncryption/SetPassword: Όρισε κωδικό\nEncryption/Username: Όνομα χρήστη\nError/Caption: Σφάλμα\nError/DeserializeOperator/MissingOperand: Σφάλμα Φίλτρου: Λείπει ο τελεστής για τον τελεστή «deserialize»\nError/DeserializeOperator/UnknownDeserializer: Σφάλμα Φίλτρου: Άγνωστος αποσειριοποιητής παρέχεται ως τελεστής για τον τελεστή «deserialize»\nError/Filter: Σφάλμα φίλτρου\nError/FilterRunPrefix: Σφάλμα Φίλτρου: Άγνωστο πρόθεμα για την εκτέλεση φίλτρου\nError/FilterSyntax: Συντακτικό σφάλμα στην έκφραση του φίλτρου\nError/FormatFilterOperator: Σφάλμα Φίλτρου: Άγνωστο επίθημα για τον τελεστή φίλτρου «format»\nError/IsFilterOperator: Σφάλμα Φίλτρου: Άγνωστη παράμετρος για τον τελεστή φίλτρου «is»\nError/LoadingPluginLibrary: Σφάλμα κατά την φόρτωση της βιβλιοθήκης του πρόσθετου\nError/NetworkErrorAlert: `<h2>''Σφάλμα δικτύου''</h2>Φαίνεται ότι η σύνδεση με τον διακομιστή έχει χαθεί. Αυτό μπορεί να υποδηλώνει πρόβλημα με τη σύνδεση του δικτύου. Προσπάθησε να επαναφέρεις τη σύνδεση δικτύου πριν συνεχίσεις.<br><br>''Οποιεσδήποτε αποθηκευμένες αλλαγές που δεν έχουν αποθηκευτεί θα συγχρονιστούν αυτόματα όταν αποκατασταθεί η σύνδεση''.`\nError/PutEditConflict: Το αρχείο άλλαξε στον εξυπηρετητή\nError/PutForbidden: Η άδεια απερρίφθη\nError/PutUnauthorized: Απαιτείται ταυτοποίηση\nError/RecursiveTransclusion: Σφάλμα αναδρομής σε transclusion στο transclude widget\nError/RetrievingSkinny: Σφάλμα κατά την ανάκληση της λίστας λεπτών tiddler\nError/SavingToTWEdit: Σφάλμα κατά την αποθήκευση στο TWEdit\nError/WhileSaving: Σφάλμα κατά την αποθήκευση\nError/XMLHttpRequest: Κωδικός σφάλματος XMLHttpRequest\nError/ZoominTextNode: Σφάλμα Προβολής Ιστορίας: Φαίνεται ότι προσπάθησες να αλληλεπιδράσεις με ένα tiddler που εμφανίζεται σε προσαρμοσμένο δοχείο. Αυτό πιθανότατα προκαλείται από τη χρήση του φίλτρου `$:/tags/StoryTiddlerTemplateFilter` με ένα πρότυπο που περιέχει κείμενο ή κενό/α στην αρχή. Παρακαλούμε χρησιμοποίησε το pragma `\\whitespace trim` και βεβαίωσε ότι όλο το περιεχόμενο του tiddler περιλαμβάνεται σε μόνο ένα στοιχείο HTML. Το κείμενο που προκάλεσε αυτό το πρόβλημα:\nInternalJavaScriptError/Hint:  Λοιπόν, αυτό είναι ντροπιαστικό. Συνιστάμε να επανεκκινήσεις το TiddlyWiki, πατώντας ανανέωση στον περιηγητή σου\nInternalJavaScriptError/Title: Εσωτερικό Σφάλμα JavaScript\nLayoutSwitcher/Description: Άνοιξε τον εναλλάκτη διατάξεων\nLazyLoadingWarning: <p>Γίνεται φόρτωση εξωτερικού περιεχόμενο από ''<$text text={{!!_canonical_uri}}/>''</p><p>Αν αυτό το μήνυμα δεν εξαφανιστεί, ενδέχεται ότι ο τύπος tiddler δεν ταιριάζει με τον τύπο του εξωτερικού περιεχομένου, ή πως το πρόγραμμα περιήγησης που χρησιμοποιείς δεν υποστηρίζει εξωτερικό περιεχόμενο για wiki που φορτώθηκαν ως αυτοτελή Δες σχετικά στο https://tiddlywiki.com/#ExternalText</p>\nLoginToTiddlySpace: Είσοδος στο TiddlySpace\nManager/Controls/FilterByTag/None: (καμία)\nManager/Controls/FilterByTag/Prompt: Φιλτράρισμα με ετικέτα:\nManager/Controls/Order/Prompt: Αντιστροφή σειράς\nManager/Controls/Search/Placeholder: Αναζήτηση\nManager/Controls/Search/Prompt: Αναζήτηση:\nManager/Controls/Show/Option/Tags: ετικέτες\nManager/Controls/Show/Prompt: Δείξε:\nManager/Controls/Sort/Prompt: Ταξινόμηση βάσει:\nManager/Item/Colour: Χρώμα\nManager/Item/Fields: Πεδία\nManager/Item/Icon: Εικονίδιο\nManager/Item/Icon/None: (κανένα)\nManager/Item/RawText: Ακατέργαστο κείμενο\nManager/Item/Tags: Ετικέτες\nManager/Item/Tools: Εργαλεία\nManager/Item/WikifiedText: Wiki-ποιημένο κείμενο\nMissingTiddler/Hint: Ανύπαρκτο tiddler «<$text text=<<currentTiddler>>/>» - πάτησε {{||$:/core/ui/Buttons/edit}} για να το δημιουργήσεις\nNo: Όχι\nOfficialPluginLibrary: Επίσημη Βιβλιοθήκη Πρόσθετων ~TiddlyWiki\nOfficialPluginLibrary/Hint: Η επίσημη βιβλιοθήκη πρόσθετων του ~TiddlyWiki στο tiddlywiki.com. Τα πρόσθετα, τα θέματα και τα πακέτα γλωσσών συντηρούνται από την κεντρική ομάδα.\nPageTemplate/Description: η προκαθορισμένη διάταξη του ~TiddlyWiki\nPageTemplate/Name: Τυπική Διάταξη\nPluginReloadWarning: Παρακαλούμε αποθήκευσε {{$:/core/ui/Buttons/save-wiki}} και επαναφόρτωσε {{$:/core/ui/Buttons/refresh}} προκειμένου να ενεργοποιηθούν οι αλλαγές στα πρόσθετα\nRecentChanges/DateFormat: DDth MMM YYYY\nShortcuts/Input/Accept/Hint: Αποδέξου το επιλεγμένο στοιχείο\nShortcuts/Input/AcceptVariant/Hint: Αποδέξου το επιλεγμένο στοιχείο (παραλλαγή)\nShortcuts/Input/AdvancedSearch/Hint: Άνοιξε τη ~AdvancedSearch από το πεδίο αναζήτησης στη πλευρική εργαλειοθήκη\nShortcuts/Input/Cancel/Hint: Εκκαθάρισε το πεδίο εισαγωγής\nShortcuts/Input/Down/Hint: Επέλεξε την επόμενη καρτέλα\nShortcuts/Input/Tab-Left/Hint: Επέλεξε την προηγούμενη καρτέλα\nShortcuts/Input/Tab-Right/Hint: Επέλεξε την επόμενη καρτέλα\nShortcuts/Input/Up/Hint: Επέλεξε το προηγούμενο αντικείμενο\nShortcuts/SidebarLayout/Hint: Άλλαξε τη διάταξη της πλευρικής εργαλειοθήκης\nSwitcher/Subtitle/language: Άλλαξε Γλώσσα\nSwitcher/Subtitle/layout: Άλλαξε Διάταξη\nSwitcher/Subtitle/palette: Άλλαξε Παλέτα\nSwitcher/Subtitle/theme: Άλλαξε Θέμα\nSystemTiddler/Tooltip: Αυτό είναι ένα tiddler συστήματος\nSystemTiddlers/Include/Prompt: Συμπεριέλαβε συστεμικά tiddlers\nTagManager/Colour/Heading: Χρώμα\nTagManager/Count/Heading: Απαρίθμηση\nTagManager/Icon/Heading: Εικονίδιο\nTagManager/Icons/None: Κανένα\nTagManager/Info/Heading: Πληροφορίες\nTagManager/Tag/Heading: Ετικέτα\nTiddler/DateFormat: DDth MMM YYYY στις hh12:0mmam\nUnsavedChangesWarning: Έχεις μη αποθηκευμένες αλλαγές στο TiddlyWiki\nYes: Ναι\nΕντοπίστηκε πρόσθετο για την έκδοση ~TiddlyWiki Classic: Εντοπίστηκε πρόσθετο για την έκδοση ~TiddlyWiki Classic\n"
  },
  {
    "path": "languages/el-GR/Modals/Download.tid",
    "content": "title: $:/language/Modals/Download\ntype: text/vnd.tiddlywiki\nsubtitle: Μεταφόρτωση αλλαγών\nfooter: <$button message=\"tm-close-tiddler\">Κλείσε</$button>\nhelp: https://tiddlywiki.com/static/DownloadingChanges.html\n\nΤο πρόγραμμα πλοήγησης που χρησιμοποιείς υποστηρίζει μόνο χειροκίνητη αποθήκευση.\n\nΓια να αποθηκεύσεις το τροποποιημένο σου wiki, κάνε δεξί κλικ στον δεσμό παρακάτω και επέλεξε «Μεταφόρτωση αρχείου» ή «Αποθήκευση αρχείου», και μετά επέλεξε τον φάκελο και το όνομα του αρχείου.\n\n//Μπορείς  να επιταχύνεις σημαντικά την διαδικασία κάνοντας κλικ στον δεσμό με το πλήκτρο control (Windows) ή με το options/alt (Mac OS X). Δεν θα δεις προειδοποιητικό μήνυμα για τον φάκελο ή το όνομα αρχείου, αλλά είναι πιθανών πως το πρόγραμμα περιήγησης θα ορίσει ένα δικό του όνομα στο αρχείο -- το οποίο ίσως χρειαστεί να το μετονομάσεις, προσθέτοντας την κατάληξη `.html` προκειμένου να το χρησιμοποιήσεις.//\n\nΣε κινητά που δεν επιτρέπεται η λήψη αρχείων, μπορείς αντί αυτού να ορίσεις σελιδοδείκτη στον δεσμό, και μετά να συγχρονίσεις τους σελιδοδείκτες σου σε έναν επιτραπέζιο υπολογιστή όπου εκεί μπορείς να αποθηκεύσεις το wiki κανονικά.\n"
  },
  {
    "path": "languages/el-GR/NewJournal.multids",
    "content": "title: $:/config/NewJournal/\n\nTags: Ημερολόγιο\nTitle: DDη MMM YYYY\n"
  },
  {
    "path": "languages/el-GR/Notifications.multids",
    "content": "title: $:/language/Notifications/\n\nCopiedToClipboard/Failed: Απέτυχε η αντιγραφή στο πρόχειρο!\nCopiedToClipboard/Succeeded: Αντιγράφηκε στο πρόχειρο!\nSave/Done: Το wiki αποθηκεύτηκε\nSave/Starting: Έναρξη αποθήκευσης του wiki\n"
  },
  {
    "path": "languages/el-GR/Search.multids",
    "content": "title: $:/language/Search/\n\nDefaultResults/Caption: Λίστα\nFilter/Caption: Φίλτρο\nFilter/Hint: Αναζήτηση με [[έκφραση φιλτραρίσματος|https://tiddlywiki.com/static/Filters.html]]\nFilter/Matches: //<small><<resultCount>> αποτελέσματα</small>//\nMatches: //<small><<resultCount>> αποτελέσματα</small>//\nMatches/All: Όλα τα αποτελέσματα:\nMatches/NoMatch: //Δεν ταίριαξε κανένα αποτέλεσμα//\nMatches/NoResult: //Δεν υπάρχουν αποτελέσματα//\nMatches/Title: Ταίριασμα σε τίτλο:\nSearch: Αναζήτηση\nSearch/TooShort: Το κείμενο αναζήτησης είναι πολύ σύντομο\nShadows/Caption: Σκιώδη\nShadows/Hint: Αναζήτηση για σκιώδη tiddlers\nShadows/Matches: //<small><<resultCount>> αποτελέσματα</small>//\nStandard/Caption: Τυπικά\nStandard/Hint: Αναζήτηση για τυπικά tiddlers\nStandard/Matches: //<small><<resultCount>> αποτελέσματα</small>//\nSystem/Caption: Συστήματος\nSystem/Hint: Αναζήτηση για tiddler συστήματος\nSystem/Matches: //<small><<resultCount>> αποτελέσματα</small>//\n"
  },
  {
    "path": "languages/el-GR/SideBar.multids",
    "content": "title: $:/language/SideBar/\n\nAll/Caption: Άπαντα\nContents/Caption: Περιεχόμενα\nDrafts/Caption: Πρόχειρα\nExplorer/Caption: Εξερευνητής\nMissing/Caption: Λείπουν\nMore/Caption: Περισσότερα\nOpen/Caption: Ανοιχτά\nOrphans/Caption: Ορφανά\nRecent/Caption: Πρόσφατα\nShadows/Caption: Σκιώδη\nSystem/Caption: Συστήματος\nTags/Caption: Ετικέτες\nTags/Untagged/Caption: χωρίς ετικέτα\nTools/Caption: Εργαλεία\nTypes/Caption: Τύποι\n"
  },
  {
    "path": "languages/el-GR/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\nένα μη-γραμμικό προσωπικό σημειωματάριο του ιστού"
  },
  {
    "path": "languages/el-GR/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\nΤο ~TiddlyWiki μου"
  },
  {
    "path": "languages/el-GR/Snippets/FunctionDefinition.tid",
    "content": "title: $:/language/Snippets/FunctionDefinition\ntags: $:/tags/TextEditor/Snippet\ncaption: Ορισμός συνάρτησης\n\n\\function σ.όνομα(παράμετρος1,παράμετρος2:\"προκαθορισμένη τιμή\") [<παράμετρος1>!is[blank]else<παράμετρος2>]\n\n<<σ.όνομα>>\n"
  },
  {
    "path": "languages/el-GR/Snippets/ListByTag.tid",
    "content": "title: $:/language/Snippets/ListByTag\ntags: $:/tags/TextEditor/Snippet\ncaption: Λίστα tiddlers ανά ετικέτα\n\n<<list-links \"[tag[έργο]sort[title]]\">>\n"
  },
  {
    "path": "languages/el-GR/Snippets/MacroDefinition.tid",
    "content": "title: $:/language/Snippets/MacroDefinition\ntags: $:/tags/TextEditor/Snippet\ncaption: Ορισμός μακροεντολής\n\n\\define όνομαΜακροεντολής(παράμετρος1:\"προκαθορισμένη τιμή\",παράμετρος2)\nΚείμενο της μακροεντολής\n\\end\n"
  },
  {
    "path": "languages/el-GR/Snippets/ProcedureDefinition.tid",
    "content": "title: $:/language/Snippets/ProcedureDefinition\ntags: $:/tags/TextEditor/Snippet\ncaption: Ορισμός διαδικασίας\n\n\\procedure όνομαΔιαδικασίας(παράμετρος1:\"προκαθορισμένη τιμή\",παράμετρος2)\nΤο κείμενο σου βρίσκεται εδώ.\n\\end\n"
  },
  {
    "path": "languages/el-GR/Snippets/Table4x3.tid",
    "content": "title: $:/language/Snippets/Table4x3\ntags: $:/tags/TextEditor/Snippet\ncaption: Πίνακας με 4 στήλες επί 3 γραμμές\n\n|! |!Άλφα |!Βήτα |!Γάμμα |!Δέλτα |\n|!Ένα | | | |\n|!Δύο | | | | |\n|!Τρία | | | | |\n"
  },
  {
    "path": "languages/el-GR/Snippets/TableOfContents.tid",
    "content": "title: $:/language/Snippets/TableOfContents\ntags: $:/tags/TextEditor/Snippet\ncaption: Πίνακας περιεχομένων\n\n<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'ΠίνακαςΠεριεχωμένων'>>\n\n</div>\n"
  },
  {
    "path": "languages/el-GR/ThemeTweaks.multids",
    "content": "title: $:/language/ThemeTweaks/\n\nMetrics: Μεγέθη\nMetrics/BodyFontSize: Μέγεθος γραμματοσειράς για το κυρίως κείμενο του tiddler\nMetrics/BodyLineHeight: Ύψος γραμμής για το κυρίως κείμενο του tiddler\nMetrics/FontSize: Μέγεθος γραμματοσειράς\nMetrics/LineHeight: Ύψος γραμμής\nMetrics/SidebarBreakpoint: Σημείο διακοπής της πλευρικής εργαλειοθήκης\nMetrics/SidebarBreakpoint/Hint: το ελάχιστο πλάτος σελίδας στο οποίο η ιστορική<br>ροή και η πλευρική εργαλειοθήκη εμφανίζονται η μία δίπλα στην άλλη\nMetrics/SidebarWidth: Πλάτος της πλευρικής εργαλειοθήκης\nMetrics/SidebarWidth/Hint: το πλάτος της πλευρικής εργαλειοθήκης σε ρευστή-στερεοποιημένη διάταξη\nMetrics/StoryLeft: Αριστερή θέση ιστορικού\nMetrics/StoryLeft/Hint: πόσο απέχει το αριστερό περιθώριο (margin) της ιστορικής ροής<br>(περιοχή με tiddlers) από το αριστερό μέρος της σελίδας\nMetrics/StoryRight: Δεξιά θέση ιστορικού\nMetrics/StoryRight/Hint: Πόσο απέχει το αριστερό περιθώριο (margin) της πλευρικής εργαλειοθήκης<br>από το αριστερό μέρος της σελίδας\nMetrics/StoryTop: Θέση κορυφής ιστορικού\nMetrics/StoryTop/Hint: πόσο απέχει το περιθώριο (margin) της ιστορικής ροής<br>από την κορυφή της σελίδας\nMetrics/StoryWidth: Το συνολικό πλάτος της ιστορικής ροής\nMetrics/StoryWidth/Hint: το συνολικό πλάτος της ιστορικής ροής\nMetrics/TiddlerWidth: Πλάτος κάθε tiddler\nMetrics/TiddlerWidth/Hint: εντός της ιστορικής ροής\nOptions: Επιλογές\nOptions/CodeWrapping: Αναδίπλωση μεγάλων γραμμών σε τμήματα κώδικα\nOptions/SidebarLayout: Διάταξη πλευρικής εργαλειοθήκης\nOptions/SidebarLayout/Fixed-Fluid: Στερεοποιημένο ιστορικό, ρευστή πλευρική εργαλειοθήκη\nOptions/SidebarLayout/Fluid-Fixed: Ρευστό ιστορικό, στερεοποιημένη πλευρική εργαλειοθήκη\nOptions/StickyTitles: Κολλώδεις τίτλοι\nOptions/StickyTitles/Hint: Αναγκάζει τους τίτλους των tiddler να «κολλάνε» στην κορυφή του παραθύρου του προγράμματος περιήγησης.\nSettings: Ρυθμίσεις\nSettings/BackgroundImage: Εικόνα υποβάθρου σελίδας\nSettings/BackgroundImageAttachment: Επισύναψη εικόνας υποβάθρου σελίδας\nSettings/BackgroundImageAttachment/Fixed: Στερεωμένη στο παράθυρο\nSettings/BackgroundImageAttachment/Scroll: Κύλιση με tiddlers\nSettings/BackgroundImageSize: Μέγεθος εικόνας υποβάθρου της σελίδας\nSettings/BackgroundImageSize/Auto: Αυτόματο\nSettings/BackgroundImageSize/Contain: Περιέχει\nSettings/BackgroundImageSize/Cover: Εξώφυλλο\nSettings/CodeFontFamily: Οικογένεια γραμματοσειράς για κώδικα\nSettings/EditorFontFamily: Οικογένεια γραμματοσειράς για επεξεργασία\nSettings/FontFamily: Οικογένεια γραμματοσειράς\nThemeTweaks: Προσαρμογές Στο Θέμα\nThemeTweaks/Hint: Μπορείς να κάνεις κάποιες αλλαγές στο θέμα  ''Vanilla''.\n"
  },
  {
    "path": "languages/el-GR/TiddlerInfo.multids",
    "content": "title: $:/language/TiddlerInfo/\n\nAdvanced/Caption: Προηγμένα\nAdvanced/PluginInfo/Empty/Hint: κανένα\nAdvanced/PluginInfo/Heading: Λεπτομέρειες πρόσθετου\nAdvanced/PluginInfo/Hint: Αυτό το πρόσθετο περιέχει τα παρακάτω σκιώδη tiddlers:\nAdvanced/ShadowInfo/Heading: Κατάσταση Σκιώδους\nAdvanced/ShadowInfo/NotShadow/Hint: Το tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> δεν είναι σκιώδης tiddler\nAdvanced/ShadowInfo/OverriddenShadow/Hint: Έχει παρακαμφθεί από ένα κανονικό tiddler\nAdvanced/ShadowInfo/Shadow/Hint: Το tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> είναι σκιώδης tiddler\nAdvanced/ShadowInfo/Shadow/Source: Έχει οριστεί στο πρόσθετο <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>\nFields/Caption: Πεδία\nList/Caption: Λίστα\nList/Empty: Αυτό το tiddler δεν περιέχει λίστα\nListed/Caption: Σε λίστα\nListed/Empty: Αυτό το tiddler δεν εμφανίζεται σε λίστα οποιουδήποτε άλλου tiddler\nReferences/Caption: Αναφορές\nReferences/Empty: Δεν υπάρχουν δεσμοί από άλλα tiddlers σε αυτό\nTagging/Caption: Ετικέτες\nTagging/Empty: Δεν υπάρχουν tiddlers που να έχουν ετικέτα με τον τίτλο αυτού του tiddler\nTools/Caption: Εργαλεία\n"
  },
  {
    "path": "languages/el-GR/Types/application_javascript.tid",
    "content": "title: $:/language/Docs/Types/application/javascript\ndescription: Κώδικας JavaScript\nname: application/javascript\ngroup: Προγραμματισμού\n"
  },
  {
    "path": "languages/el-GR/Types/application_json.tid",
    "content": "title: $:/language/Docs/Types/application/json\ndescription: Δεδομένα JSON\nname: application/json\ngroup: Προγραμματισμού\n"
  },
  {
    "path": "languages/el-GR/Types/application_x-tiddler-dictionary.tid",
    "content": "title: $:/language/Docs/Types/application/x-tiddler-dictionary\ndescription: Λεξικό δεδομένων\nname: application/x-tiddler-dictionary\ngroup: Προγραμματισμού\n"
  },
  {
    "path": "languages/el-GR/Types/image_gif.tid",
    "content": "title: $:/language/Docs/Types/image/gif\ndescription: Εικόνα GIF\nname: image/gif\ngroup: Εικόνας\n"
  },
  {
    "path": "languages/el-GR/Types/image_jpeg.tid",
    "content": "title: $:/language/Docs/Types/image/jpeg\ndescription: Εικόνα JPEG\nname: image/jpeg\ngroup: Εικόνας\n"
  },
  {
    "path": "languages/el-GR/Types/image_png.tid",
    "content": "title: $:/language/Docs/Types/image/png\ndescription: Εικόνα PNG\nname: image/png\ngroup: Εικόνας\n"
  },
  {
    "path": "languages/el-GR/Types/image_svg+xml.tid",
    "content": "title: $:/language/Docs/Types/image/svg+xml\ndescription: Εικόνα SVG\nname: image/svg+xml\ngroup: Εικόνας\n"
  },
  {
    "path": "languages/el-GR/Types/text_css.tid",
    "content": "title: $:/language/Docs/Types/text/css\ndescription: Στατικό stylesheet\nname: text/css\ngroup: Προγραμματισμού\n"
  },
  {
    "path": "languages/el-GR/Types/text_html.tid",
    "content": "title: $:/language/Docs/Types/text/html\ndescription: Γλώσσα HTML\nname: text/html\ngroup: Κειμένου\n"
  },
  {
    "path": "languages/el-GR/Types/text_plain.tid",
    "content": "title: $:/language/Docs/Types/text/plain\ndescription: Απλό κείμενο\nname: text/plain\ngroup: Κειμένου\n"
  },
  {
    "path": "languages/el-GR/Types/text_vnd.tiddlywiki-multiple.tid",
    "content": "title: $:/language/Docs/Types/text/vnd.tiddlywiki-multiple\ndescription: Σύνθετο tiddler\nname: text/vnd.tiddlywiki-multiple\ngroup: Προγραμματισμού\n"
  },
  {
    "path": "languages/el-GR/Types/text_vnd.tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/vnd.tiddlywiki\ndescription: TiddlyWiki 5\nname: text/vnd.tiddlywiki\ngroup: Κειμένου\n"
  },
  {
    "path": "languages/el-GR/plugin.info",
    "content": "{\n\t\"title\": \"$:/languages/el-GR\",\n\t\"name\": \"el-GR\",\n\t\"plugin-type\": \"language\",\n\t\"description\": \"Ελληνικά (Ελλάδα)\",\n\t\"author\": \"Stratis Aravias@ΓΕΛ Σαμοθράκης\",\n\t\"core-version\": \">=5.0.0\"\n}"
  },
  {
    "path": "languages/en-PH/Buttons.multids",
    "content": "title: $:/language/Buttons/\n\nClear/Hint: Clear image to solid color\nExcise/Caption: cut out\nExcise/Caption/Excise: Cut out\nExcise/Caption/Replace: Replace cut out text with:\nExcise/Hint: Cut out the selected text into a new tiddler\nFullScreen/Hint: Enter or leave fullscreen mode\nPaint/Caption: paint color\nPaint/Hint: Set painting color\nPalette/Hint: Choose the color palette\nStamp/Hint: Insert a pre–configured snippet of text\nStoryView/Hint: Choose the story visualization\n"
  },
  {
    "path": "languages/en-PH/ControlPanel.multids",
    "content": "title: $:/language/ControlPanel/\n\nAppearance/Hint: Ways to customize the appearance of your TiddlyWiki.\nBasics/Language/Prompt: Mabuhay! Current language:\nLoadedModules/Hint: These are the currently loaded tiddler modules linked to their source tiddlers. Any italicized modules lack a source tiddler, typically because they were setup during the boot process.\nPalette/Editor/Names/External/Show: Show color names that are not part of the current palette\nSettings/Hint: These settings let you customize the behaviour of TiddlyWiki.\nTiddlerColour/Caption: Tiddler Color\nTiddlerColour/Hint: This rules cascade is used to dynamically choose the color for a tiddler (used for the icon and the associated tag pill).\n"
  },
  {
    "path": "languages/en-PH/CoreReadMe.tid",
    "content": "title: $:/core/readme\n\nThis plugin contains TiddlyWiki's core components, comprising:\n\n* JavaScript code modules\n* Icons\n* Templates needed to create TiddlyWiki's user interface\n* Philippine English (''en-PH'') translations of the localize strings used by the core\n"
  },
  {
    "path": "languages/en-PH/Dates.multids",
    "content": "title: $:/language/\n\nRelativeDate/Future/Days: <<period>> days from today\nRelativeDate/Future/Months: <<period>> months from today\nRelativeDate/Future/Years: <<period>> years from today\n"
  },
  {
    "path": "languages/en-PH/Docs/ModuleTypes.multids",
    "content": "title: $:/language/Docs/ModuleTypes/\n\nstoryview: Story views customize the animation and behaviour of list widgets.\n"
  },
  {
    "path": "languages/en-PH/Docs/PaletteColours.multids",
    "content": "title: $:/language/Docs/PaletteColours/\n\npre-background: Pre–formatted code background\npre-border: Pre–formatted code border\ntestcase-accent-level-1: Test case accent color with no nesting\ntestcase-accent-level-2: Test case accent color with 2nd level nesting\ntestcase-accent-level-3: Test case accent color with 3rd level nesting or higher\n"
  },
  {
    "path": "languages/en-PH/Fields.multids",
    "content": "title: $:/language/Docs/Fields/\n\nclass: The CSS class applied to a tiddler when rendering it—see [[Custom styles by user-class]].  Also used for [[Modals]]\ncolor: The CSS color value associated with a tiddler\n"
  },
  {
    "path": "languages/en-PH/Filters.multids",
    "content": "title: $:/language/Filters/\n\nTypedTiddlers: Non–wiki-text tiddlers\n"
  },
  {
    "path": "languages/en-PH/Import.multids",
    "content": "title: $:/language/Import/\n\nListing/Cancel/Warning: Do you want to cancel the import?\n"
  },
  {
    "path": "languages/en-PH/Misc.multids",
    "content": "title: $:/language/\n\nConfirmAction: Do you confirm you want to continue?\nConfirmCancelTiddler: Do you want to discard the changes to the tiddler \"<$text text=<<title>>/>\"?\nConfirmDeleteTiddler: Do you want to delete the tiddler \"<$text text=<<title>>/>\"?\nConfirmDeleteTiddlers: Do you want to delete <<resultCount>> tiddler(s)?\nConfirmOverwriteTiddler: Do you want to overwrite the tiddler \"<$text text=<<title>>/>\"?\nEncryption/ConfirmClearPassword: Do you want to clear the password? This will remove the encryption applied when saving this wiki\nError/NetworkErrorAlert: `<h2>''Network Error''</h2>It looks like the connection to the server has been lost. This may indicate a problem with your network connection. Please restore your network connectivity before continuing.<br><br>''Any unsaved changes will be automatically synchronized when connectivity is restored''.`\nError/ZoominTextNode: Story View Error: It appears that you tried to interact with a tiddler which displays a custom container. This is most likely caused by using `$:/tags/StoryTiddlerTemplateFilter` with a template that contains text or whitespace at the beginning. Please use the pragma `\\whitespace trim` and ensure the whole contents of the tiddler is wrapped in a single HTML element. The text that caused this issue:\nManager/Item/Colour: Color\nMissingTiddler/Hint: Missing tiddler \"<$text text=<<currentTiddler>>/>\"—click {{||$:/core/ui/Buttons/edit}} to create\nRecentChanges/DateFormat: DDD, MMM DD, YYYY\nTagManager/Colour/Heading: Color\nTiddler/DateFormat: DDD, MMM DD, YYYY at hh12:0mm am\n"
  },
  {
    "path": "languages/en-PH/Modals/Download.tid",
    "content": "title: $:/language/Modals/Download\ntype: \nsubtitle: Download changes\nfooter: <$button message=\"tm-close-tiddler\">Close</$button>\nhelp: https://tiddlywiki.com/static/DownloadingChanges.html\n\nYour browser only supports manual saving.\n\nTo save your modified wiki, right click on the download link below and select \"Download file\" or \"Save file\", and then choose the folder and filename.\n\n//You can marginally speed things up by clicking the link with the control key (Windows) or the options/alt key (Mac OS X). You will not be prompted for the folder or filename, but your browser is likely to give it an unrecognizable name—you may need to rename the file to include the `.html` extension before you can do anything useful with it.//\n\nOn smartphones that do not allow files to be downloaded you can instead bookmark the link, and then sync your bookmarks to a desktop computer from where the wiki can be saved normally.\n"
  },
  {
    "path": "languages/en-PH/NewJournal.multids",
    "content": "title: $:/config/NewJournal/\n\nTitle: DDD, MMM DD, YYYY\n"
  },
  {
    "path": "languages/en-PH/plugin.info",
    "content": "{\n\t\"title\": \"$:/languages/en-PH\",\n\t\"name\": \"en-PH\",\n\t\"plugin-type\": \"language\",\n\t\"description\": \"English (Philippines)\",\n\t\"author\": \"JC John Sese Cuneta\",\n\t\"core-version\": \">=5.3.5\"\n}\n"
  },
  {
    "path": "languages/en-US/Buttons.multids",
    "content": "title: $:/language/Buttons/\n\nClear/Hint: Clear image to solid color\nPaint/Caption: paint color\nPaint/Hint: Set painting color\nPalette/Hint: Choose the color palette\nStoryView/Hint: Choose the story visualization\n"
  },
  {
    "path": "languages/en-US/Misc.multids",
    "content": "title: $:/language/\n\nManager/Item/Colour: Color\nTagManager/Colour/Heading: Color\nRecentChanges/DateFormat: MMM DD, YYYY\nTiddler/DateFormat: MMM DD, YYYY at hh12:0mm am\n"
  },
  {
    "path": "languages/en-US/plugin.info",
    "content": "{\n\t\"title\": \"$:/languages/en-US\",\n\t\"name\": \"en-US\",\n\t\"plugin-type\": \"language\",\n\t\"description\": \"English (US)\",\n\t\"author\": \"Ben Webber\",\n\t\"core-version\": \">=5.0.0\",\n\t\"dependents\": [\"$:/languages/en-GB\"],\n\t\"plugin-priority\": 110\n}\n"
  },
  {
    "path": "languages/es-ES/Buttons.multids",
    "content": "title: $:/language/Buttons/\n\nAdvancedSearch/Caption: Búsqueda avanzada\nAdvancedSearch/Hint: Búsqueda avanzada\nCancel/Caption: Cancelar\nCancel/Hint: Descarta los cambios\nClone/Caption: Clonar\nClone/Hint: Hace una copia exacta de este tiddler\nClose/Caption: Cerrar\nClose/Hint: Cierra este tiddler\nCloseAll/Caption: Cerrar todo\nCloseAll/Hint: Cierra todos los tiddlers\nCloseOthers/Caption: Cerrar los demás\nCloseOthers/Hint: Cierra todos tiddlers abiertos excepto este\nControlPanel/Caption: Panel de Control\nControlPanel/Hint: Abre el Panel de Control\nCopyToClipboard/Caption: copiar a portapapeles\nCopyToClipboard/Hint: Copia este texto al portapapeles\nDelete/Caption: Borrar\nDelete/Hint: Borra este tiddler\nDeleteTiddlers/Caption: borrar tiddlers\nDeleteTiddlers/Hint: Borrar tiddlers\nEdit/Caption: Editar\nEdit/Hint: Permite editar este tiddler\nEncryption/Caption: Cifrado\nEncryption/Hint: Asigna o revoca la contraseña de cifrado para este wiki\nEncryption/ClearPassword/Caption: Borrar contraseña\nEncryption/ClearPassword/Hint: Borra la contraseña actual y guarda este wiki sin cifrar\nEncryption/SetPassword/Caption: Asignar contraseña\nEncryption/SetPassword/Hint: Asigna contraseña de cifrado\nEmergencyDownload/Caption: descargar tiddlers como json\nExportPage/Caption: Exportar todos\nExportPage/Hint: Exporta todos los tiddlers\nExportTiddler/Caption: Exportar tiddler\nExportTiddler/Hint: Exporta este tiddler\nExportTiddlers/Caption: Exportar tiddlers\nExportTiddlers/Hint: Exporta el grupo de tiddlers\nSidebarSearch/Hint: Selecciona el campo de búsqueda de la barra lateral\nFold/Caption: Comprimir tiddler\nFold/Hint: Comprime la vista del tiddler ocultando el cuerpo y sólo muestra el título\nFold/FoldBar/Caption: Barra de vista comprimida\nFold/FoldBar/Hint: Barras opcionales para comprimir y desplegar tiddlers\nUnfold/Caption: Desplegar tiddler\nUnfold/Hint: Despliega el cuerpo de este tiddler y muestra su contenido\nFoldOthers/Caption: Comprimir los demás\nFoldOthers/Hint: Comprime la vista de todos los tiddlers abiertos excepto este\nFoldAll/Caption: Comprimir todos\nFoldAll/Hint: Comprime la vista de todos los tiddlers abiertos\nUnfoldAll/Caption: Desplegar todos\nUnfoldAll/Hint: Despliega y muestra el contenido de todos los tiddlers abiertos\nFullScreen/Caption: Pantalla completa\nFullScreen/Hint: Entra y sale del modo de pantalla completa\nHelp/Caption: Ayuda\nHelp/Hint: Muestra el panel de ayuda\nImport/Caption: Importar\nImport/Hint: Importa multitud de tipos de archivo, incluyendo textos, imágenes, TiddlyWiki y JSON\nInfo/Caption: Información\nInfo/Hint: Muestra información sobre este tiddler\nHome/Caption: Inicio\nHome/Hint: Cierra todos los tiddlers abiertos y abre los que se muestran por defecto al inicio\nLanguage/Caption: Idioma\nLanguage/Hint: Selecciona idioma de la interfaz de usuario\nLayoutSwitcher/Hint: Abrir cambiador de disposición\nLayoutSwitcher/Caption: disposición\nManager/Caption: Administrador tiddler\nManager/Hint: Abre el administrador del tiddler\nMore/Caption: Más\nMore/Hint: Otras acciones\nNewHere/Caption: Nuevo aquí\nNewHere/Hint: Crea un nuevo tiddler etiquetado con el título de este tiddler\nNetworkActivity/Caption: actividad de red\nNetworkActivity/Hint: Cancelar la actividad de red\nNewJournal/Caption: Nueva entrada\nNewJournal/Hint: Crea una nueva entrada de diario\nNewJournalHere/Caption: Entrada nueva aquí\nNewJournalHere/Hint: Crea una nueva entrada de diario etiquetada con el título de este tiddler\nNewImage/Caption: Nueva imagen\nNewImage/Hint: Crea un nuevo tiddler de imagen\nNewMarkdown/Caption: Nuevo tiddler en Markdown\nNewMarkdown/Hint: Crea un nuevo tiddler en Markdown\nNewTiddler/Caption: Nuevo tiddler\nNewTiddler/Hint: Crea un tiddler nuevo\nOpenControlPanel/Hint: Abrir panel de control\nOpenWindow/Caption: Abrir en ventana nueva\nOpenWindow/Hint: Abre el tiddler en una nueva ventana\nPalette/Caption: Paleta\nPalette/Hint: Selecciona la paleta de color\nPermalink/Caption: Enlace permanente\nPermalink/Hint: Crea en la barra de direcciones del navegador un enlace directo a este tiddler\nPermaview/Caption: Permaview\nPermaview/Hint: Crea en la barra de direcciones del navegador un enlace directo a todos los tiddlers abiertos\nPrint/Caption: Imprimir página\nPrint/Hint: Imprime la página actual\nRefresh/Caption: Recargar\nRefresh/Hint: Actualiza completamente este wiki\nSave/Caption: Vale\nSave/Hint: Confirma y guarda los cambios realizados en el tiddler\nSaveWiki/Caption: Guardar cambios\nSaveWiki/Hint: Confirma y guarda todos los cambios realizados en el wiki\nStoryView/Caption: Vista\nStoryView/Hint: Selecciona el modo de visualización de los tiddlers\nHideSideBar/Caption: Ocultar barra lateral\nHideSideBar/Hint: Oculta la barra lateral\nShowSideBar/Caption: Mostrar barra lateral\nShowSideBar/Hint: Muestra la barra lateral\nTagManager/Caption: Administrador de etiquetas\nTagManager/Hint: Abre el gestor de etiquetas\nTestCaseImport/Caption: importar tiddlers\nTestCaseImport/Hint: Importar tiddlers\nTimestamp/Caption: Marcas de tiempo\nTimestamp/Hint: Elige si las modificaciones actualizan las marcas de tiempo\nTimestamp/On/Caption: las marcas de tiempo están activadas\nTimestamp/On/Hint: Actualizar las marcas de tiempo cuando se modifican los tiddlers\nTimestamp/Off/Caption: las marcas de tiempo están desactivadas\nTimestamp/Off/Hint: No actualizar las marcas de tiempo cuando se modifican los tiddlers\nTheme/Caption: Tema\nTheme/Hint: Selecciona un estilo visual para el wiki\nBold/Caption: Negrita\nBold/Hint: Aplicar formato de negrita a la selección\nClear/Caption: Limpiar\nClear/Hint: Limpiar imagen a color solido\nEditorHeight/Caption: Altura del editor\nEditorHeight/Caption/Auto: Ajustar al contenido\nEditorHeight/Caption/Fixed: Altura fija\nEditorHeight/Hint: Determina la altura del cuadro de edición\nExcise/Caption: Escindir\nExcise/Caption/Excise: Escindir\nExcise/Caption/MacroName: Nombre de la macro\nExcise/Caption/NewTitle: Título del nuevo tiddler\nExcise/Caption/Replace: Reemplazar texto escindido con:\nExcise/Caption/Replace/Macro: macro\nExcise/Caption/Replace/Link: enlace\nExcise/Caption/Replace/Transclusion: transclusión\nExcise/Caption/Tag: Etiqueta el nuevo tiddler con el título de este\nExcise/Caption/TiddlerExists: ¡Atención! El tiddler ya existe\nExcise/DefaultTitle: Nueva Escisión\nExcise/Hint: Corta el texto seleccionado y lo pega en un tiddler nuevo\nHeading1/Caption: Encabezamiento 1\nHeading1/Hint: Aplica formato de encabezamiento 1 a la selección\nHeading2/Caption: Encabezamiento 2\nHeading2/Hint: Aplica formato de encabezamiento 2 a la selección\nHeading3/Caption: Encabezamiento 3\nHeading3/Hint: Aplica formato de encabezamiento 3 a la selección\nHeading4/Caption: Encabezamiento 4\nHeading4/Hint: Aplica formato de encabezamiento 4 a la selección\nHeading5/Caption: Encabezamiento 5\nHeading5/Hint: Aplica formato de encabezamiento 5 a la selección\nHeading6/Caption: Encabezamiento 6\nHeading6/Hint: Aplica formato de encabezamiento 6 a la selección\nItalic/Caption: Cursiva\nItalic/Hint: Aplica formato de cursiva a la selección\nLineWidth/Caption: Ancho del trazo\nLineWidth/Hint: Establece el ancho del trazo para pintar\nLink/Caption: Enlace\nLink/Hint: Crea enlace wikitext\nLinkify/Caption: wikilink\nLinkify/Hint: Envuelva la selección entre corchetes\nListBullet/Caption: Lista con viñetas\nListBullet/Hint: Aplica formato de lista con viñetas a la selección\nListNumber/Caption: Lista numerada\nListNumber/Hint: Aplica formato de lista numerada a la selección\nMonoBlock/Caption: Bloque monoespaciado\nMonoBlock/Hint: Aplica formato de bloque monoespaciado a la selección\nMonoLine/Caption: Monoespacio\nMonoLine/Hint: Aplica formato de monoespacio a la selección\nOpacity/Caption: Opacidad\nOpacity/Hint: Establece la opacidad del trazo\nPaint/Caption: Color del trazo\nPaint/Hint: Establece el color del trazo\nPicture/Caption: Imagen\nPicture/Hint: Inserta imagen\nPreview/Caption: Vista previa\nPreview/Hint: Muestra el panel de vista previa\nPreviewType/Caption: Tipo de vista previa\nPreviewType/Hint: Selecciona el tipo de vista previa\nQuote/Caption: Bloque de cita\nQuote/Hint: Aplica formato de bloque de cita a la selección\nRotateLeft/Caption: girar a la izquierda\nRotateLeft/Hint: Girar la imagen a la izquierda 90 grados\nSize/Caption: Tamaño de imagen\nSize/Caption/Height: Altura:\nSize/Caption/Resize: Cambiar tamaño\nSize/Caption/Width: Ancho:\nSize/Hint: Establece tamaño de la imagen\nStamp/Caption: Snippet\nStamp/Caption/New: Añade el tuyo propio\nStamp/Hint: Inserta un snippet o fragmento de texto preconfigurado\nStamp/New/Title: Nombre para mostrar en el menú\nStamp/New/Text: Texto del snippet (Recuerda añadir un título descriptivo en el campo \"caption\" ).\nStrikethrough/Caption: Tachado\nStrikethrough/Hint: Aplica formado de tachado a la selección\nSubscript/Caption: Subíndice\nSubscript/Hint: Aplica formato de subíndice a la selección\nSuperscript/Caption: Superíndice\nSuperscript/Hint: Aplica formato de superíndice a la selección\nToggleSidebar/Hint: Alternar la visibilidad de la barra lateral\nTranscludify/Caption: Transclusión\nTranscludify/Hint: Envolver la selección entre llaves\nUnderline/Caption: Subrayado\nUnderline/Hint: Aplica formato de subrayado a la selección\n"
  },
  {
    "path": "languages/es-ES/ControlPanel.multids",
    "content": "title: $:/language/ControlPanel/\n\nAdvanced/Caption: Avanzado\nAdvanced/Hint: Información interna de TiddlyWiki\nAppearance/Caption: Aspecto\nAppearance/Hint: Personaliza la apariencia de TiddlyWiki\nBasics/AnimDuration/Prompt: Duración de la animación\nBasics/AutoFocus/Prompt: Campo de enfoque predeterminado para nuevos tiddlers\nBasics/Caption: Básico\nBasics/DefaultTiddlers/BottomHint: Usa &#91;&#91;corchetes dobles&#93;&#93; para títulos con espacios. También puedes {{mantener el orden actual||$:/snippets/retain-story-ordering-button}}\nBasics/DefaultTiddlers/Prompt: Tiddlers por defecto\nBasics/DefaultTiddlers/TopHint: Escoge qué tiddlers se muestran al inicio\nBasics/Language/Prompt: ¡Hola! Selecciona idioma actual\nBasics/NewJournal/Tags/Prompt: Etiqueta para las nuevas entradas de diario\nBasics/NewJournal/Text/Prompt: Texto para las nuevas entradas de diario\nBasics/NewJournal/Title/Prompt: Formato de título para las nuevas entradas de diario\nBasics/NewTiddler/Title/Prompt: Título de nuevos tiddlers\nBasics/NewTiddler/Tags/Prompt: Etiquetas de nuevos tiddlers\nBasics/OverriddenShadowTiddlers/Prompt: Número de tiddlers ocultos anulados\nBasics/RemoveTags: Actualizar al formato actual\nBasics/RemoveTags/Hint: Actualizar la configuración de las etiquetas al formato más reciente\nBasics/ShadowTiddlers/Prompt: Número de tiddlers ocultos\nBasics/Subtitle/Prompt: Subtítulo\nBasics/SystemTiddlers/Prompt: Número de tiddlers de sistema\nBasics/Tags/Prompt: Número de etiquetas\nBasics/Tiddlers/Prompt: Número de tiddlers\nBasics/Title/Prompt: Título de este ~TiddlyWiki:\nBasics/Username/Prompt: Nombre de usuario\nBasics/Version/Prompt: Versión de ~TiddlyWiki\nCascades/Caption: Cascadas\nCascades/Hint: Estas reglas globales se utilizan para elegir dinámicamente ciertas plantillas. El resultado de la cascada es el resultado del primer filtro en la secuencia que devuelve un resultado\nCascades/TagPrompt: Filtros etiquetados <$macrocall $name=\"tag\" tag=<<currentTiddler>>/>\nEditorTypes/Caption: Tipos de editor\nEditorTypes/Editor/Caption: Editor\nEditorTypes/Hint: Editores usados para ciertos tipos específicos de tiddler\nEditorTypes/Type/Caption: Tipo\nEditTemplateBody/Caption: Editar Cuerpo de Plantilla\nEditTemplateBody/Hint: La plantilla de edición predeterminada utiliza esta cascada de reglas para elegir dinámicamente la plantilla para editar el cuerpo de un tiddler.\nFieldEditor/Caption: Editor de Campos\nFieldEditor/Hint: Esta cascada de reglas se usa para elegir dinámicamente la plantilla para representar un campo en función de su nombre. Se utiliza dentro de la plantilla de edición.\nInfo/Caption: Información\nInfo/Hint: Información acerca de este TiddlyWiki\nKeyboardShortcuts/Add/Caption: Añadir atajo\nKeyboardShortcuts/Add/Prompt: Escribe el atajo\nKeyboardShortcuts/Caption: Atajos de teclado\nKeyboardShortcuts/Hint: Administra la asignación de atajos de teclado\nKeyboardShortcuts/NoShortcuts/Caption: No hay atajo asignado\nKeyboardShortcuts/Remove/Hint: Eliminar atajo\nKeyboardShortcuts/Platform/All: Cualquier plataforma\nKeyboardShortcuts/Platform/Linux: Sólo Linux\nKeyboardShortcuts/Platform/Mac: Sólo Macintosh\nKeyboardShortcuts/Platform/NonLinux: Todas menos Linux\nKeyboardShortcuts/Platform/NonMac: Todas menos Macintosh\nKeyboardShortcuts/Platform/NonWindows: Todas menos Windows\nKeyboardShortcuts/Platform/Windows: Sólo windows\nLayoutSwitcher/Caption: Disposición\nLoadedModules/Caption: Módulos cargados\nLoadedModules/Hint: Modulos cargados en este momento, enlazados con sus tiddlers de origen. Los módulos en itálica carecen de origen, debido normalmente a que se configuraron durante el inicio. \nPalette/Caption: Paleta\nPalette/Editor/Clone/Caption: Clonar\nPalette/Editor/Clone/Prompt: Se recomienda clonar esta paleta antes de editarla. \nPalette/Editor/Delete/Hint: eliminar esta entrada de la paleta actual\nPalette/Editor/Names/External/Show: Mostrar nombres de colores que no forman parte de la paleta actual\nPalette/Editor/Prompt/Modified: Esta paleta de sombras ha sido modificada\nPalette/Editor/Prompt: Editando\nPalette/Editor/Reset/Caption: Restaura la paleta\nPalette/HideEditor/Caption: Cerrar el editor\nPalette/Prompt: Paleta actual\nPalette/ShowEditor/Caption: Abrir el editor\nParsing/Caption: Interpretación sintáctica\nParsing/Hint: Aquí se pueden deshabilitar globalmente reglas de interpretación sintáctica del wiki. Ten cuidado: deshabilitar ciertas reglas puede hacer que ~TiddlyWiki deje de funcionar correctamente. En tal caso, puedes recuperar su normal funcionamiento en [[modo seguro|https://tiddlywiki.com/#SafeMode]].\nParsing/Block/Caption: Bloquear reglas sintácticas\nParsing/Inline/Caption: Reglas sintácticas de texto\nParsing/Pragma/Caption: Reglas sintácticas del compilador\nPlugins/Add/Caption: Obten complementos y extensiones\nPlugins/Add/Hint: Instala plugins desde la librería oficial\nPlugins/AlreadyInstalled/Hint: Este complemento ya está instalado en la versión <$text text=<<installedVersion>>/>\nPlugins/AlsoRequires: También requiere:\nPlugins/Caption: Complementos\nPlugins/Disable/Caption: Desactivar\nPlugins/Disable/Hint: Desactiva el plugin al actualizar la página\nPlugins/Disabled/Status: (Desactivado)\nPlugins/Downgrade/Caption: bajar de versión\nPlugins/Empty/Hint: No se han instalado\nPlugins/Enable/Caption: Activar\nPlugins/Enable/Hint: Activa este plugin al actualizar la página\nPlugins/Install/Caption: Instalar\nPlugins/Installed/Hint: Complementos instalados actualmente\nPlugins/Languages/Caption: Idiomas\nPlugins/Languages/Hint: Extensiones de idioma\nPlugins/NoInfoFound/Hint: No se ha encontrado ''\"<$text text=<<currentTab>>/>\"''\nPlugins/NotInstalled/Hint: Este complemento no está instalado actualmente\nPlugins/OpenPluginLibrary: Abrir biblioteca de complementos y extensiones\nPlugins/ClosePluginLibrary: Cerrar biblioteca de complementos y extensiones\nPlugins/PluginWillRequireReload: (requiere recarga)\nPlugins/Plugins/Caption: Complementos\nPlugins/Plugins/Hint: Complementos y extensiones\nPlugins/Reinstall/Caption: Reinstalar\nPlugins/Stability/Deprecated: OBSOLETO\nPlugins/Stability/Experimental: EXPERIMENTAL\nPlugins/Stability/Legacy: HEREDADO\nPlugins/Stability/Stable: ESTABLE\nPlugins/Themes/Caption: Temas\nPlugins/Themes/Hint: Extensiones de tema\nPlugins/Update/Caption: actualizar\nPlugins/Updates/Caption: Actualizaciones\nPlugins/Updates/Hint: Actualizaciones disponibles para complementos instalados\nPlugins/Updates/UpdateAll/Caption: Actualizar <<update-count>> complementos\nPlugins/SubPluginPrompt: Con <<count>> sub-complementos disponibles\nSaving/Caption: Guardando\nSaving/DownloadSaver/AutoSave/Description: Permitir guardado automático para el almacenamiento de descargas\nSaving/DownloadSaver/AutoSave/Hint: Habilitar guardado automático para el almacenamiento de descargas\nSaving/DownloadSaver/Caption: Almacenamiento de descargas\nSaving/DownloadSaver/Hint: Esta configuración se aplica al almacenamiento de descarga compatible con HTML5\nSaving/General/Caption: General\nSaving/General/Hint: Esta configuración se aplica a todos los sistemas de almacenamiento cargados\nSaving/Hint: Configuración utilizada para guardar todo el TiddlyWiki como un solo archivo a través de un módulo de almacenamiento\nSaving/GitService/Branch: Rama de destino para guardar\nSaving/GitService/CommitMessage: Guardado por TiddlyWiki\nSaving/GitService/Description: Esta configuración solo se usa cuando se guarda en <<service-name>>\nSaving/GitService/Filename: Nombre del archivo de destino (e.g. `index.html`)\nSaving/GitService/Path: Directorio del archivo de destino (e.g. `/wiki/`)\nSaving/GitService/Repo: Repositorio de destino (e.g. `Jermolene/TiddlyWiki5`)\nSaving/GitService/ServerURL: URL de la API del servidor\nSaving/GitService/UserName: Nombre de usuario\nSaving/GitService/GitHub/Caption: ~GitHub Saver\nSaving/GitService/GitHub/Password: Contraseña, token OAUTH o token de acceso personal (consulta [[Página de ayuda de GitHub|https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line]] para más detalles)\nSaving/GitService/GitLab/Caption: ~GitLab Saver\nSaving/GitService/GitLab/Password: Token de acceso personal para API (consulta [[página de ayuda de GitLab|https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html]] para más detalles)\nSaving/GitService/Gitea/Caption: Gitea Saver\nSaving/GitService/Gitea/Password: Token de acceso personal para API (a través de la interfaz web de Gitea: `Configuración | Aplicaciones | Generar token nuevo`)\nSaving/TiddlySpot/Advanced/Heading: Configuración Avanzada\nSaving/TiddlySpot/BackupDir: Directorio de copias de seguridad\nSaving/TiddlySpot/ControlPanel: ~TiddlyHost Control Panel\nSaving/TiddlySpot/Backups: Copias de seguridad\nSaving/TiddlySpot/Caption: ~TiddlyHost Saver\nSaving/TiddlySpot/Description: Esta configuración sólo se usa al guardar el wiki en [[TiddlyHost|https://tiddlyhost.com]] o en otro servidor compatible. [[Ver aquí|https://github.com/simonbaird/tiddlyhost/wiki/TiddlySpot-Saver-configuration-for-Tiddlyhost-and-Tiddlyspot]] para obtener información sobre cómo guardar en ~TiddlyHost\nSaving/TiddlySpot/Filename: Nombre del archivo\nSaving/TiddlySpot/Heading: ~TiddlyHost\nSaving/TiddlySpot/Hint: //La dirección (URL) por defecto de// TiddlyHost //es `http://<wikiname>.tiddlyspot.com/` aunque puede cambiarse a voluntad para usar otro servidor//\nSaving/TiddlySpot/Password: Contraseña\nSaving/TiddlySpot/ServerURL: Dirección (URL) del servidor\nSaving/TiddlySpot/UploadDir: Directorio de almacenamiento\nSaving/TiddlySpot/UserName: Nombre del Wiki\nSettings/AutoSave/Caption: Guardar automáticamente\nSettings/AutoSave/Disabled/Description: No guardar cambios automáticamente\nSettings/AutoSave/Enabled/Description: Guardar cambios automáticamente\nSettings/AutoSave/Hint: Guarda automáticamente los cambios durante la edición\nSettings/CamelCase/Caption: Enlaces wiki mediante ~CamelCase\nSettings/CamelCase/Hint: Requiere recargar la página para que surta efecto\nSettings/CamelCase/Description: Activar enlaces automáticos mediante ~CamelCase\nSettings/Caption: Configuración\nSettings/EditorToolbar/Caption: Barra de herramientas del editor\nSettings/EditorToolbar/Hint: Activa o desactiva la barra de herramientas del editor:\nSettings/EditorToolbar/Description: Mostrar la barra de herramientas del editor\nSettings/InfoPanelMode/Caption: Modo de panel de información de Tiddler\nSettings/InfoPanelMode/Hint: Controla cuándo se cierra el panel de información de tiddler:\nSettings/InfoPanelMode/Popup/Description: El panel de información de Tiddler se cierra automáticamente\nSettings/InfoPanelMode/Sticky/Description: El panel de información de Tiddler permanece abierto hasta que se cierra explícitamente\nSettings/Hint: La configuración de estos ajustes te permite personalizar el comportamiento de TiddlyWiki.\nSettings/NavigationAddressBar/Caption: Barra de direcciones\nSettings/NavigationAddressBar/Hint: Comportamiento de la barra de dirección del navegador cuando se abre un tiddler\nSettings/NavigationAddressBar/No/Description: No actualizar la barra de dirección\nSettings/NavigationAddressBar/Permalink/Description: Añadir el tiddler de destino a la dirección\nSettings/NavigationAddressBar/Permaview/Description: Añadir el tiddler de destino y la secuencia actual de tiddlers abiertos\nSettings/NavigationHistory/Caption: Historial de navegación\nSettings/NavigationHistory/Hint: Actualiza el historial de navegación al abrir un tiddler\nSettings/NavigationHistory/No/Description: No actualizar el historial\nSettings/NavigationHistory/Yes/Description: Actualizar el historial\nSettings/NavigationPermalinkviewMode/Caption: Modo Permalink/permaview\nSettings/NavigationPermalinkviewMode/Hint: Elige cómo se comporta permalink/permaview:\nSettings/NavigationPermalinkviewMode/CopyToClipboard/Description: Copiar permalink/permaview en el portapapeles\nSettings/NavigationPermalinkviewMode/UpdateAddressBar/Description: Actualizar la barra de direcciones con permalink/permaview\nSettings/PerformanceInstrumentation/Caption: //Estadísticas de rendimiento//\nSettings/PerformanceInstrumentation/Hint: Muestra estadísticas de las prestaciones de la página en la consola de desarrollo <br>Requiere recargar la página para que surta efecto\nSettings/PerformanceInstrumentation/Description: Activar //estadísticas de rendimiento//\nSettings/RecentLimit/Caption: Límite de Recientes \nSettings/RecentLimit/Hint: Número máximo de tiddlers que se mostrarán en la pestaña \"Recientes\" de la barra lateral\nSettings/ToolbarButtonStyle/Caption: Estilo de botón\nSettings/ToolbarButtonStyle/Hint: Selecciona el estilo de los botones de la barra de herramientas\nSettings/ToolbarButtonStyle/Styles/Borderless: Sin borde\nSettings/ToolbarButtonStyle/Styles/Boxed: Cuadrado\nSettings/ToolbarButtonStyle/Styles/Rounded: Redondo\nSettings/ToolbarButtons/Caption: Botones de la barra de herramientas\nSettings/ToolbarButtons/Hint: Aspecto por defecto de los botones de la barra de herramientas\nSettings/ToolbarButtons/Icons/Description: Mostrar icono\nSettings/ToolbarButtons/Text/Description: Mostrar texto\nSettings/DefaultSidebarTab/Caption: Pestaña por defecto de la barra lateral\nSettings/DefaultSidebarTab/Hint: Indica qué pestaña de la barra lateral se muestra por defecto al inicio\nSettings/DefaultMoreSidebarTab/Caption: Pestaña predeterminada Más de la barra lateral\nSettings/DefaultMoreSidebarTab/Hint: Especifica qué pestaña de la barra lateral Más se muestra de forma predeterminada\nSettings/DefaultTiddlerInfoTab/Caption: Información de tiddler predeterminada\nSettings/DefaultTiddlerInfoTab/Hint: Especifica qué pestaña se muestra por defecto cuando se abre el panel de información de tiddler\nSettings/LinkToBehaviour/Caption: Comportamiento al abrir tiddlers...\nSettings/LinkToBehaviour/InsideRiver/Hint: ...dentro del Visor\nSettings/LinkToBehaviour/OutsideRiver/Hint: ...desde fuera del Visor\nSettings/LinkToBehaviour/OpenAbove: Abrirlo por encima del tiddler actual\nSettings/LinkToBehaviour/OpenBelow: Abrirlo por debajo del tiddler actual\nSettings/LinkToBehaviour/OpenAtTop: Abrirlo al principio del Visor\nSettings/LinkToBehaviour/OpenAtBottom: Abrirlo al final del Visor\nSettings/TitleLinks/Caption: Títulos de tiddler\nSettings/TitleLinks/Hint: Los títulos de los tiddlers se mostrarán y se comportarán como enlaces\nSettings/TitleLinks/No/Description: No mostrar como enlaces\nSettings/TitleLinks/Yes/Description: Mostrar como enlaces\nSettings/MissingLinks/Caption: Enlaces Wiki\nSettings/MissingLinks/Hint: Elige si quieres vincular a tiddlers que aún no existen\nSettings/MissingLinks/Description: Habilitar enlaces a tiddlers inexistentes\nSocialCard/Caption: Tarjeta Red Social\nSocialCard/Domain/Prompt: Nombre de dominio que se mostrará para el enlace (por ejemplo, ''tiddlywiki.com'')\nSocialCard/Hint: Esta información es utilizada por los servicios de redes sociales y mensajería para mostrar una tarjeta de vista previa para los enlaces a este ~TiddlyWiki cuando se aloja en línea\nSocialCard/PreviewUrl/Prompt: URL completa para obtener una vista previa de la imagen de este ~TiddlyWiki\nSocialCard/PreviewUrl/Preview: Imagen de vista previa:\nSocialCard/Url/Prompt: URL completa de este ~TiddlyWiki\nStoryTiddler/Caption: Tiddler de Historia\nStoryTiddler/Hint: Esta cascada de reglas se usa para elegir dinámicamente la plantilla para mostrar un tiddler en el río de la historia.\nStoryView/Caption: Vista\nStoryView/Prompt: Vista actual\nStylesheets/Caption: Hojas de estilo\nStylesheets/Expand/Caption: Expandir todo\nStylesheets/Hint: Este es el CSS renderizado de los tiddlers CSS etiquetados con <<tag \"$:/tags/Stylesheet\">>\nStylesheets/Restore/Caption: Restaurar\nTestCases/Caption: Casos de Prueba\nTestCases/Hint: Los casos de prueba son ejemplos independientes para probar y aprender\nTestCases/All/Caption: Todos los casos de prueba\nTestCases/All/Hint: Todos los casos de prueba\nTestCases/Failed/Caption: Casos de prueba fallidos\nTestCases/Failed/Hint: Solo casos de prueba fallidos\nTheme/Caption: Tema\nTheme/Prompt: Tema actual\nTiddlerFields/Caption: Campos de tiddler\nTiddlerFields/Hint: Esta es la colección completa de campos de tiddler (TiddlerFields) actualmente en uso en este wiki, que incluye los tiddlers de sistema, pero no los ocultos\nTiddlerColour/Caption: Color del Tiddler\nTiddlerColour/Hint: Esta cascada de reglas se utiliza para elegir dinámicamente el color de un tiddler (utilizado para el icono y la etiqueta asociada).\nTiddlerIcon/Caption: Icono del Tiddler\nTiddlerIcon/Hint: Esta cascada de reglas se utiliza para elegir dinámicamente el icono de un tiddler.\nToolbars/Caption: Barras de herramientas\nToolbars/EditToolbar/Caption: Barra de edición\nToolbars/EditToolbar/Hint: Selecciona qué botones mostrar en modo de edición\nToolbars/Hint: Selecciona qué botones mostrar en las diferentes barras de herramientas\nToolbars/PageControls/Caption: Barra de página\nToolbars/PageControls/Hint: Selecciona qué botones mostrar en la barra de página\nToolbars/EditorToolbar/Caption: Barra de herramientas del editor\nToolbars/EditorToolbar/Hint: Elige qué botones se muestran en la barra de herramientas del editor. Ten en cuenta que algunos botones solo aparecerán al editar tiddlers de cierto tipo. Arrastra y suelta para cambiar el orden\nToolbars/ViewToolbar/Caption: Barra de visualización\nToolbars/ViewToolbar/Hint: Selecciona qué botones mostrar en modo de visualización\nTools/Download/Full/Caption: Descargar el wiki completo\nViewTemplateBody/Caption: Ver el Cuerpo de la Plantilla\nViewTemplateBody/Hint: La plantilla de vista predeterminada utiliza esta cascada de reglas para elegir dinámicamente la plantilla para mostrar el cuerpo de un tiddler.\nViewTemplateTitle/Caption: Ver el Título de la Plantilla\nViewTemplateTitle/Hint: La plantilla de vista predeterminada utiliza esta cascada de reglas para elegir dinámicamente la plantilla para mostrar el título de un tiddler.\nViewTemplateSubtitle/Caption: Ver Subtítulo de Plantilla\nViewTemplateSubtitle/Hint: La plantilla de vista predeterminada utiliza esta regla en cascada para elegir dinámicamente la plantilla para mostrar el subtítulo de un tiddler.\nViewTemplateTags/Caption: Ver Etiquetas de Plantilla\nViewTemplateTags/Hint: La plantilla de vista predeterminada utiliza esta regla en cascada para elegir dinámicamente la plantilla para mostrar el área de etiquetas de un tiddler.\nWikiInformation/Caption: Información del Wiki\nWikiInformation/Hint: Esta página resume información general sobre la configuración de este ~TiddlyWiki. Está diseñada para permitir a los usuarios compartir rápidamente aspectos relevantes de la configuración de su ~TiddlyWiki con otros, por ejemplo, al solicitar ayuda en alguno de los foros. No se incluye información privada o personal, y nada se comparte sin ser copiado y pegado explícitamente en otro lugar.\nWikiInformation/Drag/Caption: Arrastra este enlace para copiar esta herramienta a otro wiki\n"
  },
  {
    "path": "languages/es-ES/CoreReadMe.tid",
    "content": "title: $:/core/readme\n\nEste plugin contiene componentes del núcleo de TiddlyWiki que incluyen:\n\n* Módulos de código JavaScript\n* Iconos\n* Plantillas necesarias para crear la interfaz de usuario de TiddlyWiki\n* Traducciones al castellano (ES-es) de las cadenas localizables usadas por el núcleo\n"
  },
  {
    "path": "languages/es-ES/Dates.multids",
    "content": "title: $:/language/\n\nDate/DaySuffix/1: º\nDate/DaySuffix/10: \nDate/DaySuffix/11: \nDate/DaySuffix/12: \nDate/DaySuffix/13: \nDate/DaySuffix/14: \nDate/DaySuffix/15: \nDate/DaySuffix/16: \nDate/DaySuffix/17: \nDate/DaySuffix/18: \nDate/DaySuffix/19: \nDate/DaySuffix/2: \nDate/DaySuffix/20: \nDate/DaySuffix/21: \nDate/DaySuffix/22: \nDate/DaySuffix/23: \nDate/DaySuffix/24: \nDate/DaySuffix/25: \nDate/DaySuffix/26: \nDate/DaySuffix/27: \nDate/DaySuffix/28: \nDate/DaySuffix/29: \nDate/DaySuffix/3: \nDate/DaySuffix/30: \nDate/DaySuffix/31: \nDate/DaySuffix/4: \nDate/DaySuffix/5: \nDate/DaySuffix/6: \nDate/DaySuffix/7: \nDate/DaySuffix/8: \nDate/DaySuffix/9: \nDate/Long/Day/0: domingo\nDate/Long/Day/1: lunes\nDate/Long/Day/2: martes\nDate/Long/Day/3: miércoles\nDate/Long/Day/4: jueves\nDate/Long/Day/5: viernes\nDate/Long/Day/6: sábado\nDate/Long/Month/1: enero\nDate/Long/Month/10: octubre\nDate/Long/Month/11: noviembre\nDate/Long/Month/12: diciembre\nDate/Long/Month/2: febrero\nDate/Long/Month/3: marzo\nDate/Long/Month/4: abril\nDate/Long/Month/5: mayo\nDate/Long/Month/6: junio\nDate/Long/Month/7: julio\nDate/Long/Month/8: agosto\nDate/Long/Month/9: septiembre\nDate/Period/am: am\nDate/Period/pm: pm\nDate/Short/Day/0: Do\nDate/Short/Day/1: Lu\nDate/Short/Day/2: Ma\nDate/Short/Day/3: Mi\nDate/Short/Day/4: Ju\nDate/Short/Day/5: Vi\nDate/Short/Day/6: Sá\nDate/Short/Month/1: Ene\nDate/Short/Month/2: Feb\nDate/Short/Month/3: Mar\nDate/Short/Month/4: Abr\nDate/Short/Month/5: May\nDate/Short/Month/6: Jun\nDate/Short/Month/7: Jul\nDate/Short/Month/8: Ago\nDate/Short/Month/9: Sep\nDate/Short/Month/10: Oct\nDate/Short/Month/11: Nov\nDate/Short/Month/12: Dic\nRelativeDate/Future/Days: dentro de <<period>> días\nRelativeDate/Future/Hours: en <<period>> horas\nRelativeDate/Future/Minutes: en <<period>> minutos\nRelativeDate/Future/Months: dentro de <<period>> meses\nRelativeDate/Future/Second: en 1 segundo\nRelativeDate/Future/Seconds: en <<period>> segundos\nRelativeDate/Future/Years: dentro de <<period>> años\nRelativeDate/Past/Days: hace <<period>> días\nRelativeDate/Past/Hours: hace <<period>> horas\nRelativeDate/Past/Minutes: hace <<period>> minutos\nRelativeDate/Past/Months: hace <<period>> meses\nRelativeDate/Past/Second: hace 1 segundo\nRelativeDate/Past/Seconds: hace <<period>> segundos\nRelativeDate/Past/Years: hace <<period>> años\n"
  },
  {
    "path": "languages/es-ES/Docs/ModuleTypes.multids",
    "content": "title: $:/language/Docs/ModuleTypes/\n\nallfilteroperator: Un suboperador para el operador de filtro ''all''.\nanimation: Animaciones que pueden usarse con RevealWidget\nauthenticator: Define cómo el servidor HTTP integrado autentifica las solicitudes.\nbitmapeditoroperation: Operación de la barra de herramientas para editar mapa de bits.\ncommand: Comandos que pueden ejecutarse en Node.js\nconfig: Datos para insertar en `$tw.config`\nfilteroperator: Operadores individuales de filtrado\nglobal: Datos globales para insertar en `$tw`\ninfo: Publica información del sistema a través del pseudo-complemento [[$:/temp/info-plugin]].\nisfilteroperator: Parámetros para el operador ''is''\nlibrary: Tipo de módulo genérico para módulos JavaScript de propósito general.\nmacro: Definiciones macro de JavaScript.\nparser: Reglas sintácticas para diversos tipos de contenido.\nroute: Define cómo el servidor HTTP integrado gestiona los patrones de URL individuales.\nsaver: Guarda archivos desde el navegador con diferentes métodos.\nstartup: Funciones de inicio\nstoryview: Personaliza la animación y comportamiento de listas\ntexteditoroperation: Operación de la barra de herramientas para editar texto.\ntiddlerdeserializer: Convierte diferentes tipos de contenido en tiddlers\ntiddlerfield: Define el comportamiento de un campo individual\ntiddlermethod: Añade métodos al prototipo `$tw.Tiddler`\nupgrader: Aplica la actualización a los tiddlers durante el proceso de actualización/importación.\nutils: Añade métodos a `$tw.utils`\nutils-browser: Añade métodos específicos del navegador a `$tw.utils`.\nutils-node: Añade métodos específicos de Node.js a `$tw.utils`\nwidget: Encapsula la representación y recarga de ''DOM''\nwikimethod: Añade métodos a `$tw.Wiki`\nwikirule: Reglas individuales del intérprete principal de WikiText\n"
  },
  {
    "path": "languages/es-ES/Docs/PaletteColours.multids",
    "content": "title: $:/language/Docs/PaletteColours/\n\nalert-background: Fondo de alerta\nalert-border: Borde de alerta\nalert-highlight: Resaltado de alerta\nalert-muted-foreground: Primario de alerta muda\nbackground: Fondo general\nblockquote-bar: Barra de cita\nbutton-background: Fondo del botón predeterminado\nbutton-border: Borde del botón predeterminado\nbutton-foreground: Primario del botón predeterminado\ndirty-indicator: Indicador de cambios no guardados\ncode-background: Fondo del código\ncode-border: Borde del código\ncode-foreground: Primario del código\ndownload-background: Fondo botón de descarga\ndownload-foreground: Primario botón de descarga\ndragger-background: Fondo de arrastre\ndragger-foreground: Primario de arrastre\ndropdown-background: Fondo desplegable\ndropdown-border: Borde desplegable\ndropdown-tab-background-selected: Fondo de la pestaña desplegable de pestañas seleccionadas\ndropdown-tab-background: Fondo de la pestaña desplegable\ndropzone-background: Fondo arrastre ficheros\nexternal-link-background-hover: Fondo de enlace externo al pasar por encima\nexternal-link-background-visited: Fondo de enlace externo visitado\nexternal-link-background: Fondo de enlace externo\nexternal-link-foreground-hover: Primario de enlace externo al pasar por encima\nexternal-link-foreground-visited: Primario de enlace externo visitado\nexternal-link-foreground: Primario de enlace externo\nforeground: Primario general\nmenubar-background: Fondo de la barra de menú\nmenubar-foreground: Primario de la barra de menú\nmessage-background: Fondo del cuadro de mensaje\nmessage-border: Borde del cuadro de mensaje\nmessage-foreground: Primario del cuadro de mensaje\nmodal-backdrop: Telón de fondo modal\nmodal-background: Fondo Modal\nmodal-border: Borde Modal\nmodal-footer-background: Fondo del pie en Modal\nmodal-footer-border: Borde del pie en Modal\nmodal-header-border: Borde de la cabecera en Modal\nmuted-foreground: Primario general silenciado\nnotification-background: Fondo Notificación\nnotification-border: Borde Notificación\npage-background: Fondo Página\npre-background: Fondo de código preformateado\npre-border: Borde de código preformateado\nprimary: Primario general\nselect-tag-background: Fondo `<select>`\nselect-tag-foreground: Primario `<select>`\nsidebar-button-foreground: Primario del botón de la barra lateral\nsidebar-controls-foreground-hover: Primario de controles de la barra lateral al pasar por encima\nsidebar-controls-foreground: Primario de controles de la barra lateral\nsidebar-foreground-shadow: Sombra de la barra lateral\nsidebar-foreground: Primario de la barra lateral\nsidebar-muted-foreground-hover: Primario de controles silenciados de la barra lateral al pasar por encima\nsidebar-muted-foreground: Primario de controles silenciados de la barra lateral\nsidebar-tab-background-selected: Fondo de la pestaña de la barra lateral para las pestañas seleccionadas\nsidebar-tab-background: Fondo de la pestaña de la barra lateral\nsidebar-tab-border-selected: Borde de la pestaña de la barra lateral para las pestañas seleccionadas\nsidebar-tab-border: Borde de la pestaña de la barra lateral\nsidebar-tab-divider: Divisor de pestañas de la barra lateral\nsidebar-tab-foreground-selected: Divisor de pestañas de la barra lateral para las pestañas seleccionadas\nsidebar-tab-foreground: Primario de la pestaña de la barra lateral\nsidebar-tiddler-link-foreground-hover: Primario enlace tiddler en la barra lateral al pasar por encima\nsidebar-tiddler-link-foreground: Primario enlace tiddler en la barra lateral\nstability-stable: Distintivo para el nivel de estabilidad \"estable\"\nstability-experimental: Distintivo para el nivel de estabilidad \"experimental\"\nstability-deprecated: Distintivo para el nivel de estabilidad \"obsoleto\"\nstability-legacy: Distintivo para el nivel de estabilidad \"heredado\"\ntestcase-accent-level-1: Color de énfasis del caso de prueba sin anidación\ntestcase-accent-level-2: Color de énfasis del caso de prueba con anidación de segundo nivel\ntestcase-accent-level-3: Color de énfasis del caso de prueba con anidación de tercer nivel o superior\nsite-title-foreground: Primario título sitio\nstatic-alert-foreground: Primario de alerta estática\ntab-background-selected: Fondo de pestaña para pestañas seleccionadas\ntab-background: Fondo de pestaña\ntab-border-selected: Borde de pestaña para pestañas seleccionadas\ntab-border: Borde de pestañas\ntab-divider: Divisor de pestañas\ntab-foreground-selected: Primario de pestaña para pestañas seleccionadas\ntab-foreground: Primario de pestaña\ntable-border: Borde Tabla\ntable-footer-background: Fondo pie tabla\ntable-header-background: Fondo cabecera tabla\ntag-background: Fondo etiqueta\ntag-foreground: Primario etiqueta\ntiddler-background: Fondo Tiddler\ntiddler-border: Borde Tiddler\ntiddler-controls-foreground-hover: Primario controles Tiddler al pasar por encima\ntiddler-controls-foreground-selected: Primario controles seleccionados en Tiddler\ntiddler-controls-foreground: Primario controles Tiddler\ntiddler-editor-background: Fondo editor Tiddler\ntiddler-editor-border-image: Borde imagen en editor Tiddler\ntiddler-editor-border: Borde editor Tiddler\ntiddler-editor-fields-even: Fondo editor Tiddler para campos pares\ntiddler-editor-fields-odd: Fondo editor Tiddler para campos impares\ntiddler-info-background: Fondo panel información en Tiddler\ntiddler-info-border: Borde panel información en Tiddler\ntiddler-info-tab-background: Fondo pestaña panel información en Tiddler\ntiddler-link-background: Fondo enlace Tiddler\ntiddler-link-foreground: Primario enlace Tiddler\ntiddler-subtitle-foreground: Primario subtítulo Tiddler\ntiddler-title-foreground: Primario título Tiddler\ntoolbar-new-button: Primario botón 'nuevo tiddler'\ntoolbar-options-button: Primario botón 'opciones'\ntoolbar-save-button: Primario botón 'guardar'\ntoolbar-info-button: Primario botón 'información'\ntoolbar-edit-button: Primario botón 'editar'\ntoolbar-close-button: Primario botón 'cerrar'\ntoolbar-delete-button: Primario botón 'eliminar'\ntoolbar-cancel-button: Primario botón 'cancelar'\ntoolbar-done-button: Primario botón 'hecho'\nuntagged-background: Fondo de píldora sin etiquetar\nvery-muted-foreground: Primario muy silenciado\n"
  },
  {
    "path": "languages/es-ES/EditTemplate.multids",
    "content": "title: $:/language/EditTemplate/\n\nCaption: Editor\nBody/External/Hint: Este es un tiddler externo, es decir, guardado fuera del archivo TiddlyWiki principal <br> Puedes editar sus etiquetas y campos, pero no se puede editar directamente el contenido\nBody/Placeholder: Escribe el texto aquí\nBody/Preview/Type/Output: Visible\nBody/Preview/Type/DiffShadow: diferencias con la copia (si las hay)\nBody/Preview/Type/DiffCurrent: diferencias con el actual\nField/Remove/Caption: Eliminar campo\nField/Remove/Hint: Elimina el campo y su valor\nField/Dropdown/Caption: lista de campos\nField/Dropdown/Hint: Mostrar lista de campos\nFields/Add/Button: Añadir campo\nFields/Add/Button/Hint: Añade el nuevo campo al tiddler\nFields/Add/Name/Placeholder: Nombre\nFields/Add/Prompt: Añadir\nFields/Add/Value/Placeholder: Valor\nFields/Add/Dropdown/System: Campos de sistema\nFields/Add/Dropdown/User: Campos de usuario\nShadow/Warning: Este es un tiddler oculto<br> Cualquier cambio que hagas reemplazará la versión original\nShadow/OverriddenWarning: Este es un tiddler oculto modificado<br> Puedes restituirlo a su versión original eliminando este tiddler\nTags/Add/Button: Añadir\nTags/Add/Button/Hint: añadir etiqueta\nTags/Add/Placeholder: Nombre\nTags/ClearInput/Caption: vaciar campo\nTags/ClearInput/Hint: Vacia campo etiqueta\nTags/Dropdown/Caption: Etiquetas\nTags/Dropdown/Hint: Muestra la lista de etiquetas existentes\nTags/EmptyMessage: No se encontraron etiquetas\nTags/EmptyMessage/System: No se encontraron etiquetas del sistema\nTitle/BadCharacterWarning: Advertencia: evita usar cualquiera de los caracteres <<bad-chars>> en los títulos de tiddler\nTitle/Exists/Prompt: El tiddler de destino ya existe\nTitle/Relink/Prompt: Actualizar ''<$text text=<<fromTitle>>/>'' a ''<$text text=<<toTitle>>/>'' en los campos //tags// y //list// de otros tiddlers\nTitle/References/Prompt: Las siguientes referencias a este tiddler no se actualizarán automáticamente:\nType/Dropdown/Caption: Tipos de contenido\nType/Dropdown/Hint: Muestra la lista de tipos disponibles\nType/Delete/Caption: Borrar\nType/Delete/Hint: Borra el tipo de contenido\nType/Placeholder: Nuevo tipo\nType/Prompt: Tipo:\n"
  },
  {
    "path": "languages/es-ES/Exporters.multids",
    "content": "title: $:/language/Exporters/\n\nStaticRiver: Cadena de tiddlers como .HTML estático\nJsonFile: Archivo de tipo .JSON\nCsvFile: Archivo de tipo .CSV\nTidFile: Tiddler individual como archivo \".tid\" \n"
  },
  {
    "path": "languages/es-ES/Fields.multids",
    "content": "title: $:/language/Docs/Fields/\n\n_canonical_uri: Dirección (URI) completa -absoluta o relativa- de un tiddler externo de imagen\nauthor: Nombre del autor de un plugin\nbag: Nombre de la bolsa de la que procede un tiddler\ncaption: Texto que se muestra en una pestaña o botón, con independencia del título del tiddler que lo define\nclass: La clase CSS que se aplica a un tiddler al renderizarlo. También se utiliza para [[Modales]]\ncode-body: La plantilla de vista mostrará el tiddler como código si se establece en ''yes''\ncolor: Valor CSS del color de fondo asociado a un tiddler\ncomponent: Nombre del componente responsable de un tiddler de alerta\ncore-version: Para un plugin, indica con qué versión de TiddlyWiki es compatible\ncurrent-tiddler: Usado para incluir el tiddler superior en una historia\ncreated: Fecha de creación del tiddler\ncreator: Nombre del autor del tiddler\ndependents: En un complemento o extensión, lista de sus dependencias\ndescription: Descripción de un complemento, extensión, o diálogo modal\ndraft.of: Título del tiddler del que el actual es borrador\ndraft.title: Nuevo título propuesto para el presente borrador\nfooter: Texto al pie en ventanas modales\nhide-body: La plantilla de vista ocultará los cuerpos de los tiddlers si se establece en ''yes''\nicon: Nombre del tiddler que contiene el icono que se quiere asociar al presente tiddler\nlibrary: Si su valor es ''yes'', indica que el tiddler debe guardarse como librería de JavaScript\nlist: Lista ordenada de tiddlers asociados al presente tiddler\nlist-before: Título del tiddler antes del que el presente será añadido a una lista<br> Si el campo existe pero está vacío, el tiddler se añadirá al principio de la lista\nlist-after: Título del tiddler tras el que el presente será añadido a una lista de tiddlers.\nmodified: Fecha y hora de última modificación\nmodifier: Nombre del tiddler asociado con quien modificó por última vez el presente tiddler\nmodule-type: Para los tiddlers javascript, especifica de qué tipo de módulo se trata\nname: Nombre asociado con un complemento o extensión\nparent-plugin: Para un plugin, especifica de qué plugin es un subplugin\nplugin-priority: Valor numérico que indica la prioridad de un complemento o extensión\nplugin-type: Tipo de complemento o extensión\nstability: El estado de desarrollo de un complemento: obsoleto, experimental, estable o heredado\nrevision: Revisión del tiddler existente en el servidor\nreleased: Fecha de la edición de TiddlyWiki\nsource: Dirección de la fuente asociada a un tiddler\nsubtitle: Subtítulo en ventanas modales\ntags: Lista de etiquetas asignadas al tiddler\ntext: Texto principal de un tiddler\nthrottle.refresh: Si está presente, regula las actualizaciones de este tiddler\ntitle: Nombre único de un tiddler\ntoc-link: Suprime el enlace del tiddler en la tabla de contenido si se establece en ''no'' \ntype: Tipo de contenido en un tiddler\nversion: Versión de un complemento o extensión\n_is_skinny: Si está presente, indica que el campo de texto tiddler debe cargarse desde el servidor\n"
  },
  {
    "path": "languages/es-ES/Filters.multids",
    "content": "title: $:/language/Filters/\n\nAllTiddlers: Todos los tiddlers, excepto los de sistema\nRecentSystemTiddlers: Tiddlers recientemente modificados, incluidos los de sistema\nRecentTiddlers: Tiddlers recientemente modificados\nAllTags: Todas las etiquetas, excepto las de sistema\nMissing: Tiddlers inexistentes\nDrafts: Borradores\nOrphans: Tiddlers huérfanos\nSystemTiddlers: Tiddlers de sistema\nShadowTiddlers: Tiddlers ocultos\nOverriddenShadowTiddlers: Tiddlers ocultos anulados\nSessionTiddlers: Tiddlers modificados desde que se cargó el wiki\nSystemTags: Etiquetas de sistema\nStoryList: Tiddlers en la vista, excluyendo <$text text=\"$:/AdvancedSearch\"/>\nTypedTiddlers: Tiddlers que no son WikiText\n"
  },
  {
    "path": "languages/es-ES/GettingStarted.tid",
    "content": "title: GettingStarted\n\n\\define lingo-base() $:/language/ControlPanel/Basics/\nBienvenido a TiddlyWiki y a su comunidad de usuarios\n\nAntes de guardar información importante en TiddlyWiki, es preciso que te asegures de poder hacerlo de manera fiable\n\nVisita https://tiddlywiki.com/#GettingStarted para más información (en inglés)\n\n!! Configura este ~TiddlyWiki\n\n<div class=\"tc-control-panel\">\n\n|tc-table-no-border tc-first-col-min-width tc-first-link-nowrap|k\n| <$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link>|<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n| <$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link>|<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|^ <$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link><br><<lingo DefaultTiddlers/TopHint>>|<$edit tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\nConsulta más opciones en el [[panel de control|$:/ControlPanel]]\n"
  },
  {
    "path": "languages/es-ES/Help/build.tid",
    "content": "title: $:/language/Help/build\ndescription: Ejecuta automáticamente los comandos configurados\n\nCompila los targets que se especifican.<br>\nSi no se especifica ninguno, se incluirán todos los disponibles\n\n```\n--build <target> [<target> ...]\n```\n\nLos targets se definen en el archivo `tiddlywiki.info`\n\n"
  },
  {
    "path": "languages/es-ES/Help/clearpassword.tid",
    "content": "title: $:/language/Help/clearpassword\ndescription: Anula la contraseña de las operaciones de cifrado subsiguientes\n\nRevoca la contraseña de las operaciones subsiguientes de cifrado\n```\n--clearpassword\n```\n"
  },
  {
    "path": "languages/es-ES/Help/commands.tid",
    "content": "title: $:/language/Help/commands\ndescription: Ejecuta instrucciones devueltas por un filtro\n\nEjecuta secuencialmente las instrucciones devueltas por un filtro\n\n```\n--commands <filter>\n```\n\nEjemplos\n\n```\n--commands \"[enlist:raw{$:/build-commands-as-text}]\"\n```\n\n```\n--commands \"[{$:/build-commands-as-json}jsonindexes[]] :map[{$:/build-commands-as-json}jsonget<currentTiddler>]\"\n```\n"
  },
  {
    "path": "languages/es-ES/Help/default.tid",
    "content": "title: $:/language/Help/default\ndescription: \n\n\\define commandTitle()\n$:/language/Help/$(command)$\n\\end\n\\whitespace trim\n```\nUso: tiddlywiki [<wikifolder>] [--<command> [<args>...]...]\n```\n\nComandos disponibles:\n\n<ul>\n<$list filter=\"[commands[]sort[title]]\" variable=\"command\">\n<li><$link to=<<commandTitle>>><$macrocall $name=\"command\" $type=\"text/plain\" $output=\"text/plain\"/></$link>:\n&#32;\n<$transclude tiddler=<<commandTitle>> field=\"description\"/></li>\n</$list>\n</ul>\n\nPara obtener ayuda sobre un comando en particular:\n\n```\ntiddlywiki --help <command>\n```\n"
  },
  {
    "path": "languages/es-ES/Help/deletetiddlers.tid",
    "content": "title: $:/language/Help/deletetiddlers\ndescription: Elimina un grupo de tiddlers\n\n<<.from-version \"5.1.20\">> Elimina un grupo de tiddlers identificados por un filtro.\n\n```\n--deletetiddlers <filter>\n```\n"
  },
  {
    "path": "languages/es-ES/Help/editions.tid",
    "content": "title: $:/language/Help/editions\ndescription: Devuelve una lista de ediciones disponibles de TiddlyWiki\n\nLista y descripción de las ediciones disponibles.<br>\nPuedes crear una edición específica con el comando `--init`.\n\n```\n--editions\n```\n"
  },
  {
    "path": "languages/es-ES/Help/fetch.tid",
    "content": "title: $:/language/Help/fetch\ndescription: Obtener tiddlers del wiki por URL\n\nObtiene uno o más archivos a través de HTTP/HTTPS e importe los tiddlers que coincidan con un filtro, transformando opcionalmente los títulos entrantes.\n\n```\n--fetch file <url> <import-filter> <transform-filter>\n--fetch files <url-filter> <import-filter> <transform-filter>\n--fetch raw-file <url> <transform-filter>\n--fetch raw-files <url-filter> <transform-filter>\n```\n\nLas opciones \"file\" y \"files\" obtienen los archivos especificados e intentan importar los tiddlers dentro de ellos (el mismo procesamiento que si los archivos se arrastraran a la ventana del navegador). Las variantes \"raw-file\" y \"raw-files\" obtienen los archivos especificados y almacenan los datos del archivo sin procesar en tiddlers, sin aplicar la lógica de importación.\n\nCon las opciones \"file\" y \"raw-file\", solo se obtiene un archivo y el primer parámetro es la URL del archivo que se va a leer.\n\nCon las opciones \"files\" y \"raw-files\", se obtienen varios archivos y el primer parámetro es un filtro que produce una lista de URL de los archivos a leer. Por ejemplo, dado un conjunto de tiddlers etiquetados como \"servidor-remoto\" que tienen un campo \"url\", el filtro `[tag[servidor-remoto]get[url]]` recuperará todas las URL disponibles.\n\nPara las opciones \"file\" y \"files\", el parámetro `<import-filter>` especifica un filtro que determina qué tiddlers se importan. El valor predeterminado es \"[all[tiddlers]]\" si no se proporciona.\n\nPara todas las opciones, el parámetro `<transform-filter>` especifica un filtro opcional que transforma los títulos de los tiddlers importados. Por ejemplo, `[addprefix[$:/myimports/]]` agregaría el prefijo `$:/myimports/` a cada título.\n\nSi precede al comando `--fetch` con `--verbose`, se generará información de progreso durante la importación.\n\nTen en cuenta que TiddlyWiki no obtendrá una versión anterior de un complemento ya cargado.\n\nEl siguiente ejemplo recupera todos los tiddlers que no son del sistema de https://tiddlywiki.com y los guarda en un archivo JSON:\n\n```\ntiddlywiki --verbose --fetch file \"https://tiddlywiki.com/\" \"[!is[system]]\" \"\" --rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[!is[system]]\"\n```\n\nEl siguiente ejemplo recupera el archivo \"favicon\" de tiddlywiki.com y lo guarda en un archivo llamado \"output.ico\". Ten en cuenta que el tiddler intermedio \"Icon Tiddler\" se cita en el comando \"--fetch\" porque se usa como un filtro de transformación para reemplazar el título predeterminado, mientras que no hay comillas para el comando \"--savetiddler\" porque es se utiliza directamente como título.\n\n```\ntiddlywiki --verbose --fetch raw-file \"https://tiddlywiki.com/favicon.ico\" \"[[Icon Tiddler]]\" --savetiddler \"Icon Tiddler\" output.ico\n```\n\n"
  },
  {
    "path": "languages/es-ES/Help/help.tid",
    "content": "title: $:/language/Help/help\ndescription: Muestra texto de ayuda para comandos de TiddlyWiki\n\nMuestra ayuda para un comando:\n\n```\n--help [<command>]\n```\n\nSi se omite el comando, se muestra una lista de comandos disponibles\n"
  },
  {
    "path": "languages/es-ES/Help/import.tid",
    "content": "title: $:/language/Help/import\ndescription: Importar tiddlers desde un archivo\n\nImporta tiddlers desde TiddlyWiki (`.html`),` .tiddler`, `.tid`,` .json` u otros archivos locales. El deserializador debe especificarse explícitamente, a diferencia del comando `load` que infiere el deserializador a partir de la extensión del archivo.\n\n```\n--import <filepath> <deserializer> [<title>] [<encoding>]\n```\n\nLos deserializadores incluidos por defecto son:\n\n* application/javascript\n* application/json\n* application/x-tiddler\n* application/x-tiddler-html-div\n* application/x-tiddlers\n* text/html\n* text/plain\n\nEl título del tiddler importado tiene como valor predeterminado el nombre del archivo.\n\nLa codificación predeterminada es \"utf8\", pero puede ser \"base64\" para importar archivos binarios.\n\nTen en cuenta que TiddlyWiki no importará una versión anterior de un complemento ya cargado.\n"
  },
  {
    "path": "languages/es-ES/Help/init.tid",
    "content": "title: $:/language/Help/init\ndescription: Inicializa un nuevo WikiFolder\n\nInicializa una [[WikiFolder|WikiFolders]] con una copia en blanco de la edición especificada.\n\n```\n--init <edition> [<edition> ...]\n```\n\nPor ejemplo:\n\n```\ntiddlywiki ./MyWikiFolder --init empty\n```\n\nNota:\n\n* Se creará un directorio para el wiki si es necesario\n* La edición por defecto es ''empty''\n* El comando `--init` fallará si el directorio no está vacío\n* El comando `--init` elimina toda definición de `includeWikis` contenida en el archivo `tiddlywiki.info`\n* Cuando se indican varias ediciones para su inicialización, las ediciones sobrescriben sucesivamente todos los archivos compartidos, de modo que el archivo `tiddlywiki.info` final será el que corresponda a la última edición que se indique.\n* `--editions` muestra una lista de ediciones disponibles\n"
  },
  {
    "path": "languages/es-ES/Help/listen.tid",
    "content": "title: $:/language/Help/listen\ndescription: Proporciona una interfaz de servidor HTTP a TiddlyWiki\n\nSirve un wiki a través de HTTP.\n\nEl comando listen usa parámetros con nombre:\n\n```\n--listen [<name>=<value>]...\n```\n\nTodos los parámetros son opcionales con valores predeterminados seguros y se pueden especificar en cualquier orden. Los parámetros reconocidos son:\n\n* ''host'' - nombre de host opcional desde el que servir (el valor predeterminado es \"127.0.0.1\" también conocido como \"localhost\")\n* ''path-prefix'' - prefijo opcional para rutas\n* ''port'' - número de puerto en el que escuchar; los valores no numéricos se interpretan como una variable de entorno del sistema de la que se extrae el número de puerto (el valor predeterminado es \"8080\")\n* ''credentials'' - nombre de ruta del archivo CSV de credenciales (relativo a la carpeta wiki)\n* ''anon-username'' - el nombre de usuario para firmar ediciones de usuarios anónimos\n* ''username'' - nombre de usuario opcional para autenticación básica\n* ''password'' - contraseña opcional para autenticación básica\n* ''authenticated-user-header'' - nombre opcional del encabezado de solicitud que se utilizará para la autenticación de confianza.\n* ''readers'' - lista separada por comas de los usuarios autorizados a leer de este wiki\n* ''writers'' - lista separada por comas de los usuarios autorizados a escribir en este wiki\n* ''csrf-disable'' - establecer a \"yes\" para deshabilitar las comprobaciones CSRF (el valor predeterminado es \"no\")\n* ''root-tiddler'' - el tiddler para servir en la raíz (por defecto es \"$:/core/save/all\")\n* ''root-render-type'' - el tipo de contenido del tiddler raíz (por defecto es \"text/plain\")\n* ''root-serve-type'' - el tipo de contenido con el que se debe servir el tiddler raíz (el valor predeterminado es \"text/html\")\n* ''tls-cert'' - nombre de ruta del archivo de certificado TLS (relativo a la carpeta wiki)\n* ''tls-key'' - nombre de ruta del archivo de clave TLS (relativo a la carpeta wiki)\n* ''debug-level'' - nivel de depuración opcional; establecer en \"debug\" para ver los detalles de las solicitudes (el valor predeterminado es \"none\")\n* ''gzip'' - establecer a \"yes\" para habilitar la compresión gzip para algunos puntos finales http (el valor predeterminado es \"no\")\n* ''use-browser-cache'' - establecer a \"yes\" para permitir que el navegador almacene en caché las respuestas para ahorrar ancho de banda (el valor predeterminado es \"no\")\n\nPara obtener información sobre cómo abrir tu instancia a toda la red local y posibles problemas de seguridad, consulta el tiddler de WebServer en TiddlyWiki.com.\n"
  },
  {
    "path": "languages/es-ES/Help/load.tid",
    "content": "title: $:/language/Help/load\ndescription: Carga tiddlers desde un archivo\n\nCarga tiddlers de archivos de tipo TiddlyWiki (`.html`), `.tiddler`, `.tid`, `.json` u otros archivos locales. El procesamiento aplicado a los archivos entrantes será determinado por la extensión del archivo. Utiliza el comando `import` si necesita especificar el deserializador y la codificación explícitamente.\n\n```\n--load <filepath> [noerror]\n--load <dirpath> [noerror]\n```\n\nDe forma predeterminada, el comando `load` genera un error si no se encuentran tiddlers. El error se puede suprimir proporcionando el parámetro opcional \"noerror\".\n\nPara cargar tiddlers de un TiddlyWiki encriptado, primero debes especificar la contraseña con el comando PasswordCommand. Por ejemplo:\n\n```\ntiddlywiki ./MyWiki --password pa55w0rd --load my_encrypted_wiki.html\n```\n\nTen en cuenta que TiddlyWiki no carga complementos o extensiones anteriores a los ya cargados. \n"
  },
  {
    "path": "languages/es-ES/Help/makelibrary.tid",
    "content": "title: $:/language/Help/makelibrary\ndescription: Compila la librería de plugins necesaria para actualizar TiddlyWiki\n\nConstruye el tiddler `$:/UpgradeLibrary`: librería de actualización\n \nLa librería de actualización tiene formato de plugin ordinario, de tipo `library`. Contiene copia de cada uno de los plugins, temas y paquetes de idioma disponibles en el repositorio de TiddlyWiki5\n\nEste comando es, en principio, para uso interno del equipo de TiddlyWiki y sólo es de interés para aquellos usuarios que deseen compilar actualizaciones personalizadas\n\n```\n--makelibrary <title>\n```\n\nEl título por defecto del tiddler resultante es `$:/UpgradeLibrary`.\n"
  },
  {
    "path": "languages/es-ES/Help/notfound.tid",
    "content": "title: $:/language/Help/notfound\ndescription: \n\nNo existe tal elemento"
  },
  {
    "path": "languages/es-ES/Help/output.tid",
    "content": "title: $:/language/Help/output\ndescription: Establece el directorio de salida para los comandos siguientes\n\nEstablece el directorio de salida para los comandos que le siguen <br>\nEl directorio por defecto es el subdirectorio `output`, en el directorio del wiki\n\n```\n--output <pathname>\n```\n\nSi la ruta especificada es relativa, se interpreta como relativa al directorio actual de trabajo<br>\nPor ejemplo: `--output .` establece como directorio de salida el actual directorio de trabajo\n"
  },
  {
    "path": "languages/es-ES/Help/password.tid",
    "content": "title: $:/language/Help/password\ndescription: Establece una contraseña para operaciones de cifrado subsiguientes\n\nEstablece contraseña para las operaciones subsiguientes de cifrado\n\n```\n--password <password>\n```\n\n''Nota'': Esto no debe usarse para servir TiddlyWiki con protección por contraseña. En su lugar, consulta la opción de contraseña en [[ServerCommand]].\n"
  },
  {
    "path": "languages/es-ES/Help/render.tid",
    "content": "title: $:/language/Help/render\ndescription: Renderiza tiddlers individuales en archivos\n\nRenderiza tiddlers individuales identificados por un filtro y guarda los resultados en los archivos especificados.\n\nOpcionalmente, se puede especificar el título de un tiddler de plantilla. En este caso, en lugar de representar directamente cada tiddler, la plantilla tiddler se procesa con la variable \"currentTiddler\" establecida en el título del tiddler que se está procesando.\n\nTambién se puede especificar un nombre y valor para variables adicionales.\n\n```\n--render <tiddler-filter> [<filename-filter>] [<render-type>] [<template>] [ [<name>] [<value>] ]*\n```\n\n* ''tiddler-filter'': Un filtro que identifica los tiddlers que se procesarán\n* ''filename-filter'': Filtro opcional que transforma los títulos de tiddler en nombres de ruta. Si se omite, el valor predeterminado es `[is[tiddler]addsuffix[.html]]`, que utiliza el título del tiddler sin cambios como nombre de archivo\n* ''render-type'': Tipo de renderizado opcional: `text/html` (el predeterminado) devuelve el texto HTML completo y `text/plain` simplemente devuelve el contenido del texto (es decir, ignora las etiquetas HTML y otros elementos no imprimibles)\n* ''template'': Plantilla opcional a través de la cual se representa cada tiddler\n* ''name'': Nombre de variables opcionales\n* ''value'': Valor de variables opcionales\n\nDe forma predeterminada, el nombre del archivo se resuelve relativo al subdirectorio `output` del directorio de edición. El comando `--output` se puede usar para dirigir la salida a otro directorio diferente.\n\nNotas:\n\n* No se elimina ningún contenido del directorio de salida\n* Los directorios que faltan en la ruta al nombre del archivo se crean automáticamente.\n* Cuando se refiera a un tiddler con espacios en su título, ten cuidado de usar las comillas requeridas por la línea de comandos y también los corchetes dobles de TiddlyWiki: `--render \"[[Motovun Jack.jpg]]\"`\n* El filtro de nombre de archivo se evalúa con los elementos seleccionados que se establecen en el título del tiddler que se está procesando actualmente, lo que permite que el título se utilice como base para calcular el nombre de archivo. Por ejemplo, `[encodeuricomponent[]addprefix[static/]]` aplica codificación URI a cada título y luego añade el prefijo `static/`\n* Se pueden usar múltiples pares ''nombre''/''valor'' para pasar más de una variable\n* El comando `--render` es un reemplazo más flexible para los comandos `--rendertiddler` y `--rendertiddlers`, que están en desuso\n\nEjemplos:\n\n* `--render '[!is[system]]' '[encodeuricomponent[]addprefix[tiddlers/]addsuffix[.html]]'` -- renders all non-system tiddlers as files in the subdirectory \"tiddlers\" with URL-encoded titles and the extension HTML\n* `--render '.' 'tiddlers.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' '[tag[HelloThere]]'` -- renders the tiddlers tagged \"HelloThere\" to a JSON file named \"tiddlers.json\"\n"
  },
  {
    "path": "languages/es-ES/Help/rendertiddler.tid",
    "content": "title: $:/language/Help/rendertiddler\ndescription: Genera un tiddler del ContentType que se especifique\n\n(Nota: el comando `--rendertiddler` está obsoleto en favor del nuevo y más flexible comando `--render`)\n\nGenera un tiddler del ContentType que se especifique (por defecto `text/html`) y lo guarda con el nombre de archivo especificado\n\nOpcionalmente, se puede especificar el título de un tiddler de plantilla, en cuyo caso el tiddler de plantilla se representa con la variable \"currentTiddler\" establecida en el tiddler que se está procesando (el primer valor de parámetro).\n\nTambién se puede especificar un nombre y valor para variables adicionales.\n\n```\n--rendertiddler <title> <filename> [<type>] [<template>] [<name>] [<value>]\n```\n\nPor defecto, el nombre de archivo es relativo al subdirectorio `output` en el directorio del wiki. Puede usarse el comando `--output` para dirigir la salida a cualquier otro directorio\n\nLos directorios no existentes en la ruta del nombre de archivo se crean automáticamente.\n\nPor ejemplo, el siguiente comando guarda todos los tiddlers que coinciden con el filtro `[tag[done]]` en un archivo JSON titulado `output.json` aplicando la plantilla principal `$:/core/templates/exporters/JsonFile`.\n\n```\n--rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[tag[done]]\"\n```\n"
  },
  {
    "path": "languages/es-ES/Help/rendertiddlers.tid",
    "content": "title: $:/language/Help/rendertiddlers\ndescription: Genera tiddlers coincidentes con un determinado ContentType\n\n(Nota: el comando `--rendertiddlers` está obsoleto en favor del nuevo y más flexible comando` --render`)\n\nGenera un conjunto de tiddlers de un determinado ContentType (por defecto `text/html`) y extensión de archivo (por defecto, `.html`), coincidentes con el argumento de un filtro\n\n```\n--rendertiddlers '<filter>' <template> <pathname> [<type>] [<extension>] [\"noclean\"]\n```\n\nPor ejemplo:\n\n```\n--rendertiddlers '[!is[system]]' $:/core/templates/static.tiddler.html ./static text/plain\n```\n\nPor defecto, la ruta es relativa al subdirectorio `output` del directorio del wiki. Puede usarse con el comando `--output` para dirigir la salida a un directorio diferente\n\nCualquier archivo existente en el directorio de destino será borrado a no ser que se especifique el comando ''noclean''. Los directorios no existentes en la ruta del nombre de archivo se crean automáticamente.\n"
  },
  {
    "path": "languages/es-ES/Help/save.tid",
    "content": "title: $:/language/Help/save\ndescription: Guarda tiddlers individuales sin procesar en archivos\n\nGuarda tiddlers individuales identificados por un filtro en su texto sin formato o formato binario en los archivos especificados.\n\n```\n--save <tiddler-filter> <filename-filter>\n```\n\n* ''tiddler-filter'': Un filtro que identifica a los tiddler que se guardarán.\n* ''filename-filter'': Filtro opcional que transforma los títulos de tiddler en nombres de ruta. Si se omite, el valor predeterminado es \"[is[tiddler]]\", que utiliza el título del tiddler sin cambios como nombre de archivo\n\nDe forma predeterminada, el nombre del archivo se resuelve relativo al subdirectorio `output` del directorio de edición. El comando `--output` se puede usar para dirigir la salida a otro directorio diferente.\n\nNotas:\n\n* No se elimina ningún contenido del directorio de salida\n* Los directorios que faltan en la ruta al nombre del archivo se crean automáticamente.\n* Cuando se refiera a un tiddler con espacios en su título, ten cuidado de usar las comillas requeridas por la línea de comandos y también los corchetes dobles de TiddlyWiki: `--save \"[[Motovun Jack.jpg]]\"`\n* El filtro de nombre de archivo se evalúa con los elementos seleccionados que se establecen en el título del tiddler que se está procesando actualmente, lo que permite que el título se utilice como base para calcular el nombre de archivo. Por ejemplo, `[encodeuricomponent[]addprefix[static/]]` aplica codificación URI a cada título y luego añade el prefijo `static/`\n* El comando `--save` es un reemplazo más flexible para los comandos `--savetiddler` y `--savetiddlers`, que están en desuso\n\nEjemplos:\n\n* `--save \"[!is[system]is[image]]\" \"[encodeuricomponent[]addprefix[tiddlers/]]\"` -- guarda todos los tiddlers de imágenes que no son del sistema como archivos en el subdirectorio \"tiddlers\" con títulos codificados en URL\n"
  },
  {
    "path": "languages/es-ES/Help/savetiddler.tid",
    "content": "title: $:/language/Help/savetiddler\ndescription: Guarda un tiddler en un archivo\n\n(Nota: el comando `--savetiddler` está obsoleto en favor del nuevo y más flexible comando `--save`)\n\nGuarda un tiddler individual en formato binario o como texto plano con el nombre de archivo especificado.\n\n```\n--savetiddler <title> <filename>\n```\n\nPor defecto, la ruta es relativa al subdirectorio `output` del directorio del wiki. Puede usarse con el comando `--output` para dirigir la salida a un directorio diferente\n\nLos directorios no existentes en la ruta del nombre de archivo se crean automáticamente.\n"
  },
  {
    "path": "languages/es-ES/Help/savetiddlers.tid",
    "content": "title: $:/language/Help/savetiddlers\ndescription: Guarda un grupo de tiddlers de formato plano en un directorio\n\n(Nota: el comando `--savetiddlers` está obsoleto en favor del nuevo y más flexible comando `--save`)\n\nGuarda un grupo de tiddlers en formato binario o como texto plano en el directorio especificado.\n\n```\n--savetiddlers <filter> <pathname> [\"noclean\"]\n```\n\nPor defecto, la ruta es relativa al subdirectorio `output` del directorio del wiki. Puede usarse con el comando `--output` para dirigir la salida a un directorio diferente\n\nEl directorio de salida se borra de los archivos existentes antes de guardar los archivos especificados. La eliminación se puede desactivar especificando el indicador \"noclean\".\n\nLos directorios no existentes en la ruta del nombre de archivo se crean automáticamente.\n"
  },
  {
    "path": "languages/es-ES/Help/savewikifolder.tid",
    "content": "title: $:/language/Help/savewikifolder\ndescription: Guarda un wiki en una nueva carpeta de wiki\n\n<<.from-version \"5.1.20\">> Guarda el wiki actual como una carpeta de wiki, incluidos tiddlers, complementos y configuración:\n\n```\n--savewikifolder <wikifolderpath> [<filter>] [ [<name>=<value>] ]*\n```\n\n* La carpeta wiki de destino debe estar vacía o no existir\n* El filtro especifica qué tiddlers deben incluirse. Es opcional, por defecto es `[all[tiddlers]]`\n* Los complementos de la biblioteca oficial de complementos se reemplazan con referencias a esos complementos en el archivo `tiddlywiki.info`\n* Los complementos personalizados se descomprimen en su propia carpeta\n\nSe admiten las siguientes opciones:\n\n* ''filter'': una expresión de filtro que define los tiddlers que se incluirán en la salida.\n* ''explodePlugins'': por defecto \"yes\".\n** ''yes'' desplegará los plugins en archivos tiddler separados y los guardará en el directorio de plugins dentro de la carpeta wiki\n** ''no'' no realizará el despliegue del plugin en sus archivos tiddler constituyentes si no que guardará el plugin como un único tiddler JSON en la carpeta tiddlers.\n\nTen en cuenta que ambas opciones ''explodePlugins'' producirán carpetas wiki que construirán exactamente el mismo wiki original. La diferencia radica en cómo se representan los plugins en la carpeta wiki.\n\nUn uso común es convertir un archivo HTML de TiddlyWiki en una carpeta wiki:\n\n```\ntiddlywiki --load ./mywiki.html --savewikifolder ./mywikifolder\n```\n\nGuarda el plugin en el directorio tiddlers de la carpeta wiki de destino:\n\n```\ntiddlywiki --load ./mywiki.html --savewikifolder ./mywikifolder explodePlugins=no\n```\n"
  },
  {
    "path": "languages/es-ES/Help/server.tid",
    "content": "title: $:/language/Help/server\ndescription: (en desuso: utiliza el comando 'listen') Proporciona interfaz de servidor HTTP a TiddlyWiki\n\nComando obsoleto para servir una wiki a través de HTTP.\n\n```\n--server <port> <root-tiddler> <root-render-type> <root-serve-type> <username> <password> <host> <path-prefix> <debug-level>\n```\n\nLos parámetros son\n\n* ''port'' - número de puerto desde el que sirve; valores no numéricos se interpretan como una variable de entorno del sistema de la que se extrae el número de puerto (por defecto, \"8080\")\n* ''roottiddler'' - tiddler que se sirve desde la raíz (por defecto, \"$:/core/save/all\")\n* ''rendertype'' - tipo de contenido con el que se genera el tiddler raíz (por defecto \"text/plain\")\n* ''servetype'' - tipo de contenido con el que se sirve el tiddler raíz (por defecto \"text/html\")\n* ''username'' - nombre de usuario por defecto que firma la edición\n* ''password'' - contraseña opcional para autenticación básica\n* ''host'' - nombre opcional del servidor desde el que se sirve (por defecto, \"127.0.0.1\" o \"localhost\")\n* ''pathprefix'' - prefijo opcional para rutas\n* ''debug-level'' - nivel de depuración opcional; establecer en \"debug\" para ver los detalles de la solicitud (el valor predeterminado es \"none\")\n\nSi se ha definido contraseña, el navegador pedirá que se introduzca nombre y contraseña. <br>Nótese que la contraseña se transmite en modo texto por lo que esta implementación solo debe usarse en redes seguras or utilizando HTTPS.\n\nPor ejemplo:\n\n```\n--server 8080 $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n\nEl nombre de usuario y la contraseña pueden ser especificados como cadenas de símbolos vacías si se necesita configurar el nombre del servidor o prefijo de ruta y no se requiere contraseña:\n\n```\n--server 8080 $:/core/save/all text/plain text/html \"\" \"\" 192.168.0.245\n```\n\nEl uso de una dirección como esta expone tu sistema a la red local. Para obtener información sobre cómo abrir tu instancia a toda la red local y posibles problemas de seguridad, consulta el tiddler de WebServer en TiddlyWiki.com.\n\nPara ejecutar simultáneamente múltiples servidores TiddlyWiki, deberán configurarse cada uno en un puerto diferente\n\n```\n--server MY_PORT_NUMBER $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n"
  },
  {
    "path": "languages/es-ES/Help/setfield.tid",
    "content": "title: $:/language/Help/setfield\ndescription: Prepara tiddlers externos para su uso\n\n//Téngase en cuenta que este comando es experimental y puede cambiar o ser reemplazado//\n\nConfigura el campo especificado de un grupo de tiddlers como resultado de una plantilla con la variable `currentTiddler`\n\n```\n--setfield <filter> <fieldname> <templatetitle> <rendertype>\n```\n\nSus parámetros son:\n\n* ''filter'' - filtro que identifica los tiddlers que se verán afectados\n* ''fieldname'' - el campo que será modificado (por defecto, \"text\")\n* ''templatetitle'' - el tiddler a ''wikify'' en el campo especificado. Si se deja en blanco o está ausente, el campo especificado es borrado. \n* ''rendertype'' - el tipo de texto a generar (por defecto, \"text/plain\"; se puede usar también \"text/html\" para incluir etiquetas HTML)\n"
  },
  {
    "path": "languages/es-ES/Help/unpackplugin.tid",
    "content": "title: $:/language/Help/unpackplugin\ndescription: Desenpaqueta los tiddlers de carga de un plugin\n\nExtrae los tiddlers de un plugin y los presenta como tiddlers ordinarios\n\n```\n--unpackplugin <title>\n```\n"
  },
  {
    "path": "languages/es-ES/Help/verbose.tid",
    "content": "title: $:/language/Help/verbose\ndescription: Activa el modo de salida como texto indefinido\n\nGenera texto aleatorio, útil para depurar errores\n\n```\n--verbose\n```\n"
  },
  {
    "path": "languages/es-ES/Help/version.tid",
    "content": "title: $:/language/Help/version\ndescription: Muestra el número de versión de TiddlyWiki\n\nMuestra el número de versión de TiddlyWiki\n\n```\n--version\n```\n"
  },
  {
    "path": "languages/es-ES/Import.multids",
    "content": "title: $:/language/Import/\n\nEditor/Import/Heading: Importar imágenes e insertarlas en el editor.\nImported/Hint: Se importaron los siguientes tiddlers\nListing/Cancel/Caption: Cancelar\nListing/Cancel/Warning: ¿Quieres cancelar la importación?\nListing/Hint: Tiddlers listos para importar\nListing/Import/Caption: Importar\nListing/Select/Caption: Seleccionar\nListing/Status/Caption: Estado\nListing/Title/Caption: Título\nListing/Preview: Vista previa:\nListing/Preview/Text: Texto\nListing/Preview/TextRaw: Texto (crudo)\nListing/Preview/Fields: Campos\nListing/Preview/Diff: Diff\nListing/Preview/DiffFields: Diff (Campos)\nListing/Rename/Tooltip: Renombra tiddler antes de importar\nListing/Rename/Prompt: Renombrar a:\nListing/Rename/ConfirmRename: Renombrar tiddler\nListing/Rename/CancelRename: Cancelar\nListing/Rename/OverwriteWarning: Ya existe un tiddler con este título.\nUpgrader/Plugins/Suppressed/Incompatible: Complemento bloqueado, incompatible u obsoleto\nUpgrader/Plugins/Suppressed/Version: Complemento bloqueado debido a que <<incoming>> es más antiguo que el <<existing>>\nUpgrader/Plugins/Upgraded: Complemento actualizado de <<incoming>> a <<upgraded>>\nUpgrader/State/Suppressed: Tiddler temporal bloqueado\nUpgrader/System/Disabled: Tiddler del sistema deshabilitado.\nUpgrader/System/Suppressed: Tiddler de sistema bloqueado\nUpgrader/System/Warning: tiddler del sistema principal.\nUpgrader/System/Alert: Estás a punto de importar un tiddler que sobrescribirá un tiddler del sistema principal. Esto no se recomienda ya que puede hacer que el sistema sea inestable.\nUpgrader/ThemeTweaks/Created: Ajuste de tema migrado de <$text text=<<from>>/>\nUpgrader/Tiddler/Disabled: Tiddler deshabilitado.\nUpgrader/Tiddler/Selected: Tiddler seleccionado.\nUpgrader/Tiddler/Unselected: Tiddler no seleccionado.\n"
  },
  {
    "path": "languages/es-ES/Misc.multids",
    "content": "title: $:/language/\n\nAboveStory/ClassicPlugin/Warning: Parece que quieres cargar un plugin diseñado para ~TiddlyWiki Classic. <br> Ten en cuenta que [[estos plugins no funcionan en TiddlyWiki version 5.x.x|https://tiddlywiki.com/#TiddlyWikiClassic]]<br> Plugins de ~TiddlyWiki Classic detectados\nBinaryWarning/Prompt: Este tiddler contiene datos binarios\nClassicWarning/Hint: Este tiddler está escrito en formato de texto de una versión de TiddlyWiki Classic que no es totalmente compatible con la versión 5 de TiddlyWiki<br> Visite https://tiddlywiki.com/static/Upgrading.html para más información\nClassicWarning/Upgrade/Caption: Actualizar\nCloseAll/Button: Cerrar todo\nColourPicker/Recent: Recientes:\nConfirmCancelTiddler: ¿Deseas descartar los cambios efectuados en \"<$text text=<<title>>/>\"?\nConfirmDeleteTiddler: ¿Deseas borrar \"<$text text=<<title>>/>\"?\nConfirmDeleteTiddlers: ¿Deseas borrar <<resultCount>> tiddler(s)?\nConfirmOverwriteTiddler: ¿Deseas sobrescribir \"<$text text=<<title>>/>\"?\nConfirmEditShadowTiddler: Estás a punto de editar un tiddler oculto<br> Todo cambio en él afectará al sistema por defecto y pondrá en riesgo futuras actualizaciones del sistema<br> ¿Estás seguro de querer editar \"<$text text=<<title>>/>\"?\nConfirmAction: ¿Desea continuar?\nCount: Número\nDefaultNewTiddlerTitle: Nuevo Tiddler\nDiffs/CountMessage: <<diff-count>> diferencias\nDropMessage: Suéltalo ahora o pulsa ''ESC'' para cancelar\nEncryption/Cancel: Cancelar\nEncryption/ConfirmClearPassword: ¿Deseas borrar la contraseña? <br> Revocarás el cifrado que se aplica para guardar este wiki\nEncryption/PromptSetPassword: Especifica nueva contraseña para este TiddlyWiki\nEncryption/Username: Usuario\nEncryption/Password: Contraseña\nEncryption/RepeatPassword: Repite la contraseña\nEncryption/PasswordNoMatch: Las contraseñas no coinciden\nEncryption/SetPassword: Establecer contraseña\nError/Caption: Error\nError/DeserializeOperator/MissingOperand: Error de filtro: Falta el operando 'deserialize\nError/DeserializeOperator/UnknownDeserializer: Error de filtro: Deserializador desconocido proporcionado como operando para el operador 'deserialize'.\nError/Filter: Error de filtro\nError/FilterSyntax: Error de sintaxis en la expresión de filtro\nError/FilterRunPrefix: Error en Filtro: Prefijo desconocido para la ejecución del filtro\nError/IsFilterOperator: Error en Filtro: Parámetro desconocido para el operador de filtro 'is'\nError/FormatFilterOperator: Error en Filtro: Sufijo desconocido para el operador de filtro 'format'\nError/LoadingPluginLibrary: Error al cargar la biblioteca de complementos\nError/NetworkErrorAlert: `<h2>''Error de Red''</h2>Parece que se perdió la conexión con el servidor. Esto puede indicar un problema con tu conexión de red. Intenta restaurar la conectividad de red antes de continuar.<br><br>''Cualquier cambio no guardado se sincronizará automáticamente cuando se restaure la conectividad''.`\nError/PutEditConflict: Archivo cambiado en el servidor\nError/PutForbidden: Permiso denegado\nError/PutUnauthorized: Se requiere autenticación\nError/RecursiveTransclusion: Error de transclusión recursiva en el widget de transclusión\nError/RetrievingSkinny: Error al recuperar la lista resumida de tiddlers\nError/SavingToTWEdit: Error al guardar en TWEdit\nError/WhileSaving: Error al guardar\nError/XMLHttpRequest: Código de error XMLHttpRequest\nError/ZoominTextNode: Error de vista de historia: Parece que has intentado interactuar con un tiddler que se muestra en un contenedor personalizado. La causa más probable es el uso de `$:/tags/StoryTiddlerTemplateFilter` con una plantilla que contiene texto o espacios en blanco al principio. Utiliza el pragma `\\whitespace trim` y asegúrate de que todo el contenido del tiddler está envuelto en un único elemento HTML. El texto que causó este problema:\nInternalJavaScriptError/Hint: Hay un problema. Se recomienda que reinicies TiddlyWiki\nInternalJavaScriptError/Title: Error interno de JavaScript\nLayoutSwitcher/Description: Abre el selector de diseño\nLazyLoadingWarning: <p>Cargando texto externo desde ''<$text text={{!!_canonical_uri}}/>''</p><p>Si este mensaje no desaparece, puede que se deba a que estás usando un navegador que con esta configuración no permite texto externo</br> Vea https://tiddlywiki.com/#ExternalText</p>\nLoginToTiddlySpace: Inicia sesión en TiddlySpace\nManager/Controls/FilterByTag/None: (ninguno)\nManager/Controls/FilterByTag/Prompt: Filtrar por etiqueta:\nManager/Controls/Order/Prompt: Orden inverso\nManager/Controls/Search/Placeholder: Buscar\nManager/Controls/Search/Prompt: Buscar:\nManager/Controls/Show/Option/Tags: etiquetas\nManager/Controls/Show/Option/Tiddlers: tiddlers\nManager/Controls/Show/Prompt: Mostrar:\nManager/Controls/Sort/Prompt: Ordenar por:\nManager/Item/Colour: Color\nManager/Item/Fields: Campos\nManager/Item/Icon/None: (ninguno)\nManager/Item/Icon: Icono\nManager/Item/RawText: Texto sin procesar\nManager/Item/Tags: Etiquetas\nManager/Item/Tools: Herramientas\nManager/Item/WikifiedText: Texto Wikified\nMissingTiddler/Hint: El tiddler \"<$text text=<<currentTiddler>>/>\" no existe - haz clic en {{||$:/core/ui/Buttons/edit}} para crearlo\nNo: No\nOfficialPluginLibrary: Librería de complementos oficiales de ~TiddlyWiki\nOfficialPluginLibrary/Hint: Librería de complementos oficiales de ~TiddlyWiki en tiddlywiki.com<br> Plugins, temas y paquetes de idioma que mantiene el equipo de TiddlyWiki\nPageTemplate/Description: la disposición por defecto de ~TiddlyWiki\nPageTemplate/Name: Disposición Estándar\nPluginReloadWarning: Guarda {{$:/core/ui/Buttons/save-wiki}} y recarga {{$:/core/ui/Buttons/refresh}} para que los cambios surtan efecto.\nRecentChanges/DateFormat: DD MMM YYYY\nShortcuts/Input/AdvancedSearch/Hint: Abre el panel ~AdvancedSearch desde el campo de búsqueda de la barra lateral\nShortcuts/Input/Accept/Hint: Acepta el elemento seleccionado\nShortcuts/Input/AcceptVariant/Hint: Acepta el elemento seleccionado (variante)\nShortcuts/Input/Cancel/Hint: Vacía el campo de entrada\nShortcuts/Input/Down/Hint: Selecciona el siguiente elemento\nShortcuts/Input/Tab-Left/Hint: Selecciona la Pestaña anterior\nShortcuts/Input/Tab-Right/Hint: Selecciona la siguiente Pestaña\nShortcuts/Input/Up/Hint: Selecciona el elemento anterior\nShortcuts/SidebarLayout/Hint: Cambiar disposición barra lateral\nSwitcher/Subtitle/theme: Cambiar tema\nSwitcher/Subtitle/layout: Cambiar disposición\nSwitcher/Subtitle/language: Cambiar idioma\nSwitcher/Subtitle/palette: Cambiar paleta\nSystemTiddler/Tooltip: Este es un tiddler de sistema\nSystemTiddlers/Include/Prompt: Incluir tiddlers del sistema\nTagManager/Colour/Heading: Color\nTagManager/Count/Heading: Número\nTagManager/Icon/Heading: Icono\nTagManager/Icons/None: Ninguno\nTagManager/Info/Heading: Información\nTagManager/Tag/Heading: Etiqueta\nTiddler/DateFormat: DD MMM YYYY a las hh:0mm\nUnsavedChangesWarning: Tienes cambios sin guardar en TiddlyWiki\nYes: Sí\n"
  },
  {
    "path": "languages/es-ES/Modals/Download.tid",
    "content": "title: $:/language/Modals/Download\ntype: text/vnd.tiddlywiki\nsubtitle: Download changes\nfooter: <$button message=\"tm-close-tiddler\">Close</$button>\nhelp: https://tiddlywiki.com/static/DownloadingChanges.html\n\nTu navegador sólo permite guardar manualmente\n\nPara guardar el wiki, haz clic con el botón derecho en el enlace de más abajo y selecciona \"Descargar archivo\" o \"Guardar enlace como...\" y selecciona a continuación la carpeta y el nombre que quieres darle\n\n//Puedes acelerar ligeramente estas acciones haciendo clic en el enlace conjuntamente con la tecla \"Control\" (Windows) o con la tecla \"Option\" (Mac OS X)<br>\nNo se te pedirán carpeta ni nombre, sino que se asignará automáticamente un nombre probablemente irreconocible -- necesitarás cambiar el nombre y darle extensión `.html` para usarlo//\n\nEn el caso de teléfonos móviles que no permiten la descarga de archivos, puedes marcar el enlace como favorito y luego sincronizar favoritos con tu ordenador y descargarlo normalmente desde ahí\n"
  },
  {
    "path": "languages/es-ES/NewJournal.multids",
    "content": "title: $:/config/NewJournal/\n\nTags: Diario\nTitle: DD de MMM de YYYY\n"
  },
  {
    "path": "languages/es-ES/NewJournalTags.tid",
    "content": "title: $:/config/NewJournal/Tags\n\nDiario\n"
  },
  {
    "path": "languages/es-ES/Notifications.multids",
    "content": "title: $:/language/Notifications/\n\nSave/Done: Guardado\nSave/Starting: Comenzando a guardar wiki\nCopiedToClipboard/Succeeded: ¡Copiado al portapapeles!\nCopiedToClipboard/Failed: ¡No se pudo copiar al portapapeles!\n"
  },
  {
    "path": "languages/es-ES/Search.multids",
    "content": "title: $:/language/Search/\n\nDefaultResults/Caption: Lista\nFilter/Caption: Filtro\nFilter/Hint: Búsqueda por medio de [[expresiones de filtrado|https://tiddlywiki.com/static/Filters.html]] <small> (instrucciones en inglés)</small>\nFilter/Matches: //<small><<resultCount>> coincidencias</small>//\nMatches: //<small><<resultCount>> coincidencias </small>//\nMatches/All: Cualquier coincidencia\nMatches/NoMatch: //Sin coincidencias//\nMatches/NoResult: //No hay resultados de búsqueda//\nMatches/Title: En título\nSearch: Búsqueda\nSearch/TooShort: Texto de búsqueda demasiado corto\nShadows/Caption: Ocultos\nShadows/Hint: Busca en los tiddlers ocultos\nShadows/Matches: //<small><<resultCount>> coincidencias </small>//\nStandard/Caption: Estándar\nStandard/Hint: Busca en los tiddlers estándar\nStandard/Matches: //<small><<resultCount>> coincidencias </small>//\nSystem/Caption: Sistema\nSystem/Hint: Busca en los tiddlers de sistema\nSystem/Matches: //<small><<resultCount>> coincidencias </small>//\n"
  },
  {
    "path": "languages/es-ES/SideBar.multids",
    "content": "title: $:/language/SideBar/\n\nCaption: Panel Lateral\nAll/Caption: Todos\nContents/Caption: Contenido\nDrafts/Caption: Borradores\nExplorer/Caption: Explorar\nMissing/Caption: Vacíos\nMore/Caption: Más\nOpen/Caption: Abiertos\nOrphans/Caption: Huérfanos\nRecent/Caption: Recientes\nShadows/Caption: Ocultos\nSystem/Caption: Sistema\nTags/Caption: Etiquetas\nTags/Untagged/Caption: Sin etiqueta\nTools/Caption: Herramientas\nTypes/Caption: Tipos\n"
  },
  {
    "path": "languages/es-ES/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\nCuaderno de notas personal no-lineal en la web"
  },
  {
    "path": "languages/es-ES/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\nMi TiddlyWiki\n"
  },
  {
    "path": "languages/es-ES/Snippets/FunctionDefinition.tid",
    "content": "title: $:/language/Snippets/FunctionDefinition\ntags: $:/tags/TextEditor/Snippet\ncaption: Definición Función\n\n\\function f.name(param1,param2:\"valor defecto\") [<param1>!is[blank]else<param2>]\n\n<<f.name>>\n"
  },
  {
    "path": "languages/es-ES/Snippets/ListByTag.tid",
    "content": "title: $:/language/Snippets/ListByTag\ntags: $:/tags/TextEditor/Snippet\ncaption: Liste de tiddlers por etiqueta\n\n<<list-links \"[tag[task]sort[title]]\">>\n"
  },
  {
    "path": "languages/es-ES/Snippets/MacroDefinition.tid",
    "content": "title: $:/language/Snippets/MacroDefinition\ntags: $:/tags/TextEditor/Snippet\ncaption: Macro definition\n\n\\define macroName(param1:\"default value\",param2)\nTexto de la macro\n\\end\n"
  },
  {
    "path": "languages/es-ES/Snippets/ProcedureDefinition.tid",
    "content": "title: $:/language/Snippets/ProcedureDefinition\ntags: $:/tags/TextEditor/Snippet\ncaption: Definición Procedimiento\n\n\\procedure procName(param1:\"valor defecto\",param2)\nTu texto se pone aquí.\n\\end\n"
  },
  {
    "path": "languages/es-ES/Snippets/Table 4x3.tid",
    "content": "title: $:/language/Snippets/Table4x3\ntags: $:/tags/TextEditor/Snippet\ncaption: Table with 4 columns by 3 rows\n\n|! |!Alfa |!Beta |!Gamma |!Delta |\n|!Uno | | | | |\n|!Dos | | | | |\n|!Tres | | | | |\n"
  },
  {
    "path": "languages/es-ES/Snippets/TableOfContents.tid",
    "content": "title: $:/language/Snippets/TableOfContents\ntags: $:/tags/TextEditor/Snippet\ncaption: Table of Contents\n\n<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'TableOfContents'>>\n\n</div>"
  },
  {
    "path": "languages/es-ES/ThemeTweaks.multids",
    "content": "title: $:/language/ThemeTweaks/\n\nThemeTweaks: Ajustes del tema\nThemeTweaks/Hint: Puedes modificar ciertos aspectos del tema ''Vanilla''.\nOptions: Opciones\nOptions/SidebarLayout: Diseño de la barra lateral\nOptions/SidebarLayout/Fixed-Fluid: Visor fijado, Herramientas fluido\nOptions/SidebarLayout/Fluid-Fixed: Visor fluido, Herramientas fijado\nOptions/StickyTitles: Títulos fijos\nOptions/StickyTitles/Hint: Hace que los títulos de tiddler se \"peguen\" en la parte superior de la ventana del navegador\nOptions/CodeWrapping: Envuelve líneas largas en bloques de código\nSettings: Configuración\nSettings/FontFamily: Fuente de texto\nSettings/CodeFontFamily: Fuente de texto para código\nSettings/EditorFontFamily: Fuente de texto para editor\nSettings/BackgroundImage: Imagen de fondo de la página\nSettings/BackgroundImageAttachment: Archivo adjunto de imagen de fondo de página\nSettings/BackgroundImageAttachment/Scroll: Desplazamiento con tiddlers\nSettings/BackgroundImageAttachment/Fixed: Fijo en la ventana\nSettings/BackgroundImageSize: Tamaño de la imagen de fondo de la página\nSettings/BackgroundImageSize/Auto: Automático\nSettings/BackgroundImageSize/Cover: Rellenar\nSettings/BackgroundImageSize/Contain: Contenido\nMetrics: Tamaños\nMetrics/FontSize: Tamaño de fuente\nMetrics/LineHeight: Altura de línea\nMetrics/BodyFontSize: Tamaño de fuente para el cuerpo del tiddler\nMetrics/BodyLineHeight: Altura de la línea para el cuerpo del tiddler\nMetrics/StoryLeft: Posición izquierda del visor\nMetrics/StoryLeft/Hint: Distancia del visor del margen izquierdo de la página\nMetrics/StoryTop: Posición superior del visor\nMetrics/StoryTop/Hint: Distancia del visor del margen superior de la página\nMetrics/StoryRight: Visor derecha\nMetrics/StoryRight/Hint: Distancia de la barra lateral del margen izquierdo de la página\nMetrics/StoryWidth: Visor ancho\nMetrics/StoryWidth/Hint: Ancho total del visor\nMetrics/TiddlerWidth: Ancho de Tiddler\nMetrics/TiddlerWidth/Hint: dentro del visor\nMetrics/SidebarBreakpoint: Punto ruptura barra lateral\nMetrics/SidebarBreakpoint/Hint: el ancho mínimo de página en el que el visor y<br> la barra lateral aparecerán una al lado de la otra.\nMetrics/SidebarWidth: Ancho barra lateral\nMetrics/SidebarWidth/Hint: el ancho de la barra lateral en un diseño fluido-fijo\n"
  },
  {
    "path": "languages/es-ES/TiddlerInfo.multids",
    "content": "title: $:/language/TiddlerInfo/\n\nAdvanced/Caption: Avanzado\nAdvanced/PluginInfo/Empty/Hint: No se han instalado\nAdvanced/PluginInfo/Heading: Detalles del complemento\nAdvanced/PluginInfo/Hint: Este plugin contiene los siguientes tiddlers ocultos\nAdvanced/ShadowInfo/Heading: Oculto\nAdvanced/ShadowInfo/NotShadow/Hint: El tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> no es de tipo oculto\nAdvanced/ShadowInfo/Shadow/Hint: El tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> es de tipo oculto\nAdvanced/ShadowInfo/Shadow/Source: Definido en el plugin <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>\nAdvanced/ShadowInfo/OverriddenShadow/Hint: Anulado por un tiddler estándar\nFields/Caption: Campos\nList/Caption: Lista\nList/Empty: Este tiddler no contiene listas\nListed/Caption: En lista de\nListed/Empty: Este tiddler no figura en la lista de ningún otro\nReferences/Caption: Referencias\nReferences/Empty: Ningún otro tiddler enlaza a este\nTagging/Caption: Etiquetado\nTagging/Empty: Ningún otro tiddler tiene esta misma etiqueta\nTools/Caption: Herramientas\n"
  },
  {
    "path": "languages/es-ES/Types/application_javascript.tid",
    "content": "title: $:/language/Docs/Types/application/javascript\ndescription: Código JavaScript\nname: application/javascript\ngroup: Desarrollador\ngroup-sort: 2\n"
  },
  {
    "path": "languages/es-ES/Types/application_json.tid",
    "content": "title: $:/language/Docs/Types/application/json\ndescription: Datos JSON\nname: application/json\ngroup: Desarrollador\ngroup-sort: 2\n"
  },
  {
    "path": "languages/es-ES/Types/application_x_tiddler_dictionary.tid",
    "content": "title: $:/language/Docs/Types/application/x-tiddler-dictionary\ndescription: Diccionario de datos\nname: application/x-tiddler-dictionary\ngroup: Desarrollador\ngroup-sort: 2\n"
  },
  {
    "path": "languages/es-ES/Types/image_gif.tid",
    "content": "title: $:/language/Docs/Types/image/gif\ndescription: Imagen .GIF\nname: image/gif\ngroup: Imagen\ngroup-sort: 1\n"
  },
  {
    "path": "languages/es-ES/Types/image_jpeg.tid",
    "content": "title: $:/language/Docs/Types/image/jpeg\ndescription: Imagen .JPEG\nname: image/jpeg\ngroup: Imagen\ngroup-sort: 1\n"
  },
  {
    "path": "languages/es-ES/Types/image_png.tid",
    "content": "title: $:/language/Docs/Types/image/png\ndescription: Imagen .PNG\nname: image/png\ngroup: Imagen\ngroup-sort: 1\n"
  },
  {
    "path": "languages/es-ES/Types/image_svg_xml.tid",
    "content": "title: $:/language/Docs/Types/image/svg+xml\ndescription: Imagen SVG\nname: image/svg+xml\ngroup: Imagen\ngroup-sort: 1\n"
  },
  {
    "path": "languages/es-ES/Types/text_css.tid",
    "content": "title: $:/language/Docs/Types/text/css\ndescription: Hoja de estilos estática\nname: text/css\ngroup: Desarrollador\ngroup-sort: 2\n"
  },
  {
    "path": "languages/es-ES/Types/text_html.tid",
    "content": "title: $:/language/Docs/Types/text/html\ndescription: Lenguaje de marcado HTML\nname: text/html\ngroup: Texto\ngroup-sort: 0\n"
  },
  {
    "path": "languages/es-ES/Types/text_plain.tid",
    "content": "title: $:/language/Docs/Types/text/plain\ndescription: Texto plano\nname: text/plain\ngroup: Texto\ngroup-sort: 0\n"
  },
  {
    "path": "languages/es-ES/Types/text_vnd.tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/vnd.tiddlywiki\ndescription: TiddlyWiki 5\nname: text/vnd.tiddlywiki\ngroup: Texto\ngroup-sort: 0\n"
  },
  {
    "path": "languages/es-ES/Types/text_vnd.tiddlywiki_multiple.tid",
    "content": "title: $:/language/Docs/Types/text/vnd.tiddlywiki-multiple\ndescription: Tiddler compuesto\nname: text/vnd.tiddlywiki-multiple\ngroup: Developer\ngroup-sort: 2\n"
  },
  {
    "path": "languages/es-ES/plugin.info",
    "content": "{\n\t\"title\": \"$:/languages/es-ES\",\n\t\"name\": \"es-ES\",\n\t\"plugin-type\": \"language\",\n\t\"description\": \"Castellano. (España)\",\n\t\"author\": \"Pau DeLuca,Joe Bordes\",\n\t\"core-version\": \">=5.3\"\n}\n"
  },
  {
    "path": "languages/fa-IR/Buttons.multids",
    "content": "title: $:/language/Buttons/\n\nAdvancedSearch/Caption: جستجوی پیشرفته\nAdvancedSearch/Hint: جستجوی پیشرفته\nBold/Caption: درشت\nBold/Hint: متن انتخاب شده رو درشت کن\nCancel/Caption: لغو\nCancel/Hint: تغییرات این تیدلر رو ذخیره نکن\nClear/Caption: پاک کردن\nClear/Hint: عکس رو به رنگ خالص تبدیل کن\nClone/Caption: کلون\nClone/Hint: این تیدلر رو کلون کن\nClose/Caption: بستن\nClose/Hint: این تیدلر رو ببند\nCloseAll/Caption: همه رو بستن\nCloseAll/Hint: همه‌ی تیدلرها رو ببند\nCloseOthers/Caption: بستن بقیه\nCloseOthers/Hint: بقیه‌ی تیدلرها رو ببند\nControlPanel/Caption: کنترل پنل\nControlPanel/Hint: کنترل پنل رو باز کن\nDelete/Caption: پاک کردن\nDelete/Hint: این تیدلر رو پاک کن\nEdit/Caption: ویرایش\nEdit/Hint: این تیدلر رو ویرایش کن\nEditorHeight/Caption: ارتفاع ویرایشگر\nEditorHeight/Caption/Auto: به صورت خودکار ارتفاع رو تنظیم کن تا متناسب با محتوا بشه.\nEditorHeight/Caption/Fixed: ارتفاع ثابت:\nEditorHeight/Hint: ارتفاع ویرایشگر متن رو انتخاب کن:\nEncryption/Caption: رمزگردانی\nEncryption/ClearPassword/Caption: پاک کردن کلمه‌ی عبور\nEncryption/ClearPassword/Hint: پاک کردن کلمه‌ی عبور و ذخیره‌ی این ویکی بدون رمزگردانی\nEncryption/Hint: حذف یا مشخص کردن رمزی برای این ویکی\nEncryption/SetPassword/Caption: مشخص کردن رمز\nEncryption/SetPassword/Hint: مشخص کردن رمزی برای رمزگردانی این ویکی\nExcise/Caption: شکافتن\nExcise/Caption/Excise: بشکاف\nExcise/Caption/MacroName: عنوان ماکرو:\nExcise/Caption/NewTitle: عنوان تیدلر جدید:\nExcise/Caption/Replace: متن شکافته شده رو با این جایگزین کن:\nExcise/Caption/Replace/Link: پیوند\nExcise/Caption/Replace/Macro: ماکرو\nExcise/Caption/Replace/Transclusion: پیوست:\nExcise/Caption/Tag: تیدلر جدید رو با عنوان این تیدلر برچسب بزن\nExcise/Caption/TiddlerExists: هشدار: تیدلر از قبل وجود دارد\nExcise/Hint: شکفتن متن انتخاب شده به تیدلر جدید\nExportPage/Caption: خروجی از همه\nExportPage/Hint: خروجی از همه تیدلرها\nExportTiddler/Caption: خروجی از تیدلر\nExportTiddler/Hint: خروجی از تیدلر\nExportTiddlers/Caption: خروجی از تیدلرها\nExportTiddlers/Hint: خروجی از تیدلرها\nFold/Caption: تیدلر رو جمع کن\nFold/FoldBar/Caption: نوارِ جمع‌کن\nFold/FoldBar/Hint: نوارهای اختیاری جهت جمع و باز کردن تیدلرها\nFold/Hint: بدنه‌ی این تیدلر رو جمع کن\nFoldAll/Caption: همه‌ی تیدلرها رو جمع کن\nFoldAll/Hint: بدنه‌ی همه‌ی تیدلر‌ها رو جمع کن\nFoldOthers/Caption: بقیه‌ی تیدلرها رو جمع کن\nFoldOthers/Hint: بدنه‌ی بقیه‌ی تیدلرهای باز رو جمع کن\nFullScreen/Caption: تما-صفحه\nFullScreen/Hint: داخل یا خارج شدن از حالت تمام-صفحه\nHeading1/Caption: عنوان ۱\nHeading1/Hint: فرمت عنوان مرحله‌ی ۱ رو بر روی خط‌هایی که شامل متن انتخاب شد‌اند، وارد کن.\nHeading2/Caption: عنوان ۲\nHeading2/Hint: فرمت عنوان مرحله‌ی ۲ رو بر روی خط‌هایی که شامل متن انتخاب شد‌اند، وارد کن.\nHeading3/Caption: عنوان ۳\nHeading3/Hint: فرمت عنوان مرحله‌ی ۳ رو بر روی خط‌هایی که شامل متن انتخاب شد‌اند، وارد کن.\nHeading4/Caption: عنوان ۴\nHeading4/Hint: فرمت عنوان مرحله‌ی ۴ رو بر روی خط‌هایی که شامل متن انتخاب شد‌اند، وارد کن.\nHeading5/Caption: عنوان ۵\nHeading5/Hint: فرمت عنوان مرحله‌ی ۵ رو بر روی خط‌هایی که شامل متن انتخاب شد‌اند، وارد کن.\nHeading6/Caption: عنوان ۶\nHeading6/Hint: فرمت عنوان مرحله‌ی ۶ رو بر روی خط‌هایی که شامل متن انتخاب شد‌اند، وارد کن.\nHelp/Caption: راهنما\nHelp/Hint: نمایش صفحه راهنما\nHideSideBar/Caption: مخفی‌کردن نوار کناری\nHideSideBar/Hint: مخفی‌کردن نوار کناری\nHome/Caption: خانه\nHome/Hint: باز کردن تیدلرهای پیشفرض\nImport/Caption: درون‌ریزی\nImport/Hint: Import many types of file including text, image, TiddlyWiki or JSON\nدرونریزی انواع فایل شامل متن، عکس تیدلی ویکی یا json\nInfo/Caption: اطلاعات\nInfo/Hint: اطلاعات\nItalic/Caption: مایل‌نویس\nItalic/Hint: مایل‌نویس کردن بخش انتخاب شده\nLanguage/Caption: زبان\nLanguage/Hint: انتخاب زبان محیط کاربری\nLineWidth/Caption: عرض خط\nLineWidth/Hint: مشخص کردن عرض خط برای نقاشی\nLink/Caption: پیوند\nLink/Hint: ساخت پیوند ویکی‌تکست\nListBullet/Caption: لیست گلوله‌ای\nListBullet/Hint: لیست گلوله‌ای کردن خط‌های انتخاب شده\nListNumber/Caption: لیست شماره‌دار\nListNumber/Hint: لیست شماره‌دار کردن خط‌های انتخاب شده\nManager/Caption: مدیریت تیدلرها\nManager/Hint: بازکردن مدیریت تیدلرها\nMonoBlock/Caption: بلوک تک-فاصله\nMonoBlock/Hint: بلوک تک-فاصله‌ای کردن خط‌های انتخاب شده\nMonoLine/Caption: تک فاصله‌ای\nMonoLine/Hint: استفاده از حروف تک فاصله‌ای برای متن انتخاب شده\nMore/Caption: بیشتر\nMore/Hint: عمل‌های بیشتر\nNewHere/Caption: اینجا جدید\nNewHere/Hint: ساختن تیدلر جدید با این برچسب\nNewImage/Caption: تصویر جدید\nNewImage/Hint: ساختن تیدلر تصویری جدید\nNewJournal/Caption: ژورنال جدید\nNewJournal/Hint: ساختن تیدلر ژورنال جدید\nNewJournalHere/Caption: ژورنال جدید اینجا\nNewJournalHere/Hint: ساختن تیدلر ژورنال جدید با این برچسب\nNewMarkdown/Caption: تیدلر Markdown جدید\nNewMarkdown/Hint: ساختن تیدلر markdown جدید\nNewTiddler/Caption: تیدلر جدید\nNewTiddler/Hint: تیدلر جدید بساز\nOpacity/Caption: کدری\nOpacity/Hint: مشخص کردن میزان کدری نقاشی\nOpenWindow/Caption: باز کردن در پنجره جدید\nOpenWindow/Hint: بازکردن تیدلر در پنجره جدید\nPaint/Caption: رنگ نقاشی\nPaint/Hint: مشخص کردن رنگ نقاشی\nPalette/Caption: پالت\nPalette/Hint: انتخاب پالت رنگ نقاشی\nPermalink/Caption: لینک دائم\nPermalink/Hint: آدرس مرورگر رو تبدیل به پیوند مستقیم به این تیدلر کن\nPermaview/Caption: نمایش دائم\nPermaview/Hint: آدرس مرورگر رو تبدیل به پیوند مستقیم به همه تیدلر‌های این داستان کن\nPicture/Caption: تصویر\nPicture/Hint: قرار دادن تصویر\nPreview/Caption: پیش‌نمایش\nPreview/Hint: پنجره‌ی پیش‌نمایش رو نشون بده\nPreviewType/Caption: پیش‌نمایش نوع\nPreviewType/Hint: انتخاب پیش‌نمایش نوع\nPrint/Caption: پرینت صفحه\nPrint/Hint: صفحه‌ی حال حاضر رو پرینت کن\nQuote/Caption: نقل قول\nQuote/Hint: خط‌هایی که شامل متن انتخاب شده اند را تبدیل به نقل‌قول کن\nRefresh/Caption: تازه‌سازی\nRefresh/Hint: تازه‌سازی کامل کل ویکی\nSave/Caption: اوکی\nSave/Hint: تایید تغییرات بر روی این تیدلر\nSaveWiki/Caption: ذخیره تغییرات\nSaveWiki/Hint: ذخیره تغییرات\nShowSideBar/Caption: نمایش نوار کناری\nShowSideBar/Hint: نمایش نوار کناری\nSize/Caption: اندازه‌ی تصویر\nSize/Caption/Height: ارتفاع:\nSize/Caption/Resize: تغییر اندازه‌ی تصویر\nSize/Caption/Width: عرض:\nSize/Hint: مشخص کردن اندازه‌ی تصویر\nStamp/Caption: مهر\nStamp/Caption/New: اضافه کردن مال خودت\nStamp/Hint: ردادن تکه‌ای متن پیش‌تنظیم‌شده\nStamp/New/Text: متن قطعه‌ای ( به یادداشته باشید که عنوانی توصیف کننده در باکس عنوان قرار دهید)\nStamp/New/Title: اسم همانطوری که در منو نمایش داده شده\nStoryView/Caption: نمای داستانی\nStoryView/Hint: انتخاب نوع نمایش داستان\nStrikethrough/Caption: خط‌خورده\nStrikethrough/Hint: خط‌خوردگی متن انتخاب شده\nSubscript/Caption: زیرنویس\nSubscript/Hint: تبدیل متن انتخابی به زیرنویس\nSuperscript/Caption: ابرمتن\nSuperscript/Hint: تبدیل متن انتخابی به ابرمتن\nTagManager/Caption: مدیریت برچسب\nTagManager/Hint: بازکردن مدیریت برچسب\nTheme/Caption: قالب\nTheme/Hint: انتخاب قالب نمایش\nTimestamp/Caption: انتخاب مهر زمانی\nTimestamp/Hint: انتخاب این که آیا تغییرات مهرزمانی را عوض کنند یا نه\nTimestamp/Off/Caption: مهرهای زمانی خاموش‌اند\nTimestamp/Off/Hint: مهرهای زمانی را زمانیکه تیدلرها تغییر می‌کنند، عوض نکن\nTimestamp/On/Caption: مهرهای زمانی روشن‌اند\nTimestamp/On/Hint: مهرهای زمانی را زمانیکه تیدلرها تغییر می‌کنند، عوض کن\nUnderline/Caption: زیرخط\nUnderline/Hint: زیر متن انتخاب شده خط بکش\nUnfold/Caption: باز کردن تیدلر\nUnfold/Hint: باز کردن بدنه‌ی این تیدلر\nUnfoldAll/Caption: باز کردن همه‌ی تیدلرها\nUnfoldAll/Hint: باز کردن بدنه‌ی همه‌ی تیدلرهای باز\n"
  },
  {
    "path": "languages/fa-IR/ControlPanel.multids",
    "content": "title: $:/language/ControlPanel/\n\nAdvanced/Caption: پیشرفته\nAdvanced/Hint: اطلاعات داخلی در مورد TiddlyWiki\nAppearance/Caption: ظاهر\nAppearance/Hint: روش‌های تغییر ظاهر TiddlyWiki\nBasics/AnimDuration/Prompt: طول زمان انیمیشن:\nBasics/Caption: اساسی‌ها\nBasics/DefaultTiddlers/BottomHint: Use &#91;&#91;double square brackets&#93;&#93; for titles with spaces. Or you can choose to {{retain story ordering||$:/snippets/retain-story-ordering-button}}\nBasics/DefaultTiddlers/Prompt: تیدلرهای پیش‌فرض:\nBasics/DefaultTiddlers/TopHint: انتخاب کن که کدوم تیدلرها در هنگام شروع نمایش داده بشن:\nBasics/Language/Prompt: سلام! زبان حاضر:\nBasics/NewJournal/Tags/Prompt: برچسب‌ها برای تیدلرهای ژورنالی جدید\nBasics/NewJournal/Text/Prompt: متن برای تیدلرهای ژورنالی جدید\nBasics/NewJournal/Title/Prompt: عنوان برای تیدلرهای ژورنالی جدید\nBasics/OverriddenShadowTiddlers/Prompt: تعداد تیدلرهای سایه‌ای باز‌نویسی شد:\nBasics/ShadowTiddlers/Prompt: تعداد تیدلرهای سایه‌ای:\nBasics/Subtitle/Prompt: زیرنویس:\nBasics/SystemTiddlers/Prompt: تعداد تیدلرهای سیستمی:\nBasics/Tags/Prompt: تعداد برچسب‌ها:\nBasics/Tiddlers/Prompt: تعداد تیدلر‌ها:\nBasics/Title/Prompt: عنوان این ~TiddlyWiki:\nBasics/Username/Prompt: نام کاربری برای امضای ویرایش‌ها:\nBasics/Version/Prompt: ~TiddlyWiki ورژن:\nEditorTypes/Caption: انواع ویرایشگرها\nEditorTypes/Editor/Caption: ویرایشگر\nEditorTypes/Hint: این تیدلرها مشخص می‌کنند که کدوم ویرایشگر برای کدوم نوع تیدلر استفاده بشه.\nEditorTypes/Type/Caption: نوع\nInfo/Caption: اطلاعات\nInfo/Hint: اطلاعات درباره‌ی این TiddlyWiki\nKeyboardShortcuts/Add/Caption: اضافه کردن میانبر\nKeyboardShortcuts/Add/Prompt: میانبر را در اینجا بنویسید\nKeyboardShortcuts/Caption: میانبر‌های صفحه کلید\nKeyboardShortcuts/Hint: مدیریت میانبر‌های صفحه کلید ساخته شده\nKeyboardShortcuts/NoShortcuts/Caption: هیچ میانبر‌های صفحه کلیدی ساخته نشده است.\nKeyboardShortcuts/Platform/All: همه‌ی پلتفورم‌ها\nKeyboardShortcuts/Platform/Linux: فقط برای لینوکس\nKeyboardShortcuts/Platform/Mac: فقط برای مکینتاش\nKeyboardShortcuts/Platform/NonLinux: فقط برای غیر لینوکس‌ها\nKeyboardShortcuts/Platform/NonMac: فقط برای غیر مکینتاش‌ها\nKeyboardShortcuts/Platform/NonWindows: فقط برای غیر ویندوزها\nKeyboardShortcuts/Platform/Windows: ففقط برای ویندوز\nKeyboardShortcuts/Remove/Hint: حذف میانبر‌ صفحه کلید\nLoadedModules/Caption: مدول‌های بارگزاری شده\nLoadedModules/Hint: این‌ها مدول‌های تیدلر بارگزاری شده هستند که به تیدلرهای منبعشون پیوند داده شدن. هر مدولی که مایل‌نویس شده، بدون تیدلر منبع هست که معمولن بخاطر این هست که در هنگام بارگزاری ساخته شدند.\nPalette/Caption: پالت\nPalette/Editor/Clone/Caption: کلون\nPalette/Editor/Clone/Prompt: پیشنهاد می شه که قبل ازاستفاده از این پالت سایه‌ای، کلونش کنین.\nPalette/Editor/Prompt: ویرایش‌کردن\nPalette/Editor/Prompt/Modified: این پالت سایه‌ای تغییر کرده است.\nPalette/Editor/Reset/Caption: بازسازی\nPalette/HideEditor/Caption: مخفی‌کردن ویرایش‌گر\nPalette/Prompt: پالت حال حاضر:\nPalette/ShowEditor/Caption: نمایش ویرایش‌گر\nParsing/Block/Caption: قواعد تجزیه‌ی بلوک‌ها\nParsing/Caption: تجزیه کردن\nParsing/Hint: Here you can globally disable/enable wiki parser rules. For changes to take effect, save and reload your wiki. Disabling certain parser rules can prevent <$text text=\"TiddlyWiki\"/> from functioning correctly. Use [[safe mode|https://tiddlywiki.com/#SafeMode]] to restore normal operation.\nاینجا می‌تونی قواعد تجزیه‌ی ویکی رو به صورت کلی عوض کنی. برای این که تغییرات تاثیرگذار باشن، ذخیره کن و ویکیت رو دوباره بارگذاری کن. غیر فعال کردن بعضی قواعد تجزیه می‌تونه مانع عملکرد درست <$text text=\"TiddlyWiki\"/> بشه.  \nاز [[safe mode|https://tiddlywiki.com/#SafeMode]] استفاده کن تا عملکرد‌ها عادی بشه.\nParsing/Inline/Caption: قواعد تجزیه‌ی درون‌خطی\nParsing/Pragma/Caption: قواعد تجزیه پراگما\nPlugins/Add/Caption: دریافت افزونه‌های بیشتر\nPlugins/Add/Hint: نصب افزونه از کتاب‌خانه‌ی رسمی\nPlugins/AlreadyInstalled/Hint: این افزونه از ورژن  <$text text=<<installedVersion>>/> از قبل نصب شده‌است\nPlugins/Caption: افزونه‌ها\nPlugins/ClosePluginLibrary: بستن کتاب‌خانه‌ی افزونه‌ها\nPlugins/Disable/Caption: غیرفعال\nPlugins/Disable/Hint: این افزونه را هنگام بارگذاری دوباره‌ی صفحه غیرفعال کن\nPlugins/Disabled/Status: (غیرفعال)\nPlugins/Empty/Hint: هیچ\nPlugins/Enable/Caption: فعال\nPlugins/Enable/Hint: این افزونه را هنگام بارگذاری دوباره‌ی صفحه فعال کن\nPlugins/Install/Caption: نصب\nPlugins/Installed/Hint: افزونه‌ی نصب شده:\nPlugins/Languages/Caption: زبان‌ها\nPlugins/Languages/Hint: افزونه‌های بسته‌های زبانی \nPlugins/NoInfoFound/Hint: هیچ ''\"<$text text=<<currentTab>>/>\"'' پیدا نشد\nPlugins/NoInformation/Hint: هیچ اطلاعاتی داده نشد\nPlugins/NotInstalled/Hint: این افزونه در حال حاضر نصب نشده‌است\nPlugins/OpenPluginLibrary: بازکردن کتاب‌خانه‌ی افزونه\nPlugins/Plugins/Caption: افزونه‌ها\nPlugins/Plugins/Hint: افزونه‌ها\nPlugins/Reinstall/Caption: بازنصب\nPlugins/Themes/Caption: قالب‌ها\nPlugins/Themes/Hint: افزونه قالب‌ها\nSaving/Caption: در حال ذخیره\nSaving/DownloadSaver/AutoSave/Description: اجازه‌ی ذخیره‌ی خودکار به ذخیره کننده‌ی بارگذار\nSaving/DownloadSaver/AutoSave/Hint: فعال‌سازی ذخیره‌ی خودکار به ذخیره کننده‌ی بارگذار\nSaving/DownloadSaver/Caption: ذخیره کننده‌ی بارگذار\nSaving/DownloadSaver/Hint: \nاین تنظیمات بر روی ذخیره کننده‌ی بارگذار مطابق با HTML5 اجرا می‌شه\nSaving/General/Caption: عمومی\nSaving/General/Hint: این تنظیمات بر روی تمام ذخیره‌کننده‌های فعال اجرا می‌شود\nSaving/Hint: Settings used for saving the entire TiddlyWiki as a single file via a saver module\nتنظیماتی برای ذخیره‌ی کل TiddlyWiki بر روی یک فایل از طریق مدولی برای ذخیره \nSaving/TiddlySpot/Advanced/Heading: تنظیمات پیشرفته\nSaving/TiddlySpot/BackupDir: محل پشتیبانی‌گیری\nSaving/TiddlySpot/Backups: محل پشتیبانی‌گیری\nSaving/TiddlySpot/Caption: ذخیره کننده‌ی  ~TiddlySpot \nSaving/TiddlySpot/Description: این تنظیمات فقط زمانی استفاده می‌شوند که از  http://tiddlyspot.com یا یک سرور دوردست دارای مطابقت استفاده می‌شود.\nSaving/TiddlySpot/Filename: اسم فایل آپلود شده\nSaving/TiddlySpot/Heading: ~TiddlySpot\nSaving/TiddlySpot/Hint: //The server URL defaults to `http://<wikiname>.tiddlyspot.com/store.cgi` and can be changed to use a custom server address, e.g. `http://example.com/store.php`.//\nSaving/TiddlySpot/Password: رمز\nSaving/TiddlySpot/ServerURL: آدرس سرور\nSaving/TiddlySpot/UploadDir: محل آپلود\nSaving/TiddlySpot/UserName: اسم ویکی\nSettings/AutoSave/Caption: ذخیره خودکار\nSettings/AutoSave/Disabled/Description: تغییرات رو خودکار ذخیره نکن\nSettings/AutoSave/Enabled/Description: تغییرات رو خودکار ذخیره کن.\nSettings/AutoSave/Hint: سعی کن تغییرات رو به صورت خودکار ذخیره کنی در حینی که ویرایش انجام می‌شه توسط یک ذخیره کننده‌ی پشتیبان.\nSettings/CamelCase/Caption: CamelCase Wiki Links\nSettings/CamelCase/Description:  فعال سازی  پیوند‌های ~CamelCase خودکار\nSettings/CamelCase/Hint: شما پیوندسازی خودکار عبارات ~CamelCase را غیر فعال ساختید. این تغییر نیازمند بارگزاری دوباره است تا عمل کند.\nSettings/Caption: تنظیمات\nSettings/DefaultSidebarTab/Caption: برگه‌ی پیشفرض نوار کناری\nSettings/DefaultSidebarTab/Hint: مشخص کنید که کدام برگه‌ی نوارکناری به صورت پیشفرض نمایش داده شود\nSettings/EditorToolbar/Caption: نوار ابزار ویرایشگر\nSettings/EditorToolbar/Description: نوار ابزار ویرایشگر رو نمایش بده\nSettings/EditorToolbar/Hint: نوار ابزار ویرایشگر رو فعال یا غیرفعال کن:\nSettings/Hint: این تنظیمات به شما امکان تغییر رفتار TiddlyWiki را می‌دهند.\nSettings/InfoPanelMode/Caption: حالت صفحه‌ی اطلاعات تیدلر\nSettings/InfoPanelMode/Hint: زمانی که حالت صفحه‌ی اطلاعات تیدلر بسته می‌شه رو کنترل کن:\nSettings/InfoPanelMode/Popup/Description: حالت صفحه‌ی اطلاعات تیدلر به صورت خودکار بسته می‌شه\nSettings/InfoPanelMode/Sticky/Description: حالت صفحه‌ی اطلاعات تیدلر باز می‌مونه مگر این که عمدن بسته بشه\nSettings/LinkToBehaviour/Caption: رفتار باز شدن تیدلر\nSettings/LinkToBehaviour/InsideRiver/Hint: هدایت از //درون// رود داستان\nSettings/LinkToBehaviour/OpenAbove: بالای تیدلر کنونی باز کن\nSettings/LinkToBehaviour/OpenAtBottom: پایین رود داستان باز کن\nSettings/LinkToBehaviour/OpenAtTop: بالای رود داستان باز کن\nSettings/LinkToBehaviour/OpenBelow: پایین تیدلر کنونی باز کن\nSettings/LinkToBehaviour/OutsideRiver/Hint: هدایت از //بیرون// رود داستان\nSettings/MissingLinks/Caption: پیوند‌های ویکی\nSettings/MissingLinks/Description: فعا‌ل‌سازی پیوند به تیدلرهای ناموجود\nSettings/MissingLinks/Hint: انتخاب کنید که آیا پیوند به تیدلرهایی که هنوز وجود ندارد زده شود یا نه\nSettings/NavigationAddressBar/Caption: نوار آدرس هدایت‌گر\nSettings/NavigationAddressBar/Hint: عملکرد نوار آدرس هنگامی که به داخل تیدلر می‌رود:\nSettings/NavigationAddressBar/No/Description: نوار آدرس را بروز نکن\nSettings/NavigationAddressBar/Permalink/Description: تیدلر مورد نظر را شامل شود\nSettings/NavigationAddressBar/Permaview/Description: تیدلر مورد نظر و توالی داستان کنونی را شامل شود\nSettings/NavigationHistory/Caption: تاریخچه‌ی حرکت\nSettings/NavigationHistory/Hint: زمانی که به یک تیدلر می‌روی تاریخچه مرورگر بروزرسانی شود:\nSettings/NavigationHistory/No/Description: تاریخچه بروز نشود\nSettings/NavigationHistory/Yes/Description: بروزرسانی تاریخ‌چه\nSettings/PerformanceInstrumentation/Caption: استعمال آلات کارایی\nSettings/PerformanceInstrumentation/Description: فعال‌سازی استعمال آلات کارایی\nSettings/PerformanceInstrumentation/Hint: نمایش آمار کارایی در کنسول توسعه‌گر مرورگر. نیازمند بارگزاری مجدد.\nSettings/TitleLinks/Caption: عنوان‌های تیدلر\nSettings/TitleLinks/Hint: به صورت اختیاری عنوان‌ها رو به صورت پیوند نمایش بده\nSettings/TitleLinks/No/Description:  عنوان تیدلرها رو به صورت پیوند نمایش نده\nSettings/TitleLinks/Yes/Description:  عنوان تیدلرها رو به صورت پیوند نمایش بده\nSettings/ToolbarButtons/Caption: دکمه‌های نوار ابزار\nSettings/ToolbarButtons/Hint: ظاهر پیشفرض دکمه‌های نوار ابزار:\nSettings/ToolbarButtons/Icons/Description: شامل آیکون\nSettings/ToolbarButtons/Text/Description: شامل متن\nSettings/ToolbarButtonStyle/Caption: استایل دکمه‌های نوار ابزار\nSettings/ToolbarButtonStyle/Hint: انتخاب استایل دکمه‌های نوار ابزار:\nSettings/ToolbarButtonStyle/Styles/Borderless: بدون مرز\nSettings/ToolbarButtonStyle/Styles/Boxed: مربع شده\nSettings/ToolbarButtonStyle/Styles/Rounded: گرد شده\nStoryView/Caption: نمای داستانی\nStoryView/Prompt: نمای حال حاضر:\nTheme/Caption: قالب\nTheme/Prompt: قالب کنونی:\nTiddlerFields/Caption: فضای تیدلر\nTiddlerFields/Hint: این مجموعه‌ای کامل از فضاهای تیدلرهای استفاده شده در این ویکی است (شامل تیدلرهای سیستم اما بدون تیدلرهای سایه‌ای).\nToolbars/Caption: نوارابزارها\nToolbars/EditorToolbar/Caption: نوارابزار ویرایشگر\nToolbars/EditorToolbar/Hint: انتخاب کن کدام دکمه‌های در نوارابزار ویرایشگر نمایش داده شود. توجه کن که بعضی دکمه‌ها فقط در ویرایشگرهای تیدلرهای بخصوصی نمایش داده می‌شوند. برای تغییر ترتیب بکش و بندازشان\nToolbars/EditToolbar/Caption: ویرایش نوار ابزار\nToolbars/EditToolbar/Hint: انتخاب کن کدام دکمه‌ها برای تیدلرها در حالت ویرایش نمایش داده شود. برای تغییر ترتیب بکش و بندازشان\nToolbars/Hint: انتخاب نمایش دکمه‌های نوارابزار\nToolbars/PageControls/Caption: نوارابزار صفحه\nToolbars/PageControls/Hint: انتخاب کن کدام دکمه‌ها در نوار ابزار صفحه اصلی نمایش داده شود. برای تغییر ترتیب بکش و بندازشان\nToolbars/ViewToolbar/Caption: نوارابزار رو نمایش بده\nToolbars/ViewToolbar/Hint: انتخاب کن کدام دکمه‌ها برای تیدلرها در حالت نمایش، نمایش داده شود. برای تغییر ترتیب بکش و بندازشان\nTools/Download/Full/Caption: ویکی کامل رو دانلود کن\n"
  },
  {
    "path": "languages/fa-IR/CoreReadMe.tid",
    "content": "title: $:/core/fa/readme\n\nاین افزونه شامل قطعات مرکزی تیدلی ویکی است. که متشکل است از:\n\n* مدول‌های جاوا اسکریپت\n* آیکون‌ها\n* قالب‌هایی که برای ساخت تیدلی‌ویکی لازم است\n* انگلیسی بریتانیایی (''en-GB'') زنجیره‌های قابل محلی سازی که توسط مرکز استفاده می‌شود.\n"
  },
  {
    "path": "languages/fa-IR/Dates.multids",
    "content": "title: $:/language/\n\nDate/DaySuffix/1: \nDate/DaySuffix/10: \nDate/DaySuffix/11: \nDate/DaySuffix/12: \nDate/DaySuffix/13: \nDate/DaySuffix/14: \nDate/DaySuffix/15: \nDate/DaySuffix/16: \nDate/DaySuffix/17: \nDate/DaySuffix/18: \nDate/DaySuffix/19: \nDate/DaySuffix/2: \nDate/DaySuffix/20: \nDate/DaySuffix/21: \nDate/DaySuffix/22: \nDate/DaySuffix/23: \nDate/DaySuffix/24: \nDate/DaySuffix/25: \nDate/DaySuffix/26: \nDate/DaySuffix/27: \nDate/DaySuffix/28: \nDate/DaySuffix/29: \nDate/DaySuffix/3: \nDate/DaySuffix/30: \nDate/DaySuffix/31: \nDate/DaySuffix/4: \nDate/DaySuffix/5: \nDate/DaySuffix/6: \nDate/DaySuffix/7: \nDate/DaySuffix/8: \nDate/DaySuffix/9: \nDate/Long/Day/0: یکشنبه\nDate/Long/Day/1: دوشنبه\nDate/Long/Day/2: سه شنبه\nDate/Long/Day/3: چهارشنبه\nDate/Long/Day/4: پنجشنبه\nDate/Long/Day/5: جمعه\nDate/Long/Day/6: شنبه\nDate/Long/Month/1: January\nDate/Long/Month/10: October\nDate/Long/Month/11: Novembe\nDate/Long/Month/12: December\nDate/Long/Month/2: February\nDate/Long/Month/3: March\nDate/Long/Month/4: April\nDate/Long/Month/5: May\nDate/Long/Month/6: June\nDate/Long/Month/7: July\nDate/Long/Month/8: August\nDate/Long/Month/9: September\nDate/Period/am: صبح\nDate/Period/pm: بعد از ظهر\nDate/Short/Day/0: یکش\nDate/Short/Day/1: دوش\nDate/Short/Day/2: سش\nDate/Short/Day/3: چرش\nDate/Short/Day/4: پنجش\nDate/Short/Day/5: جمعه\nDate/Short/Day/6: شنب\nDate/Short/Month/1: Jan\nDate/Short/Month/10: Oct\nDate/Short/Month/11: Nov\nDate/Short/Month/12: Dec\nDate/Short/Month/2: Feb\nDate/Short/Month/3: Mar\nDate/Short/Month/4: Apr\nDate/Short/Month/5: May\nDate/Short/Month/6: Jun\nDate/Short/Month/7: Jul\nDate/Short/Month/8: Aug\nDate/Short/Month/9: Sep\nRelativeDate/Future/Days: <<period>> روز از الان\nRelativeDate/Future/Hours: <<period>> ساعت از الان\nRelativeDate/Future/Minutes: <<period>> دقیقه از الان\nRelativeDate/Future/Months: <<period>> ماه از الان\nRelativeDate/Future/Second: ۱ ثانیه از الان\nRelativeDate/Future/Seconds: <<period>> ثانیه از الان\nRelativeDate/Future/Years: <<period>> سال از الان\nRelativeDate/Past/Days: <<period>> روز قبل\nRelativeDate/Past/Hours: <<period>> ساعت قبل\nRelativeDate/Past/Minutes: <<period>> دقیقه قبل\nRelativeDate/Past/Months: <<period>> ماه قبل\nRelativeDate/Past/Second: 1 ثانیه قبل\nRelativeDate/Past/Seconds: <<period>>  ثانیه قبل\nRelativeDate/Past/Years: <<period>> سال قبل\n"
  },
  {
    "path": "languages/fa-IR/Docs/ModuleTypes.multids",
    "content": "title: $:/language/Docs/ModuleTypes/\n\n"
  },
  {
    "path": "languages/fa-IR/Docs/PaletteColours.multids",
    "content": "title: $:/language/Docs/PaletteColours/\n\n"
  },
  {
    "path": "languages/fa-IR/EditTemplate.multids",
    "content": "title: $:/language/EditTemplate/\n\nBody/External/Hint: این یک تیدلر خارجی است که در خارج فایل اصلی تیدلی‌ویکی ذخیره شده‌است. شما می‌توانید برچسب‌ها و فضاهای خالی را ویرایش کنید اما نمی‌توانید مستقیمن محتوا را عوض کنید\nBody/Placeholder: متن این تیدلر را تایپ کن\nBody/Preview/Type/Output: خروجی\nField/Remove/Caption: حذف فضاهای خالی\nField/Remove/Hint: حذف فضای خالی\nFields/Add/Button: اضافه کردن\nFields/Add/Dropdown/System: فضای خالی سیستمی\nFields/Add/Dropdown/User: فضای خالی کاربر\nFields/Add/Name/Placeholder: فضای خالی نام\nFields/Add/Prompt: فضای خالی اضافه کن:\nFields/Add/Value/Placeholder: ارزش فضای خالی\nShadow/OverriddenWarning: این یک تیدلر سایه‌ای ویرایش‌شده است. شما می‌توانید به ویرایش پیشفرض افزونه<<pluginLink>>، از طریق حذف این تیدلر برگردید \nShadow/Warning: \nاین یک تیدلر سایه‌است. هر تغییر که انجام دهید به ویرایش  پیشفرض افزونه <<pluginLink>> برمی‌گردد\nTags/Add/Button: اضافه کن\nTags/Add/Placeholder: نام برچسب\nTags/Dropdown/Caption: لیست برچسب\nTags/Dropdown/Hint: نمایش لیست برچسب\nTitle/BadCharacterWarning: اخطار: از استفاده از هر گونه از کاراکترهای <<bad-chars>> در عنوان تیدلرها خودداری کنید\nTitle/Exists/Prompt: تیدلر مورد نظر از قبل وجود دارد\nTitle/Relink/Prompt: برروز رسانی کنه ''<$text text=<<fromTitle>>/>'' به ''<$text text=<<toTitle>>/>'' در //برچسب// و //لیست// فضای خالی سایر تیدلرها\nType/Delete/Caption: پاک کردن نوع محتوا\nType/Delete/Hint: پاک کردن نوع محتوا\nType/Dropdown/Caption: لیست انواع محتوا\nType/Dropdown/Hint: نمایش لیست انواع محتوا\nType/Placeholder: نوع محتوا\nType/Prompt: نوع:\n"
  },
  {
    "path": "languages/fa-IR/Exporters.multids",
    "content": "title: $:/language/Exporters/\n\nCsvFile: فایل CSV\nJsonFile: فایل JSON\nStaticRiver: Static HTML\nTidFile: فایل \".tid\"\n"
  },
  {
    "path": "languages/fa-IR/Fields.multids",
    "content": "title: $:/language/Docs/Fields/\n\n"
  },
  {
    "path": "languages/fa-IR/Filters.multids",
    "content": "title: $:/language/Filters/\n\n"
  },
  {
    "path": "languages/fa-IR/GettingStarted.tid",
    "content": "title: GettingStarted\n\n\\define lingo-base() $:/language/ControlPanel/Basics/\nبه ~TiddlyWiki و جامعه‌ی  ~TiddlyWiki خوش آمدید.\n\nقبل از این که هر گونه اطلاعات مهمی رو در ~TiddlyWiki وارد کنی، مهمه که اطمینان کسب کنیم که می‌تونی اطلاعات رو به شکل قابل اعتمادی ذخیره کنی. برای اطلاعات بیشتر ببین: https://tiddlywiki.com/#GettingStarted\n\n!! این رو تنظیم کن ~TiddlyWiki\n\n<div class=\"tc-control-panel\">\n\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\nبرای انتخاب‌های بیشتر این رو ببین: [[control panel|$:/ControlPanel]]\n"
  },
  {
    "path": "languages/fa-IR/Import.multids",
    "content": "title: $:/language/Import/\n\nImported/Hint: تیدلرهای ذیل وارد شدند:\nListing/Cancel/Caption: کنسل\nListing/Hint: این تیدلرها آماده‌ی وارد شدن هستند:\nListing/Import/Caption: وارد کردن\nListing/Select/Caption: انتخاب\nListing/Status/Caption: وضعیت\nListing/Title/Caption: عنوان\nUpgrader/Plugins/Suppressed/Incompatible: نامنطبق‌ها بلاک شدند یا افزونه قدیمی است\nUpgrader/Plugins/Suppressed/Version: افزونه‌ها بلاک شدن (بخاطر این که ورودی‌ها <<incoming>> قدیمی‌تر از موجود‌ها <<existing>> هستند)\nUpgrader/Plugins/Upgraded: افزونه‌ها از <<incoming>> به <<upgraded>> بروز شدند.\nUpgrader/State/Suppressed: تیدلرهای دارای وضعیت موقت بلاک شدند\nUpgrader/System/Suppressed: تیدلرهای سیستمی بلاک شدند\nUpgrader/ThemeTweaks/Created: تغییرات قالب از <$text text=<<from>>/>  دریافت شدند\n"
  },
  {
    "path": "languages/fa-IR/Misc.multids",
    "content": "title: $:/language/\n\nAboveStory/ClassicPlugin/Warning: به نظر می‌آید که قصد استفاده از افزونه‌ای را داری که برای ~TiddlyWiki Classic طراحی شده‌است. لطفن توجه کن که [[این افزونه‌ها با تیدلی‌ویکی ویرایش 5.x.x|https://tiddlywiki.com/#TiddlyWikiClassic کار نمی‌کند]]. افزونه‌های ~TiddlyWiki Classic شناسایی شده:\nBinaryWarning/Prompt: این تیدلر شامل اطلاعات بایناری است\nClassicWarning/Hint: این تیدلر با فرمت تیدلی‌ویکی کلاسیک نوشته شده است, که با تیدلی‌ویکی ویرایش ۵ هماهنگ نیست. برای اطلاعات بیشتر  https://tiddlywiki.com/static/Upgrading.html را ببین.\nClassicWarning/Upgrade/Caption: بروزرسانی\nCloseAll/Button: همه را ببند\nColourPicker/Recent: تازه‌ها:\nConfirmCancelTiddler: آیا تمایل دارید که تغییرات بر روی \"<$text text=<<title>>/>\" را فراموش کنید؟\nConfirmDeleteTiddler: آیا قصد پاک کردند تیدلر \"<$text text=<<title>>/>\" را دارید؟\nConfirmEditShadowTiddler: شما قصد ویرایش یک تیدلر سایه‌ای را دارید. هر تغییری سیستم‌ را از حالت پیشفرض در می‌آورد که هر گونه برروزرسانی را در آینده پیچیده می‌سازد.‌ آیا مطمئنید که قصد ویرایش \"<$text text=<<title>>/>\" را دارید؟\nConfirmOverwriteTiddler: آیا قصد بازنویسی تیدلر\"<$text text=<<title>>/>\"را دارید؟\nCount: شمارش\nDefaultNewTiddlerTitle: تیدلر جدید\nDropMessage: اینجا بنداز ( یا دکمه‌ی escape رو بزن تا کنسل بشه)\nEncryption/Cancel: کنسل\nEncryption/ConfirmClearPassword: آیا قصد پاکسازی رمز را دارید؟ این رمزنگاریی که هنگام ساخت این ویکی بوده را حذف می‌کند\nEncryption/Password: رمز\nEncryption/PasswordNoMatch: رمزها با هم یکی نیستند\nEncryption/PromptSetPassword: رمز جدیدی برای این تیدلی‌ویکی بسازید\nEncryption/RepeatPassword: تکرار رمز\nEncryption/SetPassword: تعیین رمز\nEncryption/Username: نام کاربری\nError/Caption: خطا\nError/Filter: خطای فیلتر\nError/FilterSyntax: در نحوه‌ی بیان فیلتر خطای نحوی وجود داشت\nError/IsFilterOperator: خطای فیلتر: عملکرد ناشناخته‌ای برای عملگر 'is' مشخص شده\nError/LoadingPluginLibrary: خطا در بارگزاری کتاب‌خانه افزونه\nError/PutEditConflict: فایل در سرور عوض شد\nError/RecursiveTransclusion: Recursive transclusion error in transclude widget\nError/RetrievingSkinny: طا در دریافت لیست‌های تیدلر لاغر\nError/SavingToTWEdit: خطا در ذخیره در TWEdit\nError/WhileSaving: خطا  در حین ذخیره\nError/XMLHttpRequest: XMLHttpRequest error code\nInternalJavaScriptError/Hint: اوه این خجالت آوره. پیشنهاد می‌کنیم که با ریفرش کردن مرورگرتون تیدلی‌ویکی رو دوباره باز کنین\nInternalJavaScriptError/Title: خطای  JavaScript داخلی\nLazyLoadingWarning: <p>Loading external text from ''<$text text={{!!_canonical_uri}}/>''</p><p>If this message doesn't disappear you may be using a browser that doesn't support external text in this configuration. See https://tiddlywiki.com/#ExternalText</p>\nLoginToTiddlySpace: Login to TiddlySpace\nManager/Controls/FilterByTag/None: (هیچ)\nManager/Controls/FilterByTag/Prompt: فیتلر با استفاده از برچسب‌ها:\nManager/Controls/Order/Prompt: برعکس‌سازی ترتیب\nManager/Controls/Search/Placeholder: جستجو\nManager/Controls/Search/Prompt: جستجو:\nManager/Controls/Show/Option/Tags: برچسب‌ها\nManager/Controls/Show/Option/Tiddlers: تیدلرها\nManager/Controls/Show/Prompt: نمایش:\nManager/Controls/Sort/Prompt: مرتب کردن بر اساس:\nManager/Item/Colour: رنگ\nManager/Item/Fields: فضاهای خالی\nManager/Item/Icon: آیکون\nManager/Item/Icon/None: (هیچ)\nManager/Item/RawText: متن خام\nManager/Item/Tags: برچسب‌ها\nManager/Item/Tools: ابزارها\nManager/Item/WikifiedText: تکست ویکی‌سازی شده\nMissingTiddler/Hint: تیدلر گمشده\"<$text text=<<currentTiddler>>/>\" - بر روی {{$:/core/images/edit-button}} کلیک کن تا بسازی\nNo: نه\nOfficialPluginLibrary: کتابخانه افزونه‌ی رسیمی ~TiddlyWiki\nRecentChanges/DateFormat: رر م‌م‌م س‌س‌س‌س\nSystemTiddler/Tooltip: این یک تیدلر سیستمی است\nSystemTiddlers/Include/Prompt: شامل تیدلرهای سیستمی شود\nTagManager/Colour/Heading: رنگ\nTagManager/Count/Heading: شمارش\nTagManager/Icon/Heading: آیکون\nTagManager/Info/Heading: اطلاعات\nTagManager/Tag/Heading: برچسب\nTiddler/DateFormat: DDth MMM YYYY at hh12:0mmam\nUnsavedChangesWarning: شما تغییرات ذخیره نشده در تیدلی‌ویکی دارید\nYes: آره\n"
  },
  {
    "path": "languages/fa-IR/Modals/Download.tid",
    "content": "title: $:/language/Modals/Download\ntype: text/vnd.tiddlywiki\nsubtitle: Download changes\nfooter: <$button message=\"tm-close-tiddler\">Close</$button>\nhelp: https://tiddlywiki.com/static/DownloadingChanges.html\n\nمرورگرتان فقط ذخیره‌سازی دستی را پشتیبانی می‌کند.\n\nبرای ذخیره کردن ویکی تغییریافته، بر روی پیوند دانلود کلیک راست کن و «Download file» یا «Save file» را انتخاب کن. بعد نام پوشه یا فایل را انتخاب کن.\n\n//You can marginally speed things up by clicking the link with the control key (Windows) or the options/alt key (Mac OS X). You will not be prompted for the folder or filename, but your browser is likely to give it an unrecognisable name -- you may need to rename the file to include an `.html` extension before you can do anything useful with it.//\n\nOn smartphones that do not allow files to be downloaded you can instead bookmark the link, and then sync your bookmarks to a desktop computer from where the wiki can be saved normally.\n"
  },
  {
    "path": "languages/fa-IR/NewJournal.multids",
    "content": "title: $:/config/NewJournal/\n\nTags: ژورنال\nTitle: رر م‌م‌م ‌س‌س‌س‌س\n"
  },
  {
    "path": "languages/fa-IR/Notifications.multids",
    "content": "title: $:/language/Notifications/\n\nSave/Done: ویکی ذخیره شده\nSave/Starting: شروع ذخیره‌سازی ویکی\n"
  },
  {
    "path": "languages/fa-IR/Search.multids",
    "content": "title: $:/language/Search/\n\nDefaultResults/Caption: لیست\nFilter/Caption: فیلتر\nFilter/Hint: سرچ از طریق [[filter expression|https://tiddlywiki.com/static/Filters.html]]\nFilter/Matches: //<small><<resultCount>>همخوانی دارد  </small>//\nMatches: //<small><<resultCount>> همخوانی دارد</small>//\nMatches/All: همه همخوانی کند با:\nMatches/Title: عنوان همخوانی کند با:\nSearch: جستجو\nSearch/TooShort: متن جستجو خیلی کوتاه است\nShadows/Caption: سایه‌ها\nShadows/Hint: در تیدلرهای سایه‌ای جستجو کن\nShadows/Matches: //<small><<resultCount>> همخوانی دارد </small>//\nStandard/Caption: استاندارد\nStandard/Hint: در تیدلرهای استاندارد جستجو کن\nStandard/Matches: //<small><<resultCount>> همخوانی دارد </small>//\nSystem/Caption: سیستم\nSystem/Hint: در تیدلرهای سیستمی جستجو کن\nSystem/Matches: //<small><<resultCount>> همخوانی دارد </small>//\n"
  },
  {
    "path": "languages/fa-IR/SideBar.multids",
    "content": "title: $:/language/SideBar/\n\nAll/Caption: همه\nContents/Caption: محتواها\nDrafts/Caption: پیش‌نویس\nMissing/Caption: گم شده\nMore/Caption: بیشتر\nOpen/Caption: باز کن\nOrphans/Caption: یتیم‌ها\nRecent/Caption: تازه‌ها\nShadows/Caption: سایه‌ها\nSystem/Caption: سیستم\nTags/Caption: برچسب‌ها\nTags/Untagged/Caption: بدون برچسب‌ها\nTools/Caption: ابزار\nTypes/Caption: انواع\n"
  },
  {
    "path": "languages/fa-IR/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\nیک دفترچه آنلاین غیر خطی"
  },
  {
    "path": "languages/fa-IR/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\n~TiddlyWiki من"
  },
  {
    "path": "languages/fa-IR/ThemeTweaks.multids",
    "content": "title: $:/language/ThemeTweaks/\n\n"
  },
  {
    "path": "languages/fa-IR/TiddlerInfo.multids",
    "content": "title: $:/language/TiddlerInfo/\n\nAdvanced/Caption: پیشرفته\nAdvanced/PluginInfo/Empty/Hint: هیچ\nAdvanced/PluginInfo/Heading: جزییات افزونه\nAdvanced/PluginInfo/Hint: این افزونه شامل تیدلرهای سایه‌ای زیر می‌شود:\nAdvanced/ShadowInfo/Heading: وضعیت سایه\nAdvanced/ShadowInfo/NotShadow/Hint: این تیدلر <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> یک تیدلر سایه‌ای نیست\nAdvanced/ShadowInfo/OverriddenShadow/Hint: توسط یک تیدلر معمولی جایگزین شد\nAdvanced/ShadowInfo/Shadow/Hint: این تیدلر <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> یک تیدلر سایه‌ای است\nAdvanced/ShadowInfo/Shadow/Source: در افزونه مشخص شده است <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>\nFields/Caption: فضاهای خالی\nList/Caption: لیست\nList/Empty: این تیدلر شامل لیستی نمی‌شود\nListed/Caption: لیست شده\nListed/Empty: این تیدلر توسط هیچ مورد دیگر لیست نشده است\nReferences/Caption: مراجع\nReferences/Empty: هیچ تیدلری به این یکی پیوند نشده است\nTagging/Caption: برچسب‌گذاری\nTagging/Empty: هیچ تیدلری با این یکی برچسب نشده است\nTools/Caption: ابزارها\n"
  },
  {
    "path": "languages/fa-IR/plugin.info",
    "content": "{\n\t\"title\": \"$:/languages/fa-IR\",\n\t\"name\": \"fa-IR\",\n\t\"plugin-type\": \"language\",\n\t\"description\": \"فارسی (ایران)\",\n\t\"author\": \"amirography\",\n\t\"core-version\": \">=5.0.0\",\n\t\"text-direction\": \"rtl\"\n}\n"
  },
  {
    "path": "languages/fr-FR/Buttons.multids",
    "content": "title: $:/language/Buttons/\n\nAdvancedSearch/Caption: recherche avancée\nAdvancedSearch/Hint: Recherche avancée\nCancel/Caption: annuler\nCancel/Hint: Annule l'édition de ce tiddler\nClone/Caption: cloner\nClone/Hint: Clone ce tiddler\nClose/Caption: fermer\nClose/Hint: Ferme ce tiddler\nCloseAll/Caption: fermer tout\nCloseAll/Hint: Ferme tous les tiddlers\nCloseOthers/Caption: fermer les autres tiddlers\nCloseOthers/Hint: Ferme les autres tiddlers\nControlPanel/Caption: panneau de contrôle\nControlPanel/Hint: Ouvre le panneau de contrôle\nCopyToClipboard/Caption: copier dans le presse-papier\nCopyToClipboard/Hint: Copie ce texte dans le presse-papier\nDelete/Caption: supprimer\nDelete/Hint: Supprime ce tiddler\nDeleteTiddlers/Caption: supprimer les tiddlers\nDeleteTiddlers/Hint: Supprime ces tiddlers\nEdit/Caption: éditer\nEdit/Hint: Édite ce tiddler\nEncryption/Caption: chiffrement\nEncryption/Hint: Affecte ou résilie le mot de passe pour la sauvegarde de ce wiki\nEncryption/ClearPassword/Caption: résilier le mot de passe\nEncryption/ClearPassword/Hint: Résilie le mot de passe et sauvegarde ce wiki sans chiffrement\nEncryption/SetPassword/Caption: affecter un mot de passe\nEncryption/SetPassword/Hint: Affecte un mot de passe pour sauvegarde une version chiffrée de ce wiki\nEmergencyDownload/Caption: Télécharge les tidders au format json\nExportPage/Caption: exporter tout\nExportPage/Hint: Exporte tous les tiddlers\nExportTiddler/Caption: exporter ce tiddler\nExportTiddler/Hint: Exporte ce tiddler\nExportTiddlers/Caption: exporter ces tiddlers\nExportTiddlers/Hint: Exporte ces tiddlers\nSidebarSearch/Hint: Choisit le champ de recherche dans la barre latérale\nFold/Caption: replier le tiddler\nFold/Hint: Replie le corps du tiddler\nFold/FoldBar/Caption: Barre de repli\nFold/FoldBar/Hint: Barre optionnelle pour replier et déplier les tiddlers\nUnfold/Caption: déplier le tiddler\nUnfold/Hint: Déplie le corps de ce tiddler\nFoldOthers/Caption: replier les autres tiddlers\nFoldOthers/Hint: Replie le corps des autres tiddlers ouverts\nFoldAll/Caption: replier tous les tiddlers\nFoldAll/Hint: Replie le corps de tous les tiddlers ouverts\nUnfoldAll/Caption: déplier tous les tiddlers\nUnfoldAll/Hint: Déplie le corps de tous les tiddlers ouverts\nFullScreen/Caption: plein-écran\nFullScreen/Hint: Entre ou sort du mode plein-écran\nHelp/Caption: aide\nHelp/Hint: Affiche le panneau d'aide\nImport/Caption: importer\nImport/Hint: Importe des fichiers de nombreux types, notamment texte, image, TiddlyWiki ou JSON\nInfo/Caption: informations\nInfo/Hint: Affiche des informations sur ce tiddler\nHome/Caption: accueil\nHome/Hint: Ouvre les tiddlers par défaut\nLanguage/Caption: langue\nLanguage/Hint: Choix de la langue pour l'interface utilisateur\nLayoutSwitcher/Hint: Choix de la mise en page\nLayoutSwitcher/Caption: mise en page\nManager/Caption: gestionnaire de tiddlers\nManager/Hint: Ouvre le gestionnaire de tiddlers\nMore/Caption: plus\nMore/Hint: Actions supplémentaires\nNewHere/Caption: nouveau, à partir d'ici\nNewHere/Hint: Crée un nouveau tiddler avec pour tag le titre du tiddler courant\nNetworkActivity/Caption: activité réseau\nNetworkActivity/Hint: Annule toute l'activité réseau\nNewJournal/Caption: nouveau journal\nNewJournal/Hint: Crée un nouveau tiddler journal\nNewJournalHere/Caption: nouveau journal, à partir d'ici\nNewJournalHere/Hint: Crée un nouveau tiddler journal avec pour tag le titre du tiddler courant\nNewImage/Caption: nouvelle image\nNewImage/Hint: Crée une nouveau tiddler image\nNewMarkdown/Caption: nouveau tiddler Markdown\nNewMarkdown/Hint: Crée un nouveau tiddler avec la syntaxe Markdown\nNewTiddler/Caption: nouveau tiddler\nNewTiddler/Hint: Crée un nouveau tiddler\nOpenControlPanel/Hint: Ouvre le panneau de contrôle\nOpenWindow/Caption: ouvrir dans une nouvelle fenêtre\nOpenWindow/Hint: Ouvre ce tiddler dans une nouvelle fenêtre\nPalette/Caption: palette\nPalette/Hint: Choisit une palette de couleur\nPermalink/Caption: permalink\nPermalink/Hint: Remplace l'URL dans la barre d'adresse du navigateur par un lien direct vers ce tiddler\nPermaview/Caption: permaview\nPermaview/Hint: Remplace l'URL dans la barre d'adresse du navigateur par un lien direct vers l'ensemble des tiddlers présents dans le déroulé\nPrint/Caption: imprimer la page\nPrint/Hint: Imprime la page courante\nRefresh/Caption: rafraîchir\nRefresh/Hint: Rafraîchit la totalité du wiki\nSave/Caption: ok\nSave/Hint: Confirme les changements apportés à ce tiddler\nSaveWiki/Caption: enregistrer les modifications\nSaveWiki/Hint: Enregistre les modifications\nStoryView/Caption: visualisation du déroulé\nStoryView/Hint: Choisit le mode de visualisation du déroulé\nHideSideBar/Caption: cacher la barre latérale\nHideSideBar/Hint: Cache la barre latérale\nShowSideBar/Caption: afficher la barre latérale\nShowSideBar/Hint: Affiche la barre latérale\nTagManager/Caption: gestionnaire de tags\nTagManager/Hint:  Ouvre le gestionnaire de tags\nTestCaseImport/Caption: importer les tiddlers\nTestCaseImport/Hint: Importe les tiddlers\nTimestamp/Caption: horodatage\nTimestamp/Hint: Décide si les modifications mettent à jour l'horodatage\nTimestamp/On/Caption: horodatage activé\nTimestamp/On/Hint: L'horodatage est mis à jour quand les tiddlers sont modifiés\nTimestamp/Off/Caption: horodatage désactivé\nTimestamp/Off/Hint: L'horodatage n'est pas mis à jour quand les tiddlers sont modifiés\nTheme/Caption: thème\nTheme/Hint: Choix du thème pour l'affichage\nBold/Caption: gras\nBold/Hint: Met la sélection en gras\nClear/Caption: effacer\nClear/Hint: Remplace l'image par une couleur pleine\nEditorHeight/Caption: hauteur de l'éditeur\nEditorHeight/Caption/Auto: Ajuste automatiquement la hauteur en fonction du contenu\nEditorHeight/Caption/Fixed: Hauteur fixe :\nEditorHeight/Hint: Choisit la hauteur de l'éditeur de texte\nExcise/Caption: exciser\nExcise/Caption/Excise: Effectue une excision\nExcise/Caption/MacroName: Nom de la macro :\nExcise/Caption/NewTitle: Titre du nouveau tiddler :\nExcise/Caption/Replace: Remplacer le texte excisé par :\nExcise/Caption/Replace/Macro: macro\nExcise/Caption/Replace/Link: lien\nExcise/Caption/Replace/Transclusion: transclusion\nExcise/Caption/Tag: Utilise le titre de ce tiddler comme tag du nouveau tiddler\nExcise/Caption/TiddlerExists: Attention : le tiddler existe déjà\nExcise/DefaultTitle: Nouvelle excision\nExcise/Hint: Excise le texte sélectionné vers un nouveau tiddler\nHeading1/Caption: en-tête 1\nHeading1/Hint: Applique le formatage des en-têtes de niveau 1 aux lignes de la sélection\nHeading2/Caption: en-tête 2\nHeading2/Hint: Applique le formatage des en-têtes de niveau 2 aux lignes de la sélection\nHeading3/Caption: en-tête 3\nHeading3/Hint: Applique le formatage des en-têtes de niveau 3 aux lignes de la sélection\nHeading4/Caption: en-tête 4\nHeading4/Hint: Applique le formatage des en-têtes de niveau 4 aux lignes de la sélection\nHeading5/Caption: en-tête 5\nHeading5/Hint: Applique le formatage des en-têtes de niveau 5 aux lignes de la sélection\nHeading6/Caption: en-tête 6\nHeading6/Hint: Applique le formatage des en-têtes de niveau 6 aux lignes de la sélection\nItalic/Caption: italiques\nItalic/Hint: Met la sélection en italiques\nLineWidth/Caption: épaisseur du trait\nLineWidth/Hint: Choisit une épaisseur de trait pour le remplissage\nLink/Caption: lien\nLink/Hint: Crée un lien wikitext\nLinkify/Caption: wikilien\nLinkify/Hint: Encadre la sélection avec des crochets droits\nListBullet/Caption: liste à puces\nListBullet/Hint: Formate les lignes de la sélection comme une liste à puces\nListNumber/Caption: liste numérotée\nListNumber/Hint: Formate les lignes de la sélection comme une liste numérotée\nMonoBlock/Caption: bloc de chasse constante\nMonoBlock/Hint: Formate les lignes de la sélection en bloc de chasse constante\nMonoLine/Caption: chasse constante\nMonoLine/Hint: Formate la sélection avec une police de caractères à chasse constante\nOpacity/Caption: opacité\nOpacity/Hint: Choisit l'opacité du remplissage\nPaint/Caption: couleur de remplissage\nPaint/Hint: Choisit la couleur de remplissage\nPicture/Caption: image\nPicture/Hint: Insère une image\nPreview/Caption: prévisualisation\nPreview/Hint: Affiche le panneau de prévisualisation\nPreviewType/Caption: type de prévisualisation\nPreviewType/Hint: Choisit le type de prévisualisation\nQuote/Caption: citation\nQuote/Hint: Formate les lignes de la sélection comme une citation\nRotateLeft/Caption: pivoter vers la gauche\nRotateLeft/Hint: Fait pivoter l'image vers la gauche de 90 degrés\nSize/Caption: taille de l'image\nSize/Caption/Height: Hauteur :\nSize/Caption/Resize: Redimensionner l'image\nSize/Caption/Width: Largeur :\nSize/Hint: Indique une taille pour l'image\nStamp/Caption: tampon\nStamp/Caption/New: Ajoutez le vôtre\nStamp/Hint: Insère un fragment de texte préconfiguré\nStamp/New/Title: Nom tel qu'il apparaît dans le menu\nStamp/New/Text: Texte du fragment. (N'oubliez pas d'ajouter une légende dans le champ //caption//.)\nStrikethrough/Caption: barré\nStrikethrough/Hint: Barre le texte sélectionné\nSubscript/Caption: indice\nSubscript/Hint: Met en indice le texte sélectionné\nSuperscript/Caption: exposant\nSuperscript/Hint: Met en exposant le texte sélectionné\nToggleSidebar/Hint: Bascule la visibilité de la barre latérale\nTranscludify/Caption: transclusion\nTranscludify/Hint: Encadre la sélection avec des accolades\nUnderline/Caption: souligné\nUnderline/Hint: Souligne le texte sélectionné\n"
  },
  {
    "path": "languages/fr-FR/ControlPanel.multids",
    "content": "title: $:/language/ControlPanel/\n\nAdvanced/Caption: Avancé\nAdvanced/Hint: Informations internes sur ce ~TiddlyWiki\nAppearance/Caption: Apparence\nAppearance/Hint: Personnalisation de l'apparence de votre ~TiddlyWiki.\nBasics/AnimDuration/Prompt: Durée de l'animation\nBasics/AutoFocus/Prompt: Champ qui recevra le focus par défaut pour les nouveaux tiddlers\nBasics/Caption: Fondamentaux\nBasics/DefaultTiddlers/BottomHint: Utilisez les &#91;&#91;crochets doubles&#93;&#93; pour les titres contenant des espaces. Vous pouvez aussi décider de {{Conserver le déroulé actuel||$:/snippets/retain-story-ordering-button}}\nBasics/DefaultTiddlers/Prompt: Tiddlers par défaut\nBasics/DefaultTiddlers/TopHint: Liste les tiddlers qui seront affichés au démarrage :\nBasics/Language/Prompt: Bonjour ! Langue active :\nBasics/NewJournal/Title/Prompt: Modèle pour les titres des tiddlers journaux\nBasics/NewJournal/Text/Prompt: Texte pour les nouveaux tiddlers journaux\nBasics/NewJournal/Tags/Prompt: Tags pour les nouveaux tiddlers journaux\nBasics/NewTiddler/Title/Prompt: Modèle pour les titres des nouveaux tiddlers\nBasics/NewTiddler/Tags/Prompt: Tags pour les nouveaux tiddlers\nBasics/OverriddenShadowTiddlers/Prompt: Nombre de tiddlers //shadow// modifiés\nBasics/RemoveTags: Mettre à jour vers le format courant\nBasics/RemoveTags/Hint: Met à jour la configuration des tags vers le format le plus récent\nBasics/ShadowTiddlers/Prompt: Nombre de tiddlers //shadow//\nBasics/Subtitle/Prompt: Sous-titre\nBasics/SystemTiddlers/Prompt: Nombre de tiddlers système :\nBasics/Tags/Prompt: Nombre de tags :\nBasics/Tiddlers/Prompt: Nombre de tiddlers :\nBasics/Title/Prompt: Titre de ce ~TiddlyWiki :\nBasics/Username/Prompt: Signer les modifications avec ce nom d'utilisateur :\nBasics/Version/Prompt: Version de ~TiddlyWiki :\nCascades/Caption: Cascades\nCascades/Hint: Ces règles globales servent à choisir dynamiquement certains templates. Le résultat de la cascade est le résultat du premier filtre de la séquence qui retourne un résultat.\nCascades/TagPrompt: Filtres tagués <$macrocall $name=\"tag\" tag=<<currentTiddler>>/>\nEditorTypes/Caption: Types d'éditeur\nEditorTypes/Editor/Caption: Éditeur\nEditorTypes/Hint: Ces tiddlers déterminent l'éditeur à utiliser pour éditer tel ou tel type de tiddler.\nEditorTypes/Type/Caption: Type\nEditTemplateBody/Caption: Édition du corps\nEditTemplateBody/Hint: Cette cascade de règles est utilisée par le template d'édition par défaut pour choisir dynamiquement le template à appliquer pour éditer le corps d'un tiddler.\nFieldEditor/Caption: Édition des champs\nFieldEditor/Hint: Cette cascade de règles sert à choisir dynamiquement le template de rendu d'un champ de tiddler en fonction de son nom. Il est utilisé dans le template d'édition.\nInfo/Caption: Info\nInfo/Hint: Information sur ce TiddlyWiki\nKeyboardShortcuts/Add/Prompt: Entrez le raccourci ici\nKeyboardShortcuts/Add/Caption: ajoute un raccourci\nKeyboardShortcuts/Caption: Raccourcis clavier\nKeyboardShortcuts/Hint: Gère les définitions des raccourcis clavier\nKeyboardShortcuts/NoShortcuts/Caption: Aucun raccourci clavier défini\nKeyboardShortcuts/Remove/Hint: supprime le raccourci clavier\nKeyboardShortcuts/Platform/All: Toutes plates-formes\nKeyboardShortcuts/Platform/Mac: Plate-forme Macintosh seulement\nKeyboardShortcuts/Platform/NonMac: Plates-formes non-Macintosh seulement\nKeyboardShortcuts/Platform/Linux: Plate-forme Linux seulement\nKeyboardShortcuts/Platform/NonLinux: Plate-formes non-Linux seulement\nKeyboardShortcuts/Platform/Windows: Plate-forme Windows seulement\nKeyboardShortcuts/Platform/NonWindows: Plates-formes non-Windows seulement\nLayoutSwitcher/Caption: Mise en page\nLoadedModules/Caption: Modules chargés\nLoadedModules/Hint: Liste des modules chargés, liés à leurs tiddlers sources. Les italiques indiquent que les tiddlers sources n'existent pas, le plus souvent parce que le module a été créé lors du processus d'amorçage.\nPalette/Caption: Palette\nPalette/Editor/Clone/Caption: Cloner\nPalette/Editor/Clone/Prompt: Il est recommandé de cloner cette palette « shadow » avant de l'éditer\nPalette/Editor/Delete/Hint: supprime cette entrée dans la palette courante\nPalette/Editor/Names/External/Show: Montre les noms de couleur qui ne font pas partie de la palette courante\nPalette/Editor/Prompt/Modified: Cette palette « shadow » a été modifiée\nPalette/Editor/Prompt: Édition de\nPalette/Editor/Reset/Caption: Réinitialiser\nPalette/HideEditor/Caption: Masquer l'éditeur\nPalette/Prompt: Palette actuelle :\nPalette/ShowEditor/Caption: Afficher l'éditeur\nParsing/Caption: Analyseur\nParsing/Hint: Ici, vous pouvez activer/désactiver globalement les règles de l'analyseur du wiki. Les changements seront effectifs après enregistrement et rechargement de votre wiki. Désactiver certaines règles peut empêcher <$text text=\"TiddlyWiki\"/> de fonctionner correctement. Pour restaurer le fonctionnement normal, utilisez le [[safe mode|https://tiddlywiki.com/#SafeMode]].\nParsing/Block/Caption: Règles d'analyse Block\nParsing/Inline/Caption: Règles d'analyse Inline\nParsing/Pragma/Caption: Règles d'analyse Pragma\nPlugins/Add/Caption: Ajouter des plugins\nPlugins/Add/Hint: Installer des plugins à partir de la bibliothèque officielle\nPlugins/AlreadyInstalled/Hint: Ce plugin est déjà installé dans la version <$text text=<<installedVersion>>/>\nPlugins/AlsoRequires: Requiert également :\nPlugins/Caption: Plugins\nPlugins/Disable/Caption: désactiver\nPlugins/Disable/Hint: Désactive ce plugin au prochain rechargement de la page\nPlugins/Disabled/Status: (désactivé)\nPlugins/Downgrade/Caption: version antérieure\nPlugins/Empty/Hint: Aucun\nPlugins/Enable/Caption: activer\nPlugins/Enable/Hint: Active ce plugin au prochain rechargement de la page\nPlugins/Install/Caption: installer\nPlugins/Installed/Hint: Plugins installés :\nPlugins/Languages/Caption: Langues\nPlugins/Languages/Hint: Plugins de langue\nPlugins/NoInfoFound/Hint: ''\"<$text text=<<currentTab>>/>\"'' non trouvé\nPlugins/NotInstalled/Hint: Ce plugin n'est pas installé\nPlugins/OpenPluginLibrary: ouvre la bibliothèque de plugins\nPlugins/ClosePluginLibrary: ferme la bibliothèque des plugins\nPlugins/PluginWillRequireReload: (rechargement requis)\nPlugins/Plugins/Caption: Plugins\nPlugins/Plugins/Hint: Plugins\nPlugins/Reinstall/Caption: réinstalle\nPlugins/Stability/Deprecated: DÉPRÉCIÉ\nPlugins/Stability/Experimental: EXPÉRIMENTAL\nPlugins/Stability/Legacy: LEGACY\nPlugins/Stability/Stable: STABLE\nPlugins/Themes/Caption: Thèmes\nPlugins/Themes/Hint: Plugins de thème\nPlugins/Update/Caption: mise à jour\nPlugins/Updates/Caption: Mises à jour\nPlugins/Updates/Hint: Mises à jour disponibles pour les plugins installés\nPlugins/Updates/UpdateAll/Caption: Mettre à jour <<update-count>> plugins\nPlugins/SubPluginPrompt: Avec <<count>> sous-plugins disponibles\nSaving/Caption: Sauvegarde\nSaving/DownloadSaver/AutoSave/Description: Permet l'enregistrement automatique pour l'enregistreur de téléchargement\nSaving/DownloadSaver/AutoSave/Hint: Active l'auto-enregistrement pour l'enregistreur de téléchargement\nSaving/DownloadSaver/Caption: Enregistreur de téléchargement\nSaving/DownloadSaver/Hint: Ces paramètres s'appliquent à l'enregistreur de téléchargement compatible HTML5\nSaving/General/Caption: Général\nSaving/General/Hint: Ces paramètres s'appliquent à tous les enregistreurs chargés\nSaving/Hint: Paramètres pour enregistrer l'intégralité du TiddlyWiki dans un seul fichier, selon le module d'enregistrement choisi\nSaving/GitService/Branch: Branche cible où doit s'effectuer l'enregistrement\nSaving/GitService/CommitMessage: Enregistré depuis TiddlyWiki\nSaving/GitService/Description: Ces paramètres ne sont utilisés que pour l'enregistrement sur <<service-name>>\nSaving/GitService/Filename: Nom du fichier cible (par ex. `index.html`)\nSaving/GitService/Path: Chemin vers le fichier cible (par ex. `/wiki/`)\nSaving/GitService/Repo: //Dépôt// cible (par ex. `Jermolene/TiddlyWiki5`)\nSaving/GitService/ServerURL: URL du serveur d'API\nSaving/GitService/UserName: Nom d'utilisateur\nSaving/GitService/GitHub/Caption: Enregistreur ~GitHub\nSaving/GitService/GitHub/Password: Mot de passe, jeton OAUTH, ou //personal access token// (voir [[GitHub help page|https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line]] pour de plus amples détails)\nSaving/GitService/GitLab/Caption: Enregistreur ~GitLab\nSaving/GitService/GitLab/Password: //Personal access token// pour cette API (voir [[GitLab help page|https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html]] pour de plus amples details)\nSaving/GitService/Gitea/Caption: Enregistreur Gitea\nSaving/GitService/Gitea/Password: //Jeton d'accès// pour cette API (via l'interface web de Gitea : `Configuration | Applications | Générer le nouveau jeton`)\nSaving/TiddlySpot/Advanced/Heading: Paramètres avancés\nSaving/TiddlySpot/BackupDir: Dossier des //sauvegardes//\nSaving/TiddlySpot/Backups: Sauvegardes\nSaving/TiddlySpot/Caption: Enregistreur ~TiddlyHost\nSaving/TiddlySpot/ControlPanel: Panneau de contrôle ~TiddlyHost\nSaving/TiddlySpot/Description: Ces paramètres ne servent que lors de la sauvegarde vers [[TiddlyHost|https://tiddlyhost.com]] ou vers un serveur distant compatible. Voir [[ici|https://github.com/simonbaird/tiddlyhost/wiki/TiddlySpot-Saver-configuration-for-Tiddlyhost-and-Tiddlyspot]] pour plus d'informations sur la configuration de la sauvegarde sur ~TiddlyHost.\nSaving/TiddlySpot/Filename: Nom du fichier enregistré\nSaving/TiddlySpot/Heading: ~TiddlyHost\nSaving/TiddlySpot/Hint: //L'URL par défaut est `http://<nom du wiki>.tiddlyspot.com/store.cgi`. Elle peut être remplacée par une adresse serveur personnalisée, comme `http://example.com/store.php`.//\nSaving/TiddlySpot/Password: Mot de passe\nSaving/TiddlySpot/ServerURL: URL du serveur\nSaving/TiddlySpot/UploadDir: Dossier des dépôts\nSaving/TiddlySpot/UserName: Nom du Wiki\nSettings/AutoSave/Caption: Sauvegarde automatique\nSettings/AutoSave/Disabled/Description: Pas de sauvegarde automatique des modifications\nSettings/AutoSave/Enabled/Description: Sauvegarde automatique des modifications\nSettings/AutoSave/Hint: Tentative de sauvegarde automatique des modifications pendant l'édition quand un enregistreur compatible est utilisé\nSettings/CamelCase/Caption: Liens Wiki //Camel Case//\nSettings/CamelCase/Hint: Pour que ce paramètre prenne effet, il est nécessaire de recharger le wiki\nSettings/CamelCase/Description: Active les liens automatiques sur les expressions de la forme ~CamelCase\nSettings/Caption: Paramétrage\nSettings/EditorToolbar/Caption: Barre d'outils de l'éditeur\nSettings/EditorToolbar/Hint: Active ou désactive la barre d'outils de l'éditeur :\nSettings/EditorToolbar/Description: Affiche la barre d'outils de l'éditeur\nSettings/InfoPanelMode/Caption: Mode Panneau d'Informations du Tiddler\nSettings/InfoPanelMode/Hint: Contrôle à quel moment le panneau d'informations du tiddler se ferme :\nSettings/InfoPanelMode/Popup/Description: Le panneau d'informations se ferme automatiquement\nSettings/InfoPanelMode/Sticky/Description: Le panneau d'informations du tiddler reste ouvert jusqu'à ce qu'il soit fermé explicitement\nSettings/Hint: Ce paramétrage vous permet de personnaliser le comportement de TiddlyWiki.\nSettings/NavigationAddressBar/Caption: Barre d'adresse pendant la navigation\nSettings/NavigationAddressBar/Hint: Comportement de la barre d'adresse du navigateur lorsqu'on pointe vers un tiddler :\nSettings/NavigationAddressBar/No/Description: Ne pas modifier la barre d'adresse\nSettings/NavigationAddressBar/Permalink/Description: Inclure uniquement le titre du tiddler cible\nSettings/NavigationAddressBar/Permaview/Description: Inclure le titre du tiddler cible ainsi que le déroulé courant\nSettings/NavigationHistory/Caption: Historique de navigation\nSettings/NavigationHistory/Hint: Mise à jour de l'historique de navigation du navigateur lorsqu'on pointe vers un tiddler :\nSettings/NavigationHistory/No/Description: Ne pas mettre à jour l'historique\nSettings/NavigationHistory/Yes/Description: Mettre à jour l'historique\nSettings/NavigationPermalinkviewMode/Caption: Mode Permalink/permaview\nSettings/NavigationPermalinkviewMode/Hint: Choisit la manière de traiter l'URL permalink/permaview:\nSettings/NavigationPermalinkviewMode/CopyToClipboard/Description: Copie l'URL permalink/permaview dans le presse-papier\nSettings/NavigationPermalinkviewMode/UpdateAddressBar/Description: Met à jour la barre d'adresse à partir de l'URL permalink/permaview\nSettings/PerformanceInstrumentation/Caption: Instrumentation de la performance\nSettings/PerformanceInstrumentation/Hint: Affiche des statistiques de performance dans la console de développement du navigateur. Nécessite de recharger la page pour prendre effet.\nSettings/PerformanceInstrumentation/Description: Active l'instrumentation de la performance\nSettings/ToolbarButtonStyle/Caption: Style des boutons de la barre d'outils\nSettings/ToolbarButtonStyle/Hint: Choix du style des boutons de la barre d'outils :\nSettings/ToolbarButtonStyle/Styles/Borderless: Sans bordure\nSettings/ToolbarButtonStyle/Styles/Boxed: Avec une bordure\nSettings/ToolbarButtonStyle/Styles/Rounded: Arrondis\nSettings/ToolbarButtons/Caption: Boutons de la barre d'outils\nSettings/ToolbarButtons/Hint: Apparence par défaut des boutons sur la barre d'outils :\nSettings/ToolbarButtons/Icons/Description: Afficher l'icône\nSettings/ToolbarButtons/Text/Description: Afficher le texte\nSettings/DefaultSidebarTab/Caption: Onglet par défaut sur la barre latérale\nSettings/DefaultSidebarTab/Hint: Indique l'onglet de la barre latérale qui sera affiché par défaut\nSettings/DefaultMoreSidebarTab/Caption: Onglet par défaut sous le Plus de la barre latérale\nSettings/DefaultMoreSidebarTab/Hint: Indique quel onglet sera affiché par défaut sous le Plus de la barre latérale\nSettings/DefaultTiddlerInfoTab/Caption: Onglet par défaut pour les Infos du tiddler\nSettings/DefaultTiddlerInfoTab/Hint: Spécifie l'onglet affiché par défaut lorsque le panneau d'information du tiddler est ouvert\nSettings/LinkToBehaviour/Caption: Comportement à l'ouverture du tiddler\nSettings/LinkToBehaviour/InsideRiver/Hint: Navigation depuis un emplacement //interne// au déroulé\nSettings/LinkToBehaviour/OutsideRiver/Hint: Navigation depuis un emplacement //externe// au déroulé\nSettings/LinkToBehaviour/OpenAbove: Ouvrir au-dessus du tiddler courant\nSettings/LinkToBehaviour/OpenBelow: Ouvrir en dessous du tiddler courant\nSettings/LinkToBehaviour/OpenAtTop: Ouvrir tout en haut du déroulé\nSettings/LinkToBehaviour/OpenAtBottom: Ouvrir tout en bas du déroulé\nSettings/TitleLinks/Caption: Titres des tiddlers\nSettings/TitleLinks/Hint: Faut-il afficher les titres des tiddlers comme des liens ?\nSettings/TitleLinks/No/Description: Ne pas afficher les titres des tiddlers comme des liens\nSettings/TitleLinks/Yes/Description: Afficher les titres des tiddlers comme des liens\nSettings/MissingLinks/Caption: Liens wiki\nSettings/MissingLinks/Hint: Peut-on pointer vers des tiddlers qui n'existent pas encore ?\nSettings/MissingLinks/Description: Active les liens vers les tiddlers inexistants\nSocialCard/Caption: Cartel pour médias sociaux\nSocialCard/Domain/Prompt: Nom de domaine à afficher pour le lien (par exemple, ''tiddlywiki.com'')\nSocialCard/Hint: Cette information est utilisée par les services de messagerie et de médias sociaux pour afficher un cartel de prévisualisation des liens vers ce TiddlyWiki lorsqu'il est accessible en ligne\nSocialCard/PreviewUrl/Prompt: URL complète vers l'image de prévisualisation de ce TiddlyWiki\nSocialCard/PreviewUrl/Preview: Image de prévisualisation :\nSocialCard/Url/Prompt: URL complète pour ce TiddlyWiki\nStoryTiddler/Caption: Tiddlers du déroulé\nStoryTiddler/Hint: Cette cascade de règles sert à choisir dynamiquement le template d'affichage d'un tiddler dans le déroulé.\nStoryView/Caption: Vue sur le déroulé\nStoryView/Prompt: Vue courante :\nStylesheets/Caption: Feuilles de style\nStylesheets/Expand/Caption: Tout déployer\nStylesheets/Hint: Voici le rendu CSS courant pour les tiddlers feuilles de style tagués avec <<tag \"$:/tags/Stylesheet\">>\nStylesheets/Restore/Caption: Restaurer\nTestCases/Caption: Scénarios de test\nTestCases/Hint: Les scénarios de test sont des exemples sans dépendance extérieure, conçus à des fins de tests et d'apprentissage\nTestCases/All/Caption: Tous les scénarios de test\nTestCases/All/Hint: Tous les scénarios de test définis dans ce wiki\nTestCases/Failed/Caption: Scénarios de test en échec \nTestCases/Failed/Hint: Seulement les scénarios de test qui échouent\nTheme/Caption: Thème\nTheme/Prompt: Thème courant :\nTiddlerFields/Caption: Champs des tiddlers\nTiddlerFields/Hint: Il s'agit de la totalité des [[champs|TiddlerFields]] utilisés dans ce wiki (y compris les tiddlers système, mais non compris les tiddlers //shadow//).\nTiddlerColour/Caption: Couleur du tiddler\nTiddlerColour/Hint: Cette cascade de règle sert à choisir dynamiquement la couleur d'un tiddler (utilisée pour l'icone et la pastille du tag associé).\nTiddlerIcon/Caption: Icone du tiddler\nTiddlerIcon/Hint: Cette cascade de règles sert à déterminer dynamiquement l'icone d'un tiddler.\nToolbars/Caption: Barres d'outils\nToolbars/EditToolbar/Caption: Barre d'outils du mode édition\nToolbars/EditToolbar/Hint: Choix des boutons à afficher pour les tiddlers en cours d'édition\nToolbars/Hint: Choix des boutons à afficher dans les barres d'outils\nToolbars/PageControls/Caption: Barre d'outils de la page\nToolbars/PageControls/Hint: Choix des boutons à afficher sur la barre d'outils principale de la page\nToolbars/EditorToolbar/Caption: Barre d'outils de l'Éditeur\nToolbars/EditorToolbar/Hint: Choix des boutons à afficher dans la barre d'outils de l'éditeur. À noter que la présence de certains boutons dépendra du type du tiddler édité\nToolbars/ViewToolbar/Caption: Barre d'outils du mode visualisation\nToolbars/ViewToolbar/Hint: Choix des boutons à afficher pour les tiddlers en mode visualisation\nTools/Download/Full/Caption: Télécharger le wiki complet\nViewTemplateBody/Caption: Visualisation du corps\nViewTemplateBody/Hint: Cette cascade de règles est utilisée par le template de visualisation par défaut pour choisir dynamiquement le template d'affichage du corps d'un tiddler.\nViewTemplateTitle/Caption: Visualisation du titre\nViewTemplateTitle/Hint: Cette cascade de règles est utilisée par le template de visualisation par défaut pour choisir dynamiquement le template d'affichage du titre d'un tiddler.\nViewTemplateSubtitle/Caption: Visualisation du sous-titre\nViewTemplateSubtitle/Hint: Cette cascade de règles est utilisée par le template de visualisation par défaut pour choisir dynamiquement le template d'affichage du sous-titre d'un tiddler.\nViewTemplateTags/Caption: Visualisation des tags\nViewTemplateTags/Hint: Cette cascade de règles est utilisée par le template de visualisation par défaut pour choisir dynamiquement le template d'affichage de la zone de tags d'un tiddler.\nWikiInformation/Caption: Informations sur le Wiki\nWikiInformation/Hint: Cette page rassemble quelques informations générales sur la configuration de ce ~TiddlyWiki. Elle est conçue pour permettre de partager rapidement certains aspects de sa configuration avec d'autres, par exemple lorsqu'on demande de l'aide sur un forum. Elle ne contient aucune information privée ni personnelle, et rien n'est partagé sans être explicitement copié-collé ailleurs.\nWikiInformation/Drag/Caption: Déplacer ce lien pour copier cet outil sur un autre wiki"
  },
  {
    "path": "languages/fr-FR/CoreReadMe.tid",
    "content": "title: $:/core/fr-FR/readme\n\nCe plugin contient les principaux composants de TiddlyWiki, notamment :\n\n* Les modules du code JavaScript ;\n* Les icônes ;\n* Les //templates// nécessaires à l'élaboration de l'interface utilisateur de TiddlyWiki ;\n* Les traductions en anglais britannique (''en-GB'') des chaînes de caractères utilisées par le cœur de l'application et susceptibles d'être traduites dans d'autres langues.\n"
  },
  {
    "path": "languages/fr-FR/Dates.multids",
    "content": "title: $:/language/\n\nDate/DaySuffix/1: er\nDate/DaySuffix/2: \nDate/DaySuffix/3: \nDate/DaySuffix/4: \nDate/DaySuffix/5: \nDate/DaySuffix/6: \nDate/DaySuffix/7: \nDate/DaySuffix/8: \nDate/DaySuffix/9: \nDate/DaySuffix/10: \nDate/DaySuffix/11: \nDate/DaySuffix/12: \nDate/DaySuffix/13: \nDate/DaySuffix/14: \nDate/DaySuffix/15: \nDate/DaySuffix/16: \nDate/DaySuffix/17: \nDate/DaySuffix/18: \nDate/DaySuffix/19: \nDate/DaySuffix/20: \nDate/DaySuffix/21: \nDate/DaySuffix/22: \nDate/DaySuffix/23: \nDate/DaySuffix/24: \nDate/DaySuffix/25: \nDate/DaySuffix/26: \nDate/DaySuffix/27: \nDate/DaySuffix/28: \nDate/DaySuffix/29: \nDate/DaySuffix/30: \nDate/DaySuffix/31: \nDate/Long/Day/0: Dimanche\nDate/Long/Day/1: Lundi\nDate/Long/Day/2: Mardi\nDate/Long/Day/3: Mercredi\nDate/Long/Day/4: Jeudi\nDate/Long/Day/5: Vendredi\nDate/Long/Day/6: Samedi\nDate/Long/Month/1: janvier\nDate/Long/Month/2: février\nDate/Long/Month/3: mars\nDate/Long/Month/4: avril\nDate/Long/Month/5: mai\nDate/Long/Month/6: juin\nDate/Long/Month/7: juillet\nDate/Long/Month/8: août\nDate/Long/Month/9: septembre\nDate/Long/Month/10: octobre\nDate/Long/Month/11: novembre\nDate/Long/Month/12: décembre\nDate/Period/am: am\nDate/Period/pm: pm\nDate/Short/Day/0: Di\nDate/Short/Day/1: Lu\nDate/Short/Day/2: Ma\nDate/Short/Day/3: Me\nDate/Short/Day/4: Je\nDate/Short/Day/5: Ve\nDate/Short/Day/6: Sa\nDate/Short/Month/1: Jan\nDate/Short/Month/2: Fév\nDate/Short/Month/3: Mar\nDate/Short/Month/4: Avr\nDate/Short/Month/5: Mai\nDate/Short/Month/6: Jun\nDate/Short/Month/7: Jul\nDate/Short/Month/8: Aoû\nDate/Short/Month/9: Sep\nDate/Short/Month/10: Oct\nDate/Short/Month/11: Nov\nDate/Short/Month/12: Déc\nRelativeDate/Future/Days: dans <<period>> jours\nRelativeDate/Future/Hours: dans <<period>> heures\nRelativeDate/Future/Minutes: dans <<period>> minutes\nRelativeDate/Future/Months: dans <<period>> mois\nRelativeDate/Future/Second: dans 1 seconde\nRelativeDate/Future/Seconds: dans <<period>> secondes\nRelativeDate/Future/Years: dans <<period>> ans\nRelativeDate/Past/Days: il y a <<period>> jours\nRelativeDate/Past/Hours: il y a <<period>> heures\nRelativeDate/Past/Minutes: il y a <<period>> minutes\nRelativeDate/Past/Months: il y a <<period>> mois\nRelativeDate/Past/Second: il y a 1 seconde\nRelativeDate/Past/Seconds: il y a <<period>> secondes\nRelativeDate/Past/Years: il y a <<period>> ans\n"
  },
  {
    "path": "languages/fr-FR/Docs/ModuleTypes.multids",
    "content": "title: $:/language/Docs/ModuleTypes/\n\nallfilteroperator: Un sous-opérateur pour l'opérateur de filtre ''all''.\nanimation: Animations pouvant être utilisées par le RevealWidget.\nauthenticator: Définit comment les requêtes sont authentifiées par le serveur HTTP intégré.\nbitmapeditoroperation: Une opération intégrée à la barre d'outils de l'éditeur de bitmap.\ncommand: Commandes qui peuvent être exécutées en mode Node.js.\nconfig: Données à inclure dans `$tw.config`.\nfilteroperator: Méthodes d'opérateurs pour les filtres.\nglobal: Données globales à inclure dans `$tw`.\ninfo: Publie des informations système via le pseudo-plugin [[$:/temp/info-plugin]].\nisfilteroperator: Paramètres pour l'opérateur de filtre ''is''.\nlibrary: Module générique pour les modules ~JavaScript de portée générale.\nmacro: Définitions de macros ~JavaScript.\nparser: Parseurs pour divers types de contenu.\nroute: Définit comment chaque motif d'URL est géré par le serveur HTTP intégré.\nsaver: Les tiddlers d'enregistrement contiennent les différentes méthodes pour enregistrer des fichiers à partir du navigateur.\nstartup: Fonctions de démarrage.\nstoryview: Différents points de vue sur le déroulé, qui personnalisent l'animation et le comportement des widgets de liste.\ntexteditoroperation: Une opération intégrée à la barre d'outils de l'éditeur de texte.\ntiddlerdeserializer: Convertit différents types de contenu en tiddlers.\ntiddlerfield: Définit le comportement d'un champ de tiddler.\ntiddlermethod: Ajoute des méthodes au prototype `$tw.Tiddler`.\nupgrader: Applique une procédure de mise à jour aux tiddlers lors de l'opération de mise à jour/importation.\nutils: Ajoute des méthodes dans `$tw.utils`.\nutils-browser: Ajoute des méthodes spécifiques au mode browser dans `$tw.utils`.\nutils-node: Ajoute des méthodes spécifiques au mode Node.js dans `$tw.utils`.\nwidget: Les widgets encapsulent les méthodes de rendu et de rafraichissement du DOM.\nwikimethod: Ajoute des méthodes à `$tw.Wiki`.\nwikirule: Règles d'analyse pour le parseur WikiText principal.\n"
  },
  {
    "path": "languages/fr-FR/Docs/PaletteColours.multids",
    "content": "title: $:/language/Docs/PaletteColours/\n\nalert-background: Fond pour les alertes\nalert-border: Bordure pour les alertes\nalert-highlight: Surlignage pour les alertes\nalert-muted-foreground: Fond atténué pour les alertes\nbackground: Couleur de fond générale\nblockquote-bar: Barre de citation\nbutton-background: Fond du bouton par défaut\nbutton-border: Bordure du bouton par défaut\nbutton-foreground: Premier plan du bouton par défaut\ncode-background: Fond pour le code\ncode-border: Bordure pour le code\ncode-foreground: Premier plan pour le code\ndirty-indicator: Indicateur de modifications non sauvegardées\ndownload-background: Fond pour le bouton de téléchargement\ndownload-foreground: Premier plan pour le bouton de téléchargement\ndragger-background: Fond pour le glissé-déposé\ndragger-foreground: Premier plan pour le glissé-déposé\ndropdown-background: Fond des menus déroulants\ndropdown-border: Bordure des menus déroulants\ndropdown-tab-background-selected: Fond pour les onglets à menu déroulant sélectionnés\ndropdown-tab-background: Fond pour les onglets à menu déroulant\ndropzone-background: Fond de la zone « déposé »\nexternal-link-background-hover: Fond lors du passage de la souris sur un lien externe\nexternal-link-background-visited: Fond pour un lien externe déjà visité\nexternal-link-background: Fond pour un lien externe\nexternal-link-foreground-hover: Premier plan lors du passage de la souris sur un lien externe\nexternal-link-foreground-visited: Premier plan pour un lien externe déjà visité\nexternal-link-foreground: Premier plan pour un lien externe\nforeground: Premier plan\nmenubar-background: Fond pour la barre de menu\nmenubar-foreground: Premier plan pour la barre de menu\nmessage-background: Fond pour les messages\nmessage-border: Bordure pour les messages\nmessage-foreground: Premier plan pour les messages\nmodal-backdrop: Arrière-plan pour les fenêtres modales\nmodal-background: Fond pour les fenêtres modales\nmodal-border: Bordure pour les fenêtres modales\nmodal-footer-background: Fond pour les pieds de page des fenêtres modales\nmodal-footer-border: Bordure pour les pieds de page des fenêtres modales\nmodal-header-border: Bordure pour les en-tête des fenêtres modales\nmuted-foreground: Premier plan atténué\nnotification-background: Fond pour les notifications\nnotification-border: Bordure pour les notifications\npage-background: Fond de page\npre-background: Fond pour le code préformaté\npre-border: Bordure pour le code préformaté\nprimary: Couleur principale\nselect-tag-background: Arrière-plan de l'élément `<select>`\nselect-tag-foreground: Texte de l'élément `<select>`\nsidebar-button-foreground: Premier plan des boutons de la barre latérale\nsidebar-controls-foreground-hover: Premier plan au passage de la souris sur les boutons de commande de la barre latérale\nsidebar-controls-foreground: Premier plan sur les boutons de commande de la barre latérale\nsidebar-foreground-shadow: Ombre du premier plan de la barre latérale\nsidebar-foreground: Premier plan de la barre latérale\nsidebar-muted-foreground-hover: Premier plan atténué au passage de la souris sur la barre latérale\nsidebar-muted-foreground: Premier plan atténué de la barre latérale\nsidebar-tab-background-selected: Fond pour les onglets sélectionnés de la barre latérale\nsidebar-tab-background: Fond pour les onglets de la barre latérale\nsidebar-tab-border-selected: Bordure pour les onglets sélectionnés de la barre latérale\nsidebar-tab-border: Bordure pour les onglets de la barre latérale\nsidebar-tab-divider: Séparateur d'onglets pour la barre latérale\nsidebar-tab-foreground-selected: Premier plan pour les onglets sélectionnés de la barre latérale\nsidebar-tab-foreground: Premier plan pour les onglets de la barre latérale\nsidebar-tiddler-link-foreground-hover: Premier plan au passage de la souris sur le lien d'un tiddler de la barre latérale\nsidebar-tiddler-link-foreground: Premier plan du lien d'un tiddler de la barre latérale\nstability-stable: Badge pour le niveau de stabilité \"stable\"\nstability-experimental: Badge pour le niveau de stabilité \"experimental\"\nstability-deprecated: Badge pour le niveau de stabilité \"deprecated\"\nstability-legacy: Badge pour le niveau de stabilité \"legacy\"\nsite-title-foreground: Premier plan pour le titre du wiki (SiteTitle)\nstatic-alert-foreground: Premier plan pour les alertes statiques\ntab-background-selected: Fond pour les onglets sélectionnés\ntab-background: Fond pour les onglets\ntab-border-selected: Bordure pour les onglets sélectionnés\ntab-border: Bordure pour les onglets\ntab-divider: Séparateur d'onglets\ntab-foreground-selected: Premier plan pour les onglets sélectionnés\ntab-foreground: Premier plan pour les onglets\ntable-border: Bordure des tableaux\ntable-footer-background: Fond pour les bas de tableau\ntable-header-background: Fond pour les en-têtes de tableau\ntag-background: Fond pour les tags\ntag-foreground: Premier plan pour les tags\ntestcase-accent-level-1: Couleur accentuée pour les scénarios de test sans imbrication\ntestcase-accent-level-2: Couleur accentuée pour les scénarios de test avec un 2e niveau d'imbrication\ntestcase-accent-level-3: Couleur accentuée pour les scénarios de test avec un 3e niveau d'imbrication ou plus\ntiddler-background: Fond pour les tiddlers\ntiddler-border: Bordure pour les tiddlers\ntiddler-controls-foreground-hover: Premier plan au passage de la souris sur les boutons de commande d'un tiddler\ntiddler-controls-foreground-selected: Premier plan pour le bouton de commande sélectionné d'un tiddler\ntiddler-controls-foreground: Premier plan pour les boutons de commande d'un tiddler\ntiddler-editor-background: Fond pour l'éditeur de tiddlers\ntiddler-editor-border-image: Image de bordure pour l'éditeur de tiddlers\ntiddler-editor-border: Bordure de l'éditeur de tiddlers\ntiddler-editor-fields-even: Fond de l'éditeur de tiddlers pour les champs pairs\ntiddler-editor-fields-odd: Fond de l'éditeur de tiddlers pour les champs impairs\ntiddler-info-background: Fond du panneau d'information d'un tiddler\ntiddler-info-border: Bordure du panneau d'information d'un tiddler\ntiddler-info-tab-background: Fond pour les onglets du panneau d'information d'un tiddler\ntiddler-link-background: Fond pour les liens vers un tiddler\ntiddler-link-foreground: Premier plan pour les liens vers un tiddler\ntiddler-subtitle-foreground: Premier plan du sous-titre du wiki\ntiddler-title-foreground: Premier plan du titre du wiki\ntoolbar-new-button: Premier plan pour le bouton 'Nouveau tiddler' de la barre latérale\ntoolbar-options-button: Premier plan pour le bouton 'Options' de la barre latérale\ntoolbar-save-button: Premier plan pour le bouton 'Enregistrer' de la barre latérale\ntoolbar-info-button: Premier plan pour le bouton 'Info' de la barre latérale\ntoolbar-edit-button: Premier plan pour le bouton 'Éditer' de la barre latérale\ntoolbar-close-button: Premier plan pour le bouton 'Fermer' de la barre latérale\ntoolbar-delete-button: Premier plan pour le bouton 'Supprimer' de la barre latérale\ntoolbar-cancel-button: Premier plan pour le bouton 'Annuler' de la barre latérale\ntoolbar-done-button: Premier plan pour le bouton 'Terminé' de la barre latérale\nuntagged-background: Fond pour la pastille « sans-étiquette »\nvery-muted-foreground: Premier plan très atténué\n"
  },
  {
    "path": "languages/fr-FR/EditTemplate.multids",
    "content": "title: $:/language/EditTemplate/\n\nCaption: Éditeur\nBody/External/Hint: Ce tiddler affiche du contenu situé en dehors du fichier TiddlyWiki principal. Vous pouvez éditer les tags et les champs mais pas directement le contenu lui-même\nBody/Placeholder: Entrez le texte ici\nBody/Preview/Type/Output: sortie\nBody/Preview/Type/DiffShadow: différences avec le tiddler shadow (s'il existe)\nBody/Preview/Type/DiffCurrent: différences avec le tiddler courant\nField/Remove/Caption: supprimer le champ\nField/Remove/Hint: Supprime le champ\nField/Dropdown/Caption: liste des champs\nField/Dropdown/Hint: Montre la liste des champs\nFields/Add/Button: ajouter\nFields/Add/Button/Hint: Ajoute le nouveau champ au tiddler\nFields/Add/Name/Placeholder: nom du champ\nFields/Add/Prompt: Ajouter un nouveau champ :\nFields/Add/Value/Placeholder: valeur du champ\nFields/Add/Dropdown/System: Champs système\nFields/Add/Dropdown/User: Champs utilisateur\nShadow/OverriddenWarning: Ce tiddler est une version modifiée d'un tiddler « shadow ». Pour revenir à la version par défaut du plugin <<pluginLink>>, il vous suffit de supprimer ce tiddler.\nShadow/Warning: Ceci est un tiddler « shadow ». Toute modification supplantera la version issue du plugin <<pluginLink>>\nTags/Add/Button: ajouter\nTags/Add/Button/Hint: ajoute un tag\nTags/Add/Placeholder: nom du tag\nTags/ClearInput/Caption: supprime l'entrée\nTags/ClearInput/Hint: Supprime le tag entré\nTags/Dropdown/Caption: liste des tags\nTags/Dropdown/Hint: Montre la liste des tags\nTitle/BadCharacterWarning: Attention : il est préférable d'éviter l'usage des caractères <<bad-chars>> dans les titres des tiddlers\nTitle/Exists/Prompt: Le tiddler cible existe déjà\nTitle/Relink/Prompt: Changer ''<$text text=<<fromTitle>>/>'' en ''<$text text=<<toTitle>>/>'' dans les //tags// et les champs //list// des autres tiddlers\nTitle/References/Prompt: Les références suivantes à ce tiddler ne seront pas mises à jour automatiquement :\nType/Dropdown/Caption: liste des types de contenu\nType/Dropdown/Hint: Montre la liste des types de contenu\nType/Delete/Caption: supprimer le type de contenu\nType/Delete/Hint: Supprime le type de contenu\nType/Placeholder: type du contenu\nType/Prompt: Type :\n"
  },
  {
    "path": "languages/fr-FR/Exporters.multids",
    "content": "title: $:/language/Exporters/\n\nStaticRiver: HTML Statique\nJsonFile: Fichier JSON\nCsvFile: Fichier CSV\nTidFile: Fichier \".tid\"\n"
  },
  {
    "path": "languages/fr-FR/Fields.multids",
    "content": "title: $:/language/Docs/Fields/\n\n_canonical_uri: L'URI complet vers le contenu externe d'un tiddler image\nauthor: Nom de l'auteur d'un plugin\nbag: Nom du ''bag'' d'où provient le tiddler\ncaption: Texte à afficher sur un onglet ou un bouton\nclass: La classe CSS appliquée à un tiddler lors de son rendu — voir [[Custom styles by user-class]]. Également utilisée pour les [[Modals]]\ncode-body: Le template de visualisation affichera ce tiddler comme du code si la valeur est ''yes''\ncolor: Couleur CSS associée au tiddler\ncomponent: Nom du composant responsable pour un [[tiddler d'alerte|AlertMechanism]]\ncore-version: Dans le cas d'un plugin, indique la version de TiddlyWiki avec laquelle il est compatible\ncurrent-tiddler: Sert à cacher le tiddler situé au début de l'[[historique|HistoryMechanism]]\ncreated: Date de création du tiddler\ncreator: Nom de l'utilisateur qui a créé le tiddler\ndependents: Quand le tiddler est un plugin, énumère les titres des plugins dépendants\ndescription: Texte de description d'un plugin, ou d'une boîte de dialogue\ndraft.of: Pour les tiddlers en cours d'édition, contient le titre du tiddler initial\ndraft.title: Pour les tiddlers en cours d'édition, contient le nouveau titre prévu pour le tiddler\nfooter: Texte de bas de page dans le cas d'une fenêtre modale\nhide-body: Le template de visualisation cachera le corps des tiddlers si la valeur est ''yes''\nicon: Titre du tiddler contenant l'icone associée à un tiddler\nlibrary: Une valeur ''yes'' indique qu'un tiddler doit être sauvegardé comme bibliothèque JavaScript\nlist: Liste ordonnée de titres de tiddlers associée à un tiddler\nlist-before: Si présent, contient le titre du tiddler avant lequel ce tiddler doit être ajouté dans la liste ordonnée des titres de tiddlers. Si ce champ est présent mais vide, le titre doit être ajouté au début de la liste.\nlist-after: Si présent, contient le titre du tiddler après lequel ce tiddler doit être ajouté dans la liste ordonnée des titres de tiddlers.\nmodified: Date et heure à laquelle le tiddler a été modifié pour la dernière fois\nmodifier: Titre du tiddler associé à l'utilisateur qui a modifié ce tiddler pour la dernière fois\nmodule-type: Pour les tiddlers javascript, spécifie de quel type est ce module\nname: Dans le cas d'un tiddler plugin, le nom associé à ce plugin\nparent-plugin: Dans le cas d'un tiddler plugin, spécifie de quel plugin il est un sous-plugin\nplugin-priority: Dans le cas d'un tiddler plugin, un nombre indiquant sa priorité\nplugin-type: Dans le cas d'un tiddler plugin, le type du plugin\nstability: Le statut de développement d'un plugin : deprecated, experimental, stable, ou legacy\nreleased: Date de version d'un TiddlyWiki\nrevision: Numéro de révision du tiddler présent sur le serveur\nsource: URL source associée à ce tiddler\nsubtitle: Texte du sous-titre pour une fenêtre modale\ntags: Liste des tags associés à un tiddler\ntext: Texte du corps de ce tiddler\nthrottle.refresh: Si présent, ralentit les rafraîchissements de ce tiddler\ntitle: Nom unique du tiddler\ntoc-link: Une valeur à ''no'' supprime le lien vers le tiddler dans l'arborescence des tables des matières\ntype: Type de contenu du tiddler\nversion: S'il s'agit d'un plugin, l'information de version\n_is_skinny: Si présent, indique que le champ //text// du tiddler doit être chargé depuis le serveur\n"
  },
  {
    "path": "languages/fr-FR/Filters.multids",
    "content": "title: $:/language/Filters/\n\nAllTiddlers: Tous les tiddlers sauf les tiddlers système\nRecentSystemTiddlers: Les tiddlers modifiés récemment, y compris les tiddlers système\nRecentTiddlers: Les tiddlers modifiés récemment\nAllTags: Tous les tags sauf les tags système\nMissing: Les tiddlers manquants\nDrafts: Les tiddlers en cours d'édition\nOrphans: Les tiddlers orphelins\nSystemTiddlers: Les tiddlers système\nShadowTiddlers: Les tiddlers shadow\nOverriddenShadowTiddlers: Les tiddlers shadow modifiés\nSessionTiddlers: Les tiddlers modifiés depuis que le dernier chargement du wiki\nSystemTags: Les tags système\nStoryList: Les tiddlers du déroulé, hormis  <$text text=\"$:/AdvancedSearch\"/>\nTypedTiddlers: Tiddlers dont le contenu n'est pas en wiki-text\n"
  },
  {
    "path": "languages/fr-FR/GettingStarted.tid",
    "content": "title: GettingStarted\n\n\\define lingo-base() $:/language/ControlPanel/Basics/\nBienvenue sur ~TiddlyWiki et parmi la communauté ~TiddlyWiki.\n\nAvant de confier à TiddlyWiki des informations importantes, commencez par vérifier que vos modifications peuvent être sauvegardées\ncorrectement — reportez-vous aux [[instructions détaillées|https://tiddlywiki.com/languages/fr-FR/index.html#Saving]] sur https://tiddlywiki.com/.\n\n!! Personnalisez ce ~TiddlyWiki\n\n<div class=\"tc-control-panel\">\n\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit-text tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\nRendez-vous dans le [[panneau de contrôle|$:/ControlPanel]] pour plus d'options.\n"
  },
  {
    "path": "languages/fr-FR/Help/build.tid",
    "content": "title: $:/language/Help/build\ndescription: Lance automatiquement les commandes configurées\n\nCompile le wiki courant à partir des cibles spécifiées. Si aucune cible n'est spécifiée, toutes les cibles seront compilées.\n\n```\n--build <cible> [<cible> ...]\n```\n\nLes cibles de compilation sont définies dans le fichier `tiddlywiki.info` du [[dossier associé au wiki|TiddlyWikiFolders]].\n\n"
  },
  {
    "path": "languages/fr-FR/Help/clearpassword.tid",
    "content": "title: $:/language/Help/clearpassword\ndescription: Efface un mot de passe pour les prochaines opérations de chiffrement\n\nEfface le mot de passe pour les prochaines opérations de chiffrement\n\n```\n--clearpassword\n```\n"
  },
  {
    "path": "languages/fr-FR/Help/commands.tid",
    "content": "title: $:/language/Help/commands\ndescription: Lance les commandes retournées par un filtre\n\nLance la séquence des commandes retournées par un filtre\n\n```\n--commands <filtre>\n```\n\nExemples\n\n```\n--commands \"[enlist:raw{$:/commandes-build-sous-forme-de-texte}]\"\n```\n\n```\n--commands \"[{$:/commandes-build-sous-forme-json}jsonindexes[]] :map[{$:/commandes-build-sous-forme-json}jsonget<currentTiddler>]\"\n```\n"
  },
  {
    "path": "languages/fr-FR/Help/default.tid",
    "content": "title: $:/language/Help/default\n\n\\define commandTitle()\n$:/language/Help/$(command)$\n\\end\n\\whitespace trim\n```\nusage: tiddlywiki [<dossierwiki>] [--<commande> [<arguments>...]...]\n```\n\nListe des commandes disponibles :\n\n<ul>\n<$list filter=\"[commands[]sort[title]]\" variable=\"command\">\n<li><$link to=<<commandTitle>>><$macrocall $name=\"command\" $type=\"text/plain\" $output=\"text/plain\"/></$link> :\n&#32;\n<$transclude tiddler=<<commandTitle>> field=\"description\"/></li>\n</$list>\n</ul>\n\nPour obtenir de l'aide sur une commande précise :\n\n```\ntiddlywiki --help <commande>\n```\n"
  },
  {
    "path": "languages/fr-FR/Help/deletetiddlers.tid",
    "content": "title: $:/language/Help/deletetiddlers\ndescription: Supprime un groupe de tiddlers\n\n<<.from-version \"5.1.20\">> Supprime un groupe de tiddlers identifiés par un filtre.\n\n```\n--deletetiddlers <filtre>\n```\n"
  },
  {
    "path": "languages/fr-FR/Help/editions.tid",
    "content": "title: $:/language/Help/editions\ndescription: Liste les éditions TiddlyWiki disponibles\n\nListe les noms et descriptions des éditions disponibles. La commande `--init` permet de créer un nouveau wiki à partir d'une édition particulière.\n\n```\n--editions\n```\n"
  },
  {
    "path": "languages/fr-FR/Help/fetch.tid",
    "content": "title: $:/language/Help/fetch\ndescription: Télécharge des tiddlers depuis un wiki à partir de leurs URL\n\nTélécharge un ou plusieurs fichiers via HTTP/HTTPS, puis importe les tiddlers correspondant à un filtre, en transformant optionnellement les titres des tiddlers importés.\n\n```\n--fetch file <url> <filtre-import> <filtre-de-transformation>\n--fetch files <filtre-urls> <filtre-import> <filtre-de-transformation>\n```\n\nAvec la variante \"file\", un seul fichier est téléchargé et le premier paramètre est l'URL du fichier à lire.\n\nAvec la variante \"files\", plusieurs fichiers sont téléchargés et le premier paramètre est un filtre produisant une liste d'URLs pour les fichiers à lire. Par exemple, étant donné un ensemble de tiddlers tagués \"remote-server\" et disposant d'un champ \"url\", le filtre `[tag[remote-server]get[url]]` permet de récupérer toutes les URLs disponibles.\n\nLe paramètre `<filtre-import>` spécifie un filtre qui détermine quels tiddlers seront importés. Lorsqu'il n'est pas indiqué, il prend comme valeur par défaut `[all[tiddlers]]`.\n\nLe paramètre `<filtre de transformation>` spécifie un filtre optionnel qui transforme les titres des tiddlers importés. Par exemple, `[addprefix[$:/myimports/]]` permettrait d'ajouter le préfixe `$:/myimports/` à chaque titre.\n\nOn obtient des informations concernant la progression de l'importation en faisant précéder la commande `--fetch` de la commande `--verbose`.\n\nIl faut noter que TiddlyWiki ne téléchargera pas une version plus ancienne d'un plugin déjà chargé.\n\nL'exemple ci-dessous récupère tous les tiddlers non-système de https://tiddlywiki.com et les enregistre dans un fichier JSON :\n\n```\ntiddlywiki --verbose --fetch file \"https://tiddlywiki.com/\" \"[!is[system]]\" \"\" --rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[!is[system]]\"\n```\n\n"
  },
  {
    "path": "languages/fr-FR/Help/help.tid",
    "content": "title: $:/language/Help/help\ndescription: Affiche de l'aide sur les commandes TiddlyWiki\n\nAffiche un texte d'aide sur une commande particulière :\n\n```\n--help [<commande>]\n```\n\nSi aucun nom de commande n'est fourni, affiche la liste de toutes les commandes disponibles.\n"
  },
  {
    "path": "languages/fr-FR/Help/import.tid",
    "content": "title: $:/language/Help/import\ndescription: Importe des tiddlers depuis un fichier\n\nImporte des tiddlers depuis des fichiers locaux TiddlyWiki (`.html`), `.tiddler`, `.tid`, `.json` ou autres. Le désérialiseur doit être spécifié explicitement, à la différence de la commande `load` qui déduit le désérialiseur à utiliser à partir de l'extension du fichier.\n\n```\n--import <chemin-du-fichier> <désérialiseur> [<titre>] [<encodage>]\n```\n\nLes principaux désérialiseurs présents par défaut sont :\n\n* application/javascript\n* application/json\n* application/x-tiddler\n* application/x-tiddler-html-div\n* application/x-tiddlers\n* text/html\n* text/plain\n\nS'il n'est pas spécifié, le titre du tiddler importé a pour valeur le nom du fichier.\n\nL'encodage par défaut est \"utf8\", mais peut valoir \"base64\" en cas d'importation des fichiers binaires.\n\nÀ noter que TiddlyWiki refusera d'importer pas une version plus ancienne d'un plugin déjà chargé.\n"
  },
  {
    "path": "languages/fr-FR/Help/init.tid",
    "content": "title: $:/language/Help/init\ndescription: Initialise un nouveau dossier wiki\n\nInitialise un [[dossier wiki (WikiFolder)|WikiFolders]] vide en copiant l'une des éditions présentes dans le répertoire //editions//.\n\n```\n--init <édition> [<édition> ...]\n```\n\nPar exemple :\n\n```\ntiddlywiki ./MonDossierWiki --init empty\n```\n\nNote :\n\n* Le répertoire correspondant au dossier wiki est créé si nécessaire\n* L'édition par défaut est ''empty''\n* La commande //init// échoue si le dossier wiki n'est pas vide\n* La commande //init// supprime les éventuelles définitions `includeWikis` du fichier `tiddlywiki.info` de l'édition spécifiée\n* Lorsque plusieurs éditions sont spécifiées, chaque édition écrase les fichiers qu'elle a en commun avec les précédentes (par conséquent, le fichier `tiddlywiki.info` proviendra de la dernière édition spécifiée)\n* `--editions` renvoie une liste des éditions disponibles\n"
  },
  {
    "path": "languages/fr-FR/Help/listen.tid",
    "content": "title: $:/language/Help/listen\ndescription: Fournit à TiddlyWiki une interface serveur HTTP\n\nSert un wiki via HTTP.\n\nLa commande //listen// utilise des [[paramètres de commande nommés|NamedCommandParameters]] :\n\n```\n--listen [<nom>=<valeur>]...\n```\n\nTous les paramètres sont optionnels avec des valeurs par défaut sûres, et peuvent être spécifiés dans n'importe quel ordre. Les paramètres reconnus sont les suivants :\n\n* ''host'' - nom ou adresse de machine hôte à laquelle sera attaché le service (par défaut \"127.0.0.1\", autrement dit \"localhost\")\n* ''path-prefix'' - préfixe optionnel pour les noms de chemin\n* ''port'' - numéro de port sur lequel écouter ; une valeur non numérique est interprétée comme un nom de variable d'environnement dont sera extrait le numéro de port (par défaut à \"8080\")\n* ''credentials'' - chemin vers le fichier CSV d'autorisations (relativement au dossier du wiki)\n* ''anon-username'' - nom d'utilisateur qui servira à signer les modifications si l'utilisateur est anonyme\n* ''username'' - nom d'utilisateur optionnel pour l'authentification basique\n* ''password'' - mot de passe optionnel pour l'authentification basique\n* ''authenticated-user-header'' - nom d'en-tête optionnel à utiliser pour les authentifications de confiance\n* ''readers'' - liste de personnes de confiance autorisées à lire ce wiki, séparées par des virgules \n* ''writers'' - liste de personnes de confiance autorisées à modifier ce wiki, séparées par des virgules\n* ''csrf-disable'' - donner la valeur \"yes\" pour désactiver les vérifications CSRF (vaut \"no\" par défaut)\n* ''sse-enabled'' - donner la valeur \"yes\" pour activer les événement envoyés par le serveur (valeur \"no\" par défaut)\n* ''root-tiddler'' - le tiddler à servir à la racine (par défaut \"$:/core/save/all\")\n* ''root-render-type'' - le type de contenu avec lequel le tiddler racine doit être rendu (par défaut \"text/plain\")\n* ''root-serve-type'' - le type de contenu avec lequel le tiddler racine doit être servi (par défaut \"text/html\")\n* ''tls-cert'' - nom de chemin du fichier de certificat TLS (relativement au dossier du wiki)\n* ''tls-key'' - nom de chemin du fichier de clé TLS (relativement au dossier du wiki)\n* ''debug-level'' - niveau de débogage optionnel ; mettre à \"debug\" pour voir le détail des requêtes (par défaut à \"none\")\n* ''gzip'' - donner la valeur \"yes\" pour activer la compression gzip pour certaines interactions http (par défaut à \"no\")\n* ''use-browser-cache'' - une valeur \"yes\" autorise le navigateur à mettre en cache les réponses pour économiser de la bande passante (\"no\" par défaut)\n\nPour plus d'informations sur la manière de donner accès à votre instance de serveur à l'ensemble de votre réseau local, ainsi que sur les risques éventuels en matière de sécurité, voir le tiddler [[WebServer sur tiddlywiki.com|https://tiddlywiki.com/#WebServer]].\n\n"
  },
  {
    "path": "languages/fr-FR/Help/load.tid",
    "content": "title: $:/language/Help/load\ndescription: Charge des tiddlers à partir d'un fichier\n\nCharge des tiddlers à partir de fichiers ~TiddlyWikiClassic 2.x.x\n(`.html`), `.tiddler`, `.tid`, `.json` ou d'autres types de\nfichiers. Le traitement appliqué aux fichiers entrants est déterminé par l'extension du fichier. Utilisez plutôt la commande `import` si vous devez spécifier explicitement le désérialiseur et l'encodage.\n\n\n```\n--load <chemindufichier> [noerror]\n--load <chemindurépertoire> [noerror]\n```\n\nPar défaut, la commande //load// provoque une erreur si aucun tiddler n'est trouvé. L'erreur peut être supprimée en spécifiant le paramètre optionnel \"noerror\".\n\nPour charger des tiddlers à partir d'un fichier ~TiddlyWiki chiffré, vous devrez d'abord spécifier le mot de passe à l'aide de la [[commande password|PasswordCommand]]. Par exemple :\n\n```\ntiddlywiki ./MonWiki --password pa55w0rd --load mon_wiki_secret.html\n```\n\nÀ noter : TiddlyWiki refusera de charger une version plus ancienne d'un plugin déjà chargé."
  },
  {
    "path": "languages/fr-FR/Help/makelibrary.tid",
    "content": "title: $:/language/Help/makelibrary\ndescription: Construit le plugin bibliothèque requis par la procédure de mise à jour\n\nConstruit le tiddler `$:/UpgradeLibrary` pour la procédure de mise à jour.\n\nLa bibliothèque de mise à jour est formatée comme un tiddler de plugin ordinaire avec le type `library`. Elle contient un exemplaire de chacun des packs de plugins, thèmes et languages disponibles dans le répertoire de TiddlyWiki5.\n\nCette commande est prévue pour un usage interne ; elle n'a d'intérêt que pour les utilisateurs qui construisent une variante de la procédure de mise à jour.\n\n```\n--makelibrary <titre>\n```\n\nL'argument //titre// a pour valeur par défaut `$:/UpgradeLibrary`.\n"
  },
  {
    "path": "languages/fr-FR/Help/notfound.tid",
    "content": "title: $:/language/Help/notfound\n\nIl n'existe pas d'aide sur le sujet."
  },
  {
    "path": "languages/fr-FR/Help/output.tid",
    "content": "title: $:/language/Help/output\ndescription: Change le répertoire de départ pour la sortie des prochaines commandes\n\nChange le répertoire de départ pour la sortie des prochaines commandes. Par défaut, le répertoire de sortie est le sous-répertoire `output` du répertoire de l'édition courante.\n\n```\n--output <nom de chemin>\n```\n\nSi le chemin spécifié est relatif, il est calculé relativement au répertoire de sortie courant. Par exemple, `--output .` indique le répertoire courant comme répertoire de sortie.\n"
  },
  {
    "path": "languages/fr-FR/Help/password.tid",
    "content": "title: $:/language/Help/password\ndescription: Fournit un mot de passe pour les prochaines opérations de chiffrement\n\nFournit un mot de passe pour les prochaines opérations de chiffrement.\n\n```\n--password <motdepasse>\n```\n\n''Note'' : Cette commande n'est pas appropriée pour servir un TiddlyWiki protégé par mot de passe. Pour cela, utilisez plutôt l'option //password// de la [[commande Server|ServerCommand]].\n"
  },
  {
    "path": "languages/fr-FR/Help/render.tid",
    "content": "title: $:/language/Help/render\ndescription: Exécute le contenu de tiddlers individuels vers des fichiers\n\nExécute le contenu des tiddlers individuels identifiés par un filtre et enregistre le résultat vers les fichiers spécifiés.\n\nOptionellement, on peut spécifier le titre d'un tiddler modèle (template). Dans ce cas, au lieu d'exécuter directement le contenu de chaque tiddler, le modèle est exécuté après avoir donné pour valeur à la variable \"currentTiddler\" le titre du tiddler dont le contenu est en cours d'exécution.\n\nOn peut spécifier le nom et la valeur d'une variable supplémentaire.\n\n```\n--render <filtre-sur-les-tiddlers> [<filtre-des-noms-de-fichier>] [<type-de-rendu>] [<modèle>] [ [<nom>] [<valeur>] ]*\n```\n\n* ''filtre-sur-les-tiddlers'': Un filtre qui indentifie les tiddlers dont le contenu doit être exécuté\n* ''filtre-des-noms-de-fichier'': filtre optionnel pour transformer les titres de tiddlers en chemin de fichiers. À défaut, le filtre utilisé est `[is[tiddler]addsuffix[.html]]`, qui utilise le titre inchangé du tiddler comme nom de fichier\n* ''modèle'': Modèle optionnel via lequel chaque tiddler doit être rendu\n* ''type-de-rendu'': Type de rendu optionnel : la valeur `text/html` (par défaut) retourne le text HTML complet et `text/plain` se contente de retourner le contenu sous forme texte (autrement dit ignore les balises HTML et autres caractères non imprimables)\n* ''nom'': Nom des variables optionnelles\n* ''valeur'': Valeur des variables optionnelles\n\nPar défaut, le nom de fichier est résolu relativement au sous-répertoire `output` du répertoire de l'édition. La commande `--output` peut servir à diriger les sorties vers un répertoire différent.\n\nNotes :\n\n* Les éventuels fichiers présents dans le répertoire de sortie ne sont pas supprimmés\n* Les répertoires absents dans le chemin de fichier sont créés automatiquement.\n* Lorsqu'un tiddler contient des espaces dans le titre, prendre garde à utiliser aussi bien les guillemets nécessaires au shell et les doubles crochets droits propres à TiddlyWiki : `--render \"[[Motovun Jack.jpg]]\"`\n* Le filtre des noms de fichier est évalué après avoir initialisé l'élément d'entrée avec le titre du tiddler en cours d'exécution, permettant ainsi d'utiliser le titre comme base de calcul pour le nom de fichier. Par exemple `[encodeuricomponent[]addprefix[static/]]` applique un encodage d'URI à chaque titre, puis ajoute le préfixe `static/`\n* Il est possible d'utiliser plusieurs paires ''nom''/''valeur'' pour passer plus d'une variable\n* La commande `--render` remplace de manière plus souple les deux commandes `--rendertiddler` et `--rendertiddlers`, qui sont du même coup obsolètes. \n\nExemples :\n\n* `--render \"[!is[system]]\" \"[encodeuricomponent[]addprefix[tiddlers/]addsuffix[.html]]\"` -- enregistre le rendu HTML de tous les tiddlers non-système vers des fichiers du sous-répertoire \"tiddlers\", nommés après encodage URL des titres et ajout d'une extension html.\n* `--render '.' 'tiddlers.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' '[tag[HelloThere]]'` -- enregistre le rendu JSON des tiddlers tagués \"HelloThere\" dans un fichier nommé \"tiddlers.json\"\n\n"
  },
  {
    "path": "languages/fr-FR/Help/rendertiddler.tid",
    "content": "title: $:/language/Help/rendertiddler\ndescription: Exécute le contenu d'un tiddler pour le type spécifié\n\n(À noter : la commande `--rendertiddler` est dépréciée. Il est préférable d'utiliser la nouvelle commande `--render`, plus souple)\n\nEnregistre vers le chemin indiqué le résultat de l'exécution d'un tiddler pour le type de contenu (ContentType) spécifié — par défaut `text/html`.\n\nUn tiddler modèle (template) peut être indiqué optionnellement. Dans ce cas, le tiddler modèle est exécuté après initialisation de la variable \"currentTiddler\" avec le tiddler dont le titre est donné en premier paramètre de la commande.\n\nLe nom et la valeur d'une variable supplémentaire peuvent être spécifiés optionnellement.\n\n```\n--rendertiddler <titre> <chemindufichier> [<type>] [<modèle>] [<nom>] [<valeur>]\n```\n\nPar défaut, le nom de fichier est résolu relativement au sous-répertoire `output` du répertoire de l'édition. La commande `--output` peut servir à rediriger la sortie vers un répertoire différent.\n\nLes répertoires présents dans le chemin du fichier et qui n'existent pas encore sont créés automatiquement.\n\nPar exemple, la commande ci-dessous enregistre tous les tiddlers correspondant au filtre `[tag[done]]` vers un fichier JSON de nom `output.json`, en faisant appel au template prédéfini `$:/core/templates/exporters/JsonFile`.\n\n```\n--rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[tag[done]]\"\n```\n"
  },
  {
    "path": "languages/fr-FR/Help/rendertiddlers.tid",
    "content": "title: $:/language/Help/rendertiddlers\ndescription: Exécute le contenu d'un ensemble de tiddlers sélectionnés par un filtre, pour le type de contenu (ContentType) spécifié\n\n(À noter : la commande `--rendertiddlers` est dépréciée. Il est préférable d'utiliser la nouvelle commande `--render`, plus souple)\n\nEnregistre vers le chemin indiqué et avec l'extension indiquée — par défaut `.html`, le résultat de l'exécution d'un ensemble de tiddlers (sélectionnés par un filtre). Le résultat de l'exécution est rendu selon le type de contenu (ContentType) spécifié — par défaut `text/html` :\n\n```\n--rendertiddlers '<filtre>' <modèle> <chemindurépertoire> [<type>] [<extension>] [\"noclean\"]\n```\n\nPar exemple :\n\n```\n--rendertiddlers '[!is[system]]' $:/core/templates/static.tiddler.html ./static text/plain\n```\n\nPar défaut, le nom de fichier est résolu relativement au sous-répertoire `output` du répertoire de l'édition. La commande `--output` peut servir à rediriger la sortie vers un répertoire différent.\n\nTous les fichiers du répertoire cible sont supprimés, sauf si le drapeau ''noclean'' est spécifié. Le répertoire cible est créé récursivement s'il n'existe pas."
  },
  {
    "path": "languages/fr-FR/Help/save.tid",
    "content": "title: $:/language/Help/save\ndescription: Enregistre des tiddlers individuels tels quels vers des fichiers\n\nEnregistre des tiddlers individuels identifiés par un filtre, soit tels quels, soit dans un format binaire dans les fichiers spécifiés.\n\n```\n--save <filtre-des-tiddlers> <filtre-des-noms-de-fichiers>\n```\n\n* ''filtre-des-tiddlers'': Un filtre identifiant les tiddlers à enregistrer\n* ''filtre-des-noms-de-fichiers'': Filtre optionnel pour transformer les titres de tiddlers en chemins de fichiers. À défaut, le filtre utilisé est `[is[tiddler]]`, qui utilise le titre inchangé du tiddler comme nom de fichier\n\nPar défaut, le nom de fichier est résolu relativement au sous-répertoire `output` du réepertoire de l'édition. La commande `--output` peut servir à diriger les sorties vers un répertoire différent.\n\nNotes :\n\n* Les éventuels fichiers présents dans le répertoire de sortie ne sont pas supprimmés\n* Les répertoires absents dans le chemin de fichier sont créés automatiquement.\n* Lorsqu'un tiddler contient des espaces dans le titre, prendre garde à utiliser aussi bien les guillemets nécessaires au shell et les doubles crochets droits propres à TiddlyWiki : `--render \"[[Motovun Jack.jpg]]\"`\n* Le filtre des noms de fichier est évalué après avoir initialisé l'élément d'entrée avec le titre du tiddler en cours d'exécution, permettant ainsi d'utiliser le titre comme base de calcul pour le nom de fichier. Par exemple `[encodeuricomponent[]addprefix[static/]]` applique un encodage d'URI à chaque titre, puis ajoute le préfixe `static/`\n* La commande `--save` remplace de manière plus souple les deux commandes `--savetiddler` et `--savetiddlers`, qui sont du même coup obsolètes. \n\nExemples :\n\n* `--save \"[!is[system]is[image]]\" \"[encodeuricomponent[]addprefix[tiddlers/]]\"` -- enregistre tous les tiddlers images non-système comme des fichiers du sous-répertoire \"tiddlers\" nommés après encodage URL des titres.\n"
  },
  {
    "path": "languages/fr-FR/Help/savetiddler.tid",
    "content": "title: $:/language/Help/savetiddler\ndescription: Enregistre un tiddler dans un fichier sous sa forme brute\n\n(À noter : la commande `--savetiddler` est dépréciée. Il est préférable d'utiliser la nouvelle commande `--save`, plus souple)\n\nEnregistre un tiddler texte ou binaire dans le fichier spécifié, sous sa forme brute. \n\n```\n--savetiddler <titre> <chemindufichier>\n```\n\nPar défaut, le nom de fichier est résolu relativement au sous-répertoire `output` du répertoire de l'édition. La commande `--output` peut servir à rediriger la sortie vers un répertoire différent.\n\nLes répertoires présents dans le chemin du fichier et qui n'existent pas encore sont créés automatiquement. "
  },
  {
    "path": "languages/fr-FR/Help/savetiddlers.tid",
    "content": "title: $:/language/Help/savetiddlers\ndescription: Enregistre un groupe de tiddlers vers un répertoire\n\n(À noter : la commande `--savetiddlers` est dépréciée. Il est préférable d'utiliser la nouvelle commande `--save`, plus souple)\n\nEnregistre un groupe de tiddlers vers le chemin spécifié, sous leur forme brute, texte ou binaire. \n\n```\n--savetiddlers <filtre> <chemin-de-répertoire> [\"noclean\"]\n```\n\nPar défaut, le répertoire de sortie est calculé relativement au sous-répertoire `output` du répertoire de l'édition. La commande `--output` peut servir à diriger la sortie vers un répertoire différent.\n\nLes fichiers présents dans le répertoire de sortie sont supprimés avant que soient enregistrés les fichiers des tiddlers spécifiés par le filtre. Pour empêcher cette suppression, ajouter le drapeau ''noclean''.\n\nLes éventuels répertoires manquants dans le chemin spécifié sont créés automatiquement.\n"
  },
  {
    "path": "languages/fr-FR/Help/savewikifolder.tid",
    "content": "title: $:/language/Help/savewikifolder\ndescription: Enregistre un wiki dans un nouveau dossier wiki\n\n<<.from-version \"5.1.20\">> Enregistre le wiki courant sous la forme d'un dossier wiki, comprenant les tiddlers, les plugins et les informations de configuration&nbsp;:\n\n```\n--savewikifolder <chemindudossierwiki> [<filtre>]\n```\n\n* Le dossier wiki cible doit être vide ou inexistant\n* Le filtre spécifie les tiddlers à inclure. Il est optionnel et vaut par défaut `[all[tiddlers]]`\n* Les plugins appartenant à la bibliothèque officielle de plugins sont remplacés par des références à ces plugins dans le fichier `tiddlywiki.info`\n* Les plugins sur mesure sont déballés dans leur propre dossier\n\nLes options suivantes sont acceptées :\n\n* ''filter'': une expression filtre qui définit les tiddlers à inclure en sortie.\n* ''explodePlugins'': \"yes\" par défaut\n** ''yes'' \"explosera\" les plugins en fichiers séparés (un par tiddler) et les sauvegardera dans le répertoire plugin sous le dossier principal du wiki\n** ''no'' empêchera l'explosion des plugins en autant de fichiers que de tiddlers qui les constituaient. Le plugin sera sauvegardé en un seul tiddler JSON sous le dossier tiddlers/.\n\nOn notera que les deux options ''explodePlugins'' produiront des dossiers wiki qui ne changeront pas le wiki original. La différence réside dans la manière dont les plugins sont représentés sous le dossier principal du wiki.\n\nOn utilise typiquement cette commande avec la commande `--load` pour convertir un fichier TiddlyWiki HTML en un dossier wiki&nbsp;:\n\n```\ntiddlywiki --load ./monwiki.html --savewikifolder ./mondossierwiki\n```\n\nSauvegarde des plugins directement sous le répertoire tiddlers/ du dossier wiki cible :\n\n```\ntiddlywiki --load ./mywiki.html --savewikifolder ./mywikifolder explodePlugins=no\n```\n"
  },
  {
    "path": "languages/fr-FR/Help/server.tid",
    "content": "title: $:/language/Help/server\ndescription: (déprécié en faveur de la nouvelle commande 'listen') Fournit une interface serveur HTTP à TiddlyWiki\n\nAncienne commande pour servir un wiki sur HTTP.\n\n```\n--server <port> <tiddler-racine> <type-du-rendu> <type-du-service> <nom-d-utilisateur> <mot-de-passe> <machine> <préfixe-des-chemins> <niveau-débogage>\n```\n\nLes arguments sont :\n\n* ''port'' - numéro de port sur lequel servir le contenu ; une valeur non-numérique sera interprétée comme un nom de variable d'environnement du système dont la valeur est le numéro de port (défaut : \"8080\")\n* ''tiddler-racine'' - le titre du tiddler à afficher à la racine de l'URL (défaut : \"$:/core/save/all\") \n* ''type-du-rendu'' - le type avec lequel le contenu du tiddler racine doit être rendu (`text/plain` par défaut)\n* ''type-du-service'' - le type avec lequel le contenu du tiddler racine doit être servi (`text/html` par défaut)\n* ''nom-d-utilisateur'' - le nom d'utilisateur qui servira par défaut à signer les modifications\n* ''mot-de-passe'' - mot de passe optionnel permettant une authentification basique\n* ''machine'' - nom de machine optionnel d'où le contenu doit être servi (\"127.0.0.1\" par défaut, autrement dit \"localhost\")\n* ''préfixe-des-chemins'' - préfixe optionnel pour les chemins de fichiers\n* ''niveau-débogage'' - optional debug level; set to \"debug\" to view request details (defaults to \"none\")\n\nSi le mot de passe est spécifié en argument, le navigateur demandera à l'utilisateur d'entrer le nom d'utilisateur et le mot de passe. On notera que le mot de passe est transmis en clair, et que cette implémentation ne convient donc pas pour un usage général.\n\nPar exemple :\n\n```\n--server 8080 $:/core/save/all text/plain text/html MonNomUtilisateur m0tdepa55e\n```\n\nLe nom d'utilisateur et le mot de passe peuvent être spécifiés sous forme de chaînes vides si vous avez besoin d'indiquer le nom de machine ou le préfixe des chemins sans pour autant demander un mot de passe :\n\n```\n--server 8080 $:/core/save/all text/plain text/html \"\" \"\" 192.168.0.245\n```\n\nSi vous voulez faire tourner plusieurs serveurs TiddlyWiki en même temps sur la même machine, vous devrez leur assigner chacun un port différent. Il peut être utile d'utiliser une variable d'environnement pour passer le numéro de port au process Node.js. L'exemple suivant utilise une variable d'environnement appelée \"MY_PORT_NUMBER\" :\n\n```\n--server MY_PORT_NUMBER $:/core/save/all text/plain text/html MonNomUtilisateur m0tdepa55e\n```\n"
  },
  {
    "path": "languages/fr-FR/Help/setfield.tid",
    "content": "title: $:/language/Help/setfield\ndescription: Prépare des tiddlers externes for use\n\n//Notez que cette commande est expérimentale et peut changer ou être remplacée avant d'être finalisée//\n\nInitialise le champ spécifié d'un groupe de tiddlers avec le résultat de la wikification d'un tiddler template, la variable `currentTiddler` prenant tour à tour la valeur de chaque tiddler.\n\n```\n--setfield <filtre> <nom-du-champ> <titre-du-template> <type-de-rendu>\n```\n\nLes paramètres sont les suivants :\n\n* ''filtre'' - filtre identifiant les tiddlers cibles\n* ''nom-du-champ'' - le champ à modifier (\"text\" par défaut)\n* ''titre-du-template'' - le tiddler à wikifier dans le champ spécifié. Si manquant ou blanc, le champ spécifié est supprimé\n* ''type-de-rendu'' - le type de texte à utiliser pour le rendu (\"text/plain\" par défaut ; \"text/html\" peut servir à inclure des éléments HTML)\n"
  },
  {
    "path": "languages/fr-FR/Help/unpackplugin.tid",
    "content": "title: $:/language/Help/unpackplugin\ndescription: Déballe les tiddlers contenus dans un plugin\n\nExtrait les tiddlers utiles d'un plugin, en les créant sous forme de tiddlers ordinaires :\n\n```\n--unpackplugin <titre>\n```\n"
  },
  {
    "path": "languages/fr-FR/Help/verbose.tid",
    "content": "title: $:/language/Help/verbose\ndescription: Bascule en mode verbeux\n\nBascule les informations en mode verbeux, pratique pour le débogage.\n\n```\n--verbose\n```\n"
  },
  {
    "path": "languages/fr-FR/Help/version.tid",
    "content": "title: $:/language/Help/version\ndescription: Affiche le numéro de version de TiddlyWiki\n\nAffiche le numéro de version de TiddlyWiki.\n\n```\n--version\n```\n"
  },
  {
    "path": "languages/fr-FR/Import.multids",
    "content": "title: $:/language/Import/\n\nEditor/Import/Heading: Images à importer et à insérer dans l'éditeur.\nImported/Hint:  Les tiddlers suivants ont été importés :\nListing/Cancel/Caption: Annuler\nListing/Cancel/Warning: Souhaitez-vous annuler l'importation ?\nListing/Hint: Les tiddlers suivants sont prêts pour l'importation :\nListing/Import/Caption: Importer\nListing/Select/Caption: Sélectionner\nListing/Status/Caption: Statut\nListing/Title/Caption: Titre\nListing/Preview: Prévisualisation :\nListing/Preview/Text: Texte\nListing/Preview/TextRaw: Texte (brut)\nListing/Preview/Fields: Champs\nListing/Preview/Diff: Diff\nListing/Preview/DiffFields: Diff (champs)\nListing/Rename/Tooltip: Renommer le tiddler avant l'importation\nListing/Rename/Prompt: Renommer en :\nListing/Rename/ConfirmRename: Renommer le tiddler\nListing/Rename/CancelRename: Annuler\nListing/Rename/OverwriteWarning: Un tiddler avec le même titre existe déjà.\nUpgrader/Plugins/Suppressed/Incompatible: Plugin bloqué : incompatible ou obsolète.\nUpgrader/Plugins/Suppressed/Version: Plugin bloqué (la version <<incoming>> en cours d'importation est plus ancienne que la version <<existing>> actuelle).\nUpgrader/Plugins/Upgraded: Plugin mis à jour depuis <<incoming>> vers <<upgraded>>.\nUpgrader/State/Suppressed: Tiddler d'état temporaire bloqué.\nUpgrader/System/Disabled: Tiddler système désactivé.\nUpgrader/System/Suppressed: Tiddler système bloqué.\nUpgrader/System/Warning: Tiddler du module //core//.\nUpgrader/System/Alert: Vous êtes sur le point d'importer un tiddler qui écrasera un tiddler du module //core//. Ceci est déconseillé car cela peut rendre le système instable.\nUpgrader/ThemeTweaks/Created: Thème modifié à partir de <$text text=<<from>>/>.\nUpgrader/Tiddler/Disabled: Tiddler désactivé.\nUpgrader/Tiddler/Selected: Tiddler sélectionné.\nUpgrader/Tiddler/Unselected: Tiddler désélectionné.\n"
  },
  {
    "path": "languages/fr-FR/Misc.multids",
    "content": "title: $:/language/\n\nAlerts: Alertes\nAboveStory/ClassicPlugin/Warning: On dirait que vous essayez de charger un plugin conçu pour ~TiddlyWiki Classic. Merci de noter que [[ces plugins ne fonctionnent pas avec TiddlyWiki version 5.x.x|https://tiddlywiki.com/#TiddlyWikiClassic]]. Plugins ~TiddlyWiki Classic détectés :\nBinaryWarning/Prompt: Ce tiddler contient des données binaires\nClassicWarning/Hint: Ce tiddler est écrit au format TiddlyWiki Classic, qui n'est pas entièrement compatible avec TiddlyWiki version 5. Pour en savoir plus, rendez-vous à l'adresse https://tiddlywiki.com/static/Upgrading.html. \nClassicWarning/Upgrade/Caption: mettre à jour\nCloseAll/Button: tout fermer\nColourPicker/Recent: Récent :\nConfirmCancelTiddler: Souhaitez-vous annuler les modifications apportées au tiddler « <$text text=<<title>>/> » ?\nConfirmDeleteTiddler: Souhaitez-vous supprimer le tiddler « <$text text=<<title>>/> » ?\nConfirmDeleteTiddlers: Êtes-vous sûr•e de vouloir supprimer <<resultCount>> tiddler(s) ?\nConfirmOverwriteTiddler: Souhaitez-vous supplanter le tiddler « <$text text=<<title>>/> » ?\nConfirmEditShadowTiddler: Vous êtes sur le point d'éditer un ShadowTiddler. Toute modification supplantera la version par défaut du système, rendant les prochaines mises à jour non-triviales. Êtes-vous sûr(e) de vouloir éditer \"<$text text=<<title>>/>\"?\nConfirmAction: Souhaitez-vous poursuivre ?\nCount: total \nDefaultNewTiddlerTitle: Nouveau tiddler\nDiffs/CountMessage: <<diff-count>> différences\nDropMessage: Déposer ici (ou taper sur la touche « Escape » pour annuler)\nEncryption/Cancel: Annuler\nEncryption/ConfirmClearPassword: Souhaitez-vous supprimer ce mot de passe ? Si oui, ce wiki ne sera plus chiffré lors de la sauvegarde\nEncryption/PromptSetPassword: Choisir un nouveau mot de passe pour ce TiddlyWiki\nEncryption/Username: Nom d'utilisateur\nEncryption/Password: Mot de passe\nEncryption/RepeatPassword: Répéter le mot de passe\nEncryption/PasswordNoMatch: Les mots de passe ne correspondent pas\nEncryption/SetPassword: Définir ce mot de passe \nError/Caption: Erreur\nError/DeserializeOperator/MissingOperand: Erreur de filtre: opérande manquant pour l'opérateur 'deserialize'\nError/DeserializeOperator/UnknownDeserializer: Erreur de filtre: l'opérateur 'deserialize' a pour opérande un désérialiseur inconnu\nError/Filter: Erreur de filtre\nError/FilterSyntax: Erreur de syntaxe dans l'expression du filtre\nError/FilterRunPrefix: Erreur de filtre : Préfixe de run inconnu pour le filtre\nError/IsFilterOperator: Erreur de filtre : Opérande inconnu pour l'opérateur de filtre 'is'\nError/FormatFilterOperator: Erreur de filtre : Suffixe inconnu pour l'opérateur de filtre 'format'\nError/LoadingPluginLibrary: Erreur lors du chargement de la bibliothèque de plugins\nError/NetworkErrorAlert: `<h2>''Erreur Réseau''</h2>Il semble que la connexion au serveur soit perdue. Cela peut indiquer un problème avec votre connexion réseau. Essayez de rétablir la connectivité du réseau avant de continuer.<br><br>''Toute modification non enregistrée sera automatiquement synchronisée lorsque la connectivité sera rétablie''.`\nError/PutEditConflict: Le fichier a changé sur le serveur\nError/PutForbidden: Permission refusée\nError/PutUnauthorized: Authentification nécessaire\nError/RecursiveTransclusion: Erreur dans le widget //transclude// : transclusion récursive\nError/RetrievingSkinny: Erreur pendant la récupération de la liste des tiddlers partiels\nError/SavingToTWEdit: Erreur lors de l'enregistrement vers TWEdit\nError/WhileSaving: Erreur lors de l'enregistrement\nError/XMLHttpRequest: Code d'erreur XMLHttpRequest\nError/ZoominTextNode: Erreur de visualisation dans le déroulé : il semble que vous cherchiez à interagir avec un tiddler qui s'affiche dans un containeur personnalisé. Le problème vient probablement de l'utilisation de `$:/tags/StoryTiddlerTemplateFilter` avec un template qui commence par du texte ou des espaces. Merci d'utiliser le pragma `\\whitespace trim` et de vous assurer que tout le contenu du tiddler est inclus dans un seul élément HTML. Voici le texte à l'origine du problème :\nInternalJavaScriptError/Title: Erreur interne JavaScript\nInternalJavaScriptError/Hint: C'est assez embarrassant. Il est recommandé de rafraîchir l'affichage de votre navigateur\nLayoutSwitcher/Description: Ouvre le commutateur de mise en page\nLazyLoadingWarning: <p>Tentative de chargement d'un contenu externe ''<$text text={{!!_canonical_uri}}/>''</p><p>Si ce message ne disparaît pas, il est possible que vous deviez ajuster le type de contenu du tiddler en fonction du type de votre contenu externe, ou vous utilisez peut-être un navigateur qui n'accepte pas les contenus externes dans cette configuration. Voir https://tiddlywiki.com/#ExternalText</p>\nLoginToTiddlySpace: Identification sur TiddlySpace\nManager/Controls/FilterByTag/None: (aucun)\nManager/Controls/FilterByTag/Prompt: Filtrer par tag :\nManager/Controls/Order/Prompt: Ordre inverse\nManager/Controls/Search/Placeholder: Recherche\nManager/Controls/Search/Prompt: Rechercher :\nManager/Controls/Show/Option/Tags: tags\nManager/Controls/Show/Option/Tiddlers: tiddlers\nManager/Controls/Show/Prompt: Afficher :\nManager/Controls/Sort/Prompt: Trier par :\nManager/Item/Colour: Couleur\nManager/Item/Fields: Champs\nManager/Item/Icon/None: (aucune)\nManager/Item/Icon: Icône\nManager/Item/RawText: Texte brut\nManager/Item/Tags: Tags\nManager/Item/Tools: Outils\nManager/Item/WikifiedText: Texte wikifié\nMissingTiddler/Hint: Le tiddler « <$text text=<<currentTiddler>>/> » est manquant -- cliquez sur {{||$:/core/ui/Buttons/edit}} pour le créer\nNo: Non\nOfficialPluginLibrary: Bibliothèque officielle des plugins ~TiddlyWiki\nOfficialPluginLibrary/Hint: La bibliothèque officielle des plugins ~TiddlyWiki sur tiddlywiki.com. Plugins, thèmes et packs pour les différentes langues sont maintenus par l'équipe responsable du noyau.\nPageTemplate/Description: la mise en page par défaut de ~TiddlyWiki\nPageTemplate/Name: ~PageTemplate par défaut\nPluginReloadWarning: Merci d'enregistrer {{$:/core/ui/Buttons/save-wiki}} et de recharger {{$:/core/ui/Buttons/refresh}} pour que les changements apportés aux plugins ~JavaScript prennent effet\nRecentChanges/DateFormat: DD MMM YYYY\nShortcuts/Input/AdvancedSearch/Hint: Ouvre le panneau Recherche Avancée depuis le champ de recherche de la barre latérale\nShortcuts/Input/Accept/Hint: Accepte l'élément sélectionné\nShortcuts/Input/AcceptVariant/Hint: Accepte l'élément sélectionné (variante)\nShortcuts/Input/Cancel/Hint: Efface le champ d'entrée\nShortcuts/Input/Down/Hint: Sélectionne l'élément suivant\nShortcuts/Input/Tab-Left/Hint: Sélectionne l'onglet précédent\nShortcuts/Input/Tab-Right/Hint: Sélectionne l'onglet suivant\nShortcuts/Input/Up/Hint: Sélectionne l'élément précédent\nShortcuts/SidebarLayout/Hint: Change la mise en forme de la barre latérale\nSwitcher/Subtitle/theme: Change de Thème\nSwitcher/Subtitle/layout: Change de Mise en page\nSwitcher/Subtitle/language: Change de Langue\nSwitcher/Subtitle/palette: Change de Palette\nSystemTiddler/Tooltip: Ceci est un tiddler système\nSystemTiddlers/Include/Prompt: Inclure les tiddlers système\nTagManager/Colour/Heading: Couleur\nTagManager/Count/Heading: Total\nTagManager/Icon/Heading: Icône\nTagManager/Icons/None: Aucune\nTagManager/Info/Heading: Info\nTagManager/Tag/Heading: Tag\nTiddler/DateFormat: DD MMM YYYY à hhh0mm\nUnsavedChangesWarning: Vos dernières modifications n'ont pas été sauvegardées dans votre TiddlyWiki\nYes: Oui\n"
  },
  {
    "path": "languages/fr-FR/Modals/Download.tid",
    "content": "title: $:/language/Modals/Download\ntype: text/vnd.tiddlywiki\nsubtitle: Télécharger vos modifications\nfooter: <$button message=\"tm-close-tiddler\">Fermer</$button>\nhelp: https://tiddlywiki.com/static/DownloadingChanges.html\n\nVotre navigateur ne supporte que l'enregistrement manuel.\n\nPour enregistrer les modifications de votre wiki, faites un clic droit sur le lien de téléchargement ci-dessous et choisissez \"Enregistrer...\" ou \"Télécharger...\", puis choisissez le répertoire et le nom de fichier.\n\n//Il est possible d'accélérer un peu les choses en cliquant sur le lien tout en appuyant sur la touche contrôle (sous Windows) ou la touche option/alt (sous MacOS X). On ne vous demandera pas un nom de fichier ou de répertoire, mais votre navigateur proposera probablement un nom difficile à identifier — il vous faudra sans doute le renommer pour lui ajouter une extension .html avant qu'il soit effectivement utilisable.//\n\nSur les smartphones qui n'autorisent pas le téléchargement de fichiers, vous pouvez ajouter le lien à vos favoris/signets, puis synchroniser vos signets vers un ordinateur de bureau, d'où le wiki pourra être enregistré normalement.\n"
  },
  {
    "path": "languages/fr-FR/NewJournal.multids",
    "content": "title: $:/config/NewJournal/\n\nTitle: DD MMM YYYY\nTags: Journal\n"
  },
  {
    "path": "languages/fr-FR/NewJournalTags.tid",
    "content": "title: $:/config/NewJournal/Tags\n\nJournal\n"
  },
  {
    "path": "languages/fr-FR/Notifications.multids",
    "content": "title: $:/language/Notifications/\n\nSave/Done: Wiki enregistré\nSave/Starting: Enregistrement du wiki en cours\nCopiedToClipboard/Succeeded: Copié dans le presse-papier !\nCopiedToClipboard/Failed: La copie dans le presse-papier a échoué !\n"
  },
  {
    "path": "languages/fr-FR/Search.multids",
    "content": "title: $:/language/Search/\n\nDefaultResults/Caption: Liste\nFilter/Caption: Filtrer\nFilter/Hint: Recherche via une combinaison de [[filtres|https://tiddlywiki.com/static/Filters.html]]\nFilter/Matches: //<small><<resultCount>> correspondances</small>//\nMatches: //<small><<resultCount>> correspondances</small>//\nMatches/All: Toutes les correspondances :\nMatches/Title: Correspondances sur les titres :\nSearch: Recherche\nSearch/TooShort: Texte de recherche trop court\nShadows/Caption: Shadows\nShadows/Hint: Recherche parmi les tiddlers //shadow//\nShadows/Matches: //<small><<resultCount>> correspondances</small>//\nStandard/Caption: Standard\nStandard/Hint: Recherche parmi les tiddlers standard\nStandard/Matches: //<small><<resultCount>> correspondances</small>//\nSystem/Caption: Système\nSystem/Hint: Recherche parmi les tiddlers //système//\nSystem/Matches: //<small><<resultCount>> correspondances</small>//\n\n"
  },
  {
    "path": "languages/fr-FR/SideBar.multids",
    "content": "title: $:/language/SideBar/\n\nCaption: Barre latérale\nAll/Caption: Tout\nContents/Caption: Sommaire\nDrafts/Caption: Brouillons\nExplorer/Caption: Explorateur\nMissing/Caption: Manquants\nMore/Caption: Plus\nOpen/Caption: Ouverts\nOrphans/Caption: Orphelins\nRecent/Caption: Récents\nShadows/Caption: Shadows\nSystem/Caption: Système\nTags/Caption: Tags\nTags/Untagged/Caption: sans tag\nTools/Caption: Outils\nTypes/Caption: Types\n"
  },
  {
    "path": "languages/fr-FR/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\nun carnet de notes web personnel et non linéaire"
  },
  {
    "path": "languages/fr-FR/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\nMon ~TiddlyWiki"
  },
  {
    "path": "languages/fr-FR/Snippets/FunctionDefinition.tid",
    "content": "title: $:/language/Snippets/FunctionDefinition\ntags: $:/tags/TextEditor/Snippet\ncaption: Définition de fonction\n\n\\function nom.fonction(param1,param2:\"valeur par défaut\") [<param1>!is[blank]else<param2>]\n\n<<nom.fonction>>\n"
  },
  {
    "path": "languages/fr-FR/Snippets/ListByTag.tid",
    "content": "title: $:/language/Snippets/ListByTag\ntags: $:/tags/TextEditor/Snippet\ncaption: Liste de tiddlers par tag\n\n<<list-links \"[tag[task]sort[title]]\">>\n"
  },
  {
    "path": "languages/fr-FR/Snippets/MacroDefinition.tid",
    "content": "title: $:/language/Snippets/MacroDefinition\ntags: $:/tags/TextEditor/Snippet\ncaption: Définition de macro\n\n\\define Nomdemacro(param1:\"valeur par défaut\",param2)\nTexte de la macro\n\\end\n"
  },
  {
    "path": "languages/fr-FR/Snippets/ProcedureDefinition.tid",
    "content": "title: $:/language/Snippets/ProcedureDefinition\ntags: $:/tags/TextEditor/Snippet\ncaption: Définition de procédure\n\n\\procedure nomProc(param1:\"valeur par défaut\",param2)\nVotre texte ici.\n\\end\n"
  },
  {
    "path": "languages/fr-FR/Snippets/Table 4x3.tid",
    "content": "title: $:/language/Snippets/Table4x3\ntags: $:/tags/TextEditor/Snippet\ncaption: Tableau avec 4 colonnes par trois lignes\n\n|! |!Alpha |!Beta |!Gamma |!Delta |\n|!Un | | | | |\n|!Deux | | | | |\n|!Trois | | | | |\n"
  },
  {
    "path": "languages/fr-FR/Snippets/TableOfContents.tid",
    "content": "title: $:/language/Snippets/TableOfContents\ntags: $:/tags/TextEditor/Snippet\ncaption: Table des matières\n\n<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'TableOfContents'>>\n\n</div>"
  },
  {
    "path": "languages/fr-FR/ThemeTweaks.multids",
    "content": "title: $:/language/ThemeTweaks/\r\n\r\nThemeTweaks: Réglages du thème\r\nThemeTweaks/Hint: Vous pouvez ajuster certains aspects du thème ''Vanilla''.\r\nOptions: Options\r\nOptions/SidebarLayout: Agencement de la barre latérale\r\nOptions/SidebarLayout/Fixed-Fluid: Déroulé fixe, barre latérale extensible\r\nOptions/SidebarLayout/Fluid-Fixed: Déroulé extensible, barre latérale fixe\r\nOptions/StickyTitles: Titres accrochés\r\nOptions/StickyTitles/Hint: Lorsqu'on fait défiler le déroulé, les titres des tiddlers s'accrochent en haut de la fenêtre du navigateur tant que le contenu de leur tiddler est visible. Attention : ne fonctionne pas du tout avec Chrome, et peut causer quelques problèmes de mise en page dans Firefox\r\nOptions/CodeWrapping: Enroule les lignes trop longues à l'intérieur des blocs de code\r\nSettings: Réglages\r\nSettings/FontFamily: Famille de polices\r\nSettings/CodeFontFamily: Famille de polices pour le code\r\nSettings/EditorFontFamily: Famille de polices pour l'éditeur\r\nSettings/BackgroundImage: Image de fond de page\r\nSettings/BackgroundImageAttachment: Arrimage de l'image de fond de page\r\nSettings/BackgroundImageAttachment/Scroll: Défile avec les tiddlers\r\nSettings/BackgroundImageAttachment/Fixed: Arrimée à la fenêtre\r\nSettings/BackgroundImageSize: Taille de l'image de fond de page\r\nSettings/BackgroundImageSize/Auto: Auto\r\nSettings/BackgroundImageSize/Cover: Élargie\r\nSettings/BackgroundImageSize/Contain: Contenue\r\nMetrics: Tailles\r\nMetrics/FontSize: Taille police\r\nMetrics/LineHeight: Hauteur ligne\r\nMetrics/BodyFontSize: Taille de la police dans le corps des tiddlers\r\nMetrics/BodyLineHeight: Hauteur de ligne dans le corps des tiddlers\r\nMetrics/StoryLeft: Gauche du déroulé\r\nMetrics/StoryLeft/Hint: marge gauche entre le déroulé principal<br>(zone des tiddlers) et le bord gauche de la page\r\nMetrics/StoryTop: Haut du déroulé\r\nMetrics/StoryTop/Hint: marge supérieure entre le déroulé pincipal<br>et le bord supérieur de la page\r\nMetrics/StoryRight: Droite du déroulé\r\nMetrics/StoryRight/Hint: marge de gauche entre la barre latérale<br>et le bord gauche de la page\r\nMetrics/StoryWidth: Largeur du déroulé\r\nMetrics/StoryWidth/Hint: largeur hors tout du déroulé\r\nMetrics/TiddlerWidth: Largeur des tiddlers\r\nMetrics/TiddlerWidth/Hint: largeur des tiddlers dans le déroulé\r\nMetrics/SidebarBreakpoint: Décroché de la barre latérale\r\nMetrics/SidebarBreakpoint/Hint: largeur minimum de la page à partir de laquelle déroulé principal et barre latérale apparaissent côte à côte\r\nMetrics/SidebarWidth: Largeur de la barre latérale\r\nMetrics/SidebarWidth/Hint: largeur de la barre latérale dans l'agencement //déroulé extensible—barre latérale fixe//\r\n"
  },
  {
    "path": "languages/fr-FR/TiddlerInfo.multids",
    "content": "title: $:/language/TiddlerInfo/\n\nAdvanced/Caption: Avancé\nAdvanced/PluginInfo/Empty/Hint: aucune information\nAdvanced/PluginInfo/Heading: Détails sur le plugin\nAdvanced/PluginInfo/Hint: Ce plugin contient les tiddlers <q>shadow</q> suivants :\nAdvanced/ShadowInfo/Heading: Statut <q>shadow</q>\nAdvanced/ShadowInfo/NotShadow/Hint: Le tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> n'est pas un tiddler <q>shadow</q>\nAdvanced/ShadowInfo/Shadow/Hint: Le tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> est un tiddler <q>shadow</q>\nAdvanced/ShadowInfo/Shadow/Source: Il est défini dans le plugin <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>\nAdvanced/ShadowInfo/OverriddenShadow/Hint: Il est modifié par un tiddler normal\nFields/Caption: Champs\nList/Caption: Liste\nList/Empty: Ce tiddler ne contient pas de champ //list//\nListed/Caption: Listé\nListed/Empty: Ce tiddler ne figure dans le champ //list// d'aucun autre tiddler\nReferences/Caption: Pointeurs\nReferences/Empty: Aucun tiddler ne pointe vers celui-ci\nTagging/Caption: Étiquetage\nTagging/Empty: Le titre de ce tiddler ne sert de tag à aucun tiddler\nTools/Caption: Outils\n"
  },
  {
    "path": "languages/fr-FR/Types/application_javascript.tid",
    "content": "title: $:/language/Docs/Types/application/javascript\ndescription: code JavaScript\nname: application/javascript\ngroup: Developer\ngroup-sort: 2\n"
  },
  {
    "path": "languages/fr-FR/Types/application_json.tid",
    "content": "title: $:/language/Docs/Types/application/json\ndescription: données JSON\nname: application/json\ngroup: Developer\ngroup-sort: 2\n"
  },
  {
    "path": "languages/fr-FR/Types/application_x_tiddler_dictionary.tid",
    "content": "title: $:/language/Docs/Types/application/x-tiddler-dictionary\ndescription: Dictionnaire de données\nname: application/x-tiddler-dictionary\ngroup: Developer\ngroup-sort: 2\n"
  },
  {
    "path": "languages/fr-FR/Types/image_gif.tid",
    "content": "title: $:/language/Docs/Types/image/gif\ndescription: image GIF\nname: image/gif\ngroup: Image\ngroup-sort: 1\n"
  },
  {
    "path": "languages/fr-FR/Types/image_jpeg.tid",
    "content": "title: $:/language/Docs/Types/image/jpeg\ndescription: image JPEG\nname: image/jpeg\ngroup: Image\ngroup-sort: 1\n"
  },
  {
    "path": "languages/fr-FR/Types/image_png.tid",
    "content": "title: $:/language/Docs/Types/image/png\ndescription: image PNG\nname: image/png\ngroup: Image\ngroup-sort: 1\n"
  },
  {
    "path": "languages/fr-FR/Types/image_svg_xml.tid",
    "content": "title: $:/language/Docs/Types/image/svg+xml\ndescription: image SVG\nname: image/svg+xml\ngroup: Image\ngroup-sort: 1\n"
  },
  {
    "path": "languages/fr-FR/Types/text_css.tid",
    "content": "title: $:/language/Docs/Types/text/css\ndescription: Feuille de style statique\nname: text/css\ngroup: Developer\ngroup-sort: 2\n"
  },
  {
    "path": "languages/fr-FR/Types/text_html.tid",
    "content": "title: $:/language/Docs/Types/text/html\ndescription: Marquage HTML\nname: text/html\ngroup: Text\ngroup-sort: 0\n"
  },
  {
    "path": "languages/fr-FR/Types/text_plain.tid",
    "content": "title: $:/language/Docs/Types/text/plain\ndescription: Texte simple\nname: text/plain\ngroup: Text\ngroup-sort: 0\n"
  },
  {
    "path": "languages/fr-FR/Types/text_vnd.tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/vnd.tiddlywiki\ndescription: TiddlyWiki 5\nname: text/vnd.tiddlywiki\ngroup: Text\ngroup-sort: 0\n"
  },
  {
    "path": "languages/fr-FR/Types/text_vnd.tiddlywiki_multiple.tid",
    "content": "title: $:/language/Docs/Types/text/vnd.tiddlywiki-multiple\ndescription: Tiddler composé\nname: text/vnd.tiddlywiki-multiple\ngroup: Developer\ngroup-sort: 2\n"
  },
  {
    "path": "languages/fr-FR/plugin.info",
    "content": "{\n\t\"title\": \"$:/languages/fr-FR\",\n\t\"name\": \"fr-FR\",\n\t\"plugin-type\": \"language\",\n\t\"description\": \"Français (France)\",\n\t\"author\": \"xcazin\",\n\t\"core-version\": \">=5.0.0\"\n}"
  },
  {
    "path": "languages/he-IL/Buttons.multids",
    "content": "title: $:/language/Buttons/\n\nAdvancedSearch/Caption: חיפוש מתקדם\nAdvancedSearch/Hint: חיפוש מתקדם\nBold/Caption: הדגש\nBold/Hint: עיצוב טקסט מודגש\nCancel/Caption: בטל\nCancel/Hint: בטל שינויים בטידלר\nClear/Caption: נקה\nClear/Hint: נקה את התמונה לצבע אחיד\nClone/Caption: שכםל\nClone/Hint: שכפל את הטידלר\nClose/Caption: סגור\nClose/Hint: סגור טידלר זה\nCloseAll/Caption: סגור הכל\nCloseAll/Hint: סגור את כל הטידלרים\nCloseOthers/Caption: סגור אחרים\nCloseOthers/Hint: סגור טידלרים אחרים\nControlPanel/Caption: לוח בקרה\nControlPanel/Hint: פתח לוח בקרה\nDelete/Caption: מחק\nDelete/Hint: מחק טידלר זה\nEdit/Caption: ערוך\nEdit/Hint: ערוך טידלר זה\nEditorHeight/Caption: גובה העורך\nEditorHeight/Caption/Auto: התאם גובה לתוכן אוטומטית\nEditorHeight/Caption/Fixed: גובה קבוע\nEditorHeight/Hint: בחר את הגובה של העורך\nEncryption/Caption: הצפנה\nEncryption/ClearPassword/Caption: נקה סיסמה\nEncryption/ClearPassword/Hint: נקה סיסמה ושמור את הויקי ללא הצפנה\nEncryption/Hint: קבע או נקה סיסמה לשמירת ויקי זה\nEncryption/SetPassword/Caption: קבע סיסמה\nEncryption/SetPassword/Hint: קבע סיסמה לשמירת הויקי עם הצפנה\nExcise/Caption: הוצא\nExcise/Caption/Excise: הוצא לטידלר אחר\nExcise/Caption/MacroName: :שם המקרו\nExcise/Caption/NewTitle: שם הטידלר החדש:\nExcise/Caption/Replace: החלך את הטקסט המוצא ב:\nExcise/Caption/Replace/Link: קישור\nExcise/Caption/Replace/Macro: מקרו\nExcise/Caption/Replace/Transclusion: תרגום\nExcise/Caption/Tag: תייג את הטידלר החדש בשם של הטידלר הנוכחי\nExcise/Caption/TiddlerExists: אזהרה: טידלר כבר קיים\nExcise/Hint: הוצא את הטקסט הנבחר לטידלר חדש\nExportPage/Caption: ייצא הכל\nExportPage/Hint: ייצא את כל הטידלרים\nExportTiddler/Caption: יצא טידלר\nExportTiddler/Hint: יצא טידלר\nExportTiddlers/Caption: ייצא טידלרים\nExportTiddlers/Hint: ייצא טידלרים\nFold/Caption: קפל טילדר\nFold/FoldBar/Caption: קפל סרגל\nFold/FoldBar/Hint: סרגלים אופציונליים לקפל ולפתוח טידלרים\nFold/Hint: קפל את גוף הטידלר הזה\nFoldAll/Caption: קפל את כל הטידלרים\nFoldAll/Hint: קפל את הגופים של כל הטידלרים הפתוחים\nFoldOthers/Caption: קפל טידלרים אחרים\nFoldOthers/Hint: קפל את הגופים של כל הטידלרים הפתוחים האחרים\nFullScreen/Caption: מסך מלא\nFullScreen/Hint: היכנס או צא ממסך מלא\nHeading1/Caption: כותרת 1\nHeading1/Hint: יישם עיצוב כותרת ברמה 1 לשורות המכילות את הבחירה\nHeading2/Caption: כותרת 2\nHeading2/Hint: יישם עיצוב כותרת ברמה 2 לשורות המכילות את הבחירה\nHeading3/Caption: כותרת 3\nHeading3/Hint: יישם עיצוב כותרת ברמה 3 לשורות המכילות את הבחירה\nHeading4/Caption: כותרת 4\nHeading4/Hint: יישם עיצוב כותרת ברמה 4 לשורות המכילות את הבחירה\nHeading5/Caption: כותרת 5\nHeading5/Hint: יישם עיצוב כותרת ברמה 5 לשורות המכילות את הבחירה\nHeading6/Caption: כותרת 6\nHeading6/Hint: יישם עיצוב כותרת ברמה 6 לשורות המכילות את הבחירה\nHelp/Caption: עזרה\nHelp/Hint: הראה פנל עזרה\nHideSideBar/Caption: הסתר סרגל צידי\nHideSideBar/Hint: הסתר סרגל צידי\nHome/Caption: בית\nHome/Hint: פתח את טידלרי ברירת המחדל\nImport/Caption: יבא\nImport/Hint: ייבא סוגים רבים של קבצים כולל טקסט, תמונה TIDDLYWIKI ו JSON\nInfo/Caption: מידע\nInfo/Hint: הראה מידע לטידלר זה\nItalic/Caption: נטוי\nItalic/Hint: יישם עצוב טקסט נטוי לבחירה\nLanguage/Caption: שפה\nLanguage/Hint: בחר את שפת ממשק המשתמש\nLineWidth/Caption: רוחב שורה\nLineWidth/Hint: קבע רוחב שורה לציור\nLink/Caption: קישור\nLink/Hint: צור קישור WikiText\nListBullet/Caption: רשימה עם תבליטים\nListBullet/Hint: הוסף תבליטים לשורות שנבחרו\nListNumber/Caption: רשימה ממוספרת\nListNumber/Hint: מספר את השורות שנבחרו\nMonoBlock/Caption: בלוק בריווח אחיד\nMonoBlock/Hint: יישם ריווח אחיד לטקסט שנבחר\nMonoLine/Caption: בריווח אחיד\nMonoLine/Hint: ישם ריווח אחיד לטקסט שנבחרn\nMore/Caption: עוד\nMore/Hint: פעולות נוספות\nNewHere/Caption: חדש כאן\nNewHere/Hint: צור טידלר חדש מתויג בנוכחי\nNewImage/Caption: תמונה חדשה\nNewImage/Hint: צור טילדר תמונה חדש\nNewJournal/Caption: יומן חדש\nNewJournal/Hint: צור טידלר יומן חדש\nNewJournalHere/Caption: יומן חדש כאן\nNewJournalHere/Hint: צור טידלר יומן חדש מתויג בטידלר הנוכחי\nNewMarkdown/Caption: טידלר מרקדאון חדש\nNewMarkdown/Hint: צור טידלר מרקדאון חדש\nNewTiddler/Caption: טידלר חדש\nNewTiddler/Hint: צור טידלר חדש\nOpacity/Caption: שקיפות\nOpacity/Hint: קבע את שקיפות הציור\nOpenWindow/Caption: פתח בחלון חדש\nOpenWindow/Hint: פתח טידלר בחלון חדש\nPaint/Caption: צבע ציור\nPaint/Hint: קבע  את צבע הציור\nPalette/Caption: פלטת צבעים\nPalette/Hint: בחר את פלטת הצבעים\nPermalink/Caption: קישור קבוע\nPermalink/Hint: כוון את הדפדפן לקישור ישיר לטידלר זה\nPermaview/Caption: מבט קבוע\nPermaview/Hint: כוון את הדפדפן לקישור ישיר לכל הטידלרים שבסיפור זה\nPicture/Caption: תמונה\nPicture/Hint: הכנס תמונה\nPreview/Caption: מבט מקדים\nPreview/Hint: הראה את פנל המבט המקדים\nPreviewType/Caption: סוג המבט המקדים\nPreviewType/Hint: בחר סוג מבט מקדים\nQuote/Caption: צטט\nQuote/Hint: עיצוב ציטוט לבחירה\nRefresh/Caption: רענן\nRefresh/Hint: בצע רענון מלא של הויקי הזה\nSave/Caption: אשר\nSave/Hint: אשר שינויים לטידלר זה \nSaveWiki/Caption: שמור שינויים \nSaveWiki/Hint: שמור שינויים\nShowSideBar/Caption: הראה פנל צד\nShowSideBar/Hint: הראה פנל צד\nSize/Caption: גודל תמונה\nSize/Caption/Height: גובה\nSize/Caption/Resize: שנה גודל תמונה\nSize/Caption/Width: רוחב:\nSize/Hint: קבע גודל תמונה\nStamp/Caption: חותמת\nStamp/Caption/New: הוסף את שלך\nStamp/Hint: הכנס קטע טקסט מוכן מראש\nStamp/New/Text: הטקסט להכניס (זכור להוסיף כותרת אינפורמטיבית בשדה הכותרת)\nStamp/New/Title: שם כמופיע בתפריט\nStoryView/Caption: מבט סיפור\nStoryView/Hint: בחר את ויזואליזציית הסיפור\nStrikethrough/Caption: קו מוחק\nStrikethrough/Hint: הוסף קו מחיקה לבחירה\nSubscript/Caption: כתב תחתי\nSubscript/Hint: עצב את הבחירה ככתב תחתי\nSuperscript/Caption: כתב עילי\nSuperscript/Hint: עצב את הבחירה ככתב עילי\nTagManager/Caption: מנהל תגים\nTagManager/Hint: פתח את מנהל התגים\nTheme/Caption: תימה\nTheme/Hint: בחר את התימה להצגה\nUnderline/Caption: קו תחתי\nUnderline/Hint: עצב את הבחירה עם קו תחתי\nUnfold/Caption: הראה טידלר\nUnfold/Hint: הראהאת גוף הטידלר הזה\nUnfoldAll/Caption: הראה את כל הטידלרים\nUnfoldAll/Hint: הראה את הגופים של כל הטידלרים הפתוחים\n"
  },
  {
    "path": "languages/he-IL/ControlPanel.multids",
    "content": "title: $:/language/ControlPanel/\n\nAdvanced/Caption: מתקדם\nAdvanced/Hint: מידע פנימי על הטידליויקי הזה\nAppearance/Caption: תצוגה\nAppearance/Hint: דרכים להתאים את התוגה של הטידלי ויקי שלך\nBasics/AnimDuration/Prompt: זמן אנימציה:\nBasics/Caption: יסודות\nBasics/DefaultTiddlers/Prompt: טידלרי ברירת מחדל:\nBasics/DefaultTiddlers/TopHint: בחר איזה טידלרים יוצגו בהתחלה:\nBasics/Language/Prompt: השפה הנוכחית:\nBasics/NewJournal/Tags/Prompt: תגים לטידלרי יומן חדשים\nBasics/NewJournal/Title/Prompt: כותרת לטידלרי יומן חדשים:\nBasics/OverriddenShadowTiddlers/Prompt: מספר טידלרי צל שנעקפו:\nBasics/ShadowTiddlers/Prompt: מספר טידלרי צל:\nBasics/Subtitle/Prompt: תת כותרת:\nBasics/SystemTiddlers/Prompt: מספר טידלרי מערכת:\nBasics/Tags/Prompt: מספר תגיות:\nBasics/Tiddlers/Prompt: מספר טידלרים:\nBasics/Title/Prompt: הכותרת של הטידליויקי הזה:\nBasics/Username/Prompt: שם משתמש לחתימה על עריכות:\nBasics/Version/Prompt: גרסת טידליויקי:\nEditorTypes/Caption: סוגי עורכים:\nEditorTypes/Editor/Caption: עורך\nEditorTypes/Hint: הטידלרים האלה קובעים איזה עורך ישמש לכל סוג תוכן\nEditorTypes/Type/Caption: סוג\nInfo/Caption: מידע\nInfo/Hint: מידע על הטידליויקי הזה\nKeyboardShortcuts/Add/Caption: הוסף קיצור דרך\nKeyboardShortcuts/Add/Prompt: כתוב את קיצור הדרך כאן:\nKeyboardShortcuts/Caption: קיצורי דרך ללוח המקשים\nKeyboardShortcuts/Hint: קיצורי לוח מקשים\nKeyboardShortcuts/NoShortcuts/Caption: אין קיצורי לוח מקשים\nKeyboardShortcuts/Platform/All: כל הפלטפורמות\nKeyboardShortcuts/Platform/Linux: רק פלטפורמת לינוקס\nKeyboardShortcuts/Platform/Mac: רק פלטפורמת מקינטוש\nKeyboardShortcuts/Platform/NonLinux: רק פלטפורמת לא לינוקס\nKeyboardShortcuts/Platform/NonMac: רק פלטפורמות לא לינוקס\nKeyboardShortcuts/Platform/NonWindows: רק פלטפורמות לא חלונות\nKeyboardShortcuts/Platform/Windows: רק פלטפורמת חלונות\nKeyboardShortcuts/Remove/Hint: הסר מקש קיצור\nLoadedModules/Caption: מודולים טעונים\nLoadedModules/Hint: אלה הם הטידלרים הטעונים כעת, קשורים לטידלרי המקור שלהם. מודןלים בכתב נטוי הם ללא טידלר מקור, בדרך כלל משום שהם נקבעו בעת תהליך הטעינה.\nPalette/Caption: לוח צבעים\nPalette/Editor/Clone/Caption: שכפל\nPalette/Editor/Clone/Prompt: מומלץ שתשכפל את הפלטה הזו לפני שתערוך אותה\nPalette/Editor/Prompt: עריכה\nPalette/Editor/Prompt/Modified: פלטת צל זו שונתה\nPalette/Editor/Reset/Caption: אתחל\nPalette/HideEditor/Caption: הסתר עורך\nPalette/Prompt: פלטה נוכחית:\nPalette/ShowEditor/Caption: הראה עורך\nParsing/Block/Caption: כללי פריסה של הבלוק\nParsing/Caption: פריסה\nParsing/Inline/Caption: כללי פריסה מובנים\nParsing/Pragma/Caption: כללי פריסה פרגמה\nPlugins/Add/Caption: השג עוד פלאגינים\nPlugins/Add/Hint: התקן פלאגינים מהספרייה הרשמית\nPlugins/AlreadyInstalled/Hint: הפלאגין הזה כבר מותקן בגירסה <$text text=<<installedVersion>>/>\nPlugins/Caption: פלאגינים\nPlugins/Disable/Caption: הפסק\nPlugins/Disable/Hint: הפסק פלאגין זה בטעינת עמוד\nPlugins/Disabled/Status: (משותק)\nPlugins/Empty/Hint: אין\nPlugins/Enable/Caption: אפשר\nPlugins/Enable/Hint: אפשר פלאגין זה כשטוענים עמוד מחדש\nPlugins/Install/Caption: התקן\nPlugins/Installed/Hint: הפלאגינים המותקנים כעת:\nPlugins/Languages/Caption: שפות\nPlugins/Languages/Hint: פלאגינים של חבילות שפה\nPlugins/NoInfoFound/Hint:  ''\"<$text text=<<currentTab>>/>\"'' לא נמצא\nPlugins/NotInstalled/Hint: פלאגין זה לא מותקן כעת\nPlugins/OpenPluginLibrary: פתח את ספריית הפלאגין\nPlugins/Plugins/Caption: פלאגינים\nPlugins/Plugins/Hint: פלאגינים\nPlugins/Reinstall/Caption: התקן מחדש\nPlugins/Themes/Caption: תימות \nPlugins/Themes/Hint: פלאגינים של תימות\nSaving/Caption: שמיה\nSaving/Heading: שמירה\nSaving/TiddlySpot/Advanced/Heading: קביעות מתקדמות\nSaving/TiddlySpot/BackupDir: מחיצת גיבוי\nSaving/TiddlySpot/Backups: גיבוי\nSaving/TiddlySpot/Filename: שם קובץ לטעינה\nSaving/TiddlySpot/Password: סיסמה\nSaving/TiddlySpot/ServerURL: כתובת שרת \nSaving/TiddlySpot/UploadDir: מחיצת העלאה\nSaving/TiddlySpot/UserName: שם ויקי\nSettings/AutoSave/Caption: שמירה אוטומטית\nSettings/AutoSave/Disabled/Description: אל שתמור שינויים אוטוטמטית\nSettings/AutoSave/Enabled/Description: שמור שינויים אוטומטית\nSettings/AutoSave/Hint: שמור שינויים אוטומטית בעת עריכה\nSettings/Caption: קביעות\nSettings/DefaultSidebarTab/Caption: לשונית סרגל צד ברירת מחדך\nSettings/DefaultSidebarTab/Hint: קבע איזו לשונית בסרגל הצד מוצגת כברירת מחדל\nSettings/EditorToolbar/Caption: סרגל כלים של העורך\nSettings/EditorToolbar/Description: הראה את סרגל הכלים של העורך\nSettings/EditorToolbar/Hint: הפעל או כבה את סרגל הכלים של העורך\nSettings/Hint: קביעות אלו עוזרות לך לקסטם את התנהגות טידליויקי\nSettings/LinkToBehaviour/Caption: התנהגות הפתיחה של טידלר\nSettings/LinkToBehaviour/InsideRiver/Hint: ניווט מתוך ובתוך נהר הסיפורים\nSettings/LinkToBehaviour/OpenAbove: פתח מעל הטידלר הנוכחי\nSettings/LinkToBehaviour/OpenAtBottom: פתח בתחתית נהר הסיפורים הנוכחי\nSettings/LinkToBehaviour/OpenAtTop: פתח בראש נהר הסיפורים\nSettings/LinkToBehaviour/OpenBelow: פתח מתחת לטידלר הנוכחי\nSettings/LinkToBehaviour/OutsideRiver/Hint: ניווט מחוץ לנהר הסיפורים\nSettings/MissingLinks/Caption: קישורי ויקי\nSettings/MissingLinks/Description: אפשר קישורים לטידלרים חסרים\nSettings/MissingLinks/Hint: בחר האם לקשר לטידלרים שאינם קיימים עדיין\nSettings/NavigationAddressBar/Caption: התנהגות סרגל ניווט הכתובת\nSettings/NavigationAddressBar/Hint: התנהגות סרגל ניווט הכתובת של הדפדפן כשמנווטים לטידלר\nSettings/NavigationAddressBar/No/Description: אל תעדכן את סרגל הכתובת\nSettings/NavigationAddressBar/Permalink/Description: כלול את טידלר המטרה\nSettings/NavigationAddressBar/Permaview/Description: כלול את טידלר המטרה ואת רצף הסיפור הנוכחי\nSettings/NavigationHistory/Caption: הסטורית ניווט\nSettings/NavigationHistory/Hint: עדכן ביטרית גלישה כשמנווטים לטידלר\nSettings/NavigationHistory/No/Description: אל תעדכן היסטוריה\nSettings/NavigationHistory/Yes/Description: עדכן היסטוריה\nSettings/PerformanceInstrumentation/Caption: מעקב לביצועים\nSettings/PerformanceInstrumentation/Description: אפשר מעקב ביצועים\nSettings/TitleLinks/Caption: כותרות טידלרים\nSettings/TitleLinks/Hint: אופציונלית הצג כותרות טידלרים כקישורים\nSettings/TitleLinks/No/Description: אל תראה כותרות טידלרים כקישורים\nSettings/TitleLinks/Yes/Description: הראה כותרות טידלרים כקישורים\nSettings/ToolbarButtons/Caption: כפתורי סרגל כלים\nSettings/ToolbarButtons/Hint: ברירת מחדל של כפתורי סרגל כלים:\nSettings/ToolbarButtons/Icons/Description: כלול צללמית\nSettings/ToolbarButtons/Text/Description: כלול טקסט\nSettings/ToolbarButtonStyle/Caption: סגנון כפתור בסרגל כלים\nSettings/ToolbarButtonStyle/Hint: בחר סגנון לכפתורי סרגל כלים\nSettings/ToolbarButtonStyle/Styles/Borderless: ללא גבול\nSettings/ToolbarButtonStyle/Styles/Boxed: בקופסה\nSettings/ToolbarButtonStyle/Styles/Rounded: מעוגלים\nStoryView/Caption: מבט סיפור\nStoryView/Prompt: מבט נוכחי:\nTheme/Caption: תימה\nTheme/Prompt: תימה נוכחית:\nTiddlerFields/Caption: שדות טידלר\nTiddlerFields/Hint: רשימה המלאה של שדות טידלרים בויקי זה (including system tiddlers but excluding shadow tiddlers).\nToolbars/Caption: סרגלי כלים\nToolbars/EditorToolbar/Caption: סרגל כלים עורך\nToolbars/EditorToolbar/Hint: בחר את הכפתורים שיוצגו בסרגל הכלים של העורך. שים לב שכפתורים מסויימים יוצגו רק עבור סוגים מסויימים של טידלרים\nToolbars/EditToolbar/Caption: סרגל כלים עריכה\nToolbars/EditToolbar/Hint: בחר את הכפתורים שיוצגו לטידלרים במצב עריכה\nToolbars/Hint: בחר איזה כפתורי סרגל כלים יוצגו\nToolbars/PageControls/Caption: סרגל כלים של עמוד\nToolbars/PageControls/Hint: בחר איזה כפתורים יוצגו בסרגל הכלים העיקרי\nToolbars/ViewToolbar/Caption: סרגל כלים של מבטים\nToolbars/ViewToolbar/Hint: בחר איזה כפתורים יוצגו לטידלרים במצב צפייה\nTools/Download/Full/Caption: הורד את הויקי המלא\n"
  },
  {
    "path": "languages/he-IL/CoreReadMe.tid",
    "content": "title: $:/core/readme\n\nהפלאגין הזה כולל רכיבים מרכזיים בטידלי-ויקי הכוללים:\n\n* JavaScript code modules\n* Icons\n* Templates needed to create TiddlyWiki's user interface\n* British English (''en-GB'') translations of the localisable strings used by the core\n"
  },
  {
    "path": "languages/he-IL/Dates.multids",
    "content": "title: $:/language/\n\nDate/DaySuffix/1: \nDate/DaySuffix/10: \nDate/DaySuffix/11: \nDate/DaySuffix/12: \nDate/DaySuffix/13: \nDate/DaySuffix/14: \nDate/DaySuffix/15: \nDate/DaySuffix/16: \nDate/DaySuffix/17: \nDate/DaySuffix/18: \nDate/DaySuffix/19: \nDate/DaySuffix/2: \nDate/DaySuffix/20: \nDate/DaySuffix/21: \nDate/DaySuffix/22: \nDate/DaySuffix/23: \nDate/DaySuffix/24: \nDate/DaySuffix/25: \nDate/DaySuffix/26: \nDate/DaySuffix/27: \nDate/DaySuffix/28: \nDate/DaySuffix/29: \nDate/DaySuffix/3: \nDate/DaySuffix/30: \nDate/DaySuffix/31: \nDate/DaySuffix/4: \nDate/DaySuffix/5: \nDate/DaySuffix/6: \nDate/DaySuffix/7: \nDate/DaySuffix/8: \nDate/DaySuffix/9: \nDate/Long/Day/0: ראשון\nDate/Long/Day/1: שני\nDate/Long/Day/2: שלישי\nDate/Long/Day/3: רביעי\nDate/Long/Day/4: חמישי\nDate/Long/Day/5: שישי\nDate/Long/Day/6: שבת\nDate/Long/Month/1: ינואר\nDate/Long/Month/10: אוקטובר\nDate/Long/Month/11: נובמבר\nDate/Long/Month/12: דצמבר\nDate/Long/Month/2: פברואר\nDate/Long/Month/3: מרץ\nDate/Long/Month/4: אפריל\nDate/Long/Month/5: מאי\nDate/Long/Month/6: יוני\nDate/Long/Month/7: יולי\nDate/Long/Month/8: אוגוסט\nDate/Long/Month/9: ספטמבר\nDate/Period/am: לפנה\"צ\nDate/Period/pm: אחה\"צ\nDate/Short/Day/0: ראש\nDate/Short/Day/1: שני\nDate/Short/Day/2: שלי\nDate/Short/Day/3: רבי\nDate/Short/Day/4: חמי\nDate/Short/Day/5: שיש\nDate/Short/Day/6: שבת\nDate/Short/Month/1: ינו\nDate/Short/Month/10: אוק\nDate/Short/Month/11: נוב\nDate/Short/Month/12: דצמ\nDate/Short/Month/2: פבר\nDate/Short/Month/3: מרץ\nDate/Short/Month/4: אפר\nDate/Short/Month/5: מאי\nDate/Short/Month/6: יון\nDate/Short/Month/7: יול\nDate/Short/Month/8: אוג\nDate/Short/Month/9: ספט\nRelativeDate/Future/Days: <<period>> ימים מעכשיו\nRelativeDate/Future/Hours: <<period>> שעות מעכשיו\nRelativeDate/Future/Minutes: <<period>> דקות מעכשיו\nRelativeDate/Future/Months: <<period>> חודשים מעכשיו\nRelativeDate/Future/Second: 1 שנייה מעכשיו\nRelativeDate/Future/Seconds: <<period>> שניות מעכשיו\nRelativeDate/Future/Years: <<period>> שנים מעכשיו\nRelativeDate/Past/Days: <<period>> ימים קודם\nRelativeDate/Past/Hours: <<period>> שעות קודם\nRelativeDate/Past/Minutes: <<period>> דקות קודם\nRelativeDate/Past/Months: <<period>> חודשים קודם\nRelativeDate/Past/Second: 1 שנייה קודם\nRelativeDate/Past/Seconds: <<period>> שניות קודם\nRelativeDate/Past/Years: <<period>> שנים קודם\n"
  },
  {
    "path": "languages/he-IL/Docs/ModuleTypes.multids",
    "content": "title: $:/language/Docs/ModuleTypes/\n\nanimation: אנימציות שאפשר להתשמש בהן עם RevealWidget.\ncommand: פקודות שאפשר להפעיל תחת Node.js.\nconfig: נתונים להכנסה לתוך `$tw.config`.\nfilteroperator: מתודות אופרטוראי פילטר אינדיבידואליות\nglobal: נתונים גלובלים להכנסה לתוך `$tw`.\nisfilteroperator: אופרנדים עבור ''is'' אופרטור פילטר\nmacro: JavaScript הגדרות מקרו\nparser: פורשים לסוגי תוכן שונים\nsaver: שומרים מטפלים בשיטות שונות לשמירת קובץ מהדפדפן\nstartup: פונקציות אתחול\nstoryview: מבטי סיפור מקסטמים את ההנפשה וההתגנהגות של וידג'טי רשימה\ntiddlerdeserializer: ממירים סוגי תוכן שונים לטידלרים\ntiddlerfield: מגדירים את ההתנהגות של שדות טידלרים אינדיבידואליים.\ntiddlermethod: מוסיף שיטות ל `$tw.Tiddler` אב הטיפוס\nupgrader: מיישם עיבוד שדרוג לטידלרים בזמן ייבוא/שדרוג\nutils: מוסיף שיטות ל `$tw.utils`.\nutils-node: מוסיף Node.js-specific שיטות ל `$tw.utils`.\nwidget: וידג'טים העוטפים DOM התוויה ועדכון\nwikimethod: מוסיף שיטות ל `$tw.Wiki`.\nwikirule: חוקי פרישה אינדיבידואלים עבור WikiText פורש העיקרי\n"
  },
  {
    "path": "languages/he-IL/Docs/PaletteColours.multids",
    "content": "title: $:/language/Docs/PaletteColours/\n\nalert-background: רקע התראה\nalert-border: גבול התראה\nalert-highlight: הדגשת התראה\nalert-muted-foreground: קדומני התראה מושתקת\nbackground: רקע כללי\nblockquote-bar: סרגל ציטוט\nbutton-background: רקע כפתור ברירת מחדל\nbutton-border: גבול כפתור ברירת מחדל\nbutton-foreground: קדומני כפתור ברירת מחדל\ncode-background: רקע קוד\ncode-border: גבול קוד\ncode-foreground: קדומני קוד\ndirty-indicator: מסמן שינויים לא שמורים\ndownload-background: רקע כפתור הורדה\ndownload-foreground: קדומני כפתור הורדה\ndragger-background: רקע גורר\ndragger-foreground: קדומני גורר\ndropdown-background: רקע גלילה למטה\ndropdown-border: גבול גלילה למטה\ndropdown-tab-background: רקע לשונית גלילה למטה\ndropdown-tab-background-selected: רקע לשונית גלילה למטה ללשוניות בחורות\ndropzone-background: רקע אזור עזיבה\nexternal-link-background: רקע קישור חיצוני\nexternal-link-background-hover: רקע בריחוף מעל קישור חיצוני\nexternal-link-background-visited:  רקע קישור חיצוני שבוקר\nexternal-link-foreground: קדומני קישור חיצוני\nexternal-link-foreground-hover: קדומני בריחוף מעל קישור חיצוני\nexternal-link-foreground-visited: קדומני בקישור חיצוני שבוקר\nforeground: קדומני כללי\nmessage-background: רקע תיבת הודעה\nmessage-border: גבול תיבת הודעה\nmessage-foreground: קדומני תיבת הודעה\nmodal-backdrop: \"ווילוון\" מודאלי\nmodal-background: רקע מודאלי\nmodal-border: גבול מודאלי\nmodal-footer-background: רקע לכותרת תחתית מודאלית\nmodal-footer-border: גבול כותרת תחתית מודאלית\nmodal-header-border: גבול כותרת עילית מודאלית\nmuted-foreground: קדומני מושתק כללי\nnotification-background: רקע הודעות\nnotification-border: גובל הודעות\npage-background: רקע עמוד\npre-background: רקע קוד מעוצב מראש\npre-border: גבול קוד מעוצב מראש\nprimary: ראשוני כללי \nsidebar-button-foreground: קדומני כפתור סרגל צד\nsidebar-controls-foreground: קדומני לבקרות סרגל צד\nsidebar-controls-foreground-hover:  ריחוף מעל קדומני לבקרות סרגל צד  \nsidebar-foreground: קדומני סרגל צד\nsidebar-foreground-shadow:  צל קדומני סרגל צד\nsidebar-muted-foreground: קדומני מושתק סרגל צד\nsidebar-muted-foreground-hover:  ריחוף מעל קדומני מושתק סרגל צד\nsidebar-tab-background: רקע לשונית סרגל צד\nsidebar-tab-background-selected: רקע לשונית סרגל צד ללשוניות בחורות\nsidebar-tab-border: גבול לשונית סרגל צד\nsidebar-tab-border-selected: גבול לשונית סרגל צד ללשוניות בחורות\nsidebar-tab-divider: מפריד לשונית סרגל צד\nsidebar-tab-foreground: קדומני לשונית סרגל צד\nsidebar-tab-foreground-selected: קדומני לשונית סרגל צד ללשוניות בחורות  \nsidebar-tiddler-link-foreground: קדומני לקישור טידלרים בסרגל צד\nsidebar-tiddler-link-foreground-hover:  קדומני לריחוף מעל לקישור טידלרים בסרגל צד\nsite-title-foreground: קדומני לכותרת האתר\nstatic-alert-foreground: קדומני לאתראה סטטית \ntab-background: רקע ללשונית\ntab-background-selected: רקע ללשונית ללשוניות בחורות \ntab-border: גבול לשונית\ntab-border-selected: גבול לשונית ללשוניות בחורות\ntab-divider: מפריד לשוניות \ntab-foreground: קדומני ללשונית\ntab-foreground-selected: קדומני ללשונית ללשוניות בחורות \ntable-border: גבול טבלה\ntable-footer-background: רקע לכותרת תחתית לטבלה\ntable-header-background: רקע לכותרת עילית לטבלה\ntag-background: רקע לתגית \ntag-foreground: קדומני לתגית\ntiddler-background: רקע לטידלר\ntiddler-border: גבול לטידלר\ntiddler-controls-foreground: קדומני לבקרות טידלר\ntiddler-controls-foreground-hover: קדומני ךריחוף מעל לבקרות טידלר\ntiddler-controls-foreground-selected: קדומני לבקרות טידלר לטידלרים נבחרים\ntiddler-editor-background: רקע לעורך טידלרים\ntiddler-editor-border: גבול לעורך טידלרים\ntiddler-editor-border-image: תמונת גבול עורך טידלרים\ntiddler-editor-fields-even: רקע עורך טידלרים שדות זוגיים\ntiddler-editor-fields-odd: רקע עורך טידלרים שדות אי זוגיים\ntiddler-info-background: רקע ללוח מידע טידלר\ntiddler-info-border: גבול ללוח מידע טידלר\ntiddler-info-tab-background: גבול ללשונית לוח מידע טידלר\ntiddler-link-background: רקע קישור טידלר\ntiddler-link-foreground: קדומני קישור טידלר\ntiddler-subtitle-foreground: רקע לתת-כותרת טידלר\ntiddler-title-foreground: קודמני לכותרת טידלר\ntoolbar-cancel-button: קדומני לכפתור בטל בסרגל\ntoolbar-close-button: קדומני לכפתור סגורבסרגל\ntoolbar-delete-button: קדומני לכפתור מחקבסרגל\ntoolbar-done-button: קדומני לכפתור עשוי בסרגל\ntoolbar-edit-button: קדומני לכפתור ערוך בסרגל\ntoolbar-info-button: קדומני לכפתור מידע בסרגל\ntoolbar-new-button: קדומני לכפתור טידלר חדש בסרגל\ntoolbar-options-button: קדומני לכפתור אפשרויות בסרגל\ntoolbar-save-button: קדומני לכפתור שמור בסרגל\nuntagged-background: רקע לגלולה לא מסומנת\nvery-muted-foreground: קדומני מאוד מושתק\n"
  },
  {
    "path": "languages/he-IL/EditTemplate.multids",
    "content": "title: $:/language/EditTemplate/\n\nBody/External/Hint: זהו טידלר חיצוני המוחסן מחוץ לקובץ העיקרי של הטידליויקי. אתה יכול לערוך את התגים והשדות אבל לא ישירות את התוכן עצמו.\nBody/Placeholder: הקש את הטקסט לטידלר הזה\nBody/Preview/Type/Output: פלט\nField/Remove/Caption: הסר שדה\nField/Remove/Hint: הסר שדה\nFields/Add/Button: הוסף\nFields/Add/Dropdown/System: שדות מערכת\nFields/Add/Dropdown/User: שדות משתמש\nFields/Add/Name/Placeholder: שם שדה\nFields/Add/Prompt: הוסף שדה חדש:\nFields/Add/Value/Placeholder: ערך השדה\nShadow/OverriddenWarning: זהו טידלר צל ששונה. אתה יכול לחזור לגרסה המקורית שבפלאגין<<pluginLink>> על ידי מחיקת הטידלר הזה\nShadow/Warning: זהו טידלר צל. כל שינוי יחליף למעשה את הגריסה המקורית מהפלאגין <<pluginLink>>\nTags/Add/Button: הוסף\nTags/Add/Placeholder: שם התג\nTags/Dropdown/Caption: רשימת תגים\nTags/Dropdown/Hint: הראה רשימת תגים\nTitle/BadCharacterWarning: אזהרה: הימנע משימוש בסימנים <<bad-chars>> בשמות טידלרים\nType/Delete/Caption: מחק סוג תוכן\nType/Delete/Hint: מחק סוג תוכן\nType/Dropdown/Caption: רשימת סוגי תוכן\nType/Dropdown/Hint: הראה רשימת סוגי תוכן\nType/Placeholder: סוג תוכן\nType/Prompt: סוג:\n"
  },
  {
    "path": "languages/he-IL/Exporters.multids",
    "content": "title: $:/language/Exporters/\n\nCsvFile: CSV קובץ\nJsonFile: JSON קובץ\nStaticRiver: סטטי HTML\nTidFile: \".tid\" קובץ\n"
  },
  {
    "path": "languages/he-IL/Fields.multids",
    "content": "title: $:/language/Docs/Fields/\n\n_canonical_uri: ה URL השלם של טידלר תמונה חיצונית\nbag: שם השק ממנו בא הטידלר\ncaption: הטקסט להצגה על צ=לשונית או כפתור\ncolor: ערך הצבע של CSS המקושר לטידלר זה\ncomponent: שם הרכיב האחראי ל [[alert tiddler|AlertMechanism]]\ncreated: התאריך בו נוצר הטידלר\ncreator: שם האדם שיצר את הטידלר\ncurrent-tiddler: משמש לאגירת הטידלר העליון ב [[history list|HistoryMechanism]]\ndependents: עבור פלאגין רושם את שמות הפלאגינים התלויים בו\ndescription: התיאור של פלאגין או דיאלוג מודאלי\ndraft.of: עבור טידלרי טיוטה, מכיל את כותרת הטידלר שעבורו הוא טיוטה\ndraft.title: עבור טידלרי טיוטה, מכיל את הכותרת החדשה לטידלר המוצע\nfooter: כותרת תחתונה לוויזארד\nicon: שם הטידלר המכיל את הצלמית המקושרת לטידלר\nlibrary: אם \"yes\" מציין שהטידלר צריך להישמר כספריית ג'אווהסקריפט\nlist: רשימה סדורה של שמות טידלרים המקושרים לטידלר\nlist-after: אם מכיל ערך, הכותרת של הטידלר שאחריו הטידלר הזה צריך להיות מוסף לרשימה הסדורה של כותרות טידלרים\nlist-before:  אם מכיל ערך, הכותרת של הטידלר שלפניו הטידלר הזה צריך להיות מוסף לרשימה הסדורה של כותרות טידלרים או בתחילת הרשימה אם השדה נמצא אך ריק\nmodified: התאריך והזמן בהם טידלר זה שונה לאחרונה\nmodifier: שם הטידלר המזוהה עם האדם ששינה טידלר זה לאחרונה\nname: השם הקריא המקושר עם טידלר פלאגין\nplugin-priority: ערך מספרי המציין את העדיפות של טידלר פלאגין\nplugin-type: סוג הלאגין בטידלר פלאגין\nreleased: תאריך הגירסה של טידליויקי\nrevision: גרסת הטידלר המוחזקת בשרת\nsource: URL המקור המקושר לטידלר זה\nsubtitle: תת הכותרת של הוויזארד\ntags: רשימת תגים המקושרץ לטידלר\ntext: הטקסט העיקרי של הטידלר\ntitle: השם הייחודי של הטידלר\ntype: סוג התוכן של הטידלר\nversion: מידע גירסה לפלאגין\n"
  },
  {
    "path": "languages/he-IL/Filters.multids",
    "content": "title: $:/language/Filters/\n\nAllTags: כל התגים חוץ מתגי מערכת\nAllTiddlers: כל הטידלרים חוץ מטידלרי מערכת\nDrafts: טידלרי טיוטה\nMissing: טידלרים חסרים\nOrphans: טידלרים יתומים\nOverriddenShadowTiddlers: טידלרי צל שכוסו\nRecentSystemTiddlers: טידלרים ששונו לארונה, כולל מערכת\nRecentTiddlers: טידלרים ששונו לאחרונה\nShadowTiddlers: טידלרי צל\nSystemTags: תגיות מערכת\nSystemTiddlers: טידלרי מערכת\nTypedTiddlers: טידלרים שאינם בויקי-טקסט\n"
  },
  {
    "path": "languages/he-IL/GettingStarted.tid",
    "content": "title: GettingStarted\n\n\\define lingo-base() $:/language/ControlPanel/Basics/\n~TiddlyWiki ולקהילת ~TiddlyWiki ברוך הבא ל \n\nלפני שאתה מתחיל לאגור מידע חשוב ~TiddlyWiki חשוב לוודא שאתה יכול לשומרם באופן אמין. ראה https://tiddlywiki.com/#GettingStarted לפרטים\n\n!! אתחל ~TiddlyWiki\n\n<div class=\"tc-control-panel\">\n\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\nראה [[control panel|$:/ControlPanel]] לאופציות נוספות.\n"
  },
  {
    "path": "languages/he-IL/Import.multids",
    "content": "title: $:/language/Import/\n\nImported/Hint: הטידלרים הבאים ייובאו:\nListing/Cancel/Caption: בטל\nListing/Hint: טידלרים אלה מוכנים לייבוא:\nListing/Import/Caption: יבא\nListing/Select/Caption: בחר\nListing/Status/Caption: סטטוס\nListing/Title/Caption: כותרת\nUpgrader/Plugins/Suppressed/Incompatible: פלאגין חסום, לא תואם או פג-תוקף\nUpgrader/Plugins/Suppressed/Version: פלאגין חסום (בגלל <<incoming>>   ישן יותר מאשר  <<existing>>)\nUpgrader/Plugins/Upgraded: עודכן פלאגין מ <<incoming>> ל <<upgraded>>\nUpgrader/State/Suppressed: טידלר במצב זמני נחסם\nUpgrader/System/Suppressed: טידלר מערכת חסום\nUpgrader/ThemeTweaks/Created: יובא שינוי תימה <$text text=<<from>>/>\n"
  },
  {
    "path": "languages/he-IL/Misc.multids",
    "content": "title: $:/language/\n\nBinaryWarning/Prompt: הטידלר הזה כולל נתונים בינאריים\nClassicWarning/Upgrade/Caption: שדרג\nCloseAll/Button: סגור הכל\nColourPicker/Recent: אחרונים:\nConfirmCancelTiddler: האם אתה רוצה לוותר על השינויים בטידלר \"<$text text=<<title>>/>\"?\nConfirmDeleteTiddler: האם אתה רוצה למחוק את הטידלר \"<$text text=<<title>>/>\"?\nConfirmOverwriteTiddler: האם אתה רוצה להחליף את הטידלר \"<$text text=<<title>>/>\"?\nCount: מספר\nDefaultNewTiddlerTitle: טידלר חדש:\nDropMessage: שמוט כאן (או השתמש ב ESCAPE לבטל)\nEncryption/Cancel: בטל\nEncryption/ConfirmClearPassword: האם אתה רוצה לנקות את הסיסמה? זה יבטל את ההצפנה של הטידלי-ויקי הזה\nEncryption/Password: סיסמה\nEncryption/PasswordNoMatch: סיסמאות לא מתאימות\nEncryption/PromptSetPassword: קבע סיסמה חדשה לטידליויקי זה\nEncryption/RepeatPassword: סיסמה שוב\nEncryption/SetPassword: קבע סיסמה\nEncryption/Username: שם משתמש\nError/Caption: שגיאה\nError/Filter: שגיאת פילטר\nError/FilterSyntax: שגיאת תחביר בביטוי פילטר\nError/IsFilterOperator: שגיאת פילטר: אופרנד לא ידוע לאופרטור 'is' \nError/LoadingPluginLibrary: שגיאה בטעינת ספריית פלאגין\nError/RecursiveTransclusion: שגיאת טרנסקלוזיה רקורסיבית בוידג'ט הטרנסקלוזיה\nError/RetrievingSkinny: שגיאה באחזור רשימת טידלרים סקיניים\nError/SavingToTWEdit: שגיאה בשמירה TWEdit\nError/WhileSaving: שגיאה בשמירה\nError/XMLHttpRequest: XMLHttpRequest קוד שגיאה\nInternalJavaScriptError/Hint: מביך, אך מומלץ שתאתחל מחדש על ידי רפרוש הדפדפן\nLoginToTiddlySpace: היכנס ל TiddlySpace\nMissingTiddler/Hint: טידלר חסר \"<$text text=<<currentTiddler>>/>\" -לחץ {{||$:/core/ui/Buttons/edit}} כדי ליצור\nNo: לא\nOfficialPluginLibrary: רשמית~TiddlyWiki ספריית פלאגינים\nPluginReloadWarning: נא שמור {{$:/core/ui/Buttons/save-wiki}} וטען מחדש {{$:/core/ui/Buttons/refresh}} כדי לאפשר לשינויי הפלאגינים להיכנס לתוקף\nSystemTiddler/Tooltip: זהו טידלר מערכת\nTagManager/Colour/Heading: צבע\nTagManager/Count/Heading: מספר\nTagManager/Icon/Heading: צלמית\nTagManager/Info/Heading: מידע\nTagManager/Tag/Heading: תג\nUnsavedChangesWarning: יש לך שינויים לא שמורים בטידלי-ויקי\nYes: כן\n"
  },
  {
    "path": "languages/he-IL/NewJournal.multids",
    "content": "title: $:/config/NewJournal/\n\nTags: יומן\n"
  },
  {
    "path": "languages/he-IL/Notifications.multids",
    "content": "title: $:/language/Notifications/\n\nSave/Done: ויקי נשמר\nSave/Starting: מתחיל לשמור ויקי\n"
  },
  {
    "path": "languages/he-IL/Search.multids",
    "content": "title: $:/language/Search/\n\nDefaultResults/Caption: רשימה\nFilter/Caption: פילטר\nFilter/Hint: חפש דרך [[filter expression|https://tiddlywiki.com/static/Filters.html]]\nMatches/All: כל ההתאמות:\nMatches/Title: התאמות שם:\nSearch: חפש\nShadows/Caption: צללים\nShadows/Hint: חפש טידלרי צללים\nStandard/Caption: רגיל\nStandard/Hint: חפש טידלרים רגילים\nSystem/Caption: מערכת\nSystem/Hint: חפש טידלרי מערכת\n"
  },
  {
    "path": "languages/he-IL/SideBar.multids",
    "content": "title: $:/language/SideBar/\n\nAll/Caption: הכל\nContents/Caption: תוכן\nDrafts/Caption: טיוטות\nMissing/Caption: חסרים\nMore/Caption: עוד\nOpen/Caption: פתוחים\nOrphans/Caption: יתומים\nRecent/Caption: אחרונים\nShadows/Caption: צללים\nSystem/Caption: מערכת\nTags/Caption: תגים\nTags/Untagged/Caption: לא מתויגים\nTools/Caption: כלים \nTypes/Caption: סוגים\n"
  },
  {
    "path": "languages/he-IL/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\nיומן רשת אישי לא-לינארי"
  },
  {
    "path": "languages/he-IL/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\nה ~TiddlyWiki שלי"
  },
  {
    "path": "languages/he-IL/Snippets/ListByTag.tid",
    "content": "title: $:/language/Snippets/ListByTag\ntags: $:/tags/TextEditor/Snippet\ncaption: רשימת טידלרים לפי תג\n\n<<list-links \"[tag[task]sort[title]]\">>\n"
  },
  {
    "path": "languages/he-IL/Snippets/MacroDefinition.tid",
    "content": "title: $:/language/Snippets/MacroDefinition\ntags: $:/tags/TextEditor/Snippet\ncaption: הגדרות מקרו\n\n\\define macroName(param1:\"default value\",param2)\nText of the macro\n\\end\n"
  },
  {
    "path": "languages/he-IL/Snippets/Table4x3.tid",
    "content": "title: $:/language/Snippets/Table4x3\ntags: $:/tags/TextEditor/Snippet\ncaption: טבלה בת 4 עמודות ו 3 שורות\n\n|! |!Alpha |!Beta |!Gamma |!Delta |\n|!One | | | | |\n|!Two | | | | |\n|!Three | | | | |\n"
  },
  {
    "path": "languages/he-IL/Snippets/TableOfContents.tid",
    "content": "title: $:/language/Snippets/TableOfContents\ntags: $:/tags/TextEditor/Snippet\ncaption: תוכן העניינים\n\n<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'TableOfContents'>>\n\n</div>"
  },
  {
    "path": "languages/he-IL/ThemeTweaks.multids",
    "content": "title: $:/language/ThemeTweaks/\n\nMetrics: גדלים\nMetrics/BodyFontSize: גודל גופן לגוף הטידלר\nMetrics/BodyLineHeight: גובה שורה לגוף הטידלר\nMetrics/FontSize: גודל גופן\nMetrics/LineHeight: גובה שורה\nMetrics/SidebarBreakpoint: נקודת השבירה של סרגל הצד\nMetrics/SidebarBreakpoint/Hint: רוחב דף מינימלי בו הסיפור וסרגל הצד יופיעו צד לצד\nMetrics/SidebarWidth: רוחב סרגל צד\nMetrics/SidebarWidth/Hint: רוחב סרגל צד במתווה סורם-קבוע\nMetrics/StoryLeft: מיקום שמאל הסיפור\nMetrics/StoryLeft/Hint: כמה רחוק שול שמאל של הטידלרים משול שמאל של העמוד\nMetrics/StoryRight: ימין הסיפור\nMetrics/StoryRight/Hint: כמה רחוק שול שמאל של סרגל הצד משול שמאל של העמוד\nMetrics/StoryTop: המיקום העליון של הסיפור\nMetrics/StoryTop/Hint: מרחק ראש הסיפור מראש הדף\nMetrics/StoryWidth: רוחב הסיפור\nMetrics/StoryWidth/Hint: הרוחב הכולל של נהר הסיפורים\nMetrics/TiddlerWidth: רוחב הטידלר\nMetrics/TiddlerWidth/Hint: בתוך נהר הסיפורים\nOptions: אפשרויות\nOptions/CodeWrapping: קפל שורות ארוכות בבלוקי קוד\nOptions/SidebarLayout: מתווה סרגל צד\nOptions/SidebarLayout/Fixed-Fluid: סיפור קבוע לוח צד גמיש\nOptions/SidebarLayout/Fluid-Fixed: סיפור גמיש לוח צד קבוע\nOptions/StickyTitles: כותרות דביקות\nOptions/StickyTitles/Hint: גורם לכותרות טידלרים להידבק לראש חלון הדפדפן. לא עובד כלל בכרום וגורם בעיות מתווה בפירפוקס\nSettings: קביעות\nSettings/BackgroundImage: תמונת רקע של עמוד\nSettings/BackgroundImageAttachment: תמונת רקע עמוד מוצמדת\nSettings/BackgroundImageAttachment/Fixed: קבוע לחלון\nSettings/BackgroundImageAttachment/Scroll: גלגל עם טידלרים\nSettings/BackgroundImageSize: גודל תמונת רקע עמוד\nSettings/BackgroundImageSize/Auto: אוטומטי\nSettings/BackgroundImageSize/Contain: מכיל\nSettings/BackgroundImageSize/Cover: כיסוי\nSettings/CodeFontFamily: משפחת גופני קוד\nSettings/FontFamily: משפחת גופנים\nThemeTweaks: התאמות תימה\nThemeTweaks/Hint: אתה יכול להתאים היבטים מסויימים של תימת הווניל\n"
  },
  {
    "path": "languages/he-IL/TiddlerInfo.multids",
    "content": "title: $:/language/TiddlerInfo/\n\nAdvanced/Caption: מתקדם\nAdvanced/PluginInfo/Empty/Hint: ללא\nAdvanced/PluginInfo/Heading: פרטי פלאגין\nAdvanced/PluginInfo/Hint: פלאגין זה כולל את טידלרי הצל הבאים:\nAdvanced/ShadowInfo/Heading: מצב צל\nAdvanced/ShadowInfo/NotShadow/Hint: הטידלר <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> אינו טידלר צל\nAdvanced/ShadowInfo/OverriddenShadow/Hint: הוא ממוסך על ידי טידלר אחר\nAdvanced/ShadowInfo/Shadow/Hint: הטידלר <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> הוא טילדר צל\nAdvanced/ShadowInfo/Shadow/Source: הוא מוגדר בפלאגין <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>\nFields/Caption: שדות\nList/Caption: רשימה\nList/Empty: לטידלר זה אין רשימה\nListed/Caption: רשום\nListed/Empty: הטידלר אינו רשום על ידי אחרים\nReferences/Caption: התייחסויות\nReferences/Empty: אין טידלרים המקושרים לזה\nTagging/Caption: תיוג\nTagging/Empty: אין טידלרים המתויגים על ידי זה\nTools/Caption: כלים\n"
  },
  {
    "path": "languages/he-IL/Types/application%2Fjavascript.tid",
    "content": "title: $:/language/Docs/Types/application/javascript\ndescription: JavaScript קוד\nname: application/javascript\ngroup: מפתח\n"
  },
  {
    "path": "languages/he-IL/Types/application%2Fjson.tid",
    "content": "title: $:/language/Docs/Types/application/json\ndescription: JSON נתוני\nname: application/json\ngroup: מפתח\n"
  },
  {
    "path": "languages/he-IL/Types/application%2Fx-tiddler-dictionary.tid",
    "content": "title: $:/language/Docs/Types/application/x-tiddler-dictionary\ndescription: מילון נתונים\nname: application/x-tiddler-dictionary\ngroup: מפתח\n"
  },
  {
    "path": "languages/he-IL/Types/image%2Fgif.tid",
    "content": "title: $:/language/Docs/Types/image/gif\ndescription: GIF תמונת \nname: image/gif\ngroup: תמונה\n"
  },
  {
    "path": "languages/he-IL/Types/image%2Fjpeg.tid",
    "content": "title: $:/language/Docs/Types/image/jpeg\ndescription: JPEG תמונת\nname: image/jpeg\ngroup: תמונה\n"
  },
  {
    "path": "languages/he-IL/Types/image%2Fpng.tid",
    "content": "title: $:/language/Docs/Types/image/png\ndescription: PNG תמונת\nname: image/png\ngroup: תמונה\n"
  },
  {
    "path": "languages/he-IL/Types/image%2Fsvg%2Bxml.tid",
    "content": "title: $:/language/Docs/Types/image/svg+xml\ndescription: Structured Vector Graphics תמונת\nname: image/svg+xml\ngroup: תמונה\n"
  },
  {
    "path": "languages/he-IL/Types/text%2Fcss.tid",
    "content": "title: $:/language/Docs/Types/text/css\ndescription: גליון עיצוב סטטי\nname: text/css\ngroup: מפתח\n"
  },
  {
    "path": "languages/he-IL/Types/text%2Fhtml.tid",
    "content": "title: $:/language/Docs/Types/text/html\ndescription: HTML טקסט\nname: text/html\ngroup: טקסט\n"
  },
  {
    "path": "languages/he-IL/Types/text%2Fplain.tid",
    "content": "title: $:/language/Docs/Types/text/plain\ndescription: טקסט רגיל\nname: text/plain\ngroup: טקסט\n"
  },
  {
    "path": "languages/he-IL/Types/text%2Fvnd.tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/vnd.tiddlywiki\ndescription: TiddlyWiki 5\nname: text/vnd.tiddlywiki\ngroup: טקסט\n"
  },
  {
    "path": "languages/he-IL/plugin.info",
    "content": "{\n\t\"title\": \"$:/languages/he-IL\",\n\t\"name\": \"he-IL\",\n\t\"plugin-type\": \"language\",\n\t\"description\": \"עברית (ישראל)\",\n\t\"author\": \"DoronTzur\",\n\t\"core-version\": \">=5.0.0\",\n\t\"text-direction\": \"rtl\"\n}"
  },
  {
    "path": "languages/hi-IN/Buttons.multids",
    "content": "title: $:/language/Buttons/\n\nAdvancedSearch/Caption: विकसित खोज\nAdvancedSearch/Hint: विकसित खोज\nCancel/Caption: वापस लेना\nCancel/Hint: इस tiddler मे एडिटिंग केन्स्ल करें \nClone/Caption: क्लोन\nClone/Hint: इस tiddler को कॉपी करें \nClose/Caption: बंद\nClose/Hint: इस tiddler को बंद करें \nCloseAll/Caption: सब बंद करें \nCloseAll/Hint: सभी tiddlers बंद करें\nCloseOthers/Caption: अन्य बंद करें  \nCloseOthers/Hint: अन्य टिड्लर्स बंद करे\nControlPanel/Caption: कंट्रोल पैनल\nControlPanel/Hint: कंट्रोल पैनल खोलेँ\nDelete/Caption: हटाएं\nDelete/Hint: इस tiddler को हटाएं\nEdit/Caption: एडिट\nEdit/Hint: इस tiddler को एडिट करे\nEncryption/Caption: एन्क्रिप्शन\nEncryption/ClearPassword/Caption: पासवर्ड ह्टायें\nEncryption/ClearPassword/Hint: पासवर्ड हटाएं और इस विकि को बिना encryption के सेव करें\nEncryption/Hint: इस विकि को सेव करने के लिए पासवर्ड ठीक करें या हटाएं\nEncryption/SetPassword/Caption: पासवर्ड स्थिर करें\nEncryption/SetPassword/Hint: इस विकी को encryption के साथ सेव करने के लिये पासवर्ड सेट करें\nExportPage/Caption: सभी को बाहर करें\nExportPage/Hint: सभी टिड्लर्स का निर्यात\nExportTiddler/Caption: टिड्लर्स का निर्यात\nExportTiddler/Hint: टिड्लर्स का निर्यात\nExportTiddlers/Caption: टिड्लर्स का निर्यात\nExportTiddlers/Hint: टिड्लर्स का निर्यात\nFullScreen/Caption: पूर्ण स्क्रीन\nFullScreen/Hint: पूर्ण स्क्रीन मोड दर्ज करें या छोडें \nHideSideBar/Caption: साइडबार को छिपाएं\nHideSideBar/Hint: साइडबार को छिपाएं\nHome/Caption: होम\nHome/Hint: डिफ़ॉल्ट tiddlers खोलें\nImport/Caption: लायें\nImport/Hint: फ़ाइल लायें\nInfo/Caption: इन्फो\nInfo/Hint: इस tiddler के लिए जानकारी दिखाएँ\nLanguage/Caption: भाषा\nLanguage/Hint: यूजर इंटरफेस भाषा चुनें\nMore/Caption: अतिरिक्त\nMore/Hint: अतिरिक्त क्रियाएं\nNewHere/Caption: यहाँ पर नए\nNewHere/Hint: इस के साथ टैग करके एक नया tiddler बनाएं\nNewJournal/Caption: नया जर्नल\nNewJournal/Hint: एक नया जर्नल tiddler बनाएं\nNewJournalHere/Caption: नया जर्नल यहाँ\nNewJournalHere/Hint: इस के साथ टैग करके एक नया जर्नल tiddler बनाएं\nNewTiddler/Caption: नया tiddler\nNewTiddler/Hint: एक नया tiddler बनाएं\nPermalink/Caption: पर्मालिंक\nPermalink/Hint: ब्राउज़र अड्रेस बार को tiddler से लिंक कीजिये\nPermaview/Caption: परमाव्यू\nPermaview/Hint: इस कहानी में ब्राउज़र अड्रेस बार को सारे tiddler से लिंक कीजिये\nRefresh/Caption: रीफ्रेश\nRefresh/Hint: पूरे wiki को रीफ्रेश कीजिये\nSave/Caption: सेव\nSave/Hint: इस tiddler को सेव कीजिये \nSaveWiki/Caption: परिवर्तनों को सेव कीजिये\nSaveWiki/Hint: परिवर्तनों को सेव कीजिये\nShowSideBar/Caption: sidebar को दिखाएं\nShowSideBar/Hint: sidebar को दिखाएं\nStoryView/Caption: स्टोरी देखें\nStoryView/Hint: कहानी दृश्य चुनें\nTagManager/Caption: टैग मॅनेजर\nTagManager/Hint: टैग मॅनेजर को खोलें\nTheme/Caption: विषय\nTheme/Hint: प्रदर्शन विषय चुनें\n"
  },
  {
    "path": "languages/hi-IN/ControlPanel.multids",
    "content": "title: $:/language/ControlPanel/\n\nAdvanced/Caption: आगे बढ़ा हुआ\nAdvanced/Hint: इस tiddler wiki के बारे में आंतरिक जानकारी\nAppearance/Caption: दिखावट\n\t\n\nAppearance/Hint:  आपके टिड्लीविकि को अनुकूलित रूप से दिखने के तरीके\nBasics/AnimDuration/Prompt: एनीमेशन अवधि:\nBasics/Caption: पहला\nBasics/DefaultTiddlers/BottomHint:  प्रयोग करें&#91;&#91;डबल वर्ग ब्रैकेट्स&#93;&#93;रिक्त स्थान के साथ शीर्षक के लिए। या फिर आप चुन सकते हैं{{retain story ordering||$:/snippets/retain-story-ordering-button}}\nBasics/DefaultTiddlers/Prompt: डिफ़ॉल्ट tiddlers:\nBasics/DefaultTiddlers/TopHint: कौन सा tiddler शुरुआत मे दिखाना है \nBasics/Language/Prompt: हैलो! वर्तमान भाषा:\nBasics/NewJournal/Tags/Prompt: नये जर्नल tiddlers के लिए टैग\nBasics/NewJournal/Title/Prompt: नये जर्नल tiddlers का शीर्षक\nBasics/OverriddenShadowTiddlers/Prompt: रद्द की गयी tiddlers की संख्या:\nBasics/ShadowTiddlers/Prompt: छाया tiddlers की संख्या:\nBasics/Subtitle/Prompt: उपशीर्षक:\nBasics/SystemTiddlers/Prompt: सिस्टम tiddlers की संख्या:\nBasics/Tags/Prompt: टैग की संख्या:\nBasics/Tiddlers/Prompt: Tiddlers की संख्या:\nBasics/Title/Prompt: इस ~ टिड्लीविकि का शीर्षक:\nBasics/Username/Prompt: साइग्निंग एडिट्स करने के लिए उपयोगकर्ता नाम\nBasics/Version/Prompt:  tiddler wiki का अनुवादित रूप\nEditorTypes/Caption: संपादक प्रकार\nEditorTypes/Editor/Caption: संपादक\nEditorTypes/Hint: ये tiddlers विशिष्ट tiddler प्रकार संपादित करने के लिए प्रयोग किया जाता है, जो संपादक निर्धारित करते हैं।\nEditorTypes/Type/Caption: प्रकार\nInfo/Caption: जानकारी\nInfo/Hint: इस टिड्लीविकि के बारे में जानकारी\nLoadedModules/Caption: भरे हुये Modules\nLoadedModules/Hint: ये उनके स्रोत tiddlers से जुड़ा हुआ वर्तमान में लोड tiddler मॉड्यूल हैं। किसी भी italicised मॉड्यूल वे बूट प्रक्रिया के दौरान सेटअप किया गया आम तौर पर है, क्योंकि एक स्रोत tiddler की कमी है।\nPalette/Caption: पैलेट\nPalette/Editor/Clone/Caption: क्लोन\nPalette/Editor/Clone/Prompt: आपको यह सिफारिश की जाती है के शॅडो पॅलेट को एडिट करने से पहले कॉपी कर लें\nPalette/Editor/Prompt: एडिटिंग\nPalette/Editor/Prompt/Modified: यह शेडो पॅलेट परिवर्तित किया गया है \nPalette/Editor/Reset/Caption: रीसेट करें\nPalette/HideEditor/Caption: एडिटर को छिपायें \nPalette/Prompt: वर्तमान पैलेट\nPalette/ShowEditor/Caption: एडिटर दिखाना\nPlugins/Caption: प्लगइन्स\nPlugins/Disable/Caption: निष्क्रिय करना \nPlugins/Disable/Hint: पृष्ठ पुनः लोड पर\nप्लगइन निष्क्रिय करें\nPlugins/Disabled/Status: (अक्षम)\nPlugins/Empty/Hint: कुछ नहीं\nPlugins/Enable/Caption: सक्षम\nPlugins/Enable/Hint: पृष्ठ पुनः लोड पर\nप्लगइन सक्षम करें\nPlugins/Language/Prompt: भाषाएँ\nPlugins/Plugin/Prompt: प्लगइन्स\nPlugins/Theme/Prompt: विषय\nSaving/Caption: सेविंग\nSaving/Heading: सेविंग\nSaving/TiddlySpot/Advanced/Heading: विकसित सेटिंग्स\nSaving/TiddlySpot/BackupDir: बैकअप निर्देशिका\nSaving/TiddlySpot/Backups: बैकअप\nSaving/TiddlySpot/Description: इस सेटिंग का उपयोग केवल इसको सेव करने के लिये http://tiddlyspot.comया एक compatible रिमोट सर्वर\nSaving/TiddlySpot/Filename: अपलोड फाईल का नाम\nSaving/TiddlySpot/Heading: ~Tiddlyस्थान\nSaving/TiddlySpot/Hint: //The server URL defaults to `http://<wikiname>.tiddlyspot.com/store.cgi`और इसे कस्टम सर्वर address बदलने के लिये उपयोग किया जा सकता है \nSaving/TiddlySpot/Password: पासवर्ड\nSaving/TiddlySpot/ServerURL: सर्वर URL\nSaving/TiddlySpot/UploadDir: अपलोड निर्देशिका\nSaving/TiddlySpot/UserName: विकी नाम\nSettings/AutoSave/Caption: औटोसेव\nSettings/AutoSave/Disabled/Description: स्वचालित रूप से परिवर्तन सावे ना करें \nSettings/AutoSave/Enabled/Description: स्वचालित रूप से परिवर्तन करें  \nSettings/AutoSave/Hint: स्वचालित रूप से एडिटिंग के दौरान परिवर्तनों को सेव करें  \nSettings/Caption: सेटिंग्स\nSettings/Hint: ये सेटिंग्स से TiddlyWiki\nके व्यवहार को कस्टमाइस् कर सकते हैं i.\nSettings/NavigationAddressBar/Caption: नॅविगेशन अड्रेस बार\nSettings/NavigationAddressBar/Hint: बराउज़र address bar का व्यवहार एक tiddler को नेविगेट करता है\nSettings/NavigationAddressBar/No/Description: address bar अपडेट न करें\nSettings/NavigationAddressBar/Permalink/Description: लक्ष्य tiddler शामिल करें\nSettings/NavigationAddressBar/Permaview/Description: लक्ष्य tiddler और वर्तमान कहानी को अनुक्रम मे शामिल करें\nSettings/NavigationHistory/Caption: नेविगेशन इतिहास\nSettings/NavigationHistory/Hint: tiddler को नेविगेट करते हुये ब्राउज़र इतिहास को अपडेट करें\nSettings/NavigationHistory/No/Description: इतिहास को अपडेट न करें\nSettings/NavigationHistory/Yes/Description: अपडेट इतिहास\nSettings/ToolbarButtons/Caption: टूलबार बटन\nSettings/ToolbarButtons/Hint: डिफ़ॉल्ट टूलबार बटन उपस्थिति:\nSettings/ToolbarButtons/Icons/Description: आइकन शामिल करें\nSettings/ToolbarButtons/Text/Description: टेक्स्ट शामिल करें\nStoryView/Caption: स्टोरी देखें\nStoryView/Prompt: वर्तमान देखें:\nTheme/Caption: विषय\nTheme/Prompt: वर्तमान विषय:\nTiddlerFields/Caption: Tiddler फील्ड्स\nTiddlerFields/Hint: इस विकि में उपयोग में Tiddler फील्ड्स का पूरा सेट है।(सिस्टम tiddlers सहित, लेकिन शॅडो tiddlers को छोड़कर)\nToolbars/Caption: टूलबार\nToolbars/EditToolbar/Caption: edit टूलबार\nToolbars/EditToolbar/Hint: बटन चुनें जो ,एडिट मोड में tiddlers के लिए प्रदर्शित कर रहे हैं\nToolbars/Hint: चयन करें जो, टूलबार बटन प्रदर्शित कर रहे हैं\nToolbars/PageControls/Caption: पृष्ठ टूलबार\nToolbars/PageControls/Hint: बटन चुनें जो,मुख्य पृष्ठ टूलबार पर प्रदर्शित कर रहे हैं\nToolbars/ViewToolbar/Caption: टूलबार देखें\nToolbars/ViewToolbar/Hint: बटन चुनें जो,देखने के मोड में tiddlers के लिए प्रदर्शित कर रहे हैं\nTools/Download/Full/Caption: पूर्ण विकी डाउनलोड करें \n"
  },
  {
    "path": "languages/hi-IN/CoreReadMe.tid",
    "content": "title: $:/core/readme\n\nइस प्लगइन जिसमें टिड्लीविकि के मुख्य घटक शामिल हैं\n\n* जावास्क्रिप्ट कोड मॉड्यूल\n* प्रतीक\n* टेम्पलेट्स टिड्लीविकि का यूजर इंटरफेस बनाने की जरूरत\n* ब्रिटिश अंग्रेजी(en-GB) \nकोर द्वारा इस्तेमाल किया localisable तार का अनुवाद\n"
  },
  {
    "path": "languages/hi-IN/Dates.multids",
    "content": "title: $:/language/\n\nDate/Long/Day/0: रविवार\nDate/Long/Day/1: सोमवार\nDate/Long/Day/2: मंगलवार\nDate/Long/Day/3: बुधवार\nDate/Long/Day/4: गुरुवार\nDate/Long/Day/5: शुक्रवार\nDate/Long/Day/6: शनिवार\nDate/Long/Month/1: जनवरी\nDate/Long/Month/10: अक्टूबर\nDate/Long/Month/11: नवम्बर\nDate/Long/Month/12: दिसंबर\nDate/Long/Month/2: फ़रवरी\nDate/Long/Month/3: मार्च\nDate/Long/Month/4: अप्रैल\nDate/Long/Month/5: मई\nDate/Long/Month/6: जून\nDate/Long/Month/7: जुलाई\nDate/Long/Month/8: अगस्त\nDate/Long/Month/9: सितंबर\nDate/Short/Day/0: रवि\nDate/Short/Day/1: सोम\nDate/Short/Day/2: मंगल\nDate/Short/Day/3: बुध\nDate/Short/Day/4: गुरु\nDate/Short/Day/5: शुक्र\nDate/Short/Day/6: शनि\nDate/Short/Month/1: जन\nDate/Short/Month/10: अक्टू\nDate/Short/Month/11: नव\nDate/Short/Month/12: दिसं\nDate/Short/Month/2: फ़र\nDate/Short/Month/3: मार्च\nDate/Short/Month/4: अप्र\nDate/Short/Month/5: मई\nDate/Short/Month/6: जून\nDate/Short/Month/7: जुल\nDate/Short/Month/8: अग\nDate/Short/Month/9: सितं\nRelativeDate/Future/Days: <<period>>दिन अब से\nRelativeDate/Future/Hours: <<period>>घंटे अब से\nRelativeDate/Future/Minutes: <<period>>मिनिट्स अब से\nRelativeDate/Future/Months: <<period>> महीने अब से\nRelativeDate/Future/Second: अब से एक second\nRelativeDate/Future/Seconds: <<period>> अब से सेकंड\nRelativeDate/Future/Years: <<period>> साल अब से\nRelativeDate/Past/Days: <<period>>दिन पहले\nRelativeDate/Past/Hours: <<period>>\nघंटे पहले\nRelativeDate/Past/Minutes: <<period>> मिनट पहले\nRelativeDate/Past/Months: <<period>>महीने पहले\nRelativeDate/Past/Second: एक second पहले\nRelativeDate/Past/Seconds: <<period>> सेकंड पहले\nRelativeDate/Past/Years: <<period>> साल पहले\n"
  },
  {
    "path": "languages/hi-IN/Docs/ModuleTypes.multids",
    "content": "title: $:/language/Docs/ModuleTypes/\n\nanimation:  एनिमेशन Reveal Widget के साथ प्रयोग किया हो सकता है \ncommand: Node.js. के तहत आज्ञाओं को निष्पादित किया जा सकता है \nconfig: `$ tw.config` में डाटा  डाला जाएगा।\nfilteroperator: व्यक्तिगत फिल्टर ऑपरेटर के तरीके।\nglobal: $ tw`  में ग्लोबल डाटा `डाला जाएगा।\nisfilteroperator: operands '' है '' फिल्टर ऑपरेटर के लिए ।\nmacro: जावा स्क्रिप्ट मैक्रो परिभाषाएँ।\nparser: विभिन्न प्रकार की सामग्री के लिए parsers।\nsaver: Savers को ब्राउज़र से फ़ाइलों को सहेजने के लिए विभिन्न तरीकों को संभाल।\nstartup: प्रारंभ के कार्य करता है।\nstoryview: कहानी को दृश्यों के एनीमेशन  विगेट्स के व्यवहार और सूची को अनुकूलित।\ntiddlerdeserializer: विभिन्न प्रकार की सामग्री को Tiddlers  में बदलता है।\ntiddlerfield: एक व्यक्ति tiddler क्षेत्र के व्यवहार को परिभाषित करता है।\ntiddlermethod: `$ Tw.Tiddler` प्रोटोटाइप तरीकों को जोड़ता है।\nupgrader: एक उन्नयन / आयात के दौरान tiddlers के उन्नयन के प्रसंस्करण लागू होता है।\nutils: `$ Tw.utils` तरीकों को जोड़ता है।\nutils-node: `$ Tw.utils` को नोड.जेएस-विशिष्ट तरीके जोड़ता है।\nwidget: encapsulate विजेट्स डी ओ एम प्रतिपादन और स्फूर्तिदायक ।\nwikimethod: $ Tw.Wiki` `तरीकों को जोड़ता है।\nwikirule: मुख्य विकिटेक्स्ट पार्सर के लिए अलग-अलग पार्सर के नियम।\n"
  },
  {
    "path": "languages/hi-IN/Docs/PaletteColours.multids",
    "content": "title: $:/language/Docs/PaletteColours/\n\nalert-background: चेतावनी पृष्ठभूमि\nalert-border: चेतावनी सीमा\nalert-highlight: चेतावनी को उजागर\nalert-muted-foreground:  अग्रभूमि को  म्यूट किया गया सचेतक\nbackground: सामान्य पृष्ठभूमि\nblockquote-bar: ब्लॉक उद्धरण बार\ncode-background: कोड पृष्ठभूमि\ncode-border: कोड सीमा\ncode-foreground: कोड  अग्रभूमि \ndirty-indicator: बिना सहेजे गए परिवर्तन सूचक\ndownload-background: डाउनलोड बटन पृष्ठभूमि\ndownload-foreground: डाउनलोड बटन अग्रभूमि\ndragger-background:  पृष्ठभूमि घसीटनेवाला\ndragger-foreground: अग्रभूमि घसीटनेवाला\ndropdown-background: लटकती पृष्ठभूमि\ndropdown-border: लटकती  सीमा\ndropdown-tab-background: लटकती टैब पृष्ठभूमि\ndropdown-tab-background-selected: चयनित टैब के लिए लटकती टैब पृष्ठभूमि\ndropzone-background: ड्रॉप जोन पृष्ठभूमि\nexternal-link-background: बाहरी लिंक पृष्ठभूमि\nexternal-link-background-hover: बाहरी लिंक पृष्ठभूमि हॉवर\nexternal-link-background-visited: बाहरी लिंक पृष्ठभूमि का दौरा किया\nexternal-link-foreground: बाहरी लिंक अग्रभूमि\nexternal-link-foreground-hover: बाहरी लिंक अग्रभूमि हॉवर\nexternal-link-foreground-visited: बाहरी लिंक अग्रभूमि   का दौरा किया\nforeground:  सामान्य अग्रभूमि  \nmessage-background: संदेश बॉक्स पृष्ठभूमि\nmessage-border: संदेश बॉक्स सीमा\nmessage-foreground: संदेश बॉक्स अग्रभूमि  \nmodal-backdrop: मॉडल वापस ड्रॉप\nmodal-background: मॉडल पृष्ठभूमि\nmodal-border: मॉडल सीमा\nmodal-footer-background: मॉडल पदलेख की पृष्ठभूमि\nmodal-footer-border: मॉडल पदलेख की सीमा\nmodal-header-border: मॉडल शीर्षलेख सीमा\nmuted-foreground: जनरल मौन अग्रभूमि\nnotification-background: अधिसूचना पृष्ठभूमि\nnotification-border: अधिसूचना  सीमा\npage-background: पृष्ठ की पृष्ठभूमि\npre-background: Preformatted कोड पृष्ठभूमि\npre-border: Preformatted कोड सीमा\nprimary: सामान्य प्राथमिक\nsidebar-button-foreground: साइडबार बटन अग्रभूमि\nsidebar-controls-foreground: साइडबार नियंत्रण अग्रभूमि\nsidebar-controls-foreground-hover: साइडबार अग्रभूमि हॉवर को नियंत्रित करता है\nsidebar-foreground: साइडबार अग्रभूमि\nsidebar-foreground-shadow: साइडबार अग्रभूमि छाया\nsidebar-muted-foreground: साइडबार मौन अग्रभूमि\nsidebar-muted-foreground-hover: साइडबार  मौन अग्रभूमि हॉवर\nsidebar-tab-background: साइडबार टैब पृष्ठभूमि\nsidebar-tab-background-selected: चयनित टैब के लिए साइडबार टैब पृष्ठभूमि\nsidebar-tab-border:  साइडबार टैब सीमा\nsidebar-tab-border-selected: चयनित टैब के लिए साइडबार टैब सीमा\nsidebar-tab-divider: साइडबार टैब विभक्त\nsidebar-tab-foreground: साइडबार टैब अग्रभूमि\nsidebar-tab-foreground-selected: चयनित टैब के लिए साइडबार टैब अग्रभूमि\nsidebar-tiddler-link-foreground: साइडबार tiddler लिंक अग्रभूमि \nsidebar-tiddler-link-foreground-hover: साइडबार tiddler लिंक अग्रभूमि हॉवर\nstatic-alert-foreground: स्टेटिक चेतावनी अग्रभूमि\ntab-background: टैब पृष्ठभूमि\ntab-background-selected: चयनित टैब के लिए टैब पृष्ठभूमि\ntab-border:  टैब सीमा\ntab-border-selected: चयनित टैब के लिए टैब सीमा\ntab-divider: टैब विभक्त\ntab-foreground: टैब अग्रभूमि\ntab-foreground-selected: चयनित टैब के लिए टैब अग्रभूमि\ntable-border: टेबल सीमा\ntable-footer-background: टेबल पदलेख की पृष्ठभूमि\ntable-header-background: तालिका शीर्षलेख पृष्ठभूमि\ntag-background: टैग पृष्ठभूमि\ntag-foreground: टैग अग्रभूमि\ntiddler-background: Tiddler पृष्ठभूमि\ntiddler-border: Tiddler सीमा\ntiddler-controls-foreground: Tiddler अग्रभूमि को नियंत्रित करता है\ntiddler-controls-foreground-hover: Tiddler अग्रभूमि हॉवर को नियंत्रित करता है \ntiddler-controls-foreground-selected: Tiddler चयनित नियंत्रण के लिए अग्रभूमि को नियंत्रित करता है\ntiddler-editor-background: Tiddler संपादक पृष्ठभूमि\ntiddler-editor-border: Tiddler संपादक सीमा\ntiddler-editor-border-image: Tiddler संपादक सीमा की छवि\ntiddler-editor-fields-even: यहां तक कि खेतों के लिए Tiddler संपादक पृष्ठभूमि\ntiddler-editor-fields-odd: विषम क्षेत्रों के लिए Tiddler संपादक पृष्ठभूमि\ntiddler-info-background: Tiddler जानकारी पैनल पृष्ठभूमि\ntiddler-info-border: Tiddler जानकारी पैनल सीमा\ntiddler-info-tab-background: Tiddler जानकारी पैनल टैब पृष्ठभूमि\ntiddler-link-background: Tiddler लिंक पृष्ठभूमि\ntiddler-link-foreground: Tiddler लिंक अग्रभूमि\ntiddler-subtitle-foreground: Tiddler उपशीर्षक अग्रभूमि\ntiddler-title-foreground: Tiddler शीर्षक अग्रभूमि\ntoolbar-cancel-button: टूलबार 'रद्द करें'  अग्रभूमि बटन\ntoolbar-close-button: टूलबार 'बंद'  अग्रभूमि बटन \ntoolbar-delete-button: टूलबार 'नष्ट'  अग्रभूमि बटन \ntoolbar-done-button: टूलबार 'किया' अग्रभूमि  बटन \ntoolbar-edit-button: टूलबार 'संपादन' अग्रभूमि बटन \ntoolbar-info-button: टूलबार 'जानकारी' अग्रभूमि बटन \ntoolbar-new-button: टूलबार 'नए tiddler' अग्रभूमि बटन \ntoolbar-options-button:   अग्रभूमि टूलबार 'विकल्प' बटन\ntoolbar-save-button: बटन अग्रभूमि 'सहेजें' टूलबार\nuntagged-background: अनटैग पिल पृष्ठभूमि\nvery-muted-foreground: बहुत मौन अग्रभूमि\n"
  },
  {
    "path": "languages/hi-IN/EditTemplate.multids",
    "content": "title: $:/language/EditTemplate/\n\nBody/External/Hint: यह मुख्य टिड्लीविकि फ़ाइल के बाहर संग्रहीत एक बाहरी tiddler है। आप टैग और क्षेत्रों को संपादित कर सकते हैं लेकिन सीधे ही सामग्री edit नहीं कर सकते\nBody/Placeholder: इस tiddler के लिए text टाइप करें\nField/Remove/Caption: क्षेत्र को हटाने\nField/Remove/Hint: क्षेत्र निकालें\nFields/Add/Button: जोड़ना\nFields/Add/Name/Placeholder: क्षेत्र का नाम\nFields/Add/Prompt: एक नए क्षेत्र में जोड़ें:\nFields/Add/Value/Placeholder: क्षेत्र मूल्य\nShadow/OverriddenWarning: यह एक संशोधित shadow tiddler है। आप इस tiddler को हटाकर डिफ़ॉल्ट version में लौट सकते हैं\nShadow/Warning: यह एक shadow tiddler है। कोई भी परिवर्तन डिफ़ॉल्ट संस्करण के स्थान पर आ जाएगी\nTags/Add/Button: जोड़ना\nTags/Add/Placeholder: टैग नाम\nTags/Dropdown/Caption: टैग सूची\nTags/Dropdown/Hint:  टैग सूची दिखाएँ \nType/Delete/Caption: सामग्री प्रकार को हटाना\nType/Delete/Hint: सामग्री प्रकार को हटाएँ\nType/Dropdown/Caption: सामग्री प्रकार को सूची\nType/Dropdown/Hint: सामग्री प्रकार की सूची दिखाएँ\nType/Placeholder: सामग्री प्रकार\nType/Prompt: प्रकार:\n"
  },
  {
    "path": "languages/hi-IN/Exporters.multids",
    "content": "title: $:/language/Exporters/\n\nCsvFile: सी एस वी tiddlers फ़ाइल\nJsonFile: JSON  tiddlers  फ़ाइल \nStaticRiver: स्थिर HTML फ़ाइल के रूप में tiddlers की नदी\nTidFile: सिंगल tiddler \".tid\" फाइल\n"
  },
  {
    "path": "languages/hi-IN/Fields.multids",
    "content": "title: $:/language/Docs/Fields/\n\n_canonical_uri: एक बाहरी छवि tiddler से भरा यूआरआई\nbag: बैग का नाम\nजिसमें एक tiddler आया था\ncaption:  टैब या बटन पर प्रदर्शित करने के लिए \nटेक्स्ट\ncolor: एक tiddler के साथ जुड़े CSS रंग value\ncomponent: एक tiddler के साथ जुड़े CSS रंग value [[alert tiddler|AlertMechanism]]\ncreated: तारीख,एक tiddler बनाया गया था\ncreator: tiddler बनाए गए व्यक्ति का नाम\ncurrent-tiddler: एक में सबसे ऊपर tiddler cache करने के लिए प्रयोग किया जाता [[इतिहास की सूची | HistoryMechanism]]\ndependents: एक प्लगइन के लिए, निर्भर प्लगइन शीर्षकों की सूची\ndescription: एक प्लगइन के लिए वर्णनात्मक पाठ,or एक modal dialogue\ndraft.of: tiddler के शीर्षक में शामिल,जिसमें से यह एक ड्राफ्ट है,ड्राफ्ट tiddlers के लिए\ndraft.title: ड्राफ्ट tiddlers के लिए, tiddler के प्रस्तावित नए शीर्षक में शामिल\nfooter: एक विज़ार्ड के के लिए footer टेक्स्ट\nicon: एक tiddler के साथ जुड़े चिह्न युक्त tiddler का खिताब\nlibrary: अगर\"हाँ\" सेट किया है, तो यह संकेत करता है की एक tiddler किसी JavaScript लाइब्रेरी के रूप सेव की जानी चाहिए\nlist: एक tiddler के साथ जुड़े tiddler खिताब के एक आदेश सूची\nlist-after: अगर सेट करते हैं, tiddler का शीर्षक है, जिसके बाद इस tiddler में tiddler शीर्षकों की आदेश सूची को जोड़ा जाना चाहिए\nlist-before: सेट करते हैं, एक tiddler का शीर्षक है, जो पहले इस tiddler tiddler शीर्षकों की आदेश सूची में जोड़ा जाना चाहिए, या सूची के शुरू में इस क्षेत्र मौजूद है, लेकिन खाली है\nmodified: तारीख और समय जिस पर , एक tiddler अंतिम बार संशोधित किया गया था\nmodifier: यह tiddler उस व्यक्ति के साथ जुड़े हुए हैं जिसने पिछले एक tiddler को  modified किया  \nname: एक प्लगइन tiddler के साथ जुड़े human पढ़ने योग्य नाम\nplugin-priority: एक संख्यात्मक मूल्य,एक प्लगइन tiddler की प्राथमिकता का संकेत है\nplugin-type: एक प्लगइन tiddler में प्लगइन के प्रकार\nreleased: एक टिड्लीविकि जारी होने की तारीख\nrevision: सर्वर में आयोजित tiddler में संशोधन\nsource: एक tiddler के साथ जुड़े  URL स्रोत \nsubtitle: एक विज़ार्ड के के लिए उपशीर्षक टेक्स्ट\ntags: एक tiddler के साथ जुड़े टैग की सूची\ntext: एक tiddler के मुख्य भाग टेक्स्ट\ntitle: एक tiddler का अनूठा नाम\ntype: एक tiddler की सामग्री के प्रकार\nversion: एक प्लगइन के लिए संस्करण जानकारी\n"
  },
  {
    "path": "languages/hi-IN/Filters.multids",
    "content": "title: $:/language/Filters/\n\nAllTags: सिस्टम टैग को छोड़कर सभी टैग\nAllTiddlers: सिस्टम tiddlers को छोड़कर सभी tiddlers\nDrafts: ड्राफ्ट tiddlers\nMissing: लापता tiddlers\nOrphans: ऑर्फ़न tiddlers\nOverriddenShadowTiddlers: अधिरोहित छाया tiddlers\nRecentSystemTiddlers: सिस्टम tiddlers समेत हाल ही में modified tiddlers,\nRecentTiddlers: हाल ही में modified tiddlers\nShadowTiddlers: छाया tiddlers\nSystemTags: सिस्टम टैग\nSystemTiddlers: सिस्टम tiddlers\n"
  },
  {
    "path": "languages/hi-IN/GettingStarted.tid",
    "content": "title: GettingStarted\n\n\\define lingo-base() $:/language/ControlPanel/Basics/\n~ टिड्लीविकि और ~ टिड्लीविकि समुदाय में आपका स्वागत है\n\nआप ~ टिड्लीविकि में महत्वपूर्ण जानकारी के भंडारण शुरू करने से पहले यह तुम मज़बूती परिवर्तन बचा सकता है कि यह सुनिश्चित करना महत्वपूर्ण है। जानकारी के लिए https://tiddlywiki.com/#GettingStarted देखें\n\n!! Set up this ~TiddlyWiki\n\n<div class=\"tc-control-panel\">\n\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit-text tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\nSee the [[control panel|$:/ControlPanel]] for more options.\n"
  },
  {
    "path": "languages/hi-IN/Help/build.tid",
    "content": "title: $:/language/Help/build\ndescription: स्वचालित रूप से कॉन्फ़िगर आदेश चलाएँ\n\nवर्तमान विकी के लिए निर्दिष्ट बिल्ड लक्ष्य बनाएँ। कोई बिल्ड लक्ष्य तो निर्दिष्ट कर रहे हैं सभी उपलब्ध लक्ष्य बनाया जाएगा।\n\n`` `\n--build <लक्ष्य> [<लक्ष्य> ...]\n`` `\n\nबनाएँ लक्ष्य एक विकी फ़ोल्डर की `tiddlywiki.info` फाइल में परिभाषित कर रहे हैं।\n\n"
  },
  {
    "path": "languages/hi-IN/Help/clearpassword.tid",
    "content": "title: $:/language/Help/clearpassword\ndescription: \nबाद के crypto के संचालन के लिए एक पासवर्ड साफ़\n\nबाद के crypto कार्यों के लिए पासवर्ड साफ़\n\n`` `\n--clearpassword\n`` `"
  },
  {
    "path": "languages/hi-IN/Help/default.tid",
    "content": "title: $:/language/Help/default\ndescription: \n\n\\define commandTitle()\n$:/language/Help/$(command)$\n\\end\n```\nusage: tiddlywiki [<wikifolder>] [--<command> [<args>...]...]\n```\n\n\nआदेश उपलब्ध:\n\n<ul>\n<$list filter=\"[commands[]sort[title]]\" variable=\"command\">\n<li><$link to=<<commandTitle>>><$macrocall $name=\"command\" $type=\"text/plain\" $output=\"text/plain\"/></$link>: <$transclude tiddler=<<commandTitle>> field=\"description\"/></li>\n</$list>\n</ul>\n\n\nएक आदेश के बारे में विस्तृत मदद पाने के लिए:\ntiddlywiki --help <command>\n```\n"
  },
  {
    "path": "languages/hi-IN/Help/editions.tid",
    "content": "title: $:/language/Help/editions\ndescription: \nटिड्लीविकि के उपलब्ध संस्करणों की सूची देता है\n\nउपलब्ध संस्करणों के नाम और विवरण की सूची देता है। आप `--init` कमांड के साथ एक निर्दिष्ट संस्करण का एक नया विकि बना सकते हैं।\n\n`` `\n--editions\n`` `\n"
  },
  {
    "path": "languages/hi-IN/Help/help.tid",
    "content": "title: $:/language/Help/help\ndescription: टिड्लीविकि आदेशों के लिए प्रदर्शन मदद\n\nएक आदेश टेक्स्ट मददके लिए दिखाता है\n```\n--help [<command>]\n```\n\nकमांड नाम तो छोड़ा जाता है तो उपलब्ध आदेशों की एक सूची प्रदर्शित किया जाता है।"
  },
  {
    "path": "languages/hi-IN/Help/init.tid",
    "content": "title: $:/language/Help/init\ndescription: एक नया विकि फ़ोल्डर प्रारम्भ\n\n initialise।एक खाली [WikiFolders] [WikiFolder]निर्दिष्ट संस्करण की एक प्रति के साथ\n```\n--init <edition> [<edition> ...]\n```\n\nउदाहरण के लिए:\n```\ntiddlywiki ./MyWikiFolder --init empty\n```\n\nध्यान दें:\n\n*\nयदि आवश्यक हो तो विकी फ़ोल्डर निर्देशिका बनाया जाएगा\n*'' करने के लिए \"संस्करण\" default 'खाली'\n* init कमांड असफल हो जायेगी  अगर विकी फ़ोल्डर खाली नहीं है\n*Init कमांड संस्करण के `tiddlywiki.info` फ़ाइल में किसी भी` includeWikis` परिभाषाओं हटाता है\n*\nकई संस्करणों में निर्दिष्ट कर रहे हैं, बाद में initialised संस्करणों साझा किसी भी फाइल के ऊपर लिख देगा(हां, तो अंतिम `tiddlywiki.info` फ़ाइल पिछले संस्करण से नकल किया जाएगा) पहले संस्करण के साथ\n* `उपलब्ध संस्करणों की एक सूची रिटर्न --editions`"
  },
  {
    "path": "languages/hi-IN/Help/load.tid",
    "content": "title: $:/language/Help/load\ndescription: एक फ़ाइल से लोड tiddlers।\n\n2.xx टिड्लीविकि फ़ाइलें (`.html`),` .tiddler`, `.tid`,` .json` या अन्य फ़ाइलों से लोड tiddlers\n```\n--load <filepath>\n```\n\nएक एन्क्रिप्टेड टिड्लीविकि फ़ाइल से tiddlers लोड करने के लिए आपको सबसे पहले PasswordCommand साथ पासवर्ड निर्दिष्ट करना चाहिए। उदाहरण के लिए:\n\n```\ntiddlywiki ./MyWiki --password pa55w0rd --load my_encrypted_wiki.html\n```\n\nटिड्लीविकि एक पहले से ही भरी हुई प्लगइन के एक पुराने संस्करण लोड नहीं होगा कि ध्यान दें।"
  },
  {
    "path": "languages/hi-IN/Help/makelibrary.tid",
    "content": "title: $:/language/Help/makelibrary\ndescription: नवीनीकरण की प्रक्रिया के द्वारा आवश्यक पुस्तकालय प्लगइन का निर्माण\n\n/ UpgradeLibrary` tiddler नवीनीकरण की प्रक्रिया के लिए: `$ निर्माणों।\n\nउन्नयन पुस्तकालय प्लगइन प्रकार `library` के साथ एक साधारण प्लगइन tiddler रूप में स्वरूपित है। यह TiddlyWiki5 रिपॉजिटरी के भीतर उपलब्ध plugins, विषयों और भाषा पैक में से प्रत्येक की एक प्रति शामिल हैं।\n\nइस आदेश को आंतरिक उपयोग के लिए करना है; यह एक कस्टम उन्नयन की प्रक्रिया के निर्माण के उपयोगकर्ताओं के लिए ही प्रासंगिक है।\n\n```\n--makelibrary <title>\n```\n\nके लिए शीर्षक तर्क default`$:/UpgradeLibrary`.\n"
  },
  {
    "path": "languages/hi-IN/Help/notfound.tid",
    "content": "title: $:/language/Help/notfound\ndescription: \n\nऐसा कोई मदद आइटम"
  },
  {
    "path": "languages/hi-IN/Help/output.tid",
    "content": "title: $:/language/Help/output\ndescription: बाद में आदेश के लिए आधार उत्पादन निर्देशिका सेट\n\nबाद में आदेश के लिए आधार उत्पादन निर्देशिका के सेट करता है। डिफ़ॉल्ट आउटपुट निर्देशिका संस्करण निर्देशिका के `output` उपनिर्देशिका है।\n\n```\n--output <pathname>\n```\n\nनिर्दिष्ट पथ नाम तो सापेक्ष है, तो यह वर्तमान कार्य निर्देशिका के सापेक्ष हल हो गई है। उदाहरण के लिए `--output .` वर्तमान कार्य निर्देशिका के लिए उत्पादन निर्देशिका सेट।"
  },
  {
    "path": "languages/hi-IN/Help/password.tid",
    "content": "title: $:/language/Help/password\ndescription: बाद में क्रिप्टो के संचालन के लिए एक पासवर्ड सेट\n\nबाद में क्रिप्टो के संचालन के लिए एक पासवर्ड सेट\n```\n--password <password>\n```\n\n"
  },
  {
    "path": "languages/hi-IN/Help/rendertiddler.tid",
    "content": "title: $:/language/Help/rendertiddler\ndescription: एक निर्दिष्ट ContentType के रूप में एक individual tiddler प्रस्तुत करना\n\nपाठ / html` `करने के लिए, एक निर्दिष्ट ContentType के रूप में चूक एक individual tiddler प्रस्तुत करना है और निर्दिष्ट फ़ाइल नाम करने के लिए इसे बचाने के लिए:\n```\n--rendertiddler <title> <filename> [<type>]\n```\n\nडिफ़ॉल्ट रूप से, फ़ाइल नाम संस्करण निर्देशिका के `output` उपनिर्देशिका के सापेक्ष हल हो गई है। `--output` आदेश एक अलग निर्देशिका के लिए उत्पादन में निर्देशित करने के लिए इस्तेमाल किया जा सकता है।\n\nफ़ाइल नाम करने के लिए रास्ते में किसी भी लापता निर्देशिकाओं स्वचालित रूप से बनाया जाता है।"
  },
  {
    "path": "languages/hi-IN/Help/rendertiddlers.tid",
    "content": "title: $:/language/Help/rendertiddlers\ndescription: एक निर्दिष्ट ContentType के लिए एक फिल्टर मिलान tiddlers प्रस्तुत करना\n\nएक text / html` `default to) एक निर्दिष्ट ContentType की फ़ाइलों को अलग करने के लिए एक फिल्टर मिलान tiddlers के सेट और विस्तार के लिए प्रस्तुत करना (` default to .html`)।\n```\n--rendertiddlers <filter> <template> <pathname> [<type>] [<extension>]\n```\n\nउदाहरण के लिए:\n\n```\n--rendertiddlers [!is[system]] $:/core/templates/static.tiddler.html ./static text/plain\n```\n\nडिफ़ॉल्ट रूप से, पथ नाम संस्करण निर्देशिका के `output` उपनिर्देशिका के सापेक्ष हल हो गई है। `--output` आदेश एक अलग निर्देशिका के लिए उत्पादन में निर्देशित करने के लिए इस्तेमाल किया जा सकता है।\n\nलक्ष्य निर्देशिका में किसी भी फाइल को नष्ट कर दिया जाता है। यह मौजूद नहीं है, तो लक्ष्य निर्देशिका बारी बारी से बनाया जाता है।\n"
  },
  {
    "path": "languages/hi-IN/Help/savetiddler.tid",
    "content": "title: $:/language/Help/savetiddler\ndescription: \nDid you mean: Saves a raw toddler to a file\nएक फाइल करने के लिए एक raw tiddler बचाता है\n\nनिर्दिष्ट फ़ाइल नाम के लिए उसके कच्चे टेक्स्ट या बाइनरी स्वरूप में एक individual tiddler बचाता है।\n```\n--savetiddler <title> <filename>\n```\n\nडिफ़ॉल्ट रूप से, फ़ाइल नाम संस्करण निर्देशिका के `output` subdirectory के के सापेक्ष हल हो गई है। `--output` आदेश एक अलग निर्देशिका के लिए उत्पादन में निर्देशित करने के लिए इस्तेमाल किया जा सकता है।\n\nफ़ाइल नाम करने के लिए रास्ते में किसी भी लापता निर्देशिकाओं स्वचालित रूप से बनाया जाता है।\n"
  },
  {
    "path": "languages/hi-IN/Help/savetiddlers.tid",
    "content": "title: $:/language/Help/savetiddlers\ndescription: एक निर्देशिका के लिए raw tiddlers के एक समूह सेव करता है\n\nनिर्दिष्ट निर्देशिका के लिए उनके raw टेक्स्ट या बाइनरी स्वरूप में tiddlers के एक समूह की बचत होती है।\n```\n--savetiddlers <filter> <pathname>\n```\n\nडिफ़ॉल्ट रूप से, पथ नाम संस्करण निर्देशिका के `output` subdirectory के के सापेक्ष हल हो गई है। `--output` आदेश एक अलग निर्देशिका के लिए उत्पादन में निर्देशित करने के लिए इस्तेमाल किया जा सकता है।\n\nPathname में किसी भी लापता निर्देशिकाओं स्वचालित रूप से बनाया जाता है।"
  },
  {
    "path": "languages/hi-IN/Help/server.tid",
    "content": "title: $:/language/Help/server\ndescription: टिड्लीविकि करने के लिए एक HTTP सर्वर इंटरफेस प्रदान करता है\n\nTiddlyWiki5 करने के लिए बनाया सर्वर बहुत सरल है। हालांकि TiddlyWeb के साथ compatible है मजबूत इंटरनेट का सामना करना यह आवश्यक सुविधाओं के उपयोग के लिए कई का समर्थन नहीं करता।\n\nजड़ में, यह एक निर्दिष्ट tiddler के प्रतिपादन में कार्य करता है। दूर जड़ से, यह JSON में इनकोडिंग व्यक्ति tiddlers कार्य करता है, और `GET`,` PUT` और `DELETE` के लिए बुनियादी HTTP के आपरेशनों का समर्थन करता है।\n\n```\n--server <port> <roottiddler> <rendertype> <servetype> <username> <password> <host> <pathprefix>\n```\n\nThe parameters are:\n\n* ''पोर्ट' '- पोर्ट संख्या (defaults करने से सेवा करने के लिए \"8080\")\n* ''roottiddler'' -\ntiddler रूट पर मदद करने के लिए(defaults to \"$:/core/save/all\") \n* ''rendertype' '- सामग्री प्रकार रूट tiddler प्रदान की जानी चाहिए जो (default to \"text / plain\")\n* ''servetype'' -'rendertype' '- सामग्री प्रकार रूट tiddler प्रदान की जानी चाहिए जो (default to \"text / plain\")\n* ' उपयोगकर्ता नाम '' - संपादन पर हस्ताक्षर करने के लिए डिफाल्ट उपभोक्ता\n* '' पासवर्ड '' - मूलभूत प्रमाणीकरण के लिए वैकल्पिक पासवर्ड\n* ''होस्ट' '- वैकल्पिक होस्टनाम (\"127.0.0.1\" करने के लिए defaults aka \"स्थानीय होस्ट\") से मदद करने के लिए * '' Pathprefix '' - पथ के लिए वैकल्पिक उपसर्ग\nपासवर्ड पैरामीटर निर्दिष्ट किया जाता है, तो ब्राउज़र यूज़रनेम और पासवर्ड के लिए उपयोगकर्ता का संकेत होगा। ध्यान दें। कि इस कार्यान्वयन सामान्य उपयोग के लिए उपयुक्त नहीं है इसलिए पासवर्ड plain text में फैलता है \nउदाहरण के लिए:\n\n```\n--server 8080 $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n\nयूज़रनेम और पासवर्ड खाली तार के रूप में निर्दिष्ट किया जा सकता है: यदि आपको होस्टनाम या पथपरेफिक्ष निर्धारित करने की आवश्यकता है और एक पासवर्ड की आवश्यकता नहीं\n\n```\n--server 8080 $:/core/save/all text/plain text/html \"\" \"\" 192.168.0.245\n```\n\nएक ही समय में कई टिड्लीविकि सर्वरों को चलाने के लिए आप एक अलग पोर्ट पर हर एक डाल करने की आवश्यकता होगी।\n"
  },
  {
    "path": "languages/hi-IN/Help/setfield.tid",
    "content": "title: $:/language/Help/setfield\ndescription: उपयोग के लिए बाहरी tiddlers को तैयार\n\n//नोट इस आदेश को प्रयोगात्मक और बदल सकते है  या\nप्रतिस्थापित किया जा रहा है\nअंतिम रूप दिये जाने से  पहले.//\n\nTiddler सेट करने के लिए `currentTiddler` चर के साथ एक टेम्पलेट tiddler wikifying के परिणाम को tiddlers के एक समूह की निर्दिष्ट क्षेत्र सेट करता है।\n\n```\n--setfield <filter> <fieldname> <templatetitle> <rendertype>\n```\n\nThe parameters are:\n\n* ''फिल्टर '' - फिल्टर tiddlers की पहचान के प्रभावित होने की\n* 'FIELDNAME' '- क्षेत्र को संशोधित करने के लिए (defaults \"पाठ\" करने के लिए)\n* ''templatetitle' '- निर्दिष्ट क्षेत्र में wikify को tiddler।रिक्त या फिर लापता तब  क्षेत्र हटाया जाता है\n* ''\nप्रकार '' - टेक्स्ट प्रकार रेंडर करने के लिए (\"टेक्स्ट / plain\" करने के लिए defaults, \"defaults to \"text/html\") html\" एचटीएमएल टैग शामिल करने के लिए इस्तेमाल किया जा सकता है)\n"
  },
  {
    "path": "languages/hi-IN/Help/unpackplugin.tid",
    "content": "title: $:/language/Help/unpackplugin\ndescription: एक प्लगइन से पेलोड tiddlers अनपैक\n\nएक प्लगइन से पेलोड tiddlers निकालें:उन्हें साधारण रूप में tiddlers बनाये\n\n```\n--unpackplugin <title>\n```\n"
  },
  {
    "path": "languages/hi-IN/Help/verbose.tid",
    "content": "title: $:/language/Help/verbose\ndescription: वाचाल उत्पादन ट्रिगर  मोड\n\nडिबगिंग के लिए उपयोगी वाचाल उत्पादन, चलाता है\n\n`` `\n--verbose\n"
  },
  {
    "path": "languages/hi-IN/Help/version.tid",
    "content": "title: $:/language/Help/version\ndescription: टिड्लीविकि की संस्करण संख्या प्रदर्शित करता है\n\nटिड्लीविकि की संस्करण संख्या प्रदर्शित करता है।\n```\n--version\n```\n"
  },
  {
    "path": "languages/hi-IN/Import.multids",
    "content": "title: $:/language/Import/\n\nListing/Cancel/Caption: रद्द करना\nListing/Hint: ये tiddlers आयात करने के लिए तैयार हैं:\nListing/Import/Caption: इम्पोर्ट\nListing/Select/Caption: चुनना\nListing/Status/Caption: स्थिति\nListing/Title/Caption: शीर्षक\nUpgrader/Plugins/Suppressed/Incompatible: ब्लॉक्ड असंगत या अप्रचलित प्लगइन\nUpgrader/Plugins/Suppressed/Version: प्लगइन ब्लॉक्ड (कारण के लिए आने वाली << आवक >> मौजूदा पुराने की तुलना में किया जा रहा है << मौजूदा >>)\nUpgrader/Plugins/Upgraded: प्लगइन से उन्नत बनाया  << लिए आने वाली >> के लिए << उन्नत किया >>\nUpgrader/State/Suppressed: ब्लॉक्ड अस्थायी state tiddler\nUpgrader/System/Suppressed: ब्लॉक्ड प्रणाली tiddler\nUpgrader/ThemeTweaks/Created: <$ टेक्स्ट टेक्स्ट = << से >> /> से माइग्रेट थीम ट्वीक\n"
  },
  {
    "path": "languages/hi-IN/Misc.multids",
    "content": "title: $:/language/\n\nBinaryWarning/Prompt: इस tiddler बाइनरी डेटा शामिल\nClassicWarning/Hint: इस tiddler टिड्लीविकि संस्करण 5. देखने के साथ पूरी तरह से संगत नहीं है जो टिड्लीविकि क्लासिक विकी टेक्स्ट प्रारूप में लिखा है,https://tiddlywiki.com/static/Upgrading.html for more details. \nClassicWarning/Upgrade/Caption: उन्नत करना\nCloseAll/Button: करीब सभी\nConfirmCancelTiddler: क्या आप tiddler के लिए परिवर्तनों को छोड़ना चाहते हैं \"<$text text=<<title>>/>\"?\nConfirmDeleteTiddler: आप \"<$ पाठ पाठ = << शीर्षक >> />\" tiddler को नष्ट करना चाहते हैं?\nConfirmEditShadowTiddler: आप एक Shadow Tiddler संपादित करने के बारे में हैं। कोई भी परिवर्तन भविष्य में नवीनीकरण गैर तुच्छ बना रही डिफ़ॉल्ट सिस्टम पार कर जाएगी। क्या आप \"</ $ पाठ पाठ = << शीर्षक >>>\" संपादित करने के लिए चाहते हैं?\nConfirmOverwriteTiddler: आप \"<$ पाठ पाठ = << शीर्षक >> />\" tiddler को अधिलेखित करना चाहते हैं?\nDefaultNewTiddlerTitle: नया Tiddler\nDropMessage: यहाँ ड्रॉप (या रद्द करने से बचने के लिए क्लिक करें)\nEncryption/ConfirmClearPassword: आप पासवर्ड को स्पष्ट करना चाहते हैं?  यह एन्क्रिप्शन को हटा देगा जब इस विकि बचत लागू किया\nEncryption/PromptSetPassword: इस टिड्लीविकि के लिए एक नया पासवर्ड सेट करें\nMissingTiddler/Hint:  लापता Tiddler बनाने के लिए \"<$ पाठ पाठ = << currentTiddler >> />\" - क्लिक करें {{$: / कोर / छवियों / संपादित करें बटन}} बनाने के लिए\nRecentChanges/DateFormat: दिनांक / माह / वर्ष\nSystemTiddler/Tooltip: यह एक ऐसी प्रणाली tiddler है\nTagManager/Colour/Heading: रंग\nTagManager/Icon/Heading: चिह्न\nTagManager/Info/Heading: जानकारी\nTagManager/Tag/Heading: टैग\nUnsavedChangesWarning: आप टिड्लीविकि में परिवर्तन सहेजे नहीं गए\n"
  },
  {
    "path": "languages/hi-IN/Modals/Download.tid",
    "content": "title: $:/language/Modals/Download\ntype: text/vnd.tiddlywiki\nsubtitle: Download changes\nfooter: <$button message=\"tm-close-tiddler\">Close</$button>\nhelp: https://tiddlywiki.com/static/DownloadingChanges.html\n\nआपका ब्राउज़र केवल मार्गदर्शन बचत का समर्थन करता है।\n\nअपने संशोधित विकी बचाने के लिए, सही नीचे डाउनलोड लिंक पर क्लिक करें और \"डाउनलोड फ़ाइल\" या \"फ़ाइल सहेजें\" का चयन करें, और उसके बाद फ़ोल्डर और फ़ाइल नाम का चयन करें।\n\n// आप मामूली नियंत्रण कुंजी (Windows) या विकल्प / Alt कुंजी (मैक ओएस एक्स) के साथ लिंक पर क्लिक करके चीजों में तेजी कर सकते हैं। तुम्हें फ़ोल्डर या फ़ाइल नाम के लिए संकेत नहीं दिया जाएगा, लेकिन आपका ब्राउज़र यह एक पहचानने योग्य नाम देने की संभावना है - क्या आप इसके साथ उपयोगी कुछ भी कर सकता से पहले एक `.html` विस्तार शामिल करने के लिए फ़ाइल का नाम बदलने की जरूरत हो सकती .//\n\nविकी सामान्य रूप से बचाया जा सकता है, जहां से एक डेस्कटॉप कंप्यूटर को अपने बुकमार्क सिंक तो फाइलों आप के बजाय लिंक बुकमार्क कर सकते हैं डाउनलोड किया जा करने की अनुमति नहीं है, और है कि smartphones पर।"
  },
  {
    "path": "languages/hi-IN/NewJournal.multids",
    "content": "title: $:/config/NewJournal/\n\nTags: जरनल\nTitle: दिनांक / माह / वर्ष\n"
  },
  {
    "path": "languages/hi-IN/Notifications.multids",
    "content": "title: $:/language/Notifications/\n\nSave/Done: सेव किया विकी\nSave/Starting: विकी को बचाने के लिए शुरू\n"
  },
  {
    "path": "languages/hi-IN/Search.multids",
    "content": "title: $:/language/Search/\n\nDefaultResults/Caption: सूची \nFilter/Caption: फिल्टर \nFilter/Hint: एक के माध्यम से खोज [[फिल्टर अभिव्यक्ति | नि: //tiddlywiki.com/static/Filters.html]]\nFilter/Matches: // <छोटे> << resultCount >> से मेल खाता </ छोटे> //\nMatches: // <छोटे> << resultCount >> से मेल खाता </ छोटे> //\nShadows/Caption:  छाया\nShadows/Hint:     छाया Tiddler के लिए खोज\nShadows/Matches: // <छोटे> << resultCount >> से मेल खाता </ छोटे> //\nStandard/Caption: स्तर \nStandard/Hint:  tiddlers स्तर के लिए खोज \nStandard/Matches: // <छोटे> << resultCount >> से मेल खाता </ छोटे> //\nSystem/Caption: प्रणाली\nSystem/Hint: tiddlers प्रणाली के लिए खोज \nSystem/Matches: // <छोटे> << resultCount >> से मेल खाता </ छोटे> //\n"
  },
  {
    "path": "languages/hi-IN/SideBar.multids",
    "content": "title: $:/language/SideBar/\n\nAll/Caption:  सभी \nContents/Caption:  विषयवस्तु \nDrafts/Caption:  ड्राफ्ट्स\nMissing/Caption: लापता \nMore/Caption: अधिक \nOpen/Caption: खुला \nOrphans/Caption:  अनाथों\nRecent/Caption: हाल ही में \nShadows/Caption:  छाया \nSystem/Caption: प्रणाली\nTags/Caption:  टैग \nTags/Untagged/Caption:  अनटैग\nTools/Caption: उपकरण \nTypes/Caption: प्रकार\n"
  },
  {
    "path": "languages/hi-IN/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\nएक गैर रेखीय व्यक्तिगत वेब नोटबुक"
  },
  {
    "path": "languages/hi-IN/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\nमेरा ~ टिड्लीविकि"
  },
  {
    "path": "languages/hi-IN/TiddlerInfo.multids",
    "content": "title: $:/language/TiddlerInfo/\n\nAdvanced/Caption: उन्नत \nAdvanced/PluginInfo/Empty/Hint: कोई भी \nAdvanced/PluginInfo/Heading:  प्लगइन विवरण\nAdvanced/PluginInfo/Hint: इस प्लगइन में निम्नलिखित छाया tiddlers शामिल हैं:\nAdvanced/ShadowInfo/Heading: छाया की स्थिति\nAdvanced/ShadowInfo/NotShadow/Hint: Tiddler <= << infoTiddler >>> <$ पाठ पाठ = << infoTiddler >> /> </ $ लिंक करने के लिए $ लिंक> एक छाया tiddler नहीं है\nAdvanced/ShadowInfo/OverriddenShadow/Hint: यह एक साधारण tiddler के द्वारा अध्यारोहित है\nAdvanced/ShadowInfo/Shadow/Hint: Tiddler <= << infoTiddler >>> <$ पाठ पाठ = << infoTiddler >> /> </ $ लिंक करने के लिए $ लिंक> एक छाया tiddler है\nAdvanced/ShadowInfo/Shadow/Source: यह प्लगइन <= के लिए $ कड़ी में परिभाषित किया गया है << pluginTiddler >>> <$ पाठ पाठ = << pluginTiddler >> /> </ $ लिंक>\nFields/Caption: क्षेत्र\nList/Caption: सूची\nList/Empty: यह tiddler  सूची नहीं करता\nListed/Caption:  सूचीबद्ध \nListed/Empty: यह tiddler किसी भी अन्य लोगों द्वारा सूचीबद्ध नहीं है\nReferences/Caption: सन्दर्भ \nReferences/Empty:  इस एक से tiddlers लिंक नहीं \nTagging/Caption:  टैगिंग \nTagging/Empty: कोई tiddlers इस एक के साथ टैग किया गया है\nTools/Caption: उपकरण \n"
  },
  {
    "path": "languages/hi-IN/Types/application%2Fjavascript.tid",
    "content": "title: $:/language/Docs/Types/application/javascript\ndescription: \nजावास्क्रिप्ट कोड\nname: application/javascript\ngroup:  विकासकर्ता\n"
  },
  {
    "path": "languages/hi-IN/Types/application%2Fjson.tid",
    "content": "title: $:/language/Docs/Types/application/json\ndescription: JSON डाटा \nname: application/json\ngroup:  विकासकर्ता\n"
  },
  {
    "path": "languages/hi-IN/Types/application%2Fx-tiddler-dictionary.tid",
    "content": "title: $:/language/Docs/Types/application/x-tiddler-dictionary\ndescription: डिक्शनरी डाटा \nname: application/x-tiddler-dictionary\ngroup:  विकासकर्ता\n"
  },
  {
    "path": "languages/hi-IN/Types/image%2Fgif.tid",
    "content": "title: $:/language/Docs/Types/image/gif\ndescription: GIF  छवि \nname: image/gif\ngroup:  छवि \n"
  },
  {
    "path": "languages/hi-IN/Types/image%2Fjpeg.tid",
    "content": "title: $:/language/Docs/Types/image/jpeg\ndescription: JPEG  छवि \nname: image/jpeg\ngroup:  छवि \n"
  },
  {
    "path": "languages/hi-IN/Types/image%2Fpng.tid",
    "content": "title: $:/language/Docs/Types/image/png\ndescription: PNG  छवि \nname: image/png\ngroup:  छवि \n"
  },
  {
    "path": "languages/hi-IN/Types/image%2Fsvg%2Bxml.tid",
    "content": "title: $:/language/Docs/Types/image/svg+xml\ndescription: संरचित सदिश ग्राफिक्स छवि\nname: image/svg+xml\ngroup:  छवि \n"
  },
  {
    "path": "languages/hi-IN/Types/text%2Fcss.tid",
    "content": "title: $:/language/Docs/Types/text/css\ndescription: \nस्थैतिक पत्रक शैली \nname: text/css\ngroup: \n विकासकर्ता\n"
  },
  {
    "path": "languages/hi-IN/Types/text%2Fhtml.tid",
    "content": "title: $:/language/Docs/Types/text/html\ndescription: \nHTML मार्कअप\nname: text/html\ngroup: \nटेक्स्ट\n"
  },
  {
    "path": "languages/hi-IN/Types/text%2Fplain.tid",
    "content": "title: $:/language/Docs/Types/text/plain\ndescription:  टेक्स्ट के रंग\nname: text/plain\ngroup: \nटेक्स्ट \n"
  },
  {
    "path": "languages/hi-IN/Types/text%2Fvnd.tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/vnd.tiddlywiki\ndescription: टिड्लीविकि  5\nname: text/vnd.tiddlywiki\ngroup: \nटेक्स्ट \n"
  },
  {
    "path": "languages/hi-IN/plugin.info",
    "content": "{\n\t\"title\": \"$:/languages/hi-IN\",\n\t\"name\": \"hi-IN\",\n\t\"plugin-type\": \"language\",\n\t\"description\": \"हिन्दी (भारत)\",\n\t\"author\": \"Atul Grover\",\n\t\"core-version\": \">=5.0.8\"\n}\n"
  },
  {
    "path": "languages/ia-IA/Buttons.multids",
    "content": "title: $:/language/Buttons/\n\nAdvancedSearch/Caption: cerca avantiate\nAdvancedSearch/Hint: Cerca avantiate\nCancel/Caption: cancella\nCancel/Hint: Cancella redaction de iste nota\nClone/Caption: clona\nClone/Hint: Clona iste nota\nClose/Caption: claude\nClose/Hint: Claude iste nota\nCloseAll/Caption: claude omnes\nCloseAll/Hint: Claude omne notas\nCloseOthers/Caption: claude alteres\nCloseOthers/Hint: Claude altere notas\nControlPanel/Caption: pannello de controlo\nControlPanel/Hint: Aperi pannello de controlo\nDelete/Caption: dele\nDelete/Hint: Dele iste nota\nEdit/Caption: redige\nEdit/Hint: Redige iste nota\nEncryption/Caption: codification\nEncryption/ClearPassword/Caption: remove contrasigno\nEncryption/ClearPassword/Hint: Remove le contrasigno, e salva iste wiki sin codification\nEncryption/Hint: Fixa o remove un contrasigno pro salvar iste wiki\nEncryption/SetPassword/Caption: fixa contrasigno\nEncryption/SetPassword/Hint: Fixa un contrasigno pro salvar iste wiki con codification\nExportPage/Caption: exporta omnes\nExportPage/Hint: Exporta omne notas\nExportTiddler/Caption: exporta nota\nExportTiddler/Hint: Exporta nota\nExportTiddlers/Caption: exporta notas\nExportTiddlers/Hint: Exporta notas\nFullScreen/Caption: plen schermo\nFullScreen/Hint: Entra o exi plen schermo\nHideSideBar/Caption: cela barra lateral\nHideSideBar/Hint: Cela barra lateral\nHome/Caption: initio\nHome/Hint: Aperi le notas standard\nImport/Caption: importa\nImport/Hint: Importa files\nInfo/Hint: Monstra information pro iste nota\nLanguage/Caption: lingua\nLanguage/Hint: Selige le lingua del interfacie\nMore/Caption: plus\nMore/Hint: Plus de actiones\nNewHere/Caption: nove ci\nNewHere/Hint: Crea un nove nota con iste etiquetta\nNewJournal/Caption: nove jornal\nNewJournal/Hint: Crea un nove jornal\nNewJournalHere/Caption: nove jornal ci\nNewJournalHere/Hint: Crea un nove jornal con iste etiquetta\nNewTiddler/Caption: nove notitia\nNewTiddler/Hint: Crea un nove notitia\nPermalink/Caption: permaligamine\nPermalink/Hint: Fixa in le barra de adresses del navigator un ligamine directe a iste nota\nPermaview/Caption: permavista\nPermaview/Hint: Fixa in le barra de adresses del navigator un ligamine directe a omne le notas in iste historia\nRefresh/Caption: refresca\nRefresh/Hint: Executa un plen refrescamento de iste wiki\nSave/Caption: salva\nSave/Hint: Salva iste nota\nSaveWiki/Caption: salva cambios\nSaveWiki/Hint: Salva cambios\nShowSideBar/Caption: monstra barra lateral\nShowSideBar/Hint: Monstra barra lateral\nStoryView/Caption: presentation de historia\nStoryView/Hint: Selige le visualisation del historia\nTagManager/Caption: administrator de etiquettas\nTagManager/Hint: Aperi administrator de etiquettas\nTheme/Caption: thema\nTheme/Hint: Selige le thema a monstrar\n"
  },
  {
    "path": "languages/ia-IA/ControlPanel.multids",
    "content": "title: $:/language/ControlPanel/\n\nAdvanced/Caption: Avantiate\nAdvanced/Hint: Information interne super iste TiddlyWiki\nAppearance/Caption: Apparentia\nAppearance/Hint: Manieras de cambiar le apparentia de tu TiddlyWiki.\nBasics/AnimDuration/Prompt: Animation - duration:\nBasics/Caption: Basic\nBasics/DefaultTiddlers/BottomHint: Usa &#91;&#91;parentheses quadrate duple&#93;&#93; pro titulos con spatios. O selige {{mantener le ordine de historia||$:/snippets/retain-story-ordering-button}}\nBasics/DefaultTiddlers/Prompt: Notas standard:\nBasics/DefaultTiddlers/TopHint: Selige qual notas es monstrate in le initio:\nBasics/Language/Prompt: Hallo! Lingua actual:\nBasics/NewJournal/Tags/Prompt: Etiquettas pro nove jornales\nBasics/NewJournal/Title/Prompt: Titulo de nove jornales\nBasics/OverriddenShadowTiddlers/Prompt: Numero de superscribite notas umbral:\nBasics/ShadowTiddlers/Prompt: Numero de notas umbral:\nBasics/Subtitle/Prompt: Subtitulo:\nBasics/SystemTiddlers/Prompt: Numero de notas de systema:\nBasics/Tags/Prompt: Numero de etiquettas:\nBasics/Tiddlers/Prompt: Numero de notas:\nBasics/Title/Prompt: Titulo de iste ~TiddlyWiki:\nBasics/Username/Prompt: Nomine de usator pro signar redactiones:\nBasics/Version/Prompt: Version de ~TiddlyWiki:\nEditorTypes/Caption: Typos de editor\nEditorTypes/Editor/Caption: Editor\nEditorTypes/Hint: Iste notas determina qual editor es usate pro rediger specific typos de notas.\nEditorTypes/Type/Caption: Typo\nInfo/Hint: Information super iste TiddlyWiki\nLoadedModules/Caption: Modulos in function\nLoadedModules/Hint: Actualmente, modulos de notas in function es ligate a lor notas de fonte. A ulle modulos in italico manca un nota de fonte, typicamente proque illos esseva definite durante le processo de lanceamento initial.\nPalette/Caption: Paletta\nPalette/Editor/Clone/Caption: clona\nPalette/Editor/Clone/Prompt: Il es recommendate que tu clona iste paletta umbral ante rediger lo\nPalette/Editor/Prompt: Redige\nPalette/Editor/Prompt/Modified: Iste paletta umbral ha essite modificate\nPalette/Editor/Reset/Caption: reinitialisa\nPalette/HideEditor/Caption: cela editor\nPalette/Prompt: Paletta actual:\nPalette/ShowEditor/Caption: monstra editor\nPlugins/Caption: Extensiones\nPlugins/Disable/Caption: disactiva\nPlugins/Disable/Hint: Disactiva iste extension, quando le pagina es refrescate\nPlugins/Disabled/Status: (disactivate)\nPlugins/Empty/Hint: Nulle\nPlugins/Enable/Caption: activa\nPlugins/Enable/Hint: Activa iste extension, quando le pagina es refrescate\nPlugins/Language/Prompt: Linguas\nPlugins/Plugin/Prompt: Extensiones\nPlugins/Theme/Prompt: Themas\nSaving/Caption: Salva\nSaving/Heading: Salva\nSaving/TiddlySpot/Advanced/Heading: Preferentias avantiate\nSaving/TiddlySpot/BackupDir: Directorio pro copia de securitate\nSaving/TiddlySpot/Backups: Copias de securitate\nSaving/TiddlySpot/Description: Iste preferentias es solmente usate, quando on salva a http://tiddlyspot.com o a un servitor remote compatibile\nSaving/TiddlySpot/Filename: Nomine de file a cargar\nSaving/TiddlySpot/Hint: //Le adresse del servitor es como standard `http://<wikiname>.tiddlyspot.com/store.cgi` e pote esser cambiate a usar un proprie adresse de servitor//\nSaving/TiddlySpot/Password: Contrasigno\nSaving/TiddlySpot/ServerURL: Adresse de servitor\nSaving/TiddlySpot/UploadDir: Directorio de cargar\nSaving/TiddlySpot/UserName: Nomine de wiki\nSettings/AutoSave/Caption: Salva automaticamente\nSettings/AutoSave/Disabled/Description: Non salva automaticamente le cambios\nSettings/AutoSave/Enabled/Description: Salva automaticamente le cambios\nSettings/AutoSave/Hint: Salva automaticamente cambios durante le redaction\nSettings/Caption: Preferentias\nSettings/Hint: Iste preferentias permitte personalisar le maniera de ager del TiddlyWiki.\nSettings/NavigationAddressBar/Caption: Barra de navigation de adresses\nSettings/NavigationAddressBar/Hint: Maniera que le barra de adresses del navigator age quando navigante a un nota:\nSettings/NavigationAddressBar/No/Description: Non actualisa le barra de adresses\nSettings/NavigationAddressBar/Permalink/Description: Include le nota in question\nSettings/NavigationAddressBar/Permaview/Description: Include le nota in question e le sequentia del historia actual\nSettings/NavigationHistory/Caption: Historia de navigation\nSettings/NavigationHistory/Hint: Actualisa le historia del navigator, quando on naviga a un nota:\nSettings/NavigationHistory/No/Description: Non actualisa le historia\nSettings/NavigationHistory/Yes/Description: Actualisa le historia\nSettings/ToolbarButtons/Caption: Buttones del barra de utensiles\nSettings/ToolbarButtons/Hint: Apparentia standard del buttones del barra de utensiles:\nSettings/ToolbarButtons/Icons/Description: Include icone\nSettings/ToolbarButtons/Text/Description: Include texto\nStoryView/Caption: Presentation de historia\nStoryView/Prompt: Presentation actual:\nTheme/Caption: Thema\nTheme/Prompt: Thema actual:\nTiddlerFields/Caption: Quadros de un nota\nTiddlerFields/Hint: Isto es le plen collection de quadros de un nota in uso in iste wiki (inclusive notas de systema ma exclusive notas umbral).\nToolbars/Caption: Barras de utensiles\nToolbars/EditToolbar/Caption: Redige Barra de utensiles\nToolbars/EditToolbar/Hint: Selige qual buttones es monstrate pro notas sub redaction\nToolbars/Hint: Selige qual buttones del barra de utensiles es monstrate\nToolbars/PageControls/Caption: Barra de utensile pro paginas\nToolbars/PageControls/Hint: Selige qual buttones es monstrate in le barra de utensiles pro le pagina principal\nToolbars/ViewToolbar/Caption: Monstra Barra de utensiles\nToolbars/ViewToolbar/Hint: Selige qual buttones es monstrate pro notas in modo de presentation\nTools/Download/Full/Caption: Discarga le plen wiki\n"
  },
  {
    "path": "languages/ia-IA/CoreReadMe.tid",
    "content": "title: $:/core/readme\n\nIste addition contine componente nuclear del TiddlyWiki, includente:\n\n* Modulos de codice JavaScript\n* Icones\n* Modellos necessari pro crear le interfacie de usator del TiddlyWiki\n* Traductiones in anglese britannic (en-GB) de messages traducibile per usar le nucleo\n"
  },
  {
    "path": "languages/ia-IA/Dates.multids",
    "content": "title: $:/language/\n\nDate/DaySuffix/1: \nDate/DaySuffix/10: \nDate/DaySuffix/11: \nDate/DaySuffix/12: \nDate/DaySuffix/13: \nDate/DaySuffix/14: \nDate/DaySuffix/15: \nDate/DaySuffix/16: \nDate/DaySuffix/17: \nDate/DaySuffix/18: \nDate/DaySuffix/19: \nDate/DaySuffix/2: \nDate/DaySuffix/20: \nDate/DaySuffix/21: \nDate/DaySuffix/22: \nDate/DaySuffix/23: \nDate/DaySuffix/24: \nDate/DaySuffix/25: \nDate/DaySuffix/26: \nDate/DaySuffix/27: \nDate/DaySuffix/28: \nDate/DaySuffix/29: \nDate/DaySuffix/3: \nDate/DaySuffix/30: \nDate/DaySuffix/31: \nDate/DaySuffix/4: \nDate/DaySuffix/5: \nDate/DaySuffix/6: \nDate/DaySuffix/7: \nDate/DaySuffix/8: \nDate/DaySuffix/9: \nDate/Long/Day/0: dominica\nDate/Long/Day/1: lunedi\nDate/Long/Day/2: martedi\nDate/Long/Day/3: mercuridi\nDate/Long/Day/4: jovedi\nDate/Long/Day/5: venerdi\nDate/Long/Day/6: sabbato\nDate/Long/Month/1: januario\nDate/Long/Month/10: octobre\nDate/Long/Month/11: novembre\nDate/Long/Month/12: decembre\nDate/Long/Month/2: februario\nDate/Long/Month/3: martio\nDate/Long/Month/4: april\nDate/Long/Month/5: maio\nDate/Long/Month/6: junio\nDate/Long/Month/7: julio\nDate/Long/Month/8: augusto\nDate/Long/Month/9: septembre\nDate/Period/am: a.m.\nDate/Period/pm: p.m.\nDate/Short/Day/0: dom.\nDate/Short/Day/1: lun.\nDate/Short/Day/2: mar.\nDate/Short/Day/3: mer.\nDate/Short/Day/4: jov.\nDate/Short/Day/5: ven.\nDate/Short/Day/6: sab.\nDate/Short/Month/1: jan.\nDate/Short/Month/10: oct.\nDate/Short/Month/11: nov.\nDate/Short/Month/12: dec.\nDate/Short/Month/2: feb.\nDate/Short/Month/3: mar.\nDate/Short/Month/4: apr.\nDate/Short/Month/5: maio\nDate/Short/Month/6: jun.\nDate/Short/Month/7: jul.\nDate/Short/Month/8: aug.\nDate/Short/Month/9: sep.\nRelativeDate/Future/Days: <<period>> dies ab ora\nRelativeDate/Future/Hours: <<period>> horas ab ora\nRelativeDate/Future/Minutes: <<period>> minutas ab ora\nRelativeDate/Future/Months: <<period>> menses ab ora\nRelativeDate/Future/Second: 1 secunda ab ora\nRelativeDate/Future/Seconds: <<period>> secundas ab ora\nRelativeDate/Future/Years: <<period>> annos ab ora\nRelativeDate/Past/Days: <<period>> dies retro\nRelativeDate/Past/Hours: <<period>> horas retro\nRelativeDate/Past/Minutes: <<period>> minutas retro\nRelativeDate/Past/Months: <<period>> menses retro\nRelativeDate/Past/Second: 1 secunda retro\nRelativeDate/Past/Seconds: <<period>> secundas retro\nRelativeDate/Past/Years: <<period>> annos retro\n"
  },
  {
    "path": "languages/ia-IA/Docs/ModuleTypes.multids",
    "content": "title: $:/language/Docs/ModuleTypes/\n\nanimation: Animationes que pote esser usate in combination con RevealWidget.\ncommand: Commandos que pote esser executate per Node.js.\nconfig: Datos a esser inserite in `$tw.config`.\nfilteroperator: Methodos de operatores de filtros individual.\nglobal: Datos global a esser inserite in `$tw`.\nisfilteroperator: Operatores pro le operator de filtro ''is''.\nmacro: Definitiones de macros JavaScript.\nparser: Divisores pro differente typos de contento.\nsaver: Salvatores tracta methodos differente de salvar files ab le navigator.\nstartup: Functiones initial.\nstoryview: Presentationes de historia adjuta le animation e conducto del widgets de listas.\ntiddlerdeserializer: Converte differente typos de contento a in notas.\ntiddlerfield: Defini le conducto de un quadro individual de un nota.\ntiddlermethod: Adde methodos al prototypo `$tw.Tiddler`.\nupgrader: Executa le tractamento de modernisation a notas durante un modernisation/importation.\nutils: Adde methodos a `$tw.utils`.\nutils-node: Adde methodos specific pro Node.js a `$tw.utils`.\nwidget: Widgets incapsula interpretation e refrescamento de DOM.\nwikimethod: Adde methodos a `$tw.Wiki`.\nwikirule: Regulas individual de divison pro le divisor principal de WikiText.\n"
  },
  {
    "path": "languages/ia-IA/Docs/PaletteColours.multids",
    "content": "title: $:/language/Docs/PaletteColours/\n\nalert-background: Fundo de alarma\nalert-border: Fundo de bordo\nalert-highlight: Coloration de alarma\nalert-muted-foreground: Prime plano mute de alarma\nbackground: Fundo general\ndirty-indicator: Indicator pro cambios non salvate\ndownload-background: Fundo de button pro discargar\ndownload-foreground: Prime plano de button pro discargar\nexternal-link-background: Fundo de ligamine externe\nexternal-link-background-hover: Fundo de ligamine externe, quando on move supra illo\nexternal-link-background-visited: Fundo de ligamine externe visitate\nexternal-link-foreground: Prime plano de ligamine externe\nexternal-link-foreground-hover: Prime plano de ligamine externe, quando on move supra illo\nexternal-link-foreground-visited: Prime plano de ligamine externe visitate\nforeground: Prime plano general\nmessage-background: Fundo de cassa con messages\nmessage-border: Bordo de cassa con messages\nmessage-foreground: Prime plano de cassa con messages\nmuted-foreground: Prime plano general mute\nnotification-background: Fundo de notification\nnotification-border: Bordo de notification\npage-background: Fundo de pagina\npre-background: Fundo de codice preformatate\npre-border: Bordo de codice preformatate\nsidebar-button-foreground: Prime plano de button in barra lateral\nsidebar-controls-foreground: Prime plano de buttones in barra lateral\nsidebar-controls-foreground-hover: Prime plano de buttones in barra lateral, quando on move supra illos\nsidebar-foreground: Prime plano de barra lateral\nsidebar-foreground-shadow: Umbra in prime plano de barra lateral\nsidebar-muted-foreground: Fundo mute de barra lateral\nsidebar-muted-foreground-hover: Prime plano mute de barra lateral, quando on move supra illo\nsidebar-tab-background: Fundo de scheda in barra lateral\nsidebar-tab-background-selected: Fundo de scheda in barra lateral pro schedas seligite\nsidebar-tab-border: Bordo de scheda in barra lateral\nsidebar-tab-border-selected: Bordo de scheda in barra lateral pro schedas seligite\nsidebar-tab-divider: Marca de division de scheda in barra lateral\nsidebar-tab-foreground: Prime plano de scheda in barra lateral\nsidebar-tab-foreground-selected: Prime plano de schedas in barra lateral pro schedas seligite\nsidebar-tiddler-link-foreground: Prime plano de ligamine de nota in barra lateral\nsidebar-tiddler-link-foreground-hover: Prime plano de ligamine de nota in barra lateral, quando on move supra illo\nstatic-alert-foreground: Prime plano de alarma static\ntab-background: Fundo del scheda\ntab-background-selected: Fundo del scheda pro schedas seligite\ntab-border: Bordo de scheda\ntab-border-selected: Bordo del scheda pro schedas seligite\ntab-divider: Marca de division del schedas\ntab-foreground: Prime plano del scheda\ntab-foreground-selected: Prime plano de scheda pro schedas seligite\ntable-border: Bordo del tabella\ntable-footer-background: Fundo del pede del tabella\ntable-header-background: Fundo del capite del tabella\ntag-background: Fundo del etiquetta\ntag-foreground: Prime plano del etiquetta\ntiddler-background: Fundo del nota\ntiddler-border: Bordo del nota\ntiddler-controls-foreground: Prime plano de buttones del nota\ntiddler-controls-foreground-hover: Prime plano de buttones del nota, quando on move supra illo\ntiddler-controls-foreground-selected: Prime plano de buttones del nota pro buttones seligite\ntiddler-editor-background: Fundo del editor de nota\ntiddler-editor-border: Bordo del editor de nota\ntiddler-editor-border-image: Imagine de bordo del editor del nota\ntiddler-editor-fields-even: Fundo de editor del nota pro quadros par\ntiddler-editor-fields-odd: Fundo de editor del nota pro quadros impar\ntiddler-info-background: Fundo del panello de info del nota\ntiddler-info-border: Bordo de panello de info del nota\ntiddler-info-tab-background: Scheda de panello de info del nota in fundo\ntiddler-link-background: Ligamine de nota in fundo\ntiddler-link-foreground: Ligamine de nota in prime plano\ntiddler-subtitle-foreground: Subtitutlo de nota in prime plano\ntiddler-title-foreground: Titulo de nota in prime plano\ntoolbar-cancel-button: Button 'cancella' del barra de utensiles in prime plano\ntoolbar-close-button: Button 'claude' del barra de utensiles in prime plano\ntoolbar-delete-button: Button 'dele' del barra de utensiles in prime plano\ntoolbar-done-button: Button 'OK' del barra de utensiles in prime plano\ntoolbar-edit-button: Button 'redige' del barra de utensiles in prime plano\ntoolbar-info-button: Button 'info' del barra de utensiles in prime plano\ntoolbar-new-button: Button 'nove nota' del barra de utensiles in prime plano\ntoolbar-options-button: Button 'optiones' del barra de utensiles in prime plano\ntoolbar-save-button: Button 'salva' del barra de utensiles in prime plano\nuntagged-background: Fundo sin etiquettas\nvery-muted-foreground: Prime plano multo mute\n"
  },
  {
    "path": "languages/ia-IA/EditTemplate.multids",
    "content": "title: $:/language/EditTemplate/\n\nBody/External/Hint: Isto es un nota externe salvate extra le file principal del TiddlyWiki. Tu pote rediger le etiquettas e quadros ma non directemente rediger le contento mesme\nBody/Placeholder: Scribe le texto pro iste nota\nField/Remove/Caption: remove quadro\nField/Remove/Hint: Remove quadro\nFields/Add/Button: adde\nFields/Add/Name/Placeholder: nomine de quadro\nFields/Add/Prompt: Adde un nove quadro:\nFields/Add/Value/Placeholder: valor del quadro\nShadow/OverriddenWarning: Isto es un modificate nota umbral. Tu pote reverter al version standard per deler iste nota\nShadow/Warning: Isto es un nota umbral. Ulle cambios va superscriber le version standard\nTags/Add/Button: adde\nTags/Add/Placeholder: nomine de etiquetta\nTags/Dropdown/Caption: lista de etiquettas\nTags/Dropdown/Hint: Monstra lista de etiquettas\nType/Delete/Caption: dele typo de contento\nType/Delete/Hint: Dele typo de contento\nType/Dropdown/Caption: lista del typos de contento\nType/Dropdown/Hint: Monstra lista del typos de contento\nType/Placeholder: typos de contento\nType/Prompt: Typo:\n"
  },
  {
    "path": "languages/ia-IA/Exporters.multids",
    "content": "title: $:/language/Exporters/\n\nCsvFile: File CSV de notas\nJsonFile: File JSON de notas\nStaticRiver: Fluvio de notas como static file HTML\nTidFile: Singule notitia como file \".tid\"\n"
  },
  {
    "path": "languages/ia-IA/Fields.multids",
    "content": "title: $:/language/Docs/Fields/\n\n_canonical_uri: Le plen adresse de un externe nota imagine\nbag: Le nomine del sacco del qual veniva un nota\ncaption: Le texto a monstrar sur un scheda o button\ncolor: Le valor del color CSS associate con un nota\ncomponent: Le nomine del componente responsabile pro un [[alert tiddler|AlertMechanism]]\ncreated: Le data al qual le nota esseva create\ncreator: Le nomine del persona qui creava le nota\ncurrent-tiddler: Usate pro salvar temporarimente le nota principal in un [[history list|HistoryMechanism]]\ndependents: Pro un extension, listas del titulos de extensiones dependente\ndescription: Le texto descriptive de un extension o un dialogo modal\ndraft.of: Pro notas de schizzo, contine le titulo del nota del qual isto es un schizzo\ndraft.title: Pro notas de schizzo, contine le proponite nove titulo del nota\nfooter: Le texto de pede de un guida\nicon: Le titulo del nota con le icone associate con un nota\nlibrary: Quando fixate a \"si\" illo indica que un nota debe esser salvate como un bibliotheca de JavaScript\nlist: Un lista arrangiate de titulos de notas associate con un nota\nlist-after: Si activate, le titulo del nota post le qual iste nota debe esser addite al lista arrangiate de titulos de notas\nlist-before: Si activate, le titulo de un nota ante que iste nota debe esser addite al lista arrangiate de titulos de notas, o al initio del lista si iste quadro es presente ma vacue\nmodified: Le data e hora al qual un nota esseva modificate le plus recentemente\nmodifier: Le titulo de nota associate con le persona qui le plus recentemente modificava un nota\nname: Le nomine human legibile associate con un nota de extension\nplugin-priority: Un valor numeric que indica le prioritate de un nota de extension\nplugin-type: Le typo de extension de un extension de nota\nreleased: Data de un version de TiddlyWiki\nrevision: Le revision del nota como salvate al servitor\nsource: Le adresse fonte associate con un nota\nsubtitle: Le texto de subtitulo de un guida\ntags: Un lista de etiquettas associate con un nota\ntext: Le texto de un nota\ntitle: Le nomine unic de un nota\ntype: Le typo de contento de un nota\nversion: Information super le version de un extension\n"
  },
  {
    "path": "languages/ia-IA/Filters.multids",
    "content": "title: $:/language/Filters/\n\nAllTags: Omne etiquettas excepte etiquettas de systema\nAllTiddlers: Omne notas excepte notas de systema\nDrafts: Notas de schizzo\nMissing: Notas mancante\nOrphans: Notas orphano\nOverriddenShadowTiddlers: Notas umbral superscribite\nRecentSystemTiddlers: Notas recentemente modificate, inclusive notas de systema\nRecentTiddlers: Notas recentemente modificate\nShadowTiddlers: Notas umbral\nSystemTags: Etiquettas de systema\nSystemTiddlers: Notas de systema\n"
  },
  {
    "path": "languages/ia-IA/GettingStarted.tid",
    "content": "title: GettingStarted\n\n\\define lingo-base() $:/language/ControlPanel/Basics/\nBenvenite a ~TiddlyWiki e le communitate de ~TiddlyWiki\n\nAnte que tu comencia salvar informationes importante in ~TiddlyWiki, il es importante assecurar que tu pote salvar cambios con fide. Vide https://tiddlywiki.com/#GettingStarted pro detalios\n\n!! Prepara iste ~TiddlyWiki\n\n<div class=\"tc-control-panel\">\n\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit-text tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\nVide le [[control panel|$:/ControlPanel]] pro plus de optiones.\n"
  },
  {
    "path": "languages/ia-IA/Help/build.tid",
    "content": "title: $:/language/Help/build\ndescription: Executa automaticamente commandos configurate\n\nConstrue le specificate objectivos de construction pro le wiki actual. Si nulle objectivos de construction es specificate, omne objectivos disponibile essera create.\n\n```\n--build <target> [<target> ...]\n```\n\nObjectivos de construction es definite in le file `tiddlywiki.info` de un dossier wiki.\n\n"
  },
  {
    "path": "languages/ia-IA/Help/clearpassword.tid",
    "content": "title: $:/language/Help/clearpassword\ndescription: Remove le contrasigno pro sequente operationes crypto\n\nRemove le contrasigno pro sequente operationes crypto\n\n```\n--clearpassword\n```\n"
  },
  {
    "path": "languages/ia-IA/Help/default.tid",
    "content": "title: $:/language/Help/default\ndescription: \n\n\\define commandTitle()\n$:/language/Help/$(command)$\n\\end\n```\nusage: tiddlywiki [<wikifolder>] [--<command> [<args>...]...]\n```\n\nCommandos disponibile:\n\n<ul>\n<$list filter=\"[commands[]sort[title]]\" variable=\"command\">\n<li><$link to=<<commandTitle>>><$macrocall $name=\"command\" $type=\"text/plain\" $output=\"text/plain\"/></$link>: <$transclude tiddler=<<commandTitle>> field=\"description\"/></li>\n</$list>\n</ul>\n\nPro obtener adjuta detaliate super un commando:\n\n```\ntiddlywiki --help <command>\n```\n"
  },
  {
    "path": "languages/ia-IA/Help/editions.tid",
    "content": "title: $:/language/Help/editions\ndescription: Lista le editiones disponibile de TiddlyWiki\n\nLista le nomines e descriptiones de editiones disponibile. On pote crear un nove wiki in un edition specific con le commando `--init`.\n\n```\n--editions\n```\n"
  },
  {
    "path": "languages/ia-IA/Help/help.tid",
    "content": "title: $:/language/Help/help\ndescription: Monstra adjuta pro commandos de TiddlyWiki\n\nMonstra texto de adjuta pro un commando:\n\n```\n--help [<command>]\n```\n\nSi le nomine de commando es omittite, un lista de commandos disponibile es monstrate.\n"
  },
  {
    "path": "languages/ia-IA/Help/init.tid",
    "content": "title: $:/language/Help/init\ndescription: Initialisa un nove dossier wiki\n\nInitialisa un vacue [[WikiFolder|WikiFolders]] per un copia del edition specificate.\n\n```\n--init <edition> [<edition> ...]\n```\n\nPer exemplo:\n\n```\ntiddlywiki ./MyWikiFolder --init empty\n```\n\nNota:\n\n* Le directorio del dossier wiki essera create si besoniate\n* Le \"edition\" es como standard ''empty''\n* Le commando init fallera, si le dossier wiki non es vacue\n* Le commando init remove ulle definitiones `includeWikis` in le file `tiddlywiki.info` del edition\n* Quando multiple editiones es specificate, editiones initialisate plus tarde va superscriber ulle files commun con editiones anterior (le file final `tiddlywiki.info` essera copiate del ultime edition)\n* `--editions` monstra un lista de editiones disponibile\n"
  },
  {
    "path": "languages/ia-IA/Help/load.tid",
    "content": "title: $:/language/Help/load\ndescription: Aperi notas de un file\n\nAperi notas de files 2.x.x TiddlyWiki (`.html`), `.tiddler`, `.tid`, `.json` o altere files \n\n```\n--aperi <filepath>\n```\n\nPro aperir notas de un file codificate TiddlyWiki on debe primo indicar le conrasigno con le commando PasswordCommand. Per exemplo:\n\n```\ntiddlywiki ./MyWiki --password pa55w0rd --aperi_mi_wiki_codificate.html\n```\n\nNota que TiddlyWiki non va aperir un version anterior de un extension ja activate.\n"
  },
  {
    "path": "languages/ia-IA/Help/makelibrary.tid",
    "content": "title: $:/language/Help/makelibrary\ndescription: Construe extension de bibliotheca besoniate pro le processo de actualisation\n\nConstrue le nota `$:/UpgradeLibrary` pro le processo de actualisation.\n\nLe bibliotheca pro actualisation es formatate como un ordinari nota de extension con le typo `library`. Illo contine un copia de cata del extensiones, themas e paccos lingual disponibile in le deposito TiddlyWiki5.\n\nIste commando es intendite pro uso interne; illo es solmente relevante pro usatores qui construe un procedura individual de actualisation.\n\n```\n--makelibrary <title>\n```\n\nLe argumento del titulo es como standard `$:/UpgradeLibrary`.\n"
  },
  {
    "path": "languages/ia-IA/Help/notfound.tid",
    "content": "title: $:/language/Help/notfound\ndescription: \n\nNulle tal puncto de adjuta"
  },
  {
    "path": "languages/ia-IA/Help/output.tid",
    "content": "title: $:/language/Help/output\ndescription: Fixa le bibliotheca basic de resultatos pro commandos sequente\n\nFixa le bibliotheca basic de resultatos pro commandos sequente. Le bibliotheca standard de resultatos es le subbibliotheca `output` del bibliotheca ubi on redige.\n\n```\n--output <pathname>\n```\n\nSi le sentiero specificate es relative, illo es resolvite relativemente al actual bibliotheca de labor. Per exemplo `--output .` fixa le bibliotheca de resultatos al actual bibliotheca de labor.\n\n"
  },
  {
    "path": "languages/ia-IA/Help/password.tid",
    "content": "title: $:/language/Help/password\ndescription: Fixa un contrasigno pro operationes sequente de codification\n\nFixa un contrasigno pro operationes sequente de codification\n\n```\n--password <password>\n```\n\n"
  },
  {
    "path": "languages/ia-IA/Help/rendertiddler.tid",
    "content": "title: $:/language/Help/rendertiddler\ndescription: Rende un nota individual como un specificate ContentType\n\nRende un nota individual como un specificate ContentType, le standard es `text/html` e salva lo al nomine specificate de file:\n\n```\n--rendertiddler <title> <filename> [<type>]\n```\n\nComo standard, le nomine de file es resolvite relative al subbibliotheca `output` del biblioteca de redactiones. Le commando `--output` pote esser usate pro diriger le resultatos a un altere bibliotheca.\n\nUlle bibliothecas mancante in le sentiero del nomine de file es create automaticamente.\n"
  },
  {
    "path": "languages/ia-IA/Help/rendertiddlers.tid",
    "content": "title: $:/language/Help/rendertiddlers\ndescription: Rende notas secundo un filtro a un specificate ContentType\n\nRender un serie de notas secundo un filtro pro separar files de un specificate ContentType (le standard es `text/html`) e extension (le standard es `.html`).\n\n```\n--rendertiddlers <filter> <template> <pathname> [<type>] [<extension>]\n```\n\nPer exemplo:\n\n```\n--rendertiddlers [!is[system]] $:/core/templates/static.tiddler.html ./static text/plain\n```\n\nComo standard, le nomine de sentiero es resolvite relative al subbibliotheca `output` del bibliotheca de redactiones. Le commando `--output` pote esser usate pro diriger resultatos a un bibliotheca differente.\n\nUlle file in le bibliotheca de destination es delite. Le bibliotheca de destination es create, si illo manca.\n"
  },
  {
    "path": "languages/ia-IA/Help/savetiddler.tid",
    "content": "title: $:/language/Help/savetiddler\ndescription: Salva un nota pur a un file\n\nSalva un nota individual in su texto pur o formato binari al nomine specificate de file.\n\n```\n--savetiddler <title> <filename>\n```\n\nComo standard, le nomine de file es resolvite relative al subbibliotheca `output` del bibliotheca de redactiones. Le commando `--output` pote esser usate pro diriger resultatos a un bibliotheca differente.\n\nUlle bibliothecas mancante in le sentiero pro le nomine de file es create automaticamente.\n"
  },
  {
    "path": "languages/ia-IA/Help/savetiddlers.tid",
    "content": "title: $:/language/Help/savetiddlers\ndescription: Salva un gruppo de notas pur a un bibliotheca\n\nSalva un gruppo de notas in lor texto pur o formato binari a un bibliotheca specificate.\n\n```\n--savetiddlers <filter> <pathname>\n```\n\nComo standard, le nomine de sentiero es resolvite relative al subbibliotheca `output` del bibliotheca de redactiones. Le commando `--output` pote esser usate pro diriger resultatos a un bibliotheca differente.\n\nUlle bibliothecas mancante in le nomine de sentiero es create automaticamente.\n"
  },
  {
    "path": "languages/ia-IA/Help/server.tid",
    "content": "title: $:/language/Help/server\ndescription: Provide un interfacite de servitor HTTP a TiddlyWiki\n\nLe servitor includite in TiddlyWiki5 es multo simple. Mesmo si illo es compatibile con TiddlyWeb, illo non supporta multe del functiones besoniate pro uso robuste de Internet.\n\nComo radice, illo servi pro render un nota specific. Excepte le radice, illo servi notas individual scribite in JSON, e supporta le operationes basic de HTTP pro `GET`, `PUT` e `DELETE`.\n\n```\n--server <port> <roottiddler> <rendertype> <servetype> <username> <password> <host> <pathprefix>\n```\n\nLe parametros es:\n\n* ''port'' - numero del porta del qual servir (le standard es \"8080\")\n* ''roottiddler'' - le nota que functiona como le radice (le standard es \"$:/core/save/all\") \n* ''rendertype'' - le typo de contento al qual le nota radice debe esser rendite (le standard es \"text/plain\")\n* ''servetype'' - le typo de contento per le qual le nota radice debe esser tractate (le standard es \"text/html\")\n* ''username'' - le nomine standard de usator pro cambios redactional\n* ''password'' - contrasigno optional pro authentication basic\n* ''host'' - nomine optional de hospite del qual servir (le standard es \"127.0.0.1\" anque appellate \"localhost\")\n* ''pathprefix'' - prefixo optional pro sentieros\n\nSi le parametro con le conrasigno es specificate, le navigator va demandar le usator a inserer le nomine de usator e contrasigno. Nota que le contrasigno es transmittite como texto pur, dunque le implementation non es apte pro uso general.\n\nPro exemplo:\n\n```\n--server 8080 $:/core/save/all text/plain text/html MiNomine c0ntrasigno\n```\n\nLe nomine de usator e contrasigno pote esser specificate como vacue, si on besonia fixar le nomine de hospite e le prefico del sentiero e non desira demandar un contrasigno:\n\n```\n--server 8080 $:/core/save/all text/plain text/html \"\" \"\" 192.168.0.245\n```\n\nPro currer multiple servitores TiddlyWiki al mesme tempore, cata uno debe haber un porta differente.\n"
  },
  {
    "path": "languages/ia-IA/Help/setfield.tid",
    "content": "title: $:/language/Help/setfield\ndescription: Prepares external tiddlers for use\n\n//Nota que iste commando es experimental e pote cambiar o esser replaciate ante esser finalisate//\n\nFixa le quadro specificate de un gruppo de notas al resultato de wikificar un nota modello con le variabile `currentTiddler` create pro le nota.\n\n```\n--setfield <filter> <fieldname> <templatetitle> <rendertype>\n```\n\nLe parametros es:\n\n* ''filter'' - filtro que identifica le notas a esser toccate\n* ''fieldname'' - le quadro a modificar (le standard es \"text\")\n* ''templatetitle'' - le nota a wikificar a in le quadro specificate. Si vacue o mancante, alora le quadro specificate es delite\n* ''rendertype'' - le typo de texto a tractar (le standard es \"text/plain\"; \"text/html\" pote esser usate pro includer etiquettas HTML)\n"
  },
  {
    "path": "languages/ia-IA/Help/unpackplugin.tid",
    "content": "title: $:/language/Help/unpackplugin\ndescription: Extrahe le notas utile de un extension\n\nExtrahe le notas utile de un extension, creante los como notas ordinari:\n\n```\n--unpackplugin <title>\n```\n"
  },
  {
    "path": "languages/ia-IA/Help/verbose.tid",
    "content": "title: $:/language/Help/verbose\ndescription: Activa resultatos con texto extense\n\nActiva resultatos con texto extense, utile pro trovar errores\n\n```\n--verbose\n```\n"
  },
  {
    "path": "languages/ia-IA/Help/version.tid",
    "content": "title: $:/language/Help/version\ndescription: Monstra le numero de version de TiddlyWiki\n\nMonstra le numero de version de TiddlyWiki.\n\n```\n--version\n```\n"
  },
  {
    "path": "languages/ia-IA/Import.multids",
    "content": "title: $:/language/Import/\n\nListing/Cancel/Caption: Cancella\nListing/Hint: Iste notas es preste a importar\nListing/Import/Caption: Importa\nListing/Select/Caption: Selige\nListing/Status/Caption: Stato\nListing/Title/Caption: Titulo\nUpgrader/Plugins/Suppressed/Incompatible: Extension bloccate incompatibile o obsolete\nUpgrader/Plugins/Suppressed/Version: Extension bloccate (proque entrante <<incoming>>  es plus vetere que existente <<existing>>)\nUpgrader/Plugins/Upgraded: Extension actualisate de <<incoming>> a <<upgraded>>\nUpgrader/State/Suppressed: Bloccate nota temporari de stato\nUpgrader/System/Suppressed: Bloccate nota de systema\nUpgrader/ThemeTweaks/Created: Migrate thema adjustate de <$text text=<<from>>/>\n"
  },
  {
    "path": "languages/ia-IA/Misc.multids",
    "content": "title: $:/language/\n\nBinaryWarning/Prompt: Iste nota contine datos binari\nClassicWarning/Hint: Iste nota es scribite in le formato textual wiki TiddlyWiki Classic, que non es plenmente compatibile con TiddlyWiki version 5. Vide https://tiddlywiki.com/static/Upgrading.html pro plus de detalios. \nClassicWarning/Upgrade/Caption: modernisa\nCloseAll/Button: claude omnes\nConfirmCancelTiddler: Desira tu annullar cambios al nota \"<$text text=<<title>>/>\"?\nConfirmDeleteTiddler: Desira tu deler le nota \"<$text text=<<title>>/>\"?\nConfirmEditShadowTiddler: Tu es al puncto de rediger un nota umbral. Ulle cambios superscribera le systema standard, lo que facera modernisationes futur non-trivial. Es tu secur que tu desira rediger \"<$text text=<<title>>/>\"?\nConfirmOverwriteTiddler: Desira tu superscriber le nota \"<$text text=<<title>>/>\"?\nDefaultNewTiddlerTitle: Nove nota\nDropMessage: Lassa cader ci (o clicca Esc pro cancellar)\nEncryption/ConfirmClearPassword: Desira tu remover le contrasigno? Isto va remover le usate codification quando iste wiki es conservate\nEncryption/PromptSetPassword: Fixa un nove contrasigno pro iste TiddlyWiki\nMissingTiddler/Hint: Notas mancante \"<$text text=<<currentTiddler>>/>\" - clicca {{||$:/core/ui/Buttons/edit}} pro crear\nRecentChanges/DateFormat: le DD de MMM YYYY\nSystemTiddler/Tooltip: Isto es un notitia de systema\nTagManager/Colour/Heading: Color\nTagManager/Icon/Heading: Icone\nTagManager/Info/Heading: Information\nTagManager/Tag/Heading: Etiquetta\nUnsavedChangesWarning: Tu ha cambios non conservate in TiddlyWiki\n"
  },
  {
    "path": "languages/ia-IA/Modals/Download.tid",
    "content": "title: $:/language/Modals/Download\ntype: text/vnd.tiddlywiki\nsubtitle: Download changes\nfooter: <$button message=\"tm-close-tiddler\">Close</$button>\nhelp: https://tiddlywiki.com/static/DownloadingChanges.html\n\nTu navigator supporta solmente que on salva manualmente.\n\nPro salvar tu wiki modificate, clicca a dextere al ligamine de discargar in basso e selige \"Discarga file\" o \"Salva file\", e selige pois le dossier e nomine de file.\n\n//On pote marginalmente accelerar cosas per cliccar le ligamine per le clave Ctrl (Windows) o le Option/Alt (Mac OS X). Tu non essera demandate le dossier o nomine de file, ma tu navigator probabilemente lo dara un nomine irrecognoscibile - probabilemente on besonia renominar le file a includer un extension `.html` ante que on pote laborar con illo.//\n\nIn telephonos mobile que non permitte discargar files, on pote in vice crear marcator al ligamine e pois synchronisar le marcatores al computator stationari, sur le qual le wiki pote esser salvate in maniera normal.\n"
  },
  {
    "path": "languages/ia-IA/NewJournal.multids",
    "content": "title: $:/config/NewJournal/\n\nTags: Jornal\nTitle: le DD de MMM YYYY\n"
  },
  {
    "path": "languages/ia-IA/Notifications.multids",
    "content": "title: $:/language/Notifications/\n\nSave/Done: Wiki salvate\nSave/Starting: Comencia salvar wiki\n"
  },
  {
    "path": "languages/ia-IA/Search.multids",
    "content": "title: $:/language/Search/\n\nDefaultResults/Caption: Lista\nFilter/Caption: Filtro\nFilter/Hint: Cerca via un [[filter expression|https://tiddlywiki.com/static/Filters.html]]\nFilter/Matches: //<small><<resultCount>> resultatos</small>//\nMatches: //<small><<resultCount>> resultatos</small>//\nShadows/Caption: Umbras\nShadows/Hint: Cerca pro notas umbral\nShadows/Matches: //<small><<resultCount>> resultatos</small>//\nStandard/Hint: Cerca pro notas standard\nStandard/Matches: //<small><<resultCount>> resultatos</small>//\nSystem/Caption: Systema\nSystem/Hint: Cerca pro notas de systema\nSystem/Matches: //<small><<resultCount>> resultatos</small>//\n"
  },
  {
    "path": "languages/ia-IA/SideBar.multids",
    "content": "title: $:/language/SideBar/\n\nAll/Caption: Omnes\nContents/Caption: Contento\nDrafts/Caption: Schizzos\nMissing/Caption: Mancante\nMore/Caption: Plus\nOpen/Caption: Aperi\nOrphans/Caption: Orphanos\nRecent/Caption: Recente\nShadows/Caption: Umbras\nSystem/Caption: Systema\nTags/Caption: Etiquettas\nTags/Untagged/Caption: sin etiquetta\nTools/Caption: Utensiles\nTypes/Caption: Typos\n"
  },
  {
    "path": "languages/ia-IA/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\nun quaderno non-linear personal de rete"
  },
  {
    "path": "languages/ia-IA/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\nMi ~TiddlyWiki"
  },
  {
    "path": "languages/ia-IA/TiddlerInfo.multids",
    "content": "title: $:/language/TiddlerInfo/\n\nAdvanced/Caption: Avantiate\nAdvanced/PluginInfo/Empty/Hint: nulle\nAdvanced/PluginInfo/Heading: Detalios de extension\nAdvanced/PluginInfo/Hint: Iste extension contine le sequente notas umbral:\nAdvanced/ShadowInfo/Heading: Stato umbral\nAdvanced/ShadowInfo/NotShadow/Hint: Le nota <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> non es un nota umbral\nAdvanced/ShadowInfo/OverriddenShadow/Hint: Illo es superscribite per un nota ordinari\nAdvanced/ShadowInfo/Shadow/Hint: Le nota <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> es un nota umbral\nAdvanced/ShadowInfo/Shadow/Source: Illo es definite in le extension <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>\nFields/Caption: Quadros\nList/Caption: Lista\nList/Empty: Iste nota non ha un lista\nListed/Caption: Listate\nListed/Empty: Iste nota non es listate per ulle alteres\nReferences/Caption: Referentias\nReferences/Empty: Nulle nota liga a isto\nTagging/Caption: Etiquetta\nTagging/Empty: Nulle nota porta iste etiquetta\nTools/Caption: Utensiles\n"
  },
  {
    "path": "languages/ia-IA/Types/application%2Fjavascript.tid",
    "content": "title: $:/language/Docs/Types/application/javascript\ndescription: Codice de JavaScript\nname: application/javascript\ngroup: Developpator\n"
  },
  {
    "path": "languages/ia-IA/Types/application%2Fjson.tid",
    "content": "title: $:/language/Docs/Types/application/json\ndescription: Datos de JSON\nname: application/json\ngroup: Developpator\n"
  },
  {
    "path": "languages/ia-IA/Types/application%2Fx-tiddler-dictionary.tid",
    "content": "title: $:/language/Docs/Types/application/x-tiddler-dictionary\ndescription: Dictionario de datos\nname: application/x-tiddler-dictionary\ngroup: Developpator\n"
  },
  {
    "path": "languages/ia-IA/Types/image%2Fgif.tid",
    "content": "title: $:/language/Docs/Types/image/gif\ndescription: Imagine GIF\nname: image/gif\ngroup: Imagine\n"
  },
  {
    "path": "languages/ia-IA/Types/image%2Fjpeg.tid",
    "content": "title: $:/language/Docs/Types/image/jpeg\ndescription: Imagine JPEG\nname: image/jpeg\ngroup: Imagine\n"
  },
  {
    "path": "languages/ia-IA/Types/image%2Fpng.tid",
    "content": "title: $:/language/Docs/Types/image/png\ndescription: Imagine PNG\nname: image/png\ngroup: Imagine\n"
  },
  {
    "path": "languages/ia-IA/Types/image%2Fsvg%2Bxml.tid",
    "content": "title: $:/language/Docs/Types/image/svg+xml\ndescription: Imagine de Graphica Vector Structurate\nname: image/svg+xml\ngroup: Imagine\n"
  },
  {
    "path": "languages/ia-IA/Types/text%2Fcss.tid",
    "content": "title: $:/language/Docs/Types/text/css\ndescription: Folio static de stilo\nname: text/css\ngroup: Developpator\n"
  },
  {
    "path": "languages/ia-IA/Types/text%2Fhtml.tid",
    "content": "title: $:/language/Docs/Types/text/html\ndescription: Marcation HTML\nname: text/html\ngroup: Texto\n"
  },
  {
    "path": "languages/ia-IA/Types/text%2Fplain.tid",
    "content": "title: $:/language/Docs/Types/text/plain\ndescription: Texto pur\nname: text/plain\ngroup: Texto\n"
  },
  {
    "path": "languages/ia-IA/Types/text%2Fvnd.tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/vnd.tiddlywiki\ndescription: TiddlyWiki 5\nname: text/vnd.tiddlywiki\ngroup: Texto\n"
  },
  {
    "path": "languages/ia-IA/Types/text%2Fx-tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/x-tiddlywiki\ndescription: TiddlyWiki Classic\nname: text/x-tiddlywiki\ngroup: Texto\n"
  },
  {
    "path": "languages/ia-IA/plugin.info",
    "content": "{\n\t\"title\": \"$:/languages/ia-IA\",\n\t\"name\": \"ia-IA\",\n\t\"plugin-type\": \"language\",\n\t\"description\": \"Interlingua (Interlingua)\",\n\t\"author\": \"Thomas Breinstrup\",\n\t\"core-version\": \">=5.0.8\"\n}\n"
  },
  {
    "path": "languages/it-IT/Buttons.multids",
    "content": "title: $:/language/Buttons/\n\nAdvancedSearch/Caption: Ricerca avanzata\nAdvancedSearch/Hint: Ricerca avanzata\nBold/Caption: Grassetto\nBold/Hint: Formatta in grassetto la selezione\nCancel/Caption: Annulla\nCancel/Hint: Annulla le modifiche di questo frammento\nClear/Caption: Cancella\nClear/Hint: Sostituisci l'immagine con una tinta unita\nClone/Caption: Clona\nClone/Hint: Clona questo frammento\nClose/Caption: Chiudi\nClose/Hint: Chiudi questo frammento\nCloseAll/Caption: Chiudi tutti\nCloseAll/Hint: Chiudi tutti i frammenti\nCloseOthers/Caption: Chiudi altri\nCloseOthers/Hint: Chiudi gli altri frammenti\nControlPanel/Caption: Pannello di controllo\nControlPanel/Hint: Apri il pannello di controllo\nCopyToClipboard/Caption: Copia negli appunti\nCopyToClipboard/Hint: Copia questo testo negli appunti\nDelete/Caption: Elimina\nDelete/Hint: Elimina questo frammento\nDeleteTiddlers/Caption: Elimina frammenti\nDeleteTiddlers/Hint: Elimina frammenti\nEdit/Caption: Modifica\nEdit/Hint: Modifica questo frammento\nEditorHeight/Caption: Altezza editor\nEditorHeight/Caption/Auto: Adatta automaticamente l'altezza al contenuto\nEditorHeight/Caption/Fixed: Altezza fissa:\nEditorHeight/Hint: Scegli l'altezza dell'editor del testo\nEncryption/Caption: Cifratura\nEncryption/ClearPassword/Caption: Rimuovi password\nEncryption/ClearPassword/Hint: Rimuovi la password e salva questo wiki senza cifrarlo\nEncryption/Hint: Imposta o rimuovi la password per salvare questo wiki\nEncryption/SetPassword/Caption: Imposta password\nEncryption/SetPassword/Hint: Imposta una password per salvare questo wiki con cifratura\nExcise/Caption: Ritaglia\nExcise/Caption/Excise: Ritaglia\nExcise/Caption/MacroName: Nome macro:\nExcise/Caption/NewTitle: Titolo del nuovo frammento:\nExcise/Caption/Replace: Sostituisci il testo ritagliato con:\nExcise/Caption/Replace/Link: Link\nExcise/Caption/Replace/Macro: Macro\nExcise/Caption/Replace/Transclusion: Trasclusione\nExcise/Caption/Tag: Etichetta il nuovo frammento con il titolo di questo frammento\nExcise/Caption/TiddlerExists: Attenzione: il frammento esiste già\nExcise/Hint: Ritaglia il testo selezionato in un nuovo frammento\nExportPage/Caption: Esporta tutti\nExportPage/Hint: Esporta tutti i frammenti\nExportTiddler/Caption: Esporta frammento\nExportTiddler/Hint: Esporta questo frammento\nExportTiddlers/Caption: Esporta i frammenti\nExportTiddlers/Hint: Esporta i frammenti\nFold/Caption: Ripiega il frammento\nFold/FoldBar/Caption: Ripiegabile\nFold/FoldBar/Hint: Barre opzionali per ripiegare e dispiegare i frammenti\nFold/Hint: Ripiega il corpo di questo frammento\nFoldAll/Caption: Ripiega tutti i frammenti\nFoldAll/Hint: Ripiega il corpo di tutti i frammenti aperti\nFoldOthers/Caption: Ripiega altri frammenti\nFoldOthers/Hint: Ripiega il corpo di altri frammenti aperti\nFullScreen/Caption: Schermo intero\nFullScreen/Hint: Entra o esci dalla modalit&agrave; a schermo intero\nHeading1/Caption: Titolo 1\nHeading1/Hint: Formatta come titolo 1 le linee che contengono la selezione\nHeading2/Caption: Titolo 2\nHeading2/Hint: Formatta come titolo 2 le linee che contengono la selezione\nHeading3/Caption: Titolo 3\nHeading3/Hint: Formatta come titolo 3 le linee che contengono la selezione\nHeading4/Caption: Titolo 4\nHeading4/Hint: Formatta come titolo 4 le linee che contengono la selezione\nHeading5/Caption: Titolo 5\nHeading5/Hint: Formatta come titolo 5 le linee che contengono la selezione\nHeading6/Caption: Titolo 6\nHeading6/Hint: Formatta come titolo 6 le linee che contengono la selezione\nHelp/Caption: Aiuto\nHelp/Hint: Mostra il pannello di aiuto\nHideSideBar/Caption: Nascondi la barra laterale\nHideSideBar/Hint: Nascondi la barra laterale\nHome/Caption: Home\nHome/Hint: Apri i frammenti predefiniti\nImport/Caption: Importa\nImport/Hint: Importa diversi tipi di file, come testo, immagine, TiddlyWiki o JSON\nInfo/Caption: Info\nInfo/Hint: Mostra informazioni su questo frammento\nItalic/Caption: Corsivo\nItalic/Hint: Formatta in corsivo la selezione\nLanguage/Caption: Lingua\nLanguage/Hint: Scegli la lingua dell'interfaccia\nLayoutSwitcher/Caption: Layout\nLayoutSwitcher/Hint: Apri il pannello di selezione layout\nLineWidth/Caption: Spessore linea\nLineWidth/Hint: Imposta lo spessore linea di disegno\nLink/Caption: Link\nLink/Hint: Crea link wikitext\nLinkify/Caption: Wikilink\nLinkify/Hint: Racchiudi la selezione tra parentesi quadre\nListBullet/Caption: Elenco puntato\nListBullet/Hint: Formatta come elenco puntato le linee che contengono la selezione\nListNumber/Caption: Elenco numerato\nListNumber/Hint: Formatta come elenco numerato le linee che contengono la selezione\nManager/Caption: Gestore dei frammenti\nManager/Hint: Apri il gestore dei frammenti\nMonoBlock/Caption: Blocco monospazio\nMonoBlock/Hint: Formatta come blocco monospazio le linee che contengono la selezione\nMonoLine/Caption: monospazio\nMonoLine/Hint: Formatta come carattere monospazio la selezione\nMore/Caption: Altro\nMore/Hint: Altre azioni\nNewHere/Caption: Nuovo qui\nNewHere/Hint: Crea un nuovo frammento etichettato con questo\nNewImage/Caption: Nuova immagine\nNewImage/Hint: Crea un nuovo frammento immagine\nNewJournal/Caption: Diario\nNewJournal/Hint: Crea un nuovo frammento diario\nNewJournalHere/Caption: Nuovo diario qui\nNewJournalHere/Hint: Crea un nuovo frammento diario etichettato con questo\nNewMarkdown/Caption: Nuovo frammento markdown\nNewMarkdown/Hint: Crea un nuovo frammento markdown\nNewTiddler/Caption: Nuovo frammento\nNewTiddler/Hint: Crea un nuovo frammento\nOpacity/Caption: Trasparenza\nOpacity/Hint: Imposta la trasparenza di disegno\nOpenWindow/Caption: Apri in una nuova finestra\nOpenWindow/Hint: Apri il frammento in una nuova finestra\nPaint/Caption: Colore di disegno\nPaint/Hint: Imposta il colore di disegno\nPalette/Caption: Tavolozza\nPalette/Hint: Scegli la tavolozza dei colori\nPermalink/Caption: Permalink\nPermalink/Hint: Imposta la barra degli indirizzi del browser a un link diretto a questo frammento\nPermaview/Caption: Permaview\nPermaview/Hint: Imposta la barra degli indirizzi del browser a un link diretto a tutti i frammenti in questa storia\nPicture/Caption: Immagine\nPicture/Hint: Inserisci un'immagine\nPreview/Caption: Anteprima\nPreview/Hint: Mostra il pannello di anteprima\nPreviewType/Caption: Tipo di anteprima\nPreviewType/Hint: Scegli il tipo di anteprima\nPrint/Caption: Stampa pagina\nPrint/Hint: Stampa la pagina corrente\nQuote/Caption: Citazione\nQuote/Hint: Formatta come citazione le linee che contengono la selezione\nRefresh/Caption: Ricarica\nRefresh/Hint: Ricarica completamente il wiki\nRotateLeft/Caption: Ruota a sinistra\nRotateLeft/Hint: Ruota l'immagine di 90 gradi a sinistra\nSave/Caption: Ok\nSave/Hint: Conferma le modifiche di questo frammento\nSaveWiki/Caption: Salva le modifiche\nSaveWiki/Hint: Salva le modifiche\nShowSideBar/Caption: Mostra la barra laterale\nShowSideBar/Hint: Mostra la barra laterale\nSidebarSearch/Hint: Seleziona il campo di ricerca della barra laterale\nSize/Caption: Dimensione immagine\nSize/Caption/Height: Altezza:\nSize/Caption/Resize: Ridimensiona l'immagine\nSize/Caption/Width: Larghezza\nSize/Hint: Imposta la dimensione dell'immagine\nStamp/Caption: Timbro\nStamp/Caption/New: Aggiungi il tuo\nStamp/Hint: Inserisci un ritaglio di testo preconfigurato\nStamp/New/Text: Testo del ritaglio. (Ricordati di aggiungere un titolo descrittivo nel campo della didascalia).\nStamp/New/Title: Nome come mostrato nel menu\nStoryView/Caption: Visualizzazione \"storia\"\nStoryView/Hint: Scegli la visualizzazione \"storia\"\nStrikethrough/Caption: barrato\nStrikethrough/Hint: Barra la selezione\nSubscript/Caption: pedice\nSubscript/Hint: Formatta come pedice la selezione\nSuperscript/Caption: apice\nSuperscript/Hint: Formatta come apice la selezione\nTagManager/Caption: Gestore delle etichette\nTagManager/Hint: Apri il gestore delle etichette\nTheme/Caption: Tema\nTheme/Hint: Scegli il tema grafico\nTimestamp/Caption: Timestamp\nTimestamp/Hint: Scegli se le modifiche aggiornano i  timestamp\nTimestamp/Off/Caption: I timestamp sono disattivati\nTimestamp/Off/Hint: Non aggiornare i timestamp alla modifica dei frammenti\nTimestamp/On/Caption: I timestamp sono attivati\nTimestamp/On/Hint: Aggiornare i timestamp alla modifica dei frammenti\nToggleSidebar/Hint: Attiva o disattiva la visibilità della barra laterale\nTranscludify/Caption: Trasclusione\nTranscludify/Hint: Racchiudi la selezione tra parentesi graffe\nUnderline/Caption: Sottolinea\nUnderline/Hint: Sottolinea la selezione\nUnfold/Caption: Dispiega il frammento\nUnfold/Hint: Dispiega il corpo di questo frammento\nUnfoldAll/Caption: Dispiega tutti i frammenti\nUnfoldAll/Hint: Dispiega il corpo di tutti i frammenti aperti\n"
  },
  {
    "path": "languages/it-IT/ControlPanel.multids",
    "content": "title: $:/language/ControlPanel/\n\nAdvanced/Caption: Avanzate\nAdvanced/Hint: Informazioni interne di questo TiddlyWiki\nAppearance/Caption: Aspetto\nAppearance/Hint: Modi di personalizzare l'aspetto del tuo TiddlyWiki\nBasics/AnimDuration/Prompt: Durata animazione:\nBasics/AutoFocus/Prompt: Campo selezionato di default per i nuovi frammenti\nBasics/Caption: Impostazioni base\nBasics/DefaultTiddlers/BottomHint: Utilizza &#91;&#91;le doppie parentesi quadre&#93;&#93; per titoli di frammenti con spazi. In alternativa scegli di visualizzare i frammenti secondo la {{cronologia||$:/snippets/retain-story-ordering-button}}\nBasics/DefaultTiddlers/Prompt: Frammenti di default:\nBasics/DefaultTiddlers/TopHint: Scegli quali frammenti vuoi visualizzare all'avvio:\nBasics/Language/Prompt: Ciao! Scegli la lingua:\nBasics/NewJournal/Tags/Prompt: Etichette dei nuovi frammenti diario\nBasics/NewJournal/Text/Prompt: Testo dei nuovi frammenti diario\nBasics/NewJournal/Title/Prompt: Titolo dei nuovi frammenti diario\nBasics/NewTiddler/Tags/Prompt: Etichette dei nuovi frammenti\nBasics/NewTiddler/Title/Prompt: Titolo dei nuovi frammenti\nBasics/OverriddenShadowTiddlers/Prompt: Numero di frammenti nascosti sovrascritti\nBasics/RemoveTags: Aggiorna al formato corrente\nBasics/RemoveTags/Hint: Aggiorna la configurazione delle etichette al formato più recente\nBasics/ShadowTiddlers/Prompt: Numero di frammenti nascosti\nBasics/Subtitle/Prompt: Sottotitolo\nBasics/SystemTiddlers/Prompt: Numero di frammenti di sistema\nBasics/Tags/Prompt: Numero di etichette\nBasics/Tiddlers/Prompt: Numero di frammenti\nBasics/Title/Prompt: Titolo di questo ~TiddlyWiki:\nBasics/Username/Prompt: Nome utente con cui firmare le modifiche\nBasics/Version/Prompt: Versione di ~TiddlyWiki:\nCascades/Caption: Sequenze\nCascades/Hint: Queste regole globali vengono utilizzate per scegliere dinamicamente determinati modelli. Il risultato della sequenza è il risultato del primo filtro nella sequenza che restituisce un risultato\nCascades/TagPrompt: Filtri etichettati con <$macrocall $name=\"tag\" tag=<<currentTiddler>>/>\nEditorTypes/Caption: Tipi di editor\nEditorTypes/Editor/Caption: Editor\nEditorTypes/Hint: Questi frammenti definiscono quale editor utilizzare per modificare tipi specifici di frammenti.\nEditorTypes/Type/Caption: Tipo\nEditTemplateBody/Caption: Modifica il corpo del modello\nEditTemplateBody/Hint: Questa sequenza di regole viene utilizzata dal modello di modifica predefinito per scegliere dinamicamente il modello per la modifica del corpo di un frammento.\nFieldEditor/Caption: Editor di campo\nFieldEditor/Hint: Questa sequenza di regole viene utilizzata per scegliere dinamicamente il modello per il rendering di un campo di un frammento in base al suo nome. Viene utilizzato all'interno dell'editor di campo.\nInfo/Caption: Info\nInfo/Hint: Informazioni su questo TiddlyWiki\nKeyboardShortcuts/Add/Caption: Aggiungi scorciatoia\nKeyboardShortcuts/Add/Prompt: Digita qui la scorciatoia\nKeyboardShortcuts/Caption: Scorciatoie da tastiera\nKeyboardShortcuts/Hint: Gestisci l'assegnazione delle scorciatoie da tastiera\nKeyboardShortcuts/NoShortcuts/Caption: Nessuna scorciatoia da tastiera assegnata\nKeyboardShortcuts/Platform/All: Tutte le piattaforme\nKeyboardShortcuts/Platform/Linux: Solo piattaforma Linux\nKeyboardShortcuts/Platform/Mac: Solo piattaforma Macintosh \nKeyboardShortcuts/Platform/NonLinux: Solo piattaforme Non-Linux\nKeyboardShortcuts/Platform/NonMac: Solo piattaforme Non-Macintosh\nKeyboardShortcuts/Platform/NonWindows: Solo piattaforme Non-Windows\nKeyboardShortcuts/Platform/Windows: Solo piattaforma Windows\nKeyboardShortcuts/Remove/Hint: Rimuovi scorciatoie da tastiera\nLoadedModules/Caption: Moduli caricati\nLoadedModules/Hint: Elenco dei moduli attualmente caricati e loro collegamento ai frammenti sorgente. I moduli in corsivo mancano di un frammento sorgente perch&eacute; in generale installati durante il processo di avvio.\nPalette/Caption: Tavolozza\nPalette/Editor/Clone/Caption: Clona\nPalette/Editor/Clone/Prompt: Si consiglia di clonare questa tavolozza prima di modificarla\nPalette/Editor/Delete/Hint: Elimina questa voce dalla paletta corrente\nPalette/Editor/Names/External/Show: Mostra i nomi di colore che non fanno parte della paletta corrente\nPalette/Editor/Prompt: Modifica\nPalette/Editor/Prompt/Modified: Questa tavolozza &egrave; stata modificata\nPalette/Editor/Reset/Caption: Reset\nPalette/HideEditor/Caption: Nascondi editor\nPalette/Prompt: Tavolozza corrente:\nPalette/ShowEditor/Caption: Mostra editor\nParsing/Block/Caption: Regole di analisi blocco\nParsing/Caption: Analisi\nParsing/Hint: Qui puoi disabilitare/abilitare globalmente le regole di analisi wiki. Per rendere effettive le modifiche, salva e ricarica il tuo wiki. La disabilitazione di alcune regole di analisi può impedire a <$text text=\"TiddlyWiki\"/> di funzionare correttamente. Usa la [[modalità sicura|https://tiddlywiki.com/#SafeMode]] per ripristinare il normale funzionamento.\nParsing/Inline/Caption: Regole di analisi inline\nParsing/Pragma/Caption: Regole di analisi pragma\nPlugins/Add/Caption: Aggiungi altri plugin\nPlugins/Add/Hint: Installa plugin dalla libreria ufficiale\nPlugins/AlreadyInstalled/Hint: Questo plugin è già installato nella versione <$text text=<<installedVersion>>/>\nPlugins/AlsoRequires: Richiede anche:\nPlugins/Caption: Plugin\nPlugins/ClosePluginLibrary: Chiudi la libreria dei plugin\nPlugins/Disable/Caption: Disabilita\nPlugins/Disable/Hint: Disabilita questo plugin al ricaricamento della pagina\nPlugins/Disabled/Status: (disabilitato)\nPlugins/Downgrade/Caption: Downgrade\nPlugins/Empty/Hint: Nessuno\nPlugins/Enable/Caption: Abilita\nPlugins/Enable/Hint: Abilita questo plugin al ricaricamento della pagina\nPlugins/Install/Caption: Installa\nPlugins/Installed/Hint: Plugin attualmente installati:\nPlugins/Language/Prompt: Lingue:\nPlugins/Languages/Caption: Lingue\nPlugins/Languages/Hint: Plugin per lingue aggiuntive\nPlugins/NoInfoFound/Hint: ''\"<$text text=<<currentTab>>/>\"'' non trovato\nPlugins/NotInstalled/Hint: Questo plugin non è attualmente installato\nPlugins/OpenPluginLibrary: Apri la libreria dei plugin\nPlugins/Plugin/Prompt: Plugin\nPlugins/Plugins/Caption: Plugin\nPlugins/Plugins/Hint: Plugin\nPlugins/PluginWillRequireReload: (richiede il ricaricamento)\nPlugins/Reinstall/Caption: Reinstalla\nPlugins/SubPluginPrompt: Con <<count>> sub-plugin disponibili\nPlugins/Themes/Caption: Temi\nPlugins/Themes/Hint: Plugin dei temi\nPlugins/Update/Caption: Aggiornamento\nPlugins/Updates/Caption: Aggiornamenti\nPlugins/Updates/Hint: Aggiornamenti disponibili per i plugin installati\nPlugins/Updates/UpdateAll/Caption: Aggiorna <<update-count>> plugin\nSaving/Caption: Salvataggio\nSaving/DownloadSaver/AutoSave/Description: Consenti il salvataggio automatico per il Saver Download\nSaving/DownloadSaver/AutoSave/Hint: Abilita il salvataggio automatico per il Saver Download\nSaving/DownloadSaver/Caption: Saver Download\nSaving/DownloadSaver/Hint: Queste impostazioni si applicano al Saver Download compatibile con HTML-5\nSaving/General/Caption: Generale\nSaving/General/Hint: Queste impostazioni si applicano a tutti i Saver caricati\nSaving/GitService/Branch: Ramo di destinazione per il salvataggio\nSaving/GitService/CommitMessage: Salvato da TiddlyWiki\nSaving/GitService/Description: Queste impostazioni si applicano solo per salvare su <<service-name>>\nSaving/GitService/Filename: Nome del file di destinazione (p.es. `index.html`)\nSaving/GitService/Gitea/Caption: Saver Gitea\nSaving/GitService/Gitea/Password: Token personale di accesso per API (via interfaccia web di Gitea: `Settings | Applications | Generate New Token`)\nSaving/GitService/GitHub/Caption: Saver ~GitHub\nSaving/GitService/GitHub/Password: Password, token OAUTH, o token personale di accesso (vedi [[pagina di aiuto GitHub|https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line]] per i dettagli)\nSaving/GitService/GitLab/Caption: Saver ~GitLab\nSaving/GitService/GitLab/Password: Token personale di accesso per API (vedi [[pagina di aiuto GitLab|https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html]] per i dettagli)\nSaving/GitService/Path: Percorso del file di destinazione (p.es. `/wiki/`)\nSaving/GitService/Repo: Repository di destinazione (p.es. `Jermolene/TiddlyWiki5`)\nSaving/GitService/UserName: Nome utente\nSaving/Heading: Salvataggio\nSaving/Hint: Impostazioni utilizzate per salvare l'intero TiddlyWiki come un singolo file tramite un modulo di salvataggio (Saver)\nSaving/TiddlySpot/Advanced/Heading: Impostazioni avanzate\nSaving/TiddlySpot/BackupDir: Cartella di backup\nSaving/TiddlySpot/Backups: Backups\nSaving/TiddlySpot/Caption: Saver ~TiddlySpot\nSaving/TiddlySpot/ControlPanel: Pannello di controllo ~TiddlySpot\nSaving/TiddlySpot/Description: Queste impostazioni sono usate solo per salvare su [[TiddlySpot|http://tiddlyspot.com]] o su un server remoto compatibile. Vedi [[qui|https://github.com/simonbaird/tiddlyhost/wiki/TiddlySpot-Saver-configuration-for-Tiddlyhost-and-Tiddlyspot]] per informazioni sulla configurazione di salvataggio di ~TiddlySpot e ~TiddlyHost.\nSaving/TiddlySpot/Filename: Nome del file di upload\nSaving/TiddlySpot/Heading: ~TiddlySpot\nSaving/TiddlySpot/Hint: //L'indirizzo del server di default &egrave; `http://<wikiname>.tiddlyspot.com/store.cgi` e pu&ograve; essere modificato per utilizzare un indirizzo server personalizzato, p.es. `http://example.com/store.php`.//\nSaving/TiddlySpot/Password: Password\nSaving/TiddlySpot/ReadOnly: Tieni presente che [[TiddlySpot|http://tiddlyspot.com]] non consente più la creazione di nuovi siti. Per i nuovi siti, puoi utilizzare [[TiddlyHost|https://tiddlyhost.com]], un nuovo servizio di hosting che sostituisce ~TiddlySpot.\nSaving/TiddlySpot/ServerURL: Indirizzo server\nSaving/TiddlySpot/UploadDir: Cartella di upload\nSaving/TiddlySpot/UserName: Nome Wiki\nSettings/AutoSave/Caption: Salvataggio automatico\nSettings/AutoSave/Disabled/Description: Non salvare le modifiche in automatico\nSettings/AutoSave/Enabled/Description: Salva le modifiche in automatico\nSettings/AutoSave/Hint: Prova a salvare automaticamente le modifiche durante il lavoro se usi un modulo di salvataggio che lo supporta\nSettings/CamelCase/Caption: Wiki Links Camel Case\nSettings/CamelCase/Description: Abilita i link automatici ~CamelCase\nSettings/CamelCase/Hint: Richiede la ricarica per avere effetto\nSettings/Caption: Impostazioni\nSettings/DefaultMoreSidebarTab/Caption: Tab predefinito della barra laterale Altro\nSettings/DefaultMoreSidebarTab/Hint: Specifica quale tab della barra laterale Altro è mostrato di default\nSettings/DefaultSidebarTab/Caption: Tab predefinito della barra laterale\nSettings/DefaultSidebarTab/Hint: Specifica quale tab della barra laterale &egrave; mostrato di default\nSettings/EditorToolbar/Caption: Barra strumenti editor\nSettings/EditorToolbar/Description: Mostra la barra strumenti editor\nSettings/EditorToolbar/Hint: Abilita o disabilita la barra strumenti editor:\nSettings/Hint: Queste impostazioni ti permettono di personalizzare il comportamento di TiddlyWiki.\nSettings/InfoPanelMode/Caption: Modalità pannello info frammento\nSettings/InfoPanelMode/Hint: Controlla quando il pannello info frammento viene chiuso:\nSettings/InfoPanelMode/Popup/Description: Il pannello info frammento viene chiuso in automatico\nSettings/InfoPanelMode/Sticky/Description: Il pannello info frammento resta aperto fino a quando viene chiuso esplicitamente\nSettings/LinkToBehaviour/Caption: Comportamento apertura frammenti\nSettings/LinkToBehaviour/InsideRiver/Hint: Navigazione dall' //interno// della cronologia\nSettings/LinkToBehaviour/OpenAbove: Apri sopra il frammento corrente\nSettings/LinkToBehaviour/OpenAtBottom: Apri in basso alla cronologia\nSettings/LinkToBehaviour/OpenAtTop: Apri in alto alla cronologia\nSettings/LinkToBehaviour/OpenBelow: Apri sotto il frammento corrente\nSettings/LinkToBehaviour/OutsideRiver/Hint: Navigazione dall' //esterno// della cronologia\nSettings/MissingLinks/Description: Abilita link a frammenti mancanti\nSettings/MissingLinks/Hint: Scegli se creare i link a frammenti che non esistono ancora\nSettings/NavigationAddressBar/Caption: Barra degli indirizzi\nSettings/NavigationAddressBar/Hint: Comportamento della barra degli indirizzi del browser quando si visita un frammento:\nSettings/NavigationAddressBar/No/Description: Non aggiornare la barra degli indirizzi\nSettings/NavigationAddressBar/Permalink/Description: Includi il frammento di destinazione\nSettings/NavigationAddressBar/Permaview/Description: Includi il frammento di destinazione e la sequenza della cronologia corrente\nSettings/NavigationHistory/Caption: Cronologia di navigazione\nSettings/NavigationHistory/Hint: Aggiornamento della cronologia quando si visita un frammento:\nSettings/NavigationHistory/No/Description: Non aggiornare la cronologia\nSettings/NavigationHistory/Yes/Description: Aggiorna la cronologia\nSettings/NavigationPermalinkviewMode/Caption: Modalità permalink/permaview\nSettings/NavigationPermalinkviewMode/CopyToClipboard/Description: Copia l'URL permalink/permaview negli appunti\nSettings/NavigationPermalinkviewMode/Hint: Scegli come trattare i  permalink/permaview:\nSettings/NavigationPermalinkviewMode/UpdateAddressBar/Description: Aggiorna la barra degli indirizzi con l'URL permalink/permaview\nSettings/PerformanceInstrumentation/Caption: Strumentazione delle prestazioni\nSettings/PerformanceInstrumentation/Description: Abilita la strumentazione delle prestazioni\nSettings/PerformanceInstrumentation/Hint: Visualizza le statistiche sulle prestazioni nella console per sviluppatori del browser. Richiede la ricarica per avere effetto\nSettings/TitleLinks/Caption: Titoli frammenti\nSettings/TitleLinks/Hint: Mostra opzionalmente i titoli dei frammenti come link\nSettings/TitleLinks/No/Description: Non mostrare i titoli dei frammenti come link\nSettings/TitleLinks/Yes/Description: Mostra i titoli dei frammenti come link\nSettings/ToolbarButtons/Caption: Pulsanti della barra strumenti\nSettings/ToolbarButtons/Hint: Aspetto predefinito dei pulsanti della barra strumenti:\nSettings/ToolbarButtons/Icons/Description: Mostra icona\nSettings/ToolbarButtons/Text/Description: Mostra testo\nSettings/ToolbarButtonStyle/Caption: Stile pulsanti della barra strumenti\nSettings/ToolbarButtonStyle/Hint: Scegli lo stile dei pulsanti della barra strumenti\nSettings/ToolbarButtonStyle/Styles/Borderless: Senza bordi\nSettings/ToolbarButtonStyle/Styles/Boxed: Incorniciati\nSettings/ToolbarButtonStyle/Styles/Rounded: Arrotondati\nStoryTiddler/Caption: Frammento cronologia\nStoryTiddler/Hint: Questa sequenza di regole viene utilizzata per scegliere dinamicamente il modello per la visualizzazione di un frammento nella cronologia.\nStoryView/Caption: Vista cronologia\nStoryView/Prompt: Vista corrente:\nStylesheets/Caption: Fogli di stile\nStylesheets/Expand/Caption: Espandi tutto\nStylesheets/Hint: Questo è il CSS renderizzato degli attuali frammenti foglio di stile etichettati con <<tag \"$:/tags/Stylesheet\">>\nStylesheets/Restore/Caption: Ripristina\nTheme/Caption: Tema\nTheme/Prompt: Tema corrente:\nTiddlerColour/Caption: Colore frammento\nTiddlerColour/Hint: Questa sequenza di regole viene utilizzata per scegliere dinamicamente il colore di un frammento (utilizzato per l'icona e per l'etichetta associate).\nTiddlerFields/Caption: Campi frammento\nTiddlerFields/Hint: Questa &egrave; la serie completa dei TiddlerFields utilizzati in questo wiki (sono inclusi i frammenti di sistema ed esclusi i frammenti nascosti).\nTiddlerIcon/Caption: Icona frammento\nTiddlerIcon/Hint: Questa sequenza di regole viene utilizzata per scegliere dinamicamente l'icona per un frammento.\nToolbars/Caption: Barre degli strumenti\nToolbars/EditorToolbar/Caption: Barra strumenti editor\nToolbars/EditorToolbar/Hint: Scegli quali pulsanti mostrare nella barra degli strumenti dell'editor. Nota che alcuni pulsanti appariranno solo durante la modifica di frammenti di un certo tipo. Trascina e rilascia per modificare l'ordine\nToolbars/EditToolbar/Caption: Barra strumenti modifica\nToolbars/EditToolbar/Hint: Scegli quali pulsanti mostrare nella modalità modifica frammenti. Trascina e rilascia per modificare l'ordine\nToolbars/Hint: Scegli quali pulsanti mostrare nella barra strumenti\nToolbars/PageControls/Caption: Barra strumenti pagina\nToolbars/PageControls/Hint: Scegli quali pulsanti mostrare nella barra strumenti della pagina principale. Trascina e rilascia per modificare l'ordine\nToolbars/ViewToolbar/Caption: Barra strumenti visualizzazione\nToolbars/ViewToolbar/Hint: Scegli quali pulsanti mostrare per i frammenti in modalità visualizzazione. Trascina e rilascia per modificare l'ordine\nTools/Download/Full/Caption: Scarica l'intero wiki\nViewTemplateBody/Caption: Visualizza il corpo del modello\nViewTemplateBody/Hint: Questa sequenza di regole viene utilizzata dal modello di visualizzazione predefinito per scegliere dinamicamente il modello per la visualizzazione del corpo di un frammento.\nViewTemplateTitle/Caption: Visualizza il titolo del modello\nViewTemplateTitle/Hint: Questa sequenza di regole viene utilizzata dal modello di visualizzazione predefinito per scegliere dinamicamente il modello per la visualizzazione del titolo di un frammento.\n"
  },
  {
    "path": "languages/it-IT/CoreReadMe.tid",
    "content": "title: $:/core/readme\n\nQuesto plugin contiene componenti del nucleo di TiddlyWiki tra cui:\n\n* Moduli codice JavaScript\n* Icone\n* Modelli necessari per creare l'interfaccia utente di TiddlyWiki\n* Traduzione Inglese (''en-GB'') per le stringhe di testo utilizzate dal nucleo\n"
  },
  {
    "path": "languages/it-IT/Dates.multids",
    "content": "title: $:/language/\n\nDate/DaySuffix/1: \nDate/DaySuffix/10: \nDate/DaySuffix/11: \nDate/DaySuffix/12: \nDate/DaySuffix/13: \nDate/DaySuffix/14: \nDate/DaySuffix/15: \nDate/DaySuffix/16: \nDate/DaySuffix/17: \nDate/DaySuffix/18: \nDate/DaySuffix/19: \nDate/DaySuffix/2: \nDate/DaySuffix/20: \nDate/DaySuffix/21: \nDate/DaySuffix/22: \nDate/DaySuffix/23: \nDate/DaySuffix/24: \nDate/DaySuffix/25: \nDate/DaySuffix/26: \nDate/DaySuffix/27: \nDate/DaySuffix/28: \nDate/DaySuffix/29: \nDate/DaySuffix/3: \nDate/DaySuffix/30: \nDate/DaySuffix/31: \nDate/DaySuffix/4: \nDate/DaySuffix/5: \nDate/DaySuffix/6: \nDate/DaySuffix/7: \nDate/DaySuffix/8: \nDate/DaySuffix/9: \nDate/Long/Day/0: Domenica\nDate/Long/Day/1: Luned&igrave;\nDate/Long/Day/2: Marted&igrave;\nDate/Long/Day/3: Mercoled&igrave;\nDate/Long/Day/4: Gioved&igrave;\nDate/Long/Day/5: Venerd&igrave;\nDate/Long/Day/6: Sabato\nDate/Long/Month/1: Gennaio\nDate/Long/Month/10: Ottobre\nDate/Long/Month/11: Novembre\nDate/Long/Month/12: Dicembre\nDate/Long/Month/2: Febbraio\nDate/Long/Month/3: Marzo\nDate/Long/Month/4: Aprile\nDate/Long/Month/5: Maggio\nDate/Long/Month/6: Giugno\nDate/Long/Month/7: Luglio\nDate/Long/Month/8: Agosto\nDate/Long/Month/9: Settembre\nDate/Period/am: am\nDate/Period/pm: pm\nDate/Short/Day/0: Do\nDate/Short/Day/1: Lu\nDate/Short/Day/2: Ma\nDate/Short/Day/3: Me\nDate/Short/Day/4: Gio\nDate/Short/Day/5: Ve\nDate/Short/Day/6: Sa\nDate/Short/Month/1: Gen\nDate/Short/Month/10: Ott\nDate/Short/Month/11: Nov\nDate/Short/Month/12: Dic\nDate/Short/Month/2: Feb\nDate/Short/Month/3: Mar\nDate/Short/Month/4: Apr\nDate/Short/Month/5: Mag\nDate/Short/Month/6: Giu\nDate/Short/Month/7: Lug\nDate/Short/Month/8: Ago\nDate/Short/Month/9: Set\nRelativeDate/Future/Days: tra <<period>> giorni\nRelativeDate/Future/Hours: tra <<period>> ore\nRelativeDate/Future/Minutes: tra <<period>> minuti\nRelativeDate/Future/Months: tra <<period>> mesi\nRelativeDate/Future/Second: tra 1 secondo\nRelativeDate/Future/Seconds: tra <<period>> secondi\nRelativeDate/Future/Years: tra <<period>> anni\nRelativeDate/Past/Days: <<period>> giorni fa\nRelativeDate/Past/Hours: <<period>> ore fa\nRelativeDate/Past/Minutes: <<period>> minuti fa\nRelativeDate/Past/Months: <<period>> mesi fa\nRelativeDate/Past/Second: 1 secondo fa\nRelativeDate/Past/Seconds: <<period>> secondi fa\nRelativeDate/Past/Years: <<period>> anni fa\n"
  },
  {
    "path": "languages/it-IT/Docs/ModuleTypes.multids",
    "content": "title: $:/language/Docs/ModuleTypes/\n\nallfilteroperator: Un sottooperatore per l'operatore di filtro ''all''.\nanimation: Animazioni che possono essere utilizzate con RevealWidget.\nauthenticator: Definisce il modo in cui le richieste vengono autenticate dal server HTTP integrato.\nbitmapeditoroperation: Un'operazione della barra degli strumenti dell'editor bitmap.\ncommand: Comandi che possono essere eseguiti sotto Node.js.\nconfig: Dati da inserire in `$tw.config`.\nfilteroperator: I singoli metodi degli operatori di filtro.\nglobal: Dati globali da inserire in `$tw`.\ninfo: Pubblica informazioni di sistema tramite lo pseudo-plugin [[$:/temp/info-plugin]].\nisfilteroperator: Operandi per l'operatore di filtro ''is''.\nlibrary: Tipo di modulo generico per moduli JavaScript generici.\nmacro: Definizioni macro JavaScript.\nparser: Parser per differenti tipi di contenuto.\nroute: Definisce il modo in cui i singoli pattern URL vengono gestiti dal server HTTP integrato.\nsaver: I saver gestiscono diversi metodi per salvare i file dal browser.\nstartup: Funzioni di avvio.\nstoryview: Vista cronologia personalizza l'animazione ed il comportamento del widget liste.\ntexteditoroperation: Un'operazione della barra degli strumenti dell'editor di testo.\ntiddlerdeserializer: Converte i diversi tipi di contenuto in frammenti.\ntiddlerfield: Definisce il comportamento di un singolo campo di un frammento.\ntiddlermethod: Aggiunge metodi al prototipo `$tw.Tiddler`.\nupgrader: Applica il processo di aggiornamento ai frammenti durante un aggiornamento/importazione.\nutils: Aggiunge metodi a `$tw.utils`.\nutils-browser: Aggiunge metodi specifici del browser a `$tw.utils`.\nutils-node: Aggiunge metodi specifici Node.js a `$tw.utils`.\nwidget: I widget incapsulano il rendering e l'aggiornamento del DOM.\nwikimethod: Aggiunge metodi a `$tw.Wiki`.\nwikirule: Regole parser individuali del parser principale WikiText.\n"
  },
  {
    "path": "languages/it-IT/Docs/PaletteColours.multids",
    "content": "title: $:/language/Docs/PaletteColours/\n\nalert-background: Sfondo allarme\nalert-border: Bordo allarme\nalert-highlight: Evidenziazione allarme\nalert-muted-foreground: Primo piano allarme attenuato\nbackground: Sfondo generale\nblockquote-bar: Barra blocco citazione\nbutton-background: Default sfondo pulsante\nbutton-border: Default bordo pulsante\nbutton-foreground: Default primo piano pulsante\ncode-background: Sfondo codice\ncode-border: Bordo codice\ncode-foreground: Codice in primo piano\ndirty-indicator: Indicatore modifiche non salvate\ndownload-background: Sfondo pulsante download\ndownload-foreground: Primo piano pulsante download\ndragger-background: Sfondo trascinatore\ndragger-foreground: Primo piano trascinatore\ndropdown-background: Sfondo casella a discesa\ndropdown-border: Bordo casella a discesa\ndropdown-tab-background: Sfondo tab casella a discesa\ndropdown-tab-background-selected: Primo piano tab casella a discesa per i tab selezionati\ndropzone-background: Sfondo zona di rilascio\nexternal-link-background: Sfondo link esterno\nexternal-link-background-hover: Sfondo link esterno hover\nexternal-link-background-visited: Sfondo link esterno visitato\nexternal-link-foreground: Primo piano link esterno\nexternal-link-foreground-hover: Primo piano link esterno hover\nexternal-link-foreground-visited: Primo piano link esterno visitato\nforeground: Primo piano generale\nmenubar-background: Sfondo barra dei menu\nmenubar-foreground: Primo piano barra dei menu\nmessage-background: Sfondo casella messaggio\nmessage-border: Bordo casella messaggio\nmessage-foreground: Primo piano casella messaggio\nmodal-backdrop: Backdrop finestra modale\nmodal-background: Sfondo finestra modale\nmodal-border: Bordo finestra modale\nmodal-footer-background: Sfondo piè di pagina finestra modale\nmodal-footer-border: Bordo piè di pagina finestra modale\nmodal-header-border: Bordo intestazione finestra modale\nmuted-foreground: Primo piano generale attenuato\nnotification-background: Sfondo notifica\nnotification-border: Bordo notifica\npage-background: Sfondo pagina\npre-background: Sfondo codice preformattato\npre-border: Bordo codice preformattato\nprimary: Generale primario\nselect-tag-background: Sfondo elemento `<select>`\nselect-tag-foreground: Testo elemento `<select>`\nsidebar-button-foreground: Primo piano pulsante barra laterale\nsidebar-controls-foreground: Primo piano controlli barra laterale\nsidebar-controls-foreground-hover: Primo piano controlli barra laterale hover\nsidebar-foreground: Primo piano barra laterale\nsidebar-foreground-shadow: Primo piano barra laterale ombra\nsidebar-muted-foreground: Primo piano barra laterale attenuato\nsidebar-muted-foreground-hover: Primo piano barra laterale attenuato hover\nsidebar-tab-background: Sfondo tab barra laterale\nsidebar-tab-background-selected: Sfondo tab barra laterale per tab selezionati\nsidebar-tab-border: Bordo tab barra laterale\nsidebar-tab-border-selected: Bordo tab barra laterale per tab selezionati\nsidebar-tab-divider: Separatore tab barra laterale\nsidebar-tab-foreground: Primo piano tab barra laterale\nsidebar-tab-foreground-selected: Primo piano tab barra laterale per tab selezionati\nsidebar-tiddler-link-foreground: Primo piano link frammento barra laterale\nsidebar-tiddler-link-foreground-hover: Primo piano link frammento barra laterale hover\nsite-title-foreground: Sfondo titolo sito\nstatic-alert-foreground: Primo piano alert statico\ntab-background: Sfondo tab\ntab-background-selected: Sfondo tab per tab selezionati\ntab-border: Bordo tab\ntab-border-selected: Bordo tab per tab selezionati\ntab-divider: Separatore tab\ntab-foreground: Primo piano tab\ntab-foreground-selected: Primo piano tab per tab selezionati\ntable-border: Bordo tabella\ntable-footer-background: Sfondo piè di pagina tabella\ntable-header-background: Sfondo intestazione tabella\ntag-background: Sfondo etichetta\ntag-foreground: Primo piano etichetta\ntiddler-background: Sfondo frammento\ntiddler-border: Bordo frammento\ntiddler-controls-foreground: Primo piano controlli frammenti\ntiddler-controls-foreground-hover: Primo piano controlli frammenti hover\ntiddler-controls-foreground-selected: Primo piano controlli frammenti per controlli selezionati\ntiddler-editor-background: Sfondo editor frammenti\ntiddler-editor-border: Bordo editor frammenti\ntiddler-editor-border-image: Immagine bordo editor frammenti\ntiddler-editor-fields-even: Sfondo editor frammenti per campi pari\ntiddler-editor-fields-odd: Sfondo editor frammenti per campi dispari\ntiddler-info-background: Sfondo pannello informazioni frammenti\ntiddler-info-border: Bordo pannello informazioni frammenti\ntiddler-info-tab-background: Sfondo tab pannello informazioni frammenti\ntiddler-link-background: Sfondo link frammenti\ntiddler-link-foreground: Primo piano link frammenti\ntiddler-subtitle-foreground: Primo piano sottotitolo frammenti\ntiddler-title-foreground: Primo piano titolo frammenti\ntoolbar-cancel-button: Primo piano pulsante 'annulla' barra strumenti\ntoolbar-close-button: Primo piano pulsante 'chiudi' barra strumenti\ntoolbar-delete-button: Primo piano pulsante 'elimina' barra strumenti\ntoolbar-done-button: Primo piano pulsante 'fatto' barra strumenti\ntoolbar-edit-button: Primo piano pulsante 'modifica' barra strumenti\ntoolbar-info-button: Primo piano pulsante 'info' barra strumenti\ntoolbar-new-button: Primo piano pulsante 'nuovo frammento' barra strumenti\ntoolbar-options-button: Primo piano pulsante 'impostazioni' barra strumenti\ntoolbar-save-button: Primo piano pulsante 'salva' barra strumenti\nuntagged-background: Sfondo pillola non etichettato\nvery-muted-foreground: Primo piano molto attenuato\n"
  },
  {
    "path": "languages/it-IT/EditTemplate.multids",
    "content": "title: $:/language/EditTemplate/\n\nBody/External/Hint: Questo &egrave; un frammento esterno memorizzato al di fuori del file principale TiddlyWiki. Puoi editare le etichette ed i campi ma non puoi editare il contenuto\nBody/Placeholder: Digita il testo di questo frammento\nBody/Preview/Type/DiffCurrent: Differenze rispetto all'attuale\nBody/Preview/Type/DiffShadow: Differenze rispetto al nascosto (se presenti)\nBody/Preview/Type/Output: Output\nCaption: Editor\nField/Dropdown/Caption: Lista di campi\nField/Dropdown/Hint: Mostra la lista di campi\nField/Remove/Caption: Rimuovi campo\nField/Remove/Hint: Rimuovi il campo\nFields/Add/Button: Aggiungi\nFields/Add/Button/Hint: Aggiungi il nuovo campo al frammento\nFields/Add/Dropdown/System: Campi di sistema\nFields/Add/Dropdown/User: Campi utente\nFields/Add/Name/Placeholder: Nome campo\nFields/Add/Prompt: Aggiungi un nuovo campo:\nFields/Add/Value/Placeholder: Valore campo\nShadow/OverriddenWarning: Questo &egrave; un frammento nascosto modificato. Puoi ritornare alla versione di default eliminando questo frammento\nShadow/Warning: Questo &egrave; un frammento nascosto. Qualsiasi modifica sovrascriverà la versione di default del plugin <<pluginLink>>\nTags/Add/Button: Aggiungi\nTags/Add/Button/Hint: Aggiungi etichetta\nTags/Add/Placeholder: Nome etichetta\nTags/ClearInput/Caption: Cancella input\nTags/ClearInput/Hint: Cancella input etichetta\nTags/Dropdown/Caption: Lista delle etichette\nTags/Dropdown/Hint: Mostra la lista delle etichette\nTitle/BadCharacterWarning: Attenzione: evita di usare uno qualsiasi dei caratteri <<bad-chars>> nei titoli dei frammenti\nTitle/Exists/Prompt: Il frammento di destinazione esiste già\nTitle/References/Prompt: I seguenti riferimenti a questo frammento non verranno aggiornati automaticamente:\nTitle/Relink/Prompt: Aggiorna ''<$text text=<<fromTitle>>/>'' a ''<$text text=<<toTitle>>/>'' nei campi //etichetta// e //lista// degli altri frammenti\nType/Delete/Caption: Cancella il tipo di contenuto\nType/Delete/Hint: Cancella il tipo di contenuto\nType/Dropdown/Caption: Elenca il tipo di contenuto\nType/Dropdown/Hint: Mostra la lista del tipo di contenuto\nType/Placeholder: Tipo di contenuto\nType/Prompt: Tipo:\n"
  },
  {
    "path": "languages/it-IT/Exporters.multids",
    "content": "title: $:/language/Exporters/\n\nCsvFile: File CSV\nJsonFile: File JSON\nStaticRiver: HTML statico\nTidFile: File \".tid\"\n"
  },
  {
    "path": "languages/it-IT/Fields.multids",
    "content": "title: $:/language/Docs/Fields/\n\n_canonical_uri: L'URI completo di un frammento immagine esterno\n_is_skinny: Se presente, indica che il campo di testo del frammento deve essere caricato dal server\nauthor: Il nome dell'autore di un plugin\nbag: Il nome del contenitore da cui proviene un frammento\ncaption: Il testo che è visualizzato in un tab o in un pulsante\ncode-body: Il modello di visualizzazione visualizzerà il frammento come codice se impostato su ''sì''\ncolor: Il codice CSS del colore associato ad un frammento\ncomponent: Il nome del componente responsabile per un [[frammento di avviso|AlertMechanism]]\ncore-version: Per un plugin, indica con quale versione di TiddlyWiki è compatibile\ncreated: La data in cui il frammento è stato creato\ncreator: Il nome della persona che ha creato il frammento\ncurrent-tiddler: Utilizzato per memorizzare nella cache il frammento in alto nella [[cronologia|HistoryMechanism]]\ndependents: Per un plugin, elenca i titoli dei plugin dipendenti\ndescription: Il testo descrittivo per un plugin o per una modalità a dialogo\ndraft.of: Per i frammenti bozza, contiene il titolo del frammento di cui questo è una bozza\ndraft.title: Per i frammenti bozza, contiene la proposta di nuovo titolo per il frammento\nfooter: Il testo del footer per una finestra modale\nhide-body: Il modello di visualizzazione nasconderà i corpi dei frammenti se impostato su ''sì''\nicon: Il titolo del frammento che contiene l'icona associata con il frammento\nlibrary: Indica che il frammento deve essere salvato come una libreria JavaScript se impostato su ''sì''\nlist: Una lista ordinata di titoli di frammenti associati con un frammento\nlist-after: Se impostato, il titolo del frammento dopo il quale questo frammento deve essere aggiunto all'elenco ordinato dei titoli dei frammenti, o alla fine dell'elenco se questo campo è presente ma vuoto\nlist-before: Se impostato, il titolo del frammento prima del quale questo frammento deve essere aggiunto all'elenco ordinato dei titoli dei frammenti, o all'inizio della lista se questo campo è presente ma vuoto\nmodified: La data e l'ora in cui un frammento è stato modificato l'ultima volta\nmodifier: Il titolo del frammento associato con la persona che ha modificato un frammento l'ultima volta\nmodule-type: Per i frammenti javascript, specifica di che tipo di modulo si tratta\nname: Il nome leggibile associato con un frammento plugin\nparent-plugin: Per un plugin, specifica il plugin di cui è un sotto-plugin\nplugin-priority: Un valore numerico che indica la priorità di un frammento plugin\nplugin-type: Il tipo di plugin di un frammento plugin\nreleased: La data di rilascio di un TiddlyWiki\nrevision: La revisione del frammento mantenuta sul server\nsource: L'indirizzo URL sorgente associato con un frammento\nsubtitle: Il testo del sottotitolo per una finestra modale\ntags: Una lista di etichette associate con un frammento\ntext: Il corpo del testo di un frammento\nthrottle.refresh: Se presente, rallenta gli aggiornamenti di questo tiddler\ntitle: Il nome univoco di un frammento\ntoc-link: Sopprime il link al frammento nel sommario se impostato su ''no''\ntype: Il tipo di contenuto di un frammento\nversion: Informazioni di versione per un plugin\n"
  },
  {
    "path": "languages/it-IT/Filters.multids",
    "content": "title: $:/language/Filters/\n\nAllTags: Tutte le etichette eccetto quelle di sistema\nAllTiddlers: Tutti i frammenti eccetto quelli di sistema\nDrafts: Frammenti bozza\nMissing: Frammenti mancanti\nOrphans: Frammenti orfani\nOverriddenShadowTiddlers: Frammenti nascosti sovrascritti\nRecentSystemTiddlers: Frammenti modificati di recente, inclusi frammenti di sistema\nRecentTiddlers: Frammenti modificati di recente\nSessionTiddlers: Frammenti modificati da quando è stato caricato il wiki\nShadowTiddlers: Frammenti nascosti\nStoryList: Frammenti nella cronologia, escluso <$text text=\"$:/AdvancedSearch\"/>\nSystemTags: Etichette di sistema\nSystemTiddlers: Frammenti di sistema\nTypedTiddlers: Frammenti di tipo non wiki-text\n"
  },
  {
    "path": "languages/it-IT/GettingStarted.tid",
    "content": "title: GettingStarted\n\n\\define lingo-base() $:/language/ControlPanel/Basics/\nBenvenuto in ~TiddlyWiki e nella ~TiddlyWiki community\n\nPrima di iniziare a memorizzare informazioni importanti in ~TiddlyWiki assicurati di riuscire a salvare in modo affidabile le modifiche. Leggi https://tiddlywiki.com/#GettingStarted per i dettagli.\n\n!! Imposta questo ~TiddlyWiki\n\n<div class=\"tc-control-panel\">\n\n|tc-table-no-border tc-first-col-min-width tc-first-link-nowrap|k\n| <$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link>|<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n| <$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link>|<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|^ <$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link><br><<lingo DefaultTiddlers/TopHint>>|<$edit tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\nApri il [[pannello di controllo|$:/ControlPanel]] per altre opzioni."
  },
  {
    "path": "languages/it-IT/Help/clearpassword.tid",
    "content": "title: $:/language/Help/clearpassword\ndescription: Cancella la password per le successive operazioni di cifratura\n\nCancella la password per le successive operazioni di cifratura\n\n```\n--clearpassword\n```\n"
  },
  {
    "path": "languages/it-IT/Help/default.tid",
    "content": "title: $:/language/Help/default\ndescription: \n\n\\define commandTitle()\n$:/language/Help/$(command)$\n\\end\n```\nUtilizzo: tiddlywiki [<wikifolder>] [--<command> [<args>...]...]\n```\n\nComandi disponibili:\n\n<ul>\n<$list filter=\"[commands[]sort[title]]\" variable=\"command\">\n<li><$link to=<<commandTitle>>><$macrocall $name=\"command\" $type=\"text/plain\" $output=\"text/plain\"/></$link>: <$transclude tiddler=<<commandTitle>> field=\"description\"/></li>\n</$list>\n</ul>\n\nPer l'aiuto dettagliato su un comando:\n\n```\ntiddlywiki --help <command>\n```\n"
  },
  {
    "path": "languages/it-IT/Help/editions.tid",
    "content": "title: $:/language/Help/editions\ndescription: Elenca le edizioni disponibili di TiddlyWiki\n\nElenca i nomi e le descrizioni delle edizioni disponibili. Puoi creare un nuovo wiki di una specifica edizione con il comando `--init`.\n\n```\n--editions\n```\n"
  },
  {
    "path": "languages/it-IT/Help/help.tid",
    "content": "title: $:/language/Help/help\ndescription: Visualizza l'aiuto per i comandi TiddlyWiki\n\nVisualizza il testo di aiuto per un comando:\n\n```\n--help [<command>]\n```\n\nSe il nome del comando &egrave; omesso viene visualizzata la lista dei comandi disponibili.\n"
  },
  {
    "path": "languages/it-IT/Help/init.tid",
    "content": "title: $:/language/Help/init\ndescription: Inizializza un nuovo wiki folder\n\nInizializza un [[WikiFolder|WikiFolders]] vuoto con una copia della specifica edizione.\n\n```\n--init <edition> [<edition> ...]\n```\n\nPer esempio::\n\n```\ntiddlywiki ./MyWikiFolder --init empty\n```\n\nNote:\n\n* Se necessario sar&agrave; creata la directory del wiki\n* Di default l'\"edizione\" &egrave; ''vuota''\n* Il comando init fallir&agrave; se la direcotry del wiki non &egrave; vuota\n* Il comando init rimuove qualsiasi definizione `includeWikis` nell'edizione del file `tiddlywiki.info`\n* Se sono specificate edizioni multiple, l'edizione inizializzata dopo sovrascrive tutti i file condivisi con le edizioni precedenti (il file finale `tiddlywiki.info` sar&agrave; copiato dall'ultima edizione)\n* `--editions` restituisce una lista delle edizioni disponibili\n"
  },
  {
    "path": "languages/it-IT/Help/load.tid",
    "content": "title: $:/language/Help/load\ndescription: Carica frammenti da un file\n\nCarica frammenti da file 2.x.x TiddlyWiki (`.html`), `.tiddler`, `.tid`, `.json` o altri file \n\n```\n--load <filepath>\n```\n\nPer caricare frrammenti da un TiddlyWiki criptato si deve prima specificare la password con il comando PasswordCommand. Per esempio:\n\n```\ntiddlywiki ./MyWiki --password pa55w0rd --load my_encrypted_wiki.html\n```\n"
  },
  {
    "path": "languages/it-IT/Help/notfound.tid",
    "content": "title: $:/language/Help/notfound\ndescription: \n\nNessuna voce di aiuto"
  },
  {
    "path": "languages/it-IT/Help/password.tid",
    "content": "title: $:/language/Help/password\ndescription: Definisci una password per le successive operazioni di crittografia\n\nDefinisci una password per le successive operazioni di crittografia ```--password <password>```"
  },
  {
    "path": "languages/it-IT/Help/rendertiddler.tid",
    "content": "title: $:/language/Help/rendertiddler\ndescription: Presenta un frammento singolo secondo uno specifico ContentType\n\nPresenta un frammento singolo secondo uno specifico ContentType, il default &egrave; `text/html` e lo salva con il nome file specificato:\n\n```\n--rendertiddler <title> <filename> [<type>]\n```\n"
  },
  {
    "path": "languages/it-IT/Help/rendertiddlers.tid",
    "content": "title: $:/language/Help/rendertiddlers\ndescription: Render tiddlers matching a filter to a specified ContentType\n\nRender a set of tiddlers matching a filter to separate files of a specified ContentType (defaults to `text/html`) and extension (defaults to `.html`).\n\n```\n--rendertiddlers <filter> <template> <pathname> [<type>] [<extension>]\n```\n\nPer esempio:\n\n```\n--rendertiddlers [!is[system]] $:/core/templates/static.tiddler.html ./static text/plain\n```\n"
  },
  {
    "path": "languages/it-IT/Help/savetiddler.tid",
    "content": "title: $:/language/Help/savetiddler\ndescription: Salva un frammento nel formato puro testo o binario in un file\n\nSalva un singolo frammento nel formato puro testo o binario con il nome file specificato. \n\n```\n--savetiddler <title> <filename>\n```\n"
  },
  {
    "path": "languages/it-IT/Help/server.tid",
    "content": "title: $:/language/Help/server\ndescription: Fornisce un'interfaccia server HTTP a TiddlyWiki\n\nIl server incluso in TiddlyWiki5 &egrave; molto semplice. Sebbene compatibile con TiddlyWeb, il server non supporta molte delle funzionalit&agrave; necessarie per un utilizzo affidabile su internet.\n\nAlla radice serve il rendering di un frammento specifico. Oltre la radice, serve frammenti singoli codificati in JSON e supporta le operazioni HTTP di base `GET`, `PUT` e `DELETE`.\n\n```\n--server <port> <roottiddler> <rendertype> <servetype> <username> <password> <host>\n```\n\nI parametri sono:\n\n* ''port'' - il numero di porta sui cui risponde il server  (default a \"8080\")\n* ''roottiddler'' - il frammento da servire alla radice (default a \"$:/core/save/all\") \n* ''rendertype'' - il tipo di contenuto con cui deve essere effettuato il render del frammento alla radice (default a \"text/plain\")\n* ''servetype'' - il tipo di contenuto con cui deve essere servito il frammento alla radice (default a \"text/html\")\n* ''username'' - il nome utente di default da utilizzare per firmare le modifiche\n* ''password'' - la password opzionale da utilizzare per l'autenticazione di base\n* ''host'' - il nome host opzionale da utilizzare per il server  (default a \"127.0.0.1\" ossia \"localhost\")\n\nSe il parametro password &egrave; specificato, il browser chieder&agrave; nome utente e password. Notare che la password &egrave; trasmessa in chiaro quindi questa implementazione non &egrave; adatta ad un uso generale.\n\nPer esempio:\n\n```\n--server 8080 $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n\nPer eseguire istanze multiple di server TiddlyWiki nello stesso tempo, &egrave; necessario definire per ciascuno una porta specifica.\n"
  },
  {
    "path": "languages/it-IT/Help/verbose.tid",
    "content": "title: $:/language/Help/verbose\ndescription: Attiva l'output esteso per il debug\n\nAttiva l'output esteso per il debug"
  },
  {
    "path": "languages/it-IT/Help/version.tid",
    "content": "title: $:/language/Help/version\ndescription: Visualizza la versione di TiddlyWiki\n\nVisualizza la versione di TiddlyWiki."
  },
  {
    "path": "languages/it-IT/Import.multids",
    "content": "title: $:/language/Import/\n\nEditor/Import/Heading: Importa immagini e inseriscile nell'editor.\nImported/Hint: I frammenti seguenti sono stati importati:\nListing/Cancel/Caption: Annulla\nListing/Cancel/Warning: Vuoi annullare l'importazione?\nListing/Hint: Questi frammenti sono pronti per essere importati:\nListing/Import/Caption: Importa\nListing/Preview: Anteprima:\nListing/Preview/Diff: Diff\nListing/Preview/DiffFields: Diff (Campi)\nListing/Preview/Fields: Campi\nListing/Preview/Text: Testo\nListing/Preview/TextRaw: Testo (non formattato)\nListing/Rename/CancelRename: Annulla\nListing/Rename/ConfirmRename: Rinomina frammento\nListing/Rename/OverwriteWarning: Un frammento con questo nome esiste già.\nListing/Rename/Prompt: Rinomina in:\nListing/Rename/Tooltip: Rinomina frammento prima dell'importazione\nListing/Select/Caption: Seleziona\nListing/Status/Caption: Stato\nListing/Title/Caption: Titolo\nUpgrader/Plugins/Suppressed/Incompatible: Plugin bloccato incompatibile o obsoleto\nUpgrader/Plugins/Suppressed/Version: Plugin bloccato (a causa di <<incoming>> in arrivo pi&ugrave; vecchio di <<existing>> esistente)\nUpgrader/Plugins/Upgraded: Plugin aggiornato da <<incoming>> a <<upgraded>>\nUpgrader/State/Suppressed: Frammento in stato temporaneo bloccato\nUpgrader/System/Alert: Stai per importare un frammento che sovrascriverà un frammento del modulo principale. Questo non è raccomandato in quanto potrebbe rendere instabile il sistema.\nUpgrader/System/Disabled: Frammento di sistema disabilitato.\nUpgrader/System/Suppressed: Frammento di sistema bloccato.\nUpgrader/System/Warning: Frammento del modulo principale.\nUpgrader/ThemeTweaks/Created: Tweak del tema migrato da <$text text=<<from>>/>\nUpgrader/Tiddler/Disabled: Frammento disabilitato.\nUpgrader/Tiddler/Selected: Frammento selezionato.\nUpgrader/Tiddler/Unselected: Frammento deselezionato.\n"
  },
  {
    "path": "languages/it-IT/Misc.multids",
    "content": "title: $:/language/\n\nAboveStory/ClassicPlugin/Warning: Sembra che tu stia tentando di caricare un plugin progettato per ~TiddlyWiki Classic. Considera che [[questi plugin non funzionano con TiddlyWiki versione 5.x.x|https://tiddlywiki.com/#TiddlyWikiClassic]]. Rilevati plug-in di ~TiddlyWiki Classic:\nBinaryWarning/Prompt: Questo frammento contiene dati binari\nClassicWarning/Hint: Questo frammento &egrave; scritto nel formato testo wiki di TiddlyWiki Classic e non &egrave; pienamente compatibile con TiddlyWiki versione 5. Vedi https://tiddlywiki.com/static/Upgrading.html per maggiori dettagli.\nClassicWarning/Upgrade/Caption: Aggiorna\nCloseAll/Button: Chiudi tutto\nColourPicker/Recent: Recenti:\nConfirmAction: Vuoi procedere?\nConfirmCancelTiddler: Vuoi annullare le modifiche al frammento \"<$text text=<<title>>/>\"?\nConfirmDeleteTiddler: Vuoi eliminare il frammento \"<$text text=<<title>>/>\"?\nConfirmDeleteTiddlers: Sei sicuro di voler eliminare <<resultCount>> frammento/i?\nConfirmEditShadowTiddler: Stai per editare un frammento nascosto. Ogni modifica dei default di sistema render&agrave; i futuri aggiornamenti non semplici. Sei sicuro di voler editare \"<$text text=<<title>>/>\"?\nConfirmOverwriteTiddler: Vuoi sovrascrivere il frammento \"<$text text=<<title>>/>\"?\nCount: Conteggio\nDefaultNewTiddlerTitle: Nuovo frammento\nDiffs/CountMessage: <<diff-count>> differenze\nDropMessage: Rilascia ora (o usa il tasto 'Escape' per annullare)\nEncryption/Cancel: Annulla\nEncryption/ConfirmClearPassword: Vuoi cancellare la password? Questa operazione rimuover&agrave; la crittografia applicata quando salverai questo wiki\nEncryption/Password: Password\nEncryption/PasswordNoMatch: Le password non corrispondono\nEncryption/PromptSetPassword: Imposta una nuova password per questo TiddlyWiki\nEncryption/RepeatPassword: Ripeti password\nEncryption/SetPassword: Imposta password\nEncryption/Username: Nome utente\nError/Caption: Errore\nError/Filter: Errore filtro\nError/FilterRunPrefix: Errore filtro: prefisso sconosciuto per l'esecuzione del filtro\nError/FilterSyntax: Errore di sintassi nell'espressione del filtro\nError/FormatFilterOperator: Errore filtro: suffisso sconosciuto per l'operatore di filtro 'format'.\nError/IsFilterOperator: Errore filtro: operando sconosciuto per l'operatore di filtro 'is'.\nError/LoadingPluginLibrary: Errore durante il caricamento della libreria dei plug-in\nError/NetworkErrorAlert: `<h2>''Errore di rete''</h2>Sembra che la connessione al server sia stata persa. Ciò potrebbe indicare un problema con la connessione di rete. Prova a ripristinare la connettività di rete prima di continuare.<br><br>''Tutte le modifiche non salvate verranno sincronizzate automaticamente al ripristino della connettività''.`\nError/PutEditConflict: File modificato sul server\nError/PutForbidden: Permesso negato\nError/PutUnauthorized: Autenticazione richiesta\nError/RecursiveTransclusion: Errore di transclusione ricorsivo nel widget di transclusione\nError/RetrievingSkinny: Errore durante il recupero dell'elenco dei frammenti\nError/SavingToTWEdit: Errore di salvataggio su TWEdit\nError/WhileSaving: Errore di salvataggio\nError/XMLHttpRequest: Codice di errore XMLHttpRequest\nInternalJavaScriptError/Hint: Beh, questo è imbarazzante. Si consiglia di riavviare TiddlyWiki aggiornando il browser\nInternalJavaScriptError/Title: Errore JavaScript interno\nLayoutSwitcher/Description: Apri il pannello di selezione del layout\nLazyLoadingWarning: <p>Tentativo di caricare contenuto esterno da ''<$text text={{!!_canonical_uri}}/>''</p><p>Se questo messaggio non scompare, il tipo di contenuto del frammento non corrisponde al tipo di contenuto esterno oppure potresti utilizzare un browser che non supporta il contenuto esterno per i wiki caricati come file autonomi. Vedi https://tiddlywiki.com/#ExternalText</p>\nLoginToTiddlySpace: Login su TiddlySpace\nManager/Controls/FilterByTag/None: (nessuna)\nManager/Controls/FilterByTag/Prompt: Filtra per etichetta:\nManager/Controls/Order/Prompt: Ordine inverso\nManager/Controls/Search/Placeholder: Cerca\nManager/Controls/Search/Prompt: Cerca:\nManager/Controls/Show/Option/Tags: Etichette\nManager/Controls/Show/Option/Tiddlers: Frammenti\nManager/Controls/Show/Prompt: Mostra:\nManager/Controls/Sort/Prompt: Ordina per:\nManager/Item/Colour: Colore\nManager/Item/Fields: Campi\nManager/Item/Icon: Icone\nManager/Item/Icon/None: (nessuno)\nManager/Item/RawText: Testo non formattato\nManager/Item/Tags: Etichette\nManager/Item/Tools: Strumenti\nManager/Item/WikifiedText: Testo wikificato\nMissingTiddler/Hint: Frammento mancante \"<$text text=<<currentTiddler>>/>\" -- clicca {{||$:/core/ui/Buttons/edit}} per crearlo\nNo: No\nOfficialPluginLibrary: Libreria ufficiale plugin ~TiddlyWiki\nOfficialPluginLibrary/Hint: La libreria ufficiale di plugin ~TiddlyWiki su tiddlywiki.com. Plugin, temi e language pack sono mantenuti dal core team.\nPageTemplate/Description: il layout predefinito di ~TiddlyWiki\nPageTemplate/Name: ~PageTemplate predefinito\nPluginReloadWarning: Salva {{$:/core/ui/Buttons/save-wiki}} e ricarica {{$:/core/ui/Buttons/refresh}} per consentire alle modifiche ai plugin ~JavaScript di avere effetto\nRecentChanges/DateFormat: DD MMM YYYY\nShortcuts/Input/Accept/Hint: Accetta l'elemento selezionato\nShortcuts/Input/AcceptVariant/Hint: Accetta l'elemento selezionato (variante)\nShortcuts/Input/AdvancedSearch/Hint: Apri il pannello ~RicercaAvanzata dal campo di ricerca della barra laterale\nShortcuts/Input/Cancel/Hint: Cancella il campo di immissione\nShortcuts/Input/Down/Hint: Seleziona il prossimo elemento\nShortcuts/Input/Tab-Left/Hint: Seleziona il tab precedente\nShortcuts/Input/Tab-Right/Hint: Seleziona il prossimo tab\nShortcuts/Input/Up/Hint: Seleziona l'elemento precedente\nShortcuts/SidebarLayout/Hint: Modifica il layout della barra laterale\nSwitcher/Subtitle/language: Cambia lingua\nSwitcher/Subtitle/layout: Cambia layout\nSwitcher/Subtitle/palette: Cambia paletta\nSwitcher/Subtitle/theme: Cambia tema\nSystemTiddler/Tooltip: Questo &egrave; un frammento di sistema\nSystemTiddlers/Include/Prompt: Includi i frammenti di sistema\nTagManager/Colour/Heading: Colore\nTagManager/Count/Heading: Conteggio\nTagManager/Icon/Heading: Icona\nTagManager/Icons/None: Nessuna\nTagManager/Info/Heading: Info\nTagManager/Tag/Heading: Etichetta\nTiddler/DateFormat: DD MMM YYYY alle hh12:0mmam\nUnsavedChangesWarning: Ci sono modifiche non salvate in TiddlyWiki\nYes: Sì\n"
  },
  {
    "path": "languages/it-IT/Modals/Download.tid",
    "content": "title: $:/language/Modals/Download\nsubtitle: Download changes\nfooter: <$button message=\"tm-close-tiddler\">Chiudi</$button>\nhelp: https://tiddlywiki.com/static/DownloadingChanges.html\n\nIl tuo browser supporta solo il salvataggio manuale.\n\nPer salvare le modifiche al tuo wiki, clicca con il tasto destro del mouse sul link di download mostrato sotto e seleziona \"Scarica file\" o \"Salva file\", e poi scegli la cartella ed il nome del file.\n\n//Puoi velocizzare l'operazione cliccando il link con il tasto control (Windows) o il tasto options/alt (Mac OS X). Non ti verr&agrave; chiesto il nome della cartella e del file, ma il tuo browser non &egrave; in grado di assegnare un nome riconoscibile -- potrebbe essere necessario rinominare il file per aggiungere l'estensione `.html` prima di poter fare qualcosa di utile.//\n\nSugli smartphone che non consentono di scaricare file, puoi memorizzare nei bookmark il link, successivamente sincronizzare i bookmark con un computer desktop su cui poi salvare il file normalmente.\n"
  },
  {
    "path": "languages/it-IT/NewJournal.multids",
    "content": "title: $:/config/NewJournal/\n\nTitle: DD MMM YYYY\nText:\n"
  },
  {
    "path": "languages/it-IT/NewJournalTags.tid",
    "content": "title: $:/config/NewJournal/Tags\n\nDiario\n"
  },
  {
    "path": "languages/it-IT/Notifications.multids",
    "content": "title: $:/language/Notifications/\n\nCopiedToClipboard/Failed: Impossibile copiare negli appunti!\nCopiedToClipboard/Succeeded: Copiato negli appunti!\nSave/Done: Wiki salvato\nSave/Starting: Inizio salvataggio wiki\n"
  },
  {
    "path": "languages/it-IT/Search.multids",
    "content": "title: $:/language/Search/\n\nDefaultResults/Caption: Lista\nFilter/Caption: Filtro\nFilter/Hint: Cerca attraverso un [[filtro|https://tiddlywiki.com/static/Filters.html]]\nFilter/Matches: //<small><<resultCount>> corrispondenze</small>//\nMatches: //<small><<resultCount>> corrispondenze</small>//\nMatches/All: Tutte le corrispondenze:\nMatches/Title: Corrispondenze titolo:\nSearch: Ricerca\nSearch/TooShort: Testo di ricerca troppo corto\nShadows/Caption: Nascosti\nShadows/Hint: Cerca frammenti nascosti\nShadows/Matches: //<small><<resultCount>> corrispondenze</small>//\nStandard/Caption: Standard\nStandard/Hint: Cerca frammenti standard\nStandard/Matches: //<small><<resultCount>> corrispondenze</small>//\nSystem/Caption: Sistema\nSystem/Hint: Cerca frammenti di sistema\nSystem/Matches: //<small><<resultCount>> corrispondenze</small>//\n"
  },
  {
    "path": "languages/it-IT/SideBar.multids",
    "content": "title: $:/language/SideBar/\n\nAll/Caption: Tutti\nCaption: Barra laterale\nContents/Caption: Indice\nDrafts/Caption: Bozze\nExplorer/Caption: Explorer\nMissing/Caption: Mancanti\nMore/Caption: Altro\nOpen/Caption: Aperti\nOrphans/Caption: Orfani\nRecent/Caption: Recenti\nShadows/Caption: Nascosti\nSystem/Caption: Sistema\nTags/Caption: Etichette\nTags/Untagged/Caption: Non etichettati\nTools/Caption: Strumenti\nTypes/Caption: Tipi\n"
  },
  {
    "path": "languages/it-IT/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\nUn programma personale per scrivere in modo non lineare"
  },
  {
    "path": "languages/it-IT/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\nIl mio ~TiddlyWiki"
  },
  {
    "path": "languages/it-IT/Snippets/ListByTag.tid",
    "content": "title: $:/language/Snippets/ListByTag\ntags: $:/tags/TextEditor/Snippet\ncaption: Elenco di frammenti per etichetta\n\n<<list-links \"[tag[task]sort[title]]\">>\n"
  },
  {
    "path": "languages/it-IT/Snippets/MacroDefinition.tid",
    "content": "title: $:/language/Snippets/MacroDefinition\ntags: $:/tags/TextEditor/Snippet\ncaption: Definizione macro\n\n\\define macroName(param1:\"default value\",param2)\nTesto della macro\n\\end\n"
  },
  {
    "path": "languages/it-IT/Snippets/Table4x3.tid",
    "content": "title: $:/language/Snippets/Table4x3\ntags: $:/tags/TextEditor/Snippet\ncaption: Tabella con 4 colonne e 3 righe\n\n|! |!Alpha |!Beta |!Gamma |!Delta |\n|!Uno | | | | |\n|!Due | | | | |\n|!Tre | | | | |\n"
  },
  {
    "path": "languages/it-IT/Snippets/TableOfContents.tid",
    "content": "title: $:/language/Snippets/TableOfContents\ntags: $:/tags/TextEditor/Snippet\ncaption: Indice\n\n<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'TableOfContents'>>\n\n</div>"
  },
  {
    "path": "languages/it-IT/ThemeTweaks.multids",
    "content": "title: $:/language/ThemeTweaks/\n\nMetrics: Dimensioni\nMetrics/BodyFontSize: Dimensione carattere per il corpo dei frammenti\nMetrics/BodyLineHeight: Altezza riga per il corpo dei frammenti\nMetrics/FontSize: Dimensione carattere\nMetrics/LineHeight: Altezza riga\nMetrics/SidebarBreakpoint: Punto di interruzione della barra laterale\nMetrics/SidebarBreakpoint/Hint: la larghezza minima della pagina alla quale la cronologia<br>e la barra laterale appariranno fianco a fianco\nMetrics/SidebarWidth: Larghezza barra laterale\nMetrics/SidebarWidth/Hint: larghezza della barra laterale in layout fluido-fisso\nMetrics/StoryLeft: Posizione cronologia a sinistra\nMetrics/StoryLeft/Hint: quanto dista il margine sinistro della cronologia<br>(area frammenti) dalla sinistra della pagina\nMetrics/StoryRight: Cronologia a destra\nMetrics/StoryRight/Hint: quanto dista il margine sinistro della barra <br>laterale dalla sinistra della pagina\nMetrics/StoryTop: Posizione superiore della cronologia\nMetrics/StoryTop/Hint: quanto dista il margine superiore della <br>cronologia dall'inizio della pagina\nMetrics/StoryWidth: Larghezza cronologia\nMetrics/StoryWidth/Hint: larghezza complessiva della cronologia\nMetrics/TiddlerWidth: Larghezza frammenti\nMetrics/TiddlerWidth/Hint: all'interno della cronologia\nOptions: Opzioni\nOptions/CodeWrapping: Racchiudi le righe lunghe in blocchi di codice\nOptions/SidebarLayout: Layout barra laterale\nOptions/SidebarLayout/Fixed-Fluid: Cronologia fissa, barra laterale fluida\nOptions/SidebarLayout/Fluid-Fixed: Cronologia fluida, barra laterale fissa\nOptions/StickyTitles: Titoli fissi\nOptions/StickyTitles/Hint: Fa in modo che i titoli dei frammenti \"si fissino\" alla parte superiore della finestra del browser\nSettings: Impostazioni\nSettings/BackgroundImage: Immagine di sfondo della pagina\nSettings/BackgroundImageAttachment: Immagine di sfondo della pagina\nSettings/BackgroundImageAttachment/Fixed: Fissata alla finestra\nSettings/BackgroundImageAttachment/Scroll: Scorre con i frammenti\nSettings/BackgroundImageSize: Dimensione immagine di sfondo della pagina\nSettings/BackgroundImageSize/Auto: Auto\nSettings/BackgroundImageSize/Contain: Contiene\nSettings/BackgroundImageSize/Cover: Copre\nSettings/CodeFontFamily: Famiglia di caratteri del codice\nSettings/EditorFontFamily: Famiglia di caratteri dell'editor\nSettings/FontFamily: Famiglia di caratteri\nThemeTweaks: Modifiche al tema\nThemeTweaks/Hint: Puoi modificare alcuni aspetti del tema ''Vanilla''.\n"
  },
  {
    "path": "languages/it-IT/TiddlerInfo.multids",
    "content": "title: $:/language/TiddlerInfo/\n\nAdvanced/Caption: Avanzate\nAdvanced/PluginInfo/Empty/Hint: Nessuno\nAdvanced/PluginInfo/Heading: Dettagli plugin\nAdvanced/PluginInfo/Hint: Questo plugin contiene i seguenti frammenti nascosti:\nAdvanced/ShadowInfo/Heading: Stato nascosto\nAdvanced/ShadowInfo/NotShadow/Hint: Il frammento <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> non &egrave; un frammento nascosto\nAdvanced/ShadowInfo/OverriddenShadow/Hint: &Egrave; sovrascritto da un frammento ordinario\nAdvanced/ShadowInfo/Shadow/Hint: Il frammento <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> &egrave; un frammento nascosto\nAdvanced/ShadowInfo/Shadow/Source: &Egrave; definito nel plugin <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>\nFields/Caption: Campi\nList/Caption: Lista\nList/Empty: Questo frammento non ha una lista\nListed/Caption: Elencato\nListed/Empty: Questo frammento non &egrave; elencato da nessun altro\nReferences/Caption: Riferimenti\nReferences/Empty: Nessun frammento &egrave; collegato a questo\nTagging/Caption: Etichetta\nTagging/Empty: Non ci sono frammenti con questa etichetta\nTools/Caption: Strumenti\n"
  },
  {
    "path": "languages/it-IT/Types/application_javascript.tid",
    "content": "title: $:/language/Docs/Types/application/javascript\ndescription: Codice JavaScript\nname: application/javascript\ngroup: Sviluppatore\ngroup-sort: 2\n"
  },
  {
    "path": "languages/it-IT/Types/application_json.tid",
    "content": "title: $:/language/Docs/Types/application/json\ndescription: Dati JSON\nname: application/json\ngroup: Sviluppatore\ngroup-sort: 2\n"
  },
  {
    "path": "languages/it-IT/Types/application_x_tiddler_dictionary.tid",
    "content": "title: $:/language/Docs/Types/application/x-tiddler-dictionary\ndescription: Dizionario dati\nname: application/x-tiddler-dictionary\ngroup: Sviluppatore\ngroup-sort: 2\n"
  },
  {
    "path": "languages/it-IT/Types/image_gif.tid",
    "content": "title: $:/language/Docs/Types/image/gif\ndescription: Immagine GIF\nname: image/gif\ngroup: Immagine\ngroup-sort: 1\n"
  },
  {
    "path": "languages/it-IT/Types/image_jpeg.tid",
    "content": "title: $:/language/Docs/Types/image/jpeg\ndescription: Immagine JPEG\nname: image/jpeg\ngroup: Immagine\ngroup-sort: 1\n"
  },
  {
    "path": "languages/it-IT/Types/image_png.tid",
    "content": "title: $:/language/Docs/Types/image/png\ndescription: Immagine PNG\nname: image/png\ngroup: Immagine\ngroup-sort: 1\n"
  },
  {
    "path": "languages/it-IT/Types/image_svg_xml.tid",
    "content": "title: $:/language/Docs/Types/image/svg+xml\ndescription: Immagine SVG (Structured Vector Graphics)\nname: image/svg+xml\ngroup: Immagine\ngroup-sort: 1\n"
  },
  {
    "path": "languages/it-IT/Types/text_css.tid",
    "content": "title: $:/language/Docs/Types/text/css\ndescription: Foglio di stile statico\nname: text/css\ngroup: Sviluppatore\ngroup-sort: 2\n"
  },
  {
    "path": "languages/it-IT/Types/text_html.tid",
    "content": "title: $:/language/Docs/Types/text/html\ndescription: Markup HTML\nname: text/html\ngroup: Testo\ngroup-sort: 0\n"
  },
  {
    "path": "languages/it-IT/Types/text_plain.tid",
    "content": "title: $:/language/Docs/Types/text/plain\ndescription: Testo normale\nname: text/plain\ngroup: Testo\ngroup-sort: 0\n"
  },
  {
    "path": "languages/it-IT/Types/text_vnd.tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/vnd.tiddlywiki\ndescription: TiddlyWiki 5\nname: text/vnd.tiddlywiki\ngroup: Testo\ngroup-sort: 0\n"
  },
  {
    "path": "languages/it-IT/plugin.info",
    "content": "{\n\t\"title\": \"$:/languages/it-IT\",\n\t\"name\": \"it-IT\",\n\t\"plugin-type\": \"language\",\n\t\"description\": \"Italiano (Italia)\",\n\t\"author\": \"MaurizioPollio\",\n\t\"core-version\": \">=5.0.8\"\n}\n"
  },
  {
    "path": "languages/ja-JP/Buttons.multids",
    "content": "title: $:/language/Buttons/\n\nAdvancedSearch/Caption: 詳細検索\nAdvancedSearch/Hint: 条件を付けて検索します\nBold/Caption: 強調\nBold/Hint: 選択範囲に太字の書式を適用します\nCancel/Caption: キャンセル\nCancel/Hint: この Tiddler の変更を破棄します\nClear/Caption: クリア\nClear/Hint: 画像を無地にクリアします\nClone/Caption: 複製\nClone/Hint: Tiddler を複製します\nClose/Caption: 閉じる\nClose/Hint: この Tiddler を閉じます\nCloseAll/Caption: すべて閉じる\nCloseAll/Hint: すべての Tiddler を閉じます\nCloseOthers/Caption: 他の Tiddler を閉じる\nCloseOthers/Hint: 他の Tiddler を非表示にします\nControlPanel/Caption: コントロールパネル\nControlPanel/Hint: この Wiki の設定画面を開きます\nCopyToClipboard/Caption: クリップボードへコピー\nCopyToClipboard/Hint: このテキストをクリップボードへコピーします\nDelete/Caption: 削除\nDelete/Hint: Tiddler を削除します\nDeleteTiddlers/Caption: Tiddler一式の削除\nDeleteTiddlers/Hint: Tiddler一式を削除します\nEdit/Caption: 編集\nEdit/Hint: この Tiddler を編集します\nEditorHeight/Caption: エディタの縦幅\nEditorHeight/Caption/Auto: コンテンツに合わせて自動的に高さを調整します\nEditorHeight/Caption/Fixed: 縦幅の固定:\nEditorHeight/Hint: テキストエディタの縦幅を選択します\nEncryption/Caption: 暗号化\nEncryption/ClearPassword/Caption: パスワードの解除\nEncryption/ClearPassword/Hint: パスワードと暗号化を解除します\nEncryption/Hint: Wiki を保存するときのパスワードの設定/解除をします\nEncryption/SetPassword/Caption: パスワードの設定\nEncryption/SetPassword/Hint: パスワードを設定してwikiを暗号化します\nExcise/Caption: 切り取り\nExcise/Caption/Excise: 切り取りします\nExcise/Caption/MacroName: マクロ名:\nExcise/Caption/NewTitle: 新しい Tiddler のタイトル:\nExcise/Caption/Replace: 削除テキストを次に置き換える:\nExcise/Caption/Replace/Link: リンク\nExcise/Caption/Replace/Macro: マクロ\nExcise/Caption/Replace/Transclusion: 転出\nExcise/Caption/Tag: 新しい Tiddler にこの Tiddler のタイトルをタグ付けします\nExcise/Caption/TiddlerExists: 警告: Tiddler はすでに存在します\nExcise/DefaultTitle: 新しい切り取り\nExcise/Hint: 選択したテキストを新しいティドラーに切り出します\nExportPage/Caption: すべてエクスポート\nExportPage/Hint: すべての Tiddler をエクスポートします\nExportTiddler/Caption: Tiddler をエクスポート\nExportTiddler/Hint: Tiddler をエクスポート\nExportTiddlers/Caption: Tiddler をエクスポート\nExportTiddlers/Hint: Tiddler をエクスポート\nFold/Caption: Tiddler をしまう\nFold/FoldBar/Caption: 棒状にしまう\nFold/FoldBar/Hint: Tiddler を棒状にしまう・ひらきます\nFold/Hint: この Tiddler をしまい、本文を非表示にします\nFoldAll/Caption: すべての Tiddler をしまう\nFoldAll/Hint: すべてのひらいている Tiddler を棒状にしまいます\nFoldOthers/Caption: 他の Tiddler をしまう\nFoldOthers/Hint: 他のひらいている Tiddler を棒状にしまいます\nFullScreen/Caption: フルスクリーン\nFullScreen/Hint: フルスクリーンで表示、またはフルスクリーン表示を解除します\nHeading1/Caption: 見出し 1\nHeading1/Hint: 選択範囲を含む行に見出しレベル 1 の書式を適用します\nHeading2/Caption: 見出し 2\nHeading2/Hint: 選択範囲を含む行に見出しレベル 2 の書式を適用します\nHeading3/Caption: 見出し 3\nHeading3/Hint: 選択範囲を含む行に見出しレベル 3 の書式を適用します\nHeading4/Caption: 見出し 4\nHeading4/Hint: 選択範囲を含む行に見出しレベル 4 の書式を適用します\nHeading5/Caption: 見出し 5\nHeading5/Hint: 選択範囲を含む行に見出しレベル 5 の書式を適用します\nHeading6/Caption: 見出し 6\nHeading6/Hint: 選択範囲を含む行に見出しレベル 6 の書式を適用します\nHelp/Caption: ヘルプ\nHelp/Hint: ヘルプパネルを表示します\nHideSideBar/Caption: サイドバーを消す\nHideSideBar/Hint: サイドバーを非表示にします\nHome/Caption: ホーム\nHome/Hint: デフォルト Tiddler を表示します\nImport/Caption: インポート\nImport/Hint: ファイルをインポートします\nInfo/Caption: 情報\nInfo/Hint: この Tiddler の情報を表示します\nItalic/Caption: 斜体\nItalic/Hint: 選択範囲に斜体書式を適用します\nLanguage/Caption: 言語\nLanguage/Hint: メニューの言語を選択します\nLayoutSwitcher/Caption: レイアウト\nLayoutSwitcher/Hint: レイアウト切り替えを開きます\nLineWidth/Caption: 線の長さ\nLineWidth/Hint: 線画する線の長さを設定します\nLink/Caption: リンク\nLink/Hint: Wiki テキストリンクを作成します\nLinkify/Caption: Wiki リンク\nLinkify/Hint: 選択部分を角括弧で囲みます\nListBullet/Caption: 箇条書きリスト\nListBullet/Hint: 選択範囲を含む行に箇条書きリストの書式を適用します\nListNumber/Caption: 番号付きリスト\nListNumber/Hint: 選択範囲を含む行に番号付きチストの書式を適用します\nManager/Caption: Tiddler 管理\nManager/Hint: Tiddler 管理を開きます\nMonoBlock/Caption: 等幅ブロック\nMonoBlock/Hint: 選択範囲を含む行に等幅ブロック書式を適用します\nMonoLine/Caption: 等幅\nMonoLine/Hint: 選択範囲に等幅の文字書式を適用します\nMore/Caption: その他のコマンド\nMore/Hint: その他のコマンドを表示します\nNetworkActivity/Caption: ネットワークアクティビティ\nNetworkActivity/Hint: すべてのネットワークアクティビティをキャンセルします\nNewHere/Caption: タグ付き Tiddler の作成\nNewHere/Hint: この Tiddler のタイトルのタグを付けた、新しい Tidder を作成します\nNewImage/Caption: 新しい画像\nNewImage/Hint: 新しい画像 Tiddler を作成します\nNewJournal/Caption: 新しい日誌\nNewJournal/Hint: 新しい日誌（Journal Tiddler）を作成します\nNewJournalHere/Caption: タグ付き日誌の作成\nNewJournalHere/Hint: この Tiddler のタイトルのタグを付けた、新しい日誌（Journal Tiddler）を作成します\nNewMarkdown/Caption: 新しい Markdown tiddler\nNewMarkdown/Hint: 新しい Markdown Tiddler を作成します\nNewTiddler/Caption: 新しい Tiddler\nNewTiddler/Hint: 新しい Tiddler を作成します\nOpacity/Caption: 透明度\nOpacity/Hint: ペイントの透明度を設定します\nOpenControlPanel/Hint: この Wiki の設定画面を開きます\nOpenWindow/Caption: 新しいウインドウで開く\nOpenWindow/Hint: 新しいウインドウで Tiddler を開く\nPaint/Caption: ペイント色\nPaint/Hint: ペイントの色を設定します\nPalette/Caption: パレット\nPalette/Hint: 色パレットで選択します\nPermalink/Caption: パーマリンク\nPermalink/Hint: この Tiddler へ直接リンクするアドレスを、ブラウザのアドレスバーに表示します\nPermaview/Caption: パーマビュー\nPermaview/Hint: 表示している全ての Tiddler へのリンクをブラウザのアドレスバーに表示します\nPicture/Caption: 画像\nPicture/Hint: 画像を挿入します\nPreview/Caption: プレビュー\nPreview/Hint: プレビューパネルを表示します\nPreviewType/Caption: プレビューの種類\nPreviewType/Hint: プレビューの種類を選択します\nPrint/Caption: ページを印刷\nPrint/Hint: このページを印刷します\nQuote/Caption: 引用\nQuote/Hint: 選択範囲を含む行に引用符で囲まれたテキストフォーマットを適用します\nRefresh/Caption: 再読み込み\nRefresh/Hint: ファイルを再読み込みします\nRotateLeft/Caption: 反時計回転\nRotateLeft/Hint: 画像を反時計 90 度回転します\nSave/Caption: 確定\nSave/Hint: 編集内容を確定します\nSaveWiki/Caption: 保存\nSaveWiki/Hint: Wiki を保存します\nShowSideBar/Caption: サイドバーを表示する\nShowSideBar/Hint: サイドバーを表示します\nSidebarSearch/Hint: サイドバーの検索項目を選択します\nSize/Caption: 画像サイズ\nSize/Caption/Height: 縦幅:\nSize/Caption/Resize: 画像のサイズを変更\nSize/Caption/Width: 横幅:\nSize/Hint: 画像サイズの設定\nStamp/Caption: スタンプ\nStamp/Caption/New: 独自のスニペットを追加します\nStamp/Hint: あらかじめ設定されたスニペットを挿入します\nStamp/New/Text: スニペットのテキスト (captionフィールドに説明的なタイトルを追加することを忘れないでください)\nStamp/New/Title: メニューに表示する名前\nStoryView/Caption: Tidder 表示切替\nStoryView/Hint: Tiddler の表示方法を切り替えます\nStrikethrough/Caption: 取り消し線\nStrikethrough/Hint: 選択範囲に取り消し線書式を適用します\nSubscript/Caption: 下付き文字\nSubscript/Hint: 選択範囲に下付き文字の書式を適用します\nSuperscript/Caption: 上付き文字\nSuperscript/Hint: 選択範囲に上付き文字の書式を適用します\nTagManager/Caption: タグの管理\nTagManager/Hint: タグの管理画面を開きます\nTestCaseImport/Caption: Tiddler一式のインポート\nTestCaseImport/Hint: Tiddler一式をインポートします\nTheme/Caption: テーマ\nTheme/Hint: 表示のテーマを選択します\nTimestamp/Caption: タイムスタンプ\nTimestamp/Hint: 修正によってタイムスタンプが更新されるかどうかを選択します\nTimestamp/Off/Caption: タイムスタンプを無効にする\nTimestamp/Off/Hint: Tiddler 変更時にタイムスタンプを更新しないようにします\nTimestamp/On/Caption: タイムスタンプを有効にする\nTimestamp/On/Hint: Tiddler 変更時にタイムスタンプを更新します\nToggleSidebar/Hint: サイドバーの表示・非表示を切り替えます\nTranscludify/Caption: 参照\nTranscludify/Hint: 選択部分を中括弧で囲みます\nUnderline/Caption: 下線\nUnderline/Hint: 選択範囲に下線書式を適用します\nUnfold/Caption: Tiddler をひらく\nUnfold/Hint: この Tiddler の本文をひらきます\nUnfoldAll/Caption: すべての Tiddler をひらく\nUnfoldAll/Hint: しまっている Tiddler の本文をひらきます\n"
  },
  {
    "path": "languages/ja-JP/ControlPanel.multids",
    "content": "title: $:/language/ControlPanel/\n\nAdvanced/Caption: 詳細設定\nAdvanced/Hint: この TiddlyWiki に関する内部情報\nAppearance/Caption: 外観\nAppearance/Hint: TiddlyWiki 外観のカスタマイズ方法\nBasics/AnimDuration/Prompt: アニメーション時間:\nBasics/AutoFocus/Prompt: 新しい Tiddler の標準フォーカスフィールド\nBasics/Caption: 基本\nBasics/DefaultTiddlers/BottomHint: タイトルに空白を含めたいときは &#91;&#91;二重の角カッコ&#93;&#93; を使用してください。そのほか {{保存時の表示を維持||$:/snippets/retain-story-ordering-button}} することもできます。\nBasics/DefaultTiddlers/Prompt: デフォルト Tiddler:\nBasics/DefaultTiddlers/TopHint: このファイルを開いたときに初期表示される Tiddler を設定してください:\nBasics/Language/Prompt: 現在の言語:\nBasics/NewJournal/Tags/Prompt: 日誌（Journal Tiddler）のタグ\nBasics/NewJournal/Text/Prompt: 日誌（Journal Tiddler）のテキスト\nBasics/NewJournal/Title/Prompt: 日誌（Journal Tiddlers）のデフォルトのタイトル\nBasics/NewTiddler/Tags/Prompt: 新しい Tiddler のタグ\nBasics/NewTiddler/Title/Prompt: 新しい Tiddler のタイトル\nBasics/OverriddenShadowTiddlers/Prompt: 上書きされている隠し Tiddler 数:\nBasics/RemoveTags: 現在の形式を更新\nBasics/RemoveTags/Hint: タグの設定を最新の形式に更新します\nBasics/ShadowTiddlers/Prompt: 隠し Tiddler 数:\nBasics/Subtitle/Prompt: サブタイトル:\nBasics/SystemTiddlers/Prompt: システム Tiddler 数:\nBasics/Tags/Prompt: タグ数:\nBasics/Tiddlers/Prompt: Tiddler 数:\nBasics/Title/Prompt: この ~TiddlyWiki のタイトル:\nBasics/Username/Prompt: 編集者として表示するユーザ名:\nBasics/Version/Prompt: ~TiddlyWiki バージョン:\nCascades/Caption: カスケード\nCascades/Hint: これらのグローバルルールは、特定のテンプレートを動的に選択するために使用されます。 この結果は，一連のフィルタの中で最初に結果を返したフィルタの結果です\nCascades/TagPrompt: タグ <$macrocall $name=\"tag\" tag=<<currentTiddler>>/> のフィルタ\nEditorTypes/Caption: エディタ\nEditorTypes/Editor/Caption: エディタ\nEditorTypes/Hint: Tiddler の種類と編集するエディタの関係を設定します。\nEditorTypes/Type/Caption: Tiddler の種類\nEditTemplateBody/Caption: テンプレート本体の編集\nEditTemplateBody/Hint: このルールカスケードは、デフォルトの編集テンプレートが、Tiddlerのボディを編集するためのテンプレートを動的に選択するために使用されます。\nFieldEditor/Caption: 項目エディタ\nFieldEditor/Hint: このルールカスケードは、Tiddler　フィールドをレンダリングするためのテンプレートを、その名前に基づいて動的に選択するために使用されます。編集するテンプレートの中で使用されます。\nInfo/Caption: 情報\nInfo/Hint: この TiddlyWiki について\nKeyboardShortcuts/Add/Caption: ショートカットの追加\nKeyboardShortcuts/Add/Prompt: ショートカットをここに入力\nKeyboardShortcuts/Caption: キーボードショートカット\nKeyboardShortcuts/Hint: キーボードショートカットの割り当てを管理します。\nKeyboardShortcuts/NoShortcuts/Caption: キーボードショートカットの割り当てはありません\nKeyboardShortcuts/Platform/All: 全プラットフォーム\nKeyboardShortcuts/Platform/Linux: Linux プラットフォームのみ\nKeyboardShortcuts/Platform/Mac: Macintosh プラットフォームのみ\nKeyboardShortcuts/Platform/NonLinux: 非 Linux プラットフォームのみ\nKeyboardShortcuts/Platform/NonMac: 非 Macintosh プラットフォームのみ\nKeyboardShortcuts/Platform/NonWindows: 非 Windows プラットフォームのみ\nKeyboardShortcuts/Platform/Windows: Windows プラットフォームのみ\nKeyboardShortcuts/Remove/Hint: キーボードショートカットの削除\nLayoutSwitcher/Caption: レイアウト\nLoadedModules/Caption: ロード済みモジュール\nLoadedModules/Hint: 以下は現在ロード済みのモジュールの一覧で、ソースの Tiddler にリンクしています。斜体表記のものにはソースがありませんが、これは通常ブートプロセス中に設定されたものです。\nPalette/Caption: パレット\nPalette/Editor/Clone/Caption: 複製\nPalette/Editor/Clone/Prompt: このシャドウパレットを編集する前に複製を作成することをお勧めします。\nPalette/Editor/Delete/Hint: 現在のパレットからこの項目を削除\nPalette/Editor/Names/External/Show: 現在パレットの一部ではない色の名前を表示します\nPalette/Editor/Prompt: 編集中\nPalette/Editor/Prompt/Modified: このシャドウパレットは更新されました。\nPalette/Editor/Reset/Caption: リセット\nPalette/HideEditor/Caption: エディタを隠す\nPalette/Prompt: 現在のパレット:\nPalette/ShowEditor/Caption: エディタを表示\nParsing/Block/Caption: ブロック貼り付けのルール\nParsing/Caption: 解析\nParsing/Hint: ここでは、Wiki 解析ルールをグローバルに有効・無効化することができます。変更を有効にするには、Wiki を保存して再読み込みしてください。特定の解析ルールを無効にすると、<$text text=\"TiddlyWiki\"/> が正しく機能しなくなることがあります。 [[safe mode|https://tiddlywiki.com/#SafeMode]] を使用して、正常な動作に復旧できます。\nParsing/Inline/Caption: インライン解析ルール\nParsing/Pragma/Caption: プラグマ解析ルール\nPlugins/Add/Caption: 他のプラグインを取得\nPlugins/Add/Hint: 公式ライブラリからプラグインをインストールします\nPlugins/AlreadyInstalled/Hint: このプラグインは、すでにバージョン <$text text=<<installedVersion>>/> になっています\nPlugins/AlsoRequires: 関連必要:\nPlugins/Caption: プラグイン\nPlugins/ClosePluginLibrary: プラグインライブラリを閉じる\nPlugins/Disable/Caption: 無効\nPlugins/Disable/Hint: ページを再読込したときにプラグインを無効にする。\nPlugins/Disabled/Status: (無効)\nPlugins/Downgrade/Caption: ダウングレード\nPlugins/Empty/Hint: なし\nPlugins/Enable/Caption: 有効\nPlugins/Enable/Hint: ページを再読込したときにプラグインを有効にする。\nPlugins/Install/Caption: インストール\nPlugins/Installed/Hint: 現在インストールされているプラグイン:\nPlugins/Language/Prompt: 言語\nPlugins/Languages/Caption: 言語\nPlugins/Languages/Hint: 言語パックプラグイン\nPlugins/NoInfoFound/Hint: ''\"<$text text=<<currentTab>>/>\"'' は見つかりません\nPlugins/NotInstalled/Hint: このプラグインは現在インストールされていません\nPlugins/OpenPluginLibrary: プラグインライブラリを開く\nPlugins/Plugin/Prompt: プラグイン\nPlugins/Plugins/Caption: プラグイン\nPlugins/Plugins/Hint: プラグイン\nPlugins/PluginWillRequireReload: (再読み込みが必要)\nPlugins/Reinstall/Caption: 再インストール\nPlugins/Stability/Deprecated: 非推奨\nPlugins/Stability/Experimental: 実験的\nPlugins/Stability/Legacy: レガシー\nPlugins/Stability/Stable: 安定版\nPlugins/SubPluginPrompt: <<count>> 件サブプラグインが利用可能です\nPlugins/Theme/Prompt: テーマ\nPlugins/Themes/Caption: テーマ\nPlugins/Themes/Hint: テーマプラグイン\nPlugins/Update/Caption: 更新\nPlugins/Updates/Caption: 更新\nPlugins/Updates/Hint: インストールされているプラグインの更新が可能です\nPlugins/Updates/UpdateAll/Caption: <<update-count>> プラグインの更新\nSaving/Caption: 保存\nSaving/DownloadSaver/AutoSave/Description: ダウンロードセーバーの自動保存を許可\nSaving/DownloadSaver/AutoSave/Hint: ダウンロードセーバーの自動保存を有効にします\nSaving/DownloadSaver/Caption: ダウンロードセーバー\nSaving/DownloadSaver/Hint: この設定は HTML5 対応ダウンロードセーバーに適用されます\nSaving/General/Caption: 基本\nSaving/General/Hint: これらの設定は、読み込まれたすべてのセーバーに適用されます\nSaving/GitService/Branch: 保存対象ブランチ\nSaving/GitService/CommitMessage: TiddlyWiki によって保存しました\nSaving/GitService/Description: これらの設定は <<service-name>> に保存するときのみ使用されます\nSaving/GitService/Filename: 対象ファイルのファイル名 (例 `index.html`)\nSaving/GitService/Gitea/Caption: Gitea セーバー\nSaving/GitService/Gitea/Password: API のパーソナルアクセストークン (Gitea の Web インターフェイス: `Settings | Applications | Generate New Token`)\nSaving/GitService/GitHub/Caption: ~GitHub セーバー\nSaving/GitService/GitHub/Password: パスワード、OAUTH トークン、パーソナルアクセストークンのいずれか (詳細は [[GitHub ヘルプページ|https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line]] を参照)\nSaving/GitService/GitLab/Caption: ~GitLab セーバー\nSaving/GitService/GitLab/Password: API のパーソナルアクセストークン (詳細は [[GitLab ヘルプページ|https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html]] を参照)\nSaving/GitService/Path: 対象ファイルのパス (例 `/wiki/`)\nSaving/GitService/Repo: 対象リポジトリ (例 `Jermolene/TiddlyWiki5`)\nSaving/GitService/ServerURL: サーバ API URL\nSaving/GitService/UserName: ユーザー名\nSaving/Heading: 保存\nSaving/Hint: セーバーモジュールで TiddlyWiki 全体を 1 ファイルとして保存する際に使用する設定です\nSaving/TiddlySpot/Advanced/Heading: 詳細設定\nSaving/TiddlySpot/BackupDir: バックアップディレクトリ\nSaving/TiddlySpot/Backups: バックアップ\nSaving/TiddlySpot/Caption: ~TiddlySpot セーバー\nSaving/TiddlySpot/ControlPanel: ~TiddlySpot コントロールパネル\nSaving/TiddlySpot/Description: この設定は、 http://tiddlyspot.com または互換性のあるリモートサーバーへ保存する場合に使います。\nSaving/TiddlySpot/Filename: アップロードファイル名\nSaving/TiddlySpot/Heading: ~TiddlySpot\nSaving/TiddlySpot/Hint: //サーバーのURLには `http://<wikiname>.tiddlyspot.com/store.cgi` がデフォルトで使用されます。ほかのサーバーのアドレスを指定することもできます。//\nSaving/TiddlySpot/Password: パスワード\nSaving/TiddlySpot/ReadOnly: [[TiddlySpot|http://tiddlyspot.com]] では、新しいサイトの作成ができなくなりました。 ~TiddlySpot に代わる新しいホスティングサービスである [[TiddlyHost|https://tiddlyhost.com]] 新しいサイトを制作できます。\nSaving/TiddlySpot/ServerURL: サーバー URL\nSaving/TiddlySpot/UploadDir: アップロードディレクトリ\nSaving/TiddlySpot/UserName: Wiki 名\nSettings/AutoSave/Caption: 自動保存:\nSettings/AutoSave/Disabled/Description: 自動的に保存しない\nSettings/AutoSave/Enabled/Description: 自動的に保存する\nSettings/AutoSave/Hint: 自動的に保存するかどうかを設定します\nSettings/CamelCase/Caption: Camel Case Wiki リンク\nSettings/CamelCase/Description: 自動で ~CamelCase リンクを有効にする\nSettings/CamelCase/Hint: ~CamelCase フレーズの自動リンクをグローバルに無効にすることができます。有効にするには再読み込みが必要です\nSettings/Caption: 設定\nSettings/DefaultMoreSidebarTab/Caption: デフォルトのサイドバー 詳しく タブ\nSettings/DefaultMoreSidebarTab/Hint: デフォルトで表示されるサイドバー 詳しく タブを指定します\nSettings/DefaultSidebarTab/Caption: 標準サイドバータブ\nSettings/DefaultSidebarTab/Hint: 標準で表示されるサイドバータブを指定します\nSettings/DefaultTiddlerInfoTab/Caption: Tiddler情報のデフォルトタブ\nSettings/DefaultTiddlerInfoTab/Hint: Tiddler情報パネルを開いたときにデフォルトで表示されるタブを指定します\nSettings/EditorToolbar/Caption: エディターツールバー\nSettings/EditorToolbar/Description: エディターツールバーを表示\nSettings/EditorToolbar/Hint: エディターツールバーの有効・無効を切り替えます:\nSettings/Hint: TiddlyWiki の動作を設定します\nSettings/InfoPanelMode/Caption: Tiddler 情報パネルモード\nSettings/InfoPanelMode/Hint: Tiddler 情報パネルが閉じる時間:\nSettings/InfoPanelMode/Popup/Description: Tiddler 情報パネルが自動的に閉じるタイミングを制御する\nSettings/InfoPanelMode/Sticky/Description: Tiddler 情報パネルを明示的に閉じるまで開いたままにする\nSettings/LinkToBehaviour/Caption: Tiddler を開く動作\nSettings/LinkToBehaviour/InsideRiver/Hint: Tiddler 表示部 //内// の動作\nSettings/LinkToBehaviour/OpenAbove: 現在の Tiddler 上に開く\nSettings/LinkToBehaviour/OpenAtBottom: Tiddler 表示部の下に開く\nSettings/LinkToBehaviour/OpenAtTop: Tiddler 表示部の上に開く\nSettings/LinkToBehaviour/OpenBelow: 現在の Tiddler 下に開く\nSettings/LinkToBehaviour/OutsideRiver/Hint: Tiddler 表示部 //外// の動作\nSettings/MissingLinks/Caption: Wiki リンク\nSettings/MissingLinks/Description: 欠落 Tiddler へのリンクを有効にする\nSettings/MissingLinks/Hint: まだ存在しない Tiddler にリンクするかどうかを選択します\nSettings/NavigationAddressBar/Caption: ナビゲーションアドレスバー\nSettings/NavigationAddressBar/Hint: ナビゲーションアドレスバーの動作:\nSettings/NavigationAddressBar/No/Description: アドレスバーを変更しない\nSettings/NavigationAddressBar/Permalink/Description: Tiddler をアドレスに含める\nSettings/NavigationAddressBar/Permaview/Description: 開く Tiddler と現在開いている Tiddler をアドレスに含める\nSettings/NavigationHistory/Caption: 操作履歴\nSettings/NavigationHistory/Hint: Tiddler を操作したときのブラウザの履歴の設定:\nSettings/NavigationHistory/No/Description: 履歴を残さない\nSettings/NavigationHistory/Yes/Description: 履歴を残す\nSettings/NavigationPermalinkviewMode/Caption: パーマリンク・パーマビューモード\nSettings/NavigationPermalinkviewMode/CopyToClipboard/Description: パーマリンク・パーマビューの URL をクリップボードにコピーする\nSettings/NavigationPermalinkviewMode/Hint: パーマリンク・パーマビューの処理方法を選択します:\nSettings/NavigationPermalinkviewMode/UpdateAddressBar/Description: アドレスバーのパーマリンク・パーマビューの URL を更新する\nSettings/PerformanceInstrumentation/Caption: パフォーマンス統計情報\nSettings/PerformanceInstrumentation/Description: パフォーマンス統計情報の有効\nSettings/PerformanceInstrumentation/Hint: ブラウザの開発者コンソールにパフォーマンスの統計情報を表示します。有効にするには再読み込みが必要です\nSettings/RecentLimit/Caption: 最近の更新タブの上限\nSettings/RecentLimit/Hint: サイドバーの\"最近の更新\"タブに表示されるTiddlerの最大数\nSettings/TitleLinks/Caption: Tiddler タイトル\nSettings/TitleLinks/Hint: オプションで Tiddler のタイトルをリンクとして表示することができます\nSettings/TitleLinks/No/Description: Tiddler のタイトルをリンクとして表示しない\nSettings/TitleLinks/Yes/Description: Tiddler のタイトルをリンクとして表示する\nSettings/ToolbarButtons/Caption: ボタンの表示\nSettings/ToolbarButtons/Hint: ツールバーのボタンの表示の設定:\nSettings/ToolbarButtons/Icons/Description: アイコンを表示する\nSettings/ToolbarButtons/Text/Description: テキストを表示する\nSettings/ToolbarButtonStyle/Caption: ツールバーバタンのスタイル\nSettings/ToolbarButtonStyle/Hint: ツールバーのボタンのスタイルを選択します:\nSettings/ToolbarButtonStyle/Styles/Borderless: 枠なし\nSettings/ToolbarButtonStyle/Styles/Boxed: 四角\nSettings/ToolbarButtonStyle/Styles/Rounded: 角丸\nSocialCard/Caption: ソーシャルメディアカード\nSocialCard/Domain/Prompt: リンクに表示するドメイン名(例: ''tiddlywiki.com'')\nSocialCard/Hint: この情報は、オンラインでホストされているこの~TiddlyWikiへのリンクのプレビューカードを表示するために、ソーシャルサービスやメッセージングサービスによって使用されます\nSocialCard/PreviewUrl/Preview: プレビュー画像:\nSocialCard/PreviewUrl/Prompt: この~TiddlyWikiのプレビュー画像のフルURL\nSocialCard/Url/Prompt: この~TiddlyWikiのフルURL\nStoryTiddler/Caption: Tiddler 表示部\nStoryTiddler/Hint: このルールカスケードは、Tiddler 表示部にに Tiddler を表示するためのテンプレートを動的に選択するために使用されます。\nStoryView/Caption: 表示スタイル\nStoryView/Prompt: 現在の表示スタイル:\nStylesheets/Caption: スタイルシート\nStylesheets/Expand/Caption: すべて展開\nStylesheets/Hint: <<tag \"$:/tags/Stylesheet\">> でタグ付けされた現在のスタイルシートの Tiddler でレンダリングされた CSS です\nStylesheets/Restore/Caption: 復旧\nTestCases/All/Caption: すべてのテストケース\nTestCases/All/Hint: すべてのテストケース\nTestCases/Caption: テストケース\nTestCases/Failed/Caption: 失敗したテストケース\nTestCases/Failed/Hint: 失敗したテストケースのみ\nTestCases/Hint: テストケースは、それ自体で完結していて、テストや学習に使える例です\nTheme/Caption: テーマ\nTheme/Prompt: 現在のテーマ:\nTiddlerColour/Caption: Tiddler の色\nTiddlerColour/Hint: このルールカスケードは、Tiddler の色（アイコンと関連するタグピルに使用される）を動的に選択するために使用されます。\nTiddlerFields/Caption: Tiddler 項目\nTiddlerFields/Hint: 以下はこの TiddlyWiki で使用されているすべての Tiddler 項目の一覧です（システム Tiddler も含みますが、隠し Tiddler は含んでいません）\nTiddlerIcon/Caption: Tiddler アイコン\nTiddlerIcon/Hint: このルールカスケードは Tiddler のアイコンを動的に選択するために使用されます。\nToolbars/Caption: ツールバー\nToolbars/EditorToolbar/Caption: エディターツールバー\nToolbars/EditorToolbar/Hint: エディタツールバーに表示されるボタンを選択します。一部のボタンは、特定のタイプの Tiddler を編集するときにのみ表示されることに注意してください。ドラッグ＆ドロップで並び順を変更します。\nToolbars/EditToolbar/Caption: 編集画面\nToolbars/EditToolbar/Hint: 編集画面で表示するボタンを選んでください\nToolbars/Hint: ツールバーに表示するボタンを選んでください\nToolbars/PageControls/Caption: サイドバー\nToolbars/PageControls/Hint: サイドバーに表示するボタンを選んでください\nToolbars/ViewToolbar/Caption: 閲覧画面\nToolbars/ViewToolbar/Hint: 閲覧画面に表示するボタンを選んでください\nTools/Caption: ツール\nTools/Download/Full/Caption: すべての Wiki をダウンロードする\nTools/Export/AllAsStaticHTML/Caption: すべての Tiddler を含む閲覧用 HTML としてダウンロードする\nTools/Export/Heading: エクスポート\nViewTemplateBody/Caption: 表示テンプレートの本体\nViewTemplateBody/Hint: このルールカスケードは、デフォルトのビューテンプレートが Tiddler の本体を表示するためのテンプレートを動的に選択するために使用されます。\nViewTemplateSubtitle/Caption: 表示テンプレートのサブタイトル\nViewTemplateSubtitle/Hint: このルールカスケードは、デフォルトのビューテンプレートがTiddlerのサブタイトルを表示するためのテンプレートを動的に選択するために使用されます。\nViewTemplateTags/Caption: 表示テンプレートのタグ\nViewTemplateTags/Hint: このルールカスケードは、デフォルトのビューテンプレートがTiddlerのタグエリアを表示するためのテンプレートを動的に選択するために使用されます。\nViewTemplateTitle/Caption: 表示テンプレートのタイトル\nViewTemplateTitle/Hint: このルールカスケードは、デフォルトのビューテンプレートが Tiddler のタイトルを表示するためのテンプレートを動的に選択するために使用されます。\nWikiInformation/Caption: Wikiの情報\nWikiInformation/Drag/Caption: このツールを別のウィキにコピーするには、このリンクをドラッグします\nWikiInformation/Hint: このページは、~TiddlyWikiの設定に関する概要情報をまとめたものです。フォーラムで助けを求める際など、ユーザーが~TiddlyWikiの設定に関する重要な情報を他のユーザーと簡単に共有できるように設計されています。プライベート情報や個人情報は含まれておらず、明示的にコピー＆ペーストしない限り、他の場所に共有されることはありません\n\n"
  },
  {
    "path": "languages/ja-JP/CoreReadMe.tid",
    "content": "title: $:/core/ja-JP/readme\n\nこのプラグインには、下記の TiddlyWiki のコアコンポーネントが含まれています:\n\n* JavaScript モジュール\n* アイコン\n* TiddlyWiki の表示に必要なテンプレート\n* コアに使用される各言語の文字列の英語（\"en-GB\"）表現\n"
  },
  {
    "path": "languages/ja-JP/Dates.multids",
    "content": "title: $:/language/\n\nDate/DaySuffix/1: 日\nDate/DaySuffix/10: 日\nDate/DaySuffix/11: 日\nDate/DaySuffix/12: 日\nDate/DaySuffix/13: 日\nDate/DaySuffix/14: 日\nDate/DaySuffix/15: 日\nDate/DaySuffix/16: 日\nDate/DaySuffix/17: 日\nDate/DaySuffix/18: 日\nDate/DaySuffix/19: 日\nDate/DaySuffix/2: 日\nDate/DaySuffix/20: 日\nDate/DaySuffix/21: 日\nDate/DaySuffix/22: 日\nDate/DaySuffix/23: 日\nDate/DaySuffix/24: 日\nDate/DaySuffix/25: 日\nDate/DaySuffix/26: 日\nDate/DaySuffix/27: 日\nDate/DaySuffix/28: 日\nDate/DaySuffix/29: 日\nDate/DaySuffix/3: 日\nDate/DaySuffix/30: 日\nDate/DaySuffix/31: 日\nDate/DaySuffix/4: 日\nDate/DaySuffix/5: 日\nDate/DaySuffix/6: 日\nDate/DaySuffix/7: 日\nDate/DaySuffix/8: 日\nDate/DaySuffix/9: 日\nDate/Long/Day/0: 日曜\nDate/Long/Day/1: 月曜\nDate/Long/Day/2: 火曜\nDate/Long/Day/3: 水曜\nDate/Long/Day/4: 木曜\nDate/Long/Day/5: 金曜\nDate/Long/Day/6: 土曜\nDate/Long/Month/1: 1 月\nDate/Long/Month/10: 10 月\nDate/Long/Month/11: 11 月\nDate/Long/Month/12: 12 月\nDate/Long/Month/2: 2 月\nDate/Long/Month/3: 3 月\nDate/Long/Month/4: 4 月\nDate/Long/Month/5: 5 月\nDate/Long/Month/6: 6 月\nDate/Long/Month/7: 7 月\nDate/Long/Month/8: 8 月\nDate/Long/Month/9: 9 月\nDate/Period/am: 午前\nDate/Period/pm: 午後\nDate/Short/Day/0: 日\nDate/Short/Day/1: 月\nDate/Short/Day/2: 火\nDate/Short/Day/3: 水\nDate/Short/Day/4: 木\nDate/Short/Day/5: 金\nDate/Short/Day/6: 土\nDate/Short/Month/1: 1 月\nDate/Short/Month/10: 10 月\nDate/Short/Month/11: 11 月\nDate/Short/Month/12: 12 月\nDate/Short/Month/2: 2 月\nDate/Short/Month/3: 3 月\nDate/Short/Month/4: 4 月\nDate/Short/Month/5: 5 月\nDate/Short/Month/6: 6 月\nDate/Short/Month/7: 7 月\nDate/Short/Month/8: 8 月\nDate/Short/Month/9: 9 月\nRelativeDate/Future/Days: <<period>> 日後\nRelativeDate/Future/Hours: <<period>> 時間後\nRelativeDate/Future/Minutes: <<period>> 分後\nRelativeDate/Future/Months: <<period>> か月後\nRelativeDate/Future/Second: 1 秒後\nRelativeDate/Future/Seconds: <<period>> 秒後\nRelativeDate/Future/Years: <<period>> 年後\nRelativeDate/Past/Days: <<period>> 日前\nRelativeDate/Past/Hours: <<period>> 時間前\nRelativeDate/Past/Minutes: <<period>> 分前\nRelativeDate/Past/Months: <<period>> か月前\nRelativeDate/Past/Second: 1 秒前\nRelativeDate/Past/Seconds: <<period>> 秒前\nRelativeDate/Past/Years: <<period>> 年前\n"
  },
  {
    "path": "languages/ja-JP/Docs/ModuleTypes.multids",
    "content": "title: $:/language/Docs/ModuleTypes/\n\nallfilteroperator: ''all'' フィルターオペレータのサブオペレータ。\n\nanimation: アニメーション。通常は RevealWidget で使用されるモジュール。\nauthenticator: 組み込みHTTP サーバーによるリクエスト認証方法を定義します。\nbitmapeditoroperation: ビットマップ エディターのツールバーの操作。\ncommand: Node.js で実行できるコマンド。\nconfig: `$tw.config` に格納されるデータ。\nfilteroperator: 個々のフィルタ操作用メソッドモジュール。\nglobal: `$tw` に格納されるグローバルデータ。\ninfo: [[$:/temp/info-plugin]] 疑似プラグインを介してシステム情報を公開します。\nisfilteroperator: フィルタ ''is'' メソッドのオペランドモジュール。\nlibrary: JavaScript汎用モジュール用の汎用モジュールタイプ。\nmacro: JavaScript マクロの定義モジュール。\nparser: 各種 ContentType のパーサモジュール。\nroute: 組み込みHTTPサーバーでURLの個々のパターンをどのように処理するかを定義します。\nsaver: ファイル保存メソッドモジュール。ブラウザによる差異を吸収する。\nstartup: 初回実行ファンクションモジュール。\nstoryview: リストウィジェットのアニメーションや振る舞いをカスタマイズするモジュール。\ntexteditoroperation: テキストエディターのツールバーの操作。\ntiddlerdeserializer: Tiddler を他の ContentType に変換するモジュール。\ntiddlerfield: 個々の Tiddler フィールドの振る舞いを定義するモジュール。\ntiddlermethod: `$tw.Tiddler` の prototype にメソッドを追加するモジュール。\nupgrader: アップグレードやインポート中に Tiddler のアップグレード処理を追加するモジュール。\nutils: `$tw.utils` にメソッドを追加するモジュール。\nutils-browser: `$tw.utils` にブラウザ固有のメソッドを追加するモジュール。\nutils-node: `$tw.utils` に Node.js 特有のメソッドを追加するモジュール。\nwidget: DOM の描画や操作をひとまとめにしたウィジェットモジュール。\nwikimethod: `$tw.Wiki` にメソッドを追加するモジュール。\nwikirule: メインの WikiText パーサのための個々の解析ルールモジュール。\n"
  },
  {
    "path": "languages/ja-JP/Docs/PaletteColours.multids",
    "content": "title: $:/language/Docs/PaletteColours/\n\nalert-background: アラートの背景\nalert-border: アラートの枠線\nalert-highlight: アラートのハイライト\nalert-muted-foreground: 抑えたアラートの前景\nbackground: 標準の背景\nblockquote-bar: 引用線\nbutton-background: ボタンのデフォルト背景\nbutton-border: ボタンのデフォルト枠線\nbutton-foreground: ボタンのデフォルト前景\ncode-background: コードの背景\ncode-border: コードの枠線\ncode-foreground: コードの前景\ndirty-indicator: 未保存の表示\ndownload-background: ダウンロードボタンの背景\ndownload-foreground: ダウンロードボタンの前景\ndragger-background: ドラッグの背景\ndragger-foreground: ドラッグの前景\ndropdown-background: ドロップダウンの背景\ndropdown-border: ドロップダウンの前景\ndropdown-tab-background: ドロップダウンタブの背景\ndropdown-tab-background-selected: 選択状態のドロップダウンタブの背景\ndropzone-background: ドロップ領域の背景\nexternal-link-background: 外部リンクの背景\nexternal-link-background-hover: 外部リンクの背景（ホバー）\nexternal-link-background-visited: 外部リンクの背景（既訪）\nexternal-link-foreground: 外部リンクの前景\nexternal-link-foreground-hover: 外部リンクの前景（ホバー）\nexternal-link-foreground-visited: 外部リンクの前景（既訪）\nforeground: 標準の前景\nmenubar-background: メニューバーの背景\nmenubar-foreground: メニューバーの前景\nmessage-background: メッセージボックスの背景\nmessage-border: メッセージボックスの枠線\nmessage-foreground: メッセージボックスの前景\nmodal-backdrop: モーダルウィンドウの影\nmodal-background: モーダルウィンドウの背景\nmodal-border: モーダルウィンドウの枠線\nmodal-footer-background: モーダルフッタの背景\nmodal-footer-border: モーダルフッタの枠線\nmodal-header-border: モーダルヘッダの枠線\nmuted-foreground: 抑えた前景\nnotification-background: 通知領域の背景\nnotification-border: 通知領域の枠線\npage-background: ページの背景\npre-background: 整形済みコードの背景\npre-border: 整形済みコードの枠線\nprimary: 標準の前景\nselect-tag-background: `<select>` 要素の背景\nselect-tag-foreground: `<select>`要素のテキスト\nsidebar-button-foreground: サイドバーボタンの前景\nsidebar-controls-foreground: サイドバーコントロールの前景\nsidebar-controls-foreground-hover: サイドバーコントロールの前景（ホバー）\nsidebar-foreground: サイドバーの前景\nsidebar-foreground-shadow: サイドバー前景の影\nsidebar-muted-foreground: サイドバーの抑えた前景\nsidebar-muted-foreground-hover: サイドバーの抑えた前景（ホバー）\nsidebar-tab-background: サイドバータブの背景\nsidebar-tab-background-selected: サイドバータブの背景（選択済）\nsidebar-tab-border: サイドバータブの枠線\nsidebar-tab-border-selected: サイドバータブの枠線（選択済）\nsidebar-tab-divider: サイドバータブの分割線\nsidebar-tab-foreground: サイドバータブの前景\nsidebar-tab-foreground-selected: サイドバータブの前景（選択済）\nsidebar-tiddler-link-foreground: サイドバーtiddlerリンクの前景\nsidebar-tiddler-link-foreground-hover: サイドバーtiddlerリンクの前景（ホバー）\nsite-title-foreground: サイトタイトルの前景\nstability-deprecated: 安定度 \"非推奨\"のバッジ\nstability-experimental: 安定度 \"実験的\"のバッジ\nstability-legacy: 安定度 \"レガシー\"のバッジ\nstability-stable: 安定度 \"安定版\"のバッジ\nstatic-alert-foreground: 固定アラート前景\ntab-background: タブの背景\ntab-background-selected: タブの背景（選択済）\ntab-border: タブの枠線\ntab-border-selected: タブの枠線（選択済）\ntab-divider: タブの分割線\ntab-foreground: タブの前景\ntab-foreground-selected: タブの前景（選択済）\ntable-border: テーブルの枠線\ntable-footer-background: テーブルフッタの背景\ntable-header-background: テーブルヘッダの背景\ntag-background: タグの背景\ntag-foreground: タグの前景\ntestcase-accent-level-1: ネストなしのテストケースアクセントカラー\ntestcase-accent-level-2: 2段階ネストありのテストケースアクセントカラー\ntestcase-accent-level-3: 3段階ネストありのテストケースアクセントカラー\ntiddler-background: Tiddler の背景\ntiddler-border: Tiddler の前景\ntiddler-controls-foreground: Tiddler 部品の前景\ntiddler-controls-foreground-hover: Tiddler 部品の前景（ホバー）\ntiddler-controls-foreground-selected: Tiddler 部品の前景（選択済）\ntiddler-editor-background: Tiddler エディタの背景\ntiddler-editor-border: Tiddler エディタの枠線\ntiddler-editor-border-image: Tiddler エディタの枠線イメージ\ntiddler-editor-fields-even: Tiddler エディタの背景（偶数フィールド）\ntiddler-editor-fields-odd: Tiddler エディタの背景（奇数フィールド）\ntiddler-info-background: Tiddler 情報パネルの背景\ntiddler-info-border: Tiddler 情報パネルの枠線\ntiddler-info-tab-background: Tiddler 情報パネルタブの背景\ntiddler-link-background: Tiddler リンクの背景\ntiddler-link-foreground: Tiddler リンクの前景\ntiddler-subtitle-foreground: Tiddler サブタイトルの前景\ntiddler-title-foreground: Tiddler タイトルの前景\ntoolbar-cancel-button: ツールバー「キャンセル」ボタンの前景\ntoolbar-close-button: ツールバー「閉じる」ボタンの前景\ntoolbar-delete-button: ツールバー「削除」ボタンの前景\ntoolbar-done-button: ツールバー「確定」ボタンの前景\ntoolbar-edit-button: ツールバー「編集」ボタンの前景\ntoolbar-info-button: ツールバー「情報」ボタンの前景\ntoolbar-new-button: ツールバー「新規 Tiddler」ボタンの前景\ntoolbar-options-button: ツールバー「オプション」ボタンの前景\ntoolbar-save-button: ツールバー「保存」ボタンの前景\nuntagged-background: 未タグ背景\nvery-muted-foreground: きわめて控えめな前景\n"
  },
  {
    "path": "languages/ja-JP/EditTemplate.multids",
    "content": "title: $:/language/EditTemplate/\n\nBody/External/Hint: この Tiddler は外部の TiddlyWiki のファイルに保存されています。タグやフィールドの編集はできますが、実際の外部コンテンツを直接編集することはできません\nBody/Placeholder: ここに Tiddler の本文を入力してください\nBody/Preview/Type/DiffCurrent: 現在との差異\nBody/Preview/Type/DiffShadow: shadow との相違点（あれば）\nBody/Preview/Type/Output: 出力\nCaption: エディタ\nField/Dropdown/Caption: 項目一覧\nField/Dropdown/Hint: 項目一覧を表示\nField/Remove/Caption: 項目を削除\nField/Remove/Hint: 項目を削除します\nFields/Add/Button: 追加\nFields/Add/Button/Hint: Tiddler に新しい項目を追加します\nFields/Add/Dropdown/System: システム項目\nFields/Add/Dropdown/User: ユーザー項目\nFields/Add/Name/Placeholder: フィールド名\nFields/Add/Prompt: 新しいフィールドを追加:\nFields/Add/Value/Placeholder: フィールドの値\nShadow/OverriddenWarning: この Shadow Tiddler は編集されたものです。この Tiddler を削除すると、ものと Shadow Tiddler が有効になります\nShadow/Warning: これは Shadow Tiddler です。変更すると上書きされます\nTags/Add/Button: 追加\nTags/Add/Button/Hint: タグを追加\nTags/Add/Placeholder: タグ名\nTags/ClearInput/Caption: 入力をクリア\nTags/ClearInput/Hint: タグ入力をクリア\nTags/Dropdown/Caption: タグ一覧\nTags/Dropdown/Hint: タグ一覧を表示\nTags/EmptyMessage: タグが見つかりません\nTags/EmptyMessage/System: システムタグが見つかりません\nTitle/BadCharacterWarning: 警告: Tiddler のタイトルに <<bad-chars>> という文字の使用は避けてください\nTitle/Exists/Prompt: 対象の Tiddler がすでに存在します\nTitle/References/Prompt: この Tiddler の次のリファレンスは、自動的には更新されません:\nTitle/Relink/Prompt: 他 Tiddler の //tags// と //list// 項目にある ''<$text text=<<fromTitle>>/>'' を ''<$text text=<<toTitle>>/>'' に更新します\nType/Delete/Caption: コンテンツタイプを削除\nType/Delete/Hint: コンテンツタイプを削除\nType/Dropdown/Caption: コンテンツタイプ一覧\nType/Dropdown/Hint: コンテンツタイプ一覧を表示\nType/Placeholder: 種類\nType/Prompt: Tiddler の種類:\n"
  },
  {
    "path": "languages/ja-JP/Exporters.multids",
    "content": "title: $:/language/Exporters/\n\nCsvFile: CSV ファイル\nJsonFile: JSON ファイル\nStaticRiver: 静的 HTML ファイルとして構成される一連の Tiddler\nTidFile: \".tid\" ファイル\n"
  },
  {
    "path": "languages/ja-JP/Fields.multids",
    "content": "title: $:/language/Docs/Fields/\n\n_canonical_uri: 外部画像 Tiddler の URI\n_is_skinny: 存在する場合 Tiddler テキストフィールドがサーバーから読み込まれなければなりません\nauthor: プラグインの作者の名前\nbag: Tiddler の由来となった bag の名前\ncaption: タブやボタンに表示されるテキスト\nclass: Tiddlerをレンダリングする際に適用されるCSSクラスです。モーダルにも使用されます\ncode-body: ''yes'' に設定すると、表示テンプレートは、コードとして Tiddler を表示します\ncolor: Tiddler に使用される CSS カラーの値\ncomponent: [[アラート Tiddler|AlertMechanism]] の原因となったコンポーネントの名前\ncore-version: プラグインの場合、互換性のあるTiddlyWikiのバージョンを示します\ncreated: Tiddler が作成された日付\ncreator: Tiddler の作成者名\ncurrent-tiddler: [[履歴一覧|HistoryMechanism]] のトップにある Tiddler をキャッシュするために使用されます\ndependents: プラグインが依存する他のプラグインのリスト\ndescription: プラグインなどの説明文\ndraft.of: それがドラフト Tiddler であるときのタイトル\ndraft.title: ドラフト Tiddler が正式版になったときに使用される予定のタイトル\nfooter: ウィザードのフッタ部テキスト\nhide-body: ''yes'' に設定すると表示テンプレートは、Tiddler の本文を非表示にします\nicon: 紐付けられているアイコン Tiddler のタイトル\nlibrary: ''yes'' の場合、その Tiddler は JavaScript ライブラリとして保存する必要があります\nlist: その Tiddler に紐付く Tiddler 名の順序付きリスト\nlist-after: この項目が設定された Tiddler は、順序付きリストでこのフィールドに記載の名前の Tiddler の後ろに並びます\nlist-before: この項目が設定された Tiddler は、順序付きリストでこのフィールドに記載の名前の Tiddler の前に並びます。ただし空文字列が指定されていた場合は順序付きリストの先頭になります\nmodified: その Tiddler の最終更新日時\nmodifier: その Tiddler を最後に更新したユーザー名\nmodule-type: JavaScript Tiddlerの場合、モジュールの種類を指定します\nname: 人が読める形のプラグイン Tiddler 名\nparent-plugin: プラグインの場合、どのプラグインのサブプラグインであるかを特定\nplugin-priority: プラグインの優先度を示す数値\nplugin-type: プラグインの種別\nreleased: TiddlyWiki のリリース日付\nrevision: サーバー上の Tiddler のリビジョン\nsource: その Tiddler のソース URL\nstability: プラグインの開発状況: 非推奨、実験的、安定版、またはレガシー\nsubtitle: ウィザードのサブタイトル\ntags: その Tiddler に付けられたタグのリスト\ntext: Tiddler の本文\nthrottle.refresh: 存在する場合、この Tiddler の更新を抑制します\ntitle: Tiddler の一意となる名称\ntoc-link: 目次一覧で ''no'' に設定されている場合、Tiddler のリンクを抑制します\ntype: その Tiddler の種別\nversion: プラグインのバージョン情報\n"
  },
  {
    "path": "languages/ja-JP/Filters.multids",
    "content": "title: $:/language/Filters/\n\nAllTags: システムタグを除くすべてのタグ\nAllTiddlers: システム Tiddler を除くすべての Tiddler\nDrafts: ドラフト状態の Tiddler\nMissing: 未作成の Tiddler\nOrphans: 孤立状態の Tiddler\nOverriddenShadowTiddlers: 上書きされている隠し Tiddler\nRecentSystemTiddlers: 最近更新された Tiddler（システム Tiddler を含む）\nRecentTiddlers: 最近更新された Tiddler\nSessionTiddlers: Wiki 読み込み後に変更された Tiddler\nShadowTiddlers: 隠し Tiddler\nStoryList: Tiddly 表示部内の Tiddler。 <$text text=\"$:/AdvancedSearch\"/> は除く\nSystemTags: システムタグ\nSystemTiddlers: システム Tiddler\nTypedTiddlers: Wiki テキストではない Tiddler\n"
  },
  {
    "path": "languages/ja-JP/GettingStarted.tid",
    "content": "title: GettingStarted\n\n\\define lingo-base() $:/language/ControlPanel/Basics/\n~TiddlyWiki にようこそ。これは個人で使える Web  ノートです。\n\n作業を開始する前に保存機能が正しく使えるかどうかをご確認ください。 - 詳細は https://tiddlywiki.com/ の説明をご覧ください。\n\nそれでは始めましょう:\n\n* サイドバーにある「＋」ボタンで新しい Tiddler を作成します。\n* サイドバーにある「歯車」ボタンで コントロールパネル を開いて、この Wiki に対する設定ができます。\n** 「基本」タブのデフォルト Tiddler を変更することで、Wiki を開くたびにこのメッセージが表示されないようにできます。\n* 変更を保存するにはサイドバーの「ダウンロード」ボタンを押してください。\n* 書式に関する詳細は WikiText を参照してください。\n\n!! この ~TiddlyWiki を設定\n\n<div class=\"tc-control-panel\">\n\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit-text tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\nより多くのオプションは [[control panel|$:/ControlPanel]] を参照してください。"
  },
  {
    "path": "languages/ja-JP/Help/build.tid",
    "content": "title: $:/language/Help/build\ndescription: 設定されたコマンドを自動実行\n\n現在の Wiki の指定したターゲット（target）をビルドします。もしターゲットを指定しない場合は、ビルド可能な全てのターゲットをビルドします。\n\n```\n--build <target> [<target> ...]\n```\n\nビルドターゲットは、wiki フォルダの tiddlywiki.info に定義されます。\n"
  },
  {
    "path": "languages/ja-JP/Help/clearpassword.tid",
    "content": "title: $:/language/Help/clearpassword\ndescription: 続けて暗号化するためのパスワードの解除\n\n続けて暗号化するために、パスワードを解除します。\n\n```\n--clearpassword\n```\n"
  },
  {
    "path": "languages/ja-JP/Help/commands.tid",
    "content": "title: $:/language/Help/commands\ndescription: フィルターから返されたコマンドを順に実行\n\nフィルターから返されたコマンドトークンを順に実行します\n\n```\n--commands <filter>\n```\n\n例\n\n```\n--commands \"[enlist:raw{$:/build-commands-as-text}]\"\n```\n\n```\n--commands \"[{$:/build-commands-as-json}jsonindexes[]] :map[{$:/build-commands-as-json}jsonget<currentTiddler>]\"\n```\n"
  },
  {
    "path": "languages/ja-JP/Help/default.tid",
    "content": "title: $:/language/Help/default\ndescription: \n\n\\define commandTitle()\n$:/language/Help/$(command)$\n\\end\n```\n使用方法: tiddlywiki [<wikifolder>] [--<command> [<args>...]...]\n```\n\n使用可能なコマンド:\n\n<ul>\n<$list filter=\"[commands[]sort[title]]\" variable=\"command\">\n<li><$link to=<<commandTitle>>><$macrocall $name=\"command\" $type=\"text/plain\" $output=\"text/plain\"/></$link>: <$transclude tiddler=<<commandTitle>> field=\"description\"/></li>\n</$list>\n</ul>\n\n各コマンドの詳細なヘルプを見たい場合は:\n\n```\ntiddlywiki --help <command>\n```\n"
  },
  {
    "path": "languages/ja-JP/Help/deletetiddlers.tid",
    "content": "title: $:/language/Help/deletetiddlers\ndescription: Tiddlerのグループを削除\n\nフィルターによって識別されたTiddlerのグループを削除します。\n\n```\n--deletetiddlers <filter>\n```\n"
  },
  {
    "path": "languages/ja-JP/Help/editions.tid",
    "content": "title: $:/language/Help/editions\ndescription: 使用可能な TiddlyWiki のエディションの一覧を表示\n\n利用可能なエディションの名称と説明を一覧で表示します。 指定したエディションの新しい Wiki を作るには、 `--init` コマンドを使用します。\n\n```\n--editions\n```\n"
  },
  {
    "path": "languages/ja-JP/Help/fetch.tid",
    "content": "title: $:/language/Help/fetch\ndescription: URLのWikiからTiddler一式を取得\n\nHTTP/HTTPS経由で1つ以上のファイルを取得し、フィルターに一致するTiddler一式をインポートします。オプションで、受信したタイトルを変換できます。\n\n```\n--fetch file <url> <import-filter> <transform-filter>\n--fetch files <url-filter> <import-filter> <transform-filter>\n--fetch raw-file <url> <transform-filter>\n--fetch raw-files <url-filter> <transform-filter>\n```\n\n\"file\"および\"files\"バリエーションは、指定されたファイルを取得し、その中のTiddler一式をインポートしようとします（ファイルをブラウザウィンドウにドラッグした場合と同じ処理です）。\"raw-file\"および\"raw-files\"バリエーションは、指定されたファイルを取得し、インポートロジックを適用せずに、生のファイルデータをTiddlerに保存します。\n\n\"file\"および\"raw-file\"バリエーションでは、1 つのファイルのみが取得され、最初のパラメータは読み込むファイルのURLになります。\n\n\"files\"および\"raw-files\"バリエーションでは、複数のファイルが取得され、最初のパラメータは読み込む対象のファイルのURLリストを生成するフィルターです。例えば、\"remote-server\"タグが付けられ、\"url\"フィールドを持つTiddlerのセットが指定された場合、フィルター`[tag[remote-server]get[url]]`は、有効なすべてのURLを取得します。\n\n\"file\"および\"files\"バリエーションの場合、`<import-filter>` パラメータはインポートするTiddlerを決定するフィルターを指定します。指定されていない場合は、デフォルトで`[all[tiddlers]]`になります。\n\nすべてのバリエーションにおいて、`<transform-filter>` パラメータはインポートされたTiddlerのタイトルを変換するオプションフィルターを指定します。例えば、`[addprefix[$:/myimports/]]`は、各タイトルに`$:/myimports/` プレフィックスを追加します。\n\n`--fetch` コマンドの前に`--verbose`を付けると、インポートの進行状況が出力されます。\n\nTiddlyWikiは、すでにロードされているプラ​​グインの古いバージョンを取得しないことに注意してください。\n\n次の例では、https://tiddlywiki.com からシステム以外のすべてのTiddlerを取得し、JSON ファイルに保存します: \n\n```\ntiddlywiki --verbose --fetch file \"https://tiddlywiki.com/\" \"[!is[system]]\" \"\" --rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[!is[system]]\"\n```\n\n以下の例では、tiddlywiki.com から\"favicon\"ファイルを取得し、\"output.ico\"というファイルに保存します。中間のTiddler \"Icon Tiddler\"は\"--fetch\"コマンドで引用符で囲まれていますが、これはデフォルトのタイトルを置き換えるための変換フィルタとして使用されているためです。一方、\"-- savetiddler\"コマンドでは、タイトルとして直接使用されているため引用符は付いていません。\n\n```\ntiddlywiki --verbose --fetch raw-file \"https://tiddlywiki.com/favicon.ico\" \"[[Icon Tiddler]]\" --savetiddler \"Icon Tiddler\" output.ico\n```\n\n"
  },
  {
    "path": "languages/ja-JP/Help/help.tid",
    "content": "title: $:/language/Help/help\ndescription: TiddlyWiki コマンドのヘルプを表示\n\nコマンドのヘルプを表示します:\n\n```\n--help [<command>]\n```\n\nコマンド名が指定されなければ、使用可能なコマンドの一覧が表示されます。\n"
  },
  {
    "path": "languages/ja-JP/Help/import.tid",
    "content": "title: $:/language/Help/import\ndescription: ファイルからTiddlerをインポート\n\nTiddlyWiki (`.html`)、 `.tiddler`、`.tid`、`.json` またはその他のローカルファイルからTiddler一式をインポートします。ファイル拡張子からデシリアライザーを推測する`load` コマンドとは異なり、デシリアライザーは明示的に指定する必要があります。\n\n```\n--import <filepath> <deserializer> [<title>] [<encoding>]\n```\n\nCoreに含まれるデシリアライザーは以下です:\n\n* application/javascript\n* application/json\n* application/x-tiddler\n* application/x-tiddler-html-div\n* application/x-tiddlers\n* text/html\n* text/plain\n\nインポートされたTiddlerのタイトルは、デフォルトでファイル名になります。\n\nエンコードのデフォルトは\"utf8\"ですが、バイナリファイルをインポートする場合は\"base64\"にすることができます。\n\nTiddlyWiki は、すでにロードされているプラ​​グインの古いバージョンをインポートしないことに注意してください。\n"
  },
  {
    "path": "languages/ja-JP/Help/init.tid",
    "content": "title: $:/language/Help/init\ndescription: 空の [[Wiki フォルダ|WikiFolders]] を初期化\n\n空の [[Wiki フォルダ|WikiFolders]] を初期化し、その中に指定したエディションの内容をコピーします。\n\n```\n--init <edition> [<edition> ...]\n```\n\n使用例:\n\n```\ntiddlywiki ./MyWikiFolder --init empty\n```\n\n備考:\n\n* 必要ならば Wiki フォルダが新たに作成されます。\n* デフォルトのエディションは ''empty'' です。\n* wiki フォルダが空ではない場合、init コマンドは失敗します。\n* init コマンドは指定エディションの `tiddlywiki.info` ファイルに指定されている `includeWikis` は除外します。\n* 複数のエディションを指定した場合、先に指定したエディションに含まれているファイルは、後に指定したエディションに同名のファイルが含まれていると上書きされます。つまり最終的な `tiddlywiki.info` は最後に指定したエディションのものが使用されます。\n* `--editions` で使用できるエディションの一覧を表示します。\n"
  },
  {
    "path": "languages/ja-JP/Help/listen.tid",
    "content": "title: $:/language/Help/listen\ndescription: TiddlyWikiへのHTTPサーバーインターフェースを提供\n\nHTTP経由でWikiを提供します。\n\nlistenコマンドは[[名前付きコマンドパラメータ|NamedCommandParameters]]を使用します:\n\n```\n--listen [<name>=<value>]...\n```\n\nすべてのパラメータはオプションで、安全なデフォルトが設定されており、任意の順序で指定できます。認識されるパラメータは以下のとおりです:\n\n* ''host'' - サービスを提供するオプションのホスト名 (デフォルトは\"127.0.0.1\"または\"localhost\")\n* ''path-prefix'' - パスのオプションのプレフィックス\n* ''port'' - listenするポート番号。数値以外の値は、システム環境変数として解釈され、ポート番号を抽出します (デフォルトは\"8080\")\n* ''credentials'' - 資格情報CSVファイルのパス名 (Wikiフォルダからの相対パス)\n* ''anon-username'' - 匿名ユーザーが編集する際に署名するユーザー名\n* ''username'' - 基本認証用のオプションのユーザー名\n* ''password'' - 基本認証用のオプションのパスワード\n* ''authenticated-user-header'' - 信頼された認証で使用されるリクエストヘッダーのオプションの名前\n* ''readers'' - このWikiから読み取りを許可されているプリンシパルのコンマ区切りリスト\n* ''writers'' - このWikiへの書き込みを許可されているプリンシパルのコンマ区切りリスト\n* ''csrf-disable'' - CSRFチェックを無効にするには\"yes\"に設定 (デフォルトは \"no\")\n* ''root-tiddler'' -ルートで提供するTiddler (デフォルトは\"$:/core/save/all\")\n* ''root-render-type'' - ルートTiddlerをレンダリングするコンテンツタイプ (デフォルトは \"text/plain\")\n* ''root-serve-type'' - ルートTiddlerが提供されるコンテンツタイプ (デフォルトは \"text/html\")\n* ''tls-cert'' - pathname of TLS certificate file (relative to wiki folder)\n* ''tls-key'' - TLS鍵ファイルのパス名 (Wikiフォルダからの相対パス)\n* ''debug-level'' - オプションのデバッグレベル。リクエストの詳細を表示するには\"debug\"に設定 (デフォルトは\"none\")\n* ''gzip'' - 一部の HTTP エンドポイント用にgzip圧縮を有効にするには\"yes\"に設定 (デフォルトは\"no\")\n* ''use-browser-cache'' - 帯域幅の節約のためにブラウザが応答をキャッシュできるようにするには\"yes\"に設定 (デフォルトは\"no\")\n\nインスタンスをローカルネットワークに公開する方法、およびセキュリティ上の懸念事項については、TiddlyWiki.comのWebServer Tiddler を参照してください。\n"
  },
  {
    "path": "languages/ja-JP/Help/load.tid",
    "content": "title: $:/language/Help/load\ndescription: ファイルから Tiddler を読み込み\n\nTiddler を TiddlyWiki Ver.2 のファイル (`.html`), `.tiddler`, `.tid`, `.json` などから読み込みます。\n\n```\n--load <filepath>\n```\n\n暗号化された TiddlyWiki ファイルから読み込むためには、最初に password コマンドでパスワードを指定する必要があります。\n\n使用例:\n\n```\ntiddlywiki ./MyWiki --password pa55w0rd --load my_encrypted_wiki.html\n```\n\nなお、既に読み込まれたプラグインより古いバージョンのプラグインは読み込みません。\n\n"
  },
  {
    "path": "languages/ja-JP/Help/makelibrary.tid",
    "content": "title: $:/language/Help/makelibrary\ndescription: アップグレード処理に必要なライブラリプラグインを生成\n\nアップグレードに使用する`$:/UpgradeLibrary` Tiddler を作成します。\n\nアップグレード用のライブラリの書式は、library というタイプの一般的なプラグインTiddler です。ライブラリには、TiddlyWiki5 リポジトリに含まれている各プラグイン、テーマ、および言語パックが含まれています。\n\nこのコマンドは、内部的に使用することを想定したものです。アップグレードをカスタムの方法で実行するユーザーだけに関連するものです。\n\n```\n--makelibrary <title>\n```\n\n引数titleの規定値は、 `$:/UpgradeLibrary` です。\n"
  },
  {
    "path": "languages/ja-JP/Help/notfound.tid",
    "content": "title: $:/language/Help/notfound\ndescription: \n\nこの項目のヘルプはありません\n"
  },
  {
    "path": "languages/ja-JP/Help/output.tid",
    "content": "title: $:/language/Help/output\ndescription: 次に実行するコマンドの出力ディレクトリの設定\n\n\n次に実行するコマンドのために、出力の基準となるディレクトリを設定します。規定の出力ディレクトリは、編集ディレクトリの `output` という名前のサブディレクトリです。\n\n```\n--output <pathname>\n```\n\nもし pathname に相対パスを指定した場合は、作業ディレクトリからの相対パスとなります。たとえば、 `--output .` と指定した場合は、出力ディレクトリは現在の作業ディレクトリとなります。\n"
  },
  {
    "path": "languages/ja-JP/Help/password.tid",
    "content": "title: $:/language/Help/password\ndescription: 暗号化のパスワードの設定\n\n暗号化に使用するパスワードを設定します。\n\n```\n--password <password>\n```\n\n"
  },
  {
    "path": "languages/ja-JP/Help/render.tid",
    "content": "title: $:/language/Help/render\ndescription: 個々のTiddlerをファイルにレンダリング\n\n\nフィルターによって識別された個々のTiddlerをレンダリングし、結果を指定されたファイルに保存します。\n\nオプションとして、テンプレートTiddlerのタイトルを指定できます。この場合、各Tiddlerを直接レンダリングするのではなく、レンダリング対象のTiddlerのタイトルを\"currentTiddler\"変数に設定してテンプレートTiddlerをレンダリングします。\n\nオプションで、追加の変数の名前と値を指定することもできます。\n\n```\n--render <tiddler-filter> [<filename-filter>] [<render-type>] [<template>] [ [<name>] [<value>] ]*\n```\n\n* ''tiddler-filter'': レンダリングするTiddlerを識別するフィルター\n* ''filename-filter'': Tiddlerのタイトルをパス名に変換するオプションのフィルタ。省略された場合は、デフォルトは`[is[tiddler]addsuffix[.html]]`となり、Tiddlerのタイトルがそのままファイル名として使用されます\n* ''render-type'': オプションのレンダリングタイプ:  `text/html` (デフォルト)は、完全な HTMLテキストを返し、`text/plain`は、テキストコンテンツを返します (つまり、HTML タグやその他の印刷できないマテリアルは無視されます)\n* ''template'': 各Tiddlerをレンダリングするためのオプションのテンプレート\n* ''name'': オプション変数の名前\n* ''value'': オプション変数の値\n\nデフォルトでは、エディションディレクトリの`output`サブディレクトリを基準としてファイル名が解決されます。`--output`コマンドを使用すると、出力先を別のディレクトリに指定できます。\n\n注:\n\n* 出力ディレクトリから既存のファイルは削除されません\n* ファイル名へのパスに存在しないディレクトリは自動的に作成されます\n* タイトルにスペースが含まれるTiddlerを参照する場合は、シェルに必要な引用符とTiddlyWikiの二重角括弧の両方を使用するように注意してください: `--render \"[[Motovun Jack.jpg]]\"`\n* ファイル名フィルタは、選択された項目を現在レンダリング中のTiddlerのタイトルに設定して評価されます。これにより、タイトルをファイル名の計算の基準として使用できます。例えば、 `[encodeuricomponent[]addprefix[static/]]` は、各タイトルにURIエンコーディングを適用し、`static/`プレフィックスを追加します\n* 複数の ''名前''/''値''のペアを使用して、複数の変数を渡すことができます\n* `--render`コマンドは、非推奨の`--rendertiddler`コマンドと`--rendertiddlers`コマンドより柔軟な代替手段です\n\n例:\n\n* `--render '[!is[system]]' '[encodeuricomponent[]addprefix[tiddlers/]addsuffix[.html]]'` -- システム以外のすべてのTiddlerを、URLエンコードされたタイトルと拡張子HTMLを持つ\"tiddlers\"サブディレクトリ内のファイルとしてレンダリングします\n* `--render '.' 'tiddlers.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' '[tag[HelloThere]]'` -- \"HelloThere\"タグの付いたTiddlerを\"tiddlers.json\"という名前のJSONファイルにレンダリングします"
  },
  {
    "path": "languages/ja-JP/Help/rendertiddler.tid",
    "content": "title: $:/language/Help/rendertiddler\ndescription: 個々の Tiddler を指定した ContentType で出力\n\n個々の Tiddler を指定した ContentType で出力します。デフォルトは `text/html` で、指定されたファイル名で内容を保存します。\n\n```\n--rendertiddler <title> <filename> [<type>]\n```\n"
  },
  {
    "path": "languages/ja-JP/Help/rendertiddlers.tid",
    "content": "title: $:/language/Help/rendertiddlers\ndescription: フィルタパターンを指定してマッチする Tiddler を指定した ContentTypeで出力\n\nフィルタパターンを指定してマッチする Tiddler を指定した ContentType（デフォルトは`text/html`）と拡張子（デフォルトは`.html`）で出力します。 \n\n```\n--rendertiddlers <filter> <template> <pathname> [<type>] [<extension>]\n```\n\n使用例:\n\n```\n--rendertiddlers [!is[system]] $:/core/templates/static.tiddler.html ./static text/plain\n```\n"
  },
  {
    "path": "languages/ja-JP/Help/save.tid",
    "content": "title: $:/language/Help/save\ndescription: 個々の生のTiddlerをファイルに保存\n\nフィルターによって識別された個々のTiddlerを、生のテキスト形式やバイナリ形式で、指定されたファイルに保存します。\n\n```\n--save <tiddler-filter> <filename-filter>\n```\n\n* ''tiddler-filter'': 保存するTiddlerを識別するフィルター\n* ''filename-filter'': Tiddlerのタイトルをパス名に変換するオプションのフィルタ。省略された場合は、デフォルトは`[is[tiddler]]`となり、Tiddlerのタイトルがそのままファイル名として使用されます\n\nデフォルトでは、エディションディレクトリの`output`サブディレクトリを基準としてファイル名が解決されます。`--output`コマンドを使用すると、出力先を別のディレクトリに指定できます。\n\n注:\n\n* 出力ディレクトリから既存のファイルは削除されません\n* ファイル名へのパスに存在しないディレクトリは自動的に作成されます\n* タイトルにスペースが含まれるTiddlerを保存する場合は、シェルに必要な引用符とTiddlyWikiの二重角括弧の両方を使用するように注意してください: `--save \"[[Motovun Jack.jpg]]\"`\n* ファイル名フィルタは、選択された項目を現在保存中のTiddlerのタイトルに設定して評価されます。これにより、タイトルをファイル名の計算の基準として使用できます。例えば、 `[encodeuricomponent[]addprefix[static/]]` は、各タイトルにURIエンコーディングを適用し、`static/`プレフィックスを追加します\n* `--save`コマンドは、非推奨の`--savetiddler`コマンドと`--savetiddlers`コマンドより柔軟な代替手段です\n\n例:\n\n* `--save \"[!is[system]is[image]]\" \"[encodeuricomponent[]addprefix[tiddlers/]]\"` -- システム以外のすべての画像Tiddlerを、URLエンコードされたタイトルを持つ\"tiddlers\"サブディレクトリ内のファイルとして保存します\n"
  },
  {
    "path": "languages/ja-JP/Help/savetiddler.tid",
    "content": "title: $:/language/Help/savetiddler\ndescription: raw テキストの Tiddler をファイルに保存\n\n個別の Tiddler を raw テキストあるいはバイナリフォーマットにて、指定したファイル名に保存します。\n\n```\n--savetiddler <title> <filename>\n```\n"
  },
  {
    "path": "languages/ja-JP/Help/savetiddlers.tid",
    "content": "title: $:/language/Help/savetiddlers\ndescription: raw Tiddler グループをファイルへ保存\n\n(注意: `--savetiddler` コマンドは非推奨で、新しい、より柔軟な `--save` コマンドが優先されます)\n\n個々の Tiddler を生のテキストまたはバイナリ形式で指定されたファイル名に保存します。\n\n```\n--savetiddler <title> <filename>\n```\n\nデフォルトでは、ファイル名はエディションディレクトリの `output` サブディレクトリからの相対パスで解決されます。 `--output` コマンドを使用すると、出力を別のディレクトリに向けることができます。\n\nファイル名のパスに欠落しているディレクトリがあれば、自動的に作成されます。\n"
  },
  {
    "path": "languages/ja-JP/Help/savewikifolder.tid",
    "content": "title: $:/language/Help/savewikifolder\ndescription: Wikiを新しいWikiフォルダに保存\n\n<<.from-version \"5.1.20\">> Tiddler、プラグイン、設定を含む現在のWikiをWikiフォルダとして保存します: \n\n```\n--savewikifolder <wikifolderpath> [<filter>] [ [<name>=<value>] ]*\n```\n\n* 対象のWikiフォルダは空か存在しない必要があります\n* フィルターは、どのTiddlerを含めるかを指定します。これはオプションで、デフォルトは`[all[tiddlers]]`です\n* 公式プラグインライブラリのプラグインは、`tiddlywiki.info`ファイル内のプラグインへの参照に置き換えられます\n* カスタムプラグインは独自のフォルダに解凍されます\n\n次のオプションがサポートされています:\n\n* ''filter'': 出力に含めるTiddlerを定義するフィルター式。\n* ''explodePlugins'': デフォルトは\"yes\"\n** ''yes''を指定すると、プラグインは個別のTiddlerファイルに\"展開\"され、wikiフォルダ内のプラグインディレクトリに保存されます\n** ''no''を指定すると、プラグインを構成要素であるTiddlerファイルに展開する処理が抑制されます。プラグインは単一のJSON Tiddlerとしてtiddlersフォルダに保存されます\n\nどちらの''explodePlugins''オプションも、元のWikiと全く同じWikiフォルダを生成することに注意してください。違いは、Wikiフォルダ内でのプラグインの表現方法にあります。\n\n一般的な使用法は、TiddlyWiki HTMLファイルをwikiフォルダーに変換することです:\n\n```\ntiddlywiki --load ./mywiki.html --savewikifolder ./mywikifolder\n```\n\nプラグインを対象のwikiフォルダのTiddlersディレクトリに保存します:\n\n```\ntiddlywiki --load ./mywiki.html --savewikifolder ./mywikifolder explodePlugins=no\n```\n"
  },
  {
    "path": "languages/ja-JP/Help/server.tid",
    "content": "title: $:/language/Help/server\ndescription: TiddlyWiki に HTTP サーバのインターフェースを提供\n\nTiddlyWiki5 に組み込まれているサーバー機能は非常にシンプルなものです。TiddlyWeb との互換性はありますが、インターネット上で安定して公開するために必要となるいくつもの機能がサポートされていません。\n\nroot 階層では指定された Tiddler のレンダリングを行います。root 階層以外では JSON エンコードされた個々の Tiddler や、一般的な HTTP 操作（`GET`, `PUT`, `DELETE`）をサポートします。\n\n```\n--server <port> <roottiddler> <rendertype> <servetype> <username> <password> <host>\n```\n\n以下のパラメータがあります:\n\n* ''port'' - 待ち受けるポート番号（デフォルトは \"8080\"）\n* ''roottiddler'' - root 階層になる Tiddler（デフォルトは \"$:/core/save/all\"）\n* ''rendertype'' - root Tiddler がレンダリングされるときの ContentType（デフォルトは \"text/plain\"）\n* ''servetype'' - root Tiddler がリクエストされるときの ContentType（デフォルトは \"text/html\"）\n* ''username'' - 編集した Tiddler を保存する際のデフォルトユーザ名\n* ''password'' - ベーシック認証用のパスワード\n* ''host'' - サーバーとなるホスト名（デフォルトは \"127.0.0.1\" つまり \"localhost\"）\n\npassword パラメータが指定された場合ブラウザはユーザ名とパスワードを尋ねるようになります。なお、このパスワードはネットワーク上を平文で流れるため、この実装はインターネット上に公開するような一般的な使用には適していないことに注意してください。\n\n使用例:\n\n```\n--server 8080 $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n\n同時に複数の TiddlyWiki サーバーを起動したい場合は、それぞれに別々のポート番号を割り当てる必要があります。\n\n"
  },
  {
    "path": "languages/ja-JP/Help/setfield.tid",
    "content": "title: $:/language/Help/setfield\ndescription: Tiddler を使用する準備\n\n//注意: このコマンドは実験的なもので、今後変更される可能性があります。//\n\nテンプレート Tiddler の内容を、複数の Tiddler の指定のフィールドに設定します。\n\n```\n--setfield <filter> <fieldname> <templatetitle> <rendertype>\n```\n\nパラメータ：\n\n* \"filter\" - コマンドの対象となる Tiddler\n* \"fieldname\" - 変更するフィールド（規定値は \"text\"）\n* \"templatetitle\" - 指定のフィールドに転記する元になる Tiddler。空白または欠落している場合、指定されたフィールドは削除されます。\n* \"rendertype\" - テキストの種類（規定値は \"text/plain\"。\"text/html\" にすると HTML タグを含められる）\n"
  },
  {
    "path": "languages/ja-JP/Help/unpackplugin.tid",
    "content": "title: $:/language/Help/unpackplugin\ndescription: プラグインに含まれている Tiddler の取り出し\n\nプラグインに格納されている Tiddler を取り出し、一般的な Tiddler として出力します。\n\n```\n--unpackplugin <title>\n```\n"
  },
  {
    "path": "languages/ja-JP/Help/verbose.tid",
    "content": "title: $:/language/Help/verbose\ndescription: 詳細出力モードで動作\n\n詳細出力モードで動作します。デバッグに便利です。\n\n```\n--verbose\n```\n"
  },
  {
    "path": "languages/ja-JP/Help/version.tid",
    "content": "title: $:/language/Help/version\ndescription: TiddlyWiki のバージョン番号を表示\n\nTiddlyWiki のバージョン番号を表示します\n\n```\n--version\n```\n"
  },
  {
    "path": "languages/ja-JP/Import.multids",
    "content": "title: $:/language/Import/\n\nEditor/Import/Heading: 画像を取り込み、エディターに挿入します。\nImported/Hint: 次の Tiddler をインポートしました:\nListing/Cancel/Caption: キャンセル\nListing/Cancel/Warning: インポートをキャンセルしてよろしいですか？\nListing/Hint: これらの Tiddler はすぐにインポートできます:\nListing/Import/Caption: インポート\nListing/Preview: プレビュー:\nListing/Preview/Diff: 差分\nListing/Preview/DiffFields: 差分 (項目)\nListing/Preview/Fields: 項目\nListing/Preview/Text: テキスト\nListing/Preview/TextRaw: テキスト (Raw)\nListing/Rename/CancelRename: キャンセル\nListing/Rename/ConfirmRename: Tiddler の名前を変更\nListing/Rename/OverwriteWarning: このタイトルの Tiddler はすでに存在しています。\nListing/Rename/Prompt: 変更名:\nListing/Rename/Tooltip: インポート前に Tiddler の名前を変更する\nListing/Select/Caption: 選択\nListing/Status/Caption: ステータス\nListing/Title/Caption: タイトル\nUpgrader/Plugins/Suppressed/Incompatible: 互換性のないまたは廃止によりブロックされたプラグイン\nUpgrader/Plugins/Suppressed/Version: ブロックされたプラグイン（インポートされる <<incoming>> プラグインが存在している <<existing>> プラグインより古いため）\nUpgrader/Plugins/Upgraded: プラグインは <<incoming>> から <<upgraded>> にアップグレードされました\nUpgrader/State/Suppressed: ブロックされた一時 Tiddler\nUpgrader/System/Alert: コアモジュールの Tiddler を上書きするTiddlerをインポートしようとしています。システムが不安定になる可能性があるため、推奨しません。\nUpgrader/System/Disabled: システム Tiddler の無効化\nUpgrader/System/Suppressed: システム Tiddler のブロック\nUpgrader/System/Warning: コアモジュール Tiddler\nUpgrader/ThemeTweaks/Created: <$text text=<<from>>/> から移動した Theme Tweak\nUpgrader/Tiddler/Disabled: 無効化した Tiddler\nUpgrader/Tiddler/Selected: 選択した Tiddler\nUpgrader/Tiddler/Unselected: 選択していない Tiddler\n"
  },
  {
    "path": "languages/ja-JP/Misc.multids",
    "content": "title: $:/language/\n\nAboveStory/ClassicPlugin/Warning: ~TiddlyWiki Classic用に設計されたプラグインを読み込もうとしています。 [[これらのプラグインは TiddlyWiki バージョン 5.xx では動作しません|these plugins do not work with TiddlyWiki version 5.x.x|https://tiddlywiki.com/#TiddlyWikiClassic]]のでご注意ください。検出された~TiddlyWiki Classic プラグイン:\nBinaryWarning/Prompt: この Tiddler にはバイナリデータが含まれています\nClassicWarning/Hint: この Tiddler はクラシックスタイルの TiddlyWiki フォーマットで書かれています。このフォーマットは TiddlyWiki5 との完全な互換性はありません。詳しくは https://tiddlywiki.com/static/Upgrading.html を参照してください。\nClassicWarning/Upgrade/Caption: アップグレード\nCloseAll/Button: すべて閉じる\nColourPicker/Recent: 最近:\nConfirmAction: 続行しますか?\nConfirmCancelTiddler: 本当にこの Tiddler \"<$text text=<<title>>/>\" の編集内容を取り消しますか？\nConfirmDeleteTiddler: 本当にこの Tiddler \"<$text text=<<title>>/>\" を削除しますか？\nConfirmDeleteTiddlers: <<resultCount>>個のTiddlerを削除しますか？\n\nConfirmEditShadowTiddler: 隠し Tiddler を編集します。将来のアップグレードで互換性がとれなくなるかもしれません。本当にこの Tiddler \"<$text text=<<title>>/>\" を編集しますか？\nConfirmOverwriteTiddler: 本当にこの Tiddler \"<$text text=<<title>>/>\" を上書きしますか?\nCount: count\nDefaultNewTiddlerTitle: 新しい Tiddler\nDiffs/CountMessage: 異なる箇所の数: <<diff-count>>\nDropMessage: ドロップしてください。（止めるには、キャンセルをクリックしてください）\nEncryption/Cancel: キャンセル\nEncryption/ConfirmClearPassword: パスワードを削除すると暗号化も解除されますが、本当にパスワードを削除しますか？\nEncryption/Password: パスワード\nEncryption/PasswordNoMatch: パスワードが一致しません\nEncryption/PromptSetPassword: 新しいパスワードを入力してください\nEncryption/RepeatPassword: パスワードの繰り返し\nEncryption/SetPassword: パスワードを設定\nEncryption/Username: ユーザー名\nError/Caption: エラー\nError/DeserializeOperator/MissingOperand: フィルタエラー: 'deserialize'オペレータのオペランドがありません\nError/DeserializeOperator/UnknownDeserializer: フィルタエラー: 'deserialize'オペレータのオペランドで指定されたデシリアライザが不明です\nError/Filter: フィルタエラー\nError/FilterRunPrefix: フィルタエラー: フィルタランのプレフィックスが不明です\nError/FilterSyntax: フィルタエラー: フィルタ式のシンタックスが間違っています\nError/FormatFilterOperator: フィルタエラー: 'format'フィルタオペレータのサフィックスが不明です\nError/IsFilterOperator: フィルタエラー: 'is'フィルタオペレータのオペランドが不明です\nError/LoadingPluginLibrary: プラグインライブラリの読み込みエラー\nError/NetworkErrorAlert: `<h2>''ネットワークエラー''</h2>サーバーへの接続が失われたようです。ネットワーク接続に問題がある可能性があります。続行する前に、ネットワーク接続を回復してください。<br><br>''保存されていない変更は、接続が回復すると自動的に同期されます。''`\nError/PutEditConflict: サーバー上でファイルが変更されました\nError/PutForbidden: 許可されていません\nError/PutUnauthorized: 認証が必要です\nError/RecursiveTransclusion: transcludeウィジェットで、再帰トランスクルージョンのエラーです\nError/RetrievingSkinny: Skinny Tiddlerリストの取得エラー\nError/SavingToTWEdit: TWEditへの保存エラー\nError/WhileSaving: 保存中のエラー\nError/XMLHttpRequest: XMLHttpRequestエラーコード\nError/ZoominTextNode: ストーリービューエラー: カスタムコンテナに表示されるTiddlerを操作しようとしたようです。これはおそらく、先頭にテキストまたは空白を含むテンプレートで`$:/tags/StoryTiddlerTemplateFilter`を使用したことが原因です。プラグマ`\\whitespace trim`を使用して、Tiddlerのコンテンツ全体が単一のHTML要素で囲まれていることを確認してください。この問題の原因となったテキスト: \n\n\nInternalJavaScriptError/Hint: 恐縮ですが、ブラウザを更新してTiddlyWikiを再起動することをお勧めします\nInternalJavaScriptError/Title: 内部JavaScriptエラー\nLayoutSwitcher/Description: レイアウト切り替えを開きます\nLazyLoadingWarning: <p>''<$text text={{!!_canonical_uri}}/>''から外部コンテンツを読み込み中です。このメッセージが消えない場合は、Tiddlerのコンテンツタイプが外部コンテンツのタイプと一致していないか、スタンドアロンファイルとしてWikiに読み込まれた外部コンテンツをサポートしていないブラウザを使用している可能性があります。https://tiddlywiki.com/#ExternalText をご覧ください</p>\n\nLoginToTiddlySpace: TiddlySpace へログイン\nManager/Controls/FilterByTag/None: (なし)\nManager/Controls/FilterByTag/Prompt: タグでフィルター:\nManager/Controls/Order/Prompt: 逆順\nManager/Controls/Search/Placeholder: 検索\nManager/Controls/Search/Prompt: 検索:\nManager/Controls/Show/Option/Tags: タグ\nManager/Controls/Show/Option/Tiddlers: Tiddler\nManager/Controls/Show/Prompt: 表示:\nManager/Controls/Sort/Prompt: 表示順:\nManager/Item/Colour: 色\nManager/Item/Fields: 項目\nManager/Item/Icon: アイコン\nManager/Item/Icon/None: (なし)\nManager/Item/RawText: Raw テキスト\nManager/Item/Tags: タグ\nManager/Item/Tools: ツール\nManager/Item/WikifiedText: Wikified テキスト\nMissingTiddler/Hint: 未作成の Tiddler \"<$text text=<<currentTiddler>>/>\" - クリック {{||$:/core/ui/Buttons/edit}} して作成\nNewJournal/Tags: 日誌\nNewJournal/Text: \nNewJournal/Title: YYYY年MM月DD日(ddd)\nNo: いいえ\nOfficialPluginLibrary: 公式 ~TiddlyWiki プラグインライブラリ\nOfficialPluginLibrary/Hint: tiddlywiki.comにある公式~TiddlyWikiプラグインライブラリ。プラグイン、テーマ、言語パックはコアチームによってメンテナンスされています。\nPageTemplate/Description: 標準 ~TiddlyWiki レイアウト\nPageTemplate/Name: 標準 ~PageTemplate\nPluginReloadWarning: ~JavaScript プラグインの変更を有効にするため、 {{$:/core/ui/Buttons/save-wiki}} 保存して {{$:/core/ui/Buttons/refresh}} 再読み込みしてください\nRecentChanges/DateFormat: YYYY-0MM-0DD\nShortcuts/Input/Accept/Hint: 選択項目を許可します\nShortcuts/Input/AcceptVariant/Hint: 選択項目を許可します (variant)\nShortcuts/Input/AdvancedSearch/Hint: サイドバーの検索フィールドの中から、~AdvancedSearch パネルを開きます\nShortcuts/Input/Cancel/Hint: 入力項目をクリアします\nShortcuts/Input/Down/Hint: 次の項目を選択します\nShortcuts/Input/Tab-Left/Hint: 前のタグを選択します\nShortcuts/Input/Tab-Right/Hint: 次のタグを選択します\nShortcuts/Input/Up/Hint: 前の項目を選択します\nShortcuts/SidebarLayout/Hint: サイドバーレイアウトを変更します\nSwitcher/Subtitle/language: 言語の切り替え\nSwitcher/Subtitle/layout: レイアウトの切り替え\nSwitcher/Subtitle/palette: パレットの切り替え\nSwitcher/Subtitle/theme: テーマの切り替え\nSystemTiddler/Tooltip: これはシステム Tiddler です\nSystemTiddlers/Include/Prompt: システム Tiddler を含める\nTagManager/Colour/Heading: 色\nTagManager/Count/Heading: カウント\nTagManager/Icon/Heading: アイコン\nTagManager/Icons/None: なし\nTagManager/Info/Heading: 情報\nTagManager/Tag/Heading: タグ\nTiddler/DateFormat: YYYY年MM月DD日(ddd) 0hh:0mm\nUnsavedChangesWarning: 保存していない編集内容があります。\nYes: はい\n"
  },
  {
    "path": "languages/ja-JP/Modals/Download.tid",
    "content": "title: $:/language/Modals/Download\ntype: text/vnd.tiddlywiki\nsubtitle: 変更のダウンロード\nfooter: <$button message=\"tm-close-tiddler\">閉じる</$button>\nhelp: https://tiddlywiki.com/static/DownloadingChanges.html\n\nこのブラウザは手動での保存しかできません。\n\n編集済みの Wiki を保存するには下記のリンクを右クリックし「ファイルをダウンロード」あるいは「ファイルを保存」を選択し、保存先とファイル名を指定してください。\n\n//Ctrl キー (Windows の場合) あるいは Option・alt キー (macOS の場合) を押しながらリンクをクリックすることですぐに保存が可能です。このときフォルダー名やファイル名を尋ねられることはありませんが、ブラウザが自動的に判りにくい名前を付けてしまうので、保存後にわかりやすい名前（拡張子 .html を含む）を付けた方が良いでしょう。//\n\nスマートフォンではダウンロードはできません。代わりにリンクをブックマークしてください。そしてそのブックマークをデスクトップ機へ同期してください。\n"
  },
  {
    "path": "languages/ja-JP/NewJournal.multids",
    "content": "title: $:/config/NewJournal/\n\nTags: 日誌\nTitle: YYYY年MM月DD日(ddd)\n"
  },
  {
    "path": "languages/ja-JP/Notifications.multids",
    "content": "title: $:/language/Notifications/\n\nCopiedToClipboard/Failed: クリップボードのコピーに失敗しました\nCopiedToClipboard/Succeeded: クリップボードへコピーしました\nSave/Done: Wiki を保存しました\nSave/Starting: Wiki を保存します\n"
  },
  {
    "path": "languages/ja-JP/Search.multids",
    "content": "title: $:/language/Search/\n\nAdvanced/Matches: //<small><<resultCount>> 件一致</small>//\nDefaultResults/Caption: リスト\nFilter/Caption: フィルタ\nFilter/Hint: [[フィルタ|https://tiddlywiki.com/static/Filters.html]]で検索します。\nFilter/Matches: //<small><<resultCount>> 件一致</small>//\nMatches: //<small><<resultCount>> 件一致</small>//\nMatches/All: すべて一致:\nMatches/NoMatch: //該当なし//\nMatches/NoResult: //検索結果なし//\nMatches/Title: タイトル一致:\nSearch: 検索\nSearch/TooShort: 検索文が短すぎます\nShadows/Caption: 隠し\nShadows/Hint: 隠し Tiddler を検索します\nShadows/Matches: //<small><<resultCount>> 件一致</small>//\nStandard/Caption: 一般\nStandard/Hint: 一般の Tiddler を検索します\nStandard/Matches: //<small><<resultCount>> 件一致</small>//\nSystem/Caption: システム\nSystem/Hint: システム Tiddler を検索します\nSystem/Matches: //<small><<resultCount>> 件一致</small>//\n"
  },
  {
    "path": "languages/ja-JP/SideBar.multids",
    "content": "title: $:/language/SideBar/\n\nAll/Caption: すべて\nCaption: サイドバー\nContents/Caption: 目次\nDrafts/Caption: 下書き\nExplorer/Caption: エクスプローラ\nMissing/Caption: 未作成\nMore/Caption: 詳しく\nOpen/Caption: 表示中\nOrphans/Caption: 被参照なし\nRecent/Caption: 最近の更新\nShadows/Caption: 隠し\nSystem/Caption: システム\nTags/Caption: タグ別\nTags/Untagged/Caption: タグなし\nTools/Caption: ツール\nTypes/Caption: 種類別\n"
  },
  {
    "path": "languages/ja-JP/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\n非線形パーソナルウェブノートブック"
  },
  {
    "path": "languages/ja-JP/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\n私の ~TiddlyWiki"
  },
  {
    "path": "languages/ja-JP/Snippets/FunctionDefinition.tid",
    "content": "title: $:/language/Snippets/FunctionDefinition\ntags: $:/tags/TextEditor/Snippet\ncaption: ファンクションの定義\n\n\\function f.name(param1,param2:\"default value\") [<param1>!is[blank]else<param2>]\n\n<<f.name>>\n"
  },
  {
    "path": "languages/ja-JP/Snippets/ListByTag.tid",
    "content": "title: $:/language/Snippets/ListByTag\ntags: $:/tags/TextEditor/Snippet\ncaption: タグ指定によるTiddlerリスト\n\n<<list-links \"[tag[task]sort[title]]\">>\n"
  },
  {
    "path": "languages/ja-JP/Snippets/MacroDefinition.tid",
    "content": "title: $:/language/Snippets/MacroDefinition\ntags: $:/tags/TextEditor/Snippet\ncaption: マクロの定義\n\n\\define macroName(param1:\"default value\",param2)\nText of the macro\n\\end\n"
  },
  {
    "path": "languages/ja-JP/Snippets/ProcedureDefinition.tid",
    "content": "title: $:/language/Snippets/ProcedureDefinition\ntags: $:/tags/TextEditor/Snippet\ncaption: プロシージャの定義\n\n\\procedure procName(param1:\"default value\",param2)\nYour text comes here.\n\\end\n"
  },
  {
    "path": "languages/ja-JP/Snippets/Table4x3.tid",
    "content": "title: $:/language/Snippets/Table4x3\ntags: $:/tags/TextEditor/Snippet\ncaption: 4列3行のテーブル\n\n|! |!Alpha |!Beta |!Gamma |!Delta |\n|!One | | | | |\n|!Two | | | | |\n|!Three | | | | |\n"
  },
  {
    "path": "languages/ja-JP/Snippets/TableOfContents.tid",
    "content": "title: $:/language/Snippets/TableOfContents\ntags: $:/tags/TextEditor/Snippet\ncaption: 目次\n\n<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'TableOfContents'>>\n\n</div>"
  },
  {
    "path": "languages/ja-JP/ThemeTweaks.multids",
    "content": "title: $:/language/ThemeTweaks/\n\nMetrics: サイズ\nMetrics/BodyFontSize: TIddlerの本体のフォントサイズ\nMetrics/BodyLineHeight: TIddlerの本体の行の高さ\nMetrics/FontSize: フォントサイズ\nMetrics/LineHeight: 行の高さ\nMetrics/SidebarBreakpoint: サイドバーのブレークポイント\nMetrics/SidebarBreakpoint/Hint: ストーリーリバーとサイドバーを<br>横並びで表示する最小ページ幅\nMetrics/SidebarWidth: サイドバーの幅\nMetrics/SidebarWidth/Hint: 可変幅-固定幅レイアウト時のサイドバーの幅\nMetrics/StoryLeft: ストーリーの左からの位置\nMetrics/StoryLeft/Hint: ストーリーリバー(Tiddlerエリア)の左余白が<br>ページの左からどのくらい空いているか\nMetrics/StoryRight: ストーリーの右端\nMetrics/StoryRight/Hint: サイドバーの左余白が<br>ページの左からどのくらい空いているか\nMetrics/StoryTop: ストーリーの上からの位置\nMetrics/StoryTop/Hint: ストーリーリバーの上余白が<br>ページの上からどのくらい空いているか\nMetrics/StoryWidth: ストーリーの幅\nMetrics/StoryWidth/Hint: ストーリーリバー全体の幅\nMetrics/TiddlerWidth: Tiddlerの幅\nMetrics/TiddlerWidth/Hint: ストーリーリバーの内側\nOptions: オプション\nOptions/CodeWrapping: コードブロック内の長い行の折り返し\nOptions/SidebarLayout: サイドバーのレイアウト\nOptions/SidebarLayout/Fixed-Fluid: 固定幅のストーリー、可変幅のサイドバー\nOptions/SidebarLayout/Fluid-Fixed: 可変幅のストーリー、固定幅のサイドバー\nOptions/StickyTitles: 固定タイトル\nOptions/StickyTitles/Hint: Tiddlerのタイトルをブラウザウィンドウの上部に\"固定\"します\nSettings: 設定\nSettings/BackgroundImage: ページの背景画像\nSettings/BackgroundImageAttachment: ページの背景画像の固定\nSettings/BackgroundImageAttachment/Fixed: ウインドウに固定\nSettings/BackgroundImageAttachment/Scroll: TIddlerと一緒にスクロール\nSettings/BackgroundImageSize: ページの背景画像のサイズ\nSettings/BackgroundImageSize/Auto: 自動\nSettings/BackgroundImageSize/Contain: 全体を表示\nSettings/BackgroundImageSize/Cover: 全面を覆う\nSettings/CodeFontFamily: コードのフォントファミリー\nSettings/EditorFontFamily: エディターのフォントファミリー\nSettings/FontFamily: フォントファミリー\nThemeTweaks: テーマの微調整\nThemeTweaks/Hint: ''Vanilla''テーマの特定の要素を調整できます。\n"
  },
  {
    "path": "languages/ja-JP/TiddlerInfo.multids",
    "content": "title: $:/language/TiddlerInfo/\n\nAdvanced/Caption: 詳細\nAdvanced/PluginInfo/Empty/Hint: なし\nAdvanced/PluginInfo/Heading: プラグイン詳細\nAdvanced/PluginInfo/Hint: このプラグインは次の隠し Tiddler を含んでいます:\nAdvanced/ShadowInfo/Heading: 隠しステータス\nAdvanced/ShadowInfo/NotShadow/Hint: この Tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> は隠し Tiddler ではありません\nAdvanced/ShadowInfo/OverriddenShadow/Hint: 通常の Tiddler に上書きされています\nAdvanced/ShadowInfo/Shadow/Hint: この Tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> は隠し Tiddler です\nAdvanced/ShadowInfo/Shadow/Source: プラグイン <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link> で定義されています\nFields/Caption: 項目\nList/Caption: 一覧\nList/Empty: この Tiddler に一覧はありません\nListed/Caption: 被リスト\nListed/Empty: この Tiddler を参照するリストはありません\nReferences/Caption: 参照\nReferences/Empty: 他の Tiddler から参照されていません\nTagging/Caption: この名でタグ付\nTagging/Empty: この名前でタグ付けされた Tiddler はありません\nTools/Caption: ツール\n"
  },
  {
    "path": "languages/ja-JP/Types/application%2Fjavascript.tid",
    "content": "title: $:/language/Docs/Types/application/javascript\ndescription: JavaScript コード\nname: application/javascript\ngroup: Developer\n"
  },
  {
    "path": "languages/ja-JP/Types/application%2Fjson.tid",
    "content": "title: $:/language/Docs/Types/application/json\ndescription: JSON データ\nname: application/json\ngroup: Developer\n"
  },
  {
    "path": "languages/ja-JP/Types/application%2Fx-tiddler-dictionary.tid",
    "content": "title: $:/language/Docs/Types/application/x-tiddler-dictionary\ndescription: データ辞書\nname: application/x-tiddler-dictionary\ngroup: Developer\n"
  },
  {
    "path": "languages/ja-JP/Types/application_javascript.tid",
    "content": "title: $:/language/Docs/Types/application/javascript\ndescription: JavaScript コード\nname: application/javascript\ngroup: Developer\n"
  },
  {
    "path": "languages/ja-JP/Types/application_json.tid",
    "content": "title: $:/language/Docs/Types/application/json\ndescription: JSON データ\nname: application/json\ngroup: Developer\n"
  },
  {
    "path": "languages/ja-JP/Types/application_x-tiddler-dictionary.tid",
    "content": "title: $:/language/Docs/Types/application/x-tiddler-dictionary\ndescription: データ辞書\nname: application/x-tiddler-dictionary\ngroup: Developer\n"
  },
  {
    "path": "languages/ja-JP/Types/image%2Fgif.tid",
    "content": "title: $:/language/Docs/Types/image/gif\ndescription: GIF 画像\nname: image/gif\ngroup: Image\n"
  },
  {
    "path": "languages/ja-JP/Types/image%2Fjpeg.tid",
    "content": "title: $:/language/Docs/Types/image/jpeg\ndescription: JPEG 画像\nname: image/jpeg\ngroup: Image\n"
  },
  {
    "path": "languages/ja-JP/Types/image%2Fpng.tid",
    "content": "title: $:/language/Docs/Types/image/png\ndescription: PNG 画像\nname: image/png\ngroup: Image\n"
  },
  {
    "path": "languages/ja-JP/Types/image%2Fsvg%2Bxml.tid",
    "content": "title: $:/language/Docs/Types/image/svg+xml\ndescription: SVG 画像\nname: image/svg+xml\ngroup: Image\n"
  },
  {
    "path": "languages/ja-JP/Types/image_gif.tid",
    "content": "title: $:/language/Docs/Types/image/gif\ndescription: GIF 画像\nname: image/gif\ngroup: Image\n"
  },
  {
    "path": "languages/ja-JP/Types/image_jpeg.tid",
    "content": "title: $:/language/Docs/Types/image/jpeg\ndescription: JPEG 画像\nname: image/jpeg\ngroup: Image\n"
  },
  {
    "path": "languages/ja-JP/Types/image_png.tid",
    "content": "title: $:/language/Docs/Types/image/png\ndescription: PNG 画像\nname: image/png\ngroup: Image\n"
  },
  {
    "path": "languages/ja-JP/Types/image_svg+xml.tid",
    "content": "title: $:/language/Docs/Types/image/svg+xml\ndescription: SVG 画像\nname: image/svg+xml\ngroup: Image\n"
  },
  {
    "path": "languages/ja-JP/Types/text%2Fcss.tid",
    "content": "title: $:/language/Docs/Types/text/css\ndescription: CSS スタイルシート\nname: text/css\ngroup: Image\n"
  },
  {
    "path": "languages/ja-JP/Types/text%2Fhtml.tid",
    "content": "title: $:/language/Docs/Types/text/html\ndescription: HTML\nname: text/html\ngroup: Text\n"
  },
  {
    "path": "languages/ja-JP/Types/text%2Fplain.tid",
    "content": "title: $:/language/Docs/Types/text/plain\ndescription: プレーンテキスト\nname: text/plain\ngroup: Text\n"
  },
  {
    "path": "languages/ja-JP/Types/text%2Fvnd.tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/vnd.tiddlywiki\ndescription: TiddlyWiki 5 形式\nname: text/vnd.tiddlywiki\ngroup: Text\n"
  },
  {
    "path": "languages/ja-JP/Types/text_css.tid",
    "content": "title: $:/language/Docs/Types/text/css\ndescription: CSS スタイルシート\nname: text/css\ngroup: Image\n"
  },
  {
    "path": "languages/ja-JP/Types/text_html.tid",
    "content": "title: $:/language/Docs/Types/text/html\ndescription: HTML\nname: text/html\ngroup: Text\n"
  },
  {
    "path": "languages/ja-JP/Types/text_plain.tid",
    "content": "title: $:/language/Docs/Types/text/plain\ndescription: プレーンテキスト\nname: text/plain\ngroup: Text\n"
  },
  {
    "path": "languages/ja-JP/Types/text_vnd.tiddlywiki-multiple.tid",
    "content": "title: $:/language/Docs/Types/text/vnd.tiddlywiki-multiple\ndescription: 複合Tiddler\nname: text/vnd.tiddlywiki-multiple\ngroup: Developer\n"
  },
  {
    "path": "languages/ja-JP/Types/text_vnd.tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/vnd.tiddlywiki\ndescription: TiddlyWiki 5 形式\nname: text/vnd.tiddlywiki\ngroup: Text\n"
  },
  {
    "path": "languages/ja-JP/plugin.info",
    "content": "{\n\t\"title\": \"$:/languages/ja-JP\",\n\t\"name\": \"ja-JP\",\n\t\"plugin-type\": \"language\",\n\t\"description\": \"日本語 (日本)\",\n\t\"author\": \"Makoto Hirohashi, OGOSHI Masayuki, pekopeko1, dajya-ranger.com, BALLOON | FU-SEN (Keiichi Shiga)\",\n\t\"core-version\": \">=5.1.4\"\n}\n"
  },
  {
    "path": "languages/ko-KR/Buttons.multids",
    "content": "title: $:/language/Buttons/\n\nAdvancedSearch/Caption: 고급 검색\nAdvancedSearch/Hint: 고급 검색\nBold/Caption: 굵게\nBold/Hint: 선택에 굵게 서식을 적용합니다\nCancel/Caption: 취소\nCancel/Hint: 이 티들러로의 바뀜을 버립니다\nClear/Caption: 지우기\nClear/Hint: 단색으로 그림을 지웁니다\nClone/Caption: 복제\nClone/Hint: 이 티들러를 복제합니다\nClose/Caption: 닫기\nClose/Hint: 이 티들러를 닫습니다\nCloseAll/Caption: 모두 닫기\nCloseAll/Hint: 모든 티들러를 닫습니다\nCloseOthers/Caption: 다른 티들러 닫기\nCloseOthers/Hint: 다른 티들러를 닫습니다\nControlPanel/Caption: 제어판\nControlPanel/Hint: 제어판을 엽니다\nDelete/Caption: 삭제\nDelete/Hint: 이 티들러를 삭제합니다\nEdit/Caption: 편집\nEdit/Hint: 이 티들러를 편집합니다\nEditorHeight/Caption: 편집기 높이\nEditorHeight/Caption/Auto: 내용에 맞게 자동으로 높이를 조절합니다\nEditorHeight/Caption/Fixed: 고정된 높이:\nEditorHeight/Hint: 텍스트 편집기의 높이를 선택합니다\nEncryption/Caption: 암호화\nEncryption/ClearPassword/Caption: 비밀번호 지우기\nEncryption/ClearPassword/Hint: 비밀번호를 지우고 암호화 없이 이 위키를 저장합니다\nEncryption/Hint: 이 위키를 저장하기 위한 비밀번호를 설정하거나 지웁니다\nEncryption/SetPassword/Caption: 비밀번호 설정\nEncryption/SetPassword/Hint: 암호화로 이 위키를 저장하기 위해 비밀번호를 설정합니다\nExcise/Caption: 거두기\nExcise/Caption/Excise: 거두기 수행\nExcise/Caption/MacroName: 매크로 이름:\nExcise/Caption/NewTitle: 새 티들러의 제목:\nExcise/Caption/Replace: 다음으로 거둔 텍스트 바꾸기:\nExcise/Caption/Replace/Link: 링크\nExcise/Caption/Replace/Macro: 매크로\nExcise/Caption/Replace/Transclusion: 끼워넣기\nExcise/Caption/Tag: 이 티들러의 제목으로 된 새 티들러를 태그\nExcise/Caption/TiddlerExists: 경고: 티들러가 이미 존재합니다\nExcise/Hint: 새 티들러 안으로 선택한 텍스트를 거둡니다\nExportPage/Caption: 모두 내보내기\nExportPage/Hint: 모든 티들러를 내보냅니다\nExportTiddler/Caption: 티들러 내보내기\nExportTiddler/Hint: 티들러를 내보냅니다\nExportTiddlers/Caption: 여러 티들러 내보내기\nExportTiddlers/Hint: 여러 티들러를 내보냅니다\nFold/Caption: 티들러 접기\nFold/FoldBar/Caption: 접기 막대\nFold/FoldBar/Hint: 티들러를 선택적으로 접고 펼칠 수 있는 막대\nFold/Hint: 이 티들러의 본문을 접습니다\nFoldAll/Caption: 모든 티들러 접기\nFoldAll/Hint: 모든 열린 티들러의 본문을 접습니다\nFoldOthers/Caption: 다른 티들러 접기\nFoldOthers/Hint: 다른 열린 티들러의 본문을 접습니다\nFullScreen/Caption: 전체 화면\nFullScreen/Hint: 전체 화면 모드에 들어가거나 떠납니다\nHeading1/Caption: 1단계 문단 제목\nHeading1/Hint: 선택을 포함하는 줄에 1단계 문단 제목 서식을 적용합니다\nHeading2/Caption: 2단계 문단 제목\nHeading2/Hint: 선택을 포함하는 줄에 2단계 문단 제목 서식을 적용합니다\nHeading3/Caption: 3단계 문단 제목\nHeading3/Hint: 선택을 포함하는 줄에 3단계 문단 제목 서식을 적용합니다\nHeading4/Caption: 4단계 문단 제목\nHeading4/Hint: 선택을 포함하는 줄에 4단계 문단 제목 서식을 적용합니다\nHeading5/Caption: 5단계 문단 제목\nHeading5/Hint: 선택을 포함하는 줄에 5단계 문단 제목 서식을 적용합니다\nHeading6/Caption: 6단계 문단 제목\nHeading6/Hint: 선택을 포함하는 줄에 6단계 문단 제목 서식을 적용합니다\nHelp/Caption: 도움말\nHelp/Hint: 도움말 패널을 보여줍니다\nHideSideBar/Caption: 사이드바 숨기기\nHideSideBar/Hint: 사이드바를 숨깁니다\nHome/Caption: 홈\nHome/Hint: 기본 티들러를 엽니다\nImport/Caption: 가져오기\nImport/Hint: 텍스트, 그림, 티들리위키 또는 JSON을 포함한 여러 파일의 형식을 가져옵니다\nInfo/Caption: 정보\nInfo/Hint: 이 티들러에 대한 정보를 보여줍니다\nItalic/Caption: 기울임꼴\nItalic/Hint: 선택에 기울임꼴 서식을 적용합니다\nLanguage/Caption: 언어\nLanguage/Hint: 사용자 인터페이스 언어를 선택합니다\nLineWidth/Caption: 선 너비\nLineWidth/Hint: 페인트의 선 너비를 설정합니다\nLink/Caption: 링크\nLink/Hint: 위키텍스트 링크를 만듭니다\nListBullet/Caption: 글머리 기호 목록\nListBullet/Hint: 선택을 포함하는 줄에 글머리 기호 목록 서식을 적용합니다\nListNumber/Caption: 번호가 매겨진 목록\nListNumber/Hint: 선택을 포함하는 줄에 번호가 매겨진 목록 서식을 적용합니다\nMonoBlock/Caption: 고정폭 블럭\nMonoBlock/Hint: 선택을 포함하는 줄에 고정폭 블럭 서식을 적용합니다\nMonoLine/Caption: 고정폭\nMonoLine/Hint: 선택에 고정폭 글자 서식을 적용합니다\nMore/Caption: 더 보기\nMore/Hint: 더 많은 동작을 봅니다\nNewHere/Caption: 여기에 새 티들러\nNewHere/Hint: 이 티들러로 태그된 새로운 것을 만듭니다\nNewImage/Caption: 새 그림\nNewImage/Hint: 새 그림 티들러를 만듭니다\nNewJournal/Caption: 새 일지\nNewJournal/Hint: 새 일지 티들러를 만듭니다\nNewJournalHere/Caption: 여기에 새 일지\nNewJournalHere/Hint: 이 일지 티들러로 태그된 새로운 것을 만듭니다\nNewMarkdown/Caption: 새 마크다운 티들러\nNewMarkdown/Hint: 새 마크다운 티들러를 만듭니다\nNewTiddler/Caption: 새 티들러\nNewTiddler/Hint: 새 티들러를 만듭니다\nOpacity/Caption: 불투명도\nOpacity/Hint: 페인트 불투명도를 설정합니다\nOpenWindow/Caption: 새 창에서 열기\nOpenWindow/Hint: 새 창에서 티들러를 엽니다\nPaint/Caption: 페인트 색\nPaint/Hint: 페인트 색을 설정합니다\nPalette/Caption: 팔레트\nPalette/Hint: 컬러 팔레트를 선택합니다\nPermalink/Caption: 고유링크\nPermalink/Hint: 브라우저 주소 창에 이 티들러로의 직접 링크로 설정합니다\nPermaview/Caption: 고유보기\nPermaview/Hint: 이 이야기에서 브라우저 주소 창에 모든 티들러로의 직접 링크로 설정합니다\nPicture/Caption: 사진\nPicture/Hint: 사진을 넣습니다\nPreview/Caption: 미리 보기\nPreview/Hint: 미리 보기 창을 보여줍니다\nPreviewType/Caption: 미리 보기 형식\nPreviewType/Hint: 미리 보기 형식을 선택합니다\nQuote/Caption: 인용\nQuote/Hint: 선택을 포함하는 줄에 인용 문구 서식을 적용합니다\nRefresh/Caption: 새로 고침\nRefresh/Hint: 위키의 전체 새로 고침을 수행합니다\nSave/Caption: 확인\nSave/Hint: 이 티들러로의 바뀜을 확인합니다\nSaveWiki/Caption: 바뀜 저장\nSaveWiki/Hint: 바뀜을 저장합니다\nShowSideBar/Caption: 사이드바 보이기\nShowSideBar/Hint: 사이드바를 보여줍니다\nSize/Caption: 그림 크기\nSize/Caption/Height: 높이:\nSize/Caption/Resize: 그림 크기 조절\nSize/Caption/Width: 너비:\nSize/Hint: 그림 크기를 조절합니다\nStamp/Caption: 도장\nStamp/Caption/New: 스니펫 추가\nStamp/Hint: 미리 구성된 텍스트 스니펫을 넣습니다\nStamp/New/Text: 스니펫 텍스트. (캡션 필드에 설명 제목을 추가하는 것을 기억하세요).\nStamp/New/Title: 메뉴에 보여지는 이름\nStoryView/Caption: 이야기보기\nStoryView/Hint: 이야기 보기를 선택합니다\nStrikethrough/Caption: 취소선\nStrikethrough/Hint: 선택에 취소선 서식을 적용합니다\nSubscript/Caption: 아래 첨자\nSubscript/Hint: 선택에 아래 첨자 서식을 적용합니다\nSuperscript/Caption: 위 첨자\nSuperscript/Hint: 선택에 위 첨자 서식을 적용합니다\nTagManager/Caption: 태그 관리자\nTagManager/Hint: 태그 관리자를 엽니다\nTheme/Caption: 테마\nTheme/Hint: 표시할 테마를 선택합니다\nUnderline/Caption: 밑줄\nUnderline/Hint: 선택에 밑줄 서식을 적용합니다\nUnfold/Caption: 티들러 펼치기\nUnfold/Hint: 이 티들러의 본문을 펼칩니다\nUnfoldAll/Caption: 모든 티들러 펼치기\nUnfoldAll/Hint: 모든 열린 티들러의 본문을 펼칩니다\n"
  },
  {
    "path": "languages/ko-KR/ControlPanel.multids",
    "content": "title: $:/language/ControlPanel/\n\nAdvanced/Caption: 고급\nAdvanced/Hint: 이 티들리위키에 대한 내부 정보\nAppearance/Caption: 외관\nAppearance/Hint: 티들리위키의 외관을 사용자 지정하는 방법입니다.\nBasics/AnimDuration/Prompt: 애니메이션 지속 시간:\nBasics/Caption: 기본\nBasics/DefaultTiddlers/BottomHint: 스페이스로 되어 있는 제목에는 &#91;&#91;이중 대괄호&#93;&#93;를 사용하세요. 또는 {{이야기 정렬 유지||$:/snippets/retain-story-ordering-button}}로 선택할 수 있습니다\nBasics/DefaultTiddlers/Prompt: 기본 티들러:\nBasics/DefaultTiddlers/TopHint: 시작할 때 표시할 티들러를 선택합니다:\nBasics/Language/Prompt: 안녕! 현재 언어:\nBasics/NewJournal/Tags/Prompt: 새 일지 티들러에 대한 태그\nBasics/NewJournal/Title/Prompt: 새 일지 티들러의 제목\nBasics/OverriddenShadowTiddlers/Prompt: 덮어쓴 섀도우 티들러 수:\nBasics/ShadowTiddlers/Prompt: 섀도우 티들러 수:\nBasics/Subtitle/Prompt: 부제목:\nBasics/SystemTiddlers/Prompt: 시스템 티들러 수:\nBasics/Tags/Prompt: 태그 수:\nBasics/Tiddlers/Prompt: 티들러 수:\nBasics/Title/Prompt: 이 티들리위키의 제목:\nBasics/Username/Prompt: 편집에 서명하기 위한 사용자 이름:\nBasics/Version/Prompt: 티들리위키 버전:\nEditorTypes/Caption: 편집기 형식\nEditorTypes/Editor/Caption: 편집기\nEditorTypes/Hint: 이 티들러는 특정 티들러 형식을 편집하는 데 사용하는 편집기를 결정합니다.\nEditorTypes/Type/Caption: 형식\nInfo/Caption: 정보\nInfo/Hint: 이 티들리위키에 대한 정보\nKeyboardShortcuts/Add/Caption: 단축키 추가\nKeyboardShortcuts/Add/Prompt: 여기에 단축키를 입력하세요\nKeyboardShortcuts/Caption: 키보드 단축키\nKeyboardShortcuts/Hint: 키보드 단축키 할당 관리\nKeyboardShortcuts/NoShortcuts/Caption: 할당된 키보드 단축키가 없음\nKeyboardShortcuts/Platform/All: 모든 플랫폼\nKeyboardShortcuts/Platform/Linux: Linux 플랫폼 전용\nKeyboardShortcuts/Platform/Mac: 매킨토시 플랫폼 전용\nKeyboardShortcuts/Platform/NonLinux: Linux가 아닌 플랫폼 전용\nKeyboardShortcuts/Platform/NonMac: 매킨토시가 아닌 플랫폼 전용\nKeyboardShortcuts/Platform/NonWindows: Windows가 아닌 플랫폼 전용\nKeyboardShortcuts/Platform/Windows: Windows 플랫폼 전용\nKeyboardShortcuts/Remove/Hint: 키보드 단축키 제거\nLoadedModules/Caption: 불러온 모듈\nLoadedModules/Hint: 현재 불러온 티들러 모듈의 원본 티들러로 연결된 현재 불러온 티들러 모듈입니다. 어떠한 기울린 모듈은 통상적으로 부팅 과정 중에 설치되었기 때문에 원본 티들러가 부족합니다.\nPalette/Caption: 팔레트\nPalette/Editor/Clone/Caption: 복제\nPalette/Editor/Clone/Prompt: 이 섀도우 팔레트를 편집하기 전에 그것을 복제하는 것을 권장합니다\nPalette/Editor/Prompt: 편집 중:\nPalette/Editor/Prompt/Modified: 이 섀도우 팔레트는 수정되어 있습니다\nPalette/Editor/Reset/Caption: 재설정\nPalette/HideEditor/Caption: 편집기 숨기기\nPalette/Prompt: 현재 팔레트:\nPalette/ShowEditor/Caption: 편집기 보이기\nParsing/Block/Caption: 블록 파서 규칙\nParsing/Caption: 구문 분석\nParsing/Hint: 여기서 개별 위키 파서 규칙을 전역으로 비활성화할 수 있습니다. 어떤 파서 규칙을 비활성화하면 티들리위키가 제대로 작동하는 것을 막을 수 있으므로 주의하십시오 ([[안전 모드|https://tiddlywiki.com/#SafeMode]]로 정상 작동하도록 복구할 수 있습니다)\nParsing/Inline/Caption: 인라인 파서 규칙\nParsing/Pragma/Caption: 플라그마 파서 규칙\nPlugins/Add/Caption: 더 많은 플러그인 얻기\nPlugins/Add/Hint: 공식 라이브러리에서 플러그인을 설치합니다\nPlugins/AlreadyInstalled/Hint: 이 플러그인은 이미 <$text text=<<installedVersion>>/> 버전으로 설치되어 있습니다\nPlugins/Caption: 플러그인\nPlugins/Disable/Caption: 비활성화\nPlugins/Disable/Hint: 페이지를 다시 불러올 때 이 플러그인을 비활성화합니다\nPlugins/Disabled/Status: (비활성화됨)\nPlugins/Empty/Hint: 없음\nPlugins/Enable/Caption: 활성화\nPlugins/Enable/Hint: 페이지를 다시 불러올 때 이 플러그인을 활성화합니다\nPlugins/Install/Caption: 설치\nPlugins/Installed/Hint: 현재 설치된 플러그인:\nPlugins/Languages/Caption: 언어\nPlugins/Languages/Hint: 언어 팩 플러그인\nPlugins/NoInfoFound/Hint: ''\"<$text text=<<currentTab>>/>\"'' 찾을 수 없음\nPlugins/NotInstalled/Hint: 이 플러그인은 현재 설치되어 있지 않습니다\nPlugins/OpenPluginLibrary: 플러그인 라이브러리 열기\nPlugins/Plugins/Caption: 플러그인\nPlugins/Plugins/Hint: 플러그인\nPlugins/Reinstall/Caption: 재설치\nPlugins/Themes/Caption: 테마\nPlugins/Themes/Hint: 테마 플러그인\nSaving/Caption: 저장\nSaving/Heading: 저장\nSaving/TiddlySpot/Advanced/Heading: 고급 설정\nSaving/TiddlySpot/BackupDir: 백업 디렉터리\nSaving/TiddlySpot/Backups: 백업\nSaving/TiddlySpot/Description: 이 설정은 http://tiddlyspot.com 또는 호환되는 원격 서버에 저장할 때에만 사용됩니다\nSaving/TiddlySpot/Filename: 업로드 파일 이름\nSaving/TiddlySpot/Hint: //서버 URL 기본값은 `http://<wikiname>.tiddlyspot.com/store.cgi`이며 사용자 지정 서버 주소를 사용하도록 바꿀 수 있습니다, 예를 들어 `http://example.com/store.php`.//\nSaving/TiddlySpot/Password: 비밀번호\nSaving/TiddlySpot/ServerURL: 서버 URL\nSaving/TiddlySpot/UploadDir: 업로드 디렉터리\nSaving/TiddlySpot/UserName: 위키 이름\nSettings/AutoSave/Caption: 자동 저장\nSettings/AutoSave/Disabled/Description: 바뀜을 자동으로 저장하지 않습니다\nSettings/AutoSave/Enabled/Description: 바뀜을 자동으로 저장합니다\nSettings/AutoSave/Hint: 편집하는 동안 자동으로 바뀜을 저장합니다\nSettings/CamelCase/Caption: Camel Case 위키 링크\nSettings/CamelCase/Description: 자동으로 ~CamelCase 링크를 활성화\nSettings/CamelCase/Hint: ~CamelCase 어구를 자동으로 링크하는 것을 전역으로 비활성화할 수 있습니다. 적용하려면 다시 불러와야 합니다\nSettings/Caption: 설정\nSettings/DefaultSidebarTab/Caption: 기본 사이드바 탭\nSettings/DefaultSidebarTab/Hint: 기본적으로 표시하는 사이드바 탭을 지정합니다\nSettings/EditorToolbar/Caption: 편집기 도구 모음\nSettings/EditorToolbar/Description: 편집기 도구 모음 보이기\nSettings/EditorToolbar/Hint: 편집기 도구 모음을 활성화하거나 비활성화합니다:\nSettings/Hint: 이 설정은 티들리위키의 동작을 사용자 지정할 수 있습니다.\nSettings/LinkToBehaviour/Caption: 티들러 열기 동작\nSettings/LinkToBehaviour/InsideRiver/Hint: 이야기 강 //안//에서 둘러보기\nSettings/LinkToBehaviour/OpenAbove: 현재 티들러 위에 열기\nSettings/LinkToBehaviour/OpenAtBottom: 이야기 강의 아래에 열기\nSettings/LinkToBehaviour/OpenAtTop: 이야기 강의 위에 열기\nSettings/LinkToBehaviour/OpenBelow: 현재 티들러 아래에 열기\nSettings/LinkToBehaviour/OutsideRiver/Hint: 이야기 강 //바깥//에서 둘러보기\nSettings/MissingLinks/Caption: 위키 링크\nSettings/MissingLinks/Description: 없는 티들러로의 링크 활성화\nSettings/MissingLinks/Hint: 아직 존재하지 않는 티들러로 링크할지 선택\nSettings/NavigationAddressBar/Caption: 둘러보기 주소 창\nSettings/NavigationAddressBar/Hint: 티들러를 둘러볼 때 브라우저 주소 창의 동작:\nSettings/NavigationAddressBar/No/Description: 주소 창을 업데이트하지 않음\nSettings/NavigationAddressBar/Permalink/Description: 대상 티들러를 포함\nSettings/NavigationAddressBar/Permaview/Description: 대상 티들러와 현재 이야기 서열을 포함\nSettings/NavigationHistory/Caption: 둘러보기 역사\nSettings/NavigationHistory/Hint: 티들러로 둘러보기할 때 둘러보기 역사를 업데이트합니다:\nSettings/NavigationHistory/No/Description: 역사를 업데이트하지 않음\nSettings/NavigationHistory/Yes/Description: 역사를 업데이트\nSettings/PerformanceInstrumentation/Caption: 성능 계측\nSettings/PerformanceInstrumentation/Description: 성능 계측 활성화\nSettings/PerformanceInstrumentation/Hint: 브라우저 개발자 콘솔에서 성능 통계를 표시합니다. 적용하려면 다시 불러와야 합니다\nSettings/TitleLinks/Caption: 티들러 제목\nSettings/TitleLinks/Hint: 티들러 제목을 링크로 선택적으로 표시합니다\nSettings/TitleLinks/No/Description: 티들러 제목을 링크로 표시하지 않음\nSettings/TitleLinks/Yes/Description: 티들러 제목을 링크로 표시\nSettings/ToolbarButtons/Caption: 도구 모음 버튼\nSettings/ToolbarButtons/Hint: 기본 도구 모음 버튼 외관:\nSettings/ToolbarButtons/Icons/Description: 아이콘을 포함\nSettings/ToolbarButtons/Text/Description: 텍스트를 포함\nSettings/ToolbarButtonStyle/Caption: 도구 모음 버튼 스타일\nSettings/ToolbarButtonStyle/Hint: 도구 모음 버튼에 대한 스타일을 선택합니다:\nSettings/ToolbarButtonStyle/Styles/Borderless: 테두리 없음\nSettings/ToolbarButtonStyle/Styles/Boxed: 상자형\nSettings/ToolbarButtonStyle/Styles/Rounded: 둥근형\nStoryView/Caption: 이야기 보기\nStoryView/Prompt: 현재 보기:\nTheme/Caption: 테마\nTheme/Prompt: 현재 테마:\nTiddlerFields/Caption: 티들러 필드\nTiddlerFields/Hint: 이 위키에 사용하고 있는 티들러필드의 전체 집합입니다. (시스템 티들러는 포함하지만 섀도우 티들러는 제외)\nToolbars/Caption: 도구 모음\nToolbars/EditorToolbar/Caption: 편집기 도구 모음\nToolbars/EditorToolbar/Hint: 편집기 도구 모음에 표시할 버튼을 선택하세요. 어떤 버튼은 특정 형식의 티들러를 편집할 때에만 나타남을 참고하세요\nToolbars/EditToolbar/Caption: 편집 도구 모음\nToolbars/EditToolbar/Hint: 편집 모드에서 티들러에 표시할 버튼을 선택하세요\nToolbars/Hint: 표시할 도구 모음 버튼을 선택합니다\nToolbars/PageControls/Caption: 페이지 도구 모음\nToolbars/PageControls/Hint: 주요 페이지 도구 모음에 표시할 버튼을 선택하세요\nToolbars/ViewToolbar/Caption: 보기 도구 모음\nToolbars/ViewToolbar/Hint: 보기 모드에서 티들러에 표시할 버튼을 선택하세요\nTools/Download/Full/Caption: 전체 위키 다운로드\n"
  },
  {
    "path": "languages/ko-KR/CoreReadMe.tid",
    "content": "title: $:/core/readme\n\n이 플러그인에는 다음을 갖춘 티들리위키의 코어 구성 요소를 포함합니다:\n\n* 자바스크립트 코드 모듈\n* 아이콘\n* 티들리위키의 사용자 인터페이스를 만드는 데 필요한 틀\n* 코어에 사용되는 지역화할 수 있는 문자열의 영국 영어 (en-GB) 번역\n"
  },
  {
    "path": "languages/ko-KR/Dates.multids",
    "content": "title: $:/language/\n\nDate/DaySuffix/1: 일\nDate/DaySuffix/10: 일\nDate/DaySuffix/11: 일\nDate/DaySuffix/12: 일\nDate/DaySuffix/13: 일\nDate/DaySuffix/14: 일\nDate/DaySuffix/15: 일\nDate/DaySuffix/16: 일\nDate/DaySuffix/17: 일\nDate/DaySuffix/18: 일\nDate/DaySuffix/19: 일\nDate/DaySuffix/2: 일\nDate/DaySuffix/20: 일\nDate/DaySuffix/21: 일\nDate/DaySuffix/22: 일\nDate/DaySuffix/23: 일\nDate/DaySuffix/24: 일\nDate/DaySuffix/25: 일\nDate/DaySuffix/26: 일\nDate/DaySuffix/27: 일\nDate/DaySuffix/28: 일\nDate/DaySuffix/29: 일\nDate/DaySuffix/3: 일\nDate/DaySuffix/30: 일\nDate/DaySuffix/31: 일\nDate/DaySuffix/4: 일\nDate/DaySuffix/5: 일\nDate/DaySuffix/6: 일\nDate/DaySuffix/7: 일\nDate/DaySuffix/8: 일\nDate/DaySuffix/9: 일\nDate/Long/Day/0: 일요일\nDate/Long/Day/1: 월요일\nDate/Long/Day/2: 화요일\nDate/Long/Day/3: 수요일\nDate/Long/Day/4: 목요일\nDate/Long/Day/5: 금요일\nDate/Long/Day/6: 토요일\nDate/Long/Month/1: 1월\nDate/Long/Month/10: 10월\nDate/Long/Month/11: 11월\nDate/Long/Month/12: 12월\nDate/Long/Month/2: 2월\nDate/Long/Month/3: 3월\nDate/Long/Month/4: 4월\nDate/Long/Month/5: 5월\nDate/Long/Month/6: 6월\nDate/Long/Month/7: 7월\nDate/Long/Month/8: 8월\nDate/Long/Month/9: 9월\nDate/Period/am: 오전\nDate/Period/pm: 오후\nDate/Short/Day/0: 일\nDate/Short/Day/1: 월\nDate/Short/Day/2: 화\nDate/Short/Day/3: 수\nDate/Short/Day/4: 목\nDate/Short/Day/5: 금\nDate/Short/Day/6: 토\nDate/Short/Month/1: 1월\nDate/Short/Month/10: 10월\nDate/Short/Month/11: 11월\nDate/Short/Month/12: 12월\nDate/Short/Month/2: 2월\nDate/Short/Month/3: 3월\nDate/Short/Month/4: 4월\nDate/Short/Month/5: 5월\nDate/Short/Month/6: 6월\nDate/Short/Month/7: 7월\nDate/Short/Month/8: 8월\nDate/Short/Month/9: 9월\nRelativeDate/Future/Days: 지금으로부터 <<period>>일\nRelativeDate/Future/Hours: 지금으로부터 <<period>>시간\nRelativeDate/Future/Minutes: 지금으로부터 <<period>>분\nRelativeDate/Future/Months: 지금으로부터 <<period>>개월\nRelativeDate/Future/Second: 지금으로부터 1초\nRelativeDate/Future/Seconds: 지금으로부터 <<period>>초\nRelativeDate/Future/Years: 지금으로부터 <<period>>년\nRelativeDate/Past/Days: <<period>>일 전\nRelativeDate/Past/Hours: <<period>>시간 전\nRelativeDate/Past/Minutes: <<period>>분 전\nRelativeDate/Past/Months: <<period>>개월 전\nRelativeDate/Past/Second: 1초 전\nRelativeDate/Past/Seconds: <<period>>초 전\nRelativeDate/Past/Years: <<period>>년 전\n"
  },
  {
    "path": "languages/ko-KR/Docs/ModuleTypes.multids",
    "content": "title: $:/language/Docs/ModuleTypes/\n\nanimation: RevealWidget으로 사용될 애니메이션.\ncommand: Node.js에 따라 실행될 수 있는 명령.\nconfig: `$tw.config` 안에 넣을 데이터.\nfilteroperator: 개별 필터 연산자 메서드.\nglobal: `$tw` 안에 넣을 전역 데이터.\nisfilteroperator: ''is'' 필터 연산자에 대한 피연산자.\nmacro: 자바스크립트 매크로 정의.\nparser: 다른 내용 형식을 위한 파서.\nsaver: 브라우저에서 차이 메서드로 파일을 저장하기 위한 서버 핸들.\nstartup: 시동 기능.\nstoryview: 이야기 보기는 애니메이션 및 목록 위젯의 동작을 사용자 정의할 수 있습니다.\ntiddlerdeserializer: 티들러 안의 다른 내용 형식을 변환합니다.\ntiddlerfield: 개별 티들러 필드의 동작을 정의합니다.\ntiddlermethod: `$tw.Tiddler` 프로토타입에 메서드를 추가합니다.\nupgrader: 업그레이드/가져오기를 하는 동안 티들러에 업그레이드 처리를 적용합니다.\nutils: `$tw.utils`에 메서드를 추가합니다.\nutils-node: `$tw.utils`에 Node.js 특정 메서드를 추가합니다.\nwidget: DOM 렌더링과 동작을 한 묶음으로 하는 위젯.\nwikimethod: `$tw.Wiki`에 메서드를 추가합니다.\nwikirule: 주요 위키텍스트를 파서하기 위한 개별 파서 규칙.\n"
  },
  {
    "path": "languages/ko-KR/Docs/PaletteColours.multids",
    "content": "title: $:/language/Docs/PaletteColours/\n\nalert-background: 경보 배경\nalert-border: 경보 테두리\nalert-highlight: 경보 강조\nalert-muted-foreground: 경보 조용한 전경\nbackground: 일반 배경\nblockquote-bar: 인용문 막대\nbutton-background: 기본 버튼 배경\nbutton-border: 기본 버튼 테두리\nbutton-foreground: 기본 버튼 전경\ncode-background: 코드 배경\ncode-border: 코드 테두리\ncode-foreground: 코드 전경\ndirty-indicator: 저장하지 않은 바뀜 지시자\ndownload-background: 다운로드 버튼 배경\ndownload-foreground: 다운로드 버튼 전경\ndragger-background: 드래거 배경\ndragger-foreground: 드래거 전경\ndropdown-background: 드롭다운 배경\ndropdown-border: 드롭다운 테두리\ndropdown-tab-background: 드롭다운 탭 배경\ndropdown-tab-background-selected: 선택한 탭에 대한 드롭다운 탭 배경\ndropzone-background: 드롭존 배경\nexternal-link-background: 바깥 링크 배경\nexternal-link-background-hover: 바깥 링크 배경 가리킬 때\nexternal-link-background-visited: 바깥 링크 배경 방문했을 때\nexternal-link-foreground: 바깥 링크 전경\nexternal-link-foreground-hover: 바깥 링크 전경 가리킬 때\nexternal-link-foreground-visited: 바깥 링크 전경 방문했을 때\nforeground: 일반 전경\nmessage-background: 메시지 상자 배경\nmessage-border: 메시지 상자 테두리\nmessage-foreground: 메시지 상자 전경\nmodal-backdrop: 모달 배경막\nmodal-background: 모달 배경\nmodal-border: 모달 테두리\nmodal-footer-background: 모달 바닥글 배경\nmodal-footer-border: 모달 바닥글 테두리\nmodal-header-border: 모달 머릿글 테두리\nmuted-foreground: 일반 조용한 전경\nnotification-background: 알림 배경\nnotification-border: 알림 테두리\npage-background: 페이지 배경\npre-background: 미리 서식 있는 코드 배경\npre-border: 미리 서식 있는 코드 테두리\nprimary: 일반 첫째\nsidebar-button-foreground: 사이드바 버튼 전경\nsidebar-controls-foreground: 사이드바 제어 전경\nsidebar-controls-foreground-hover: 사이드바 제어 전경 가리킬 때\nsidebar-foreground: 사이드바 전경\nsidebar-foreground-shadow: 사이드바 전경 그림자\nsidebar-muted-foreground: 사이드바 조용한 전경\nsidebar-muted-foreground-hover: 사이드바 조용한 전경 가리킬 때\nsidebar-tab-background: 사이드바 탭 배경\nsidebar-tab-background-selected: 선택한 탭에 대한 사이드바 탭 배경\nsidebar-tab-border: 사이드바 탭 테두리\nsidebar-tab-border-selected: 선택한 탭에 대한 사이드바 탭 테두리\nsidebar-tab-divider: 사이드바 탭 분할선\nsidebar-tab-foreground: 사이드바 탭 전경\nsidebar-tab-foreground-selected: 선택한 탭에 대한 사이드바 탭 전경\nsidebar-tiddler-link-foreground: 사이드바 티들러 링크 전경\nsidebar-tiddler-link-foreground-hover: 사이드바 티들러 링크 전경 가리킬 때\nsite-title-foreground: 사이트 제목 전경\nstatic-alert-foreground: 정적 경보 전경\ntab-background: 탭 배경\ntab-background-selected: 선택한 탭에 대한 탭 배경\ntab-border: 탭 테두리\ntab-border-selected: 선택한 탭에 대한 탭 테두리\ntab-divider: 탭 분할선\ntab-foreground: 탭 전경\ntab-foreground-selected: 선택한 탭에 대한 탭 전경\ntable-border: 표 테두리\ntable-footer-background: 표 바닥글 배경\ntable-header-background: 표 머릿글 배경\ntag-background: 태그 배경\ntag-foreground: 태그 전경\ntiddler-background: 티들러 배경\ntiddler-border: 티들러 테두리\ntiddler-controls-foreground: 티들러 제어 전경\ntiddler-controls-foreground-hover: 티들러 제어 전경 가리킬 때\ntiddler-controls-foreground-selected: 선택한 제어의 티들러 제어 전경\ntiddler-editor-background: 티들러 편집기 배경\ntiddler-editor-border: 티들러 편집기 테두리\ntiddler-editor-border-image: 티들러 편집기 테두리 그림\ntiddler-editor-fields-even: 짝수 필드의 티들러 편집기 배경\ntiddler-editor-fields-odd: 홀수 필드의 티들러 편집기 배경\ntiddler-info-background: 티들러 정보 패널 배경\ntiddler-info-border: 티들러 정보 패널 테두리\ntiddler-info-tab-background: 티들러 정보 패널 탭 배경\ntiddler-link-background: 티들러 링크 배경\ntiddler-link-foreground: 티들러 링크 전경\ntiddler-subtitle-foreground: 티들러 부제목 전경\ntiddler-title-foreground: 티들러 제목 전경\ntoolbar-cancel-button: 도구 모음 '취소' 버튼 전경\ntoolbar-close-button: 도구 모음 '닫기' 버튼 전경\ntoolbar-delete-button: 도구 모음 '삭제' 버튼 전경\ntoolbar-done-button: 도구 모음 '완료' 버튼 전경\ntoolbar-edit-button: 도구 모음 '편집' 버튼 전경\ntoolbar-info-button: 도구 모음 '정보' 버튼 전경\ntoolbar-new-button: 도구 모음 '새 티들러' 버튼 전경\ntoolbar-options-button: 도구 모음 '옵션' 버튼 전경\ntoolbar-save-button: 도구 모음 '저장' 버튼 전경\nuntagged-background: 태그되지 않음 배경\nvery-muted-foreground: 매우 조용한 전경\n"
  },
  {
    "path": "languages/ko-KR/EditTemplate.multids",
    "content": "title: $:/language/EditTemplate/\n\nBody/External/Hint: 주요 티들리위키 파일의 바깥에 저장된 바깥 티들러입니다. 태그와 필드를 편집할 수는 있지만 직접 내용 자체를 편집할 수는 없습니다\nBody/Placeholder: 이 티들러에 대한 텍스트를 입력하세요\nBody/Preview/Type/Output: 출력\nField/Remove/Caption: 필드 제거\nField/Remove/Hint: 필드를 제거합니다\nFields/Add/Button: 추가\nFields/Add/Dropdown/System: 시스템 필드\nFields/Add/Dropdown/User: 사용자 필드\nFields/Add/Name/Placeholder: 필드 이름\nFields/Add/Prompt: 새 필드 추가:\nFields/Add/Value/Placeholder: 필드 값\nShadow/OverriddenWarning: 이것은 수정된 섀도우 티들러입니다. 이 티들러를 삭제하여 <<pluginLink>> 플러그인의 기본 판으로 되돌릴 수 있습니다\nShadow/Warning: 이것은 섀도우 티들러입니다. 어떠한 바뀜도 <<pluginLink>> 플러그인에서의 기본 판을 덮어쓰게 됩니다\nTags/Add/Button: 추가\nTags/Add/Placeholder: 태그 이름\nTags/Dropdown/Caption: 태그 목록\nTags/Dropdown/Hint: 태그 목록을 보여줍니다\nTitle/BadCharacterWarning: 경고: 티들러 제목에 문자 <<bad-chars>> 의 사용은 피하십시오\nType/Delete/Caption: 내용 형식 삭제\nType/Delete/Hint: 내용 형식을 삭제합니다\nType/Dropdown/Caption: 내용 형식 목록\nType/Dropdown/Hint: 내용 형식 목록을 보여줍니다\nType/Placeholder: 내용 형식\nType/Prompt: 형식:\n"
  },
  {
    "path": "languages/ko-KR/Exporters.multids",
    "content": "title: $:/language/Exporters/\n\nCsvFile: CSV 파일\nJsonFile: JSON 파일\nStaticRiver: 정적 HTML\nTidFile: \".tid\" 파일\n"
  },
  {
    "path": "languages/ko-KR/Fields.multids",
    "content": "title: $:/language/Docs/Fields/\n\n_canonical_uri: 바깥 그림 티들러의 전체 URI\nbag: 티들러의 유래가 된 가방 이름\ncaption: 탭이나 버튼에 표시할 텍스트\ncolor: 티들러와 연관된 CSS 색 값\ncomponent: [[경보 티들러|AlertMechanism]]에 대해 담당하는 구성 요소의 이름\ncreated: 티들러가 만들어진 날짜\ncreator: 티들러를 만든 사람의 이름\ncurrent-tiddler: [[역사 목록|HistoryMechanism]]에서 최상위 티들러를 캐시하는 데 사용\ndependents: 플러그인에 대해, 종속된 플러그인 제목을 나열\ndescription: 플러그인에 대한 설명문, 또는 모달 대화 상자\ndraft.of: 초안 티들러에 대해, 초안인 티들러의 제목을 포함\ndraft.title: 초안 티들러에 대해, 티들러의 제안된 새 제목을 포함\nfooter: 마법사를 위한 바닥글 텍스트\nicon: 티들러와 연관된 아이콘을 포함하는 티들러의 제목\nlibrary: \"yes\"로 설정하면 티들러가 자바스크립트 라이브러리로 저장해야하는지 나타냄\nlist: 티들러와 연관된 티들러 제목의 정렬된 목록\nlist-after: 설정하면, 티들러가 정렬된 목록 뒤에 추가해야 하는 티들러 제목\nlist-before: 설정하면, 티들러의 정렬된 목록 앞에, 또는 이 필드에 빈 문자열이 들어 있지 않으면 목록의 시작에서 추가해야 하는 티들러 제목\nmodified: 티들러가 마지막으로 수정된 날짜 및 시간\nmodifier: 티들러를 마지막으로 수정한 사람과 관련된 티들러 제목\nname: 플러그인 티들러와 연관된 사람이 읽을 수 있는 이름\nplugin-priority: 플러그인 티들러의 우선 순위를 나타내는 숫자 값\nplugin-type: 플러그인 티들러에서 플러그인의 형식\nreleased: 티들리위키 배포 날짜\nrevision: 서버에 열린 티들러의 판\nsource: 티들러와 연관된 원본 URL\nsubtitle: 마법사를 위한 부제목 텍스트\ntags: 티들러와 연관된 태그의 목록\ntext: 티들러의 본문\ntitle: 티들러의 고유 이름\ntype: 티들러의 내용 형식\nversion: 플러그인에 대한 버전 정보\n"
  },
  {
    "path": "languages/ko-KR/Filters.multids",
    "content": "title: $:/language/Filters/\n\nAllTags: 시스템 태그를 제외한 모든 태그\nAllTiddlers: 시스템 태그를 제외한 모든 티들러\nDrafts: 초안 티들러\nMissing: 없는 티들러\nOrphans: 외톨이 티들러\nOverriddenShadowTiddlers: 덮어쓴 섀도우 티들러\nRecentSystemTiddlers: 시스템 티들러를 포함하여, 최근에 수정된 티들러\nRecentTiddlers: 최근에 수정된 티들러\nShadowTiddlers: 섀도우 티들러\nSystemTags: 시스템 태그\nSystemTiddlers: 시스템 티들러\nTypedTiddlers: 위키 텍스트가 없는 티들러\n"
  },
  {
    "path": "languages/ko-KR/GettingStarted.tid",
    "content": "title: GettingStarted\n\n\\define lingo-base() $:/language/ControlPanel/Basics/\n티들리위키와 티들리위키 공동체에 오신 것을 환영합니다\n\n티들리위키에 중요한 정보를 저장하는 것을 시작하기 전에 확실히 바뀜을 저장할 수 있는지 확인하는 것이 중요합니다. 자세한 사항은 [[https://tiddlywiki.com/#GettingStarted]]를 보세요\n\n!! 이 티들리위키 설정하기\n\n<div class=\"tc-control-panel\">\n\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\n더 많은 옵션에 대해서는 [[제어판|$:/ControlPanel]]을 보세요.\n"
  },
  {
    "path": "languages/ko-KR/Help/build.tid",
    "content": "title: $:/language/Help/build\ndescription: 구성된 명령을 자동으로 실행합니다\n\n현재 위키에 지정한 빌드 대상을 빌드합니다. 빌드할 대상을 지정하지 않으면 모든 사용할 수 있는 대상을 빌드합니다.\n\n```\n--build <대상> [<대상> ...]\n```\n\n빌드 대상은 위키 폴더의 `tiddlywiki.info` 파일에 정의되어 있습니다.\n\n"
  },
  {
    "path": "languages/ko-KR/Help/clearpassword.tid",
    "content": "title: $:/language/Help/clearpassword\ndescription: 후속 암호화 조작을 하기 위해 비밀번호를 지웁니다\n\n후속 암호화 조작을 하기 위해 비밀번호를 지웁니다\n\n```\n--clearpassword\n```\n"
  },
  {
    "path": "languages/ko-KR/Help/default.tid",
    "content": "title: $:/language/Help/default\ndescription: \n\n\\define commandTitle()\n$:/language/Help/$(command)$\n\\end\n```\n사용법: tiddlywiki [<위키폴더>] [--<명령> [<인수>...]...]\n```\n\n사용할 수 있는 명령:\n\n<ul>\n<$list filter=\"[commands[]sort[title]]\" variable=\"command\">\n<li><$link to=<<commandTitle>>><$macrocall $name=\"command\" $type=\"text/plain\" $output=\"text/plain\"/></$link>: <$transclude tiddler=<<commandTitle>> field=\"description\"/></li>\n</$list>\n</ul>\n\n명령에 대한 자세한 도움말을 얻으려면:\n\n```\ntiddlywiki --help <명령>\n```\n"
  },
  {
    "path": "languages/ko-KR/Help/editions.tid",
    "content": "title: $:/language/Help/editions\ndescription: 티들리위키의 사용할 수 있는 에디션을 나열합니다\n\n사용할 수 있는 에디션의 이름과 설명을 나열합니다. `--init` 명령으로 지정한 에디션의 새 위키를 만들 수 있습니다.\n\n```\n--editions\n```\n"
  },
  {
    "path": "languages/ko-KR/Help/help.tid",
    "content": "title: $:/language/Help/help\ndescription: 티들리위키 명령에 대한 도움말을 표시합니다\n\n명령에 대한 도움말 텍스트를 표시합니다:\n\n```\n--help [<명령>]\n```\n\n명령 이름을 생략하면 사용할 수 있는 명령의 목록이 표시됩니다.\n"
  },
  {
    "path": "languages/ko-KR/Help/init.tid",
    "content": "title: $:/language/Help/init\ndescription: 새 위키 폴더를 초기화합니다\n\n빈 [[위키폴더|WikiFolders]]를 초기화하고 지정한 에디션을 복사합니다.\n\n```\n--init <에디션> [<에디션> ...]\n```\n\n예를 들어:\n\n```\ntiddlywiki ./MyWikiFolder --init empty\n```\n\n참고:\n\n* 필요하다면 위키 폴더 디렉터리가 만들어집니다\n* \"에디션\" 기본값은 ''empty''입니다\n* init 명령은 위키 폴더가 비어 있지 않으면 실패합니다\n* init 명령은 에디션의 `tiddlywiki.info` 파일에 정의된 모든 `includeWikis`를 제거합니다\n* 여러 에디션이 지정되어 있을 때, 이른 에디션의 공유된 파일을 마지막 초기화 에디션으로 덮어쓰게 됩니다 (그래서, 마지막 `tiddlywiki.info` 파일은 마지막 에디션에서 복사됩니다)\n* `--editions`는 사용할 수 있는 에디션의 목록을 반환합니다\n"
  },
  {
    "path": "languages/ko-KR/Help/load.tid",
    "content": "title: $:/language/Help/load\ndescription: 파일에서 티들러를 불러옵니다\n\n2.x.x 티들리위키 파일 (`.html`), `.tiddler`, `.tid`, `.json` 또는 다른 파일에서 티들러를 불러옵니다\n\n```\n--load <파일경로>\n```\n\n암호화된 티들리위키 파일에서 티들러를 불러오려면 먼저 비밀번호명령으로 비밀번호를 지정해야 합니다. 예를 들어:\n\n```\ntiddlywiki ./MyWiki --password pa55w0rd --load my_encrypted_wiki.html\n```\n\n티들리위키는 이미 불러온 플러그인의 오래된 버전을 불러오지 않음을 참고하세요.\n"
  },
  {
    "path": "languages/ko-KR/Help/makelibrary.tid",
    "content": "title: $:/language/Help/makelibrary\ndescription: 업그레이드 과정에 필요한 라이브러리 플러그인을 구축합니다\n\n업그레이드 과정에 `$:/UpgradeLibrary` 티들러를 구축합니다.\n\n업그레이드 라이브러리의 형식은 `library` 플러그인 형식과 일반 플러그인 티들러입니다. 티들리위키5 저장소 안에서 사용할 수 있는 각 플러그인, 테마 및 언어 팩의 복사본을 포함합니다.\n\n이 명령은 내부 사용을 하는 것을 상정한 것이며; 사용자 정의 업그레이드 절차를 구축하는 사용자에게만 관련이 있습니다.\n\n```\n--makelibrary <제목>\n```\n\n제목 인수의 기본값은 `$:/UpgradeLibrary`입니다.\n"
  },
  {
    "path": "languages/ko-KR/Help/notfound.tid",
    "content": "title: $:/language/Help/notfound\ndescription: \n\n이러한 도움말 항목은 없습니다"
  },
  {
    "path": "languages/ko-KR/Help/output.tid",
    "content": "title: $:/language/Help/output\ndescription: 후속 명령의 기본 출력 디렉터리를 설정합니다\n\n후속 명령의 기본 출력 디렉터리를 설정합니다. 기본 출력 디렉터리는 에디션 디렉터리의 `output` 하위 디렉터리입니다.\n\n```\n--output <경로이름>\n```\n\n지정된 경로이름이 상대적이면 현재 작업 디렉터리로부터 상대적으로 해석됩니다. 예를 들어 `--output .`은 현재 작업 디렉터리로 출력 디렉터리를 설정합니다.\n\n"
  },
  {
    "path": "languages/ko-KR/Help/password.tid",
    "content": "title: $:/language/Help/password\ndescription: 후속 암호화 조작을 하기 위해 비밀번호를 설정합니다\n\n후속 암호화 조작을 하기 위해 비밀번호를 설정합니다\n\n```\n--password <비밀번호>\n```\n\n''참고'': 이것은 비밀번호로 보호된 티들리위키를 서버에 넣어 사용해서는 안됩니다. 대신, [[서버명령|ServerCommand]]에 따른 비밀번호 옵션을 보세요.\n"
  },
  {
    "path": "languages/ko-KR/Help/rendertiddler.tid",
    "content": "title: $:/language/Help/rendertiddler\ndescription: 지정된 내용형식으로 개별 티들러를 렌더합니다\n\n지정된 내용형식으로 개별 티들러를 렌더합니다, 기본값은 `text/html`이며 지정된 파일이름으로 저장합니다. 선택적으로 틀을 지정할 수 있으며, 이 경우 틀 티들러가 렌더되는 티들러로 \"currentTiddler\" 변수 집합으로 렌더됩니다. (첫 매개변수 값)\n\n```\n--rendertiddler <제목> <파일이름> [<형식>] [<틀>]\n```\n\n기본적으로, 파일이름은 에디션 디렉터리의 `output` 하위 디렉터리로 상대적으로 해석됩니다. `--output` 명령은 다른 디렉터리로 직접 출력하는 데 사용할 수 있습니다.\n\n파일이름으로의 경로에 없는 디렉터리는 자동으로 만들어집니다.\n"
  },
  {
    "path": "languages/ko-KR/Help/rendertiddlers.tid",
    "content": "title: $:/language/Help/rendertiddlers\ndescription: 지정된 내용형식으로 필터와 일치하는 티들러를 렌더합니다\n\n지정된 내용형식 (기본값은 `text/html`)과 확장 기능 (기본값은 `.html`)의 파일을 구분하는 필터와 일치하는 티들러의 집합을 렌더합니다.\n\n```\n--rendertiddlers <필터> <틀> <경로이름> [<형식>] [<확장기능>] [\"noclean\"]\n```\n\n예를 들어:\n\n```\n--rendertiddlers [!is[system]] $:/core/templates/static.tiddler.html ./static text/plain\n```\n\n기본적으로, 경로이름은 에디션 디렉터리의 `output` 하위 디렉터리로 상대적으로 해석됩니다. `--output` 명령은 다른 디렉터리로 직접 출력하는 데 사용할 수 있습니다.\n\n''noclean'' 플래그를 지정하지 않는 한 대상 디렉터리의 모든 파일이 삭제됩니다. 대상 디렉터리가 없으면 재귀적으로 만들어집니다.\n"
  },
  {
    "path": "languages/ko-KR/Help/savetiddler.tid",
    "content": "title: $:/language/Help/savetiddler\ndescription: 파일로의 raw 티들러를 저장합니다\n\n지정한 파일이름으로 raw 텍스트 또는 바이너리 형식의 개별 티들러를 저장합니다.\n\n```\n--savetiddler <제목> <파일이름>\n```\n\n기본적으로, 파일이름은 에디션 디렉터리의 `output` 하위 디렉터리로 상대적으로 해석됩니다. `--output` 명령은 다른 디렉터리로 직접 출력하는 데 사용할 수 있습니다.\n\n파일이름으로의 경로에 없는 디렉터리는 자동으로 만들어집니다.\n"
  },
  {
    "path": "languages/ko-KR/Help/savetiddlers.tid",
    "content": "title: $:/language/Help/savetiddlers\ndescription: 디렉터리로의 raw 티들러의 그룹을 저장합니다\n\n지정한 디렉터리로 raw 텍스트 또는 바이너리 형식의 티들러의 그룹을 저장합니다.\n\n```\n--savetiddlers <필터> <경로이름> [\"noclean\"]\n```\n\n기본적으로, 경로이름은 에디션 디렉터리의 `output` 하위 디렉터리로 상대적으로 해석됩니다. `--output` 명령은 다른 디렉터리로 직접 출력하는 데 사용할 수 있습니다.\n\n출력 디렉터리에는 지정된 파일을 저장하기 전에 기존 파일이 지워집니다. 삭제는 ''noclean'' 플래그를 지정하여 비활성화할 수 있습니다.\n\n경로이름에 없는 디렉터리는 자동으로 만들어집니다.\n"
  },
  {
    "path": "languages/ko-KR/Help/server.tid",
    "content": "title: $:/language/Help/server\ndescription: 티들리위키로 HTTP 서버 인터페이스를 제공합니다\n\n티들리위키5에 내장된 서버는 매우 간단합니다. 티들리웹과는 호환할 수 있지만 안정적으로 인터넷에 연결하여 사용하는 데 필요한 많은 기능을 지원하지 않습니다.\n\n루트에서, 지정한 티들러를 렌더하여 제공합니다. 루트 이외에는, JSON으로 인코딩된 개별 티들러를 제공하고, `GET`, `PUT` 및 `DELETE`의 기본 HTTP 운영을 지원합니다.\n\n```\n--server <포트> <루트티들러> <렌더형식> <제공형식> <사용자이름> <비밀번호> <호스트> <경로접두어>\n```\n\n매개변수는 다음과 같습니다:\n\n* ''포트'' - 제공할 포트 번호 (기본값은 \"8080\")\n* ''루트티들러'' - 루트에서 제공할 티들러 (기본값은 \"$:/core/save/all\")\n* ''렌더형식'' - 루트 티들러가 렌더해야 하는 내용 형식 (기본값은 \"text/plain\")\n* ''제공형식'' - 루트 티들러가 제공해야 하는 내용 형식 (기본값은 \"text/html\")\n* ''사용자이름'' - 편집에 서명하기 위한 기본 사용자 이름\n* ''비밀번호'' - 선택 사항 기본 인증을 위한 비밀번호\n* ''호스트'' - 선택 사항 제공하는 호스트 이름 (기본값은 \"127.0.0.1\" 즉 \"localhost\")\n* ''경로접두어'' - 선택 사항 경로의 접두어\n\n비밀번호 매개변수가 지정되어 있다면 브라우저는 사용자에게 사용자이름과 비밀번호를 프롬프트할 것입니다. 비밀번호는 일반 텍스트로 전송되므로 일반적으로 사용하기에 적합하지 않음을 참고하세요.\n\n예를 들어:\n\n```\n--server 8080 $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n\n호스트이름 또는 경로접두어를 설정해야 하고 비밀번호가 필요하지 않는다면 사용자이름과 비밀번호는 빈 문자열로 지정할 수 있습니다:\n\n```\n--server 8080 $:/core/save/all text/plain text/html \"\" \"\" 192.168.0.245\n```\n\n동시에 여러 티들리위키 서버를 실행하려면 각각 다른 포트를 할당해야 합니다.\n"
  },
  {
    "path": "languages/ko-KR/Help/setfield.tid",
    "content": "title: $:/language/Help/setfield\ndescription: 바깥 티들러를 사용할 준비를 합니다\n\n//이 명령은 실험 기능으로 향후 바뀔 수 있음을 참고하세요//\n\n티들러로의 `currentTiddler` 변수 집합으로 틀 티들러의 내용을 티들러의 그룹의 지정된 필드에 설정합니다.\n\n```\n--setfield <필터> <필드이름> <틀제목> <렌더형식>\n```\n\n매개변수는 다음과 같습니다:\n\n* ''필터'' - 명령의 대상이 되는 필터를 식별하는 티들러\n* ''필드이름'' - 수정할 필드 (기본값은 \"text\")\n* ''틀제목'' - 지정된 필드에 기록하는 바탕이 되는 티들러. 비어 있거나 없으면 지정한 필드가 삭제됩니다\n* ''렌더형식'' - 렌더할 텍스트 형식 (기본값은 \"text/plain\"입니다; \"text/html\"에는 HTML 태그가 포함되어 사용할 수 있습니다)\n\n"
  },
  {
    "path": "languages/ko-KR/Help/unpackplugin.tid",
    "content": "title: $:/language/Help/unpackplugin\ndescription: 플러그인에 포함되어 있는 티들러의 압축을 풉니다\n\n플러그인에 포함되어 있는 티들러의 압축을 풀어 일반 티들러로 만듭니다:\n\n```\n--unpackplugin <제목>\n```\n"
  },
  {
    "path": "languages/ko-KR/Help/verbose.tid",
    "content": "title: $:/language/Help/verbose\ndescription: 트리거의 상세한 출력 모드\n\n디버깅에 유용한, 트리거의 상세한 출력\n\n```\n--verbose\n```\n"
  },
  {
    "path": "languages/ko-KR/Help/version.tid",
    "content": "title: $:/language/Help/version\ndescription: 티들리위키의 버전 번호를 표시합니다\n\n티들리위키의 버전 번호를 표시합니다.\n\n```\n--version\n```\n"
  },
  {
    "path": "languages/ko-KR/Import.multids",
    "content": "title: $:/language/Import/\n\nImported/Hint:  다음 티들러를 가져왔습니다:\nListing/Cancel/Caption: 취소\nListing/Hint: 이 티들러는 가져올 준비가 되었습니다:\nListing/Import/Caption: 가져오기\nListing/Select/Caption: 선택\nListing/Status/Caption: 상태\nListing/Title/Caption: 제목\nUpgrader/Plugins/Suppressed/Incompatible: 호환되지 않거나 오래된 플러그인을 차단했습니다\nUpgrader/Plugins/Suppressed/Version: (가져온 <<incoming>> 플러그인이 존재하는 <<existing>> 플러그인보다 오래되었기 때문에) 플러그인을 차단했습니다\nUpgrader/Plugins/Upgraded: 플러그인을 <<incoming>>에서 <<upgraded>>(으)로 업그레이드했습니다\nUpgrader/State/Suppressed: 임시 상태 티들러를 차단했습니다\nUpgrader/System/Suppressed: 시스템 티들러를 차단했습니다\nUpgrader/ThemeTweaks/Created: <$text text=<<from>>/>에서 테마 트윅을 마이그레이션했습니다\n"
  },
  {
    "path": "languages/ko-KR/Misc.multids",
    "content": "title: $:/language/\n\nAboveStory/ClassicPlugin/Warning: 티들리위키 클래식용으로 설계된 플러그인을 불러오려고 하는 것 같아 보입니다. [[이러한 플러그인은 티들리위키 버전 5.x.x에 동작하지 않음|https://tiddlywiki.com/#TiddlyWikiClassic]]을 참고하세요. 티들리위키 클래식 플러그인이 감지되었습니다:\nBinaryWarning/Prompt: 이 티들러는 바이너리 데이터를 포함합니다\nClassicWarning/Hint: 이 티들러는 티들리위키 클래식 위키 텍스트 형식으로 쓰여져 있으며, 티들리위키 버전 5와 완전히 호환되지 않습니다. 자세한 사항은 [[https://tiddlywiki.com/static/Upgrading.html]]을 보세요.\nClassicWarning/Upgrade/Caption: 업그레이드\nCloseAll/Button: 모두 닫기\nColourPicker/Recent: 최근:\nConfirmCancelTiddler: \"<$text text=<<title>>/>\" 티들러의 바뀜을 버리겠습니까?\nConfirmDeleteTiddler: \"<$text text=<<title>>/>\" 티들러를 삭제하겠습니까?\nConfirmEditShadowTiddler: 섀도우티들러를 편집하려고 합니다. 어떠한 바뀜도 향후 업그레이드가 하찮지 않게 하는 기본 시스템을 덮어씁니다. \"<$text text=<<title>>/>\" 티들러를 편집하겠습니까?\nConfirmOverwriteTiddler: \"<$text text=<<title>>/>\" 티들러를 덮어쓰겠습니까?\nCount: 횟수\nDefaultNewTiddlerTitle: 새 티들러\nDropMessage: 여기에 놓기 (또는 취소하려면 'Escape' 키 사용)\nEncryption/Cancel: 취소\nEncryption/ConfirmClearPassword: 비밀번호를 지우겠습니까? 이 위키를 저장할 때 적용된 암호화를 제거합니다\nEncryption/Password: 비밀번호\nEncryption/PasswordNoMatch: 비밀번호가 일치하지 않습니다\nEncryption/PromptSetPassword: 이 티들리위키에 대한 새 비밀번호를 설정합니다\nEncryption/RepeatPassword: 비밀번호 다시 입력\nEncryption/SetPassword: 비밀번호 설정\nEncryption/Username: 사용자 이름\nError/Caption: 오류\nError/Filter: 필터 오류\nError/FilterSyntax: 필터 표현식에서 구문 오류\nError/IsFilterOperator: 필터 오류: 'is' 필터 연산자에 대한 알 수 없는 피연산자\nError/LoadingPluginLibrary: 플러그인 라이브러리를 불러오는 중 오류\nError/RecursiveTransclusion: 끼워넣기 위젯에서 재귀 끼워넣기 오류\nError/RetrievingSkinny: 날씬한 티들러 목록을 얻는 중 오류\nError/SavingToTWEdit: TW편집으로 저장하는 데 오류\nError/WhileSaving: 저장하는 동안 오류\nError/XMLHttpRequest: XMLHttpRequest 오류 코드\nInternalJavaScriptError/Hint: 아이 창피해. 브라우저를 새로 고쳐 티들리위키를 다시 시작할 것을 권장합니다\nInternalJavaScriptError/Title: 내부 자바스크립트 오류\nLazyLoadingWarning: <p>''<$text text={{!!_canonical_uri}}/>''에서 바깥 텍스트를 불러오는 중입니다</p><p>이 메시지가 사라지지 않으면 이 구성에서 바깥 텍스트를 지원하지 않는 브라우저를 사용하고 있을 수 있습니다. [[https://tiddlywiki.com/#ExternalText]]를 보세요</p>\nLoginToTiddlySpace: TiddlySpace에 로그인\nMissingTiddler/Hint: \"<$text text=<<currentTiddler>>/>\" 티들러가 없습니다 - 만드려면 {{||$:/core/ui/Buttons/edit}}을 클릭하세요\nNo: 아니오\nOfficialPluginLibrary: 공식 티들리위키 플러그인 라이브러리\nOfficialPluginLibrary/Hint: tiddlywiki.com에서의 공식 티들리위키 플러그인 라이브러리입니다. 플러그인, 테마 및 언어 팩은 코어 팀이 유지 관리하고 있습니다.\nPluginReloadWarning: 플러그인의 바뀜을 적용할 수 있도록 하려면 저장 {{$:/core/ui/Buttons/save-wiki}}하고 나서 다시 불러오세요 {{$:/core/ui/Buttons/refresh}}\nRecentChanges/DateFormat: YYYY년 MMM DD일\nSystemTiddler/Tooltip: 이것은 시스템 티들러입니다\nTagManager/Colour/Heading: 색\nTagManager/Count/Heading: 횟수\nTagManager/Icon/Heading: 아이콘\nTagManager/Info/Heading: 정보\nTagManager/Tag/Heading: 태그\nTiddler/DateFormat: YYYY년 MMM DD일 am hh12:0mm\nUnsavedChangesWarning: 티들리위키에 저장하지 않은 바뀜이 있습니다\nYes: 예\n"
  },
  {
    "path": "languages/ko-KR/Modals/Download.tid",
    "content": "title: $:/language/Modals/Download\ntype: text/vnd.tiddlywiki\nsubtitle: 바뀜 다운로드\nfooter: <$button message=\"tm-close-tiddler\">{{$:/language/Buttons/Close/Caption}}</$button>\nhelp: https://tiddlywiki.com/static/DownloadingChanges.html\n\n브라우저가 수동 저장만을 지원합니다.\n\n수정된 위키를 저장하려면, 아래 다운로드 링크를 오른쪽 클릭하여 \"파일 다운로드\" 또는 \"파일 저장\"을 선택하고 나서 폴더와 파일 이름을 선택하세요.\n\n//control 키 (Windows) 또는 options/alt 키 (OS X)로 링크를 클릭하여 좀 더 빨리 할 수 있습니다. 폴더 또는 파일 이름을 선택하라고 표시되지 않을 것이지만, 브라우저가 인식할 수 없는 이름을 줄 수도 있습니다 -- 유용하게 쓸 수 있기 전에 `.html` 확장자를 포함하는 파일 이름으로 바꿔야 할 수 있습니다.//\n\n파일 다운로드를 허용하지 않는 스마트폰에서는 링크를 북마크한 다음 위키가 정상적으로 저장할 수 있는 데스크톱 컴퓨터에 북마크를 동기화할 수 있습니다.\n"
  },
  {
    "path": "languages/ko-KR/NewJournal.multids",
    "content": "title: $:/config/NewJournal/\n\nTags: 일지\nTitle: YYYY년 MMM DD일\n"
  },
  {
    "path": "languages/ko-KR/Notifications.multids",
    "content": "title: $:/language/Notifications/\n\nSave/Done: 위키를 저장했습니다\nSave/Starting: 위키 저장을 시작하는 중\n"
  },
  {
    "path": "languages/ko-KR/Search.multids",
    "content": "title: $:/language/Search/\n\nDefaultResults/Caption: 목록\nFilter/Caption: 필터\nFilter/Hint: [[필터 표현식|https://tiddlywiki.com/static/Filters.html]]을 통해 검색합니다\nFilter/Matches: //<small><<resultCount>>개 일치</small>//\nMatches: //<small><<resultCount>>개 일치</small>//\nMatches/All: 모든 일치:\nMatches/Title: 제목 일치:\nSearch: 검색\nShadows/Caption: 섀도우\nShadows/Hint: 섀도우 티들러에 대해 검색합니다\nShadows/Matches: //<small><<resultCount>>개 일치</small>//\nStandard/Caption: 표준\nStandard/Hint: 표준 티들러에 대해 검색합니다\nStandard/Matches: //<small><<resultCount>>개 일치</small>//\nSystem/Caption: 시스템\nSystem/Hint: 시스템 티들러에 대해 검색합니다\nSystem/Matches: //<small><<resultCount>>개 일치</small>//\n"
  },
  {
    "path": "languages/ko-KR/SideBar.multids",
    "content": "title: $:/language/SideBar/\n\nAll/Caption: 모두\nContents/Caption: 목차\nDrafts/Caption: 초안\nMissing/Caption: 없음\nMore/Caption: 더 보기\nOpen/Caption: 열기\nOrphans/Caption: 외톨이\nRecent/Caption: 최근\nShadows/Caption: 섀도우\nSystem/Caption: 시스템\nTags/Caption: 태그\nTags/Untagged/Caption: 태그되지 않음\nTools/Caption: 도구\nTypes/Caption: 형식\n"
  },
  {
    "path": "languages/ko-KR/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\n줄 없는 개인 웹 공책"
  },
  {
    "path": "languages/ko-KR/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\n내 티들리위키"
  },
  {
    "path": "languages/ko-KR/Snippets/ListByTag.tid",
    "content": "title: $:/language/Snippets/ListByTag\ntags: $:/tags/TextEditor/Snippet\ncaption: 태그별 티들러의 목록\n\n<<list-links \"[tag[task]sort[title]]\">>\n"
  },
  {
    "path": "languages/ko-KR/Snippets/MacroDefinition.tid",
    "content": "title: $:/language/Snippets/MacroDefinition\ntags: $:/tags/TextEditor/Snippet\ncaption: 매크로 정의\n\n\\define macroName(param1:\"기본 값\",param2)\n매크로의 텍스트\n\\end\n"
  },
  {
    "path": "languages/ko-KR/Snippets/Table 4x3.tid",
    "content": "title: $:/language/Snippets/Table4x3\ntags: $:/tags/TextEditor/Snippet\ncaption: 4열 3행으로 된 표\n\n|! |!알파 |!베타 |!감마 |!델타 |\n|!하나 | | | | |\n|!둘 | | | | |\n|!셋 | | | | |\n"
  },
  {
    "path": "languages/ko-KR/Snippets/TableOfContents.tid",
    "content": "title: $:/language/Snippets/TableOfContents\ntags: $:/tags/TextEditor/Snippet\ncaption: 목차\n\n<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'TableOfContents'>>\n\n</div>"
  },
  {
    "path": "languages/ko-KR/ThemeTweaks.multids",
    "content": "title: $:/language/ThemeTweaks/\r\n\r\nThemeTweaks: 테마 개조\r\nThemeTweaks/Hint: ''Vanilla'' 테마의 특정한 면들을 개조할 수 있습니다.\r\nOptions: 옵션\r\nOptions/SidebarLayout: 사이드바 레이아웃\r\nOptions/SidebarLayout/Fixed-Fluid: 고정된 이야기, 흐르는 사이드바\r\nOptions/SidebarLayout/Fluid-Fixed: 흐르는 이야기, 고정된 사이드바\r\nOptions/StickyTitles: 제목 고정\r\nOptions/StickyTitles/Hint: 티들러 제목을 브라우저 창의 위에 \"고정\"합니다. 주의: Chrome으로는 전혀 작동되지 않으며, Firefox에서 일부 레이아웃 문제를 일으킵니다\r\nOptions/CodeWrapping: 코드 블럭에서 긴 줄을 줄바꿈\r\nSettings: 설정\r\nSettings/FontFamily: 글꼴 집합\r\nSettings/CodeFontFamily: 코드 글꼴 집합\r\nSettings/BackgroundImage: 페이지 배경 그림\r\nSettings/BackgroundImageAttachment: 페이지 배경 그림 첨부\r\nSettings/BackgroundImageAttachment/Scroll: 티들러로 스크롤\r\nSettings/BackgroundImageAttachment/Fixed: 창에 고정\r\nSettings/BackgroundImageSize: 페이지 배경 그림 크기\r\nSettings/BackgroundImageSize/Auto: 자동\r\nSettings/BackgroundImageSize/Cover: 덮개\r\nSettings/BackgroundImageSize/Contain: 포함\r\nMetrics: 크기\r\nMetrics/FontSize: 글자 크기\r\nMetrics/LineHeight: 줄 높이\r\nMetrics/BodyFontSize: 티들러 본문의 글자 크기\r\nMetrics/BodyLineHeight: 티들러 본문의 줄 높이\r\nMetrics/StoryLeft: 이야기 왼쪽 위치\r\nMetrics/StoryLeft/Hint: 이야기 강(티들러 영역)의 왼쪽 여백은<br>페이지의 왼쪽에서 얼마나 멉니까\r\nMetrics/StoryTop: 이야기 위 위치\r\nMetrics/StoryTop/Hint: 이야기 강의 위 여백은 페이지의 위에서<br>얼마나 멉니까\r\nMetrics/StoryRight: 이야기 오른쪽\r\nMetrics/StoryRight/Hint: 사이드바의 인쪽 여백은 페이지의<br>왼쪽에서 얼마나 멉니까\r\nMetrics/StoryWidth: 이야기 너비\r\nMetrics/StoryWidth/Hint: 이야기 강의 전반적인 너비\r\nMetrics/TiddlerWidth: 티들러 너비\r\nMetrics/TiddlerWidth/Hint: 이야기 강에서\r\nMetrics/SidebarBreakpoint: 사이드바 중단점\r\nMetrics/SidebarBreakpoint/Hint: 이야기 강과 사이드바가 나란이 나타나는<br>최소 페이지 너비\r\nMetrics/SidebarWidth: 사이드바 너비\r\nMetrics/SidebarWidth/Hint: 흐르는-고정된 레이아웃에서 사이드바의 너비\r\n"
  },
  {
    "path": "languages/ko-KR/TiddlerInfo.multids",
    "content": "title: $:/language/TiddlerInfo/\n\nAdvanced/Caption: 고급\nAdvanced/PluginInfo/Empty/Hint: 없음\nAdvanced/PluginInfo/Heading: 플러그인 자세한 사항\nAdvanced/PluginInfo/Hint: 이 플러그인은 다음 섀도우 티들러를 포함합니다:\nAdvanced/ShadowInfo/Heading: 섀도우 상태\nAdvanced/ShadowInfo/NotShadow/Hint: <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> 티들러는 섀도우 티들러가 아닙니다\nAdvanced/ShadowInfo/OverriddenShadow/Hint: 일반 티들러를 덮어쓰고 있습니다\nAdvanced/ShadowInfo/Shadow/Hint: <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> 티들러는 섀도우 티들러입니다\nAdvanced/ShadowInfo/Shadow/Source: <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link> 플러그인에 정의되어 있습니다\nFields/Caption: 필드\nList/Caption: 목록\nList/Empty: 이 티들러는 목록에 없습니다\nListed/Caption: 나열됨\nListed/Empty: 이 티들러는 어떠한 것에도 나열되어 있지 않습니다\nReferences/Caption: 참조\nReferences/Empty: 이 티들러를 가리키는 것이 없습니다\nTagging/Caption: 태그함\nTagging/Empty: 이 티들러로 태그된 것이 없습니다\nTools/Caption: 도구\n"
  },
  {
    "path": "languages/ko-KR/Types/application%2Fjavascript.tid",
    "content": "title: $:/language/Docs/Types/application/javascript\ndescription: 자바스크립트 코드\nname: application/javascript\ngroup: 개발자\n"
  },
  {
    "path": "languages/ko-KR/Types/application%2Fjson.tid",
    "content": "title: $:/language/Docs/Types/application/json\ndescription: JSON 데이터\nname: application/json\ngroup: 개발자\n"
  },
  {
    "path": "languages/ko-KR/Types/application%2Fx-tiddler-dictionary.tid",
    "content": "title: $:/language/Docs/Types/application/x-tiddler-dictionary\ndescription: 데이터 사전\nname: application/x-tiddler-dictionary\ngroup: 개발자\n"
  },
  {
    "path": "languages/ko-KR/Types/image%2Fgif.tid",
    "content": "title: $:/language/Docs/Types/image/gif\ndescription: GIF 그림\nname: image/gif\ngroup: 그림\n"
  },
  {
    "path": "languages/ko-KR/Types/image%2Fjpeg.tid",
    "content": "title: $:/language/Docs/Types/image/jpeg\ndescription: JPEG 그림\nname: image/jpeg\ngroup: 그림\n"
  },
  {
    "path": "languages/ko-KR/Types/image%2Fpng.tid",
    "content": "title: $:/language/Docs/Types/image/png\ndescription: PNG 그림\nname: image/png\ngroup: 그림\n"
  },
  {
    "path": "languages/ko-KR/Types/image%2Fsvg%2Bxml.tid",
    "content": "title: $:/language/Docs/Types/image/svg+xml\ndescription: Structured Vector Graphics 그림\nname: image/svg+xml\ngroup: 그림\n"
  },
  {
    "path": "languages/ko-KR/Types/text%2Fcss.tid",
    "content": "title: $:/language/Docs/Types/text/css\ndescription: 정적 스타일시트\nname: text/css\ngroup: 개발자\n"
  },
  {
    "path": "languages/ko-KR/Types/text%2Fhtml.tid",
    "content": "title: $:/language/Docs/Types/text/html\ndescription: HTML 마크업\nname: text/html\ngroup: 텍스트\n"
  },
  {
    "path": "languages/ko-KR/Types/text%2Fplain.tid",
    "content": "title: $:/language/Docs/Types/text/plain\ndescription: 일반 텍스트\nname: text/plain\ngroup: 텍스트\n"
  },
  {
    "path": "languages/ko-KR/Types/text%2Fvnd.tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/vnd.tiddlywiki\ndescription: 티들리위키 5\nname: text/vnd.tiddlywiki\ngroup: 텍스트\n"
  },
  {
    "path": "languages/ko-KR/plugin.info",
    "content": "{\n\t\"title\": \"$:/languages/ko-KR\",\n\t\"name\": \"ko-KR\",\n\t\"plugin-type\": \"language\",\n\t\"description\": \"한국어 (대한민국)\",\n\t\"author\": \"Myeongjin\",\n\t\"core-version\": \">=5.1.4\"\n}\n"
  },
  {
    "path": "languages/mk-MK/Buttons.multids",
    "content": "title: $:/language/Buttons/\n\nAdvancedSearch/Caption: напредно пребарување\nAdvancedSearch/Hint: Напредно пребарување\nBold/Caption: здебелен\nBold/Hint: Здебелен формат на селекција\nCancel/Caption: откажи\nCancel/Hint: Отстрани ги промените\nClear/Caption: исчисти\nClear/Hint: Исчисти ја сликата во еднобојна позадина\nClone/Caption: клонирај\nClone/Hint: Клонирај го овој запис\nClose/Caption: затвори\nClose/Hint: Затвори запис\nCloseAll/Caption: затвори ги сите\nCloseAll/Hint: Затвори ги сите записи\nCloseOthers/Caption: затвори ги другите\nCloseOthers/Hint: Затвори ги сите други записи\nControlPanel/Caption: контролен панел\nControlPanel/Hint: Отвори контролен панел\nCopyToClipboard/Caption: копирај до клипборд\nCopyToClipboard/Hint: Копирај го овој текст до клипборд\nDelete/Caption: избриши\nDelete/Hint: Избриши запис\nDeleteTiddlers/Caption: избриши записи\nDeleteTiddlers/Hint: Избриши записи\nEdit/Caption: промени\nEdit/Hint: Промени запис\nEditorHeight/Caption: димензија на уредник\nEditorHeight/Caption/Auto: Автоматски приспособи ја димензијата за да одговара на содржината\nEditorHeight/Caption/Fixed: Фиксирана димензија:\nEditorHeight/Hint: Одбери димензија за уредникот на текст\nEncryption/Caption: шифрирање\nEncryption/ClearPassword/Caption: избриши лозинка\nEncryption/ClearPassword/Hint: Избриши ја лозинката и зачувај ја оваа википедија без шифрирање\nEncryption/Hint: Постави или избриши лозинка за меморирање на оваа википедија\nEncryption/SetPassword/Caption: постави лозинка\nEncryption/SetPassword/Hint: Постави лозинка за меморирање на оваа википедија со шифрирање\nExcise/Caption: проектирај\nExcise/Caption/Excise: Изврши проекција\nExcise/Caption/MacroName: Име на макро:\nExcise/Caption/NewTitle: Наслов на новиот запис:\nExcise/Caption/Replace: Карактеристика на проектираниот текст:\nExcise/Caption/Replace/Link: линк\nExcise/Caption/Replace/Macro: макро\nExcise/Caption/Replace/Transclusion: огледало\nExcise/Caption/Tag: Означи го новиот запис со насловот од овој запис\nExcise/Caption/TiddlerExists: Предупредување: записот веќе постои\nExcise/Hint: Проектирај селектиран текст во нов запис\nExportPage/Caption: експортирај сè\nExportPage/Hint: Експортирај ги сите записи\nExportTiddler/Caption: експортирај\nExportTiddler/Hint: Експортирај го овој запис\nExportTiddlers/Caption: експортирај записи\nExportTiddlers/Hint: Експортирај записи\nFold/Caption: превиткај запис\nFold/FoldBar/Caption: превиткана хоризонтала\nFold/FoldBar/Hint: Дополнителна хоризонтала за превиткување и одвиткување на записи\nFold/Hint: Превиткај ја содржината на овој запис\nFoldAll/Caption: превиткај ги сите\nFoldAll/Hint: Превиткај ги содржините на сите отворени записи\nFoldOthers/Caption: превиткај ги другите\nFoldOthers/Hint: Превиткај ги содржините на другите отворени записи\nFullScreen/Caption: цел-екран\nFullScreen/Hint: Вклучи или исклучи режим за цел-екран\nHeading1/Caption: наслов 1\nHeading1/Hint: Формат за наслов 1\nHeading2/Caption: наслов 2\nHeading2/Hint: Формат за наслов 2\nHeading3/Caption: наслов 3\nHeading3/Hint: Формат за наслов 3\nHeading4/Caption: наслов 4\nHeading4/Hint: Формат за наслов 4\nHeading5/Caption: наслов 5\nHeading5/Hint: Формат за наслов 5\nHeading6/Caption: наслов 6\nHeading6/Hint: Формат за наслов 6\nHelp/Caption: помош\nHelp/Hint: Прикажи го помошниот панел\nHideSideBar/Caption: скриј странично мени\nHideSideBar/Hint: Сокри го страничното мени\nHome/Caption: почетна\nHome/Hint: Отвори ги почетните записи\nImport/Caption: импортирај\nImport/Hint: Импортирај различни фајлови (текст, слика, ТидлиВики...)\nInfo/Caption: инфо\nInfo/Hint: Прикажи повеќе информации за овој запис\nItalic/Caption: закосен\nItalic/Hint: Закосен формат на селекција\nLanguage/Caption: јазик\nLanguage/Hint: Одбери јазик за интерфејс\nLayoutSwitcher/Caption: распоред\nLayoutSwitcher/Hint: Отвори го менувачот за распоред\nLineWidth/Caption: дебелина\nLineWidth/Hint: Дебелина на четка\nLink/Caption: линк\nLink/Hint: Креирај линк до друг запис\nLinkify/Caption: вики-линк\nLinkify/Hint: Квадратни загради на селекција\nListBullet/Caption: листа со точки\nListBullet/Hint: Листа со точки\nListNumber/Caption: нумерирана листа\nListNumber/Hint: Нумерирана листа\nManager/Caption: менаџер на записи\nManager/Hint: Отвори го менаџерот на записи\nMonoBlock/Caption: еднопростран блок\nMonoBlock/Hint: Еднопростран блок\nMonoLine/Caption: еднопространи\nMonoLine/Hint: Еднопространи карактери\nMore/Caption: повеќе\nMore/Hint: Повеќе опции\nNetworkActivity/Caption: мрежна активност\nNetworkActivity/Hint: Исклучи ги сите мрежни активности\nNewHere/Caption: нов запис оттука\nNewHere/Hint: Креирај нов запис означен со овој запис\nNewImage/Caption: нова слика\nNewImage/Hint: Креирај нова слика\nNewJournal/Caption: ново во дневник\nNewJournal/Hint: Креирај нов запис во дневникот\nNewJournalHere/Caption: ново во дневник оттука\nNewJournalHere/Hint: Креирај нов запис во дневникот означен со овој запис\nNewMarkdown/Caption: нов Markdown запис\nNewMarkdown/Hint: Креирај нов Markdown запис\nNewTiddler/Caption: нов запис\nNewTiddler/Hint: Креирај нов запис\nOpacity/Caption: видливост\nOpacity/Hint: Видливост на боја\nOpenWindow/Caption: отвори во нов прозорец\nOpenWindow/Hint: Отвори го записот во нов прозорец\nPaint/Caption: палета на бои\nPaint/Hint: Одбери боја за цртање\nPalette/Caption: палета\nPalette/Hint: Одбери палета со бои\nPermalink/Caption: директен линк\nPermalink/Hint: Копирај ја адресата за директен линк до овој запис\nPermaview/Caption: директен приказ\nPermaview/Hint: Копирај ја адресата за директен приказ до сите отворени записи\nPicture/Caption: слика\nPicture/Hint: Вметни слика\nPreview/Caption: преглед\nPreview/Hint: Прикажи рендер во уредникот\nPreviewType/Caption: видови на приказ\nPreviewType/Hint: Одбери приказ\nPrint/Caption: принт\nPrint/Hint: Испринтај ги отворените записи\nQuote/Caption: цитат\nQuote/Hint: Цитат\nRefresh/Caption: освежи\nRefresh/Hint: Целосно освежување на отворената википедија\nRotateLeft/Caption: ротирај лево\nRotateLeft/Hint: Ротирај ја сликата за 90 степени\nSave/Caption: во ред\nSave/Hint: Зачувај ги промените\nSaveWiki/Caption: зачувај\nSaveWiki/Hint: Зачувај ги промените\nShowSideBar/Caption: прикажи странично мени\nShowSideBar/Hint: Прикажи го страничното мени\nSidebarSearch/Hint: Избери го полето за пребарување во страничното мени\nSize/Caption: димензии на слика\nSize/Caption/Height: Висина:\nSize/Caption/Resize: Постави димензија\nSize/Caption/Width: Должина:\nSize/Hint: Промени димензија на слика\nStamp/Caption: печат\nStamp/Caption/New: Додади свој фрагмент\nStamp/Hint: Вметни конфигуриран фрагмент\nStamp/New/Text: Запишете го тука текстот на фрагментот. Не заборавајте да додадете име (caption) подолу.\nStamp/New/Title: Име што ќе биде прикажано во листата на фрагменти\nStoryView/Caption: преглед\nStoryView/Hint: Одбери визуелен преглед\nStrikethrough/Caption: прешкртано\nStrikethrough/Hint: Прешкртан формат на селекција\nSubscript/Caption: долна-зона\nSubscript/Hint: Форматирај текст во долна зона\nSuperscript/Caption: горна-зона\nSuperscript/Hint: Форматирај текст во горна зона\nTagManager/Caption: менаџер на ознаки\nTagManager/Hint: Отвори го менаџерот на ознаки\nTheme/Caption: тема\nTheme/Hint: Одбери визуелна тема\nTimestamp/Caption: време\nTimestamp/Hint: Калкулирај го времето додека записите претрпуваат промени\nTimestamp/Off/Caption: исклучено време\nTimestamp/Off/Hint: Не го ажурирај времето додека записите претрпуваат промени\nTimestamp/On/Caption: вклучено време\nTimestamp/On/Hint: Ажурирај го времето додека записите претрпуваат промени\nToggleSidebar/Hint: Вклучи / Исклучи видливост на страничното мени\nTranscludify/Caption: проекција\nTranscludify/Hint: Заокружувачки загради на селекција\nUnderline/Caption: подвлечено\nUnderline/Hint: Подвлечен формат на селекција\nUnfold/Caption: одвиткај запис\nUnfold/Hint: Одвиткај ја содржината на овој запис\nUnfoldAll/Caption: одвиткај ги сите\nUnfoldAll/Hint: Одвиткај ги содржините на сите затворени записи\n"
  },
  {
    "path": "languages/mk-MK/ControlPanel.multids",
    "content": "title: $:/language/ControlPanel/\n\nAdvanced/Caption: Напредно\nAdvanced/Hint: Системски податоци за вашето ТидлиВики\nAppearance/Caption: Изглед\nAppearance/Hint: Различни начини за конфигурирање на изгледот\nBasics/AnimDuration/Prompt: Времетраење на анимација\nBasics/AutoFocus/Prompt: Поле на фокус за нови записи\nBasics/Caption: Основно\nBasics/DefaultTiddlers/BottomHint: Користете &#91;&#91;двојни квадратни загради&#93;&#93; за наслови со повеќе зборови за да направите линкови кога ќе ги запишете. Или можете да изберете {{запомни ги отворените записи||$:/snippets/retain-story-ordering-button}} доколку преферирате при секое вклучување на вашето ТидлиВики да ги видите веднаш оние записи кои сте ги отвориле претходно.\nBasics/DefaultTiddlers/Prompt: Почетни записи\nBasics/DefaultTiddlers/TopHint: Одберете кои записи ќе бидат секогаш отворени\nBasics/Language/Prompt: Одберете јазик:\nBasics/NewJournal/Tags/Prompt: Ознаки за нови записи во дневникот\nBasics/NewJournal/Text/Prompt: Содржина за нови записи во дневникот\nBasics/NewJournal/Title/Prompt: Наслов за нови записи во дневникот\nBasics/NewTiddler/Tags/Prompt: Ознаки за нови записи\nBasics/NewTiddler/Title/Prompt: Наслов за нови записи\nBasics/OverriddenShadowTiddlers/Prompt: Променливи сенки\nBasics/RemoveTags: Ажурирај во моменталниот формат\nBasics/RemoveTags/Hint: Ажурирај ги ознаките во најновиот формат\nBasics/ShadowTiddlers/Prompt: Сенки\nBasics/Subtitle/Prompt: Поднаслов\nBasics/SystemTiddlers/Prompt: Системски\nBasics/Tags/Prompt: Ознаки\nBasics/Tiddlers/Prompt: Записи\nBasics/Title/Prompt: Наслов на вашето ТидлиВики\nBasics/Username/Prompt: Име за потпис при уредување\nBasics/Version/Prompt: ТидлиВики верзија\nCascades/Caption: Каскади\nCascades/Hint: Овие глобални правила се користат за динамичко избирање на шаблони (templates). Каскадите служат како механизам за конструкција и приспособување на самиот интерфејс на ТидлиВики.\nCascades/TagPrompt: Филтери за ознаки <$macrocall $name=\"tag\" tag=<<currentTiddler>>/>\nEditorTypes/Caption: Формати\nEditorTypes/Editor/Caption: Формат\nEditorTypes/Hint: Овие записи одредуваат кој __формат__ се користи за специфичен __вид__ на запис.\nEditorTypes/Type/Caption: Вид\nEditTemplateBody/Caption: Содржина\nEditTemplateBody/Hint: Овие правила се користат од основниот уредувач за да може динамички да се одреди шаблон за содржината на еден запис.\nFieldEditor/Caption: Поле\nFieldEditor/Hint: Овие правила се користат за динамичко одбирање на шаблон за рендерирање на поле на запис врз основа на неговото име. Се користи во самиот шаблон за уредување.\nInfo/Caption: Инфо\nInfo/Hint: Информации за вашето ТидлиВики\nKeyboardShortcuts/Add/Caption: додади\nKeyboardShortcuts/Add/Prompt: Напиши комбинација тука\nKeyboardShortcuts/Caption: Тастатура\nKeyboardShortcuts/Hint: Управување со кратенки за тастатура\nKeyboardShortcuts/NoShortcuts/Caption: Нема доделена кратенка за тастатура\nKeyboardShortcuts/Platform/All: За сите платформи\nKeyboardShortcuts/Platform/Linux: Линукс\nKeyboardShortcuts/Platform/Mac: Мекинтош\nKeyboardShortcuts/Platform/NonLinux: Платформи кои не се Линукс\nKeyboardShortcuts/Platform/NonMac: Платформи кои не се Мекинтош\nKeyboardShortcuts/Platform/NonWindows: Платформи кои не се Виндовс\nKeyboardShortcuts/Platform/Windows: Виндовс\nKeyboardShortcuts/Remove/Hint: избриши кратенка за тастатура\nLayoutSwitcher/Caption: Распоред\nLoadedModules/Caption: Модули\nLoadedModules/Hint: Ова се вчитаните модули за запис кои водат кон своите извори. Доколку кликнете на некој од нив ќе го видите модулот. На сите модули запишани со закосен формат им недостасува извор, обично бидејќи тие биле поставувани додека сè уште траел процесот на подигање на вашето ТидлиВики.\nPalette/Caption: Палета\nPalette/Editor/Clone/Caption: клонирај\nPalette/Editor/Clone/Prompt: Препорачливо е најпрвин да ја клонирате оваа палета пред да ја уредувате.\nPalette/Editor/Delete/Hint: избришете го ова од моменталната палета\nPalette/Editor/Names/External/Show: Прикажи ги имињата на бои кои не се дел од оваа палета\nPalette/Editor/Prompt: Уредување\nPalette/Editor/Prompt/Modified: Оваа палета е модифицирана\nPalette/Editor/Reset/Caption: ресетирај\nPalette/HideEditor/Caption: сокри го уредникот\nPalette/Prompt: Моментална палета:\nPalette/ShowEditor/Caption: прикажи го уредникот\nParsing/Block/Caption: Правила за блокирачки режим\nParsing/Caption: Правила\nParsing/Hint: Тука можете глобално да вклучите или исклучите правила за ''анализаторот''. За да можат записите да бидат прикажани, [[анализаторот|https://tiddlywiki.com/static/WikiText%2520Parser%2520Modes.html]] ги чита и интерпретира правилата. Постојат три вида на режим во кој анализаторот функционира: прагмантен, внатрешен и блокирачки.<br>Не заборавајте, за промената што тука ќе ја направите да има ефект треба да кликнете на //Зачувај ги промените// (црвеното копче во страничното мени). Исклучувањето на одредени правила за анализаторот можат да предизвикаат не коректно однесување на <$text text=\"ТидлиВики\"/>. Користете [[безбеден режим|https://tiddlywiki.com/#SafeMode]] за да ги вратите нормалните операции.\nParsing/Inline/Caption: Правила за внатрешен режим\nParsing/Pragma/Caption: Правила за прагмантен режим\nPlugins/Add/Caption: Превземете повеќе плагени\nPlugins/Add/Hint: Инсталирајте плагени од официјалната библиотека\nPlugins/AlreadyInstalled/Hint: Овој плаген е веќе инсталиран со верзија <$text text=<<installedVersion>>/>\nPlugins/AlsoRequires: Зависи од:\nPlugins/Caption: Плагени\nPlugins/ClosePluginLibrary: Затвори ја библиотеката\nPlugins/Disable/Caption: исклучи\nPlugins/Disable/Hint: Исклучи го овој плаген откако следен пат ќе се освежи википедијата\nPlugins/Disabled/Status: (исклучено)\nPlugins/Downgrade/Caption: врати верзија\nPlugins/Empty/Hint: Ништо\nPlugins/Enable/Caption: вклучи\nPlugins/Enable/Hint: Вклучи го овој плаген откако следен пат ќе се освежи википедијата\nPlugins/Install/Caption: инсталирај\nPlugins/Installed/Hint: Инсталирани плагени:\nPlugins/Languages/Caption: Јазици\nPlugins/Languages/Hint: Плагени за јазични пакети\nPlugins/NoInfoFound/Hint: Не ''\"<$text text=<<currentTab>>/>\"'' пронајдено\nPlugins/NotInstalled/Hint: Овој плаген не е инсталиран\nPlugins/OpenPluginLibrary: Отвори ја библиотеката\nPlugins/Plugins/Caption: Плагени\nPlugins/Plugins/Hint: Плагени\nPlugins/PluginWillRequireReload: (освежи ја википедијата)\nPlugins/Reinstall/Caption: реинсталирај\nPlugins/SubPluginPrompt: Го има со <<count>> под-плагени\nPlugins/Themes/Caption: Теми\nPlugins/Themes/Hint: Плагени за теми\nPlugins/Update/Caption: ажурирај\nPlugins/Updates/Caption: Ажурирања\nPlugins/Updates/Hint: Достапни ажурирања за инсталираните плагени\nPlugins/Updates/UpdateAll/Caption: Ажурирај <<update-count>> плагени\nSaving/Caption: Меморирање\nSaving/DownloadSaver/AutoSave/Description: Дозволи автоматско меморирање за превземање од серверот\nSaving/DownloadSaver/AutoSave/Hint: Дозволи Автоматско Меморирање за Превземање од Серверот\nSaving/DownloadSaver/Caption: Сервер за превземање\nSaving/DownloadSaver/Hint: Овие опции важат за HTML5 компатибилен сервер за превземање\nSaving/General/Caption: Генерално\nSaving/General/Hint: Овие опции важат за сите вклучени сервери\nSaving/GitService/Branch: Таргетирај бранша за меморирање\nSaving/GitService/CommitMessage: Зачувано од ТидлиВики\nSaving/GitService/Description: Овие опции важат само при меморирање од <<service-name>>\nSaving/GitService/Filename: Име на таргетиран фајл (пр. `индекс.html`)\nSaving/GitService/Gitea/Caption: Gitea Сервер\nSaving/GitService/Gitea/Password: Токен за личен пристап за API (преку веб-интерфејсот на Gitea: `Settings | Applications | Generate New Token`)\nSaving/GitService/GitHub/Caption: ~GitHub Сервер\nSaving/GitService/GitHub/Password: Лозинка, OAUTH токен или токен за личен пристап (прочитајте ја [[оваа објава на GitHub|https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line]] за повеќе информации)\nSaving/GitService/GitLab/Caption: ~GitLab Сервер\nSaving/GitService/GitLab/Password: Токен за личен пристап за API (прочитајте ја [[оваа објава на GitLab|https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html]] за повеќе информации)\nSaving/GitService/Path: Насока до таргет датотека (пр. `/вики/`)\nSaving/GitService/Repo: Таргетирано репозитори (пр. `Jermolene/TiddlyWiki5`)\nSaving/GitService/ServerURL: Сервер API URL\nSaving/GitService/UserName: Корисничко име\nSaving/Hint: Опции за меморирање на целосното ТидлиВики како еден фајл преку серверски модул\nSaving/TiddlySpot/Advanced/Heading: Напредни опции\nSaving/TiddlySpot/BackupDir: Датотека за резервни копии (Backup)\nSaving/TiddlySpot/Backups: Резервни копии\nSaving/TiddlySpot/Caption: ~TiddlySpot Сервер\nSaving/TiddlySpot/ControlPanel: ~TiddlySpot Контролен Панел\nSaving/TiddlySpot/Description: Овие опции важат само при меморирање до [[TiddlySpot|http://tiddlyspot.com]], [[TiddlyHost|https://tiddlyhost.com]], или компатибилен далечински (remote) сервер. Истражи тука на оваа [[страница|https://github.com/simonbaird/tiddlyhost/wiki/TiddlySpot-Saver-configuration-for-Tiddlyhost-and-Tiddlyspot]] за повеќе информации за меморирање на конфигурација од ~TiddlySpot и ~TiddlyHost.\nSaving/TiddlySpot/Filename: Име на фајл за трансвер\nSaving/TiddlySpot/Heading: ~TiddlySpot \nSaving/TiddlySpot/Hint: //URL на серверот е `http://<wikiname>.tiddlyspot.com/store.cgi` и може да се промени за да се користи посебна серверска адреса, пр. `http://example.com/store.php`.//\nSaving/TiddlySpot/Password: Лозинка\nSaving/TiddlySpot/ReadOnly: Имајте на ум дека [[TiddlySpot|http://tiddlyspot.com]] повеќе не дозволува создавање на нови страници. За создавање на нови страници можете да го користите [[TiddlyHost|https://tiddlyhost.com]], новиот хостинг оператор кој го заменува ~TiddlySpot.\nSaving/TiddlySpot/ServerURL: Сервер URL\nSaving/TiddlySpot/UploadDir: Датотека за трансвер\nSaving/TiddlySpot/UserName: Име на википедија\nSettings/AutoSave/Caption: Автоматско меморирање\nSettings/AutoSave/Disabled/Description: Не ги меморирај промените автоматски\nSettings/AutoSave/Enabled/Description: Меморирај ги промените автоматски\nSettings/AutoSave/Hint: Обиди се да ги зачуваш автоматски промените додека трае уредувањето при користење на соодветен сервер.\nSettings/CamelCase/Caption: CamelCase линкови\nSettings/CamelCase/Description: Вклучи автоматско ~CamelCase линкување\nSettings/CamelCase/Hint: Потребно е да ја освежите википедијата за да има ефект.\nSettings/Caption: Опции\nSettings/DefaultMoreSidebarTab/Caption: Селектирано под-мени во групата Повеќе\nSettings/DefaultMoreSidebarTab/Hint: Одберете кое под-мени ќе биде селектирано во групата __Повеќе__ која се наоѓа во страничното мени\nSettings/DefaultSidebarTab/Caption: Селектирана група во страничното мени\nSettings/DefaultSidebarTab/Hint: Одберете која група ќе биде селектирана во страничното мени\nSettings/EditorToolbar/Caption: Алатки за уредување\nSettings/EditorToolbar/Description: Прикажи ги алатките за уредување\nSettings/EditorToolbar/Hint: Вклучи / Исклучи алатки за уредување\nSettings/Hint: Овие опции ви дозволуваат да го приспособите вашето ТидлиВики.\nSettings/InfoPanelMode/Caption: Панел за повеќе информации во запис\nSettings/InfoPanelMode/Hint: Контролирајте кога панелот за повеќе информации се исклучува:\nSettings/InfoPanelMode/Popup/Description: Панелот за повеќе инфо се исклучува автоматски\nSettings/InfoPanelMode/Sticky/Description: Панелот за повеќе инфо останува вклучен додека самите не го исклучиме\nSettings/LinkToBehaviour/Caption: Начин на отворање на запис\nSettings/LinkToBehaviour/InsideRiver/Hint: Од внатрешна навигација во реката со записи\nSettings/LinkToBehaviour/OpenAbove: Отвори над моменталниот запис\nSettings/LinkToBehaviour/OpenAtBottom: Отвори најдолу во реката со записи\nSettings/LinkToBehaviour/OpenAtTop: Отвори најгоре во реката со записи\nSettings/LinkToBehaviour/OpenBelow: Отвори под моменталниот запис\nSettings/LinkToBehaviour/OutsideRiver/Hint: Од надворешна навигација во реката со записи\nSettings/MissingLinks/Caption: Вики линкови\nSettings/MissingLinks/Description: Дозволи линкување до непостоечки записи\nSettings/MissingLinks/Hint: Одберете дали сакате линкување до записи кои сè уште непостојат \nSettings/NavigationAddressBar/Caption: Лента за навигација\nSettings/NavigationAddressBar/Hint: Начин на однесување на лентата за навигација на прелистувачот:\nSettings/NavigationAddressBar/No/Description: Не ја ажурирај лентата за навигација\nSettings/NavigationAddressBar/Permalink/Description: Додадете го таргетираниот запис\nSettings/NavigationAddressBar/Permaview/Description: Додадете го таргетираниот запис и моментално отворените записи\nSettings/NavigationHistory/Caption: Историска навигација\nSettings/NavigationHistory/Hint: Ажурирање на историјата при навигација:\nSettings/NavigationHistory/No/Description: Не ја ажурирај историјата\nSettings/NavigationHistory/Yes/Description: Ажурирај ја историјата\nSettings/NavigationPermalinkviewMode/Caption: Директен линк / Директен приказ\nSettings/NavigationPermalinkviewMode/CopyToClipboard/Description: Копирај URL од директен линк / директен приказ до клипборд\nSettings/NavigationPermalinkviewMode/Hint: Одбери како се однесува директниот линк / директниот приказ:\nSettings/NavigationPermalinkviewMode/UpdateAddressBar/Description: Ажурирај ја лентата за навигација со директниот линк / директниот приказ\nSettings/PerformanceInstrumentation/Caption: Приказ на перформанси\nSettings/PerformanceInstrumentation/Description: Вклучи приказ на перформанси\nSettings/PerformanceInstrumentation/Hint: Прикажи статистика на перформанси во програмерската конзула на прелистувачот.<br>Потребно е да ја освежите википедијата за да има ефект.\nSettings/TitleLinks/Caption: Наслови на записи\nSettings/TitleLinks/Hint: Опционално прикажи ги насловите на записите како линкови\nSettings/TitleLinks/No/Description: Не ги прикажувај насловите на записите како линкови\nSettings/TitleLinks/Yes/Description: Прикажи ги насловите на записите како линкови\nSettings/ToolbarButtons/Caption: Алатки\nSettings/ToolbarButtons/Hint: Основен приказ на алатките\nSettings/ToolbarButtons/Icons/Description: Прикажи икона\nSettings/ToolbarButtons/Text/Description: Прикажи текст\nSettings/ToolbarButtonStyle/Caption: Изглед на алатки\nSettings/ToolbarButtonStyle/Hint: Одбери го изгледот на алатките:\nSettings/ToolbarButtonStyle/Styles/Borderless: Без рамка\nSettings/ToolbarButtonStyle/Styles/Boxed: Коцкасти\nSettings/ToolbarButtonStyle/Styles/Rounded: Тркалезни\nStoryTiddler/Caption: Река на записи\nStoryTiddler/Hint: Овие правила се користат за динамичко избирање на шаблон за прикажување запис во реката со записи\nStoryView/Caption: Преглед\nStoryView/Prompt: Моментален изглед:\nStylesheets/Caption: Стил\nStylesheets/Expand/Caption: Отвори ги сите\nStylesheets/Hint: Ова е CSS за стилот на оние записи означени со <<tag \"$:/tags/Stylesheet\">>\nStylesheets/Restore/Caption: Врати назад\nTheme/Caption: Тема\nTheme/Prompt: Моментална тема:\nTiddlerColour/Caption: Боја во запис\nTiddlerColour/Hint: Овие правила се користат за динамичко избирање на боја во запис (за иконата и пилулата за ознаки).\nTiddlerFields/Caption: Полиња\nTiddlerFields/Hint: Ова е целата листа на полиња на запис што се користат во ова ТидлиВики (вклучувајќи ги системските записи, но без сенките).\nTiddlerIcon/Caption: Икона на запис\nTiddlerIcon/Hint: Овие правила се користат за динамичко избирање на икона на запис.\nToolbars/Caption: Алатки\nToolbars/EditorToolbar/Caption: Алатки во уредникот\nToolbars/EditorToolbar/Hint: Изберете кои алатки се прикажуваат во уредникот. Имајте на ум дека некои алатки ќе се прикажат само во одредени видови на записи. Со кликање и повлекување на алатките во оваа листа можете слободно да ги подредите како што сакате.\nToolbars/EditToolbar/Caption: Алатки на записот\nToolbars/EditToolbar/Hint: Изберете кои алатки се прикажуваат на записите при уредување. Со кликање и повлекување на алатките во оваа листа можете слободно да ги подредите како што сакате.\nToolbars/Hint: Селектирајте ги алатките што сакате да бидат прикажани\nToolbars/PageControls/Caption: Глобални алатки\nToolbars/PageControls/Hint: Изберете кои глобални алатки се прикажуваат. Со кликање и повлекување на алатките во оваа листа можете слободно да ги подредите како што сакате.\nToolbars/ViewToolbar/Caption: Видливи алатки\nToolbars/ViewToolbar/Hint: Изберете кои други алатки се прикажуваат на записите додека не ги уредувате. Со кликање и повлекување на алатките во оваа листа можете слободно да ги подредите како што сакате.\nTools/Download/Full/Caption: Превземете ја целата википедија\nViewTemplateBody/Caption: Приказ\nViewTemplateBody/Hint: Овие правила се користат за динамичко избирање на шаблон за приказ кој се користи за прикажување на содржината во записот.\nViewTemplateTitle/Caption: Наслов\nViewTemplateTitle/Hint: Овие правила се користат за динамичко избирање на шаблон за наслов кој се користи за прикажување на насловот на записот.\n"
  },
  {
    "path": "languages/mk-MK/CoreReadMe.tid",
    "content": "title: $:/core/readme\n\nОвој плаген содржи основни ТидлиВики компоненти кои се состојат од:\n\n* ЈаваСкрипт модули\n* Икони\n* Шаблони потребни за креирање на ТидлиВики интерфејс\n* Македонски („мк-МК“) преводи на главните локализирани реченици\n"
  },
  {
    "path": "languages/mk-MK/Dates.multids",
    "content": "title: $:/language/\n\nDate/DaySuffix/1: ви\nDate/DaySuffix/10: ти\nDate/DaySuffix/11: ти\nDate/DaySuffix/12: ти\nDate/DaySuffix/13: ти\nDate/DaySuffix/14: ти\nDate/DaySuffix/15: ти\nDate/DaySuffix/16: ти\nDate/DaySuffix/17: ти\nDate/DaySuffix/18: ти\nDate/DaySuffix/19: ти\nDate/DaySuffix/2: ри\nDate/DaySuffix/20: ти\nDate/DaySuffix/21: ви\nDate/DaySuffix/22: ри\nDate/DaySuffix/23: ти\nDate/DaySuffix/24: ти\nDate/DaySuffix/25: ти\nDate/DaySuffix/26: ти\nDate/DaySuffix/27: ми\nDate/DaySuffix/28: ми\nDate/DaySuffix/29: ти\nDate/DaySuffix/3: ти\nDate/DaySuffix/30: ти\nDate/DaySuffix/31: ви\nDate/DaySuffix/4: ти\nDate/DaySuffix/5: ти\nDate/DaySuffix/6: ти\nDate/DaySuffix/7: ми\nDate/DaySuffix/8: ми\nDate/DaySuffix/9: ти\nDate/Long/Day/0: Недела\nDate/Long/Day/1: Понеделник\nDate/Long/Day/2: Вторник\nDate/Long/Day/3: Среда\nDate/Long/Day/4: Четврток\nDate/Long/Day/5: Петок\nDate/Long/Day/6: Сабота\nDate/Long/Month/1: Јануари\nDate/Long/Month/10: Октомври\nDate/Long/Month/11: Ноември\nDate/Long/Month/12: Декември\nDate/Long/Month/2: Февруари\nDate/Long/Month/3: Март\nDate/Long/Month/4: Април\nDate/Long/Month/5: Мај\nDate/Long/Month/6: Јуни\nDate/Long/Month/7: Јули\nDate/Long/Month/8: Август\nDate/Long/Month/9: Септември\nDate/Period/am: am\nDate/Period/pm: pm\nDate/Short/Day/0: Нед\nDate/Short/Day/1: Пон\nDate/Short/Day/2: Вто\nDate/Short/Day/3: Сре\nDate/Short/Day/4: Чет\nDate/Short/Day/5: Пет\nDate/Short/Day/6: Саб\nDate/Short/Month/1: Јан\nDate/Short/Month/10: Окт\nDate/Short/Month/11: Ное\nDate/Short/Month/12: Дек\nDate/Short/Month/2: Фев\nDate/Short/Month/3: Мар\nDate/Short/Month/4: Апр\nDate/Short/Month/5: Мај\nDate/Short/Month/6: Јун\nDate/Short/Month/7: Јул\nDate/Short/Month/8: Авг\nDate/Short/Month/9: Сеп\nRelativeDate/Future/Days: <<period>> дена од сега\nRelativeDate/Future/Hours: <<period>> часа од сега\nRelativeDate/Future/Minutes: <<period>> минути од сега\nRelativeDate/Future/Months: <<period>> месеци од сега\nRelativeDate/Future/Second: 1 секунда од сега\nRelativeDate/Future/Seconds: <<period>> секунди од сега\nRelativeDate/Future/Years: <<period>> години од сега\nRelativeDate/Past/Days: пред <<period>> дена\nRelativeDate/Past/Hours: пред <<period>> часа\nRelativeDate/Past/Minutes: пред <<period>> минути\nRelativeDate/Past/Months: пред <<period>> месеци\nRelativeDate/Past/Second: пред 1 секунда\nRelativeDate/Past/Seconds: пред <<period>> секунди\nRelativeDate/Past/Years: пред <<period>> години\n"
  },
  {
    "path": "languages/mk-MK/Docs/ModuleTypes.multids",
    "content": "title: $:/language/Docs/ModuleTypes/\n\nallfilteroperator: Под-оператор за филтерот \"all\"\nanimation: Анимации што можат да се користат со RevealWidget.\nauthenticator: Дефинира како барањата се одобрени од вградениот HTTP сервер.\nbitmapeditoroperation: Оператор за bitmap уредникот\ncommand: Команди што можат да се извршат преку Node.js.\nconfig: Податоци за вметнување во `$tw.config`.\nfilteroperator: Индивидуални методи за оператори на филтри.\nglobal: Глобална дата за вметнување во `$tw`.\ninfo: Објавува системски информации преку [[$:/temp/info-plugin]] псевдо-плагенот.\nisfilteroperator: Оператори за филтерот \"is\"\nlibrary: Генерички тип на модул за општа намена на ЈаваСкрипт модули.\nmacro: ЈаваСкрипт макро дефиниции.\nparser: Анализатори за различни видови содржина.\nroute: Дефинира како поединични URL шеми (patterns) се контролираат преку HTTP серверот.\nsaver: Зачувувачи кои се справуваат со различни методи за меморирање фајлови од прелистувачот.\nstartup: Стартни функции.\nstoryview: Преглед на реката со записи за нивна анимација\ntexteditoroperation: Оператори за уредување текст\ntiddlerdeserializer: Конвертира различни видови содржини во записи.\ntiddlerfield: Го дефинира значењето на индивидуално поле од записот\ntiddlermethod: Додава методи во прототипот `$tw.Tiddler`\nupgrader: Ги процесира записите при надградба или импорт.\nutils: Додаваат методи во `$tw.utils`.\nutils-browser: Додаваат специфични методи за прелистувачот во `$tw.utils`.\nutils-node: Додаваат специфични Node.js методи во `$tw.utils`.\nwidget: Додатоци (widgets) за сумирање на DOM рендерирање и освежување.\nwikimethod: Додава методи во `$tw.Wiki`.\nwikirule: Индивидуални правила за анализаторот на вики-текст (WikiText).\n"
  },
  {
    "path": "languages/mk-MK/Docs/PaletteColours.multids",
    "content": "title: $:/language/Docs/PaletteColours/\n\nalert-background: Предупредувачка боја\nalert-border: Предупредувачка боја на рамка\nalert-highlight: Предупредувачка боја на истакнатост\nalert-muted-foreground: Предупредувачка мјутирана (muted) боја\nbackground: Генерална боја\nblockquote-bar: Боја на вертикалната линија на цитиран текст\nbutton-background: Основна боја на копче\nbutton-border: Основна боја на рамка на копче\nbutton-foreground: Основна боја на текст во копче\ncode-background: Боја на код\ncode-border: Боја на рамка на код\ncode-foreground: Боја на текст во код\ndirty-indicator: Боја на индикатор за незачувани промени\ndownload-background: Боја на копче за превземање\ndownload-foreground: Боја на текст во копче за превземање\ndragger-background: Боја на влечење\ndragger-foreground: Боја на текст при влечење\ndropdown-background: Боја на пуштање\ndropdown-border: Боја на рамка на пуштање\ndropdown-tab-background: Боја на група (таб) на пуштање\ndropdown-tab-background-selected: Боја на селектирана група (таб)\ndropzone-background: Боја на таргет место за пуштање\nexternal-link-background: Боја за надворешни (други) линкови\nexternal-link-background-hover: Боја при доближување на маусот над надворешен линк\nexternal-link-background-visited: Боја на посетени надворешни линкови\nexternal-link-foreground: Боја на текст во надворешни линкови\nexternal-link-foreground-hover: Боја на текст во надворешен линк при доближување на маусот\nexternal-link-foreground-visited: Боја на текст во посетени надворешни линкови\nforeground: Генерална боја на текст\nmenubar-background: Боја на лента со мени\nmenubar-foreground: Боја на текст во лента со мени\nmessage-background: Боја на поле за порака\nmessage-border: Боја на рамка на поле за порака\nmessage-foreground: Боја на текст во поле за порака\nmodal-backdrop: Боја за модална позадина\nmodal-background: Модална боја\nmodal-border: Модална рамка\nmodal-footer-background: Модална боја во долен дел\nmodal-footer-border: Модална боја на рамка во долен дел\nmodal-header-border: Модална боја во горен дел\nmuted-foreground: Генерална мјутирана (muted) боја\nnotification-background: Боја за нотификација\nnotification-border: Боја на рамка за нотификација\npage-background: Боја на позадина\npre-background: Боја на претходно форматиран код\npre-border: Боја на рамка на претходно форматиран код\nprimary: Боја на општа вашност\nselect-tag-background: Боја на `<select>` елемент\nselect-tag-foreground: Боја на текст во `<select>` елемент\nsidebar-button-foreground: Боја на текст во копче во страничното мени\nsidebar-controls-foreground: Боја на контролери во страничното мени\nsidebar-controls-foreground-hover: Боја на текст во контролери во страничното мени\nsidebar-foreground: Боја на текст во страничното мени\nsidebar-foreground-shadow: Боја на текст во сенка во страничното мени\nsidebar-muted-foreground: Мјутирана (muted) боја на текст во страничното мени\nsidebar-muted-foreground-hover: Мјутирана (muted) боја на текст при доближување со маусот во страничното мени\nsidebar-tab-background: Боја на група (таб) во страничното мени\nsidebar-tab-background-selected: Боја на селектирана група (таб) во страничното мени\nsidebar-tab-border: Боја на рамка на група (таб) во страничното мени\nsidebar-tab-border-selected: Боја на рамка за селектирана група (таб) во страничното мени\nsidebar-tab-divider: Боја на разделник во страничното мени\nsidebar-tab-foreground: Боја на текст во група (таб) во страничното мени\nsidebar-tab-foreground-selected: Боја на текст во селектирана група (таб) во страничното мени\nsidebar-tiddler-link-foreground: Боја на текст на линк од запис во страничното мени\nsidebar-tiddler-link-foreground-hover: Боја на текст во линк од запис во страничното мени при доближување со маусот\nsite-title-foreground: Боја на текст на наслов\nstatic-alert-foreground: Боја на текст на статично предупредување\ntab-background: Боја на група (таб)\ntab-background-selected: Боја на селектирана група (таб)\ntab-border: Боја на рамка на група (таб)\ntab-border-selected: Боја на рамка на селектирана група (таб)\ntab-divider: Боја на разделник на група (таб)\ntab-foreground: Боја на текст во група (таб)\ntab-foreground-selected: Боја на текст во селектирана група (таб)\ntable-border: Боја на рамка на табела\ntable-footer-background: Боја на долниот дел од табелата\ntable-header-background: Боја на горниот дел од табелата\ntag-background: Боја на ознака\ntag-foreground: Боја на текст во ознака\ntiddler-background: Боја на запис\ntiddler-border: Боја на рамка на запис\ntiddler-controls-foreground: Боја на текст во контролери на запис\ntiddler-controls-foreground-hover: Боја на текст во контролери на запис при доближување со маусот\ntiddler-controls-foreground-selected: Боја на текст во селектирани контролери на запис\ntiddler-editor-background: Боја на уредникот на запис\ntiddler-editor-border: Боја на рамка на уредникот на запис\ntiddler-editor-border-image: Боја на рамка во уредникот за слика\ntiddler-editor-fields-even: Боја на еднакви полиња во уредникот на запис\ntiddler-editor-fields-odd: Боја на различни полиња во уредникот на запис\ntiddler-info-background: Боја на инфо панелот на запис\ntiddler-info-border: Боја на рамка на инфо панелот на запис\ntiddler-info-tab-background: Боја на група (таб) во инфо панелот на запис\ntiddler-link-background: Боја за линк на запис\ntiddler-link-foreground: Боја за текст во линк на запис \ntiddler-subtitle-foreground: Боја на текст во поднаслов на запис\ntiddler-title-foreground: Боја на наслов на запис \ntoolbar-cancel-button: Боја на текст во „откажи“ копчето\ntoolbar-close-button: Боја на текст во „затвори“ копчето\ntoolbar-delete-button: Боја на текст во „избриши“ копчето\ntoolbar-done-button: Боја на текст во „заврши“ копчето\ntoolbar-edit-button: Боја на текст во „уреди“ копчето\ntoolbar-info-button: Боја на текст во „инфо“ копчето\ntoolbar-new-button: Боја на текст во „нов запис“ копчето\ntoolbar-options-button: Боја на текст во „опции“ копчето\ntoolbar-save-button: Боја на текст во „зачувај“ копчето\nuntagged-background: Боја на пилулата за неозначени записи\nvery-muted-foreground: Многу мјутирана (muted) боја\n"
  },
  {
    "path": "languages/mk-MK/EditTemplate.multids",
    "content": "title: $:/language/EditTemplate/\n\nBody/External/Hint: Овој запис прикажува содржина зачувана надвор од ТидлиВики фајлот. Можете да ги уредувате ознаките и полињата, но не можете директно да ја уредувате содржината.\nBody/Placeholder: Напишете го текстот за овој запис\nBody/Preview/Type/DiffCurrent: разлики од претходното\nBody/Preview/Type/DiffShadow: разлики од сенката\nBody/Preview/Type/Output: излезен приказ\nCaption: Уредник\nField/Dropdown/Caption: листа на поле\nField/Dropdown/Hint: Листа на полиња\nField/Remove/Caption: избриши поле\nField/Remove/Hint: Избриши поле\nFields/Add/Button: додади\nFields/Add/Button/Hint: Додади го новото поле на записот\nFields/Add/Dropdown/System: Системски полиња\nFields/Add/Dropdown/User: Кориснички полиња\nFields/Add/Name/Placeholder: име на поле\nFields/Add/Prompt: Додади ново поле:\nFields/Add/Value/Placeholder: содржина на поле\nShadow/OverriddenWarning: Ова е модифицирана сенка. Можете да ја вратите стандардната верзија во плагенот <<pluginLink>> со бришење на овој запис\nShadow/Warning: Ова е сенка. Сите промени што ќе ги направите ќе ја обноват (презапишат) стандардната верзија од плагенот <<pluginLink>>\nTags/Add/Button: додади\nTags/Add/Button/Hint: додади ознака\nTags/Add/Placeholder: има на ознака\nTags/ClearInput/Caption: очисти\nTags/ClearInput/Hint: Очисти ознака\nTags/Dropdown/Caption: листа на ознаки\nTags/Dropdown/Hint: Листа на ознаки\nTitle/BadCharacterWarning: Предупредување: избегнувајте да ги користите знаците <<bad-chars>> во наслови на записи.\nTitle/Exists/Prompt: Таргетираниот запис веќе постои\nTitle/References/Prompt: Следниве референци од овој запис нема автоматски да се ажурираат:\nTitle/Relink/Prompt: Промени го ''<$text text=<<fromTitle>>/>'' во ''<$text text=<<toTitle>>/>'' и во сите други __ознаки__ и __полиња__\nType/Delete/Caption: избриши го видот на содржина\nType/Delete/Hint: Избриши го видот на содржина\nType/Dropdown/Caption: листа на видови содржина\nType/Dropdown/Hint: Листа на видови содржина\nType/Placeholder: видови содржина\nType/Prompt: Видови:\n"
  },
  {
    "path": "languages/mk-MK/Exporters.multids",
    "content": "title: $:/language/Exporters/\n\nCsvFile: CSV фајл\nJsonFile: JSON фајл\nStaticRiver: Статичен HTML\nTidFile: TID текст фајл\n"
  },
  {
    "path": "languages/mk-MK/Fields.multids",
    "content": "title: $:/language/Docs/Fields/\n\n_canonical_uri: Целосен линк на сликата од надвор\n_is_skinny: Доколку е присутен, покажува дека полето за текст во записот мора да биде вчитано од страна на серверот\nauthor: Име на авторот на записот\nbag: Име на фиока од која потекнува записот\ncaption: Текст што ќе се прикаже на копче или група (tab)\ncode-body: Шаблонот за приказ ќе го прикаже записот како код\ncolor: CSS бојата поврзана со записот\ncomponent: Име на компонентата одговорна за [[alert tiddler|AlertMechanism]]\ncore-version: Доколку станува збор за плаген, покажува кој плаген со која верзија од ТидлиВики е компатибилен\ncreated: Датумот кога е создаден записот\ncreator: Името на личноста која го креирала записот\ncurrent-tiddler: Се користи за кеширање на записот во [[history list|HistoryMechanism]]\ndependents: Доколку станува збор за плаген, ја покажува листата на имиња од други плагени од кои зависи плагенот\ndescription: Описен текст за записот\ndraft.of: Доколку станува збор за незачуван запис, го зачувува името на записот од кој овој запис е незачуван\ndraft.title: Доколку станува збор за незачуван запис, го задржува предложениот нов наслов за записот\nfooter: Долниот текст (footer)\nhide-body: Шаблонот за приказ ќе ја сокрие содржината од записот\nicon: Наслов од запис кој ја содржи иконата која ќе биде поврзана со овој запис\nlibrary: Укажува дека записот треба да се зачува како ЈаваСкрипт библиотека\nlist: Нумерирана листа од наслови на записи кои кореспондираат со овој запис\nlist-after: Насловот на записот после кој треба овој запис да биде додаден\nlist-before: Насловот на записот пред кој треба овој запис да биде додаден\nmodified: Датумот и времето кога последен пат овој запис бил променет\nmodifier: Личноста која последен пат го променила записот\nmodule-type: Одредува за каков вид на модул станува збор за ЈаваСкрипт записи\nname: Човечки-читливо име поврзано со записот\nparent-plugin: Доколку станува збор за плаген, покажува од кој главен плаген овој запис е под-плаген\nplugin-priority: Нумеричка вредност што означува приоритет на плаген\nplugin-type: Вид на плаген\nreleased: Датум на објавување\nrevision: Ревизија на запис одржана на серверот\nsource: Целосна URL адреса поврзана со записот\nsubtitle: Поднаслов на записот\ntags: Листа на ознаки поврзани со записот\ntext: Содржина на записот\nthrottle.refresh: Доколку е достапен, го освежува записот\ntitle: Уникатно име на записот\ntoc-link: Го потиснува линкот на записот во содржина\ntype: Видот на содржината во записот\nversion: Информации за верзијата на записот\n"
  },
  {
    "path": "languages/mk-MK/Filters.multids",
    "content": "title: $:/language/Filters/\n\nAllTags: Сите ознаки освен системски ознаки\nAllTiddlers: Сите записи освен системски записи\nDrafts: Незачувани записи\nMissing: Непостоечки записи\nOrphans: Самостојни записи\nOverriddenShadowTiddlers: Променливи сенки\nRecentSystemTiddlers: Неодамна модифицирани записи, вклучувајќи ги системските записи\nRecentTiddlers: Неодамна модифицирани записи\nSessionTiddlers: Модифицирани записи од моментот на вклучување на википедијата\nShadowTiddlers: Сенки\nStoryList: Записи во реката, без <$text text=\"$:/AdvancedSearch\"/>\nSystemTags: Системски ознаки\nSystemTiddlers: Системски записи\nTypedTiddlers: Записи кои не се вики-текст\n"
  },
  {
    "path": "languages/mk-MK/GettingStarted.tid",
    "content": "title: GettingStarted\n\n\\define lingo-base() $:/language/ControlPanel/Basics/\n!Добредојдовте во ТидлиВики 🐈‍⬛\n\nПред да започнете со складирање на важни информации во вашето ТидлиВики, од големо значење е да знаете како навистина можете да ги меморирате вашите промени. За повеќе информации прочитајте ја објавата: https://tiddlywiki.com/#GettingStarted\n\n!! Основни податоци\n\n<div class=\"tc-control-panel\">\n\n|tc-table-no-border tc-first-col-min-width tc-first-link-nowrap|k\n| <$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link>|<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n| <$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link>|<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|^ <$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link><br><<lingo DefaultTiddlers/TopHint>>|<$edit tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\nОтворете го [[контролниот панел|$:/ControlPanel]] за повеќе опции.\n"
  },
  {
    "path": "languages/mk-MK/Help/build.tid",
    "content": "title: $:/language/Help/build\ndescription: Автоматски извршува команди\n\nBuild the specified build targets for the current wiki. If no build targets are specified then all available targets will be built.\n\n```\n--build <target> [<target> ...]\n```\n\nBuild targets are defined in the `tiddlywiki.info` file of a wiki folder.\n\n"
  },
  {
    "path": "languages/mk-MK/Help/clearpassword.tid",
    "content": "title: $:/language/Help/clearpassword\ndescription: Брише лозинка од крипто операции\n\nClear the password for subsequent crypto operations\n\n```\n--clearpassword\n```\n"
  },
  {
    "path": "languages/mk-MK/Help/commands.tid",
    "content": "title: $:/language/Help/commands\ndescription: Извршува команди од филтер\n\nSequentially run the command tokens returned from a filter\n\n```\n--commands <filter>\n```\n\nExamples\n\n```\n--commands \"[enlist:raw{$:/build-commands-as-text}]\"\n```\n\n```\n--commands \"[{$:/build-commands-as-json}jsonindexes[]] :map[{$:/build-commands-as-json}jsonget<currentTiddler>]\"\n```\n"
  },
  {
    "path": "languages/mk-MK/Help/default.tid",
    "content": "title: $:/language/Help/default\ndescription:  \n\n\\define commandTitle()\n$:/language/Help/$(command)$\n\\end\n\\whitespace trim\n```\nusage: tiddlywiki [<wikifolder>] [--<command> [<args>...]...]\n```\n\nAvailable commands:\n\n<ul>\n<$list filter=\"[commands[]sort[title]]\" variable=\"command\">\n<li><$link to=<<commandTitle>>><$macrocall $name=\"command\" $type=\"text/plain\" $output=\"text/plain\"/></$link>:\n&#32;\n<$transclude tiddler=<<commandTitle>> field=\"description\"/></li>\n</$list>\n</ul>\n\nTo get detailed help on a command:\n\n```\ntiddlywiki --help <command>\n```\n"
  },
  {
    "path": "languages/mk-MK/Help/deletetiddlers.tid",
    "content": "title: $:/language/Help/deletetiddlers\ndescription: Брише група записи\n\n<<.from-version \"5.1.20\">> Deletes a group of tiddlers identified by a filter.\n\n```\n--deletetiddlers <filter>\n```\n"
  },
  {
    "path": "languages/mk-MK/Help/editions.tid",
    "content": "title: $:/language/Help/editions\ndescription: Покажува листа на достапни уредници во ТидлиВики\n\nLists the names and descriptions of the available editions. You can create a new wiki of a specified edition with the `--init` command.\n\n```\n--editions\n```\n"
  },
  {
    "path": "languages/mk-MK/Help/fetch.tid",
    "content": "title: $:/language/Help/fetch\ndescription: Превзема записи од друга википедија преку URL\n\nFetch one or more files over HTTP/HTTPS, and import the tiddlers matching a filter, optionally transforming the incoming titles.\n\n```\n--fetch file <url> <import-filter> <transform-filter>\n--fetch files <url-filter> <import-filter> <transform-filter>\n--fetch raw-file <url> <transform-filter>\n--fetch raw-files <url-filter> <transform-filter>\n```\n\nThe \"file\" and \"files\" variants fetch the specified files and attempt to import the tiddlers within them (the same processing as if the files were dragged into the browser window). The \"raw-file\" and \"raw-files\" variants fetch the specified files and then store the raw file data in tiddlers, without applying the import logic.\n\nWith the \"file\" and \"raw-file\" variants only a single file is fetched and the first parameter is the URL of the file to read.\n\nWith the \"files\" and \"raw-files\" variants, multiple files are fetched and the first parameter is a filter yielding a list of URLs of the files to read. For example, given a set of tiddlers tagged \"remote-server\" that have a field \"url\" the filter `[tag[remote-server]get[url]]` will retrieve all the available URLs.\n\nFor the \"file\" and \"files\" variants, the `<import-filter>` parameter specifies a filter determining which tiddlers are imported. It defaults to `[all[tiddlers]]` if not provided.\n\nFor all variants, the `<transform-filter>` parameter specifies an optional filter that transforms the titles of the imported tiddlers. For example, `[addprefix[$:/myimports/]]` would add the prefix `$:/myimports/` to each title.\n\nPreceding the `--fetch` command with `--verbose` will output progress information during the import.\n\nNote that TiddlyWiki will not fetch an older version of an already loaded plugin.\n\nThe following example retrieves all the non-system tiddlers from https://tiddlywiki.com and saves them to a JSON file:\n\n```\ntiddlywiki --verbose --fetch file \"https://tiddlywiki.com/\" \"[!is[system]]\" \"\" --rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[!is[system]]\"\n```\n\nThe following example retrieves the \"favicon\" file from tiddlywiki.com and saves it in a file called \"output.ico\". Note that the intermediate tiddler \"Icon Tiddler\" is quoted in the \"--fetch\" command because it is being used as a transformation filter to replace the default title, while there are no quotes for the \"--savetiddler\" command because it is being used directly as a title.\n\n```\ntiddlywiki --verbose --fetch raw-file \"https://tiddlywiki.com/favicon.ico\" \"[[Icon Tiddler]]\" --savetiddler \"Icon Tiddler\" output.ico\n```\n\n"
  },
  {
    "path": "languages/mk-MK/Help/help.tid",
    "content": "title: $:/language/Help/help\ndescription: Покажува помош за ТидлиВики команди\n\nDisplays help text for a command:\n\n```\n--help [<command>]\n```\n\nIf the command name is omitted then a list of available commands is displayed.\n"
  },
  {
    "path": "languages/mk-MK/Help/import.tid",
    "content": "title: $:/language/Help/import\ndescription: Импортира записи од фајл\n\nImport tiddlers from TiddlyWiki (`.html`), `.tiddler`, `.tid`, `.json` or other local files. The deserializer must be explicitly specified, unlike the `load` command which infers the deserializer from the file extension.\n\n```\n--import <filepath> <deserializer> [<title>] [<encoding>]\n```\n\nThe deserializers in the core include:\n\n* application/javascript\n* application/json\n* application/x-tiddler\n* application/x-tiddler-html-div\n* application/x-tiddlers\n* text/html\n* text/plain\n\nThe title of the imported tiddler defaults to the filename.\n\nThe encoding defaults to \"utf8\", but can be \"base64\" for importing binary files.\n\nNote that TiddlyWiki will not import an older version of an already loaded plugin.\n"
  },
  {
    "path": "languages/mk-MK/Help/init.tid",
    "content": "title: $:/language/Help/init\ndescription: Вчитува нов фолдер за википедијата\n\nInitialise an empty [[WikiFolder|WikiFolders]] with a copy of the specified edition.\n\n```\n--init <edition> [<edition> ...]\n```\n\nFor example:\n\n```\ntiddlywiki ./MyWikiFolder --init empty\n```\n\nNote:\n\n* The wiki folder directory will be created if necessary\n* The \"edition\" defaults to ''empty''\n* The init command will fail if the wiki folder is not empty\n* The init command removes any `includeWikis` definitions in the edition's `tiddlywiki.info` file\n* When multiple editions are specified, editions initialised later will overwrite any files shared with earlier editions (so, the final `tiddlywiki.info` file will be copied from the last edition)\n* `--editions` returns a list of available editions\n"
  },
  {
    "path": "languages/mk-MK/Help/listen.tid",
    "content": "title: $:/language/Help/listen\ndescription: Обезбедува интерфејс за HTTP серверот и ТидлиВики\n\nServes a wiki over HTTP.\n\nThe listen command uses NamedCommandParameters:\n\n```\n--listen [<name>=<value>]...\n```\n\nAll parameters are optional with safe defaults, and can be specified in any order. The recognised parameters are:\n\n* ''host'' - optional hostname to serve from (defaults to \"127.0.0.1\" aka \"localhost\")\n* ''path-prefix'' - optional prefix for paths\n* ''port'' - port number on which to listen; non-numeric values are interpreted as a system environment variable from which the port number is extracted (defaults to \"8080\")\n* ''credentials'' - pathname of credentials CSV file (relative to wiki folder)\n* ''anon-username'' - the username for signing edits for anonymous users\n* ''username'' - optional username for basic authentication\n* ''password'' - optional password for basic authentication\n* ''authenticated-user-header'' - optional name of request header to be used for trusted authentication.\n* ''readers'' - comma-separated list of principals allowed to read from this wiki\n* ''writers'' - comma-separated list of principals allowed to write to this wiki\n* ''csrf-disable'' - set to \"yes\" to disable CSRF checks (defaults to \"no\")\n* ''root-tiddler'' - the tiddler to serve at the root (defaults to \"$:/core/save/all\")\n* ''root-render-type'' - the content type to which the root tiddler should be rendered (defaults to \"text/plain\")\n* ''root-serve-type'' - the content type with which the root tiddler should be served (defaults to \"text/html\")\n* ''tls-cert'' - pathname of TLS certificate file (relative to wiki folder)\n* ''tls-key'' - pathname of TLS key file (relative to wiki folder)\n* ''debug-level'' - optional debug level; set to \"debug\" to view request details (defaults to \"none\")\n* ''gzip'' - set to \"yes\" to enable gzip compression for some http endpoints (defaults to \"no\")\n* ''use-browser-cache'' - set to \"yes\" to allow the browser to cache responses to save bandwidth (defaults to \"no\")\n\nFor information on opening up your instance to the entire local network, and possible security concerns, see the WebServer tiddler at TiddlyWiki.com.\n\n"
  },
  {
    "path": "languages/mk-MK/Help/load.tid",
    "content": "title: $:/language/Help/load\ndescription: Вчитува записи од фајл\n\nLoad tiddlers from TiddlyWiki (`.html`), `.tiddler`, `.tid`, `.json` or other local files. The processing applied to incoming files is determined by the file extension. Use the alternative `import` command if you need to specify the deserializer and encoding explicitly.\n\n```\n--load <filepath> [noerror]\n--load <dirpath> [noerror]\n```\n\nBy default, the load command raises an error if no tiddlers are found. The error can be suppressed by providing the optional \"noerror\" parameter.\n\nTo load tiddlers from an encrypted TiddlyWiki file you should first specify the password with the PasswordCommand. For example:\n\n```\ntiddlywiki ./MyWiki --password pa55w0rd --load my_encrypted_wiki.html\n```\n\nNote that TiddlyWiki will not load an older version of an already loaded plugin.\n"
  },
  {
    "path": "languages/mk-MK/Help/makelibrary.tid",
    "content": "title: $:/language/Help/makelibrary\ndescription: Го конструира плагенот за библиотеката потребен за процес на надградба\n\nConstructs the `$:/UpgradeLibrary` tiddler for the upgrade process.\n\nThe upgrade library is formatted as an ordinary plugin tiddler with the plugin type `library`. It contains a copy of each of the plugins, themes and language packs available within the TiddlyWiki5 repository.\n\nThis command is intended for internal use; it is only relevant to users constructing a custom upgrade procedure.\n\n```\n--makelibrary <title>\n```\n\nThe title argument defaults to `$:/UpgradeLibrary`.\n"
  },
  {
    "path": "languages/mk-MK/Help/notfound.tid",
    "content": "title: $:/language/Help/notfound\ndescription: \n\nНема таква помошна ставка"
  },
  {
    "path": "languages/mk-MK/Help/output.tid",
    "content": "title: $:/language/Help/output\ndescription: Поставува општа излезна датотека (насока) за команди\n\nSets the base output directory for subsequent commands. The default output directory is the `output` subdirectory of the edition directory.\n\n```\n--output <pathname>\n```\n\nIf the specified pathname is relative then it is resolved relative to the current working directory. For example `--output .` sets the output directory to the current working directory.\n\n"
  },
  {
    "path": "languages/mk-MK/Help/password.tid",
    "content": "title: $:/language/Help/password\ndescription: Поставува лозинка за крипто операции\n\nSet a password for subsequent crypto operations\n\n```\n--password <password>\n```\n\n''Note'': This should not be used for serving TiddlyWiki with password protection. Instead, see the password option under the [[ServerCommand]].\n"
  },
  {
    "path": "languages/mk-MK/Help/render.tid",
    "content": "title: $:/language/Help/render\ndescription: Рендерира записи одделно во фајлови\n\nRender individual tiddlers identified by a filter and save the results to the specified files.\n\nOptionally, the title of a template tiddler can be specified. In this case, instead of directly rendering each tiddler, the template tiddler is rendered with the \"currentTiddler\" variable set to the title of the tiddler that is being rendered.\n\nA name and value for an additional variable may optionally also be specified.\n\n```\n--render <tiddler-filter> [<filename-filter>] [<render-type>] [<template>] [ [<name>] [<value>] ]*\n```\n\n* ''tiddler-filter'': A filter identifying the tiddler(s) to be rendered\n* ''filename-filter'': Optional filter transforming tiddler titles into pathnames. If omitted, defaults to `[is[tiddler]addsuffix[.html]]`, which uses the unchanged tiddler title as the filename\n* ''render-type'': Optional render type: `text/html` (the default) returns the full HTML text and `text/plain` just returns the text content (ie it ignores HTML tags and other unprintable material)\n* ''template'': Optional template through which each tiddler is rendered\n* ''name'': Name of optional variables\n* ''value'': Value of optional variables\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nNotes:\n\n* The output directory is not cleared of any existing files\n* Any missing directories in the path to the filename are automatically created.\n* When referring to a tiddler with spaces in its title, take care to use both the quotes required by your shell and also TiddlyWiki's double square brackets: `--render \"[[Motovun Jack.jpg]]\"`\n* The filename filter is evaluated with the selected items being set to the title of the tiddler currently being rendered, allowing the title to be used as the basis for computing the filename. For example `[encodeuricomponent[]addprefix[static/]]` applies URI encoding to each title, and then adds the prefix `static/`\n* Multiple ''name''/''value'' pairs can be used to pass more than one variable\n* The `--render` command is a more flexible replacement for both the `--rendertiddler` and `--rendertiddlers` commands, which are deprecated\n\nExamples:\n\n* `--render '[!is[system]]' '[encodeuricomponent[]addprefix[tiddlers/]addsuffix[.html]]'` -- renders all non-system tiddlers as files in the subdirectory \"tiddlers\" with URL-encoded titles and the extension HTML\n* `--render '.' 'tiddlers.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' '[tag[HelloThere]]'` -- renders the tiddlers tagged \"HelloThere\" to a JSON file named \"tiddlers.json\"\n"
  },
  {
    "path": "languages/mk-MK/Help/rendertiddler.tid",
    "content": "title: $:/language/Help/rendertiddler\ndescription: Рендерира запис како назначен вид на содржина\n\n(Note: The `--rendertiddler` command is deprecated in favour of the new, more flexible `--render` command)\n\nRender an individual tiddler as a specified ContentType, defaulting to `text/html` and save it to the specified filename.\n\nOptionally the title of a template tiddler can be specified, in which case the template tiddler is rendered with the \"currentTiddler\" variable set to the tiddler that is being rendered (the first parameter value).\n\nA name and value for an additional variable may optionally also be specified.\n\n```\n--rendertiddler <title> <filename> [<type>] [<template>] [<name>] [<value>]\n```\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny missing directories in the path to the filename are automatically created.\n\nFor example, the following command saves all tiddlers matching the filter `[tag[done]]` to a JSON file titled `output.json` by employing the core template `$:/core/templates/exporters/JsonFile`.\n\n```\n--rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[tag[done]]\"\n```\n"
  },
  {
    "path": "languages/mk-MK/Help/rendertiddlers.tid",
    "content": "title: $:/language/Help/rendertiddlers\ndescription: Рендерира записи што одговараат на филтер за одреден вид на содржина\n\n(Note: The `--rendertiddlers` command is deprecated in favour of the new, more flexible `--render` command)\n\nRender a set of tiddlers matching a filter to separate files of a specified ContentType (defaults to `text/html`) and extension (defaults to `.html`).\n\n```\n--rendertiddlers '<filter>' <template> <pathname> [<type>] [<extension>] [\"noclean\"]\n```\n\nFor example:\n\n```\n--rendertiddlers '[!is[system]]' $:/core/templates/static.tiddler.html ./static text/plain\n```\n\nBy default, the pathname is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny files in the target directory are deleted unless the ''noclean'' flag is specified. The target directory is recursively created if it is missing.\n"
  },
  {
    "path": "languages/mk-MK/Help/save.tid",
    "content": "title: $:/language/Help/save\ndescription: Ги зачувува записите одделно во фајлови\n\nSaves individual tiddlers identified by a filter in their raw text or binary format to the specified files.\n\n```\n--save <tiddler-filter> <filename-filter>\n```\n\n* ''tiddler-filter'': A filter identifying the tiddler(s) to be saved\n* ''filename-filter'': Optional filter transforming tiddler titles into pathnames. If omitted, defaults to `[is[tiddler]]`, which uses the unchanged tiddler title as the filename\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nNotes:\n\n* The output directory is not cleared of any existing files\n* Any missing directories in the path to the filename are automatically created.\n* When saving a tiddler with spaces in its title, take care to use both the quotes required by your shell and also TiddlyWiki's double square brackets: `--save \"[[Motovun Jack.jpg]]\"`\n* The filename filter is evaluated with the selected items being set to the title of the tiddler currently being saved, allowing the title to be used as the basis for computing the filename. For example `[encodeuricomponent[]addprefix[static/]]` applies URI encoding to each title, and then adds the prefix `static/`\n* The `--save` command is a more flexible replacement for both the `--savetiddler` and `--savetiddlers` commands, which are deprecated\n\nExamples:\n\n* `--save \"[!is[system]is[image]]\" \"[encodeuricomponent[]addprefix[tiddlers/]]\"` -- saves all non-system image tiddlers as files in the subdirectory \"tiddlers\" with URL-encoded titles\n"
  },
  {
    "path": "languages/mk-MK/Help/savetiddler.tid",
    "content": "title: $:/language/Help/savetiddler\ndescription: Зачувува запис во фајл\n\n(Note: The `--savetiddler` command is deprecated in favour of the new, more flexible `--save` command)\n\nSaves an individual tiddler in its raw text or binary format to the specified filename.\n\n```\n--savetiddler <title> <filename>\n```\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny missing directories in the path to the filename are automatically created.\n"
  },
  {
    "path": "languages/mk-MK/Help/savetiddlers.tid",
    "content": "title: $:/language/Help/savetiddlers\ndescription: Зачувува повеќе записи во датотека\n\n(Note: The `--savetiddlers` command is deprecated in favour of the new, more flexible `--save` command)\n\nSaves a group of tiddlers in their raw text or binary format to the specified directory.\n\n```\n--savetiddlers <filter> <pathname> [\"noclean\"]\n```\n\nBy default, the pathname is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nThe output directory is cleared of existing files before saving the specified files. The deletion can be disabled by specifying the ''noclean'' flag.\n\nAny missing directories in the pathname are automatically created.\n"
  },
  {
    "path": "languages/mk-MK/Help/savewikifolder.tid",
    "content": "title: $:/language/Help/savewikifolder\ndescription: Зачувува википедија во нов фолдер\n\n<<.from-version \"5.1.20\">> Saves the current wiki as a wiki folder, including tiddlers, plugins and configuration:\n\n```\n--savewikifolder <wikifolderpath> [<filter>] [ [<name>=<value>] ]*\n```\n\n* The target wiki folder must be empty or non-existent\n* The filter specifies which tiddlers should be included. It is optional, defaulting to `[all[tiddlers]]`\n* Plugins from the official plugin library are replaced with references to those plugins in the `tiddlywiki.info` file\n* Custom plugins are unpacked into their own folder\n\nThe following options are supported:\n\n* ''filter'': a filter expression that defines the tiddlers to include in the output.\n* ''explodePlugins'': defaults to \"yes\"\n** ''yes'' will \"explode\" plugins into separate tiddler files and save them to the plugin directory within the wiki folder\n** ''no'' will suppress exploding plugins into their constituent tiddler files. It will save the plugin as a single JSON tiddler in the tiddlers folder\n\nNote that both ''explodePlugins'' options will produce wiki folders that build the exact same original wiki. The difference lies in how plugins are represented in the wiki folder.\n\nA common usage is to convert a TiddlyWiki HTML file into a wiki folder:\n\n```\ntiddlywiki --load ./mywiki.html --savewikifolder ./mywikifolder\n```\n\nSave the plugin to the tiddlers directory of the target wiki folder:\n\n```\ntiddlywiki --load ./mywiki.html --savewikifolder ./mywikifolder explodePlugins=no\n```\n"
  },
  {
    "path": "languages/mk-MK/Help/server.tid",
    "content": "title: $:/language/Help/server\ndescription: (застарено: погледнете ја 'listen' командата) Обезбедува интерфејс помеѓу HTTP серверот и ТидлиВики\n\nLegacy command to serve a wiki over HTTP.\n\n```\n--server <port> <root-tiddler> <root-render-type> <root-serve-type> <username> <password> <host> <path-prefix> <debug-level>\n```\n\nThe parameters are:\n\n* ''port'' - port number on which to listen; non-numeric values are interpreted as a system environment variable from which the port number is extracted (defaults to \"8080\")\n* ''root-tiddler'' - the tiddler to serve at the root (defaults to \"$:/core/save/all\")\n* ''root-render-type'' - the content type to which the root tiddler should be rendered (defaults to \"text/plain\")\n* ''root-serve-type'' - the content type with which the root tiddler should be served (defaults to \"text/html\")\n* ''username'' - the default username for signing edits\n* ''password'' - optional password for basic authentication\n* ''host'' - optional hostname to serve from (defaults to \"127.0.0.1\" aka \"localhost\")\n* ''path-prefix'' - optional prefix for paths\n* ''debug-level'' - optional debug level; set to \"debug\" to view request details (defaults to \"none\")\n\nIf the password parameter is specified then the browser will prompt the user for the username and password. Note that the password is transmitted in plain text so this implementation should only be used on a trusted network or over HTTPS.\n\nFor example:\n\n```\n--server 8080 $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n\nThe username and password can be specified as empty strings if you need to set the hostname or pathprefix and don't want to require a password.\n\n\n```\n--server 8080 $:/core/save/all text/plain text/html \"\" \"\" 192.168.0.245\n```\n\nUsing an address like this exposes your system to the local network. For information on opening up your instance to the entire local network, and possible security concerns, see the WebServer tiddler at TiddlyWiki.com.\n\nTo run multiple TiddlyWiki servers at the same time you'll need to put each one on a different port. It can be useful to use an environment variable to pass the port number to the Node.js process. This example references an environment variable called \"MY_PORT_NUMBER\":\n\n```\n--server MY_PORT_NUMBER $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n"
  },
  {
    "path": "languages/mk-MK/Help/setfield.tid",
    "content": "title: $:/language/Help/setfield\ndescription: Ги подготвува надворешните записи за употреба\n\n//Note that this command is experimental and may change or be replaced before being finalised//\n\nSets the specified field of a group of tiddlers to the result of wikifying a template tiddler with the `currentTiddler` variable set to the tiddler.\n\n```\n--setfield <filter> <fieldname> <templatetitle> <rendertype>\n```\n\nThe parameters are:\n\n* ''filter'' - filter identifying the tiddlers to be affected\n* ''fieldname'' - the field to modify (defaults to \"text\")\n* ''templatetitle'' - the tiddler to wikify into the specified field. If blank or missing then the specified field is deleted\n* ''rendertype'' - the text type to render (defaults to \"text/plain\"; \"text/html\" can be used to include HTML tags)\n"
  },
  {
    "path": "languages/mk-MK/Help/unpackplugin.tid",
    "content": "title: $:/language/Help/unpackplugin\ndescription: Ги отпакува записите поврзани со плаген\n\nГи екстрактира записите поврзани со плаген и ги креира како обични записи:\n\n```\n--unpackplugin <title>\n```\n"
  },
  {
    "path": "languages/mk-MK/Help/verbose.tid",
    "content": "title: $:/language/Help/verbose\ndescription: Активира опширен излезен режим\n\nАктивира опширен излезен режим, корисен за debugging\n\n```\n--verbose\n```\n"
  },
  {
    "path": "languages/mk-MK/Help/version.tid",
    "content": "title: $:/language/Help/version\ndescription: Ја покажува ТидлиВики верзијата.\n\nЈа покажува ТидлиВики верзијата.\n\n```\n--version\n```\n"
  },
  {
    "path": "languages/mk-MK/Import.multids",
    "content": "title: $:/language/Import/\n\nEditor/Import/Heading: Импортирај слики и додади ги во уредникот.\nImported/Hint: Овие записи беа импортирани:\nListing/Cancel/Caption: Откажи\nListing/Cancel/Warning: Дали сакате да го откажете импортирањето?\nListing/Hint: Овие записи се спремни за импорт:\nListing/Import/Caption: Импортирај\nListing/Preview: Преглед:\nListing/Preview/Diff: Разлика\nListing/Preview/DiffFields: Разлика (Полиња)\nListing/Preview/Fields: Полиња\nListing/Preview/Text: Текст\nListing/Preview/TextRaw: Текст (Чист)\nListing/Rename/CancelRename: Откажи\nListing/Rename/ConfirmRename: Преименувај запис\nListing/Rename/OverwriteWarning: Запис со ваков наслов веќе постои.\nListing/Rename/Prompt: Преименувај во:\nListing/Rename/Tooltip: Преименувај го записот пред импортирање\nListing/Select/Caption: Избери\nListing/Status/Caption: Статус\nListing/Title/Caption: Наслов\nUpgrader/Plugins/Suppressed/Incompatible: Блокиран некомпатибилен или застарен плаген.\nUpgrader/Plugins/Suppressed/Version: Блокиран плаген (поради тоа што дојдовниот <<incoming>> не е понов од постоечкиот <<existing>>).\nUpgrader/Plugins/Upgraded: Надоградба на плаген  од <<incoming>> во <<upgraded>>.\nUpgrader/State/Suppressed: Блокирана привремена состојба на запис.\nUpgrader/System/Alert: Ќе импортирате запис кој ќе обнови (презапише) основен модуларен запис. Ова не е препорачливо бидејќи може да го направи системот нестабилен.\nUpgrader/System/Disabled: Исклучен системски запис.\nUpgrader/System/Suppressed: Блокиран системски запис.\nUpgrader/System/Warning: Основен модуларен запис.\nUpgrader/ThemeTweaks/Created: Мигрирана тематска измена од <$text text=<<from>>/>.\nUpgrader/Tiddler/Disabled: Исклучен запис.\nUpgrader/Tiddler/Selected: Избран запис.\nUpgrader/Tiddler/Unselected: Неизбран запис.\n"
  },
  {
    "path": "languages/mk-MK/Misc.multids",
    "content": "title: $:/language/\n\nAboveStory/ClassicPlugin/Warning: Изгледа дека се обидувате да вклучите плаген дизајниран за ТидлиВики Класик. Имајте во предвид дека [[овие плагени не функционираат со ТидлиВики верзија 5.x.x|https://tiddlywiki.com/#TiddlyWikiClassic]]. Избришани плагени што се за ТидлиВики Класик:\nBinaryWarning/Prompt: Овој запис содржи бинарни податоци\nClassicWarning/Hint: Овој запис е креиран со вики-текст формат за ТидлиВики Класик кој што не е целосно компатибилен со верзија 5 на ТидлиВики. Посетете ја оваа страница https://tiddlywiki.com/static/Upgrading.html за повеќе информации.\nClassicWarning/Upgrade/Caption: надоградба\nCloseAll/Button: затвори ги сите\nColourPicker/Recent: Скорашни:\nConfirmAction: Дали сакате да продолжите?\nConfirmCancelTiddler: Дали сакате да ги отстраните промените на записот \"<$text text=<<title>>/>\"?\nConfirmDeleteTiddler: Дали сакате да го избришете записот \"<$text text=<<title>>/>\"?\nConfirmDeleteTiddlers: Сигурно сакате да избришете <<resultCount>> запис(и)?\nConfirmEditShadowTiddler: Ќе започнете со уредување на сенка. Било каква промена што ќе ја направите тука ќе го презапише (обнови) основниот систем. Сигурно сакате да го уредувате \"<$text text=<<title>>/>\"?\nConfirmOverwriteTiddler: Дали сакате да го обновите записот \"<$text text=<<title>>/>\"?\nCount: брои\nDefaultNewTiddlerTitle: Нов Запис\nDiffs/CountMessage: <<diff-count>> разлики\nDropMessage: Пуштете сега (или користете го копчето „Escape“ за да откажете)\nEncryption/Cancel: Откажи\nEncryption/ConfirmClearPassword: Дали сакате да ја избришете лозинката? Со овој чекор ќе го отстраните шифрирањето што се применува за оваа википедија\nEncryption/Password: Лозинка\nEncryption/PasswordNoMatch: Лозинките не се совпаѓаат\nEncryption/PromptSetPassword: Поставете нова лозинка за ова ТидлиВики\nEncryption/RepeatPassword: Повтори лозинка\nEncryption/SetPassword: Постави лозинка\nEncryption/Username: Корисничко име\nError/Caption: Грешка\nError/DeserializeOperator/MissingOperand: Грешка во филтер: Недостасува управител за операторот 'deserialize'\nError/DeserializeOperator/UnknownDeserializer: Грешка во филтер: Непознат 'deserializer' означен како управител на операторот 'deserialize' \nError/Filter: Грешка во филтер\nError/FilterRunPrefix: Грешка во филтер: Непознат префикс за работа на филтерот\nError/FilterSyntax: Синтаксна грешка во изразот на филтерот\nError/FormatFilterOperator: Грешка во филтер: Непозната наставка за операторот на 'format' филтерот\nError/IsFilterOperator: Грешка во филтер: Непознат управител на операторот 'is'\nError/LoadingPluginLibrary: Грешка при вчитување на библиотеката со плагени\nError/NetworkErrorAlert: `<h2>''Мрежна грешка''</h2> Изгледа дека врската со серверот е изгубена. Проверете ја вашата мрежна конекција. Обидете се да ја вратите врската пред да продолжите.<br><br>''Сите незачувани промени автоматски ќе се синхронизираат откако ќе се врати поврзувањето''.`\nError/PutEditConflict: Фајлот е променет на серверот\nError/PutForbidden: Барањето е одбиено\nError/PutUnauthorized: Потребна е авторизација\nError/RecursiveTransclusion: Грешка при ''recursive transclusion'' во widget\nError/RetrievingSkinny: Грешка при превземање листа со записи\nError/SavingToTWEdit: Грешка при меморирање во TWEdit\nError/WhileSaving: Грешка при меморирање\nError/XMLHttpRequest: XMLHttpRequest грешка\nError/ZoominTextNode: Грешка во изгледот на реката: Се чини дека се обидовте да работите со запис кој се прикажува во посебен контејнер. Ова најверојатно е предизвикано од користењето на `$:/tags/StoryTiddlerTemplateFilter` со шаблон кој содржи текст или празно место на почетокот. Ве молиме користете ја прагмата `\\whitespace trim` и погрижете се целата содржина на записот да биде опфатена во еден HTML елемент. Текстот кој го предизвика овој проблем:\nInternalJavaScriptError/Hint: Ах...е ова е за срамота. Се препорачува да го рестартирате вашето ТидлиВики со освежување на вашиот прелистувач\nInternalJavaScriptError/Title: Внатрешна ЈаваСкрипт грешка\nLayoutSwitcher/Description: Отвори го менувачот за распоред\nLazyLoadingWarning: <p>Се обидува да вчита надворешна содржина од ''<$text text={{!!_canonical_uri}}/>''</p><p>Доколку оваа порака не исчезне, или видот на содржина во записот не одговара со надворешната содржина, или пак користите прелистувач кој не подржува надворешна содржина за самостојни википедии. Видете повеќе тука: https://tiddlywiki.com/#ExternalText</p>\nLoginToTiddlySpace: Најава до TiddlySpace\nManager/Controls/FilterByTag/None: (ништо)\nManager/Controls/FilterByTag/Prompt: Филтер според ознака:\nManager/Controls/Order/Prompt: Обратен редослед\nManager/Controls/Search/Placeholder: Пребарувај\nManager/Controls/Search/Prompt: Пребарувај:\nManager/Controls/Show/Option/Tags: ознаки\nManager/Controls/Show/Option/Tiddlers: записи\nManager/Controls/Show/Prompt: Прикажи:\nManager/Controls/Sort/Prompt: Подреди според:\nManager/Item/Colour: Боја\nManager/Item/Fields: Полиња\nManager/Item/Icon: Икона\nManager/Item/Icon/None: (ништо)\nManager/Item/RawText: Чист текст\nManager/Item/Tags: Ознаки\nManager/Item/Tools: Алатки\nManager/Item/WikifiedText: Wikified текст\nMissingTiddler/Hint: Записот \"<$text text=<<currentTiddler>>/>\" е непостоечки -- кликни {{||$:/core/ui/Buttons/edit}} за да го креираш\nNo: Не\nOfficialPluginLibrary: Официјална библиотека за плагени\nOfficialPluginLibrary/Hint: Официјална библиотека за ТидлиВики плагени од tiddlywiki.com. Сите плагени, теми и јазични пакети се одржувани од страна на главниот тим.\nPageTemplate/Description: Основен ТидлиВики распоред\nPageTemplate/Name: Основен шаблон\nPluginReloadWarning: Ве молиме зачувајте {{$:/core/ui/Buttons/save-wiki}} и освежете {{$:/core/ui/Buttons/refresh}} за да може промените во ЈаваСкрипт плагените да имаат ефект\nRecentChanges/DateFormat: DDth MMM YYYY\nShortcuts/Input/Accept/Hint: Прифати го означеното\nShortcuts/Input/AcceptVariant/Hint: Прифати го означеното (варијанта)\nShortcuts/Input/AdvancedSearch/Hint: Отвори напредно пребарување додека пишуваме во полето за пребарувај\nShortcuts/Input/Cancel/Hint: Исчисти го полето за внесување\nShortcuts/Input/Down/Hint: Одбери следно\nShortcuts/Input/Tab-Left/Hint: Одбери претходна група\nShortcuts/Input/Tab-Right/Hint: Одбери следна група\nShortcuts/Input/Up/Hint: Одбери претходно\nShortcuts/SidebarLayout/Hint: Смени распоред на страничното мени\nSwitcher/Subtitle/language: Смени јазик\nSwitcher/Subtitle/layout: Смени распоред\nSwitcher/Subtitle/palette: Смени палета\nSwitcher/Subtitle/theme: Смени тема\nSystemTiddler/Tooltip: Ова е системски запис\nSystemTiddlers/Include/Prompt: Прикажи ги системските записи\nTagManager/Colour/Heading: Боја\nTagManager/Count/Heading: Вкупно\nTagManager/Icon/Heading: Икона\nTagManager/Icons/None: Ништо\nTagManager/Info/Heading: Инфо\nTagManager/Tag/Heading: Ознака\nTiddler/DateFormat: DDth MMM YYYY во hh:0mm\nUnsavedChangesWarning: Имате незачувани промени во вашето ТидлиВики\nYes: Да\n"
  },
  {
    "path": "languages/mk-MK/Modals/Download.tid",
    "content": "title: $:/language/Modals/Download\ntype: \nsubtitle: Download changes\nfooter: <$button message=\"tm-close-tiddler\">Close</$button>\nhelp: https://tiddlywiki.com/static/DownloadingChanges.html\n\nВашиот прелистувач подржува само мануелно меморирање.\n\nЗа да ги зачувате промените на вашата википедија, кликнете со десен клик на долниот линк за преземање (Download link) и одберете „Download file“ или „Save file“. Па, потоа одберете име на фајлот и фолдер за меморирање.\n\n//Можете и побрзо да го направите тоа со кликање на линкот за преземање при што истовремено држите на Ctrl (за Виндовс) или Options/Alt (за Мекинтош). При ваквото меморирање нема да побара од вас да го именувате фајлот или пак да одберете фолдер за меморирање. Но, подоцна можеби ќе треба да го преименувате фајлот вклучувајќи ја и .html екстензијата.//\n\nНа мобилните телефони каде не е дозволено преземањето на фајлови, наместо тоа, можете да го обележите линкот (bookmark), а потоа да ги синхронизирате обележените линкови со вашиот десктоп каде што ќе можете да извршите нормално меморирање."
  },
  {
    "path": "languages/mk-MK/NewJournal.multids",
    "content": "title: $:/config/NewJournal/\n\nTags: Дневник\nText:  \nTitle: DDth MMM YYYY\n"
  },
  {
    "path": "languages/mk-MK/Notifications.multids",
    "content": "title: $:/language/Notifications/\n\nCopiedToClipboard/Failed: Неуспешно копирање до клипборд!\nCopiedToClipboard/Succeeded: Копирано до клипборд!\nSave/Done: Зачувана википедија\nSave/Starting: Википедијата започнува да се зачувува\n"
  },
  {
    "path": "languages/mk-MK/Search.multids",
    "content": "title: $:/language/Search/\n\nDefaultResults/Caption: Листа\nFilter/Caption: Филтер\nFilter/Hint: Пребарувај со [[филтер|https://tiddlywiki.com/static/Filters.html]]\nFilter/Matches: //<small><<resultCount>> пронајдени</small>//\nMatches: //<small><<resultCount>> пронајдени</small>//\nMatches/All: Сите резултати:\nMatches/Title: Наслови:\nSearch: Пребарувај\nSearch/TooShort: Текстот е прекраток за пребарување\nShadows/Caption: Сенки\nShadows/Hint: Пребарувај записи кои се сенки\nShadows/Matches: //<small><<resultCount>> пронајдени</small>//\nStandard/Caption: Стандардно\nStandard/Hint: Пребарувај општи записи\nStandard/Matches: //<small><<resultCount>> пронајдени</small>//\nSystem/Caption: Системско\nSystem/Hint: Пребарувај записи кои се системски\nSystem/Matches: //<small><<resultCount>> пронајдени</small>//\n"
  },
  {
    "path": "languages/mk-MK/SideBar.multids",
    "content": "title: $:/language/SideBar/\n\nAll/Caption: Сите\nCaption: Мени\nContents/Caption: Содржини\nDrafts/Caption: Незачувани\nExplorer/Caption: Истражувач\nMissing/Caption: Непостоечки\nMore/Caption: Повеќе\nOpen/Caption: Отворени\nOrphans/Caption: Самостојни\nRecent/Caption: Скорашни\nShadows/Caption: Сенки\nSystem/Caption: Системски\nTags/Caption: Ознаки\nTags/Untagged/Caption: без\nTools/Caption: Алатки\nTypes/Caption: Видови\n"
  },
  {
    "path": "languages/mk-MK/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\n''//персонализирана википедија на знаење//''"
  },
  {
    "path": "languages/mk-MK/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\nТидлиВики"
  },
  {
    "path": "languages/mk-MK/Snippets/ListByTag.tid",
    "content": "title: $:/language/Snippets/ListByTag\ntags: $:/tags/TextEditor/Snippet\ncaption: Листа на записи според ознаки\n\n<<list-links \"[tag[task]sort[title]]\">>\n"
  },
  {
    "path": "languages/mk-MK/Snippets/MacroDefinition.tid",
    "content": "title: $:/language/Snippets/MacroDefinition\ntags: $:/tags/TextEditor/Snippet\ncaption: Дефинирање макро\n\n\\define macroName(param1:\"default value\",param2)\nText of the macro\n\\end\n"
  },
  {
    "path": "languages/mk-MK/Snippets/Table4x3.tid",
    "content": "title: $:/language/Snippets/Table4x3\ntags: $:/tags/TextEditor/Snippet\ncaption: Табела од 4 колони со 3 реда\n\n|! |!Алфа |!Бета |!Гама |!Делта |\n|!Еден | | | | |\n|!Два | | | | |\n|!Три | | | | |\n"
  },
  {
    "path": "languages/mk-MK/Snippets/TableOfContents.tid",
    "content": "title: $:/language/Snippets/TableOfContents\ntags: $:/tags/TextEditor/Snippet\ncaption: Содржина\n\n<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'TableOfContents'>>\n\n</div>"
  },
  {
    "path": "languages/mk-MK/ThemeTweaks.multids",
    "content": "title: $:/language/ThemeTweaks/\n\nMetrics: Големина\nMetrics/BodyFontSize: Големина на фонт во реката со записи\nMetrics/BodyLineHeight: Размер во реката со записи\nMetrics/FontSize: Големина на фонт за страничното мени\nMetrics/LineHeight: Размер за страничното мени\nMetrics/SidebarBreakpoint: Сокри го страничното мени\nMetrics/SidebarBreakpoint/Hint: минимална ширина со која ќе се одреди дали страничното мени <br> ќе биде прикажано или сокриено при намалување на <br> отворениот ТидлиВики прозорец\nMetrics/SidebarWidth: Ширина на страничното мени\nMetrics/SidebarWidth/Hint: ширината на страничното мени во <br> __флуидни записи, фиксирано мени__ распоред\nMetrics/StoryLeft: Лева маргина на реката со записи\nMetrics/StoryLeft/Hint: колку левата маргина на реката со записи ќе биде <br> оддалечена од левата страна на екранот\nMetrics/StoryRight: Лева маргина на страничното мени\nMetrics/StoryRight/Hint: колку левата маргина на страничното мени <br> ќе биде оддалечена од левата страна на екранот во <br> __фиксирани записи, флуидно мени__ распоред\nMetrics/StoryTop: Горна маргина\nMetrics/StoryTop/Hint: колку горната маргина ќе биде оддалечена од горната страна на екранот\nMetrics/StoryWidth: Општа ширина\nMetrics/StoryWidth/Hint: ширината на самата река со записи\nMetrics/TiddlerWidth: Ширина на запис\nMetrics/TiddlerWidth/Hint: ширината во реката со записи\nOptions: Опции\nOptions/CodeWrapping: Завиткајте ги долгите реченици при работа со код блокови\nOptions/SidebarLayout: Распоред\nOptions/SidebarLayout/Fixed-Fluid: Фиксирани записи, флуидно мени\nOptions/SidebarLayout/Fluid-Fixed: Флуидни записи, фиксирано мени\nOptions/StickyTitles: Видливи наслови\nOptions/StickyTitles/Hint: насловите на записите да се “закачат“ <br> на горниот дел од реката со записи при скролање нагоре/надоле\nSettings: Поставки\nSettings/BackgroundImage: Позадинска слика\nSettings/BackgroundImageAttachment: Начин на однесување на сликата\nSettings/BackgroundImageAttachment/Fixed: Фиксирано\nSettings/BackgroundImageAttachment/Scroll: Движечко\nSettings/BackgroundImageSize: Димензии на сликата\nSettings/BackgroundImageSize/Auto: Ауто\nSettings/BackgroundImageSize/Contain: Прикриј\nSettings/BackgroundImageSize/Cover: Опфати\nSettings/CodeFontFamily: Фонт фамилија за код\nSettings/EditorFontFamily: Фонт фамилија за уредник\nSettings/FontFamily: Фонт фамилија\nThemeTweaks: Измени\nThemeTweaks/Hint: Можете да промените одредени аспекти на „Ванила“ темата.\n"
  },
  {
    "path": "languages/mk-MK/TiddlerInfo.multids",
    "content": "title: $:/language/TiddlerInfo/\n\nAdvanced/Caption: Напредно\nAdvanced/PluginInfo/Empty/Hint: ништо\nAdvanced/PluginInfo/Heading: Опис на плаген\nAdvanced/PluginInfo/Hint: Овој плаген ги содржи следниве сенки:\nAdvanced/ShadowInfo/Heading: Статус за сенка\nAdvanced/ShadowInfo/NotShadow/Hint: Записот <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> не е сенка\nAdvanced/ShadowInfo/OverriddenShadow/Hint: Заменето е со обичен запис\nAdvanced/ShadowInfo/Shadow/Hint: Записот <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> е сенка\nAdvanced/ShadowInfo/Shadow/Source: Дефинирано е во плагенот <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>\nFields/Caption: Полиња\nList/Caption: Своја листа\nList/Empty: Овој запис нема своја листа\nListed/Caption: Друга листа\nListed/Empty: Овој запис не е спомнат во друга листа\nReferences/Caption: Линкови\nReferences/Empty: Нема записи кои го спомнуваат овој запис\nTagging/Caption: Ознаки\nTagging/Empty: Нема записи кои се означени со овој запис\nTools/Caption: Алатки\n"
  },
  {
    "path": "languages/mk-MK/Types/application%2Fjavascript.tid",
    "content": "title: $:/language/Docs/Types/application/javascript\ndescription: ЈаваСкрипт\nname: application/javascript\ngroup: Девелопер\n"
  },
  {
    "path": "languages/mk-MK/Types/application%2Fjson.tid",
    "content": "title: $:/language/Docs/Types/application/json\ndescription: JSON дата\nname: application/json\ngroup: Девелопер\n"
  },
  {
    "path": "languages/mk-MK/Types/application%2Fx-tiddler-dictionary.tid",
    "content": "title: $:/language/Docs/Types/application/x-tiddler-dictionary\ndescription: Дата речник\nname: application/x-tiddler-dictionary\ngroup: Девелопер\n"
  },
  {
    "path": "languages/mk-MK/Types/image%2Fgif.tid",
    "content": "title: $:/language/Docs/Types/image/gif\ndescription: GIF слика\nname: image/gif\ngroup: Фотографија\n"
  },
  {
    "path": "languages/mk-MK/Types/image%2Fjpeg.tid",
    "content": "title: $:/language/Docs/Types/image/jpeg\ndescription: JPEG слика\nname: image/jpeg\ngroup: Фотографија\n"
  },
  {
    "path": "languages/mk-MK/Types/image%2Fpng.tid",
    "content": "title: $:/language/Docs/Types/image/png\ndescription: PNG слика\nname: image/png\ngroup: Фотографија\n"
  },
  {
    "path": "languages/mk-MK/Types/image%2Fsvg%2Bxml.tid",
    "content": "title: $:/language/Docs/Types/image/svg+xml\ndescription: SVG слика\nname: image/svg+xml\ngroup: Фотографија\n"
  },
  {
    "path": "languages/mk-MK/Types/text%2Fcss.tid",
    "content": "title: $:/language/Docs/Types/text/css\ndescription: Статичен stylesheet\nname: text/css\ngroup: Девелопер\n"
  },
  {
    "path": "languages/mk-MK/Types/text%2Fhtml.tid",
    "content": "title: $:/language/Docs/Types/text/html\ndescription: HTML markup\nname: text/html\ngroup: Текст\n"
  },
  {
    "path": "languages/mk-MK/Types/text%2Fplain.tid",
    "content": "title: $:/language/Docs/Types/text/plain\ndescription: Обичен текст\nname: text/plain\ngroup: Текст\n"
  },
  {
    "path": "languages/mk-MK/Types/text%2Fvnd.tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/vnd.tiddlywiki\ndescription: ТидлиВики 5\nname: text/vnd.tiddlywiki\ngroup: Текст\n"
  },
  {
    "path": "languages/mk-MK/plugin.info",
    "content": "{\n\t\"title\": \"$:/languages/mk-MK\",\n\t\"name\": \"mk-MK\",\n\t\"plugin-type\": \"language\",\n\t\"description\": \"Македонски (Македонија)\",\n\t\"author\": \"Nikola Dio Petkovski\",\n\t\"core-version\": \">=5.1.4\"\n}\n"
  },
  {
    "path": "languages/nl-NL/Buttons.multids",
    "content": "title: $:/language/Buttons/\n\nAdvancedSearch/Caption: geavanceerd zoeken\nAdvancedSearch/Hint: Geavanceerd zoeken\nBold/Caption: vet\nBold/Hint: Maak selectie vet\nCancel/Caption: annuleer\nCancel/Hint: Annuleer wijzigingen\nClear/Caption: maak schoon\nClear/Hint: Maak schoon en kleur\nClone/Caption: kloon\nClone/Hint: Kloon deze tiddler\nClose/Caption: sluit\nClose/Hint: Sluit deze tiddler\nCloseAll/Caption: sluit alle\nCloseAll/Hint: Sluit alle tiddlers\nCloseOthers/Caption: sluit andere\nCloseOthers/Hint: Sluit alle andere tiddlers\nControlPanel/Caption: bedieningspaneel\nControlPanel/Hint: Open bedieningspaneel\nCopyToClipboard/Caption: kopieer naar klembord\nCopyToClipboard/Hint: Kopieer deze tekst naar het klembord\nDelete/Caption: verwijder\nDelete/Hint: Verwijder deze tiddler\nEdit/Caption: wijzig\nEdit/Hint: Wijzig deze tiddler\nEditorHeight/Caption: hoogte van de editor\nEditorHeight/Caption/Auto: Pas automatisch hoogte aan zodat inhoud past\nEditorHeight/Caption/Fixed: Vaste hoogte:\nEditorHeight/Hint: Kies de hoogte van de teksteditor\nEncryption/Caption: versleuteling\nEncryption/ClearPassword/Caption: verwijder wachtwoord\nEncryption/ClearPassword/Hint: Verwijder het wachtwoord en sla de wiki onversleuteld op\nEncryption/Hint: Vul in / verwijder wachtwoord om deze wiki op te slaan\nEncryption/SetPassword/Caption: vul wachtwoord in\nEncryption/SetPassword/Hint: Vul een wachtwoord in om deze wiki versleuteld op te slaan\nExcise/Caption: snij uit\nExcise/Caption/Excise: Snij uit\nExcise/Caption/MacroName: Macro naam:\nExcise/Caption/NewTitle: Titel van de nieuwe tiddler\nExcise/Caption/Replace: Vervang uitgesneden tekst door:\nExcise/Caption/Replace/Transclusion: transclusie\nExcise/Caption/Tag: Label de nieuwe tiddler met de titel van deze tiddler\nExcise/Caption/TiddlerExists: Waarschuwing: deze tiddler bestaat al\nExcise/Hint: Knip en plak de geselecteerde tekst in een nieuwe tiddler\nExportPage/Caption: exporteer alle\nExportPage/Hint: Exporteer alle tiddlers\nExportTiddler/Caption: exporteer tiddler\nExportTiddler/Hint: Exporteer tiddler\nExportTiddlers/Caption: exporteer tiddlers\nExportTiddlers/Hint: Exporteer tiddlers\nFold/Caption: klap tiddler in\nFold/FoldBar/Caption: in- / uitklap balk\nFold/FoldBar/Hint: Optionele in- / uitklapbalken\nFold/Hint: Klap de tekst van deze tiddler in\nFoldAll/Caption: klap alle tiddlers in\nFoldAll/Hint: Klap de tekst van alle open tiddlers in\nFoldOthers/Caption: klap andere tiddlers in\nFoldOthers/Hint: Klap de tekst van alle andere open tiddlers in\nFullScreen/Caption: volledig scherm\nFullScreen/Hint: Start of verlaat 'volledig scherm'\nHeading1/Caption: kop 1\nHeading1/Hint: Formatteer gekozen regel als kop 1\nHeading2/Caption: kop 2\nHeading2/Hint: Formatteer gekozen regel als kop 2\nHeading3/Caption: kop 3\nHeading3/Hint: Formatteer gekozen regel als kop 3\nHeading4/Caption: kop 4\nHeading4/Hint: Formatteer gekozen regel als kop 4\nHeading5/Caption: kop 5\nHeading5/Hint: Formatteer gekozen regel als kop 5\nHeading6/Caption: kop 6\nHeading6/Hint: Formatteer gekozen regel als kop 6\nHelp/Caption: hulp\nHelp/Hint: Toon hulppaneel\nHideSideBar/Caption: verberg zijpaneel\nHideSideBar/Hint: Verberg zijpaneel\nHome/Caption: home\nHome/Hint: Open de standaard tiddlers\nImport/Caption: importeer\nImport/Hint: Importeer bestanden\nInfo/Caption: info\nInfo/Hint: Toon informatie over deze tiddler\nItalic/Caption: cursief\nItalic/Hint: Maak selectie cursief\nLanguage/Caption: taal\nLanguage/Hint: Kies de taal voor de gebruikersomgeving\nLineWidth/Caption: lijnbreedte\nLineWidth/Hint: Stel lijnbreedte in\nLink/Hint: Maak een wikitext link\nLinkify/Hint: Zet selectie tussen vierkante haakjes\nListBullet/Caption: lijst met opsommingstekens\nListBullet/Hint: Maak van selectie een lijst met opsommingstekens\nListNumber/Caption: genummerde lijst\nListNumber/Hint: Maak van selectie een genummerde lijst\nMonoBlock/Caption: blok in 'monospace'\nMonoBlock/Hint: Maak van selectie een 'monospace' blokformattering\nMonoLine/Caption: in 'monospace'\nMonoLine/Hint: Maak van selectie een 'monospace' karakterformattering\nMore/Caption: meer\nMore/Hint: Meer mogelijkheden\nNewHere/Caption: nieuw hier\nNewHere/Hint: Maak een nieuwe tiddler gelabeld met deze tiddler\nNewImage/Caption: nieuwe afbeelding\nNewImage/Hint: Maak een nieuwe afbeelding\nNewJournal/Caption: nieuw journaal\nNewJournal/Hint: Maak een nieuwe journaaltiddler\nNewJournalHere/Caption: nieuw journaal hier\nNewJournalHere/Hint: Maak een nieuwe journaaltiddler gelabeld met deze tiddler\nNewMarkdown/Caption: nieuwe 'Markdown' tiddler\nNewMarkdown/Hint: Maak een nieuwe 'Markdown' tiddler\nNewTiddler/Caption: nieuwe tiddler\nNewTiddler/Hint: Maak een nieuwe tiddler\nOpacity/Caption: ondoorzichtigheid\nOpacity/Hint: Stel de ondoorzichtigheid in\nOpenWindow/Caption: open in een nieuw venster\nOpenWindow/Hint: Open tiddler in nieuw venster\nPaint/Caption: kleur om te tekenen\nPaint/Hint: Kies kleur om te tekenen\nPalette/Caption: palet\nPalette/Hint: Kies het kleurpalet\nPermalink/Caption: permalink\nPermalink/Hint: Zet browseradres als directe link naar deze tiddler\nPermaview/Caption: permaview\nPermaview/Hint: Zet browseradres als directe link naar alle open tiddlers\nPicture/Caption: afbeelding\nPicture/Hint: Voeg afbeelding in\nPreview/Caption: voorbeeldweergave\nPreview/Hint: Toon voorbeeldweergavepaneel\nPreviewType/Caption: type voorbeeldweergave\nPreviewType/Hint: Kies type voorbeeldweergave\nPrint/Caption: druk pagina af\nPrint/Hint: Druk the actuele pagina af\nQuote/Caption: 'blockquote'\nQuote/Hint: Maak van selectie een 'blockqoute'\nRefresh/Caption: ververs\nRefresh/Hint: Ververs deze wiki\nRotateLeft/Caption: Roteer linksom\nRotateLeft/Hint: Roteer 90 graden linksom\nSave/Caption: opslaan\nSave/Hint: Sla deze tiddler op\nSaveWiki/Caption: opslaan\nSaveWiki/Hint: Sla wijzigingen op\nShowSideBar/Caption: toon zijpaneel\nShowSideBar/Hint: Toon zijpaneel\nSidebarSearch/Hint: Kies het zoekvak in het zijpaneel\nSize/Caption: formaat van de afbeelding\nSize/Caption/Height: Hoogte:\nSize/Caption/Resize: Wijzig het formaat van de afbeelding\nSize/Caption/Width: Breedte:\nSize/Hint: Stel grootte van afbeelding in\nStamp/Caption: stempel\nStamp/Caption/New: Voeg je eigen ... toe\nStamp/Hint: Voeg een bestaand tekstfragment in\nStamp/New/Text: Tekstfragment (Denk eraan om een beschrijvende titel aan het 'caption' veld toe te voegen).\nStamp/New/Title: Naam getoond in het menu\nStoryView/Caption: 'story' weergave\nStoryView/Hint: Kies de 'story' weergave\nStrikethrough/Caption: doorstrepen\nStrikethrough/Hint: Streep de selectie door\nSubscript/Caption: 'subscript'\nSubscript/Hint: Maak selectie 'subscript'\nSuperscript/Caption: 'superscript'\nSuperscript/Hint: Maak selectie 'superscript'\nTagManager/Caption: labelmanager\nTagManager/Hint: Open labelmanager\nTheme/Caption: thema\nTheme/Hint: Kies het thema\nTimestamp/Caption: tijdstempels\nTimestamp/Hint: Kies of veranderingen de tijdstempels bijwerken\nTimestamp/Off/Caption: tijdstempels zijn uit\nTimestamp/Off/Hint: Werk tijdstempels niet bij als tiddlers veranderd zijn\nTimestamp/On/Caption: tijdstempels zijn aan\nTimestamp/On/Hint: Werk tijdstempels bij als tiddlers veranderd zijn\nToggleSidebar/Hint: 'Toggle' het zijpaneel\nTranscludify/Caption: transclusie\nTranscludify/Hint: Zet selectie tussen accolades\nUnderline/Caption: onderstreept\nUnderline/Hint: Onderstreep het geselecteerde\nUnfold/Caption: klap tiddler uit\nUnfold/Hint: Klap de tekst van deze tiddler uit\nUnfoldAll/Caption: klap alle tiddlers uit\nUnfoldAll/Hint: Klap de tekst van alle open tiddlers uit\n"
  },
  {
    "path": "languages/nl-NL/ControlPanel.multids",
    "content": "title: $:/language/ControlPanel/\n\nAdvanced/Caption: Geavanceerd\nAdvanced/Hint: Interne informatie over deze TiddlyWiki\nAppearance/Caption: Uiterlijk\nAppearance/Hint: Manieren om het uiterlijk van je TiddlyWiki aan te passen\nBasics/AnimDuration/Prompt: Duur van de animatie:\nBasics/AutoFocus/Prompt: Standaard 'focus' veld van een nieuwe tiddler\nBasics/Caption: Standaard\nBasics/DefaultTiddlers/BottomHint: Gebruik &#91;&#91;dubbele rechte haken&#93;&#93; voor titels met spaties. Of je kan {{kiezen voor behoud van open tiddlers||$:/snippets/retain-story-ordering-button}}\nBasics/DefaultTiddlers/Prompt: Standaard tiddlers:\nBasics/DefaultTiddlers/TopHint: Kies welke tiddlers bij opstarten getoond worden:\nBasics/Language/Prompt: Hallo! Huidige taal:\nBasics/NewJournal/Tags/Prompt: Labels voor nieuwe journaaltiddlers\nBasics/NewJournal/Text/Prompt: Tekst voor nieuwe journaaltiddlers\nBasics/NewJournal/Title/Prompt: Titel voor nieuwe journaaltiddlers\nBasics/NewTiddler/Tags/Prompt: Labels voor nieuwe tiddlers\nBasics/NewTiddler/Title/Prompt: Titel voor nieuwe tiddlers\nBasics/OverriddenShadowTiddlers/Prompt: Aantal overschreven schaduwtiddlers:\nBasics/ShadowTiddlers/Prompt: Aantal schaduwtiddlers:\nBasics/Subtitle/Prompt: Ondertitel:\nBasics/SystemTiddlers/Prompt: Aantal systeem tiddlers:\nBasics/Tags/Prompt: Aantal labels:\nBasics/Tiddlers/Prompt: Aantal tiddlers:\nBasics/Title/Prompt: Titel van deze ~TiddlyWiki:\nBasics/Username/Prompt: Gebruikersnaam voor wijzigingen:\nBasics/Version/Prompt: ~TiddlyWiki versie:\nEditorTypes/Caption: Editor types\nEditorTypes/Editor/Caption: Editor\nEditorTypes/Hint: Deze tiddlers bepalen welke editor wordt gebruikt voor specifieke tiddler types\nEditorTypes/Type/Caption: Type\nInfo/Caption: Info\nInfo/Hint: Informatie over deze TiddlyWiki\nKeyboardShortcuts/Add/Caption: voeg sneltoets toe\nKeyboardShortcuts/Add/Prompt: Type hier de sneltoets\nKeyboardShortcuts/Caption: Sneltoetsen\nKeyboardShortcuts/Hint: Beheer sneltoetstoewijzing\nKeyboardShortcuts/NoShortcuts/Caption: Geen sneltoetsen toegekend\nKeyboardShortcuts/Platform/All: Alle platformen\nKeyboardShortcuts/Platform/Linux: Alleen voor Linux\nKeyboardShortcuts/Platform/Mac: Alleen voor Macintosh\nKeyboardShortcuts/Platform/NonLinux: Alleen voor niet-Linux\nKeyboardShortcuts/Platform/NonMac: Alleen voor niet-Macintosh\nKeyboardShortcuts/Platform/NonWindows: Alleen voor niet-Windows\nKeyboardShortcuts/Platform/Windows: Alleen voor Windows\nKeyboardShortcuts/Remove/Hint: verwijder sneltoets\nLoadedModules/Caption: Geladen modules\nLoadedModules/Hint: Dit zijn de nu geladen tiddler modules gekoppeld aan hun brontiddlers. Alle cursieve modules hebben geen brontiddler, gewoonlijk omdat ze tijdens het bootproces gemaakt werden.\nPalette/Caption: Palet\nPalette/Editor/Clone/Caption: kloon\nPalette/Editor/Clone/Prompt: Het wordt aanbevolen dit schaduwpalet te klonen alvorens het te wijzigen.\nPalette/Editor/Delete/Hint: verwijder deze invoer van het huidige palet\nPalette/Editor/Names/External/Show: Toon namen van kleuren die niet tot het huiddige palet behoren\nPalette/Editor/Prompt: Wijzigen\nPalette/Editor/Prompt/Modified: Dit schaduwpalet is gewijzigd\nPalette/Editor/Reset/Caption: reset\nPalette/HideEditor/Caption: verberg editor\nPalette/Prompt: Huidig palet:\nPalette/ShowEditor/Caption: toon editor\nParsing/Block/Caption: 'Block parse' regels\nParsing/Caption: 'Parsing' (ontleding)\nParsing/Hint: Hier kan je globaal individuele wiki 'parser' regels uitzetten. Wees voorzichtig daar het uitzetten van sommige 'parser' regels het juist functioneren van ~Tiddlywiki kan beletten (je kan het normale gedrag herstellen met [['safe mode'|https://tiddlywiki.com/#SafeMode]])\nParsing/Inline/Caption: 'Inline parse' regels\nParsing/Pragma/Caption: 'Pragma parse' regels\nPlugins/Add/Caption: Verkrijg meer plugins\nPlugins/Add/Hint: Installeer plugins van de officiële bibliotheek\nPlugins/AlreadyInstalled/Hint: Deze plugin is al geïnstalleerd met versie <$text text=<<installedVersion>>/>\nPlugins/AlsoRequires: Vereist ook:\nPlugins/Caption: Plugins\nPlugins/ClosePluginLibrary: schakel pluginbibliotheek uit\nPlugins/Disable/Caption: schakel uit\nPlugins/Disable/Hint: Schakel deze plugin uit na verversen van deze pagina\nPlugins/Disabled/Status: (uitgeschakeld)\nPlugins/Empty/Hint: Niets\nPlugins/Enable/Caption: activeer\nPlugins/Enable/Hint: Activeer deze plugin bij verversen van deze pagina\nPlugins/Install/Caption: installeer\nPlugins/Installed/Hint: Geïnstalleerde plugins:\nPlugins/Language/Prompt: Talen\nPlugins/Languages/Caption: Talen\nPlugins/Languages/Hint: Taal plugins\nPlugins/NoInfoFound/Hint: ''\"<$text text=<<currentTab>>/>\"'' niet gevonden\nPlugins/NotInstalled/Hint: Deze plugin is nu niet geïnstalleerd\nPlugins/OpenPluginLibrary: open pluginbibliotheek\nPlugins/Plugin/Prompt: Plugins\nPlugins/PluginWillRequireReload: (vereist een 'reload')\nPlugins/Reinstall/Caption: herinstalleer\nPlugins/Theme/Prompt: Thema's\nPlugins/Themes/Caption: Thema's\nPlugins/Themes/Hint: Thema plugins\nPlugins/Updates/Hint: Beschikbare updates voor geïnstalleerde plugins\nSaving/Caption: Opslaan\nSaving/DownloadSaver/AutoSave/Description: Sta automatisch opslaan toe voor de opslagmodule\nSaving/DownloadSaver/AutoSave/Hint: Sla automatisch op voor de opslagmodule\nSaving/DownloadSaver/Caption: Opslagmodule\nSaving/DownloadSaver/Hint: Deze instellingen gelden voor de HTML5 compatibele opslagmodule\nSaving/General/Caption: Algemeen\nSaving/General/Hint: Deze instellingen gelden voor alle geladen opslagmodules\nSaving/GitHub/Branch: 'Tak' (branch) voor opslaan (standaard `master`)\nSaving/GitHub/Caption: ~GitHub opslagmodule\nSaving/GitHub/Description: Deze instellingen worden alleen gebruikt voor opslaan bij ~GitHub\nSaving/GitHub/Filename: Bestandsnaam van doelbestand (b.v. `index.html`)\nSaving/GitHub/Password: Wachtwoord, OAUTH token of persoonlijk toegangstoken\nSaving/GitHub/Path: Pad naar doelbestand (b.v. `/wiki/`)\nSaving/GitHub/Repo: Opslagplaats (b.v. `Jermolene/TiddlyWiki5`)\nSaving/GitHub/ServerURL: Server URL (standaard `https://api.github.com`)\nSaving/GitHub/UserName: Gebruikersnaam\nSaving/GitService/Branch: Doeltak (branch) voor opslaan\nSaving/GitService/CommitMessage: Opgeslagen door TiddlyWiki\nSaving/GitService/Description: Deze instellingen worden alleen gebruikt bij opslaan naar <<service-name>>\nSaving/GitService/Filename: Bestandsnaam van doelbestand (b.v. `index.html`)\nSaving/GitService/Gitea/Caption: Gitea opslagmodule\nSaving/GitService/Gitea/Password: Persoonlijk toegangs-token voor API (via Gitea’s web interface: `Settings | Applications | Generate New Token`)\nSaving/GitService/GitHub/Caption: ~GitHub opslagmodule\nSaving/GitService/GitHub/Password: Wachtwoord, OAUTH token, of persoonlijk toegangs-token (zie [[GitHub help-pagina|https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line]] voor details)\nSaving/GitService/GitLab/Caption: ~GitLab opslagmodule\nSaving/GitService/GitLab/Password: Persoonlijk toegangs-token voor API (zie [[GitLab help-pagina|https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html]] voor details)\nSaving/GitService/Path: Pad naar doelbestand (b.v. `/wiki/`)\nSaving/GitService/Repo: Opslagdoel (b.v. `Jermolene/TiddlyWiki5`)\nSaving/GitService/UserName: Gebruikersnaam\nSaving/Heading: Opslaan\nSaving/Hint: Instellingen voor opslaan van de gehele TiddlyWiki als één bestand via een opslagmodule\nSaving/TiddlySpot/Advanced/Heading: Geavanceerde instellingen\nSaving/TiddlySpot/BackupDir: Backup folder\nSaving/TiddlySpot/Backups: Backups\nSaving/TiddlySpot/Caption: ~TiddlySpot opslagmodule\nSaving/TiddlySpot/ControlPanel: ~TiddlySpot bedieningspaneel\nSaving/TiddlySpot/Description: Deze instellingen worden alleen gebruikt bij http://tiddlyspot.com of een vergelijkbare server\nSaving/TiddlySpot/Filename: Upload bestandsnaam\nSaving/TiddlySpot/Heading: ~TiddlySpot\nSaving/TiddlySpot/Hint: //De standaard server URL is `http://<wikiname>.tiddlyspot.com/store.cgi` en kan gewijzigd worden in een speciaal serveradres//\nSaving/TiddlySpot/Password: Wachtwoord\nSaving/TiddlySpot/ServerURL: Server URL\nSaving/TiddlySpot/UploadDir: Upload folder\nSaving/TiddlySpot/UserName: Wiki naam\nSettings/AutoSave/Caption: Automatisch opslaan\nSettings/AutoSave/Disabled/Description: Sla veranderingen niet automatisch op\nSettings/AutoSave/Enabled/Description: Sla veranderingen automatisch op\nSettings/AutoSave/Hint: Sla veranderingen tijdens wijzigen automatisch op\nSettings/CamelCase/Caption: 'Camel Case' wiki links\nSettings/CamelCase/Description: Zet automatisch 'Camel Case' linken aan\nSettings/CamelCase/Hint: Dit vereist herladen van de wiki om effect te hebben.\nSettings/Caption: Instellingen\nSettings/DefaultMoreSidebarTab/Caption: Standaard 'Meer' zijpaneel tab\nSettings/DefaultMoreSidebarTab/Hint: Geef aan welke 'Meer' tab in het zijpaneel standaard wordt getoond\nSettings/DefaultSidebarTab/Caption: Standaard tab in zijpaneel\nSettings/DefaultSidebarTab/Hint: Geef aan welke tab in het zijpaneel standaard wordt getoond\nSettings/EditorToolbar/Caption: Editor knoppenbalk\nSettings/EditorToolbar/Description: Toon editor knoppenbalk\nSettings/EditorToolbar/Hint: Zet editor knoppenbalk aan of uit:\nSettings/Hint: Met deze instellingen kun je het gedrag van TiddlyWiki veranderen.\nSettings/InfoPanelMode/Caption: Tiddler infopaneel modus\nSettings/InfoPanelMode/Hint: Controleer wanneer het tiddler infopaneel sluit:\nSettings/InfoPanelMode/Popup/Description: Tiddler informatiepaneel sluit automatisch\nSettings/InfoPanelMode/Sticky/Description: Tiddler informatiepaneel blijft open staan tot expliciet sluiten\nSettings/LinkToBehaviour/Caption: Waar een tiddler opent\nSettings/LinkToBehaviour/InsideRiver/Hint: Navigatie //vanuit// de 'story river'\nSettings/LinkToBehaviour/OpenAbove: Open boven de huidige tiddler\nSettings/LinkToBehaviour/OpenAtBottom: Open onderaan de 'story river'\nSettings/LinkToBehaviour/OpenAtTop: Open bovenaan de 'story river'\nSettings/LinkToBehaviour/OpenBelow: Open beneden de huidige tiddler\nSettings/LinkToBehaviour/OutsideRiver/Hint: Navigatie //van buiten// de 'story river'\nSettings/MissingLinks/Caption: Wiki links\nSettings/MissingLinks/Description: Sta links naar ontbrekende tiddlers toe\nSettings/MissingLinks/Hint: Kies om te linken naar nog niet bestaande tiddlers\nSettings/NavigationAddressBar/Caption: Navigatie adresbalk\nSettings/NavigationAddressBar/Hint: Gedrag van het browseradres bij navigeren naar een tiddler:\nSettings/NavigationAddressBar/No/Description: Verander het browseradres niet\nSettings/NavigationAddressBar/Permalink/Description: Voeg de doeltiddler toe\nSettings/NavigationAddressBar/Permaview/Description: Voeg alle open tiddlers toe\nSettings/NavigationHistory/Caption: Navigeer-geschiedenis\nSettings/NavigationHistory/Hint: Werk de browsergeschiedenis bij als er naar een tiddler genavigeerd wordt:\nSettings/NavigationHistory/No/Description: Werk de browsergeschiedenis niet bij\nSettings/NavigationHistory/Yes/Description: Werk de browsergeschiedenis bij\nSettings/NavigationPermalinkviewMode/Caption: Permalink/permaview modus\nSettings/NavigationPermalinkviewMode/CopyToClipboard/Description: Kopieer permalink/permaview URL naar klembord\nSettings/NavigationPermalinkviewMode/Hint: Kies hoe permalink/permaview wordt behandeld:\nSettings/NavigationPermalinkviewMode/UpdateAddressBar/Description: Werk de adresbalk bij met permalink/permaview URL\nSettings/PerformanceInstrumentation/Caption: Prestatiemeting\nSettings/PerformanceInstrumentation/Description: Zet prestatiemeting aan\nSettings/PerformanceInstrumentation/Hint: Toont prestatiestatistieken in de 'browser console'. Dit vereist herladen van de wiki om effect te hebben\nSettings/TitleLinks/Caption: Titels van tiddlers\nSettings/TitleLinks/Hint: Toon (optioneel) tiddler titels als links\nSettings/TitleLinks/No/Description: Toon tiddler titels niet als links\nSettings/TitleLinks/Yes/Description: Toon tiddler titels als links\nSettings/ToolbarButtons/Caption: Knoppen van knoppenbalk\nSettings/ToolbarButtons/Hint: Uiterlijk van standaard knop in knoppenbalk:\nSettings/ToolbarButtons/Icons/Description: Met pictogram (icon)\nSettings/ToolbarButtons/Text/Description: Met tekst\nSettings/ToolbarButtonStyle/Caption: Stijl van knoppen in knoppenbalk\nSettings/ToolbarButtonStyle/Hint: Kies de stijl voor knoppen in knoppenbalk:\nSettings/ToolbarButtonStyle/Styles/Borderless: Zonder rand\nSettings/ToolbarButtonStyle/Styles/Boxed: Vierkante rand\nSettings/ToolbarButtonStyle/Styles/Rounded: Ronde rand\nStoryView/Caption: 'Story' view\nStoryView/Prompt: Huidige view:\nStylesheets/Caption: Stijlbladen\nStylesheets/Expand/Caption: Klap alles uit\nStylesheets/Hint: Dit is de getoonde CSS van de huidige stijlblad-tiddlers gelabeld met <<tag \"$:/tags/Stylesheet\">>\nStylesheets/Restore/Caption: Herstel\nTheme/Caption: Thema\nTheme/Prompt: Huidig thema:\nTiddlerFields/Caption: Tiddler velden\nTiddlerFields/Hint: Dit is de complete reeks tiddlervelden in gebruik bij deze wiki (inclusief systeemtiddlers maar exclusief schaduwtiddlers).\nToolbars/Caption: Knoppenbalken\nToolbars/EditorToolbar/Caption: Editor knoppenbalk\nToolbars/EditorToolbar/Hint: Kies welke knoppen in de editor knoppenbalk getoond worden. Sommige knoppen worden alleen getoond bij een bepaald type tiddler\nToolbars/EditToolbar/Caption: Knoppenbalk bij wijzigen\nToolbars/EditToolbar/Hint: Kies welke knoppen getoond worden voor tiddlers in wijzigmode\nToolbars/Hint: Kies welke knoppen getoond worden\nToolbars/PageControls/Caption: Pagina-knoppenbalk\nToolbars/PageControls/Hint: Kies welke knoppen getoond worden op de pagina-knoppenbalk\nToolbars/ViewToolbar/Caption: Knoppenbalk bij weergave\nToolbars/ViewToolbar/Hint: Kies welke knoppen zichtbaar zijn bij weergave\nTools/Download/Full/Caption: Download complete wiki (inclusief documentatie)\n"
  },
  {
    "path": "languages/nl-NL/CoreReadMe.tid",
    "content": "title: $:/core/readme\n\nDeze plugin bevat TiddlyWiki's core componenten:\n\n* JavaScript code modules\n* Pictogrammen (icons)\n* Sjablonen om TiddlyWiki's gebruikersinterface te maken\n* British English (en-GB) vertalingen van de vertaalbare core strings\n"
  },
  {
    "path": "languages/nl-NL/Dates.multids",
    "content": "title: $:/language/\n\nDate/DaySuffix/1: \nDate/DaySuffix/10: \nDate/DaySuffix/11: \nDate/DaySuffix/12: \nDate/DaySuffix/13: \nDate/DaySuffix/14: \nDate/DaySuffix/15: \nDate/DaySuffix/16: \nDate/DaySuffix/17: \nDate/DaySuffix/18: \nDate/DaySuffix/19: \nDate/DaySuffix/2: \nDate/DaySuffix/20: \nDate/DaySuffix/21: \nDate/DaySuffix/22: \nDate/DaySuffix/23: \nDate/DaySuffix/24: \nDate/DaySuffix/25: \nDate/DaySuffix/26: \nDate/DaySuffix/27: \nDate/DaySuffix/28: \nDate/DaySuffix/29: \nDate/DaySuffix/3: \nDate/DaySuffix/30: \nDate/DaySuffix/31: \nDate/DaySuffix/4: \nDate/DaySuffix/5: \nDate/DaySuffix/6: \nDate/DaySuffix/7: \nDate/DaySuffix/8: \nDate/DaySuffix/9: \nDate/Long/Day/0: zondag\nDate/Long/Day/1: maandag\nDate/Long/Day/2: dinsdag\nDate/Long/Day/3: woensdag\nDate/Long/Day/4: donderdag\nDate/Long/Day/5: vrijdag\nDate/Long/Day/6: zaterdag\nDate/Long/Month/1: januari\nDate/Long/Month/10: oktober\nDate/Long/Month/11: november\nDate/Long/Month/12: december\nDate/Long/Month/2: februari\nDate/Long/Month/3: maart\nDate/Long/Month/4: april\nDate/Long/Month/5: mei\nDate/Long/Month/6: juni\nDate/Long/Month/7: juli\nDate/Long/Month/8: augustus\nDate/Long/Month/9: september\nDate/Period/am: am\nDate/Period/pm: pm\nDate/Short/Day/0: zo\nDate/Short/Day/1: ma\nDate/Short/Day/2: di\nDate/Short/Day/3: wo\nDate/Short/Day/4: do\nDate/Short/Day/5: vr\nDate/Short/Day/6: za\nDate/Short/Month/1: jan\nDate/Short/Month/10: okt\nDate/Short/Month/11: nov\nDate/Short/Month/12: dec\nDate/Short/Month/2: feb\nDate/Short/Month/3: mrt\nDate/Short/Month/4: apr\nDate/Short/Month/5: mei\nDate/Short/Month/6: jun\nDate/Short/Month/7: jul\nDate/Short/Month/8: aug\nDate/Short/Month/9: sep\nRelativeDate/Future/Days: <<period>> dagen vanaf nu\nRelativeDate/Future/Hours: <<period>> uren vanaf nu\nRelativeDate/Future/Minutes: <<period>> minuten vanaf nu\nRelativeDate/Future/Months: <<period>> maanden vanaf nu\nRelativeDate/Future/Second: 1 seconde vanaf nu\nRelativeDate/Future/Seconds: <<period>> seconden vanaf nu\nRelativeDate/Future/Years: <<period>> jaren vanaf nu\nRelativeDate/Past/Days: <<period>> dagen geleden\nRelativeDate/Past/Hours: <<period>> uren geleden\nRelativeDate/Past/Minutes: <<period>> minuten geleden\nRelativeDate/Past/Months: <<period>> maanden geleden\nRelativeDate/Past/Second: 1 seconde geleden\nRelativeDate/Past/Seconds: <<period>> seconden geleden\nRelativeDate/Past/Years: <<period>> jaren geleden\n"
  },
  {
    "path": "languages/nl-NL/Docs/ModuleTypes.multids",
    "content": "title: $:/language/Docs/ModuleTypes/\n\nallfilteroperator: Een sub-operator voor de ''all'' filter operator.\nanimation: Animaties die door de RevealWidget gebruikt kunnen worden.\nauthenticator: Definieert hoe aanvragen worden gewaarmerkt door de ingebouwde HTTP-server.\nbitmapeditoroperation: Een 'bitmap'-editor knoppenbalkbewerking.\ncommand: Commando's die onder Node.js gebruikt kunnen worden.\nconfig: Data die aan `$tw.config` moet worden toegevoegd.\nfilteroperator: Individuele methodes voor een filter operator.\nglobal: Globale data die aan `$tw.config` moet worden toegevoegd.\ninfo: Publiceert systeeminformatie via de [[$:/temp/info-plugin]] pseudo-plugin.\nisfilteroperator: Operands voor de ''is'' filter operator.\nlibrary: Algemeen module type voor algemene JavaScript modules.\nmacro: JavaScript macro definities.\nparser: 'Parsers' voor verschillende inhoudstypes.\nroute: Definieert hoe individuele URL-patronen door de ingebouwde HTTP-server worden behandeld.\nsaver: 'Savers' (opslagmodules) gebruiken verschillende methodes voor het opslaan van bestanden vanuit de browser.\nstartup: Startup functies.\nstoryview: 'Story views' passen de animatie en het gedrag van 'list' widgets aan.\ntexteditoroperation: Een teksteditor knoppenbalkbewerking.\ntiddlerdeserializer: Zet verschillende inhoudstypes in tiddlers om.\ntiddlerfield: Bepaalt het gedrag van een individueel tiddlerveld.\ntiddlermethod: Voegt methodes aan het `$tw.Tiddler` prototype toe.\nupgrader: Past upgradeverwerking toe op tiddlers gedurende een upgrade / import.\nutils: Voegt methodes aan `$tw.utils` toe.\nutils-node: Voegt Node.js-specifieke methodes aan `$tw.utils` toe.\nwidget: 'Widgets' omvatten DOM 'rendering' en verversing.\nwikimethod: Voegt methodes aan `$tw.Wiki` toe.\nwikirule: Individuele 'parser' regels voor de hoofd-WikiText-parser.\n"
  },
  {
    "path": "languages/nl-NL/Docs/PaletteColours.multids",
    "content": "title: $:/language/Docs/PaletteColours/\n\nalert-background: Achtergrond alarm\nalert-border: Rand alarm\nalert-highlight: Geaccentueerd alarm\nalert-muted-foreground: Gedimde voorgrond alarm\nbackground: Algemene achtergrond\nblockquote-bar: Citaatbalk\nbutton-background: Standaard knopachtergrond\nbutton-border: Standaard knoprand\nbutton-foreground: Standaard knop voorgrond\ncode-background: Achtergrond code\ncode-border: Rand code\ncode-foreground: Voorgrond code\ndirty-indicator: Indicator voor niet-opgeslagen wijzigingen\ndownload-background: Achtergrond downloadknop\ndownload-foreground: Voorgrond downloadknop\ndragger-background: Achtergrond 'dragger'\ndragger-foreground: Voorgrond 'dragger'\ndropdown-background: Achtergrond dropdown\ndropdown-border: Rand dropdown\ndropdown-tab-background: Achtergrond dropdown tab\ndropdown-tab-background-selected: Achtergrond dropdown tab voor geselecteerde tabs\ndropzone-background: Achtergrond 'dropzone'\nexternal-link-background: Achtergrond externe link\nexternal-link-background-hover: Achtergrond 'mouseover' externe link\nexternal-link-background-visited: Achtergrond bezochte externe link\nexternal-link-foreground: Voorgrond externe link\nexternal-link-foreground-hover: Voorgrond mouseover externe link\nexternal-link-foreground-visited: Voorgrond bezochte externe link\nforeground: Voorgrond algemeen\nmenubar-background: Menu bar achtergrond\nmenubar-foreground: Menu bar voorgrond\nmessage-background: Achtergrond berichtenpaneel\nmessage-border: Rand berichtenpaneel\nmessage-foreground: Voorgrond berichtenpaneel\nmodal-backdrop: Gedimde achtergrond bij modale dialoog\nmodal-background: Achtergrond modale dialoog\nmodal-border: Rand van modale dialoog\nmodal-footer-background: Achtergrond van modale voettekst\nmodal-footer-border: Rand van modale voettekst\nmodal-header-border: Rand van modale koptekst\nmuted-foreground: Voorgrond algemeen gedimd\nnotification-background: Achtergrond melding\nnotification-border: Rand melding\npage-background: Achtergrond pagina\npre-background: Achtergrond gepreformatteerde code\npre-border: Rand gepreformatteerde code\nprimary: Primaire kleur\nselect-tag-background: `<select>` element achtergrond\nselect-tag-foreground: `<select>` element tekst\nsidebar-button-foreground: Voorgrond zijpaneelknop\nsidebar-controls-foreground: Voorgrond knoppen zijpaneel\nsidebar-controls-foreground-hover: Voorgrond mouseover knoppen zijpaneel\nsidebar-foreground: Voorgrond zijpaneel\nsidebar-foreground-shadow: Voorgrond schaduw zijpaneel\nsidebar-muted-foreground: Voorgrond gedimd zijpaneel\nsidebar-muted-foreground-hover: Voorgrond gedimd 'mouseover' zijpaneel\nsidebar-tab-background: Achtergrond tab zijpaneel\nsidebar-tab-background-selected: Achtergrond tab zijpaneel voor geselecteerde tabs\nsidebar-tab-border: Rand tab zijpaneel\nsidebar-tab-border-selected: Rand tab zijpaneel voor geselecteerde tabs\nsidebar-tab-divider: Zijpaneel tabscheider\nsidebar-tab-foreground: Voorgrond tab zijpaneel\nsidebar-tab-foreground-selected: Voorgrond tab zijpaneel voor geselecteerde tabs\nsidebar-tiddler-link-foreground: Voorgrond tiddler link zijpaneel\nsidebar-tiddler-link-foreground-hover: Voorgrond 'mouseover' tiddler link zijpaneel\nsite-title-foreground: Voorgrond van de wikititel\nstatic-alert-foreground: Voorgrond statische alarmmelding\ntab-background: Achtergrond tab\ntab-background-selected: Achtergrond tab voor geselecteerde tabs\ntab-border: Rand tab\ntab-border-selected: Rand tab voor geselecteerde tabs\ntab-divider: Tabscheider\ntab-foreground: Voorgrond tab\ntab-foreground-selected: Voorgrond tab voor geselecteerde tabs\ntable-border: Rand tabel\ntable-footer-background: Achtergrond tabel voettekst\ntable-header-background: Achtergrond tabelkop\ntag-background: Achtergrond label\ntag-foreground: Voorgrond label\ntiddler-background: Achtergrond tiddler\ntiddler-border: Rand tiddler\ntiddler-controls-foreground: Voorgrond knoppen tiddler\ntiddler-controls-foreground-hover: Voorgrond mouseover knoppen tiddler\ntiddler-controls-foreground-selected: Voorgrond geselecteerde knoppen tiddler\ntiddler-editor-background: Achtergrond tiddlereditor\ntiddler-editor-border: Rand tiddlereditor\ntiddler-editor-border-image: Rand tiddler editor afbeelding\ntiddler-editor-fields-even: Achtergrond tiddler editor voor even velden\ntiddler-editor-fields-odd: Achtergrond tiddler editor voor oneven velden\ntiddler-info-background: Achtergrond tiddler infopaneel\ntiddler-info-border: Rand tiddler infopaneel\ntiddler-info-tab-background: Achtergrond tab tiddler-infopaneel\ntiddler-link-background: Achtergrond tiddlerlink\ntiddler-link-foreground: Voorgrond tiddlerlink\ntiddler-subtitle-foreground: Voorgrond tiddlerondertitel\ntiddler-title-foreground: Voorgrond tiddlertitel\ntoolbar-cancel-button: Voorgrond 'annuleer' knop (knoppenbalk)\ntoolbar-close-button: Voorgrond 'sluit' knop (knoppenbalk)\ntoolbar-delete-button: Voorgrond 'verwijder' knop (knoppenbalk)\ntoolbar-done-button: Voorgrond 'opslaan' knop (knoppenbalk)\ntoolbar-edit-button: Voorgrond 'wijzig' knop (knoppenbalk)\ntoolbar-info-button: Voorgrond 'info' knop (knoppenbalk)\ntoolbar-new-button: Voorgrond 'nieuwe tiddler' knop (knoppenbalk)\ntoolbar-options-button: Voorgrond 'opties' knop (knoppenbalk)\ntoolbar-save-button: Voorgrond 'opslaan wiki' knop (knoppenbalk)\nuntagged-background: Achtergrond label \"niet gelabeld\"\nvery-muted-foreground: Voorgrond zeer gedimd\n"
  },
  {
    "path": "languages/nl-NL/EditTemplate.multids",
    "content": "title: $:/language/EditTemplate/\n\nBody/External/Hint: Dit is een externe tiddler die niet in de TiddlyWiki opgeslagen is. Je kan labels en velden wijzigen maar de tekst zelf niet.\nBody/Placeholder: Typ de tekst voor deze tiddler\nField/Dropdown/Caption: veldenlijst\nField/Dropdown/Hint: Toon veldenlijst\nField/Remove/Caption: verwijder veld\nField/Remove/Hint: Verwijder veld\nFields/Add/Button: +\nFields/Add/Button/Hint: Voeg het nieuwe veld aan de tiddler toe\nFields/Add/Dropdown/System: Systeemvelden\nFields/Add/Dropdown/User: Gebruikersvelden\nFields/Add/Name/Placeholder: veldnaam\nFields/Add/Prompt: Voeg nieuw veld toe:\nFields/Add/Value/Placeholder: veldwaarde\nShadow/OverriddenWarning: Dit is een aangepaste schaduwtiddler. Door deze tiddler te verwijderen wordt de standaard schaduwtiddler weer actief\nShadow/Warning: Dit is een schaduwtiddler. Elke verandering overschrijft de standaardversie\nTags/Add/Button: +\nTags/Add/Button/Hint: voeg label toe\nTags/Add/Placeholder: labelnaam\nTags/ClearInput/Caption: verwijde ingave\nTags/ClearInput/Hint: Verwijder labelingave\nTags/Dropdown/Caption: labellijst\nTags/Dropdown/Hint: Toon labellijst\nTitle/BadCharacterWarning: Waarschuwing: vermijd elk karakter van <<bad-chars>> in tiddler titels\nTitle/Exists/Prompt: Doeltiddler bestaat al\nTitle/References/Prompt: De volgende referenties naar deze tiddler worden niet automatisch bijgewerkt:\nTitle/Relink/Prompt: Werk ''<$text text=<<fromTitle>>/>'' naar ''<$text text=<<toTitle>>/>'' bij in de //label// en //lijst// velden van andere tiddlers\nType/Delete/Caption: verwijder inhoudstype\nType/Delete/Hint: Verwijder inhoudstype\nType/Dropdown/Caption: lijst van inhoudstypes\nType/Dropdown/Hint: Toon lijst van inhoudstypes\nType/Placeholder: inhoudstype\nType/Prompt: Type:\n"
  },
  {
    "path": "languages/nl-NL/Exporters.multids",
    "content": "title: $:/language/Exporters/\n\nCsvFile: CSV tiddlers bestand\nJsonFile: JSON tiddlers bestand\nStaticRiver: Serie tiddlers als statisch HTML bestand\nTidFile: Enkele tiddler \".tid\" bestand\n"
  },
  {
    "path": "languages/nl-NL/Fields.multids",
    "content": "title: $:/language/Docs/Fields/\n\n_canonical_uri: De volledige URI van een externe afbeeldingstiddler\n_is_skinny: Indien aanwezig, geeft aan dat het tekstveld van de server geladen moet worden\nbag: De naam van de 'bag' waaruit de tiddler kwam\ncaption: Tekst die op een tab of een knop getoond wordt\ncolor: De CSS-waarde van een kleur gekoppeld aan een tiddler\ncomponent: De naam van de component die een [[alarmtiddler|AlertMechanism]] veroorzaakt\ncreated: De aanmaakdatum van een tiddler\ncreator: De naam van de maker van de tiddler\ncurrent-tiddler: Gebruikt om de tiddler bovenaan bij te houden in een [[geschiedenislijst|HistoryMechanism]]\ndependents: De lijst van plugintitels waarvan een plugin afhankelijk is\ndescription: De beschrijvende tekst voor een plugin of een modale dialoog\ndraft.of: Voor concepttiddlers; bevat de titel van de te maken tiddler\ndraft.title: Voor concepttiddlers; bevat de voorgestelde titel van de tiddler\nfooter: De voettekst van een 'wizard'\nhide-body: Als 'yes' ingevuld is, wordt de tekst van de tiddler niet weergegeven\nicon: De titel van de pictogramtiddler die met deze tiddler gekoppeld is\nlibrary: Als 'yes' ingevuld is, dient de tiddler als JavaScript-bibliotheek opgeslagen te worden\nlist: Een geordende lijst van tiddlertitels gekoppeld met een tiddler\nlist-after: Indien ingevuld, de titel van de tiddler waarna deze tiddler toegevoegd moet worden in de reeks tiddlertitels\nlist-before: Indien ingevuld, de titel van de tiddler waarvoor deze tiddler toegevoegd moet worden in de reeks tiddlertitels, of aan het begin van de reeks als dit veld wel aanwezig maar leeg is\nmodified: De datum en tijd waarop de tiddler voor het laatst werd gewijzigd\nmodifier: De persoon die voor het laatst de tiddler gewijzigd heeft\nname: De leesbare naam gekoppeld aan een plugin tiddler\nplugin-priority: Een numerieke waarde die de prioriteit van een plugintiddler aangeeft\nplugin-type: Het type van een plugin in een plugin tiddler\nreleased: Datum van een TiddlyWiki versie\nrevision: De versie van de tiddler op de server\nsource: De URL gekoppeld aan de tiddler\nsubtitle: De tekst van de ondertitel van een wizard\ntags: Een lijst van labels gekoppeld met een tiddler\ntext: De tekst van een tiddler\nthrottle.refresh: Indien aanwezig wordt verversen van deze tiddler verminderd\ntitle: De unieke naam van een tiddler\ntoc-link: Als 'no' ingevuld is, is de tiddler geen link meer in de Inhoudsopgave\ntype: Inhoudstype van een tiddler\nversion: Versieinformatie van een plugin\n"
  },
  {
    "path": "languages/nl-NL/Filters.multids",
    "content": "title: $:/language/Filters/\n\nAllTags: Alle labels behalve systeemlabels\nAllTiddlers: Alle tiddlers behalve systeemtiddlers\nDrafts: Concepttiddlers\nMissing: Ontbrekende tiddlers\nOrphans: Weestiddlers\nOverriddenShadowTiddlers: Overschreven schaduwtiddlers\nRecentSystemTiddlers: Onlangs gewijzigde tiddlers inclusief systeemtiddlers\nRecentTiddlers: Onlangs gewijzigde tiddlers\nSessionTiddlers: Tiddlers gewijzigf nadat de wiki geleaden werd\nShadowTiddlers: Schaduwtiddlers\nStoryList: Tiddlers in de 'story river' behalve <$text text=\"$:/AdvancedSearch\"/>\nSystemTags: Systeemlabels\nSystemTiddlers: Systeemtiddlers\nTypedTiddlers: Niet-wikitekst tiddlers\n"
  },
  {
    "path": "languages/nl-NL/GettingStarted.tid",
    "content": "title: GettingStarted\n\n\\define lingo-base() $:/language/ControlPanel/Basics/\nWelkom bij ~TiddlyWiki en de ~TiddlyWiki gemeenschap\n\nControleer eerst of je veranderingen op kan slaan voordat je belangrijke informatie aan ~TiddlyWiki toevoegt. Zie https://tiddlywiki.com/#GettingStarted voor details\n\n!! Configureer deze ~TiddlyWiki\n\n<div class=\"tc-control-panel\">\n\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\nZie het [[bedieningspaneel|$:/ControlPanel]] voor meer opties.\n"
  },
  {
    "path": "languages/nl-NL/Help/build.tid",
    "content": "title: $:/language/Help/build\ndescription: Doorloop automatisch de geconfigureerde commando's\n\nCompileert de gespecificeerde 'build targets' voor de actuele wiki. Worden geen 'build targets' gespecificeerd dan worden alle beschikbare 'targets' gecompileerd.\n\n```\n--build <target> [<target> ...]\n```\n\n'Build targets' worden gedefinieerd in het `tiddlywiki.info` bestand van een wiki folder.\n\n"
  },
  {
    "path": "languages/nl-NL/Help/clearpassword.tid",
    "content": "title: $:/language/Help/clearpassword\ndescription: Verwijder het wachtwoord voor volgende versleutelingsoperaties\n\nVerwijder het wachtwoord voor volgende versleutelingsoperaties\n\n```\n--clearpassword\n```\n"
  },
  {
    "path": "languages/nl-NL/Help/default.tid",
    "content": "title: $:/language/Help/default\ndescription: \n\n\\define commandTitle()\n$:/language/Help/$(command)$\n\\end\n```\nusage: tiddlywiki [<wikifolder>] [--<commando> [<argumenten>...]...]\n```\n\nBeschikbare commando's:\n\n<ul>\n<$list filter=\"[commands[]sort[title]]\" variable=\"command\">\n<li><$link to=<<commandTitle>>><$macrocall $name=\"command\" $type=\"text/plain\" $output=\"text/plain\"/></$link>: <$transclude tiddler=<<commandTitle>> field=\"description\"/></li>\n</$list>\n</ul>\n\nOm gedetaillerde hulp over een commando te krijgen:\n\n```\ntiddlywiki --help <commando>\n```\n"
  },
  {
    "path": "languages/nl-NL/Help/deletetiddlers.tid",
    "content": "title: $:/language/Help/deletetiddlers\ndescription: Verwijdert een groep tiddlers\n\n<<.from-version \"5.1.20\">> Verwijdert een gefilterde groep tiddlers.\n\n```\n--deletetiddlers <filter>\n```\n"
  },
  {
    "path": "languages/nl-NL/Help/editions.tid",
    "content": "title: $:/language/Help/editions\ndescription: Geeft een lijst van de beschikbare edities van TiddlyWiki\n\nGeeft een lijst van namen en beschrijvingen van de beschikbare edities. Je kan een nieuwe wiki van een gespecificeerde editie maken met het `--init` commando.\n\n```\n--editions\n```\n"
  },
  {
    "path": "languages/nl-NL/Help/fetch.tid",
    "content": "title: $:/language/Help/fetch\ndescription: 'Fetch' tiddlers van wiki via URL\n\n'Fetch' één of meer bestanden over HTTP/HTTPS en importeer de tiddlers die aan een filter voldoen (en optioneel aanpassen van de titles).\n\n```\n--fetch file <url> <import-filter> <transform-filter>\n--fetch files <url-filter> <import-filter> <transform-filter>\n```\n\nMet de \"file\" variant wordt alleen een enkel bestand 'gefetched' en de eerste parameter is de URL van het te lezen bestand.\n\nMet de \"files\" variant worden meerdere bestanden 'gefetched' en de eerste parameter is een filter dat een lijst oplevert van URL's van te lezen bestanden. B.v., als een reeks tiddlers gelabeld met \"remote-server\" een veld \"url\" hebben, zal het filter `[tag[remote-server]get[url]]` alle beschikbare URL's ophalen.\n\nDe `<import-filter>` parameter specificeert een filter dat bepaalt welke tiddlers worden geïmporteerd. Zonder filter wordt het standaard `[all[tiddlers]]` gebruikt.\n\nDe `<transform-filter>` parameter specificeert een optioneel filter dat de titels van de geïmporteerde tiddlers aanpast. B.v. `[addprefix[$:/myimports/]]` voegt `$:/myimports/` toe aan het begin van elke titel.\n\nAls het `--fetch` commando voorafgegaan wordt door `--verbose`, wordt voortgangsinformatie gedurende het importeren gegeven.\n\nMerk op dat TiddlyWiki geen oudere versie van een reeds geladen plugin zal 'fetchen'.\n\nHet volgende voorbeeld haalt alle non-system tiddlers op van https://tiddlywiki.com en slaat die op als een JSON bestand:\n\n```\ntiddlywiki --verbose --fetch file \"https://tiddlywiki.com/\" \"[!is[system]]\" \"\" --rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[!is[system]]\"\n```\n"
  },
  {
    "path": "languages/nl-NL/Help/help.tid",
    "content": "title: $:/language/Help/help\ndescription: Toont hulp voor een TiddlyWiki commando\n\nToont hulptekst voor een commando:\n\n```\n--help [<commando>]\n```\n\nwordt de commandonaam weggelaten dan wordt een lijst van beschikbare commando's getoond.\n"
  },
  {
    "path": "languages/nl-NL/Help/import.tid",
    "content": "title: $:/language/Help/import\ndescription: Importeer tiddlers van een bestand\n\nImporteer tiddlers van TiddlyWiki (`.html`), `.tiddler`, `.tid`, `.json` of andere lokale bestanden. De 'deserializer' moet expliciet gespecificeerd worden, anderes dan bij het 'load' commando dat de deserializer afleidt uit de extensie.\n\n```\n--import <bestandspad> <deserializer> [<titel>] [<codering>]\n```\n\nDe deserializers in de core begrijpen:\n\n* application/javascript\n* application/json\n* application/x-tiddler\n* application/x-tiddler-html-div\n* application/x-tiddlers\n* text/html\n* text/plain\n\nStandaard is de bestandsnaam de titel van de geïmporteerde tiddler.\n\nStandaard is de codering \"utf8\", maar dit kan \"base64\" zijn voor importeren van binaire bestanden.\n\nN.B. TiddlyWiki importeert geen oudere versie van een al geladen plugin.\n"
  },
  {
    "path": "languages/nl-NL/Help/init.tid",
    "content": "title: $:/language/Help/init\ndescription: Initialiseer een nieuwe wiki folder\n\nInitialiseer een lege [[WikiFolder|WikiFolders]] met een kopie van de gespecificeerde editie.\n\n```\n--init <editie> [<editie> ...]\n```\n\nB.v.:\n\n```\ntiddlywiki ./MijnWikiFolder --init empty\n```\n\nN.B.:\n\n* De wiki folder wordt zonodig aangemaakt\n* De \"editie\" is standaard \"empty\"\n* Het init commando werkt niet als de wiki folder niet leeg is\n* Het init commando verwijdert alle `includeWikis` definities in het edition's `tiddlywiki.info` bestand\n* Als meerdere edities gespecificeerd worden zullen edities die later geïnitialiseerd worden alle bestanden overschrijven die gedeeld worden met eerdere edities (dus het `tiddlywiki.info` bestand wordt gekopieerd van de laatste editie)\n* `--editions` geeft een lijst met beschikbare edities"
  },
  {
    "path": "languages/nl-NL/Help/listen.tid",
    "content": "title: $:/language/Help/listen\ndescription: Geeft een HTTP server interface voor TiddlyWiki\n\nLevert een wiki over HTTP uit.\n\nHet 'listen' commando gebruikt NamedCommandParameters:\n\n```\n--listen [<name>=<value>]...\n```\n\nAlle parameters zijn optioneel met veilige standaardwaarden, en kunnen in willekeurige volgorde gespecificeerd worden. De mogelijke parameters zijn:\n\n* ''host'' - optionele 'hostname' om uit te leveren (standaard \"127.0.0.1\" oftewel \"localhost\")\n* ''path-prefix'' - optioneel voorvoegsel voor paden\n* ''port'' - poortnummer voor communicatie; niet-numerieke waarden worden geïnterpreteerd als een systeem 'environment variable' waaruit het poortnummer geëxtraheerd wordt (standaard \"8080\")\n* ''credentials'' - padnaam naar CSV-bestand met aanmeldgegevens (relatief t.o.v. wiki folder)\n* ''anon-username'' - de gebruikersnaam waarmee wijzigingen gesigneerd worden voor anonieme gebruikers\n* ''username'' - optionele gebruikersnaam voor simpele verificatie\n* ''password'' - optioneel wachtwoord voor simpele verificatie\n* ''authenticated-user-header'' - optionele naam van de 'header' die gebruikt wordt voor vertrouwde verificatie\n* ''readers'' - 'comma separated' lijst van 'principalen' die deze wiki mogen lezen\n* ''writers'' - 'comma separated' lijst van 'principalen' die naar deze wiki mogen schrijven\n* ''csrf-disable'' - zet op \"yes\" om CSRF checks uit te zetten (standaard \"no\")\n* ''root-tiddler'' - de root tiddler (standaard \"$:/core/save/all\")\n* ''root-render-type'' - het inhoudstype waarmee de basistiddler getoond wordt (standaard \"text/plain\")\n* ''root-serve-type'' - het inhoudstype waarmee de basistiddler uitgeleverd wordt (standaard \"text/html\")\n* ''tls-cert'' - padnaam naar bestand met 'key' (relatief t.o.v. wiki folder)\n* ''debug-level'' - optioneel debug level; zet op \"debug\" om details te tonen (standaard \"none\")\n"
  },
  {
    "path": "languages/nl-NL/Help/load.tid",
    "content": "title: $:/language/Help/load\ndescription: Laadt tiddlers van bestand\n\nLaadt tiddlers van 2.x.x TiddlyWiki bestanden (`.html`), `.tiddler`, `.tid`, `.json` of andere bestanden\n\n```\n--load <bestandspad>\n```\n\nOm tiddlers van een versleuteld TiddlyWiki bestand te laden dien je eerst het wachtwoord met het wachtwoordcommando te geven, b.v.:\n\n```\ntiddlywiki ./MijnWiki --password pa55w0rd --load mijn_versleutelde_wiki.html\n```\n\nN.B.: TiddlyWiki laadt geen plugin die ouder is dan de al aanwezige plugin."
  },
  {
    "path": "languages/nl-NL/Help/makelibrary.tid",
    "content": "title: $:/language/Help/makelibrary\ndescription: Het maken van de bibliotheekplugin is vereist voor het upgradeproces\n\nMaak de `$:/UpgradeLibrary` tiddler voor het upgradeproces.\n\nDe upgradebibliotheek is opgemaakt als een normale plugin tiddler van het plugintype `library`. Het bevat een kopie van iedere plugin, thema of taalpakket dat in de TiddlyWiki5 opslagruimte beschikbaar is.\n\nDit commando is bedoeld voor intern gebruik; het is alleen relevant voor gebruikers die een eigen upgradeprocedure maken.\n\n```\n--makelibrary <titel>\n```\n\nHet titelargument is standaard `$:/UpgradeLibrary`.\n"
  },
  {
    "path": "languages/nl-NL/Help/notfound.tid",
    "content": "title: $:/language/Help/notfound\ndescription: \n\nGeen hulp"
  },
  {
    "path": "languages/nl-NL/Help/output.tid",
    "content": "title: $:/language/Help/output\ndescription: Stelt de basis output folder voor volgende commando's in\n\nStelt de basis output folder voor volgende commando's in. De standaard outputfolder is de `output` subfolder van de editiefolder.\n\n```\n--output <bestandspad>\n```\n\nAls het gespecificeerde bestandspad relatief is zal dit relatief zijn t.o.v. de werkfolder. B.v. `--output .` stelt de outputfolder in als huidige werkfolder.\n\n"
  },
  {
    "path": "languages/nl-NL/Help/password.tid",
    "content": "title: $:/language/Help/password\ndescription: Vul een wachtwoord in voor volgende versleuteloperarties\n\nVul een wachtwoord in voor volgende versleuteloperarties\n\n```\n--password <wachtwoord>\n```\n\n"
  },
  {
    "path": "languages/nl-NL/Help/render.tid",
    "content": "title: $:/language/Help/render\ndescription: Rendert individuele tiddlers naar bestanden\n\n\nRender (toon) gefilterde individuele tiddlers en sla de resultaten op in de gespecificeerde bestanden.\n\nOptioneel kan de titel van een template tiddler gespecificeerd worden. I.p.v. direct renderen van de tiddler wordt de template tiddler gerenderd met de \"currentTiddler\" variabele gezet als titel van de tiddler die wordt gerenderd.\n\nEen naam en waarde voor een additionele variabele kan optioneel gespecificeerd worden.\n\n```\n--render <tiddler-filter> [<bestandsnaam-filter>] [<render-type>] [<template>] [<naam>] [<waarde>]\n```\n\n* ''tiddler-filter'': Een filter dat bepaalt welke tiddler(s) getoond worden\n* ''bestandsnaam-filter'': Optioneel filter dat tiiddler titels omzet in padnamen. Standaard (geen optioneel filter) `[is[tiddler]addsuffix[.html]]`, hetgeen de onveranderde tiddler titel als bestandsnaam gebruikt\n* ''template'': Optionele template die gebruikt wordt om elke tiddler te renderen\n* ''render-type'': Optioneel render type: `text/html` (standaard) geeft de volledige HTML tekst en `text/plain` geeft de kale tekst (negeert HTML labels en ander niet te printen materiaal)\n* ''naam'': Naam van de optionele variabele\n* ''waarde'': Waarde van de optionele variabele\n\nStandaard is de bestandsnaam relatief t.o.v. de `output` subfolder van de editiefolder. Het `--output` commando kan gebruikt worden om output naar een andere folder te leiden.\n\nN.B.:\n* De output folder wordt niet leeg gemaakt\n* Elke ontbrekende folder in het pad naar de bestandsnaam wordt automatisch aangemaakt\n* In het geval van een tiddler met spaties in de titel, gebruik zowel de aanhalingstekens die vereist zijn voor de commando shell en ook TiddlyWiki's dubbele vierkante haken : `--render \"[[Motovun Jack.jpg]]\"`\n* Het bestandsnaam filter wordt geëvalueerd met de gekozen onderdelen, gezet voor de titel van de te renderen tiddler, waarbij de titel als basis dient om de bestandsnaam te bepalen. B.v. `[encodeuricomponent[]addprefix[static/]]` past URI encoding toe op elke titel, en voegt dan de prefix `static/` toe\n* Het `--render` commando is een uitgebreidere vervanging voor de verouderde `--rendertiddler` en `--rendertiddlers` commando's\n\nVoorbeelden:\n\n* `--render \"[!is[system]]\" \"[encodeuricomponent[]addprefix[tiddlers/]addsuffix[.html]]\"` -- rendert alle non-system tiddlers als bestanden in the subfolder \"tiddlers\" met URL-encoded titels en de extensie HTML"
  },
  {
    "path": "languages/nl-NL/Help/rendertiddler.tid",
    "content": "title: $:/language/Help/rendertiddler\ndescription: Render (toon) een individuele tiddler als een gegeven inhoudstype\n\nRender (toon) een individuele tiddler als een gegeven inhoudstype (standaard `text/html`) en sla deze op met de gegeven bestandsnaam:\n\n```\n--rendertiddler <titel> <bestandsnaam> [<type>]\n```\n\nStandaard is de bestandsnaam relatief t.o.v. de `output` subfolder van de editiefolder.\n\nOntbrekende folders in het pad worden automatisch aangemaakt."
  },
  {
    "path": "languages/nl-NL/Help/rendertiddlers.tid",
    "content": "title: $:/language/Help/rendertiddlers\ndescription: Render (toon) een reeks tiddlers die aan een filter voldoen tot separate tiddlers van een gegeven inhoudstype\n\nRender (toon) een reeks tiddlers die aan een filter voldoen tot separate tiddlers van een gegeven inhoudstype (standaard `text/html`) en extensie (standaard `.html`).\n\n```\n--rendertiddlers <filter> <template> <bestandspad> [<type>] [<extensie>]\n```\n\nB.v.:\n\n```\n--rendertiddlers [!is[system]] $:/core/templates/static.tiddler.html ./static text/plain\n```\n\nStandaard is de padnaam relatief t.o.v. de `output` subfolder van de editiefolder. Het `--output` commando kan worden gebruikt om de output naar een andere folder te sturen.\n\nAlle bestanden in de doelfolder worden verwijderd. De doelfolder wordt recursief aangemaakt als hij ontbreekt.\n"
  },
  {
    "path": "languages/nl-NL/Help/save.tid",
    "content": "title: $:/language/Help/save\ndescription: Slaat individuele ruwe tiddlers in bestanden op\n\nSlaat gefilterde individuele tiddlers op in gespecificeerde bestanden als ruwe tekst of in binair formaat.\n\n```\n--save <tiddler-filter> <bestandsnaam-filter>\n```\n\n* ''tiddler-filter'': Een filter dat bepaalt welke tiddler(s) opgeslagen moeten worden\n* ''bestandsnaam-filter'': Optioneel filter dat tiddler titels omzet in padnamen. Standaard (geen optioneel filter) `[is[tiddler]]`, hetgeen de onveranderde tiddler titel als bestandsnaam gebruikt\n\nStandaard is de bestandsnaam relatief t.o.v. de `output` subfolder van de editiefolder. Het `--output` commando kan gebruikt worden om output naar een andere folder te leiden.\n\nN.B.:\n* De output folder wordt niet leeg gemaakt\n* Elke ontbrekende folder in het pad naar de bestandsnaam wordt automatisch aangemaakt\n* In het geval van een tiddler met spaties in de titel, gebruik zowel de aanhalingstekens die vereist zijn voor de commando shell en ook TiddlyWiki's dubbele vierkante haken : `--render \"[[Motovun Jack.jpg]]\"`\n* Het bestandsnaam filter wordt geëvalueerd met de gekozen onderdelen, gezet voor de titel van de te tiddler die opgeslagen wordt, waarbij de titel als basis dient om de bestandsnaam te bepalen. B.v. `[encodeuricomponent[]addprefix[static/]]` past URI encoding toe op elke titel, en voegt dan de prefix `static/` toe\n* Het `--save` commando is een uitgebreidere vervanging voor de verouderde `--savetiddler` en `--savetiddlers` commando's\n\nVoorbeelden:\n\n * `--save \"[!is[system]is[image]]\" \"[encodeuricomponent[]addprefix[tiddlers/]]\"` -- slaat alle non-system afbeeldingstiddlers als bestanden op in the subfolder \"tiddlers\" met URL-encoded titels"
  },
  {
    "path": "languages/nl-NL/Help/savetiddler.tid",
    "content": "title: $:/language/Help/savetiddler\ndescription: Slaat een ruwe tiddler op in een bestand\n\nSlaat een individuele tiddler op in ruwe tekst of binair formaat met de gegeven bestandsnaam.\n\n```\n--savetiddler <titel> <bestandsnaam>\n```\n\nStandaard is de bestandsnaam relatief t.o.v. de `output` subfolder van de editiefolder. Het `--output` commando kan worden gebruikt om de output naar een andere folder te sturen.\n\nOntbrekende folders in het pad worden automatisch aangemaakt.\n"
  },
  {
    "path": "languages/nl-NL/Help/savetiddlers.tid",
    "content": "title: $:/language/Help/savetiddlers\ndescription: Slaat een groep ruwe tiddlers op in een folder.\n\nSlaat een groep tiddlers op in ruwe tekst of binair formaat in de gegeven folder.\n\n```\n--savetiddlers <filter> <padnaam>\n```\n\nStandaard is de padnaam relatief t.o.v. de `output` subfolder van de editiefolder. Het `--output` commando kan worden gebruikt om de output naar een andere folder te sturen.\n\nOntbrekende folders in het pad worden automatisch aangemaakt.\n"
  },
  {
    "path": "languages/nl-NL/Help/savewikifolder.tid",
    "content": "title: $:/language/Help/savewikifolder\ndescription: Slaat een wiki in een nieuwe wiki-folder op\n\n<<.from-version \"5.1.20\">> Slaat de wiki als een wiki-folder op inclusief tiddlers, plugins en configuratie:\n\n```\n--savewikifolder <wikifolderpath> [<filter>]\n```\n\n* De doel wiki folder moet leeg zijn of niet bestaan\n* Het filter geeft aan welke tiddlers opgeslagen worden. Het filter is optioneel; standaard is `[all[tiddlers]]`\n* Plugins uit de officiële plugin-bibliotheek worden vervangen door referenties naar deze plugins in het `tiddlywiki.info` bestand\n* Andere plugins worden uitgepakt in hun eigen folder\n\nKan worden gebruikt om een TiddlyWiki HTML-bestand in een wiki-folder om te zetten:\n\n```\ntiddlywiki --load ./mywiki.html --savewikifolder ./mywikifolder\n```\n"
  },
  {
    "path": "languages/nl-NL/Help/server.tid",
    "content": "title: $:/language/Help/server\ndescription: Geeft een HTTP serverinterface aan TiddlyWiki\n\nTiddlyWiki5 bevat een simpele server. Hoewel deze server compatibel is met TiddlyWeb, ontbreken zaken voor robuust internetgebruik.\n\nDe server kan specifieke tiddlers in het gegeven formaat tonen. Daarnaast kunnen tiddlers in JSON-formaat uitgeleverd worden.\nDe ondersteunde HTTP-functies zijn: `GET`, `PUT` en `DELETE`.\n\n```\n--server <poort> <roottiddler> <rendertype> <servetype> <gebruikersnaam> <wachtwoord> <host> <padprefix>\n```\n\nDe parameters zijn:\n\n* ''poort'' - poortnummer voor communicatie (standaard \"8080\")\n* ''roottiddler'' - de tiddler die als basistiddler gebruikt wordt (standaard \"$:/core/save/all\") \n* ''rendertype'' - het inhoudstype waarmee de basistiddler getoond wordt (standaard \"text/plain\")\n* ''servetype'' - het inhoudstype waarmee de basistiddler uitgeleverd wordt (standaard \"text/html\")\n* ''gebruikersnaam'' - de standaard gebruikersnaam waarmee wijzigingen gesigneerd worden\n* ''wachtwoord'' - optioneel wachtwoord voor simpele verificatie\n* ''host'' - optionele hostnaam waarmee uitgeleverd wordt (standaard \"127.0.0.1\" oftewel \"localhost\")\n* ''padprefix'' - optioneel voorvoegsel voor paden\n\nAls een wachtwoord gegeven wordt zal de browser om gebruikersnaam en wachtwoord vragen. N.B. het wachtwoord wordt als platte tekst verzonden en dit is dus niet geschikt voor algemeen internetgebruik.\n\nB.v.:\n\n```\n--server 8080 $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n\nDe gebruikersnaam en het wachtwoord kunnen als lege \"strings\" (\"\") gespecificeerd worden als je \"hostnaam\" of \"padprefix\" wil geven zonder wachtwoord:\n\n```\n--server 8080 $:/core/save/all text/plain text/html \"\" \"\" 192.168.0.245\n```\n\nOm meerdere TiddlyWiki servers tegelijkertijd te gebruiken dien je elke server op een aparte poort te zetten.\n"
  },
  {
    "path": "languages/nl-NL/Help/setfield.tid",
    "content": "title: $:/language/Help/setfield\ndescription: Maakt externe tiddlers voor gebruik gereed\n\n//N.B. Dit commando is experimenteel en kan veranderen of vervangen worden//\n\nZet het gespecificeerde veld van een groep tiddlers via een filter. Een sjabloon wordt \"gewikificeerd\" (wikified) en het resultaat aan het veld toegekend. De `currentTiddler` variabele wordt aan de respectievelijke tiddler toegekend.\n\n```\n--setfield <filter> <veldnaam> <templatetitel> <rendertype>\n```\n\nDe parameters zijn:\n\n* ''filter'' - filter dat de tiddlers selecteert\n* ''veldnaam'' - het betreffende veld (standaard \"text\")\n* ''templatetitel'' - de tiddler die in het betreffende veld gewikificeerd moet worden. In geval van een leeg of ontbrekend veld wordt het veld verwijderd\n* ''rendertype'' - het teksttype om te renderen (tonen) - standaard \"text/plain\"; \"text/html\" kan worden gebruikt om HTML-elementen te kunnen gebruiken\n"
  },
  {
    "path": "languages/nl-NL/Help/unpackplugin.tid",
    "content": "title: $:/language/Help/unpackplugin\ndescription: Extraheer de 'payload' tiddlers van een plugin\n\nExtraheer de 'payload' tiddlers van een plugin en maak er gewone tiddlers van:```--unpackplugin <titel>```"
  },
  {
    "path": "languages/nl-NL/Help/verbose.tid",
    "content": "title: $:/language/Help/verbose\ndescription: Activeert extra tekstoutput\n\nActiveert extra tekstoutput, zinvol voor debuggen\n\n```\n--verbose\n```\n"
  },
  {
    "path": "languages/nl-NL/Help/version.tid",
    "content": "title: $:/language/Help/version\ndescription: Toont het versienummer van TiddlyWiki\n\nToont het versienummer van TiddlyWiki\n\n```\n--version\n```\n"
  },
  {
    "path": "languages/nl-NL/Import.multids",
    "content": "title: $:/language/Import/\n\nImported/Hint: De volgende tiddlers werden geïmporteerd:\nListing/Cancel/Caption: Annuleer\nListing/Hint: Deze tiddlers staan klaar voor import:\nListing/Import/Caption: Importeer\nListing/Preview: Voorvertoning:\nListing/Preview/Diff: Verschil\nListing/Preview/DiffFields: Verschil (Velden)\nListing/Preview/Fields: Velden\nListing/Preview/Text: Tekst\nListing/Preview/TextRaw: Tekst (Ruw)\nListing/Rename/CancelRename: Annuleer\nListing/Rename/ConfirmRename: Hernoem tiddler\nListing/Rename/OverwriteWarning: Een tiddler met deze naam bestaat al\n\nListing/Rename/Prompt: Hernoem tot:\nListing/Rename/Tooltip: Hernoem tiddler voor import\nListing/Select/Caption: Selecteer\nListing/Status/Caption: Status\nListing/Title/Caption: Titel\nUpgrader/Plugins/Suppressed/Incompatible: Geblokkeerde plugin (incompatibel of verouderd)\nUpgrader/Plugins/Suppressed/Version: Geblokkeerde plugin (te importeren <<incoming>>  ouder dan bestaande <<existing>>)\nUpgrader/Plugins/Upgraded: Plugin opgewaardeerd van <<incoming>> naar <<upgraded>>\nUpgrader/State/Suppressed: Geblokkeerde tijdelijke statustiddler\nUpgrader/System/Alert: Je staat op het punt om om een tiddler te importeren die een 'core module' tiddler zal overschrijven. Dit wordt niet aanbevolen daar het systeem instabiel kan worden\nUpgrader/System/Suppressed: Geblokkeerde systeemtiddler\nUpgrader/System/Warning: 'Core module' tiddler\nUpgrader/ThemeTweaks/Created: Gemigreerde thema-aanpassing van <$text text=<<from>>/>\n"
  },
  {
    "path": "languages/nl-NL/Misc.multids",
    "content": "title: $:/language/\n\nAboveStory/ClassicPlugin/Warning: Het lijkt erop dat je probeert een ~TiddlyWiki Classic plugin te laden. [[Deze plugins werken niet met ~TiddlyWiki version 5.x.x|https://tiddlywiki.com/#TiddlyWikiClassic]]. Gedetecteerde ~TiddlyWiki Classic plugins:\nBinaryWarning/Prompt: Deze tiddler bevat binaire data\nClassicWarning/Hint: Deze tiddler is in TiddlyWiki Classic wiki tekstformaat geschreven dat niet geheel compatibel is met TiddlyWiki versie 5. Zie https://tiddlywiki.com/static/Upgrading.html voor meer details.\nClassicWarning/Upgrade/Caption: upgrade\nCloseAll/Button: sluit alle\nConfirmAction: Wil je doorgaan?\nConfirmCancelTiddler: Wil je gemaakte wijzigingen aan de tiddler \"<$text text=<<title>>/>\" annuleren?\nConfirmDeleteTiddler: Wil je de tiddler \"<$text text=<<title>>/>\" verwijderen?\nConfirmEditShadowTiddler: Je staat op het punt een schaduwtiddler te wijzigen. Toekomstige automatische veranderingen (upgrades) zijn dan niet mogelijk. Wil je \"<$text text=<<title>>/>\" wijzigen?\nConfirmOverwriteTiddler: Wil je de tiddler \"<$text text=<<title>>/>\" overschrijven?\nCount: aantal\nDefaultNewTiddlerTitle: Nieuwe tiddler\nDiffs/CountMessage: <<diff-count>> verschillen\nDropMessage: 'Drop' hier (of klik escape om te annuleren)\nEncryption/Cancel: Annuleer\nEncryption/ConfirmClearPassword: Wil je het wachtwoord verwijderen? Dan wordt de wiki onversleuteld opgeslagen.\nEncryption/Password: Wachtwoord\nEncryption/PasswordNoMatch: Wachtwoorden komen niet overeen\nEncryption/PromptSetPassword: Vul een nieuw wachtwoord in voor deze TiddlyWiki\nEncryption/RepeatPassword: Herhaal wachtwoord\nEncryption/SetPassword: Vul wachtwoord in\nEncryption/Username: Gebruikersnaam\nError/Caption: Fout\nError/Filter: Filterfout\nError/FilterRunPrefix: Filterfout: Onbekend voorvoegsel voor filter 'run'\nError/FilterSyntax: Syntaxfout in filter expressie\nError/FormatFilterOperator: Filterfout: Onbekend achtervoegsel voor de 'format' filter operator\nError/IsFilterOperator: Filterfout: Onbekende operand voor het 'is' filter\nError/LoadingPluginLibrary: Fout bij laden van de pluginbibliotheek\nError/NetworkErrorAlert: `<h2>''Network fout''</h2>De verbinding met de server lijkt verbroken. Mogelijk een probleem met de netwerkverbinding. Herstel de netwerkverbinding voordat verder wordt gegaan.<br><br>''Niet opgeslagen veranderingen worden gesynchroniseerd als de verbinding hersteld is''.`\nError/PutEditConflict: Bestand gewijzigd op server\nError/RecursiveTransclusion: Recursieve transclusiefout in 'transclude' widget\nError/RetrievingSkinny: Fout bij ophalen van de 'skinny' tiddlerlijst\nError/SavingToTWEdit: Fout bij opslaan naar TWEdit\nError/WhileSaving: Fout bij opslaan\nError/XMLHttpRequest: XMLHttpRequest foutcode\nInternalJavaScriptError/Hint: Er is een probleem. Herstart TiddlyWiki door je browser te verversen\nInternalJavaScriptError/Title: Interne JavaScript fout\nLazyLoadingWarning: <p>Er wordt externe tekst geladen van ''<$text text={{!!_canonical_uri}}/>''</p><p>Als deze mededeling niet verdwijnt ondersteunt de gebruikte browser in deze configuratie mogelijk geen externe tekst. Zie https://tiddlywiki.com/#ExternalText</p>\nLoginToTiddlySpace: Login bij TiddlySpace\nManager/Controls/FilterByTag/None: (geen)\nManager/Controls/FilterByTag/Prompt: Filter d.m.v. label:\nManager/Controls/Order/Prompt: Omgekeerde volgorde\nManager/Controls/Search/Placeholder: Zoek\nManager/Controls/Search/Prompt: Zoek:\nManager/Controls/Show/Option/Tags: labels\nManager/Controls/Show/Prompt: Toon:\nManager/Controls/Sort/Prompt: Sorteer op:\nManager/Item/Colour: Kleur\nManager/Item/Fields: Velden\nManager/Item/Icon: Pictogram (icon)\nManager/Item/Icon/None: (geen)\nManager/Item/RawText: Ruwe tekst\nManager/Item/Tags: Labels\nManager/Item/Tools: Gereedschappen\nManager/Item/WikifiedText: 'Wikified' tekst\nMissingTiddler/Hint: Ontbrekende tiddler \"<$text text=<<currentTiddler>>/>\" - klik {{||$:/core/ui/Buttons/edit}} om hem aan te maken\nNo: Nee\nOfficialPluginLibrary: Officiële ~TiddlyWiki pluginbibliotheek\nOfficialPluginLibrary/Hint: De officiële ~TiddlyWiki pluginbibliotheek op tiddlywiki.com. Plugins, thema's en taalpaketten worden door het core team onderhouden.\nPluginReloadWarning: Sla op {{$:/core/ui/Buttons/save-wiki}} en ververs {{$:/core/ui/Buttons/refresh}} om wijzigingen aan plugins door te voeren\nRecentChanges/DateFormat: DD MMM YYYY\nShortcuts/Input/Accept/Hint: Accepteer het geselecteerde item\nShortcuts/Input/AcceptVariant/Hint: Accepteer het geselecteerde item (variant)\nShortcuts/Input/AdvancedSearch/Hint: Open geavanceerd zoeken vanuit het zoekveld in het zijpaneel\nShortcuts/Input/Cancel/Hint: Wis het input veld\nShortcuts/Input/Down/Hint: Selecteer het volgende item\nShortcuts/Input/Tab-Left/Hint: Selecteer de voorgaande tab\nShortcuts/Input/Tab-Right/Hint: Selecteer de volgende tab\nShortcuts/Input/Up/Hint: Selecteer het voorgaande item\nShortcuts/SidebarLayout/Hint: Verander de layout van het zijpaneel\nSystemTiddler/Tooltip: Dit is een systeem tiddler\nSystemTiddlers/Include/Prompt: Inclusief systeem tiddlers\nTagManager/Colour/Heading: Kleur\nTagManager/Count/Heading: Aantal\nTagManager/Icon/Heading: Pictogram (icon)\nTagManager/Icons/None: Geen\nTagManager/Info/Heading: Info\nTagManager/Tag/Heading: Label\nTiddler/DateFormat: DD MMM YYYY om hh12:0mmam\nUnsavedChangesWarning: Er zijn niet-opgeslagen veranderingen in TiddlyWiki\nYes: Ja\n"
  },
  {
    "path": "languages/nl-NL/Modals/Download.tid",
    "content": "title: $:/language/Modals/Download\ntype: text/vnd.tiddlywiki\nsubtitle: Download changes\nfooter: <$button message=\"tm-close-tiddler\">Close</$button>\nhelp: https://tiddlywiki.com/static/DownloadingChanges.html\n\nJe browser ondersteunt alleen handmatig opslaan.\n\nOm je gewijzigde wiki op te slaan klik rechts op de downloadlink hieronder en kies \"Bestand downloaden\" of \"Doel opslaan als\" en kies dan een folder en bestandsnaam.\n\n//Je kan het iets versnellen door op de link te klikken met de control toets (Windows) of de opties/alt toets (Mac OS X) ingedrukt. Er wordt dan niet om folder- of bestandsnaam gevraagd, maar de browser zal een niet herkenbare naam geven - je dient het bestand te hernoemen met een `.html` extensie alvorens je iets zinnigs met het bestand kan doen.//\n\nBij smartphones die downloaden niet ondersteunen, kan je een bladwijzer van de link maken en dan je favorieten synchroniseren met een desktop-PC waarop de wiki normaal opgeslagen kan worden.\n"
  },
  {
    "path": "languages/nl-NL/NewJournal.multids",
    "content": "title: $:/config/NewJournal/\n\nTags: Journaal\nTitle: YYYY MMM DD\n"
  },
  {
    "path": "languages/nl-NL/Notifications.multids",
    "content": "title: $:/language/Notifications/\n\nCopiedToClipboard/Failed: Kopie naar klembord mislukt!\nCopiedToClipboard/Succeeded: Gekopieerd!\nSave/Done: Wiki opgeslagen\nSave/Starting: Begonnen met wiki op te slaan\n"
  },
  {
    "path": "languages/nl-NL/Search.multids",
    "content": "title: $:/language/Search/\n\nDefaultResults/Caption: Lijst\nFilter/Caption: Filter\nFilter/Hint: Zoek via een [[filter expressie|https://tiddlywiki.com/static/Filters.html]]\nFilter/Matches: //<small><<resultCount>> resultaten</small>//\nMatches: //<small><<resultCount>> resultaten</small>//\nMatches/All: Alle resultaten:\nMatches/Title: Titel resultaten:\nSearch: Zoek\nSearch/TooShort: Zoektekst te kort\nShadows/Caption: Schaduwen\nShadows/Hint: Zoek schaduwtiddlers\nShadows/Matches: //<small><<resultCount>> resultaten</small>//\nStandard/Caption: Standaard\nStandard/Hint: Zoek (in) standaard tiddlers\nStandard/Matches: //<small><<resultCount>> resultaten</small>//\nSystem/Caption: Systeem\nSystem/Hint: Zoek systeemtiddlers\nSystem/Matches: //<small><<resultCount>> resultaten</small>//\n"
  },
  {
    "path": "languages/nl-NL/SideBar.multids",
    "content": "title: $:/language/SideBar/\n\nAll/Caption: Alle\nContents/Caption: Inhoud\nDrafts/Caption: Concepten\nExplorer/Caption: Verkenner\nMissing/Caption: Ontbrekend\nMore/Caption: Meer\nOpen/Caption: Open\nOrphans/Caption: Verweesd\nRecent/Caption: Recent\nShadows/Caption: Schaduw\nSystem/Caption: Systeem\nTags/Caption: Labels\nTags/Untagged/Caption: niet gelabeld\nTools/Caption: Gereedschap\nTypes/Caption: Types\n"
  },
  {
    "path": "languages/nl-NL/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\neen niet-lineair persoonlijk webnotitieboek"
  },
  {
    "path": "languages/nl-NL/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\nMijn ~TiddlyWiki"
  },
  {
    "path": "languages/nl-NL/Snippets/ListByTag.tid",
    "content": "title: $:/language/Snippets/ListByTag\ntags: $:/tags/TextEditor/Snippet\ncaption: Lijst van tiddlers met label ...\n\n<<list-links \"[tag[task]sort[title]]\">>\n"
  },
  {
    "path": "languages/nl-NL/Snippets/MacroDefinition.tid",
    "content": "title: $:/language/Snippets/MacroDefinition\ntags: $:/tags/TextEditor/Snippet\ncaption: Macro definitie\n\n\\define macroName(param1:\"default value\",param2)\nTekst van de macro\n\\end\n"
  },
  {
    "path": "languages/nl-NL/Snippets/Table4x3.tid",
    "content": "title: $:/language/Snippets/Table4x3\ntags: $:/tags/TextEditor/Snippet\ncaption: Tabel met 4 kolommen en 3 rijen\n\n|! |!Alpha |!Beta |!Gamma |!Delta |\n|!Een | | | | |\n|!Twee | | | | |\n|!Drie | | | | |\n"
  },
  {
    "path": "languages/nl-NL/Snippets/TableOfContents.tid",
    "content": "title: $:/language/Snippets/TableOfContents\ntags: $:/tags/TextEditor/Snippet\ncaption: Inhoudsopgave\n\n<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'TableOfContents'>>\n\n</div>"
  },
  {
    "path": "languages/nl-NL/ThemeTweaks.multids",
    "content": "title: $:/language/ThemeTweaks/\n\nMetrics: Afmetingen\nMetrics/BodyFontSize: Lettergrootte voor tiddlertekst\nMetrics/BodyLineHeight: Regelhoogte voor tiddlertekst\nMetrics/FontSize: Lettergrootte\nMetrics/LineHeight: Regelhoogte\nMetrics/SidebarBreakpoint: Breekpunt voor zijpaneel\nMetrics/SidebarBreakpoint/Hint: de minimale paginabreedte waarbij de 'story river'<br>en het zijpaneel naast elkaar getoond worden\nMetrics/SidebarWidth: Breedte zijpaneel\nMetrics/SidebarWidth/Hint: de breedte van het zijpaneel in 'fluid-fixed' layout\nMetrics/StoryLeft: Linker story-positie\nMetrics/StoryLeft/Hint: hoe ver de linkermarge van de 'story river'<br>(tiddler oppervlak) is van de linkerzijde van de pagina\nMetrics/StoryRight: Rechter story-positie\nMetrics/StoryRight/Hint: hoe ver de linkermarge van het zijpaneel<br>is van de linkerkant van de pagina\nMetrics/StoryTop: Bovenkant story\nMetrics/StoryTop/Hint: hoe ver de bovenmarge van de 'story river'<br>is van de bovenkant van de pagina\nMetrics/StoryWidth: Story-breedte\nMetrics/StoryWidth/Hint: de totale breedte van de 'story river'\nMetrics/TiddlerWidth: Tiddler-breedte\nMetrics/TiddlerWidth/Hint: binnen de 'story river'\nOptions: Opties\nOptions/CodeWrapping: Breek lange regels in code-blokken af ('word wrap')\nOptions/SidebarLayout: Zijpaneel layout\nOptions/SidebarLayout/Fixed-Fluid: 'Fixed story', 'fluid' zijpaneel\nOptions/SidebarLayout/Fluid-Fixed: 'Fluid' story, 'fixed' zijpaneel\nOptions/StickyTitles: Vaststaande ('sticky') titels\nOptions/StickyTitles/Hint: Doet tiddler-titels vaststaan ('stick') aan de bovenkant van het browserscherm. Waarschuwing: Werkt niet bij alle browsers\nSettings: Instellingen\nSettings/BackgroundImage: Pagina achtergrond afbeelding\nSettings/BackgroundImageAttachment: Binding van pagina achtergrond afbeelding\nSettings/BackgroundImageAttachment/Fixed: Vast aan het scherm\nSettings/BackgroundImageAttachment/Scroll: 'Scroll' met tiddlers\nSettings/BackgroundImageSize: Pagina achtergrond afbeeldingsmaat\nSettings/BackgroundImageSize/Contain: 'Contain'\nSettings/BackgroundImageSize/Cover: 'Cover'\nSettings/CodeFontFamily: Lettertype voor code\nSettings/EditorFontFamily: Lettertype voor editor\nSettings/FontFamily: Lettertype\nThemeTweaks: Thema 'tweaks'\nThemeTweaks/Hint: Je kan bepaalde aspecten van het ''Vanilla'' thema 'tweaken'\n"
  },
  {
    "path": "languages/nl-NL/TiddlerInfo.multids",
    "content": "title: $:/language/TiddlerInfo/\n\nAdvanced/Caption: Geavanceerd\nAdvanced/PluginInfo/Empty/Hint: niets\nAdvanced/PluginInfo/Heading: Plugin details\nAdvanced/PluginInfo/Hint: Deze plugin bevat de volgende schaduwtiddlers:\nAdvanced/ShadowInfo/Heading: Schaduwstatus\nAdvanced/ShadowInfo/NotShadow/Hint: De tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> is geen schaduwtiddler\nAdvanced/ShadowInfo/OverriddenShadow/Hint: Overschreven door een gewone tiddler\nAdvanced/ShadowInfo/Shadow/Hint: De tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> is een schaduwtiddler\nAdvanced/ShadowInfo/Shadow/Source: Gedefinieerd in de plugin <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>\nFields/Caption: Velden\nList/Caption: Lijst\nList/Empty: Deze tiddler heeft geen lijst\nListed/Caption: Genoemd\nListed/Empty: Deze tiddler wordt niet door andere tiddlers genoemd\nReferences/Caption: Referenties\nReferences/Empty: Er zijn geen tiddlers aan deze tiddler gelinkt\nTagging/Caption: Gelabeld\nTagging/Empty: Er zijn geen tiddlers gelabeld met deze tiddler\nTools/Caption: Gereedschap\n"
  },
  {
    "path": "languages/nl-NL/Types/application%2Fjavascript.tid",
    "content": "title: $:/language/Docs/Types/application/javascript\ndescription: JavaScript code\nname: application/javascript\ngroup: Ontwikkelaar\n"
  },
  {
    "path": "languages/nl-NL/Types/application%2Fjson.tid",
    "content": "title: $:/language/Docs/Types/application/json\ndescription: JSON data\nname: application/json\ngroup: Ontwikkelaar\n"
  },
  {
    "path": "languages/nl-NL/Types/application%2Fx-tiddler-dictionary.tid",
    "content": "title: $:/language/Docs/Types/application/x-tiddler-dictionary\ndescription: Data 'dictionary'\nname: application/x-tiddler-dictionary\ngroup: Ontwikkelaar\n"
  },
  {
    "path": "languages/nl-NL/Types/image%2Fgif.tid",
    "content": "title: $:/language/Docs/Types/image/gif\ndescription: GIF afbeelding\nname: image/gif\ngroup: Afbeelding\n"
  },
  {
    "path": "languages/nl-NL/Types/image%2Fjpeg.tid",
    "content": "title: $:/language/Docs/Types/image/jpeg\ndescription: JPEG afbeelding\nname: image/jpeg\ngroup: Afbeelding\n"
  },
  {
    "path": "languages/nl-NL/Types/image%2Fpng.tid",
    "content": "title: $:/language/Docs/Types/image/png\ndescription: PNG afbeelding\nname: image/png\ngroup: Afbeelding\n"
  },
  {
    "path": "languages/nl-NL/Types/image%2Fsvg%2Bxml.tid",
    "content": "title: $:/language/Docs/Types/image/svg+xml\ndescription: Structured Vector Graphics (SVG) afbeelding\nname: image/svg+xml\ngroup: Afbeelding\n"
  },
  {
    "path": "languages/nl-NL/Types/text%2Fcss.tid",
    "content": "title: $:/language/Docs/Types/text/css\ndescription: Statisch stijlblad\nname: text/css\ngroup: Ontwikkelaar\n"
  },
  {
    "path": "languages/nl-NL/Types/text%2Fhtml.tid",
    "content": "title: $:/language/Docs/Types/text/html\ndescription: HTML opmaak\nname: text/html\ngroup: Tekst\n"
  },
  {
    "path": "languages/nl-NL/Types/text%2Fplain.tid",
    "content": "title: $:/language/Docs/Types/text/plain\ndescription: Platte text\nname: text/plain\ngroup: Tekst\n"
  },
  {
    "path": "languages/nl-NL/Types/text%2Fvnd.tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/vnd.tiddlywiki\ndescription: TiddlyWiki 5\nname: text/vnd.tiddlywiki\ngroup: Tekst\n"
  },
  {
    "path": "languages/nl-NL/plugin.info",
    "content": "{\n\t\"title\": \"$:/languages/nl-NL\",\n\t\"name\": \"nl-NL\",\n\t\"plugin-type\": \"language\",\n\t\"description\": \"Nederlands (Nederland)\",\n\t\"author\": \"gernert\",\n\t\"core-version\": \">=5.1.5\"\n}\n"
  },
  {
    "path": "languages/pa-IN/Buttons.multids",
    "content": "title: $:/language/Buttons/\n\nAdvancedSearch/Caption: ਤਕਨੀਕੀ ਖੋਜ\nAdvancedSearch/Hint: ਤਕਨੀਕੀ ਖੋਜ\nCancel/Caption: ਰੱਦ ਕਰੋ\nCancel/Hint: ਇਸ tiddler ਨੂੰ ਰੱਦ ਕਰੋ\nClone/Caption: ਕਲੋਨ\nClone/Hint: ਸੰਪਾਦਨ ਕਰਨਾਕਲੋਨ ਕਰੋ\nClose/Caption:  ਬੰਦ ਕਰੋ\nClose/Hint: ਇਸ tiddler ਨੂੰ  ਬੰਦ ਕਰੋ\nCloseAll/Caption: ਬੰਦ ਕਰੋ ਸਾਰੇ\nCloseAll/Hint: ਬੰਦ ਕਰੋ ਸਾਰੇ\nCloseOthers/Caption: ਬੰਦ ਕਰੋ ਹੋਰ\nCloseOthers/Hint: ਬੰਦ ਕਰੋ ਹੋਰ tiddlers\nControlPanel/Caption: ਕਨ੍ਟ੍ਰੋਲ ਪੈਨਲ\nControlPanel/Hint: ਕਨ੍ਟ੍ਰੋਲ ਪੈਨਲ ਨੂੰ ਖੋਲ੍ਹੋ\nDelete/Caption: ਕੱਟ ਦੇਣਾ\nDelete/Hint: ਸੰਪਾਦਨ ਕਰਨਾ ਮਿਟਾਉਣਾ\nEdit/Caption: ਸੰਪਾਦਨ ਕਰਨਾ\nEdit/Hint: ਇਸ tiddler ਨੂੰ ਸੰਪਾਦਨ ਕਰਨਾ\nEncryption/Caption: ਇੰਕ੍ਰਿਪਸ਼ਨ\nEncryption/ClearPassword/Caption: ਇੰਕ੍ਰਿਪਸ਼ਨ /ਸਾਫ ਪਾਸਵਰਡ/ਸੁਰਖੀ\nEncryption/ClearPassword/Hint: ਇੰਕ੍ਰਿਪਸ਼ਨ /ਸਾਫ ਪਾਸਵਰਡ /ਸੰਕੇਤ\nEncryption/Hint:  ਇਸ ਵਿਕੀ 'ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਇੱਕ ਸਾਫ ਪਾਸਵਰਡ ਲਗਾਓ\nEncryption/SetPassword/Caption: ਸੈੱਟ ਗੁਪਤ-ਕੋਡ\nEncryption/SetPassword/Hint:  ਇੰਕ੍ਰਿਪਸ਼ਨ ਨਾਲ ਇਸ ਵਿਕੀ 'ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਇੱਕ ਪਾਸਵਰਡ ਸੈੱਟ ਕਰੋ\nExportPage/Caption: ਨਿਰਯਾਤ ਸਭ ਨੂੰ\nExportPage/Hint: ਸਭ ਨੂੰ tiddlers ਨਿਰਯਾਤ\nExportTiddler/Caption: ਨਿਰਯਾਤ tiddler\nExportTiddler/Hint: ਨਿਰਯਾਤ tiddler\nExportTiddlers/Caption: ਨਿਰਯਾਤ tiddler\nExportTiddlers/Hint: ਨਿਰਯਾਤ tiddler /ਸੰਕੇਤ\nFullScreen/Caption: ਪੂਰਾ ਸਕਰੀਨ\nFullScreen/Hint: ਦਰਜ ਕਰੋ ਜ ਪੂਰੀ-ਸਕਰੀਨ ਮੋਡ ਛੱਡ\nHideSideBar/Caption: ਸਾਇਡਬਾਰ  /ਸੁਰਖੀ\nHideSideBar/Hint: ਸਾਇਡਬਾਰ /ਸੰਕੇਤ\nHome/Caption: ਘਰ /ਸੁਰਖੀ\nHome/Hint: ਘਰ /ਸੰਕੇਤ\nImport/Caption: ਅਯਾਤ / ਸੁਰਖੀ\nImport/Hint: ਅਯਾਤ ਫਾਇਲ\nInfo/Caption: ਜਾਣਕਾਰੀ\nInfo/Hint: ਇਸ  tiddler ਨੂੰ   ਜਾਣਕਾਰੀ ਲਈ ਵੇਖੋ\nLanguage/Caption: ਭਾਸ਼ਾ /ਸੁਰਖੀ\nLanguage/Hint: ਯੂਜ਼ਰ ਇੰਟਰਫੇਸ ਭਾਸ਼ਾ ਚੁਣੋ\nMore/Caption: ਹੋਰ /ਸੁਰਖੀ\nMore/Hint: ਹੋਰ ਕਾਰਵਾਈ /ਸੰਕੇਤ\nNewHere/Caption:  ਇੱਥੇ ਨਵੇਂ /ਸੁਰਖੀ\nNewHere/Hint: ਇੱਥੇ ਨਵੇਂ /ਸੰਕੇਤ \nNewJournal/Caption:  ਨਵੇਂ ਪੱਤ੍ਰਿਕਾ\nNewJournal/Hint: ਇੱਕ ਨਵ ਪੱਤ੍ਰਿਕਾ tiddler ਬਣਾਓ\nNewJournalHere/Caption: ਇੱਥੇ ਨਿਊ ਜਰਨਲ / ਸੁਰਖੀ\nNewJournalHere/Hint: ਇਸ ਨੂੰ ਇੱਕ ਟੈਗ ਨਾਲ ਹੀ  ਇੱਕ ਨਵ ਪੱਤ੍ਰਿਕਾ tiddler ਬਣਾਓ\nNewTiddler/Caption: ਨਿਊ tiddler\nNewTiddler/Hint: ਇੱਕ ਨਵ tiddler ਬਣਾਓ\nPermalink/Caption: Permalink / ਸੁਰਖੀ\nPermalink/Hint:  ਇਸ  tiddler ਨੂੰ  ਸਿੱਧਾ ਲਿੰਕ ਕਰਨ ਇੱਕ  ਬਰਾਊਜ਼ਰ ਐਡਰੈਸ ਬਾਰ  ਸੈਟ ਕਰੋ \nPermaview/Caption: Permaview / ਸੁਰਖੀ\nPermaview/Hint:  ਇਸ  ਵਿੱਚ ਸਾਰੇ tiddlers ਨੂੰ  ਸਿੱਧਾ ਲਿੰਕ ਕਰਨ ਇੱਕ  ਬਰਾਊਜ਼ਰ ਐਡਰੈਸ ਬਾਰ  ਸੈਟ ਕਰੋ \nRefresh/Caption: ਤਾਜ਼ਾ ਕਰੋ\nRefresh/Hint: Wiki  ਨੂੰ  ਪੂਰਾ ਤਾਜ਼ਾ ਕਰਨ ਲਈ ਵਰਤੋ\nSave/Caption: ਜਮ੍ਹਾਂ ਕਰਨਾ\nSave/Hint: ਇਸ ਨੂੰ tiddler ਸੰਭਾਲੋ\nSaveWiki/Caption:  ਬਦਲਾਅ ਨੂੰ ਸੰਭਾਲਣਾ\nSaveWiki/Hint: ਸੰਭਾਲੋ ਵਿਕਿ / ਸੰਕੇਤ\nShowSideBar/Caption: ਸੰਭਾਲੋ ਵਿਕਿ / ਸੰਕੇਤ\nShowSideBar/Hint: ਵੇਖਾਓ ਸਾਇਡਬਾਰ\nStoryView/Caption: ਕਹਾਣੀ ਦਾ ਨਜ਼ਰੀਆ\nStoryView/Hint: ਕਹਾਣੀਵਿਜ਼ੁਅਲਾਈਜ਼ੇਸ਼ਨ ਨੂੰ ਚੁਣੋ\nTagManager/Caption: ਟੈਗ ਮੈਨੇਜਰ\nTagManager/Hint: ਖੋਲੋ ਟੈਗ ਮੈਨੇਜਰ ਖੋਲੋ\nTheme/Caption: ਥੀਮ\nTheme/Hint:  ਡਿਸਪਲੇਅ ਥੀਮ ਨੂੰ ਚੁਣੋ\n"
  },
  {
    "path": "languages/pa-IN/ControlPanel.multids",
    "content": "title: $:/language/ControlPanel/\n\nAdvanced/Caption: ਤਕਨੀਕੀ / ਸੁਰਖੀ\nAdvanced/Hint:  Tiddly Wiki ਬਾਰੇ ਅੰਦਰੂਨੀ ਜਾਣਕਾਰੀ ਨੂੰ \nAppearance/Caption:  ਦਿਖਾਵਟ\nAppearance/Hint: TiddlyWiki ਦੀ ਦਿਖਾਵਟ ਨੂੰ ਤਬਦੀਲ ਕਰਨ ਲਈ ਤਰੀਕੇ ਤੁਹਾਡੇ \nBasics/AnimDuration/Prompt: ਐਨੀਮੇਸ਼ਨ ਅੰਤਰਾਲ\nBasics/Caption: ਮੁੱਢਲੀ /ਸੁਰਖੀ\nBasics/DefaultTiddlers/BottomHint: ਮੁੱਢਲੀ ਜਾਣਕਾਰੀ / ਮੂਲ Tiddlers / ਥੱਲਿਉ ਸੰਕੇਤ\nBasics/DefaultTiddlers/Prompt: ਮੁੱਢਲੀ ਜਾਣਕਾਰੀ / ਮੂਲ Tiddlers / Prompt\nBasics/DefaultTiddlers/TopHint:  tiddlers ਚੁਣੋ:, ਜੋ ਸ਼ੁਰੂ ਹੋਣ ਵਿਖੇ ਵੇਖਾਏ ਗਏ ਹਨ\nBasics/Language/Prompt:  ਸਤ ਸ੍ਰੀ ਅਕਾਲ! ਮੌਜੂਦਾ ਭਾਸ਼ਾ:\nBasics/NewJournal/Tags/Prompt: ਨਿਊ ਪੱਤ੍ਰਿਕਾ tiddlers ਵਾਸਤੇ ਟੈਗਸ\nBasics/NewJournal/Title/Prompt: ਨਵ ਪੱਤ੍ਰਿਕਾ tiddlers ਦੇ  ਸਿਰਲੇਖ\nBasics/OverriddenShadowTiddlers/Prompt:  overridden ਸ਼ੈਡੋ tiddlers ਦੀ ਸੰਖਿਆ\nBasics/ShadowTiddlers/Prompt: ਸ਼ੈਡੋ tiddlers ਦੀ ਸੰਖਿਆ\nBasics/Subtitle/Prompt:  ਉਪ ਸਿਰਲੇਖ\nBasics/SystemTiddlers/Prompt: ਸਿਸਟਮ tiddlers ਦੀ ਸੰਖਿਆ\nBasics/Tags/Prompt: ਟੈਗ ਦੀ ਸੰਖਿਆ\nBasics/Tiddlers/Prompt: tiddlers ਦੀ ਸੰਖਿਆ \nBasics/Title/Prompt: ਇਸ ਦੇ  ~ TiddlyWiki ਦੇ ਟਾਈਟਲ\nBasics/Username/Prompt:  ਸੰਪਾਦਨ ਦੇ ਦਾਖਲੇ ਲਈ ਯੂਜ਼ਰ ਦਾ ਨਾਮ\nBasics/Version/Prompt: ~ TiddlyWiki ਦਾ ਵਰਜਨ\nEditorTypes/Caption: ਸੰਪਾਦਕ ਕਿਸਮ\nEditorTypes/Editor/Caption:  ਸੰਪਾਦਕ\nEditorTypes/Hint: ਇਹ tiddlers ਖਾਸ tiddler ਕਿਸਮ ਨੂੰ ਸੋਧਣ ਲਈ ਵਰਤਿਆ ਗਿਆ ਹੈ, ਜੋ ਕਿ ਸੰਪਾਦਕ ਨੂੰ ਪਤਾ.\nEditorTypes/Type/Caption:  ਕਿਸਮ\nInfo/Caption: ਜਾਣਕਾਰੀ\nInfo/Hint: ਇਸ TiddlyWiki ਬਾਰੇ ਜਾਣਕਾਰੀ\nLoadedModules/Caption: ਲੋਡ ਕੀਤੇ ਮੋਡੀਊਲ\nLoadedModules/Hint: ਲੋਡ ਕੀਤੇ ਮੋਡੀਊਲ / ਸੰਕੇਤ,\nPalette/Caption: ਪੈਲਅਟ\nPalette/Editor/Clone/Caption: ਨਕਲ ਬਣਾਉਣ\nPalette/Editor/Clone/Prompt: ਪੈਲਅਟ / ਸੰਪਾਦਕ / ਕਲੋਨ / ਪੁਸ਼ਟੀ ਕਰਨਾ\nPalette/Editor/Prompt: ਸੰਪਾਦਨ\nPalette/Editor/Prompt/Modified: ਇਸ ਪੈਲਅਟ  ਦੇ ਪਰਛਾਵੇ ਨਾਲ  ਸੋਧ ਕੀਤੀ ਕੀਤਾ ਗਿਆ ਹੈ\nPalette/Editor/Reset/Caption: ਮੁੜ-ਵਸਾਉਣਾ\nPalette/HideEditor/Caption: ਪੈਲਅਟ /ਛੁਪਾਉਣਾ ਸੰਪਾਦਕ /ਸੁਰਖੀ\nPalette/Prompt: ਮੌਜੂਦਾ ਪੈਲਅਟ:\nPalette/ShowEditor/Caption: ਪ੍ਰਦਰਸ਼ਨ ਸੰਪਾਦਕ\nPlugins/Caption:  ਪਲੱਗਇਨ\nPlugins/Disable/Caption: ਨਿਰਯੋਗ ਠਹਿਰਾਉਣਾ\nPlugins/Disable/Hint: ਪਲੱਗਇਨ / ਅਯੋਗ ਕਰੋ / ਸੰਕੇਤ ਵਿਕਲਪ\nPlugins/Disabled/Status:  ਅਯੋਗ ਹੈ\nPlugins/Empty/Hint: None\nPlugins/Enable/Caption: ਨੂੰ ਯੋਗ ਕਰੋ\nPlugins/Enable/Hint:  ਇਸ ਸਫੇ ਨੂੰ ਜਦ ਇਹ ਪਲੱਗਇਨ ਯੋਗ ਕਰੋ\nPlugins/Language/Prompt:  ਭਾਸ਼ਾ\nPlugins/Plugin/Prompt: ਪਲੱਗਇਨ\nPlugins/Theme/Prompt: ਥੀਮ\nSaving/Caption: ਸੇਵਿੰਗ / ਸੁਰਖੀ \nSaving/Heading:  ਸੇਵਿੰਗ / ਹੈਡਿੰਗ\nSaving/TiddlySpot/Advanced/Heading: ਵਿਕਸਿਤ ਸੈਟਿੰਗ\nSaving/TiddlySpot/BackupDir: ਬੈਕਅੱਪ ਡਾਇਰੈਕਟਰੀ\nSaving/TiddlySpot/Backups: ਬੈਕਅੱਪ\nSaving/TiddlySpot/Description: Http://tiddlyspot.com ਜ ਇੱਕ ਅਨੁਕੂਲ ਰਿਮੋਟ ਸਰਵਰ ਨੂੰ ਸੰਭਾਲਣ ਦੀ ਹੈ ਜਦ ਇਹ ਸੈਟਿੰਗ ਸਿਰਫ ਇਸਤੇਮਾਲ ਕੀਤਾ ਜਾਦਾ ਹੈ\nSaving/TiddlySpot/Filename: ਫਾਇਲ ਦਾ ਨਾਮ  ਅੱਪਲੋਡ\nSaving/TiddlySpot/Heading: ~ Tiddly Spot\nSaving/TiddlySpot/Hint: // HTTP `ਕਰਨ ਲਈ ਸਰਵਰ ਦੀ URL ਮੂਲ: // <wikiname> .tiddlyspot.com / store.cgi` ਅਤੇ ਇੱਕ ਕਸਟਮ ਸਰਵਰ ਐਡਰੈੱਸ ਵਰਤਣ ਲਈ ਤਬਦੀਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ //\nSaving/TiddlySpot/Password: ਪਾਸਵਰਡ\nSaving/TiddlySpot/ServerURL:  URL ਸਰਵਰ\nSaving/TiddlySpot/UploadDir:  ਅੱਪਲੋਡ ਡਾਇਰੈਕਟਰੀ\nSaving/TiddlySpot/UserName: ਵਿਕਿ ਨਾਮ\nSettings/AutoSave/Caption:  ਆਪਣੇ ਆਪ ਹੀ  ਬਚਾਨਾ\nSettings/AutoSave/Disabled/Description:  ਆਪਣੇ ਆਪ ਹੀ ਤਬਦੀਲੀ ਨੂੰ ਬਚਾ ਨਾ ਕਰੋ\nSettings/AutoSave/Enabled/Description:  ਆਪਣੇ ਆਪ ਹੀ ਬਦਲਾਅ ਸੰਭਾਲੋ\nSettings/AutoSave/Hint: ਆਟੋਮੈਟਿਕ ਸੰਪਾਦਨ ਦੌਰਾਨ ਤਬਦੀਲੀ ਨੂੰ ਸੰਭਾਲਣ\nSettings/Caption: ਸੈਟਿੰਗ\nSettings/Hint:  ਇਹ ਸੈਟਿੰਗ ਤੁਹਾਡੇ TiddlyWiki ਦੇ ਰਵੱਈਆ ਨੂੰ ਸੋਧ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ.\nSettings/NavigationAddressBar/Caption: ਨੇਵੀਗੇਸ਼ਨ ਐਡਰੈੱਸ ਬਾਰ\nSettings/NavigationAddressBar/Hint:  ਸੈਟਿੰਗ / ਨੇਵੀਗੇਸ਼ਨ ਐਡਰੈੱਸ ਬਾਰ / ਸੰਕੇਤ,\nSettings/NavigationAddressBar/No/Description: ਐਡਰੈੱਸ ਬਾਰ ਨੂੰ ਅੱਪਡੇਟ ਨਾ ਕਰੋ\nSettings/NavigationAddressBar/Permalink/Description:   ਟਾਰਗਿਟ  tiddler ਨੂੰ  ਸ਼ਾਮਲ ਕਰੋ\nSettings/NavigationAddressBar/Permaview/Description: ਟਾਰਗਿਟ  tiddler ਨੂੰ  ਸ਼ਾਮਲ ਕਰੋ ਅਤੇ ਮੌਜੂਦਾ ਕਹਾਣੀ ਤਰਤੀਬ\nSettings/NavigationHistory/Caption: ਨੇਵੀਗੇਸ਼ਨ ਅਤੀਤ\nSettings/NavigationHistory/Hint:   tiddler  ਨੇਵੀਗੇਟਿੰਗ ਤੱਕ ਬਰਾਊਜ਼ਰ  ਦੇ ਇਤਿਹਾਸ ਨੂੰ ਅੱਪਡੇਟ ਕਰੋ \nSettings/NavigationHistory/No/Description: ਇਤਿਹਾਸ ਨੂੰ ਅੱਪਡੇਟ ਨਾ ਕਰੋ\nSettings/NavigationHistory/Yes/Description: ਇਤਿਹਾਸ ਨੂੰ ਅੱਪਡੇਟ  ਕਰੋ\nSettings/ToolbarButtons/Caption: ਟੂਲਬਾਰ ਵਾਲੇ ਬਟਨ\nSettings/ToolbarButtons/Hint: ਡਿਫਾਲਟ ਟੂਲਬਾਰ ਦੇ ਬਟਨ ਦੀ ਦਿਖਾਵਟ\nSettings/ToolbarButtons/Icons/Description: ਆਈਕਾਨ ਨੂੰ ਸ਼ਾਮਲ ਕਰੋ\nSettings/ToolbarButtons/Text/Description: Iਟੈਕਸਟ ਨੂੰ ਸ਼ਾਮਲ ਕਰੋ\nStoryView/Caption: ਸਟੋਰੀ ਦੀ ਝਲਕ ਵੇਖੋ\nStoryView/Prompt: ਮੌਜੂਦਾ ਝਲਕ ਵੇਖੋ\nTheme/Caption:  ਥੀਮ\nTheme/Prompt: ਮੌਜੂਦਾ  ਥੀਮ\nTiddlerFields/Caption: Tiddler ਖੇਤਰ\nTiddlerFields/Hint: ਇਹ ਵਿਕੀ  ਵਰਤਣ ਵਿੱਚ ਇਸ TiddlerFields ਦਾ ਪੂਰਾ ਸਮੂਹ ਹੈ. ( ਪਰ ਸਾਯੇ tiddlers  ਛੱਡ ਕੇ ਹੈ)\nToolbars/Caption: ਟੂਲਬਾਰ\nToolbars/EditToolbar/Caption:  ਟੂਲਬਾਰ ਸੰਪਾਦਿਤ ਕਰੋ \nToolbars/EditToolbar/Hint:   ਬਟਨ ਚੁਣੋ ਜੋ  ਸੰਪਾਦਨ  ਵਿੱਚ tiddlers ਲਈ ਵੇਖਾਏ ਗਏ ਹਨ\nToolbars/Hint: ਟੂਲਬਾਰ ਬਟਨ , ਜੋ ਕਿ ਵੇਖਾਇਆ ਗਿਆ ਹੈ,  ਚੋਣ ਕਰੋ\nToolbars/PageControls/Caption: ਸਫ਼ਾ ਟੂਲਬਾਰ\nToolbars/PageControls/Hint:  ਬਟਨ ਚੁਣੋ , ਜੋ  ਟੂਲਬਾਰ ਦੇ ਮੁੱਖ ਸਫ਼ੇ 'ਤੇ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਦੇ ਹਨ\nToolbars/ViewToolbar/Caption: ਟੂਲਬਾਰ ਵੇਖੋ\nToolbars/ViewToolbar/Hint:  ਬਟਨ ਚੁਣੋ, ਜੋ  tiddlers ਲਈ View ਮੋਡ ਵਿੱਚ ਵੇਖਾਏ ਗਏ ਹਨ\nTools/Download/Full/Caption: ਪੂਰੀ wiki ਡਾਊਨਲੋਡ ਕਰੋ\n"
  },
  {
    "path": "languages/pa-IN/CoreReadMe.tid",
    "content": "title: $:/core/readme\n\nਇਹ ਪਲੱਗਇਨ ਸ਼ਾਮਲ, TiddlyWiki ਦੀ ਕੋਰ ਸੰਖੇਪ ਹੁੰਦੇ ਹਨ: * JavaScript ਕੋਡ ਮੋਡੀਊਲ * ਆਈਕਾਨ * TiddlyWiki ਦਾ ਯੂਜ਼ਰ ਇੰਟਰਫੇਸ * ਬਰਤਾਨਵੀ ਅੰਗਰੇਜ਼ੀ ਬਣਾਉਣ ਲਈ ਲੋੜ ਹੈ ਨਮੂਨੇ (  en-GB ) ਕੋਰ ਦੁਆਰਾ ਵਰਤੇ localisable ਸਤਰ ਦੇ ਅਨੁਵਾਦ"
  },
  {
    "path": "languages/pa-IN/Dates.multids",
    "content": "title: $:/language/\n\nDate/DaySuffix/1: st\nDate/Long/Day/0: Sunday / ਐਤਵਾਰ \nDate/Long/Day/1: Monday / ਸੋਮਵਾਰ\nDate/Long/Day/2: Tuesday / ਮੰਗਲਵਾਰ\nDate/Long/Day/3: Wednesday / ਬੁੱਧਵਾਰ\nDate/Long/Day/4: Thursday / ਵੀਰਵਾਰ\nDate/Long/Day/5: Friday / ਸ਼ੁੱਕਰਵਾਰ\nDate/Long/Day/6: Saturday / ਸ਼ਨੀਵਾਰ\nDate/Long/Month/1: January / ਜਨਵਰੀ\nDate/Long/Month/10: October / ਅਕਤੂਬਰ\nDate/Long/Month/11: November / ਨਵੰਬਰ\nDate/Long/Month/12: December / ਦਸੰਬਰ\nDate/Long/Month/2: February / ਫਰਵਰੀ\nDate/Long/Month/3: March / ਮਾਰਚ\nDate/Long/Month/4: April / ਅਪ੍ਰੈਲ\nDate/Long/Month/5: May / ਮਈ\nDate/Long/Month/6: June / ਜੂਨ\nDate/Long/Month/7: July / ਜੁਲਾਈ\nDate/Long/Month/8: August / ਅਗਸਤ\nDate/Long/Month/9: September / ਸਤੰਬਰ\nDate/Period/am: am\nDate/Period/pm: pm\nDate/Short/Day/0: ਐਤ\nDate/Short/Day/1: ਸੋਮ\nDate/Short/Day/2: ਮੰਗਲ\nDate/Short/Day/3: ਬੁੱਧ\nDate/Short/Day/4: ਵੀਰ\nDate/Short/Day/5: ਸ਼ੁੱਕਰ\nDate/Short/Day/6:  ਸ਼ਨੀ\nDate/Short/Month/1: ਜਨ\nDate/Short/Month/10: ਅਕਤੂ\nDate/Short/Month/11: ਨਵੰ\nDate/Short/Month/12: ਦਸੰ\nDate/Short/Month/2: ਫਰ\nDate/Short/Month/3: ਮਾਰ\nDate/Short/Month/4: ਅਪ੍ਰੈ\nDate/Short/Month/5: May / ਮਈ\nDate/Short/Month/6: Jun / ਜੂਨ\nDate/Short/Month/7: Jul / ਜੁਲਾਈ\nDate/Short/Month/8: Aug / ਅਗਸਤ\nDate/Short/Month/9: Sep / ਸਤੰਬਰ\nRelativeDate/Future/Days: <<ਅਵਧੀ >>  ਦੇ ਹੁਣ ਤੱਕ ਦੇ ਦਿਨ\nRelativeDate/Future/Hours: <<ਅਵਧੀ >> ਦੇ ਹੁਣ ਤੱਕ  ਦੇ  ਘੰਟੇ\nRelativeDate/Future/Minutes: <<ਅਵਧੀ >>  ਦੇ ਹੁਣ ਤੱਕ ਦੇ ਮਿੰਟ\nRelativeDate/Future/Months: << ਅਵਧੀ>>  ਦੇ ਹੁਣ ਤੱਕ ਦੇ ਮਹੀਨੇ\nRelativeDate/Future/Second: ਹੁਣ ਤੱਕ 1 ਸਕਿੰਟ\nRelativeDate/Future/Seconds: <<ਅਵਧੀ >>  ਦੇ ਹੁਣ ਤੱਕ ਦੇ ਸਕਿੰਟ\nRelativeDate/Future/Years: <<ਅਵਧੀ >>  ਦੇ ਹੁਣ ਤੱਕ ਦੇ ਸਾਲ\nRelativeDate/Past/Days: <<ਅਵਧੀ >> ਦੇ ਦਿਨ ਦੇ ਪਹਿਲਾ\nRelativeDate/Past/Hours: <<ਅਵਧੀ ਦੇ >> ਘੰਟੇ ਪਹਿਲਾ\nRelativeDate/Past/Minutes: << ਅਵਧੀ ਦੇ >> ਮਿੰਟ ਪਹਿਲਾ\nRelativeDate/Past/Months: <<ਅਵਧੀ >> ਦੇ ਮਹੀਨੇ ਪਹਿਲਾ\nRelativeDate/Past/Second: 1  ਸਕਿੰਟ ਪਹਿਲਾ\nRelativeDate/Past/Seconds: << ਅਵਧੀ >>  ਦੇ ਸਕਿੰਟ ਪਹਿਲਾ\nRelativeDate/Past/Years: <<ਅਵਧੀ >>ਦੇ ਸਾਲ\n"
  },
  {
    "path": "languages/pa-IN/Docs/ModuleTypes.multids",
    "content": "title: $:/language/Docs/ModuleTypes/\n\nanimation: ਐਨੀਮੇਸ਼ਨ ਜੋ ਕਿ RevealWidget ਨਾਲ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ \ncommand: Commands ਜੋ ਕਿ Node.js. ਤਹਿਤ ਚਲਾਉਣ ਲਈ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ\nconfig: ਡਾਟਾ `$ tw.config` ਵਿੱਚ ਸ਼ਾਮਲ ਕਰਨ ਲਈ.\nfilteroperator: ਵਿਅਕਤੀਗਤ ਫਿਲਟਰ ਆਪਰੇਟਰ ਦਾ ਢੰਗ.\nglobal: ਗਲੋਬਲ ਡਾਟਾ `$ tw` ਵਿੱਚ ਸ਼ਾਮਲ ਕਰਨ ਲਈ.\nisfilteroperator: ਅੰਕ ਲਈ.'' '' ਹੈ '' ਫਿਲਟਰ ਆਪਰੇਟਰ \nmacro: ਜਾਵਾਸਕ੍ਰਿਪਟ ਮੈਕਰੋ ਪਰਿਭਾਸ਼ਾ.\nparser: ਵੱਖ-ਵੱਖ ਸਮੱਗਰੀ ਦੇ ਕਿਸਮ ਲਈ ਪਾਰਸਰ.\nsaver: ਸੇਵਰ ਬਰਾਊਜ਼ਰ ਤੱਕ ਫਾਇਲ ਨੂੰ ਬਚਾਉਣ ਲਈ ਵੱਖ ਵੱਖ ਢੰਗ ਨੂੰ ਵਰਤ.\nstartup: ਸ਼ੁਰੂਆਤੀ ਫੰਕਸ਼ਨ\nstoryview: ਕਹਾਣੀ ਵਿਚਾਰ ਐਨੀਮੇਸ਼ਨ ਅਤੇ ਸੂਚੀ ਵਿਡਜ਼ਿਟ ਦੇ ਰਵੱਈਆ ਨੂੰ ਸੋਧ.\ntiddlerdeserializer: Tiddlers ਵਿੱਚ ਵੱਖ-ਵੱਖ ਸਮੱਗਰੀ ਦੇ ਕਿਸਮ ਬਦਲਦਾ ਹੈ.\ntiddlerfield: ਇੱਕ ਵਿਅਕਤੀ ਨੂੰ tiddler ਖੇਤਰ ਦਾ ਵਰਤਾਓ ਪਰਿਭਾਸ਼ਿਤ.\ntiddlermethod: `$ Tw.Tiddler` ਪ੍ਰੋਟੋਟਾਈਪ ਕਰਨ ਲਈ ਢੰਗ ਸ਼ਾਮਲ ਕਰੋ.\nupgrader: ਅੱਪਗਰੇਡ / import ਦੌਰਾਨ tiddlers ਅੱਪਗਰੇਡ ਨੂੰ ਕਾਰਵਾਈ ਕਰਨ ਤੇ ਲਾਗੂ ਹੁੰਦਾ ਹੈ.\nutils: $ Tw.utils` ਕਰਨ ਲਈ ਢੰਗ ਸ਼ਾਮਲ ਕਰੋ.\nutils-node: `$ Tw.utils` ਕਰਨ ਲਈ node.js-ਖਾਸ ਢੰਗ ਸ਼ਾਮਲ ਕਰੋ.\nwidget: Widgets encapsulate DOM  ਪੇਸ਼ਕਾਰੀ ਅਤੇ ਤਾਜ਼ਗੀ ਰੱਖਦਾ.\nwikimethod: $ Tw.Wiki` `ਕਰਨ ਲਈ ਢੰਗ ਸ਼ਾਮਲ ਕਰੋ.\nwikirule: ਮੁੱਖ WikiText ਪਾਰਸਰ ਲਈ ਵਿਅਕਤੀਗਤ ਪਾਰਸਰ ਨਿਯਮ.\n"
  },
  {
    "path": "languages/pa-IN/Docs/PaletteColours.multids",
    "content": "title: $:/language/Docs/PaletteColours/\n\nalert-background: ਚੇਤਾਵਨੀ ਦੇ ਪਿਛੋਕੜ\nalert-border: ਚੇਤਾਵਨੀ ਲਈ ਸਰਹੱਦ\nalert-highlight: ਚੇਤਾਵਨੀ ਉਭਾਰਨ\nalert-muted-foreground: ਚੇਤਾਵਨੀ ਚੁੱਪ ਮੁੱਖਭੂਮੀ\nbackground: ਆਮ ਪਿਛੋਕੜ\nblockquote-bar: ਬਲਾਕ ਹਵਾਲਾ ਪੱਟੀ\ncode-background: ਕੋਡ ਦੀ ਪਿੱਠਭੂਮੀ\ncode-border: ਕੋਡ ਸਰਹੱਦ\ncode-foreground: ਕੋਡ  ਮੁੱਖਭੂਮੀ\ndirty-indicator: ਸੰਭਾਲ ਰਹਿਤ ਬਦਲਾਅ ਸੂਚਕ\ndownload-background: ਡਾਉਨਲੋਡ ਬਟਨ ਦੀ ਪਿੱਠਭੂਮੀ\ndownload-foreground: ਡਾਉਨਲੋਡ ਬਟਨ ਦੀ ਮੁੱਖਭੂਮੀ\ndragger-background: Dragger ਦੀ ਪਿੱਠਭੂਮੀ\ndragger-foreground: Dragger ਮੁੱਖਭੂਮੀ\ndropdown-background: ਡ੍ਰਾਪਡਾਉਨ ਪਿੱਠਭੂਮੀ\ndropdown-border: ਡ੍ਰਾਪਡਾਉਨ ਸਰਹੱਦ\ndropdown-tab-background: ਡ੍ਰਾਪਡਾਉਨ ਟੈਬ ਦੀ ਪਿੱਠਭੂਮੀ\ndropdown-tab-background-selected: ਚੁਣੇ ਟੈਬ ਲਈ ਲਟਕਦੇ ਟੈਬ ਦੀ ਪਿੱਠਭੂਮੀ\ndropzone-background: Dropzone ਦੀ ਪਿੱਠਭੂਮੀ\nexternal-link-background: ਬਾਹਰੀ ਲਿੰਕ ਦੀ ਪਿੱਠਭੂਮੀ\nexternal-link-background-hover: ਬਾਹਰੀ ਲਿੰਕ ਨੂੰ ਪਿਛੋਕੜ ਦੀ ਹੋਵਰ\nexternal-link-background-visited: ਬਾਹਰੀ ਲਿੰਕ ਨੂੰ ਪਿਛੋਕੜ ਦਾ ਦੌਰਾ ਕੀਤਾ\nexternal-link-foreground:  ਬਾਹਰੀ ਲਿੰਕ ਮੁੱਖਭੂਮੀ\nexternal-link-foreground-hover: ਬਾਹਰੀ ਲਿੰਕ ਨੂੰ ਮੁੱਖਭੂਮੀ ਹੋਵਰ\nexternal-link-foreground-visited:  ਬਾਹਰੀ ਲਿੰਕ ਨੂੰ ਮੁੱਖਭੂਮੀ ਦਾ ਦੌਰਾ ਕੀਤਾ\nforeground: ਜਨਰਲ ਮੁੱਖਭੂਮੀ\nmessage-background: ਮੈਸੇਜ ਬਾਕਸ ਦੀ ਪਿੱਠਭੂਮੀ\nmessage-border: ਮੈਸੇਜ ਬਾਕਸ ਲਈ ਸਰਹੱਦ\nmessage-foreground: ਸੁਨੇਹਾ ਬਾਕਸ ਲਈ ਮੁੱਖਭੂਮੀ\nmodal-backdrop: ਮਾਡਲ ਨੂੰ ਵਾਪਸ ਸੁੱਟਣ\nmodal-background: ਮਾਡਲ ਦੀ ਪਿੱਠਭੂਮੀ\nmodal-border:  ਮਾਡਲ ਸਰਹੱਦ\nmodal-footer-background: ਮਾਡਲ ਪਦਲੇਖ ਦੀ ਪਿੱਠਭੂਮੀ\nmodal-footer-border: ਮਾਡਲ ਪਦਲੇਖ ਦੀ ਸਰਹੱਦ\nmodal-header-border: ਮਾਡਲ ਸਿਰਲੇਖ ਸਰਹੱਦ\nmuted-foreground: ਜਨਰਲ ਚੁੱਪ ਮੁੱਖਭੂਮੀ\nnotification-background: ਸੂਚਨਾ ਦੀ ਪਿੱਠਭੂਮੀ\nnotification-border: ਸੂਚਨਾ- ਸਰਹੱਦ\npage-background: ਸਫ਼ੇ ਦੀ ਪਿੱਠਭੂਮੀ\npre-background: ਪਹਿਲੇ ਪ੍ਰਤੀਰੂਪ ਕੋਡ ਦੀ ਪਿੱਠਭੂਮੀ\npre-border: ਪਹਿਲੇ ਪ੍ਰਤੀਰੂਪ ਕੋਡ ਲਈ ਸਰਹੱਦ\nprimary: ਜਨਰਲ ਦਾ ਮੁੱਢਲਾ\nsidebar-button-foreground: ਸਾਈਡਬਾਰ ਬਟਨ ਨੂੰ ਅੱਗੇ ਕਰੋ \nsidebar-controls-foreground: ਸਾਈਡਬਾਰ ਕੰਟਰੋਲ ਮੁੱਖਭੂਮੀ\nsidebar-controls-foreground-hover: ਸਾਈਡਬਾਰ ਮੁੱਖਭੂਮੀ ਹੋਵਰ ਕੰਟਰੋਲ\nsidebar-foreground: ਸਾਈਡਬਾਰ ਮੁੱਖਭੂਮੀ\nsidebar-foreground-shadow: ਸਾਈਡਬਾਰ ਮੁੱਖਭੂਮੀ ਸ਼ੈਡੋ\nsidebar-muted-foreground: ਸਾਈਡਬਾਰ ਚੁੱਪ ਮੁੱਖਭੂਮੀ\nsidebar-muted-foreground-hover: ਸਾਈਡਬਾਰ ਚੁੱਪ ਮੁੱਖਭੂਮੀ ਹੋਵਰ\nsidebar-tab-background: ਸਾਈਡਬਾਰ ਪਿੱਠਭੂਮੀ ਦੀ ਟੈਬ\nsidebar-tab-background-selected: ਚੁਣੇ ਟੈਬ ਲਈ ਸਾਈਡਬਾਰ ਪਿੱਠਭੂਮੀ ਦੀ  ਟੈਬ\nsidebar-tab-border: ਸਾਈਡਬਾਰ ਟੈਬ ਦੀ ਸਰਹੱਦ\nsidebar-tab-border-selected: ਚੁਣੇ ਟੈਬ ਲਈ ਸਾਈਡਬਾਰ ਟੈਬ ਦੀ ਸਰਹੱਦ\nsidebar-tab-divider: ਸਾਈਡਬਾਰ ਟੈਬ ਵਿਭਾਜਕ\nsidebar-tab-foreground: ਸਾਈਡਬਾਰ ਟੈਬ ਮੁੱਖਭੂਮੀ\nsidebar-tab-foreground-selected: ਚੁਣੇ ਟੈਬ ਲਈ ਸਾਈਡਬਾਰ ਟੈਬ ਮੁੱਖਭੂਮੀ\nsidebar-tiddler-link-foreground: ਸਾਈਡਬਾਰ tiddler ਲਿੰਕ ਮੁੱਖਭੂਮੀ\nsidebar-tiddler-link-foreground-hover: ਸਾਈਡਬਾਰ tiddler ਲਿੰਕ ਮੁੱਖਭੂਮੀ ਹੋਵਰ\nstatic-alert-foreground: ਸਟੈਟਿਕ ਚੇਤਾਵਨੀ ਮੁੱਖਭੂਮੀ\ntab-background: ਟੈਬ ਦੀ ਪਿੱਠਭੂਮੀ\ntab-background-selected: ਚੁਣੇ ਟੈਬ ਲਈ ਟੈਬ ਪਿੱਠਭੂਮੀ \ntab-border: ਟੈਬ ਸਰਹੱਦ\ntab-border-selected: ਚੁਣੇ ਟੈਬ ਲਈ  ਟੈਬ ਸਰਹੱਦ\ntab-divider: ਟੈਬ ਵਿਭਾਜਕ\ntab-foreground: ਟੈਬ  ਮੁੱਖਭੂਮੀ\ntab-foreground-selected: ਚੁਣੇ ਟੈਬ ਲਈ  ਟੈਬ ਮੁੱਖਭੂਮੀ\ntable-border: ਸਰਹੱਦ ਦੀ ਸਾਰਣੀ \ntable-footer-background: ਪਦਲੇਖ ਪਿੱਠਭੂਮੀ  ਦੀ ਸਾਰਣੀ\ntable-header-background:  ਸਿਰਲੇਖ ਪਿੱਠਭੂਮੀ ਦੀ ਸਾਰਣੀ\ntag-background: ਟੈਗ ਪਿੱਠਭੂਮੀ\ntag-foreground: ਟੈਗ  ਮੁੱਖਭੂਮੀ\ntiddler-background: Tiddler ਦੀ ਪਿੱਠਭੂਮੀ\ntiddler-border: Tiddler  ਦੀ  ਸਰਹੱਦ \ntiddler-controls-foreground: Tiddler ਮੁੱਖਭੂਮੀ  ਕੰਟਰੋਲ\ntiddler-controls-foreground-hover: Tiddler ਮੁੱਖਭੂਮੀ ਹੋਵਰ ਨੂੰ ਕੰਟਰੋਲ\ntiddler-controls-foreground-selected: Tiddler ਚੁਣੇ ਕੰਟਰੋਲ ਲਈ ਮੁੱਖਭੂਮੀ ਕੰਟਰੋਲ\ntiddler-editor-background: Tiddler ਸੰਪਾਦਕ ਦੀ ਪਿੱਠਭੂਮੀ\ntiddler-editor-border: Tiddler ਸੰਪਾਦਕ ਦੀ  ਸਰਹੱਦ\ntiddler-editor-border-image: Tiddler ਸੰਪਾਦਕ ਸਰਹੱਦ ਚਿੱਤਰ \ntiddler-editor-fields-even:  Tiddler ਸੰਪਾਦਕ ਦੀ ਪਿੱਠਭੂਮੀ ਵੀ ਖੇਤਰ  ਲਈ \ntiddler-editor-fields-odd: ਅਨਿਸ਼ਚਿਤ ਖੇਤਰ ਲਈ Tiddler ਸੰਪਾਦਕ ਦੀ ਪਿੱਠਭੂਮੀ\ntiddler-info-background: Tiddler ਜਾਣਕਾਰੀ  ਪੈਨਲ ਦੀ ਪਿੱਠਭੂਮੀ\ntiddler-info-border: Tiddler ਜਾਣਕਾਰੀ ਪੈਨਲ ਦੀ ਸਰਹੱਦ\ntiddler-info-tab-background: Tiddler ਜਾਣਕਾਰੀ ਪੈਨਲ ਟੈਬ ਦੀ ਪਿੱਠਭੂਮੀ\ntiddler-link-background:  Tiddler link ਦੀ ਪਿੱਠਭੂਮੀ\ntiddler-link-foreground: Tiddler ਲਿੰਕ ਨੂੰ ਮੁੱਖਭੂਮੀ\ntiddler-subtitle-foreground: Tiddler ਟਾਇਟਲ ਮੁੱਖਭੂਮੀ\ntiddler-title-foreground: Tiddler  ਮੁੱਖਭੂਮੀ ਦਾ ਸਿਰਲੇਖ \ntoolbar-cancel-button: ਟੂਲਬਾਰ 'ਰੱਦ ਕਰੋ' ਬਟਨ ਮੁੱਖਭੂਮੀ\ntoolbar-close-button: ਟੂਲਬਾਰ 'ਬੰਦ ਕਰੋ' ਬਟਨ ਮੁੱਖਭੂਮੀ\ntoolbar-delete-button: ਟੂਲਬਾਰ 'ਹਟਾਓ' ਬਟਨ ਮੁੱਖਭੂਮੀ\ntoolbar-done-button: ਟੂਲਬਾਰ 'ਨੇ ਕੀਤਾ' ਬਟਨ ਮੁੱਖਭੂਮੀ\ntoolbar-edit-button: ਟੂਲਬਾਰ 'ਸੰਪਾਦਨ' ਬਟਨ ਮੁੱਖਭੂਮੀ\ntoolbar-info-button: ਟੂਲਬਾਰ 'ਜਾਣਕਾਰੀ' ਬਟਨ ਮੁੱਖਭੂਮੀ\ntoolbar-new-button: ਟੂਲਬਾਰ 'ਨਿਊ tiddler' ਬਟਨ ਮੁੱਖਭੂਮੀ\ntoolbar-options-button:  ਟੂਲਬਾਰ 'ਚੋਣ' ਬਟਨ ਮੁੱਖਭੂਮੀ\ntoolbar-save-button: ਬਟਨ ਮੁੱਖਭੂਮੀ 'ਸੰਭਾਲੋ' ਟੂਲਬਾਰ\nuntagged-background: Untagged ਗੋਲ਼ੀ ਦੀ ਪਿੱਠਭੂਮੀ\nvery-muted-foreground: ਬਹੁਤ ਹੀ ਚੁੱਪ ਮੁੱਖਭੂਮੀ\n"
  },
  {
    "path": "languages/pa-IN/EditTemplate.multids",
    "content": "title: $:/language/EditTemplate/\n\nBody/External/Hint: ਇਹ ਮੁੱਖ TiddlyWiki ਫਾਇਲ ਦੇ ਬਾਹਰ ਹੀ ਸੰਭਾਲਿਆ ਇੱਕ ਬਾਹਰੀ tiddler ਹੈ. ਤੁਸ ਟੈਗ ਅਤੇ ਖੇਤਰ ਨੂੰ ਸੋਧ ਸਕਦੇ ਹੋ, ਪਰ ਆਪਣੇ ਆਪ ਸਿੱਧੇ ਤੌਰ 'ਤੇ ਸਮੱਗਰੀ ਨੂੰ ਸੋਧ ਨਹੀ ਕਰ ਸਕਦੇ\nBody/Placeholder:  ਪਾਠ ਟਾਈਪ ਲਈ ਇਸ tiddler ਨੂੰ  ਵਰਤੋ\nField/Remove/Caption: ਖੇਤਰ ਨੂੰ ਹਟਾਉਣ\nField/Remove/Hint: ਖੇਤਰ ਨੂੰ ਹਟਾਉਣ\nFields/Add/Button: ਸ਼ਾਮਿਲ ਕਰੋ\nFields/Add/Name/Placeholder: ਫਿਲਡ ਨਾਮ\nFields/Add/Prompt: ਇੱਕ ਨਿਊ ਖੇਤਰ ਸ਼ਾਮਿਲ ਕਰੋ:\nFields/Add/Value/Placeholder: ਖੇਤਰ ਦਾ ਮੁੱਲ\nShadow/OverriddenWarning: ਇਹ ਇੱਕ ਸੋਧਿਆ ਸ਼ੈਡੋ tiddler ਹੈ. ਤੁਸੀ ਇਸ  ਮੂਲ ਵਰਜਨ ਨੂੰ  ਖੋਲਣ ਲਈ tiddler ਨੂੰ ਹਟਾ ਸਕਦੇ ਹੋ\nShadow/Warning:  ਇਹ ਇੱਕ ਸ਼ੈਡੋ tiddler ਹੈ. ਕੋਈ ਵੀ ਬਦਲਾਅ  ਵਰਜਨ ਨੂੰ  ਮੂਲ ਰੂਪ ਵਿੱਚ ਅਣਡਿੱਠਾ ਕਰ ਦਿੱਤਾ ਜਾਵੇਗਾ\nTags/Add/Button: ਸ਼ਾਮਿਲ ਕਰੋ\nTags/Add/Placeholder: ਟੈਗ  ਨਾਮ\nTags/Dropdown/Caption: ਟੈਗ ਸੂਚੀ\nTags/Dropdown/Hint:  ਟੈਗ ਸੂਚੀ ਵੇਖਾਓ\nType/Delete/Caption: ਸਮੱਗਰੀ ਦੀ ਕਿਸਮ ਹਟਾਓ\nType/Delete/Hint: ਸਮੱਗਰੀ ਦੀ ਕਿਸਮ ਹਟਾਓ\nType/Dropdown/Caption: ਕਿਸਮ ਸੂਚੀ  ਦੀ ਸਮੱਗਰੀ \nType/Dropdown/Hint: ਸਮੱਗਰੀ ਦੇ ਕਿਸਮ ਸੂਚੀ ਵੇਖਾਓ\nType/Placeholder:  ਕਿਸਮ ਦੀ ਸੰਖੇਪ\nType/Prompt:   ਕਿਸਮ:\n"
  },
  {
    "path": "languages/pa-IN/Exporters.multids",
    "content": "title: $:/language/Exporters/\n\nCsvFile: CSV ਫਾਇਲ  tiddlers\nJsonFile: JSON ਫਾਇਲ  tiddlers\nStaticRiver: ਸਟੈਟਿਕ HTML ਫਾਇਲ ਦੇ ਤੌਰ ਤੇ tiddlers ਦਾ ਰਿਵਰ\nTidFile: ਇਕਮਾਤਰ tiddler \".tid\" ਫਾਇਲ\n"
  },
  {
    "path": "languages/pa-IN/Fields.multids",
    "content": "title: $:/language/Docs/Fields/\n\n_canonical_uri: ਬਾਹਰੀ ਚਿੱਤਰ ਨੂੰ tiddler ਦਾ ਪੂਰਾ URI\nbag:  ਬੈਗ ਦਾ ਨਾਮ ਜਿਸ ਤੱਕ ਇੱਕ tiddler ਆਇਆ ਸੀ \ncaption: ਟੈਕਸਟ ਨੂੰ ਇੱਕ ਟੈਬ ਜ ਬਟਨ 'ਤੇ ਵੇਖਾਉਣ ਲਈ\ncolor: CSS ਰੰਗ ਮੁੱਲ ਨੂੰ ਇੱਕ tiddler ਨਾਲ ਸੰਬੰਧਿਤ \ncomponent:  ਨਾਮ ਦੀ ਭਾਗ ਨੂੰ ਇੱਕ ਜ਼ਿੰਮੇਵਾਰ  ਲਈ   [[ਚੇਤਾਵਨੀ tiddler | AlertMechanism]]\ncreated: ਤਾਰੀਖ ਨੂੰ ਇੱਕ   tiddler ਬਣਾਇਆ ਗਿਆ ਸੀ \ncreator:  ਵਿਅਕਤੀ ਦਾ ਨਾਮ , ਜੋ ਇੱਕ  tiddler ਨੂੰ ਬਣਾਇਆ\ncurrent-tiddler:  ਸਿਖਰ ਦੇ tiddler ਕੈਚੇ ਕਰਨ ਵਿਚ  ਵਰਤਿਆ ਗਿਆ  [[ਇਤਿਹਾਸ ਨੂੰ ਸੂਚੀ ਵਿੱਚ | ਇਤਿਹਾਸ ਕਾਰਜਵਿਧੀ]]\ndependents:  ਇੱਕ ਪਲੱਗਇਨ ਲਈ, ਨਿਰਭਰ ਪਲੱਗਇਨ ਖ਼ਿਤਾਬ ਦੀ ਸੂਚੀ ਹੈ\ndescription:  ਇੱਕ ਪਲੱਗਇਨ ਲਈ  ਟੈਕਸਟ ਜਾਣਕਾਰੀ  ਨੂੰ, ਯਾ ਮਾਡਲ ਸੰਵਾਦ\ndraft.of: ਡਰਾਫਟ tiddlers ਲਈ, tiddler ਦਾ ਸਿਰਲੇਖ ਸ਼ਾਮਿਲ ਹੈ  ਜੋ ਕਿ ਇੱਕ ਡਰਾਫਟ ਹੈ\ndraft.title:  ਡਰਾਫਟ tiddlers ਲਈ, tiddler ਦੇ ਪ੍ਰਸਤਾਵਿਤ ਸਿਰਲੇਖ ਸ਼ਾਮਿਲ ਹੈ\nfooter:  ਪਦਲੇਖ ਪਾਠ  ਲਈ ਇੱਕ ਸਹਾਇਕ\nicon: ਨੂੰ ਇੱਕ tiddler ਨਾਲ ਸਬੰਧਤ ਆਈਕਾਨ ਰੱਖਣ ਵਾਲੀ tiddler ਦਾ ਸਿਰਲੇਖ\nlibrary: ਜੇਕਰ \"yes\" ਇੱਕ tiddler ਨੂੰ ਇੱਕ ਜਾਵਾਸਕ੍ਰਿਪਟ ਲਾਇਬ੍ਰੇਰੀ ਦੇ ਤੌਰ ਤੇ ਸੰਭਾਲਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ, ਜੋ ਕਿ ਦਰਸਾਉਦਾ ਹੈ\nlist:  ਇੱਕ tiddler ਨਾਲ ਸਬੰਧਤ tiddler ਦੇ ਟਾਇਟਲ ਦੀ ਇੱਕ ਸੂਚੀ, ਦਾ ਹੁਕਮ\nlist-after: tiddler ਦੇ ਸਿਰਲੇਖ, ਜਿਸ ਦੇ ਬਾਅਦ ਇਸ ਨੂੰ tiddler  ਦੇ ਟਾਇਟਲ ਦੀ ਕ੍ਰਮਬੱਧ ਸੂਚੀ ਵਿੱਚ ਸ਼ਾਮਿਲ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ\nlist-before: Iਸੈੱਟ ਕੀਤਾ ਹੈ, ਇੱਕ tiddler ਦੇ ਸਿਰਲੇਖ ਹੈ, ਜੋ ਕਿ ਇਸ ਨੂੰ tiddlerਦੇ ਅੱਗੇ  tiddler ਖ਼ਿਤਾਬ ਦੀ ਕ੍ਰਮਬੱਧ ਸੂਚੀ ਵਿੱਚ ਸ਼ਾਮਿਲ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ, ਜ ਸੂਚੀ ਦੇ ਸ਼ੁਰੂ 'ਤੇ ਇਹ ਖੇਤਰ ਮੌਜੂਦ ਹੈ, ਪਰ ਖਾਲੀ ਹੈ, \nmodified:  ਪਿਛਲੇ ਤਾਰੀਖ਼ ਅਤੇ ਟਾਈਮ ਜਿਸ 'ਤੇ  tiddler ਨੂੰ ਸੋਧਿਆ ਸੀ, \nmodifier:   ਉਹ ਵਿਅਕਤੀ  ਨਾਲ ਸੰਬੰਧਿਤ tiddler ਦਾ ਸਿਰਲੇਖ ਜਿਸ ਪਿਛਲੇ  tiddler  ਨੂੰ ਸੋਧਿਆ\nname: ਮਨੁੱਖ ਦੇ  ਨਾਮ ਦਾ ਪੜ੍ਹਨਯੋਗ  ਪਲੱਗਇਨ ਨਾਲ ਸਬੰਧਿਤ  tiddler \nplugin-priority: ਇੱਕ ਪਲੱਗਇਨ tiddler ਦੀ ਪ੍ਰਮੁੱਖਤਾ ਦਾ ਸੰਕੇਤ ਕਰਦੀ  ਮੁੱਲ਼ ਅੰਕ\nplugin-type: ਇੱਕ ਪਲੱਗਇਨ tiddler ਵਿੱਚ ਪਲੱਗਇਨ ਦੀ ਕਿਸਮ\nreleased:  TiddlyWiki ਰੀਲਿਜ਼ ਦੀ ਤਾਰੀਖ\nrevision: tiddler ਦੀ ਦੁਹਰਾਈ ਵਿਖੇ ਸਰਵਰ ਨੂੰ  ਆਯੋਜਿਤ \nsource:  tiddler ਨਾਲ ਸੰਬੰਧਿਤ  URL ਸਰੋਤ\nsubtitle:  ਸਬ ਟਾਇਟਲ ਪਾਠ ਦੇ ਲਈ ਸਹਾਇਕ \ntags:  tiddler ਨਾਲ ਸਬੰਧਤ ਟੈਗ ਦੀ ਇੱਕ ਸੂਚੀ\ntext: ਨੂੰ ਇੱਕ tiddler ਦੀ ਬਣਾਵਟ ਨੂੰ ਪਾਠ\ntitle:  tiddler ਦਾ ਵਿਲੱਖਣ ਨਾਮ \ntype:  tiddler ਦੇ ਸੰਖੇਪ ਦੀ ਕਿਸਮ\nversion: ਪਲੱਗਇਨ ਲਈ ਵਰਜਨ ਜਾਣਕਾਰੀ\n"
  },
  {
    "path": "languages/pa-IN/Filters.multids",
    "content": "title: $:/language/Filters/\n\nAllTags:  ਸਿਸਟਮ ਟੈਗ ਛੱਡ ਕੇ ਸਭ ਟੈਗ\nAllTiddlers: ਸਿਸਟਮ tiddlers ਨੂੰ ਛੱਡ ਕੇ ਸਾਰੇ tiddlers\nDrafts: ਡਰਾਫਟ tiddlers\nMissing: ਮਿਸਿੰਗ tiddlers\nOrphans: ਅਨਾਥ tiddlers\nOverriddenShadowTiddlers: ਅਣਡਿੱਠਾ ਕੀਤਾ ਸ਼ੈਡੋ tiddlers\nRecentSystemTiddlers:  ਹਾਲ ਵਿੱਚ ਸੋਧਿਆ tiddlers, ਵਿੱਚ ਸਿਸਟਮ tiddlers ਵੀ ਸ਼ਾਮਲ\nRecentTiddlers:  ਹਾਲ ਵਿੱਚ ਸੋਧਿਆ tiddlers\nShadowTiddlers: ਸ਼ੈਡੋ tiddlers\nSystemTags: ਸਿਸਟਮ ਟੈਗ\nSystemTiddlers: ਸਿਸਟਮ tiddlers\n"
  },
  {
    "path": "languages/pa-IN/GettingStarted.tid",
    "content": "title: GettingStarted\n\n\\ lingo-ਅਧਾਰ ਨੂੰ ਪ੍ਰਭਾਸ਼ਿਤ () $ / ਭਾਸ਼ਾ / ControlPanel / ਇਸ ਨੂੰ ਤੁਹਾਨੂੰ ਭਰੋਸੇਯੋਗ ਬਦਲਾਅ ਨੂੰ ਬਚਾ ਸਕਦਾ ਹੈ, ਜੋ ਕਿ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਜ਼ਰੂਰੀ ਹੈ ਕਿ ਤੁਹਾਨੂੰ ~ TiddlyWiki ਵਿਚ ਅਹਿਮ ਜਾਣਕਾਰੀ ਨੂੰ ਸੰਭਾਲਣ ਸ਼ੁਰੂ ~ TiddlyWiki ਅਤੇ ~ TiddlyWiki communityBefore ਨੂੰ / Welcome ਜਾਣਕਾਰੀ. ਜਾਣਕਾਰੀ ਲਈ https://tiddlywiki.com/#GettingStarted ਵੇਖੋ !! ਇਸ ਨੂੰ ~ TiddlyWiki ਸੈੱਟ ਅੱਪ ਕਰੋ | <= \"$: / SiteTitle\" ਕਰਨ ਲਈ ਲਿੰਕ ਨੂੰ $> << lingo ਟਾਈਟਲ / ਪੁੱਛੋ >> </ $ link> | <$ ਸੋਧ-ਪਾਠ ਨੂੰ tiddler = \"$: / SiteTitle\" ਮੂਲ = \"\" ਟੈਗ = ਨੂੰ = \"ਇੰਪੁੱਟ\" /> || <$ ਲਿੰਕ ਨੂੰ \"$: / SiteSubtitle\"> << lingo ਟਾਇਟਲ / ਪੁੱਛੋ >> </ $ link> | <$ ਸੋਧ-ਪਾਠ ਨੂੰ tiddler = \"$: / SiteSubtitle\" ਮੂਲ = \"$ \"ਟੈਗ =\" ਇੰਪੁੱਟ \"= ਨੂੰ /> || <$ ਲਿੰਕ ਹੈ\": / DefaultTiddlers \"> << lingo DefaultTiddlers / ਪੁੱਛੋ >> </ $ link> | << lingo DefaultTiddlers / TopHint >>  Undefined widget ''   << lingo DefaultTiddlers / BottomHint >>  | [| $ [ਕੰਟਰੋਲ ਪੈਨਲ: / ControlPanel]] ਵੇਖੋ ਹੋਰ ਚੋਣ ਲਈ."
  },
  {
    "path": "languages/pa-IN/Help/build.tid",
    "content": "title: $:/language/Help/build\ndescription: ਆਟੋਮੈਟਿਕ ਸੰਰਚਿਤ ਕੀਤਾ ਹੁਕਮ ਚਲਾਉਣ\n\n ਮੌਜੂਦਾ wiki ਲਈ ਦਿੱਤਾ ਟਾਰਗਿਟ build ਬਣਾਓ.  ਜੇ ਕੋਈ ਵੀ ਟਾਰਗਿਟ ਨਿਰਧਾਰਤ ਨਹੀਂ, ਸਭ ਉਪਲੱਬਧ ਟਾਰਗਿਟ built ਬਣਾਓ."
  },
  {
    "path": "languages/pa-IN/Help/clearpassword.tid",
    "content": "title: $:/language/Help/clearpassword\ndescription:  ਇਸ ਉਪਰੰਤ crypto ਆਪਰੇਸ਼ਨ ਲਈ ਇੱਕ ਪਾਸਵਰਡ ਨੂੰ ਸਾਫ - clearpassword\n\nਇਸ ਉਪਰੰਤ crypto operations ਲਈ ਪਾਸਵਰਡ ਨੂੰ ਸਾਫ਼ - clearpassword"
  },
  {
    "path": "languages/pa-IN/Help/default.tid",
    "content": "title: $:/language/Help/default\ndescription: \n\n \\ਪਰਿਭਾਸ਼ਤ commandTitle () $ / ਭਾਸ਼ਾ / ਮੱਦਦ / $ (ਹੁਕਮ) $ \\ end```usage: tiddlywiki [<wikifolder>] [- <ਹੁਕਮ> [<ਮੁੱਲ> ...] ...] `` `ਉਪਲੱਬਧ ਹੁਕਮ: <ਉਲ>\" = = << commandTitle >>> <$ macrocall $ ਨਾਮ ਕਰਨ ਲਈ <li> <$ ਲਿੰਕ ਨੂੰ <$ ਸੂਚੀ ਨੂੰ ਫਿਲਟਰ = ਵੇਰੀਏਬਲ = \"command\" \"[[] ਲੜੀਬੱਧ [ਦਾ ਸਿਰਲੇਖ] ਨੂੰ ਹੁਕਮ]\"> ਹੁਕਮ \"$ TYPE =\" ਪਾਠ / plain \"$ ਆਉਟਪੁੱਟ =\" text / plain \"/> </ $ link>: <$ transclude tiddler = << commandTitle >> ਖੇਤਰ =\" ਵੇਰਵਾ \"/> </ li> </ $ ਸੂਚੀ ਵਿੱਚ> </ ਉਲ> ਨੂੰ ਇੱਕ ਹੁਕਮ 'ਤੇ ਵੇਰਵੇ ਮਦਦ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ: `` `tiddlywiki --help <ਹੁਕਮ>` ``"
  },
  {
    "path": "languages/pa-IN/Help/editions.tid",
    "content": "title: $:/language/Help/editions\ndescription: TiddlyWiki ਦੇ ਉਪਲੱਬਧ ਐਡੀਸ਼ਨ ਦੀ ਸੂਚੀ ਹੈ\n\nਉਪਲੱਬਧ ਐਡੀਸ਼ਨ ਦੇ ਨਾਮ ਅਤੇ ਵੇਰਵਾ ਦੀ ਸੂਚੀ ਹੈ. ਤੁਹਾਨੂੰ `--init` command.``` ਨਾਲ ਇੱਕ ਖਾਸ ਐਡੀਸ਼ਨ ਦੀ ਇੱਕ ਨਵ ਵਿਕੀ ਬਣਾ ਸਕਦੇ ਹੋ - editions```"
  },
  {
    "path": "languages/pa-IN/Help/help.tid",
    "content": "title: $:/language/Help/help\ndescription: TiddlyWiki ਹੁਕਮ ਲਈ ਡਿਸਪਲੇਅ ਮਦਦ\n\nਇਕ ਹੁਕਮ ਜਿਸ ਲਈ ਮਦਦ ਟੈਕਸਟ: `` `--help [<ਹੁਕਮ>]` `` ਹੁਕਮ ਦਾ ਨਾਮ ਫਿਰ ਛੱਡ ਦਿੱਤਾ ਹੈ, ਜੇ ਉਪਲੱਬਧ ਆਦੇਸ਼ ਦੀ ਇੱਕ ਸੂਚੀ ਵੇਖਾਈ ਗਈ ਹੈ."
  },
  {
    "path": "languages/pa-IN/Help/init.tid",
    "content": "title: $:/language/Help/init\ndescription: ਇੱਕ ਨਵ wiki ਫੋਲਡਰ ਸ਼ੁਰੂ\n\nਇੱਕ ਖਾਲੀ [[WikiFolder | WikiFolders]] ਸ਼ੁਰੂ ਨਿਰਧਾਰਿਤ ਹੈ, edition.``` ਦੀ ਇੱਕ ਕਾਪੀ ਦੇ ਨਾਲ - init <ਐਡੀਸ਼ਨ> [<ਐਡੀਸ਼ਨ> ...] `` `ਉਦਾਹਰਨ ਲਈ:` `` tiddlywiki ./MyWikiFolder - init empty```Note: * ਵਿਕੀ ਫੋਲਡਰ ਨੂੰ ਡਾਇਰੈਕਟਰੀ ਨੂੰ ਬਣਾਇਆ ਜਾਵੇਗਾ, ਜੇ ਜ਼ਰੂਰੀ * ਵਿਕੀ ਫੋਲਡਰ ਖਾਲੀ ਨਹੀ ਹੈ, ਜੇ * init ਹੁਕਮ * init ਹੁਕਮ ਨੂੰ ਕਿਸੇ ਵੀ `includeWikis ਨੂੰ ਹਟਾ ਫੇਲ ਹੋ ਜਾਵੇਗੀ '' ਖਾਲੀ '' ਨੂੰ\" ਐਡੀਸ਼ਨ \"ਲਈ ਮੂਲ `ਮਲਟੀਪਲ ਐਡੀਸ਼ਨ ਨਿਰਧਾਰਤ ਕੀਤੇ ਹਨ, ਜਦ ਐਡੀਸ਼ਨ ਦੇ` tiddlywiki.info` ਫਾਇਲ ਨੂੰ * ਵਿੱਚ ਪਰਿਭਾਸ਼ਾ, ਪਿਛਲੇ ਐਡੀਸ਼ਨ (ਇਸ ਲਈ, ਇਸ ਨੂੰ ਫਾਈਨਲ `tiddlywiki.info` ਫਾਇਲ ਨੂੰ ਪਿਛਲੇ ਐਡੀਸ਼ਨ ਤੱਕ ਨਕਲ ਕੀਤਾ ਜਾਵੇਗਾ) ਦੇ ਨਾਲ ਕਿਸੇ ਵੀ ਸ਼ੇਅਰ ਫਾਇਲ ਨੂੰ ਤਬਦੀਲ ਕੀਤਾ ਜਾਵੇਗਾ ਬਾਅਦ ਵਿੱਚ ਸ਼ੁਰੂ ਐਡੀਸ਼ਨ *` --editions` ਉਪਲੱਬਧ ਐਡੀਸ਼ਨ ਦੀ ਇੱਕ ਸੂਚੀ ਦਿੰਦਾ ਹੈ"
  },
  {
    "path": "languages/pa-IN/Help/load.tid",
    "content": "title: $:/language/Help/load\ndescription: ਇੱਕ tiddlers ਫਾਇਲ ਲੋਡ ਕਰਨ\n\n2.xx TiddlyWiki ਫਾਇਲ ਲੋਡ tiddlers (`.html`),` .tiddler`, `.tid`,` .json` ਜ ਹੋਰ ਫਾਇਲ `` `--load <ਮਾਰਗ>` `` ਇੱਕ ਇੰਕ੍ਰਿਪਟਡ ਤੱਕ tiddlers ਲੋਡ ਕਰਨ ਲਈ, TiddlyWiki ਤੁਹਾਨੂੰ ਪਹਿਲੀ PasswordCommand ਨਾਲ ਗੁਪਤ-ਕੋਡ ਦੇਣਾ ਚਾਹੀਦਾ ਹੈ ਦਾਇਰ. ਉਦਾਹਰਨ ਲਈ: `` `tiddlywiki ./MyWiki --password pa55w0rd --load my_encrypted_wiki.html```Note TiddlyWiki ਇੱਕ ਹੀ ਲੋਡ ਕੀਤਾ ਪਲੱਗਇਨ ਦਾ ਇੱਕ ਪੁਰਾਣਾ ਵਰਜਨ ਨੂੰ ਲੋਡ ਨਹੀ ਕਰੇਗਾ, ਜੋ ਕਿ."
  },
  {
    "path": "languages/pa-IN/Help/makelibrary.tid",
    "content": "title: $:/language/Help/makelibrary\ndescription: ਨਵੀਨੀਕਰਨ ਕਾਰਵਾਈ ਦੁਆਰਾ ਜਰੂਰੀ ਲਾਇਬ੍ਰੇਰੀ ਪਲੱਗਇਨ ਬਣਾਉ\n\nਕੀ ਤੁਹਾਡਾ ਮਤਲਬ ਸੀ: `$ ਬਣਾਏ: ਨੂੰ ਅੱਪਗਰੇਡ process.The ਨੂੰ ਅੱਪਗਰੇਡ ਲਾਇਬ੍ਰੇਰੀ ਲਈ / ਅੱਪਗਰੇਡ ਕਰੋ Library` ਿਰੜਨ ਪਲੱਗਇਨ ਦੀ ਕਿਸਮ` library` ਨਾਲ ਇੱਕ ਆਮ ਪਲੱਗਇਨ tiddler ਤੌਰ ਤੇ ਫਾਰਮੈਟ ਹੈ. ਇਹ ਅੰਦਰੂਨੀ ਵਰਤਣ ਲਈ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ TiddlyWiki5 repository.This ਹੁਕਮ ਦੇ ਅੰਦਰ ਉਪਲੱਬਧ ਪਲੱਗਇਨ, ਥੀਮ ਅਤੇ ਭਾਸ਼ਾ ਪੈਕ ਦੀ ਹਰ ਇੱਕ ਦੀ ਇੱਕ ਕਾਪੀ ਰੱਖਦਾ ਹੈ; ਇਸ ਨੂੰ ਇੱਕ ਕਸਟਮ procedure.``` ਨੂੰ ਅੱਪਗਰੇਡ ਨਿਰਮਾਣ ਯੂਜ਼ਰ ਨੂੰ ਹੀ ਪ੍ਰਭਾਵੀ ਹੈ - $ `ਨੂੰ makelibrary <ਸਿਰਲੇਖ ਨੂੰ>` `` ਸਿਰਲੇਖ ਨੂੰ ਦਲੀਲ ਮੂਲ: / Library` ਦਾ ਨਵੀਨੀਕਰਨ. `$ ਬਣਾਏ: ਨੂੰ ਅੱਪਗਰੇਡ process.The ਨੂੰ ਅੱਪਗਰੇਡ ਲਾਇਬ੍ਰੇਰੀ ਲਈ / UpgradeLibrary` tiddler ਪਲੱਗਇਨ ਦੀ ਕਿਸਮ` library` ਨਾਲ ਇੱਕ ਆਮ ਪਲੱਗਇਨ tiddler ਤੌਰ ਤੇ ਫਾਰਮੈਟ ਹੈ. ਇਹ ਅੰਦਰੂਨੀ ਵਰਤਣ ਲਈ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ TiddlyWiki5 repository.This ਹੁਕਮ ਦੇ ਅੰਦਰ ਉਪਲੱਬਧ ਪਲੱਗਇਨ, ਥੀਮ ਅਤੇ ਭਾਸ਼ਾ ਪੈਕ ਦੀ ਹਰ ਇੱਕ ਦੀ ਇੱਕ ਕਾਪੀ ਰੱਖਦਾ ਹੈ; ਇਸ ਨੂੰ ਇੱਕ ਕਸਟਮ procedure.``` ਨੂੰ ਅੱਪਗਰੇਡ ਨਿਰਮਾਣ ਯੂਜ਼ਰ ਨੂੰ ਹੀ ਪ੍ਰਭਾਵੀ ਹੈ - `$ ਕਰਨ makelibrary <ਸਿਰਲੇਖ ਨੂੰ>` `` ਸਿਰਲੇਖ ਨੂੰ ਦਲੀਲ ਮੂਲ: / UpgradeLibrary`."
  },
  {
    "path": "languages/pa-IN/Help/notfound.tid",
    "content": "title: $:/language/Help/notfound\ndescription: \n\nਕੋਈ ਮਦਦ ਦੀ ਆਈਟਮ"
  },
  {
    "path": "languages/pa-IN/Help/output.tid",
    "content": "title: $:/language/Help/output\ndescription: ਇਸ ਉਪਰੰਤ ਹੁਕਮ ਲਈ ਅਧਾਰ ਆਉਟਪੁੱਟ ਡਾਇਰੈਕਟਰੀ ਸੈੱਟ ਕਰੋ\n\nਇਸ ਉਪਰੰਤ ਹੁਕਮ ਲਈ ਅਧਾਰ ਆਉਟਪੁੱਟ ਡਾਇਰੈਕਟਰੀ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ. ਮੂਲ ਰੂਪ ਵਿੱਚ ਆਉਟਪੁੱਟ ਦੀ ਨਿਰਦੇਸ਼ਿਕਾ ਐਡੀਸ਼ਨ directory.``` ਦੇ `output` ਸਬ ਹੈ - ਆਉਟਪੁੱਟ <ਮਾਰਗ>` `` ਨਿਰਧਾਰਿਤ ਹੈ, ਮਾਰਗ ਫਿਰ ਰਿਸ਼ਤੇਦਾਰ ਹੈ, ਜੇ ਇਸ ਨੂੰ ਮੌਜੂਦਾ ਵਰਕਿੰਗ ਡਾਇਰੈਕਟਰੀ ਨੂੰ ਹੱਲ ਕੀਤਾ ਗਿਆ ਹੈ. ਉਦਾਹਰਨ ਲਈ `--output .` ਮੌਜੂਦਾ ਵਰਕਿੰਗ ਡਾਇਰੈਕਟਰੀ ਲਈ ਆਉਟਪੁੱਟ ਡਾਇਰੈਕਟਰੀ ਦਿਓ."
  },
  {
    "path": "languages/pa-IN/Help/password.tid",
    "content": "title: $:/language/Help/password\ndescription: ਇਸ ਉਪਰੰਤ crypto ਆਪਰੇਸ਼ਨ ਲਈ ਇੱਕ ਪਾਸਵਰਡ ਸੈੱਟ ਕਰੋ\n\nਇਸ ਉਪਰੰਤ crypto operations``` ਲਈ ਇੱਕ ਪਾਸਵਰਡ ਸੈੱਟ ਕਰੋ - ਇਹ ਗੁਪਤ-<password> `` `"
  },
  {
    "path": "languages/pa-IN/Help/rendertiddler.tid",
    "content": "title: $:/language/Help/rendertiddler\ndescription: ਇੱਕ ਖਾਸ ContentType ਹੀ ਕਿਸੇ ਵਿਅਕਤੀ tiddler ਦਿਉ\n\nਇੱਕ ਖਾਸ ContentType, ਪਾਠ / html` `ਕਰਨ ਲਈ ਮੂਲ ਰੂਪ ਵਿੱਚ ਇੱਕ ਵਿਅਕਤੀ ਨੂੰ tiddler ਨੂੰ ਦੇਵੋ ਅਤੇ ਦਿੱਤੇ ਫਾਇਲ ਕਰਨ ਲਈ ਇਸ ਨੂੰ ਨੂੰ ਬਚਾਉਣ:` `` --rendertiddler <ਦਾ ਸਿਰਲੇਖ> <filename> [<type>] `` `ਮੂਲ ਰੂਪ ਵਿੱਚ, ਫਾਇਲ ਹੈ, ਐਡੀਸ਼ਨ ਡਾਇਰੈਕਟਰੀ ਦਾ `output` ਸਬ ਨੂੰ ਰਿਸ਼ਤੇਦਾਰ ਦਾ ਫ਼ੈਸਲਾ ਕੀਤਾ. `--output` ਹੁਕਮ ਆਪਣੇ ਆਪ ਹੀ ਬਣ ਗਿਆ ਹੈ ਫਾਇਲ ਲਈ ਮਾਰਗ ਵਿੱਚ ਇੱਕ ਵੱਖਰੀ directory.Any ਗੁੰਮ ਡਾਇਰੈਕਟਰੀ ਨੂੰ ਆਉਟਪੁੱਟ ਦੀ ਅਗਵਾਈ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ."
  },
  {
    "path": "languages/pa-IN/Help/rendertiddlers.tid",
    "content": "title: $:/language/Help/rendertiddlers\ndescription: ਇੱਕ ਖਾਸ ContentType ਕਰਨ ਲਈ ਇੱਕ ਫਿਲਟਰ ਮਿਲਦੇ tiddlers ਦਿਉ\n\nRendertiddlers <ਫਿਲਟਰ> <ਫਰਮਾ> <ਮਾਰਗ> - .``` ਐਕਟੇਸ਼ਨ (.html` `ਮੂਲ) (ਪਾਠ / html`` ਕਰਨ ਲਈ ਮੂਲ) ਇੱਕ ਖਾਸ ContentType ਦੀ ਫਾਇਲ ਨੂੰ ਵੱਖਰਾ ਕਰਨ ਲਈ ਇੱਕ ਫਿਲਟਰ ਮਿਲਦੇ tiddlers ਦਾ ਇੱਕ ਸੈੱਟ ਦਿਉ [<type>] [<ਐਕਸ਼ਟੇਸ਼ਨ ਦਾ>] `` `ਉਦਾਹਰਨ ਲਈ:` `` --rendertiddlers $ [ਹੈ [ਸਿਸਟਮ]!]: / core / ਖਾਕੇ / static.tiddler.html ./static ਪਾਠ / plain``` ਮੂਲ ਰੂਪ ਵਿੱਚ, ਮਾਰਗ ਐਡੀਸ਼ਨ ਡਾਇਰੈਕਟਰੀ ਦੇ `output` ਸਬ ਨੂੰ ਰਿਸ਼ਤੇਦਾਰ ਹੱਲ ਕੀਤਾ ਗਿਆ ਹੈ. `--output` ਹੁਕਮ ਨੂੰ ਹਟਾ ਰਹੇ ਹਨ, ਟਾਰਗੇਟ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਇੱਕ ਵੱਖਰੀ directory.Any ਫਾਇਲ ਨੂੰ ਆਉਟਪੁੱਟ ਦੀ ਅਗਵਾਈ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ. ਇਸ ਨੂੰ ਗੁੰਮ ਹੈ, ਜੇ ਟਾਰਗੇਟ ਡਾਇਰੈਕਟਰੀ ਲਗਾਤਾਰ ਬਣਾਇਆ ਹੈ."
  },
  {
    "path": "languages/pa-IN/Help/savetiddler.tid",
    "content": "title: $:/language/Help/savetiddler\ndescription: ਇੱਕ ਫਾਇਲ ਨੂੰ ਇੱਕ ਕੱਚਾ tiddler ਬੱਚਤ\n\nਨਿਰਧਾਰਿਤ ਹੈ, ਫਾਇਲ ਨੂੰ ਇਸ ਦੇ ਕੱਚਾ ਟੈਕਸਟ ਜ ਬਾਇਨਰੀ ਫਾਰਮਿਟ ਵਿੱਚ ਇੱਕ ਵਿਅਕਤੀ ਨੂੰ tiddler ਸੰਭਾਲਦਾ ਹੈ. `` `--savetiddler <ਦਾ ਸਿਰਲੇਖ> <filename>` `` ਮੂਲ ਰੂਪ ਵਿੱਚ, ਫਾਇਲ ਐਡੀਸ਼ਨ ਡਾਇਰੈਕਟਰੀ ਦੇ `output` ਸਬ ਨੂੰ ਰਿਸ਼ਤੇਦਾਰ ਹੱਲ ਕੀਤਾ ਗਿਆ ਹੈ. `--output` ਹੁਕਮ ਆਪਣੇ ਆਪ ਹੀ ਬਣ ਗਿਆ ਹੈ ਫਾਇਲ ਲਈ ਮਾਰਗ ਵਿੱਚ ਇੱਕ ਵੱਖਰੀ directory.Any ਗੁੰਮ ਡਾਇਰੈਕਟਰੀ ਨੂੰ ਆਉਟਪੁੱਟ ਦੀ ਅਗਵਾਈ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ."
  },
  {
    "path": "languages/pa-IN/Help/savetiddlers.tid",
    "content": "title: $:/language/Help/savetiddlers\ndescription: ਇੱਕ ਡਾਇਰੈਕਟਰੀ ਨੂੰ ਕੱਚਾ tiddlers ਦੇ ਇੱਕ ਗਰੁੱਪ ਨੂੰ ਸੰਭਾਲਦਾ ਹੈ\n\nਦਿੱਤੀ ਡਾਇਰੈਕਟਰੀ ਨੂੰ ਆਪਣੇ ਕੱਚਾ ਟੈਕਸਟ ਜ ਬਾਇਨਰੀ ਫਾਰਮਿਟ ਵਿੱਚ tiddlers ਦੇ ਇੱਕ ਗਰੁੱਪ ਨੂੰ ਸੰਭਾਲਦਾ ਹੈ. `` `--savetiddlers <ਫਿਲਟਰ> <ਮਾਰਗ>` `` ਮੂਲ ਰੂਪ ਵਿੱਚ, ਮਾਰਗ ਐਡੀਸ਼ਨ ਡਾਇਰੈਕਟਰੀ ਦੇ `output` ਸਬ ਨੂੰ ਰਿਸ਼ਤੇਦਾਰ ਹੱਲ ਕੀਤਾ ਗਿਆ ਹੈ. `--output` ਹੁਕਮ ਆਪਣੇ ਆਪ ਹੀ ਬਣ ਗਿਆ ਹੈ ਮਾਰਗ ਵਿੱਚ ਇੱਕ ਵੱਖਰੀ directory.Any ਗੁੰਮ ਡਾਇਰੈਕਟਰੀ ਨੂੰ ਆਉਟਪੁੱਟ ਦੀ ਅਗਵਾਈ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ."
  },
  {
    "path": "languages/pa-IN/Help/server.tid",
    "content": "title: $:/language/Help/server\ndescription: TiddlyWiki ਲਈ ਇੱਕ HTTP ਸਰਵਰ ਇੰਟਰਫੇਸ ਦਿੰਦਾ ਹੈ\n\nTiddlyWiki5 ਕਰਨ ਵਿੱਚ ਬਣਾਇਆ ਸਰਵਰ ਨੂੰ ਬਹੁਤ ਹੀ ਅਸਾਨ ਹੈ. ਇਸ ਨੂੰ ਮਜ਼ਬੂਤ ਇੰਟਰਨੈੱਟ-ਸਾਹਮਣਾ ਕਰ ਰੂਟ usage.At ਲਈ ਲੋੜ ਫੀਚਰ ਦੇ ਬਹੁਤ ਸਾਰੇ ਨੂੰ ਸਹਿਯੋਗ ਨਹੀ ਹੈ TiddlyWeb ਦੇ ਅਨੁਕੂਲ ਹੈ, ਪਰ ਇਸ ਨੂੰ ਇੱਕ ਖਾਸ tiddler ਦੀ ਇੱਕ ਪੇਸ਼ਕਾਰੀ ਦਿੰਦਾ ਹੈ. ਦੂਰ ਰੂਟ ਤੱਕ, ਇਸ ਨੂੰ JSON ਵਿੱਚ ਇੰਕੋਡ ਵਿਅਕਤੀਗਤ tiddlers ਸੇਵਾ ਦਿੰਦਾ ਹੈ, ਅਤੇ DELETE`.``` ``, `GET` ਲਈ ਮੁੱਢਲਾ ਸਹਿਯੋਗ ਦਿੰਦਾ ਹੈ HTTP ਓਪਰੇਸ਼ਨ PUT` ਅਤੇ - ਸਰਵਰ <port> <roottiddler> <rendertype> <servetype> <username> <password> <host> <pathprefix> `` `ਪੈਰਾਮੀਟਰ ਹਨ: * '' ਪੋਰਟ ਨੂੰ '' - ਪੋਰਟ ਨੰਬਰ ਤੱਕ ਦੀ ਸੇਵਾ ਕਰਨ ਦਾ (ਮੂਲ ਕਰਨ ਲਈ\" 8080 \") * '' roottiddler '' - 'ਤੇ ਸੇਵਾ ਕਰਨ ਲਈ tiddler ਰੂਟ (ਮੂਲ \"$: / core / / ਸਾਰੇ ਨੂੰ ਬਚਾਉਣ\") '*' rendertype '' - root tiddler ਅਨੁਵਾਦ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ, ਜਿਸ ਲਈ ਸਮੱਗਰੀ ਨੂੰ ਕਿਸਮ (ਮੂਲ ਕਰਨ ਲਈ \"text / plain ') *' 'servetype' '- ਸਮੱਗਰੀ ਨੂੰ ਦੀ ਕਿਸਮ, ਜਿਸ ਨਾਲ ਰੂਟ tiddler * '' username '' (\"ਪਾਠ / html\" ਕਰਨ ਲਈ ਮੂਲ) ਦੀ ਸੇਵਾ ਕੀਤੀ ਜਾਣੀ ਚਾਹੀਦੀ ਹੈ - ਨੂੰ ਵਖਾਓ ਹਸਤਾਖਰ ਕਰਨ ਲਈ ਮੂਲ ਯੂਜ਼ਰ * '' ਪਾਸਵਰਡ '' - ਮੁੱਢਲੀ ਪ੍ਰਮਾਣਿਕਤਾ ਲਈ ਪਾਸਵਰਡ ਨੂੰ ਅਖ਼ਤਿਆਰੀ * '' ਨੂੰ ਹੋਸਟ ''' - ਅਖ਼ਤਿਆਰੀ ਮੇਜ਼ਬਾਨ ਤੱਕ ਦੀ ਸੇਵਾ ਕਰਨ ਲਈ (ਯੱਕਾ, \"127.0.0.1\" ਨੂੰ ਮੂਲ \"localhost\") * '' pathprefix '' - ਪਾਸਵਰਡ ਪੈਰਾਮੀਟਰ ਫਿਰ ਬਰਾਊਜ਼ਰ ਯੂਜ਼ਰ ਅਤੇ ਪਾਸਵਰਡ ਦੇ ਲਈ ਯੂਜ਼ਰ ਨੂੰ ਪੁੱਛੇ ਦਿੱਤਾ ਗਿਆ ਹੈ pathsIf ਲਈ ਵਿਕਲਪਿਕ ਅਗੇਤਰ. `` `8080 $ --server:: ਇਸ ਨੂੰ ਲਾਗੂ ਕਰਨ ਦੀ ਜਨਰਲ use.For ਉਦਾਹਰਨ ਲਈ ਠੀਕ ਨਹੀ ਹੈ, ਇਸ ਲਈ ਪਾਸਵਰਡ ਦੀ ਸਧਾਰਨ ਪਾਠ ਵਿੱਚ ਪ੍ਰਸਾਰਿਤ ਕੀਤਾ ਗਿਆ ਹੈ, ਜੋ ਕਿ ਯਾਦ ਰੱਖੋ ਕਿ / ਕੋਰ ਸੰਭਾਲੋ / / ਸਭ ਪਾਠ / plain ਪਾਠ / html MyUserName passw0rd```The ਤੁਹਾਨੂੰ ਹੋਸਟ-pathprefix ਨੂੰ ਸੈੱਟ ਕਰਨ ਦੀ ਲੋੜ ਹੈ ਅਤੇ ਇੱਕ ਪਾਸਵਰਡ ਦੀ ਲੋੜ ਨਾ ਕਰਨਾ ਚਾਹੁੰਦੇ, ਜੇ ਯੂਜ਼ਰ ਅਤੇ ਪਾਸਵਰਡ ਖਾਲੀ ਸਤਰ ਦੇ ਤੌਰ ਤੇ ਦਿੱਤੀ ਜਾ ਸਕਦੀ ਹੈ: `` `8080 $ --server: / core / / ਸਭ ਪਾਠ / plain ਪਾਠ / html ਸੰਭਾਲੋ\" \"\" \"192.168.0.245```To ਤੁਹਾਨੂੰ ਇੱਕ ਵੱਖਰੀ ਪੋਰਟ 'ਤੇ ਹਰ ਇੱਕ ਨੂੰ ਪਾ ਕਰਨ ਦੀ ਲੋੜ ਪਵੇਗੀ ਉਸੇ ਵੇਲੇ' ਤੇ ਕਈ ਕਈ TiddlyWiki ਸਰਵਰ ਚਲਾਉਣ."
  },
  {
    "path": "languages/pa-IN/Help/setfield.tid",
    "content": "title: $:/language/Help/setfield\ndescription: ਵਰਤਣ ਲਈ ਬਾਹਰੀ tiddlers ਨੂੰ ਤਿਆਰ\n\n// ਇਸ ਹੁਕਮ ਨੂੰ ਤਜਰਬੇ ਹੈ ਅਤੇ ਬਦਲ ਸਕਦੀ ਹੈ ਜ ਫਾਈਨਲ ਹੋਣ ਦੇ ਅੱਗੇ ਤਬਦੀਲ ਕੀਤਾ ਜਾ // tiddler.``` ਕਰਨ `currentTiddler` ਵੇਰੀਏਬਲ ਸੈੱਟ ਨਾਲ ਟੈਪਲੇਟ tiddler wikifying ਦੇ ਨਤੀਜੇ ਨੂੰ tiddlers ਦੇ ਇਕ ਗਰੁੱਪ ਦੀ ਨਿਰਧਾਰਿਤ ਹੈ, ਖੇਤਰ ਸੈੱਟ ਕਰਦਾ ਹੈ, ਜੋ ਕਿ ਯਾਦ ਰੱਖੋ --setfield <ਫਿਲਟਰ> <fieldname> <templatetitle> <rendertype> `` `ਪੈਰਾਮੀਟਰ ਹਨ: * '' ਫਿਲਟਰ '' - tiddlers ਪ੍ਰਭਾਵਿਤ ਕਰਨ ਦੀ ਪਛਾਣ ਫਿਲਟਰ * '' fieldname '' - ਤੱਕ (ਮੂਲ ਦੇ, ਸੋਧਣ ਦਾ ਖੇਤਰ \"ਪਾਠ\") * '' templatetitle '' - ਖਾਸ ਖੇਤਰ ਵਿੱਚ wikify ਨੂੰ tiddler. ਖਾਲੀ ਜ ਲਾਪਤਾ, ਜੇ ਫਿਰ ਨਿਰਧਾਰਿਤ ਹੈ, ਖੇਤਰ ਨੂੰ ਹਟਾਇਆ ਗਿਆ ਹੈ, * '' ਦੀ ਕਿਸਮ '' - ਪਾਠ ਟਾਈਪ ਪੇਸ਼ ਕਰਨ ਲਈ (ਮੂਲ ਕਰਨ ਲਈ \"text / plain ';\" ਪਾਠ / html' HTML ਟੈਗ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ)"
  },
  {
    "path": "languages/pa-IN/Help/unpackplugin.tid",
    "content": "title: $:/language/Help/unpackplugin\ndescription:  ਇੱਕ ਪਲੱਗਇਨ ਤੱਕ ਪੇਲੋਡ tiddlers ਨੂੰ ਖੋਲੋ\n\n ਆਮ tiddlers ਦੇ ਤੌਰ ਤੇ ਬਣਾਉਣ ਲਈ, ਇੱਕ ਪਲੱਗਇਨ ਤੱਕ ਪੇਲੋਡ tiddlers ਖੋਲੋ: `` `--unpackplugin <ਦਾ ਸਿਰਲੇਖ>` ``"
  },
  {
    "path": "languages/pa-IN/Help/verbose.tid",
    "content": "title: $:/language/Help/verbose\ndescription: ਵਧੇਰੇ ਜਾਣਕਾਰੀ ਆਉਟਪੁੱਟ ਮੋਡ ਚਾਲੂ\n\n, --verbose``` `` `ਡੀਬੱਗਿੰਗ ਲਈ ਲਾਭਦਾਇਕ ਜਾਣਕਾਰੀ ਆਉਟਪੁੱਟ ਨੂੰ ਚਾਲੂ"
  },
  {
    "path": "languages/pa-IN/Help/version.tid",
    "content": "title: $:/language/Help/version\ndescription: TiddlyWiki ਦਾ ਵਰਜਨ ਨੰਬਰ ਵੇਖਾਉਦਾ ਹੈ\n\n TiddlyWiki.``` ਦਾ ਵਰਜਨ ਨੰਬਰ ਵੇਖਾਉਦਾ ਹੈ - version```"
  },
  {
    "path": "languages/pa-IN/Import.multids",
    "content": "title: $:/language/Import/\n\nListing/Cancel/Caption: ਰੱਦ ਕਰੋ\nListing/Hint: ਇਹ tiddlers ਆਯਾਤ ਕਰਨ ਲਈ ਤਿਆਰ ਹਨ\nListing/Import/Caption: ਅਯਾਤ\nListing/Select/Caption:  ਚੋਣ ਕਰੋ\nListing/Status/Caption: ਸਥਿਤੀ\nListing/Title/Caption: ਸਿਰਲੇਖ\nUpgrader/Plugins/Suppressed/Incompatible:  ਰੋਕੀ ਹੋਈ ਅਨੁਕੂਲ ਜ ਛੱਡੇ ਪਲੱਗਇਨ\nUpgrader/Plugins/Suppressed/Version: ਪਲੱਗਇਨ ਰੋਕੀ (ਕਾਰਨ ਕਰਨ ਲਈ ਆਉਣ ਵਾਲੇ << ਆਉਣ >> ਮੌਜੂਦਾ ਜ਼ਿਆਦਾ ਉਮਰ ਦੇ ਹੋਣ ਦੇ << ਮੌਜੂਦਾ >>)\nUpgrader/Plugins/Upgraded: ਤੱਕ ਅੱਪਗਰੇਡ ਕੀਤਾ ਪਲੱਗਇਨ << ਆਉਣ >> ਨੂੰ << ਅੱਪਗਰੇਡ >>\nUpgrader/State/Suppressed: ਰੋਕੀ ਆਰਜ਼ੀ ਰਾਜ ਦੇ tiddler\nUpgrader/System/Suppressed: ਰੋਕੀ ਸਿਸਟਮ tiddler\nUpgrader/ThemeTweaks/Created: <$ ਪਾਠ = << ਤੱਕ >> /> ਤੱਕ ਮਾਈਗਰੇਟ ਥੀਮ tweak\n"
  },
  {
    "path": "languages/pa-IN/Misc.multids",
    "content": "title: $:/language/\n\nBinaryWarning/Prompt: ਇਹ tiddler ਬਾਇਨਰੀ ਦਾ ਡਾਟਾ ਰੱਖਦਾ ਹੈ\nClassicWarning/Hint: ਇਹ tiddler 5. ਹੋਰ ਜਾਣਕਾਰੀ ਲਈ https://tiddlywiki.com/static/Upgrading.html ਵੇਖੋ TiddlyWiki ਵਰਜਨ ਨਾਲ ਅਨੁਕੂਲ ਪੂਰੀ ਨਹੀ ਹੈ, ਜੋ ਕਿ TiddlyWiki ਕਲਾਸਿਕ ਵਿਕਿ ਟੈਕਸਟ ਫਾਰਮੈਟ ਹੈ, ਵਿੱਚ ਲਿਖਿਆ ਗਿਆ ਹੈ.\nClassicWarning/Upgrade/Caption:  ਅੱਪਗਰੇਡ\nCloseAll/Button: ਸਭ ਨੂੰ  ਬੰਦ ਕਰੋ \nConfirmCancelTiddler: ਤੁਸੀ \"<$ ਪਾਠ = << >> ਦੇ ਸਿਰਲੇਖ />\" tiddler ਲਈ ਤਬਦੀਲੀ ਰੱਦ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?\nConfirmDeleteTiddler: ਤੁਸੀ \"<$ ਪਾਠ = << >> ਦੇ ਸਿਰਲੇਖ />\" tiddler ਨੂੰ ਹਟਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ?\nConfirmEditShadowTiddler: ਤੁਹਾਨੂੰ ਇੱਕ ShadowTiddler ਸੋਧ ਕਰਨ ਲਈ ਜਾ ਰਹੇ ਹੋ. ਕੋਈ ਵੀ ਤਬਦੀਲੀ ਨੂੰ ਭਵਿੱਖ ਅੱਪਗਰੇਡ ਗੈਰ-ਮਾਮੂਲੀ ਬਣਾਉਣ ਮੂਲ ਸਿਸਟਮ ਅਣਡਿੱਠਾ ਕਰ ਦਿੱਤਾ ਜਾਵੇਗਾ. ਤੁਹਾਨੂੰ \"</ $ ਪਾਠ = << ਦਾ ਸਿਰਲੇਖ >>>\" ਵਿੱਚ ਸੋਧ ਕਰਨ ਲਈ ਚਾਹੁੰਦੇ ਹੋ?\nConfirmOverwriteTiddler: ਤੁਸੀ \"<$ ਪਾਠ = << >> ਦੇ ਸਿਰਲੇਖ />\" tiddler ਹੀ ਲਿਖਣਾ ਚਾਹੁੰਦੇ ਹੋ?\nDefaultNewTiddlerTitle: ਨਿਊ Tiddler\nDropMessage:  ਇੱਥੇ ਛੱਡੋ (ਜ ਰੱਦ ਕਰਨ ਲਈ ਬਚ ਕਲਿੱਕ ਕਰੋ)\nEncryption/ConfirmClearPassword: ਤੁਸੀ ਪਾਸਵਰਡ ਨੂੰ ਸਾਫ਼ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ? ਇਹ ਇੰਕ੍ਰਿਪਸ਼ਨ ਹਟਾਉਣ  ਤੇ ਇਸ ਵਿਕੀ 'ਨੂੰ ਬਚਾਉਣ ਲਈ   ਲਾਗੂ ਕੀਤਾ ਜਾਵੇਗਾ\nEncryption/PromptSetPassword: TiddlyWiki ਲਈ ਇੱਕ ਪਾਸਵਰਡ ਸੈੱਟ ਕਰੋ\nMissingTiddler/Hint: Tiddler ਗੁੰਮ ਹੈ \"<$ ਪਾਠ = << >> currentTiddler />\" - ਕਲਿੱਕ ਕਰੋ {{$ / core / images / ਸੋਧ-ਬਟਨ}} ਨੂੰ ਬਣਾਉਣ ਲਈ\nRecentChanges/DateFormat: ਮਿਤੀ /ਮਹੀਨੇ /ਸਾਲ\nSystemTiddler/Tooltip: ਇਹ ਇੱਕ ਸਿਸਟਮ tiddler ਹੈ\nTagManager/Colour/Heading:  ਰੰਗ\nTagManager/Icon/Heading:  ਆਈਕਾਨ \nTagManager/Info/Heading:  ਜਾਣਕਾਰੀ\nTagManager/Tag/Heading:  ਟੈਗ\nUnsavedChangesWarning: ਤੁਹਾਡੇ ਕੋਲ TiddlyWiki ਵਿੱਚ ਬਿਨਾਂ ਸੰਭਾਲੇ ਬਦਲਾਅ \n"
  },
  {
    "path": "languages/pa-IN/Modals/Download.tid",
    "content": "title: $:/language/Modals/Download\ntype: text/vnd.tiddlywiki\nsubtitle: Download changes\nfooter: <$button message=\"tm-close-tiddler\">Close</$button>\nhelp: https://tiddlywiki.com/static/DownloadingChanges.html\n\nਤੁਹਾਡਾ ਬਰਾਊਜ਼ਰ ਸਿਰਫ, ਆਪਣੇ ਵਿਕਿ ਨੂੰ ਸੋਧਿਆ ਨੂੰ ਬਚਾਉਣ ਦਾ ਹੱਕ ਹੇਠ ਡਾਊਨਲੋਡ ਲਿੰਕ ਤੇ ਕਲਿੱਕ ਕਰੋ ਅਤੇ \"ਡਾਊਨਲੋਡ ਫਾਇਲ ਨੂੰ\" ਜ \"ਫਾਇਲ ਨੂੰ ਸੰਭਾਲੋ\" ਦੀ ਚੋਣ ਕਰੋ, ਅਤੇ ਤੁਹਾਨੂੰ ਮਾਮੂਲੀ ਨੂੰ ਕਲਿੱਕ ਕਰ ਕੇ ਕੁਝ ਨੂੰ ਤੇਜ਼ ਕਰ ਸਕਦਾ .// ਫਿਰ ਫੋਲਡਰ ਹੈ ਅਤੇ ਫਾਇਲ ਦੀ ਚੋਣ ਕਰੋ saving.To ਦਸਤਾਵੇਜ਼ ਨੂੰ ਸਹਿਯੋਗ ਦਿੰਦਾ ਹੈ ਕੰਟਰੋਲ ਕੁੰਜੀ (Windows) ਜ ਚੋਣ / Alt ਸਵਿੱਚ (Mac OS X) ਨਾਲ ਸਬੰਧ ਨੂੰ. ਤੁਹਾਨੂੰ ਫੋਲਡਰ ਫਾਇਲ ਲਈ ਪੁੱਛਿਆ ਜਾ ਨਹੀ ਜਾਵੇਗਾ, ਪਰ ਤੁਹਾਡੇ ਬਰਾਊਜ਼ਰ ਇਸ ਨੂੰ ਇਕ ਬੇਪਛਾਣ ਨਾਮ ਦੇਣ ਦੀ ਸੰਭਾਵਨਾ ਹੈ, - ਤੁਹਾਨੂੰ ਇਸ ਨਾਲ ਲਾਭਦਾਇਕ ਕੁਝ ਵੀ ਕਰ ਸਕਦਾ ਹੈ ਅੱਗੇ ਇੱਕ `.html` ਐਕਸ਼ਟੇਸ਼ਨ ਦਾ ਸ਼ਾਮਲ ਕਰਨ ਲਈ ਫਾਇਲ ਨੂੰ ਕਰਨ ਦੀ ਲੋੜ ਹੋ ਸਕਦੀ ਹੈ .// ਵਿਕਿ ਆਮ ਤੌਰ 'ਤੇ ਬਚਾਇਆ ਜਾ ਸਕਦਾ ਹੈ, ਜਿੱਥੇ ਇੱਕ ਡੈਸਕਟਾਪ ਨੂੰ ਕੰਪਿਊਟਰ ਨੂੰ ਆਪਣੇ ਬੁੱਕਮਾਰਕ ਸਮਕਾਲੀ ਫਿਰ ਫਾਇਲ ਤੁਹਾਨੂੰ ਇਸ ਦੀ ਬਜਾਏ ਲਿੰਕ ਨੂੰ ਬੁੱਕਮਾਰਕ ਕਰ ਸਕਦੇ ਹਨ ਡਾਊਨਲੋਡ ਕੀਤਾ ਜਾ ਕਰਨ ਲਈ ਸਹਾਇਕ ਹੈ, ਅਤੇ ਨਾ ਹੈ ਕਿ ਸਮਾਰਟ ਫੋਨ' ਤੇ."
  },
  {
    "path": "languages/pa-IN/NewJournal.multids",
    "content": "title: $:/config/NewJournal/\n\nTags: ਜਰਨਲ\nTitle: ਮਿਤੀ /ਮਹੀਨੇ /ਸਾਲ\n"
  },
  {
    "path": "languages/pa-IN/Notifications.multids",
    "content": "title: $:/language/Notifications/\n\nSave/Done: ਸੰਭਾਲੀ ਗਈ ਵਿਕੀ\nSave/Starting: ਵਿਕੀ ਨੂੰ ਬਚਾਉਣ ਲਈ ਸ਼ੁਰੂ ਹੋ ਰਿਹਾ ਹੈ\n"
  },
  {
    "path": "languages/pa-IN/Search.multids",
    "content": "title: $:/language/Search/\n\nDefaultResults/Caption:  ਸੂਚੀ\nFilter/Caption: ਫਿਲਟਰ\nFilter/Hint: ਨੂੰ ਇੱਕ ਦੁਆਰਾ ਖੋਜ [[ਫਿਲਟਰ ਸਮੀਕਰਨ | http: //tiddlywiki.com/static/Filters.html]]\nFilter/Matches: / <ਛੋਟੇ ਛੋਟੇ> << ਨਤੀਜਾ ਲਈ Count >> ਮਿਲਦਾ ਹੈ </ ਛੋਟੇ ਛੋਟੇ> //\nMatches: / <ਛੋਟੇ ਛੋਟੇ> << ਨਤੀਜਾ ਲਈ Count >> ਮਿਲਦਾ ਹੈ </ ਛੋਟੇ ਛੋਟੇ> //\nShadows/Caption: ਸ਼ੈਡੋ\nShadows/Hint: ਸ਼ੈਡੋ tiddlers ਲਈ ਖੋਜ\nShadows/Matches: / <ਛੋਟੇ ਛੋਟੇ> << ਨਤੀਜਾ ਲਈ Count >> ਮਿਲਦਾ ਹੈ </ ਛੋਟੇ ਛੋਟੇ> //\nStandard/Caption: ਮਾਨਕ\nStandard/Hint: ਮਾਨਕ tiddlers ਲਈ ਖੋਜ\nStandard/Matches: / <ਛੋਟੇ ਛੋਟੇ> << ਨਤੀਜਾ ਲਈ Count >> ਮਿਲਦਾ ਹੈ </ ਛੋਟੇ ਛੋਟੇ> //\nSystem/Caption: ਸਿਸਟਮ\nSystem/Hint: ਸਿਸਟਮ  tiddlers ਲਈ ਖੋਜ\nSystem/Matches: / <ਛੋਟੇ ਛੋਟੇ> << ਨਤੀਜਾ ਲਈ Count >> ਮਿਲਦਾ ਹੈ </ ਛੋਟੇ ਛੋਟੇ> //\n"
  },
  {
    "path": "languages/pa-IN/SideBar.multids",
    "content": "title: $:/language/SideBar/\n\nAll/Caption: ਸਾਰੇ\nContents/Caption: ਸਮੱਗਰੀ\nDrafts/Caption: ਡਰਾਫਟ\nMissing/Caption:  ਕਮੀ\nMore/Caption: ਹੋਰ\nOpen/Caption: ਖੋਲੋ\nOrphans/Caption: ਅਨਾਥ\nRecent/Caption: ਹਾਲ ਹੀ\nShadows/Caption: ਸ਼ੈਡੋ\nSystem/Caption: ਸਿਸਟਮ\nTags/Caption: ਟੈਗ \nTags/Untagged/Caption: Untagged\nTools/Caption: ਟੂਲ \nTypes/Caption: ਕਿਸਮ\n"
  },
  {
    "path": "languages/pa-IN/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\nਇੱਕ ਗੈਰ-ਲੀਨੀਅਰ ਨਿੱਜੀ ਵੈੱਬ ਨੋਟਬੁੱਕ"
  },
  {
    "path": "languages/pa-IN/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\nਮੇਰਾ ~ TiddlyWiki"
  },
  {
    "path": "languages/pa-IN/TiddlerInfo.multids",
    "content": "title: $:/language/TiddlerInfo/\n\nAdvanced/Caption: ਵਿਕਸਿਤ\nAdvanced/PluginInfo/Empty/Hint: ਕਿਸੇ ਨੂੰ ਨਾ ਚੁਣੋ\nAdvanced/PluginInfo/Heading: ਪਲੱਗਇਨ ਦਾ ਵੇਰਵਾ\nAdvanced/PluginInfo/Hint: ਇਹ ਪਲੱਗਇਨ ਹੇਠ ਸ਼ੈਡੋ tiddlers ਸ਼ਾਮਿਲ ਹਨ\nAdvanced/ShadowInfo/Heading:  ਸ਼ੈਡੋ ਸਥਿਤੀ\nAdvanced/ShadowInfo/NotShadow/Hint: Tiddler <= << infoTiddler >>> <$ ਪਾਠ = << >> infoTiddler /> </ $ ਲਿੰਕ ਨੂੰ ਕਰਨ ਲਈ ਲਿੰਕ ਨੂੰ $> ਇੱਕ ਸ਼ੈਡੋ tiddler ਨਹੀ ਹੈ\nAdvanced/ShadowInfo/OverriddenShadow/Hint: ਇਹ ਇੱਕ ਆਮ tiddler ਦੁਆਰਾ ਰੱਦ ਕੀਤਾ ਗਿਆ ਹੈ\nAdvanced/ShadowInfo/Shadow/Hint: Tiddler <= << infoTiddler >>> <$ ਪਾਠ = << >> infoTiddler /> </ $ ਲਿੰਕ ਨੂੰ ਕਰਨ ਲਈ ਲਿੰਕ ਨੂੰ $> ਇੱਕ ਸ਼ੈਡੋ tiddler ਹੈ\nAdvanced/ShadowInfo/Shadow/Source: ਇਹ ਪਲੱਗਇਨ <= ਡਾਲਰ link ਵਿੱਚ ਪਰਿਭਾਸ਼ਤ ਕੀਤਾ ਗਿਆ ਹੈ << pluginTiddler >>> <$ ਪਾਠ = << >> pluginTiddler /> </ $ link>\nFields/Caption: ਖੇਤਰ\nList/Caption: ਸੂਚੀ \nList/Empty: ਸੂਚੀ / ਖਾਲੀ\nListed/Caption: ਸੂਚੀਬੱਧ\nListed/Empty: ਇਹ ਕਿਸੇ ਵੀ ਹੋਰ tiddler ਦੁਆਰਾ ਸੂਚੀਬੱਧ ਨਹ ਹੈ\nReferences/Caption: ਹਵਾਲੇ\nReferences/Empty: ਕੋਈ tiddlers ਇਸ ਨੂੰ ਲਿੰਕਕਰਨ ਲਈ  ਨਹ ਹੈ\nTagging/Caption: ਟੈਗ ਲਗਾਉਣੇ\nTagging/Empty: No tiddlers ਇਸ ਇੱਕ ਨਾਲ ਹੀ ਟੈਗ ਹਨ,\nTools/Caption: ਟੂਲ \n"
  },
  {
    "path": "languages/pa-IN/Types/application%2Fjavascript.tid",
    "content": "title: $:/language/Docs/Types/application/javascript\ndescription: ਜਾਵਾ ਸਕਰਿਪਟ ਕੋਡ\nname: application/javascript\ngroup: ਡਿਵੈਲਪਰ\n"
  },
  {
    "path": "languages/pa-IN/Types/application%2Fjson.tid",
    "content": "title: $:/language/Docs/Types/application/json\ndescription: JSON ਡਾਟਾ\nname: application/json\ngroup: ਡਿਵੈਲਪਰ\n"
  },
  {
    "path": "languages/pa-IN/Types/application%2Fx-tiddler-dictionary.tid",
    "content": "title: $:/language/Docs/Types/application/x-tiddler-dictionary\ndescription: ਡਾਟਾ ਕੋਸ਼\nname: application/x-tiddler-dictionary\ngroup: ਡਿਵੈਲਪਰ\n"
  },
  {
    "path": "languages/pa-IN/Types/image%2Fgif.tid",
    "content": "title: $:/language/Docs/Types/image/gif\ndescription: GIF ਚਿੱਤਰ\nname: image/gif\ngroup: ਚਿੱਤਰ\n"
  },
  {
    "path": "languages/pa-IN/Types/image%2Fjpeg.tid",
    "content": "title: $:/language/Docs/Types/image/jpeg\ndescription: JPEG ਚਿੱਤਰ\nname: image/jpeg\ngroup: ਚਿੱਤਰ\n"
  },
  {
    "path": "languages/pa-IN/Types/image%2Fpng.tid",
    "content": "title: $:/language/Docs/Types/image/png\ndescription: PNGਚਿੱਤਰ\nname: image/png\ngroup: ਚਿੱਤਰ\n"
  },
  {
    "path": "languages/pa-IN/Types/image%2Fsvg%2Bxml.tid",
    "content": "title: $:/language/Docs/Types/image/svg+xml\ndescription: ਸਟਰੱਕਚਰਡ ਵੈਕਟਰ ਗਰਾਫਿਕਸ ਈਮੇਜ਼ \nname: image/svg+xml\ngroup: ਚਿੱਤਰ\n"
  },
  {
    "path": "languages/pa-IN/Types/text%2Fcss.tid",
    "content": "title: $:/language/Docs/Types/text/css\ndescription: ਸਟੈਟਿਕ ਸਟਾਇਲਸ਼ੀਟ\nname: text/css\ngroup: ਡਿਵੈਲਪਰ\n"
  },
  {
    "path": "languages/pa-IN/Types/text%2Fhtml.tid",
    "content": "title: $:/language/Docs/Types/text/html\ndescription: HTML markup\nname: text/html\ngroup: ਟੈਕਸਟ\n"
  },
  {
    "path": "languages/pa-IN/Types/text%2Fplain.tid",
    "content": "title: $:/language/Docs/Types/text/plain\ndescription: ਪਲੇਨ ਟੈਕਸਟ \nname: text/plain\ngroup: ਟੈਕਸਟ\n"
  },
  {
    "path": "languages/pa-IN/Types/text%2Fvnd.tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/vnd.tiddlywiki\ndescription: TiddlyWiki 5\nname: text/vnd.tiddlywiki\ngroup: ਟੈਕਸਟ\n"
  },
  {
    "path": "languages/pa-IN/plugin.info",
    "content": "{\n\t\"title\": \"$:/languages/pa-IN\",\n\t\"name\": \"pa-IN\",\n\t\"plugin-type\": \"language\",\n\t\"description\": \"ਪੰਜਾਬੀ (ਭਾਰਤ)\",\n\t\"author\": \"Atul Grover\",\n\t\"core-version\": \">=5.0.8\"\n}\n"
  },
  {
    "path": "languages/pl-PL/Buttons.multids",
    "content": "title: $:/language/Buttons/\n\nAdvancedSearch/Caption: zaawansowane wyszukiwanie\nAdvancedSearch/Hint: Zaawansowane wyszukiwanie\nCancel/Caption: anuluj\nCancel/Hint: Odrzuć zmiany dokonane w tym tiddlerze\nClone/Caption: skopiuj\nClone/Hint: Skopiuj tego tiddlera\nClose/Caption: zamknij\nClose/Hint: Zamknij tego tiddlera\nCloseAll/Caption: zamknij wszystkie\nCloseAll/Hint: Zamknij wszystkie tiddlery\nCloseOthers/Caption: zamknij pozostale\nCloseOthers/Hint: Zamknij pozostałe tiddlery\nControlPanel/Caption: panel kontrolny\nControlPanel/Hint: Otwórz panel kontrolny\nCopyToClipboard/Caption: skopiuj do schowka\nCopyToClipboard/Hint: Skopiuj ten tekst do schowka\nDelete/Caption: usuń\nDelete/Hint: Usuń tiddlera\nDeleteTiddlers/Caption: usuń tiddlery\nDeleteTiddlers/Hint: Usuwa tiddlery\nEdit/Caption: edytuj\nEdit/Hint: Edytuj tego tiddlera\nEncryption/Caption: szyfrowanie\nEncryption/Hint: Ustaw lub usuń hasło wymagane do edycji tej wiki\nEncryption/ClearPassword/Caption: usuń hasło\nEncryption/ClearPassword/Hint: Usuń hasło i zapisz wiki bez szyfrowania\nEncryption/SetPassword/Caption: ustaw hasło\nEncryption/SetPassword/Hint: Ustaw hasło by zapisać tą wiki z szyfrowaniem\nExportPage/Caption: eksportuj wszystko\nExportPage/Hint: Eksportuj wszystkie tiddlery\nExportTiddler/Caption: eksportuj tiddlera\nExportTiddler/Hint: Eksportuj tego tiddlera\nExportTiddlers/Caption: eksportuj tiddlery\nExportTiddlers/Hint: Eksportuj tiddlery\nSidebarSearch/Hint: Wybierz pole wyszukiwania w menu bocznym\nFold/Caption: zwiń tiddlera\nFold/Hint: Zwiń treść tego tiddlera\nFold/FoldBar/Caption: pasek odwijania\nFold/FoldBar/Hint: Opcjonaly pasek to zwijania i odwijania tiddlerów (zwijanie jest po lewej stronie, rozwijanie na dole tiddlera)\nUnfold/Caption: rozwiń tiddlera\nUnfold/Hint: Rozwiń treść tego tiddlera\nFoldOthers/Caption: zwiń pozostałe tiddlery\nFoldOthers/Hint: Zwiń treść pozostałych tiddlerów\nFoldAll/Caption: zwiń wszystkie tiddlery\nFoldAll/Hint: Zwiń treść wszystkich tiddlerów\nUnfoldAll/Caption: rozwiń wszystkie tiddlery\nUnfoldAll/Hint: Rozwiń treść wszystkich otwartych tiddlerów\nFullScreen/Caption: pełny ekran\nFullScreen/Hint: Wejdź lub opuść tryb pełnego ekranu\nHelp/Caption: pomoc\nHelp/Hint: Pokaż panel pomocy\nImport/Caption: import\nImport/Hint: Importuj rózne typy plików, takie jak tekst, obrazki, JSON, tiddlery\nInfo/Caption: info\nInfo/Hint: Wyświetl informacje o tym tiddlerze\nHome/Caption: strona główna\nHome/Hint: Otwórz domyślne tiddlery\nLanguage/Caption: języki\nLanguage/Hint: Zmień jezyk interfejsu\nLayoutSwitcher/Hint: Otwórz przełacznik układu\nLayoutSwitcher/Caption: układ\nManager/Caption: menedżer tiddlerów\nManager/Hint: Otwórz menedżer tiddlerów\nMore/Caption: więcej\nMore/Hint: Więcej akcji\nNewHere/Caption: nowy tiddler tu\nNewHere/Hint: Stwórz nowego tiddlera otagowanego tym tiddlerem\nNetworkActivity/Caption: ruch sieciowy\nNetworkActivity/Hint: Anuluj cały ruch sieciowy\nNewJournal/Caption: nowy dziennik\nNewJournal/Hint: Tworzy nowego tiddlera o typie dziennika\nNewJournalHere/Caption: nowy dziennik tu\nNewJournalHere/Hint: Tworzy nowego tiddlera o typie dziennika otagowanego tym tiddlerem\nNewImage/Caption: nowy obraz\nNewImage/Hint: Stwórz nowego tiddlera o typie obrazu\nNewMarkdown/Caption: nowy Markdown tiddler\nNewMarkdown/Hint: Stwórz nowego tiddlera o typie Markdown\nNewTiddler/Caption: nowy tiddler\nNewTiddler/Hint: Stwórz nowego tiddlera\nOpenControlPanel/Hint: Otwórz panel kontrolny\nOpenWindow/Caption: otwórz w nowym oknie\nOpenWindow/Hint: Otwórz tego tiddlera w nowym oknie\nPalette/Caption: paleta\nPalette/Hint: Wybierz paletę kolorów\nPermalink/Caption: bezpośredni link\nPermalink/Hint: Ustaw adres w przeglądarce na bezpośredni link do tego tiddlera\nPermaview/Caption: link do obecnego widoku\nPermaview/Hint: Ustaw adres w przeglądarce na bezpośredni link do obecnego Story River\nPrint/Caption: wydrukuj stronę\nPrint/Hint: Drukuje aktualną stronę\nRefresh/Caption: odśwież\nRefresh/Hint: Wykonuje pełne odświeżenie wiki\nSave/Caption: zapisz\nSave/Hint: Zapisz zmiany w tiddlerze\nSaveWiki/Caption: zapisz zmiany\nSaveWiki/Hint: Zapisz zmiany w całej wiki\nStoryView/Caption: widok Story River\nStoryView/Hint: Ustal sposób w jaki tiddlery są wyświetlane w Story River (widoku otwartych tiddlerów)\nHideSideBar/Caption: ukryj menu boczne\nHideSideBar/Hint: Ukryj menu boczne\nShowSideBar/Caption: pokaż menu boczne\nShowSideBar/Hint: Pokaż menu boczne\nTagManager/Caption: menedżer tagów\nTagManager/Hint: Otwórz menedżer tagów\nTestCaseImport/Caption: importuj tiddlery\nTestCaseImport/Hint: Importuj tiddlery\nTimestamp/Caption: aktualizacje czasu\nTimestamp/Hint: Wybierz czy zmiany mają aktualizować czas\nTimestamp/On/Caption: zmiany czasu są włączone\nTimestamp/On/Hint: Aktualizuj czas edycji po zapisaniu zmian w tiddlerze\nTimestamp/Off/Caption: zmiany czasu są wyłączone\nTimestamp/Off/Hint: Nie aktualizuj czasu po zapisaniu zmian w tiddlerze\nTheme/Caption: motyw\nTheme/Hint: Wybierz szatę graficzną wiki\nBold/Caption: pogrubienie\nBold/Hint: Pogrub zaznaczony tekst\nClear/Caption: wyczyść\nClear/Hint: Zapełnij obrazek pojedynczym kolorem\nEditorHeight/Caption: wysokość edytora\nEditorHeight/Caption/Auto: Automatycznie zmieniaj wysokość edytora by zmieścić treść\nEditorHeight/Caption/Fixed: Stała wysokość:\nEditorHeight/Hint: Wybierz wysokość edytora\nExcise/Caption:wytnij\nExcise/Caption/Excise: Wykonaj wycięcie\nExcise/Caption/MacroName: Nazwa makra\nExcise/Caption/NewTitle: Tytuł nowego tiddlera:\nExcise/Caption/Replace: Zastąp wycięty tekst:\nExcise/Caption/Replace/Macro: makro\nExcise/Caption/Replace/Link: link\nExcise/Caption/Replace/Transclusion: transkluzja\nExcise/Caption/Tag: Otaguj nowego tiddlera nazwą tego\nExcise/Caption/TiddlerExists: Uwaga: tiddler już istnieje\nExcise/DefaultTitle: Nowe Wycięcie\nExcise/Hint: Wytnij zaznaczony tekst i wstaw go do nowego tidlera\nHeading1/Caption: nagłówek 1\nHeading1/Hint: Zmień zaznaczony tekst na nagłówek 1. stopnia\nHeading2/Caption: nagłówek 2\nHeading2/Hint: Zmień zaznaczony tekst na nagłówek 2. stopnia\nHeading3/Caption: nagłówek 3\nHeading3/Hint: Zmień zaznaczony tekst na nagłówek 3. stopnia\nHeading4/Caption: nagłówek 4\nHeading4/Hint: Zmień zaznaczony tekst na nagłówek 4. stopnia\nHeading5/Caption: nagłówek 5\nHeading5/Hint: Zmień zaznaczony tekst na nagłówek 5. stopnia\nHeading6/Caption: nagłówek 6\nHeading6/Hint: Zmień zaznaczony tekst na nagłówek 1. stopnia\nItalic/Caption: kursywa\nItalic/Hint: Sformatuj zaznaczony tekst kursywą\nLineWidth/Caption: szerokość linii\nLineWidth/Hint: Ustaw szerokość rysowanej linii\nLink/Caption: link\nLink/Hint: Stwórz wikilink\nLinkify/Caption: wikilink\nLinkify/Hint: Zamknij zaznaczony tekst w nawiasach kwadratowych\nListBullet/Caption: lista punktowana\nListBullet/Hint: Zamień zaznaczony tekst na listę punktowana\nListNumber/Caption: lista numerowana\nListNumber/Hint: Zamień zaznaczony tekst na listę numerowaną\nMonoBlock/Caption: blok o stałej czcionce\nMonoBlock/Hint: Zmień zaznaczony tekst na blok z czcionką o stałej szerokości\nMonoLine/Caption: stała czcionka\nMonoLine/Hint: Zmień czcionkę zaznaczonego tekstu na taką o stałej szerokości\nOpacity/Caption: przeźroczystość\nOpacity/Hint: Ustaw przeźroczystość rysowania\nPaint/Caption: kolor rysowania\nPaint/Hint: Ustaw kolor rysowania\nPicture/Caption: obraz\nPicture/Hint: Dodaj obraz\nPreview/Caption: podgląd\nPreview/Hint: Pokaż panel podglądu\nPreviewType/Caption: rodzaj podglądu\nPreviewType/Hint: Wybierz rodzaj podglądu\nQuote/Caption: cytat\nQuote/Hint: Zamień zaznaczony tekst na cytat\nRotateLeft/Caption: obróć w lewo\nRotateLeft/Hint: Obróc obraz w lewo o 90 stopni\nSize/Caption: rozmiar obrazu\nSize/Caption/Height: Wysokość:\nSize/Caption/Resize: Przeskaluj obraz\nSize/Caption/Width: Szerokość:\nSize/Hint: Ustaw rozmiar obrazu\nStamp/Caption: pieczątka\nStamp/Caption/New: Dodaj własną\nStamp/Hint: Dodaj prekonfigurowany fragment tekstu\nStamp/New/Title: Nazwa wyświetlana w menu\nStamp/New/Text:  Tekst fragmetu. Pamiętaj by dodać opis w polu nagłówku.\nStrikethrough/Caption: przekreślenie\nStrikethrough/Hint: Przekreśl zaznaczony tekst\nSubscript/Caption: indeks dolny\nSubscript/Hint: Zamień zaznaczony tekst na indeks dolny\nSuperscript/Caption: indeks górny\nSuperscript/Hint: Zamień zaznaczony tekst na indeks górny\nToggleSidebar/Hint: Zmień widzialność menu bocznego\nTranscludify/Caption: transkluzja\nTranscludify/Hint: Zamknij zaznaczony tekst w klamrach\nUnderline/Caption: podkreślenie\nUnderline/Hint: Podkreśl zaznaczony tekst"
  },
  {
    "path": "languages/pl-PL/ControlPanel.multids",
    "content": "title: $:/language/ControlPanel/\n\nAdvanced/Caption: Zaawansowane\nAdvanced/Hint: Wewnętrzne informacje na temat TiddlyWiki\nAppearance/Caption: Wyświetlanie\nAppearance/Hint: Dostosowywanie wyglądu tej TiddlyWiki\nBasics/AnimDuration/Prompt: Długość animacji\nBasics/AutoFocus/Prompt: Domyślne wybrane pole do edycji przy tworzeniu nowego tiddlera\nBasics/Caption: Podstawowe\nBasics/DefaultTiddlers/BottomHint: Tiddlery, które mają spację w nazie otocz &#91;&#91;podwójnymi nawiasami kwadratowymi&#93;&#93;. Możesz też ustawić, by zawsze widzieć {{ostatnio otwarte tiddlery||$:/snippets/retain-story-ordering-button}}\nBasics/DefaultTiddlers/Prompt: Domyślnie otwarte tiddlery\nBasics/DefaultTiddlers/TopHint: Wybierz które tiddlery mają być widoczne przy uruchomieniu\nBasics/Language/Prompt: Cześć! Wybrany język to:\nBasics/NewJournal/Title/Prompt: Domyślny tytuł nowych dzienników\nBasics/NewJournal/Text/Prompt: Domyślna treść nowych dzienników\nBasics/NewJournal/Tags/Prompt: Domyślne tagi nowych dzienników\nBasics/NewTiddler/Title/Prompt: Domyślny tytuł nowych tiddlerów\nBasics/NewTiddler/Tags/Prompt: Domyślne tagi nowych tiddlerów\nBasics/OverriddenShadowTiddlers/Prompt: Liczba nadpisanych tiddlerów-cieni\nBasics/RemoveTags: Zaktualizuj do obecnego formatu\nBasics/RemoveTags/Hint: Zaktualizuj konfigurację tagów do najnowszego formatu\nBasics/ShadowTiddlers/Prompt: Liczba tiddlerów-cieni\nBasics/Subtitle/Prompt: Podtytuł\nBasics/SystemTiddlers/Prompt: Liczba systemowych tiddlerów\nBasics/Tags/Prompt: Liczba tagów\nBasics/Tiddlers/Prompt: Liczba tiddlerów\nBasics/Title/Prompt: Tytuł tej ~TiddlyWiki\nBasics/Username/Prompt: Nazwa użytkownika do podpisywania zmian\nBasics/Version/Prompt: Wersja ~TiddlyWiki\nCascades/Caption: Kaskada\nCascades/Hint: Kaskady pozwalaja dynamicznie zmieniać sposób wyświetlania tiddlera zależnie od jej wyniku. Pierwszy niepusty wynik filtra poniżej będzie użyty jako szablon. Rózne kaskady zmieniają rózne elementy szablonu.\nCascades/TagPrompt: Filtry z tagiem <$macrocall $name=\"tag\" tag=<<currentTiddler>>/>\nEditorTypes/Caption: Typy edytorów\nEditorTypes/Editor/Caption: Edytor\nEditorTypes/Hint: Te tiddlery określają który edytor jest używany do edycji tiddlerów danych typów.\nEditorTypes/Type/Caption: Typ\nEditTemplateBody/Caption: Treść Edytora Tiddlera\nEditTemplateBody/Hint: Ta kaskada określa szablon do edycji treści tiddlera, używany podczas edycji tiddlera.\nFieldEditor/Caption: Edytor Pól\nFieldEditor/Hint: Ta kaskada określa szablon do edycji pól tiddlera, zależnie od nazwy pola. Używany podczas edycji treści tiddlera.\nInfo/Caption: Info\nInfo/Hint: Informacje o tej TiddlyWiki\nKeyboardShortcuts/Add/Prompt: Wpisz tu skrót\nKeyboardShortcuts/Add/Caption: dodaj skrót\nKeyboardShortcuts/Caption: Skróty Klawiszowe\nKeyboardShortcuts/Hint: Zarządzaj skrótami klawiszowymi\nKeyboardShortcuts/NoShortcuts/Caption: Brak skrótów klawiszowych\nKeyboardShortcuts/Remove/Hint: usuń skrót klawiszowy\nKeyboardShortcuts/Platform/All: Wszystkie platformy\nKeyboardShortcuts/Platform/Mac: Tylko na Macach\nKeyboardShortcuts/Platform/NonMac: Tylko na nie-Macach\nKeyboardShortcuts/Platform/Linux: Tylko na Linuxie\nKeyboardShortcuts/Platform/NonLinux: Tylko na nie-Linuxach\nKeyboardShortcuts/Platform/Windows: Tylko na Windowsie\nKeyboardShortcuts/Platform/NonWindows: Tylko na nie-Windowsach\nLayoutSwitcher/Caption: Układ\nLoadedModules/Caption: Wczytane Moduły\nLoadedModules/Hint: To są wszystie wczytane moduły podlinkowane do swoich tiddlerów źródłowych. Te zapisane kursywą nie posiadają źródłowych tiddlerów, zwykle dlatego, że były skonfigorwane podczas procesu uruchomienia.\nPalette/Caption: Paleta\nPalette/Editor/Clone/Caption: kopiuj\nPalette/Editor/Clone/Prompt: Zalecamy skopiowanie tej palety przed zmianą kolorów\nPalette/Editor/Delete/Hint: usuń tą konfigurację z obecnej palety\nPalette/Editor/Names/External/Show: Pokaż nazwy kolorów, które nie są częścią wybranej palety\nPalette/Editor/Prompt/Modified: Ukryta paleta została zmieniona\nPalette/Editor/Prompt: Edytowanie\nPalette/Editor/Reset/Caption: resetuj\nPalette/HideEditor/Caption: ukryj edytor\nPalette/Prompt: Aktualna paleta:\nPalette/ShowEditor/Caption: pokaż edytor\nParsing/Caption: Parsowanie\nParsing/Hint: Tu możesz globalnie włączyć/wyłączyć zasady parsowania. Żeby zmiany zaczęły działać, zapisz i przeładuj wiki. Wyłączenie niektórych zasad może spowodować nieprawidłowe działanie <$text text=\"TiddlyWiki\"/>. Użyj [[trybu bezpiecznego|https://tiddlywiki.com/#SafeMode]] by przywrócić normalne funkcjonowanie.\nParsing/Block/Caption: Zasady Parsowania Blokowego\nParsing/Inline/Caption: Zasady Parsowania Liniowego\nParsing/Pragma/Caption: Zasady Parsowania Pragmy\nPlugins/Add/Caption: Pobierz więcej wtyczek\nPlugins/Add/Hint: Zainstaluj wtyczki z oficjalnej biblioteki\nPlugins/AlreadyInstalled/Hint: Ta wtyczka jest już zainstalowana w wersji <$text text=<<installedVersion>>/>\nPlugins/AlsoRequires: Również wymaga:\nPlugins/Caption: Wtyczki\nPlugins/Disable/Caption: wyłącz\nPlugins/Disable/Hint: Wyłacz tą wtyczkę przy kolejnym uruchomieniu\nPlugins/Disabled/Status: (wyłączony)\nPlugins/Downgrade/Caption: cofnij wersję\nPlugins/Empty/Hint: Brak\nPlugins/Enable/Caption: włącz\nPlugins/Enable/Hint: Włącz tą wtyczkę przy kolejnym uruchomieniu\nPlugins/Install/Caption: instaluj\nPlugins/Installed/Hint: Obecnie zainstalowane wtyczki\nPlugins/Languages/Caption: Języki\nPlugins/Languages/Hint: Wtyczki z paczkami językowymi\nPlugins/NoInfoFound/Hint: Nie znaleziono ''\"<$text text=<<currentTab>>/>\"''\nPlugins/NotInstalled/Hint: Ta wtyczka nie jest obecnie zainstalowana\nPlugins/OpenPluginLibrary: otwórz bibliotekę wtyczek\nPlugins/ClosePluginLibrary: zamknij bibliotekę wtyczek\nPlugins/PluginWillRequireReload: (wymaga przeładowania)\nPlugins/Plugins/Caption: Wtyczki\nPlugins/Plugins/Hint: Wtyczki\nPlugins/Reinstall/Caption: zainstaluj ponownie\nPlugins/Stability/Deprecated: WYCOFANY\nPlugins/Stability/Experimental: EKSPERYMENTALNY\nPlugins/Stability/Legacy: STARY\nPlugins/Stability/Stable: STABILNY\nPlugins/Themes/Caption: Motywy\nPlugins/Themes/Hint: Wtyczki z motywami\nPlugins/Update/Caption: aktualizuj\nPlugins/Updates/Caption: Aktualizacje\nPlugins/Updates/Hint: Dostępne aktualizacje zainstalowanych wtyczek\nPlugins/Updates/UpdateAll/Caption: Zaktualizuj wtyczki: <<update-count>>\nPlugins/SubPluginPrompt: Dostępna liczba podwtyczek: <<count>>\nSaving/Caption: Zapisywanie\nSaving/DownloadSaver/AutoSave/Description: Zezwól serwerowi pobierania na automatyczne zapisywanie\nSaving/DownloadSaver/AutoSave/Hint: Zezwól automatyczne zapisywanie przy zapisywaniu na dysk\nSaving/DownloadSaver/Caption: Zapisywanie na Dysk\nSaving/DownloadSaver/Hint: Te ustawienia są dla zapisywania kompatybilnego z HTML5\nSaving/General/Caption: Ogólne\nSaving/General/Hint: Te ustawienia zmienają działanie wszystkich systemów zapisywania\nSaving/Hint: Ustawienia zapisywania całej TiddlyWiki jako jeden plik poprzez moduł zapisywania\nSaving/GitService/Branch: Docelowa gałąź do zapisu\nSaving/GitService/CommitMessage: Zapisane przez TiddlyWiki\nSaving/GitService/Description: Te ustawiena działają tylko gdy zapisujesz przy pomocy <<service-name>>\nSaving/GitService/Filename: Nazwa docelowego pliku (np. `index.html`)\nSaving/GitService/Path: Ścieżka docelowa do pliku (np. `/wiki/`)\nSaving/GitService/Repo: Docelowe repozytorium (np. `Jermolene/TiddlyWiki5`)\nSaving/GitService/ServerURL: URL do serwera API\nSaving/GitService/UserName: Nazwa użytkownika\nSaving/GitService/GitHub/Caption: Zapisywacz GitHub\nSaving/GitService/GitHub/Password: Hasło, token OAUTH lub osobisty token dospu ((sprawdź [[pomoc Githuba|https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line]] by uzyskać więcej szczegółów)\nSaving/GitService/GitLab/Caption: Zapisywacz GitLab\nSaving/GitService/GitLab/Password: Osobisty token do API ((sprawdź [[pomoc GitLaba|https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html]] by uzyskać więcej szczegółów)\nSaving/GitService/Gitea/Caption: Zapisywacz Gitea\nSaving/GitService/Gitea/Password: Osobisty token do API (przez interfejs webowy Gitea: `Settings | Applications | Generate New Token`)\nSaving/TiddlySpot/Advanced/Heading: Zaawansowane Ustawienia\nSaving/TiddlySpot/BackupDir: Folder z kopią zapasową\nSaving/TiddlySpot/ControlPanel: Panel Sterowania ~TiddlyHost\nSaving/TiddlySpot/Backups: Kopie zapasowe\nSaving/TiddlySpot/Caption: Zapisywacz ~TiddlyHost\nSaving/TiddlySpot/Description: Te ustawienia działają tylko gdy zapisujesz do [[TiddlyHost|https://tiddlyhost.com]], lub do kompatyblinego serwera. Sprawdź [[tutaj|https://github.com/simonbaird/tiddlyhost/wiki/TiddlySpot-Saver-configuration-for-Tiddlyhost-and-Tiddlyspot]] by uzyskać więcej informacji na temat konfiguracji zapisywania do ~TiddlyHost.\nSaving/TiddlySpot/Filename: Nazwa Pliku\nSaving/TiddlySpot/Heading: ~TiddlyHost\nSaving/TiddlySpot/Hint: //URL serwera to domyślnie `http://<wikiname>.tiddlyspot.com` ale może być zmienione by użyć własnego, np. `http://example.com/store.php`.//\nSaving/TiddlySpot/Password: Hasło\nSaving/TiddlySpot/ServerURL: URL serwera\nSaving/TiddlySpot/UploadDir: Folder Docelowy\nSaving/TiddlySpot/UserName: Nazwa Wiki\nSettings/AutoSave/Caption: Autozapis\nSettings/AutoSave/Disabled/Description: Nie zapisuj zmian automatycznie\nSettings/AutoSave/Enabled/Description: Zapisuj zmiany automatycznie\nSettings/AutoSave/Hint: Próbuj automatycznie zapisać zmiany podczas edycji, gdy używasz wspierającego to modułu zapisującego\nSettings/CamelCase/Caption: Camel Case WikiLinki\nSettings/CamelCase/Hint: Wymaga ponownego uruchomienia\nSettings/CamelCase/Description: Włącz automatyczne linkowanie ~CamelCase\nSettings/Caption: Ustawienia\nSettings/EditorToolbar/Caption: Pasek Narzędzi Edytora\nSettings/EditorToolbar/Hint: Włącz lub wyłącz pasek narzędzi edytora:\nSettings/EditorToolbar/Description: Pokaż pasek narzędzi edytora\nSettings/InfoPanelMode/Caption: Tryb Panelu Info Tiddlerów\nSettings/InfoPanelMode/Hint: Ustaw kiedy panel info tiddlera zostanie zamknięty:\nSettings/InfoPanelMode/Popup/Description: Panel info wyłacza się automatycznie\nSettings/InfoPanelMode/Sticky/Description: Panel info pozostaje otwarty aż zostanie ręcznie zamknięty\nSettings/Hint: Te ustawienia pozwalają dostosować zachowanie TiddlyWiki\nSettings/NavigationAddressBar/Caption: Pasek adresu\nSettings/NavigationAddressBar/Hint: Zachowanie paska adresu w przeglądarce przy otworzeniu tiddlera:\nSettings/NavigationAddressBar/No/Description: Nie aktualizuj paska adresu\nSettings/NavigationAddressBar/Permalink/Description: Pokaż docelowego tiddlera\nSettings/NavigationAddressBar/Permaview/Description: Pokaż docelowego tiddlera i obecny Story River\nSettings/NavigationHistory/Caption: Historia Nawigacji\nSettings/NavigationHistory/Hint: Aktualizuj historię nawigacji przeglądarki przy zmianie tiddlera:\nSettings/NavigationHistory/No/Description: Nie aktualizuj historii\nSettings/NavigationHistory/Yes/Description: Aktualizuj historię\nSettings/NavigationPermalinkviewMode/Caption: Tryb linków bezpośrednich/widoku\nSettings/NavigationPermalinkviewMode/Hint: Ustal jak linki bezpośrednie/widok się zachowują:\nSettings/NavigationPermalinkviewMode/CopyToClipboard/Description: Skopiuj URL do linku bezpośredniego/widoku do schowka\nSettings/NavigationPermalinkviewMode/UpdateAddressBar/Description: Zaktualizuj pasek adresu o URL do linku bezpośredniego/widoku\nSettings/PerformanceInstrumentation/Caption: Logowanie wydajności w Konsoli\nSettings/PerformanceInstrumentation/Hint: Uruchamia logowanie wydajności w konsoli deweloperskiej przeglądarki; wymaga ponownego uruchomienia\nSettings/PerformanceInstrumentation/Description: Włącz logowanie\nSettings/ToolbarButtonStyle/Caption: Styl Przycisków Paska Narzędzi\nSettings/ToolbarButtonStyle/Hint: Wybierz styl przycisków w pasku narzędzi\nSettings/ToolbarButtonStyle/Styles/Borderless: Bez ramki\nSettings/ToolbarButtonStyle/Styles/Boxed: Pudelko\nSettings/ToolbarButtonStyle/Styles/Rounded: Zaokrąglone\nSettings/ToolbarButtons/Caption: Przyciski Menu Narzędzi\nSettings/ToolbarButtons/Hint: Domyślnie wyświetlane przyciski paska narzędzi:\nSettings/ToolbarButtons/Icons/Description: Pokaż ikonę\nSettings/ToolbarButtons/Text/Description: Pokaż tekst\nSettings/DefaultSidebarTab/Caption: Domyślna zakładka w menu bocznym\nSettings/DefaultSidebarTab/Hint: Wybierz która zakładka jest domyślnie otwarta w menu bocznym\nSettings/DefaultMoreSidebarTab/Caption: Domyślna zakładka w podmenu \"Więcej\"\nSettings/DefaultMoreSidebarTab/Hint: Wybierz która zakładka ma być domyślnie wybrana w podmenu \"Więcej\"\nSettings/DefaultTiddlerInfoTab/Caption: Domyślna Zakładka w Panelu Info Tiddlera\nSettings/DefaultTiddlerInfoTab/Hint: Wybierz która zakładka jest domyślnie wybrana gdy panel info jest otwarty\nSettings/LinkToBehaviour/Caption: Zachowania Otwierania Tiddlerów\nSettings/LinkToBehaviour/InsideRiver/Hint: Nawigacja //z wewnątrz// Story River\nSettings/LinkToBehaviour/OutsideRiver/Hint: Nawgiacja //spoza// Story River\nSettings/LinkToBehaviour/OpenAbove: Otwórz ponad obecnym tiddlerem\nSettings/LinkToBehaviour/OpenBelow: Otwórz pod obecnym tiddlerem\nSettings/LinkToBehaviour/OpenAtTop: Otwórz na szczycie Story River\nSettings/LinkToBehaviour/OpenAtBottom: Otwórz na dole Story River\nSettings/TitleLinks/Caption: Tytuły Tiddlerów\nSettings/TitleLinks/Hint: Opcjonanie wyświetlaj nazwy tiddlerów jako linki\nSettings/TitleLinks/No/Description: Nie wyświetlaj nazw jako linki\nSettings/TitleLinks/Yes/Description: Wyświetlaj nazwy jako linki\nSettings/MissingLinks/Caption: Wiki Linki\nSettings/MissingLinks/Hint: Wybierz czy linkować do nieistniejących jeszcze tiddlerów\nSettings/MissingLinks/Description: Włacz linowanie do nieistniejących tiddlerów\nSocialCard/Caption: Karta Mediów Społecznościowych\nSocialCard/Domain/Prompt: Domena wyświetlana przy linku (np, ''tiddlywiki.com'')\nSocialCard/Hint: Informacje wykorzysytwane przez media społecznościowe i komunikatury by wyświetlić kartę z podglądem link do tej TiddlyWiki przy wklejeniu linka\nSocialCard/PreviewUrl/Prompt: Pełen adres do obrazka podglądku dla tej TiddlyWiki\nSocialCard/PreviewUrl/Preview: Podgląd obrazka:\nSocialCard/Url/Prompt: Pełen adres do tej TiddlyWiki\nStoryTiddler/Caption: Widok Tiddlera\nStoryTiddler/Hint: Ta kaskada określa szablon używany podczas wyświetlania tiddlera w Story River.\nStoryView/Caption: Widok Story River\nStoryView/Prompt: Obecny widok:\nStylesheets/Caption: Style:\nStylesheets/Expand/Caption: Rozwiń Wszystko\nStylesheets/Hint: To jest wyrenderowany CSS obecnych tiddlerów otagowanych jako <<tag \"$:/tags/Stylesheet\">>\nStylesheets/Restore/Caption: Przywróć\nTestCases/Caption: Przypadki Testowe\nTestCases/Hint: Przypadki testowe służą do nauki oraz testowania systemu\nTestCases/All/Caption: Wszystkie Przypadki Testowe\nTestCases/All/Hint: Wszystkie Przypadki Testowe\nTestCases/Failed/Caption: Nieudane Przypadki Testowe\nTestCases/Failed/Hint: Tylko Nieudane Przypadki Testowe\nTheme/Caption: Motyw\nTheme/Prompt: Obecny motyw:\nTiddlerFields/Caption: Pola tiddlerów\nTiddlerFields/Hint: To jest pełna lista wszystich pól użytych w tej wiki (wliczając systemowe tiddlery ale nie tiddlery-cienie)\nTiddlerColour/Caption: Kolor tiddlera\nTiddlerColour/Hint: Ta kaskada określa kolor używany do wyswietlania tiddlera (kolor ikony oraz taga).\nTiddlerIcon/Caption: Ikona tiddlera\nTiddlerIcon/Hint: Ta kaskada określa ikonę używaną przez tiddlera.\nToolbars/Caption: Paski Narzędzi\nToolbars/EditToolbar/Caption: Pasek narzędzi przy edycji tiddlera\nToolbars/EditToolbar/Hint: Wybierz, które przyciski mają być widoczne na górze okna edycji tiddlera. Możesz zmienić ich kolejnośc przeciągając wiersze.\nToolbars/Hint: Wybierz, które przyciski mają być widoczne.\nToolbars/PageControls/Caption: Pasek narzędzi strony\nToolbars/PageControls/Hint: Wybierz, które przyciski mają być widoczne w głównym pasku narzędzi w menu bocznym. Możesz zmienić ich kolejnośc przeciągając wiersze.\nToolbars/EditorToolbar/Caption: Pasek narzędzi edytora treści\nToolbars/EditorToolbar/Hint: Wybierz które przyciski mają być widoczne w pasku narzędzi edytora treści tiddlera. Zależnie od typu edytowanego Tiddlera niektóre z nich mogą być niedostępne. Możesz zmienić ich kolejnośc przeciągając wiersze.\nToolbars/ViewToolbar/Caption: Pasek narzędzi wyświetlania\nToolbars/ViewToolbar/Hint: Wybierz które przyciski są widoczne obok tytułu podczas wyświetlania tiddlera. Możesz zmienić ich kolejnośc przeciągając wiersze.\nTools/Download/Full/Caption: Pobierz całą wiki.\nViewTemplateBody/Caption: Treść Wyświetlanego Tiddlera\nViewTemplateBody/Hint: Ta kaskada określa szablon wyświetlania treści tiddlera (czyli jego tekstu, w przeciwieństwie do kaskady 'Widok Tiddlera').\nViewTemplateTitle/Caption: Tytuł Wyświetlanego Tiddlera\nViewTemplateTitle/Hint: Ta kaskada określa szablon wyświetlania tytułu tiddlera.\nViewTemplateSubtitle/Caption: Podtytuł Wyświetlanego Tiddlera\nViewTemplateSubtitle/Hint: Ta kaskada określa szablon wyświetlania podtytułu tiddlera.\nViewTemplateTags/Caption: Tagi Wyświetlanego Tiddlera\nViewTemplateTags/Hint: Ta kaskada określa szablon wyświetlania tagów tiddlera.\nWikiInformation/Caption: Informacje o Wiki\nWikiInformation/Hint: Na tej stronie znajduje się skrót konfiguracji tej ~TiddlyWiki. Jej celem jest ułatwienie łatwego dzielenia się najważniejszymi informacjami przykładowo w celu ułatwienia szukania pomocy na forach. Strona nie zawiera żadnych prywatnych informacji i nie wysyła niczego na żaden serwer - przesłanie czegokolwiek dalej wymagana ręcznego skopiowania\nWikiInformation/Drag/Caption: Przeciągnij ten link by skopiować to narzędzie do innej wiki"
  },
  {
    "path": "languages/pl-PL/Dates.multids",
    "content": "title: $:/language/\n\nDate/DaySuffix/1: .\nDate/DaySuffix/2: .\nDate/DaySuffix/3: .\nDate/DaySuffix/4: .\nDate/DaySuffix/5: .\nDate/DaySuffix/6: .\nDate/DaySuffix/7: .\nDate/DaySuffix/8: .\nDate/DaySuffix/9: .\nDate/DaySuffix/10: .\nDate/DaySuffix/11: .\nDate/DaySuffix/12: .\nDate/DaySuffix/13: .\nDate/DaySuffix/14: .\nDate/DaySuffix/15: .\nDate/DaySuffix/16: .\nDate/DaySuffix/17: .\nDate/DaySuffix/18: .\nDate/DaySuffix/19: .\nDate/DaySuffix/20: .\nDate/DaySuffix/21: .\nDate/DaySuffix/22: .\nDate/DaySuffix/23: .\nDate/DaySuffix/24: .\nDate/DaySuffix/25: .\nDate/DaySuffix/26: .\nDate/DaySuffix/27: .\nDate/DaySuffix/28: .\nDate/DaySuffix/29: .\nDate/DaySuffix/30: .\nDate/DaySuffix/31: .\nDate/Long/Day/0: niedziela\nDate/Long/Day/1: poniedziałek\nDate/Long/Day/2: wtorek\nDate/Long/Day/3: środa\nDate/Long/Day/4: czwartek\nDate/Long/Day/5: piątek\nDate/Long/Day/6: sobota\nDate/Long/Month/1: stycznia\nDate/Long/Month/2: lutego\nDate/Long/Month/3: marca\nDate/Long/Month/4: kwietnia\nDate/Long/Month/5: maja\nDate/Long/Month/6: czerwca\nDate/Long/Month/7: lipca\nDate/Long/Month/8: sierpnia\nDate/Long/Month/9: września\nDate/Long/Month/10: października\nDate/Long/Month/11: listopada\nDate/Long/Month/12: grudnia\nDate/Period/am: rano\nDate/Period/pm: po południu\nDate/Short/Day/0: niedz.\nDate/Short/Day/1: pon.\nDate/Short/Day/2: wt.\nDate/Short/Day/3: śr.\nDate/Short/Day/4: czw.\nDate/Short/Day/5: pt.\nDate/Short/Day/6: sob.\nDate/Short/Month/1: I\nDate/Short/Month/2: II\nDate/Short/Month/3: III\nDate/Short/Month/4: IV\nDate/Short/Month/5: V\nDate/Short/Month/6: VI\nDate/Short/Month/7: VII\nDate/Short/Month/8: VIII\nDate/Short/Month/9: IX\nDate/Short/Month/10: X\nDate/Short/Month/11: XI\nDate/Short/Month/12: XII\nRelativeDate/Future/Days: <<period>> dni od teraz\nRelativeDate/Future/Hours: <<period>> godzin od teraz\nRelativeDate/Future/Minutes: <<period>> minut od teraz\nRelativeDate/Future/Months: <<period>> miesięcy od teraz\nRelativeDate/Future/Second: 1 sekunda od teraz\nRelativeDate/Future/Seconds: <<period>> sekund od teraz\nRelativeDate/Future/Years: <<period>> lat od teraz\nRelativeDate/Past/Days: <<period>> dni temu\nRelativeDate/Past/Hours: <<period>> godzin temu\nRelativeDate/Past/Minutes: <<period>> minut temu\nRelativeDate/Past/Months: <<period>> miesięcy temu\nRelativeDate/Past/Second: 1 sekundę temu\nRelativeDate/Past/Seconds: <<period>> sekund temu\nRelativeDate/Past/Years: <<period>> lat temu\n\n"
  },
  {
    "path": "languages/pl-PL/Docs/ModuleTypes.multids",
    "content": "title: $:/language/Docs/ModuleTypes/\n\nallfilteroperator: Podoperatory dla filtra ''all''.\nanimation: Animacje, których można użyć z RevealWidget.\nauthenticator: Dostępne uwierzytelniania zapytań przez wbudowany serwer HTTP.\nbitmapeditoroperation: Operacje w pasku narzędzi edytora obrazów.\ncommand: Komendy, które można wykonać w Node.js.\nconfig: Dane do dodania do konfiguracji `$tw.config`.\nfilteroperator: Operatory filtrów.\nglobal: Globalne dane do dodania do `$tw`.\ninfo: Publikują informacje systemowe poprzes pseudo-wtyczkę [[$:/temp/info-plugin]].\nisfilteroperator: Argumenty dla operatora filtra ''is''.\nlibrary: Generyczny typ modułu dla modułów robiących inne rzeczy w JavaScripcie.\nmacro: JavaScriptowe definicje makr.\nparser: Parsery (analizatory składniowe) dla róznych typów treści.\nroute: Definiują jak indywidualne wzorce adresów URL są obsługiwane przez wbudowany serwer HTTP.\nsaver: Obsługa różnych metod zapisu plików z poziomu przeglądarki.\nstartup: Funkcje wywoływane przy uruchomieniu.\nstoryview: Zmienają sposób w jaki tiddlery pojawiają się, znikają i zachowują w Story River (widok otwartych tiddlerów)\ntexteditoroperation: Operacja na pasku narzędzi edytora tekstu.\ntiddlerdeserializer: Przetwarzanie róznych typów danych na tiddlery.\ntiddlerfield: Definiuje zachowanie pojedyńczego pola w tiddlerze.\ntiddlermethod: Dodaje funkcję do prototype `$tw.Tiddler`.\nupgrader: Aktualizuje tiddlery podczas aktualizacji wiki/importu.\nutils: Dodaje funkcję do `$tw.utils`.\nutils-browser: Dodaje funkcje dla przeglądarki do `$tw.utils`.\nutils-node: Dodaje funkcje dla Node.js do `$tw.utils`.\nwidget: Widzety obsługują wyświetlanie i aktualizowanie DOM.\nwikimethod: Dodaje funkcje do `$tw.Wiki`.\nwikirule: Indywidualne zasady parsera (analizatora składniowego) do głównego silnika WikiText.\n"
  },
  {
    "path": "languages/pl-PL/Docs/PaletteColours.multids",
    "content": "title: $:/language/Docs/PaletteColours/\n\nalert-background: Tło alertu\nalert-border: Ramka alertu\nalert-highlight: Podświetlenie alertu\nalert-muted-foreground: Stonowany tekst alertu\nbackground: Ogólne tło\nblockquote-bar: Lewa ramka cytatu\nbutton-background: Ogólne tło przycisku\nbutton-border: Ogólna ramka przycisku\nbutton-foreground: Ogólny tekst przycisku\ndirty-indicator: Wskażnik niezapisanych zmian\ncode-background: Tło kodu\ncode-border: Ramka kodu\ncode-foreground: Tekst kodu\ndownload-background: Tło przycisku pobierania\ndownload-foreground: Tekst przycisku pobierania\ndragger-background: Tło przeciąganego tiddlera\ndragger-foreground: Tekst przeciąganego tiddlera\ndropdown-background: Tło rozwijanego elementu\ndropdown-border: Ramka rozwijanego elementu\ndropdown-tab-background-selected: Tło wybranej rowijanej zakładki\ndropdown-tab-background: Tło rozwijanej zakładki\ndropzone-background: Tło komunikatu o wrzucaniu pliku\nexternal-link-background-hover: Tło po najechaniu na zewnętrzny link\nexternal-link-background-visited: Tło odwiedzonego zewnętrznego linku\nexternal-link-background: Tło zewnętrznego linku\nexternal-link-foreground-hover: Tekst po najechaniu na zewnętrzny link\nexternal-link-foreground-visited: Tekst odwiedzonego zewnętrznego linku\nexternal-link-foreground: Tekst zewnętrznego linku\nforeground: Tekst\nmenubar-background: Tło paska menu\nmenubar-foreground: Tekst paska menu\nmessage-background: Tło bloku z wiadomością\nmessage-border: Ramka bloku z wiadomością\nmessage-foreground: Tekst bloku z wiadomością\nmodal-backdrop: Przyciemnieni okna modalnego\nmodal-background: Tło okna modalnego\nmodal-border: Ramka okna modalnego\nmodal-footer-background: Tło stópki okna modalnego\nmodal-footer-border: Ramka stópki okna modalnego\nmodal-header-border: Ramka nagłówka okna modalnego\nmuted-foreground: Ogólny  stonowany tekst\nnotification-background: Tło notyfikacji\nnotification-border: Ramka notyfikacji\npage-background: Tło strony\npre-background: Tło sformatowanego kodu\npre-border: Ramka sformatowanego kodu\nprimary: Ogólny, główny kolor\nselect-tag-background: Tło elementu `<select>`\nselect-tag-foreground: Tekst elementu `<select>`\nsidebar-button-foreground: Kolor przycisku w menu bocznym\nsidebar-controls-foreground-hover: Kolor kontrolki w menu bocznym po najechaniu\nsidebar-controls-foreground: Kolor kontrolki w menu bocznym\nsidebar-foreground-shadow: Cień tekstu w menu bocznym\nsidebar-foreground: Tekst w menu bocznym\nsidebar-muted-foreground-hover: Stonowany tekst w menu bocznym po najechaniu\nsidebar-muted-foreground: Stonowany tekst w menu bocznym\nsidebar-tab-background-selected: Tło wybranej zakładki w menu bocznym\nsidebar-tab-background: Tło zakładki w menu bocznym\nsidebar-tab-border-selected: Ramka wybranej zakładki w menu bocznym\nsidebar-tab-border: Ramka zakładki w menu bocznym\nsidebar-tab-divider: Separator zakładek w menu bocznym\nsidebar-tab-foreground-selected: Tekst wybranej zakładki w menu bocznym\nsidebar-tab-foreground: Tekst zakładki w menu bocznym\nsidebar-tiddler-link-foreground-hover: Tekst po najechaniu linku do tiddlera w menu bocznym\nsidebar-tiddler-link-foreground: Tekst linka do tiddlera w menu bocznym\nstability-stable: Odznaka dla stanu wtyczki \"stabilna\" (stable)\nstability-experimental: Odznaka dla stanu wtyczki \"eksperymentalna\" (experimental)\nstability-deprecated: Odznaka dla stanu wtyczki \"wycofana\" (deprecated)\nstability-legacy: Odznaka dla stanu wtyczki \"stara\" (legacy)\ntestcase-accent-level-1: Akcent kolorystyczny niezagnieżdzonego przypadku testowego\ntestcase-accent-level-2: Akcent kolorystyczny pojedynczo zagnieżdzonego przypadku testowego\ntestcase-accent-level-3: Akcent kolorystyczny podwójnie zagnieżdzonego przypadku testowego\nsite-title-foreground: Tekst nazwy strony\nstatic-alert-foreground: Tekst statycznego alertu\ntab-background-selected: Tło wybranej zakładki\ntab-background: Tło zakładki\ntab-border-selected: Ramka wybranej zakładki\ntab-border: Ramka zakłądki\ntab-divider: Separator zakładek\ntab-foreground-selected: Tekst wybranej zakładki\ntab-foreground: Tekst zakładki\ntable-border: Ramka tabeli\ntable-footer-background: Tło stópki tabeli\ntable-header-background: Tło nagłówka tabeli\ntag-background: Tło tabeli\ntag-foreground: Tekst tabeli\ntiddler-background: Tło tiddlera\ntiddler-border: Ramka tiddlera\ntiddler-controls-foreground-hover: Tekst kontrolek tiddlera po najechaniu\ntiddler-controls-foreground-selected: Tekst wybranej kontrolki tiddlera\ntiddler-controls-foreground: Tekst kontrolki tiddlera\ntiddler-editor-background: Tło edytora tiddlera\ntiddler-editor-border-image: Ramka obrazka w edytorze tiddlera\ntiddler-editor-border: Ramka editora tiddlera\ntiddler-editor-fields-even: Tło parzystego pola w edytorze tiddlera\ntiddler-editor-fields-odd: Tło nieparzystego pola w edytorze tiddlera\ntiddler-info-background: Tło panelu info tiddlera\ntiddler-info-border: Ramka panelu info tiddlera\ntiddler-info-tab-background: Tło zakładki panelu info tiddlera\ntiddler-link-background: Tło linka tiddlera\ntiddler-link-foreground: Tekst linka tiddlera\ntiddler-subtitle-foreground: Tekst podtytułu tiddlera\ntiddler-title-foreground: Tekst nazwy tiddlera\ntoolbar-new-button: Tekst przycisku 'nowy tiddler' w pasku narzędzi\ntoolbar-options-button: Tekst przycisku 'opcje' w pasku narzędzi\ntoolbar-save-button: Tekst przycisku 'zapisz' w pasku narzędzi\ntoolbar-info-button: Tekst przycisku 'info' w pasku narzędzi\ntoolbar-edit-button: Tekst przycisku 'edytuj' w pasku narzędzi\ntoolbar-close-button: Tekst przycisku 'zamknij' w pasku narzędzi\ntoolbar-delete-button: Tekst przycisku 'usuń' w pasku narzędzi\ntoolbar-cancel-button: Tekst przycisku 'anuluj' w pasku narzędzi\ntoolbar-done-button: Tekst przycisku 'zakończ' w pasku narzędzi\nuntagged-background: Tło taga \"nieotagowane\"\nvery-muted-foreground: Bardzo stonowany tekst"
  },
  {
    "path": "languages/pl-PL/EditTemplate.multids",
    "content": "title: $:/language/EditTemplate/\n\nCaption: Edytor\nBody/External/Hint: Ten tiddler zawiera treść trzymaną poza głównym plikiem TiddlyWIki. Możesz edytować tagi i pola, ale nie możesz bezpośrednio edytować jego treści.\nBody/Placeholder: Wpisz treść tiddlera\nBody/Preview/Type/Output: rezultat\nBody/Preview/Type/DiffShadow: różnice z cieniem (jeżeli są)\nBody/Preview/Type/DiffCurrent: róznice z obecnym\nField/Remove/Caption: usuń pole\nField/Remove/Hint: Usuń pole\nField/Dropdown/Caption: lista pól\nField/Dropdown/Hint: Pokaż listę pól\nFields/Add/Button: dodaj\nFields/Add/Button/Hint: Dodaj nowe pole do tiddlera\nFields/Add/Name/Placeholder: nazwa pola\nFields/Add/Prompt: Dodaj nowe pole:\nFields/Add/Value/Placeholder: wartość pola\nFields/Add/Dropdown/System: Pola systemowe\nFields/Add/Dropdown/User: Pola własne\nShadow/Warning: To jest tiddler-cień. Wszelkie zmiany jakich tu dokonasz nadpiszą domyślną wersję z wtyczki <<pluginLink>>\nShadow/OverriddenWarning: To jest zmodyfikowany tiddler-cień. Usuń go, by przywrócić oryginalną wersję z pluginu <<pluginLink>>\nTags/Add/Button: dodaj\nTags/Add/Button/Hint: dodaj tag\nTags/Add/Placeholder: nazwa taga\nTags/ClearInput/Caption: wyczyść\nTags/ClearInput/Hint: Wyczyść tagi\nTags/Dropdown/Caption: lista tagów\nTags/Dropdown/Hint: Pokaż listę tagów\nTags/EmptyMessage: (brak wyników)\nTitle/BadCharacterWarning: Uwaga: unikaj używania któregokolwiek z tych znaków w nazwach tiddlerów: <<bad-chars>>\nTitle/Exists/Prompt: Docelowy tiddler już istnieje\nTitle/Relink/Prompt: Zaktualizuj ''<$text text=<<fromTitle>>/>'' na ''<$text text=<<toTitle>>/>'' w //tagach// i //listach// pól innych tiddlerów\nTitle/References/Prompt: Poniższe odniesienia do tego tiddlera nie zostały automatycznie zaktualizowane\nType/Dropdown/Caption: lista typów treści\nType/Dropdown/Hint: Wyswietla liste typów treści\nType/Delete/Caption: usuń typ treści\nType/Delete/Hint: Usuwa typ treści\nType/Placeholder: typ treści\nType/Prompt: Typ:\n\n"
  },
  {
    "path": "languages/pl-PL/Exporters.multids",
    "content": "title: $:/language/Exporters/\n\nStaticRiver: Statyczny HTML\nJsonFile: Plik JSON\nCsvFile: Plik CSV\nTidFile: Plik tekstowy TID\n\n"
  },
  {
    "path": "languages/pl-PL/Fields.multids",
    "content": "title: $:/language/Docs/Fields/\n\n_canonical_uri: Pełny adres URL do zewnętrznego obrazu\nauthor: Imię autora wtyczki\nbag: Nazwa worka, z ktorego pochodzi tiddler\ncaption: Tekst wyświetlany na zakładce lub przycisku\nclass: Klasa CSSa dodana do tiddlera podczas wyświetlania. Używane również w oknach modalnych\ncode-body: Ustawienie wartości na ''tak'' spowoduje wyświetlanie tiddlera jako kod\ncolor: Wartość koloru CSS powiążanego z tym tiddlerem\ncomponent: Nazwa komponentu odpowiedzialnego za [[alert|AlertMechanism]]\ncore-version: Wersja TiddlyWiki która jest wspierana przez wtyczkę\ncurrent-tiddler: Używane by zapamiętać ostatniego tiddlera w [[liście historii|HistoryMechanism]]\ncreated: Data kiedy utworzono tiddlera\ncreator: Imię twórcy tiddlera\ndependents: Dla wtyczki, lista nazw zależnych wtyczek\ndescription: Opis wtyczki lub okna modalnego\ndraft.of: Dla szkicy, zawiera nazwę tiddlera którego jest szkicem\ndraft.title: Dla szkicy, zawiera proponowaną nową nazwę\nfooter: Teskt stópki okna modalnego\nhide-body: Ustawienie wartości na ''tak'' ukryje treść tiddlera\nicon: Nazwa tiddlera zawierającego ikonę, która ma być powiązana z tym tiddlerem\nlibrary: Ustawienie wartości na ''tak'' oznacza, że tiddler ma być zapisany jako biblioteka JavaScriptu\nlist: Posortowana lista nazw tiddlerów powiązanych z tym tiddlerem\nlist-before: Jeżeli ustawione, nazwa tiddlera przed którym ten tiddler będzie dodany w sortowanej liście nazw tiddlerów; lub na początku listy jeżeli pole jest obecne ale puste\nlist-after: Jeżeli ustawione, nazwa tiddlera po którym ten tiddler będzie dodany w sortowanej liście nazw tiddlerów; lub na końcu listy jeżeli pole jest obecne ale puste\nmodified: Czas i data ostatniej modyfikacji\nmodifier: Tytuł tiddlera powiązanego z osobą, która ostatnio modyfikowała tego tiddlera\nmodule-type: Rodzaj modułu używany przez wtyczki napisane w javascripcie\nname: Czytelna nazwa powiązana z tiddlerem wtyczki\nparent-plugin: Określa nadrzędną wtyczkę\nplugin-priority: Numeryczna wartość określająca tiddlera wtyczki\nplugin-type: Typ tiddlera wtyczki\nstability: Stan rozwoju wtyczki: wycofany, eksperymentalny, stabilny, stary\nrevision: Numer rewizji tiddlera przechowywany na serwerze\nreleased: Data wydania TiddlyWiki\nsource: URL źródłowy powiązany z tiddlerem\nsubtitle: Podtytuł okna modalnego\ntags: Lista tagów powiązana z tym tiddlerem\ntext: Treść tiddlera\nthrottle.refresh: Jezeli ustawione, ustala opóźnienie odświeżania tiddlera\ntitle: Unikatowa nazwa tiddlera\ntoc-link: Powoduje, że spisie treści ten tiddler nie będzie podlinkowany (ale dalej bedzie obecny)\ntype: Typ treści tiddlera\nversion: Informacja o wersji wtyczki\n_is_skinny: Jeżeli obecne, oznacza, że treść tego tiddlera musi być wczytana z serwera\n"
  },
  {
    "path": "languages/pl-PL/Filters.multids",
    "content": "title: $:/language/Filters/\n\nAllTiddlers: Wszystkie tiddlery poza systemowymi\nRecentSystemTiddlers: Ostatnio modyfikowane tiddlery, wliczając systemowe\nRecentTiddlers: Ostatnio modyfikowane tiddlery\nAllTags: Wszystkie tagi poza systemowymi\nMissing: Brakujące tiddlery\nDrafts: Szkice tiddlerów\nOrphans: Tiddlery bez rodzica\nSystemTiddlers: Systemowe tiddlery\nShadowTiddlers: Tiddlery-cienie\nOverriddenShadowTiddlers: Nadpisane tiddlery-cienie\nSessionTiddlers: Tiddlery zmodyfikowane od wczytania wiki\nSystemTags: Tagi systemowe\nStoryList: Tiddlery w Story River, wyłączając <$text text=\"$:/AdvancedSearch\"/>\nTypedTiddlers: Tiddlery o typie innym niż wikitext\n"
  },
  {
    "path": "languages/pl-PL/GettingStarted.tid",
    "content": "title: Na Dobry Początek\n\n\\define lingo-base() $:/language/ControlPanel/Basics/\nWitaj w ~TiddlyWiki oraz jej społeczności\n\nZanim zaczniesz zapisywać ważne informacje w swojej ~TiddlyWiki ważne jest, żeby mieć niezawodny sposób by zapisywać zmiany. Przejdź do https://tiddlywiki.com/#GettingStarted by otrzymać więcej informacji\n\n!! Skonfiguruj tą ~TiddlyWiki\n\n<div class=\"tc-control-panel\">\n\n|tc-table-no-border tc-first-col-min-width tc-first-link-nowrap|k\n| <$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link>|<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n| <$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link>|<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|^ <$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link><br><<lingo DefaultTiddlers/TopHint>>|<$edit tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\nPrzejdź do [[panelu sterowania|$:/ControlPanel]] by zmienić pozostałe opcje.\n"
  },
  {
    "path": "languages/pl-PL/Help/build.tid",
    "content": "title: $:/language/Help/build\ndescription: Automatycznie uruchom skonfigurowane komendy\n\nZbuduj wybrane 'build targets' dla aktualnej wiki. Jeżeli nie podasz żadnych 'build targets' komenda zbuduje je wszystkie\nBuild the specified build targets for the current wiki. If no build targets are specified then all available targets will be built.\n\n```\n--build <target> [<target> ...]\n```\n\n'Build targets' są zdefiniowane w pliku `tiddlywiki.info` w folderze gdzie znajduje się wiki.\n\n"
  },
  {
    "path": "languages/pl-PL/Help/clearpassword.tid",
    "content": "title: $:/language/Help/clearpassword\ndescription: Usuwa hasło dla kolejnych operacji crypto\n\nUsuwa hasło dla kolejnych operacji crypto\n\n```\n--clearpassword\n```\n"
  },
  {
    "path": "languages/pl-PL/Help/commands.tid",
    "content": "title: $:/language/Help/commands\ndescription: Uruchom komendy zwrócone przez filtr\n\nUruchamia komendy zwrócone przez filtr.\n\n```\n--commands <filter>\n```\n\nDla przykładu:\n\n```\n--commands \"[enlist:raw{$:/build-commands-as-text}]\"\n```\n\n```\n--commands \"[{$:/build-commands-as-json}jsonindexes[]] :map[{$:/build-commands-as-json}jsonget<currentTiddler>]\"\n```\n"
  },
  {
    "path": "languages/pl-PL/Help/default.tid",
    "content": "title: $:/language/Help/default\n\n\\define commandTitle()\n$:/language/Help/$(command)$\n\\end\n\\whitespace trim\n```\nużycie: tiddlywiki [<wikifolder>] [--<command> [<args>...]...]\n```\n\nDostępne komendy:\n\n<ul>\n<$list filter=\"[commands[]sort[title]]\" variable=\"command\">\n<li><$link to=<<commandTitle>>><$macrocall $name=\"command\" $type=\"text/plain\" $output=\"text/plain\"/></$link>:\n&#32;\n<$transclude tiddler=<<commandTitle>> field=\"description\"/></li>\n</$list>\n</ul>\n\nBy otrzymać szczegółowy opis komendy:\n\n```\ntiddlywiki --help <command>\n```\n"
  },
  {
    "path": "languages/pl-PL/Help/deletetiddlers.tid",
    "content": "title: $:/language/Help/deletetiddlers\ndescription: Usuwa grupę tiddlerów\n\n<<.from-version \"5.1.20\">> Usuwa grupę tiddlerów wedle podanego filtra.\n\n```\n--deletetiddlers <filter>\n```\n"
  },
  {
    "path": "languages/pl-PL/Help/editions.tid",
    "content": "title: $:/language/Help/editions\ndescription: Wyświetla listę wszystkich dostępnych wydań TiddlyWiki\n\nWyświetla nazwy i opisy wszystkich dostępnych wydań. Możesz utworzyć nową wiki w wybranej wersji przy pomocy komend `--init`.\n\n```\n--editions\n```\n"
  },
  {
    "path": "languages/pl-PL/Help/fetch.tid",
    "content": "title: $:/language/Help/fetch\ndescription: Pobierz tiddlery z wiki po URLu\n\nPobierze jeden lub wiecej plików przez internet i zaimportuj tiddlery pasujące do filtra, opcjonalnie zmieniając ich nazwy.\n\n```\n--fetch file <url> <import-filter> <transform-filter>\n--fetch files <url-filter> <import-filter> <transform-filter>\n--fetch raw-file <url> <transform-filter>\n--fetch raw-files <url-filter> <transform-filter>\n```\n\n\"file\" i \"files\" pobierają wybrane pliki i próbuję zaimportować zawarte w nich tiddlery (w ten sam sposób jakby pliki zostały przeciągnięte do okna przeglądarki).  \"raw-file\" i \"raw-files\" pobierają pliki i zapisują je jako surowe dane w tiddlerach, bez dokonywania zmian.\n\n\n\"file\" i \"raw-file\" pobierają tylko jeden plik i pierwszy argument to URL do tego pliku.\n\n\n\"files\" i \"raw-files\" pobierają wiele plików i pierwszy argument to filtr, który będzie uruchomiony by wygenerowac listę adresów i pobrać z nich pliki. Dla przykładu, jeżeli masz kilka tiddlerów otagowanych jako \"remote-server\" i każdy ma pole \"url\", filtre `[tag[remote-server]get[url]]` pobierze wszystkie URLe w nich zawarte.\n\nDla \"file\" i \"files\", argument `<import-filter>` określa filtr, który ograniczy które tiddlery zaimportować. Domyślnie jest to `[all[tiddlers]]`.\n\nAegument `<transform-filter>` określa opcjonalny filtr, który zmieni nazw zaimportowanych tiddlerów. Dla przykładu, `[addprefix[$:/myimports/]]` doda przedrostek `$:/myimports/` do każdej nazwy.\n\nJeżeli przed komendą `--fetch` dodasz komendę `--verbose`, to komenda wypisze dodatkowe informacje w czasie importu.\n\nUwaga: TiddlyWiki nie pobierze starszej wersji już wczytanej wtyczki.\n\nPoniższy przykład pobierze wszystkie niesystemowe wtyczki z https://tiddlywiki.com i zapisze je w pliku JSON:\n\n```\ntiddlywiki --verbose --fetch file \"https://tiddlywiki.com/\" \"[!is[system]]\" \"\" --rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[!is[system]]\"\n```\n\nPoniższy przykład pobierze plik \"favicon\" z tiddlywiki.com i zapisze go w pliku \"output.com\". Zwróc uwagę, że pośredni tiddler \"Icon Tiddler\" jest w nawiasach w komendzie \"--fetch\", ponieważ jest użyty jako filtr by nadpisać domyślny tytuł, podczas gdy przy komendzie \"--savetiddler\" nie ma nawiasów gdyż tam jest użyty bezposrednio jako tytuł\n\n```\ntiddlywiki --verbose --fetch raw-file \"https://tiddlywiki.com/favicon.ico\" \"[[Icon Tiddler]]\" --savetiddler \"Icon Tiddler\" output.ico\n```\n\n"
  },
  {
    "path": "languages/pl-PL/Help/help.tid",
    "content": "title: $:/language/Help/help\ndescription: Wyświetl dodatkowe informacje o komendzie\n\nWyświetla dodatkowe informacje o komendzie:\n\n```\n--help [<command>]\n```\n\nJeżeli nie podasz nazwa komendy, wyświetli listę wszystkich dostępnych komend.\n"
  },
  {
    "path": "languages/pl-PL/Help/import.tid",
    "content": "title: $:/language/Help/import\ndescription: Zaimportuj tiddlery z pliku\n\nImportuje tidlerry z TiddlyWiki (`.html`), `.tiddler`, `.tid`, `.json` lub innych lokalnych plików. Deserializator musi być podany, w przeciwieństwie do komendy `--load`, która sama próbuje określic typ danych na podstawie rozszerzenia pliku.\n\n```\n--import <filepath> <deserializer> [<title>] [<encoding>]\n```\n\nWbudowane deserializatory to:\n\n* application/javascript\n* application/json\n* application/x-tiddler\n* application/x-tiddler-html-div\n* application/x-tiddlers\n* text/html\n* text/plain\n\nTytuł importowanego tiddlera to domyślnie nazwa pliku.\n\nKodowanie pliku to domyśłnie \"utf8\", ale może być też \"base64\" dla plików binarnych.\n\nZwróc uwagę, że TiddlyWiki nie zaimportuje starszych wersji już wczytanych wtyczek.\n"
  },
  {
    "path": "languages/pl-PL/Help/init.tid",
    "content": "title: $:/language/Help/init\ndescription: Zainicjalizuj nowy WikiFolder\n\nInicjalizuje nowy, pusty [[WikiFolder|WikiFolders]] z kopią wybranego wydania.\n\n```\n--init <edition> [<edition> ...]\n```\n\nDla przykładu:\n\n```\ntiddlywiki ./MyWikiFolder --init empty\n```\n\nUwagi:\n\n* Folder zostanie utworzony jeżeli jeszcze nie istnieje\n* \"edition\" ma domyślną wartość ''empty''\n* Komenda się nie powiedzie, jeżeli folder nie jest pusty\n* Komenda usuwa wszelkie definicje `includeWiki` z okujy `tiddlywiki.info`\n* Gdy podasz kilka edycji, edycje wpisane później nadpiszą pliku ze starszych edycji. Na przykład `tiddlywiki.info` zostanie wzięty z ostatniej wybranej edycji\n* `--editions` bez argumentów zwraca listę dostępnych edycji\n"
  },
  {
    "path": "languages/pl-PL/Help/listen.tid",
    "content": "title: $:/language/Help/listen\ndescription: Tworzy serwer HTTP udostępniający TiddlyWiki\n\nSerwuje wiki po HTTP.\n\nKomenda ta przyjmuje argumenty jako pary `nazwa=wartość`:\n\n```\n--listen [<name>=<value>]...\n```\n\nWszystkie argumenty są opcjonalne z bezpiecznymi wartościami domyślnimi i mogą być podane w jakiejkolwiek kolejności. Dostępne argumenty to:\n\n* ''host'' - opcjonalna nazwa hosta (domyślnie to \"127.0.0.1\", czyli \"localhost\")\n* ''path-prefix'' - opcjonalny przedrostek dodawany do ścieżek\n* ''port'' - port na którym nasłuchuje serwer; nie-numeryczne wartości sa interpretowane jakby to były zmienne środowiskowe z których należy pobrać numer portu (domyślnie to \"8080\")\n* ''credentials'' - ścieżka do pliku CSV z hasłami (relatywnie do folderu wiki)\n* ''anon-username'' - nazwa użytkownika do podispywania zmian dla anonimowych użytkowników\n* ''username'' - opcjonalna nazwa użytkownika do autoryzacji basic\n* ''password'' - opcjonalne hasło do autoryzacji basic\n* ''authenticated-user-header'' - opcjonalna nazwa nagłówka używanego do autentykacji\n* ''readers'' - lista po przecinku osób, które mogą odczytywać wiki\n* ''writers'' - lista po przecinku osób, które mogą edytować wiki\n* ''csrf-disable'' - ustaw na \"yes\" by wyłaczyć CSRF (domyślnie to \"no\")\n* ''root-tiddler'' - tiddler, który będzie stroną główną (domyślnie to \"$:/core/save/all\")\n* ''root-render-type'' - typ treści w którym główny tiddler bedzie wyświetlony (domyślnie to \"text/plain\")\n* ''root-serve-type'' - typ treści w którym główny tiddler ma być wysłany (domyślnie to \"text/html\")\n* ''tls-cert'' - ścieżka do certyfikatu TLS (relatywnie do folderu wiki)\n* ''tls-key'' - ścieżka do klucza TLS (relatywnie do folderu wiki)\n* ''debug-level'' - opcjonalny poziom logowania; ustaw na \"debug\" by wyświetlać zapytania (domyślnie to \"none\")\n* ''gzip'' - ustaw na \"yes\" by właczyć kompresję gzip dla niektórych zapytań http (domyślnie to \"no\")\n* ''use-browser-cache'' - ustaw na \"yes\" by pozwolić przeglądarce trzymać odpowiedzi serwera w historii, by zmniejszyć obciązenie (domyślnie to \"no\")\n\nBy zdobyć informacje o tym jak udostępnić swoją lokalną wiki dla całej lokalnej sieci oraz wynikające z tego problemy bezpieczeństwa, przeczytaj sekcję WebServer tiddler na TiddlyWiki.com.\n\n"
  },
  {
    "path": "languages/pl-PL/Help/load.tid",
    "content": "title: $:/language/Help/load\ndescription: Wczytaj tiddlery z pliku\n\nWczytuje tiddlery z TiddlyWiki (`.html`), `.tiddler`, `.tid`, `.json` lub innych plików lokalnych. Deserializator jest automatycznie ustalany na podstawie rozszerzenia. Użyj komendy `import` jeżeli chcesz ręcznie wybrać deserializator.\n\n```\n--load <filepath> [noerror]\n--load <dirpath> [noerror]\n```\n\nDomyślne komenda ta zwraca błąd, jeżeli nie znajdzie tiddlera. Bład może zostać ukryty przy użyciu argumentu \"noerror\".\n\nBy wczytać tiddlery z zaszyfrowanego pliku TiddlyWiki musisz najpierw podać hasło przy pomocy PasswordCommand. Dla przykładu:\n\n```\ntiddlywiki ./MyWiki --password pa55w0rd --load my_encrypted_wiki.html\n```\n\nZwróc uwagę, że TiddlyWiki nie wczyta starszych wersji już wczytanych wtyczek.\n"
  },
  {
    "path": "languages/pl-PL/Help/makelibrary.tid",
    "content": "title: $:/language/Help/makelibrary\ndescription: Tworzy wtyczkę podtrzebną do aktualizacji\n\nTworzy tiddler `$:/UpgradeLibrary` do aktualizacji.\n\nWtyczka aktualizacji ma identyczny format jak wtyczka tiddlera o typie `library`. Zawiera kopię każdej wtyczki, motywi i paczki jezykowej dostępnej wewnątrz repozytorium TiddlyWiki5.\n\nTa komenda jest na użytek wewnętrzny; może też być przydatna dla osób robiących własne paczki aktualizacyjne.\n\n```\n--makelibrary <title>\n```\n\nDomyślna wartość \"title\" to `$:/UpgradeLibrary`.\n"
  },
  {
    "path": "languages/pl-PL/Help/notfound.tid",
    "content": "title: $:/language/Help/notfound\n\nNie znaleziono informacji\n"
  },
  {
    "path": "languages/pl-PL/Help/output.tid",
    "content": "title: $:/language/Help/output\ndescription: Ustaw folder wyjściowy dla kolejnych komend\n\nUstawia folder wyjściowy (gdzie będą zapisywane pliki) dla kolejnych komend. Domyślny folder to podfolder `output` w obecnej lokalizacji\n\n```\n--output <pathname>\n```\n\nJeżeli podana ścieżka jest względna, to użyje obecnie wybranego folderu jako bazy. Na przykład `--output .` ustawi folder wyhściowy na obecny folder.\n\n"
  },
  {
    "path": "languages/pl-PL/Help/password.tid",
    "content": "title: $:/language/Help/password\ndescription: Ustawia hasło dla kolejnych komend szyfrujących\n\nUstawia hasło dla kolejnych komend szyfrujących\n\n```\n--password <password>\n```\n\n''Uwaga'': Nie używaj tego by ukryć dostęp wiki za hasłem. Zamiast tego ustaw hasło w [[ServerCommand]].\n"
  },
  {
    "path": "languages/pl-PL/Help/render.tid",
    "content": "title: $:/language/Help/render\ndescription: Renderuje pojedyncze tiddlery do plików\n\nRenderuje pojedyncze tiddlery po filtrze i zapisuje wyniki do plików.\n\nOpcjonalnie można też podać nazwę szablonowego tiddlera. W tym przypadku zamiast bezpośrednio renderować każdego tiddlera, nazwa każdego pliku zostanie po kolei przekazana do szablonu w zmiennej \"currentTiddler\" i wyrenderowana.\n\nNazwy i wartości dodatkowych zmiennych mogą być też podane.\n\n```\n--render <tiddler-filter> [<filename-filter>] [<render-type>] [<template>] [ [<name>] [<value>] ]*\n```\n\n* ''tiddler-filter'': Filtr określający tiddlery, które mają być wyrenderowane\n* ''filename-filter'': Opcjonalny filtr zmieniający nazwy plików. Domyślnie to `[is[tiddler]addsuffix[.html]]`, który używa nazwy tiddleru jako pliku.\n* ''render-type'': Opcjonalny typ renderowania: `text/html` (domyślny) zwraca kod HTML a `text/plain` samą treść z pominięciem tagów HTML i innych nietekstowych treści\n* ''template'': Opcjonalny szablon\n* ''name'': Nazwy zmiennych\n* ''value'': Wartości zmiennych\n\nDomyślnie pliki są zapisywane w folderze `./output`, relatywnych do folderu z wiki. Komenda `--output` może być użyta by zmienić ścieżkę.\n\nNotatki:\n\n* Żadne pliki nie są usuwane z folderu wyjściowego.\n* Wszelkie brakujące foldery zostaną automatycznie utworzone.\n* Jeżeli chcesz użyć tiddlera, który w nazwie ma spacje pamiętaj, by otoczyć go nawiasami kwadratowymi i cudzysłowiem: `--render \"[[Motovun Jack.jpg]]\"`\n* Do ''filename-filter'' przekazywana jest nazwa obecnie renderowanego tiddlera, tak by można było jej użyć do określenia ścieżki. Na przykład `[encodeuricomponent[]addprefix[static/]]` koduje znaki URI w każdej nazwie, po czym dodaje przedrostek `static/`.\n* Możesz podać kilka zmiennych powtarzając pary ''name''/''value''\n* Komenda `--render` jest bardziej elastyczna niż `--rendertiddler` i `--rendertiddlers`, które są obecnie eliminowane\n\nPrzykłady:\n\n* `--render '[!is[system]]' '[encodeuricomponent[]addprefix[tiddlers/]addsuffix[.html]]'` -- renderuje wszystkie niesystemowe tiddlery jako pliki w podfolderze \"tiddlers\", kodując znaki URI w nazwie i dodając rozszerzenie .html\n* `--render '.' 'tiddlers.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' '[tag[HelloThere]]'` -- renderuje wszystkie tiddlery z tagiem \"HelloThere\" do pliku JSON o nazwie \"tiddlers.json\"\n"
  },
  {
    "path": "languages/pl-PL/Help/rendertiddler.tid",
    "content": "title: $:/language/Help/rendertiddler\ndescription: Renderuje pojedynczego tiddlera do wybranego typu\n\n(Uwaga: zalecamy użycie komendy `--render`, która jest dużo bardziej elastyczna i dalej wspierana)\n\nRenderuje pojedynczego tiddlera do wybranego typu treści (domyślnie to `text/html`) i zapisuje go do pliku.\n\nOpcjonalnie można też podać nazwę szablonowego tiddlera. W tym przypadku zamiast bezpośrednio renderować każdego tiddlera, nazwa każdego pliku zostanie po kolei przekazana do szablonu w zmiennej \"currentTiddler\" i wyrenderowana.\n\nNazwy i wartości dodatkowych zmiennych mogą być też podane.\n\n```\n--rendertiddler <title> <filename> [<type>] [<template>] [<name>] [<value>]\n```\n\nDomyślnie pliki są zapisywane w folderze `./output`, relatywnym do folderu z wiki. Komenda `--output` może być użyta by zmienić ścieżkę.\n\nWszelkie brakujące foldery zostaną automatycznie utworzone.\n\nNa przykład, poniższa komenda zapisze wszystkie tiddlery pasujące do filtra `[tag[done]]` do pliku JSON o nazwie `output.json`, używając templatki  `$:/core/templates/exporters/JsonFile`.\n\n```\n--rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[tag[done]]\"\n```\n"
  },
  {
    "path": "languages/pl-PL/Help/rendertiddlers.tid",
    "content": "title: $:/language/Help/rendertiddlers\ndescription: Renderuje serię tiddlerów do wybranego typu\n\n(Uwaga: zalecamy użycie komendy `--render`, która jest dużo bardziej elastyczna i dalej wspierana)\n\nRenderuje serię tiddlerów do wybranego typu treści (domyślnie to `text/html`) i zapisuje je do pliku.\n\n```\n--rendertiddlers '<filter>' <template> <pathname> [<type>] [<extension>] [\"noclean\"]\n```\n\nNa przykład:\n\n```\n--rendertiddlers '[!is[system]]' $:/core/templates/static.tiddler.html ./static text/plain\n```\n\nDomyślnie pliki są zapisywane w folderze `./output`, relatywnym do folderu z wiki. Komenda `--output` może być użyta by zmienić ścieżkę.\n\nWszystkie pliki w docelowym folderze zostaną usunięte, chyba że zostanie użyty argument ''noclean''. Wszelkie brakujące foldery zostaną automatycznie utworzone.\n"
  },
  {
    "path": "languages/pl-PL/Help/save.tid",
    "content": "title: $:/language/Help/save\ndescription: Zapisuje surowe tiddlery do plików\n\nZapisuje indywidualne tiddlery bazująć na podanym filtrze w ich surowej lub binarnej formie do podanych plików.\n\n```\n--save <tiddler-filter> <filename-filter>\n```\n\n* ''tiddler-filter'': Filtr określający które tiddlery mają być zapisane\n* ''filename-filter'': Opcjonalny filtr konwertujący nazwy tiddlerów do ścieżek. Domyślnie jest to `[is[tiddler]]`, który używa niezmienionej nazwy tiddlera jako nazwy pliku.\n\nDomyślnie pliki są zapisywane w folderze `./output`, relatywnym do folderu z wiki. Komenda `--output` może być użyta by zmienić ścieżkę.\n\nNotatki:\n\n* Pliki NIE SĄ usuwane z folderu docelowego\n* Wszelkie brakujące foldery zostaną automatycznie utworzone.\n* Jeżeli chcesz użyć tiddlera, który w nazwie ma spacje pamiętaj, by otoczyć go nawiasami kwadratowymi i cudzysłowiem: `--save \"[[Motovun Jack.jpg]]\"`\n* Do ''filename-filter'' przekazywana jest nazwa obecnie renderowanego tiddlera, tak by można było jej użyć do określenia ścieżki. Na przykład `[encodeuricomponent[]addprefix[static/]]` koduje znaki URI w każdej nazwie, po czym dodaje przedrostek `static/`.\n* Komenda `--save` jest bardziej elastyczna niż `--savetiddler` i `--savetiddlers`, które są obecnie eliminowane\n\nPrzykłady:\n\n* `--save \"[!is[system]is[image]]\" \"[encodeuricomponent[]addprefix[tiddlers/]]\"` -- zapisuje wszystkie niesystemowe tiddlery obrazów jako pliki w podfolderze \"tiddlers\" z URI enkodowanymi nazwami.\n"
  },
  {
    "path": "languages/pl-PL/Help/savetiddler.tid",
    "content": "title: $:/language/Help/savetiddler\ndescription: Saves a raw tiddler to a file\n\n(Uwaga: zalecamy użycie komendy `--save`, która jest dużo bardziej elastyczna i dalej wspierana)\n\nZapisuje pojedynczego tiddlera jako surowy tekst lub dane binarne w wybranej ścieżce.\n\n```\n--savetiddler <title> <filename>\n```\n\nDomyślnie ścieżka do zapisu jest relatywna do folderu `output` w folderze wiki. Komenda `--output` może być użyta by wybrać inny folder wyjściowy.\n\nBrakujące foldery w ścieżce zostają automatycznie utworzone.\n"
  },
  {
    "path": "languages/pl-PL/Help/savetiddlers.tid",
    "content": "title: $:/language/Help/savetiddlers\ndescription: Zapisuje tiddlery do folderu\n\n(Uwaga: zalecamy użycie komendy `--save`, która jest dużo bardziej elastyczna i dalej wspierana)\n\nZapisuje grupę tiddlerów jako surowy tekst lub dane binarne w wybranym folderze.\n\n```\n--savetiddlers <filter> <pathname> [\"noclean\"]\n```\n\nDomyślnie ścieżka do zapisu jest relatywna do folderu `output` w folderze wiki. Komenda `--output` może być użyta by wybrać inny folder wyjściowy.\n\nWszystkie pliki z folderu wyjściowego są usuwane przed rozpocząciem zapisu. Można użyć argumentu ''noclean'' by tego nie robić.\n\nBrakujące foldery w ścieżce zostają automatycznie utworzone.\n"
  },
  {
    "path": "languages/pl-PL/Help/savewikifolder.tid",
    "content": "title: $:/language/Help/savewikifolder\ndescription: Zapisuje wiki do nowego folderu\n\n<<.from-version \"5.1.20\">> Zapisuje obecną wiki do nowego folderu wliczając tiddlery, wtyczki i konfigurację:\n\n```\n--savewikifolder <wikifolderpath> [<filter>] [ [<name>=<value>] ]\n```\n\n* Docelowy folder musi być pusty lub nie istnieć\n* Argument `filter` określa które tiddlery będą skopiowane, domyślnie to `[all[tiddlers]]`\n* Wtyczki z oficjalnej biblioteki wtyczek są zamieniane na odnośniki do tych wtyczek w pliku `tiddlywiki.info`\n* Własne wtyczki zostają wypakowane do osobnych folderów\n\nWspierane argumenty:\n\n* ''filter'': wyrażenie filtra określające które tiddlery mają być uwzględnione w zapisanej wiki\n* ''explodePlugins'': domyślna wartość to `yes`:\n** `yes` rozdzieli wtyczki na osobne pliki tiddlerów i zapisze je do podfolderu z wtyczkami\n** `no` każda wtyczka będzie zapisana jako jeden zbiorczy plik w formacie JSON w folderze z tiddlerami\n\nObie wartości dla `explodePlugins` stworzą taką samą wiki. Różnica będzie jedynie w sposobie rozlokowania wtyczek.\n\nTypowe zastosowanie to konwersja pliku TiddlyWiki w formie pliku HTML do formatu folderu:\n\n```\ntiddlywiki --load ./mojawiki.html --savewikifolder ./folderwiki\n```\n\nZapisanie wtyczek jako zwykłych tiddlerów:\n\n```\ntiddlywiki --load ./mojawiki.html --savewikifolder ./folderwiki explodePlugins=no\n```\n"
  },
  {
    "path": "languages/pl-PL/Help/server.tid",
    "content": "title: $:/language/Help/server\ndescription: (nieaktualne: patrz komenda 'listen') Tworzy serwer HTTP wystawiający TiddlyWiki (zalecamy użycie komendy \"--listen\" zamiast tej)\n\nDawna komenda do stawiania serwera wystawiającego wiki.\n\n```\n--server <port> <root-tiddler> <root-render-type> <root-serve-type> <username> <password> <host> <path-prefix> <debug-level>\n```\n\nThe parameters are:\n\n* ''port'' - port na którym nasłuchuje serwer; nie-numeryczne wartości sa interpretowane jakby to były zmienne środowiskowe z których należy pobrać numer portu (domyślnie to \"8080\")\n* ''root-tiddler'' - tiddler, który będzie stroną główną (domyślnie to \"$:/core/save/all\")\n* ''root-render-type'' - typ treści w którym główny tiddler bedzie wyświetlony (domyślnie to \"text/plain\")\n* ''root-serve-type'' - typ treści w którym główny tiddler ma być wysłany (domyślnie to \"text/html\")\n* ''username'' - opcjonalna nazwa użytkownika do autoryzacji basic\n* ''password'' - opcjonalne hasło do autoryzacji basic\n* ''host'' - opcjonalna nazwa hosta (domyślnie to \"127.0.0.1\", czyli \"localhost\")\n* ''path-prefix'' - opcjonalny przedrostek dodawany do ścieżek\n* ''debug-level'' - opcjonalny poziom logowania; ustaw na \"debug\" by wyświetlać zapytania (domyślnie to \"none\")\n\nJeżeli argument ''password'' jest podany to przeglądarka poprosi o login i hasło. Zwróć uwagę, że hasło przesyłane jest jako niezaszyfrowany tekst, więc tej implementacji należy używać tylko w zaufanej sieci lub poprzez HTTPS.\n\nNa przykład:\n\n```\n--server 8080 $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n\nUżytkownik i hasło mogą być pustymi wartościami tekstowymi, jeżeli potrzebujesz ustawić argumenty po nich.\n\n```\n--server 8080 $:/core/save/all text/plain text/html \"\" \"\" 192.168.0.245\n```\n\nBy zdobyć informacje o tym jak udostępnić swoją lokalną wiki dla całej lokalnej sieci oraz wynikające z tego problemy bezpieczeństwa, przeczytaj sekcję WebServer tiddler na TiddlyWiki.com.\n\nBy uruchomić kilka serwerów TiddlyWiki jednocześnie, musisz wystawić każde z nich za innym portem. Może tu być pomocne użycie zmiennych środowiskowych jako wartości portu. Poniższy przykład używa zmiennej środowiskoej `MY_PORT_NUMBER`:\n\n```\n--server MY_PORT_NUMBER $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n"
  },
  {
    "path": "languages/pl-PL/Help/setfield.tid",
    "content": "title: $:/language/Help/setfield\ndescription: Przygotowuje zewnętrze tiddlery do użycia\n\n//Uwaga: ta komenda jest eksperymentalna i może zostać w przyszłosci zmieniona lub zastąpiona//\n\nUstawia wybrane pole grupie tiddlerów na wynik wikifikacji szablonu. Zmienna `currentTiddler` w szablonie jest ustawiana na nazwę aktualnego tiddlera.\n\n```\n--setfield <filter> <fieldname> <templatetitle> <rendertype>\n```\n\nArgumenty to:\n\n* ''filter'' - filtr określający tiddlery, które mają być przygotowane\n* ''fieldname'' - pole do zmiany (domyślnie to \"text\")\n* ''templatetitle'' - nazwa szablonu, który ma być zwikifikowany do wybranego pola. Jeżeli puste lub niepodane to pole jest usuwane\n* ''rendertype'' - typ tekstu do renderownania (domyślnie to \"text/plain\"; \"text/html\" może być użyty by uwzględnić kod HTML)\n"
  },
  {
    "path": "languages/pl-PL/Help/unpackplugin.tid",
    "content": "title: $:/language/Help/unpackplugin\ndescription: Wypakuj tiddlery z wtyczki\n\nWyciąga tiddlery z wtyczki, tworząc z nich zwykłe tiddlery:\n\n```\n--unpackplugin <title>\n```\n"
  },
  {
    "path": "languages/pl-PL/Help/verbose.tid",
    "content": "title: $:/language/Help/verbose\ndescription: Przełącz wyświetlanie szczegółowych informacji\n\nPrzełącza wyswietlanie szczegółowych informacji podczas wykonywania operacji, przydatne podczas analizy problemów.\n\n```\n--verbose\n```\n"
  },
  {
    "path": "languages/pl-PL/Help/version.tid",
    "content": "title: $:/language/Help/version\ndescription: Wyświetla numer wersji TiddlyWiki\n\nWyświetla numer wersji TiddlyWiki.\n\n```\n--version\n```\n"
  },
  {
    "path": "languages/pl-PL/Import.multids",
    "content": "title: $:/language/Import/\n\nEditor/Import/Heading: Importuj obrazy i dodaj je do edytora\nImported/Hint: Poniższe tiddlery zostały zaimportowane:\nListing/Cancel/Caption: Anuluj\nListing/Cancel/Warning: Czy chcesz anulować importowanie?\nListing/Hint: Poniższe tiddlery są gotowe do zaimportowania\nListing/Import/Caption: Importuj\nListing/Select/Caption: Wybierz\nListing/Status/Caption: Status\nListing/Title/Caption: Tytuł\nListing/Preview: Podgląd\nListing/Preview/Text: Tekst\nListing/Preview/TextRaw: Tekst (oryginalny)\nListing/Preview/Fields: Pola\nListing/Preview/Diff: Różnica\nListing/Preview/DiffFields: Róznica (Pola)\nListing/Rename/Tooltip: Zmień nazwę tiddlera przed importem\nListing/Rename/Prompt: Zmień nazwę na:\nListing/Rename/ConfirmRename: Zmień nazwę tiddlera\nListing/Rename/CancelRename: Anuluj\nListing/Rename/OverwriteWarning: Tiddler o tej nazwie już istnieje.\nUpgrader/Plugins/Suppressed/Incompatible: Zablokowano niekompatybilne lub przestarzałe wtyczki.\nUpgrader/Plugins/Suppressed/Version: Zablokowano wtyczkę (ze względu na wersję: <<incoming>> nie jest nowsza niż istniejąca już <<existing>>)\nUpgrader/Plugins/Upgraded: Zaktualizowano wtyczkę z <<incoming>> na <<upgrade>>.\nUpgrader/State/Suppressed: Zablokowano tiddler tymczasowego stanu.\nUpgrader/System/Disabled: Wyłączony systemowego tiddlera.\nUpgrader/System/Suppressed: Zablokowano systemowego tiddlera.\nUpgrader/System/Warning: Tiddler z głównym modułem.\nUpgrader/System/Alert: Ta operacja zaimportuje tiddlera, który nadpisze jeden z gównych modułuch. Nie jest to zalecane, gdyż może spowodować niestabilne działanie systemu.\nUpgrader/ThemeTweaks/Created: Zmigrowano dostosowanie motywu z <$text text=<<from>>/>.\nUpgrader/Tiddler/Disabled: Wyłaczony tiddlera.\nUpgrader/Tiddler/Selected: Zaznaczony tiddlera.\nUpgrader/Tiddler/Unselected: Odznaczony tiddlera.\n\n"
  },
  {
    "path": "languages/pl-PL/Misc.multids",
    "content": "title: $:/language/\n\nAboveStory/ClassicPlugin/Warning: Wygląda na to, że próbujesz wczytać wtyczkę zaprojektowaną dla ~TiddlyWiki Classic. Zwróc uwagę, że [[te wtyczki nie działają z TiddlyWiki 5|https://tiddlywiki.com/#TiddlyWikiClassic]]. Wykryte wtyczki ~TiddlyWiki Classic:\nBinaryWarning/Prompt: Ten tiddler zawiera binarne dane\nClassicWarning/Hint: Ten tiddler został napisany w formacie dla TiddlyWiki Classic, który nie jest w pełni kompatybilny z TiddlyWiki 5. Więcej informacji dostępnych pod adresem https://tiddlywiki.com/static/Upgrading.html.\nClassicWarning/Upgrade/Caption: aktualizacja\nCloseAll/Button: zamknij wszystkie\nColourPicker/Recent: Ostatnie:\nConfirmCancelTiddler: Czy na pewno chcesz odrzucić zmiany w tiddlerze \"<$text text=<<title>>/>\"?\nConfirmDeleteTiddler: Czy na pewno chcesz usunąc tiddlera \"<$text text=<<title>>/>\"?\nConfirmDeleteTiddlers: Na pewno chcesz usunąć <<resultCount>> tiddler/y/ów?\nConfirmOverwriteTiddler: Czy na pewno chcesz nadpisać tiddlera \"<$text text=<<title>>/>\"?\nConfirmEditShadowTiddler: Próbujesz utworzyć tiddler-cień. Zmiany te nadpiszą oryginalne, systemowe tiddlery co może utrudniać aktualizację wiki. Czy na pewno chcesz zmodyfikować\"<$text text=<<title>>/>\"?\nConfirmAction: Na pewno chcesz kontynuować?\nCount: Ilość\nDefaultNewTiddlerTitle: Nowy Tiddler\nDiffs/CountMessage: Zmiany: <<diff-count>>\nDropMessage: Upuść tutaj (lub wciśnij 'Escape' by anulować)\nEncryption/Cancel: Anuluj\nEncryption/ConfirmClearPassword: Czy na pewno chcesz usunąć hasło? W ten sposób wyłaczysz szyfrowanie przy zapisywaniu wiki\nEncryption/PromptSetPassword: Ustaw nowe hasło dla TiddlyWiki\nEncryption/Username: Użytkownik\nEncryption/Password: Hasło\nEncryption/RepeatPassword: Powtórz hasło\nEncryption/PasswordNoMatch: Hasła się nie zgadzają\nEncryption/SetPassword: Ustaw hasło\nError/Caption: Bład\nError/DeserializeOperator/MissingOperand: Błąd filtra: Nie podano argumentu dla operatora 'deserialize'\nError/DeserializeOperator/UnknownDeserializer: Błąd filtra: Podano nieznany deserializator jako argument dla operatora 'deserialize'\nError/Filter: Bład filtra\nError/FilterSyntax: Bład składniowy filtra\nError/FilterRunPrefix: Bład filtra: Nieznany prefiks dla filtra 'run'\nError/IsFilterOperator: Bład filtra: Nieznany argument dla operatora 'is'\nError/FormatFilterOperator: Bład filtra: nieznany suffix dla operatora 'format'\nError/LoadingPluginLibrary: Błąd przy wczytywaniu biblioteki wtyczek\nError/NetworkErrorAlert: `<h2>''Bład sieciowy''</h2>Połaczenie z serwerem zostało utracone. Możę to być wywołane problemem z internetem. Upewnij się, że masz podłaczenie do internetu przed kolejną próbą.<br><br>''Wszelkie niezapisane zmiany zostaną zsynchronizowane przy odzyskaniu łączności''.`\nError/PutEditConflict: Pliki zostały zmienione na serwerze\nError/PutForbidden: Brak uprawnień\nError/PutUnauthorized: Wymagane uwierzytelnienie\nError/RecursiveTransclusion: Rekursywna transkluzja wykryta w widżecie transkluzji\nError/RetrievingSkinny: Bład przy pobieraniu listy tiddlerów\nError/SavingToTWEdit: Bład przy zapisywaniu do TWEdit\nError/WhileSaving: Bład przy zapisywaniu\nError/XMLHttpRequest: Kod błedu XMLHttpRequest\nError/ZoominTextNode: Błąd Widoku: Wykryto błędną interakcję z tiddlerem, który wyświetlany jest w niestandardowym kontenerze. Jest to najprawdopodobniej spowodowane użyciem `$:/tags/StoryTiddlerTemplateFilter` z motywem, który ma tekst lub białe znaki na początku. Użyj pragmy `\\whitespace trim` i upewnij się, że cała treść tiddlera opakowana jest w jeden element HTML. Tekst, który spowodał problem:\nInternalJavaScriptError/Title: Wewnętrzny bład JavaScript\nInternalJavaScriptError/Hint: Ups, to się nie powinno zdarzyć. Zalecamy ponowne uruchomienie TiddlyWiki poprzez odświeżenie strony w przeglądarce.\nLayoutSwitcher/Description: Otwórzy wybór motywu\nLazyLoadingWarning: <p>Trwa pobieranie zewnętrznych treści z ''<$text text={{!!_canonical_uri}}/>''</p><p>Jeżeli ta wiadomość nie zniknie po chwili, to albo typ tiddlera nie pasuje do typu pobranej treści, lub używasz przeglądarki, która nie wspiera pobierania zewnętrznych treści dla wiki wczytanych jako pliki. Więcej informacji pod adresem https://tiddlywiki.com/#ExternalText</p>\nLoginToTiddlySpace: Zaloguj się do TiddlySpace\nManager/Controls/FilterByTag/None: (brak)\nManager/Controls/FilterByTag/Prompt: Filtruj po tagu:\nManager/Controls/Order/Prompt: Odwrotna kolejność\nManager/Controls/Search/Placeholder: Szukaj\nManager/Controls/Search/Prompt: Szukaj:\nManager/Controls/Show/Option/Tags: tagi\nManager/Controls/Show/Option/Tiddlers: tiddlery\nManager/Controls/Show/Prompt: Pokaż:\nManager/Controls/Sort/Prompt: Sortuj po:\nManager/Item/Colour: Color\nManager/Item/Fields: Pola\nManager/Item/Icon/None: (brak)\nManager/Item/Icon: Ikona\nManager/Item/RawText: Czysty tekst\nManager/Item/Tags: Tagi\nManager/Item/Tools: Narzędzia\nManager/Item/WikifiedText: Przetworzony tekst\nMissingTiddler/Hint: Nie znaleziono tiddlera \"<$text text=<<currentTiddler>>/>\" -- kliknij {{||$:/core/ui/Buttons/edit}} by go utworzyć\nNo: Nie\nOfficialPluginLibrary: Oficjalna Biblioteka Wtyczek ~TiddlyWiki\nOfficialPluginLibrary/Hint: Oficjalna biblioteka wtyczek ~TiddlyWiki z tiddlywiki.com. Wtyczki, motywi i paczki językowe są utrzymywane przez główny zespół TiddlyWiki.\nPageTemplate/Description: domyślny motyw ~TiddlyWiki\nPageTemplate/Name: Domyślny szablon strony\nPluginReloadWarning: Zapisz {{$:/core/ui/Buttons/save-wiki}} i odśwież {{$:/core/ui/Buttons/refresh}} ~TiddlyWiki by zastosować zmiany we wtyczkach używajacych ~JavaScriptu\nRecentChanges/DateFormat: 0DD-0MM-YYYY\nShortcuts/Input/AdvancedSearch/Hint: Otwórzy panel zaawansowanego wyszukiwania z poziomu menu bocznego\nShortcuts/Input/Accept/Hint: Zaakceptuj zaznaczenia\nShortcuts/Input/AcceptVariant/Hint: Zaakceptuj zaznaczenia (warianty)\nShortcuts/Input/Cancel/Hint: Wyczyść pole\nShortcuts/Input/Down/Hint: Wybierz kolejną wartość\nShortcuts/Input/Tab-Left/Hint: Przejdź do poprzedniej zakłądki\nShortcuts/Input/Tab-Right/Hint: Przejdź do kolejnej zakłądki\nShortcuts/Input/Up/Hint: Wybierz poprzednią wartość\nShortcuts/SidebarLayout/Hint: Zmien układ menu bocznego\nSwitcher/Subtitle/theme: Zmień Motyw\nSwitcher/Subtitle/layout: Zmień Układ\nSwitcher/Subtitle/language: Zmień Język\nSwitcher/Subtitle/palette: Zmień Paletę\nSystemTiddler/Tooltip: To jest systemowy tiddler\nSystemTiddlers/Include/Prompt: Uwzględnij systemowe tiddlery\nTagManager/Colour/Heading: Kolor\nTagManager/Count/Heading: Ilośc\nTagManager/Icon/Heading: Ikona\nTagManager/Icons/None: Brak\nTagManager/Info/Heading: Info\nTagManager/Tag/Heading: Tag\nTiddler/DateFormat: 0DD-0MM-YYYY o 0hh:0mm:0ss\nUnsavedChangesWarning: Masz niezapisane zmiany\nYes: Tak\n\n"
  },
  {
    "path": "languages/pl-PL/Modals/Download.tid",
    "content": "title: $:/language/Modals/Download\nsubtitle: Pobierz zmiany\nfooter: <$button message=\"tm-close-tiddler\">Zamknij</$button>\nhelp: https://tiddlywiki.com/static/DownloadingChanges.html\n\nTa przeglądarka wspiera tylko ręczne zapisywanie.\n\nBy zapisać zmiany, wciśnij prawym przyciskiem na link poniżej i wybierz \"Pobierz plik\" lub \"Zapisz plik\", a potem wybierz folder docelowy i nazwę pliku.\n\n//Możesz odrobinę przyśpieszyć ten proces klikając w link trzymając przycisk control (na Windowsie) lub opcje/alt (na Mac OS X). Nie będzie trzeba wtedy wpisywać nazwy ani folderu, ale prawdopodobnie przeglądarka nada plikowi jakąś dziwną nazwę -- musisz zmienić nazwę pliku by miał rozszerzenie `.html` zanim będzie można z nim cokolwiek zrobić.//\n\nNa smartfonach, które nie pozwalają pobierać plików, możesz zamiast tego dodać ten link do ulubionych a następnie zsynchronizować zakładki z komputerm, na którym można zapisywać pliki.\n"
  },
  {
    "path": "languages/pl-PL/NewJournal.multids",
    "content": "title: $:/config/NewJournal/\n\ntitle: 0DD-0MM-YYYY\nText:\n"
  },
  {
    "path": "languages/pl-PL/NewJournalTags.tid",
    "content": "title: $:/config/NewJournal/Tags\n\nDziennik\n"
  },
  {
    "path": "languages/pl-PL/Notifications.multids",
    "content": "title: $:/language/Notifications/\n\nSave/Done: Zapisano wiki\nSave/Starting: Rozpoczęto zapisywanie wiki\nCopiedToClipboard/Succeeded: Skopiowano do schowka\nCopiedToClipboard/Failed: Nie udało się skopiować do schowka\n"
  },
  {
    "path": "languages/pl-PL/Search.multids",
    "content": "title: $:/language/Search/\n\nDefaultResults/Caption: Lista\nFilter/Caption: Filtr\nFilter/Hint: Szukaj przy pomocy [[wyrażenia filtrującego|https://tiddlywiki.com/static/Filters.html]]\nFilter/Matches: //<small>trafienia: <<resultCount>></small>//\nMatches: //<small>trafienia: <<resultCount>></small>//\nMatches/All: Wszystkie trafienia\nMatches/NoMatch: //Brak trafień//\nMatches/NoResult: //Brak wyników//\nMatches/Title: Trafienia w nazwach:\nSearch: Szukaj\nSearch/TooShort: Zbyt krótki tekst wyszukiwania\nShadows/Caption: Cienie\nShadows/Hint: Szukaj wśród tiddlerów-cieni\nShadows/Matches: //<small>trafienia: <<resultCount>></small>//\nStandard/Caption: Standardowe\nStandard/Hint: Szukaj wśród własnych tiddlerów\nStandard/Matches: //<small>trafienia: <<resultCount>></small>//\nSystem/Caption: Systemowe\nSystem/Hint: Szukaj wśród systemowych tiddlerów\nSystem/Matches: //<small>trafienia: <<resultCount>></small>//\n\n"
  },
  {
    "path": "languages/pl-PL/SideBar.multids",
    "content": "title: $:/language/SideBar/\n\nCaption: Menu Boczne\nAll/Caption: Wszystkie\nContents/Caption: Treści\nDrafts/Caption: Szkice\nExplorer/Caption: Eksploruj\nMissing/Caption: Brakujące\nMore/Caption: Więcej\nOpen/Caption: Otwarte\nOrphans/Caption: Bez Rodzica\nRecent/Caption: Ostatnie\nShadows/Caption: Cienie\nSystem/Caption: Systemowe\nTags/Caption: Tagi\nTags/Untagged/Caption: nieotagowane\nTools/Caption: Narzędzia\nTypes/Caption: Typy\n\n"
  },
  {
    "path": "languages/pl-PL/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\nnieliniowy, internetowy notatnik osobisty\n"
  },
  {
    "path": "languages/pl-PL/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\nMoja TiddlyWiki\n"
  },
  {
    "path": "languages/pl-PL/Snippets/FunctionDefinition.tid",
    "content": "title: $:/language/Snippets/FunctionDefinition\ntags: $:/tags/TextEditor/Snippet\ncaption: Definicja funkcji\n\n\\function f.name(param1,param2:\"default value\") [<param1>!is[blank]else<param2>]\n\n<<f.name>>"
  },
  {
    "path": "languages/pl-PL/Snippets/ListByTag.tid",
    "content": "title: $:/language/Snippets/ListByTag\ntags: $:/tags/TextEditor/Snippet\ncaption: Lista tiddlerów po tagu\n\n<<list-links \"[tag[task]sort[title]]\">>\n"
  },
  {
    "path": "languages/pl-PL/Snippets/MacroDefinition.tid",
    "content": "title: $:/language/Snippets/MacroDefinition\ntags: $:/tags/TextEditor/Snippet\ncaption: Definicje makr\n\n\\define macroName(param1:\"default value\",param2)\nTekst makra\n\\end\n"
  },
  {
    "path": "languages/pl-PL/Snippets/ProcedureDefinition.tid",
    "content": "title: $:/language/Snippets/ProcedureDefinition\ntags: $:/tags/TextEditor/Snippet\ncaption: Definicja procedury\n\n\\procedure procName(param1:\"default value\",param2)\nWstaw tekstu tutaj.\n\\end"
  },
  {
    "path": "languages/pl-PL/Snippets/Table 4x3.tid",
    "content": "title: $:/language/Snippets/Table4x3\ntags: $:/tags/TextEditor/Snippet\ncaption: Tabela z 4 kolumnami i 3 wierszami\n\n|! |!Alpha |!Beta |!Gamma |!Delta |\n|!Jeden | | | | |\n|!Dwa | | | | |\n|!Trzy | | | | |\n"
  },
  {
    "path": "languages/pl-PL/Snippets/TableOfContents.tid",
    "content": "title: $:/language/Snippets/TableOfContents\ntags: $:/tags/TextEditor/Snippet\ncaption: Spis Treśći\n\n<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'Spis Treści'>>\n\n</div>"
  },
  {
    "path": "languages/pl-PL/ThemeTweaks.multids",
    "content": "title: $:/language/ThemeTweaks/\n\nThemeTweaks: Dostosowania Motywu\nThemeTweaks/Hint: Możesz dostosować pewne aspekty motywu ''Vanilla''\nOptions: Opcje\nOptions/SidebarLayout: Układ menu bocznego\nOptions/SidebarLayout/Fixed-Fluid: Stałe Story River, zmienne menu boczne\nOptions/SidebarLayout/Fluid-Fixed: Zmienne Story River, stałe menu boczne\nOptions/StickyTitles: Przyklej tytuł i pasek narzędzi\nOptions/StickyTitles/Hint: Tytuł obecnego tiddlera oraz jego pasek narzędzi będzie przyklejony do góry okna przeglądarki\nOptions/CodeWrapping: Łam długie linie kodu\nSettings: Ustawienia\nSettings/FontFamily: Czcionka\nSettings/CodeFontFamily: Czcionka kodu\nSettings/EditorFontFamily: Czcionka edytora\nSettings/BackgroundImage: Obraz tła\nSettings/BackgroundImageAttachment: Pozycja obrazu tła\nSettings/BackgroundImageAttachment/Scroll: Przewijaj ze stroną\nSettings/BackgroundImageAttachment/Fixed: Stała pozycja\nSettings/BackgroundImageSize: Rozmiar obrazu tła\nSettings/BackgroundImageSize/Auto: Automatyczny\nSettings/BackgroundImageSize/Cover: Zapełnij\nSettings/BackgroundImageSize/Contain: Zawrzyj\nMetrics: Rozmiary\nMetrics/FontSize: Rozmiar czcionki\nMetrics/LineHeight: Wysokość linii\nMetrics/BodyFontSize: Rozmiar czcionki w treści tiddlera\nMetrics/BodyLineHeight: Wysokość linii w treści tiddlera\nMetrics/StoryLeft: Lewy margines Story River\nMetrics/StoryLeft/Hint: Odległość lewej krawędzi Story River od<br>lewej krawędzi strony\nMetrics/StoryTop: Górny margines Story River\nMetrics/StoryTop/Hint: Odległość górnej krawędzi Story River od<br>górnej krawędzi strony\nMetrics/StoryRight: Prawy margines Story River\nMetrics/StoryRight/Hint: Odległość prawej krawędzi Story River od<br>lewej krawędzi menu boczne\nMetrics/StoryWidth: Szerokość Story River\nMetrics/StoryWidth/Hint: Ogólna szerokość Story River\nMetrics/TiddlerWidth: Szerokość tiddlera\nMetrics/TiddlerWidth/Hint: Wewnątrz Story River\nMetrics/SidebarBreakpoint: Breakpoint menu bocznego\nMetrics/SidebarBreakpoint/Hint: Minimalna szerokość strony, przy której<br>menu boczne i Story River zostaną wyświetlone obok siebie\nMetrics/SidebarWidth: Szerokość menu bocznego\nMetrics/SidebarWidth/Hint: Szerokość menu bocznego w widoku zmienny-stały\n"
  },
  {
    "path": "languages/pl-PL/TiddlerInfo.multids",
    "content": "title: $:/language/TiddlerInfo/\n\nAdvanced/Caption: Zaawansowane\nAdvanced/PluginInfo/Empty/Hint: pusto\nAdvanced/PluginInfo/Heading: Szczegóły Wtyczki\nAdvanced/PluginInfo/Hint: Ta wtyczka zawiera takie tiddlery-cienie:\nAdvanced/ShadowInfo/Heading: Status ukrycia\nAdvanced/ShadowInfo/NotShadow/Hint: Tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> nie jest tiddlerem-cieniem\nAdvanced/ShadowInfo/Shadow/Hint: Tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> jest tiddlerem-cieniem\nAdvanced/ShadowInfo/Shadow/Source: Zdefiniiowany we wtyczce <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>\nAdvanced/ShadowInfo/OverriddenShadow/Hint: Nadpisany przez zwykłego tiddlera\nFields/Caption: Pola\nList/Caption: Lista\nList/Empty: Ten tiddler nie posiada żadnych list\nListed/Caption: W Listach\nListed/Empty: Ten tiddler nie jest wylistowany w żadnym innym tiddlerze\nReferences/Caption: Link Zwrotne\nReferences/Empty: Żaden inny tiddler nie linkuje do tego\nTagging/Caption: Tagi\nTagging/Empty: Żaden inny tiddler nie ma w swoich tagach tego\nTools/Caption: Narzędzia\n\n"
  },
  {
    "path": "languages/pl-PL/Types/application_javascript.tid",
    "content": "title: $:/language/Docs/Types/application/javascript\ndescription: Kod JavaScript\nname: application/javascript\ngroup: Developer\ngroup-sort: 2\n"
  },
  {
    "path": "languages/pl-PL/Types/application_json.tid",
    "content": "title: $:/language/Docs/Types/application/json\ndescription: Dane JSON\nname: application/json\ngroup: Developer\ngroup-sort: 2\n"
  },
  {
    "path": "languages/pl-PL/Types/application_x_tiddler_dictionary.tid",
    "content": "title: $:/language/Docs/Types/application/x-tiddler-dictionary\ndescription: Słownik danych\nname: application/x-tiddler-dictionary\ngroup: Developer\ngroup-sort: 2\n"
  },
  {
    "path": "languages/pl-PL/Types/image_gif.tid",
    "content": "title: $:/language/Docs/Types/image/gif\ndescription: Obraz GIF\nname: image/gif\ngroup: Image\ngroup-sort: 1\n"
  },
  {
    "path": "languages/pl-PL/Types/image_jpeg.tid",
    "content": "title: $:/language/Docs/Types/image/jpeg\ndescription: Obraz JPEG\nname: image/jpeg\ngroup: Image\ngroup-sort: 1\n"
  },
  {
    "path": "languages/pl-PL/Types/image_png.tid",
    "content": "title: $:/language/Docs/Types/image/png\ndescription: Obraz PNG\nname: image/png\ngroup: Image\ngroup-sort: 1\n"
  },
  {
    "path": "languages/pl-PL/Types/image_svg_xml.tid",
    "content": "title: $:/language/Docs/Types/image/svg+xml\ndescription: Obraz wektorowy SVG\nname: image/svg+xml\ngroup: Image\ngroup-sort: 1\n"
  },
  {
    "path": "languages/pl-PL/Types/text_css.tid",
    "content": "title: $:/language/Docs/Types/text/css\ndescription: Statyczny styl CSS\nname: text/css\ngroup: Developer\ngroup-sort: 2\n"
  },
  {
    "path": "languages/pl-PL/Types/text_html.tid",
    "content": "title: $:/language/Docs/Types/text/html\ndescription: Ttekst HTML\nname: text/html\ngroup: Text\ngroup-sort: 0\n"
  },
  {
    "path": "languages/pl-PL/Types/text_plain.tid",
    "content": "title: $:/language/Docs/Types/text/plain\ndescription: Czysty tekst\nname: text/plain\ngroup: Text\ngroup-sort: 0\n"
  },
  {
    "path": "languages/pl-PL/Types/text_vnd.tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/vnd.tiddlywiki\ndescription: TiddlyWiki 5\nname: text/vnd.tiddlywiki\ngroup: Text\ngroup-sort: 0\n"
  },
  {
    "path": "languages/pl-PL/Types/text_vnd.tiddlywiki_multiple.tid",
    "content": "\ntitle: $:/language/Docs/Types/text/vnd.tiddlywiki-multiple\ndescription: Zbiorczy tiddler\nname: text/vnd.tiddlywiki-multiple\ngroup: Developer\ngroup-sort: 2"
  },
  {
    "path": "languages/pl-PL/plugin.info",
    "content": "{\n\t\"title\": \"$:/languages/pl-PL\",\n\t\"name\": \"pl-PL\",\n\t\"plugin-type\": \"language\",\n\t\"description\": \"Polski (Polska)\",\n\t\"author\": \"Maurycy Zarzycki (Evidently Cube)\",\n\t\"core-version\": \">=5.2.0\"\n}"
  },
  {
    "path": "languages/pl-PL/readme.md",
    "content": "Translation notes are available here: https://github.com/TiddlyWiki/TiddlyWiki5/discussions/6080"
  },
  {
    "path": "languages/pt-BR/Buttons.multids",
    "content": "title: $:/language/Buttons/\n\nAdvancedSearch/Caption: Pesquisa Avançada\nAdvancedSearch/Hint: Pesquisa Avançada\nBold/Caption: Negrito\nBold/Hint: Formatar a seleção como negrito\nCancel/Caption: Cancelar\nCancel/Hint: Cancelar a edição deste tiddler\nClear/Caption: Limpar\nClear/Hint: Preencher o quadro com cor\nClone/Caption: Duplicar\nClone/Hint: Duplicar este tiddler\nClose/Caption: Fechar\nClose/Hint: Fechar este Tiddler\nCloseAll/Caption: Fechar Todos\nCloseAll/Hint: Fechar Todos os Tiddlers\nCloseOthers/Caption: Fechar Outros\nCloseOthers/Hint: Fechar os Outros Tiddlers\nControlPanel/Caption: Painel de Controle\nControlPanel/Hint: Abrir o Painel de Controle\nDelete/Caption: Apagar\nDelete/Hint: Apagar este Tiddler\nEdit/Caption: Editar\nEdit/Hint: Editar este Tiddler\nEditorHeight/Caption: Altura do Editor\nEditorHeight/Caption/Auto: Ajustar automaticamente a altura ao tamanho do conteúdo\nEditorHeight/Caption/Fixed: Altura Fixa:\nEditorHeight/Hint: Escolha a altura do editor de texto\nEncryption/Caption: Criptografia\nEncryption/ClearPassword/Caption: Limpar Senha\nEncryption/ClearPassword/Hint: Limpar a senha e salvar esta wiki sem criptografia\nEncryption/Hint: Definir ou limpar a senha de gravação desta wiki\nEncryption/SetPassword/Caption: Definir Senha\nEncryption/SetPassword/Hint: Definir a senha para salvar esta wiki com criptografia\nExcise/Caption: Separar\nExcise/Caption/Excise: Executar separação\nExcise/Caption/MacroName: Nome da Macro:\nExcise/Caption/NewTitle: Título do novo tiddler:\nExcise/Caption/Replace: Substituir texto separado por:\nExcise/Caption/Replace/Link: Link\nExcise/Caption/Replace/Macro: Macro\nExcise/Caption/Replace/Transclusion: Inclusão\nExcise/Caption/Tag: Etiquetar novo tiddler com o título deste tiddler\nExcise/Caption/TiddlerExists: Atenção: Esse tiddler já existente\nExcise/Hint: Separar o texto selecionado para um novo tiddler\nExportPage/Caption: Exportar Tudo\nExportPage/Hint: Exportar Todos os Tiddlers\nExportTiddler/Caption: Exportar Tiddler\nExportTiddler/Hint: Exportar Tiddler\nExportTiddlers/Caption: Exportar Tiddlers\nExportTiddlers/Hint: Exportar Tiddlers\nFold/Caption: Fechar Tiddler\nFold/FoldBar/Caption: Menu-Lateral\nFold/FoldBar/Hint: Barra de menu opcional para fechar e abrir tiddlers\nFold/Hint: Fechar o conteúdo deste Tiddler\nFoldAll/Caption: Fechar todos os Tiddlers\nFoldAll/Hint: Fechar o conteúdo de todos os tiddlers abertos\nFoldOthers/Caption: Fechar outros Tiddlers\nFoldOthers/Hint: Fechar o conteúdo dos outros tiddlers abertos\nFullScreen/Caption: Tela Cheia\nFullScreen/Hint: Entrar ou sair do modo tela cheia\nHeading1/Caption: Cabeçalho 1\nHeading1/Hint: Formatar todas linhas selecionadas com o nível 1 de cabeçalho\nHeading2/Caption: Cabeçalho 2\nHeading2/Hint: Formatar todas linhas selecionadas com o nível 2 de cabeçalho\nHeading3/Caption: Cabeçalho 3\nHeading3/Hint: Formatar todas linhas selecionadas com o nível 3 de cabeçalho\nHeading4/Caption: Cabeçalho 4\nHeading4/Hint: Formatar todas linhas selecionadas com o nível 4 de cabeçalho\nHeading5/Caption: Cabeçalho 5\nHeading5/Hint: Formatar todas linhas selecionadas com o nível 5 de cabeçalho\nHeading6/Caption: Cabeçalho 6\nHeading6/Hint: Formatar todas linhas selecionadas com o nível 6 de cabeçalho\nHelp/Caption: Ajuda\nHelp/Hint: Mostrar Painel de Ajuda\nHideSideBar/Caption: Ocultar Barra de Menu\nHideSideBar/Hint: Ocultar a barra lateral\nHome/Caption: Início\nHome/Hint: Abrir os tiddlers padrão\nImport/Caption: Importar\nImport/Hint: Importar arquivos de vários formatos, incluindo texto, imagem, Tiddlywiki ou JSON\nInfo/Caption: Informação\nInfo/Hint: Mostrar informações sobre este tiddler\nItalic/Caption: Itálico\nItalic/Hint: Aplicar formatação itálico a seleção\nLanguage/Caption: Idioma\nLanguage/Hint: Escolher a idioma da interface do usuário\nLineWidth/Caption: espessura da linha\nLineWidth/Hint: Definir a espessura da linha d caneta\nLink/Caption: Link\nLink/Hint: Criar link em wikitext\nListBullet/Caption: Lista com marcador circular)\nListBullet/Hint: Formatar a seleção com marcadores circular\nListNumber/Caption: Lista Numerada\nListNumber/Hint: Gerenciador Tiddler\nManager/Caption: Gerenciador Tiddler\nManager/Hint: Abrir Gerenciador Tiddler\nMonoBlock/Caption: Justificado\nMonoBlock/Hint: Justificar bloco selecionado\nMonoLine/Caption: Espaçamento Uniforme\nMonoLine/Hint: Aplicar o espaçamento uniforme formatação da seleção\nMore/Caption: Mais\nMore/Hint: Mais Opções\nNewHere/Caption: Novo\nNewHere/Hint: Criar um novo tiddler no mesmo assunto\nNewImage/Caption: Nova Imagem\nNewImage/Hint: Criar novo tiddler de desenho\nNewJournal/Caption: Nova Edição\nNewJournal/Hint: Criar uma nova edição\nNewJournalHere/Caption: Nova edição aqui\nNewJournalHere/Hint: Criar uma nova edição do mesmo assunto\nNewMarkdown/Caption: Criar tiddler Marcado\nNewMarkdown/Hint: Criar um novo tiddler marcado\nNewTiddler/Caption: Novo Tiddler\nNewTiddler/Hint: Criar um novo tiddler\nOpacity/Caption: Opacidade\nOpacity/Hint: Definir opacidade de desenho\nOpenWindow/Caption: Abrir em nova janela\nOpenWindow/Hint: Abrir tiddler em nova janela\nPaint/Caption: Cor de desenho\nPaint/Hint: Definir a cor de desenho\nPalette/Caption: Cores\nPalette/Hint: Escolher a paleta de cores\nPermalink/Caption: Link Permanente\nPermalink/Hint: Configure um link direto na barra de endereços do navegador para todos os tiddlers neste assunto\nPermaview/Caption: Exibido agora\nPermaview/Hint: Definir na endereço do navegador uma URL que inclui todos os tiddlers visiveis agora\nPicture/Caption: Imagem\nPicture/Hint: Inserir imagem\nPreview/Caption: Pré-visualizar\nPreview/Hint: Mostrar pré-visualização\nPreviewType/Caption: pré-visualização por tipo de arquivo\nPreviewType/Hint: Escolher o tipo de pré-visualização\nPrint/Caption: Imprimir página\nPrint/Hint: Imprimir a página atual\nQuote/Caption: Citação\nQuote/Hint: Formatar as linhas selecionadas como citação\nRefresh/Caption: Atualizar\nRefresh/Hint: Recarregar totalmente a wiki atual\nSave/Caption: Salvar\nSave/Hint: Salvar este tiddler\nSaveWiki/Caption: Salvar alterações\nSaveWiki/Hint: Salvar as alterações\nShowSideBar/Caption: Exibir barra lateral\nShowSideBar/Hint: Exibir a barra lateral\nSize/Caption: Tamanho da imagem\nSize/Caption/Height: Altura:\nSize/Caption/Resize: Redimensionar imagem\nSize/Caption/Width: Largura:\nSize/Hint: Definir tamanho da imagem\nStamp/Caption: Selo\nStamp/Caption/New: Adicione o seu\nStamp/Hint: Inserir um trecho de texto pré configurado\nStamp/New/Text: Novo trecho de texto (Lembre-se de adicionar um título.\nStamp/New/Title: Nome exibido no menu\nStoryView/Caption: Estilo de exibição\nStoryView/Hint: Escolher o estilo de exibição principal\nStrikethrough/Caption: Riscado\nStrikethrough/Hint: Formatar o texto selecionado com riscado\nSubscript/Caption: Subscrito\nSubscript/Hint: Formatar o texto selecionado com subscrito\nSuperscript/Caption: Sobrescrito\nSuperscript/Hint: Formatar o texto selecionado com sobrescrito\nTagManager/Caption: Gerenciador de Assuntos (Tags)\nTagManager/Hint: Abrir gerenciador de assuntos(Tags)\nTheme/Caption: Estilo\nTheme/Hint: Escolher o tema de exibição\nTimestamp/Caption: Data e hora\nTimestamp/Hint: Define atualização de Data/Hora\nTimestamp/Off/Caption: Data/Hora Desativado\nTimestamp/Off/Hint: Não atualizar data e hora quando os tiddlers forem modificados\nTimestamp/On/Caption: Data/Hora Ativado\nTimestamp/On/Hint: Atualizar data e hora quando os tiddlers forem modificados\nUnderline/Caption: Sublinhado\nUnderline/Hint: Formatar a seleção como texto sublinhado\nUnfold/Caption: Abrir tiddler\nUnfold/Hint: Abrir o conteúdo deste tiddler\nUnfoldAll/Caption: Abrir todos os  tiddlers\nUnfoldAll/Hint: Abrir o conteúdo de todos os tiddlers\n"
  },
  {
    "path": "languages/pt-BR/ControlPanel.multids",
    "content": "title: $:/language/ControlPanel/\n\nAdvanced/Caption: Avançado\nAdvanced/Hint: Informações Interna sobre esta TiddlyWiki\nAppearance/Caption: Aparência\nAppearance/Hint: Formas de personalizar a aparência da sua TiddlyWiki.\nBasics/AnimDuration/Prompt: Duração da animação:\nBasics/Caption: Básicos\nBasics/DefaultTiddlers/BottomHint: Utilize &#91;&#91;colchetes &#93;&#93; para títulos com espaços. Ou então {{Clique aqui para inserir a ordem cronológica||$:/snippets/retain-story-ordering-button}}\nBasics/DefaultTiddlers/Prompt: Tiddlers Padrão:\nBasics/DefaultTiddlers/TopHint: Escolha quais tiddlers serão exibidos ao iniciar:\nBasics/Language/Prompt: Seleção do Idioma:\nBasics/NewJournal/Tags/Prompt: Assunto das novas edições\nBasics/NewJournal/Title/Prompt: Título das novas edições tiddlers\nBasics/OverriddenShadowTiddlers/Prompt: Tiddlers-Sombra Sobrescritos:\nBasics/ShadowTiddlers/Prompt: Tiddlers-Sombra:\nBasics/Subtitle/Prompt: Subtítulo:\nBasics/SystemTiddlers/Prompt: Tiddlers de Sistema:\nBasics/Tags/Prompt: Assuntos(Tags):\nBasics/Tiddlers/Prompt: Tiddlers:\nBasics/Title/Prompt: Título desta ~TiddlyWiki:\nBasics/Username/Prompt: Nome de usuário para assinar edições:\nBasics/Version/Prompt: Versão da ~TiddlyWiki:\nEditorTypes/Caption: Tipos de Editor\nEditorTypes/Editor/Caption: Editor\nEditorTypes/Hint: Estes tiddlers determinam qual editor é utilizado para editar os tipos específicos de tiddler.\nEditorTypes/Type/Caption: Tipo\nInfo/Caption: Opções do Wiki\nInfo/Hint:  Opções e informações sobre desta TiddlyWiki\nKeyboardShortcuts/Add/Caption: Adicionar Atalho\nKeyboardShortcuts/Add/Prompt: Digite o atalho aqui\nKeyboardShortcuts/Caption: Atalhos de Teclado\nKeyboardShortcuts/Hint: Definir atalhos de teclado\nKeyboardShortcuts/NoShortcuts/Caption: Nenhuns atalhos de teclado foi definidos\nKeyboardShortcuts/Platform/All: Todas as plataformas\nKeyboardShortcuts/Platform/Linux: Apenas plataforma Linux\nKeyboardShortcuts/Platform/Mac: Apenas plataforma Macintosh\nKeyboardShortcuts/Platform/NonLinux: Apenas plataformas não Linux\nKeyboardShortcuts/Platform/NonMac: Apenas plataformas não Macintosh\nKeyboardShortcuts/Platform/NonWindows: Apenas plataformas não Windows\nKeyboardShortcuts/Platform/Windows: Apenas plataforma Windows\nKeyboardShortcuts/Remove/Hint: remover atalho de teclado\nLoadedModules/Caption: Módulos Carregados\nLoadedModules/Hint: Estes módulos tiddler são carregados junto com seus tiddlers fonte. Módulos em itálico não têm tiddler fonte, geralmente por serem carregados durante a inicialização.\nPalette/Caption: Paleta de Cores\nPalette/Editor/Clone/Caption: Duplicar\nPalette/Editor/Clone/Prompt: Recomenda-se que duplique esta paleta-sombra antes de editá-la\nPalette/Editor/Prompt: Edição\nPalette/Editor/Prompt/Modified: Esta paleta-sombra foi modificada\nPalette/Editor/Reset/Caption: Reiniciar\nPalette/HideEditor/Caption: Ocultar Editor\nPalette/Prompt: Paleta Ativa:\nPalette/ShowEditor/Caption: Mostrar Editor\nParsing/Block/Caption: Regras de análise de blocos\nParsing/Caption: Análise\nParsing/Hint: Aqui você pode desativar globalmente as regras de analise individuais do wiki. Tome cuidado, algumas delas quando desligadas podem causar erros no ~TiddlyWiki, Se isso acontecer use  o modo de recuperação para corrigir. [[modo de recuperação|http://tiddlywiki.com/#SafeMode]] )\nParsing/Inline/Caption: Regras de Análise em Linha\nParsing/Pragma/Caption: Regras de Análise Pragma\nPlugins/Add/Caption: Importar mais extensões \nPlugins/Add/Hint: Instalar extensões da biblioteca de extensões oficial\nPlugins/AlreadyInstalled/Hint: Esta extensão já está instalada com está versão<$text text=<<installedVersion>>/>\nPlugins/Caption: Extensões\nPlugins/Disable/Caption: Desativar\nPlugins/Disable/Hint: Desativar esta extensão quando reiniciar a página\nPlugins/Disabled/Status: (desativado)\nPlugins/Empty/Hint: Nenhum\nPlugins/Enable/Caption: ativar\nPlugins/Enable/Hint: Ativar esta extensão quando reiniciar a página\nPlugins/Install/Caption: Instalar\nPlugins/Installed/Hint: Extensões instaladas:\nPlugins/Language/Prompt: Idiomas\nPlugins/Languages/Caption: Idiomas\nPlugins/Languages/Hint: Extensões de pacotes de idiomas\nPlugins/NoInfoFound/Hint: ''\"<$text text=<<currentTab>>/>\"'' não encontrado\nPlugins/NoInformation/Hint: Nenhuma informação fornecida\nPlugins/NotInstalled/Hint: Esta extensão não está instalada\nPlugins/OpenPluginLibrary: Abrir biblioteca de extensões\nPlugins/Plugin/Prompt: Extensões\nPlugins/Plugins/Caption: Extensões\nPlugins/Plugins/Hint: Extensões\nPlugins/Reinstall/Caption: Reinstalar\nPlugins/Theme/Prompt: Estilos\nPlugins/Themes/Caption: Estilo da Página\nPlugins/Themes/Hint: Extensões de Temas\nSaving/Caption: Backups\nSaving/DownloadSaver/AutoSave/Description: Aplicar as configurações a todas copias protegidas\nSaving/DownloadSaver/Caption: Geral\nSaving/DownloadSaver/Hint: Aplica configurações compatível com HTML5- no Download Seguro\nSaving/General/Caption: Download Seguro\nSaving/General/Hint: Ativar Autosalvar no Download Seguro\nSaving/Heading: Salvando\nSaving/Hint: Configurações usadas para salvar todo o TiddlyWiki como um único arquivo através do módulo de proteção\nSaving/TiddlySpot/Advanced/Heading: Definições Avançadas\nSaving/TiddlySpot/BackupDir: Diretório de cópias de segurança\nSaving/TiddlySpot/Backups: Cópias de Segurança\nSaving/TiddlySpot/Description: Estas definições só serão utilizadas quando gravar para http://tiddlyspot.com ou um servidor remoto compatível\nSaving/TiddlySpot/Filename: Nome do arquivo para envio\nSaving/TiddlySpot/Heading: ~TiddlySpot\nSaving/TiddlySpot/Hint: //O URL por padrão será `http://<wikiname>.tiddlyspot.com/store.cgi` e pode ser alterado para utilizar um endereço de servidor personalizado//\nSaving/TiddlySpot/Password: Senha\nSaving/TiddlySpot/ServerURL: URL do Servidor\nSaving/TiddlySpot/UploadDir: Diretório de Envio\nSaving/TiddlySpot/UserName: Usuário de acesso\nSettings/AutoSave/Caption: Gravação Automática\nSettings/AutoSave/Disabled/Description: Não fazer gravação automática\nSettings/AutoSave/Enabled/Description: Fazer gravação automática\nSettings/AutoSave/Hint: Salvar alterações automaticamente durante a edição\nSettings/CamelCase/Caption: Link Wiki em Camel Case\nSettings/CamelCase/Description: Ativar link em frases ~CamelCase automaticamente\nSettings/CamelCase/Hint: Requer reiniciar o texto para que tome efeito\nSettings/Caption: Definições\nSettings/DefaultSidebarTab/Caption: Separador da barra lateral pré-definido\nSettings/DefaultSidebarTab/Hint: Definir que separador da barra lateral é exibido por padrão\nSettings/EditorToolbar/Caption: Barra de Ferramentas do Editor\nSettings/EditorToolbar/Description: Mostrar barra de ferramentas do editor\nSettings/EditorToolbar/Hint: Ativar ou desativar a barra de ferramentas do editor\nSettings/Hint: Estas definições permitem personalizar o comportamento da TiddlyWiki.\nSettings/InfoPanelMode/Caption: Modo Painel de Informações do Tiddler\nSettings/InfoPanelMode/Hint: Controle quando o painel informações tiddler fecha:\nSettings/InfoPanelMode/Popup/Description: Painel informações Tiddler fecha automaticamente\nSettings/InfoPanelMode/Sticky/Description: Manter o Painel informações Tiddler aberto até ser explicitamente fechado\nSettings/LinkToBehaviour/Caption: Comportamento de Abertura de Tiddlers\nSettings/LinkToBehaviour/InsideRiver/Hint: Navegação do //interior// do frame de tiddlers\nSettings/LinkToBehaviour/OpenAbove: Abrir acima do tiddler atual\nSettings/LinkToBehaviour/OpenAtBottom: Abrir no fim do frame de tiddlers\nSettings/LinkToBehaviour/OpenAtTop: Abrir no topo do frame de tiddlers\nSettings/LinkToBehaviour/OpenBelow: Abrir abaixo do tiddler atual\nSettings/LinkToBehaviour/OutsideRiver/Hint: Navegação do //exterior // do frame de tiddlers\nSettings/MissingLinks/Caption: Link Wiki\nSettings/MissingLinks/Description: Ativar link para tiddlers em falta\nSettings/MissingLinks/Hint: Selecione se quiser link para tiddlers que ainda não existem\nSettings/NavigationAddressBar/Caption: Barra de Endereços de Navegação\nSettings/NavigationAddressBar/Hint: Comportamento da barra de endereços do navegador quando abrir um tiddler:\nSettings/NavigationAddressBar/No/Description: Não atualizar a barra de endereços\nSettings/NavigationAddressBar/Permalink/Description: Incluir o tiddler de destino\nSettings/NavigationAddressBar/Permaview/Description: Incluir o tiddler de destino e toda a sequência em exibição\nSettings/NavigationHistory/Caption: Histórico de Navegação\nSettings/NavigationHistory/Hint: Atualizar o histórico do navegador quando navegar para um tiddler\nSettings/NavigationHistory/No/Description: Não atualizar o histórico\nSettings/NavigationHistory/Yes/Description: Atualizar o histórico\nSettings/PerformanceInstrumentation/Caption: O painel de instrumentos de desempenho \nSettings/PerformanceInstrumentation/Description: Ativar instrumentos de desempenho \nSettings/PerformanceInstrumentation/Hint: Exibe estatísticas de performance na consola de desenvolvimento do navegador. Requer recarregamento para que tome efeito\nSettings/TitleLinks/Caption: Títulos dos Tiddlers\nSettings/TitleLinks/Hint: Exibir opcionalmente títulos dos tiddlers como link\nSettings/TitleLinks/No/Description: Não exibir títulos dos tiddlers como link\nSettings/TitleLinks/Yes/Description: Exibir títulos dos tiddlers como link\nSettings/ToolbarButtons/Caption: Botões da Barra de Ferramentas\nSettings/ToolbarButtons/Hint: Aparência pré definida dos botões da barra de ferramentas:\nSettings/ToolbarButtons/Icons/Description: Incluir ícone\nSettings/ToolbarButtons/Text/Description: Incluir texto\nSettings/ToolbarButtonStyle/Caption: Estilo dos botões da barra de ferramentas\nSettings/ToolbarButtonStyle/Hint: Escolha o estilo dos botões da barra de ferramentas:\nSettings/ToolbarButtonStyle/Styles/Borderless: Sem moldura\nSettings/ToolbarButtonStyle/Styles/Boxed: Caixa\nSettings/ToolbarButtonStyle/Styles/Rounded: Arredondados\nStoryView/Caption: Estilo de Exibição\nStoryView/Prompt: Estilo:\nTheme/Caption: Estilo\nTheme/Prompt:   O tema que está usado agora é o\nTiddlerFields/Caption: Campos dos Tiddlers\nTiddlerFields/Hint: Esta é uma lista completa dos campos dos tiddlers em utilização nesta wiki (incluindo tiddlers de sistema mas excluindo tiddlers-sombra).\nToolbars/Caption: Botões de Controle\nToolbars/EditorToolbar/Caption: Botões do editor de textos\nToolbars/EditorToolbar/Hint: Escolha que botões devem ser exibidos na barra de ferramentas do editor. Alguns botões só serão exibidos enquanto edita tiddlers de um determinado formato\nToolbars/EditToolbar/Caption: Botões do modo de edição\nToolbars/EditToolbar/Hint: Escolher que botões são exibidos para tiddlers em modo de edição\nToolbars/Hint: Seleccionar que botões da barra de ferramentas são exibidos\nToolbars/PageControls/Caption: Botões da barra de menu\nToolbars/PageControls/Hint: Escolher que botões são exibidos na barra de ferramentas principal da página\nToolbars/ViewToolbar/Caption: Botões de opções do tiddler\nToolbars/ViewToolbar/Hint: Escolher que botões são exibidos para tiddlers em modo de visualização\nTools/Download/Full/Caption: Transferir wiki completa\n"
  },
  {
    "path": "languages/pt-BR/CoreReadMe.tid",
    "content": "title: $:/core/pt-BR/readme\n\nEsta extensão contém os componentes principais da TiddlyWiki compostos por:\n\n* Módulos de código JavaScript\n* Ícones\n* Modelos necessários para criar o interface do usuário da TiddlyWiki\n* Traduções em Inglês Britânico (en-GB) dos textos traduzíveis utilizados pelo núcleo\n"
  },
  {
    "path": "languages/pt-BR/Dates.multids",
    "content": "title: $:/language/\n\nDate/DaySuffix/1: °\nDate/DaySuffix/10: \nDate/DaySuffix/11: \nDate/DaySuffix/12: \nDate/DaySuffix/13: \nDate/DaySuffix/14: \nDate/DaySuffix/15: \nDate/DaySuffix/16: \nDate/DaySuffix/17: \nDate/DaySuffix/18: \nDate/DaySuffix/19: \nDate/DaySuffix/2: \nDate/DaySuffix/20: \nDate/DaySuffix/21: \nDate/DaySuffix/22: \nDate/DaySuffix/23: \nDate/DaySuffix/24: \nDate/DaySuffix/25: \nDate/DaySuffix/26: \nDate/DaySuffix/27: \nDate/DaySuffix/28: \nDate/DaySuffix/29: \nDate/DaySuffix/3: \nDate/DaySuffix/30: \nDate/DaySuffix/31: \nDate/DaySuffix/4: \nDate/DaySuffix/5: \nDate/DaySuffix/6: \nDate/DaySuffix/7: \nDate/DaySuffix/8: \nDate/DaySuffix/9: \nDate/Long/Day/0: Domingo\nDate/Long/Day/1: Segunda\nDate/Long/Day/2: Terça\nDate/Long/Day/3: Quarta\nDate/Long/Day/4: Quinta\nDate/Long/Day/5: Sexta\nDate/Long/Day/6: Sábado\nDate/Long/Month/1: Janeiro\nDate/Long/Month/10: Outubro\nDate/Long/Month/11: Novembro\nDate/Long/Month/12: Dezembro\nDate/Long/Month/2: Fevereiro\nDate/Long/Month/3: Março\nDate/Long/Month/4: Abril\nDate/Long/Month/5: Maio\nDate/Long/Month/6: Junho\nDate/Long/Month/7: Julho\nDate/Long/Month/8: Agosto\nDate/Long/Month/9: Setembro\nDate/Period/pm: pm\nDate/Short/Day/0: Dom\nDate/Short/Day/1: Seg\nDate/Short/Day/2: Ter\nDate/Short/Day/3: Qua\nDate/Short/Day/4: Qui\nDate/Short/Day/5: Sex\nDate/Short/Day/6: Sab\nDate/Short/Month/1: Jan\nDate/Short/Month/10: Out\nDate/Short/Month/11: Nov\nDate/Short/Month/12: Dez\nDate/Short/Month/2: Fev\nDate/Short/Month/3: Mar\nDate/Short/Month/4: Abr\nDate/Short/Month/5: Mai\nDate/Short/Month/6: Jun\nDate/Short/Month/7: Jul\nDate/Short/Month/8: Ago\nDate/Short/Month/9: Set\nRelativeDate/Future/Days: Dentro de <<period>> dias\nRelativeDate/Future/Hours: Dentro de <<period>> horas\nRelativeDate/Future/Minutes: Dentro de <<period>> minutos\nRelativeDate/Future/Months: Dentro de <<period>> meses\nRelativeDate/Future/Second: Daqui a 1 segundo\nRelativeDate/Future/Seconds: Dentro de <<period>> segundos\nRelativeDate/Future/Years: Dentro de <<period>> anos\nRelativeDate/Past/Days: Há <<period>> dias\nRelativeDate/Past/Hours: Há <<period>> horas\nRelativeDate/Past/Minutes: Há <<period>> minutos\nRelativeDate/Past/Months: Há <<period>> meses\nRelativeDate/Past/Second: Há 1 segundo\nRelativeDate/Past/Seconds: Há <<period>> segundos\nRelativeDate/Past/Years: Há <<period>> anos\n"
  },
  {
    "path": "languages/pt-BR/Docs/ModuleTypes.multids",
    "content": "title: $:/language/Docs/ModuleTypes/\n\nallfilteroperator: Uma sub-operador para \"todos\" operadoradores de filtro.\nanimation: Animações que podem ser utilizadas com a RevealWidget.\nbitmapeditoroperation: Uma barra de ferramentas para edições de bitmap.\ncommand: Comandos que podem ser executados no Node.js.\nconfig: Informação a ser inserida em `$tw.config`.\nfilteroperator: Métodos de filtragem individuais.\nglobal: Informação global a ser inserida em `$tw`.\ninfo: Publica informações do sistema através do [[$:/temp/info-plugin]] pseudo-plugin.\nisfilteroperator: Operandos para o operador de filtragem ''is''.\nlibrary: Tipo de módulo genérico para fins gerais de módulos JavaScript.\nmacro: Definições de macros JavaScript.\nparser: Interpretadores para diferentes tipos de conteúdo.\nsaver: Os savers controlam diferentes métodos para salvar arquivos a partir do navegador.\nstartup: Funções de arranque.\nstoryview: As story views personalizam as animações e comportamento das ferramentas de listagem.\ntexteditoroperation: Uma barra de ferramentas do editor de texto.\ntiddlerdeserializer: Converte diferentes tipos de conteúdo em tiddlers.\ntiddlerfield: Define o comportamento individual de um campo de tiddler.\ntiddlermethod: Adiciona um método ao protótipo `$tw.Tiddler`.\nupgrader: Aplica processamento de atualização durante o processo de importação/atualização de versão.\nutils: Adiciona métodos a `$tw.utils`.\nutils-node: Adiciona métodos específicos para o Node.js a `$tw.utils`.\nwidget: As ferramentas widgets contém representação e atualização de DOM.\nwikimethod: Adiciona métodos a `$tw.Wiki`.\nwikirule: Regras individuais de interpretação para o interpretador principal de WikiText.\n"
  },
  {
    "path": "languages/pt-BR/Docs/PaletteColours.multids",
    "content": "title: $:/language/Docs/PaletteColours/\n\nalert-background: Fundo de alertas\nalert-border: Margem de alertas\nalert-highlight: Realce de alertas\nalert-muted-foreground: Fundo de alertas silenciados\nbackground: Fundo geral\nblockquote-bar: Barra de citação\nbutton-background: Fundo de botão pré-definido\nbutton-border: Moldura de botão pré-definido\nbutton-foreground: Primeiro plano de botão pré-definido\ncode-background: Fundo de código\ncode-border: Margem de código\ncode-foreground: Primeiro plano de código\ndirty-indicator: Indicador de alterações por salvar\ndownload-background: Fundo do botão de transferências\ndownload-foreground: Primeiro plano do botão de transferências\ndragger-background: Fundo da zona de arrasto\ndragger-foreground: Primeiro plano da zona de arrasto\ndropdown-background: Fundo de menu suspenso\ndropdown-border: Margem de  menu suspenso\ndropdown-tab-background: Fundo de separador suspenso\ndropdown-tab-background-selected: Fundo para separador suspenso selecionado\ndropzone-background: Fundo de zona de largada\nexternal-link-background: Fundo do link externa\nexternal-link-background-hover: Fundo do link externa sob o cursor\nexternal-link-background-visited: Fundo do link externa visitada\nexternal-link-foreground: Primeiro plano do link externa\nexternal-link-foreground-hover: Primeiro plano do link externa sob o cursor\nexternal-link-foreground-visited: Primeiro plano do link externa visitada\nforeground: Primeiro plano geral\nmessage-background: Fundo de caixa de mensagem\nmessage-border: Margem de caixa de mensagem\nmessage-foreground: Primeiro plano de caixa de mensagem\nmodal-backdrop: Cenário de modal\nmodal-background: Fundo de modal\nmodal-border: Margem de modal\nmodal-footer-background: Fundo do rodapé modal\nmodal-footer-border: Margem do rodapé modal\nmodal-header-border: Margem do cabeçalho modal\nmuted-foreground: Primeiro plano silenciado geral\nnotification-background: Fundo de notificação\nnotification-border: Margem de notificação\npage-background: Fundo de página\npre-background: Fundo de código pré formatado\npre-border: Margem de código pré formatado\nprimary: Primário geral\nsidebar-button-foreground: Fundo de botões da barra lateral\nsidebar-controls-foreground: Primeiro plano de controles da barra lateral\nsidebar-controls-foreground-hover: Primeiro plano de controles da barra lateral sob cursor\nsidebar-foreground: Primeiro plano da barra lateral\nsidebar-foreground-shadow: Sombra de primeiro plano da barra lateral\nsidebar-muted-foreground: Primeiro plano silenciado da barra lateral\nsidebar-muted-foreground-hover: Primeiro plano silenciado da barra lateral sob cursor\nsidebar-tab-background: Fundo de separador da barra lateral\nsidebar-tab-background-selected: Fundo de separador selecionado da barra lateral\nsidebar-tab-border: Margem de separador da barra lateral\nsidebar-tab-border-selected: Margem de separador selecionado da barra lateral\nsidebar-tab-divider: Divisão de separador da barra lateral\nsidebar-tab-foreground: Primeiro plano de separador da barra lateral\nsidebar-tab-foreground-selected: Primeiro plano de separador selecionado da barra lateral\nsidebar-tiddler-link-foreground: Primeiro plano do link para tiddler na barra lateral\nsidebar-tiddler-link-foreground-hover: Primeiro plano do link para tiddler na barra lateral sob o cursor\nsite-title-foreground: Primeiro plano do site\nstatic-alert-foreground: Primeiro plano de alerta estático\ntab-background: Fundo de separador\ntab-background-selected: Fundo de separador selecionado\ntab-border: Margem de separador\ntab-border-selected: Margem de separador selecionado\ntab-divider: Divisão de separador\ntab-foreground: Primeiro plano de separador\ntab-foreground-selected: Primeiro plano de separadores selecionados\ntable-border: Margem de tabela\ntable-footer-background: Fundo de rodapé de tabela\ntable-header-background: Fundo de cabeçalho de tabela\ntag-background: Cor de fundo do botão assunto\ntag-foreground: Primeiro plano de assunto\ntiddler-background: Cor de fundo doe Tiddler\ntiddler-border: Margem de Tiddler\ntiddler-controls-foreground: Primeiro plano de controles dos Tiddlers\ntiddler-controls-foreground-hover: Primeiro plano de controles dos Tiddlers sob o cursor\ntiddler-controls-foreground-selected: Primeiro plano de controles dos Tiddlers selecionados\ntiddler-editor-background: Fundo do editor de Tiddlers\ntiddler-editor-border: Margem do editor de Tiddlers\ntiddler-editor-border-image: Imagem de margem do editor de Tiddlers\ntiddler-editor-fields-even: Fundo de campos pares do editor de Tiddlers\ntiddler-editor-fields-odd: Fundo de campos ímpares do editor de Tiddlers\ntiddler-info-background: Fundo do painel de informação de Tiddlers\ntiddler-info-border: Margem do painel de informação de Tiddlers\ntiddler-info-tab-background: Fundo de separadores do painel de informação de Tiddlers\ntiddler-link-background: Fundo do link para Tiddlers\ntiddler-link-foreground: Primeiro plano do link para Tiddlers\ntiddler-subtitle-foreground: Primeiro plano de subtítulo de Tiddlers\ntiddler-title-foreground: Primeiro plano de título de Tiddlers\ntoolbar-cancel-button: Botão 'cancelar' da barra de ferramentas\ntoolbar-close-button: Botão 'fechar' da barra de ferramentas\ntoolbar-delete-button: Botão 'apagar' da barra de ferramentas\ntoolbar-done-button: Botão 'concluir' da barra de ferramentas\ntoolbar-edit-button: Botão 'editar' da barra de ferramentas\ntoolbar-info-button: Botão 'informação' da barra de ferramentas\ntoolbar-new-button: Botão 'novo tiddler' da barra de ferramentas\ntoolbar-options-button: Botão 'opções' da barra de ferramentas\ntoolbar-save-button: Botão 'salvar' da barra de ferramentas\nuntagged-background: Fundo de cápsula sem assunto\nvery-muted-foreground: Fundo muito silenciado\n"
  },
  {
    "path": "languages/pt-BR/EditTemplate.multids",
    "content": "title: $:/language/EditTemplate/\n\nBody/External/Hint: Este é um tiddler armazenado fora do arquivo principal da Tiddlywiki. Pode mudar os assuntos mas não pode editar o seu conteúdo\nBody/Placeholder: Escreva o texto para este tiddler\nBody/Preview/Type/Output: resultado\nField/Remove/Caption: remover campo\nField/Remove/Hint: Remover campo\nFields/Add/Button: adicionar\nFields/Add/Dropdown/System: Campos de Sistema\nFields/Add/Dropdown/User: Campos do usuário\nFields/Add/Name/Placeholder: nome do campo\nFields/Add/Prompt: Adicionar novo campo\nFields/Add/Value/Placeholder: valor do campo\nShadow/OverriddenWarning: Isto é um tiddler-sombra modificado. Pode voltar à configuração pré-definida apagando este tiddler\nShadow/Warning: Isto é um tiddler-sombra. Quaisquer alterações irão sobrepor-se à versão pré-definida\nTags/Add/Button: adicionar\nTags/Add/Placeholder: nome do assunto\nTags/Dropdown/Caption: lista de assuntos\nTags/Dropdown/Hint: Mostrar a lista de assuntos\nTitle/BadCharacterWarning: Atenção: Evite utilizar os caracteres <<bad-chars>> no título de tiddlers\nTitle/Exists/Prompt: O Tiddler especificado já existe \nTitle/Relink/Prompt: Substituindo ''<$text text=<<fromTitle>>/>'' por ''<$text text=<<toTitle>>/>'' nas //lista//, //tags// e campos de outros tiddlers\nType/Delete/Caption: apagar formato de arquivo\nType/Delete/Hint: Apagar formato de arquivo\nType/Dropdown/Caption: Lista de formato de arquivo\nType/Dropdown/Hint: Mostrar a lista de formato de arquivo\nType/Placeholder: formato de arquivo\nType/Prompt: Tipo:\n"
  },
  {
    "path": "languages/pt-BR/Exporters.multids",
    "content": "title: $:/language/Exporters/\n\nCsvFile: Arquivos CSV dos tiddlers\nJsonFile: Arquivos JSON dos tiddlers\nStaticRiver: Sequência de tiddlers como arquivo estático HTML\nTidFile: Tiddler individual em arquivo \".tid\"\n"
  },
  {
    "path": "languages/pt-BR/Fields.multids",
    "content": "title: $:/language/Docs/Fields/\n\n_canonical_uri: O URI completo dum tiddler de imagem externa\nbag: O nome do saco de onde veio o tiddler\ncaption: O texto a exibir num separador ou botão\ncolor: O valor CSS da cor associada ao tiddler\ncomponent: O nome do componente responsável por um [[tiddler alerta|AlertMechanism]]\ncreated: A data de criação do tiddler\ncreator: O nome da pessoa que criou o tiddler\ncurrent-tiddler: Utilizado para armazenar o primeiro tiddler numa [[lista de histórico|HistoryMechanism]]\ndependents: Para uma extensão, lista os títulos de extensões dependentes\ndescription: O texto descritivo de uma extensão, ou diálogo modal\ndraft.of: Para tiddlers rascunho, contém o título do tiddler do qual este é rascunho\ndraft.title: Para tiddlers rascunho, contém o título proposto para o novo tiddler\nfooter: O texto de rodapé para um assistente\nicon: O título do tiddler que contém o ícone associado com determinado tiddler\nlibrary: Se definido como \"yes\" indica que o tiddler deve ser gravado como uma biblioteca JavaScript\nlist: Uma lista ordenada de títulos de tiddlers associados com um determinado tiddler\nlist-after: Se definido, o título do tiddler a seguir ao qual este tiddler deve ser adicionado numa lista ordenada de títulos de tiddlers\nlist-before: Se definido, o título do tiddler a antes do qual este tiddler deve ser adicionado numa lista ordenada de títulos de tiddlers, ou no início da lista se este campo estiver presente mas vazio\nmodified: A data e hora da última modificação de um tiddler\nmodifier: Título do tiddler associado à última pessoa que modificou o tiddler\nname: O nome humanamente legível associado a um tiddler extensão\nplugin-priority: Valor numérico indicador da prioridade de um tiddler extensão\nplugin-type: O tipo de extensão de um tiddler extensão\nreleased: Data de lançamento de uma versão da TiddlyWiki\nrevision: A revisão do tiddler guardada no servidor\nsource: O URL fonte associado a um tiddler\nsubtitle: O texto do subtítulo de um assistente\ntags: Lista de assuntos associadas a um tiddler\ntext: O texto do conteúdo de um tiddler\ntitle: O nome único de um tiddler\ntype: O formato de arquivo de um tiddler\nversion: Informação de versão de uma extensão\n"
  },
  {
    "path": "languages/pt-BR/Filters.multids",
    "content": "title: $:/language/Filters/\n\nAllTags: Todas as assuntos exceto os de sistema\nAllTiddlers: Todos os tiddlers exceto os tiddlers de sistema\nDrafts: Tiddlers rascunho\nMissing: Tiddlers em falta\nOrphans: Tiddlers órfãos\nOverriddenShadowTiddlers: Tiddlers-sombra substituídos\nRecentSystemTiddlers: Tiddlers recentemente modificados, incluindo tiddlers de sistema\nRecentTiddlers: Tiddlers modificados recentemente\nShadowTiddlers: Tiddlers-sombra\nStoryList: Tiddlers no Histórico, escluindo $:/AdvancedSearch\nSystemTags: Assuntos de sistema\nSystemTiddlers: Tiddlers de sistema\nTypedTiddlers: Tiddlers que não são sonWikiText\n"
  },
  {
    "path": "languages/pt-BR/GettingStarted.tid",
    "content": "title: GettingStarted\n\n\\define lingo-base() $:/language/ControlPanel/Basics/\nBem vindo à ~TiddlyWiki e à comunidade ~TiddlyWiki\n\nAntes de começar a armazenar informação importante na ~TiddlyWiki é importante certificar-se que consegue gravar alterações de forma fiável. Para mais detalhes veja http://tiddlywiki.com/#GettingStarted\n\n!! Configurar esta ~TiddlyWiki\n\n<div class=\"tc-control-panel\">\n\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit-text tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\nVeja o [[painel de controle|$:/ControlPanel]] para mais opções.\n"
  },
  {
    "path": "languages/pt-BR/Help/build.tid",
    "content": "title: $:/language/Help/build\ndescription: Executar comandos configurados automaticamente\n\nConstruir os alvos de construção especificados para a wiki atual. Se nenhum alvo for especificado todos os alvos disponíveis serão construídos.\n\n```\n--build <alvo> [<alvo> ...]\n```\n\nOs alvos de construção são definidos no arquivo `tiddlywiki.info` na pasta da wiki.\n\n"
  },
  {
    "path": "languages/pt-BR/Help/clearpassword.tid",
    "content": "title: $:/language/Help/clearpassword\ndescription: Remover senha para as operações criptográficas subsequentes\n\nRemover a senha para as operações criptográficas subsequentes\n\n```\n--clearpassword\n```\n"
  },
  {
    "path": "languages/pt-BR/Help/default.tid",
    "content": "title: $:/language/Help/default\ndescription: \n\n\\define commandTitle()\n$:/language/Help/$(command)$\n\\end\n```\nusage: tiddlywiki [<wikifolder>] [--<command> [<args>...]...]\n```\n\nComandos disponíveis:\n\n<ul>\n<$list filter=\"[commands[]sort[title]]\" variable=\"command\">\n<li><$link to=<<commandTitle>>><$macrocall $name=\"command\" $type=\"text/plain\" $output=\"text/plain\"/></$link>: <$transclude tiddler=<<commandTitle>> field=\"description\"/></li>\n</$list>\n</ul>\n\nPara obter ajuda detalhada sobre um comando:\n\n```\ntiddlywiki --help <command>\n```\n"
  },
  {
    "path": "languages/pt-BR/Help/editions.tid",
    "content": "title: $:/language/Help/editions\ndescription: Lista as edições da TiddlyWiki disponíveis\n\nLista os nomes e descrições das edições disponíveis. Pode criar uma nova wiki da edição especificada com o comando `--init` .\n\n```\n--editions\n```\n"
  },
  {
    "path": "languages/pt-BR/Help/help.tid",
    "content": "title: $:/language/Help/help\ndescription: Mostra a ajuda para comandos da TiddlyWiki\n\nMostra a ajuda para um comando:\n\n```\n--help [<command>]\n```\n\nSe o comando for omitido será exibida uma lista de comandos disponíveis.\n"
  },
  {
    "path": "languages/pt-BR/Help/init.tid",
    "content": "title: $:/language/Help/init\ndescription: Inicializar uma nova pasta wiki\n\nInicializa uma [[PastaWiki|WikiFolders]] vazia com uma cópia da edição especificada.\n\n```\n--init <edition> [<edition> ...]\n```\n\nPor exemplo:\n\n```\ntiddlywiki ./MyWikiFolder --init empty\n```\n\nNota:\n\n* A pasta para a wiki será criada se não existir\n* Por omissão a \"edition\" será ''empty''\n* O comando init irá falhar se a pasta especificada não estiver vazia\n* O comando init remove quaisquer definições de `includeWikis` no arquivo `tiddlywiki.info` da edição\n* Quando múltiplas edições são especificadas, as edições inicializadas posteriormente substituem quaisquer arquivos partilhados com edições anteriores (de modo que o arquivo `tiddlywiki.info` final será copiado da última edição)\n* `--editions` mostra uma lista de edições disponíveis\n"
  },
  {
    "path": "languages/pt-BR/Help/load.tid",
    "content": "title: $:/language/Help/load\ndescription: Carregar tiddlers de um arquivo\n\nCarregar tiddlers de arquivos da TiddlyWiki 2.x.x (`.html`), `.tiddler`, `.tid`, `.json` ou outros arquivos\n\n```\n--load <filepath>\n```\n\nPara carregar tiddlers de um arquivo TiddlyWiki encriptado deve primeiro especificar uma senha com o comando Password. Por exemplo:\n\n```\ntiddlywiki ./MyWiki --password pa55w0rd --load my_encrypted_wiki.html\n```\n\nA TiddlyWiki não carregará uma versão anterior de um plugin já carregado.\n"
  },
  {
    "path": "languages/pt-BR/Help/makelibrary.tid",
    "content": "title: $:/language/Help/makelibrary\ndescription: Constrói a extensão de biblioteca necessária para o processo de atualização\n\nConstrói o tiddler `$:/UpgradeLibrary` para o processo de atualização.\n\nA biblioteca de atualização é formatada como uma extensão normal com o tipo de extensão definido como `library`. Contém uma cópia de cada uma das extensões, temas e pacotes de línguas disponíveis dentro do repositório da TiddlyWiki5.\n\nEste comando é para uso interno; é apenas importante para usuário que criem um processo de atualização personalizado.\n\n```\n--makelibrary <title>\n```\n\nPor omissão o argumento será `$:/UpgradeLibrary`.\n"
  },
  {
    "path": "languages/pt-BR/Help/notfound.tid",
    "content": "title: $:/language/Help/notfound\ndescription: \n\nItem de ajuda inexistente"
  },
  {
    "path": "languages/pt-BR/Help/output.tid",
    "content": "title: $:/language/Help/output\ndescription: Define a pasta de destino para os comandos subsequentes\n\nDefine o diretório base de destino para os comandos subsequentes. A pasta de destino pré definida é a sub-pasta `output` dentro da pasta da edição.\n\n```\n--output <caminho>\n```\n\nSe o caminho especificado é relativo este será resolvido em relação à atual pasta de trabalho. Por exemplo `--output .` define o diretório de destino para a atual pasta de trabalho.\n\n"
  },
  {
    "path": "languages/pt-BR/Help/password.tid",
    "content": "title: $:/language/Help/password\ndescription: Definir senha para operações criptográficas subsequentes\n\nDefine a senha para as operações criptográficas subsequentes\n\n```\n--password <password>\n```\n\n"
  },
  {
    "path": "languages/pt-BR/Help/rendertiddler.tid",
    "content": "title: $:/language/Help/rendertiddler\ndescription: Interpretar tiddler individual conforme tipo ContentType especificado\n\nInterpreta um tiddler individual conforme o ContentType especificado, pré definição é `text/html`, e guarda-o para o arquivo especificado:\n\n```\n--rendertiddler <título> <caminho> [<tipo>]\n```\n\nPor padrão, o caminho é resolvido relativamente à sub-pasta `output` do diretório de edição. O comando `--output` pode ser utilizado para redireccionar para umo diretório de destino diferente.\n\nQuaisquer pastas em falta no caminho de destino serão automaticamente criadas.\n"
  },
  {
    "path": "languages/pt-BR/Help/rendertiddlers.tid",
    "content": "title: $:/language/Help/rendertiddlers\ndescription: Interpretar tiddlers respeitantes de um filtro para o ContentType especificado\n\nInterpreta um conjunto de tiddlers respeitante de um determinado filtro para arquivos separados de um determinado ContentType (por padrão `text/html`) e extensão (por padrão `.html`).\n\n```\n--rendertiddlers <filtro> <modelo> <caminho> [<tipo>] [<extensão>]\n```\n\nPor exemplo:\n\n```\n--rendertiddlers [!is[system]] $:/core/templates/static.tiddler.html ./static text/plain\n```\n\nPor padrão, o caminho é resolvido relativamente à sub-pasta `output` do diretório de edição. O comando `--output` pode ser utilizado para redireccionar para umo diretório de destino diferente.\n\nQuaisquer arquivos no diretório de destino serão apagados. Quaisquer pastas em falta nos caminhos de destino serão automaticamente criadas se em falta.\n"
  },
  {
    "path": "languages/pt-BR/Help/savetiddler.tid",
    "content": "title: $:/language/Help/savetiddler\ndescription: Salva tiddler em bruto para um arquivo\n\nSalva um tiddler individual no seu formato bruto texto ou binário para o caminho especificado. \n\n```\n--savetiddler <título> <nome do arquivo>\n```\n\nPor padrão, o caminho é resolvido relativamente à sub-pasta `output` do diretório de edição. O comando `--output` pode ser utilizado para redireccionar para umo diretório de destino diferente.\n\nQuaisquer pastas em falta no caminho de destino serão automaticamente criadas.\n"
  },
  {
    "path": "languages/pt-BR/Help/savetiddlers.tid",
    "content": "title: $:/language/Help/savetiddlers\ndescription: Salva um conjunto de tiddlers em bruto para uma pasta\n\nSalva um conjunto de tiddlers no seu formato bruto texto ou binário para o caminho especificado.\n\n```\n--savetiddlers <filtro> <caminho>\n```\n\nPor padrão, o caminho é resolvido relativamente à sub-pasta `output` do diretório de edição. O comando `--output` pode ser utilizado para redireccionar para umo diretório de destino diferente.\n\nQuaisquer pastas em falta no caminho de destino serão automaticamente criadas.\n"
  },
  {
    "path": "languages/pt-BR/Help/server.tid",
    "content": "title: $:/language/Help/server\ndescription: Atribui um interface de servidor HTTP à TiddlyWiki\n\nO servidor incluído na TiddlyWiki 5 é muito elementar. Apesar de compatível com a TiddlyWeb não suporta muitas das funcionalidades necessárias para utilização robusta com interface pela Internet.\n\nNa sua forma mais elementar serve a representação de um tiddler específico. Com parâmetros adicionais serve tiddlers codificados em JSON, e suporta operações HTTP básicas para `GET`, `PUT` e `DELETE`.\n\n```\n--server <port> <roottiddler> <rendertype> <servetype> <username> <password> <host> <pathprefix>\n```\n\nOs parâmetros são:\n\n* ''port'' - número da porta pela qual servir (por padrão \"8080\")\n* ''roottiddler'' - o tiddler a ser servido na raiz (por padrão \"$:/core/save/all\") \n* ''rendertype'' - o formato de arquivo para o qual o tiddler deve ser representado (por padrão \"text/plain\")\n* ''servetype'' - o formato de arquivo para o qual o tiddler deve ser apresentado (por padrão \"text/html\")\n* ''username'' - o nome de usuário pré definido com o qual se assinam as edições\n* ''password'' - senha opcional para autenticação básica\n* ''host'' - endereço opcional do servidor de onde servir (por padrão  \"127.0.0.1\" conhecido como \"localhost\")\n* ''pathprefix'' - prefixo opcional para caminhos\n\nSe o parâmetro senha for especificado o navegador irá pedir ao usuário um nome e senha. Tenha em atenção que a senha é transmitida em texto simples tornando esta implementação imprópria para utilização geral\n\nPor exemplo:\n\n```\n--server 8080 $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n\nO nome de usuário e a senha podem ser vazios se necessitar de definir o nome do servidor ou prefixo para caminhos e não pretender que a senha seja requerida:\n\n```\n--server 8080 $:/core/save/all text/plain text/html \"\" \"\" 192.168.0.245\n```\n\nPara correr servidores TiddlyWiki múltiplos ao mesmo tempo é necessário colocar cada um numa porta diferente.\n"
  },
  {
    "path": "languages/pt-BR/Help/setfield.tid",
    "content": "title: $:/language/Help/setfield\ndescription: Prepara tiddlers externos para utilização\n\n//Este comando é experimental e pode mudar ou ser substituído antes de ser finalizado//\n\nDefine um determinado campo de um grupo de tiddlers para o resultado de interpretar um tiddler modelo com a variável `currentTiddler` definida como o tiddler.\n\n```\n--setfield <filter> <fieldname> <templatetitle> <rendertype>\n```\n\nOs parâmetros são:\n\n* ''filter'' - filtro que selecciona os tiddlers a ser afectados\n* ''fieldname'' - nome do campo a modificar (por padrão \"texto\")\n* ''templatetitle'' - o tiddler a interpretar para o campo especificado. Se for deixado em branco ou estiver em falta o campo especificado será eliminado\n* ''rendertype'' - O tipo de texto a interpretar (por padrão \"text/plain\"; \"text/html\" pode ser utilizado para incluir assuntos HTML)\n"
  },
  {
    "path": "languages/pt-BR/Help/unpackplugin.tid",
    "content": "title: $:/language/Help/unpackplugin\ndescription: Extrair tiddlers de conteúdo de uma extensão\n\nExtrai o conteúdo de uma extensão, recriando-o como tiddlers vulgares:\n\n```\n--unpackplugin <título>\n```\n"
  },
  {
    "path": "languages/pt-BR/Help/verbose.tid",
    "content": "title: $:/language/Help/verbose\ndescription: Activa o modo de exibição relatório verboso\n\nActiva a exibição relatório verboso, útil para correcção de erros\n\n```\n--verbose\n```\n"
  },
  {
    "path": "languages/pt-BR/Help/version.tid",
    "content": "title: $:/language/Help/version\ndescription: Mostra o numero da versão da TiddlyWiki.\n\nMostra o numero da versão da TiddlyWiki.\n\n```\n--version\n```\n"
  },
  {
    "path": "languages/pt-BR/Import.multids",
    "content": "title: $:/language/Import/\n\nImported/Hint: Os seguintes tiddlers foram importados:\nListing/Cancel/Caption: Cancelar\nListing/Hint: Estes tiddlers estão prontos a importar:\nListing/Import/Caption: Importar\nListing/Select/Caption: Seleccionar\nListing/Status/Caption: Estado\nListing/Title/Caption: Título\nUpgrader/Plugins/Suppressed/Incompatible: Extensões bloqueadas, incompatíveis ou obsoletas\nUpgrader/Plugins/Suppressed/Version: Extensão bloqueada (devido a <<incoming>> ser anterior à <<existing>> existente)\nUpgrader/Plugins/Upgraded: Extensão atualizada de <<incoming>> para <<upgraded>>\nUpgrader/State/Suppressed: Tiddler de estado temporário bloqueado\nUpgrader/System/Suppressed: Tiddler de sistema bloqueado\nUpgrader/ThemeTweaks/Created: Tema migrado ajustado de <$text text=<<from>>/>\n"
  },
  {
    "path": "languages/pt-BR/Misc.multids",
    "content": "title: $:/language/\n\nAboveStory/ClassicPlugin/Warning: Parece que está tentando caregar um plugin desenvolvido para o ~TiddlyWiki Classic. <br>\nBinaryWarning/Prompt: Este tiddler contém informação binária\nClassicWarning/Hint: Este tiddler está escrito no formato de texto wiki da TiddlyWiki Clássica, que não é totalmente compatível com a TiddlyWiki versão 5. Veja http://tiddlywiki.com/static/Upgrading.html para mais detalhes.\nClassicWarning/Upgrade/Caption: Atualizar\nCloseAll/Button: Fechar Todos\nColourPicker/Recent: Últimas cores usadas:\nConfirmCancelTiddler: Gostaria de descartar as alterações feitas no tiddler \"<$text text=<<title>>/>\"?\nConfirmDeleteTiddler: Gostaria apagar o tiddler \"<$text text=<<title>>/>\"?\nConfirmEditShadowTiddler: Está prestes a editar um Tiddler-Sombra. Quaisquer alterações sobrepor-se-ão aos valores padrão de sistema, tornando futuras atualizações mais complexas. Tenha a certeza que pretende editar \"<$text text=<<title>>/>\"?\nConfirmOverwriteTiddler: Gostaria de substituir o tiddler \"<$text text=<<title>>/>\"?\nCount: contagem\nDefaultNewTiddlerTitle: Novo Tiddler\nDropMessage: Arraste e solte aqui os seus arquivos, imagens, tiddlers ou plugins para adicioná-los (ou tecle Esc para cancelar)\nEncryption/Cancel: Cancelar\nEncryption/ConfirmClearPassword: Gostaria remover a senha? Isso irá removerá a criptografia aplicada quando salvar esta wiki\nEncryption/Password: Senha\nEncryption/PasswordNoMatch: As senhas devem ser iguais nos dois campos\nEncryption/PromptSetPassword: Definir nova senha para esta TiddlyWiki\nEncryption/RepeatPassword: Repetir senha\nEncryption/SetPassword: Definir senha\nEncryption/Username: Nome de usuário\nError/Caption: Erro\nError/Filter: Erro de filtro\nError/FilterSyntax: Erro de sintaxe na expressão do filtro\nError/IsFilterOperator: Erro de Filtro: Operando desconhecido para o operador de filtro 'is'\nError/LoadingPluginLibrary: Erro ao carregar a biblioteca de extensões\nError/RecursiveTransclusion: Erro de transclusão recursiva na widget de transclusão\nError/RetrievingSkinny: Erro ao obter a lista simples de tiddlers\nError/SavingToTWEdit: Erro ao gravar em TWEdit\nError/WhileSaving: Erro ao gravar\nError/XMLHttpRequest: Código de erro XMLHttpRequest\nInternalJavaScriptError/Hint: Bem, isto é embaraçoso. Para corrigir, reinicie a sua TiddlyWiki recarregando a página em seu navegador. Normalmente o atalho é (F5)\nInternalJavaScriptError/Title: Erro interno JavaScript\nLazyLoadingWarning: <p>Carregando um texto externo de ''<$text text={{!!_canonical_uri}}/>''</p><p>Se esta mensagem não desaparecer pode ser que esteja usando um navegador que não suporte textos remoto com esta configuração. Veja http://tiddlywiki.com/#ExternalText</p>\nLoginToTiddlySpace: Entrar em TiddlySpace\nManager/Controls/FilterByTag/None: (nenhum)\nManager/Controls/FilterByTag/Prompt: Filtrar por Tag:\nManager/Controls/Order/Prompt: Inverter a ordem\nManager/Controls/Search/Placeholder: Pesquisar\nManager/Controls/Search/Prompt: Pesquisar:\nManager/Controls/Show/Option/Tags: tags\nManager/Controls/Show/Option/Tiddlers: tiddlers\nManager/Controls/Show/Prompt: Exibir:\nManager/Controls/Sort/Prompt: Organizar por:\nManager/Item/Colour: Cores\nManager/Item/Fields: Campos\nManager/Item/Icon: Icones\nManager/Item/Icon/None: (nenhum)\nManager/Item/RawText: Texto bruto\nManager/Item/Tags: Tags\nManager/Item/Tools: Ferramentas\nManager/Item/WikifiedText: Texto Wikified\nMissingTiddler/Hint: Tiddler \"<$text text=<<currentTiddler>>/>\" não existe - clique {{$:/core/images/edit-button}} para criar\nNo: Não\nOfficialPluginLibrary: Biblioteca de Extensões Official ~TiddlyWiki\nOfficialPluginLibrary/Hint: A Biblioteca de Extensões Official ~TiddlyWiki em tiddlywiki.com. Extensões temas e pacotes de idiomas são mantidos pela equipa principal.\nPluginReloadWarning: Por favor grave  {{$:/core/ui/Buttons/save-wiki}} e recarregue {{$:/core/ui/Buttons/refresh}} para que as alterações às extensões tomem efeito\nRecentChanges/DateFormat: DD MMM YYYY às hh:0mm\nSystemTiddler/Tooltip: Este é um tiddler de sistema\nSystemTiddlers/Include/Prompt: Incluir tiddlers do sistema\nTagManager/Colour/Heading: Cor\nTagManager/Count/Heading: Quantia\nTagManager/Icon/Heading: Ícone\nTagManager/Info/Heading: Infos\nTagManager/Tag/Heading: Assunto\nTiddler/DateFormat: DD de MMM de YYYY às hh:0mm\nUnsavedChangesWarning: Têm alterações não guardadas na TiddlyWiki\nYes: Sim\n"
  },
  {
    "path": "languages/pt-BR/Modals/Download.tid",
    "content": "title: $:/language/Modals/Download\ntype: text/vnd.tiddlywiki\nsubtitle: Download changes\nfooter: <$button message=\"tm-close-tiddler\">Close</$button>\nhelp: http://tiddlywiki.com/static/DownloadingChanges.html\n\nO seu navegador apenas suporta gravação manual.\n\nPara salvar a sua wiki modificada clique no botão abaixo e selecione \"Baixar o arquivo\" ou \"Salvar Arquivo\", então escolha uma pasta e um nome para o arquivo.\n\n//Pode-se acelerar o processo pressionando a tecla Control enquanto clica no link  (Windows) ou a tecla Options/Alt (Mac OS X). Não será pedido que especifique uma pasta ou nome para o arquivo, mas provavelmente o navegador irá criar um nome irreconhecível -- poderá ter de alterar o nome de modo a incluir a extensão '.html' antes de conseguir usa-lo.//\n\nNos dispositivos móveis que não permitem copia de arquivos a alternativa é salvar o link nos seus favoritos, e no seu computador sincronizar e então gravar normalmente."
  },
  {
    "path": "languages/pt-BR/NewJournal.multids",
    "content": "title: $:/config/NewJournal/\n\nTags: Edições\nTitle: DD de MMM de YYYY\n"
  },
  {
    "path": "languages/pt-BR/Notifications.multids",
    "content": "title: $:/language/Notifications/\n\nSave/Done: Wiki gravada\nSave/Starting: A iniciar processo de gravação da wiki\n"
  },
  {
    "path": "languages/pt-BR/Search.multids",
    "content": "title: $:/language/Search/\n\nDefaultResults/Caption: Lista\nFilter/Caption: Filtro\nFilter/Hint: Procurar através de [[expressão de filtros|http://tiddlywiki.com/static/Filters.html]]\nFilter/Matches: //<small><<resultCount>> resultados</small>//\nMatches: //<small><<resultCount>> resultados</small>//\nMatches/All: Todas as correspondências:\nMatches/Title: Correspondências em títulos:\nSearch: Pesquisar\nSearch/TooShort: Pesquisa de textos pequenos\nShadows/Caption: Sombras\nShadows/Hint: Procurar tiddlers-sombra\nShadows/Matches: //<small><<resultCount>> resultados</small>//\nStandard/Caption: Padrão\nStandard/Hint: Procurar tiddlers normais\nStandard/Matches: //<small><<resultCount>> resultados</small>//\nSystem/Caption: Sistema\nSystem/Hint: Procurar tiddlers de sistema\nSystem/Matches: //<small><<resultCount>> resultados</small>//\n"
  },
  {
    "path": "languages/pt-BR/SideBar.multids",
    "content": "title: $:/language/SideBar/\n\nAll/Caption: Todos\nContents/Caption: Assuntos\nDrafts/Caption: Rascunhos\nMissing/Caption: Ausentes:\nMore/Caption: Mais\nOpen/Caption: Abrir\nOrphans/Caption: Órfãos:\nRecent/Caption: Recentes\nShadows/Caption: Sombras:\nSystem/Caption: Sistema:\nTags/Caption: Assuntos:\nTags/Untagged/Caption: sem assuntos\nTools/Caption: Opções\nTypes/Caption: Por Tipo:\n"
  },
  {
    "path": "languages/pt-BR/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\nTradução em Português do Brasil"
  },
  {
    "path": "languages/pt-BR/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\n~TiddlyWiki 5 - Brasil"
  },
  {
    "path": "languages/pt-BR/Snippets/ListByTag.tid",
    "content": "title: $:/language/Snippets/ListByTag\ntags: $:/tags/TextEditor/Snippet\ncaption: Lista de tiddlers por assunto\n\n<<list-links \"[tag[task]sort[title]]\">>\n"
  },
  {
    "path": "languages/pt-BR/Snippets/MacroDefinition.tid",
    "content": "title: $:/language/Snippets/MacroDefinition\ntags: $:/tags/TextEditor/Snippet\ncaption: Definição de Macro\n\n\\define macroName(param1:\"default value\",param2)\nTexto da macro\n\\end\n"
  },
  {
    "path": "languages/pt-BR/Snippets/Table4x3.tid",
    "content": "title: $:/language/Snippets/Table4x3\ntags: $:/tags/TextEditor/Snippet\ncaption: Tabela com 4 colunas por 3 linhas\n\n|! |!Alfa |!Beta |!Gama |!Delta |\n|!Um| | | | |\n|!Dois| | | | |\n|!Três | | | | |\n"
  },
  {
    "path": "languages/pt-BR/Snippets/TableOfContents.tid",
    "content": "title: $:/language/Snippets/TableOfContents\ntags: $:/tags/TextEditor/Snippet\ncaption: Lista de Assuntos\n\n<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'TableOfContents'>>\n\n</div>"
  },
  {
    "path": "languages/pt-BR/ThemeTweaks.multids",
    "content": "title: $:/language/ThemeTweaks/\n\nMetrics: Dimensões\nMetrics/BodyFontSize: Tamanho da fonte no corpo do tiddler\nMetrics/BodyLineHeight: Espaçamento entre linha no corpo do tiddler\nMetrics/FontSize: Tamanho de fonte\nMetrics/LineHeight: Altura de linha\nMetrics/SidebarBreakpoint: Ponto de quebra da barra de menu\nMetrics/SidebarBreakpoint/Hint: Largura mínima da página exibindo o frame de<br>tiddlers e a barra de menu lado-a-lado\nMetrics/SidebarWidth: Largura da barra de menu\nMetrics/SidebarWidth/Hint: Largura da barra de menu no esquema fluido-fixo\nMetrics/StoryLeft: Margem à esquerda do frame de tiddlers\nMetrics/StoryLeft/Hint: Distancia a que a margem esquerda do frame de tiddlers<br>(área dos tiddlers) está da esquerda da página\nMetrics/StoryRight: Rolo à direita\nMetrics/StoryRight/Hint: distancia da margem esquerda da barra<br>de menu esquerda da página\nMetrics/StoryTop: Posição vertical do rolo\nMetrics/StoryTop/Hint: distancia da margem superior do<br>frame ao topo da página\nMetrics/StoryWidth: Largura do rol\nMetrics/StoryWidth/Hint: largura total do frame de tiddlers\nMetrics/TiddlerWidth: Largura dos tiddlers\nMetrics/TiddlerWidth/Hint: largura do frame de tiddlers\nOptions: Comportamento da página\nOptions/CodeWrapping: Dividir linhas longas em blocos de código\nOptions/SidebarLayout: Comportamento da Página e Menu\nOptions/SidebarLayout/Fixed-Fluid: Página fixa, Menu fluido\nOptions/SidebarLayout/Fluid-Fixed: Página fluida, Menu fixo\nOptions/StickyTitles: Títulos persistentes\nOptions/StickyTitles/Hint: Torna as barras de título dos tiddlers sempre visíveis, como se ficassem coladas no topo da janela do navegador. Atenção, não funciona de todo com o Chrome, e pode causar problemas de apresentação no Firefox\nSettings: Configurações de conteúdo\nSettings/BackgroundImage: Imagem do plano de fundo\nSettings/BackgroundImageAttachment: Comportamento do plano de fundo\nSettings/BackgroundImageAttachment/Fixed: Fixar em relação à janela\nSettings/BackgroundImageAttachment/Scroll: Rolar com tiddlers\nSettings/BackgroundImageSize: Tamanho da imagem de fundo\nSettings/BackgroundImageSize/Auto: Repetir\nSettings/BackgroundImageSize/Contain: Estender\nSettings/BackgroundImageSize/Cover: Completar\nSettings/CodeFontFamily: Família da fonte de código\nSettings/FontFamily: Família da fonte\nThemeTweaks: Personalizar Estilo\nThemeTweaks/Hint: Pode ajustar alguns parâmetros do tema ''Vanilla''.\n"
  },
  {
    "path": "languages/pt-BR/TiddlerInfo.multids",
    "content": "title: $:/language/TiddlerInfo/\n\nAdvanced/Caption: Avançado\nAdvanced/PluginInfo/Empty/Hint: nenhum\nAdvanced/PluginInfo/Heading: Detalhes da extensão\nAdvanced/PluginInfo/Hint: Esta extensão contém os seguintes tiddlers-sombra:\nAdvanced/ShadowInfo/Heading: Estado da Sombra\nAdvanced/ShadowInfo/NotShadow/Hint: O tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> não é um tiddler-sombra\nAdvanced/ShadowInfo/OverriddenShadow/Hint: Sobrescrito por um tiddler normal\nAdvanced/ShadowInfo/Shadow/Hint: O tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> é um tiddler sombra\nAdvanced/ShadowInfo/Shadow/Source: Está definido na extensão <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>\nFields/Caption: Campos\nList/Caption: Lista\nList/Empty: Este tiddler não tem uma lista\nListed/Caption: Listado\nListed/Empty: Este tiddler não está listado por nenhum outro\nReferences/Caption: Referências\nReferences/Empty: Nenhum tiddler tem link associado\nTagging/Caption: Assuntos\nTagging/Empty: Nenhum tiddler do mesmo assunto\nTools/Caption: Opções\n"
  },
  {
    "path": "languages/pt-BR/Types/application%2Fjavascript.tid",
    "content": "title: $:/language/Docs/Types/application/javascript\ndescription: Código JavaScript\nname: application/javascript\ngroup: Programador\n"
  },
  {
    "path": "languages/pt-BR/Types/application%2Fjson.tid",
    "content": "title: $:/language/Docs/Types/application/json\ndescription: Informações JSON\nname: application/json\ngroup: Programador\n"
  },
  {
    "path": "languages/pt-BR/Types/application%2Fx-tiddler-dictionary.tid",
    "content": "title: $:/language/Docs/Types/application/x-tiddler-dictionary\ndescription: Dicionário de Informações\nname: application/x-tiddler-dictionary\ngroup: Programador\n"
  },
  {
    "path": "languages/pt-BR/Types/image%2Fgif.tid",
    "content": "title: $:/language/Docs/Types/image/gif\ndescription: Imagem GIF\nname: image/gif\ngroup: Imagem\n"
  },
  {
    "path": "languages/pt-BR/Types/image%2Fjpeg.tid",
    "content": "title: $:/language/Docs/Types/image/jpeg\ndescription: Imagem JPEG\nname: image/jpeg\ngroup: Imagem\n"
  },
  {
    "path": "languages/pt-BR/Types/image%2Fpng.tid",
    "content": "title: $:/language/Docs/Types/image/png\ndescription: Imagem PNG\nname: image/png\ngroup: Imagem\n"
  },
  {
    "path": "languages/pt-BR/Types/image%2Fsvg%2Bxml.tid",
    "content": "title: $:/language/Docs/Types/image/svg+xml\ndescription: Imagem SVG (Scalable Vector Graphics)\nname: image/svg+xml\ngroup: Imagem\n"
  },
  {
    "path": "languages/pt-BR/Types/text%2Fcss.tid",
    "content": "title: $:/language/Docs/Types/text/css\ndescription: Folha de estilos estática\nname: text/css\ngroup: Programador\n"
  },
  {
    "path": "languages/pt-BR/Types/text%2Fhtml.tid",
    "content": "title: $:/language/Docs/Types/text/html\ndescription: Notação HTML\nname: text/html\ngroup: Texto\n"
  },
  {
    "path": "languages/pt-BR/Types/text%2Fplain.tid",
    "content": "title: $:/language/Docs/Types/text/plain\ndescription: Texto Simples\nname: text/plain\ngroup: Texto\n"
  },
  {
    "path": "languages/pt-BR/Types/text%2Fvnd.tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/vnd.tiddlywiki\ndescription: TiddlyWiki 5\nname: text/vnd.tiddlywiki\ngroup: Texto\n"
  },
  {
    "path": "languages/pt-BR/plugin.info",
    "content": "{\n\t\"title\": \"$:/languages/pt-BR\",\n\t\"name\": \"pt-BR\",\n\t\"plugin-type\": \"language\",\n\t\"description\": \"Português (Brasil)\",\n\t\"author\": \"Mauricio Lucas\",\n\t\"core-version\": \">=5.1.14\"\n}\n"
  },
  {
    "path": "languages/pt-PT/Buttons.multids",
    "content": "title: $:/language/Buttons/\n\nAdvancedSearch/Caption: pesquisa avançada\nAdvancedSearch/Hint: Pesquisa avançada\nBold/Caption: negrito\nBold/Hint: Aplicar formatação negrito à selecção\nCancel/Caption: cancelar\nCancel/Hint: Cancelar a edição deste tiddler\nClear/Caption: limpar\nClear/Hint: Limpar imagem com cor sólida\nClone/Caption: clonar\nClone/Hint: Clonar este tiddler\nClose/Caption: fechar\nClose/Hint: Fechar este tiddler\nCloseAll/Caption: fechar todos\nCloseAll/Hint: Fechar todos os tiddlers\nCloseOthers/Caption: Fechar outros\nCloseOthers/Hint: Fechar os outros tiddlers\nControlPanel/Caption: painel de controlo\nControlPanel/Hint: Abrir o painel de controlo\nCopyToClipboard/Caption: copy to clipboard\nCopyToClipboard/Hint: Copy this text to the clipboard\nDelete/Caption: eliminar\nDelete/Hint: eliminar este tiddler\nEdit/Caption: editar\nEdit/Hint: Editar este tiddler\nEditorHeight/Caption: altura do editor\nEditorHeight/Caption/Auto: Ajustar altura ao tamanho do conteúdo automaticamente\nEditorHeight/Caption/Fixed: Altura Fixa:\nEditorHeight/Hint: Escolha a altura do editor de texto\nEncryption/Caption: encriptação\nEncryption/ClearPassword/Caption: limpar palavra passe\nEncryption/ClearPassword/Hint: Limpar a palavra passe e guardar esta wiki sem encriptação\nEncryption/Hint: Definir ou limpar a palavra passe de gravação desta wiki\nEncryption/SetPassword/Caption: definir palavra passe\nEncryption/SetPassword/Hint: Definir a palavra passe para guardar esta wiki com encriptação\nExcise/Caption: separar\nExcise/Caption/Excise: Executar separação\nExcise/Caption/MacroName: Nome da Macro:\nExcise/Caption/NewTitle: Título do novo tiddler:\nExcise/Caption/Replace: Substituir texto separado por:\nExcise/Caption/Replace/Link: ligação\nExcise/Caption/Replace/Macro: macro\nExcise/Caption/Replace/Transclusion: transclusão\nExcise/Caption/Tag: Etiquetar novo tiddler com o título deste tiddle\nExcise/Caption/TiddlerExists: Atenção: tiddler já existente\nExcise/Hint: Separar o texto seleccionado para um novo tiddler\nExportPage/Caption: exportar tudo\nExportPage/Hint: Exportar todos os tiddlers\nExportTiddler/Caption: exportar tiddler\nExportTiddler/Hint: Exportar tiddler\nExportTiddlers/Caption: exportar tiddlers\nExportTiddlers/Hint: Exportar tiddlers\nFold/Caption: dobrar tiddler\nFold/FoldBar/Caption: dobra-lateral\nFold/FoldBar/Hint: Barra lateral opcional para dobrar e desdobrar tiddlers\nFold/Hint: Dobrar o corpo deste tiddler\nFoldAll/Caption: dobrar todos os tiddlers\nFoldAll/Hint: Dobrar o corpo de todos os tiddlers abertos\nFoldOthers/Caption: dobrar outros tiddlers\nFoldOthers/Hint: Dobrar o corpo dos outros tiddlers abertos\nFullScreen/Caption: Ecrã completo\nFullScreen/Hint: Entrar ou sair do modo de ecrã completo\nHeading1/Caption: cabeçalho 1\nHeading1/Hint: Aplicar formatação de cabeçalho nível 1 a todas as linhas contendo selecção\nHeading2/Caption: cabeçalho 2\nHeading2/Hint: Aplicar formatação de cabeçalho nível 2 a todas as linhas contendo selecção\nHeading3/Caption: cabeçalho 3\nHeading3/Hint: Aplicar formatação de cabeçalho nível 3 a todas as linhas contendo selecção\nHeading4/Caption: cabeçalho 4\nHeading4/Hint: Aplicar formatação de cabeçalho nível 4 a todas as linhas contendo selecção\nHeading5/Caption: cabeçalho 5\nHeading5/Hint: Aplicar formatação de cabeçalho nível 5 a todas as linhas contendo selecção\nHeading6/Caption: cabeçalho 6\nHeading6/Hint: Aplicar formatação de cabeçalho nível 6 a todas as linhas contendo selecção\nHelp/Caption: ajuda\nHelp/Hint: Mostrar painel de ajuda\nHideSideBar/Caption: esconder barra lateral\nHideSideBar/Hint: Esconder a barra lateral\nHome/Caption: Início\nHome/Hint: Abrir os tiddlers pré definidos\nImport/Caption: importar\nImport/Hint: Importar ficheiros\nInfo/Caption: informação\nInfo/Hint: Mostrar informação sobre este tiddler\nItalic/Caption: itálico\nItalic/Hint: Aplicar formatação itálico à selecção\nLanguage/Caption: linguagem\nLanguage/Hint: Escolher a linguagem do interface do utilizador\nLineWidth/Caption: espessura da linha\nLineWidth/Hint: Definir espessura de linha para desenhar\nLink/Caption: ligação\nLink/Hint: Criar ligação em wikitext\nLinkify/Caption: wikilink\nLinkify/Hint: Envolver selecção em parentesis rectos\nListBullet/Caption: Lista com marcadores\nListBullet/Hint: Aplicar formatação de lista com marcadores às linhas contendo selecção\nListNumber/Caption: lista numerada\nListNumber/Hint: Aplicar formatação de lista numerada às linhas contendo selecção\nManager/Caption: Gestor de tiddlers\nManager/Hint: Abrir gestor de tiddlers\nMonoBlock/Caption: bloco mono-espaçado\nMonoBlock/Hint: Aplicar formatação de bloco mono-espaçado às linhas contendo selecção\nMonoLine/Caption: mono-espaçado\nMonoLine/Hint: Aplicar formatação mono-espaçada à selecção\nMore/Caption: mais\nMore/Hint: Mais acções\nNewHere/Caption: derivar\nNewHere/Hint: Criar um novo tiddler etiquetado com o actual\nNewImage/Caption: nova imagem\nNewImage/Hint: Criar novo tiddler de imagem\nNewJournal/Caption: novo diário\nNewJournal/Hint: Criar um novo tiddler-diário\nNewJournalHere/Caption: novo diário derivado\nNewJournalHere/Hint: Criar um novo tiddler-diário etiquetado com o actual\nNewMarkdown/Caption: novo tiddler Markdown\nNewMarkdown/Hint: Criar um novo tiddler Markdown\nNewTiddler/Caption: novo tiddler\nNewTiddler/Hint: Criar um novo tiddler\nOpacity/Caption: opacidade\nOpacity/Hint: Definir opacidade de desenho\nOpenWindow/Caption: abrir em nova janela\nOpenWindow/Hint: Abrir tiddler em nova janela\nPaint/Caption: cor de desenho\nPaint/Hint: Definir a cor de desenho\nPalette/Caption: paleta\nPalette/Hint: Escolher a paleta de cores\nPermalink/Caption: ligação directa\nPermalink/Hint: Define o endereço do navegador para apontar directamente para este tiddler\nPermaview/Caption: vista actual\nPermaview/Hint: Define o endereço do navegador para apontar directamente para todos os tiddlers actualmente exibidos\nPicture/Caption: imagem\nPicture/Hint: Inserir imagem\nPreview/Caption: pré-visualizar\nPreview/Hint: Mostrar o painel de pré-visualização\nPreviewType/Caption: tipo de pré-visualização\nPreviewType/Hint: Escolher o tipo de pré-visualização\nPrint/Caption: imprimir página\nPrint/Hint: Imprimir página actual\nQuote/Caption: citação\nQuote/Hint: Aplicar formatação de citação às linhas contendo selecção\nRefresh/Caption: actualizar\nRefresh/Hint: Recarregar totalmente a wiki actual\nRotateLeft/Caption: rodar para a esquerda\nRotateLeft/Hint: Rodar imagens para a esquerda 90 graus\nSave/Caption: guardar\nSave/Hint: Guardar este tiddler\nSaveWiki/Caption: guardar alterações\nSaveWiki/Hint: Guardar as alterações\nShowSideBar/Caption: Mostrar barra lateral\nShowSideBar/Hint: Mostrar a barra lateral\nSidebarSearch/Hint: Seleccionar o campo de pesquisa da barra lateral\nSize/Caption: tamanho da imagem\nSize/Caption/Height: Altura:\nSize/Caption/Resize: Redimensionar imagem\nSize/Caption/Width: Largura:\nSize/Hint: Definir tamanho da imagem\nStamp/Caption: carimbo\nStamp/Caption/New: Adicione o seu\nStamp/Hint: Inserir um excerto de texto pré configurado\nStamp/New/Text: Excerto de texto (Lembre-se de adicionar um título descritivo no campo da descrição).\nStamp/New/Title: Nome a exibir no menu\nStoryView/Caption: Vista principal\nStoryView/Hint: Escolher a visualização principal\nStrikethrough/Caption: rasurado\nStrikethrough/Hint: Aplicar formatação rasurada à selecção\nSubscript/Caption: subscrita\nSubscript/Hint: Aplicar formatação subscrita à selecção\nSuperscript/Caption: sobrescrita\nSuperscript/Hint: Aplicar formatação sobrescrita à selecção\nTagManager/Caption: gestor de etiquetas\nTagManager/Hint: Abrir o gestor de etiquetas\nTheme/Caption: tema\nTheme/Hint: Escolher o tema de exibição\nTimestamp/Caption: marcações de data/hora\nTimestamp/Hint: Escolha se as modificações actualizam as marcações de data/hora\nTimestamp/Off/Caption: Marcações de data/hora estão desligadas\nTimestamp/Off/Hint: Não actualizar as marcações de data/hora quando as tiddlers são modificadas\nTimestamp/On/Caption: Marcações de data/hora estão ligadas\nTimestamp/On/Hint: Atualizar as marcações de data/hora quando as tiddlers são modificadas\nToggleSidebar/Hint: Alternar visibilidade da Barra Lateral\nTranscludify/Caption: transclusão\nTranscludify/Hint: Envolver selecção em chavetas\nUnderline/Caption: sublinhar\nUnderline/Hint: Aplicar formatação sublinhada à selecção\nUnfold/Caption: desdobrar tiddler\nUnfold/Hint: Desdobrar o corpo deste tiddler\nUnfoldAll/Caption: desdobrar todos os  tiddlers\nUnfoldAll/Hint: Desdobrar o corpo de todos os tiddlers\n"
  },
  {
    "path": "languages/pt-PT/ControlPanel.multids",
    "content": "title: $:/language/ControlPanel/\n\nAdvanced/Caption: Avançado\nAdvanced/Hint: Informação Interna sobre esta TiddlyWiki\nAppearance/Caption: Aparência\nAppearance/Hint: Formas de personalizar a aparência da sua TiddlyWiki.\nBasics/AnimDuration/Prompt: Duração da animação:\nBasics/Caption: Básicos\nBasics/DefaultTiddlers/BottomHint: Utilize &#91;&#91;parêntesis rectos duplos &#93;&#93; para títulos com espaços. Ou pode escolher {{guardar a ordem da lista||$:/snippets/retain-story-ordering-button}}\nBasics/DefaultTiddlers/Prompt: Tiddlers pré definidos:\nBasics/DefaultTiddlers/TopHint: Escolha que tiddlers são exibidos ao iniciar:\nBasics/Language/Prompt: Olá! Linguagem actual:\nBasics/NewJournal/Tags/Prompt: Etiquetas para novos tiddlers-diário\nBasics/NewJournal/Text/Prompt: Texto para novos tiddlers-diário\nBasics/NewJournal/Title/Prompt: Título de novos tiddlers-diário\nBasics/NewTiddler/Title/Prompt: Título de novos tiddlers\nBasics/OverriddenShadowTiddlers/Prompt: Número de tiddlers-sombra sobrescritos:\nBasics/ShadowTiddlers/Prompt: Número de tiddlers-sombra:\nBasics/Subtitle/Prompt: Subtítulo:\nBasics/SystemTiddlers/Prompt: Número de tiddlers de sistema:\nBasics/Tags/Prompt: Número de etiquetas:\nBasics/Tiddlers/Prompt: Número de tiddlers:\nBasics/Title/Prompt: Título desta ~TiddlyWiki:\nBasics/Username/Prompt: Nome de utilizador para assinar edições:\nBasics/Version/Prompt: Versão da ~TiddlyWiki:\nEditorTypes/Caption: Tipos de Editor\nEditorTypes/Editor/Caption: Editor\nEditorTypes/Hint: Estes tiddlers determinam que editor é utilizado para editar tipos específicos de tiddler.\nEditorTypes/Type/Caption: Tipo\nInfo/Caption: Informação\nInfo/Hint: Informação acerca desta TiddlyWiki\nKeyboardShortcuts/Add/Caption: adicionar atalho\nKeyboardShortcuts/Add/Prompt: Digite o atalho aqui\nKeyboardShortcuts/Caption: Atalhos de Teclado\nKeyboardShortcuts/Hint: Gerir atribuições de atalhos de teclado\nKeyboardShortcuts/NoShortcuts/Caption: Nenhuns atalhos de teclado definidos\nKeyboardShortcuts/Platform/All: Todas as plataformas\nKeyboardShortcuts/Platform/Linux: Apenas plataforma Linux\nKeyboardShortcuts/Platform/Mac: Apenas plataforma Macintosh\nKeyboardShortcuts/Platform/NonLinux: Apenas plataformas não Linux\nKeyboardShortcuts/Platform/NonMac: Apenas plataformas não Macintosh\nKeyboardShortcuts/Platform/NonWindows: Apenas plataformas não Windows\nKeyboardShortcuts/Platform/Windows: Apenas plataforma Windows\nKeyboardShortcuts/Remove/Hint: remover atalho de teclado\nLoadedModules/Caption: Módulos Carregados\nLoadedModules/Hint: Estes são os módulos tiddler actualmente carregados conectados com os seus tiddlers fonte. Módulos em itálico não têm tiddler fonte, geralmente por serem carregados durante o período de arranque.\nPalette/Caption: Paleta\nPalette/Editor/Clone/Caption: clonar\nPalette/Editor/Clone/Prompt: Recomenda-se que clone esta paleta-sombra antes de a editar\nPalette/Editor/Delete/Hint: apagar esta entrada da paleta actual\nPalette/Editor/Names/External/Show: Mostrar nomes das cores que não fazem parte da paleta actual\nPalette/Editor/Prompt: Edição\nPalette/Editor/Prompt/Modified: Esta paleta-sombra foi modificada\nPalette/Editor/Reset/Caption: repor\nPalette/HideEditor/Caption: esconder editor\nPalette/Prompt: Paleta actual:\nPalette/ShowEditor/Caption: mostrar editor\nParsing/Block/Caption: Regras de análise de blocos\nParsing/Caption: Análise\nParsing/Hint: Aqui pode activar/desactivar globalmente regras individuais do analisador de wiki. para que as alterações tomem efeito tem de recarregar a wiki. Desactivar certas regras de análise pode impedir a <$text text=\"TiddlyWiki\"/> de funcionar correctamente. Utilize o [[modo seguro|https://tiddlywiki.com/#SafeMode]] \n para repor o normal funcionamento.\n\nHere you can globally disable/enable wiki parser rules. For changes to take effect, save and reload your wiki. Disabling certain parser rules can prevent <$text text=\"TiddlyWiki\"/> from functioning correctly. Use [[safe mode|https://tiddlywiki.com/#SafeMode]] to restore normal operation.\n\nParsing/Inline/Caption: Regras de Análise em Linha\nParsing/Pragma/Caption: Regras de Análise Pragma\nPlugins/Add/Caption: Obter mais extensões\nPlugins/Add/Hint: Instalar extensões da biblioteca de extensões oficial\nPlugins/AlreadyInstalled/Hint: Esta extensão já se encontra instalada com a versão<$text text=<<installedVersion>>/>\nPlugins/Caption: Extensões\nPlugins/ClosePluginLibrary: fechar biblioteca de extensões\nPlugins/Disable/Caption: desactivar\nPlugins/Disable/Hint: Desactivar esta extensão quando recarregar a página\nPlugins/Disabled/Status: (inactivo)\nPlugins/Empty/Hint: Nenhum\nPlugins/Enable/Caption: activar\nPlugins/Enable/Hint: Activar esta extensão quando recarregar a página\nPlugins/Install/Caption: instalar\nPlugins/Installed/Hint: Extensões actualmente instaladas:\nPlugins/Language/Prompt: Linguagens\nPlugins/Languages/Caption: Linguagens\nPlugins/Languages/Hint: Extensões de pacotes de idiomas\nPlugins/NoInfoFound/Hint: ''\"<$text text=<<currentTab>>/>\"'' não encontrado\nPlugins/NotInstalled/Hint: Esta extensão não está actualmente instalada\nPlugins/OpenPluginLibrary: abrir biblioteca de extensões\nPlugins/Plugin/Prompt: Extensões\nPlugins/Plugins/Caption: Extensões\nPlugins/Plugins/Hint: Extensões\nPlugins/Reinstall/Caption: reinstalar\nPlugins/Theme/Prompt: Temas\nPlugins/Themes/Caption: Temas\nPlugins/Themes/Hint: Extensões de Temas\nSaving/Caption: A gravar\nSaving/DownloadSaver/AutoSave/Description: Permitir gravação automática para módulo de gravação por transferência\nSaving/DownloadSaver/AutoSave/Hint: Activar Gravação automática para o Módulo de Gravação por Transferência\nSaving/DownloadSaver/Caption: Módulo de Gravação por Transferência\nSaving/DownloadSaver/Hint: Estas definições aplicam-se ao módulo de gravação por transferência compatível com HTML5\nSaving/General/Caption: Geral\nSaving/General/Hint: Estas definições aplicam-se a todos os módulos de gravação carregados\nSaving/GitService/Branch: Ramo alvo para gravação\nSaving/GitService/CommitMessage: Guardado por TiddlyWiki\nSaving/GitService/Description: Estas definições serão apenas utilizadas quando gravar para <<service-name>>\nSaving/GitService/Filename: Nome de ficheiro do ficheiro alvo (p.e. `index.html`)\nSaving/GitService/GitHub/Caption: Módulo de Gravação ~GitHub\nSaving/GitService/GitHub/Password: Palavra Passe, token OAUTH, ou token de acesso pessoal (ver [[GitHub help page|https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line]] para mais detalhes)\nSaving/GitService/GitLab/Caption: Módulo de Gravação ~GitLab\nSaving/GitService/GitLab/Password: Token de acesso pessoal para a API (ver [[GitLab help page|https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html]] para mais detalhes)\nSaving/GitService/Path: Caminho para o ficheiro alvo (p.e. `/wiki/`)\nSaving/GitService/Repo: Repositório Alvo (p.e. `Jermolene/TiddlyWiki5`)\nSaving/GitService/ServerURL: URL da API do Servidor\nSaving/GitService/UserName: Nome de Utilizador\nSaving/Heading: A gravar\nSaving/Hint: Definições utilizadas para guardar a TiddlyWiki inteira como um só ficheiro através de um módulo de gravação\nSaving/TiddlySpot/Advanced/Heading: Definições Avançadas\nSaving/TiddlySpot/BackupDir: Directoria de cópias de segurança\nSaving/TiddlySpot/Backups: Cópias de Segurança\nSaving/TiddlySpot/Caption: ~TiddlySpot Saver\nSaving/TiddlySpot/Description: Estas definições só serão utilizadas quando gravar para http://tiddlyspot.com ou um servidor remoto compatível\nSaving/TiddlySpot/Filename: Nome do ficheiro para envio\nSaving/TiddlySpot/Heading: ~TiddlySpot\nSaving/TiddlySpot/Hint: //O URL por defeito será `http://<wikiname>.tiddlyspot.com/store.cgi` e pode ser alterado para utilizar um endereço de servidor personalizado//\nSaving/TiddlySpot/Password: Palavra Passe\nSaving/TiddlySpot/ServerURL: URL do Servidor\nSaving/TiddlySpot/UploadDir: Directoria de Envio\nSaving/TiddlySpot/UserName: Nome da Wiki\nSettings/AutoSave/Caption: Gravação Automática\nSettings/AutoSave/Disabled/Description: Não fazer gravação automática\nSettings/AutoSave/Enabled/Description: Fazer gravação automática\nSettings/AutoSave/Hint: Guardar alterações automaticamente durante a edição\nSettings/CamelCase/Caption: Ligações Wiki em Camel Case\nSettings/CamelCase/Description: Activar ligações em frases ~CamelCase automaticamente\nSettings/CamelCase/Hint: Requer recarregar o texto para que tome efeito\nSettings/Caption: Definições\nSettings/DefaultMoreSidebarTab/Caption: Separador Mais da Barra Lateral pré Definido\nSettings/DefaultMoreSidebarTab/Hint: Especificar que separador Mais é exibido por defeito\nSettings/DefaultSidebarTab/Caption: Separador da barra lateral pré-definido\nSettings/DefaultSidebarTab/Hint: Definir que separador da barra lateral é exibido por defeito\nSettings/EditorToolbar/Caption: Barra de Ferramentas do Editor\nSettings/EditorToolbar/Description: Mostrar barra de ferramentas do editor\nSettings/EditorToolbar/Hint: Activar ou desactivar a barra de ferramentas do editor\nSettings/Hint: Estas definições permitem personalizar o comportamento da TiddlyWiki.\nSettings/InfoPanelMode/Caption: Modo painel de informação da tiddler\nSettings/InfoPanelMode/Hint: Controle quando o painel de informação da tiddler fecha:\nSettings/InfoPanelMode/Popup/Description: Painel de informação da tiddler fecha automaticamente\nSettings/InfoPanelMode/Sticky/Description: Painel de informação da tiddler fica aberto até ser fechado\nSettings/LinkToBehaviour/Caption: Comportamento de Abertura de Tiddlers\nSettings/LinkToBehaviour/InsideRiver/Hint: Navegação do //interior// do rol de tiddlers\nSettings/LinkToBehaviour/OpenAbove: Abrir acima do tiddler actual\nSettings/LinkToBehaviour/OpenAtBottom: Abrir no fim do rol de tiddlers\nSettings/LinkToBehaviour/OpenAtTop: Abrir no topo do rol de tiddlers\nSettings/LinkToBehaviour/OpenBelow: Abrir abaixo do tiddler actual\nSettings/LinkToBehaviour/OutsideRiver/Hint: Navegação do //exterior // do rol de tiddlers\nSettings/MissingLinks/Caption: Ligações Wiki\nSettings/MissingLinks/Description: Activar ligações para tiddlers em falta\nSettings/MissingLinks/Hint: Definir se devem ser criadas ligações para tiddlers que ainda não existem\nSettings/NavigationAddressBar/Caption: Barra de Endereços de Navegação\nSettings/NavigationAddressBar/Hint: Comportamento da barra de endereços do navegador quando abrir um tiddler:\nSettings/NavigationAddressBar/No/Description: Não actualizar a barra de endereços\nSettings/NavigationAddressBar/Permalink/Description: Incluir o tiddler de destino\nSettings/NavigationAddressBar/Permaview/Description: Incluir o tiddler de destino e toda a sequência em exibição\nSettings/NavigationHistory/Caption: Histórico de Navegação\nSettings/NavigationHistory/Hint: Actualizar o histórico do navegador quando navegar para um tiddler\nSettings/NavigationHistory/No/Description: Não actualizar o histórico\nSettings/NavigationHistory/Yes/Description: Actualizar o histórico\nSettings/NavigationPermalinkviewMode/Caption: Modo Permalink/permaview\nSettings/NavigationPermalinkviewMode/CopyToClipboard/Description: Copiar URL permalink/permaview para a area de trabalho\nSettings/NavigationPermalinkviewMode/Hint: Escolher como a permalink/permaview é processada:\nSettings/NavigationPermalinkviewMode/UpdateAddressBar/Description: Actualizar a barra de endereço com URL permalink/permaview\nSettings/PerformanceInstrumentation/Caption: Instrumentação de Performance\nSettings/PerformanceInstrumentation/Description: Activar instrumentação de performance\nSettings/PerformanceInstrumentation/Hint: Exibe estatísticas de performance na consola de desenvolvimento do navegador. Requer recarregar para que tome efeito.\nSettings/TitleLinks/Caption: Títulos dos Tiddlers\nSettings/TitleLinks/Hint: Exibir opcionalmente títulos dos tiddlers como ligações\nSettings/TitleLinks/No/Description: Não exibir títulos dos tiddlers como ligações\nSettings/TitleLinks/Yes/Description: Exibir títulos dos tiddlers como ligações\nSettings/ToolbarButtons/Caption: Botões da Barra de Ferramentas\nSettings/ToolbarButtons/Hint: Aparência pré definida dos botões da barra de ferramentas:\nSettings/ToolbarButtons/Icons/Description: Incluir ícone\nSettings/ToolbarButtons/Text/Description: Incluir texto\nSettings/ToolbarButtonStyle/Caption: Estilo dos botões da barra de ferramentas\nSettings/ToolbarButtonStyle/Hint: Escolha o estilo dos botões da barra de ferramentas:\nSettings/ToolbarButtonStyle/Styles/Borderless: Sem moldura\nSettings/ToolbarButtonStyle/Styles/Boxed: Caixa\nSettings/ToolbarButtonStyle/Styles/Rounded: Arredondados\nStoryView/Caption: Vista principal\nStoryView/Prompt: Vista actual:\nStylesheets/Caption: Folhas de Estilos\nStylesheets/Expand/Caption: Expandir Tudo\nStylesheets/Hint: This is the rendered CSS of the current stylesheet tiddlers tagged with <<tag \"$:/tags/Stylesheet\">>\nStylesheets/Restore/Caption: Restore\nTheme/Caption: Tema\nTheme/Prompt: Tema Actual\nTiddlerFields/Caption: Campos dos Tiddlers\nTiddlerFields/Hint: Esta é uma lista completa dos campos dos tiddlers em utilização nesta wiki (incluindo tiddlers de sistema mas excluindo tiddlers-sombra).\nToolbars/Caption: Barras de Ferramentas\nToolbars/EditorToolbar/Caption: Barra de Ferramentas do Editor\nToolbars/EditorToolbar/Hint: Escolha que botões devem ser exibidos na barra de ferramentas do editor. Alguns botões só serão exibidos enquanto edita tiddlers de certo tipo. Arraste para mudar a ordem.\nToolbars/EditToolbar/Caption: Barra de Ferramentas de Edição\nToolbars/EditToolbar/Hint: Escolher que botões são exibidos para tiddlers em modo de edição\nToolbars/Hint: Seleccionar que botões da barra de ferramentas são exibidos\nToolbars/PageControls/Caption: Barra de Ferramentas da Página\nToolbars/PageControls/Hint: Escolher que botões são exibidos na barra de ferramentas principal da página\nToolbars/ViewToolbar/Caption: Barra de Ferramentas de Exibição\nToolbars/ViewToolbar/Hint: Escolher que botões são exibidos para tiddlers em modo de visualização\nTools/Download/Full/Caption: Transferir wiki completa\n"
  },
  {
    "path": "languages/pt-PT/CoreReadMe.tid",
    "content": "title: $:/core/readme\n\nEsta extensão contém os componentes principais da TiddlyWiki, compostos por:\n\n* Módulos de código JavaScript\n* Ícones\n* Modelos necessários para criar o interface do utilizador da TiddlyWiki\n* Traduções em Inglês Britânico (en-GB) dos textos traduzíveis utilizados pelo núcleo\n"
  },
  {
    "path": "languages/pt-PT/Dates.multids",
    "content": "title: $:/language/\n\nDate/DaySuffix/1: º\nDate/DaySuffix/10: º\nDate/DaySuffix/11: º\nDate/DaySuffix/12: º\nDate/DaySuffix/13: º\nDate/DaySuffix/14: º\nDate/DaySuffix/15: º\nDate/DaySuffix/16: º\nDate/DaySuffix/17: º\nDate/DaySuffix/18: º\nDate/DaySuffix/19: º\nDate/DaySuffix/2: º\nDate/DaySuffix/20: º\nDate/DaySuffix/21: º\nDate/DaySuffix/22: º\nDate/DaySuffix/23: º\nDate/DaySuffix/24: º\nDate/DaySuffix/25: º\nDate/DaySuffix/26: º\nDate/DaySuffix/27: º\nDate/DaySuffix/28: º\nDate/DaySuffix/29: º\nDate/DaySuffix/3: º\nDate/DaySuffix/30: º\nDate/DaySuffix/31: º\nDate/DaySuffix/4: º\nDate/DaySuffix/5: º\nDate/DaySuffix/6: º\nDate/DaySuffix/7: º\nDate/DaySuffix/8: º\nDate/DaySuffix/9: º\nDate/Long/Day/0: Domingo\nDate/Long/Day/1: Segunda\nDate/Long/Day/2: Terça\nDate/Long/Day/3: Quarta\nDate/Long/Day/4: Quinta\nDate/Long/Day/5: Sexta\nDate/Long/Day/6: Sábado\nDate/Long/Month/1: Janeiro\nDate/Long/Month/10: Outubro\nDate/Long/Month/11: Novembro\nDate/Long/Month/12: Dezembro\nDate/Long/Month/2: Fevereiro\nDate/Long/Month/3: Março\nDate/Long/Month/4: Abril\nDate/Long/Month/5: Maio\nDate/Long/Month/6: Junho\nDate/Long/Month/7: Julho\nDate/Long/Month/8: Agosto\nDate/Long/Month/9: Setembro\nDate/Short/Day/0: Dom\nDate/Short/Day/1: Seg\nDate/Short/Day/2: Ter\nDate/Short/Day/3: Qua\nDate/Short/Day/4: Qui\nDate/Short/Day/5: Sex\nDate/Short/Day/6: Sab\nDate/Short/Month/1: Jan\nDate/Short/Month/10: Out\nDate/Short/Month/11: Nov\nDate/Short/Month/12: Dez\nDate/Short/Month/2: Fev\nDate/Short/Month/3: Mar\nDate/Short/Month/4: Abr\nDate/Short/Month/5: Mai\nDate/Short/Month/6: Jun\nDate/Short/Month/7: Jul\nDate/Short/Month/8: Ago\nDate/Short/Month/9: Set\nDate/Period/am: am\nDate/Period/pm: pm\nRelativeDate/Future/Days: Dentro de <<period>> dias\nRelativeDate/Future/Hours: Dentro de <<period>> horas\nRelativeDate/Future/Minutes: Dentro de <<period>> minutos\nRelativeDate/Future/Months: Dentro de <<period>> meses\nRelativeDate/Future/Second: Daqui a 1 segundo\nRelativeDate/Future/Seconds: Dentro de <<period>> segundos\nRelativeDate/Future/Years: Dentro de <<period>> anos\nRelativeDate/Past/Days: Há <<period>> dias\nRelativeDate/Past/Hours: Há <<period>> horas\nRelativeDate/Past/Minutes: Há <<period>> minutos\nRelativeDate/Past/Months: Há <<period>> meses\nRelativeDate/Past/Second: Há 1 segundo\nRelativeDate/Past/Seconds: Há <<period>> segundos\nRelativeDate/Past/Years: Há <<period>> anos\n"
  },
  {
    "path": "languages/pt-PT/Docs/ModuleTypes.multids",
    "content": "title: $:/language/Docs/ModuleTypes/\n\nallfilteroperator: Um sub-operador para o operador de filtro \"All\".\nanimation: Animações que podem ser utilizadas com a RevealWidget.\nauthenticator: Define como os pedidos são autenticados pelo servidor HTTP integrado.\nbitmapeditoroperation: A bitmap editor toolbar operation.\ncommand: Comandos que podem ser executados no Node.js.\nconfig: Informação a ser inserida em `$tw.config`.\nfilteroperator: Métodos de filtragem individuais.\nglobal: Informação global a ser inserida em `$tw`.\ninfo: Publica a informação do sistema através da [[$:/temp/info-plugin]] pseudo-extensão.\nisfilteroperator: Operandos para o operador de filtragem ''is''.\nlibrary: Tipo de módulo genérico para módulos de JavaScript de usos gerais.\nmacro: Definições de macros JavaScript.\nparser: Interpretadores para diferentes tipos de conteúdo.«\nroute: Define como são processados padrões individuais de URL pelo servidor integrado.\nsaver: Os savers controlam diferentes métodos para guardar ficheiros a partir do navegador.\nstartup: Funções de arranque.\nstoryview: As story views personalizam as animações e comportamento das ferramentas de listagem.\ntexteditoroperation: Uma operação da barra de edição de texto.\ntiddlerdeserializer: Converte diferentes tipos de conteúdo em tiddlers.\ntiddlerfield: Define o comportamento individual de um campo de tiddler.\ntiddlermethod: Adiciona um método ao protótipo `$tw.Tiddler`.\nupgrader: Aplica processamento de actualização durante o processo de importação/actualização de versão.\nutils: Adiciona métodos a `$tw.utils`.\nutils-node: Adiciona métodos específicos para o Node.js a `$tw.utils`.\nwidget: As ferramentas widgets contém representação e actualização de DOM.\nwikimethod: Adiciona métodos a `$tw.Wiki`.\nwikirule: Regras individuais de interpretação para o interpretador principal de WikiText.\n"
  },
  {
    "path": "languages/pt-PT/Docs/PaletteColours.multids",
    "content": "title: $:/language/Docs/PaletteColours/\n\nalert-background: Fundo de alertas\nalert-border: Margem de alertas\nalert-highlight: Realce de alertas\nalert-muted-foreground: Fundo de alertas suavizados\nbackground: Fundo geral\nblockquote-bar: Barra de citação\nbutton-background: Fundo de botão pré-definido\nbutton-border: Moldura de botão pré-definido\nbutton-foreground: Primeiro plano de botão pré-definido\ncode-background: Fundo de código\ncode-border: Margem de código\ncode-foreground: Primeiro plano de código\ndirty-indicator: Indicador de alterações por guardar\ndownload-background: Fundo do botão de transferências\ndownload-foreground: Primeiro plano do botão de transferências\ndragger-background: Fundo da zona de arrasto\ndragger-foreground: Primeiro plano da zona de arrasto\ndropdown-background: Fundo de menu suspenso\ndropdown-border: Margem de menu suspenso\ndropdown-tab-background: Fundo de separador suspenso\ndropdown-tab-background-selected: Fundo para separador suspenso seleccionado\ndropzone-background: Fundo de zona de largada\nexternal-link-background: Fundo de ligação externa\nexternal-link-background-hover: Fundo de ligação externa sob o cursor\nexternal-link-background-visited: Fundo de ligação externa visitada\nexternal-link-foreground: Primeiro plano de ligação externa\nexternal-link-foreground-hover: Primeiro plano de ligação externa sob o cursor\nexternal-link-foreground-visited: Primeiro plano de ligação externa visitada\nforeground: Primeiro plano geral\nmessage-background: Fundo de caixa de mensagem\nmessage-border: Margem de caixa de mensagem\nmessage-foreground: Primeiro plano de caixa de mensagem\nmodal-backdrop: Cenário de modal\nmodal-background: Fundo de modal\nmodal-border: Margem de modal\nmodal-footer-background: Fundo do rodapé modal\nmodal-footer-border: Margem do rodapé modal\nmodal-header-border: Margem do cabeçalho modal\nmuted-foreground: Primeiro plano suavizado geral\nnotification-background: Fundo de notificação\nnotification-border: Margem de notificação\npage-background: Fundo de página\npre-background: Fundo de código pré formatado\npre-border: Margem de código pré formatado\nprimary: Primário geral\nselect-tag-background: `<select>` element background\nselect-tag-foreground: `<select>` element text\nsidebar-button-foreground: Fundo de botões da barra lateral\nsidebar-controls-foreground: Primeiro plano de controles da barra lateral\nsidebar-controls-foreground-hover: Primeiro plano de controles da barra lateral sob cursor\nsidebar-foreground: Primeiro plano da barra lateral\nsidebar-foreground-shadow: Sombra de primeiro plano da barra lateral\nsidebar-muted-foreground: Primeiro plano suavizado da barra lateral\nsidebar-muted-foreground-hover: Primeiro plano suavizado da barra lateral sob cursor\nsidebar-tab-background: Fundo de separador da barra lateral\nsidebar-tab-background-selected: Fundo de separador seleccionado da barra lateral\nsidebar-tab-border: Margem de separador da barra lateral\nsidebar-tab-border-selected: Margem de separador seleccionado da barra lateral\nsidebar-tab-divider: Divisão de separador da barra lateral\nsidebar-tab-foreground: Primeiro plano de separador da barra lateral\nsidebar-tab-foreground-selected: Primeiro plano de separador seleccionado da barra lateral\nsidebar-tiddler-link-foreground: Primeiro plano de ligação para tiddler na barra lateral\nsidebar-tiddler-link-foreground-hover: Primeiro plano de ligação para tiddler na barra lateral sob o cursor\nsite-title-foreground: Primeiro plano do site\nstatic-alert-foreground: Primeiro plano de alerta estático\ntab-background: Fundo de separador\ntab-background-selected: Fundo de separador seleccionado\ntab-border: Margem de separador\ntab-border-selected: Margem de separador seleccionado\ntab-divider: Divisão de separador\ntab-foreground: Primeiro plano de separador\ntab-foreground-selected: Primeiro plano de separadores seleccionados\ntable-border: Margem de tabela\ntable-footer-background: Fundo de rodapé de tabela\ntable-header-background: Fundo de cabeçalho de tabela\ntag-background: Fundo de etiqueta\ntag-foreground: Primeiro plano de etiqueta\ntiddler-background: Fundo de Tiddler\ntiddler-border: Margem de Tiddler\ntiddler-controls-foreground: Primeiro plano de controlos dos Tiddlers\ntiddler-controls-foreground-hover: Primeiro plano de controlos dos Tiddlers sob o cursor\ntiddler-controls-foreground-selected: Primeiro plano de controlos dos Tiddlers seleccionados\ntiddler-editor-background: Fundo do editor de Tiddlers\ntiddler-editor-border: Margem do editor de Tiddlers\ntiddler-editor-border-image: Imagem de margem do editor de Tiddlers\ntiddler-editor-fields-even: Fundo de campos pares do editor de Tiddlers\ntiddler-editor-fields-odd: Fundo de campos ímpares do editor de Tiddlers\ntiddler-info-background: Fundo do painel de informação de Tiddlers\ntiddler-info-border: Margem do painel de informação de Tiddlers\ntiddler-info-tab-background: Fundo de separadores do painel de informação de Tiddlers\ntiddler-link-background: Fundo de ligação para Tiddlers\ntiddler-link-foreground: Primeiro plano de ligação para Tiddlers\ntiddler-subtitle-foreground: Primeiro plano de subtítulo de Tiddlers\ntiddler-title-foreground: Primeiro plano de título de Tiddlers\ntoolbar-cancel-button: Botão 'cancelar' da barra de ferramentas\ntoolbar-close-button: Botão 'fechar' da barra de ferramentas\ntoolbar-delete-button: Botão 'eliminar' da barra de ferramentas\ntoolbar-done-button: Botão 'concluir' da barra de ferramentas\ntoolbar-edit-button: Botão 'editar' da barra de ferramentas\ntoolbar-info-button: Botão 'informação' da barra de ferramentas\ntoolbar-new-button: Botão 'novo tiddler' da barra de ferramentas\ntoolbar-options-button: Botão 'opções' da barra de ferramentas\ntoolbar-save-button: Botão 'guardar' da barra de ferramentas\nuntagged-background: Fundo de cápsula sem etiqueta\nvery-muted-foreground: Fundo muito suavizado\n"
  },
  {
    "path": "languages/pt-PT/EditTemplate.multids",
    "content": "title: $:/language/EditTemplate/\n\nBody/External/Hint: Este é um tiddler armazenado fora do ficheiro principal da TiddlyWiki. Pode mudar as etiquetas mas não pode editar o seu conteúdo\nBody/Placeholder: Escreva o texto para este tiddler\nBody/Preview/Type/Output: resultado\nField/Dropdown/Caption: lista de campos\nField/Dropdown/Hint: Mostrar lista de campos\nField/Remove/Caption: remover campo\nField/Remove/Hint: Remover campo\nFields/Add/Button: adicionar\nFields/Add/Dropdown/System: Campos de Sistema\nFields/Add/Dropdown/User: Campos do utilizador\nFields/Add/Name/Placeholder: nome do campo\nFields/Add/Prompt: Adicionar novo campo\nFields/Add/Value/Placeholder: valor do campo\nShadow/OverriddenWarning: Isto é um tiddler-sombra modificado. Pode voltar à configuração pré-definida apagando este tiddler\nShadow/Warning: Isto é um tiddler-sombra. Quaisquer alterações irão sobrepor-se à versão pré-definida\nTags/Add/Button: adicionar\nTags/Add/Placeholder: nome da etiqueta\nTags/Dropdown/Caption: lista de etiquetas\nTags/Dropdown/Hint: Mostrar a lista de etiquetas\nTitle/BadCharacterWarning: Atenção: Evite utilizar os caracteres <<bad-chars>> no título de tiddlers\nTitle/Exists/Prompt: Tiddler alvo já existente\nTitle/References/Prompt: As seguintes referências a este tiddler não serão automaticamente actualizadas:\nTitle/Relink/Prompt: Actualizar ''<$text text=<<fromTitle>>/>'' para ''<$text text=<<toTitle>>/>'' nas //etiquetas// e nos campos //list// de outros tiddlers\nType/Delete/Caption: apagar tipo de conteúdo\nType/Delete/Hint: Apagar tipo de conteúdo\nType/Dropdown/Caption: Lista de tipo de conteúdo\nType/Dropdown/Hint: Mostrar a lista de tipo de conteúdo\nType/Placeholder: tipo de conteúdo\nType/Prompt: Tipo:\n"
  },
  {
    "path": "languages/pt-PT/Exporters.multids",
    "content": "title: $:/language/Exporters/\n\nCsvFile: Ficheiros CSV dos tiddlers\nJsonFile: Ficheiros JSON dos tiddlers\nStaticRiver: Sequência de tiddlers como ficheiro estático HTML\nTidFile: Tiddler individual em ficheiro \".tid\"\n"
  },
  {
    "path": "languages/pt-PT/Fields.multids",
    "content": "title: $:/language/Docs/Fields/\n\n_canonical_uri: O URI completo dum tiddler de imagem externa\nbag: O nome do saco de onde veio o tiddler\ncaption: O texto a exibir num separador ou botão\ncolor: O valor CSS da cor associada ao tiddler\ncomponent: O nome do componente responsável por um [[tiddler alerta|AlertMechanism]]\ncreated: A data de criação do tiddler\ncreator: O nome da pessoa que criou o tiddler\ncurrent-tiddler: Utilizado para armazenar o primeiro tiddler numa [[lista de histórico|HistoryMechanism]]\ndependents: Para uma extensão, lista os títulos de extensões dependentes\ndescription: O texto descritivo de uma extensão, ou diálogo modal\ndraft.of: Para tiddlers rascunho, contém o título do tiddler do qual este é rascunho\ndraft.title: Para tiddlers rascunho, contém o título proposto para o novo tiddler\nfooter: O texto de rodapé para um assistente\nhack-to-give-us-something-to-compare-against: Um campo temporário utilizado em [[$:/core/templates/static.content]]\nhide-body: O modelo de visualização esconderá o corpo dos tiddlers se definido como: ''yes''\nicon: O título do tiddler que contém o ícone associado com determinado tiddler\nlibrary: Se definido como \"yes\" indica que o tiddler deve ser gravado como uma biblioteca JavaScript\nlist: Uma lista ordenada de títulos de tiddlers associados com um determinado tiddler\nlist-after: Se definido, o título do tiddler a seguir ao qual este tiddler deve ser adicionado numa lista ordenada de títulos de tiddlers\nlist-before: Se definido, o título do tiddler antes do qual este tiddler deve ser adicionado numa lista ordenada de títulos de tiddlers, ou no início da lista se este campo estiver presente mas vazio\nmodified: A data e hora da última modificação de um tiddler\nmodifier: Título do tiddler associado à última pessoa que modificou o tiddler\nname: O nome humanamente legível associado a um tiddler extensão\nplugin-priority: Valor numérico indicador da prioridade de um tiddler extensão\nplugin-type: O tipo de extensão de um tiddler extensão\nreleased: Data de lançamento de uma versão da TiddlyWiki\nrevision: A revisão do tiddler guardada no servidor\nsource: O URL fonte associado a um tiddler\nsubtitle: O texto do subtítulo de um assistente\ntags: Lista de etiquetas associadas a um tiddler\ntext: O texto do corpo de um tiddler\ntitle: O nome único de um tiddler\ntoc-link: Suprime a ligação do tiddler numa árvore de Tabela de Conteúdos se definido como: ''no''\ntype: O tipo de conteúdo de um tiddler\nversion: Informação de versão de uma extensão\n"
  },
  {
    "path": "languages/pt-PT/Filters.multids",
    "content": "title: $:/language/Filters/\n\nAllTags: Todas as etiquetas excepto etiquetas de sistema\nAllTiddlers: Todos os tiddlers excepto os tiddlers de sistema\nDrafts: Tiddlers rascunho\nMissing: Tiddlers em falta\nOrphans: Tiddlers órfãos\nOverriddenShadowTiddlers: Tiddlers-sombra substituídos\nRecentSystemTiddlers: Tiddlers recentemente modificados, incluindo tiddlers de sistema\nRecentTiddlers: Tiddlers modificados recentemente\nSessionTiddlers: Tiddlers modificados desde que a wiki foi carregada\nShadowTiddlers: Tiddlers-sombra\nStoryList: Tiddlers no rol, excluindo <$text text=\"$:/AdvancedSearch\"/>\nSystemTags: Etiquetas de sistema\nSystemTiddlers: Tiddlers de sistema\nTypedTiddlers: Tiddlers sem texto wiki\n"
  },
  {
    "path": "languages/pt-PT/GettingStarted.tid",
    "content": "title: GettingStarted\n\n\\define lingo-base() $:/language/ControlPanel/Basics/\nBem vindo à ~TiddlyWiki e à comunidade ~TiddlyWiki\n\nAntes de começar a armazenar informação importante na ~TiddlyWiki é importante certificar-se que consegue gravar alterações de forma fiável. Para mais detalhes veja https://tiddlywiki.com/#GettingStarted\n\n!! Configurar esta ~TiddlyWiki\n\n<div class=\"tc-control-panel\">\n\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit-text tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\nVeja o [[painel de controlo|$:/ControlPanel]] para mais opções."
  },
  {
    "path": "languages/pt-PT/Help/build.tid",
    "content": "title: $:/language/Help/build\ndescription: Correr automaticamente comandos configurados\n\nConstruir os alvos de construção especificados para a wiki actual. Se nenhum alvo for especificado todos os alvos disponíveis serão construídos.\n\n```\n--build <alvo> [<alvo> ...]\n```\n\nOs alvos de construção são definidos no ficheiro `tiddlywiki.info` na pasta da wiki."
  },
  {
    "path": "languages/pt-PT/Help/clearpassword.tid",
    "content": "title: $:/language/Help/clearpassword\ndescription: Remover palavra passe para as operações criptográficas subsequentes\n\nRemover a palavra passe para as operações criptográficas subsequentes\n\n```\n--clearpassword\n```"
  },
  {
    "path": "languages/pt-PT/Help/default.tid",
    "content": "title: $:/language/Help/default\ndescription: \n\n\\define commandTitle()\n$:/language/Help/$(command)$\n\\end\n```\nusage: tiddlywiki [<wikifolder>] [--<command> [<args>...]...]\n```\n\nComandos disponíveis:\n\n<ul>\n<$list filter=\"[commands[]sort[title]]\" variable=\"command\">\n<li><$link to=<<commandTitle>>><$macrocall $name=\"command\" $type=\"text/plain\" $output=\"text/plain\"/></$link>: <$transclude tiddler=<<commandTitle>> field=\"description\"/></li>\n</$list>\n</ul>\n\nPara obter ajuda detalhada sobre um comando:\n\n```\ntiddlywiki --help <command>\n```"
  },
  {
    "path": "languages/pt-PT/Help/deletetiddlers.tid",
    "content": "title: $:/language/Help/deletetiddlers\ndescription: Apaga um grupo de tiddlers\n\n<<.from-version \"5.1.20\">> Apaga um grupo de tiddlers identificados por um filtro.\n\n```\n--deletetiddlers <filter>\n```\n"
  },
  {
    "path": "languages/pt-PT/Help/editions.tid",
    "content": "title: $:/language/Help/editions\ndescription: Lista as edições da TiddlyWiki disponíveis\n\nLista os nomes e descrições das edições disponíveis. Pode criar uma nova wiki da edição especificada com o comando `--init` .\n\n```\n--editions\n```"
  },
  {
    "path": "languages/pt-PT/Help/fetch.tid",
    "content": "title: $:/language/Help/fetch\ndescription: Fetch tiddlers from wiki by URL\n\nObter um ou mais ficheiros por HTTP/HTTPS, e importar os tiddlers correspondentes a um filtro, opcionalmente transformando os títulos de chegada.\n\n```\n--fetch file <url> <import-filter> <transform-filter>\n--fetch files <url-filter> <import-filter> <transform-filter>\n--fetch raw-file <url> <transform-filter>\n--fetch raw-files <url-filter> <transform-filter>\n```\n\nAs variantes \"file\" e \"files\" obtém os ficheiros especificados e tentam importar os tiddlers neles contidos (o mesmo processamento que receberiam se fossem arrastados para dentro da janela do browser). As variantes \"raw-file\" e \"raw-files\" obtém os ficheiros especificados e armazenam a informação bruta em tiddlers, sem aplicar a lógica de importação.\n\nCom as variantes \"file\" e \"raw-file\" apenas um único ficheiro é obtido e o primeiro parâmetro é o URL do ficheiro a ser lido.\n\nCom as variantes \"files\" e \"raw-files\", são obtidos múltiplos ficheiros e o primeiro parâmetro é um filtro que formula uma lista de URLs dos ficheiros a ler. Por exemplo dada uma lista de tiddlers etiquetados \"servidor-remoto\" que contém um campo \"url\" o filtro `[tag[servidor-remoto]get[url]]` irá buscar todos os URLs disponíveis.\n\nPara as variantes \"file\" e \"files\", o parâmetro `<import-filter>` especifica um filtro determinando que tiddlers são importados. Por defeito definido como `[all[tiddlers]]` se omisso.\n\nPara todas as variantes o parâmetro `<transform-filter>` especifica um filtro opcional que transforma os títulos dos tiddlers importados. Por exemplo `[addprefix[$:/minhasimportações/]]` adicionaria o prefixo `$:/minhasimportações/` a cada título.\n\nPrecedendo o comando `--fetch` com `--verbose` irá mostrar o progresso durante a importação.\n\nAtenção que a TiddlyWiki não obterá uma versão anterior de uma extensão já carregada.\n\nO seguinte exemplo obtém todos os tiddlers que não são de sistema de https://tiddlywiki.com e grava-os para um ficheiro JSON:\n\n```\ntiddlywiki --verbose --fetch file \"https://tiddlywiki.com/\" \"[!is[system]]\" \"\" --rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[!is[system]]\"\n```\n\nO seguinte exemplo obtém o ficheiro \"favicon\" de tiddlywiki.com e grava-o num ficheiro chamado \"output.ico\". Atenção que o tiddler intermédio \"Icon Tiddler\" está entre aspas no comando \"--fetch\" porque eestá a ser empregue como como filtro de transformação para substituir o título pré definido, enquanto que não há aspas para o comando \"--savetiddler\" porque está a ser usado directamente como título.\n\n```\ntiddlywiki --verbose --fetch raw-file \"https://tiddlywiki.com/favicon.ico\" \"[[Icon Tiddler]]\" --savetiddler \"Icon Tiddler\" output.ico\n```\n\n"
  },
  {
    "path": "languages/pt-PT/Help/help.tid",
    "content": "title: $:/language/Help/help\ndescription: Mostra a ajuda para comandos da TiddlyWiki\n\nMostra a ajuda para um comando:\n\n```\n--help [<command>]\n```\n\nSe o comando for omitido será exibida uma lista de comandos disponíveis."
  },
  {
    "path": "languages/pt-PT/Help/import.tid",
    "content": "title: $:/language/Help/import\ndescription: Importar tiddlers de um ficheiro\n\nImportar tiddlers de uma TiddlyWiki (`.html`), `.tiddler`, `.tid`, `.json` ou outros ficheiros locais. O desserializador deve ser explicitamente especificado, ao contrário do comando `load` que infere o desserializador a partir da extensão do ficheiro.\n\n```\n--import <filepath> <deserializer> [<title>] [<encoding>]\n```\n\nOs desserializadores incluídos de origem:\n\n* application/javascript\n* application/json\n* application/x-tiddler\n* application/x-tiddler-html-div\n* application/x-tiddlers\n* text/html\n* text/plain\n\nO título dos tiddlers importados é por defeito o nome do ficheiro.\n\nA codificação é por defeito \"utf8\", mas pode ser \"base64\" para importar ficheiros binários.\n\nAtenção que a TiddlyWiki não importará uma versão anterior de uma extensão já carregada."
  },
  {
    "path": "languages/pt-PT/Help/init.tid",
    "content": "title: $:/language/Help/init\ndescription: Inicializar uma nova pasta wiki\n\nInicializa uma [[PastaWiki|WikiFolders]] vazia com uma cópia da edição especificada.\n\n```\n--init <edition> [<edition> ...]\n```\n\nPor exemplo:\n\n```\ntiddlywiki ./MyWikiFolder --init empty\n```\n\nNota:\n\n* A pasta para a wiki será criada se não existir\n* Por omissão a \"edition\" será ''empty''\n* O comando init irá falhar se a pasta especificada não estiver vazia\n* O comando init remove quaisquer definições de `includeWikis` no ficheiro `tiddlywiki.info` da edição\n* Quando múltiplas edições são especificadas, as edições inicializadas posteriormente substituem quaisquer ficheiros partilhados com edições anteriores (de modo que o ficheiro `tiddlywiki.info` final será copiado da última edição)\n* `--editions` mostra uma lista de edições disponíveis"
  },
  {
    "path": "languages/pt-PT/Help/listen.tid",
    "content": "title: $:/language/Help/listen\ndescription: Fornece à TiddlyWiki um interface por servidor HTTP\n\nServe uma wiki por HTTP.\n\nOs comandos de escuta utilizam NamedCommandParameters:\n\n```\n--listen [<name>=<value>]...\n```\n\nTodos os parâmetros são opcionais com predefinições seguras, e podem ser especificados por qualquer ordem. Parâmetros reconhecidos são:\n\n* ''host'' - nome do hospede opcional a partir do qual servir (por defeito \"127.0.0.1\" aka \"localhost\")\n* ''path-prefix'' - prefixo opcional para caminhos\n* ''port'' - número de porta onde escutar; valores não numéricos são interpretados como variáveis ambientais de sistema da qual o número da porta é extraído(por defeito \"8080\")\n* ''credentials'' - caminho para o ficheiro CSV das credenciais (relativo à pasta da wiki)\n* ''anon-username'' - o nome de utilizador para assinar edições para utilizadores anónimos\n* ''username'' - nome de utilizador optional para autenticação básica\n* ''password'' - palavra passe optional para autenticação básica\n* ''authenticated-user-header'' - nome do cabeçalho optional a ser utilizador para autenticação de confiança\n* ''readers'' - lista separada por vírgulas dos utilizadores com permissão para ler desta wiki\n* ''writers'' - lista separada por vírgulas dos utilizadores com permissão para escrever nesta wiki\n* ''csrf-disable'' - defina como \"yes\" para desactivar verificação CSRF (por defeito \"no\")\n* ''root-tiddler'' - o tiddler para servir como raiz (por defeito \"$:/core/save/all\")\n* ''root-render-type'' - o tipo de conteúdo para o qual o tiddler de raiz deve ser representado (por defeito \"text/plain\")\n* ''root-serve-type'' - o tipo de conteúdo com o qual o tiddler de raiz deve ser servido (por defeito \"text/html\")\n* ''tls-cert'' - caminho do ficheiro de certificado TLS (relativo à pasta da wiki)\n* ''tls-key'' - caminho do ficheiro da chave TLS (relativo à pasta da wiki)\n* ''debug-level'' - nível de depuração opcional; defina como \"debug\" para ver detalhes de pedidos (por defeito \"none\")\n* ''gzip'' - defina como \"yes\" para activar compressão gzip para alguns endpoints http (por defeito \"no\")\n\nPara obter informação sobre como abrir a sua instância à rede local inteira, e possíveis problemas com segurança, veja  o tiddler WebServer em TiddlyWiki.com.\n\n"
  },
  {
    "path": "languages/pt-PT/Help/load.tid",
    "content": "title: $:/language/Help/load\ndescription: Carregar tiddlers de um ficheiro\n\nCarregar tiddlers de ficheiros da TiddlyWiki 2.x.x (`.html`), `.tiddler`, `.tid`, `.json` ou outros ficheiros\n\n```\n--load <filepath>\n```\n\nPara carregar tiddlers de um ficheiro TiddlyWiki encriptado deve primeiro especificar uma palavra passe com o comando Password. Por exemplo:\n\n```\ntiddlywiki ./MyWiki --password pa55w0rd --load my_encrypted_wiki.html\n```\n\nA TiddlyWiki não carregará uma versão anterior de uma extensão já carregada.\n"
  },
  {
    "path": "languages/pt-PT/Help/makelibrary.tid",
    "content": "title: $:/language/Help/makelibrary\ndescription: Constrói a extensão de biblioteca necessária para o processo de actualização\n\nConstrói o tiddler `$:/UpgradeLibrary` para o processo de actualização.\n\nA biblioteca de actualização é formatada como uma extensão normal com o tipo de extensão definido como `library`. Contém uma cópia de cada uma das extensões, temas e pacotes de línguas disponíveis dentro do repositório da TiddlyWiki5.\n\nEste comando é para uso interno; apenas relevante para utilizadores que criem um processo de actualização personalizado.\n\n```\n--makelibrary <title>\n```\n\nPor omissão o argumento será `$:/UpgradeLibrary`."
  },
  {
    "path": "languages/pt-PT/Help/notfound.tid",
    "content": "title: $:/language/Help/notfound\ndescription: \n\nItem de ajuda inexistente"
  },
  {
    "path": "languages/pt-PT/Help/output.tid",
    "content": "title: $:/language/Help/output\ndescription: Define a pasta de destino para os comandos subsequentes\n\nDefine a directoria base de destino para os comandos subsequentes. A pasta de destino pré definida é a sub-pasta `output` dentro da pasta da edição.\n\n```\n--output <caminho>\n```\n\nSe o caminho especificado é relativo este será resolvido em relação à actual pasta de trabalho. Por exemplo `--output .` define a directoria de destino para a actual pasta de trabalho."
  },
  {
    "path": "languages/pt-PT/Help/password.tid",
    "content": "title: $:/language/Help/password\ndescription: Definir palavra passe para operações criptográficas subsequentes\n\nDefine a palavra passe para as operações criptográficas subsequentes\n\n```\n--password <password>\n```"
  },
  {
    "path": "languages/pt-PT/Help/render.tid",
    "content": "title: $:/language/Help/render\ndescription: Representa tiddlers individuais em ficheiros\n\nApresenta tiddlers individuais identificados por um filtro e guarda os resultados para os ficheiros especificados\n\nOpcionalmente o título de um tiddler pode ser especificado. Neste caso, em vez de representar indirectamente cada tiddler, o o tiddler modelo é apresentado com a variável \"currentTiddler\" definida como o título do tiddler a ser apresentado.\n\nPode ser opcionalmente definido um nome e um valor para uma variável adicional.\n\n```\n--render <tiddler-filter> [<filename-filter>] [<render-type>] [<template>] [<name>] [<value>]\n```\n\n* ''tiddler-filter'': Um filtro a identificar os tiddler(s) a serem apresentados\n* ''filename-filter'': Filtro opcional que transforma títulos em caminhos de ficheiros. Se omisso, por defeito `[is[tiddler]addsuffix[.html]]`, que utiliza o título do tiddler inalterado como nome de ficheiro\n* ''render-type'': Tipo de representação opcional: `text/html` (pré definição) representa o texto HTML completo e `text/plain` apenas retorna o conteúdo de texto (ie ignora etiquetas HTML e outro conteúdo não legível)\n* ''template'': Modelo opcional a partir do qual cada tiddler é representado\n* ''name'': Nome opcional de uma variável\n* ''value'': Valor opcional de uma variável\n\nPor pré definição o nome de ficheiro é resolvido relativamente à sub-pasta `output` da pasta de edição. O comando `--output` pode ser utilizado para redireccionar a saída para uma pasta diferente.\n\nNotas:\n\n* Não são eliminados quaisquer ficheiros existentes da pasta de saída.\n* Todas as sub-pastas em falta na pasta de saída são automaticamente criadas.\n* Quando referente a um tiddler com espaços no título, tenha o cuidado de utilizar tanto as aspas requeridas pela sua shell como também os duplos parêntesis rectos da TiddlyWiki: `--render \"[[Motovun Jack.jpg]]\"`\n* O filtro do nome de ficheiro é avaliado com os itens seleccionados definidos como título do tiddler a ser actualmente representado, permitindo utilizar o título como base para computar o nome do ficheiro. Por exemplo `[encodeuricomponent[]addprefix[static/]]` aplica codificação de URI a cada título, adicionando posteriormente o prefixo `static/`\n* O comando `--render` é um substituto mais flexível de ambos os comandos `--rendertiddler` e `--rendertiddlers`, que serão reformados.\n\nExemplos:\n\n* `--render \"[!is[system]]\" \"[encodeuricomponent[]addprefix[tiddlers/]addsuffix[.html]]\"` -- representa todos os tiddlers que não são de sistema, numa sub-pasta \"tiddlers\" com títulos codificados como URL e a extensão HTML\n\n"
  },
  {
    "path": "languages/pt-PT/Help/rendertiddler.tid",
    "content": "title: $:/language/Help/rendertiddler\ndescription: Interpretar tiddler individual conforme tipo ContentType especificado\n\nInterpreta um tiddler individual conforme o ContentType especificado, pré definição é `text/html`, e guarda-o para o ficheiro especificado:\n\n```\n--rendertiddler <título> <caminho> [<tipo>]\n```\n\nPor defeito, o caminho é resolvido relativamente à sub-pasta `output` da directoria de edição. O comando `--output` pode ser utilizado para redireccionar para uma directoria de destino diferente.\n\nQuaisquer pastas em falta no caminho de destino serão automaticamente criadas.\n"
  },
  {
    "path": "languages/pt-PT/Help/rendertiddlers.tid",
    "content": "title: $:/language/Help/rendertiddlers\ndescription: Interpretar tiddlers respeitantes de um filtro para o ContentType especificado\n\nInterpreta um conjunto de tiddlers respeitante de um determinado filtro para ficheiros separados de um determinado ContentType (por defeito `text/html`) e extensão (por defeito `.html`).\n\n```\n--rendertiddlers <filtro> <modelo> <caminho> [<tipo>] [<extensão>]\n```\n\nPor exemplo:\n\n```\n--rendertiddlers [!is[system]] $:/core/templates/static.tiddler.html ./static text/plain\n```\n\nPor defeito, o caminho é resolvido relativamente à sub-pasta `output` da directoria de edição. O comando `--output` pode ser utilizado para redireccionar para uma directoria de destino diferente.\n\nQuaisquer ficheiros na directoria de destino serão apagados. Quaisquer pastas em falta nos caminhos de destino serão automaticamente criadas se em falta."
  },
  {
    "path": "languages/pt-PT/Help/save.tid",
    "content": "title: $:/language/Help/save\ndescription: Guarda tiddlers individuais em bruto em ficheiros\n\nGuarda tiddlers individuais identificados por um filtro no seu formato bruto de texto ou binário em ficheiros especificados.\n\n```\n--save <tiddler-filter> <filename-filter>\n```\n\n* ''tiddler-filter'': Um filtro a identificar os tiddler(s) a serem gravados\n* ''filename-filter'': Filtro opcional que transforma títulos em caminhos de ficheiros. Se omisso, por defeito `[is[tiddler]]`, que utiliza o título do tiddler inalterado como nome de ficheiro.\n\nPor pré definição o nome de ficheiro é resolvido relativamente à sub-pasta `output` da pasta de edição. O comando `--output` pode ser utilizado para redireccionar a saída para uma pasta diferente.\n\nNotas:\n\n* Não são eliminados quaisquer ficheiros existentes da pasta de saída.\n* Todas as sub-pastas em falta na pasta de saída são automaticamente criadas.\n* Quando referente a um tiddler com espaços no título, tenha o cuidado de utilizar tanto as aspas requeridas pela sua shell como também os duplos parêntesis rectos da TiddlyWiki: `--render \"[[Motovun Jack.jpg]]\"`\n* O filtro do nome de ficheiro é avaliado com os itens seleccionados definidos como título do tiddler a ser actualmente gravado, permitindo utilizar o título como base para computar o nome do ficheiro. Por exemplo `[encodeuricomponent[]addprefix[static/]]` aplica codificação de URI a cada título, adicionando posteriormente o prefixo `static/`\n* O comando `--save` é um substituto mais flexível de ambos os comandos `--savetiddler` e `--savetiddlers` commands, que serão reformados.\n\nExemplos:\n\n* `--save \"[!is[system]is[image]]\" \"[encodeuricomponent[]addprefix[tiddlers/]]\"` -- guarda todos os tiddlers imagem que não são de sistema como ficheiros numa sub-pasta \"tiddlers\" com títulos codificados como URL\n"
  },
  {
    "path": "languages/pt-PT/Help/savetiddler.tid",
    "content": "title: $:/language/Help/savetiddler\ndescription: Guarda tiddler em bruto para um ficheiro\n\nGuarda um tiddler individual no seu formato bruto texto ou binário para o caminho especificado. \n\n```\n--savetiddler <título> <nome do ficheiro>\n```\n\nPor defeito, o caminho é resolvido relativamente à sub-pasta `output` da directoria de edição. O comando `--output` pode ser utilizado para redireccionar para uma directoria de destino diferente.\n\nQuaisquer pastas em falta no caminho de destino serão automaticamente criadas."
  },
  {
    "path": "languages/pt-PT/Help/savetiddlers.tid",
    "content": "title: $:/language/Help/savetiddlers\ndescription: Guarda um conjunto de tiddlers em bruto para uma pasta\n\nGuarda um conjunto de tiddlers no seu formato bruto texto ou binário para o caminho especificado.\n\n```\n--savetiddlers <filtro> <caminho>\n```\n\nPor defeito, o caminho é resolvido relativamente à sub-pasta `output` da directoria de edição. O comando `--output` pode ser utilizado para redireccionar para uma directoria de destino diferente.\n\nQuaisquer pastas em falta no caminho de destino serão automaticamente criadas."
  },
  {
    "path": "languages/pt-PT/Help/savewikifolder.tid",
    "content": "title: $:/language/Help/savewikifolder\ndescription: Saves a wiki to a new wiki folder\n\n<<.from-version \"5.1.20\">> Guarda a wiki actual como uma pasta wiki, incluindo tiddlers, extensões e configurações:\n\n```\n--savewikifolder <wikifolderpath> [<filter>]\n```\n\n* A pasta wiki alvo deve estar vazia ou ser não existente\n* O filtro especifica que tiddlers devem ser incluídos. Opcional, se omisso reverte para `[all[tiddlers]]`\n* Extensões da biblioteca oficial são substituídas por referências às mesmas no ficheiro `tiddlywiki.info`\n* Extensões customizadas são descompactadas na sua própria pasta\n\nUsado frequentemente para converter um ficheiro TiddlyWiki HTML numa pasta wiki:\n\n```\ntiddlywiki --load ./mywiki.html --savewikifolder ./mywikifolder\n```"
  },
  {
    "path": "languages/pt-PT/Help/server.tid",
    "content": "title: $:/language/Help/server\ndescription: Atribui um interface de servidor HTTP à TiddlyWiki\n\nO servidor incluído na TiddlyWiki 5 é muito elementar. Apesar de compatível com a TiddlyWeb não suporta muitas das funcionalidades necessárias para utilização robusta com interface pela Internet.\n\nNa sua forma mais elementar serve a representação de um tiddler específico. Com parâmetros adicionais serve tiddlers codificados em JSON, e suporta operações HTTP básicas para `GET`, `PUT` e `DELETE`.\n\n```\n--server <port> <roottiddler> <rendertype> <servetype> <username> <password> <host> <pathprefix>\n```\n\nOs parâmetros são:\n\n* ''port'' - número da porta pela qual servir (por defeito \"8080\")\n* ''roottiddler'' - o tiddler a ser servido na raiz (por defeito \"$:/core/save/all\") \n* ''rendertype'' - o tipo de conteúdo para o qual o tiddler deve ser representado (por defeito \"text/plain\")\n* ''servetype'' - o tipo de conteúdo para o qual o tiddler deve ser servido (por defeito \"text/html\")\n* ''username'' - o nome de utilizador pré definido com o qual se assinam as edições\n* ''password'' - palavra passe opcional para autenticação básica\n* ''host'' - endereço opcional do servidor de onde servir (por defeito  \"127.0.0.1\" conhecido como \"localhost\")\n* ''pathprefix'' - prefixo opcional para caminhos\n\nSe o parâmetro palavra passe for especificado o navegador irá pedir ao utilizador um nome e palavra passe. Tenha em atenção que a palavra passe é transmitida em texto simples tornando esta implementação imprópria para utilização geral\n\nPor exemplo:\n\n```\n--server 8080 $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n\nO nome de utilizador e a palavra passe podem ser vazios se necessitar de definir o nome do servidor ou prefixo para caminhos e não pretender que a palavra passe seja requerida:\n\n```\n--server 8080 $:/core/save/all text/plain text/html \"\" \"\" 192.168.0.245\n```\n\nPara correr servidores TiddlyWiki múltiplos ao mesmo tempo é necessário colocar cada um numa porta diferente."
  },
  {
    "path": "languages/pt-PT/Help/setfield.tid",
    "content": "title: $:/language/Help/setfield\ndescription: Prepara tiddlers externos para utilização\n\n//Este comando é experimental e pode mudar ou ser substituído antes de ser finalizado//\n\nDefine um determinado campo de um grupo de tiddlers para o resultado de interpretar um tiddler modelo com a variável `currentTiddler` definida como o tiddler.\n\n```\n--setfield <filter> <fieldname> <templatetitle> <rendertype>\n```\n\nOs parâmetros são:\n\n* ''filter'' - filtro que selecciona os tiddlers a ser afectados\n* ''fieldname'' - nome do campo a modificar (por defeito \"texto\")\n* ''templatetitle'' - o tiddler a interpretar para o campo especificado. Se for deixado em branco ou estiver em falta o campo especificado será eliminado\n* ''rendertype'' - O tipo de texto a interpretar (por defeito \"text/plain\"; \"text/html\" pode ser utilizado para incluir etiquetas HTML)"
  },
  {
    "path": "languages/pt-PT/Help/unpackplugin.tid",
    "content": "title: $:/language/Help/unpackplugin\ndescription: Extrair tiddlers de conteúdo de uma extensão\n\nExtrai o conteúdo de uma extensão, recriando-a como tiddlers vulgares:\n\n```\n--unpackplugin <título>\n```"
  },
  {
    "path": "languages/pt-PT/Help/verbose.tid",
    "content": "title: $:/language/Help/verbose\ndescription: Activa o modo de exibição relatório verboso\n\nActiva a exibição do relatório verboso, útil para correcção de erros\n\n```\n--verbose\n```\n"
  },
  {
    "path": "languages/pt-PT/Help/version.tid",
    "content": "title: $:/language/Help/version\ndescription: Mostra o numero da versão da TiddlyWiki.\n\nMostra o numero da versão da TiddlyWiki.\n\n```\n--version\n```"
  },
  {
    "path": "languages/pt-PT/Import.multids",
    "content": "title: $:/language/Import/\n\nImported/Hint: Os seguintes tiddlers foram importados:\nListing/Cancel/Caption: Cancelar\nListing/Hint: Estes tiddlers estão prontos a importar:\nListing/Import/Caption: Importar\nListing/Preview: Pré Visualização:\nListing/Preview/Diff: Diff\nListing/Preview/DiffFields: Diff (Campos)\nListing/Preview/Fields: Campos\nListing/Preview/Text: Texto\nListing/Preview/TextRaw: Texto (Simples)\nListing/Select/Caption: Seleccionar\nListing/Status/Caption: Estado\nListing/Title/Caption: Título\nUpgrader/Plugins/Suppressed/Incompatible: Extensões bloqueadas, incompatíveis ou obsoletas\nUpgrader/Plugins/Suppressed/Version: Extensão bloqueada (devido a <<incoming>> ser anterior à <<existing>> existente)\nUpgrader/Plugins/Upgraded: Extensão actualizada de <<incoming>> para <<upgraded>>\nUpgrader/State/Suppressed: Tiddler de estado temporário bloqueado\nUpgrader/System/Alert: Está prestes a importar um tiddler que irá subscrever um tiddler do módulo de núcleo. Esta acção não é recomendada por poder tornar o sistema instável\nUpgrader/System/Suppressed: Tiddler de sistema bloqueado\nUpgrader/System/Warning: Tiddler do módulo de núcleo\nUpgrader/ThemeTweaks/Created: Tema migrado ajustado de <$text text=<<from>>/>\n"
  },
  {
    "path": "languages/pt-PT/Misc.multids",
    "content": "title: $:/language/\n\nAboveStory/ClassicPlugin/Warning: Parece que você está a tentar instalar uma extensão desenvolvida para a ~TiddlyWiki Classic. Por favor repare que [[estas extensões não funcionam com a TiddlyWiki versão 5.x.x|https://tiddlywiki.com/#TiddlyWikiClassic]]. Extensões ~TiddlyWiki Classic detectadas:\nBinaryWarning/Prompt: Este tiddler contém informação binária\nClassicWarning/Hint: Este tiddler está escrito no formato de texto wiki da TiddlyWiki Clássica, que não é totalmente compatível com a TiddlyWiki versão 5. Veja https://tiddlywiki.com/static/Upgrading.html para mais detalhes.\nClassicWarning/Upgrade/Caption: actualizar\nCloseAll/Button: fechar todos\nColourPicker/Recent: Recente:\nConfirmCancelTiddler: Pretende descartar as alterações feitas no tiddler \"<$text text=<<title>>/>\"?\nConfirmDeleteTiddler: Pretende apagar o tiddler \"<$text text=<<title>>/>\"?\nConfirmEditShadowTiddler: Está prestes a editar um Tiddler-Sombra. Quaisquer alterações sobrepor-se-ão aos valores pré definidos de sistema, tornando futuras actualizações mais complexas. Tem a certeza que pretende editar \"<$text text=<<title>>/>\"?\nConfirmOverwriteTiddler: Pretende substituir o tiddler \"<$text text=<<title>>/>\"?\nCount: contagem\nDefaultNewTiddlerTitle: Novo Tiddler\nDiffs/CountMessage: <<diff-count>> diferenças\nDropMessage: Largue aqui (ou carregue no Escape para cancelar)\nEncryption/Cancel: Cancelar\nEncryption/ConfirmClearPassword: Pretende remover a palavra-passe? Esta acção removerá a encriptação aplicada quando guardar esta wiki\nEncryption/Password: Palavra Passe\nEncryption/PasswordNoMatch: Palavras Passe não são iguais\nEncryption/PromptSetPassword: Definir nova palavra passe para esta TiddlyWiki\nEncryption/RepeatPassword: Repetir palavra passe\nEncryption/SetPassword: Definir palavra passe\nEncryption/Username: Nome de utilizador\nError/Caption: Erro\nError/Filter: Erro de filtro\nError/FilterSyntax: Erro de sintaxe na expressão do filtro\nError/IsFilterOperator: Erro de Filtro: Operando desconhecido para o operador de filtro 'is'\nError/LoadingPluginLibrary: Erro ao carregar a biblioteca de extensões\nError/PutEditConflict: File changed on server\nError/RecursiveTransclusion: Erro de transclusão recursiva na widget de transclusão\nError/RetrievingSkinny: Erro ao obter a lista simples de tiddlers\nError/SavingToTWEdit: Erro ao gravar em TWEdit\nError/WhileSaving: Erro ao gravar\nError/XMLHttpRequest: Código de erro XMLHttpRequest\nInternalJavaScriptError/Hint: Bem, isto é embaraçoso. Recomenda-se que reinicie a sua TiddlyWiki recarregando o seu navegador\nInternalJavaScriptError/Title: Erro interno JavaScript\nLazyLoadingWarning: <p>A carregar texto externo de ''<$text text={{!!_canonical_uri}}/>''</p><p>Se esta mensagem não desaparecer pode estar a utilizar um navegador que não suporta texto remoto nesta configuração. Veja https://tiddlywiki.com/#ExternalText</p>\nLoginToTiddlySpace: Entrar em TiddlySpace\nManager/Controls/FilterByTag/None: (none)\nManager/Controls/FilterByTag/Prompt: Filtrar por etiqueta:\nManager/Controls/Order/Prompt: Ordem inversa\nManager/Controls/Search/Placeholder: Procurar \nManager/Controls/Search/Prompt: Procurar:\nManager/Controls/Show/Option/Tags: etiquetas\nManager/Controls/Show/Option/Tiddlers: tiddlers\nManager/Controls/Show/Prompt: Mostrar:\nManager/Controls/Sort/Prompt: Ordenar por:\nManager/Item/Colour: Cor\nManager/Item/Fields: Campos\nManager/Item/Icon: Ícone\nManager/Item/Icon/None: (none)\nManager/Item/RawText: Texto simples\nManager/Item/Tags: Etiquetas\nManager/Item/Tools: Ferramentas\nManager/Item/WikifiedText: Texto formatado\nMissingTiddler/Hint: Tiddler \"<$text text=<<currentTiddler>>/>\" em falta - clique {{||$:/core/ui/Buttons/edit}} para criar\nNo: Não\nOfficialPluginLibrary: Biblioteca de Extensões Official ~TiddlyWiki\nOfficialPluginLibrary/Hint: A Biblioteca de Extensões Official ~TiddlyWiki em tiddlywiki.com. Extensões temas e pacotes de idiomas são mantidos pela equipa principal.\nPluginReloadWarning: Por favor grave  {{$:/core/ui/Buttons/save-wiki}} e recarregue {{$:/core/ui/Buttons/refresh}} para que as alterações às extensões tomem efeito\nRecentChanges/DateFormat: DD de MMM de YYYY\nSystemTiddler/Tooltip: Este é um tiddler de sistema\nSystemTiddlers/Include/Prompt: Incluir tiddlers de sistema\nTagManager/Colour/Heading: Cor\nTagManager/Count/Heading: Contagem\nTagManager/Icon/Heading: Ícone\nTagManager/Info/Heading: Informação\nTagManager/Tag/Heading: Etiqueta\nTiddler/DateFormat: DD de MMM de YYYY às hh12:0mmam\nUnsavedChangesWarning: Têm alterações não guardadas na TiddlyWiki\nYes: Sim«\n"
  },
  {
    "path": "languages/pt-PT/Modals/Download.tid",
    "content": "title: $:/language/Modals/Download\ntype: text/vnd.tiddlywiki\nsubtitle: Download changes\nfooter: <$button message=\"tm-close-tiddler\">Close</$button>\nhelp: https://tiddlywiki.com/static/DownloadingChanges.html\n\nO seu navegador apenas suporta gravação manual.\n\nPara guardar a sua wiki modificada clique no botão de transferência abaixo e seleccione \"Descarregar ficheiro\" ou \"Guardar Ficheiro\", e de seguida escolha uma pasta e um nome para o ficheiro.\n\n//Pode acelerar marginalmente o processo clicando no link enquanto pressiona a tecla Control (Windows) ou a tecla Options/Alt (Mac OS X). Não lhe será pedida uma pasta ou um nome para o ficheiro, mas o seu navegador provavelmente irá atribuir-lhe um nome irreconhecível -- poderá ter de alterar o nome de modo a incluir a extensão '.html' antes de conseguir fazer algo com ele.//\n\nEm dispositivos móveis que não permitem a transferência de ficheiros pode alternativamente guardar a ligação nos seus favoritos ou marcadores, e posteriormente sincroniza-los com o seu computador onde será então possível gravar normalmente."
  },
  {
    "path": "languages/pt-PT/NewJournal.multids",
    "content": "title: $:/config/NewJournal/\n\nTags: Diário\nText: \nTitle: DD de MMM de YYYY\n"
  },
  {
    "path": "languages/pt-PT/Notifications.multids",
    "content": "title: $:/language/Notifications/\n\nCopiedToClipboard/Failed: Copia para a área de trabalho Falhou!\nCopiedToClipboard/Succeeded: Copiado para a Área de Trabalho!\nSave/Done: Wiki gravada\nSave/Starting: A iniciar processo de gravação da wiki\n"
  },
  {
    "path": "languages/pt-PT/Search.multids",
    "content": "title: $:/language/Search/\n\nDefaultResults/Caption: Lista\nFilter/Caption: Filtro\nFilter/Hint: Procurar através de [[expressão de filtros|https://tiddlywiki.com/static/Filters.html]]\nFilter/Matches: //<small><<resultCount>> correspondências</small>//\nMatches: //<small><<resultCount>> correspondências</small>//\nMatches/All: Todas as correspondências:\nMatches/Title: Correspondências em títulos:\nSearch: Procurar\nSearch/TooShort: Texto da procura demasiado curto\nShadows/Caption: Sombras\nShadows/Hint: Procurar tiddlers-sombra\nShadows/Matches: //<small><<resultCount>> correspondências</small>//\nStandard/Caption: Padrão\nStandard/Hint: Procurar tiddlers normais\nStandard/Matches: //<small><<resultCount>> correspondências</small>//\nSystem/Caption: Sistema\nSystem/Hint: Procurar tiddlers de sistema\nSystem/Matches: //<small><<resultCount>> correspondências</small>//\n"
  },
  {
    "path": "languages/pt-PT/SideBar.multids",
    "content": "title: $:/language/SideBar/\n\nAll/Caption: Todos\nContents/Caption: Conteúdos\nDrafts/Caption: Rascunhos\nExplorer/Caption: Explorer\nMissing/Caption: Em Falta\nMore/Caption: Mais\nOpen/Caption: Abertos\nOrphans/Caption: Órfãos\nRecent/Caption: Recentes\nShadows/Caption: Sombras\nSystem/Caption: Sistema\nTags/Caption: Etiquetas\nTags/Untagged/Caption: sem etiquetas\nTools/Caption: Ferramentas\nTypes/Caption: Tipos\n"
  },
  {
    "path": "languages/pt-PT/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\nTradução de Português Europeu para ~TiddlyWiki 5«"
  },
  {
    "path": "languages/pt-PT/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\nTradução para Português da ~TiddlyWiki«"
  },
  {
    "path": "languages/pt-PT/Snippets/ListByTag.tid",
    "content": "title: $:/language/Snippets/ListByTag\ntags: $:/tags/TextEditor/Snippet\ncaption: Lista de tiddlers por etiqueta\n\n<<list-links \"[tag[task]sort[title]]\">>\n"
  },
  {
    "path": "languages/pt-PT/Snippets/MacroDefinition.tid",
    "content": "title: $:/language/Snippets/MacroDefinition\ntags: $:/tags/TextEditor/Snippet\ncaption: Definição de Macro\n\n\\define macroName(param1:\"default value\",param2)\nTexto da macro\n\\end\n"
  },
  {
    "path": "languages/pt-PT/Snippets/Table4x3.tid",
    "content": "title: $:/language/Snippets/Table4x3\ntags: $:/tags/TextEditor/Snippet\ncaption: Tabela com 4 colunas por 3 linhas\n\n|! |!Alfa |!Beta |!Gama |!Delta |\n|!Um| | | | |\n|!Dois| | | | |\n|!Três | | | | |\n"
  },
  {
    "path": "languages/pt-PT/Snippets/TableOfContents.tid",
    "content": "title: $:/language/Snippets/TableOfContents\ntags: $:/tags/TextEditor/Snippet\ncaption: Tabela de Conteúdos\n\n<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'TableOfContents'>>\n\n</div>"
  },
  {
    "path": "languages/pt-PT/ThemeTweaks.multids",
    "content": "title: $:/language/ThemeTweaks/\n\nMetrics: Tamanhos\nMetrics/BodyFontSize: Tamanho da fonte para o corpo do tiddler\nMetrics/BodyLineHeight: Altura da linha para o corpo do tiddler\nMetrics/FontSize: Tamanho de fonte\nMetrics/LineHeight: Altura de linha\nMetrics/SidebarBreakpoint: Ponto de quebra da barra lateral\nMetrics/SidebarBreakpoint/Hint: a largura mínima da página para qual o rol de<br>tiddlers e a barra lateral aparecem lado-a-lado\nMetrics/SidebarWidth: Largura da barra lateral\nMetrics/SidebarWidth/Hint: a largura da barra lateral no esquema fluido-fixo\nMetrics/StoryLeft: Posição à esquerda do rol\nMetrics/StoryLeft/Hint: Distancia a que a margem esquerda do rol de tiddlers<br>(área dos tiddlers) está da esquerda da página\nMetrics/StoryRight: Rol à direita\nMetrics/StoryRight/Hint: distancia da margem esquerda da barra<br>lateral à da esquerda da página\nMetrics/StoryTop: Posição vertical do rol\nMetrics/StoryTop/Hint: distancia da margem superior do<br>rol ao topo da página\nMetrics/StoryWidth: Largura do rol\nMetrics/StoryWidth/Hint: largura total do rol de tiddlers\nMetrics/TiddlerWidth: Largura dos tiddlers\nMetrics/TiddlerWidth/Hint: largura do rol de tiddlers\nOptions: Opções\nOptions/CodeWrapping: Dividir linhas longas em blocos de código\nOptions/SidebarLayout: Esquema da barra lateral\nOptions/SidebarLayout/Fixed-Fluid: Rol fixo, barra fluida\nOptions/SidebarLayout/Fluid-Fixed: Rol fluido, barra lateral fixa\nOptions/StickyTitles: Títulos persistentes\nOptions/StickyTitles/Hint: Torna as barras de título dos tiddlers sempre visíveis como se ficassem coladas no topo da janela do navegador.\nSettings: Definições\nSettings/BackgroundImage: Imagem de fundo da página\nSettings/BackgroundImageAttachment: Anexo de imagem de fundo da página\nSettings/BackgroundImageAttachment/Fixed: Fixa em relação à janela\nSettings/BackgroundImageAttachment/Scroll: Rolar com tiddlers\nSettings/BackgroundImageSize: Tamanho da imagem de fundo\nSettings/BackgroundImageSize/Auto: Automática\nSettings/BackgroundImageSize/Contain: Conter\nSettings/BackgroundImageSize/Cover: Cobrir\nSettings/CodeFontFamily: Família da fonte de código\nSettings/EditorFontFamily: Família da fonte do editor\nSettings/FontFamily: Família da fonte\nThemeTweaks: Afinações dos Temas\nThemeTweaks/Hint: Pode ajustar alguns parâmetros do tema ''Vanilla''.\n"
  },
  {
    "path": "languages/pt-PT/TiddlerInfo.multids",
    "content": "title: $:/language/TiddlerInfo/\n\nAdvanced/Caption: Avançado\nAdvanced/PluginInfo/Empty/Hint: nenhum\nAdvanced/PluginInfo/Heading: Detalhes da extensão\nAdvanced/PluginInfo/Hint: Esta extensão contém os seguintes tiddlers-sombra:\nAdvanced/ShadowInfo/Heading: Estado da Sombra\nAdvanced/ShadowInfo/NotShadow/Hint: O tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> não é um tiddler-sombra\nAdvanced/ShadowInfo/OverriddenShadow/Hint: Sobrescrito por um tiddler normal\nAdvanced/ShadowInfo/Shadow/Hint: O tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> é um tiddler sombra\nAdvanced/ShadowInfo/Shadow/Source: Está definido na extensão <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>\nFields/Caption: Campos\nList/Caption: Lista\nList/Empty: Este tiddler não tem uma lista\nListed/Caption: Listado\nListed/Empty: Este tiddler não é listado por nenhum outro\nReferences/Caption: Referências\nReferences/Empty: Nenhum tiddler tem ligações para este\nTagging/Caption: Etiquetas\nTagging/Empty: Nenhum tiddler está etiquetado com este\nTools/Caption: Ferramentas\n"
  },
  {
    "path": "languages/pt-PT/Types/application%2Fjavascript.tid",
    "content": "title: $:/language/Docs/Types/application/javascript\ndescription: Código JavaScript\nname: application/javascript\ngroup: Programador\n"
  },
  {
    "path": "languages/pt-PT/Types/application%2Fjson.tid",
    "content": "title: $:/language/Docs/Types/application/json\ndescription: Informação JSON\nname: application/json\ngroup: Programador\n"
  },
  {
    "path": "languages/pt-PT/Types/application%2Fx-tiddler-dictionary.tid",
    "content": "title: $:/language/Docs/Types/application/x-tiddler-dictionary\ndescription: Dicionário de Informação\nname: application/x-tiddler-dictionary\ngroup: Programador\n"
  },
  {
    "path": "languages/pt-PT/Types/image%2Fgif.tid",
    "content": "title: $:/language/Docs/Types/image/gif\ndescription: Imagem GIF\nname: image/gif\ngroup: Imagem\n"
  },
  {
    "path": "languages/pt-PT/Types/image%2Fjpeg.tid",
    "content": "title: $:/language/Docs/Types/image/jpeg\ndescription: Imagem JPEG\nname: image/jpeg\ngroup: Imagem\n"
  },
  {
    "path": "languages/pt-PT/Types/image%2Fpng.tid",
    "content": "title: $:/language/Docs/Types/image/png\ndescription: Imagem PNG\nname: image/png\ngroup: Imagem\n"
  },
  {
    "path": "languages/pt-PT/Types/image%2Fsvg%2Bxml.tid",
    "content": "title: $:/language/Docs/Types/image/svg+xml\ndescription: Imagem SVG (Scalable Vector Graphics)\nname: image/svg+xml\ngroup: Imagem\n"
  },
  {
    "path": "languages/pt-PT/Types/text%2Fcss.tid",
    "content": "title: $:/language/Docs/Types/text/css\ndescription: Folha de estilos estática\nname: text/css\ngroup: Programador\n"
  },
  {
    "path": "languages/pt-PT/Types/text%2Fhtml.tid",
    "content": "title: $:/language/Docs/Types/text/html\ndescription: Notação HTML\nname: text/html\ngroup: Texto\n"
  },
  {
    "path": "languages/pt-PT/Types/text%2Fplain.tid",
    "content": "title: $:/language/Docs/Types/text/plain\ndescription: Texto Simples\nname: text/plain\ngroup: Texto\n"
  },
  {
    "path": "languages/pt-PT/Types/text%2Fvnd.tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/vnd.tiddlywiki\ndescription: TiddlyWiki 5\nname: text/vnd.tiddlywiki\ngroup: Texto\n"
  },
  {
    "path": "languages/pt-PT/plugin.info",
    "content": "{\n\t\"title\": \"$:/languages/pt-PT\",\n\t\"name\": \"pt-PT\",\n\t\"plugin-type\": \"language\",\n\t\"description\": \"Português (Portugal)\",\n\t\"author\": \"Duarte Farrajota Ramos\",\n\t\"core-version\": \">=5.0.8\"\n}\n"
  },
  {
    "path": "languages/ru-RU/Buttons.multids",
    "content": "title: $:/language/Buttons/\n\n+ExportPage/Hint: Экспортировать все заметки\n+ExportTiddler/Caption: экспортировать заметку\n+ExportTiddler/Hint: Экспортировать заметку\n+ExportTiddlers/Caption: экспортировать заметки\n+ExportTiddlers/Hint: Экспортировать заметки\nAdvancedSearch/Caption: расширенный поиск\nAdvancedSearch/Hint: Расширенный поиск\nCancel/Caption: отмена\nCancel/Hint: Отменить редактирование заметки\nClone/Caption: клонировать\nClone/Hint: Создать копию заметки\nClose/Caption: закрыть\nClose/Hint: Закрыть заметку\nCloseAll/Caption: закрыть все\nCloseAll/Hint: Закрыть все заметки\nCloseOthers/Caption: закрыть остальные\nCloseOthers/Hint: Закрыть остальные заметки\nControlPanel/Caption: панель управления\nControlPanel/Hint: Открыть панель управления\nDelete/Caption: удалить\nDelete/Hint: Удалить заметку\nEdit/Caption: редактировать\nEdit/Hint: Редактировать заметку\nEncryption/Caption: шифрование\nEncryption/ClearPassword/Caption: сбросить пароль\nEncryption/ClearPassword/Hint: Сбросить пароль и сохранить без использования шифрования\nEncryption/Hint: Установить или сбросить пароль\nEncryption/SetPassword/Caption: установить пароль\nEncryption/SetPassword/Hint: Установить пароль и включить шифрование\nExportPage/Caption: экспортировать всё\nExportPage/Hint: Экспортировать все тиддлеры\nExportTiddler/Caption: экспорт тиддлера\nExportTiddler/Hint: Экспорт тиддлера\nExportTiddlers/Caption: экспорт тиддлеров\nExportTiddlers/Hint: Экспорт тиддлеров\nFullScreen/Caption: полный экран\nFullScreen/Hint: Включить или выключить полноэкранный режим\nHelp/Caption: помощь\nHelp/Hint: Показать панель помощи\nHideSideBar/Caption: скрыть боковую панель\nHideSideBar/Hint: Скрыть боковую панель\nHome/Caption: главная\nHome/Hint: Открыть заметки по умолчанию\nImport/Caption: импортировать\nImport/Hint: Импорт файлов\nInfo/Caption: информация\nInfo/Hint: Показать информацию об этой заметке\nLanguage/Caption: язык\nLanguage/Hint: Выбрать язык пользовательского интерфейса\nMore/Caption: ещё\nMore/Hint: Другие действия\nNewHere/Caption: новая заметка здесь\nNewHere/Hint: Создать новую заметку, помеченную этой заметкой\nNewJournal/Caption: дневник\nNewJournal/Hint: Создать новую заметку в дневник\nNewJournalHere/Caption: дневник здесь\nNewJournalHere/Hint: Создать новую заметку в дневник, помеченную этой заметкой\nNewTiddler/Caption: новая заметка\nNewTiddler/Hint: Создать новую заметку\nOpenWindow/Caption: открыть в новом окне\nOpenWindow/Hint: Открыть тиддлер в новом окне\nPalette/Caption: цветовая схема\nPalette/Hint: Выбрать цветовую схему\nPermalink/Caption: прямая ссылка\nPermalink/Hint: Показать прямую ссылку на заметку в адресной строке браузера\nPermaview/Caption: прямая ссылка\nPermaview/Hint: Показать прямую ссылку на открытые заметки в адресной строке браузера\nRefresh/Caption: oбновить\nRefresh/Hint: Выполнить обновление страницы\nSave/Caption: сохранить\nSave/Hint: Сохранить заметку\nSaveWiki/Caption: сохранить изменения\nSaveWiki/Hint: Сохранить изменения\nShowSideBar/Caption: показать боковую панель\nShowSideBar/Hint: Показать боковую панель\nStoryView/Caption: отображение заметок\nStoryView/Hint: Выбрать способ отображения заметок\nTagManager/Caption: управление метками\nTagManager/Hint: Открыть панель управления метками\nTheme/Caption: тема\nTheme/Hint: Выбрать тему\n"
  },
  {
    "path": "languages/ru-RU/ControlPanel.multids",
    "content": "title: $:/language/ControlPanel/\n\nAdvanced/Caption: Расширенные\nAdvanced/Hint: Системные сведения об этой TiddlyWiki\nAppearance/Caption: Внешний вид\nAppearance/Hint: Способы настройки внешнего вида TiddlyWiki.\nBasics/AnimDuration/Prompt: Продолжительность анимации:\nBasics/Caption: Основные\nBasics/DefaultTiddlers/BottomHint: Заметки, содержащие пробелы нужно взять в &#91;&#91;двойные квадратные скобки&#93;&#93;. А также можно возвращать {{открытые ранее заметки||$:/snippets/retain-story-ordering-button}}\nBasics/DefaultTiddlers/Prompt: Открывать при старте:\nBasics/DefaultTiddlers/TopHint: Выберите заметки открытые при запуске:\nBasics/Language/Prompt: Привет! Текущий язык:\nBasics/NewJournal/Tags/Prompt: Метки новых заметок дневника\nBasics/NewJournal/Title/Prompt: Заголовок новых заметок дневника\nBasics/OverriddenShadowTiddlers/Prompt: Количество переопределённых встроенных заметок:\nBasics/ShadowTiddlers/Prompt: Количество встроенных заметок:\nBasics/Subtitle/Prompt: Подзаголовок:\nBasics/SystemTiddlers/Prompt: Количество системных заметок:\nBasics/Tags/Prompt: Количество меток:\nBasics/Tiddlers/Prompt: Количество заметок:\nBasics/Title/Prompt: Заголовок этой ~TiddlyWiki:\nBasics/Username/Prompt: Имя пользователя для подписи под изменениями:\nBasics/Version/Prompt: Версия ~TiddlyWiki:\nEditorTypes/Caption: Редакторы\nEditorTypes/Editor/Caption: Редактор\nEditorTypes/Hint: Эти заметки определяют, какой редактор используется для конкретного типа заметки.\nEditorTypes/Type/Caption: Тип содержимого\nInfo/Caption: Сведения\nInfo/Hint: Сведения об этой TiddlyWiki\nLoadedModules/Caption: Загруженные модули\nLoadedModules/Hint: Это загруженные в настоящий момент модули, ссылающиеся на их исходные заметки. Модули, обозначенные курсивом, не имеют исходных заметок (обычно, потому что они были установлены во время процесса загрузки).\nPalette/Caption: Цветовая схема\nPalette/Editor/Clone/Caption: скопировать\nPalette/Editor/Clone/Prompt: Перед редактированием рекомендуется скопировать встроенную цветовую схему\nPalette/Editor/Prompt: Редактирование\nPalette/Editor/Prompt/Modified: Эта встроенная цветовая схема изменена\nPalette/Editor/Reset/Caption: сброс\nPalette/HideEditor/Caption: скрыть редактор\nPalette/Prompt: Текущая цветовая схема:\nPalette/ShowEditor/Caption: показать редактор\nPlugins/Add/Caption: Другие плагины\nPlugins/Add/Hint: Установить официальные плагины\nPlugins/Caption: Плагины\nPlugins/Disable/Caption: выключить\nPlugins/Disable/Hint: Выключить этот плагин\nPlugins/Disabled/Status: (выключен)\nPlugins/Empty/Hint: Нет\nPlugins/Enable/Caption: включить\nPlugins/Enable/Hint: Выключить этот плагин\nPlugins/Installed/Hint: Список установленных плагинов:\nPlugins/Language/Prompt: Языки\nPlugins/Languages/Caption: Языки\nPlugins/Languages/Hint: Плагины языковых пакетов\nPlugins/Plugin/Prompt: Плагины\nPlugins/Plugins/Caption: Плагины\nPlugins/Plugins/Hint: Плагины\nPlugins/Theme/Prompt: Темы\nPlugins/Themes/Caption: Темы\nPlugins/Themes/Hint: Плагины тем\nSaving/Caption: Сохранение\nSaving/Heading: Сохранение\nSaving/TiddlySpot/Advanced/Heading: Расширенные настройки\nSaving/TiddlySpot/BackupDir: Каталог для резервной копии\nSaving/TiddlySpot/Backups: Резервная копия\nSaving/TiddlySpot/Description: Эти настройки нужны для сохранения на http://tiddlyspot.com или совместимый с ним удаленный сервер\nSaving/TiddlySpot/Filename: Имя файла для загрузки\nSaving/TiddlySpot/Heading: ~TiddlySpot\nSaving/TiddlySpot/Hint: //URL сервера по умолчанию - `http://<wikiname>.tiddlyspot.com/store.cgi`. Его можно указать если используется другой сервер//\nSaving/TiddlySpot/Password: Пароль\nSaving/TiddlySpot/ServerURL: URL сервера\nSaving/TiddlySpot/UploadDir: Каталог загрузки\nSaving/TiddlySpot/UserName: Название Wiki\nSettings/AutoSave/Caption: Автосохранение\nSettings/AutoSave/Disabled/Description: Не сохранять изменения автоматически\nSettings/AutoSave/Enabled/Description: Сохранять изменения автоматически\nSettings/AutoSave/Hint: Сохранять изменения автоматически в процессе редактирования\nSettings/Caption: Настройки\nSettings/DefaultSidebarTab/Caption: Стандартная боковая панель\nSettings/DefaultSidebarTab/Hint: Определяет какую боковую панель показывать по умолчанию\nSettings/Hint: Эти настройки позволяют изменить поведение TiddlyWiki.\nSettings/LinkToBehaviour/Caption: Открытие Тиддлера\nSettings/LinkToBehaviour/InsideRiver/Hint: По ссылке //из// открытых тиддлеров\nSettings/LinkToBehaviour/OpenAbove: Открывать выше открытого тиддлера\nSettings/LinkToBehaviour/OpenAtBottom: Открывать ниже всех открытых тиддлеров\nSettings/LinkToBehaviour/OpenAtTop: Открывать выше всех открытых тиддлеров\nSettings/LinkToBehaviour/OpenBelow: Открывать ниже открытого тиддлера\nSettings/LinkToBehaviour/OutsideRiver/Hint: По ссылке //вне// открытых тиддлеров\nSettings/NavigationAddressBar/Caption: Адресная строка браузера\nSettings/NavigationAddressBar/Hint: Поведение адресной строки браузера при открытии заметки:\nSettings/NavigationAddressBar/No/Description: Не изменять адресную строку\nSettings/NavigationAddressBar/Permalink/Description: Включить целевую заметку\nSettings/NavigationAddressBar/Permaview/Description: Включить целевую заметку и все открытые заметки\nSettings/NavigationHistory/Caption: История браузера\nSettings/NavigationHistory/Hint: Обновлять историю браузера при открытии заметки:\nSettings/NavigationHistory/No/Description: Не обновлять историю\nSettings/NavigationHistory/Yes/Description: Обновлять историю\nSettings/TitleLinks/Caption: Заголовки Тиддлеров\nSettings/TitleLinks/Hint: Выборочно показывает заголовки тиддеров как ссылки\nSettings/TitleLinks/No/Description: Не показывать заголовки тиддлеров как ссылки\nSettings/TitleLinks/Yes/Description: Показывать заголовки тиддлеров как ссылки\nSettings/ToolbarButtons/Caption: Кнопки\nSettings/ToolbarButtons/Hint: Внешний вид кнопок:\nSettings/ToolbarButtons/Icons/Description: Показывать значок\nSettings/ToolbarButtons/Text/Description: Показывать текст\nSettings/ToolbarButtonStyle/Caption: Стиль кнопок панелей\nSettings/ToolbarButtonStyle/Hint: Выберите стиль кнопок панелей:\nSettings/ToolbarButtonStyle/Styles/Borderless: Без границ\nSettings/ToolbarButtonStyle/Styles/Boxed: Внутри квадрата\nSettings/ToolbarButtonStyle/Styles/Rounded: Внутри круга\nStoryView/Caption: Поведение открытых заметок\nStoryView/Prompt: Текущий вид:\nTheme/Caption: Тема\nTheme/Prompt: Текущая тема:\nTiddlerFields/Caption: Поля заметок\nTiddlerFields/Hint: Это полный набор полей заметок (включая системные заметки, но без встроенных).\nToolbars/Caption: Панели инструментов\nToolbars/EditToolbar/Caption: При редактировании\nToolbars/EditToolbar/Hint: Выберите кнопки, отображаемые во время редактирования заметок\nToolbars/Hint: Выберите отображаемые кнопки\nToolbars/PageControls/Caption: Боковой панели\nToolbars/PageControls/Hint: Выберите кнопки, отображаемые на боковой панели\nToolbars/ViewToolbar/Caption: При просмотре\nToolbars/ViewToolbar/Hint: Выберите кнопки, отображаемые во время просмотра заметок\nTools/Download/Full/Caption: Скачать wiki целиком\n"
  },
  {
    "path": "languages/ru-RU/CoreReadMe.tid",
    "content": "title: $:/core/readme\n\nЭтот плагин содержит компоненты ядра TiddlyWiki, содержащие:\n\n* коды модуля JavaScript\n* Изображения\n* Шаблоны, необходимые для создания пользовательского интерфейса TiddlyWiki\n* British English (en-GB) переводы локализуемых строк используемых в ядре"
  },
  {
    "path": "languages/ru-RU/Dates.multids",
    "content": "title: $:/language/\n\nDate/Long/Day/0: Воскресенье\nDate/Long/Day/1: Понедельник\nDate/Long/Day/2: Вторник\nDate/Long/Day/3: Среда\nDate/Long/Day/4: Четверг\nDate/Long/Day/5: Пятница\nDate/Long/Day/6: Суббота\nDate/Long/Month/1: января\nDate/Long/Month/2: февраля\nDate/Long/Month/3: марта\nDate/Long/Month/4: апреля\nDate/Long/Month/5: мая\nDate/Long/Month/6: июня\nDate/Long/Month/7: июля\nDate/Long/Month/8: августа\nDate/Long/Month/9: сентября\nDate/Long/Month/10: октября\nDate/Long/Month/11: ноября\nDate/Long/Month/12: декабря\nDate/Period/am: до полудня\nDate/Period/pm: после полудня\nDate/Short/Day/0: Вс\nDate/Short/Day/1: Пн\nDate/Short/Day/2: Вт\nDate/Short/Day/3: Ср\nDate/Short/Day/4: Чт\nDate/Short/Day/5: Пт\nDate/Short/Day/6: Сб\nDate/Short/Month/1: янв\nDate/Short/Month/2: фев\nDate/Short/Month/3: мрт\nDate/Short/Month/4: апр\nDate/Short/Month/5: май\nDate/Short/Month/6: июн\nDate/Short/Month/7: июл\nDate/Short/Month/8: авг\nDate/Short/Month/9: сен\nDate/Short/Month/10: окт\nDate/Short/Month/11: нбр\nDate/Short/Month/12: дек\nDate/DaySuffix/1: -й\nDate/DaySuffix/10: -й\nDate/DaySuffix/11: -й\nDate/DaySuffix/12: -й\nDate/DaySuffix/13: -й\nDate/DaySuffix/14: -й\nDate/DaySuffix/15: -й\nDate/DaySuffix/16: -й\nDate/DaySuffix/17: -й\nDate/DaySuffix/18: -й\nDate/DaySuffix/19: -й\nDate/DaySuffix/2: -й\nDate/DaySuffix/20: -й\nDate/DaySuffix/21: -й\nDate/DaySuffix/22: -й\nDate/DaySuffix/23: -й\nDate/DaySuffix/24: -й\nDate/DaySuffix/25: -й\nDate/DaySuffix/26: -й\nDate/DaySuffix/27: -й\nDate/DaySuffix/28: -й\nDate/DaySuffix/29: -й\nDate/DaySuffix/3: -й\nDate/DaySuffix/30: -й\nDate/DaySuffix/31: -й\nDate/DaySuffix/4: -й\nDate/DaySuffix/5: -й\nDate/DaySuffix/6: -й\nDate/DaySuffix/7: -й\nDate/DaySuffix/8: -й\nDate/DaySuffix/9: -й\nRelativeDate/Future/Days: через <<period>> дней\nRelativeDate/Future/Hours: через <<period>> часов\nRelativeDate/Future/Minutes: через <<period>> минут\nRelativeDate/Future/Months: через <<period>> месяцев\nRelativeDate/Future/Second: через 1 секунду\nRelativeDate/Future/Seconds: через <<period>> секунд\nRelativeDate/Future/Years: через <<period>> лет\nRelativeDate/Past/Days: <<period>> дней назад\nRelativeDate/Past/Hours: <<period>> часов назад\nRelativeDate/Past/Minutes: <<period>> минут назад\nRelativeDate/Past/Months: <<period>> месяцев назад\nRelativeDate/Past/Second: 1 секунду назад\nRelativeDate/Past/Seconds: <<period>> секунд назад\nRelativeDate/Past/Years: <<period>> лет назад\n"
  },
  {
    "path": "languages/ru-RU/Docs/Fields.multids",
    "content": "title: $:/language/Docs/Fields/\n\n_canonical_uri: Полный URI заметки, содержащей внешнюю картинку\nbag: Название \"мешка\" заметки из TiddlyWeb\ncaption: Текст на вкладке или кнопке\ncolor: CSS значение цвета заметки\ncomponent: Название компонента, ответственного за [[заметку-тревогу|AlertMechanism]]\ncreated: Дата создания заметки\ncreator: Имя создателя заметки\ncurrent-tiddler: Использовалось для хранения верхней заметки в [[списке истории|HistoryMechanism]]\ndependents: Для плагина, перечисляет названия зависимых плагинов\ndescription: Описание плагина или модального окна\ndraft.of: Для черновиков, содержит название редактируемой заметки\ndraft.title: Для черновиков, содержит новое название заметки\nfooter: Текст \"подвала\" мастера\nicon: Название заметки, содержащей значок заметки\nlibrary: Если \"yes\", то заметка сохраняется как библиотека JavaScript\nlist: Упорядоченный список названий связанных заметок\nlist-after: Название заметки, после которой эта заметка добавляется в упорядоченный список\nlist-before: Название заметки, перед которой эта заметка добавляется в упорядоченный список; если это поле создано и имеет пустое значение, то заметка добавляется в начало списка\nmodified: Дата последнего изменения заметки\nmodifier: Имя редактора заметки\nname: Название плагина\nplugin-priority: Число - приоритет плагина\nplugin-type: Тип плагина\nreleased: Дата выпуска TiddlyWiki\nrevision: Версия заметки на сервере\nsource: Исходный URL связанный с заметкой\nsubtitle: Подзаголовок мастера\ntags: Список меток связанный с заметкой\ntext: Содержимое заметки\ntitle: Уникальное название заметки\ntype: Тип содержимого заметки\nversion: Версия плагина\n"
  },
  {
    "path": "languages/ru-RU/Docs/ModuleTypes.multids",
    "content": "title: $:/language/Docs/ModuleTypes/\n\nanimation: Анимации для виджета Reveal.\ncommand: Команды, исполняемые Node.js.\nconfig: Данные для вставки в `$tw.config`.\nfilteroperator: Отдельные методы операторов фильтра.\nglobal: Глобальные данные для вставки в `$tw`.\nisfilteroperator: Операнды для оператора фильтра ''is''.\nmacro: Макросы JavaScript.\nparser: Парсеры для разных типов содержимого.\nsaver: Методы сохранения.\nstartup: Функции, выполняемые при загрузке.\nstoryview: Настройка анимации и поведения виджета List.\ntiddlerdeserializer: Превращают разные типы содержимого в заметки.\ntiddlerfield: Определяет поведение отдельных полей заметок.\ntiddlermethod: Добавляет методы к прототипу заметки `$tw.Tiddler`.\nupgrader: Обработка заметок во время обновления/импорта.\nutils: Добавляет методы в `$tw.utils`.\nutils-node: Добавляет специфичные для Node.js методы в `$tw.utils`.\nwidget: Виджеты отвечают за отображение и обновление DOM.\nwikimethod: Добавляет методы в `$tw.Wiki`.\nwikirule: Отдельные правила для главного парсера WikiText.\n"
  },
  {
    "path": "languages/ru-RU/Docs/PaletteColours.multids",
    "content": "title: $:/language/Docs/PaletteColours/\n\nalert-background: Фон сообщения об ошибке\nalert-border: Граница сообщения об ошибке\nalert-highlight: Подсветка сообщения об ошибке\nalert-muted-foreground: Приглушенный цвет текста сообщения об ошибке\nbackground: Общий фон\nblockquote-bar: Оформление цитаты\nbutton-background: Фон кнопки по умолчанию\nbutton-border: Граница кнопки по умолчанию\nbutton-foreground: Цвет кнопки по умолчанию\ncode-background: Фон блоков кода\ncode-border: Граница блоков кода\ncode-foreground: Цвет текста блоков кода\ndirty-indicator: Индикатор несохранённых изменений\ndownload-background: Фон кнопки Скачать\ndownload-foreground: Цвет текста кнопки Скачать\ndragger-background: Фон перетаскиваемой ссылки\ndragger-foreground: Цвет текста перетаскиваемой ссылки\ndropdown-background: Фон выпадающего меню\ndropdown-border: Граница выпадающего меню\ndropdown-tab-background: Фон вкладок выпадающего меню\ndropdown-tab-background-selected: Фон выбранных вкладок выпадающего меню\ndropzone-background: Фон области перетаскивания\nexternal-link-background: фон внешней ссылки\nexternal-link-background-hover: Фон внешней ссылки при наведении\nexternal-link-background-visited: Фон посещённой внешней ссылки\nexternal-link-foreground: Цвет текста внешней ссылки\nexternal-link-foreground-hover: Цвет текста внешней ссылки при наведении\nexternal-link-foreground-visited: Цвет текста посещённой внешней ссылки\nforeground: Общий цвет текста\nmessage-background: Фон сообщений\nmessage-border: Граница сообщений\nmessage-foreground: Цвет текста сообщений\nmodal-backdrop: Цвет фона за модальным окном\nmodal-background: Фон модального окна\nmodal-border: Граница модального окна\nmodal-footer-background: Фон подвала модального окна\nmodal-footer-border: Граница подвала модального окна\nmodal-header-border: Граница шапки модального окна\nmuted-foreground: Приглушенный цвет текста\nnotification-background: Фон уведомлений\nnotification-border: Граница уведомлений\npage-background: Фон страницы\npre-background: Фон неформатированного текста\npre-border: Граница неформатированного текста\nprimary: Первичный цвет\nsidebar-button-foreground: Цвет текста кнопок боковой панели\nsidebar-controls-foreground: Цвет элементов управления боковой панели\nsidebar-controls-foreground-hover: Цвет элементов управления боковой панели при наведении\nsidebar-foreground: Цвет текста на боковой панели\nsidebar-foreground-shadow: Цвет тени текста на боковой панели\nsidebar-muted-foreground: Приглушенный цвет текста на боковой панели\nsidebar-muted-foreground-hover: Приглушенный цвет текста на боковой панели при наведении\nsidebar-tab-background: Фон вкладок на боковой панели\nsidebar-tab-background-selected: Фон выбранных вкладок на боковой панели\nsidebar-tab-border: Граница вкладок на боковой панели\nsidebar-tab-border-selected: Граница выбранных вкладок на боковой панели\nsidebar-tab-divider: Разделитель вкладок на боковой панели\nsidebar-tab-foreground: Цвет текста вкладок на боковой панели\nsidebar-tab-foreground-selected: Цвет текста выбранных вкладок на боковой панели\nsidebar-tiddler-link-foreground: Цвет ссылок на заметки на боковой панели\nsidebar-tiddler-link-foreground-hover: Цвет ссылок на заметки на боковой панели при наведении\nsite-title-foreground: Цвет заголовка сайта\nstatic-alert-foreground: Цвет текста статической версии сообщения об ошибке\ntab-background: Фон вкладок\ntab-background-selected: Фон выбранных вкладок\ntab-border: Граница вкладок\ntab-border-selected: Граница выбранных вкладок\ntab-divider: Разделитель вкладок\ntab-foreground: Цвет текста вкладок\ntab-foreground-selected: Цвет текста выбранных вкладок\ntable-border: Граница таблиц\ntable-footer-background: Фон подвала таблиц\ntable-header-background: Фон шапки таблиц\ntag-background: Фон меток\ntag-foreground: Цвет текста меток\ntiddler-background: Фон заметок\ntiddler-border: Граница заметок\ntiddler-controls-foreground: Цвет элементов управления заметки\ntiddler-controls-foreground-hover: Цвет элементов управления заметки при наведении\ntiddler-controls-foreground-selected: Цвет выбранных элементов управления заметки\ntiddler-editor-background: Фон редактора заметок\ntiddler-editor-border: Граница редактора заметок\ntiddler-editor-border-image: Граница редактора изображений\ntiddler-editor-fields-even: Фон четных полей\ntiddler-editor-fields-odd: Фон нечётных полей\ntiddler-info-background: Фон информационной панели заметки\ntiddler-info-border: Граница информационной панели заметки\ntiddler-info-tab-background: Фон вкладок информационной панели заметки\ntiddler-link-background: Фон ссылок на заметку\ntiddler-link-foreground: Цвет текста ссылок на заметку\ntiddler-subtitle-foreground: Цвет текста подзаголовка заметки\ntiddler-title-foreground: Цвет текста заголовка заметки\ntoolbar-cancel-button: Цвет кнопки 'отменить'\ntoolbar-close-button: Цвет кнопки 'закрыть'\ntoolbar-delete-button: Цвет кнопки 'удалить'\ntoolbar-done-button: Цвет кнопки 'готово'\ntoolbar-edit-button: Цвет кнопки 'редактировать'\ntoolbar-info-button: Цвет кнопки 'информация'\ntoolbar-new-button: Цвет кнопки 'создать'\ntoolbar-options-button: Цвет кнопки 'настройки'\ntoolbar-save-button: Цвет кнопки 'сохранить'\nuntagged-background: Фон метки 'без метки'\nvery-muted-foreground: Очень приглушенный цвет текста\n"
  },
  {
    "path": "languages/ru-RU/EditTemplate.multids",
    "content": "title: $:/language/EditTemplate/\n\nBody/External/Hint: Содержимое этой заметки находится вне TiddlyWiki. Но вы можете редактировать метки и поля\nBody/Placeholder: Введите текст заметки\nField/Remove/Caption: удалить поле\nField/Remove/Hint: Удалить поле\nFields/Add/Button: добавить\nFields/Add/Dropdown/System: Системные поля\nFields/Add/Dropdown/User: Пользовательские поля\nFields/Add/Name/Placeholder: название поля\nFields/Add/Prompt: Добавить новое поле:\nFields/Add/Value/Placeholder: значение\nShadow/OverriddenWarning: Это переопределённая встроенная заметка. Для восстановления стандартного значения просто удалите её\nShadow/Warning: Это встроенная заметка. Любое изменение переопределит стандартное значение\nTags/Add/Button: добавить\nTags/Add/Placeholder: название метки\nTags/Dropdown/Caption: список меток\nTags/Dropdown/Hint: Показать список меток\nType/Delete/Caption: удалить тип содержимого\nType/Delete/Hint: Удалить тип содержимого\nType/Dropdown/Caption: список типов содержимого\nType/Dropdown/Hint: Показать список типов содержимого\nType/Placeholder: тип содержимого\nType/Prompt: Тип:\n"
  },
  {
    "path": "languages/ru-RU/Exporters.multids",
    "content": "title: $:/language/Exporters/\n\nStaticRiver: Показываемые заметки в виде статического HTML файла\nJsonFile: Заметки в формате JSON\nCsvFile: Заметки в формате CSV\nTidFile: Одна заметка в формате \".tid\"\n"
  },
  {
    "path": "languages/ru-RU/Filters.multids",
    "content": "title: $:/language/Filters/\n\nAllTags: Все метки, кроме системных\nAllTiddlers: Все заметки, кроме системных\nDrafts: Черновики\nMissing: Отсутствующие заметки\nOrphans: Потерянные заметки\nOverriddenShadowTiddlers: Переопределённые встроенные заметки\nRecentSystemTiddlers: Недавно измененные заметки, включая системные\nRecentTiddlers: Недавно измененные заметки\nShadowTiddlers: Встроенные заметки\nSystemTags: Системные метки\nSystemTiddlers: Системные заметки\nTypedTiddlers: Не вики-текстовые тиддлеры\n"
  },
  {
    "path": "languages/ru-RU/GettingStarted.tid",
    "content": "title: GettingStarted\n\n\\define lingo-base() $:/language/ControlPanel/Basics/\nДобро пожаловать в ~TiddlyWiki, нелинейную личную сетевую записную книжку.\n\nДля начала убедитесь, что у вас работает сохранение - подробные инструкции на https://tiddlywiki.com/.\n\nЗатем вы можете:\n\n* Создать новые заметки, используя кнопку 'плюс' на боковой панели\n* Зайти в панель управления, используя кнопку с изображением 'шестерёнки' на боковой панели и настроить TiddlyWiki на свой вкус\n** Убрать это сообщение, изменив настройку 'заметки по умолчанию' на вкладке Основные\n* Сохранить изменения при помощи кнопки 'скачать' на боковой панели\n* Изучить подробнее WikiText\n\n!! Set up this ~TiddlyWiki\n\n<div class=\"tc-control-panel\">\n\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit-text tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\nSee the [[control panel|$:/ControlPanel]] for more options.\n"
  },
  {
    "path": "languages/ru-RU/Import.multids",
    "content": "title: $:/language/Import/\n\nListing/Cancel/Caption: Отмена\nListing/Hint: Импортируемые заметки:\nListing/Import/Caption: Импортировать\nListing/Select/Caption: Выбор\nListing/Status/Caption: Примечание\nListing/Title/Caption: Название\nUpgrader/Plugins/Suppressed/Incompatible: Заблокированный несовместимый или устаревший плагин\nUpgrader/Plugins/Suppressed/Version: Заблокированный плагин (импотируемый <<incoming>> старее существующего <<existing>>)\nUpgrader/Plugins/Upgraded: Обновляемый плагин с версии <<incoming>> до <<upgraded>>\nUpgrader/State/Suppressed: Заблокированная временная внутренняя заметка\nUpgrader/System/Suppressed: Заблокированная системная заметка\nUpgrader/ThemeTweaks/Created: Импортированная настройка темы из <$text text=<<from>>/>\n"
  },
  {
    "path": "languages/ru-RU/Misc.multids",
    "content": "title: $:/language/\n\nBinaryWarning/Prompt: Эта заметка содержит двоичные данные\nClassicWarning/Hint: Эта заметка написана в формате TiddlyWiki Classic WikiText, который не совместим с TiddlyWiki 5. Подробнее: https://tiddlywiki.com/static/Upgrading.html\nClassicWarning/Upgrade/Caption: обновление\nCloseAll/Button: закрыть все\nConfirmCancelTiddler: Отменить изменения заметки \"<$text text=<<title>>/>\"?\nConfirmDeleteTiddler: Удалить заметку \"<$text text=<<title>>/>\"?\nConfirmEditShadowTiddler: Вы собираетесь редактировать встроенную заметку. Любое изменение переопределит стандартное значение и может привести к проблемам при обновлении TiddlyWiki. Вы действительно хотите редактировать \"<$text text=<<title>>/>\"?\nConfirmOverwriteTiddler: Заменить заметку \"<$text text=<<title>>/>\"?\nCount: номер\nDefaultNewTiddlerTitle: Новая заметка\nDropMessage: Перетащите сюда (или нажмите escape для отмены)\nEncryption/Cancel: Отмена\nEncryption/ConfirmClearPassword: Вы действительно хотите сбросить пароль? Это действие отменит шифрование при следующем сохранении\nEncryption/Password: Пароль\nEncryption/PasswordNoMatch: Пароли не совпадают\nEncryption/PromptSetPassword: Установить новый пароль для TiddlyWiki\nEncryption/RepeatPassword: Повторите пароль\nEncryption/SetPassword: Введите пароль\nEncryption/Username: Имя пользователя\nMissingTiddler/Hint: Заметка \"<$text text=<<currentTiddler>>/>\" отсутствует - нажмите {{||$:/core/ui/Buttons/edit}} чтобы её создать\nOfficialPluginLibrary: Официальная Библиотека Плагинов ~TiddlyWiki\nPluginReloadWarning: Пожалуйста, сохраните {{$:/core/ui/Buttons/save-wiki}} и перезапустите {{$:/core/ui/Buttons/refresh}} вики, чтобы изменения в плагинах возымели эффект.\nRecentChanges/DateFormat: DD MMM YYYY\nSystemTiddler/Tooltip: Это системная заметка\nTagManager/Colour/Heading: Цвет\nTagManager/Count/Heading: Номер\nTagManager/Icon/Heading: Значок\nTagManager/Info/Heading: Детали\nTagManager/Tag/Heading: Метка\nUnsavedChangesWarning: Изменения TiddlyWiki не сохранены\n"
  },
  {
    "path": "languages/ru-RU/Modals/Download.tid",
    "content": "title: $:/language/Modals/Download\ntype: text/vnd.tiddlywiki\nsubtitle: Скачать изменения\nfooter: <$button message=\"tm-close-tiddler\">Закрыть</$button>\nhelp: https://tiddlywiki.com/static/DownloadingChanges.html\n\nВаш браузер поддерживает только ручное сохранение.\n\nЧтобы сохранить измененную ~TiddlyWiki, щёлкните правой кнопкой мыши по ссылке ниже и выберите \"Скачать файл\" или \"Сохранить файл\", затем выберите расположение и имя файла.\n\n//Вы можете заметно ускорить этот процесс, щёлкнув по ссылке с нажатой клавишей Control (Windows) или Options/Alt (Mac OS X). У вас не спросят расположение и имя файла, возможно, имя будет неузнаваемым -- также может понадобиться добавить расширение `.html` к имени файла.//\n\nНа смартфонах, которые на позволяют скачивать файлы, можно поместить ссылку в закладки, затем синхронизировать закладки с компьютером, где ~TiddlyWiki можно сохранить обычным методом.\n"
  },
  {
    "path": "languages/ru-RU/NewJournal.multids",
    "content": "title: $:/config/NewJournal/\n\nTags: Дневник\nTitle: DD MMM YYYY\n"
  },
  {
    "path": "languages/ru-RU/Notifications.multids",
    "content": "title: $:/language/Notifications/\n\nSave/Done: Успешно сохранено\nSave/Starting: Идёт сохранение\n"
  },
  {
    "path": "languages/ru-RU/Search.multids",
    "content": "title: $:/language/Search/\n\nDefaultResults/Caption: Список\nFilter/Caption: Фильтр\nFilter/Hint: Поиск с помощью [[фильтров|https://tiddlywiki.com/static/Filters.html]]\nFilter/Matches: //<small><<resultCount>> совпадений</small>//\nMatches: //<small><<resultCount>> совпадений</small>//\nShadows/Caption: Встроенные\nShadows/Hint: Поиск встроенных заметок\nShadows/Matches: //<small><<resultCount>> совпадений</small>//\nStandard/Caption: Обычные\nStandard/Hint: Поиск обычных заметок\nStandard/Matches: //<small><<resultCount>> совпадений</small>//\nSystem/Caption: Системные\nSystem/Hint: Поиск системных заметок\nSystem/Matches: //<small><<resultCount>> совпадений</small>//\n"
  },
  {
    "path": "languages/ru-RU/SideBar.multids",
    "content": "title: $:/language/SideBar/\n\nAll/Caption: Все\nContents/Caption: Оглавление\nDrafts/Caption: Черновики\nMissing/Caption: Отсутствующие\nMore/Caption: Ещё\nOpen/Caption: Открытые\nOrphans/Caption: Потерянные\nRecent/Caption: Последние\nShadows/Caption: Встроенные\nSystem/Caption: Системные\nTags/Caption: Метки\nTags/Untagged/Caption: без метки\nTools/Caption: Инструменты\nTypes/Caption: Типы\n"
  },
  {
    "path": "languages/ru-RU/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\nнелинейная личная сетевая записная книжка"
  },
  {
    "path": "languages/ru-RU/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\nМоя ~TiddlyWiki"
  },
  {
    "path": "languages/ru-RU/TiddlerInfo.multids",
    "content": "title: $:/language/TiddlerInfo/\n\nAdvanced/Caption: Расширенные\nAdvanced/PluginInfo/Empty/Hint: нет\nAdvanced/PluginInfo/Heading: Сведения о плагине\nAdvanced/PluginInfo/Hint: Плагин содержит следующие встроенные заметки:\nAdvanced/ShadowInfo/Heading: Встроенность\nAdvanced/ShadowInfo/NotShadow/Hint: Заметка <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> не является встроенной\nAdvanced/ShadowInfo/OverriddenShadow/Hint: Она переопределена обычной заметкой\nAdvanced/ShadowInfo/Shadow/Hint: Заметка <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> является встроенной\nAdvanced/ShadowInfo/Shadow/Source: Она принадлежит плагину <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>\nFields/Caption: Поля\nList/Caption: Список\nList/Empty: У этой заметки нет списка\nListed/Caption: В списках\nListed/Empty: Этой заметки нет в списках\nReferences/Caption: Ссылки\nReferences/Empty: Другие заметки не ссылаются на эту\nTagging/Caption: Отмеченные\nTagging/Empty: Нет заметок, отмеченных этой\nTools/Caption: Инструменты\n"
  },
  {
    "path": "languages/ru-RU/Types/application%2Fjavascript.tid",
    "content": "title: $:/language/Docs/Types/application/javascript\ndescription: JavaScript code\nname: application/javascript\ngroup: Разработка\n"
  },
  {
    "path": "languages/ru-RU/Types/application%2Fjson.tid",
    "content": "title: $:/language/Docs/Types/application/json\ndescription: JSON data\nname: application/json\ngroup: Разработка\n"
  },
  {
    "path": "languages/ru-RU/Types/application%2Fx-tiddler-dictionary.tid",
    "content": "title: $:/language/Docs/Types/application/x-tiddler-dictionary\ndescription: Data dictionary\nname: application/x-tiddler-dictionary\ngroup: Разработка\n"
  },
  {
    "path": "languages/ru-RU/Types/image%2Fgif.tid",
    "content": "title: $:/language/Docs/Types/image/gif\ndescription: GIF изображение\nname: image/gif\ngroup: Изображение\n"
  },
  {
    "path": "languages/ru-RU/Types/image%2Fjpeg.tid",
    "content": "title: $:/language/Docs/Types/image/jpeg\ndescription: JPEG изображение\nname: image/jpeg\ngroup: Изображение\n"
  },
  {
    "path": "languages/ru-RU/Types/image%2Fpng.tid",
    "content": "title: $:/language/Docs/Types/image/png\ndescription: PNG изображение\nname: image/png\ngroup: Изображение\n"
  },
  {
    "path": "languages/ru-RU/Types/image%2Fsvg%2Bxml.tid",
    "content": "title: $:/language/Docs/Types/image/svg+xml\ndescription: SVG изображение\nname: image/svg+xml\ngroup: Изображение\n"
  },
  {
    "path": "languages/ru-RU/Types/text%2Fcss.tid",
    "content": "title: $:/language/Docs/Types/text/css\ndescription: Static stylesheet\nname: text/css\ngroup: Разработка\n"
  },
  {
    "path": "languages/ru-RU/Types/text%2Fhtml.tid",
    "content": "title: $:/language/Docs/Types/text/html\ndescription: HTML разметка\nname: text/html\ngroup: Текст\n"
  },
  {
    "path": "languages/ru-RU/Types/text%2Fplain.tid",
    "content": "title: $:/language/Docs/Types/text/plain\ndescription: Обычный текст\nname: text/plain\ngroup: Текст\n"
  },
  {
    "path": "languages/ru-RU/Types/text%2Fvnd.tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/vnd.tiddlywiki\ndescription: TiddlyWiki 5\nname: text/vnd.tiddlywiki\ngroup: Текст\n"
  },
  {
    "path": "languages/ru-RU/plugin.info",
    "content": "{\n\t\"title\": \"$:/languages/ru-RU\",\n\t\"name\": \"ru-RU\",\n\t\"plugin-type\": \"language\",\n\t\"description\": \"Русский (Россия)\",\n\t\"author\": \"AndreyYankin aka andrey013, Глеб Прохожев <glebujka@gmail.com>\",\n\t\"core-version\": \">=5.0.0\"\n}\n"
  },
  {
    "path": "languages/sk-SK/Buttons.multids",
    "content": "title: $:/language/Buttons/\n\nAdvancedSearch/Caption: vyhľadávanie\nAdvancedSearch/Hint: Pokročilé vyhľadávanie\nCancel/Caption: zrušiť\nCancel/Hint: Zruš editovanie tohto tiddlera\nClone/Caption: klonovať\nClone/Hint: Naklonuj tento tiddler\nClose/Caption: zatvoriť\nClose/Hint: Zatvor tento tiddler\nCloseAll/Caption: zatvoriť všetky\nCloseAll/Hint: Zatvor všetky tiddlery\nCloseOthers/Caption: zatvoriť ostatné\nCloseOthers/Hint: Zatvor ostatné tiddlery\nControlPanel/Caption: ovládanie\nControlPanel/Hint: Ovládací panel\nDelete/Caption: vymazať\nDelete/Hint: Vymaž tento tiddler\nEdit/Caption: editovať\nEdit/Hint: Edituj tento tiddler\nEncryption/Caption: šifrovať\nEncryption/ClearPassword/Caption: vynulovať heslo\nEncryption/ClearPassword/Hint: Vynuluj heslo a ulož wiki bez šifrovania\nEncryption/Hint: Nastav alebo vynuluj heslo pre uloženie tohto wiki\nEncryption/SetPassword/Caption: nastaviť heslo\nEncryption/SetPassword/Hint: Nastav heslo pre šifrované uloženie tohto wiki\nExportPage/Caption: export\nExportPage/Hint: Exportuj všetky tiddlery\nExportTiddler/Caption: exportuj tiddler\nExportTiddler/Hint: Exportuj tiddler\nExportTiddlers/Caption: exportovať tiddlery\nExportTiddlers/Hint: Exportuj tiddlery\nFullScreen/Caption: celá obrazovka\nFullScreen/Hint: Vstúp do alebo vystúp z režimu celej obrazovky\nHideSideBar/Caption: zatvoriť bočné menu\nHideSideBar/Hint: Zatvor bočné menu\nHome/Caption: domov\nHome/Hint: Otvor defaultné tiddlery\nImport/Caption: import\nImport/Hint: Importuj súbory\nInfo/Caption: info\nInfo/Hint: Ukáž info pre tento tiddler\nLanguage/Caption: jazyk\nLanguage/Hint: Jazyk užívateľského prostredia\nMore/Caption: viac\nMore/Hint: Ďalšie možnosti\nNewHere/Caption: tu vytvoriť nový\nNewHere/Hint: Vytvor nový tiddler s rovnakým štítkom ako má tento\nNewJournal/Caption: nový denník\nNewJournal/Hint: Vytvor nový tiddler typu denník\nNewJournalHere/Caption: tu vytvoriť nový denník\nNewJournalHere/Hint: Vytvor nový tiddler typu denník s rovnakým štítkom ako má tento\nNewTiddler/Caption: nový tiddler\nNewTiddler/Hint: Nový tiddler\nPermalink/Caption: trvalá linka\nPermalink/Hint: Nastav adresu v browseri ako priamu linku na tento tiddler\nPermaview/Caption: trvalý pohľad\nPermaview/Hint: Nastav adresu v browseri ako priamu linku na všetky tiddlery v tejto story\nRefresh/Caption: obnoviť\nRefresh/Hint: Obnov celý obsah wiki\nSave/Caption: uložiť\nSave/Hint: Ulož tento tiddler\nSaveWiki/Caption: uložiť zmeny\nSaveWiki/Hint: Uložiť zmeny\nShowSideBar/Caption: ukázať bočné menu\nShowSideBar/Hint: Ukáž bočné menu\nStoryView/Caption: pohľad\nStoryView/Hint: Zvoľ si vizualizáciu pre story\nTagManager/Caption: manažér štítkov\nTagManager/Hint: Otvor manažér štítkov\nTheme/Caption: téma\nTheme/Hint: Zvoľ si tému vzhľadu\n"
  },
  {
    "path": "languages/sk-SK/ControlPanel.multids",
    "content": "title: $:/language/ControlPanel/\n\nAdvanced/Caption: Pokročilé\nAdvanced/Hint: Interné informácie o tomto TiddlyWiki\nAppearance/Caption: Vzhľad\nAppearance/Hint: Možnosti ako upraviť vzhľad vášho TiddlyWiki.\nBasics/AnimDuration/Prompt: Trvanie animácie:\nBasics/Caption: Základné\nBasics/DefaultTiddlers/BottomHint: Pre tiddlery s medzerami v názve použite &#91;&#91;dvojité hranaté zátvorky&#93;&#93;. Alebo si môžete zvoliť {{dodržanie poradia v story||$:/snippets/retain-story-ordering-button}}.\nBasics/DefaultTiddlers/Prompt: Pred-definované tiddlery:\nBasics/DefaultTiddlers/TopHint: Vyberte tiddlery, ktoré sa majú zobraziť pri štarte:\nBasics/Language/Prompt: Ahoj! Aktuálny jazyk:\nBasics/NewJournal/Tags/Prompt: Štítky pre nové žurnálové tiddlery\nBasics/NewJournal/Title/Prompt: Názov pre nové žurnálové tiddlery\nBasics/OverriddenShadowTiddlers/Prompt: Počet prepísaných tieňových tiddlerov:\nBasics/ShadowTiddlers/Prompt: Počet tieňových tiddlerov:\nBasics/Subtitle/Prompt: pomocný názov:\nBasics/SystemTiddlers/Prompt: Počet systémových tiddlerov:\nBasics/Tags/Prompt: Počet štítkov:\nBasics/Tiddlers/Prompt: Počet tiddlerov:\nBasics/Title/Prompt: Názov pre tento ~TiddlyWiki:\nBasics/Username/Prompt: Používateľské meno na podpísanie vykonaných zmien:\nBasics/Version/Prompt: ~TiddlyWiki verzia:\nEditorTypes/Caption: Druh editora\nEditorTypes/Editor/Caption: Editor\nEditorTypes/Hint: Tieto tiddlery určujú, aký editor sa použije na editovanie špecifických typov tiddlerov.\nEditorTypes/Type/Caption: Typ\nInfo/Caption: Info\nInfo/Hint: Informácie o tomto TiddlyWiki\nLoadedModules/Caption: Prítomné moduly\nLoadedModules/Hint: Toto sú aktuálne pritomné moduly zlinkované ku svojim zdrojovým tiddlerom. Každý modul zobrazený kurzívou signalizuje chýbajúci zdrojový tiddler, zvyčajne preto, že bol nakonfigurovaný počas  naťahovania wiki súboru.\nPalette/Caption: Paleta\nPalette/Editor/Clone/Caption: klon\nPalette/Editor/Clone/Prompt: Odporúča sa najprv naklonovať túto pred-definovanú paletu skôr, ako ju začnete editovať\nPalette/Editor/Prompt: Editovanie\nPalette/Editor/Prompt/Modified: Táto pred-definovaná paleta bola zmenená\nPalette/Editor/Reset/Caption: reset\nPalette/HideEditor/Caption: zatvor editor\nPalette/Prompt: Aktuálna paleta:\nPalette/ShowEditor/Caption: ukáž editor\nPlugins/Caption: Pluginy\nPlugins/Disable/Caption: vypnúť\nPlugins/Disable/Hint: Po obnovení stránky vypni tento plugin\nPlugins/Disabled/Status: (vypnutý)\nPlugins/Empty/Hint: Žiadny\nPlugins/Enable/Caption: zapnúť\nPlugins/Enable/Hint: Po obnovení stránky zapni tento plugin\nPlugins/Language/Prompt: Jazyky\nPlugins/Plugin/Prompt: Pluginy\nPlugins/Theme/Prompt: Témy\nSaving/Caption: Ukladanie\nSaving/Heading: Ukladanie\nSaving/TiddlySpot/Advanced/Heading: Pokročilé nastavenia\nSaving/TiddlySpot/BackupDir: Záložný adresár\nSaving/TiddlySpot/Backups: Zálohy\nSaving/TiddlySpot/Description: Tieto nastavenia sú požité len vtedy, ak súbor ukladáte na http://tiddlyspot.com alebo kompatibilný vzdialený server\nSaving/TiddlySpot/Filename: Názov súboru pre upload\nSaving/TiddlySpot/Heading: ~TiddlySpot\nSaving/TiddlySpot/Hint: //Štandardná URL servera je vo formáte `http://<wikiname>.tiddlyspot.com/store.cgi` a je možné je zmeniť na vlastnú adresu servera//\nSaving/TiddlySpot/Password: Heslo\nSaving/TiddlySpot/ServerURL: URL servra\nSaving/TiddlySpot/UploadDir: Upload adresár\nSaving/TiddlySpot/UserName: Meno tohto Wiki \nSettings/AutoSave/Caption: Autouloženie\nSettings/AutoSave/Disabled/Description: Neukladaj zmeny automaticky\nSettings/AutoSave/Enabled/Description: Ukladaj zmeny automaticky\nSettings/AutoSave/Hint: Ukladaj zmeny automaticky počas editovania\nSettings/Caption: Nastavenia\nSettings/Hint: Tieto nastavenia vám umožnia upraviť správanie sa TiddlyWiki.\nSettings/NavigationAddressBar/Caption: Navigačný riadok browsera pre adresu\nSettings/NavigationAddressBar/Hint: Správanie sa navigačného riadku browsera pri otvorení tiddlera:\nSettings/NavigationAddressBar/No/Description: Neaktualizuj navigačný riadok browsera\nSettings/NavigationAddressBar/Permalink/Description: Zahrň aj cieľový tiddler\nSettings/NavigationAddressBar/Permaview/Description: Zahrň aj cieľový tiddler a aktuálne poradie v story\nSettings/NavigationHistory/Caption: História browsovania\nSettings/NavigationHistory/Hint: Aktualizuj navigačný riadok browsera pri otvorení tiddlera:\nSettings/NavigationHistory/No/Description: Neaktualizuj históriu\nSettings/NavigationHistory/Yes/Description: Aktualizuj históriu\nSettings/ToolbarButtons/Caption: Tlačítka pre lištu nástrojov\nSettings/ToolbarButtons/Hint: Pred-definovaný vzhľad pre tlačítka lišty nástrojov:\nSettings/ToolbarButtons/Icons/Description: Pridaj iconu\nSettings/ToolbarButtons/Text/Description: Pridaj text\nStoryView/Caption: Pohľad na story\nStoryView/Prompt: Aktuálny pohľad:\nTheme/Caption: Téma\nTheme/Prompt: Aktuálna téma:\nTiddlerFields/Caption: Polia tiddlera\nTiddlerFields/Hint: Toto je plná sada polí tiddlera, ktoré sa v tomto wiki používajú (vrátane systémových ale bez tieňových tiddlerov).\nToolbars/Caption: Lišty nástrojov\nToolbars/EditToolbar/Caption: Edituj lištu nástrojov\nToolbars/EditToolbar/Hint: Zvoľte, ktoré tlačítka zobraziť v režime editácia\nToolbars/Hint: Zvoľte, ktoré tlačítka zobraziť v lište nástrojov\nToolbars/PageControls/Caption: Lišta nástrojov pre stránku\nToolbars/PageControls/Hint: Zvoľte, ktoré tlačítka zobraziť v lište nástrojov pre hlavnú stránku\nToolbars/ViewToolbar/Caption: Ukáž lištu nástrojov\nToolbars/ViewToolbar/Hint: Zvoľte, ktoré tlačítka zobraziť v režime pohľad\nTools/Download/Full/Caption: Stiahni celý wiki\n"
  },
  {
    "path": "languages/sk-SK/CoreReadMe.tid",
    "content": "title: $:/core/sk-SK/readme\n\nTento plugin obsahuje componenty jadra TiddlyWiki, vrátane:\n\n* JavaScript programových modulov\n* Ikony\n* Vzory potrebné na vytvorenie užívateľského rozhrania\n* Preložiteľné texty používané jadrom v britskej angličtine (en-GB)\n"
  },
  {
    "path": "languages/sk-SK/Dates.multids",
    "content": "title: $:/language/\n\nDate/DaySuffix/1: -ého\nDate/DaySuffix/10: -teho\nDate/DaySuffix/11: -teho\nDate/DaySuffix/12: -teho\nDate/DaySuffix/13: -teho\nDate/DaySuffix/14: -teho\nDate/DaySuffix/15: -teho\nDate/DaySuffix/16: -teho\nDate/DaySuffix/17: -teho\nDate/DaySuffix/18: -teho\nDate/DaySuffix/19: -teho\nDate/DaySuffix/2: -ého\nDate/DaySuffix/20: -teho\nDate/DaySuffix/21: -ého\nDate/DaySuffix/22: -ého\nDate/DaySuffix/23: -tieho\nDate/DaySuffix/24: -ého\nDate/DaySuffix/25: -eho\nDate/DaySuffix/26: -eho\nDate/DaySuffix/27: -eho\nDate/DaySuffix/28: -eho\nDate/DaySuffix/29: -eho\nDate/DaySuffix/3: -eho\nDate/DaySuffix/30: -eho\nDate/DaySuffix/31: -ého\nDate/DaySuffix/4: -ého\nDate/DaySuffix/5: -eho\nDate/DaySuffix/6: -eho\nDate/DaySuffix/7: -eho\nDate/DaySuffix/8: -eho\nDate/DaySuffix/9: -eho\nDate/Long/Day/0: nedeľa\nDate/Long/Day/1: pondelok\nDate/Long/Day/2: utorok\nDate/Long/Day/3: streda\nDate/Long/Day/4: štvrtok\nDate/Long/Day/5: piatok\nDate/Long/Day/6: sobota\nDate/Long/Month/1: januára\nDate/Long/Month/10: októbra\nDate/Long/Month/11: novembra\nDate/Long/Month/12: decembra\nDate/Long/Month/2: februára\nDate/Long/Month/3: marca\nDate/Long/Month/4: apríla\nDate/Long/Month/5: mája\nDate/Long/Month/6: júna\nDate/Long/Month/7: júla\nDate/Long/Month/8: augusta\nDate/Long/Month/9: septembra\nDate/Period/am: doobeda\nDate/Period/pm: poobede\nDate/Short/Day/0: ne\nDate/Short/Day/1: po\nDate/Short/Day/2: ut\nDate/Short/Day/3: St\nDate/Short/Day/4: št\nDate/Short/Day/5: pi\nDate/Short/Day/6: so\nDate/Short/Month/1: jan\nDate/Short/Month/10: okt\nDate/Short/Month/11: nov\nDate/Short/Month/12: dec\nDate/Short/Month/2: feb\nDate/Short/Month/3: mar\nDate/Short/Month/4: apr\nDate/Short/Month/5: máj\nDate/Short/Month/6: jún\nDate/Short/Month/7: júl\nDate/Short/Month/8: aug\nDate/Short/Month/9: sep\nRelativeDate/Future/Days: <<period>> dní odteraz\nRelativeDate/Future/Hours: <<period>> hodín odteraz\nRelativeDate/Future/Minutes: <<period>> minút odteraz\nRelativeDate/Future/Months: <<period>> mesiacov odteraz\nRelativeDate/Future/Second: 1 sekundu odteraz\nRelativeDate/Future/Seconds: <<period>> sekúnd odteraz\nRelativeDate/Future/Years: <<period>> rokov odteraz\nRelativeDate/Past/Days: <<period>> dní predtým\nRelativeDate/Past/Hours: <<period>> hodín predtým\nRelativeDate/Past/Minutes: <<period>> minút predtým\nRelativeDate/Past/Months: <<period>> mesiacov predtým\nRelativeDate/Past/Second: 1 sekundu predtým\nRelativeDate/Past/Seconds: <<period>> sekúnd predtým\nRelativeDate/Past/Years: <<period>> rokov predtým\n"
  },
  {
    "path": "languages/sk-SK/Docs/ModuleTypes.multids",
    "content": "title: $:/language/Docs/ModuleTypes/\n\nanimation: Animácie, ktoré môžu byť použité s RevealWidget.\ncommand: Príkazy, ktoré môžu byť spustené pod Node.js.\nconfig: Údaje, ktoré treba vložiť do `$tw.config`.\nfilteroperator: Metódy pre individuálne operácie filtrovania.\nglobal: Globálne údaje, ktoré treba vložiť do `$tw`.\nisfilteroperator: Parametre pre ''is'' operátor filtrovania.\nmacro: JavaScript makro definície.\nparser: Parsery pre rôzne typy obsahu.\nsaver: Rôzne metódy na ukladanie obsahu v browseri.\nstartup: Štartovacie funkcie.\nstoryview: Pohľady na celý obsah wiki (story) s úpravami animácií a správania sa widgetov.\ntiddlerdeserializer: Konvertuje rôzne typy obsahu pre tiddler.\ntiddlerfield: Definuje správanie sa jednotlivého poľa v tiddlere.\ntiddlermethod: Pridáva metódy k `$tw.Tiddler` prototypu.\nupgrader: Realizuje spracovanie tiddlerov pri upgrade alebo importe.\nutils: Pridáva metódy k `$tw.utils` prototypu.\nutils-node: Pridáva k `$tw.utils` metódy špecifické pre  Node.js.\nwidget: Widgety enkapsulujú renderovanie a prekleslovanie DOM.\nwikimethod: Pridáva metódy k `$tw.Wiki`.\nwikirule: Individuálne parsovacie pravidlá pre hlavný WikiText parser.\n"
  },
  {
    "path": "languages/sk-SK/Docs/PaletteColours.multids",
    "content": "title: $:/language/Docs/PaletteColours/\n\nalert-background: Pozadie pre výstrahu\nalert-border: Okraj pre výstrahu\nalert-highlight: Highlight pre výstrahu\nalert-muted-foreground: Tlmené pozadie pre výstrahu\nbackground: Celkové pozadie\nblockquote-bar: Blockquote menu\ncode-background: Pozadie pre zdrojový kód\ncode-border: Okraj pre zdrojový  kód\ncode-foreground: Popredie pre zdrojový kód\ndirty-indicator: Indikátor neuložených zmien\ndownload-background: Pozadie pre tlačítko sťahovania\ndownload-foreground: Popredie pre tlačítko sťahovania\ndragger-background: Pozadie pre dragger\ndragger-foreground: Popredie pre dragger\ndropdown-background: Pozadie pre dropdown\ndropdown-border: Okraj pre dropdown\ndropdown-tab-background: Pozadie pre dropdown záložku\ndropdown-tab-background-selected: Pozadie pre dropdown vybrané záložky\ndropzone-background: Pozadie pre dropzone\nexternal-link-background: Pozadie pre externú linku\nexternal-link-background-hover: Pozadie pre nábeh na externú linku\nexternal-link-background-visited: Pozadie pre navštívenú externú linku\nexternal-link-foreground: Popredie pre externú linku\nexternal-link-foreground-hover: Popredie pre nábeh na externú linku\nexternal-link-foreground-visited: Popredie pre navštívenú externú linku\nforeground: Celkové popredie\nmessage-background: Pozadie pre okno správ\nmessage-border: Okraj pre okno správ\nmessage-foreground: Popredie pre okno správ\nmodal-backdrop: Popredie \nmodal-background: Modálne pozadie\nmodal-border: Modálny okraj\nmodal-footer-background: Pozadie pre modálnu pätu stránky\nmodal-footer-border: Okraj pre modálnu pätu stránky\nmodal-header-border: Pozadie pre modálnu hlavičku stránky\nmuted-foreground: Všeobecné pozadie tlmené\nnotification-background: Pozadie pre notifikáciu\nnotification-border: Okraj pre notifikáciu\npage-background: Pozadie stránky\npre-background: Pozadie pre predformátovaný zdrojový kód\npre-border: Okraj pre predformátovaný zdrojový kód\nprimary: Všeobecná primárna\nsidebar-button-foreground: Popredie tlačítka pre postranné menu\nsidebar-controls-foreground: Popredie pre tlačítka v postrannom menu\nsidebar-controls-foreground-hover: Popredie pri nábehu na tlačítka v postrannom menu\nsidebar-foreground: Popredie pre postranné menu\nsidebar-foreground-shadow: Popredie pre tieň postranného menu\nsidebar-muted-foreground: Tlmené popredie pre postranné menu\nsidebar-muted-foreground-hover: Tlmené popredie pri nábehu na tlačítka v postrannom menu\nsidebar-tab-background: Pozadie pre záložku v postrannom menu\nsidebar-tab-background-selected: Pozadie pre vybranú záložku v postrannom menu\nsidebar-tab-border: Okraj pre záložku v postrannom menu\nsidebar-tab-border-selected: Okraj pre vybranú  záložku v postrannom menu\nsidebar-tab-divider: Oddeľovač v postrannom menu\nsidebar-tab-foreground: Popredie pre záložku v postrannom menu\nsidebar-tab-foreground-selected: Popredie pre vybranú  záložku v postrannom menu\nsidebar-tiddler-link-foreground: Popredie pre linku na tiddler v postrannom menu\nsidebar-tiddler-link-foreground-hover: Popredie pri nábehu na  linku na tiddler v postrannom menu\nstatic-alert-foreground: Popredie pre statickú výstrahu\ntab-background: Pozadie pre záložku\ntab-background-selected: Pozadie pre vybranú záložku\ntab-border: Okraj pre záložku\ntab-border-selected: Okraj pre vybranú záložku\ntab-divider: Oddeľovač pre záložku\ntab-foreground: Popredie pre záložku\ntab-foreground-selected: Popredie pre vybranú záložku\ntable-border: Okraj pre tabuľku\ntable-footer-background: Pozadie pre pätu tabuľky\ntable-header-background: Pozadie pre hlavičku tabuľky\ntag-background: Pozadie pre štítok\ntag-foreground: Popredie pre štítok\ntiddler-background: Pozadie pre tiddler\ntiddler-border: Okraj pre tiddler\ntiddler-controls-foreground: Popredie pre tlačítka v tiddlere\ntiddler-controls-foreground-hover: Popredie pre nábeh na tlačítka v tiddlere\ntiddler-controls-foreground-selected: Popredie pre vybrané tlačítka v tiddlere\ntiddler-editor-background: Pozadie pre editor tiddlera\ntiddler-editor-border: Okraj pre editor tiddlera\ntiddler-editor-border-image: Obrázok pre okraj editor tiddlera\ntiddler-editor-fields-even: Pozadie pre editor tiddlera pre párne polia\ntiddler-editor-fields-odd: Pozadie pre editor tiddlera pre nepárne polia\ntiddler-info-background: Pozadie pre informačný panel tiddlera\ntiddler-info-border: Okraj pre informačný panel tiddlera\ntiddler-info-tab-background: Pozadie pre záložku v informačnom paneli tiddlera\ntiddler-link-background: Pozadie pre linku v tiddlere\ntiddler-link-foreground: Popredie pre linku v tiddlere\ntiddler-subtitle-foreground: Popredie pre pomocný názov tiddlera\ntiddler-title-foreground: Popredie pre názov tiddlera\ntoolbar-cancel-button: Popredie pre pre tlačítko 'zrušiť' v lište nástrojov\ntoolbar-close-button: Popredie pre pre tlačítko 'zatvoriť' v lište nástrojov\ntoolbar-delete-button: Popredie pre pre tlačítko 'vymazať' v lište nástrojov\ntoolbar-done-button: Popredie pre pre tlačítko 'urobené' v lište nástrojov\ntoolbar-edit-button: Popredie pre pre tlačítko 'editovať' v lište nástrojov\ntoolbar-info-button: Popredie pre pre tlačítko 'info' v lište nástrojov\ntoolbar-new-button: Popredie pre pre tlačítko 'nový tiddler' v lište nástrojov\ntoolbar-options-button: Popredie pre pre tlačítko 'viac možnosti' v lište nástrojov\ntoolbar-save-button: Popredie pre pre tlačítko 'ulož zmeny' v lište nástrojov\nuntagged-background: Pozadie pre tabletku neoštítkované\nvery-muted-foreground: Veľmi tlmené popredie\n"
  },
  {
    "path": "languages/sk-SK/EditTemplate.multids",
    "content": "title: $:/language/EditTemplate/\n\nBody/External/Hint: Toto je externý tiddler uložený mimo hlavného TiddlyWiki súboru. Môžete editovať štítky a polia, ale nemôžete priamo editovať samotný obsah\nBody/Placeholder: Napíšte text pre tento tiddler\nField/Remove/Caption: odstrániť pole\nField/Remove/Hint: Odstráň pole\nFields/Add/Button: pridaj\nFields/Add/Name/Placeholder: názov poľa\nFields/Add/Prompt: Pridaj nové pole:\nFields/Add/Value/Placeholder: hodnota pre pole\nShadow/OverriddenWarning: Toto je modifikovaný tieňový tiddler. Môžete sa vrátiť k pôvodnej verzii tým, že ho vymažete\nShadow/Warning: Toto je tieňový tiddler. Akékoľvek zmeny prepíšu pred-definovanú verziu\nTags/Add/Button: pridaj\nTags/Add/Placeholder: meno štítku\nTags/Dropdown/Caption: zoznam štítkov\nTags/Dropdown/Hint: Ukáž zoznam štítkov\nType/Delete/Caption: vymazať typ obsahu\nType/Delete/Hint: Vymaž typ obsahu\nType/Dropdown/Caption: zoznam typov obsahu\nType/Dropdown/Hint: Ukáž zoznam typov obsahu\nType/Placeholder: Typ obsahu\nType/Prompt: Typ:\n"
  },
  {
    "path": "languages/sk-SK/Exporters.multids",
    "content": "title: $:/language/Exporters/\n\nCsvFile: Tiddlery v CSV formáte\nJsonFile: Tiddlery v JSON formáte\nStaticRiver: Sada tiddlerov ako statický HTML súbor\nTidFile: Jeden tiddler ako \".tid\" súbor\n"
  },
  {
    "path": "languages/sk-SK/Fields.multids",
    "content": "title: $:/language/Docs/Fields/\n\n_canonical_uri: Plná URI adresa pre externý tiddler s obrázkom\nbag: Názov vrecka, z ktorého tiddler pochádza\ncaption: Text, ktorý sa má zobraziť na záložke alebo tlačítku\ncolor: CSS hodnota farby spojená so tiddlerom\ncomponent: Názov komponentu, zodpovedného za [[alert tiddler|AlertMechanism]]\ncreated: Dátum vzniku tiddlera\ncreator: Meno autora tiddlera\ncurrent-tiddler: Použitý na cache-ovanie vrchného tiddlera v [[history list|HistoryMechanism]]\ndependents: Pre plugin, zoznamy závisiacich názvov pluginov\ndescription: Popisný text pre plugin, alebo modálny dialóg\ndraft.of: Pre pracovné tiddlery, obsahuje názov tiddlera, pre ktorý je to pracovný tiddler\ndraft.title: Pre pracovné tiddlery, obsahuje navrhovaný nový názov pre tiddler\nfooter: Text pre pätu stránky do wizardu\nicon: Názov tiddlera obsahujúceho icomu priradenú tiddlera\nlibrary: Ak nastavené ako \"yes\" signalizuje, že tiddler by sa mal uložiť ako JavaScript knižnica\nlist: Zotriedený zoznam názvov tiddlerov priradených tiddlera\nlist-after: Ak nastavené, názov tiddlera, za ktorým treba tento tiddler pridať do zotriedeného zoznamu názvov tiddlerov\nlist-before: Ak nastavené,  názov tiddlera, pred ktorým treba tento tiddler pridať do zotriedeného zoznamu názvov tiddlerov, alebo na začiatok zoznamu, ak toto pole existuje ale je prázdne\nmodified: Dátum a čas poslednej zmeny v tiddlere\nmodifier: Názov tiddlera spojený s autorom, ktorý ako posledný zmenil tiddler\nname: Zrozumiteľný názov priradený plugin tiddlera\nplugin-priority: Číselná hodnota označujúca prioritu pre plugin tiddler\nplugin-type: Typ plugin v plugin tiddlere\nreleased: Dátum verzie TiddlyWiki\nrevision: Revízia tiddlera uloženého na serveri\nsource: Zdrojová URL priradená tiddlera\nsubtitle: Text pre pomocný názov wizarda\ntags: Zoznam štítkov priradených tiddlera\ntext: Text pre obsah tiddlera\ntitle: Unikátny názov tiddlera\ntype: Typ obsahu tiddlera\nversion: Informácia o verzii pluginu\n"
  },
  {
    "path": "languages/sk-SK/Filters.multids",
    "content": "title: $:/language/Filters/\n\nAllTags: Všetky štítky okrem systémových štítkov\nAllTiddlers: Všetky tiddlery okrem systémových tiddlerov\nDrafts: Pracovné verzie tiddlerov\nMissing: Chýbajúce tiddlery\nOrphans: Sirotské tiddlery\nOverriddenShadowTiddlers: Prepísané tieňové tiddlery\nRecentSystemTiddlers: Nedávno zmenené tiddlery, vrátane systémových tiddlerov\nRecentTiddlers: Nedávno zmenené tiddlery\nShadowTiddlers: Tieňové tiddlery\nSystemTags: Systémové štítky\nSystemTiddlers: Systémové tiddlery\n"
  },
  {
    "path": "languages/sk-SK/GettingStarted.tid",
    "content": "title: GettingStarted\n\n\\define lingo-base() $:/language/ControlPanel/Basics/\nVitajte v ~TiddlyWiki a v ~TiddlyWiki komunite\n\nSkôr ako začnete ~TiddlyWiki  plniť dôležitými informáciami, uistite sa, že jeho obsah dokážete uložiť. Viď podrobnosti na  https://tiddlywiki.com/#GettingStarted\n\n!! Nakonfigurujte si tento ~TiddlyWiki\n\n<div class=\"tc-control-panel\">\n\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit-text tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\nPre viac možností vyskúšajte [[control panel|$:/ControlPanel]].\n"
  },
  {
    "path": "languages/sk-SK/Help/build.tid",
    "content": "title: $:/language/Help/build\ndescription: Automaticky spusti nakonfigurované príkazy\n\nVytvor špecifikované cieľové verzie pre aktuálny wiki. Ak nie sú špecifikované žiadne cieľové verzie, tak sa vytvoria všetky dostupné cieľové verzie.\n\n```\n--build <target> [<target> ...]\n```\n\nVytvor cieľe definované v súbore `tiddlywiki.info` wiki adresára.\n\n"
  },
  {
    "path": "languages/sk-SK/Help/clearpassword.tid",
    "content": "title: $:/language/Help/clearpassword\ndescription: Zruš heslo pre následné šifrovacie operácie\n\nZruš heslo pre následné šifrovacie operácie\n\n```\n--clearpassword\n```\n"
  },
  {
    "path": "languages/sk-SK/Help/default.tid",
    "content": "title: $:/language/Help/default\ndescription: \n\n\\define commandTitle()\n$:/language/Help/$(command)$\n\\end\n```\nusage: tiddlywiki [<wikifolder>] [--<command> [<args>...]...]\n```\n\ndostupné príkazy:\n\n<ul>\n<$list filter=\"[commands[]sort[title]]\" variable=\"command\">\n<li><$link to=<<commandTitle>>><$macrocall $name=\"command\" $type=\"text/plain\" $output=\"text/plain\"/></$link>: <$transclude tiddler=<<commandTitle>> field=\"description\"/></li>\n</$list>\n</ul>\n\nDetailné vysvetlenie príkazu je možné dostať cez:\n\n```\ntiddlywiki --help <command>\n```\n"
  },
  {
    "path": "languages/sk-SK/Help/editions.tid",
    "content": "title: $:/language/Help/editions\ndescription: Vylistovať názvy dostupných vydaní TiddlyWiki\n\nVylistovať názvy a popisy dostupných vydaní.  Môžete vytvoriť nový wiki zo špecifikovaného vydania pomocou príkazu `--init`.\n\n```\n--editions\n```\n"
  },
  {
    "path": "languages/sk-SK/Help/help.tid",
    "content": "title: $:/language/Help/help\ndescription: Zobraz nápovedu pre TiddlyWiki príkazy\n\nZobrazí nápovedu pre príkaz:\n\n```\n--help [<command>]\n```\n\nAk sa vynechá názov príkazu, tak sa zobrazí zoznam všetkých existujúcich príkazov.\n"
  },
  {
    "path": "languages/sk-SK/Help/init.tid",
    "content": "title: $:/language/Help/init\ndescription: Initializuj nový wiki adresár\n\nInicializuj prázdny [[WikiFolder|WikiFolders]] s kópiou špecifikovaného vydania.\n\n```\n--init <edition> [<edition> ...]\n```\n\nNapríklad:\n\n```\ntiddlywiki ./MyWikiFolder --init empty\n```\n\nPoznámka:\n\n* ak je to potrebné, vytvorí sa wiki adresár\n* \"Vydanie\" je štandardne ''empty''\n* ini príkaz zlyhá, ak wiki adresár nie je prázdny\n* init príkaz odstráni akékoľvek `includeWikis` definície definované v `tiddlywiki.info` súbore vydania\n* Ak sú špecifikované viaceré vydania, neskôr inicializované vydania prepíšu akékoľvek súbory zdieľané s predošlými vydaniami (čiže, ostatný `tiddlywiki.info` súbor sa prekopíruje z posledného vydania\n* `--editions` vráti zoznam dostupných vydaní\n"
  },
  {
    "path": "languages/sk-SK/Help/load.tid",
    "content": "title: $:/language/Help/load\ndescription: Natiahni tiddlery zo súboru\n\nNatiahni tiddlery z TiddlyWiki súborov vo verzii 2.x.x (`.html`), `.tiddler`, `.tid`, `.json` alebo iných súborov \n\n```\n--load <filepath>\n```\n\nAk chcete natiahnuť tiddlery zo zašifrovaného TiddlyWiki súboru, musíte najskôr zadať heslo cez PasswordCommand. Napríklad:\n\n```\ntiddlywiki ./MyWiki --password pa55w0rd --load moj_sifrovany_wiki.html\n```\n\nVšimnite si, že TiddlyWiki nenatiahne staršiu verziu už prítomného pluginu.\n"
  },
  {
    "path": "languages/sk-SK/Help/makelibrary.tid",
    "content": "title: $:/language/Help/makelibrary\ndescription: Plugin zostrojenia knižnice potrebný pre proces upgradu\n\nVytvor `$:/UpgradeLibrary` tiddler pre proces upgradu.\n\nUpgrade knižnica má formát bežného pluginu s plugin typom `library`. Obsahuje kópiu každého pluginu, tém a jazykových balíkov dostupných v rámci  TiddlyWiki5 repozitára.\n\nTento príkaz je určený pre interné použitie; je relevantný len pre tých, čo vyrábajú vlastný, customizovaný postup pre upgrade.\n\n```\n--makelibrary <title>\n```\n\nArgument pre názov je pred-definovaný ako `$:/UpgradeLibrary`.\n"
  },
  {
    "path": "languages/sk-SK/Help/notfound.tid",
    "content": "title: $:/language/Help/notfound\ndescription: \n\nŽiadna taká položka v nápovede"
  },
  {
    "path": "languages/sk-SK/Help/output.tid",
    "content": "title: $:/language/Help/output\ndescription: Definuje základný výstupný adresár pre každý následný príkaz.\n\nDefinuje základný výstupný adresár pre každý následný príkaz. Pred-definovaným adresárom je podadresár `output`  v adresári vydania.\n\n```\n--output <pathname>\n```\n\nAk je udaná cesta k súboru relatívna, tak sa resolvuje voči aktuálnemu adresáru,  s ktorým sa pracuje. Napríklad `--output .` argument nastaví výstup na aktuálne používaný adresár.\n\n"
  },
  {
    "path": "languages/sk-SK/Help/password.tid",
    "content": "title: $:/language/Help/password\ndescription: Nastav heslo pre následné operácie šifrovania\n\nNastav heslo pre následné operácie šifrovania\n\n```\n--password <password>\n```\n\n"
  },
  {
    "path": "languages/sk-SK/Help/rendertiddler.tid",
    "content": "title: $:/language/Help/rendertiddler\ndescription: Zobraz jednotlivý tiddler podľa špecifikovaného ContentType\n\nZobraz jednotlivý tiddler podľa špecifikovaného ContentType, štandardne zobrazujúc ako `text/html`, a ulož do určeného súboru:\n\n```\n--rendertiddler <title> <filename> [<type>]\n```\n\nŠtandardne sa názov súboru resolvuje voči `output` podadresáru v adresári vydania. Príkaz `--output` je možné použiť na presmerovanie výstupu do iného adresára.\n\nChýbajúce adresáre v ceste vytváraného súboru sa vytvoria automaticky.\n"
  },
  {
    "path": "languages/sk-SK/Help/rendertiddlers.tid",
    "content": "title: $:/language/Help/rendertiddlers\ndescription: Zobraz tiddlery vyhovujúce filtru podľa určeného ContentType\n\nZobraz sadu tiddlerov vyhovujúcich filtru na odlíšenie určeného ContentType (štandardne ako `text/html`) a prípony (štandardne ako `.html`).\n\n```\n--rendertiddlers <filter> <template> <pathname> [<type>] [<extension>]\n```\n\nNapríklad:\n\n```\n--rendertiddlers [!is[system]] $:/core/templates/static.tiddler.html ./static text/plain\n```\n\nŠtandardne sa cesta k súboru resolvuje voči `output` podadresáru v adresári vydania. Príkaz `--output` je možné použiť na presmerovanie výstupu do iného adresára.\n\nVšetky súbory v cieľovom adresári sú vymazané. Ak cieľový adresár chýba, vytvorí sa rekurzívne.\n"
  },
  {
    "path": "languages/sk-SK/Help/savetiddler.tid",
    "content": "title: $:/language/Help/savetiddler\ndescription: Uloží pôvodny obsah tiddlera do určeného súboru\n\nUloží jednotlivý tiddler v jeho pôvodnej textovej alebo binárnej podobe do určeného súboru. \n\n```\n--savetiddler <title> <filename>\n```\n\nŠtandardne sa cesta k súboru resolvuje voči `output` podadresáru v adresári vydania. Príkaz `--output` je možné použiť na presmerovanie výstupu do iného adresára.\n\nChýbajúce adresáre v ceste vytváraného súboru sa vytvoria automaticky.\n"
  },
  {
    "path": "languages/sk-SK/Help/savetiddlers.tid",
    "content": "title: $:/language/Help/savetiddlers\ndescription: Uloží skupinu tiddlerov v ich pôvodnom formáte do určeného adresára\n\nUloží skupinu tiddlerov v ich pôvodnej textovej alebo binárnej podobe do určeného adresára. \n\n```\n--savetiddlers <filter> <pathname>\n```\n\nŠtandardne sa cesta k súboru resolvuje voči `output` podadresáru v adresári vydania. Príkaz `--output` je možné použiť na presmerovanie výstupu do iného adresára.\n\nChýbajúce adresáre v ceste vytváraného súboru sa vytvoria automaticky.\n"
  },
  {
    "path": "languages/sk-SK/Help/server.tid",
    "content": "title: $:/language/Help/server\ndescription: Poskytuje interfejs HTTP servera pre TiddlyWiki\n\nServer zabudovaný do TiddlyWiki5 je veľmi jednoduchý. Hoci je kompatibilný s TiddlyWeb, nemá mnohé z vlastností potrebné na robustné používanie z Internetu.\n\nNa úrovni roota slúži na zobrazenie určeného tiddlera. Mimo roota poskytuje jednotlivé tiddlery vo formáte JSON, a podporuje základné HTTP operácie ako `GET`, `PUT` a `DELETE`.\n\n```\n--server <port> <roottiddler> <rendertype> <servetype> <username> <password> <host> <pathprefix>\n```\n\nParametre sú:\n\n* ''port'' - port number (defaults to \"8080\")\n* ''roottiddler'' - tiddler slúžiaci ako root (štandardne \"$:/core/save/all\") \n* ''rendertype'' - typ obsahu, v ktorom sa má root tiddler zobrazovať (štandardne ako \"text/plain\")\n* ''servetype'' - typ obsahu, v ktorom má byť root tiddler poskytnutý (štandardne ako \"text/html\")\n* ''username'' - štandarne pred-definované meno používateľa na podpisovanie vykonaných zmien\n* ''password'' - voliteľné heslo pre základnú autentifikáciu\n* ''host'' - voliteľný hostname z ktorého sa poskytuje stránka (štandardne  \"127.0.0.1\" alebo \"localhost\")\n* ''pathprefix'' - voliteľný prefix pre cesty k súborom\n\nAk je špecifikovaný parameter hesla, tak browser vyzve používateľa na zadanie mena a hesla. Majte na pamäti, že heslo je posielané v nechránenej podobe, takže táto implentácia nie je vhodná na všeobecné použitie.\n\nNapríklad:\n\n```\n--server 8080 $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n\nMeno a heslo musia byť zadané ako prázdne reťazce (v úvodzovkách), ak potrebujete nastaviť hostname alebo predponu pre cestu k súboru a nechcete vyžadovať heslo:\n\n```\n--server 8080 $:/core/save/all text/plain text/html \"\" \"\" 192.168.0.245\n```\n\nAk chcete spustiť viacero TiddlyWiki serverov naraz, musíte spustiť každý na inom porte.\n"
  },
  {
    "path": "languages/sk-SK/Help/setfield.tid",
    "content": "title: $:/language/Help/setfield\ndescription: Pripraví na použitie externé tiddlery\n\n//Majte na pamäti, že tento príkaz je experimentálny a vo finálnej verzii môže byť zmenený alebo nahradený//\n\nNastavuje určené pole skupiny tiddlerov na hodnotu výsledku do wiki prevedeného vzorového tiddlera s premennou `currentTiddler` pre daný tiddler.\n\n```\n--setfield <filter> <fieldname> <templatetitle> <rendertype>\n```\n\nParametre sú:\n\n* ''filter'' - filter špecifikujúci tiddlery, na ktoré sa má aplikovať\n* ''fieldname'' - pole, ktoré treba modifikovať (štandardne \"text\")\n* ''templatetitle'' - tiddler, ktorý treba vložiť vo wiki podobe do daného poľa. Ak neexistuje alebo je prázdny, tak sa špecifikované pole vymaže\n* ''rendertype'' - typ textu, ktorý treba renderovať (štandardne \"text/plain\"; je možné použiť \"text/html\" na zahrnutie  HTML štítkov)\n"
  },
  {
    "path": "languages/sk-SK/Help/unpackplugin.tid",
    "content": "title: $:/language/Help/unpackplugin\ndescription: Rozbalí obsah plugin tiddlera\n\nVyextrahuje obsah plugin tiddlerov vytvoriac z nich bežné tiddlery:\n\n```\n--unpackplugin <title>\n```\n"
  },
  {
    "path": "languages/sk-SK/Help/verbose.tid",
    "content": "title: $:/language/Help/verbose\ndescription: Spúšťa režim detailného výpisu\n\nSpustí detailný výpis, užitočný pre debugovanie \n\n```\n--verbose\n```\n"
  },
  {
    "path": "languages/sk-SK/Help/version.tid",
    "content": "title: $:/language/Help/version\ndescription: Zobrazuje číslo verzie TiddlyWiki.\n\n\nZobrazí číslo verzie TiddlyWiki.\n\n```\n--version\n```\n"
  },
  {
    "path": "languages/sk-SK/Import.multids",
    "content": "title: $:/language/Import/\n\nListing/Cancel/Caption: Zrušiť\nListing/Hint: Tieto tiddlery sú pripravené na import:\nListing/Import/Caption: Import\nListing/Select/Caption: Vyber\nListing/Status/Caption: Stav\nListing/Title/Caption: Názov\nUpgrader/Plugins/Suppressed/Incompatible: Blokovaný alebo zastaralý plugin \nUpgrader/Plugins/Suppressed/Version: Blokovaný plugin (pretože novo inštalovaný <<incoming>>  je starší ako existujúci <<existing>>)\nUpgrader/Plugins/Upgraded: Plugin upgradovaný z <<incoming>> na <<upgraded>>\nUpgrader/State/Suppressed: Tiddler v stave dočasného blokovania\nUpgrader/System/Suppressed: Blokovaný systémový tiddler\nUpgrader/ThemeTweaks/Created: Zmigrovaná úprava témy z <$text text=<<from>>/>\n"
  },
  {
    "path": "languages/sk-SK/Misc.multids",
    "content": "title: $:/language/\n\nBinaryWarning/Prompt: Tento tiddler obsahuje binárne dáta\nClassicWarning/Hint: Tento tiddler obsahuje wiki texotový formáte pôvodného TiddlyWiki Classic, ktorý nie je plne kompatibilný s TiddlyWiki verzia 5. Podrobnosti je možné nájsť na https://tiddlywiki.com/static/Upgrading.html\nClassicWarning/Upgrade/Caption: upgrade\nCloseAll/Button: zatvor všetky\nConfirmCancelTiddler: Chcete zrušiť zmeny urobené v tiddlere \"<$text text=<<title>>/>\"?\nConfirmDeleteTiddler: Želáte si vymazať tiddler \"<$text text=<<title>>/>\"?\nConfirmEditShadowTiddler: Idete editovať tieňový tiddler. Akékoľvek zmeny prepíšu pred-definovaný systém, čo spôsobí, že následné upgrady nebudú už také triviálne. Ste si istý, že chcete editovať \"<$text text=<<title>>/>\"?\nConfirmOverwriteTiddler: Želáte si prepísať tiddler \"<$text text=<<title>>/>\"?\nDefaultNewTiddlerTitle: Nový tiddler\nDropMessage: Dropnúť sem (alebo zrušiť cez escape)\nEncryption/ConfirmClearPassword: Želáte si zrušiť heslo? Odstráni sa tým šifrovanie obsahu pri ukladaní wiki\nEncryption/PromptSetPassword: Nastav pre tento TiddlyWiki nové heslo\nMissingTiddler/Hint: Chýbajúci tiddler \"<$text text=<<currentTiddler>>/>\" - ak ho chcete vytvoriť, kliknite {{||$:/core/ui/Buttons/edit}} \nRecentChanges/DateFormat: DDth MMM YYYY\nSystemTiddler/Tooltip: Toto je systémový tiddler\nTagManager/Colour/Heading: Farba\nTagManager/Icon/Heading: Ikona\nTagManager/Info/Heading: Info\nTagManager/Tag/Heading: Štítok\nUnsavedChangesWarning: Máte vo wiki neuložené zmeny\n"
  },
  {
    "path": "languages/sk-SK/Modals/Download.tid",
    "content": "title: $:/language/Modals/Download\ntype: text/vnd.tiddlywiki\nsubtitle: Download changes\nfooter: <$button message=\"tm-close-tiddler\">Close</$button>\nhelp: https://tiddlywiki.com/static/DownloadingChanges.html\n\nBohužiuľ, Váš browser podporuje len manuálne uloženie wiki.\n\nAk chcete uložiť zmeny, nastavte sa na linku nižšie, stlačte pravé tlačítko na myši a vyberte \"Stiahnúť súbor\" alebo \"Uložiť súbor\", a potom zvoľte adresár a názov súboru.\n\n//Proces môžete trochu urýchliť tým, že kliknete na linku súčasne so stlačením klávesy control (Windows) alebo options/alt (Mac OS X). Vtedy vás systém už nevyzve na zadanie názvu adresára a súboru, ale je možné, že váš browser dá súboru náhodný a nezrozumiteľný názov -- a skôr ako budete so súborom môcť niečo robiť, musíte ho premenovať a dať mu príponu `.html`.//\n\nNa mobilných telefónoch, ktoré nedovolia sťahovať súbory, môžete namiesto toho vyrobiť pre súbor záložku a potom záložku zosynchronizovať s počítačom, na ktorom už wiki viete uložiť bežným spôsobom.\n"
  },
  {
    "path": "languages/sk-SK/NewJournal.multids",
    "content": "title: $:/config/NewJournal/\n\nTags: Žurnál\nTitle: DDth MMM YYYY\n"
  },
  {
    "path": "languages/sk-SK/Notifications.multids",
    "content": "title: $:/language/Notifications/\n\nSave/Done: Wiki uložený\nSave/Starting: Začínam ukladať wiki\n"
  },
  {
    "path": "languages/sk-SK/Search.multids",
    "content": "title: $:/language/Search/\n\nDefaultResults/Caption: Zoznam\nFilter/Caption: Filter\nFilter/Hint: Hľadaj cez [[filter expression|https://tiddlywiki.com/static/Filters.html]]\nFilter/Matches: //<small><<resultCount>> nájdené</small>//\nMatches: //<small><<resultCount>> nájdené</small>//\nShadows/Caption: Tieňové\nShadows/Hint: Hľadaj v shadow tiddleroch\nShadows/Matches: //<small><<resultCount>> nájdené</small>//\nStandard/Caption: Štandardné\nStandard/Hint: Hľadaj v štandardných tiddleroch\nStandard/Matches: //<small><<resultCount>> nájdené</small>//\nSystem/Caption: Systémové\nSystem/Hint: Hľadaj v systémových tiddleroch\nSystem/Matches: //<small><<resultCount>> nájdené</small>//\n"
  },
  {
    "path": "languages/sk-SK/SideBar.multids",
    "content": "title: $:/language/SideBar/\n\nAll/Caption: Všetky\nContents/Caption: Obsah\nDrafts/Caption: Pracovné\nMissing/Caption: Chýbajúce\nMore/Caption: Viac\nOpen/Caption: Otvorené\nOrphans/Caption: Siroty\nRecent/Caption: Nedávne\nShadows/Caption: Tieňové\nSystem/Caption: Systémové\nTags/Caption: Štítky\nTags/Untagged/Caption: Bez štítkov\nTools/Caption: Nástroje\nTypes/Caption: Typy\n"
  },
  {
    "path": "languages/sk-SK/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\nnelineárny osobný web zápisník"
  },
  {
    "path": "languages/sk-SK/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\nMôj ~TiddlyWiki"
  },
  {
    "path": "languages/sk-SK/TiddlerInfo.multids",
    "content": "title: $:/language/TiddlerInfo/\n\nAdvanced/Caption: Pokročilé\nAdvanced/PluginInfo/Empty/Hint: žiadne\nAdvanced/PluginInfo/Heading: Detaily o plugine\nAdvanced/PluginInfo/Hint: Tento plugin obsahuje nasledovné tieňové tiddlery:\nAdvanced/ShadowInfo/Heading: Stav tieňových tiddlerov\nAdvanced/ShadowInfo/NotShadow/Hint: Tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> nie je tieňový tiddler\nAdvanced/ShadowInfo/OverriddenShadow/Hint: Je prepísaný bežným tiddlerom\nAdvanced/ShadowInfo/Shadow/Hint: Tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> je tieňový tiddler\nAdvanced/ShadowInfo/Shadow/Source: Je definovaný v plugine <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>\nFields/Caption: Polia\nList/Caption: Zoznam\nList/Empty: Tento tiddler nemá zoznam\nListed/Caption: Uvedený\nListed/Empty: Tento tiddler nie je uvedený v žiadných iných tiddleroch\nReferences/Caption: Referencie\nReferences/Empty: Na tento tiddler neodkazujú žiadne tiddlery \nTagging/Caption: Závislosť cez štítky\nTagging/Empty: Žiadne tiddlery nemajú rovnaký štítok ako tento\nTools/Caption: Nástroje\n"
  },
  {
    "path": "languages/sk-SK/Types/application%2Fjavascript.tid",
    "content": "title: $:/language/Docs/Types/application/javascript\ndescription: JavaScript zdrojový kód\nname: application/javascript\ngroup: Vývojár\n"
  },
  {
    "path": "languages/sk-SK/Types/application%2Fjson.tid",
    "content": "title: $:/language/Docs/Types/application/json\ndescription: JSON dáta\nname: application/json\ngroup: Vývojár\n"
  },
  {
    "path": "languages/sk-SK/Types/application%2Fx-tiddler-dictionary.tid",
    "content": "title: $:/language/Docs/Types/application/x-tiddler-dictionary\ndescription: Dátový slovník\nname: application/x-tiddler-dictionary\ngroup: Vývojár\n"
  },
  {
    "path": "languages/sk-SK/Types/image%2Fgif.tid",
    "content": "title: $:/language/Docs/Types/image/gif\ndescription: GIF obrázok\nname: image/gif\ngroup: Obrázok\n"
  },
  {
    "path": "languages/sk-SK/Types/image%2Fjpeg.tid",
    "content": "title: $:/language/Docs/Types/image/jpeg\ndescription: JPEG obrázok\nname: image/jpeg\ngroup: Obrázok\n"
  },
  {
    "path": "languages/sk-SK/Types/image%2Fpng.tid",
    "content": "title: $:/language/Docs/Types/image/png\ndescription: PNG obrázok\nname: image/png\ngroup: Obrázok\n"
  },
  {
    "path": "languages/sk-SK/Types/image%2Fsvg%2Bxml.tid",
    "content": "title: $:/language/Docs/Types/image/svg+xml\ndescription: Structured Vector Graphics obrázok\nname: image/svg+xml\ngroup: Obrázok\n"
  },
  {
    "path": "languages/sk-SK/Types/text%2Fcss.tid",
    "content": "title: $:/language/Docs/Types/text/css\ndescription: Statický stylesheet\nname: text/css\ngroup: Vývojár\n"
  },
  {
    "path": "languages/sk-SK/Types/text%2Fhtml.tid",
    "content": "title: $:/language/Docs/Types/text/html\ndescription: HTML markup\nname: text/html\ngroup: Text\n"
  },
  {
    "path": "languages/sk-SK/Types/text%2Fplain.tid",
    "content": "title: $:/language/Docs/Types/text/plain\ndescription: Čistý text\nname: text/plain\ngroup: Text\n"
  },
  {
    "path": "languages/sk-SK/Types/text%2Fvnd.tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/vnd.tiddlywiki\ndescription: TiddlyWiki 5\nname: text/vnd.tiddlywiki\ngroup: Text\n"
  },
  {
    "path": "languages/sk-SK/plugin.info",
    "content": "{\n\t\"title\": \"$:/languages/sk-SK\",\n\t\"name\": \"sk-SK\",\n\t\"plugin-type\": \"language\",\n\t\"description\": \"Slovenčina (Slovensko)\",\n\t\"author\": \"Vlado Luknar\",\n\t\"core-version\": \">=5.0.0\"\n}"
  },
  {
    "path": "languages/sl-SI/Buttons.multids",
    "content": "title: $:/language/Buttons/\n\nAdvancedSearch/Caption: napredno iskanje\nAdvancedSearch/Hint: Napredno iskanje\nBold/Caption: krepko\nBold/Hint: Označite izbrano besedilo kot krepko\nCancel/Caption: prekliči\nCancel/Hint: Zavrzite spremembe tega tiddlerja\nClear/Caption: počisti\nClear/Hint: Počistite sliko v polno barvo\nClone/Caption: kloniraj\nClone/Hint: Klonirajte ta tiddler\nClose/Caption: zapri\nClose/Hint: Zaprite ta tiddler\nCloseAll/Caption: zapri vse\nCloseAll/Hint: Zaprite vse tiddlerje\nCloseOthers/Caption: zapri ostale\nCloseOthers/Hint: Zaprite ostale tiddlerje\nControlPanel/Caption: nadzorna plošča\nControlPanel/Hint: Odprite nadzorno ploščo\nDelete/Caption: izbriši\nDelete/Hint: Izbrišite ta tiddler\nEdit/Caption: uredi\nEdit/Hint: Uredite ta tiddler\nEditorHeight/Caption: višina urejevalnika\nEditorHeight/Caption/Auto: Samodejno prilagodi višino, da ustreza vsebini\nEditorHeight/Caption/Fixed: Stalna višina:\nEditorHeight/Hint: Izberite višino urejevalnika besedil\nEncryption/Caption: šifriranje\nEncryption/ClearPassword/Caption: izbriši geslo\nEncryption/ClearPassword/Hint: Izbrišite geslo in shranite ta wiki brez šifriranja\nEncryption/Hint: Nastavite ali izbrišite geslo za shranjevanje tega wikija\nEncryption/SetPassword/Caption: nastavi geslo\nEncryption/SetPassword/Hint: Nastavite geslo za shranjevanje tega wikija s šifriranjem\nExcise/Caption: izreži\nExcise/Caption/Excise: Izvedite izrezek\nExcise/Caption/MacroName: Ime makra:\nExcise/Caption/NewTitle: Naslov novega tiddlerja:\nExcise/Caption/Replace: Zamenjajte izrezano besedilo z:\nExcise/Caption/Replace/Link: povezava\nExcise/Caption/Replace/Macro: makro\nExcise/Caption/Replace/Transclusion: transkluzija\nExcise/Caption/Tag: Označite nov tiddler z naslovom tega tiddlerja\nExcise/Caption/TiddlerExists: Pozor: tiddler že obstaja\nExcise/Hint: Izbrano besedilo izrežite v nov tiddler\nExportPage/Caption: izvozi vse\nExportPage/Hint: Izvozite vse tiddlerje\nExportTiddler/Caption: izvozi tiddler\nExportTiddler/Hint: Izvozite tiddler\nExportTiddlers/Caption: izvozi tiddlerje\nExportTiddlers/Hint: Izvozite tiddlerje\nFold/Caption: strni tiddler\nFold/FoldBar/Caption: strni/razširi besedilo\nFold/FoldBar/Hint: Izbirni gumbi za strnitev in razširitev tiddlerjev\nFold/Hint: Strnite besedilo tega tiddlerja\nFoldAll/Caption: strni vse tiddlerje\nFoldAll/Hint: Strnite besedilo vseh odprtih tiddlerjev\nFoldOthers/Caption: strni besedilo ostalih tiddlerjev\nFoldOthers/Hint: Strnite besedilo ostalih odprtih tiddlerjev\nFullScreen/Caption: celozaslonsko\nFullScreen/Hint: Vklopite ali izkolpite celozaslonski način\nHeading1/Caption: Naslov 1\nHeading1/Hint: Na izbranih vrsticah uporabite oblikovanje naslova ravni 1\nHeading2/Caption: Naslov 2\nHeading2/Hint: Na izbranih vrsticah uporabite oblikovanje naslova ravni 2\nHeading3/Caption: Naslov 3\nHeading3/Hint: Na izbranih vrsticah uporabite oblikovanje naslova ravni 3\nHeading4/Caption: Naslov 4\nHeading4/Hint: Na izbranih vrsticah uporabite oblikovanje naslova ravni 4\nHeading5/Caption: Naslov 5\nHeading5/Hint: Na izbranih vrsticah uporabite oblikovanje naslova ravni 5\nHeading6/Caption: Naslov 6\nHeading6/Hint: Na izbranih vrsticah uporabite oblikovanje naslova ravni 6\nHelp/Caption: pomoč\nHelp/Hint: Prikaži pomoč\nHideSideBar/Caption: skrij stransko orodno vrstico\nHideSideBar/Hint: Skrijte stransko orodno vrstico\nHome/Caption: domov\nHome/Hint: Odprite privzete tiddlerje\nImport/Caption: uvoz\nImport/Hint: Uvozite več vrst datotek, vključno z besedilom, sliko, TiddlyWiki ali JSON\nInfo/Caption: info\nInfo/Hint: Pokaži informacije za ta tiddler\nItalic/Caption: ležeče\nItalic/Hint: Označite izbrano besedilo kot ležeče\nLanguage/Caption: jezik\nLanguage/Hint: Izberite jezik uporabniškega vmesnika\nLineWidth/Caption: širina črte\nLineWidth/Hint: Nastavite širino črte za slikanje\nLink/Caption: povezava\nLink/Hint: Ustvarite povezavo wiki\nListBullet/Caption: označen seznam\nListBullet/Hint: Na izbranih vrsticah uporabite oblikovanje označenega seznama\nListNumber/Caption: oštevilčen seznam\nListNumber/Hint: Na izbranih vrsticah uporabite oblikovanje oštevilčenega seznama\nManager/Caption: upravljalnik tiddlerjev\nManager/Hint: Odprite upravljalnik tiddlerjev\nMonoBlock/Caption: blok besedila stalne širine\nMonoBlock/Hint: Na izbranih vrsticah uporabite oblikovanje blok besedila stalne širine\nMonoLine/Caption: pisava stalne širine\nMonoLine/Hint: Izbor oblikujte s pisavo stalne širine\nMore/Caption: več\nMore/Hint: Več dejanj\nNewHere/Caption: nov tukaj\nNewHere/Hint: Ustvarite nov tiddler, ki je označen z imenom tega tiddlerja\nNewImage/Caption: nova slika\nNewImage/Hint: Ustvarite novo sliko\nNewJournal/Caption: nov dnevnik\nNewJournal/Hint: Ustvarite nov dnevnik\nNewJournalHere/Caption: nov dnevnik tukaj\nNewJournalHere/Hint: Ustvarite nov dnevnik, ki je označen z imenom tega tiddlerja\nNewMarkdown/Caption: nov Markdown tiddler\nNewMarkdown/Hint: Ustvarite nov Markdown tiddler\nNewTiddler/Caption: nov tiddler\nNewTiddler/Hint: Ustvarite nov tiddler\nOpacity/Caption: prosojnost\nOpacity/Hint: Nastavite prosojnost slikanja\nOpenWindow/Caption: odpri v novem oknu\nOpenWindow/Hint: Odpri tiddler v novem oknu\nPaint/Caption: barva\nPaint/Hint: Nastavite barvo slikanja\nPalette/Caption: paleta\nPalette/Hint: Izberite barvno paleto\nPermalink/Caption: permalink\nPermalink/Hint: Naslovno vrstico brskalnika nastavite na neposredno povezavo do tega tiddlerja\nPermaview/Caption: permaview\nPermaview/Hint: Naslovno vrstico brskalnika nastavite na neposredno povezavo do vseh tiddlerjev v tej zgodbi\nPicture/Caption: slika\nPicture/Hint: Vstavite sliko\nPreview/Caption: predogled\nPreview/Hint: Pokažite podokno za predogled\nPreviewType/Caption: vrsta predogleda\nPreviewType/Hint: Izberite vrsto predogleda\nPrint/Caption: natisni stran\nPrint/Hint: Natisnite trenutno stran\nQuote/Caption: citat\nQuote/Hint: Na izbranih vrsticah uporabite oblikovanje citata\nRefresh/Caption: osveži\nRefresh/Hint: Popolnoma osvežite wiki\nSave/Caption: v redu\nSave/Hint: Potrdite spremembe tega tiddlerja\nSaveWiki/Caption: shrani spremembe\nSaveWiki/Hint: Shranite spremembe\nShowSideBar/Caption: pokaži stransko vrstico\nShowSideBar/Hint: Pokažite stransko vrstico\nSize/Caption: velikost slike\nSize/Caption/Height: Višina:\nSize/Caption/Resize: Spremeni velikost slike\nSize/Caption/Width: Širina:\nSize/Hint: Nastavite velikost slike\nStamp/Caption: žig\nStamp/Caption/New: Dodajte svoje\nStamp/Hint: Vstavite vnaprej konfiguriran izrezek besedila\nStamp/New/Text: Besedilo izrezka. (Ne pozabite dodati opisnega naslova v polju napisa).\nStamp/New/Title: Ime, kot je prikazano v meniju\nStoryView/Caption: pogled zgodbe\nStoryView/Hint: Izberite upodobitev zgodbe\nStrikethrough/Caption: prečrtano\nStrikethrough/Hint: Prečrtajte izbrano besedilo\nSubscript/Caption: podpisano\nSubscript/Hint: Izbrano besedilo oblikujte podpisano\nSuperscript/Caption: nadpisano\nSuperscript/Hint: Izbrano besedilo oblikujte nadpisano\nTagManager/Caption: upravitelj oznak\nTagManager/Hint: Odprite upravitelja oznak\nTheme/Caption: tema\nTheme/Hint: Izberite temo\nTimestamp/Caption: časovni žigi\nTimestamp/Hint: Izberite, ali spremembe posodobijo časovne žige\nTimestamp/Off/Caption: časovni žigi so izključeni\nTimestamp/Off/Hint: Ne posodobi časovnih žigov, ko so tiddlerji spremenjeni\nTimestamp/On/Caption: časovni žigi so vključeni\nTimestamp/On/Hint: Posodobite časovne žige, ko so tiddlerji spremenjeni\nUnderline/Caption: podčrtano\nUnderline/Hint: Podčrtajte izbrano besedilo\nUnfold/Caption: razširi tiddler\nUnfold/Hint: Razširi besedilo tega tiddlerja\nUnfoldAll/Caption: razširi vse tiddlerje\nUnfoldAll/Hint: Razširi besedilo vseh odprtih tiddlerjev\n"
  },
  {
    "path": "languages/sl-SI/ControlPanel.multids",
    "content": "title: $:/language/ControlPanel/\n\nAdvanced/Caption: Napredno\nAdvanced/Hint: Interne informacije o tem TiddlyWikiju\nAppearance/Caption: Videz\nAppearance/Hint: Načini prilagoditve videza vašega TiddlyWikija.\nBasics/AnimDuration/Prompt: Trajanje animacije:\nBasics/Caption: Osnove\nBasics/DefaultTiddlers/BottomHint: Za naslove s presledki uporabite &#91;&#91;double square brackets&#93;&#93;. Ali pa kliknite, {{da bi ob nalaganju obnovili odprte tiddlerje.||$:/snippets/retain-story-ordering-button}}\nBasics/DefaultTiddlers/Prompt: Privzeti tiddlerji:\nBasics/DefaultTiddlers/TopHint: Izberite, kateri tiddlerji so prikazani ob zagonu:\nBasics/Language/Prompt: Zdravo! Trenutni jezik:\nBasics/NewJournal/Tags/Prompt: Oznake za nove dnevniške tiddlerje\nBasics/NewJournal/Text/Prompt: Besedilo za nove dnevniške tiddlerje\nBasics/NewJournal/Title/Prompt: Naslov za nove dnevniške tiddlerje\nBasics/OverriddenShadowTiddlers/Prompt: Število prepisanih senčnih tiddlerjev:\nBasics/ShadowTiddlers/Prompt: Število senčnih tiddlerjev:\nBasics/Subtitle/Prompt: Podnaslov:\nBasics/SystemTiddlers/Prompt: Število sistemskih tiddlerjev:\nBasics/Tags/Prompt: Število oznak:\nBasics/Tiddlers/Prompt: Število tiddlerjev:\nBasics/Title/Prompt: Naslov tega ~TiddlyWikija:\nBasics/Username/Prompt: Uporabniško ime za podpisovanje sprememb:\nBasics/Version/Prompt: različica ~TiddlyWikija\nEditorTypes/Caption: Vrste urejevalnikov\nEditorTypes/Editor/Caption: Urejevalnik\nEditorTypes/Hint: Ti tiddlerji določajo, kateri urejevalnik se uporablja za urejanje določenih vrst tiddlerjev.\nEditorTypes/Type/Caption: vrsta MIME\nInfo/Caption: Info\nInfo/Hint: Informacije o tem TiddlyWikiju\nKeyboardShortcuts/Add/Caption: dodajte bližnjico\nKeyboardShortcuts/Add/Prompt: Tukaj vnesite bližnjico\nKeyboardShortcuts/Caption: Bližnjice na tipkovnici\nKeyboardShortcuts/Hint: Upravljanje dodelitev bližnjic na tipkovnici\nKeyboardShortcuts/NoShortcuts/Caption: Ni dodeljenih bližnjičnih tipk\nKeyboardShortcuts/Platform/All: Vse platforme\nKeyboardShortcuts/Platform/Linux: Samo Linux\nKeyboardShortcuts/Platform/Mac: Samo Macintosh\nKeyboardShortcuts/Platform/NonLinux: Vse platforme razen Linux\nKeyboardShortcuts/Platform/NonMac: Vse platforme razen Macintosh\nKeyboardShortcuts/Platform/NonWindows: Vse platforme razen Windows\nKeyboardShortcuts/Platform/Windows: Samo Windows\nKeyboardShortcuts/Remove/Hint: odstranite bližnjico na tipkovnici\nLoadedModules/Caption: Naloženi moduli\nLoadedModules/Hint: To so trenutno naloženi tiddler moduli, povezani z njihovimi izvornimi tiddlerji. Moduli zapisani kurzivno nimajo izvornega tiddlerja, običajno zato, ker so bili nastavljeni med zagonom.\nPalette/Caption: Paleta\nPalette/Editor/Clone/Caption: kloniraj\nPalette/Editor/Clone/Prompt: Priporočamo, da klonirate to senčno paleto, preden jo urejate.\nPalette/Editor/Prompt: Urejanje\nPalette/Editor/Prompt/Modified: Ta senčna paleta je bila spremenjena\nPalette/Editor/Reset/Caption: ponastaviti\nPalette/HideEditor/Caption: skrij urejevalnik\nPalette/Prompt: Trenutna paleta:\nPalette/ShowEditor/Caption: pokaži urejevalnik\nParsing/Block/Caption: Pravila razčlenjevanja blokov\nParsing/Caption: Razčlenjevanje\nParsing/Hint: Tukaj lahko globalno onemogočite/omogočite pravila wiki razčlenjevalnika. Če želite da začnejo spremembe veljati, shranite in znova naložite svoj wiki. Če onemogočite določena pravila razčlenjevalnika, lahko preprečite da, <$ text text=\"TiddlyWiki\"/> pravilno deluje. Uporabite [[varen način|http: //tiddlywiki.com/#SafeMode]] za obnovitev normalnega delovanja.\nParsing/Inline/Caption: Znotrajvrstična pravila razčlenjevanja\nParsing/Pragma/Caption: Pragma pravila razčlenjevanja\nPlugins/Add/Caption: Pridobite več vtičnikov\nPlugins/Add/Hint: Namestite vtičnike iz uradne knjižnice\nPlugins/AlreadyInstalled/Hint: Ta vtičnik je že nameščen. Različica: <$ text text=<< installedVersion>>/>\nPlugins/Caption: Vtičniki\nPlugins/ClosePluginLibrary: zapri knjižnico vtičnikov\nPlugins/Disable/Caption: onemogoči\nPlugins/Disable/Hint: Onemogoči ta vtičnik pri ponovnem nalaganju strani\nPlugins/Disabled/Status: (onemogočen)\nPlugins/Empty/Hint: Nič\nPlugins/Enable/Caption: omogoči\nPlugins/Enable/Hint: Omogočite ta vtičnik pri ponovnem nalaganju strani\nPlugins/Install/Caption: namesti\nPlugins/Installed/Hint: Trenutno nameščeni vtičniki:\nPlugins/Languages/Caption: Jeziki\nPlugins/Languages/Hint: Vtičniki jezikovnih paketov\nPlugins/NoInfoFound/Hint: Noben ''\"<$text text=<<currentTab>>/>\"'' ni bil najden\nPlugins/NoInformation/Hint: Ni podatkov\nPlugins/NotInstalled/Hint: Ta vtičnik trenutno ni nameščen\nPlugins/OpenPluginLibrary: odpri knjižnico vtičnikov\nPlugins/Plugins/Caption: Vtičniki\nPlugins/Plugins/Hint: Vtičniki\nPlugins/Reinstall/Caption: ponovno namestite\nPlugins/Themes/Caption: Teme\nPlugins/Themes/Hint: Vtičniki tem\nSaving/Caption: Shranjevanje\nSaving/DownloadSaver/AutoSave/Description: Dovolite samodejno shranjevanje za \"download saver\"\nSaving/DownloadSaver/AutoSave/Hint: Omogočite samodejno shranjevanje za \"Download Saver\"\nSaving/DownloadSaver/Caption: Download Saver\nSaving/DownloadSaver/Hint: Te nastavitve veljajo za \"download saver\", ki je združljiv z HTML5\nSaving/General/Caption: Splošno\nSaving/General/Hint: Te nastavitve veljajo za vse mehanizme shranjevanja\nSaving/Hint: Nastavitve, uporabljene za shranjevanje celotnega TiddlyWikija kot posamezne datoteke prek shranjevalnega modula\nSaving/TiddlySpot/Advanced/Heading: Napredne nastavitve\nSaving/TiddlySpot/BackupDir: Imenik za varnostno kopiranje\nSaving/TiddlySpot/Backups: Varnostne kopije\nSaving/TiddlySpot/Caption: Shrani v ~TiddlySpot\nSaving/TiddlySpot/Description: Te nastavitve se uporabljajo samo pri shranjevanju na http://tiddlyspot.com ali združljivem strežniku\nSaving/TiddlySpot/Filename: Ime datoteke za nalaganje\nSaving/TiddlySpot/Heading: ~TiddlySpot\nSaving/TiddlySpot/Hint: //URL strežnika je privzeto nastavljen na `http://<wikiname>.tiddlyspot.com/store.cgi` in ga je mogoče spremeniti, če želite uporabiti naslov strežnika po meri, npr. `http://example.com/store.php`.//\nSaving/TiddlySpot/Password: Geslo\nSaving/TiddlySpot/ServerURL: URL strežnika\nSaving/TiddlySpot/UploadDir: Imenik za nalaganje\nSaving/TiddlySpot/UserName: Ime wikija\nSettings/AutoSave/Caption: Samodejno shrani\nSettings/AutoSave/Disabled/Description: Ne shrani sprememb samodejno\nSettings/AutoSave/Enabled/Description: Samodejno shrani spremembe\nSettings/AutoSave/Hint: Samodejno shrani spremembe med urejanjem, če shranjevalni modul to podpira\nSettings/CamelCase/Caption: Camel Case wiki povezave\nSettings/CamelCase/Description: Omogoči samodejno povezovanje ~CamelCase\nSettings/CamelCase/Hint: Ponovno naložite stran, da aktivirate nastavitev!\nSettings/Caption: Nastavitve\nSettings/DefaultSidebarTab/Caption: Privzeti zavihek v stranski vrstici\nSettings/DefaultSidebarTab/Hint: Določite, kateri zavihek stranske vrstice je privzeto prikazan\nSettings/EditorToolbar/Caption: Orodna vrstica urejevalnika\nSettings/EditorToolbar/Description: Pokaži orodno vrstico urejevalnika\nSettings/EditorToolbar/Hint: Omogočite ali onemogočite orodno vrstico urejevalnika:\nSettings/Hint: Te nastavitve vam omogočajo, da prilagodite vedenje TiddlyWikija.\nSettings/InfoPanelMode/Caption: Obnašanje informacijskega pulta tiddlerja\nSettings/InfoPanelMode/Hint: Nastavitev, kdaj se informacijski pult tiddlerja zapre\nSettings/InfoPanelMode/Popup/Description: Informacijski pult tiddlerja se zapre samodejno\nSettings/InfoPanelMode/Sticky/Description: Informacijski pult tiddlerja ostane odprt dokler ga ne zapremo\nSettings/LinkToBehaviour/Caption: Obnašanje tiddlerjev pri odpiranju\nSettings/LinkToBehaviour/InsideRiver/Hint: Navigacija //znotraj// zgodbe (reke tiddlerjev)\nSettings/LinkToBehaviour/OpenAbove: Odpri nad trenutnim tiddlerjem\nSettings/LinkToBehaviour/OpenAtBottom: Odpri na dnu zgodbe (reke tiddlerjev)\nSettings/LinkToBehaviour/OpenAtTop: Odpri na vrhu zgodbe (reke tiddlerjev)\nSettings/LinkToBehaviour/OpenBelow: Odpri pod trenutnim tiddlerjem\nSettings/LinkToBehaviour/OutsideRiver/Hint: Navigacija //izven// zgodbe (reke tiddlerjev)\nSettings/MissingLinks/Caption: Wiki povezave\nSettings/MissingLinks/Description: Omogoči povezave do manjkajočih tiddlerjev\nSettings/MissingLinks/Hint: Izberite, ali se naj omogočijo povezave do tiddlerjev, ki še ne obstajajo\nSettings/NavigationAddressBar/Caption: Naslovna vrstica za navigacijo\nSettings/NavigationAddressBar/Hint: Obnašanje naslovne vrstice brskalnika pri krmarjenju do tiddlerja:\nSettings/NavigationAddressBar/No/Description: Ne posodobi naslovne vrstice\nSettings/NavigationAddressBar/Permalink/Description: Vključi trenutni tiddler\nSettings/NavigationAddressBar/Permaview/Description: Vključi vse odprte tiddlerje\nSettings/NavigationHistory/Caption: Zgodovina brskanja\nSettings/NavigationHistory/Hint: Posodobi zgodovino brskalnika pri krmarjenju do tiddlerja:\nSettings/NavigationHistory/No/Description: Ne posodobi zgodovine\nSettings/NavigationHistory/Yes/Description: Posodobi zgodovino\nSettings/PerformanceInstrumentation/Caption: Merjenje učinkovitosti\nSettings/PerformanceInstrumentation/Description: Omogoči merjenje učinkovitosti\nSettings/PerformanceInstrumentation/Hint: Prikaže statistiko učinkovitosti v konzoli za razvijalce brskalnika. Ponovno naložite stran, da aktivirate nastavitev!\nSettings/TitleLinks/Caption: Naslovi tiddlerjev\nSettings/TitleLinks/Hint: Prikaži naslove tiddlerjev kot povezave\nSettings/TitleLinks/No/Description: Ne prikaži naslove tiddlerjev kot povezave\nSettings/TitleLinks/Yes/Description: Prikaži naslove tiddlerjev kot povezave\nSettings/ToolbarButtons/Caption: Gumbi orodne vrstice\nSettings/ToolbarButtons/Hint: Privzeti izgled gumba orodne vrstice:\nSettings/ToolbarButtons/Icons/Description: Prikaži ikono\nSettings/ToolbarButtons/Text/Description: Prikaži besedilo\nSettings/ToolbarButtonStyle/Caption: Slog gumba orodne vrstice\nSettings/ToolbarButtonStyle/Hint: Izberite slog za gumbe orodne vrstice:\nSettings/ToolbarButtonStyle/Styles/Borderless: Brez roba\nSettings/ToolbarButtonStyle/Styles/Boxed: Uokvirjeno\nSettings/ToolbarButtonStyle/Styles/Rounded: Zaokroženo\nStoryView/Caption: Pogled\nStoryView/Prompt: Trenutni pogled:\nTheme/Caption: Tema\nTheme/Prompt: Trenutna tema:\nTiddlerFields/Caption: Polja tiddlerja\nTiddlerFields/Hint: To je celoten seznam [[polj tiddlerjev|TiddlerFields]], ki se uporabljajo v tem wikiju (vključno s sistemskimi tiddlerji, vendar brez senčnih tiddlerjev).\nToolbars/Caption: Orodne vrstice\nToolbars/EditorToolbar/Caption: Orodna vrstica urejevalnika\nToolbars/EditorToolbar/Hint: Izberite, kateri gumbi so prikazani v orodni vrstici urejevalnika. Upoštevajte, da se nekateri gumbi prikažejo samo pri urejanju tiddlerjev določene vrste. Povlecite in spustite, da spremenite vrstni red.\nToolbars/EditToolbar/Caption: Orodna vrstica načina urejanja\nToolbars/EditToolbar/Hint: Izberite, kateri gumbi so prikazani za tiddlerje v načinu urejanja. Povlecite in spustite, da spremenite vrstni red.\nToolbars/Hint: Izberite, kateri gumbi so prikazani\nToolbars/PageControls/Caption: Orodna vrstica strani\nToolbars/PageControls/Hint: Izberite, kateri gumbi so prikazani na orodni vrstici strani. Povlecite in spustite, da spremenite vrstni red.\nToolbars/ViewToolbar/Caption: Orodna vrstica načina pogleda\nToolbars/ViewToolbar/Hint: Izberite, kateri gumbi so prikazani za tiddlerje v načinu pogleda. Povlecite in spustite, da spremenite vrstni red.\nTools/Download/Full/Caption: Prenesite celoten wiki\n"
  },
  {
    "path": "languages/sl-SI/CoreReadMe.tid",
    "content": "title: $:/core/sl-SI/readme\n\nTa vtičnik vsebuje osnovne TiddlyWiki komponente, ki jih sestavljajo:\n\n* moduli JavaScript kode.\n* ikone\n* predloge, potrebne za ustvarjanje vmesnika TiddlyWiki\n* prevodna besedila v britanska angleščina (' en-GB''), ki jih uporablja jedro Tiddlywiki."
  },
  {
    "path": "languages/sl-SI/Dates.multids",
    "content": "title: $:/language/\n\nDate/DaySuffix/1: .\nDate/DaySuffix/10: .\nDate/DaySuffix/11: .\nDate/DaySuffix/12: .\nDate/DaySuffix/13: .\nDate/DaySuffix/14: .\nDate/DaySuffix/15: .\nDate/DaySuffix/16: .\nDate/DaySuffix/17: .\nDate/DaySuffix/18: .\nDate/DaySuffix/19: .\nDate/DaySuffix/2: .\nDate/DaySuffix/20: .\nDate/DaySuffix/21: .\nDate/DaySuffix/22: .\nDate/DaySuffix/23: .\nDate/DaySuffix/24: .\nDate/DaySuffix/25: .\nDate/DaySuffix/26: .\nDate/DaySuffix/27: .\nDate/DaySuffix/28: .\nDate/DaySuffix/29: .\nDate/DaySuffix/3: .\nDate/DaySuffix/30: .\nDate/DaySuffix/31: .\nDate/DaySuffix/4: .\nDate/DaySuffix/5: .\nDate/DaySuffix/6: .\nDate/DaySuffix/7: .\nDate/DaySuffix/8: .\nDate/DaySuffix/9: .\nDate/Long/Day/0: nedelja\nDate/Long/Day/1: ponedeljek\nDate/Long/Day/2: torek\nDate/Long/Day/3: sreda\nDate/Long/Day/4: četrtek\nDate/Long/Day/5: petek\nDate/Long/Day/6: sobota\nDate/Long/Month/1: januar\nDate/Long/Month/10: oktober\nDate/Long/Month/11: november\nDate/Long/Month/12: december\nDate/Long/Month/2: februar\nDate/Long/Month/3: marec\nDate/Long/Month/4: april\nDate/Long/Month/5: maj\nDate/Long/Month/6: junij\nDate/Long/Month/7: julij\nDate/Long/Month/8: avgust\nDate/Long/Month/9: september\nDate/Period/am: dop\nDate/Period/pm: pop\nDate/Short/Day/0: ned\nDate/Short/Day/1: pon\nDate/Short/Day/2: tor\nDate/Short/Day/3: sre\nDate/Short/Day/4: čet\nDate/Short/Day/5: pet\nDate/Short/Day/6: sob\nDate/Short/Month/1: jan\nDate/Short/Month/10: okt\nDate/Short/Month/11: nov\nDate/Short/Month/12: dec\nDate/Short/Month/2: feb\nDate/Short/Month/3: mar\nDate/Short/Month/4: apr\nDate/Short/Month/5: maj\nDate/Short/Month/6: jun\nDate/Short/Month/7: jul\nDate/Short/Month/8: aug\nDate/Short/Month/9: sep\nRelativeDate/Future/Days: čez <<period>> dni\nRelativeDate/Future/Hours: čez <<period>> ur\nRelativeDate/Future/Minutes: čez <<period>> minut\nRelativeDate/Future/Months: čez <<period>> mesecev\nRelativeDate/Future/Second: čez eno sekundo\nRelativeDate/Future/Seconds: čez <<period>> sekund\nRelativeDate/Future/Years: čez <<period>> let\nRelativeDate/Past/Days: pred <<period>> dnevi\nRelativeDate/Past/Hours: pred <<period>> urami\nRelativeDate/Past/Minutes: pred <<period>> minutami\nRelativeDate/Past/Months: pred <<period>> meseci\nRelativeDate/Past/Second: pred eno sekundo\nRelativeDate/Past/Seconds: pred <<period>> sekundami\nRelativeDate/Past/Years: pred <<period>> leti\n"
  },
  {
    "path": "languages/sl-SI/Docs/ModuleTypes.multids",
    "content": "title: $:/language/Docs/ModuleTypes/\n\nallfilteroperator: Podrejeni operator za ''all'' filter operator.\nanimation: Animacije, ki se lahko uporabljajo z RevealWidget.\nbitmapeditoroperation: Operacija orodne vrstice urejevalnika bitnih slik.\ncommand: Ukazi, ki se lahko izvajajo pod Node.js.\nconfig: Podatki, ki se vstavijo v `$ tw.config`.\nfilteroperator: Posamezne funkcije za filter operator.\nglobal: Globalni podatki, ki bodo vstavljeni v `$tw`.\n\ninfo: Objavlja sistemske informacije s psevdo-vtičnikom [[$:/temp/info-plugin]].\n\nisfilteroperator: Operand za ''is'' filter operator.\nlibrary: Generični tip modula za splošne module JavaScript.\nmacro: Makro definicije v JavaScriptu.\nparser: Razčlenjevalci za različne vrste vsebin.\nsaver: \"Savers\" omogočajo različne načine za shranjevanje datotek iz brskalnika.\nstartup: Zagonske funkcije.\nstoryview: Pogledi zgodbe (Story view) prilagodijo animacijo in obnašanje seznamskih gradnikov (ListWidget), ki upravljajo glavni prikaz tiddlerjev.\ntexteditoroperation: Operacija orodne vrstice urejevalnika besedil.\ntiddlerdeserializer: Pretvori različne vrste vsebin v tiddlerje.\ntiddlerfield: Določa vedenje posameznega polja tiddlerja.\ntiddlermethod: Doda metode v prototip `$tw.Tiddler`.\n\nupgrader: Izvaja posebne spremembe med nadgradnjo ali uvozom.\nutils: Doda metode v `$tw.utils`.\nutils-node: Doda metode, specifične za Node.js, v `$tw.utils`.\nwidget: Gradniki prikažejo in osvežujejo prikaz v DOM.\nwikimethod: Doda metode v `$tw.Wiki`.\nwikirule: Posamezna razčlenjevalna pravila za glavni WikiText razčlenjevalnik.\n"
  },
  {
    "path": "languages/sl-SI/Docs/PaletteColours.multids",
    "content": "title: $:/language/Docs/PaletteColours/\n\nalert-background: Ozadje opozorila\nalert-border: Rob opozorila\nalert-highlight: Poudarek opozorila\nalert-muted-foreground: Ospredje izklopljenega opozorila\nbackground: Splošno ozadje\nblockquote-bar: Oznaka citata\nbutton-background: Privzeto ozadje gumba\nbutton-border: Privzeta rob gumba\nbutton-foreground: Privzeto ospredje gumba\ncode-background: Ozadje kode\ncode-border: Rob kode\ncode-foreground: Ospredje kode\ndirty-indicator: Indikator neshranjenih sprememb\ndownload-background: Ozadje gumba prejemanje\ndownload-foreground: Ospredje gumba prejemanje\ndragger-background: Ozadje vlečenja\ndragger-foreground: Ospredje vlečenja\ndropdown-background: Ozadje pogovornega okna za izbiro\ndropdown-border: Rob pogovornega okna za izbiro\ndropdown-tab-background: Ozadje zavihka pogovornega okna za izbiro\ndropdown-tab-background-selected: Ozadje izbranega zavihka pogovornega okna za izbiro\ndropzone-background: Ozadje uvozne cone\nexternal-link-background: Ozadje zunanje povezave\nexternal-link-background-hover: Ozadje zunanje povezave ob prehodu\nexternal-link-background-visited: Ozadje obiskane zunanje povezave\nexternal-link-foreground: Ospredje zunanje povezave\nexternal-link-foreground-hover: Ospredje zunanje povezave ob prehodu\nexternal-link-foreground-visited: Ospredje obiskane zunanje povezave\nforeground: Splošno ospredje\nmessage-background: Ozadje sporočilnega polja\nmessage-border: Rob sporočilnega polja\nmessage-foreground: Ospredje sporočilnega polja\nmodal-backdrop: Zatemnjeno modalno pogovorno okno\nmodal-background: Ozadje modalnega pogovornega okna\nmodal-border: Rob modalnega pogovornega okna\nmodal-footer-background: Ozadje noge modalnega pogovornega okna\nmodal-footer-border: Rob noge modalnega pogovornega okna\nmodal-header-border: Rob glave modalnega pogovornega okna\nmuted-foreground: Splošno izklopljeno ospredje\nnotification-background: Ozadje obvestila\nnotification-border: Rob obvestila\npage-background: Ozadje strani\npre-background: Ozadje predoblikovane kode\npre-border: Rob predoblikovane kode\nprimary: Splošna osnovna barva\nsidebar-button-foreground: Ospredje gumba v stranski vrstici\nsidebar-controls-foreground: Ospredje nadzornih elementov v stranski vrstici\nsidebar-controls-foreground-hover: Ospredje nadzornih elementov v stranski vrstici ob prehodu\nsidebar-foreground: Ospredje stranske vrstice\nsidebar-foreground-shadow: Senčno ospredje stranske vrstice\nsidebar-muted-foreground: Izklopljeno ospredje stranske vrstice\nsidebar-muted-foreground-hover: Izklopljeno ospredje stranske vrstice ob prehodu\nsidebar-tab-background: Ozadje zavihka v stranski vrstici\nsidebar-tab-background-selected: Ozadje izbranega zavihka v stranski vrstici\nsidebar-tab-border: Rob zavihka v stranski vrstici\nsidebar-tab-border-selected: Rob izbranega zavihka v stranski vrstici\nsidebar-tab-divider: Razdelilnik zavihkov v stranski vrstici\nsidebar-tab-foreground: Ospredje zavihka v stranski vrstici\nsidebar-tab-foreground-selected: Ospredje izbranega zavihka v stranski vrstici\nsidebar-tiddler-link-foreground: Ospredje povezave do tiddlerja v stranski vrstici\nsidebar-tiddler-link-foreground-hover: Ospredje povezave do tiddlerja v stranski vrstici ob prehodu\nsite-title-foreground: Ospredje naslova strani\nstatic-alert-foreground: Ospredje statičnega opozorila\ntab-background: Ozadje zavihka\ntab-background-selected: Ozadje izbranega zavihka\ntab-border: Rob zavihka\ntab-border-selected: Rob izbranih zavihkov\ntab-divider: Razdelilnik zavihkov\ntab-foreground: Ospredje zavihkov\ntab-foreground-selected: Ospredje izbranih zavihkov\ntable-border: Rob tabele\ntable-footer-background: Ozadje noge tabele\ntable-header-background: Ozadje glave tabele\ntag-background: Ozadje oznake\ntag-foreground: Ospredje oznake\ntiddler-background: Ozadje tiddlerja\ntiddler-border: Rob tiddlerja\ntiddler-controls-foreground: Ospredje nadzornih elementov tiddlerja\ntiddler-controls-foreground-hover: Ospredje nadzornih elementov tiddlerja ob prehodu\ntiddler-controls-foreground-selected: Ospredje izbranih nadzornih elementov tiddlerja\ntiddler-editor-background: Ozadje urejevalnika tiddlerja\ntiddler-editor-border: Rob urejevalnika tiddlerja\ntiddler-editor-border-image: Rob urejevalnika slikovnega tiddlerja\ntiddler-editor-fields-even: Ozadje urejevalnika tiddlerja za soda polja\ntiddler-editor-fields-odd: Ozadje urejevalnika tiddlerja za liha polja\ntiddler-info-background: Ozadje informacijske plošče tiddlerja\ntiddler-info-border: Rob informacijske plošče tiddlerja\ntiddler-info-tab-background: Ozadje zavihka informacijske plošče tiddlerja\ntiddler-link-background: Ozadje povezave do tiddlerja\ntiddler-link-foreground: Ospredje povezave do tiddlerja\ntiddler-subtitle-foreground: Ospredje podnaslova tiddlerja\ntiddler-title-foreground: Ospredje naslova tiddlerja\ntoolbar-cancel-button: Ospredje 'cancel' gumba orodne vrstice\ntoolbar-close-button: Ospredje 'close' gumba orodne vrstice\ntoolbar-delete-button: Ospredje 'delete' gumba orodne vrstice\ntoolbar-done-button: Ospredje 'done' gumba orodne vrstice\ntoolbar-edit-button: Ospredje 'edit' gumba orodne vrstice\ntoolbar-info-button: Ospredje 'info' gumba orodne vrstice\ntoolbar-new-button: Ospredje 'new tiddler' gumba orodne vrstice\ntoolbar-options-button: Ospredje 'options' gumba orodne vrstice\ntoolbar-save-button: Ospredje 'save' gumba orodne vrstice\nuntagged-background: Ozadje neoznačene pilule\nvery-muted-foreground: Zelo zatemnjeno ospredje\n"
  },
  {
    "path": "languages/sl-SI/EditTemplate.multids",
    "content": "title: $:/language/EditTemplate/\n\nBody/External/Hint: To je zunanji tiddler, shranjen zunaj glavne datoteke TiddlyWiki. Urejate lahko oznake in polja, vendar ne morete neposredno urediti vsebine.\nBody/Placeholder: Vnesite besedilo za ta tiddler\nBody/Preview/Type/Output: prikaz\nField/Remove/Caption: odstrani polje\nField/Remove/Hint: Odstranite polje\nFields/Add/Button: dodaj\nFields/Add/Dropdown/System: Sistemska polja\nFields/Add/Dropdown/User: Uporabniška polja\nFields/Add/Name/Placeholder: ime polja\nFields/Add/Prompt: Dodaj novo polje:\nFields/Add/Value/Placeholder: vrednost/besedilo polja\nShadow/OverriddenWarning: To je spremenjen senčni tiddler. Lahko se vrnete na privzeto različico v vtičniku <<pluginLink>> tako, da izbrišete ta tiddler.\nShadow/Warning: To je senčni tiddler. Vse spremembe, ki jih naredite, bodo razveljavile privzeto različico iz vtičnika <<pluginLink>>.\nTags/Add/Button: dodaj\nTags/Add/Placeholder: ime oznake\nTags/Dropdown/Caption: seznam oznak\nTags/Dropdown/Hint: Pokaži seznam oznak\nTitle/BadCharacterWarning: Opozorilo: izogibajte se uporabi znakov <<bad-chars>> v naslovih tiddler\nTitle/Exists/Prompt: Ciljni tiddler že obstaja\nTitle/Relink/Prompt: Spremeni iz ''<$text text=<<fromTitle>>/>'' v ''<$text text=<<toTitle>>/>'' v //oznakah// in //seznamskih// poljih ostalih tiddlerjev\nType/Delete/Caption: izbriši vrsto vsebine\nType/Delete/Hint: Izbrišite vrsto vsebine\nType/Dropdown/Caption: seznam vrst vsebine\nType/Dropdown/Hint: Pokaži seznam vrst vsebine\nType/Placeholder: vrsta vsebine\nType/Prompt: Vrsta:\n"
  },
  {
    "path": "languages/sl-SI/Exporters.multids",
    "content": "title: $:/language/Exporters/\n\nCsvFile: CSV datoteka\nJsonFile: JSON datoteka\nStaticRiver: Statični HTML\nTidFile: \".tid\" datoteka\n"
  },
  {
    "path": "languages/sl-SI/Fields.multids",
    "content": "title: $:/language/Docs/Fields/\n\n_canonical_uri: Celoten URI zunanjega slikovnega tiddlerja. URI = Enotni identifikator virov, identifikator za vire na internetu.\nbag: Ime ~TiddlyWeb \"torbe\", iz katere je prišel tiddler.\ncaption: Besedilo, ki se prikaže na zavihku ali gumbu\ncolor: Barvna vrednost CSS, povezana s tiddlerjem\ncomponent: Ime komponente, odgovorne za [[opozorilni tiddler|AlertMechanism]]\ncreated: Datum, ko je bil tiddler ustvarjen\ncreator: Ime osebe, ki je ustvarila tiddler\ncurrent-tiddler: Uporablja se za predpomnjenje vrhnjega tiddlerja na [[seznamu zgodovine|HistoryMechanism]]\ndependents: Navede odvisnosti za \"vtičnike\".\ndescription: Opisno besedilo za vtičnik ali modalni dialog\ndraft.of: Osnutek od - vsebuje naslov tiddlerja, h kateremu spada ta osnutek\ndraft.title: Za osnutek tiddlerja vsebuje predlagani novi naslov tiddlerja\nfooter: Besedilo noge za čarovnika\nicon: Naslov tiddlerja, ki vsebuje ikono, povezano s tem tiddlerjem\nlibrary: Če je nastavljeno na \"da\", bo tiddler shranjen kot knjižnica JavaScript\nlist: Urejen seznam naslovov tiddlerjev, povezanih s tem tiddlerjem\nlist-after: Če je nastavljen, pomeni naslov tiddlerja, za katerim se ta tiddler dodaja na urejeni seznam naslovov tiddlerjev\nlist-before: Če je nastavljen, pomeni naslov tiddlerja, pred katerim se ta tiddler dodaja na urejeni seznam naslovov tiddlerjev, ali na začetek seznama, če je to polje prazno\nmodified: Datum in čas, ko je bil tiddler nazadnje spremenjen\nmodifier: Ime osebe, ki je nazadnje spremenila tiddler.\nname: Človeško berljivo ime za \"vtičnik\" tiddler.\nplugin-priority: Številčna vrednost, ki kaže prednost vtičnika\nplugin-type: Vrsta vtičnika\nreleased: Datum izdaje TiddlyWiki\nrevision: Različica tiddlerja shranjena na strežniku\nsource: Izvorni URL, povezan s tiddlerjem\nsubtitle: Podnaslov za pogovorno okno čarovnika\ntags: Seznam oznak, povezanih s tiddlerjem\ntext: Telo besedila tiddlerja\ntitle: Edinstveno ime tiddlerja.\ntype: Vrsta vsebine tiddlerja\nversion: Informacije o različici za vtičnik\n"
  },
  {
    "path": "languages/sl-SI/Filters.multids",
    "content": "title: $:/language/Filters/\n\nAllTags: Vse oznake razen sistemskih oznak\nAllTiddlers: Vsi tiddlerji razen sistemskih tiddlerjev\nDrafts: Osnutki tiddlerjev\nMissing: Manjkajoči tiddlerji\nOrphans: Tiddlerji sirote\nOverriddenShadowTiddlers: Prepisani senčni tiddlerji\nRecentSystemTiddlers: Nedavno spremenjeni tiddlerji, vključno s sistemskimi tiddlerji\nRecentTiddlers: Nedavno spremenjeni tiddlerji\nShadowTiddlers: Senčni tiddlerji\nStoryList: Tiddlerji v zgodbi (reka tiddlerjev), brez <$text text=\"$:/AdvancedSearch\"/>\nSystemTags: Sistemske oznake\nSystemTiddlers: Sistemski tiddlerji\nTypedTiddlers: Tiddlerji, ki ne vsebujejo \"wiki-text\"\n"
  },
  {
    "path": "languages/sl-SI/GettingStarted.tid",
    "content": "title: GettingStarted\n\n\\define lingo-base() $:/language/ControlPanel/Basics/\nDobrodošli v ~TiddlyWiki in skupnost ~TiddlyWiki\n\nPreden začnete shranjevati pomembne informacije v ~TiddlyWiki, je pomembno, da se prepričate, da lahko varno shranite spremembe. Za podrobnosti si oglejte http://tiddlywiki.com/#GettingStarted\n\n!! Nastavite ta ~TiddlyWiki\n\n<div class=\"tc-control-panel\">\n\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\nZa več možnosti si oglejte [[nadzorno ploščo|$:/ControlPanel]].\n"
  },
  {
    "path": "languages/sl-SI/Help/build.tid",
    "content": "title: $:/language/Help/build\ndescription: Samodejno zaženite nastavljene ukaze\n\nTa ukaz zgradi določene cilje gradnje za trenutni wiki. Če ni določen noben cilj gradnje, bodo zgrajeni vsi razpoložljivi cilji.\n\n```\n--build <target> [<target> ...]\n```\n\nCilji gradnje so definirani v datoteki `tiddlywiki.info` v mapi wiki.\n\n"
  },
  {
    "path": "languages/sl-SI/Help/clearpassword.tid",
    "content": "title: $:/language/Help/clearpassword\ndescription: Ta ukaz izbriše geslo za poznejše šifriranje\n\nTa ukaz izbriše geslo za poznejše šifriranje\n\n```\n--clearpassword\n```\n"
  },
  {
    "path": "languages/sl-SI/Help/default.tid",
    "content": "title: $:/language/Help/default\ndescription: \n\n\\define commandTitle()\n$:/language/Help/$(command)$\n\\end\n```\nuporaba: tiddlywiki [<wikifolder>] [--<command> [<args>...]...]\n```\n\nukazi, ki so na voljo:\n\n<ul>\n<$list filter=\"[commands[]sort[title]]\" variable=\"command\">\n<li><$link to=<<commandTitle>>><$macrocall $name=\"command\" $type=\"text/plain\" $output=\"text/plain\"/></$link>: <$transclude tiddler=<<commandTitle>> field=\"description\"/></li>\n</$list>\n</ul>\n\nPodrobne informacije o ukazih:\n\n```\ntiddlywiki --help <command>\n```\n"
  },
  {
    "path": "languages/sl-SI/Help/editions.tid",
    "content": "title: $:/language/Help/editions\ndescription: Navede razpoložljive izdaje TiddlyWiki\n\nNavede imena in opise razpoložljivih izdaj. Z ukazom \"--init\" lahko ustvarite nov wiki določene izdaje.\n\n```\n--editions\n```\n"
  },
  {
    "path": "languages/sl-SI/Help/fetch.tid",
    "content": "title: $:/language/Help/fetch\ndescription: Pridobi tiddlerje iz wikija na URL naslovu\n\nPridobite eno ali več datotek prek HTTP / HTTPS in uvozite tiddlerje, ki se ujemajo s filtrom, po potrebi pa spremenite dohodne naslove.\n\n```\n--fetch file <url> <import-filter> <transform-filter>\n--fetch files <url-filter> <import-filter> <transform-filter>\n```\nČe se uporablja parameter \"file\", se pridobi samo ena datoteka. Prvi parameter je URL, iz katerega je treba naložiti datoteko.\n\nČe je uporabljen parameter `files`, se prenašajo več datotek. V tem primeru je prvi parameter filter, ki vsebuje seznam URL-jev, iz katerih je treba brati datoteke. Na primer: več tiddlerjev je označenih z: \"remote-server\" in vsebujejo polje: \"url\". Vtem primeru bo filter `[tag[remote-server]get[url]]` bo pridobil vse razpoložljive URL-je.\n\nParameter `<import-filter>` določa, katere tiddlers želite uvoziti. Privzeto je: `[all [tiddlers]]`, če nič ni podano.\n\nParameter `<transform-filter>` določa neobvezni filter, ki spreminja naslove uvoženih tiddlerjev. Na primer, `[addprefix[$:/myimports/]]` v vsak naslov.\n\nČe se pred ukazom `--fetch` uporabi `--verbose`, se izpišejo razširjene diagnostične informacije.\n\nUpoštevajte, da TiddlyWiki ne bo uvozil starejše različice že naloženega vtičnika.\n\nNaslednji primer prikliče vse nesistemske tiddlerje iz http://tiddlywiki.com in jih shrani v datoteko JSON:\n\n```\ntiddlywiki --verbose --fetch file \"http://tiddlywiki.com/\" \"[!is[system]]\" \"\" --rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[!is[system]]\"\n```\n\n"
  },
  {
    "path": "languages/sl-SI/Help/help.tid",
    "content": "title: $:/language/Help/help\ndescription: Prikaže pomoč za ukaze TiddlyWiki\n\nPrikaže besedilo pomoči za ukaz:\n\n```\n--help [<command>]\n```\n\nČe je ime ukaza izpuščeno, se prikaže seznam razpoložljivih ukazov.\n"
  },
  {
    "path": "languages/sl-SI/Help/init.tid",
    "content": "title: $:/language/Help/init\ndescription: Inicializira novo mapo wiki\n\nInicializira prazen  [[WikiFolder|WikiFolders]] s kopijo navedene izdaje.\n\n```\n--init <edition> [<edition> ...]\n```\n\nNa primer:\n\n```\ntiddlywiki ./MyWikiFolder --init empty\n```\n\nOpomba:\n\n* Po potrebi bo ustvarjen imenik mape wiki\n* Parameter \"izdaja\" je privzeto \"empty\"\n* Ukaz za init ne bo uspešen, če mapa wiki ni prazna\n* Ukaz init odstrani vse definicije `includeWikis` v datoteki `tiddlywiki.info` izdaje\n* Če je določenih več izdaj, bodo inicializirane izdaje kasneje prepisale vse datoteke, ki so deljene s prejšnjimi izdajami (tako bo končna datoteka `tiddlywiki.info` kopirana iz zadnje izdaje)\n* `--editions` vrne seznam razpoložljivih izdaj\n"
  },
  {
    "path": "languages/sl-SI/Help/load.tid",
    "content": "title: $:/language/Help/load\ndescription: Naloži tiddlerje iz datoteke\n\nNaloži tiddlerje iz 2.x.x TiddlyWiki datotek (`.html`),` .tiddler`, `.tid`,` .json` ali druge datotek\n\n```\n--load <filepath>\n```\n\nČe želite naložiti podatke iz šifrirane datoteke TiddlyWiki, morate najprej določiti geslo s parametrom \"password\". Na primer:\n\n```\ntiddlywiki ./MyWiki --password pa55w0rd --load my_encrypted_wiki.html\n```\n\nUpoštevajte, da TiddlyWiki ne bo naložil starejše različice že naloženega vtičnika.\n"
  },
  {
    "path": "languages/sl-SI/Help/makelibrary.tid",
    "content": "title: $:/language/Help/makelibrary\ndescription: Ustvari knjižnico, ki je potrebna za postopek nadgradnje.\n\nUstvari tiddler `$:/UpgradeLibrary`, ki je potreben za postopek nadgradnje.\n\nKnjižnica za nadgradnjo je oblikovana kot navaden vtičnik tiddler z tipom vtičnika `library`. Vsebuje kopijo vsakega vtičnika, tem in jezikovnih paketov, ki so na voljo v skladišču TiddlyWiki5.\n\nTa ukaz je namenjen za interno uporabo; velja samo za uporabnike, ki si želijo izdelati postopek nadgradnje po meri.\n\n```\n--makelibrary <title>\n```\n\nArgument \"title\" je privzeto `$:/UpgradeLibrary`.\n"
  },
  {
    "path": "languages/sl-SI/Help/notfound.tid",
    "content": "title: $:/language/Help/notfound\ndescription: \n\nNa to temo ni nobene pomoči!"
  },
  {
    "path": "languages/sl-SI/Help/output.tid",
    "content": "title: $:/language/Help/output\ndescription: Nastavi osnovni izhodni imenik za naslednje ukaze.\n\nNastavi osnovni izhodni imenik za naslednje ukaze. Privzeti izhodni imenik je poddirektorij `output` v imeniku izdaje.\n\n```\n--output <pathname>\n```\n\nČe je podan imenik \"relativen\", ga ustvari glede na obstoječi delovni imenik. Na primer `--output .` nastavi trenutni delovni imenik kot izhodni imenik.\n"
  },
  {
    "path": "languages/sl-SI/Help/password.tid",
    "content": "title: $:/language/Help/password\ndescription: Nastavi geslo za poznejše šifriranje\n\nNastavi geslo za poznejše šifriranje\n\n```\n--password <password>\n```\n\nOpomba: te možnosti ni mogoče uporabiti za nastavitev »gesla za strežnik«! Za informacije o geslu strežnika si oglejte ukaz \"--server\".\n"
  },
  {
    "path": "languages/sl-SI/Help/rendertiddler.tid",
    "content": "title: $:/language/Help/rendertiddler\ndescription: Izpiše posamezen tiddler v določeni obliki\n\nIzpiše posamezni tiddler v določeni obliki, privzeto \"text/html\" in ga shrani v podano ime datoteke.\n\nIzbirno je mogoče podati naslov tiddler predloge. Spremenljivka \"currentTiddler\", je pri tem nastavljena na tiddler, ki ga želimo izpisati (prva vrednost parametra).\n\nOpcijsko je mogoče tudi določiti ime in vrednost za dodatno spremenljivko.\n\n```\n--rendertiddler <title> <filename> [<type>] [<template>] [<name>] [<value>]\n```\n\nPrivzeto je pot do izhodne datoteke relativna glede na podimenik `output` v imeniku izdaje. Ukaz `--output` lahko uporabite za usmerjanje izhoda v drug imenik.\n\nVsi manjkajoči imeniki na poti do imena datoteke se samodejno ustvarijo.\n\nNaslednji ukaz na primer shrani vse tiddlerje, ki se ujemajo s filtrom `[tag[done]]` `v datoteko JSON z naslovom `output.json`, tako da uporabijo osnovno predlogo `$:/core/templates/exporters/JsonFile`.\n\n```\n--rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[tag[done]]\"\n```\n"
  },
  {
    "path": "languages/sl-SI/Help/rendertiddlers.tid",
    "content": "title: $:/language/Help/rendertiddlers\ndescription: Tiddlerje, ki se ujemajo s filtrom, izpiše v določeni obliki\n\nTiddlerje, ki se ujemajo s filtrom, izpiše v posamezne datoteke v določeni obliki, (privzeto `text/html`) in končnico (privzeto `.html`).\n\n```\n--rendertiddlers <filter> <template> <pathname> [<type>] [<extension>] [\"noclean\"]\n```\n\nNa primer:\n\n```\n--rendertiddlers [!is[system]] $:/core/templates/static.tiddler.html ./static text/plain\n```\n\nPrivzeto je pot do izhodne datoteke relativna glede na podimenik `output` v imeniku izdaje. Ukaz `--output` lahko uporabite za usmerjanje izhoda v drug imenik.\n\nVse datoteke v ciljnem imeniku se izbrišejo, razen če je podan parameter ''noclean''. Ciljni imenik je rekurzivno ustvarjen, če manjka.\n"
  },
  {
    "path": "languages/sl-SI/Help/savetiddler.tid",
    "content": "title: $:/language/Help/savetiddler\ndescription: Shrani tiddler v datoteko\n\nShrani posamezni tiddler v obliki besedila ali v binarni obliki v podano ime datoteke.\n\n```\n--savetiddler <title> <filename>\n```\n\nPrivzeto je pot do izhodne datoteke relativna glede na podimenik `output` v imeniku izdaje. Ukaz `--output` lahko uporabite za usmerjanje izhoda v drug imenik.\n\nVsi manjkajoči imeniki na poti do imena datoteke se samodejno ustvarijo.\n"
  },
  {
    "path": "languages/sl-SI/Help/savetiddlers.tid",
    "content": "title: $:/language/Help/savetiddlers\ndescription: Saves a group of raw tiddlers to a directory\n\nShrani skupino tiddlerjev v obliki besedila ali v binarni obliki v določen imenik.\nSaves a group of tiddlers in their raw text or binary format to the specified directory.\n\n```\n--savetiddlers <filter> <pathname> [\"noclean\"]\n```\n\nPrivzeto je pot do izhodne datoteke relativna glede na podimenik `output` v imeniku izdaje. Ukaz `--output` lahko uporabite za usmerjanje izhoda v drug imenik.\n\nKo uporabite ta ukaz se vse datoteke v izhodnem imeniku samodejno izbrišejo. Da bi to preprečili, lahko uporabite parameter ''noclean''.\n\nVsi manjkajoči imeniki na poti do imena datoteke se samodejno ustvarijo.\n"
  },
  {
    "path": "languages/sl-SI/Help/server.tid",
    "content": "title: $:/language/Help/server\ndescription: Zagotavlja HTTP strežnik za TiddlyWiki.\n\nStrežnik, vgrajen v TiddlyWiki5, je zelo preprost. Čeprav je združljiv s TiddlyWeb, ne podpira številnih funkcij, potrebnih za robustno uporabo v internetu.\n\nV osnovi omogoča streže prikaz določenega tiddlerja. Poleg tega pa omogoča še strežbo posameznih tiddlerjev kodiranih v JSON formatu ter podpira osnovne operacije HTTP za `GET`,` PUT` in `DELETE`.\n\n\n```\n--server <port> <roottiddler> <rendertype> <servetype> <username> <password> <host> <pathprefix>\n```\n\nParametri so:\n\n* ''port'' - številka vrat, s katerih naj se streže (privzeto je \"8080\")\n* ''roottiddler'' - tiddler, ki bo osnovni tiddler (privzeto \"$:/core/save/all\")\n* ''rendertype'' - vrsto vsebine, v kateri na bo naj bo prikazan osnovni tiddler (privzeto je \"text / plain\")\n* ''servetype'' - vrsto vsebine, v kateri naj bo strežen osnovni tiddler (privzeto je \"text / html\")\n* ''username''- privzeto uporabniško ime za podpisovanje sprememb\n* ''password'' - izbirno geslo za osnovno overjanje\n* ''gostitelj'' - neobvezno ime gostitelja, s katerega se streže (privzeto je \"127.0.0.1\" ali \"localhost\")\n* ''pathprefix'' - neobvezna predpona za poti\n\nČe je parameter gesla določen, bo brskalnik uporabnika pozval za uporabniško ime in geslo. Geslo se pošilja v nešifriranem besedilu, zato ta implementacija ni primerna za splošno uporabo.\n\nNa primer:\n\n```\n--server 8080 $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n\nČe morate nastaviti ime gostitelja ali pathprefix in ne želite zahtevati gesla je mogoče za uporabniško ime in geslo uporabiti prazen niz:\n\n```\n--server 8080 $:/core/save/all text/plain text/html \"\" \"\" 192.168.0.245\n```\n\nČe želite zagnati več TiddlyWiki strežnikov hkrati, morate vsakemu nastaviti svoja vrata (port).\n"
  },
  {
    "path": "languages/sl-SI/Help/setfield.tid",
    "content": "title: $:/language/Help/setfield\ndescription: Eksperimentalno - nastavi \"polje\" tiddlerja na določeno vrednost\n\n//Upoštevajte, da je ta ukaz poskusen in se lahko spremeni ali pa bo zamenjan, preden bo dokončan//\n\nNastavi navedeno polje skupine tiddlerjev na rezultat \"wikizacije\" predloge tiddler, pri čemer je spremenljivka `currentTiddler` nastavljena na ustrezni tiddler.\n\n```\n--setfield <filter> <fieldname> <templatetitle> <rendertype>\n```\n\nParametri so:\n\n* ''filter'' - filter, ki izbere tiddlerje za spremembo\n* ''fieldname'' - polje za spreminjanje (privzeto je \"text\")\n* ''templatetitle'' - tiddler predloga, ki se vnese v navedeno polje. Če je parameter prazen ali manjka, se podano polje izbriše\n* ''rendertype'' - tip besedila, ki ga želite prikazati (privzeto je \"text/plain\"; besedilo \"html\" se lahko uporablja za vključitev oznak HTML)\n"
  },
  {
    "path": "languages/sl-SI/Help/unpackplugin.tid",
    "content": "title: $:/language/Help/unpackplugin\ndescription: Ekstrahira tiddlerje iz vtičnika\n\nEkstrahira vse tiddlerje iz vtičnika in jih zapiše kot posamezne datoteke:\n\n```\n--unpackplugin <title>\n```\n"
  },
  {
    "path": "languages/sl-SI/Help/verbose.tid",
    "content": "title: $:/language/Help/verbose\ndescription: Omogoči razširjen izhodni način\n\nOmogoči razširjen izpis, uporaben za odpravljanje napak\n\n```\n--verbose\n```\n"
  },
  {
    "path": "languages/sl-SI/Help/version.tid",
    "content": "title: $:/language/Help/version\ndescription: Prikaže številko različice TiddlyWiki.\n\nPrikaže številko različice TiddlyWiki.\n\n```\n--version\n```\n"
  },
  {
    "path": "languages/sl-SI/Import.multids",
    "content": "title: $:/language/Import/\n\nImported/Hint: Uvoženi so bili naslednji tiddlerji:\nListing/Cancel/Caption: Prekliči\nListing/Hint: Ti tiddlerji so pripravljeni za uvoz:\nListing/Import/Caption: Uvoz\nListing/Select/Caption: Izbor\nListing/Status/Caption: Status\nListing/Title/Caption: Naslov\nUpgrader/Plugins/Suppressed/Incompatible: Blokiran nezdružljiv ali zastarel vtičnik\nUpgrader/Plugins/Suppressed/Version: Blokiran vtičnik (uvoženi vtičnik <<incoming>> je starejši od obstoječega <<existing>>)\nUpgrader/Plugins/Upgraded: Nadgrajen vtičnik iz <<incoming>> na <<upgraded>>\nUpgrader/State/Suppressed: Blokiran tiddler začasnega stanja\nUpgrader/System/Suppressed: Blokiran sistemski tiddler\nUpgrader/ThemeTweaks/Created: Prenesena prilagoditev teme iz <$text text=<<from>>/>\n"
  },
  {
    "path": "languages/sl-SI/Misc.multids",
    "content": "title: $:/language/\n\nAboveStory/ClassicPlugin/Warning: Videti je, da poskušate naložiti vtičnik, oblikovan za ~TiddlyWiki Classic. Upoštevajte, da [[ti vtičniki ne delujejo s TiddlyWiki različico 5.x.x|http://tiddlywiki.com/#TiddlyWikiClassic]]. Zaznani ~TiddlyWiki Classic vtičniki:\nBinaryWarning/Prompt: Ta tiddler vsebuje binarne podatke\nClassicWarning/Hint: Ta tiddler je napisan v besedilnem formatu TiddlyWiki Classic, ki ni v celoti združljiv z različico TiddlyWiki 5. Za več informacij obiščite http://tiddlywiki.com/static/Upgrading.html.\nClassicWarning/Upgrade/Caption: nadgradnja\nCloseAll/Button: zapri vse\nColourPicker/Recent: Nedavno:\nConfirmCancelTiddler: Želite zavreči spremembe v tiddlerju: \"<$text text=<<title>>/>\"?\nConfirmDeleteTiddler: Želite izbrisati tiddler \"<$text text=<<title>>/>\"?\nConfirmEditShadowTiddler: Spremenili boste senčni tiddler. Vse spremembe bodo prepisale privzeti sistem, zaradi česar bodo prihodnje nadgradnje ne-trivialne. Vaše spremembe lahko razveljavite tako, da izbrišete ta tiddler. Ali ste prepričani, da želite urediti \"<$text text=<<title>>/>\"?\nConfirmOverwriteTiddler: Želite prepisati tiddler \"<$text text=<<title>>/>\"?\nCount: število\nDefaultNewTiddlerTitle: Nov tiddler\nDropMessage: Spustite tukaj (ali uporabite tipko »Escape« za preklic)\nEncryption/Cancel: Prekliči\nEncryption/ConfirmClearPassword: Ali želite izbrisati geslo? To bo odstranilo šifriranje, uporabljeno pri shranjevanju tega wikija\nEncryption/Password: geslo\nEncryption/PasswordNoMatch: geslo se ne ujema\nEncryption/PromptSetPassword: Nastavite novo geslo za ta TiddlyWiki\nEncryption/RepeatPassword: Ponovite geslo\nEncryption/SetPassword: Nastavite geslo\nEncryption/Username: Uporabniško ime\nError/Caption: Napaka\nError/Filter: Filter napaka\nError/FilterSyntax: Sintaktična napaka v izrazu filtra\nError/IsFilterOperator: Filter napaka: neznan operand za 'is' operator filtra\nError/LoadingPluginLibrary: Napaka pri nalaganju knjižnice vtičnikov\nError/PutEditConflict: Datoteka je spremenjena na strežniku\nError/RecursiveTransclusion: Rekurzivna napaka transkluzije v \"transclude widget\"\nError/RetrievingSkinny: Napaka pri pridobivanju \"skinny\" seznama tiddlerjev\nError/SavingToTWEdit: Napaka pri shranjevanju v TWEdit\nError/WhileSaving: Napaka med shranjevanjem\nError/XMLHttpRequest: Koda napake XMLHttpRequest\nInternalJavaScriptError/Hint: No, to je neprijetno. Priporočamo, da znova zaženete TiddlyWiki tako, da osvežite brskalnik\nInternalJavaScriptError/Title: Notranja napaka JavaScript\nLazyLoadingWarning: <p>Nalaganje zunanjega besedila z ''<$text text={{!!_canonical_uri}}/>''</p><p>Če to sporočilo ne izgine, morda uporabljate brskalnik, ki ne podpira zunanjega besedila v tej konfiguraciji. Oglejte si  http://tiddlywiki.com/#ExternalText</p>\nLoginToTiddlySpace: Prijavite se v TiddlySpace\nManager/Controls/FilterByTag/None: (nobena)\nManager/Controls/FilterByTag/Prompt: Filtriraj po oznaki:\nManager/Controls/Order/Prompt: Obratni vrstni red\nManager/Controls/Search/Placeholder: Iskanje\nManager/Controls/Search/Prompt: Iskanje:\nManager/Controls/Show/Option/Tags: oznake\nManager/Controls/Show/Option/Tiddlers: tiddlerji\nManager/Controls/Show/Prompt: Prikaži:\nManager/Controls/Sort/Prompt: Razvrsti po:\nManager/Item/Colour: Barva\nManager/Item/Fields: Polja\nManager/Item/Icon: Ikona\nManager/Item/Icon/None: (nobena)\nManager/Item/RawText: Surovo besedilo\nManager/Item/Tags: Oznake\nManager/Item/Tools: Orodja\nManager/Item/WikifiedText: Wikificirano besedilo\nMissingTiddler/Hint: Manjkajoč tiddler  \"<$text text=<<currentTiddler>>/>\" - kliknite {{$:/core/images/edit-button}}, da ga ustvarite\nNo: Ne\nOfficialPluginLibrary: Uradna ~TiddlyWiki knjižnica vtičnikov\nOfficialPluginLibrary/Hint: Uradna knjižnica vtičnikov ~TiddlyWiki na naslovu tiddlywiki.com. Vtičnike, teme in jezikovne pakete vzdržuje osrednja ekipa.\nPluginReloadWarning: Prosimo, shranite  {{$:/core/ui/Buttons/save-wiki}} in znova naložite {{$:/core/ui/Buttons/refresh}}, da bodo spremembe v vtičnikih lahko začele veljati\nRecentChanges/DateFormat: DD. MMM YYYY\nSystemTiddler/Tooltip: To je sistemski tiddler\nSystemTiddlers/Include/Prompt: Vključi sistemske tiddlerje\nTagManager/Colour/Heading: Barva\nTagManager/Count/Heading: Število\nTagManager/Icon/Heading: ikona\nTagManager/Info/Heading: Info\nTagManager/Tag/Heading: Oznaka\nTiddler/DateFormat: DD. MMM YYYY ob hh12:0mm am\nUnsavedChangesWarning: TiddlyWiki je bil spremenjen, vendar še ni shranjen!\nYes: Da\n"
  },
  {
    "path": "languages/sl-SI/Modals/Download.tid",
    "content": "title: $:/language/Modals/Download\ntype: text/vnd.tiddlywiki\nsubtitle: Download changes\nfooter: <$button message=\"tm-close-tiddler\">Close</$button>\nhelp: http://tiddlywiki.com/static/DownloadingChanges.html\n\nVaš brskalnik podpira le ročno shranjevanje.\n\nČe želite shraniti spremenjeni wiki, z desnim gumbom kliknite povezavo prenosa spodaj in izberite »Prenesi datoteko« ali »Shrani datoteko« in nato izberite mapo in ime datoteke.\n\n// Lahko malo izboljšate stvari, tako da kliknete povezavo s ctrl tipko (Windows) ali alt tipko (Mac OS X). Ne boste pozvani da izberete mapo ali ime datoteke, vendar bo vaš brskalnik verjetno dal neprepoznavno ime - morda boste morali preimenovati datoteko, da vključite končnico `.html`, preden lahko naredite kaj koristnega z njo.//\n\nNa pametnih telefonih, ki ne dovoljujejo nalaganja datotek, lahko namesto tega dodate povezavo med zaznamke in nato svoje zaznamke sinhronizirate z namiznim računalnikom, iz katerega lahko običajno shranite wiki."
  },
  {
    "path": "languages/sl-SI/NewJournal.multids",
    "content": "title: $:/config/NewJournal/\n\nTags: Dnevnik\nText: \nTitle: DD. MMM YYYY\n"
  },
  {
    "path": "languages/sl-SI/Notifications.multids",
    "content": "title: $:/language/Notifications/\n\nSave/Done: Wiki je shranjen!\nSave/Starting: Začenjam shranjevati wiki\n"
  },
  {
    "path": "languages/sl-SI/Search.multids",
    "content": "title: $:/language/Search/\n\nDefaultResults/Caption: Seznam\nFilter/Caption: Filter\nFilter/Hint: Išči po [[izrazu filtra|http://tiddlywiki.com/static/Filters.html]]\nFilter/Matches: //<small><<resultCount>> zadetkov</small>//\nMatches: //<small><<resultCount>> zadetkov</small>//\nMatches/All: Vsi zadetki:\nMatches/Title: Zadetki v naslovih\nSearch: Iskanje\nSearch/TooShort: Iskalni niz je prekratek\nShadows/Caption: Sence\nShadows/Hint: Išči v senčnih tiddlerjih\nShadows/Matches: //<small><<resultCount>> zadetkov</small>//\nStandard/Caption: Standard\nStandard/Hint: Išči v standardnih tiddlerjih\nStandard/Matches: //<small><<resultCount>> zadetkov</small>//\nSystem/Caption: Sistem\nSystem/Hint: Išči v sistemskih tiddlerjih\nSystem/Matches: //<small><<resultCount>> zadetkov</small>//\n"
  },
  {
    "path": "languages/sl-SI/SideBar.multids",
    "content": "title: $:/language/SideBar/\n\nAll/Caption: Vsi\nContents/Caption: Vsebina\nDrafts/Caption: Osnutki\nMissing/Caption: Manjkajoči\nMore/Caption: Več\nOpen/Caption: Odprti\nOrphans/Caption: Sirote\nRecent/Caption: Nedavni\nShadows/Caption: Sence\nSystem/Caption: Sistem\nTags/Caption: Oznake\nTags/Untagged/Caption: neoznačeni\nTools/Caption: Orodja\nTypes/Caption: Tipi\n"
  },
  {
    "path": "languages/sl-SI/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\nnelinearna osebna spletna beležnica"
  },
  {
    "path": "languages/sl-SI/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\nMoj ~TiddlyWiki"
  },
  {
    "path": "languages/sl-SI/Snippets/ListByTag.tid",
    "content": "title: $:/language/Snippets/ListByTag\ntags: $:/tags/TextEditor/Snippet\ncaption: Seznam tiddlerjev po oznaki\n\n<<list-links \"[tag[task]sort[title]]\">>\n"
  },
  {
    "path": "languages/sl-SI/Snippets/MacroDefinition.tid",
    "content": "title: $:/language/Snippets/MacroDefinition\ntags: $:/tags/TextEditor/Snippet\ncaption: Makro definicija\n\n\\define macroName(param1:\"default value\",param2)\nBesedilo makra\n\\end\n"
  },
  {
    "path": "languages/sl-SI/Snippets/Table4x3.tid",
    "content": "title: $:/language/Snippets/Table4x3\ntags: $:/tags/TextEditor/Snippet\ncaption: Tabela s 4 stolpci in 3 vrsticami\n\n|! |!Alfa |!Beta |!Gama |!Delta |\n|!Ena| | | | |\n|!Dva| | | | |\n|!Tri| | | | |\n"
  },
  {
    "path": "languages/sl-SI/Snippets/TableOfContents.tid",
    "content": "title: $:/language/Snippets/TableOfContents\ntags: $:/tags/TextEditor/Snippet\ncaption: Kazalo\n\n<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'TableOfContents'>>\n\n</div>"
  },
  {
    "path": "languages/sl-SI/ThemeTweaks.multids",
    "content": "title: $:/language/ThemeTweaks/\n\nMetrics: Velikost\nMetrics/BodyFontSize: Velikost pisave za vsebino tiddlerja\nMetrics/BodyLineHeight: Višina vrstice za vsebino tiddlerja\nMetrics/FontSize: Velikost pisave\nMetrics/LineHeight: Višina vrstice\nMetrics/SidebarBreakpoint: Prelom stranske vrstice\nMetrics/SidebarBreakpoint/Hint: najmanjša širina strani, pri kateri bosta zgodba<br>(reka tiddlerjev) in stranska vrstica prikazani vzporedno\nMetrics/SidebarWidth: Širina stranske vrstice\nMetrics/SidebarWidth/Hint: širina stranske vrstice pri variabilno/fiksni postavitvi\nMetrics/StoryLeft: Zgodba položaj levo\nMetrics/StoryLeft/Hint: kako daleč je levi rob zgodbe<br>(območje tiddlerja) od levega roba strani\nMetrics/StoryRight: Zgodba položaj desno\nMetrics/StoryRight/Hint: kako daleč je levi rob stranske vrstice od levega roba strani\nMetrics/StoryTop: Zgodba položaj zgoraj\nMetrics/StoryTop/Hint: kako daleč je zgornji rob zgodbe<br>(reka tiddlerjev) od vrha strani\nMetrics/StoryWidth: Širina zgodbe\nMetrics/StoryWidth/Hint: celotna širina zgodbe (reke tiddlerjev)\nMetrics/TiddlerWidth: Širina tiddlerja \nMetrics/TiddlerWidth/Hint: v zgodbi (reki tiddlerjev)\nOptions: Možnosti\nOptions/CodeWrapping: Prelomi dolge vrstice v blokih kode\nOptions/SidebarLayout: Postavitev stranske vrstice\nOptions/SidebarLayout/Fixed-Fluid: Fiksna zgodba, variabilna stranska vrstica\nOptions/SidebarLayout/Fluid-Fixed: Variabilna zgodba, fiksna stranska vrstica\nOptions/StickyTitles: Lepljivi naslovi\nOptions/StickyTitles/Hint: Naslovi tiddlerja, naj se »držijo« na vrhu okna brskalnika. Opozorilo: sploh ne deluje s Chromom in povzroča težave s postavitvijo v Firefoxu\nSettings: Nastavitve\nSettings/BackgroundImage: slika ozadja strani\nSettings/BackgroundImageAttachment: Priponka slike za ozadje strani\nSettings/BackgroundImageAttachment/Fixed: Fiksen položaj v oknu\nSettings/BackgroundImageAttachment/Scroll: Pomika se z vsebino\nSettings/BackgroundImageSize: Velikost slike ozadja strani\nSettings/BackgroundImageSize/Auto: Samodejno\nSettings/BackgroundImageSize/Contain: Prilagodi\nSettings/BackgroundImageSize/Cover: Prekrij\nSettings/CodeFontFamily: Družina pisav kode\nSettings/FontFamily: Družina pisav\nThemeTweaks: Prilagoditev teme\nThemeTweaks/Hint: Prilagodite lahko nekatere elemente standardne ''Vanilla'' teme.\n"
  },
  {
    "path": "languages/sl-SI/TiddlerInfo.multids",
    "content": "title: $:/language/TiddlerInfo/\n\nAdvanced/Caption: Napredno\nAdvanced/PluginInfo/Empty/Hint: noben\nAdvanced/PluginInfo/Heading: Podrobnosti vtičnika\nAdvanced/PluginInfo/Hint: Ta vtičnik vsebuje naslednje senčne tiddlerje:\nAdvanced/ShadowInfo/Heading: Stanje sence\nAdvanced/ShadowInfo/NotShadow/Hint: Tiddler  <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> ni senčni tiddler\nAdvanced/ShadowInfo/OverriddenShadow/Hint: Prvotni senčni tiddler je bil prepisan s tem tiddlerjem. Če izbrišete ta tiddler, bo prvotni senčni tiddler ponovno aktiven.\nAdvanced/ShadowInfo/Shadow/Hint: Tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> je senčni tiddler\nAdvanced/ShadowInfo/Shadow/Source: Definiran je v vtičniku <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>\nFields/Caption: Polja\nList/Caption: Seznam\nList/Empty: Ta tiddler nima seznama\nListed/Caption: Našteto\nListed/Empty: Ta tiddler ni na seznamu drugih tiddlerjev.\nReferences/Caption: Reference\nReferences/Empty: Noben tiddler ni povezan s tem\nTagging/Caption: Označevanje\nTagging/Empty: Noben tiddler ni označen s tem\nTools/Caption: Orodja\n"
  },
  {
    "path": "languages/sl-SI/Types/application%2Fjavascript.tid",
    "content": "title: $:/language/Docs/Types/application/javascript\ndescription: JavaScript koda\nname: application/javascript\ngroup: Razvijalec\n"
  },
  {
    "path": "languages/sl-SI/Types/application%2Fjson.tid",
    "content": "title: $:/language/Docs/Types/application/json\ndescription: JSON podatki\nname: application/json\ngroup: Razvijalec\n"
  },
  {
    "path": "languages/sl-SI/Types/application%2Fx-tiddler-dictionary.tid",
    "content": "title: $:/language/Docs/Types/application/x-tiddler-dictionary\ndescription: Podatkovni slovar\nname: application/x-tiddler-dictionary\ngroup: Razvijalec\n"
  },
  {
    "path": "languages/sl-SI/Types/image%2Fgif.tid",
    "content": "title: $:/language/Docs/Types/image/gif\ndescription: GIF slika\nname: image/gif\ngroup: Slika\n"
  },
  {
    "path": "languages/sl-SI/Types/image%2Fjpeg.tid",
    "content": "title: $:/language/Docs/Types/image/jpeg\ndescription: JPEG slika\nname: image/jpeg\ngroup: Slika\n"
  },
  {
    "path": "languages/sl-SI/Types/image%2Fpng.tid",
    "content": "title: $:/language/Docs/Types/image/png\ndescription: PNG slika\nname: image/png\ngroup: Slika\n"
  },
  {
    "path": "languages/sl-SI/Types/image%2Fsvg%2Bxml.tid",
    "content": "title: $:/language/Docs/Types/image/svg+xml\ndescription: SVG - Strukturirana vektorska grafika\nname: image/svg+xml\ngroup: Slika\n"
  },
  {
    "path": "languages/sl-SI/Types/text%2Fcss.tid",
    "content": "title: $:/language/Docs/Types/text/css\ndescription: CSS - Cascading Style Sheets\nname: text/css\ngroup: Razvijalec\n"
  },
  {
    "path": "languages/sl-SI/Types/text%2Fhtml.tid",
    "content": "title: $:/language/Docs/Types/text/html\ndescription: HTML - jezik za označevanje nadbesedila\nname: text/html\ngroup: Besedilo\n"
  },
  {
    "path": "languages/sl-SI/Types/text%2Fplain.tid",
    "content": "title: $:/language/Docs/Types/text/plain\ndescription: Golo besedilo\nname: text/plain\ngroup: Besedilo\n"
  },
  {
    "path": "languages/sl-SI/Types/text%2Fvnd.tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/vnd.tiddlywiki\ndescription: TiddlyWiki 5 wiki besedilo\nname: text/vnd.tiddlywiki\ngroup: Besedilo\n"
  },
  {
    "path": "languages/sl-SI/plugin.info",
    "content": "{\n\t\"title\": \"$:/languages/sl-SI\",\n\t\"name\": \"sl-SI\",\n\t\"plugin-type\": \"language\",\n\t\"description\": \"Slovenščina (Slovenija)\",\n\t\"author\": \"Tomaž Ficko\",\n\t\"core-version\": \">=5.0.0\"\n}"
  },
  {
    "path": "languages/sv-SE/Buttons.multids",
    "content": "title: $:/language/Buttons/\r\n\r\nAdvancedSearch/Caption: avancerad sök\r\nAdvancedSearch/Hint: Avancerad sök\r\nCancel/Caption: avbryt\r\nCancel/Hint: Ångra ändringarna för denna tiddler\r\nClone/Caption: Kopiera\r\nClone/Hint: Kopiera denna tiddler\r\nClose/Caption: stäng\r\nClose/Hint: Stäng denna tiddler\r\nCloseAll/Caption: stäng alla\r\nCloseAll/Hint: Stäng alla tiddlers\r\nCloseOthers/Caption: stäng andra\r\nCloseOthers/Hint: Stäng alla andra tiddler\r\nControlPanel/Caption: kontrollpanel\r\nControlPanel/Hint: Öppna kontrollpanelen\r\nDelete/Caption: ta bort\r\nDelete/Hint: ta bort denna tiddler\r\nEdit/Caption: redigera\r\nEdit/Hint: Redigera denna tiddler\r\nEncryption/Caption: kryptering\r\nEncryption/Hint: Ställ in eller rensa lösenordet för att kunna spara denna wiki\r\nEncryption/ClearPassword/Caption: rensa lösenord\r\nEncryption/ClearPassword/Hint: Rensa lösenordet för att kunna spara denna wikin utan kryptering\r\nEncryption/SetPassword/Caption: ställ in lösenord\r\nEncryption/SetPassword/Hint: Ställ in ett lösenord fö ratt spara denna wikin med kryptering\r\nExportPage/Caption: exportera alla\r\nExportPage/Hint: Export all tiddlers\r\nExportTiddler/Caption: exportera tiddler\r\nExportTiddler/Hint: Exportera tiddler\r\nExportTiddlers/Caption: exportera tiddlers\r\nExportTiddlers/Hint: Exportera tiddlers\r\nFullScreen/Caption: fullskärm\r\nFullScreen/Hint: Slå på/av fullskärmsläge\r\nHelp/Caption: hjälp\r\nHelp/Hint: Show help panel\r\nImport/Caption: importera\r\nImport/Hint: Importera filer\r\nInfo/Caption: info\r\nInfo/Hint: Visa information för denna tiddler\r\nHome/Caption: hem\r\nHome/Hint: Öppna standard-tiddlers\r\nLanguage/Caption: språk\r\nLanguage/Hint: Välj visningsspråk\r\nMore/Caption: mer\r\nMore/Hint: Mer val\r\nNewHere/Caption: ny här\r\nNewHere/Hint: Skapa en ny tiddler taggad med denna tiddlers rubrik\r\nNewJournal/Caption: ny journal\r\nNewJournal/Hint: Skapa en ny journal-tiddler\r\nNewJournalHere/Caption: ny journal här\r\nNewJournalHere/Hint: Skapa en ny journal-tiddler taggad med denna tiddlers rubrik\r\nNewTiddler/Caption: ny tiddler\r\nNewTiddler/Hint: Skapa en ny tiddler\r\nOpenWindow/Caption: öppna i nytt fönster\r\nOpenWindow/Hint: Öppna tiddler i ett nytt fönster\r\nPalette/Caption: palett\r\nPalette/Hint: Välj färgpalett\r\nPermalink/Caption: permalänk\r\nPermalink/Hint: Ställ in webbläsarens adressfält för en direktlänk till denna tiddler\r\nPermaview/Caption: permavy\r\nPermaview/Hint: Ställ in webbläsarens adressfält för en direktlänk till alla tiddlers för denna artikeln\r\nRefresh/Caption: uppdatera\r\nRefresh/Hint: Utför en fullständig uppdatering av wikin\r\nSave/Caption: ok\r\nSave/Hint: Godkänn ändringar för denna tiddler\r\nSaveWiki/Caption: spara ändringar\r\nSaveWiki/Hint: Spara ändringar\r\nStoryView/Caption: artikelvy\r\nStoryView/Hint: Välj visualisering för artikelvyn\r\nHideSideBar/Caption: göm sidofält\r\nHideSideBar/Hint: Göm sidofält\r\nShowSideBar/Caption: visa sidofält\r\nShowSideBar/Hint: Visa sidofält\r\nTagManager/Caption: tagghanteraren\r\nTagManager/Hint: Öppna tagghanteraren\r\nTheme/Caption: tema\r\nTheme/Hint: Välj visningstema\r\n"
  },
  {
    "path": "languages/sv-SE/ControlPanel.multids",
    "content": "title: $:/language/ControlPanel/\r\n\r\nAdvanced/Caption: Avancerat\r\nAdvanced/Hint: Intern information om denna TiddlyWiki\r\nAppearance/Caption: Utseende\r\nAppearance/Hint: Möjlighet att ändra utseendet för din TiddlyWiki.\r\nBasics/AnimDuration/Prompt: Varaktighet på animationer:\r\nBasics/Caption: Grundläggande\r\nBasics/DefaultTiddlers/BottomHint: Använd &#91;&#91;dubbla hakparenteser&#93;&#93; för rubriker med mellanslag. Eller kan du välja att {{spara de öppna tiddlers||$:/snippets/retain-story-ordering-button}}\r\nBasics/DefaultTiddlers/Prompt: Standard-tiddlers:\r\nBasics/DefaultTiddlers/TopHint: Välj vilka tiddlers som ska visas vid uppstart:\r\nBasics/Language/Prompt: Hej! Nuvarande språk:\r\nBasics/NewJournal/Title/Prompt: Rubriken för nya journal-tiddlers\r\nBasics/NewJournal/Tags/Prompt: Taggar för nya journal-tiddlers\r\nBasics/OverriddenShadowTiddlers/Prompt: Antal överskridna skugg-tiddlers:\r\nBasics/ShadowTiddlers/Prompt: Antar skugg-tiddlers:\r\nBasics/Subtitle/Prompt: Underrubrik:\r\nBasics/SystemTiddlers/Prompt: Antal system-tiddlers:\r\nBasics/Tags/Prompt: Antal taggar:\r\nBasics/Tiddlers/Prompt: Antal tiddlers:\r\nBasics/Title/Prompt: Rubrik för denna ~TiddlyWiki:\r\nBasics/Username/Prompt: Användarnamn att signera redigeringar:\r\nBasics/Version/Prompt: ~TiddlyWiki version:\r\nEditorTypes/Caption: Redigeringstyper\r\nEditorTypes/Editor/Caption: Redigerare\r\nEditorTypes/Hint: Dessa tiddlers bestämmer vilken redigerare som används att redigera specifika tiddler-typer.\r\nEditorTypes/Type/Caption: Typ\r\nInfo/Caption: Info\r\nInfo/Hint: Information om denna TiddlyWiki\r\nLoadedModules/Caption: Inlästa moduler\r\nLoadedModules/Hint: Detta är de nuvarande inlästa tiddlermoduler som är länkade till sin källtiddler. Alla moduler i kursivt Alle moduler i kursiv stil saknar källtiddler, vanligtvis eftersom de sattes upp under uppstartsprocessen.\r\nPalette/Caption: Palett\r\nPalette/Editor/Clone/Caption: klona\r\nPalette/Editor/Clone/Prompt: Det är rekommenderat att du klona denna skugg-palett innan du redigerar den\r\nPalette/Editor/Prompt/Modified: Denna skugg-palett har blivit ändrad\r\nPalette/Editor/Prompt: Redigerar\r\nPalette/Editor/Reset/Caption: återställ\r\nPalette/HideEditor/Caption: göm redigerare\r\nPalette/Prompt: Current palett:\r\nPalette/ShowEditor/Caption: visa redigerare\r\nPlugins/Add/Hint: Installera insticksprogram från officiella biblioteket\r\nPlugins/Add/Caption: Hämta fler insticksprogram\r\nPlugins/Caption: Insticksprogram\r\nPlugins/Disable/Caption: inaktivera\r\nPlugins/Disable/Hint: Inaktivera detta insticksprogram efter laddat om sidan\r\nPlugins/Disabled/Status: (inaktiverad)\r\nPlugins/Empty/Hint: Inga\r\nPlugins/Enable/Caption: aktivera\r\nPlugins/Enable/Hint: Aktivera detta insticksprogram efter laddat om sidan\r\nPlugins/Installed/Hint: Nuvarande installerade insticksprogram:\r\nPlugins/Languages/Caption: Språk\r\nPlugins/Languages/Hint: Språkpakets-insticksprogram\r\nPlugins/Plugins/Caption: Insticksprogram\r\nPlugins/Plugins/Hint: Insticksprogram\r\nPlugins/Themes/Caption: Teman\r\nPlugins/Themes/Hint: Teman-Insticksprogram\r\nSaving/Caption: Sparar\r\nSaving/Heading: Sparar\r\nSaving/TiddlySpot/Advanced/Heading: Avancerade Inställningar\r\nSaving/TiddlySpot/BackupDir: Backupmapp\r\nSaving/TiddlySpot/Backups: Backuper\r\nSaving/TiddlySpot/Description: Dessa inställningar används bara när du sparar till http://tiddlyspot.com eller en kompatibel server\r\nSaving/TiddlySpot/Filename: Uppladdningsfilnamn\r\nSaving/TiddlySpot/Heading: ~TiddlySpot\r\nSaving/TiddlySpot/Hint: //Serverns URL är som standard `http://<wikiname>.tiddlyspot.com/store.cgi` och kan ändras till en anpassad serveradress, t.ex. `http://example.com/store.php`.//\r\nSaving/TiddlySpot/Password: Lösenord\r\nSaving/TiddlySpot/ServerURL: Server URL\r\nSaving/TiddlySpot/UploadDir: Uppladdninsmapp\r\nSaving/TiddlySpot/UserName: Wikinamn\r\nSettings/AutoSave/Caption: Autospara\r\nSettings/AutoSave/Disabled/Description: Sparar inte ändringar automatiskt\r\nSettings/AutoSave/Enabled/Description: Spara ändringar automatiskt\r\nSettings/AutoSave/Hint: Sparar automatiskt ändringar under redigering\r\nSettings/Caption: Inställningar\r\nSettings/Hint: Dessa inställningar låter dig anpassa din TiddlyWikis beteende.\r\nSettings/NavigationAddressBar/Caption: Navigerings-adressfält\r\nSettings/NavigationAddressBar/Hint: Beteende för webbläsarens adressfält när du går till en tiddler:\r\nSettings/NavigationAddressBar/No/Description: Uppdatera inte adressfältet\r\nSettings/NavigationAddressBar/Permalink/Description: Inkludera måltiddler\r\nSettings/NavigationAddressBar/Permaview/Description: Inkludera måltiddler och nuvarande artikelsekvens\r\nSettings/NavigationHistory/Caption: Navigationshistorik\r\nSettings/NavigationHistory/Hint: Uppdatera webbläsarhistoriken när du går till en tiddler:\r\nSettings/NavigationHistory/No/Description: Uppdatera inte historiken\r\nSettings/NavigationHistory/Yes/Description: Uppdatera historiken\r\nSettings/ToolbarButtonStyle/Caption: Verktygsfältsknappars stil\r\nSettings/ToolbarButtonStyle/Hint: Välj stil för verktygsfältsknapparna\r\nSettings/ToolbarButtonStyle/Styles/Borderless: Utan ram\r\nSettings/ToolbarButtonStyle/Styles/Boxed: Fyrkantig\r\nSettings/ToolbarButtonStyle/Styles/Rounded: Runda\r\nSettings/ToolbarButtons/Caption: Verktygsfältsknappar\r\nSettings/ToolbarButtons/Hint: Standardutseende för verktygsfältsknapparna:\r\nSettings/ToolbarButtons/Icons/Description: Inkludera ikon\r\nSettings/ToolbarButtons/Text/Description: Inkludera text\r\nSettings/DefaultSidebarTab/Caption: Standard-sidofältsflik\r\nSettings/DefaultSidebarTab/Hint: Ange vilken sidofältsflik som visas som standard\r\nSettings/LinkToBehaviour/Caption: Tiddlers öppningsbeteende\r\nSettings/LinkToBehaviour/InsideRiver/Hint: Navigera //innefrån// artikelflödet\r\nSettings/LinkToBehaviour/OutsideRiver/Hint: Navigera //utanför// artikelflödet\r\nSettings/LinkToBehaviour/OpenAbove: Öppna ovanför aktuell tiddler\r\nSettings/LinkToBehaviour/OpenBelow: Öppna nedanför aktuell tiddler\r\nSettings/LinkToBehaviour/OpenAtTop: Öppna högst upp för artikelflödet\r\nSettings/LinkToBehaviour/OpenAtBottom: Öppna längst ner för artikelflödet\r\nSettings/TitleLinks/Caption: Tiddlerrubriker\r\nSettings/TitleLinks/Hint: Ställ in att visa tiddlerrubriker som länkar\r\nSettings/TitleLinks/No/Description: Visa inte tiddlerrubriker som  länkar\r\nSettings/TitleLinks/Yes/Description: Visa tiddlerrubriker som länkar\r\nStoryView/Caption: Artikelvy\r\nStoryView/Prompt: Nuvarande vy:\r\nTheme/Caption: Tema\r\nTheme/Prompt: Nuvarande tema:\r\nTiddlerFields/Caption: Tiddlerfält\r\nTiddlerFields/Hint: Detta är all Tiddlerfält som används i denna wiki (inklusive system-tiddlers med undantag för skugg-tiddlers).\r\nToolbars/Caption: Verktygsfält\r\nToolbars/EditToolbar/Caption: Redigera verktygsfält\r\nToolbars/EditToolbar/Hint: Välj vilja knappar som ska visas när man redigerar en tiddler\r\nToolbars/Hint: Välj vilka verktygsfältsknapper som ska visas\r\nToolbars/PageControls/Caption: Sidverktygsfält\r\nToolbars/PageControls/Hint: Välj vilka knappar som visas på standardverktygsfältet  \r\nToolbars/ViewToolbar/Caption: Visa verktygsfält\r\nToolbars/ViewToolbar/Hint: Välj vilka knappar som visas för tiddlers i visningsläge\r\nTools/Download/Full/Caption: Ladda ner fullständig wiki\r\n\r\n"
  },
  {
    "path": "languages/sv-SE/Dates.multids",
    "content": "title: $:/language/\r\n\r\nDate/DaySuffix/1: :a\r\nDate/DaySuffix/2: :a\r\nDate/DaySuffix/3: :dje\r\nDate/DaySuffix/4: :dje\r\nDate/DaySuffix/5: :e\r\nDate/DaySuffix/6: :e\r\nDate/DaySuffix/7: :e\r\nDate/DaySuffix/8: :e\r\nDate/DaySuffix/9: :e\r\nDate/DaySuffix/10: :e\r\nDate/DaySuffix/11: :e\r\nDate/DaySuffix/12: :e\r\nDate/DaySuffix/13: :e\r\nDate/DaySuffix/14: :e\r\nDate/DaySuffix/15: :e\r\nDate/DaySuffix/16: :e\r\nDate/DaySuffix/17: :e\r\nDate/DaySuffix/18: :e\r\nDate/DaySuffix/19: :e\r\nDate/DaySuffix/20: :e\r\nDate/DaySuffix/21: :a\r\nDate/DaySuffix/22: :a\r\nDate/DaySuffix/23: :a\r\nDate/DaySuffix/24: :e\r\nDate/DaySuffix/25: :e\r\nDate/DaySuffix/26: :e\r\nDate/DaySuffix/27: :e\r\nDate/DaySuffix/28: :e\r\nDate/DaySuffix/29: :e\r\nDate/DaySuffix/30: :dje\r\nDate/DaySuffix/31: :a\r\nDate/Long/Day/0: Söndag\r\nDate/Long/Day/1: Måndag\r\nDate/Long/Day/2: Tisdag\r\nDate/Long/Day/3: Onsdag\r\nDate/Long/Day/4: Torsdag\r\nDate/Long/Day/5: Fredag\r\nDate/Long/Day/6: Lördag\r\nDate/Long/Month/1: Januari\r\nDate/Long/Month/2: Februari\r\nDate/Long/Month/3: Mars\r\nDate/Long/Month/4: April\r\nDate/Long/Month/5: Maj\r\nDate/Long/Month/6: Juni\r\nDate/Long/Month/7: Juli\r\nDate/Long/Month/8: Augusti\r\nDate/Long/Month/9: September\r\nDate/Long/Month/10: Oktober\r\nDate/Long/Month/11: November\r\nDate/Long/Month/12: December\r\nDate/Period/am: am\r\nDate/Period/pm: pm\r\nDate/Short/Day/0: Sön\r\nDate/Short/Day/1: Mån\r\nDate/Short/Day/2: Tis\r\nDate/Short/Day/3: Ons\r\nDate/Short/Day/4: Tor\r\nDate/Short/Day/5: Fre\r\nDate/Short/Day/6: Lör\r\nDate/Short/Month/1: Jan\r\nDate/Short/Month/2: Feb\r\nDate/Short/Month/3: Mar\r\nDate/Short/Month/4: Apr\r\nDate/Short/Month/5: Maj\r\nDate/Short/Month/6: Jun\r\nDate/Short/Month/7: Jul\r\nDate/Short/Month/8: Aug\r\nDate/Short/Month/9: Sep\r\nDate/Short/Month/10: Okt\r\nDate/Short/Month/11: Nov\r\nDate/Short/Month/12: Dec\r\nRelativeDate/Future/Days: <<period>> dagar från och med nu\r\nRelativeDate/Future/Hours: <<period>> timmar från och med nu\r\nRelativeDate/Future/Minutes: <<period>> minuter från och med nu\r\nRelativeDate/Future/Months: <<period>> månader från och med nu\r\nRelativeDate/Future/Second: 1 sekund från och med nu\r\nRelativeDate/Future/Seconds: <<period>> sekunder från och med nu\r\nRelativeDate/Future/Years: <<period>> år från och med nu\r\nRelativeDate/Past/Days: <<period>> dagar sen\r\nRelativeDate/Past/Hours: <<period>> timmar sen\r\nRelativeDate/Past/Minutes: <<period>> minuter sen\r\nRelativeDate/Past/Months: <<period>> månader sen\r\nRelativeDate/Past/Second: 1 sekund sen\r\nRelativeDate/Past/Seconds: <<period>> seconds ago\r\nRelativeDate/Past/Years: <<period>> år sen\r\n"
  },
  {
    "path": "languages/sv-SE/Docs/ModuleTypes.multids",
    "content": "title: $:/language/Docs/ModuleTypes/\r\n\r\nanimation: Animationer som kan användas med RevealWidget.\r\ncommand: Kommandon som kan exekveras under Node.js.\r\nconfig: Data som sätts in i `$tw.config`.\r\nfilteroperator: Individuella filter-växel metoder.\r\nglobal: Global data som sätts in i `$tw`.\r\nisfilteroperator: Operander för ''is'' filter-växeln.\r\nmacro: JavaScript makrodefinitioner.\r\nparser: Parser för olika innehållstyper.\r\nsaver: Savers hanterar olika metoder för att spara filer från webbläsaren.\r\nstartup: Uppstartsfunktioner.\r\nstoryview: Artikel-vyer anpassar animation och beteende över list-widgets.\r\ntiddlerdeserializer: Converts different content types into tiddlers.\r\ntiddlerfield: Definierar beteendet för ett enstaka tiddler-fält.\r\ntiddlermethod: Lägger till metoder till `$tw.Tiddler` prototypen.\r\nupgrader: Tillämpar uppgraderingsprocessens av tiddlers under en upgrade/import.\r\nutils: Lägger till metoder till `$tw.utils`.\r\nutils-node: Lägger till Node.js-specifik metod till `$tw.utils`.\r\nwidget: Widgets kapslar in DOM rendering och uppdaterar.\r\nwikimethod: Lägger till metoder till `$tw.Wiki`.\r\nwikirule: Individuell parserregler för huvud WikiText-parsern.\r\n"
  },
  {
    "path": "languages/sv-SE/Docs/PaletteColours.multids",
    "content": "title: $:/language/Docs/PaletteColours/\r\n\r\nalert-background: Varningsbakgrund\r\nalert-border: Varningsram\r\nalert-highlight: Varningsmarkering\r\nalert-muted-foreground: Dämpad varningsförgrund\r\nbackground: Generell bakgrund\r\nblockquote-bar: Blockcitatslinje\r\nbutton-background: Standardbakgrund för knapp\r\nbutton-border: Standardram för knapp\r\nbutton-foreground: Standardförgrund för knapp\r\ndirty-indicator: Indikator för osparade ändringar\r\ncode-background: Kodbakgrund\r\ncode-border: Kodram\r\ncode-foreground: Kodförgrund\r\ndownload-background: Bakgrund för Nedladdningsknapp\r\ndownload-foreground: Förgrund för Nedladdningsknapp\r\ndragger-background: Dragger background\r\ndragger-foreground: Dragger foreground\r\ndropdown-background: Rullgardinsbakgrund\r\ndropdown-border: Rullgardinsram\r\ndropdown-tab-background-selected: Rullgardinsfliks bakgrund för valda flikar\r\ndropdown-tab-background: Rullgardinfliks bakgrund\r\ndropzone-background: Dropzone background\r\nexternal-link-background-hover: Bakgrund för extern länk, hover\r\nexternal-link-background-visited: Bakgrund för besökt extern länk\r\nexternal-link-background: Bakgrund för extern länk\r\nexternal-link-foreground-hover: Förgrund för extern länk, hover\r\nexternal-link-foreground-visited: Förgrund för besökt extern länk\r\nexternal-link-foreground: Förgrund för extern länk\r\nforeground: Generell förgrund\r\nmessage-background: Bakgrund för meddelanderuta\r\nmessage-border: Meddelanderutas ram\r\nmessage-foreground: Förgrund för meddelanderuta\r\nmodal-backdrop: Modal bakgrund\r\nmodal-background: Modal bakgrund\r\nmodal-border: Modal ram\r\nmodal-footer-background: Modal sidfotbakgrund\r\nmodal-footer-border: Modal sidfotram\r\nmodal-header-border: Modal sidhuvudram\r\nmuted-foreground: Generell dämpad förgrund\r\nnotification-background: Notifikationsbakrund\r\nnotification-border: Notifikationram\r\npage-background: Sidbakgrund\r\npre-background: Förformaterad kodbakgrund\r\npre-border: Förformaterad kodram\r\nprimary: Generell primär\r\nsidebar-button-foreground: Sidofältets knapp förgrund\r\nsidebar-controls-foreground-hover: Sidofältets kontroller förgrund, hover\r\nsidebar-controls-foreground: Sidofältets kontroller förgrund\r\nsidebar-foreground-shadow: Sidofältets förgrund skugga\r\nsidebar-foreground: Sidofältets förgrund\r\nsidebar-muted-foreground-hover: Sidofältets dämpade förgrund, hover\r\nsidebar-muted-foreground: Sidofältets dämpade förgrund\r\nsidebar-tab-background-selected: Sidofältets flikbakgrund för valda flikar\r\nsidebar-tab-background: Sidofältets flikbakgrund\r\nsidebar-tab-border-selected: Sidofältets flikram för valda flikar\r\nsidebar-tab-border: Sidofältets flikram\r\nsidebar-tab-divider: Sidofältets uppdelare\r\nsidebar-tab-foreground-selected: Sidofältets flikförgrund för valda flikar\r\nsidebar-tab-foreground: Sidofältets flikförgrund\r\nsidebar-tiddler-link-foreground-hover: Förgrund för tiddler-länk i sidofältet, hover\r\nsidebar-tiddler-link-foreground: Förgrund för tiddler-länk i sidofältet\r\nsite-title-foreground: Förgrund för sidrubrik\r\nstatic-alert-foreground: Förgrund för Statisk varning\r\ntab-background-selected: Flikbakgrund för valda flikar\r\ntab-background: Flikbakgrund\r\ntab-border-selected: Flikram för valda flikar\r\ntab-border: Flikram\r\ntab-divider: Flikuppdelare\r\ntab-foreground-selected: Flikförgrund för valda flikar\r\ntab-foreground: Flikförgrund\r\ntable-border: Tabellram\r\ntable-footer-background: Bakgrund för tabellfot\r\ntable-header-background: Förgrund för rubrikrad\r\ntag-background: Taggbakgrund\r\ntag-foreground: Taggförgrund\r\ntiddler-background: Tiddler-bakgrund\r\ntiddler-border: Tiddler-ram\r\ntiddler-controls-foreground-hover: Förgrund för Tiddler-kontroller, hover\r\ntiddler-controls-foreground-selected: Förgund för Tiddler-kontroller för valda kontroller\r\ntiddler-controls-foreground: Förgrund för Tiddler-kontroller\r\ntiddler-editor-background: Bakgrund för Tiddler-redigerare\r\ntiddler-editor-border-image: Rambild för Tiddler-redigerare\r\ntiddler-editor-border: Ram för Tiddler-redigerare\r\ntiddler-editor-fields-even: Bakgrund för jämna fält i Tiddler-redigerare\r\ntiddler-editor-fields-odd: Bakgrund för ojämna fält i Tiddler-redigerare\r\ntiddler-info-background: Tiddler infopanel bakgrund\r\ntiddler-info-border: Tiddler infopanel ram\r\ntiddler-info-tab-background: Tiddler infopanel flikbakgrund\r\ntiddler-link-background: Tiddler länkbakgrund\r\ntiddler-link-foreground: Tiddler länkbakgrund\r\ntiddler-subtitle-foreground: Tiddler underrubrik förgrund\r\ntiddler-title-foreground: Tiddler rubrik förgrund\r\ntoolbar-new-button: Verktygsfält 'ny tiddler' knappen förgrund\r\ntoolbar-options-button: Verktygsfält 'inställningar' knappen förgrund\r\ntoolbar-save-button: Verktygsfält 'spara' knappen förgrund\r\ntoolbar-info-button: Verktygsfält 'info' knappen förgrund\r\ntoolbar-edit-button: Verktygsfält 'redigera' knappen förgrund\r\ntoolbar-close-button: Verktygsfält 'stäng' knappen förgrund\r\ntoolbar-delete-button: Verktygsfält 'ta bort' knappen förgrund\r\ntoolbar-cancel-button: Verktygsfält 'avbryt' knappen förgrund\r\ntoolbar-done-button: Verktygsfält 'klar' knappen förgrund\r\nuntagged-background: Otaggad pillerbakgrund\r\nvery-muted-foreground: Väldigt dämpad förgrund\r\n"
  },
  {
    "path": "languages/sv-SE/EditTemplate.multids",
    "content": "title: $:/language/EditTemplate/\r\n\r\nBody/External/Hint: This is an external tiddler stored outside of the main TiddlyWiki file. You can edit the tags and fields but cannot directly edit the content itself\r\nBody/Placeholder: Type the text for this tiddler\r\nField/Remove/Caption: ta bort fält\r\nField/Remove/Hint: Ta bort fält\r\nFields/Add/Button: lägg till\r\nFields/Add/Name/Placeholder: fältnamn\r\nFields/Add/Prompt: Lägg till ett nytt fält:\r\nFields/Add/Value/Placeholder: fältvärde\r\nFields/Add/Dropdown/System: Systemfält\r\nFields/Add/Dropdown/User: Användarfält\r\nShadow/Warning: Detta är en skugg-tiddler. Alla ändringar kommer överskrida ursprungsversionen\r\nShadow/OverriddenWarning: Detta är en modifierad skugg-tiddler. Du kan återgå till ursprungsversionen genom att ta bort denna tiddler\r\nTags/Add/Button: lägg till\r\nTags/Add/Placeholder: taggnamn\r\nTags/Dropdown/Caption: tagglista\r\nTags/Dropdown/Hint: Visa tagglista\r\nType/Dropdown/Caption: innehållstyplista\r\nType/Dropdown/Hint: Visa lista över innehållstyp\r\nType/Delete/Caption: ta bort innehållstyp\r\nType/Delete/Hint: Ta bort innehållstyp\r\nType/Placeholder: innehållstyp\r\nType/Prompt: Type:\r\n"
  },
  {
    "path": "languages/sv-SE/Exporters.multids",
    "content": "title: $:/language/Exporters/\r\n\r\nStaticRiver: Static HTML\r\nJsonFile: JSON file\r\nCsvFile: CSV file\r\nTidFile: \".tid\" file\r\n"
  },
  {
    "path": "languages/sv-SE/Fields.multids",
    "content": "title: $:/language/Docs/Fields/\r\n\r\n_canonical_uri: Den fullständiga URI till en extern bild-tiddler\r\nbag: Namnet på den mapp som tiddlern kom från\r\ncaption: Texten som visas på fliken eller knappen\r\ncolor: Det CSS-färgsvärdet kopplat till en tiddler\r\ncomponent: Namnet på en komponent som är ansvarig för en [[alert tiddler|AlertMechanism]]\r\ncurrent-tiddler: Används för mellanlagring av den översta tiddlern i en [[history list|HistoryMechanism]]\r\ncreated: Datumet denna tiddler skapades\r\ncreator: Namnet på personen som skapade en tiddler\r\ndependents: För insticksprogram, lista beroende insticksprogram\r\ndescription: Den beskrivande texten för ett insticksprogram, eller en modal-dialog\r\ndraft.of: För utkast-tiddlers, innehåller rubriken av tiddlern som det är ett utkast för\r\ndraft.title: For draft tiddlers, contains the proposed new title of the tiddler\r\nfooter: Sidfotens text för en guide\r\nicon: Tiddlerns rubrik innehållande ikonen som är associerad med en tiddler\r\nlibrary: Om satt till \"Ja\" innebär att tiddlern ska sparas som ett Javaskriptbibliotek\r\nlist: En ordnad lista över tiddler-rubriker som är associerade med en tiddler\r\nlist-before: Om satt, rubriken på en tiddler, vid vilken denna tiddler förs in i den ordnade listan över tiddler-rubriker, eller i början av listan, om detta fält är närvarande men tom.\r\nlist-after: Om satt, rubriken på en tiddler varefter detta tiddler förs in i den ordnade listan över tiddler-rubriker.\r\nmodified: Datumet och klockslaget när en tiddler var senast ändrad\r\nmodifier: Den tiddlerrubrik som har samma namn som författare som senast ändrade tiddler\r\nname: Det läsbara namnet som skall kopplas till med en insticksprograms-tiddler\r\nplugin-priority: Ett numeriskt väde som indikerar prioriteringen av en insticksprograms-tiddler\r\nplugin-type: Typen av insticksprogram för en insticksprograms-tiddler\r\nrevision: Revisionen av tiddlern som finns på servern\r\nreleased: Datum för en TiddlyWiki-version\r\nsource: Käll-URL kopplat till en tiddler\r\nsubtitle: Underrubrik för en guide\r\ntags: En lista över taggar kopplade till en tiddler\r\ntext: Brödtexten i en tiddler\r\ntitle: Unika namnet för en tiddler\r\ntype: En tiddlers innehållstyp\r\nversion: Ett insticksprograms version\r\n"
  },
  {
    "path": "languages/sv-SE/Filters.multids",
    "content": "title: $:/language/Filters/\r\n\r\nAllTiddlers: Alla tiddlers förutom system-tiddlers\r\nRecentSystemTiddlers: Nyligen ändrade tiddlers, även system-tiddlers\r\nRecentTiddlers: Nyligen ändrade tiddlers\r\nAllTags: Alla taggar förutom system-taggar\r\nMissing: Saknade tiddlers\r\nDrafts: Utkast-tiddlers\r\nOrphans: Orphan tiddlers\r\nSystemTiddlers: System-tiddlers\r\nShadowTiddlers: Skugg-tiddlers\r\nOverriddenShadowTiddlers: Åsidosatt skugg-tiddlers\r\nSystemTags: System-taggar\r\nTypedTiddlers: Icke wiki-text-tiddlers"
  },
  {
    "path": "languages/sv-SE/GettingStarted.tid",
    "content": "title: GettingStarted\r\n\r\n\\define lingo-base() $:/language/ControlPanel/Basics/\r\nVälkommen till ~TiddlyWiki och ~TiddlyWiki-community\r\n\r\nFör att komma igång med denna tomma ~TiddlyWiki, måste du ändra följande. Kolla på https://tiddlywiki.com/#GettingStarted för detaljer\r\n\r\n!! Ställ in denna ~TiddlyWiki\r\n\r\n<div class=\"tc-control-panel\">\r\n\r\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\r\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\r\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit-text tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\r\n</div>\r\n\r\nKolla [[control panel|$:/ControlPanel]] för mer inställningar.\r\n"
  },
  {
    "path": "languages/sv-SE/Help/build.tid",
    "content": "title: $:/language/Help/build\r\ndescription: Kör konfigurerade kommandon automatiskt\r\n\r\nBygger specifika byggmål för aktuell wiki. Om inget byggmål är specificerat så kommer alla mål att byggas.\r\n\r\n```\r\n--build <target> [<target> ...]\r\n```\r\n\r\nBygger mål som är definerade i `tiddlywiki.info` filen i en wiki mapp.\r\n\r\n"
  },
  {
    "path": "languages/sv-SE/Help/clearpassword.tid",
    "content": "title: $:/language/Help/clearpassword\r\ndescription: Ta bort ett lösenord för efterföljande krypteringsoperationer\r\n\r\nTa bort lösenordet för efterföljande krypteringsoperationer\r\n\r\n```\r\n--clearpassword\r\n```\r\n"
  },
  {
    "path": "languages/sv-SE/Help/default.tid",
    "content": "title: $:/language/Help/default\r\n\r\n\\define commandTitle()\r\n$:/language/Help/$(command)$\r\n\\end\r\n```\r\nusage: tiddlywiki [<wikifolder>] [--<command> [<args>...]...]\r\n```\r\n\r\nAvailable commands:\r\n\r\n<ul>\r\n<$list filter=\"[commands[]sort[title]]\" variable=\"command\">\r\n<li><$link to=<<commandTitle>>><$macrocall $name=\"command\" $type=\"text/plain\" $output=\"text/plain\"/></$link>: <$transclude tiddler=<<commandTitle>> field=\"description\"/></li>\r\n</$list>\r\n</ul>\r\n\r\nFör detaljerad hjälp om ett kommando:\r\n\r\n```\r\ntiddlywiki --help <command>\r\n```\r\n"
  },
  {
    "path": "languages/sv-SE/Help/editions.tid",
    "content": "title: $:/language/Help/editions\r\ndescription: Listar möjliga utgåvor av TiddlyWiki\r\n\r\nListar namnen och beskrivningen över de möjliga utgåvorna. Du kan skapa en ny wiki av en speficik utgåva med `--init` kommandot.\r\n\r\n```\r\n--editions\r\n```\r\n"
  },
  {
    "path": "languages/sv-SE/Help/help.tid",
    "content": "title: $:/language/Help/help\r\ndescription: Visar hjälptext för TiddlyWiki-kommandon\r\n\r\nVisar hjälptext för ett kommando:\r\n\r\n```\r\n--help [<command>]\r\n```\r\n\r\nOm kommandots namn utelämnas, kommer en lista över möjliga kommandon visas."
  },
  {
    "path": "languages/sv-SE/Help/init.tid",
    "content": "title: $:/language/Help/init\r\ndescription: Initialise a new wiki folder\r\n\r\nInitierar en tom [[WikiFolder|WikiFolders]] med en kopia av angiven utgåva.\r\n\r\n```\r\n--init <edition> [<edition> ...]\r\n```\r\n\r\nTill exempel:\r\n\r\n```\r\ntiddlywiki ./MyWikiFolder --init empty\r\n```\r\n\r\nNotera:\r\n\r\n* Wiki-mappen skapas om det är nödvändigt\r\n* \"Utgåvan\" blir som standard ''tom''\r\n* Intieringskommandot kommer misslyckas om wikimappen inte är tom\r\n* Intieringskommandot tar bort alla `includeWikis` definitioner i utgåvans `tiddlywiki.info` fil\r\n* När flera utgåvor är specificerade, skulle versioner som initialiseras senare skriva över alla filer som hör ihop med tidigare utgåvor (d.v.s. den senaste `tiddlywiki.info` filen kommer att kopieras från den senaste utgåvan)\r\n* `--editions` retunerar en lista över tillgänglia utgåvor\r\n"
  },
  {
    "path": "languages/sv-SE/Help/load.tid",
    "content": "title: $:/language/Help/load\r\ndescription: Ladda tiddlers från en fil\r\n\r\nLadda tiddlers från 2.x.x TiddlyWiki filer (`.html`), `.tiddler`, `.tid`, `.json` eller andra filer\r\n\r\n```\r\n--load <filepath>\r\n```\r\n\r\nFör att ladda tiddlers från en krypterad TiddlyWiki-fil så måste du först ange lösenordet med PasswordCommand. Till exempel:\r\n\r\n```\r\ntiddlywiki ./MyWiki --password pa55w0rd --load my_encrypted_wiki.html\r\n```\r\n\r\nNotera att TiddlyWiki inte kommer ladda änldre version av ett redan laddat insticksprogram.\r\n"
  },
  {
    "path": "languages/sv-SE/Help/makelibrary.tid",
    "content": "title: $:/language/Help/makelibrary\r\ndescription: Konstruerar biblioteks-insticksprogram som är nödvändigt för uppgraderingsprocessen\r\n\r\nKonstruerar `$:/UpgradeLibrary` tiddlern för uppgraderingsprocessen.\r\n\r\nUppgraderingsbiblioteket är formaterat som en vanligt inststicksprogram-tiddler med insticksprogramtypen `library`. Den innehåller en kopia av varje insticksprogram, teman och språkpaket som är tillgängliga via TiddlyWiki5 repository.\r\n\r\nDetta kommando är tänk att användas för internt bruk; det är enbart relevant för användare som skapar anpassade uppgraderingsprocedurer.\r\n\r\n```\r\n--makelibrary <title>\r\n```\r\n\r\nTitel argumentet som standard till `$:/UpgradeLibrary`.\r\n"
  },
  {
    "path": "languages/sv-SE/Help/notfound.tid",
    "content": "title: $:/language/Help/notfound\r\n\r\nHjälpsidan finns inte"
  },
  {
    "path": "languages/sv-SE/Help/output.tid",
    "content": "title: $:/language/Help/output\r\ndescription: Ställer in output-mappen för efterföljande kommandon\r\n\r\nStäller in output-mappen för efterföljande kommandon. Standard output-mappen är `output` undermappen av utgåvans mapp\r\n\r\n```\r\n--output <pathname>\r\n```\r\n\r\nOm den specificerade sökvägen är relativ, så sätt den relativt till aktuell mapp. Till exempel `--output .` sätter output-mappen till aktuell mapp.\r\n\r\n"
  },
  {
    "path": "languages/sv-SE/Help/password.tid",
    "content": "title: $:/language/Help/password\r\ndescription: Sätter ett lösenord för efterföljande krypteringsoperationer\r\n\r\nSätter ett lösenord för efterföljande krypteringsoperationer\r\n\r\n```\r\n--password <password>\r\n```\r\n\r\n"
  },
  {
    "path": "languages/sv-SE/Help/rendertiddler.tid",
    "content": "title: $:/language/Help/rendertiddler\r\ndescription: Renderar en enstaka tiddler som en specifik innehållstyp\r\n\r\nRenderar en enstaka tiddler som en specifik innehållstyp, standard till `text/html` och sparar den till det angivna filnamnet:\r\n\r\n```\r\n--rendertiddler <title> <filename> [<type>]\r\n```\r\n\r\nSom standard, sätts filnamnets sökväg relativt till `output` undermappen i utgåvans mapp. `--output` kommandot kan användas för att ställa in output till en annan mapp..\r\n\r\nAlla saknade mappar i sökvägen kommer automatiskt skapas.\r\n"
  },
  {
    "path": "languages/sv-SE/Help/rendertiddlers.tid",
    "content": "title: $:/language/Help/rendertiddlers\r\ndescription: Renderar tiddlers där ett filter matchar en specifik innehållstyp\r\n\r\nRenderar en grupp av tiddlers där ett filter matchar till separata filer av en specifik innehållstyp (stanard till `text/html`) och filändelse (standard till `.html`).\r\n\r\n```\r\n--rendertiddlers <filter> <template> <pathname> [<type>] [<extension>] [\"noclean\"]\r\n```\r\n\r\nTill exempel:\r\n\r\n```\r\n--rendertiddlers [!is[system]] $:/core/templates/static.tiddler.html ./static text/plain\r\n```\r\n\r\nSom standard, sätts sökvägen relativt till `output` undermappen i utgåvans mapp. `--output` kommandot kan användas för att ställa in output till en annan mapp.\r\n\r\nAlla filer i målmappen kommer tas bort om inte \"noclean\" parametern är angiven. Målmappen skapas rekursivt om den saknas.\r\n"
  },
  {
    "path": "languages/sv-SE/Help/savetiddler.tid",
    "content": "title: $:/language/Help/savetiddler\r\ndescription: Sparar en rå tiddler till en fil\r\n\r\nSparar en enskild tiddler i dess råtext- eller binärformat till det specificerade filnamnet. \r\n\r\n```\r\n--savetiddler <title> <filename>\r\n```\r\n\r\nSom standard, filnamnens sökvägen är satt realtivt till `output` undermappen av utgåvans mapp. `--output` kommandot kan användas för att ställa in output till en annan mapp.\r\n\r\nAlla saknade mappar i sökvägen kommer automatiskt skapas.\r\n"
  },
  {
    "path": "languages/sv-SE/Help/savetiddlers.tid",
    "content": "title: $:/language/Help/savetiddlers\r\ndescription: Sparar en grupp av råa tiddlers till en mapp\r\n\r\nSparar en grupp av tiddlers i dess råtext- eller binärformat till en specificerad mapp. \r\n\r\n```\r\n--savetiddlers <filter> <pathname>\r\n```\r\n\r\nSom standard, sökvägen är satt realtivt till `output` undermappen av utgåvans mapp. `--output` kommandot kan användas för att ställa in output till en annan mapp.\r\n\r\nAlla saknade mappar i sökvägen kommer automatiskt skapas.\r\n"
  },
  {
    "path": "languages/sv-SE/Help/server.tid",
    "content": "title: $:/language/Help/server\r\ndescription: Tillhandahåller ett HTTP serverinterface till TiddlyWiki\r\n\r\nServer som är inbygdd i TiddlyWiki5 är väldigt simpel. Även om den är kompatibel med TiddlyWeb så stödjer den inte många av de funktioner som är nödvädniga för en pålitlig användning ut mot Internet.\r\n\r\nI roten, tillhandahåller den rendering av en specifik tiddler. Bort från roten, tillhandahåller den individuella tiddlers kodade i JSON, och stödjer basala HTTP funktioner som `GET`, `PUT` och `DELETE`.\r\n\r\n```\r\n--server <port> <roottiddler> <rendertype> <servetype> <username> <password> <host> <pathprefix>\r\n```\r\n\r\nParametrarna är:\r\n\r\n* ''port'' - portnummer för att tillhandahålla från (standard satt till \"8080\")\r\n* ''roottiddler'' - Tiddlern som tillhandahålls vid roten (standard satt till \"$:/core/save/all\") \r\n* ''rendertype'' - Den innehållstyp rot-tiddlern ska renderas som (standard satt till \"text/plain\")\r\n* ''servetype'' -  Den innehållstyp rot-tiddlern ska tillhandahållas som som (standard satt till \"text/html\")\r\n* ''username'' - Standad användarnamnet till signering av redigeringar\r\n* ''password'' - frivilligt, lösenord för basic autentisering\r\n* ''host'' - frivilligt, värdnamn att tillhandahålla från (standard satt till \"127.0.0.1\" o.k.s. \"localhost\")\r\n* ''pathprefix'' - frivilligt, prefix för sökvägar\r\n\r\nOm lösenordsparametern är angiven, kommer webbläsaren be användaren om användarnamn och lösenord. Notera att lösenordet skickas i klartext så denna implementering är inte lämplig för generell användning.\r\n\r\nTill exempel:\r\n\r\n```\r\n--server 8080 $:/core/save/all text/plain text/html MyUserName passw0rd\r\n```\r\n\r\nAnvändarnamn och lösenord kan specificeras som tomma strängar om du har behov att sätta värdnamn eller sökvägsprefix och inte vill kräva ett lösenord:\r\n\r\n```\r\n--server 8080 $:/core/save/all text/plain text/html \"\" \"\" 192.168.0.245\r\n```\r\n\r\nFör att köra flera TiddlyWiki-servrar samtidigt, måste du ställa in varje med unik port.\r\n"
  },
  {
    "path": "languages/sv-SE/Help/setfield.tid",
    "content": "title: $:/language/Help/setfield\r\ndescription: Förbereder externa tiddlers för användning\r\n\r\n//Notera att detta kommando är experimentiellt och kan ändras eller ersättas innan det är färdigställt//\r\n\r\nSätter det speficficerade fältet för en grupp av tiddlers med resultatet att wikifiera en mall-tiddler med `currentTiddler` variabeln satt till den tiddlern.\r\n\r\n```\r\n--setfield <filter> <fieldname> <templatetitle> <rendertype>\r\n```\r\n\r\nParametrarna är:\r\n\r\n* ''filter'' - filtrera de identifierade tiddlers som kommer påverkas\r\n* ''fieldname'' - fältet som ska ändras (standard satt till \"text\")\r\n* ''templatetitle'' - tiddlern som ska wikifieras till ett specifikt fält. Om det är blankt eller saknas så kommer det specificerade fältet tas bort\r\n* ''rendertype'' - texttypen att rendera (standard satt till \"text/plain\"; \"text/html\" kan användas för att få med HTML-taggar)\r\n"
  },
  {
    "path": "languages/sv-SE/Help/unpackplugin.tid",
    "content": "title: $:/language/Help/unpackplugin\r\ndescription: Packar upp payload-tiddlers från ett insticksprogram\r\n\r\nPackar upp payload-tiddlers från ett insticksprogram, skapar dem som vanliga tiddlers:\r\n\r\n```\r\n--unpackplugin <title>\r\n```\r\n"
  },
  {
    "path": "languages/sv-SE/Help/verbose.tid",
    "content": "title: $:/language/Help/verbose\r\ndescription: Slår på detaljerad utskriftsläge\r\n\r\nSlår på detaljerad utskriftsläge, användbart för felsökning \r\n\r\n```\r\n--verbose\r\n```\r\n"
  },
  {
    "path": "languages/sv-SE/Help/version.tid",
    "content": "title: $:/language/Help/version\r\ndescription: Visar versionsnumret för en TiddlyWiki\r\n\r\nVisar versionsnumret för en TiddlyWiki.\r\n\r\n```\r\n--version\r\n```\r\n"
  },
  {
    "path": "languages/sv-SE/Import.multids",
    "content": "title: $:/language/Import/\r\n\r\nListing/Cancel/Caption: Avbryt\r\nListing/Hint: Dessa tiddlers är redo att importeras:\r\nListing/Import/Caption: Importera\r\nListing/Select/Caption: Välj\r\nListing/Status/Caption: Status\r\nListing/Title/Caption: Rubrik\r\nUpgrader/Plugins/Suppressed/Incompatible: Blockerat, inkompatibelt eller föråldrat insticksprogram \r\nUpgrader/Plugins/Suppressed/Version: Blockerat insticksprogram (pga <<incoming>>  är äldre änd nuvarande <<existing>>)\r\nUpgrader/Plugins/Upgraded: Uppgraderat insticksprogram från <<incoming>> till <<upgraded>>\r\nUpgrader/State/Suppressed: Blockerad temporär state-tiddler\r\nUpgrader/System/Suppressed: Blockerad system-tiddler\r\nUpgrader/ThemeTweaks/Created: Migrera justeringar för temat från <$text text=<<from>>/>\r\n"
  },
  {
    "path": "languages/sv-SE/Misc.multids",
    "content": "title: $:/language/\r\n\r\nBinaryWarning/Prompt: Denna tiddler innehåller binär data\r\nClassicWarning/Hint: Denna tiddler är skriven i TiddlyWiki klassisk wiki-textformat, vilket inte är fullständigt kompatibelt med TiddlyWiki version 5. Läs https://tiddlywiki.com/static/Upgrading.html för mer info. \r\nClassicWarning/Upgrade/Caption: uppgradera\r\nCloseAll/Button: stäng alla\r\nConfirmCancelTiddler: Vill du ångra ändringar för denna tiddler \"<$text text=<<title>>/>\"?\r\nConfirmDeleteTiddler: Vill du ta bort denna tiddler \"<$text text=<<title>>/>\"?\r\nConfirmOverwriteTiddler: Vill du skriva över denna tiddler \"<$text text=<<title>>/>\"?\r\nConfirmEditShadowTiddler: You are about to edit a ShadowTiddler. Any changes will override the default system making future upgrades non-trivial. Are you sure you want to edit \"<$text text=<<title>>/>\"?\r\nCount: antal\r\nDefaultNewTiddlerTitle: Ny Tiddler\r\nDropMessage: Drop here (or use the 'Escape' key to cancel)\r\nEncryption/Cancel: Avbryt\r\nEncryption/ConfirmClearPassword: Vill du rensa lösenordet? Detta kommer ta bort krypteringen när du sparar denna wiki\r\nEncryption/PromptSetPassword: Ställ in nytt lösenord för denna TiddlyWiki\r\nEncryption/Username: Användarnamn\r\nEncryption/Password: Lösenord\r\nEncryption/RepeatPassword: Upprepa lösenordet\r\nEncryption/PasswordNoMatch: Lösenorden matchar inte\r\nEncryption/SetPassword: Ställ in lösenord\r\nMissingTiddler/Hint: Saknar tiddler \"<$text text=<<currentTiddler>>/>\" - klicka {{||$:/core/ui/Buttons/edit}} för att skapa\r\nOfficialPluginLibrary: Officiella ~TiddlyWiki Insticksprogramsbibliotek\r\nPluginReloadWarning: Spara {{$:/core/ui/Buttons/save-wiki}} och ladda om {{$:/core/ui/Buttons/refresh}} för att ändringarna för insticksprogrammen ska slå igenom\r\nRecentChanges/DateFormat: DD MMM YYYY\r\nSystemTiddler/Tooltip: Detta är en system-tiddler\r\nTagManager/Colour/Heading: Färg\r\nTagManager/Count/Heading: Antal\r\nTagManager/Icon/Heading: Ikon\r\nTagManager/Info/Heading: Info\r\nTagManager/Tag/Heading: Tagg\r\nUnsavedChangesWarning: Du har osparade ändringar i TiddlyWiki\r\n"
  },
  {
    "path": "languages/sv-SE/Modals/Download.tid",
    "content": "title: $:/language/Modals/Download\r\ntype: text/vnd.tiddlywiki\r\nsubtitle: Download changes\r\nfooter: <$button message=\"tm-close-tiddler\">Close</$button>\r\nhelp: https://tiddlywiki.com/static/DownloadingChanges.html\r\n\r\nDin webbläsare stödjer bara manuell sparning.\r\n\r\nFör att spara din ändrade wiki, högerklicka på nedladdninslänken nedan och välj \"Spara länk som...\", och sen välj mapp och filnamn.\r\n\r\n//Du kan snabba upp lite genom att klicka på länken med alt-knappen nedtryckt. Du får då inte fråga om var du ska spara eller vad filen ska heta, troligvis så kommer din webbläsare ge filen ett oigenkänligt namn-- du kan behöva döpa om filen och se till att den har en filändelsen `.html` innan du kan använda den.//\r\n\r\nPå smartphone som inte tillåter att du sparar ner filer så kan du istället bokmärka länken, och sen synka dina bokmärken till din dator som du därifrån kan spara ner normalt."
  },
  {
    "path": "languages/sv-SE/NewJournal.multids",
    "content": "title: $:/config/NewJournal/\r\n\r\nTitle: DD MMM YYYY\r\nTags: Journal\r\n"
  },
  {
    "path": "languages/sv-SE/Notifications.multids",
    "content": "title: $:/language/Notifications/\r\n\r\nSave/Done: Sparade wiki\r\nSave/Starting: Börjar spara wiki\r\n"
  },
  {
    "path": "languages/sv-SE/Search.multids",
    "content": "title: $:/language/Search/\r\n\r\nDefaultResults/Caption: Lista\r\nFilter/Caption: Filter\r\nFilter/Hint: Sök via [[filter expression|https://tiddlywiki.com/static/Filters.html]]\r\nFilter/Matches: //<small><<resultCount>> träffar</small>//\r\nMatches: //<small><<resultCount>> träffar</small>//\r\nShadows/Caption: Skuggor\r\nShadows/Hint: Sök efter skugg-tiddlers\r\nShadows/Matches: //<small><<resultCount>> träffar</small>//\r\nStandard/Caption: Standard\r\nStandard/Hint: Sök efter standard-tiddlers\r\nStandard/Matches: //<small><<resultCount>> träffar</small>//\r\nSystem/Caption: System\r\nSystem/Hint: Sök efter system-tiddlers\r\nSystem/Matches: //<small><<resultCount>> träffar</small>//\r\n"
  },
  {
    "path": "languages/sv-SE/SideBar.multids",
    "content": "title: $:/language/SideBar/\r\n\r\nAll/Caption: Alla\r\nContents/Caption: Innehåll\r\nDrafts/Caption: Utkast\r\nMissing/Caption: Saknas\r\nMore/Caption: Mer\r\nOpen/Caption: Öppna\r\nOrphans/Caption: Orphans\r\nRecent/Caption: Senast\r\nShadows/Caption: Shadows\r\nSystem/Caption: System\r\nTags/Caption: Taggar\r\nTags/Untagged/Caption: otaggat\r\nTools/Caption: Verktyg\r\nTypes/Caption: Typer\r\n"
  },
  {
    "path": "languages/sv-SE/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\r\n\r\nen återanvändbar icke-linjär personlig webbanteckningsbok"
  },
  {
    "path": "languages/sv-SE/SiteTitle.tid",
    "content": "title: $:/SiteTitle\r\n\r\nMin ~TiddlyWiki"
  },
  {
    "path": "languages/sv-SE/TiddlerInfo.multids",
    "content": "title: $:/language/TiddlerInfo/\r\n\r\nAdvanced/Caption: Avancerat\r\nAdvanced/PluginInfo/Empty/Hint: none\r\nAdvanced/PluginInfo/Heading: Detaljer för insticksprogram\r\nAdvanced/PluginInfo/Hint: Detta insticksprogram innehåller följande skugg-tiddler:\r\nAdvanced/ShadowInfo/Heading: Skugg-status\r\nAdvanced/ShadowInfo/NotShadow/Hint: Tiddlern <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> är inte en skugg-tiddler\r\nAdvanced/ShadowInfo/Shadow/Hint: Tiddlern <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> är en skugg-tiddler\r\nAdvanced/ShadowInfo/Shadow/Source: Det är definerat i insticksprogrammet <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>\r\nAdvanced/ShadowInfo/OverriddenShadow/Hint: Det är överskridet av en allmän tiddler\r\nFields/Caption: Fält\r\nList/Caption: Lista\r\nList/Empty: Denna tiddler har ingen lista\r\nListed/Caption: Listade\r\nListed/Empty: Denna tiddler är inte listad av någon annan tiddler\r\nReferences/Caption: Referenser\r\nReferences/Empty: Inga tiddlers länkar till denna\r\nTagging/Caption: Taggning\r\nTagging/Empty: Inga tiddlers är taggade med denna\r\nTools/Caption: Verktyg\r\n"
  },
  {
    "path": "languages/sv-SE/Types/application_javascript.tid",
    "content": "title: $:/language/Docs/Types/application/javascript\r\ndescription: JavaScript-kod\r\nname: application/javascript\r\ngroup: Utvecklare\r\n"
  },
  {
    "path": "languages/sv-SE/Types/application_json.tid",
    "content": "title: $:/language/Docs/Types/application/json\r\ndescription: JSON-data\r\nname: application/json\r\ngroup: Utvecklare\r\n"
  },
  {
    "path": "languages/sv-SE/Types/application_x_tiddler_dictionary.tid",
    "content": "title: $:/language/Docs/Types/application/x-tiddler-dictionary\r\ndescription: Databibliotek\r\nname: application/x-tiddler-dictionary\r\ngroup: Utvecklare\r\n"
  },
  {
    "path": "languages/sv-SE/Types/image_gif.tid",
    "content": "title: $:/language/Docs/Types/image/gif\r\ndescription: GIF-bild\r\nname: image/gif\r\ngroup: Bild\r\n"
  },
  {
    "path": "languages/sv-SE/Types/image_jpeg.tid",
    "content": "title: $:/language/Docs/Types/image/jpeg\r\ndescription: JPEG-bild\r\nname: image/jpeg\r\ngroup: Bild\r\n"
  },
  {
    "path": "languages/sv-SE/Types/image_png.tid",
    "content": "title: $:/language/Docs/Types/image/png\r\ndescription: PNG-bild\r\nname: image/png\r\ngroup: bild\r\n"
  },
  {
    "path": "languages/sv-SE/Types/image_svg_xml.tid",
    "content": "title: $:/language/Docs/Types/image/svg+xml\r\ndescription: Structured Vector Graphics image\r\nname: image/svg+xml\r\ngroup: Bild\r\n"
  },
  {
    "path": "languages/sv-SE/Types/text_css.tid",
    "content": "title: $:/language/Docs/Types/text/css\r\ndescription: Static stylesheet\r\nname: text/css\r\ngroup: Utvecklare\r\n"
  },
  {
    "path": "languages/sv-SE/Types/text_html.tid",
    "content": "title: $:/language/Docs/Types/text/html\r\ndescription: HTML-kod\r\nname: text/html\r\ngroup: Text\r\n"
  },
  {
    "path": "languages/sv-SE/Types/text_plain.tid",
    "content": "title: $:/language/Docs/Types/text/plain\r\ndescription: Ren text\r\nname: text/plain\r\ngroup: Text\r\n"
  },
  {
    "path": "languages/sv-SE/Types/text_vnd.tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/vnd.tiddlywiki\r\ndescription: TiddlyWiki 5\r\nname: text/vnd.tiddlywiki\r\ngroup: Text\r\n"
  },
  {
    "path": "languages/sv-SE/plugin.info",
    "content": "{\r\n    \"title\": \"$:/languages/sv-SE\",\r\n    \"name\": \"sv-SE\",\r\n    \"plugin-type\": \"language\",\r\n    \"description\": \"Svenska (Sverige)\",\r\n    \"author\": \"SuperDOS\",\r\n    \"core-version\": \">=5.1.0\"\r\n}"
  },
  {
    "path": "languages/zh-CN/plugin.info",
    "content": "{\n\t\"title\": \"$:/languages/zh-CN\",\n\t\"name\": \"zh-CN\",\n\t\"plugin-type\": \"language\",\n\t\"description\": \"简体中文 (中国)\",\n\t\"author\": \"BramChen\",\n\t\"core-version\": \">=5.0.8\",\n\t\"dependents\": [\"$:/languages/zh-Hans\"],\n\t\"plugin-priority\": 110\n}\n"
  },
  {
    "path": "languages/zh-HK/Buttons.multids",
    "content": "title: $:/language/Buttons/\n\nControlPanel/Hint: 開啓控制台\nFoldOthers/Hint: 收合其他已開啓條目的內容\nFoldAll/Hint: 收合所有已開啓條目的內容\nUnfoldAll/Hint: 展開所有已開啓條目的內容\nHelp/Caption: 説明\nHelp/Hint: 顯示説明中心\nHome/Hint: 開啓首頁條目\nLayoutSwitcher/Hint: 開啓版面切換器\nManager/Hint: 開啓條目管理器\nOpenControlPanel/Hint: 開啓控制台\nOpenWindow/Caption: 開啓於新視窗\nOpenWindow/Hint: 在新視窗中開啓條目\nPermaview/Hint: 設定瀏覽器網址列為直接連結到當前所有已開啓條目\nTimestamp/On/Caption: 時間戳記開啓\nStamp/New/Text: 片段的文字。（記得在 `caption` 欄位中新增一個説明性的標題）。\n"
  },
  {
    "path": "languages/zh-HK/ControlPanel.multids",
    "content": "title: $:/language/ControlPanel/\n\nBasics/DefaultTiddlers/BottomHint: 標題含空白時請使用 &#91;&#91;雙中括弧&#93;&#93;，或者您可用 {{保留開啓中的條目順序||$:/snippets/retain-story-ordering-button}}\nBasics/DefaultTiddlers/TopHint: 預設開啓的條目\nKeyboardShortcuts/Platform/All: 所有平台\nKeyboardShortcuts/Platform/Mac: 僅 Macintosh 平台\nKeyboardShortcuts/Platform/NonMac: 僅非 Macintosh 平台\nKeyboardShortcuts/Platform/Linux: 僅 Linux 平台\nKeyboardShortcuts/Platform/NonLinux: 僅非 Linux 平台\nKeyboardShortcuts/Platform/Windows: 僅 Windows 平台\nKeyboardShortcuts/Platform/NonWindows: 僅非 Windows 平台\nPlugins/Enable/Caption: 啓用\nPlugins/Enable/Hint: 重新載入頁面時啓用此插件\nPlugins/OpenPluginLibrary: 開啓插件程式庫\nParsing/Hint: 在此您可以全域停用或啓用維基解析規則。要使更改生效，請儲存並重新載入您的維基。停用某些解析規則，會妨礙 <$text text=\"TiddlyWiki\"/>  正常運作。可使用[[安全模式|https://tiddlywiki.com/#SafeMode]]恢復正常操作。\nSaving/DownloadSaver/AutoSave/Hint: 啓用下載儲存模組的自動儲存\nSaving/GitService/GitHub/Password: 密碼、OAUTH 權杖，或個人存取權杖 (詳見 [[GitHub 説明頁面|https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line]])\nSaving/GitService/GitLab/Password: 個人存取權杖的 API (詳見 [[GitLab 説明頁面|https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html]])\nSettings/CamelCase/Caption: 駝峯式維基鏈接\nSettings/CamelCase/Hint: 您可以全域停用駝峯式短語自動鏈接。須儲存後重新載入，方才生效。\nSettings/CamelCase/Description: 啓用自動駝峯式鏈接\nSettings/EditorToolbar/Hint: 啓用或停用編輯器工具列︰\nSettings/InfoPanelMode/Sticky/Description: 條目資訊面板保持開啓狀態，直到明確關閉\nSettings/LinkToBehaviour/Caption: 條目開啓行為\nSettings/LinkToBehaviour/OpenAbove: 開啓於當前條目之上\nSettings/LinkToBehaviour/OpenBelow: 開啓於當前條目之下\nSettings/LinkToBehaviour/OpenAtTop: 開啓於故事河的頂端\nSettings/LinkToBehaviour/OpenAtBottom: 開啓於故事河的底部\nSettings/MissingLinks/Description: 啓用鏈接到佚失條目\nSettings/NavigationAddressBar/Permaview/Description: 包括目標條目和當前已開啓的條目序列\nSettings/PerformanceInstrumentation/Description: 啓用效能檢測"
  },
  {
    "path": "languages/zh-HK/Docs/ModuleTypes.multids",
    "content": "title: $:/language/Docs/ModuleTypes/\n\nstartup: 啓動時期的功能函數。\n"
  },
  {
    "path": "languages/zh-HK/Fields.multids",
    "content": "title: $:/language/Docs/Fields/\n\nclass: 渲染條目時，套用到條目的 CSS 類別 - 請參閲[[依自訂類別的自訂樣式|Custom styles by user-class]]。也適用於[[互動視窗|Modals]]\ndescription: 插件的説明、描述\ntoc-link: 若設定為 ''no''，則抑制目錄樹中的條目鏈接。"
  },
  {
    "path": "languages/zh-HK/GettingStarted.tid",
    "content": "title: GettingStarted\n\n\\define lingo-base() $:/language/ControlPanel/Basics/\n歡迎使用 ~TiddlyWiki 及參與 ~TiddlyWiki 社羣\n\n開始將重要資訊存放於 ~TiddlyWiki 之前，確認您可以可靠地儲存變更是很重要的。詳細資訊請參閲 https://tiddlywiki.com/#GettingStarted\n\n!! 設定此 ~TiddlyWiki\n\n<div class=\"tc-control-panel\">\n\n|tc-table-no-border tc-first-col-min-width tc-first-link-nowrap|k\n| <$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link>|<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n| <$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link>|<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|^ <$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link><br><<lingo DefaultTiddlers/TopHint>>|<$edit tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\n請參閲[[控制枱|$:/ControlPanel]]查看更多選項。"
  },
  {
    "path": "languages/zh-HK/Help/listen.tid",
    "content": "title: $:/language/Help/listen\ndescription: 為 TiddlyWiki 提供一個 HTTP 伺服器介面\n\n通過 HTTP 提供一個維基服務。\n\nlisten 命令使用[[命名的命令參數|NamedCommandParameters]]：\n\n```\n--listen [<name>=<value>]...\n```\n\n所有參數都是可選的, 具有安全的預設值, 可以按任意順序指定。認可的參數有:\n\n* ''host'' - 可選的主機名稱， (預設為 \"127.0.0.1\" 或名為 \"localhost\")\n* ''path-prefix'' - 可選的路徑前綴\n* ''port'' - 偵聽的埠號；非數值會被解譯為一個系統環境變數，從其中提取埠號 (預設為 \"8080\")\n* ''credentials'' - 憑證 CSV 檔案的路徑名（相對於維基資料夾）\n* ''anon-username'' - 匿名使用者的編輯署名\n* ''username'' - 可選的基本驗證使用者名稱\n* ''password'' - 可選的基本驗證密碼\n* ''authenticated-user-header'' - 可選的 HTTP 請求功能參數名稱，用於受信任身份驗證\n* ''readers'' - 允許讀取此維基，以逗號分隔的使用者名稱的清單\n* ''writers'' - 允許寫入此維基，以逗號分隔的使用者名稱的清單\n* ''csrf-disable'' - 設定為 \"yes\" 以停用 CSRF 檢查 (預設為 \"no\")\n* ''sse-enabled'' - 設定為 \"yes\" 以啟用伺服器傳送的事件 (預設為 \"no\")\n* ''root-tiddler'' - 服務的基本條目 (預設為 \"$:/core/save/all\")\n* ''root-render-type'' - 呈現的基本條目的內容類型 (預設為 \"text/plain\")\n* ''root-serve-type'' - 服務的基本條目的內容類型 (預設為 \"text/html\")\n* ''tls-cert'' - TLS 證書檔案的路徑名（相對於維基資料夾）\n* ''tls-key'' - TLS 密鑰檔案的路徑名（相對於維基資料夾）\n* ''debug-level'' - 可選的偵錯層級；設定為 \"debug\" 來檢視請求的詳細資訊；(預設為 \"none\")\n* ''gzip'' - 設為 \"yes\" 以啟用某些 http 端點的 gzip 壓縮 (預設為 \"no\")\n* ''use-browser-cache'' - 設定為 \"yes\" ，允許瀏覽器快取回應，以節省頻寬（預設值為 \"no\"）\n\n有關向整個本地網路開啟實例的資訊，以及可能的安全問題，請參閲 TiddlyWiki.com 的 WebServer 條目。\n"
  },
  {
    "path": "languages/zh-HK/Help/notfound.tid",
    "content": "title: $:/language/Help/notfound\n\n無此項目説明"
  },
  {
    "path": "languages/zh-HK/Help/password.tid",
    "content": "title: $:/language/Help/password\ndescription: 設定用以加密的密碼\n\n設定用以加密的密碼\n\n```\n--password <password>\n```\n\n''請注意''：這不是用於提供 TiddlyWiki 具有密碼保護功能。相反地，請看 [[ServerCommand]] 的密碼選項説明。\n"
  },
  {
    "path": "languages/zh-HK/Help/render.tid",
    "content": "title: $:/language/Help/render\ndescription: 呈現個別條目到檔案\n\n呈現由篩選器標識的個別條目，並將結果儲存到指定的檔案。\n\n可選擇性地指定範本條目名稱。在此情況下，不是直接呈現每個條目，而是使用設為正在呈現的條目名稱的 \"currentTiddler\" 變數，來呈現範本條目。\n\n也可以選擇性地指定附加變數的名稱和值。\n\n```\n--render <tiddler-filter> [<filename-filter>] [<render-type>] [<template>] [ [<name>] [<value>] ]*\n```\n\n* ''tiddler-filter'': 標識要呈現的條目的篩選器\n* ''filename-filter'': 可選的篩選器，轉換條目名稱至路徑名。如果省略，預設為 `[is[tiddler]addsuffix[.html]]`，其使用未改變的條目名稱為檔名\n* ''template'': 可選的範本，用於呈現每個條目\n* ''render-type'': 可選的呈現類型：`text/html` (預設值) 會傳回完整的 HTML 文字，而 `text/plain` 只會傳迴文字內容 (即其忽略 HTML 標記與其他不可印出的資料)\n* ''name'': 可選的變數名稱\n* ''value'': 可選的變數值\n\n預設情況下，檔名被解析為相對於發行版資料夾的 `output` 子資料夾。`--output` 命令可用於將輸出指到一個不同的資料夾。\n\n附註：\n\n* 輸出資料夾不清除任何現有的檔案\n* 檔名的路徑中，任何不存在的資料夾，將自動建立。\n* 當正呈現的條目名稱中帶有空格，請注意同時使用命令列介面所要求的引號，與 TiddlyWiki 的雙重方括號：`--render \"[[Motovun Jack.jpg]]\"`\n* 所選的項目被設定為當前正在呈現的條目名稱，以此評估檔名篩選器，允條目名稱用作基礎計算的檔名。例如，`[encodeuricomponent[]addprefix[static/]]` 為每個條目名稱套用 URI 編碼，然後增加首碼 `static/`\n* `--render` 命令是已棄用的 `--rendertiddler` 和 `--rendertiddlers` 的一個更靈活的替代命令。\n\n範例：\n\n* `--render \"[!is[system]]\" \"[encodeuricomponent[]addprefix[tiddlers/]addsuffix[.html]]\"` -- 呈現所有非系統條目為 \"tiddlers\" 子資料夾中的檔案，檔名為 URL 編碼的條目名稱和副檔名 HTML\n* `--render '.' 'tiddlers.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' '[tag[HelloThere]]'` -- 將標籤為 \"HelloThere\" 的條目渲染到名為 \"tiddlers.json\" 的 JSON 檔案"
  },
  {
    "path": "languages/zh-HK/Help/savetiddlers.tid",
    "content": "title: $:/language/Help/savetiddlers\ndescription: 將一羣條目的原始內容儲存到一個資料夾\n\n(請注意：`--savetiddlers` 命令已被棄用，而支援新的、更靈活得 `--save` 命令)\n\n儲存一羣條目的原始文字或二進位格式到指定的資料夾。\n\n```\n--savetiddlers <filter> <pathname> [noclean]\n```\n\n預設情況下，路徑名被解析為相對於發行版資料夾的 `output` 子資料夾。 `--output` 命令可以用於將輸出指定到一個不同的資料夾。\n\n儲存指定的檔案之前，會先清除輸出目錄的現有檔案。可藉由指定 ''noclean'' 旗標，停用該刪除動作。\n\n自動建立在路徑中任何缺少的資料夾。\n"
  },
  {
    "path": "languages/zh-HK/Help/server.tid",
    "content": "title: $:/language/Help/server\ndescription: （已棄用：請參閲 'listen' 命令）提供一個 HTTP 伺服器介面到 TiddlyWiki\n\n在伺服器中內建 TiddlyWiki5 是非常簡單。雖與 TiddlyWeb 相容，但不支援許多健全網際網路面向的使用方式所需的功能。\n\n提供呈現一個指定條目，也可將個別條目編碼成 JSON，且支援基本的 HTTP 操作 `GET`、`PUT` 及 `DELETE`.\n\n```\n--server <port> <root-tiddler> <root-render-type> <root-serve-type> <username> <password> <host> <path-prefix> <debug-level>\n```\n\n參數説明：\n\n* ''port'' - 要偵聽的埠號；非數值會被解譯為一個系統環境變數，從其中提取埠號 (預設為 \"8080\")\n* ''root-tiddler'' - 服務的基本條目 (預設為 \"$:/core/save/all\")\n* ''root-render-type'' - 呈現的基本條目的內容類型 (預設為 \"text/plain\")\n* ''root-serve-type'' - 服務的基本條目的內容類型 (預設為 \"text/html\")\n* ''username'' - 預設的編輯者署名\n* ''password'' - 可選的基本驗證密碼\n* ''host'' - 可選的主機名稱， (預設為 \"127.0.0.1\" 或名為 \"localhost\")\n* ''path-prefix'' - 可選的的路徑前綴\n* ''debug-level'' - 可選的偵錯層級；設定為 \"debug\" 來檢視請求的詳細資訊；(預設為 \"none\")\n\n若指定密碼參數，瀏覽器將提示使用者輸入帳號與密碼。注意，密碼係以明碼方式傳遞，應只在受信任的網路或 HTTPS 上使用。\n\n例如：\n\n```\n--server 8080 $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n\n若您需要設定主機名稱或路徑前綴，而不要求輸入密碼，則可以指定空字串的使用者名和密碼。\n\n```\n--server 8080 $:/core/save/all text/plain text/html \"\" \"\" 192.168.0.245\n```\n\n使用這樣的位址，會將您的系統暴露給本地網路。有關向整個本地網路開啟實例的資訊，以及可能的安全問題，請參閲 TiddlyWiki.com 的 WebServer 條目。\n\n同時執行多個 TiddlyWiki 伺服器，須分別指定不同的埠號。使用環境變數，有助於將埠號傳遞給 Node.js 進程。本示例引用一個名為 \"MY_PORT_NUMBER\" 的環境變數:\n\n```\n--server MY_PORT_NUMBER $:/core/save/all text/plain text/html MyUserName passw0rd\n```"
  },
  {
    "path": "languages/zh-HK/Help/setfield.tid",
    "content": "title: $:/language/Help/setfield\ndescription: 準備用於外部條目\n\n//請注意此命令是試驗性的，且可能會更改或在最終定稿前被替換//\n\n設定一羣條目的指定欄位到 wikifying 範本條目的結果，其中的 `currentTiddler` 變數設定為各該條目。\n\n```\n--setfield <filter> <fieldname> <templatetitle> <rendertype>\n```\n\n參數説明：\n\n* ''filter'' - 受影響的辨識條目的篩選條件\n* ''fieldname'' - 要修改的欄位（預設為 \"text\"）\n* ''templatetitle'' - 該條目 wikify 到指定欄位。若為空白或丟失，則刪除指定的欄位\n* ''rendertype'' - 要呈現的文本類型（預設為 \"text/plain\"; \"text/html\" 可以用於包含 HTML 標記)）\n"
  },
  {
    "path": "languages/zh-HK/Misc.multids",
    "content": "title: $:/language/\n\nInternalJavaScriptError/Hint: 喔，真是令人尷尬。建議刷新您的瀏覽器，重新啓動 TiddlyWiki\nLayoutSwitcher/Description: 開啓版面切換器\nShortcuts/Input/AdvancedSearch/Hint: 從側邊欄搜尋欄位內開啓[[進階搜尋|$:/AdvancedSearch]]面板\n"
  },
  {
    "path": "languages/zh-HK/SideBar.multids",
    "content": "title: $:/language/SideBar/\n\nOpen/Caption: 開啓\n"
  },
  {
    "path": "languages/zh-HK/Snippets/ProcedureDefinition.tid",
    "content": "title: $:/language/Snippets/ProcedureDefinition\ntags: $:/tags/TextEditor/Snippet\ncaption: 程序定義\n\n\\procedure procName(param1:\"預設值\",param2)\n這裏就是您的文字了。\n\\end\n"
  },
  {
    "path": "languages/zh-HK/ThemeTweaks.multids",
    "content": "title: $:/language/ThemeTweaks/\n\nOptions/StickyTitles/Hint: 使條目名稱\"黏着\"於瀏覽器視窗的頂端\n"
  },
  {
    "path": "languages/zh-HK/plugin.info",
    "content": "{\n\t\"title\": \"$:/languages/zh-HK\",\n\t\"name\": \"zh-HK\",\n\t\"plugin-type\": \"language\",\n\t\"description\": \"繁體中文 (香港)\",\n\t\"author\": \"BramChen\",\n\t\"core-version\": \">=5.0.8\",\n\t\"dependents\": [\"$:/languages/zh-Hant\"],\n\t\"plugin-priority\": 110\n}\n"
  },
  {
    "path": "languages/zh-Hans/Buttons.multids",
    "content": "title: $:/language/Buttons/\n\nAdvancedSearch/Caption: 高级搜索\nAdvancedSearch/Hint: 高级搜索\nCancel/Caption: 取消\nCancel/Hint: 取消对此条目的修改\nClone/Caption: 复制\nClone/Hint: 复制此条目\nClose/Caption: 关闭\nClose/Hint: 关闭此条目\nCloseAll/Caption: 全部关闭\nCloseAll/Hint: 关闭所有条目\nCloseOthers/Caption: 关闭其他\nCloseOthers/Hint: 关闭其他条目\nControlPanel/Caption: 控制台\nControlPanel/Hint: 开启控制台\nCopyToClipboard/Caption: 复制到剪贴板\nCopyToClipboard/Hint: 将此文本复制到剪贴板\nDelete/Caption: 删除\nDelete/Hint: 删除此条目\nDeleteTiddlers/Caption: 删除条目\nDeleteTiddlers/Hint: 删除条目\nEdit/Caption: 编辑\nEdit/Hint: 编辑此条目\nEncryption/Caption: 加密\nEncryption/Hint: 设置或清除保存此维基的密码\nEncryption/ClearPassword/Caption: 清除密码\nEncryption/ClearPassword/Hint: 清除密码且不加密保存此维基\nEncryption/SetPassword/Caption: 设置密码\nEncryption/SetPassword/Hint: 设置加密保存此维基的密码\nEmergencyDownload/Caption: 下载条目为 json\nExportPage/Caption: 导出所有条目\nExportPage/Hint: 导出所有条目\nExportTiddler/Caption: 导出此条目\nExportTiddler/Hint: 导出此条目\nExportTiddlers/Caption: 导出条目\nExportTiddlers/Hint: 导出条目\nSidebarSearch/Hint: 选择侧边栏的搜索字段\nFold/Caption: 折叠条目\nFold/Hint: 折叠此条目的内容\nUnfold/Caption: 展开条目\nUnfold/Hint: 展开此条目的内容\nFoldOthers/Caption: 折叠其他条目\nFoldOthers/Hint: 折叠其他已开启条目的内容\nFoldAll/Caption: 折叠所有条目\nFoldAll/Hint: 折叠所有已开启条目的内容\nFold/FoldBar/Caption: 折叠栏\nFold/FoldBar/Hint: 可选的折叠与展开条目的长条按钮\nUnfoldAll/Caption: 展开所有条目\nUnfoldAll/Hint: 展开所有已开启条目的内容\nFullScreen/Caption: 全屏\nFullScreen/Hint: 进入或退出全屏模式\nHelp/Caption: 帮助\nHelp/Hint: 显示帮助面板\nHome/Caption: 首页\nHome/Hint: 开启首页条目\nImport/Caption: 导入\nImport/Hint: 导入许多类型的文件包括文本、图像、~TiddlyWiki 或 JSON\nInfo/Caption: 信息\nInfo/Hint: 显示此条目的信息\nLanguage/Caption: 语言\nLanguage/Hint: 选择用户界面语言\nLayoutSwitcher/Hint: 开启布局切换器\nLayoutSwitcher/Caption: 布局\nManager/Caption: 条目管理器\nManager/Hint: 开启条目管理器\nMore/Caption: 更多\nMore/Hint: 更多操作\nNewHere/Caption: 添加子条目\nNewHere/Hint: 创建一个标签为此条目名称的新条目\nNetworkActivity/Caption: 网络活动\nNetworkActivity/Hint: 取消所有网络活动\nNewJournal/Caption: 添加日志\nNewJournal/Hint: 创建一个新的日志条目\nNewJournalHere/Caption: 添加子日志\nNewJournalHere/Hint: 创建一个标签含此条目名称的新日志条目\nNewImage/Caption: 添加图像\nNewImage/Hint: 创建一个新的图像条目\nNewMarkdown/Caption: 添加 Markdown 条目\nNewMarkdown/Hint: 创建一个新的 Markdown 条目\nNewTiddler/Caption: 添加条目\nNewTiddler/Hint: 创建一个新的条目\nOpenControlPanel/Hint: 开启控制台\nOpenWindow/Caption: 开启于新窗口\nOpenWindow/Hint: 在新窗口中开启条目\nPalette/Caption: 调色板\nPalette/Hint: 选择调色板\nPermalink/Caption: 引用链接\nPermalink/Hint: 设置浏览器网址栏为直接链接到此条目\nPermaview/Caption: 永久链接\nPermaview/Hint: 设置浏览器网址栏为直接链接到当前所有已开启条目\nPrint/Caption: 打印页面\nPrint/Hint: 打印当前页面\nRefresh/Caption: 刷新\nRefresh/Hint: 执行维基的完全刷新\nSave/Caption: 确定\nSave/Hint: 确定对此条目的更改\nSaveWiki/Caption: 保存变更\nSaveWiki/Hint: 保存变更\nStoryView/Caption: 视图模式\nStoryView/Hint: 选择查看条目的视觉效果\nHideSideBar/Caption: 隐藏侧边栏\nHideSideBar/Hint: 隐藏侧边栏\nShowSideBar/Caption: 显示侧边栏\nShowSideBar/Hint: 显示侧边栏\nTagManager/Caption: 标签管理\nTagManager/Hint: 标签管理\nTestCaseImport/Caption: 导入条目\nTestCaseImport/Hint: 导入条目\nTimestamp/Caption: 时间戳\nTimestamp/Hint: 选择修改是否更新时间戳\nTimestamp/On/Caption: 时间戳开启\nTimestamp/On/Hint: 条目被修改时，更新时间戳\nTimestamp/Off/Caption: 时间戳关闭\nTimestamp/Off/Hint: 条目被修改时，不更新时间戳\nTheme/Caption: 布局主题\nTheme/Hint: 选择布局主题\nBold/Caption: 粗体\nBold/Hint: 套用粗体格式于所选文本\nClear/Caption: 清除\nClear/Hint: 清除图像为纯色\nEditorHeight/Caption: 编辑器高度\nEditorHeight/Caption/Auto: 自动调整高度以适应内容\nEditorHeight/Caption/Fixed: 固定高度︰\nEditorHeight/Hint: 选择文本编辑器的高度\nExcise/Caption: 剪切\nExcise/Caption/Excise: 执行剪切\nExcise/Caption/MacroName: 宏的名称︰\nExcise/Caption/NewTitle: 新条目的名称︰\nExcise/Caption/Replace: 替换剪切的文本为：\nExcise/Caption/Replace/Macro: 宏\nExcise/Caption/Replace/Link: 链接\nExcise/Caption/Replace/Transclusion: 嵌入\nExcise/Caption/Tag: 将新条目的标签设为此条目的名称\nExcise/Caption/TiddlerExists: 提醒：条目已经存在\nExcise/DefaultTitle: 新的剪切\nExcise/Hint: 剪切所选文本到一个新条目\nHeading1/Caption: 标题 1\nHeading1/Hint: 套用标题级别 1 的格式于包含所选文本的列\nHeading2/Caption: 标题 2\nHeading2/Hint: 套用标题级别 2 的格式于包含所选文本的列\nHeading3/Caption: 标题 3\nHeading3/Hint: 套用标题级别 3 的格式于包含所选文本的列\nHeading4/Caption: 标题 4\nHeading4/Hint: 套用标题级别 4 的格式于包含所选文本的列\nHeading5/Caption: 标题 5\nHeading5/Hint: 套用标题级别 5 的格式于包含所选文本的列\nHeading6/Caption: 标题 6\nHeading6/Hint: 套用标题级别 6 的格式于包含所选文本的列\nItalic/Caption: 斜体\nItalic/Hint: 套用斜体格式于所选文本\nLineWidth/Caption: 线宽\nLineWidth/Hint: 设置绘画的线条宽度\nLink/Caption: 链接\nLink/Hint: 创建维基文字链接\nLinkify/Caption: 维基链接\nLinkify/Hint: 套用维基链接于所选文字\nListBullet/Caption: 符号清单\nListBullet/Hint: 套用符号清单格式于包含所选文本的列\nListNumber/Caption: 数字清单\nListNumber/Hint: 套用数字清单格式于包含所选文本的列\nMonoBlock/Caption: 等宽区块\nMonoBlock/Hint: 套用等宽区块格式于包含所选文本的列\nMonoLine/Caption: 等宽\nMonoLine/Hint: 套用等宽字符格式于所选文本\nOpacity/Caption: 不透明度\nOpacity/Hint: 设置绘画的不透明度\nPaint/Caption: 绘画颜色\nPaint/Hint: 设置绘画的颜色\nPicture/Caption: 图片\nPicture/Hint: 插入图片\nPreview/Caption: 预览\nPreview/Hint: 显示预览窗格\nPreviewType/Caption: 预览类型\nPreviewType/Hint: 选择预览类型\nQuote/Caption: 引用\nQuote/Hint: 套用引用文本格式于包含所选文本的列\nRotateLeft/Caption: 向左旋转\nRotateLeft/Hint: 图像向左旋转 90 度\nSize/Caption: 图像大小\nSize/Caption/Height: 高度︰\nSize/Caption/Resize: 调整图像的大小\nSize/Caption/Width: 宽度：\nSize/Hint: 设置图像的大小\nStamp/Caption: 印记\nStamp/Caption/New: 添加您自己的\nStamp/Hint: 插入一个预配置的文本片段\nStamp/New/Title: 在选单中显示的标题\nStamp/New/Text: 片段的文本。（记得在 `caption` 字段中添加一个说明性的标题）。\nStrikethrough/Caption: 删除线\nStrikethrough/Hint: 套用删除线格式于所选文本\nSubscript/Caption: 下标\nSubscript/Hint: 套用下标格式于所选文本\nSuperscript/Caption: 上标\nSuperscript/Hint: 套用上标格式于所选文本\nToggleSidebar/Hint: 切换显示或隐藏侧边栏\nTranscludify/Caption: 嵌入\nTranscludify/Hint: 套用嵌入于所选文字\nUnderline/Caption: 下划线\nUnderline/Hint: 套用下划线格式于所选文本\n"
  },
  {
    "path": "languages/zh-Hans/ControlPanel.multids",
    "content": "title: $:/language/ControlPanel/\n\nAdvanced/Caption: 高级\nAdvanced/Hint: 关于此 TiddlyWiki 的内部信息\nAppearance/Caption: 外观\nAppearance/Hint: 定制您的 TiddlyWiki 外观。\nBasics/AnimDuration/Prompt: 动画持续时间\nBasics/AutoFocus/Prompt: 编辑条目时的默认自动停留字段\nBasics/Caption: 基础\nBasics/DefaultTiddlers/BottomHint: 标题含空白时请使用 &#91;&#91;双中括弧&#93;&#93;，或者您可用 {{保留开启中的条目顺序||$:/snippets/retain-story-ordering-button}}\nBasics/DefaultTiddlers/Prompt: 首页\nBasics/DefaultTiddlers/TopHint: 默认开启的条目\nBasics/Language/Prompt: 您好！当前的语言：\nBasics/NewJournal/Tags/Prompt: 新日志条目的标签\nBasics/NewJournal/Text/Prompt: 新日志条目的内容\nBasics/NewJournal/Title/Prompt: 新日志条目的名称\nBasics/NewTiddler/Tags/Prompt: 新条目的标签\nBasics/NewTiddler/Title/Prompt: 新条目的名称\nBasics/OverriddenShadowTiddlers/Prompt: 被覆盖的默认条目数量\nBasics/RemoveTags: 更新到当前格式\nBasics/RemoveTags/Hint: 将标签配置更新为最新格式\nBasics/ShadowTiddlers/Prompt: 默认条目数量\nBasics/Subtitle/Prompt: 副标题\nBasics/SystemTiddlers/Prompt: 系统条目数量\nBasics/Tags/Prompt: 标签数量\nBasics/Tiddlers/Prompt: 一般条目数量\nBasics/Title/Prompt: 此 ~TiddlyWiki 的标题\nBasics/Username/Prompt: 编辑者署名\nBasics/Version/Prompt: ~TiddlyWiki 版本\nCascades/Caption: 级联\nCascades/Hint: 这些全域规则用于动态选择某些模板。级联的结果是返回结果的序列中的第一个筛选的结果\nCascades/TagPrompt: 筛选器标签为 <$macrocall $name=\"tag\" tag=<<currentTiddler>>/>\nEditorTypes/Caption: 编辑器类型\nEditorTypes/Editor/Caption: 编辑器\nEditorTypes/Hint: 这些条目决定使用哪个编辑器来编辑特定条目类型。\nEditorTypes/Type/Caption: 类型\nEditTemplateBody/Caption: 编辑模板主体\nEditTemplateBody/Hint: 默认的编辑模板使用此规则级联，动态选择模板来编辑条目的主体。\nFieldEditor/Caption: 字段编辑器\nFieldEditor/Hint: 此规则级联用于根据名称，动态选择用于呈现一个条目字段的模板。其用于编辑模板中。\nInfo/Caption: 信息\nInfo/Hint: 有关此 TiddlyWiki 的信息\nKeyboardShortcuts/Add/Prompt: 在此输入快捷键\nKeyboardShortcuts/Add/Caption: 添加快捷键\nKeyboardShortcuts/Caption: 快捷键\nKeyboardShortcuts/Hint: 管理键盘快捷键分配\nKeyboardShortcuts/NoShortcuts/Caption: 尚无指定快捷键\nKeyboardShortcuts/Remove/Hint: 删除快捷键\nKeyboardShortcuts/Platform/All: 所有平台\nKeyboardShortcuts/Platform/Mac: 仅 Macintosh 平台\nKeyboardShortcuts/Platform/NonMac: 仅非 Macintosh 平台\nKeyboardShortcuts/Platform/Linux: 仅 Linux 平台\nKeyboardShortcuts/Platform/NonLinux: 仅非 Linux 平台\nKeyboardShortcuts/Platform/Windows: 仅 Windows 平台\nKeyboardShortcuts/Platform/NonWindows: 仅非 Windows 平台\nLayoutSwitcher/Caption: 布局\nLoadedModules/Caption: 已加载的模块\nLoadedModules/Hint: 这些是当前已加载的模块之源码条目。斜体的模块则无源码条目，通常是因为它们是在引导过程中设置。\nPalette/Caption: 调色板\nPalette/Editor/Clone/Caption: 复制\nPalette/Editor/Clone/Prompt: 建议您修改前先复制此默认调色板\nPalette/Editor/Delete/Hint: 从当前调色板中删除此项\nPalette/Editor/Names/External/Show: 显示不属于当前调色板的颜色名称\nPalette/Editor/Prompt/Modified: 此默认调色板已被修改过\nPalette/Editor/Prompt: 编辑\nPalette/Editor/Reset/Caption: 重置\nPalette/HideEditor/Caption: 隐藏编辑器\nPalette/Prompt: 当前的调色板：\nPalette/ShowEditor/Caption: 显示编辑器\nPlugins/Add/Hint: 从官方插件库安装插件\nPlugins/Add/Caption: 获取更多插件\nPlugins/AlreadyInstalled/Hint: 此插件已经安装版本 <$text text=<<installedVersion>>/>\nPlugins/AlsoRequires: 还需要：\nPlugins/Caption: 插件\nPlugins/Disable/Caption: 禁用\nPlugins/Disable/Hint: 重新加载页面时禁用此插件\nPlugins/Disabled/Status: (已禁用)\nPlugins/Downgrade/Caption: 降级\nPlugins/Empty/Hint: 无\nPlugins/Enable/Caption: 启用\nPlugins/Enable/Hint: 重新加载页面时启用此插件\nPlugins/Install/Caption: 安装\nPlugins/Installed/Hint: 当前已安装的插件：\nPlugins/Languages/Caption: 语言\nPlugins/Languages/Hint: 语言包插件\nPlugins/NoInfoFound/Hint: 无 ''\"<$text text=<<currentTab>>/>\"''\nPlugins/NoInformation/Hint: 未提供信息\nPlugins/NotInstalled/Hint: 尚未安装此插件\nPlugins/OpenPluginLibrary: 打开插件库\nPlugins/ClosePluginLibrary: 关闭插件库\nPlugins/PluginWillRequireReload: （需要重新加载）\nPlugins/Plugins/Caption: 插件\nPlugins/Plugins/Hint: 插件\nPlugins/Reinstall/Caption: 重新安装\nPlugins/Stability/Deprecated: 过时\nPlugins/Stability/Experimental: 实验性\nPlugins/Stability/Legacy: 陈旧\nPlugins/Stability/Stable: 稳定\nPlugins/Themes/Caption: 布局主题\nPlugins/Themes/Hint: 布局主题插件\nPlugins/Update/Caption: 更新\nPlugins/Updates/Caption: 更新\nPlugins/Updates/Hint: 已安装插件的可用更新\nPlugins/Updates/UpdateAll/Caption: 更新 <<update-count>> 个插件\nPlugins/SubPluginPrompt: 提供 <<count>> 个可用的附加插件\nParsing/Caption: 解析\nParsing/Hint: 在此您可以全域禁用或启用维基解析规则。要使更改生效，请保存并重新加载您的维基。禁用某些解析规则，会妨碍 <$text text=\"TiddlyWiki\"/> 正常运作。可使用[[安全模式|https://tiddlywiki.com/#SafeMode]]恢复正常操作。\nParsing/Block/Caption: 区块解析规则\nParsing/Inline/Caption: 内联解析规则\nParsing/Pragma/Caption: 编译指示解析规则\nSaving/Caption: 保存\nSaving/DownloadSaver/AutoSave/Description: 允许下载保存模块的自动保存\nSaving/DownloadSaver/AutoSave/Hint: 启用下载保存模块的自动保存\nSaving/DownloadSaver/Caption: 下载保存模块\nSaving/DownloadSaver/Hint: 这些设置适用于兼容 HTML5 的下载保存模块\nSaving/General/Caption: 通用\nSaving/General/Hint: 这些设置适用于所有已载入的保存模块\nSaving/Hint: 用于通过保存模块将整个 TiddlyWiki 保存为单个文件的设置\nSaving/GitService/Branch: 用于保存的目标分支\nSaving/GitService/CommitMessage: 由 TiddlyWiki 保存\nSaving/GitService/Description: 这些设置仅用于保存至 <<service-name>>\nSaving/GitService/Filename: 目标文件的文件名称 (例如，`index.html`)\nSaving/GitService/Path: 目标文件的路径 (例如，`/wiki/`)\nSaving/GitService/Repo: 目标存储库 (例如，`Jermolene/TiddlyWiki5`)\nSaving/GitService/ServerURL: 服务器 API 网址\nSaving/GitService/UserName: 用户名称\nSaving/GitService/GitHub/Caption: ~GitHub 保存模块\nSaving/GitService/GitHub/Password: 密码、OAUTH 令牌，或个人存取令牌 (详见 [[GitHub 帮助页面|https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line]])\nSaving/GitService/GitLab/Caption: ~GitLab 保存模块\nSaving/GitService/GitLab/Password: 个人存取令牌的 API (详见 [[GitLab 帮助页面|https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html]])\nSaving/GitService/Gitea/Caption: Gitea 保存模块\nSaving/GitService/Gitea/Password: 个人存取令牌的 API (通过 Gitea 的 Web 界面：`设定 | 应用程序 | 产生新的令牌`)\nSaving/TiddlySpot/Advanced/Heading: 高级设置\nSaving/TiddlySpot/BackupDir: 备份文件夹\nSaving/TiddlySpot/Backups: 备份\nSaving/TiddlySpot/Caption: ~TiddlyHost 保存模块\nSaving/TiddlySpot/ControlPanel: ~TiddlyHost 控制台\nSaving/TiddlySpot/Description: 这些设置只适用于保存到 [[TiddlyHost|https://tiddlyhost.com]]，或兼容的远程服务器。有关 ~TiddlyHost 的保存设置信息，请参阅[[此处|https://github.com/simonbaird/tiddlyhost/wiki/TiddlySpot-Saver-configuration-for-Tiddlyhost-and-Tiddlyspot]]\nSaving/TiddlySpot/Filename: 上传文件名\nSaving/TiddlySpot/Heading: ~TiddlyHost\nSaving/TiddlySpot/Hint: //默认之服务器网址 `http://<wikiname>.tiddlyhost.com/`，可改为定制之服务器网址，例如 `http://example.com/store.php`。//\nSaving/TiddlySpot/Password: 密码\nSaving/TiddlySpot/ServerURL: 服务器网址\nSaving/TiddlySpot/UploadDir: 上传文件夹\nSaving/TiddlySpot/UserName: 用户\nSettings/AutoSave/Caption: 自动保存\nSettings/AutoSave/Disabled/Description: 不要自动保存变更\nSettings/AutoSave/Enabled/Description: 自动保存变更\nSettings/AutoSave/Hint: 当使用支持的保存模块时，在编辑期间尝试自动保存变更\nSettings/CamelCase/Caption: 驼峰式维基链接\nSettings/CamelCase/Hint: 须保存后重新加载，方才生效。\nSettings/CamelCase/Description: 启用自动驼峰式链接\nSettings/Caption: 设置\nSettings/DefaultSidebarTab/Caption: 默认侧边栏页签\nSettings/DefaultSidebarTab/Hint: 指定默认显示的侧边栏页签\nSettings/DefaultMoreSidebarTab/Caption: 更多侧边栏的默认页签\nSettings/DefaultMoreSidebarTab/Hint: 指定默认显示的更多侧栏页签\nSettings/DefaultTiddlerInfoTab/Caption: 默认条目信息标签页\nSettings/DefaultTiddlerInfoTab/Hint: 指定条目信息面板开启时默认显示的标签页\nSettings/EditorToolbar/Caption: 编辑器工具栏\nSettings/EditorToolbar/Hint: 启用或禁用编辑器工具栏︰\nSettings/EditorToolbar/Description: 显示编辑器工具栏\nSettings/InfoPanelMode/Caption: 条目信息面板模式\nSettings/InfoPanelMode/Hint: 控制条目信息面板何时关闭︰\nSettings/InfoPanelMode/Popup/Description: 条目信息面板自动关闭\nSettings/InfoPanelMode/Sticky/Description: 条目信息面板保持打开状态，直到明确关闭\nSettings/Hint: 这些高级设置让您定制 TiddlyWiki 的行为。\nSettings/LinkToBehaviour/Caption: 条目开启行为\nSettings/LinkToBehaviour/InsideRiver/Hint: 从故事河//中//导航\nSettings/LinkToBehaviour/OutsideRiver/Hint: 从故事河//外//导航\nSettings/LinkToBehaviour/OpenAbove: 开启于当前条目之上\nSettings/LinkToBehaviour/OpenBelow: 开启于当前条目之下\nSettings/LinkToBehaviour/OpenAtTop: 开启于故事河的顶部\nSettings/LinkToBehaviour/OpenAtBottom: 开启于故事河的底部\nSettings/MissingLinks/Caption: 维基链接\nSettings/MissingLinks/Hint: 选择是否要链接到尚未存在的条目\nSettings/MissingLinks/Description: 启用链接到佚失条目\nSettings/NavigationAddressBar/Caption: 网址栏导航\nSettings/NavigationAddressBar/Hint: 在浏览器网址栏导航到条目时的行为：\nSettings/NavigationAddressBar/No/Description: 不更新网址栏\nSettings/NavigationAddressBar/Permalink/Description: 包含目标条目\nSettings/NavigationAddressBar/Permaview/Description: 包括目标条目和当前已开启的条目序列\nSettings/NavigationHistory/Caption: 历史记录导航\nSettings/NavigationHistory/Hint: 当导航到条目时，更新浏览器历史记录：\nSettings/NavigationHistory/No/Description: 不更新历史记录\nSettings/NavigationHistory/Yes/Description: 更新历史记录\nSettings/NavigationPermalinkviewMode/Caption: 引用链接/固定链接 模式\nSettings/NavigationPermalinkviewMode/Hint: 选择 引用链接/固定链接 的处理方式：\nSettings/NavigationPermalinkviewMode/CopyToClipboard/Description: 将 引用链接/固定链接 网址复制到剪贴板\nSettings/NavigationPermalinkviewMode/UpdateAddressBar/Description: 以 引用链接/固定链接 更新网址栏\nSettings/PerformanceInstrumentation/Caption: 性能检测\nSettings/PerformanceInstrumentation/Hint: 在浏览器的开发人员控制台，显示性能统计数据。需要重新加载才能生效。\nSettings/PerformanceInstrumentation/Description: 启用性能检测\nSettings/RecentLimit/Caption: “最近”标签页限制\nSettings/RecentLimit/Hint: 侧边栏“最近”标签页显示的最多条目数\nSettings/ToolbarButtonStyle/Caption: 工具栏按钮样式\nSettings/ToolbarButtonStyle/Hint: 选择工具栏按钮的样式:\nSettings/ToolbarButtonStyle/Styles/Borderless: 无边框\nSettings/ToolbarButtonStyle/Styles/Boxed: 方框\nSettings/ToolbarButtonStyle/Styles/Rounded: 圆形\nSettings/ToolbarButtons/Caption: 工具栏按钮\nSettings/ToolbarButtons/Hint: 默认的工具栏按钮外观：\nSettings/ToolbarButtons/Icons/Description: 包含图标\nSettings/ToolbarButtons/Text/Description: 包含文本\nSettings/TitleLinks/Caption: 条目标题\nSettings/TitleLinks/Hint: 可选地显示条目标题为链接\nSettings/TitleLinks/No/Description: 不显示条目标题为链接\nSettings/TitleLinks/Yes/Description: 显示条目标题为链接\nSocialCard/Caption: 社交媒体卡\nSocialCard/Domain/Prompt: 显示链接的网域名称（例如 ''tiddlywiki.com''）\nSocialCard/Hint: 社交和消息服务使用此信息来显示在线托管时指向此 ~TiddlyWiki 的链接的预览卡\nSocialCard/PreviewUrl/Prompt: 用于预览此 ~TiddlyWiki 图像的完整网址\nSocialCard/PreviewUrl/Preview: 预览图像：\nSocialCard/Url/Prompt: 此 ~TiddlyWiki 的完整网址\nStoryTiddler/Caption: 故事条目\nStoryTiddler/Hint: 此规则级联用于动态选择模板，以便在故事河中显示条目。\nStoryView/Caption: 视图模式\nStoryView/Prompt: 当前的视图模式：\nStylesheets/Caption: 样式表\nStylesheets/Expand/Caption: 全部展开\nStylesheets/Hint: 这是当前标签为 <<tag \"$:/tags/Stylesheet\">> 的样式表条目呈现的 CSS\nStylesheets/Restore/Caption: 复原\nTestCases/Caption: 测试案例\nTestCases/Hint: 测试案例是用于测试和学习的自给自足的范例\nTestCases/All/Caption: 所有测试案例\nTestCases/All/Hint: 所有测试案例\nTestCases/Failed/Caption: 失败的测试案例\nTestCases/Failed/Hint: 仅失败的测试案例\nTheme/Caption: 布局主题\nTheme/Prompt: 当前的布局主题：\nTiddlerColour/Caption: 条目颜色\nTiddlerColour/Hint: 此规则级联用于动态地为条目选择颜色 (用于图示和关联的标签丸)。\nTiddlerFields/Caption: 条目字段\nTiddlerFields/Hint: 这是本维基使用中的所有条目字段（含系统条目的字段，但默认条目的字段除外）。\nTiddlerIcon/Caption: 条目图示\nTiddlerIcon/Hint: 此规则级联用于动态地为条目选择图示。\nToolbars/Caption: 工具栏\nToolbars/EditToolbar/Caption: 编辑工具栏\nToolbars/EditToolbar/Hint: 选择将显示哪些按钮于条目的编辑模式工具栏。拖放可改变顺序。\nToolbars/Hint: 选择将显示哪些工具栏按钮\nToolbars/PageControls/Caption: 页面工具栏\nToolbars/PageControls/Hint: 选择将显示哪些按钮于主页面的工具栏。拖放可改变顺序。\nToolbars/EditorToolbar/Caption: 编辑器工具栏\nToolbars/EditorToolbar/Hint: 选择将显示哪些按钮于编辑器工具栏。请注意，某些按钮只会出现在编辑某一类型的条目时。拖放可改变顺序。\nToolbars/ViewToolbar/Caption: 查看工具栏\nToolbars/ViewToolbar/Hint: 选择将显示哪些按钮于条目的视图模式工具栏。拖放可改变顺序。\nTools/Download/Full/Caption: 下载完整副本\nViewTemplateBody/Caption: 查看模板主体\nViewTemplateBody/Hint: 默认的查看模板使用此规则级联，动态选择模板以显示条目的主体。\nViewTemplateTitle/Caption: 查看模板标题\nViewTemplateTitle/Hint: 默认的查看模板使用此规则级联，动态选择模板以显示条目的标题。\nViewTemplateSubtitle/Caption: 查看模板副标题\nViewTemplateSubtitle/Hint: 默认的查看模板使用此规则级联，动态选择模板以显示条目的副标题。\nViewTemplateTags/Caption: 查看模板标签区\nViewTemplateTags/Hint: 默认的查看模板使用此规则级联，动态选择模板以显示条目的标签区域。\nWikiInformation/Caption: 维基信息\nWikiInformation/Hint: 此页面总结了有关此 ~TiddlyWiki 配置的高阶信息。旨在让用户能够快速与他人共享其 ~TiddlyWiki 配置的相关信息，例如，在其中一个论坛中寻求帮助时。不包含隐私或个人信息，没有明确复制和粘贴在其他地方的情况\nWikiInformation/Drag/Caption: 拖动此链接可将此工具复制到另一个维基"
  },
  {
    "path": "languages/zh-Hans/CoreReadMe.tid",
    "content": "title: $:/core/zh-Hans/readme\n\n此插件包含 TiddlyWiki 的核心组件，包括：\n\n* JavaScript 代码模块\n* 图标\n* 创建 TiddlyWiki 的用户界面所需的模板\n* 核心所使用的可当地语系化字串的英国英语 (''en-GB'') 翻译\n"
  },
  {
    "path": "languages/zh-Hans/Dates.multids",
    "content": "title: $:/language/\n\nDate/Long/Day/0: 周日\nDate/Long/Day/1: 周一\nDate/Long/Day/2: 周二\nDate/Long/Day/3: 周三\nDate/Long/Day/4: 周四\nDate/Long/Day/5: 周五\nDate/Long/Day/6: 周六\nDate/Long/Month/1: 一月\nDate/Long/Month/2: 二月\nDate/Long/Month/3: 三月\nDate/Long/Month/4: 四月\nDate/Long/Month/5: 五月\nDate/Long/Month/6: 六月\nDate/Long/Month/7: 七月\nDate/Long/Month/8: 八月\nDate/Long/Month/9: 九月\nDate/Long/Month/10: 十月\nDate/Long/Month/11: 十一月\nDate/Long/Month/12: 十二月\nDate/Period/am: 上午\nDate/Period/pm: 下午\nDate/Short/Day/0: 日\nDate/Short/Day/1: 一\nDate/Short/Day/2: 二\nDate/Short/Day/3: 三\nDate/Short/Day/4: 四\nDate/Short/Day/5: 五\nDate/Short/Day/6: 六\nDate/Short/Month/1: 01月\nDate/Short/Month/2: 02月\nDate/Short/Month/3: 03月\nDate/Short/Month/4: 04月\nDate/Short/Month/5: 05月\nDate/Short/Month/6: 06月\nDate/Short/Month/7: 07月\nDate/Short/Month/8: 08月\nDate/Short/Month/9: 09月\nDate/Short/Month/10: 10月\nDate/Short/Month/11: 11月\nDate/Short/Month/12: 12月\nRelativeDate/Future/Days: <<period>> 天后\nRelativeDate/Future/Hours: <<period>> 小时后\nRelativeDate/Future/Minutes: <<period>> 分钟后\nRelativeDate/Future/Months: <<period>> 个月后\nRelativeDate/Future/Second: 1 秒后\nRelativeDate/Future/Seconds: <<period>> 秒后\nRelativeDate/Future/Years: <<period>> 年后\nRelativeDate/Past/Days: <<period>> 天前\nRelativeDate/Past/Hours: <<period>> 小时前\nRelativeDate/Past/Minutes: <<period>> 分钟前\nRelativeDate/Past/Months: <<period>> 个月前\nRelativeDate/Past/Second: 1 秒前\nRelativeDate/Past/Seconds: <<period>> 秒前\nRelativeDate/Past/Years: <<period>> 年前\n"
  },
  {
    "path": "languages/zh-Hans/Docs/ModuleTypes.multids",
    "content": "title: $:/language/Docs/ModuleTypes/\n\nallfilteroperator:  ''all'' 筛选器算子的子算子。\nanimation: 动画模块包含可用于 RevealWidget 的动画。\nauthenticator: 定义内置 HTTP 服务器对请求的身份验证方式。\nbitmapeditoroperation: 一个位图编辑器工具栏操作。\ncommand: 可于 Node.js 执行的指令。\nconfig: 加入 `$tw.config` 的数据。\nfilteroperator: 个别筛选器算子方法。\nglobal: 加入 `$tw` 的全域数据。\ninfo: 透过 [[$:/temp/info-plugin]] 伪插件，发布系统信息。\nisfilteroperator: ''is'' 筛选器运算子的参数。\nlibrary: 一般用途的 JavaScript 模块的通用模块类型。\nmacro: JavaScript ''宏''定义。\nparser: 不同内容类型的解析器。\nroute: 定义内置 HTTP 服务器如何处理各个网址格式。\nsaver: 于浏览器保存文件的不同的保存处理方法。\nstartup: 启动时期的功能函数。\nstoryview: 视图模式用以自订 list 小部件的动画与行为。\ntexteditoroperation: 一个文本编辑器工具栏操作。\ntiddlerdeserializer: 转换不同内容类型至条目。\ntiddlerfield: 定义个别条目字段的行为。\ntiddlermethod: 添加方法至 `$tw.Tiddler` 原型。\nupgrader: 于升级/导入过程中，套用升级处理至条目。\nutils: 添加方法至 `$tw.utils`。\nutils-browser: 将特定于浏览器的方法添加到 `$tw.utils`。\nutils-node: 将特定于 Node.js 的方法添加到 `$tw.utils`。\nwidget: 封装 DOM 渲染和刷新的小部件。\nwikimethod: 添加方法至 `$tw.Wiki`。\nwikirule: WikiText 解析器的个别的语法规则。\n"
  },
  {
    "path": "languages/zh-Hans/Docs/PaletteColours.multids",
    "content": "title: $:/language/Docs/PaletteColours/\n\nalert-background: 提醒背景\nalert-border: 提醒边框\nalert-highlight: 提醒高亮度\nalert-muted-foreground: 提醒的低调前景\nbackground: 一般背景\nblockquote-bar: 引用条\nbutton-background: 默认按钮背景\nbutton-border: 默认按钮边框\nbutton-foreground: 默认按钮前景\ncode-background: 代码背景\ncode-border: 代码边框\ncode-foreground: 代码前景\ndirty-indicator: 未保存变更指示器\ndownload-background: 下载按钮背景\ndownload-foreground: 下载按钮前景\ndragger-background: 拖动区背景\ndragger-foreground: 拖动区前景\ndropdown-background: 下拉背景\ndropdown-border: 下拉边框\ndropdown-tab-background-selected: 选定的下拉页签背景\ndropdown-tab-background: 下拉页签背景\ndropzone-background: 拖放背景\nexternal-link-background-hover: 悬停外部链结背景\nexternal-link-background-visited: 已造访过的外部链结背景\nexternal-link-background: 外部链结背景\nexternal-link-foreground-hover: 悬停外部链结前景\nexternal-link-foreground-visited: 已造访过的外部链结前景\nexternal-link-foreground: 外部链结前景\nforeground: 一般前景\nmenubar-background: 菜单列背景\nmenubar-foreground: 菜单列前景\nmessage-background: 信息框背景\nmessage-border: 信息边框\nmessage-foreground: 信息框前景\nmodal-backdrop: 模块背景幕\nmodal-background: 模块背景\nmodal-border: 模块边框\nmodal-footer-background: 模块页脚背景\nmodal-footer-border: 模块页脚边框\nmodal-header-border: 模块标题边框\nmuted-foreground: 一般低调前景\nnotification-background: 通知背景\nnotification-border: 通知边框\npage-background: 页面背景\npre-background: pre 背景\npre-border: pre 边框\nprimary: 主颜色\nselect-tag-background: `<select>` 元素背景\nselect-tag-foreground: `<select>` 元素文本\nsidebar-button-foreground: 侧边栏按钮前景\nsidebar-controls-foreground-hover: 悬停侧边栏控制项前景\nsidebar-controls-foreground: 侧边栏控制项前景\nsidebar-foreground-shadow: 侧边栏前景阴影\nsidebar-foreground: 侧边栏前景\nsidebar-muted-foreground-hover: 悬停侧边栏低调前景\nsidebar-muted-foreground: 侧边栏低调前景\nsidebar-tab-background-selected: 侧边栏选定页签背景\nsidebar-tab-background: 侧边栏页签背景\nsidebar-tab-border-selected: 侧边栏选定页签边框\nsidebar-tab-border: 侧边栏页签边框\nsidebar-tab-divider: 侧边栏页签分隔线\nsidebar-tab-foreground-selected: 侧边栏选定页签前景\nsidebar-tab-foreground: 侧边栏页签前景\nsidebar-tiddler-link-foreground-hover: 侧边栏悬停条目链结前景\nsidebar-tiddler-link-foreground: 侧边栏条目链结前景\nstability-stable: 稳定性等级 \"stable\" 的徽章\nstability-experimental: 稳定性等级 \"experimental\" 的徽章\nstability-deprecated: 稳定性等级 \"deprecated\" 的徽章\nstability-legacy: 稳定性等级 \"legacy\" 的徽章\ntestcase-accent-level-1: 无嵌套的测试案例强调色\ntestcase-accent-level-2: 第二级嵌套的测试案例强调色\ntestcase-accent-level-3: 第三级或更高级别嵌套的测试案例强调色\nsite-title-foreground: 网站标题前景\nstatic-alert-foreground: 静态提醒前景\ntab-background-selected: 选定的页签背景\ntab-background: 页签背景\ntab-border-selected: 选定的页签边框\ntab-border: 页签边框\ntab-divider: 页签分隔线\ntab-foreground-selected: 选定的页签前景\ntab-foreground: 页签前景\ntable-border: 表格边框\ntable-footer-background: 表格页脚背景\ntable-header-background: 表格标题背景\ntag-background: 标签背景\ntag-foreground: 标签前景\ntiddler-background: 条目背景\ntiddler-border: 条目边框\ntiddler-controls-foreground-hover: 悬停的条目控制项前景\ntiddler-controls-foreground-selected: 选定的条目控制项前景\ntiddler-controls-foreground: 条目控制项前景\ntiddler-editor-background: 条目编辑器背景\ntiddler-editor-border-image: 条目编辑器边框图片\ntiddler-editor-border: 条目编辑器边框\ntiddler-editor-fields-even: 条目编辑器中偶数字段背景\ntiddler-editor-fields-odd: 条目编辑器中奇数字段背景\ntiddler-info-background: 条目信息面板背景\ntiddler-info-border: 条目信息面板边框\ntiddler-info-tab-background: 条目信息面板页签背景\ntiddler-link-background: 条目链结背景\ntiddler-link-foreground: 条目链结前景\ntiddler-subtitle-foreground: 条目副标题前景\ntiddler-title-foreground: 条目标题前景\ntoolbar-new-button: 工具栏 '添加条目' 按钮前景\ntoolbar-options-button: 工具栏 '选项' 按钮前景\ntoolbar-save-button: 工具栏 '保存' 按钮前景\ntoolbar-info-button: 工具栏 '资讯' 按钮前景\ntoolbar-edit-button: 工具栏 '编辑' 按钮前景\ntoolbar-close-button: 工具栏 '关闭' 按钮前景\ntoolbar-delete-button: 工具栏 '删除' 按钮前景\ntoolbar-cancel-button: 工具栏 '取消' 按钮前景\ntoolbar-done-button: 工具栏 '完成  按钮前景\nuntagged-background: 未设标签的背景\nvery-muted-foreground: 非常低调前景\n"
  },
  {
    "path": "languages/zh-Hans/Draft.multids",
    "content": "title: $:/language/Draft/\n\nAttribution: {{$:/status/UserName}}撰写的“<<draft-title>>”的草稿\nTitle: “<<draft-title>>”的草稿"
  },
  {
    "path": "languages/zh-Hans/EditTemplate.multids",
    "content": "title: $:/language/EditTemplate/\n\nCaption: 编辑器\nBody/External/Hint: 此条目显示保存于主要的 TiddlyWiki 文件之外的内容。你可以编辑其标签和字段，但不能直接编辑内容本身\nBody/Placeholder: 输入此条目的内容\nBody/Preview/Type/Output: 输出\nBody/Preview/Type/DiffShadow: 与影子条目的差异（如果有）\nBody/Preview/Type/DiffCurrent: 与当前条目的差异\nField/Remove/Caption: 删除字段\nField/Remove/Hint: 删除字段\nField/Dropdown/Caption: 字段列表\nField/Dropdown/Hint: 显示字段列表\nFields/Add/Button: 添加\nFields/Add/Button/Hint: 添加字段至条目\nFields/Add/Dropdown/System: 系统字段\nFields/Add/Dropdown/User: 使用者字段\nFields/Add/Name/Placeholder: 字段名称\nFields/Add/Prompt: 添加字段：\nFields/Add/Value/Placeholder: 字段内容\nShadow/Warning: 这是一个默认条目。您做的任何更改将会覆盖来自 <<pluginLink>> 插件的默认版本。\nShadow/OverriddenWarning: 这是一个修改过的默认条目。删除此条目可以还原为 <<pluginLink>> 插件中的默认版本。\nTags/Add/Button: 添加\nTags/Add/Button/Hint: 添加标签\nTags/Add/Placeholder: 标签名称\nTags/ClearInput/Caption: 清除输入\nTags/ClearInput/Hint: 清除标签输入\nTags/Dropdown/Caption: 标签清单\nTags/Dropdown/Hint: 显示标签清单\nTags/EmptyMessage: 找不到标签\nTags/EmptyMessage/System: 找不到系统标签\nTitle/BadCharacterWarning: 请注意，避免在条目名称中使用这些字符：<<bad-chars>>\nTitle/Exists/Prompt: 目标条目已经存在\nTitle/Relink/Prompt: 将在其他条目的 //tags// 和 //list// 字段中的 ''<$text text=<<fromTitle>>/>'' 改为 ''<$text text=<<toTitle>>/>''\nTitle/References/Prompt: 下列对此条目的引用，不会自动更新：\nType/Dropdown/Caption: 内容类型清单\nType/Dropdown/Hint: 显示内容类型清单\nType/Delete/Caption: 删除内容类型\nType/Delete/Hint: 删除内容类型\nType/Placeholder: 内容类型\nType/Prompt: 类型：\n"
  },
  {
    "path": "languages/zh-Hans/Exporters.multids",
    "content": "title: $:/language/Exporters/\n\nStaticRiver: 静态 HTML\nJsonFile: JSON 文件\nCsvFile: CSV 文件\nTidFile: TID 文本文件\n"
  },
  {
    "path": "languages/zh-Hans/Fields.multids",
    "content": "title: $:/language/Docs/Fields/\n\n_canonical_uri: 外部图像条目的完整的 URI\nauthor: 一个插件作者的姓名\nbag: 条目的来源集的名称\ncaption: 显示于页签或按钮上的标题文字\ncode-body: 若设置为 ''yes''，视图模板将以程式码形式显示条目\nclass: 渲染条目时，套用到条目的 CSS 类别 - 请参阅[[依自订类别的自订样式|Custom styles by user-class]]。也适用于[[互动窗口|Modals]]\ncolor: 条目的 CSS 颜色值\ncomponent: 负责[[提醒条目|AlertMechanism]]的组件名称\ncore-version: 对于一个插件，表示与其兼容的 TiddlyWiki 版本\ncreated: 条目的创建日期\ncreator: 条目的创建者\ncurrent-tiddler: 用于缓存[[浏览历史列表|HistoryMechanism]]的最上层条目\ndependents: 插件的依赖插件列表\ndescription: 插件的说明、描述\ndraft.of: 草稿条目，包含条目的标题、标签、字段 ...\ndraft.title: 草稿条目的标题\nfooter: 互动窗口的注脚\nhide-body: 若设置为 ''yes''，视图模板将隐藏条目的主体\nicon: 条目的标题含有与条目关联的图标\nlibrary: 若设置为 ''yes''，表示条目应该被保存为一个 JavaScript 程序库\nlist: 条目的列表，指定一些条目的标题清单\nlist-before:当前条目名称将被添加到条目排序清单中的设置条目名称之前，或若此字段存在但是空的，则被添加于清单的前端\nlist-after: 当前条目名称将被添加到条目排序清单的设置条目名称之后，或若此字段存在但是空的，则被添加于清单的尾端\nmodified: 条目的最近修改日期与时间\nmodifier: 条目的最近修改者\nmodule-type: 对于 javascript 条目，指定其为何种模组\nname: 具可读性的插件条目的名称\nparent-plugin: 对于一个插件，指定其为哪个插件的子插件\nplugin-priority: 插件条目的优先级数值\nplugin-type: 插件条目的类型\nstability: 插件的开发状态：已弃用、实验性、稳定或旧版\nreleased: TiddlyWiki 的发布日期\nrevision: 条目存放于服务器中的修订版本\nsource: 条目的网址\nsubtitle: 互动窗口的副标题\ntags: 条目的标签清单\ntext: 条目的内文\nthrottle.refresh: 如果存在，则限制此条目的刷新\ntitle: 条目的唯一名称\ntoc-link: 若设置为 ''no''，则抑制目录树中的条目链接。\ntype: 条目的内容类型\nversion: 插件的版本信息\n_is_skinny: 如果存在，则表示必须从服务器加载条目的文本字段\n"
  },
  {
    "path": "languages/zh-Hans/Filters.multids",
    "content": "title: $:/language/Filters/\n\nAllTiddlers: 所有条目，不含系统条目\nRecentSystemTiddlers: 最近修改的条目，包含系统条目\nRecentTiddlers: 最近修改的条目\nAllTags: 所有标签，不含系统标签\nMissing: 缺失条目\nDrafts: 草稿条目\nOrphans: 孤立条目\nSystemTiddlers: 系统条目\nShadowTiddlers: 默认条目\nOverriddenShadowTiddlers: 被覆盖的默认条目\nSessionTiddlers: 自维基加载后修改的条目\nSystemTags: 系统标签\nStoryList: 故事河中的条目，不含 ~$:/AdvancedSearch\nTypedTiddlers: 非维基文字条目\n"
  },
  {
    "path": "languages/zh-Hans/GettingStarted.tid",
    "content": "title: GettingStarted\n\n\\define lingo-base() $:/language/ControlPanel/Basics/\n\n欢迎来到 ~TiddlyWiki 和 ~TiddlyWiki 社区\n\n开始在 ~TiddlyWiki 中存储重要信息之前，确保能够可靠地保存更改很重要。详情见 https://tiddlywiki.com/#GettingStarted\n\n!! 设置此 ~TiddlyWiki\n\n<div class=\"tc-control-panel\">\n\n|tc-table-no-border tc-first-col-min-width tc-first-link-nowrap|k\n| <$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link>|<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n| <$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link>|<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|^ <$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link><br><<lingo DefaultTiddlers/TopHint>>|<$edit tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\n可在[[控制台|$:/ControlPanel]]查看更多选项。"
  },
  {
    "path": "languages/zh-Hans/Help/build.tid",
    "content": "title: $:/language/Help/build\ndescription: 自动执行已配置的命令\n\n生成指定的生成目标为当前 wiki。若未指定任何生成目标，则生成所有可用的目标。\n\n```\n--build <target> [<target> ...]\n```\n\n生成目标在 wiki 文件夹的 `tiddlywiki.info` 文件中定义。\n"
  },
  {
    "path": "languages/zh-Hans/Help/clearpassword.tid",
    "content": "title: $:/language/Help/clearpassword\ndescription: 清除用于后续加密的密码\n\n清除用于后续加密的密码\n\n```\n--clearpassword\n```\n"
  },
  {
    "path": "languages/zh-Hans/Help/commands.tid",
    "content": "title: $:/language/Help/commands\ndescription: 运行从筛选器传回的命令\n\n按顺序运行从筛选器传回的命令符记\n\n```\n--commands <filter>\n```\n\n示例\n\n```\n--commands \"[enlist:raw{$:/build-commands-as-text}]\"\n```\n\n```\n--commands \"[{$:/build-commands-as-json}jsonindexes[]] :map[{$:/build-commands-as-json}jsonget<currentTiddler>]\"\n```\n"
  },
  {
    "path": "languages/zh-Hans/Help/default.tid",
    "content": "title: $:/language/Help/default\n\n\\define commandTitle()\n$:/language/Help/$(command)$\n\\end\n\\whitespace trim\n```\n用法: tiddlywiki [<wikifolder>] [--<command> [<args>...]...]\n```\n\n可用的命令：\n\n<ul>\n<$list filter=\"[commands[]sort[title]]\" variable=\"command\">\n<li><$link to=<<commandTitle>>><$macrocall $name=\"command\" $type=\"text/plain\" $output=\"text/plain\"/></$link>:\n&#32;\n<$transclude tiddler=<<commandTitle>> field=\"description\"/></li>\n</$list>\n</ul>\n\n取得关于某个命令的详细帮助：\n\n```\ntiddlywiki --help <command>\n```\n"
  },
  {
    "path": "languages/zh-Hans/Help/deletetiddlers.tid",
    "content": "title: $:/language/Help/deletetiddlers\ndescription: 删除一组条目\n\n<<.from-version \"5.1.20\">> 删除由筛选器标识的一组条目。\n\n```\n--deletetiddlers <filter>\n```\n"
  },
  {
    "path": "languages/zh-Hans/Help/editions.tid",
    "content": "title: $:/language/Help/editions\ndescription: 列出可用的 TiddlyWiki 版本\n\n列出可用版本的名称和描述。您可以用 `--init` 命令创建一个指定版本的新维基。\n\n```\n--editions\n```\n"
  },
  {
    "path": "languages/zh-Hans/Help/fetch.tid",
    "content": "title: $:/language/Help/fetch\ndescription: 通过网址从维基提取条目\n\n通过 HTTP/HTTPS 提取一个或多个文件，并导入匹配筛选器的条目，可选的转换传入的名称。\n\n```\n--fetch file <url> <import-filter> <transform-filter>\n--fetch files <url-filter> <import-filter> <transform-filter>\n--fetch raw-file <url> <transform-filter>\n--fetch raw-files <url-filter> <transform-filter>\n```\n\n \"file\" 和 \"files\" 选项提取指定的文件，并尝试导入其中的条目（与将文件拖动到浏览器视窗中的处理相同）。 \"raw-file\" 和 \"raw-files\" 变选项提取指定的文件，并将原始文件资料存储于条目，而不套用导入逻辑。\n\n使用 \"file\" and \"raw-file\" 选项为仅提取单个文件，且第一个参数为要读取文件的网址。\n\n使用 \"files\" 和 \"raw-files\" 选项为提取多个文件，且第一个参数是一个产生要读取文件的网址清单的筛选器。例如，给定标签为 \"remote-server\" 的一组具有字段 \"url\" 的条目，筛选器 `[tag[remote-server]get[url]]` 将取回所有可用的网址。\n\n对于 \"file\" 和 \"files\" 选项，the `<import-filter>` 参数指定一个筛选器，用于确定要导入哪些条目。如果未提供，则默认为 `[all[tiddlers]]`。\n\n对于所有选项，`<transform-filter>` 参数指定一个可选的筛选器，用于转换导入条目的名称。例如，`[addprefix[$:/myimports/]]` 会将前缀  `$:/myimports/` 加至每个名称。\n\n于 `--fetch` 之前使用 `--verbose` 命令，将在导入期间输出进度信息。\n\n请注意，TiddlyWiki 不会提取一个已经加载插件的旧版本。\n\n以下示例从 https://tiddlywiki.com 取回所有非系统条目，并将其保存到一个 JSON 文件：\n\n```\ntiddlywiki --verbose --fetch file \"https://tiddlywiki.com/\" \"[!is[system]]\" \"\" --rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[!is[system]]\"\n```\n\n以下范例从 https://tiddlywiki.com 取回 \"favicon\" 文件，并将其保存在名为 \"output.ico\" 的文件中。请注意，在 \"--fetch\" 命令中引用的中间条目 \"Icon Tiddler\"，因为它被用作转换筛选器来替换预设的名称，而 \"--savetiddler\" 命令没有引号，因为它是直接用作标题。\n\n```\ntiddlywiki --verbose --fetch raw-file \"https://tiddlywiki.com/favicon.ico\" \"[[Icon Tiddler]]\" --savetiddler \"Icon Tiddler\" output.ico\n```\n"
  },
  {
    "path": "languages/zh-Hans/Help/help.tid",
    "content": "title: $:/language/Help/help\ndescription: 显示 TiddlyWiki 命令的说明\n\n显示命令的帮助文本:\n\n```\n--help [<command>]\n```\n\n若省略命令名称，则显示可用命令的清单。\n"
  },
  {
    "path": "languages/zh-Hans/Help/import.tid",
    "content": "title: $:/language/Help/import\ndescription: 从文件导入条目\n\n从 TiddlyWiki 文件 (`.html`)、`.tiddler`、`.tid`、`.json` 或其他本机文件导入条目。必须明确指定解串器，而不像 load 命令，从文件扩展名推断解串器。\n\n```\n--import <filepath> <deserializer> [<title>] [<encoding>]\n```\n\n核心的解串器包括：\n\n* application/javascript\n* application/json\n* application/x-tiddler\n* application/x-tiddler-html-div\n* application/x-tiddlers\n* text/html\n* text/plain\n\n导入的条目名称，默认为文件名。\n\n编码默认为 \"utf8\"，但用于导入二进制文件可以是 \"base64\"。\n\n请注意，TiddlyWiki 不会导入旧版本的已加载插件。\n"
  },
  {
    "path": "languages/zh-Hans/Help/init.tid",
    "content": "title: $:/language/Help/init\ndescription: 初始化一个新的 wiki 文件夹\n\n初始化一个空的 [[WikiFolder|WikiFolders]] 的指定版本的副本。\n\n```\n--init <edition> [<edition> ...]\n```\n\n例如：\n\n```\ntiddlywiki ./MyWikiFolder --init empty\n```\n\n注意：\n\n* 若有需要，将创建 wiki 文件夹目录\n* 其中 \"edition\" 默认为 ''empty''\n* 若 wiki 文件夹不是空的，则初始化命令将失败\n* 初始化命令会删除 'tiddlywiki.info' 文件内所有 'includeWikis' 的定义。\n* 当指定多个版本时，这些版本于初始化后，将覆盖早期版本共用的所有文件 (故此最终的 `tiddlywiki.info` 文件将是从最近的版本复制而得)\n* `--editions` 传回所有可用版本的清单。\n"
  },
  {
    "path": "languages/zh-Hans/Help/listen.tid",
    "content": "title: $:/language/Help/listen\ndescription: 为 TiddlyWiki 提供一个 HTTP 服务器接口\n\n通过 HTTP 提供一个维基服务。\n\nlisten 命令使用[[命名的命令参数|NamedCommandParameters]]：\n\n```\n--listen [<name>=<value>]...\n```\n\n所有参数都是可选的, 具有安全的默认值, 可以按任意顺序指定。认可的参数有:\n\n* ''host'' - 可选的主机名称， (默认为 \"127.0.0.1\" 或名为 \"localhost\")\n* ''path-prefix'' - 可选的路径前缀\n* ''port'' - 侦听的埠号；非数值会被解译为一个系统环境变数，从其中提取埠号 (默认为 \"8080\")\n* ''credentials'' - 凭证 CSV 文件的路径名（相对于维基文件夹）\n* ''anon-username'' - 匿名用户的编辑署名\n* ''username'' - 可选的基础验证用户名称\n* ''password'' - 可选的基础验证密码\n* ''authenticated-user-header'' - 可选的请求标头名称，用于受信任身份验证\n* ''readers'' - 允许读取此维基，以逗号分隔的用户名称的清单\n* ''writers'' - 允许写入此维基，以逗号分隔的用户名称的清单\n* ''csrf-disable'' - 设置为 \"yes\" 以禁用 CSRF 检查 (默认为 \"no\")\n* ''sse-enabled'' - 设置为 \"yes\" 以启用服务器传送的事件 (默认为 \"no\")\n* ''root-tiddler'' - 服务的基础条目 (默认为 \"$:/core/save/all\")\n* ''root-render-type'' - 呈现的基础条目的内容类型 (默认为 \"text/plain\")\n* ''root-serve-type'' - 服务的基础条目的内容类型 (默认为 \"text/html\")\n* ''tls-cert'' - TLS 证书文件的路径名（相对于维基文件夹）\n* ''tls-key'' - TLS 密钥文件的路径名（相对于维基文件夹）\n* ''debug-level'' - 可选的调试级别；设置为 \"debug\" 来查看请求的详细信息；(默认为 \"none\")\n* ''gzip'' - 设为 \"yes\" 以启用某些 http 端点的 gzip 压缩 (默认为 \"no\")\n* ''use-browser-cache'' - 设置为 \"yes\" 允许浏览器缓存响应，以节省带宽（默认为 \"no\")\n\n有关向整个本地网络开启实例的信息，以及可能的安全问题，请参阅 TiddlyWiki.com 的 WebServer 条目。\n"
  },
  {
    "path": "languages/zh-Hans/Help/load.tid",
    "content": "title: $:/language/Help/load\ndescription: 从文件中加载条目\n\n从 TiddlyWiki (`.html`), `.tiddler`, `.tid`, `.json` 或其他本机文件加载条目。应用的处理程序取决于导入文件的扩展名。如果您需要明确指定解串器和编码，请改用 `import` 命令。\n\n```\n--load <filepath> [noerror]\n--load <dirpath> [noerror]\n```\n\n默认情况下, 如果未找到条目，load 命令会引发错误。通过提供可选的 \"noerror\" 参数可以抑制该错误。\n\n从已加密的 TiddlyWiki 文件中加载条目，须使用 PasswordCommand 指定密码，例如：\n\n```\ntiddlywiki ./MyWiki --password pa55w0rd --load my_encrypted_wiki.html\n```\n\n请注意 TiddlyWiki 将不加载旧版本的已挂载的插件。\n"
  },
  {
    "path": "languages/zh-Hans/Help/makelibrary.tid",
    "content": "title: $:/language/Help/makelibrary\ndescription: 构建升级处理所需的程式库插件\n\n为升级处理构建 `$:/UpgradeLibrary` 条目。\n\n升级程式库被格式化为一个插件类型为 `library` 的一般插件条目。它包含 TiddlyWiki5 存储库中所有可用的插件、布局主题和语言包的副本。\n\n此命令仅供内部使用；它只是与使用者构建一个自订的升级程序相关。\n\n```\n--makelibrary <title>\n```\n\n标题参数默认为 `$:/UpgradeLibrary`。\n"
  },
  {
    "path": "languages/zh-Hans/Help/notfound.tid",
    "content": "title: $:/language/Help/notfound\n\n无此帮助项目"
  },
  {
    "path": "languages/zh-Hans/Help/output.tid",
    "content": "title: $:/language/Help/output\ndescription: 设置后续命令的基准输出文件夹\n\n设置后续命令的基准输出文件夹，默认为该版本文件夹的 `output` 子文件夹。\n\n```\n--output <pathname>\n```\n\n若指定的路径是相对路径，则它是被解析相对于当前的工作文件夹。例如：`--output .` 將輸出文件夹設置為當前工作文件夹。"
  },
  {
    "path": "languages/zh-Hans/Help/password.tid",
    "content": "title: $:/language/Help/password\ndescription: 设置用以加密的密码\n\n设置用以加密的密码\n\n```\n--password <password>\n```\n\n''请注意''：这不是用于提供 TiddlyWiki 具有密码保护功能。相反地，请看 [[ServerCommand]] 的密码选项说明。\n"
  },
  {
    "path": "languages/zh-Hans/Help/render.tid",
    "content": "title: $:/language/Help/render\ndescription: 呈现个别条目到文件\n\n呈现由筛选器标识的个别条目，并将结果保存到指定的文件。\n\n可选择性地指定范本条目名称。在此情况下，不是直接呈现每个条目，而是使用设为正在呈现的条目名称的 \"currentTiddler\" 变量，来呈现范本条目。\n\n也可以选择性地指定附加变量的名称和值。\n\n```\n--render <tiddler-filter> [<filename-filter>] [<render-type>] [<template>] [ [<name>] [<value>] ]*\n```\n\n* ''tiddler-filter'': 标识要呈现的条目的筛选器\n* ''filename-filter'': 可选的筛选器，转换条目名称至路径名。如果省略，默认为 `[is[tiddler]addsuffix[.html]]`，其使用未改变的条目名称为文件名\n* ''template'': 可选的范本，用于呈现每个条目\n* ''render-type'': 可选的呈现类型：`text/html` (默认值) 会传回完整的 HTML 文本，而 `text/plain` 只会传回文本内容 (即其忽略 HTML 标记与其他不可印出的数据)\n* ''name'': 可选的变量名称\n* ''value'': 可选的变量值\n\n默认情况下，文件名被解析为相对于发行版文件夹的 `output` 子文件夹。`--output` 命令可用于将输出指到一个不同的文件夹。\n\n附注：\n\n* 输出目录不清除任何现有的文件\n* 文件名的路径中，任何不存在的文件夹，将自动创建。\n* 当正呈现的条目名称中带有空格，请注意同时使用命令行接口所要求的引号，与 TiddlyWiki 的双重方括号：`--render \"[[Motovun Jack.jpg]]\"`\n* 所选的项目被设置为当前正在呈现的条目名称，以此评估文件名筛选器，允条目名称用作基础计算的文件名。例如，`[encodeuricomponent[]addprefix[static/]]` 为每个条目名称套用 URI 编码，然后增加首码 `static/`\n* `--render` 命令是已弃用的 `--rendertiddler` 和 `--rendertiddlers` 的一个更灵活的替代命令。\n\n例子：\n\n* `--render \"[!is[system]]\" \"[encodeuricomponent[]addprefix[tiddlers/]addsuffix[.html]]\"` -- 呈现所有非系统条目为 \"tiddlers\" 子文件夹中的文件，文件名为 URL 编码的条目名称和扩展名 HTML\n* `--render '.' 'tiddlers.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' '[tag[HelloThere]]'` -- 将标签为 \"HelloThere\" 的条目渲染到名为 \"tiddlers.json\" 的 JSON 文件"
  },
  {
    "path": "languages/zh-Hans/Help/rendertiddler.tid",
    "content": "title: $:/language/Help/rendertiddler\ndescription: 呈现个别条目为指定的内容类型\n\n(请注意：`--rendertiddler` 命令已被弃用，而支持新的、更灵活的 `--render` 命令)\n\n呈现个别条目为指定的[[内容类型|ContentType]]，默认为 `text/html` 且保存为指定的文件名。\n\n还可以指定一个模板，在这种情况下，\"currentTiddler\" 变量设为正在呈现的条目 (第一个参数值) 与模板条目合并呈现。\n\n也能可选地指定附加变量的名称与其值。\n\n```\n--rendertiddler <title> <filename> [<type>] [<template>]\n```\n\n默认情况下，文件名被解析为相对于版本文件夹的 `output` 子文件夹。 `--output` 命令可以用于将输出指定到一个不同的文件夹。\n\n自动创建在文件名称的路径中任何缺少的文件夹。\n\n例如，以下命令通过使用核心模板 `$:/core/templates/exporters/JsonFile`，将所有匹配筛选器 `[tag[done]]` 的条目保存到名为 `output.json` 的 JSON 文件。\n\n```\n--rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[tag[done]]\"\n```"
  },
  {
    "path": "languages/zh-Hans/Help/rendertiddlers.tid",
    "content": "title: $:/language/Help/rendertiddlers\ndescription: 呈现符合筛选条件的条目为指定的内容类型\n\n(请注意：`--rendertiddlers` 命令已被弃用，而支持新的、更灵活的 `--render` 命令)\n\n呈现符合筛选条的条目为指定的[[内容类型|ContentType]] (默认为 `text/html`) 与扩展名 (默认为 `.html`).\n\n```\n--rendertiddlers '<filter>' <template> <pathname> [<type>] [<extension>] [\"noclean\"]\n```\n\n例如：\n\n```\n--rendertiddlers '[!is[system]]' $:/core/templates/static.tiddler.html ./static text/plain\n```\n\n默认情况下，路径名被解析为相对于版本文件夹的 `output` 子文件夹。 `--output` 命令可以用于将输出指定到一个不同的文件。\n\n在目标文件夹中的任何文件都会被删除，除非指定 ''noclean'' 旗标。若缺少目标文件夹，则以递归方式创建。"
  },
  {
    "path": "languages/zh-Hans/Help/save.tid",
    "content": "title: $:/language/Help/save\ndescription: 将个别原始条目保存到文件\n\n将筛选器标识的个别条目，以原始文本或二进位格式，保存到指定的文件。\n\n```\n--save <tiddler-filter> <filename-filter>\n```\n\n* ''tiddler-filter'': 标识要保存的条目的筛选器\n* ''filename-filter'': 可选的筛选器，转换条目名称至路径名。如果省略，默认为 `[is[tiddler]]`，其使用未改变的条目名称为文件名\n\n附注：\n\n* 输出文件夹不清除任何现有的文件\n* 文件名的路径中，任何不存在的文件夹，将自动创建。\n* 当正保存的条目的名称中带有空格，请注意同时使用命令行接口所要求的引号，与 TiddlyWiki 的双重方括号：`--save \"[[Motovun Jack.jpg]]\"`\n* 所选的项目被设置为当前正在保存的条目名称，以此评估文件名筛选器，允条目名称用作基础计算的文件名。例如，`[encodeuricomponent[]addprefix[static/]]` 为每个条目名称套用 URI 编码，然后增加首码 `static/`\n* `--save` 命令是已被弃用的 `--savetiddler` 和 `--savetiddlers` 的一个更灵活的替代命令。\n\n例子：\n\n* `--save \"[!is[system]is[image]]\" \"[encodeuricomponent[]addprefix[tiddlers/]]\"` -- 保存所有非系统的图像条目为 \"tiddlers\" 子文件夹中的文件，文件名为 URL 编码的条目名称"
  },
  {
    "path": "languages/zh-Hans/Help/savetiddler.tid",
    "content": "title: $:/language/Help/savetiddler\ndescription: 将条目的原始内容保存到一个文件\n\n(请注意：`--savetiddler` 命令已被弃用，而支持新的、更灵活的 `--save` 命令)\n\n保存个别条目的原始文本或二进制格式到指定的文件名。\n\n```\n--savetiddler <title> <filename>\n```\n\n默认情况下，文件名被解析为相对于版本文件夹的 `output` 子文件夹。 `--output` 命令可以用于将输出指定到一个不同的文件。\n\n自动创建在文件名称的路径中任何缺少的文件夹。\n"
  },
  {
    "path": "languages/zh-Hans/Help/savetiddlers.tid",
    "content": "title: $:/language/Help/savetiddlers\ndescription: 将一群条目的原始内容保存到一个文件夹\n\n(请注意：`--savetiddlers` 命令已被弃用，而支持新的、更灵活的 `--save` 命令)\n\n保存一群条目的原始文字或二进制格式到指定的文件夹。\n\n```\n--savetiddlers <filter> <pathname> [noclean]\n```\n\n默认情况下，路径名被解析为相对于版本文件夹的 `output` 子文件夹。 `--output` 命令可以用于将输出指定到一个不同的文件夹。\n\n保存指定的文件之前，会先清除输出目录的现有文件。可藉由指定 ''noclean'' 旗标，禁用该删除操作。\n\n自动创建在路径中任何缺少的文件夹。\n"
  },
  {
    "path": "languages/zh-Hans/Help/savewikifolder.tid",
    "content": "title: $:/language/Help/savewikifolder\ndescription: 将维基保存到一个新的维基文件夹\n\n<<.from-version \"5.1.20\">> 将当前维基保存为一个维基文件夹，包含条目、插件和配置：\n\n```\n--savewikifolder <wikifolderpath> [<filter>] [ [<name>=<value>] ]*\n```\n\n* 目标维基文件夹必须为空或不存在\n* 筛选器指定应包括哪些条目。其为可选，默认为 `[all[tiddlers]]`\n* 官方插件库中的插件，将替换为 `tiddlywiki.info` 文件中引用到的插件\n* 自订插件将解压缩到自己的文件夹中\n\n支持以下选项：\n\n* ''filter''：定义要包含在输出中的条目的筛选器操作符。\n* ''explodePlugins'': 默认为 \"yes\"\n** ''yes'' 将 \"分解\" 插件为单独的条目文件，并将其保存到维基文件夹内的插件目录中\n** ''no'' 将抑制分解插件到其组成的条目文件中。它将把插件保存为 tiddlers 文件夹中的单个 JSON 条目\n\n请注意，两个 ''explodePlugins'' 选项都会生成构建完全相同的原始维基的维基文件夹。区别在于插件在维基文件夹中的表示方式。\n\n常见的用法是将一个 TiddlyWiki HTML 文件转换成维基文件夹:\n\n```\ntiddlywiki --load ./mywiki.html --savewikifolder ./mywikifolder\n```\n\n将插件保存到目标维基文件夹的 tiddlers 目录中：\n\n```\ntiddlywiki --load ./mywiki.html --savewikifolder ./mywikifolder explodePlugins=no\n``` "
  },
  {
    "path": "languages/zh-Hans/Help/server.tid",
    "content": "title: $:/language/Help/server\ndescription: （已弃用：请参阅 'listen' 命令）提供一个 HTTP 服务器界面到 TiddlyWiki\n\n在服务器中内置 TiddlyWiki5 是非常简单。虽与 TiddlyWeb 兼容，但不支持许多健全互联网面向的使用方式所需的功能。\n\n提供呈现一个指定条目，也可将个别条目编码成 JSON，且支持基础的 HTTP 操作 `GET`、`PUT` 及 `DELETE`.\n\n```\n--server <port> <root-tiddler> <root-render-type> <root-serve-type> <username> <password> <host> <path-prefix> <debug-level>\n```\n\n参数说明：\n\n* ''port'' - 要侦听的埠号；非数值会被解译为一个系统环境变数，从其中提取埠号 (默认为 \"8080\")\n* ''root-tiddler'' - 服务的基础条目 (默认为 \"$:/core/save/all\")\n* ''root-render-type'' - 呈现的基础条目的内容类型 (默认为 \"text/plain\")\n* ''root-serve-type'' - 服务的基础条目的内容类型 (默认为 \"text/html\")\n* ''username'' - 默认的编辑者署名\n* ''password'' - 可选的基础验证密码\n* ''host'' - 可选的主机名称， (默认为 \"127.0.0.1\" 或名为 \"localhost\")\n* ''path-prefix'' - 可选的路径前缀\n* ''debug-level'' - 可选的调试级别；设置为 \"debug\" 来查看请求的详细信息；(默认为 \"none\")\n\n若指定密码参数，浏览器将提示使用者输入用户名与密码。注意，密码系以明码方式传递，应只在受信任的网络或 HTTPS 上使用。\n\n例如：\n\n```\n--server 8080 $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n\n若您需要设置主机名称或路径前缀，而不要求输入密码，则可以指定空字符串的使用者名和密码。\n\n```\n--server 8080 $:/core/save/all text/plain text/html \"\" \"\" 192.168.0.245\n```\n\n使用这样的位址，会将您的系统暴露给本地网络。有关向整个本地网络开启实例的信息，以及可能的安全问题，请参阅 TiddlyWiki.com 的 WebServer 条目。\n\n同时执行多个 TiddlyWiki 服务，须分别指定不同的埠号。使用环境变数，有助于将埠号传递给 Node.js 进程。本示例引用一个名为 \"MY_PORT_NUMBER\" 的环境变数:\n\n```\n--server MY_PORT_NUMBER $:/core/save/all text/plain text/html MyUserName passw0rd\n```"
  },
  {
    "path": "languages/zh-Hans/Help/setfield.tid",
    "content": "title: $:/language/Help/setfield\ndescription: 准备用于外部条目\n\n//请注意此命令是试验性的，且可能会更改或在最终定稿前被替换//\n\n设置一群条目的指定字段到 wikifying 范本条目的结果，其中的  `currentTiddler` 变数设置为各该条目。\n\n```\n--setfield <filter> <fieldname> <templatetitle> <rendertype>\n```\n\n参数说明：\n\n* ''filter'' - 受影响的辨识条目的筛选条件\n* ''fieldname'' - 要修改的字段（默认为 \"text\"）\n* ''templatetitle'' - 该条目 wikify 到指定字段。若为空白或丢失，则删除指定的字段\n* ''rendertype'' - 要呈现的文本类型（默认为 \"text/plain\"; \"text/html\" 可以用于包含 HTML 标记)）\n"
  },
  {
    "path": "languages/zh-Hans/Help/unpackplugin.tid",
    "content": "title: $:/language/Help/unpackplugin\ndescription: 从插件解开附属的条目\n\n提取插件的附属条目，将其建立为一般条目：\n\n```\n--unpackplugin <title>\n```\n"
  },
  {
    "path": "languages/zh-Hans/Help/verbose.tid",
    "content": "title: $:/language/Help/verbose\ndescription: 触发详细的输出模式\n\n触发显示详细的命令执行过程，可用于调试\n\n```\n--verbose\n```\n"
  },
  {
    "path": "languages/zh-Hans/Help/version.tid",
    "content": "title: $:/language/Help/version\ndescription: 显示 TiddlyWiki 的版本编号\n\n显示 TiddlyWiki 的版本编号。\n\n```\n--version\n```\n"
  },
  {
    "path": "languages/zh-Hans/Import.multids",
    "content": "title: $:/language/Import/\n\nEditor/Import/Heading: 导入图像并将其插入至编辑器。\nImported/Hint:  下列条目已被导入：\nListing/Cancel/Caption: 取消\nListing/Cancel/Warning: 您要取消导入吗？\nListing/Hint: 这些条目已备妥导入：\nListing/Import/Caption: 导入\nListing/Select/Caption: 选择\nListing/Status/Caption: 状态\nListing/Title/Caption: 条目\nListing/Preview: 预览：\nListing/Preview/Text: 文本\nListing/Preview/TextRaw: 文本 (原始)\nListing/Preview/Fields: 字段\nListing/Preview/Diff: 差异\nListing/Preview/DiffFields: 差异 (字段)\nListing/Rename/Prompt: 重新命名为：\nListing/Rename/Tooltip: 导入前重新命名条目\nListing/Rename/ConfirmRename: 重新命名条目\nListing/Rename/CancelRename: 取消\nListing/Rename/OverwriteWarning: 具有此标题的条目已存在。\nUpgrader/Plugins/Suppressed/Incompatible: 封锁的不兼容或过时插件。\nUpgrader/Plugins/Suppressed/Version: 封锁的插件 (由于传入的 <<incoming>> 不比现有版本 <<existing>> 新)。\nUpgrader/Plugins/Upgraded: 升级插件，从 <<incoming>> 到 <<upgraded>>。\nUpgrader/State/Suppressed: 封锁的暂存状态条目。\nUpgrader/System/Disabled: 已禁用系統条目。\nUpgrader/System/Suppressed: 封锁的系统条目。\nUpgrader/System/Warning: 核心模块条目。\nUpgrader/System/Alert: 您即将导入一个条目会覆盖一个核心模块条目。不建议这样做，因为可能会使系统不稳定。\nUpgrader/ThemeTweaks/Created: 从 <$text text=<<from>>/> 迁移布局主题。\nUpgrader/Tiddler/Disabled: 已禁用系統条目。\nUpgrader/Tiddler/Selected: 选定的条目。\nUpgrader/Tiddler/Unselected: 未选定的条目。"
  },
  {
    "path": "languages/zh-Hans/Misc.multids",
    "content": "title: $:/language/\n\nAlerts: 警报信息\nAboveStory/ClassicPlugin/Warning: 您似乎要加载为 ~TiddlyWiki 经典版设计的插件。请注意，[[这些插件无法运行于 TiddlyWiki 5.x.x 版|https://tiddlywiki.com/#TiddlyWikiClassic]]。检测到 ~TiddlyWiki 经典版插件：\nBinaryWarning/Prompt: 此条目包含二进制数据\nClassicWarning/Hint: 此条目以经典版 TiddlyWiki 标记格式撰写，不完全兼容新版 TiddlyWiki 的格式，详细信息请参阅：https://tiddlywiki.com/static/Upgrading。\nClassicWarning/Upgrade/Caption: 升级\nCloseAll/Button: 全部关闭\nColourPicker/Recent: 最近︰\nConfirmCancelTiddler: 您确定要取消对条目 \"<$text text=<<title>>/>\" 的更改？\nConfirmDeleteTiddler: 您确定要删除条目 \"<$text text=<<title>>/>\"？\nConfirmDeleteTiddlers: 您确定要删除 <<resultCount>> 个条目？\nConfirmOverwriteTiddler: 您确定要覆盖条目 \"<$text text=<<title>>/>\"？\nConfirmEditShadowTiddler: 您即将要编辑默认条目，任何更改将会覆盖默认的系统，使未来的升级不寻常。您确定要编辑 \"<$text text=<<title>>/>\"?\nConfirmAction: 是否要继续？\nCount: 计数\nDefaultNewTiddlerTitle: 新条目\nDiffs/CountMessage: <<diff-count>> 个差异\nDropMessage: 现在放下（或按 ESC 键取消）\nEncryption/Cancel: 取消\nEncryption/ConfirmClearPassword: 您要清除密码吗？当保存此维基时，这将删除已套用的加密\nEncryption/Username: 用户名称\nEncryption/Password: 密码\nEncryption/PromptSetPassword: 为此 TiddlyWiki 设置一个新密码\nEncryption/RepeatPassword: 重复输入密码\nEncryption/PasswordNoMatch: 密码不匹配\nEncryption/SetPassword: 设定密码\nError/Caption: 错误\nError/DeserializeOperator/MissingOperand: 筛选器错误：'deserialize' 运算符缺少运算元\nError/DeserializeOperator/UnknownDeserializer: 筛选器错误：未知的解串器被提供为 'deserialize' 运算符的操作数\nError/Filter: 筛选器错误\nError/FilterRunPrefix: 筛选器错误：筛选器 run 的未知首码\nError/FilterSyntax: 筛选器运算式中的语法错误\nError/FormatFilterOperator: 筛选器错误：`format` 筛选器运算符的未知尾码\nError/IsFilterOperator: 筛选器错误︰'is' 筛选器运算子的未知参数\nError/LoadingPluginLibrary: 加载插件库时，发生错误\nError/NetworkErrorAlert: `<h2>''网络错误''</h2>与服务器的连缐似乎已中断。这可能表示您的网络连缐有问题。请尝试恢复网路连缐才能继续。<br><br>''恢复连缐时，所有未保存的更改，将自动同步''。`\nError/PutEditConflict: 服务器上的文件已更改\nError/PutForbidden: 没有权限\nError/PutUnauthorized: 需要身分验证\nError/RecursiveTransclusion: 于 transclude 小部件中的递归嵌入错误\nError/RetrievingSkinny: 简要条目清单提取错误\nError/SavingToTWEdit: 保存到 TWEdit 时，发生错误\nError/WhileSaving: 保存时，发生错误\nError/XMLHttpRequest: XMLHttpRequest 错误代码\nError/ZoominTextNode: 故事视图错误：您似乎尝试与显示在自定义容器中的条目进行交互。这很可能是由于将 `$:/tags/StoryTiddlerTemplateFilter` 与开头包含文本或空格的模板一起使用引起的。请使用编译指示 `\\whitespace trim`，并确保条目的全部内容都包含在单个 HTML 元素中。导致此问题的文本：\nInternalJavaScriptError/Title: 内部的 JavaScript 错误\nInternalJavaScriptError/Hint: 喔，真是令人尴尬。建议刷新您的浏览器，重新启动 TiddlyWiki\nLayoutSwitcher/Description: 打开布局切换器\nLazyLoadingWarning: <p>正在从 ''<$text text={{!!_canonical_uri}}/>'' 加载外部内容 ...</p><p>如果此信息未消失，可能是条目内容类型与外部内容的类型不匹配，或是您可能正在使用的浏览器，不支援单文件式维基的外部内容。请参阅 https://tiddlywiki.com/#ExternalText</p>\nLoginToTiddlySpace: 登录 TiddlySpace\nManager/Controls/FilterByTag/None: (无)\nManager/Controls/FilterByTag/Prompt: 按标签筛选︰\nManager/Controls/Order/Prompt: 反向顺序\nManager/Controls/Search/Placeholder: 搜索\nManager/Controls/Search/Prompt: 搜索︰\nManager/Controls/Show/Option/Tags: 标签\nManager/Controls/Show/Option/Tiddlers: 条目\nManager/Controls/Show/Prompt: 显示︰\nManager/Controls/Sort/Prompt: 排序︰\nManager/Item/Colour: 颜色\nManager/Item/Fields: 字段\nManager/Item/Icon/None: (无)\nManager/Item/Icon: 图标\nManager/Item/RawText: 原始文字\nManager/Item/Tags: 标签\nManager/Item/Tools: 工具\nManager/Item/WikifiedText: Wikified 文字\nMissingTiddler/Hint: 佚失条目 \"<$text text=<<currentTiddler>>/>\" - 点击 {{||$:/core/ui/Buttons/edit}} 可创建此条目\nNo: 否\nOfficialPluginLibrary: ~TiddlyWiki 官方插件库\nOfficialPluginLibrary/Hint: 此为在 tiddlywiki.com 的 ~TiddlyWiki 官方插件库。由核心团队维护的插件、主题和语言包。\nPageTemplate/Description: 默认的太微布局\nPageTemplate/Name: 标准布局\nPluginReloadWarning: 请保存 {{$:/core/ui/Buttons/save-wiki}} 并刷新页面 {{$:/core/ui/Buttons/refresh}} ，使 ~JavaScript 插件的更改生效\nRecentChanges/DateFormat: YYYY年0MM月0DD日\nShortcuts/Input/Accept/Hint: 接受选取的项目\nShortcuts/Input/AcceptVariant/Hint: 接受选取项目 (变种)\nShortcuts/Input/AdvancedSearch/Hint: 从侧边栏搜索字段内打开[[进阶搜索|$:/AdvancedSearch]]面板\nShortcuts/Input/Cancel/Hint: 清除输入字段\nShortcuts/Input/Down/Hint: 选择下一个项目\nShortcuts/Input/Tab-Left/Hint: 选择上一个页签\nShortcuts/Input/Tab-Right/Hint: 选择下一个页签\nShortcuts/Input/Up/Hint: 选择前一个项目\nShortcuts/SidebarLayout/Hint: 更改侧边栏布局\nSwitcher/Subtitle/theme: 切换布局主题\nSwitcher/Subtitle/layout: 切换布局\nSwitcher/Subtitle/language: 切换语言\nSwitcher/Subtitle/palette: 切换调色板\nSystemTiddler/Tooltip: 此为系统条目\nSystemTiddlers/Include/Prompt: 包括系统条目\nTagManager/Colour/Heading: 颜色\nTagManager/Count/Heading: 计数\nTagManager/Icon/Heading: 图标\nTagManager/Icons/None: 无\nTagManager/Info/Heading: 信息\nTagManager/Tag/Heading: 标签\nTiddler/DateFormat: YYYY年0MM月0DD日 0hh:0mm\nUnsavedChangesWarning: 在此 TiddlyWiki 您有尚未保存的变动\nYes: 是\n"
  },
  {
    "path": "languages/zh-Hans/Modals/Download.tid",
    "content": "title: $:/language/Modals/Download\ntype: text/vnd.tiddlywiki\nsubtitle: Download changes\nfooter: <$button message=\"tm-close-tiddler\">关闭</$button>\nhelp: https://tiddlywiki.com/\n\n您的浏览器只支援手动保存。\n\n要保存更动的维基，右键点击下方的下载链结，选择\"下载文件\"或\"保存文件\"，然后选择文件夹或文件名。\n\n//您可以藉由按一下 Ctrl 键（Windows）或 options/ alt 键（Mac OS X）中的链接，稍微加速操作。您不会被提示文件夹或文件名，您的浏览器可能无法辨认它的文件名 -- 在做其他任何事之前，您可能需要重新命名扩展名为 `.html` 的文件。//\n\n在智能型手机上，不允许下载文件，但您可以标记链结，然后从一台可以正常保存维基的台式机的维基同步你的书签。"
  },
  {
    "path": "languages/zh-Hans/NewJournal.multids",
    "content": "title: $:/config/NewJournal/\n\nTitle: YYYY年0MM月0DD日\nText:\n"
  },
  {
    "path": "languages/zh-Hans/NewJournalTags.tid",
    "content": "title: $:/config/NewJournal/Tags\n\n日志\n"
  },
  {
    "path": "languages/zh-Hans/Notifications.multids",
    "content": "title: $:/language/Notifications/\n\nSave/Done: 已保存 wiki\nSave/Starting: 开始保存 wiki\nCopiedToClipboard/Succeeded: 已复制到剪贴板！\nCopiedToClipboard/Failed: 无法复制到剪贴板！\n"
  },
  {
    "path": "languages/zh-Hans/Search.multids",
    "content": "title: $:/language/Search/\n\nDefaultResults/Caption: 列表\nFilter/Caption: 筛选\nFilter/Hint: 以[[筛选表达式|https://tiddlywiki.com/static/Filters.html]]搜索\nFilter/Matches: //<small><<resultCount>> 个条目符合条件</small>//\nMatches: //<small><<resultCount>> 个条目符合条件</small>//\nMatches/All: 所有匹配：\nMatches/NoMatch: //无匹配//\nMatches/NoResult: //找不到//\nMatches/Title: 条目名称匹配：\nSearch: 搜索\nSearch/TooShort: 搜索文本太短\nShadows/Caption: 默认\nShadows/Hint: 搜索默认条目\nShadows/Matches: //<small><<resultCount>> 个条目符合条件</small>//\nStandard/Caption: 标准\nStandard/Hint: 搜索一般条目\nStandard/Matches: //<small><<resultCount>> 个条目符合条件</small>//\nSystem/Caption: 系统\nSystem/Hint: 搜索系统条目\nSystem/Matches: //<small><<resultCount>> 个条目符合条件</small>//\n"
  },
  {
    "path": "languages/zh-Hans/SideBar.multids",
    "content": "title: $:/language/SideBar/\n\nAll/Caption: 全部\nCaption: 侧边栏\nContents/Caption: 目录\nDrafts/Caption: 草稿\nExplorer/Caption: 探索\nMissing/Caption: 缺失\nMore/Caption: 更多\nOpen/Caption: 开启\nOrphans/Caption: 孤立\nRecent/Caption: 最近\nShadows/Caption: 默认\nSystem/Caption: 系统\nTags/Caption: 标签\nTags/Untagged/Caption: 未设标签\nTools/Caption: 工具\nTypes/Caption: 类型\n"
  },
  {
    "path": "languages/zh-Hans/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\n卡片式个人网页笔记"
  },
  {
    "path": "languages/zh-Hans/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\n我的 TiddlyWiki"
  },
  {
    "path": "languages/zh-Hans/Snippets/FunctionDefinition.tid",
    "content": "title: $:/language/Snippets/FunctionDefinition\ntags: $:/tags/TextEditor/Snippet\ncaption: 函数定义\n\n\\function f.name(param1,param2:\"默认值\") [<param1>!is[blank]else<param2>]\n\n<<f.name>>\n"
  },
  {
    "path": "languages/zh-Hans/Snippets/ListByTag.tid",
    "content": "title: $:/language/Snippets/ListByTag\ntags: $:/tags/TextEditor/Snippet\ncaption: 按标签筛选的条目列表\n\n<<list-links \"[tag[task]sort[title]]\">>\n"
  },
  {
    "path": "languages/zh-Hans/Snippets/MacroDefinition.tid",
    "content": "title: $:/language/Snippets/MacroDefinition\ntags: $:/tags/TextEditor/Snippet\ncaption: 宏的定义\n\n\\define macroName(param1:\"默认值\",param2)\n宏的内容\n\\end\n"
  },
  {
    "path": "languages/zh-Hans/Snippets/ProcedureDefinition.tid",
    "content": "title: $:/language/Snippets/ProcedureDefinition\ntags: $:/tags/TextEditor/Snippet\ncaption: 程序定义\n\n\\procedure procName(param1:\"默认值\",param2)\n这里就是您的文本了。\n\\end\n"
  },
  {
    "path": "languages/zh-Hans/Snippets/Table 4x3.tid",
    "content": "title: $:/language/Snippets/Table4x3\ntags: $:/tags/TextEditor/Snippet\ncaption: 4 x 3 的表格\n\n|! | !一 | !二 | !三 | !四 |\n|! 1| | | | |\n|! 2| | | | |\n|! 3 | | | | |\n"
  },
  {
    "path": "languages/zh-Hans/Snippets/TableOfContents.tid",
    "content": "title: $:/language/Snippets/TableOfContents\ntags: $:/tags/TextEditor/Snippet\ncaption: 目录\n\n<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'TableOfContents'>>\n\n</div>"
  },
  {
    "path": "languages/zh-Hans/ThemeTweaks.multids",
    "content": "title: $:/language/ThemeTweaks/\n\nThemeTweaks: 主题调整\nThemeTweaks/Hint: 您可以调整 ''Vanilla'' 布局主题的某些样貌。\nOptions: 选项\nOptions/SidebarLayout: 侧边栏布局\nOptions/SidebarLayout/Fixed-Fluid: 固定故事，浮动侧边栏\nOptions/SidebarLayout/Fluid-Fixed: 浮动故事，固定侧边栏\nOptions/StickyTitles: 置顶标题\nOptions/StickyTitles/Hint: 使条目名称吸顶\nOptions/CodeWrapping: 在代码区块中换行\nSettings: 设置\nSettings/FontFamily: 字型\nSettings/CodeFontFamily: 代码字型\nSettings/EditorFontFamily: 编辑器字型\nSettings/BackgroundImage: 页面背景图像\nSettings/BackgroundImageAttachment: 页面背景图像附属\nSettings/BackgroundImageAttachment/Scroll: 随条目滚动\nSettings/BackgroundImageAttachment/Fixed: 固定于窗口\nSettings/BackgroundImageSize: 页面背景图像大小\nSettings/BackgroundImageSize/Auto: 自动\nSettings/BackgroundImageSize/Cover: 覆盖\nSettings/BackgroundImageSize/Contain: 包含\nMetrics: 大小\nMetrics/FontSize: 字体大小\nMetrics/LineHeight: 行高\nMetrics/BodyFontSize: 条目本文的字体大小\nMetrics/BodyLineHeight: 条目本文的行高\nMetrics/StoryLeft: 故事左侧位置\nMetrics/StoryLeft/Hint: 故事河（条目区）的左边缘与页面左端的间距\nMetrics/StoryTop: 故事顶部位置\nMetrics/StoryTop/Hint: 故事河（条目区）的上边缘与页面顶部的间距\nMetrics/StoryRight: 故事右侧位置\nMetrics/StoryRight/Hint: 侧边栏的左边缘与页面左端的间距\nMetrics/StoryWidth: 故事的宽度\nMetrics/StoryWidth/Hint: 故事河的整体宽度\nMetrics/TiddlerWidth: 条目宽度\nMetrics/TiddlerWidth/Hint: 在故事河内\nMetrics/SidebarBreakpoint: 侧边栏中断点\nMetrics/SidebarBreakpoint/Hint: 故事河和侧边栏会并排显示的最小页面宽度\nMetrics/SidebarWidth: 侧边栏宽度\nMetrics/SidebarWidth/Hint: 在 浮动故事，固定侧边栏 布局中，侧边栏的宽度\n"
  },
  {
    "path": "languages/zh-Hans/TiddlerInfo.multids",
    "content": "title: $:/language/TiddlerInfo/\n\nAdvanced/Caption: 高级\nAdvanced/PluginInfo/Empty/Hint: 无信息\nAdvanced/PluginInfo/Heading: 插件明细\nAdvanced/PluginInfo/Hint: 此插件包含以下预设条目：\nAdvanced/ShadowInfo/Heading: 默认条目状态\nAdvanced/ShadowInfo/NotShadow/Hint: <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> 不是一个默认条目\nAdvanced/ShadowInfo/Shadow/Hint: <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> 是一个默认条目\nAdvanced/ShadowInfo/Shadow/Source: 此条目定义于插件 <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>\nAdvanced/ShadowInfo/OverriddenShadow/Hint: 已被一般条目覆盖\nFields/Caption: 字段\nList/Caption: 列表\nList/Empty: 此条目无指定列表\nListed/Caption: 被列于\nListed/Empty: 此条目未出现于其他条目的列表中\nReferences/Caption: 反向链接\nReferences/Empty: 无条目链接至此\nTagging/Caption: 子条目\nTagging/Empty: 无任何条目以此条目之标题为标签\nTools/Caption: 工具\n"
  },
  {
    "path": "languages/zh-Hans/Types/application_javascript.tid",
    "content": "title: $:/language/Docs/Types/application/javascript\ndescription: JavaScript 源码\nname: application/javascript\ngroup: 开发者\n"
  },
  {
    "path": "languages/zh-Hans/Types/application_json.tid",
    "content": "title: $:/language/Docs/Types/application/json\ndescription: JSON 数据\nname: application/json\ngroup: 开发者\n"
  },
  {
    "path": "languages/zh-Hans/Types/application_x_tiddler_dictionary.tid",
    "content": "title: $:/language/Docs/Types/application/x-tiddler-dictionary\ndescription: 数据字典\nname: application/x-tiddler-dictionary\ngroup: 开发者\n"
  },
  {
    "path": "languages/zh-Hans/Types/image_gif.tid",
    "content": "title: $:/language/Docs/Types/image/gif\ndescription: GIF 图像\nname: image/gif\ngroup: 图像\n"
  },
  {
    "path": "languages/zh-Hans/Types/image_jpeg.tid",
    "content": "title: $:/language/Docs/Types/image/jpeg\ndescription: JPEG 图像\nname: image/jpeg\ngroup: 图像\n"
  },
  {
    "path": "languages/zh-Hans/Types/image_png.tid",
    "content": "title: $:/language/Docs/Types/image/png\ndescription: PNG 图像\nname: image/png\ngroup: 图像\n"
  },
  {
    "path": "languages/zh-Hans/Types/image_svg_xml.tid",
    "content": "title: $:/language/Docs/Types/image/svg+xml\ndescription: SVG 图像\nname: image/svg+xml\ngroup: 图像\n"
  },
  {
    "path": "languages/zh-Hans/Types/text_css.tid",
    "content": "title: $:/language/Docs/Types/text/css\ndescription: 静态样式\nname: text/css\ngroup: 开发者\n"
  },
  {
    "path": "languages/zh-Hans/Types/text_html.tid",
    "content": "title: $:/language/Docs/Types/text/html\ndescription: HTML 标记\nname: text/html\ngroup: 文本\n"
  },
  {
    "path": "languages/zh-Hans/Types/text_plain.tid",
    "content": "title: $:/language/Docs/Types/text/plain\ndescription: 纯文本\nname: text/plain\ngroup: 文本\n"
  },
  {
    "path": "languages/zh-Hans/Types/text_vnd.tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/vnd.tiddlywiki\ndescription: TiddlyWiki 5\nname: text/vnd.tiddlywiki\ngroup: 文本\n"
  },
  {
    "path": "languages/zh-Hans/Types/text_vnd.tiddlywiki_multiple.tid",
    "content": "title: $:/language/Docs/Types/text/vnd.tiddlywiki-multiple\ndescription: 复合条目\nname: text/vnd.tiddlywiki-multiple\ngroup: 开发者\ngroup-sort: 2\n"
  },
  {
    "path": "languages/zh-Hans/config.multids",
    "content": "title: $:/config/\n\nSearch/MinLength: 1\n"
  },
  {
    "path": "languages/zh-Hans/plugin.info",
    "content": "{\n\t\"title\": \"$:/languages/zh-Hans\",\n\t\"name\": \"zh-Hans\",\n\t\"plugin-type\": \"language\",\n\t\"description\": \"简体中文\",\n\t\"author\": \"BramChen\",\n\t\"core-version\": \">=5.0.8\",\n\t\"plugin-priority\": 100\n}\n"
  },
  {
    "path": "languages/zh-Hant/Buttons.multids",
    "content": "title: $:/language/Buttons/\n\nAdvancedSearch/Caption: 進階搜尋\nAdvancedSearch/Hint: 進階搜尋\nCancel/Caption: 取消\nCancel/Hint: 放棄對此條目的更改\nClone/Caption: 複製\nClone/Hint: 複製此條目\nClose/Caption: 關閉\nClose/Hint: 關閉此條目\nCloseAll/Caption: 全部關閉\nCloseAll/Hint: 關閉所有條目\nCloseOthers/Caption: 關閉其他\nCloseOthers/Hint: 關閉其他條目\nControlPanel/Caption: 控制台\nControlPanel/Hint: 開啟控制台\nCopyToClipboard/Caption: 複製到剪貼簿\nCopyToClipboard/Hint: 將此文字複製到剪貼簿\nDelete/Caption: 刪除\nDelete/Hint: 刪除此條目\nDeleteTiddlers/Caption: 刪除條目\nDeleteTiddlers/Hint: 刪除條目\nEdit/Caption: 編輯\nEdit/Hint: 編輯此條目\nEncryption/Caption: 加密\nEncryption/Hint: 設定或清除儲存此維基的密碼\nEncryption/ClearPassword/Caption: 清除密碼\nEncryption/ClearPassword/Hint: 清除密碼且不加密儲存此維基\nEncryption/SetPassword/Caption: 設定密碼\nEncryption/SetPassword/Hint: 設定加密儲存此維基的密碼\nEmergencyDownload/Caption: 下載條目為 json\nExportPage/Caption: 導出所有條目\nExportPage/Hint: 導出所有條目\nExportTiddler/Caption: 導出此條目\nExportTiddler/Hint: 導出此條目\nExportTiddlers/Caption: 導出條目\nExportTiddlers/Hint: 導出條目\nSidebarSearch/Hint: 選擇側邊欄的搜尋欄位\nFold/Caption: 收合條目\nFold/Hint: 收合此條目的內容\nFold/FoldBar/Caption: 收合條\nFold/FoldBar/Hint: 可選的收合與展開條目的長條按鈕\nUnfold/Caption: 展開條目\nUnfold/Hint: 展開此條目的內容\nFoldOthers/Caption: 收合其他條目\nFoldOthers/Hint: 收合其他已開啟條目的內容\nFoldAll/Caption: 收合所有條目\nFoldAll/Hint: 收合所有已開啟條目的內容\nUnfoldAll/Caption: 展開所有條目\nUnfoldAll/Hint: 展開所有已開啟條目的內容\nFullScreen/Caption: 全螢幕\nFullScreen/Hint: 進入或離開全螢幕模式\nHelp/Caption: 說明\nHelp/Hint: 顯示說明中心\nHome/Caption: 首頁\nHome/Hint: 開啟首頁條目\nImport/Caption: 導入\nImport/Hint: 導入許多類型的檔案包括文字、圖像、~TiddlyWiki 或 JSON\nInfo/Caption: 資訊\nInfo/Hint: 顯示此條目的資訊\nLanguage/Caption: 語言\nLanguage/Hint: 選擇使用者介面語言\nLayoutSwitcher/Hint: 開啟版面切換器\nLayoutSwitcher/Caption: 版面\nManager/Caption: 條目管理器\nManager/Hint: 開啟條目管理器\nMore/Caption: 更多\nMore/Hint: 更多動作\nNewHere/Caption: 新增子條目\nNewHere/Hint: 建立一個標籤為此條目名稱的新條目\nNetworkActivity/Caption: 網路活動\nNetworkActivity/Hint: 取消所有網路活動\nNewJournal/Caption: 新增日誌\nNewJournal/Hint: 建立一個新的日誌條目\nNewJournalHere/Caption: 新增子日誌\nNewJournalHere/Hint: 建立一個標籤含此條目名稱的新日誌條目\nNewImage/Caption: 新增圖像\nNewImage/Hint: 建立一個新的圖像條目\nNewMarkdown/Caption: 新增 Markdown 條目\nNewMarkdown/Hint: 建立一個新的 Markdown 條目\nNewTiddler/Caption: 新增條目\nNewTiddler/Hint: 建立一個新的條目\nOpenControlPanel/Hint: 開啟控制台\nOpenWindow/Caption: 開啟於新視窗\nOpenWindow/Hint: 在新視窗中開啟條目\nPalette/Caption: 調色盤\nPalette/Hint: 選擇調色盤\nPermalink/Caption: 引用連結\nPermalink/Hint: 設定瀏覽器網址列為直接連結到此條目\nPermaview/Caption: 固定連結\nPermaview/Hint: 設定瀏覽器網址列為直接連結到當前所有已開啟條目\nPrint/Caption: 列印頁面\nPrint/Hint: 列印當前頁面\nRefresh/Caption: 重新整理\nRefresh/Hint: 執行維基的完全刷新\nSave/Caption: 確定\nSave/Hint: 確定對此條目的更改\nSaveWiki/Caption: 儲存變更\nSaveWiki/Hint: 儲存變更\nStoryView/Caption: 檢視模式\nStoryView/Hint: 選擇檢視條目的視覺效果\nHideSideBar/Caption: 隱藏側邊欄\nHideSideBar/Hint: 隱藏側邊欄\nShowSideBar/Caption: 顯示側邊欄\nShowSideBar/Hint: 顯示側邊欄\nTagManager/Caption: 標籤管理\nTagManager/Hint: 標籤管理\nTestCaseImport/Caption: 導入條目\nTestCaseImport/Hint: 導入條目\nTimestamp/Caption: 時間戳記\nTimestamp/Hint: 選擇修改是否更新時間戳記\nTimestamp/On/Caption: 時間戳記開啟\nTimestamp/On/Hint: 條目被修改時，更新時間戳記\nTimestamp/Off/Caption: 時間戳記關閉\nTimestamp/Off/Hint: 條目被修改時，不更新時間戳記\nTheme/Caption: 佈景主題\nTheme/Hint: 選擇佈景主題\nBold/Caption: 粗體\nBold/Hint: 套用粗體格式於所選文字\nClear/Caption: 清除\nClear/Hint: 清除圖像為純色\nEditorHeight/Caption: 編輯器高度\nEditorHeight/Caption/Auto: 自動調整高度以適合內容\nEditorHeight/Caption/Fixed: 固定高度︰\nEditorHeight/Hint: 選擇文字編輯器的高度\nExcise/Caption: 剪切\nExcise/Caption/Excise: 執行剪切\nExcise/Caption/MacroName: 巨集名稱︰\nExcise/Caption/NewTitle: 新條目的名稱︰\nExcise/Caption/Replace: 替換剪切的文本為：\nExcise/Caption/Replace/Macro: 巨集\nExcise/Caption/Replace/Link: 鏈接\nExcise/Caption/Replace/Transclusion: 嵌入\nExcise/Caption/Tag: 將新條目的標籤設為此條目的名稱\nExcise/Caption/TiddlerExists: 警示：條目已經存在\nExcise/DefaultTitle: 新的剪切\nExcise/Hint: 剪切所選文字到一個新條目\nHeading1/Caption: 標題 1\nHeading1/Hint: 套用標題級別 1 的格式於包含所選文字的列\nHeading2/Caption: 標題 2\nHeading2/Hint: 套用標題級別 2 的格式於包含所選文字的列\nHeading3/Caption: 標題 3\nHeading3/Hint: 套用標題級別 3 的格式於包含所選文字的列\nHeading4/Caption: 標題 4\nHeading4/Hint: 套用標題級別 4 的格式於包含所選文字的列\nHeading5/Caption: 標題 5\nHeading5/Hint: 套用標題級別 5 的格式於包含所選文字的列\nHeading6/Caption: 標題 6\nHeading6/Hint: 套用標題級別 6 的格式於包含所選文字的列\nItalic/Caption: 斜體\nItalic/Hint: 套用斜體格式於所選文字\nLineWidth/Caption: 線寬\nLineWidth/Hint: 設定繪畫的線條寬度\nLink/Caption: 鏈接\nLink/Hint: 建立維基文字鏈接\nLinkify/Caption: 維基鏈接\nLinkify/Hint: 套用維基鏈接於所選文字\nListBullet/Caption: 符號清單\nListBullet/Hint: 套用符號清單格式於包含所選文字的列\nListNumber/Caption: 數字清單\nListNumber/Hint: 套用數字清單格式於包含所選文字的列\nMonoBlock/Caption: 等寬區塊\nMonoBlock/Hint: 套用等寬區塊格式於包含所選文字的列\nMonoLine/Caption: 等寬\nMonoLine/Hint: 套用等寬字元格式於所選文字\nOpacity/Caption: 不透明度\nOpacity/Hint: 設定繪畫的不透明度\nPaint/Caption: 繪畫顏色\nPaint/Hint: 設定繪畫的顏色\nPicture/Caption: 圖片\nPicture/Hint: 插入圖片\nPreview/Caption: 預覽\nPreview/Hint: 顯示預覽窗格\nPreviewType/Caption: 預覽類型\nPreviewType/Hint: 選擇預覽類型\nQuote/Caption: 引言\nQuote/Hint: 套用引言文字格式於包含所選文字的列\nRotateLeft/Caption: 向左旋轉\nRotateLeft/Hint: 圖像向左旋轉 90 度\nSize/Caption: 圖像大小\nSize/Caption/Height: 高度︰\nSize/Caption/Resize: 調整圖像的大小\nSize/Caption/Width: 寬度：\nSize/Hint: 設定圖像的大小\nStamp/Caption: 印記\nStamp/Caption/New: 新增您自己的\nStamp/Hint: 插入一個預配置的文字片段\nStamp/New/Title: 在選單中顯示的標題\nStamp/New/Text: 片段的文字。（記得在 `caption` 欄位中新增一個說明性的標題）。\nStrikethrough/Caption: 刪除線\nStrikethrough/Hint: 套用刪除線格式於所選文字\nSubscript/Caption: 下標\nSubscript/Hint: 套用下標格式於所選文字\nSuperscript/Caption: 上標\nSuperscript/Hint: 套用上標格式於所選文字\nToggleSidebar/Hint: 切換顯示或隱藏側邊欄\nTranscludify/Caption: 嵌入\nTranscludify/Hint: 套用嵌入於所選文字\nUnderline/Caption: 底線\nUnderline/Hint: 套用底線格式於所選文字\n"
  },
  {
    "path": "languages/zh-Hant/ControlPanel.multids",
    "content": "title: $:/language/ControlPanel/\n\nAdvanced/Caption: 進階\nAdvanced/Hint: 關於此 TiddlyWiki 的內部資訊\nAppearance/Caption: 視覺外觀\nAppearance/Hint: 自訂您的 TiddlyWiki 外觀。\nBasics/AnimDuration/Prompt: 動畫持續時間\nBasics/AutoFocus/Prompt: 編輯條目時的預設自動停留欄位\nBasics/Caption: 基本\nBasics/DefaultTiddlers/BottomHint: 標題含空白時請使用 &#91;&#91;雙中括弧&#93;&#93;，或者您可用 {{保留開啟中的條目順序||$:/snippets/retain-story-ordering-button}}\nBasics/DefaultTiddlers/Prompt: 首頁\nBasics/DefaultTiddlers/TopHint: 預設開啟的條目\nBasics/Language/Prompt: 您好！當前的語言：\nBasics/NewJournal/Tags/Prompt: 新日誌條目的標籤\nBasics/NewJournal/Text/Prompt: 新日誌條目的內容\nBasics/NewJournal/Title/Prompt: 新日誌條目的名稱\nBasics/NewTiddler/Tags/Prompt: 新條目的標籤\nBasics/NewTiddler/Title/Prompt: 新條目的名稱\nBasics/OverriddenShadowTiddlers/Prompt: 被覆寫的預設條目數量\nBasics/RemoveTags: 更新到當前格式\nBasics/RemoveTags/Hint: 將標籤設定更新為最新格式\nBasics/ShadowTiddlers/Prompt: 預設條目數量\nBasics/Subtitle/Prompt: 副標題\nBasics/SystemTiddlers/Prompt: 系統條目數量\nBasics/Tags/Prompt: 標籤數量\nBasics/Tiddlers/Prompt: 一般條目數量\nBasics/Title/Prompt: 此 ~TiddlyWiki 的標題\nBasics/Username/Prompt: 編輯者署名\nBasics/Version/Prompt: ~TiddlyWiki 版本\nCascades/Caption: 級聯\nCascades/Hint: 這些全域規則用於動態選擇某些範本。級聯的結果是傳回結果的序列中的第一個篩選的結果\nCascades/TagPrompt: 篩選器標籤為 <$macrocall $name=\"tag\" tag=<<currentTiddler>>/>\nEditorTypes/Caption: 編輯器類型\nEditorTypes/Editor/Caption: 編輯器\nEditorTypes/Hint: 這些條目決定使用哪個編輯器來編輯特定條目類型。\nEditorTypes/Type/Caption: 類型\nEditTemplateBody/Caption: 編輯範本主體\nEditTemplateBody/Hint: 預設的編輯範本使用此規則級聯，動態選擇範本來編輯條目的主體。\nFieldEditor/Caption: 欄位編輯器\nFieldEditor/Hint: 此規則級聯用於根據名稱，動態選擇用於呈現一個條目欄位的範本。其用於編輯範本中。\nInfo/Caption: 資訊\nInfo/Hint: 有關此 TiddlyWiki 的資訊\nKeyboardShortcuts/Add/Prompt: 在此輸入快捷鍵\nKeyboardShortcuts/Add/Caption: 新增快捷鍵\nKeyboardShortcuts/Caption: 快捷鍵\nKeyboardShortcuts/Hint: 管理鍵盤快捷鍵分配\nKeyboardShortcuts/NoShortcuts/Caption: 尚無指定快捷鍵\nKeyboardShortcuts/Remove/Hint: 刪除快捷鍵\nKeyboardShortcuts/Platform/All: 所有平臺\nKeyboardShortcuts/Platform/Mac: 僅 Macintosh 平臺\nKeyboardShortcuts/Platform/NonMac: 僅非 Macintosh 平臺\nKeyboardShortcuts/Platform/Linux: 僅 Linux 平臺\nKeyboardShortcuts/Platform/NonLinux: 僅非 Linux 平臺\nKeyboardShortcuts/Platform/Windows: 僅 Windows 平臺\nKeyboardShortcuts/Platform/NonWindows: 僅非 Windows 平臺\nLayoutSwitcher/Caption: 版面\nLoadedModules/Caption: 已載入的模組\nLoadedModules/Hint: 這些是當前已載入的模組之源碼條目。斜體的模組則無源碼條目，通常是因為它們是在引導過程中設置。\nPalette/Caption: 調色盤\nPalette/Editor/Clone/Caption: 複製\nPalette/Editor/Clone/Prompt: 建議您修改前先複製此預設調色盤\nPalette/Editor/Delete/Hint: 從當前調色盤中刪除此項\nPalette/Editor/Names/External/Show: 顯示不屬於當前調色盤的顏色名稱\nPalette/Editor/Prompt/Modified: 此預設調色盤已被修改過\nPalette/Editor/Prompt: 編輯\nPalette/Editor/Reset/Caption: 重置\nPalette/HideEditor/Caption: 隱藏編輯器\nPalette/Prompt: 當前的調色盤：\nPalette/ShowEditor/Caption: 顯示編輯器\nPlugins/Add/Hint: 從官方插件庫安裝插件\nPlugins/Add/Caption: 獲取更多插件\nPlugins/AlreadyInstalled/Hint: 此插件已經安裝版本 <$text text=<<installedVersion>>/>\nPlugins/AlsoRequires: 還需要：\nPlugins/Caption: 插件\nPlugins/Disable/Caption: 停用\nPlugins/Disable/Hint: 重新載入頁面時停用此插件\nPlugins/Disabled/Status: (已停用)\nPlugins/Downgrade/Caption: 降級\nPlugins/Empty/Hint: 無\nPlugins/Enable/Caption: 啟用\nPlugins/Enable/Hint: 重新載入頁面時啟用此插件\nPlugins/Install/Caption: 安裝\nPlugins/Installed/Hint: 當前已安裝的插件：\nPlugins/Languages/Caption: 語言\nPlugins/Languages/Hint: 語言包插件\nPlugins/NoInfoFound/Hint: 無 ''\"<$text text=<<currentTab>>/>\"''\nPlugins/NoInformation/Hint: 未提供資訊\nPlugins/NotInstalled/Hint: 尚未安裝此插件\nPlugins/OpenPluginLibrary: 開啟插件程式庫\nPlugins/ClosePluginLibrary: 關閉插件程式庫\nPlugins/PluginWillRequireReload: （需要重新載入）\nPlugins/Plugins/Caption: 插件\nPlugins/Plugins/Hint: 插件\nPlugins/Reinstall/Caption: 重新安裝\nPlugins/Stability/Deprecated: 已棄用\nPlugins/Stability/Experimental: 實驗性\nPlugins/Stability/Legacy: 陳舊\nPlugins/Stability/Stable: 穩定\nPlugins/Themes/Caption: 佈景主題\nPlugins/Themes/Hint: 佈景主題插件\nPlugins/Update/Caption: 更新\nPlugins/Updates/Caption: 更新\nPlugins/Updates/Hint: 已安裝插件的可用更新\nPlugins/Updates/UpdateAll/Caption: 更新 <<update-count>> 個插件\nPlugins/SubPluginPrompt: 提供 <<count>> 個可用的附加插件\nParsing/Caption: 解析\nParsing/Hint: 在此您可以全域停用或啟用維基解析規則。要使更改生效，請儲存並重新載入您的維基。停用某些解析規則，會妨礙 <$text text=\"TiddlyWiki\"/>  正常運作。可使用[[安全模式|https://tiddlywiki.com/#SafeMode]]恢復正常操作。\nParsing/Block/Caption: 區塊解析規則\nParsing/Inline/Caption: 行內解析規則\nParsing/Pragma/Caption: 編譯指示解析規則\nSaving/Caption: 儲存\nSaving/DownloadSaver/AutoSave/Description: 允許下載儲存模組的自動儲存\nSaving/DownloadSaver/AutoSave/Hint: 啟用下載儲存模組的自動儲存\nSaving/DownloadSaver/Caption: 下載儲存模組\nSaving/DownloadSaver/Hint: 這些設定適用於相容 HTML5 的下載儲存模組\nSaving/General/Caption: 通用\nSaving/General/Hint: 這些設定適用於所有已載入的儲存模組\nSaving/Hint: 用於通過儲存模組將整個 TiddlyWiki 儲存為單個檔案的設定\nSaving/GitService/Branch: 用於儲存的目標分支\nSaving/GitService/CommitMessage: 由 TiddlyWiki 儲存\nSaving/GitService/Description: 這些設定僅用於儲存至 <<service-name>>\nSaving/GitService/Filename: 目標檔案的檔案名稱 (例如，`index.html`)\nSaving/GitService/Path: 目標檔案的路徑 (例如，`/wiki/`)\nSaving/GitService/Repo: 目標存儲庫 (例如，`Jermolene/TiddlyWiki5`)\nSaving/GitService/ServerURL: 伺服器 API 網址\nSaving/GitService/UserName: 使用者名稱\nSaving/GitService/GitHub/Caption: ~GitHub 儲存模組\nSaving/GitService/GitHub/Password: 密碼、OAUTH 權杖，或個人存取權杖 (詳見 [[GitHub 說明頁面|https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line]])\nSaving/GitService/GitLab/Caption: ~GitLab 儲存模組\nSaving/GitService/GitLab/Password: 個人存取權杖的 API (詳見 [[GitLab 說明頁面|https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html]])\nSaving/GitService/Gitea/Caption: Gitea 儲存模組\nSaving/GitService/Gitea/Password: 個人存取權杖的 API (通過 Gitea 的 Web 介面：`設定 | 應用程式 | 產生新的權杖`)\nSaving/TiddlySpot/Advanced/Heading: 進階設定\nSaving/TiddlySpot/BackupDir: 備份資料夾\nSaving/TiddlySpot/Backups: 備份\nSaving/TiddlySpot/Caption: ~TiddlyHost 儲存模組\nSaving/TiddlySpot/ControlPanel: ~TiddlyHost 控制台\nSaving/TiddlySpot/Description: 這些設定只適用於儲存到 [[TiddlyHost|https://tiddlyhost.com]]，或相容的遠端伺服器。有關 ~TiddlyHost 的儲存設定資訊，請參閱[[此處|https://github.com/simonbaird/tiddlyhost/wiki/TiddlySpot-Saver-configuration-for-Tiddlyhost-and-Tiddlyspot]]\nSaving/TiddlySpot/Filename: 上傳檔名\nSaving/TiddlySpot/Heading: ~TiddlyHost\nSaving/TiddlySpot/Hint: //預設之伺服器網址 `http://<wikiname>.tiddlyhost.com/`，可改為自訂之伺服器網址，例如 `http://example.com/store.php`。//\nSaving/TiddlySpot/Password: 密碼\nSaving/TiddlySpot/ServerURL: 伺服器網址\nSaving/TiddlySpot/UploadDir: 上傳資料夾\nSaving/TiddlySpot/UserName: 帳號\nSettings/AutoSave/Caption: 自動儲存\nSettings/AutoSave/Disabled/Description: 不要自動儲存變更\nSettings/AutoSave/Enabled/Description: 自動儲存變更\nSettings/AutoSave/Hint: 當使用支援的儲存模組時，在編輯期間嘗試自動儲存變更\nSettings/CamelCase/Caption: 駝峰式維基鏈接\nSettings/CamelCase/Hint: 須儲存後重新載入，方才生效。\nSettings/CamelCase/Description: 啟用自動駝峰式鏈接\nSettings/Caption: 設定\nSettings/DefaultSidebarTab/Caption: 預設側邊欄頁籤\nSettings/DefaultSidebarTab/Hint: 指定預設顯示的側邊欄頁籤\nSettings/DefaultMoreSidebarTab/Caption: 更多側邊欄的預設頁籤\nSettings/DefaultMoreSidebarTab/Hint: 指定預設顯示的更多側欄頁籤\nSettings/DefaultTiddlerInfoTab/Caption: 預設條目資訊頁籤\nSettings/DefaultTiddlerInfoTab/Hint: 當條目資訊面板開啟時，指定預設開啟的頁籤\nSettings/EditorToolbar/Caption: 編輯器工具列\nSettings/EditorToolbar/Hint: 啟用或停用編輯器工具列︰\nSettings/EditorToolbar/Description: 顯示編輯器工具列\nSettings/InfoPanelMode/Caption: 條目資訊面板模式\nSettings/InfoPanelMode/Hint: 控制條目資訊面板何時關閉︰\nSettings/InfoPanelMode/Popup/Description: 條目資訊面板自動關閉\nSettings/InfoPanelMode/Sticky/Description: 條目資訊面板保持開啟狀態，直到明確關閉\nSettings/Hint: 這些進階設定讓您自訂 TiddlyWiki 的行為。\nSettings/LinkToBehaviour/Caption: 條目開啟行為\nSettings/LinkToBehaviour/InsideRiver/Hint: 從故事河//中//導航\nSettings/LinkToBehaviour/OutsideRiver/Hint: 從故事河//外//導航\nSettings/LinkToBehaviour/OpenAbove: 開啟於當前條目之上\nSettings/LinkToBehaviour/OpenBelow: 開啟於當前條目之下\nSettings/LinkToBehaviour/OpenAtTop: 開啟於故事河的頂端\nSettings/LinkToBehaviour/OpenAtBottom: 開啟於故事河的底部\nSettings/MissingLinks/Caption: 維基鏈接\nSettings/MissingLinks/Hint: 選擇是否要鏈接到尚未存在的條目\nSettings/MissingLinks/Description: 啟用鏈接到佚失條目\nSettings/NavigationAddressBar/Caption: 網址列導覽\nSettings/NavigationAddressBar/Hint: 在瀏覽器網址列導覽到條目時的行為：\nSettings/NavigationAddressBar/No/Description: 不更新網址列\nSettings/NavigationAddressBar/Permalink/Description: 包含目標條目\nSettings/NavigationAddressBar/Permaview/Description: 包括目標條目和當前已開啟的條目序列\nSettings/NavigationHistory/Caption: 歷史記錄導覽\nSettings/NavigationHistory/Hint: 當導覽到條目時，更新瀏覽器歷史記錄：\nSettings/NavigationHistory/No/Description: 不更新歷史記錄\nSettings/NavigationHistory/Yes/Description: 更新歷史記錄\nSettings/NavigationPermalinkviewMode/Caption: 引用連結/固定連結 模式\nSettings/NavigationPermalinkviewMode/Hint: 選擇 引用連結/固定連結 的處理方式：\nSettings/NavigationPermalinkviewMode/CopyToClipboard/Description: 將 引用連結/固定連結 網址複製到剪貼簿\nSettings/NavigationPermalinkviewMode/UpdateAddressBar/Description: 以 引用連結/固定連結 更新網址列\nSettings/PerformanceInstrumentation/Caption: 效能檢測\nSettings/PerformanceInstrumentation/Hint: 在瀏覽器的開發人員主控台，顯示效能統計資訊。需要重新載入才能生效。\nSettings/PerformanceInstrumentation/Description: 啟用效能檢測\nSettings/RecentLimit/Caption: \"最近\" 頁籤限制\nSettings/RecentLimit/Hint: 在側邊欄 \"最新\" 頁籤下顯示的最多條目數量\nSettings/ToolbarButtonStyle/Caption: 工具列按鈕樣式\nSettings/ToolbarButtonStyle/Hint: 選擇工具列按鈕的樣式:\nSettings/ToolbarButtonStyle/Styles/Borderless: 無邊框\nSettings/ToolbarButtonStyle/Styles/Boxed: 方框\nSettings/ToolbarButtonStyle/Styles/Rounded: 圓形\nSettings/ToolbarButtons/Caption: 工具列按鈕\nSettings/ToolbarButtons/Hint: 預設的工具列按鈕外觀：\nSettings/ToolbarButtons/Icons/Description: 包含圖示\nSettings/ToolbarButtons/Text/Description: 包含文字\nSettings/TitleLinks/Caption: 條目標題\nSettings/TitleLinks/Hint: 可選地顯示條目標題為鏈接\nSettings/TitleLinks/No/Description: 不顯示條目標題為鏈接\nSettings/TitleLinks/Yes/Description: 顯示條目標題為鏈接\nSocialCard/Caption: 社交媒體卡\nSocialCard/Domain/Prompt: 顯示連結的網域名稱（例如 ''tiddlywiki.com''）\nSocialCard/Hint: 社交和訊息服務使用此資訊來顯示線上託管時指向此 ~TiddlyWiki 的連結的預覽卡\nSocialCard/PreviewUrl/Prompt: 用於預覽此 ~TiddlyWiki 圖像的完整網址\nSocialCard/PreviewUrl/Preview: 預覽圖像：\nSocialCard/Url/Prompt: 此 ~TiddlyWiki 的完整網址\nStoryTiddler/Caption: 故事條目\nStoryTiddler/Hint: 此規則級聯用於動態選擇範本，以便在故事河中顯示條目。\nStoryView/Caption: 檢視模式\nStoryView/Prompt: 當前的檢視模式：\nStylesheets/Caption: 樣式表\nStylesheets/Expand/Caption: 全部展開\nStylesheets/Hint: 這是當前標籤為 <<tag \"$:/tags/Stylesheet\">> 的樣式表條目呈現的 CSS\nStylesheets/Restore/Caption: 復原\nTestCases/Caption: 測試案例\nTestCases/Hint: 測試案例是用於測試和學習的自給自足的範例\nTestCases/All/Caption: 所有測試案例\nTestCases/All/Hint: 所有測試案例\nTestCases/Failed/Caption: 失敗的測試案例\nTestCases/Failed/Hint: 僅失敗的測試案例\nTheme/Caption: 佈景主題\nTheme/Prompt: 當前的佈景主題：\nTiddlerColour/Caption: 條目顏色\nTiddlerColour/Hint: 此規則級聯用於動態地為條目選擇顏色 (用於圖示和關聯的標籤丸)。\nTiddlerFields/Caption: 條目欄位\nTiddlerFields/Hint: 這是本維基使用中的所有條目欄位（含系統條目的欄位，但預設條目的欄位除外）。\nTiddlerIcon/Caption: 條目圖示\nTiddlerIcon/Hint: 此規則級聯用於動態地為條目選擇圖示。\nToolbars/Caption: 工具列\nToolbars/EditToolbar/Caption: 編輯工具列\nToolbars/EditToolbar/Hint: 選擇將顯示哪些按鈕於條目的編輯模式工具列。拖放可改變順序。\nToolbars/Hint: 選擇將顯示哪些工具列按鈕\nToolbars/PageControls/Caption: 頁面工具列\nToolbars/PageControls/Hint: 選擇將顯示哪些按鈕於主頁面的工具列。拖放可改變順序。\nToolbars/EditorToolbar/Caption: 編輯器工具列\nToolbars/EditorToolbar/Hint: 選擇將顯示哪些按鈕於編輯器工具列。請注意，某些按鈕只會出現在編輯某一類型的條目時。拖放可改變順序。\nToolbars/ViewToolbar/Caption: 檢視工具列\nToolbars/ViewToolbar/Hint: 選擇將顯示哪些按鈕於條目的檢視模式工具列。拖放可改變順序。\nTools/Download/Full/Caption: 下載完整副本\nViewTemplateBody/Caption: 檢視範本主體\nViewTemplateBody/Hint: 預設的檢視範本使用此規則級聯，動態選擇範本以顯示條目的主體。\nViewTemplateTitle/Caption: 檢視範本標題\nViewTemplateTitle/Hint: 預設的檢視範本使用此規則級聯，動態選擇範本以顯示條目的標題。\nViewTemplateSubtitle/Caption: 檢視範本副標題\nViewTemplateSubtitle/Hint: 預設的檢視範本使用此規則級聯，動態選擇範本以顯示條目的副標題。\nViewTemplateTags/Caption: 檢視範本標籤\nViewTemplateTags/Hint: 預設的檢視範本使用此規則級聯，動態選擇範本以顯示條目的標籤。\nWikiInformation/Caption: 維基資訊\nWikiInformation/Hint: 此頁面總結了有關此 ~TiddlyWiki 配置的高階資訊。旨在讓使用者能夠快速與他人共享其 ~TiddlyWiki 配置的相關資訊，例如，在其中一個論壇中尋求幫助時。不包含隱私或個人資訊，沒有明確複製和粘貼在其他地方的情況\nWikiInformation/Drag/Caption: 拖動此連結可將此工具複製到另一個維基"
  },
  {
    "path": "languages/zh-Hant/CoreReadMe.tid",
    "content": "title: $:/core/zh-Hant/readme\n\n此插件包含 TiddlyWiki 的核心元件，包括：\n\n* JavaScript 程式碼模組\n* 圖示\n* 建立 TiddlyWiki 的使用者介面所需的範本\n* 核心所使用的可當地語系化字串的英國英語 (''en-GB'') 翻譯\n"
  },
  {
    "path": "languages/zh-Hant/Dates.multids",
    "content": "title: $:/language/\n\nDate/Long/Day/0: 星期日\nDate/Long/Day/1: 星期一\nDate/Long/Day/2: 星期二\nDate/Long/Day/3: 星期三\nDate/Long/Day/4: 星期四\nDate/Long/Day/5: 星期五\nDate/Long/Day/6: 星期六\nDate/Long/Month/1: 一月\nDate/Long/Month/2: 二月\nDate/Long/Month/3: 三月\nDate/Long/Month/4: 四月\nDate/Long/Month/5: 五月\nDate/Long/Month/6: 六月\nDate/Long/Month/7: 七月\nDate/Long/Month/8: 八月\nDate/Long/Month/9: 九月\nDate/Long/Month/10: 十月\nDate/Long/Month/11: 十一月\nDate/Long/Month/12: 十二月\nDate/Period/am: 上午\nDate/Period/pm: 下午\nDate/Short/Day/0: 日\nDate/Short/Day/1: 一\nDate/Short/Day/2: 二\nDate/Short/Day/3: 三\nDate/Short/Day/4: 四\nDate/Short/Day/5: 五\nDate/Short/Day/6: 六\nDate/Short/Month/1: 01月\nDate/Short/Month/2: 02月\nDate/Short/Month/3: 03月\nDate/Short/Month/4: 04月\nDate/Short/Month/5: 05月\nDate/Short/Month/6: 06月\nDate/Short/Month/7: 07月\nDate/Short/Month/8: 08月\nDate/Short/Month/9: 09月\nDate/Short/Month/10: 10月\nDate/Short/Month/11: 11月\nDate/Short/Month/12: 12月\nRelativeDate/Future/Days: <<period>> 天後\nRelativeDate/Future/Hours: <<period>> 小時後\nRelativeDate/Future/Minutes: <<period>> 分鐘後\nRelativeDate/Future/Months: <<period>> 個月後\nRelativeDate/Future/Second: 1 秒後\nRelativeDate/Future/Seconds: <<period>> 秒後\nRelativeDate/Future/Years: <<period>> 年後\nRelativeDate/Past/Days: <<period>> 天前\nRelativeDate/Past/Hours: <<period>> 小時前\nRelativeDate/Past/Minutes: <<period>> 分鐘前\nRelativeDate/Past/Months: <<period>> 個月前\nRelativeDate/Past/Second: 1 秒前\nRelativeDate/Past/Seconds: <<period>> 秒前\nRelativeDate/Past/Years: <<period>> 年前\n"
  },
  {
    "path": "languages/zh-Hant/Docs/ModuleTypes.multids",
    "content": "title: $:/language/Docs/ModuleTypes/\n\nallfilteroperator:  ''all'' 篩選器運算子的子運算子。\nanimation: 動畫模組包含可用於 RevealWidget 的動畫。\nauthenticator: 定義內建 HTTP 伺服器對請求的身份驗證方式。\nbitmapeditoroperation: 一個點陣圖編輯器工具列操作。\ncommand: 可於 Node.js 執行的指令。\nconfig: 加入 `$tw.config` 的資料。\nfilteroperator: 個別篩選器運算元方法。\nglobal: 加入 `$tw` 的全域資料。\ninfo: 透過 [[$:/temp/info-plugin]] 偽插件，發佈系統資訊。\nisfilteroperator: ''is'' 篩選器運算子的參數。\nlibrary: 一般用途的 JavaScript 模組的通用的模組類型。\nmacro: JavaScript ''巨集''定義。\nparser: 不同內容類型的解析器。\nroute: 定義內建 HTTP 伺服器如何處理各個網址格式。\nsaver: 於瀏覽器儲存檔案的不同的儲存處理方法。\nstartup: 啟動時期的功能函數。\nstoryview: 檢視模式用以自訂 list 小工具的動畫與行為。\ntexteditoroperation: 一個文字編輯器工具列操作。\ntiddlerdeserializer: 轉換不同內容類型至條目。\ntiddlerfield: 定義個別條目欄位的行為。\ntiddlermethod: 新增方法至 `$tw.Tiddler` 原型。\nupgrader: 於升級/導入過程中，套用升級處理至條目。\nutils: 新增方法至 `$tw.utils`。\nutils-browser: 將特定於瀏覽器的方法新增到 `$tw.utils`。\nutils-node: 將特定於 Node.js 的方法新增到 `$tw.utils`。\nwidget: 封裝 DOM 渲染和刷新的小工具。\nwikimethod: 新增方法至 `$tw.Wiki`。\nwikirule: WikiText 解析器的個別的語法規則。\n"
  },
  {
    "path": "languages/zh-Hant/Docs/PaletteColours.multids",
    "content": "title: $:/language/Docs/PaletteColours/\n\nalert-background: 警示背景\nalert-border: 警示邊框\nalert-highlight: 警示高亮度\nalert-muted-foreground: 警示的低調前景\nbackground: 一般背景\nblockquote-bar: 引言條\nbutton-background: 預設按鈕背景\nbutton-border: 預設按鈕邊框\nbutton-foreground: 預設按鈕前景\ncode-background: 程式碼背景\ncode-border: 程式碼邊框\ncode-foreground: 程式碼前景\ndirty-indicator: 未儲存變更指示器\ndownload-background: 下載按鈕背景\ndownload-foreground: 下載按鈕前景\ndragger-background: 拖動區背景\ndragger-foreground: 拖動區前景\ndropdown-background: 下拉背景\ndropdown-border: 下拉邊框\ndropdown-tab-background-selected: 選定的下拉頁籤背景\ndropdown-tab-background: 下拉頁籤背景\ndropzone-background: 拖放區背景\nexternal-link-background-hover: 懸停外部鏈結背景\nexternal-link-background-visited: 已造訪過的外部鏈結背景\nexternal-link-background: 外部鏈結背景\nexternal-link-foreground-hover: 懸停外部鏈結前景\nexternal-link-foreground-visited: 已造訪過的外部鏈結前景\nexternal-link-foreground: 外部鏈結前景\nforeground: 一般前景\nmenubar-background: 選單列背景\nmenubar-foreground: 選單列前景\nmessage-background: 訊息框背景\nmessage-border: 訊息邊框\nmessage-foreground: 訊息框前景\nmodal-backdrop: 模組背景幕\nmodal-background: 模組背景\nmodal-border: 模組邊框\nmodal-footer-background: 模組頁腳背景\nmodal-footer-border: 模組頁腳邊框\nmodal-header-border: 模組標題邊框\nmuted-foreground: 一般低調前景\nnotification-background: 通知背景\nnotification-border: 通知邊框\npage-background: 頁面背景\npre-background: pre 背景\npre-border: pre 邊框\nprimary: 主顏色\nselect-tag-background: `<select>` 元素背景\nselect-tag-foreground: `<select>` 元素文字\nsidebar-button-foreground: 側邊欄按鈕前景\nsidebar-controls-foreground-hover: 懸停側邊欄控制項前景\nsidebar-controls-foreground: 側邊欄控制項前景\nsidebar-foreground-shadow: 側邊欄前景陰影\nsidebar-foreground: 側邊欄前景\nsidebar-muted-foreground-hover: 懸停側邊欄低調前景\nsidebar-muted-foreground: 側邊欄低調前景\nsidebar-tab-background-selected: 側邊欄選定的頁籤背景\nsidebar-tab-background: 側邊欄頁籤背景\nsidebar-tab-border-selected: 側邊欄選定的頁籤邊框\nsidebar-tab-border: 側邊欄頁籤邊框\nsidebar-tab-divider: 側邊欄頁籤分隔線\nsidebar-tab-foreground-selected: 側邊欄選定頁籤前景\nsidebar-tab-foreground: 側邊欄頁籤前景\nsidebar-tiddler-link-foreground-hover: 側邊欄懸停條目鏈結前景\nsidebar-tiddler-link-foreground: 側邊欄條目鏈結前景\nstability-stable: 穩定性等級 \"stable\" 的徽章\nstability-experimental: 穩定性等級 \"experimental\" 的徽章\nstability-deprecated: 穩定性等級 \"deprecated\" 的徽章\nstability-legacy: 穩定性等級 \"legacy\" 的徽章\ntestcase-accent-level-1: 無嵌套的測試案例強調色\ntestcase-accent-level-2: 第二級嵌套的測試案例強調色\ntestcase-accent-level-3: 第三級或更高級別嵌套的測試案例強調色\nsite-title-foreground: 網站標題前景\nstatic-alert-foreground: 靜態警示前景\ntab-background-selected: 選定的頁籤背景\ntab-background: 頁籤背景\ntab-border-selected: 選定的頁籤邊框\ntab-border: 頁籤邊框\ntab-divider: 頁籤分隔線\ntab-foreground-selected: 選定的頁籤前景\ntab-foreground: 頁籤前景\ntable-border: 表格邊框\ntable-footer-background: 表格頁腳背景\ntable-header-background: 表格標題背景\ntag-background: 標籤背景\ntag-foreground: 標籤前景\ntiddler-background: 條目背景\ntiddler-border: 條目邊框\ntiddler-controls-foreground-hover: 懸停的條目控制項前景\ntiddler-controls-foreground-selected: 選定的條目控制項前景\ntiddler-controls-foreground: 條目控制項前景\ntiddler-editor-background: 條目編輯器背景\ntiddler-editor-border-image: 條目編輯器邊框圖片\ntiddler-editor-border: 條目編輯器邊框\ntiddler-editor-fields-even: 條目編輯器中偶數欄位背景\ntiddler-editor-fields-odd: 條目編輯器中奇數欄位背景\ntiddler-info-background: 條目資訊面板背景\ntiddler-info-border: 條目資訊面板邊框\ntiddler-info-tab-background: 條目資訊面板頁籤背景\ntiddler-link-background: 條目鏈結背景\ntiddler-link-foreground: 條目鏈結前景\ntiddler-subtitle-foreground: 條目副標題前景\ntiddler-title-foreground: 條目標題前景\ntoolbar-new-button: 工具列 '新增條目' 按鈕前景\ntoolbar-options-button: 工具列 '選項' 按鈕前景\ntoolbar-save-button: 工具列 '儲存' 按鈕前景\ntoolbar-info-button: 工具列 '資訊' 按鈕前景\ntoolbar-edit-button: 工具列 '編輯' 按鈕前景\ntoolbar-close-button: 工具列 '關閉' 按鈕前景\ntoolbar-delete-button: 工具列 '刪除' 按鈕前景\ntoolbar-cancel-button: 工具列 '取消' 按鈕前景\ntoolbar-done-button: 工具列 '完成  按鈕前景\nuntagged-background: 未設標籤的背景\nvery-muted-foreground: 非常低調前景\n"
  },
  {
    "path": "languages/zh-Hant/EditTemplate.multids",
    "content": "title: $:/language/EditTemplate/\n\nCaption: 編輯器\nBody/External/Hint: 此條目顯示儲存於主要的 TiddlyWiki 檔之外的內容。你可以編輯其標籤和欄位，但不能直接編輯內容本身\nBody/Placeholder: 輸入此條目的內容\nBody/Preview/Type/Output: 輸出\nBody/Preview/Type/DiffShadow: 與影子條目的差異（如果有）\nBody/Preview/Type/DiffCurrent: 與當前條目的差異\nField/Remove/Caption: 刪除欄位\nField/Remove/Hint: 刪除欄位\nField/Dropdown/Caption: 欄位列表\nField/Dropdown/Hint: 顯示欄位列表\nFields/Add/Button: 新增\nFields/Add/Button/Hint: 新增欄位至條目\nFields/Add/Dropdown/System: 系統欄位\nFields/Add/Dropdown/User: 使用者欄位\nFields/Add/Name/Placeholder: 欄位名稱\nFields/Add/Prompt: 新增欄位：\nFields/Add/Value/Placeholder: 欄位內容\nShadow/Warning: 這是一個預設條目。您做的任何更改將會覆蓋來自 <<pluginLink>> 插件的預設版本。\nShadow/OverriddenWarning: 這是一個修改過的預設條目。刪除此條目可以還原為 <<pluginLink>> 插件中的預設版本。\nTags/Add/Button: 新增\nTags/Add/Button/Hint: 新增標籤\nTags/Add/Placeholder: 標籤名稱\nTags/ClearInput/Caption: 清除輸入\nTags/ClearInput/Hint: 清除標籤輸入\nTags/Dropdown/Caption: 標籤清單\nTags/Dropdown/Hint: 顯示標籤清單\nTags/EmptyMessage: (找不到標籤)\nTags/EmptyMessage/System: (找不到系統標籤)\nTitle/BadCharacterWarning: 請注意，避免在條目名稱中使用這些字元：<<bad-chars>>\nTitle/Exists/Prompt: 目標條目已經存在\nTitle/Relink/Prompt: 將在其他條目的 //tags// 和 //list// 欄位中的 ''<$text text=<<fromTitle>>/>'' 改為 ''<$text text=<<toTitle>>/>''\nTitle/References/Prompt: 下列對此條目的引用，不會自動更新：\nType/Dropdown/Caption: 內容類型清單\nType/Dropdown/Hint: 顯示內容類型清單\nType/Delete/Caption: 刪除內容類型\nType/Delete/Hint: 刪除內容類型\nType/Placeholder: 內容類型\nType/Prompt: 類型：\n"
  },
  {
    "path": "languages/zh-Hant/Exporters.multids",
    "content": "title: $:/language/Exporters/\n\nStaticRiver: 靜態 HTML\nJsonFile: JSON 檔案\nCsvFile: CSV 檔案\nTidFile: TID 文字檔案\n"
  },
  {
    "path": "languages/zh-Hant/Fields.multids",
    "content": "title: $:/language/Docs/Fields/\n\n_canonical_uri: 外部圖片條目的完整的 URI\nauthor: 一個插件作者的姓名\nbag: 條目的來源集的名稱\ncaption: 顯示於頁籤或按鈕上的標題文字\nclass: 渲染條目時，套用到條目的 CSS 類別 - 請參閱[[依自訂類別的自訂樣式|Custom styles by user-class]]。也適用於[[互動視窗|Modals]]\ncode-body: 若設定為 ''yes''，檢視範本將以程式碼形式顯示條目\ncolor: 條目的 CSS 顏色值\ncomponent: 負責[[警示條目|AlertMechanism]]的元件名稱\ncore-version: 對於一個插件，表示與其相容的 TiddlyWiki 版本\ncreated: 條目的建立日期\ncreator: 條目的建立者\ncurrent-tiddler: 用於快取[[瀏覽歷史列表|HistoryMechanism]]的最上層條目\ndependents: 插件的相依插件列表\ndescription: 插件的說明、描述\ndraft.of: 草稿條目，包含條目的標題、標籤、欄位 ...\ndraft.title: 草稿條目的標題\nfooter: 互動視窗的註腳\nhide-body: 若設定為 ''yes''，檢視範本將隱藏條目的主體\nicon: 條目的標題含有與條目關聯的圖示\nlibrary: 若設定為 ''yes''，表示條目應該被儲存為一個 JavaScript 程式庫\nlist: 條目的列表，指定一些條目的標題清單\nlist-before: 當前條目名稱將被新增到條目排序清單中的設定條目名稱之前，或若此欄位存在但是空的，則被新增於清單的前端\nlist-after: 當前條目名稱將被新增到條目排序清單中的設定條目名稱之後，或若此欄位存在但是空的，則被新增於清單的尾端\nmodified: 條目的最近修改日期與時間\nmodifier: 條目的最近修改者\nmodule-type: 對於 javascript 條目，指定其為何種模組\nname: 具可讀性的套件條目的名稱\nparent-plugin: 對於一個插件，指定其為哪個插件的子插件\nplugin-priority: 套件條目的優先級數值\nplugin-type: 套件條目的類型\nstability: 插件的開發狀態：已棄用、實驗性、穩定或舊版\nreleased: TiddlyWiki 的釋出日期\nrevision: 條目存放於伺服器中的修訂版本\nsource: 條目的網址\nsubtitle: 互動視窗的副標題\ntags: 條目的標籤清單\ntext: 條目的內文\nthrottle.refresh: 如果存在，則限制此條目的刷新\ntitle: 條目的唯一名稱\ntoc-link: 若設定爲 ''no''，則抑制目錄樹中的條目鏈接。\ntype: 條目的內容類型\nversion: 插件的版本資訊\n_is_skinny: 如果存在，則表示必須從伺服器載入條目的文字欄位"
  },
  {
    "path": "languages/zh-Hant/Filters.multids",
    "content": "title: $:/language/Filters/\n\nAllTiddlers: 所有條目，不含系統條目\nRecentSystemTiddlers: 最近修改的條目，包含系統條目\nRecentTiddlers: 最近修改的條目\nAllTags: 所有標籤，不含系統標籤\nMissing: 佚失條目\nDrafts: 草稿條目\nOrphans: 孤立條目\nSystemTiddlers: 系統條目\nShadowTiddlers: 預設條目\nOverriddenShadowTiddlers: 被覆寫的預設條目\nSessionTiddlers: 自維基載入後修改的條目\nSystemTags: 系統標籤\nStoryList: 故事河中的條目，不含 ~$:/AdvancedSearch\nTypedTiddlers: 非維基文字條目"
  },
  {
    "path": "languages/zh-Hant/GettingStarted.tid",
    "content": "title: GettingStarted\n\n\\define lingo-base() $:/language/ControlPanel/Basics/\n歡迎使用 ~TiddlyWiki 及參與 ~TiddlyWiki 社群\n\n開始將重要資訊存放於 ~TiddlyWiki 之前，確認您可以可靠地儲存變更是很重要的。詳細資訊請參閱 https://tiddlywiki.com/#GettingStarted\n\n!! 設定此 ~TiddlyWiki\n\n<div class=\"tc-control-panel\">\n\n|tc-table-no-border tc-first-col-min-width tc-first-link-nowrap|k\n| <$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link>|<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n| <$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link>|<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|^ <$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link><br><<lingo DefaultTiddlers/TopHint>>|<$edit tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\n請參閱[[控制台|$:/ControlPanel]]查看更多選項。"
  },
  {
    "path": "languages/zh-Hant/Help/build.tid",
    "content": "title: $:/language/Help/build\ndescription: 自動執行已組態的命令\n\n產生指定的建置目標為當前 wiki。若未指定任何建置目標，則產生所有可用的目標。\n\n```\n--build <target> [<target> ...]\n```\n\n建置目標在 wiki 資料夾的 `tiddlywiki.info` 檔案中定義。\n"
  },
  {
    "path": "languages/zh-Hant/Help/clearpassword.tid",
    "content": "title: $:/language/Help/clearpassword\ndescription: 清除用於後續加密的密碼\n\n清除用於後續加密的密碼\n\n```\n--clearpassword\n```\n"
  },
  {
    "path": "languages/zh-Hant/Help/commands.tid",
    "content": "title: $:/language/Help/commands\ndescription: 執行從篩選器傳回的命令\n\n按順序執行從篩選器傳回的命令符記\n\n```\n--commands <filter>\n```\n\n範例\n\n```\n--commands \"[enlist:raw{$:/build-commands-as-text}]\"\n```\n\n```\n--commands \"[{$:/build-commands-as-json}jsonindexes[]] :map[{$:/build-commands-as-json}jsonget<currentTiddler>]\"\n```\n"
  },
  {
    "path": "languages/zh-Hant/Help/default.tid",
    "content": "title: $:/language/Help/default\n\n\\define commandTitle()\n$:/language/Help/$(command)$\n\\end\n\\whitespace trim\n```\n用法: tiddlywiki [<wikifolder>] [--<command> [<args>...]...]\n```\n\n可用的命令：\n\n<ul>\n<$list filter=\"[commands[]sort[title]]\" variable=\"command\">\n<li><$link to=<<commandTitle>>><$macrocall $name=\"command\" $type=\"text/plain\" $output=\"text/plain\"/></$link>:\n&#32;\n<$transclude tiddler=<<commandTitle>> field=\"description\"/></li>\n</$list>\n</ul>\n\n取得關於某個命令的詳細説明：\n\n```\ntiddlywiki --help <command>\n```\n"
  },
  {
    "path": "languages/zh-Hant/Help/deletetiddlers.tid",
    "content": "title: $:/language/Help/deletetiddlers\ndescription: 刪除一組條目\n\n<<.from-version \"5.1.20\">> 刪除由篩選器標識的一組條目。\n\n```\n--deletetiddlers <filter>\n```\n"
  },
  {
    "path": "languages/zh-Hant/Help/editions.tid",
    "content": "title: $:/language/Help/editions\ndescription: 列出可用的 TiddlyWiki 版本\n\n列出可用版本的名稱和描述。您可以用 `--init` 命令建立一個指定版本的新維基。\n\n```\n--editions\n```\n"
  },
  {
    "path": "languages/zh-Hant/Help/fetch.tid",
    "content": "title: $:/language/Help/fetch\ndescription: 通過網址從維基擷取條目\n\n通過 HTTP/HTTPS 擷取一個或多個檔案，並導入符合篩選器的條目，可選的轉換傳入的名稱。\n\n```\n--fetch file <url> <import-filter> <transform-filter>\n--fetch files <url-filter> <import-filter> <transform-filter>\n--fetch raw-file <url> <transform-filter>\n--fetch raw-files <url-filter> <transform-filter>\n```\n\n \"file\" 和 \"files\" 選項擷取指定的檔案，並嘗試導入其中的條目（與將檔案拖動到瀏覽器視窗中的處理相同）。 \"raw-file\" 和 \"raw-files\" 變選項擷取指定的檔案，並將原始檔案資料存儲於條目，而不套用導入邏輯。\n\n使用 \"file\" and \"raw-file\" 選項為僅擷取單個檔案，且第一個參數為要讀取檔案的網址。\n\n使用 \"files\" 和 \"raw-files\" 選項為擷取多個檔案，且第一個參數是一個產生要讀取檔案的網址清單的篩選器。例如，給定標籤為 \"remote-server\" 的一組具有欄位 \"url\" 的條目，篩選器 `[tag[remote-server]get[url]]` 將取回所有可用的網址。\n\n對於 \"file\" 和 \"files\" 選項，the `<import-filter>` 參數指定一個篩選器，用於確定要導入哪些條目。如果未提供，則預設為 `[all[tiddlers]]`。\n\n對於所有選項，`<transform-filter>` 參數指定一個可選的篩選器，用於轉換導入條目的名稱。例如，`[addprefix[$:/myimports/]]` 會將前綴  `$:/myimports/` 加至每個名稱。\n\n於 `--fetch` 之前使用 `--verbose` 命令，將在導入期間輸出進度資訊。\n\n請注意，TiddlyWiki 不會擷取一個已經載入插件的舊版本。\n\n以下範例從 https://tiddlywiki.com 取回所有非系統條目，並將其儲存到一個 JSON 檔案：\n\n```\ntiddlywiki --verbose --fetch file \"https://tiddlywiki.com/\" \"[!is[system]]\" \"\" --rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[!is[system]]\"\n```\n\n以下範例從 https://tiddlywiki.com 取回 \"favicon\" 檔案，並將其儲存在名為 \"output.ico\" 的檔案中。請注意，在 \"--fetch\" 命令中引用的中間條目 \"Icon Tiddler\"，因為它被用作轉換篩選器來替換預設的名稱，而 \"--savetiddler\" 命令沒有引號，因為它是直接用作標題。\n\n```\ntiddlywiki --verbose --fetch raw-file \"https://tiddlywiki.com/favicon.ico\" \"[[Icon Tiddler]]\" --savetiddler \"Icon Tiddler\" output.ico\n```\n"
  },
  {
    "path": "languages/zh-Hant/Help/help.tid",
    "content": "title: $:/language/Help/help\ndescription: 顯示 TiddlyWiki 命令的説明\n\n顯示命令的説明文字:\n\n```\n--help [<command>]\n```\n\n若省略命令名稱，則顯示可用命令的清單。\n"
  },
  {
    "path": "languages/zh-Hant/Help/import.tid",
    "content": "title: $:/language/Help/import\ndescription: 從檔案導入條目\n\n從 TiddlyWiki 檔案 (`.html`)、`.tiddler`、`.tid`、`.json` 或其他本機檔案導入條目。必須明確指定解串器，而不像 `load` 命令，從檔案的副檔名推斷解串器。\n\n```\n--import <filepath> <deserializer> [<title>] [<encoding>]\n```\n\n核心的解串器包括：\n\n* application/javascript\n* application/json\n* application/x-tiddler\n* application/x-tiddler-html-div\n* application/x-tiddlers\n* text/html\n* text/plain\n\n導入的條目名稱，預設為檔名。\n\n編碼預設為 \"utf8\"，但用於導入二進位檔案可以是 \"base64\"。\n\n請注意，TiddlyWiki 不會導入舊版本的已載入插件。\n"
  },
  {
    "path": "languages/zh-Hant/Help/init.tid",
    "content": "title: $:/language/Help/init\ndescription: 初始化一個新的 wiki 資料夾\n\n初始化一個空的 [[WikiFolder|WikiFolders]] 的指定版本的副本。\n\n```\n--init <edition> [<edition> ...]\n```\n\n例如：\n\n```\ntiddlywiki ./MyWikiFolder --init empty\n```\n\n注意：\n\n* 若有需要，將建立 wiki 資料夾目錄\n* 其中 \"edition\" 預設為 ''empty''\n* 若 wiki 資料夾不是空的，則初始化命令將失敗\n* 初始化命令會刪除 'tiddlywiki.info' 檔內所有 'includeWikis' 的定義。\n* 當指定多個版本時，這些版本於初始化後，將覆寫早期版本共用的所有檔案 (故此最終的 `tiddlywiki.info` 檔案將是從最近的版本複製而得)\n* `--editions` 傳回所有可用版本的清單。\n"
  },
  {
    "path": "languages/zh-Hant/Help/listen.tid",
    "content": "title: $:/language/Help/listen\ndescription: 為 TiddlyWiki 提供一個 HTTP 伺服器介面\n\n通過 HTTP 提供一個維基服務。\n\nlisten 命令使用[[命名的命令參數|NamedCommandParameters]]：\n\n```\n--listen [<name>=<value>]...\n```\n\n所有參數都是可選的, 具有安全的預設值, 可以按任意順序指定。認可的參數有:\n\n* ''host'' - 可選的主機名稱， (預設為 \"127.0.0.1\" 或名為 \"localhost\")\n* ''path-prefix'' - 可選的路徑前綴\n* ''port'' - 偵聽的埠號；非數值會被解譯為一個系統環境變數，從其中提取埠號 (預設為 \"8080\")\n* ''credentials'' - 憑證 CSV 檔案的路徑名（相對於維基資料夾）\n* ''anon-username'' - 匿名使用者的編輯署名\n* ''username'' - 可選的基本驗證使用者名稱\n* ''password'' - 可選的基本驗證密碼\n* ''authenticated-user-header'' - 可選的 HTTP 請求功能參數名稱，用於受信任身份驗證\n* ''readers'' - 允許讀取此維基，以逗號分隔的使用者名稱的清單\n* ''writers'' - 允許寫入此維基，以逗號分隔的使用者名稱的清單\n* ''csrf-disable'' - 設定為 \"yes\" 以停用 CSRF 檢查 (預設為 \"no\")\n* ''sse-enabled'' - 設定為 \"yes\" 以啟用伺服器傳送的事件 (預設為 \"no\")\n* ''root-tiddler'' - 服務的基本條目 (預設為 \"$:/core/save/all\")\n* ''root-render-type'' - 呈現的基本條目的內容類型 (預設為 \"text/plain\")\n* ''root-serve-type'' - 服務的基本條目的內容類型 (預設為 \"text/html\")\n* ''tls-cert'' - TLS 證書檔案的路徑名（相對於維基資料夾）\n* ''tls-key'' - TLS 密鑰檔案的路徑名（相對於維基資料夾）\n* ''debug-level'' - 可選的偵錯層級；設定為 \"debug\" 來檢視請求的詳細資訊；(預設為 \"none\")\n* ''gzip'' - 設為 \"yes\" 以啟用某些 http 端點的 gzip 壓縮 (預設為 \"no\")\n* ''use-browser-cache'' - 設定為 \"yes\" ，允許瀏覽器快取回應，以節省頻寬（預設值為 \"no\"）\n\n有關向整個本地網路開啟實例的資訊，以及可能的安全問題，請參閱 TiddlyWiki.com 的 WebServer 條目。\n"
  },
  {
    "path": "languages/zh-Hant/Help/load.tid",
    "content": "title: $:/language/Help/load\ndescription: 從檔案中載入條目\n\n從 TiddlyWiki (`.html`), `.tiddler`, `.tid`, `.json` 或其他本機檔案載入條目。應用的處理程序取決於導入檔案的副檔名。如果您需要明確指定解串器和編碼，請改用 `import` 命令。\n\n```\n--load <filepath> [noerror]\n--load <dirpath> [noerror]\n```\n\n預設情況下, 如果未找到條目，load 命令會引發錯誤。通過提供可選的 \"noerror\" 參數可以抑制該錯誤。\n\n從已加密的 TiddlyWiki 檔案中載入條目，須使用 PasswordCommand 指定密碼，例如：\n\n```\ntiddlywiki ./MyWiki --password pa55w0rd --load my_encrypted_wiki.html\n```\n\n請注意 TiddlyWiki 將不載入舊版本的已掛載的插件。\n"
  },
  {
    "path": "languages/zh-Hant/Help/makelibrary.tid",
    "content": "title: $:/language/Help/makelibrary\ndescription: 構建升級處理所需的程式庫插件\n\n為升級處理構建 `$:/UpgradeLibrary` 條目。\n\n升級程式庫被格式化為一個插件類型為 `library` 的一般插件條目。它包含 TiddlyWiki5 存儲庫中所有可用的插件、佈景主題和語言包的副本。\n\n此命令僅供內部使用；它只是與使用者構建一個自訂的升級程式相關。\n\n```\n--makelibrary <title>\n```\n\n標題參數預設為 `$:/UpgradeLibrary`。\n"
  },
  {
    "path": "languages/zh-Hant/Help/notfound.tid",
    "content": "title: $:/language/Help/notfound\n\n無此項目說明"
  },
  {
    "path": "languages/zh-Hant/Help/output.tid",
    "content": "title: $:/language/Help/output\ndescription: 設定後續命令的基準輸出資料夾\n\n設定後續命令的基準輸出資料夾，預設為該版本資料夾的 `output` 子資料夾。\n\n```\n--output <pathname>\n```\n\n若指定的路徑是相對路徑，則它是被解析相對於當前的工作資料夾。例如：`--output .` 將輸出資料夾設定為當前工作資料夾。"
  },
  {
    "path": "languages/zh-Hant/Help/password.tid",
    "content": "title: $:/language/Help/password\ndescription: 設定用以加密的密碼\n\n設定用以加密的密碼\n\n```\n--password <password>\n```\n\n''請注意''：這不是用於提供 TiddlyWiki 具有密碼保護功能。相反地，請看 [[ServerCommand]] 的密碼選項說明。\n"
  },
  {
    "path": "languages/zh-Hant/Help/render.tid",
    "content": "title: $:/language/Help/render\ndescription: 呈現個別條目到檔案\n\n呈現由篩選器標識的個別條目，並將結果儲存到指定的檔案。\n\n可選擇性地指定範本條目名稱。在此情況下，不是直接呈現每個條目，而是使用設為正在呈現的條目名稱的 \"currentTiddler\" 變數，來呈現範本條目。\n\n也可以選擇性地指定附加變數的名稱和值。\n\n```\n--render <tiddler-filter> [<filename-filter>] [<render-type>] [<template>] [ [<name>] [<value>] ]*\n```\n\n* ''tiddler-filter'': 標識要呈現的條目的篩選器\n* ''filename-filter'': 可選的篩選器，轉換條目名稱至路徑名。如果省略，預設為 `[is[tiddler]addsuffix[.html]]`，其使用未改變的條目名稱為檔名\n* ''template'': 可選的範本，用於呈現每個條目\n* ''render-type'': 可選的呈現類型：`text/html` (預設值) 會傳回完整的 HTML 文字，而 `text/plain` 只會傳回文字內容 (即其忽略 HTML 標記與其他不可印出的資料)\n* ''name'': 可選的變數名稱\n* ''value'': 可選的變數值\n\n預設情況下，檔名被解析為相對於發行版資料夾的 `output` 子資料夾。`--output` 命令可用於將輸出指到一個不同的資料夾。\n\n附註：\n\n* 輸出資料夾不清除任何現有的檔案\n* 檔名的路徑中，任何不存在的資料夾，將自動建立。\n* 當正呈現的條目名稱中帶有空格，請注意同時使用命令列介面所要求的引號，與 TiddlyWiki 的雙重方括號：`--render \"[[Motovun Jack.jpg]]\"`\n* 所選的項目被設定為當前正在呈現的條目名稱，以此評估檔名篩選器，允條目名稱用作基礎計算的檔名。例如，`[encodeuricomponent[]addprefix[static/]]` 為每個條目名稱套用 URI 編碼，然後增加首碼 `static/`\n* `--render` 命令是已棄用的 `--rendertiddler` 和 `--rendertiddlers` 的一個更靈活的替代命令。\n\n範例：\n\n* `--render \"[!is[system]]\" \"[encodeuricomponent[]addprefix[tiddlers/]addsuffix[.html]]\"` -- 呈現所有非系統條目為 \"tiddlers\" 子資料夾中的檔案，檔名為 URL 編碼的條目名稱和副檔名 HTML\n* `--render '.' 'tiddlers.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' '[tag[HelloThere]]'` -- 將標籤為 \"HelloThere\" 的條目渲染到名為 \"tiddlers.json\" 的 JSON 檔案"
  },
  {
    "path": "languages/zh-Hant/Help/rendertiddler.tid",
    "content": "title: $:/language/Help/rendertiddler\ndescription: 呈現個別條目為指定的內容類型 \n\n(請注意：`--rendertiddler` 命令已被棄用，而支援新的、更靈活得 `--render` 命令)\n\n呈現個別條目為指定的[[內容類型|ContentType]]，預設為 `text/html` 且儲存為指定的檔名。\n\n還能可選地指定一個範本條目的名稱，在這種情況下，\"currentTiddler\" 變數設為正在呈現的條目 (第一個參數值) 與範本條目合併呈現。\n\n也能可選地指定附加變數的名稱與其值。\n\n```\n--rendertiddler <title> <filename> [<type>] [<template>] [<name>] [<value>]\n```\n\n預設情況下，檔名被解析為相對於發行版資料夾的 `output` 子資料夾。 `--output` 命令可以用於將輸出指定到一個不同的資料夾。\n\n自動建立在檔案名稱的路徑中任何缺少的資料夾。\n\n例如，以下命令通過使用核心範本 `$:/core/templates/exporters/JsonFile`，將所有符合篩選器 `[tag[done]]` 的條目儲存到名為 `output.json` 的 JSON 檔案。\n\n```\n--rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[tag[done]]\"\n```"
  },
  {
    "path": "languages/zh-Hant/Help/rendertiddlers.tid",
    "content": "title: $:/language/Help/rendertiddlers\ndescription: 呈現符合篩選條件的條目為指定的內容類型\n\n(請注意：`--rendertiddlers` 命令已被棄用，而支援新的、更靈活得 `--render` 命令)\n\n呈現符合篩選條的條目為指定的[[內容類型|ContentType]] (預設為 `text/html`) 與副檔名 (預設為 `.html`).\n\n```\n--rendertiddlers '<filter>' <template> <pathname> [<type>] [<extension>] [\"noclean\"]\n```\n\n例如：\n\n```\n--rendertiddlers '[!is[system]]' $:/core/templates/static.tiddler.html ./static text/plain\n```\n\n預設情況下，路徑名被解析為相對於發行版資料夾的 `output` 子資料夾。 `--output` 命令可以用於將輸出指定到一個不同的資料夾。\n\n在目標資料夾中的任何檔案都會被刪除，除非指定 ''noclean'' 旗標。若缺少目標資料夾，則以遞迴方式建立。"
  },
  {
    "path": "languages/zh-Hant/Help/save.tid",
    "content": "title: $:/language/Help/save\ndescription: 將個別原始條目儲存到檔案\n\n將篩選器標識的個別條目，以原始文字或二進位格式，儲存到指定的檔案。\n\n```\n--save <tiddler-filter> <filename-filter>\n```\n\n* ''tiddler-filter'': 標識要儲存的條目的篩選器\n* ''filename-filter'': 可選的篩選器，轉換條目名稱至路徑名。如果省略，預設為 `[is[tiddler]]`，其使用未改變的條目名稱為檔名\n\n附註：\n\n* 輸出資料夾不清除任何現有的檔案\n* 檔名的路徑中，任何不存在的目錄，將自動建立。\n* 當正儲存的條目的名稱中帶有空格，請注意同時使用命令列介面所要求的引號，與 TiddlyWiki 的雙重方括號：`--save \"[[Motovun Jack.jpg]]\"`\n* 所選的項目被設定為當前正在儲存的條目名稱，以此評估檔案名篩選器，允條目名稱用作基礎計算的檔名。例如，`[encodeuricomponent[]addprefix[static/]]` 為每個條目名稱套用 URI 編碼，然後增加首碼 `static/`\n* `--save` 命令是已被棄用的 `--savetiddler` 和 `--savetiddlers` 的一個更靈活的替代命令。\n\n範例：\n\n* `--save \"[!is[system]is[image]]\" \"[encodeuricomponent[]addprefix[tiddlers/]]\"` -- 儲存所有非系統的圖像條目為 \"tiddlers\" 子資料夾中的檔案，檔名為 URL 編碼的條目名稱"
  },
  {
    "path": "languages/zh-Hant/Help/savetiddler.tid",
    "content": "title: $:/language/Help/savetiddler\ndescription: 將條目的原始內容儲存到一個檔案\n\n(請注意：`--savetiddler` 命令已被棄用，而支援新的、更靈活得 `--save` 命令)\n\n儲存個別條目的原始文字或二進位格式到指定的檔名。\n\n```\n--savetiddler <title> <filename>\n```\n\n預設情況下，檔名被解析為相對於發行版資料夾的 `output` 子資料夾。 `--output` 命令可以用於將輸出指定到一個不同的資料夾。\n\n自動建立在檔案名稱的路徑中任何缺少的資料夾。"
  },
  {
    "path": "languages/zh-Hant/Help/savetiddlers.tid",
    "content": "title: $:/language/Help/savetiddlers\ndescription: 將一群條目的原始內容儲存到一個資料夾\n\n(請注意：`--savetiddlers` 命令已被棄用，而支援新的、更靈活得 `--save` 命令)\n\n儲存一群條目的原始文字或二進位格式到指定的資料夾。\n\n```\n--savetiddlers <filter> <pathname> [noclean]\n```\n\n預設情況下，路徑名被解析為相對於發行版資料夾的 `output` 子資料夾。 `--output` 命令可以用於將輸出指定到一個不同的資料夾。\n\n儲存指定的檔案之前，會先清除輸出目錄的現有檔案。可藉由指定 ''noclean'' 旗標，停用該刪除動作。\n\n自動建立在路徑中任何缺少的資料夾。\n"
  },
  {
    "path": "languages/zh-Hant/Help/savewikifolder.tid",
    "content": "title: $:/language/Help/savewikifolder\ndescription: 將維基儲存到一個新的維基資料夾\n\n<<.from-version \"5.1.20\">> 將當前維基儲存為一個維基資料夾，包含條目、插件和配置：\n\n```\n--savewikifolder <wikifolderpath> [<filter>] [ [<name>=<value>] ]*\n```\n\n* 目標維基資料夾必須為空或不存在\n* 篩選器指定應包括哪些條目。其為可選，預設為 `[all[tiddlers]]`\n* 官方插件庫中的插件，將替換為 `tiddlywiki.info` 檔案中引用到的插件\n* 自訂插件將解壓縮到自己的資料夾中\n\n支援以下選項：\n\n* ''filter''：定義要包含在輸出中的條目的篩選器運算子。\n* ''explodePlugins'': 預設為 \"yes\"\n** ''yes'' 將 \"分解\" 插件為單獨的條目檔案，並將其儲存到維基資料夾內的插件目錄中\n** ''no'' 將抑制分解插件到其組成的條目檔案中。它將把插件儲存為 tiddlers 資料夾中的單個 JSON 條目\n\n請注意，兩個 ''explodePlugins'' 選項都會產生構建完全相同的原始維基的維基資料夾。區別在於插件在維基資料夾中的表示方式。\n\n常見的用法是將一個 TiddlyWiki HTML 檔案轉換成維基資料夾:\n\n```\ntiddlywiki --load ./mywiki.html --savewikifolder ./mywikifolder\n```\n\n將插件儲存到目標維資料夾的 tiddlers 目錄中：\n\n```\ntiddlywiki --load ./mywiki.html --savewikifolder ./mywikifolder explodePlugins=no\n``` "
  },
  {
    "path": "languages/zh-Hant/Help/server.tid",
    "content": "title: $:/language/Help/server\ndescription: （已棄用：請參閱 'listen' 命令）提供一個 HTTP 伺服器介面到 TiddlyWiki\n\n在伺服器中內建 TiddlyWiki5 是非常簡單。雖與 TiddlyWeb 相容，但不支援許多健全網際網路面向的使用方式所需的功能。\n\n提供呈現一個指定條目，也可將個別條目編碼成 JSON，且支援基本的 HTTP 操作 `GET`、`PUT` 及 `DELETE`.\n\n```\n--server <port> <root-tiddler> <root-render-type> <root-serve-type> <username> <password> <host> <path-prefix> <debug-level>\n```\n\n參數說明：\n\n* ''port'' - 要偵聽的埠號；非數值會被解譯為一個系統環境變數，從其中提取埠號 (預設為 \"8080\")\n* ''root-tiddler'' - 服務的基本條目 (預設為 \"$:/core/save/all\")\n* ''root-render-type'' - 呈現的基本條目的內容類型 (預設為 \"text/plain\")\n* ''root-serve-type'' - 服務的基本條目的內容類型 (預設為 \"text/html\")\n* ''username'' - 預設的編輯者署名\n* ''password'' - 可選的基本驗證密碼\n* ''host'' - 可選的主機名稱， (預設為 \"127.0.0.1\" 或名為 \"localhost\")\n* ''path-prefix'' - 可選的的路徑前綴\n* ''debug-level'' - 可選的偵錯層級；設定為 \"debug\" 來檢視請求的詳細資訊；(預設為 \"none\")\n\n若指定密碼參數，瀏覽器將提示使用者輸入帳號與密碼。注意，密碼係以明碼方式傳遞，應只在受信任的網路或 HTTPS 上使用。\n\n例如：\n\n```\n--server 8080 $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n\n若您需要設定主機名稱或路徑前綴，而不要求輸入密碼，則可以指定空字串的使用者名和密碼。\n\n```\n--server 8080 $:/core/save/all text/plain text/html \"\" \"\" 192.168.0.245\n```\n\n使用這樣的位址，會將您的系統暴露給本地網路。有關向整個本地網路開啟實例的資訊，以及可能的安全問題，請參閱 TiddlyWiki.com 的 WebServer 條目。\n\n同時執行多個 TiddlyWiki 伺服器，須分別指定不同的埠號。使用環境變數，有助於將埠號傳遞給 Node.js 進程。本示例引用一個名為 \"MY_PORT_NUMBER\" 的環境變數:\n\n```\n--server MY_PORT_NUMBER $:/core/save/all text/plain text/html MyUserName passw0rd\n```"
  },
  {
    "path": "languages/zh-Hant/Help/setfield.tid",
    "content": "title: $:/language/Help/setfield\ndescription: 準備用於外部條目\n\n//請注意此命令是試驗性的，且可能會更改或在最終定稿前被替換//\n\n設定一群條目的指定欄位到 wikifying 範本條目的結果，其中的 `currentTiddler` 變數設定為各該條目。\n\n```\n--setfield <filter> <fieldname> <templatetitle> <rendertype>\n```\n\n參數說明：\n\n* ''filter'' - 受影響的辨識條目的篩選條件\n* ''fieldname'' - 要修改的欄位（預設為 \"text\"）\n* ''templatetitle'' - 該條目 wikify 到指定欄位。若為空白或丟失，則刪除指定的欄位\n* ''rendertype'' - 要呈現的文本類型（預設為 \"text/plain\"; \"text/html\" 可以用於包含 HTML 標記)）\n"
  },
  {
    "path": "languages/zh-Hant/Help/unpackplugin.tid",
    "content": "title: $:/language/Help/unpackplugin\ndescription: 從插件解開附屬的條目\n\n提取插件的附屬條目，將其建立為一般條目：\n\n```\n--unpackplugin <title>\n```\n"
  },
  {
    "path": "languages/zh-Hant/Help/verbose.tid",
    "content": "title: $:/language/Help/verbose\ndescription: 觸發詳細的輸出模式\n\n觸發顯示詳細的命令執行過程，可用於偵錯\n\n```\n--verbose\n```\n"
  },
  {
    "path": "languages/zh-Hant/Help/version.tid",
    "content": "title: $:/language/Help/version\ndescription: 顯示 TiddlyWiki 的版本編號\n\n顯示 TiddlyWiki 的版本編號。\n\n```\n--version\n```\n"
  },
  {
    "path": "languages/zh-Hant/Import.multids",
    "content": "title: $:/language/Import/\n\nEditor/Import/Heading: 導入圖像並將其插入至編輯器。\nImported/Hint:  下列條目已被導入：\nListing/Cancel/Caption: 取消\nListing/Cancel/Warning: 您要取消導入嗎？\nListing/Hint: 這些條目已備妥導入：\nListing/Import/Caption: 導入\nListing/Select/Caption: 選擇\nListing/Status/Caption: 狀態\nListing/Title/Caption: 條目\nListing/Preview: 預覽：\nListing/Preview/Text: 文字\nListing/Preview/TextRaw: 文字 (原始)\nListing/Preview/Fields: 欄位\nListing/Preview/Diff: 差異\nListing/Preview/DiffFields: 差異 (欄位)\nListing/Rename/Prompt: 重新命名為：\nListing/Rename/Tooltip: 導入前重新命名條目\nListing/Rename/ConfirmRename: 重新命名條目\nListing/Rename/CancelRename: 取消\nListing/Rename/OverwriteWarning: 具有此標題的條目已存在。\nUpgrader/Plugins/Suppressed/Incompatible: 封鎖的不相容或過時插件。\nUpgrader/Plugins/Suppressed/Version: 封鎖的插件 (由於傳入的 <<incoming>> 不比現有版本 <<existing>> 新)。\nUpgrader/Plugins/Upgraded: 升級插件，從 <<incoming>> 到 <<upgraded>>。\nUpgrader/State/Suppressed: 封鎖的暫存狀態條目。\nUpgrader/System/Disabled: 停用系統條目。\nUpgrader/System/Suppressed: 封鎖的系統條目。\nUpgrader/System/Warning: 核心模組條目。\nUpgrader/System/Alert: 您即將導入一個條目會覆蓋一個核心模組條目。不建議這樣做，因為可能會使系統不穩定。\nUpgrader/ThemeTweaks/Created: 從 <$text text=<<from>>/> 遷移佈景主題。\nUpgrader/Tiddler/Disabled: 停用條目。\nUpgrader/Tiddler/Selected: 選定的條目。\nUpgrader/Tiddler/Unselected: 未選定的條目。\n"
  },
  {
    "path": "languages/zh-Hant/Misc.multids",
    "content": "title: $:/language/\n\nAlerts: 警示訊息\nAboveStory/ClassicPlugin/Warning: 您似乎要載入為 ~TiddlyWiki 經典版設計的插件。請注意，[[這些插件無法運行於 TiddlyWiki 5.x.x 版|https://tiddlywiki.com/#TiddlyWikiClassic]]。偵測到 ~TiddlyWiki 經典版插件：\nBinaryWarning/Prompt: 此條目包含二進位資料\nClassicWarning/Hint: 此條目以經典版 TiddlyWiki 標記格式撰寫，不完全相容新版 TiddlyWiki 的格式，詳細資訊請參閱：https://tiddlywiki.com/static/Upgrading。\nClassicWarning/Upgrade/Caption: 升級\nCloseAll/Button: 全部關閉\nColourPicker/Recent: 最近︰\nConfirmCancelTiddler: 您確定要放棄對條目 \"<$text text=<<title>>/>\" 的更改？\nConfirmDeleteTiddler: 您確定要刪除條目 \"<$text text=<<title>>/>\"？\nConfirmDeleteTiddlers: 您確定要刪除 <<resultCount>> 個條目？\nConfirmOverwriteTiddler: 您確定要覆寫條目 \"<$text text=<<title>>/>\"？\nConfirmEditShadowTiddler: 您即將要編輯預設條目，任何更改將會覆蓋預設的系統，使未來的升級不尋常。您確定要編輯 \"<$text text=<<title>>/>\"?\nConfirmAction: 是否要繼續？\nCount: 計數\nDefaultNewTiddlerTitle: 新條目\nDiffs/CountMessage: <<diff-count>> 個差異\nDropMessage: 現在放下（或按 ESC 鍵取消）\nEncryption/Cancel: 取消\nEncryption/ConfirmClearPassword: 您要清除密碼嗎？當儲存此維基時，這將刪除已套用的加密\nEncryption/Username: 使用者名稱\nEncryption/Password: 密碼\nEncryption/PromptSetPassword: 為此 TiddlyWiki 設定一個新密碼\nEncryption/RepeatPassword: 重複輸入密碼\nEncryption/PasswordNoMatch: 密碼不匹配\nEncryption/SetPassword: 設定密碼\nError/Caption: 錯誤\nError/DeserializeOperator/MissingOperand: 篩選器錯誤：'deserialize' 運算子缺少運算元\nError/DeserializeOperator/UnknownDeserializer: 篩選器錯誤：未知的解串器被提供為 'deserialize' 運算子的運算元\nError/Filter: 篩選器錯誤\nError/FilterRunPrefix: 篩選器錯誤：篩選器 run 的未知首碼\nError/FilterSyntax: 篩選器運算式中的語法錯誤\nError/FormatFilterOperator: 篩選器錯誤：`format` 篩選器運算子的未知尾碼\nError/IsFilterOperator: 篩選器錯誤︰'is' 篩選器運算子的未知參數\nError/LoadingPluginLibrary: 載入插件程式庫時，發生錯誤\nError/NetworkErrorAlert: `<h2>''網路錯誤''</h2>與伺服器的連線似乎已中斷。這可能表示您的網路連線有問題。請嘗試恢復網路連線才能繼續。<br><br>''恢復連線時，所有未儲存的變更，將自動同步''。`\nError/PutEditConflict: 伺服器上的檔案已更改\nError/PutForbidden: 沒有權限\nError/PutUnauthorized: 需要身份驗證\nError/RecursiveTransclusion: 於 transclude 小工具中的遞迴嵌入錯誤\nError/RetrievingSkinny: 簡要條目清單擷取錯誤\nError/SavingToTWEdit: 儲存到 TWEdit 時，發生錯誤\nError/WhileSaving: 儲存時，發生錯誤\nError/XMLHttpRequest: XMLHttpRequest 錯誤代碼\nError/ZoominTextNode: 故事視圖錯誤：您似乎嘗試與顯示在自定義容器中的條目進行互動。這很可能是由於將 `$:/tags/StoryTiddlerTemplateFilter` 與開頭包含文字或空格的範本一起使用引起的。請使用編譯指示 `\\whitespace trim`，並確保條目的全部內容都包含在單個 HTML 元素中。導致此問題的文字：\nInternalJavaScriptError/Title: 內部的 JavaScript 錯誤\nInternalJavaScriptError/Hint: 喔，真是令人尷尬。建議刷新您的瀏覽器，重新啟動 TiddlyWiki\nLayoutSwitcher/Description: 開啟版面切換器\nLazyLoadingWarning: <p>正在從 ''<$text text={{!!_canonical_uri}}/>'' 載入外部內容 ...</p><p>如果此訊息未消失，可能是條目內容類型與外部內容的類型不匹配，或是您可能正在使用的瀏覽器，不支援單檔式維基的外部內容。請參閱 https://tiddlywiki.com/#ExternalText</p>\nLoginToTiddlySpace: 登入 TiddlySpace\nManager/Controls/FilterByTag/None: (無)\nManager/Controls/FilterByTag/Prompt: 依標籤篩選︰\nManager/Controls/Order/Prompt: 反向順序\nManager/Controls/Search/Placeholder: 搜尋\nManager/Controls/Search/Prompt: 搜尋︰\nManager/Controls/Show/Option/Tags: 標籤\nManager/Controls/Show/Option/Tiddlers: 條目\nManager/Controls/Show/Prompt: 顯示︰\nManager/Controls/Sort/Prompt: 排序︰\nManager/Item/Colour: 顏色\nManager/Item/Fields: 欄位\nManager/Item/Icon/None: (無)\nManager/Item/Icon: 圖示\nManager/Item/RawText: 原始文字\nManager/Item/Tags: 標籤\nManager/Item/Tools: 工具\nManager/Item/WikifiedText: Wikified 文字\nMissingTiddler/Hint: 佚失條目 \"<$text text=<<currentTiddler>>/>\" - 點擊 {{||$:/core/ui/Buttons/edit}} 可建立此條目\nNo: 否\nOfficialPluginLibrary: ~TiddlyWiki 官方插件程式庫\nOfficialPluginLibrary/Hint: 此為在 tiddlywiki.com 的 ~TiddlyWiki 官方插件程式庫。由核心團隊維護的插件、主題和語言包。\nPageTemplate/Description: 預設的 ~Tiddlywiki 佈局\nPageTemplate/Name: 標準佈局\nPluginReloadWarning: 請儲存 {{$:/core/ui/Buttons/save-wiki}} 並刷新頁面 {{$:/core/ui/Buttons/refresh}} ，使 ~JavaScript 插件的更改生效\nRecentChanges/DateFormat: YYYY年0MM月0DD日\nShortcuts/Input/Accept/Hint: 接受選取的項目\nShortcuts/Input/AcceptVariant/Hint: 接受選取項目 (變種)\nShortcuts/Input/AdvancedSearch/Hint: 從側邊欄搜尋欄位內開啟[[進階搜尋|$:/AdvancedSearch]]面板\nShortcuts/Input/Cancel/Hint: 清除輸入欄位\nShortcuts/Input/Down/Hint: 選擇下一個項目\nShortcuts/Input/Tab-Left/Hint: 選擇上一個頁籤\nShortcuts/Input/Tab-Right/Hint: 選擇下一個頁籤\nShortcuts/Input/Up/Hint: 選擇前一個項目\nShortcuts/SidebarLayout/Hint: 更改側邊欄版面\nSwitcher/Subtitle/theme: 切換佈景主題\nSwitcher/Subtitle/layout: 切換版面\nSwitcher/Subtitle/language: 切換語言\nSwitcher/Subtitle/palette: 切換調色盤\nSystemTiddler/Tooltip: 此為系統條目\nSystemTiddlers/Include/Prompt: 包括系統條目\nTagManager/Colour/Heading: 顏色\nTagManager/Count/Heading: 計數\nTagManager/Icon/Heading: 圖示\nTagManager/Icons/None: 無\nTagManager/Info/Heading: 資訊\nTagManager/Tag/Heading: 標籤\nTiddler/DateFormat: YYYY年0MM月0DD日 0hh:0mm\nUnsavedChangesWarning: 在此 TiddlyWiki 您有尚未儲存的變更\nYes: 是\n"
  },
  {
    "path": "languages/zh-Hant/Modals/Download.tid",
    "content": "title: $:/language/Modals/Download\ntype: text/vnd.tiddlywiki\nsubtitle: Download changes\nfooter: <$button message=\"tm-close-tiddler\">關閉</$button>\nhelp: https://tiddlywiki.com/\n\n您的瀏覽器只支援手動儲存。\n\n要儲存更動的維基，右鍵點擊下方的下載鏈結，選擇\"下載檔案\"或\"儲存檔案\"，然後選擇資料夾和檔名。\n\n//您可以藉由按一下 Ctrl 鍵（Windows）或 options/ alt 鍵（Mac OS X）中的鏈接，稍微加速操作。您不會被提示資料夾或檔名，您的瀏覽器可能無法辨認它的檔名 -- 在做其他任何事之前，您可能需要重新命名副檔名為 `.html` 的檔案。//\n\n在智慧型手機上，不允許下載檔案，但您可以標記鏈結，然後從一台可以正常保存維基的桌上型電腦的維基同步你的書籤。"
  },
  {
    "path": "languages/zh-Hant/NewJournal.multids",
    "content": "title: $:/config/NewJournal/\n\nTitle: YYYY年0MM月0DD日\nText:\n"
  },
  {
    "path": "languages/zh-Hant/NewJournalTags.tid",
    "content": "title: $:/config/NewJournal/Tags\n\n日誌\n"
  },
  {
    "path": "languages/zh-Hant/Notifications.multids",
    "content": "title: $:/language/Notifications/\n\nSave/Done: 已儲存 wiki\nSave/Starting: 開始儲存 wiki\nCopiedToClipboard/Succeeded: 已複製到剪貼簿！\nCopiedToClipboard/Failed: 無法複製到剪貼簿！\n"
  },
  {
    "path": "languages/zh-Hant/Search.multids",
    "content": "title: $:/language/Search/\n\nDefaultResults/Caption: 列表\nFilter/Caption: 篩選\nFilter/Hint: 以[[篩選表達式|https://tiddlywiki.com/static/Filters.html]]搜尋\nFilter/Matches: //<small><<resultCount>> 個條目符合條件</small>//\nMatches: //<small><<resultCount>> 個條目符合條件</small>//\nMatches/All: 所有匹配：\nMatches/NoMatch: //無匹配//\nMatches/NoResult: //找不到//\nMatches/Title: 條目名稱匹配：\nSearch: 搜尋\nSearch/TooShort: 搜尋文字太短\nShadows/Caption: 預設\nShadows/Hint: 尋找預設條目\nShadows/Matches: //<small><<resultCount>> 個條目符合條件</small>//\nStandard/Caption: 標準\nStandard/Hint: 尋找一般條目\nStandard/Matches: //<small><<resultCount>> 個條目符合條件</small>//\nSystem/Caption: 系統\nSystem/Hint: 尋找系統條目\nSystem/Matches: //<small><<resultCount>> 個條目符合條件</small>//\n"
  },
  {
    "path": "languages/zh-Hant/SideBar.multids",
    "content": "title: $:/language/SideBar/\n\nAll/Caption: 全部\nCaption: 側邊欄\nContents/Caption: 目錄\nDrafts/Caption: 草稿\nExplorer/Caption: 探索\nMissing/Caption: 佚失\nMore/Caption: 更多\nOpen/Caption: 開啟\nOrphans/Caption: 孤立\nRecent/Caption: 最近\nShadows/Caption: 預設\nSystem/Caption: 系統\nTags/Caption: 標籤\nTags/Untagged/Caption: 未設標籤\nTools/Caption: 工具\nTypes/Caption: 類型\n"
  },
  {
    "path": "languages/zh-Hant/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\n一個非線性的網頁式筆記"
  },
  {
    "path": "languages/zh-Hant/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\n我的 ~TiddlyWiki"
  },
  {
    "path": "languages/zh-Hant/Snippets/FunctionDefinition.tid",
    "content": "title: $:/language/Snippets/FunctionDefinition\ntags: $:/tags/TextEditor/Snippet\ncaption: 函數定義\n\n\\function f.name(param1,param2:\"預設值\") [<param1>!is[blank]else<param2>]\n\n<<f.name>>\n"
  },
  {
    "path": "languages/zh-Hant/Snippets/ListByTag.tid",
    "content": "title: $:/language/Snippets/ListByTag\ntags: $:/tags/TextEditor/Snippet\ncaption: 依標籤篩選的條目列表\n\n<<list-links \"[tag[task]sort[title]]\">>\n"
  },
  {
    "path": "languages/zh-Hant/Snippets/MacroDefinition.tid",
    "content": "title: $:/language/Snippets/MacroDefinition\ntags: $:/tags/TextEditor/Snippet\ncaption: 巨集的定義\n\n\\define macroName(param1:\"預設值\",param2)\n巨集的內容\n\\end\n"
  },
  {
    "path": "languages/zh-Hant/Snippets/ProcedureDefinition.tid",
    "content": "title: $:/language/Snippets/ProcedureDefinition\ntags: $:/tags/TextEditor/Snippet\ncaption: 程序定義\n\n\\procedure procName(param1:\"預設值\",param2)\n這裡就是您的文字了。\n\\end\n"
  },
  {
    "path": "languages/zh-Hant/Snippets/Table 4x3.tid",
    "content": "title: $:/language/Snippets/Table4x3\ntags: $:/tags/TextEditor/Snippet\ncaption: 4 x 3 的表格\n\n|! | !一 | !二 | !三 | !四 |\n|! 1| | | | |\n|! 2| | | | |\n|! 3 | | | | |\n"
  },
  {
    "path": "languages/zh-Hant/Snippets/TableOfContents.tid",
    "content": "title: $:/language/Snippets/TableOfContents\ntags: $:/tags/TextEditor/Snippet\ncaption: 目錄\n\n<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'TableOfContents'>>\n\n</div>"
  },
  {
    "path": "languages/zh-Hant/ThemeTweaks.multids",
    "content": "title: $:/language/ThemeTweaks/\n\nThemeTweaks: 主題調整\nThemeTweaks/Hint: 您可以調整 ''Vanilla'' 佈景主題的某些樣貌。\nOptions: 選項\nOptions/SidebarLayout: 側邊欄佈局\nOptions/SidebarLayout/Fixed-Fluid: 固定故事，浮動側邊欄\nOptions/SidebarLayout/Fluid-Fixed: 浮動故事，固定側邊欄\nOptions/StickyTitles: 置頂標題\nOptions/StickyTitles/Hint: 使條目名稱\"黏著\"於瀏覽器視窗的頂端\nOptions/CodeWrapping: 在代碼區塊中折行\nSettings: 設定\nSettings/FontFamily: 字型\nSettings/CodeFontFamily: 代碼字型\nSettings/EditorFontFamily: 編輯器字型\nSettings/BackgroundImage: 頁面背景圖像\nSettings/BackgroundImageAttachment: 頁面背景圖像附屬\nSettings/BackgroundImageAttachment/Scroll: 隨條目捲動\nSettings/BackgroundImageAttachment/Fixed: 固定於視窗\nSettings/BackgroundImageSize: 頁面背景圖像大小\nSettings/BackgroundImageSize/Auto: 自動\nSettings/BackgroundImageSize/Cover: 覆蓋\nSettings/BackgroundImageSize/Contain: 包含\nMetrics: 大小\nMetrics/FontSize: 字體大小\nMetrics/LineHeight: 行高\nMetrics/BodyFontSize: 條目本文的字體大小\nMetrics/BodyLineHeight: 條目本文的行高\nMetrics/StoryLeft: 故事左側位置\nMetrics/StoryLeft/Hint: 故事河（條目區）的左邊緣與頁面左端的間距\nMetrics/StoryTop: 故事頂端位置\nMetrics/StoryTop/Hint: 故事河（條目區）的上邊緣與頁面頂端的間距\nMetrics/StoryRight: 故事右側位置\nMetrics/StoryRight/Hint: 側邊欄的左邊緣與頁面左端的間距\nMetrics/StoryWidth: 故事的寬度\nMetrics/StoryWidth/Hint: 故事河的整體寬度\nMetrics/TiddlerWidth: 條目寬度\nMetrics/TiddlerWidth/Hint: 在故事河內\nMetrics/SidebarBreakpoint: 側邊欄中斷點\nMetrics/SidebarBreakpoint/Hint: 故事河和側邊欄會並排顯示的最小頁面寬度\nMetrics/SidebarWidth: 側邊欄寬度\nMetrics/SidebarWidth/Hint: 在浮動-固定佈局中，側邊欄的寬度\n"
  },
  {
    "path": "languages/zh-Hant/TiddlerInfo.multids",
    "content": "title: $:/language/TiddlerInfo/\n\nAdvanced/Caption: 進階\nAdvanced/PluginInfo/Empty/Hint: 無資訊\nAdvanced/PluginInfo/Heading: 插件明細\nAdvanced/PluginInfo/Hint: 此插件包含以下預設條目：\nAdvanced/ShadowInfo/Heading: 預設條目狀態\nAdvanced/ShadowInfo/NotShadow/Hint: <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> 不是一個預設條目\nAdvanced/ShadowInfo/Shadow/Hint: <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> 是一個預設條目\nAdvanced/ShadowInfo/Shadow/Source: 此條目定義於插件 <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>\nAdvanced/ShadowInfo/OverriddenShadow/Hint: 已被一般條目覆寫\nFields/Caption: 欄位\nList/Caption: 列表\nList/Empty: 此條目無指定列表\nListed/Caption: 被列於\nListed/Empty: 此條目未出現於其他條目的列表中\nReferences/Caption: 反向連結\nReferences/Empty: 無條目連結至此\nTagging/Caption: 子條目\nTagging/Empty: 無任何條目以此條目之標題為標籤\nTools/Caption: 工具\n"
  },
  {
    "path": "languages/zh-Hant/Types/application_javascript.tid",
    "content": "title: $:/language/Docs/Types/application/javascript\ndescription: JavaScript 程式碼\nname: application/javascript\ngroup: 開發者\n"
  },
  {
    "path": "languages/zh-Hant/Types/application_json.tid",
    "content": "title: $:/language/Docs/Types/application/json\ndescription: JSON 資料\nname: application/json\ngroup: 開發者\n"
  },
  {
    "path": "languages/zh-Hant/Types/application_x_tiddler_dictionary.tid",
    "content": "title: $:/language/Docs/Types/application/x-tiddler-dictionary\ndescription: 資料字典\nname: application/x-tiddler-dictionary\ngroup: 開發者\n"
  },
  {
    "path": "languages/zh-Hant/Types/image_gif.tid",
    "content": "title: $:/language/Docs/Types/image/gif\ndescription: GIF 圖片\nname: image/gif\ngroup: 圖片\n"
  },
  {
    "path": "languages/zh-Hant/Types/image_jpeg.tid",
    "content": "title: $:/language/Docs/Types/image/jpeg\ndescription: JPEG 圖片\nname: image/jpeg\ngroup: 圖片\n"
  },
  {
    "path": "languages/zh-Hant/Types/image_png.tid",
    "content": "title: $:/language/Docs/Types/image/png\ndescription: PNG 圖片\nname: image/png\ngroup: 圖片\n"
  },
  {
    "path": "languages/zh-Hant/Types/image_svg_xml.tid",
    "content": "title: $:/language/Docs/Types/image/svg+xml\ndescription: SVG 圖片\nname: image/svg+xml\ngroup: 圖片\n"
  },
  {
    "path": "languages/zh-Hant/Types/text_css.tid",
    "content": "title: $:/language/Docs/Types/text/css\ndescription: 靜態樣式\nname: text/css\ngroup: 開發者\n"
  },
  {
    "path": "languages/zh-Hant/Types/text_html.tid",
    "content": "title: $:/language/Docs/Types/text/html\ndescription: HTML 標記\nname: text/html\ngroup: 文字\n"
  },
  {
    "path": "languages/zh-Hant/Types/text_plain.tid",
    "content": "title: $:/language/Docs/Types/text/plain\ndescription: 純文字\nname: text/plain\ngroup: 文字\n"
  },
  {
    "path": "languages/zh-Hant/Types/text_vnd.tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/vnd.tiddlywiki\ndescription: TiddlyWiki 5\nname: text/vnd.tiddlywiki\ngroup: 文字\n"
  },
  {
    "path": "languages/zh-Hant/Types/text_vnd.tiddlywiki_multiple.tid",
    "content": "title: $:/language/Docs/Types/text/vnd.tiddlywiki-multiple\ndescription: 複合條目\nname: text/vnd.tiddlywiki-multiple\ngroup: 開發者\ngroup-sort: 2\n"
  },
  {
    "path": "languages/zh-Hant/config.multids",
    "content": "title: $:/config/\n\nSearch/MinLength: 1\n"
  },
  {
    "path": "languages/zh-Hant/plugin.info",
    "content": "{\n\t\"title\": \"$:/languages/zh-Hant\",\n\t\"name\": \"zh-Hant\",\n\t\"plugin-type\": \"language\",\n\t\"description\": \"繁體中文\",\n\t\"author\": \"BramChen\",\n\t\"core-version\": \">=5.0.8\",\n\t\"plugin-priority\": 100\n}\n"
  },
  {
    "path": "languages/zh-TW/plugin.info",
    "content": "{\n\t\"title\": \"$:/languages/zh-TW\",\n\t\"name\": \"zh-TW\",\n\t\"plugin-type\": \"language\",\n\t\"description\": \"繁體中文 (台灣)\",\n\t\"author\": \"BramChen\",\n\t\"core-version\": \">=5.0.8\",\n\t\"dependents\": [\"$:/languages/zh-Hant\"],\n\t\"plugin-priority\": 110\n}\n"
  },
  {
    "path": "license",
    "content": "TiddlyWiki created by Jeremy Ruston, (jeremy [at] jermolene [dot] com)\n\nCopyright (c) 2004-2007, Jeremy Ruston\nCopyright (c) 2007-2025, UnaMesa Association\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n  list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n  this list of conditions and the following disclaimer in the documentation\n  and/or other materials provided with the distribution.\n\n* Neither the name of the copyright holder nor the names of its\n  contributors may be used to endorse or promote products derived from\n  this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
  },
  {
    "path": "licenses/cla-entity.md",
    "content": "TiddlyWiki5 Entity Contributor License Agreement\n================================================\n\nThank you for your interest in contributing to TiddlyWiki5. TiddlyWiki is owned by the UnaMesa Association (\"We\" or \"Us\").\n\nThis contributor agreement (\"Agreement\") documents the rights granted by contributors to Us. To make this document effective, please sign it and send it to Us by electronic submission, following the instructions in `contributing.md`, which is in the root directory of the project repository. This is a legally binding document, so please read it carefully before agreeing to it. The Agreement may cover more than one software project managed by Us.\n\n## 1. Definitions\n\n\"You\" means any Legal Entity on behalf of whom a Contribution has been received by Us.\n\n\"CLA\" means Contributor License Agreement (this document).\n\n\"Contribution\" means any work of authorship that is Submitted by You to Us in which You own or assert ownership of the Copyright. If You do not own the Copyright in the entire work of authorship, please follow the instructions in `contributing.md`, which is in the root directory of the project repository.\n\n\"Copyright\" means all rights protecting works of authorship owned or controlled by You or Your Affiliates, including copyright, moral and neighboring rights, as appropriate, for the full term of their existence including any extensions by You.\n\n\"Material\" means the work of authorship which is made available by Us to third parties. When this Agreement covers more than one software project, the Material means the work of authorship to which the Contribution was Submitted. After You Submit the Contribution, it may be included in the Material.\n\n\"Submit\" means any form of electronic, verbal, or written communication sent to Us or our representatives, including but not limited to electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, Us for the purpose of discussing and improving the Material, but excluding communication that is conspicuously marked or otherwise designated in writing by You as \"Not a Contribution.\"\n\n\"Submission Date\" means the date on which You Submit a Contribution to Us.\n\n\"Effective Date\" means the date You execute this Agreement or the date You first Submit a Contribution to Us, whichever is earlier.\n\n\"Media\" means any portion of a Contribution which is not software.\n\n\"Legal Entity\" means an entity which is not a natural person.\n\n\"Affiliates\" means other Legal Entities that control, are controlled by, or under common control with that Legal Entity. For the purposes of this definition, \"control\" means (i) the power, direct or indirect, to cause the direction or management of such Legal Entity, whether by contract or otherwise, (ii) ownership of fifty percent (50%) or more of the outstanding shares or securities which vote to elect the management or other persons who direct such Legal Entity or (iii) beneficial ownership of such entity.\n\n\n## 2. Grant of Rights\n\n### 2.1 Copyright License\n\n(a) You retain ownership of the Copyright in Your Contribution and have the same rights to use or license the Contribution which You would have had without entering into the Agreement.\n\n(b) To the maximum extent permitted by the relevant law, You grant to Us a perpetual, worldwide, non-exclusive, transferable, royalty-free, irrevocable license under the Copyright covering the Contribution, with the right to sublicense such rights through multiple tiers of sublicensees, to reproduce, modify, display, perform and distribute the Contribution as part of the Material; provided that this license is conditioned upon compliance with Section 2.3.\n\n### 2.2 Patent License\n\nFor patent claims including, without limitation, method, process, and apparatus claims which You or Your Affiliates own, control or have the right to grant, now or in the future, You grant to Us a perpetual, worldwide, non-exclusive, transferable, royalty-free, irrevocable patent license, with the right to sublicense these rights to multiple tiers of sublicensees, to make, have made, use, sell, offer for sale, import and otherwise transfer the Contribution and the Contribution in combination with the Material (and portions of such combination). This license is granted only to the extent that the exercise of the licensed rights infringes such patent claims; and provided that this license is conditioned upon compliance with Section 2.3.\n\n### 2.3 Outbound License\n\nAs a condition on the grant of rights in Sections 2.1 and 2.2, We agree to license the Contribution only under the terms of the license or licenses which We are using on the Submission Date for the Material or the following additional licenses BSD 3-clause \"New\" or \"Revised\" License (including any right to adopt any future version of a license if permitted).\n\nIn addition, We may use the following licenses for Media in the Contribution: Creative Commons Attribution 3.0 (including any right to adopt any future version of a license if permitted).\n\n### 2.4 Moral Rights.\n\nIf moral rights apply to the Contribution, to the maximum extent permitted by law, You waive and agree not to assert such moral rights against Us or our successors in interest, or any of our licensees, either direct or indirect.\n\n### 2.5 Our Rights.\n\nYou acknowledge that We are not obligated to use Your Contribution as part of the Material and may decide to include any Contribution We consider appropriate.\n\n### 2.6 Reservation of Rights.\n\nAny rights not expressly assigned or licensed under this section are expressly reserved by You.\n\n### 2.7 3rd Party Libraries and Plugins\n\nWe may use 3rd party libraries to create TiddlyWiki5 plugins. These libraries may have their own licenses. 3rd party software and licenses are not subject in this CLA, while TiddlyWiki5 plugins that use these libraries are. 3rd party libraries may be included everywhere, especially in the following directories and their subdirectories: `plugins/` and `editions/`.\n\n\n## 3. Agreement\n\nYou confirm that:\n\n(a) You have the legal authority to enter into this Agreement.\n\n(b) You or Your Affiliates own the Copyright and patent claims covering the Contribution which are required to grant the rights under Section 2.\n\n(c) The grant of rights under Section 2 does not violate any grant of rights which You or Your Affiliates have made to third parties.\n\n(d) You have followed the instructions in `contributing.md`, if You do not own the Copyright in the entire work of authorship Submitted. The file can be found in the root directory of the project repository.\n\n## 4. Disclaimer\n\nEXCEPT FOR THE EXPRESS WARRANTIES IN SECTION 3, THE CONTRIBUTION IS PROVIDED \"AS IS\". MORE PARTICULARLY, ALL EXPRESS OR IMPLIED WARRANTIES INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE EXPRESSLY DISCLAIMED BY YOU TO US AND BY US TO YOU. TO THE EXTENT THAT ANY SUCH WARRANTIES CANNOT BE DISCLAIMED, SUCH WARRANTY IS LIMITED IN DURATION TO THE MINIMUM PERIOD PERMITTED BY LAW.\n\n## 5. Consequential Damage Waiver\n\nTO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT WILL YOU OR US BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF ANTICIPATED SAVINGS, LOSS OF DATA, INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL AND EXEMPLARY DAMAGES ARISING OUT OF THIS AGREEMENT REGARDLESS OF THE LEGAL OR EQUITABLE THEORY (CONTRACT, TORT OR OTHERWISE) UPON WHICH THE CLAIM IS BASED.\n\n## 6. Miscellaneous\n\n6.1 This Agreement will be governed by and construed in accordance with the laws of the State of California and the United States excluding its conflicts of law provisions. Under certain circumstances, the governing law in this section might be superseded by the United Nations Convention on Contracts for the International Sale of Goods (\"UN Convention\") and the parties intend to avoid the application of the UN Convention to this Agreement and, thus, exclude the application of the UN Convention in its entirety to this Agreement.\n\n6.2 This Agreement sets out the entire agreement between You and Us for Your Contributions to Us and overrides all other agreements or understandings.\n\n6.3 If You or We assign the rights or obligations received through this Agreement to a third party, as a condition of the assignment, that third party must agree in writing to abide by all the rights and obligations in the Agreement.\n\n6.4 The failure of either party to require performance by the other party of any provision of this Agreement in one situation shall not affect the right of a party to require such performance at any time in the future. A waiver of performance under a provision in one situation shall not be considered a waiver of the performance of the provision in the future or a waiver of the provision in its entirety.\n\n6.5 If any provision of this Agreement is found void and unenforceable, such provision will be replaced to the extent possible with a provision that comes closest to the meaning of the original provision and which is enforceable. The terms and conditions set forth in this Agreement shall apply notwithstanding any failure of essential purpose of this Agreement or any limited remedy to the maximum extent possible under law.\n\nList of Contributors\n====================\n\nThe below-signed are contributors to a code repository that is part of the project named \"TiddlyWiki5\". Each below-signed contributor has read, understand and agrees to the terms above in the section within this document entitled \"TiddlyWiki5 Entity Contributor License Agreement\" as of **the date** beside his or her **real name**, **GitHub account name** and **Entity name**.\n\neg: Jeremy Ruston, @Jermolene for Intertwingled Innovations Limited, 2011/11/22\n\n## Contributors\n\nJeremy Ruston, @Jermolene for Federatial Limited, 2011/11/22\n\nGoogle Inc, 2015/12/21\n\nBrooks Boyd, @MidnightLightning for MidnightDesign, LLC 2019/03/21\n\nJeremy Ruston, @Jermolene for Intertwingled Innovations Limited, 2024/07/26\n"
  },
  {
    "path": "licenses/cla-individual.md",
    "content": "TiddlyWiki5 Individual Contributor License Agreement\n====================================================\n\nThank you for your interest in contributing to TiddlyWiki5. TiddlyWiki is owned by the UnaMesa Association (\"We\" or \"Us\").\n\nThis contributor agreement (\"Agreement\") documents the rights granted by contributors to Us. To make this document effective, please sign it and send it to Us by electronic submission, following the instructions in `contributing.md`, which is in the root directory of the project repository. This is a legally binding document, so please read it carefully before agreeing to it. The Agreement may cover more than one software project managed by Us.\n\n## 1. Definitions\n\n\"You\" means the individual who Submits a Contribution to Us.\n\n\"CLA\" means Contributor License Agreement (this document)\n\n\"Contribution\" means any work of authorship that is Submitted by You to Us in which You own or assert ownership of the Copyright. If You do not own the Copyright in the entire work of authorship, please follow the instructions in `contributing.md`, which is in the root directory of the project repository.\n\n\"Copyright\" means all rights protecting works of authorship owned or controlled by You, including copyright, moral and neighboring rights, as appropriate, for the full term of their existence including any extensions by You.\n\n\"Material\" means the work of authorship which is made available by Us to third parties. When this Agreement covers more than one software project, the Material means the work of authorship to which the Contribution was Submitted. After You Submit the Contribution, it may be included in the Material.\n\n\"Submit\" means any form of electronic, verbal, or written communication sent to Us or our representatives, including but not limited to electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, Us for the purpose of discussing and improving the Material, but excluding communication that is conspicuously marked or otherwise designated in writing by You as \"Not a Contribution.\"\n\n\"Submission Date\" means the date on which You Submit a Contribution to Us.\n\n\"Effective Date\" means the date You execute this Agreement or the date You first Submit a Contribution to Us, whichever is earlier.\n\n\"Media\" means any portion of a Contribution which is not software.\n\n## 2. Grant of Rights\n\n### 2.1 Copyright License\n\n(a) You retain ownership of the Copyright in Your Contribution and have the same rights to use or license the Contribution which You would have had without entering into the Agreement.\n\n(b) To the maximum extent permitted by the relevant law, You grant to Us a perpetual, worldwide, non-exclusive, transferable, royalty-free, irrevocable license under the Copyright covering the Contribution, with the right to sublicense such rights through multiple tiers of sublicensees, to reproduce, modify, display, perform and distribute the Contribution as part of the Material; provided that this license is conditioned upon compliance with Section 2.3.\n\n### 2.2 Patent License\n\nFor patent claims including, without limitation, method, process, and apparatus claims which You own, control or have the right to grant, now or in the future, You grant to Us a perpetual, worldwide, non-exclusive, transferable, royalty-free, irrevocable patent license, with the right to sublicense these rights to multiple tiers of sublicensees, to make, have made, use, sell, offer for sale, import and otherwise transfer the Contribution and the Contribution in combination with the Material (and portions of such combination). This license is granted only to the extent that the exercise of the licensed rights infringes such patent claims; and provided that this license is conditioned upon compliance with Section 2.3.\n\n### 2.3 Outbound License\n\nAs a condition on the grant of rights in Sections 2.1 and 2.2, We agree to license the Contribution only under the terms of the license or licenses which We are using on the Submission Date for the Material or the following additional licenses: BSD 3-clause \"New\" or \"Revised\" License (including any right to adopt any future version of a license if permitted).\n\nIn addition, We may use the following licenses for Media in the Contribution: Creative Commons Attribution 3.0 (including any right to adopt any future version of a license if permitted).\n\n### 2.4 Moral Rights.\n\nIf moral rights apply to the Contribution, to the maximum extent permitted by law, You waive and agree not to assert such moral rights against Us or our successors in interest, or any of our licensees, either direct or indirect.\n\n### 2.5 Our Rights.\n\nYou acknowledge that We are not obligated to use Your Contribution as part of the Material and may decide to include any Contribution We consider appropriate.\n\n### 2.6 Reservation of Rights.\n\nAny rights not expressly licensed under this section are expressly reserved by You.\n\n### 2.7 3rd Party Libraries and Plugins\n\nWe may use 3rd party libraries to create TiddlyWiki5 plugins. These libraries may have their own licenses. 3rd party software and licenses are not subject in this CLA, while TiddlyWiki5 plugins that use these libraries are. 3rd party libraries may be included everywhere, especially in the following directories and their subdirectories: `plugins/` and `editions/`.\n\n## 3. Agreement\n\nYou confirm that:\n\n(a) You have the legal authority to enter into this Agreement.\n\n(b) You own the Copyright and patent claims covering the Contribution which are required to grant the rights under Section 2.\n\n(c) The grant of rights under Section 2 does not violate any grant of rights which You have made to third parties, including Your employer. If You are an employee, You have had Your employer approve this Agreement or sign the Entity version of this document. If You are less than eighteen years old, please have Your parents or guardian sign the Agreement.\n\n(d) You have followed the instructions in `contributing.md`, if You do not own the Copyright in the entire work of authorship Submitted. The file can be found in the root directory of the project repository.\n\n## 4. Disclaimer\n\nEXCEPT FOR THE EXPRESS WARRANTIES IN SECTION 3, THE CONTRIBUTION IS PROVIDED \"AS IS\". MORE PARTICULARLY, ALL EXPRESS OR IMPLIED WARRANTIES INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE EXPRESSLY DISCLAIMED BY YOU TO US. TO THE EXTENT THAT ANY SUCH WARRANTIES CANNOT BE DISCLAIMED, SUCH WARRANTY IS LIMITED IN DURATION TO THE MINIMUM PERIOD PERMITTED BY LAW.\n\n## 5. Consequential Damage Waiver\n\nTO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT WILL YOU BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF ANTICIPATED SAVINGS, LOSS OF DATA, INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL AND EXEMPLARY DAMAGES ARISING OUT OF THIS AGREEMENT REGARDLESS OF THE LEGAL OR EQUITABLE THEORY (CONTRACT, TORT OR OTHERWISE) UPON WHICH THE CLAIM IS BASED.\n\n## 6. Miscellaneous\n\n6.1 This Agreement will be governed by and construed in accordance with the laws of the State of California and the United States excluding its conflicts of law provisions. Under certain circumstances, the governing law in this section might be superseded by the United Nations Convention on Contracts for the International Sale of Goods (\"UN Convention\") and the parties intend to avoid the application of the UN Convention to this Agreement and, thus, exclude the application of the UN Convention in its entirety to this Agreement.\n\n6.2 This Agreement sets out the entire agreement between You and Us for Your Contributions to Us and overrides all other agreements or understandings.\n\n6.3 If You or We assign the rights or obligations received through this Agreement to a third party, as a condition of the assignment, that third party must agree in writing to abide by all the rights and obligations in the Agreement.\n\n6.4 The failure of either party to require performance by the other party of any provision of this Agreement in one situation shall not affect the right of a party to require such performance at any time in the future. A waiver of performance under a provision in one situation shall not be considered a waiver of the performance of the provision in the future or a waiver of the provision in its entirety.\n\n6.5 If any provision of this Agreement is found void and unenforceable, such provision will be replaced to the extent possible with a provision that comes closest to the meaning of the original provision and which is enforceable. The terms and conditions set forth in this Agreement shall apply notwithstanding any failure of essential purpose of this Agreement or any limited remedy to the maximum extent possible under law.\n\nList of Contributors\n====================\n\nThe below-signed are contributors to a code repository that is part of the project named \"TiddlyWiki5\". Each below-signed contributor has read, understand and agrees to the terms above in the section within this document entitled \"TiddlyWiki5 Individual Contributor License Agreement\" as of **the date** beside his or her **real name** and **GitHub account name**.\n\neg: Jeremy Ruston, @Jermolene, 2011/11/22\n\n## Contributors\n\nMario Pietsch, @pmario, 2013/09/21\n\nDavid Johnston, @Brennall, 2013/09/21\n\nTobias Beer, @tobibeer, 2013/09/21\n\nNate Cain, @natecain, 2013/09/30\n\nBob Robison, @grayeul, 2013/11/11\n\nAdrian Sampaleanu, @asampal, 2013/11/17\n\nDavid Jade, @davidjade, 2013/11/30\n\nStephan Hradek, @Skeeve, 2013/11/30\n\nBrian Shaver, @shakerlxxv, 2013/12/07\n\nPaul Bond, @willover, 2013/12/17\n\nJoão Bolila, @jbolila, 2014/01/05\n\nChris Sugden, @csugden, 2014/01/13\n\nJeffrey Wilkinson, @buggyj, 2014/01/10\n\nSimon Baird, @simonbaird, 2014/01/29\n\nDaniel Barrett, @shendaras, 2014/02/07\n\nBram Chen, @BramChen, 2014/02/20\n\nXavier Cazin, @xcazin, 2014/02/21\n\nRustem Akbulatov, @rubaboo, 2014/03/04\n\nHarald Albrecht, @TheDiveO, 2014/03/12\n\nMaurizio Pollio, @mpollio, 2014/03/21\n\nMichael Fogleman, @mwfogleman, 2014/04/08\n\nJames W. Anderson, @welford, 2014/04/08\n\nTomohiro Miura, @pekopeko1, 2014/04/15\n\nDevin Weaver, @sukima, 2014/05/21\n\nIrene Knapp, @IreneKnapp, 2014/05/17\n\nDaniel Rodriguez Rivero, @danielo515, 2014/04/18\n\nJonathan Lister, @jayfresh, 2014/06/23\n\nStephan Sokolow, @ssokolow, 2014/07/15\n\nDave Gifford, @giffmex, 2014/09/05\n\nEucaly J, @Eucaly, 2014/09/14\n\nMal Gamble, @malgam, 2014/09/19\n\nTon Gerner, @gernert, 2014/09/19\n\nJulie Bertrand, @Evolena, 2014/09/22\n\nAndrey Yankin, @andrey013, 2014/09/30\n\nDavid john, @fghhfg, 2014/10/06\n\nMark S., @marxsal, 2014/10/18\n\nErwan Moreau, @erwanm, 2014/10/27\n\nFelix Küppers, @felixhayashi, 2014/11/02\n\nRoma Hicks, @roma0104, 2014/11/18\n\nJedediah Carty, @inmysocks, 2014/11/21\n\nErwan Dano, @Braincoke, 2014/11/24\n\nJim Lehmer, @dullroar, 2014/12/07\n\nAurelien Navarre, @anavarre, 2014/12/15\n\nAstrid Elocson, @aelocson, 2014/12/21\n\nAndreas Hahn, @Drakor, 2014/12/21\n\nJean-Charles Longuet, @Jc-L, 2014/12/22\n\nEvgeniy Gryaznov, @evgeniy-gryaznov, 2014/12/23\n\nAndrew Harrison, @infurnoape, 2014/12/27\n\nArlen Beiler, @arlen22, 2014/12/30\n\nDavid P Dannemiller, @dpdannemiller, 2015/01/10\n\nBen Williams, @Mathobal, 2015/01/26\n\nNeil Griffin, @ng110, 2015/01/20\n\nAlex Hough, @alexhough 2015/01/26\n\nFlorent V., @Spangenhelm 2015/02/03\n\nFrancisco A., @le-pako 2015/03/14\n\nAndreas Abeck, @andreasabeck 2015/03/18\n\nHong-Yi Dai, @reflectionalist 2015/04/04\n\nYangWeiQin, @heroboy 2015/04/19\n\nvouko, @vouko 2015/05/02\n\nChristian Ehmke, @cehmke 2015/05/10\n\nkixam, @kixam, 2015/05/27\n\nSylvain Naudin, @silvyn, 2015/06/09\n\nLolo le 13 @lolole13 2015/06/04\n\nSteven McDonald, @StevenMcD 2015/05/21\n\nRichard Smith, @richardwsmith 2015/05/22\n\nMarco Rimoldi, @marcor, 2015/06/26\n\nSlobodan Vujnovic, @slovuj, 2015/06/30\n\nAnthon Nilsson, @superdos, 2015/08/06\n\nMyeongjin, @araname, 2015/08/08\n\nHegart Dmishiv, @hegart-dmishiv, 2015/09/15\n\nWilliam Jackson, @matabele 2015/09/26\n\nKarl Knechtel, @zahlman, 2015/10/03\n\nTony Grosinger @tgrosinger 2015/10/03\n\nAntaeus Feldspar @afeldspar 2015/10/20\n\nSoeren Enevoldsen, @senevoldsen90, 2015/10/09\n\nSantiago Pelufo, @spelufo, 2015/12/18\n\nMatthew Lauber, @mklauber, 2015/11/13\n\nMatthew DeAbreu, @mdeabreu, 2016/01/05\n\nCameron Fischer, @flibbles, 2016/01/08\n\nJim, @ARRRRGH, 2016/01/11\n\nKoke Laast, @Koke24, 2016/01/27\n\nThomas Elmiger, @telmiger, 2016/02/02\n\nRichard Rath @rcrath 2016/02/12\n\nEric Drechsel @edrex 2016/02/15\n\nTomasz Pijanowski @zakrec 2016/02/21\n\n@FND 2016/02/27\n\nCengizhan Kurt, @webninjasi, 2016/03/03\n\nKnut Franke, @nome, 2016/03/20\n\nPau Deluca, @PauDeLuca, 2016/04/11\n\nBrent Maxwell, @brentmaxwell, 2016/05/20\n\nThomas Herlea, @maxthomax, 2016/06/09\n\nSegey Shishkin, @serj_aleks, 2016/07/28\n\nPrzemek Wesołek, @jest, 2016/08/05\n\nDoron Tzur, @DoronTzur 2016/08/16\n\nHans Christian Haase, @hchaase, 2016/08/11\n\nsteve schneider, @stevesunypoly, 2016/08/26\n\nNuno Mota, @nmota, 2016/12/16\n\nSylvain Comte, @sycom, 2016/12/20\n\nSaul D Beniquez, @beniquezsd 2017/01/01\n\nRizwan Ishak, @ibnishak, 2017/01/10\n\nStefano De Dionigi, @dedioste, 2017/01/19\n\nMatias Goldman, @twMat, 2017/01/22\n\nAndrew Webb, @tejjyid, 2017/03/06\n\nRichard Decal, @crypdick, 2017/04/04\n\nAdrian Morosanu, @morosanuae, 2017/06/02\n\nRob Hoelz, @hoelzro, 2017/05/08\n\nSaq Imtiaz, @saqimtiaz, 2017/06/14\n\nSimon Huber, @BurningTreeC, 2017/12/22\n\nBrian McKee, @furicle, 2018/01/08\n\nDiego Mesa, @diego898, 2018/01/11\n\nMete Balci, @metebalci, 2018/03/19\n\nSebastian Silva, @icarito, 2018/04/03\n\nLuca Dorigo, @ldorigo, 2018/05/05\n\nAnthony Muscio, @AnthonyMuscio, 2018/05/21\n\nMuhammad Talha Mansoor, @talha131, 2018/07/16\n\nBimba László, @bimlas, 2018/08/10\n\nAndres Carrera, @Lioric, 2018/10/11\n\nYurii Rashkovskii, @yrashk, 2018/10/19\n\nAbraham Samma, @abesamma, 2018/10/31\n\nGerman Ramírez, @g0erman, 2018/11/14\n\n@00SS, 2018/12/10\n\nDavid Nebauer, @dnebauer, 2019/01/01\n\nMoritz Ulrich, @the-kenny, 2019/01/03\n\nJohannes Löthberg, @kyrias, 2019/01/07\n\nBen Webber, @benwebber, 2019/01/09\n\nJesse Weinstein, @JesseWeinstein, 2019/01/14\n\nAdam Sherwood, @admls, 2019/01/27\n\nJoshua Fontany, @joshuafontany, 2019/03/07\n\nIrene Castaños, @jdjdjdjdjdjd, 2019/03/11\n\nDong Zhihong, @donmor, 2019/05/29\n\nJoshua Stubbs, @LordRatte, 2019/05/31\n\nRobin Munn, @rmunn, 2019/06/16\n\nMark Kerrigan, @markkerrigan, 2019/08/24\n\nStefan Schuster-Teupke, @StefanSTFG, 2019/08/26\n\nNils Lindemann, @nilslindemann, 2022/01/10\n\nMarica Odagaki, @ento, 2019/08/30\n\nMark Stegeman, @markstegeman, 2019/08/31\n\nMohammad Rahmani, @kookma, 2019/09/03\n\nJan-Oliver Kaiser, @janno, 2019/09/06\n\nXavier Maysonnave, @xmaysonnave, 2019/11/08\n\nWill Atwood Mitchell, @wam, 2019/12/11\n\nStefan Krüger, @s-light, 2020/01/04\n\nLee Sheng Long, @s-l-lee, 2020/01/25\n\nScott Willeke, @activescott, 2020/02/01\n\n@lucible, 2020/02/05\n\nMatthias Bilger, @m42e, 2020/03/11\n\nMandar Vaze, @mandarvaze, 2020/04/08\n\nLin Dongwu, @linonetwo, 2020/04/15\n\nTobias Hermann, @idotobi, 2020/04/19 \n\nNicolas Petton, @NicolasPetton, 2020/04/30\n\nCsaba Molnar, @mocsa, 2020/04/29\n\nJonas Passerini, @passuf, 2020/05/14\n\nDazhong Xia, @jdangerx, 2020/06/23\n\nDiep Pham, @favadi, 2020/07/30\n\nAdithya Badidey, @adithya-badidey, 2020/08/10\n\nKamal Habash, @Kamal-Habash, 2020/08/28\n\nFlorian Kohrt, @fkohrt, 2020/09/10\n\nGerald Liu, @gera2ld, 2020/09/25\n\nStefano Stoduto, @OmbraDiFenice, 2020/10/03\n\nRyan Kramer, @default-kramer, 2020/10/24\n\nMiha Lunar, @SmilyOrg, 2020/11/04\n\nMaki Lam, @makiaea, 2020/12/27\n\nChris Nicoll, @clutterstack, 2020/12/28\n\nOdin Jorna, @OdinJorna, 2020/12/31\n\nJoe Bordes, @joebordes, 2021/01/02\n\nGlenn Dixon, @dixonge, 2021/01/03\n\nRuss Thomas, @codacodr, 2021/01/03\n\nPeter Neumark, @neumark, 2021/01/15\n\nDaniel Goß, @FlashSystems, 2021/01/19\n\n@leehawk787, 2021/01/21\n\nYoonchae Lee, @BlueGreenMagick, 2021/01/21\n\nDyllon Gagnier, @slaymaker1907, 2021/01/24\n\nJ. Wilhelm, @jeremyredhead, 2021/01/27\n\nQuentin Minster, @laomaiweng, 2021/03/10\n\nCindy Ruan, @cdruan, 2021/03/18\n\nUrban Alič, @ualich, 2021/05/06\n\nJoe Bordes, @joebordes, 2021/05/30\n\nFrank Bruns-Ballhausen, @FBB-de, 2021/06/09\n\nÁlvaro González Rincón, @Alzacon, 2021/06/10\n\nRJ Skerry-Ryan, @rryan, 2021/07/03\n\nJ. Song, @8d1h, 2021/08/05\n\nSoren Bjornstad, @sobjornstad, 2021/08/18\n\nBoris Mann, @bmann, 2021/09/28\n \nMaurycy Zarzycki, @evidentlycube, 2021-10-01\n\nBrian Theado, @btheado, 2021-10-10\n\n@Telumire, 2021-10-18\n\n@eiro10, 2021-11-14\n\nFred, @tw-FRed, 2021/12/04\n\nJoseph Cosentino, @jc-ose, 2021-12-14\n\n@davout1806, 2021/12/17\n\n@pmario, @TiddlyVee, 2022/02/26\n\nEskha, @es-kha, 2022/03/04\n\n@FSpark, 2022/03/08\n\nGuang Li, @oflg, 2022/03/12\n\nDam S., @damscal, 2022/03/24\n\nMax Schillinger, @MaxGyver83, 2022/05/11\n\nNolan Darilek, @NDarilek,  2022/06/21\n\nKeiichi Shiga (🎈 BALLOON | FU-SEN), @fu-sen. 2022/07/07\n\nNathaniel Knight, @nathanielknight, 2022/07/26\n\nHuanCheng Bai, @bestony, 2022/09/17\n\nCarlo Colombo, @carlo-colombo, 2022/11/30\n\nWincent Balin, @wincentbalin, 2022/12/18\n\nJeffrey Zhang, @jeffrey4l, 2022/12/24\n\ncs84285, @cs8425, 2022/12/30\n\nNick Bell, @newmedicine, 2023/01/01\n\nFrank Kmiec, @fkmiec, 2023-01-01\n\nPippo Peppo, @pippep, 2023-01-03\n\nScott Sauye, @CrossEye, 2023-01-04\n\nMarcus Winter, @yaisog, 2023-01-07\n\nEthan Weller, @gamedungeon, 2023-01-17\n\nMateusz Wilczek, @mateuszwilczek, 2023/02/16\n\nAndrea Octo, @andrigamerita, 2023/02/24\n\nHuanC Fu, @hffqyd, 2023/03/03\n\nMichelle Saad, @michsa, 2023-03-08\n\nYukai Chou, @muzimuzhi, 2023-04-07\n\nCarmine Guida, @carmineguida, 2023-05-17\n\nTavin Cole, @tavin, 2023/05/25\n\nWhiteFall, @Zacharia2, 2023/06/04\n\n@oeyoews, 2023/06/30\n\nEric Haberstroh, @pille1842, 2023/07/23\n\n@lilscribby, 2023-07-24\n\n@TiddlyTweeter, 2023/07/25\n\n@catter-fly, 2023/07/27\n\n@cmo-pomerium, 2023/08/03\n\nBuckarooBanzay, @BuckarooBanzay, 2023/09/01\n\nTimur, @T1mL3arn, 2023/10/04\n\nWang Ke, @Gk0Wk, 2023/10/17\n\n@frittro, 2023/10/27\n\n@etardiff, 2023/12/10\n\nJohn Long, @drevarr, 2023/12/12\n\nEd Holsinger, @eschlon, 2024/02/08\n\nKim I. McKinley, @PotOfCoffee2Go, 2024/03/16\n\n@Jinix6, 2024/03/31\n\nAnders Jarmund, @andjar, 2024/04/05\n\n@sarna, 2024/04/28\n\nFokzo Kat, @CyberFoxar, 2024/05/20\n\nAndrei Rybak, @rybak, 2024/06/09\n\n@Leilei332, 2024/06/28\n\n@springerspandrel, 2024/06/27\n\n@andrewgoz, 2024/07/10\n\nMichael McDermott, @michaeljmcd, 2024-07-09\n\n@webplusai, 2024/07/23\n\nVal Packett, @valpackett, 2024/07/26\n\n@wolfsprite, 2024/08/09\n\n@JDIGIO0213, 2024/08/29\n\n@IchijikuIchigo, 2024/09/29\n\nJC John Sese Cuneta, @techmagus, 2024/10/07\n\n@zorrox1024, 2024/10/20\n\nJohn Robinette, @jrbntt, 2024/11/25\n\n@DesignThinkerer, 2024/12/02\n\nThomas E Tuoti, @well-noted, 2024/12/16\n\n@opn, 2025/01/04\n\nJ. Ryan Stinnett, @jryans, 2025/01/04\n\nGalen Huntington, @galenhuntington, 2025/01/19\n\n@Rhys-T, 2025/01/23\n\n@Rumman157, 2025/03/17\n\n@bob.jansen@cultconv.com, 2025/03/22\n\nMatthew Salmon, @matthewsalmon, 2025/04/24\n\n@jbaldus, 2025/05/28\n\n@yogoshell, 2025/06/08\n\nWu Peiyuan, @s793016, 2025/06/10\n\nMarkus Sauermann, @Sauermann, 2025/06/20\n\n@bobjoe12131, 2025/07/01\n\nIoannis Anthymidis (Ιωάννης Ανθυμίδης), @superuser-does, 2025/07/06\n\nChristian Byron, @CeeBeeTree, 2025/08/05\n\nFrédéric Demers, @bepuzzled, 2025/08/17\n\n@bombur51, 2025/09/28\n\nJoseph Yi, @josephyi, 2025/10/14\n\nRishu kumar, @rishu-7549, 2025/10/25\n\n@wiki-tutor, 2025/12/28\n\n@wiki-tutor, 2025/12/28\n\n@peteratkins, 2025/12/29\n\n@hsteve11, 2025/12/30\n\n@kjharcombe, 2026/03/16"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"tiddlywiki\",\n  \"preferGlobal\": true,\n  \"version\": \"5.4.0-prerelease\",\n  \"author\": \"Jeremy Ruston <jeremy@jermolene.com>\",\n  \"description\": \"a non-linear personal web notebook\",\n  \"contributors\": [\n    {\n      \"name\": \"Jeremy Ruston\",\n      \"email\": \"jeremy@jermolene.com\"\n    }\n  ],\n  \"bin\": {\n    \"tiddlywiki\": \"./tiddlywiki.js\"\n  },\n  \"main\": \"./boot/boot.js\",\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"https://github.com/TiddlyWiki/TiddlyWiki5.git\"\n  },\n  \"keywords\": [\n    \"tiddlywiki\",\n    \"tiddlywiki5\",\n    \"wiki\"\n  ],\n  \"devDependencies\": {\n    \"@eslint/js\": \"9.36.0\",\n    \"eslint\": \"9.36.0\",\n    \"eslint-plugin-es-x\": \"9.1.0\",\n    \"@stylistic/eslint-plugin\": \"5.4.0\",\n    \"globals\": \"16.4.0\"\n  },\n  \"license\": \"BSD\",\n  \"engines\": {\n    \"node\": \">=0.8.2\"\n  },\n  \"scripts\": {\n    \"dev\": \"node ./tiddlywiki.js ./editions/tw5.com-server --listen\",\n    \"test\": \"node ./tiddlywiki.js ./editions/test --verbose --version --build index\",\n    \"lint\": \"eslint .\",\n    \"lint:fix\": \"eslint . --fix\",\n    \"lint:check\": \"eslint . --fix-dry-run\"\n  }\n}\n"
  },
  {
    "path": "playwright.config.js",
    "content": "const { defineConfig, devices } = require('@playwright/test');\n\n/**\n * @see https://playwright.dev/docs/test-configuration\n */\nmodule.exports = defineConfig({\n  testDir: './editions/test/',\n\n  // Allow parallel tests\n  fullyParallel: true,\n\n  // Prevent accidentally committed \"test.only\" from wrecking havoc\n  forbidOnly: !!process.env.CI,\n\n  // Do not retry tests on failure\n  retries: 0,\n\n  // How many parallel workers\n  workers: process.env.CI ? 1 : undefined,\n\n  // Reporter to use. See https://playwright.dev/docs/test-reporters\n  reporter: 'html',\n\n  // Settings shared with all the tests\n  use: {\n    // Take a screenshot when the test fails\n    screenshot: {\n      mode: 'only-on-failure',\n      fullPage: true\n    }\n  },\n\n  /* Configure projects for major browsers */\n  projects: [\n    {\n      name: 'chromium',\n      use: { ...devices['Desktop Chrome'] },\n    },\n\n    {\n      name: 'firefox',\n      use: { ...devices['Desktop Firefox'] },\n    }\n  ],\n});\n\n"
  },
  {
    "path": "plugins/tiddlywiki/async/files/LICENSE",
    "content": "Copyright (c) 2010-2014 Caolan McMahon\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n"
  },
  {
    "path": "plugins/tiddlywiki/async/files/async.min.v1.5.0.js",
    "content": "!function(){function n(){}function t(n){return n}function e(n){return!!n}function r(n){return!n}function u(n){return function(){if(null===n)throw new Error(\"Callback was already called.\");n.apply(this,arguments),n=null}}function i(n){return function(){null!==n&&(n.apply(this,arguments),n=null)}}function o(n){return M(n)||\"number\"==typeof n.length&&n.length>=0&&n.length%1===0}function c(n,t){for(var e=-1,r=n.length;++e<r;)t(n[e],e,n)}function a(n,t){for(var e=-1,r=n.length,u=Array(r);++e<r;)u[e]=t(n[e],e,n);return u}function f(n){return a(Array(n),function(n,t){return t})}function l(n,t,e){return c(n,function(n,r,u){e=t(e,n,r,u)}),e}function s(n,t){c(W(n),function(e){t(n[e],e)})}function p(n,t){for(var e=0;e<n.length;e++)if(n[e]===t)return e;return-1}function h(n){var t,e,r=-1;return o(n)?(t=n.length,function(){return r++,t>r?r:null}):(e=W(n),t=e.length,function(){return r++,t>r?e[r]:null})}function m(n,t){return t=null==t?n.length-1:+t,function(){for(var e=Math.max(arguments.length-t,0),r=Array(e),u=0;e>u;u++)r[u]=arguments[u+t];switch(t){case 0:return n.call(this,r);case 1:return n.call(this,arguments[0],r)}}}function y(n){return function(t,e,r){return n(t,r)}}function v(t){return function(e,r,o){o=i(o||n),e=e||[];var c=h(e);if(0>=t)return o(null);var a=!1,f=0,l=!1;!function s(){if(a&&0>=f)return o(null);for(;t>f&&!l;){var n=c();if(null===n)return a=!0,void(0>=f&&o(null));f+=1,r(e[n],n,u(function(n){f-=1,n?(o(n),l=!0):s()}))}}()}}function d(n){return function(t,e,r){return n(C.eachOf,t,e,r)}}function g(n){return function(t,e,r,u){return n(v(e),t,r,u)}}function k(n){return function(t,e,r){return n(C.eachOfSeries,t,e,r)}}function b(t,e,r,u){u=i(u||n),e=e||[];var c=o(e)?[]:{};t(e,function(n,t,e){r(n,function(n,r){c[t]=r,e(n)})},function(n){u(n,c)})}function w(n,t,e,r){var u=[];n(t,function(n,t,r){e(n,function(e){e&&u.push({index:t,value:n}),r()})},function(){r(a(u.sort(function(n,t){return n.index-t.index}),function(n){return n.value}))})}function O(n,t,e,r){w(n,t,function(n,t){e(n,function(n){t(!n)})},r)}function S(n,t,e){return function(r,u,i,o){function c(){o&&o(e(!1,void 0))}function a(n,r,u){return o?void i(n,function(r){o&&t(r)&&(o(e(!0,n)),o=i=!1),u()}):u()}arguments.length>3?n(r,u,a,c):(o=i,i=u,n(r,a,c))}}function E(n,t){return t}function L(t,e,r){r=r||n;var u=o(e)?[]:{};t(e,function(n,t,e){n(m(function(n,r){r.length<=1&&(r=r[0]),u[t]=r,e(n)}))},function(n){r(n,u)})}function I(n,t,e,r){var u=[];n(t,function(n,t,r){e(n,function(n,t){u=u.concat(t||[]),r(n)})},function(n){r(n,u)})}function x(t,e,r){function i(t,e,r,u){if(null!=u&&\"function\"!=typeof u)throw new Error(\"task callback must be a function\");return t.started=!0,M(e)||(e=[e]),0===e.length&&t.idle()?C.setImmediate(function(){t.drain()}):(c(e,function(e){var i={data:e,callback:u||n};r?t.tasks.unshift(i):t.tasks.push(i),t.tasks.length===t.concurrency&&t.saturated()}),void C.setImmediate(t.process))}function o(n,t){return function(){f-=1;var e=!1,r=arguments;c(t,function(n){c(l,function(t,r){t!==n||e||(l.splice(r,1),e=!0)}),n.callback.apply(n,r)}),n.tasks.length+f===0&&n.drain(),n.process()}}if(null==e)e=1;else if(0===e)throw new Error(\"Concurrency must not be zero\");var f=0,l=[],s={tasks:[],concurrency:e,payload:r,saturated:n,empty:n,drain:n,started:!1,paused:!1,push:function(n,t){i(s,n,!1,t)},kill:function(){s.drain=n,s.tasks=[]},unshift:function(n,t){i(s,n,!0,t)},process:function(){if(!s.paused&&f<s.concurrency&&s.tasks.length)for(;f<s.concurrency&&s.tasks.length;){var n=s.payload?s.tasks.splice(0,s.payload):s.tasks.splice(0,s.tasks.length),e=a(n,function(n){return n.data});0===s.tasks.length&&s.empty(),f+=1,l.push(n[0]);var r=u(o(s,n));t(e,r)}},length:function(){return s.tasks.length},running:function(){return f},workersList:function(){return l},idle:function(){return s.tasks.length+f===0},pause:function(){s.paused=!0},resume:function(){if(s.paused!==!1){s.paused=!1;for(var n=Math.min(s.concurrency,s.tasks.length),t=1;n>=t;t++)C.setImmediate(s.process)}}};return s}function j(n){return m(function(t,e){t.apply(null,e.concat([m(function(t,e){\"object\"==typeof console&&(t?console.error&&console.error(t):console[n]&&c(e,function(t){console[n](t)}))})]))})}function A(n){return function(t,e,r){n(f(t),e,r)}}function T(n){return m(function(t,e){var r=m(function(e){var r=this,u=e.pop();return n(t,function(n,t,u){n.apply(r,e.concat([u]))},u)});return e.length?r.apply(this,e):r})}function z(n){return m(function(t){var e=t.pop();t.push(function(){var n=arguments;r?C.setImmediate(function(){e.apply(null,n)}):e.apply(null,n)});var r=!0;n.apply(this,t),r=!1})}var q,C={},P=\"object\"==typeof self&&self.self===self&&self||\"object\"==typeof global&&global.global===global&&global||this;null!=P&&(q=P.async),C.noConflict=function(){return P.async=q,C};var H=Object.prototype.toString,M=Array.isArray||function(n){return\"[object Array]\"===H.call(n)},U=function(n){var t=typeof n;return\"function\"===t||\"object\"===t&&!!n},W=Object.keys||function(n){var t=[];for(var e in n)n.hasOwnProperty(e)&&t.push(e);return t},B=\"function\"==typeof setImmediate&&setImmediate,D=B?function(n){B(n)}:function(n){setTimeout(n,0)};\"object\"==typeof process&&\"function\"==typeof process.nextTick?C.nextTick=process.nextTick:C.nextTick=D,C.setImmediate=B?D:C.nextTick,C.forEach=C.each=function(n,t,e){return C.eachOf(n,y(t),e)},C.forEachSeries=C.eachSeries=function(n,t,e){return C.eachOfSeries(n,y(t),e)},C.forEachLimit=C.eachLimit=function(n,t,e,r){return v(t)(n,y(e),r)},C.forEachOf=C.eachOf=function(t,e,r){function o(n){f--,n?r(n):null===c&&0>=f&&r(null)}r=i(r||n),t=t||[];for(var c,a=h(t),f=0;null!=(c=a());)f+=1,e(t[c],c,u(o));0===f&&r(null)},C.forEachOfSeries=C.eachOfSeries=function(t,e,r){function o(){var n=!0;return null===a?r(null):(e(t[a],a,u(function(t){if(t)r(t);else{if(a=c(),null===a)return r(null);n?C.setImmediate(o):o()}})),void(n=!1))}r=i(r||n),t=t||[];var c=h(t),a=c();o()},C.forEachOfLimit=C.eachOfLimit=function(n,t,e,r){v(t)(n,e,r)},C.map=d(b),C.mapSeries=k(b),C.mapLimit=g(b),C.inject=C.foldl=C.reduce=function(n,t,e,r){C.eachOfSeries(n,function(n,r,u){e(t,n,function(n,e){t=e,u(n)})},function(n){r(n,t)})},C.foldr=C.reduceRight=function(n,e,r,u){var i=a(n,t).reverse();C.reduce(i,e,r,u)},C.transform=function(n,t,e,r){3===arguments.length&&(r=e,e=t,t=M(n)?[]:{}),C.eachOf(n,function(n,r,u){e(t,n,r,u)},function(n){r(n,t)})},C.select=C.filter=d(w),C.selectLimit=C.filterLimit=g(w),C.selectSeries=C.filterSeries=k(w),C.reject=d(O),C.rejectLimit=g(O),C.rejectSeries=k(O),C.any=C.some=S(C.eachOf,e,t),C.someLimit=S(C.eachOfLimit,e,t),C.all=C.every=S(C.eachOf,r,r),C.everyLimit=S(C.eachOfLimit,r,r),C.detect=S(C.eachOf,t,E),C.detectSeries=S(C.eachOfSeries,t,E),C.detectLimit=S(C.eachOfLimit,t,E),C.sortBy=function(n,t,e){function r(n,t){var e=n.criteria,r=t.criteria;return r>e?-1:e>r?1:0}C.map(n,function(n,e){t(n,function(t,r){t?e(t):e(null,{value:n,criteria:r})})},function(n,t){return n?e(n):void e(null,a(t.sort(r),function(n){return n.value}))})},C.auto=function(t,e,r){function u(n){d.unshift(n)}function o(n){var t=p(d,n);t>=0&&d.splice(t,1)}function a(){h--,c(d.slice(0),function(n){n()})}r||(r=e,e=null),r=i(r||n);var f=W(t),h=f.length;if(!h)return r(null);e||(e=h);var y={},v=0,d=[];u(function(){h||r(null,y)}),c(f,function(n){function i(){return e>v&&l(g,function(n,t){return n&&y.hasOwnProperty(t)},!0)&&!y.hasOwnProperty(n)}function c(){i()&&(v++,o(c),h[h.length-1](d,y))}for(var f,h=M(t[n])?t[n]:[t[n]],d=m(function(t,e){if(v--,e.length<=1&&(e=e[0]),t){var u={};s(y,function(n,t){u[t]=n}),u[n]=e,r(t,u)}else y[n]=e,C.setImmediate(a)}),g=h.slice(0,h.length-1),k=g.length;k--;){if(!(f=t[g[k]]))throw new Error(\"Has inexistant dependency\");if(M(f)&&p(f,n)>=0)throw new Error(\"Has cyclic dependencies\")}i()?(v++,h[h.length-1](d,y)):u(c)})},C.retry=function(n,t,e){function r(n,t){if(\"number\"==typeof t)n.times=parseInt(t,10)||i;else{if(\"object\"!=typeof t)throw new Error(\"Unsupported argument type for 'times': \"+typeof t);n.times=parseInt(t.times,10)||i,n.interval=parseInt(t.interval,10)||o}}function u(n,t){function e(n,e){return function(r){n(function(n,t){r(!n||e,{err:n,result:t})},t)}}function r(n){return function(t){setTimeout(function(){t(null)},n)}}for(;a.times;){var u=!(a.times-=1);c.push(e(a.task,u)),!u&&a.interval>0&&c.push(r(a.interval))}C.series(c,function(t,e){e=e[e.length-1],(n||a.callback)(e.err,e.result)})}var i=5,o=0,c=[],a={times:i,interval:o},f=arguments.length;if(1>f||f>3)throw new Error(\"Invalid arguments - must be either (task), (task, callback), (times, task) or (times, task, callback)\");return 2>=f&&\"function\"==typeof n&&(e=t,t=n),\"function\"!=typeof n&&r(a,n),a.callback=e,a.task=t,a.callback?u():u},C.waterfall=function(t,e){function r(n){return m(function(t,u){if(t)e.apply(null,[t].concat(u));else{var i=n.next();i?u.push(r(i)):u.push(e),z(n).apply(null,u)}})}if(e=i(e||n),!M(t)){var u=new Error(\"First argument to waterfall must be an array of functions\");return e(u)}return t.length?void r(C.iterator(t))():e()},C.parallel=function(n,t){L(C.eachOf,n,t)},C.parallelLimit=function(n,t,e){L(v(t),n,e)},C.series=function(n,t){L(C.eachOfSeries,n,t)},C.iterator=function(n){function t(e){function r(){return n.length&&n[e].apply(null,arguments),r.next()}return r.next=function(){return e<n.length-1?t(e+1):null},r}return t(0)},C.apply=m(function(n,t){return m(function(e){return n.apply(null,t.concat(e))})}),C.concat=d(I),C.concatSeries=k(I),C.whilst=function(t,e,r){if(r=r||n,t()){var u=m(function(n,i){n?r(n):t.apply(this,i)?e(u):r(null)});e(u)}else r(null)},C.doWhilst=function(n,t,e){var r=0;return C.whilst(function(){return++r<=1||t.apply(this,arguments)},n,e)},C.until=function(n,t,e){return C.whilst(function(){return!n.apply(this,arguments)},t,e)},C.doUntil=function(n,t,e){return C.doWhilst(n,function(){return!t.apply(this,arguments)},e)},C.during=function(t,e,r){r=r||n;var u=m(function(n,e){n?r(n):(e.push(i),t.apply(this,e))}),i=function(n,t){n?r(n):t?e(u):r(null)};t(i)},C.doDuring=function(n,t,e){var r=0;C.during(function(n){r++<1?n(null,!0):t.apply(this,arguments)},n,e)},C.queue=function(n,t){var e=x(function(t,e){n(t[0],e)},t,1);return e},C.priorityQueue=function(t,e){function r(n,t){return n.priority-t.priority}function u(n,t,e){for(var r=-1,u=n.length-1;u>r;){var i=r+(u-r+1>>>1);e(t,n[i])>=0?r=i:u=i-1}return r}function i(t,e,i,o){if(null!=o&&\"function\"!=typeof o)throw new Error(\"task callback must be a function\");return t.started=!0,M(e)||(e=[e]),0===e.length?C.setImmediate(function(){t.drain()}):void c(e,function(e){var c={data:e,priority:i,callback:\"function\"==typeof o?o:n};t.tasks.splice(u(t.tasks,c,r)+1,0,c),t.tasks.length===t.concurrency&&t.saturated(),C.setImmediate(t.process)})}var o=C.queue(t,e);return o.push=function(n,t,e){i(o,n,t,e)},delete o.unshift,o},C.cargo=function(n,t){return x(n,1,t)},C.log=j(\"log\"),C.dir=j(\"dir\"),C.memoize=function(n,e){var r={},u={};e=e||t;var i=m(function(t){var i=t.pop(),o=e.apply(null,t);o in r?C.setImmediate(function(){i.apply(null,r[o])}):o in u?u[o].push(i):(u[o]=[i],n.apply(null,t.concat([m(function(n){r[o]=n;var t=u[o];delete u[o];for(var e=0,i=t.length;i>e;e++)t[e].apply(null,n)})])))});return i.memo=r,i.unmemoized=n,i},C.unmemoize=function(n){return function(){return(n.unmemoized||n).apply(null,arguments)}},C.times=A(C.map),C.timesSeries=A(C.mapSeries),C.timesLimit=function(n,t,e,r){return C.mapLimit(f(n),t,e,r)},C.seq=function(){var t=arguments;return m(function(e){var r=this,u=e[e.length-1];\"function\"==typeof u?e.pop():u=n,C.reduce(t,e,function(n,t,e){t.apply(r,n.concat([m(function(n,t){e(n,t)})]))},function(n,t){u.apply(r,[n].concat(t))})})},C.compose=function(){return C.seq.apply(null,Array.prototype.reverse.call(arguments))},C.applyEach=T(C.eachOf),C.applyEachSeries=T(C.eachOfSeries),C.forever=function(t,e){function r(n){return n?i(n):void o(r)}var i=u(e||n),o=z(t);r()},C.ensureAsync=z,C.constant=m(function(n){var t=[null].concat(n);return function(n){return n.apply(this,t)}}),C.wrapSync=C.asyncify=function(n){return m(function(t){var e,r=t.pop();try{e=n.apply(this,t)}catch(u){return r(u)}U(e)&&\"function\"==typeof e.then?e.then(function(n){r(null,n)})[\"catch\"](function(n){r(n.message?n:new Error(n))}):r(null,e)})},\"object\"==typeof module&&module.exports?module.exports=C:\"function\"==typeof define&&define.amd?define([],function(){return C}):P.async=C}();\n//# sourceMappingURL=dist/async.min.map"
  },
  {
    "path": "plugins/tiddlywiki/async/files/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": [\n\t\t{\n\t\t\t\"file\": \"async.min.v1.5.0.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/async/async.js\",\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t},\n\t\t\t\"prefix\": \"\",\n\t\t\t\"suffix\": \"\"\n\t\t},{\n\t\t\t\"file\": \"LICENSE\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"text/plain\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/async/license\"\n\t\t\t}\n\t\t}\n\t]\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/async/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/async\",\n\t\"name\": \"Async\",\n\t\"description\": \"async.js library\",\n\t\"author\": \"Caolan McMahon\",\n\t\"list\": \"readme license\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/async/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/async/readme\n\nThis plugin packages [[async.js|https://github.com/caolan/async]] for use by other plugins. It does not provide any end-user visible features.\n"
  },
  {
    "path": "plugins/tiddlywiki/aws/docs/commands.tid",
    "content": "title: $:/plugins/tiddlywiki/aws/commands\n\n{{$:/language/Help/aws}}\n"
  },
  {
    "path": "plugins/tiddlywiki/aws/docs/help.tid",
    "content": "title: $:/language/Help/aws\ndescription: Operations for working with Amazon Web Services\n\n! Commands\n\nPerform operation on Amazon Web Services\n\n```\n--aws <sub-command> [<parameter> ...]\n```\n\n! \"profile\" subcommand\n\nSets the AWS credentials profile to be used for subsequent commands.\n\n```\n--aws profile <profile-name>\n```\n\n* ''profile-name'': AWS profile name\n\n! \"s3-load\" subcommand\n\nLoad tiddlers from files in an S3 bucket.\n\n```\n--aws s3-load <region> <bucket> <filename>...\n```\n\n* ''region'': AWS region\n* ''bucket'': name of the bucket containing the files\n* ''filename'': one or more filenames of the files to load\n\nThe content in the files is deserialized according to the content type reported by S3.\n\n! \"s3-savetiddler\" subcommand\n\nSave a raw tiddler to a file in an S3 bucket.\n\n```\n--aws s3-savetiddler <title> <region> <bucket> <filename> <zipfilename> <savetype>\n```\n\n* ''title'': title of the tiddler to save\n* ''region'': AWS region\n* ''bucket'': name of the bucket to save the saved file\n* ''filename'': filename of the saved file\n* ''zipfilename'': optional; the file will be packed into a ZIP file with the specified name\n* ''savetype'': optional; the MIME type for the saved file (defaults to ''type'' or \"text/html\")\n\n! \"s3-savetiddlers\" subcommand\n\nSave raw tiddlers matching a filter to an S3 bucket.\n\n```\n--aws s3-savetiddlers <filter> <region> <bucket> <filenamefilter> <savetypefilter>\n```\n\n* ''filter'': filter identifying tiddlers to render\n* ''region'': AWS region\n* ''bucket'': name of the bucket to save the files\n* ''filenamefilter'': filter for converting tiddler titles to filepaths (eg `[aws-encodeuricomponent[]addprefix[files/]addsuffix[.html]]`)\n* ''savetypefilter'': optional; a filter that is passed the title of the tiddler being saved and should yield the MIME type for the saved file (defaults to a filter that yields the value of the ''type'' field)\n\n! \"s3-rendertiddler\" subcommand\n\nSave the results of rendering a tiddler to a file in an S3 bucket.\n\n```\n--aws s3-rendertiddler <title> <region> <bucket> <filename> <type> <template> <zipfilename> <savetype>\n```\n\n* ''title'': title of the tiddler to render\n* ''region'': AWS region\n* ''bucket'': name of the bucket to save the rendered file\n* ''filename'': filename of the rendered file\n* ''type'': optional render type (defaults to \"text/html\")\n* ''template'': optional template (defaults to directly rendering the tiddler without using a template)\n* ''zipfilename'': optional; the file will be packed into a ZIP file with the specified name\n* ''savetype'': optional; the MIME type for the saved file (defaults to ''type'' or \"text/html\")\n\n! \"s3-rendertiddlers\" subcommand\n\nSave the results of rendering tiddlers identified by a filter to files in an S3 bucket.\n\n```\n--aws s3-rendertiddlers <filter> <template> <region> <bucket> <filenamefilter> <type> <savetypefilter>\n```\n\n* ''filter'': filter identifying tiddlers to render\n* ''template'': template for rendering each tiddler\n* ''region'': AWS region\n* ''bucket'': name of the bucket to save the rendered file\n* ''filenamefilter'': filter for converting tiddler titles to filepaths (eg `[aws-encodeuricomponent[]addprefix[files/]addsuffix[.html]]`)\n* ''type'': optional render type (defaults to \"text/html\")\n* ''savetypefilter'': optional; a filter that is passed the title of the tiddler being rendered and should yield the MIME type for the saved file (defaults to the value of the ''type'' field via `[is[tiddler]get[type]]`)\n"
  },
  {
    "path": "plugins/tiddlywiki/aws/docs/lambda.tid",
    "content": "title: $:/plugins/tiddlywiki/aws/lambda\n\n! Template\n\nThe template [[$:/plugins/tiddlywiki/aws/lambdas/main]] transcludes everything required to render a TiddlyWiki as an AWS Lambda function.\n\nThe Lambda is build with this command:\n\n```\ntiddlywiki editions/aws --rendertiddler $:/plugins/tiddlywiki/aws/lambdas/main index.js text/plain\n```\n\nOr:\n\n```\ntiddlywiki editions/aws --build lambda\n```\n\n! Execution\n\nThe Lambda boot code looks for an array of tiddlers to load in `event.tiddlers`, and an array of commands to execute in `event.commands`. For example:\n\n```\n{\n\t\"commands\": [\n\t\t\"--aws\",\"s3-rendertiddler\",\"HelloThere\",\"eu-west-2\",\"my-bucket-name\",\"rendered.html\"\n\t],\n\t\"tiddlers\": [\n\t\t{\n\t\t\t\"title\": \"HelloThere\",\n\t\t\t\"text\": \"Hello from {{Platform}}.\"\n\t\t},\n\t\t{\n\t\t\t\"title\": \"Platform\",\n\t\t\t\"text\": \"TiddlyWiki\"\n\t\t}\n\t]\n}\n\n```\n\nThe event data can optionally be compressed by passing a JSON object with a single property `compressed` that contains a base64 encoded GZIP compressed representation of the JSON payload data. For example:\n\n```\nvar strPayload = JSON.stringify(payload);\nrequire(\"zlib\").gzip(strPayload,function(err,buff) {\n\tvar compressedPayload = {compressed: new Buffer(buff).toString(\"base64\")};\n\t// Invoke lambda with compressed payload\n\t...\n});\n```\n\n! Return data\n\nIf the Lambda function successfully executes it returns an object with the following fields:\n\n* ''lambda-result'': An array of `{bucketname,key}` pairs for each file written to S3 within the lambda function\n"
  },
  {
    "path": "plugins/tiddlywiki/aws/docs/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/aws/readme\n\nThis plugin provides several tools for working with Amazon Web Services:\n\n* Templates for saving a TiddlyWiki as a single JavaScript file in a ZIP file that can be executed as an AWS Lambda function. In this form, TiddlyWiki is a self contained single file containing both code and data, just like the standalone HTML file configuration\n* Commands that can be used to interact with AWS services, under both the Node.js and Lambda configurations of TiddlyWiki\n* A new \"aws-encodeuricomponent\" filter that acts like the core \"encodeuricomponent\" filter except it additionally encodes the single quote character"
  },
  {
    "path": "plugins/tiddlywiki/aws/docs/setup.tid",
    "content": "title: $:/plugins/tiddlywiki/aws/setup\n\n! Introduction\n\n!! About Amazon Web Services\n\nAmazon Web Services is a collection of online APIs to services that allow cloud-based applications to be built. It is a commercial service that charges usage fees, but there is a free tier that is sufficient for most personal use.\n\nAn ordinary Amazon account can be used to sign into the AWS console at https://aws.amazon.com/console/. Here you can see a menu of the available services and use interactive dashboards to inspect and configure resources.\n\n! Getting Started\n\n!! Setup Amazon Credentials\n\nThe main root account has super-user privileges across all the resources owned by the account. The Identity and Access Management (IAM) service allows subsidiary user accounts to be created for specific tasks. Here we create a new user account for running TiddlyWiki code:\n\n# Visit the AWS console at https://aws.amazon.com/console/\n# Choose ''IAM'' from the ''Services'' dropdown menu\n# Choose ''Users'' from the left hand menu\n# Click the ''Create New Users'' button\n# Enter ''tiddlywiki'' as the first user name\n# Check the box labelled //Generate an access key for each user//\n# Click the ''Create'' button\n# Click the ''Download Credentials'' button to download a file called \"credentials.csv\"\n#* The file contains three values:\n#*# ''User Name'': Username for\n#*# ''Password'': \n#*# ''Direct Signin Link'': \n# Create a text file with the following content:\n#> <div><pre><code>[default]\naws_access_key_id = &lt;your access key>\naws_secret_access_key = &lt;your secret access key>\n</code></pre></div>\n# Save the file as `~/.aws/credentials` (Mac/Linux) or `?` (Windows)\n\n!! Download or Clone TiddlyWiki Repository\n\nEven if you have already installed TiddlyWiki, you should create a new installation for working with the AWS plugin.\n\nVisit the TiddlyWiki5 repository at https://github.com/TiddlyWiki/TiddlyWiki5. You can either download or clone a copy:\n\n* Download to get up and running quickly\n* Clone to make it easier to upgrade in the future\n\n!! Install `aws-sdk`\n\nOpen a command terminal, switch to the directory where TiddlyWiki is installed and run the following command:\n\n```\nnpm install aws-sdk\n```\n"
  },
  {
    "path": "plugins/tiddlywiki/aws/modules/command.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/aws/command.js\ntype: application/javascript\nmodule-type: command\n\n--aws command\n\n\\*/\n\n\"use strict\";\n\nvar async,\n\tawsUtils;\n\nexports.info = {\n\tname: \"aws\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tasync = require(\"$:/plugins/tiddlywiki/async/async.js\");\n\tawsUtils = require(\"$:/plugins/tiddlywiki/aws/utils.js\");\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar subCommand = this.params[0],\n\t\tfn = this.subCommands[subCommand];\n\tif(!fn) {\n\t\treturn this.callback(\"AWS: Unknown subcommand\");\n\t}\n\tfn.bind(this)();\n\treturn null;\n};\n\nCommand.prototype.subCommands = {};\n\n// Set credentials profile\nCommand.prototype.subCommands[\"profile\"] = function() {\n\tvar AWS = require(\"aws-sdk\"),\n\t\tprofile = this.params[1],\n\t\tcredentials = new AWS.SharedIniFileCredentials({profile: profile});\n\tAWS.config.update({credentials: credentials});\n\tthis.callback(null);\n};\n\n// Load tiddlers from files in an S3 bucket\nCommand.prototype.subCommands[\"s3-load\"] = function() {\n\tvar self = this,\n\t\tregion = this.params[1],\n\t\tbucket = this.params[2],\n\t\tfilepaths = this.params.slice(3);\n\t// Check parameters\n\tif(!region || !bucket) {\n\t\tself.callback(\"Missing parameters\");\n\t}\n\tasync.eachLimit(\n\t\tfilepaths,\n\t\t20,\n\t\tfunction(filepath,callback) {\n\t\t\tawsUtils.getFile(region,bucket,filepath,function(err,data) {\n\t\t\t\tif(err) {\n\t\t\t\t\treturn callback(err);\n\t\t\t\t}\n\t\t\t\tvar tiddlers = self.commander.wiki.deserializeTiddlers(data.type,data.body,{});\n\t\t\t\t$tw.utils.each(tiddlers,function(tiddler) {\n\t\t\t\t\tself.commander.wiki.importTiddler(new $tw.Tiddler(tiddler));\n\t\t\t\t});\n\t\t\t\tcallback(null);\n\t\t\t});\n\t\t},\n\t\tfunction(err,results) {\n\t\t\tself.callback(err,results);\n\t\t}\n\t);\n\treturn null;\n};\n\n// Render a tiddler to an S3 bucket\nCommand.prototype.subCommands[\"s3-rendertiddler\"] = function() {\n\tvar self = this,\n\t\ttitle = this.params[1],\n\t\tregion = this.params[2],\n\t\tbucket = this.params[3],\n\t\tfilename = this.params[4],\n\t\ttype = this.params[5] || \"text/html\",\n\t\ttemplate = this.params[6],\n\t\tzipfilename = this.params[7],\n\t\tsaveType = this.params[8] || type,\n\t\tvariables = {};\n\t// Check parameters\n\tif(!title || !region || !bucket || !filename) {\n\t\tthrow \"Missing parameters\";\n\t}\n\t// Process the template if present\n\tif(template) {\n\t\tvariables.currentTiddler = title;\n\t\ttitle = template;\n\t}\n\t// Render the tiddler\n\tvar text = this.commander.wiki.renderTiddler(type,title,{variables: variables}),\n\t\ttype = \"text/plain\",\n\t\tencoding = ($tw.config.contentTypeInfo[type] || {encoding: \"utf8\"}).encoding;\n\t// Zip it if needed\n\tif(zipfilename) {\n\t\tvar JSZip = require(\"$:/plugins/tiddlywiki/jszip/jszip.js\"),\n\t\t\tzip = new JSZip();\n\t\tzip.file(filename,new Buffer(text,encoding));\n\t\ttext = zip.generate({type: \"base64\"});\n\t\ttype = \"application/zip\";\n\t\tfilename = zipfilename;\n\t}\n\t// Save the file\n\tasync.series([\n\t\tawsUtils.putFile.bind(null,region,bucket,filename,text,saveType)\n\t],\n\tfunction(err,results){\n\t\tself.callback(err,results);\n\t});\n\treturn null;\n};\n\nCommand.prototype.subCommands[\"s3-rendertiddlers\"] = function() {\n\tvar self = this,\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[1],\n\t\ttemplate = this.params[2],\n\t\tregion = this.params[3],\n\t\tbucket = this.params[4],\n\t\tfilenameFilter = this.params[5],\n\t\ttype = this.params[6] || \"text/html\",\n\t\tsaveTypeFilter = this.params[7] || \"[[\" + type + \"]]\",\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\t// Check parameters\n\tif(!filter || !region || !bucket || !filenameFilter) {\n\t\tthrow \"Missing parameters\";\n\t}\n\tasync.eachLimit(\n\t\ttiddlers,\n\t\t20,\n\t\tfunction(title,callback) {\n\t\t\tvar parser = wiki.parseTiddler(template || title),\n\t\t\t\twidgetNode = wiki.makeWidget(parser,{variables: {currentTiddler: title}}),\n\t\t\t\tcontainer = $tw.fakeDocument.createElement(\"div\");\n\t\t\twidgetNode.render(container,null);\n\t\t\tvar text = type === \"text/html\" ? container.innerHTML : container.textContent,\n\t\t\t\tfilename = wiki.filterTiddlers(filenameFilter,$tw.rootWidget,wiki.makeTiddlerIterator([title]))[0],\n\t\t\t\tsaveType = wiki.filterTiddlers(saveTypeFilter,$tw.rootWidget,wiki.makeTiddlerIterator([title]))[0];\n\t\t\tawsUtils.putFile(region,bucket,filename,text,saveType,callback);\n\t\t},\n\t\tfunction(err,results) {\n\t\t\tself.callback(err,results);\n\t\t}\n\t);\n\treturn null;\n};\n\n// Save a tiddler to an S3 bucket\nCommand.prototype.subCommands[\"s3-savetiddler\"] = function() {\n\tvar self = this,\n\t\twiki = this.commander.wiki,\n\t\ttitle = this.params[1],\n\t\tregion = this.params[2],\n\t\tbucket = this.params[3],\n\t\tfilename = this.params[4],\n\t\tzipfilename = this.params[5],\n\t\tsaveType = this.params[6],\n\t\ttiddler = wiki.getTiddler(title),\n\t\ttext = tiddler.fields.text,\n\t\ttype = tiddler.fields.type,\n\t\tencoding = ($tw.config.contentTypeInfo[type] || {encoding: \"utf8\"}).encoding;\n\t// Check parameters\n\tif(!title || !region || !bucket || !filename) {\n\t\tthrow \"Missing parameters\";\n\t}\n\t// Zip it if needed\n\tif(zipfilename) {\n\t\tvar JSZip = require(\"$:/plugins/tiddlywiki/jszip/jszip.js\"),\n\t\t\tzip = new JSZip();\n\t\tzip.file(filename,new Buffer(text,encoding));\n\t\ttext = zip.generate({type: \"base64\"});\n\t\ttype = \"application/zip\";\n\t\tfilename = zipfilename;\n\t}\n\t// Save the file\n\tasync.series([\n\t\tawsUtils.putFile.bind(null,region,bucket,filename,text,saveType || type)\n\t],\n\tfunction(err,results){\n\t\tself.callback(err,results);\n\t});\n\treturn null;\n};\n\n// Save a tiddler to an S3 bucket\nCommand.prototype.subCommands[\"s3-savetiddlers\"] = function() {\n\tvar self = this,\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[1],\n\t\tregion = this.params[2],\n\t\tbucket = this.params[3],\n\t\tfilenameFilter = this.params[4],\n\t\tsaveTypeFilter = this.params[5] || \"[is[tiddler]get[type]]\",\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\t// Check parameters\n\tif(!filter || !region || !bucket || !filenameFilter) {\n\t\tthrow \"Missing parameters\";\n\t}\n\tasync.eachLimit(\n\t\ttiddlers,\n\t\t20,\n\t\tfunction(title,callback) {\n\t\t\tvar tiddler = wiki.getTiddler(title);\n\t\t\tif(tiddler) {\n\t\t\t\tvar text = tiddler.fields.text || \"\",\n\t\t\t\t\ttype = tiddler.fields.type || \"text/vnd.tiddlywiki\",\n\t\t\t\t\tfilename = wiki.filterTiddlers(filenameFilter,$tw.rootWidget,wiki.makeTiddlerIterator([title]))[0],\n\t\t\t\t\tsaveType = wiki.filterTiddlers(saveTypeFilter,$tw.rootWidget,wiki.makeTiddlerIterator([title]))[0];\n\t\t\t\tawsUtils.putFile(region,bucket,filename,text,saveType || type,callback);\t\t\t\t\n\t\t\t} else {\n\t\t\t\tprocess.nextTick(callback,null);\n\t\t\t}\n\t\t},\n\t\tfunction(err,results) {\n\t\t\tself.callback(err,results);\n\t\t}\n\t);\n\treturn null;\n};\n\nexports.Command = Command;\n"
  },
  {
    "path": "plugins/tiddlywiki/aws/modules/encodings.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/aws/encodings.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for applying encodeuricomponent() to each item, with the addition of converting single quotes to %27, as required by AWS\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter functions\n*/\n\nexports[\"aws-encodeuricomponent\"] = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(encodeURIComponent(title).replace(/'/g,\"%27\"));\n\t});\n\treturn results;\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/aws/modules/init.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/aws/init.js\ntype: application/javascript\nmodule-type: startup\n\nAWS initialisation\n\n\\*/\n\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"aws-init\";\nexports.before = [\"startup\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\tvar logger = new $tw.utils.Logger(\"aws\");\n\tif($tw.node) {\n\t\ttry {\n\t\t\trequire(\"aws-sdk\");\n\t\t} catch(e) {\n\t\t\tlogger.alert(\"The plugin 'tiddlywiki/aws' requires the aws-sdk to be installed. Run 'npm install aws-sdk' in the root of the TiddlyWiki repository\");\n\t\t}\n\t}\n\tif(!$tw.modules.titles[\"$:/plugins/tiddlywiki/async/async.js\"]) {\n\t\tlogger.alert(\"The plugin 'tiddlywiki/aws' requires the 'tiddlywiki/async' plugin to be installed\");\n\t}\n\tif(!$tw.modules.titles[\"$:/plugins/tiddlywiki/jszip/jszip.js\"]) {\n\t\tlogger.alert(\"The plugin 'tiddlywiki/aws' requires the 'tiddlywiki/jszip' plugin to be installed\");\n\t}\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/aws/modules/utils.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/aws/utils.js\ntype: application/javascript\nmodule-type: library\n\nAWS utility functions\n\n\\*/\n\n\"use strict\";\n\n/*\nGet a file from an S3 bucket\nregion:\nbucketName:\ntitle:\ncallback: invoked with (err,{body:,type:}\n*/\nfunction getFile(region,bucketName,title,callback) {\n\t// console.log(\"Reading file from S3\",bucketName,title);\n\tvar AWS = require(\"aws-sdk\"),\n\t\ts3bucket = new AWS.S3({\n\t\t\tregion: region\n\t\t}),\n\t\tparams = {\n\t\t\tBucket: bucketName,\n\t\t\tKey: title\n\t\t};\n\ts3bucket.getObject(params,function(err,data) {\n\t\tif(err) {\n\t\t\treturn callback(err);\n\t\t}\n\t\tcallback(null,{\n\t\t\tetag: data.ETag,\n\t\t\tversion: data.VersionId,\n\t\t\ttype: data.ContentType,\n\t\t\tbody: data.Body.toString()\n\t\t});\n\t});\n}\n\n/*\nPut a file to an S3 bucket\n*/\nfunction putFile(region,bucketName,title,text,type,callback) {\n\t// Log the write\n\tif($tw[\"lambda-result\"]) {\n\t\t$tw[\"lambda-result\"][\"files-written\"].push({bucket: bucketName,key: title});\t\t\n\t}\n\t// console.log(\"Writing file to S3\",bucketName,title,type);\n\tvar AWS = require(\"aws-sdk\"),\n\t\ts3bucket = new AWS.S3({\n\t\t\tregion: region\n\t\t}),\n\t\tencoding = ($tw.config.contentTypeInfo[type] || {encoding: \"utf8\"}).encoding,\n\t\tparams = {\n\t\t\tBucket: bucketName,\n\t\t\tKey: title,\n\t\t\tBody: new Buffer(text,encoding),\n\t\t\tContentType: type || \"text/plain\"\n\t\t};\n\ts3bucket.upload(params,function(err,data) {\n\t\tif(err) {\n\t\t\treturn callback(err + \" (writing \" + title + \" to \" + bucketName + \", type \" + type + \")\");\n\t\t}\n\t\tcallback(null,data);\n\t});\n}\n\nexports.putFile = putFile;\nexports.getFile = getFile;\n"
  },
  {
    "path": "plugins/tiddlywiki/aws/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/aws\",\n\t\"name\": \"AWS\",\n\t\"description\": \"Amazon Web Services extensions and tools\",\n\t\"list\": \"readme setup commands lambda\",\n\t\"dependents\": [\"$:/plugins/tiddlywiki/async\",\"$:/plugins/tiddlywiki/jszip\"],\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/aws/templates/lambda/handler.tid",
    "content": "title: $:/plugins/tiddlywiki/aws/lambda/handler\ntype: text/plain\n\n/*\nTiddlyWiki for AWS\n*/\n\nexports.handler = function(event,context,callback) {\n\t// Initialise the boot prefix\n\tglobal.$tw = _bootprefix();\n\t// Initialise the returned results\n\t$tw[\"lambda-result\"] = {\n\t\t\"files-written\": []\n\t};\n\t// Some default package info\n\t$tw.packageInfo = lambdaPackageInfo;\n\t// Load any tiddlers from the package\n\t$tw.preloadTiddlerArray(lambdaTiddlers);\n\t// Decompress the event data if required\n\tif(typeof event.compressed === \"string\") {\n\t\trequire(\"zlib\").gunzip(Buffer.from(event.compressed,\"base64\"),function(err,buff) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tboot(JSON.parse(buff.toString()));\n\t  });\n\t} else {\n\t\tboot(event);\n\t}\n\n\tfunction boot(event) {\n\t\t// Load any tiddlers from the event\n\t\tif(event.tiddlers) {\n\t\t\t$tw.preloadTiddlerArray(event.tiddlers);\t\n\t\t}\n\t\t// Load the commands from the event\n\t\t$tw.boot.argv = (event.commands || []).slice(0);\n\t\t// Boot the TW5 app\n\t\t_boot($tw);\n\t\t$tw.boot.boot(function() {\n\t\t\tcallback(null,$tw[\"lambda-result\"]);\n\t\t});\t\n\t}\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/aws/templates/lambda/main.tid",
    "content": "title: $:/plugins/tiddlywiki/aws/lambdas/main\n\n\\rules only filteredtranscludeinline transcludeinline\n\n/*\n{{ $:/core/copyright.txt }}\n*/\n\n{{$:/plugins/tiddlywiki/aws/lambda/tiddlers}}\n\n{{$:/plugins/tiddlywiki/aws/lambda/sjcl}}\n\n{{ $:/boot/bootprefix.js ||$:/core/templates/plain-text-tiddler}}\n\n{{ $:/boot/boot.js ||$:/core/templates/plain-text-tiddler}}\n\n{{$:/plugins/tiddlywiki/aws/lambda/package-info}}\n\n{{ $:/plugins/tiddlywiki/aws/lambda/handler ||$:/core/templates/plain-text-tiddler}}\n"
  },
  {
    "path": "plugins/tiddlywiki/aws/templates/lambda/package-info.tid",
    "content": "title: $:/plugins/tiddlywiki/aws/lambda/package-info\n\n\\rules only filteredtranscludeinline transcludeinline codeinline macrocallinline\n`\nvar lambdaPackageInfo = {\n\t\"version\": \"`<<version>>`\",\n\t\"engines\": {\n\t\t\"node\": \">=0.8.2\"\n\t}\n};\n`\n"
  },
  {
    "path": "plugins/tiddlywiki/aws/templates/lambda/sjcl.tid",
    "content": "title: $:/plugins/tiddlywiki/aws/lambda/sjcl\n\n\\rules only filteredtranscludeinline transcludeinline\n\n(function() {\n\nvar module, window = {};\n\nglobal.sjcl = (function() {\n\n{{ $:/library/sjcl.js ||$:/core/templates/plain-text-tiddler}}\n\nreturn window.sjcl;\n\n})();\n\n})();\n"
  },
  {
    "path": "plugins/tiddlywiki/aws/templates/lambda/tiddlers.tid",
    "content": "title: $:/plugins/tiddlywiki/aws/lambda/tiddlers\n\n`\nvar lambdaTiddlers = `<$text text=<<jsontiddlers \"[all[tiddlers]]\">>/>`;\n`\n"
  },
  {
    "path": "plugins/tiddlywiki/bibtex/deserializer.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/bibtex/deserializer.js\ntype: application/javascript\nmodule-type: tiddlerdeserializer\n\nBibTeX file deserializer\n\n\\*/\n\n\"use strict\";\n\nvar bibtexParse = require(\"$:/plugins/tiddlywiki/bibtex/bibtexParse.js\");\n\n/*\nParse an BibTeX file into tiddlers\n*/\nexports[\"application/x-bibtex\"] = function(text,fields) {\n\tvar data,\n\t\tresults = [];\n\t// Parse the text\n\ttry {\n\t\tdata = bibtexParse.toJSON(text);\n\t} catch(ex) {\n\t\tdata = ex.toString();\n\t}\n\tif(typeof data === \"string\") {\n\t\treturn [{\n\t\t\ttitle: \"BibTeX import error\",\n\t\t\ttext: data\n\t\t}];\n\t}\n\t// Convert each entry\n\t$tw.utils.each(data,function(entry) {\n\t\tvar fields = {\n\t\t\ttitle: entry.citationKey,\n\t\t\t\"bibtex-entry-type\": entry.entryType\n\t\t};\n\t\t$tw.utils.each(entry.entryTags,function(value,name) {\n\t\t\tfields[\"bibtex-\" + name.toLowerCase()] = value;\n\t\t});\n\t\tresults.push(fields);\n\t});\n\t// Return the output tiddlers\n\treturn results;\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/bibtex/doc/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/bibtex/readme\n\nThe BibTeX plugin provides a deserializer that can convert bibliographic entries in `.bib` files into individual tiddlers.\n\nYou can use it in the browser by dragging and dropping a `.bib` file into the TiddlyWiki window. Under Node.js, use the `--load` command to load a `.bib` file.\n\nThe conversion is as follows:\n\n* `title` comes from citationKey\n* `bibtex-entry-type` comes from entryType\n* all `entryTags` are assigned to fields with the prefix `bibtex-`\n\nThe BibTeX plugin is based on the library [[bibtexParseJs by Henrik Muehe and Mikola Lysenko|https://github.com/ORCID/bibtexParseJs]].\n"
  },
  {
    "path": "plugins/tiddlywiki/bibtex/files/LICENSE",
    "content": "\nThe MIT License (MIT)\nCopyright (c) 2013 ORCID, Inc.\n\nCopyright (c) 2010 Henrik Muehe\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n"
  },
  {
    "path": "plugins/tiddlywiki/bibtex/files/README.md",
    "content": "bibtexParseJs\n=============\nA JavaScript library that parses BibTeX parser. Forked from \n[bibtex-parser](https://github.com/mikolalysenko/bibtex-parser).\n\n\n## Using in Browser\nInclude bibtexParse.js and call \n\n```\nbibtexParse.toJSON('@article{sample1,title={sample title}}');\n```\n\n## Using in [Node.js](http://nodejs.org/)\nInstall     ```npm install bibtex-parse-js```\n\n```\nvar bibtexParse = require('bibtex-parse-js');\n\nvar sample = bibtexParse.toJSON('@article{sample1,title={sample title}}');\n\nconsole.log(sample);\n``` \n\n**Returns** A parsed bibtex file as a JSON Array Object\n\n```\n[ { citationKey: 'SAMPLE1',\n    entryType: 'ARTICLE',\n    entryTags: { TITLE: 'sample title' } } ]\n```\n\n## Contributing\n   Contributions are welcome. Please make sure the unit test(test/runTest.js) reflects the\n   changes and completes successfully. \n\n#### Travis CI\nSee the latest build and results at [https://travis-ci.org/ORCID/bibtexParseJs](https://travis-ci.org/ORCID/bibtexParseJs)\n\n## Credits\n(c) 2010 Henrik Muehe.  MIT License \n[visit](https://code.google.com/p/bibtex-js/)\n\n\nCommonJS port maintained by Mikola Lysenko \n[visit](https://github.com/mikolalysenko/bibtex-parser)\n\n"
  },
  {
    "path": "plugins/tiddlywiki/bibtex/files/bibtexParse.js",
    "content": "/* start bibtexParse 0.0.24 */\n\n//Original work by Henrik Muehe (c) 2010\n//\n//CommonJS port by Mikola Lysenko 2013\n//\n//Choice of compact (default) or pretty output from toBibtex:\n//\t\tNick Bailey, 2017.\n//\n//Port to Browser lib by ORCID / RCPETERS\n//\n//Issues:\n//no comment handling within strings\n//no string concatenation\n//no variable values yet\n//Grammar implemented here:\n//bibtex -> (string | preamble | comment | entry)*;\n//string -> '@STRING' '{' key_equals_value '}';\n//preamble -> '@PREAMBLE' '{' value '}';\n//comment -> '@COMMENT' '{' value '}';\n//entry -> '@' key '{' key ',' key_value_list '}';\n//key_value_list -> key_equals_value (',' key_equals_value)*;\n//key_equals_value -> key '=' value;\n//value -> value_quotes | value_braces | key;\n//value_quotes -> '\"' .*? '\"'; // not quite\n//value_braces -> '{' .*? '\"'; // not quite\n(function(exports) {\n\n    function BibtexParser() {\n\n        this.months = [\"jan\", \"feb\", \"mar\", \"apr\", \"may\", \"jun\", \"jul\", \"aug\", \"sep\", \"oct\", \"nov\", \"dec\"];\n        this.notKey = [',','{','}',' ','='];\n        this.pos = 0;\n        this.input = \"\";\n        this.entries = new Array();\n\n        this.currentEntry = \"\";\n\n        this.setInput = function(t) {\n            this.input = t;\n        };\n\n        this.getEntries = function() {\n            return this.entries;\n        };\n\n        this.isWhitespace = function(s) {\n            return (s == ' ' || s == '\\r' || s == '\\t' || s == '\\n');\n        };\n\n        this.match = function(s, canCommentOut) {\n            if (canCommentOut == undefined || canCommentOut == null)\n                canCommentOut = true;\n            this.skipWhitespace(canCommentOut);\n            if (this.input.substring(this.pos, this.pos + s.length) == s) {\n                this.pos += s.length;\n            } else {\n                throw TypeError(\"Token mismatch: match\", \"expected \" + s + \", found \"\n                        + this.input.substring(this.pos));\n            };\n            this.skipWhitespace(canCommentOut);\n        };\n\n        this.tryMatch = function(s, canCommentOut) {\n            if (canCommentOut == undefined || canCommentOut == null)\n                canCommentOut = true;\n            this.skipWhitespace(canCommentOut);\n            if (this.input.substring(this.pos, this.pos + s.length) == s) {\n                return true;\n            } else {\n                return false;\n            };\n            this.skipWhitespace(canCommentOut);\n        };\n\n        /* when search for a match all text can be ignored, not just white space */\n        this.matchAt = function() {\n            while (this.input.length > this.pos && this.input[this.pos] != '@') {\n                this.pos++;\n            };\n\n            if (this.input[this.pos] == '@') {\n                return true;\n            };\n            return false;\n        };\n\n        this.skipWhitespace = function(canCommentOut) {\n            while (this.isWhitespace(this.input[this.pos])) {\n                this.pos++;\n            };\n            if (this.input[this.pos] == \"%\" && canCommentOut == true) {\n                while (this.input[this.pos] != \"\\n\") {\n                    this.pos++;\n                };\n                this.skipWhitespace(canCommentOut);\n            };\n        };\n\n        this.value_braces = function() {\n            var bracecount = 0;\n            this.match(\"{\", false);\n            var start = this.pos;\n            var escaped = false;\n            while (true) {\n                if (!escaped) {\n                    if (this.input[this.pos] == '}') {\n                        if (bracecount > 0) {\n                            bracecount--;\n                        } else {\n                            var end = this.pos;\n                            this.match(\"}\", false);\n                            return this.input.substring(start, end);\n                        };\n                    } else if (this.input[this.pos] == '{') {\n                        bracecount++;\n                    } else if (this.pos >= this.input.length - 1) {\n                        throw TypeError(\"Unterminated value: value_braces\");\n                    };\n                };\n                if (this.input[this.pos] == '\\\\' && escaped == false)\n                    escaped = true;\n                else\n                    escaped = false;\n                this.pos++;\n            };\n        };\n\n        this.value_comment = function() {\n            var str = '';\n            var brcktCnt = 0;\n            while (!(this.tryMatch(\"}\", false) && brcktCnt == 0)) {\n                str = str + this.input[this.pos];\n                if (this.input[this.pos] == '{')\n                    brcktCnt++;\n                if (this.input[this.pos] == '}')\n                    brcktCnt--;\n                if (this.pos >= this.input.length - 1) {\n                    throw TypeError(\"Unterminated value: value_comment\", + this.input.substring(start));\n                };\n                this.pos++;\n            };\n            return str;\n        };\n\n        this.value_quotes = function() {\n            this.match('\"', false);\n            var start = this.pos;\n            var escaped = false;\n            while (true) {\n                if (!escaped) {\n                    if (this.input[this.pos] == '\"') {\n                        var end = this.pos;\n                        this.match('\"', false);\n                        return this.input.substring(start, end);\n                    } else if (this.pos >= this.input.length - 1) {\n                        throw TypeError(\"Unterminated value: value_quotes\", this.input.substring(start));\n                    };\n                }\n                if (this.input[this.pos] == '\\\\' && escaped == false)\n                    escaped = true;\n                else\n                    escaped = false;\n                this.pos++;\n            };\n        };\n\n        this.single_value = function() {\n            var start = this.pos;\n            if (this.tryMatch(\"{\")) {\n                return this.value_braces();\n            } else if (this.tryMatch('\"')) {\n                return this.value_quotes();\n            } else {\n                var k = this.key();\n                if (k.match(\"^[0-9]+$\"))\n                    return k;\n                else if (this.months.indexOf(k.toLowerCase()) >= 0)\n                    return k.toLowerCase();\n                else\n                    throw \"Value expected: single_value\" + this.input.substring(start) + ' for key: ' + k;\n\n            };\n        };\n\n        this.value = function() {\n            var values = [];\n            values.push(this.single_value());\n            while (this.tryMatch(\"#\")) {\n                this.match(\"#\");\n                values.push(this.single_value());\n            };\n            return values.join(\"\");\n        };\n\n        this.key = function(optional) {\n            var start = this.pos;\n            while (true) {\n                if (this.pos >= this.input.length) {\n                    throw TypeError(\"Runaway key: key\");\n                };\n                                // а-яА-Я is Cyrillic\n                //console.log(this.input[this.pos]);\n                if (this.notKey.indexOf(this.input[this.pos]) >= 0) {\n                    if (optional && this.input[this.pos] != ',') {\n                        this.pos = start;\n                        return null;\n                    };\n                    return this.input.substring(start, this.pos);\n                } else {\n                    this.pos++;\n\n                };\n            };\n        };\n\n        this.key_equals_value = function() {\n            var key = this.key();\n            if (this.tryMatch(\"=\")) {\n                this.match(\"=\");\n                var val = this.value();\n                key = key.trim()\n                return [ key, val ];\n            } else {\n                throw TypeError(\"Value expected, equals sign missing: key_equals_value\",\n                     this.input.substring(this.pos));\n            };\n        };\n\n        this.key_value_list = function() {\n            var kv = this.key_equals_value();\n            this.currentEntry['entryTags'] = {};\n            this.currentEntry['entryTags'][kv[0]] = kv[1];\n            while (this.tryMatch(\",\")) {\n                this.match(\",\");\n                // fixes problems with commas at the end of a list\n                if (this.tryMatch(\"}\")) {\n                    break;\n                }\n                ;\n                kv = this.key_equals_value();\n                this.currentEntry['entryTags'][kv[0]] = kv[1];\n            };\n        };\n\n        this.entry_body = function(d) {\n            this.currentEntry = {};\n            this.currentEntry['citationKey'] = this.key(true);\n            this.currentEntry['entryType'] = d.substring(1);\n            if (this.currentEntry['citationKey'] != null) {\n                this.match(\",\");\n            }\n            this.key_value_list();\n            this.entries.push(this.currentEntry);\n        };\n\n        this.directive = function() {\n            this.match(\"@\");\n            return \"@\" + this.key();\n        };\n\n        this.preamble = function() {\n            this.currentEntry = {};\n            this.currentEntry['entryType'] = 'PREAMBLE';\n            this.currentEntry['entry'] = this.value_comment();\n            this.entries.push(this.currentEntry);\n        };\n\n        this.comment = function() {\n            this.currentEntry = {};\n            this.currentEntry['entryType'] = 'COMMENT';\n            this.currentEntry['entry'] = this.value_comment();\n            this.entries.push(this.currentEntry);\n        };\n\n        this.entry = function(d) {\n            this.entry_body(d);\n        };\n\n        this.alernativeCitationKey = function () {\n            this.entries.forEach(function (entry) {\n                if (!entry.citationKey && entry.entryTags) {\n                    entry.citationKey = '';\n                    if (entry.entryTags.author) {\n                        entry.citationKey += entry.entryTags.author.split(',')[0] += ', ';\n                    }\n                    entry.citationKey += entry.entryTags.year;\n                }\n            });\n        }\n\n        this.bibtex = function() {\n            while (this.matchAt()) {\n                var d = this.directive();\n                this.match(\"{\");\n                if (d.toUpperCase() == \"@STRING\") {\n                    this.string();\n                } else if (d.toUpperCase() == \"@PREAMBLE\") {\n                    this.preamble();\n                } else if (d.toUpperCase() == \"@COMMENT\") {\n                    this.comment();\n                } else {\n                    this.entry(d);\n                }\n                this.match(\"}\");\n            };\n\n            this.alernativeCitationKey();\n        };\n    };\n\n    exports.toJSON = function(bibtex) {\n        var b = new BibtexParser();\n        b.setInput(bibtex);\n        b.bibtex();\n        return b.entries;\n    };\n\n    /* added during hackathon don't hate on me */\n    /* Increased the amount of white-space to make entries\n     * more attractive to humans. Pass compact as false\n     * to enable */\n    exports.toBibtex = function(json, compact) {\n        if (compact === undefined) compact = true;\n        var out = '';\n        \n        var entrysep = ',';\n        var indent = '';\n        if (!compact) {\n\t\t      entrysep = ',\\n';\n\t\t      indent = '    ';        \n        }\n        for ( var i in json) {\n            out += \"@\" + json[i].entryType;\n            out += '{';\n            if (json[i].citationKey)\n                out += json[i].citationKey + entrysep;\n            if (json[i].entry)\n                out += json[i].entry ;\n            if (json[i].entryTags) {\n                var tags = indent;\n                for (var jdx in json[i].entryTags) {\n                    if (tags.trim().length != 0)\n                        tags += entrysep + indent;\n                    tags += jdx + (compact ? '={' : ' = {') + \n                            json[i].entryTags[jdx] + '}';\n                }\n                out += tags;\n            }\n            out += compact ? '}\\n' : '\\n}\\n\\n';\n        }\n        return out;\n\n    };\n\n})(typeof exports === 'undefined' ? this['bibtexParse'] = {} : exports);\n\n/* end bibtexParse */\n"
  },
  {
    "path": "plugins/tiddlywiki/bibtex/files/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": [\n\t\t{\n\t\t\t\"file\": \"bibtexParse.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/bibtex/bibtexParse.js\",\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t}\n\t\t},{\n\t\t\t\"file\": \"LICENSE\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"text/plain\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/bibtex/license\"\n\t\t\t}\n\t\t}\n\t]\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/bibtex/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/bibtex\",\n\t\"name\": \"BibTeX\",\n\t\"description\": \"BibTeX importer\",\n\t\"author\": \"Henrik Muehe and Mikola Lysenko\",\n\t\"list\": \"readme license\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/bibtex/samples/first-jabref-bibtex-db.bib",
    "content": "% Encoding: UTF-8\n\n@InProceedings{Dalgaard2001,\n  author     = {Dalgaard, Rune},\n  title      = {Hypertext and the Scholarly Archive: Intertexts, Paratexts and Metatexts at Work},\n  booktitle  = {Proceedings of the 12th {ACM} Conference on Hypertext and Hypermedia},\n  series     = {{HYPERTEXT} '01},\n  pages      = {175--184},\n  publisher  = {{ACM}},\n  abstract   = {With the Web, hypertext has become the paradigmatic rhetorical structure of a global and distributed archive. This paper argues that the scholarly archive is going though a process of hypertextualization that is not adequately accounted for in theories on hypertext. A methodological approach based on Gerard Genettes theory of transtextuality is proposed for a study of the hypertextualized archive. This involves a rejection of the reductionist opposition of hypertext and the fixed linear text, in favor of a study of the intertexts, paratexts and metatexts that work at the interface between texts and archive. I refer to this as second-order textuality.},\n  date       = {2001},\n  doi        = {10.1145/504216.504262},\n  isbn       = {978-1-58113-420-9},\n  keywords   = {criticism, hypertext rhetoric, intertextuality, metatext, navigation, paratext, scholarly and scientific communication, textuality, theory, web},\n  location   = {New York, {NY}, {USA}},\n  shorttitle = {Hypertext and the Scholarly Archive},\n  url        = {http://doi.acm.org/10.1145/504216.504262},\n  urldate    = {2016-10-17},\n}\n\n@InProceedings{Stoyanova2015,\n  author     = {Stoyanova, Silvia and Johnston, Ben},\n  title      = {Remediating Giacomo Leopardi's Zibaldone: Hypertextual Semantic Networks in the Scholarly Archive},\n  booktitle  = {Proceedings of the Third {AIUCD} Annual Conference on Humanities and Their Methods in the Digital Ecosystem},\n  series     = {{AIUCD} '14},\n  pages      = {9:1--9:8},\n  publisher  = {{ACM}},\n  abstract   = {The project of remediating Giacomo Leopardi's Zibaldone addresses the manuscript's hypertextual dimension of cross-references between related passages and their allocation to thematic indexes, which Leopardi wrote with the intention to mediate his research notes into scholarly publications. The project objective is to actualize the author's design for harvesting the Zibaldone's intra-textual semantic networks and reconstruct its inter-textual bibliographic networks by building a digital research platform, which would enable users to comprehensively mine the text's structural complexity. The {XML} encoding in {TEI} P5 allows to process the Zibaldone in custom-selected layers of its encoded elements for the exploration of their interrelations through statistical charts, histograms, network visualizations. In its future development, the platform would expand to an interactive space, where users could add their own annotations to the text and contribute to the site's editorial apparatus. The project has been a collaboration between Princeton University and the Trier Center for Digital Humanities, and its website is currently hosted at http://zibaldone.princeton.edu.},\n  date       = {2015},\n  doi        = {10.1145/2802612.2802634},\n  isbn       = {978-1-4503-3295-8},\n  keywords   = {fragmentary genre, Giacomo Leopardi, hypertext, note-taking, scholarly digital editions, semantic networks, Zibaldone},\n  location   = {New York, {NY}, {USA}},\n  shorttitle = {Remediating Giacomo Leopardi's Zibaldone},\n  url        = {http://doi.acm.org/10.1145/2802612.2802634},\n  urldate    = {2016-10-17},\n}\n\n@Article{Rowan2016,\n  author     = {Rowan, Kyle Edward},\n  title      = {Not Quite a Sunset: a hypertext opera},\n  date       = {2016},\n  shorttitle = {Not Quite a Sunset},\n  url        = {http://escholarship.org/uc/item/9830g5pn.pdf},\n  urldate    = {2016-10-17},\n}\n\n@Article{Janez2016,\n  author       = {Jáñez, Álvaro and Rosales, Javier},\n  title        = {Novices' need for exploration: Effects of goal specificity on hypertext navigation and comprehension},\n  volume       = {60},\n  pages        = {121--130},\n  date         = {2016},\n  journaltitle = {Computers in Human Behavior},\n  shorttitle   = {Novices' need for exploration},\n  url          = {http://www.sciencedirect.com/science/article/pii/S0747563216301169},\n  urldate      = {2016-10-17},\n}\n\n@Book{Bernstein2016,\n  title     = {Getting Started With Hypertext Narrative},\n  publisher = {Eastgate Systems, Inc},\n  author    = {Bernstein, Mark},\n  date      = {2016},\n}\n\n@Article{Shang2016,\n  author       = {Shang, Hui-Fang},\n  title        = {Online metacognitive strategies, hypermedia annotations, and motivation on hypertext comprehension},\n  volume       = {19},\n  number       = {3},\n  pages        = {321--334},\n  date         = {2016},\n  file         = {[PDF] ifets.info:/Users/steve/Library/Application Support/Firefox/Profiles/7uhyoij2.default/zotero/storage/992U6NNG/Shang - 2016 - Online metacognitive strategies, hypermedia annota.pdf:application/pdf},\n  journaltitle = {Educational Technology \\& Society},\n  url          = {http://www.jstor.org/stable/pdf/jeductechsoci.19.3.321.pdf},\n  urldate      = {2016-10-17},\n}\n\n@Article{Li2016,\n  author       = {Li, Liang-Yi and Tseng, Shu-Ting and Chen, Gwo-Dong},\n  title        = {Effect of hypertext highlighting on browsing, reading, and navigational performance},\n  volume       = {54},\n  pages        = {318--325},\n  date         = {2016},\n  journaltitle = {Computers in Human Behavior},\n  url          = {http://www.sciencedirect.com/science/article/pii/S074756321530090X},\n  urldate      = {2016-10-17},\n}\n\n@Article{Blustein2016,\n  author       = {Blustein, Jamie and Herder, Eelco and Rubart, Jessica and Ashman, Helen},\n  title        = {27 th {ACM} International Conference on Hypertext and Social Media},\n  pages        = {1},\n  date         = {2016},\n  issue        = {Winter},\n  journaltitle = {{ACM} {SIGWEB} Newsletter},\n  url          = {http://dl.acm.org/citation.cfm?id=2857660},\n  urldate      = {2016-10-17},\n}\n\n@Article{Blustein2016a,\n  author       = {Blustein, James and Graff, Ann-Barbara},\n  title        = {6 alt. hypertext: An Early Social Medium},\n  pages        = {119},\n  date         = {2016},\n  journaltitle = {Social Media Archeology and Poetics},\n  shorttitle   = {6 alt. hypertext},\n  url          = {https://books.google.com/books?hl=en&lr=&id=dPjdDAAAQBAJ&oi=fnd&pg=PA119&dq=hypertext&ots=fEESfFDhtn&sig=ygSkDRTvC9QETpNnVxJM4Ay-L9s},\n  urldate      = {2016-10-17},\n}\n\n@Article{Shang2016a,\n  author       = {Shang, Hui-Fang},\n  title        = {Exploring demographic and motivational factors associated with hypertext reading by English as a foreign language ({EFL}) students},\n  volume       = {35},\n  number       = {7},\n  pages        = {559--571},\n  date         = {2016},\n  journaltitle = {Behaviour \\& Information Technology},\n  url          = {http://www.tandfonline.com/doi/abs/10.1080/0144929X.2015.1094827},\n  urldate      = {2016-10-17},\n}\n\n@Article{Hargood2016,\n  author  = {Hargood, Charlie and Hunt, Verity and Weal, Mark and Millard, David},\n  title   = {Patterns of sculptural hypertext in location based narratives},\n  date    = {2016},\n  file    = {[PDF] soton.ac.uk:/Users/steve/Library/Application Support/Firefox/Profiles/7uhyoij2.default/zotero/storage/NSARWFGB/Hargood et al. - 2016 - Patterns of sculptural hypertext in location based.pdf:application/pdf},\n  url     = {http://eprints.soton.ac.uk/390748/},\n  urldate = {2016-10-17},\n}\n\n@Article{Conradty2016,\n  author       = {Conradty, Cathérine and Bogner, Franz X.},\n  title        = {Hypertext or Textbook: Effects on Motivation and Gain in Knowledge},\n  volume       = {6},\n  number       = {3},\n  pages        = {29},\n  date         = {2016},\n  journaltitle = {Education Sciences},\n  shorttitle   = {Hypertext or Textbook},\n  url          = {http://www.mdpi.com/2227-7102/6/3/29/htm},\n  urldate      = {2016-10-17},\n}\n\n@Thesis{Fitzpatrick2016,\n  author  = {Fitzpatrick, Philip J.},\n  title   = {Applied Hypertext Theory in a Demonstration of a Non-Sequential Audio Narrative},\n  date    = {2016},\n  type    = {phdthesis},\n  url     = {https://suny-dspace.longsight.com/handle/1951/66527},\n  urldate = {2016-10-17},\n}\n\n@Article{Finnemann2016,\n  author       = {Finnemann, Niels Ole},\n  title        = {Hypertext configurations: Genres in networked digital media},\n  date         = {2016},\n  file         = {[DOC] ku.dk:/Users/steve/Library/Application Support/Firefox/Profiles/7uhyoij2.default/zotero/storage/DSGTA9J3/Finnemann - 2016 - Hypertext configurations Genres in networked digi.doc:application/msword},\n  journaltitle = {Journal of the Association for Information Science and Technology},\n  shorttitle   = {Hypertext configurations},\n  url          = {http://onlinelibrary.wiley.com/doi/10.1002/asi.23709/full},\n  urldate      = {2016-10-17},\n}\n\n@Article{Atkinson2016,\n  author       = {Atkinson, Paul},\n  title        = {Digital ethnographies},\n  volume       = {16},\n  number       = {2},\n  pages        = {236--241},\n  date         = {2016},\n  journaltitle = {Qualitative Research},\n  url          = {http://qrj.sagepub.com/content/16/2/236.short},\n  urldate      = {2016-10-17},\n}\n\n@Article{Bakshi2016,\n  author       = {Bakshi, Divya},\n  title        = {Hypertext and Feminisms: Voicing the Silence (d)},\n  volume       = {3},\n  number       = {3},\n  date         = {2016},\n  journaltitle = {Anglisticum Journal},\n  shorttitle   = {Hypertext and Feminisms},\n  url          = {http://anglisticum.mk/index.php/Anglisticum/article/view/625},\n  urldate      = {2016-10-17},\n}\n\n@InCollection{Maier2016,\n  author    = {Maier, Carmen Daniela},\n  title     = {Hypertext and Hypermedia},\n  booktitle = {International Encyclopedia of Mass Media and Society},\n  publisher = {: {SAGE} Publications},\n  date      = {2016},\n  url       = {http://www.forskningsdatabasen.dk/en/catalog/2261443119},\n  urldate   = {2016-10-17},\n}\n\n@Article{Suresh2016a,\n  author       = {Suresh, Mayur},\n  title        = {The file as hypertext},\n  pages        = {97},\n  date         = {2016},\n  journaltitle = {Law, Memory, Violence: Uncovering the Counter-Archive},\n  url          = {https://books.google.com/books?hl=en&lr=&id=TmmaCwAAQBAJ&oi=fnd&pg=PA97&dq=hypertext&ots=nzLjpgq0h2&sig=jzOnpGgDes0pcu_Cx0P9zYU4Kxs},\n  urldate      = {2016-10-17},\n}\n\n@Thesis{Rafiq2008,\n  author      = {Rafiq, Omar},\n  title       = {Improving the Accessibility of {TiddlyWiki}},\n  date        = {2008},\n  institution = {University of Leeds, School of Computer Studies},\n  type        = {phdthesis},\n}\n\n@Thesis{Lauw2008,\n  author      = {Lauw, Madelaine L.},\n  title       = {{TiddlyGraph}: Graph Drawing Tool for {TiddlyWiki}},\n  date        = {2008},\n  institution = {University of Leeds, School of Computer Studies},\n  shorttitle  = {{TiddlyGraph}},\n  type        = {phdthesis},\n}\n\n@Thesis{Rutherford2009,\n  author      = {Rutherford, Jayne},\n  title       = {Graphical Input for {TiddlyWiki}},\n  date        = {2009},\n  institution = {University of Leeds, School of Computer Studies},\n  type        = {phdthesis},\n}\n\n@Thesis{Rafiq2008a,\n  author      = {Rafiq, Omar},\n  title       = {Improving the Accessibility of {TiddlyWiki}},\n  date        = {2008},\n  institution = {University of Leeds, School of Computer Studies},\n  type        = {phdthesis},\n}\n\n@Thesis{Lauw2008a,\n  author      = {Lauw, Madelaine L.},\n  title       = {{TiddlyGraph}: Graph Drawing Tool for {TiddlyWiki}},\n  date        = {2008},\n  institution = {University of Leeds, School of Computer Studies},\n  shorttitle  = {{TiddlyGraph}},\n  type        = {phdthesis},\n}\n\n@Article{TRUNG,\n  author  = {{TRUNG}, {DANG} {DINH}},\n  title   = {{TiddlyWiki} client and server modification for scholarly digital libraries},\n  url     = {http://wing.comp.nus.edu.sg/publications/theses/2008/dangDinhTrungDang_HYP.pdf},\n  urldate = {2016-10-17},\n}\n\n@Thesis{Rutherford2009a,\n  author      = {Rutherford, Jayne},\n  title       = {Graphical Input for {TiddlyWiki}},\n  date        = {2009},\n  institution = {University of Leeds, School of Computer Studies},\n  type        = {phdthesis},\n}\n\n@Article{Bakoa,\n  author  = {Bakó, Mária and Aszalós, László},\n  title   = {Learning environments in {eBook} format},\n  file    = {[PDF] icvl.eu:/Users/steve/Library/Application Support/Firefox/Profiles/7uhyoij2.default/zotero/storage/3X4IZ2DH/Bakó and Aszalós - Learning environments in eBook format.pdf:application/pdf},\n  url     = {http://www.icvl.eu/2011/disc/structura/icvl/documente/pdf/tech/ICVL_Technologies_paper08.pdf},\n  urldate = {2016-10-17},\n}\n\n@InProceedings{Solis2009,\n  author    = {Solís, Carlos and Ali, Nour and Babar, Muhammad Ali},\n  title     = {A spatial hypertext wiki for architectural knowledge management},\n  booktitle = {Wikis for Software Engineering, 2009. {WIKIS}4SE'09. {ICSE} Workshop on},\n  pages     = {36--46},\n  publisher = {{IEEE}},\n  date      = {2009},\n  file      = {[PDF] ul.ie:/Users/steve/Library/Application Support/Firefox/Profiles/7uhyoij2.default/zotero/storage/7X4QZPUT/Solís et al. - 2009 - A spatial hypertext wiki for architectural knowled.pdf:application/pdf},\n  url       = {http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=5069995},\n  urldate   = {2016-10-17},\n}\n\n@InCollection{Burry2005b,\n  author    = {Burry, Jane and Burrow, Andrew and Amor, Robert and Burry, Mark},\n  title     = {Shared design space},\n  booktitle = {Computer Aided Architectural Design Futures 2005},\n  publisher = {Springer},\n  pages     = {217--226},\n  date      = {2005},\n  file      = {[PDF] architexturez.net:/Users/steve/Library/Application Support/Firefox/Profiles/7uhyoij2.default/zotero/storage/A223SNFN/Burry et al. - 2005 - Shared design space.pdf:application/pdf},\n  url       = {http://link.springer.com/chapter/10.1007/1-4020-3698-1_20},\n  urldate   = {2016-10-17},\n}\n\n@Article{Jipsen2006b,\n  author       = {Jipsen, Peter},\n  title        = {{ASciencePad}–a {TiddlyWiki} suitable for scientific notes},\n  date         = {2006},\n  journaltitle = {Accessed via http://math. chapman. edu/∼ jipsen/asciencepad/asciencepad. html (7 January 2007)},\n}\n\n@Book{Bagnoli2006b,\n  title     = {Tiddlywiki in science education},\n  publisher = {{ITHET}},\n  author    = {Bagnoli, Franco and Jipsen, Peter and Sterbini, Andrea},\n  date      = {2006},\n  url       = {http://www.academia.edu/download/44779373/TiddlyWiki_in_Science_Education20160415-24634-dvo6mu.pdf},\n  urldate   = {2016-10-17},\n}\n\n@InProceedings{Yang2008b,\n  author    = {Yang, Chia-Han and Wu, Ming-Ying and Lin, Chien-Min and Yang, Don-Lin},\n  title     = {Implementation of Wiki-based knowledge management systems for small research groups},\n  booktitle = {2008 Eighth International Conference on Intelligent Systems Design and Applications},\n  volume    = {2},\n  pages     = {346--349},\n  publisher = {{IEEE}},\n  date      = {2008},\n  file      = {[PDF] mirlabs.net:/Users/steve/Library/Application Support/Firefox/Profiles/7uhyoij2.default/zotero/storage/EVE2GP2R/Yang et al. - 2008 - Implementation of Wiki-based knowledge management .pdf:application/pdf},\n  url       = {http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=4696356},\n  urldate   = {2016-10-17},\n}\n\n@Book{Ruston2004a,\n  title  = {{TiddlyWiki}},\n  author = {Ruston, Jeremy},\n  date   = {2004},\n}\n\n@Article{Gobbo2006b,\n  author       = {Gobbo, Federico and Lanzarone, Gaetano Aurelio},\n  title        = {A wiki-based active learning system; how to enhance learning material in epistemology of computer science and computer ethics},\n  date         = {2006},\n  file         = {[PDF] researchgate.net:/Users/steve/Library/Application Support/Firefox/Profiles/7uhyoij2.default/zotero/storage/A5SIBRAA/Gobbo and Lanzarone - 2006 - A wiki-based active learning system\\; how to enhanc.pdf:application/pdf},\n  journaltitle = {Current Developments in Technology-Assisted Education},\n  url          = {https://www.researchgate.net/profile/Federico_Gobbo/publication/216111828_A_wiki-based_active_learning_system_how_to_enhance_learning_material_in_epistemology_of_computer_science_and_computer_ethics/links/09e4150a67b1073482000000.pdf},\n  urldate      = {2016-10-17},\n}\n\n@Article{Kopchok2008b,\n  author       = {Kopchok, Katie},\n  title        = {Interlibrary loan the Wiki way: an effective and free interlibrary loan procedures and communications tool},\n  volume       = {18},\n  number       = {1},\n  pages        = {67--77},\n  date         = {2008},\n  journaltitle = {Journal of Interlibrary Loan, Document Delivery \\& Electronic Reserve},\n  shorttitle   = {Interlibrary loan the Wiki way},\n  url          = {http://www.tandfonline.com/doi/abs/10.1300/J474v18n01_08},\n  urldate      = {2016-10-17},\n}\n\n@InProceedings{Dang2008b,\n  author    = {Dang, Dinh-Trung and Tan, Yee Fan and Kan, Min-Yen},\n  title     = {Towards a Webpage-based bibliographic manager},\n  booktitle = {International Conference on Asian Digital Libraries},\n  pages     = {313--316},\n  publisher = {Springer},\n  date      = {2008},\n  file      = {[PDF] nus.edu.sg:/Users/steve/Library/Application Support/Firefox/Profiles/7uhyoij2.default/zotero/storage/X466UZP3/Dang et al. - 2008 - Towards a Webpage-based bibliographic manager.pdf:application/pdf},\n  url       = {http://link.springer.com/chapter/10.1007/978-3-540-89533-6_33},\n  urldate   = {2016-10-17},\n}\n\n@InProceedings{Barker2008e,\n  author    = {Barker, P. G.},\n  title     = {Using Wikis for Knowledge Management},\n  booktitle = {Proceedings of the {ED}-{MEDIA} 2008 World Conference on Educational Multimedia, Hypermedia and Telecommunications},\n  pages     = {3604--3613},\n  date      = {2008},\n  url       = {https://www.editlib.org/p/28886/proceeding_28886.pdf},\n  urldate   = {2016-10-17},\n}\n\n@InProceedings{Marchese2009b,\n  author    = {Marchese, Francis T.},\n  title     = {Asynchronous collaborative visualization on a stick},\n  booktitle = {Proceedings of Vis 2009 (Atlantic City, {NJ}), Conference {DVD}},\n  publisher = {{IEEE} Computer Society Washington, {DC}},\n  date      = {2009},\n  file      = {[PDF] researchgate.net:/Users/steve/Library/Application Support/Firefox/Profiles/7uhyoij2.default/zotero/storage/ZM78BHSJ/Marchese - 2009 - Asynchronous collaborative visualization on a stic.pdf:application/pdf},\n  url       = {https://www.researchgate.net/profile/Francis_Marchese/publication/228366401_Asynchronous_Collaborative_Visualization_on_a_Stick/links/09e4150c32bfec2345000000.pdf},\n  urldate   = {2016-10-17},\n}\n\n@Book{DeCiccio2007b,\n  title      = {Developing a Flexible Information Repository: A Case Study Using {TiddlyWiki} for a Knowledge Management System},\n  publisher  = {{ProQuest}},\n  author     = {{DeCiccio}, Michael},\n  date       = {2007},\n  shorttitle = {Developing a Flexible Information Repository},\n}\n\n@Book{Wilson2007d,\n  title     = {{TiddlyWiki} 2.1. 3.},\n  publisher = {{UNIV} {SHEFFIELD} {DEPT} {INFORMATION} {STUDIES} {UNIV} {SHEFFIELD}, {WESTERN} {BANK}, {SHEFFIELD} S10 2TN, S {YORKS}, {ENGLAND}},\n  author    = {Wilson, T. D.},\n  volume    = {12},\n  number    = {3},\n  date      = {2007},\n}\n\n@Thesis{Rafiq2008b,\n  author      = {Rafiq, Omar},\n  title       = {Improving the Accessibility of {TiddlyWiki}},\n  date        = {2008},\n  institution = {University of Leeds, School of Computer Studies},\n  type        = {phdthesis},\n}\n\n@Thesis{Lauw2008b,\n  author      = {Lauw, Madelaine L.},\n  title       = {{TiddlyGraph}: Graph Drawing Tool for {TiddlyWiki}},\n  date        = {2008},\n  institution = {University of Leeds, School of Computer Studies},\n  shorttitle  = {{TiddlyGraph}},\n  type        = {phdthesis},\n}\n\n@Article{Wilson2007e,\n  author       = {Wilson, Tom D.},\n  title        = {Review of: {TiddlyWiki} 2.1. 3. Osmosoft. com, 2007},\n  volume       = {12},\n  number       = {3},\n  pages        = {review--no},\n  date         = {2007},\n  journaltitle = {Information research},\n  shorttitle   = {Review of},\n  url          = {http://www.diva-portal.org/smash/record.jsf?pid=diva2:870314},\n  urldate      = {2016-10-17},\n}\n\n@Thesis{Rutherford2009b,\n  author      = {Rutherford, Jayne},\n  title       = {Graphical Input for {TiddlyWiki}},\n  date        = {2009},\n  institution = {University of Leeds, School of Computer Studies},\n  type        = {phdthesis},\n}\n\n@InProceedings{Montaner2013b,\n  author     = {Montaner, David and Garcıa-Garcıa, Francisco},\n  title      = {{TiddlyWikiR}: an R package for dynamic report writing.},\n  booktitle  = {The R User Conference, {useR}! 2013 July 10-12 2013 University of Castilla-La Mancha, Albacete, Spain},\n  volume     = {10},\n  pages      = {126},\n  date       = {2013},\n  shorttitle = {{TiddlyWikiR}},\n  url        = {https://www.researchgate.net/profile/Selcuk_Korkmaz/publication/273333674_bbRVM_an_R_package_for_Ensemble_Classification_Approaches_of_Relevance_Vector_Machines/links/54fed6cf0cf2741b69f1787b.pdf#page=126},\n  urldate    = {2016-10-17},\n}\n\n@InProceedings{Dickinson2008b,\n  author    = {Dickinson, Anne},\n  title     = {Is the e-Learning Object “Create Interactive Accessible e-Learning” Accessible?},\n  booktitle = {Proceedings of the 3rd International Conference on e-Learning: {ICEL}},\n  pages     = {133},\n  publisher = {Academic Conferences Limited},\n  date      = {2008},\n}\n\n@Article{Palmer2009,\n  author        = {Palmer, Joy},\n  title         = {Archives 2.0: if we build it, will they come?},\n  number        = {60},\n  __markedentry = {[steve:]},\n  date          = {2009},\n  journaltitle  = {Ariadne},\n  shorttitle    = {Archives 2.0},\n  url           = {http://www.ariadne.ac.uk/issue60/palmer},\n  urldate       = {2016-10-17},\n}\n\n@Article{Grannum2011,\n  author        = {Grannum, Guy and Theimer, Kate},\n  title         = {Harnessing User Knowledge: The National Archives Your Archives Wiki},\n  pages         = {116--127},\n  __markedentry = {[steve:]},\n  date          = {2011},\n  journaltitle  = {A Different Kind of Web: New Connections Between Archives and Our Users},\n  shorttitle    = {Harnessing User Knowledge},\n}\n\n@Article{Frumkin2005,\n  author        = {Frumkin, Jeremy},\n  title         = {The wiki and the digital library},\n  volume        = {21},\n  number        = {1},\n  pages         = {18--22},\n  __markedentry = {[steve:]},\n  date          = {2005},\n  journaltitle  = {{OCLC} Systems \\& Services: International digital library perspectives},\n  url           = {http://www.emeraldinsight.com/doi/full/10.1108/10650750510578109},\n  urldate       = {2016-10-17},\n}\n\n@Article{Flinn2010,\n  author        = {Flinn, Andrew},\n  title         = {Independent Community Archives and Community-Generated Content ‘Writing, Saving and Sharing our Histories’},\n  volume        = {16},\n  number        = {1},\n  pages         = {39--51},\n  __markedentry = {[steve:]},\n  date          = {2010},\n  journaltitle  = {Convergence: The International Journal of Research into New Media Technologies},\n  url           = {http://con.sagepub.com/content/16/1/39.short},\n  urldate       = {2016-10-17},\n}\n\n@Article{Wagner2004,\n  author        = {Wagner, Christian},\n  title         = {Wiki: A technology for conversational knowledge management and group collaboration},\n  volume        = {13},\n  number        = {1},\n  pages         = {58},\n  __markedentry = {[steve:]},\n  date          = {2004},\n  file          = {[PDF] hksyu.edu:/Users/steve/Library/Application Support/Firefox/Profiles/7uhyoij2.default/zotero/storage/C7TZN8FR/Wagner - 2004 - Wiki A technology for conversational knowledge ma.pdf:application/pdf},\n  journaltitle  = {The Communications of the Association for Information Systems},\n  shorttitle    = {Wiki},\n  url           = {http://aisel.aisnet.org/cgi/viewcontent.cgi?article=3238&context=cais},\n  urldate       = {2016-10-17},\n}\n\n@InProceedings{Munteanu2006,\n  author        = {Munteanu, Cosmin and Zhang, Yuecheng and Baecker, Ron and Penn, Gerald},\n  title         = {Wiki-like editing of imperfect computer-generated webcast transcripts},\n  booktitle     = {Proc. Demo track of {ACM} Conf. on Computer Supported Cooperative Work–{CSCW}},\n  pages         = {83--84},\n  publisher     = {Citeseer},\n  __markedentry = {[steve:]},\n  date          = {2006},\n  file          = {[PDF] psu.edu:/Users/steve/Library/Application Support/Firefox/Profiles/7uhyoij2.default/zotero/storage/I22V3CTX/Munteanu et al. - 2006 - Wiki-like editing of imperfect computer-generated .pdf:application/pdf},\n  url           = {http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.129.3559&rep=rep1&type=pdf},\n  urldate       = {2016-10-17},\n}\n\n@Article{Unit2010,\n  author        = {Unit, Economist Intelligence},\n  title         = {Democracy index 2010},\n  __markedentry = {[steve:]},\n  date          = {2010},\n  url           = {http://ictlogy.net/bibliography/reports/projects.php?idp=1853},\n  urldate       = {2016-10-17},\n}\n\n@Article{Cunningham2002,\n  author        = {Cunningham, Ward and {others}},\n  title         = {What is wiki},\n  __markedentry = {[steve:]},\n  date          = {2002},\n  journaltitle  = {{WikiWikiWeb}. http://www. wiki. org/wiki. cgi},\n}\n\n@Article{Regli2010,\n  author        = {Regli, William C. and Kopena, Joseph B. and Grauer, Michael and Simpson, Timothy W. and Stone, Robert B. and Lewis, Kemper and Bohm, Matt R. and Wilkie, David and Piecyk, Martin and Osecki, Jordan},\n  title         = {Semantics for digital engineering archives supporting engineering design education},\n  volume        = {31},\n  number        = {1},\n  pages         = {37--50},\n  __markedentry = {[steve:]},\n  date          = {2010},\n  file          = {[PDF] aaai.org:/Users/steve/Library/Application Support/Firefox/Profiles/7uhyoij2.default/zotero/storage/5K858ZWC/Regli et al. - 2010 - Semantics for digital engineering archives support.pdf:application/pdf},\n  journaltitle  = {{AI} Magazine},\n  url           = {http://www.aaai.org/ojs/index.php/aimagazine/article/viewArticle/2282},\n  urldate       = {2016-10-17},\n}\n\n@Article{Harris2004,\n  author        = {Harris, Roger W.},\n  title         = {Information and communication technologies for poverty alleviation},\n  __markedentry = {[steve:]},\n  date          = {2004},\n  url           = {http://ictlogy.net/bibliography/reports/projects.php?idp=1271},\n  urldate       = {2016-10-17},\n}\n\n@Article{Wiki1996,\n  author        = {Wiki, {ASIS}{\\textbackslash}\\&T-{ESC}},\n  title         = {Information literacy},\n  __markedentry = {[steve:]},\n  date          = {1996},\n  url           = {https://www.asis.org/Chapters/Student/esc/?tag=information-literacy},\n  urldate       = {2016-10-17},\n}\n\n@Article{Parker2007,\n  author        = {Parker, Kevin R. and Chao, Joseph T.},\n  title         = {Wiki as a teaching tool},\n  volume        = {3},\n  number        = {1},\n  pages         = {57--72},\n  __markedentry = {[steve:]},\n  date          = {2007},\n  file          = {[PDF] wikieducator.org:/Users/steve/Library/Application Support/Firefox/Profiles/7uhyoij2.default/zotero/storage/NBDH2ICS/Parker and Chao - 2007 - Wiki as a teaching tool.pdf:application/pdf},\n  journaltitle  = {Interdisciplinary journal of knowledge and learning objects},\n  url           = {http://wikieducator.org/images/5/58/Wikiasateachingtool.pdf},\n  urldate       = {2016-10-17},\n}\n\n@Article{Haddad2002,\n  author        = {Haddad, Wadi D. and Draxler, Alexandra},\n  title         = {Technologies for Education: Potential, Parameters, and Prospects},\n  __markedentry = {[steve:]},\n  date          = {2002},\n  shorttitle    = {Technologies for Education},\n  url           = {http://ictlogy.net/bibliography/reports/projects.php?idp=515},\n  urldate       = {2016-10-17},\n}\n\n@Article{Desilets2005,\n  author        = {Désilets, Alain and Paquet, Sébastien},\n  title         = {Wiki as a tool for web-based collaborative story telling in primary school: A case study},\n  __markedentry = {[steve:]},\n  date          = {2005},\n  shorttitle    = {Wiki as a tool for web-based collaborative story telling in primary school},\n  url           = {http://nparc.cisti-icist.nrc-cnrc.gc.ca/npsi/ctrl?action=rtdoc&an=8913987},\n  urldate       = {2016-10-17},\n}\n\n@Article{Giles2007,\n  author        = {Giles, Jim},\n  title         = {Key biology databases go wiki},\n  volume        = {445},\n  number        = {7129},\n  pages         = {691--691},\n  __markedentry = {[steve:]},\n  date          = {2007},\n  journaltitle  = {Nature},\n  url           = {http://www.nature.com/nature/journal/v445/n7129/full/445691a.html},\n  urldate       = {2016-10-17},\n}\n\n@Article{Kennedy2009,\n  author        = {Kennedy, Gregor and Dalgarno, Barney and Bennett, Sue and Gray, Kathleen and Waycott, Jenny and Judd, Terry and Bishop, Andrea and Maton, Karl and Krause, Kerri-Lee and Chang, Rosemary},\n  title         = {Educating the net generation. A handbook of findings for practice and policy},\n  __markedentry = {[steve:]},\n  date          = {2009},\n  url           = {http://ictlogy.net/bibliography/reports/projects.php?idp=1450},\n  urldate       = {2016-10-17},\n}\n\n@Article{Sciadas2005,\n  author        = {Sciadas, George},\n  title         = {From the digital divide to digital opportunities},\n  __markedentry = {[steve:]},\n  date          = {2005},\n  url           = {http://ictlogy.net/bibliography/reports/projects.php?idp=239},\n  urldate       = {2016-10-17},\n}\n\n@Book{Web2000,\n  title         = {Wiki Web},\n  author        = {Web, Wiki and {DE}, {WIKIPEDI} and {JPG}, {WIKI}},\n  __markedentry = {[steve:]},\n  date          = {2000},\n}\n\n@Article{Varfolomeyev2012,\n  author        = {Varfolomeyev, Aleksey and Ivanovs, Aleksandrs},\n  title         = {Wiki Technologies for Semantic Publication of Old Russian Charters},\n  pages         = {405--407},\n  __markedentry = {[steve:]},\n  date          = {2012},\n  journaltitle  = {Digital Humanities},\n  url           = {http://www.dh2012.uni-hamburg.de/conference/programme/abstracts/wiki-technologies-for-semantic-publication-of-old-russian-charters.1.html},\n  urldate       = {2016-10-17},\n}\n\n@InProceedings{Buffa2006,\n  author        = {Buffa, Michel and Gandon, Fabien},\n  title         = {{SweetWiki}: semantic web enabled technologies in Wiki},\n  booktitle     = {Proceedings of the 2006 international symposium on Wikis},\n  pages         = {69--78},\n  publisher     = {{ACM}},\n  __markedentry = {[steve:]},\n  date          = {2006},\n  file          = {[PDF] inria.fr:/Users/steve/Library/Application Support/Firefox/Profiles/7uhyoij2.default/zotero/storage/KFGFBGWE/Buffa and Gandon - 2006 - SweetWiki semantic web enabled technologies in Wi.pdf:application/pdf},\n  shorttitle    = {{SweetWiki}},\n  url           = {http://dl.acm.org/citation.cfm?id=1149469},\n  urldate       = {2016-10-17},\n}\n\n@InProceedings{Barker2008,\n  author    = {Barker, Philip},\n  title     = {Using wikis and weblogs to enhance human performance},\n  booktitle = {Proceedings of World Conference on E-Learning in Corporate, Government, Healthcare, and Higher Education},\n  pages     = {581--589},\n  date      = {2008},\n  url       = {https://www.editlib.org/index.cfm/files/paper_29665.pdf?fuseaction=Reader.DownloadFullText&paper_id=29665},\n  urldate   = {2016-10-17},\n}\n\n@InProceedings{Burry2005,\n  author    = {Burry, Jane and Burrow, Andrew and Amor, Robert and Burry, Mark},\n  title     = {Shared design space. The contribution of augmented wiki hypertext to design collaboration.},\n  booktitle = {{CAAD} Futures 2005},\n  publisher = {Springer},\n  date      = {2005},\n  url       = {https://researchbank.rmit.edu.au/view/rmit:1820},\n  urldate   = {2016-10-17},\n}\n\n@InProceedings{Notari2006,\n  author     = {Notari, Michele},\n  title      = {How to use a Wiki in education:'Wiki based effective constructive learning'},\n  booktitle  = {Proceedings of the 2006 international symposium on Wikis},\n  pages      = {131--132},\n  publisher  = {{ACM}},\n  date       = {2006},\n  file       = {[PDF] drake.edu:/Users/steve/Library/Application Support/Firefox/Profiles/7uhyoij2.default/zotero/storage/9D8KADJZ/Notari - 2006 - How to use a Wiki in education'Wiki based effecti.pdf:application/pdf},\n  shorttitle = {How to use a Wiki in education},\n  url        = {http://dl.acm.org/citation.cfm?id=1149479},\n  urldate    = {2016-10-17},\n}\n\n@InProceedings{Burrow2004,\n  author     = {Burrow, Andrew Lincoln},\n  title      = {Negotiating access within Wiki: a system to construct and maintain a taxonomy of access rules},\n  booktitle  = {Proceedings of the fifteenth {ACM} conference on Hypertext and hypermedia},\n  pages      = {77--86},\n  publisher  = {{ACM}},\n  date       = {2004},\n  shorttitle = {Negotiating access within Wiki},\n  url        = {http://dl.acm.org/citation.cfm?id=1012831},\n  urldate    = {2016-10-17},\n}\n\n@InProceedings{Solis2010,\n  author    = {Solis, Carlos and Ali, Nour},\n  title     = {Distributed requirements elicitation using a spatial hypertext wiki},\n  booktitle = {2010 5th {IEEE} International Conference on Global Software Engineering},\n  pages     = {237--246},\n  publisher = {{IEEE}},\n  date      = {2010},\n  file      = {[PDF] ul.ie:/Users/steve/Library/Application Support/Firefox/Profiles/7uhyoij2.default/zotero/storage/FR2DGIKF/Solis and Ali - 2010 - Distributed requirements elicitation using a spati.pdf:application/pdf},\n  url       = {http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=5581514},\n  urldate   = {2016-10-17},\n}\n\n@InProceedings{Solis2008,\n  author    = {Solís, Carlos and Ali, Nour},\n  title     = {{ShyWiki}-a spatial hypertext wiki},\n  booktitle = {Proceedings of the 4th International Symposium on Wikis},\n  pages     = {10},\n  publisher = {{ACM}},\n  date      = {2008},\n  file      = {[PDF] psu.edu:/Users/steve/Library/Application Support/Firefox/Profiles/7uhyoij2.default/zotero/storage/ZR4GMI8R/Solís and Ali - 2008 - ShyWiki-a spatial hypertext wiki.pdf:application/pdf},\n  url       = {http://dl.acm.org/citation.cfm?id=1822272},\n  urldate   = {2016-10-17},\n}\n\n@Article{Sauer2005,\n  author       = {Sauer, Igor M. and Bialek, Dominik and Efimova, Ekaterina and Schwartlander, Ruth and Pless, Gesine and Neuhaus, Peter},\n  title        = {“Blogs” and “wikis” are valuable software tools for communication within research groups},\n  volume       = {29},\n  number       = {1},\n  pages        = {82--83},\n  date         = {2005},\n  journaltitle = {Artificial organs},\n  url          = {http://onlinelibrary.wiley.com/doi/10.1111/j.1525-1594.2004.29005.x/full},\n  urldate      = {2016-10-17},\n}\n\n@Article{TREnTIn2009,\n  author       = {{TREnTIn}, Guglielmo},\n  title        = {Using a wiki to evaluate individual contribution to a collaborative learning project},\n  volume       = {25},\n  number       = {1},\n  pages        = {43--55},\n  date         = {2009},\n  file         = {[PDF] semanticscholar.org:/Users/steve/Library/Application Support/Firefox/Profiles/7uhyoij2.default/zotero/storage/IF24EBKI/TREnTIn - 2009 - Using a wiki to evaluate individual contribution t.pdf:application/pdf},\n  journaltitle = {Journal of computer assisted learning},\n  url          = {http://onlinelibrary.wiley.com/doi/10.1111/j.1365-2729.2008.00276.x/full},\n  urldate      = {2016-10-17},\n}\n\n@Article{Skiba2005,\n  author       = {Skiba, Diane J.},\n  title        = {Do your students wiki?},\n  volume       = {26},\n  number       = {2},\n  pages        = {120},\n  date         = {2005},\n  journaltitle = {Nursing education perspectives},\n  url          = {http://search.proquest.com/openview/460686aff56fe55ba2bc3cd9a3fc27aa/1?pq-origsite=gscholar},\n  urldate      = {2016-10-17},\n}\n\n@InProceedings{Millard2006,\n  author     = {Millard, David E. and Ross, Martin},\n  title      = {Web 2.0: hypertext by any other name?},\n  booktitle  = {Proceedings of the seventeenth conference on Hypertext and hypermedia},\n  pages      = {27--30},\n  publisher  = {{ACM}},\n  date       = {2006},\n  file       = {[PDF] soton.ac.uk:/Users/steve/Library/Application Support/Firefox/Profiles/7uhyoij2.default/zotero/storage/ZGXUB4IM/Millard and Ross - 2006 - Web 2.0 hypertext by any other name.pdf:application/pdf},\n  shorttitle = {Web 2.0},\n  url        = {http://dl.acm.org/citation.cfm?id=1149947},\n  urldate    = {2016-10-17},\n}\n\n@InProceedings{Aronsson2002,\n  author    = {Aronsson, Lars},\n  title     = {Operation of a Large Scale, General Purpose Wiki Website.},\n  booktitle = {Elpub},\n  date      = {2002},\n  file      = {[PDF] architexturez.net:/Users/steve/Library/Application Support/Firefox/Profiles/7uhyoij2.default/zotero/storage/4VUK34H6/Aronsson - 2002 - Operation of a Large Scale, General Purpose Wiki W.pdf:application/pdf},\n  url       = {http://elpub.architexturez.net/system/files/pdf/02-03.content_0.pdf},\n  urldate   = {2016-10-17},\n}\n\n@InProceedings{Solis2010a,\n  author    = {Solis, Carlos and Ali, Nour},\n  title     = {A spatial hypertext wiki for knowledge management},\n  booktitle = {Collaborative Technologies and Systems ({CTS}), 2010 International Symposium on},\n  pages     = {225--234},\n  publisher = {{IEEE}},\n  date      = {2010},\n  file      = {[PDF] ul.ie:/Users/steve/Library/Application Support/Firefox/Profiles/7uhyoij2.default/zotero/storage/6B2BWZ6F/Solis and Ali - 2010 - A spatial hypertext wiki for knowledge management.pdf:application/pdf},\n  url       = {http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=5478505},\n  urldate   = {2016-10-17},\n}\n\n@InProceedings{Morris2007,\n  author     = {Morris, Joseph C.},\n  title      = {{DistriWiki}:: a distributed peer-to-peer wiki network},\n  booktitle  = {Proceedings of the 2007 international symposium on Wikis},\n  pages      = {69--74},\n  publisher  = {{ACM}},\n  date       = {2007},\n  file       = {[PDF] psu.edu:/Users/steve/Library/Application Support/Firefox/Profiles/7uhyoij2.default/zotero/storage/5P2FCHHM/Morris - 2007 - DistriWiki a distributed peer-to-peer wiki netwo.pdf:application/pdf},\n  shorttitle = {{DistriWiki}},\n  url        = {http://dl.acm.org/citation.cfm?id=1296959},\n  urldate    = {2016-10-17},\n}\n\n@InProceedings{Solis2011,\n  author    = {Solis, Carlos and Ali, Nour},\n  title     = {An experience using a spatial hypertext Wiki},\n  booktitle = {Proceedings of the 22nd {ACM} conference on Hypertext and hypermedia},\n  pages     = {133--142},\n  publisher = {{ACM}},\n  date      = {2011},\n  file      = {[PDF] ul.ie:/Users/steve/Library/Application Support/Firefox/Profiles/7uhyoij2.default/zotero/storage/G2FJIIVS/Solis and Ali - 2011 - An experience using a spatial hypertext Wiki.pdf:application/pdf},\n  url       = {http://dl.acm.org/citation.cfm?id=1995986},\n  urldate   = {2016-10-17},\n}\n\n@InProceedings{Zhang2006,\n  author     = {Zhang, Yuejiao},\n  title      = {Wiki means more: hyperreading in Wikipedia},\n  booktitle  = {Proceedings of the seventeenth conference on Hypertext and hypermedia},\n  pages      = {23--26},\n  publisher  = {{ACM}},\n  date       = {2006},\n  shorttitle = {Wiki means more},\n  url        = {http://dl.acm.org/citation.cfm?id=1149946},\n  urldate    = {2016-10-17},\n}\n\n@Article{Solis2011a,\n  author       = {Solis, Carlos and Ali, Nour},\n  title        = {A Semantic Wiki Based on Spatial Hypertext.},\n  volume       = {17},\n  number       = {7},\n  pages        = {1043--1059},\n  date         = {2011},\n  file         = {[PDF] brighton.ac.uk:/Users/steve/Library/Application Support/Firefox/Profiles/7uhyoij2.default/zotero/storage/QATARD72/Solis and Ali - 2011 - A Semantic Wiki Based on Spatial Hypertext..pdf:application/pdf},\n  journaltitle = {J. {UCS}},\n  url          = {http://jucs.org/jucs_17_7/a_semantic_wiki_based/jucs_17_07_1043_1059_solis.pdf},\n  urldate      = {2016-10-17},\n}\n\n@InProceedings{Schaffert2006,\n  author     = {Schaffert, Sebastian},\n  title      = {{IkeWiki}: A semantic wiki for collaborative knowledge management},\n  booktitle  = {15th {IEEE} International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises ({WETICE}'06)},\n  pages      = {388--396},\n  publisher  = {{IEEE}},\n  date       = {2006},\n  file       = {[PDF] psu.edu:/Users/steve/Library/Application Support/Firefox/Profiles/7uhyoij2.default/zotero/storage/AGSE8WEV/Schaffert - 2006 - IkeWiki A semantic wiki for collaborative knowled.pdf:application/pdf},\n  shorttitle = {{IkeWiki}},\n  url        = {http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=4092241},\n  urldate    = {2016-10-17},\n}\n\n@InProceedings{Cunningham2006,\n  author     = {Cunningham, Ward},\n  title      = {Design Principles of Wiki: How can so little do so much?},\n  booktitle  = {Int. Sym. Wikis},\n  pages      = {13--14},\n  date       = {2006},\n  shorttitle = {Design Principles of Wiki},\n  url        = {https://pdfs.semanticscholar.org/2713/89a35bb3c98101d65dd70ba79c3b188615c5.pdf},\n  urldate    = {2016-10-17},\n}\n\n@Article{Nixon2006,\n  author       = {Nixon, Lyndon {JB} and Simperl, Elena Paslaru Bontas},\n  title        = {Makna and {MultiMakna}: towards semantic and multimedia capability in wikis for the emerging web},\n  volume       = {2006},\n  date         = {2006},\n  journaltitle = {Proc. Semantics},\n  shorttitle   = {Makna and {MultiMakna}},\n  url          = {http://www.academia.edu/download/1909725/4quz0v7pkwwyigy.pdf},\n  urldate      = {2016-10-17},\n}\n\n@Article{Truman2016,\n  author        = {Truman, Gail},\n  title         = {Web Archiving Environmental Scan},\n  __markedentry = {[steve:6]},\n  abstract      = {Version of Record},\n  date          = {2016},\n  file          = {Full Text PDF:/Users/steve/Library/Application Support/Firefox/Profiles/7uhyoij2.default/zotero/storage/PADARME2/Truman - 2016 - Web Archiving Environmental Scan.pdf:application/pdf},\n  langid        = {american},\n  owner         = {steve},\n  rights        = {open},\n  timestamp     = {2016-10-18},\n  url           = {https://dash.harvard.edu/handle/1/25658314},\n  urldate       = {2016-10-18},\n}\n\n"
  },
  {
    "path": "plugins/tiddlywiki/bibtex/samples/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": []\n}"
  },
  {
    "path": "plugins/tiddlywiki/browser-sniff/browser.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/browser-sniff/sniff.js\ntype: application/javascript\nmodule-type: info\n\nInitialise $:/info/browser tiddlers\n\n\\*/\n\n\"use strict\";\n\nexports.getInfoTiddlerFields = function() {\n\tvar mapBoolean = function(value) {return value ? \"yes\" : \"no\";},\n\t\tinfoTiddlerFields = [];\n\t// Basics\n\tif($tw.browser) {\n\t\t// Mappings from tiddler titles (prefixed with \"$:/info/browser/\") to bowser.browser property name\n\t\tvar bowser = require(\"$:/plugins/tiddlywiki/browser-sniff/bowser/bowser.js\"),\n\t\t\tmappings = [\n\t\t\t\t[\"name\",\"name\",\"unknown\"],\n\t\t\t\t[\"version\",\"version\"],\n\t\t\t\t[\"is/webkit\",\"webkit\"],\n\t\t\t\t[\"is/gecko\",\"gecko\"],\n\t\t\t\t[\"is/chrome\",\"chrome\"],\n\t\t\t\t[\"is/firefox\",\"firefox\"],\n\t\t\t\t[\"is/ios\",\"ios\"],\n\t\t\t\t[\"is/iphone\",\"iphone\"],\n\t\t\t\t[\"is/ipad\",\"ipad\"],\n\t\t\t\t[\"is/ipod\",\"ios\"],\n\t\t\t\t[\"is/opera\",\"opera\"],\n\t\t\t\t[\"is/phantomjs\",\"phantomjs\"],\n\t\t\t\t[\"is/safari\",\"safari\"],\n\t\t\t\t[\"is/seamonkey\",\"seamonkey\"],\n\t\t\t\t[\"is/blackberry\",\"blackberry\"],\n\t\t\t\t[\"is/webos\",\"webos\"],\n\t\t\t\t[\"is/silk\",\"silk\"],\n\t\t\t\t[\"is/bada\",\"bada\"],\n\t\t\t\t[\"is/tizen\",\"tizen\"],\n\t\t\t\t[\"is/sailfish\",\"sailfish\"],\n\t\t\t\t[\"is/android\",\"android\"],\n\t\t\t\t[\"is/windowsphone\",\"windowsphone\"],\n\t\t\t\t[\"is/firefoxos\",\"firefoxos\"],\n\t\t\t\t[\"is/mobile\",\"mobile\"]\n\t\t\t];\n\t\t$tw.browser = $tw.utils.extend($tw.browser, {\n\t\t\tis: bowser.browser,\n\t\t});\n\t\t$tw.utils.each(mappings,function(mapping) {\n\t\t\tvar value = bowser.browser[mapping[1]];\n\t\t\tif(value === undefined) {\n\t\t\t\tvalue = mapping[2];\n\t\t\t}\n\t\t\tif(value === undefined) {\n\t\t\t\tvalue = false;\n\t\t\t}\n\t\t\tif(typeof value === \"boolean\") {\n\t\t\t\tvalue = mapBoolean(value);\n\t\t\t}\n\t\t\tinfoTiddlerFields.push({title: \"$:/info/browser/\" + mapping[0], text: value});\n\t\t});\n\t\t// Set $:/info/browser/name to the platform with some changes from Bowser\n\t\tvar platform = bowser.browser.name;\n\t\tif(\"iPad iPhone iPod\".split(\" \").indexOf(platform) !== -1) {\n\t\t\tplatform = \"iOS\";\n\t\t}\n\t\tinfoTiddlerFields.push({title: \"$:/info/browser/name\", text: platform});\n\t\t// Non-bowser settings for TiddlyFox and TiddlyDesktop\n\t\tvar isTiddlyDesktop = false; // Can't detect it until we update TiddlyDesktop to have a distinct useragent string\n\t\t//infoTiddlerFields.push({title: \"$:/info/browser/has/tiddlyfox\", text: mapBoolean(hasTiddlyFox)});\n\t\t//infoTiddlerFields.push({title: \"$:/info/browser/is/tiddlydesktop\", text: mapBoolean(isTiddlyDesktop)});\n\t\tif(isTiddlyDesktop) {\n\t\t\tinfoTiddlerFields.push({title: \"$:/info/browser/name\", text: \"TiddlyDesktop\"});\n\t\t}\n\t}\n\treturn infoTiddlerFields;\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/browser-sniff/files/bowser.js",
    "content": "/*!\n  * Bowser - a browser detector\n  * https://github.com/ded/bowser\n  * MIT License | (c) Dustin Diaz 2014\n  */\n\n!function (name, definition) {\n  if (typeof module != 'undefined' && module.exports) module.exports['browser'] = definition()\n  else if (typeof define == 'function') define(definition)\n  else this[name] = definition()\n}('bowser', function () {\n  /**\n    * See useragents.js for examples of navigator.userAgent\n    */\n\n  var t = true\n\n  function detect(ua) {\n\n    function getFirstMatch(regex) {\n      var match = ua.match(regex);\n      return (match && match.length > 1 && match[1]) || '';\n    }\n\n    var iosdevice = getFirstMatch(/(ipod|iphone|ipad)/i).toLowerCase()\n      , likeAndroid = /like android/i.test(ua)\n      , android = !likeAndroid && /android/i.test(ua)\n      , versionIdentifier = getFirstMatch(/version\\/(\\d+(\\.\\d+)?)/i)\n      , tablet = /tablet/i.test(ua)\n      , mobile = !tablet && /[^-]mobi/i.test(ua)\n      , result\n\n    if (/opera|opr/i.test(ua)) {\n      result = {\n        name: 'Opera'\n      , opera: t\n      , version: versionIdentifier || getFirstMatch(/(?:opera|opr)[\\s\\/](\\d+(\\.\\d+)?)/i)\n      }\n    }\n    else if (/windows phone/i.test(ua)) {\n      result = {\n        name: 'Windows Phone'\n      , windowsphone: t\n      , msie: t\n      , version: getFirstMatch(/iemobile\\/(\\d+(\\.\\d+)?)/i)\n      }\n    }\n    else if (/msie|trident/i.test(ua)) {\n      result = {\n        name: 'Internet Explorer'\n      , msie: t\n      , version: getFirstMatch(/(?:msie |rv:)(\\d+(\\.\\d+)?)/i)\n      }\n    }\n    else if (/chrome|crios|crmo/i.test(ua)) {\n      result = {\n        name: 'Chrome'\n      , chrome: t\n      , version: getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.\\d+)?)/i)\n      }\n    }\n    else if (iosdevice) {\n      result = {\n        name : iosdevice == 'iphone' ? 'iPhone' : iosdevice == 'ipad' ? 'iPad' : 'iPod'\n      }\n      // WTF: version is not part of user agent in web apps\n      if (versionIdentifier) {\n        result.version = versionIdentifier\n      }\n    }\n    else if (/sailfish/i.test(ua)) {\n      result = {\n        name: 'Sailfish'\n      , sailfish: t\n      , version: getFirstMatch(/sailfish\\s?browser\\/(\\d+(\\.\\d+)?)/i)\n      }\n    }\n    else if (/seamonkey\\//i.test(ua)) {\n      result = {\n        name: 'SeaMonkey'\n      , seamonkey: t\n      , version: getFirstMatch(/seamonkey\\/(\\d+(\\.\\d+)?)/i)\n      }\n    }\n    else if (/firefox|iceweasel/i.test(ua)) {\n      result = {\n        name: 'Firefox'\n      , firefox: t\n      , version: getFirstMatch(/(?:firefox|iceweasel)[ \\/](\\d+(\\.\\d+)?)/i)\n      }\n      if (/\\((mobile|tablet);[^\\)]*rv:[\\d\\.]+\\)/i.test(ua)) {\n        result.firefoxos = t\n      }\n    }\n    else if (/silk/i.test(ua)) {\n      result =  {\n        name: 'Amazon Silk'\n      , silk: t\n      , version : getFirstMatch(/silk\\/(\\d+(\\.\\d+)?)/i)\n      }\n    }\n    else if (android) {\n      result = {\n        name: 'Android'\n      , version: versionIdentifier\n      }\n    }\n    else if (/phantom/i.test(ua)) {\n      result = {\n        name: 'PhantomJS'\n      , phantom: t\n      , version: getFirstMatch(/phantomjs\\/(\\d+(\\.\\d+)?)/i)\n      }\n    }\n    else if (/blackberry|\\bbb\\d+/i.test(ua) || /rim\\stablet/i.test(ua)) {\n      result = {\n        name: 'BlackBerry'\n      , blackberry: t\n      , version: versionIdentifier || getFirstMatch(/blackberry[\\d]+\\/(\\d+(\\.\\d+)?)/i)\n      }\n    }\n    else if (/(web|hpw)os/i.test(ua)) {\n      result = {\n        name: 'WebOS'\n      , webos: t\n      , version: versionIdentifier || getFirstMatch(/w(?:eb)?osbrowser\\/(\\d+(\\.\\d+)?)/i)\n      };\n      /touchpad\\//i.test(ua) && (result.touchpad = t)\n    }\n    else if (/bada/i.test(ua)) {\n      result = {\n        name: 'Bada'\n      , bada: t\n      , version: getFirstMatch(/dolfin\\/(\\d+(\\.\\d+)?)/i)\n      };\n    }\n    else if (/tizen/i.test(ua)) {\n      result = {\n        name: 'Tizen'\n      , tizen: t\n      , version: getFirstMatch(/(?:tizen\\s?)?browser\\/(\\d+(\\.\\d+)?)/i) || versionIdentifier\n      };\n    }\n    else if (/safari/i.test(ua)) {\n      result = {\n        name: 'Safari'\n      , safari: t\n      , version: versionIdentifier\n      }\n    }\n    else result = {}\n\n    // set webkit or gecko flag for browsers based on these engines\n    if (/(apple)?webkit/i.test(ua)) {\n      result.name = result.name || \"Webkit\"\n      result.webkit = t\n      if (!result.version && versionIdentifier) {\n        result.version = versionIdentifier\n      }\n    } else if (!result.opera && /gecko\\//i.test(ua)) {\n      result.name = result.name || \"Gecko\"\n      result.gecko = t\n      result.version = result.version || getFirstMatch(/gecko\\/(\\d+(\\.\\d+)?)/i)\n    }\n\n    // set OS flags for platforms that have multiple browsers\n    if (android || result.silk) {\n      result.android = t\n    } else if (iosdevice) {\n      result[iosdevice] = t\n      result.ios = t\n    }\n\n    // OS version extraction\n    var osVersion = '';\n    if (iosdevice) {\n      osVersion = getFirstMatch(/os (\\d+([_\\s]\\d+)*) like mac os x/i);\n      osVersion = osVersion.replace(/[_\\s]/g, '.');\n    } else if (android) {\n      osVersion = getFirstMatch(/android[ \\/-](\\d+(\\.\\d+)*)/i);\n    } else if (result.windowsphone) {\n      osVersion = getFirstMatch(/windows phone (?:os)?\\s?(\\d+(\\.\\d+)*)/i);\n    } else if (result.webos) {\n      osVersion = getFirstMatch(/(?:web|hpw)os\\/(\\d+(\\.\\d+)*)/i);\n    } else if (result.blackberry) {\n      osVersion = getFirstMatch(/rim\\stablet\\sos\\s(\\d+(\\.\\d+)*)/i);\n    } else if (result.bada) {\n      osVersion = getFirstMatch(/bada\\/(\\d+(\\.\\d+)*)/i);\n    } else if (result.tizen) {\n      osVersion = getFirstMatch(/tizen[\\/\\s](\\d+(\\.\\d+)*)/i);\n    }\n    if (osVersion) {\n      result.osversion = osVersion;\n    }\n\n    // device type extraction\n    var osMajorVersion = osVersion.split('.')[0];\n    if (tablet || iosdevice == 'ipad' || (android && (osMajorVersion == 3 || (osMajorVersion == 4 && !mobile))) || result.silk) {\n      result.tablet = t\n    } else if (mobile || iosdevice == 'iphone' || iosdevice == 'ipod' || android || result.blackberry || result.webos || result.bada) {\n      result.mobile = t\n    }\n\n    // Graded Browser Support\n    // http://developer.yahoo.com/yui/articles/gbs\n    if ((result.msie && result.version >= 10) ||\n        (result.chrome && result.version >= 20) ||\n        (result.firefox && result.version >= 20.0) ||\n        (result.safari && result.version >= 6) ||\n        (result.opera && result.version >= 10.0) ||\n        (result.ios && result.osversion && result.osversion.split(\".\")[0] >= 6)\n        ) {\n      result.a = t;\n    }\n    else if ((result.msie && result.version < 10) ||\n        (result.chrome && result.version < 20) ||\n        (result.firefox && result.version < 20.0) ||\n        (result.safari && result.version < 6) ||\n        (result.opera && result.version < 10.0) ||\n        (result.ios && result.osversion && result.osversion.split(\".\")[0] < 6)\n        ) {\n      result.c = t\n    } else result.x = t\n\n    return result\n  }\n\n  var bowser = detect(typeof navigator !== 'undefined' ? navigator.userAgent : '')\n\n\n  /*\n   * Set our detect method to the main bowser object so we can\n   * reuse it to test other user agents.\n   * This is needed to implement future tests.\n   */\n  bowser._detect = detect;\n\n  return bowser\n});\n"
  },
  {
    "path": "plugins/tiddlywiki/browser-sniff/files/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": [\n\t\t{\n\t\t\t\"file\": \"bowser.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/browser-sniff/bowser/bowser.js\",\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t}\n\t\t}\n\t]\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/browser-sniff/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/browser-sniff\",\n\t\"name\": \"Browser Sniff\",\n\t\"description\": \"Browser feature detection\",\n\t\"list\": \"readme usage\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/browser-sniff/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/browser-sniff/readme\n\nThis plugin adds a number of `$:/info/` tiddlers containing information about the current browser.\n\nIt allows you to create content that is presented in a way that is responsive to different browsers.\n\nFor example, https://tiddlywiki.com uses this plugin to present the user with the best options for getting started depending on their browser.\n\n[[Source code|https://github.com/TiddlyWiki/TiddlyWiki5/blob/master/plugins/tiddlywiki/browser-sniff]]\n"
  },
  {
    "path": "plugins/tiddlywiki/browser-sniff/usage.tid",
    "content": "title: $:/plugins/tiddlywiki/browser-sniff/usage\n\n! Information Tiddlers\n\nThe following informational tiddlers are created at startup:\n\n|!Title |!Description |\n|[[$:/info/browser/is/mobile]] |Running on mobile device? (\"yes\" or \"no\")  |\n|[[$:/info/browser/is/android]] |Running on Android? (\"yes\" or \"no\")  |\n|[[$:/info/browser/is/bada]] |Running on Bada? (\"yes\" or \"no\")  |\n|[[$:/info/browser/is/blackberry]] |Running on ~BlackBerry? (\"yes\" or \"no\")  |\n|[[$:/info/browser/is/chrome]] |Running on Chrome? (\"yes\" or \"no\")  |\n|[[$:/info/browser/is/firefox]] |Running on Firefox? (\"yes\" or \"no\")  |\n|[[$:/info/browser/is/firefoxos]] |Running on Firefox OS? (\"yes\" or \"no\")  |\n|[[$:/info/browser/is/gecko]] |Running on Gecko? (\"yes\" or \"no\")  |\n|[[$:/info/browser/is/ios]] |Running on iOS (ie an iPhone, iPad or iPod)? (\"yes\" or \"no\")  |\n|[[$:/info/browser/is/ipad]] |Running on iPad? (\"yes\" or \"no\")  |\n|[[$:/info/browser/is/iphone]] |Running on iPhone? (\"yes\" or \"no\")  |\n|[[$:/info/browser/is/ipod]] |Running on iPod? (\"yes\" or \"no\")  |\n|[[$:/info/browser/is/opera]] |Running on Opera? (\"yes\" or \"no\")  |\n|[[$:/info/browser/is/phantomjs]] |Running on ~PhantomJS? (\"yes\" or \"no\")  |\n|[[$:/info/browser/is/safari]] |Running on Safari? (\"yes\" or \"no\")  |\n|[[$:/info/browser/is/sailfish]] |Running on Sailfish? (\"yes\" or \"no\")  |\n|[[$:/info/browser/is/seamonkey]] |Running on Sea Monkey? (\"yes\" or \"no\")  |\n|[[$:/info/browser/is/silk]] |Running on Amazon's Silk? (\"yes\" or \"no\")  |\n|[[$:/info/browser/is/tizen]] |Running on Tizen? (\"yes\" or \"no\")  |\n|[[$:/info/browser/is/webkit]] |Running on ~WebKit? (\"yes\" or \"no\")  |\n|[[$:/info/browser/is/webos]] |Running on ~WebOS? (\"yes\" or \"no\")  |\n|[[$:/info/browser/is/windowsphone]] |Running on Windows Phone? (\"yes\" or \"no\")  |\n|[[$:/info/browser/name]] |Platform name (see below) |\n|[[$:/info/browser/version]] |Browser version |\n\nThe browser information is obtained with [[Bowser, a browser detector library from Dustin Diaz|https://github.com/ded/bowser/]]. Possible browser names include:\n\n* ''\"Amazon Silk\"''\n* ''\"Android\"''\n* ''\"Bada\"''\n* ''\"~BlackBerry\"''\n* ''\"Chrome\"''\n* ''\"Firefox\"''\n* ''\"Internet Explorer\"''\n* ''\"iOS\"''\n* ''\"Opera\"''\n* ''\"~PhantomJS\"''\n* ''\"Safari\"''\n* ''\"Sailfish\"''\n* ''\"~SeaMonkey\"''\n* ''\"~TiddlyDesktop\"''\n* ''\"Tizen\"''\n* ''\"~WebOS\"''\n* ''\"Windows Phone\"''\n\nNote that Bowser returns \"iPhone\", \"iPad\" and \"iPod\" as distinct values for the name of the current browser. TiddlyWiki converts all three distinct values into \"iOS\" before copying to [[$:/info/browser/name]].\n"
  },
  {
    "path": "plugins/tiddlywiki/browser-storage/config/SaveFilter.tid",
    "content": "title: $:/config/BrowserStorage/SaveFilter\ntext: [prefix[$:/state/]] -[prefix[$:/state/popup/]]\n"
  },
  {
    "path": "plugins/tiddlywiki/browser-storage/icon.tid",
    "content": "title: $:/plugins/tiddlywiki/browser-storage/icon\ntags: $:/tags/Image\n\n<svg class=\"tc-image-browser-storage tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n    <g stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\">\n        <ellipse cx=\"64\" cy=\"16\" rx=\"40\" ry=\"16\"></ellipse>\n        <path d=\"M24,96 C24,104.836556 41.90861,112 64,112 C86.09139,112 104,104.836556 104,96 L104,112 C104,120.836556 86.09139,128 64,128 C41.90861,128 24,120.836556 24,112 L24,96 Z\"></path>\n        <path d=\"M24,72 C24,80.836556 41.90861,88 64,88 C86.09139,88 104,80.836556 104,72 L104,88 C104,96.836556 86.09139,104 64,104 C41.90861,104 24,96.836556 24,88 L24,72 Z\"></path>\n        <path d=\"M24,48 C24,56.836556 41.90861,64 64,64 C86.09139,64 104,56.836556 104,48 L104,64 C104,72.836556 86.09139,80 64,80 C41.90861,80 24,72.836556 24,64 L24,48 Z\"></path>\n        <path d=\"M24,24 C24,32.836556 41.90861,40 64,40 C86.09139,40 104,32.836556 104,24 L104,40 C104,48.836556 86.09139,56 64,56 C41.90861,56 24,48.836556 24,40 L24,24 Z\"></path>\n    </g>\n</svg>"
  },
  {
    "path": "plugins/tiddlywiki/browser-storage/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/browser-storage\",\n\t\"name\": \"Browser Storage\",\n\t\"description\": \"Local storage in the browser\",\n\t\"list\": \"readme settings\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/browser-storage/rawmarkup.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/browser-storage/rawmarkup.js\ntype: application/javascript\nmodule-type: library\n\nStartup code injected as raw markup\n\n\\*/\n\n// Need to initialise these because we run before bootprefix.js and boot.js\n$tw = window.$tw || Object.create(null);\n$tw.hooks = $tw.hooks || { names: {}};\n$tw.boot = $tw.boot || {};\n$tw.boot.preloadDirty = $tw.boot.preloadDirty || [];\n// Hook the point in the startup process when the tiddlers have been loaded but plugins not unpacked\nvar hookName = \"th-boot-tiddlers-loaded\";\nif(Object.prototype.hasOwnProperty.call($tw.hooks.names,hookName)) {\n\t$tw.hooks.names[hookName].push(hookBootTiddlersLoaded);\n} else {\n\t$tw.hooks.names[hookName] = [hookBootTiddlersLoaded];\n}\n\n// Load tiddlers from browser storage\nfunction hookBootTiddlersLoaded() {\n\tvar url = window.location.pathname,\n\t\tkeysToDelete = [],\n\t\tlog = [];\n\t// Check that browser storage is available\n\ttry {\n\t\twindow.localStorage;\n\t} catch(e) {\n\t\treturn;\n\t}\n\t// Step through each browsder storage item\n\tfor(var index=0; index<window.localStorage.length; index++) {\n\t\tvar key = window.localStorage.key(index),\n\t\t\tparts = key.split(\"#\");\n\t\t// If it's ours\n\t\tif(parts[0] === \"tw5\" && parts[1] === url) {\n\t\t\t// Read it as JSON\n\t\t\tvar jsonString = window.localStorage.getItem(key),\n\t\t\t\tjsonData;\n\t\t\tif(jsonString) {\n\t\t\t\ttry {\n\t\t\t\t\tjsonData = JSON.parse(jsonString);\n\t\t\t\t} catch(e) {}\n\t\t\t\tif(jsonData) {\n\t\t\t\t\t// Convert it to a tiddler\n\t\t\t\t\tvar incomingTiddler = new $tw.Tiddler(jsonData);\n\t\t\t\t\tif(incomingTiddler) {\n\t\t\t\t\t\t// Get any existing tiddler\n\t\t\t\t\t\tvar title = incomingTiddler.fields.title,\n\t\t\t\t\t\t\texistingTiddler = $tw.wiki.getTiddler(title);\n\t\t\t\t\t\tif(existingTiddler && existingTiddler.isEqual(incomingTiddler)) {\n\t\t\t\t\t\t\t// If the incoming tiddler is the same as the existing then we can delete the local storage version\n\t\t\t\t\t\t\t// Defer deletion until after this loop, since deleting will shift the index and cause the\n\t\t\t\t\t\t\t// index+1 item to be skipped.\n\t\t\t\t\t\t\tkeysToDelete.push(key);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$tw.wiki.addTiddler(incomingTiddler);\n\t\t\t\t\t\t\tlog.push(title);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Empty value means the tiddler is marked as deleted\n\t\t\t\tvar title = parts.slice(2).join(\"#\"),\n\t\t\t\t\texistingTiddler = $tw.wiki.getTiddler(title);\n\t\t\t\tif(existingTiddler) {\n\t\t\t\t\t// The tiddler still exists in the wiki. Delete it so it won't be visible.\n\t\t\t\t\t$tw.wiki.deleteTiddler(title);\n\t\t\t\t} else {\n\t\t\t\t\t// The tiddler is already missing from the wiki, so delete the blank local storage entry\n\t\t\t\t\tkeysToDelete.push(key);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t$tw.utils.each(keysToDelete,function(key) {\n\t\twindow.localStorage.removeItem(key);\n\t});\n\t// Make sure that all the tiddlers we've loaded are marked as dirty at startup\n\tArray.prototype.push.apply($tw.boot.preloadDirty,log);\n\t// Save the log\n\t$tw.wiki.addTiddler({\n\t\ttitle: \"$:/temp/BrowserStorage/Log\",\n\t\ttext: $tw.utils.stringifyList(log)\n\t});\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/browser-storage/rawmarkup.tid",
    "content": "title: $:/plugins/tiddlywiki/browser-storage/rawmarkup\ntags: $:/tags/RawMarkupWikified\n\n`<script>`\n{{$:/plugins/tiddlywiki/browser-storage/rawmarkup.js}}\n`</script>`\n"
  },
  {
    "path": "plugins/tiddlywiki/browser-storage/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/browser-storage/readme\n\nThis plugin enables ~TiddlyWiki to save tiddlers in [[browser local storage|https://en.wikipedia.org/wiki/Web_storage#localStorage]]. This means that changes are stored within the browser, and automatically re-applied any time the base wiki is reloaded.\n\nAt startup, the plugin reads tiddlers from local storage. Any tiddlers that are identical to those built into the file are deleted from local storage. Once the wiki is up and running, any tiddler changes are written straight to local storage.\n\n!! Optional use with ~TiddlyWeb plugin\n\nFor wikis served from a ~TiddlyWeb compatible server, including the ~TiddlyWiki Node JS server, this plugin may be added to provide temporary local storage of tiddler changes when the [[tiddlyweb sync adapter|https://github.com/TiddlyWiki/TiddlyWiki5/tree/master/plugins/tiddlywiki/tiddlyweb]] is unable to successfully synchronise with the server, and to automatically synchronise tiddlers saved offline in browser storage once connection is re-established. The use of browser storage allows for tiddlers saved offline to be synchronised with the server even in the case where the browser is closed or the user (purposely, accidentally, or automatically in the case of a mobile browser periodically refreshing) navigates away from the wiki.\n\nChanges will be synchronised with the server the next time the wiki is loaded in the browser. Tiddlers are removed from browser-storage once synchronised to the server.\n\nBy default only state tiddlers are saved by this plugin. On the settings tab, you can update the Save Filter to save all content and system tiddlers. The third example provided is a good choice. \n\n!!! Limitations\n\n* ''Deleted tiddlers:'' Tiddler deletions while offline are not synchronised with the server due to technical limitations. The intent of using this plugin with a ~TiddlyWeb server is to prevent the loss of new or modified content while temporarily offline. \n* ''Title changes:'' Tiddlers are saved by title, so a change to a tiddler title will be saved and synchronised to the server, but it will not overwrite the tiddler with the original title. \n* ''Browser storage:'' While useful as a safety measure for //temporary// offline usage, as noted below, browser storage itself has limitations that could still result in losing data in some cases.   \n\n!!Browser local storage is not a panacea for TiddlyWiki:\n\n* Browsers limit the amount of local storage available to a page, typically to 5 or 10MB\n* Keeping personal data in browser local storage can lead to unexpected privacy violations\n* Browsers reserve the right to without warning delete data stored in local storage at any time\n* Browsers tie local storage to a URL which can lead to problems if you move a wiki to a URL previously occupied by a different wiki\n\nPlease use this plugin with caution. There are a number of unresolved issues and open questions:\n\n* Innerwikis read the local storage of their parent wikis\n* This plugin does not interfere with the existing saver mechanism, so you'll still get warnings when refreshing the page, even if your changes are safely committed to local storage\n* There is a possibility that tiddlers might be transferred between different wikis if they are accessed via the same URL. This is particularly likely when running in local client server configuration under Node.js\n"
  },
  {
    "path": "plugins/tiddlywiki/browser-storage/settings.tid",
    "content": "title: $:/plugins/tiddlywiki/browser-storage/settings\ncaption: Browser Storage\ntags: $:/tags/ControlPanel/SettingsTab\n\n! Disable\n\nYou can disable the browser storage plugin:\n\n<$checkbox tiddler=\"$:/config/BrowserStorage/Enabled\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> Use browser local storage</$checkbox>\n\n! Clear\n\nClick this button to clear browser storage and disable its use:\n\n<$button message=\"tm-clear-browser-storage\">Clear browser storage</$button>\n\n! Save Filter\n\nThis filter determines which tiddlers will be saved to local storage.\n\n* `[prefix[$:/state/]] -[prefix[$:/state/popup/]]` - the default value. Save state tiddlers except popup state tiddlers, thus preserving selected tabs and the open/closed status of table of contents entries. Any other tiddlers created or changed will be lost after reloading the page.\n* `[all[]]` - attempt to save all changed tiddlers. This means even popup state tiddlers and temporary tiddlers will be saved.\n* `[all[]] -[prefix[$:/state/popup/]] -[prefix[$:/temp/]] -[prefix[$:/HistoryList]]` - save all tiddlers except popup state tiddlers, temp tiddlers and the history list.\n\n|tc-table-no-border|k\n|<$link to=\"$:/config/BrowserStorage/SaveFilter\">Browser Storage Save Filter</$link> |<$edit-text tiddler=\"$:/config/BrowserStorage/SaveFilter\" default=\"\" tag=\"input\"/> |\n\n! Custom Quota Exceeded Alert\n\nThis setting allows a custom alert message to be displayed when an attempt to store a tiddler fails due to the storage quota being exceeded:\n\n|tc-table-no-border|k\n|<$link to=\"$:/config/BrowserStorage/QuotaExceededAlert\">Quota Exceeded Alert</$link> |<$edit-text tiddler=\"$:/config/BrowserStorage/QuotaExceededAlert\" default=\"\" tag=\"input\"/> |\n\n! Prevent browser from evicting local storage\n\nPermission for local storage persistence: ''{{$:/state/browser/storage/persisted}}''\n\nThe first time a tiddler is saved to local storage a request will be made to prevent automatic eviction of local storage for this site. This means the data will not be cleared unless the user manually clears it.\n\nOld browsers may not support this feature. New browsers might not support the feature if the wiki is hosted on a non-localhost unencrypted http connection.\n\nSome browsers will explicitly prompt the user for permission. Other browsers may automatically grant or deny the request based on site usage or based on whether the site is bookmarked.\n\n! Startup Log\n\nThe tiddler $:/temp/BrowserStorage/Log contains a log of the tiddlers that were loaded from local storage at startup:\n\n<<list-links \"[enlist{$:/temp/BrowserStorage/Log}sort[]]\">>\n"
  },
  {
    "path": "plugins/tiddlywiki/browser-storage/startup.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/browser-storage/startup.js\ntype: application/javascript\nmodule-type: startup\n\nStartup initialisation\n\n\\*/\n\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"browser-storage\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\nvar ENABLED_TITLE = \"$:/config/BrowserStorage/Enabled\",\n\tSAVE_FILTER_TITLE = \"$:/config/BrowserStorage/SaveFilter\",\n\tPERSISTED_STATE_TITLE = \"$:/state/browser/storage/persisted\";\n\nvar BrowserStorageUtil = require(\"$:/plugins/tiddlywiki/browser-storage/util.js\").BrowserStorageUtil;\n\nexports.startup = function() {\n\t// Compute our prefix for local storage keys\n\tvar prefix = \"tw5#\" + window.location.pathname + \"#\";\n\t// Make a logger\n\tvar logger = new $tw.utils.Logger(\"browser-storage\",{\n\t\tcolour: \"cyan\"\n\t});\n\t// Add browserStorage object to $tw\n\t$tw.browserStorage = new BrowserStorageUtil($tw.wiki,{\n\t\tenabledTitle: ENABLED_TITLE,\n\t\tprefix: prefix,\n\t\tlogger: logger\n\t});\n\t// Function to compile the filter\n\tvar filterFn,\n\t\tcompileFilter = function() {\n\t\t\tfilterFn = $tw.wiki.compileFilter($tw.wiki.getTiddlerText(SAVE_FILTER_TITLE));\n\t\t};\n\tcompileFilter();\n\t// Listen for tm-clear-browser-storage messages\n\t$tw.rootWidget.addEventListener(\"tm-clear-browser-storage\",function(event) {\n\t\t$tw.wiki.addTiddler({title: ENABLED_TITLE, text: \"no\"});\n\t\t$tw.browserStorage.clearLocalStorage();\n\t});\n\t// Seperate clear cookie and disable action\n\t$tw.rootWidget.addEventListener(\"tm-delete-browser-storage\",function(event) {\n\t\t$tw.browserStorage.clearLocalStorage();\n\t});\n\t$tw.rootWidget.addEventListener(\"tm-disable-browser-storage\",function(event) {\n\t\t$tw.wiki.addTiddler({title: ENABLED_TITLE, text: \"no\"});\n\t});\n\t// Helpers for protecting storage from eviction\n\tvar setPersistedState = function(state) {\n\t\t\t$tw.wiki.addTiddler({title: PERSISTED_STATE_TITLE, text: state});\n\t\t},\n\t\trequestPersistence = function() {\n\t\t\tsetPersistedState(\"requested\");\n\t\t\tnavigator.storage.persist().then(function(persisted) {\n\t\t\t\tconsole.log(\"Request for persisted storage \" + (persisted ? \"granted\" : \"denied\"));\n\t\t\t\tsetPersistedState(persisted ? \"granted\" : \"denied\");\n\t\t\t});\n\t\t},\n\t\tpersistPermissionRequested = false,\n\t\trequestPersistenceOnFirstSave = function() {\n\t\t\t$tw.hooks.addHook(\"th-saving-tiddler\", function(tiddler) {\n\t\t\t\tif(!persistPermissionRequested) {\n\t\t\t\t\tvar filteredChanges = filterFn.call($tw.wiki, function(iterator) {\n\t\t\t\t\t\titerator(tiddler,tiddler.getFieldString(\"title\"));\n\t\t\t\t\t});\n\t\t\t\t\tif(filteredChanges.length > 0) {\n\t\t\t\t\t\t// The tiddler will be saved to local storage, so request persistence\n\t\t\t\t\t\trequestPersistence();\n\t\t\t\t\t\tpersistPermissionRequested = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn tiddler;\n\t\t\t});\n\t\t};\n\t// Request the browser to never evict the localstorage. Some browsers such as firefox\n\t// will prompt the user. To make the decision easier for the user only prompt them\n\t// when they click the save button on a tiddler which will be stored to localstorage.\n\tif(navigator.storage && navigator.storage.persist) {\n\t\tnavigator.storage.persisted().then(function(isPersisted) {\n\t\t\tif(!isPersisted) {\n\t\t\t\tsetPersistedState(\"not requested yet\");\n\t\t\t\trequestPersistenceOnFirstSave();\n\t\t\t} else {\n\t\t\t\tsetPersistedState(\"granted\");\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsetPersistedState(\"feature not available\");\n\t}\n\t// Track tiddler changes\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\t// Bail if browser storage is disabled\n\t\tif($tw.wiki.getTiddlerText(ENABLED_TITLE) === \"no\") {\n\t\t\treturn;\n\t\t}\n\t\t// Recompile the filter if it has changed\n\t\tif(changes[SAVE_FILTER_TITLE]) {\n\t\t\tcompileFilter();\n\t\t}\n\t\t// Filter the changes\n\t\tvar filteredChanges = filterFn.call($tw.wiki,function(iterator) {\n\t\t\t$tw.utils.each(changes,function(change,title) {\n\t\t\t\tvar tiddler = $tw.wiki.getTiddler(title);\n\t\t\t\titerator(tiddler,title);\n\t\t\t});\n\t\t});\n\t\t$tw.utils.each(filteredChanges,function(title) {\n\t\t\t// Don't try to save changes to our enabled status\n\t\t\t// (If it were enabled in the file but disabled in local storage then we might not realise that distributing a copy of the file would have local storage enabled for other users)\n\t\t\tif(title === ENABLED_TITLE) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// This should always be queried from the browser, so don't store it in local storage\n\t\t\tif(title === PERSISTED_STATE_TITLE) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Save the tiddler\n\t\t\t$tw.browserStorage.saveTiddlerToLocalStorage(title);\n\t\t});\n\t});\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/browser-storage/util.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/browser-storage/util.js\ntype: application/javascript\nmodule-type: library\n\nUtility methods for browser-storage plugin\n\n\\*/\n\n\"use strict\";\n\nfunction BrowserStorageUtil(wiki,options) {\n\tthis.options = options || {};\n\tthis.wiki = wiki;\n\tthis.cachedTiddlers = [];\n\tthis.QUOTA_EXCEEDED_ALERT_TITLE = \"$:/config/BrowserStorage/QuotaExceededAlert\";\n\tthis.DEFAULT_QUOTA_EXCEEDED_ALERT_PREFIX = \"Quota exceeded attempting to store `\";\n\tthis.DEFAULT_QUOTA_EXCEEDED_ALERT_SUFFIX = \"` in browser local storage\";\n}\n\nBrowserStorageUtil.prototype.isEnabled = function() {\n\treturn $tw.wiki.getTiddlerText(this.options.enabledTitle) === \"yes\";\n};\n\nBrowserStorageUtil.prototype.cachePreloadTiddlers = function() {\n\tvar self = this;\n\t$tw.utils.each($tw.boot.preloadDirty, function(item){\n\t\tvar tiddler = $tw.wiki.getTiddler(item);\n\t\tself.cachedTiddlers.push(tiddler);\n\t});\n};\n\nBrowserStorageUtil.prototype.addCachedTiddlers = function() {\n\tif(this.cachedTiddlers.length > 0) {\n\t\t$tw.utils.each(this.cachedTiddlers, function(item){\n\t\t\t$tw.wiki.addTiddler(item);\n\t\t});\n\t\tthis.cachedTiddlers.length = 0;\n\t}\n};\n\nBrowserStorageUtil.prototype.removeTiddlerFromLocalStorage = function(title) {\n\tconsole.log(\"browser-storage: Removing\", title);\n\twindow.localStorage.removeItem(this.options.prefix + title);\n};\n\nBrowserStorageUtil.prototype.saveTiddlerToLocalStorage = function(title) {\n\t// Get the tiddler\n\tvar tiddler = $tw.wiki.getTiddler(title);\n\tif(tiddler) {\n\t\tif(this.wiki.tiddlerExists(title)) {\n\t\t\t// This is not a shadow tiddler\n\t\t\tconsole.log(\"browser-storage: Saving\",title);\n\t\t\t// Get the JSON of the tiddler\n\t\t\tvar json = JSON.stringify(tiddler.getFieldStrings());\n\t\t\t// Try to save it to local storage\n\t\t\ttry {\n\t\t\t\twindow.localStorage.setItem(this.options.prefix + title,json);\n\t\t\t} catch(e) {\n\t\t\t\tif(e.name === \"QuotaExceededError\") {\n\t\t\t\t\t// Complain if we failed\n\t\t\t\t\tvar msg = $tw.wiki.getTiddlerText(this.QUOTA_EXCEEDED_ALERT_TITLE,this.DEFAULT_QUOTA_EXCEEDED_ALERT_PREFIX + title + this.DEFAULT_QUOTA_EXCEEDED_ALERT_SUFFIX);\n\t\t\t\t\tif(this.options.logger) {\n\t\t\t\t\t\tthis.options.logger.alert(msg);\n\t\t\t\t\t}\n\t\t\t\t\t// No point in keeping old values around for this tiddler\n\t\t\t\t\twindow.localStorage.removeItem(this.options.prefix + title);\n\t\t\t\t} else {\n\t\t\t\t\tconsole.log(\"Browser-storage error:\",e);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// Shadow tiddler which is no longer overwritten (or never was)\n\t\t\t// Ensure it is not in local storage\n\t\t\tthis.removeTiddlerFromLocalStorage(title);\n\t\t}\n\t} else {\n\t\t// In local storage, use the special value of empty string to mark the tiddler as deleted\n\t\t// On future page loads, if the tiddler is already gone from startup then the blank entry\n\t\t// will be removed from localstorage. Otherwise, the tiddler will be deleted.\n\t\tconsole.log(\"browser-storage: Blanking\",title); \n\t\ttry {\n\t\t\twindow.localStorage.setItem(this.options.prefix + title, \"\");\n\t\t} catch(e) {\n\t\t\tconsole.log(\"Browser-storage error:\",e);\n\t\t}\n\t}\n};\n\nBrowserStorageUtil.prototype.clearLocalStorage = function() {\n\tvar url = window.location.pathname;\n\t// Step through each browser storage item\n\tif(window.localStorage) {\n\t\tfor(var index=window.localStorage.length - 1; index>=0; index--) {\n\t\t\tvar key = window.localStorage.key(index),\n\t\t\t\tparts = key.split(\"#\");\n\t\t\t// Delete it if it is ours\n\t\t\tif(parts[0] === \"tw5\" && parts[1] === url) {\n\t\t\t\twindow.localStorage.removeItem(key);\n\t\t\t}\n\t\t}\n\t}\n};\n\nexports.BrowserStorageUtil = BrowserStorageUtil;\n"
  },
  {
    "path": "plugins/tiddlywiki/classictools/languages/ca-ES/types/text_Fx-tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/x-tiddlywiki\ndescription: TiddlyWiki Clàssic\nname: text/x-tiddlywiki\ngroup: Text\n"
  },
  {
    "path": "plugins/tiddlywiki/classictools/languages/cs-CZ/types/text_Fx-tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/x-tiddlywiki\ndescription: TiddlyWiki Classic\nname: text/x-tiddlywiki\ngroup: Text\n"
  },
  {
    "path": "plugins/tiddlywiki/classictools/languages/da-DK/types/text_Fx-tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/x-tiddlywiki\ndescription: TiddlyWiki klassisk\nname: text/x-tiddlywiki\ngroup: Tekst\n"
  },
  {
    "path": "plugins/tiddlywiki/classictools/languages/de-DE/types/text_x-tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/x-tiddlywiki\ndescription: TWc - TiddlyWiki Classic Wikitext\nname: text/x-tiddlywiki\ngroup: Text\n"
  },
  {
    "path": "plugins/tiddlywiki/classictools/languages/el-Gr/types/text_Fx-tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/x-tiddlywiki\ndescription: TiddlyWiki κλασικό\nname: text/x-tiddlywiki\ngroup: Κειμένου\n"
  },
  {
    "path": "plugins/tiddlywiki/classictools/languages/en-GB/types/text_x-tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/x-tiddlywiki\ndescription: TiddlyWiki Classic\nname: text/x-tiddlywiki\ngroup: Text\ngroup-sort: 0\n"
  },
  {
    "path": "plugins/tiddlywiki/classictools/languages/es-ES/types/text_x-tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/x-tiddlywiki\ndescription: TiddlyWiki Classic\nname: text/x-tiddlywiki\ngroup: Texto\ngroup-sort: 0\n"
  },
  {
    "path": "plugins/tiddlywiki/classictools/languages/fr-FR/types/text_x-tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/x-tiddlywiki\ndescription: TiddlyWiki Classic\nname: text/x-tiddlywiki\ngroup: Text\ngroup-sort: 0\n"
  },
  {
    "path": "plugins/tiddlywiki/classictools/languages/he-IL/types/text_Fx-tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/x-tiddlywiki\ndescription: TiddlyWiki Classic\nname: text/x-tiddlywiki\ngroup: טקסט\n"
  },
  {
    "path": "plugins/tiddlywiki/classictools/languages/hi-IN/types/text_Fx-tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/x-tiddlywiki\ndescription: टिड्लीविकि शास्त्रीय \nname: text/x-tiddlywiki\ngroup: \nटेक्स्ट\n"
  },
  {
    "path": "plugins/tiddlywiki/classictools/languages/ia-IA/types/text_Fx-tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/x-tiddlywiki\ndescription: TiddlyWiki Classic\nname: text/x-tiddlywiki\ngroup: Texto\n"
  },
  {
    "path": "plugins/tiddlywiki/classictools/languages/it-IT/types/text_x-tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/x-tiddlywiki\ndescription: TiddlyWiki Classic\nname: text/x-tiddlywiki\ngroup: Testo\ngroup-sort: 0\n"
  },
  {
    "path": "plugins/tiddlywiki/classictools/languages/ja-JP/types/text_Fx-tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/x-tiddlywiki\ndescription: TiddlyWiki クラシック\nname: text/x-tiddlywiki\ngroup: Text\n"
  },
  {
    "path": "plugins/tiddlywiki/classictools/languages/ko-KR/types/text_Fx-tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/x-tiddlywiki\ndescription: 티들리위키 클래식\nname: text/x-tiddlywiki\ngroup: 텍스트\n"
  },
  {
    "path": "plugins/tiddlywiki/classictools/languages/mk-MK/types/text_Fx-tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/x-tiddlywiki\ndescription: ТидлиВики Класик\nname: text/x-tiddlywiki\ngroup: Текст\n"
  },
  {
    "path": "plugins/tiddlywiki/classictools/languages/nl-NL/types/text_Fx-tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/x-tiddlywiki\ndescription: TiddlyWiki Classic\nname: text/x-tiddlywiki\ngroup: Tekst\n"
  },
  {
    "path": "plugins/tiddlywiki/classictools/languages/pa-IN/types/text_Fx-tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/x-tiddlywiki\ndescription: TiddlyWiki ਕਲਾਸਿਕ\nname: text/x-tiddlywiki\ngroup: ਟੈਕਸਟ\n"
  },
  {
    "path": "plugins/tiddlywiki/classictools/languages/pl-PL/types/text_x-tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/x-tiddlywiki\ndescription: TiddlyWiki Klasyczny\nname: text/x-tiddlywiki\ngroup: Text\ngroup-sort: 0\n"
  },
  {
    "path": "plugins/tiddlywiki/classictools/languages/pt-BR/types/text_Fx-tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/x-tiddlywiki\ndescription: TiddlyWiki Clássica\nname: text/x-tiddlywiki\ngroup: Texto\n"
  },
  {
    "path": "plugins/tiddlywiki/classictools/languages/pt-PT/types/text_Fx-tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/x-tiddlywiki\ndescription: TiddlyWiki Clássica\nname: text/x-tiddlywiki\ngroup: Texto\n"
  },
  {
    "path": "plugins/tiddlywiki/classictools/languages/ru-RU/types/text_Fx-tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/x-tiddlywiki\ndescription: TiddlyWiki Classic\nname: text/x-tiddlywiki\ngroup: Текст\n"
  },
  {
    "path": "plugins/tiddlywiki/classictools/languages/sk-SK/types/text_Fx-tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/x-tiddlywiki\ndescription: TiddlyWiki Classic\nname: text/x-tiddlywiki\ngroup: Text\n"
  },
  {
    "path": "plugins/tiddlywiki/classictools/languages/sl-SI/types/text_Fx-tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/x-tiddlywiki\ndescription: TiddlyWiki Classic wiki besedilo\nname: text/x-tiddlywiki\ngroup: Besedilo\n"
  },
  {
    "path": "plugins/tiddlywiki/classictools/languages/sv-SE/types/text_x-tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/x-tiddlywiki\ndescription: TiddlyWiki klassisk\nname: text/x-tiddlywiki\ngroup: Text\n"
  },
  {
    "path": "plugins/tiddlywiki/classictools/languages/zh-Hans/types/text_x-tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/x-tiddlywiki\ndescription: TiddlyWiki 2\nname: text/x-tiddlywiki\ngroup: 文本\n"
  },
  {
    "path": "plugins/tiddlywiki/classictools/languages/zh-Hant/types/text_x-tiddlywiki.tid",
    "content": "title: $:/language/Docs/Types/text/x-tiddlywiki\ndescription: TiddlyWiki 2\nname: text/x-tiddlywiki\ngroup: 文字\n"
  },
  {
    "path": "plugins/tiddlywiki/classictools/modules/recipe.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/classictools/recipe.js\ntype: application/javascript\nmodule-type: tiddlerdeserializer\n\nModule to deserialize tiddlers from an old school TiddlyWiki recipe file.\n\nThe idea is to process the recipe file recursively, loading tiddlers into the main store using synchronous file operations. The tiddlers have their titles prefixed with the associated marker in curly brackets (\"{shadow}\", \"{tiddler}\" etc).\n\n\\*/\n\n\"use strict\";\n\nexports[\"text/vnd.tiddlywiki2-recipe\"] = function(text,fields) {\n\tvar self = this,\n\t\tpath = require(\"path\"),\n\t\tfs = require(\"fs\"),\n\t\ttiddlers = [],\n\t\tparseRecipe = function(text) {\n\t\t\tvar recipe = [];\n\t\t\ttext.toString().split(/\\r?\\n/mg).forEach(function(line) {\n\t\t\t\t// Check if the line is a comment\n\t\t\t\tif(line.charAt(0) !== \"#\") {\n\t\t\t\t\t// Find the colon splitting the name from the value\n\t\t\t\t\tvar p = line.indexOf(\":\");\n\t\t\t\t\tif(p !== -1) {\n\t\t\t\t\t\trecipe.push({\n\t\t\t\t\t\t\tname: line.substr(0,p).trim(),\n\t\t\t\t\t\t\tvalue: line.substr(p+1).trim()\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn recipe;\n\t\t},\n\t\tloadTiddlersFromFile = function(sourcePath,prefix) {\n\t\t\tvar ext = path.extname(sourcePath),\n\t\t\t\textensionInfo = $tw.utils.getFileExtensionInfo(ext),\n\t\t\t\ttypeInfo = extensionInfo ? $tw.config.contentTypeInfo[extensionInfo.type] : null,\n\t\t\t\tdata = fs.readFileSync(sourcePath,typeInfo ? typeInfo.encoding : \"utf8\"),\n\t\t\t\tfields = {title: sourcePath},\n\t\t\t\ttids = self.deserializeTiddlers(ext,data,fields),\n\t\t\t\tmetafile = sourcePath + \".meta\";\n\t\t\tif(ext !== \".json\" && tids.length === 1 && fs.existsSync(metafile)) {\n\t\t\t\tvar metadata = fs.readFileSync(metafile,\"utf8\");\n\t\t\t\tif(metadata) {\n\t\t\t\t\ttids = [$tw.utils.parseFields(metadata,tids[0])];\n\t\t\t\t}\n\t\t\t}\n\t\t\ttids.forEach(function(tid) {\n\t\t\t\ttid.title = prefix + tid.title;\n\t\t\t});\n\t\t\ttiddlers.push.apply(tiddlers,tids);\n\t\t},\n\t\tprocessRecipe = function(sourcePath,text) {\n\t\t\tvar recipe = parseRecipe(text);\n\t\t\tfor(var t=0; t<recipe.length; t++) {\n\t\t\t\tif(recipe[t].name === \"recipe\") {\n\t\t\t\t\tvar recipeFile = path.resolve(path.dirname(sourcePath),recipe[t].value);\n\t\t\t\t\tprocessRecipe(recipeFile,fs.readFileSync(recipeFile,\"utf8\"));\n\t\t\t\t} else {\n\t\t\t\t\tvar tiddlerFile = path.resolve(path.dirname(sourcePath),recipe[t].value);\n\t\t\t\t\tloadTiddlersFromFile(tiddlerFile,\"{\" + recipe[t].name + \"}\");\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tsourcePath = fields.title; // Bit of a hack to take advantage of the default title being the path to the tiddler file\n\tprocessRecipe(sourcePath,text);\n\t// Add a $:/RecipeTiddlers tiddler with the titles of the loaded tiddlers in order\n\tvar titles = [];\n\t$tw.utils.each(tiddlers,function(tiddler) {\n\t\ttitles.push(tiddler.title);\n\t});\n\ttiddlers.push({\n\t\ttitle: \"$:/RecipeTiddlers\",\n\t\tlist: $tw.utils.stringifyList(titles)\n\t});\n\treturn tiddlers;\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/classictools/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/classictools\",\n\t\"name\": \"Classic Tools\",\n\t\"description\": \"TiddlyWiki Classic tools\",\n\t\"list\": \"readme\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/classictools/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/classictools/readme\n\nThis plugin provides facilities for working with TiddlyWiki Classic. It is used in the build process for TiddlyWiki Classic.\n\nThe additional features are:\n\n* A ''tiddlerdeserializer'' module for reading TiddlyWiki Classic `.recipe` files\n* Templates for building TiddlyWiki Classic.\n\nSee https://github.com/TiddlyWiki/tiddlywiki.com for more details.\n\n[[Source code|https://github.com/TiddlyWiki/TiddlyWiki5/blob/master/plugins/tiddlywiki/classictools]]\n"
  },
  {
    "path": "plugins/tiddlywiki/classictools/templates/html-div-tiddler-remove-prefix.tid",
    "content": "title: $:/core/templates/html-div-tiddler-remove-prefix\n\n<!--\n\nThis template is used for saving tiddlers as an HTML DIV tag with attributes representing the tiddler fields.\n\n-->`<div`<$fields template=' $name$=\"$encoded_value$\"' stripTitlePrefix=\"yes\"></$fields>`>\n<pre>`<$view field=\"text\" format=\"htmlencoded\" />`</pre>\n</div>`\n"
  },
  {
    "path": "plugins/tiddlywiki/classictools/templates/plain-text-tiddler-strip-comments.tid",
    "content": "title: $:/core/templates/plain-text-tiddler-strip-comments\n\n<$view field=\"text\" format=\"stripcomments\" />"
  },
  {
    "path": "plugins/tiddlywiki/classictools/templates/tiddlywiki2.externaljs.template.html.tid",
    "content": "title: $:/core/templates/tiddlywiki2.externaljs.template.html\n\n{{{ [list[$:/RecipeTiddlers]prefix[{prejs}]] ||$:/core/templates/plain-text-tiddler-strip-comments}}}\n{{{ [list[$:/RecipeTiddlers]prefix[{js}]] ||$:/core/templates/plain-text-tiddler-strip-comments}}}\n{{{ [list[$:/RecipeTiddlers]prefix[{postjs}]] ||$:/core/templates/plain-text-tiddler-strip-comments}}}\n{{{ [list[$:/RecipeTiddlers]prefix[{jsext}]] ||$:/core/templates/plain-text-tiddler-strip-comments}}}\n\n"
  },
  {
    "path": "plugins/tiddlywiki/classictools/templates/tiddlywiki2.template.html.tid",
    "content": "title: $:/core/templates/tiddlywiki2.template.html\n\n\\rules only filteredtranscludeinline transcludeinline\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">\n<head>\n<script id=\"versionArea\" type=\"text/javascript\">\n//<![CDATA[\n{{{ [list[$:/RecipeTiddlers]prefix[{version}]] ||$:/core/templates/plain-text-tiddler}}}\n//]]>\n</script>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"copyright\" content=\"\n{{{ [list[$:/RecipeTiddlers]prefix[{copyright}]] ||$:/core/templates/plain-text-tiddler}}}\n\" />\n<!--PRE-HEAD-START-->\n{{{ [list[$:/RecipeTiddlers]prefix[{prehead}]] ||$:/core/templates/plain-text-tiddler}}}\n<!--PRE-HEAD-END-->\n<title>\n{{{ [list[$:/RecipeTiddlers]prefix[{title}]] ||$:/core/templates/plain-text-tiddler}}}\n</title>\n<style id=\"styleArea\" type=\"text/css\">\n{{{ [list[$:/RecipeTiddlers]prefix[{style}]] ||$:/core/templates/plain-text-tiddler}}}\n</style>\n<!--POST-HEAD-START-->\n{{{ [list[$:/RecipeTiddlers]prefix[{posthead}]] ||$:/core/templates/plain-text-tiddler}}}\n<!--POST-HEAD-END-->\n</head>\n<body onload=\"main();\" onunload=\"if(window.unload) unload();\">\n<!--PRE-BODY-START-->\n{{{ [list[$:/RecipeTiddlers]prefix[{prebody}]] ||$:/core/templates/plain-text-tiddler}}}\n<!--PRE-BODY-END-->\n<div id=\"copyright\">\nWelcome to TiddlyWiki created by Jeremy Ruston; Copyright &copy; 2004-2007 Jeremy Ruston, Copyright &copy; 2007-2011 UnaMesa Association\n</div>\n<noscript>\n{{{ [list[$:/RecipeTiddlers]prefix[{noscript}]] ||$:/core/templates/plain-text-tiddler}}}\n</noscript>\n<div id=\"saveTest\"></div>\n<div id=\"backstageCloak\"></div>\n<div id=\"backstageButton\"></div>\n<div id=\"backstageArea\"><div id=\"backstageToolbar\"></div></div>\n<div id=\"backstage\">\n\t<div id=\"backstagePanel\"></div>\n</div>\n<div id=\"contentWrapper\"></div>\n<div id=\"contentStash\"></div>\n<div id=\"shadowArea\">\n{{{ [list[$:/RecipeTiddlers]prefix[{shadow}]] +[sortcs[title]] ||$:/core/templates/html-div-tiddler-remove-prefix}}}\n</div>\n<!--POST-SHADOWAREA-->\n<div id=\"storeArea\">\n{{{ [list[$:/RecipeTiddlers]prefix[{tiddler}]] +[sortcs[title]] ||$:/core/templates/html-div-tiddler-remove-prefix}}}\n{{{ [list[$:/RecipeTiddlers]prefix[{plugin}]] ||$:/core/templates/plain-text-tiddler}}}\n{{{ [list[$:/RecipeTiddlers]prefix[{posttiddlers}]] ||$:/core/templates/plain-text-tiddler}}}\n</div>\n<!--POST-STOREAREA-->\n<!--POST-BODY-START-->\n{{{ [list[$:/RecipeTiddlers]prefix[{postbody}]] ||$:/core/templates/plain-text-tiddler}}}\n<!--POST-BODY-END-->\n<script id=\"jsArea\" type=\"text/javascript\">\n//<![CDATA[\n{{{ [list[$:/RecipeTiddlers]prefix[{prejs}]] ||$:/core/templates/plain-text-tiddler-strip-comments}}}\n{{{ [list[$:/RecipeTiddlers]prefix[{js}]] ||$:/core/templates/plain-text-tiddler-strip-comments}}}\n{{{ [list[$:/RecipeTiddlers]prefix[{postjs}]] ||$:/core/templates/plain-text-tiddler-strip-comments}}}\n//]]>\n</script>\n{{{ [list[$:/RecipeTiddlers]prefix[{jsext}]] ||$:/core/templates/plain-text-tiddler-strip-comments}}}\n<script id=\"jsdeprecatedArea\" type=\"text/javascript\">\n//<![CDATA[\n{{{ [list[$:/RecipeTiddlers]prefix[{jsdeprecated}]] ||$:/core/templates/plain-text-tiddler-strip-comments}}}\n//]]>\n</script>\n<script id=\"jslibArea\" type=\"text/javascript\">\n//<![CDATA[\n{{{ [list[$:/RecipeTiddlers]prefix[{jslib}]] ||$:/core/templates/plain-text-tiddler-strip-comments}}}\n//]]>\n</script>\n<script id=\"jqueryArea\" type=\"text/javascript\">\n//<![CDATA[\n{{{ [list[$:/RecipeTiddlers]prefix[{jquery}]] ||$:/core/templates/plain-text-tiddler-strip-comments}}}\n//]]>\n</script>\n<script type=\"text/javascript\">\n//<![CDATA[\nif(useJavaSaver)\n\tdocument.write(\"<applet style='position:absolute;left:-1px' name='TiddlySaver' code='TiddlySaver.class' archive='TiddlySaver.jar' width='1' height='1'></applet>\");\n//]]>\n</script>\n<!--POST-SCRIPT-START-->\n{{{ [list[$:/RecipeTiddlers]prefix[{postscript}]] ||$:/core/templates/plain-text-tiddler}}}\n<!--POST-SCRIPT-END-->\n</body>\n</html>\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/EditorTypeMappings.multids",
    "content": "title: $:/config/EditorTypeMappings/\n\napplication/javascript: codemirror\napplication/json: codemirror\napplication/x-tiddler-dictionary: codemirror\ntext/css: codemirror\ntext/html: codemirror\ntext/plain: codemirror\ntext/vnd.tiddlywiki: codemirror\ntext/x-markdown: codemirror\ntext/markdown: codemirror\ntext/x-tiddlywiki: codemirror\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/config/cursorBlinkRate.tid",
    "content": "title: $:/config/codemirror/cursorBlinkRate\ntype: integer\ntext: 530\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/config/extraKeysTW.tid",
    "content": "title: $:/config/codemirror/extraKeysTW\nextend: extraKeys\ntype: json\n\n{\n\t\"Ctrl-Esc\": \"singleSelection\",\n\t\"Esc\": \"\",\n\t\"Ctrl-S\": \"\",\n\t\"Ctrl-U\": \"\",\n\t\"Ctrl-T\": \"\",\n\t\"Alt-T\": \"transposeChars\",\n\t\"Alt-U\": \"undoSelection\",\n\t\"Shift-Alt-U\": \"redoSelection\",\n\t\"Cmd-U\": \"\",\n\t\"Tab\": \"indentAuto()\",\n\t\"Enter\": \"newLineAndIndent()\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/config/indentUnit.tid",
    "content": "title: $:/config/codemirror/indentUnit\ntype: integer\ntext: 2\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/config/indentWithTabs.tid",
    "content": "title: $:/config/codemirror/indentWithTabs\ntype: bool\ntext: true\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/config/inputStyle.tid",
    "content": "title: $:/config/codemirror/inputStyle\ntype: string\ntext: textarea\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/config/keyMap.tid",
    "content": "title: $:/config/codemirror/keyMap\ntype: string\ntext: default\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/config/lineNumbers.tid",
    "content": "title: $:/config/codemirror/lineNumbers\ntype: bool\ntext: false\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/config/lineWrapping.tid",
    "content": "title: $:/config/codemirror/lineWrapping\ntype: bool\ntext: true\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/config/showCursorWhenSelecting.tid",
    "content": "title: $:/config/codemirror/showCursorWhenSelecting\ntype: bool\ntext: true\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/config/smartIndent.tid",
    "content": "title: $:/config/codemirror/smartIndent\ntype: bool\ntext: true\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/config/styleActiveLine.tid",
    "content": "title: $:/config/codemirror/styleActiveLine\ntype: bool\ntext: false\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/config/tabSize.tid",
    "content": "title: $:/config/codemirror/tabSize\ntype: integer\ntext: 2\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/config/theme.tid",
    "content": "title: $:/config/codemirror/theme\ntype: string\ntext: tiddlywiki\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/config-language.multids",
    "content": "title: $:/language/codemirror/\n\nhomeUrl: http://codemirror.net\naddOnUrl: http://codemirror.net/doc/manual.html#addons\nconfigUrl: http://codemirror.net/doc/manual.html#config\ncontrolPanel/hint: These settings let you customise the behaviour of [[CodeMirror|$:/plugins/tiddlywiki/codemirror]].\ncontrolPanel/keyboard: Keyboard shortcuts\ncontrolPanel/usage: Usage information\ncursorBlinkRate/hint: Cursor blink rate\neditorFont/hint: Editor font family\neditorFont/info: Set the font family for the ~CodeMirror text-editor\nindentUnit/hint: How many spaces a block should be indented\nindentWithTabs/hint: Enable indenting with tabs\nindentWithTabs/info: Whether, when indenting, the first N*`tabSize` spaces should be replaced by N tabs.\nkeyMap/hint: ~CodeMirror keymap\nkeyMap/info: ~The Keyboard KeyMap used within the ~CodeMirror text-editor\nlineNumbers/hint: Enable line numbers\nlineNumbers/info: Whether to show line numbers to the left of the editor.\nlineWrapping/hint: Enable line wrapping\nlineWrapping/info: Whether CodeMirror should scroll or wrap for long lines. Defaults to `false` (scroll).\nshowCursorWhenSelecting/hint: Show cursor, when selecting\nshowCursorWhenSelecting/info: Whether the cursor should be drawn when a selection is active.\nsmartIndent/hint: Enable smart indent\nsmartIndent/info: Whether to use the context-sensitive indentation that the mode provides (or just indent the same as the line before). Defaults to `true`.\nstyleActiveLine/hint: Highlight active line\nstyleActiveLine/info: Whether or not to highlight the active text-editor line\ntabSize/hint: Width of a tab character\ntheme/hint: Select a theme\ntheme/info: Choose between ~CodeMirror themes\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/edit-codemirror.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/codemirror/edit-codemirror.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-codemirror widget\n\n\\*/\n\n\"use strict\";\n\nvar editTextWidgetFactory = require(\"$:/core/modules/editor/factory.js\").editTextWidgetFactory,\n\tCodeMirrorEngine = require(\"$:/plugins/tiddlywiki/codemirror/engine.js\").CodeMirrorEngine;\n\nexports[\"edit-codemirror\"] = editTextWidgetFactory(CodeMirrorEngine,CodeMirrorEngine);\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/engine.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/codemirror/engine.js\ntype: application/javascript\nmodule-type: library\n\nText editor engine based on a CodeMirror instance\n\n\\*/\n\n\"use strict\";\n\nvar HEIGHT_VALUE_TITLE = \"$:/config/TextEditor/EditorHeight/Height\",\n\tCONFIG_FILTER = \"[all[shadows+tiddlers]prefix[$:/config/codemirror/]]\";\n\t\n// Install CodeMirror\nif($tw.browser && !window.CodeMirror) {\n\n\tvar modules = $tw.modules.types[\"codemirror\"];\n\tvar req = Object.getOwnPropertyNames(modules);\n\n\twindow.CodeMirror = require(\"$:/plugins/tiddlywiki/codemirror/lib/codemirror.js\");\n\t// Install required CodeMirror plugins\n\tif(req) {\n\t\tif($tw.utils.isArray(req)) {\n\t\t\tfor(var index=0; index<req.length; index++) {\n\t\t\t\trequire(req[index]);\n\t\t\t}\n\t\t} else {\n\t\t\trequire(req);\n\t\t}\n\t}\n}\n\nfunction getCmConfig() {\n\tvar type,\n\t\ttest,\n\t\tvalue,\n\t\telement,\n\t\textend,\n\t\ttiddler,\n\t\tconfig = {},\n\t\tconfigTiddlers = $tw.wiki.filterTiddlers(CONFIG_FILTER);\n\n\tif($tw.utils.isArray(configTiddlers)) {\n\t\tfor(var i=0; i<configTiddlers.length; i++) {\n\t\t\ttiddler = $tw.wiki.getTiddler(configTiddlers[i]);\n\t\t\tif(tiddler) {\n\t\t\t\telement = configTiddlers[i].replace(/\\$:\\/config\\/codemirror\\//ig,\"\");\n\t\t\t\ttype = (tiddler.fields.type) ? tiddler.fields.type.trim().toLocaleLowerCase() : \"string\";\n\t\t\t\tswitch(type) {\n\t\t\t\t\tcase \"bool\":\n\t\t\t\t\t\ttest = tiddler.fields.text.trim().toLowerCase();\n\t\t\t\t\t\tvalue = (test === \"true\") ? true : false;\n\t\t\t\t\t\tconfig[element] = value;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"string\":\n\t\t\t\t\t\tvalue = tiddler.fields.text.trim();\n\t\t\t\t\t\tconfig[element] = value;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"integer\":\n\t\t\t\t\t\tvalue = parseInt(tiddler.fields.text.trim(), 10);\n\t\t\t\t\t\tconfig[element] = value;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"json\":\n\t\t\t\t\t\tvalue = JSON.parse(tiddler.fields.text.trim());\n\t\t\t\t\t\textend = (tiddler.fields.extend) ? tiddler.fields.extend : element;\n\n\t\t\t\t\t\tif(config[extend]) {\n\t\t\t\t\t\t\t$tw.utils.extend(config[extend], value);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconfig[extend] = value;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn config;\n}\n\nfunction CodeMirrorEngine(options) {\n\n\t// Save our options\n\tvar self = this;\n\toptions = options || {};\n\tthis.widget = options.widget;\n\tthis.value = options.value;\n\tthis.parentNode = options.parentNode;\n\tthis.nextSibling = options.nextSibling;\n\t// Create the wrapper DIV\n\tthis.domNode = this.widget.document.createElement(\"div\");\n\tif(this.widget.editClass) {\n\t\tthis.domNode.className = this.widget.editClass;\n\t}\n\tthis.domNode.style.display = \"inline-block\";\n\tthis.parentNode.insertBefore(this.domNode,this.nextSibling);\n\tthis.widget.domNodes.push(this.domNode);\n\t\n\t// Set all cm-plugin defaults\n\t// Get the configuration options for the CodeMirror object\n\tvar config = getCmConfig();\n\n\tconfig.mode = options.type;\n\tconfig.value = options.value;\n\tif(this.widget.editTabIndex) {\n\t\tconfig[\"tabindex\"] = this.widget.editTabIndex;\n\t}\n\tconfig.editWidget = this.widget;\n\t// Create the CodeMirror instance\n\tthis.cm = window.CodeMirror(function(cmDomNode) {\n\t\t// Note that this is a synchronous callback that is called before the constructor returns\n\t\tif(!self.widget.document.isTiddlyWikiFakeDom) {\n\t\t\tself.domNode.appendChild(cmDomNode);\n\t\t}\n\t},config);\n\n\t// Set up a change event handler\n\tthis.cm.on(\"change\",function() {\n\t\tself.widget.saveChanges(self.getText());\n\t\tif(self.widget.editInputActions) {\n\t\t\tself.widget.invokeActionString(self.widget.editInputActions,this,event,{actionValue: this.getText()});\n\t\t}\n\t});\n\n\tthis.cm.on(\"drop\",function(cm,event) {\n\t\tif(!self.widget.isFileDropEnabled) {\n\t\t\tevent.stopPropagation(); // Otherwise TW's dropzone widget sees the drop event\n\t\t}\n\t\t// Detect if Chrome has added a pseudo File object to the dataTransfer\n\t\tif(!$tw.utils.dragEventContainsFiles(event) && event.dataTransfer.files.length) {\n\t\t\t//Make codemirror ignore the event as we will handle the drop ourselves\n\t\t\tevent.codemirrorIgnore = true;\n\t\t\tevent.preventDefault();\n\n\t\t\t// from https://github.com/codemirror/CodeMirror/blob/master/src/measurement/position_measurement.js#L673\n\t\t\tfunction posFromMouse(cm, e, liberal, forRect) {\n\t\t\t\tlet display = cm.display;\n\t\t\t\tif(!liberal && e_target(e).getAttribute(\"cm-not-content\") == \"true\") return null;\n\n\t\t\t\tlet x, y, space = display.lineSpace.getBoundingClientRect();\n\t\t\t\t// Fails unpredictably on IE[67] when mouse is dragged around quickly.\n\t\t\t\ttry { x = e.clientX - space.left; y = e.clientY - space.top; }\n\t\t\t\tcatch (e) { return null; }\n\t\t\t\tlet coords = cm.coordsChar(cm, x, y), line;\n\t\t\t\tif(forRect && coords.xRel > 0 && (line = cm.getLine(cm.doc, coords.line).text).length == coords.ch) {\n\t\t\t\t\tlet colDiff = window.CodeMirror.countColumn(line, line.length, cm.options.tabSize) - line.length;\n\t\t\t\t\tcoords = window.CodeMirror.Pos(coords.line, Math.max(0, Math.round((x - paddingH(cm.display).left) / charWidth(cm.display)) - colDiff));\n\t\t\t\t}\n\t\t\t\treturn coords;\n\t\t\t}\n\n\t\t\tvar pos = posFromMouse(cm,event,true);\n\t\t\tif(!pos || cm.isReadOnly()) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Don't do a replace if the drop happened inside of the selected text.\n\t\t\tif(cm.state.draggingText && cm.doc.sel.contains(pos) > -1) {\n\t\t\t\tcm.state.draggingText(event);\n\t\t\t\t// Ensure the editor is re-focused\n\t\t\t\tsetTimeout(function() {cm.display.input.focus();}, 20); \n\t\t\t\treturn;\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tvar text = event.dataTransfer.getData(\"Text\");\n\t\t\t\tif(text) {\n\t\t\t\t\tvar selected;\n\t\t\t\t\tif(cm.state.draggingText && !cm.state.draggingText.copy) {\n\t\t\t\t\t\tselected = cm.listSelections();\n\t\t\t\t\t}\n\t\t\t\t\tcm.setCursor(cm.coordsChar({left:event.pageX,top:event.pageY}));\n\t\t\t\t\tif(selected) {\n\t\t\t\t\t\tfor(var i = 0; i < selected.length; ++i) {\n\t\t\t\t\t\t\treplaceRange(cm.doc, \"\", selected[i].anchor, selected[i].head, \"drag\");\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcm.replaceSelection(text, \"around\", \"paste\");\n\t\t\t\t\tcm.display.input.focus();\n\t\t\t\t}\n\t\t\t}\n\t\t\tcatch(e){}\n\t\t}\n\t\treturn false;\n\t});\n\tthis.cm.on(\"keydown\",function(cm,event) {\n\t\tif($tw.keyboardManager.handleKeydownEvent(event, {onlyPriority: true})) {\n\t\t\treturn true;\n\t\t}\n\t\n\t\treturn self.widget.handleKeydownEvent.call(self.widget,event);\n\t});\n\tthis.cm.on(\"focus\",function(cm,event) {\n\t\tif(self.widget.editCancelPopups) {\n\t\t\t$tw.popup.cancel(0);\t\n\t\t}\n\t});\n\t// Add drag and drop event listeners if fileDrop is enabled\n\tif(this.widget.isFileDropEnabled) {\n\t\t// If the drag event contains Files, prevent the default CodeMirror handling\n\t\tthis.cm.on(\"dragenter\",function(cm,event) {\n\t\t\tif($tw.utils.dragEventContainsFiles(event)) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t\treturn true;\n\t\t});\n\t\tthis.cm.on(\"dragleave\",function(cm,event) {\n\t\t\tevent.preventDefault();\n\t\t});\n\t\tthis.cm.on(\"dragover\",function(cm,event) {\n\t\t\tif($tw.utils.dragEventContainsFiles(event)) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t});\n\t\tthis.cm.on(\"drop\",function(cm,event) {\n\t\t\tif($tw.utils.dragEventContainsFiles(event)) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t});\n\t\tthis.cm.on(\"paste\",function(cm,event) {\n\t\t\tevent[\"twEditor\"] = true;\n\t\t\tself.widget.handlePasteEvent.call(self.widget,event);\n\t\t});\n\t} else {\n\t\tthis.cm.on(\"paste\",function(cm,event){\n\t\t\tevent[\"twEditor\"] = true;\n\t\t});\n\t}\n\t;\n}\n\n/*\nSet the text of the engine if it doesn't currently have focus\n*/\nCodeMirrorEngine.prototype.setText = function(text,type) {\n\tvar self = this;\n\tself.cm.setOption(\"mode\",type);\n\tif(!this.cm.hasFocus()) {\n\t\tthis.updateDomNodeText(text);\n\t}\n};\n\n/*\nUpdate the DomNode with the new text\n*/\nCodeMirrorEngine.prototype.updateDomNodeText = function(text) {\n\tthis.cm.setValue(text);\n};\n\n/*\nGet the text of the engine\n*/\nCodeMirrorEngine.prototype.getText = function() {\n\treturn this.cm.getValue();\n};\n\n/*\nFix the height of textarea to fit content\n*/\nCodeMirrorEngine.prototype.fixHeight = function() {\n\t// rows takes precedence\n\tif(this.widget.editRows) {\n\t\tthis.cm.setSize(null,this.widget.editRows + \"em\");\n\t} else if(this.widget.editAutoHeight) {\n\t\t// Resize to fit\n\t\tthis.cm.setSize(null,null);\n\t} else {\n\t\tvar fixedHeight = parseInt(this.widget.wiki.getTiddlerText(HEIGHT_VALUE_TITLE,\"400px\"),10);\n\t\tfixedHeight = Math.max(fixedHeight,20);\n\t\tthis.cm.setSize(null,fixedHeight);\n\t}\n};\n\n/*\nFocus the engine node\n*/\nCodeMirrorEngine.prototype.focus  = function() {\n\tthis.cm.focus();\n};\n\n/*\nCreate a blank structure representing a text operation\n*/\nCodeMirrorEngine.prototype.createTextOperation = function() {\n\tvar selections = this.cm.listSelections();\n\tif(selections.length > 0) {\n\t\tvar anchorPos = this.cm.indexFromPos(selections[0].anchor),\n\t\t\theadPos = this.cm.indexFromPos(selections[0].head);\n\t}\n\tvar operation = {\n\t\ttext: this.cm.getValue(),\n\t\tselStart: Math.min(anchorPos,headPos),\n\t\tselEnd: Math.max(anchorPos,headPos),\n\t\tcutStart: null,\n\t\tcutEnd: null,\n\t\treplacement: null,\n\t\tnewSelStart: null,\n\t\tnewSelEnd: null\n\t};\n\toperation.selection = operation.text.substring(operation.selStart,operation.selEnd);\n\treturn operation;\n};\n\n/*\nExecute a text operation\n*/\nCodeMirrorEngine.prototype.executeTextOperation = function(operation) {\n\t// Perform the required changes to the text area and the underlying tiddler\n\tvar newText = operation.text;\n\tif(operation.replacement !== null) {\n\t\tthis.cm.replaceRange(operation.replacement,this.cm.posFromIndex(operation.cutStart),this.cm.posFromIndex(operation.cutEnd));\n\t\tthis.cm.setSelection(this.cm.posFromIndex(operation.newSelStart),this.cm.posFromIndex(operation.newSelEnd));\n\t\tnewText = operation.text.substring(0,operation.cutStart) + operation.replacement + operation.text.substring(operation.cutEnd);\n\t}\n\tthis.cm.focus();\n\treturn newText;\n};\n\nexports.CodeMirrorEngine = $tw.browser ? CodeMirrorEngine : require(\"$:/core/modules/editor/engines/simple.js\").SimpleEngine;\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/files/addon/dialog/dialog.css",
    "content": ".CodeMirror-dialog{position:absolute;left:0;right:0;background:inherit;z-index:15;padding:.1em .8em;overflow:hidden;color:inherit}.CodeMirror-dialog-top{border-bottom:1px solid #eee;top:0}.CodeMirror-dialog-bottom{border-top:1px solid #eee;bottom:0}.CodeMirror-dialog input{border:none;outline:0;background:0 0;width:20em;color:inherit;font-family:monospace}.CodeMirror-dialog button{font-size:70%}"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/files/addon/dialog/dialog.js",
    "content": "!function(e){\"object\"==typeof exports&&\"object\"==typeof module?e(require(\"../../lib/codemirror\")):\"function\"==typeof define&&define.amd?define([\"../../lib/codemirror\"],e):e(CodeMirror)}(function(s){function f(e,o,n){var e=e.getWrapperElement(),t=e.appendChild(document.createElement(\"div\"));return t.className=n?\"CodeMirror-dialog CodeMirror-dialog-bottom\":\"CodeMirror-dialog CodeMirror-dialog-top\",\"string\"==typeof o?t.innerHTML=o:t.appendChild(o),s.addClass(e,\"dialog-opened\"),t}function p(e,o){e.state.currentNotificationClose&&e.state.currentNotificationClose(),e.state.currentNotificationClose=o}s.defineExtension(\"openDialog\",function(e,o,n){n=n||{},p(this,null);var t=f(this,e,n.bottom),i=!1,r=this;function u(e){\"string\"==typeof e?l.value=e:i||(i=!0,s.rmClass(t.parentNode,\"dialog-opened\"),t.parentNode.removeChild(t),r.focus(),n.onClose&&n.onClose(t))}var l=t.getElementsByTagName(\"input\")[0];return l?(l.focus(),n.value&&(l.value=n.value,!1!==n.selectValueOnOpen&&l.select()),n.onInput&&s.on(l,\"input\",function(e){n.onInput(e,l.value,u)}),n.onKeyUp&&s.on(l,\"keyup\",function(e){n.onKeyUp(e,l.value,u)}),s.on(l,\"keydown\",function(e){n&&n.onKeyDown&&n.onKeyDown(e,l.value,u)||((27==e.keyCode||!1!==n.closeOnEnter&&13==e.keyCode)&&(l.blur(),s.e_stop(e),u()),13==e.keyCode&&o(l.value,e))}),!1!==n.closeOnBlur&&s.on(t,\"focusout\",function(e){null!==e.relatedTarget&&u()})):(e=t.getElementsByTagName(\"button\")[0])&&(s.on(e,\"click\",function(){u(),r.focus()}),!1!==n.closeOnBlur&&s.on(e,\"blur\",u),e.focus()),u}),s.defineExtension(\"openConfirm\",function(e,o,n){p(this,null);var t=f(this,e,n&&n.bottom),i=t.getElementsByTagName(\"button\"),r=!1,u=this,l=1;function a(){r||(r=!0,s.rmClass(t.parentNode,\"dialog-opened\"),t.parentNode.removeChild(t),u.focus())}i[0].focus();for(var c=0;c<i.length;++c){var d=i[c];!function(o){s.on(d,\"click\",function(e){s.e_preventDefault(e),a(),o&&o(u)})}(o[c]),s.on(d,\"blur\",function(){--l,setTimeout(function(){l<=0&&a()},200)}),s.on(d,\"focus\",function(){++l})}}),s.defineExtension(\"openNotification\",function(e,o){p(this,r);var n,t=f(this,e,o&&o.bottom),i=!1,e=o&&void 0!==o.duration?o.duration:5e3;function r(){i||(i=!0,clearTimeout(n),s.rmClass(t.parentNode,\"dialog-opened\"),t.parentNode.removeChild(t))}return s.on(t,\"click\",function(e){s.e_preventDefault(e),r()}),e&&(n=setTimeout(r,e)),r})});"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/files/addon/selection/activeline.js",
    "content": "!function(e){\"object\"==typeof exports&&\"object\"==typeof module?e(require(\"../../lib/codemirror\")):\"function\"==typeof define&&define.amd?define([\"../../lib/codemirror\"],e):e(CodeMirror)}(function(i){\"use strict\";var a=\"CodeMirror-activeline\",s=\"CodeMirror-activeline-background\",c=\"CodeMirror-activeline-gutter\";function l(e){for(var t=0;t<e.state.activeLines.length;t++)e.removeLineClass(e.state.activeLines[t],\"wrap\",a),e.removeLineClass(e.state.activeLines[t],\"background\",s),e.removeLineClass(e.state.activeLines[t],\"gutter\",c)}function o(t,e){for(var n=[],i=0;i<e.length;i++){var o=e[i],r=t.getOption(\"styleActiveLine\");(\"object\"==typeof r&&r.nonEmpty?o.anchor.line==o.head.line:o.empty())&&(r=t.getLineHandleVisualStart(o.head.line),n[n.length-1]!=r&&n.push(r))}!function(e,t){if(e.length==t.length){for(var n=0;n<e.length;n++)if(e[n]!=t[n])return;return 1}}(t.state.activeLines,n)&&t.operation(function(){l(t);for(var e=0;e<n.length;e++)t.addLineClass(n[e],\"wrap\",a),t.addLineClass(n[e],\"background\",s),t.addLineClass(n[e],\"gutter\",c);t.state.activeLines=n})}function r(e,t){o(e,t.ranges)}i.defineOption(\"styleActiveLine\",!1,function(e,t,n){n=n!=i.Init&&n;t!=n&&(n&&(e.off(\"beforeSelectionChange\",r),l(e),delete e.state.activeLines),t&&(e.state.activeLines=[],o(e,e.listSelections()),e.on(\"beforeSelectionChange\",r)))})});"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/files/codemirror.css",
    "content": ".CodeMirror{font-family:monospace;height:300px;color:#000;direction:ltr}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0!important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor .CodeMirror-line::selection,.cm-fat-cursor .CodeMirror-line>span::selection,.cm-fat-cursor .CodeMirror-line>span>span::selection{background:0 0}.cm-fat-cursor .CodeMirror-line::-moz-selection,.cm-fat-cursor .CodeMirror-line>span::-moz-selection,.cm-fat-cursor .CodeMirror-line>span>span::-moz-selection{background:0 0}.cm-fat-cursor{caret-color:transparent}@-moz-keyframes blink{50%{background-color:transparent}}@-webkit-keyframes blink{50%{background-color:transparent}}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;left:0;right:0;top:-50px;bottom:0;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-type,.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta{color:#555}.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-s-default .cm-error{color:red}.cm-invalidchar{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:#fff}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-50px;margin-right:-50px;padding-bottom:50px;height:100%;outline:0;position:relative;z-index:0}.CodeMirror-sizer{position:relative;border-right:50px solid transparent}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{position:absolute;z-index:6;display:none;outline:0}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-50px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:0 0!important;border:none!important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:0 0;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;padding:.1px}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:0}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute;pointer-events:none}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-focused div.CodeMirror-cursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:rgba(255,255,0,.4)}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:''}span.CodeMirror-selectedtext{background:0 0}"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/files/codemirror.js",
    "content": "!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=e||self).CodeMirror=t()}(this,function(){\"use strict\";var e=navigator.userAgent,l=navigator.platform,d=/gecko\\/\\d/i.test(e),s=/MSIE \\d/.test(e),a=/Trident\\/(?:[7-9]|\\d{2,})\\..*rv:(\\d+)/.exec(e),u=/Edge\\/(\\d+)/.exec(e),w=s||a||u,v=w&&(s?document.documentMode||6:+(u||a)[1]),x=!u&&/WebKit\\//.test(e),s=x&&/Qt\\/\\d+\\.\\d+/.test(e),m=!u&&/Chrome\\/(\\d+)/.exec(e),V=m&&+m[1],K=/Opera\\//.test(e),j=/Apple Computer/.test(navigator.vendor),c=/Mac OS X 1\\d\\D([8-9]|\\d\\d)\\D/.test(e),X=/PhantomJS/.test(e),Y=j&&(/Mobile\\/\\w+/.test(e)||2<navigator.maxTouchPoints),$=/Android/.test(e),_=Y||$||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(e),C=Y||/Mac/.test(l),q=/\\bCrOS\\b/.test(e),a=/win/i.test(l),u=K&&e.match(/Version\\/(\\d*\\.\\d*)/),Z=((u=u&&Number(u[1]))&&15<=u&&(x=!(K=!1)),C&&(s||K&&(null==u||u<12.11))),Q=d||w&&9<=v;function J(e){return new RegExp(\"(^|\\\\s)\"+e+\"(?:$|\\\\s)\\\\s*\")}var ee=function(e,t){var n,r=e.className,t=J(t).exec(r);t&&(n=r.slice(t.index+t[0].length),e.className=r.slice(0,t.index)+(n?t[1]+n:\"\"))};function te(e){for(var t=e.childNodes.length;0<t;--t)e.removeChild(e.firstChild);return e}function y(e,t){return te(e).appendChild(t)}function M(e,t,n,r){var i=document.createElement(e);if(n&&(i.className=n),r&&(i.style.cssText=r),\"string\"==typeof t)i.appendChild(document.createTextNode(t));else if(t)for(var o=0;o<t.length;++o)i.appendChild(t[o]);return i}function ne(e,t,n,r){e=M(e,t,n,r);return e.setAttribute(\"role\",\"presentation\"),e}function re(e,t){if(3==t.nodeType&&(t=t.parentNode),e.contains)return e.contains(t);do{if((t=11==t.nodeType?t.host:t)==e)return!0}while(t=t.parentNode)}function N(e){var t,n=e.ownerDocument||e;try{t=e.activeElement}catch(e){t=n.body||null}for(;t&&t.shadowRoot&&t.shadowRoot.activeElement;)t=t.shadowRoot.activeElement;return t}function ie(e,t){var n=e.className;J(t).test(n)||(e.className+=(n?\" \":\"\")+t)}function oe(e,t){for(var n=e.split(\" \"),r=0;r<n.length;r++)n[r]&&!J(n[r]).test(t)&&(t+=\" \"+n[r]);return t}var le=document.createRange?function(e,t,n,r){var i=document.createRange();return i.setEnd(r||e,n),i.setStart(e,t),i}:function(e,t,n){var r=document.body.createTextRange();try{r.moveToElementText(e.parentNode)}catch(e){return r}return r.collapse(!0),r.moveEnd(\"character\",n),r.moveStart(\"character\",t),r},se=function(e){e.select()};function ae(e){return e.display.wrapper.ownerDocument}function ue(e){return ce(e.display.wrapper)}function ce(e){return e.getRootNode?e.getRootNode():e.ownerDocument}function he(e){return ae(e).defaultView}function de(e){var t=Array.prototype.slice.call(arguments,1);return function(){return e.apply(null,t)}}function fe(e,t,n){for(var r in t=t||{},e)!e.hasOwnProperty(r)||!1===n&&t.hasOwnProperty(r)||(t[r]=e[r]);return t}function S(e,t,n,r,i){null==t&&-1==(t=e.search(/[^\\s\\u00a0]/))&&(t=e.length);for(var o=r||0,l=i||0;;){var s=e.indexOf(\"\\t\",o);if(s<0||t<=s)return l+(t-o);l=(l+=s-o)+(n-l%n),o=s+1}}Y?se=function(e){e.selectionStart=0,e.selectionEnd=e.value.length}:w&&(se=function(e){try{e.select()}catch(e){}});function pe(){this.id=null,this.f=null,this.time=0,this.handler=de(this.onTimeout,this)}function L(e,t){for(var n=0;n<e.length;++n)if(e[n]==t)return n;return-1}pe.prototype.onTimeout=function(e){e.id=0,e.time<=+new Date?e.f():setTimeout(e.handler,e.time-+new Date)};var ge=50,me={toString:function(){return\"CodeMirror.Pass\"}},ve={scroll:!(pe.prototype.set=function(e,t){this.f=t;t=+new Date+e;(!this.id||t<this.time)&&(clearTimeout(this.id),this.id=setTimeout(this.handler,e),this.time=t)})},ye={origin:\"*mouse\"},be={origin:\"+move\"};function we(e,t,n){for(var r=0,i=0;;){var o=e.indexOf(\"\\t\",r),l=(o=-1==o?e.length:o)-r;if(o==e.length||t<=i+l)return r+Math.min(l,t-i);if(i+=o-r,r=o+1,t<=(i+=n-i%n))return r}}var xe=[\"\"];function Ce(e){for(;xe.length<=e;)xe.push(z(xe)+\" \");return xe[e]}function z(e){return e[e.length-1]}function Se(e,t){for(var n=[],r=0;r<e.length;r++)n[r]=t(e[r],r);return n}function Le(){}function ke(e,t){e=Object.create?Object.create(e):(Le.prototype=e,new Le);return t&&fe(t,e),e}var Te=/[\\u00df\\u0587\\u0590-\\u05f4\\u0600-\\u06ff\\u3040-\\u309f\\u30a0-\\u30ff\\u3400-\\u4db5\\u4e00-\\u9fcc\\uac00-\\ud7af]/;function Me(e){return/\\w/.test(e)||\"\"<e&&(e.toUpperCase()!=e.toLowerCase()||Te.test(e))}function Ne(e,t){return t?!!(-1<t.source.indexOf(\"\\\\w\")&&Me(e))||t.test(e):Me(e)}function Oe(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return;return 1}var Ae=/[\\u0300-\\u036f\\u0483-\\u0489\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u065e\\u0670\\u06d6-\\u06dc\\u06de-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07eb-\\u07f3\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0900-\\u0902\\u093c\\u0941-\\u0948\\u094d\\u0951-\\u0955\\u0962\\u0963\\u0981\\u09bc\\u09be\\u09c1-\\u09c4\\u09cd\\u09d7\\u09e2\\u09e3\\u0a01\\u0a02\\u0a3c\\u0a41\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a70\\u0a71\\u0a75\\u0a81\\u0a82\\u0abc\\u0ac1-\\u0ac5\\u0ac7\\u0ac8\\u0acd\\u0ae2\\u0ae3\\u0b01\\u0b3c\\u0b3e\\u0b3f\\u0b41-\\u0b44\\u0b4d\\u0b56\\u0b57\\u0b62\\u0b63\\u0b82\\u0bbe\\u0bc0\\u0bcd\\u0bd7\\u0c3e-\\u0c40\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0cbc\\u0cbf\\u0cc2\\u0cc6\\u0ccc\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0d3e\\u0d41-\\u0d44\\u0d4d\\u0d57\\u0d62\\u0d63\\u0dca\\u0dcf\\u0dd2-\\u0dd4\\u0dd6\\u0ddf\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0eb1\\u0eb4-\\u0eb9\\u0ebb\\u0ebc\\u0ec8-\\u0ecd\\u0f18\\u0f19\\u0f35\\u0f37\\u0f39\\u0f71-\\u0f7e\\u0f80-\\u0f84\\u0f86\\u0f87\\u0f90-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102d-\\u1030\\u1032-\\u1037\\u1039\\u103a\\u103d\\u103e\\u1058\\u1059\\u105e-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108d\\u109d\\u135f\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b7-\\u17bd\\u17c6\\u17c9-\\u17d3\\u17dd\\u180b-\\u180d\\u18a9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193b\\u1a17\\u1a18\\u1a56\\u1a58-\\u1a5e\\u1a60\\u1a62\\u1a65-\\u1a6c\\u1a73-\\u1a7c\\u1a7f\\u1b00-\\u1b03\\u1b34\\u1b36-\\u1b3a\\u1b3c\\u1b42\\u1b6b-\\u1b73\\u1b80\\u1b81\\u1ba2-\\u1ba5\\u1ba8\\u1ba9\\u1c2c-\\u1c33\\u1c36\\u1c37\\u1cd0-\\u1cd2\\u1cd4-\\u1ce0\\u1ce2-\\u1ce8\\u1ced\\u1dc0-\\u1de6\\u1dfd-\\u1dff\\u200c\\u200d\\u20d0-\\u20f0\\u2cef-\\u2cf1\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\ua66f-\\ua672\\ua67c\\ua67d\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua825\\ua826\\ua8c4\\ua8e0-\\ua8f1\\ua926-\\ua92d\\ua947-\\ua951\\ua980-\\ua982\\ua9b3\\ua9b6-\\ua9b9\\ua9bc\\uaa29-\\uaa2e\\uaa31\\uaa32\\uaa35\\uaa36\\uaa43\\uaa4c\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uabe5\\uabe8\\uabed\\udc00-\\udfff\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe26\\uff9e\\uff9f]/;function De(e){return 768<=e.charCodeAt(0)&&Ae.test(e)}function We(e,t,n){for(;(n<0?0<t:t<e.length)&&De(e.charAt(t));)t+=n;return t}function He(e,t,n){for(var r=n<t?-1:1;;){if(t==n)return t;var i=(t+n)/2,i=r<0?Math.ceil(i):Math.floor(i);if(i==t)return e(i)?t:n;e(i)?n=i:t=i+r}}var Fe=null;function Pe(e,t,n){var r;Fe=null;for(var i=0;i<e.length;++i){var o=e[i];if(o.from<t&&o.to>t)return i;o.to==t&&(o.from!=o.to&&\"before\"==n?r=i:Fe=i),o.from==t&&(o.from!=o.to&&\"before\"!=n?r=i:Fe=i)}return null!=r?r:Fe}Ee=/[\\u0590-\\u05f4\\u0600-\\u06ff\\u0700-\\u08ac]/,Re=/[stwN]/,ze=/[LRr]/,Ie=/[Lb1n]/,Be=/[1n]/;var Ee,Re,ze,Ie,Be,Ge=function(e,t){var n=\"ltr\"==t?\"L\":\"R\";if(0==e.length||\"ltr\"==t&&!Ee.test(e))return!1;for(var r,i=e.length,o=[],l=0;l<i;++l)o.push((r=e.charCodeAt(l))<=247?\"bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN\".charAt(r):1424<=r&&r<=1524?\"R\":1536<=r&&r<=1785?\"nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111\".charAt(r-1536):1774<=r&&r<=2220?\"r\":8192<=r&&r<=8203?\"w\":8204==r?\"b\":\"L\");for(var s=0,a=n;s<i;++s){var u=o[s];\"m\"==u?o[s]=a:a=u}for(var c=0,h=n;c<i;++c){var d=o[c];\"1\"==d&&\"r\"==h?o[c]=\"n\":ze.test(d)&&\"r\"==(h=d)&&(o[c]=\"R\")}for(var f=1,p=o[0];f<i-1;++f){var g=o[f];\"+\"==g&&\"1\"==p&&\"1\"==o[f+1]?o[f]=\"1\":\",\"!=g||p!=o[f+1]||\"1\"!=p&&\"n\"!=p||(o[f]=p),p=g}for(var m=0;m<i;++m){var v=o[m];if(\",\"==v)o[m]=\"N\";else if(\"%\"==v){for(var y=void 0,y=m+1;y<i&&\"%\"==o[y];++y);for(var b=m&&\"!\"==o[m-1]||y<i&&\"1\"==o[y]?\"1\":\"N\",w=m;w<y;++w)o[w]=b;m=y-1}}for(var x=0,C=n;x<i;++x){var S=o[x];\"L\"==C&&\"1\"==S?o[x]=\"L\":ze.test(S)&&(C=S)}for(var L=0;L<i;++L)if(Re.test(o[L])){for(var k=void 0,k=L+1;k<i&&Re.test(o[k]);++k);for(var T=\"L\"==(L?o[L-1]:n),M=T==(\"L\"==(k<i?o[k]:n))?T?\"L\":\"R\":n,N=L;N<k;++N)o[N]=M;L=k-1}for(var O,A=[],D=0;D<i;)if(Ie.test(o[D])){var E=D;for(++D;D<i&&Ie.test(o[D]);++D);A.push(new Ue(0,E,D))}else{var W=D,H=A.length,F=\"rtl\"==t?1:0;for(++D;D<i&&\"L\"!=o[D];++D);for(var P=W;P<D;)if(Be.test(o[P])){W<P&&(A.splice(H,0,new Ue(1,W,P)),H+=F);var R=P;for(++P;P<D&&Be.test(o[P]);++P);A.splice(H,0,new Ue(2,R,P)),H+=F,W=P}else++P;W<D&&A.splice(H,0,new Ue(1,W,D))}return\"ltr\"==t&&(1==A[0].level&&(O=e.match(/^\\s+/))&&(A[0].from=O[0].length,A.unshift(new Ue(0,0,O[0].length))),1==z(A).level&&(O=e.match(/\\s+$/))&&(z(A).to-=O[0].length,A.push(new Ue(0,i-O[0].length,i)))),\"rtl\"==t?A.reverse():A};function Ue(e,t,n){this.level=e,this.from=t,this.to=n}function Ve(e,t){var n=e.order;return n=null==n?e.order=Ge(e.text,t):n}var Ke=[],k=function(e,t,n){e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent?e.attachEvent(\"on\"+t,n):(e=e._handlers||(e._handlers={}))[t]=(e[t]||Ke).concat(n)};function je(e,t){return e._handlers&&e._handlers[t]||Ke}function T(e,t,n){var r;e.removeEventListener?e.removeEventListener(t,n,!1):e.detachEvent?e.detachEvent(\"on\"+t,n):(r=(e=e._handlers)&&e[t])&&-1<(n=L(r,n))&&(e[t]=r.slice(0,n).concat(r.slice(n+1)))}function O(e,t){var n=je(e,t);if(n.length)for(var r=Array.prototype.slice.call(arguments,2),i=0;i<n.length;++i)n[i].apply(null,r)}function A(e,t,n){return\"string\"==typeof t&&(t={type:t,preventDefault:function(){this.defaultPrevented=!0}}),O(e,n||t.type,e,t),qe(t)||t.codemirrorIgnore}function Xe(e){var t=e._handlers&&e._handlers.cursorActivity;if(t)for(var n=e.curOp.cursorActivityHandlers||(e.curOp.cursorActivityHandlers=[]),r=0;r<t.length;++r)-1==L(n,t[r])&&n.push(t[r])}function Ye(e,t){return 0<je(e,t).length}function $e(e){e.prototype.on=function(e,t){k(this,e,t)},e.prototype.off=function(e,t){T(this,e,t)}}function D(e){e.preventDefault?e.preventDefault():e.returnValue=!1}function _e(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}function qe(e){return null!=e.defaultPrevented?e.defaultPrevented:0==e.returnValue}function Ze(e){D(e),_e(e)}function Qe(e){return e.target||e.srcElement}function Je(e){var t=e.which;return null==t&&(1&e.button?t=1:2&e.button?t=3:4&e.button&&(t=2)),t=C&&e.ctrlKey&&1==t?3:t}var et,tt,nt=function(){if(w&&v<9)return!1;var e=M(\"div\");return\"draggable\"in e||\"dragDrop\"in e}();var rt=3!=\"\\n\\nb\".split(/\\n/).length?function(e){for(var t=0,n=[],r=e.length;t<=r;){var i=e.indexOf(\"\\n\",t),o=(-1==i&&(i=e.length),e.slice(t,\"\\r\"==e.charAt(i-1)?i-1:i)),l=o.indexOf(\"\\r\");-1!=l?(n.push(o.slice(0,l)),t+=l+1):(n.push(o),t=i+1)}return n}:function(e){return e.split(/\\r\\n?|\\n/)},it=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch(e){return!1}}:function(e){var t;try{t=e.ownerDocument.selection.createRange()}catch(e){}return!(!t||t.parentElement()!=e)&&0!=t.compareEndPoints(\"StartToEnd\",t)},ot=\"oncopy\"in(l=M(\"div\"))||(l.setAttribute(\"oncopy\",\"return;\"),\"function\"==typeof l.oncopy),lt=null;var st={},at={};function ut(e){if(\"string\"==typeof e&&at.hasOwnProperty(e))e=at[e];else if(e&&\"string\"==typeof e.name&&at.hasOwnProperty(e.name)){var t=at[e.name];(e=ke(t=\"string\"==typeof t?{name:t}:t,e)).name=t.name}else{if(\"string\"==typeof e&&/^[\\w\\-]+\\/[\\w\\-]+\\+xml$/.test(e))return ut(\"application/xml\");if(\"string\"==typeof e&&/^[\\w\\-]+\\/[\\w\\-]+\\+json$/.test(e))return ut(\"application/json\")}return\"string\"==typeof e?{name:e}:e||{name:\"null\"}}function ct(e,t){t=ut(t);var n=st[t.name];if(!n)return ct(e,\"text/plain\");var r=n(e,t);if(ht.hasOwnProperty(t.name)){var i,o=ht[t.name];for(i in o)o.hasOwnProperty(i)&&(r.hasOwnProperty(i)&&(r[\"_\"+i]=r[i]),r[i]=o[i])}if(r.name=t.name,t.helperType&&(r.helperType=t.helperType),t.modeProps)for(var l in t.modeProps)r[l]=t.modeProps[l];return r}var ht={};function dt(e,t){fe(t,ht.hasOwnProperty(e)?ht[e]:ht[e]={})}function ft(e,t){if(!0===t)return t;if(e.copyState)return e.copyState(t);var n,r={};for(n in t){var i=t[n];i instanceof Array&&(i=i.concat([])),r[n]=i}return r}function pt(e,t){for(var n;e.innerMode&&(n=e.innerMode(t))&&n.mode!=e;)t=n.state,e=n.mode;return n||{mode:e,state:t}}function gt(e,t,n){return!e.startState||e.startState(t,n)}var g=function(e,t,n){this.pos=this.start=0,this.string=e,this.tabSize=t||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=n};function W(e,t){if((t-=e.first)<0||t>=e.size)throw new Error(\"There is no line \"+(t+e.first)+\" in the document.\");for(var n=e;!n.lines;)for(var r=0;;++r){var i=n.children[r],o=i.chunkSize();if(t<o){n=i;break}t-=o}return n.lines[t]}function mt(e,t,n){var r=[],i=t.line;return e.iter(t.line,n.line+1,function(e){e=e.text;i==n.line&&(e=e.slice(0,n.ch)),i==t.line&&(e=e.slice(t.ch)),r.push(e),++i}),r}function vt(e,t,n){var r=[];return e.iter(t,n,function(e){r.push(e.text)}),r}function yt(e,t){var n=t-e.height;if(n)for(var r=e;r;r=r.parent)r.height+=n}function H(e){if(null==e.parent)return null;for(var t=e.parent,n=L(t.lines,e),r=t.parent;r;r=(t=r).parent)for(var i=0;r.children[i]!=t;++i)n+=r.children[i].chunkSize();return n+t.first}function bt(e,t){var n=e.first;e:do{for(var r=0;r<e.children.length;++r){var i=e.children[r],o=i.height;if(t<o){e=i;continue e}t-=o,n+=i.chunkSize()}return n}while(!e.lines);for(var l=0;l<e.lines.length;++l){var s=e.lines[l].height;if(t<s)break;t-=s}return n+l}function wt(e,t){return t>=e.first&&t<e.first+e.size}function xt(e,t){return String(e.lineNumberFormatter(t+e.firstLineNumber))}function F(e,t,n){if(void 0===n&&(n=null),!(this instanceof F))return new F(e,t,n);this.line=e,this.ch=t,this.sticky=n}function P(e,t){return e.line-t.line||e.ch-t.ch}function Ct(e,t){return e.sticky==t.sticky&&0==P(e,t)}function St(e){return F(e.line,e.ch)}function Lt(e,t){return P(e,t)<0?t:e}function kt(e,t){return P(e,t)<0?e:t}function Tt(e,t){return Math.max(e.first,Math.min(t,e.first+e.size-1))}function E(e,t){if(t.line<e.first)return F(e.first,0);var n=e.first+e.size-1;return t.line>n?F(n,W(e,n).text.length):(e=W(e,(n=t).line).text.length,null==(t=n.ch)||e<t?F(n.line,e):t<0?F(n.line,0):n)}function Mt(e,t){for(var n=[],r=0;r<t.length;r++)n[r]=E(e,t[r]);return n}g.prototype.eol=function(){return this.pos>=this.string.length},g.prototype.sol=function(){return this.pos==this.lineStart},g.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},g.prototype.next=function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},g.prototype.eat=function(e){var t=this.string.charAt(this.pos),e=\"string\"==typeof e?t==e:t&&(e.test?e.test(t):e(t));if(e)return++this.pos,t},g.prototype.eatWhile=function(e){for(var t=this.pos;this.eat(e););return this.pos>t},g.prototype.eatSpace=function(){for(var e=this.pos;/[\\s\\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},g.prototype.skipToEnd=function(){this.pos=this.string.length},g.prototype.skipTo=function(e){e=this.string.indexOf(e,this.pos);if(-1<e)return this.pos=e,!0},g.prototype.backUp=function(e){this.pos-=e},g.prototype.column=function(){return this.lastColumnPos<this.start&&(this.lastColumnValue=S(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue-(this.lineStart?S(this.string,this.lineStart,this.tabSize):0)},g.prototype.indentation=function(){return S(this.string,null,this.tabSize)-(this.lineStart?S(this.string,this.lineStart,this.tabSize):0)},g.prototype.match=function(e,t,n){var r;if(\"string\"!=typeof e)return(r=this.string.slice(this.pos).match(e))&&0<r.index?null:(r&&!1!==t&&(this.pos+=r[0].length),r);function i(e){return n?e.toLowerCase():e}return i(this.string.substr(this.pos,e.length))==i(e)?(!1!==t&&(this.pos+=e.length),!0):void 0},g.prototype.current=function(){return this.string.slice(this.start,this.pos)},g.prototype.hideFirstChars=function(e,t){this.lineStart+=e;try{return t()}finally{this.lineStart-=e}},g.prototype.lookAhead=function(e){var t=this.lineOracle;return t&&t.lookAhead(e)},g.prototype.baseToken=function(){var e=this.lineOracle;return e&&e.baseToken(this.pos)};function Nt(e,t){this.state=e,this.lookAhead=t}var Ot=function(e,t,n,r){this.state=t,this.doc=e,this.line=n,this.maxLookAhead=r||0,this.baseTokens=null,this.baseTokenPos=1};function At(t,n,r,e){for(var a=[t.state.modeGen],i={},u=(It(t,n.text,t.doc.mode,r,function(e,t){a.push(e,t)},i,e),r.state),o=0;o<t.state.overlays.length;++o)!function(e){r.baseTokens=a;var o=t.state.overlays[e],l=1,s=0;r.state=!0,It(t,n.text,o.mode,r,function(e,t){for(var n=l;s<e;){var r=a[l];e<r&&a.splice(l,1,e,a[l+1],r),l+=2,s=Math.min(e,r)}if(t)if(o.opaque)a.splice(n,l-n,e,\"overlay \"+t),l=n+2;else for(;n<l;n+=2){var i=a[n+1];a[n+1]=(i?i+\" \":\"\")+\"overlay \"+t}},i),r.state=u,r.baseTokens=null,r.baseTokenPos=1}(o);return{styles:a,classes:i.bgClass||i.textClass?i:null}}function Dt(e,t,n){var r,i,o;return t.styles&&t.styles[0]==e.state.modeGen||(r=Wt(e,H(t)),i=t.text.length>e.options.maxHighlightLength&&ft(e.doc.mode,r.state),o=At(e,t,r),i&&(r.state=i),t.stateAfter=r.save(!i),t.styles=o.styles,o.classes?t.styleClasses=o.classes:t.styleClasses&&(t.styleClasses=null),n===e.doc.highlightFrontier&&(e.doc.modeFrontier=Math.max(e.doc.modeFrontier,++e.doc.highlightFrontier))),t.styles}function Wt(n,r,e){var t=n.doc,i=n.display;if(!t.mode.startState)return new Ot(t,!0,r);var o=function(e,t,n){for(var r,i,o=e.doc,l=n?-1:t-(e.doc.mode.innerMode?1e3:100),s=t;l<s;--s){if(s<=o.first)return o.first;var a=W(o,s-1),u=a.stateAfter;if(u&&(!n||s+(u instanceof Nt?u.lookAhead:0)<=o.modeFrontier))return s;u=S(a.text,null,e.options.tabSize);(null==i||u<r)&&(i=s-1,r=u)}return i}(n,r,e),l=o>t.first&&W(t,o-1).stateAfter,s=l?Ot.fromSaved(t,l,o):new Ot(t,gt(t.mode),o);return t.iter(o,r,function(e){Ht(n,e.text,s);var t=s.line;e.stateAfter=t==r-1||t%5==0||t>=i.viewFrom&&t<i.viewTo?s.save():null,s.nextLine()}),e&&(t.modeFrontier=s.line),s}function Ht(e,t,n,r){var i=e.doc.mode,o=new g(t,e.options.tabSize,n);for(o.start=o.pos=r||0,\"\"==t&&Ft(i,n.state);!o.eol();)Pt(i,o,n.state),o.start=o.pos}function Ft(e,t){if(e.blankLine)return e.blankLine(t);if(e.innerMode)return e=pt(e,t),e.mode.blankLine?e.mode.blankLine(e.state):void 0}function Pt(e,t,n,r){for(var i=0;i<10;i++){r&&(r[0]=pt(e,n).mode);var o=e.token(t,n);if(t.pos>t.start)return o}throw new Error(\"Mode \"+e.name+\" failed to advance stream.\")}Ot.prototype.lookAhead=function(e){var t=this.doc.getLine(this.line+e);return null!=t&&e>this.maxLookAhead&&(this.maxLookAhead=e),t},Ot.prototype.baseToken=function(e){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=e;)this.baseTokenPos+=2;var t=this.baseTokens[this.baseTokenPos+1];return{type:t&&t.replace(/( |^)overlay .*/,\"\"),size:this.baseTokens[this.baseTokenPos]-e}},Ot.prototype.nextLine=function(){this.line++,0<this.maxLookAhead&&this.maxLookAhead--},Ot.fromSaved=function(e,t,n){return t instanceof Nt?new Ot(e,ft(e.mode,t.state),n,t.lookAhead):new Ot(e,ft(e.mode,t),n)},Ot.prototype.save=function(e){e=!1!==e?ft(this.doc.mode,this.state):this.state;return 0<this.maxLookAhead?new Nt(e,this.maxLookAhead):e};var Et=function(e,t,n){this.start=e.start,this.end=e.pos,this.string=e.current(),this.type=t||null,this.state=n};function Rt(e,t,n,r){var i,o,l=e.doc,s=l.mode,a=W(l,(t=E(l,t)).line),u=Wt(e,t.line,n),c=new g(a.text,e.options.tabSize,u);for(r&&(o=[]);(r||c.pos<t.ch)&&!c.eol();)c.start=c.pos,i=Pt(s,c,u.state),r&&o.push(new Et(c,i,ft(l.mode,u.state)));return r?o:new Et(c,i,u.state)}function zt(e,t){if(e)for(;;){var n=e.match(/(?:^|\\s+)line-(background-)?(\\S+)/);if(!n)break;e=e.slice(0,n.index)+e.slice(n.index+n[0].length);var r=n[1]?\"bgClass\":\"textClass\";null==t[r]?t[r]=n[2]:new RegExp(\"(?:^|\\\\s)\"+n[2]+\"(?:$|\\\\s)\").test(t[r])||(t[r]+=\" \"+n[2])}return e}function It(e,t,n,r,i,o,l){var s=n.flattenSpans,a=(null==s&&(s=e.options.flattenSpans),0),u=null,c=new g(t,e.options.tabSize,r),h=e.options.addModeClass&&[null];for(\"\"==t&&zt(Ft(n,r.state),o);!c.eol();){var d,f=c.pos>e.options.maxHighlightLength?(s=!1,l&&Ht(e,t,r,c.pos),c.pos=t.length,null):zt(Pt(n,c,r.state,h),o);if(!h||(d=h[0].name)&&(f=\"m-\"+(f?d+\" \"+f:d)),!s||u!=f){for(;a<c.start;)i(a=Math.min(c.start,a+5e3),u);u=f}c.start=c.pos}for(;a<c.pos;){var p=Math.min(c.pos,a+5e3);i(p,u),a=p}}var Bt=!1,Gt=!1;function Ut(e,t,n){this.marker=e,this.from=t,this.to=n}function Vt(e,t){if(e)for(var n=0;n<e.length;++n){var r=e[n];if(r.marker==t)return r}}function Kt(e,t){if(t.full)return null;var n=wt(e,t.from.line)&&W(e,t.from.line).markedSpans,e=wt(e,t.to.line)&&W(e,t.to.line).markedSpans;if(!n&&!e)return null;var r=t.from.ch,i=t.to.ch,o=0==P(t.from,t.to),l=function(e,t,n){var r;if(e)for(var i=0;i<e.length;++i){var o,l=e[i],s=l.marker;!(null==l.from||(s.inclusiveLeft?l.from<=t:l.from<t))&&(l.from!=t||\"bookmark\"!=s.type||n&&l.marker.insertLeft)||(o=null==l.to||(s.inclusiveRight?l.to>=t:l.to>t),(r=r||[]).push(new Ut(s,l.from,o?null:l.to)))}return r}(n,r,o),s=function(e,t,n){var r;if(e)for(var i=0;i<e.length;++i){var o,l=e[i],s=l.marker;!(null==l.to||(s.inclusiveRight?l.to>=t:l.to>t))&&(l.from!=t||\"bookmark\"!=s.type||n&&!l.marker.insertLeft)||(o=null==l.from||(s.inclusiveLeft?l.from<=t:l.from<t),(r=r||[]).push(new Ut(s,o?null:l.from-t,null==l.to?null:l.to-t)))}return r}(e,i,o),a=1==t.text.length,u=z(t.text).length+(a?r:0);if(l)for(var c=0;c<l.length;++c){var h,d=l[c];null==d.to&&((h=Vt(s,d.marker))?a&&(d.to=null==h.to?null:h.to+u):d.to=r)}if(s)for(var f=0;f<s.length;++f){var p=s[f];null!=p.to&&(p.to+=u),null==p.from?Vt(l,p.marker)||(p.from=u,a&&(l=l||[]).push(p)):(p.from+=u,a&&(l=l||[]).push(p))}l=l&&jt(l),s&&s!=l&&(s=jt(s));var g=[l];if(!a){var m,v=t.text.length-2;if(0<v&&l)for(var y=0;y<l.length;++y)null==l[y].to&&(m=m||[]).push(new Ut(l[y].marker,null,null));for(var b=0;b<v;++b)g.push(m);g.push(s)}return g}function jt(e){for(var t=0;t<e.length;++t){var n=e[t];null!=n.from&&n.from==n.to&&!1!==n.marker.clearWhenEmpty&&e.splice(t--,1)}return e.length?e:null}function Xt(e){var t=e.markedSpans;if(t){for(var n=0;n<t.length;++n)t[n].marker.detachLine(e);e.markedSpans=null}}function Yt(e,t){if(t){for(var n=0;n<t.length;++n)t[n].marker.attachLine(e);e.markedSpans=t}}function $t(e){return e.inclusiveLeft?-1:0}function _t(e){return e.inclusiveRight?1:0}function qt(e,t){var n=e.lines.length-t.lines.length;if(0!=n)return n;var n=e.find(),r=t.find(),i=P(n.from,r.from)||$t(e)-$t(t);if(i)return-i;i=P(n.to,r.to)||_t(e)-_t(t);return i||t.id-e.id}function Zt(e,t){var n,r=Gt&&e.markedSpans;if(r)for(var i,o=0;o<r.length;++o)(i=r[o]).marker.collapsed&&null==(t?i.from:i.to)&&(!n||qt(n,i.marker)<0)&&(n=i.marker);return n}function Qt(e){return Zt(e,!0)}function Jt(e){return Zt(e,!1)}function en(e,t,n,r,i){var e=W(e,t),o=Gt&&e.markedSpans;if(o)for(var l=0;l<o.length;++l){var s=o[l];if(s.marker.collapsed){var a=s.marker.find(0),u=P(a.from,n)||$t(s.marker)-$t(i),c=P(a.to,r)||_t(s.marker)-_t(i);if(!(0<=u&&c<=0||u<=0&&0<=c)&&(u<=0&&(s.marker.inclusiveRight&&i.inclusiveLeft?0<=P(a.to,n):0<P(a.to,n))||0<=u&&(s.marker.inclusiveRight&&i.inclusiveLeft?P(a.from,r)<=0:P(a.from,r)<0)))return 1}}}function tn(e){for(var t;t=Qt(e);)e=t.find(-1,!0).line;return e}function nn(e,t){var e=W(e,t),n=tn(e);return e==n?t:H(n)}function rn(e,t){if(t>e.lastLine())return t;var n,r=W(e,t);if(!on(e,r))return t;for(;n=Jt(r);)r=n.find(1,!0).line;return H(r)+1}function on(e,t){var n=Gt&&t.markedSpans;if(n)for(var r,i=0;i<n.length;++i)if((r=n[i]).marker.collapsed){if(null==r.from)return!0;if(!r.marker.widgetNode&&0==r.from&&r.marker.inclusiveLeft&&function e(t,n,r){{var i;if(null==r.to)return i=r.marker.find(1,!0),e(t,i.line,Vt(i.line.markedSpans,r.marker))}if(r.marker.inclusiveRight&&r.to==n.text.length)return!0;for(var o=void 0,l=0;l<n.markedSpans.length;++l)if((o=n.markedSpans[l]).marker.collapsed&&!o.marker.widgetNode&&o.from==r.to&&(null==o.to||o.to!=r.from)&&(o.marker.inclusiveLeft||r.marker.inclusiveRight)&&e(t,n,o))return!0}(e,t,r))return!0}}function ln(e){for(var t=0,n=(e=tn(e)).parent,r=0;r<n.lines.length;++r){var i=n.lines[r];if(i==e)break;t+=i.height}for(var o=n.parent;o;o=(n=o).parent)for(var l=0;l<o.children.length;++l){var s=o.children[l];if(s==n)break;t+=s.height}return t}function sn(e){if(0==e.height)return 0;for(var t,n=e.text.length,r=e;t=Qt(r);){var i=t.find(0,!0),r=i.from.line;n+=i.from.ch-i.to.ch}for(r=e;t=Jt(r);)var o=t.find(0,!0),n=(n-=r.text.length-o.from.ch)+((r=o.to.line).text.length-o.to.ch);return n}function an(e){var n=e.display,e=e.doc;n.maxLine=W(e,e.first),n.maxLineLength=sn(n.maxLine),n.maxLineChanged=!0,e.iter(function(e){var t=sn(e);t>n.maxLineLength&&(n.maxLineLength=t,n.maxLine=e)})}var un=function(e,t,n){this.text=e,Yt(this,t),this.height=n?n(this):1};un.prototype.lineNo=function(){return H(this)},$e(un);var cn={},hn={};function dn(e,t){if(!e||/^\\s*$/.test(e))return null;t=t.addModeClass?hn:cn;return t[e]||(t[e]=e.replace(/\\S+/g,\"cm-$&\"))}function fn(e,t){var n=ne(\"span\",null,null,x?\"padding-right: .1px\":null),r={pre:ne(\"pre\",[n],\"CodeMirror-line\"),content:n,col:0,pos:0,cm:e,trailingSpace:!1,splitSpaces:e.getOption(\"lineWrapping\")};t.measure={};for(var i=0;i<=(t.rest?t.rest.length:0);i++){var o=i?t.rest[i-1]:t.line,l=void 0,l=(r.pos=0,r.addToken=gn,function(e){if(null!=tt)return tt;var t=y(e,document.createTextNode(\"AخA\")),n=le(t,0,1).getBoundingClientRect(),t=le(t,1,2).getBoundingClientRect();return te(e),n&&n.left!=n.right&&(tt=t.right-n.right<3)}(e.display.measure)&&(l=Ve(o,e.doc.direction))&&(r.addToken=function(h,d){return function(e,t,n,r,i,o,l){n=n?n+\" cm-force-border\":\"cm-force-border\";for(var s=e.pos,a=s+t.length;;){for(var u=void 0,c=0;c<d.length&&!((u=d[c]).to>s&&u.from<=s);c++);if(u.to>=a)return h(e,t,n,r,i,o,l);h(e,t.slice(0,u.to-s),n,r,null,o,l),r=null,t=t.slice(u.to-s),s=u.to}}}(r.addToken,l)),r.map=[],t!=e.display.externalMeasured&&H(o));!function(e,t,n){var r=e.markedSpans,i=e.text,o=0;if(r)for(var l,s,a,u,c,h,d,f=i.length,p=0,g=1,m=\"\",v=0;;){if(v==p){a=u=c=s=\"\",h=d=null,v=1/0;for(var y=[],b=void 0,w=0;w<r.length;++w){var x=r[w],C=x.marker;if(\"bookmark\"==C.type&&x.from==p&&C.widgetNode)y.push(C);else if(x.from<=p&&(null==x.to||x.to>p||C.collapsed&&x.to==p&&x.from==p)){if(null!=x.to&&x.to!=p&&v>x.to&&(v=x.to,u=\"\"),C.className&&(a+=\" \"+C.className),C.css&&(s=(s?s+\";\":\"\")+C.css),C.startStyle&&x.from==p&&(c+=\" \"+C.startStyle),C.endStyle&&x.to==v&&(b=b||[]).push(C.endStyle,x.to),C.title&&((d=d||{}).title=C.title),C.attributes)for(var S in C.attributes)(d=d||{})[S]=C.attributes[S];C.collapsed&&(!h||qt(h.marker,C)<0)&&(h=x)}else x.from>p&&v>x.from&&(v=x.from)}if(b)for(var L=0;L<b.length;L+=2)b[L+1]==v&&(u+=\" \"+b[L]);if(!h||h.from==p)for(var k=0;k<y.length;++k)mn(t,0,y[k]);if(h&&(h.from||0)==p){if(mn(t,(null==h.to?f+1:h.to)-p,h.marker,null==h.from),null==h.to)return;h.to==p&&(h=!1)}}if(f<=p)break;for(var T=Math.min(f,v);;){if(m){var M,N=p+m.length;if(h||(M=T<N?m.slice(0,T-p):m,t.addToken(t,M,l?l+a:a,c,p+M.length==v?u:\"\",s,d)),T<=N){m=m.slice(T-p),p=T;break}p=N,c=\"\"}m=i.slice(o,o=n[g++]),l=dn(n[g++],t.cm.options)}}else for(var O=1;O<n.length;O+=2)t.addToken(t,i.slice(o,o=n[O]),dn(n[O+1],t.cm.options))}(o,r,Dt(e,o,l)),o.styleClasses&&(o.styleClasses.bgClass&&(r.bgClass=oe(o.styleClasses.bgClass,r.bgClass||\"\")),o.styleClasses.textClass&&(r.textClass=oe(o.styleClasses.textClass,r.textClass||\"\"))),0==r.map.length&&r.map.push(0,0,r.content.appendChild((l=e.display.measure,o=void 0,null==et&&(o=M(\"span\",\"​\"),y(l,M(\"span\",[o,document.createTextNode(\"x\")])),0!=l.firstChild.offsetHeight&&(et=o.offsetWidth<=1&&2<o.offsetHeight&&!(w&&v<8))),(l=et?M(\"span\",\"​\"):M(\"span\",\" \",null,\"display: inline-block; width: 1px; margin-right: -1px\")).setAttribute(\"cm-text\",\"\"),l))),0==i?(t.measure.map=r.map,t.measure.cache={}):((t.measure.maps||(t.measure.maps=[])).push(r.map),(t.measure.caches||(t.measure.caches=[])).push({}))}return x&&(n=r.content.lastChild,(/\\bcm-tab\\b/.test(n.className)||n.querySelector&&n.querySelector(\".cm-tab\"))&&(r.content.className=\"cm-tab-wrap-hack\")),O(e,\"renderLine\",e,t.line,r.pre),r.pre.className&&(r.textClass=oe(r.pre.className,r.textClass||\"\")),r}function pn(e){var t=M(\"span\",\"•\",\"cm-invalidchar\");return t.title=\"\\\\u\"+e.charCodeAt(0).toString(16),t.setAttribute(\"aria-label\",t.title),t}function gn(e,t,n,r,i,o,l){if(t){var s=e.splitSpaces?function(e,t){if(1<e.length&&!/  /.test(e))return e;for(var n=t,r=\"\",i=0;i<e.length;i++){var o=e.charAt(i);\" \"!=o||!n||i!=e.length-1&&32!=e.charCodeAt(i+1)||(o=\" \"),r+=o,n=\" \"==o}return r}(t,e.trailingSpace):t,a=e.cm.state.specialChars,u=!1;if(a.test(t))for(var c=document.createDocumentFragment(),h=0;;){a.lastIndex=h;var d=a.exec(t),f=d?d.index-h:t.length-h;if(f&&(p=document.createTextNode(s.slice(h,h+f)),w&&v<9?c.appendChild(M(\"span\",[p])):c.appendChild(p),e.map.push(e.pos,e.pos+f,p),e.col+=f,e.pos+=f),!d)break;h+=1+f;var p=void 0;\"\\t\"==d[0]?(f=(f=e.cm.options.tabSize)-e.col%f,(p=c.appendChild(M(\"span\",Ce(f),\"cm-tab\"))).setAttribute(\"role\",\"presentation\"),p.setAttribute(\"cm-text\",\"\\t\"),e.col+=f):(\"\\r\"==d[0]||\"\\n\"==d[0]?(p=c.appendChild(M(\"span\",\"\\r\"==d[0]?\"␍\":\"␤\",\"cm-invalidchar\"))).setAttribute(\"cm-text\",d[0]):((p=e.cm.options.specialCharPlaceholder(d[0])).setAttribute(\"cm-text\",d[0]),w&&v<9?c.appendChild(M(\"span\",[p])):c.appendChild(p)),e.col+=1),e.map.push(e.pos,e.pos+1,p),e.pos++}else e.col+=t.length,c=document.createTextNode(s),e.map.push(e.pos,e.pos+t.length,c),w&&v<9&&(u=!0),e.pos+=t.length;if(e.trailingSpace=32==s.charCodeAt(t.length-1),n||r||i||u||o||l){var u=n||\"\",g=(r&&(u+=r),i&&(u+=i),M(\"span\",[c],u,o));if(l)for(var m in l)l.hasOwnProperty(m)&&\"style\"!=m&&\"class\"!=m&&g.setAttribute(m,l[m]);return e.content.appendChild(g)}e.content.appendChild(c)}}function mn(e,t,n,r){var i=!r&&n.widgetNode;i&&e.map.push(e.pos,e.pos+t,i),!r&&e.cm.display.input.needsContentAttribute&&(i=i||e.content.appendChild(document.createElement(\"span\"))).setAttribute(\"cm-marker\",n.id),i&&(e.cm.display.input.setUneditable(i),e.content.appendChild(i)),e.pos+=t,e.trailingSpace=!1}function vn(e,t,n){this.line=t,this.rest=function(e){for(var t,n;t=Jt(e);)e=t.find(1,!0).line,(n=n||[]).push(e);return n}(t),this.size=this.rest?H(z(this.rest))-n+1:1,this.node=this.text=null,this.hidden=on(e,t)}function yn(e,t,n){for(var r=[],i=t;i<n;i=l){var o=new vn(e.doc,W(e.doc,i),i),l=i+o.size;r.push(o)}return r}var bn=null;var wn=null;function b(e,t){var n=je(e,t);if(n.length)for(var r,i=Array.prototype.slice.call(arguments,2),o=(bn?r=bn.delayedCallbacks:wn?r=wn:(r=wn=[],setTimeout(xn,0)),0);o<n.length;++o)!function(e){r.push(function(){return n[e].apply(null,i)})}(o)}function xn(){var e=wn;wn=null;for(var t=0;t<e.length;++t)e[t]()}function Cn(e,t,n,r){for(var i=0;i<t.changes.length;i++){var o=t.changes[i];if(\"text\"==o){u=a=s=l=void 0;var l=e,s=t,a=s.text.className,u=Ln(l,s);s.text==s.node&&(s.node=u.pre),s.text.parentNode.replaceChild(u.pre,s.text),s.text=u.pre,u.bgClass!=s.bgClass||u.textClass!=s.textClass?(s.bgClass=u.bgClass,s.textClass=u.textClass,kn(l,s)):a&&(s.text.className=a)}else if(\"gutter\"==o)Tn(e,t,n,r);else if(\"class\"==o)kn(e,t);else if(\"widget\"==o){f=d=h=l=c=u=void 0;var u=e,c=t,l=r;c.alignable&&(c.alignable=null);for(var h=J(\"CodeMirror-linewidget\"),d=c.node.firstChild,f=void 0;d;d=f)f=d.nextSibling,h.test(d.className)&&c.node.removeChild(d);Mn(u,c,l)}}t.changes=null}function Sn(e){return e.node==e.text&&(e.node=M(\"div\",null,null,\"position: relative\"),e.text.parentNode&&e.text.parentNode.replaceChild(e.node,e.text),e.node.appendChild(e.text),w&&v<8&&(e.node.style.zIndex=2)),e.node}function Ln(e,t){var n=e.display.externalMeasured;return n&&n.line==t.line?(e.display.externalMeasured=null,t.measure=n.measure,n.built):fn(e,t)}function kn(e,t){e=e,(i=(n=t).bgClass?n.bgClass+\" \"+(n.line.bgClass||\"\"):n.line.bgClass)&&(i+=\" CodeMirror-linebackground\"),n.background?i?n.background.className=i:(n.background.parentNode.removeChild(n.background),n.background=null):i&&(r=Sn(n),n.background=r.insertBefore(M(\"div\",null,i),r.firstChild),e.display.input.setUneditable(n.background)),t.line.wrapClass?Sn(t).className=t.line.wrapClass:t.node!=t.text&&(t.node.className=\"\");var n,r,i=t.textClass?t.textClass+\" \"+(t.line.textClass||\"\"):t.line.textClass;t.text.className=i||\"\"}function Tn(e,t,n,r){t.gutter&&(t.node.removeChild(t.gutter),t.gutter=null),t.gutterBackground&&(t.node.removeChild(t.gutterBackground),t.gutterBackground=null),t.line.gutterClass&&(o=Sn(t),t.gutterBackground=M(\"div\",null,\"CodeMirror-gutter-background \"+t.line.gutterClass,\"left: \"+(e.options.fixedGutter?r.fixedPos:-r.gutterTotalWidth)+\"px; width: \"+r.gutterTotalWidth+\"px\"),e.display.input.setUneditable(t.gutterBackground),o.insertBefore(t.gutterBackground,t.text));var i=t.line.gutterMarkers;if(e.options.lineNumbers||i){var o=Sn(t),l=t.gutter=M(\"div\",null,\"CodeMirror-gutter-wrapper\",\"left: \"+(e.options.fixedGutter?r.fixedPos:-r.gutterTotalWidth)+\"px\");if(l.setAttribute(\"aria-hidden\",\"true\"),e.display.input.setUneditable(l),o.insertBefore(l,t.text),t.line.gutterClass&&(l.className+=\" \"+t.line.gutterClass),!e.options.lineNumbers||i&&i[\"CodeMirror-linenumbers\"]||(t.lineNumber=l.appendChild(M(\"div\",xt(e.options,n),\"CodeMirror-linenumber CodeMirror-gutter-elt\",\"left: \"+r.gutterLeft[\"CodeMirror-linenumbers\"]+\"px; width: \"+e.display.lineNumInnerWidth+\"px\"))),i)for(var s=0;s<e.display.gutterSpecs.length;++s){var a=e.display.gutterSpecs[s].className,u=i.hasOwnProperty(a)&&i[a];u&&l.appendChild(M(\"div\",[u],\"CodeMirror-gutter-elt\",\"left: \"+r.gutterLeft[a]+\"px; width: \"+r.gutterWidth[a]+\"px\"))}}}function Mn(e,t,n){if(Nn(e,t.line,t,n,!0),t.rest)for(var r=0;r<t.rest.length;r++)Nn(e,t.rest[r],t,n,!1)}function Nn(e,t,n,r,i){if(t.widgets)for(var o=Sn(n),l=0,s=t.widgets;l<s.length;++l){var a=s[l],u=M(\"div\",[a.node],\"CodeMirror-linewidget\"+(a.className?\" \"+a.className:\"\")),c=(a.handleMouseEvents||u.setAttribute(\"cm-ignore-events\",\"true\"),d=f=d=h=c=void 0,a),h=u,d=n,f=r;c.noHScroll&&((d.alignable||(d.alignable=[])).push(h),d=f.wrapperWidth,h.style.left=f.fixedPos+\"px\",c.coverGutter||(d-=f.gutterTotalWidth,h.style.paddingLeft=f.gutterTotalWidth+\"px\"),h.style.width=d+\"px\"),c.coverGutter&&(h.style.zIndex=5,h.style.position=\"relative\",c.noHScroll||(h.style.marginLeft=-f.gutterTotalWidth+\"px\")),e.display.input.setUneditable(u),i&&a.above?o.insertBefore(u,n.gutter||n.text):o.appendChild(u),b(a,\"redraw\")}}function On(e){if(null!=e.height)return e.height;var t,n=e.doc.cm;return n?(re(document.body,e.node)||(t=\"position: relative;\",e.coverGutter&&(t+=\"margin-left: -\"+n.display.gutters.offsetWidth+\"px;\"),e.noHScroll&&(t+=\"width: \"+n.display.wrapper.clientWidth+\"px;\"),y(n.display.measure,M(\"div\",[e.node],null,t))),e.height=e.node.parentNode.offsetHeight):0}function An(e,t){for(var n=Qe(t);n!=e.wrapper;n=n.parentNode)if(!n||1==n.nodeType&&\"true\"==n.getAttribute(\"cm-ignore-events\")||n.parentNode==e.sizer&&n!=e.mover)return 1}function Dn(e){return e.lineSpace.offsetTop}function Wn(e){return e.mover.offsetHeight-e.lineSpace.offsetHeight}function Hn(e){if(e.cachedPaddingH)return e.cachedPaddingH;var t=y(e.measure,M(\"pre\",\"x\",\"CodeMirror-line-like\")),t=window.getComputedStyle?window.getComputedStyle(t):t.currentStyle,t={left:parseInt(t.paddingLeft),right:parseInt(t.paddingRight)};return isNaN(t.left)||isNaN(t.right)||(e.cachedPaddingH=t),t}function Fn(e){return ge-e.display.nativeBarWidth}function Pn(e){return e.display.scroller.clientWidth-Fn(e)-e.display.barWidth}function En(e){return e.display.scroller.clientHeight-Fn(e)-e.display.barHeight}function Rn(e,t,n){if(e.line==t)return{map:e.measure.map,cache:e.measure.cache};if(e.rest){for(var r=0;r<e.rest.length;r++)if(e.rest[r]==t)return{map:e.measure.maps[r],cache:e.measure.caches[r]};for(var i=0;i<e.rest.length;i++)if(H(e.rest[i])>n)return{map:e.measure.maps[i],cache:e.measure.caches[i],before:!0}}}function zn(e,t,n,r){return Gn(e,Bn(e,t),n,r)}function In(e,t){if(t>=e.display.viewFrom&&t<e.display.viewTo)return e.display.view[mr(e,t)];e=e.display.externalMeasured;return e&&t>=e.lineN&&t<e.lineN+e.size?e:void 0}function Bn(e,t){var n,r,i=H(t),o=In(e,i),e=(o&&!o.text?o=null:o&&o.changes&&(Cn(e,o,i,hr(e)),e.curOp.forceUpdate=!0),o||(e=e,r=H(n=tn(n=t)),(n=e.display.externalMeasured=new vn(e.doc,n,r)).lineN=r,r=n.built=fn(e,n),n.text=r.pre,y(e.display.lineMeasure,r.pre),o=n),Rn(o,t,i));return{line:t,view:o,rect:null,map:e.map,cache:e.cache,before:e.before,hasHeights:!1}}function Gn(e,t,n,r,i){var o,l=(n=t.before?-1:n)+(r||\"\");if(t.cache.hasOwnProperty(l))o=t.cache[l];else{if(t.rect||(t.rect=t.view.text.getBoundingClientRect()),!t.hasHeights){var s=e,a=t.view,u=t.rect,c=s.options.lineWrapping,s=c&&Pn(s);if(!a.measure.heights||c&&a.measure.width!=s){var h=a.measure.heights=[];if(c){a.measure.width=s;for(var d=a.text.firstChild.getClientRects(),f=0;f<d.length-1;f++){var p=d[f],g=d[f+1];2<Math.abs(p.bottom-g.bottom)&&h.push((p.bottom+g.top)/2-u.top)}}h.push(u.bottom-u.top)}t.hasHeights=!0}(o=function(e,t,n,r){var i,o=Kn(t.map,n,r),l=o.node,s=o.start,a=o.end,u=o.collapse;if(3==l.nodeType){for(var c=0;c<4;c++){for(;s&&De(t.line.text.charAt(o.coverStart+s));)--s;for(;o.coverStart+a<o.coverEnd&&De(t.line.text.charAt(o.coverStart+a));)++a;if((i=w&&v<9&&0==s&&a==o.coverEnd-o.coverStart?l.parentNode.getBoundingClientRect():function(e,t){var n=Vn;if(\"left\"==t)for(var r=0;r<e.length&&(n=e[r]).left==n.right;r++);else for(var i=e.length-1;0<=i&&(n=e[i]).left==n.right;i--);return n}(le(l,s,a).getClientRects(),r)).left||i.right||0==s)break;a=s,s-=1,u=\"right\"}w&&v<11&&(i=function(e,t){if(!window.screen||null==screen.logicalXDPI||screen.logicalXDPI==screen.deviceXDPI||!function(e){if(null!=lt)return lt;var t=(e=y(e,M(\"span\",\"x\"))).getBoundingClientRect(),e=le(e,0,1).getBoundingClientRect();return lt=1<Math.abs(t.left-e.left)}(e))return t;var e=screen.logicalXDPI/screen.deviceXDPI,n=screen.logicalYDPI/screen.deviceYDPI;return{left:t.left*e,right:t.right*e,top:t.top*n,bottom:t.bottom*n}}(e.display.measure,i))}else 0<s&&(u=r=\"right\"),i=e.options.lineWrapping&&1<(n=l.getClientRects()).length?n[\"right\"==r?n.length-1:0]:l.getBoundingClientRect();!(w&&v<9)||s||i&&(i.left||i.right)||(n=l.parentNode.getClientRects()[0],i=n?{left:n.left,right:n.left+cr(e.display),top:n.top,bottom:n.bottom}:Vn);for(var n=i.top-t.rect.top,h=i.bottom-t.rect.top,d=(n+h)/2,f=t.view.measure.heights,p=0;p<f.length-1&&!(d<f[p]);p++);var g=p?f[p-1]:0,m=f[p],g={left:(\"right\"==u?i.right:i.left)-t.rect.left,right:(\"left\"==u?i.left:i.right)-t.rect.left,top:g,bottom:m};i.left||i.right||(g.bogus=!0);e.options.singleCursorHeightPerLine||(g.rtop=n,g.rbottom=h);return g}(e,t,n,r)).bogus||(t.cache[l]=o)}return{left:o.left,right:o.right,top:i?o.rtop:o.top,bottom:i?o.rbottom:o.bottom}}var Un,Vn={left:0,right:0,top:0,bottom:0};function Kn(e,t,n){for(var r,i,o,l,s,a,u=0;u<e.length;u+=3)if(s=e[u],a=e[u+1],t<s?(i=0,o=1,l=\"left\"):t<a?o=(i=t-s)+1:(u==e.length-3||t==a&&e[u+3]>t)&&(i=(o=a-s)-1,a<=t&&(l=\"right\")),null!=i){if(r=e[u+2],s==a&&n==(r.insertLeft?\"left\":\"right\")&&(l=n),\"left\"==n&&0==i)for(;u&&e[u-2]==e[u-3]&&e[u-1].insertLeft;)r=e[2+(u-=3)],l=\"left\";if(\"right\"==n&&i==a-s)for(;u<e.length-3&&e[u+3]==e[u+4]&&!e[u+5].insertLeft;)r=e[(u+=3)+2],l=\"right\";break}return{node:r,start:i,end:o,collapse:l,coverStart:s,coverEnd:a}}function jn(e){if(e.measure&&(e.measure.cache={},e.measure.heights=null,e.rest))for(var t=0;t<e.rest.length;t++)e.measure.caches[t]={}}function Xn(e){e.display.externalMeasure=null,te(e.display.lineMeasure);for(var t=0;t<e.display.view.length;t++)jn(e.display.view[t])}function Yn(e){Xn(e),e.display.cachedCharWidth=e.display.cachedTextHeight=e.display.cachedPaddingH=null,e.options.lineWrapping||(e.display.maxLineChanged=!0),e.display.lineNumChars=null}function $n(e){return m&&$?-(e.body.getBoundingClientRect().left-parseInt(getComputedStyle(e.body).marginLeft)):e.defaultView.pageXOffset||(e.documentElement||e.body).scrollLeft}function _n(e){return m&&$?-(e.body.getBoundingClientRect().top-parseInt(getComputedStyle(e.body).marginTop)):e.defaultView.pageYOffset||(e.documentElement||e.body).scrollTop}function qn(e){var t=tn(e).widgets,n=0;if(t)for(var r=0;r<t.length;++r)t[r].above&&(n+=On(t[r]));return n}function Zn(e,t,n,r,i){if(i||(i=qn(t),n.top+=i,n.bottom+=i),\"line\"==r)return n;r=r||\"local\";i=ln(t);return\"local\"==r?i+=Dn(e.display):i-=e.display.viewOffset,\"page\"!=r&&\"window\"!=r||(i+=(t=e.display.lineSpace.getBoundingClientRect()).top+(\"window\"==r?0:_n(ae(e))),t=t.left+(\"window\"==r?0:$n(ae(e))),n.left+=t,n.right+=t),n.top+=i,n.bottom+=i,n}function Qn(e,t,n){if(\"div\"==n)return t;var r=t.left,t=t.top,n=(\"page\"==n?(r-=$n(ae(e)),t-=_n(ae(e))):\"local\"!=n&&n||(r+=(n=e.display.sizer.getBoundingClientRect()).left,t+=n.top),e.display.lineSpace.getBoundingClientRect());return{left:r-n.left,top:t-n.top}}function Jn(e,t,n,r,i){return Zn(e,r=r||W(e.doc,t.line),zn(e,r,t.ch,i),n)}function er(n,e,r,i,o,l){function s(e,t){e=Gn(n,o,e,t?\"right\":\"left\",l);return t?e.left=e.right:e.right=e.left,Zn(n,i,e,r)}i=i||W(n.doc,e.line),o=o||Bn(n,i);var a=Ve(i,n.doc.direction),t=e.ch,e=e.sticky;if(t>=i.text.length?(t=i.text.length,e=\"before\"):t<=0&&(t=0,e=\"after\"),!a)return s(\"before\"==e?t-1:t,\"before\"==e);function u(e,t,n){return s(n?e-1:e,1==a[t].level!=n)}var c=Pe(a,t,e),h=Fe,c=u(t,c,\"before\"==e);return null!=h&&(c.other=u(t,h,\"before\"!=e)),c}function tr(e,t){var n=0,t=(t=E(e.doc,t),e.options.lineWrapping||(n=cr(e.display)*t.ch),W(e.doc,t.line)),e=ln(t)+Dn(e.display);return{left:n,right:n,top:e,bottom:e+t.height}}function nr(e,t,n,r,i){e=F(e,t,n);return e.xRel=i,r&&(e.outside=r),e}function rr(e,t,n){var r=e.doc;if((n+=e.display.viewOffset)<0)return nr(r.first,0,null,-1,-1);var i=bt(r,n),o=r.first+r.size-1;if(o<i)return nr(r.first+r.size-1,W(r,o).text.length,null,1,1);t<0&&(t=0);for(var l=W(r,i);;){var s=function(n,e,t,r,i){i-=ln(e);var o=Bn(n,e),l=qn(e),s=0,a=e.text.length,u=!0,c=Ve(e,n.doc.direction);c&&(c=(n.options.lineWrapping?ar:sr)(n,e,t,o,c,r,i),u=1!=c.level,s=u?c.from:c.to-1,a=u?c.to:c.from-1);var h=null,d=null,c=He(function(e){var t=Gn(n,o,e);return t.top+=l,t.bottom+=l,lr(t,r,i,!1)&&(t.top<=i&&t.left<=r&&(h=e,d=t),1)},s,a),f=!1;{var p,g;d?(p=r-d.left<d.right-r,c=h+((g=p==u)?0:1),g=g?\"after\":\"before\",p=p?d.left:d.right):(u||c!=a&&c!=s||c++,g=0==c||c!=e.text.length&&Gn(n,o,c-(u?1:0)).bottom+l<=i==u?\"after\":\"before\",a=er(n,F(t,c,g),\"line\",e,o),p=a.left,f=i<a.top?-1:i>=a.bottom?1:0)}return c=We(e.text,c,1),nr(t,c,g,f,r-p)}(e,l,i,t,n),a=function(e,t){var n,r=Gt&&e.markedSpans;if(r)for(var i=0;i<r.length;++i){var o=r[i];o.marker.collapsed&&(null==o.from||o.from<t)&&(null==o.to||o.to>t)&&(!n||qt(n,o.marker)<0)&&(n=o.marker)}return n}(l,s.ch+(0<s.xRel||0<s.outside?1:0));if(!a)return s;s=a.find(1);if(s.line==i)return s;l=W(r,i=s.line)}}function ir(t,e,n,r){r-=qn(e);var e=e.text.length,i=He(function(e){return Gn(t,n,e-1).bottom<=r},e,0);return{begin:i,end:He(function(e){return Gn(t,n,e).top>r},i,e)}}function or(e,t,n,r){return ir(e,t,n=n||Bn(e,t),Zn(e,t,Gn(e,n,r),\"line\").top)}function lr(e,t,n,r){return!(e.bottom<=n)&&(e.top>n||(r?e.left:e.right)>t)}function sr(n,r,i,o,l,s,a){var e,t=He(function(e){var e=l[e],t=1!=e.level;return lr(er(n,F(i,t?e.to:e.from,t?\"before\":\"after\"),\"line\",r,o),s,a,!0)},0,l.length-1),u=l[t];return 0<t&&(e=1!=u.level,lr(e=er(n,F(i,e?u.from:u.to,e?\"after\":\"before\"),\"line\",r,o),s,a,!0)&&e.top>a&&(u=l[t-1])),u}function ar(e,t,n,r,i,o,l){for(var l=ir(e,t,r,l),s=l.begin,a=l.end,u=(/\\s/.test(t.text.charAt(a-1))&&a--,null),c=null,h=0;h<i.length;h++){var d,f=i[h];f.from>=a||f.to<=s||(d=(d=Gn(e,r,1!=f.level?Math.min(a,f.to)-1:Math.max(s,f.from)).right)<o?o-d+1e9:d-o,(!u||d<c)&&(u=f,c=d))}return u=(u=(u=u||i[i.length-1]).from<s?{from:s,to:u.to,level:u.level}:u).to>a?{from:u.from,to:a,level:u.level}:u}function ur(e){if(null!=e.cachedTextHeight)return e.cachedTextHeight;if(null==Un){Un=M(\"pre\",null,\"CodeMirror-line-like\");for(var t=0;t<49;++t)Un.appendChild(document.createTextNode(\"x\")),Un.appendChild(M(\"br\"));Un.appendChild(document.createTextNode(\"x\"))}y(e.measure,Un);var n=Un.offsetHeight/50;return 3<n&&(e.cachedTextHeight=n),te(e.measure),n||1}function cr(e){if(null!=e.cachedCharWidth)return e.cachedCharWidth;var t=M(\"span\",\"xxxxxxxxxx\"),n=M(\"pre\",[t],\"CodeMirror-line-like\"),n=(y(e.measure,n),t.getBoundingClientRect()),t=(n.right-n.left)/10;return 2<t&&(e.cachedCharWidth=t),t||10}function hr(e){for(var t=e.display,n={},r={},i=t.gutters.clientLeft,o=t.gutters.firstChild,l=0;o;o=o.nextSibling,++l){var s=e.display.gutterSpecs[l].className;n[s]=o.offsetLeft+o.clientLeft+i,r[s]=o.clientWidth}return{fixedPos:dr(t),gutterTotalWidth:t.gutters.offsetWidth,gutterLeft:n,gutterWidth:r,wrapperWidth:t.wrapper.clientWidth}}function dr(e){return e.scroller.getBoundingClientRect().left-e.sizer.getBoundingClientRect().left}function fr(r){var i=ur(r.display),o=r.options.lineWrapping,l=o&&Math.max(5,r.display.scroller.clientWidth/cr(r.display)-3);return function(e){if(on(r.doc,e))return 0;var t=0;if(e.widgets)for(var n=0;n<e.widgets.length;n++)e.widgets[n].height&&(t+=e.widgets[n].height);return o?t+(Math.ceil(e.text.length/l)||1)*i:t+i}}function pr(e){var t=e.doc,n=fr(e);t.iter(function(e){var t=n(e);t!=e.height&&yt(e,t)})}function gr(e,t,n,r){var i=e.display;if(!n&&\"true\"==Qe(t).getAttribute(\"cm-not-content\"))return null;var o,l,n=i.lineSpace.getBoundingClientRect();try{o=t.clientX-n.left,l=t.clientY-n.top}catch(e){return null}i=rr(e,o,l);return r&&0<i.xRel&&(t=W(e.doc,i.line).text).length==i.ch&&(n=S(t,t.length,e.options.tabSize)-t.length,i=F(i.line,Math.max(0,Math.round((o-Hn(e.display).left)/cr(e.display))-n))),i}function mr(e,t){if(t>=e.display.viewTo)return null;if((t-=e.display.viewFrom)<0)return null;for(var n=e.display.view,r=0;r<n.length;r++)if((t-=n[r].size)<0)return r}function R(e,t,n,r){null==t&&(t=e.doc.first),null==n&&(n=e.doc.first+e.doc.size);var i,o=e.display,l=((r=r||0)&&n<o.viewTo&&(null==o.updateLineNumbers||o.updateLineNumbers>t)&&(o.updateLineNumbers=t),e.curOp.viewChanged=!0,t>=o.viewTo?Gt&&nn(e.doc,t)<o.viewTo&&yr(e):n<=o.viewFrom?Gt&&rn(e.doc,n+r)>o.viewFrom?yr(e):(o.viewFrom+=r,o.viewTo+=r):t<=o.viewFrom&&n>=o.viewTo?yr(e):t<=o.viewFrom?(l=br(e,n,n+r,1))?(o.view=o.view.slice(l.index),o.viewFrom=l.lineN,o.viewTo+=r):yr(e):n>=o.viewTo?(l=br(e,t,t,-1))?(o.view=o.view.slice(0,l.index),o.viewTo=l.lineN):yr(e):(l=br(e,t,t,-1),i=br(e,n,n+r,1),l&&i?(o.view=o.view.slice(0,l.index).concat(yn(e,l.lineN,i.lineN)).concat(o.view.slice(i.index)),o.viewTo+=r):yr(e)),o.externalMeasured);l&&(n<l.lineN?l.lineN+=r:t<l.lineN+l.size&&(o.externalMeasured=null))}function vr(e,t,n){e.curOp.viewChanged=!0;var r=e.display,i=e.display.externalMeasured;i&&t>=i.lineN&&t<i.lineN+i.size&&(r.externalMeasured=null),t<r.viewFrom||t>=r.viewTo||null!=(i=r.view[mr(e,t)]).node&&-1==L(r=i.changes||(i.changes=[]),n)&&r.push(n)}function yr(e){e.display.viewFrom=e.display.viewTo=e.doc.first,e.display.view=[],e.display.viewOffset=0}function br(e,t,n,r){var i,o=mr(e,t),l=e.display.view;if(!Gt||n==e.doc.first+e.doc.size)return{index:o,lineN:n};for(var s=e.display.viewFrom,a=0;a<o;a++)s+=l[a].size;if(s!=t){if(0<r){if(o==l.length-1)return null;i=s+l[o].size-t,o++}else i=s-t;t+=i,n+=i}for(;nn(e.doc,n)!=n;){if(o==(r<0?0:l.length-1))return null;n+=r*l[o-(r<0?1:0)].size,o+=r}return{index:o,lineN:n}}function wr(e){for(var t=e.display.view,n=0,r=0;r<t.length;r++){var i=t[r];i.hidden||i.node&&!i.changes||++n}return n}function xr(e){e.display.input.showSelection(e.display.input.prepareSelection())}function Cr(e,t){void 0===t&&(t=!0);var n=e.doc,r={},i=r.cursors=document.createDocumentFragment(),o=r.selection=document.createDocumentFragment(),l=e.options.$customCursor;l&&(t=!0);for(var s,a,u,c=0;c<n.sel.ranges.length;c++)!t&&c==n.sel.primIndex||((s=n.sel.ranges[c]).from().line>=e.display.viewTo||s.to().line<e.display.viewFrom||(a=s.empty(),l?(u=l(e,s))&&Sr(e,u,i):(a||e.options.showCursorWhenSelecting)&&Sr(e,s.head,i),a||function(i,e,t){var n=i.display,o=i.doc,l=document.createDocumentFragment(),r=Hn(i.display),S=r.left,L=Math.max(n.sizerWidth,Pn(i)-n.sizer.offsetLeft)-r.right,k=\"ltr\"==o.direction;function T(e,t,n,r){t<0&&(t=0),t=Math.round(t),r=Math.round(r),l.appendChild(M(\"div\",null,\"CodeMirror-selected\",\"position: absolute; left: \"+e+\"px;\\n                             top: \"+t+\"px; width: \"+(null==n?L-e:n)+\"px;\\n                             height: \"+(r-t)+\"px\"))}function s(n,g,m){var v,y,r=W(o,n),b=r.text.length;function w(e,t){return Jn(i,F(n,e),\"div\",r,t)}function x(e,t,n){e=or(i,r,null,e),t=\"ltr\"==t==(\"after\"==n)?\"left\":\"right\";return w(\"after\"==n?e.begin:e.end-(/\\s/.test(r.text.charAt(e.end-1))?2:1),t)[t]}var C=Ve(r,o.direction);return function(e,t,n,r){if(!e)return r(t,n,\"ltr\",0);for(var i=!1,o=0;o<e.length;++o){var l=e[o];(l.from<n&&l.to>t||t==n&&l.to==t)&&(r(Math.max(l.from,t),Math.min(l.to,n),1==l.level?\"rtl\":\"ltr\",o),i=!0)}i||r(t,n,\"ltr\")}(C,g||0,null==m?b:m,function(e,t,n,r){var i,o,l,s,a,u=\"ltr\"==n,c=w(e,u?\"left\":\"right\"),h=w(t-1,u?\"right\":\"left\"),d=null==g&&0==e,f=null==m&&t==b,p=0==r,r=!C||r==C.length-1;h.top-c.top<=3?(i=(k?d:f)&&p?S:(u?c:h).left,a=(k?f:d)&&r?L:(u?h:c).right,T(i,c.top,a-i,c.bottom)):(a=u?(o=k&&d&&p?S:c.left,l=k?L:x(e,n,\"before\"),s=k?S:x(t,n,\"after\"),k&&f&&r?L:h.right):(o=k?x(e,n,\"before\"):S,l=!k&&d&&p?L:c.right,s=!k&&f&&r?S:h.left,k?x(t,n,\"after\"):L),T(o,c.top,l-o,c.bottom),c.bottom<h.top&&T(S,c.bottom,null,h.top),T(s,h.top,a-s,h.bottom)),(!v||Lr(c,v)<0)&&(v=c),Lr(h,v)<0&&(v=h),(!y||Lr(c,y)<0)&&(y=c),Lr(h,y)<0&&(y=h)}),{start:v,end:y}}n=e.from(),r=e.to();{var a;n.line==r.line?s(n.line,n.ch,r.ch):(e=W(o,n.line),a=W(o,r.line),a=tn(e)==tn(a),n=s(n.line,n.ch,a?e.text.length+1:null).end,e=s(r.line,a?0:null,r.ch).start,a&&(n.top<e.top-2?(T(n.right,n.top,null,n.bottom),T(S,e.top,e.left,e.bottom)):T(n.right,n.top,e.left-n.right,n.bottom)),n.bottom<e.top&&T(S,n.bottom,null,e.top))}t.appendChild(l)}(e,s,o)));return r}function Sr(e,t,n){var r=er(e,t,\"div\",null,null,!e.options.singleCursorHeightPerLine),i=n.appendChild(M(\"div\",\" \",\"CodeMirror-cursor\"));i.style.left=r.left+\"px\",i.style.top=r.top+\"px\",i.style.height=Math.max(0,r.bottom-r.top)*e.options.cursorHeight+\"px\",/\\bcm-fat-cursor\\b/.test(e.getWrapperElement().className)&&(t=(t=Jn(e,t,\"div\",null,null)).right-t.left,i.style.width=(0<t?t:e.defaultCharWidth())+\"px\"),r.other&&((i=n.appendChild(M(\"div\",\" \",\"CodeMirror-cursor CodeMirror-secondarycursor\"))).style.display=\"\",i.style.left=r.other.left+\"px\",i.style.top=r.other.top+\"px\",i.style.height=.85*(r.other.bottom-r.other.top)+\"px\")}function Lr(e,t){return e.top-t.top||e.left-t.left}function kr(e){var t,n;e.state.focused&&(t=e.display,clearInterval(t.blinker),n=!0,t.cursorDiv.style.visibility=\"\",0<e.options.cursorBlinkRate?t.blinker=setInterval(function(){e.hasFocus()||Or(e),t.cursorDiv.style.visibility=(n=!n)?\"\":\"hidden\"},e.options.cursorBlinkRate):e.options.cursorBlinkRate<0&&(t.cursorDiv.style.visibility=\"hidden\"))}function Tr(e){e.hasFocus()||(e.display.input.focus(),e.state.focused||Nr(e))}function Mr(e){e.state.delayingBlurEvent=!0,setTimeout(function(){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1,e.state.focused&&Or(e))},100)}function Nr(e,t){e.state.delayingBlurEvent&&!e.state.draggingText&&(e.state.delayingBlurEvent=!1),\"nocursor\"!=e.options.readOnly&&(e.state.focused||(O(e,\"focus\",e,t),e.state.focused=!0,ie(e.display.wrapper,\"CodeMirror-focused\"),e.curOp||e.display.selForContextMenu==e.doc.sel||(e.display.input.reset(),x&&setTimeout(function(){return e.display.input.reset(!0)},20)),e.display.input.receivedFocus()),kr(e))}function Or(e,t){e.state.delayingBlurEvent||(e.state.focused&&(O(e,\"blur\",e,t),e.state.focused=!1,ee(e.display.wrapper,\"CodeMirror-focused\")),clearInterval(e.display.blinker),setTimeout(function(){e.state.focused||(e.display.shift=!1)},150))}function Ar(e){for(var t=e.display,n=t.lineDiv.offsetTop,r=Math.max(0,t.scroller.getBoundingClientRect().top),i=t.lineDiv.getBoundingClientRect().top,o=0,l=0;l<t.view.length;l++){var s=t.view[l],a=e.options.lineWrapping,u=void 0,c=0;if(!s.hidden){i+=s.line.height,w&&v<8?(u=(h=s.node.offsetTop+s.node.offsetHeight)-n,n=h):(u=(h=s.node.getBoundingClientRect()).bottom-h.top,!a&&s.text.firstChild&&(c=s.text.firstChild.getBoundingClientRect().right-h.left-1));var h,a=s.line.height-u;if((.005<a||a<-.005)&&(i<r&&(o-=a),yt(s.line,u),Dr(s.line),s.rest))for(var d=0;d<s.rest.length;d++)Dr(s.rest[d]);c>e.display.sizerWidth&&((a=Math.ceil(c/cr(e.display)))>e.display.maxLineLength&&(e.display.maxLineLength=a,e.display.maxLine=s.line,e.display.maxLineChanged=!0))}}2<Math.abs(o)&&(t.scroller.scrollTop+=o)}function Dr(e){if(e.widgets)for(var t=0;t<e.widgets.length;++t){var n=e.widgets[t],r=n.node.parentNode;r&&(n.height=r.offsetHeight)}}function Wr(e,t,n){var r,i=n&&null!=n.top?Math.max(0,n.top):e.scroller.scrollTop,i=Math.floor(i-Dn(e)),o=n&&null!=n.bottom?n.bottom:i+e.wrapper.clientHeight,i=bt(t,i),o=bt(t,o);return n&&n.ensure&&(r=n.ensure.from.line,n=n.ensure.to.line,r<i?o=bt(t,ln(W(t,i=r))+e.wrapper.clientHeight):Math.min(n,t.lastLine())>=o&&(i=bt(t,ln(W(t,n))-e.wrapper.clientHeight),o=n)),{from:i,to:Math.max(o,i+1)}}function Hr(e,t){var n=e.display,r=ur(e.display),i=(t.top<0&&(t.top=0),(e.curOp&&null!=e.curOp.scrollTop?e.curOp:n.scroller).scrollTop),o=En(e),l={},s=(t.bottom-t.top>o&&(t.bottom=t.top+o),e.doc.height+Wn(n)),a=t.top<r,r=t.bottom>s-r,r=(t.top<i?l.scrollTop=a?0:t.top:t.bottom>i+o&&((a=Math.min(t.top,(r?s:t.bottom)-o))!=i&&(l.scrollTop=a)),e.options.fixedGutter?0:n.gutters.offsetWidth),s=e.curOp&&null!=e.curOp.scrollLeft?e.curOp.scrollLeft:n.scroller.scrollLeft-r,o=Pn(e)-n.gutters.offsetWidth,i=t.right-t.left>o;return i&&(t.right=t.left+o),t.left<10?l.scrollLeft=0:t.left<s?l.scrollLeft=Math.max(0,t.left+r-(i?0:10)):t.right>o+s-3&&(l.scrollLeft=t.right+(i?0:10)-o),l}function Fr(e,t){null!=t&&(Rr(e),e.curOp.scrollTop=(null==e.curOp.scrollTop?e.doc:e.curOp).scrollTop+t)}function Pr(e){Rr(e);var t=e.getCursor();e.curOp.scrollToPos={from:t,to:t,margin:e.options.cursorScrollMargin}}function Er(e,t,n){null==t&&null==n||Rr(e),null!=t&&(e.curOp.scrollLeft=t),null!=n&&(e.curOp.scrollTop=n)}function Rr(e){var t=e.curOp.scrollToPos;t&&(e.curOp.scrollToPos=null,zr(e,tr(e,t.from),tr(e,t.to),t.margin))}function zr(e,t,n,r){t=Hr(e,{left:Math.min(t.left,n.left),top:Math.min(t.top,n.top)-r,right:Math.max(t.right,n.right),bottom:Math.max(t.bottom,n.bottom)+r});Er(e,t.scrollLeft,t.scrollTop)}function Ir(e,t){Math.abs(e.doc.scrollTop-t)<2||(d||ri(e,{top:t}),Br(e,t,!0),d&&ri(e),Qr(e,100))}function Br(e,t,n){t=Math.max(0,Math.min(e.display.scroller.scrollHeight-e.display.scroller.clientHeight,t)),e.display.scroller.scrollTop==t&&!n||(e.doc.scrollTop=t,e.display.scrollbars.setScrollTop(t),e.display.scroller.scrollTop!=t&&(e.display.scroller.scrollTop=t))}function Gr(e,t,n,r){t=Math.max(0,Math.min(t,e.display.scroller.scrollWidth-e.display.scroller.clientWidth)),(n?t==e.doc.scrollLeft:Math.abs(e.doc.scrollLeft-t)<2)&&!r||(e.doc.scrollLeft=t,li(e),e.display.scroller.scrollLeft!=t&&(e.display.scroller.scrollLeft=t),e.display.scrollbars.setScrollLeft(t))}function Ur(e){var t=e.display,n=t.gutters.offsetWidth,r=Math.round(e.doc.height+Wn(e.display));return{clientHeight:t.scroller.clientHeight,viewHeight:t.wrapper.clientHeight,scrollWidth:t.scroller.scrollWidth,clientWidth:t.scroller.clientWidth,viewWidth:t.wrapper.clientWidth,barLeft:e.options.fixedGutter?n:0,docHeight:r,scrollHeight:r+Fn(e)+t.barHeight,nativeBarWidth:t.nativeBarWidth,gutterWidth:n}}function Vr(e,t,n){this.cm=n;var r=this.vert=M(\"div\",[M(\"div\",null,null,\"min-width: 1px\")],\"CodeMirror-vscrollbar\"),i=this.horiz=M(\"div\",[M(\"div\",null,null,\"height: 100%; min-height: 1px\")],\"CodeMirror-hscrollbar\");r.tabIndex=i.tabIndex=-1,e(r),e(i),k(r,\"scroll\",function(){r.clientHeight&&t(r.scrollTop,\"vertical\")}),k(i,\"scroll\",function(){i.clientWidth&&t(i.scrollLeft,\"horizontal\")}),this.checkedZeroWidth=!1,w&&v<8&&(this.horiz.style.minHeight=this.vert.style.minWidth=\"18px\")}function Kr(){}Vr.prototype.update=function(e){var t,n=e.scrollWidth>e.clientWidth+1,r=e.scrollHeight>e.clientHeight+1,i=e.nativeBarWidth;return r?(this.vert.style.display=\"block\",this.vert.style.bottom=n?i+\"px\":\"0\",t=e.viewHeight-(n?i:0),this.vert.firstChild.style.height=Math.max(0,e.scrollHeight-e.clientHeight+t)+\"px\"):(this.vert.scrollTop=0,this.vert.style.display=\"\",this.vert.firstChild.style.height=\"0\"),n?(this.horiz.style.display=\"block\",this.horiz.style.right=r?i+\"px\":\"0\",this.horiz.style.left=e.barLeft+\"px\",t=e.viewWidth-e.barLeft-(r?i:0),this.horiz.firstChild.style.width=Math.max(0,e.scrollWidth-e.clientWidth+t)+\"px\"):(this.horiz.style.display=\"\",this.horiz.firstChild.style.width=\"0\"),!this.checkedZeroWidth&&0<e.clientHeight&&(0==i&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:r?i:0,bottom:n?i:0}},Vr.prototype.setScrollLeft=function(e){this.horiz.scrollLeft!=e&&(this.horiz.scrollLeft=e),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,\"horiz\")},Vr.prototype.setScrollTop=function(e){this.vert.scrollTop!=e&&(this.vert.scrollTop=e),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,\"vert\")},Vr.prototype.zeroWidthHack=function(){this.horiz.style.height=this.vert.style.width=C&&!c?\"12px\":\"18px\",this.horiz.style.visibility=this.vert.style.visibility=\"hidden\",this.disableHoriz=new pe,this.disableVert=new pe},Vr.prototype.enableZeroWidthBar=function(n,r,i){n.style.visibility=\"\",r.set(1e3,function e(){var t=n.getBoundingClientRect();(\"vert\"==i?document.elementFromPoint(t.right-1,(t.top+t.bottom)/2):document.elementFromPoint((t.right+t.left)/2,t.bottom-1))!=n?n.style.visibility=\"hidden\":r.set(1e3,e)})},Vr.prototype.clear=function(){var e=this.horiz.parentNode;e.removeChild(this.horiz),e.removeChild(this.vert)};function jr(e,t){t=t||Ur(e);var n=e.display.barWidth,r=e.display.barHeight;Xr(e,t);for(var i=0;i<4&&n!=e.display.barWidth||r!=e.display.barHeight;i++)n!=e.display.barWidth&&e.options.lineWrapping&&Ar(e),Xr(e,Ur(e)),n=e.display.barWidth,r=e.display.barHeight}function Xr(e,t){var n=e.display,r=n.scrollbars.update(t);n.sizer.style.paddingRight=(n.barWidth=r.right)+\"px\",n.sizer.style.paddingBottom=(n.barHeight=r.bottom)+\"px\",n.heightForcer.style.borderBottom=r.bottom+\"px solid transparent\",r.right&&r.bottom?(n.scrollbarFiller.style.display=\"block\",n.scrollbarFiller.style.height=r.bottom+\"px\",n.scrollbarFiller.style.width=r.right+\"px\"):n.scrollbarFiller.style.display=\"\",r.bottom&&e.options.coverGutterNextToScrollbar&&e.options.fixedGutter?(n.gutterFiller.style.display=\"block\",n.gutterFiller.style.height=r.bottom+\"px\",n.gutterFiller.style.width=t.gutterWidth+\"px\"):n.gutterFiller.style.display=\"\"}Kr.prototype.update=function(){return{bottom:0,right:0}},Kr.prototype.setScrollLeft=function(){},Kr.prototype.setScrollTop=function(){},Kr.prototype.clear=function(){};var Yr={native:Vr,null:Kr};function $r(n){n.display.scrollbars&&(n.display.scrollbars.clear(),n.display.scrollbars.addClass&&ee(n.display.wrapper,n.display.scrollbars.addClass)),n.display.scrollbars=new Yr[n.options.scrollbarStyle](function(e){n.display.wrapper.insertBefore(e,n.display.scrollbarFiller),k(e,\"mousedown\",function(){n.state.focused&&setTimeout(function(){return n.display.input.focus()},0)}),e.setAttribute(\"cm-not-content\",\"true\")},function(e,t){(\"horizontal\"==t?Gr:Ir)(n,e)},n),n.display.scrollbars.addClass&&ie(n.display.wrapper,n.display.scrollbars.addClass)}var _r=0;function qr(e){e.curOp={cm:e,viewChanged:!1,startHeight:e.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++_r,markArrays:null},e=e.curOp,bn?bn.ops.push(e):e.ownsGroup=bn={ops:[e],delayedCallbacks:[]}}function Zr(e){e=e.curOp;if(e){var t=function(e){for(var t=0;t<e.ops.length;t++)e.ops[t].cm.curOp=null;for(var n=e.ops,r=0;r<n.length;r++){l=o=i=void 0;var i=n[r],o=i.cm,l=o.display;(function(e){var t=e.display;!t.scrollbarsClipped&&t.scroller.offsetWidth&&(t.nativeBarWidth=t.scroller.offsetWidth-t.scroller.clientWidth,t.heightForcer.style.height=Fn(e)+\"px\",t.sizer.style.marginBottom=-t.nativeBarWidth+\"px\",t.sizer.style.borderRightWidth=Fn(e)+\"px\",t.scrollbarsClipped=!0)})(o),i.updateMaxLine&&an(o),i.mustUpdate=i.viewChanged||i.forceUpdate||null!=i.scrollTop||i.scrollToPos&&(i.scrollToPos.from.line<l.viewFrom||i.scrollToPos.to.line>=l.viewTo)||l.maxLineChanged&&o.options.lineWrapping,i.update=i.mustUpdate&&new ei(o,i.mustUpdate&&{top:i.scrollTop,ensure:i.scrollToPos},i.forceUpdate)}for(var s=0;s<n.length;s++){a=void 0;var a=n[s];a.updatedDisplay=a.mustUpdate&&ti(a.cm,a.update)}for(var u=0;u<n.length;u++){c=void 0;h=void 0;d=void 0;var c=n[u];var h=c.cm,d=h.display;c.updatedDisplay&&Ar(h);c.barMeasure=Ur(h),d.maxLineChanged&&!h.options.lineWrapping&&(c.adjustWidthTo=zn(h,d.maxLine,d.maxLine.text.length).left+3,h.display.sizerWidth=c.adjustWidthTo,c.barMeasure.scrollWidth=Math.max(d.scroller.clientWidth,d.sizer.offsetLeft+c.adjustWidthTo+Fn(h)+h.display.barWidth),c.maxScrollLeft=Math.max(0,d.sizer.offsetLeft+c.adjustWidthTo-Pn(h)));(c.updatedDisplay||c.selectionChanged)&&(c.preparedSelection=d.input.prepareSelection())}for(var f=0;f<n.length;f++){p=void 0;g=void 0;m=void 0;var p=n[f];var g=p.cm;null!=p.adjustWidthTo&&(g.display.sizer.style.minWidth=p.adjustWidthTo+\"px\",p.maxScrollLeft<g.doc.scrollLeft&&Gr(g,Math.min(g.display.scroller.scrollLeft,p.maxScrollLeft),!0),g.display.maxLineChanged=!1);var m=p.focus&&p.focus==N(ue(g));p.preparedSelection&&g.display.input.showSelection(p.preparedSelection,m);!p.updatedDisplay&&p.startHeight==g.doc.height||jr(g,p.barMeasure);p.updatedDisplay&&oi(g,p.barMeasure);p.selectionChanged&&kr(g);g.state.focused&&p.updateInput&&g.display.input.reset(p.typing);m&&Tr(p.cm)}for(var v,y=0;y<n.length;y++){b=void 0;w=void 0;x=void 0;C=void 0;v=void 0;S=void 0;L=void 0;k=void 0;T=void 0;var b=n[y];var w=b.cm,x=w.display,C=w.doc;b.updatedDisplay&&ni(w,b.update);null==x.wheelStartX||null==b.scrollTop&&null==b.scrollLeft&&!b.scrollToPos||(x.wheelStartX=x.wheelStartY=null);null!=b.scrollTop&&Br(w,b.scrollTop,b.forceScroll);null!=b.scrollLeft&&Gr(w,b.scrollLeft,!0,!0);b.scrollToPos&&(v=function(e,t,n,r){null==r&&(r=0),e.options.lineWrapping||t!=n||(n=\"before\"==t.sticky?F(t.line,t.ch+1,\"before\"):t,t=t.ch?F(t.line,\"before\"==t.sticky?t.ch-1:t.ch,\"after\"):t);for(var i=0;i<5;i++){var o,l=!1,s=er(e,t),a=n&&n!=t?er(e,n):s,s=Hr(e,o={left:Math.min(s.left,a.left),top:Math.min(s.top,a.top)-r,right:Math.max(s.left,a.left),bottom:Math.max(s.bottom,a.bottom)+r}),a=e.doc.scrollTop,u=e.doc.scrollLeft;if(null!=s.scrollTop&&(Ir(e,s.scrollTop),1<Math.abs(e.doc.scrollTop-a)&&(l=!0)),null!=s.scrollLeft&&(Gr(e,s.scrollLeft),1<Math.abs(e.doc.scrollLeft-u)&&(l=!0)),!l)break}return o}(w,E(C,b.scrollToPos.from),E(C,b.scrollToPos.to),b.scrollToPos.margin),function(e,t){var n,r,i,o;A(e,\"scrollCursorIntoView\")||(o=(n=e.display).sizer.getBoundingClientRect(),r=null,i=n.wrapper.ownerDocument,t.top+o.top<0?r=!0:t.bottom+o.top>(i.defaultView.innerHeight||i.documentElement.clientHeight)&&(r=!1),null==r||X||(o=M(\"div\",\"​\",null,\"position: absolute;\\n                         top: \"+(t.top-n.viewOffset-Dn(e.display))+\"px;\\n                         height: \"+(t.bottom-t.top+Fn(e)+n.barHeight)+\"px;\\n                         left: \"+t.left+\"px; width: \"+Math.max(2,t.right-t.left)+\"px;\"),e.display.lineSpace.appendChild(o),o.scrollIntoView(r),e.display.lineSpace.removeChild(o)))}(w,v));var S=b.maybeHiddenMarkers,L=b.maybeUnhiddenMarkers;if(S)for(var k=0;k<S.length;++k)S[k].lines.length||O(S[k],\"hide\");if(L)for(var T=0;T<L.length;++T)L[T].lines.length&&O(L[T],\"unhide\");x.wrapper.offsetHeight&&(C.scrollTop=w.display.scroller.scrollTop);b.changeObjs&&O(w,\"changes\",w,b.changeObjs);b.update&&b.update.finish()}};if(e=e.ownsGroup)try{var n=e,r=n.delayedCallbacks,i=0;do{for(;i<r.length;i++)r[i].call(null);for(var o=0;o<n.ops.length;o++){var l=n.ops[o];if(l.cursorActivityHandlers)for(;l.cursorActivityCalled<l.cursorActivityHandlers.length;)l.cursorActivityHandlers[l.cursorActivityCalled++].call(null,l.cm)}}while(i<r.length)}finally{bn=null,t(e)}}}function h(e,t){if(e.curOp)return t();qr(e);try{return t()}finally{Zr(e)}}function I(e,t){return function(){if(e.curOp)return t.apply(e,arguments);qr(e);try{return t.apply(e,arguments)}finally{Zr(e)}}}function t(e){return function(){if(this.curOp)return e.apply(this,arguments);qr(this);try{return e.apply(this,arguments)}finally{Zr(this)}}}function n(t){return function(){var e=this.cm;if(!e||e.curOp)return t.apply(this,arguments);qr(e);try{return t.apply(this,arguments)}finally{Zr(e)}}}function Qr(e,t){e.doc.highlightFrontier<e.display.viewTo&&e.state.highlight.set(t,de(Jr,e))}function Jr(l){var s,a,u,c=l.doc;c.highlightFrontier>=l.display.viewTo||(s=+new Date+l.options.workTime,a=Wt(l,c.highlightFrontier),u=[],c.iter(a.line,Math.min(c.first+c.size,l.display.viewTo+500),function(e){if(a.line>=l.display.viewFrom){for(var t=e.styles,n=e.text.length>l.options.maxHighlightLength?ft(c.mode,a.state):null,r=At(l,e,a,!0),n=(n&&(a.state=n),e.styles=r.styles,e.styleClasses),r=r.classes,i=(r?e.styleClasses=r:n&&(e.styleClasses=null),!t||t.length!=e.styles.length||n!=r&&(!n||!r||n.bgClass!=r.bgClass||n.textClass!=r.textClass)),o=0;!i&&o<t.length;++o)i=t[o]!=e.styles[o];i&&u.push(a.line),e.stateAfter=a.save(),a.nextLine()}else e.text.length<=l.options.maxHighlightLength&&Ht(l,e.text,a),e.stateAfter=a.line%5==0?a.save():null,a.nextLine();if(+new Date>s)return Qr(l,l.options.workDelay),!0}),c.highlightFrontier=a.line,c.modeFrontier=Math.max(c.modeFrontier,a.line),u.length&&h(l,function(){for(var e=0;e<u.length;e++)vr(l,u[e],\"text\")}))}var ei=function(e,t,n){var r=e.display;this.viewport=t,this.visible=Wr(r,e.doc,t),this.editorIsHidden=!r.wrapper.offsetWidth,this.wrapperHeight=r.wrapper.clientHeight,this.wrapperWidth=r.wrapper.clientWidth,this.oldDisplayWidth=Pn(e),this.force=n,this.dims=hr(e),this.events=[]};function ti(e,t){var n=e.display,r=e.doc;if(t.editorIsHidden)return yr(e),!1;if(!t.force&&t.visible.from>=n.viewFrom&&t.visible.to<=n.viewTo&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo)&&n.renderedView==n.view&&0==wr(e))return!1;si(e)&&(yr(e),t.dims=hr(e));var i=r.first+r.size,o=Math.max(t.visible.from-e.options.viewportMargin,r.first),l=Math.min(i,t.visible.to+e.options.viewportMargin),r=(n.viewFrom<o&&o-n.viewFrom<20&&(o=Math.max(r.first,n.viewFrom)),n.viewTo>l&&n.viewTo-l<20&&(l=Math.min(i,n.viewTo)),Gt&&(o=nn(e.doc,o),l=rn(e.doc,l)),o!=n.viewFrom||l!=n.viewTo||n.lastWrapHeight!=t.wrapperHeight||n.lastWrapWidth!=t.wrapperWidth),i=(i=o,o=l,0==(c=(l=e).display).view.length||i>=c.viewTo||o<=c.viewFrom?(c.view=yn(l,i,o),c.viewFrom=i):(c.viewFrom>i?c.view=yn(l,i,c.viewFrom).concat(c.view):c.viewFrom<i&&(c.view=c.view.slice(mr(l,i))),c.viewFrom=i,c.viewTo<o?c.view=c.view.concat(yn(l,c.viewTo,o)):c.viewTo>o&&(c.view=c.view.slice(0,mr(l,o)))),c.viewTo=o,n.viewOffset=ln(W(e.doc,n.viewFrom)),e.display.mover.style.top=n.viewOffset+\"px\",wr(e));if(!r&&0==i&&!t.force&&n.renderedView==n.view&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo))return!1;var l=function(e){if(e.hasFocus())return null;if(!(n=N(ue(e)))||!re(e.display.lineDiv,n))return null;var t,n={activeElt:n};return window.getSelection&&(t=he(e).getSelection()).anchorNode&&t.extend&&re(e.display.lineDiv,t.anchorNode)&&(n.anchorNode=t.anchorNode,n.anchorOffset=t.anchorOffset,n.focusNode=t.focusNode,n.focusOffset=t.focusOffset),n}(e),s=(4<i&&(n.lineDiv.style.display=\"none\"),e),a=n.updateLineNumbers,u=t.dims,c=s.display,h=s.options.lineNumbers,d=c.lineDiv,f=d.firstChild;function p(e){var t=e.nextSibling;return x&&C&&s.display.currentWheelTarget==e?e.style.display=\"none\":e.parentNode.removeChild(e),t}for(var g=c.view,m=c.viewFrom,v=0;v<g.length;v++){var y=g[v];if(!y.hidden)if(y.node&&y.node.parentNode==d){for(;f!=y.node;)f=p(f);var b=h&&null!=a&&a<=m&&y.lineNumber;y.changes&&(-1<L(y.changes,\"gutter\")&&(b=!1),Cn(s,y,m,u)),b&&(te(y.lineNumber),y.lineNumber.appendChild(document.createTextNode(xt(s.options,m)))),f=y.node.nextSibling}else{b=function(e,t,n,r){var i=Ln(e,t);return t.text=t.node=i.pre,i.bgClass&&(t.bgClass=i.bgClass),i.textClass&&(t.textClass=i.textClass),kn(e,t),Tn(e,t,n,r),Mn(e,t,r),t.node}(s,y,m,u);d.insertBefore(b,f)}m+=y.size}for(;f;)f=p(f);return 4<i&&(n.lineDiv.style.display=\"\"),n.renderedView=n.view,(o=l)&&o.activeElt&&o.activeElt!=N(ce(o.activeElt))&&(o.activeElt.focus(),!/^(INPUT|TEXTAREA)$/.test(o.activeElt.nodeName)&&o.anchorNode&&re(document.body,o.anchorNode)&&re(document.body,o.focusNode)&&(i=(c=o.activeElt.ownerDocument).defaultView.getSelection(),(c=c.createRange()).setEnd(o.anchorNode,o.anchorOffset),c.collapse(!1),i.removeAllRanges(),i.addRange(c),i.extend(o.focusNode,o.focusOffset))),te(n.cursorDiv),te(n.selectionDiv),n.gutters.style.height=n.sizer.style.minHeight=0,r&&(n.lastWrapHeight=t.wrapperHeight,n.lastWrapWidth=t.wrapperWidth,Qr(e,400)),!(n.updateLineNumbers=null)}function ni(e,t){for(var n=t.viewport,r=!0;;r=!1){if(r&&e.options.lineWrapping&&t.oldDisplayWidth!=Pn(e))r&&(t.visible=Wr(e.display,e.doc,n));else if(n&&null!=n.top&&(n={top:Math.min(e.doc.height+Wn(e.display)-En(e),n.top)}),t.visible=Wr(e.display,e.doc,n),t.visible.from>=e.display.viewFrom&&t.visible.to<=e.display.viewTo)break;if(!ti(e,t))break;Ar(e);var i=Ur(e);xr(e),jr(e,i),oi(e,i),t.force=!1}t.signal(e,\"update\",e),e.display.viewFrom==e.display.reportedViewFrom&&e.display.viewTo==e.display.reportedViewTo||(t.signal(e,\"viewportChange\",e,e.display.viewFrom,e.display.viewTo),e.display.reportedViewFrom=e.display.viewFrom,e.display.reportedViewTo=e.display.viewTo)}function ri(e,t){var n,t=new ei(e,t);ti(e,t)&&(Ar(e),ni(e,t),n=Ur(e),xr(e),jr(e,n),oi(e,n),t.finish())}function ii(e){var t=e.gutters.offsetWidth;e.sizer.style.marginLeft=t+\"px\",b(e,\"gutterChanged\",e)}function oi(e,t){e.display.sizer.style.minHeight=t.docHeight+\"px\",e.display.heightForcer.style.top=t.docHeight+\"px\",e.display.gutters.style.height=t.docHeight+e.display.barHeight+Fn(e)+\"px\"}function li(e){var t=e.display,n=t.view;if(t.alignWidgets||t.gutters.firstChild&&e.options.fixedGutter){for(var r=dr(t)-t.scroller.scrollLeft+e.doc.scrollLeft,i=t.gutters.offsetWidth,o=r+\"px\",l=0;l<n.length;l++)if(!n[l].hidden){e.options.fixedGutter&&(n[l].gutter&&(n[l].gutter.style.left=o),n[l].gutterBackground&&(n[l].gutterBackground.style.left=o));var s=n[l].alignable;if(s)for(var a=0;a<s.length;a++)s[a].style.left=o}e.options.fixedGutter&&(t.gutters.style.left=r+i+\"px\")}}function si(e){var t,n,r,i;if(e.options.lineNumbers)return t=e.doc,t=xt(e.options,t.first+t.size-1),n=e.display,t.length!=n.lineNumChars?(r=(i=n.measure.appendChild(M(\"div\",[M(\"div\",t)],\"CodeMirror-linenumber CodeMirror-gutter-elt\"))).firstChild.offsetWidth,i=i.offsetWidth-r,n.lineGutter.style.width=\"\",n.lineNumInnerWidth=Math.max(r,n.lineGutter.offsetWidth-i)+1,n.lineNumWidth=n.lineNumInnerWidth+i,n.lineNumChars=n.lineNumInnerWidth?t.length:-1,n.lineGutter.style.width=n.lineNumWidth+\"px\",ii(e.display),1):void 0}function ai(e,t){for(var n=[],r=!1,i=0;i<e.length;i++){var o=e[i],l=null;if(\"string\"!=typeof o&&(l=o.style,o=o.className),\"CodeMirror-linenumbers\"==o){if(!t)continue;r=!0}n.push({className:o,style:l})}return t&&!r&&n.push({className:\"CodeMirror-linenumbers\",style:null}),n}function ui(e){var t=e.gutters,n=e.gutterSpecs;te(t),e.lineGutter=null;for(var r=0;r<n.length;++r){var i=n[r],o=i.className,i=i.style,l=t.appendChild(M(\"div\",null,\"CodeMirror-gutter \"+o));i&&(l.style.cssText=i),\"CodeMirror-linenumbers\"==o&&((e.lineGutter=l).style.width=(e.lineNumWidth||1)+\"px\")}t.style.display=n.length?\"\":\"none\",ii(e)}function ci(e){ui(e.display),R(e),li(e)}function hi(e,t,n,r){var i=this,o=(this.input=n,i.scrollbarFiller=M(\"div\",null,\"CodeMirror-scrollbar-filler\"),i.scrollbarFiller.setAttribute(\"cm-not-content\",\"true\"),i.gutterFiller=M(\"div\",null,\"CodeMirror-gutter-filler\"),i.gutterFiller.setAttribute(\"cm-not-content\",\"true\"),i.lineDiv=ne(\"div\",null,\"CodeMirror-code\"),i.selectionDiv=M(\"div\",null,null,\"position: relative; z-index: 1\"),i.cursorDiv=M(\"div\",null,\"CodeMirror-cursors\"),i.measure=M(\"div\",null,\"CodeMirror-measure\"),i.lineMeasure=M(\"div\",null,\"CodeMirror-measure\"),i.lineSpace=ne(\"div\",[i.measure,i.lineMeasure,i.selectionDiv,i.cursorDiv,i.lineDiv],null,\"position: relative; outline: none\"),ne(\"div\",[i.lineSpace],\"CodeMirror-lines\"));i.mover=M(\"div\",[o],null,\"position: relative\"),i.sizer=M(\"div\",[i.mover],\"CodeMirror-sizer\"),i.sizerWidth=null,i.heightForcer=M(\"div\",null,null,\"position: absolute; height: \"+ge+\"px; width: 1px;\"),i.gutters=M(\"div\",null,\"CodeMirror-gutters\"),i.lineGutter=null,i.scroller=M(\"div\",[i.sizer,i.heightForcer,i.gutters],\"CodeMirror-scroll\"),i.scroller.setAttribute(\"tabIndex\",\"-1\"),i.wrapper=M(\"div\",[i.scrollbarFiller,i.gutterFiller,i.scroller],\"CodeMirror\"),m&&105<=V&&(i.wrapper.style.clipPath=\"inset(0px)\"),i.wrapper.setAttribute(\"translate\",\"no\"),w&&v<8&&(i.gutters.style.zIndex=-1,i.scroller.style.paddingRight=0),x||d&&_||(i.scroller.draggable=!0),e&&(e.appendChild?e.appendChild(i.wrapper):e(i.wrapper)),i.viewFrom=i.viewTo=t.first,i.reportedViewFrom=i.reportedViewTo=t.first,i.view=[],i.renderedView=null,i.externalMeasured=null,i.viewOffset=0,i.lastWrapHeight=i.lastWrapWidth=0,i.updateLineNumbers=null,i.nativeBarWidth=i.barHeight=i.barWidth=0,i.scrollbarsClipped=!1,i.lineNumWidth=i.lineNumInnerWidth=i.lineNumChars=null,i.alignWidgets=!1,i.cachedCharWidth=i.cachedTextHeight=i.cachedPaddingH=null,i.maxLine=null,i.maxLineLength=0,i.maxLineChanged=!1,i.wheelDX=i.wheelDY=i.wheelStartX=i.wheelStartY=null,i.shift=!1,i.selForContextMenu=null,i.activeTouch=null,i.gutterSpecs=ai(r.gutters,r.lineNumbers),ui(i),n.init(i)}ei.prototype.signal=function(e,t){Ye(e,t)&&this.events.push(arguments)},ei.prototype.finish=function(){for(var e=0;e<this.events.length;e++)O.apply(null,this.events[e])};var di=0,fi=null;function pi(e){var t=e.wheelDeltaX,n=e.wheelDeltaY;return null==t&&e.detail&&e.axis==e.HORIZONTAL_AXIS&&(t=e.detail),null==n&&e.detail&&e.axis==e.VERTICAL_AXIS?n=e.detail:null==n&&(n=e.wheelDelta),{x:t,y:n}}function gi(e){e=pi(e);return e.x*=fi,e.y*=fi,e}function mi(e,t){m&&102==V&&(null==e.display.chromeScrollHack?e.display.sizer.style.pointerEvents=\"none\":clearTimeout(e.display.chromeScrollHack),e.display.chromeScrollHack=setTimeout(function(){e.display.chromeScrollHack=null,e.display.sizer.style.pointerEvents=\"\"},100));var n=pi(t),r=n.x,n=n.y,i=fi,o=(0===t.deltaMode&&(r=t.deltaX,n=t.deltaY,i=1),e.display),l=o.scroller,s=l.scrollWidth>l.clientWidth,a=l.scrollHeight>l.clientHeight;if(r&&s||n&&a){if(n&&C&&x)e:for(var u=t.target,c=o.view;u!=l;u=u.parentNode)for(var h=0;h<c.length;h++)if(c[h].node==u){e.display.currentWheelTarget=u;break e}if(r&&!d&&!K&&null!=i)return n&&a&&Ir(e,Math.max(0,l.scrollTop+n*i)),Gr(e,Math.max(0,l.scrollLeft+r*i)),n&&!a||D(t),void(o.wheelStartX=null);n&&null!=i&&(a=(s=e.doc.scrollTop)+o.wrapper.clientHeight,(i=n*i)<0?s=Math.max(0,s+i-50):a=Math.min(e.doc.height,a+i+50),ri(e,{top:s,bottom:a})),di<20&&0!==t.deltaMode&&(null==o.wheelStartX?(o.wheelStartX=l.scrollLeft,o.wheelStartY=l.scrollTop,o.wheelDX=r,o.wheelDY=n,setTimeout(function(){var e,t;null!=o.wheelStartX&&(e=l.scrollLeft-o.wheelStartX,t=(t=l.scrollTop-o.wheelStartY)&&o.wheelDY&&t/o.wheelDY||e&&o.wheelDX&&e/o.wheelDX,o.wheelStartX=o.wheelStartY=null,t&&(fi=(fi*di+t)/(di+1),++di))},200)):(o.wheelDX+=r,o.wheelDY+=n))}}w?fi=-.53:d?fi=15:m?fi=-.7:j&&(fi=-1/3);var B=function(e,t){this.ranges=e,this.primIndex=t},G=(B.prototype.primary=function(){return this.ranges[this.primIndex]},B.prototype.equals=function(e){if(e==this)return!0;if(e.primIndex!=this.primIndex||e.ranges.length!=this.ranges.length)return!1;for(var t=0;t<this.ranges.length;t++){var n=this.ranges[t],r=e.ranges[t];if(!Ct(n.anchor,r.anchor)||!Ct(n.head,r.head))return!1}return!0},B.prototype.deepCopy=function(){for(var e=[],t=0;t<this.ranges.length;t++)e[t]=new G(St(this.ranges[t].anchor),St(this.ranges[t].head));return new B(e,this.primIndex)},B.prototype.somethingSelected=function(){for(var e=0;e<this.ranges.length;e++)if(!this.ranges[e].empty())return!0;return!1},B.prototype.contains=function(e,t){t=t||e;for(var n=0;n<this.ranges.length;n++){var r=this.ranges[n];if(0<=P(t,r.from())&&P(e,r.to())<=0)return n}return-1},function(e,t){this.anchor=e,this.head=t});function vi(e,t,n){var r=e&&e.options.selectionsMayTouch,e=t[n];t.sort(function(e,t){return P(e.from(),t.from())}),n=L(t,e);for(var i=1;i<t.length;i++){var o,l=t[i],s=t[i-1],a=P(s.to(),l.from());(r&&!l.empty()?0<a:0<=a)&&(a=kt(s.from(),l.from()),o=Lt(s.to(),l.to()),l=s.empty()?l.from()==l.head:s.from()==s.head,i<=n&&--n,t.splice(--i,2,new G(l?o:a,l?a:o)))}return new B(t,n)}function yi(e,t){return new B([new G(e,t||e)],0)}function bi(e){return e.text?F(e.from.line+e.text.length-1,z(e.text).length+(1==e.text.length?e.from.ch:0)):e.to}function wi(e,t){if(P(e,t.from)<0)return e;if(P(e,t.to)<=0)return bi(t);var n=e.line+t.text.length-(t.to.line-t.from.line)-1,r=e.ch;return e.line==t.to.line&&(r+=bi(t).ch-t.to.ch),F(n,r)}function xi(e,t){for(var n=[],r=0;r<e.sel.ranges.length;r++){var i=e.sel.ranges[r];n.push(new G(wi(i.anchor,t),wi(i.head,t)))}return vi(e.cm,n,e.sel.primIndex)}function Ci(e,t,n){return e.line==t.line?F(n.line,e.ch-t.ch+n.ch):F(n.line+(e.line-t.line),e.ch)}function Si(e){e.doc.mode=ct(e.options,e.doc.modeOption),Li(e)}function Li(e){e.doc.iter(function(e){e.stateAfter&&(e.stateAfter=null),e.styles&&(e.styles=null)}),e.doc.modeFrontier=e.doc.highlightFrontier=e.doc.first,Qr(e,100),e.state.modeGen++,e.curOp&&R(e)}function ki(e,t){return 0==t.from.ch&&0==t.to.ch&&\"\"==z(t.text)&&(!e.cm||e.cm.options.wholeLineUpdateBefore)}function Ti(e,o,t,l){function i(e){return t?t[e]:null}function n(e,t,n){var r,i;t=t,n=n,i=l,(r=e).text=t,r.stateAfter&&(r.stateAfter=null),r.styles&&(r.styles=null),null!=r.order&&(r.order=null),Xt(r),Yt(r,n),(t=i?i(r):1)!=r.height&&yt(r,t),b(e,\"change\",e,o)}function r(e,t){for(var n=[],r=e;r<t;++r)n.push(new un(c[r],i(r),l));return n}var s,a=o.from,u=o.to,c=o.text,h=W(e,a.line),d=W(e,u.line),f=z(c),p=i(c.length-1),g=u.line-a.line;o.full?(e.insert(0,r(0,c.length)),e.remove(c.length,e.size-c.length)):ki(e,o)?(s=r(0,c.length-1),n(d,d.text,p),g&&e.remove(a.line,g),s.length&&e.insert(a.line,s)):h==d?1==c.length?n(h,h.text.slice(0,a.ch)+f+h.text.slice(u.ch),p):((s=r(1,c.length-1)).push(new un(f+h.text.slice(u.ch),p,l)),n(h,h.text.slice(0,a.ch)+c[0],i(0)),e.insert(a.line+1,s)):1==c.length?(n(h,h.text.slice(0,a.ch)+c[0]+d.text.slice(u.ch),i(0)),e.remove(a.line+1,g)):(n(h,h.text.slice(0,a.ch)+c[0],i(0)),n(d,f+d.text.slice(u.ch),p),s=r(1,c.length-1),1<g&&e.remove(a.line+1,g-1),e.insert(a.line+1,s)),b(e,\"change\",e,o)}function Mi(e,s,a){!function e(t,n,r){if(t.linked)for(var i=0;i<t.linked.length;++i){var o,l=t.linked[i];l.doc!=n&&(o=r&&l.sharedHist,a&&!o||(s(l.doc,o),e(l.doc,t,o)))}}(e,null,!0)}function Ni(e,t){if(t.cm)throw new Error(\"This document is already in use.\");pr((e.doc=t).cm=e),Si(e),Oi(e),e.options.direction=t.direction,e.options.lineWrapping||an(e),e.options.mode=t.modeOption,R(e)}function Oi(e){(\"rtl\"==e.doc.direction?ie:ee)(e.display.lineDiv,\"CodeMirror-rtl\")}function Ai(e){this.done=[],this.undone=[],this.undoDepth=e?e.undoDepth:1/0,this.lastModTime=this.lastSelTime=0,this.lastOp=this.lastSelOp=null,this.lastOrigin=this.lastSelOrigin=null,this.generation=this.maxGeneration=e?e.maxGeneration:1}function Di(e,t){var n={from:St(t.from),to:bi(t),text:mt(e,t.from,t.to)};return Ei(e,n,t.from.line,t.to.line+1),Mi(e,function(e){return Ei(e,n,t.from.line,t.to.line+1)},!0),n}function Wi(e){for(;e.length;){if(!z(e).ranges)break;e.pop()}}function Hi(e,t,n,r){var i,o,l=e.history,s=(l.undone.length=0,+new Date);if((l.lastOp==r||l.lastOrigin==t.origin&&t.origin&&(\"+\"==t.origin.charAt(0)&&l.lastModTime>s-(e.cm?e.cm.options.historyEventDelay:500)||\"*\"==t.origin.charAt(0)))&&(o=(o=l).lastOp==r?(Wi(o.done),z(o.done)):o.done.length&&!z(o.done).ranges?z(o.done):1<o.done.length&&!o.done[o.done.length-2].ranges?(o.done.pop(),z(o.done)):void 0))i=z(o.changes),0==P(t.from,t.to)&&0==P(t.from,i.to)?i.to=bi(t):o.changes.push(Di(e,t));else{var a=z(l.done);for(a&&a.ranges||Pi(e.sel,l.done),o={changes:[Di(e,t)],generation:l.generation},l.done.push(o);l.done.length>l.undoDepth;)l.done.shift(),l.done[0].ranges||l.done.shift()}l.done.push(n),l.generation=++l.maxGeneration,l.lastModTime=l.lastSelTime=s,l.lastOp=l.lastSelOp=r,l.lastOrigin=l.lastSelOrigin=t.origin,i||O(e,\"historyAdded\")}function Fi(e,t,n,r){var i,o,l,s=e.history,a=r&&r.origin;n==s.lastSelOp||a&&s.lastSelOrigin==a&&(s.lastModTime==s.lastSelTime&&s.lastOrigin==a||(e=e,i=a,o=z(s.done),l=t,\"*\"==(i=i.charAt(0))||\"+\"==i&&o.ranges.length==l.ranges.length&&o.somethingSelected()==l.somethingSelected()&&new Date-e.history.lastSelTime<=(e.cm?e.cm.options.historyEventDelay:500)))?s.done[s.done.length-1]=t:Pi(t,s.done),s.lastSelTime=+new Date,s.lastSelOrigin=a,s.lastSelOp=n,r&&!1!==r.clearRedo&&Wi(s.undone)}function Pi(e,t){var n=z(t);n&&n.ranges&&n.equals(e)||t.push(e)}function Ei(t,n,e,r){var i=n[\"spans_\"+t.id],o=0;t.iter(Math.max(t.first,e),Math.min(t.first+t.size,r),function(e){e.markedSpans&&((i=i||(n[\"spans_\"+t.id]={}))[o]=e.markedSpans),++o})}function Ri(e,t){var n=t[\"spans_\"+e.id];if(!n)return null;for(var r=[],i=0;i<t.text.length;++i)r.push(function(e){if(!e)return null;for(var t,n=0;n<e.length;++n)e[n].marker.explicitlyCleared?t=t||e.slice(0,n):t&&t.push(e[n]);return t?t.length?t:null:e}(n[i]));return r}function zi(e,t){var n=Ri(e,t),r=Kt(e,t);if(!n)return r;if(!r)return n;for(var i=0;i<n.length;++i){var o=n[i],l=r[i];if(o&&l)e:for(var s=0;s<l.length;++s){for(var a=l[s],u=0;u<o.length;++u)if(o[u].marker==a.marker)continue e;o.push(a)}else l&&(n[i]=l)}return n}function Ii(e,t,n){for(var r=[],i=0;i<e.length;++i){var o=e[i];if(o.ranges)r.push(n?B.prototype.deepCopy.call(o):o);else{var l=o.changes,s=[];r.push({changes:s});for(var a=0;a<l.length;++a){var u,c=l[a];if(s.push({from:c.from,to:c.to,text:c.text}),t)for(var h in c)(u=h.match(/^spans_(\\d+)$/))&&-1<L(t,Number(u[1]))&&(z(s)[h]=c[h],delete c[h])}}}return r}function Bi(e,t,n,r){return r?(r=e.anchor,n&&((e=P(t,r)<0)!=P(n,r)<0?(r=t,t=n):e!=P(t,n)<0&&(t=n)),new G(r,t)):new G(n||t,t)}function Gi(e,t,n,r,i){null==i&&(i=e.cm&&(e.cm.display.shift||e.extend)),U(e,new B([Bi(e.sel.primary(),t,n,i)],0),r)}function Ui(e,t,n){for(var r=[],i=e.cm&&(e.cm.display.shift||e.extend),o=0;o<e.sel.ranges.length;o++)r[o]=Bi(e.sel.ranges[o],t[o],null,i);U(e,vi(e.cm,r,e.sel.primIndex),n)}function Vi(e,t,n,r){var i=e.sel.ranges.slice(0);i[t]=n,U(e,vi(e.cm,i,e.sel.primIndex),r)}function Ki(e,t,n,r){U(e,yi(t,n),r)}function ji(e,t,n){var r=e.history.done,i=z(r);i&&i.ranges?Xi(e,r[r.length-1]=t,n):U(e,t,n)}function U(e,t,n){Xi(e,t,n),Fi(e,e.sel,e.cm?e.cm.curOp.id:NaN,n)}function Xi(e,t,n){(Ye(e,\"beforeSelectionChange\")||e.cm&&Ye(e.cm,\"beforeSelectionChange\"))&&(r=e,o=n,o={ranges:(i=t).ranges,update:function(e){this.ranges=[];for(var t=0;t<e.length;t++)this.ranges[t]=new G(E(r,e[t].anchor),E(r,e[t].head))},origin:o&&o.origin},O(r,\"beforeSelectionChange\",r,o),r.cm&&O(r.cm,\"beforeSelectionChange\",r.cm,o),t=o.ranges!=i.ranges?vi(r.cm,o.ranges,o.ranges.length-1):i);var r,i,o=n&&n.bias||(P(t.primary().head,e.sel.primary().head)<0?-1:1);Yi(e,_i(e,t,o,!0)),n&&!1===n.scroll||!e.cm||\"nocursor\"==e.cm.getOption(\"readOnly\")||Pr(e.cm)}function Yi(e,t){t.equals(e.sel)||(e.sel=t,e.cm&&(e.cm.curOp.updateInput=1,e.cm.curOp.selectionChanged=!0,Xe(e.cm)),b(e,\"cursorActivity\",e))}function $i(e){Yi(e,_i(e,e.sel,null,!1))}function _i(e,t,n,r){for(var i,o=0;o<t.ranges.length;o++){var l=t.ranges[o],s=t.ranges.length==e.sel.ranges.length&&e.sel.ranges[o],a=Zi(e,l.anchor,s&&s.anchor,n,r),s=l.head==l.anchor?a:Zi(e,l.head,s&&s.head,n,r);!i&&a==l.anchor&&s==l.head||((i=i||t.ranges.slice(0,o))[o]=new G(a,s))}return i?vi(e.cm,i,t.primIndex):t}function qi(e,t,n,r,i){var o=W(e,t.line);if(o.markedSpans)for(var l=0;l<o.markedSpans.length;++l){var s=o.markedSpans[l],a=s.marker,u=\"selectLeft\"in a?!a.selectLeft:a.inclusiveLeft,c=\"selectRight\"in a?!a.selectRight:a.inclusiveRight;if((null==s.from||(u?s.from<=t.ch:s.from<t.ch))&&(null==s.to||(c?s.to>=t.ch:s.to>t.ch))){if(i&&(O(a,\"beforeCursorEnter\"),a.explicitlyCleared)){if(o.markedSpans){--l;continue}break}if(a.atomic){if(n){var s=a.find(r<0?1:-1),h=void 0;if((s=(r<0?c:u)?Qi(e,s,-r,s&&s.line==t.line?o:null):s)&&s.line==t.line&&(h=P(s,n))&&(r<0?h<0:0<h))return qi(e,s,t,r,i)}h=a.find(r<0?-1:1);return(h=(r<0?u:c)?Qi(e,h,r,h.line==t.line?o:null):h)?qi(e,h,t,r,i):null}}}return t}function Zi(e,t,n,r,i){r=r||1,i=qi(e,t,n,r,i)||!i&&qi(e,t,n,r,!0)||qi(e,t,n,-r,i)||!i&&qi(e,t,n,-r,!0);return i||(e.cantEdit=!0,F(e.first,0))}function Qi(e,t,n,r){return n<0&&0==t.ch?t.line>e.first?E(e,F(t.line-1)):null:0<n&&t.ch==(r||W(e,t.line)).text.length?t.line<e.first+e.size-1?F(t.line+1,0):null:new F(t.line,t.ch+n)}function Ji(e){e.setSelection(F(e.firstLine(),0),F(e.lastLine()),ve)}function eo(i,e,t){var o={canceled:!1,from:e.from,to:e.to,text:e.text,origin:e.origin,cancel:function(){return o.canceled=!0}};return t&&(o.update=function(e,t,n,r){e&&(o.from=E(i,e)),t&&(o.to=E(i,t)),n&&(o.text=n),void 0!==r&&(o.origin=r)}),O(i,\"beforeChange\",i,o),i.cm&&O(i.cm,\"beforeChange\",i.cm,o),o.canceled?(i.cm&&(i.cm.curOp.updateInput=2),null):{from:o.from,to:o.to,text:o.text,origin:o.origin}}function to(e,t,n){if(e.cm){if(!e.cm.curOp)return I(e.cm,to)(e,t,n);if(e.cm.state.suppressEdits)return}if(!(Ye(e,\"beforeChange\")||e.cm&&Ye(e.cm,\"beforeChange\"))||(t=eo(e,t,!0))){var r=Bt&&!n&&function(e,t,n){var r=null;if(e.iter(t.line,n.line+1,function(e){if(e.markedSpans)for(var t=0;t<e.markedSpans.length;++t){var n=e.markedSpans[t].marker;!n.readOnly||r&&-1!=L(r,n)||(r=r||[]).push(n)}}),!r)return null;for(var i=[{from:t,to:n}],o=0;o<r.length;++o)for(var l=r[o],s=l.find(0),a=0;a<i.length;++a){var u,c,h,d=i[a];P(d.to,s.from)<0||0<P(d.from,s.to)||(u=[a,1],c=P(d.from,s.from),h=P(d.to,s.to),(c<0||!l.inclusiveLeft&&!c)&&u.push({from:d.from,to:s.from}),(0<h||!l.inclusiveRight&&!h)&&u.push({from:s.to,to:d.to}),i.splice.apply(i,u),a+=u.length-3)}return i}(e,t.from,t.to);if(r)for(var i=r.length-1;0<=i;--i)no(e,{from:r[i].from,to:r[i].to,text:i?[\"\"]:t.text,origin:t.origin});else no(e,t)}}function no(e,n){var t,r;1==n.text.length&&\"\"==n.text[0]&&0==P(n.from,n.to)||(t=xi(e,n),Hi(e,n,t,e.cm?e.cm.curOp.id:NaN),oo(e,n,t,Kt(e,n)),r=[],Mi(e,function(e,t){t||-1!=L(r,e.history)||(uo(e.history,n),r.push(e.history)),oo(e,n,null,Kt(e,n))}))}function ro(i,o,e){var t=i.cm&&i.cm.state.suppressEdits;if(!t||e){for(var l,n=i.history,r=i.sel,s=\"undo\"==o?n.done:n.undone,a=\"undo\"==o?n.undone:n.done,u=0;u<s.length&&(l=s[u],e?!l.ranges||l.equals(i.sel):l.ranges);u++);if(u!=s.length){for(n.lastOrigin=n.lastSelOrigin=null;;){if(!(l=s.pop()).ranges){if(t)return void s.push(l);break}if(Pi(l,a),e&&!l.equals(i.sel))return void U(i,l,{clearRedo:!1});r=l}for(var c=[],h=(Pi(r,a),a.push({changes:c,generation:n.generation}),n.generation=l.generation||++n.maxGeneration,Ye(i,\"beforeChange\")||i.cm&&Ye(i.cm,\"beforeChange\")),d=l.changes.length-1;0<=d;--d){var f=function(e){var n=l.changes[e];if(n.origin=o,h&&!eo(i,n,!1))return s.length=0,{};c.push(Di(i,n));var t=e?xi(i,n):z(s),r=(oo(i,n,t,zi(i,n)),!e&&i.cm&&i.cm.scrollIntoView({from:n.from,to:bi(n)}),[]);Mi(i,function(e,t){t||-1!=L(r,e.history)||(uo(e.history,n),r.push(e.history)),oo(e,n,null,zi(e,n))})}(d);if(f)return f.v}}}}function io(e,t){if(0!=t&&(e.first+=t,e.sel=new B(Se(e.sel.ranges,function(e){return new G(F(e.anchor.line+t,e.anchor.ch),F(e.head.line+t,e.head.ch))}),e.sel.primIndex),e.cm)){R(e.cm,e.first,e.first-t,t);for(var n=e.cm.display,r=n.viewFrom;r<n.viewTo;r++)vr(e.cm,r,\"gutter\")}}function oo(e,t,n,r){if(e.cm&&!e.cm.curOp)return I(e.cm,oo)(e,t,n,r);if(t.to.line<e.first)io(e,t.text.length-1-(t.to.line-t.from.line));else if(!(t.from.line>e.lastLine())){t.from.line<e.first&&(io(e,i=t.text.length-1-(e.first-t.from.line)),t={from:F(e.first,0),to:F(t.to.line+i,t.to.ch),text:[z(t.text)],origin:t.origin});var i=e.lastLine();if((t=t.to.line>i?{from:t.from,to:F(i,W(e,i).text.length),text:[t.text[0]],origin:t.origin}:t).removed=mt(e,t.from,t.to),n=n||xi(e,t),e.cm){var i=e.cm,o=t,l=r,s=i.doc,a=i.display,u=o.from,c=o.to,h=!1,d=u.line,f=(i.options.lineWrapping||(d=H(tn(W(s,u.line))),s.iter(d,c.line+1,function(e){if(e==a.maxLine)return h=!0})),-1<s.sel.contains(o.from,o.to)&&Xe(i),Ti(s,o,l,fr(i)),i.options.lineWrapping||(s.iter(d,u.line+o.text.length,function(e){var t=sn(e);t>a.maxLineLength&&(a.maxLine=e,a.maxLineLength=t,a.maxLineChanged=!0,h=!1)}),h&&(i.curOp.updateMaxLine=!0)),s),p=u.line;if(f.modeFrontier=Math.min(f.modeFrontier,p),!(f.highlightFrontier<p-10)){for(var g=f.first,m=p-1;g<m;m--){var v=W(f,m).stateAfter;if(v&&(!(v instanceof Nt)||m+v.lookAhead<p)){g=m+1;break}}f.highlightFrontier=Math.min(f.highlightFrontier,g)}Qr(i,400),l=o.text.length-(c.line-u.line)-1,o.full?R(i):u.line!=c.line||1!=o.text.length||ki(i.doc,o)?R(i,u.line,c.line+1,l):vr(i,u.line,\"text\"),d=Ye(i,\"changes\"),((s=Ye(i,\"change\"))||d)&&(l={from:u,to:c,text:o.text,removed:o.removed,origin:o.origin},s&&b(i,\"change\",i,l),d&&(i.curOp.changeObjs||(i.curOp.changeObjs=[])).push(l)),i.display.selForContextMenu=null}else Ti(e,t,r);Xi(e,n,ve),e.cantEdit&&Zi(e,F(e.firstLine(),0))&&(e.cantEdit=!1)}}function lo(e,t,n,r,i){var o;P(r=r||n,n)<0&&(n=(o=[r,n])[0],r=o[1]),\"string\"==typeof t&&(t=e.splitLines(t)),to(e,{from:n,to:r,text:t,origin:i})}function so(e,t,n,r){n<e.line?e.line+=r:t<e.line&&(e.line=t,e.ch=0)}function ao(e,t,n,r){for(var i=0;i<e.length;++i){var o=e[i],l=!0;if(o.ranges){o.copied||((o=e[i]=o.deepCopy()).copied=!0);for(var s=0;s<o.ranges.length;s++)so(o.ranges[s].anchor,t,n,r),so(o.ranges[s].head,t,n,r)}else{for(var a=0;a<o.changes.length;++a){var u=o.changes[a];if(n<u.from.line)u.from=F(u.from.line+r,u.from.ch),u.to=F(u.to.line+r,u.to.ch);else if(t<=u.to.line){l=!1;break}}l||(e.splice(0,i+1),i=0)}}}function uo(e,t){var n=t.from.line,r=t.to.line,t=t.text.length-(r-n)-1;ao(e.done,n,r,t),ao(e.undone,n,r,t)}function co(e,t,n,r){var i=t,o=t;return\"number\"==typeof t?o=W(e,Tt(e,t)):i=H(t),null==i?null:(r(o,i)&&e.cm&&vr(e.cm,i,n),o)}function ho(e){this.lines=e,this.parent=null;for(var t=0,n=0;n<e.length;++n)e[n].parent=this,t+=e[n].height;this.height=t}function fo(e){this.children=e;for(var t=0,n=0,r=0;r<e.length;++r){var i=e[r];t+=i.chunkSize(),n+=i.height,i.parent=this}this.size=t,this.height=n,this.parent=null}G.prototype.from=function(){return kt(this.anchor,this.head)},G.prototype.to=function(){return Lt(this.anchor,this.head)},G.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch},ho.prototype={chunkSize:function(){return this.lines.length},removeInner:function(e,t){for(var n,r=e,i=e+t;r<i;++r){var o=this.lines[r];this.height-=o.height,(n=o).parent=null,Xt(n),b(o,\"delete\")}this.lines.splice(e,t)},collapse:function(e){e.push.apply(e,this.lines)},insertInner:function(e,t,n){this.height+=n,this.lines=this.lines.slice(0,e).concat(t).concat(this.lines.slice(e));for(var r=0;r<t.length;++r)t[r].parent=this},iterN:function(e,t,n){for(var r=e+t;e<r;++e)if(n(this.lines[e]))return!0}},fo.prototype={chunkSize:function(){return this.size},removeInner:function(e,t){this.size-=t;for(var n,r=0;r<this.children.length;++r){var i=this.children[r],o=i.chunkSize();if(e<o){var l=Math.min(t,o-e),s=i.height;if(i.removeInner(e,l),this.height-=s-i.height,o==l&&(this.children.splice(r--,1),i.parent=null),0==(t-=l))break;e=0}else e-=o}this.size-t<25&&(1<this.children.length||!(this.children[0]instanceof ho))&&(this.collapse(n=[]),this.children=[new ho(n)],this.children[0].parent=this)},collapse:function(e){for(var t=0;t<this.children.length;++t)this.children[t].collapse(e)},insertInner:function(e,t,n){this.size+=t.length,this.height+=n;for(var r=0;r<this.children.length;++r){var i=this.children[r],o=i.chunkSize();if(e<=o){if(i.insertInner(e,t,n),i.lines&&50<i.lines.length){for(var l=i.lines.length%25+25,s=l;s<i.lines.length;){var a=new ho(i.lines.slice(s,s+=25));i.height-=a.height,this.children.splice(++r,0,a),a.parent=this}i.lines=i.lines.slice(0,l),this.maybeSpill()}break}e-=o}},maybeSpill:function(){if(!(this.children.length<=10)){var e=this;do{var t,n=new fo(e.children.splice(e.children.length-5,5))}while(e.parent?(e.size-=n.size,e.height-=n.height,t=L(e.parent.children,e),e.parent.children.splice(t+1,0,n)):(((t=new fo(e.children)).parent=e).children=[t,n],e=t),n.parent=e.parent,10<e.children.length);e.parent.maybeSpill()}},iterN:function(e,t,n){for(var r=0;r<this.children.length;++r){var i=this.children[r],o=i.chunkSize();if(e<o){var l=Math.min(t,o-e);if(i.iterN(e,l,n))return!0;if(0==(t-=l))break;e=0}else e-=o}}};function po(e,t,n){if(n)for(var r in n)n.hasOwnProperty(r)&&(this[r]=n[r]);this.doc=e,this.node=t}function go(e,t,n){ln(t)<(e.curOp&&e.curOp.scrollTop||e.doc.scrollTop)&&Fr(e,n)}po.prototype.clear=function(){var e=this.doc.cm,t=this.line.widgets,n=this.line,r=H(n);if(null!=r&&t){for(var i=0;i<t.length;++i)t[i]==this&&t.splice(i--,1);t.length||(n.widgets=null);var o=On(this);yt(n,Math.max(0,n.height-o)),e&&(h(e,function(){go(e,n,-o),vr(e,r,\"widget\")}),b(e,\"lineWidgetCleared\",e,this,r))}},po.prototype.changed=function(){var e=this,t=this.height,n=this.doc.cm,r=this.line,i=(this.height=null,On(this)-t);i&&(on(this.doc,r)||yt(r,r.height+i),n&&h(n,function(){n.curOp.forceUpdate=!0,go(n,r,i),b(n,\"lineWidgetChanged\",n,e,H(r))}))},$e(po);function mo(e,t){this.lines=[],this.type=t,this.doc=e,this.id=++vo}var vo=0;function yo(r,i,o,e,t){if(e&&e.shared)return f=r,n=i,l=o,a=t,(s=fe(s=e)).shared=!1,u=[yo(f,n,l,s,a)],c=u[0],h=s.widgetNode,Mi(f,function(e){h&&(s.widgetNode=h.cloneNode(!0)),u.push(yo(e,E(e,n),E(e,l),s,a));for(var t=0;t<e.linked.length;++t)if(e.linked[t].isParent)return;c=z(u)}),new bo(u,c);var n,l,s,a,u,c,h;if(r.cm&&!r.cm.curOp)return I(r.cm,yo)(r,i,o,e,t);var d=new mo(r,t),f=P(i,o);if(e&&fe(e,d,!1),0<f||0==f&&!1!==d.clearWhenEmpty)return d;if(d.replacedWith&&(d.collapsed=!0,d.widgetNode=ne(\"span\",[d.replacedWith],\"CodeMirror-widget\"),e.handleMouseEvents||d.widgetNode.setAttribute(\"cm-ignore-events\",\"true\"),e.insertLeft&&(d.widgetNode.insertLeft=!0)),d.collapsed){if(en(r,i.line,i,o,d)||i.line!=o.line&&en(r,o.line,i,o,d))throw new Error(\"Inserting collapsed marker partially overlapping an existing one\");Gt=!0}d.addToHistory&&Hi(r,{from:i,to:o,origin:\"markText\"},r.sel,NaN);var p,g=i.line,m=r.cm;if(r.iter(g,o.line+1,function(e){var t,n;m&&d.collapsed&&!m.options.lineWrapping&&tn(e)==m.display.maxLine&&(p=!0),d.collapsed&&g!=i.line&&yt(e,0),e=e,t=new Ut(d,g==i.line?i.ch:null,g==o.line?o.ch:null),(n=(n=r.cm&&r.cm.curOp)&&window.WeakSet&&(n.markedSpans||(n.markedSpans=new WeakSet)))&&e.markedSpans&&n.has(e.markedSpans)?e.markedSpans.push(t):(e.markedSpans=e.markedSpans?e.markedSpans.concat([t]):[t],n&&n.add(e.markedSpans)),t.marker.attachLine(e),++g}),d.collapsed&&r.iter(i.line,o.line+1,function(e){on(r,e)&&yt(e,0)}),d.clearOnEnter&&k(d,\"beforeCursorEnter\",function(){return d.clear()}),d.readOnly&&(Bt=!0,(r.history.done.length||r.history.undone.length)&&r.clearHistory()),d.collapsed&&(d.id=++vo,d.atomic=!0),m){if(p&&(m.curOp.updateMaxLine=!0),d.collapsed)R(m,i.line,o.line+1);else if(d.className||d.startStyle||d.endStyle||d.css||d.attributes||d.title)for(var v=i.line;v<=o.line;v++)vr(m,v,\"text\");d.atomic&&$i(m.doc),b(m,\"markerAdded\",m,d)}return d}mo.prototype.clear=function(){if(!this.explicitlyCleared){for(var e,t=this.doc.cm,n=t&&!t.curOp,r=(n&&qr(t),!Ye(this,\"clear\")||(e=this.find())&&b(this,\"clear\",e.from,e.to),null),i=null,o=0;o<this.lines.length;++o){var l=this.lines[o],s=Vt(l.markedSpans,this);t&&!this.collapsed?vr(t,H(l),\"text\"):t&&(null!=s.to&&(i=H(l)),null!=s.from&&(r=H(l))),l.markedSpans=function(e,t){for(var n,r=0;r<e.length;++r)e[r]!=t&&(n=n||[]).push(e[r]);return n}(l.markedSpans,s),null==s.from&&this.collapsed&&!on(this.doc,l)&&t&&yt(l,ur(t.display))}if(t&&this.collapsed&&!t.options.lineWrapping)for(var a=0;a<this.lines.length;++a){var u=tn(this.lines[a]),c=sn(u);c>t.display.maxLineLength&&(t.display.maxLine=u,t.display.maxLineLength=c,t.display.maxLineChanged=!0)}null!=r&&t&&this.collapsed&&R(t,r,i+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,t&&$i(t.doc)),t&&b(t,\"markerCleared\",t,this,r,i),n&&Zr(t),this.parent&&this.parent.clear()}},mo.prototype.find=function(e,t){var n,r;null==e&&\"bookmark\"==this.type&&(e=1);for(var i=0;i<this.lines.length;++i){var o=this.lines[i],l=Vt(o.markedSpans,this);if(null!=l.from&&(n=F(t?o:H(o),l.from),-1==e))return n;if(null!=l.to&&(r=F(t?o:H(o),l.to),1==e))return r}return n&&{from:n,to:r}},mo.prototype.changed=function(){var n=this,r=this.find(-1,!0),i=this,o=this.doc.cm;r&&o&&h(o,function(){var e=r.line,t=H(r.line),t=In(o,t);t&&(jn(t),o.curOp.selectionChanged=o.curOp.forceUpdate=!0),o.curOp.updateMaxLine=!0,on(i.doc,e)||null==i.height||(t=i.height,i.height=null,(t=On(i)-t)&&yt(e,e.height+t)),b(o,\"markerChanged\",o,n)})},mo.prototype.attachLine=function(e){var t;this.lines.length||!this.doc.cm||(t=this.doc.cm.curOp).maybeHiddenMarkers&&-1!=L(t.maybeHiddenMarkers,this)||(t.maybeUnhiddenMarkers||(t.maybeUnhiddenMarkers=[])).push(this),this.lines.push(e)},mo.prototype.detachLine=function(e){this.lines.splice(L(this.lines,e),1),!this.lines.length&&this.doc.cm&&((e=this.doc.cm.curOp).maybeHiddenMarkers||(e.maybeHiddenMarkers=[])).push(this)},$e(mo);var bo=function(e,t){this.markers=e,this.primary=t;for(var n=0;n<e.length;++n)e[n].parent=this};function wo(e){return e.findMarks(F(e.first,0),e.clipPos(F(e.lastLine())),function(e){return e.parent})}function xo(o){for(var e=0;e<o.length;e++)!function(e){var t=o[e],n=[t.primary.doc];Mi(t.primary.doc,function(e){return n.push(e)});for(var r=0;r<t.markers.length;r++){var i=t.markers[r];-1==L(n,i.doc)&&(i.parent=null,t.markers.splice(r--,1))}}(e)}bo.prototype.clear=function(){if(!this.explicitlyCleared){this.explicitlyCleared=!0;for(var e=0;e<this.markers.length;++e)this.markers[e].clear();b(this,\"clear\")}},bo.prototype.find=function(e,t){return this.primary.find(e,t)},$e(bo);function f(e,t,n,r,i){if(!(this instanceof f))return new f(e,t,n,r,i);null==n&&(n=0),fo.call(this,[new ho([new un(\"\",null)])]),this.first=n,this.scrollTop=this.scrollLeft=0,this.cantEdit=!1,this.cleanGeneration=1,n=F(this.modeFrontier=this.highlightFrontier=n,0),this.sel=yi(n),this.history=new Ai(null),this.id=++Co,this.modeOption=t,this.lineSep=r,this.direction=\"rtl\"==i?\"rtl\":\"ltr\",this.extend=!1,\"string\"==typeof e&&(e=this.splitLines(e)),Ti(this,{from:n,to:n,text:e}),U(this,yi(n),ve)}var Co=0,So=((f.prototype=ke(fo.prototype,{constructor:f,iter:function(e,t,n){n?this.iterN(e-this.first,t-e,n):this.iterN(this.first,this.first+this.size,e)},insert:function(e,t){for(var n=0,r=0;r<t.length;++r)n+=t[r].height;this.insertInner(e-this.first,t,n)},remove:function(e,t){this.removeInner(e-this.first,t)},getValue:function(e){var t=vt(this,this.first,this.first+this.size);return!1===e?t:t.join(e||this.lineSeparator())},setValue:n(function(e){var t=F(this.first,0),n=this.first+this.size-1;to(this,{from:t,to:F(n,W(this,n).text.length),text:this.splitLines(e),origin:\"setValue\",full:!0},!0),this.cm&&Er(this.cm,0,0),U(this,yi(t),ve)}),replaceRange:function(e,t,n,r){lo(this,e,t=E(this,t),n=n?E(this,n):t,r)},getRange:function(e,t,n){e=mt(this,E(this,e),E(this,t));return!1===n?e:\"\"===n?e.join(\"\"):e.join(n||this.lineSeparator())},getLine:function(e){e=this.getLineHandle(e);return e&&e.text},getLineHandle:function(e){if(wt(this,e))return W(this,e)},getLineNumber:H,getLineHandleVisualStart:function(e){return tn(e=\"number\"==typeof e?W(this,e):e)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+this.size-1},clipPos:function(e){return E(this,e)},getCursor:function(e){var t=this.sel.primary(),e=null==e||\"head\"==e?t.head:\"anchor\"==e?t.anchor:\"end\"==e||\"to\"==e||!1===e?t.to():t.from();return e},listSelections:function(){return this.sel.ranges},somethingSelected:function(){return this.sel.somethingSelected()},setCursor:n(function(e,t,n){Ki(this,E(this,\"number\"==typeof e?F(e,t||0):e),null,n)}),setSelection:n(function(e,t,n){Ki(this,E(this,e),E(this,t||e),n)}),extendSelection:n(function(e,t,n){Gi(this,E(this,e),t&&E(this,t),n)}),extendSelections:n(function(e,t){Ui(this,Mt(this,e),t)}),extendSelectionsBy:n(function(e,t){Ui(this,Mt(this,Se(this.sel.ranges,e)),t)}),setSelections:n(function(e,t,n){if(e.length){for(var r=[],i=0;i<e.length;i++)r[i]=new G(E(this,e[i].anchor),E(this,e[i].head||e[i].anchor));null==t&&(t=Math.min(e.length-1,this.sel.primIndex)),U(this,vi(this.cm,r,t),n)}}),addSelection:n(function(e,t,n){var r=this.sel.ranges.slice(0);r.push(new G(E(this,e),E(this,t||e))),U(this,vi(this.cm,r,r.length-1),n)}),getSelection:function(e){for(var t=this.sel.ranges,n=0;n<t.length;n++)var r=mt(this,t[n].from(),t[n].to()),i=i?i.concat(r):r;return!1===e?i:i.join(e||this.lineSeparator())},getSelections:function(e){for(var t=[],n=this.sel.ranges,r=0;r<n.length;r++){var i=mt(this,n[r].from(),n[r].to());!1!==e&&(i=i.join(e||this.lineSeparator())),t[r]=i}return t},replaceSelection:function(e,t,n){for(var r=[],i=0;i<this.sel.ranges.length;i++)r[i]=e;this.replaceSelections(r,t,n||\"+input\")},replaceSelections:n(function(e,t,n){for(var r=[],i=this.sel,o=0;o<i.ranges.length;o++){var l=i.ranges[o];r[o]={from:l.from(),to:l.to(),text:this.splitLines(e[o]),origin:n}}for(var t=t&&\"end\"!=t&&function(e,t,n){for(var r=[],i=u=F(e.first,0),o=0;o<t.length;o++){var l=t[o],s=Ci(l.from,u,i),a=Ci(bi(l),u,i),u=l.to,i=a;\"around\"==n?(l=P((l=e.sel.ranges[o]).head,l.anchor)<0,r[o]=new G(l?a:s,l?s:a)):r[o]=new G(s,s)}return new B(r,e.sel.primIndex)}(this,r,t),s=r.length-1;0<=s;s--)to(this,r[s]);t?ji(this,t):this.cm&&Pr(this.cm)}),undo:n(function(){ro(this,\"undo\")}),redo:n(function(){ro(this,\"redo\")}),undoSelection:n(function(){ro(this,\"undo\",!0)}),redoSelection:n(function(){ro(this,\"redo\",!0)}),setExtending:function(e){this.extend=e},getExtending:function(){return this.extend},historySize:function(){for(var e=this.history,t=0,n=0,r=0;r<e.done.length;r++)e.done[r].ranges||++t;for(var i=0;i<e.undone.length;i++)e.undone[i].ranges||++n;return{undo:t,redo:n}},clearHistory:function(){var t=this;this.history=new Ai(this.history),Mi(this,function(e){return e.history=t.history},!0)},markClean:function(){this.cleanGeneration=this.changeGeneration(!0)},changeGeneration:function(e){return e&&(this.history.lastOp=this.history.lastSelOp=this.history.lastOrigin=null),this.history.generation},isClean:function(e){return this.history.generation==(e||this.cleanGeneration)},getHistory:function(){return{done:Ii(this.history.done),undone:Ii(this.history.undone)}},setHistory:function(e){var t=this.history=new Ai(this.history);t.done=Ii(e.done.slice(0),null,!0),t.undone=Ii(e.undone.slice(0),null,!0)},setGutterMarker:n(function(e,n,r){return co(this,e,\"gutter\",function(e){var t=e.gutterMarkers||(e.gutterMarkers={});return!(t[n]=r)&&Oe(t)&&(e.gutterMarkers=null),1})}),clearGutter:n(function(t){var n=this;this.iter(function(e){e.gutterMarkers&&e.gutterMarkers[t]&&co(n,e,\"gutter\",function(){return e.gutterMarkers[t]=null,Oe(e.gutterMarkers)&&(e.gutterMarkers=null),1})})}),lineInfo:function(e){var t;if(\"number\"==typeof e){if(!wt(this,e))return null;if(!(e=W(this,t=e)))return null}else if(null==(t=H(e)))return null;return{line:t,handle:e,text:e.text,gutterMarkers:e.gutterMarkers,textClass:e.textClass,bgClass:e.bgClass,wrapClass:e.wrapClass,widgets:e.widgets}},addLineClass:n(function(e,n,r){return co(this,e,\"gutter\"==n?\"gutter\":\"class\",function(e){var t=\"text\"==n?\"textClass\":\"background\"==n?\"bgClass\":\"gutter\"==n?\"gutterClass\":\"wrapClass\";if(e[t]){if(J(r).test(e[t]))return;e[t]+=\" \"+r}else e[t]=r;return 1})}),removeLineClass:n(function(e,o,l){return co(this,e,\"gutter\"==o?\"gutter\":\"class\",function(e){var t=\"text\"==o?\"textClass\":\"background\"==o?\"bgClass\":\"gutter\"==o?\"gutterClass\":\"wrapClass\",n=e[t];if(n){if(null==l)e[t]=null;else{var r=n.match(J(l));if(!r)return;var i=r.index+r[0].length;e[t]=n.slice(0,r.index)+(r.index&&i!=n.length?\" \":\"\")+n.slice(i)||null}return 1}})}),addLineWidget:n(function(e,t,n){return e=e,i=new po(r=this,t,n),(o=r.cm)&&i.noHScroll&&(o.display.alignWidgets=!0),co(r,e,\"widget\",function(e){var t=e.widgets||(e.widgets=[]);return null==i.insertAt?t.push(i):t.splice(Math.min(t.length,Math.max(0,i.insertAt)),0,i),i.line=e,o&&!on(r,e)&&(t=ln(e)<r.scrollTop,yt(e,e.height+On(i)),t&&Fr(o,i.height),o.curOp.forceUpdate=!0),1}),o&&b(o,\"lineWidgetAdded\",o,i,\"number\"==typeof e?e:H(e)),i;var r,i,o}),removeLineWidget:function(e){e.clear()},markText:function(e,t,n){return yo(this,E(this,e),E(this,t),n,n&&n.type||\"range\")},setBookmark:function(e,t){t={replacedWith:t&&(null==t.nodeType?t.widget:t),insertLeft:t&&t.insertLeft,clearWhenEmpty:!1,shared:t&&t.shared,handleMouseEvents:t&&t.handleMouseEvents};return yo(this,e=E(this,e),e,t,\"bookmark\")},findMarksAt:function(e){var t=[],n=W(this,(e=E(this,e)).line).markedSpans;if(n)for(var r=0;r<n.length;++r){var i=n[r];(null==i.from||i.from<=e.ch)&&(null==i.to||i.to>=e.ch)&&t.push(i.marker.parent||i.marker)}return t},findMarks:function(i,o,l){i=E(this,i),o=E(this,o);var s=[],a=i.line;return this.iter(i.line,o.line+1,function(e){var t=e.markedSpans;if(t)for(var n=0;n<t.length;n++){var r=t[n];null!=r.to&&a==i.line&&i.ch>=r.to||null==r.from&&a!=i.line||null!=r.from&&a==o.line&&r.from>=o.ch||l&&!l(r.marker)||s.push(r.marker.parent||r.marker)}++a}),s},getAllMarks:function(){var r=[];return this.iter(function(e){var t=e.markedSpans;if(t)for(var n=0;n<t.length;++n)null!=t[n].from&&r.push(t[n].marker)}),r},posFromIndex:function(t){var n,r=this.first,i=this.lineSeparator().length;return this.iter(function(e){e=e.text.length+i;if(t<e)return n=t,!0;t-=e,++r}),E(this,F(r,n))},indexFromPos:function(e){var t=(e=E(this,e)).ch;if(e.line<this.first||e.ch<0)return 0;var n=this.lineSeparator().length;return this.iter(this.first,e.line,function(e){t+=e.text.length+n}),t},copy:function(e){var t=new f(vt(this,this.first,this.first+this.size),this.modeOption,this.first,this.lineSep,this.direction);return t.scrollTop=this.scrollTop,t.scrollLeft=this.scrollLeft,t.sel=this.sel,t.extend=!1,e&&(t.history.undoDepth=this.history.undoDepth,t.setHistory(this.getHistory())),t},linkedDoc:function(e){for(var t=this.first,n=this.first+this.size,n=(null!=(e=e||{}).from&&e.from>t&&(t=e.from),null!=e.to&&e.to<n&&(n=e.to),new f(vt(this,t,n),e.mode||this.modeOption,t,this.lineSep,this.direction)),r=(e.sharedHist&&(n.history=this.history),(this.linked||(this.linked=[])).push({doc:n,sharedHist:e.sharedHist}),n.linked=[{doc:this,isParent:!0,sharedHist:e.sharedHist}],n),i=wo(this),o=0;o<i.length;o++){var l=i[o],s=l.find(),a=r.clipPos(s.from),s=r.clipPos(s.to);P(a,s)&&(a=yo(r,a,s,l.primary,l.primary.type),l.markers.push(a),a.parent=l)}return n},unlinkDoc:function(e){if(e instanceof p&&(e=e.doc),this.linked)for(var t=0;t<this.linked.length;++t){var n=this.linked[t];if(n.doc==e){this.linked.splice(t,1),e.unlinkDoc(this),xo(wo(this));break}}var r;e.history==this.history&&(r=[e.id],Mi(e,function(e){return r.push(e.id)},!0),e.history=new Ai(null),e.history.done=Ii(this.history.done,r),e.history.undone=Ii(this.history.undone,r))},iterLinkedDocs:function(e){Mi(this,e)},getMode:function(){return this.mode},getEditor:function(){return this.cm},splitLines:function(e){return this.lineSep?e.split(this.lineSep):rt(e)},lineSeparator:function(){return this.lineSep||\"\\n\"},setDirection:n(function(e){var t;(e=\"rtl\"!=e?\"ltr\":e)!=this.direction&&(this.direction=e,this.iter(function(e){return e.order=null}),this.cm&&h(t=this.cm,function(){Oi(t),R(t)}))})})).eachLine=f.prototype.iter,0);function Lo(e){var r=this;if(ko(r),!A(r,e)&&!An(r.display,e)){D(e),w&&(So=+new Date);var t=gr(r,e,!0),n=e.dataTransfer.files;if(t&&!r.isReadOnly())if(n&&n.length&&window.FileReader&&window.File)for(var i=n.length,o=Array(i),l=0,s=function(){++l==i&&I(r,function(){var e={from:t=E(r.doc,t),to:t,text:r.doc.splitLines(o.filter(function(e){return null!=e}).join(r.doc.lineSeparator())),origin:\"paste\"};to(r.doc,e),ji(r.doc,yi(E(r.doc,t),E(r.doc,bi(e))))})()},a=0;a<n.length;a++)!function(e,t){var n;r.options.allowDropFileTypes&&-1==L(r.options.allowDropFileTypes,e.type)?s():((n=new FileReader).onerror=function(){return s()},n.onload=function(){var e=n.result;/[\\x00-\\x08\\x0e-\\x1f]{2}/.test(e)||(o[t]=e),s()},n.readAsText(e))}(n[a],a);else{if(r.state.draggingText&&-1<r.doc.sel.contains(t))return r.state.draggingText(e),void setTimeout(function(){return r.display.input.focus()},20);try{var u,c=e.dataTransfer.getData(\"Text\");if(c){if(r.state.draggingText&&!r.state.draggingText.copy&&(u=r.listSelections()),Xi(r.doc,yi(t,t)),u)for(var h=0;h<u.length;++h)lo(r.doc,\"\",u[h].anchor,u[h].head,\"drag\");r.replaceSelection(c,\"around\",\"paste\"),r.display.input.focus()}}catch(e){}}}}function ko(e){e.display.dragCursor&&(e.display.lineSpace.removeChild(e.display.dragCursor),e.display.dragCursor=null)}function To(t){if(document.getElementsByClassName){for(var e=document.getElementsByClassName(\"CodeMirror\"),n=[],r=0;r<e.length;r++){var i=e[r].CodeMirror;i&&n.push(i)}n.length&&n[0].operation(function(){for(var e=0;e<n.length;e++)t(n[e])})}}var Mo=!1;function No(){var e;Mo||(k(window,\"resize\",function(){null==e&&(e=setTimeout(function(){e=null,To(Oo)},100))}),k(window,\"blur\",function(){return To(Or)}),Mo=!0)}function Oo(e){var t=e.display;t.cachedCharWidth=t.cachedTextHeight=t.cachedPaddingH=null,t.scrollbarsClipped=!1,e.setSize()}for(var Ao={3:\"Pause\",8:\"Backspace\",9:\"Tab\",13:\"Enter\",16:\"Shift\",17:\"Ctrl\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Esc\",32:\"Space\",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"Left\",38:\"Up\",39:\"Right\",40:\"Down\",44:\"PrintScrn\",45:\"Insert\",46:\"Delete\",59:\";\",61:\"=\",91:\"Mod\",92:\"Mod\",93:\"Mod\",106:\"*\",107:\"=\",109:\"-\",110:\".\",111:\"/\",145:\"ScrollLock\",173:\"-\",186:\";\",187:\"=\",188:\",\",189:\"-\",190:\".\",191:\"/\",192:\"`\",219:\"[\",220:\"\\\\\",221:\"]\",222:\"'\",224:\"Mod\",63232:\"Up\",63233:\"Down\",63234:\"Left\",63235:\"Right\",63272:\"Delete\",63273:\"Home\",63275:\"End\",63276:\"PageUp\",63277:\"PageDown\",63302:\"Insert\"},Do=0;Do<10;Do++)Ao[Do+48]=Ao[Do+96]=String(Do);for(var Wo=65;Wo<=90;Wo++)Ao[Wo]=String.fromCharCode(Wo);for(var Ho=1;Ho<=12;Ho++)Ao[Ho+111]=Ao[Ho+63235]=\"F\"+Ho;var Fo={};function Po(e){var t,n,r,i,o=e.split(/-(?!$)/);e=o[o.length-1];for(var l=0;l<o.length-1;l++){var s=o[l];if(/^(cmd|meta|m)$/i.test(s))i=!0;else if(/^a(lt)?$/i.test(s))t=!0;else if(/^(c|ctrl|control)$/i.test(s))n=!0;else{if(!/^s(hift)?$/i.test(s))throw new Error(\"Unrecognized modifier name: \"+s);r=!0}}return t&&(e=\"Alt-\"+e),n&&(e=\"Ctrl-\"+e),i&&(e=\"Cmd-\"+e),e=r?\"Shift-\"+e:e}function Eo(e){var t,n,r={};for(t in e)if(e.hasOwnProperty(t)){var i=e[t];if(!/^(name|fallthrough|(de|at)tach)$/.test(t))if(\"...\"==i)delete e[t];else{for(var o=Se(t.split(\" \"),Po),l=0;l<o.length;l++){var s=void 0,a=void 0,s=l==o.length-1?(a=o.join(\" \"),i):(a=o.slice(0,l+1).join(\" \"),\"...\"),u=r[a];if(u){if(u!=s)throw new Error(\"Inconsistent bindings for \"+a)}else r[a]=s}delete e[t]}}for(n in r)e[n]=r[n];return e}function Ro(e,t,n,r){var i=(t=Go(t)).call?t.call(e,r):t[e];if(!1===i)return\"nothing\";if(\"...\"===i)return\"multi\";if(null!=i&&n(i))return\"handled\";if(t.fallthrough){if(\"[object Array]\"!=Object.prototype.toString.call(t.fallthrough))return Ro(e,t.fallthrough,n,r);for(var o=0;o<t.fallthrough.length;o++){var l=Ro(e,t.fallthrough[o],n,r);if(l)return l}}}function zo(e){e=\"string\"==typeof e?e:Ao[e.keyCode];return\"Ctrl\"==e||\"Alt\"==e||\"Shift\"==e||\"Mod\"==e}function Io(e,t,n){var r=e;return t.altKey&&\"Alt\"!=r&&(e=\"Alt-\"+e),(Z?t.metaKey:t.ctrlKey)&&\"Ctrl\"!=r&&(e=\"Ctrl-\"+e),(Z?t.ctrlKey:t.metaKey)&&\"Mod\"!=r&&(e=\"Cmd-\"+e),e=!n&&t.shiftKey&&\"Shift\"!=r?\"Shift-\"+e:e}function Bo(e,t){if(K&&34==e.keyCode&&e.char)return!1;var n=Ao[e.keyCode];return null!=n&&!e.altGraphKey&&Io(n=3==e.keyCode&&e.code?e.code:n,e,t)}function Go(e){return\"string\"==typeof e?Fo[e]:e}function Uo(t,e){for(var n=t.doc.sel.ranges,r=[],i=0;i<n.length;i++){for(var o=e(n[i]);r.length&&P(o.from,z(r).to)<=0;){var l=r.pop();if(P(l.from,o.from)<0){o.from=l.from;break}}r.push(o)}h(t,function(){for(var e=r.length-1;0<=e;e--)lo(t.doc,\"\",r[e].from,r[e].to,\"+delete\");Pr(t)})}function Vo(e,t,n){t=We(e.text,t+n,n);return t<0||t>e.text.length?null:t}function Ko(e,t,n){e=Vo(e,t.ch,n);return null==e?null:new F(t.line,e,n<0?\"after\":\"before\")}function jo(e,t,n,r,i){if(e){\"rtl\"==t.doc.direction&&(i=-i);var o,l,s,a,e=Ve(n,t.doc.direction);if(e)return o=i<0==(1==(e=i<0?z(e):e[0]).level)?\"after\":\"before\",0<e.level||\"rtl\"==t.doc.direction?(l=Bn(t,n),s=i<0?n.text.length-1:0,a=Gn(t,l,s).top,s=He(function(e){return Gn(t,l,e).top==a},i<0==(1==e.level)?e.from:e.to-1,s),\"before\"==o&&(s=Vo(n,s,1))):s=i<0?e.to:e.from,new F(r,s,o)}return new F(r,i<0?n.text.length:0,i<0?\"before\":\"after\")}function Xo(t,n,s,e){var a=Ve(n,t.doc.direction);if(!a)return Ko(n,s,e);s.ch>=n.text.length?(s.ch=n.text.length,s.sticky=\"before\"):s.ch<=0&&(s.ch=0,s.sticky=\"after\");var r=Pe(a,s.ch,s.sticky),i=a[r];if(\"ltr\"==t.doc.direction&&i.level%2==0&&(0<e?i.to>s.ch:i.from<s.ch))return Ko(n,s,e);function u(e,t){return Vo(n,e instanceof F?e.ch:e,t)}function o(e){return t.options.lineWrapping?(l=l||Bn(t,n),or(t,n,l,e)):{begin:0,end:n.text.length}}var l,c=o(\"before\"==s.sticky?u(s,-1):s.ch);if(\"rtl\"==t.doc.direction||1==i.level){var h=1==i.level==e<0,d=u(s,h?1:-1);if(null!=d&&(h?d<=i.to&&d<=c.end:d>=i.from&&d>=c.begin))return new F(s.line,d,h?\"before\":\"after\")}function f(e,t,n){for(var r=function(e,t){return t?new F(s.line,u(e,1),\"before\"):new F(s.line,e,\"after\")};0<=e&&e<a.length;e+=t){var i=a[e],o=0<t==(1!=i.level),l=o?n.begin:u(n.end,-1);if(i.from<=l&&l<i.to)return r(l,o);if(l=o?i.from:u(i.to,-1),n.begin<=l&&l<n.end)return r(l,o)}}i=f(r+e,e,c);if(i)return i;d=0<e?c.end:u(c.begin,-1);return null==d||0<e&&d==n.text.length||!(i=f(0<e?0:a.length-1,e,o(d)))?null:i}Fo.basic={Left:\"goCharLeft\",Right:\"goCharRight\",Up:\"goLineUp\",Down:\"goLineDown\",End:\"goLineEnd\",Home:\"goLineStartSmart\",PageUp:\"goPageUp\",PageDown:\"goPageDown\",Delete:\"delCharAfter\",Backspace:\"delCharBefore\",\"Shift-Backspace\":\"delCharBefore\",Tab:\"defaultTab\",\"Shift-Tab\":\"indentAuto\",Enter:\"newlineAndIndent\",Insert:\"toggleOverwrite\",Esc:\"singleSelection\"},Fo.pcDefault={\"Ctrl-A\":\"selectAll\",\"Ctrl-D\":\"deleteLine\",\"Ctrl-Z\":\"undo\",\"Shift-Ctrl-Z\":\"redo\",\"Ctrl-Y\":\"redo\",\"Ctrl-Home\":\"goDocStart\",\"Ctrl-End\":\"goDocEnd\",\"Ctrl-Up\":\"goLineUp\",\"Ctrl-Down\":\"goLineDown\",\"Ctrl-Left\":\"goGroupLeft\",\"Ctrl-Right\":\"goGroupRight\",\"Alt-Left\":\"goLineStart\",\"Alt-Right\":\"goLineEnd\",\"Ctrl-Backspace\":\"delGroupBefore\",\"Ctrl-Delete\":\"delGroupAfter\",\"Ctrl-S\":\"save\",\"Ctrl-F\":\"find\",\"Ctrl-G\":\"findNext\",\"Shift-Ctrl-G\":\"findPrev\",\"Shift-Ctrl-F\":\"replace\",\"Shift-Ctrl-R\":\"replaceAll\",\"Ctrl-[\":\"indentLess\",\"Ctrl-]\":\"indentMore\",\"Ctrl-U\":\"undoSelection\",\"Shift-Ctrl-U\":\"redoSelection\",\"Alt-U\":\"redoSelection\",fallthrough:\"basic\"},Fo.emacsy={\"Ctrl-F\":\"goCharRight\",\"Ctrl-B\":\"goCharLeft\",\"Ctrl-P\":\"goLineUp\",\"Ctrl-N\":\"goLineDown\",\"Ctrl-A\":\"goLineStart\",\"Ctrl-E\":\"goLineEnd\",\"Ctrl-V\":\"goPageDown\",\"Shift-Ctrl-V\":\"goPageUp\",\"Ctrl-D\":\"delCharAfter\",\"Ctrl-H\":\"delCharBefore\",\"Alt-Backspace\":\"delWordBefore\",\"Ctrl-K\":\"killLine\",\"Ctrl-T\":\"transposeChars\",\"Ctrl-O\":\"openLine\"},Fo.macDefault={\"Cmd-A\":\"selectAll\",\"Cmd-D\":\"deleteLine\",\"Cmd-Z\":\"undo\",\"Shift-Cmd-Z\":\"redo\",\"Cmd-Y\":\"redo\",\"Cmd-Home\":\"goDocStart\",\"Cmd-Up\":\"goDocStart\",\"Cmd-End\":\"goDocEnd\",\"Cmd-Down\":\"goDocEnd\",\"Alt-Left\":\"goGroupLeft\",\"Alt-Right\":\"goGroupRight\",\"Cmd-Left\":\"goLineLeft\",\"Cmd-Right\":\"goLineRight\",\"Alt-Backspace\":\"delGroupBefore\",\"Ctrl-Alt-Backspace\":\"delGroupAfter\",\"Alt-Delete\":\"delGroupAfter\",\"Cmd-S\":\"save\",\"Cmd-F\":\"find\",\"Cmd-G\":\"findNext\",\"Shift-Cmd-G\":\"findPrev\",\"Cmd-Alt-F\":\"replace\",\"Shift-Cmd-Alt-F\":\"replaceAll\",\"Cmd-[\":\"indentLess\",\"Cmd-]\":\"indentMore\",\"Cmd-Backspace\":\"delWrappedLineLeft\",\"Cmd-Delete\":\"delWrappedLineRight\",\"Cmd-U\":\"undoSelection\",\"Shift-Cmd-U\":\"redoSelection\",\"Ctrl-Up\":\"goDocStart\",\"Ctrl-Down\":\"goDocEnd\",fallthrough:[\"basic\",\"emacsy\"]},Fo.default=C?Fo.macDefault:Fo.pcDefault;var Yo={selectAll:Ji,singleSelection:function(e){return e.setSelection(e.getCursor(\"anchor\"),e.getCursor(\"head\"),ve)},killLine:function(n){return Uo(n,function(e){var t;return e.empty()?(t=W(n.doc,e.head.line).text.length,e.head.ch==t&&e.head.line<n.lastLine()?{from:e.head,to:F(e.head.line+1,0)}:{from:e.head,to:F(e.head.line,t)}):{from:e.from(),to:e.to()}})},deleteLine:function(t){return Uo(t,function(e){return{from:F(e.from().line,0),to:E(t.doc,F(e.to().line+1,0))}})},delLineLeft:function(e){return Uo(e,function(e){return{from:F(e.from().line,0),to:e.from()}})},delWrappedLineLeft:function(n){return Uo(n,function(e){var t=n.charCoords(e.head,\"div\").top+5;return{from:n.coordsChar({left:0,top:t},\"div\"),to:e.from()}})},delWrappedLineRight:function(n){return Uo(n,function(e){var t=n.charCoords(e.head,\"div\").top+5,t=n.coordsChar({left:n.display.lineDiv.offsetWidth+100,top:t},\"div\");return{from:e.from(),to:t}})},undo:function(e){return e.undo()},redo:function(e){return e.redo()},undoSelection:function(e){return e.undoSelection()},redoSelection:function(e){return e.redoSelection()},goDocStart:function(e){return e.extendSelection(F(e.firstLine(),0))},goDocEnd:function(e){return e.extendSelection(F(e.lastLine()))},goLineStart:function(t){return t.extendSelectionsBy(function(e){return $o(t,e.head.line)},{origin:\"+move\",bias:1})},goLineStartSmart:function(t){return t.extendSelectionsBy(function(e){return _o(t,e.head)},{origin:\"+move\",bias:1})},goLineEnd:function(i){return i.extendSelectionsBy(function(e){var t=i,e=e.head.line,n=W(t.doc,e),r=function(e){for(var t;t=Jt(e);)e=t.find(1,!0).line;return e}(n);return r!=n&&(e=H(r)),jo(!0,t,n,e,-1)},{origin:\"+move\",bias:-1})},goLineRight:function(t){return t.extendSelectionsBy(function(e){e=t.cursorCoords(e.head,\"div\").top+5;return t.coordsChar({left:t.display.lineDiv.offsetWidth+100,top:e},\"div\")},be)},goLineLeft:function(t){return t.extendSelectionsBy(function(e){e=t.cursorCoords(e.head,\"div\").top+5;return t.coordsChar({left:0,top:e},\"div\")},be)},goLineLeftSmart:function(n){return n.extendSelectionsBy(function(e){var t=n.cursorCoords(e.head,\"div\").top+5,t=n.coordsChar({left:0,top:t},\"div\");return t.ch<n.getLine(t.line).search(/\\S/)?_o(n,e.head):t},be)},goLineUp:function(e){return e.moveV(-1,\"line\")},goLineDown:function(e){return e.moveV(1,\"line\")},goPageUp:function(e){return e.moveV(-1,\"page\")},goPageDown:function(e){return e.moveV(1,\"page\")},goCharLeft:function(e){return e.moveH(-1,\"char\")},goCharRight:function(e){return e.moveH(1,\"char\")},goColumnLeft:function(e){return e.moveH(-1,\"column\")},goColumnRight:function(e){return e.moveH(1,\"column\")},goWordLeft:function(e){return e.moveH(-1,\"word\")},goGroupRight:function(e){return e.moveH(1,\"group\")},goGroupLeft:function(e){return e.moveH(-1,\"group\")},goWordRight:function(e){return e.moveH(1,\"word\")},delCharBefore:function(e){return e.deleteH(-1,\"codepoint\")},delCharAfter:function(e){return e.deleteH(1,\"char\")},delWordBefore:function(e){return e.deleteH(-1,\"word\")},delWordAfter:function(e){return e.deleteH(1,\"word\")},delGroupBefore:function(e){return e.deleteH(-1,\"group\")},delGroupAfter:function(e){return e.deleteH(1,\"group\")},indentAuto:function(e){return e.indentSelection(\"smart\")},indentMore:function(e){return e.indentSelection(\"add\")},indentLess:function(e){return e.indentSelection(\"subtract\")},insertTab:function(e){return e.replaceSelection(\"\\t\")},insertSoftTab:function(e){for(var t=[],n=e.listSelections(),r=e.options.tabSize,i=0;i<n.length;i++){var o=n[i].from(),o=S(e.getLine(o.line),o.ch,r);t.push(Ce(r-o%r))}e.replaceSelections(t)},defaultTab:function(e){e.somethingSelected()?e.indentSelection(\"add\"):e.execCommand(\"insertTab\")},transposeChars:function(l){return h(l,function(){for(var e,t,n,r=l.listSelections(),i=[],o=0;o<r.length;o++)r[o].empty()&&(e=r[o].head,(t=W(l.doc,e.line).text)&&(0<(e=e.ch==t.length?new F(e.line,e.ch-1):e).ch?(e=new F(e.line,e.ch+1),l.replaceRange(t.charAt(e.ch-1)+t.charAt(e.ch-2),F(e.line,e.ch-2),e,\"+transpose\")):e.line>l.doc.first&&((n=W(l.doc,e.line-1).text)&&(e=new F(e.line,1),l.replaceRange(t.charAt(0)+l.doc.lineSeparator()+n.charAt(n.length-1),F(e.line-1,n.length-1),e,\"+transpose\")))),i.push(new G(e,e)));l.setSelections(i)})},newlineAndIndent:function(r){return h(r,function(){for(var e=(t=r.listSelections()).length-1;0<=e;e--)r.replaceRange(r.doc.lineSeparator(),t[e].anchor,t[e].head,\"+input\");for(var t=r.listSelections(),n=0;n<t.length;n++)r.indentLine(t[n].from().line,null,!0);Pr(r)})},openLine:function(e){return e.replaceSelection(\"\\n\",\"start\")},toggleOverwrite:function(e){return e.toggleOverwrite()}};function $o(e,t){var n=W(e.doc,t),r=tn(n);return jo(!0,e,r,t=r!=n?H(r):t,1)}function _o(e,t){var n=$o(e,t.line),r=W(e.doc,n.line),e=Ve(r,e.doc.direction);return e&&0!=e[0].level?n:(e=Math.max(n.ch,r.text.search(/\\S/)),r=t.line==n.line&&t.ch<=e&&t.ch,F(n.line,r?0:e,n.sticky))}function qo(e,t,n){if(\"string\"==typeof t&&!(t=Yo[t]))return!1;e.display.input.ensurePolled();var r=e.display.shift,i=!1;try{e.isReadOnly()&&(e.state.suppressEdits=!0),n&&(e.display.shift=!1),i=t(e)!=me}finally{e.display.shift=r,e.state.suppressEdits=!1}return i}var Zo=new pe;function Qo(e,t,n,r){var i=e.state.keySeq;if(i){if(zo(t))return\"handled\";if(/\\'$/.test(t)?e.state.keySeq=null:Zo.set(50,function(){e.state.keySeq==i&&(e.state.keySeq=null,e.display.input.reset())}),Jo(e,i+\" \"+t,n,r))return!0}return Jo(e,t,n,r)}function Jo(e,t,n,r){r=function(e,t,n){for(var r=0;r<e.state.keyMaps.length;r++){var i=Ro(t,e.state.keyMaps[r],n,e);if(i)return i}return e.options.extraKeys&&Ro(t,e.options.extraKeys,n,e)||Ro(t,e.options.keyMap,n,e)}(e,t,r);return\"multi\"==r&&(e.state.keySeq=t),\"handled\"==r&&b(e,\"keyHandled\",e,t,n),\"handled\"!=r&&\"multi\"!=r||(D(n),kr(e)),!!r}function el(t,e){var n=Bo(e,!0);return!!n&&(e.shiftKey&&!t.state.keySeq?Qo(t,\"Shift-\"+n,e,function(e){return qo(t,e,!0)})||Qo(t,n,e,function(e){if(\"string\"==typeof e?/^go[A-Z]/.test(e):e.motion)return qo(t,e)}):Qo(t,n,e,function(e){return qo(t,e)}))}var tl=null;function nl(e){var t,n,r,i=this;function o(e){18!=e.keyCode&&e.altKey||(ee(r,\"CodeMirror-crosshair\"),T(document,\"keyup\",o),T(document,\"mouseover\",o))}e.target&&e.target!=i.display.input.getField()||(i.curOp.focus=N(ue(i)),A(i,e)||(w&&v<11&&27==e.keyCode&&(e.returnValue=!1),t=e.keyCode,i.display.shift=16==t||e.shiftKey,n=el(i,e),K&&(tl=n?t:null,!n&&88==t&&!ot&&(C?e.metaKey:e.ctrlKey)&&i.replaceSelection(\"\",null,\"cut\")),d&&!C&&!n&&46==t&&e.shiftKey&&!e.ctrlKey&&document.execCommand&&document.execCommand(\"cut\"),18!=t||/\\bCodeMirror-crosshair\\b/.test(i.display.lineDiv.className)||(ie(r=i.display.lineDiv,\"CodeMirror-crosshair\"),k(document,\"keyup\",o),k(document,\"mouseover\",o))))}function rl(e){16==e.keyCode&&(this.doc.sel.shift=!1),A(this,e)}function il(e){var t=this;if(!(e.target&&e.target!=t.display.input.getField()||An(t.display,e)||A(t,e)||e.ctrlKey&&!e.altKey||C&&e.metaKey)){var n,r=e.keyCode,i=e.charCode;if(K&&r==tl)return tl=null,void D(e);K&&(!e.which||e.which<10)&&el(t,e)||(\"\\b\"==(r=String.fromCharCode(null==i?r:i))||Qo(n=t,\"'\"+r+\"'\",e,function(e){return qo(n,e,!0)})||t.display.input.onKeyPress(e))}}function ol(e,t,n){this.time=e,this.pos=t,this.button=n}var ll,sl;function al(e){var t,n,r,i,o,l,s,a,u,c=this,h=c.display;A(c,e)||h.activeTouch&&h.input.supportsTouch()||(h.input.ensurePolled(),h.shift=e.shiftKey,An(h,e)?x||(h.scroller.draggable=!1,setTimeout(function(){return h.scroller.draggable=!0},100)):hl(c,e)||(t=gr(c,e),n=Je(e),r=t?(i=t,o=n,r=+new Date,sl&&sl.compare(r,i,o)?(ll=sl=null,\"triple\"):ll&&ll.compare(r,i,o)?(sl=new ol(r,i,o),ll=null,\"double\"):(ll=new ol(r,i,o),sl=null,\"single\")):\"single\",he(c).focus(),1==n&&c.state.selectingText&&c.state.selectingText(e),t&&function(n,e,r,t,i){var o=\"Click\";\"double\"==t?o=\"Double\"+o:\"triple\"==t&&(o=\"Triple\"+o);return Qo(n,Io(o=(1==e?\"Left\":2==e?\"Middle\":\"Right\")+o,i),i,function(e){if(!(e=\"string\"==typeof e?Yo[e]:e))return!1;var t=!1;try{n.isReadOnly()&&(n.state.suppressEdits=!0),t=e(n,r)!=me}finally{n.state.suppressEdits=!1}return t})}(c,n,t,r,e)||(1==n?t?(i=c,o=t,l=r,s=e,w?setTimeout(de(Tr,i),0):i.curOp.focus=N(ue(i)),a=function(e,t,n){var r=e.getOption(\"configureMouse\"),r=r?r(e,t,n):{};{var i;null==r.unit&&(i=q?n.shiftKey&&n.metaKey:n.altKey,r.unit=i?\"rectangle\":\"single\"==t?\"char\":\"double\"==t?\"word\":\"line\")}null!=r.extend&&!e.doc.extend||(r.extend=e.doc.extend||n.shiftKey);null==r.addNew&&(r.addNew=C?n.metaKey:n.ctrlKey);null==r.moveOnDrag&&(r.moveOnDrag=!(C?n.altKey:n.ctrlKey));return r}(i,l,s),u=i.doc.sel,(i.options.dragDrop&&nt&&!i.isReadOnly()&&\"single\"==l&&-1<(l=u.contains(o))&&(P((l=u.ranges[l]).from(),o)<0||0<o.xRel)&&(0<P(l.to(),o)||o.xRel<0)?function(t,n,r,i){var o=t.display,l=!1,s=I(t,function(e){x&&(o.scroller.draggable=!1),t.state.draggingText=!1,t.state.delayingBlurEvent&&(t.hasFocus()?t.state.delayingBlurEvent=!1:Mr(t)),T(o.wrapper.ownerDocument,\"mouseup\",s),T(o.wrapper.ownerDocument,\"mousemove\",a),T(o.scroller,\"dragstart\",u),T(o.scroller,\"drop\",s),l||(D(e),i.addNew||Gi(t.doc,r,null,null,i.extend),x&&!j||w&&9==v?setTimeout(function(){o.wrapper.ownerDocument.body.focus({preventScroll:!0}),o.input.focus()},20):o.input.focus())}),a=function(e){l=l||10<=Math.abs(n.clientX-e.clientX)+Math.abs(n.clientY-e.clientY)},u=function(){return l=!0};x&&(o.scroller.draggable=!0);(t.state.draggingText=s).copy=!i.moveOnDrag,k(o.wrapper.ownerDocument,\"mouseup\",s),k(o.wrapper.ownerDocument,\"mousemove\",a),k(o.scroller,\"dragstart\",u),k(o.scroller,\"drop\",s),t.state.delayingBlurEvent=!0,setTimeout(function(){return o.input.focus()},20),o.scroller.dragDrop&&o.scroller.dragDrop()}:function(d,e,f,p){w&&Mr(d);var l=d.display,g=d.doc;D(e);var m,v,y=g.sel,t=y.ranges;p.addNew&&!p.extend?(v=g.sel.contains(f),m=-1<v?t[v]:new G(f,f)):(m=g.sel.primary(),v=g.sel.primIndex);\"rectangle\"==p.unit?(p.addNew||(m=new G(f,f)),f=gr(d,e,!0,!0),v=-1):(e=ul(d,f,p.unit),m=p.extend?Bi(m,e.anchor,e.head,p.extend):e);p.addNew?-1==v?(v=t.length,U(g,vi(d,t.concat([m]),v),{scroll:!1,origin:\"*mouse\"})):1<t.length&&t[v].empty()&&\"char\"==p.unit&&!p.extend?(U(g,vi(d,t.slice(0,v).concat(t.slice(v+1)),0),{scroll:!1,origin:\"*mouse\"}),y=g.sel):Vi(g,v,m,ye):(U(g,new B([m],v=0),ye),y=g.sel);var b=f;function s(e){if(0!=P(b,e))if(b=e,\"rectangle\"==p.unit){for(var t=[],n=d.options.tabSize,r=S(W(g,f.line).text,f.ch,n),i=S(W(g,e.line).text,e.ch,n),o=Math.min(r,i),l=Math.max(r,i),s=Math.min(f.line,e.line),a=Math.min(d.lastLine(),Math.max(f.line,e.line));s<=a;s++){var u=W(g,s).text,c=we(u,o,n);o==l?t.push(new G(F(s,c),F(s,c))):u.length>c&&t.push(new G(F(s,c),F(s,we(u,l,n))))}t.length||t.push(new G(f,f)),U(g,vi(d,y.ranges.slice(0,v).concat(t),v),{origin:\"*mouse\",scroll:!1}),d.scrollIntoView(e)}else{var h,r=m,i=ul(d,e,p.unit),e=r.anchor,e=0<P(i.anchor,e)?(h=i.head,kt(r.from(),i.anchor)):(h=i.anchor,Lt(r.to(),i.head)),r=y.ranges.slice(0);r[v]=function(e,t){var n=t.anchor,r=t.head,i=W(e.doc,n.line);if(0==P(n,r)&&n.sticky==r.sticky)return t;i=Ve(i);if(!i)return t;var o=Pe(i,n.ch,n.sticky),l=i[o];if(l.from!=n.ch&&l.to!=n.ch)return t;var s=o+(l.from==n.ch==(1!=l.level)?0:1);if(0==s||s==i.length)return t;l=r.line!=n.line?0<(r.line-n.line)*(\"ltr\"==e.doc.direction?1:-1):(e=Pe(i,r.ch,r.sticky),o=e-o||(r.ch-n.ch)*(1==l.level?-1:1),e==s-1||e==s?o<0:0<o);e=i[s+(l?-1:0)],o=l==(1==e.level),i=o?e.from:e.to,s=o?\"after\":\"before\";return n.ch==i&&n.sticky==s?t:new G(new F(n.line,i,s),r)}(d,new G(E(g,e),h)),U(g,vi(d,r,v),ye)}}var a=l.wrapper.getBoundingClientRect(),u=0;function n(e){d.state.selectingText=!1,u=1/0,e&&(D(e),l.input.focus()),T(l.wrapper.ownerDocument,\"mousemove\",r),T(l.wrapper.ownerDocument,\"mouseup\",i),g.history.lastSelOrigin=null}var r=I(d,function(e){(0!==e.buttons&&Je(e)?function e(t){var n,r,i=++u,o=gr(d,t,!0,\"rectangle\"==p.unit);o&&(0!=P(o,b)?(d.curOp.focus=N(ue(d)),s(o),n=Wr(l,g),(o.line>=n.to||o.line<n.from)&&setTimeout(I(d,function(){u==i&&e(t)}),150)):(r=t.clientY<a.top?-20:t.clientY>a.bottom?20:0)&&setTimeout(I(d,function(){u==i&&(l.scroller.scrollTop+=r,e(t))}),50))}:n)(e)}),i=I(d,n);d.state.selectingText=i,k(l.wrapper.ownerDocument,\"mousemove\",r),k(l.wrapper.ownerDocument,\"mouseup\",i)})(i,s,o,a)):Qe(e)==h.scroller&&D(e):2==n?(t&&Gi(c.doc,t),setTimeout(function(){return h.input.focus()},20)):3==n&&(Q?c.display.input.onContextMenu(e):Mr(c)))))}function ul(e,t,n){if(\"char\"==n)return new G(t,t);if(\"word\"==n)return e.findWordAt(t);if(\"line\"==n)return new G(F(t.line,0),E(e.doc,F(t.line+1,0)));n=n(e,t);return new G(n.from,n.to)}function cl(e,t,n,r){var i,o;if(t.touches)i=t.touches[0].clientX,o=t.touches[0].clientY;else try{i=t.clientX,o=t.clientY}catch(e){return!1}if(i>=Math.floor(e.display.gutters.getBoundingClientRect().right))return!1;r&&D(t);var l=e.display,r=l.lineDiv.getBoundingClientRect();if(o>r.bottom||!Ye(e,n))return qe(t);o-=r.top-l.viewOffset;for(var s=0;s<e.display.gutterSpecs.length;++s){var a=l.gutters.childNodes[s];if(a&&a.getBoundingClientRect().right>=i)return O(e,n,e,bt(e.doc,o),e.display.gutterSpecs[s].className,t),qe(t)}}function hl(e,t){return cl(e,t,\"gutterClick\",!0)}function dl(e,t){var n,r;An(e.display,t)||(r=t,Ye(n=e,\"gutterContextMenu\")&&cl(n,r,\"gutterContextMenu\",!1))||A(e,t,\"contextmenu\")||Q||e.display.input.onContextMenu(t)}function fl(e){e.display.wrapper.className=e.display.wrapper.className.replace(/\\s*cm-s-\\S+/g,\"\")+e.options.theme.replace(/(^|\\s)\\s*/g,\" cm-s-\"),Yn(e)}ol.prototype.compare=function(e,t,n){return this.time+400>e&&0==P(t,this.pos)&&n==this.button};var pl={toString:function(){return\"CodeMirror.Init\"}},gl={},ml={};function vl(e,t,n){!t!=!(n&&n!=pl)&&(n=e.display.dragFunctions,(t=t?k:T)(e.display.scroller,\"dragstart\",n.start),t(e.display.scroller,\"dragenter\",n.enter),t(e.display.scroller,\"dragover\",n.over),t(e.display.scroller,\"dragleave\",n.leave),t(e.display.scroller,\"drop\",n.drop))}function yl(e){e.options.lineWrapping?(ie(e.display.wrapper,\"CodeMirror-wrap\"),e.display.sizer.style.minWidth=\"\",e.display.sizerWidth=null):(ee(e.display.wrapper,\"CodeMirror-wrap\"),an(e)),pr(e),R(e),Yn(e),setTimeout(function(){return jr(e)},100)}function p(e,t){var n=this;if(!(this instanceof p))return new p(e,t);this.options=t=t?fe(t):{},fe(gl,t,!1);var r,i=t.value,o=(\"string\"==typeof i?i=new f(i,t.mode,null,t.lineSeparator,t.direction):t.mode&&(i.modeOption=t.mode),this.doc=i,new p.inputStyles[t.inputStyle](this)),e=this.display=new hi(e,i,o,t),l=(fl(e.wrapper.CodeMirror=this),t.lineWrapping&&(this.display.wrapper.className+=\" CodeMirror-wrap\"),$r(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new pe,keySeq:null,specialChars:null},t.autofocus&&!_&&e.input.focus(),w&&v<11&&setTimeout(function(){return n.display.input.reset(!0)},20),this),s=l.display;k(s.scroller,\"mousedown\",I(l,al)),k(s.scroller,\"dblclick\",w&&v<11?I(l,function(e){var t;A(l,e)||(!(t=gr(l,e))||hl(l,e)||An(l.display,e)||(D(e),e=l.findWordAt(t),Gi(l.doc,e.anchor,e.head)))}):function(e){return A(l,e)||D(e)}),k(s.scroller,\"contextmenu\",function(e){return dl(l,e)}),k(s.input.getField(),\"contextmenu\",function(e){s.scroller.contains(e.target)||dl(l,e)});var a,u={end:0};function c(){s.activeTouch&&(a=setTimeout(function(){return s.activeTouch=null},1e3),(u=s.activeTouch).end=+new Date)}function h(e,t){if(null==t.left)return 1;var n=t.left-e.left,t=t.top-e.top;return 400<n*n+t*t}k(s.scroller,\"touchstart\",function(e){var t;A(l,e)||function(e){if(1==e.touches.length)return(e=e.touches[0]).radiusX<=1&&e.radiusY<=1}(e)||hl(l,e)||(s.input.ensurePolled(),clearTimeout(a),t=+new Date,s.activeTouch={start:t,moved:!1,prev:t-u.end<=300?u:null},1==e.touches.length&&(s.activeTouch.left=e.touches[0].pageX,s.activeTouch.top=e.touches[0].pageY))}),k(s.scroller,\"touchmove\",function(){s.activeTouch&&(s.activeTouch.moved=!0)}),k(s.scroller,\"touchend\",function(e){var t,n=s.activeTouch;n&&!An(s,e)&&null!=n.left&&!n.moved&&new Date-n.start<300&&(t=l.coordsChar(s.activeTouch,\"page\"),n=!n.prev||h(n,n.prev)?new G(t,t):!n.prev.prev||h(n,n.prev.prev)?l.findWordAt(t):new G(F(t.line,0),E(l.doc,F(t.line+1,0))),l.setSelection(n.anchor,n.head),l.focus(),D(e)),c()}),k(s.scroller,\"touchcancel\",c),k(s.scroller,\"scroll\",function(){s.scroller.clientHeight&&(Ir(l,s.scroller.scrollTop),Gr(l,s.scroller.scrollLeft,!0),O(l,\"scroll\",l))}),k(s.scroller,\"mousewheel\",function(e){return mi(l,e)}),k(s.scroller,\"DOMMouseScroll\",function(e){return mi(l,e)}),k(s.wrapper,\"scroll\",function(){return s.wrapper.scrollTop=s.wrapper.scrollLeft=0}),s.dragFunctions={enter:function(e){A(l,e)||Ze(e)},over:function(e){var t,n;A(l,e)||((n=gr(t=l,n=e))&&(Sr(t,n,n=document.createDocumentFragment()),t.display.dragCursor||(t.display.dragCursor=M(\"div\",null,\"CodeMirror-cursors CodeMirror-dragcursors\"),t.display.lineSpace.insertBefore(t.display.dragCursor,t.display.cursorDiv)),y(t.display.dragCursor,n)),Ze(e))},start:function(e){var t,n;t=l,e=e,w&&(!t.state.draggingText||+new Date-So<100)?Ze(e):A(t,e)||An(t.display,e)||(e.dataTransfer.setData(\"Text\",t.getSelection()),e.dataTransfer.effectAllowed=\"copyMove\",e.dataTransfer.setDragImage&&!j&&((n=M(\"img\",null,null,\"position: fixed; left: 0; top: 0;\")).src=\"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\",K&&(n.width=n.height=1,t.display.wrapper.appendChild(n),n._top=n.offsetTop),e.dataTransfer.setDragImage(n,0,0),K&&n.parentNode.removeChild(n)))},drop:I(l,Lo),leave:function(e){A(l,e)||ko(l)}};o=s.input.getField();for(r in k(o,\"keyup\",function(e){return rl.call(l,e)}),k(o,\"keydown\",I(l,nl)),k(o,\"keypress\",I(l,il)),k(o,\"focus\",function(e){return Nr(l,e)}),k(o,\"blur\",function(e){return Or(l,e)}),No(),qr(this),this.curOp.forceUpdate=!0,Ni(this,i),t.autofocus&&!_||this.hasFocus()?setTimeout(function(){n.hasFocus()&&!n.state.focused&&Nr(n)},20):Or(this),ml)ml.hasOwnProperty(r)&&ml[r](this,t[r],pl);si(this),t.finishInit&&t.finishInit(this);for(var d=0;d<bl.length;++d)bl[d](this);Zr(this),x&&t.lineWrapping&&\"optimizelegibility\"==getComputedStyle(e.lineDiv).textRendering&&(e.lineDiv.style.textRendering=\"auto\")}p.defaults=gl,p.optionHandlers=ml;var bl=[];function wl(e,t,n,r){var i,o=e.doc,l=(\"smart\"==(n=null==n?\"add\":n)&&(o.mode.indent?i=Wt(e,t).state:n=\"prev\"),e.options.tabSize),s=W(o,t),a=S(s.text,null,l),u=(s.stateAfter&&(s.stateAfter=null),s.text.match(/^\\s*/)[0]);if(r||/\\S/.test(s.text)){if(\"smart\"==n&&((c=o.mode.indent(i,s.text.slice(u.length),s.text))==me||150<c)){if(!r)return;n=\"prev\"}}else c=0,n=\"not\";\"prev\"==n?c=t>o.first?S(W(o,t-1).text,null,l):0:\"add\"==n?c=a+e.options.indentUnit:\"subtract\"==n?c=a-e.options.indentUnit:\"number\"==typeof n&&(c=a+n);var c=Math.max(0,c),h=\"\",d=0;if(e.options.indentWithTabs)for(var f=Math.floor(c/l);f;--f)d+=l,h+=\"\\t\";if(d<c&&(h+=Ce(c-d)),h!=u)return lo(o,h,F(t,0),F(t,u.length),\"+input\"),!(s.stateAfter=null);for(var p=0;p<o.sel.ranges.length;p++){var g=o.sel.ranges[p];if(g.head.line==t&&g.head.ch<u.length){g=F(t,u.length);Vi(o,p,new G(g,g));break}}}p.defineInitHook=function(e){return bl.push(e)};var xl=null;function Cl(e){xl=e}function Sl(e,t,n,r,i){var o=e.doc,l=(e.display.shift=!1,r=r||o.sel,+new Date-200),s=\"paste\"==i||e.state.pasteIncoming>l,a=rt(t),u=null;if(s&&1<r.ranges.length)if(xl&&xl.text.join(\"\\n\")==t){if(r.ranges.length%xl.text.length==0)for(var u=[],c=0;c<xl.text.length;c++)u.push(o.splitLines(xl.text[c]))}else a.length==r.ranges.length&&e.options.pasteLinesPerSelection&&(u=Se(a,function(e){return[e]}));for(var h=e.curOp.updateInput,d=r.ranges.length-1;0<=d;d--){var f=r.ranges[d],p=f.from(),g=f.to(),f=(f.empty()&&(n&&0<n?p=F(p.line,p.ch-n):e.state.overwrite&&!s?g=F(g.line,Math.min(W(o,g.line).text.length,g.ch+z(a).length)):s&&xl&&xl.lineWise&&xl.text.join(\"\\n\")==a.join(\"\\n\")&&(p=g=F(p.line,0))),{from:p,to:g,text:u?u[d%u.length]:a,origin:i||(s?\"paste\":e.state.cutIncoming>l?\"cut\":\"+input\")});to(e.doc,f),b(e,\"inputRead\",e,f)}t&&!s&&kl(e,t),Pr(e),e.curOp.updateInput<2&&(e.curOp.updateInput=h),e.curOp.typing=!0,e.state.pasteIncoming=e.state.cutIncoming=-1}function Ll(e,t){var n=e.clipboardData&&e.clipboardData.getData(\"Text\");return n&&(e.preventDefault(),t.isReadOnly()||t.options.disableInput||!t.hasFocus()||h(t,function(){return Sl(t,n,0,null,\"paste\")}),1)}function kl(e,t){if(e.options.electricChars&&e.options.smartIndent)for(var n=e.doc.sel,r=n.ranges.length-1;0<=r;r--){var i=n.ranges[r];if(!(100<i.head.ch||r&&n.ranges[r-1].head.line==i.head.line)){var o=e.getModeAt(i.head),l=!1;if(o.electricChars){for(var s=0;s<o.electricChars.length;s++)if(-1<t.indexOf(o.electricChars.charAt(s))){l=wl(e,i.head.line,\"smart\");break}}else o.electricInput&&o.electricInput.test(W(e.doc,i.head.line).text.slice(0,i.head.ch))&&(l=wl(e,i.head.line,\"smart\"));l&&b(e,\"electricInput\",e,i.head.line)}}}function Tl(e){for(var t=[],n=[],r=0;r<e.doc.sel.ranges.length;r++){var i=e.doc.sel.ranges[r].head.line,i={anchor:F(i,0),head:F(i+1,0)};n.push(i),t.push(e.getRange(i.anchor,i.head))}return{text:t,ranges:n}}function Ml(e,t,n,r){e.setAttribute(\"autocorrect\",n?\"on\":\"off\"),e.setAttribute(\"autocapitalize\",r?\"on\":\"off\"),e.setAttribute(\"spellcheck\",!!t)}function Nl(){var e=M(\"textarea\",null,null,\"position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; min-height: 1em; outline: none\"),t=M(\"div\",[e],null,\"overflow: hidden; position: relative; width: 3px; height: 0px;\");return x?e.style.width=\"1000px\":e.setAttribute(\"wrap\",\"off\"),Y&&(e.style.border=\"1px solid black\"),t}function Ol(n,r,i,o,l){var e=r,t=i,s=W(n,r.line),a=l&&\"rtl\"==n.direction?-i:i;function u(e){var t;if(null==(t=\"codepoint\"==o?(t=s.text.charCodeAt(r.ch+(0<i?0:-1)),isNaN(t)?null:(t=0<i?55296<=t&&t<56320:56320<=t&&t<57343,new F(r.line,Math.max(0,Math.min(s.text.length,r.ch+i*(t?2:1))),-i))):l?Xo(n.cm,s,r,i):Ko(s,r,i))){if(e||(e=r.line+a)<n.first||e>=n.first+n.size||(r=new F(e,r.ch,r.sticky),!(s=W(n,e))))return;r=jo(l,n.cm,s,r.line,a)}else r=t;return 1}if(\"char\"==o||\"codepoint\"==o)u();else if(\"column\"==o)u(!0);else if(\"word\"==o||\"group\"==o)for(var c=null,h=\"group\"==o,d=n.cm&&n.cm.getHelper(r,\"wordChars\"),f=!0;!(i<0)||u(!f);f=!1){var p=s.text.charAt(r.ch)||\"\\n\",p=Ne(p,d)?\"w\":h&&\"\\n\"==p?\"n\":!h||/\\s/.test(p)?null:\"p\";if(!h||f||p||(p=\"s\"),c&&c!=p){i<0&&(i=1,u(),r.sticky=\"after\");break}if(p&&(c=p),0<i&&!u(!f))break}t=Zi(n,r,e,t,!0);return Ct(e,t)&&(t.hitSide=!0),t}function Al(e,t,n,r){var i,o,l,s=e.doc,a=t.left;for(\"page\"==r?(i=Math.min(e.display.wrapper.clientHeight,he(e).innerHeight||s(e).documentElement.clientHeight),i=Math.max(i-.5*ur(e.display),3),o=(0<n?t.bottom:t.top)+n*i):\"line\"==r&&(o=0<n?t.bottom+3:t.top-3);(l=rr(e,a,o)).outside;){if(n<0?o<=0:o>=s.height){l.hitSide=!0;break}o+=5*n}return l}function r(e){this.cm=e,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new pe,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null}function Dl(e,t){var n=In(e,t.line);if(!n||n.hidden)return null;var r=W(e.doc,t.line),n=Rn(n,r,t.line),r=Ve(r,e.doc.direction),e=\"left\",r=(r&&(e=Pe(r,t.ch)%2?\"right\":\"left\"),Kn(n.map,t.ch,e));return r.offset=\"right\"==r.collapse?r.end:r.start,r}function Wl(e,t){return t&&(e.bad=!0),e}function Hl(e,t,n){var r;if(t==e.display.lineDiv){if(!(r=e.display.lineDiv.childNodes[n]))return Wl(e.clipPos(F(e.display.viewTo-1)),!0);t=null,n=0}else for(r=t;;r=r.parentNode){if(!r||r==e.display.lineDiv)return null;if(r.parentNode&&r.parentNode==e.display.lineDiv)break}for(var i=0;i<e.display.view.length;i++){var o=e.display.view[i];if(o.node==r){var u=o,o=t,l=n,s=u.text.firstChild,a=!1;if(!o||!re(s,o))return Wl(F(H(u.line),0),!0);if(o==s)if(a=!0,o=s.childNodes[l],l=0,!o)return Wl(F(H(c=u.rest?z(u.rest):u.line),c.text.length),a);var c=3==o.nodeType?o:null,h=o;for(c||1!=o.childNodes.length||3!=o.firstChild.nodeType||(c=o.firstChild,l=l&&c.nodeValue.length);h.parentNode!=s;)h=h.parentNode;var d=u.measure,f=d.maps;function p(e,t,n){for(var r=-1;r<(f?f.length:0);r++)for(var i=r<0?d.map:f[r],o=0;o<i.length;o+=3){var l,s,a=i[o+2];if(a==e||a==t)return l=H(r<0?u.line:u.rest[r]),s=i[o]+n,F(l,s=n<0||a!=e?i[o+(n?1:0)]:s)}}var g=p(c,h,l);if(g)return Wl(g,a);for(var m=h.nextSibling,v=c?c.nodeValue.length-l:0;m;m=m.nextSibling){if(g=p(m,m.firstChild,0))return Wl(F(g.line,g.ch-v),a);v+=m.textContent.length}for(var y=h.previousSibling,b=l;y;y=y.previousSibling){if(g=p(y,y.firstChild,-1))return Wl(F(g.line,g.ch+b),a);b+=y.textContent.length}return}}}r.prototype.init=function(e){var t=this,o=this,l=o.cm,s=o.div=e.lineDiv;function a(e){for(var t=e.target;t;t=t.parentNode){if(t==s)return 1;if(/\\bCodeMirror-(?:line)?widget\\b/.test(t.className))break}}function n(e){if(a(e)&&!A(l,e)){if(l.somethingSelected())Cl({lineWise:!1,text:l.getSelections()}),\"cut\"==e.type&&l.replaceSelection(\"\",null,\"cut\");else{if(!l.options.lineWiseCopyCut)return;var t=Tl(l);Cl({lineWise:!0,text:t.text}),\"cut\"==e.type&&l.operation(function(){l.setSelections(t.ranges,0,ve),l.replaceSelection(\"\",null,\"cut\")})}if(e.clipboardData){e.clipboardData.clearData();var n=xl.text.join(\"\\n\");if(e.clipboardData.setData(\"Text\",n),e.clipboardData.getData(\"Text\")==n)return void e.preventDefault()}var r=Nl(),n=r.firstChild,i=(Ml(n),l.display.lineSpace.insertBefore(r,l.display.lineSpace.firstChild),n.value=xl.text.join(\"\\n\"),N(ce(s)));se(n),setTimeout(function(){l.display.lineSpace.removeChild(r),i.focus(),i==s&&o.showPrimarySelection()},50)}}s.contentEditable=!0,Ml(s,l.options.spellcheck,l.options.autocorrect,l.options.autocapitalize),k(s,\"paste\",function(e){!a(e)||A(l,e)||Ll(e,l)||v<=11&&setTimeout(I(l,function(){return t.updateFromDOM()}),20)}),k(s,\"compositionstart\",function(e){t.composing={data:e.data,done:!1}}),k(s,\"compositionupdate\",function(e){t.composing||(t.composing={data:e.data,done:!1})}),k(s,\"compositionend\",function(e){t.composing&&(e.data!=t.composing.data&&t.readFromDOMSoon(),t.composing.done=!0)}),k(s,\"touchstart\",function(){return o.forceCompositionEnd()}),k(s,\"input\",function(){t.composing||t.readFromDOMSoon()}),k(s,\"copy\",n),k(s,\"cut\",n)},r.prototype.screenReaderLabelChanged=function(e){e?this.div.setAttribute(\"aria-label\",e):this.div.removeAttribute(\"aria-label\")},r.prototype.prepareSelection=function(){var e=Cr(this.cm,!1);return e.focus=N(ce(this.div))==this.div,e},r.prototype.showSelection=function(e,t){e&&this.cm.display.view.length&&((e.focus||t)&&this.showPrimarySelection(),this.showMultipleSelections(e))},r.prototype.getSelection=function(){return this.cm.display.wrapper.ownerDocument.getSelection()},r.prototype.showPrimarySelection=function(){var e=this.getSelection(),t=this.cm,n=t.doc.sel.primary(),r=n.from(),n=n.to();if(t.display.viewTo==t.display.viewFrom||r.line>=t.display.viewTo||n.line<t.display.viewFrom)e.removeAllRanges();else{var i=Hl(t,e.anchorNode,e.anchorOffset),o=Hl(t,e.focusNode,e.focusOffset);if(!i||i.bad||!o||o.bad||0!=P(kt(i,o),r)||0!=P(Lt(i,o),n)){var i=t.display.view,o=r.line>=t.display.viewFrom&&Dl(t,r)||{node:i[0].measure.map[2],offset:0},r=n.line<t.display.viewTo&&Dl(t,n);if(r||(r={node:(i=(n=i[i.length-1].measure).maps?n.maps[n.maps.length-1]:n.map)[i.length-1],offset:i[i.length-2]-i[i.length-3]}),o&&r){var l,n=e.rangeCount&&e.getRangeAt(0);try{l=le(o.node,o.offset,r.offset,r.node)}catch(e){}l&&(!d&&t.state.focused?(e.collapse(o.node,o.offset),l.collapsed||(e.removeAllRanges(),e.addRange(l))):(e.removeAllRanges(),e.addRange(l)),n&&null==e.anchorNode?e.addRange(n):d&&this.startGracePeriod()),this.rememberSelection()}else e.removeAllRanges()}}},r.prototype.startGracePeriod=function(){var e=this;clearTimeout(this.gracePeriod),this.gracePeriod=setTimeout(function(){e.gracePeriod=!1,e.selectionChanged()&&e.cm.operation(function(){return e.cm.curOp.selectionChanged=!0})},20)},r.prototype.showMultipleSelections=function(e){y(this.cm.display.cursorDiv,e.cursors),y(this.cm.display.selectionDiv,e.selection)},r.prototype.rememberSelection=function(){var e=this.getSelection();this.lastAnchorNode=e.anchorNode,this.lastAnchorOffset=e.anchorOffset,this.lastFocusNode=e.focusNode,this.lastFocusOffset=e.focusOffset},r.prototype.selectionInEditor=function(){var e=this.getSelection();if(!e.rangeCount)return!1;e=e.getRangeAt(0).commonAncestorContainer;return re(this.div,e)},r.prototype.focus=function(){\"nocursor\"!=this.cm.options.readOnly&&(this.selectionInEditor()&&N(ce(this.div))==this.div||this.showSelection(this.prepareSelection(),!0),this.div.focus())},r.prototype.blur=function(){this.div.blur()},r.prototype.getField=function(){return this.div},r.prototype.supportsTouch=function(){return!0},r.prototype.receivedFocus=function(){var e=this,t=this;this.selectionInEditor()?setTimeout(function(){return e.pollSelection()},20):h(this.cm,function(){return t.cm.curOp.selectionChanged=!0}),this.polling.set(this.cm.options.pollInterval,function e(){t.cm.state.focused&&(t.pollSelection(),t.polling.set(t.cm.options.pollInterval,e))})},r.prototype.selectionChanged=function(){var e=this.getSelection();return e.anchorNode!=this.lastAnchorNode||e.anchorOffset!=this.lastAnchorOffset||e.focusNode!=this.lastFocusNode||e.focusOffset!=this.lastFocusOffset},r.prototype.pollSelection=function(){if(null==this.readDOMTimeout&&!this.gracePeriod&&this.selectionChanged()){var e,t,n=this.getSelection(),r=this.cm;if($&&m&&this.cm.display.gutterSpecs.length&&function(e){for(var t=e;t;t=t.parentNode)if(/CodeMirror-gutter-wrapper/.test(t.className))return 1;return}(n.anchorNode))return this.cm.triggerOnKeyDown({type:\"keydown\",keyCode:8,preventDefault:Math.abs}),this.blur(),void this.focus();this.composing||(this.rememberSelection(),e=Hl(r,n.anchorNode,n.anchorOffset),t=Hl(r,n.focusNode,n.focusOffset),e&&t&&h(r,function(){U(r.doc,yi(e,t),ve),(e.bad||t.bad)&&(r.curOp.selectionChanged=!0)}))}},r.prototype.pollContent=function(){null!=this.readDOMTimeout&&(clearTimeout(this.readDOMTimeout),this.readDOMTimeout=null);var e,t=this.cm,n=t.display,r=t.doc.sel.primary(),i=r.from(),r=r.to();if(0==i.ch&&i.line>t.firstLine()&&(i=F(i.line-1,W(t.doc,i.line-1).length)),r.ch==W(t.doc,r.line).text.length&&r.line<t.lastLine()&&(r=F(r.line+1,0)),i.line<n.viewFrom||r.line>n.viewTo-1)return!1;var o,l=i.line==n.viewFrom||0==(l=mr(t,i.line))?(e=H(n.view[0].line),n.view[0].node):(e=H(n.view[l].line),n.view[l-1].node.nextSibling),r=mr(t,r.line),n=r==n.view.length-1?(o=n.viewTo-1,n.lineDiv.lastChild):(o=H(n.view[r+1].line)-1,n.view[r+1].node.previousSibling);if(!l)return!1;for(var s=t.doc.splitLines(function(o,e,t,l,s){var n=\"\",a=!1,u=o.doc.lineSeparator(),c=!1;function h(){a&&(n+=u,c&&(n+=u),a=c=!1)}function d(e){e&&(h(),n+=e)}for(;!function e(t){if(1==t.nodeType){var n=t.getAttribute(\"cm-text\");if(n)d(n);else if(n=t.getAttribute(\"cm-marker\"))(n=o.findMarks(F(l,0),F(s+1,0),(i=+n,function(e){return e.id==i}))).length&&(n=n[0].find(0))&&d(mt(o.doc,n.from,n.to).join(u));else if(\"false\"!=t.getAttribute(\"contenteditable\")&&(n=/^(pre|div|p|li|table|br)$/i.test(t.nodeName),/^br$/i.test(t.nodeName)||0!=t.textContent.length)){n&&h();for(var r=0;r<t.childNodes.length;r++)e(t.childNodes[r]);/^(pre|p)$/i.test(t.nodeName)&&(c=!0),n&&(a=!0)}}else 3==t.nodeType&&d(t.nodeValue.replace(/\\u200b/g,\"\").replace(/\\u00a0/g,\" \"));var i}(e),e!=t;)e=e.nextSibling,c=!1;return n}(t,l,n,e,o)),a=mt(t.doc,F(e,0),F(o,W(t.doc,o).text.length));1<s.length&&1<a.length;)if(z(s)==z(a))s.pop(),a.pop(),o--;else{if(s[0]!=a[0])break;s.shift(),a.shift(),e++}for(var u=0,c=0,h=s[0],d=a[0],f=Math.min(h.length,d.length);u<f&&h.charCodeAt(u)==d.charCodeAt(u);)++u;for(var p=z(s),g=z(a),m=Math.min(p.length-(1==s.length?u:0),g.length-(1==a.length?u:0));c<m&&p.charCodeAt(p.length-c-1)==g.charCodeAt(g.length-c-1);)++c;if(1==s.length&&1==a.length&&e==i.line)for(;u&&u>i.ch&&p.charCodeAt(p.length-c-1)==g.charCodeAt(g.length-c-1);)u--,c++;s[s.length-1]=p.slice(0,p.length-c).replace(/^\\u200b+/,\"\"),s[0]=s[0].slice(u).replace(/\\u200b+$/,\"\");r=F(e,u),l=F(o,a.length?z(a).length-c:0);return 1<s.length||s[0]||P(r,l)?(lo(t.doc,s,r,l,\"+input\"),!0):void 0},r.prototype.ensurePolled=function(){this.forceCompositionEnd()},r.prototype.reset=function(){this.forceCompositionEnd()},r.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},r.prototype.readFromDOMSoon=function(){var e=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout(function(){if(e.readDOMTimeout=null,e.composing){if(!e.composing.done)return;e.composing=null}e.updateFromDOM()},80))},r.prototype.updateFromDOM=function(){var e=this;!this.cm.isReadOnly()&&this.pollContent()||h(this.cm,function(){return R(e.cm)})},r.prototype.setUneditable=function(e){e.contentEditable=\"false\"},r.prototype.onKeyPress=function(e){0==e.charCode||this.composing||(e.preventDefault(),this.cm.isReadOnly()||I(this.cm,Sl)(this.cm,String.fromCharCode(null==e.charCode?e.keyCode:e.charCode),0))},r.prototype.readOnlyChanged=function(e){this.div.contentEditable=String(\"nocursor\"!=e)},r.prototype.onContextMenu=function(){},r.prototype.resetPosition=function(){},r.prototype.needsContentAttribute=!0;function i(e){this.cm=e,this.prevInput=\"\",this.pollingFast=!1,this.polling=new pe,this.hasSelection=!1,this.composing=null,this.resetting=!1}var Fl,Pl,El,Rl,zl;function o(e,t,r,n){Fl.defaults[e]=t,r&&(Pl[e]=n?function(e,t,n){n!=pl&&r(e,t,n)}:r)}i.prototype.init=function(n){var e=this,r=this,i=this.cm,o=(this.createField(n),this.textarea);function t(e){if(!A(i,e)){if(i.somethingSelected())Cl({lineWise:!1,text:i.getSelections()});else{if(!i.options.lineWiseCopyCut)return;var t=Tl(i);Cl({lineWise:!0,text:t.text}),\"cut\"==e.type?i.setSelections(t.ranges,null,ve):(r.prevInput=\"\",o.value=t.text.join(\"\\n\"),se(o))}\"cut\"==e.type&&(i.state.cutIncoming=+new Date)}}n.wrapper.insertBefore(this.wrapper,n.wrapper.firstChild),Y&&(o.style.width=\"0px\"),k(o,\"input\",function(){w&&9<=v&&e.hasSelection&&(e.hasSelection=null),r.poll()}),k(o,\"paste\",function(e){A(i,e)||Ll(e,i)||(i.state.pasteIncoming=+new Date,r.fastPoll())}),k(o,\"cut\",t),k(o,\"copy\",t),k(n.scroller,\"paste\",function(e){if(!An(n,e)&&!A(i,e)){if(!o.dispatchEvent)return i.state.pasteIncoming=+new Date,void r.focus();var t=new Event(\"paste\");t.clipboardData=e.clipboardData,o.dispatchEvent(t)}}),k(n.lineSpace,\"selectstart\",function(e){An(n,e)||D(e)}),k(o,\"compositionstart\",function(){var e=i.getCursor(\"from\");r.composing&&r.composing.range.clear(),r.composing={start:e,range:i.markText(e,i.getCursor(\"to\"),{className:\"CodeMirror-composing\"})}}),k(o,\"compositionend\",function(){r.composing&&(r.poll(),r.composing.range.clear(),r.composing=null)})},i.prototype.createField=function(e){this.wrapper=Nl(),this.textarea=this.wrapper.firstChild;var t=this.cm.options;Ml(this.textarea,t.spellcheck,t.autocorrect,t.autocapitalize)},i.prototype.screenReaderLabelChanged=function(e){e?this.textarea.setAttribute(\"aria-label\",e):this.textarea.removeAttribute(\"aria-label\")},i.prototype.prepareSelection=function(){var e,t=this.cm,n=t.display,r=t.doc,i=Cr(t);return t.options.moveInputWithCursor&&(t=er(t,r.sel.primary().head,\"div\"),r=n.wrapper.getBoundingClientRect(),e=n.lineDiv.getBoundingClientRect(),i.teTop=Math.max(0,Math.min(n.wrapper.clientHeight-10,t.top+e.top-r.top)),i.teLeft=Math.max(0,Math.min(n.wrapper.clientWidth-10,t.left+e.left-r.left))),i},i.prototype.showSelection=function(e){var t=this.cm.display;y(t.cursorDiv,e.cursors),y(t.selectionDiv,e.selection),null!=e.teTop&&(this.wrapper.style.top=e.teTop+\"px\",this.wrapper.style.left=e.teLeft+\"px\")},i.prototype.reset=function(e){var t,n;this.contextMenuPending||this.composing&&e||(t=this.cm,this.resetting=!0,t.somethingSelected()?(this.prevInput=\"\",n=t.getSelection(),this.textarea.value=n,t.state.focused&&se(this.textarea),w&&9<=v&&(this.hasSelection=n)):e||(this.prevInput=this.textarea.value=\"\",w&&9<=v&&(this.hasSelection=null)),this.resetting=!1)},i.prototype.getField=function(){return this.textarea},i.prototype.supportsTouch=function(){return!1},i.prototype.focus=function(){if(\"nocursor\"!=this.cm.options.readOnly&&(!_||N(ce(this.textarea))!=this.textarea))try{this.textarea.focus()}catch(e){}},i.prototype.blur=function(){this.textarea.blur()},i.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},i.prototype.receivedFocus=function(){this.slowPoll()},i.prototype.slowPoll=function(){var e=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,function(){e.poll(),e.cm.state.focused&&e.slowPoll()})},i.prototype.fastPoll=function(){var t=!1,n=this;n.pollingFast=!0,n.polling.set(20,function e(){n.poll()||t?(n.pollingFast=!1,n.slowPoll()):(t=!0,n.polling.set(60,e))})},i.prototype.poll=function(){var e=this,t=this.cm,n=this.textarea,r=this.prevInput;if(this.contextMenuPending||this.resetting||!t.state.focused||it(n)&&!r&&!this.composing||t.isReadOnly()||t.options.disableInput||t.state.keySeq)return!1;var i=n.value;if(i==r&&!t.somethingSelected())return!1;if(w&&9<=v&&this.hasSelection===i||C&&/[\\uf700-\\uf7ff]/.test(i))return t.display.input.reset(),!1;if(t.doc.sel==t.display.selForContextMenu){var o=i.charCodeAt(0);if(8203!=o||r||(r=\"​\"),8666==o)return this.reset(),this.cm.execCommand(\"undo\")}for(var l=0,s=Math.min(r.length,i.length);l<s&&r.charCodeAt(l)==i.charCodeAt(l);)++l;return h(t,function(){Sl(t,i.slice(l),r.length-l,null,e.composing?\"*compose\":null),1e3<i.length||-1<i.indexOf(\"\\n\")?n.value=e.prevInput=\"\":e.prevInput=i,e.composing&&(e.composing.range.clear(),e.composing.range=t.markText(e.composing.start,t.getCursor(\"to\"),{className:\"CodeMirror-composing\"}))}),!0},i.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},i.prototype.onKeyPress=function(){w&&9<=v&&(this.hasSelection=null),this.fastPoll()},i.prototype.onContextMenu=function(e){var n,r,t,i,o=this,l=o.cm,s=l.display,a=o.textarea,u=(o.contextMenuPending&&o.contextMenuPending(),gr(l,e)),c=s.scroller.scrollTop;function h(){var e,t;null!=a.selectionStart&&(t=\"​\"+((e=l.somethingSelected())?a.value:\"\"),a.value=\"⇚\",a.value=t,o.prevInput=e?\"\":\"​\",a.selectionStart=1,a.selectionEnd=t.length,s.selForContextMenu=l.doc.sel)}function d(){var e,t;o.contextMenuPending==d&&(o.contextMenuPending=!1,o.wrapper.style.cssText=r,a.style.cssText=n,w&&v<9&&s.scrollbars.setScrollTop(s.scroller.scrollTop=c),null!=a.selectionStart&&((!w||v<9)&&h(),e=0,t=function(){s.selForContextMenu==l.doc.sel&&0==a.selectionStart&&0<a.selectionEnd&&\"​\"==o.prevInput?I(l,Ji)(l):e++<10?s.detectingSelectAll=setTimeout(t,500):(s.selForContextMenu=null,s.input.reset())},s.detectingSelectAll=setTimeout(t,200)))}u&&!K&&(l.options.resetSelectionOnContextMenu&&-1==l.doc.sel.contains(u)&&I(l,U)(l.doc,yi(u),ve),n=a.style.cssText,r=o.wrapper.style.cssText,u=o.wrapper.offsetParent.getBoundingClientRect(),o.wrapper.style.cssText=\"position: static\",a.style.cssText=\"position: absolute; width: 30px; height: 30px;\\n      top: \"+(e.clientY-u.top-5)+\"px; left: \"+(e.clientX-u.left-5)+\"px;\\n      z-index: 1000; background: \"+(w?\"rgba(255, 255, 255, .05)\":\"transparent\")+\";\\n      outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);\",x&&(t=a.ownerDocument.defaultView.scrollY),s.input.focus(),x&&a.ownerDocument.defaultView.scrollTo(null,t),s.input.reset(),l.somethingSelected()||(a.value=o.prevInput=\" \"),o.contextMenuPending=d,s.selForContextMenu=l.doc.sel,clearTimeout(s.detectingSelectAll),w&&9<=v&&h(),Q?(Ze(e),i=function(){T(window,\"mouseup\",i),setTimeout(d,20)},k(window,\"mouseup\",i)):setTimeout(d,50))},i.prototype.readOnlyChanged=function(e){e||this.reset(),this.textarea.disabled=\"nocursor\"==e,this.textarea.readOnly=!!e},i.prototype.setUneditable=function(){},i.prototype.needsContentAttribute=!1,Pl=(Fl=p).optionHandlers,Fl.defineOption=o,Fl.Init=pl,o(\"value\",\"\",function(e,t){return e.setValue(t)},!0),o(\"mode\",null,function(e,t){e.doc.modeOption=t,Si(e)},!0),o(\"indentUnit\",2,Si,!0),o(\"indentWithTabs\",!1),o(\"smartIndent\",!0),o(\"tabSize\",4,function(e){Li(e),Yn(e),R(e)},!0),o(\"lineSeparator\",null,function(e,r){if(e.doc.lineSep=r){var i=[],o=e.doc.first;e.doc.iter(function(e){for(var t=0;;){var n=e.text.indexOf(r,t);if(-1==n)break;t=n+r.length,i.push(F(o,n))}o++});for(var t=i.length-1;0<=t;t--)lo(e.doc,r,i[t],F(i[t].line,i[t].ch+r.length))}}),o(\"specialChars\",/[\\u0000-\\u001f\\u007f-\\u009f\\u00ad\\u061c\\u200b\\u200e\\u200f\\u2028\\u2029\\u202d\\u202e\\u2066\\u2067\\u2069\\ufeff\\ufff9-\\ufffc]/g,function(e,t,n){e.state.specialChars=new RegExp(t.source+(t.test(\"\\t\")?\"\":\"|\\t\"),\"g\"),n!=pl&&e.refresh()}),o(\"specialCharPlaceholder\",pn,function(e){return e.refresh()},!0),o(\"electricChars\",!0),o(\"inputStyle\",_?\"contenteditable\":\"textarea\",function(){throw new Error(\"inputStyle can not (yet) be changed in a running editor\")},!0),o(\"spellcheck\",!1,function(e,t){return e.getInputField().spellcheck=t},!0),o(\"autocorrect\",!1,function(e,t){return e.getInputField().autocorrect=t},!0),o(\"autocapitalize\",!1,function(e,t){return e.getInputField().autocapitalize=t},!0),o(\"rtlMoveVisually\",!a),o(\"wholeLineUpdateBefore\",!0),o(\"theme\",\"default\",function(e){fl(e),ci(e)},!0),o(\"keyMap\",\"default\",function(e,t,n){t=Go(t),n=n!=pl&&Go(n);n&&n.detach&&n.detach(e,t),t.attach&&t.attach(e,n||null)}),o(\"extraKeys\",null),o(\"configureMouse\",null),o(\"lineWrapping\",!1,yl,!0),o(\"gutters\",[],function(e,t){e.display.gutterSpecs=ai(t,e.options.lineNumbers),ci(e)},!0),o(\"fixedGutter\",!0,function(e,t){e.display.gutters.style.left=t?dr(e.display)+\"px\":\"0\",e.refresh()},!0),o(\"coverGutterNextToScrollbar\",!1,function(e){return jr(e)},!0),o(\"scrollbarStyle\",\"native\",function(e){$r(e),jr(e),e.display.scrollbars.setScrollTop(e.doc.scrollTop),e.display.scrollbars.setScrollLeft(e.doc.scrollLeft)},!0),o(\"lineNumbers\",!1,function(e,t){e.display.gutterSpecs=ai(e.options.gutters,t),ci(e)},!0),o(\"firstLineNumber\",1,ci,!0),o(\"lineNumberFormatter\",function(e){return e},ci,!0),o(\"showCursorWhenSelecting\",!1,xr,!0),o(\"resetSelectionOnContextMenu\",!0),o(\"lineWiseCopyCut\",!0),o(\"pasteLinesPerSelection\",!0),o(\"selectionsMayTouch\",!1),o(\"readOnly\",!1,function(e,t){\"nocursor\"==t&&(Or(e),e.display.input.blur()),e.display.input.readOnlyChanged(t)}),o(\"screenReaderLabel\",null,function(e,t){e.display.input.screenReaderLabelChanged(t=\"\"===t?null:t)}),o(\"disableInput\",!1,function(e,t){t||e.display.input.reset()},!0),o(\"dragDrop\",!0,vl),o(\"allowDropFileTypes\",null),o(\"cursorBlinkRate\",530),o(\"cursorScrollMargin\",0),o(\"cursorHeight\",1,xr,!0),o(\"singleCursorHeightPerLine\",!0,xr,!0),o(\"workTime\",100),o(\"workDelay\",100),o(\"flattenSpans\",!0,Li,!0),o(\"addModeClass\",!1,Li,!0),o(\"pollInterval\",100),o(\"undoDepth\",200,function(e,t){return e.doc.history.undoDepth=t}),o(\"historyEventDelay\",1250),o(\"viewportMargin\",10,function(e){return e.refresh()},!0),o(\"maxHighlightLength\",1e4,Li,!0),o(\"moveInputWithCursor\",!0,function(e,t){t||e.display.input.resetPosition()}),o(\"tabindex\",null,function(e,t){return e.display.input.getField().tabIndex=t||\"\"}),o(\"autofocus\",null),o(\"direction\",\"ltr\",function(e,t){return e.doc.setDirection(t)},!0),o(\"phrases\",null),Rl=(El=p).optionHandlers,zl=El.helpers={},El.prototype={constructor:El,focus:function(){he(this).focus(),this.display.input.focus()},setOption:function(e,t){var n=this.options,r=n[e];n[e]==t&&\"mode\"!=e||(n[e]=t,Rl.hasOwnProperty(e)&&I(this,Rl[e])(this,t,r),O(this,\"optionChange\",this,e))},getOption:function(e){return this.options[e]},getDoc:function(){return this.doc},addKeyMap:function(e,t){this.state.keyMaps[t?\"push\":\"unshift\"](Go(e))},removeKeyMap:function(e){for(var t=this.state.keyMaps,n=0;n<t.length;++n)if(t[n]==e||t[n].name==e)return t.splice(n,1),!0},addOverlay:t(function(e,t){var n=e.token?e:El.getMode(this.options,e);if(n.startState)throw new Error(\"Overlays may not be stateful.\");for(var r=this.state.overlays,n={mode:n,modeSpec:e,opaque:t&&t.opaque,priority:t&&t.priority||0},i=function(e){return e.priority},o=0,l=i(n);o<r.length&&i(r[o])<=l;)o++;r.splice(o,0,n),this.state.modeGen++,R(this)}),removeOverlay:t(function(e){for(var t=this.state.overlays,n=0;n<t.length;++n){var r=t[n].modeSpec;if(r==e||\"string\"==typeof e&&r.name==e)return t.splice(n,1),this.state.modeGen++,void R(this)}}),indentLine:t(function(e,t,n){\"string\"!=typeof t&&\"number\"!=typeof t&&(t=null==t?this.options.smartIndent?\"smart\":\"prev\":t?\"add\":\"subtract\"),wt(this.doc,e)&&wl(this,e,t,n)}),indentSelection:t(function(e){for(var t=this.doc.sel.ranges,n=-1,r=0;r<t.length;r++){var i=t[r];if(i.empty())i.head.line>n&&(wl(this,i.head.line,e,!0),n=i.head.line,r==this.doc.sel.primIndex&&Pr(this));else{for(var o=i.from(),i=i.to(),l=Math.max(n,o.line),n=Math.min(this.lastLine(),i.line-(i.ch?0:1))+1,s=l;s<n;++s)wl(this,s,e);i=this.doc.sel.ranges;0==o.ch&&t.length==i.length&&0<i[r].from().ch&&Vi(this.doc,r,new G(o,i[r].to()),ve)}}}),getTokenAt:function(e,t){return Rt(this,e,t)},getLineTokens:function(e,t){return Rt(this,F(e),t,!0)},getTokenTypeAt:function(e){e=E(this.doc,e);var t,n=Dt(this,W(this.doc,e.line)),r=0,i=(n.length-1)/2,o=e.ch;if(0==o)t=n[2];else for(;;){var l=r+i>>1;if((l?n[2*l-1]:0)>=o)i=l;else{if(!(n[2*l+1]<o)){t=n[2*l+2];break}r=1+l}}e=t?t.indexOf(\"overlay \"):-1;return e<0?t:0==e?null:t.slice(0,e-1)},getModeAt:function(e){var t=this.doc.mode;return t.innerMode?El.innerMode(t,this.getTokenAt(e).state).mode:t},getHelper:function(e,t){return this.getHelpers(e,t)[0]},getHelpers:function(e,t){var n=[];if(!zl.hasOwnProperty(t))return n;var r=zl[t],i=this.getModeAt(e);if(\"string\"==typeof i[t])r[i[t]]&&n.push(r[i[t]]);else if(i[t])for(var o=0;o<i[t].length;o++){var l=r[i[t][o]];l&&n.push(l)}else i.helperType&&r[i.helperType]?n.push(r[i.helperType]):r[i.name]&&n.push(r[i.name]);for(var s=0;s<r._global.length;s++){var a=r._global[s];a.pred(i,this)&&-1==L(n,a.val)&&n.push(a.val)}return n},getStateAfter:function(e,t){var n=this.doc;return Wt(this,(e=Tt(n,null==e?n.first+n.size-1:e))+1,t).state},cursorCoords:function(e,t){var n=this.doc.sel.primary(),e=null==e?n.head:\"object\"==typeof e?E(this.doc,e):e?n.from():n.to();return er(this,e,t||\"page\")},charCoords:function(e,t){return Jn(this,E(this.doc,e),t||\"page\")},coordsChar:function(e,t){return rr(this,(e=Qn(this,e,t||\"page\")).left,e.top)},lineAtHeight:function(e,t){return e=Qn(this,{top:e,left:0},t||\"page\").top,bt(this.doc,e+this.display.viewOffset)},heightAtLine:function(e,t,n){var r=!1,i=\"number\"==typeof e?(i=this.doc.first+this.doc.size-1,e<this.doc.first?e=this.doc.first:i<e&&(e=i,r=!0),W(this.doc,e)):e;return Zn(this,i,{top:0,left:0},t||\"page\",n||r).top+(r?this.doc.height-ln(i):0)},defaultTextHeight:function(){return ur(this.display)},defaultCharWidth:function(){return cr(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(e,t,n,r,i){var o,l,s=this.display,a=(e=er(this,E(this.doc,e))).bottom,u=e.left;t.style.position=\"absolute\",t.setAttribute(\"cm-ignore-events\",\"true\"),this.display.input.setUneditable(t),s.sizer.appendChild(t),\"over\"==r?a=e.top:\"above\"!=r&&\"near\"!=r||(l=Math.max(s.wrapper.clientHeight,this.doc.height),o=Math.max(s.sizer.clientWidth,s.lineSpace.clientWidth),(\"above\"==r||e.bottom+t.offsetHeight>l)&&e.top>t.offsetHeight?a=e.top-t.offsetHeight:e.bottom+t.offsetHeight<=l&&(a=e.bottom),u+t.offsetWidth>o&&(u=o-t.offsetWidth)),t.style.top=a+\"px\",t.style.left=t.style.right=\"\",\"right\"==i?(u=s.sizer.clientWidth-t.offsetWidth,t.style.right=\"0px\"):(\"left\"==i?u=0:\"middle\"==i&&(u=(s.sizer.clientWidth-t.offsetWidth)/2),t.style.left=u+\"px\"),n&&(r=this,l={left:u,top:a,right:u+t.offsetWidth,bottom:a+t.offsetHeight},null!=(l=Hr(r,l)).scrollTop&&Ir(r,l.scrollTop),null!=l.scrollLeft&&Gr(r,l.scrollLeft))},triggerOnKeyDown:t(nl),triggerOnKeyPress:t(il),triggerOnKeyUp:rl,triggerOnMouseDown:t(al),execCommand:function(e){if(Yo.hasOwnProperty(e))return Yo[e].call(null,this)},triggerElectric:t(function(e){kl(this,e)}),findPosH:function(e,t,n,r){for(var i=1,o=(t<0&&(i=-1,t=-t),E(this.doc,e)),l=0;l<t&&!(o=Ol(this.doc,o,i,n,r)).hitSide;++l);return o},moveH:t(function(t,n){var r=this;this.extendSelectionsBy(function(e){return r.display.shift||r.doc.extend||e.empty()?Ol(r.doc,e.head,t,n,r.options.rtlMoveVisually):t<0?e.from():e.to()},be)}),deleteH:t(function(n,r){var e=this.doc.sel,i=this.doc;e.somethingSelected()?i.replaceSelection(\"\",null,\"+delete\"):Uo(this,function(e){var t=Ol(i,e.head,n,r,!1);return n<0?{from:t,to:e.head}:{from:e.head,to:t}})}),findPosV:function(e,t,n,r){for(var i=1,o=r,l=(t<0&&(i=-1,t=-t),E(this.doc,e)),s=0;s<t;++s){var a=er(this,l,\"div\");if(null==o?o=a.left:a.left=o,(l=Al(this,a,i,n)).hitSide)break}return l},moveV:t(function(r,i){var o=this,l=this.doc,s=[],a=!this.display.shift&&!l.extend&&l.sel.somethingSelected();if(l.extendSelectionsBy(function(e){if(a)return r<0?e.from():e.to();var t=er(o,e.head,\"div\"),n=(null!=e.goalColumn&&(t.left=e.goalColumn),s.push(t.left),Al(o,t,r,i));return\"page\"==i&&e==l.sel.primary()&&Fr(o,Jn(o,n,\"div\").top-t.top),n},be),s.length)for(var e=0;e<l.sel.ranges.length;e++)l.sel.ranges[e].goalColumn=s[e]}),findWordAt:function(e){var t=W(this.doc,e.line).text,n=e.ch,r=e.ch;if(t){for(var i=this.getHelper(e,\"wordChars\"),o=(\"before\"!=e.sticky&&r!=t.length||!n?++r:--n,t.charAt(n)),l=Ne(o,i)?function(e){return Ne(e,i)}:/\\s/.test(o)?function(e){return/\\s/.test(e)}:function(e){return!/\\s/.test(e)&&!Ne(e)};0<n&&l(t.charAt(n-1));)--n;for(;r<t.length&&l(t.charAt(r));)++r}return new G(F(e.line,n),F(e.line,r))},toggleOverwrite:function(e){null!=e&&e==this.state.overwrite||(((this.state.overwrite=!this.state.overwrite)?ie:ee)(this.display.cursorDiv,\"CodeMirror-overwrite\"),O(this,\"overwriteToggle\",this,this.state.overwrite))},hasFocus:function(){return this.display.input.getField()==N(ue(this))},isReadOnly:function(){return!(!this.options.readOnly&&!this.doc.cantEdit)},scrollTo:t(function(e,t){Er(this,e,t)}),getScrollInfo:function(){var e=this.display.scroller;return{left:e.scrollLeft,top:e.scrollTop,height:e.scrollHeight-Fn(this)-this.display.barHeight,width:e.scrollWidth-Fn(this)-this.display.barWidth,clientHeight:En(this),clientWidth:Pn(this)}},scrollIntoView:t(function(e,t){var n;null==e?(e={from:this.doc.sel.primary().head,to:null},null==t&&(t=this.options.cursorScrollMargin)):\"number\"==typeof e?e={from:F(e,0),to:null}:null==e.from&&(e={from:e,to:null}),e.to||(e.to=e.from),e.margin=t||0,null!=e.from.line?(t=e,Rr(n=this),n.curOp.scrollToPos=t):zr(this,e.from,e.to,e.margin)}),setSize:t(function(e,t){function n(e){return\"number\"==typeof e||/^\\d+$/.test(String(e))?e+\"px\":e}var r=this,i=(null!=e&&(this.display.wrapper.style.width=n(e)),null!=t&&(this.display.wrapper.style.height=n(t)),this.options.lineWrapping&&Xn(this),this.display.viewFrom);this.doc.iter(i,this.display.viewTo,function(e){if(e.widgets)for(var t=0;t<e.widgets.length;t++)if(e.widgets[t].noHScroll){vr(r,i,\"widget\");break}++i}),this.curOp.forceUpdate=!0,O(this,\"refresh\",this)}),operation:function(e){return h(this,e)},startOperation:function(){return qr(this)},endOperation:function(){return Zr(this)},refresh:t(function(){var e=this.display.cachedTextHeight;R(this),this.curOp.forceUpdate=!0,Yn(this),Er(this,this.doc.scrollLeft,this.doc.scrollTop),ii(this.display),(null==e||.5<Math.abs(e-ur(this.display))||this.options.lineWrapping)&&pr(this),O(this,\"refresh\",this)}),swapDoc:t(function(e){var t=this.doc;return t.cm=null,this.state.selectingText&&this.state.selectingText(),Ni(this,e),Yn(this),this.display.input.reset(),Er(this,e.scrollLeft,e.scrollTop),this.curOp.forceScroll=!0,b(this,\"swapDoc\",this,t),t}),phrase:function(e){var t=this.options.phrases;return t&&Object.prototype.hasOwnProperty.call(t,e)?t[e]:e},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},$e(El),El.registerHelper=function(e,t,n){zl.hasOwnProperty(e)||(zl[e]=El[e]={_global:[]}),zl[e][t]=n},El.registerGlobalHelper=function(e,t,n,r){El.registerHelper(e,t,r),zl[e]._global.push({pred:n,val:r})};var Il,Bl=\"iter insert remove copy getEditor constructor\".split(\" \");for(Il in f.prototype)f.prototype.hasOwnProperty(Il)&&L(Bl,Il)<0&&(p.prototype[Il]=function(e){return function(){return e.apply(this.doc,arguments)}}(f.prototype[Il]));return $e(f),p.inputStyles={textarea:i,contenteditable:r},p.defineMode=function(e){p.defaults.mode||\"null\"==e||(p.defaults.mode=e),function(e,t){2<arguments.length&&(t.dependencies=Array.prototype.slice.call(arguments,2)),st[e]=t}.apply(this,arguments)},p.defineMIME=function(e,t){at[e]=t},p.defineMode(\"null\",function(){return{token:function(e){return e.skipToEnd()}}}),p.defineMIME(\"text/plain\",\"null\"),p.defineExtension=function(e,t){p.prototype[e]=t},p.defineDocExtension=function(e,t){f.prototype[e]=t},p.fromTextArea=function(t,n){var e;function r(){t.value=s.getValue()}if((n=n?fe(n):{}).value=t.value,!n.tabindex&&t.tabIndex&&(n.tabindex=t.tabIndex),!n.placeholder&&t.placeholder&&(n.placeholder=t.placeholder),null==n.autofocus&&(e=N(ce(t)),n.autofocus=e==t||null!=t.getAttribute(\"autofocus\")&&e==document.body),t.form&&(k(t.form,\"submit\",r),!n.leaveSubmitMethodAlone)){var i=t.form,o=i.submit;try{var l=i.submit=function(){r(),i.submit=o,i.submit(),i.submit=l}}catch(e){}}n.finishInit=function(e){e.save=r,e.getTextArea=function(){return t},e.toTextArea=function(){e.toTextArea=isNaN,r(),t.parentNode.removeChild(e.getWrapperElement()),t.style.display=\"\",t.form&&(T(t.form,\"submit\",r),n.leaveSubmitMethodAlone||\"function\"!=typeof t.form.submit||(t.form.submit=o))}},t.style.display=\"none\";var s=p(function(e){return t.parentNode.insertBefore(e,t.nextSibling)},n);return s},(e=p).off=T,e.on=k,e.wheelEventPixels=gi,e.Doc=f,e.splitLines=rt,e.countColumn=S,e.findColumn=we,e.isWordChar=Me,e.Pass=me,e.signal=O,e.Line=un,e.changeEnd=bi,e.scrollbarModel=Yr,e.Pos=F,e.cmpPos=P,e.modes=st,e.mimeModes=at,e.resolveMode=ut,e.getMode=ct,e.modeExtensions=ht,e.extendMode=dt,e.copyState=ft,e.startState=gt,e.innerMode=pt,e.commands=Yo,e.keyMap=Fo,e.keyName=Bo,e.isModifierKey=zo,e.lookupKey=Ro,e.normalizeKeyMap=Eo,e.StringStream=g,e.SharedTextMarker=bo,e.TextMarker=mo,e.LineWidget=po,e.e_preventDefault=D,e.e_stopPropagation=_e,e.e_stop=Ze,e.addClass=ie,e.contains=re,e.rmClass=ee,e.keyNames=Ao,p.version=\"5.65.19\",p});"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/files/mode/tw-meta.js",
    "content": "!function(e){\"object\"==typeof exports&&\"object\"==typeof module?e(require(\"../lib/codemirror\")):\"function\"==typeof define&&define.amd?define([\"../lib/codemirror\"],e):e(CodeMirror)}(function(e){\"use strict\";e.modeInfo=[{name:\"CMake\",mime:\"text/x-cmake\",mode:\"cmake\",ext:[\"cmake\",\"cmake.in\"],file:/^CMakeLists.txt$/},{name:\"Cython\",mime:\"text/x-cython\",mode:\"python\",ext:[\"pyx\",\"pxd\",\"pxi\"]},{name:\"CSS\",mime:\"text/css\",mode:\"css\",ext:[\"css\"]},{name:\"diff\",mime:\"text/x-diff\",mode:\"diff\",ext:[\"diff\",\"patch\"]},{name:\"Embedded Javascript\",mime:\"application/x-ejs\",mode:\"htmlembedded\",ext:[\"ejs\"]},{name:\"Embedded Ruby\",mime:\"application/x-erb\",mode:\"htmlembedded\",ext:[\"erb\"]},{name:\"Erlang\",mime:\"text/x-erlang\",mode:\"erlang\",ext:[\"erl\"]},{name:\"GitHub Flavored Markdown\",mime:\"text/x-gfm\",mode:\"gfm\",file:/^(readme|contributing|history).md$/i},{name:\"Go\",mime:\"text/x-go\",mode:\"go\",ext:[\"go\"]},{name:\"ASP.NET\",mime:\"application/x-aspx\",mode:\"htmlembedded\",ext:[\"aspx\"],alias:[\"asp\",\"aspx\"]},{name:\"HTML\",mime:\"text/html\",mode:\"htmlmixed\",ext:[\"html\",\"htm\",\"handlebars\",\"hbs\"],alias:[\"xhtml\"]},{name:\"HTTP\",mime:\"message/http\",mode:\"http\"},{name:\"JavaScript\",mimes:[\"text/javascript\",\"text/ecmascript\",\"application/javascript\",\"application/x-javascript\",\"application/ecmascript\"],mode:\"javascript\",ext:[\"js\"],alias:[\"ecmascript\",\"js\",\"node\"]},{name:\"JSON\",mimes:[\"application/json\",\"application/x-json\"],mode:\"javascript\",ext:[\"json\",\"map\"],alias:[\"json5\"]},{name:\"JSON-LD\",mime:\"application/ld+json\",mode:\"javascript\",ext:[\"jsonld\"],alias:[\"jsonld\"]},{name:\"Lua\",mime:\"text/x-lua\",mode:\"lua\",ext:[\"lua\"]},{name:\"Markdown\",mimes:[\"text/x-markdown\",\"text/markdown\"],mode:\"markdown\",ext:[\"markdown\",\"md\",\"mkd\"]},{name:\"MySQL\",mime:\"text/x-mysql\",mode:\"sql\"},{name:\"Plain Text\",mime:\"text/plain\",mode:\"null\",ext:[\"txt\",\"text\",\"conf\",\"def\",\"list\",\"log\"]},{name:\"Python\",mime:\"text/x-python\",mode:\"python\",ext:[\"BUILD\",\"bzl\",\"py\",\"pyw\"],file:/^(BUCK|BUILD)$/},{name:\"SCSS\",mime:\"text/x-scss\",mode:\"css\",ext:[\"scss\"]},{name:\"LaTeX\",mime:\"text/x-latex\",mode:\"stex\",ext:[\"text\",\"ltx\",\"tex\"],alias:[\"tex\"]},{name:\"TiddlyWiki \",mime:\"text/x-tiddlywiki\",mode:\"tiddlywiki\"}];for(var t=0;t<e.modeInfo.length;t++){var m=e.modeInfo[t];m.mimes&&(m.mime=m.mimes[0])}e.findModeByMIME=function(t){t=t.toLowerCase();for(var m=0;m<e.modeInfo.length;m++){var i=e.modeInfo[m];if(i.mime==t)return i;if(i.mimes)for(var a=0;a<i.mimes.length;a++)if(i.mimes[a]==t)return i}return/\\+xml$/.test(t)?e.findModeByMIME(\"application/xml\"):/\\+json$/.test(t)?e.findModeByMIME(\"application/json\"):void 0},e.findModeByExtension=function(t){for(var m=0;m<e.modeInfo.length;m++){var i=e.modeInfo[m];if(i.ext)for(var a=0;a<i.ext.length;a++)if(i.ext[a]==t)return i}},e.findModeByFileName=function(t){for(var m=0;m<e.modeInfo.length;m++){var i=e.modeInfo[m];if(i.file&&i.file.test(t))return i}var a=t.lastIndexOf(\".\"),o=a>-1&&t.substring(a+1,t.length);if(o)return e.findModeByExtension(o)},e.findModeByName=function(t){t=t.toLowerCase();for(var m=0;m<e.modeInfo.length;m++){var i=e.modeInfo[m];if(i.name.toLowerCase()==t)return i;if(i.alias)for(var a=0;a<i.alias.length;a++)if(i.alias[a].toLowerCase()==t)return i}}});\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/files/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": [\n\t\t{\n\t\t\t\"file\": \"codemirror.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/codemirror/lib/codemirror.js\",\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t}\n\t\t},{\n\t\t\t\"file\": \"codemirror.css\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"text/css\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/codemirror/lib/codemirror.css\",\n\t\t\t\t\"tags\": \"[[$:/tags/Stylesheet]]\"\n\t\t\t}\n\t\t},{\n\t\t\t\"file\": \"addon/dialog/dialog.css\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"text/css\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/codemirror/addon/dialog/dialog.css\",\n\t\t\t\t\"tags\": \"[[$:/tags/Stylesheet]]\"\n\t\t\t}\n\t\t},{\n\t\t\t\"file\": \"addon/dialog/dialog.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/codemirror/addon/dialog/dialog.js\",\n\t\t\t\t\"module-type\": \"codemirror\"\n\t\t\t}\n\t\t},{\n\t\t\t\"file\": \"addon/selection/activeline.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/codemirror/addon/selection/activeline.js\",\n\t\t\t\t\"module-type\": \"codemirror\"\n\t\t\t}\n\t\t},{\n\t\t\t\"file\": \"mode/tw-meta.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/codemirror/mode/tw-meta.js\",\n\t\t\t\t\"module-type\": \"codemirror\"\n\t\t\t}\n\t\t}\n\t]\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/keyboard.tid",
    "content": "title: $:/plugins/tiddlywiki/codemirror/keyboard\n\n\n!!Default keyboard shortcuts\n\n!!!Basic shortcuts\n\n|Shortcut |Function |h\n|Left |goCharLeft |\n|Right |goCharRight |\n|Up |goLineUp |\n|Down |goLineDown |\n|End |goLineEnd |\n|Home |goLineStartSmart |\n|~PageUp |goPageUp |\n|~PageDown |goPageDown |\n|Delete |delCharAfter |\n|Backspace |delCharBefore |\n|Shift-Backspace |delCharBefore |\n|Tab |defaultTab |\n|Shift-Tab |indentAuto |\n|Enter |newlineAndIndent |\n|Insert |toggleOverwrite |\n|Ctrl-Esc |singleSelection |\n\n\n!!!Shortcuts on Windows and Linux\n\n|Shortcut |Function |h\n|Ctrl-A |selectAll |\n|Ctrl-D |deleteLine |\n|Ctrl-Z |undo |\n|Shift-Ctrl-Z |redo |\n|Ctrl-Y |redo |\n|Ctrl-Home |goDocStart |\n|Ctrl-End |goDocEnd |\n|Ctrl-Up |goLineUp |\n|Ctrl-Down |goLineDown |\n|Ctrl-Left |goGroupLeft |\n|Ctrl-Right |goGroupRight |\n|Alt-Left |goLineStart |\n|Alt-Right |goLineEnd |\n|Ctrl-Backspace |delGroupBefore |\n|Ctrl-Delete |delGroupAfter |\n|Ctrl-F |find |\n|Ctrl-G |findNext |\n|Shift-Ctrl-G |findPrev |\n|Shift-Ctrl-F |replace |\n|Shift-Ctrl-R |replaceAll |\n|Ctrl-[ |indentLess |\n|Ctrl-] |indentMore |\n|Alt-U |undoSelection |\n|Shift-Ctrl-U |redoSelection |\n|Shift-Alt-U |redoSelection |\n\n\n!!!Shortcuts on ~MacOs\n\n|Shortcut |Function |h\n|Cmd-A |selectAll |\n|Cmd-D |deleteLine |\n|Cmd-Z |undo |\n|Shift-Cmd-Z |redo |\n|Cmd-Y |redo |\n|Cmd-Home |goDocStart |\n|Cmd-Up |goDocStart |\n|Cmd-End |goDocEnd |\n|Cmd-Down |goDocEnd |\n|Alt-Left |goGroupLeft |\n|Alt-Right |goGroupRight |\n|Cmd-Left |goLineLeft |\n|Cmd-Right |goLineRight |\n|Alt-Backspace |delGroupBefore |\n|Ctrl-Alt-Backspace |delGroupAfter |\n|Alt-Delete |delGroupAfter |\n|Cmd-F |find |\n|Cmd-G |findNext |\n|Shift-Cmd-G |findPrev |\n|Cmd-Alt-F |replace |\n|Shift-Cmd-Alt-F |replaceAll |\n|Cmd-[ |indentLess |\n|Cmd-] |indentMore |\n|Cmd-Backspace |delWrappedLineLeft |\n|Cmd-Delete |delWrappedLineRight |\n|Alt-U |undoSelection |\n|Shift-Alt-U |redoSelection |\n|Ctrl-Up |goDocStart |\n|Ctrl-Down |goDocEnd |\n|Ctrl-F |goCharRight |\n|Ctrl-B |goCharLeft |\n|Ctrl-P |goLineUp |\n|Ctrl-N |goLineDown |\n|Alt-F |goWordRight |\n|Alt-B |goWordLeft |\n|Ctrl-A |goLineStart |\n|Ctrl-E |goLineEnd |\n|Ctrl-V |goPageDown |\n|Shift-Ctrl-V |goPageUp |\n|Ctrl-D |delCharAfter |\n|Ctrl-H |delCharBefore |\n|Alt-D |delWordAfter |\n|Alt-Backspace |delWordBefore |\n|Ctrl-K |killLine |\n|Alt-T |transposeChars |\n|Ctrl-O |openLine |\n\n\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/license.tid",
    "content": "title: $:/plugins/tiddlywiki/codemirror/license\n\n\"\"\"\n~CodeMirror, copyright (c) by Marijn Haverbeke and others\nDistributed under an MIT license: http://codemirror.net/LICENSE\n\nCopyright (c) 2004-2007, Jeremy Ruston\nCopyright (c) 2007-2018, UnaMesa Association\nDistributed under an BSD license: https://tiddlywiki.com/#License\n\"\"\"\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/codemirror\",\n\t\"name\": \"CodeMirror\",\n\t\"description\": \"CodeMirror editor\",\n\t\"list\": \"readme usage keyboard license\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/codemirror/readme\n\nThis plugin provides an enhanced text editor component based on [[CodeMirror|http://codemirror.net]]. The basic configuration is designed to be as lightweight as possible and is just around 235kb of size. Additional features can be installed with ~CodeMirror ~AddOns from the plugin library.\n\n[[Source code|https://github.com/TiddlyWiki/TiddlyWiki5/blob/master/plugins/tiddlywiki/codemirror]]\n\nBased on ~CodeMirror version 5.65.19\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/settings/cursorBlinkRate.tid",
    "content": "title: $:/core/ui/ControlPanel/Settings/codemirror/cursorBlinkRate\ntags: $:/tags/ControlPanel/Settings/CodeMirror\ncaption: {{$:/language/codemirror/cursorBlinkRate/hint}}\n\n\\define lingo-base() $:/language/codemirror/cursorBlinkRate/\n\n|<$link to=\"$:/config/codemirror/cursorBlinkRate\"><<lingo hint>></$link> |<$edit-text tiddler=\"$:/config/codemirror/cursorBlinkRate\" default=\"\" placeholder=\"cursorBlinkRate\" tag=\"input\" type=\"number\"/> |\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/settings/editorFont.tid",
    "content": "title: $:/core/ui/ControlPanel/Settings/codemirror/editorFont\ntags: $:/tags/ControlPanel/Settings/CodeMirror\ncaption: {{$:/language/codemirror/editorFont/hint}}\n\n\\define lingo-base() $:/language/ThemeTweaks/\n\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/editorfontfamily\"><<lingo Settings/EditorFontFamily>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/editorfontfamily\" default=\"\" tag=\"input\"/> | |\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/settings/indentUnit.tid",
    "content": "title: $:/core/ui/ControlPanel/Settings/codemirror/indentUnit\ntags: $:/tags/ControlPanel/Settings/CodeMirror\ncaption: {{$:/language/codemirror/indentUnit/hint}}\n\n\\define lingo-base() $:/language/codemirror/indentUnit/\n\n|<$link to=\"$:/config/codemirror/indentUnit\"><<lingo hint>></$link> |<$edit-text tiddler=\"$:/config/codemirror/indentUnit\" default=\"\" placeholder=\"indentUnit\" tag=\"input\" type=\"number\"/> |\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/settings/indentWithTabs.tid",
    "content": "title: $:/core/ui/ControlPanel/Settings/codemirror/indentWithTabs\ntags: $:/tags/ControlPanel/Settings/CodeMirror\ncaption: {{$:/language/codemirror/indentWithTabs/hint}}\n\n\\define lingo-base() $:/language/codemirror/indentWithTabs/\n<<lingo hint>>\n\n<$checkbox tiddler=\"$:/config/codemirror/indentWithTabs\" field=\"text\" checked=\"true\" unchecked=\"false\" default=\"true\"> <$link to=\"$:/config/codemirror/indentWithTabs\"><<lingo info>></$link> </$checkbox>\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/settings/keyMap.tid",
    "content": "title: $:/core/ui/ControlPanel/Settings/codemirror/keyMap\ntags: $:/tags/ControlPanel/Settings/CodeMirror\ncaption: {{$:/language/codemirror/keyMap/hint}}\n\n\\define lingo-base() $:/language/codemirror/keyMap\n\n<$link to=\"$:/config/codemirror/keyMap\"><<lingo hint>></$link>\n\n<$select tiddler=\"$:/config/codemirror/keyMap\" default=\"default\">\n<option value=\"default\">default</option>\n<$list filter=\"[all[shadows+tiddlers]module-type[codemirror-keymap]!has[draft.of]get[text]]\">\n<option value=<<currentTiddler>>><$transclude><$text text=<<currentTiddler>>/></$transclude></option>\n</$list>\n</$select>\n\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/settings/lineNumbers.tid",
    "content": "title: $:/core/ui/ControlPanel/Settings/codemirror/lineNumbers\ntags: $:/tags/ControlPanel/Settings/CodeMirror\ncaption: {{$:/language/codemirror/lineNumbers/hint}}\n\n\\define lingo-base() $:/language/codemirror/lineNumbers/\n<<lingo hint>>\n\n<$checkbox tiddler=\"$:/config/codemirror/lineNumbers\" field=\"text\" checked=\"true\" unchecked=\"false\" default=\"false\"> <$link to=\"$:/config/codemirror/lineNumbers\"><<lingo info>></$link> </$checkbox>\n\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/settings/lineWrapping.tid",
    "content": "title: $:/core/ui/ControlPanel/Settings/codemirror/lineWrapping\ntags: $:/tags/ControlPanel/Settings/CodeMirror\ncaption: {{$:/language/codemirror/lineWrapping/hint}}\n\n\\define lingo-base() $:/language/codemirror/lineWrapping/\n<<lingo hint>>\n\n<$checkbox tiddler=\"$:/config/codemirror/lineWrapping\" field=\"text\" checked=\"true\" unchecked=\"false\" default=\"true\"> <$link to=\"$:/config/codemirror/lineWrapping\"><<lingo info>></$link> </$checkbox>\n\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/settings/showCursorWhenSelecting.tid",
    "content": "title: $:/core/ui/ControlPanel/Settings/codemirror/showCursorWhenSelecting\ntags: $:/tags/ControlPanel/Settings/CodeMirror\ncaption: {{$:/language/codemirror/showCursorWhenSelecting/hint}}\n\n\\define lingo-base() $:/language/codemirror/showCursorWhenSelecting/\n<<lingo hint>>\n\n<$checkbox tiddler=\"$:/config/codemirror/showCursorWhenSelecting\" field=\"text\" checked=\"true\" unchecked=\"false\" default=\"true\"> <$link to=\"$:/config/codemirror/showCursorWhenSelecting\"><<lingo info>></$link> </$checkbox>\n\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/settings/smartIndent.tid",
    "content": "title: $:/core/ui/ControlPanel/Settings/codemirror/smartIndent\ntags: $:/tags/ControlPanel/Settings/CodeMirror\ncaption: {{$:/language/codemirror/smartIndent/hint}}\n\n\\define lingo-base() $:/language/codemirror/smartIndent/\n<<lingo hint>>\n\n<$checkbox tiddler=\"$:/config/codemirror/smartIndent\" field=\"text\" checked=\"true\" unchecked=\"false\" default=\"true\"> <$link to=\"$:/config/codemirror/smartIndent\"><<lingo info>></$link> </$checkbox>\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/settings/styleActiveLine.tid",
    "content": "title: $:/core/ui/ControlPanel/Settings/codemirror/styleActiveLine\ntags: $:/tags/ControlPanel/Settings/CodeMirror\ncaption: {{$:/language/codemirror/styleActiveLine/hint}}\n\n\\define lingo-base() $:/language/codemirror/styleActiveLine/\n<<lingo hint>>\n\n<$checkbox tiddler=\"$:/config/codemirror/styleActiveLine\" field=\"text\" checked=\"true\" unchecked=\"false\" default=\"false\"> <$link to=\"$:/config/codemirror/styleActiveLine\"><<lingo info>></$link> </$checkbox>\n\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/settings/tabSize.tid",
    "content": "title: $:/core/ui/ControlPanel/Settings/codemirror/tabSize\ntags: $:/tags/ControlPanel/Settings/CodeMirror\ncaption: {{$:/language/codemirror/tabSize/hint}}\n\n\\define lingo-base() $:/language/codemirror/tabSize/\n\n|<$link to=\"$:/config/codemirror/tabSize\"><<lingo hint>></$link> |<$edit-text tiddler=\"$:/config/codemirror/tabSize\" default=\"\" placeholder=\"tabSize\" tag=\"input\" type=\"number\"/> |\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/settings/theme.tid",
    "content": "title: $:/core/ui/ControlPanel/Settings/codemirror/theme\ntags: $:/tags/ControlPanel/Settings/CodeMirror\ncaption: {{$:/language/codemirror/theme/hint}}\n\n\\define lingo-base() $:/language/codemirror/\n\n<$link to=\"$:/config/codemirror/theme\"><<lingo hint>></$link>\n\n<$select tiddler=\"$:/config/codemirror/theme\" default=\"default\">\n<option value=\"default\">default</option>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Stylesheet]module-type[codemirror-theme]!has[draft.of]get[name]]\">\n<option value=<<currentTiddler>>><$transclude field=\"name\"><$text text=<<currentTiddler>>/></$transclude></option>\n</$list>\n</$select>\n\n//see the [[CodeMirror Usage|$:/plugins/tiddlywiki/codemirror/usage]] how to add themes//\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/styles.tid",
    "content": "title: $:/plugins/tiddlywiki/codemirror/styles\ntags: [[$:/tags/Stylesheet]]\nmodule-type: codemirror-theme\nname: tiddlywiki\n\n\\define set-fat-cursor-background-css(colour,colourA,colourB)\n<$set name=\"backgroundColour\" value=<<contrastcolour target:\"\"\"$colour$\"\"\" fallbackTarget:\"\"\"\"\"\" colourA:\"\"\"$colourA$\"\"\" colourB:\"\"\"$colourB$\"\"\">>>\n.cm-s-tiddlywiki.cm-fat-cursor .CodeMirror-cursor { background: <<backgroundColour>>; }\n.cm-s-tiddlywiki .cm-animate-fat-cursor { background-color: <<backgroundColour>>; }\n</$set>\n\\end\n\\define set-fat-cursor-background-colours(palette)\n<$macrocall $name=\"set-fat-cursor-background-css\" colour={{$palette$##foreground}} colourA=\"#77ee77\" colourB=\"#586e75\"/>\n\\end\n\\define set-fat-cursor-background()\n<$macrocall $name=\"set-fat-cursor-background-colours\" palette={{$:/palette}}/>\n\\end\n\\define set-selection-background-css(colour,colourA,colourB,tiddlerEditorBackground)\n<$wikify name=\"tiddlerEditorBackground\" text={{{ [[$tiddlerEditorBackground$]lowercase[]] }}}>\n<$set name=\"backgroundColour\" value=<<contrastcolour target:\"\"\"$colour$\"\"\" fallbackTarget:\"\"\"\"\"\" colourA:\"\"\"$colourA$\"\"\" colourB:\"\"\"$colourB$\"\"\">>>\n<$set name=\"backgroundColour\" value={{{ [<backgroundColour>lowercase[]match<tiddlerEditorBackground>then[]] ~[<backgroundColour>] }}}>\n.cm-s-tiddlywiki div.CodeMirror-selected { background: <<backgroundColour>>; color: <<colour foreground>>; }\n.cm-s-tiddlywiki.CodeMirror ::selection { background: <<backgroundColour>>; color: <<colour foreground>>; }\n.cm-s-tiddlywiki .CodeMirror-line::-moz-selection,  .CodeMirror-line > span::-moz-selection,  .CodeMirror-line > span > span::-moz-selection { background: <<backgroundColour>>; color: <<colour foreground>>; }\n.cm-s-tiddlywiki .CodeMirror-line::selection,  .CodeMirror-line > span::selection,  .CodeMirror-line > span > span::selection { background: <<backgroundColour>>; color: <<colour foreground>>; }\n</$set>\n</$set>\n</$wikify>\n\\end\n\\define set-selection-background-colours(palette)\n<$macrocall $name=\"set-selection-background-css\" colour={{$palette$##foreground}} colourA={{{ [{$palette$##selection-background}!match[]!prefix[<<]!suffix[>>]] ~#073642 }}} colourB={{{ [{$palette$##selection-background}!match[]!prefix[<<]!suffix[>>]] ~#eee8d5 }}} tiddlerEditorBackground={{$palette$##tiddler-editor-background}}/>\n\\end\n\\define set-selection-background()\n<$macrocall $name=\"set-selection-background-colours\" palette={{$:/palette}}/>\n\\end\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock\n\n/* Make the editor resize to fit its content */\n\n.CodeMirror {\n\theight: auto;\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tline-height: 1.5;\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/editorfontfamily}};\n\tfont-size: {{$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize}};\n}\n\n.CodeMirror-scroll {\n\toverflow-x: auto;\n\toverflow-y: hidden;\n}\n\n.cm-s-tiddlywiki {\n  color-profile: sRGB;\n  rendering-intent: auto;\n}\n\n.tc-tiddler-frame .tc-tiddler-editor .tc-edit-texteditor,\n.tc-tiddler-frame .tc-tiddler-editor .tc-tiddler-preview-preview {\n\toverflow: auto;\n}\n\n.cm-s-tiddlywiki.CodeMirror, .cm-s-tiddlywiki .CodeMirror-gutters { background-color: <<colour tiddler-editor-background>>; color: <<colour foreground>>; }\n.cm-s-tiddlywiki .CodeMirror-gutters {background: <<colour tiddler-editor-background>>; border-right: 1px solid <<colour tiddler-editor-border>>;}\n.cm-s-tiddlywiki .CodeMirror-linenumber {color: <<colour foreground>>;}\n.cm-s-tiddlywiki .CodeMirror-cursor { border-left: 2px solid <<colour foreground>>; }\n.cm-s-tiddlywiki span.cm-comment { color: #586e75; font-style:italic; font-weight:normal; }\n.cm-s-tiddlywiki .CodeMirror-activeline-background, .cm-s-tiddlywiki .CodeMirror-activeline-gutter .CodeMirror-linenumber { background: rgba(127,127,127,0.2); }\n.cm-s-tiddlywiki span.cm-matchhighlight { color: <<colour background>>; background-color: <<colour primary>>; font-weight: normal;}\n.cm-s-tiddlywiki .CodeMirror-widget { text-shadow: none; }\n.cm-s-tiddlywiki .CodeMirror-dialog { background: <<colour tiddler-background>>; }\n.cm-s-tiddlywiki .cm-header { color: #586e75; }\n.cm-s-tiddlywiki .cm-quote { color: #93a1a1; }\n.cm-s-tiddlywiki .cm-keyword { color: #cb4b16; }\n.cm-s-tiddlywiki .cm-atom { color: #d33682; }\n.cm-s-tiddlywiki .cm-number { color: #d33682; }\n.cm-s-tiddlywiki .cm-def { color: #2aa198; }\n.cm-s-tiddlywiki .cm-variable { color: #839496; }\n.cm-s-tiddlywiki .cm-variable-2 { color: #b58900; }\n.cm-s-tiddlywiki .cm-variable-3, .cm-s-tiddlywiki .cm-type { color: #6c71c4; }\n.cm-s-tiddlywiki .cm-property { color: #2aa198; }\n.cm-s-tiddlywiki .cm-operator { color: #6c71c4; }\n.cm-s-tiddlywiki .cm-comment { color: #586e75; font-style:italic; }\n.cm-s-tiddlywiki .cm-string { color: #859900; }\n.cm-s-tiddlywiki .cm-string-2 { color: #b58900; }\n.cm-s-tiddlywiki .cm-meta { color: #859900; }\n.cm-s-tiddlywiki .cm-qualifier { color: #b58900; }\n.cm-s-tiddlywiki .cm-builtin { color: #d33682; }\n.cm-s-tiddlywiki .cm-bracket { color: #cb4b16; }\n.cm-s-tiddlywiki .CodeMirror-matchingbracket { color: #859900; }\n.cm-s-tiddlywiki .CodeMirror-nonmatchingbracket { color: #dc322f; }\n.cm-s-tiddlywiki .cm-tag { color: #93a1a1; }\n.cm-s-tiddlywiki .cm-attribute { color: #2aa198; }\n.cm-s-tiddlywiki .cm-hr { color: transparent; border-top: 1px solid #586e75; display: block; }\n.cm-s-tiddlywiki .cm-link { color: #93a1a1; cursor: pointer; }\n.cm-s-tiddlywiki .cm-special { color: #6c71c4; }\n.cm-s-tiddlywiki .cm-em { color: #999; text-decoration: underline; text-decoration-style: dotted; }\n.cm-s-tiddlywiki .cm-error,\n.cm-s-tiddlywiki .cm-invalidchar { color: #586e75; border-bottom: 1px dotted #dc322f; }\n.cm-s-tiddlywiki .CodeMirror-matchingbracket { color: #859900; }\n.cm-s-tiddlywiki .CodeMirror-nonmatchingbracket { color: #dc322f; }\n.cm-s-tiddlywiki .cm-searching { background: rgba(243, 155, 53, .3); outline: 1px solid #F39B35; }\n<<set-fat-cursor-background>>\n<<set-selection-background>>\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/ui/controlpanel/codemirror.tid",
    "content": "title: $:/core/ui/ControlPanel/Settings/CodeMirror\ntags: $:/tags/ControlPanel/SettingsTab\ncaption: CodeMirror\nlist-after: $:/core/ui/ControlPanel/Settings/TiddlyWiki\n\n\\define lingo-base() $:/language/codemirror/controlPanel/\n\n<<lingo hint>>\n\n<$link to=\"$:/plugins/tiddlywiki/codemirror/usage\"><<lingo usage>></$link>\n\n<$link to=\"$:/plugins/tiddlywiki/codemirror/keyboard\"><<lingo keyboard>></$link>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Settings/CodeMirror]]\">\n\n<div class=\"tc-control-panel-setting\" data-setting-title=<<currentTiddler>> >\n\n!!.tc-control-panel-accent <$link><$transclude field=\"caption\"/></$link>\n\n<$transclude/>\n\n</div>\n\n</$list>\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror/usage.tid",
    "content": "title: $:/plugins/tiddlywiki/codemirror/usage\n\n! Configuration\n\nConfiguration for the ~CodeMirror text-editor can be done from within the CodeMirror Settings Tab in the [[ControlPanel|$:/ControlPanel]] (Settings - ~CodeMirror)\n\n\n!!Setting a different Theme\n\n~CodeMirror themes are available in the [ext[official GitHub repository|https://github.com/codemirror/CodeMirror/tree/master/theme]]\n\nMore themes can be found at https://github.com/FarhadG/code-mirror-themes/tree/master/themes and previewed [ext[here|http://farhadg.github.io/code-mirror-themes/]]\n\n\nTo add a theme to your wiki, follow these four steps:\n\n* choose one of the CSS files and copy its content to a new tiddler\n* remove all comments from the top and tag the tiddler with <<tag-pill \"$:/tags/Stylesheet\">>\n* add a field \"module-type\" with the value \"codemirror-theme\". add a field \"name\" with the exact ''name'' of the theme as value\n* save the tiddler and go to the Settings tab in $:/ControlPanel - look for the \"theme\" dropdown to select your newly added theme\n\n\n!!Line Numbers\n\nTo show or hide the Line Numbers at the left, go to ~ControlPanel - Settings - ~CodeMirror and look for the \"Line Numbers\" checkbox\n\n\n!!Line Wrapping\n\nControls if long lines get visually wrapped to a new line if they're too long to fit the editor width or if the editor should scroll horizontally\n\nTo change the line-wrapping behaviour, go to  ~ControlPanel - Settings - ~CodeMirror and look for the \"Line Wrapping\" checkbox\n\n\n!!Show Cursor when selecting\n\nDefines whether the Mouse cursor should be visually shown or hidden when making a text-selection\n\nTo change the show-cursor-when-selecting behaviour, go to  ~ControlPanel - Settings - ~CodeMirror and look for the \"Show cursor when selecting\" checkbox\n\n\n!!~CodeMirror Font Family\n\nThe Font-Family used within the ~CodeMirror text-editor defaults to \"monospace\" which will choose your configured monospace system-font\n\nThat setting can be overridden entering one or more Font-Families in the \"Font Family\" input field at ~ControlPanel - Settings - ~CodeMirror\n\n* The entries must be separated by semicolons ','\n* Font-Family Names that contain spaces must be quoted like \"My Font\"\n* If a list of Font-Families is specified, the last Font-Family found on the user-system gets used, non-existing fonts get ignored\n* If none of the specified Font-Families is available, ~CodeMirror uses the default \"monospace\"\n\n\n!!\"Hidden\" Settings:\n\n!!!Cursor Blink Rate\n\nThe cursor blink-rate defines how fast (in milliseconds) the cursor blinks inside the textarea\n\nYou can change it by editing $:/config/codemirror/cursorBlinkRate\n\"0\" disables blinking\n\n!!!Tabsize\n\nThe Tabsize defines the width of a tab character. Default is 4.\n\nYou can change it by editing $:/config/codemirror/tabSize\n\n!!!Indent Unit\n\nNot enabled for vnd.tiddlywiki and x-tiddlywiki\n\nDefines how many spaces a text-block should be indented. Defaults to 2.\n\nYou can change it by editing $:/config/codemirror/indentUnit\n\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-autocomplete/config/autocomplete.tid",
    "content": "title: $:/config/codemirror/autocomplete\nextend: extraKeys\ntype: json\n\n{\n\t\"Ctrl-Space\": \"autocomplete\"\n}"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-autocomplete/files/addon/hint/anyword-hint.js",
    "content": "!function(e){\"object\"==typeof exports&&\"object\"==typeof module?e(require(\"../../lib/codemirror\")):\"function\"==typeof define&&define.amd?define([\"../../lib/codemirror\"],e):e(CodeMirror)}(function(y){\"use strict\";var b=/[\\w$]+/;y.registerHelper(\"hint\",\"anyword\",function(e,r){for(var t=r&&r.word||b,o=r&&r.range||500,i=e.getCursor(),n=e.getLine(i.line),f=i.ch,s=f;s&&t.test(n.charAt(s-1));)--s;for(var a=s!=f&&n.slice(s,f),c=r&&r.list||[],l={},d=new RegExp(t.source,\"g\"),u=-1;u<=1;u+=2)for(var p=i.line,g=Math.min(Math.max(p+u*o,e.firstLine()),e.lastLine())+u;p!=g;p+=u)for(var h,m=e.getLine(p);h=d.exec(m);)p==i.line&&h[0]===a||a&&0!=h[0].lastIndexOf(a,0)||Object.prototype.hasOwnProperty.call(l,h[0])||(l[h[0]]=!0,c.push(h[0]));return{list:c,from:y.Pos(i.line,s),to:y.Pos(i.line,f)}})});"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-autocomplete/files/addon/hint/css-hint.js",
    "content": "!function(e){\"object\"==typeof exports&&\"object\"==typeof module?e(require(\"../../lib/codemirror\"),require(\"../../mode/css/css\")):\"function\"==typeof define&&define.amd?define([\"../../lib/codemirror\",\"../../mode/css/css\"],e):e(CodeMirror)}(function(l){\"use strict\";var c={active:1,after:1,before:1,checked:1,default:1,disabled:1,empty:1,enabled:1,\"first-child\":1,\"first-letter\":1,\"first-line\":1,\"first-of-type\":1,focus:1,hover:1,\"in-range\":1,indeterminate:1,invalid:1,lang:1,\"last-child\":1,\"last-of-type\":1,link:1,not:1,\"nth-child\":1,\"nth-last-child\":1,\"nth-last-of-type\":1,\"nth-of-type\":1,\"only-of-type\":1,\"only-child\":1,optional:1,\"out-of-range\":1,placeholder:1,\"read-only\":1,\"read-write\":1,required:1,root:1,selection:1,target:1,valid:1,visited:1};l.registerHelper(\"hint\",\"css\",function(e){var t=e.getCursor(),r=e.getTokenAt(t),e=l.innerMode(e.getMode(),r.state);if(\"css\"==e.mode.name){if(\"keyword\"==r.type&&0==\"!important\".indexOf(r.string))return{list:[\"!important\"],from:l.Pos(t.line,r.start),to:l.Pos(t.line,r.end)};var o=r.start,i=t.ch,s=r.string.slice(0,i-o),n=(/[^\\w$_-]/.test(s)&&(s=\"\",o=i=t.ch),l.resolveMode(\"text/css\")),a=[],e=e.state.state;return\"pseudo\"==e||\"variable-3\"==r.type?d(c):\"block\"==e||\"maybeprop\"==e?d(n.propertyKeywords):\"prop\"==e||\"parens\"==e||\"at\"==e||\"params\"==e?(d(n.valueKeywords),d(n.colorKeywords)):\"media\"!=e&&\"media_parens\"!=e||(d(n.mediaTypes),d(n.mediaFeatures)),a.length?{list:a,from:l.Pos(t.line,o),to:l.Pos(t.line,i)}:void 0}function d(e){for(var t in e)s&&0!=t.lastIndexOf(s,0)||a.push(t)}})});"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-autocomplete/files/addon/hint/html-hint.js",
    "content": "!function(l){\"object\"==typeof exports&&\"object\"==typeof module?l(require(\"../../lib/codemirror\"),require(\"./xml-hint\")):\"function\"==typeof define&&define.amd?define([\"../../lib/codemirror\",\"./xml-hint\"],l):l(CodeMirror)}(function(n){\"use strict\";var l,t=\"ab aa af ak sq am ar an hy as av ae ay az bm ba eu be bn bh bi bs br bg my ca ch ce ny zh cv kw co cr hr cs da dv nl dz en eo et ee fo fj fi fr ff gl ka de el gn gu ht ha he hz hi ho hu ia id ie ga ig ik io is it iu ja jv kl kn kr ks kk km ki rw ky kv kg ko ku kj la lb lg li ln lo lt lu lv gv mk mg ms ml mt mi mr mh mn na nv nb nd ne ng nn no ii nr oc oj cu om or os pa pi fa pl ps pt qu rm rn ro ru sa sc sd se sm sg sr gd sn si sk sl so st es su sw ss sv ta te tg th ti bo tk tl tn to tr ts tt tw ty ug uk ur uz ve vi vo wa cy wo fy xh yi yo za zu\".split(\" \"),e=[\"_blank\",\"_self\",\"_top\",\"_parent\"],a=[\"ascii\",\"utf-8\",\"utf-16\",\"latin1\",\"latin1\"],r=[\"get\",\"post\",\"put\",\"delete\"],o=[\"application/x-www-form-urlencoded\",\"multipart/form-data\",\"text/plain\"],s=[\"all\",\"screen\",\"print\",\"embossed\",\"braille\",\"handheld\",\"print\",\"projection\",\"screen\",\"tty\",\"tv\",\"speech\",\"3d-glasses\",\"resolution [>][<][=] [X]\",\"device-aspect-ratio: X/Y\",\"orientation:portrait\",\"orientation:landscape\",\"device-height: [X]\",\"device-width: [X]\"],u={attrs:{}},i={a:{attrs:{href:null,ping:null,type:null,media:s,target:e,hreflang:t}},abbr:u,acronym:u,address:u,applet:u,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:s,hreflang:t,type:null,shape:[\"default\",\"rect\",\"circle\",\"poly\"]}},article:u,aside:u,audio:{attrs:{src:null,mediagroup:null,crossorigin:[\"anonymous\",\"use-credentials\"],preload:[\"none\",\"metadata\",\"auto\"],autoplay:[\"\",\"autoplay\"],loop:[\"\",\"loop\"],controls:[\"\",\"controls\"]}},b:u,base:{attrs:{href:null,target:e}},basefont:u,bdi:u,bdo:u,big:u,blockquote:{attrs:{cite:null}},body:u,br:u,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:[\"\",\"autofocus\"],disabled:[\"\",\"autofocus\"],formenctype:o,formmethod:r,formnovalidate:[\"\",\"novalidate\"],formtarget:e,type:[\"submit\",\"reset\",\"button\"]}},canvas:{attrs:{width:null,height:null}},caption:u,center:u,cite:u,code:u,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:[\"command\",\"checkbox\",\"radio\"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:[\"\",\"disabled\"],checked:[\"\",\"checked\"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:[\"\",\"disabled\"],multiple:[\"\",\"multiple\"]}},datalist:{attrs:{data:null}},dd:u,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:[\"\",\"open\"]}},dfn:u,dir:u,div:u,dialog:{attrs:{open:null}},dl:u,dt:u,em:u,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:[\"\",\"disabled\"],form:null,name:null}},figcaption:u,figure:u,font:u,footer:u,form:{attrs:{action:null,name:null,\"accept-charset\":a,autocomplete:[\"on\",\"off\"],enctype:o,method:r,novalidate:[\"\",\"novalidate\"],target:e}},frame:u,frameset:u,h1:u,h2:u,h3:u,h4:u,h5:u,h6:u,head:{attrs:{},children:[\"title\",\"base\",\"link\",\"style\",\"meta\",\"script\",\"noscript\",\"command\"]},header:u,hgroup:u,hr:u,html:{attrs:{manifest:null},children:[\"head\",\"body\"]},i:u,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:[\"allow-top-navigation\",\"allow-same-origin\",\"allow-forms\",\"allow-scripts\"],seamless:[\"\",\"seamless\"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:[\"anonymous\",\"use-credentials\"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:[\"audio/*\",\"video/*\",\"image/*\"],autocomplete:[\"on\",\"off\"],autofocus:[\"\",\"autofocus\"],checked:[\"\",\"checked\"],disabled:[\"\",\"disabled\"],formenctype:o,formmethod:r,formnovalidate:[\"\",\"novalidate\"],formtarget:e,multiple:[\"\",\"multiple\"],readonly:[\"\",\"readonly\"],required:[\"\",\"required\"],type:[\"hidden\",\"text\",\"search\",\"tel\",\"url\",\"email\",\"password\",\"datetime\",\"date\",\"month\",\"week\",\"time\",\"datetime-local\",\"number\",\"range\",\"color\",\"checkbox\",\"radio\",\"file\",\"submit\",\"image\",\"reset\",\"button\"]}},ins:{attrs:{cite:null,datetime:null}},kbd:u,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:[\"\",\"autofocus\"],disabled:[\"\",\"disabled\"],keytype:[\"RSA\"]}},label:{attrs:{for:null,form:null}},legend:u,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:t,media:s,sizes:[\"all\",\"16x16\",\"16x16 32x32\",\"16x16 32x32 64x64\"]}},map:{attrs:{name:null}},mark:u,menu:{attrs:{label:null,type:[\"list\",\"context\",\"toolbar\"]}},meta:{attrs:{content:null,charset:a,name:[\"viewport\",\"application-name\",\"author\",\"description\",\"generator\",\"keywords\"],\"http-equiv\":[\"content-language\",\"content-type\",\"default-style\",\"refresh\"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:u,noframes:u,noscript:u,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:[\"\",\"typemustmatch\"]}},ol:{attrs:{reversed:[\"\",\"reversed\"],start:null,type:[\"1\",\"a\",\"A\",\"i\",\"I\"]}},optgroup:{attrs:{disabled:[\"\",\"disabled\"],label:null}},option:{attrs:{disabled:[\"\",\"disabled\"],label:null,selected:[\"\",\"selected\"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:u,param:{attrs:{name:null,value:null}},pre:u,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:u,rt:u,ruby:u,s:u,samp:u,script:{attrs:{type:[\"text/javascript\"],src:null,async:[\"\",\"async\"],defer:[\"\",\"defer\"],charset:a}},section:u,select:{attrs:{form:null,name:null,size:null,autofocus:[\"\",\"autofocus\"],disabled:[\"\",\"disabled\"],multiple:[\"\",\"multiple\"]}},small:u,source:{attrs:{src:null,type:null,media:null}},span:u,strike:u,strong:u,style:{attrs:{type:[\"text/css\"],media:s,scoped:null}},sub:u,summary:u,sup:u,table:u,tbody:u,td:{attrs:{colspan:null,rowspan:null,headers:null}},textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:[\"\",\"autofocus\"],disabled:[\"\",\"disabled\"],readonly:[\"\",\"readonly\"],required:[\"\",\"required\"],wrap:[\"soft\",\"hard\"]}},tfoot:u,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:[\"row\",\"col\",\"rowgroup\",\"colgroup\"]}},thead:u,time:{attrs:{datetime:null}},title:u,tr:u,track:{attrs:{src:null,label:null,default:null,kind:[\"subtitles\",\"captions\",\"descriptions\",\"chapters\",\"metadata\"],srclang:t}},tt:u,u:u,ul:u,var:u,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:[\"anonymous\",\"use-credentials\"],preload:[\"auto\",\"metadata\",\"none\"],autoplay:[\"\",\"autoplay\"],mediagroup:[\"movie\"],muted:[\"\",\"muted\"],controls:[\"\",\"controls\"]}},wbr:u},d={accesskey:[\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\",\"h\",\"i\",\"j\",\"k\",\"l\",\"m\",\"n\",\"o\",\"p\",\"q\",\"r\",\"s\",\"t\",\"u\",\"v\",\"w\",\"x\",\"y\",\"z\",\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\"],class:null,contenteditable:[\"true\",\"false\"],contextmenu:null,dir:[\"ltr\",\"rtl\",\"auto\"],draggable:[\"true\",\"false\",\"auto\"],dropzone:[\"copy\",\"move\",\"link\",\"string:\",\"file:\"],hidden:[\"hidden\"],id:null,inert:[\"inert\"],itemid:null,itemprop:null,itemref:null,itemscope:[\"itemscope\"],itemtype:null,lang:[\"en\",\"es\"],spellcheck:[\"true\",\"false\"],autocorrect:[\"true\",\"false\"],autocapitalize:[\"true\",\"false\"],style:null,tabindex:[\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\"],title:null,translate:[\"yes\",\"no\"],onclick:null,rel:[\"stylesheet\",\"alternate\",\"author\",\"bookmark\",\"help\",\"license\",\"next\",\"nofollow\",\"noreferrer\",\"prefetch\",\"prev\",\"search\",\"tag\"]};function c(l){for(var t in d)d.hasOwnProperty(t)&&(l.attrs[t]=d[t])}for(l in c(u),i)i.hasOwnProperty(l)&&i[l]!=u&&c(i[l]);n.htmlSchema=i,n.registerHelper(\"hint\",\"html\",function(l,t){var e={schemaInfo:i};if(t)for(var a in t)e[a]=t[a];return n.hint.xml(l,e)})});"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-autocomplete/files/addon/hint/javascript-hint.js",
    "content": "!function(t){\"object\"==typeof exports&&\"object\"==typeof module?t(require(\"../../lib/codemirror\")):\"function\"==typeof define&&define.amd?define([\"../../lib/codemirror\"],t):t(CodeMirror)}(function(f){var c=f.Pos;function g(t,e){for(var r=0,n=t.length;r<n;++r)e(t[r])}function r(t,e,r,n){var i=t.getCursor(),o=r(t,i);if(!/\\b(?:string|comment)\\b/.test(o.type)){var s=f.innerMode(t.getMode(),o.state);if(\"json\"!==s.mode.helperType){o.state=s.state,/^[\\w$_]*$/.test(o.string)?o.end>i.ch&&(o.end=i.ch,o.string=o.string.slice(0,i.ch-o.start)):o={start:i.ch,end:i.ch,string:\"\",state:o.state,type:\".\"==o.string?\"property\":null};for(var a=o;\"property\"==a.type;){if(\".\"!=(a=r(t,c(i.line,a.start))).string)return;var a=r(t,c(i.line,a.start)),l=l||[];l.push(a)}return{list:function(t,e,r,n){var i=[],o=t.string,s=n&&n.globalScope||window;function a(t){0!=t.lastIndexOf(o,0)||function(t,e){if(Array.prototype.indexOf)return-1!=t.indexOf(e);for(var r=t.length;r--;)if(t[r]===e)return 1}(i,t)||i.push(t)}function l(t){\"string\"==typeof t?g(y,a):t instanceof Array?g(h,a):t instanceof Function&&g(v,a);var e=a;if(Object.getOwnPropertyNames&&Object.getPrototypeOf)for(var r=t;r;r=Object.getPrototypeOf(r))Object.getOwnPropertyNames(r).forEach(e);else for(var n in t)e(n)}if(e&&e.length){var f,c=e.pop();for(c.type&&0===c.type.indexOf(\"variable\")?(n&&n.additionalContext&&(f=n.additionalContext[c.string]),n&&!1===n.useGlobalScope||(f=f||s[c.string])):\"string\"==c.type?f=\"\":\"atom\"==c.type?f=1:\"function\"==c.type&&(null==s.jQuery||\"$\"!=c.string&&\"jQuery\"!=c.string||\"function\"!=typeof s.jQuery?null!=s._&&\"_\"==c.string&&\"function\"==typeof s._&&(f=s._()):f=s.jQuery());null!=f&&e.length;)f=f[e.pop().string];null!=f&&l(f)}else{for(var p=t.state.localVars;p;p=p.next)a(p.name);for(var u=t.state.context;u;u=u.prev)for(p=u.vars;p;p=p.next)a(p.name);for(p=t.state.globalVars;p;p=p.next)a(p.name);if(n&&null!=n.additionalContext)for(var d in n.additionalContext)a(d);n&&!1===n.useGlobalScope||l(s),g(r,a)}return i}(o,l,e,n),from:c(i.line,o.start),to:c(i.line,o.end)}}}}function n(t,e){t=t.getTokenAt(e);return e.ch==t.start+1&&\".\"==t.string.charAt(0)?(t.end=t.start,t.string=\".\",t.type=\"property\"):/^\\.[\\w$_]*$/.test(t.string)&&(t.type=\"property\",t.start++,t.string=t.string.replace(/\\./,\"\")),t}f.registerHelper(\"hint\",\"javascript\",function(t,e){return r(t,i,function(t,e){return t.getTokenAt(e)},e)}),f.registerHelper(\"hint\",\"coffeescript\",function(t,e){return r(t,o,n,e)});var y=\"charAt charCodeAt indexOf lastIndexOf substring substr slice trim trimLeft trimRight toUpperCase toLowerCase split concat match replace search\".split(\" \"),h=\"length concat join splice push pop shift unshift slice reverse sort indexOf lastIndexOf every some filter forEach map reduce reduceRight \".split(\" \"),v=\"prototype apply call bind\".split(\" \"),i=\"break case catch class const continue debugger default delete do else export extends false finally for function if in import instanceof new null return super switch this throw true try typeof var void while with yield\".split(\" \"),o=\"and break catch class continue delete do else extends false finally for if in instanceof isnt new no not null of off on or return switch then throw true try typeof until void while with yes\".split(\" \")});"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-autocomplete/files/addon/hint/show-hint.css",
    "content": ".CodeMirror-hints{position:absolute;z-index:10;overflow:hidden;list-style:none;margin:0;padding:2px;-webkit-box-shadow:2px 3px 5px rgba(0,0,0,.2);-moz-box-shadow:2px 3px 5px rgba(0,0,0,.2);box-shadow:2px 3px 5px rgba(0,0,0,.2);border-radius:3px;border:1px solid silver;background:#fff;font-size:90%;font-family:monospace;max-height:20em;overflow-y:auto;box-sizing:border-box}.CodeMirror-hint{margin:0;padding:0 4px;border-radius:2px;white-space:pre;color:#000;cursor:pointer}li.CodeMirror-hint-active{background:#08f;color:#fff}"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-autocomplete/files/addon/hint/show-hint.js",
    "content": "!function(t){\"object\"==typeof exports&&\"object\"==typeof module?t(require(\"../../lib/codemirror\")):\"function\"==typeof define&&define.amd?define([\"../../lib/codemirror\"],t):t(CodeMirror)}(function(T){\"use strict\";var F=\"CodeMirror-hint-active\";function n(t,e){var i;this.cm=t,this.options=e,this.widget=null,this.debounce=0,this.tick=0,this.startPos=this.cm.getCursor(\"start\"),this.startLen=this.cm.getLine(this.startPos.line).length-this.cm.getSelection().length,this.options.updateOnCursorActivity&&t.on(\"cursorActivity\",(i=this).activityFunc=function(){i.cursorActivity()})}T.showHint=function(t,e,i){if(!e)return t.showHint(i);i&&i.async&&(e.async=!0);var n={hint:e};if(i)for(var o in i)n[o]=i[o];return t.showHint(n)},T.defineExtension(\"showHint\",function(t){t=function(t,e,i){var n=t.options.hintOptions,o={};for(s in c)o[s]=c[s];if(n)for(var s in n)void 0!==n[s]&&(o[s]=n[s]);if(i)for(var s in i)void 0!==i[s]&&(o[s]=i[s]);o.hint.resolve&&(o.hint=o.hint.resolve(t,e));return o}(this,this.getCursor(\"start\"),t);var e=this.listSelections();if(!(1<e.length)){if(this.somethingSelected()){if(!t.hint.supportsSelection)return;for(var i=0;i<e.length;i++)if(e[i].head.line!=e[i].anchor.line)return}this.state.completionActive&&this.state.completionActive.close();t=this.state.completionActive=new n(this,t);t.options.hint&&(T.signal(this,\"startCompletion\",this),t.update(!0))}}),T.defineExtension(\"closeHint\",function(){this.state.completionActive&&this.state.completionActive.close()});var o=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},s=window.cancelAnimationFrame||clearTimeout;function M(t){return\"string\"==typeof t?t:t.text}function O(t,e){for(;e&&e!=t;){if(\"LI\"===e.nodeName.toUpperCase()&&e.parentNode==t)return e;e=e.parentNode}}function i(o,t){this.id=\"cm-complete-\"+Math.floor(Math.random(1e6)),this.completion=o,this.data=t,this.picked=!1;for(var i=this,s=o.cm,c=s.getInputField().ownerDocument,r=c.defaultView||c.parentWindow,l=this.hints=c.createElement(\"ul\"),e=(l.setAttribute(\"role\",\"listbox\"),l.setAttribute(\"aria-expanded\",\"true\"),l.id=this.id,o.cm.options.theme),n=(l.className=\"CodeMirror-hints \"+e,this.selectedHint=t.selectedHint||0,t.list),h=0;h<n.length;++h){var a=l.appendChild(c.createElement(\"li\")),u=n[h],d=\"CodeMirror-hint\"+(h!=this.selectedHint?\"\":\" \"+F);null!=u.className&&(d=u.className+\" \"+d),a.className=d,h==this.selectedHint&&a.setAttribute(\"aria-selected\",\"true\"),a.id=this.id+\"-\"+h,a.setAttribute(\"role\",\"option\"),u.render?u.render(a,t,u):a.appendChild(c.createTextNode(u.displayText||M(u))),a.hintId=h}var f,e=o.options.container||c.body,p=s.cursorCoords(o.options.alignWithWord?t.from:null),m=p.left,g=p.bottom,v=!0,y=0,w=0,b=(e!==c.body&&(b=(H=-1!==[\"absolute\",\"relative\",\"fixed\"].indexOf(r.getComputedStyle(e).position)?e:e.offsetParent).getBoundingClientRect(),A=c.body.getBoundingClientRect(),y=b.left-A.left-H.scrollLeft,w=b.top-A.top-H.scrollTop),l.style.left=m-y+\"px\",l.style.top=g-w+\"px\",r.innerWidth||Math.max(c.body.offsetWidth,c.documentElement.offsetWidth)),A=r.innerHeight||Math.max(c.body.offsetHeight,c.documentElement.offsetHeight),H=(e.appendChild(l),s.getInputField().setAttribute(\"aria-autocomplete\",\"list\"),s.getInputField().setAttribute(\"aria-owns\",this.id),s.getInputField().setAttribute(\"aria-activedescendant\",this.id+\"-\"+this.selectedHint),o.options.moveOnOverlap?l.getBoundingClientRect():new DOMRect),e=!!o.options.paddingForScrollbar&&l.scrollHeight>l.clientHeight+1;setTimeout(function(){f=s.getScrollInfo()});0<H.bottom-A&&(S=H.bottom-H.top,k=H.top-(p.bottom-p.top)-2,A-H.top<k?(k<S&&(l.style.height=(S=k)+\"px\"),l.style.top=(g=p.top-S)+w+\"px\",v=!1):l.style.height=A-H.top-2+\"px\");var C,k=H.right-b;if(e&&(k+=s.display.nativeBarWidth),0<k&&(H.right-H.left>b&&(l.style.width=b-5+\"px\",k-=H.right-H.left-b),l.style.left=(m=Math.max(p.left-k-y,0))+\"px\"),e)for(var x=l.firstChild;x;x=x.nextSibling)x.style.paddingRight=s.display.nativeBarWidth+\"px\";s.addKeyMap(this.keyMap=function(t,n){var o={Up:function(){n.moveFocus(-1)},Down:function(){n.moveFocus(1)},PageUp:function(){n.moveFocus(1-n.menuSize(),!0)},PageDown:function(){n.moveFocus(n.menuSize()-1,!0)},Home:function(){n.setFocus(0)},End:function(){n.setFocus(n.length-1)},Enter:n.pick,Tab:n.pick,Esc:n.close},e=(/Mac/.test(navigator.platform)&&(o[\"Ctrl-P\"]=function(){n.moveFocus(-1)},o[\"Ctrl-N\"]=function(){n.moveFocus(1)}),t.options.customKeys),s=e?{}:o;function i(t,e){var i=\"string\"!=typeof e?function(t){return e(t,n)}:o.hasOwnProperty(e)?o[e]:e;s[t]=i}if(e)for(var c in e)e.hasOwnProperty(c)&&i(c,e[c]);var r=t.options.extraKeys;if(r)for(var c in r)r.hasOwnProperty(c)&&i(c,r[c]);return s}(o,{moveFocus:function(t,e){i.changeActive(i.selectedHint+t,e)},setFocus:function(t){i.changeActive(t)},menuSize:function(){return i.screenAmount()},length:n.length,close:function(){o.close()},pick:function(){i.pick()},data:t})),o.options.closeOnUnfocus&&(s.on(\"blur\",this.onBlur=function(){C=setTimeout(function(){o.close()},100)}),s.on(\"focus\",this.onFocus=function(){clearTimeout(C)})),s.on(\"scroll\",this.onScroll=function(){var t=s.getScrollInfo(),e=s.getWrapperElement().getBoundingClientRect(),i=(f=f||s.getScrollInfo(),g+f.top-t.top),n=i-(r.pageYOffset||(c.documentElement||c.body).scrollTop);if(v||(n+=l.offsetHeight),n<=e.top||n>=e.bottom)return o.close();l.style.top=i+\"px\",l.style.left=m+f.left-t.left+\"px\"}),T.on(l,\"dblclick\",function(t){t=O(l,t.target||t.srcElement);t&&null!=t.hintId&&(i.changeActive(t.hintId),i.pick())}),T.on(l,\"click\",function(t){t=O(l,t.target||t.srcElement);t&&null!=t.hintId&&(i.changeActive(t.hintId),o.options.completeOnSingleClick&&i.pick())}),T.on(l,\"mousedown\",function(){setTimeout(function(){s.focus()},20)});var S=this.getSelectedHintRange();return 0===S.from&&0===S.to||this.scrollToActive(),T.signal(t,\"select\",n[this.selectedHint],l.childNodes[this.selectedHint]),!0}function r(t,e,i,n){t.async?t(e,n,i):(t=t(e,i))&&t.then?t.then(n):n(t)}n.prototype={close:function(){this.active()&&(this.cm.state.completionActive=null,this.tick=null,this.options.updateOnCursorActivity&&this.cm.off(\"cursorActivity\",this.activityFunc),this.widget&&this.data&&T.signal(this.data,\"close\"),this.widget&&this.widget.close(),T.signal(this.cm,\"endCompletion\",this.cm))},active:function(){return this.cm.state.completionActive==this},pick:function(t,e){var i=t.list[e],n=this;this.cm.operation(function(){i.hint?i.hint(n.cm,t,i):n.cm.replaceRange(M(i),i.from||t.from,i.to||t.to,\"complete\"),T.signal(t,\"pick\",i),n.cm.scrollIntoView()}),this.options.closeOnPick&&this.close()},cursorActivity:function(){this.debounce&&(s(this.debounce),this.debounce=0);var t,e=this.startPos,i=(this.data&&(e=this.data.from),this.cm.getCursor()),n=this.cm.getLine(i.line);i.line!=this.startPos.line||n.length-i.ch!=this.startLen-this.startPos.ch||i.ch<e.ch||this.cm.somethingSelected()||!i.ch||this.options.closeCharacters.test(n.charAt(i.ch-1))?this.close():((t=this).debounce=o(function(){t.update()}),this.widget&&this.widget.disable())},update:function(e){var i,n;null!=this.tick&&(n=++(i=this).tick,r(this.options.hint,this.cm,this.options,function(t){i.tick==n&&i.finishUpdate(t,e)}))},finishUpdate:function(t,e){this.data&&T.signal(this.data,\"update\");e=this.widget&&this.widget.picked||e&&this.options.completeSingle;this.widget&&this.widget.close(),(this.data=t)&&t.list.length&&(e&&1==t.list.length?this.pick(t,0):(this.widget=new i(this,t),T.signal(t,\"shown\")))}},i.prototype={close:function(){var t;this.completion.widget==this&&(this.completion.widget=null,this.hints.parentNode&&this.hints.parentNode.removeChild(this.hints),this.completion.cm.removeKeyMap(this.keyMap),(t=this.completion.cm.getInputField()).removeAttribute(\"aria-activedescendant\"),t.removeAttribute(\"aria-owns\"),t=this.completion.cm,this.completion.options.closeOnUnfocus&&(t.off(\"blur\",this.onBlur),t.off(\"focus\",this.onFocus)),t.off(\"scroll\",this.onScroll))},disable:function(){this.completion.cm.removeKeyMap(this.keyMap);var t=this;this.keyMap={Enter:function(){t.picked=!0}},this.completion.cm.addKeyMap(this.keyMap)},pick:function(){this.completion.pick(this.data,this.selectedHint)},changeActive:function(t,e){t>=this.data.list.length?t=e?this.data.list.length-1:0:t<0&&(t=e?0:this.data.list.length-1),this.selectedHint!=t&&((e=this.hints.childNodes[this.selectedHint])&&(e.className=e.className.replace(\" \"+F,\"\"),e.removeAttribute(\"aria-selected\")),(e=this.hints.childNodes[this.selectedHint=t]).className+=\" \"+F,e.setAttribute(\"aria-selected\",\"true\"),this.completion.cm.getInputField().setAttribute(\"aria-activedescendant\",e.id),this.scrollToActive(),T.signal(this.data,\"select\",this.data.list[this.selectedHint],e))},scrollToActive:function(){var t=this.getSelectedHintRange(),e=this.hints.childNodes[t.from],t=this.hints.childNodes[t.to],i=this.hints.firstChild;e.offsetTop<this.hints.scrollTop?this.hints.scrollTop=e.offsetTop-i.offsetTop:t.offsetTop+t.offsetHeight>this.hints.scrollTop+this.hints.clientHeight&&(this.hints.scrollTop=t.offsetTop+t.offsetHeight-this.hints.clientHeight+i.offsetTop)},screenAmount:function(){return Math.floor(this.hints.clientHeight/this.hints.firstChild.offsetHeight)||1},getSelectedHintRange:function(){var t=this.completion.options.scrollMargin||0;return{from:Math.max(0,this.selectedHint-t),to:Math.min(this.data.list.length-1,this.selectedHint+t)}}},T.registerHelper(\"hint\",\"auto\",{resolve:function(t,e){var i,c=t.getHelpers(e,\"hint\");return c.length?((e=function(t,n,o){var s=function(t,e){if(!t.somethingSelected())return e;for(var i=[],n=0;n<e.length;n++)e[n].supportsSelection&&i.push(e[n]);return i}(t,c);!function e(i){if(i==s.length)return n(null);r(s[i],t,o,function(t){t&&0<t.list.length?n(t):e(i+1)})}(0)}).async=!0,e.supportsSelection=!0,e):(i=t.getHelper(t.getCursor(),\"hintWords\"))?function(t){return T.hint.fromList(t,{words:i})}:T.hint.anyword?function(t,e){return T.hint.anyword(t,e)}:function(){}}}),T.registerHelper(\"hint\",\"fromList\",function(t,e){for(var i,n=t.getCursor(),t=t.getTokenAt(n),o=T.Pos(n.line,t.start),s=n,c=(t.start<n.ch&&/\\w/.test(t.string.charAt(n.ch-t.start-1))?i=t.string.substr(0,n.ch-t.start):(i=\"\",o=n),[]),r=0;r<e.words.length;r++){var l=e.words[r];l.slice(0,i.length)==i&&c.push(l)}if(c.length)return{list:c,from:o,to:s}}),T.commands.autocomplete=T.showHint;var c={hint:T.hint.auto,completeSingle:!0,alignWithWord:!0,closeCharacters:/[\\s()\\[\\]{};:>,]/,closeOnPick:!0,closeOnUnfocus:!0,updateOnCursorActivity:!0,completeOnSingleClick:!0,container:null,customKeys:null,extraKeys:null,paddingForScrollbar:!0,moveOnOverlap:!0};T.defineOption(\"hintOptions\",null)});"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-autocomplete/files/addon/hint/xml-hint.js",
    "content": "!function(t){\"object\"==typeof exports&&\"object\"==typeof module?t(require(\"../../lib/codemirror\")):\"function\"==typeof define&&define.amd?define([\"../../lib/codemirror\"],t):t(CodeMirror)}(function($){\"use strict\";var I=$.Pos;function T(t,e,r){return r?0<=t.indexOf(e):0==t.lastIndexOf(e,0)}$.registerHelper(\"hint\",\"xml\",function(t,e){var r=e&&e.schemaInfo,n=e&&e.quoteChar||'\"',s=e&&e.matchInMiddle;if(r){var i=t.getCursor(),o=t.getTokenAt(i);if(o.end>i.ch&&(o.end=i.ch,o.string=o.string.slice(0,i.ch-o.start)),(e=$.innerMode(t.getMode(),o.state)).mode.xmlCurrentTag){var a,l=[],g=!1,c=/\\btag\\b/.test(o.type)&&!/>$/.test(o.string),f=c&&/^\\w/.test(o.string),h=(f?(O=t.getLine(i.line).slice(Math.max(0,o.start-2),o.start),(M=/<\\/$/.test(O)?\"close\":/<$/.test(O)?\"open\":null)&&(a=o.start-(\"close\"==M?2:1))):c&&\"<\"==o.string?M=\"open\":c&&\"</\"==o.string&&(M=\"close\"),e.mode.xmlCurrentTag(e.state));if(!c&&!h||M){f&&(A=o.string);var g=M,c=e.mode.xmlCurrentContext?e.mode.xmlCurrentContext(e.state):[],u=(e=c.length&&c[c.length-1])&&r[e],d=e?u&&u.children:r[\"!top\"];if(d&&\"close\"!=M)for(var p=0;p<d.length;++p)A&&!T(d[p],A,s)||l.push(\"<\"+d[p]);else if(\"close\"!=M)for(var m in r)!r.hasOwnProperty(m)||\"!top\"==m||\"!attrs\"==m||A&&!T(m,A,s)||l.push(\"<\"+m);e&&(!A||\"close\"==M&&T(e,A,s))&&l.push(\"</\"+e+\">\")}else{var y,x=(u=h&&r[h.name])&&u.attrs,v=r[\"!attrs\"];if(!x&&!v)return;if(x){if(v){var C,b={};for(C in v)v.hasOwnProperty(C)&&(b[C]=v[C]);for(C in x)x.hasOwnProperty(C)&&(b[C]=x[C]);x=b}}else x=v;if(\"string\"==o.type||\"=\"==o.string){var O,w,A,M,f=(O=t.getRange(I(i.line,Math.max(0,i.ch-60)),I(i.line,\"string\"==o.type?o.start:o.end))).match(/([^\\s\\u00a0=<>\\\"\\']+)=$/);if(!f||!x.hasOwnProperty(f[1])||!(w=x[f[1]]))return;\"function\"==typeof w&&(w=w.call(this,t)),\"string\"==o.type&&(A=o.string,/['\"]/.test(o.string.charAt(c=0))&&(n=o.string.charAt(0),A=o.string.slice(1),c++),M=o.string.length,/['\"]/.test(o.string.charAt(M-1))&&(n=o.string.charAt(M-1),A=o.string.substr(c,M-2)),c&&(e=t.getLine(i.line)).length>o.end&&e.charAt(o.end)==n&&o.end++,g=!0);h=function(t){if(t)for(var e=0;e<t.length;++e)A&&!T(t[e],A,s)||l.push(n+t[e]+n);return P()};return w&&w.then?w.then(h):h(w)}for(y in\"attribute\"==o.type&&(A=o.string,g=!0),x)!x.hasOwnProperty(y)||A&&!T(y,A,s)||l.push(y)}return P()}}function P(){return{list:l,from:g?I(i.line,null==a?o.start:a):i,to:g?I(i.line,o.end):i}}})});"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-autocomplete/files/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": [\n\t\t{\n\t\t\t\"file\": \"addon/hint/anyword-hint.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/codemirror/addon/hint/anyword-hint.js\",\n\t\t\t\t\"module-type\": \"codemirror\"\n\t\t\t}\n\t\t},{\n\t\t\t\"file\": \"addon/hint/css-hint.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/codemirror/addon/hint/css-hint.js\",\n\t\t\t\t\"module-type\": \"codemirror\"\n\t\t\t}\n\t\t},{\n\t\t\t\"file\": \"addon/hint/html-hint.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/codemirror/addon/hint/html-hint.js\",\n\t\t\t\t\"module-type\": \"codemirror\"\n\t\t\t}\n\t\t},{\n\t\t\t\"file\": \"addon/hint/javascript-hint.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/codemirror/addon/hint/javascript-hint.js\",\n\t\t\t\t\"module-type\": \"codemirror\"\n\t\t\t}\n\t\t},{\n\t\t\t\"file\": \"addon/hint/show-hint.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/codemirror/addon/hint/show-hint.js\",\n\t\t\t\t\"module-type\": \"codemirror\"\n\t\t\t}\n\t\t},{\n\t\t\t\"file\": \"addon/hint/show-hint.css\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"text/css\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/codemirror/addon/hint/show-hint.css\",\n\t\t\t\t\"tags\": \"[[$:/tags/Stylesheet]]\"\n\t\t\t}\n\t\t},{\n\t\t\t\"file\": \"addon/hint/xml-hint.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/codemirror/addon/hint/xml-hint.js\",\n\t\t\t\t\"module-type\": \"codemirror\"\n\t\t\t}\n\t\t}\n\t]\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-autocomplete/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/codemirror-autocomplete\",\n\t\"name\": \"CodeMirror Autocomplete\",\n\t\"description\": \"Autocompletion for CodeMirror\",\n\t\"parent-plugin\": \"$:/plugins/tiddlywiki/codemirror\",\n\t\"dependents\": [\"$:/plugins/tiddlywiki/codemirror-mode-css\"],\n\t\"list\": \"readme\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-autocomplete/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/codemirror-autocomplete/readme\n\nThis plugin enhances the [[CodeMirror|http://codemirror.net]] text editor with Autocompletion functionality. It needs the latest [[CodeMirror plugin|$:/plugins/tiddlywiki/codemirror]] to be installed\n\nIt adds Autocompletion for ''html'', ''javascript'' and ''xml'' and also for ''already present words'' within a text-editor instance\n\nThe ''Keyboard Shortcut'' for autocompletion is `Ctrl+Space`\n\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-closebrackets/config/autoCloseBrackets.tid",
    "content": "title: $:/config/codemirror/autoCloseBrackets\ntype: bool\n\ntrue"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-closebrackets/config/matchBrackets.tid",
    "content": "title: $:/config/codemirror/matchBrackets\ntype: bool\n\ntrue\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-closebrackets/files/addon/edit/closebrackets.js",
    "content": "!function(e){\"object\"==typeof exports&&\"object\"==typeof module?e(require(\"../../lib/codemirror\")):\"function\"==typeof define&&define.amd?define([\"../../lib/codemirror\"],e):e(CodeMirror)}(function(S){var n={pairs:\"()[]{}''\\\"\\\"\",closeBefore:\")]}'\\\":;>\",triples:\"\",explode:\"[]{}\"},k=S.Pos;function y(e,t){return\"pairs\"==t&&\"string\"==typeof e?e:(\"object\"==typeof e&&null!=e[t]?e:n)[t]}S.defineOption(\"autoCloseBrackets\",!1,function(e,t,n){n&&n!=S.Init&&(e.removeKeyMap(i),e.state.closeBrackets=null),t&&(r(y(t,\"pairs\")),e.state.closeBrackets=t,e.addKeyMap(i))});var i={Backspace:function(e){var t=O(e);if(!t||e.getOption(\"disableInput\"))return S.Pass;for(var n=y(t,\"pairs\"),r=e.listSelections(),i=0;i<r.length;i++){if(!r[i].empty())return S.Pass;var a=s(e,r[i].head);if(!a||n.indexOf(a)%2!=0)return S.Pass}for(i=r.length-1;0<=i;i--){var o=r[i].head;e.replaceRange(\"\",k(o.line,o.ch-1),k(o.line,o.ch+1),\"+delete\")}},Enter:function(r){var e=O(r),t=e&&y(e,\"explode\");if(!t||r.getOption(\"disableInput\"))return S.Pass;for(var i=r.listSelections(),n=0;n<i.length;n++){if(!i[n].empty())return S.Pass;var a=s(r,i[n].head);if(!a||t.indexOf(a)%2!=0)return S.Pass}r.operation(function(){var e=r.lineSeparator()||\"\\n\";r.replaceSelection(e+e,null),m(r,-1),i=r.listSelections();for(var t=0;t<i.length;t++){var n=i[t].head.line;r.indentLine(n,null,!0),r.indentLine(n+1,null,!0)}})}};function r(e){for(var t=0;t<e.length;t++){var n=e.charAt(t),r=\"'\"+n+\"'\";i[r]||(i[r]=function(P){return function(e){var i=e,t=P,e=O(i);if(!e||i.getOption(\"disableInput\"))return S.Pass;var n=y(e,\"pairs\"),r=n.indexOf(t);if(-1==r)return S.Pass;for(var a,o=y(e,\"closeBefore\"),s=y(e,\"triples\"),l=n.charAt(r+1)==t,c=i.listSelections(),h=r%2==0,f=0;f<c.length;f++){var u,d=c[f],p=d.head,g=i.getRange(p,k(p.line,p.ch+1));if(h&&!d.empty())u=\"surround\";else if(!l&&h||g!=t)if(l&&1<p.ch&&0<=s.indexOf(t)&&i.getRange(k(p.line,p.ch-2),p)==t+t){if(2<p.ch&&/\\bstring/.test(i.getTokenTypeAt(k(p.line,p.ch-2))))return S.Pass;u=\"addFour\"}else if(l){d=0==p.ch?\" \":i.getRange(k(p.line,p.ch-1),p);if(S.isWordChar(g)||d==t||S.isWordChar(d))return S.Pass;u=\"both\"}else{if(!h||!(0===g.length||/\\s/.test(g)||-1<o.indexOf(g)))return S.Pass;u=\"both\"}else u=l&&function(e,t){var n=e.getTokenAt(k(t.line,t.ch+1));return/\\bstring/.test(n.type)&&n.start==t.ch&&(0==t.ch||!/\\bstring/.test(e.getTokenTypeAt(t)))}(i,p)?\"both\":0<=s.indexOf(t)&&i.getRange(p,k(p.line,p.ch+3))==t+t+t?\"skipThree\":\"skip\";if(a){if(a!=u)return S.Pass}else a=u}var v=r%2?n.charAt(r-1):t,b=r%2?t:n.charAt(r+1);i.operation(function(){if(\"skip\"==a)m(i,1);else if(\"skipThree\"==a)m(i,3);else if(\"surround\"==a){for(var e=i.getSelections(),t=0;t<e.length;t++)e[t]=v+e[t]+b;i.replaceSelections(e,\"around\");for(e=i.listSelections().slice(),t=0;t<e.length;t++)e[t]=(n=e[t],r=void 0,r=0<S.cmpPos(n.anchor,n.head),{anchor:new k(n.anchor.line,n.anchor.ch+(r?-1:1)),head:new k(n.head.line,n.head.ch+(r?1:-1))});i.setSelections(e)}else\"both\"==a?(i.replaceSelection(v+b,null),i.triggerElectric(v+b),m(i,-1)):\"addFour\"==a&&(i.replaceSelection(v+v+v+v,\"before\"),m(i,1));var n,r})}}(n))}}function O(e){var t=e.state.closeBrackets;return t&&!t.override&&e.getModeAt(e.getCursor()).closeBrackets||t}function m(e,t){for(var n=[],r=e.listSelections(),i=0,a=0;a<r.length;a++){var o=r[a],o=(o.head==e.getCursor()&&(i=a),o.head.ch||0<t?{line:o.head.line,ch:o.head.ch+t}:{line:o.head.line-1});n.push({anchor:o,head:o})}e.setSelections(n,i)}function s(e,t){e=e.getRange(k(t.line,t.ch-1),k(t.line,t.ch+1));return 2==e.length?e:null}r(n.pairs+\"`\")});"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-closebrackets/files/addon/edit/matchbrackets.js",
    "content": "!function(t){\"object\"==typeof exports&&\"object\"==typeof module?t(require(\"../../lib/codemirror\")):\"function\"==typeof define&&define.amd?define([\"../../lib/codemirror\"],t):t(CodeMirror)}(function(r){var u=/MSIE \\d/.test(navigator.userAgent)&&(null==document.documentMode||document.documentMode<8),k=r.Pos,p={\"(\":\")>\",\")\":\"(<\",\"[\":\"]>\",\"]\":\"[<\",\"{\":\"}>\",\"}\":\"{<\",\"<\":\">>\",\">\":\"<<\"};function y(t){return t&&t.bracketRegex||/[(){}[\\]]/}function f(t,e,n){var r=t.getLineHandle(e.line),i=e.ch-1,c=n&&n.afterCursor,a=(null==c&&(c=/(^| )cm-fat-cursor($| )/.test(t.getWrapperElement().className)),y(n)),c=!c&&0<=i&&a.test(r.text.charAt(i))&&p[r.text.charAt(i)]||a.test(r.text.charAt(i+1))&&p[r.text.charAt(++i)];if(!c)return null;a=\">\"==c.charAt(1)?1:-1;if(n&&n.strict&&0<a!=(i==e.ch))return null;r=t.getTokenTypeAt(k(e.line,i+1)),t=o(t,k(e.line,i+(0<a?1:0)),a,r,n);return null==t?null:{from:k(e.line,i),to:t&&t.pos,match:t&&t.ch==c.charAt(0),forward:0<a}}function o(t,e,n,r,i){for(var c=i&&i.maxScanLineLength||1e4,a=i&&i.maxScanLines||1e3,o=[],h=y(i),l=0<n?Math.min(e.line+a,t.lastLine()+1):Math.max(t.firstLine()-1,e.line-a),s=e.line;s!=l;s+=n){var u=t.getLine(s);if(u){var f=0<n?0:u.length-1,m=0<n?u.length:-1;if(!(u.length>c))for(s==e.line&&(f=e.ch-(n<0?1:0));f!=m;f+=n){var g=u.charAt(f);if(h.test(g)&&(void 0===r||(t.getTokenTypeAt(k(s,f+1))||\"\")==(r||\"\"))){var d=p[g];if(d&&\">\"==d.charAt(1)==0<n)o.push(g);else{if(!o.length)return{pos:k(s,f),ch:g};o.pop()}}}}}return s-n!=(0<n?t.lastLine():t.firstLine())&&null}function e(t,e,n){for(var r=t.state.matchBrackets.maxHighlightLineLength||1e3,i=n&&n.highlightNonMatching,c=[],a=t.listSelections(),o=0;o<a.length;o++){var h,l=a[o].empty()&&f(t,a[o].head,n);l&&(l.match||!1!==i)&&t.getLine(l.from.line).length<=r&&(h=l.match?\"CodeMirror-matchingbracket\":\"CodeMirror-nonmatchingbracket\",c.push(t.markText(l.from,k(l.from.line,l.from.ch+1),{className:h})),l.to&&t.getLine(l.to.line).length<=r&&c.push(t.markText(l.to,k(l.to.line,l.to.ch+1),{className:h})))}if(c.length){u&&t.state.focused&&t.focus();function s(){t.operation(function(){for(var t=0;t<c.length;t++)c[t].clear()})}if(!e)return s;setTimeout(s,800)}}function i(t){t.operation(function(){t.state.matchBrackets.currentlyHighlighted&&(t.state.matchBrackets.currentlyHighlighted(),t.state.matchBrackets.currentlyHighlighted=null),t.state.matchBrackets.currentlyHighlighted=e(t,!1,t.state.matchBrackets)})}function c(t){t.state.matchBrackets&&t.state.matchBrackets.currentlyHighlighted&&(t.state.matchBrackets.currentlyHighlighted(),t.state.matchBrackets.currentlyHighlighted=null)}r.defineOption(\"matchBrackets\",!1,function(t,e,n){n&&n!=r.Init&&(t.off(\"cursorActivity\",i),t.off(\"focus\",i),t.off(\"blur\",c),c(t)),e&&(t.state.matchBrackets=\"object\"==typeof e?e:{},t.on(\"cursorActivity\",i),t.on(\"focus\",i),t.on(\"blur\",c))}),r.defineExtension(\"matchBrackets\",function(){e(this,!0)}),r.defineExtension(\"findMatchingBracket\",function(t,e,n){return f(this,t,e=!n&&\"boolean\"!=typeof e?e:n?(n.strict=e,n):e?{strict:!0}:null)}),r.defineExtension(\"scanForBracket\",function(t,e,n,r){return o(this,t,e,n,r)})});"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-closebrackets/files/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": [\n\t\t{\n\t\t\t\"file\": \"addon/edit/closebrackets.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/codemirror/addon/edit/closebrackets.js\",\n\t\t\t\t\"module-type\": \"codemirror\"\n\t\t\t}\n\t\t},{\n\t\t\t\"file\": \"addon/edit/matchbrackets.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/codemirror/addon/edit/matchbrackets.js\",\n\t\t\t\t\"module-type\": \"codemirror\"\n\t\t\t}\n\t\t}\n\t]\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-closebrackets/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/codemirror-closebrackets\",\n\t\"name\": \"CodeMirror Close Brackets\",\n\t\"description\": \"Close brackets for CodeMirror\",\n\t\"parent-plugin\": \"$:/plugins/tiddlywiki/codemirror\",\n\t\"list\": \"readme\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-closebrackets/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/codemirror-closebrackets/readme\n\nThis plugin adds the ability to automatically insert the closing brackets when you type an opening bracket.\nAlso enables highlighting of matching brackets.\n\nIt needs the latest [[CodeMirror plugin|$:/plugins/tiddlywiki/codemirror]] to be installed\n\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-closetag/config/autoCloseTags.tid",
    "content": "title: $:/config/codemirror/autoCloseTags\ntype: bool\n\ntrue\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-closetag/config-language.multids",
    "content": "title: $:/language/codemirror/\n\nautoCloseTags/hint: Auto-close tags\nautoCloseTags/info: Whether or not to automatically close tags\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-closetag/files/addon/edit/closetag.js",
    "content": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n!function(e){\"object\"==typeof exports&&\"object\"==typeof module?e(require(\"../../lib/codemirror\"),require(\"../fold/xml-fold\")):\"function\"==typeof define&&define.amd?define([\"../../lib/codemirror\",\"../fold/xml-fold\"],e):e(CodeMirror)}(function(y){y.defineOption(\"autoCloseTags\",!1,function(e,t,n){var o;n!=y.Init&&n&&e.removeKeyMap(\"autoCloseTags\"),t&&(o={name:\"autoCloseTags\"},\"object\"==typeof t&&!1===t.whenClosing||(o[\"'/'\"]=function(e){return(t=e).getOption(\"disableInput\")?y.Pass:r(t,!0);var t}),\"object\"==typeof t&&!1===t.whenOpening||(o[\"'>'\"]=function(e){if(e.getOption(\"disableInput\"))return y.Pass;for(var t=e.listSelections(),n=[],o=e.getOption(\"autoCloseTags\"),r=0;r<t.length;r++){if(!t[r].empty())return y.Pass;var a=t[r].head,i=e.getTokenAt(a),l=y.innerMode(e.getMode(),i.state),s=l.state,d=l.mode.xmlCurrentTag&&l.mode.xmlCurrentTag(s),c=d&&d.name;if(!c)return y.Pass;var f=\"html\"==l.mode.configuration,g=\"object\"==typeof o&&o.dontCloseTags||f&&x,u=\"object\"==typeof o&&o.indentTags||f&&P;i.end>a.ch&&(c=c.slice(0,c.length-i.end+a.ch));var m=c.toLowerCase();if(!c||\"string\"==i.type&&(i.end!=a.ch||!/[\\\"\\']/.test(i.string.charAt(i.string.length-1))||1==i.string.length)||\"tag\"==i.type&&d.close||i.string.indexOf(\"/\")==a.ch-i.start-1||g&&-1<T(g,m)||j(e,l.mode.xmlCurrentContext&&l.mode.xmlCurrentContext(s)||[],c,a,!0))return y.Pass;var h,p=\"object\"==typeof o&&o.emptyTags;p&&-1<T(p,c)?n[r]={text:\"/>\",newPos:y.Pos(a.line,a.ch+2)}:(h=u&&-1<T(u,m),n[r]={indent:h,text:\">\"+(h?\"\\n\\n\":\"\")+\"</\"+c+\">\",newPos:h?y.Pos(a.line+1,0):y.Pos(a.line,a.ch+1)})}for(var C=\"object\"==typeof o&&o.dontIndentOnAutoClose,r=t.length-1;0<=r;r--){var b=n[r];e.replaceRange(b.text,t[r].head,t[r].anchor,\"+insert\");var v=e.listSelections().slice(0);v[r]={head:b.newPos,anchor:b.newPos},e.setSelections(v),!C&&b.indent&&(e.indentLine(b.newPos.line,null,!0),e.indentLine(b.newPos.line+1,null,!0))}}),e.addKeyMap(o))});var x=[\"area\",\"base\",\"br\",\"col\",\"command\",\"embed\",\"hr\",\"img\",\"input\",\"keygen\",\"link\",\"meta\",\"param\",\"source\",\"track\",\"wbr\"],P=[\"applet\",\"blockquote\",\"body\",\"button\",\"div\",\"dl\",\"fieldset\",\"form\",\"frameset\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"html\",\"iframe\",\"layer\",\"legend\",\"object\",\"ol\",\"p\",\"select\",\"table\",\"ul\"];function r(e,t){for(var n=e.listSelections(),o=[],r=t?\"/\":\"</\",a=e.getOption(\"autoCloseTags\"),i=\"object\"==typeof a&&a.dontIndentOnSlash,l=0;l<n.length;l++){if(!n[l].empty())return y.Pass;var s=n[l].head,d=e.getTokenAt(s),c=y.innerMode(e.getMode(),d.state),f=c.state;if(t&&(\"string\"==d.type||\"<\"!=d.string.charAt(0)||d.start!=s.ch-1))return y.Pass;var g,u=\"xml\"!=c.mode.name&&\"htmlmixed\"==e.getMode().name;if(u&&\"javascript\"==c.mode.name)g=r+\"script\";else if(u&&\"css\"==c.mode.name)g=r+\"style\";else{var m=c.mode.xmlCurrentContext&&c.mode.xmlCurrentContext(f);if(!m||m.length&&j(e,m,m[m.length-1],s))return y.Pass;g=r+m[m.length-1]}\">\"!=e.getLine(s.line).charAt(d.end)&&(g+=\">\"),o[l]=g}if(e.replaceSelections(o),n=e.listSelections(),!i)for(l=0;l<n.length;l++)(l==n.length-1||n[l].head.line<n[l+1].head.line)&&e.indentLine(n[l].head.line)}function T(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0,o=e.length;n<o;++n)if(e[n]==t)return n;return-1}function j(e,t,n,o,r){if(y.scanForClosingTag){var a=Math.min(e.lastLine()+1,o.line+500),i=y.scanForClosingTag(e,o,null,a);if(i&&i.tag==n){for(var l=r?1:0,s=t.length-1;0<=s&&t[s]==n;s--)++l;o=i.to;for(s=1;s<l;s++){var d=y.scanForClosingTag(e,o,null,a);if(!d||d.tag!=n)return;o=d.to}return 1}}}y.commands.closeTag=function(e){return r(e)}});\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-closetag/files/addon/fold/xml-fold.js",
    "content": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n!function(e){\"object\"==typeof exports&&\"object\"==typeof module?e(require(\"../../lib/codemirror\")):\"function\"==typeof define&&define.amd?define([\"../../lib/codemirror\"],e):e(CodeMirror)}(function(e){\"use strict\";var l=e.Pos;function c(e,n){return e.line-n.line||e.ch-n.ch}var n=\"A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\",i=new RegExp(\"<(/?)([\"+n+\"][A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD-:.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]*)\",\"g\");function a(e,n,t,i){this.line=n,this.ch=t,this.cm=e,this.text=e.getLine(n),this.min=i?Math.max(i.from,e.firstLine()):e.firstLine(),this.max=i?Math.min(i.to-1,e.lastLine()):e.lastLine()}function s(e,n){var t=e.cm.getTokenTypeAt(l(e.line,n));return t&&/\\btag\\b/.test(t)}function r(e){return!(e.line>=e.max)&&(e.ch=0,e.text=e.cm.getLine(++e.line),1)}function h(e){return!(e.line<=e.min)&&(e.text=e.cm.getLine(--e.line),e.ch=e.text.length,1)}function F(e){for(;;){var n=e.text.indexOf(\">\",e.ch);if(-1==n){if(r(e))continue;return}if(s(e,n+1)){var t=e.text.lastIndexOf(\"/\",n),i=-1<t&&!/\\S/.test(e.text.slice(t+1,n));return e.ch=n+1,i?\"selfClose\":\"regular\"}e.ch=n+1}}function x(e){for(;;){var n=e.ch?e.text.lastIndexOf(\"<\",e.ch-1):-1;if(-1==n){if(h(e))continue;return}if(s(e,n+1)){i.lastIndex=n,e.ch=n;var t=i.exec(e.text);if(t&&t.index==n)return t}else e.ch=n}}function g(e){for(;;){i.lastIndex=e.ch;var n=i.exec(e.text);if(!n){if(r(e))continue;return}if(s(e,n.index+1))return e.ch=n.index+n[0].length,n;e.ch=n.index+1}}function v(e,n){for(var t=[];;){var i,r=g(e),u=e.line,f=e.ch-(r?r[0].length:0);if(!r||!(i=F(e)))return;if(\"selfClose\"!=i)if(r[1]){for(var o=t.length-1;0<=o;--o)if(t[o]==r[2]){t.length=o;break}if(o<0&&(!n||n==r[2]))return{tag:r[2],from:l(u,f),to:l(e.line,e.ch)}}else t.push(r[2])}}function d(e,n){for(var t=[];;){var i=function(e){for(;;){var n=e.ch?e.text.lastIndexOf(\">\",e.ch-1):-1;if(-1==n){if(h(e))continue;return}if(s(e,n+1)){var t=e.text.lastIndexOf(\"/\",n),i=-1<t&&!/\\S/.test(e.text.slice(t+1,n));return e.ch=n+1,i?\"selfClose\":\"regular\"}e.ch=n}}(e);if(!i)return;if(\"selfClose\"!=i){var r=e.line,u=e.ch,f=x(e);if(!f)return;if(f[1])t.push(f[2]);else{for(var o=t.length-1;0<=o;--o)if(t[o]==f[2]){t.length=o;break}if(o<0&&(!n||n==f[2]))return{tag:f[2],from:l(e.line,e.ch),to:l(r,u)}}}else x(e)}}e.registerHelper(\"fold\",\"xml\",function(e,n){for(var t=new a(e,n.line,0);;){var i=g(t);if(!i||t.line!=n.line)return;var r=F(t);if(!r)return;if(!i[1]&&\"selfClose\"!=r){var u=l(t.line,t.ch),f=v(t,i[2]);return f&&0<c(f.from,u)?{from:u,to:f.from}:null}}}),e.findMatchingTag=function(e,n,t){var i=new a(e,n.line,n.ch,t);if(-1!=i.text.indexOf(\">\")||-1!=i.text.indexOf(\"<\")){var r=F(i),u=r&&l(i.line,i.ch),f=r&&x(i);if(r&&f&&!(0<c(i,n))){var o={from:l(i.line,i.ch),to:u,tag:f[2]};return\"selfClose\"==r?{open:o,close:null,at:\"open\"}:f[1]?{open:d(i,f[2]),close:o,at:\"close\"}:{open:o,close:v(i=new a(e,u.line,u.ch,t),f[2]),at:\"open\"}}}},e.findEnclosingTag=function(e,n,t,i){for(var r=new a(e,n.line,n.ch,t);;){var u=d(r,i);if(!u)break;var f=v(new a(e,n.line,n.ch,t),u.tag);if(f)return{open:u,close:f}}},e.scanForClosingTag=function(e,n,t,i){return v(new a(e,n.line,n.ch,i?{from:0,to:i}:null),t)}});\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-closetag/files/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": [\n\t\t{\n\t\t\t\"file\": \"addon/fold/xml-fold.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/codemirror/addon/fold/xml-fold.js\",\n\t\t\t\t\"module-type\": \"codemirror\"\n\t\t\t}\n\t\t},{\n\t\t\t\"file\": \"addon/edit/closetag.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/codemirror/addon/edit/closetag.js\",\n\t\t\t\t\"module-type\": \"codemirror\"\n\t\t\t}\n\t\t}\n\t]\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-closetag/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/codemirror-closetag\",\n\t\"name\": \"CodeMirror Close Tag\",\n\t\"description\": \"Close tags automatically for CodeMirror\",\n\t\"parent-plugin\": \"$:/plugins/tiddlywiki/codemirror\",\n\t\"list\": \"readme\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-closetag/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/codemirror-closetag/readme\n\nThis plugin adds the ability to ''automatically close Tags''. It needs the latest [[CodeMirror plugin|$:/plugins/tiddlywiki/codemirror]] to be installed\n\n\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-closetag/settings/autoCloseTags.tid",
    "content": "title: $:/core/ui/ControlPanel/Settings/codemirror/autoCloseTags\ntags: $:/tags/ControlPanel/Settings/CodeMirror\ncaption: {{$:/language/codemirror/autoCloseTags/hint}}\n\n\\define lingo-base() $:/language/codemirror/autoCloseTags/\n<<lingo hint>>\n\n<$checkbox tiddler=\"$:/config/codemirror/autoCloseTags\" field=\"text\" checked=\"true\" unchecked=\"false\" default=\"true\"> <$link to=\"$:/config/codemirror/autoCloseTags\"><<lingo info>></$link> </$checkbox>\n\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-fullscreen-editing/config/fullscreen-editing.tid",
    "content": "title: $:/config/codemirror/fullscreen\nextend: extraKeys\ntype: json\n\n{\n\t\"F11\": \"togglefullscreen\"\n}"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-fullscreen-editing/files/addon/fullscreen/fullscreen.css",
    "content": ".CodeMirror-fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;height:auto;z-index:9}"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-fullscreen-editing/files/addon/fullscreen/fullscreen.js",
    "content": "!function(e){\"object\"==typeof exports&&\"object\"==typeof module?e(require(\"../../lib/codemirror\")):\"function\"==typeof define&&define.amd?define([\"../../lib/codemirror\"],e):e(CodeMirror)}(function(r){\"use strict\";r.defineOption(\"fullScreen\",!1,function(e,t,o){!(o=o==r.Init?!1:o)!=!t&&(t?(t=(o=e).getWrapperElement(),o.state.fullScreenRestore={scrollTop:window.pageYOffset,scrollLeft:window.pageXOffset,width:t.style.width,height:t.style.height},t.style.width=\"\",t.style.height=\"auto\",t.className+=\" CodeMirror-fullscreen\",document.documentElement.style.overflow=\"hidden\",o.refresh()):((o=(t=e).getWrapperElement()).className=o.className.replace(/\\s*CodeMirror-fullscreen\\b/,\"\"),document.documentElement.style.overflow=\"\",e=t.state.fullScreenRestore,o.style.width=e.width,o.style.height=e.height,window.scrollTo(e.scrollLeft,e.scrollTop),t.refresh()))})});"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-fullscreen-editing/files/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": [\n\t\t{\n\t\t\t\"file\": \"addon/fullscreen/fullscreen.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/codemirror/addon/fullscreen/fullscreen.js\",\n\t\t\t\t\"module-type\": \"codemirror\"\n\t\t\t}\n\t\t},{\n\t\t\t\"file\": \"addon/fullscreen/fullscreen.css\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"text/css\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/codemirror/addon/fullscreen/fullscreen.css\",\n\t\t\t\t\"tags\": \"[[$:/tags/Stylesheet]]\"\n\t\t\t}\n\t\t}\n\t]\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-fullscreen-editing/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/codemirror-fullscreen\",\n\t\"name\": \"CodeMirror Fullscreen\",\n\t\"description\": \"Fullscreen editing for CodeMirror\",\n\t\"parent-plugin\": \"$:/plugins/tiddlywiki/codemirror\",\n\t\"list\": \"readme\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-fullscreen-editing/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/codemirror-fullscreen/readme\n\nThis plugin adds a ''Fullscreen editing Mode'' to the [[CodeMirror|http://codemirror.net]] text editor. It needs the latest [[CodeMirror plugin|$:/plugins/tiddlywiki/codemirror]] to be installed\n\nPressing ''F11'' with the focus within the editor-textarea will make the editor go fullscreen, pressing ''F11'' again leaves fullscreen-mode\n\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-keymap-emacs/config/keyMap.tid",
    "content": "title: $:/plugins/tiddlywiki/codemirror/keymaps/emacs\nmodule-type: codemirror-keymap\n\nemacs\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-keymap-emacs/files/keymap/emacs.js",
    "content": "!function(e){\"object\"==typeof exports&&\"object\"==typeof module?e(require(\"../lib/codemirror\")):\"function\"==typeof define&&define.amd?define([\"../lib/codemirror\"],e):e(CodeMirror)}(function(e){\"use strict\";var t=e.commands,c=e.Pos;function l(e,t){return e.line==t.line&&e.ch==t.ch}var o=[];function i(e){o.push(e),50<o.length&&o.shift()}function n(e){return o[o.length-(e?Math.min(e,1):1)]||\"\"}var s=null;function u(e,t,n,r,a){null==a&&(a=e.getRange(t,n)),\"grow\"==r&&s&&s.cm==e&&l(t,s.pos)&&e.isClean(s.gen)?function(e){if(!o.length)return i(e);o[o.length-1]+=e}(a):!1!==r&&i(a),e.replaceRange(\"\",t,n,\"+delete\"),s=\"grow\"==r?{cm:e,pos:t,gen:e.changeGeneration()}:null}function r(e,t,n){return e.findPosH(t,n,\"char\",!0)}function a(e,t,n){return e.findPosH(t,n,\"word\",!0)}function d(e,t,n){return e.findPosV(t,n,\"line\",e.doc.sel.goalColumn)}function f(e,t,n){return e.findPosV(t,n,\"page\",e.doc.sel.goalColumn)}function p(e,t,n){for(var r=t.line,a=e.getLine(r),o=/\\S/.test(n<0?a.slice(0,t.ch):a.slice(t.ch)),i=e.firstLine(),l=e.lastLine();;){if((r+=n)<i||l<r)return e.clipPos(c(r-n,n<0?0:null));a=e.getLine(r);if(/\\S/.test(a))o=!0;else if(o)return c(r,0)}}function g(e,t,n){for(var r=t.line,a=t.ch,o=e.getLine(t.line),i=!1;;){var l=o.charAt(a+(n<0?-1:0));if(l){if(i&&/[!?.]/.test(l))return c(r,a+(0<n?1:0));i=i||/\\w/.test(l),a+=n}else{if(r==(n<0?e.firstLine():e.lastLine()))return c(r,a);if(o=e.getLine(r+n),!/\\S/.test(o))return c(r,a);r+=n,a=n<0?o.length:0}}}function C(e,t,n){var r;if(e.findMatchingBracket&&(r=e.findMatchingBracket(t,{strict:!0}))&&r.match&&(r.forward?1:-1)==n)return 0<n?c(r.to.line,r.to.ch+1):r.to;for(var a=!0;;a=!1){var o=e.getTokenAt(t),i=c(t.line,n<0?o.start:o.end);if(!(a&&0<n&&o.end==t.ch)&&/\\w/.test(o.string))return i;o=e.findPosH(i,n,\"char\");if(l(i,o))return t;t=o}}function h(e,t){var n=e.state.emacsPrefix;return n?(L(e),\"-\"==n?-1:Number(n)):t?null:1}function w(t){var r=\"string\"==typeof t?function(e){e.execCommand(t)}:t;return function(e){var t=h(e);r(e);for(var n=1;n<t;++n)r(e)}}function m(e,t,n,r){var a=h(e);a<0&&(r=-r,a=-a);for(var o=0;o<a;++o){var i=n(e,t,r);if(l(i,t))break;t=i}return t}function k(t,n){function e(e){e.extendSelection(m(e,e.getCursor(),t,n))}return e.motion=!0,e}function S(e,t,n,r){for(var a,o=e.listSelections(),i=o.length;i--;)u(e,a=o[i].head,m(e,a,t,n),r)}function A(e,t){if(e.somethingSelected()){for(var n,r=e.listSelections(),a=r.length;a--;)u(e,(n=r[a]).anchor,n.head,t);return!0}}function b(e,t){e.state.emacsPrefix?\"-\"!=t&&(e.state.emacsPrefix+=t):(e.state.emacsPrefix=t,e.on(\"keyHandled\",x),e.on(\"inputRead\",P))}var v={\"Alt-G\":!0,\"Ctrl-X\":!0,\"Ctrl-Q\":!0,\"Ctrl-U\":!0};function x(e,t){e.state.emacsPrefixMap||v.hasOwnProperty(t)||L(e)}function L(e){e.state.emacsPrefix=null,e.off(\"keyHandled\",x),e.off(\"inputRead\",P)}function P(e,t){var n=h(e);if(1<n&&\"+input\"==t.origin){for(var r=t.text.join(\"\\n\"),a=\"\",o=1;o<n;++o)a+=r;e.replaceSelection(a)}}function R(e,t){\"string\"==typeof t&&(/^\\d$/.test(t)||\"Ctrl-U\"==t)||(e.removeKeyMap(D),e.state.emacsPrefixMap=!1,e.off(\"keyHandled\",R),e.off(\"inputRead\",R))}function y(e){e.setExtending(!1),e.setCursor(e.getCursor())}function W(e,t,n){var r,a;e.openDialog?e.openDialog((e=t,r=document.createDocumentFragment(),(a=document.createElement(\"input\")).setAttribute(\"type\",\"text\"),a.style.width=\"10em\",r.appendChild(document.createTextNode(e+\": \")),r.appendChild(a),r),n,{bottom:!0}):n(prompt(t,\"\"))}function U(e,t){var n=e.getCursor(),r=e.findPosH(n,1,\"word\");e.replaceRange(t(e.getRange(n,r)),n,r),e.setCursor(r)}t.setMark=function(e){e.setCursor(e.getCursor()),e.setExtending(!e.getExtending()),e.on(\"change\",function(){e.setExtending(!1)})},t.killRegion=function(e){u(e,e.getCursor(\"start\"),e.getCursor(\"end\"),!0)},t.killLineEmacs=w(function(e){var t=e.getCursor(),n=e.clipPos(c(t.line)),r=e.getRange(t,n);/\\S/.test(r)||(r+=\"\\n\",n=c(t.line+1,0)),u(e,t,n,\"grow\",r)}),t.killRingSave=function(e){i(e.getSelection()),y(e)},t.yank=function(e){var t=e.getCursor();e.replaceRange(n(h(e)),t,t,\"paste\"),e.setSelection(t,e.getCursor())},t.yankPop=function(e){e.replaceSelection((1<o.length&&o.pop(),n()),\"around\",\"paste\")},t.forwardChar=k(r,1),t.backwardChar=k(r,-1),t.deleteChar=function(e){S(e,r,1,!1)},t.deleteForwardChar=function(e){A(e,!1)||S(e,r,1,!1)},t.deleteBackwardChar=function(e){A(e,!1)||S(e,r,-1,!1)},t.forwardWord=k(a,1),t.backwardWord=k(a,-1),t.killWord=function(e){S(e,a,1,\"grow\")},t.backwardKillWord=function(e){S(e,a,-1,\"grow\")},t.nextLine=k(d,1),t.previousLine=k(d,-1),t.scrollDownCommand=k(f,-1),t.scrollUpCommand=k(f,1),t.backwardParagraph=k(p,-1),t.forwardParagraph=k(p,1),t.backwardSentence=k(g,-1),t.forwardSentence=k(g,1),t.killSentence=function(e){S(e,g,1,\"grow\")},t.backwardKillSentence=function(e){u(e,e.getCursor(),g(e,e.getCursor(),1),\"grow\")},t.killSexp=function(e){S(e,C,1,\"grow\")},t.backwardKillSexp=function(e){S(e,C,-1,\"grow\")},t.forwardSexp=k(C,1),t.backwardSexp=k(C,-1),t.markSexp=function(e){var t=e.getCursor();e.setSelection(m(e,t,C,1),t)},t.transposeSexps=function(e){var t=C(e,e.getCursor(),-1),n=C(e,t,1),r=C(e,n,1),a=C(e,r,-1);e.replaceRange(e.getRange(a,r)+e.getRange(n,a)+e.getRange(t,n),t,r)},t.backwardUpList=w(function(e){for(var t=e.getCursor(),n=t.line,r=t.ch,a=[];n>=e.firstLine();){for(var o=e.getLine(n),i=null==r?o.length:r;0<i;)if(\")\"==(r=o.charAt(--i)))a.push(\"(\");else if(\"]\"==r)a.push(\"[\");else if(\"}\"==r)a.push(\"{\");else if(/[\\(\\{\\[]/.test(r)&&(!a.length||a.pop()!=r))return e.extendSelection(c(n,i));--n,r=null}}),t.justOneSpace=function(e){for(var t=e.getCursor(),n=t.ch,r=t.ch,a=e.getLine(t.line);n&&/\\s/.test(a.charAt(n-1));)--n;for(;r<a.length&&/\\s/.test(a.charAt(r));)++r;e.replaceRange(\" \",c(t.line,n),c(t.line,r))},t.openLine=w(function(e){e.replaceSelection(\"\\n\",\"start\")}),t.transposeCharsRepeatable=w(function(e){e.execCommand(\"transposeChars\")}),t.capitalizeWord=w(function(e){U(e,function(e){var t=e.search(/\\w/);return-1==t?e:e.slice(0,t)+e.charAt(t).toUpperCase()+e.slice(t+1).toLowerCase()})}),t.upcaseWord=w(function(e){U(e,function(e){return e.toUpperCase()})}),t.downcaseWord=w(function(e){U(e,function(e){return e.toLowerCase()})}),t.undoRepeatable=w(\"undo\"),t.keyboardQuit=function(e){e.execCommand(\"clearSearch\"),y(e)},t.newline=w(function(e){e.replaceSelection(\"\\n\",\"end\")}),t.gotoLine=function(t){var e=h(t,!0);if(null!=e&&0<e)return t.setCursor(e-1);W(t,\"Goto line\",function(e){e&&!isNaN(e=Number(e))&&e==(0|e)&&0<e&&t.setCursor(e-1)})},t.indentRigidly=function(e){e.indentSelection(h(e,!0)||e.getOption(\"indentUnit\"))},t.exchangePointAndMark=function(e){e.setSelection(e.getCursor(\"head\"),e.getCursor(\"anchor\"))},t.quotedInsertTab=w(\"insertTab\"),t.universalArgument=function(e){e.state.emacsPrefixMap=!0,e.addKeyMap(D),e.on(\"keyHandled\",R),e.on(\"inputRead\",R)},e.emacs={kill:u,killRegion:A,repeated:w};var M=e.keyMap.emacs=e.normalizeKeyMap({\"Ctrl-W\":\"killRegion\",\"Ctrl-K\":\"killLineEmacs\",\"Alt-W\":\"killRingSave\",\"Ctrl-Y\":\"yank\",\"Alt-Y\":\"yankPop\",\"Ctrl-Space\":\"setMark\",\"Ctrl-Shift-2\":\"setMark\",\"Ctrl-F\":\"forwardChar\",\"Ctrl-B\":\"backwardChar\",Right:\"forwardChar\",Left:\"backwardChar\",\"Ctrl-D\":\"deleteChar\",Delete:\"deleteForwardChar\",\"Ctrl-H\":\"deleteBackwardChar\",Backspace:\"deleteBackwardChar\",\"Alt-F\":\"forwardWord\",\"Alt-B\":\"backwardWord\",\"Alt-Right\":\"forwardWord\",\"Alt-Left\":\"backwardWord\",\"Alt-D\":\"killWord\",\"Alt-Backspace\":\"backwardKillWord\",\"Ctrl-N\":\"nextLine\",\"Ctrl-P\":\"previousLine\",Down:\"nextLine\",Up:\"previousLine\",\"Ctrl-A\":\"goLineStart\",\"Ctrl-E\":\"goLineEnd\",End:\"goLineEnd\",Home:\"goLineStart\",\"Alt-V\":\"scrollDownCommand\",\"Ctrl-V\":\"scrollUpCommand\",PageUp:\"scrollDownCommand\",PageDown:\"scrollUpCommand\",\"Ctrl-Up\":\"backwardParagraph\",\"Ctrl-Down\":\"forwardParagraph\",\"Alt-{\":\"backwardParagraph\",\"Alt-}\":\"forwardParagraph\",\"Alt-A\":\"backwardSentence\",\"Alt-E\":\"forwardSentence\",\"Alt-K\":\"killSentence\",\"Ctrl-X Delete\":\"backwardKillSentence\",\"Ctrl-Alt-K\":\"killSexp\",\"Ctrl-Alt-Backspace\":\"backwardKillSexp\",\"Ctrl-Alt-F\":\"forwardSexp\",\"Ctrl-Alt-B\":\"backwardSexp\",\"Shift-Ctrl-Alt-2\":\"markSexp\",\"Ctrl-Alt-T\":\"transposeSexps\",\"Ctrl-Alt-U\":\"backwardUpList\",\"Alt-Space\":\"justOneSpace\",\"Ctrl-O\":\"openLine\",\"Ctrl-T\":\"transposeCharsRepeatable\",\"Alt-C\":\"capitalizeWord\",\"Alt-U\":\"upcaseWord\",\"Alt-L\":\"downcaseWord\",\"Alt-;\":\"toggleComment\",\"Ctrl-/\":\"undoRepeatable\",\"Shift-Ctrl--\":\"undoRepeatable\",\"Ctrl-Z\":\"undoRepeatable\",\"Cmd-Z\":\"undoRepeatable\",\"Ctrl-X U\":\"undoRepeatable\",\"Shift-Ctrl-Z\":\"redo\",\"Shift-Alt-,\":\"goDocStart\",\"Shift-Alt-.\":\"goDocEnd\",\"Ctrl-S\":\"findPersistentNext\",\"Ctrl-R\":\"findPersistentPrev\",\"Ctrl-G\":\"keyboardQuit\",\"Shift-Alt-5\":\"replace\",\"Alt-/\":\"autocomplete\",Enter:\"newlineAndIndent\",\"Ctrl-J\":\"newline\",Tab:\"indentAuto\",\"Alt-G G\":\"gotoLine\",\"Ctrl-X Tab\":\"indentRigidly\",\"Ctrl-X Ctrl-X\":\"exchangePointAndMark\",\"Ctrl-X Ctrl-S\":\"save\",\"Ctrl-X Ctrl-W\":\"save\",\"Ctrl-X S\":\"saveAll\",\"Ctrl-X F\":\"open\",\"Ctrl-X K\":\"close\",\"Ctrl-X H\":\"selectAll\",\"Ctrl-Q Tab\":\"quotedInsertTab\",\"Ctrl-U\":\"universalArgument\",fallthrough:\"default\"}),D={\"Ctrl-G\":L};function E(t){D[t]=function(e){b(e,t)},M[\"Ctrl-\"+t]=function(e){b(e,t)},v[\"Ctrl-\"+t]=!0}for(var K=0;K<10;++K)E(String(K));E(\"-\")});"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-keymap-emacs/files/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": [\n\t\t{\n\t\t\t\"file\": \"keymap/emacs.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/codemirror/keymap/emacs.js\",\n\t\t\t\t\"module-type\": \"codemirror\"\n\t\t\t}\n\t\t}\n\t]\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-keymap-emacs/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/codemirror-keymap-emacs\",\n\t\"name\": \"CodeMirror Keymap Emacs\",\n\t\"description\": \"Keymap compatible with Emacs for CodeMirror\",\n\t\"parent-plugin\": \"$:/plugins/tiddlywiki/codemirror\",\n\t\"list\": \"readme\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-keymap-emacs/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/codemirror-keymap-emacs/readme\n\nThis plugin adds a ''Keymap'' with some of the most important ''Emacs'' keyboard shortcuts\n\nFor more information about available ''keyboard shortcuts'' see the [ext[CodeMirror emacs demo|https://codemirror.net/demo/emacs.html]]\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-keymap-sublime-text/config/extraKeysTW.tid",
    "content": "title: $:/config/codemirror/extraKeysTW\nextend: extraKeys\ntype: json\n\n{\n\t\"Ctrl-M\": \"\",\n\t\"Alt-M\": \"goToBracket\",\n\t\"Ctrl-Enter\": \"\",\n\t\"Shift-Enter\": \"insertLineAfter\",\n\t\"Esc\": \"\",\n\t\"Ctrl-Esc\": \"singleSelectionTop\",\n\t\"Ctrl-L\": \"\",\n\t\"Shift-Ctrl-L\": \"\",\n\t\"Alt-L\": \"selectLine\",\n\t\"Shift-Alt-L\": \"splitSelectionByLine\",\n\t\"Ctrl-T\": \"\",\n\t\"Alt-T\": \"transposeChars\",\n\t\"Ctrl-K Ctrl-U\": \"\",\n\t\"Ctrl-K Ctrl-L\": \"\",\n\t\"Ctrl-K Ctrl-W\": \"\",\n\t\"Ctrl-K Alt-U\": \"upcaseAtCursor\",\n\t\"Ctrl-K Alt-L\": \"downcaseAtCursor\",\n\t\"Ctrl-K Alt-D\": \"deleteToSublimeMark\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-keymap-sublime-text/config/keyMap.tid",
    "content": "title: $:/plugins/tiddlywiki/codemirror/keymaps/sublime\nmodule-type: codemirror-keymap\n\nsublime\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-keymap-sublime-text/files/addons/comment/comment.js",
    "content": "!function(e){\"object\"==typeof exports&&\"object\"==typeof module?e(require(\"../../lib/codemirror\")):\"function\"==typeof define&&define.amd?define([\"../../lib/codemirror\"],e):e(CodeMirror)}(function(e){\"use strict\";var L={},x=/[^\\s\\u00a0]/,R=e.Pos,u=e.cmpPos;function f(e){e=e.search(x);return-1==e?0:e}function O(e,n){var t=e.getMode();return!1!==t.useInnerComments&&t.innerMode?e.getModeAt(n):t}e.commands.toggleComment=function(e){e.toggleComment()},e.defineExtension(\"toggleComment\",function(e){e=e||L;for(var n=this,t=1/0,i=this.listSelections(),l=null,o=i.length-1;0<=o;o--){var r=i[o].from(),m=i[o].to();r.line>=t||(m.line>=t&&(m=R(t,0)),t=r.line,null==l?l=n.uncomment(r,m,e)?\"un\":(n.lineComment(r,m,e),\"line\"):\"un\"==l?n.uncomment(r,m,e):n.lineComment(r,m,e))}}),e.defineExtension(\"lineComment\",function(o,e,r){r=r||L;var m,a,c,g,s=this,n=O(s,o),t=s.getLine(o.line);null!=t&&(t=t,!/\\bstring\\b/.test(s.getTokenTypeAt(R(o.line,0)))||/^[\\'\\\"\\`]/.test(t))&&((m=r.lineComment||n.lineComment)?(a=Math.min(0!=e.ch||e.line==o.line?e.line+1:e.line,s.lastLine()+1),c=null==r.padding?\" \":r.padding,g=r.commentBlankLines||o.line==e.line,s.operation(function(){if(r.indent){for(var e=null,n=o.line;n<a;++n){var t=-1===(i=s.getLine(n)).search(x)?i:i.slice(0,f(i));(null==e||e.length>t.length)&&(e=t)}for(n=o.line;n<a;++n){var i=s.getLine(n),l=e.length;(g||x.test(i))&&(i.slice(0,l)!=e&&(l=f(i)),s.replaceRange(e+m+c,R(n,0),R(n,l)))}}else for(n=o.line;n<a;++n)(g||x.test(s.getLine(n)))&&s.replaceRange(m+c,R(n,0))})):(r.blockCommentStart||n.blockCommentStart)&&(r.fullLines=!0,s.blockComment(o,e,r)))}),e.defineExtension(\"blockComment\",function(o,r,m){m=m||L;var a,c,g=this,s=O(g,o),f=m.blockCommentStart||s.blockCommentStart,d=m.blockCommentEnd||s.blockCommentEnd;f&&d?/\\bcomment\\b/.test(g.getTokenTypeAt(R(o.line,0)))||((a=Math.min(r.line,g.lastLine()))!=o.line&&0==r.ch&&x.test(g.getLine(a))&&--a,c=null==m.padding?\" \":m.padding,o.line>a||g.operation(function(){if(0!=m.fullLines){var e=x.test(g.getLine(a)),n=(g.replaceRange(c+d,R(a)),g.replaceRange(f+c,R(o.line,0)),m.blockCommentLead||s.blockCommentLead);if(null!=n)for(var t=o.line+1;t<=a;++t)t==a&&!e||g.replaceRange(n+c,R(t,0))}else{var i=0==u(g.getCursor(\"to\"),r),l=!g.somethingSelected();g.replaceRange(d,r),i&&g.setSelection(l?r:g.getCursor(\"from\"),r),g.replaceRange(f,o)}})):(m.lineComment||s.lineComment)&&0!=m.fullLines&&g.lineComment(o,r,m)}),e.defineExtension(\"uncomment\",function(e,n,t){t=t||L;var l,o=this,i=O(o,e),r=Math.min(0!=n.ch||n.line==e.line?n.line:n.line-1,o.lastLine()),m=Math.min(e.line,r),a=t.lineComment||i.lineComment,c=[],g=null==t.padding?\" \":t.padding;e:if(a){for(var s=m;s<=r;++s){var f=o.getLine(s),d=f.indexOf(a);if(-1==(d=-1<d&&!/comment/.test(o.getTokenTypeAt(R(s,d+1)))?-1:d)&&x.test(f))break e;if(-1<d&&x.test(f.slice(0,d)))break e;c.push(f)}if(o.operation(function(){for(var e=m;e<=r;++e){var n=c[e-m],t=n.indexOf(a),i=t+a.length;t<0||(n.slice(i,i+g.length)==g&&(i+=g.length),l=!0,o.replaceRange(\"\",R(e,t),R(e,i)))}}),l)return!0}var u=t.blockCommentStart||i.blockCommentStart,h=t.blockCommentEnd||i.blockCommentEnd;if(!u||!h)return!1;var C=t.blockCommentLead||i.blockCommentLead,p=o.getLine(m),b=p.indexOf(u);if(-1==b)return!1;var k=r==m?p:o.getLine(r),v=k.indexOf(h,r==m?b+u.length:0),t=R(m,b+1),i=R(r,v+1);if(-1==v||!/comment/.test(o.getTokenTypeAt(t))||!/comment/.test(o.getTokenTypeAt(i))||-1<o.getRange(t,i,\"\\n\").indexOf(h))return!1;i=-1==(t=p.lastIndexOf(u,e.ch))?-1:p.slice(0,e.ch).indexOf(h,t+u.length);if(-1!=t&&-1!=i&&i+h.length!=e.ch)return!1;i=k.indexOf(h,n.ch),e=k.slice(n.ch).lastIndexOf(u,i-n.ch),t=-1==i||-1==e?-1:n.ch+e;return(-1==i||-1==t||t==n.ch)&&(o.operation(function(){o.replaceRange(\"\",R(r,v-(g&&k.slice(v-g.length,v)==g?g.length:0)),R(r,v+h.length));var e=b+u.length;if(g&&p.slice(e,e+g.length)==g&&(e+=g.length),o.replaceRange(\"\",R(m,b),R(m,e)),C)for(var n=m+1;n<=r;++n){var t,i=o.getLine(n),l=i.indexOf(C);-1==l||x.test(i.slice(0,l))||(t=l+C.length,g&&i.slice(t,t+g.length)==g&&(t+=g.length),o.replaceRange(\"\",R(n,l),R(n,t)))}}),!0)})});"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-keymap-sublime-text/files/keymap/sublime.js",
    "content": "!function(e){\"object\"==typeof exports&&\"object\"==typeof module?e(require(\"../lib/codemirror\"),require(\"../addon/search/searchcursor\"),require(\"../addon/edit/matchbrackets\")):\"function\"==typeof define&&define.amd?define([\"../lib/codemirror\",\"../addon/search/searchcursor\",\"../addon/edit/matchbrackets\"],e):e(CodeMirror)}(function(h){\"use strict\";var r=h.commands,C=h.Pos;function t(d,m){d.extendSelectionsBy(function(e){if(d.display.shift||d.doc.extend||e.empty()){var t=d.doc,n=e.head,r=m;if(r<0&&0==n.ch)return t.clipPos(C(n.line-1));var o=t.getLine(n.line);if(0<r&&n.ch>=o.length)return t.clipPos(C(n.line+1,0));for(var i,l=\"start\",s=n.ch,a=s,c=r<0?0:o.length;a!=c;a+=r){var f=o.charAt(r<0?a-1:a),u=\"_\"!=f&&h.isWordChar(f)?\"w\":\"o\";if(\"w\"==u&&f.toUpperCase()==f&&(u=\"W\"),\"start\"==l)\"o\"!=u?(l=\"in\",i=u):s=a+r;else if(\"in\"==l&&i!=u){if(\"w\"==i&&\"W\"==u&&r<0&&a--,\"W\"==i&&\"w\"==u&&0<r){if(a==s+1){i=\"w\";continue}a--}break}}return C(n.line,a)}return m<0?e.from():e.to()})}function n(l,s){if(l.isReadOnly())return h.Pass;l.operation(function(){for(var e=l.listSelections().length,t=[],n=-1,r=0;r<e;r++){var o,i=l.listSelections()[r].head;i.line<=n||(o=C(i.line+(s?0:1),0),l.replaceRange(\"\\n\",o,null,\"+insertLine\"),l.indentLine(o.line,null,!0),t.push({head:o,anchor:o}),n=i.line+1)}l.setSelections(t)}),l.execCommand(\"indentAuto\")}function c(e,t){for(var n=t.ch,r=n,o=e.getLine(t.line);n&&h.isWordChar(o.charAt(n-1));)--n;for(;r<o.length&&h.isWordChar(o.charAt(r));)++r;return{from:C(t.line,n),to:C(t.line,r),word:o.slice(n,r)}}function o(e,t){for(var n=e.listSelections(),r=[],o=0;o<n.length;o++){var i=n[o],l=e.findPosV(i.anchor,t,\"line\",i.anchor.goalColumn),s=e.findPosV(i.head,t,\"line\",i.head.goalColumn),l=(l.goalColumn=null!=i.anchor.goalColumn?i.anchor.goalColumn:e.cursorCoords(i.anchor,\"div\").left,s.goalColumn=null!=i.head.goalColumn?i.head.goalColumn:e.cursorCoords(i.head,\"div\").left,{anchor:l,head:s});r.push(i),r.push(l)}e.setSelections(r)}r.goSubwordLeft=function(e){t(e,-1)},r.goSubwordRight=function(e){t(e,1)},r.scrollLineUp=function(e){var t,n=e.getScrollInfo();e.somethingSelected()||(t=e.lineAtHeight(n.top+n.clientHeight,\"local\"),e.getCursor().line>=t&&e.execCommand(\"goLineUp\")),e.scrollTo(null,n.top-e.defaultTextHeight())},r.scrollLineDown=function(e){var t,n=e.getScrollInfo();e.somethingSelected()||(t=e.lineAtHeight(n.top,\"local\")+1,e.getCursor().line<=t&&e.execCommand(\"goLineDown\")),e.scrollTo(null,n.top+e.defaultTextHeight())},r.splitSelectionByLine=function(e){for(var t=e.listSelections(),n=[],r=0;r<t.length;r++)for(var o=t[r].from(),i=t[r].to(),l=o.line;l<=i.line;++l)i.line>o.line&&l==i.line&&0==i.ch||n.push({anchor:l==o.line?o:C(l,0),head:l==i.line?i:C(l)});e.setSelections(n,0)},r.singleSelectionTop=function(e){var t=e.listSelections()[0];e.setSelection(t.anchor,t.head,{scroll:!1})},r.selectLine=function(e){for(var t=e.listSelections(),n=[],r=0;r<t.length;r++){var o=t[r];n.push({anchor:C(o.from().line,0),head:C(o.to().line+1,0)})}e.setSelections(n)},r.insertLineAfter=function(e){return n(e,!1)},r.insertLineBefore=function(e){return n(e,!0)},r.selectNextOccurrence=function(e){var t=e.getCursor(\"from\"),n=e.getCursor(\"to\"),r=e.state.sublimeFindFullWord==e.doc.sel;if(0==h.cmpPos(t,n)){var o=c(e,t);if(!o.word)return;e.setSelection(o.from,o.to),r=!0}else{o=e.getRange(t,n),t=r?new RegExp(\"\\\\b\"+o+\"\\\\b\"):o,o=e.getSearchCursor(t,n);if(!(o.findNext()||(o=e.getSearchCursor(t,C(e.firstLine(),0))).findNext())||function(e,t,n){for(var r=0;r<e.length;r++)if(0==h.cmpPos(e[r].from(),t)&&0==h.cmpPos(e[r].to(),n))return 1;return}(e.listSelections(),o.from(),o.to()))return;e.addSelection(o.from(),o.to())}r&&(e.state.sublimeFindFullWord=e.doc.sel)},r.skipAndSelectNextOccurrence=function(e){var t=e.getCursor(\"anchor\"),n=e.getCursor(\"head\");r.selectNextOccurrence(e),0!=h.cmpPos(t,n)&&e.doc.setSelections(e.doc.listSelections().filter(function(e){return e.anchor!=t||e.head!=n}))},r.addCursorToPrevLine=function(e){o(e,-1)},r.addCursorToNextLine=function(e){o(e,1)};var f=\"(){}[]\";function i(e){for(var t=e.listSelections(),n=[],r=0;r<t.length;r++){var o=t[r],i=o.head,l=e.scanForBracket(i,-1);if(!l)return;for(;;){var s=e.scanForBracket(i,1);if(!s)return;if(s.ch==f.charAt(f.indexOf(l.ch)+1)){var a=C(l.pos.line,l.pos.ch+1);if(0!=h.cmpPos(a,o.from())||0!=h.cmpPos(s.pos,o.to())){n.push({anchor:a,head:s.pos});break}if(!(l=e.scanForBracket(l.pos,-1)))return}i=C(s.pos.line,s.pos.ch+1)}}return e.setSelections(n),1}function l(e){return e?/\\bpunctuation\\b/.test(e)?e:void 0:null}function s(l,s,a){if(l.isReadOnly())return h.Pass;for(var c,e=l.listSelections(),f=[],t=0;t<e.length;t++){var n=e[t];if(!n.empty()){for(var r=n.from().line,o=n.to().line;t<e.length-1&&e[t+1].from().line==o;)o=e[++t].to().line;e[t].to().ch||o--,f.push(r,o)}}f.length?c=!0:f.push(l.firstLine(),l.lastLine()),l.operation(function(){for(var e=[],t=0;t<f.length;t+=2){var n=f[t],r=f[t+1],n=C(n,0),o=C(r),i=l.getRange(n,o,!1);s?i.sort(function(e,t){return e<t?-a:e==t?0:a}):i.sort(function(e,t){var n=e.toUpperCase(),r=t.toUpperCase();return n!=r&&(e=n,t=r),e<t?-a:e==t?0:a}),l.replaceRange(i,n,o),c&&e.push({anchor:n,head:C(r+1,0)})}c&&l.setSelections(e,0)})}function a(s,a){s.operation(function(){for(var e=s.listSelections(),t=[],n=[],r=0;r<e.length;r++)(l=e[r]).empty()?(t.push(r),n.push(\"\")):n.push(a(s.getRange(l.from(),l.to())));s.replaceSelections(n,\"around\",\"case\");for(r=t.length-1;0<=r;r--){var o,i,l=e[t[r]];i&&0<h.cmpPos(l.head,i)||(i=(o=c(s,l.head)).from,s.replaceRange(a(o.word),o.from,o.to))}})}function u(e){var t=e.getCursor(\"from\"),n=e.getCursor(\"to\");if(0==h.cmpPos(t,n)){var r=c(e,t);if(!r.word)return;t=r.from,n=r.to}return{from:t,to:n,query:e.getRange(t,n),word:r}}function d(e,t){var n,r,o=u(e);o&&(n=o.query,r=e.getSearchCursor(n,t?o.to:o.from),(t?r.findNext():r.findPrevious())?e.setSelection(r.from(),r.to()):(r=e.getSearchCursor(n,t?C(e.firstLine(),0):e.clipPos(C(e.lastLine()))),(t?r.findNext():r.findPrevious())?e.setSelection(r.from(),r.to()):o.word&&e.setSelection(o.from,o.to)))}r.selectScope=function(e){i(e)||e.execCommand(\"selectAll\")},r.selectBetweenBrackets=function(e){if(!i(e))return h.Pass},r.goToBracket=function(n){n.extendSelectionsBy(function(e){var t=n.scanForBracket(e.head,1,l(n.getTokenTypeAt(e.head)));if(t&&0!=h.cmpPos(t.pos,e.head))return t.pos;t=n.scanForBracket(e.head,-1,l(n.getTokenTypeAt(C(e.head.line,e.head.ch+1))));return t&&C(t.pos.line,t.pos.ch+1)||e.head})},r.swapLineUp=function(o){if(o.isReadOnly())return h.Pass;for(var e=o.listSelections(),i=[],t=o.firstLine()-1,l=[],n=0;n<e.length;n++){var r=e[n],s=r.from().line-1,a=r.to().line;l.push({anchor:C(r.anchor.line-1,r.anchor.ch),head:C(r.head.line-1,r.head.ch)}),0!=r.to().ch||r.empty()||--a,t<s?i.push(s,a):i.length&&(i[i.length-1]=a),t=a}o.operation(function(){for(var e=0;e<i.length;e+=2){var t=i[e],n=i[e+1],r=o.getLine(t);o.replaceRange(\"\",C(t,0),C(t+1,0),\"+swapLine\"),n>o.lastLine()?o.replaceRange(\"\\n\"+r,C(o.lastLine()),null,\"+swapLine\"):o.replaceRange(r+\"\\n\",C(n,0),null,\"+swapLine\")}o.setSelections(l),o.scrollIntoView()})},r.swapLineDown=function(o){if(o.isReadOnly())return h.Pass;for(var e=o.listSelections(),i=[],t=o.lastLine()+1,n=e.length-1;0<=n;n--){var r=e[n],l=r.to().line+1,s=r.from().line;0!=r.to().ch||r.empty()||l--,l<t?i.push(l,s):i.length&&(i[i.length-1]=s),t=s}o.operation(function(){for(var e=i.length-2;0<=e;e-=2){var t=i[e],n=i[e+1],r=o.getLine(t);t==o.lastLine()?o.replaceRange(\"\",C(t-1),C(t),\"+swapLine\"):o.replaceRange(\"\",C(t,0),C(t+1,0),\"+swapLine\"),o.replaceRange(r+\"\\n\",C(n,0),null,\"+swapLine\")}o.scrollIntoView()})},r.toggleCommentIndented=function(e){e.toggleComment({indent:!0})},r.joinLines=function(a){for(var e=a.listSelections(),c=[],t=0;t<e.length;t++){for(var n=e[t],r=n.from(),o=r.line,i=n.to().line;t<e.length-1&&e[t+1].from().line==i;)i=e[++t].to().line;c.push({start:o,end:i,anchor:!n.empty()&&r})}a.operation(function(){for(var e=0,t=[],n=0;n<c.length;n++){for(var r,o=c[n],i=o.anchor&&C(o.anchor.line-e,o.anchor.ch),l=o.start;l<=o.end;l++){var s=l-e;l==o.end&&(r=C(s,a.getLine(s).length+1)),s<a.lastLine()&&(a.replaceRange(\" \",C(s),C(1+s,/^\\s*/.exec(a.getLine(1+s))[0].length)),++e)}t.push({anchor:i||r,head:r})}a.setSelections(t,0)})},r.duplicateLine=function(r){r.operation(function(){for(var e=r.listSelections().length,t=0;t<e;t++){var n=r.listSelections()[t];n.empty()?r.replaceRange(r.getLine(n.head.line)+\"\\n\",C(n.head.line,0)):r.replaceRange(r.getRange(n.from(),n.to()),n.from())}r.scrollIntoView()})},r.sortLines=function(e){s(e,!0,1)},r.reverseSortLines=function(e){s(e,!0,-1)},r.sortLinesInsensitive=function(e){s(e,!1,1)},r.reverseSortLinesInsensitive=function(e){s(e,!1,-1)},r.nextBookmark=function(e){var t=e.state.sublimeBookmarks;if(t)for(;t.length;){var n=t.shift(),r=n.find();if(r)return t.push(n),e.setSelection(r.from,r.to)}},r.prevBookmark=function(e){var t=e.state.sublimeBookmarks;if(t)for(;t.length;){t.unshift(t.pop());var n=t[t.length-1].find();if(n)return e.setSelection(n.from,n.to);t.pop()}},r.toggleBookmark=function(e){for(var t=e.listSelections(),n=e.state.sublimeBookmarks||(e.state.sublimeBookmarks=[]),r=0;r<t.length;r++){for(var o=t[r].from(),i=t[r].to(),l=t[r].empty()?e.findMarksAt(o):e.findMarks(o,i),s=0;s<l.length;s++)if(l[s].sublimeBookmark){l[s].clear();for(var a=0;a<n.length;a++)n[a]==l[s]&&n.splice(a--,1);break}s==l.length&&n.push(e.markText(o,i,{sublimeBookmark:!0,clearWhenEmpty:!1}))}},r.clearBookmarks=function(e){var t=e.state.sublimeBookmarks;if(t)for(var n=0;n<t.length;n++)t[n].clear();t.length=0},r.selectBookmarks=function(e){var t=e.state.sublimeBookmarks,n=[];if(t)for(var r=0;r<t.length;r++){var o=t[r].find();o?n.push({anchor:o.from,head:o.to}):t.splice(r--,0)}n.length&&e.setSelections(n,0)},r.smartBackspace=function(s){if(s.somethingSelected())return h.Pass;s.operation(function(){for(var e=s.listSelections(),t=s.getOption(\"indentUnit\"),n=e.length-1;0<=n;n--){var r=e[n].head,o=s.getRange({line:r.line,ch:0},r),i=h.countColumn(o,null,s.getOption(\"tabSize\")),l=s.findPosH(r,-1,\"char\",!1);!o||/\\S/.test(o)||i%t!=0||(o=new C(r.line,h.findColumn(o,i-t,t))).ch!=r.ch&&(l=o),s.replaceRange(\"\",l,r,\"+delete\")}})},r.delLineRight=function(n){n.operation(function(){for(var e=n.listSelections(),t=e.length-1;0<=t;t--)n.replaceRange(\"\",e[t].anchor,C(e[t].to().line),\"+delete\");n.scrollIntoView()})},r.upcaseAtCursor=function(e){a(e,function(e){return e.toUpperCase()})},r.downcaseAtCursor=function(e){a(e,function(e){return e.toLowerCase()})},r.setSublimeMark=function(e){e.state.sublimeMark&&e.state.sublimeMark.clear(),e.state.sublimeMark=e.setBookmark(e.getCursor())},r.selectToSublimeMark=function(e){var t=e.state.sublimeMark&&e.state.sublimeMark.find();t&&e.setSelection(e.getCursor(),t)},r.deleteToSublimeMark=function(e){var t,n,r=e.state.sublimeMark&&e.state.sublimeMark.find();r&&(n=e.getCursor(),0<h.cmpPos(n,r=r)&&(t=r,r=n,n=t),e.state.sublimeKilled=e.getRange(n,r),e.replaceRange(\"\",n,r))},r.swapWithSublimeMark=function(e){var t=e.state.sublimeMark&&e.state.sublimeMark.find();t&&(e.state.sublimeMark.clear(),e.state.sublimeMark=e.setBookmark(e.getCursor()),e.setCursor(t))},r.sublimeYank=function(e){null!=e.state.sublimeKilled&&e.replaceSelection(e.state.sublimeKilled,null,\"paste\")},r.showInCenter=function(e){var t=e.cursorCoords(null,\"local\");e.scrollTo(null,(t.top+t.bottom)/2-e.getScrollInfo().clientHeight/2)},r.findUnder=function(e){d(e,!0)},r.findUnderPrevious=function(e){d(e,!1)},r.findAllUnder=function(e){var t=u(e);if(t){for(var n=e.getSearchCursor(t.query),r=[],o=-1;n.findNext();)r.push({anchor:n.from(),head:n.to()}),n.from().line<=t.from.line&&n.from().ch<=t.from.ch&&o++;e.setSelections(r,o)}};var e=h.keyMap,m=(e.macSublime={\"Cmd-Left\":\"goLineStartSmart\",\"Shift-Tab\":\"indentLess\",\"Shift-Ctrl-K\":\"deleteLine\",\"Alt-Q\":\"wrapLines\",\"Ctrl-Left\":\"goSubwordLeft\",\"Ctrl-Right\":\"goSubwordRight\",\"Ctrl-Alt-Up\":\"scrollLineUp\",\"Ctrl-Alt-Down\":\"scrollLineDown\",\"Cmd-L\":\"selectLine\",\"Shift-Cmd-L\":\"splitSelectionByLine\",Esc:\"singleSelectionTop\",\"Cmd-Enter\":\"insertLineAfter\",\"Shift-Cmd-Enter\":\"insertLineBefore\",\"Cmd-D\":\"selectNextOccurrence\",\"Shift-Cmd-Space\":\"selectScope\",\"Shift-Cmd-M\":\"selectBetweenBrackets\",\"Cmd-M\":\"goToBracket\",\"Cmd-Ctrl-Up\":\"swapLineUp\",\"Cmd-Ctrl-Down\":\"swapLineDown\",\"Cmd-/\":\"toggleCommentIndented\",\"Cmd-J\":\"joinLines\",\"Shift-Cmd-D\":\"duplicateLine\",F5:\"sortLines\",\"Shift-F5\":\"reverseSortLines\",\"Cmd-F5\":\"sortLinesInsensitive\",\"Shift-Cmd-F5\":\"reverseSortLinesInsensitive\",F2:\"nextBookmark\",\"Shift-F2\":\"prevBookmark\",\"Cmd-F2\":\"toggleBookmark\",\"Shift-Cmd-F2\":\"clearBookmarks\",\"Alt-F2\":\"selectBookmarks\",Backspace:\"smartBackspace\",\"Cmd-K Cmd-D\":\"skipAndSelectNextOccurrence\",\"Cmd-K Cmd-K\":\"delLineRight\",\"Cmd-K Cmd-U\":\"upcaseAtCursor\",\"Cmd-K Cmd-L\":\"downcaseAtCursor\",\"Cmd-K Cmd-Space\":\"setSublimeMark\",\"Cmd-K Cmd-A\":\"selectToSublimeMark\",\"Cmd-K Cmd-W\":\"deleteToSublimeMark\",\"Cmd-K Cmd-X\":\"swapWithSublimeMark\",\"Cmd-K Cmd-Y\":\"sublimeYank\",\"Cmd-K Cmd-C\":\"showInCenter\",\"Cmd-K Cmd-G\":\"clearBookmarks\",\"Cmd-K Cmd-Backspace\":\"delLineLeft\",\"Cmd-K Cmd-1\":\"foldAll\",\"Cmd-K Cmd-0\":\"unfoldAll\",\"Cmd-K Cmd-J\":\"unfoldAll\",\"Ctrl-Shift-Up\":\"addCursorToPrevLine\",\"Ctrl-Shift-Down\":\"addCursorToNextLine\",\"Cmd-F3\":\"findUnder\",\"Shift-Cmd-F3\":\"findUnderPrevious\",\"Alt-F3\":\"findAllUnder\",\"Shift-Cmd-[\":\"fold\",\"Shift-Cmd-]\":\"unfold\",\"Cmd-I\":\"findIncremental\",\"Shift-Cmd-I\":\"findIncrementalReverse\",\"Cmd-H\":\"replace\",F3:\"findNext\",\"Shift-F3\":\"findPrev\",fallthrough:\"macDefault\"},h.normalizeKeyMap(e.macSublime),e.pcSublime={\"Shift-Tab\":\"indentLess\",\"Shift-Ctrl-K\":\"deleteLine\",\"Alt-Q\":\"wrapLines\",\"Ctrl-T\":\"transposeChars\",\"Alt-Left\":\"goSubwordLeft\",\"Alt-Right\":\"goSubwordRight\",\"Ctrl-Up\":\"scrollLineUp\",\"Ctrl-Down\":\"scrollLineDown\",\"Ctrl-L\":\"selectLine\",\"Shift-Ctrl-L\":\"splitSelectionByLine\",Esc:\"singleSelectionTop\",\"Ctrl-Enter\":\"insertLineAfter\",\"Shift-Ctrl-Enter\":\"insertLineBefore\",\"Ctrl-D\":\"selectNextOccurrence\",\"Shift-Ctrl-Space\":\"selectScope\",\"Shift-Ctrl-M\":\"selectBetweenBrackets\",\"Ctrl-M\":\"goToBracket\",\"Shift-Ctrl-Up\":\"swapLineUp\",\"Shift-Ctrl-Down\":\"swapLineDown\",\"Ctrl-/\":\"toggleCommentIndented\",\"Ctrl-J\":\"joinLines\",\"Shift-Ctrl-D\":\"duplicateLine\",F9:\"sortLines\",\"Shift-F9\":\"reverseSortLines\",\"Ctrl-F9\":\"sortLinesInsensitive\",\"Shift-Ctrl-F9\":\"reverseSortLinesInsensitive\",F2:\"nextBookmark\",\"Shift-F2\":\"prevBookmark\",\"Ctrl-F2\":\"toggleBookmark\",\"Shift-Ctrl-F2\":\"clearBookmarks\",\"Alt-F2\":\"selectBookmarks\",Backspace:\"smartBackspace\",\"Ctrl-K Ctrl-D\":\"skipAndSelectNextOccurrence\",\"Ctrl-K Ctrl-K\":\"delLineRight\",\"Ctrl-K Ctrl-U\":\"upcaseAtCursor\",\"Ctrl-K Ctrl-L\":\"downcaseAtCursor\",\"Ctrl-K Ctrl-Space\":\"setSublimeMark\",\"Ctrl-K Ctrl-A\":\"selectToSublimeMark\",\"Ctrl-K Ctrl-W\":\"deleteToSublimeMark\",\"Ctrl-K Ctrl-X\":\"swapWithSublimeMark\",\"Ctrl-K Ctrl-Y\":\"sublimeYank\",\"Ctrl-K Ctrl-C\":\"showInCenter\",\"Ctrl-K Ctrl-G\":\"clearBookmarks\",\"Ctrl-K Ctrl-Backspace\":\"delLineLeft\",\"Ctrl-K Ctrl-1\":\"foldAll\",\"Ctrl-K Ctrl-0\":\"unfoldAll\",\"Ctrl-K Ctrl-J\":\"unfoldAll\",\"Ctrl-Alt-Up\":\"addCursorToPrevLine\",\"Ctrl-Alt-Down\":\"addCursorToNextLine\",\"Ctrl-F3\":\"findUnder\",\"Shift-Ctrl-F3\":\"findUnderPrevious\",\"Alt-F3\":\"findAllUnder\",\"Shift-Ctrl-[\":\"fold\",\"Shift-Ctrl-]\":\"unfold\",\"Ctrl-I\":\"findIncremental\",\"Shift-Ctrl-I\":\"findIncrementalReverse\",\"Ctrl-H\":\"replace\",F3:\"findNext\",\"Shift-F3\":\"findPrev\",fallthrough:\"pcDefault\"},h.normalizeKeyMap(e.pcSublime),e.default==e.macDefault);e.sublime=m?e.macSublime:e.pcSublime});"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-keymap-sublime-text/files/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": [\n\t\t{\n\t\t\t\"file\": \"keymap/sublime.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/codemirror/keymap/sublime.js\",\n\t\t\t\t\"module-type\": \"codemirror\"\n\t\t\t}\n\t\t},{\n\t\t\t\"file\": \"addons/comment/comment.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/codemirror/addons/comment/comment.js\",\n\t\t\t\t\"module-type\": \"codemirror\"\n\t\t\t}\n\t\t}\n\t]\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-keymap-sublime-text/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/codemirror-keymap-sublime-text\",\n\t\"name\": \"CodeMirror Keymap Sublime Text\",\n\t\"description\": \"Keymap compatible with Sublime Text for CodeMirror\",\n\t\"parent-plugin\": \"$:/plugins/tiddlywiki/codemirror\",\n\t\"dependents\": [\"$:/plugins/tiddlywiki/codemirror-search-replace\",\"$:/plugins/tiddlywiki/codemirror-closebrackets\"],\n\t\"list\": \"readme\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-keymap-sublime-text/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/codemirror-keymap-sublime-text/readme\n\nThis plugin adds a ''Keymap'' with the most important ''Sublime Text'' keyboard shortcuts\n\nShortcuts that interfere with ~TiddlyWiki shortcuts differ from the original sublime shortcuts to preserve functionality\n\n\n|Shortcut |Function |h\n|Shift-Tab |indentLess |\n|Shift-Ctrl-K |deleteLine |\n|Alt-Q |wrapLines |\n|Alt-T |transposeChars |\n|Alt-Left |goSubwordLeft |\n|Alt-Right |goSubwordRight |\n|Ctrl-Up |scrollLineUp |\n|Ctrl-Down |scrollLineDown |\n|Alt-L |selectLine |\n|Shift-Alt-L |splitSelectionByLine |\n|Ctrl-Esc |singleSelectionTop |\n|Shift-Enter |insertLineAfter |\n|Shift-Ctrl-Enter |insertLineBefore |\n|Ctrl-D |selectNextOccurrence |\n|Shift-Ctrl-Space |selectScope |\n|Shift-Ctrl-M |selectBetweenBrackets |\n|Alt-M |goToBracket |\n|Shift-Ctrl-Up |swapLineUp |\n|Shift-Ctrl-Down |swapLineDown |\n|Ctrl-/ |toggleCommentIndented |\n|Ctrl-J |joinLines |\n|Shift-Ctrl-D |duplicateLine |\n|F9 |sortLines |\n|Ctrl-F9 |sortLinesInsensitive |\n|F2 |nextBookmark |\n|Shift-F2 |prevBookmark |\n|Ctrl-F2 |toggleBookmark |\n|Shift-Ctrl-F2 |clearBookmarks |\n|Alt-F2 |selectBookmarks |\n|Backspace |smartBackspace |\n|Ctrl-K Ctrl-K |delLineRight |\n|Ctrl-K Alt-U |upcaseAtCursor |\n|Ctrl-K Alt-L |downcaseAtCursor |\n|Ctrl-K Ctrl-Space |setSublimeMark |\n|Ctrl-K Ctrl-A |selectToSublimeMark |\n|Ctrl-K Alt-D |deleteToSublimeMark |\n|Ctrl-K Ctrl-X |swapWithSublimeMark |\n|Ctrl-K Ctrl-Y |sublimeYank |\n|Ctrl-K Ctrl-C |showInCenter |\n|Ctrl-K Ctrl-G |clearBookmarks |\n|Ctrl-K Ctrl-Backspace |delLineLeft |\n|Ctrl-K Ctrl-0 |unfoldAll |\n|Ctrl-K Ctrl-J |unfoldAll |\n|Ctrl-Alt-Up |addCursorToPrevLine |\n|Ctrl-Alt-Down |addCursorToNextLine |\n|Ctrl-F3 |findUnder |\n|Shift-Ctrl-F3 |findUnderPrevious |\n|Shift-Ctrl-[ |fold |\n|Shift-Ctrl-] |unfold |\n|Ctrl-H |replace |\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-keymap-vim/config/keyMap.tid",
    "content": "title: $:/plugins/tiddlywiki/codemirror/keymaps/vim\nmodule-type: codemirror-keymap\n\nvim\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-keymap-vim/files/keymap/vim.js",
    "content": "!function(e){\"object\"==typeof exports&&\"object\"==typeof module?e(require(\"../lib/codemirror\"),require(\"../addon/search/searchcursor\"),require(\"../addon/dialog/dialog\"),require(\"../addon/edit/matchbrackets.js\")):\"function\"==typeof define&&define.amd?define([\"../lib/codemirror\",\"../addon/search/searchcursor\",\"../addon/dialog/dialog\",\"../addon/edit/matchbrackets\"],e):e(CodeMirror)}(function(e){\"use strict\";function t(b){var L=b.Pos;function r(e,t){e=e.state.vim;if(!e||e.insertMode)return t.head;var n=e.sel.head;return n?e.visualBlock&&t.head.line!=n.line?void 0:t.from()!=t.anchor||t.empty()||t.head.line!=n.line||t.head.ch==n.ch?t.head:new L(t.head.line,t.head.ch-1):t.head}var p=[{keys:\"<Left>\",type:\"keyToKey\",toKeys:\"h\"},{keys:\"<Right>\",type:\"keyToKey\",toKeys:\"l\"},{keys:\"<Up>\",type:\"keyToKey\",toKeys:\"k\"},{keys:\"<Down>\",type:\"keyToKey\",toKeys:\"j\"},{keys:\"g<Up>\",type:\"keyToKey\",toKeys:\"gk\"},{keys:\"g<Down>\",type:\"keyToKey\",toKeys:\"gj\"},{keys:\"<Space>\",type:\"keyToKey\",toKeys:\"l\"},{keys:\"<BS>\",type:\"keyToKey\",toKeys:\"h\",context:\"normal\"},{keys:\"<Del>\",type:\"keyToKey\",toKeys:\"x\",context:\"normal\"},{keys:\"<C-Space>\",type:\"keyToKey\",toKeys:\"W\"},{keys:\"<C-BS>\",type:\"keyToKey\",toKeys:\"B\",context:\"normal\"},{keys:\"<S-Space>\",type:\"keyToKey\",toKeys:\"w\"},{keys:\"<S-BS>\",type:\"keyToKey\",toKeys:\"b\",context:\"normal\"},{keys:\"<C-n>\",type:\"keyToKey\",toKeys:\"j\"},{keys:\"<C-p>\",type:\"keyToKey\",toKeys:\"k\"},{keys:\"<C-[>\",type:\"keyToKey\",toKeys:\"<Esc>\"},{keys:\"<C-c>\",type:\"keyToKey\",toKeys:\"<Esc>\"},{keys:\"<C-[>\",type:\"keyToKey\",toKeys:\"<Esc>\",context:\"insert\"},{keys:\"<C-c>\",type:\"keyToKey\",toKeys:\"<Esc>\",context:\"insert\"},{keys:\"<C-Esc>\",type:\"keyToKey\",toKeys:\"<Esc>\"},{keys:\"<C-Esc>\",type:\"keyToKey\",toKeys:\"<Esc>\",context:\"insert\"},{keys:\"s\",type:\"keyToKey\",toKeys:\"cl\",context:\"normal\"},{keys:\"s\",type:\"keyToKey\",toKeys:\"c\",context:\"visual\"},{keys:\"S\",type:\"keyToKey\",toKeys:\"cc\",context:\"normal\"},{keys:\"S\",type:\"keyToKey\",toKeys:\"VdO\",context:\"visual\"},{keys:\"<Home>\",type:\"keyToKey\",toKeys:\"0\"},{keys:\"<End>\",type:\"keyToKey\",toKeys:\"$\"},{keys:\"<PageUp>\",type:\"keyToKey\",toKeys:\"<C-b>\"},{keys:\"<PageDown>\",type:\"keyToKey\",toKeys:\"<C-f>\"},{keys:\"<CR>\",type:\"keyToKey\",toKeys:\"j^\",context:\"normal\"},{keys:\"<Ins>\",type:\"keyToKey\",toKeys:\"i\",context:\"normal\"},{keys:\"<Ins>\",type:\"action\",action:\"toggleOverwrite\",context:\"insert\"},{keys:\"H\",type:\"motion\",motion:\"moveToTopLine\",motionArgs:{linewise:!0,toJumplist:!0}},{keys:\"M\",type:\"motion\",motion:\"moveToMiddleLine\",motionArgs:{linewise:!0,toJumplist:!0}},{keys:\"L\",type:\"motion\",motion:\"moveToBottomLine\",motionArgs:{linewise:!0,toJumplist:!0}},{keys:\"h\",type:\"motion\",motion:\"moveByCharacters\",motionArgs:{forward:!1}},{keys:\"l\",type:\"motion\",motion:\"moveByCharacters\",motionArgs:{forward:!0}},{keys:\"j\",type:\"motion\",motion:\"moveByLines\",motionArgs:{forward:!0,linewise:!0}},{keys:\"k\",type:\"motion\",motion:\"moveByLines\",motionArgs:{forward:!1,linewise:!0}},{keys:\"gj\",type:\"motion\",motion:\"moveByDisplayLines\",motionArgs:{forward:!0}},{keys:\"gk\",type:\"motion\",motion:\"moveByDisplayLines\",motionArgs:{forward:!1}},{keys:\"w\",type:\"motion\",motion:\"moveByWords\",motionArgs:{forward:!0,wordEnd:!1}},{keys:\"W\",type:\"motion\",motion:\"moveByWords\",motionArgs:{forward:!0,wordEnd:!1,bigWord:!0}},{keys:\"e\",type:\"motion\",motion:\"moveByWords\",motionArgs:{forward:!0,wordEnd:!0,inclusive:!0}},{keys:\"E\",type:\"motion\",motion:\"moveByWords\",motionArgs:{forward:!0,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:\"b\",type:\"motion\",motion:\"moveByWords\",motionArgs:{forward:!1,wordEnd:!1}},{keys:\"B\",type:\"motion\",motion:\"moveByWords\",motionArgs:{forward:!1,wordEnd:!1,bigWord:!0}},{keys:\"ge\",type:\"motion\",motion:\"moveByWords\",motionArgs:{forward:!1,wordEnd:!0,inclusive:!0}},{keys:\"gE\",type:\"motion\",motion:\"moveByWords\",motionArgs:{forward:!1,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:\"{\",type:\"motion\",motion:\"moveByParagraph\",motionArgs:{forward:!1,toJumplist:!0}},{keys:\"}\",type:\"motion\",motion:\"moveByParagraph\",motionArgs:{forward:!0,toJumplist:!0}},{keys:\"(\",type:\"motion\",motion:\"moveBySentence\",motionArgs:{forward:!1}},{keys:\")\",type:\"motion\",motion:\"moveBySentence\",motionArgs:{forward:!0}},{keys:\"<C-f>\",type:\"motion\",motion:\"moveByPage\",motionArgs:{forward:!0}},{keys:\"<C-b>\",type:\"motion\",motion:\"moveByPage\",motionArgs:{forward:!1}},{keys:\"<C-d>\",type:\"motion\",motion:\"moveByScroll\",motionArgs:{forward:!0,explicitRepeat:!0}},{keys:\"<C-u>\",type:\"motion\",motion:\"moveByScroll\",motionArgs:{forward:!1,explicitRepeat:!0}},{keys:\"gg\",type:\"motion\",motion:\"moveToLineOrEdgeOfDocument\",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:\"G\",type:\"motion\",motion:\"moveToLineOrEdgeOfDocument\",motionArgs:{forward:!0,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:\"g$\",type:\"motion\",motion:\"moveToEndOfDisplayLine\"},{keys:\"g^\",type:\"motion\",motion:\"moveToStartOfDisplayLine\"},{keys:\"g0\",type:\"motion\",motion:\"moveToStartOfDisplayLine\"},{keys:\"0\",type:\"motion\",motion:\"moveToStartOfLine\"},{keys:\"^\",type:\"motion\",motion:\"moveToFirstNonWhiteSpaceCharacter\"},{keys:\"+\",type:\"motion\",motion:\"moveByLines\",motionArgs:{forward:!0,toFirstChar:!0}},{keys:\"-\",type:\"motion\",motion:\"moveByLines\",motionArgs:{forward:!1,toFirstChar:!0}},{keys:\"_\",type:\"motion\",motion:\"moveByLines\",motionArgs:{forward:!0,toFirstChar:!0,repeatOffset:-1}},{keys:\"$\",type:\"motion\",motion:\"moveToEol\",motionArgs:{inclusive:!0}},{keys:\"%\",type:\"motion\",motion:\"moveToMatchedSymbol\",motionArgs:{inclusive:!0,toJumplist:!0}},{keys:\"f<character>\",type:\"motion\",motion:\"moveToCharacter\",motionArgs:{forward:!0,inclusive:!0}},{keys:\"F<character>\",type:\"motion\",motion:\"moveToCharacter\",motionArgs:{forward:!1}},{keys:\"t<character>\",type:\"motion\",motion:\"moveTillCharacter\",motionArgs:{forward:!0,inclusive:!0}},{keys:\"T<character>\",type:\"motion\",motion:\"moveTillCharacter\",motionArgs:{forward:!1}},{keys:\";\",type:\"motion\",motion:\"repeatLastCharacterSearch\",motionArgs:{forward:!0}},{keys:\",\",type:\"motion\",motion:\"repeatLastCharacterSearch\",motionArgs:{forward:!1}},{keys:\"'<character>\",type:\"motion\",motion:\"goToMark\",motionArgs:{toJumplist:!0,linewise:!0}},{keys:\"`<character>\",type:\"motion\",motion:\"goToMark\",motionArgs:{toJumplist:!0}},{keys:\"]`\",type:\"motion\",motion:\"jumpToMark\",motionArgs:{forward:!0}},{keys:\"[`\",type:\"motion\",motion:\"jumpToMark\",motionArgs:{forward:!1}},{keys:\"]'\",type:\"motion\",motion:\"jumpToMark\",motionArgs:{forward:!0,linewise:!0}},{keys:\"['\",type:\"motion\",motion:\"jumpToMark\",motionArgs:{forward:!1,linewise:!0}},{keys:\"]p\",type:\"action\",action:\"paste\",isEdit:!0,actionArgs:{after:!0,isEdit:!0,matchIndent:!0}},{keys:\"[p\",type:\"action\",action:\"paste\",isEdit:!0,actionArgs:{after:!1,isEdit:!0,matchIndent:!0}},{keys:\"]<character>\",type:\"motion\",motion:\"moveToSymbol\",motionArgs:{forward:!0,toJumplist:!0}},{keys:\"[<character>\",type:\"motion\",motion:\"moveToSymbol\",motionArgs:{forward:!1,toJumplist:!0}},{keys:\"|\",type:\"motion\",motion:\"moveToColumn\"},{keys:\"o\",type:\"motion\",motion:\"moveToOtherHighlightedEnd\",context:\"visual\"},{keys:\"O\",type:\"motion\",motion:\"moveToOtherHighlightedEnd\",motionArgs:{sameLine:!0},context:\"visual\"},{keys:\"d\",type:\"operator\",operator:\"delete\"},{keys:\"y\",type:\"operator\",operator:\"yank\"},{keys:\"c\",type:\"operator\",operator:\"change\"},{keys:\"=\",type:\"operator\",operator:\"indentAuto\"},{keys:\">\",type:\"operator\",operator:\"indent\",operatorArgs:{indentRight:!0}},{keys:\"<\",type:\"operator\",operator:\"indent\",operatorArgs:{indentRight:!1}},{keys:\"g~\",type:\"operator\",operator:\"changeCase\"},{keys:\"gu\",type:\"operator\",operator:\"changeCase\",operatorArgs:{toLower:!0},isEdit:!0},{keys:\"gU\",type:\"operator\",operator:\"changeCase\",operatorArgs:{toLower:!1},isEdit:!0},{keys:\"n\",type:\"motion\",motion:\"findNext\",motionArgs:{forward:!0,toJumplist:!0}},{keys:\"N\",type:\"motion\",motion:\"findNext\",motionArgs:{forward:!1,toJumplist:!0}},{keys:\"gn\",type:\"motion\",motion:\"findAndSelectNextInclusive\",motionArgs:{forward:!0}},{keys:\"gN\",type:\"motion\",motion:\"findAndSelectNextInclusive\",motionArgs:{forward:!1}},{keys:\"x\",type:\"operatorMotion\",operator:\"delete\",motion:\"moveByCharacters\",motionArgs:{forward:!0},operatorMotionArgs:{visualLine:!1}},{keys:\"X\",type:\"operatorMotion\",operator:\"delete\",motion:\"moveByCharacters\",motionArgs:{forward:!1},operatorMotionArgs:{visualLine:!0}},{keys:\"D\",type:\"operatorMotion\",operator:\"delete\",motion:\"moveToEol\",motionArgs:{inclusive:!0},context:\"normal\"},{keys:\"D\",type:\"operator\",operator:\"delete\",operatorArgs:{linewise:!0},context:\"visual\"},{keys:\"Y\",type:\"operatorMotion\",operator:\"yank\",motion:\"expandToLine\",motionArgs:{linewise:!0},context:\"normal\"},{keys:\"Y\",type:\"operator\",operator:\"yank\",operatorArgs:{linewise:!0},context:\"visual\"},{keys:\"C\",type:\"operatorMotion\",operator:\"change\",motion:\"moveToEol\",motionArgs:{inclusive:!0},context:\"normal\"},{keys:\"C\",type:\"operator\",operator:\"change\",operatorArgs:{linewise:!0},context:\"visual\"},{keys:\"~\",type:\"operatorMotion\",operator:\"changeCase\",motion:\"moveByCharacters\",motionArgs:{forward:!0},operatorArgs:{shouldMoveCursor:!0},context:\"normal\"},{keys:\"~\",type:\"operator\",operator:\"changeCase\",context:\"visual\"},{keys:\"<C-u>\",type:\"operatorMotion\",operator:\"delete\",motion:\"moveToStartOfLine\",context:\"insert\"},{keys:\"<C-w>\",type:\"operatorMotion\",operator:\"delete\",motion:\"moveByWords\",motionArgs:{forward:!1,wordEnd:!1},context:\"insert\"},{keys:\"<C-w>\",type:\"idle\",context:\"normal\"},{keys:\"<C-i>\",type:\"action\",action:\"jumpListWalk\",actionArgs:{forward:!0}},{keys:\"<C-o>\",type:\"action\",action:\"jumpListWalk\",actionArgs:{forward:!1}},{keys:\"<C-e>\",type:\"action\",action:\"scroll\",actionArgs:{forward:!0,linewise:!0}},{keys:\"<C-y>\",type:\"action\",action:\"scroll\",actionArgs:{forward:!1,linewise:!0}},{keys:\"a\",type:\"action\",action:\"enterInsertMode\",isEdit:!0,actionArgs:{insertAt:\"charAfter\"},context:\"normal\"},{keys:\"A\",type:\"action\",action:\"enterInsertMode\",isEdit:!0,actionArgs:{insertAt:\"eol\"},context:\"normal\"},{keys:\"A\",type:\"action\",action:\"enterInsertMode\",isEdit:!0,actionArgs:{insertAt:\"endOfSelectedArea\"},context:\"visual\"},{keys:\"i\",type:\"action\",action:\"enterInsertMode\",isEdit:!0,actionArgs:{insertAt:\"inplace\"},context:\"normal\"},{keys:\"gi\",type:\"action\",action:\"enterInsertMode\",isEdit:!0,actionArgs:{insertAt:\"lastEdit\"},context:\"normal\"},{keys:\"I\",type:\"action\",action:\"enterInsertMode\",isEdit:!0,actionArgs:{insertAt:\"firstNonBlank\"},context:\"normal\"},{keys:\"gI\",type:\"action\",action:\"enterInsertMode\",isEdit:!0,actionArgs:{insertAt:\"bol\"},context:\"normal\"},{keys:\"I\",type:\"action\",action:\"enterInsertMode\",isEdit:!0,actionArgs:{insertAt:\"startOfSelectedArea\"},context:\"visual\"},{keys:\"o\",type:\"action\",action:\"newLineAndEnterInsertMode\",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!0},context:\"normal\"},{keys:\"O\",type:\"action\",action:\"newLineAndEnterInsertMode\",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!1},context:\"normal\"},{keys:\"v\",type:\"action\",action:\"toggleVisualMode\"},{keys:\"V\",type:\"action\",action:\"toggleVisualMode\",actionArgs:{linewise:!0}},{keys:\"<C-v>\",type:\"action\",action:\"toggleVisualMode\",actionArgs:{blockwise:!0}},{keys:\"<C-q>\",type:\"action\",action:\"toggleVisualMode\",actionArgs:{blockwise:!0}},{keys:\"gv\",type:\"action\",action:\"reselectLastSelection\"},{keys:\"J\",type:\"action\",action:\"joinLines\",isEdit:!0},{keys:\"gJ\",type:\"action\",action:\"joinLines\",actionArgs:{keepSpaces:!0},isEdit:!0},{keys:\"p\",type:\"action\",action:\"paste\",isEdit:!0,actionArgs:{after:!0,isEdit:!0}},{keys:\"P\",type:\"action\",action:\"paste\",isEdit:!0,actionArgs:{after:!1,isEdit:!0}},{keys:\"r<character>\",type:\"action\",action:\"replace\",isEdit:!0},{keys:\"@<character>\",type:\"action\",action:\"replayMacro\"},{keys:\"q<character>\",type:\"action\",action:\"enterMacroRecordMode\"},{keys:\"R\",type:\"action\",action:\"enterInsertMode\",isEdit:!0,actionArgs:{replace:!0},context:\"normal\"},{keys:\"R\",type:\"operator\",operator:\"change\",operatorArgs:{linewise:!0,fullLine:!0},context:\"visual\",exitVisualBlock:!0},{keys:\"u\",type:\"action\",action:\"undo\",context:\"normal\"},{keys:\"u\",type:\"operator\",operator:\"changeCase\",operatorArgs:{toLower:!0},context:\"visual\",isEdit:!0},{keys:\"U\",type:\"operator\",operator:\"changeCase\",operatorArgs:{toLower:!1},context:\"visual\",isEdit:!0},{keys:\"<C-r>\",type:\"action\",action:\"redo\"},{keys:\"m<character>\",type:\"action\",action:\"setMark\"},{keys:'\"<character>',type:\"action\",action:\"setRegister\"},{keys:\"zz\",type:\"action\",action:\"scrollToCursor\",actionArgs:{position:\"center\"}},{keys:\"z.\",type:\"action\",action:\"scrollToCursor\",actionArgs:{position:\"center\"},motion:\"moveToFirstNonWhiteSpaceCharacter\"},{keys:\"zt\",type:\"action\",action:\"scrollToCursor\",actionArgs:{position:\"top\"}},{keys:\"z<CR>\",type:\"action\",action:\"scrollToCursor\",actionArgs:{position:\"top\"},motion:\"moveToFirstNonWhiteSpaceCharacter\"},{keys:\"zb\",type:\"action\",action:\"scrollToCursor\",actionArgs:{position:\"bottom\"}},{keys:\"z-\",type:\"action\",action:\"scrollToCursor\",actionArgs:{position:\"bottom\"},motion:\"moveToFirstNonWhiteSpaceCharacter\"},{keys:\".\",type:\"action\",action:\"repeatLastEdit\"},{keys:\"<C-a>\",type:\"action\",action:\"incrementNumberToken\",isEdit:!0,actionArgs:{increase:!0,backtrack:!1}},{keys:\"<C-x>\",type:\"action\",action:\"incrementNumberToken\",isEdit:!0,actionArgs:{increase:!1,backtrack:!1}},{keys:\"<C-t>\",type:\"action\",action:\"indent\",actionArgs:{indentRight:!0},context:\"insert\"},{keys:\"<C-d>\",type:\"action\",action:\"indent\",actionArgs:{indentRight:!1},context:\"insert\"},{keys:\"a<character>\",type:\"motion\",motion:\"textObjectManipulation\"},{keys:\"i<character>\",type:\"motion\",motion:\"textObjectManipulation\",motionArgs:{textObjectInner:!0}},{keys:\"/\",type:\"search\",searchArgs:{forward:!0,querySrc:\"prompt\",toJumplist:!0}},{keys:\"?\",type:\"search\",searchArgs:{forward:!1,querySrc:\"prompt\",toJumplist:!0}},{keys:\"*\",type:\"search\",searchArgs:{forward:!0,querySrc:\"wordUnderCursor\",wholeWordOnly:!0,toJumplist:!0}},{keys:\"#\",type:\"search\",searchArgs:{forward:!1,querySrc:\"wordUnderCursor\",wholeWordOnly:!0,toJumplist:!0}},{keys:\"g*\",type:\"search\",searchArgs:{forward:!0,querySrc:\"wordUnderCursor\",toJumplist:!0}},{keys:\"g#\",type:\"search\",searchArgs:{forward:!1,querySrc:\"wordUnderCursor\",toJumplist:!0}},{keys:\":\",type:\"ex\"}],w=p.length,o=[{name:\"colorscheme\",shortName:\"colo\"},{name:\"map\"},{name:\"imap\",shortName:\"im\"},{name:\"nmap\",shortName:\"nm\"},{name:\"vmap\",shortName:\"vm\"},{name:\"unmap\"},{name:\"write\",shortName:\"w\"},{name:\"undo\",shortName:\"u\"},{name:\"redo\",shortName:\"red\"},{name:\"set\",shortName:\"se\"},{name:\"setlocal\",shortName:\"setl\"},{name:\"setglobal\",shortName:\"setg\"},{name:\"sort\",shortName:\"sor\"},{name:\"substitute\",shortName:\"s\",possiblyAsync:!0},{name:\"nohlsearch\",shortName:\"noh\"},{name:\"yank\",shortName:\"y\"},{name:\"delmarks\",shortName:\"delm\"},{name:\"registers\",shortName:\"reg\",excludeFromCommandHistory:!0},{name:\"vglobal\",shortName:\"v\"},{name:\"global\",shortName:\"g\"}];function i(e){e.setOption(\"disableInput\",!0),e.setOption(\"showCursorWhenSelecting\",!1),b.signal(e,\"vim-mode-change\",{mode:\"normal\"}),e.on(\"cursorActivity\",Ze),se(e),b.on(e.getInputField(),\"paste\",x(e))}function t(e,t){this==b.keyMap.vim&&(e.options.$customCursor=null,b.rmClass(e.getWrapperElement(),\"cm-fat-cursor\")),t&&t.attach==n||((t=e).setOption(\"disableInput\",!1),t.off(\"cursorActivity\",Ze),b.off(t.getInputField(),\"paste\",x(t)),t.state.vim=null,De&&clearTimeout(De))}function n(e,t){this==b.keyMap.vim&&(e.curOp&&(e.curOp.selectionChanged=!0),e.options.$customCursor=r,b.addClass(e.getWrapperElement(),\"cm-fat-cursor\")),t&&t.attach==n||i(e)}function s(e,t){if(t){if(this[e])return this[e];e=function(e){if(\"'\"==e.charAt(0))return e.charAt(1);var t=e.split(/-(?!$)/),e=t[t.length-1];{if(1==t.length&&1==t[0].length)return!1;if(2==t.length&&\"Shift\"==t[0]&&1==e.length)return!1}for(var n=!1,r=0;r<t.length;r++){var o=t[r];o in c?t[r]=c[o]:n=!0,o in u&&(t[r]=u[o])}if(!n)return!1;d(e)&&(t[t.length-1]=e.toLowerCase());return\"<\"+t.join(\"-\")+\">\"}(e);if(!e)return!1;var n=v.findKey(t,e);return\"function\"==typeof n&&b.signal(t,\"vim-keypress\",e),n}}b.defineOption(\"vimMode\",!1,function(e,t,n){t&&\"vim\"!=e.getOption(\"keyMap\")?e.setOption(\"keyMap\",\"vim\"):!t&&n!=b.Init&&/^vim/.test(e.getOption(\"keyMap\"))&&e.setOption(\"keyMap\",\"default\")});var c={Shift:\"S\",Ctrl:\"C\",Alt:\"A\",Cmd:\"D\",Mod:\"A\",CapsLock:\"\"},u={Enter:\"CR\",Backspace:\"BS\",Delete:\"Del\",Insert:\"Ins\"};function x(e){var t=e.state.vim;return t.onPasteFn||(t.onPasteFn=function(){t.insertMode||(e.setCursor(y(e.getCursor(),0,1)),fe.enterInsertMode(e,{},t))}),t.onPasteFn}var M=/[\\d]/,m=[b.isWordChar,function(e){return e&&!b.isWordChar(e)&&!/\\s/.test(e)}],J=[function(e){return/\\S/.test(e)}];function q(e,t){for(var n=[],r=e;r<e+t;r++)n.push(String.fromCharCode(r));return n}var Q,z=q(65,26),X=q(97,26),Z=q(48,10),G=[].concat(z,X,Z,[\"<\",\">\"]),Y=[].concat(z,X,Z,[\"-\",'\"',\".\",\":\",\"_\",\"/\"]);try{Q=new RegExp(\"^[\\\\p{Lu}]$\",\"u\")}catch(e){Q=/^[A-Z]$/}function ee(e,t){return t>=e.firstLine()&&t<=e.lastLine()}function te(e){return/^[a-z]$/.test(e)}function d(e){return Q.test(e)}function A(e){return/^\\s*$/.test(e)}function h(e){return-1!=\".?!\".indexOf(e)}function ne(e,t){for(var n=0;n<t.length;n++)if(t[n]==e)return!0;return!1}var a={};function e(e,t,n,r,o){if(void 0===t&&!o)throw Error(\"defaultValue is required unless callback is provided\");if(a[e]={type:n=n||\"string\",defaultValue:t,callback:o},r)for(var i=0;i<r.length;i++)a[r[i]]=a[e];t&&re(e,t)}function re(e,t,n,r){var o=a[e],r=(r=r||{}).scope;if(!o)return new Error(\"Unknown option: \"+e);if(\"boolean\"==o.type){if(t&&!0!==t)return new Error(\"Invalid argument: \"+e+\"=\"+t);!1!==t&&(t=!0)}o.callback?(\"local\"!==r&&o.callback(t,void 0),\"global\"!==r&&n&&o.callback(t,n)):(\"local\"!==r&&(o.value=\"boolean\"==o.type?!!t:t),\"global\"!==r&&n&&(n.state.vim.options[e]={value:t}))}function T(e,t,n){var r,o=a[e],n=(n=n||{}).scope;return o?o.callback?(r=t&&o.callback(void 0,t),\"global\"!==n&&void 0!==r?r:\"local\"!==n?o.callback():void 0):((r=\"global\"!==n&&t&&t.state.vim.options[e])||\"local\"!==n&&o||{}).value:new Error(\"Unknown option: \"+e)}e(\"filetype\",void 0,\"string\",[\"ft\"],function(e,t){var n;if(void 0!==t)return void 0===e?\"null\"==(n=t.getOption(\"mode\"))?\"\":n:void t.setOption(\"mode\",n=\"\"==e?\"null\":e)});function oe(){var a=100,s=-1,l=0,c=0,u=new Array(a);function r(e,t){l<(s+=t)?s=l:s<c&&(s=c);var n=u[(a+s)%a];if(n&&!n.find()){var r,o=0<t?1:-1,i=e.getCursor();do{if((n=u[(a+(s+=o))%a])&&(r=n.find())&&!K(i,r))break}while(s<l&&c<s)}return n}return{cachedCursor:void 0,add:function(r,e,t){var n=u[s%a];function o(e){var t=++s%a,n=u[t];n&&n.clear(),u[t]=r.setBookmark(e)}n&&(!(n=n.find())||K(n,e))||o(e),o(t),(c=(l=s)-a+1)<0&&(c=0)},find:function(e,t){var n=s,e=r(e,t);return s=n,e&&e.find()},move:r}}function ie(e){return e?{changes:e.changes,expectCursorActivityForChange:e.expectCursorActivityForChange}:{changes:[],expectCursorActivityForChange:!1}}var R,f;function ae(){this.latestRegister=void 0,this.isPlaying=!1,this.isRecording=!1,this.replaySearchQueries=[],this.onRecordingDone=void 0,this.lastInsertModeChanges=ie()}function se(e){return e.state.vim||(e.state.vim={inputState:new ce,lastEditInputState:void 0,lastEditActionCommand:void 0,lastHPos:-1,lastHSPos:-1,lastMotion:null,marks:{},insertMode:!1,insertModeRepeat:void 0,visualMode:!1,visualLine:!1,visualBlock:!1,lastSelection:null,lastPastedText:null,sel:{},options:{}}),e.state.vim}function le(){for(var e in R={searchQuery:null,searchIsReversed:!1,lastSubstituteReplacePart:void 0,jumpList:oe(),macroModeState:new ae,lastCharacterSearch:{increment:0,forward:!0,selectedCharacter:\"\"},registerController:new ue({}),searchHistoryController:new pe,exCommandHistoryController:new pe},a){e=a[e];e.value=e.defaultValue}}var v={enterVimMode:i,buildKeyMap:function(){},getRegisterController:function(){return R.registerController},resetVimGlobalState_:le,getVimGlobalState_:function(){return R},maybeInitVimState_:se,suppressErrorLogging:!(ae.prototype={exitMacroRecordMode:function(){var e=R.macroModeState;e.onRecordingDone&&e.onRecordingDone(),e.onRecordingDone=void 0,e.isRecording=!1},enterMacroRecordMode:function(e,t){var n=R.registerController.getRegister(t);n&&(n.clear(),this.latestRegister=t,e.openDialog&&(n=W(\"span\",{class:\"cm-vim-message\"},\"recording @\"+t),this.onRecordingDone=e.openDialog(n,null,{bottom:!0})),this.isRecording=!0)}}),InsertModeKey:Ye,map:function(e,t,n){k.map(e,t,n)},unmap:function(e,t){return k.unmap(e,t)},noremap:function(e,t,n){function r(e){return e?[e]:[\"normal\",\"insert\",\"visual\"]}for(var o=r(n),i=p.length,a=i-w;a<i&&o.length;a++){var s=p[a];if(!(s.keys!=t||n&&s.context&&s.context!==n||\"ex\"===s.type.substr(0,2)||\"key\"===s.type.substr(0,3))){var l,c={};for(l in s)c[l]=s[l];c.keys=e,n&&!c.context&&(c.context=n),this._mapCommand(c);var u=r(s.context),o=o.filter(function(e){return-1===u.indexOf(e)})}}},mapclear:function(e){var t=p.length,n=w,r=p.slice(0,t-n);if(p=p.slice(t-n),e)for(var o=r.length-1;0<=o;o--){var i=r[o];if(e!==i.context)if(i.context)this._mapCommand(i);else{var a,s=[\"normal\",\"insert\",\"visual\"];for(a in s)if(s[a]!==e){var l,c={};for(l in i)c[l]=i[l];c.context=s[a],this._mapCommand(c)}}}},setOption:re,getOption:T,defineOption:e,defineEx:function(e,t,n){if(t){if(0!==e.indexOf(t))throw new Error('(Vim.defineEx) \"'+t+'\" is not a prefix of \"'+e+'\", command not registered')}else t=e;Qe[e]=n,k.commandMap_[t]={name:e,shortName:t,type:\"api\"}},handleKey:function(e,t,n){e=this.findKey(e,t,n);if(\"function\"==typeof e)return e()},multiSelectHandleKey:function(o,i,a){var s=!1,e=v.maybeInitVimState_(o),t=e.visualBlock||e.wasInVisualBlock,n=o.isInMultiSelectMode();e.wasInVisualBlock&&!n?e.wasInVisualBlock=!1:n&&e.visualBlock&&(e.wasInVisualBlock=!0);{var l;\"<Esc>\"!=i||e.insertMode||e.visualMode||!n||\"<Esc>\"!=e.status?t||!n||o.inVirtualSelectionMode?s=v.handleKey(o,i,a):(l=rt(e),o.operation(function(){o.curOp.isVimOp=!0,o.forEachSelection(function(){var e=N(n=o.getCursor(\"head\"),r=o.getCursor(\"anchor\"))?0:-1,t=N(n,r)?-1:0,n=y(n,0,e),r=y(r,0,t);o.state.vim.sel.head=n,o.state.vim.sel.anchor=r,s=v.handleKey(o,i,a),o.virtualSelection&&(o.state.vim=rt(l))}),o.curOp.cursorActivity&&!s&&(o.curOp.cursorActivity=!1),o.state.vim=e},!0)):E(o)}!s||e.visualMode||e.insert||e.visualMode==o.somethingSelected()||Ge(o,e);return s},findKey:function(s,l,n){var r,c=se(s);function o(){var e,t=R.macroModeState;if(t.isRecording){if(\"q\"==l)return t.exitMacroRecordMode(),E(s),1;\"mapping\"!=n&&(e=l,(t=t).isPlaying||(t=t.latestRegister,(t=R.registerController.getRegister(t))&&t.pushText(e)))}}function u(){if(\"<Esc>\"==l){if(c.visualMode)D(s);else{if(!c.insertMode)return;C(s)}return E(s),1}}return!1===(r=(c.insertMode?function(){if(u())return!0;for(var e=c.inputState.keyBuffer=c.inputState.keyBuffer+l,t=1==l.length,n=g.matchCommand(e,p,c.inputState,\"insert\");1<e.length&&\"full\"!=n.type;){var e=c.inputState.keyBuffer=e.slice(1),r=g.matchCommand(e,p,c.inputState,\"insert\");\"none\"!=r.type&&(n=r)}if(\"none\"==n.type)return E(s),!1;if(\"partial\"==n.type)return f&&window.clearTimeout(f),f=window.setTimeout(function(){c.insertMode&&c.inputState.keyBuffer&&E(s)},T(\"insertModeEscKeysTimeout\")),!t;if(f&&window.clearTimeout(f),t){for(var o=s.listSelections(),i=0;i<o.length;i++){var a=o[i].head;s.replaceRange(\"\",y(a,0,-(e.length-1)),a,\"+input\")}R.macroModeState.lastInsertModeChanges.changes.pop()}return E(s),n.command}:function(){if(o()||u())return!0;var e=c.inputState.keyBuffer=c.inputState.keyBuffer+l;if(/^[1-9]\\d*$/.test(e))return!0;var t=/^(\\d*)(.*)$/.exec(e);if(!t)return E(s),!1;var n=c.visualMode?\"visual\":\"normal\",r=t[2]||t[1];return c.inputState.operatorShortcut&&c.inputState.operatorShortcut.slice(-1)==r&&(r=c.inputState.operatorShortcut),\"none\"==(r=g.matchCommand(r,p,c.inputState,n)).type?(E(s),!1):\"partial\"==r.type||(\"clear\"==r.type?(E(s),!0):(c.inputState.keyBuffer=\"\",(t=/^(\\d*)(.*)$/.exec(e))[1]&&\"0\"!=t[1]&&c.inputState.pushRepeatDigit(t[1]),r.command))})())?c.insertMode||1!==l.length?void 0:function(){return!0}:!0===r?function(){return!0}:function(){return s.operation(function(){s.curOp.isVimOp=!0;try{if(\"keyToKey\"==r.type)for(var e,t=r.toKeys;t;)e=/<\\w+-.+?>|<\\w+>|./.exec(t),l=e[0],t=t.substring(e.index+l.length),v.handleKey(s,l,\"mapping\");else g.processCommand(s,c,r)}catch(e){throw s.state.vim=void 0,se(s),v.suppressErrorLogging||console.log(e),e}return!0})}},handleEx:function(e,t){k.processCommand(e,t)},defineMotion:function(e,t){O[e]=t},defineAction:function(e,t){fe[e]=t},defineOperator:function(e,t){de[e]=t},mapCommand:function(e,t,n,r,o){var i,a={keys:e,type:t};for(i in a[t]=n,a[t+\"Args\"]=r,o)a[i]=o[i];ze(a)},_mapCommand:ze,defineRegister:function(e,t){var n=R.registerController.registers;if(!e||1!=e.length)throw Error(\"Register name must be 1 character\");if(n[e])throw Error(\"Register already defined \"+e);n[e]=t,Y.push(e)},exitVisualMode:D,exitInsertMode:C};function ce(){this.prefixRepeat=[],this.motionRepeat=[],this.operator=null,this.operatorArgs=null,this.motion=null,this.motionArgs=null,this.keyBuffer=[],this.registerName=null}function E(e,t){e.state.vim.inputState=new ce,b.signal(e,\"vim-command-done\",t)}function l(e,t,n){this.clear(),this.keyBuffer=[e||\"\"],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!!t,this.blockwise=!!n}function ue(e){this.registers=e,this.unnamedRegister=e['\"']=new l,e[\".\"]=new l,e[\":\"]=new l,e[\"/\"]=new l}function pe(){this.historyBuffer=[],this.iterator=0,this.initialPrefix=null}ce.prototype.pushRepeatDigit=function(e){this.operator?this.motionRepeat=this.motionRepeat.concat(e):this.prefixRepeat=this.prefixRepeat.concat(e)},ce.prototype.getRepeat=function(){var e=0;return(0<this.prefixRepeat.length||0<this.motionRepeat.length)&&(e=1,0<this.prefixRepeat.length&&(e*=parseInt(this.prefixRepeat.join(\"\"),10)),0<this.motionRepeat.length&&(e*=parseInt(this.motionRepeat.join(\"\"),10))),e},l.prototype={setText:function(e,t,n){this.keyBuffer=[e||\"\"],this.linewise=!!t,this.blockwise=!!n},pushText:function(e,t){t&&(this.linewise||this.keyBuffer.push(\"\\n\"),this.linewise=!0),this.keyBuffer.push(e)},pushInsertModeChanges:function(e){this.insertModeChanges.push(ie(e))},pushSearchQuery:function(e){this.searchQueries.push(e)},clear:function(){this.keyBuffer=[],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!1},toString:function(){return this.keyBuffer.join(\"\")}},ue.prototype={pushText:function(e,t,n,r,o){if(\"_\"!==e){r&&\"\\n\"!==n.charAt(n.length-1)&&(n+=\"\\n\");var i=this.isValidRegister(e)?this.getRegister(e):null;if(i)d(e)?i.pushText(n,r):i.setText(n,r,o),this.unnamedRegister.setText(i.toString(),r);else{switch(t){case\"yank\":this.registers[0]=new l(n,r,o);break;case\"delete\":case\"change\":-1==n.indexOf(\"\\n\")?this.registers[\"-\"]=new l(n,r):(this.shiftNumericRegisters_(),this.registers[1]=new l(n,r))}this.unnamedRegister.setText(n,r,o)}}},getRegister:function(e){return this.isValidRegister(e)?(e=e.toLowerCase(),this.registers[e]||(this.registers[e]=new l),this.registers[e]):this.unnamedRegister},isValidRegister:function(e){return e&&ne(e,Y)},shiftNumericRegisters_:function(){for(var e=9;2<=e;e--)this.registers[e]=this.getRegister(\"\"+(e-1))}},pe.prototype={nextMatch:function(e,t){var n=this.historyBuffer,r=t?-1:1;null===this.initialPrefix&&(this.initialPrefix=e);for(var o=this.iterator+r;t?0<=o:o<n.length;o+=r)for(var i=n[o],a=0;a<=i.length;a++)if(this.initialPrefix==i.substring(0,a))return this.iterator=o,i;return o>=n.length?(this.iterator=n.length,this.initialPrefix):o<0?e:void 0},pushInput:function(e){var t=this.historyBuffer.indexOf(e);-1<t&&this.historyBuffer.splice(t,1),e.length&&this.historyBuffer.push(e)},reset:function(){this.initialPrefix=null,this.iterator=this.historyBuffer.length}};var g={matchCommand:function(e,t,n,r){var o=function(e,t,n,r){for(var o,i=[],a=[],s=0;s<t.length;s++){var l=t[s];\"insert\"==n&&\"insert\"!=l.context||l.context&&l.context!=n||r.operator&&\"action\"==l.type||!(o=function(e,t){{var n,r,o;return\"<character>\"==t.slice(-11)?(n=t.length-11,r=e.slice(0,n),o=t.slice(0,n),r==o&&e.length>n?\"full\":0==o.indexOf(r)&&\"partial\"):e==t?\"full\":0==t.indexOf(e)&&\"partial\"}}(e,l.keys))||(\"partial\"==o&&i.push(l),\"full\"==o&&a.push(l))}return{partial:i.length&&i,full:a.length&&a}}(e,t,r,n);if(!o.full&&!o.partial)return{type:\"none\"};if(!o.full&&o.partial)return{type:\"partial\"};for(var i=0;i<o.full.length;i++)var a=o.full[i],s=s||a;if(\"<character>\"==s.keys.slice(-11)){t=function(e){var t=/^.*(<[^>]+>)$/.exec(e),n=t?t[1]:e.slice(-1);if(1<n.length)switch(n){case\"<CR>\":n=\"\\n\";break;case\"<Space>\":n=\" \";break;default:n=\"\"}return n}(e);if(!t||1<t.length)return{type:\"clear\"};n.selectedCharacter=t}return{type:\"full\",command:s}},processCommand:function(e,t,n){switch(t.inputState.repeatOverride=n.repeatOverride,n.type){case\"motion\":this.processMotion(e,t,n);break;case\"operator\":this.processOperator(e,t,n);break;case\"operatorMotion\":this.processOperatorMotion(e,t,n);break;case\"action\":this.processAction(e,t,n);break;case\"search\":this.processSearch(e,t,n);break;case\"ex\":case\"keyToEx\":this.processEx(e,t,n)}},processMotion:function(e,t,n){t.inputState.motion=n.motion,t.inputState.motionArgs=me(n.motionArgs),this.evalInput(e,t)},processOperator:function(e,t,n){var r=t.inputState;if(r.operator){if(r.operator==n.operator)return r.motion=\"expandToLine\",r.motionArgs={linewise:!0},void this.evalInput(e,t);E(e)}r.operator=n.operator,r.operatorArgs=me(n.operatorArgs),1<n.keys.length&&(r.operatorShortcut=n.keys),n.exitVisualBlock&&(t.visualBlock=!1,H(e)),t.visualMode&&this.evalInput(e,t)},processOperatorMotion:function(e,t,n){var r=t.visualMode,o=me(n.operatorMotionArgs);o&&r&&o.visualLine&&(t.visualLine=!0),this.processOperator(e,t,n),r||this.processMotion(e,t,n)},processAction:function(e,t,n){var r=t.inputState,o=r.getRepeat(),i=!!o,a=me(n.actionArgs)||{};r.selectedCharacter&&(a.selectedCharacter=r.selectedCharacter),n.operator&&this.processOperator(e,t,n),n.motion&&this.processMotion(e,t,n),(n.motion||n.operator)&&this.evalInput(e,t),a.repeat=o||1,a.repeatIsExplicit=i,a.registerName=r.registerName,E(e),t.lastMotion=null,n.isEdit&&this.recordLastEdit(t,r,n),fe[n.action](e,a,t)},processSearch:function(a,r,o){if(a.getSearchCursor){var s=o.searchArgs.forward,e=o.searchArgs.wholeWordOnly,t=(F(a).setReversed(!s),s?\"/\":\"?\"),i=F(a).getQuery(),l=a.getScrollInfo();switch(o.searchArgs.querySrc){case\"prompt\":var n=R.macroModeState;n.isPlaying?p(u=n.replaySearchQueries.shift(),!0,!1):He(a,{onClose:h,prefix:t,desc:\"(JavaScript regexp)\",onKeyUp:function(e,t,n){var r,o,i=b.keyName(e);\"Up\"==i||\"Down\"==i?(r=e.target?e.target.selectionEnd:0,n(t=R.searchHistoryController.nextMatch(t,\"Up\"==i)||\"\"),r&&e.target&&(e.target.selectionEnd=e.target.selectionStart=Math.min(r,e.target.value.length))):\"Left\"!=i&&\"Right\"!=i&&\"Ctrl\"!=i&&\"Alt\"!=i&&\"Shift\"!=i&&R.searchHistoryController.reset();try{o=U(a,t,!0,!0)}catch(e){}o?a.scrollIntoView(Fe(a,!s,o),30):(We(a),a.scrollTo(l.left,l.top))},onKeyDown:function(e,t,n){var r=b.keyName(e);\"Esc\"==r||\"Ctrl-C\"==r||\"Ctrl-[\"==r||\"Backspace\"==r&&\"\"==t?(R.searchHistoryController.pushInput(t),R.searchHistoryController.reset(),U(a,i),We(a),a.scrollTo(l.left,l.top),b.e_stop(e),E(a),n(),a.focus()):\"Up\"==r||\"Down\"==r?b.e_stop(e):\"Ctrl-U\"==r&&(b.e_stop(e),n(\"\"))}});break;case\"wordUnderCursor\":var n=Me(a,!1,0,!1,!0),c=!0;if(n||(n=Me(a,!1,0,!1,!1),c=!1),!n)return;var u=a.getLine(n.start.line).substring(n.start.ch,n.end.ch);u=c&&e?\"\\\\b\"+u+\"\\\\b\":u.replace(/([.?*+$\\[\\]\\/\\\\(){}|\\-])/g,\"\\\\$1\"),R.jumpList.cachedCursor=a.getCursor(),a.setCursor(n.start),p(u,!0,!1)}}function p(t,e,n){R.searchHistoryController.pushInput(t),R.searchHistoryController.reset();try{U(a,t,e,n)}catch(e){return $(a,\"Invalid regex: \"+t),void E(a)}g.processMotion(a,r,{type:\"motion\",motion:\"findNext\",motionArgs:{forward:!0,toJumplist:o.searchArgs.toJumplist}})}function h(e){a.scrollTo(l.left,l.top),p(e,!0,!0);var t=R.macroModeState;t.isRecording&&(e=e,(t=t).isPlaying||(t=t.latestRegister,(t=R.registerController.getRegister(t))&&t.pushSearchQuery&&t.pushSearchQuery(e)))}},processEx:function(i,e,t){function n(e){R.exCommandHistoryController.pushInput(e),R.exCommandHistoryController.reset(),k.processCommand(i,e),E(i)}function r(e,t,n){var r,o=b.keyName(e);(\"Esc\"==o||\"Ctrl-C\"==o||\"Ctrl-[\"==o||\"Backspace\"==o&&\"\"==t)&&(R.exCommandHistoryController.pushInput(t),R.exCommandHistoryController.reset(),b.e_stop(e),E(i),n(),i.focus()),\"Up\"==o||\"Down\"==o?(b.e_stop(e),r=e.target?e.target.selectionEnd:0,n(t=R.exCommandHistoryController.nextMatch(t,\"Up\"==o)||\"\"),r&&e.target&&(e.target.selectionEnd=e.target.selectionStart=Math.min(r,e.target.value.length))):\"Ctrl-U\"==o?(b.e_stop(e),n(\"\")):\"Left\"!=o&&\"Right\"!=o&&\"Ctrl\"!=o&&\"Alt\"!=o&&\"Shift\"!=o&&R.exCommandHistoryController.reset()}\"keyToEx\"==t.type?k.processCommand(i,t.exArgs.input):e.visualMode?He(i,{onClose:n,prefix:\":\",value:\"'<,'>\",onKeyDown:r,selectValueOnOpen:!1}):He(i,{onClose:n,prefix:\":\",onKeyDown:r})},evalInput:function(e,t){var n,r,o,i,a=t.inputState,s=a.motion,l=a.motionArgs||{},c=a.operator,u=a.operatorArgs||{},p=a.registerName,h=t.sel,d=B(t.visualMode?I(e,h.head):e.getCursor(\"head\")),f=B(t.visualMode?I(e,h.anchor):e.getCursor(\"anchor\")),m=B(d),f=B(f);if(c&&this.recordLastEdit(t,a),0<(n=void 0!==a.repeatOverride?a.repeatOverride:a.getRepeat())&&l.explicitRepeat?l.repeatIsExplicit=!0:(l.noRepeat||!l.explicitRepeat&&0===n)&&(l.repeatIsExplicit=!(n=1)),a.selectedCharacter&&(l.selectedCharacter=u.selectedCharacter=a.selectedCharacter),l.repeat=n,E(e),s){var g,a=O[s](e,d,l,t,a);if(t.lastMotion=O[s],!a)return;l.toJumplist&&((g=(s=R.jumpList).cachedCursor)?(Se(e,g,a),delete s.cachedCursor):Se(e,d,a)),g=(g=a instanceof Array?(M=a[0],a[1]):a)||B(d),t.visualMode?(t.visualBlock&&g.ch===1/0||(g=I(e,g)),M=M&&I(e,M),h.anchor=M=M||f,h.head=g,H(e),V(e,t,\"<\",N(M,g)?M:g),V(e,t,\">\",N(M,g)?g:M)):c||(g=I(e,g),e.setCursor(g.line,g.ch))}if(c){if(u.lastSel?(M=f,s=u.lastSel,a=Math.abs(s.head.line-s.anchor.line),d=Math.abs(s.head.ch-s.anchor.ch),g=s.visualLine?new L(f.line+a,f.ch):s.visualBlock?new L(f.line+a,f.ch+d):s.head.line==s.anchor.line?new L(f.line,f.ch+d):new L(f.line+a,f.ch),t.visualMode=!0,t.visualLine=s.visualLine,t.visualBlock=s.visualBlock,h=t.sel={anchor:M,head:g},H(e)):t.visualMode&&(u.lastSel={anchor:B(h.anchor),head:B(h.head),visualBlock:t.visualBlock,visualLine:t.visualLine}),t.visualMode){if(o=P(h.head,h.anchor),i=j(h.head,h.anchor),r=t.visualLine||u.linewise,S=xe(e,{anchor:o,head:i},x=t.visualBlock?\"block\":r?\"line\":\"char\"),r){var v=S.ranges;if(\"block\"==x)for(var y=0;y<v.length;y++)v[y].head.ch=_(e,v[y].head.line);else\"line\"==x&&(v[0].head=new L(v[0].head.line+1,0))}}else{if(o=B(M||f),N(i=B(g||m),o)&&(d=o,o=i,i=d),r=l.linewise||u.linewise)a=i,o.ch=0,a.ch=0,a.line++;else if(l.forward){var s=e,h=o,k=i;if(h=s.getRange(h,k),/\\n\\s*$/.test(h)){var C=h.split(\"\\n\");C.pop();for(var w=C.pop();0<C.length&&w&&A(w);w=C.pop())k.line--,k.ch=0;w?(k.line--,k.ch=_(s,k.line)):k.ch=0}}var x=\"char\",M=!l.inclusive||r,S=xe(e,{anchor:o,head:i},x,M)}e.setSelections(S.ranges,S.primary),t.lastMotion=null,u.repeat=n,u.registerName=p,u.linewise=r;m=de[c](e,u,S.ranges,f,g);t.visualMode&&D(e,null!=m),m&&e.setCursor(m)}},recordLastEdit:function(e,t,n){var r=R.macroModeState;r.isPlaying||(e.lastEditInputState=t,e.lastEditActionCommand=n,r.lastInsertModeChanges.changes=[],r.lastInsertModeChanges.expectCursorActivityForChange=!1,r.lastInsertModeChanges.visualBlock=e.visualBlock?e.sel.head.line-e.sel.anchor.line:0)}},O={moveToTopLine:function(e,t,n){n=$e(e).top+n.repeat-1;return new L(n,S(e.getLine(n)))},moveToMiddleLine:function(e){var t=$e(e),t=Math.floor(.5*(t.top+t.bottom));return new L(t,S(e.getLine(t)))},moveToBottomLine:function(e,t,n){n=$e(e).bottom-n.repeat+1;return new L(n,S(e.getLine(n)))},expandToLine:function(e,t,n){return new L(t.line+n.repeat-1,1/0)},findNext:function(e,t,n){var r,o=F(e),i=o.getQuery();if(i)return r=!n.forward,r=o.isReversed()?!r:r,Ve(e,i),Fe(e,r,i,n.repeat)},findAndSelectNextInclusive:function(e,t,n,r,o){var i=F(e),a=i.getQuery();if(a){var s=!n.forward,a=function(o,i,a,s,l){void 0===s&&(s=1);return o.operation(function(){var e=o.getCursor(),t=o.getSearchCursor(a,e),n=t.find(!i);!l.visualMode&&n&&K(t.from(),e)&&t.find(!i);for(var r=0;r<s;r++)if(!(n=t.find(i))&&!(t=o.getSearchCursor(a,i?new L(o.lastLine()):new L(o.firstLine(),0))).find(i))return;return[t.from(),t.to()]})}(e,s=i.isReversed()?!s:s,a,n.repeat,r);if(a){if(o.operator)return a;o=a[0],a=new L(a[1].line,a[1].ch-1);if(r.visualMode){(r.visualLine||r.visualBlock)&&(r.visualLine=!1,r.visualBlock=!1,b.signal(e,\"vim-mode-change\",{mode:\"visual\",subMode:\"\"}));var l=r.sel.anchor;if(l)return i.isReversed()?n.forward?[l,o]:[l,a]:n.forward?[l,a]:[l,o]}else r.visualMode=!0,r.visualLine=!1,r.visualBlock=!1,b.signal(e,\"vim-mode-change\",{mode:\"visual\",subMode:\"\"});return s?[a,o]:[o,a]}}},goToMark:function(e,t,n,r){r=Ue(e,r,n.selectedCharacter);return r?n.linewise?{line:r.line,ch:S(e.getLine(r.line))}:r:null},moveToOtherHighlightedEnd:function(e,t,n,r){return r.visualBlock&&n.sameLine?(n=r.sel,[I(e,new L(n.anchor.line,n.head.ch)),I(e,new L(n.head.line,n.anchor.ch))]):[r.sel.head,r.sel.anchor]},jumpToMark:function(e,t,n,r){for(var o=t,i=0;i<n.repeat;i++){var a,s,l,c,u=o;for(a in r.marks)te(a)&&(s=r.marks[a].find(),(n.forward?N(s,u):N(u,s))||n.linewise&&s.line==u.line||(l=K(u,o),c=n.forward?ve(u,s,o):ve(o,s,u),(l||c)&&(o=s)))}return o=n.linewise?new L(o.line,S(e.getLine(o.line))):o},moveByCharacters:function(e,t,n){var r=n.repeat,n=n.forward?t.ch+r:t.ch-r;return new L(t.line,n)},moveByLines:function(e,t,n,r){var o=t,i=o.ch;switch(r.lastMotion){case this.moveByLines:case this.moveByDisplayLines:case this.moveByScroll:case this.moveToColumn:case this.moveToEol:i=r.lastHPos;break;default:r.lastHPos=i}var a=n.repeat+(n.repeatOffset||0),s=n.forward?o.line+a:o.line-a,l=e.firstLine(),c=e.lastLine(),a=e.findPosV(o,n.forward?a:-a,\"line\",r.lastHSPos);return(n.forward?a.line>s:a.line<s)&&(s=a.line,i=a.ch),s<l&&o.line==l?this.moveToStartOfLine(e,t,n,r):c<s&&o.line==c?Te(e,t,n,r,!0):(n.toFirstChar&&(i=S(e.getLine(s)),r.lastHPos=i),r.lastHSPos=e.charCoords(new L(s,i),\"div\").left,new L(s,i))},moveByDisplayLines:function(e,t,n,r){var o=t;switch(r.lastMotion){case this.moveByDisplayLines:case this.moveByScroll:case this.moveByLines:case this.moveToColumn:case this.moveToEol:break;default:r.lastHSPos=e.charCoords(o,\"div\").left}t=n.repeat,t=e.findPosV(o,n.forward?t:-t,\"line\",r.lastHSPos);return t.hitSide&&(t=n.forward?(n={top:e.charCoords(t,\"div\").top+8,left:r.lastHSPos},e.coordsChar(n,\"div\")):((n=e.charCoords(new L(e.firstLine(),0),\"div\")).left=r.lastHSPos,e.coordsChar(n,\"div\"))),r.lastHPos=t.ch,t},moveByPage:function(e,t,n){var r=n.repeat;return e.findPosV(t,n.forward?r:-r,\"page\")},moveByParagraph:function(e,t,n){var r=n.forward?1:-1;return Ee(e,t,n.repeat,r)},moveBySentence:function(e,t,n){var r=n.forward?1:-1,o=e,e=t,i=n.repeat,a=r;function u(e,t){if(t.pos+t.dir<0||t.pos+t.dir>=t.line.length){if(t.ln+=t.dir,!ee(e,t.ln))return t.line=null,t.ln=null,void(t.pos=null);t.line=e.getLine(t.ln),t.pos=0<t.dir?0:t.line.length-1}else t.pos+=t.dir}for(var s={ln:e.line,pos:e.ch};0<i;)s=(a<0?function(e,t,n,r){var o={line:e.getLine(t),ln:t,pos:n,dir:r},i={ln:o.ln,pos:null},a=\"\"===o.line;for(u(e,o);null!==o.line;){if(\"\"===o.line&&!a)return null!==i.pos?i:{ln:o.ln,pos:o.pos};if(h(o.line[o.pos])&&null!==i.pos&&(o.ln!==i.ln||o.pos+1!==i.pos))return i;\"\"===o.line||A(o.line[o.pos])||(a=!1,i={ln:o.ln,pos:o.pos}),u(e,o)}for(var s=e.getLine(i.ln),l=i.pos=0;l<s.length;++l)if(!A(s[l])){i.pos=l;break}return i}:function(e,t,n,r){var o=\"\"===(l=e.getLine(t)),i={line:l,ln:t,pos:n,dir:r},a={ln:i.ln,pos:i.pos},s=\"\"===i.line;for(u(e,i);null!==i.line;){if(a.ln=i.ln,a.pos=i.pos,\"\"===i.line&&!s)return{ln:i.ln,pos:i.pos};if(o&&\"\"!==i.line&&!A(i.line[i.pos]))return{ln:i.ln,pos:i.pos};!h(i.line[i.pos])||o||i.pos!==i.line.length-1&&!A(i.line[i.pos+1])||(o=!0),u(e,i)}var l=e.getLine(a.ln);a.pos=0;for(var c=l.length-1;0<=c;--c)if(!A(l[c])){a.pos=c;break}return a})(o,s.ln,s.pos,a),i--;return new L(s.ln,s.pos)},moveByScroll:function(e,t,n,r){var o=e.getScrollInfo(),i=(i=n.repeat)||o.clientHeight/(2*e.defaultTextHeight()),a=e.charCoords(t,\"local\");if(n.repeat=i,!(i=O.moveByDisplayLines(e,t,n,r)))return null;t=e.charCoords(i,\"local\");return e.scrollTo(null,o.top+t.top-a.top),i},moveByWords:function(e,t,n){var r=e,o=t,i=n.repeat,a=!!n.forward,e=!!n.wordEnd,s=!!n.bigWord,t=B(o),l=[];(a&&!e||!a&&e)&&i++;for(var c=!(a&&e),u=0;u<i;u++){var p=function(e,t,n,r,o){var i=t.line,a=t.ch,s=e.getLine(i),l=n?1:-1,c=r?J:m;if(o&&\"\"==s){if(i+=l,s=e.getLine(i),!ee(e,i))return null;a=n?0:s.length}for(;;){if(o&&\"\"==s)return{from:0,to:0,line:i};for(var u=0<l?s.length:-1,p=u,h=u;a!=u;){for(var d=!1,f=0;f<c.length&&!d;++f)if(c[f](s.charAt(a))){for(p=a;a!=u&&c[f](s.charAt(a));)a+=l;if(d=p!=(h=a),p!=t.ch||i!=t.line||h!=p+l)return{from:Math.min(p,h+1),to:Math.max(p,h),line:i}}d||(a+=l)}if(!ee(e,i+=l))return null;s=e.getLine(i),a=0<l?0:s.length}}(r,o,a,s,c);if(!p){var h=_(r,r.lastLine());l.push(a?{line:r.lastLine(),from:h,to:h}:{line:0,from:0,to:0});break}l.push(p),o=new L(p.line,a?p.to-1:p.from)}var n=l.length!=i,d=l[0],f=l.pop();return a&&!e?(n||d.from==t.ch&&d.line==t.line||(f=l.pop()),new L(f.line,f.from)):a&&e?new L(f.line,f.to-1):!a&&e?(n||d.to==t.ch&&d.line==t.line||(f=l.pop()),new L(f.line,f.to)):new L(f.line,f.from)},moveTillCharacter:function(e,t,n){var e=Re(e,n.repeat,n.forward,n.selectedCharacter),r=n.forward?-1:1;return Ae(r,n),e?(e.ch+=r,e):null},moveToCharacter:function(e,t,n){var r=n.repeat;return Ae(0,n),Re(e,r,n.forward,n.selectedCharacter)||t},moveToSymbol:function(e,t,n){return function(e,t,n,r){var o=B(e.getCursor()),i=n?1:-1,a=n?e.lineCount():-1,s=o.ch,l=o.line,c=e.getLine(l),u={lineText:c,nextCh:c.charAt(s),lastCh:null,index:s,symb:r,reverseSymb:(n?{\")\":\"(\",\"}\":\"{\"}:{\"(\":\")\",\"{\":\"}\"})[r],forward:n,depth:0,curMoveThrough:!1},c=be[r];if(!c)return o;var s=Le[c].init,p=Le[c].isComplete;s&&s(u);for(;l!==a&&t;){var h;u.index+=i,u.nextCh=u.lineText.charAt(u.index),u.nextCh||(l+=i,u.lineText=e.getLine(l)||\"\",0<i?u.index=0:(h=u.lineText.length,u.index=0<h?h-1:0),u.nextCh=u.lineText.charAt(u.index)),p(u)&&(o.line=l,o.ch=u.index,t--)}if(u.nextCh||u.curMoveThrough)return new L(l,u.index);return o}(e,n.repeat,n.forward,n.selectedCharacter)||t},moveToColumn:function(e,t,n,r){var n=n.repeat;return r.lastHPos=n-1,r.lastHSPos=e.charCoords(t,\"div\").left,r=n,n=(t=e).getCursor().line,I(t,new L(n,r-1))},moveToEol:function(e,t,n,r){return Te(e,t,n,r,!1)},moveToFirstNonWhiteSpaceCharacter:function(e,t){return new L(t.line,S(e.getLine(t.line)))},moveToMatchedSymbol:function(e,t){for(var n,r=t.line,o=t.ch,i=e.getLine(r);o<i.length;o++)if((a=i.charAt(o))&&-1!=\"()[]{}\".indexOf(a)){var a=e.getTokenTypeAt(new L(r,o+1));if(\"string\"!==a&&\"comment\"!==a)break}return o<i.length?(n=\"<\"===o||\">\"===o?/[(){}[\\]<>]/:/[(){}[\\]]/,e.findMatchingBracket(new L(r,o),{bracketRegex:n}).to):t},moveToStartOfLine:function(e,t){return new L(t.line,0)},moveToLineOrEdgeOfDocument:function(e,t,n){var r=n.forward?e.lastLine():e.firstLine();return n.repeatIsExplicit&&(r=n.repeat-e.getOption(\"firstLineNumber\")),new L(r,S(e.getLine(r)))},moveToStartOfDisplayLine:function(e){return e.execCommand(\"goLineLeft\"),e.getCursor()},moveToEndOfDisplayLine:function(e){e.execCommand(\"goLineRight\");e=e.getCursor();return\"before\"==e.sticky&&e.ch--,e},textObjectManipulation:function(e,t,n,r){var o=n.selectedCharacter,i=(\"b\"==o?o=\"(\":\"B\"==o&&(o=\"{\"),!n.textObjectInner);if({\"(\":\")\",\")\":\"(\",\"{\":\"}\",\"}\":\"{\",\"[\":\"]\",\"]\":\"[\",\"<\":\">\",\">\":\"<\"}[o])a=function(e,t,n,r){var o,i={\"(\":/[()]/,\")\":/[()]/,\"[\":/[[\\]]/,\"]\":/[[\\]]/,\"{\":/[{}]/,\"}\":/[{}]/,\"<\":/[<>]/,\">\":/[<>]/}[n],n={\"(\":\"(\",\")\":\"(\",\"[\":\"[\",\"]\":\"[\",\"{\":\"{\",\"}\":\"{\",\"<\":\"<\",\">\":\"<\"}[n],n=e.getLine(t.line).charAt(t.ch)===n?1:0;if(o=e.scanForBracket(new L(t.line,t.ch+n),-1,void 0,{bracketRegex:i}),e=e.scanForBracket(new L(t.line,t.ch+n),1,void 0,{bracketRegex:i}),!o||!e)return{start:t,end:t};o=o.pos,e=e.pos,(o.line==e.line&&o.ch>e.ch||o.line>e.line)&&(n=o,o=e,e=n);r?e.ch+=1:o.ch+=1;return{start:o,end:e}}(e,t,o,i);else if({\"'\":!0,'\"':!0,\"`\":!0}[o])a=function(e,t,n,r){var o,i,a,s,t=B(t),l=e.getLine(t.line).split(\"\"),e=l.indexOf(n);t.ch<e?t.ch=e:e<t.ch&&l[t.ch]==n&&(i=t.ch,--t.ch);if(l[t.ch]!=n||i)for(a=t.ch;-1<a&&!o;a--)l[a]==n&&(o=a+1);else o=t.ch+1;if(o&&!i)for(a=o,s=l.length;a<s&&!i;a++)l[a]==n&&(i=a);if(!o||!i)return{start:t,end:t};r&&(--o,++i);return{start:new L(t.line,o),end:new L(t.line,i)}}(e,t,o,i);else if(\"W\"===o)a=Me(e,i,0,!0);else if(\"w\"===o)a=Me(e,i,0,!1);else if(\"p\"===o){var a=Ee(e,t,n.repeat,0,i);n.linewise=!0,r.visualMode?r.visualLine||(r.visualLine=!0):((r=r.inputState.operatorArgs)&&(r.linewise=!0),a.end.line--)}else if(\"t\"===o)a=function(e,t,n){var r=t;if(!b.findMatchingTag||!b.findEnclosingTag)return{start:r,end:r};e=b.findMatchingTag(e,t)||b.findEnclosingTag(e,t);if(!e||!e.open||!e.close)return{start:r,end:r};if(n)return{start:e.open.from,end:e.close.to};return{start:e.open.to,end:e.close.from}}(e,t,i);else{if(\"s\"!==o)return null;var r=e.getLine(t.line),o=(0<t.ch&&h(r[t.ch])&&--t.ch,Oe(e,t,n.repeat,1,i)),r=Oe(e,t,n.repeat,-1,i);a={start:r=A(e.getLine(r.line)[r.ch])&&A(e.getLine(o.line)[o.ch-1])?{line:r.line,ch:r.ch+1}:r,end:o}}return e.state.vim.visualMode?(t=e,n=a.start,i=a.end,o=(r=t.state.vim.sel).head,r=r.anchor,N(i,n)&&(e=i,i=n,n=e),N(o,r)?(o=P(n,o),r=j(r,i)):(r=P(n,r),-1==(o=y(o=j(o,i),0,-1)).ch&&o.line!=t.firstLine()&&(o=new L(o.line-1,_(t,o.line-1)))),[r,o]):[a.start,a.end]},repeatLastCharacterSearch:function(e,t,n){var r=R.lastCharacterSearch,o=n.repeat,i=n.forward===r.forward,a=(r.increment?1:0)*(i?-1:1),o=(e.moveH(-a,\"char\"),Re(e,o,n.inclusive=i,r.selectedCharacter));return o?(o.ch+=a,o):(e.moveH(a,\"char\"),t)}};function he(e,t){for(var n=[],r=0;r<t;r++)n.push(e);return n}var de={change:function(e,t,n){var r,o,i=e.state.vim,a=n[0].anchor,s=n[0].head,s=i.visualMode?t.fullLine?(s.ch=Number.MAX_VALUE,s.line--,e.setSelection(a,s),r=e.getSelection(),e.replaceSelection(\"\"),a):(r=e.getSelection(),o=he(\"\",n.length),e.replaceSelections(o),P(n[0].head,n[0].anchor)):(r=e.getRange(a,s),\"moveByWords\"!=(o=i.lastEditInputState||{}).motion||A(r)||(i=/\\s+$/.exec(r))&&o.motionArgs&&o.motionArgs.forward&&(s=y(s,0,-i[0].length),r=r.slice(0,-i[0].length)),o=new L(a.line-1,Number.MAX_VALUE),i=e.firstLine()==e.lastLine(),s.line>e.lastLine()&&t.linewise&&!i?e.replaceRange(\"\",o,s):e.replaceRange(\"\",a,s),t.linewise&&(i||(e.setCursor(o),b.commands.newlineAndIndent(e)),a.ch=Number.MAX_VALUE),a);R.registerController.pushText(t.registerName,\"change\",r,t.linewise,1<n.length),fe.enterInsertMode(e,{head:s},e.state.vim)},delete:function(e,t,n){var r,o,i,a=e.state.vim;return a.visualBlock?(r=e.getSelection(),o=he(\"\",n.length),e.replaceSelections(o),o=P(n[0].head,n[0].anchor)):(i=n[0].anchor,n=n[0].head,t.linewise&&n.line!=e.firstLine()&&i.line==e.lastLine()&&i.line==n.line-1&&(i.line==e.firstLine()?i.ch=0:i=new L(i.line-1,_(e,i.line-1))),r=e.getRange(i,n),e.replaceRange(\"\",i,n),o=i,t.linewise&&(o=O.moveToFirstNonWhiteSpaceCharacter(e,i))),R.registerController.pushText(t.registerName,\"delete\",r,t.linewise,a.visualBlock),I(e,o)},indent:function(e,t,n){var r=e.state.vim;if(e.indentMore)for(var o=r.visualMode?t.repeat:1,i=0;i<o;i++)t.indentRight?e.indentMore():e.indentLess();else{var a=n[0].anchor.line,s=(r.visualBlock?n[n.length-1].anchor:n[0].head).line,o=r.visualMode?t.repeat:1;t.linewise&&s--;for(var l=a;l<=s;l++)for(i=0;i<o;i++)e.indentLine(l,t.indentRight)}return O.moveToFirstNonWhiteSpaceCharacter(e,n[0].anchor)},indentAuto:function(e,t,n){return e.execCommand(\"indentAuto\"),O.moveToFirstNonWhiteSpaceCharacter(e,n[0].anchor)},changeCase:function(e,t,n,r,o){for(var i=e.getSelections(),a=[],s=t.toLower,l=0;l<i.length;l++){var c=i[l],u=\"\";if(!0===s)u=c.toLowerCase();else if(!1===s)u=c.toUpperCase();else for(var p=0;p<c.length;p++){var h=c.charAt(p);u+=d(h)?h.toLowerCase():h.toUpperCase()}a.push(u)}return e.replaceSelections(a),t.shouldMoveCursor?o:!e.state.vim.visualMode&&t.linewise&&n[0].anchor.line+1==n[0].head.line?O.moveToFirstNonWhiteSpaceCharacter(e,r):t.linewise?r:P(n[0].anchor,n[0].head)},yank:function(e,t,n,r){var o=e.state.vim,e=e.getSelection(),n=o.visualMode?P(o.sel.anchor,o.sel.head,n[0].head,n[0].anchor):r;return R.registerController.pushText(t.registerName,\"yank\",e,t.linewise,o.visualBlock),n}};var fe={jumpListWalk:function(e,t,n){n.visualMode||(n=t.repeat,t=t.forward,n=(n=(t=R.jumpList.move(e,t?n:-n))?t.find():void 0)||e.getCursor(),e.setCursor(n))},scroll:function(e,t,n){var r,o,i;n.visualMode||(n=t.repeat||1,r=e.defaultTextHeight(),o=e.getScrollInfo().top,n=r*n,o=t.forward?o+n:o-n,n=B(e.getCursor()),i=e.charCoords(n,\"local\"),t.forward?o>i.top?(n.line+=(o-i.top)/r,n.line=Math.ceil(n.line),e.setCursor(n),i=e.charCoords(n,\"local\"),e.scrollTo(null,i.top)):e.scrollTo(null,o):(t=o+e.getScrollInfo().clientHeight)<i.bottom?(n.line-=(i.bottom-t)/r,n.line=Math.floor(n.line),e.setCursor(n),i=e.charCoords(n,\"local\"),e.scrollTo(null,i.bottom-e.getScrollInfo().clientHeight)):e.scrollTo(null,o))},scrollToCursor:function(e,t){var n=e.getCursor().line,r=e.charCoords(new L(n,0),\"local\"),o=e.getScrollInfo().clientHeight,i=r.top;switch(t.position){case\"center\":i=r.bottom-o/2;break;case\"bottom\":var a=new L(n,e.getLine(n).length-1),i=i-o+(e.charCoords(a,\"local\").bottom-i)}e.scrollTo(null,i)},replayMacro:function(e,t,n){var r=t.selectedCharacter,o=t.repeat,i=R.macroModeState;for(\"@\"==r?r=i.latestRegister:i.latestRegister=r;o--;){m=f=m=g=d=h=p=u=c=l=s=a=void 0;var a=e,s=n,l=i,c=r,u=R.registerController.getRegister(c);if(\":\"==c)u.keyBuffer[0]&&k.processCommand(a,u.keyBuffer[0]),l.isPlaying=!1;else{var p=u.keyBuffer,h=0;l.isPlaying=!0,l.replaySearchQueries=u.searchQueries.slice(0);for(var d=0;d<p.length;d++)for(var f,m,g=p[d];g;)m=/<\\w+-.+?>|<\\w+>|./.exec(g),f=m[0],g=g.substring(m.index+f.length),v.handleKey(a,f,\"macro\"),s.insertMode&&(m=u.insertModeChanges[h++].changes,R.macroModeState.lastInsertModeChanges.changes=m,nt(a,m,1),C(a));l.isPlaying=!1}}},enterMacroRecordMode:function(e,t){var n=R.macroModeState,t=t.selectedCharacter;R.registerController.isValidRegister(t)&&n.enterMacroRecordMode(e,t)},toggleOverwrite:function(e){e.state.overwrite?(e.toggleOverwrite(!1),e.setOption(\"keyMap\",\"vim-insert\"),b.signal(e,\"vim-mode-change\",{mode:\"insert\"})):(e.toggleOverwrite(!0),e.setOption(\"keyMap\",\"vim-replace\"),b.signal(e,\"vim-mode-change\",{mode:\"replace\"}))},enterInsertMode:function(e,t,n){if(!e.getOption(\"readOnly\")){n.insertMode=!0,n.insertModeRepeat=t&&t.repeat||1;var r=t?t.insertAt:null,o=n.sel,i=t.head||e.getCursor(\"head\"),a=e.listSelections().length;if(\"eol\"==r)i=new L(i.line,_(e,i.line));else if(\"bol\"==r)i=new L(i.line,0);else if(\"charAfter\"==r)i=y(i,0,1);else if(\"firstNonBlank\"==r)i=O.moveToFirstNonWhiteSpaceCharacter(e,i);else if(\"startOfSelectedArea\"==r){if(!n.visualMode)return;n.visualBlock?(i=new L(Math.min(o.head.line,o.anchor.line),Math.min(o.head.ch,o.anchor.ch)),a=Math.abs(o.head.line-o.anchor.line)+1):i=o.head.line<o.anchor.line?o.head:new L(o.anchor.line,0)}else if(\"endOfSelectedArea\"==r){if(!n.visualMode)return;n.visualBlock?(i=new L(Math.min(o.head.line,o.anchor.line),Math.max(o.head.ch,o.anchor.ch)+1),a=Math.abs(o.head.line-o.anchor.line)+1):i=o.head.line>=o.anchor.line?y(o.head,0,1):new L(o.anchor.line,0)}else if(\"inplace\"==r){if(n.visualMode)return}else\"lastEdit\"==r&&(i=Je(e)||i);e.setOption(\"disableInput\",!1),t&&t.replace?(e.toggleOverwrite(!0),e.setOption(\"keyMap\",\"vim-replace\"),b.signal(e,\"vim-mode-change\",{mode:\"replace\"})):(e.toggleOverwrite(!1),e.setOption(\"keyMap\",\"vim-insert\"),b.signal(e,\"vim-mode-change\",{mode:\"insert\"})),R.macroModeState.isPlaying||(e.on(\"change\",Xe),b.on(e.getInputField(),\"keydown\",et)),n.visualMode&&D(e),Ce(e,i,a)}},toggleVisualMode:function(e,t,n){var r=t.repeat,o=e.getCursor();n.visualMode?n.visualLine^t.linewise||n.visualBlock^t.blockwise?(n.visualLine=!!t.linewise,n.visualBlock=!!t.blockwise,b.signal(e,\"vim-mode-change\",{mode:\"visual\",subMode:n.visualLine?\"linewise\":n.visualBlock?\"blockwise\":\"\"}),H(e)):D(e):(n.visualMode=!0,n.visualLine=!!t.linewise,n.visualBlock=!!t.blockwise,t=I(e,new L(o.line,o.ch+r-1)),n.sel={anchor:o,head:t},b.signal(e,\"vim-mode-change\",{mode:\"visual\",subMode:n.visualLine?\"linewise\":n.visualBlock?\"blockwise\":\"\"}),H(e),V(e,n,\"<\",P(o,t)),V(e,n,\">\",j(o,t)))},reselectLastSelection:function(e,t,n){var r,o,i=n.lastSelection;n.visualMode&&we(e,n),i&&(r=i.anchorMark.find(),o=i.headMark.find(),r&&o&&(n.sel={anchor:r,head:o},n.visualMode=!0,n.visualLine=i.visualLine,n.visualBlock=i.visualBlock,H(e),V(e,n,\"<\",P(r,o)),V(e,n,\">\",j(r,o)),b.signal(e,\"vim-mode-change\",{mode:\"visual\",subMode:n.visualLine?\"linewise\":n.visualBlock?\"blockwise\":\"\"})))},joinLines:function(e,t,n){n.visualMode?(o=e.getCursor(\"anchor\"),N(r=e.getCursor(\"head\"),o)&&(s=r,r=o,o=s),r.ch=_(e,r.line)-1):(c=Math.max(t.repeat,2),o=e.getCursor(),r=I(e,new L(o.line+c-1,1/0)));for(var r,o,i=0,a=o.line;a<r.line;a++){var i=_(e,o.line),s=new L(o.line+1,_(e,o.line+1)),l=e.getRange(o,s),l=t.keepSpaces?l.replace(/\\n\\r?/g,\"\"):l.replace(/\\n\\s*/g,\" \");e.replaceRange(l,o,s)}var c=new L(o.line,i);n.visualMode&&D(e,!1),e.setCursor(c)},newLineAndEnterInsertMode:function(e,t,n){n.insertMode=!0;var r=B(e.getCursor());r.line!==e.firstLine()||t.after?(r.line=t.after?r.line:r.line-1,r.ch=_(e,r.line),e.setCursor(r),(b.commands.newlineAndIndentContinueComment||b.commands.newlineAndIndent)(e)):(e.replaceRange(\"\\n\",new L(e.firstLine(),0)),e.setCursor(e.firstLine(),0)),this.enterInsertMode(e,{repeat:t.repeat},n)},paste:function(n,e,t){var r=B(n.getCursor()),o=R.registerController.getRegister(e.registerName);if(c=o.toString()){e.matchIndent&&(i=n.getOption(\"tabSize\"),a=function(e){var t=e.split(\"\\t\").length-1,e=e.split(\" \").length-1;return t*i+e},g=n.getLine(n.getCursor().line),s=a(g.match(/^\\s*/)[0]),g=c.replace(/\\n$/,\"\"),v=c!==g,l=a(c.match(/^\\s*/)[0]),c=g.replace(/^\\s*/gm,function(e){var t,e=s+(a(e)-l);return e<0?\"\":n.getOption(\"indentWithTabs\")?(t=Math.floor(e/i),Array(t+1).join(\"\\t\")):Array(e+1).join(\" \")}),c+=v?\"\\n\":\"\"),1<e.repeat&&(c=Array(e.repeat+1).join(c));var i,a,s,l,c,u,p,h,d,f,m,g=o.linewise,v=o.blockwise;if(v){c=c.split(\"\\n\"),g&&c.pop();for(var y=0;y<c.length;y++)c[y]=\"\"==c[y]?\" \":c[y];r.ch+=e.after?1:0,r.ch=Math.min(_(n,r.line),r.ch)}else g?t.visualMode?c=t.visualLine?c.slice(0,-1):\"\\n\"+c.slice(0,c.length-1)+\"\\n\":e.after?(c=\"\\n\"+c.slice(0,c.length-1),r.ch=_(n,r.line)):r.ch=0:r.ch+=e.after?1:0;if(t.visualMode){t.lastPastedText=c,f=n,m=t.lastSelection;var k,o=(t.visualMode?function(){var e=f.listSelections(),t=e[0],e=e[e.length-1];return[N(t.anchor,t.head)?t.anchor:t.head,N(e.anchor,e.head)?e.head:e.anchor]}:function(){var e=f.getCursor(),t=f.getCursor(),n=m.visualBlock;if(n){for(var r=n.width,n=n.height,t=new L(e.line+n,e.ch+r),o=[],i=e.line;i<t.line;i++){var a=new L(i,e.ch),s=new L(i,t.ch);o.push({anchor:a,head:s})}f.setSelections(o)}else{var n=m.anchorMark.find(),r=m.headMark.find(),l=r.line-n.line,r=r.ch-n.ch;t={line:t.line+l,ch:l?t.ch:r+t.ch},m.visualLine&&(e=new L(e.line,0),t=new L(t.line,_(f,t.line))),f.setSelection(e,t)}return[e,t]})(),C=o[0],o=o[1],w=n.getSelection(),x=n.listSelections(),x=new Array(x.length).join(\"1\").split(\"1\");t.lastSelection&&(k=t.lastSelection.headMark.find()),R.registerController.unnamedRegister.setText(w),w=v?(n.replaceSelections(x),o=new L(C.line+c.length-1,C.ch),n.setCursor(C),ke(n,o),n.replaceSelections(c),C):t.visualBlock?(n.replaceSelections(x),n.setCursor(C),n.replaceRange(c,C,C),C):(n.replaceRange(c,C,o),n.posFromIndex(n.indexFromPos(C)+c.length-1)),k&&(t.lastSelection.headMark=n.setBookmark(k)),g&&(w.ch=0)}else if(v){n.setCursor(r);for(y=0;y<c.length;y++){var M=r.line+y;M>n.lastLine()&&n.replaceRange(\"\\n\",new L(M,0)),_(n,M)<r.ch&&(p=n,M=M,h=r.ch,d=void 0,d=_(p,M),h=new Array(h-d+1).join(\" \"),p.setCursor(new L(M,d)),p.replaceRange(h,p.getCursor()))}n.setCursor(r),ke(n,new L(r.line+c.length-1,r.ch)),n.replaceSelections(c),w=r}else n.replaceRange(c,r),w=g&&e.after?new L(r.line+1,S(n.getLine(r.line+1))):g&&!e.after?new L(r.line,S(n.getLine(r.line))):!g&&e.after?(u=n.indexFromPos(r),n.posFromIndex(u+c.length-1)):(u=n.indexFromPos(r),n.posFromIndex(u+c.length));t.visualMode&&D(n,!1),n.setCursor(w)}},undo:function(e,t){e.operation(function(){ge(e,b.commands.undo,t.repeat)(),e.setCursor(e.getCursor(\"anchor\"))})},redo:function(e,t){ge(e,b.commands.redo,t.repeat)()},setRegister:function(e,t,n){n.inputState.registerName=t.selectedCharacter},setMark:function(e,t,n){V(e,n,t.selectedCharacter,e.getCursor())},replace:function(e,t,n){var r,o=t.selectedCharacter,i=e.getCursor(),a=e.listSelections(),s=n.visualMode?(i=e.getCursor(\"start\"),e.getCursor(\"end\")):(s=e.getLine(i.line),(t=i.ch+t.repeat)>s.length&&(t=s.length),new L(i.line,t));\"\\n\"==o?(n.visualMode||e.replaceRange(\"\",i,s),(b.commands.newlineAndIndentContinueComment||b.commands.newlineAndIndent)(e)):(t=(t=e.getRange(i,s)).replace(/[^\\n]/g,o),n.visualBlock?(r=new Array(e.getOption(\"tabSize\")+1).join(\" \"),t=(t=e.getSelection()).replace(/\\t/g,r).replace(/[^\\n]/g,o).split(\"\\n\"),e.replaceSelections(t)):e.replaceRange(t,i,s),n.visualMode?(i=N(a[0].anchor,a[0].head)?a[0].anchor:a[0].head,e.setCursor(i),D(e,!1)):e.setCursor(y(s,0,-1)))},incrementNumberToken:function(e,t){for(var n,r,o,i,a,s,l,c=e.getCursor(),u=e.getLine(c.line),p=/(-?)(?:(0x)([\\da-f]+)|(0b|0|)(\\d+))/gi;null!==(n=p.exec(u))&&(o=(r=n.index)+n[0].length,!(c.ch<o)););!t.backtrack&&o<=c.ch||n&&(i=n[2]||n[4],l=n[3]||n[5],a=t.increase?1:-1,s={\"0b\":2,0:8,\"\":10,\"0x\":16}[i.toLowerCase()],a=(parseInt(n[1]+l,s)+a*t.repeat).toString(s),t=i?new Array(l.length-a.length+1+n[1].length).join(\"0\"):\"\",a=\"-\"===a.charAt(0)?\"-\"+i+t+a.substr(1):i+t+a,s=new L(c.line,r),l=new L(c.line,o),e.replaceRange(a,s,l),e.setCursor(new L(c.line,r+a.length-1)))},repeatLastEdit:function(e,t,n){var r;n.lastEditInputState&&((r=t.repeat)&&t.repeatIsExplicit?n.lastEditInputState.repeatOverride=r:r=n.lastEditInputState.repeatOverride||r,tt(e,n,r,!1))},indent:function(e,t){e.indentLine(e.getCursor().line,t.indentRight)},exitInsertMode:C};function I(e,t){var n=e.state.vim,n=n.insertMode||n.visualMode,r=Math.min(Math.max(e.firstLine(),t.line),e.lastLine()),e=_(e,r)-1+!!n,n=Math.min(Math.max(0,t.ch),e);return new L(r,n)}function me(e){var t,n={};for(t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}function y(e,t,n){return\"object\"==typeof t&&(n=t.ch,t=t.line),new L(e.line+t,e.ch+n)}function ge(t,n,r){return function(){for(var e=0;e<r;e++)n(t)}}function B(e){return new L(e.line,e.ch)}function K(e,t){return e.ch==t.ch&&e.line==t.line}function N(e,t){return e.line<t.line||e.line==t.line&&e.ch<t.ch}function P(e,t){return N(e,t=2<arguments.length?P.apply(void 0,Array.prototype.slice.call(arguments,1)):t)?e:t}function j(e,t){return N(e,t=2<arguments.length?j.apply(void 0,Array.prototype.slice.call(arguments,1)):t)?t:e}function ve(e,t,n){e=N(e,t),t=N(t,n);return e&&t}function _(e,t){return e.getLine(t).length}function ye(e){return e.trim?e.trim():e.replace(/^\\s+|\\s+$/g,\"\")}function ke(e,t){var n=[],r=e.listSelections(),o=B(e.clipPos(t)),i=!K(t,o),a=function(e,t,n){for(var r=0;r<e.length;r++){var o=\"head\"!=n&&K(e[r].anchor,t),i=\"anchor\"!=n&&K(e[r].head,t);if(o||i)return r}return-1}(r,e.getCursor(\"head\")),s=K(r[a].head,r[a].anchor),l=r.length-1,a=a<l-a?l:0,l=r[a].anchor,c=Math.min(l.line,o.line),u=Math.max(l.line,o.line),p=l.ch,h=o.ch,o=r[a].head.ch-p,r=h-p;0<o&&r<=0?(p++,i||h--):o<0&&0<=r?(p--,s||h++):o<0&&-1==r&&(p--,h++);for(var d=c;d<=u;d++){var f={anchor:new L(d,p),head:new L(d,h)};n.push(f)}e.setSelections(n),t.ch=h,l.ch=p}function Ce(e,t,n){for(var r=[],o=0;o<n;o++){var i=y(t,o,0);r.push({anchor:i,head:i})}e.setSelections(r,0)}function we(e,t){var n=t.sel.anchor,r=t.sel.head;t.lastPastedText&&(r=e.posFromIndex(e.indexFromPos(n)+t.lastPastedText.length),t.lastPastedText=null),t.lastSelection={anchorMark:e.setBookmark(n),headMark:e.setBookmark(r),anchor:B(n),head:B(r),visualMode:t.visualMode,visualLine:t.visualLine,visualBlock:t.visualBlock}}function H(e,t,n){var r=e.state.vim,n=(t=t||r.sel,n||r.visualLine?\"line\":r.visualBlock?\"block\":\"char\"),r=xe(e,t,n);e.setSelections(r.ranges,r.primary)}function xe(e,t,n,r){var o=B(t.head),i=B(t.anchor);if(\"char\"==n)return r=r||N(t.head,t.anchor)?0:1,l=N(t.head,t.anchor)?1:0,o=y(t.head,0,r),{ranges:[{anchor:i=y(t.anchor,0,l),head:o}],primary:0};if(\"line\"==n)return N(t.head,t.anchor)?(o.ch=0,i.ch=_(e,i.line)):(i.ch=0,r=e.lastLine(),o.line>r&&(o.line=r),o.ch=_(e,o.line)),{ranges:[{anchor:i,head:o}],primary:0};if(\"block\"==n){for(var a=Math.min(i.line,o.line),s=i.ch,l=Math.max(i.line,o.line),c=o.ch,u=(s<c?c+=1:s+=1,l-a+1),t=o.line==a?0:u-1,p=[],h=0;h<u;h++)p.push({anchor:new L(a+h,s),head:new L(a+h,c)});return{ranges:p,primary:t}}}function D(e,t){var n=e.state.vim;!1!==t&&e.setCursor(I(e,n.sel.head)),we(e,n),n.visualMode=!1,n.visualLine=!1,n.visualBlock=!1,n.insertMode||b.signal(e,\"vim-mode-change\",{mode:\"normal\"})}function S(e){if(!e)return 0;var t=e.search(/\\S/);return-1==t?e.length:t}function Me(e,t,n,r,o){p=(i=e).getCursor(\"head\");for(var i=p=1==i.getSelection().length?P(p,i.getCursor(\"anchor\")):p,a=e.getLine(i.line),s=i.ch,l=(o?m:J)[0];!l(a.charAt(s));)if(++s>=a.length)return null;r?l=J[0]:(l=m[0])(a.charAt(s))||(l=m[1]);for(var c=s,u=s;l(a.charAt(c))&&c<a.length;)c++;for(;l(a.charAt(u))&&0<=u;)u--;if(u++,t){for(var p=c;/\\s/.test(a.charAt(c))&&c<a.length;)c++;if(p==c){for(e=u;/\\s/.test(a.charAt(u-1))&&0<u;)u--;u=u||e}}return{start:new L(i.line,u),end:new L(i.line,c)}}function Se(e,t,n){K(t,n)||R.jumpList.add(e,t,n)}function Ae(e,t){R.lastCharacterSearch.increment=e,R.lastCharacterSearch.forward=t.forward,R.lastCharacterSearch.selectedCharacter=t.selectedCharacter}var be={\"(\":\"bracket\",\")\":\"bracket\",\"{\":\"bracket\",\"}\":\"bracket\",\"[\":\"section\",\"]\":\"section\",\"*\":\"comment\",\"/\":\"comment\",m:\"method\",M:\"method\",\"#\":\"preprocess\"},Le={bracket:{isComplete:function(e){if(e.nextCh===e.symb){if(e.depth++,1<=e.depth)return!0}else e.nextCh===e.reverseSymb&&e.depth--;return!1}},section:{init:function(e){e.curMoveThrough=!0,e.symb=(e.forward?\"]\":\"[\")===e.symb?\"{\":\"}\"},isComplete:function(e){return 0===e.index&&e.nextCh===e.symb}},comment:{isComplete:function(e){var t=\"*\"===e.lastCh&&\"/\"===e.nextCh;return e.lastCh=e.nextCh,t}},method:{init:function(e){e.symb=\"m\"===e.symb?\"{\":\"}\",e.reverseSymb=\"{\"===e.symb?\"}\":\"{\"},isComplete:function(e){return e.nextCh===e.symb}},preprocess:{init:function(e){e.index=0},isComplete:function(e){if(\"#\"===e.nextCh){var t=e.lineText.match(/^#(\\w+)/)[1];if(\"endif\"===t){if(e.forward&&0===e.depth)return!0;e.depth++}else if(\"if\"===t){if(!e.forward&&0===e.depth)return!0;e.depth--}if(\"else\"===t&&0===e.depth)return!0}return!1}}};function Te(e,t,n,r,o){t=new L(t.line+n.repeat-1,1/0),n=e.clipPos(t);return n.ch--,o||(r.lastHPos=1/0,r.lastHSPos=e.charCoords(n,\"div\").left),t}function Re(e,t,n,r){for(var o,i=e.getCursor(),a=i.ch,s=0;s<t;s++){if(-1==(o=function(e,t,n,r,o){var i;r?-1==(i=t.indexOf(n,e+1))||o||--i:-1==(i=t.lastIndexOf(n,e-1))||o||(i+=1);return i}(a,e.getLine(i.line),r,n,!0)))return null;a=o}return new L(e.getCursor().line,o)}function V(e,t,n,r){ne(n,G)&&(t.marks[n]&&t.marks[n].clear(),t.marks[n]=e.setBookmark(r))}function Ee(t,e,n,r,o){var i=e.line,a=t.firstLine(),s=t.lastLine(),l=i;function c(e){return!t.getLine(e)}function u(e,t,n){return n?c(e)!=c(e+t):!c(e)&&c(e+t)}if(r){for(;a<=l&&l<=s&&0<n;)u(l,r)&&n--,l+=r;return new L(l,0)}for(var e=t.state.vim,p=(e.visualLine&&u(i,1,!0)&&(!u((e=e.sel.anchor).line,-1,!0)||o&&e.line==i||(i+=1)),c(i)),l=i;l<=s&&n;l++)!u(l,1,!0)||o&&c(l)==p||n--;for(e=new L(l,0),s<l&&!p?p=!0:o=!1,l=i;a<l&&(o&&c(l)!=p&&l!=i||!u(l,-1,!0));l--);return{start:new L(l,0),end:e}}function Oe(e,t,n,r,a){function s(e){e.pos+e.dir<0||e.pos+e.dir>=e.line.length?e.line=null:e.pos+=e.dir}for(var o={ln:t.line,pos:t.ch};0<n;)o=(r<0?function(e,t,n,r){var o={line:e=e.getLine(t),ln:t,pos:n,dir:r};if(\"\"===o.line)return{ln:o.ln,pos:o.pos};var i=o.pos;for(s(o);null!==o.line;){if(A(o.line[o.pos])||h(o.line[o.pos])){if(h(o.line[o.pos]))return a&&A(o.line[o.pos+1])?{ln:o.ln,pos:o.pos+1}:{ln:o.ln,pos:i}}else i=o.pos;s(o)}return o.line=e,a&&A(o.line[o.pos])?{ln:o.ln,pos:o.pos}:{ln:o.ln,pos:i}}:function(e,t,n,r){var o={line:e.getLine(t),ln:t,pos:n,dir:r};if(\"\"===o.line)return{ln:o.ln,pos:o.pos};var i=o.pos;for(s(o);null!==o.line;){if(h(o.line[i=o.pos])){if(a){for(s(o);null!==o.line&&A(o.line[o.pos]);)i=o.pos,s(o);return{ln:o.ln,pos:i+1}}return{ln:o.ln,pos:o.pos+1}}s(o)}return{ln:o.ln,pos:i+1}})(e,o.ln,o.pos,r),n--;return new L(o.ln,o.pos)}function Ie(){}function F(e){e=e.state.vim;return e.searchState_||(e.searchState_=new Ie)}function Be(e,t){var n=Ke(e,t)||[];if(!n.length)return[];var r=[];if(0===n[0]){for(var o=0;o<n.length;o++)\"number\"==typeof n[o]&&r.push(e.substring(n[o]+1,n[o+1]));return r}}function Ke(e,t){t=t||\"/\";for(var n=!1,r=[],o=0;o<e.length;o++){var i=e.charAt(o);n||i!=t||r.push(o),n=!n&&\"\\\\\"==i}return r}e(\"pcre\",!0,\"boolean\"),Ie.prototype={getQuery:function(){return R.query},setQuery:function(e){R.query=e},getOverlay:function(){return this.searchOverlay},setOverlay:function(e){this.searchOverlay=e},isReversed:function(){return R.isReversed},setReversed:function(e){R.isReversed=e},getScrollbarAnnotate:function(){return this.annotate},setScrollbarAnnotate:function(e){this.annotate=e}};var Ne={\"\\\\n\":\"\\n\",\"\\\\r\":\"\\r\",\"\\\\t\":\"\\t\"};function Pe(e){for(var t=!1,n=[],r=-1;r<e.length;r++){var o=e.charAt(r)||\"\",i=e.charAt(r+1)||\"\";Ne[o+i]?(n.push(Ne[o+i]),r++):t?(n.push(o),t=!1):\"\\\\\"===o?(t=!0,M.test(i)||\"$\"===i?n.push(\"$\"):\"/\"!==i&&\"\\\\\"!==i&&n.push(\"\\\\\")):(\"$\"===o&&n.push(\"$\"),n.push(o),\"/\"===i&&n.push(\"\\\\\"))}return n.join(\"\")}var je={\"\\\\/\":\"/\",\"\\\\\\\\\":\"\\\\\",\"\\\\n\":\"\\n\",\"\\\\r\":\"\\r\",\"\\\\t\":\"\\t\",\"\\\\&\":\"&\"};function _e(e,t,n){if(R.registerController.getRegister(\"/\").setText(e),e instanceof RegExp)return e;var r,o,i=Ke(e,\"/\");return i.length?(r=e.substring(0,i[0]),o=-1!=e.substring(i[0]).indexOf(\"i\")):r=e,r?(T(\"pcre\")||(r=function(e){for(var t=!1,n=[],r=-1;r<e.length;r++){var o=e.charAt(r)||\"\",i=e.charAt(r+1)||\"\",a=i&&-1!=\"|(){\".indexOf(i);t?(\"\\\\\"===o&&a||n.push(o),t=!1):\"\\\\\"===o?(t=!0,(a=i&&-1!=\"}\".indexOf(i)?!0:a)&&\"\\\\\"!==i||n.push(o)):(n.push(o),a&&\"\\\\\"!==i&&n.push(\"\\\\\"))}return n.join(\"\")}(r)),n&&(t=/^[^A-Z]*$/.test(r)),new RegExp(r,t||o?\"im\":\"m\")):null}function W(e){\"string\"==typeof e&&(e=document.createElement(e));for(var t,n=1;n<arguments.length;n++)if(t=arguments[n])if((t=\"object\"!=typeof t?document.createTextNode(t):t).nodeType)e.appendChild(t);else for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(\"$\"===r[0]?e.style[r.slice(1)]=t[r]:e.setAttribute(r,t[r]));return e}function $(e,t){t=W(\"div\",{$color:\"red\",$whiteSpace:\"pre\",class:\"cm-vim-message\"},t);e.openNotification?e.openNotification(t,{bottom:!0,duration:5e3}):alert(t.innerText)}function He(e,t){r=t.prefix,n=t.desc;var n,r=W(document.createDocumentFragment(),W(\"span\",{$fontFamily:\"monospace\",$whiteSpace:\"pre\"},r,W(\"input\",{type:\"text\",autocorrect:\"off\",autocapitalize:\"off\",spellcheck:\"false\"})),n&&W(\"span\",{$color:\"#888\"},n));e.openDialog?e.openDialog(r,t.onClose,{onKeyDown:t.onKeyDown,onKeyUp:t.onKeyUp,bottom:!0,selectValueOnOpen:!1,value:t.value}):(n=\"\",\"string\"!=typeof t.prefix&&t.prefix&&(n+=t.prefix.textContent),t.desc&&(n+=\" \"+t.desc),t.onClose(prompt(n,\"\")))}function U(e,t,n,r){if(t){var o=F(e),t=_e(t,!!n,!!r);if(t)return Ve(e,t),function(e,t){if(e instanceof RegExp&&t instanceof RegExp){for(var n=[\"global\",\"multiline\",\"ignoreCase\",\"source\"],r=0;r<n.length;r++){var o=n[r];if(e[o]!==t[o])return}return 1}}(t,o.getQuery())||o.setQuery(t),t}}var De=0;function Ve(o,i){clearTimeout(De),De=setTimeout(function(){var e,t,n,r;!o.state.vim||(t=(e=F(o)).getOverlay())&&i==t.query||(t&&o.removeOverlay(t),\"^\"==(n=i).source.charAt(0)&&(r=!0),t={token:function(e){if(r&&!e.sol())e.skipToEnd();else{var t=e.match(n,!1);if(t)return 0==t[0].length?(e.next(),\"searching\"):e.sol()||(e.backUp(1),n.exec(e.next()+t[0]))?(e.match(n),\"searching\"):(e.next(),null);for(;!e.eol()&&(e.next(),!e.match(n,!1)););}},query:n},o.addOverlay(t),o.showMatchesOnScrollbar&&(e.getScrollbarAnnotate()&&e.getScrollbarAnnotate().clear(),e.setScrollbarAnnotate(o.showMatchesOnScrollbar(i))),e.setOverlay(t))},50)}function Fe(i,a,s,l){return void 0===l&&(l=1),i.operation(function(){for(var e=i.getCursor(),t=i.getSearchCursor(s,e),n=0;n<l;n++){var r,o=t.find(a);if(0==n&&o&&K(t.from(),e)&&(r=a?t.from():t.to(),(o=t.find(a))&&!o[0]&&K(t.from(),r)&&i.getLine(r.line).length==r.ch&&(o=t.find(a))),!o&&!(t=i.getSearchCursor(s,a?new L(i.lastLine()):new L(i.firstLine(),0))).find(a))return}return t.from()})}function We(e){var t=F(e);e.removeOverlay(F(e).getOverlay()),t.setOverlay(null),t.getScrollbarAnnotate()&&(t.getScrollbarAnnotate().clear(),t.setScrollbarAnnotate(null))}function $e(e){var t=e.getScrollInfo(),n=e.coordsChar({left:0,top:6+t.top},\"local\"),t=t.clientHeight-10+t.top,e=e.coordsChar({left:0,top:t},\"local\");return{top:n.line,bottom:e.line}}function Ue(e,t,n){if(\"'\"==n||\"`\"==n)return R.jumpList.find(e,-1)||new L(0,0);if(\".\"==n)return Je(e);e=t.marks[n];return e&&e.find()}function Je(e){for(var t=e.doc.history.done,n=t.length;n--;)if(t[n].changes)return B(t[n].changes[0].to)}function qe(){this.buildCommandMap_()}qe.prototype={processCommand:function(e,t,n){var r=this;e.operation(function(){e.curOp.isVimOp=!0,r._processCommand(e,t,n)})},_processCommand:function(t,e,n){var r,o,i=t.state.vim,a=R.registerController.getRegister(\":\"),s=a.toString(),i=(i.visualMode&&D(t),new b.StringStream(e)),n=(a.setText(e),n||{});n.input=e;try{this.parseInput_(t,i,n)}catch(e){throw $(t,e.toString()),e}if(n.commandName){if(r=this.matchCommand_(n.commandName)){if(o=r.name,r.excludeFromCommandHistory&&a.setText(s),this.parseCommandArgs_(i,n,r),\"exToKey\"==r.type){for(var l=0;l<r.toKeys.length;l++)v.handleKey(t,r.toKeys[l],\"mapping\");return}if(\"exToEx\"==r.type)return void this.processCommand(t,r.toInput)}}else void 0!==n.line&&(o=\"move\");if(o)try{Qe[o](t,n),r&&r.possiblyAsync||!n.callback||n.callback()}catch(e){throw $(t,e.toString()),e}else $(t,'Not an editor command \":'+e+'\"')},parseInput_:function(e,t,n){t.eatWhile(\":\"),t.eat(\"%\")?(n.line=e.firstLine(),n.lineEnd=e.lastLine()):(n.line=this.parseLineSpec_(e,t),void 0!==n.line&&t.eat(\",\")&&(n.lineEnd=this.parseLineSpec_(e,t)));e=t.match(/^(\\w+|!!|@@|[!#&*<=>@~])/);return n.commandName=e?e[1]:t.match(/.*/)[0],n},parseLineSpec_:function(e,t){var n=t.match(/^(\\d+)/);if(n)return parseInt(n[1],10)-1;switch(t.next()){case\".\":return this.parseLineSpecOffset_(t,e.getCursor().line);case\"$\":return this.parseLineSpecOffset_(t,e.lastLine());case\"'\":var r=t.next(),r=Ue(e,e.state.vim,r);if(r)return this.parseLineSpecOffset_(t,r.line);throw new Error(\"Mark not set\");case\"-\":case\"+\":return t.backUp(1),this.parseLineSpecOffset_(t,e.getCursor().line);default:return void t.backUp(1)}},parseLineSpecOffset_:function(e,t){var n,e=e.match(/^([+-])?(\\d+)/);return e&&(n=parseInt(e[2],10),\"-\"==e[1]?t-=n:t+=n),t},parseCommandArgs_:function(e,t,n){e.eol()||(t.argString=e.match(/.*/)[0],e=n.argDelimiter||/\\s+/,(n=ye(t.argString).split(e)).length&&n[0]&&(t.args=n))},matchCommand_:function(e){for(var t=e.length;0<t;t--){var n=e.substring(0,t);if(this.commandMap_[n]){n=this.commandMap_[n];if(0===n.name.indexOf(e))return n}}return null},buildCommandMap_:function(){this.commandMap_={};for(var e=0;e<o.length;e++){var t=o[e],n=t.shortName||t.name;this.commandMap_[n]=t}},map:function(e,t,n){if(\":\"!=e&&\":\"==e.charAt(0)){if(n)throw Error(\"Mode not supported for ex mappings\");var r=e.substring(1);\":\"!=t&&\":\"==t.charAt(0)?this.commandMap_[r]={name:r,type:\"exToEx\",toInput:t.substring(1),user:!0}:this.commandMap_[r]={name:r,type:\"exToKey\",toKeys:t,user:!0}}else r=\":\"!=t&&\":\"==t.charAt(0)?{keys:e,type:\"keyToEx\",exArgs:{input:t.substring(1)}}:{keys:e,type:\"keyToKey\",toKeys:t},n&&(r.context=n),p.unshift(r)},unmap:function(e,t){if(\":\"!=e&&\":\"==e.charAt(0)){if(t)throw Error(\"Mode not supported for ex mappings\");var n=e.substring(1);if(this.commandMap_[n]&&this.commandMap_[n].user)return delete this.commandMap_[n],!0}else for(var r=e,o=0;o<p.length;o++)if(r==p[o].keys&&p[o].context===t)return p.splice(o,1),!0}};var Qe={colorscheme:function(e,t){!t.args||t.args.length<1?$(e,e.getOption(\"theme\")):e.setOption(\"theme\",t.args[0])},map:function(e,t,n){var r=t.args;!r||r.length<2?e&&$(e,\"Invalid mapping: \"+t.input):k.map(r[0],r[1],n)},imap:function(e,t){this.map(e,t,\"insert\")},nmap:function(e,t){this.map(e,t,\"normal\")},vmap:function(e,t){this.map(e,t,\"visual\")},unmap:function(e,t,n){var r=t.args;(!r||r.length<1||!k.unmap(r[0],n))&&e&&$(e,\"No such mapping: \"+t.input)},move:function(e,t){g.processCommand(e,e.state.vim,{type:\"motion\",motion:\"moveToLineOrEdgeOfDocument\",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0},repeatOverride:t.line+1})},set:function(e,t){var n=t.args,r=t.setCfg||{};if(!n||n.length<1)e&&$(e,\"Invalid mapping: \"+t.input);else{var n=n[0].split(\"=\"),o=n[0],n=n[1],i=!1;if(\"?\"==o.charAt(o.length-1)){if(n)throw Error(\"Trailing characters: \"+t.argString);o=o.substring(0,o.length-1),i=!0}void 0===n&&\"no\"==o.substring(0,2)&&(o=o.substring(2),n=!1);var t=a[o]&&\"boolean\"==a[o].type;t&&null==n&&(n=!0),!t&&void 0===n||i?(t=T(o,e,r))instanceof Error?$(e,t.message):$(e,!0===t||!1===t?\" \"+(t?\"\":\"no\")+o:\"  \"+o+\"=\"+t):(i=re(o,n,e,r))instanceof Error&&$(e,i.message)}},setlocal:function(e,t){t.setCfg={scope:\"local\"},this.set(e,t)},setglobal:function(e,t){t.setCfg={scope:\"global\"},this.set(e,t)},registers:function(e,t){var n=t.args,r=R.registerController.registers,o=\"----------Registers----------\\n\\n\";if(n)for(var n=n.join(\"\"),i=0;i<n.length;i++)a=n.charAt(i),R.registerController.isValidRegister(a)&&(o+='\"'+a+\"    \"+(r[a]||new l).toString()+\"\\n\");else for(var a in r){var s=r[a].toString();s.length&&(o+='\"'+a+\"    \"+s+\"\\n\")}$(e,o)},sort:function(e,o){var i,a,s,l,c;var t=function(){if(o.argString){var e=new b.StringStream(o.argString);if(e.eat(\"!\")&&(i=!0),!e.eol()){if(!e.eatSpace())return\"Invalid arguments\";var t=e.match(/([dinuox]+)?\\s*(\\/.+\\/)?\\s*/);if(!t&&!e.eol())return\"Invalid arguments\";if(t[1]){a=-1!=t[1].indexOf(\"i\"),s=-1!=t[1].indexOf(\"u\");var e=-1!=t[1].indexOf(\"d\")||-1!=t[1].indexOf(\"n\")&&1,n=-1!=t[1].indexOf(\"x\")&&1,r=-1!=t[1].indexOf(\"o\")&&1;if(1<e+n+r)return\"Invalid arguments\";l=(e?\"decimal\":n&&\"hex\")||r&&\"octal\"}t[2]&&(c=new RegExp(t[2].substr(1,t[2].length-2),a?\"i\":\"\"))}}}();if(t)$(e,t+\": \"+o.argString);else{var t=o.line||e.firstLine(),n=o.lineEnd||o.line||e.lastLine();if(t!=n){var t=new L(t,0),n=new L(n,_(e,n)),r=e.getRange(t,n).split(\"\\n\"),u=c||(\"decimal\"==l?/(-?)([\\d]+)/:\"hex\"==l?/(-?)(?:0x)?([0-9a-f]+)/i:\"octal\"==l?/([0-7]+)/:null),p=\"decimal\"==l?10:\"hex\"==l?16:\"octal\"==l?8:null,h=[],d=[];if(l||c)for(var f=0;f<r.length;f++){var m=c?r[f].match(c):null;m&&\"\"!=m[0]?h.push(m):(!c&&u.exec(r[f])?h:d).push(r[f])}else d=r;if(h.sort(c?function(e,t){var n;return i&&(n=e,e=t,t=n),a&&(e[0]=e[0].toLowerCase(),t[0]=t[0].toLowerCase()),e[0]<t[0]?-1:1}:y),c)for(f=0;f<h.length;f++)h[f]=h[f].input;else l||d.sort(y);if(r=i?h.concat(d):d.concat(h),s)for(var g,v=r,r=[],f=0;f<v.length;f++)v[f]!=g&&r.push(v[f]),g=v[f];e.replaceRange(r.join(\"\\n\"),t,n)}}function y(e,t){i&&(n=e,e=t,t=n),a&&(e=e.toLowerCase(),t=t.toLowerCase());var n=l&&u.exec(e),r=l&&u.exec(t);return n?parseInt((n[1]+n[2]).toLowerCase(),p)-parseInt((r[1]+r[2]).toLowerCase(),p):e<t?-1:1}},vglobal:function(e,t){this.global(e,t)},global:function(t,e){var n=e.argString;if(n){var r,o=\"v\"===e.commandName[0],i=void 0!==e.line?e.line:t.firstLine(),a=e.lineEnd||e.line||t.lastLine(),e=Be(n,\"/\");if(e.length&&(n=e[0],r=e.slice(1,e.length).join(\"/\")),n)try{U(t,n,!0,!0)}catch(e){return void $(t,\"Invalid regex: \"+n)}for(var s,l,c=F(t).getQuery(),u=[],p=i;p<=a;p++){var h=t.getLineHandle(p);c.test(h.text)!==o&&u.push(r?h:h.text)}r?(s=0,(l=function(){var e;s<u.length&&(e=u[s++],null==(e=t.getLineNumber(e))?l():(e=e+1+r,k.processCommand(t,e,{callback:l})))})()):$(t,u.join(\"\\n\"))}else $(t,\"Regular Expression missing from global\")},substitute:function(t,e){if(!t.getSearchCursor)throw new Error(\"Search feature not available. Requires searchcursor.js or any other getSearchCursor implementation.\");var n,r,o,i,a,s,l,c,u,p,h,d,f,m,g,v=e.argString,y=v?Be(v,v[0]):[],k=\"\",C=!1,w=!1;if(y.length)i=y[0],T(\"pcre\")&&\"\"!==i&&(i=new RegExp(i).source),void 0!==(k=y[1])&&(k=T(\"pcre\")?function(e){for(var t=new b.StringStream(e),n=[];!t.eol();){for(;t.peek()&&\"\\\\\"!=t.peek();)n.push(t.next());var r,o=!1;for(r in je)if(t.match(r,!0)){o=!0,n.push(je[r]);break}o||n.push(t.next())}return n.join(\"\")}(k.replace(/([^\\\\])&/g,\"$1$$&\")):Pe(k),R.lastSubstituteReplacePart=k),n=y[2]?y[2].split(\" \"):[];else if(v&&v.length)return void $(t,\"Substitutions should be of the form :s/pattern/replace/\");if(n&&(y=n[0],r=parseInt(n[1]),y&&(-1!=y.indexOf(\"c\")&&(C=!0),-1!=y.indexOf(\"g\")&&(w=!0),i=T(\"pcre\")?i+\"/\"+y:i.replace(/\\//g,\"\\\\/\")+\"/\"+y)),i)try{U(t,i,!0,!0)}catch(e){return void $(t,\"Invalid regex: \"+i)}function x(){o.operation(function(){for(;!g;)M(),S();A()})}function M(){var e=o.getRange(c.from(),c.to()).replace(u,p),t=c.to().line;c.replace(e),f=c.to().line,l+=f-t,m=f<t}function S(){for(;n=t=void 0,t=d&&B(c.to()),(n=(n=c.findNext())&&!n[0]&&t&&K(c.from(),t)?c.findNext():n)&&(t=c.from(),n=s,e=l,\"number\"!=typeof t&&(t=t.line),n instanceof Array?ne(t,n):\"number\"==typeof e?n<=t&&t<=e:t==n);)if(a||c.from().line!=f||m)return o.scrollIntoView(c.from(),30),o.setSelection(c.from(),c.to()),d=c.from(),void(g=!1);var e,t,n;g=!0}function A(e){e&&e(),o.focus(),d&&(o.setCursor(d),(e=o.state.vim).exMode=!1,e.lastHPos=e.lastHSPos=d.ch),h&&h()}void 0===(k=k||R.lastSubstituteReplacePart)?$(t,\"No previous substitute regular expression\"):(v=F(t).getQuery(),n=(void 0!==e.line?e:t.getCursor()).line,y=e.lineEnd||n,n==t.firstLine()&&y==t.lastLine()&&(y=1/0),r&&(y=(n=y)+r-1),i=I(t,new L(n,0)),r=t.getSearchCursor(v,i),o=t,i=C,a=w,s=n,l=y,c=r,u=v,p=k,h=e.callback,o.state.vim.exMode=!0,g=!1,S(),g?$(o,\"No matches for \"+u.source):i?He(o,{prefix:W(\"span\",\"replace with \",W(\"strong\",p),\" (y/n/a/q/l)\"),onKeyDown:function(e,t,n){switch(b.e_stop(e),b.keyName(e)){case\"Y\":M(),S();break;case\"N\":S();break;case\"A\":var r=h;h=void 0,o.operation(x),h=r;break;case\"L\":M();case\"Q\":case\"Esc\":case\"Ctrl-C\":case\"Ctrl-[\":A(n)}g&&A(n);return!0}}):(x(),h&&h()))},redo:b.commands.redo,undo:b.commands.undo,write:function(e){b.commands.save?b.commands.save(e):e.save&&e.save()},nohlsearch:function(e){We(e)},yank:function(e){var t=B(e.getCursor()).line,e=e.getLine(t);R.registerController.pushText(\"0\",\"yank\",e,!0,!0)},delmarks:function(e,t){if(t.argString&&ye(t.argString))for(var n=e.state.vim,r=new b.StringStream(ye(t.argString));!r.eol();){r.eatSpace();var o=r.pos;if(!r.match(/[a-zA-Z]/,!1))return void $(e,\"Invalid argument: \"+t.argString.substring(o));var i=r.next();if(r.match(\"-\",!0)){if(!r.match(/[a-zA-Z]/,!1))return void $(e,\"Invalid argument: \"+t.argString.substring(o));var a=i,s=r.next();if(!(te(a)&&te(s)||d(a)&&d(s)))return void $(e,\"Invalid argument: \"+a+\"-\");var l=a.charCodeAt(0),c=s.charCodeAt(0);if(c<=l)return void $(e,\"Invalid argument: \"+t.argString.substring(o));for(var u=0;u<=c-l;u++){var p=String.fromCharCode(l+u);delete n.marks[p]}}else delete n.marks[i]}else $(e,\"Argument required\")}},k=new qe;function C(e){var t=e.state.vim,n=R.macroModeState,r=R.registerController.getRegister(\".\"),o=n.isPlaying,i=n.lastInsertModeChanges;o||(e.off(\"change\",Xe),b.off(e.getInputField(),\"keydown\",et)),!o&&1<t.insertModeRepeat&&(tt(e,t,t.insertModeRepeat-1,!0),t.lastEditInputState.repeatOverride=t.insertModeRepeat),delete t.insertModeRepeat,t.insertMode=!1,e.setCursor(e.getCursor().line,e.getCursor().ch-1),e.setOption(\"keyMap\",\"vim\"),e.setOption(\"disableInput\",!0),e.toggleOverwrite(!1),r.setText(i.changes.join(\"\")),b.signal(e,\"vim-mode-change\",{mode:\"normal\"}),n.isRecording&&!(o=n).isPlaying&&(t=o.latestRegister,(t=R.registerController.getRegister(t))&&t.pushInsertModeChanges&&t.pushInsertModeChanges(o.lastInsertModeChanges))}function ze(e){p.unshift(e)}function Xe(e,t){var n,r=R.macroModeState,o=r.lastInsertModeChanges;if(!r.isPlaying)for(;t;)o.expectCursorActivityForChange=!0,1<o.ignoreCount?o.ignoreCount--:\"+input\"!=t.origin&&\"paste\"!=t.origin&&void 0!==t.origin||(1<(n=e.listSelections().length)&&(o.ignoreCount=n),n=t.text.join(\"\\n\"),o.maybeReset&&(o.changes=[],o.maybeReset=!1),n&&(e.state.overwrite&&!/\\n/.test(n)?o.changes.push([n]):o.changes.push(n))),t=t.next}function Ze(e){var t,n=e.state.vim;n.insertMode?(t=R.macroModeState).isPlaying||((t=t.lastInsertModeChanges).expectCursorActivityForChange?t.expectCursorActivityForChange=!1:t.maybeReset=!0):e.curOp.isVimOp||Ge(e,n)}function Ge(e,t){var n,r,o=e.getCursor(\"anchor\"),i=e.getCursor(\"head\");t.visualMode&&!e.somethingSelected()?D(e,!1):t.visualMode||t.insertMode||!e.somethingSelected()||(t.visualMode=!0,t.visualLine=!1,b.signal(e,\"vim-mode-change\",{mode:\"visual\"})),t.visualMode?(n=N(i,o)?0:-1,r=N(i,o)?-1:0,i=y(i,0,n),o=y(o,0,r),t.sel={anchor:o,head:i},V(e,t,\"<\",P(i,o)),V(e,t,\">\",j(i,o))):t.insertMode||(t.lastHPos=e.getCursor().ch)}function Ye(e){this.keyName=e}function et(e){var t=R.macroModeState.lastInsertModeChanges,n=b.keyName(e);!n||-1==n.indexOf(\"Delete\")&&-1==n.indexOf(\"Backspace\")||b.lookupKey(n,\"vim-insert\",function(){return t.maybeReset&&(t.changes=[],t.maybeReset=!1),t.changes.push(new Ye(n)),!0})}function tt(n,r,e,t){var o=R.macroModeState,i=(o.isPlaying=!0,!!r.lastEditActionCommand),a=r.inputState;function s(){i?g.processAction(n,r,r.lastEditActionCommand):g.evalInput(n,r)}function l(e){var t;0<o.lastInsertModeChanges.changes.length&&(e=r.lastEditActionCommand?e:1,t=o.lastInsertModeChanges,nt(n,t.changes,e))}if(r.inputState=r.lastEditInputState,i&&r.lastEditActionCommand.interlaceInsertRepeat)for(var c=0;c<e;c++)s(),l(1);else t||s(),l(e);r.inputState=a,r.insertMode&&!t&&C(n),o.isPlaying=!1}function nt(t,e,n){function r(e){return\"string\"==typeof e?b.commands[e](t):e(t),!0}var o=t.getCursor(\"head\"),i=R.macroModeState.lastInsertModeChanges.visualBlock;i&&(Ce(t,o,i+1),n=t.listSelections().length,t.setCursor(o));for(var a=0;a<n;a++){i&&t.setCursor(y(o,a,0));for(var s=0;s<e.length;s++){var l,c,u=e[s];u instanceof Ye?b.lookupKey(u.keyName,\"vim-insert\",r):\"string\"==typeof u?t.replaceSelection(u):(c=y(l=t.getCursor(),0,u[0].length),t.replaceRange(u[0],l,c),t.setCursor(c))}}i&&t.setCursor(y(o,0,1))}function rt(n){var r=new n.constructor;return Object.keys(n).forEach(function(e){var t=n[e];Array.isArray(t)?t=t.slice():t&&\"object\"==typeof t&&t.constructor!=Object&&(t=rt(t)),r[e]=t}),n.sel&&(r.sel={head:n.sel.head&&B(n.sel.head),anchor:n.sel.anchor&&B(n.sel.anchor)}),r}return b.keyMap.vim={attach:n,detach:t,call:s},e(\"insertModeEscKeysTimeout\",200,\"number\"),b.keyMap[\"vim-insert\"]={fallthrough:[\"default\"],attach:n,detach:t,call:s},b.keyMap[\"vim-replace\"]={Backspace:\"goCharLeft\",fallthrough:[\"vim-insert\"],attach:n,detach:t,call:s},le(),v}e.Vim=((e=e).Vim=t(e),e.Vim)});"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-keymap-vim/files/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": [\n\t\t{\n\t\t\t\"file\": \"keymap/vim.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/codemirror/keymap/vim.js\",\n\t\t\t\t\"module-type\": \"codemirror\"\n\t\t\t}\n\t\t}\n\t]\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-keymap-vim/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/codemirror-keymap-vim\",\n\t\"name\": \"CodeMirror Keymap Vim\",\n\t\"description\": \"Keymap compatible with Vim for CodeMirror\",\n\t\"parent-plugin\": \"$:/plugins/tiddlywiki/codemirror\",\n\t\"dependents\": [\"$:/plugins/tiddlywiki/codemirror-search-replace\",\"$:/plugins/tiddlywiki/codemirror-closebrackets\"],\n\t\"list\": \"readme\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-keymap-vim/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/codemirror-keymap-vim/readme\n\nThis plugin adds a ''Keymap'' with some of the most important ''Vim'' keyboard shortcuts\n\nFor information about available ''keyboard shortcuts'' see the [ext[CodeMirror vim demo|https://codemirror.net/demo/vim.html]]\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-mode-css/files/mode/css/css.js",
    "content": "!function(e){\"object\"==typeof exports&&\"object\"==typeof module?e(require(\"../../lib/codemirror\")):\"function\"==typeof define&&define.amd?define([\"../../lib/codemirror\"],e):e(CodeMirror)}(function(T){\"use strict\";function e(e){for(var t={},r=0;r<e.length;++r)t[e[r].toLowerCase()]=!0;return t}T.defineMode(\"css\",function(e,t){var a,i,r=t.inline,n=(t.propertyKeywords||(t=T.resolveMode(\"text/css\")),e.indentUnit),l=t.tokenHooks,o=t.documentTypes||{},s=t.mediaTypes||{},c=t.mediaFeatures||{},d=t.mediaValueKeywords||{},p=t.propertyKeywords||{},u=t.nonStandardPropertyKeywords||{},m=t.fontProperties||{},g=t.counterDescriptors||{},b=t.colorKeywords||{},h=t.valueKeywords||{},f=t.allowNested,k=t.lineComment,y=!0===t.supportsAtComponent,w=!1!==e.highlightNonStandardPropertyKeywords;function v(e,t){return a=t,e}function x(i){return function(e,t){for(var r,o=!1;null!=(r=e.next());){if(r==i&&!o){\")\"==i&&e.backUp(1);break}o=!o&&\"\\\\\"==r}return r!=i&&(o||\")\"==i)||(t.tokenize=null),a=\"string\"}}function z(e,t){return e.next(),e.match(/^\\s*[\\\"\\')]/,!1)?t.tokenize=null:t.tokenize=x(\")\"),a=\"(\",null}function j(e,t,r){this.type=e,this.indent=t,this.prev=r}function P(e,t,r,o){return e.context=new j(r,t.indentation()+(!1===o?0:n),e.context),r}function K(e){return e.context.prev&&(e.context=e.context.prev),e.context.type}function q(e,t,r){return _[r.context.type](e,t,r)}function C(e,t,r,o){for(var i=o||1;0<i;i--)r.context=r.context.prev;return q(e,t,r)}function B(e){e=e.current().toLowerCase();i=h.hasOwnProperty(e)?\"atom\":b.hasOwnProperty(e)?\"keyword\":\"variable\"}var _={top:function(e,t,r){if(\"{\"==e)return P(r,t,\"block\");if(\"}\"==e&&r.context.prev)return K(r);if(y&&/@component/i.test(e))return P(r,t,\"atComponentBlock\");if(/^@(-moz-)?document$/i.test(e))return P(r,t,\"documentTypes\");if(/^@(media|supports|(-moz-)?document|import)$/i.test(e))return P(r,t,\"atBlock\");if(/^@(font-face|counter-style)/i.test(e))return r.stateArg=e,\"restricted_atBlock_before\";if(/^@(-(moz|ms|o|webkit)-)?keyframes$/i.test(e))return\"keyframes\";if(e&&\"@\"==e.charAt(0))return P(r,t,\"at\");if(\"hash\"==e)i=\"builtin\";else if(\"word\"==e)i=\"tag\";else{if(\"variable-definition\"==e)return\"maybeprop\";if(\"interpolation\"==e)return P(r,t,\"interpolation\");if(\":\"==e)return\"pseudo\";if(f&&\"(\"==e)return P(r,t,\"parens\")}return r.context.type},block:function(e,t,r){var o;return\"word\"==e?(o=t.current().toLowerCase(),p.hasOwnProperty(o)?(i=\"property\",\"maybeprop\"):u.hasOwnProperty(o)?(i=w?\"string-2\":\"property\",\"maybeprop\"):f?(i=t.match(/^\\s*:(?:\\s|$)/,!1)?\"property\":\"tag\",\"block\"):(i+=\" error\",\"maybeprop\")):\"meta\"==e?\"block\":f||\"hash\"!=e&&\"qualifier\"!=e?_.top(e,t,r):(i=\"error\",\"block\")},maybeprop:function(e,t,r){return\":\"==e?P(r,t,\"prop\"):q(e,t,r)},prop:function(e,t,r){if(\";\"==e)return K(r);if(\"{\"==e&&f)return P(r,t,\"propBlock\");if(\"}\"==e||\"{\"==e)return C(e,t,r);if(\"(\"==e)return P(r,t,\"parens\");if(\"hash\"!=e||/^#([0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(t.current())){if(\"word\"==e)B(t);else if(\"interpolation\"==e)return P(r,t,\"interpolation\")}else i+=\" error\";return\"prop\"},propBlock:function(e,t,r){return\"}\"==e?K(r):\"word\"==e?(i=\"property\",\"maybeprop\"):r.context.type},parens:function(e,t,r){return\"{\"==e||\"}\"==e?C(e,t,r):\")\"==e?K(r):\"(\"==e?P(r,t,\"parens\"):\"interpolation\"==e?P(r,t,\"interpolation\"):(\"word\"==e&&B(t),\"parens\")},pseudo:function(e,t,r){return\"meta\"==e?\"pseudo\":\"word\"==e?(i=\"variable-3\",r.context.type):q(e,t,r)},documentTypes:function(e,t,r){return\"word\"==e&&o.hasOwnProperty(t.current())?(i=\"tag\",r.context.type):_.atBlock(e,t,r)},atBlock:function(e,t,r){return\"(\"==e?P(r,t,\"atBlock_parens\"):\"}\"==e||\";\"==e?C(e,t,r):\"{\"==e?K(r)&&P(r,t,f?\"block\":\"top\"):\"interpolation\"==e?P(r,t,\"interpolation\"):(\"word\"==e&&(e=t.current().toLowerCase(),i=\"only\"==e||\"not\"==e||\"and\"==e||\"or\"==e?\"keyword\":s.hasOwnProperty(e)?\"attribute\":c.hasOwnProperty(e)?\"property\":d.hasOwnProperty(e)?\"keyword\":p.hasOwnProperty(e)?\"property\":u.hasOwnProperty(e)?w?\"string-2\":\"property\":h.hasOwnProperty(e)?\"atom\":b.hasOwnProperty(e)?\"keyword\":\"error\"),r.context.type)},atComponentBlock:function(e,t,r){return\"}\"==e?C(e,t,r):\"{\"==e?K(r)&&P(r,t,f?\"block\":\"top\",!1):(\"word\"==e&&(i=\"error\"),r.context.type)},atBlock_parens:function(e,t,r){return\")\"==e?K(r):\"{\"==e||\"}\"==e?C(e,t,r,2):_.atBlock(e,t,r)},restricted_atBlock_before:function(e,t,r){return\"{\"==e?P(r,t,\"restricted_atBlock\"):\"word\"==e&&\"@counter-style\"==r.stateArg?(i=\"variable\",\"restricted_atBlock_before\"):q(e,t,r)},restricted_atBlock:function(e,t,r){return\"}\"==e?(r.stateArg=null,K(r)):\"word\"==e?(i=\"@font-face\"==r.stateArg&&!m.hasOwnProperty(t.current().toLowerCase())||\"@counter-style\"==r.stateArg&&!g.hasOwnProperty(t.current().toLowerCase())?\"error\":\"property\",\"maybeprop\"):\"restricted_atBlock\"},keyframes:function(e,t,r){return\"word\"==e?(i=\"variable\",\"keyframes\"):\"{\"==e?P(r,t,\"top\"):q(e,t,r)},at:function(e,t,r){return\";\"==e?K(r):\"{\"==e||\"}\"==e?C(e,t,r):(\"word\"==e?i=\"tag\":\"hash\"==e&&(i=\"builtin\"),\"at\")},interpolation:function(e,t,r){return\"}\"==e?K(r):\"{\"==e||\";\"==e?C(e,t,r):(\"word\"==e?i=\"variable\":\"variable\"!=e&&\"(\"!=e&&\")\"!=e&&(i=\"error\"),\"interpolation\")}};return{startState:function(e){return{tokenize:null,state:r?\"block\":\"top\",stateArg:null,context:new j(r?\"block\":\"top\",e||0,null)}},token:function(e,t){if(!t.tokenize&&e.eatSpace())return null;var r=(t.tokenize||function(e,t){var r=e.next();if(l[r]){var o=l[r](e,t);if(!1!==o)return o}return\"@\"==r?(e.eatWhile(/[\\w\\\\\\-]/),v(\"def\",e.current())):\"=\"==r||(\"~\"==r||\"|\"==r)&&e.eat(\"=\")?(a=\"compare\",null):'\"'==r||\"'\"==r?(t.tokenize=x(r),t.tokenize(e,t)):\"#\"==r?(e.eatWhile(/[\\w\\\\\\-]/),a=\"hash\",\"atom\"):\"!\"==r?(e.match(/^\\s*\\w*/),a=\"important\",\"keyword\"):/\\d/.test(r)||\".\"==r&&e.eat(/\\d/)?(e.eatWhile(/[\\w.%]/),a=\"unit\",\"number\"):\"-\"===r?/[\\d.]/.test(e.peek())?(e.eatWhile(/[\\w.%]/),a=\"unit\",\"number\"):e.match(/^-[\\w\\\\\\-]*/)?(e.eatWhile(/[\\w\\\\\\-]/),a=e.match(/^\\s*:/,!1)?\"variable-definition\":\"variable\",\"variable-2\"):e.match(/^\\w+-/)?a=\"meta\":void 0:/[,+>*\\/]/.test(r)?(a=\"select-op\",null):\".\"==r&&e.match(/^-?[_a-z][_a-z0-9-]*/i)?a=\"qualifier\":/[:;{}\\[\\]\\(\\)]/.test(r)?v(null,r):e.match(/^[\\w-.]+(?=\\()/)?(/^(url(-prefix)?|domain|regexp)$/i.test(e.current())&&(t.tokenize=z),a=\"variable\",\"variable callee\"):/[\\w\\\\\\-]/.test(r)?(e.eatWhile(/[\\w\\\\\\-]/),a=\"word\",\"property\"):a=null})(e,t);return r&&\"object\"==typeof r&&(a=r[1],r=r[0]),i=r,\"comment\"!=a&&(t.state=_[t.state](a,e,t)),i},indent:function(e,t){var e=e.context,t=t&&t.charAt(0),r=e.indent;return(e=\"prop\"!=e.type||\"}\"!=t&&\")\"!=t?e:e.prev).prev&&(\"}\"!=t||\"block\"!=e.type&&\"top\"!=e.type&&\"interpolation\"!=e.type&&\"restricted_atBlock\"!=e.type?(\")\"!=t||\"parens\"!=e.type&&\"atBlock_parens\"!=e.type)&&(\"{\"!=t||\"at\"!=e.type&&\"atBlock\"!=e.type)||(r=Math.max(0,e.indent-n)):r=(e=e.prev).indent),r},electricChars:\"}\",blockCommentStart:\"/*\",blockCommentEnd:\"*/\",blockCommentContinue:\" * \",lineComment:k,fold:\"brace\"}});var t=[\"domain\",\"regexp\",\"url\",\"url-prefix\"],r=e(t),o=[\"all\",\"aural\",\"braille\",\"handheld\",\"print\",\"projection\",\"screen\",\"tty\",\"tv\",\"embossed\"],i=e(o),a=[\"width\",\"min-width\",\"max-width\",\"height\",\"min-height\",\"max-height\",\"device-width\",\"min-device-width\",\"max-device-width\",\"device-height\",\"min-device-height\",\"max-device-height\",\"aspect-ratio\",\"min-aspect-ratio\",\"max-aspect-ratio\",\"device-aspect-ratio\",\"min-device-aspect-ratio\",\"max-device-aspect-ratio\",\"color\",\"min-color\",\"max-color\",\"color-index\",\"min-color-index\",\"max-color-index\",\"monochrome\",\"min-monochrome\",\"max-monochrome\",\"resolution\",\"min-resolution\",\"max-resolution\",\"scan\",\"grid\",\"orientation\",\"device-pixel-ratio\",\"min-device-pixel-ratio\",\"max-device-pixel-ratio\",\"pointer\",\"any-pointer\",\"hover\",\"any-hover\",\"prefers-color-scheme\",\"dynamic-range\",\"video-dynamic-range\"],n=e(a),l=[\"landscape\",\"portrait\",\"none\",\"coarse\",\"fine\",\"on-demand\",\"hover\",\"interlace\",\"progressive\",\"dark\",\"light\",\"standard\",\"high\"],s=e(l),c=[\"align-content\",\"align-items\",\"align-self\",\"alignment-adjust\",\"alignment-baseline\",\"all\",\"anchor-point\",\"animation\",\"animation-delay\",\"animation-direction\",\"animation-duration\",\"animation-fill-mode\",\"animation-iteration-count\",\"animation-name\",\"animation-play-state\",\"animation-timing-function\",\"appearance\",\"azimuth\",\"backdrop-filter\",\"backface-visibility\",\"background\",\"background-attachment\",\"background-blend-mode\",\"background-clip\",\"background-color\",\"background-image\",\"background-origin\",\"background-position\",\"background-position-x\",\"background-position-y\",\"background-repeat\",\"background-size\",\"baseline-shift\",\"binding\",\"bleed\",\"block-size\",\"bookmark-label\",\"bookmark-level\",\"bookmark-state\",\"bookmark-target\",\"border\",\"border-bottom\",\"border-bottom-color\",\"border-bottom-left-radius\",\"border-bottom-right-radius\",\"border-bottom-style\",\"border-bottom-width\",\"border-collapse\",\"border-color\",\"border-image\",\"border-image-outset\",\"border-image-repeat\",\"border-image-slice\",\"border-image-source\",\"border-image-width\",\"border-left\",\"border-left-color\",\"border-left-style\",\"border-left-width\",\"border-radius\",\"border-right\",\"border-right-color\",\"border-right-style\",\"border-right-width\",\"border-spacing\",\"border-style\",\"border-top\",\"border-top-color\",\"border-top-left-radius\",\"border-top-right-radius\",\"border-top-style\",\"border-top-width\",\"border-width\",\"bottom\",\"box-decoration-break\",\"box-shadow\",\"box-sizing\",\"break-after\",\"break-before\",\"break-inside\",\"caption-side\",\"caret-color\",\"clear\",\"clip\",\"color\",\"color-profile\",\"column-count\",\"column-fill\",\"column-gap\",\"column-rule\",\"column-rule-color\",\"column-rule-style\",\"column-rule-width\",\"column-span\",\"column-width\",\"columns\",\"contain\",\"content\",\"counter-increment\",\"counter-reset\",\"crop\",\"cue\",\"cue-after\",\"cue-before\",\"cursor\",\"direction\",\"display\",\"dominant-baseline\",\"drop-initial-after-adjust\",\"drop-initial-after-align\",\"drop-initial-before-adjust\",\"drop-initial-before-align\",\"drop-initial-size\",\"drop-initial-value\",\"elevation\",\"empty-cells\",\"fit\",\"fit-content\",\"fit-position\",\"flex\",\"flex-basis\",\"flex-direction\",\"flex-flow\",\"flex-grow\",\"flex-shrink\",\"flex-wrap\",\"float\",\"float-offset\",\"flow-from\",\"flow-into\",\"font\",\"font-family\",\"font-feature-settings\",\"font-kerning\",\"font-language-override\",\"font-optical-sizing\",\"font-size\",\"font-size-adjust\",\"font-stretch\",\"font-style\",\"font-synthesis\",\"font-variant\",\"font-variant-alternates\",\"font-variant-caps\",\"font-variant-east-asian\",\"font-variant-ligatures\",\"font-variant-numeric\",\"font-variant-position\",\"font-variation-settings\",\"font-weight\",\"gap\",\"grid\",\"grid-area\",\"grid-auto-columns\",\"grid-auto-flow\",\"grid-auto-rows\",\"grid-column\",\"grid-column-end\",\"grid-column-gap\",\"grid-column-start\",\"grid-gap\",\"grid-row\",\"grid-row-end\",\"grid-row-gap\",\"grid-row-start\",\"grid-template\",\"grid-template-areas\",\"grid-template-columns\",\"grid-template-rows\",\"hanging-punctuation\",\"height\",\"hyphens\",\"icon\",\"image-orientation\",\"image-rendering\",\"image-resolution\",\"inline-box-align\",\"inset\",\"inset-block\",\"inset-block-end\",\"inset-block-start\",\"inset-inline\",\"inset-inline-end\",\"inset-inline-start\",\"isolation\",\"justify-content\",\"justify-items\",\"justify-self\",\"left\",\"letter-spacing\",\"line-break\",\"line-height\",\"line-height-step\",\"line-stacking\",\"line-stacking-ruby\",\"line-stacking-shift\",\"line-stacking-strategy\",\"list-style\",\"list-style-image\",\"list-style-position\",\"list-style-type\",\"margin\",\"margin-bottom\",\"margin-left\",\"margin-right\",\"margin-top\",\"marks\",\"marquee-direction\",\"marquee-loop\",\"marquee-play-count\",\"marquee-speed\",\"marquee-style\",\"mask-clip\",\"mask-composite\",\"mask-image\",\"mask-mode\",\"mask-origin\",\"mask-position\",\"mask-repeat\",\"mask-size\",\"mask-type\",\"max-block-size\",\"max-height\",\"max-inline-size\",\"max-width\",\"min-block-size\",\"min-height\",\"min-inline-size\",\"min-width\",\"mix-blend-mode\",\"move-to\",\"nav-down\",\"nav-index\",\"nav-left\",\"nav-right\",\"nav-up\",\"object-fit\",\"object-position\",\"offset\",\"offset-anchor\",\"offset-distance\",\"offset-path\",\"offset-position\",\"offset-rotate\",\"opacity\",\"order\",\"orphans\",\"outline\",\"outline-color\",\"outline-offset\",\"outline-style\",\"outline-width\",\"overflow\",\"overflow-style\",\"overflow-wrap\",\"overflow-x\",\"overflow-y\",\"padding\",\"padding-bottom\",\"padding-left\",\"padding-right\",\"padding-top\",\"page\",\"page-break-after\",\"page-break-before\",\"page-break-inside\",\"page-policy\",\"pause\",\"pause-after\",\"pause-before\",\"perspective\",\"perspective-origin\",\"pitch\",\"pitch-range\",\"place-content\",\"place-items\",\"place-self\",\"play-during\",\"position\",\"presentation-level\",\"punctuation-trim\",\"quotes\",\"region-break-after\",\"region-break-before\",\"region-break-inside\",\"region-fragment\",\"rendering-intent\",\"resize\",\"rest\",\"rest-after\",\"rest-before\",\"richness\",\"right\",\"rotate\",\"rotation\",\"rotation-point\",\"row-gap\",\"ruby-align\",\"ruby-overhang\",\"ruby-position\",\"ruby-span\",\"scale\",\"scroll-behavior\",\"scroll-margin\",\"scroll-margin-block\",\"scroll-margin-block-end\",\"scroll-margin-block-start\",\"scroll-margin-bottom\",\"scroll-margin-inline\",\"scroll-margin-inline-end\",\"scroll-margin-inline-start\",\"scroll-margin-left\",\"scroll-margin-right\",\"scroll-margin-top\",\"scroll-padding\",\"scroll-padding-block\",\"scroll-padding-block-end\",\"scroll-padding-block-start\",\"scroll-padding-bottom\",\"scroll-padding-inline\",\"scroll-padding-inline-end\",\"scroll-padding-inline-start\",\"scroll-padding-left\",\"scroll-padding-right\",\"scroll-padding-top\",\"scroll-snap-align\",\"scroll-snap-type\",\"shape-image-threshold\",\"shape-inside\",\"shape-margin\",\"shape-outside\",\"size\",\"speak\",\"speak-as\",\"speak-header\",\"speak-numeral\",\"speak-punctuation\",\"speech-rate\",\"stress\",\"string-set\",\"tab-size\",\"table-layout\",\"target\",\"target-name\",\"target-new\",\"target-position\",\"text-align\",\"text-align-last\",\"text-combine-upright\",\"text-decoration\",\"text-decoration-color\",\"text-decoration-line\",\"text-decoration-skip\",\"text-decoration-skip-ink\",\"text-decoration-style\",\"text-emphasis\",\"text-emphasis-color\",\"text-emphasis-position\",\"text-emphasis-style\",\"text-height\",\"text-indent\",\"text-justify\",\"text-orientation\",\"text-outline\",\"text-overflow\",\"text-rendering\",\"text-shadow\",\"text-size-adjust\",\"text-space-collapse\",\"text-transform\",\"text-underline-position\",\"text-wrap\",\"top\",\"touch-action\",\"transform\",\"transform-origin\",\"transform-style\",\"transition\",\"transition-delay\",\"transition-duration\",\"transition-property\",\"transition-timing-function\",\"translate\",\"unicode-bidi\",\"user-select\",\"vertical-align\",\"visibility\",\"voice-balance\",\"voice-duration\",\"voice-family\",\"voice-pitch\",\"voice-range\",\"voice-rate\",\"voice-stress\",\"voice-volume\",\"volume\",\"white-space\",\"widows\",\"width\",\"will-change\",\"word-break\",\"word-spacing\",\"word-wrap\",\"writing-mode\",\"z-index\",\"clip-path\",\"clip-rule\",\"mask\",\"enable-background\",\"filter\",\"flood-color\",\"flood-opacity\",\"lighting-color\",\"stop-color\",\"stop-opacity\",\"pointer-events\",\"color-interpolation\",\"color-interpolation-filters\",\"color-rendering\",\"fill\",\"fill-opacity\",\"fill-rule\",\"image-rendering\",\"marker\",\"marker-end\",\"marker-mid\",\"marker-start\",\"paint-order\",\"shape-rendering\",\"stroke\",\"stroke-dasharray\",\"stroke-dashoffset\",\"stroke-linecap\",\"stroke-linejoin\",\"stroke-miterlimit\",\"stroke-opacity\",\"stroke-width\",\"text-rendering\",\"baseline-shift\",\"dominant-baseline\",\"glyph-orientation-horizontal\",\"glyph-orientation-vertical\",\"text-anchor\",\"writing-mode\"],d=e(c),p=[\"accent-color\",\"aspect-ratio\",\"border-block\",\"border-block-color\",\"border-block-end\",\"border-block-end-color\",\"border-block-end-style\",\"border-block-end-width\",\"border-block-start\",\"border-block-start-color\",\"border-block-start-style\",\"border-block-start-width\",\"border-block-style\",\"border-block-width\",\"border-inline\",\"border-inline-color\",\"border-inline-end\",\"border-inline-end-color\",\"border-inline-end-style\",\"border-inline-end-width\",\"border-inline-start\",\"border-inline-start-color\",\"border-inline-start-style\",\"border-inline-start-width\",\"border-inline-style\",\"border-inline-width\",\"content-visibility\",\"margin-block\",\"margin-block-end\",\"margin-block-start\",\"margin-inline\",\"margin-inline-end\",\"margin-inline-start\",\"overflow-anchor\",\"overscroll-behavior\",\"padding-block\",\"padding-block-end\",\"padding-block-start\",\"padding-inline\",\"padding-inline-end\",\"padding-inline-start\",\"scroll-snap-stop\",\"scrollbar-3d-light-color\",\"scrollbar-arrow-color\",\"scrollbar-base-color\",\"scrollbar-dark-shadow-color\",\"scrollbar-face-color\",\"scrollbar-highlight-color\",\"scrollbar-shadow-color\",\"scrollbar-track-color\",\"searchfield-cancel-button\",\"searchfield-decoration\",\"searchfield-results-button\",\"searchfield-results-decoration\",\"shape-inside\",\"zoom\"],u=e(p),m=e([\"font-display\",\"font-family\",\"src\",\"unicode-range\",\"font-variant\",\"font-feature-settings\",\"font-stretch\",\"font-weight\",\"font-style\"]),g=e([\"additive-symbols\",\"fallback\",\"negative\",\"pad\",\"prefix\",\"range\",\"speak-as\",\"suffix\",\"symbols\",\"system\"]),b=[\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"black\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"grey\",\"green\",\"greenyellow\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"rebeccapurple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"],h=e(b),f=[\"above\",\"absolute\",\"activeborder\",\"additive\",\"activecaption\",\"afar\",\"after-white-space\",\"ahead\",\"alias\",\"all\",\"all-scroll\",\"alphabetic\",\"alternate\",\"always\",\"amharic\",\"amharic-abegede\",\"antialiased\",\"appworkspace\",\"arabic-indic\",\"armenian\",\"asterisks\",\"attr\",\"auto\",\"auto-flow\",\"avoid\",\"avoid-column\",\"avoid-page\",\"avoid-region\",\"axis-pan\",\"background\",\"backwards\",\"baseline\",\"below\",\"bidi-override\",\"binary\",\"bengali\",\"blink\",\"block\",\"block-axis\",\"blur\",\"bold\",\"bolder\",\"border\",\"border-box\",\"both\",\"bottom\",\"break\",\"break-all\",\"break-word\",\"brightness\",\"bullets\",\"button\",\"buttonface\",\"buttonhighlight\",\"buttonshadow\",\"buttontext\",\"calc\",\"cambodian\",\"capitalize\",\"caps-lock-indicator\",\"caption\",\"captiontext\",\"caret\",\"cell\",\"center\",\"checkbox\",\"circle\",\"cjk-decimal\",\"cjk-earthly-branch\",\"cjk-heavenly-stem\",\"cjk-ideographic\",\"clear\",\"clip\",\"close-quote\",\"col-resize\",\"collapse\",\"color\",\"color-burn\",\"color-dodge\",\"column\",\"column-reverse\",\"compact\",\"condensed\",\"conic-gradient\",\"contain\",\"content\",\"contents\",\"content-box\",\"context-menu\",\"continuous\",\"contrast\",\"copy\",\"counter\",\"counters\",\"cover\",\"crop\",\"cross\",\"crosshair\",\"cubic-bezier\",\"currentcolor\",\"cursive\",\"cyclic\",\"darken\",\"dashed\",\"decimal\",\"decimal-leading-zero\",\"default\",\"default-button\",\"dense\",\"destination-atop\",\"destination-in\",\"destination-out\",\"destination-over\",\"devanagari\",\"difference\",\"disc\",\"discard\",\"disclosure-closed\",\"disclosure-open\",\"document\",\"dot-dash\",\"dot-dot-dash\",\"dotted\",\"double\",\"down\",\"drop-shadow\",\"e-resize\",\"ease\",\"ease-in\",\"ease-in-out\",\"ease-out\",\"element\",\"ellipse\",\"ellipsis\",\"embed\",\"end\",\"ethiopic\",\"ethiopic-abegede\",\"ethiopic-abegede-am-et\",\"ethiopic-abegede-gez\",\"ethiopic-abegede-ti-er\",\"ethiopic-abegede-ti-et\",\"ethiopic-halehame-aa-er\",\"ethiopic-halehame-aa-et\",\"ethiopic-halehame-am-et\",\"ethiopic-halehame-gez\",\"ethiopic-halehame-om-et\",\"ethiopic-halehame-sid-et\",\"ethiopic-halehame-so-et\",\"ethiopic-halehame-ti-er\",\"ethiopic-halehame-ti-et\",\"ethiopic-halehame-tig\",\"ethiopic-numeric\",\"ew-resize\",\"exclusion\",\"expanded\",\"extends\",\"extra-condensed\",\"extra-expanded\",\"fantasy\",\"fast\",\"fill\",\"fill-box\",\"fixed\",\"flat\",\"flex\",\"flex-end\",\"flex-start\",\"footnotes\",\"forwards\",\"from\",\"geometricPrecision\",\"georgian\",\"grayscale\",\"graytext\",\"grid\",\"groove\",\"gujarati\",\"gurmukhi\",\"hand\",\"hangul\",\"hangul-consonant\",\"hard-light\",\"hebrew\",\"help\",\"hidden\",\"hide\",\"higher\",\"highlight\",\"highlighttext\",\"hiragana\",\"hiragana-iroha\",\"horizontal\",\"hsl\",\"hsla\",\"hue\",\"hue-rotate\",\"icon\",\"ignore\",\"inactiveborder\",\"inactivecaption\",\"inactivecaptiontext\",\"infinite\",\"infobackground\",\"infotext\",\"inherit\",\"initial\",\"inline\",\"inline-axis\",\"inline-block\",\"inline-flex\",\"inline-grid\",\"inline-table\",\"inset\",\"inside\",\"intrinsic\",\"invert\",\"italic\",\"japanese-formal\",\"japanese-informal\",\"justify\",\"kannada\",\"katakana\",\"katakana-iroha\",\"keep-all\",\"khmer\",\"korean-hangul-formal\",\"korean-hanja-formal\",\"korean-hanja-informal\",\"landscape\",\"lao\",\"large\",\"larger\",\"left\",\"level\",\"lighter\",\"lighten\",\"line-through\",\"linear\",\"linear-gradient\",\"lines\",\"list-item\",\"listbox\",\"listitem\",\"local\",\"logical\",\"loud\",\"lower\",\"lower-alpha\",\"lower-armenian\",\"lower-greek\",\"lower-hexadecimal\",\"lower-latin\",\"lower-norwegian\",\"lower-roman\",\"lowercase\",\"ltr\",\"luminosity\",\"malayalam\",\"manipulation\",\"match\",\"matrix\",\"matrix3d\",\"media-play-button\",\"media-slider\",\"media-sliderthumb\",\"media-volume-slider\",\"media-volume-sliderthumb\",\"medium\",\"menu\",\"menulist\",\"menulist-button\",\"menutext\",\"message-box\",\"middle\",\"min-intrinsic\",\"mix\",\"mongolian\",\"monospace\",\"move\",\"multiple\",\"multiple_mask_images\",\"multiply\",\"myanmar\",\"n-resize\",\"narrower\",\"ne-resize\",\"nesw-resize\",\"no-close-quote\",\"no-drop\",\"no-open-quote\",\"no-repeat\",\"none\",\"normal\",\"not-allowed\",\"nowrap\",\"ns-resize\",\"numbers\",\"numeric\",\"nw-resize\",\"nwse-resize\",\"oblique\",\"octal\",\"opacity\",\"open-quote\",\"optimizeLegibility\",\"optimizeSpeed\",\"oriya\",\"oromo\",\"outset\",\"outside\",\"outside-shape\",\"overlay\",\"overline\",\"padding\",\"padding-box\",\"painted\",\"page\",\"paused\",\"persian\",\"perspective\",\"pinch-zoom\",\"plus-darker\",\"plus-lighter\",\"pointer\",\"polygon\",\"portrait\",\"pre\",\"pre-line\",\"pre-wrap\",\"preserve-3d\",\"progress\",\"push-button\",\"radial-gradient\",\"radio\",\"read-only\",\"read-write\",\"read-write-plaintext-only\",\"rectangle\",\"region\",\"relative\",\"repeat\",\"repeating-linear-gradient\",\"repeating-radial-gradient\",\"repeating-conic-gradient\",\"repeat-x\",\"repeat-y\",\"reset\",\"reverse\",\"rgb\",\"rgba\",\"ridge\",\"right\",\"rotate\",\"rotate3d\",\"rotateX\",\"rotateY\",\"rotateZ\",\"round\",\"row\",\"row-resize\",\"row-reverse\",\"rtl\",\"run-in\",\"running\",\"s-resize\",\"sans-serif\",\"saturate\",\"saturation\",\"scale\",\"scale3d\",\"scaleX\",\"scaleY\",\"scaleZ\",\"screen\",\"scroll\",\"scrollbar\",\"scroll-position\",\"se-resize\",\"searchfield\",\"searchfield-cancel-button\",\"searchfield-decoration\",\"searchfield-results-button\",\"searchfield-results-decoration\",\"self-start\",\"self-end\",\"semi-condensed\",\"semi-expanded\",\"separate\",\"sepia\",\"serif\",\"show\",\"sidama\",\"simp-chinese-formal\",\"simp-chinese-informal\",\"single\",\"skew\",\"skewX\",\"skewY\",\"skip-white-space\",\"slide\",\"slider-horizontal\",\"slider-vertical\",\"sliderthumb-horizontal\",\"sliderthumb-vertical\",\"slow\",\"small\",\"small-caps\",\"small-caption\",\"smaller\",\"soft-light\",\"solid\",\"somali\",\"source-atop\",\"source-in\",\"source-out\",\"source-over\",\"space\",\"space-around\",\"space-between\",\"space-evenly\",\"spell-out\",\"square\",\"square-button\",\"start\",\"static\",\"status-bar\",\"stretch\",\"stroke\",\"stroke-box\",\"sub\",\"subpixel-antialiased\",\"svg_masks\",\"super\",\"sw-resize\",\"symbolic\",\"symbols\",\"system-ui\",\"table\",\"table-caption\",\"table-cell\",\"table-column\",\"table-column-group\",\"table-footer-group\",\"table-header-group\",\"table-row\",\"table-row-group\",\"tamil\",\"telugu\",\"text\",\"text-bottom\",\"text-top\",\"textarea\",\"textfield\",\"thai\",\"thick\",\"thin\",\"threeddarkshadow\",\"threedface\",\"threedhighlight\",\"threedlightshadow\",\"threedshadow\",\"tibetan\",\"tigre\",\"tigrinya-er\",\"tigrinya-er-abegede\",\"tigrinya-et\",\"tigrinya-et-abegede\",\"to\",\"top\",\"trad-chinese-formal\",\"trad-chinese-informal\",\"transform\",\"translate\",\"translate3d\",\"translateX\",\"translateY\",\"translateZ\",\"transparent\",\"ultra-condensed\",\"ultra-expanded\",\"underline\",\"unidirectional-pan\",\"unset\",\"up\",\"upper-alpha\",\"upper-armenian\",\"upper-greek\",\"upper-hexadecimal\",\"upper-latin\",\"upper-norwegian\",\"upper-roman\",\"uppercase\",\"urdu\",\"url\",\"var\",\"vertical\",\"vertical-text\",\"view-box\",\"visible\",\"visibleFill\",\"visiblePainted\",\"visibleStroke\",\"visual\",\"w-resize\",\"wait\",\"wave\",\"wider\",\"window\",\"windowframe\",\"windowtext\",\"words\",\"wrap\",\"wrap-reverse\",\"x-large\",\"x-small\",\"xor\",\"xx-large\",\"xx-small\"],k=e(f),t=t.concat(o).concat(a).concat(l).concat(c).concat(p).concat(b).concat(f);function y(e,t){for(var r,o=!1;null!=(r=e.next());){if(o&&\"/\"==r){t.tokenize=null;break}o=\"*\"==r}return[\"comment\",\"comment\"]}T.registerHelper(\"hintWords\",\"css\",t),T.defineMIME(\"text/css\",{documentTypes:r,mediaTypes:i,mediaFeatures:n,mediaValueKeywords:s,propertyKeywords:d,nonStandardPropertyKeywords:u,fontProperties:m,counterDescriptors:g,colorKeywords:h,valueKeywords:k,tokenHooks:{\"/\":function(e,t){return!!e.eat(\"*\")&&(t.tokenize=y)(e,t)}},name:\"css\"}),T.defineMIME(\"text/x-scss\",{mediaTypes:i,mediaFeatures:n,mediaValueKeywords:s,propertyKeywords:d,nonStandardPropertyKeywords:u,colorKeywords:h,valueKeywords:k,fontProperties:m,allowNested:!0,lineComment:\"//\",tokenHooks:{\"/\":function(e,t){return e.eat(\"/\")?(e.skipToEnd(),[\"comment\",\"comment\"]):e.eat(\"*\")?(t.tokenize=y)(e,t):[\"operator\",\"operator\"]},\":\":function(e){return!!e.match(/^\\s*\\{/,!1)&&[null,null]},$:function(e){return e.match(/^[\\w-]+/),e.match(/^\\s*:/,!1)?[\"variable-2\",\"variable-definition\"]:[\"variable-2\",\"variable\"]},\"#\":function(e){return!!e.eat(\"{\")&&[null,\"interpolation\"]}},name:\"css\",helperType:\"scss\"}),T.defineMIME(\"text/x-less\",{mediaTypes:i,mediaFeatures:n,mediaValueKeywords:s,propertyKeywords:d,nonStandardPropertyKeywords:u,colorKeywords:h,valueKeywords:k,fontProperties:m,allowNested:!0,lineComment:\"//\",tokenHooks:{\"/\":function(e,t){return e.eat(\"/\")?(e.skipToEnd(),[\"comment\",\"comment\"]):e.eat(\"*\")?(t.tokenize=y)(e,t):[\"operator\",\"operator\"]},\"@\":function(e){return e.eat(\"{\")?[null,\"interpolation\"]:!e.match(/^(charset|document|font-face|import|(-(moz|ms|o|webkit)-)?keyframes|media|namespace|page|supports)\\b/i,!1)&&(e.eatWhile(/[\\w\\\\\\-]/),e.match(/^\\s*:/,!1)?[\"variable-2\",\"variable-definition\"]:[\"variable-2\",\"variable\"])},\"&\":function(){return[\"atom\",\"atom\"]}},name:\"css\",helperType:\"less\"}),T.defineMIME(\"text/x-gss\",{documentTypes:r,mediaTypes:i,mediaFeatures:n,propertyKeywords:d,nonStandardPropertyKeywords:u,fontProperties:m,counterDescriptors:g,colorKeywords:h,valueKeywords:k,supportsAtComponent:!0,tokenHooks:{\"/\":function(e,t){return!!e.eat(\"*\")&&(t.tokenize=y)(e,t)}},name:\"css\",helperType:\"gss\"})});"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-mode-css/files/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": [\n{\n\t\t\t\"file\": \"mode/css/css.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/codemirror/mode/css/css.js\",\n\t\t\t\t\"module-type\": \"codemirror\"\n\t\t\t}\n\t\t}\n\t]\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-mode-css/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/codemirror-mode-css\",\n\t\"name\": \"CodeMirror Mode CSS\",\n\t\"description\": \"CSS highlighting mode for CodeMirror\",\n\t\"parent-plugin\": \"$:/plugins/tiddlywiki/codemirror\",\n\t\"list\": \"readme\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-mode-css/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/codemirror-mode-css/readme\n\nThis plugin adds Syntax Highlighting for CSS tiddlers (text/css) to the [[CodeMirror|http://codemirror.net]] text editor. It needs the latest [[CodeMirror plugin|$:/plugins/tiddlywiki/codemirror]] to be installed\n\n\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-mode-htmlembedded/files/addon/mode/multiplex.js",
    "content": "!function(e){\"object\"==typeof exports&&\"object\"==typeof module?e(require(\"../../lib/codemirror\")):\"function\"==typeof define&&define.amd?define([\"../../lib/codemirror\"],e):e(CodeMirror)}(function(m){\"use strict\";m.multiplexingMode=function(d){var v=Array.prototype.slice.call(arguments,1);function f(e,n,t,i){if(\"string\"==typeof n)return r=e.indexOf(n,t),i&&-1<r?r+n.length:r;var r=n.exec(t?e.slice(t):e);return r?r.index+t+(i?r[0].length:0):-1}return{startState:function(){return{outer:m.startState(d),innerActive:null,inner:null,startingInner:!1}},copyState:function(e){return{outer:m.copyState(d,e.outer),innerActive:e.innerActive,inner:e.innerActive&&m.copyState(e.innerActive.mode,e.inner),startingInner:e.startingInner}},token:function(e,n){if(n.innerActive){var t=n.innerActive,i=e.string;if(!t.close&&e.sol())return n.innerActive=n.inner=null,this.token(e,n);if((c=t.close&&!n.startingInner?f(i,t.close,e.pos,t.parseDelimiters):-1)==e.pos&&!t.parseDelimiters)return e.match(t.close),n.innerActive=n.inner=null,t.delimStyle&&t.delimStyle+\" \"+t.delimStyle+\"-close\";-1<c&&(e.string=i.slice(0,c));var r=t.mode.token(e,n.inner);return-1<c?e.string=i:e.pos>e.start&&(n.startingInner=!1),c==e.pos&&t.parseDelimiters&&(n.innerActive=n.inner=null),r=t.innerStyle?r?r+\" \"+t.innerStyle:t.innerStyle:r}for(var o=1/0,i=e.string,l=0;l<v.length;++l){var c,s,a,u=v[l];if((c=f(i,u.open,e.pos))==e.pos)return u.parseDelimiters||e.match(u.open),n.startingInner=!!u.parseDelimiters,n.innerActive=u,s=0,d.indent&&(a=d.indent(n.outer,\"\",\"\"))!==m.Pass&&(s=a),n.inner=m.startState(u.mode,s),u.delimStyle&&u.delimStyle+\" \"+u.delimStyle+\"-open\";-1!=c&&c<o&&(o=c)}o!=1/0&&(e.string=i.slice(0,o));t=d.token(e,n.outer);return o!=1/0&&(e.string=i),t},indent:function(e,n,t){var i=e.innerActive?e.innerActive.mode:d;return i.indent?i.indent(e.innerActive?e.inner:e.outer,n,t):m.Pass},blankLine:function(e){var n=e.innerActive?e.innerActive.mode:d;if(n.blankLine&&n.blankLine(e.innerActive?e.inner:e.outer),e.innerActive)\"\\n\"===e.innerActive.close&&(e.innerActive=e.inner=null);else for(var t=0;t<v.length;++t){var i=v[t];\"\\n\"===i.open&&(e.innerActive=i,e.inner=m.startState(i.mode,n.indent?n.indent(e.outer,\"\",\"\"):0))}},electricChars:d.electricChars,innerMode:function(e){return e.inner?{state:e.inner,mode:e.innerActive.mode}:{state:e.outer,mode:d}}}}});"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-mode-htmlembedded/files/mode/htmlembedded/htmlembedded.js",
    "content": "!function(e){\"object\"==typeof exports&&\"object\"==typeof module?e(require(\"../../lib/codemirror\"),require(\"../htmlmixed/htmlmixed\"),require(\"../../addon/mode/multiplex\")):\"function\"==typeof define&&define.amd?define([\"../../lib/codemirror\",\"../htmlmixed/htmlmixed\",\"../../addon/mode/multiplex\"],e):e(CodeMirror)}(function(d){\"use strict\";d.defineMode(\"htmlembedded\",function(e,i){var t=i.closeComment||\"--%>\";return d.multiplexingMode(d.getMode(e,\"htmlmixed\"),{open:i.openComment||\"<%--\",close:t,delimStyle:\"comment\",mode:{token:function(e){return e.skipTo(t)||e.skipToEnd(),\"comment\"}}},{open:i.open||i.scriptStartRegex||\"<%\",close:i.close||i.scriptEndRegex||\"%>\",mode:d.getMode(e,i.scriptingModeSpec)})},\"htmlmixed\"),d.defineMIME(\"application/x-ejs\",{name:\"htmlembedded\",scriptingModeSpec:\"javascript\"}),d.defineMIME(\"application/x-aspx\",{name:\"htmlembedded\",scriptingModeSpec:\"text/x-csharp\"}),d.defineMIME(\"application/x-jsp\",{name:\"htmlembedded\",scriptingModeSpec:\"text/x-java\"}),d.defineMIME(\"application/x-erb\",{name:\"htmlembedded\",scriptingModeSpec:\"ruby\"})});"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-mode-htmlembedded/files/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": [\n\t\t{\n\t\t\t\"file\": \"addon/mode/multiplex.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/codemirror/addon/mode/multiplex.js\",\n\t\t\t\t\"module-type\": \"codemirror\"\n\t\t\t}\n\t\t},{\n\t\t\t\"file\": \"mode/htmlembedded/htmlembedded.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/codemirror/mode/htmlembedded/htmlembedded.js\",\n\t\t\t\t\"module-type\": \"codemirror\"\n\t\t\t}\n\t\t}\n\t]\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-mode-htmlembedded/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/codemirror-mode-htmlembedded\",\n\t\"name\": \"CodeMirror Mode HTML Embedded\",\n\t\"description\": \"Embedded HTML highlighting mode for CodeMirror\",\n\t\"parent-plugin\": \"$:/plugins/tiddlywiki/codemirror\",\n\t\"dependents\": [\"$:/plugins/tiddlywiki/codemirror-mode-htmlmixed\",\"$:/plugins/tiddlywiki/codemirror-mode-javascript\",\"$:/plugins/tiddlywiki/codemirror-mode-css\",\"$:/plugins/tiddlywiki/codemirror-mode-xml\"],\n\t\"list\": \"readme\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-mode-htmlembedded/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/codemirror-mode-htmlembedded/readme\n\nThis plugin adds Syntax Highlighting for Embedded-HTML tiddlers (application/x-aspx, application/x-ejs, application/x-jsp and application/x-erb) to the [[CodeMirror|http://codemirror.net]] text editor. It needs the latest [[CodeMirror plugin|$:/plugins/tiddlywiki/codemirror]] to be installed\n\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-mode-htmlmixed/files/mode/htmlmixed/htmlmixed.js",
    "content": "!function(t){\"object\"==typeof exports&&\"object\"==typeof module?t(require(\"../../lib/codemirror\"),require(\"../xml/xml\"),require(\"../javascript/javascript\"),require(\"../css/css\")):\"function\"==typeof define&&define.amd?define([\"../../lib/codemirror\",\"../xml/xml\",\"../javascript/javascript\",\"../css/css\"],t):t(CodeMirror)}(function(m){\"use strict\";var l={script:[[\"lang\",/(javascript|babel)/i,\"javascript\"],[\"type\",/^(?:text|application)\\/(?:x-)?(?:java|ecma)script$|^module$|^$/i,\"javascript\"],[\"type\",/./,\"text/plain\"],[null,null,\"javascript\"]],style:[[\"lang\",/^css$/i,\"css\"],[\"type\",/^(text\\/)?(x-)?(stylesheet|css)$/i,\"css\"],[\"type\",/./,\"text/plain\"],[null,null,\"css\"]]};var a={};function d(t,e){e=t.match(a[t=e]||(a[t]=new RegExp(\"\\\\s+\"+t+\"\\\\s*=\\\\s*('|\\\")?([^'\\\"]+)('|\\\")?\\\\s*\")));return e?/^\\s*(.*?)\\s*$/.exec(e[2])[1]:\"\"}function g(t,e){return new RegExp((e?\"^\":\"\")+\"</\\\\s*\"+t+\"\\\\s*>\",\"i\")}function o(t,e){for(var a in t)for(var n=e[a]||(e[a]=[]),l=t[a],o=l.length-1;0<=o;o--)n.unshift(l[o])}m.defineMode(\"htmlmixed\",function(i,t){var c=m.getMode(i,{name:\"xml\",htmlMode:!0,multilineTagIndentFactor:t.multilineTagIndentFactor,multilineTagIndentPastTag:t.multilineTagIndentPastTag,allowMissingTagName:t.allowMissingTagName}),s={},e=t&&t.tags,a=t&&t.scriptTypes;if(o(l,s),e&&o(e,s),a)for(var n=a.length-1;0<=n;n--)s.script.unshift([\"type\",a[n].matches,a[n].mode]);function u(t,e){var a,o,r,n=c.token(t,e.htmlState),l=/\\btag\\b/.test(n);return l&&!/[<>\\s\\/]/.test(t.current())&&(a=e.htmlState.tagName&&e.htmlState.tagName.toLowerCase())&&s.hasOwnProperty(a)?e.inTag=a+\" \":e.inTag&&l&&/>$/.test(t.current())?(a=/^([\\S]+) (.*)/.exec(e.inTag),e.inTag=null,l=\">\"==t.current()&&function(t,e){for(var a=0;a<t.length;a++){var n=t[a];if(!n[0]||n[1].test(d(e,n[0])))return n[2]}}(s[a[1]],a[2]),l=m.getMode(i,l),o=g(a[1],!0),r=g(a[1],!1),e.token=function(t,e){return t.match(o,!1)?(e.token=u,e.localState=e.localMode=null):(a=t,n=r,t=e.localMode.token(t,e.localState),e=a.current(),-1<(l=e.search(n))?a.backUp(e.length-l):e.match(/<\\/?$/)&&(a.backUp(e.length),a.match(n,!1)||a.match(e)),t);var a,n,l},e.localMode=l,e.localState=m.startState(l,c.indent(e.htmlState,\"\",\"\"))):e.inTag&&(e.inTag+=t.current(),t.eol()&&(e.inTag+=\" \")),n}return{startState:function(){return{token:u,inTag:null,localMode:null,localState:null,htmlState:m.startState(c)}},copyState:function(t){var e;return t.localState&&(e=m.copyState(t.localMode,t.localState)),{token:t.token,inTag:t.inTag,localMode:t.localMode,localState:e,htmlState:m.copyState(c,t.htmlState)}},token:function(t,e){return e.token(t,e)},indent:function(t,e,a){return!t.localMode||/^\\s*<\\//.test(e)?c.indent(t.htmlState,e,a):t.localMode.indent?t.localMode.indent(t.localState,e,a):m.Pass},innerMode:function(t){return{state:t.localState||t.htmlState,mode:t.localMode||c}}}},\"xml\",\"javascript\",\"css\"),m.defineMIME(\"text/html\",\"htmlmixed\")});"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-mode-htmlmixed/files/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": [\n{\n\t\t\t\"file\": \"mode/htmlmixed/htmlmixed.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/codemirror/mode/htmlmixed/htmlmixed.js\",\n\t\t\t\t\"module-type\": \"codemirror\"\n\t\t\t}\n\t\t}\n\t]\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-mode-htmlmixed/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/codemirror-mode-htmlmixed\",\n\t\"name\": \"CodeMirror Mode HTML Mixed\",\n\t\"description\": \"HTML mixed highlighting mode for CodeMirror\",\n\t\"parent-plugin\": \"$:/plugins/tiddlywiki/codemirror\",\n\t\"dependents\": [\"$:/plugins/tiddlywiki/codemirror-mode-xml\",\"$:/plugins/tiddlywiki/codemirror-mode-javascript\",\"$:/plugins/tiddlywiki/codemirror-mode-css\"],\n\t\"list\": \"readme\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-mode-htmlmixed/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/codemirror-mode-htmlmixed/readme\n\nThis plugin adds Syntax Highlighting for HTML tiddlers (text/html) to the [[CodeMirror|http://codemirror.net]] text editor. It needs the latest [[CodeMirror plugin|$:/plugins/tiddlywiki/codemirror]] to be installed\n\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-mode-javascript/files/mode/javascript/javascript.js",
    "content": "!function(e){\"object\"==typeof exports&&\"object\"==typeof module?e(require(\"../../lib/codemirror\")):\"function\"==typeof define&&define.amd?define([\"../../lib/codemirror\"],e):e(CodeMirror)}(function(rt){\"use strict\";rt.defineMode(\"javascript\",function(e,l){var t,r,O,P,f=e.indentUnit,N=l.statementIndent,U=l.jsonld,o=l.json||U,W=!1!==l.trackScope,u=l.typescript,B=l.wordCharacters||/[\\w$\\xa1-\\uffff]/,F=(e=n(\"keyword a\"),t=n(\"keyword b\"),r=n(\"keyword c\"),O=n(\"keyword d\"),P=n(\"operator\"),{if:n(\"if\"),while:e,with:e,else:t,do:t,try:t,finally:t,return:O,break:O,continue:O,new:n(\"new\"),delete:r,void:r,throw:r,debugger:n(\"debugger\"),var:n(\"var\"),const:n(\"var\"),let:n(\"var\"),function:n(\"function\"),catch:n(\"catch\"),for:n(\"for\"),switch:n(\"switch\"),case:n(\"case\"),default:n(\"default\"),in:P,typeof:P,instanceof:P,true:e={type:\"atom\",style:\"atom\"},false:e,null:e,undefined:e,NaN:e,Infinity:e,this:n(\"this\"),class:n(\"class\"),super:n(\"atom\"),yield:r,export:n(\"export\"),import:n(\"import\"),extends:r,await:r});function n(e){return{type:e,style:\"keyword\"}}var H,D,G=/[+\\-*&%=<>!?|~^@]/,J=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)\"/;function i(e,t,r){return H=e,D=r,t}function d(e,t){var a,r=e.next();if('\"'==r||\"'\"==r)return t.tokenize=(a=r,function(e,t){var r,n=!1;if(U&&\"@\"==e.peek()&&e.match(J))return t.tokenize=d,i(\"jsonld-keyword\",\"meta\");for(;null!=(r=e.next())&&(r!=a||n);)n=!n&&\"\\\\\"==r;return n||(t.tokenize=d),i(\"string\",\"string\")}),t.tokenize(e,t);if(\".\"==r&&e.match(/^\\d[\\d_]*(?:[eE][+\\-]?[\\d_]+)?/))return i(\"number\",\"number\");if(\".\"==r&&e.match(\"..\"))return i(\"spread\",\"meta\");if(/[\\[\\]{}\\(\\),;\\:\\.]/.test(r))return i(r);if(\"=\"==r&&e.eat(\">\"))return i(\"=>\",\"operator\");if(\"0\"==r&&e.match(/^(?:x[\\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/))return i(\"number\",\"number\");if(/\\d/.test(r))return e.match(/^[\\d_]*(?:n|(?:\\.[\\d_]*)?(?:[eE][+\\-]?[\\d_]+)?)?/),i(\"number\",\"number\");if(\"/\"==r)return e.eat(\"*\")?(t.tokenize=K)(e,t):e.eat(\"/\")?(e.skipToEnd(),i(\"comment\",\"comment\")):tt(e,t,1)?(function(e){for(var t,r=!1,n=!1;null!=(t=e.next());){if(!r){if(\"/\"==t&&!n)return;\"[\"==t?n=!0:n&&\"]\"==t&&(n=!1)}r=!r&&\"\\\\\"==t}}(e),e.match(/^\\b(([gimyus])(?![gimyus]*\\2))+\\b/),i(\"regexp\",\"string-2\")):(e.eat(\"=\"),i(\"operator\",\"operator\",e.current()));if(\"`\"==r)return(t.tokenize=L)(e,t);if(\"#\"==r&&\"!\"==e.peek())return e.skipToEnd(),i(\"meta\",\"meta\");if(\"#\"==r&&e.eatWhile(B))return i(\"variable\",\"property\");if(\"<\"==r&&e.match(\"!--\")||\"-\"==r&&e.match(\"->\")&&!/\\S/.test(e.string.slice(0,e.start)))return e.skipToEnd(),i(\"comment\",\"comment\");if(G.test(r))return\">\"==r&&t.lexical&&\">\"==t.lexical.type||(e.eat(\"=\")?\"!\"!=r&&\"=\"!=r||e.eat(\"=\"):/[<>*+\\-|&?]/.test(r)&&(e.eat(r),\">\"==r&&e.eat(r))),\"?\"==r&&e.eat(\".\")?i(\".\"):i(\"operator\",\"operator\",e.current());if(B.test(r)){e.eatWhile(B);r=e.current();if(\".\"!=t.lastType){if(F.propertyIsEnumerable(r))return i((t=F[r]).type,t.style,r);if(\"async\"==r&&e.match(/^(\\s|\\/\\*([^*]|\\*(?!\\/))*?\\*\\/)*[\\[\\(\\w]/,!1))return i(\"async\",\"keyword\",r)}return i(\"variable\",\"variable\",r)}}function K(e,t){for(var r,n=!1;r=e.next();){if(\"/\"==r&&n){t.tokenize=d;break}n=\"*\"==r}return i(\"comment\",\"comment\")}function L(e,t){for(var r,n=!1;null!=(r=e.next());){if(!n&&(\"`\"==r||\"$\"==r&&e.eat(\"{\"))){t.tokenize=d;break}n=!n&&\"\\\\\"==r}return i(\"quasi\",\"string-2\",e.current())}function Q(e,t){t.fatArrowAt&&(t.fatArrowAt=null);var r=e.string.indexOf(\"=>\",e.start);if(!(r<0)){!u||(n=/:\\s*(?:\\w+(?:<[^>]*>|\\[\\])?|\\{[^}]*\\})\\s*$/.exec(e.string.slice(e.start,r)))&&(r=n.index);for(var n,a=0,i=!1,o=r-1;0<=o;--o){var c=e.string.charAt(o),s=\"([{}])\".indexOf(c);if(0<=s&&s<3){if(!a){++o;break}if(0==--a){\"(\"==c&&(i=!0);break}}else if(3<=s&&s<6)++a;else if(B.test(c))i=!0;else if(/[\"'\\/`]/.test(c))for(;;--o){if(0==o)return;if(e.string.charAt(o-1)==c&&\"\\\\\"!=e.string.charAt(o-2)){o--;break}}else if(i&&!a){++o;break}}i&&!a&&(t.fatArrowAt=o)}}var R={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,import:!0,\"jsonld-keyword\":!0};function X(e,t,r,n,a,i){this.indented=e,this.column=t,this.type=r,this.prev=a,this.info=i,null!=n&&(this.align=n)}function Y(e,t,r,n,a){var i=e.cc;for(c.state=e,c.stream=a,c.marked=null,c.cc=i,c.style=t,e.lexical.hasOwnProperty(\"align\")||(e.lexical.align=!0);;)if((i.length?i.pop():o?x:b)(r,n)){for(;i.length&&i[i.length-1].lex;)i.pop()();return c.marked?c.marked:\"variable\"==r&&function(e,t){if(W){for(var r=e.localVars;r;r=r.next)if(r.name==t)return 1;for(var n=e.context;n;n=n.prev)for(r=n.vars;r;r=r.next)if(r.name==t)return 1}}(e,n)?\"variable-2\":t}}var c={state:null,column:null,marked:null,cc:null};function s(){for(var e=arguments.length-1;0<=e;e--)c.cc.push(arguments[e])}function p(){return s.apply(null,arguments),!0}function Z(e,t){for(var r=t;r;r=r.next)if(r.name==e)return 1}function a(e){var t=c.state;if(c.marked=\"def\",W){if(t.context)if(\"var\"==t.lexical.info&&t.context&&t.context.block){var r=function e(t,r){{var n;return r?r.block?(n=e(t,r.prev))?n==r.prev?r:new te(n,r.vars,!0):null:Z(t,r.vars)?r:new te(r.prev,new re(t,r.vars),!1):null}}(e,t.context);if(null!=r)return void(t.context=r)}else if(!Z(e,t.localVars))return void(t.localVars=new re(e,t.localVars));l.globalVars&&!Z(e,t.globalVars)&&(t.globalVars=new re(e,t.globalVars))}}function ee(e){return\"public\"==e||\"private\"==e||\"protected\"==e||\"abstract\"==e||\"readonly\"==e}function te(e,t,r){this.prev=e,this.vars=t,this.block=r}function re(e,t){this.name=e,this.next=t}var ne=new re(\"this\",new re(\"arguments\",null));function m(){c.state.context=new te(c.state.context,c.state.localVars,!1),c.state.localVars=ne}function ae(){c.state.context=new te(c.state.context,c.state.localVars,!0),c.state.localVars=null}function k(){c.state.localVars=c.state.context.vars,c.state.context=c.state.context.prev}function v(n,a){function e(){var e=c.state,t=e.indented;if(\"stat\"==e.lexical.type)t=e.lexical.indented;else for(var r=e.lexical;r&&\")\"==r.type&&r.align;r=r.prev)t=r.indented;e.lexical=new X(t,c.stream.column(),n,null,e.lexical,a)}return e.lex=!0,e}function y(){var e=c.state;e.lexical.prev&&(\")\"==e.lexical.type&&(e.indented=e.lexical.indented),e.lexical=e.lexical.prev)}function w(r){return function e(t){return t==r?p():\";\"==r||\"}\"==t||\")\"==t||\"]\"==t?s():p(e)}}function b(e,t){return\"var\"==e?p(v(\"vardef\",t),qe,w(\";\"),y):\"keyword a\"==e?p(v(\"form\"),oe,b,y):\"keyword b\"==e?p(v(\"form\"),b,y):\"keyword d\"==e?c.stream.match(/^\\s*$/,!1)?p():p(v(\"stat\"),g,w(\";\"),y):\"debugger\"==e?p(w(\";\")):\"{\"==e?p(v(\"}\"),ae,be,y,k):\";\"==e?p():\"if\"==e?(\"else\"==c.state.lexical.info&&c.state.cc[c.state.cc.length-1]==y&&c.state.cc.pop()(),p(v(\"form\"),oe,b,y,Oe)):\"function\"==e?p(q):\"for\"==e?p(v(\"form\"),ae,Pe,b,k,y):\"class\"==e||u&&\"interface\"==t?(c.marked=\"keyword\",p(v(\"form\",\"class\"==e?e:t),Fe,y)):\"variable\"==e?u&&\"declare\"==t?(c.marked=\"keyword\",p(b)):u&&(\"module\"==t||\"enum\"==t||\"type\"==t)&&c.stream.match(/^\\s*\\w/,!1)?(c.marked=\"keyword\",\"enum\"==t?p(Ze):\"type\"==t?p(We,w(\"operator\"),z,w(\";\")):p(v(\"form\"),T,w(\"{\"),v(\"}\"),be,y,y)):u&&\"namespace\"==t?(c.marked=\"keyword\",p(v(\"form\"),x,b,y)):u&&\"abstract\"==t?(c.marked=\"keyword\",p(b)):p(v(\"stat\"),me):\"switch\"==e?p(v(\"form\"),oe,w(\"{\"),v(\"}\",\"switch\"),ae,be,y,y,k):\"case\"==e?p(x,w(\":\")):\"default\"==e?p(w(\":\")):\"catch\"==e?p(v(\"form\"),m,ie,b,y,k):\"export\"==e?p(v(\"stat\"),Ge,y):\"import\"==e?p(v(\"stat\"),Ke,y):\"async\"==e?p(b):\"@\"==t?p(x,b):s(v(\"stat\"),x,w(\";\"),y)}function ie(e){if(\"(\"==e)return p(S,w(\")\"))}function x(e,t){return ce(e,t,!1)}function h(e,t){return ce(e,t,!0)}function oe(e){return\"(\"!=e?s():p(v(\")\"),g,w(\")\"),y)}function ce(e,t,r){if(c.state.fatArrowAt==c.stream.start){var n=r?fe:le;if(\"(\"==e)return p(m,v(\")\"),V(S,\")\"),y,w(\"=>\"),n,k);if(\"variable\"==e)return s(m,T,w(\"=>\"),n,k)}var a,n=r?M:j;return R.hasOwnProperty(e)?p(n):\"function\"==e?p(q,n):\"class\"==e||u&&\"interface\"==t?(c.marked=\"keyword\",p(v(\"form\"),Be,y)):\"keyword c\"==e||\"async\"==e?p(r?h:x):\"(\"==e?p(v(\")\"),g,w(\")\"),y,n):\"operator\"==e||\"spread\"==e?p(r?h:x):\"[\"==e?p(v(\"]\"),Ye,y,n):\"{\"==e?we(ve,\"}\",null,n):\"quasi\"==e?s(se,n):\"new\"==e?p((a=r,function(e){return\".\"==e?p(a?pe:de):\"variable\"==e&&u?p(Ie,a?M:j):s(a?h:x)})):p()}function g(e){return e.match(/[;\\}\\)\\],]/)?s():s(x)}function j(e,t){return\",\"==e?p(g):M(e,t,!1)}function M(e,t,r){var n=0==r?j:M,a=0==r?x:h;return\"=>\"==e?p(m,r?fe:le,k):\"operator\"==e?/\\+\\+|--/.test(t)||u&&\"!\"==t?p(n):u&&\"<\"==t&&c.stream.match(/^([^<>]|<[^<>]*>)*>\\s*\\(/,!1)?p(v(\">\"),V(z,\">\"),y,n):\"?\"==t?p(x,w(\":\"),a):p(a):\"quasi\"==e?s(se,n):\";\"!=e?\"(\"==e?we(h,\")\",\"call\",n):\".\"==e?p(ke,n):\"[\"==e?p(v(\"]\"),g,w(\"]\"),y,n):u&&\"as\"==t?(c.marked=\"keyword\",p(z,n)):\"regexp\"==e?(c.state.lastType=c.marked=\"operator\",c.stream.backUp(c.stream.pos-c.stream.start-1),p(a)):void 0:void 0}function se(e,t){return\"quasi\"!=e?s():\"${\"!=t.slice(t.length-2)?p(se):p(g,ue)}function ue(e){if(\"}\"==e)return c.marked=\"string-2\",c.state.tokenize=L,p(se)}function le(e){return Q(c.stream,c.state),s(\"{\"==e?b:x)}function fe(e){return Q(c.stream,c.state),s(\"{\"==e?b:h)}function de(e,t){if(\"target\"==t)return c.marked=\"keyword\",p(j)}function pe(e,t){if(\"target\"==t)return c.marked=\"keyword\",p(M)}function me(e){return\":\"==e?p(y,b):s(j,w(\";\"),y)}function ke(e){if(\"variable\"==e)return c.marked=\"property\",p()}function ve(e,t){return\"async\"==e?(c.marked=\"property\",p(ve)):\"variable\"!=e&&\"keyword\"!=c.style?\"number\"==e||\"string\"==e?(c.marked=U?\"property\":c.style+\" property\",p(A)):\"jsonld-keyword\"==e?p(A):u&&ee(t)?(c.marked=\"keyword\",p(ve)):\"[\"==e?p(x,E,w(\"]\"),A):\"spread\"==e?p(h,A):\"*\"==t?(c.marked=\"keyword\",p(ve)):\":\"==e?s(A):void 0:(c.marked=\"property\",\"get\"==t||\"set\"==t?p(ye):(u&&c.state.fatArrowAt==c.stream.start&&(e=c.stream.match(/^\\s*:\\s*/,!1))&&(c.state.fatArrowAt=c.stream.pos+e[0].length),p(A)))}function ye(e){return\"variable\"!=e?s(A):(c.marked=\"property\",p(q))}function A(e){return\":\"==e?p(h):\"(\"==e?s(q):void 0}function V(n,a,i){function o(e,t){var r;return(i?-1<i.indexOf(e):\",\"==e)?(\"call\"==(r=c.state.lexical).info&&(r.pos=(r.pos||0)+1),p(function(e,t){return e==a||t==a?s():s(n)},o)):e==a||t==a?p():i&&-1<i.indexOf(\";\")?s(n):p(w(a))}return function(e,t){return e==a||t==a?p():s(n,o)}}function we(e,t,r){for(var n=3;n<arguments.length;n++)c.cc.push(arguments[n]);return p(v(t,r),V(e,t),y)}function be(e){return\"}\"==e?p():s(b,be)}function E(e,t){if(u)return\":\"==e?p(z):\"?\"==t?p(E):void 0}function xe(e,t){if(u&&(\":\"==e||\"in\"==t))return p(z)}function he(e){if(u&&\":\"==e)return c.stream.match(/^\\s*\\w+\\s+is\\b/,!1)?p(x,ge,z):p(z)}function ge(e,t){if(\"is\"==t)return c.marked=\"keyword\",p()}function z(e,t){return\"keyof\"==t||\"typeof\"==t||\"infer\"==t||\"readonly\"==t?(c.marked=\"keyword\",p(\"typeof\"==t?h:z)):\"variable\"==e||\"void\"==t?(c.marked=\"type\",p(I)):\"|\"==t||\"&\"==t?p(z):\"string\"==e||\"number\"==e||\"atom\"==e?p(I):\"[\"==e?p(v(\"]\"),V(z,\"]\",\",\"),y,I):\"{\"==e?p(v(\"}\"),Me,y,I):\"(\"==e?p(V(ze,\")\"),je,I):\"<\"==e?p(V(z,\">\"),z):\"quasi\"==e?s(Ve,I):void 0}function je(e){if(\"=>\"==e)return p(z)}function Me(e){return e.match(/[\\}\\)\\]]/)?p():\",\"==e||\";\"==e?p(Me):s(Ae,Me)}function Ae(e,t){return\"variable\"==e||\"keyword\"==c.style?(c.marked=\"property\",p(Ae)):\"?\"==t||\"number\"==e||\"string\"==e?p(Ae):\":\"==e?p(z):\"[\"==e?p(w(\"variable\"),xe,w(\"]\"),Ae):\"(\"==e?s(C,Ae):e.match(/[;\\}\\)\\],]/)?void 0:p()}function Ve(e,t){return\"quasi\"!=e?s():\"${\"!=t.slice(t.length-2)?p(Ve):p(z,Ee)}function Ee(e){if(\"}\"==e)return c.marked=\"string-2\",c.state.tokenize=L,p(Ve)}function ze(e,t){return\"variable\"==e&&c.stream.match(/^\\s*[?:]/,!1)||\"?\"==t?p(ze):\":\"==e?p(z):\"spread\"==e?p(ze):s(z)}function I(e,t){return\"<\"==t?p(v(\">\"),V(z,\">\"),y,I):\"|\"==t||\".\"==e||\"&\"==t?p(z):\"[\"==e?p(z,w(\"]\"),I):\"extends\"==t||\"implements\"==t?(c.marked=\"keyword\",p(z)):\"?\"==t?p(z,w(\":\"),z):void 0}function Ie(e,t){if(\"<\"==t)return p(v(\">\"),V(z,\">\"),y,I)}function Te(){return s(z,$e)}function $e(e,t){if(\"=\"==t)return p(z)}function qe(e,t){return\"enum\"==t?(c.marked=\"keyword\",p(Ze)):s(T,E,$,_e)}function T(e,t){return u&&ee(t)?(c.marked=\"keyword\",p(T)):\"variable\"==e?(a(t),p()):\"spread\"==e?p(T):\"[\"==e?we(Se,\"]\"):\"{\"==e?we(Ce,\"}\"):void 0}function Ce(e,t){return\"variable\"!=e||c.stream.match(/^\\s*:/,!1)?(\"variable\"==e&&(c.marked=\"property\"),\"spread\"==e?p(T):\"}\"==e?s():\"[\"==e?p(x,w(\"]\"),w(\":\"),Ce):p(w(\":\"),T,$)):(a(t),p($))}function Se(){return s(T,$)}function $(e,t){if(\"=\"==t)return p(h)}function _e(e){if(\",\"==e)return p(qe)}function Oe(e,t){if(\"keyword b\"==e&&\"else\"==t)return p(v(\"form\",\"else\"),b,y)}function Pe(e,t){return\"await\"==t?p(Pe):\"(\"==e?p(v(\")\"),Ne,y):void 0}function Ne(e){return\"var\"==e?p(qe,Ue):(\"variable\"==e?p:s)(Ue)}function Ue(e,t){return\")\"==e?p():\";\"==e?p(Ue):\"in\"==t||\"of\"==t?(c.marked=\"keyword\",p(x,Ue)):s(x,Ue)}function q(e,t){return\"*\"==t?(c.marked=\"keyword\",p(q)):\"variable\"==e?(a(t),p(q)):\"(\"==e?p(m,v(\")\"),V(S,\")\"),y,he,b,k):u&&\"<\"==t?p(v(\">\"),V(Te,\">\"),y,q):void 0}function C(e,t){return\"*\"==t?(c.marked=\"keyword\",p(C)):\"variable\"==e?(a(t),p(C)):\"(\"==e?p(m,v(\")\"),V(S,\")\"),y,he,k):u&&\"<\"==t?p(v(\">\"),V(Te,\">\"),y,C):void 0}function We(e,t){return\"keyword\"==e||\"variable\"==e?(c.marked=\"type\",p(We)):\"<\"==t?p(v(\">\"),V(Te,\">\"),y):void 0}function S(e,t){return\"@\"==t&&p(x,S),\"spread\"==e?p(S):u&&ee(t)?(c.marked=\"keyword\",p(S)):u&&\"this\"==e?p(E,$):s(T,E,$)}function Be(e,t){return(\"variable\"==e?Fe:He)(e,t)}function Fe(e,t){if(\"variable\"==e)return a(t),p(He)}function He(e,t){return\"<\"==t?p(v(\">\"),V(Te,\">\"),y,He):\"extends\"==t||\"implements\"==t||u&&\",\"==e?(\"implements\"==t&&(c.marked=\"keyword\"),p(u?z:x,He)):\"{\"==e?p(v(\"}\"),_,y):void 0}function _(e,t){return\"async\"==e||\"variable\"==e&&(\"static\"==t||\"get\"==t||\"set\"==t||u&&ee(t))&&c.stream.match(/^\\s+#?[\\w$\\xa1-\\uffff]/,!1)?(c.marked=\"keyword\",p(_)):\"variable\"==e||\"keyword\"==c.style?(c.marked=\"property\",p(De,_)):\"number\"==e||\"string\"==e?p(De,_):\"[\"==e?p(x,E,w(\"]\"),De,_):\"*\"==t?(c.marked=\"keyword\",p(_)):u&&\"(\"==e?s(C,_):\";\"==e||\",\"==e?p(_):\"}\"==e?p():\"@\"==t?p(x,_):void 0}function De(e,t){if(\"!\"==t)return p(De);if(\"?\"==t)return p(De);if(\":\"==e)return p(z,$);if(\"=\"==t)return p(h);e=c.state.lexical.prev;return s(e&&\"interface\"==e.info?C:q)}function Ge(e,t){return\"*\"==t?(c.marked=\"keyword\",p(Xe,w(\";\"))):\"default\"==t?(c.marked=\"keyword\",p(x,w(\";\"))):\"{\"==e?p(V(Je,\"}\"),Xe,w(\";\")):s(b)}function Je(e,t){return\"as\"==t?(c.marked=\"keyword\",p(w(\"variable\"))):\"variable\"==e?s(h,Je):void 0}function Ke(e){return\"string\"==e?p():\"(\"==e?s(x):\".\"==e?s(j):s(Le,Qe,Xe)}function Le(e,t){return\"{\"==e?we(Le,\"}\"):(\"variable\"==e&&a(t),\"*\"==t&&(c.marked=\"keyword\"),p(Re))}function Qe(e){if(\",\"==e)return p(Le,Qe)}function Re(e,t){if(\"as\"==t)return c.marked=\"keyword\",p(Le)}function Xe(e,t){if(\"from\"==t)return c.marked=\"keyword\",p(x)}function Ye(e){return\"]\"==e?p():s(V(h,\"]\"))}function Ze(){return s(v(\"form\"),T,w(\"{\"),v(\"}\"),V(et,\"}\"),y,y)}function et(){return s(T,$)}function tt(e,t,r){return t.tokenize==d&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\\[{}\\(,;:]|=>)$/.test(t.lastType)||\"quasi\"==t.lastType&&/\\{\\s*$/.test(e.string.slice(0,e.pos-(r||0)))}return m.lex=ae.lex=!0,y.lex=k.lex=!0,{startState:function(e){e={tokenize:d,lastType:\"sof\",cc:[],lexical:new X((e||0)-f,0,\"block\",!1),localVars:l.localVars,context:l.localVars&&new te(null,null,!1),indented:e||0};return l.globalVars&&\"object\"==typeof l.globalVars&&(e.globalVars=l.globalVars),e},token:function(e,t){if(e.sol()&&(t.lexical.hasOwnProperty(\"align\")||(t.lexical.align=!1),t.indented=e.indentation(),Q(e,t)),t.tokenize!=K&&e.eatSpace())return null;var r=t.tokenize(e,t);return\"comment\"==H?r:(t.lastType=\"operator\"!=H||\"++\"!=D&&\"--\"!=D?H:\"incdec\",Y(t,r,H,D,e))},indent:function(e,t){if(e.tokenize==K||e.tokenize==L)return rt.Pass;if(e.tokenize!=d)return 0;var r,n=t&&t.charAt(0),a=e.lexical;if(!/^\\s*else\\b/.test(t))for(var i=e.cc.length-1;0<=i;--i){var o=e.cc[i];if(o==y)a=a.prev;else if(o!=Oe&&o!=k)break}for(;(\"stat\"==a.type||\"form\"==a.type)&&(\"}\"==n||(r=e.cc[e.cc.length-1])&&(r==j||r==M)&&!/^[,\\.=+\\-*:?[\\(]/.test(t));)a=a.prev;var c,s=(a=N&&\")\"==a.type&&\"stat\"==a.prev.type?a.prev:a).type,u=n==s;return\"vardef\"==s?a.indented+(\"operator\"==e.lastType||\",\"==e.lastType?a.info.length+1:0):\"form\"==s&&\"{\"==n?a.indented:\"form\"==s?a.indented+f:\"stat\"==s?a.indented+(s=t,\"operator\"==(c=e).lastType||\",\"==c.lastType||G.test(s.charAt(0))||/[,.]/.test(s.charAt(0))?N||f:0):\"switch\"!=a.info||u||0==l.doubleIndentSwitch?a.align?a.column+(u?0:1):a.indented+(u?0:f):a.indented+(/^(?:case|default)\\b/.test(t)?f:2*f)},electricInput:/^\\s*(?:case .*?:|default:|\\{|\\})$/,blockCommentStart:o?null:\"/*\",blockCommentEnd:o?null:\"*/\",blockCommentContinue:o?null:\" * \",lineComment:o?null:\"//\",fold:\"brace\",closeBrackets:\"()[]{}''\\\"\\\"``\",helperType:o?\"json\":\"javascript\",jsonldMode:U,jsonMode:o,expressionAllowed:tt,skipExpression:function(e){Y(e,\"atom\",\"atom\",\"true\",new rt.StringStream(\"\",2,null))}}}),rt.registerHelper(\"wordChars\",\"javascript\",/[\\w$]/),rt.defineMIME(\"text/javascript\",\"javascript\"),rt.defineMIME(\"text/ecmascript\",\"javascript\"),rt.defineMIME(\"application/javascript\",\"javascript\"),rt.defineMIME(\"application/x-javascript\",\"javascript\"),rt.defineMIME(\"application/ecmascript\",\"javascript\"),rt.defineMIME(\"application/json\",{name:\"javascript\",json:!0}),rt.defineMIME(\"application/x-json\",{name:\"javascript\",json:!0}),rt.defineMIME(\"application/manifest+json\",{name:\"javascript\",json:!0}),rt.defineMIME(\"application/ld+json\",{name:\"javascript\",jsonld:!0}),rt.defineMIME(\"text/typescript\",{name:\"javascript\",typescript:!0}),rt.defineMIME(\"application/typescript\",{name:\"javascript\",typescript:!0})});"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-mode-javascript/files/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": [\n{\n\t\t\t\"file\": \"mode/javascript/javascript.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/codemirror/mode/javascript/javascript.js\",\n\t\t\t\t\"module-type\": \"codemirror\"\n\t\t\t}\n\t\t}\n\t]\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-mode-javascript/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/codemirror-mode-javascript\",\n\t\"name\": \"CodeMirror Mode JavaScript\",\n\t\"description\": \"JavaScript highlighting mode for CodeMirror\",\n\t\"parent-plugin\": \"$:/plugins/tiddlywiki/codemirror\",\n\t\"list\": \"readme\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-mode-javascript/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/codemirror-mode-javascript/readme\n\nThis plugin adds Syntax Highlighting for Javascript tiddlers (application/javascript) to the [[CodeMirror|http://codemirror.net]] text editor. It needs the latest [[CodeMirror plugin|$:/plugins/tiddlywiki/codemirror]] to be installed\n\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-mode-markdown/files/mode/markdown/markdown.js",
    "content": "!function(t){\"object\"==typeof exports&&\"object\"==typeof module?t(require(\"../../lib/codemirror\"),require(\"../xml/xml\"),require(\"../tw-meta\")):\"function\"==typeof define&&define.amd?define([\"../../lib/codemirror\",\"../xml/xml\",\"../meta\"],t):t(CodeMirror)}(function(w){\"use strict\";w.defineMode(\"markdown\",function(m,d){var g=w.getMode(m,\"text/html\"),u=\"null\"==g.name;void 0===d.highlightFormatting&&(d.highlightFormatting=!1),void 0===d.maxBlockquoteDepth&&(d.maxBlockquoteDepth=0),void 0===d.taskLists&&(d.taskLists=!1),void 0===d.strikethrough&&(d.strikethrough=!1),void 0===d.emoji&&(d.emoji=!1),void 0===d.fencedCodeBlockHighlighting&&(d.fencedCodeBlockHighlighting=!0),void 0===d.fencedCodeBlockDefaultMode&&(d.fencedCodeBlockDefaultMode=\"text/plain\"),void 0===d.xml&&(d.xml=!0),void 0===d.tokenTypeOverrides&&(d.tokenTypeOverrides={});var t,c={header:\"header\",code:\"comment\",quote:\"quote\",list1:\"variable-2\",list2:\"variable-3\",list3:\"keyword\",hr:\"hr\",image:\"image\",imageAltText:\"image-alt-text\",imageMarker:\"image-marker\",formatting:\"formatting\",linkInline:\"link\",linkEmail:\"link\",linkText:\"link\",linkHref:\"string\",em:\"em\",strong:\"strong\",strikethrough:\"strikethrough\",emoji:\"builtin\"};for(t in c)c.hasOwnProperty(t)&&d.tokenTypeOverrides[t]&&(c[t]=d.tokenTypeOverrides[t]);var f=/^([*\\-_])(?:\\s*\\1){2,}\\s*$/,k=/^(?:[*\\-+]|^[0-9]+([.)]))\\s+/,F=/^\\[(x| )\\](?=\\s)/i,D=d.allowAtxHeaderWithoutSpace?/^(#+)/:/^(#+)(?: |$)/,p=/^ {0,3}(?:\\={1,}|-{2,})\\s*$/,i=/^[^#!\\[\\]*_\\\\<>` \"'(~:]+/,E=/^(~~~+|```+)[ \\t]*([\\w\\/+#-]*)[^\\n`]*$/,x=/^\\s*\\[[^\\]]+?\\]:.*$/,A=/[!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~\\xA1\\xA7\\xAB\\xB6\\xB7\\xBB\\xBF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u0AF0\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166D\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u2308-\\u230B\\u2329\\u232A\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30-\\u2E42\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]|\\uD800[\\uDD00-\\uDD02\\uDF9F\\uDFD0]|\\uD801\\uDD6F|\\uD802[\\uDC57\\uDD1F\\uDD3F\\uDE50-\\uDE58\\uDE7F\\uDEF0-\\uDEF6\\uDF39-\\uDF3F\\uDF99-\\uDF9C]|\\uD804[\\uDC47-\\uDC4D\\uDCBB\\uDCBC\\uDCBE-\\uDCC1\\uDD40-\\uDD43\\uDD74\\uDD75\\uDDC5-\\uDDC9\\uDDCD\\uDDDB\\uDDDD-\\uDDDF\\uDE38-\\uDE3D\\uDEA9]|\\uD805[\\uDCC6\\uDDC1-\\uDDD7\\uDE41-\\uDE43\\uDF3C-\\uDF3E]|\\uD809[\\uDC70-\\uDC74]|\\uD81A[\\uDE6E\\uDE6F\\uDEF5\\uDF37-\\uDF3B\\uDF44]|\\uD82F\\uDC9F|\\uD836[\\uDE87-\\uDE8B]/;function C(t,e,i){return(e.f=e.inline=i)(t,e)}function S(t,e,i){return(e.f=e.block=i)(t,e)}function n(t){var e;return t.linkTitle=!1,t.linkHref=!1,t.linkText=!1,t.em=!1,t.strong=!1,t.strikethrough=!1,t.quote=0,t.indentedCode=!1,t.f==v&&(u?u:\"xml\"==(e=w.innerMode(g,t.htmlState)).mode.name&&null===e.state.tagStart&&!e.state.context&&e.state.tokenize.isInText)&&(t.f=T,t.block=a,t.htmlState=null),t.trailingSpace=0,t.trailingSpaceNewLine=!1,t.prevLine=t.thisLine,t.thisLine={stream:null},null}function a(t,e){var i=t.column()===e.indentation,n=!(n=e.prevLine.stream)||!/\\S/.test(n.string),u=e.indentedCode,a=e.prevLine.hr,r=!1!==e.list,o=(e.listStack[e.listStack.length-1]||0)+3,l=(e.indentedCode=!1,e.indentation);if(null===e.indentationDiff&&(e.indentationDiff=e.indentation,r)){for(e.list=null;l<e.listStack[e.listStack.length-1];)e.listStack.pop(),e.listStack.length?e.indentation=e.listStack[e.listStack.length-1]:e.list=!1;!1!==e.list&&(e.indentationDiff=l-e.listStack[e.listStack.length-1])}var h,s=!(n||a||e.prevLine.header||r&&u||e.prevLine.fencedCodeEnd),a=(!1===e.list||a||n)&&e.indentation<=o&&t.match(f),g=null;return 4<=e.indentationDiff&&(u||e.prevLine.fencedCodeEnd||e.prevLine.header||n)?(t.skipToEnd(),e.indentedCode=!0,c.code):t.eatSpace()?null:i&&e.indentation<=o&&(g=t.match(D))&&g[1].length<=6?(e.quote=0,e.header=g[1].length,e.thisLine.header=!0,d.highlightFormatting&&(e.formatting=\"header\"),e.f=e.inline,L(e)):e.indentation<=o&&t.eat(\">\")?(e.quote=i?1:e.quote+1,d.highlightFormatting&&(e.formatting=\"quote\"),t.eatSpace(),L(e)):!a&&!e.setext&&i&&e.indentation<=o&&(g=t.match(k))?(u=g[1]?\"ol\":\"ul\",e.indentation=l+t.current().length,e.list=!0,e.quote=0,e.listStack.push(e.indentation),e.em=!1,e.strong=!1,e.code=!1,e.strikethrough=!1,d.taskLists&&t.match(F,!1)&&(e.taskList=!0),e.f=e.inline,d.highlightFormatting&&(e.formatting=[\"list\",\"list-\"+u]),L(e)):i&&e.indentation<=o&&(g=t.match(E,!0))?(e.quote=0,e.fencedEndRE=new RegExp(g[1]+\"+ *$\"),e.localMode=d.fencedCodeBlockHighlighting&&(n=g[2]||d.fencedCodeBlockDefaultMode,w.findModeByName&&(h=w.findModeByName(n))&&(n=h.mime||h.mimes[0]),\"null\"==(h=w.getMode(m,n)).name?null:h),e.localMode&&(e.localState=w.startState(e.localMode)),e.f=e.block=B,d.highlightFormatting&&(e.formatting=\"code-block\"),e.code=-1,L(e)):e.setext||!(s&&r||e.quote||!1!==e.list||e.code||a||x.test(t.string))&&(g=t.lookAhead(1))&&(g=g.match(p))?(e.setext?(e.header=e.setext,e.setext=0,t.skipToEnd(),d.highlightFormatting&&(e.formatting=\"header\")):(e.header=\"=\"==g[0].charAt(0)?1:2,e.setext=e.header),e.thisLine.header=!0,e.f=e.inline,L(e)):a?(t.skipToEnd(),e.hr=!0,e.thisLine.hr=!0,c.hr):\"[\"===t.peek()?C(t,e,b):C(t,e,e.inline)}function v(t,e){var i,n=g.token(t,e.htmlState);return u||(\"xml\"==(i=w.innerMode(g,e.htmlState)).mode.name&&null===i.state.tagStart&&!i.state.context&&i.state.tokenize.isInText||e.md_inside&&-1<t.current().indexOf(\">\"))&&(e.f=T,e.block=a,e.htmlState=null),n}function B(t,e){var i,n=e.listStack[e.listStack.length-1]||0,u=e.indentation<n;return e.fencedEndRE&&e.indentation<=n+3&&(u||t.match(e.fencedEndRE))?(d.highlightFormatting&&(e.formatting=\"code-block\"),u||(i=L(e)),e.localMode=e.localState=null,e.block=a,e.f=T,e.fencedEndRE=null,e.code=0,e.thisLine.fencedCodeEnd=!0,u?S(t,e,e.block):i):e.localMode?e.localMode.token(t,e.localState):(t.skipToEnd(),c.code)}function L(t){var e,i=[];if(t.formatting){i.push(c.formatting),\"string\"==typeof t.formatting&&(t.formatting=[t.formatting]);for(var n=0;n<t.formatting.length;n++)i.push(c.formatting+\"-\"+t.formatting[n]),\"header\"===t.formatting[n]&&i.push(c.formatting+\"-\"+t.formatting[n]+\"-\"+t.header),\"quote\"===t.formatting[n]&&(!d.maxBlockquoteDepth||d.maxBlockquoteDepth>=t.quote?i.push(c.formatting+\"-\"+t.formatting[n]+\"-\"+t.quote):i.push(\"error\"))}return t.taskOpen?i.push(\"meta\"):t.taskClosed?i.push(\"property\"):(t.linkHref?i.push(c.linkHref,\"url\"):(t.strong&&i.push(c.strong),t.em&&i.push(c.em),t.strikethrough&&i.push(c.strikethrough),t.emoji&&i.push(c.emoji),t.linkText&&i.push(c.linkText),t.code&&i.push(c.code),t.image&&i.push(c.image),t.imageAltText&&i.push(c.imageAltText,\"link\"),t.imageMarker&&i.push(c.imageMarker)),t.header&&i.push(c.header,c.header+\"-\"+t.header),t.quote&&(i.push(c.quote),!d.maxBlockquoteDepth||d.maxBlockquoteDepth>=t.quote?i.push(c.quote+\"-\"+t.quote):i.push(c.quote+\"-\"+d.maxBlockquoteDepth)),!1!==t.list&&((e=(t.listStack.length-1)%3)?1==e?i.push(c.list2):i.push(c.list3):i.push(c.list1)),t.trailingSpaceNewLine?i.push(\"trailing-space-new-line\"):t.trailingSpace&&i.push(\"trailing-space-\"+(t.trailingSpace%2?\"a\":\"b\"))),i.length?i.join(\" \"):null}function e(t,e){if(t.match(i,!0))return L(e)}function T(t,e){var i=e.text(t,e);if(void 0!==i)return i;if(e.list)return e.list=null,L(e);if(e.taskList)return\" \"===t.match(F,!0)[1]?e.taskOpen=!0:e.taskClosed=!0,d.highlightFormatting&&(e.formatting=\"task\"),e.taskList=!1,L(e);if(e.taskOpen=!1,e.taskClosed=!1,e.header&&t.match(/^#+$/,!0))return d.highlightFormatting&&(e.formatting=\"header\"),L(e);var n=t.next();if(e.linkTitle){e.linkTitle=!1;var i=((i=\"(\"===n?\")\":n)+\"\").replace(/([.?*+^\\[\\]\\\\(){}|-])/g,\"\\\\$1\");if(t.match(new RegExp(\"^\\\\s*(?:[^\"+i+\"\\\\\\\\]+|\\\\\\\\\\\\\\\\|\\\\\\\\.)\"+i),!0))return c.linkHref}if(\"`\"===n)return i=e.formatting,d.highlightFormatting&&(e.formatting=\"code\"),t.eatWhile(\"`\"),o=t.current().length,0!=e.code||e.quote&&1!=o?o==e.code?(r=L(e),e.code=0,r):(e.formatting=i,L(e)):(e.code=o,L(e));if(e.code)return L(e);if(\"\\\\\"===n&&(t.next(),d.highlightFormatting))return a=L(e),i=c.formatting+\"-escape\",a?a+\" \"+i:i;if(\"!\"===n&&t.match(/\\[[^\\]]*\\] ?(?:\\(|\\[)/,!1))return e.imageMarker=!0,e.image=!0,d.highlightFormatting&&(e.formatting=\"image\"),L(e);if(\"[\"===n&&e.imageMarker&&t.match(/[^\\]]*\\](\\(.*?\\)| ?\\[.*?\\])/,!1))return e.imageMarker=!1,e.imageAltText=!0,d.highlightFormatting&&(e.formatting=\"image\"),L(e);if(\"]\"===n&&e.imageAltText)return d.highlightFormatting&&(e.formatting=\"image\"),a=L(e),e.imageAltText=!1,e.image=!1,e.inline=e.f=q,a;if(\"[\"===n&&!e.image)return e.linkText&&t.match(/^.*?\\]/)||(e.linkText=!0,d.highlightFormatting&&(e.formatting=\"link\")),L(e);if(\"]\"===n&&e.linkText)return d.highlightFormatting&&(e.formatting=\"link\"),a=L(e),e.linkText=!1,e.inline=e.f=t.match(/\\(.*?\\)| ?\\[.*?\\]/,!1)?q:T,a;if(\"<\"===n&&t.match(/^(https?|ftps?):\\/\\/(?:[^\\\\>]|\\\\.)+>/,!1))return e.f=e.inline=M,d.highlightFormatting&&(e.formatting=\"link\"),(a=L(e))?a+=\" \":a=\"\",a+c.linkInline;if(\"<\"===n&&t.match(/^[^> \\\\]+@(?:[^\\\\>]|\\\\.)+>/,!1))return e.f=e.inline=M,d.highlightFormatting&&(e.formatting=\"link\"),(a=L(e))?a+=\" \":a=\"\",a+c.linkEmail;if(d.xml&&\"<\"===n&&t.match(/^(!--|\\?|!\\[CDATA\\[|[a-z][a-z0-9-]*(?:\\s+[a-z_:.\\-]+(?:\\s*=\\s*[^>]+)?)*\\s*(?:>|$))/i,!1))return-1!=(o=t.string.indexOf(\">\",t.pos))&&(i=t.string.substring(t.start,o),/markdown\\s*=\\s*('|\"){0,1}1('|\"){0,1}/.test(i)&&(e.md_inside=!0)),t.backUp(1),e.htmlState=w.startState(g),S(t,e,v);if(d.xml&&\"<\"===n&&t.match(/^\\/\\w*?>/))return e.md_inside=!1,\"tag\";if(\"*\"===n||\"_\"===n){for(var u=1,a=1==t.pos?\" \":t.string.charAt(t.pos-2);u<3&&t.eat(n);)u++;var r,o=t.peek()||\" \",i=!/\\s/.test(o)&&(!A.test(o)||/\\s/.test(a)||A.test(a)),l=!/\\s/.test(a)&&(!A.test(a)||/\\s/.test(o)||A.test(o)),h=null,s=null;if(u%2&&(e.em||!i||\"*\"!==n&&l&&!A.test(a)?e.em!=n||!l||\"*\"!==n&&i&&!A.test(o)||(h=!1):h=!0),1<u&&(e.strong||!i||\"*\"!==n&&l&&!A.test(a)?e.strong!=n||!l||\"*\"!==n&&i&&!A.test(o)||(s=!1):s=!0),null!=s||null!=h)return d.highlightFormatting&&(e.formatting=null==h?\"strong\":null==s?\"em\":\"strong em\"),!0===h&&(e.em=n),!0===s&&(e.strong=n),r=L(e),!1===h&&(e.em=!1),!1===s&&(e.strong=!1),r}else if(\" \"===n&&(t.eat(\"*\")||t.eat(\"_\"))){if(\" \"===t.peek())return L(e);t.backUp(1)}if(d.strikethrough)if(\"~\"===n&&t.eatWhile(n)){if(e.strikethrough)return d.highlightFormatting&&(e.formatting=\"strikethrough\"),r=L(e),e.strikethrough=!1,r;if(t.match(/^[^\\s]/,!1))return e.strikethrough=!0,d.highlightFormatting&&(e.formatting=\"strikethrough\"),L(e)}else if(\" \"===n&&t.match(\"~~\",!0)){if(\" \"===t.peek())return L(e);t.backUp(2)}return d.emoji&&\":\"===n&&t.match(/^(?:[a-z_\\d+][a-z_\\d+-]*|\\-[a-z_\\d+][a-z_\\d+-]*):/)?(e.emoji=!0,d.highlightFormatting&&(e.formatting=\"emoji\"),a=L(e),e.emoji=!1,a):(\" \"===n&&(t.match(/^ +$/,!1)?e.trailingSpace++:e.trailingSpace&&(e.trailingSpaceNewLine=!0)),L(e))}function M(t,e){return\">\"===t.next()?(e.f=e.inline=T,d.highlightFormatting&&(e.formatting=\"link\"),(e=L(e))?e+=\" \":e=\"\",e+c.linkInline):(t.match(/^[^>]+/,!0),c.linkInline)}function q(t,e){if(t.eatSpace())return null;var n,t=t.next();return\"(\"===t||\"[\"===t?(e.f=e.inline=(n=\"(\"===t?\")\":\"]\",function(t,e){var i;return t.next()===n?(e.f=e.inline=T,d.highlightFormatting&&(e.formatting=\"link-string\"),i=L(e),e.linkHref=!1,i):(t.match(r[n]),e.linkHref=!0,L(e))}),d.highlightFormatting&&(e.formatting=\"link-string\"),e.linkHref=!0,L(e)):\"error\"}var r={\")\":/^(?:[^\\\\\\(\\)]|\\\\.|\\((?:[^\\\\\\(\\)]|\\\\.)*\\))*?(?=\\))/,\"]\":/^(?:[^\\\\\\[\\]]|\\\\.|\\[(?:[^\\\\\\[\\]]|\\\\.)*\\])*?(?=\\])/};function b(t,e){return t.match(/^([^\\]\\\\]|\\\\.)*\\]:/,!1)?(e.f=o,t.next(),d.highlightFormatting&&(e.formatting=\"link\"),e.linkText=!0,L(e)):C(t,e,T)}function o(t,e){var i;return t.match(\"]:\",!0)?(e.f=e.inline=l,d.highlightFormatting&&(e.formatting=\"link\"),i=L(e),e.linkText=!1,i):(t.match(/^([^\\]\\\\]|\\\\.)+/,!0),c.linkText)}function l(t,e){return t.eatSpace()?null:(t.match(/^[^\\s]+/,!0),void 0===t.peek()?e.linkTitle=!0:t.match(/^(?:\\s+(?:\"(?:[^\"\\\\]|\\\\.)+\"|'(?:[^'\\\\]|\\\\.)+'|\\((?:[^)\\\\]|\\\\.)+\\)))?/,!0),e.f=e.inline=T,c.linkHref+\" url\")}var h={startState:function(){return{f:a,prevLine:{stream:null},thisLine:{stream:null},block:a,htmlState:null,indentation:0,inline:T,text:e,formatting:!1,linkText:!1,linkHref:!1,linkTitle:!1,code:0,em:!1,strong:!1,header:0,setext:0,hr:!1,taskList:!1,list:!1,listStack:[],quote:0,trailingSpace:0,trailingSpaceNewLine:!1,strikethrough:!1,emoji:!1,fencedEndRE:null}},copyState:function(t){return{f:t.f,prevLine:t.prevLine,thisLine:t.thisLine,block:t.block,htmlState:t.htmlState&&w.copyState(g,t.htmlState),indentation:t.indentation,localMode:t.localMode,localState:t.localMode?w.copyState(t.localMode,t.localState):null,inline:t.inline,text:t.text,formatting:!1,linkText:t.linkText,linkTitle:t.linkTitle,linkHref:t.linkHref,code:t.code,em:t.em,strong:t.strong,strikethrough:t.strikethrough,emoji:t.emoji,header:t.header,setext:t.setext,hr:t.hr,taskList:t.taskList,list:t.list,listStack:t.listStack.slice(0),quote:t.quote,indentedCode:t.indentedCode,trailingSpace:t.trailingSpace,trailingSpaceNewLine:t.trailingSpaceNewLine,md_inside:t.md_inside,fencedEndRE:t.fencedEndRE}},token:function(t,e){if(e.formatting=!1,t!=e.thisLine.stream){if(e.header=0,e.hr=!1,t.match(/^\\s*$/,!0))return n(e),null;if(e.prevLine=e.thisLine,e.thisLine={stream:t},e.taskList=!1,e.trailingSpace=0,e.trailingSpaceNewLine=!1,!e.localState&&(e.f=e.block,e.f!=v)){var i=t.match(/^\\s*/,!0)[0].replace(/\\t/g,\"    \").length;if(e.indentation=i,e.indentationDiff=null,0<i)return null}}return e.f(t,e)},innerMode:function(t){return t.block==v?{state:t.htmlState,mode:g}:t.localState?{state:t.localState,mode:t.localMode}:{state:t,mode:h}},indent:function(t,e,i){return t.block==v&&g.indent?g.indent(t.htmlState,e,i):t.localState&&t.localMode.indent?t.localMode.indent(t.localState,e,i):w.Pass},blankLine:n,getType:L,blockCommentStart:\"\\x3c!--\",blockCommentEnd:\"--\\x3e\",closeBrackets:\"()[]{}''\\\"\\\"``\",fold:\"markdown\"};return h},\"xml\"),w.defineMIME(\"text/markdown\",\"markdown\"),w.defineMIME(\"text/x-markdown\",\"markdown\")});"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-mode-markdown/files/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": [\n{\n\t\t\t\"file\": \"mode/markdown/markdown.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/codemirror/mode/markdown/markdown.js\",\n\t\t\t\t\"module-type\": \"codemirror\"\n\t\t\t}\n\t\t}\n\t]\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-mode-markdown/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/codemirror-mode-markdown\",\n\t\"name\": \"CodeMirror Mode Markdown\",\n\t\"description\": \"Markdown highlighting mode for CodeMirror\",\n\t\"parent-plugin\": \"$:/plugins/tiddlywiki/codemirror\",\n\t\"dependents\": [\"$:/plugins/tiddlywiki/codemirror-mode-xml\"],\n\t\"list\": \"readme\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-mode-markdown/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/codemirror-mode-markdown/readme\n\nThis plugin adds Syntax Highlighting for Markdown tiddlers (text/x-markdown) to the [[CodeMirror|http://codemirror.net]] text editor. It needs the latest [[CodeMirror plugin|$:/plugins/tiddlywiki/codemirror]] to be installed\n\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-mode-x-tiddlywiki/files/mode/tiddlywiki/tiddlywiki.css",
    "content": "span.cm-underlined{text-decoration:underline}span.cm-strikethrough{text-decoration:line-through}span.cm-brace{color:#170;font-weight:700}span.cm-table{color:#00f;font-weight:700}"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-mode-x-tiddlywiki/files/mode/tiddlywiki/tiddlywiki.js",
    "content": "!function(e){\"object\"==typeof exports&&\"object\"==typeof module?e(require(\"../../lib/codemirror\")):\"function\"==typeof define&&define.amd?define([\"../../lib/codemirror\"],e):e(CodeMirror)}(function(e){\"use strict\";e.defineMode(\"tiddlywiki\",function(){var i={},n={allTags:!0,closeAll:!0,list:!0,newJournal:!0,newTiddler:!0,permaview:!0,saveChanges:!0,search:!0,slider:!0,tabs:!0,tag:!0,tagging:!0,tags:!0,tiddler:!0,timeline:!0,today:!0,version:!0,option:!0,with:!0,filter:!0},o=/[\\w_\\-]/i,u=/^\\-\\-\\-\\-+$/,a=/^\\/\\*\\*\\*$/,f=/^\\*\\*\\*\\/$/,c=/^<<<$/,l=/^\\/\\/\\{\\{\\{$/,m=/^\\/\\/\\}\\}\\}$/,k=/^<!--\\{\\{\\{-->$/,d=/^<!--\\}\\}\\}-->$/,h=/^\\{\\{\\{$/,s=/^\\}\\}\\}$/,b=/.*?\\}\\}\\}/;function p(e,t,r){return(t.tokenize=r)(e,t)}function $(e,t){var r=e.sol(),n=e.peek();if(t.block=!1,r&&/[<\\/\\*{}\\-]/.test(n)){if(e.match(h))return t.block=!0,p(e,t,x);if(e.match(c))return\"quote\";if(e.match(a)||e.match(f))return\"comment\";if(e.match(l)||e.match(m)||e.match(k)||e.match(d))return\"comment\";if(e.match(u))return\"hr\"}if(e.next(),r&&/[\\/\\*!#;:>|]/.test(n)){if(\"!\"==n)return e.skipToEnd(),\"header\";if(\"*\"==n)return e.eatWhile(\"*\"),\"comment\";if(\"#\"==n)return e.eatWhile(\"#\"),\"comment\";if(\";\"==n)return e.eatWhile(\";\"),\"comment\";if(\":\"==n)return e.eatWhile(\":\"),\"comment\";if(\">\"==n)return e.eatWhile(\">\"),\"quote\";if(\"|\"==n)return\"header\"}if(\"{\"==n&&e.match(\"{{\"))return p(e,t,x);if(/[hf]/i.test(n)&&/[ti]/i.test(e.peek())&&e.match(/\\b(ttps?|tp|ile):\\/\\/[\\-A-Z0-9+&@#\\/%?=~_|$!:,.;]*[A-Z0-9+&@#\\/%=~_|$]/i))return\"link\";if('\"'==n)return\"string\";if(\"~\"==n)return\"brace\";if(/[\\[\\]]/.test(n)&&e.match(n))return\"brace\";if(\"@\"==n)return e.eatWhile(o),\"link\";if(/\\d/.test(n))return e.eatWhile(/\\d/),\"number\";if(\"/\"==n){if(e.eat(\"%\"))return p(e,t,v);if(e.eat(\"/\"))return p(e,t,y)}if(\"_\"==n&&e.eat(\"_\"))return p(e,t,z);if(\"-\"==n&&e.eat(\"-\")){if(\" \"!=e.peek())return p(e,t,g);if(\" \"==e.peek())return\"brace\"}return\"'\"==n&&e.eat(\"'\")?p(e,t,w):\"<\"==n&&e.eat(\"<\")?p(e,t,W):(e.eatWhile(/[\\w\\$_]/),i.propertyIsEnumerable(e.current())?\"keyword\":null)}function v(e,t){for(var r,n=!1;r=e.next();){if(\"/\"==r&&n){t.tokenize=$;break}n=\"%\"==r}return\"comment\"}function w(e,t){for(var r,n=!1;r=e.next();){if(\"'\"==r&&n){t.tokenize=$;break}n=\"'\"==r}return\"strong\"}function x(e,t){var r=t.block;return r&&e.current()||(!r&&e.match(b)||r&&e.sol()&&e.match(s)?t.tokenize=$:e.next()),\"comment\"}function y(e,t){for(var r,n=!1;r=e.next();){if(\"/\"==r&&n){t.tokenize=$;break}n=\"/\"==r}return\"em\"}function z(e,t){for(var r,n=!1;r=e.next();){if(\"_\"==r&&n){t.tokenize=$;break}n=\"_\"==r}return\"underlined\"}function g(e,t){for(var r,n=!1;r=e.next();){if(\"-\"==r&&n){t.tokenize=$;break}n=\"-\"==r}return\"strikethrough\"}function W(e,t){if(\"<<\"==e.current())return\"macro\";var r=e.next();return r?\">\"==r&&\">\"==e.peek()?(e.next(),t.tokenize=$,\"macro\"):(e.eatWhile(/[\\w\\$_]/),n.propertyIsEnumerable(e.current())?\"keyword\":null):(t.tokenize=$,null)}return{startState:function(){return{tokenize:$}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)}}}),e.defineMIME(\"text/x-tiddlywiki\",\"tiddlywiki\")});"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-mode-x-tiddlywiki/files/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": [\n\t\t{\n\t\t\t\"file\": \"mode/tiddlywiki/tiddlywiki.css\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"text/css\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/codemirror/mode/tiddlywiki/tiddlywiki.css\",\n\t\t\t\t\"tags\": \"[[$:/tags/Stylesheet]]\"\n\t\t\t}\n\t\t},{\n\t\t\t\"file\": \"mode/tiddlywiki/tiddlywiki.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/codemirror/mode/tiddlywiki/tiddlywiki.js\",\n\t\t\t\t\"module-type\": \"codemirror\"\n\t\t\t}\n\t\t}\n\t]\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-mode-x-tiddlywiki/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/codemirror-mode-x-tiddlywiki\",\n\t\"name\": \"CodeMirror Mode TiddlyWiki Classic\",\n\t\"description\": \"Tiddlywiki Classic highlighting mode for CodeMirror\",\n\t\"parent-plugin\": \"$:/plugins/tiddlywiki/codemirror\",\n\t\"list\": \"readme\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-mode-x-tiddlywiki/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/codemirror-mode-x-tiddlywiki/readme\n\nThis plugin adds Syntax Highlighting for ~TiddlyWiki Classic tiddlers (text/x-tiddlywiki) to the [[CodeMirror|http://codemirror.net]] text editor. It needs the latest [[CodeMirror plugin|$:/plugins/tiddlywiki/codemirror]] to be installed\n\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-mode-xml/files/mode/xml/xml.js",
    "content": "!function(t){\"object\"==typeof exports&&\"object\"==typeof module?t(require(\"../../lib/codemirror\")):\"function\"==typeof define&&define.amd?define([\"../../lib/codemirror\"],t):t(CodeMirror)}(function(y){\"use strict\";var C={autoSelfClosers:{area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},implicitlyClosed:{dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},contextGrabbers:{dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}},doNotIndent:{pre:!0},allowUnquoted:!0,allowMissing:!0,caseFold:!0},z={autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:!1,allowMissing:!1,allowMissingTagName:!1,caseFold:!1};y.defineMode(\"xml\",function(t,e){var n,i,a,l=t.indentUnit,u={},r=e.htmlMode?C:z;for(n in r)u[n]=r[n];for(n in e)u[n]=e[n];function c(e,n){function t(t){return(n.tokenize=t)(e,n)}var r=e.next();return\"<\"==r?e.eat(\"!\")?e.eat(\"[\")?e.match(\"CDATA[\")?t(o(\"atom\",\"]]>\")):null:e.match(\"--\")?t(o(\"comment\",\"--\\x3e\")):e.match(\"DOCTYPE\",!0,!0)?(e.eatWhile(/[\\w\\._\\-]/),t(function r(o){return function(t,e){for(var n;null!=(n=t.next());){if(\"<\"==n)return e.tokenize=r(o+1),e.tokenize(t,e);if(\">\"==n){if(1!=o)return e.tokenize=r(o-1),e.tokenize(t,e);e.tokenize=c;break}}return\"meta\"}}(1))):null:e.eat(\"?\")?(e.eatWhile(/[\\w\\._\\-]/),n.tokenize=o(\"meta\",\"?>\"),\"meta\"):(i=e.eat(\"/\")?\"closeTag\":\"openTag\",n.tokenize=d,\"tag bracket\"):\"&\"==r?(e.eat(\"#\")?e.eat(\"x\")?e.eatWhile(/[a-fA-F\\d]/)&&e.eat(\";\"):e.eatWhile(/[\\d]/)&&e.eat(\";\"):e.eatWhile(/[\\w\\.\\-:]/)&&e.eat(\";\"))?\"atom\":\"error\":(e.eatWhile(/[^&<]/),null)}function d(t,e){var n,r,o=t.next();return\">\"==o||\"/\"==o&&t.eat(\">\")?(e.tokenize=c,i=\">\"==o?\"endTag\":\"selfcloseTag\",\"tag bracket\"):\"=\"==o?(i=\"equals\",null):\"<\"==o?(e.tokenize=c,e.state=p,e.tagName=e.tagStart=null,(n=e.tokenize(t,e))?n+\" tag error\":\"tag error\"):/[\\'\\\"]/.test(o)?(e.tokenize=(r=o,a.isInAttribute=!0,a),e.stringStartCol=t.column(),e.tokenize(t,e)):(t.match(/^[^\\s\\u00a0=<>\\\"\\']*[^\\s\\u00a0=<>\\\"\\'\\/]/),\"word\");function a(t,e){for(;!t.eol();)if(t.next()==r){e.tokenize=d;break}return\"string\"}}function o(n,r){return function(t,e){for(;!t.eol();){if(t.match(r)){e.tokenize=c;break}t.next()}return n}}function s(t){return t&&t.toLowerCase()}function f(t,e,n){this.prev=t.context,this.tagName=e||\"\",this.indent=t.indented,this.startOfLine=n,(u.doNotIndent.hasOwnProperty(e)||t.context&&t.context.noIndent)&&(this.noIndent=!0)}function m(t){t.context&&(t.context=t.context.prev)}function g(t,e){for(var n;;){if(!t.context)return;if(n=t.context.tagName,!u.contextGrabbers.hasOwnProperty(s(n))||!u.contextGrabbers[s(n)].hasOwnProperty(s(e)))return;m(t)}}function p(t,e,n){return\"openTag\"==t?(n.tagStart=e.column(),h):\"closeTag\"==t?x:p}function h(t,e,n){return\"word\"==t?(n.tagName=e.current(),a=\"tag\",w):u.allowMissingTagName&&\"endTag\"==t?(a=\"tag bracket\",w(t,0,n)):(a=\"error\",h)}function x(t,e,n){var r;return\"word\"==t?(r=e.current(),n.context&&n.context.tagName!=r&&u.implicitlyClosed.hasOwnProperty(s(n.context.tagName))&&m(n),n.context&&n.context.tagName==r||!1===u.matchClosing?(a=\"tag\",b):(a=\"tag error\",k)):u.allowMissingTagName&&\"endTag\"==t?(a=\"tag bracket\",b(t,0,n)):(a=\"error\",k)}function b(t,e,n){return\"endTag\"!=t?(a=\"error\",b):(m(n),p)}function k(t,e,n){return a=\"error\",b(t,0,n)}function w(t,e,n){return\"word\"==t?(a=\"attribute\",T):\"endTag\"==t||\"selfcloseTag\"==t?(r=n.tagName,o=n.tagStart,n.tagName=n.tagStart=null,\"selfcloseTag\"==t||u.autoSelfClosers.hasOwnProperty(s(r))?g(n,r):(g(n,r),n.context=new f(n,r,o==n.indented)),p):(a=\"error\",w);var r,o}function T(t,e,n){return\"equals\"==t?v:(u.allowMissing||(a=\"error\"),w(t,0,n))}function v(t,e,n){return\"string\"==t?N:\"word\"==t&&u.allowUnquoted?(a=\"string\",w):(a=\"error\",w(t,0,n))}function N(t,e,n){return\"string\"==t?N:w(t,0,n)}return c.isInText=!0,{startState:function(t){var e={tokenize:c,state:p,indented:t||0,tagName:null,tagStart:null,context:null};return null!=t&&(e.baseIndent=t),e},token:function(t,e){if(!e.tagName&&t.sol()&&(e.indented=t.indentation()),t.eatSpace())return null;i=null;var n=e.tokenize(t,e);return(n||i)&&\"comment\"!=n&&(a=null,e.state=e.state(i||n,t,e),a&&(n=\"error\"==a?n+\" error\":a)),n},indent:function(t,e,n){var r=t.context;if(t.tokenize.isInAttribute)return t.tagStart==t.indented?t.stringStartCol+1:t.indented+l;if(r&&r.noIndent)return y.Pass;if(t.tokenize!=d&&t.tokenize!=c)return n?n.match(/^(\\s*)/)[0].length:0;if(t.tagName)return!1!==u.multilineTagIndentPastTag?t.tagStart+t.tagName.length+2:t.tagStart+l*(u.multilineTagIndentFactor||1);if(u.alignCDATA&&/<!\\[CDATA\\[/.test(e))return 0;var o=e&&/^<(\\/)?([\\w_:\\.-]*)/.exec(e);if(o&&o[1])for(;r;){if(r.tagName==o[2]){r=r.prev;break}if(!u.implicitlyClosed.hasOwnProperty(s(r.tagName)))break;r=r.prev}else if(o)for(;r;){var a=u.contextGrabbers[s(r.tagName)];if(!a||!a.hasOwnProperty(s(o[2])))break;r=r.prev}for(;r&&r.prev&&!r.startOfLine;)r=r.prev;return r?r.indent+l:t.baseIndent||0},electricInput:/<\\/[\\s\\w:]+>$/,blockCommentStart:\"\\x3c!--\",blockCommentEnd:\"--\\x3e\",configuration:u.htmlMode?\"html\":\"xml\",helperType:u.htmlMode?\"html\":\"xml\",skipAttribute:function(t){t.state==v&&(t.state=w)},xmlCurrentTag:function(t){return t.tagName?{name:t.tagName,close:\"closeTag\"==t.type}:null},xmlCurrentContext:function(t){for(var e=[],n=t.context;n;n=n.prev)e.push(n.tagName);return e.reverse()}}}),y.defineMIME(\"text/xml\",\"xml\"),y.defineMIME(\"application/xml\",\"xml\"),y.mimeModes.hasOwnProperty(\"text/html\")||y.defineMIME(\"text/html\",{name:\"xml\",htmlMode:!0})});"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-mode-xml/files/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": [\n\t\t{\n\t\t\t\"file\": \"mode/xml/xml.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/codemirror/mode/xml/xml.js\",\n\t\t\t\t\"module-type\": \"codemirror\"\n\t\t\t}\n\t\t}\n\t]\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-mode-xml/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/codemirror-mode-xml\",\n\t\"name\": \"CodeMirror Mode XML\",\n\t\"description\": \"XML highlighting mode for CodeMirror\",\n\t\"parent-plugin\": \"$:/plugins/tiddlywiki/codemirror\",\n\t\"list\": \"readme\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-mode-xml/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/codemirror-mode-xml/readme\n\nThis plugin is a requirement for other Syntax-highlighting plugins and adds Highlighting for XML tiddlers (application/xml) to the [[CodeMirror|http://codemirror.net]] text editor. It needs the latest [[CodeMirror plugin|$:/plugins/tiddlywiki/codemirror]] to be installed\n\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-search-replace/files/addon/search/jump-to-line.js",
    "content": "!function(e){\"object\"==typeof exports&&\"object\"==typeof module?e(require(\"../../lib/codemirror\"),require(\"../dialog/dialog\")):\"function\"==typeof define&&define.amd?define([\"../../lib/codemirror\",\"../dialog/dialog\"],e):e(CodeMirror)}(function(e){\"use strict\";function l(e,o){var r=Number(o);return/^[-+]/.test(o)?e.getCursor().line+r:r-1}e.defineOption(\"search\",{bottom:!1}),e.commands.jumpToLine=function(t){var e,o,r,s,i,n=t.getCursor();i=(i=e=t).phrase(\"Jump to line:\")+' <input type=\"text\" style=\"width: 10em\" class=\"CodeMirror-search-field\"/> <span style=\"color: #888\" class=\"CodeMirror-search-hint\">'+i.phrase(\"(Use line:column or scroll% syntax)\")+\"</span>\",o=t.phrase(\"Jump to line:\"),r=n.line+1+\":\"+n.ch,s=function(e){var o,r;e&&((o=/^\\s*([\\+\\-]?\\d+)\\s*\\:\\s*(\\d+)\\s*$/.exec(e))?t.setCursor(l(t,o[1]),Number(o[2])):(o=/^\\s*([\\+\\-]?\\d+(\\.\\d+)?)\\%\\s*/.exec(e))?(r=Math.round(t.lineCount()*Number(o[1])/100),/^[-+]/.test(o[1])&&(r=n.line+r+1),t.setCursor(r-1,n.ch)):(o=/^\\s*\\:?\\s*([\\+\\-]?\\d+)\\s*/.exec(e))&&t.setCursor(l(t,o[1]),n.ch))},e.openDialog?e.openDialog(i,s,{value:r,selectValueOnOpen:!0,bottom:e.options.search.bottom}):s(prompt(o,r))},e.keyMap.default[\"Alt-G\"]=\"jumpToLine\"});"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-search-replace/files/addon/search/search.js",
    "content": "!function(e){\"object\"==typeof exports&&\"object\"==typeof module?e(require(\"../../lib/codemirror\"),require(\"./searchcursor\"),require(\"../dialog/dialog\")):\"function\"==typeof define&&define.amd?define([\"../../lib/codemirror\",\"./searchcursor\",\"../dialog/dialog\"],e):e(CodeMirror)}(function(f){\"use strict\";function r(){this.posFrom=this.posTo=this.lastQuery=this.query=null,this.overlay=null}function p(e){return e.state.search||(e.state.search=new r)}function n(e){return\"string\"==typeof e&&e==e.toLowerCase()}function d(e,r,o){return e.getSearchCursor(r,o,{caseFold:n(r),multiline:!0})}function m(e,r,o,t,n){e.openDialog?e.openDialog(r,n,{value:t,selectValueOnOpen:!0,bottom:e.options.search.bottom}):n(prompt(o,t))}function h(e){return e.replace(/\\\\([nrt\\\\])/g,function(e,r){return\"n\"==r?\"\\n\":\"r\"==r?\"\\r\":\"t\"==r?\"\\t\":\"\\\\\"==r?\"\\\\\":e})}function a(e){var r=e.match(/^\\/(.*)\\/([a-z]*)$/);if(r)try{e=new RegExp(r[1],-1==r[2].indexOf(\"i\")?\"\":\"i\")}catch(e){}else e=h(e);return e=(\"string\"==typeof e?\"\"==e:e.test(\"\"))?/x^/:e}function y(e,r,o){var t;r.queryText=o,r.query=a(o),e.removeOverlay(r.overlay,n(r.query)),r.overlay=(t=r.query,o=n(r.query),\"string\"==typeof t?t=new RegExp(t.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g,\"\\\\$&\"),o?\"gi\":\"g\"):t.global||(t=new RegExp(t.source,t.ignoreCase?\"gi\":\"g\")),{token:function(e){t.lastIndex=e.pos;var r=t.exec(e.string);if(r&&r.index==e.pos)return e.pos+=r[0].length||1,\"searching\";r?e.pos=r.index:e.skipToEnd()}}),e.addOverlay(r.overlay),e.showMatchesOnScrollbar&&(r.annotate&&(r.annotate.clear(),r.annotate=null),r.annotate=e.showMatchesOnScrollbar(r.query,n(r.query)))}function o(n,r,e,o){var t=p(n);if(t.query)return g(n,r);var a,i,s,c,l,u=n.getSelection()||t.lastQuery;u instanceof RegExp&&\"x^\"==u.source&&(u=null),e&&n.openDialog?(a=null,i=function(e,r){f.e_stop(r),e&&(e!=t.queryText&&(y(n,t,e),t.posFrom=t.posTo=n.getCursor()),a&&(a.style.opacity=1),g(n,r.shiftKey,function(e,r){var o;r.line<3&&document.querySelector&&(o=n.display.wrapper.querySelector(\".CodeMirror-dialog\"))&&o.getBoundingClientRect().bottom-4>n.cursorCoords(r,\"window\").top&&((a=o).style.opacity=.4)}))},e=C(s=n),c=u,l=function(e,r){var o=f.keyName(e),t=n.getOption(\"extraKeys\"),t=t&&t[o]||f.keyMap[n.getOption(\"keyMap\")][o];\"findNext\"==t||\"findPrev\"==t||\"findPersistentNext\"==t||\"findPersistentPrev\"==t?(f.e_stop(e),y(n,p(n),r),n.execCommand(t)):\"find\"!=t&&\"findPersistent\"!=t||(f.e_stop(e),i(r,e))},s.openDialog(e,i,{value:c,selectValueOnOpen:!0,closeOnEnter:!1,onClose:function(){v(s)},onKeyDown:l,bottom:s.options.search.bottom}),o&&u&&(y(n,t,u),g(n,r))):m(n,C(n),\"Search for:\",u,function(e){e&&!t.query&&n.operation(function(){y(n,t,e),t.posFrom=t.posTo=n.getCursor(),g(n,r)})})}function g(o,t,n){o.operation(function(){var e=p(o),r=d(o,e.query,t?e.posFrom:e.posTo);(r.find(t)||(r=d(o,e.query,t?f.Pos(o.lastLine()):f.Pos(o.firstLine(),0))).find(t))&&(o.setSelection(r.from(),r.to()),o.scrollIntoView({from:r.from(),to:r.to()},20),e.posFrom=r.from(),e.posTo=r.to(),n&&n(r.from(),r.to()))})}function v(r){r.operation(function(){var e=p(r);e.lastQuery=e.query,e.query&&(e.query=e.queryText=null,r.removeOverlay(e.overlay),e.annotate&&(e.annotate.clear(),e.annotate=null))})}function x(e,r){var o,t=e?document.createElement(e):document.createDocumentFragment();for(o in r)t[o]=r[o];for(var n=2;n<arguments.length;n++){var a=arguments[n];t.appendChild(\"string\"==typeof a?document.createTextNode(a):a)}return t}function C(e){var r=x(\"label\",{className:\"CodeMirror-search-label\"},e.phrase(\"Search:\"),x(\"input\",{type:\"text\",style:\"width: 10em\",className:\"CodeMirror-search-field\",id:\"CodeMirror-search-field\"}));return r.setAttribute(\"for\",\"CodeMirror-search-field\"),x(\"\",null,r,\" \",x(\"span\",{style:\"color: #666\",className:\"CodeMirror-search-hint\"},e.phrase(\"(Use /re/ syntax for regexp search)\")))}function b(r,t,n){r.operation(function(){for(var o,e=d(r,t);e.findNext();)\"string\"!=typeof t?(o=r.getRange(e.from(),e.to()).match(t),e.replace(n.replace(/\\$(\\d)/g,function(e,r){return o[r]}))):e.replace(n)})}function t(u,e){var r,o,t;u.getOption(\"readOnly\")||(r=u.getSelection()||p(u).lastQuery,t=x(\"\",null,x(\"span\",{className:\"CodeMirror-search-label\"},o=e?u.phrase(\"Replace all:\"):u.phrase(\"Replace:\")),(t=u,x(\"\",null,\" \",x(\"input\",{type:\"text\",style:\"width: 10em\",className:\"CodeMirror-search-field\"}),\" \",x(\"span\",{style:\"color: #666\",className:\"CodeMirror-search-hint\"},t.phrase(\"(Use /re/ syntax for regexp search)\"))))),m(u,t,o,r,function(l){l&&(l=a(l),m(u,x(\"\",null,x(\"span\",{className:\"CodeMirror-search-label\"},u.phrase(\"With:\")),\" \",x(\"input\",{type:\"text\",style:\"width: 10em\",className:\"CodeMirror-search-field\"})),u.phrase(\"Replace with:\"),\"\",function(a){var i,s,c;a=h(a),e?b(u,l,a):(v(u),i=d(u,l,u.getCursor(\"from\")),c=function(o){i.replace(\"string\"==typeof l?a:a.replace(/\\$(\\d)/g,function(e,r){return o[r]})),s()},(s=function(){var e,r,o,t,n=i.from();!(e=i.findNext())&&(i=d(u,l),!(e=i.findNext())||n&&i.from().line==n.line&&i.from().ch==n.ch)||(u.setSelection(i.from(),i.to()),u.scrollIntoView({from:i.from(),to:i.to()}),t=x(\"\",null,x(\"span\",{className:\"CodeMirror-search-label\"},(t=n=u).phrase(\"Replace?\")),\" \",x(\"button\",{},t.phrase(\"Yes\")),\" \",x(\"button\",{},t.phrase(\"No\")),\" \",x(\"button\",{},t.phrase(\"All\")),\" \",x(\"button\",{},t.phrase(\"Stop\"))),r=u.phrase(\"Replace?\"),o=[function(){c(e)},s,function(){b(u,l,a)}],n.openConfirm?n.openConfirm(t,o):confirm(r)&&o[0]())})())}))}))}f.defineOption(\"search\",{bottom:!1}),f.commands.find=function(e){v(e),o(e)},f.commands.findPersistent=function(e){v(e),o(e,!1,!0)},f.commands.findPersistentNext=function(e){o(e,!1,!0,!0)},f.commands.findPersistentPrev=function(e){o(e,!0,!0,!0)},f.commands.findNext=o,f.commands.findPrev=function(e){o(e,!0)},f.commands.clearSearch=v,f.commands.replace=t,f.commands.replaceAll=function(e){t(e,!0)}});"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-search-replace/files/addon/search/searchcursor.js",
    "content": "!function(t){\"object\"==typeof exports&&\"object\"==typeof module?t(require(\"../../lib/codemirror\")):\"function\"==typeof define&&define.amd?define([\"../../lib/codemirror\"],t):t(CodeMirror)}(function(r){\"use strict\";var p,v,x=r.Pos;function m(t,e){for(var n,i=null!=(i=(n=t).flags)?i:(n.ignoreCase?\"i\":\"\")+(n.global?\"g\":\"\")+(n.multiline?\"m\":\"\"),r=i,o=0;o<e.length;o++)-1==r.indexOf(e.charAt(o))&&(r+=e.charAt(o));return i==r?t:new RegExp(t.source,r)}function d(t){return/\\\\s|\\\\n|\\n|\\\\W|\\\\D|\\[\\^/.test(t.source)}function a(t,e,n){e=m(e,\"g\");for(var i=n.line,r=n.ch,o=t.lastLine();i<=o;i++,r=0){e.lastIndex=r;var h=t.getLine(i),h=e.exec(h);if(h)return{from:x(i,h.index),to:x(i,h.index+h[0].length),match:h}}}function o(t,e,n){if(!d(e))return a(t,e,n);e=m(e,\"gm\");for(var i=1,r=n.line,o=t.lastLine();r<=o;){for(var h=0;h<i&&!(o<r);h++)var l=t.getLine(r++),c=null==c?l:c+\"\\n\"+l;i*=2,e.lastIndex=n.ch;var s,f,g,u=e.exec(c);if(u)return g=c.slice(0,u.index).split(\"\\n\"),s=u[0].split(\"\\n\"),f=n.line+g.length-1,g=g[g.length-1].length,{from:x(f,g),to:x(f+s.length-1,1==s.length?g+s[0].length:s[s.length-1].length),match:u}}}function L(t,e,n){for(var i,r=0;r<=t.length;){e.lastIndex=r;var o=e.exec(t);if(!o)break;var h=o.index+o[0].length;if(h>t.length-n)break;(!i||h>i.index+i[0].length)&&(i=o),r=o.index+1}return i}function O(t,e,n){e=m(e,\"g\");for(var i=n.line,r=n.ch,o=t.firstLine();o<=i;i--,r=-1){var h=t.getLine(i),h=L(h,e,r<0?0:h.length-r);if(h)return{from:x(i,h.index),to:x(i,h.index+h[0].length),match:h}}}function h(t,e,n){if(!d(e))return O(t,e,n);e=m(e,\"gm\");for(var i=1,r=t.getLine(n.line).length-n.ch,o=n.line,h=t.firstLine();h<=o;){for(var l=0;l<i&&h<=o;l++)var c=t.getLine(o--),s=null==s?c:c+\"\\n\"+s;i*=2;var f,g,u,a=L(s,e,r);if(a)return u=s.slice(0,a.index).split(\"\\n\"),f=a[0].split(\"\\n\"),g=o+u.length,u=u[u.length-1].length,{from:x(g,u),to:x(g+f.length-1,1==f.length?u+f[0].length:f[f.length-1].length),match:a}}}function y(t,e,n,i){if(t.length==e.length)return n;for(var r=0,o=n+Math.max(0,t.length-e.length);;){if(r==o)return r;var h=r+o>>1,l=i(t.slice(0,h)).length;if(l==n)return h;n<l?o=h:r=1+h}}function l(t,e,n,i){if(!e.length)return null;var r=i?p:v,o=r(e).split(/\\r|\\n\\r?/);t:for(var h=n.line,l=n.ch,c=t.lastLine()+1-o.length;h<=c;h++,l=0){var s=t.getLine(h).slice(l),f=r(s);if(1==o.length){var g=f.indexOf(o[0]);if(-1==g);else return n=y(s,f,g,r)+l,{from:x(h,y(s,f,g,r)+l),to:x(h,y(s,f,g+o[0].length,r)+l)}}else{g=f.length-o[0].length;if(f.slice(g)==o[0]){for(var u=1;u<o.length-1;u++)if(r(t.getLine(h+u))!=o[u])continue t;var a=t.getLine(h+o.length-1),m=r(a),d=o[o.length-1];if(m.slice(0,d.length)==d)return{from:x(h,y(s,f,g,r)+l),to:x(h+o.length-1,y(a,m,d.length,r))}}}}}function c(t,e,n,i){if(!e.length)return null;var r=i?p:v,o=r(e).split(/\\r|\\n\\r?/);t:for(var h=n.line,l=n.ch,c=t.firstLine()-1+o.length;c<=h;h--,l=-1){var s=t.getLine(h),f=r(s=-1<l?s.slice(0,l):s);if(1==o.length){var g=f.lastIndexOf(o[0]);if(-1!=g)return{from:x(h,y(s,f,g,r)),to:x(h,y(s,f,g+o[0].length,r))}}else{g=o[o.length-1];if(f.slice(0,g.length)==g){for(var u=1,n=h-o.length+1;u<o.length-1;u++)if(r(t.getLine(n+u))!=o[u])continue t;var a=t.getLine(h+1-o.length),m=r(a);if(m.slice(m.length-o[0].length)==o[0])return{from:x(h+1-o.length,y(a,m,a.length-o[0].length,r)),to:x(h,y(s,f,g.length,r))}}}}}function i(n,i,t,e){var r;this.atOccurrence=!1,this.afterEmptyMatch=!1,this.doc=n,t=t?n.clipPos(t):x(0,0),this.pos={from:t,to:t},\"object\"==typeof e?r=e.caseFold:(r=e,e=null),\"string\"==typeof i?(null==r&&(r=!1),this.matches=function(t,e){return(t?c:l)(n,i,e,r)}):(i=m(i,\"gm\"),e&&!1===e.multiline?this.matches=function(t,e){return(t?O:a)(n,i,e)}:this.matches=function(t,e){return(t?h:o)(n,i,e)})}v=String.prototype.normalize?(p=function(t){return t.normalize(\"NFD\").toLowerCase()},function(t){return t.normalize(\"NFD\")}):(p=function(t){return t.toLowerCase()},function(t){return t}),i.prototype={findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(t){var e=this.doc.clipPos(t?this.pos.from:this.pos.to);if(this.afterEmptyMatch&&this.atOccurrence&&(e=x(e.line,e.ch),t?(e.ch--,e.ch<0&&(e.line--,e.ch=(this.doc.getLine(e.line)||\"\").length)):(e.ch++,e.ch>(this.doc.getLine(e.line)||\"\").length&&(e.ch=0,e.line++)),0!=r.cmpPos(e,this.doc.clipPos(e))))return this.atOccurrence=!1;var e=this.matches(t,e);return this.afterEmptyMatch=e&&0==r.cmpPos(e.from,e.to),e?(this.pos=e,this.atOccurrence=!0,this.pos.match||!0):(e=x(t?this.doc.firstLine():this.doc.lastLine()+1,0),this.pos={from:e,to:e},this.atOccurrence=!1)},from:function(){if(this.atOccurrence)return this.pos.from},to:function(){if(this.atOccurrence)return this.pos.to},replace:function(t,e){this.atOccurrence&&(t=r.splitLines(t),this.doc.replaceRange(t,this.pos.from,this.pos.to,e),this.pos.to=x(this.pos.from.line+t.length-1,t[t.length-1].length+(1==t.length?this.pos.from.ch:0)))}},r.defineExtension(\"getSearchCursor\",function(t,e,n){return new i(this.doc,t,e,n)}),r.defineDocExtension(\"getSearchCursor\",function(t,e,n){return new i(this,t,e,n)}),r.defineExtension(\"selectMatches\",function(t,e){for(var n=[],i=this.getSearchCursor(t,this.getCursor(\"from\"),e);i.findNext()&&!(0<r.cmpPos(i.to(),this.getCursor(\"to\")));)n.push({anchor:i.from(),head:i.to()});n.length&&this.setSelections(n,0)})});"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-search-replace/files/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": [\n\t\t{\n\t\t\t\"file\": \"addon/search/search.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/codemirror/addon/search/search.js\",\n\t\t\t\t\"module-type\": \"codemirror\"\n\t\t\t}\n\t\t},{\n\t\t\t\"file\": \"addon/search/jump-to-line.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/codemirror/addon/search/jump-to-line.js\",\n\t\t\t\t\"module-type\": \"codemirror\"\n\t\t\t}\n\t\t},{\n\t\t\t\"file\": \"addon/search/searchcursor.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/codemirror/addon/search/searchcursor.js\",\n\t\t\t\t\"module-type\": \"codemirror\"\n\t\t\t}\n\t\t}\n\t]\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-search-replace/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/codemirror-search-replace\",\n\t\"name\": \"CodeMirror Search and Replace\",\n\t\"description\": \"Search and replace for CodeMirror\",\n\t\"parent-plugin\": \"$:/plugins/tiddlywiki/codemirror\",\n\t\"list\": \"readme\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-search-replace/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/codemirror-search-replace/readme\n\nThis plugin enhances the [[CodeMirror|http://codemirror.net]] text editor with Search and Replace functionality. It needs the latest [[CodeMirror plugin|$:/plugins/tiddlywiki/codemirror]] to be installed\n\nIt adds these Keyboard Shortcuts to ~CodeMirror:\n\n|Shortcut |Function |h\n|Ctrl-F / Cmd-F |Start searching |\n|Ctrl-G / Cmd-G / Shift-F3 |Find next |\n|Shift-Ctrl-G / Shift-Cmd-G / F3 |Find previous |\n|Shift-Ctrl-F / Cmd-Option-F |Replace |\n|Shift-Ctrl-R / Shift-Cmd-Option-F |Replace all |\n|Alt-F |Persistent search (dialog doesn't autoclose, enter to find next, Shift-Enter to find previous) |\n|Alt-G |Jump to line |\n\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-trailingspace/config/showTrailingSpace.tid",
    "content": "title: $:/config/codemirror/showTrailingSpace\ntype: bool\ntext: true\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-trailingspace/config-language.multids",
    "content": "title: $:/language/codemirror/\n\nshowTrailingSpace/hint: Show trailing space\nshowTrailingSpace/info: Trailing space on each line will be decorated as per theme CSS.\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-trailingspace/files/addon/edit/trailingspace.css",
    "content": ".cm-trailingspace {\n  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAACCAYAAAB/qH1jAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QUXCToH00Y1UgAAACFJREFUCNdjPMDBUc/AwNDAAAFMTAwMDA0OP34wQgX/AQBYgwYEx4f9lQAAAABJRU5ErkJggg==);\n  background-position: bottom left;\n  background-repeat: repeat-x;\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-trailingspace/files/addon/edit/trailingspace.js",
    "content": "!function(e){\"object\"==typeof exports&&\"object\"==typeof module?e(require(\"../../lib/codemirror\")):\"function\"==typeof define&&define.amd?define([\"../../lib/codemirror\"],e):e(CodeMirror)}(function(o){o.defineOption(\"showTrailingSpace\",!1,function(e,i,n){(n=n==o.Init?!1:n)&&!i?e.removeOverlay(\"trailingspace\"):!n&&i&&e.addOverlay({token:function(e){for(var i=e.string.length,n=i;n&&/\\s/.test(e.string.charAt(n-1));--n);return n>e.pos?(e.pos=n,null):(e.pos=i,\"trailingspace\")},name:\"trailingspace\"})})});"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-trailingspace/files/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": [\n\t\t{\n\t\t\t\"file\": \"addon/edit/trailingspace.css\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"text/css\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/codemirror/addon/edit/trailingspace.css\",\n\t\t\t\t\"tags\": \"[[$:/tags/Stylesheet]]\"\n\t\t\t}\n\t\t},{\n\t\t\t\"file\": \"addon/edit/trailingspace.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/codemirror/addon/edit/trailingspace.js\",\n\t\t\t\t\"module-type\": \"codemirror\"\n\t\t\t}\n\t\t}\n\t]\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-trailingspace/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/codemirror-trailingspace\",\n\t\"name\": \"CodeMirror Show Trailing Space\",\n\t\"description\": \"Show trailing space in CodeMirror\",\n\t\"parent-plugin\": \"$:/plugins/tiddlywiki/codemirror\",\n\t\"list\": \"readme\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-trailingspace/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/codemirror-trailingspace/readme\n\nThis plugin contains the [[trailingspace|https://codemirror.net/5/doc/manual.html#addon_trailingspace]]\naddon for CodeMirror, and provides a default style (red squiggles).\n\nFirst install the [[CodeMirror plugin|$:/plugins/tiddlywiki/codemirror]].\n\n"
  },
  {
    "path": "plugins/tiddlywiki/codemirror-trailingspace/settings/showTrailingSpace.tid",
    "content": "title: $:/core/ui/ControlPanel/Settings/codemirror/showTrailingSpace\ntags: $:/tags/ControlPanel/Settings/CodeMirror\ncaption: {{$:/language/codemirror/showTrailingSpace/hint}}\n\n\\define lingo-base() $:/language/codemirror/showTrailingSpace/\n<<lingo hint>>\n\n<$checkbox tiddler=\"$:/config/codemirror/showTrailingSpace\" field=\"text\" checked=\"true\" unchecked=\"false\" default=\"true\">\n  <$link to=\"$:/config/codemirror/showTrailingSpace\"><<lingo info>></$link>\n</$checkbox>\n\n"
  },
  {
    "path": "plugins/tiddlywiki/comments/EnableFilter.tid",
    "content": "title: $:/config/Comments/EnableFilter\n\n[all[current]!is[system]]\n"
  },
  {
    "path": "plugins/tiddlywiki/comments/above-story.tid",
    "content": "title: $:/plugins/tiddlywiki/comments/above-story\ntags: $:/tags/AboveStory\n\n<$reveal state=\"$:/config/Comments/EnableWikiComments\" type=\"match\" text=\"yes\" default=\"no\">\n\n<$tiddler tiddler=\"$:/SiteTitle\">\n\n<$transclude tiddler=\"$:/plugins/tiddlywiki/comments/comments-template\" mode=\"inline\"/>\n\n</$tiddler>\n\n</$reveal>\n"
  },
  {
    "path": "plugins/tiddlywiki/comments/add-comment-button-actions.tid",
    "content": "title: $:/plugins/tiddlywiki/comments/add-comment-button-actions\n\n<$set name=\"username\" value={{$:/status/UserName}} emptyValue=\"(anonymous)\">\n<$set name=\"target\" filter=\"[<currentTiddler>]\">\n<$action-createtiddler $basetitle={{{ [[Comment by ']addsuffix<username>addsuffix[' on ']addsuffix<currentTiddler>addsuffix[']] }}} role=\"comment\" list=<<target>> text=\"\" edit-mode=\"yes\"/>\n</$set>\n</$set>\n"
  },
  {
    "path": "plugins/tiddlywiki/comments/add-comment-button.tid",
    "content": "title: $:/plugins/tiddlywiki/comments/add-comment-button\n\n<$reveal state=\"$:/status/IsReadOnly\" type=\"match\" text=\"no\" default=\"no\" tag=\"div\" class=\"tc-comment-button\">\n<$button class=\"tc-btn-invisible\" actions={{$:/plugins/tiddlywiki/comments/add-comment-button-actions}}>\nadd comment {{$:/core/images/add-comment}}\n</$button>\n</$reveal>\n"
  },
  {
    "path": "plugins/tiddlywiki/comments/comments-template.tid",
    "content": "title: $:/plugins/tiddlywiki/comments/comments-template\n\n<div class=\"tc-comments\">\n<ol class=\"tc-comment-list\">\n<$list filter=\"[all[tiddlers+shadows]role[comment]contains<currentTiddler>sort[created]!has[draft.of]]\">\n<li>\n<div class=\"tc-comment-entry\">\n<div class=\"tc-comment-entry-heading\">\n<$link>{{!!creator}} at <$view field=\"modified\" format=\"date\" template=\"0hh:0mm:0ss DDD DDth MMM YYYY\"/></$link>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/CommentToolbarButton]!has[draft.of]]\" variable=\"listItem\">\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n</$list>\n</div>\n<div class=\"tc-comment-entry-body\">\n<$reveal type=\"match\" state=\"!!edit-mode\" text=\"yes\">\n<$edit-text tiddler=<<currentTiddler>> tag=\"textarea\" focus=\"true\"/>\n</$reveal>\n<$reveal type=\"nomatch\" state=\"!!edit-mode\" text=\"yes\">\n<$transclude tiddler=<<currentTiddler>> mode=\"block\"/>\n<$transclude tiddler=\"$:/plugins/tiddlywiki/comments/add-comment-button\" mode=\"inline\"/>\n</$reveal>\n</div>\n</div>\n<$transclude tiddler=\"$:/plugins/tiddlywiki/comments/comments-template\" mode=\"inline\"/>\n</li>\n</$list>\n</ol>\n</div>\n"
  },
  {
    "path": "plugins/tiddlywiki/comments/config.tid",
    "content": "title: $:/plugins/tiddlywiki/comments/config\ncaption: Comments\ntags: $:/tags/ControlPanel/SettingsTab\n\n\\define select(description,filter)\n<$button>\n<$action-setfield $tiddler=\"$:/config/Comments/EnableFilter\" $value=<<__filter__>>/>\n$description$\n</$button>\n\\end\n\n! Wiki Comments\n\n<$checkbox tiddler=\"$:/config/Comments/EnableWikiComments\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> <$link to=\"$:/config/Comments/EnableWikiComments\">Allow wiki-level comments as well as tiddler comments</$link> </$checkbox>\n\n! Tiddler Comments\n\nThis filter expression determines which tiddlers will have commenting enabled:\n\n<$edit-text tiddler=\"$:/config/Comments/EnableFilter\" tag=\"input\"/>\n\nOr you can choose a preselected filter:\n\n* <<select \"All tiddlers except system tiddlers\" \"[all[current]!is[system]]\">>\n* <<select \"Only tiddlers tagged 'commentable'\" \"[all[current]tag[commentable]]\">>\n* <<select \"Disable all commenting\" \"\">>\n"
  },
  {
    "path": "plugins/tiddlywiki/comments/filter-all-comments.tid",
    "content": "title: $:/plugins/tiddlywiki/comments/filter-all-comments\ntags: $:/tags/Filter\nfilter: [role[comment]!sort[modified]]\ndescription: All comments\n\n"
  },
  {
    "path": "plugins/tiddlywiki/comments/footer-view-template-segment.tid",
    "content": "title: $:/plugins/tiddlywiki/comments/footer-view-template-segment\ntags: $:/tags/ViewTemplate\nlist-after: $:/core/ui/ViewTemplate/body\n\n<$list filter={{$:/config/Comments/EnableFilter}} variable=\"ignore\">\n<div class=\"tc-comments-segment\">\n<$transclude tiddler=\"$:/plugins/tiddlywiki/comments/add-comment-button\" mode=\"inline\"/>\n<$transclude tiddler=\"$:/plugins/tiddlywiki/comments/comments-template\" mode=\"inline\"/>\n</div>\n</$list>"
  },
  {
    "path": "plugins/tiddlywiki/comments/header-view-template-segment.tid",
    "content": "title: $:/plugins/tiddlywiki/comments/header-view-template-segment\ntags: $:/tags/ViewTemplate\nlist-before: $:/core/ui/ViewTemplate/body\n\n\\define display-original-comment()\n<$link><$text text=<<currentTiddler>>/></$link>\n\\end\n\n\\define find-original-comment(exclude)\n<$list filter=\"[<currentTiddler>role[comment]]\" emptyMessage=<<display-original-comment>> variable=\"ignore\">\n<$list filter=\"[list<currentTiddler>sort[title]] -[enlist<__exclude__>]\">\n<$set name=\"newExclude\" filter=\"[enlist<__exclude__>] [<currentTiddler>]\">\n<$macrocall $name=\"find-original-comment\" exclude=<<newExclude>>/>\n</$set>\n</$list>\n</$list>\n\\end\n\n<$list filter=\"[all[current]role[comment]]\" variable=\"ignore\">\n<div class=\"tc-is-comment-header\">\n<p>\nThis tiddler is a comment on\n<$list filter=\"[list<currentTiddler>sort[title]]\">\n<span class=\"tc-small-gap-right\"><<find-original-comment>></span>\n</$list>\n</p>\n<$list filter=\"[list<currentTiddler>role[comment]sort[title]limit[1]]\" variable=\"ignore\">\n<p>\nParent comments:\n</p>\n<ul>\n<$list filter=\"[list<currentTiddler>role[comment]sort[title]]\">\n<li>\n<$link to=<<currentTiddler>>><$text text=<<currentTiddler>>/></$link>\n</li>\n</$list>\n</ul>\n</$list>\n</div>\n</$list>\n"
  },
  {
    "path": "plugins/tiddlywiki/comments/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/comments\",\n\t\"name\": \"Comments\",\n\t\"description\": \"Threaded tiddler comments\",\n\t\"list\": \"readme config\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/comments/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/comments/readme\n\nThis plugin provides a simple means for adding threaded comments to tiddlers.\n\n* Click the \"add comment\" button to make a new comment, and then click the \"save\" button to save it\n* You can comment on a tiddler itself, or add a comment to an existing comment\n* The sidebar tab ''Comments'' lists a timeline of all comments\n* Comments are attributed to the username stored in the system tiddler [[$:/status/UserName]]\n* By default, comments are available on all non-system tiddlers. The ''config'' tab lets you customise which tiddlers can accept comments by specifying a filter extension\n* The buttons for adding and editing comments are only available if the system tiddler [[$:/status/IsReadOnly]] is not set to `yes`\n* Use the \"All comments\" option in the $:/AdvancedSearch ''Filter'' tab to see or export all comments\n\n!! Data Model\n\nThe data model employed by the comments plugin is very simple:\n\n* Comment tiddlers are identified by the `role` field being set to `comment`\n* The `list` field of comment tiddlers lists the tiddlers to which this comment applies\n** It is thus possible for a comment to be applied to multiple tiddlers at once\n** The links between comments can be preserved when renaming them by using the relink checkbox in the edit template\n* The `edit-mode` field of comment tiddlers is set to `yes` to display it in edit mode, or `no` to display it in view mode\n* The `saved-text` field is updated when switching to edit mode so that it can be restored if the user cancels\n\n"
  },
  {
    "path": "plugins/tiddlywiki/comments/sidebar-segment.tid",
    "content": "title: $:/plugins/tiddlywiki/comments/sidebar-segment\ntags: $:/tags/SideBarSegment\nlist-after: $:/core/ui/SideBarSegments/site-subtitle\n\n<$reveal state=\"$:/config/Comments/EnableWikiComments\" type=\"match\" text=\"yes\" default=\"no\">\n<$tiddler tiddler=\"$:/SiteTitle\">\n<$transclude tiddler=\"$:/plugins/tiddlywiki/comments/add-comment-button\" mode=\"inline\"/>\n</$tiddler>\n</$reveal>\n"
  },
  {
    "path": "plugins/tiddlywiki/comments/sidebar.tid",
    "content": "title: $:/plugins/tiddlywiki/comments/sidebar\ntags: $:/tags/SideBar\ncaption: Comments\n\n<div class=\"tc-timeline\">\n<$list filter=\"[all[tiddlers+shadows]role[comment]has[modified]!sort[modified]eachday[modified]]\">\n<div class=\"tc-menu-list-item\">\n<$view field=\"modified\" format=\"date\" template=\"DDth MMM YYYY\"/>\n<$list filter=\"[all[tiddlers+shadows]role[comment]sameday:modified{!!modified}!sort[modified]]\">\n<div class=\"tc-menu-list-subitem\">\n<$link>Comment by '<$view field=\"modifier\">(anonymous)</$view>'</$link> on\n<$list filter=\"[list<currentTiddler>sort[title]]\">\n<$link to=<<currentTiddler>>><$text text=<<currentTiddler>>/></$link>\n</$list>\n</div>\n</$list>\n</div>\n</$list>\n</div>\n"
  },
  {
    "path": "plugins/tiddlywiki/comments/styles.tid",
    "content": "title: $:/plugins/tiddlywiki/comments/styles\ntags: [[$:/tags/Stylesheet]]\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\n.tc-is-comment-header {\n\tpadding: 0.25em;\n\tborder: 2px solid <<colour message-foreground>>;\n\tborder-radius: 4px;\n\tbackground: <<colour message-background>>;\n}\n\n.tc-comments-segment {\n\tborder-top: 2px solid <<colour message-border>>;\n}\n\n.tc-comment-button button {\n\twidth: 100%;\n\ttext-align: right;\n}\n\n.tc-sidebar-scrollable .tc-comment-button button {\n\twidth: auto;\n\ttext-align: right;\n}\n\n.tc-comment-button button svg {\n\tcolor: <<colour download-background>>;\n\theight: 2em;\n\twidth: 2em;\n}\n\n.tc-comments {\n}\n\n.tc-comment-list {\n\tlist-style: none;\n     padding-left: 0;\n}\n\n.tc-comment-list .tc-comments {\n\tpadding-left: 1em;\n}\n\n.tc-comment-entry {\n\tposition: relative;\n\tborder: 2px solid <<colour message-border>>;\n\tborder-radius: 4px;\n\tmargin: 0.5em 0 0 0;\n\tbackground: <<colour message-background>>;\n}\n\n.tc-comment-entry-heading {\n\tfont-size: 0.7em;\n\tfont-weight: bold;\n\ttext-transform: uppercase;\n\tbackground: <<colour message-background>>;\n\tcolor: <<colour message-foreground>>;\n\tpadding: 0 0.5em;\n}\n\n.tc-comment-entry-body {\n\tfont-size: 0.8em;\n\tpadding: 0 0.5em;\n}\n\n.tc-comment-entry-body textarea {\n\tfont-size: 1.1em;\n\twidth: 100%\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/comments/tagsCommentToolbarButton.tid",
    "content": "title: $:/tags/CommentToolbarButton\nlist: [[$:/plugins/tiddlywiki/comments/toolbar-button-cancel]] [[$:/plugins/tiddlywiki/comments/toolbar-button-delete]] [[$:/plugins/tiddlywiki/comments/toolbar-button-save]] [[$:/plugins/tiddlywiki/comments/toolbar-button-edit]] "
  },
  {
    "path": "plugins/tiddlywiki/comments/toolbar-button-cancel.tid",
    "content": "title: $:/plugins/tiddlywiki/comments/toolbar-button-cancel\ntags: $:/tags/CommentToolbarButton\n\n<$reveal state=\"$:/status/IsReadOnly\" type=\"match\" text=\"no\" default=\"no\" tag=\"span\">\n<$reveal type=\"match\" state=\"!!edit-mode\" text=\"yes\">\n<$button>\n<$action-setfield $tiddler=<<currentTiddler>> $field=\"edit-mode\" $value=\"no\"/>\n<$action-setfield $tiddler=<<currentTiddler>> $field=\"text\" $value={{!!saved-text}}/>\ncancel\n</$button>\n</$reveal>\n</$reveal>\n"
  },
  {
    "path": "plugins/tiddlywiki/comments/toolbar-button-delete.tid",
    "content": "title: $:/plugins/tiddlywiki/comments/toolbar-button-delete\ntags: $:/tags/CommentToolbarButton\n\n<$reveal state=\"$:/status/IsReadOnly\" type=\"match\" text=\"no\" default=\"no\" tag=\"span\">\n<$reveal type=\"match\" state=\"!!edit-mode\" text=\"yes\">\n<$button>\n<$action-deletetiddler $tiddler=<<currentTiddler>>/>\ndelete\n</$button>\n</$reveal>\n</$reveal>\n"
  },
  {
    "path": "plugins/tiddlywiki/comments/toolbar-button-edit.tid",
    "content": "title: $:/plugins/tiddlywiki/comments/toolbar-button-edit\ntags: $:/tags/CommentToolbarButton\n\n<$reveal state=\"$:/status/IsReadOnly\" type=\"match\" text=\"no\" default=\"no\" tag=\"span\">\n<$reveal type=\"nomatch\" state=\"!!edit-mode\" text=\"yes\">\n<$button>\n<$action-setfield $tiddler=<<currentTiddler>> $field=\"edit-mode\" $value=\"yes\"/>\n<$action-setfield $tiddler=<<currentTiddler>> $field=\"saved-text\" $value={{!!text}}/>\nedit\n</$button>\n</$reveal>\n</$reveal>\n"
  },
  {
    "path": "plugins/tiddlywiki/comments/toolbar-button-save.tid",
    "content": "title: $:/plugins/tiddlywiki/comments/toolbar-button-save\ntags: $:/tags/CommentToolbarButton\n\n<$reveal state=\"$:/status/IsReadOnly\" type=\"match\" text=\"no\" default=\"no\" tag=\"span\">\n<$reveal type=\"match\" state=\"!!edit-mode\" text=\"yes\">\n<$button>\n<$action-setfield $tiddler=<<currentTiddler>> $field=\"edit-mode\" $value=\"no\"/>\nsave\n</$button>\n</$reveal>\n</$reveal>\n"
  },
  {
    "path": "plugins/tiddlywiki/confetti/confetti-manager.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/confetti/confetti-manager.js\ntype: application/javascript\nmodule-type: global\n\nConfetti manager\n\n\\*/\n\"use strict\";\n\nvar confetti = require(\"$:/plugins/tiddlywiki/confetti/confetti.js\");\n\nfunction ConfettiManager() {\n\tthis.outstandingTimers = [];\n}\n\nConfettiManager.prototype.launch = function (delay,options) {\n\tvar self = this,\n\t\tdefaultOptions = {\n\t\t\tscalar: 1.2,\n\t\t\tparticleCount: 400,\n\t\t\tzIndex: 2000\n\t\t};\n\toptions = $tw.utils.extend(defaultOptions,options);\n\tif(delay > 0) {\n\t\tvar id = setTimeout(function() {\n\t\t\tvar p = self.outstandingTimers.indexOf(id);\n\t\t\tif(p !== -1) {\n\t\t\t\tself.outstandingTimers.splice(p,1);\n\t\t\t} else {\n\t\t\t\tconsole.log(\"Confetti Manager Error: Cannot find previously stored timer ID\");\n\t\t\t\t// debugger;\n\t\t\t}\n\t\t\tconfetti(options);\n\t\t},delay);\n\t\tthis.outstandingTimers.push(id);\n\t} else {\n\t\tconfetti(options);\n\t}\n};\n\nConfettiManager.prototype.reset = function () {\n\t$tw.utils.each(this.outstandingTimers,function(id) {\n\t\tclearTimeout(id);\n\t});\n\tthis.outstandingTimers = [];\n\tconfetti.reset();\n};\n\nexports.ConfettiManager = ConfettiManager;\n"
  },
  {
    "path": "plugins/tiddlywiki/confetti/confetti-widget.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/confetti/confetti-widget.js\ntype: application/javascript\nmodule-type: widget\n\nConfetti widget\n\n\\*/\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ConfettiWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nConfettiWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nConfettiWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Launch confetti\n\tif($tw.browser) {\n\t\tvar options = {};\n\t\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\t\toptions[name] = self.getAttribute(name);\n\t\t});\n\t\t$tw.confettiManager.launch(options.delay,options);\n\t}\n\t// Render children\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nConfettiWidget.prototype.execute = function() {\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nConfettiWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.confetti = ConfettiWidget;\n"
  },
  {
    "path": "plugins/tiddlywiki/confetti/examples/staggered.tid",
    "content": "title: $:/plugins/tiddlywiki/confetti/examples/staggered\ntags: $:/tags/ConfettiExample\n\n<$button>\n<$action-sendmessage $message=\"tm-confetti-launch\"/>\n<$action-sendmessage $message=\"tm-confetti-launch\" delay=300 originY=0.6  spread=100 scalar=1.5/>\n<$action-sendmessage $message=\"tm-confetti-launch\" delay=400 originY=0.55 spread=130/>\n<$action-sendmessage $message=\"tm-confetti-launch\" delay=500 originY=0.55 spread=170 scalar=2/>\nLaunch four staggered rounds of confetti\n</$button>\n"
  },
  {
    "path": "plugins/tiddlywiki/confetti/examples/typing-trigger.tid",
    "content": "title: $:/plugins/tiddlywiki/confetti/examples/typing-trigger\ntags: $:/tags/ConfettiExample\n\nType the word \"launch\": <$edit-text tiddler=\"$:/temp/confetti/launchstatus\" tag=\"input\" placeholder=\"Type here\"/>\n\n<$list filter=\"[{$:/temp/confetti/launchstatus}match:caseinsensitive[launch]]\" variable=\"ignore\">\nLaunched!\n<$confetti particleCount=100/>\n<$confetti particleCount=100 spread=170 delay=300/>\n</$list>\n"
  },
  {
    "path": "plugins/tiddlywiki/confetti/files/LICENSE",
    "content": "ISC License\n\nCopyright (c) 2020, Kiril Vatev\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted, provided that the above\ncopyright notice and this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\nWITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\nANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\nWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\nACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\nOR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n"
  },
  {
    "path": "plugins/tiddlywiki/confetti/files/confetti.js",
    "content": "(function main(global, module, isWorker, workerSize) {\n  var canUseWorker = !!(\n    global.Worker &&\n    global.Blob &&\n    global.Promise &&\n    global.OffscreenCanvas &&\n    global.OffscreenCanvasRenderingContext2D &&\n    global.HTMLCanvasElement &&\n    global.HTMLCanvasElement.prototype.transferControlToOffscreen &&\n    global.URL &&\n    global.URL.createObjectURL);\n\n  function noop() {}\n\n  // create a promise if it exists, otherwise, just\n  // call the function directly\n  function promise(func) {\n    var ModulePromise = module.exports.Promise;\n    var Prom = ModulePromise !== void 0 ? ModulePromise : global.Promise;\n\n    if (typeof Prom === 'function') {\n      return new Prom(func);\n    }\n\n    func(noop, noop);\n\n    return null;\n  }\n\n  var raf = (function () {\n    var TIME = Math.floor(1000 / 60);\n    var frame, cancel;\n    var frames = {};\n    var lastFrameTime = 0;\n\n    if (typeof requestAnimationFrame === 'function' && typeof cancelAnimationFrame === 'function') {\n      frame = function (cb) {\n        var id = Math.random();\n\n        frames[id] = requestAnimationFrame(function onFrame(time) {\n          if (lastFrameTime === time || lastFrameTime + TIME - 1 < time) {\n            lastFrameTime = time;\n            delete frames[id];\n\n            cb();\n          } else {\n            frames[id] = requestAnimationFrame(onFrame);\n          }\n        });\n\n        return id;\n      };\n      cancel = function (id) {\n        if (frames[id]) {\n          cancelAnimationFrame(frames[id]);\n        }\n      };\n    } else {\n      frame = function (cb) {\n        return setTimeout(cb, TIME);\n      };\n      cancel = function (timer) {\n        return clearTimeout(timer);\n      };\n    }\n\n    return { frame: frame, cancel: cancel };\n  }());\n\n  var getWorker = (function () {\n    var worker;\n    var prom;\n    var resolves = {};\n\n    function decorate(worker) {\n      function execute(options, callback) {\n        worker.postMessage({ options: options || {}, callback: callback });\n      }\n      worker.init = function initWorker(canvas) {\n        var offscreen = canvas.transferControlToOffscreen();\n        worker.postMessage({ canvas: offscreen }, [offscreen]);\n      };\n\n      worker.fire = function fireWorker(options, size, done) {\n        if (prom) {\n          execute(options, null);\n          return prom;\n        }\n\n        var id = Math.random().toString(36).slice(2);\n\n        prom = promise(function (resolve) {\n          function workerDone(msg) {\n            if (msg.data.callback !== id) {\n              return;\n            }\n\n            delete resolves[id];\n            worker.removeEventListener('message', workerDone);\n\n            prom = null;\n            done();\n            resolve();\n          }\n\n          worker.addEventListener('message', workerDone);\n          execute(options, id);\n\n          resolves[id] = workerDone.bind(null, { data: { callback: id }});\n        });\n\n        return prom;\n      };\n\n      worker.reset = function resetWorker() {\n        worker.postMessage({ reset: true });\n\n        for (var id in resolves) {\n          resolves[id]();\n          delete resolves[id];\n        }\n      };\n    }\n\n    return function () {\n      if (worker) {\n        return worker;\n      }\n\n      if (!isWorker && canUseWorker) {\n        var code = [\n          'var CONFETTI, SIZE = {}, module = {};',\n          '(' + main.toString() + ')(this, module, true, SIZE);',\n          'onmessage = function(msg) {',\n          '  if (msg.data.options) {',\n          '    CONFETTI(msg.data.options).then(function () {',\n          '      if (msg.data.callback) {',\n          '        postMessage({ callback: msg.data.callback });',\n          '      }',\n          '    });',\n          '  } else if (msg.data.reset) {',\n          '    CONFETTI && CONFETTI.reset();',\n          '  } else if (msg.data.resize) {',\n          '    SIZE.width = msg.data.resize.width;',\n          '    SIZE.height = msg.data.resize.height;',\n          '  } else if (msg.data.canvas) {',\n          '    SIZE.width = msg.data.canvas.width;',\n          '    SIZE.height = msg.data.canvas.height;',\n          '    CONFETTI = module.exports.create(msg.data.canvas);',\n          '  }',\n          '}',\n        ].join('\\n');\n        try {\n          worker = new Worker(URL.createObjectURL(new Blob([code])));\n        } catch (e) {\n          // eslint-disable-next-line no-console\n          typeof console !== undefined && typeof console.warn === 'function' ? console.warn('🎊 Could not load worker', e) : null;\n\n          return null;\n        }\n\n        decorate(worker);\n      }\n\n      return worker;\n    };\n  })();\n\n  var defaults = {\n    particleCount: 50,\n    angle: 90,\n    spread: 45,\n    startVelocity: 45,\n    decay: 0.9,\n    gravity: 1,\n    drift: 0,\n    ticks: 200,\n    x: 0.5,\n    y: 0.5,\n    shapes: ['square', 'circle'],\n    zIndex: 100,\n    colors: [\n      '#26ccff',\n      '#a25afd',\n      '#ff5e7e',\n      '#88ff5a',\n      '#fcff42',\n      '#ffa62d',\n      '#ff36ff'\n    ],\n    // probably should be true, but back-compat\n    disableForReducedMotion: false,\n    scalar: 1\n  };\n\n  function convert(val, transform) {\n    return transform ? transform(val) : val;\n  }\n\n  function isOk(val) {\n    return !(val === null || val === undefined);\n  }\n\n  function prop(options, name, transform) {\n    return convert(\n      options && isOk(options[name]) ? options[name] : defaults[name],\n      transform\n    );\n  }\n\n  function onlyPositiveInt(number){\n    return number < 0 ? 0 : Math.floor(number);\n  }\n\n  function randomInt(min, max) {\n    // [min, max)\n    return Math.floor(Math.random() * (max - min)) + min;\n  }\n\n  function toDecimal(str) {\n    return parseInt(str, 16);\n  }\n\n  function colorsToRgb(colors) {\n    return colors.map(hexToRgb);\n  }\n\n  function hexToRgb(str) {\n    var val = String(str).replace(/[^0-9a-f]/gi, '');\n\n    if (val.length < 6) {\n        val = val[0]+val[0]+val[1]+val[1]+val[2]+val[2];\n    }\n\n    return {\n      r: toDecimal(val.substring(0,2)),\n      g: toDecimal(val.substring(2,4)),\n      b: toDecimal(val.substring(4,6))\n    };\n  }\n\n  function getOrigin(options) {\n    var origin = prop(options, 'origin', Object);\n    origin.x = prop(origin, 'x', Number);\n    origin.y = prop(origin, 'y', Number);\n\n    return origin;\n  }\n\n  function setCanvasWindowSize(canvas) {\n    canvas.width = document.documentElement.clientWidth;\n    canvas.height = document.documentElement.clientHeight;\n  }\n\n  function setCanvasRectSize(canvas) {\n    var rect = canvas.getBoundingClientRect();\n    canvas.width = rect.width;\n    canvas.height = rect.height;\n  }\n\n  function getCanvas(zIndex) {\n    var canvas = document.createElement('canvas');\n\n    canvas.style.position = 'fixed';\n    canvas.style.top = '0px';\n    canvas.style.left = '0px';\n    canvas.style.pointerEvents = 'none';\n    canvas.style.zIndex = zIndex;\n\n    return canvas;\n  }\n\n  function ellipse(context, x, y, radiusX, radiusY, rotation, startAngle, endAngle, antiClockwise) {\n    context.save();\n    context.translate(x, y);\n    context.rotate(rotation);\n    context.scale(radiusX, radiusY);\n    context.arc(0, 0, 1, startAngle, endAngle, antiClockwise);\n    context.restore();\n  }\n\n  function randomPhysics(opts) {\n    var radAngle = opts.angle * (Math.PI / 180);\n    var radSpread = opts.spread * (Math.PI / 180);\n\n    return {\n      x: opts.x,\n      y: opts.y,\n      wobble: Math.random() * 10,\n      wobbleSpeed: Math.min(0.11, Math.random() * 0.1 + 0.05),\n      velocity: (opts.startVelocity * 0.5) + (Math.random() * opts.startVelocity),\n      angle2D: -radAngle + ((0.5 * radSpread) - (Math.random() * radSpread)),\n      tiltAngle: (Math.random() * (0.75 - 0.25) + 0.25) * Math.PI,\n      color: opts.color,\n      shape: opts.shape,\n      tick: 0,\n      totalTicks: opts.ticks,\n      decay: opts.decay,\n      drift: opts.drift,\n      random: Math.random() + 2,\n      tiltSin: 0,\n      tiltCos: 0,\n      wobbleX: 0,\n      wobbleY: 0,\n      gravity: opts.gravity * 3,\n      ovalScalar: 0.6,\n      scalar: opts.scalar\n    };\n  }\n\n  function updateFetti(context, fetti) {\n    fetti.x += Math.cos(fetti.angle2D) * fetti.velocity + fetti.drift;\n    fetti.y += Math.sin(fetti.angle2D) * fetti.velocity + fetti.gravity;\n    fetti.wobble += fetti.wobbleSpeed;\n    fetti.velocity *= fetti.decay;\n    fetti.tiltAngle += 0.1;\n    fetti.tiltSin = Math.sin(fetti.tiltAngle);\n    fetti.tiltCos = Math.cos(fetti.tiltAngle);\n    fetti.random = Math.random() + 2;\n    fetti.wobbleX = fetti.x + ((10 * fetti.scalar) * Math.cos(fetti.wobble));\n    fetti.wobbleY = fetti.y + ((10 * fetti.scalar) * Math.sin(fetti.wobble));\n\n    var progress = (fetti.tick++) / fetti.totalTicks;\n\n    var x1 = fetti.x + (fetti.random * fetti.tiltCos);\n    var y1 = fetti.y + (fetti.random * fetti.tiltSin);\n    var x2 = fetti.wobbleX + (fetti.random * fetti.tiltCos);\n    var y2 = fetti.wobbleY + (fetti.random * fetti.tiltSin);\n\n    context.fillStyle = 'rgba(' + fetti.color.r + ', ' + fetti.color.g + ', ' + fetti.color.b + ', ' + (1 - progress) + ')';\n    context.beginPath();\n\n    if (fetti.shape === 'circle') {\n      context.ellipse ?\n        context.ellipse(fetti.x, fetti.y, Math.abs(x2 - x1) * fetti.ovalScalar, Math.abs(y2 - y1) * fetti.ovalScalar, Math.PI / 10 * fetti.wobble, 0, 2 * Math.PI) :\n        ellipse(context, fetti.x, fetti.y, Math.abs(x2 - x1) * fetti.ovalScalar, Math.abs(y2 - y1) * fetti.ovalScalar, Math.PI / 10 * fetti.wobble, 0, 2 * Math.PI);\n    } else if (fetti.shape === 'star') {\n      var rot = Math.PI / 2 * 3;\n      var innerRadius = 4 * fetti.scalar;\n      var outerRadius = 8 * fetti.scalar;\n      var x = fetti.x;\n      var y = fetti.y;\n      var spikes = 5;\n      var step = Math.PI / spikes;\n\n      while (spikes--) {\n        x = fetti.x + Math.cos(rot) * outerRadius;\n        y = fetti.y + Math.sin(rot) * outerRadius;\n        context.lineTo(x, y);\n        rot += step;\n\n        x = fetti.x + Math.cos(rot) * innerRadius;\n        y = fetti.y + Math.sin(rot) * innerRadius;\n        context.lineTo(x, y);\n        rot += step;\n      }\n    } else {\n      context.moveTo(Math.floor(fetti.x), Math.floor(fetti.y));\n      context.lineTo(Math.floor(fetti.wobbleX), Math.floor(y1));\n      context.lineTo(Math.floor(x2), Math.floor(y2));\n      context.lineTo(Math.floor(x1), Math.floor(fetti.wobbleY));\n    }\n\n    context.closePath();\n    context.fill();\n\n    return fetti.tick < fetti.totalTicks;\n  }\n\n  function animate(canvas, fettis, resizer, size, done) {\n    var animatingFettis = fettis.slice();\n    var context = canvas.getContext('2d');\n    var animationFrame;\n    var destroy;\n\n    var prom = promise(function (resolve) {\n      function onDone() {\n        animationFrame = destroy = null;\n\n        context.clearRect(0, 0, size.width, size.height);\n\n        done();\n        resolve();\n      }\n\n      function update() {\n        if (isWorker && !(size.width === workerSize.width && size.height === workerSize.height)) {\n          size.width = canvas.width = workerSize.width;\n          size.height = canvas.height = workerSize.height;\n        }\n\n        if (!size.width && !size.height) {\n          resizer(canvas);\n          size.width = canvas.width;\n          size.height = canvas.height;\n        }\n\n        context.clearRect(0, 0, size.width, size.height);\n\n        animatingFettis = animatingFettis.filter(function (fetti) {\n          return updateFetti(context, fetti);\n        });\n\n        if (animatingFettis.length) {\n          animationFrame = raf.frame(update);\n        } else {\n          onDone();\n        }\n      }\n\n      animationFrame = raf.frame(update);\n      destroy = onDone;\n    });\n\n    return {\n      addFettis: function (fettis) {\n        animatingFettis = animatingFettis.concat(fettis);\n\n        return prom;\n      },\n      canvas: canvas,\n      promise: prom,\n      reset: function () {\n        if (animationFrame) {\n          raf.cancel(animationFrame);\n        }\n\n        if (destroy) {\n          destroy();\n        }\n      }\n    };\n  }\n\n  function confettiCannon(canvas, globalOpts) {\n    var isLibCanvas = !canvas;\n    var allowResize = !!prop(globalOpts || {}, 'resize');\n    var globalDisableForReducedMotion = prop(globalOpts, 'disableForReducedMotion', Boolean);\n    var shouldUseWorker = canUseWorker && !!prop(globalOpts || {}, 'useWorker');\n    var worker = shouldUseWorker ? getWorker() : null;\n    var resizer = isLibCanvas ? setCanvasWindowSize : setCanvasRectSize;\n    var initialized = (canvas && worker) ? !!canvas.__confetti_initialized : false;\n    var preferLessMotion = typeof matchMedia === 'function' && matchMedia('(prefers-reduced-motion)').matches;\n    var animationObj;\n\n    function fireLocal(options, size, done) {\n      var particleCount = prop(options, 'particleCount', onlyPositiveInt);\n      var angle = prop(options, 'angle', Number);\n      var spread = prop(options, 'spread', Number);\n      var startVelocity = prop(options, 'startVelocity', Number);\n      var decay = prop(options, 'decay', Number);\n      var gravity = prop(options, 'gravity', Number);\n      var drift = prop(options, 'drift', Number);\n      var colors = prop(options, 'colors', colorsToRgb);\n      var ticks = prop(options, 'ticks', Number);\n      var shapes = prop(options, 'shapes');\n      var scalar = prop(options, 'scalar');\n      var origin = getOrigin(options);\n\n      var temp = particleCount;\n      var fettis = [];\n\n      var startX = canvas.width * origin.x;\n      var startY = canvas.height * origin.y;\n\n      while (temp--) {\n        fettis.push(\n          randomPhysics({\n            x: startX,\n            y: startY,\n            angle: angle,\n            spread: spread,\n            startVelocity: startVelocity,\n            color: colors[temp % colors.length],\n            shape: shapes[randomInt(0, shapes.length)],\n            ticks: ticks,\n            decay: decay,\n            gravity: gravity,\n            drift: drift,\n            scalar: scalar\n          })\n        );\n      }\n\n      // if we have a previous canvas already animating,\n      // add to it\n      if (animationObj) {\n        return animationObj.addFettis(fettis);\n      }\n\n      animationObj = animate(canvas, fettis, resizer, size , done);\n\n      return animationObj.promise;\n    }\n\n    function fire(options) {\n      var disableForReducedMotion = globalDisableForReducedMotion || prop(options, 'disableForReducedMotion', Boolean);\n      var zIndex = prop(options, 'zIndex', Number);\n\n      if (disableForReducedMotion && preferLessMotion) {\n        return promise(function (resolve) {\n          resolve();\n        });\n      }\n\n      if (isLibCanvas && animationObj) {\n        // use existing canvas from in-progress animation\n        canvas = animationObj.canvas;\n      } else if (isLibCanvas && !canvas) {\n        // create and initialize a new canvas\n        canvas = getCanvas(zIndex);\n        document.body.appendChild(canvas);\n      }\n\n      if (allowResize && !initialized) {\n        // initialize the size of a user-supplied canvas\n        resizer(canvas);\n      }\n\n      var size = {\n        width: canvas.width,\n        height: canvas.height\n      };\n\n      if (worker && !initialized) {\n        worker.init(canvas);\n      }\n\n      initialized = true;\n\n      if (worker) {\n        canvas.__confetti_initialized = true;\n      }\n\n      function onResize() {\n        if (worker) {\n          // TODO this really shouldn't be immediate, because it is expensive\n          var obj = {\n            getBoundingClientRect: function () {\n              if (!isLibCanvas) {\n                return canvas.getBoundingClientRect();\n              }\n            }\n          };\n\n          resizer(obj);\n\n          worker.postMessage({\n            resize: {\n              width: obj.width,\n              height: obj.height\n            }\n          });\n          return;\n        }\n\n        // don't actually query the size here, since this\n        // can execute frequently and rapidly\n        size.width = size.height = null;\n      }\n\n      function done() {\n        animationObj = null;\n\n        if (allowResize) {\n          global.removeEventListener('resize', onResize);\n        }\n\n        if (isLibCanvas && canvas) {\n          document.body.removeChild(canvas);\n          canvas = null;\n          initialized = false;\n        }\n      }\n\n      if (allowResize) {\n        global.addEventListener('resize', onResize, false);\n      }\n\n      if (worker) {\n        return worker.fire(options, size, done);\n      }\n\n      return fireLocal(options, size, done);\n    }\n\n    fire.reset = function () {\n      if (worker) {\n        worker.reset();\n      }\n\n      if (animationObj) {\n        animationObj.reset();\n      }\n    };\n\n    return fire;\n  }\n\n  // Make default export lazy to defer worker creation until called.\n  var defaultFire;\n  function getDefaultFire() {\n    if (!defaultFire) {\n      defaultFire = confettiCannon(null, { useWorker: true, resize: true });\n    }\n    return defaultFire;\n  }\n\n  module.exports = function() {\n    return getDefaultFire().apply(this, arguments);\n  };\n  module.exports.reset = function() {\n    getDefaultFire().reset();\n  };\n  module.exports.create = confettiCannon;\n}((function () {\n  if (typeof window !== 'undefined') {\n    return window;\n  }\n\n  if (typeof self !== 'undefined') {\n    return self;\n  }\n\n  return this || {};\n})(), module, false));\n"
  },
  {
    "path": "plugins/tiddlywiki/confetti/files/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": [\n\t\t{\n\t\t\t\"file\": \"confetti.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/confetti/confetti.js\",\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t},\n\t\t\t\"prefix\": \"\",\n\t\t\t\"suffix\": \"\"\n\t\t},{\n\t\t\t\"file\": \"LICENSE\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"text/plain\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/confetti/license\"\n\t\t\t}\n\t\t}\n\t]\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/confetti/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/confetti\",\n\t\"name\": \"Confetti\",\n\t\"description\": \"Animated confetti effect\",\n\t\"list\": \"readme\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/confetti/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/confetti/readme\n\n\\define show-example(name)\n<$let title={{{ [[$:/plugins/tiddlywiki/confetti/examples/]addsuffix<__name__>] }}}>\n\nFor example:\n\n<$macrocall $name=\"copy-to-clipboard-above-right\" src=<<__src__>>/>\n\n<$codeblock code={{{ [<title>get[text]] }}}/>\n\nRenders as:\n\n<$transclude tiddler=<<title>> mode=\"block\"/>\n\n</$let>\n\\end\n\n! Introduction\n\nThis plugin adds a programmable confetti cannon to your TiddlyWiki. It is based on https://www.kirilv.com/canvas-confetti/ by Kiril Vatev.\n\n! Usage\n\nThe confetti cannon can be controlled using messages or via the `<$confetti>` widget. Use the message approach when triggering confetti in response to an action (such as clicking a button). Use the widget approach when confetti is to be triggered by a condition (such as a target number of words being reached).\n\n!! Messages: tm-confetti-launch and tm-confetti-reset\n\nThe `tm-confetti-launch` message launches the confetti cannon. See below for the available parameters.\n\nThe `tm-confetti-reset` message cancels any confetti that is in progress.\n\n<<show-example staggered>>\n\n!! Widget: `<$confetti>`\n\nThe `<$confetti>` widget launches the confetti cannon when it is first rendered. See below for the available attributes.\n\nTypically it is used in conjunction with a `<$list>` or `<$reveal>` widget that shows the widget when the conditions required to trigger the confetti are satisfied.\n\nIn this example, the confetti will be launched when the word \"launch\" in typed into the box.\n\n<<show-example typing-trigger>>\n\n!! Confetti Launch parameters\n\nThe following options are supported:\n\n|!Name |!Description |!Default |\n|''delay'' |Number of milliseconds to delay the launch |0 |\n|''particleCount'' |The number of confetti to launch |50 |\n|''angle'' |The angle in which to launch the confetti, in degrees (90 is straight up) |90 |\n|''spread'' |How far off center the confetti can go, in degrees. 45 means the confetti will launch at the defined `angle` plus or minus 22.5 degrees |45 |\n|''startVelocity'' |How fast the confetti will start going, in pixels |45 |\n|''decay'' |How quickly the confetti will lose speed. Keep this number between 0 and 1, otherwise the confetti will gain speed |0.9 |\n|''gravity'' |How quickly the particles are pulled down. 1 is full gravity, 0.5 is half gravity, etc. |1 |\n|''drift'' |How much to the side the confetti will drift. The default is 0, meaning that they will fall straight down. Use a negative number for left and positive number for right |0 |\n|''ticks'' |How many times the confetti will move (this is an abstract quantity; the designed recommends playing with it if the confetti disappears too quickly for you) |200 |\n|''originX'' |The `x` position on the page, with `0` being the left edge and `1` being the right edge |0.5 |\n|''originY'' |The `y` position on the page, with `0` being the top edge and `1` being the bottom edge |0.5 |\n|''colors'' |A space separated list of color strings in hex format (eg `#bada55` or `#ce5`) | |\n|''shapes'' |A space separated list of shapes for the confetti. The possible values are `square`, `circle`, and `star`. The default is to use both squares and circles in an even mix. To use a single shape, you can provide just one shape in the list, such as `star`. You can also change the mix by providing a value such as `circle circle square` to use two third circles and one third squares | |\n|''scalar'' |Scale factor for each confetti particle. Use decimals to make the confetti smaller |1 |\n|''zIndex'' |Z-index of confetti. Increase the value if the confetti is appearing behind other on-screen elements|100 |\n|''disableForReducedMotion'' |Set to `yes` to entirely disable confetti for users that [[prefer reduced motion|https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion]] |`no` |\n"
  },
  {
    "path": "plugins/tiddlywiki/confetti/startup.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/confetti/startup.js\ntype: application/javascript\nmodule-type: startup\n\nSetup the root widget event handlers\n\n\\*/\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"confetti\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n// Install the root widget event handlers\nexports.startup = function() {\n\t$tw.confettiManager = new $tw.ConfettiManager();\n\t$tw.rootWidget.addEventListener(\"tm-confetti-launch\",function(event) {\n\t\tvar paramObject = event.paramObject || {},\n\t\t\toptions = {},\n\t\t\textractNumericParameter = function(name) {\n\t\t\t\tif(paramObject[name]) {\n\t\t\t\t\toptions[name] = $tw.utils.parseNumber(paramObject[name]);\n\t\t\t\t}\n\t\t\t},\n\t\t\textractListParameter = function(name) {\n\t\t\t\tif(paramObject[name]) {\n\t\t\t\t\toptions[name] = $tw.utils.parseStringArray(paramObject[name]);\n\t\t\t\t}\n\t\t\t},\n\t\t\textractBooleanParameter = function(name) {\n\t\t\t\tif(paramObject[name]) {\n\t\t\t\t\toptions[name] = paramObject[name] === \"yes\";\n\t\t\t\t}\n\t\t\t};\n\t\t$tw.utils.each(\"particleCount angle spread startVelocity decay gravity drift ticks scalar zIndex\".split(\" \"),function(name) {\n\t\t\textractNumericParameter(name);\n\t\t});\n\t\t$tw.utils.each(\"colors shapes\".split(\" \"),function(name) {\n\t\t\textractListParameter(name);\n\t\t});\n\t\tif(paramObject.originX && paramObject.originY) {\n\t\t\toptions.origin = {\n\t\t\t\tx: paramObject.originX && $tw.utils.parseNumber(paramObject.originX),\n\t\t\t\ty: paramObject.originY && $tw.utils.parseNumber(paramObject.originY)\n\t\t\t};\n\t\t}\n\t\textractBooleanParameter(\"disableForReducedMotion\");\n\t\tvar delay = paramObject.delay ? $tw.utils.parseNumber(paramObject.delay) : 0;\n\t\t$tw.confettiManager.launch(delay,options);\n\t});\n\t$tw.rootWidget.addEventListener(\"tm-confetti-reset\",function(event) {\n\t\t$tw.confettiManager.reset();\n\t});\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/consent-banner/banner.tid",
    "content": "title: $:/plugins/tiddlywiki/consent-banner/banner\ntags: $:/tags/PageTemplate\n\n\\whitespace trim\n\n<%if [<tv-config-static>!match[yes]] %>\n\n<$reveal state=\"$:/state/consent-banner/accepted\" type=\"match\" text=\"\" tag=\"div\">\n\n<div class=\"tc-consent-backdrop\">\n\n</div>\n\n<div class=\"tc-consent-banner tc-consent-banner-left\">\n\n<$transclude tiddler=\"$:/config/plugins/tiddlywiki/consent-banner/greeting-message\" mode=\"block\"/>\n\n<div class=\"tc-consent-buttons\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ConsentBanner/Button]]\">\n\n<$transclude tiddler=<<currentTiddler>> mode=\"inline\"/>\n\n</$list>\n\n</div>\n\n</div>\n\n</$reveal>\n\n<%endif%>"
  },
  {
    "path": "plugins/tiddlywiki/consent-banner/blocked-embed-message-wrapper.tid",
    "content": "title: $:/plugins/tiddlywiki/consent-banner/blocked-embed-message-wrapper\n\n\\define styles()\nwidth:$(width)$;height:$(height)$;\n\\end\n\n<div class=\"tc-blocked-embedded-content\" style=<<styles>>>\n<div class=\"tc-blocked-embedded-content-inner\">\n<div class=\"tc-blocked-embedded-content-inner-inner\">\n<$transclude tiddler=\"$:/config/plugins/tiddlywiki/consent-banner/blocked-embed-message\" mode=\"inline\"/>\n</div>\n</div>\n</div>\n"
  },
  {
    "path": "plugins/tiddlywiki/consent-banner/buttons/accept.tid",
    "content": "title: $:/plugins/tiddlywiki/consent-banner/buttons/accept\ntags: $:/tags/ConsentBanner/Button\n\n<$button message=\"tm-consent-accept\" class=\"tc-consent-button tc-consent-button-default tc-btn-invisible\" tooltip={{$:/config/plugins/tiddlywiki/consent-banner/buttons/accept/hint}}>\n{{$:/config/plugins/tiddlywiki/consent-banner/buttons/accept/caption}}\n</$button>\n"
  },
  {
    "path": "plugins/tiddlywiki/consent-banner/buttons/decline.tid",
    "content": "title: $:/plugins/tiddlywiki/consent-banner/buttons/decline\ntags: $:/tags/ConsentBanner/Button\n\n<$button message=\"tm-consent-decline\" class=\"tc-consent-button tc-btn-invisible\" tooltip={{$:/config/plugins/tiddlywiki/consent-banner/buttons/decline/hint}}>\n{{$:/config/plugins/tiddlywiki/consent-banner/buttons/decline/caption}}\n</$button>\n"
  },
  {
    "path": "plugins/tiddlywiki/consent-banner/config/DefaultColourMappings.multids",
    "content": "title: $:/config/DefaultColourMappings/\n\nconsent-banner-backdrop-background: rgba(0,0,0,0.2)\nconsent-banner-background: #009677\nconsent-banner-button-background: transparent\nconsent-banner-button-border: #fff\nconsent-banner-button-default-background: #fff\nconsent-banner-button-default-foreground: #009677\nconsent-banner-button-foreground: #fff\nconsent-banner-button-hover-background: #fff\nconsent-banner-button-hover-border: #fff\nconsent-banner-button-hover-foreground: #009577\nconsent-banner-foreground: #fff\nconsent-banner-hr-background: rgba(255,255,255,.25)\nconsent-banner-link-foreground: #fff"
  },
  {
    "path": "plugins/tiddlywiki/consent-banner/config/block-embedded-content.tid",
    "content": "title: $:/config/plugins/tiddlywiki/consent-banner/block-embedded-content\ntext: yes\n"
  },
  {
    "path": "plugins/tiddlywiki/consent-banner/config/blocked-embed-message.tid",
    "content": "title: $:/config/plugins/tiddlywiki/consent-banner/blocked-embed-message\n\nBlocked embedded content from<br/><a href=<<url>> class=\"tc-tiddlylink-external\" target=\"_blank\" rel=\"noopener noreferrer\"><$text text=<<url>>/></a>\n\n<hr/>\n\n{{$:/plugins/tiddlywiki/consent-banner/buttons/accept}} cookies to unblock"
  },
  {
    "path": "plugins/tiddlywiki/consent-banner/config/blocked-raw-message.tid",
    "content": "title: $:/config/plugins/tiddlywiki/consent-banner/blocked-raw-message\n\n<div class=\"tc-blocked-embedded-content\" style=\"width:100%;\">\n\n<div class=\"tc-blocked-embedded-content-inner\">\n\n<div class=\"tc-blocked-embedded-content-inner-inner\">\n\nBlocked raw content\n\n<hr/>\n\n{{$:/plugins/tiddlywiki/consent-banner/buttons/accept}} cookies to unblock\n\n</div>\n\n</div>\n\n</div>\n"
  },
  {
    "path": "plugins/tiddlywiki/consent-banner/config/buttons.multids",
    "content": "title: $:/config/plugins/tiddlywiki/consent-banner/buttons/\n\naccept/caption: Accept\naccept/hint: Accept cookies\nclear/caption: Clear\nclear/hint: Clear cookies\ndecline/caption: Decline\ndecline/hint: Decline cookies\n"
  },
  {
    "path": "plugins/tiddlywiki/consent-banner/config/cookie-consent-required.tid",
    "content": "title: $:/config/cookie-consent-required\ntext: yes"
  },
  {
    "path": "plugins/tiddlywiki/consent-banner/config/greeting-message.tid",
    "content": "title: $:/config/plugins/tiddlywiki/consent-banner/greeting-message\n\n! Our use of cookies\n\nWe use necessary cookies to make our site work. We’d also like to set optional analytics to help us improve it. We won’t set optional cookies unless you enable them. Using this tool will set a cookie on your device to remember your preferences.\n\n---\n\n!! Necessary cookies\n\nNecessary cookies enable core functionality such as security, network management, and accessibility. You may disable these by changing your browser settings, but this may affect how the website functions.\n\n---\n\n!! Analytics cookies\n\nWe’d like to set non-essential cookies, such as Google Analytics, to help us to improve our website by collecting and reporting information on how you use it. The cookies collect information in a way that does not directly identify anyone.\n\n---\n"
  },
  {
    "path": "plugins/tiddlywiki/consent-banner/config/tv-block-embedded-content.tid",
    "content": "title: $:/plugins/tiddlywiki/consent-banner/tv-block-embedded-content\ntags: $:/tags/Macro\n\n<$set name=\"tv-block-embedded-content\" value={{{ [{$:/config/cookie-consent-required}else[no]match[yes]then{$:/state/consent-banner/accepted}!match[yes]then[yes]] }}}/>\n"
  },
  {
    "path": "plugins/tiddlywiki/consent-banner/config.tid",
    "content": "title: $:/plugins/tiddlywiki/consent-banner/config\ncaption: Consent Banner\ntags: $:/tags/ControlPanel/SettingsTab\n\n! [[Greeting Message|$:/config/plugins/tiddlywiki/consent-banner/greeting-message]]\n\n<div style=\"\">\n\n<div style=\"display:inline-block;vertical-align:top;width:45%;\">\n\n<$edit-text tiddler=\"$:/config/plugins/tiddlywiki/consent-banner/greeting-message\" tag=\"textarea\" class=\"tc-edit-texteditor\"/>\n\n</div>\n\n<div style=\"display:inline-block;vertical-align:top;width:45%;margin:0.5em;border:1px solid black;padding:0.5em;\" class=\"tc-consent-banner\">\n\n<$transclude tiddler=\"$:/config/plugins/tiddlywiki/consent-banner/greeting-message\" mode=\"block\"/>\n\n</div>\n\n</div>\n\n! Buttons\n\n|[[Accept caption|$:/config/plugins/tiddlywiki/consent-banner/buttons/accept/caption]] |<$edit-text tiddler=\"$:/config/plugins/tiddlywiki/consent-banner/buttons/accept/caption\" tag=\"input\"/> |\n|[[Accept hint|$:/config/plugins/tiddlywiki/consent-banner/buttons/accept/hint]] |<$edit-text tiddler=\"$:/config/plugins/tiddlywiki/consent-banner/buttons/accept/hint\" tag=\"input\"/> |\n|[[Decline caption|$:/config/plugins/tiddlywiki/consent-banner/buttons/decline/caption]] |<$edit-text tiddler=\"$:/config/plugins/tiddlywiki/consent-banner/buttons/decline/caption\" tag=\"input\"/> |\n|[[Decline hint|$:/config/plugins/tiddlywiki/consent-banner/buttons/decline/hint]] |<$edit-text tiddler=\"$:/config/plugins/tiddlywiki/consent-banner/buttons/decline/hint\" tag=\"input\"/> |\n\n! [[Consent Accepted Status|$:/state/consent-banner/accepted]]\n\nCurrent status: {{$:/state/consent-banner/accepted}} (blank indicates that consent has not yet been granted or declined)\n\n<$button message=\"tm-consent-accept\" tooltip={{$:/config/plugins/tiddlywiki/consent-banner/buttons/accept/hint}}>\n{{$:/config/plugins/tiddlywiki/consent-banner/buttons/accept/caption}}\n</$button>\n\n<$button message=\"tm-consent-decline\" tooltip={{$:/config/plugins/tiddlywiki/consent-banner/buttons/decline/hint}}>\n{{$:/config/plugins/tiddlywiki/consent-banner/buttons/decline/caption}}\n</$button>\n\n<$button message=\"tm-consent-clear\" tooltip={{$:/config/plugins/tiddlywiki/consent-banner/buttons/clear/hint}}>\n{{$:/config/plugins/tiddlywiki/consent-banner/buttons/clear/caption}}\n</$button>\n\n! Embedded Content Blocking\n\n//Requires page reload//\n\n<$checkbox tiddler=\"$:/config/plugins/tiddlywiki/consent-banner/block-embedded-content\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> Block all embedded content such as &lt;iframe>, &lt;embed> and &lt;object> unless consent has been granted</$checkbox>\n"
  },
  {
    "path": "plugins/tiddlywiki/consent-banner/docs.tid",
    "content": "title: $:/plugins/tiddlywiki/consent-banner/docs\n\n! Features\n\nIf the same wiki is opened in multiple tabs then once the warning has been accepted or declined in one tab then the other tabs will autonatically follow suit.\n\nConsent is automatically granted if the user logged in (ie the tiddler [[$:/status/IsLoggedIn]] is set to `yes`).\n\n! Consent Banner Palette Entries\n\nAdd these entries to your current colour palette to change the colours used by the consent banner:\n\n* ''consent-banner-backdrop-background'' - the colour of the backdrop behind the consent banner (defaults to {{$:/config/DefaultColourMappings/consent-banner-backdrop-background}})\n* ''consent-banner-background'' - the background colour of the consent banner (defaults to {{$:/config/DefaultColourMappings/consent-banner-background}})\n* ''consent-banner-button-background'' - the background colour of buttons within the consent banner (defaults to {{$:/config/DefaultColourMappings/consent-banner-button-background}})\n* ''consent-banner-button-border'' - the border colour of buttons within the consent banner (defaults to {{$:/config/DefaultColourMappings/consent-banner-button-border}})\n* ''consent-banner-button-default-background'' - the background colour for the default button within the consent banner (defaults to {{$:/config/DefaultColourMappings/consent-banner-button-default-background}})\n* ''consent-banner-button-default-foreground'' - the foreground colour for the default button within the consent banner (defaults to {{$:/config/DefaultColourMappings/consent-banner-button-default-foreground}})\n* ''consent-banner-button-foreground'' - the foreground colour of buttons within the consent banner (defaults to {{$:/config/DefaultColourMappings/consent-banner-button-foreground}})\n* ''consent-banner-button-hover-background'' - the background colour of hovered buttons within the consent banner (defaults to {{$:/config/DefaultColourMappings/consent-banner-button-hover-background}})\n* ''consent-banner-button-hover-border'' - the border colour of hovered buttons within the consent banner (defaults to {{$:/config/DefaultColourMappings/consent-banner-button-hover-border}})\n* ''consent-banner-button-hover-foreground'' - the foreground colour of hovered buttons within the consent banner (defaults to {{$:/config/DefaultColourMappings/consent-banner-button-hover-foreground}})\n* ''consent-banner-foreground'' - the foreground colour of the consent banner (defaults to {{$:/config/DefaultColourMappings/consent-banner-foreground}})\n* ''consent-banner-hr-background'' - the background colour of horizontal rules within the consent banner (defaults to {{$:/config/DefaultColourMappings/consent-banner-hr-background}})\n* ''consent-banner-link-foreground'' - the foreground colour of tiddler links within the consent banner (defaults to {{$:/config/DefaultColourMappings/consent-banner-link-foreground}})\n\n! Embedded Content Blocking\n\nUnless disabled via the config tab, content embedded via &lt;iframe>, &lt;embed> or &lt;object> is blocked until the user consents to accept cookies.\n\n!! Implementation Details\n\nEmbedded content is blocked if the variable `tv-block-embedded-content` is set to `yes`. It is set to the current consent status by a [[global macro|$:/plugins/tiddlywiki/consent-banner/tv-block-embedded-content]]:\n\n<$codeblock code={{$:/plugins/tiddlywiki/consent-banner/tv-block-embedded-content}}/>\n\n! ~YouTube macro\n\nA simple macro for embedding ~YouTube videos is provided to show how to adapt content according to whether consent has been granted. It works by checking the tiddler [[$:/state/consent-banner/accepted]] for the following values:\n\n* ''empty or missing'' - the user has yet to accept or decline to give their consent\n* `yes` - the user has granted consent\n* `no` - the user has declined consent\n\n! Customising banner buttons\n\nThe [[\"accept\"|$:/plugins/tiddlywiki/consent-banner/buttons/accept]] and [[\"decline\"|$:/plugins/tiddlywiki/consent-banner/buttons/decline]] buttons in the banner are individual tiddlers with the tag [[$:/tags/ConsentBanner/Button]], allowing them to be customised and extended.\n\nA common use case is to add a \"login\" button allowing users to login directly to bypass the banner. This could be implemented as a tiddler tagged [[$:/tags/ConsentBanner/Button]] with the following text:\n\n```\n<$button message=\"tm-login\" class=\"tc-consent-button tc-btn-invisible\">\nLogin\n</$button>\n```\n\n! Integration with other plugins\n\nThird party plugins that set cookies can configure themselves to defer setting cookies until the user grants consent. There are several parts to this mechanism:\n\n* The consent-banner plugin includes a shadow tiddler [[$:/config/cookie-consent-required]] with the text `yes`. The third-party plugin should inspect this tiddler at startup; if it is not set to \"yes\" then it can proceed to set tiddlers immediately\n* Otherwise, the third-party plugin should listen for changes to the tiddler [[$:/state/consent-banner/accepted]] and only start setting cookies when and if the value changes to \"yes\"\n\nThe [[Google Analytics plugin|https://github.com/TiddlyWiki/TiddlyWiki5/tree/master/plugins/tiddlywiki/googleanalytics]] shows an example of how this mechanism can be implemented.\n"
  },
  {
    "path": "plugins/tiddlywiki/consent-banner/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/consent-banner\",\n\t\"name\": \"Consent Banner\",\n\t\"description\": \"Consent banner for GDPR etc\",\n\t\"list\": \"readme docs youtube config\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/consent-banner/raw-widget.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/raw.js\ntype: application/javascript\nmodule-type: widget\n\nAn override of the raw widget that blocks raw content until the user has consented to accept cookies\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar RawWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRawWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRawWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.execute();\n\tthis.blocked = this.getVariable(\"tv-block-embedded-content\",\"no\") === \"yes\";\n\tif(this.blocked) {\n\t\tthis.makeChildWidgets([{\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: \"$:/config/plugins/tiddlywiki/consent-banner/blocked-raw-message\"}\n\t\t\t}\n\t\t}]);\n\t\t// Render child widgets\n\t\tthis.renderChildren(parent,null);\n\t} else {\n\t\tvar div = this.document.createElement(\"div\");\n\t\tdiv.innerHTML=this.parseTreeNode.html;\n\t\tparent.insertBefore(div,nextSibling);\n\t\tthis.domNodes.push(div);\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nRawWidget.prototype.execute = function() {\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRawWidget.prototype.refresh = function(changedTiddlers) {\n\tif(this.blocked) {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t} else {\n\t\treturn false;\t\t\n\t}\n};\n\nexports.raw = RawWidget;\n"
  },
  {
    "path": "plugins/tiddlywiki/consent-banner/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/consent-banner/readme\n\nThe ''consent-banner'' plugin helps make websites that are compliant with \"cookie legislation\" such as the [[EU General Data Protection Regulation|https://gdpr.eu/cookies/]].\nIt presents a banner inviting the user to accept or reject cookies, keeping track of their consent in local storage so that the banner can be hidden on subsequent visits.\n\nBy default, content embedded with &lt;iframe>, &lt;embed> and &lt;object> is blocked unless the user consents to accept cookies.\n\nConsent status is  available via a configuration tiddler so that it is possible to construct content that behaves differently depending upon whether consent has been granted. As an example, a macro is provided for embedding ~YouTube videos that automatically uses the youtube-nocookie.com variant of video URLs unless the user has accepted cookies.\n\nPlease note that using this plugin does not guarantee compliance with any particular legislation. You will need to understand the technical issues specific to your situation, and if necessary seek legal advice.\n"
  },
  {
    "path": "plugins/tiddlywiki/consent-banner/startup.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/consent-banner/startup.js\ntype: application/javascript\nmodule-type: startup\n\nStartup initialisation\n\n\\*/\n\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"consent-banner\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.before = [\"render\"];\nexports.synchronous = true;\n\nvar CHECK_CONSENT_INTERVAL = 1000, // Milliseconds between checking local storage\n\tIS_LOGGED_IN_TITLE = \"$:/status/IsLoggedIn\",\n\tCONSENT_KEY = \"COOKIE_CONSENT\", // Local storage keyname\n\tCONSENT_TITLE = \"$:/state/consent-banner/accepted\", // \"\": undeclared, \"yes\": accepted, \"no\": declined\n\tCONFIG_BLOCK_EMBEDDED_CONTENT_TITLE = \"$:/config/plugins/tiddlywiki/consent-banner/block-embedded-content\",\n\tEMBEDDED_MESSAGE_WRAPPER_TITLE = \"$:/plugins/tiddlywiki/consent-banner/blocked-embed-message-wrapper\";\n\nexports.startup = function() { \n\tvar consentState = \"\",\n\t\tsetConsentStatus = function(state) {\n\t\t\tif(consentState !== state) {\n\t\t\t\tconsentState = state;\n\t\t\t\t// Write to local storage\n\t\t\t\twindow.localStorage.setItem(CONSENT_KEY,state);\n\t\t\t\t// Write to a state tiddler\n\t\t\t\t$tw.wiki.addTiddler(new $tw.Tiddler({\n\t\t\t\t\ttitle: CONSENT_TITLE,\n\t\t\t\t\ttext: state\n\t\t\t\t}));\n\t\t\t}\n\t\t},\n\t\tcalculateConsentStatus = function() {\n\t\t\t// Consent is implied for logged in users, otherwise we check local storage\n\t\t\treturn ($tw.wiki.getTiddlerText(IS_LOGGED_IN_TITLE) === \"yes\" && \"yes\") || window.localStorage.getItem(CONSENT_KEY) || \"\";\n\t\t},\n\t\tcheckConsentStatus = function() {\n\t\t\tsetConsentStatus(calculateConsentStatus());\n\t\t\tif(consentState === \"\") {\n\t\t\t\tpollConsentStatus();\n\t\t\t}\n\t\t},\n\t\tpollConsentStatus = function() {\n\t\t\tsetTimeout(checkConsentStatus,CHECK_CONSENT_INTERVAL);\n\t\t};\n\t// Set the current consent status\n\tcheckConsentStatus();\n\t// Listen for consent messages\n\t$tw.rootWidget.addEventListener(\"tm-consent-accept\",function(event) {\n\t\tsetConsentStatus(\"yes\");\n\t});\n\t$tw.rootWidget.addEventListener(\"tm-consent-decline\",function(event) {\n\t\tsetConsentStatus(\"no\");\n\t});\n\t$tw.rootWidget.addEventListener(\"tm-consent-clear\",function(event) {\n\t\tsetConsentStatus(\"\");\n\t});\n\t// Add our element rendering hook\n\tif($tw.wiki.getTiddlerText(CONFIG_BLOCK_EMBEDDED_CONTENT_TITLE,\"no\") === \"yes\") {\n\t\t$tw.hooks.addHook(\"th-rendering-element\",function(parseTreeNodes,widget) {\n\t\t\tif(parseTreeNodes) {\n\t\t\t\treturn parseTreeNodes;\n\t\t\t}\n\t\t\tif([\"iframe\",\"object\",\"embed\"].indexOf(widget.tag) !== -1 && widget.getVariable(\"tv-block-embedded-content\",\"no\") === \"yes\") {\n\t\t\t\tvar url = widget.getAttribute(\"src\"),\n\t\t\t\t\taddUnitsIfMissing = function(str) {\n\t\t\t\t\t\tstr = \"\" + str;\n\t\t\t\t\t\treturn str + ((\"\" + parseInt(str,10)) === str ? \"px\" : \"\");\n\t\t\t\t\t},\n\t\t\t\t\twidth = addUnitsIfMissing(widget.getAttribute(\"width\",\"\")),\n\t\t\t\t\theight = addUnitsIfMissing(widget.getAttribute(\"height\",\"\"));\n\t\t\t\treturn [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"vars\",\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\turl: {type: \"string\", value: url},\n\t\t\t\t\t\t\twidth: {type: \"string\", value: width},\n\t\t\t\t\t\t\theight: {type: \"string\", value: height}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: \"transclude\",\n\t\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\t\ttiddler: {type: \"string\", value: EMBEDDED_MESSAGE_WRAPPER_TITLE},\n\t\t\t\t\t\t\t\t\tmode: {type: \"string\", value: \"inline\"}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t];\n\t\t\t}\n\t\t\treturn null;\n\t\t});\n\t}\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/consent-banner/styles.tid",
    "content": "title: $:/plugins/tiddlywiki/consent-banner/styles\ntags: $:/tags/Stylesheet\n\n.tc-consent-backdrop {\n\tz-index: 1999;\n\tposition: fixed;\n\tleft: 0;\n\tright: 0;\n\ttop: 0;\n\tbottom: 0;\n\tbackground: <<colour consent-banner-backdrop-background>>;\n}\n\n.tc-consent-banner-left {\n\tz-index: 2000;\n\tposition: fixed;\n\tleft: 0;\n\ttop: 0;\n\tbottom: 0;\n\tmax-width: 500px;\n\toverflow-y: auto;\n}\n\n.tc-consent-banner {\n\tpadding: 1em;\n\tbackground: <<colour consent-banner-background>>;\n\tcolor: <<colour consent-banner-foreground>>;\n\tbox-shadow: 0 0 20px rgba(0,0,0,.2);\n}\n\n.tc-consent-banner a.tc-tiddlylink-external {\n\ttext-decoration: underline;\n\tcolor: <<colour consent-banner-link-foreground>>;\n\tbackground-color: inherit;\n}\n\n.tc-consent-banner a.tc-tiddlylink-external:visited {\n\tcolor: <<colour consent-banner-link-foreground>>;\n\tbackground-color: inherit;\n}\n\n.tc-consent-banner hr {\n\tclear: both;\n\tpadding: 0;\n\twidth: 100%;\n\toverflow: hidden;\n\ttext-align: left;\n\tborder: 0 none;\n\tmargin: 24px 0;\n\theight: 1px;\n\tmax-height: 1px;\n\tbackground: <<colour consent-banner-hr-background>>;\n}\n\n.tc-consent-buttons {\n\t\n}\n\n.tc-consent-banner .tc-consent-button {\n\tmargin-right: 1em;\n}\n\n.tc-consent-button {\n\tborder: 1px solid <<colour consent-banner-button-border>>;\n\tmargin-top: 1em;\n\tpadding: 0.75em 1.5em;\n\tcolor: <<colour consent-banner-button-foreground>>;\n\tbackground: <<colour consent-banner-button-background>>;\n\tfont-weight: bold;\n}\n\n.tc-consent-button:hover {\n\tcolor: <<colour consent-banner-button-hover-foreground>>;\n\tborder-color: <<colour consent-banner-button-hover-border>>;\n\tbackground: <<colour consent-banner-button-hover-background>>;\n\topacity: .6;\n}\n\n.tc-consent-button-default {\n\tcolor: <<colour consent-banner-button-default-foreground>>;\n\tbackground: <<colour consent-banner-button-default-background>>;\n}\n\n.tc-blocked-embedded-content {\n\tdisplay: inline-block;\n\toverflow: hidden;\n\tcolor: <<colour background>>;\n\tbackground: <<colour muted-foreground>>;\n\tborder: 1px solid <<colour foreground>>;\n\t<<box-shadow \"inset 0 0 8px rgba(0, 0, 0, 0.15)\">>\n}\n\n.tc-blocked-embedded-content-inner {\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  width: 100%;\n  height: 100%;\n}\n\n.tc-blocked-embedded-content-inner-inner {\n\tdisplay: inline-block;\n\ttext-align: center;\n}\n\n.tc-blocked-embedded-content-inner-inner hr {\n    background: <<colour foreground>>;\n    height: 1px;\n    width: 80%;\n    border: none;\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/consent-banner/youtube-macros.tid",
    "content": "title: $:/plugins/tiddlywiki/consent-banner/youtube\ntags: $:/tags/Macro\n\n\\define embed-video-with-consent(code)\n<$set name=\"tv-block-embedded-content\" value=\"no\">\n<$reveal state=\"$:/state/consent-banner/accepted\" type=\"match\" text=\"yes\" tag=\"div\">\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/$code$\" frameborder=\"0\" allow=\"autoplay; encrypted-media\" allowfullscreen></iframe>\n</$reveal>\n<$reveal state=\"$:/state/consent-banner/accepted\" type=\"nomatch\" text=\"yes\" tag=\"div\">\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube-nocookie.com/embed/$code$\" frameborder=\"0\" allow=\"autoplay; encrypted-media\" allowfullscreen></iframe>\n</$reveal>\n</$set>\n\\end\n\n! Macro source\n\n<$codeblock code={{$:/plugins/tiddlywiki/consent-banner/youtube}}/>\n\n! Example\n\n<<embed-video-with-consent KtCUr83XgyE>>\n"
  },
  {
    "path": "plugins/tiddlywiki/dom-to-image/docs.tid",
    "content": "title: $:/plugins/tiddlywiki/dom-to-image/docs\ncaption: tm-save-dom-to-image message\n\n!! `tm-save-dom-to-image` message\n\nThe `tm-save-dom-to-image` message uses a [[third-party library|https://github.com/1904labs/dom-to-image-more]] to save a DOM node as an image. The image can be saved to a file or to a tiddler.\n\nNote that there are some limitations to saving content loaded from external domains due to the same-origin policy. See the documentation for more details.\n\nThe following parameters are supported:\n\n|!Parameters |!Description |\n|''selector'' |CSS selector identifying the DOM node to be saved as an image (defaults to `body`). If multiple DOM nodes are returned by the selector then the first one is used |\n|''format'' |Save format: ''png'', ''jpeg'' or ''svg'' (defaults to ''png'') |\n|''quality'' |Optional quality 0 to 1 for JPEG images (note that the default quality is 1, and this default is applied even if the quality is explicitly specified as `0`. To force a low quality JPEG image it is therefore necessary to specify a small non-zero value such as `0.001`) |\n|''scale'' |Optional scale factor for the image (defaults to 1) |\n|''width'' |Optional width of the image in pixels |\n|''height'' |Optional height of the image in pixels |\n|''save-file'' |Optional filename to save the image to |\n|''save-title'' |Optional title of tiddler to save the image to |\n|''oncompletion'' |Optional action string to be invoked when the save operation has completed |\n|''var-*'' |Variables to be passed to the completion handler (without the \"var-\" prefix) |\n\n!! Examples\n\n<$button>\n<$action-sendmessage\n\t$message=\"tm-save-dom-to-image\"\n\tselector=\"body.tc-body\"\n\tscale=\"2\"\n\tsave-file=\"screenshot.png\"\n/>\nSave the screen as an image file in PNG format\n</$button>\n\n<$button>\n<$action-sendmessage\n\t$message=\"tm-save-dom-to-image\"\n\tselector=\"body.tc-body\"\n\tscale=\"2\"\n\tsave-title=\"$:/temp/screenshot.png\"\n/>\nSave the screen as an image tiddler in PNG format\n</$button> [[$:/temp/screenshot.png]]\n\n<$button>\n<$action-sendmessage\n\t$message=\"tm-save-dom-to-image\"\n\tselector=\"body.tc-body\"\n\tformat=\"jpeg\"\n\tscale=\"1\"\n\tquality=\"0.01\"\n\tsave-title=\"$:/temp/screenshot.jpeg\"\n/>\nSave the screen as an image tiddler in low quality JPEG format\n</$button> [[$:/temp/screenshot.jpeg]]\n\n<$button>\n<$action-sendmessage\n\t$message=\"tm-save-dom-to-image\"\n\tselector=\"body.tc-body\"\n\tformat=\"svg\"\n\tsave-title=\"$:/temp/screenshot.svg\"\n/>\nSave the screen as an image tiddler in SVG format\n</$button> [[$:/temp/screenshot.svg]]\n"
  },
  {
    "path": "plugins/tiddlywiki/dom-to-image/files/LICENSE",
    "content": "The MIT License (MIT)\n\nCopyright 2018 Marc Brooks\nhttps://about.me/idisposable\n\nCopyright 2015 Anatolii Saienko\nhttps://github.com/tsayen\n\nCopyright 2012 Paul Bakaus\nhttp://paulbakaus.com/\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."
  },
  {
    "path": "plugins/tiddlywiki/dom-to-image/files/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": [\n\t\t{\n\t\t\t\"file\": \"dom-to-image-more.min.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/dom-to-image/dom-to-image-more.js\",\n\t\t\t\t\"module-type\": \"library\",\n\t\t\t\t\"url\": \"https://github.com/1904labs/dom-to-image-more\",\n\t\t\t\t\"version\": \"3.5.0\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"file\": \"LICENSE\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"text/plain\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/dom-to-image/dom-to-image-more/LICENSE\"\n\t\t\t}\n\t\t}\n\t]\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/dom-to-image/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/dom-to-image\",\n\t\"name\": \"Dom-to-image\",\n\t\"description\": \"Save DOM nodes as images\",\n\t\"list\": \"readme docs\",\n\t\"stability\": \"STABILITY_1_EXPERIMENTAL\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/dom-to-image/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/dom-to-image/readme\n\n* [[dom-to-image-more|https://github.com/1904labs/dom-to-image-more]], an open source library for saving web content as images"
  },
  {
    "path": "plugins/tiddlywiki/dom-to-image/startup.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/dom-to-image/startup.js\ntype: application/javascript\nmodule-type: startup\n\ndom-to-image initialisation\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"dom-to-image\";\nexports.after = [\"rootwidget\"];\nexports.before = [\"render\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\tvar getPropertiesWithPrefix = function(properties,prefix) {\n\t\tvar result = Object.create(null);\n\t\t$tw.utils.each(properties,function(value,name) {\n\t\t\tif(name.indexOf(prefix) === 0) {\n\t\t\t\tresult[name.substring(prefix.length)] = properties[name];\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t};\n\t$tw.rootWidget.addEventListener(\"tm-save-dom-to-image\",function(event) {\n\t\tvar self=this,\n\t\t\tparams = event.paramObject || {},\n\t\t\tdomToImage = require(\"$:/plugins/tiddlywiki/dom-to-image/dom-to-image-more.js\"),\n\t\t\tdomNode = document.querySelector(params.selector || \"body.tc-body\"),\n\t\t\toncompletion = params.oncompletion,\n\t\t\tvariables = getPropertiesWithPrefix(params,\"var-\");\n\t\tif(domNode) {\n\t\t\tvar method = \"toPng\";\n\t\t\tswitch(params.format) {\n\t\t\t\tcase \"jpeg\":\n\t\t\t\t// Intentional fallthrough\n\t\t\t\tcase \"jpg\":\n\t\t\t\t\tmethod = \"toJpeg\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"svg\":\n\t\t\t\t\tmethod = \"toSvg\";\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdomToImage[method](domNode,{\n\t\t\t\theight: $tw.utils.parseInt(params.height) || domNode.offsetHeight,\n\t\t\t\twidth: $tw.utils.parseInt(params.width) || domNode.offsetWidth,\n\t\t\t\tquality: $tw.utils.parseNumber(params.quality),\n\t\t\t\tscale: $tw.utils.parseNumber(params.scale) || 1\n\t\t\t})\n\t\t\t\t.then(function(dataUrl) {\n\t\t\t\t\t// Save the image\n\t\t\t\t\tif(params[\"save-file\"]) {\n\t\t\t\t\t\tvar link = document.createElement(\"a\");\n\t\t\t\t\t\tlink.download = params[\"save-file\"];\n\t\t\t\t\t\tlink.href = dataUrl;\n\t\t\t\t\t\tlink.click();\n\t\t\t\t\t}\n\t\t\t\t\t// Save the tiddler\n\t\t\t\t\tif(params[\"save-title\"]) {\n\t\t\t\t\t\tif(dataUrl.indexOf(\"data:image/svg+xml;\") === 0) {\n\t\t\t\t\t\t\tvar commaIndex = dataUrl.indexOf(\",\");\n\t\t\t\t\t\t\t$tw.wiki.addTiddler(new $tw.Tiddler({\n\t\t\t\t\t\t\t\ttitle: params[\"save-title\"],\n\t\t\t\t\t\t\t\ttype: \"image/svg+xml\",\n\t\t\t\t\t\t\t\t\"text\": decodeURIComponent(dataUrl.substring(commaIndex + 1))\n\t\t\t\t\t\t\t}));\t\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar parts = dataUrl.split(\";base64,\");\n\t\t\t\t\t\t\t$tw.wiki.addTiddler(new $tw.Tiddler({\n\t\t\t\t\t\t\t\ttitle: params[\"save-title\"],\n\t\t\t\t\t\t\t\ttype: parts[0].split(\":\")[1],\n\t\t\t\t\t\t\t\t\"text\": parts[1]\n\t\t\t\t\t\t\t}));\t\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tself.wiki.invokeActionString(oncompletion,self,variables,{parentWidget: $tw.rootWidget});\n\t\t\t\t})\n\t\t\t\t.catch(function(error) {\n\t\t\t\t\tconsole.error(\"oops, something went wrong!\", error);\n\t\t\t\t});\n\t\t}\n\t});\n};\n\n})();\n\t"
  },
  {
    "path": "plugins/tiddlywiki/dynannotate/config/LegacySelectionTracker.tid",
    "content": "title: $:/config/Dynannotate/LegacySelectionTracker/Enable\n\nno\n"
  },
  {
    "path": "plugins/tiddlywiki/dynannotate/config/SelectionTracker.tid",
    "content": "title: $:/config/Dynannotate/SelectionTracker/Enable\n\nno\n"
  },
  {
    "path": "plugins/tiddlywiki/dynannotate/docs/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/dynannotate/readme\n\nThe ''Dynannotate'' plugin allows annotations on textual content to be created and displayed. It has several components:\n\n* The dynannotate widget draws clickable textual annotations, search highlights and search snippets as overlays over the top of the content that it contains\n* The selection tracker keeps track of changes to the selected text in the main browser window. It triggers an action string when the selection changes, passing it the details of the selection. It can be used to display a popup menu\n** The original legacy selection tracker is also provided for backwards compatibility. It is much more limited, and not recommended for new projects\n* The element spotlight highlights on screen elements using a spotlight animation\n\n!! Dynannotate Widget\n\nThe attributes of the `<$dynannotate>` widget describe annotations to be overlaid over the text contained within its child widgets. A single annotation can be directly applied using the attributes or multiple annotations can be applied by providing a filter identifying the \"annotation tiddlers\" that specify each annotation.\n\nThe content of the  `<$dynannotate>` widget should not contain HTML `<input>` or `<textarea>` text editing elements (and therefore should not contain TiddlyWiki's `<$edit-text>` widget)\n\nThe `<$dynannotate>` widget uses the selection tracker to support a popup that dynamically tracks selected text within it.\n\n!!! Attributes\n\n|!Attribute |!Description |\n|target |Optional text to be annotated |\n|targetPrefix |Optional prefix text to disambiguate the target |\n|targetSuffix |Optional suffix text to disambiguate the target |\n|filter |Filter identifying the annotation tiddlers applying to this content (see below) |\n|actions |Action string to be executed when an annotation is clicked. The variable `annotationTiddler` contains the title of the tiddler corresponding to the annotation that was clicked, and the variable `modifierKey` contains \"ctrl\", \"shift\", \"ctrl-shift\", \"normal\" according to which modifier keys were pressed |\n|popup |Popup state tiddler to be used to trigger a popup when an annotation is clicked |\n|floating |Setting to `yes` makes the popup need to be closed explicitly. |\n|search |Search text to be highlighted within the widget |\n|searchDisplay |\"overlay\" or \"snippet\" (see below) |\n|searchMode |\"literal\" (default), \"regexp\", \"whitespace\", \"words\" or \"some\" (see below) |\n|searchMinLength |Optional minimum length of search string |\n|searchCaseSensitive |\"yes\" (the default) for a case sensitive search, or \"no\" for a case insensitive search|\n|searchClass |Optional CSS class to be added to search overlays |\n|snippetContextLength |Optional length of search result contextual prefix/suffix |\n\nThe following attributes are only used with the legacy selection tracker:\n\n|!Attribute |!Description |\n|selection |Tiddler to which the currently selected text should be dynamically saved |\n|selectionPrefix |Tiddler to which up to 50 characters preceding the currently selected text should be dynamically saved |\n|selectionSuffix |Tiddler to which up to 50 characters succeeding the currently selected text should be dynamically saved |\n|selectionPopup |Popup state tiddler to be used to trigger a popup when text is selected |\n\nThe values supported by the `searchDisplay` attribute are:\n\n* `overlay` - display search results as overlays over the contained text\n* `snippet` - display search results as a sequence of highlighted snippets, and the original text is hidden. Selecting this option therefore disables the annotation functionality\n\nThe search modes supported by the `searchMode` attribute are:\n\n* `literal` or `normal` - a literal string of plain text to match (default).\n* `regexp` - a JavaScript-style regular expression (without the quoting backslashes and flags)\n* `whitespace` - a literal string to match while normalising runs of whitespace. Thus `A B` matches `A   B`.\n* `words` or `some` - treats the search string as a list of tokens separated by whitespace, and matches all tokens (regardless of ordering and whether there is other text in between)\n\nWhen the selection popup is triggered, the currently selected text can be found in the tiddler named in the `selection` attribute, with the disambiguating prefix and suffix in the tiddlers named in the `selectionPrefix` and `selectionPopup` tiddlers. Note that the selection text will be an empty string if the selection popup was triggered in response to a click (ie zero width selection).\n\nHere's a simple example that highlights the first occurrence of the word \"ut\" within the text contained within it:\n\n```\n<$dynannotate target=\"ut\">\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum\n</$dynannotate>\n```\n\nA prefix and/or suffix can be specified to disambiguate the annotation. For example, here we target the second occurrence of the word \"ut\":\n\n```\n<$dynannotate target=\"ut\" targetPrefix=\"ullamco laboris nisi \" targetSuffix=\" aliquip ex ea commodo consequat\">\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum\n</$dynannotate>\n```\n\nThe widget works by scanning the rendered text of its content, so it works even if the text is built dynamically:\n\n```\n<$dynannotate target=\"HelloThere\">\n<<list-links \"[tag[Work]]\">>\n</$dynannotate>\n```\n\n!!! Annotation Tiddlers\n\nAn annotation tiddler is a tiddler describing an annotation to be overlaid over another tiddler. Their fields are used as follows:\n\n|!Field |!Description |\n|title |By convention the prefix `$:/annotations/<username>/` is used, but any title can be used |\n|text |The text of the annotation |\n|created, creator, modified, modifier |As per TiddlyWiki normal behaviour |\n|annotate-tiddler |The title of the target tiddler being annotated (optional, see below) |\n|annotate-text |The text being annotated in the target tiddler |\n|annotate-prefix |Optional prefix to disambiguate the target annotation |\n|annotate-suffix |Optional suffix to disambiguate the target annotation |\n|annotate-colour |CSS colour for the annotation (defaults to `rgba(255,255,0,0.3)`) |\n|annotate-blend-mode |CSS [[mix blend mode|https://developer.mozilla.org/en-US/docs/Web/CSS/mix-blend-mode]] for the annotation (defaults to `multiply`) |\n\nNote that using the `annotate-tiddler` field to associate an annotation with the annotated tiddler is a lightweight convention employed by the examples; it isn't actually required by any of the JavaScript code. Thus authors can experiment with other techniques for recording the association.\n\n!! Selection Trackers\n\nThe selection trackers are enabled when the following configuration tiddlers are set to ''yes''.\n\n* $:/config/Dynannotate/SelectionTracker/Enable for the main selection tracker\n* $:/config/Dynannotate/LegacySelectionTracker/Enable for the legacy selection tracker\n\nBoth selection trackers are enabled by default.\n\n!!! Main Selection Tracker\n\nThe selection tracker triggers an action string whenever the browser text selection changes. The actions are delayed until the selection has not changed for 500ms (this means that the selection tracker is only triggered when the user pauses after completing a selection, and is not continuously invoked as the user drags the selection).\n\nThe selection tracker works within DOM subtrees that have the following structure:\n\n* The outer wrapper element has the attribute `data-selection-actions-title` containing the title of the tiddler containing the action string to be invoked when the selection changes\n* Each child element of the outer element must have a unique `id` attribute to identify it\n\n```\n<div data-selection-actions-title=\"{tiddler title}\">\n\t<div id=\"{title}\">\n\t\tContent text\n\t</div>\n\t...\n</div>\n```\n\nThe action string is invoked with the following variables:\n\n|!Variable |!Description |\n|`selection` |A JSON object representing the selection (see below) |\n|`dom-*` |All DOM attributes of the outer wrapper node are made available as variables, with the prefix `dom-` |\n|`tv-selection-posx` |X position of the selection in pixels |\n|`tv-selection-posy` |Y position of the selection in pixels |\n|`tv-selection-width` |Width of the selection in pixels |\n|`tv-selection-height` |Height of the selection in pixels |\n|`tv-selection-coords` |A co-ordinate string that can be used with the ActionPopupWidget to trigger a popup at the selection |\n\nThe JSON representation of the selection is as follows:\n\n```\n{\n\t\"chunks\": [\n\t\t{\n\t\t\t\"id\": \"id-of-first-chunk-of-selection\",\n\t\t\t\"text\": \"text-of-first-chunk-of-selection\",\n\t\t\t\"prefix\": \"optional-prefix-before-first-chunk-of-selection\",\n\t\t\t\"suffix\": \"optional-suffix-after-last-chunk-of-selection\"\n\t\t}\n\t\t...\n\t],\n\t\"variables\": {\n\t\t<variables listed above>\n\t}\n}\n```\n\nNotes:\n\n* Only the first chunk of the selection may have a \"prefix\" field which will contain any text at the start of the chunk preceding the selection\n* Only the last chunk of the selection may have a \"suffix\" field which will contain any text at the end of the chunk following the selection\n\n!!! Legacy Selection Tracker\n\nThe selection tracker is incorporated within the `<$dynannotate>` widget via the ''selection'', ''selectionPrefix'' ''selectionSuffix'' and ''selectionPopup'' attributes. It can be used independently for specialised applications.\n\nEach selection container is marked with the class `tc-dynannotate-selection-container`, and should contain the following attributes:\n\n* `data-annotation-selection-save`: title of tiddler to which the selected text should be saved\n* `data-annotation-selection-prefix-save`: title of tiddler to which up to 50 characters preceding the currently selected text should be dynamically saved\n* `data-annotation-selection-suffix-save`: title of tiddler to which up to 50 characters succeeding the currently selected text should be dynamically saved\n* `data-annotation-selection-popup`: title of state tiddler used to trigger the selection popup\n\nNotes:\n\n* The selection popup will disappear if the selection is cancelled; this will happen if the user clicks on any other element apart than a button. Thus it is not possible to have any interactive controls within the popup apart from buttons\n\n!! Element Spotlight\n\nThe `tm-spotlight-element` message causes a spotlight effect to briefly appear to highlight a specified element. The message accepts the following parameters:\n\n|!Parameter |!Description |\n|`selector` |CSS selector of the element to highlight |\n|{//Any parameter names starting with `selector-`}// |Fallback CSS selectors to be used if the primary selector does not resolve to an element |\n\nThe fallback CSS selectors are case-insensitively sorted by title before use, with uppercase letters sorting before lower case letters. The usual convention is to use numeric suffixes: `selector-00`, `selector-01` etc.\n"
  },
  {
    "path": "plugins/tiddlywiki/dynannotate/examples/combined.tid",
    "content": "title: $:/plugins/tiddlywiki/dynannotate/examples/combined\ntags: $:/tags/dynannotateExamples\ncaption: Combined\n\n\\define click-annotation-actions()\n<$action-setfield $tiddler=\"$:/temp/dynannotate/demo/annotation-title\" $value=<<annotationTiddler>>/>\n\\end\n\n\\define create-annotation-actions()\n<$action-createtiddler\n\t$basetitle=\"$:/plugins/tiddlywiki/dynannotate/demo-annotation\"\n\t$savetitle={{{ [<chunk>addprefix[$:/state/dynannotate/temp-save-title/]] }}}\n\tannotate-tiddler=<<chunk>>\n\tannotate-text=<<text>>\n\tannotate-prefix=<<prefix>>\n\tannotate-suffix=<<suffix>>\n\tannotate-colour=<<colour>>\n/>\n<$set name=\"popup-coords\" value={{{ [<chunk>addprefix[$:/state/dynannotate/popup-selection/]get[text]] }}}>\n<$action-deletetiddler $tiddler={{{ [<chunk>addprefix[$:/state/dynannotate/popup-selection/]] }}}/>\n<$action-setfield $tiddler=\"$:/temp/dynannotate/demo/annotation-title\" $value={{{ [<chunk>addprefix[$:/state/dynannotate/temp-save-title/]get[text]] }}}/>\n<$action-popup $state={{{ [<chunk>addprefix[$:/state/dynannotate/popup-annotation/]] }}} $coords=<<popup-coords>>/>\n</$set>\n\\end\n\n<div class=\"tc-dynannotation-example-info\">\n\nThis example combines many of the features of the dynannotate plugin:\n\n* using annotation tiddlers to store the details of each annotation\n* triggering actions when the annotations are clicked\n* attaching a popup to the annotations\n* tracking the selection with another popup\n\nSee the [[source|$:/plugins/tiddlywiki/dynannotate/examples/combined]] for details\n\n</div>\n\nSearch: <$edit-text tiddler=\"$:/temp/search\" tag=\"input\"/>\n\n<$list filter=\"[all[tiddlers+shadows]tag[DynannotateDemo]sort[title]]\" variable=\"chunk\">\n<div style=\"position:relative;\"><!-- Needed for the popups to work -->\n<$dynannotate\n\tfilter=\"[all[shadows+tiddlers]!has[draft.of]annotate-tiddler<chunk>]\"\n\tactions=<<click-annotation-actions>>\n\tpopup={{{ [<chunk>addprefix[$:/state/dynannotate/popup-annotation/]] }}}\n\tselection={{{ [<chunk>addprefix[$:/state/dynannotate/selection/]] }}}\n\tselectionPrefix={{{ [<chunk>addprefix[$:/state/dynannotate/selection-prefix/]] }}}\n\tselectionSuffix={{{ [<chunk>addprefix[$:/state/dynannotate/selection-suffix/]] }}}\n\tselectionPopup={{{ [<chunk>addprefix[$:/state/dynannotate/popup-selection/]] }}}\n\tsearch={{$:/temp/search}}\n\tsearchClass=\"tc-dynannotation-search-overlay-blurred\"\n\tsearchMinLength={{$:/config/Search/MinLength}}\n>\n<$transclude tiddler=<<chunk>> mode=\"block\"/>\n</$dynannotate>\n<$reveal type=\"popup\" state={{{ [<chunk>addprefix[$:/state/dynannotate/popup-annotation/]] }}} position=\"belowright\" animate=\"yes\" retain=\"yes\" style=\"overflow-y:hidden;\">\n<div class=\"tc-drop-down-wrapper\">\n<div class=\"tc-drop-down tc-popup-keep\" style=\"max-width:550px;white-space: normal;overflow-y:hidden;\">\n<$tiddler tiddler={{$:/temp/dynannotate/demo/annotation-title}}>\n<p>\n<h2>\nThis is an annotation\n</h2>\n</p>\n<p>\nThe annotation is stored in the tiddler:\n</p>\n<p>\n<$link><$view field=\"title\"/></$link>\n</p>\n<p>\nThe annotated text is ''<$view field=\"annotate-text\"/>''.\n</p>\n<p>\nAnnotation Colour:\n<$macrocall $name='colour-picker' actions=\"\"\"\n<$action-setfield $field=\"annotate-colour\" $value=<<colour-picker-value>>/>\n\"\"\"/>\n</p>\n</$tiddler>\n</div>\n</div>\n</$reveal>\n<$reveal type=\"popup\" state={{{ [<chunk>addprefix[$:/state/dynannotate/popup-selection/]] }}} position=\"belowright\" animate=\"yes\" retain=\"yes\" style=\"overflow-y:hidden;\">\n<div class=\"tc-drop-down-wrapper\">\n<div class=\"tc-drop-down tc-popup-keep\" style=\"max-width:550px;white-space:normal;\">\n<$vars\n\ttext={{{ [<chunk>addprefix[$:/state/dynannotate/selection/]get[text]] }}}\n\tprefix={{{ [<chunk>addprefix[$:/state/dynannotate/selection-prefix/]get[text]] }}}\n\tsuffix={{{ [<chunk>addprefix[$:/state/dynannotate/selection-suffix/]get[text]] }}}\n\tcolour={{{ [<chunk>addprefix[$:/state/dynannotate/annotation-colour/]get[text]] }}}\n>\n<$button actions=<<create-annotation-actions>>>\nCreate annotation\n</$button>\n<p>\nText: <$text text=<<text>>/>\n</p>\n<p>\nPrefix: <$text text=<<prefix>>/>\n</p>\n<p>\nSuffix: <$text text=<<suffix>>/>\n</p>\n</$vars>\n</div>\n</div>\n</$reveal>\n</div>\n</$list>\n"
  },
  {
    "path": "plugins/tiddlywiki/dynannotate/examples/example-annotation-1.tid",
    "content": "title: $:/plugins/tiddlywiki/dynannotate/example-annotation-1\nannotate-tiddler: $:/plugins/tiddlywiki/dynannotate/example-text-1\nannotate-text: memory is transitory.  Yet the speed of action\nannotate-colour: SkyBlue\nannotate-blend-mode: multiply"
  },
  {
    "path": "plugins/tiddlywiki/dynannotate/examples/example-annotation-2.tid",
    "content": "title: $:/plugins/tiddlywiki/dynannotate/example-annotation-2\nannotate-tiddler: $:/plugins/tiddlywiki/dynannotate/example-text-3\nannotate-text: It needs a name, and to coin one at random, \"memex\" will do\nannotate-colour: rgba(255,0,255,0.45)\nannotate-blend-mode: multiply"
  },
  {
    "path": "plugins/tiddlywiki/dynannotate/examples/example-annotation-3.tid",
    "content": "title: $:/plugins/tiddlywiki/dynannotate/example-annotation-3\nannotate-tiddler: $:/plugins/tiddlywiki/dynannotate/example-text-5\nannotate-text: it would take him hundreds of years to fill the repository\nannotate-colour: #fff\nannotate-blend-mode: difference"
  },
  {
    "path": "plugins/tiddlywiki/dynannotate/examples/example-annotation-4.json",
    "content": "{\n\"title\": \"$:/plugins/tiddlywiki/dynannotate/example-annotation-4\",\n\"annotate-tiddler\": \"$:/plugins/tiddlywiki/dynannotate/example-text-1\",\n\"annotate-text\": \"that\",\n\"annotate-prefix\": \"It has other characteristics, of course; trails \",\n\"annotate-suffix\": \" are not frequently followed are prone to fade\",\n\"annotate-colour\": \"rgba(255,0,255,0.45)\",\n\"annotate-blend-mode\": \"difference\",\n\"text\": \"(This tiddler is in .json format so that we can have field values that start with a whitespace\"\n}"
  },
  {
    "path": "plugins/tiddlywiki/dynannotate/examples/example-text.multids",
    "content": "title: $:/plugins/tiddlywiki/dynannotate/example-text-\nsource: https://www.w3.org/History/1945/vbush/vbush.txt\ntags: DynannotateDemo\n\n1: The human mind does not work that way. It operates by association. With one item in its grasp, it snaps instantly to the next that is suggested by the association of thoughts, in accordance with some intricate web of trails carried by the cells of the brain.  It has other characteristics, of course; trails that are not frequently followed are prone to fade, items are not fully permanent, memory is ''transitory''.  Yet the speed of action, the intricacy of trails, the detail of mental pictures, is awe-inspiring beyond all else in nature.\n\n2: Man cannot hope fully to duplicate this mental process artificially, but he certainly ought to be able to learn from it.  In minor ways he may even improve, for his records have relative permanency.  The first idea, however, to be drawn from the analogy concerns selection. Selection by association, rather than by indexing, may yet be mechanized.  One cannot hope thus to equal the speed and flexibility with which the mind follows an associative trail, but it should be possible to beat the mind decisively in regard to the permanence and clarity of the items resurrected from storage.\n\n3: Consider a future device for individual use, which is a sort of mechanized private file and library.  It needs a name, and to coin one at random, \"memex\" will do.  A memex is a device in which an individual stores all his books, records, and communications, and which is mechanized so that it may be consulted with exceeding speed and flexibility.  It is an enlarged intimate supplement to his memory.\n\n4: It consists of a desk, and while it can presumably be operated from a distance, it is primarily the piece of furniture at which he works. On the top are slanting translucent screens, on which material can be projected for convenient reading.  There is a keyboard, and sets of buttons and levers.  Otherwise it looks like an ordinary desk.\n\n5: In one end is the stored material.  The matter of bulk is well taken care of by improved microfilm.  Only a small part of the interior of the memex is devoted to storage, the rest to mechanism.  Yet if the user inserted 5000 pages of material a day it would take him hundreds of years to fill the repository, so he can be profligate and enter material freely.\n\n6: Most of the memex contents are purchased on microfilm ready for insertion.  Books of all sorts, pictures, current periodicals, newspapers, are thus obtained and dropped into place.  Business correspondence takes the same path.  And there is provision for direct entry.  On the top of the memex is a transparent platen.  On this are placed longhand notes, photographs, memoranda, all sort of things. When one is in place, the depression of a lever causes it to be photographed onto the next blank space in a section of the memex film, dry photography being employed.\n\n7: There is, of course, provision for consultation of the record by the usual scheme of indexing.  If the user wishes to consult a certain book, he taps its code on the keyboard, and the title page of the book promptly appears before him, projected onto one of his viewing positions.  Frequently-used codes are mnemonic, so that he seldom consults his code book; but when he does, a single tap of a key projects it for his use.  Moreover, he has supplemental levers.  On deflecting one of these levers to the right he runs through the book before him, each page in turn being projected at a speed which just allows a recognizing glance at each.  If he deflects it further to the right, he steps through the book 10 pages at a time; still further at 100 pages at a time.  Deflection to the left gives him the same control backwards.\n\n8: A special button transfers him immediately to the first page of the index.  Any given book of his library can thus be called up and consulted with far greater facility than if it were taken from a shelf.  As he has several projection positions, he can leave one item in position while he calls up another.  He can add marginal notes and comments, taking advantage of one possible type of dry photography, and it could even be arranged so that he can do this by a stylus scheme, such as is now employed in the telautograph seen in railroad waiting rooms, just as though he had the physical page before him. \n"
  },
  {
    "path": "plugins/tiddlywiki/dynannotate/examples/examples.tid",
    "content": "title: $:/plugins/tiddlywiki/dynannotate/examples\n\n<<tabs \"[all[tiddlers+shadows]tag[$:/tags/dynannotateExamples]!has[draft.of]]\" \"$:/plugins/tiddlywiki/dynannotate/examples/snippets\">>\n\n"
  },
  {
    "path": "plugins/tiddlywiki/dynannotate/examples/simple.tid",
    "content": "title: $:/plugins/tiddlywiki/dynannotate/examples/simple\ntags: $:/tags/dynannotateExamples\ncaption: Simple\n\n\\define show-example(example)\n<$codeblock code=<<__example__>>/>\n\n//''Displays as:''//\n\n$example$\n\\end\n\n\\define search-example-code()\n<!-- \nThe inline filters update the displayed codeblock to reflect the choices the user has made in the UI.\nThe rules pragma is used here to evaluate only these filters, but leave everything else untouched.\nThe tabs and linebreaks within the parameters to addprefix, though maybe confusing, help with the readability of the codeblock output.\n-->\n\\rules only filteredtranscludeinline\n<$dynannotate\n\tsearch=\"{{{ [{$:/temp/dynannotate-example/search}!is[blank]else[The human mind]] }}}\"{{{ [{$:/temp/dynannotate-example/searchMode}!search::some[literal normal]addprefix[\n\tsearchMode=\"]addsuffix[\"]] }}}\n\tsearchCaseSensitive=\"{{{ [{$:/temp/dynannotate-example/searchCaseSensitive}!is[blank]else[yes]] }}}\"{{{ [{$:/temp/dynannotate-example/searchClass}!is[blank]addprefix[\n\tsearchClass=\"]addsuffix[\"]] }}}\n>\n<$transclude tiddler=\"$:/plugins/tiddlywiki/dynannotate/example-text-1\" mode=\"block\"/>\n<$transclude tiddler=\"$:/plugins/tiddlywiki/dynannotate/example-text-2\" mode=\"block\"/>\n</$dynannotate>\n\\end\n\n<div class=\"tc-dynannotation-example-info\">\n\n!! Annotations with `target`\n\nWe use the `target*` attributes to specify a target string for the annotation and optionally a prefix and suffix for disambiguating multiple occurences.\n\n</div>\n\n<<show-example \"\"\"<$dynannotate\n\ttarget=\"the\"\n\ttargetPrefix=\"Yet \"\n\ttargetSuffix=\" speed\"\n>\n<$transclude tiddler=\"$:/plugins/tiddlywiki/dynannotate/example-text-1\" mode=\"block\"/>\n</$dynannotate>\n\"\"\">>\n\n<div class=\"tc-dynannotation-example-info\">\n\n!! Highlights with `search`\n\nWe use the `search` attribute to specify a search string for highlighting.\n\nThe search type can be set with the `searchMode` and `searchCaseSensitive` attributes.\n\nWe can style the highlights with the `searchClass` attribute, which has some predefined values.\n\n</div>\n\n|tc-table-no-border tc-dynannotate-search-parameters|k\n|search term |<$edit-text tiddler=\"$:/temp/dynannotate-example/search\" field=\"text\" tag=\"input\" default=\"The human mind\" />|\n|search mode |<$select tiddler=\"$:/temp/dynannotate-example/searchMode\" field=\"text\" default=\"literal\"><option value=\"literal\">literal</option><option value=\"normal\">normal</option><option value=\"regexp\">regexp</option><option value=\"whitespace\">whitespace</option><option value=\"some\">some</option><option value=\"words\">words</option></$select> |\n|case sensitive |<$checkbox tiddler=\"$:/temp/dynannotate-example/searchCaseSensitive\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$text text={{{ [{$:/temp/dynannotate-example/searchCaseSensitive}!is[blank]else[yes]] }}} /></$checkbox> |\n|search class |<$select tiddler=\"$:/temp/dynannotate-example/searchClass\" field=\"text\" default=\"\"><option value=\"\">(none)</option><option value=\"tc-dynannotation-search-overlay-animated\">tc-dynannotation-search-overlay-animated</option><option value=\"tc-dynannotation-search-overlay-blurred\">tc-dynannotation-search-overlay-blurred</option></$select> |\n\n<$dynannotate\n\tsearch={{{ [{$:/temp/dynannotate-example/search}!is[blank]else[The human mind]] }}}\n\tsearchMode={{{ [{$:/temp/dynannotate-example/searchMode}] }}}\n\tsearchCaseSensitive={{{ [{$:/temp/dynannotate-example/searchCaseSensitive}!is[blank]else[yes]] }}}\n\tsearchClass={{{ [{$:/temp/dynannotate-example/searchClass}] }}}\n>\n<$transclude tiddler=\"$:/plugins/tiddlywiki/dynannotate/example-text-1\" mode=\"block\"/>\n<$transclude tiddler=\"$:/plugins/tiddlywiki/dynannotate/example-text-2\" mode=\"block\"/>\n</$dynannotate>\n\n<$wikify name=\"wikifiedCode\" text=<<search-example-code>> mode=\"block\" output=\"text\">\n<$codeblock code=<<wikifiedCode>>/>\n</$wikify>\n\n<div class=\"tc-dynannotation-example-info\">\n\n!! Using annotation tiddlers\n\nAnnotation tiddlers can be used to describe annotations. This example references the following annotation tiddlers:\n\n</div>\n\n<<list-links \"[all[shadows+tiddlers]annotate-tiddler[$:/plugins/tiddlywiki/dynannotate/example-text-1]]\">>\n\n<<show-example \"\"\"<$dynannotate\n\tfilter=\"[all[shadows+tiddlers]annotate-tiddler[$:/plugins/tiddlywiki/dynannotate/example-text-1]]\"\n>\n<$transclude tiddler=\"$:/plugins/tiddlywiki/dynannotate/example-text-1\" mode=\"block\"/>\n</$dynannotate>\n\"\"\">>\n\n"
  },
  {
    "path": "plugins/tiddlywiki/dynannotate/examples/snippets.tid",
    "content": "title: $:/plugins/tiddlywiki/dynannotate/examples/snippets\ntags: $:/tags/dynannotateExamples\ncaption: Snippets\n\n\\define show-example(example)\n<$codeblock code=<<__example__>>/>\n\n//''Displays as:''//\n\n$example$\n\\end\n\n<div class=\"tc-dynannotation-example-info\">\n\n!! Search result snippets\n\nThe `searchDisplay` attribute can be set to `snippet` (instead of the default `overlay`) in order to display contextual snippets around search results. \n\n</div>\n\n<<show-example \"\"\"\n<$dynannotate\n\tsearch=\"the\"\n\tsearchDisplay=\"snippet\"\n><$transclude tiddler=\"$:/plugins/tiddlywiki/dynannotate/example-text-1\" mode=\"block\"/>\n</$dynannotate>\n\"\"\">>\n\n<div class=\"tc-dynannotation-example-info\">\n\n!! Multiple search result snippets\n\nThis example searches across multiple tiddlers and shows snippets for those tiddlers that match.\n\n</div>\n\n<$macrocall $name=\"show-example\" example=\"\"\"\nSearch: <$edit-text tiddler=\"$:/temp/search\" tag=\"input\"/>\n<$list filter=\"[all[tiddlers+shadows]tag[DynannotateDemo]search:text{$:/temp/search}sort[title]]\">\n<dl>\n<dt>\n<$link>\n<$text text=<<currentTiddler>>/>\n</$link>\n</dt>\n<dd>\n<$dynannotate\n\tsearch={{$:/temp/search}}\n\tsearchMode=\"whitespace\"\n\tsearchDisplay=\"snippet\"\n><$transclude tiddler=<<currentTiddler>> mode=\"block\"/>\n</$dynannotate>\n</dd>\n</dl>\n</$list>\n\"\"\"/>\n"
  },
  {
    "path": "plugins/tiddlywiki/dynannotate/examples/spotlight.tid",
    "content": "title: $:/plugins/tiddlywiki/dynannotate/examples/spotlight\ntags: $:/tags/dynannotateExamples\ncaption: Spotlight\n\n\\define show-example(example)\n<$codeblock code=<<__example__>>/>\n\n//''Displays as:''//\n\n$example$\n\\end\n\n<div class=\"tc-dynannotation-example-info\">\n\n!! Spotlighting an Image\n\n</div>\n\n<<show-example \"\"\"\n<$button>\n<$action-sendmessage $message=\"tm-spotlight-element\" selector=\".tc-dynannotate-spotlight-image-example\"/>\nSpotlight this image\n</$button>\n<div class=\"tc-dynannotate-spotlight-image-example\" style=\"display:inline-block;\">\n{{$:/core/images/globe}}\n</div>\n\"\"\">>\n\n<div class=\"tc-dynannotation-example-info\">\n\n!! Spotlighting a Button\n\n</div>\n\n<<show-example \"\"\"\n<$button class=\"tc-dynannotate-spotlight-button-example\">\n<$action-sendmessage $message=\"tm-spotlight-element\" selector=\".tc-dynannotate-spotlight-button-example\"/>\nSpotlight this button\n</$button>\n\"\"\">>\n\n<div class=\"tc-dynannotation-example-info\">\n\n!! Spotlighting a Text Area\n\n</div>\n\n<<show-example \"\"\"\n<$button>\n<$action-sendmessage $message=\"tm-spotlight-element\" selector=\".tc-dynannotate-spotlight-textarea-example\"/>\nSpotlight this text area\n</$button>\n\n<$edit-text class=\"tc-dynannotate-spotlight-textarea-example\" tag=\"textarea\" tiddler=\"$:/temp/dynannotate/spotlight/demo/text\"/>\n\n\"\"\">>\n\n<div class=\"tc-dynannotation-example-info\">\n\n!! Spotlighting the Sidebar Search Input\n\nThis button will spotlight the sidebar search, but if the sidebar is hidden then it will spotlight the button for showing the sidebar.\n\n</div>\n\n<<show-example \"\"\"\n<$button>\n<$action-sendmessage $message=\"tm-spotlight-element\" selector=\".tc-sidebar-search .tc-popup-handle\" selector-fallback=\".tc-menubar .tc-show-sidebar-btn\"/>\nSpotlight the sidebar search input\n</$button>\n\"\"\">>"
  },
  {
    "path": "plugins/tiddlywiki/dynannotate/examples/viewtemplate-text.tid",
    "content": "title: $:/plugins/tiddlywiki/dynannotate/examples/viewtemplate/text\n\n\\define click-annotation-actions()\n<$action-setfield $tiddler=\"$:/temp/dynannotate/demo/annotation-title\" $value=<<annotationTiddler>>/>\n\\end\n\n\\define create-annotation-actions()\n<$action-createtiddler\n\t$basetitle=\"$:/plugins/tiddlywiki/dynannotate/demo-annotation\"\n\t$savetitle={{{ [<currentTiddler>addprefix[$:/state/dynannotate/temp-save-title/]] }}}\n\tannotate-tiddler=<<currentTiddler>>\n\tannotate-text=<<text>>\n\tannotate-prefix=<<prefix>>\n\tannotate-suffix=<<suffix>>\n\tannotate-colour=<<colour>>\n/>\n<$set name=\"popup-coords\" value={{{ [<currentTiddler>addprefix[$:/state/dynannotate/popup-selection/]get[text]] }}}>\n<$action-deletetiddler $tiddler={{{ [<currentTiddler>addprefix[$:/state/dynannotate/popup-selection/]] }}}/>\n<$action-setfield $tiddler=\"$:/temp/dynannotate/demo/annotation-title\" $value={{{ [<currentTiddler>addprefix[$:/state/dynannotate/temp-save-title/]get[text]] }}}/>\n<$action-popup $state={{{ [<currentTiddler>addprefix[$:/state/dynannotate/popup-annotation/]] }}} $coords=<<popup-coords>>/>\n</$set>\n\\end\n\n<$reveal tag=\"div\" class=\"tc-tiddler-body\" type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" retain=\"yes\" animate=\"yes\">\n<$list filter=\"[all[current]!has[plugin-type]!field:hide-body[yes]]\">\n<div style=\"position:relative;\"><!-- Needed for the popups to work -->\n<$dynannotate\n\tfilter=\"[all[shadows+tiddlers]!has[draft.of]annotate-tiddler<currentTiddler>]\"\n\tactions=<<click-annotation-actions>>\n\tpopup={{{ [<currentTiddler>addprefix[$:/state/dynannotate/popup-annotation/]] }}}\n\tselection={{{ [<currentTiddler>addprefix[$:/state/dynannotate/selection/]] }}}\n\tselectionPrefix={{{ [<currentTiddler>addprefix[$:/state/dynannotate/selection-prefix/]] }}}\n\tselectionSuffix={{{ [<currentTiddler>addprefix[$:/state/dynannotate/selection-suffix/]] }}}\n\tselectionPopup={{{ [<currentTiddler>addprefix[$:/state/dynannotate/popup-selection/]] }}}\n\tsearch={{$:/temp/search}}\n\tsearchClass=\"tc-dynannotation-search-overlay-blurred\"\n\tsearchCaseSensitive=\"no\"\n\tsearchMinLength={{$:/config/Search/MinLength}}\n>\n<$transclude mode=\"block\">\n<$transclude tiddler=\"$:/language/MissingTiddler/Hint\"/>\n</$transclude>\n</$dynannotate>\n<$reveal type=\"popup\" state={{{ [<currentTiddler>addprefix[$:/state/dynannotate/popup-annotation/]] }}} position=\"belowright\" animate=\"yes\" retain=\"yes\" style=\"overflow-y:hidden;\">\n<div class=\"tc-drop-down-wrapper\">\n<div class=\"tc-drop-down tc-popup-keep\" style=\"max-width:550px;white-space: normal;overflow-y:hidden;\">\n<$tiddler tiddler={{$:/temp/dynannotate/demo/annotation-title}}>\n<p>\n<h2>\nThis is an annotation\n</h2>\n</p>\n<p>\nThe annotation is stored in the tiddler:\n</p>\n<p>\n<$link><$view field=\"title\"/></$link>\n</p>\n<p>\nThe annotated text is ''<$view field=\"annotate-text\"/>''.\n</p>\n<p>\nAnnotation Colour:\n<$macrocall $name='colour-picker' actions=\"\"\"\n<$action-setfield $field=\"annotate-colour\" $value=<<colour-picker-value>>/>\n\"\"\"/>\n</p>\n</$tiddler>\n</div>\n</div>\n</$reveal>\n<$reveal type=\"popup\" state={{{ [<currentTiddler>addprefix[$:/state/dynannotate/popup-selection/]] }}} position=\"belowright\" animate=\"yes\" retain=\"yes\" style=\"overflow-y:hidden;\">\n<div class=\"tc-drop-down-wrapper\">\n<div class=\"tc-drop-down tc-popup-keep\" style=\"max-width:550px;white-space:normal;\">\n<$vars\n\ttext={{{ [<currentTiddler>addprefix[$:/state/dynannotate/selection/]get[text]] }}}\n\tprefix={{{ [<currentTiddler>addprefix[$:/state/dynannotate/selection-prefix/]get[text]] }}}\n\tsuffix={{{ [<currentTiddler>addprefix[$:/state/dynannotate/selection-suffix/]get[text]] }}}\n\tcolour={{{ [<currentTiddler>addprefix[$:/state/dynannotate/annotation-colour/]get[text]] }}}\n>\n<$button actions=<<create-annotation-actions>>>\nCreate annotation\n</$button>\n<p>\nText: <$text text=<<text>>/>\n</p>\n<p>\nPrefix: <$text text=<<prefix>>/>\n</p>\n<p>\nSuffix: <$text text=<<suffix>>/>\n</p>\n</$vars>\n</div>\n</div>\n</$reveal>\n</div>\n</$list>\n</$reveal>\n"
  },
  {
    "path": "plugins/tiddlywiki/dynannotate/examples/viewtemplate.tid",
    "content": "caption: View Template\ntags: $:/tags/dynannotateExamples\ntitle: $:/plugins/tiddlywiki/dynannotate/examples/viewtemplate\n\n\\define show-example(example)\n<$codeblock code=<<__example__>>/>\n\n//''Displays as:''//\n\n$example$\n\\end\n\n<div class=\"tc-dynannotation-example-info\">\n\n!! Using Dynannotate in the view template\n\nThis example shows how to override the core view template with a custom template that includes dynannotate. It is disabled by default but can be enabled by clicking the corresponding button below. The example transcludes the [[Searching in TiddlyWiki|$:/plugins/tiddlywiki/dynannotate/searching-in-tiddlywiki]] tiddler for illustration purposes, but the chosen view template is applied to all open tiddlers.\n\nOnce enabled, this example demonstrates several features of Dynannotate:\n\n* Highlight text within tiddler bodies -- any text entered in the sidebar search input will be highlighted (in all tiddlers)\n* Create annotations (on any tiddler) by selecting text and then clicking //Create annotation// in the resulting dropdown\n\n(Clicking the buttons below either puts the custom body view template [[$:/plugins/tiddlywiki/dynannotate/examples/viewtemplate/text]] in front of the default in the [[View Template Body Cascade|https://tiddlywiki.com/#View%20Template%20Body%20Cascade]] or removes it from the cascade).\n\n</div>\n\n<$button>\n<$action-setfield $tiddler=\"$:/config/ViewTemplateBodyFilters/dynannotate\" tags=\"$:/tags/ViewTemplateBodyFilter\" text=\"[[$:/plugins/tiddlywiki/dynannotate/examples/viewtemplate/text]]\" list-before=\"$:/config/ViewTemplateBodyFilters/default\"/>\nClick here to use the custom view template\n</$button>\n\n<$button>\n<$action-deletetiddler $tiddler=\"$:/config/ViewTemplateBodyFilters/dynannotate\"/>\nClick here to revert to the core view template\n</$button>\n\n<p/>\n\n<div class=\"tc-dynannotation-example-info\">\n\n!! Using Dynannotate to highlight text on a per-tiddler basis\n\nUsing state tiddlers containing the text which is to be highlighted, Dynannotate highlights can be applied on a per-tiddler basis when used in the body view template. This can also be combined with the [[GenesisWidget]] to insert the Dynannotate widget into the DOM only when such a highlight is configured.\n\nThis example uses a transcluded tiddler, but Dynannotate could be added to the view template (to show highlights in all parts of a tiddler) or to the body view template (to show highlights only in the tiddler body) in the same way. Note how in this example, Dynannotate only affects the transcluded content.\n\n</div>\n\n<<show-example \"\"\"<$button set=\"$:/state/dynannotate/examples/viewtemplate\" setTo=\"tiddler\">Highlight \"tiddler\"</$button>\n<$button set=\"$:/state/dynannotate/examples/viewtemplate\" setTo=\"created\">Highlight \"created\"</$button>\n<$button set=\"$:/state/dynannotate/examples/viewtemplate\" setTo=\"\">Clear highlights</$button>\n<p/>\n<$let dynannotateText={{$:/state/dynannotate/examples/viewtemplate}}>\n    <$genesis $type={{{ [<dynannotateText>!is[blank]then[$dynannotate]] }}}\n              search=<<dynannotateText>>\n              searchDisplay=\"overlay\"\n              searchClass=\"tc-dynannotation-search-overlay-animated\"\n              searchCaseSensitive=\"no\">\n        <div class=\"tc-dynannotate-example-frame\">\n\n            !! `$:/core/ui/ControlPanel/TiddlerFields`:\n            <$transclude tiddler=\"$:/core/ui/ControlPanel/TiddlerFields\" mode=\"block\" />\n        </div>\n    </$genesis>\n</$let>\n\"\"\">>\n\nWhen used in the view template, the state tiddler title could be derived from the current tiddler, e.g. `<$let dynannotateText={{{ [<currentTiddler>addprefix[$:/state/dynannotate/]get[text]] }}}>`, to configure highlights for each tiddler separately.\n"
  },
  {
    "path": "plugins/tiddlywiki/dynannotate/modules/dynannotate.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/dynannotate/dynannotate.js\ntype: application/javascript\nmodule-type: widget\n\nDynannotate widget\n\n\\*/\n\n\"use strict\";\n\nvar TextMap = require(\"$:/plugins/tiddlywiki/dynannotate/textmap.js\").TextMap;\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar Popup = require(\"$:/core/modules/utils/dom/popup.js\");\n\nvar DynannotateWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDynannotateWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDynannotateWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create our DOM nodes\n\tvar isSnippetMode = this.isSnippetMode();\n\tthis.domContent = $tw.utils.domMaker(\"div\",{\n\t\t\"class\": \"tc-dynannotation-selection-container\",\n\t\tdocument: this.document\n\t});\n\tif(isSnippetMode) {\n\t\tthis.domContent.setAttribute(\"hidden\",\"hidden\");\n\t}\n\tthis.domAnnotations = $tw.utils.domMaker(\"div\",{\n\t\t\"class\": \"tc-dynannotation-annotation-wrapper\",\n\t\tdocument: this.document\n\t});\n\tthis.domSnippets = $tw.utils.domMaker(\"div\",{\n\t\t\"class\": \"tc-dynannotation-snippet-wrapper\",\n\t\tdocument: this.document\n\t});\n\tthis.domSearches = $tw.utils.domMaker(\"div\",{\n\t\t\"class\": \"tc-dynannotation-search-wrapper\",\n\t\tdocument: this.document\n\t});\n\tthis.domWrapper = $tw.utils.domMaker(\"div\",{\n\t\t\"class\": \"tc-dynannotation-wrapper\",\n\t\tchildren: [this.domContent,this.domAnnotations,this.domSnippets,this.domSearches],\n\t\tdocument: this.document\n\t});\n\tparent.insertBefore(this.domWrapper,nextSibling);\n\tthis.domNodes.push(this.domWrapper);\n\t// Apply the selection tracker data to the DOM\n\tif(!isSnippetMode) {\n\t\tthis.applySelectionTrackerData();\n\t}\n\t// Render our child widgets\n\tthis.renderChildren(this.domContent,null);\n\tif(!this.document.isTiddlyWikiFakeDom) {\n\t\tif(isSnippetMode) {\n\t\t\t// Apply search snippets\n\t\t\tthis.applySnippets();\n\t\t} else {\n\t\t\t// Get the list of annotation tiddlers\n\t\t\tthis.getAnnotationTiddlers();\n\t\t\t// Apply annotations\n\t\t\tthis.applyAnnotations();\n\t\t\t// Apply search overlays\n\t\t\tthis.applySearch();\n\t\t}\n\t}\n\t// Save the width of the wrapper so that we can tell when it changes\n\tthis.wrapperWidth = this.domWrapper.offsetWidth;\n};\n\n/*\nCompute the internal state of the widget\n*/\nDynannotateWidget.prototype.execute = function() {\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\nDynannotateWidget.prototype.isSnippetMode = function() {\n\treturn this.getAttribute(\"searchDisplay\") === \"snippet\";\n};\n\n/*\nSave the data attributes required by the selection tracker\n*/\nDynannotateWidget.prototype.applySelectionTrackerData = function() {\n\tif(this.hasAttribute(\"selection\")) {\n\t\tthis.domContent.setAttribute(\"data-annotation-selection-save\",this.getAttribute(\"selection\"));\n\t} else {\n\t\tthis.domContent.removeAttribute(\"data-annotation-selection-save\");\n\t}\n\tif(this.hasAttribute(\"selectionPopup\")) {\n\t\tthis.domContent.setAttribute(\"data-annotation-selection-popup\",this.getAttribute(\"selectionPopup\"));\n\t} else {\n\t\tthis.domContent.removeAttribute(\"data-annotation-selection-popup\");\n\t}\n\tif(this.hasAttribute(\"selectionPrefix\")) {\n\t\tthis.domContent.setAttribute(\"data-annotation-selection-prefix-save\",this.getAttribute(\"selectionPrefix\"));\n\t} else {\n\t\tthis.domContent.removeAttribute(\"data-annotation-selection-prefix-save\");\n\t}\n\tif(this.hasAttribute(\"selectionSuffix\")) {\n\t\tthis.domContent.setAttribute(\"data-annotation-selection-suffix-save\",this.getAttribute(\"selectionSuffix\"));\n\t} else {\n\t\tthis.domContent.removeAttribute(\"data-annotation-selection-suffix-save\");\n\t}\n};\n\n/*\nCreate overlay dom elements to cover a specified range\n\noptions include:\n\tstartNode: Start node of range\n\tstartOffset: Start offset of range\n\tendNode: End node of range\n\tendOffset: End offset of range\n\tclassName: Optional classname for the overlay\n\twrapper: Wrapper dom node for the overlays\n\tcolour: Optional CSS colour for the overlay\n\tblendMode: Optional CSS mix blend mode for the overlay\n\tonclick: Optional click event handler for the overlay\n*/\nDynannotateWidget.prototype.createOverlay = function(options) {\n\tvar self = this;\n\t// Create a range covering the text\n\tvar range = this.document.createRange();\n\trange.setStart(options.startNode,options.startOffset);\n\trange.setEnd(options.endNode,options.endOffset);\n\t// Get the position of the range\n\tvar rects = range.getClientRects();\n\tif(rects) {\n\t\t// Paint each rectangle\n\t\tvar parentRect = this.domContent.getBoundingClientRect();\n\t\t$tw.utils.each(rects,function(rect) {\n\t\t\tvar domOverlay = self.document.createElement(\"div\");\n\t\t\tdomOverlay.className = (options.className || \"\") + \" tc-dynaview-request-refresh-on-resize\";\n\t\t\tdomOverlay.style.top = (rect.top - parentRect.top) + \"px\";\n\t\t\tdomOverlay.style.left = (rect.left - parentRect.left) + \"px\";\n\t\t\tdomOverlay.style.width = rect.width + \"px\";\n\t\t\tdomOverlay.style.height = rect.height + \"px\";\n\t\t\tdomOverlay.style.backgroundColor = options.colour;\n\t\t\tdomOverlay.style.mixBlendMode = options.blendMode;\n\t\t\tif(options.onclick) {\n\t\t\t\tdomOverlay.addEventListener(\"click\",function(event) {\n\t\t\t\t\tvar modifierKey = event.ctrlKey && !event.shiftKey ? \"ctrl\" : event.shiftKey && !event.ctrlKey ? \"shift\" : event.ctrlKey && event.shiftKey ? \"ctrl-shift\" : \"normal\";\n\t\t\t\t\toptions.onclick(event,domOverlay,modifierKey);\n\t\t\t\t},false);\n\t\t\t}\n\t\t\toptions.wrapper.appendChild(domOverlay);\n\t\t});\n\t}\n};\n\nDynannotateWidget.prototype.getAnnotationTiddlers = function() {\n\tthis.annotationTiddlers = this.wiki.filterTiddlers(this.getAttribute(\"filter\",\"\"),this);\n};\n\nDynannotateWidget.prototype.removeAnnotations = function() {\n\twhile(this.domAnnotations.hasChildNodes()) {\n\t\tthis.domAnnotations.removeChild(this.domAnnotations.firstChild);\n\t}\n};\n\nDynannotateWidget.prototype.applyAnnotations = function() {\n\tvar self = this;\n\t// Remove any previous annotation overlays\n\tthis.removeAnnotations();\n\t// Don't do anything if there are no annotations to apply\n\tif(this.annotationTiddlers.length === 0 && !this.hasAttribute(\"target\")) {\n\t\treturn;\n\t}\n\t// Build the map of the text content\n\tvar textMap = new TextMap(this.domContent);\n\t// We'll dynamically build the click event handler so that we can reuse it\n\tvar clickHandlerFn = function(title) {\n\t\treturn function(event,domOverlay,modifierKey) {\n\t\t\tvar bounds = domOverlay.getBoundingClientRect();\n\t\t\tself.invokeActionString(self.getAttribute(\"actions\"),self,event,{\n\t\t\t\tannotationTiddler: title,\n\t\t\t\tmodifier: modifierKey,\n\t\t\t\t\"tv-selection-posx\": (bounds.left).toString(),\n\t\t\t\t\"tv-selection-posy\": (bounds.top).toString(),\n\t\t\t\t\"tv-selection-width\": (bounds.width).toString(),\n\t\t\t\t\"tv-selection-height\": (bounds.height).toString(),\n\t\t\t\t\"tv-selection-coords\": Popup.buildCoordinates(Popup.coordinatePrefix.csOffsetParent,bounds)\n\t\t\t});\n\t\t\tif(self.hasAttribute(\"popup\")) {\n\t\t\t\t$tw.popup.triggerPopup({\n\t\t\t\t\tdomNode: domOverlay,\n\t\t\t\t\ttitle: self.getAttribute(\"popup\"),\n\t\t\t\t\tfloating: self.getAttribute(\"floating\"),\n\t\t\t\t\twiki: self.wiki\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t};\n\t// Draw the overlay for the \"target\" attribute\n\tif(this.hasAttribute(\"target\")) {\n\t\tvar result = textMap.findText(this.getAttribute(\"target\"),this.getAttribute(\"targetPrefix\"),this.getAttribute(\"targetSuffix\"));\n\t\tif(result) {\n\t\t\tthis.createOverlay({\n\t\t\t\tstartNode: result.startNode,\n\t\t\t\tstartOffset: result.startOffset,\n\t\t\t\tendNode: result.endNode,\n\t\t\t\tendOffset: result.endOffset,\n\t\t\t\twrapper: self.domAnnotations,\n\t\t\t\tclassName: \"tc-dynannotation-annotation-overlay\",\n\t\t\t\tonclick: clickHandlerFn(null)\n\t\t\t});\n\t\t}\n\t}\n\t// Draw the overlays for each annotation tiddler\n\t$tw.utils.each(this.annotationTiddlers,function(title) {\n\t\tvar tiddler = self.wiki.getTiddler(title),\n\t\t\tannotateText = tiddler.fields[\"annotate-text\"],\n\t\t\tannotatePrefix = tiddler.fields[\"annotate-prefix\"],\n\t\t\tannotateSuffix = tiddler.fields[\"annotate-suffix\"];\n\t\tif(tiddler && annotateText) {\n\t\t\tvar result = textMap.findText(annotateText,annotatePrefix,annotateSuffix);\n\t\t\tif(result) {\n\t\t\t\tself.createOverlay({\n\t\t\t\t\tstartNode: result.startNode,\n\t\t\t\t\tstartOffset: result.startOffset,\n\t\t\t\t\tendNode: result.endNode,\n\t\t\t\t\tendOffset: result.endOffset,\n\t\t\t\t\twrapper: self.domAnnotations,\n\t\t\t\t\tclassName: \"tc-dynannotation-annotation-overlay\",\n\t\t\t\t\tcolour: tiddler.fields[\"annotate-colour\"],\n\t\t\t\t\tblendMode: tiddler.fields[\"annotate-blend-mode\"],\n\t\t\t\t\tonclick: clickHandlerFn(title)\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t});\n};\n\nDynannotateWidget.prototype.removeSearch = function() {\n\twhile(this.domSearches.hasChildNodes()) {\n\t\tthis.domSearches.removeChild(this.domSearches.firstChild);\n\t}\n};\n\nDynannotateWidget.prototype.applySearch = function() {\n\tvar self = this;\n\t// Remove any previous search overlays\n\tthis.removeSearch();\n\t// Gather parameters\n\tvar searchString = this.getAttribute(\"search\",\"\"),\n\t\tsearchMinLength = parseInt(this.getAttribute(\"searchMinLength\",\"1\"),10) || 1;\n\t// Bail if search string too short\n\tif(searchString.length < searchMinLength) {\n\t\treturn;\n\t}\n\t// Build the map of the text content\n\tvar textMap = new TextMap(this.domContent);\n\t// Search for the string\n\tvar matches = textMap.search(this.getAttribute(\"search\",\"\"),{\n\t\tmode: this.getAttribute(\"searchMode\"),\n\t\tcaseSensitive: this.getAttribute(\"searchCaseSensitive\",\"yes\") === \"yes\"\n\t});\n\t// Create overlays for each match\n\t$tw.utils.each(matches,function(match) {\n\t\tself.createOverlay({\n\t\t\tstartNode: match.startNode,\n\t\t\tstartOffset: match.startOffset,\n\t\t\tendNode: match.endNode,\n\t\t\tendOffset: match.endOffset,\n\t\t\twrapper: self.domSearches,\n\t\t\tclassName: \"tc-dynannotation-search-overlay \" + self.getAttribute(\"searchClass\",\"\")\n\t\t});\n\t});\n};\n\nDynannotateWidget.prototype.removeSnippets = function() {\n\twhile(this.domSnippets.hasChildNodes()) {\n\t\tthis.domSnippets.removeChild(this.domSnippets.firstChild);\n\t}\n};\n\nDynannotateWidget.prototype.applySnippets = function() {\n\tvar self = this,\n\t\tcontextLength = parseInt(this.getAttribute(\"snippetContextLength\",\"33\"),10) || 0;\n\t// Build the map of the text content\n\tvar textMap = new TextMap(this.domContent);\n\t// Remove any previous snippets\n\tthis.removeSnippets();\n\t// Build the map of the text content\n\tvar textMap = new TextMap(this.domContent);\n\t// Search for the string\n\tvar matches = textMap.search(this.getAttribute(\"search\",\"\"),{\n\t\tmode: this.getAttribute(\"searchMode\"),\n\t\tcaseSensitive: this.getAttribute(\"searchCaseSensitive\",\"no\") === \"yes\"\n\t});\n\t// Output a snippet for each match\n\tif(matches && matches.length > 0) {\n\t\tvar merged = false, // Keep track of whether the context of the previous match merges into this one\n\t\t\tellipsis = String.fromCharCode(8230),\n\t\t\tcontainer = null; // Track the container so that we can reuse the same container for merged matches\n\t\t$tw.utils.each(matches,function(match,index) {\n\t\t\t// Create a container if we're not reusing it\n\t\t\tif(!container) {\n\t\t\t\tcontainer = $tw.utils.domMaker(\"div\",{\n\t\t\t\t\t\"class\": \"tc-dynannotate-snippet\"\n\t\t\t\t});\n\t\t\t\tself.domSnippets.appendChild(container);\n\t\t\t}\n\t\t\t// Output the preceding context if it wasn't merged into the previous match\n\t\t\tif(!merged) {\n\t\t\t\tcontainer.appendChild($tw.utils.domMaker(\"span\",{\n\t\t\t\t\ttext: (match.startPos < contextLength ? \"\" : ellipsis) +\n\t\t\t\t\t\ttextMap.string.slice(Math.max(match.startPos - contextLength,0),match.startPos),\n\t\t\t\t\t\"class\": \"tc-dynannotate-snippet-context\"\n\t\t\t\t}));\n\t\t\t}\n\t\t\t// Output the match\n\t\t\tcontainer.appendChild($tw.utils.domMaker(\"span\",{\n\t\t\t\ttext: textMap.string.slice(match.startPos,match.endPos),\n\t\t\t\t\"class\": \"tc-dynannotate-snippet-highlight \" + self.getAttribute(\"searchClass\",\"\")\n\t\t\t}));\n\t\t\t// Does the context of this match merge into the next?\n\t\t\tmerged = index < matches.length - 1 && matches[index + 1].startPos - match.endPos <= 2 * contextLength;\n\t\t\tif(merged) {\n\t\t\t\t// If they're merged, use the context up until the next match\n\t\t\t\tcontainer.appendChild($tw.utils.domMaker(\"span\",{\n\t\t\t\t\ttext: textMap.string.slice(match.endPos,matches[index + 1].startPos),\n\t\t\t\t\t\"class\": \"tc-dynannotate-snippet-context\"\n\t\t\t\t}));\n\t\t\t} else {\n\t\t\t\t// If they're not merged, use the context up to the end\n\t\t\t\tcontainer.appendChild($tw.utils.domMaker(\"span\",{\n\t\t\t\t\ttext: textMap.string.slice(match.endPos,match.endPos + contextLength) +\n\t\t\t\t\t\t((match.endPos + contextLength) >= textMap.string.length ? \"\" : ellipsis),\n\t\t\t\t\t\"class\": \"tc-dynannotate-snippet-context\"\n\t\t\t\t}));\n\t\t\t}\n\t\t\t// Reuse the next container if we're merged\n\t\t\tif(!merged) {\n\t\t\t\tcontainer = null;\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDynannotateWidget.prototype.refresh = function(changedTiddlers) {\n\t// Get the changed attributes\n\tvar changedAttributes = this.computeAttributes();\n\t// Refresh completely if the \"searchDisplay\" attribute has changed\n\tif(changedAttributes.searchDisplay) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\t// Check whether we're in snippet mode\n\tvar isSnippetMode = this.isSnippetMode();\n\t// Refresh the child widgets\n\tvar childrenDidRefresh = this.refreshChildren(changedTiddlers);\n\t// Reapply the selection tracker data to the DOM\n\tif(changedAttributes.selection || changedAttributes.selectionPrefix || changedAttributes.selectionSuffix || changedAttributes.selectionPopup) {\n\t\tthis.applySelectionTrackerData();\n\t}\n\t// Reapply the annotations if the children refreshed or the main wrapper resized\n\tvar wrapperWidth = this.domWrapper.offsetWidth,\n\t\thasResized = wrapperWidth !== this.wrapperWidth || changedTiddlers[\"$:/state/DynaView/ViewportDimensions/ResizeCount\"],\n\t\toldAnnotationTiddlers = this.annotationTiddlers;\n\tthis.getAnnotationTiddlers();\n\tif(!isSnippetMode && (\n\t\tchildrenDidRefresh ||\n\t\thasResized ||\n\t\tchangedAttributes.target ||\n\t\tchangedAttributes.targetPrefix ||\n\t\tchangedAttributes.targetSuffix ||\n\t\tchangedAttributes.filter ||\n\t\tchangedAttributes.actions ||\n\t\tchangedAttributes.popup ||\n\t\t!$tw.utils.isArrayEqual(oldAnnotationTiddlers,this.annotationTiddlers) ||\n\t\tthis.annotationTiddlers.find(function(title) {\n\t\t\treturn changedTiddlers[title];\n\t\t}) !== undefined\n\t)) {\n\t\tthis.applyAnnotations();\n\t}\n\tif(!isSnippetMode && (\n\t\tchildrenDidRefresh ||\n\t\thasResized ||\n\t\tchangedAttributes.search ||\n\t\tchangedAttributes.searchMinLength ||\n\t\tchangedAttributes.searchClass ||\n\t\tchangedAttributes.searchMode ||\n\t\tchangedAttributes.searchCaseSensitive\n\t)) {\n\t\tthis.applySearch();\n\t}\n\tif(isSnippetMode && (\n\t\tchildrenDidRefresh ||\n\t\thasResized ||\n\t\tchangedAttributes.search ||\n\t\tchangedAttributes.searchMinLength ||\n\t\tchangedAttributes.searchClass ||\n\t\tchangedAttributes.searchMode ||\n\t\tchangedAttributes.searchCaseSensitive\n\t)) {\n\t\tthis.applySnippets();\n\t}\n\tthis.wrapperWidth = wrapperWidth;\n\treturn childrenDidRefresh;\n};\n\nexports.dynannotate = DynannotateWidget;\n"
  },
  {
    "path": "plugins/tiddlywiki/dynannotate/modules/element-spotlight.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/dynannotate/element-spotlight.js\ntype: application/javascript\nmodule-type: library\n\nManages the element spotlight effect\n\n\\*/\n\"use strict\";\n\nfunction ElementSpotlight() {\n\tthis.animationStartTime; // Undefined if no animation is in  progress\n\t// Create DOM nodes\n\tthis.spotlightElement = $tw.utils.domMaker(\"div\",{\n\t\t\"class\": \"tc-dynannotate-spotlight\"\n\t});\n\tthis.spotlightWrapper = $tw.utils.domMaker(\"div\",{\n\t\t\"class\": \"tc-dynannotate-spotlight-wrapper\",\n\t\tchildren: [\n\t\t\tthis.spotlightElement\n\t\t]\n\t});\n\tdocument.body.appendChild(this.spotlightWrapper);\n}\n\n/*\nReturn the first visible element that matches a selector\n*/\nElementSpotlight.prototype.querySelectorSafe = function(selector) {\n\tvar targetNodes;\n\t// Get the matching elements\n\ttry {\n\t\ttargetNodes = document.querySelectorAll(selector);\n\t} catch(e) {\n\t\tconsole.log(\"Error with selector: \" + selector);\n\t}\n\tif(!targetNodes) {\n\t\treturn undefined;\n\t}\n\t// Remove any elements from the start of the list that are hidden, or have hidden ancestors\n\tvar didRemoveFirstEntry;\n\tdo {\n\t\tdidRemoveFirstEntry = false;\n\t\tvar hasHiddenAncestor = false,\n\t\t\tn = targetNodes[0];\n\t\twhile(n) {\n\t\t\tif(n.hidden || (n instanceof Element && window.getComputedStyle(n).display === \"none\")) {\n\t\t\t\thasHiddenAncestor = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tn = n.parentNode;\n\t\t}\n\t\tif(hasHiddenAncestor) {\n\t\t\t// Remove first entry from targetNodes array\n\t\t\ttargetNodes = [].slice.call(targetNodes, 1); \n\t\t\tdidRemoveFirstEntry = true;\n\t\t}\n\t} while(didRemoveFirstEntry);\n\t// Return the first result\n\treturn targetNodes[0];\n};\n\nElementSpotlight.prototype.positionSpotlight = function(x,y,innerRadius,outerRadius,opacity) {\n\tthis.spotlightElement.style.display = \"block\";\n\tthis.spotlightElement.style.backgroundImage = \"radial-gradient(circle at \" + (x / document.documentElement.clientWidth * 100) + \"% \" + (y / document.documentElement.clientHeight * 100) + \"%, transparent \" + innerRadius + \"px, rgba(0, 0, 0, \" + opacity + \") \" + outerRadius + \"px)\";\n};\n\nElementSpotlight.prototype.easeInOut = function(v) {\n\treturn (Math.sin((v - 0.5) * Math.PI) + 1) / 2;\n};\n\n/*\nShine a spotlight on the first element that matches an array of selectors\n*/\nElementSpotlight.prototype.shineSpotlight = function(selectors) {\n\tvar self = this;\n\tfunction animationLoop(selectors) {\n\t\t// Calculate how far through the animation we are\n\t\t// 0...1 = zoom in\n\t\t// 1...2 = hold\n\t\t// 2...3 = fade out\n\t\tvar now = new Date(),\n\t\t\tt = (now - self.animationStartTime) / ($tw.utils.getAnimationDuration() * 2);\n\t\tt = t >= 3 ? 3 : t;\n\t\t// Query the selector for the target element\n\t\tvar targetNode, selectorIndex = 0;\n\t\twhile(!targetNode && selectorIndex < selectors.length) {\n\t\t\ttargetNode = self.querySelectorSafe(selectors[selectorIndex]);\n\t\t\tselectorIndex += 1;\n\t\t}\n\t\t// Position the spotlight if we've got the target\n\t\tif(targetNode) {\n\t\t\tvar rect = targetNode.getBoundingClientRect();\n\t\t\tvar innerRadius, outerRadius, opacity;\n\t\t\tif(t <= 1) {\n\t\t\t\tt = self.easeInOut(t);\n\t\t\t\tinnerRadius = rect.width / 2 + (window.innerWidth * 2 * (1 - t));\n\t\t\t\touterRadius = rect.width + (window.innerWidth * 3 * (1 - t));\n\t\t\t\topacity = 0.2 + t / 4;\n\t\t\t} else if(t <= 2) {\n\t\t\t\tinnerRadius = rect.width / 2;\n\t\t\t\touterRadius = rect.width;\n\t\t\t\topacity = 0.45;\n\t\t\t} else {\n\t\t\t\tt = self.easeInOut(3 - t);\n\t\t\t\tinnerRadius = rect.width / 2 + (window.innerWidth * 2 * (1 - t));\n\t\t\t\touterRadius = rect.width + (window.innerWidth * 3 * (1 - t));\n\t\t\t\topacity = t / 3;\n\t\t\t}\n\t\t\tself.positionSpotlight((rect.left + rect.right) / 2,(rect.top + rect.bottom) / 2,innerRadius,outerRadius,opacity);\n\t\t} else {\n\t\t\tself.spotlightElement.style.display = \"none\";\n\t\t}\n\t\t// Call the next frame unless we're at the end\n\t\tif(t <= 3) {\n\t\t\twindow.requestAnimationFrame(function () {\n\t\t\t\tanimationLoop(selectors);\n\t\t\t});\n\t\t} else {\n\t\t\t// End the animation if we've exceeded the time limit\n\t\t\tself.animationStartTime = undefined;\n\t\t}\n\t}\n\tthis.animationStartTime = new Date();\n\twindow.requestAnimationFrame(function () {\n\t\tanimationLoop(selectors);\n\t});\n};\n\nexports.ElementSpotlight = ElementSpotlight;\n"
  },
  {
    "path": "plugins/tiddlywiki/dynannotate/modules/legacy-selection-tracker.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/dynannotate/legacy-selection-tracker.js\ntype: application/javascript\nmodule-type: library\n\nLegacy version of the dyannotate background daemon to track the selection\n\n\\*/\n\n\"use strict\";\n\nvar TextMap = require(\"$:/plugins/tiddlywiki/dynannotate/textmap.js\").TextMap;\n\nfunction LegacySelectionTracker(wiki,options) {\n\toptions = options || {};\n\tvar self = this;\n\tthis.wiki = wiki;\n\tthis.allowBlankSelectionPopup = options.allowBlankSelectionPopup;\n\tthis.selectionPopupTitle = null;\n\tdocument.addEventListener(\"selectionchange\",function(event) {\n\t\tvar selection = document.getSelection();\n\t\tif(selection && (selection.type === \"Range\" || (self.allowBlankSelectionPopup && !self.selectionPopupTitle))) {\n\t\t\t// Look for the selection containers for each of the two ends of the selection\n\t\t\tvar anchorContainer = self.findSelectionContainer(selection.anchorNode),\n\t\t\t\tfocusContainer = self.findSelectionContainer(selection.focusNode);\n\t\t\t// If either end of the selection then we ignore it\n\t\t\tif(!!anchorContainer || !!focusContainer) {\n\t\t\t\tvar selectionRange = selection.getRangeAt(0);\n\t\t\t\t// Check for the selection spilling outside the starting container\n\t\t\t\tif((anchorContainer !== focusContainer) || (selectionRange.startContainer.nodeType !== Node.TEXT_NODE && selectionRange.endContainer.nodeType !== Node.TEXT_NODE)) {\n\t\t\t\t\tif(self.selectionPopupTitle) {\n\t\t\t\t\t\tself.wiki.deleteTiddler(self.selectionPopupTitle);\n\t\t\t\t\t\tself.selectionPopupTitle = null;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tself.selectionSaveTitle = anchorContainer.getAttribute(\"data-annotation-selection-save\");\n\t\t\t\t\tself.selectionPrefixSaveTitle = anchorContainer.getAttribute(\"data-annotation-selection-prefix-save\");\n\t\t\t\t\tself.selectionSuffixSaveTitle = anchorContainer.getAttribute(\"data-annotation-selection-suffix-save\");\n\t\t\t\t\tself.selectionPopupTitle = anchorContainer.getAttribute(\"data-annotation-selection-popup\");\n\t\t\t\t\t// The selection is a range so we trigger the popup\n\t\t\t\t\tif(self.selectionPopupTitle) {\n\t\t\t\t\t\tvar selectionRectangle = selectionRange.getBoundingClientRect(),\n\t\t\t\t\t\t\ttrackingRectangle = anchorContainer.getBoundingClientRect();\n\t\t\t\t\t\t$tw.popup.triggerPopup({\n\t\t\t\t\t\t\tdomNode: null,\n\t\t\t\t\t\t\tdomNodeRect: {\n\t\t\t\t\t\t\t\tleft: selectionRectangle.left - trackingRectangle.left,\n\t\t\t\t\t\t\t\ttop: selectionRectangle.top - trackingRectangle.top,\n\t\t\t\t\t\t\t\twidth: selectionRectangle.width,\n\t\t\t\t\t\t\t\theight: selectionRectangle.height\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tforce: true,\n\t\t\t\t\t\t\tfloating: true,\n\t\t\t\t\t\t\ttitle: self.selectionPopupTitle,\n\t\t\t\t\t\t\twiki: self.wiki\n\t\t\t\t\t\t});\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t// Write the selection text to the specified tiddler\n\t\t\t\t\tif(self.selectionSaveTitle) {\n\t\t\t\t\t\t// Note that selection.toString() normalizes whitespace but selection.getRangeAt(0).toString() does not\n\t\t\t\t\t\tvar text = selectionRange.toString();\n\t\t\t\t\t\tself.wiki.addTiddler(new $tw.Tiddler({title: self.selectionSaveTitle, text: text}));\n\t\t\t\t\t\t// Build a textmap of the container so that we can find the prefix and suffix\n\t\t\t\t\t\tvar textMap = new TextMap(anchorContainer);\n\t\t\t\t\t\t// Find the selection start in the text map and hence extract the prefix and suffix\n\t\t\t\t\t\tvar context = textMap.extractContext(selectionRange.startContainer,selectionRange.startOffset,text);\n\t\t\t\t\t\t// Save the prefix and suffix\n\t\t\t\t\t\tif(context) {\n\t\t\t\t\t\t\tif(self.selectionPrefixSaveTitle) {\n\t\t\t\t\t\t\t\tself.wiki.addTiddler(new $tw.Tiddler({title: self.selectionPrefixSaveTitle, text: context.prefix}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif(self.selectionSuffixSaveTitle) {\n\t\t\t\t\t\t\t\tself.wiki.addTiddler(new $tw.Tiddler({title: self.selectionSuffixSaveTitle, text: context.suffix}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// If the selection is a caret we clear any active popup\n\t\t\tif(self.selectionPopupTitle) {\n\t\t\t\tself.wiki.deleteTiddler(self.selectionPopupTitle);\n\t\t\t\tself.selectionPopupTitle = null;\n\t\t\t}\n\t\t}\n\t});\n}\n\nLegacySelectionTracker.prototype.findSelectionContainer = function findSelectionContainer(domNode) {\n\tif(domNode && domNode.nodeType === Node.ELEMENT_NODE && domNode.classList.contains(\"tc-dynannotation-selection-container\")) {\n\t\treturn domNode;\n\t}\n\tif(domNode && domNode.parentNode) {\n\t\treturn findSelectionContainer(domNode.parentNode);\n\t}\n\treturn null;\n};\n\nexports.LegacySelectionTracker = LegacySelectionTracker;\n"
  },
  {
    "path": "plugins/tiddlywiki/dynannotate/modules/selection-tracker.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/dynannotate/selection-tracker.js\ntype: application/javascript\nmodule-type: library\n\nBackground daemon to track the selection\n\n\\*/\n\n\"use strict\";\n\nfunction SelectionTracker(wiki,options) {\n\toptions = options || {};\n\tvar self = this;\n\tthis.wiki = wiki;\n\tvar timerId = null;\n\tdocument.addEventListener(\"selectionchange\",function(event) {\n\t\tif(timerId) {\n\t\t\tclearTimeout(timerId);\n\t\t}\n\t\ttimerId = setTimeout(function() {\n\t\t\ttimerId = null;\n\t\t\tself.handleSelectionChange();\n\t\t},500);\n\t});\n}\n\nSelectionTracker.prototype.handleSelectionChange = function() {\n\tvar selection = document.getSelection();\n\tif(selection && selection.type === \"Range\") {\n\t\t// Helper to get the tiddler title corresponding to a chunk container\n\t\tvar getIdOfContainer = function(domNode) {\n\t\t\treturn domNode.id;\n\t\t};\n\t\t// Get information about the selection anchor and focus\n\t\tvar getSelectionInfo = function(targetDomNode,targetOffset) {\n\t\t\t// Find the chunk container node\n\t\t\tvar domNode = targetDomNode;\n\t\t\tif(domNode.nodeType === Node.TEXT_NODE) {\n\t\t\t\tdomNode = domNode.parentNode;\n\t\t\t}\n\t\t\tvar container = domNode.closest(\".dynannotate-chunk\");\n\t\t\tif(!container) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\t// Find the index of the container within the child nodes of its parent\n\t\t\tvar childNodeIndex = Array.prototype.indexOf.call(container.parentNode.childNodes,container);\n\t\t\t// Walk through the chunk collecting the text before and after the specified domNode and offset\n\t\t\tvar beforeText = null, afterText = [];\n\t\t\tvar splitTextResult = function() {\n\t\t\t\t\tbeforeText = afterText;\n\t\t\t\t\tafterText = [];\n\t\t\t\t},\n\t\t\t\tprocessNode = function(domNode) {\n\t\t\t\t\t// Check for a text node\n\t\t\t\t\tif(domNode.nodeType === Node.TEXT_NODE) {\n\t\t\t\t\t\t// If this is the target node then perform the split\n\t\t\t\t\t\tif(domNode === targetDomNode) {\n\t\t\t\t\t\t\tafterText.push(domNode.textContent.substring(0,targetOffset));\n\t\t\t\t\t\t\tsplitTextResult();\n\t\t\t\t\t\t\tafterText.push(domNode.textContent.substring(targetOffset));\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tafterText.push(domNode.textContent);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Process the child nodes\n\t\t\t\t\t\t$tw.utils.each(domNode.childNodes,function(childNode,childNodeIndex) {\n\t\t\t\t\t\t\t// Check whether we need to split on this child node\n\t\t\t\t\t\t\tif(domNode === targetDomNode && childNodeIndex === targetOffset) {\n\t\t\t\t\t\t\t\tsplitTextResult();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tprocessNode(childNode);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\tprocessNode(container);\n\t\t\tif(beforeText === null) {\n\t\t\t\tsplitTextResult();\n\t\t\t}\n\t\t\t// Return results\n\t\t\treturn {\n\t\t\t\tcontainer: container,\n\t\t\t\tchildNodeIndex: childNodeIndex,\n\t\t\t\tbeforeText: beforeText.join(\"\"),\n\t\t\t\tafterText: afterText.join(\"\")\n\t\t\t};\n\n\t\t};\n\t\tvar anchor = getSelectionInfo(selection.anchorNode,selection.anchorOffset),\n\t\t\tfocus = getSelectionInfo(selection.focusNode,selection.focusOffset);\n\t\t// Check that the containers share a parent\n\t\tif(anchor && focus && anchor.container.parentNode === focus.container.parentNode) {\n\t\t\t// Make sure that the anchor is before the focus\n\t\t\tif((anchor.childNodeIndex > focus.childNodeIndex) || (anchor.container === focus.container && anchor.beforeText.length > focus.beforeText.length)) {\n\t\t\t\tvar temp = anchor; \n\t\t\t\tanchor = focus; \n\t\t\t\tfocus = temp;\n\t\t\t}\n\t\t\tvar chunks = [];\n\t\t\t// Check for the selection being all in one chunk\n\t\t\tif(anchor.container === focus.container) {\n\t\t\t\tchunks.push({\n\t\t\t\t\tid: getIdOfContainer(anchor.container),\n\t\t\t\t\tprefix: anchor.beforeText,\n\t\t\t\t\ttext: anchor.afterText.substring(0,anchor.afterText.length - focus.afterText.length),\n\t\t\t\t\tsuffix: focus.afterText\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t// We span two or more chunks\n\t\t\t\tchunks.push({\n\t\t\t\t\tid: getIdOfContainer(anchor.container),\n\t\t\t\t\tprefix: anchor.beforeText,\n\t\t\t\t\ttext: anchor.afterText\n\t\t\t\t});\n\t\t\t\t// Get the titles and text of the intervening tiddlers\n\t\t\t\tvar domNode;\n\t\t\t\tif(anchor.container !== focus.container) {\n\t\t\t\t\tdomNode = anchor.container.nextElementSibling;\n\t\t\t\t\twhile(domNode && domNode !== focus.container) {\n\t\t\t\t\t\tchunks.push({\n\t\t\t\t\t\t\tid: getIdOfContainer(domNode),\n\t\t\t\t\t\t\ttext: domNode.textContent\n\t\t\t\t\t\t});\n\t\t\t\t\t\tdomNode = domNode.nextElementSibling;\n\t\t\t\t\t}\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\tchunks.push({\n\t\t\t\t\tid: getIdOfContainer(focus.container),\n\t\t\t\t\ttext: focus.beforeText,\n\t\t\t\t\tsuffix: focus.afterText\n\t\t\t\t});\n\t\t\t}\n\t\t\t// Get the title of the tiddler containing the actions to be executed\n\t\t\tvar actionsTiddler = anchor.container.parentNode.getAttribute(\"data-selection-actions-title\");\n\t\t\t// Assemble the variables to be passed to the action\n\t\t\tvar variables = {};\n\t\t\t// Get the bounds of the container and the selection\n\t\t\tvar selectionRectangle = selection.getRangeAt(0).getBoundingClientRect(),\n\t\t\t\toffsetParentRectangle = anchor.container.offsetParent.getBoundingClientRect();\n\t\t\tvariables[\"tv-selection-posx\"] = (selectionRectangle.left - offsetParentRectangle.left).toString();\n\t\t\tvariables[\"tv-selection-posy\"] = (selectionRectangle.top - offsetParentRectangle.top).toString();\n\t\t\tvariables[\"tv-selection-width\"] = (selectionRectangle.width).toString();\n\t\t\tvariables[\"tv-selection-height\"] = (selectionRectangle.height).toString();\n\t\t\tvariables[\"tv-selection-coords\"] = \"(\" + variables[\"tv-selection-posx\"] + \",\" + variables[\"tv-selection-posy\"] + \",\" + variables[\"tv-selection-width\"] + \",\" + variables[\"tv-selection-height\"] + \")\";\n\t\t\t// Collect the attributes from the container\n\t\t\t$tw.utils.each(anchor.container.parentNode.attributes,function(attribute) {\n\t\t\t\tvariables[\"dom-\" + attribute.name] = attribute.value.toString();\n\t\t\t});\n\t\t\t// Action the selection\n\t\t\tthis.performSelectionActions(chunks,variables,actionsTiddler);\n\t\t}\n\t}\n};\n\nSelectionTracker.prototype.performSelectionActions = function(chunks,variables,actionsTiddler) {\n\t// Invoke the actions, passing the extract tiddler title as a variable\n\tif(actionsTiddler) {\n\t\tvar actions = $tw.wiki.getTiddlerText(actionsTiddler);\n\t\tif(actions) {\n\t\t\tvar selection = JSON.stringify({chunks: chunks,variables: variables});\n\t\t\t$tw.rootWidget.invokeActionString(actions,undefined,undefined,$tw.utils.extend({},variables,{selection: selection}));\n\t\t}\n\t}\n};\n\nexports.SelectionTracker = SelectionTracker;\n"
  },
  {
    "path": "plugins/tiddlywiki/dynannotate/modules/startup.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/dynannotate/startup.js\ntype: application/javascript\nmodule-type: startup\n\nStartup the dyannotate background daemon to track the selection\n\n\\*/\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"dyannotate-startup\";\nexports.platforms = [\"browser\"];\nexports.after = [\"render\"];\nexports.synchronous = true;\n\nvar CONFIG_SELECTION_TRACKER_TITLE = \"$:/config/Dynannotate/SelectionTracker/Enable\",\n\tCONFIG_LEGACY_SELECTION_TRACKER_TITLE = \"$:/config/Dynannotate/LegacySelectionTracker/Enable\";\n\nvar SelectionTracker = require(\"$:/plugins/tiddlywiki/dynannotate/selection-tracker.js\").SelectionTracker,\n\tLegacySelectionTracker = require(\"$:/plugins/tiddlywiki/dynannotate/legacy-selection-tracker.js\").LegacySelectionTracker,\n\tElementSpotlight = require(\"$:/plugins/tiddlywiki/dynannotate/element-spotlight.js\").ElementSpotlight;\n\nexports.startup = function() {\n\t$tw.dynannotate = {};\n\t// Setup selection tracker\n\tif($tw.wiki.getTiddlerText(CONFIG_SELECTION_TRACKER_TITLE,\"yes\") === \"yes\") {\n\t\t$tw.dynannotate.selectionTracker = new SelectionTracker($tw.wiki);\n\t}\n\t// Setup legacy selection tracker\n\tif($tw.wiki.getTiddlerText(CONFIG_LEGACY_SELECTION_TRACKER_TITLE,\"yes\") === \"yes\") {\n\t\t$tw.dynannotate.legacySelectionTracker = new LegacySelectionTracker($tw.wiki,{\n\t\t\tallowBlankSelectionPopup: true\n\t\t});\n\t}\n\t// Set up the element spotlight\n\t$tw.dynannotate.elementSpotlight = new ElementSpotlight();\n\t$tw.rootWidget.addEventListener(\"tm-spotlight-element\",function(event) {\n\t\tvar selectors = [];\n\t\tif(event.paramObject.selector) {\n\t\t\tselectors.push(event.paramObject.selector);\n\t\t}\n\t\t$tw.utils.each(Object.keys(event.paramObject).sort(),function(name) {\n\t\t\tvar SELECTOR_PROPERTY_PREFIX = \"selector-\";\n\t\t\tif($tw.utils.startsWith(name,SELECTOR_PROPERTY_PREFIX)) {\n\t\t\t\tselectors.push(event.paramObject[name]);\n\t\t\t}\n\t\t});\n\t\tif(event.paramObject[\"selector-fallback\"]) {\n\t\t\tselectors.push(event.paramObject[\"selector-fallback\"]);\n\t\t}\n\t\t$tw.dynannotate.elementSpotlight.shineSpotlight(selectors);\n\t});\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/dynannotate/modules/textmap.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/dynannotate/textmap.js\ntype: application/javascript\nmodule-type: library\n\nStructure for modelling mapping between a string and its representation in the DOM\n\n\\*/\n\n\"use strict\";\n\nvar PREFIX_SUFFIX_LENGTH = 50;\n\n/*\nBuild a map of the text content of a DOM node and its descendants:\n\nstring: concatenation of the text content of child nodes\nmetadata: array of {start,end,domNode} where start and end identify position in the string\n*/\nexports.TextMap = function(domNode) {\n\tvar self = this,\n\t\tstringChunks = [],\n\t\tp = 0;\n\tthis.metadata = [];\n\tvar processNode = function(domNode) {\n\t\t// Check for text nodes\n\t\tif(domNode.nodeType === 3) {\n\t\t\tvar text = domNode.textContent;\n\t\t\tstringChunks.push(text);\n\t\t\tself.metadata.push({\n\t\t\t\tstart: p,\n\t\t\t\tend: p + text.length,\n\t\t\t\tdomNode: domNode\n\t\t\t});\n\t\t\tp += text.length;\n\t\t} else {\n\t\t\t// Otherwise look within the child nodes\n\t\t\tif(domNode.childNodes) {\n\t\t\t\tfor(var t=0; t<domNode.childNodes.length; t++ ) {\n\t\t\t\t\tprocessNode(domNode.childNodes[t]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\t// Process our text nodes\n\tprocessNode(domNode);\n\tthis.string = stringChunks.join(\"\");\n};\n\n/*\nLocate the metadata record corresponding to a given position in the string\n*/\nexports.TextMap.prototype.locateMetadata = function(position) {\n\treturn this.metadata.find(function(metadata) {\n\t\treturn position >= metadata.start && position < metadata.end;\n\t});\n};\n\n/*\nSearch for the first occurrence of a target string within the textmap of a DOM node\n\nReturns an object with the following properties:\n\tstartNode: node containing the start of the text\n\tstartOffset: offset of the start of the text within the node\n\tendNode: node containing the end of the text\n\tendOffset: offset of the end of the text within the node\n*/\nexports.TextMap.prototype.findText = function(targetString,targetPrefix,targetSuffix) {\n\tif(!targetString) {\n\t\treturn null;\n\t}\n\ttargetPrefix = targetPrefix || \"\";\n\ttargetSuffix = targetSuffix || \"\";\n\tvar startPos = this.string.indexOf(targetPrefix + targetString + targetSuffix);\n\tif(startPos !== -1) {\n\t\tstartPos += targetPrefix.length;\n\t\tvar startMetadata = this.locateMetadata(startPos),\n\t\t\tendMetadata = this.locateMetadata(startPos + targetString.length - 1);\n\t\tif(startMetadata && endMetadata) {\n\t\t\treturn {\n\t\t\t\tstartNode: startMetadata.domNode,\n\t\t\t\tstartOffset: startPos - startMetadata.start,\n\t\t\t\tendNode: endMetadata.domNode,\n\t\t\t\tendOffset: (startPos + targetString.length) - endMetadata.start\n\t\t\t};\t\t\t\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nSearch for all occurrences of a string within the textmap of a DOM node\n\nOptions include:\n\tmode: \"normal\", \"literal\", \"regexp\", \"whitespace\", \"some\" or \"words\"\n\tcaseSensitive: true if the search should be case sensitive\n\nReturns an array of objects with the following properties:\n\tstartPos: start position of the match within the string contained by this TextMap\n\tstartNode: node containing the start of the text\n\tstartOffset: offset of the start of the text within the node\n\tendPos: end position of the match within the string contained by this TextMap\n\tendNode: node containing the end of the text\n\tendOffset: offset of the end of the text within the node\n*/\nexports.TextMap.prototype.search = function(searchString,options) {\n\tif(!searchString) {\n\t\treturn [];\n\t}\n\toptions = options || {};\n\t// Compose the regexp\n\tvar regExpString,\n\t\tflags = options.caseSensitive ? \"g\" : \"gi\";\n\tif(options.mode === \"regexp\") {\n\t\tregExpString = \"(\" + searchString + \")\";\n\t} else if(options.mode === \"whitespace\") {\n\t\t// Normalise whitespace\n\t\tregExpString = \"(\" + searchString.split(/\\s+/g).filter(function(word) {\n\t\t\treturn !!word;\n\t\t}).map($tw.utils.escapeRegExp).join(\"\\\\s+\") + \")\";\n\t} else if(options.mode === \"words\" || options.mode === \"some\") {\n\t\t// Match any word separated by whitespace\n\t\tregExpString = \"(\" + searchString.split(/\\s+/g).filter(function(word) {\n\t\t\treturn !!word;\n\t\t}).map($tw.utils.escapeRegExp).join(\"|\") + \")\";\n\t} else {\n\t\t// Normal search\n\t\tregExpString = \"(\" + $tw.utils.escapeRegExp(searchString) + \")\";\n\t}\n\t// Compile the regular expression\n\tvar regExp;\n\ttry {\n\t\tregExp = RegExp(regExpString,flags);\n\t} catch(e) {\n\t}\n\tif(!regExp) {\n\t\treturn [];\n\t}\n\t// Find each match\n\tvar results = [],\n\t\tmatch;\n\tdo {\n\t\tmatch = regExp.exec(this.string);\n\t\tif(match) {\n\t\t\tvar metadataStart = this.locateMetadata(match.index),\n\t\t\t\tmetadataEnd = this.locateMetadata(match.index + match[0].length);\n\t\t\tif(metadataStart && metadataEnd) {\n\t\t\t\tresults.push({\n\t\t\t\t\tstartPos: match.index,\n\t\t\t\t\tstartNode: metadataStart.domNode,\n\t\t\t\t\tstartOffset: match.index - metadataStart.start,\n\t\t\t\t\tendPos: match.index + match[0].length,\n\t\t\t\t\tendNode: metadataEnd.domNode,\n\t\t\t\t\tendOffset: match.index + match[0].length - metadataEnd.start\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t} while(match);\n\treturn results;\n};\n\n/*\nGiven a start container and offset and a search string, return a prefix and suffix to disambiguate the text\n*/\nexports.TextMap.prototype.extractContext = function(startContainer,startOffset,text) {\n\tvar startMetadata = this.metadata.find(function(metadata) {\n\t\treturn metadata.domNode === startContainer;\n\t});\n\tif(!startMetadata) {\n\t\treturn null;\n\t}\n\tvar startPos = startMetadata.start + startOffset;\n\treturn {\n\t\tprefix: this.string.slice(Math.max(startPos - PREFIX_SUFFIX_LENGTH, 0), startPos),\n\t\tsuffix: this.string.slice(startPos + text.length, Math.min(startPos + text.length + PREFIX_SUFFIX_LENGTH, this.string.length))\n\t};\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/dynannotate/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/dynannotate\",\n\t\"name\": \"Dynannotate\",\n\t\"description\": \"Dynamic content annotation\",\n\t\"author\": \"JeremyRuston\",\n\t\"core-version\": \">=5.0.0\",\n\t\"list\": \"readme examples\",\n\t\"dependents\": [\"$:/plugins/tiddlywiki/dynaview\"],\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/dynannotate/styles.tid",
    "content": "title: $:/plugins/tiddlywiki/dynannotate/styles\ntags: [[$:/tags/Stylesheet]]\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\n.tc-dynannotation-wrapper {\n\tposition: relative;\n}\n\n.tc-dynannotation-annotation-overlay {\n\tposition: absolute;\n\tbackground: rgba(255,255,0,0.3);\n\tmix-blend-mode: multiply;\n}\n\n.tc-dynannotation-search-overlay {\n\tposition: absolute;\n\tpointer-events: none;\n\tbackground: rgba(255,0,0,0.3);\n}\n\n.tc-dynannotation-search-overlay-blurred {\n\tbackground: rgba(255,0,0,0.3);\n\tmix-blend-mode: multiply;\n\tborder-radius: 4px;\n\tfilter: blur(2px);\n}\n\n@keyframes ta-dynannotation-search-overlay-animated { to { background-position: 100% 100% } }\n\n.tc-dynannotation-search-overlay-animated {\n\tmix-blend-mode: multiply;\n\tbackground: repeating-linear-gradient(-45deg, #ff8 0, #dd8 25%, transparent 0, transparent 50%) 0 / .6em .6em;\n\tanimation: ta-dynannotation-search-overlay-animated 12s linear infinite;\n}\n\n.tc-dynannotate-example-frame {\n    border: 1px solid black;\n    border-radius: 20px;\n    padding: 1em;\n}\n\n.tc-control-panel table.tc-dynannotate-search-parameters, .tc-control-panel table.tc-dynannotate-search-parameters input {\n    width: initial;\n}\n\n.tc-dynannotate-snippet-highlight {\n\tbackground: #efef53;\n}\n\n.tc-dynannotation-example-info {\n\tbackground: #ffa;\n\tpadding: 1em;\n}\n\n.tc-dynannotate-spotlight-wrapper {\n\tposition: fixed;\n\tleft: 0;\n\tright: 0;\n\ttop: 0;\n\tbottom: 0;\n\tz-index: 1000;\n\tpointer-events: none;\n}\n\n.tc-dynannotate-spotlight {\n\tposition: absolute;\n\theight: 100%;\n\twidth: 100%;\n\tdisplay: none;\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/dynaview/above-story.tid",
    "content": "title: $:/plugins/tiddlywiki/dynaview/above-story\ntags: $:/tags/AboveStory-disabled\n\n<!-- Remove the \"-disabled\" part of the tag to cause the currently selected example to appear at the top of the story river. Intended to make it easier to make clean screencaps -->\n<div style=\"height:100em;\">\n<$transclude tiddler={{$:/state/tab--1915807570}} mode=\"block\"/>\n</div>\n"
  },
  {
    "path": "plugins/tiddlywiki/dynaview/config.multids",
    "content": "title: $:/config/DynaView/\n\nViewportDimensions: no\nUpdateAddressBar: no\n"
  },
  {
    "path": "plugins/tiddlywiki/dynaview/config.tid",
    "content": "title: $:/plugins/tiddlywiki/dynaview/config\ncaption: Dynaview\ntags: $:/tags/ControlPanel/SettingsTab\n\n<$checkbox tiddler=\"$:/config/DynaView/ViewportDimensions\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> Enable dynamic saving of the viewport [[width|$:/state/DynaView/ViewportDimensions/Width]] and [[height|$:/state/DynaView/ViewportDimensions/Height]]</$checkbox>\n\n<$checkbox tiddler=\"$:/config/DynaView/UpdateAddressBar\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> Update address bar while scrolling</$checkbox>\n\n"
  },
  {
    "path": "plugins/tiddlywiki/dynaview/docs.tid",
    "content": "title: $:/plugins/tiddlywiki/dynaview/docs\n\n! Documentation\n\nThe components of this plugin include:\n\n* A background task that:\n** performs specified actions when elements are scrolled into view\n** updates certain base classes on the `document.body` according to the current zoom level\n** if enabled in the DynaView config panel - dynamically stores the viewport dimensions in $:/state/viewport/width and $:/state/viewport/height\n* Pre-configured CSS classes to simplify using those base classes\n* Usage examples\n\n! Scroll Features\n\n!! Scroll position preservation during refresh\n\nSome recent browsers have a feature called \"scroll anchoring\" whereby they suppress the apparent scrolling that occurs when elements are inserted or removed above the current viewport. (See https://github.com/WICG/ScrollAnchoring for more details).\n\n~DynaView can optionally polyfill this behaviour for older browsers by setting the configuration tiddler $:/config/DynaView/PreserveScrollPosition to `yes`.\n\n!! Startup scroll position restoration\n\nOptionally, ~DynaView can store the current scroll position in local storage and restore it upon startup. Set the configuration tiddler $:/config/DynaView/RestoreScrollPositionAtStartup to `yes`.\n\nNote that it is not recommended to use this setting at the same time as the \"UpdateAddressBar\" option.\n\n!! Visibility tracking\n\nThe background task detects when elements with the class `tc-dynaview-track-tiddler-when-visible` scroll in and out of view. It tracks four different states:\n\n* ''Blank/missing'' -- The element has not yet been scrolled into view\n* ''0'' -- The element has been scrolled into view, but subsequently scrolled out of view\n* ''1'' -- The element is near the viewport\n* ''2'' -- The element is partially or wholly within the viewport\n\nThe processing applied to each element is as follows:\n\n* If the element is partially or wholly within the viewport then set the state to \"2\"\n* If the element is near the viewport then set the state to \"1\"\n* If the element is fully outside the viewport then only set the state to \"0\" if it is currently unset (ie blank/missing)\n\nAttributes on the tracked element specify the following parameters:\n\n* ''data-dynaview-track-tiddler'' -- specifies the tiddler in which the element tracking state will be stored\n\n!! Update address bar when scrolling\n\nIf the configuration tiddler $:/config/DynaView/UpdateAddressBar is set to `yes` the background task detects the tiddler at the top of the viewport and sets the address bar location hash to the title of that tiddler.\n\nNote that it is not recommended to use this setting at the same time as the \"RestoreScrollPositionAtStartup\" option.\n\n! Viewport Size Features\n\n!! Resize Tracking\n\nSome widgets require re-rendering or refreshing if the size of the viewport changes. This can be accomplished using \"resize counting\" in two steps:\n\n* Ensure that a DOM element with the class `tc-dynaview-request-refresh-on-resize` is present in the DOM to enable resize counting\n* Have the widget check for changes to the tiddler $:/state/DynaView/ViewportDimensions/ResizeCount to detect viewport resizes\n\n!! Viewport Size Tracking\n\nThe background task can optionally dynamically update a pair of state tiddlers with the dimensions of the browser viewport.\n\n* Set the configuration tiddler $:/config/DynaView/ViewportDimensions to the text \"yes\" to enable this feature\n* The viewport dimensions can be found in $:/state/DynaView/ViewportDimensions/Width and $:/state/DynaView/ViewportDimensions/Height\n\n! Zoom Features\n\n!! Document Body Zoom Classes\n\nThe background task sets the following classes on `document.body` according to the current zoom level.\n\n|!Class |!Description |\n|`tc-dynaview-zoom-factor-1` |Set when the zoom level is less than 2.00 |\n|`tc-dynaview-zoom-factor-2` |Set when the zoom level is greater than 2.00 and less than 3.00 |\n|`tc-dynaview-zoom-factor-3` |Set when the zoom level is greater than 3.00 and less than 4.00 |\n|`tc-dynaview-zoom-factor-4` |Set when the zoom level is greater than 4.00 |\n|`tc-dynaview-zoom-factor-1-and-above` |Set when the zoom level is greater than or equal to 1.00 |\n|`tc-dynaview-zoom-factor-1a-and-above` |Set when the zoom level is greater than or equal to 1.14 |\n|`tc-dynaview-zoom-factor-1b-and-above` |Set when the zoom level is greater than or equal to 1.33 |\n|`tc-dynaview-zoom-factor-1c-and-above` |Set when the zoom level is greater than or equal to 1.60 |\n|`tc-dynaview-zoom-factor-2-and-above` |Set when the zoom level is greater than or equal to 2.00 |\n|`tc-dynaview-zoom-factor-2a-and-above` |Set when the zoom level is greater than or equal to 2.66 |\n|`tc-dynaview-zoom-factor-3-and-above` |Set when the zoom level is greater than or equal to 3.00 |\n|`tc-dynaview-zoom-factor-4-and-above` |Set when the zoom level is greater than or equal to 4.00 |\n\n!! Pre-configured Classes\n\nThese classes can be used on any element to control its visibility at different zoom levels.\n\n|!Class |!Description |\n|`tc-dynaview-zoom-visible-1-and-above` |Visible when the zoom level is 1.00 or more |\n|`tc-dynaview-zoom-visible-1a-and-above` |Visible when the zoom level is 1.14 or more |\n|`tc-dynaview-zoom-visible-1b-and-above` |Visible when the zoom level is 1.33 or more |\n|`tc-dynaview-zoom-visible-1c-and-above` |Visible when the zoom level is 1.60 or more |\n|`tc-dynaview-zoom-visible-2-and-above` |Visible when the zoom level is 2.00 or more |\n|`tc-dynaview-zoom-visible-2a-and-above` |Visible when the zoom level is 2.66 or more |\n|`tc-dynaview-zoom-visible-3-and-above` |Visible when the zoom level is 3.00 or more |\n|`tc-dynaview-zoom-visible-4-and-above` |Visible when the zoom level is 4.00 or more |\n|`tc-dynaview-zoom-visible-1` |Visible when the zoom level is less than 2.00 |\n|`tc-dynaview-zoom-visible-2` |Visible when the zoom level is greater than or equal to 2.00 and less than 3.00 |\n|`tc-dynaview-zoom-visible-3` |Visible when the zoom level is greater than or equal to 3.00 and less than 4.00 |\n|`tc-dynaview-zoom-visible-4` |Visible when the zoom level is greater than or equal to 4.00 |\n"
  },
  {
    "path": "plugins/tiddlywiki/dynaview/dynaview.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/dynaview/dynaview.js\ntype: application/javascript\nmodule-type: startup\n\nZoom everything\n\n\\*/\n\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"dynaview\";\nexports.platforms = [\"browser\"];\nexports.before = [\"story\"];\nexports.synchronous = true;\n\nvar STATE_OUT_OF_VIEW = \"0\",\n\tSTATE_NEAR_VIEW = \"1\",\n\tSTATE_IN_VIEW = \"2\";\n\nvar isWaitingForAnimationFrame = 0, // Bitmask:\n\tANIM_FRAME_CAUSED_BY_LOAD = 1, // Animation frame was requested because of page load\n\tANIM_FRAME_CAUSED_BY_SCROLL = 2, // Animation frame was requested because of page scroll\n\tANIM_FRAME_CAUSED_BY_RESIZE = 4; // Animation frame was requested because of window resize\n\nvar LOCAL_STORAGE_KEY_PREFIX = \"tw5-dynaview-scroll-position#\";\n\nvar hasRestoredScrollPosition = false;\n\nvar localStorageHasFailed = false;\n\nexports.startup = function() {\n\tvar topmost = null, lastScrollY;\n\t$tw.boot.disableStartupNavigation = true;\n\twindow.addEventListener(\"load\",onLoad,false);\n\twindow.addEventListener(\"scroll\",onScroll,false);\n\twindow.addEventListener(\"resize\",onResize,false);\n\t$tw.hooks.addHook(\"th-page-refreshing\",function() {\n\t\tif(!hasRestoredScrollPosition) {\n\t\t\ttopmost = restoreScrollPosition();\n\t\t} else if(shouldPreserveScrollPosition()) {\n\t\t\ttopmost = findTopmostTiddler();\n\t\t}\n\t\tlastScrollY = window.scrollY;\n\t});\n\t$tw.hooks.addHook(\"th-page-refreshed\",function() {\n\t\tif(lastScrollY === window.scrollY) { // Don't do scroll anchoring if the scroll position got changed\n\t\t\tif(shouldPreserveScrollPosition() || !hasRestoredScrollPosition) {\n\t\t\t\tscrollToTiddler(topmost);\n\t\t\t\thasRestoredScrollPosition = true;\n\t\t\t}\n\t\t}\n\t\tupdateAddressBar();\n\t\tsaveScrollPosition();\n\t\tcheckVisibility();\n\t\tsaveViewportDimensions();\n\t});\n};\n\nfunction onLoad(event) {\n\tif(!isWaitingForAnimationFrame) {\n\t\twindow.requestAnimationFrame(worker);\n\t}\n\tisWaitingForAnimationFrame |= ANIM_FRAME_CAUSED_BY_LOAD;\n}\n\nfunction onScroll(event) {\n\tif(!isWaitingForAnimationFrame) {\n\t\twindow.requestAnimationFrame(worker);\n\t}\n\tisWaitingForAnimationFrame |= ANIM_FRAME_CAUSED_BY_SCROLL;\n}\n\nfunction onResize(event) {\n\tif(!isWaitingForAnimationFrame) {\n\t\twindow.requestAnimationFrame(worker);\n\t}\n\tisWaitingForAnimationFrame |= ANIM_FRAME_CAUSED_BY_RESIZE;\n}\n\nfunction worker() {\n\tif(isWaitingForAnimationFrame & (ANIM_FRAME_CAUSED_BY_RESIZE | ANIM_FRAME_CAUSED_BY_LOAD)) {\n\t\tsaveViewportDimensions();\n\t}\n\tsetZoomClasses();\n\tupdateAddressBar();\n\tsaveScrollPosition();\n\tcheckVisibility();\n\tisWaitingForAnimationFrame = 0;\n}\n\nfunction setZoomClasses() {\n\tvar zoomFactor = document.body.scrollWidth / window.innerWidth,\n\t\tclassList = document.body.classList;\n\tclassList.add(\"tc-dynaview\");\n\tclassList.toggle(\"tc-dynaview-zoom-factor-1\",zoomFactor <= 2);\n\tclassList.toggle(\"tc-dynaview-zoom-factor-1-and-above\",zoomFactor >= 1);\n\tclassList.toggle(\"tc-dynaview-zoom-factor-1a-and-above\",zoomFactor >= 1.14);\n\tclassList.toggle(\"tc-dynaview-zoom-factor-1b-and-above\",zoomFactor >= 1.33);\n\tclassList.toggle(\"tc-dynaview-zoom-factor-1c-and-above\",zoomFactor >= 1.6);\n\tclassList.toggle(\"tc-dynaview-zoom-factor-2\",zoomFactor >= 2 && zoomFactor <= 3);\n\tclassList.toggle(\"tc-dynaview-zoom-factor-2-and-above\",zoomFactor >= 2);\n\tclassList.toggle(\"tc-dynaview-zoom-factor-2a-and-above\",zoomFactor >= 2.66);\n\tclassList.toggle(\"tc-dynaview-zoom-factor-3\",zoomFactor >= 3 && zoomFactor <= 4);\n\tclassList.toggle(\"tc-dynaview-zoom-factor-3-and-above\",zoomFactor >= 3);\n\tclassList.toggle(\"tc-dynaview-zoom-factor-4\",zoomFactor >= 4);\n\tclassList.toggle(\"tc-dynaview-zoom-factor-4-and-above\",zoomFactor >= 4);\n}\n\nfunction checkVisibility() {\n\tvar elements = document.querySelectorAll(\".tc-dynaview-track-tiddler-when-visible\");\n\t$tw.utils.each(elements,function(element) {\n\t\t// Calculate whether the element is visible\n\t\tvar elementRect = element.getBoundingClientRect(),\n\t\t\tviewportWidth = window.innerWidth || document.documentElement.clientWidth,\n\t\t\tviewportHeight = window.innerHeight || document.documentElement.clientHeight,\n\t\t\tviewportRect = {\n\t\t\t\tleft: 0,\n\t\t\t\tright: viewportWidth,\n\t\t\t\ttop: 0,\n\t\t\t\tbottom: viewportHeight\n\t\t\t},\n\t\t\ttitle = element.getAttribute(\"data-dynaview-track-tiddler\");\n\t\tif(title) {\n\t\t\tvar currValue = $tw.wiki.getTiddlerText(title),\n\t\t\t\tnewValue = currValue;\n\t\t\t// Within viewport\n\t\t\tif(!(elementRect.left > viewportRect.right || \n\t\t\t\t\t\t\t\telementRect.right < viewportRect.left || \n\t\t\t\t\t\t\t\telementRect.top > viewportRect.bottom ||\n\t\t\t\t\t\t\t\telementRect.bottom < viewportRect.top)) {\n\t\t\t\tnewValue = STATE_IN_VIEW;\n\t\t\t// Near viewport\n\t\t\t} else if(!(elementRect.left > (viewportRect.right + viewportWidth) || \n\t\t\t\t\t\t\t\telementRect.right < (viewportRect.left - viewportWidth) || \n\t\t\t\t\t\t\t\telementRect.top > (viewportRect.bottom + viewportHeight) ||\n\t\t\t\t\t\t\t\telementRect.bottom < (viewportRect.top - viewportHeight))) {\n\t\t\t\tnewValue = STATE_NEAR_VIEW;\n\t\t\t} else {\n\t\t\t\t// Outside viewport\n\t\t\t\tif(currValue !== undefined) {\n\t\t\t\t\tnewValue = STATE_OUT_OF_VIEW;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(newValue !== currValue) {\n\t\t\t\t$tw.wiki.addTiddler(new $tw.Tiddler({title: title, text: newValue}));\t\t\t\t\n\t\t\t}\n\t\t}\n\t});\n}\n\nfunction updateAddressBar() {\n\tif($tw.wiki.getTiddlerText(\"$:/config/DynaView/UpdateAddressBar\") === \"yes\") {\n\t\tvar top = findTopmostTiddler();\n\t\tif(top.element) {\n\t\t\tvar hash = \"#\" + encodeURIComponent(top.title) + \":\" + encodeURIComponent(\"[list[$:/StoryList]]\");\n\t\t\tif(top.title && $tw.locationHash !== hash) {\n\t\t\t\t$tw.locationHash = hash;\n\t\t\t\twindow.location.hash = hash;\t\t\t\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction saveScrollPosition() {\n\tif(!localStorageHasFailed) {\n\t\tif(hasRestoredScrollPosition && $tw.wiki.getTiddlerText(\"$:/config/DynaView/RestoreScrollPositionAtStartup\") === \"yes\") {\n\t\t\tvar top = findTopmostTiddler();\n\t\t\tif(top.element) {\n\t\t\t\ttry {\n\t\t\t\t\twindow.localStorage.setItem(LOCAL_STORAGE_KEY_PREFIX + window.location.pathname,JSON.stringify({\n\t\t\t\t\t\ttitle: top.title,\n\t\t\t\t\t\toffset: top.offset\n\t\t\t\t\t}));\n\t\t\t\t} catch(e) {\n\t\t\t\t\tlocalStorageHasFailed = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction restoreScrollPosition() {\n\tvar json;\n\tif(!localStorageHasFailed) {\n\t\ttry {\n\t\t\tjson = JSON.parse(window.localStorage.getItem(LOCAL_STORAGE_KEY_PREFIX + window.location.pathname));\n\t\t} catch(e) {\n\t\t\tlocalStorageHasFailed = true;\n\t\t};\t\t\n\t}\n\treturn json;\n}\n\n/*\ntiddlerDetails: {title: <title of tiddler to scroll to>, offset: <offset in pixels from the top of the tiddler>}\n*/\nfunction scrollToTiddler(tiddlerDetails) {\n\tif(!$tw.pageScroller.isScrolling() && tiddlerDetails) {\n\t\tvar elements = document.querySelectorAll(\".tc-tiddler-frame[data-tiddler-title]\"),\n\t\t\ttopmostTiddlerElement = null;\n\t\t$tw.utils.each(elements,function(element) {\n\t\t\tif(element.getAttribute(\"data-tiddler-title\") === tiddlerDetails.title) {\n\t\t\t\ttopmostTiddlerElement = element;\n\t\t\t}\n\t\t});\n\t\tif(topmostTiddlerElement) {\n\t\t\tvar rect = topmostTiddlerElement.getBoundingClientRect(),\n\t\t\t\tscrollY = Math.round(window.scrollY + rect.top + tiddlerDetails.offset);\n\t\t\tif(scrollY !== window.scrollY) {\n\t\t\t\twindow.scrollTo(window.scrollX,scrollY);\t\t\t\t\t\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction shouldPreserveScrollPosition() {\n\treturn $tw.wiki.getTiddlerText(\"$:/config/DynaView/PreserveScrollPosition\") === \"yes\";\n}\n\nfunction findTopmostTiddler() {\n\tvar elements = document.querySelectorAll(\".tc-tiddler-frame[data-tiddler-title]\"),\n\t\ttopmostElement = null,\n\t\ttopmostElementTop = 1 * 1000 * 1000;\n\t$tw.utils.each(elements,function(element) {\n\t\t// Check if the element is visible\n\t\tvar elementRect = element.getBoundingClientRect();\n\t\tif((elementRect.top < topmostElementTop) && (elementRect.bottom > 0)) {\n\t\t\ttopmostElement = element;\n\t\t\ttopmostElementTop = elementRect.top;\n\t\t}\n\t});\n\treturn {\n\t\telement: topmostElement,\n\t\toffset: -topmostElementTop,\n\t\ttitle: topmostElement ? topmostElement.getAttribute(\"data-tiddler-title\") : null\n\t};\n}\n\nvar previousViewportWidth, previousViewportHeight;\n\nfunction saveViewportDimensions() {\n\tvar viewportWidth = window.innerWidth || document.documentElement.clientWidth,\n\t\tviewportHeight = window.innerHeight || document.documentElement.clientHeight;\n\tif(document.querySelector(\".tc-dynaview-request-refresh-on-resize\")) {\n\t\tif(previousViewportWidth !== viewportWidth || previousViewportHeight !== viewportHeight) {\n\t\t\tvar count = parseInt($tw.wiki.getTiddlerText(\"$:/state/DynaView/ViewportDimensions/ResizeCount\",\"0\"),10) || 0;\n\t\t\t$tw.wiki.addTiddler(new $tw.Tiddler({title: \"$:/state/DynaView/ViewportDimensions/ResizeCount\", text: (count + 1) + \"\"}));\n\t\t\tpreviousViewportWidth = viewportWidth;\n\t\t\tpreviousViewportHeight = viewportHeight;\n\t\t}\n\t}\n\tif($tw.wiki.getTiddlerText(\"$:/config/DynaView/ViewportDimensions\") === \"yes\") {\n\t\tif($tw.wiki.getTiddlerText(\"$:/state/DynaView/ViewportDimensions/Width\") !== viewportWidth.toString()) {\n\t\t\t$tw.wiki.setText(\"$:/state/DynaView/ViewportDimensions/Width\",undefined,undefined,viewportWidth.toString(),undefined);\n\t\t}\n\t\tif($tw.wiki.getTiddlerText(\"$:/state/DynaView/ViewportDimensions/Height\") !== viewportHeight.toString()) {\n\t\t\t$tw.wiki.setText(\"$:/state/DynaView/ViewportDimensions/Height\",undefined,undefined,viewportHeight.toString(),undefined);\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/dynaview/examples/progressive-text.tid",
    "content": "title: $:/plugins/tiddlywiki/dynaview/examples/progressive-text\ntags: $:/tags/dynaviewExamples\ncaption: Progressive Text\n\n//Zoom into the space below to see a poem//\n\n''N.B. This example only works in Safari at the moment''\n\n<pre><div class=\"tc-dynaview-zoom-visible-1-and-above\" style=\"font-size: 0.7em;line-height:1.5;\">\n         'Fury said to a\n         mouse, That he\n        met in the\n       house,</div><div class=\"tc-dynaview-zoom-visible-1a-and-above\" style=\"font-size: 0.6em;line-height:1.5;\">     \"Let us\n      both go to\n       law: I will\n        prosecute\n         YOU.--Come,</div><div class=\"tc-dynaview-zoom-visible-1b-and-above\" style=\"font-size: 0.5em;line-height:1.5;\">           I'll take no\n           denial; We\n          must have a\n        trial: For</div><div class=\"tc-dynaview-zoom-visible-1c-and-above\" style=\"font-size: 0.4em;line-height:1.5;\">      really this\n     morning I've\n    nothing\n    to do.\"</div><div class=\"tc-dynaview-zoom-visible-2-and-above\" style=\"font-size: 0.3em;line-height:1.5;\">     Said the\n      mouse to the\n       cur, \"Such\n        a trial,\n         dear Sir,</div><div class=\"tc-dynaview-zoom-visible-2a-and-above\" style=\"font-size: 0.25em;line-height:1.5;\">            With\n          no jury\n        or judge,\n       would be\n      wasting\n      our\n      breath.\"</div><div class=\"tc-dynaview-zoom-visible-3-and-above\" style=\"font-size: 0.2em;line-height:1.5;\">       \"I'll be\n        judge, I'll\n         be jury,\"\n            Said\n         cunning\n          old Fury:\n          \"I'll\n          try the\n            whole\n            cause,</div><div class=\"tc-dynaview-zoom-visible-4-and-above\" style=\"font-size: 0.15em;line-height:1.5;\">              and\n           condemn\n           you\n          to\n           death.\"'\n</div></pre>\n"
  },
  {
    "path": "plugins/tiddlywiki/dynaview/examples/reveal-on-scroll.tid",
    "content": "title: $:/plugins/tiddlywiki/dynaview/examples/reveal-on-scroll\ntags: $:/tags/dynaviewExamples\ncaption: Reveal on Scroll\n\n\\define indicator(index)\n<$reveal state=\"$:/state/unreveal-on-scroll/example$index$\" type=\"nomatch\" text=\"\">\n$index$\n</$reveal>\n\\end\n\n\\define lorem-ipsum(index)\n<div class=\"tc-dynaview-track-tiddler-when-visible\" style=\"min-height: 75px;\" data-dynaview-track-tiddler=\"$:/state/unreveal-on-scroll/example$index$\">\n<h1>Heading $index$</h1>\n<$reveal state=\"$:/state/unreveal-on-scroll/example$index$\" type=\"nomatch\" text=\"\">\n(Rendered at <<now \"[UTC]YYYY-0MM-0DD 0hh:0mm:0ss.XXX\">>) Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n</$reveal>\n</div>\n\\end\n\nThis example renders tiddlers as they are scrolled into view, and hides them when they scroll out of view again.\n\nVisible: <$list filter=\"1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16\">\n<$macrocall $name=\"indicator\" index=<<currentTiddler>>/>\n</$list>\n\n<$list filter=\"1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16\">\n<$macrocall $name=\"lorem-ipsum\" index=<<currentTiddler>>/>\n</$list>"
  },
  {
    "path": "plugins/tiddlywiki/dynaview/examples/zoomable-diagram-content.json",
    "content": "[\n\t{\n\t\t\"title\": \"$:/plugins/tiddlywiki/dynaview/zoomable-diagram/TiddlyWiki Architecture\",\n\t\t\"caption\": \"TiddlyWiki Architecture\",\n\t\t\"tags\": \"[[$:/tags:/ZoomableDiagram]]\",\n\t\t\"text\": \"<<lorem-ipsum>>\"\n\t},\n\t{\n\t\t\"title\": \"$:/plugins/tiddlywiki/dynaview/zoomable-diagram/Browser Architecture\",\n\t\t\"caption\": \"Browser Architecture\",\n\t\t\"tags\": \"[[$:/plugins/tiddlywiki/dynaview/zoomable-diagram/TiddlyWiki Architecture]]\",\n\t\t\"text\": \"<<lorem-ipsum>>\"\n\t},\n\t{\n\t\t\"title\": \"$:/plugins/tiddlywiki/dynaview/zoomable-diagram/Service Workers\",\n\t\t\"caption\": \"Service Workers\",\n\t\t\"tags\": \"[[$:/plugins/tiddlywiki/dynaview/zoomable-diagram/Browser Architecture]]\",\n\t\t\"text\": \"<<lorem-ipsum>>\"\n\t},\n\t{\n\t\t\"title\": \"$:/plugins/tiddlywiki/dynaview/zoomable-diagram/Service Bosses\",\n\t\t\"caption\": \"Service Bosses\",\n\t\t\"tags\": \"[[$:/plugins/tiddlywiki/dynaview/zoomable-diagram/Service Workers]]\",\n\t\t\"text\": \"<<lorem-ipsum>>\"\n\t},\n\t{\n\t\t\"title\": \"$:/plugins/tiddlywiki/dynaview/zoomable-diagram/Out of Service Workers\",\n\t\t\"caption\": \"Out of Service Workers\",\n\t\t\"tags\": \"[[$:/plugins/tiddlywiki/dynaview/zoomable-diagram/Service Workers]]\",\n\t\t\"text\": \"<<lorem-ipsum>>\"\n\t},\n\t{\n\t\t\"title\": \"$:/plugins/tiddlywiki/dynaview/zoomable-diagram/Events\",\n\t\t\"caption\": \"Events\",\n\t\t\"tags\": \"[[$:/plugins/tiddlywiki/dynaview/zoomable-diagram/Browser Architecture]]\",\n\t\t\"text\": \"<<lorem-ipsum>>\"\n\t},\n\t{\n\t\t\"title\": \"$:/plugins/tiddlywiki/dynaview/zoomable-diagram/Non Events\",\n\t\t\"caption\": \"Non Events\",\n\t\t\"tags\": \"[[$:/plugins/tiddlywiki/dynaview/zoomable-diagram/Events]]\",\n\t\t\"text\": \"<<lorem-ipsum>>\"\n\t},\n\t{\n\t\t\"title\": \"$:/plugins/tiddlywiki/dynaview/zoomable-diagram/Past Events\",\n\t\t\"caption\": \"Past Events\",\n\t\t\"tags\": \"[[$:/plugins/tiddlywiki/dynaview/zoomable-diagram/Events]]\",\n\t\t\"text\": \"<<lorem-ipsum>>\"\n\t},\n\t{\n\t\t\"title\": \"$:/plugins/tiddlywiki/dynaview/zoomable-diagram/DOM\",\n\t\t\"caption\": \"DOM\",\n\t\t\"tags\": \"[[$:/plugins/tiddlywiki/dynaview/zoomable-diagram/Browser Architecture]]\",\n\t\t\"text\": \"<<lorem-ipsum>>\"\n\t},\n\t{\n\t\t\"title\": \"$:/plugins/tiddlywiki/dynaview/zoomable-diagram/Nodes\",\n\t\t\"caption\": \"Nodes\",\n\t\t\"tags\": \"[[$:/plugins/tiddlywiki/dynaview/zoomable-diagram/DOM]]\",\n\t\t\"text\": \"<<lorem-ipsum>>\"\n\t},\n\t{\n\t\t\"title\": \"$:/plugins/tiddlywiki/dynaview/zoomable-diagram/Attributes\",\n\t\t\"caption\": \"Attributes\",\n\t\t\"tags\": \"[[$:/plugins/tiddlywiki/dynaview/zoomable-diagram/DOM]]\",\n\t\t\"text\": \"<<lorem-ipsum>>\"\n\t},\n\t{\n\t\t\"title\": \"$:/plugins/tiddlywiki/dynaview/zoomable-diagram/Pathogens\",\n\t\t\"caption\": \"Pathogens\",\n\t\t\"tags\": \"[[$:/plugins/tiddlywiki/dynaview/zoomable-diagram/DOM]]\",\n\t\t\"text\": \"<<lorem-ipsum>>\"\n\t},\n\t{\n\t\t\"title\": \"$:/plugins/tiddlywiki/dynaview/zoomable-diagram/Connection\",\n\t\t\"caption\": \"Connection\",\n\t\t\"tags\": \"[[$:/plugins/tiddlywiki/dynaview/zoomable-diagram/TiddlyWiki Architecture]]\",\n\t\t\"text\": \"<<lorem-ipsum>>\"\n\t},\n\t{\n\t\t\"title\": \"$:/plugins/tiddlywiki/dynaview/zoomable-diagram/HTTP\",\n\t\t\"caption\": \"HTTP\",\n\t\t\"tags\": \"[[$:/plugins/tiddlywiki/dynaview/zoomable-diagram/Connection]]\",\n\t\t\"text\": \"<<lorem-ipsum>>\"\n\t},\n\t{\n\t\t\"title\": \"$:/plugins/tiddlywiki/dynaview/zoomable-diagram/Server Architecture\",\n\t\t\"caption\": \"Server Architecture\",\n\t\t\"tags\": \"[[$:/plugins/tiddlywiki/dynaview/zoomable-diagram/TiddlyWiki Architecture]]\",\n\t\t\"text\": \"<<lorem-ipsum>>\"\n\t},\n\t{\n\t\t\"title\": \"$:/plugins/tiddlywiki/dynaview/zoomable-diagram/Node.js\",\n\t\t\"caption\": \"Node.js\",\n\t\t\"tags\": \"[[$:/plugins/tiddlywiki/dynaview/zoomable-diagram/Server Architecture]]\",\n\t\t\"text\": \"<<lorem-ipsum>>\"\n\t},\n\t{\n\t\t\"title\": \"$:/plugins/tiddlywiki/dynaview/zoomable-diagram/C/C++\",\n\t\t\"caption\": \"C/C++\",\n\t\t\"tags\": \"[[$:/plugins/tiddlywiki/dynaview/zoomable-diagram/Node.js]]\",\n\t\t\"text\": \"<<lorem-ipsum>>\"\n\t},\n\t{\n\t\t\"title\": \"$:/plugins/tiddlywiki/dynaview/zoomable-diagram/Quotation Marks\",\n\t\t\"caption\": \"Quotation Marks\",\n\t\t\"tags\": \"[[$:/plugins/tiddlywiki/dynaview/zoomable-diagram/Node.js]]\",\n\t\t\"text\": \"<<lorem-ipsum>>\"\n\t},\n\t{\n\t\t\"title\": \"$:/plugins/tiddlywiki/dynaview/zoomable-diagram/Asterisks\",\n\t\t\"caption\": \"Asterisks\",\n\t\t\"tags\": \"[[$:/plugins/tiddlywiki/dynaview/zoomable-diagram/Node.js]]\",\n\t\t\"text\": \"<<lorem-ipsum>>\"\n\t},\n\t{\n\t\t\"title\": \"$:/plugins/tiddlywiki/dynaview/zoomable-diagram/Potatoes\",\n\t\t\"caption\": \"Potatoes\",\n\t\t\"tags\": \"[[$:/plugins/tiddlywiki/dynaview/zoomable-diagram/Server Architecture]]\",\n\t\t\"text\": \"<<lorem-ipsum>>\"\n\t},\n\t{\n\t\t\"title\": \"$:/plugins/tiddlywiki/dynaview/zoomable-diagram/Carrots\",\n\t\t\"caption\": \"Carrots\",\n\t\t\"tags\": \"[[$:/plugins/tiddlywiki/dynaview/zoomable-diagram/Potatoes]]\",\n\t\t\"text\": \"<<lorem-ipsum>>\"\n\t},\n\t{\n\t\t\"title\": \"$:/plugins/tiddlywiki/dynaview/zoomable-diagram/Apricots\",\n\t\t\"caption\": \"Apricots\",\n\t\t\"tags\": \"[[$:/plugins/tiddlywiki/dynaview/zoomable-diagram/Potatoes]]\",\n\t\t\"text\": \"<<lorem-ipsum>>\"\n\t}\n]\n"
  },
  {
    "path": "plugins/tiddlywiki/dynaview/examples/zoomable-diagram.tid",
    "content": "title: $:/plugins/tiddlywiki/dynaview/examples/zoomable-diagram\ntags: $:/tags/dynaviewExamples\ncaption: Zoomable Diagram\n\n\\define lorem-ipsum()\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n\\end\n\n\\define zoomable-diagram(tag,level:\"1 2 3 4 5 6 7\")\n<div class={{{ $level$ +[addprefix[zoomable-diagram-level-]addprefix[zoomable-diagram-list ]] }}}>\n\t<$list filter=\"[all[shadows+tiddlers]tag[$tag$]]\">\n\t\t<div class=\"zoomable-diagram-item\">\n\t\t\t<div class=\"zoomable-diagram-title\">\n\t\t\t\t<$transclude field=\"caption\" mode=\"inline\"/>\n\t\t\t</div>\n\t\t\t<div class=\"zoomable-diagram-body\">\n\t\t\t\t<div class=\"zoomable-diagram-text\">\n\t\t\t\t\t<$transclude field=\"text\" mode=\"block\"/>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"zoomable-diagram-children\">\n\t\t\t\t\t<$set name=\"new-level\" filter=\"\"\" $level$ +[butfirst[]] \"\"\">\n\t\t\t\t\t\t<$macrocall $name=\"zoomable-diagram\" tag=<<currentTiddler>> level=<<new-level>>/>\n\t\t\t\t\t</$set>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</$list>\n</div>\n\\end\n\n//Zoom into the diagram below to find out more//\n\n''N.B. This example only works in Safari at the moment''\n\n<style>\n.zoomable-diagram-wrapper {\n\tmin-height: 300px;\n}\n\n.zoomable-diagram-list {\n\tdisplay: flex;\n\tflex-direction: row;\n\tline-height: 1.5;\n}\n\n.zoomable-diagram-level-1 {font-size: 1em;}\n.zoomable-diagram-level-2 {font-size: 0.8em;}\n.zoomable-diagram-level-3 {font-size: 0.6em;}\n.zoomable-diagram-level-4 {font-size: 0.4em;}\n\n.zoomable-diagram-level-1,\n.zoomable-diagram-level-2,\n.zoomable-diagram-level-3,\n.zoomable-diagram-level-4,\n.zoomable-diagram-text {\n\ttransition: opacity 150ms ease-in-out;\n}\n\nbody.tc-dynaview.tc-dynaview-zoom-factor-1 .zoomable-diagram-level-1 {opacity: 1;}\nbody.tc-dynaview.tc-dynaview-zoom-factor-1 .zoomable-diagram-level-2 {opacity: 0;}\nbody.tc-dynaview.tc-dynaview-zoom-factor-1 .zoomable-diagram-level-3 {opacity: 0;}\nbody.tc-dynaview.tc-dynaview-zoom-factor-1 .zoomable-diagram-level-4 {opacity: 0;}\n\nbody.tc-dynaview.tc-dynaview-zoom-factor-2 .zoomable-diagram-level-1 {opacity: 1;}\nbody.tc-dynaview.tc-dynaview-zoom-factor-2 .zoomable-diagram-level-1 > .zoomable-diagram-item > .zoomable-diagram-body > .zoomable-diagram-text {opacity: 0;}\nbody.tc-dynaview.tc-dynaview-zoom-factor-2 .zoomable-diagram-level-2 {opacity: 1;}\nbody.tc-dynaview.tc-dynaview-zoom-factor-2 .zoomable-diagram-level-3 {opacity: 0;}\nbody.tc-dynaview.tc-dynaview-zoom-factor-2 .zoomable-diagram-level-4 {opacity: 0;}\n\nbody.tc-dynaview.tc-dynaview-zoom-factor-3 .zoomable-diagram-level-1 {opacity: 1;}\nbody.tc-dynaview.tc-dynaview-zoom-factor-3 .zoomable-diagram-level-1 > .zoomable-diagram-item > .zoomable-diagram-body > .zoomable-diagram-text {opacity: 0;}\nbody.tc-dynaview.tc-dynaview-zoom-factor-3 .zoomable-diagram-level-2 {opacity: 1;}\nbody.tc-dynaview.tc-dynaview-zoom-factor-3 .zoomable-diagram-level-2 > .zoomable-diagram-item > .zoomable-diagram-body > .zoomable-diagram-text {opacity: 0;}\nbody.tc-dynaview.tc-dynaview-zoom-factor-3 .zoomable-diagram-level-3 {opacity: 1;}\nbody.tc-dynaview.tc-dynaview-zoom-factor-3 .zoomable-diagram-level-4 {opacity: 0;}\n\nbody.tc-dynaview.tc-dynaview-zoom-factor-4 .zoomable-diagram-level-1 {opacity: 1;}\nbody.tc-dynaview.tc-dynaview-zoom-factor-4 .zoomable-diagram-level-1 > .zoomable-diagram-item > .zoomable-diagram-body > .zoomable-diagram-text {opacity: 0;}\nbody.tc-dynaview.tc-dynaview-zoom-factor-4 .zoomable-diagram-level-2 {opacity: 1;}\nbody.tc-dynaview.tc-dynaview-zoom-factor-4 .zoomable-diagram-level-2 > .zoomable-diagram-item > .zoomable-diagram-body > .zoomable-diagram-text {opacity: 0;}\nbody.tc-dynaview.tc-dynaview-zoom-factor-4 .zoomable-diagram-level-3 {opacity: 1;}\nbody.tc-dynaview.tc-dynaview-zoom-factor-4 .zoomable-diagram-level-3 > .zoomable-diagram-item > .zoomable-diagram-body > .zoomable-diagram-text {opacity: 0;}\nbody.tc-dynaview.tc-dynaview-zoom-factor-4 .zoomable-diagram-level-4 {opacity: 1;}\n\n.zoomable-diagram-item {\n\tmargin: 0.5em;\n\tflex: 1 1 0;\n}\n\n.zoomable-diagram-title {\n\tfont-weight: bold;\n}\n\n.zoomable-diagram-body {\n\tdisplay: flex;\n\tflex-direction: column;\n\tposition: relative;\n}\n\n.zoomable-diagram-text {\n\tposition: absolute;\n}\n\n.zoomable-diagram-children {\n}\n\n</style>\n\n<div class=\"zoomable-diagram-wrapper\">\n<<zoomable-diagram \"$:/tags:/ZoomableDiagram\">>\n</div>\n"
  },
  {
    "path": "plugins/tiddlywiki/dynaview/examples/zoomable-tooltips.tid",
    "content": "title: $:/plugins/tiddlywiki/dynaview/examples/zoomable-tooltips\ntags: $:/tags/dynaviewExamples\ncaption: Zoomable Tooltips\n\n//Zoom into the images below to see their titles//\n\n''N.B. This example only works in Safari at the moment''\n\n<style>\n.zoomable-tooltip-demo-container {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n}\n\n.zoomable-tooltip-demo-item {\n\tdisplay: flex;\n\tflex-direction: column;\n\tflex: 0 0 auto;\n\tpadding: 4px;\n\twidth: 5em;\n\theight: 7em;\n}\n\n.zoomable-tooltip-demo-item-image {\n\tflex: 0 0 auto;\n}\n\n.zoomable-tooltip-demo-item-image svg {\n\twidth: 4em;\n\theight: 4em;\n}\n\n.zoomable-tooltip-demo-item-text {\n\tfont-size:0.3em;\n\tflex: 0 0 auto;\n\tline-height: 1.1;\n\ttext-align: center;\n    text-align: center;\n    background: #f7f747;\n    border: 1px solid #c2c235;\n    padding: 2px;\n    border-radius: 2px;\n}\n</style>\n<div class=\"zoomable-tooltip-demo-container\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/Image]]\">\n<div class=\"zoomable-tooltip-demo-item\">\n<span class=\"zoomable-tooltip-demo-item-image\">\n<$transclude/>\n</span>\n<span class=\"zoomable-tooltip-demo-item-text tc-dynaview-zoom-visible-2-and-above\">\n<$text text=<<currentTiddler>>/>\n</span>\n</div>\n</$list>\n</div>\n"
  },
  {
    "path": "plugins/tiddlywiki/dynaview/examples.tid",
    "content": "title: $:/plugins/tiddlywiki/dynaview/examples\n\n<<tabs \"[all[tiddlers+shadows]tag[$:/tags/dynaviewExamples]!has[draft.of]]\" \"$:/plugins/tiddlywiki/dynaview/examples/progressive-text\">>\n"
  },
  {
    "path": "plugins/tiddlywiki/dynaview/macros.tid",
    "content": "title: $:/plugins/tiddlywiki/dynaview/macros\ntags: $:/tags/Macro\n\n\\define transclude-when-visible(tiddler,mode:\"block\",state,minHeight:\"1em\",loadingText:\"&hellip;\")\n<$reveal state=<<__state__>> type=\"nomatch\" text=\"0\" tag=\"div\">\n<div class=\"tc-dynaview-track-tiddler-when-visible\" data-dynaview-track-tiddler=<<__state__>> data-dynaview-set-value=\"visible\">\n<$transclude tiddler=<<__tiddler__>> mode=<<__mode__>>/>\n</div>\n</$reveal>\n<$reveal state=<<__state__>> type=\"match\" text=\"0\" tag=\"div\">\n<div class=\"tc-dynaview-track-tiddler-when-visible\" style=\"min-height: $minHeight$;\" data-dynaview-track-tiddler=<<__state__>> data-dynaview-set-value=\"visible\">\n$loadingText$\n</div>\n</$reveal>\n\\end\n"
  },
  {
    "path": "plugins/tiddlywiki/dynaview/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/dynaview\",\n\t\"name\": \"Dynaview\",\n\t\"description\": \"Dynamic scrolling and zooming effects\",\n\t\"list\": \"readme docs examples config\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/dynaview/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/dynaview/readme\n\n! Dynaview\n\nThis plugin makes it possible to build user interfaces that dynamically respond to changes in the browser viewport via scrolling or zooming:\n\n* CSS classes that allow rendering to be deferred until the output is scrolled into view\n* CSS classes that allow the opacity of DOM elements to vary according to the current zoom level\n* A daemon that can dynamically update a pair of state tiddlers with the current dimensions of the browser viewport\n* A daemon that can dynamically update the address bar with the title of the tiddler at the top of the viewport\n\nSome points to note about the zoom features:\n\n<<<\n\n* The zoom level currently only works on Safari, both on Mac OS and on the iPhone/iPad\n* The zoom level tracked by the plugin is the pinch-zoom level, and not the text-zoom level\n* Rather than being progressively rendered as needed, hidden item are rendered with zero opacity. Which means that they can still be interacted with\n\nThis is really just a proof of concept to allow the user experience to be evaluated. A production version would need to work in all browsers, which would mean adopting a polyfill such as [[Hammer.js|http://hammerjs.github.io/]] to give us manual pan and zoom support. It would also allow deeper levels of zoom.\n\n<<<\n"
  },
  {
    "path": "plugins/tiddlywiki/dynaview/styles.tid",
    "content": "title: $:/plugins/tiddlywiki/dynaview/styles\ntags: $:/tags/Stylesheet\n\n\\define if-tiddler-is(title,value,text)\n<$reveal stateTitle=<<__title__>> text=<<__value__>> type=\"match\">\n<$text text=<<__text__>>/>\n</$reveal>\n\\end\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\n<<if-tiddler-is title:\"$:/config/DynaView/PreserveScrollPosition\" value:\"yes\" text:\"\"\"\nbody {\n\toverflow-anchor: none; /* Turn off browser scroll anchoring */\n}\n\"\"\">>\n\nbody.tc-dynaview .tc-dynaview-zoom-visible-1-and-above,\nbody.tc-dynaview .tc-dynaview-zoom-visible-1a-and-above,\nbody.tc-dynaview .tc-dynaview-zoom-visible-1b-and-above,\nbody.tc-dynaview .tc-dynaview-zoom-visible-1c-and-above,\nbody.tc-dynaview .tc-dynaview-zoom-visible-2-and-above,\nbody.tc-dynaview .tc-dynaview-zoom-visible-2a-and-above,\nbody.tc-dynaview .tc-dynaview-zoom-visible-3-and-above,\nbody.tc-dynaview .tc-dynaview-zoom-visible-4-and-above,\nbody.tc-dynaview .tc-dynaview-zoom-visible-1,\nbody.tc-dynaview .tc-dynaview-zoom-visible-2,\nbody.tc-dynaview .tc-dynaview-zoom-visible-3,\nbody.tc-dynaview .tc-dynaview-zoom-visible-4 {\n\ttransition: opacity 150ms ease-in-out;\n\topacity: 0;\n}\n\nbody.tc-dynaview .tc-dynaview-zoom-visible-1-and-above {opacity: 1;}\nbody.tc-dynaview.tc-dynaview-zoom-factor-1a-and-above .tc-dynaview-zoom-visible-1a-and-above {opacity: 1;}\nbody.tc-dynaview.tc-dynaview-zoom-factor-1b-and-above .tc-dynaview-zoom-visible-1b-and-above {opacity: 1;}\nbody.tc-dynaview.tc-dynaview-zoom-factor-1c-and-above .tc-dynaview-zoom-visible-1c-and-above {opacity: 1;}\nbody.tc-dynaview.tc-dynaview-zoom-factor-2-and-above .tc-dynaview-zoom-visible-2-and-above {opacity: 1;}\nbody.tc-dynaview.tc-dynaview-zoom-factor-2a-and-above .tc-dynaview-zoom-visible-2a-and-above {opacity: 1;}\nbody.tc-dynaview.tc-dynaview-zoom-factor-3-and-above .tc-dynaview-zoom-visible-3-and-above {opacity: 1;}\nbody.tc-dynaview.tc-dynaview-zoom-factor-4-and-above .tc-dynaview-zoom-visible-4-and-above {opacity: 1;}\n\nbody.tc-dynaview.tc-dynaview-zoom-factor-1 .tc-dynaview-zoom-visible-1 {opacity: 1;}\nbody.tc-dynaview.tc-dynaview-zoom-factor-2 .tc-dynaview-zoom-visible-2 {opacity: 1;}\nbody.tc-dynaview.tc-dynaview-zoom-factor-3 .tc-dynaview-zoom-visible-3 {opacity: 1;}\nbody.tc-dynaview.tc-dynaview-zoom-factor-4 .tc-dynaview-zoom-visible-4 {opacity: 1;}\n"
  },
  {
    "path": "plugins/tiddlywiki/evernote/docs.tid",
    "content": "title: $:/plugins/tiddlywiki/evernote/docs\n\n! Introduction\n\n"
  },
  {
    "path": "plugins/tiddlywiki/evernote/modules/enex-deserializer.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/evernote/modules/enex-deserializer.js\ntype: application/javascript\nmodule-type: tiddlerdeserializer\n\nENEX file deserializer\n\nFor details see: https://blog.evernote.com/tech/2013/08/08/evernote-export-format-enex/\n\n\\*/\n\n\"use strict\";\n\n// DOMParser = require(\"$:/plugins/tiddlywiki/xmldom/dom-parser\").DOMParser;\nvar illegalFilenameCharacters = /[\\[\\]<>;\\:\\\"\\/\\\\\\|\\?\\*\\^\\?\\$\\(\\)\\s~]/g;\n\n/*\nParse an ENEX file into tiddlers\n*/\nexports[\"application/enex+xml\"] = function(text,fields) {\n\t// Collect output tiddlers in an array\n\tvar results = [];\n\t// Parse the XML document\n\tvar doc = new DOMParser().parseFromString(text,\"application/xml\");\n\t// Output a report tiddler with information about the import\n\tvar enex = doc.querySelector(\"en-export\");\n\tif(!enex) {\n\t\t// Firefox's DOMParser have problem in some cases.\n\t\tthrow new Error('Failed to parse ENEX file, no \"en-export\" node found, try use Chrome/Edge to export again.');\n\t}\n\tresults.push({\n\t\ttitle: \"Evernote Import Report\",\n\t\ttext: \"Evernote file imported on \" + enex.getAttribute(\"export-date\") + \" from \" + enex.getAttribute(\"application\") + \" (\" + enex.getAttribute(\"version\") + \")\"\n\t});\n\t// Get all the \"note\" nodes\n\tvar noteNodes = doc.querySelectorAll(\"note\");\n\t$tw.utils.each(noteNodes,function(noteNode) {\n\t\tvar noteTitle = getTextContent(noteNode,\"title\");\n\t\t// get real note content node\n\t\tvar contentNode = noteNode.querySelector(\"content\");\n\t\tvar contentText = (contentNode.textContent || \"\").replace(/&nbsp;/g, \" \").trim();\n\t\tif(contentText) {\n\t\t\t// The final content will be HTML instead of xml. And we will save it as wikitext, to make wiki syntax work, and remaining HTML will also work.\n\t\t\ttry {\n\t\t\t\t// may error if content is not valid XML\n\t\t\t\tcontentNode =\tnew DOMParser().parseFromString(contentText,\"application/xml\").querySelector(\"en-note\") || contentNode;\n\t\t\t} catch(e) {\n\t\t\t\t// ignore\n\t\t\t}\n\t\t}\n\t\t// process main content and metadata, and save as wikitext tiddler.\n\t\tvar noteResult = {\n\t\t\ttitle: noteTitle.replace(illegalFilenameCharacters,\"_\"),\n\t\t\ttags: [],\n\t\t\tmodified: convertDate(getTextContent(noteNode,\"updated\") || getTextContent(noteNode,\"created\")),\n\t\t\tmodifier: getTextContent(noteNode,\"author\"),\n\t\t\tcreated:  convertDate(getTextContent(noteNode,\"created\")),\n\t\t\tcreator: getTextContent(noteNode,\"author\")\n\t\t};\n\t\t// process resources (images, PDFs, etc.)\n\t\t$tw.utils.each(noteNode.querySelectorAll(\"resource\"),function(resourceNode) {\n\t\t\t// hash generated by applying https://github.com/vzhd1701/evernote-backup/pull/54\n\t\t\tvar hash = resourceNode.querySelector(\"data\").getAttribute(\"hash\");\n\t\t\tvar text = getTextContent(resourceNode,\"data\");\n\t\t\tvar mimeType = getTextContent(resourceNode,\"mime\");\n\t\t\tvar contentTypeInfo = $tw.config.contentTypeInfo[mimeType] || {extension:\"\"};\n\t\t\tvar title = getTextContent(resourceNode,\"resource-attributes>file-name\");\n\t\t\t// a few resources don't have title, use hash as fallback\n\t\t\ttitle = title || (hash + contentTypeInfo.extension);\n\t\t\t// replace all system reserved characters in title\n\t\t\ttitle = title.replace(illegalFilenameCharacters,\"_\");\n\t\t\t// prefix image title with note title, to avoid name conflicts which is quite common in web-clipped content\n\t\t\ttitle = noteResult.title + \"/\" + title;\n\t\t\tresults.push({\n\t\t\t\ttitle: title,\n\t\t\t\ttype: mimeType,\n\t\t\t\twidth: getTextContent(resourceNode,\"width\"),\n\t\t\t\theight: getTextContent(resourceNode,\"height\"),\n\t\t\t\ttext: text,\n\t\t\t\t// give image same modified and modifier as the note, so they can be grouped together in the \"Recent\"\n\t\t\t\tmodified: noteResult.modified,\n\t\t\t\tmodifier: noteResult.modifier,\n\t\t\t\tcreated: noteResult.created,\n\t\t\t\tcreator: noteResult.creator\n\t\t\t});\n\t\t\tif(hash) {\n\t\t\t\tfixAttachmentReference(contentNode, hash, mimeType, title);\n\t\t\t}\n\t\t});\n\t\t// export mixed content of wikitext and HTML\n\t\tnoteResult.text = contentNode.innerHTML;\n\t\t// remove all ` xmlns=\"http://www.w3.org/1999/xhtml\"` attributes to save some space\n\t\tnoteResult.text = noteResult.text.replace(/ xmlns=\"http:\\/\\/www.w3.org\\/1999\\/xhtml\"/g, \"\");\n\t\t$tw.utils.each(noteNode.querySelectorAll(\"tag\"),function(tagNode) {\n\t\t\tnoteResult.tags.push(tagNode.textContent);\n\t\t});\n\t\t// If there's an update date, set modifiy date accordingly\n\t\tvar update = getTextContent(noteNode,\"updated\");\n\t\tif(update) {\n\t\t\tnoteResult.modified = convertDate(update);\n\t\t}\n\t\t$tw.utils.each(noteNode.querySelectorAll(\"note-attributes>*\"),function(attrNode) {\n\t\t\tnoteResult[attrNode.tagName] = attrNode.textContent;\n\t\t});\n\t\tresults.push(noteResult);\n\t});\n\t// Return the output tiddlers\n\treturn results;\n};\n\nfunction getTextContent(node,selector) {\n\treturn (node.querySelector(selector) || {}).textContent || \"\";\n}\n\nfunction convertDate(isoDate) {\n\treturn (isoDate || \"\").replace(\"T\",\"\").replace(\"Z\",\"\") + \"000\";\n}\n\nfunction fixAttachmentReference(contentNode, md5Hash, mimeType, name) {\n\tif(!contentNode) return;\n\tvar mediaNode = contentNode.querySelector('en-media[hash=\"' + md5Hash + '\"]');\n\tif(!name) {\n\t\tthrow new Error(\"name is empty for resource hash\" + md5Hash);\n\t}\n\tif(!mediaNode) return;\n\tif(mimeType.indexOf(\"image/\") === 0) {\n\t\t// find en-media node, replace with image syntax\n\t\tmediaNode.parentNode.replaceChild($tw.utils.domMaker(\"p\", {text: \"[img[\"+ name + \"]]\"}), mediaNode);\n\t} else {\n\t\t// For other than image attachments, we make a link to the tiddler\n\t\tmediaNode.parentNode.replaceChild($tw.utils.domMaker(\"p\", {text: \"[[\"+ name + \"]]\"}), mediaNode);\n\t}\n}\n\n\nfunction fixAttachmentReference(contentNode, md5Hash, mimeType, name) {\n\tif(!contentNode) return;\n\tvar mediaNode = contentNode.querySelector('en-media[hash=\"' + md5Hash + '\"]');\n\tif(!name) {\n\t\tthrow new Error(\"name is empty for resource hash\" + md5Hash);\n\t}\n\tif(!mediaNode) return;\n\tif(mimeType.indexOf(\"image/\") === 0) {\n\t\t// find en-media node, replace with image syntax\n\t\tmediaNode.parentNode.replaceChild($tw.utils.domMaker(\"p\", {text: \"[img[\"+ name + \"]]\"}), mediaNode);\n\t} else {\n\t\t// For other than image attachments, we make a link to the tiddler\n\t\tmediaNode.parentNode.replaceChild($tw.utils.domMaker(\"p\", {text: \"[[\"+ name + \"]]\"}), mediaNode);\n\t}\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/evernote/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/evernote\",\n\t\"name\": \"Evernote\",\n\t\"description\": \"Evernote migration tools\",\n\t\"list\": \"readme docs\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/evernote/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/evernote/readme\n\nThis plugin contains tool to assist migration of content from Evernote ENEX files.\n\n!! Instructions\n\n# Download or save your ENEX file from Evernote\n## Use [ext[evernote-backup|https://github.com/vzhd1701/evernote-backup]] to export ENEX file with resource hash, so images can be linked in the note\n# Rename the file to have an `.enex` extension\n# Drag the file into the TiddlyWiki browser window\n## Alternatively, click the \"Import\" button in the \"Tools\" sidebar tab\n# Review and accept the converted tiddlers\n"
  },
  {
    "path": "plugins/tiddlywiki/evernote/samples/sample-enex-with-image.xml.enex",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE en-export SYSTEM \"http://xml.evernote.com/pub/evernote-export3.dtd\">\n<en-export export-date=\"20130730T205637Z\" application=\"Evernote\" version=\"Evernote Mac\">\n    <note>\n        <title>Test Note for Export</title>\n        <content>\n            <![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n            <!DOCTYPE en-note SYSTEM \"http://xml.evernote.com/pub/enml2.dtd\">\n            <en-note style=\"word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;\">\n                Hello, World.\n                <div>\n                    <br/>\n                </div>\n                <div>\n                    <en-media alt=\"\" type=\"image/jpeg\" hash=\"dd7b6d285d09ec054e8cd6a3814ce093\"/>\n                </div>\n                <div>\n                    <br/>\n                </div>\n            </en-note>\n            ]]>\n        </content>\n        <created>20130730T205204Z</created>\n        <updated>20130730T205624Z</updated>\n        <tag>fake-tag</tag>\n        <note-attributes>\n            <latitude>33.88394692352314</latitude>\n            <longitude>-117.9191355110099</longitude>\n            <altitude>96</altitude>\n            <author>Brett Kelly</author>\n        </note-attributes>\n        <resource>\n            <data encoding=\"base64\" hash=\"dd7b6d285d09ec054e8cd6a3814ce093\">\n                /9j/4AAQSkZJRgABAQEASABIAAD/4gxYSUNDX1BST0ZJTEUAAQEAAAxITGlubwIQAABtbnRyUkdCIFhZWiAHzgACAAkABgAxAABhY3NwTVNGVAAAAABJRUMgc1JHQgAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLUhQICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFjcHJ0AAABUAAAADNkZXNjAAABhAAAAGx3dHB0AAAB8AAAABRia3B0AAACBAAAABRyWFlaAAACGAAAABRnWFlaAAACLAAAABRiWFlaAAACQAAAABRkbW5kAAACVAAAAHBkbWRkAAACxAAAAIh2dWVkAAADTAAAAIZ2aWV3AAAD1AAAACRsdW1pAAAD+AAAABRtZWFzAAAEDAAAACR0ZWNoAAAEMAAAAAxyVFJDAAAEPAAACAxnVFJDAAAEPAAACAxiVFJDAAAEPAAACAx0ZXh0AAAAAENvcHlyaWdodCAoYykgMTk5OCBIZXdsZXR0LVBhY2thcmQgQ29tcGFueQAAZGVzYwAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWFlaIAAAAAAAAPNRAAEAAAABFsxYWVogAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z2Rlc2MAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAAC5JRUMgNjE5NjYtMi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAC5JRUMgNjE5NjYtMi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBpbiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZpZXcAAAAAABOk/gAUXy4AEM8UAAPtzAAEEwsAA1yeAAAAAVhZWiAAAAAAAEwJVgBQAAAAVx/nbWVhcwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAo8AAAACc2lnIAAAAABDUlQgY3VydgAAAAAAAAQAAAAABQAKAA8AFAAZAB4AIwAoAC0AMgA3ADsAQABFAEoATwBUAFkAXgBjAGgAbQByAHcAfACBAIYAiwCQAJUAmgCfAKQAqQCuALIAtwC8AMEAxgDLANAA1QDbAOAA5QDrAPAA9gD7AQEBBwENARMBGQEfASUBKwEyATgBPgFFAUwBUgFZAWABZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJAdEB2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgCQQJLAlQCXQJnAnECegKEAo4CmAKiAqwCtgLBAssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3IDfgOKA5YDogOuA7oDxwPTA+AD7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME4QTwBP4FDQUcBSsFOgVJBVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZqBnsGjAadBq8GwAbRBuMG9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gICwgfCDIIRghaCG4IggiWCKoIvgjSCOcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ+woRCicKPQpUCmoKgQqYCq4KxQrcCvMLCwsiCzkLUQtpC4ALmAuwC8gL4Qv5DBIMKgxDDFwMdQyODKcMwAzZDPMNDQ0mDUANWg10DY4NqQ3DDd4N+A4TDi4OSQ5kDn8Omw62DtIO7g8JDyUPQQ9eD3oPlg+zD88P7BAJECYQQxBhEH4QmxC5ENcQ9RETETERTxFtEYwRqhHJEegSBxImEkUSZBKEEqMSwxLjEwMTIxNDE2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTOFPAVEhU0FVYVeBWbFb0V4BYDFiYWSRZsFo8WshbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiKGK8Y1Rj6GSAZRRlrGZEZtxndGgQaKhpRGncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyjHMwc9R0eHUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8THz4faR+UH78f6iAVIEEgbCCYIMQg8CEcIUghdSGhIc4h+yInIlUigiKvIt0jCiM4I2YjlCPCI/AkHyRNJHwkqyTaJQklOCVoJZclxyX3JicmVyaHJrcm6CcYJ0kneierJ9woDSg/KHEooijUKQYpOClrKZ0p0CoCKjUqaCqbKs8rAis2K2krnSvRLAUsOSxuLKIs1y0MLUEtdi2rLeEuFi5MLoIuty7uLyQvWi+RL8cv/jA1MGwwpDDbMRIxSjGCMbox8jIqMmMymzLUMw0zRjN/M7gz8TQrNGU0njTYNRM1TTWHNcI1/TY3NnI2rjbpNyQ3YDecN9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zstO2s7qjvoPCc8ZTykPOM9Ij1hPaE94D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpBrEHuQjBCckK1QvdDOkN9Q8BEA0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI10kdSWNJqUnwSjdKfUrESwxLU0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lPk0/dUCdQcVC7UQZRUFGbUeZSMVJ8UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RXklfgWC9YfVjLWRpZaVm4WgdaVlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5sXr1fD19hX7NgBWBXYKpg/GFPYaJh9WJJYpxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg/aJZo7GlDaZpp8WpIap9q92tPa6dr/2xXbK9tCG1gbbluEm5rbsRvHm94b9FwK3CGcOBxOnGVcfByS3KmcwFzXXO4dBR0cHTMdSh1hXXhdj52m3b4d1Z3s3gReG54zHkqeYl553pGeqV7BHtje8J8IXyBfOF9QX2hfgF+Yn7CfyN/hH/lgEeAqIEKgWuBzYIwgpKC9INXg7qEHYSAhOOFR4Wrhg6GcobXhzuHn4gEiGmIzokziZmJ/opkisqLMIuWi/yMY4zKjTGNmI3/jmaOzo82j56QBpBukNaRP5GokhGSepLjk02TtpQglIqU9JVflcmWNJaflwqXdZfgmEyYuJkkmZCZ/JpomtWbQpuvnByciZz3nWSd0p5Anq6fHZ+Ln/qgaaDYoUehtqImopajBqN2o+akVqTHpTilqaYapoum/adup+CoUqjEqTepqaocqo+rAqt1q+msXKzQrUStuK4trqGvFq+LsACwdbDqsWCx1rJLssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1uy67p7whvJu9Fb2Pvgq+hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPHQce/yD3IvMk6ybnKOMq3yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/0sHTRNPG1EnUy9VO1dHWVdbY11zX4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A24L3hROHM4lPi2+Nj4+vkc+T85YTmDeaW5x/nqegy6LzpRunQ6lvq5etw6/vshu0R7ZzuKO6070DvzPBY8OXxcvH/8ozzGfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5x/pX+uf7d/wH/Jj9Kf26/kv+3P9t////2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCACHAPADAREAAhEBAxEB/8QAHQAAAgIDAQEBAAAAAAAAAAAABQYEBwIDCAEACf/EAD4QAAIBAwMCBAQEBQIEBgMAAAECAwQFEQYSIQAxBxMiQQgUUWEVIzJxFkJSgaGRsSTB0fAlM2KCkuEXNHL/xAAbAQACAwEBAQAAAAAAAAAAAAADBAECBQAGB//EADYRAAEEAAQCCQQCAgIDAQEAAAEAAgMRBBIhMUFRBRMiYXGBkaHwFLHB0TLhI/EVQiQzUgay/9oADAMBAAIRAxEAPwAnQ2O6NCCiTMpOOPf3yMHnqDLGOKUEUhGgR22WW6OqKFVMZ5mfbj+2eegOlYEZsLyUw0+201KCbyJGYYbDdhnoJcXjRXDcp7SNp4hxWajl+UjVps919+f+fQPpy/8Akjde1uyI2XxWnkXzZqaJ2ZjgjgHnqrsE3gVAxWmyzl17XVJMsb+Xu9WAO/PbHVxhmDQoZxBOyKWvX1XFGokUOB6iQeBn26o7Dt4K7ZuYRsavaqgAdds3G4oPv0EQUUXrQs01fPHMy5DDuRjkcdX6kFV6xS5b1NPEvlROshOCwOQPv1wjGxXZ+IR+xGVqUNK4KkZ59j0u5rQaCICSLKKEAjggjqC1da17liVi7AAd+c9Q1pXErA3GlAOZR9DkdMZDyVMwUGWvpN2Ywuf36IA4bqpIWMlfI6jYq4z3z1OULrK8hlqnP6CxH0PUEBdZUiOeVxhgI/ux6oQOCtfNetGc+qVcHrlyjTSxEbDIAc9x1FFSozxxIRtm++Aee/8A99QbPBRS9mgoptokc7sHkt0A5hsiaFao7ZSCoUQTbCf79WDnqMrVFudMkib1ljlCNt246uBn4Kp7OyAVdanzIEoJxjBAxngnnoxjNaIYIG6jGrp3ll3qwUHOD2/2+o6GI3BELmlaZ66FG5U7Pc7gcHH+D0QRuVC4IJdbnFKyOjPJtVmYs36Txxn7gnGe3RWMI3VHUUIDL5ylmCF+MZxnjkdNEaIVKFW3aQ7zTzRkL6SRzg5+vXCMcQuOimLpWpIEyXdaeAKSpZcHP02j27dZvXgaZVqGInUOWccBtaSyz3GkqI4AHklmiIXaBn9R7fv7dcX3sCFAbXEFc9eAHijX+O3jZq1ko6am0/Qw74HbdsEQZkUtz+pydwx/y6al/wAMY1VOrzEEjddJPoeCOLKJAc4I2McfbI6XGId3oZw7eSyp9ETlBsNPGRlhyxyOr/UBDOH5KfHo24U9PuZ6fcTnaGAJHcDkf94HXfUNKr1BC3/gtTA6eYIB7lQQT/t/v1PWAqDEQidDbxK6DzIogPYHHVS9SGE8UU/h6niAd6xGc5OTx/z6r1h5K3VgblErTFFGRiYSY4x3UdVslEoAIu0qYKhvT9Pr1IaqErAmQ54JAHBzj+/VqCjVR6h5mG3kj2z7dEFcENyhyU7ucEHnuR1a0OiVlDbog+XYBe+B7+3VS48FcNC9mRWYqjMVXnAbHVBXFXPcsqOSo3NhigzjOO3VtFXULOtinkxtf98+/XWOKnVaHhmIHmSH/wBvUZgpynivYaeR5AACTwPoB+5Pt1UuVgOa5P8AFH4hL1W61jl0pHGlBa5XWnrZWJSqYHEh2DGY2AwN2eOcAkdZL8cQezsvW4foZxjzSDU+39q7NDeIFJ4kWmOtpC1JVFQtRRM+Wp5Ppn3HurY5XnggjrQhxDJm2N1gYvBS4N+R+3Ap3paWV5BulYe+/sQP+89MBwSNFfPTCHeGOSxPBXAxzz12ddlQWrpAzJI0ihhz2/SOeP8ATqwf3KCK4qq9b+M2n7DqOj0rZfO1VrCtnSkittv4ihmcgKJ5+VTB5IUMwUE4HVTMG7owiLk6VVPTQQKlXLBU1kWBM8GRG0mBuKg87c5xnPA+vRWucdUE5Roh9XVUNNCy7G2jC8HJ7/XowDkMvaoMVZQ5O9SykhiF74x7Z49+ucHnYrmvZxQ66VtCaktHGrFmAU44OeOfqfr+/t1zGP4lc6SPgEzw6YZBvkr98JXBBIUgY7AcZ6xevvYLZLFXPxOVS6Z8DNTVttqh5zQCnwBwRIwjOP8A5n/TosTnOeAQhvaA2wqc+A3T8FNoLVN1cfm1l0jpAUGcRRwKdp+nqk6cxDiHAKhbm8l1MssVOlGzTyvvyCFBwox2wfpwOlxZQzQU2CSokYtF69oyPNbjP746tYG6HROy20q1kgbz6lQyEkhyQQM/4GOuzDgFXK7iVsqAKuBk9SntvD9vf/PBx9+uD6KqWohbrS0iRytMXyMlQe/HHXF/BRkRanoYt4BcEYAB4JJ67MoyhG6SCGGPKg5xzhfv11qaUpIUXBVR/b69+ptdXJfM7xtxnaQcY5wepVbXhqDnOAT9weuUWvRJkgnAPfPUrrX25ZAFIHP1HPUKVmgWLJwpP7dcptZsyKScDB5HU0otaJargkL11KM1LQtbmT1DPsPp1GVTnS54o6imsPh7f6uDbFM9JJTwu5x+bIhVF+5OT2/f26TxDxGw960cDH1s7B3gr8vodU1dffYrdS/KUgDsVnrnKKoByzs38q45P1HselPp25S4r1H18hfkbQHerA0X4iXTQniZTUlBWC8UldTBZ3ppAkcyZ4aEgfqHcbu/I7E9AylkZkacpB+WuneJ5Wwv7QIv/Ss+3/EbcB8xXUV7+XpYECyQXVdpjQSIsg3A8NyWwQc7SfbHRmSykgOKz5MPhspLW7eITenxDVWo6G4UkFwtkN2oXkhdIqxUWSRCwZQx5XIRmyR7MOAAervnmaB2d+NfhBZg8MXHtXV6WqIqvHDU/iFVVFrq65rPSyTtHMYGfzhGD2LFuM/+nGcAE8Y6mWSRjf5X6D7K2GhilkytaG+591fvw8+Gds05p646vSHNdK0lvts5GWhjPE8xxnDSbtn1C7+fV1GEzPdb1HSnVw1FD4k+KsgwosLRxqGxzjHYDI/063bXl8oKE1dEgLEKDnGQB2P7H7dEDkMt5INGkwqJ8hyP6lHcfT9+i3oqZVBuGX8wSrh1JKso9W3A/wBT1YHkoIVoyODIH8rew5JKZ9+3368vdaWvR2VXHxQ25b34H6gpkhjV2SORgVwwCOGHHbB2+/vjnokJIfYVX6tpU38BetKWxVt60vVVafL3aSOsogwIMM8QKyxHPYsrZBHfYPc4DmLjLmh6Cw0u2qmOnDLGsSsEBI3AHHPGf36yrKKCsU09b68tM6PGp59JIz/bPRhI4DdUIC002lLWWyBJIBkhi3b+3VxM4qpjbyW+CxUSgboZTk5w3YH/ALPVxI4qhY1b/wANp0y5i8tAMZ3EAAdWEh5qpYOSjm42qNZPKZZ2Gc+S4YN+xGRnnscdEsqmQIVe7oYggpZjGrsEBbIaPIPbtzkA4P8ArjPVszW/yVgwu2CXv4wvlJU00jSxtJjAaRCqsfbcvurHPP8AKSRnk9QJYyr9S7dF4vFvy1ikrrK8ETMolRSS8ee5XIwwUkcfqAYcfXg9p2co6l3JMCa7tvks3y8jlYvNIg9TMvOSF7+3bn+/RLF0ChFhAulPt19oLpualnWXaAxwDnaezY+mRg/Q98dWQi08kQnmWniWVtxjPYqCwP8Ap1YFRSF1+pKSihFQokqoj6h5A3bhkBgD2yMg4Pf27jqwHNRR4KFctZU6OYKcGSd4xLAwQlJAT/Y8YJIHOFcd1x1YC9SVBB2WVq1NR31UGySllaJpmhlIygVgHHH9OQf2Ofr1BBGygg8UYkptu7229UK6lQXxY6jglOi9ITRrHSX2oenkq2YOI2K5QFf5CTgKc889sDOPiSA4yDdoteh6PH/U7O09lxZrPRtPWa51FX3KZKaknqHipVmpG/WrFWCSA4JjCjCkqSCGGR10M1QNDbvxH2PPn5LWnia6d7n1R5j7Vy/tDqO0W2kpKWWjjuQmplHydwlqQgjTJ3qibchd5ONvbs3UvlLyQa13CXDGNDXNvTY38+bqHcaBrhbLnVT1odIYmddz4eZlDZDYHHYkZPseeeLQgRloA39ktOXTBxc7+0sXOOqrRaMAz1VaklZNtQr+ZPM0i5J7ehlIHcbift1qucO13fhZbmmwAiOkKuopDWgVrcy+R5rIWaPGQXIAJ5UHj/PfpLEMDiNE/gpzE4676LtLUPiPdvDzTlitFqpoquCG1UjGPBJDvEsm5iSc7ixIOB3xxjlro+ON0YJ0WZ0pLIZ3O3spJb4htU+Yiw0MM20sJgijGT2xx7DrZMDK1WGJ3ngk7Vfj3rK4VRWOVKCNhtEQU/TBJPHRo4GVzQnzPJ5JKfxV1YlTLKbnIsjbVPlseAOOOejGIUhh7uaIW3xz1Rb3y1c1Rg4/NG/++DnoXU3wV+tcF1L4cfEno3UiW6G5XOntdfNGxnSRWSNHBPux4yPbnrys2DljJoWF6dmIikA7VHvVrVlRpDVdGaY3e11tPUgp5TVCgOMYIHsc5x2PfpMZmG6Rqvv9FwTrvQFf4C68r4op1NsnImo5ptzo8KkMFDLyhUALn1Y2qQMcHXixIlFOQ3xlosLqzwf+Iy26ko6e26wmjtF6iXY87uDE2Nu1ncEghlZG8xcqdwLbc5Kk2Gc05mbKrXXougqA07U/mQzJPHt3b4nDLj9xkdux9+kbKsQplvoYw0YBERcZCAj1f9epbR3UOtZ1txorOk0lZVJCgPJkPb7H6H9+jAa0h6pK1DrmzeW8sKmr9G0tSu0UijuMgN/kqf7dEALd9FYC9AuePEHx4prS0TUk8lZPIpPkxgSyOuTn7Ecngsc988dWFuOWtEwGBgs7qv6r4kL1Np2eKlesQtiOalVgXHcIVIHJxjgEHHGDwOhmIXqUdr2gWG6pEq/Fa+Xe2qsdcFETjBVt2ARuyQzKBjPIOOxPGD0bq42uoqvWvItqLWjx61tYIxGKtJaCVChG4pI5QgDHHpOcHAxj2JwOoMcbiaNFUD3NoubaNWf4nLxp+/vFWwCtt6n0SCVlWM57vgenLZOcYXB4I56uImu7j8+WqF9acEZuHxf2gLEUpmmdsgSsqOITnkK8YB245wB3xwDkdcMO66BXdYzVPlg+JWtrKCWrSWaKk2KZf1BkJY+tVJBZORlsk98rkdEMD2jslDzsJ1C0w/EcdQ7qWPTtU8RYpJvkWOSAbifM8svl0YHtyOc85OFHxyR/ycm2Bjz2QgGpviGpDLBa0mp6ZxIGajSYHeck7k53Bh3yWG08fQmY43u1tc8xsNEapp054kS36/UtDbKq3W2roT5kj1ReDzMqORlcSEoSCFzuH+Z7cTS8nRDLY3nKAn2/+O+n9L2+htN41DSSXKWVVijhm3SKecI+DnB4G76HnsepbM+S8rUF2HYwgkqv/F3Udn1/pWkvdApr2o2nhHkyg+TVBVDDIPdQRkc4yM98DJxDXMkcHaflbuCAyaa8lRtrlsAtc9PeYo57nKzPToacfzKd7MAeH9tw5PH0z0jI+QOuLbitiKONzMs1Wb+eKEHw2kgghhcp5rKwhjMhHBO/nJweOMAgds5A6Zbi8xtKP6PLRSG3PwnudXpW81H4eIa+KKSRoqfcTNFtA9IHGUxnC443d+nm4oB7bOmizn4N2QkDtapZ8VNN1GmtN6IuMDD5istyrURlmP6Nvlkftl/f6DtjprBTNldI13A6JbGwdS2Nw4jVe2bRFXX1M1oo4nkuE1DRwxQQ49VTLGjMpJzyS+M4wOPbqXyteM18T9ygNhc1+XuH2BXR3jzV0VJrepjo6ymC06QwCRVWVmSOJEChmDAgFTyPYdbnR0Z6kWF53pGQGUniqor9VVpMZMtOvlnMapTRDH9wv29+tYQN+FZJldf9BKVZVyV0hV3dxncCzbj0wGgbIVkqA8IX+UlT9ByOrKbWlCCBGIgGzkMeuoLljKiQRx7qNUEgyuSSSPtzjrOBvYpolTrVBEK2NoElES5VQZO2MZIxx1Dia1XDfRW5DfIdWaWFi1EGmgmmMsdRSzKksbHC+YuRsz9RwD79+sabD27OzdbUGJLRkfsVXkfhhqrw8xNHVO9nLEQ1lOytEycjacE7CRnKk++M4x0vJi60IorTZD1mrTYRzTfjXUWb/gqi3JO6jy446GqEbDngo4bkd+GznJBx0XQtu0LKb1Gq32fxfrZZ3juFS9POpYRNNK1Oq+k4VZW9JYHAIJGO4YgEdRkDhpStdbgqRV+Ol7UxRRUvzc4jIaWcs5Vs+rDgkSD/AOI5wPr1R+n/AG0VmtH/AM6pW1F4qX+/1hoTdpDFK5iZY9wihZsMu7AYg+kj9iSftRjGVncFdz3A5WlS6vTs1Jaxdq6X5R8tIccyMWByrkEHaBu4+pOO/QTN2sjQjiAhnWPNKt7lFNQLGoFTWQSbfLgM7LGVBymGGOQSQM5BU88gEvtc141FUksuVaaEy/Ls9JWo00kGQtOjOFZSTIjZA2sByc8cHAweruYx2hVRpqFLstNUy0n4U0iVTV0I8jJQyM4OSqBs5yATx3PHJIzV2TNbRqu2FHipaWq/2WkuEUNUa5BsHqSQy7SwMn6c/p7kOBuAyOc4gZH046KxDm9lEqGx1dv1DR+XRXO2xKwkmuNDOKiKrQ5KErGM8rggM+QOO/UGUMFsdajqySA4K1rHo8rqBFElJto8/wDiFFRlXZZE9DuoU7SwOGP1H7YUlxVtGiaiwxzapJv094r7tPTUENO9JS7sNGERp0ydwV1BI2jB2sx/ScccdTG4FtuVZGuzlreC2z6DWzWmSsrnkE02UpSZCAWB9IIxxjP6ic4I4yORnEBzsrEX6UtZneh9op72EuUs1e1VRQHzIqYkKssajAJIztIIxgqPu3bEunAAYOKhkDrLzw90jV1TXXC8yXPfIzxFn9IYiIq39e05JHJxnk889NtIaA290kQ5zsys7QniDUWnQr2igiWaecPXRliki75B+YqoM+WBnd7tuJJyR1nYuPO7M7bZamElLAQ0a7oNYtB6z1VKop9ZWizyO5ApKeb8+NT3J3qGyAe/sPp0rJNhIBZhLu87e2i0IYsVNtMG93H9orovSz6c1mabXt5vckRXZBcYbgGjeM5GYshs889xjHQppmSsDsOxo5itfNTDDJHI5uJebqgb0SzrHQutNKI91tVNda9bay1H8R26R/IcL3MvO5S4IyjDHcc8E6WHxGHlOWRwAP8A1I18uGnNZsuGxOHdmaCa1sfL8QrT8U5KTxEtmirzC0dMt0o6eSaGMpiFmbkY9gN2P3Hb26xorgkkZytbE7PqI438DXvSSNDatvV8+ICz1tkqKi3UEF0dadDujpkhhBCxkY2yeYkOMYJJlY54GN5kMTIcjwLNd5s/al5+SaR8rng00X4UE8XvW9Hfa+apq7VQU4lZn2qgfOSckYAIIJ79+e/Xo48M+IZWvK8lLO2UkloS9cKuzSxPFJT0/l4JVoMo+cHAJyemmtlGoOqU7G1JdevtojxFSO0a9yZeT/jovb5qunJDZmozCHaORX3Y2q5PH16k5tguAWuMUomZ2qC8QBIG3BB9s46guNbLl8sZqadmi8xVTBXfyMH/AG6QBopkiwt9vluFMcNSeYhJUebEcZ98kd/26McjuOqpq1HhBPFSqVHysrqNqMDjP1UH26po41upsjZG9N+Id0sEgWpaStKAqDE4CH6gjbkjsO/QZcLHLwR4sW+I7ppshsWr6/8AEbrpm1UA2AtLDTGn28ElmkDqpP0OD9cHGDlz4BgGVrj5H8LXw/SUhOZwHmPymJvDzw3nuL1X4ldKCnC+qlE0cu1yeM7huA7YB9R4yBkdZRwWJaKY72WuOkMOaL2C/HT0Qys8ONIR1EYt9dVXCaVxHHC4SJDzn1FRkj7BT35+nVRhMRVyOoDuVz0jh77DAT4qPr3Q9q07ZIxRxPTVCfnS72Yuv3ZVGEXAOMHOOT0Mt6s6FHjkM4OYAUqloWuV+dpK/atLE4lEMSDG0MO2DuxjjPGP9OjveyMdkaoTWvm/kdE8Ut+0HVxUhlAM0B2YWIeakeR6crgryoIJGc/QdKN+pJNaX6FOl2F0rWvUJP19ZqrS2q4rxY7aRaKtjLLOwVkaT/0twAzIwGCQCcAHkdO4d4ezK91OCRxUfVyZ2N7J9FC1BYbTXeW7yUtwhqFD0R8pEaHcynDAcr/Nknjtxk4DUUtsdpR4paVgBFGwdvnNNdnvlFqWG6ebJM18tsQjWpa3iCojfaxCTqCd7rsYEgFXABP6ulJQ9ha69Hd+nl3ceYTUeVzXNA1G2mvn3rXZ71eaWg+T+XgeWQcNE4jhY44O5FC7f2PB9x1EjGh+66OR5ZQCYfCieczfi1SsEvzG2GGWuqyhKHJ9O8naq4z3wccZ6HiqAyouFBJzFa6FKObV2oK93QvBNsZo12xlwMiMPsBdhuzjJxtJHBA6o9xELaRGNBncaXniHqAVEtBaUvlJQpTOBJFKCxq5XU/lrGo3NnscDH7Y6Hh2E28Nv9I2KeCRHmA9fRIHiTVVNrq6yg8qnnpI4IklpbWymCkJONrFiXQnIOB9ewz03hmh/bPvx/BSOKcWEx6VWw2Hrqh2lKumtuolWW2otPGEE0m30t6du5izAxnnBKgE8dz0SXM6O83ggwFrJBmGnz0W+011bapRZ7NbI46qmqHaCZpGKzITgLjgkFTnAJ7++OqPyvGd53CvG58bskY1B0Vp0vhxpvXdFBWx0tJWXqNdrwyxiOORsfoVlfcQCO6lv36yHSTQktBIC3GxwTAPLQT8+bqRpbwVsuqxWW2Oeo03cYTlrf8AMOy7v6kL7yR+2Djqr8RIwhxOYc6H9e6gxROblDC09x/YKZ7nom56TgistDUK0NUvy1RNDUOZ/KKkE4MYUnOCAx/bHWeXiQlztx3f2teIgABo053r9t1z1fYrn4aamvenaqgq66CjZIYvLhMsYRwGUK6jGct277vb3O+yMYuNkwIBO+vEdywXukwr5ImsLmDbTge/4VcOh9DXDS9joNT6hqXobnaaeooLfSVEDbafCmIzkrkDaGdRnADMHLenHT2CiE0hcBoT6rFx0pjYGOPaArw5Ku7vbzS1EsiCMwRv5TLEwzESASpUndwdw5Axjr27H3oV4d7K1QqoZQQSw3DgL0VCUSadioDInkrzhUxj7/v1Qq4Q6SoJkVIkMj5woK8nqCrBa0LqjRvApYHPqODzn6dVvvUqVTrVW2XypmRFI9Ssx/x7dIZmvFhHIINFNElRa0pZDQ3qd4GIeGGpYh0fHqww4PSzTIT2268wmJAyrjdpyKHTXCv1AkZklqDCqEJNJgAgcY/x00MkWyVdnfut1qBpGIZlkilUqqBtzAn/AKdGJvVDqkWV0DrFM3mOF2qz8hD++eO/XFwJoKQCnzQFFp61VJrLgqzNDuL005ABb3dSTyePfrIxQxUlxxGu9bGFZBGesk1rgmG7eIWi75NbaegVLdLEzSzyiPEjg8bSexUk59J/bHSUOFxUJeZXXy5eSZlnwspb1YrmmHVVxpdVaLM1FSFYogsZkjiO+VudqbzktxyMk/v1l4hrmPAcVtYNzSCRquaL9YYJrhK813qqD8xmEgdo1DYwEA4yx9yce+CTjo8MpAoNsq8sepJdSg6Zr5IaiqjpLhQyoshM719PLOu7kHCRgZyd3AHcfq56NL2yOsbXp+UvGS28hv1V16M8QoNRWSC2yRU1NDUFqaukmj8uOnRf0sx3ZBBxye2ACMgdZE+EdG7ODfJbEGLbI3JXjyVaXzRdJpvxDpLBWGe5LX7nE7IYFplbKuWLAkwsrDK5IycjYcY0IpnSwmRumX56/NVnSQNjlDHa37f0o6VUdoulFqGgp0uE1HMlFUh3aN5MgvSShyTu3RgrxwHRcYyOiWXgxuNXqPyPXXwVMoZUgFgaH8H09wmOyXSgsmoqmmjhmrYZGzP8quWXzF9OQRsVTkg4zngnHHSj43PivZNMkbHKWgXf5UbVWiZdL1dvrrbWtZqetZEmFQ6qAC4ILjGxQfYHJPJwAeuw87ZLZILrZWxEBip8Zq1vv+mobL+EVVPWNdKirrfMnrXqNrRsP5fKbaFHpbBwD7k4xgccpfmaRQGymSIR5HA2SdU0PfKOXW9wqbXaZ6m+U8fydvigjYJ58oO6Z2JJTCDJJC4XdjJPQMhEIaXU06nwHDv/AGmM4dMXAW4aDxPHu8eSoCsqaa46wrIKozU8Ty7qqZGlZy24hX2n9Tk8hjk5IGOOtwAthBGp4bLCeQ6U5tLOu6+ehtT6rmjpaqR4pjs3fLu2Tn+bL7hzjnggg8cZ6i39QCRqFxawy006JpotLml1FSuaaSvNJh6hmnUKYxkui7iS7FCTg+kfc9IumBYRdXtp84p9uHLZBpdb68OXeaWFTW19vuFLZbbNLSUQ8yuS7RnmqgRVcwCQAF2AIXGcEnnt1dpa5hkdrwI77q/BQ4OY4RtNDUg8xV1atvRdbVXB460070VYajAcOxaUFQybpARnIbGOFyMY46yJA0aA2tuEucLcKKtHxW8ItcXGCzVGk77S26WZBPUW2Rw3zEeARjHqVjjBK9wSe46HE+KHWdlg7cwhfUl7w2J+UtOt7HuvdVv/APibVNv03X1upUpdPw08scNDQpUS1lTcDuJkMO5dxkOclmOM57DA6dM8OXMw6cyK8tPwtT/mRh8jJWDK3YNN9+7uJ4k69yM3PxFraquihqqOQzUSIKWPyfy5ICyqA4bO2VELbivIPmA+ZGzKPWYWOPqWuYdDz3v9E/LXy/FYl8073yDUknTbU7eXzRVTrrTc1s1FU0tKhlFMXjiwQzSQq2IzgZ7RlF79k614pQW2SsiVnaoJcS0V9UJIvK8poxkiQYJP0H36KZGtANoIabqkNqWrqJMoJFDDjbyOuzNcoAUWfUdxSMIJChB/oAPQyxu6uCVGRrjVEHyjIzN6Wxhifp/r1FtGimkbqTXysiyVkDQgFvKmK7g2c4x/06y+siGyfeHn+RRm2CnCJJU0VFPTFTuSEshye+ehuk4NcbUtbrZaCFvq9N0z1lNFbLktIsw83bXEtHGo9sgf6DqW4pwaS9vorHC5nAMNXzTMthOmLIGtN9pbhcJonjep81IEjVhg7UPqJOcc9L9cJ3VI0gJsYZ8DbiNnmq6jsl6tUEop6+B4zktlwwOe5z9etMPjes3qZRsFlQ2C7S5aWqoyjHO2Wckk/UY5z1YyMBXDCyu2HujMVFWQI26K2NFs8tQW34HvnI9+huc07Eo4ws3IeqtbS+uILRa4aFahJ33F2DTDdtHcqp9RwPbAGB3zyMWeFz3WBqtqImFoDimvUHhf/F2kZNQ0lN8nRqrSmpkiYhvfcGJ2nP1B+/WFIHQOzHfxW7BM3Ef4z9lzzU6LhtVzb5ysekqadXmhRE8tiMehH53Pu9gAO+SVHWm3EmRtZbCUdhxG7+WqeKQwVVPQT22y0sOqbewelqapwsUrqSWO3ABC/wBWQC2BknpIEsJLiS06ad6acBIAGtAcOai+Idcuq7THJqAVVPq4U4Cy3KoEssrgGQxKcbVQbSxCjAAHYnros2HfcX8ONfnvUyZJo6eKeNv67kp6ottwW5SVVwpI5WuBqYqymePdU0dRH+cG3A43q2drrwySr3JBDUb2llM2FVroRt78RzCWkjcHnMNTd6ag7+3DuKM2W92up0NLfairSqqKOpezq4p9pk2FcKGHpctGy7mKZHl5zyehvY4SiIAgEZvDf8jTVFY4GLrXVY0Hz+lsv0t71RdqG3wSmloZYBs85923IG5AShPmBTwVXgqQD7EEBjjzO4o2IEsuVvD8orfaaK13i0LFLVmC3wbIqSlADeo7QzyScZAz68c9vY9CiIc15dWp+UAjTNLXsDL0HyyUpXPVFTb7HqCjsltanlqd0stwmqJHxHnG9RkAuSBhtoX37Ly22Nsj2F5scq+eaTdK6Njwxu/G/fx5KudKWuvuVVKtqpZpQkxlQq7YkCIBiUkktznA7/q59hq4h7GNBfy+UsuNj5HUwWmfTWsajR9RVxXvSlRR0c+yIvtELNJ7Asc5z32jGMgYA7qSwMxABhksjhum4ZjhiesZofJMlYkN6o5LlQU6V25s0tK9SrIHHMhYEn0KBnLD15wM9zmEmN2SQ1zNcP2fZaYAlHWRi+Qvjx8h78FnT2C6V9uqqemqYq+ihqWmtqOCgpqgFmIzyQG3tlT9eehGdgIzCiRR7witw8jmEMNgG29x/u9lbPw+ab1Ffr6UraKO30/lpVl6nmFCCAVPsMGMY/8A7b6joM5iNBjrr7KWvkiYXTNq/wDX9rZ8VHizBa9Z1KB0qKWKmWGmtxUx+U+HTzVbguF9GQCdrFCDg9a0WEBY2Vo7Xv8A67l4+eZzHEDVc60fi5dbnSn8YuMrV0Z82nuETMkkUQQK0Y28FchW2nj0nGD0xPhw8HI3X0Swme49o7K+paatvVFBdUMNWtREPNRJGZpTtAySTwSAP+x1htx+JgwDAxrswNWaOgO/Mgj0Wm7BOmk64EFp4DwQO66ksVtu1HR3mW2yeXHFG4kYqAg2gAHGCOOT2PGejdK4rETsH0Dnh7b1btZ4Hn3JeKKOKXLiMpGiWr9fdKW62VUlHSNflr5XSnuSTNF8tCrD9Q25DA8EnOQO/Rx0h0hLNCAcgYO00i859duNc0J+FwzGOd/LNsQf4jv71GsOmJtQmOWy1cci1cmyKYTkBB77sj2/br00nSEDYjK/QN3018EGLoyWUB0ZGvemH+AKyCkVp6qknr4pADSiMOmw5/MWX3PGcEdYTenoXSENa7JV5tteVcFqt6ImjbmcQTy/NoBNY6u3Xupo5o4aUNmRqgSL5LKQSvPO3PbnHJ6ad0rA7DiZhs8uPmlfoJvqOrc2u/hX4VdteKVpVSOrTPBRmT/b79aQutWpHrm3p9lMW8CZtkdxJ2ngyZUEn7Z6kGtcqg4k3V6LdLWOkayzSq8RONyuTn+3RBR0Ck4hpFkqfbKeOujzGobd27DPVHOrdFY+N4RqK3+hImZQr4xA7/qI7cH/AJdB69jdzsiZY3aKTJQ/Kgotpp22pyclcffIP16uJQ7UOVXsa3QBAjNXl/Jq6FHVScPTsQB9mJ4/59H0q2lA6x7dHi/BWr4XWGWdJJPwZZ5Ij5hiki3uucYxJg+W/A+mQfft0F76F2mGkO4K5fEOuulq8MILbWU8kVXXcrBFJN5aJ7tKzcMQoJxyTz+/XlMVIZJdCvTYCMNaXkbBc3a58PrZSUdsMtwaOtqEenNRCAk1Q5GfOcKATgNgD9Kgjkk56aw+IktxaNFGIhjAFnX5qk6XReoKSpP4tY/4kjpIt6V0GZQiA4TzVDYG3OBGB6j/AO4nQ+riIGR2XuKROGlBOZt+CYtO3S06to4KLU1NTXaOneoklrJh5bKzqE2Ace52kgYGMKPfpDExyw2/DOIBrQfdaGHfFN/jnaDvr+FatR4OVcliUCkbeQJ4WLGTKNTmIhs/d35P9IPt1gHHkHTTn43f4W39LGeyTqP1VFKFL4YzWHTsFAUkdKWaav2K/l73aoJIA9typTj36a/5Aukz91e1ftA/4/KzL5+6bK+w3NauopaR4zXzKKelkjQK0eWP5gBO0bV284HIHbJ6SZM3c7cU4+F1UFpuem3scMFqjE12qJEE1wutQ3f6AcjC9yeNx4AwAT0T6hshLzpWgCozDPjbl3vcpR1/bpdP6Cus07qkFTzSqIWldjtwP0DIADFieQAPqenMG7rZ2gbjdK45gjgdeypOy12pLVW0608nzUEMonXz6UxDG3jbx6VyBhcft9/UPEDgS8VfI2vLMdI00FbEvjDpWTS00Op45btdmRt6UsY8tR2O5v0rk555zg9wD1iHBTOlHUaDmfmq2WYyHqqm7R5BZ+HXhTYddM93stRdrbFMhWoikV1LK2WUqWyWzz3wec7QMAAxeMnhqKTK6vP581R8NhMPMOtYXAK5tF+ENZRSCkpopnpQ3r8/kREDAYN7ggc9Yj5HTm+K1w+LCs0Oit3UGorD4NaMhqJKm3SW+TaLjUyFWXazbTkZB2hh7Z/myB3618HC1rgHHU+a8jjMU6dxcdguOfiAuZ1K1SGtFTR0uGqaOVomVal8DDRszYdNm31gKT7huCHmYgukjLXdxBPDn815rFlFDKR32knSnhTftb0tge5yxUNHNLNBDII1LptUOqEDGd/OAfp1EmNiglljw7bcACbujffrt3KYsK6WiDTTY+BXPTW001PBJqamiWoo6ZrdSWyCMQOVYHDsYz+ZLgZ3ZyBnrzjcVhcQzK+UnL46UefKytFsXUavbrtW3+yql8Uda2XV9009aKOwWmnpaqkigkMVbLM9JPkrnfwcLwShzz79emwrDDFJM1uXL3fyG/vzSL3iRwPd41wTXpLT1u1dVQada6i33q30DxG61NOUp2CMAFdVJJJ7k8f56zX4hjmNfM3KHO0o3wvX9o4b1pEY3A3Ry/aArNEWajSKrtDGJmVDTVJMbu59LMxAIUj2I4456yXY4Pk6pxJrXTX0HMLQ+mMUYeCB+/Hkl+kqb7FFHSfOzeRM6LUytEYvKHfhhkds/wBupcYJHEuoHgLu/EbqjJcQym5jXHSq80C1Ixs1t1nWV5N0uc4RI6hZ8I9PxgkLwWHAxj+Xp7CnrZMPFGMrRvpqHd3cVSao2yPccznUAb4f0qmltMtNUyxtNho22lge3X0EOBFrzJk02RiPSTSJlbtEzkkEY/0IJ79BMwHBVzA7AInR+HlzqQwNS1OseTI80ZC9vbB6A/GRM1UhhcT2VlcbBeNLmGV5FqKfH64AfT+/06tFiIsRYGhVHsLN0bhrDHpWkqmejmrVrZsUsayNXrFsVlkdz6PLyCoAwQT/AKYmKj66QgHQen7taEDg2MHjfff+lEodXPc6CooWoZBXu5lSrFQQRGB6UZDkd+dwP26digmbKJjJ2AKy17goMssRjLAy3c79qTvouhpK808VQsTV245ilZGQEAthd7AEkZAGRk9uplmka+q0OxHFWhia5t3ryXRnhfJTW+meuutRHQ6Sp1VzNLHMGWUcqgVmDcYOUAPvngdJ4ktjYG32vx82Wvho3yu7IsKl/EvxjnuvifcqW5XCuu9BtJo6OCPIEf0IyMZzjAGAMjHPCMeHfLEJG0DepJXoTIzDv6oixQ0H5W672Wa76WqbxUyfJXzzDJHUKQPMQndsViScDnPYEjA4G7q0L2xvDBq1VnYZWF50KAUXiJqrRpggNgFzpiR8pTAny2ViPUxwFB9RySMAZPdh04/D4XEmw/KUkyfEwCi2xwT9Z7dada3imNy018pHvWJ6uQeWHl2s6yFjgDJZtv8A95OHiS7BxukjmBA+f7Wq2Vkv/tion7/Nld1i1zDBqQ2+qLVFOiRwyKqEYYfqDcYAw3Y4xgHrBjdiRcjgDEaANj8rPlmHWUHU7dPFRadNXO6z01VHTvU+THUPMjArFGmDw2cDvn+3Wp9EC0kaH8KzOkJWUGnQWgV1/gahl+bfy0jiUpLM0hBODyvtwzMOBzwfpnpl/RrmUBrxKgdKSEHMaS+fGHw7uVVV214qSWgAD7KeIMZQEAWMfuWGT2AbBxk9P/8AFAMzEVWvekB0q/No+z+0E8UKrTnippSst1HJT/i00jPTpGSu0hio2qndR6lG4YO0/bpEh2EmEjWEN4ngmoJxiG9S913suT7pHre8Tz2+ke0VMVJM0MdfEjgso42tGMk4I+hGR3I62WHCsaHvvUXX6VntxMhMbaIaasfPwhtg8DLheLnJNqerVad38yWloAFjnfOAAcgY7nBA+mQDnokvSccTAMONeZ4K0PR73SZpTQ7l0h4ZeAl08N/xzU9LcaiWxRU8NSltA3zzY3iRVRsAhSEbAGcMeDtwcky/8i0NcAHDytFkI6Oc4MJIPsfn9onq34m7xQ2mZ6fTplpbe3li7UlOIoUUgZSRXxsZVYZ5b6ZU9c2To95bCJQXnYDfy58VivfPTpMprjfzRc6eJniQfEGlr6mYGSKsMNVNbnjEMK1hkKyJCoOWXbsbdkHczHHTcHWQShrNAbvTSq0J5G0k57ZAfnHbvXl+uj6nqNN2WOevuktDRCikrK6USVSeUSYEALekBDsPcekdJFzWMfiX9n/+SDufyFd4Jc2MEmvUH8IrDqq826vuVZNHTV1Q0dOJSCWkoWRgA8IUhV5QAsQeGPSBbHI1rWuLd64A6cfLZXEkjHOcRe3l4JRufiVU3eoussay3O+VCyQLKB/+uhB3lc8DIzg9aEXRTYgwO7MYonvPC/NLSYkvcXO3Onh4KJpbwnrNdafoLhZoqIBnZHWrfazbVILFlztHOefcZ6LjOmY+j53xYknht39x38lfD4WSWO2Eb8SivhrpC/W+uue8ebebM3y9bb/MAmlhOVVlz/5g5HqHAGCegdJYjD4iNpZ/63jMHcAdz4d6ZgidHK412mmiO78piu2t6qKju1JI9Pca2ljigp0hi8uaZiPzfzBx5iHHpH9PWPB0fGXxyNBa1xJNmwOWnI8zzWnNiHxh1kEigPz5jkEtaH1xc7dJS2uqo5KiGWItEvIkUMf1FicA5+o7dauP6PhlDp43UQdeXhX6Wdhcc9hayQWOA8VD1Zqiiu2lKineKOmuxlKLLDGG3ncMo7jnt29s9NYPDSw4htaxjXXQ7b+qWdPFLEQRTkhVkVYr+S5UTIMiTYV3KB9ffr17S3dZPZuyFKpo6OlpjUiWomlGApK5UP37DoTi4mq0QzrpVJsotWisIQTJSw+lZRUR7y33AHST4MutWeFIgN6E0PVFJL4YLhWRW6OOsjhpmrpTTMcGBeSQGPBGeR0r1ZyAuNHYXz8kYi3EM1G+nLzUX+KrKGtsUFTHX0ldIk1XBJSuktMwLL5RfOGBBydoxwOlThJsj3BvaF6356f2nDJGHNboRppSEalmjhvtRSW6eKGBPQqoPRjHsetzBu6zDte4EeO6y5mBsrgrG+Gq6WY+IFPa9Rq8a3NPl6eXyg6iUAsqEgblLAEBx2baDkMSCYl4ALGjWrTWFAzeKffGrxIivdRFa6CiuK6etzLNJUQ07OYhydsvbP8AUefpxgdePha+Qk5gL2BPPiF9ByRYZgblJI3IHLgkOi0LZLzDT6k0/PUSVsmHjd5d8jqBg5BGAxzwvYY6u7ESw/8Ajy7D58KuMNFOPqIibX3iLqC9vY7VLPRU70lVTOwtcpIlqJS/pSXPOxSBgcbv24L2CbFG5zTqefADu/ay8e+SQNIFDlxtR9E+LAtNe9vvOKmpfb8/POpjcxh8uBuJwOCoUAYUH3JbpqfA9aA6LQcOKWhxhiJEmq6AtfiXatX+G1VWU1v81amvmjqFJIWMRAbCSQBuyy+jjgAZySOvJYvDDCvEcrtDQ9eCclxfWNzNHP2VGQaqeXxKhpE1bT2W0VG1ZHoWIMlWqlUSQMcA4z6uwwBgHq2Mw+bAucYC9zdgdg29xX23WJHKBiA3OGg71xPff+lbVx8TLXqC23U6duVLUVcW2mhjqQIEr5EAzEedwfjg8BgRg9ePw0GO6PnifOHNFakdotaTueBHuFpSTxytJjIPdsCeXilrWGrrV4kT/gdp0XU2+eGmRJKued4U80Efk4HGFJJ3Hvg9eywM+L6NqaefrGHWtyBRNg8uQSGI6jGZmsjpw8hfL+1DsXhXQWuggqbtUzWit+bVHlSo3oICwDFc/qYgcHHBx9Onn/8A6VmJ6xuEbmptixWvAHkL3QIui25A6Q5TfPSk/wChqfS38U0tZoY101JQVLJVNOxdaidCShIkwTjJwRgcdedwHSXSLnfT9M0XSAFtAWPTSvE6J4QwMbnwuwNHU/79FUPxQ3U+Gmvqmg03M1sWZWqXo6ksYVYkhl3A4VgfZxjt269ngYDM0iYWAaBFX+/ynMRiMgY6MkEjXke8cFUdqv8Aqq0zpqmn1TT3eKJizRSvuVlwAVZF7e3uf3PT8keGf/45iLSUqJp2Hrw665n7hdk13jBQ6j8JdKXOnqZqGYkx1kcX/lhlKb4efc5DRtjB5XIyCMKLCvYJIhV1oSao60f2oxsoe4S8D8IVFeJHitS1doo6RKx46OtqGnCoxZyD7uMZ5I/m56xcB0XO7EPml7T2gC+dctuCQnxLXRiNhoHVImvLlYrnHRVagQVVTKzzww07tUU20hEIBwu1hyNv05563+j4MTCC3NYG2tDnr3pXEGOSnA0T3JBW5rRXammo6qR5kl3RzQ5DqMfXuP79egMRkic2Rulag7JJrHDXakwUWpPwu7RSK8q+dKJah1yZXXOeTn1bj3+o6zZML10RFDQUOQ/VIgeWOsFTbBruig1Tc5I7cKSnnhZKijwZE2g+oAgZBIJAPYbuokwk7MM1vWWee138vyRLZn60t0PBOb6guVPq6S+WCxxpaXjLfLIhjhVPJCq0hGAWGBx7/XrzYw0LsKMLipTnvfc3d6dyPnd1plhb2fbbimWz+It41BRwySw0Md1mgmjZ6d9nZcICSMleMgDPbrLm6MgwryGudkBG/edf7WnDiZZ27C6Ptslyov8AX2O3RT6gahrHhfzUlpqVFljbbjluBkk5+/Wm3DRYiQswmZt6USaOvLf9JUTPawddR47a/Puq/v2qCa+WRd9RLUOrO+/JdFHCnjgfYfTr0mGwnYDToBfkT83We+TPbhuVvm1zUVilHpaKnVtscE0iZG9+Cw9uPsOht6PYzUOJ5juHBX+oJ0yj090s1VddW8qJsSrFkrx3H/Trda6OrBSeVuzrXlPXXSKZlp4RGx9exFxn789ELowLcVGRh2JUx/NqrrSxQ3CK4SyU6zMKZWTYx/XGSwALp7+3PVHPDWk1Q+ey4xaaJykvtBp+41pt89Zbaia1zUk84qFkFTC3DRkbdqsRjOPpkdZL+tfVCxYrmPHuTbHNZeXTQ2p82jqt7JQTU+ng1vlp3qIauGtRhMInVHyvBG3d3HOft0szFuhBL37nYjmmTFnADGab770oceyWqggqaqnio0Xy2icjIT+UjjJbrXsNbmYDZ1SpyvcA86DTyQGp1PBoq52640TvU1MFUs6SxjiN42DLw3B7Dj36daXP3CVZGHOpp2XS90FN+HSXOilkp6fUdAtdGyqyqhYdlRs4I9+/p28nrwuLZ1UxY3UA6eHzRfUuj5hiIM/Eij4gb+e6B/DNpSWu8Rqqhq6eaanWGRkljwkbOsZaNioOe4AyO24HkdMTZZwxpO6zwZMI2R7eGlpQ8QKm43rxNea3LRVSLWtPiV/Jgp2ib81DsBOVOCV/Uff3zoN6uKNzJNDtprvtyH6SAL5nNdEb468xvaz0u2iNV36BL2lHJNQb6rc6MQQOQdzgZXGWwT9OOegyNxUTLiunafKR4nYWR3+WrHv/AEugfiLt1JB4V6Fvlqij/CJKeaKogqIz8vKrHeRKigkDH6WwecduSKwQNfhXWDnHI0bvh7eSx8bI4zuuq9qVBeEty0fcqytttBarXDb5aVqupuF4INbO3oKwFpX27VbO3y13MDyTjrC6bZj2wslkcc7TVNuq2ugPudFXBiLMQBpXGr8NfxuiPyGmtB3xponoqOskna40/nSmCOmIwvlLw3mrIMgJ7EKeM56Sb9Z0pBTiSAMrtLJ433EHirBuHwsmY778q7u++SfLBqG7eJN0q7nSUN2u7b0TEEXzRkLRhgT5YJ3Y4wduMY6yn4OaJn07DZO++lGq10TrJGydoaD+u5aLb4a6n8Q5rizaOvVzoaSo2GW6mK3RSy7sNHG8sihlAxkrkZwD1vMweJwzWfTFsZLaOt+Z7+XJKuMUjj1gLgNtKVx+HPw/XfRbUUkT2SwxsweotryPVspY4y020x78YAAJU54PGemsLg5zMZcU8PdVA1qPCxX5Q3ZGsywtoXZ70L+JVtP0lRc79dKV6uko/LiqfMpjIYgXA3kdycsD+w7HqQZZZurhNEnnS9Nheriw4fiACK8VyDfvD6qtV/Nw07R21bVUR7pKZgytUZwWwucYx9go3dbkOMbJH1eJLsw2PJIz4NzZOsw4GUj1/pdJab+Hqn8XPAixPZblBoq6W+qlgrzDTmrDetZImRQ6ckEjGfqM8DqI5o6cX9vWj4LNxkL87WVlsA93f871otvwFIwn/EdfT3KrWLyz8pZ0EpYEnDh6hghwcdj9uqmZpNMbQvYLO+jF252/ctVx+AmWa7tdovEOtoAHiZIZrArjK+5AqFGOPp9+iMnjbF1TmWNeOuvkpdhA51hwvwSJqD4AtSR1rfhmtbHIzs+2WotNXTO7fqKHbvXkH2JH+nTbMdG0U5pI8lzcC7/6BC21nwC61vl0FXU600jRKEXPlirdV2r2UeUM8ck8d+qQ4uKFnVgE+nFDGDkAokIovwRVNMKWoPiVpW3VMMbxytT0VTsmB4IcjjH2PPv0mcTYc12oJsWdq5IrcBKNvt/ag3f4KLzWUFJT2nxTtAtECqPlanz8NKwAYgx5UA44zk4+vRo8VE1zpJIwXHjQuvNEOCkDcgOnfzS/qn4W/Eezimt9UdN3eniiHl1VsvBYohTGTD5ayk5J5APv1DDA15kYSCdToOfO6QThZntDeSp6+NW6UplstzlgiCIit86tVBgZ/UBNAhx9M9ONwzZZDM0G9dq/BS7oXs7Lj9/0hiaLkulwR7deLTWxEqzxQy1k2cHnLRUxA/setBr8rKeCDzofkq7ISQdr+dy8GhNQmpEEYqJ0jY+TFT0NTJtbdkcGMHv79d1kJG2p31H7Vjhzy181b8/w4utPGk+utPGpALKflqhiy+y+kntz2HWSMU1pOVpryTbujXu3cPRRV+Fy4zVMFZ/FthPkSAkCCuG44/SSIiAB0Q41oY5mU6+ChvR8jdA4e6kT/DhqNrYsFBfdKvVEg76Y1yNIe20D5XqseKiDiXgkev5Q3dHSmhp6rOD4W9ZCGF/xSx00yxnBqWrkQnOCcmlxnn36h2KgcTd14f2qN6OnG1eqmUHww3rS4qmnl07PNLH+VIupkjELFvzPS6LuBwOOCegzYpswGvsiNwUzbsWeGuykVPgvdRE0EbWA1CxghzqCj8qQnOMeskYIOcnqI8U9go6ev6V/oTR7JJRJ/h/1PUWmWCGC1VbsqCGE1tK0KAEZBIb1HPOSftnoDp7k6wus+f6RzhHBha1uvfSP6M8H/Eqg0tcaC76dSK3rT+bSrR3SKrAlVm3GNB64wUwAmSOCBjI6jFmGdgLX24bWKNcidinejnyYSQteKaRrrx4ELX4aamqLBcoJEZaOpiYSRlW25AzncBgngYI6xXgtNjdesLGzMMbhoVZepvh4bXusdQ6z0w1LLYtTU1KtdRPKIzbLijYaZfSdyFCWGfZipIHbbkxJxGHjcwatOt8l4xrHYKdzXHf3XP3ih4aSaW1etJcoZKWrpUf8+SNZN8Z5BwQQ6sMENyCDx9B0Ez42lg2PD9FaE0ccxEjTpz/YV7+Bms7F4t6Lm8NdRV4okhhP4fdLYjUklNu2KP1Mcglf0nIIHforC/DEHYG96JB/XNZ2JYJgXt3020Hl3pW1N8Hdtsuqre91mt0NDa7bFRVFFDaJ83BgWAqjM85DStnJYcfYdJYnFYmOJ8TXkPJsO0rwriEOHAxzubICMvEa358iplJ4Yab0vHb4rror+NI6LL01cFqGqYMjODT1EqQSxgnAHmdgOD7BikYC4tcWl1XYFHvsA1z2TTsAS0AtDq79fQ191aFJq60U+nZKaroBarWAcUNRYZLfFCuP0NFDEyOAOchmxj+bqcjnO7Js9xB/SLlbGNqHgsrbd7hVW+d9E6pr5rXRoogjsAhkW3pncIlhEWVU4I2HgZGQBwGM72O/yDXvHzZALInih7FNvhnrrXVRdKun1UkddA8gkt7T0UVJU0jYbh/LjCOpyhV8Kw9ec8dHM7CBl0Pt5XqEu/C5LINj3/tc8X40utNU6is73J55bhSvDVFmaVUZgBvG8kHBwP7DGO3WM1z21JWxtexcyLqzFzFLnC/+Dd60ZJJSW3UtbEsDEGAqWQMMYxhuASOMj6YHXpY+kop+1LECTxXn5cDJBo159/2ulfgg1Fcqam1RYb7ew1DFRLM8iDJRkfAYEZO8bu/JzjPSWKyulHVNyhyAQ7qszzZadPnlqugJrFaZEo2Or5ayKmTanzNUkdRKhGDGZSqnBz/VkZ7jpYscLr8qBNpq0C1NpbIIKaMW+sqrfBHk+VR1nn7e5wCQ3p5JAHv9sDodm0TMDuLQPUlyvlKz0ltuNwWWHJWomaJCD/UdzcjkjlVz/vYHXVXa1hF5Vptes6unZGr7zcRJEjf8NWCLyQOOTKgC474Gd2Tg9SSeCkxsOgbuiX8WXEzUSU1qhqy5GxqeUlsAZJU7xtyO/qIxx9CbC90MsYLt3z0WFy1PcYrcfmlipWTDRIk0sWFHsSrK5/m4HGPfuepA1BVQ1pJr7IHdLzA9ykqEub0FYsS73t7vV7VweN2wuCMgndknPuMDq+U3YGi5pGUB2qXqq5UqU1TLc9Sm7w7QHpbvb53gjxySUWNCO3IPAyTheOrhjr/irF7dku6gWwVCs1DR0attB3tp+vnCrtONq4YYAweFU5xyfczY3jcfZCMrOakWm+3G6UNdT0FXWSVYcRKyadEcMa4C+YH8uNiG4Yl3JwPbBBsWgb/dUzXqFoorQtMF829XGncsoMchljPGOPTEPtnJ/v3ymCTsAnnZRpaP0lpgqPzvxGvrDt2kyNUuhUnsCxUH+30PVXEg6ivRVG3ZP3U6nht9PG80dLVeUp2yZ81VX9vzNpY8Hk9h1QWTpqpJrc1871Am1lpilqFje2NPh9olVRIoP/qUhiBznsf36nI48vVcSauz6I5bL89SsCW0edASSFiY+g444iQkE8HOAcAdCINm/v8A2rUK1v0RWfUNxyI5K+fDkskYoauXaMYyc4XjI446jK47fhDtg33UmlqL5VVkeKaoq6YqSqS21oV3ADsTKzcHP8o642BenqFQZPlrTdtYXCzITWV+mbf5OW8ypqZYAFwThsx7VHbkuD+/bojIi8Wftf2VHFgNAH1/a4z8eZaPTGpq/U1n1Jp2uobg5ertFru0c8tJUnjzYEL72RyMvHghSdwwDxrRYbrmBj204caoEd/I96q7EmJ2aNxIPPge5DfDr4srno9Ujprx8rFyj0s5ZfMGOBgqVYZJ4IPf6dVf0bIwkt18D/f9Iv1bJQBK3b1V82m/2/4l/D4x0dsqv4ks0MjR17QSx084Z12U7bgF7tKRIvCbR/VjpaWHqBmPZN6bbeq6Kan5btp33357eC52tOpqa0a4rKCWCa33K3saCrp5vTKm187MYxjIA+mCMfXpwsljjbI06HXRDD4nyFjh3LqDR/xhLpvRcdPdKGr1NMi7kpYaYsYSODtO8kngn0jJC46z3NkJDI8tHgef48bVjBG63kkHmOIVv6I1PZPHPSlTLY6n8O1FSDmnpKqdMqDlSoLLn64OCDkEDuZZhdKcNefA8/Mcku+V0TtDbTzr5rzQ612eguYMTR1NTBEm6aCGWeaZHO7aSiznIJycYwMnnjHXfTsvMT+lf6iRg7P4/SJ1GhdNy06tPa6qpk2hJGqKWoZto4bCM5PbsSxU7uAeggNY7TTz/Sl0krxrR8gtlJYtP6Sp55bPaxaalI5koVkqp/JLtGQpkSNiccgt6eATxkdWMhvKXXz5+pH5Qg0u1r0ql+ell1xqPSOs5LRd6aWkudsrPl6lWmUhZkbaSOACOXIJ7jnjgdaM2Fi6sPjOh7vunIsY8yZZNSrQ8UKei1GxvNJJHVUNSWMM6ksUYMA0eAB+kgc5OcnIGMdY8IdC7La1psszASEI+FzUdz0L4svVVMsC6cNO9LWSVNaIUEMhwQGGCSADgICxbacjHGtiHxGHP/2Gwo6rDZFK5xjH8fLyXUVY9/r9N3C6aO1TXa1paKRpHoZUzU+SvO5A4YTMmSDjB4XgdUgm6yQx1ld5fKS8sQjAc8aHvKrC1fEdR6yu4pZ77W0twowA9sqKZqQr2GTH5Cf0rwDjkkDjPTzoZWtogHy/tBBiuxp5p8tmuqqWZDV3r8ThYb1X5WlqZI1IYnJOGAbA53enHfkZCY2HR4GiuHOGrL90PHiJT2mM08NNaKRYi3kD5MF4mJABDOCy8DPpA3E4ye/VhEy7IUFz60KwrdX6kuyCOS9u0jOB5a06SJId6jABUgYzyOc8DHHNhDEN1XO8baJcu2sbnQxVVFFUQUDtkN+AUMVNPyf1H5c7kI7gkfb3PRBG0jOBfjqqhxvKUiXddbVF2pbjBfdQyVEZw1JWTLUxyL3HmGNopwnvjcf0jjCgdHDmN7O3h8pULHHUe6s/w71hJp2gqKO/Nf7Yks0aJNVy1F3p1Dn/AMxZJD5kaE8YZCqheWPBCkjM/aYQfQFFacujhXqpOs7hVwyLW0moqWpoZH8z8hjSylcDLLIqIsq42gctnvggE9KN3o6JyrGgQK361vN+kWne8NXyxkTFkeKdlBBILtsIxz2wPv34uQ0cFwBPFRNP3Sku9I6morqiadc+Xb6S5JKhKg5OAD7/AGHJx0s9pbwHnlTTTe9+6k/hMsj+bHRXCvpQm1oLjbauVigAzgvKCpPp/VnPAxkdULztt4UrCMaE6+ZRIXh91OJdIW2SkSMHe8VOPKwcbWiMxYe2GOQM+x4Ixr/3+eikt5NWxrqbXVS1Us01thaIKPLqKSFEHOOAquQOf5x346m8woanwKgx1qRp4qv9b+N9RSVwq7fVU08iKUMlVUuqzlSfTt8xl2kYIyp7fv08yBrx2x7f0kJJMn8T7pbp/iE1rcIxs1jNS+oloLXFTsVQnC5Kx5CKP5lHOCDnuS/SQNNZL8Sf2hid7tc2vktyeKN9uEUSLV6h1NBIxhmEUrZBHG0BAByQxyce/boZhiHIfO9HbI/TKMw+clvteoK6zor1PhJFW7SWD16xVeEYZzl+xPA+2e3VHBrtpq9kUF9dqIpgpfHmktskFDavCO3UlaEOYkoKRUiOSW4jgwTxk4Ofse/VTFIQc0tjzQv8dgNjNqZD8RHiPVVNO1Boq009MkwjYpSjdET337k9OPfC+/6u3Qxh4mHV6v23bM90xxeKfjJqlUeSu0vbkZwN09bUkgYwTtWLjH0znoRZh2aAnyARBFJvk90jeKngfqrxfNFW3PVmh6C50e6NHpKWrimSM4yskzDDLnnBB5ORycdMYfGRYYFoa5wPP9IUmGlk3AHzmkiP4a9YCR4E8QNERPAzCOoatqy29SAQVEOAVLAHPbIz0c4rC7ljvRDbBiNAOHerU8BPBbWHhdqKG7V2orDfaKOjEAFBLUyFsOrRs7yKowrAMCc84OcDBXxHSELzmjJu/nzgrswsjRkkGnv5fNValRpKmp2CY8vy2WMNhfRkeo70bdjjAJzj7dZnXWd06G0NB8+yXdR63tWlaPyLle/+JPpio460zM5C+n9RON2MjcR3OM8dXiuQggGu5c9oZYNearu9+PWp7fRTpYVhtQQrLLUvURzPEpGBwYgMMMHsGHHTjMOzN2j7f2gSE5brbv8AwqA1FbrbrzxAu95vmrI7RPXAVtdc6SnkrDI54JKRsqF+FzwO/ODkdbLJXRRBmTN3aBIuDHuPaDdO8ohX3rTuh9M1lmtWv7vq0xnzaVYrTFDTws3JLebMHUNuYHaCf356DkOJcHviDPP9D8ohl6hpbHJf490hXPVXzSzt8pNJPJH+XG9OzKeR6iccLnLZB+nTEeHykCxXigOmLySQr6+DzW97tfixpWGijukNI9STXyinqFpJqcxuHjOEK5YFdh42sAdwA6Tnj6p/W2NO8X84IzZOtiMTgV0FrPwlu+rLlHWtoWasrEeXyKtr81NPTg4YKrxOxC8DILAZHbkjrPZiXMvqzV91hGLI3AB5270qUvhHrrTxkFMs1tood0i09wuiV0Oc5JXc0cokwe7S7RnjGBlv65h0ePTT9hC+nB1YfysKyr1hTQrXfwz81DEymT8KSNpG9Yw3lTbFydpP6we+Mk9XbiIXg271099VUwSMIAHola3a1t90EUyR1UNRUBmBqUgpKmNuVZGgL4jcEHgnd39u9nnLYHtZHqFZjCav30+6PWbRGpNWTySwXelttryDIt0qY0kUHADKGZeNpBLBTgkAcnPQuvbXNWdEWkc/C07XfSlLYrdUVz6ttNxrQVHkUTTVE0jHIC/rwF+p2jIzj2HQw8EUB9lNOJshJlxr6GntNNVXCCZajJSOOV2p0QHkHaX3AY9+Pb3PVqJNBWuhaDpLZbHbZqma4UtnhaXczAzOZOOCF3cMArnnnnnHbolyE81QhjRySRWeO1s07DJ8vC1xMwcQPtVQ8ZBxIAhIyTjvj/PRxC929JZ07G/xtKNP46rG0gttphpJQmHlTYZH45LZj2sSTwcDA9uo+kOmYrvrxwbSg1vidqq60Dwrca2EeVGo+YqvVGO6kbQcjg8ZHYcdEGGj3QTjJHDQpamrfxCuElxv86LKW2NEjB1kAJyccdhjgfT9+jCNrRoEsZnPPacUWn1UtK+YqqSoqYnjaVZYRuwwUhQxJA425I/x1TqmndE+oI1BU5tVwVFbXyvb6YMsQhK1OZG8z6qcYHftwOffqnVigLRPqLJdSKRa807FWxyO8NNKCHkWjimhzJ/KWEe0N2+vHVDE6q3RRiWXZ08L/CnSeKttutQk1LbKqVCpYyTzsFDHJBKh/UOOMg9+cY6EYMuhKN9a1x0BX02u2ld5IlWlq1hM6RSQq6sSOGDAewGMEA5PuOeq5APBWOKDuNHwU2g1LWVFropHnqqiOpzJiGXCHjBRo8oD+knliP8AYVIFkKwnGUZjv820XprTSVldDUXi6UtPCdsFPRtuduDjZKWUoCc+gjA+vPUZxppqrEiyMxr5xUemrrhcqmkS2QXO8VlURgVdb5ccQ9QyUaVlIPuBntng9c5zGjtUAO7+lVryayEknmVtpr/HcvnYRQ2+3KxShmjpkO4yqT7srKeBt5XHJyCcEQbFVrxRGyMcTZA4fNFFt+lLfWlZkeGR5Sk6sIvIjH6jwkYUbfUQcgsSO4HfnTuG6oyOJ2oPzyW6Gu1JRSFaS8y1tOYSKiOKsmpsjBAA4IxkDIPfBwRhT1QiJwtza8kQySNOj79R6aIxX6m1v8uYKu/VMvnEKlM1SxJ4GQzrtBH6e4PQgyDcN240idZKBRd5a/pLwqBRT1EslDI9Mkkh+aqIIZHiZeDzvLyAZGCx4zwMADpiw6hf3S/XMaTeviPlpcuVr/8AGYFpxG43rHO1TkMAZCVkXZjaCXUEAlv84Ya/skuKVe5mcZD3a+K10+m6+uqqqYt+IxI7JURpIyk5T9ILsDnIByW7jqTM0ADZVa3MSbv1T54f6p0jYqgretKJVyksq1kkjTTRvuALqjsyAjnhcD344ISnZM/Vj/Lb55rQgmw7dHNo89/9eS6N0ZqSwX/TStTw/JwQSqYoqqN2JJ9ODtY98DjOB/tiyBzHUdVph4fTmndOCz3GnqflbFUU9JTINyColnVGY/zBEzg5IGCQPfnt0G9VUvjLbebUuRdTB/Me8U7KgGxBPUEZHcAtuI/uG7d+jZXnn7IIkw+1ey8v1w1NEtNVVFFBJA8gignhq0dgxOFbDRIQxPHfCjOM+9nBwALl0TsOSWtP3Qila73H5Oop4jW3BSwqBDOlGIypZWVW2Nu7Ec4BIzxgZGL4EoznxN0NehKj32WwLbl/iWikFPLk/wDHSJVLJ/MMgQnJyFJJAzuPJPPRGZw7s7oZkYRQII5UVR+o6b4d6GepFXda+01IQ5kszVkMyPtO5kXyfKB5+mD9M89a0b8WQNMw76/2s+QwC6NHutURqLxqXQ1zSk0ZWSX6zEb0rtQUKpVOdxzvCOcqRgqVKcH1JuGTtQ4UTjO/snkNvnP2KU+oIFMN+IU+s8dK+9U1P+HUFJQVtVsy1ND5OCcli20jdj1MDnOSM9uQ/T5Cc5ulR2JN0NCqvrHrbzcGqKyomrY3YbJ3kACHgscd8HjtyMdOhzWNpuhSZdm3Kj3ASyVUsrSyNJksTxuJxgc/T7dSwigFFhf/2Q==</data>\n            <mime>image/jpeg</mime>\n            <width>1280</width>\n            <height>720</height>\n            <resource-attributes>\n                <file-name>snapshot-DAE9FC15-88E3-46CF-B744-DA9B1B56EB57.jpg</file-name>\n            </resource-attributes>\n        </resource>\n    </note>\n</en-export>\n"
  },
  {
    "path": "plugins/tiddlywiki/evernote/samples/sample-enex.xml.enex",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE en-export SYSTEM \"http://xml.evernote.com/pub/evernote-export3.dtd\">\n<en-export export-date=\"20130730T205637Z\" application=\"Evernote\" version=\"Evernote Mac\">\n    <note>\n        <title>Test Note for Export</title>\n        <content>\n            <![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n            <!DOCTYPE en-note SYSTEM \"http://xml.evernote.com/pub/enml2.dtd\">\n            <en-note style=\"word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;\">\n                Hello, World.\n                <div>\n                    <br/>\n                </div>\n                <div>\n                    <en-media alt=\"\" type=\"image/jpeg\" hash=\"dd7b6d285d09ec054e8cd6a3814ce093\"/>\n                </div>\n                <div>\n                    <br/>\n                </div>\n            </en-note>\n            ]]>\n        </content>\n        <created>20130730T205204Z</created>\n        <updated>20130730T205624Z</updated>\n        <tag>fake-tag</tag>\n        <note-attributes>\n            <latitude>33.88394692352314</latitude>\n            <longitude>-117.9191355110099</longitude>\n            <altitude>96</altitude>\n            <author>Brett Kelly</author>\n        </note-attributes>\n        <resource>\n            <data encoding=\"base64\">/9j/4AAQSkZJRgABAQAAAQABAAD/4gxYSUNDX1BST0ZJTEUAAQEAAAxITGlubwIQAABtbnRyUkdCIFhZ\n            WiAHzgACAAkABgAxAABhY3NwTVNGVAAAAABJRUMgc1JHQgAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLUhQ\n            <!-- ... -->\n            kfeIGT/+uufk8DpM0gyVjGfmzkgetesnUoTHJ+5Cxn86zmv4/wB75EW+QHAPUH/P9Ky+s1rtrr/wfvOm\n            dBSamnq/xPKp/hpLKmS7x4OBjgn6elee6v4OuLJirRSHb/FtyG9s9u1fR0+oTiIRvGq7W4bpisfUGk1C\n            GVWtkIyM57n1rfDY+uqigtU76ffZkUsA6iajHZ6v/P8A4B//2Q==</data>\n            <mime>image/jpeg</mime>\n            <width>1280</width>\n            <height>720</height>\n            <resource-attributes>\n                <file-name>snapshot-DAE9FC15-88E3-46CF-B744-DA9B1B56EB57.jpg</file-name>\n            </resource-attributes>\n        </resource>\n    </note>\n</en-export>\n\n"
  },
  {
    "path": "plugins/tiddlywiki/evernote/samples/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": []\n}"
  },
  {
    "path": "plugins/tiddlywiki/external-attachments/config.multids",
    "content": "title: $:/config/ExternalAttachments/\n\nEnable: yes\nUseAbsoluteForDescendents: no\nUseAbsoluteForNonDescendents: no\n\n"
  },
  {
    "path": "plugins/tiddlywiki/external-attachments/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/external-attachments\",\n\t\"name\": \"External Attachments\",\n\t\"description\": \"External attachments for TiddlyDesktop\",\n\t\"list\": \"readme settings\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/external-attachments/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/external-attachments/readme\n\n! Introduction\n\nThis plugin provides support for importing tiddlers as external attachments. That means that instead of importing binary files as self-contained tiddlers, they are imported as \"skinny\" tiddlers that reference the original file via the ''_canonical_uri'' field. This reduces the size of the wiki and thus improves performance. However, it does mean that the wiki is no longer fully self-contained.\n\n! Compatibility\n\nThis plugin only works when using TiddlyWiki with platforms such as TiddlyDesktop that support the ''path'' attribute for imported/dragged files.\n\n"
  },
  {
    "path": "plugins/tiddlywiki/external-attachments/settings.tid",
    "content": "title: $:/plugins/tiddlywiki/external-attachments/settings\ncaption: External Attachments\ntags: $:/tags/ControlPanel/SettingsTab\n\nWhen used on platforms that provide the necessary support (such as ~TiddlyDesktop), you can optionally import binary files as external tiddlers that reference the original file via the ''_canonical_uri'' field.\n\nBy default, a relative path is used to reference the file. Optionally, you can specify that an absolute path is used instead. You can do this separately for \"descendent\" attachments -- files that are contained within the directory containing the wiki -- vs. \"non-descendent\" attachments.\n\n<$checkbox tiddler=\"$:/config/ExternalAttachments/Enable\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> <$link to=\"$:/config/ExternalAttachments/Enable\">Enable importing binary files as external attachments</$link> </$checkbox>\n\n<$checkbox tiddler=\"$:/config/ExternalAttachments/UseAbsoluteForDescendents\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> <$link to=\"$:/config/ExternalAttachments/UseAbsoluteForDescendents\">Use absolute paths for descendent attachments</$link> </$checkbox>\n\n<$checkbox tiddler=\"$:/config/ExternalAttachments/UseAbsoluteForNonDescendents\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> <$link to=\"$:/config/ExternalAttachments/UseAbsoluteForNonDescendents\">Use absolute paths for non-descendent attachments</$link> </$checkbox>\n"
  },
  {
    "path": "plugins/tiddlywiki/external-attachments/startup.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/external-attachments/startup.js\ntype: application/javascript\nmodule-type: startup\n\nStartup initialisation\n\n\\*/\n\n\"use strict\";\n\nvar ENABLE_EXTERNAL_ATTACHMENTS_TITLE = \"$:/config/ExternalAttachments/Enable\",\n\tUSE_ABSOLUTE_FOR_DESCENDENTS_TITLE = \"$:/config/ExternalAttachments/UseAbsoluteForDescendents\",\n\tUSE_ABSOLUTE_FOR_NON_DESCENDENTS_TITLE = \"$:/config/ExternalAttachments/UseAbsoluteForNonDescendents\";\n\n// Export name and synchronous status\nexports.name = \"external-attachments\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\ttest_makePathRelative();\n\t$tw.hooks.addHook(\"th-importing-file\",function(info) {\n\t\tif(document.location.protocol === \"file:\" && info.isBinary && info.file.path && $tw.wiki.getTiddlerText(ENABLE_EXTERNAL_ATTACHMENTS_TITLE,\"\") === \"yes\") {\n\t\t\tconsole.log(\"Wiki location\",document.location.pathname);\n\t\t\tconsole.log(\"File location\",info.file.path);\n\t\t\tinfo.callback([\n\t\t\t\t{\n\t\t\t\t\ttitle: info.file.name,\n\t\t\t\t\ttype: info.type,\n\t\t\t\t\t\"_canonical_uri\": makePathRelative(\n\t\t\t\t\t\tinfo.file.path,\n\t\t\t\t\t\tdocument.location.pathname,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tuseAbsoluteForNonDescendents: $tw.wiki.getTiddlerText(USE_ABSOLUTE_FOR_NON_DESCENDENTS_TITLE,\"\") === \"yes\",\n\t\t\t\t\t\t\tuseAbsoluteForDescendents: $tw.wiki.getTiddlerText(USE_ABSOLUTE_FOR_DESCENDENTS_TITLE,\"\") === \"yes\"\n\t\t\t\t\t\t}\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t]);\n\t\t\treturn true;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t});\n};\n\n/*\nGiven a source absolute filepath and a root absolute path, returns the source filepath expressed as a relative filepath from the root path.\n\nsourcepath comes from the \"path\" property of the file object, with the following patterns:\n\t/path/to/file.png for Unix systems\n\tC:\\path\\to\\file.png for local files on Windows\n\t\\\\sharename\\path\\to\\file.png for network shares on Windows\nrootpath comes from document.location.pathname with urlencode applied with the following patterns:\n\t/path/to/file.html for Unix systems\n\t/C:/path/to/file.html for local files on Windows\n\t/sharename/path/to/file.html for network shares on Windows\n*/\nfunction makePathRelative(sourcepath,rootpath,options) {\n\toptions = options || {};\n\t// First we convert the source path from OS-dependent format to generic file:// format\n\tif(options.isWindows || $tw.platform.isWindows) {\n\t\tsourcepath = sourcepath.replace(/\\\\/g,\"/\");\n\t\t// If it's a local file like C:/path/to/file.ext then add a leading slash\n\t\tif(sourcepath.charAt(0) !== \"/\") {\n\t\t\tsourcepath = \"/\" + sourcepath;\n\t\t}\n\t\t// If it's a network share then remove one of the leading slashes\n\t\tif(sourcepath.substring(0,2) === \"//\") {\n\t\t\tsourcepath = sourcepath.substring(1);\n\t\t}\n\t}\n\t// Split the path into parts\n\tvar sourceParts = sourcepath.split(\"/\"),\n\t\trootParts = rootpath.split(\"/\"),\n\t\toutputParts = [];\n\t// urlencode the parts of the sourcepath\n\t$tw.utils.each(sourceParts,function(part,index) {\n\t\tsourceParts[index] = encodeURI(part);\n\t});\n\t// Identify any common portion from the start\n\tvar c = 0,\n\t\tp;\n\twhile(c < sourceParts.length && c < rootParts.length && sourceParts[c] === rootParts[c]) {\n\t\tc += 1;\n\t}\n\t// Use an absolute path if there's no common portion, or if specifically requested\n\tif(c === 1 || (options.useAbsoluteForNonDescendents && c < rootParts.length) || (options.useAbsoluteForDescendents && c === rootParts.length)) {\n\t\treturn sourcepath;\n\t}\n\t// Move up a directory for each directory left in the root\n\tfor(p = c; p < rootParts.length - 1; p++) {\n\t\toutputParts.push(\"..\");\n\t}\t\t\n\t// Add on the remaining parts of the source path\n\tfor(p = c; p < sourceParts.length; p++) {\n\t\toutputParts.push(sourceParts[p]);\n\t}\n\treturn outputParts.join(\"/\");\n}\n\nfunction test_makePathRelative() {\n\tvar test = function(sourcepath,rootpath,result,options) {\n\t\tvar actualResult = makePathRelative(sourcepath,rootpath,options);\n\t\tif(actualResult !== result) {\n\t\t\tconsole.log(\"makePathRelative test failed: makePathRelative(\" + sourcepath + \",\" + rootpath + \",\" + JSON.stringify(options) + \") is \" + actualResult + \" and not equal to \" + result);\t\t\t\n\t\t}\n\t};\n\ttest(\"/Users/me/something/file.png\",\"/Users/you/something/index.html\",\"../../me/something/file.png\");\n\ttest(\"/Users/me/something/file.png\",\"/Users/you/something/index.html\",\"/Users/me/something/file.png\",{useAbsoluteForNonDescendents: true});\n\ttest(\"/Users/me/something/else/file.png\",\"/Users/me/something/index.html\",\"else/file.png\");\n\ttest(\"/Users/me/something/file.png\",\"/Users/me/something/new/index.html\",\"../file.png\");\n\ttest(\"/Users/me/something/file.png\",\"/Users/me/something/new/index.html\",\"/Users/me/something/file.png\",{useAbsoluteForNonDescendents: true});\n\ttest(\"/Users/me/something/file.png\",\"/Users/me/something/index.html\",\"file.png\");\n\ttest(\"/Users/jeremyruston/Downloads/Screenshot 2020-10-18 at 15.33.40.png\",\"/Users/jeremyruston/git/Jermolene/TiddlyWiki5/editions/prerelease/output/index.html\",\"../../../../../../Downloads/Screenshot%202020-10-18%20at%2015.33.40.png\");\n\ttest(\"/Users/me/nothing/image.png\",\"/Users/me/something/a/b/c/d/e/index.html\",\"../../../../../../nothing/image.png\");\n\ttest(\"C:\\\\Users\\\\me\\\\something\\\\file.png\",\"/C:/Users/me/something/index.html\",\"file.png\",{isWindows: true});\n\ttest(\"\\\\\\\\SHARE\\\\Users\\\\me\\\\something\\\\file.png\",\"/SHARE/Users/me/somethingelse/index.html\",\"../something/file.png\",{isWindows: true});\n\ttest(\"\\\\\\\\SHARE\\\\Users\\\\me\\\\something\\\\file.png\",\"/C:/Users/me/something/index.html\",\"/SHARE/Users/me/something/file.png\",{isWindows: true});\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/filesystem/filesystemadaptor.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/filesystem/filesystemadaptor.js\ntype: application/javascript\nmodule-type: syncadaptor\n\nA sync adaptor module for synchronising with the local filesystem via node.js APIs\n\n\\*/\n\n\"use strict\";\n\n// Get a reference to the file system\nvar fs = $tw.node ? require(\"fs\") : null;\n\nfunction FileSystemAdaptor(options) {\n\tthis.wiki = options.wiki;\n\tthis.boot = options.boot || $tw.boot;\n\tthis.logger = new $tw.utils.Logger(\"filesystem\",{colour: \"blue\"});\n\t// Create the <wiki>/tiddlers folder if it doesn't exist\n\tif(this.boot.wikiTiddlersPath) {\n\t\t$tw.utils.createDirectory(this.boot.wikiTiddlersPath);\n\t}\n}\n\nFileSystemAdaptor.prototype.name = \"filesystem\";\n\nFileSystemAdaptor.prototype.supportsLazyLoading = false;\n\nFileSystemAdaptor.prototype.isReady = function() {\n\t// The file system adaptor is always ready\n\treturn true;\n};\n\nFileSystemAdaptor.prototype.getTiddlerInfo = function(tiddler) {\n\t//Returns the existing fileInfo for the tiddler. To regenerate, call getTiddlerFileInfo().\n\tvar title = tiddler.fields.title;\n\treturn this.boot.files[title];\n};\n\n/*\nReturn a fileInfo object for a tiddler, creating it if necessary:\n  filepath: the absolute path to the file containing the tiddler\n  type: the type of the tiddler file (NOT the type of the tiddler -- see below)\n  hasMetaFile: true if the file also has a companion .meta file\n\nThe boot process populates this.boot.files for each of the tiddler files that it loads.\nThe type is found by looking up the extension in $tw.config.fileExtensionInfo (eg \"application/x-tiddler\" for \".tid\" files).\n\nIt is the responsibility of the filesystem adaptor to update this.boot.files for new files that are created.\n*/\nFileSystemAdaptor.prototype.getTiddlerFileInfo = function(tiddler,callback) {\n\t// Error if we don't have a this.boot.wikiTiddlersPath\n\tif(!this.boot.wikiTiddlersPath) {\n\t\treturn callback(\"filesystemadaptor requires a valid wiki folder\");\n\t}\n\t// Always generate a fileInfo object when this fuction is called\n\tvar title = tiddler.fields.title, newInfo, pathFilters, extFilters,\n\t\tfileInfo = this.boot.files[title];\n\tif(this.wiki.tiddlerExists(\"$:/config/FileSystemPaths\")) {\n\t\tpathFilters = this.wiki.getTiddlerText(\"$:/config/FileSystemPaths\",\"\").split(\"\\n\");\n\t}\n\tif(this.wiki.tiddlerExists(\"$:/config/FileSystemExtensions\")) {\n\t\textFilters = this.wiki.getTiddlerText(\"$:/config/FileSystemExtensions\",\"\").split(\"\\n\");\n\t}\n\tnewInfo = $tw.utils.generateTiddlerFileInfo(tiddler,{\n\t\tdirectory: this.boot.wikiTiddlersPath,\n\t\tpathFilters: pathFilters,\n\t\textFilters: extFilters,\n\t\twiki: this.wiki,\n\t\tfileInfo: fileInfo\n\t});\n\tcallback(null,newInfo);\n};\n\n\n/*\nSave a tiddler and invoke the callback with (err,adaptorInfo,revision)\n*/\nFileSystemAdaptor.prototype.saveTiddler = function(tiddler,callback,options) {\n\tvar self = this;\n\tvar syncerInfo = options.tiddlerInfo || {};\n\tthis.getTiddlerFileInfo(tiddler,function(err,fileInfo) {\n\t\tif(err) {\n\t\t\treturn callback(err);\n\t\t}\n\t\t$tw.utils.saveTiddlerToFile(tiddler,fileInfo,function(err,fileInfo) {\n\t\t\tif(err) {\n\t\t\t\tif((err.code == \"EPERM\" || err.code == \"EACCES\") && err.syscall == \"open\") {\n\t\t\t\t\tfileInfo = fileInfo || self.boot.files[tiddler.fields.title];\n\t\t\t\t\tfileInfo.writeError = true;\n\t\t\t\t\tself.boot.files[tiddler.fields.title] = fileInfo;\n\t\t\t\t\t$tw.syncer.logger.log(\"Sync failed for \\\"\"+tiddler.fields.title+\"\\\" and will be retried with encoded filepath\",encodeURIComponent(fileInfo.filepath));\n\t\t\t\t\treturn callback(err);\n\t\t\t\t} else {\n\t\t\t\t\treturn callback(err);\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Store new boot info only after successful writes\n\t\t\tself.boot.files[tiddler.fields.title] = fileInfo;\n\t\t\t// Cleanup duplicates if the file moved or changed extensions\n\t\t\tvar options = {\n\t\t\t\tadaptorInfo: syncerInfo.adaptorInfo || {},\n\t\t\t\tbootInfo: fileInfo || {},\n\t\t\t\ttitle: tiddler.fields.title\n\t\t\t};\n\t\t\t$tw.utils.cleanupTiddlerFiles(options,function(err,fileInfo) {\n\t\t\t\tif(err) {\n\t\t\t\t\treturn callback(err);\n\t\t\t\t}\n\t\t\t\treturn callback(null,fileInfo);\n\t\t\t});\n\t\t});\n\t});\n};\n\n/*\nLoad a tiddler and invoke the callback with (err,tiddlerFields)\n\nWe don't need to implement loading for the file system adaptor, because all the tiddler files will have been loaded during the boot process.\n*/\nFileSystemAdaptor.prototype.loadTiddler = function(title,callback) {\n\tcallback(null,null);\n};\n\n/*\nDelete a tiddler and invoke the callback with (err)\n*/\nFileSystemAdaptor.prototype.deleteTiddler = function(title,callback,options) {\n\tvar self = this,\n\t\tfileInfo = this.boot.files[title];\n\t// Only delete the tiddler if we have writable information for the file\n\tif(fileInfo) {\n\t\t$tw.utils.deleteTiddlerFile(fileInfo,function(err,fileInfo) {\n\t\t\tif(err) {\n\t\t\t\tif((err.code == \"EPERM\" || err.code == \"EACCES\") && err.syscall == \"unlink\") {\n\t\t\t\t\t// Error deleting the file on disk, should fail gracefully\n\t\t\t\t\t$tw.syncer.displayError(\"Server desynchronized. Error deleting file for deleted tiddler \\\"\" + title + \"\\\"\",err);\n\t\t\t\t\treturn callback(null,fileInfo);\n\t\t\t\t} else {\n\t\t\t\t\treturn callback(err);\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Remove the tiddler from self.boot.files & return null adaptorInfo\n\t\t\tself.removeTiddlerFileInfo(title);\n\t\t\treturn callback(null,null);\n\t\t});\n\t} else {\n\t\tcallback(null,null);\n\t}\n};\n\n/*\nDelete a tiddler in cache, without modifying file system.\n*/\nFileSystemAdaptor.prototype.removeTiddlerFileInfo = function(title) {\n\t// Only delete the tiddler info if we have writable information for the file\n\tif(this.boot.files[title]) {\n\t\tdelete this.boot.files[title];\n\t};\n};\n\nif(fs) {\n\texports.adaptorClass = FileSystemAdaptor;\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/filesystem/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/filesystem\",\n\t\"name\": \"Filesystem\",\n\t\"description\": \"Synchronize changes from the node.js server to the local filesystem\",\n\t\"list\": \"readme\",\n\t\"platform\": \"server\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/filesystem/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/filesystem/readme\n\nThe filesystem plugin is used under Node.js to synchronise tiddler changes back to the file system. It is inert when used in the browser.\n\n[[Source code|https://github.com/TiddlyWiki/TiddlyWiki5/blob/master/plugins/tiddlywiki/filesystem]]\n"
  },
  {
    "path": "plugins/tiddlywiki/freelinks/aho-corasick.js",
    "content": "/*\\\n\ntitle: $:/core/modules/utils/aho-corasick.js\ntype: application/javascript\nmodule-type: utils\n\nOptimized Aho-Corasick string matching algorithm implementation with enhanced performance\nand error handling for TiddlyWiki freelinking functionality.\n\n- Uses WeakMap for failure links (required; plain object keys would collide).\n- search() converts case per character to avoid Unicode index desync.\n- Optional word boundary filtering: CJK always allowed; Latin requires non-word chars around.\n\n\\*/\n\n\"use strict\";\n\nfunction AhoCorasick() {\n\tthis.trie = {};\n\tthis.failure = new WeakMap();\n\tthis.maxFailureDepth = 100;\n\tthis.patternCount = 0;\n}\n\nAhoCorasick.prototype.addPattern = function(pattern, index) {\n\tif(!pattern || typeof pattern !== \"string\" || pattern.length === 0) {\n\t\treturn;\n\t}\n\tvar node = this.trie;\n\tfor(var i = 0; i < pattern.length; i++) {\n\t\tvar ch = pattern[i];\n\t\tif(!node[ch]) {\n\t\t\tnode[ch] = {};\n\t\t}\n\t\tnode = node[ch];\n\t}\n\tif(!node.$) {\n\t\tnode.$ = [];\n\t}\n\tnode.$.push({\n\t\tpattern: pattern,\n\t\tindex: index,\n\t\tlength: pattern.length\n\t});\n\tthis.patternCount++;\n};\n\nAhoCorasick.prototype.buildFailureLinks = function() {\n\tvar queue = [];\n\tvar root = this.trie;\n\tvar self = this;\n\n\tthis.failure = new WeakMap();\n\tthis.failure.set(root, root);\n\n\tfor(var ch in root) {\n\t\tif(ch === \"$\") continue;\n\t\tif(root[ch] && typeof root[ch] === \"object\") {\n\t\t\tthis.failure.set(root[ch], root);\n\t\t\tqueue.push(root[ch]);\n\t\t}\n\t}\n\n\tvar processedNodes = 0;\n\tvar maxNodes = Math.max(100000, this.patternCount * 15);\n\n\twhile(queue.length > 0) {\n\t\tif(processedNodes++ >= maxNodes) {\n\t\t\tthrow new Error(\"Aho-Corasick: buildFailureLinks exceeded maximum nodes (\" + maxNodes + \")\");\n\t\t}\n\t\tvar node = queue.shift();\n\n\t\tfor(var edge in node) {\n\t\t\tif(edge === \"$\") continue;\n\t\t\tvar child = node[edge];\n\t\t\tif(!child || typeof child !== \"object\") continue;\n\n\t\t\tvar fail = self.failure.get(node) || root;\n\t\t\tvar depth = 0;\n\n\t\t\twhile(fail !== root && !fail[edge] && depth < self.maxFailureDepth) {\n\t\t\t\tfail = self.failure.get(fail) || root;\n\t\t\t\tdepth++;\n\t\t\t}\n\n\t\t\tvar nextFail = (fail[edge] && fail[edge] !== child) ? fail[edge] : root;\n\t\t\tself.failure.set(child, nextFail);\n\n\t\t\tif(nextFail.$) {\n\t\t\t\tif(!child.$) child.$ = [];\n\t\t\t\tchild.$ = child.$.concat(nextFail.$);\n\t\t\t}\n\n\t\t\tqueue.push(child);\n\t\t}\n\t}\n};\n\nAhoCorasick.prototype.search = function(text, useWordBoundary, ignoreCase) {\n\tif(!text || typeof text !== \"string\" || text.length === 0) {\n\t\treturn [];\n\t}\n\n\tvar matches = [];\n\tvar node = this.trie;\n\tvar root = this.trie;\n\tvar textLength = text.length;\n\n\tvar maxMatches = Math.min(textLength * 2, 10000);\n\n\tfor(var i = 0; i < textLength; i++) {\n\t\tvar ch = ignoreCase ? text[i].toLowerCase() : text[i];\n\n\t\twhile(node !== root && !node[ch]) {\n\t\t\tnode = this.failure.get(node) || root;\n\t\t}\n\t\tif(node[ch]) {\n\t\t\tnode = node[ch];\n\t\t}\n\n\t\tif(node.$) {\n\t\t\tvar outputs = node.$;\n\t\t\tfor(var j = 0; j < outputs.length && matches.length < maxMatches; j++) {\n\t\t\t\tvar out = outputs[j];\n\t\t\t\tvar matchStart = i - out.length + 1;\n\t\t\t\tvar matchEnd = i + 1;\n\t\t\t\tif(matchStart < 0) continue;\n\n\t\t\t\tif(useWordBoundary && !this.isWordBoundaryMatch(text, matchStart, matchEnd)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tmatches.push({\n\t\t\t\t\tpattern: out.pattern,\n\t\t\t\t\tindex: matchStart,\n\t\t\t\t\tlength: out.length,\n\t\t\t\t\ttitleIndex: out.index\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\treturn matches;\n};\n\nAhoCorasick.prototype.isWordBoundaryMatch = function(text, start, end) {\n\tvar matchedText = text.substring(start, end);\n\n\tif(/[\\u3400-\\u9FFF\\uF900-\\uFAFF]/.test(matchedText)) {\n\t\treturn true;\n\t}\n\n\tvar beforeChar = start > 0 ? text[start - 1] : \"\";\n\tvar afterChar = end < text.length ? text[end] : \"\";\n\n\tvar isLatinWordChar = function(char) {\n\t\treturn /[a-zA-Z0-9_\\u00C0-\\u00FF]/.test(char);\n\t};\n\n\treturn !isLatinWordChar(beforeChar) && !isLatinWordChar(afterChar);\n};\n\nAhoCorasick.prototype.clear = function() {\n\tthis.trie = {};\n\tthis.failure = new WeakMap();\n\tthis.patternCount = 0;\n};\n\nAhoCorasick.prototype.getStats = function() {\n\tvar nodeCount = 0;\n\tfunction countNodes(node) {\n\t\tif(!node) return;\n\t\tnodeCount++;\n\t\tfor(var key in node) {\n\t\t\tif(key === \"$\") continue;\n\t\t\tif(node[key] && typeof node[key] === \"object\") {\n\t\t\t\tcountNodes(node[key]);\n\t\t\t}\n\t\t}\n\t}\n\tcountNodes(this.trie);\n\n\treturn {\n\t\tnodeCount: nodeCount,\n\t\tpatternCount: this.patternCount,\n\t\tfailureLinks: this.patternCount\n\t};\n};\n\nexports.AhoCorasick = AhoCorasick;\n"
  },
  {
    "path": "plugins/tiddlywiki/freelinks/config-Freelinks-Enable.tid",
    "content": "title: $:/config/Freelinks/Enable\ntext: yes\n"
  },
  {
    "path": "plugins/tiddlywiki/freelinks/config-Freelinks-WordBoundary.tid",
    "content": "title: $:/config/Freelinks/WordBoundary\ntext: yes\n"
  },
  {
    "path": "plugins/tiddlywiki/freelinks/macros-view.tid",
    "content": "title: $:/plugins/tiddlywiki/freelinks/macros/view\ntags: $:/tags/Macro/View\n\n<$set name=\"tv-freelinks\" value={{$:/config/Freelinks/Enable}}>\n\n<$set name=\"tv-freelinks-ignore-case\" value={{$:/config/Freelinks/IgnoreCase}}/>\n\n</$set>"
  },
  {
    "path": "plugins/tiddlywiki/freelinks/plain-text.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/plain-text.js\ntype: application/javascript\nmodule-type: widget\n\nA copy of the core text widget under a different name\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar PlainTextNodeWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nPlainTextNodeWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nPlainTextNodeWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar text = this.getAttribute(\"text\",this.parseTreeNode.text || \"\");\n\ttext = text.replace(/\\r/mg,\"\");\n\tvar textNode = this.document.createTextNode(text);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nPlainTextNodeWidget.prototype.execute = function() {\n\t// Nothing to do for a text node\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nPlainTextNodeWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.text) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports[\"plain-text\"] = PlainTextNodeWidget;\n"
  },
  {
    "path": "plugins/tiddlywiki/freelinks/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/freelinks\",\n\t\"name\": \"Freelinks\",\n\t\"description\": \"Freelinking of tiddler titles\",\n\t\"list\": \"readme settings\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/freelinks/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/freelinks/readme\n\nThis plugin adds automatic generation of links to tiddler titles.\n\nThe plugin uses the Aho-Corasick algorithm for efficient pattern matching with large numbers of tiddlers.\n\n!! Configuration\n\nFreelinking is activated for runs of text that have the following variables set:\n\n* `tv-wikilinks` is NOT equal to `no`\n* `tv-freelinks` is set to `yes`\n\nFreelinks are case sensitive by default but can be configured to ignore case in the settings panel.\n\nWord boundary checking can be configured in the settings panel. When enabled (default for Western languages), links are created only for complete words. When disabled, partial matches within words are also linked.\n\nWhen multiple tiddler titles match the same text, longer titles take precedence over shorter ones.\n\nTiddlers do not create links to themselves.\n\nUse `$:/config/Freelinks/TargetFilter` to define which tiddlers are eligible for auto-linking.\n\nWithin view templates, the variable `tv-freelinks` is automatically set to the content of `$:/config/Freelinks/Enable`, which can be set via the settings panel of this plugin.\n\n!! Notes\n\nTo change within which tiddlers freelinking occurs requires customising the shadow tiddler [[$:/plugins/tiddlywiki/freelinks/macros/view]]. This tiddler is tagged `$:/tags/Macro/View` which means that it will be included as a local macro in each view template. By default, its content is:\n\n```\n<$set name=\"tv-freelinks\" value={{$:/config/Freelinks/Enable}}/>\n```\n\nThat means that for each tiddler the variable `tv-freelinks` will be set to the tiddler `$:/config/Freelinks/Enable`, which is set to \"yes\" or \"no\" by the settings in control panel.\n\nInstead, we can use a filter expression to, say, only freelink within the tiddler with the title \"HelloThere\":\n\n```\n<$set name=\"tv-freelinks\" value={{{ [<currentTiddler>match[HelloThere]then[yes]else[no]] }}}/>\n```\n\nOr, we can make a filter that will only freelink within tiddlers with the tag \"MyTag\":\n\n```\n<$set name=\"tv-freelinks\" value={{{ [<currentTiddler>tag[MyTags]then[yes]else[no]] }}}/>\n```\n\nOr we can combine both approaches:\n\n```\n<$set name=\"tv-freelinks\" value={{{ [<currentTiddler>match[HelloThere]] ~[<currentTiddler>tag[MyTag]] +[then[yes]else[no]] }}}/>\n```\n\n!! Implementation Details\n\nThe Aho-Corasick algorithm implementation includes:\n\n* Unicode character support for international text\n* Prevention of self-referential links within the current tiddler\n* Performance safeguards including depth protection and result limiting\n* Graceful fallback handling for invalid patterns\n\nLonger tiddler titles take precedence over shorter ones when multiple matches are possible.\n"
  },
  {
    "path": "plugins/tiddlywiki/freelinks/settings.tid",
    "content": "title: $:/plugins/tiddlywiki/freelinks/settings\ncaption: Freelinks\ntags: $:/tags/ControlPanel/SettingsTab\n\nFilter defining tiddlers to which freelinks are made: <$edit-text tiddler=\"$:/config/Freelinks/TargetFilter\" tag=\"input\" placeholder=\"Filter expression...\" default=\"\"/>\n\n<$checkbox tiddler=\"$:/config/Freelinks/Enable\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> <$link to=\"$:/config/Freelinks/Enable\">Enable freelinking within tiddler view templates</$link> </$checkbox>\n\n<$checkbox tiddler=\"$:/config/Freelinks/WordBoundary\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/Freelinks/WordBoundary\">Word Boundary Check</$link> </$checkbox>\n\n<$checkbox tiddler=\"$:/config/Freelinks/IgnoreCase\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> <$link to=\"$:/config/Freelinks/IgnoreCase\">Ignore case</$link> </$checkbox>\n"
  },
  {
    "path": "plugins/tiddlywiki/freelinks/styles.tid",
    "content": "title: $:/plugins/tiddlywiki/freelinks/styles\ntags: [[$:/tags/Stylesheet]]\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\nbutton.tc-tiddlylink.tc-freelink, a.tc-tiddlylink.tc-freelink {\n\tbackground-color: #5777d91c;\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/freelinks/text.js",
    "content": "/*\\\n\ntitle: $:/core/modules/widgets/text.js\ntype: application/javascript\nmodule-type: widget\n\nOptimized override of the core text widget that automatically linkifies text.\n- Supports non-Latin languages like Chinese.\n- Global longest-match priority, then removes overlaps.\n- Excludes current tiddler title from linking.\n- Uses Aho-Corasick for performance.\n\n\\*/\n\n\"use strict\";\n\nvar TITLE_TARGET_FILTER = \"$:/config/Freelinks/TargetFilter\";\nvar WORD_BOUNDARY_TIDDLER = \"$:/config/Freelinks/WordBoundary\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget,\n\tLinkWidget = require(\"$:/core/modules/widgets/link.js\").link,\n\tButtonWidget = require(\"$:/core/modules/widgets/button.js\").button,\n\tElementWidget = require(\"$:/core/modules/widgets/element.js\").element,\n\tAhoCorasick = require(\"$:/core/modules/utils/aho-corasick.js\").AhoCorasick;\n\nvar TextNodeWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\nTextNodeWidget.prototype = new Widget();\n\nTextNodeWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\nTextNodeWidget.prototype.execute = function() {\n\tvar self = this;\n\tvar ignoreCase = self.getVariable(\"tv-freelinks-ignore-case\",{defaultValue:\"no\"}).trim() === \"yes\";\n\n\tvar childParseTree = [{\n\t\ttype: \"plain-text\",\n\t\ttext: this.getAttribute(\"text\",this.parseTreeNode.text || \"\")\n\t}];\n\n\tvar text = childParseTree[0].text;\n\tif(!text || text.length < 2) {\n\t\tthis.makeChildWidgets(childParseTree);\n\t\treturn;\n\t}\n\n\tif(this.getVariable(\"tv-wikilinks\",{defaultValue:\"yes\"}) !== \"no\" &&\n\t\tthis.getVariable(\"tv-freelinks\",{defaultValue:\"no\"}) === \"yes\" &&\n\t\t!this.isWithinButtonOrLink()) {\n\n\t\tvar currentTiddlerTitle = this.getVariable(\"currentTiddler\") || \"\";\n\t\tvar useWordBoundary = self.wiki.getTiddlerText(WORD_BOUNDARY_TIDDLER,\"no\") === \"yes\";\n\n\t\tvar cacheKey = \"tiddler-title-info-\" + (ignoreCase ? \"insensitive\" : \"sensitive\");\n\t\tthis.tiddlerTitleInfo = this.wiki.getGlobalCache(cacheKey,function() {\n\t\t\treturn computeTiddlerTitleInfo(self,ignoreCase);\n\t\t});\n\n\t\tif(this.tiddlerTitleInfo && this.tiddlerTitleInfo.titles && this.tiddlerTitleInfo.titles.length > 0 && this.tiddlerTitleInfo.ac) {\n\t\t\tvar newParseTree = this.processTextWithMatches(text,currentTiddlerTitle,ignoreCase,useWordBoundary);\n\t\t\tif(newParseTree && newParseTree.length > 0 &&\n\t\t\t\t(newParseTree.length > 1 || newParseTree[0].type !== \"plain-text\")) {\n\t\t\t\tchildParseTree = newParseTree;\n\t\t\t}\n\t\t}\n\t}\n\n\tthis.makeChildWidgets(childParseTree);\n};\n\nTextNodeWidget.prototype.processTextWithMatches = function(text,currentTiddlerTitle,ignoreCase,useWordBoundary) {\n\tif(!text || text.length === 0) {\n\t\treturn [{type: \"plain-text\", text: text}];\n\t}\n\n\tvar matches;\n\ttry {\n\t\tmatches = this.tiddlerTitleInfo.ac.search(text, useWordBoundary, ignoreCase);\n\t} catch(e) {\n\t\treturn [{type: \"plain-text\", text: text}];\n\t}\n\n\tif(!matches || matches.length === 0) {\n\t\treturn [{type: \"plain-text\", text: text}];\n\t}\n\n\tvar titleToCompare = ignoreCase ?\n\t\t(currentTiddlerTitle ? currentTiddlerTitle.toLowerCase() : \"\") :\n\t\tcurrentTiddlerTitle;\n\n\tmatches.sort(function(a,b) {\n\t\tif(b.length !== a.length) return b.length - a.length;\n\t\treturn a.index - b.index;\n\t});\n\n\tvar occupied = new Uint8Array(text.length);\n\tvar validMatches = [];\n\n\tfor(var i = 0; i < matches.length; i++) {\n\t\tvar m = matches[i];\n\t\tvar start = m.index;\n\t\tvar end = start + m.length;\n\t\tif(start < 0 || end > text.length) continue;\n\n\t\tvar matchedTitle = this.tiddlerTitleInfo.titles[m.titleIndex];\n\t\tif(!matchedTitle) continue;\n\n\t\tvar matchedTitleToCompare = ignoreCase ? matchedTitle.toLowerCase() : matchedTitle;\n\t\tif(titleToCompare && matchedTitleToCompare === titleToCompare) continue;\n\n\t\tvar overlapping = false;\n\t\tfor(var j = start; j < end; j++) {\n\t\t\tif(occupied[j]) { overlapping = true; break; }\n\t\t}\n\t\tif(overlapping) continue;\n\n\t\tvalidMatches.push(m);\n\t\tfor(var k = start; k < end; k++) {\n\t\t\toccupied[k] = 1;\n\t\t}\n\t}\n\n\tif(validMatches.length === 0) {\n\t\treturn [{type: \"plain-text\", text: text}];\n\t}\n\n\tvalidMatches.sort(function(a,b){ return a.index - b.index; });\n\n\tvar newParseTree = [];\n\tvar curPos = 0;\n\n\tfor(var x = 0; x < validMatches.length; x++) {\n\t\tvar mm = validMatches[x];\n\t\tvar s = mm.index;\n\t\tvar e = s + mm.length;\n\n\t\tif(s > curPos) {\n\t\t\tnewParseTree.push({ type: \"plain-text\", text: text.substring(curPos,s) });\n\t\t}\n\n\t\tvar toTitle = this.tiddlerTitleInfo.titles[mm.titleIndex];\n\t\tvar matchedText = text.substring(s,e);\n\n\t\tnewParseTree.push({\n\t\t\ttype: \"link\",\n\t\t\tattributes: {\n\t\t\t\tto: {type: \"string\", value: toTitle},\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-freelink\"}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"plain-text\",\n\t\t\t\ttext: matchedText\n\t\t\t}]\n\t\t});\n\n\t\tcurPos = e;\n\t}\n\n\tif(curPos < text.length) {\n\t\tnewParseTree.push({ type: \"plain-text\", text: text.substring(curPos) });\n\t}\n\n\treturn newParseTree;\n};\n\nfunction computeTiddlerTitleInfo(self,ignoreCase) {\n\tvar targetFilterText = self.wiki.getTiddlerText(TITLE_TARGET_FILTER),\n\t\ttitles = targetFilterText ?\n\t\t\tself.wiki.filterTiddlers(targetFilterText,$tw.rootWidget) :\n\t\t\tself.wiki.allTitles();\n\n\tif(!titles || titles.length === 0) {\n\t\treturn { titles: [], ac: new AhoCorasick() };\n\t}\n\n\tvar validTitles = [];\n\tfor(var i = 0; i < titles.length; i++) {\n\t\tvar t = titles[i];\n\t\tif(t && t.length > 0 && t.substring(0,3) !== \"$:/\") {\n\t\t\tvalidTitles.push(t);\n\t\t}\n\t}\n\n\tvalidTitles.sort(function(a,b) {\n\t\tvar d = b.length - a.length;\n\t\tif(d !== 0) return d;\n\t\treturn a < b ? -1 : a > b ? 1 : 0;\n\t});\n\n\tvar ac = new AhoCorasick();\n\tfor(var j = 0; j < validTitles.length; j++) {\n\t\tvar title = validTitles[j];\n\t\tvar pattern = ignoreCase ? title.toLowerCase() : title;\n\t\tac.addPattern(pattern,j);\n\t}\n\n\ttry {\n\t\tac.buildFailureLinks();\n\t} catch(e) {\n\t\treturn { titles: [], ac: new AhoCorasick() };\n\t}\n\n\treturn { titles: validTitles, ac: ac };\n}\n\nTextNodeWidget.prototype.isWithinButtonOrLink = function() {\n\tvar widget = this.parentWidget;\n\twhile(widget) {\n\t\tif(widget instanceof ButtonWidget ||\n\t\t\twidget instanceof LinkWidget ||\n\t\t\t((widget instanceof ElementWidget) && widget.parseTreeNode.tag === \"a\")) {\n\t\t\treturn true;\n\t\t}\n\t\twidget = widget.parentWidget;\n\t}\n\treturn false;\n};\n\nTextNodeWidget.prototype.refresh = function(changedTiddlers) {\n\tvar self = this;\n\tvar changedAttributes = this.computeAttributes();\n\tvar titlesHaveChanged = false;\n\n\tif(changedTiddlers) {\n\t\t$tw.utils.each(changedTiddlers,function(change,title) {\n\t\t\tif(titlesHaveChanged) return;\n\n\t\t\tif(title === WORD_BOUNDARY_TIDDLER || title === TITLE_TARGET_FILTER) {\n\t\t\t\ttitlesHaveChanged = true;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif(title.substring(0,3) === \"$:/\") {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif(change && change.isDeleted) {\n\t\t\t\tif(self.tiddlerTitleInfo && self.tiddlerTitleInfo.titles && self.tiddlerTitleInfo.titles.indexOf(title) !== -1) {\n\t\t\t\t\ttitlesHaveChanged = true;\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\tif(tiddler && tiddler.hasField(\"draft.of\")) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif(!self.tiddlerTitleInfo || !self.tiddlerTitleInfo.titles || self.tiddlerTitleInfo.titles.indexOf(title) === -1) {\n\t\t\t\ttitlesHaveChanged = true;\n\t\t\t}\n\t\t});\n\t}\n\n\tvar wordBoundaryChanged = !!(changedTiddlers && changedTiddlers[WORD_BOUNDARY_TIDDLER]);\n\n\tif(changedAttributes.text || titlesHaveChanged || wordBoundaryChanged) {\n\t\tif(titlesHaveChanged) {\n\t\t\tself.wiki.clearCache(\"tiddler-title-info-insensitive\");\n\t\t\tself.wiki.clearCache(\"tiddler-title-info-sensitive\");\n\t\t}\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\n\tif(changedTiddlers) {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n\treturn false;\n};\n\nexports.text = TextNodeWidget;\n"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/baselayers/TagsGeoBaseLayer.tid",
    "content": "title: $:/tags/GeoBaseLayer\nlist: $:/plugins/tiddlywiki/geospatial/baselayers/openstreetmap $:/plugins/tiddlywiki/geospatial/baselayers/esri-world-imagery $:/plugins/tiddlywiki/geospatial/baselayers/opentopomap $:/plugins/tiddlywiki/geospatial/baselayers/stamen-terrain $:/plugins/tiddlywiki/geospatial/baselayers/stamen-watercolor\n"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/baselayers/esri-world-imagery.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/baselayers/esri-world-imagery\ncaption: ESRI World Imagery\ntags: $:/tags/GeoBaseLayer\ntiles-url: https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}\nmax-zoom: 18\n\nTiles &copy; Esri &mdash; Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/baselayers/openstreetmap.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/baselayers/openstreetmap\ncaption: OpenStreetMap\ntags: $:/tags/GeoBaseLayer\ntiles-url: https://tile.openstreetmap.org/{z}/{x}/{y}.png\nmax-zoom: 19\n\n&copy; <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a>"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/baselayers/opentopomap.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/baselayers/opentopomap\ncaption: OpenTopoMap\ntags: $:/tags/GeoBaseLayer\ntiles-url: https://{s}.tile.opentopomap.org/{z}/{x}/{y}.png\nmax-zoom: 17\n\nMap data: &copy; <a href=\"https://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors, <a href=\"http://viewfinderpanoramas.org\">SRTM</a> | Map style: &copy; <a href=\"https://opentopomap.org\">OpenTopoMap</a> (<a href=\"https://creativecommons.org/licenses/by-sa/3.0/\">CC-BY-SA</a>)"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/docs/flickr.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/docs/flickr-helpers\ncaption: Flickr helpers\ntags: $:/tags/GeospatialDocs\n\n!! Flickr Helpers\n\n!!! Photo Tiddlers\n\nThe procedures that retrieve photos from Flickr create a separate tiddler for each retrieved photo. The field values of these photo tiddlers are specified through a photo tiddler template that specifies a filter expression for each field that is to be included.\n\nA [[default photo tiddler template|$:/plugins/tiddlywiki/geospatial/procedures/Flickr/DefaultPhotoTemplate]] is used if one is not specified. The default template makes the following assignments:\n\n|!Field |!Description |\n|title |Set to \"Flickr Photo \" appended with Flickr's ID for the photograph |\n|tags |`$:/tags/GeoMarker` and `$:/tags/FlickrPhoto` |\n|caption |The title of the photograph |\n|lat |The latitude of the image (blank for non-geocoded photographs) |\n|long |The longitude of the image (blank for non-geocoded photographs) |\n|alt |0 |\n|photo-url |The URL of the \"large\" image size of the photograph (longest side will be a maximum of 1024px) |\n|icon-url |The URL of the \"small thumbnail\" image size of the photograph (cropped to a square of maximum size 75px)  |\n\nThe photo tiddler template can reference the following variables. See [[Flickr's documentation|https://www.flickr.com/services/api/misc.urls.html]] to learn how these values can be combined to construct URLs to access photographs.\n\n|!Variable |!Description |\n|photoData |Raw JSON data returned from Flickr API |\n|photoFarm |Flickr photo farm associated with the photograph |\n|photoServer | Flickr server associated with the photograph |\n|photoID |Flickr photo ID for the photograph |\n|photoSecret |The URL secret associated with the photograph |\n\n!!! `flickr-get-photos-of-user-items` procedure\n\nRetrieves photographs of a particular user, identified by their user ID.\n\n|!Parameter |!Description |\n|userID |ID of the user of whom to retrieve photos (eg 35468148136@N01) |\n|photoTiddlerTemplate |Optional title of tiddler specifying field values for the created photo tiddlers |\n\nFor example:\n\n<$testcase>\n<$data $tiddler=\"$:/plugins/tiddlywiki/geospatial\"/>\n<$data title=\"Description\" text=\"Get photographs of user\"/>\n<$data title=\"Output\" text=\"\"\"<$button>\n<$transclude $variable=\"flickr-get-photos-of-user-items\" userID=\"35468148136@N01\"/>\nClick to get photos of user\n</$button>\n\n<$geomap\n\tstate=<<qualify \"$:/state/demo-map\">>\n>\n\t<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/FlickrPhoto]]\">\n\t\t<$geolayer lat={{!!lat}} long={{!!long}} alt={{!!alt}} color={{!!color}}/>\n\t</$list>\n</$geomap>\n\"\"\"/>\n</$testcase>\n\n!!! `flickr-get-group-items` procedure\n\nRetrieves photographs from a group, identified by the group ID.\n\n|!Parameter |!Description |\n|groupID |ID of the group from which to retrieve photos (eg 22075379@N00) |\n|photoTiddlerTemplate |Optional title of tiddler specifying field values for the created photo tiddlers |\n\nFor example:\n\n<$testcase>\n<$data $tiddler=\"$:/plugins/tiddlywiki/geospatial\"/>\n<$data title=\"Description\" text=\"Get photographs from group\"/>\n<$data title=\"Output\" text=\"\"\"<$button>\n<$transclude $variable=\"flickr-get-group-items\" groupID=\"22075379@N00\"/>\nClick to get photos from group\n</$button>\n\n<$geomap\n\tstate=<<qualify \"$:/state/demo-map\">>\n>\n\t<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/FlickrPhoto]]\">\n\t\t<$geolayer lat={{!!lat}} long={{!!long}} alt={{!!alt}} color={{!!color}}/>\n\t</$list>\n</$geomap>\n\"\"\"/>\n</$testcase>\n\n!!! `flickr-get-album-items` procedure\n\nRetrieves photographs from an album, identified by the album ID.\n\n|!Parameter |!Description |\n|albumID |ID of the album from which to retrieve photos (eg 72157630297432522) |\n|photoTiddlerTemplate |Optional title of tiddler specifying field values for the created photo tiddlers |\n\nFor example:\n\n<$testcase>\n<$data $tiddler=\"$:/plugins/tiddlywiki/geospatial\"/>\n<$data title=\"Description\" text=\"Get photographs from album\"/>\n<$data title=\"Output\" text=\"\"\"<$button>\n<$transclude $variable=\"flickr-get-album-items\" albumID=\"72157630297432522\"/>\nClick to get photos from album\n</$button>\n\n<$geomap\n\tstate=<<qualify \"$:/state/demo-map\">>\n>\n\t<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/FlickrPhoto]]\">\n\t\t<$geolayer lat={{!!lat}} long={{!!long}} alt={{!!alt}} color={{!!color}}/>\n\t</$list>\n</$geomap>\n\"\"\"/>\n</$testcase>\n\n!!! `flickr-get-interesting-items` procedure\n\nRetrieves Flickr's current list of the 500 most \"interesting\" photographs. \n\n|!Parameter |!Description |\n|photoTiddlerTemplate |Optional title of tiddler specifying field values for the created photo tiddlers |\n\nFor example:\n\n<$testcase>\n<$data $tiddler=\"$:/plugins/tiddlywiki/geospatial\"/>\n<$data title=\"Description\" text=\"Get interesting photographs\"/>\n<$data title=\"Output\" text=\"\"\"<$button>\n<$transclude $variable=\"flickr-get-interesting-items\"/>\nClick to get interesting photos\n</$button>\n\n<$geomap\n\tstate=<<qualify \"$:/state/demo-map\">>\n>\n\t<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/FlickrPhoto]]\">\n\t\t<$geolayer lat={{!!lat}} long={{!!long}} alt={{!!alt}} color={{!!color}}/>\n\t</$list>\n</$geomap>\n\"\"\"/>\n</$testcase>\n"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/docs/geobaselayer.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/docs/geobaselayer\ncaption: geobaselayer widget\ntags: $:/tags/GeospatialDocs\n\n!! `<$geobaselayer>` widget\n\nThe `<$geobaselayer>` widget is used inside the `<$geomap>` widget to define the base layers to display on the map.\n\nThe following attributes are supported:\n\n|!Attribute |!Description |\n|''title'' |Optional title of a tiddler that defines the base layer through the fields ''caption'', ''tiles-url'', ''max-zoom'' and ''text'' (the text field defines the attribution string for the base layer) |\n|''name'' |Optional name for the base layer |\n|''tiles-url'' |Optional templated tile server URL for the base layer |\n|''max-zoom'' |Optional maximum zoom level for the base layer |\n|''attribution'' |Optional attribution text for the base layer |\n\nThe base layer will only work if all four of the required items ''name'', ''tiles-url'', ''max-zoom'' and ''attribution'' must be provided, either through the base layer tiddler specified in the title attribute, or explicitly via their own attributes.\n\nSee https://leaflet-extras.github.io/leaflet-providers/preview/ for a collection of compatible base layers.\n"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/docs/geodifference.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/docs/geodifference\ncaption: geodifference operator\ntags: $:/tags/GeospatialDocs\n\n!! `geodifference` operator\n\nThe `geodifference` operator calculates the difference between two or more [[GeoJSON Polygon Features|GeoJSON Polygon Feature]].\n\nEach input list item is interpreted as a [[GeoJSON Polygon Feature Collection]] containing polygons.\n\n```\n[geodifference[]]\n```\n\n!! Examples\n\n<$testcase>\n<$data $compound-tiddler=\"$:/plugins/tiddlywiki/geospatial/tests/operators/geodifference-interactive\"/>\n<$data $tiddler=\"$:/plugins/tiddlywiki/geospatial\"/>\n</$testcase>\n"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/docs/geodistance.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/docs/geodistance\ncaption: geodistance operator\ntags: $:/tags/GeospatialDocs\n\n!! `geodistance` operator\n\nThe `geodistance` operator calculates the distance between two points in [[GeoJSON Point Feature]] format. The points are specified as two operands. An optional third operand specifies the units as `miles`, `kilometers`, `degrees` or `radians` (defaults to `miles`).\n\n!! Examples\n\n<$testcase>\n<$data $compound-tiddler=\"$:/plugins/tiddlywiki/geospatial/tests/operators/geodistance\"/>\n<$data $tiddler=\"$:/plugins/tiddlywiki/geospatial\"/>\n</$testcase>"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/docs/geointersect.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/docs/geointersect\ncaption: geointersect operator\ntags: $:/tags/GeospatialDocs\n\n!! `geointersect` operator\n\nThe `geointersect` operator calculates the intersection between two or more [[GeoJSON Polygon Features|GeoJSON Polygon Feature]].\n\nEach input list item is interpreted as a [[GeoJSON Polygon Feature Collection]] containing polygons.\n\n```\n[geointersect[]]\n```\n\n!! Examples\n\n<$testcase>\n<$data $compound-tiddler=\"$:/plugins/tiddlywiki/geospatial/tests/operators/geointersect-interactive\"/>\n<$data $tiddler=\"$:/plugins/tiddlywiki/geospatial\"/>\n</$testcase>\n"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/docs/geolayer.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/docs/geolayer\ncaption: geolayer widget\ntags: $:/tags/GeospatialDocs\n\n!! `<$geolayer>` widget\n\nThe `<$geolayer>` widget is used inside the `<$geomap>` widget to indicate the layers and markers to display.\n\nThe following attributes are supported:\n\n|!Attribute |!Description |\n|''json'' |Optional GeoJSON Feature Collection to be rendered |\n|''name'' |Optional name to be displayed for this layer |\n|''color'' |Optional CSS colour for this layer |\n|''lat'' |Optional latitude of marker if json attribute missing |\n|''long'' |Optional longitude of marker if json attribute missing |\n|''alt'' |Optional altitude of marker if json attribute missing |\n|''draggable'' |Set to \"yes\" to make the marker draggable |\n|''updateActions'' |Optional actions when the marker is dragged other otherwise modified. The variables ''lat'', ''long'' and ''alt'' contain the new coordinates of the marker |\n|''clickActions'' |<<.from-version \"5.3.6\">> Optional actions when the marker is clicked. The variable ''properties'' contains the JSON properties of the marker.  The variables ''lat'', ''long'' and ''alt'' contain the coordinates of the marker |\n|''properties'' |<<.from-version \"5.3.6\">> Optional JSON properties to be attached to the marker (only supported for non-JSON layers) |\n|''popupTemplate'' |<<.from-version \"5.3.6\">> Optional template to be used for popups. The template is rendered with the variable ''feature'' containing the JSON text of the feature |\n\nNote that the `<$geolayer>` widget can be used in one of two modes:\n\n* With the ''json'' attibute specifying the layer to be drawn\n* With the ''lat'', ''long'' and optional ''alt'' and ''properties'' attributes specifying a marker to be drawn\n"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/docs/geolocation.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/docs/geolocation\ncaption: tm-request-geolocation message\ntags: $:/tags/GeospatialDocs\n\n!! `tm-request-geolocation` message\n\nThe `tm-request-geolocation` message requests the location of the device on which TiddlyWiki is running. Browsers will request permission from the user before returning the location.\n\nThe following parameters are supported:\n\n|!Parameters |!Description |\n|''actionsSuccess'' |Action string that is invoked if the request succeeds. See below for the variable values that are made available to the action string  |\n|''actionsError'' |Action string that is invoked if the request fails. See below for the variable values that are made available to the action string |\n|''accuracy'' |Optional value \"low\" or \"high\", defaults to \"high\". Note that higher accuracy can be significantly slower |\n|''timeout'' |Optional timeout value in milliseconds after which requests are automatically aborted. Defaults to infinity, meaning that requests do not timeout |\n|''maximumAge'' |An optional positive value indicating the maximum age in milliseconds of a possible cached position that is acceptable to return. If set to 0, it means that the device cannot use a cached position and must attempt to retrieve the real current position |\n\nThe following variables are made available to the action strings passed in the ''actionsSuccess'' parameter:\n\n|!Name |!Description |\n|''timestamp'' |Date and time at which the location was retrieved, in TiddlyWiki YYYYMMDDHHMMSSmmm format |\n|''latitude'' |The latitude of the position in decimal degrees |\n|''longitude'' |The longitude of the position in decimal degrees |\n|''altitude'' |The altitude of the position in meters, relative to sea level. This value can be null if the implementation cannot provide the data |\n|''accuracy'' |A number representing the accuracy of the latitude and longitude properties, expressed in meters |\n|''altitudeAccuracy'' |A number representing the accuracy of the altitude expressed in meters. This value can be null |\n|''heading'' |A number representing the direction towards which the device is facing. This value, specified in degrees, indicates how far off from heading true north the device is. 0 degrees represents true north, and the direction is determined clockwise (which means that east is 90 degrees and west is 270 degrees). If speed is 0, heading is NaN. If the device is unable to provide heading information, this value is null |\n|''speed'' |A number representing the velocity of the device in meters per second. This value can be null |\n\nNote that Safari appears to provide obfuscated values for some items for privacy reasons.\n\nThe following variables are made available to the action strings passed in the ''actionsError'' parameter:\n\n|!Name |!Description |\n|''error'' |Message associated with the error |\n\n!! Examples\n\n<$testcase>\n<$data\n\ttitle=\"Description\"\n\ttext=\"Retrieve current location\"\n/>\n<$data\n\ttitle=\"Output\"\n\ttext=\"\"\"\n\t\\procedure onsuccess()\n\t\t<$action-setfield\n\t\t\t$tiddler=\"CurrentLocation\"\n\t\t\ttags=\"$:/tags/GeoMarker\"\n\t\t\ttimestamp=<<timestamp>>\n\t\t\tlat=<<latitude>>\n\t\t\tlong=<<longitude>>\n\t\t\talt=<<altitude>>\n\t\t\taccuracy=<<accuracy>>\n\t\t\taltitudeAccuracy=<<altitudeAccuracy>>\n\t\t\theading=<<heading>>\n\t\t\tspeed=<<speed>>\n\t\t/>\n\t\\end\n\t\\procedure onerror()\n\t\t<$action-setfield\n\t\t\t$tiddler=\"CurrentLocation\"\n\t\t\t$field=\"text\"\n\t\t\t$value=<<error>>\n\t\t/>\n\t\\end\n\t\\procedure onclick()\n\t\t<$action-sendmessage\n\t\t\t$message=\"tm-request-geolocation\"\n\t\t\tactionsSuccess=<<onsuccess>>\n\t\t\tactionsError=<<onerror>>\n\t\t/>\n\t\\end\n\t<$button actions=<<onclick>> style=\"background: red; color: white; font-size: 18pt;\">\n\t\tClick this button to request current location\n\t</$button>\n\tYour browser will ask for permission before granting the request. On some system it may take a couple of seconds for the location to appear.\n\t<hr>\n\t{{CurrentLocation}}\n\t{{CurrentLocation||$:/core/ui/TiddlerFields}}\n\t<hr>\n\t<$geomap\n\t\tstate=<<qualify \"$:/state/demo-map\">>\n\t>\n\t\t<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/GeoMarker]]\">\n\t\t\t<$geolayer lat={{!!lat}} long={{!!long}} alt={{!!alt}} color={{!!color}}/>\n\t\t</$list>\n\t</$geomap>\n\"\"\"/>\n<$data $tiddler=\"$:/plugins/tiddlywiki/geospatial\"/>\n</$testcase>\n"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/docs/geolookup.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/docs/geolookup\ncaption: geolookup operator\ntags: $:/tags/GeospatialDocs\n\n!! `geolookup` operator\n\nThe `geolookup` operator identifies the polygon(s) within a [[GeoJSON Polygon Feature]] that correspond to a particular point, and returns the JSON properties of that polygon.\n\nEach input list item is interpreted as a [[GeoJSON Point Feature]] and the operand is interpreted as a [[GeoJSON Polygon Feature Collection]].\n\n!! Examples\n\n<$testcase>\n<$data $compound-tiddler=\"$:/plugins/tiddlywiki/geospatial/tests/operators/geolookup\"/>\n<$data $tiddler=\"$:/plugins/tiddlywiki/geospatial\"/>\n</$testcase>"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/docs/geomap.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/docs/geomap\ncaption: geomap widget\ntags: $:/tags/GeospatialDocs\n\n!! `<$geomap>` widget\n\nThe `<$geomap>` widget displays an interactive map using [[Leaflet.js|https://leafletjs.com/]]. `<$geolayer>` and `<$geobaselayer>` widgets inside the `<$geomap>` widget are used to indicate the overlay layers and markers to display, and the base map layer to be used.\n\nThe following attributes are supported:\n\n|!Attribute |!Description |\n|''width'' |<<.from-version \"5.3.6\">> The width of the map in CSS units (defaults to `100%`) |\n|''height'' |<<.from-version \"5.3.6\">> The height of the map in CSS units (defaults to `600px`) |\n|''state'' |The title of a state tiddler used to track the state of the map in the `zoom`, `long` and `lat` fields |\n|''startPosition'' |Optional keyword representing the starting position for the map: \"world\" (the default) shows the entire map, \"bounds\" zooms to the bounds of the loaded layers |\n|''layersPanel'' |Optional starting status for the layers panel: \"collapsed\" (the default) causes the layers panel to initially be shown collapsed, \"open\" causes the layers panel to initially be shown opened |\n|''maxZoom'' |<<.from-version \"5.3.6\">> Optional maximum zoom level, from 1 to the maximum zoom level supported by the background layer |\n|''popupTemplate'' |<<.from-version \"5.3.6\">> Optional template to be used for popups. The template is rendered with the variable ''feature'' containing the JSON text of the feature |\n\nIf no base layers are defined by `<$geobaselayer>` widgets within the `<$geomap>` widget then all the available base layers will be loaded by the equivalent of the following code:\n\n```\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/GeoBaseLayer]]\">\n\t<$geobaselayer title=<<currentTiddler>>/>\n</$list>\n```\n\n!! Examples\n\n<$testcase>\n<$data\n\ttitle=\"Description\"\n\ttext=\"Map with state preservation\"\n/>\n<$data\n\ttitle=\"Output\"\n\ttext=\"\"\"<$geomap\n\tstate=<<qualify \"$:/state/demo-map\">>\n/>\n\"\"\"/>\n<$data $tiddler=\"$:/plugins/tiddlywiki/geospatial\"/>\n</$testcase>\n\n<$testcase>\n<$data\n\ttitle=\"Description\"\n\ttext=\"Map with geomarker\"\n/>\n<$data\n\ttitle=\"Oxford\"\n\ttags=\"$:/tags/GeoMarker\"\n\tcaption=\"Oxford\"\n\tlat=\"51.751944\"\n\tlong=\"-1.257778\"\n\talt=\"0\"\n\ttext=\"\"\"{{$:/core/images/star-filled}} This is Oxford!\"\"\"/>\n<$data title=\"Output\" text=\"\"\"<$geomap\n\tstate=<<qualify \"$:/state/demo-map\">>\n>\n\t<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/GeoMarker]]\">\n\t\t<$geolayer lat={{!!lat}} long={{!!long}} alt={{!!alt}} color={{!!color}}/>\n\t</$list>\n</$geomap>\n\"\"\"/>\n<$data $tiddler=\"$:/plugins/tiddlywiki/geospatial\"/>\n</$testcase>\n\n<$testcase>\n<$data\n\ttitle=\"Description\"\n\ttext=\"Map with geomarker with popup\"\n/>\n<$data $filter=\"[tag[$:/tags/Demo/Cities]sort[title]]\"/>\n<$data title=\"Output\" text=\"\"\"<$geomap\n\tstate=<<qualify \"$:/state/demo-map\">>\n\tpopupTemplate=\"ui/PopupTemplate\"\n>\n\t<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/GeoMarker]]\">\n\t\t<$geolayer lat={{!!lat}} long={{!!long}} alt={{!!alt}} color={{!!color}} properties={{{ [[{}]jsonset[title],<currentTiddler>] }}}/>\n\t</$list>\n</$geomap>\n\"\"\"/>\n<$data\n\ttitle=\"Oxford\"\n\ttags=\"$:/tags/GeoMarker\"\n\tcaption=\"Oxford\"\n\tlat=\"51.751944\"\n\tlong=\"-1.257778\"\n\talt=\"0\"\n\ttext=\"\"\"{{$:/core/images/star-filled}} This is Oxford!\"\"\"/>\n\tproperties=\"\"/>\n<$data title=\"ui/PopupTemplate\" text=\"\"\"\n\t<div width=\"300px\">\n\t\t<$let currentTiddler={{{ [<feature>jsonget[properties],[title]] }}}>\n\t\t\t<$link><$text text=<<currentTiddler>>/></$link>\n\t\t\t<!-- <$codeblock code={{{ [<feature>] }}}/> -->\n\t\t\t<$transclude $tiddler=<<currentTiddler>> $mode=\"block\"/>\n\t\t</$let>\n\t</div>\n\"\"\"/>\n<$data $tiddler=\"$:/plugins/tiddlywiki/geospatial\"/>\n</$testcase>\n\n<$testcase>\n<$data\n\ttitle=\"Description\"\n\ttext=\"Map with geomarker with actions\"\n/>\n<$data title=\"MarkerClickActions\" text=\"\"\"\n\t<$action-setfield $tiddler=\"$:/clicked-marker\" text={{{ =[<properties>] =[<lat>] =[<long>] =[<alt>] +[join[,]] }}}/>\n\"\"\"/>\n<$data title=\"Output\" text=\"\"\"Marker: <$text text={{$:/clicked-marker}}/>\n\n<$geomap\n\tstate=<<qualify \"$:/state/demo-map\">>\n>\n\t<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/GeoMarker]]\">\n\t\t<$geolayer lat={{!!lat}} long={{!!long}} alt={{!!alt}} color={{!!color}} properties={{{ [[{}]jsonset[title],<currentTiddler>] }}} clickActions={{MarkerClickActions}}/>\n\t</$list>\n</$geomap>\n\"\"\"/>\n<$data\n\ttitle=\"Oxford\"\n\ttags=\"$:/tags/GeoMarker\"\n\tcaption=\"Oxford\"\n\tlat=\"51.751944\"\n\tlong=\"-1.257778\"\n\talt=\"0\"\n\ttext=\"\"\"{{$:/core/images/star-filled}} This is Oxford!\"\"\"/>\n\tproperties={{{ [[{}]jsonset[title],[Oxford] }}}/>\n<$data $tiddler=\"$:/plugins/tiddlywiki/geospatial\"/>\n</$testcase>\n\n<$testcase>\n<$data\n\ttitle=\"Description\"\n\ttext=\"Map with geofeature\"\n/>\n<$data\n\ttitle=\"Layer\"\n\ttags=\"$:/tags/GeoFeature\"\n\ttype=\"application/json\"\n\tcolor=\"red\"\n\ttext=\"\"\"{\n\t\"type\": \"FeatureCollection\",\n\t\"features\": [\n\t\t{\n\t\t\t\"type\": \"Feature\",\n\t\t\t\"id\": \"An example geofeature feature\",\n\t\t\t\"properties\": {\n\t\t\t\t\"custom\": \"A custom property of this feature\"\n\t\t\t},\n\t\t\t\"geometry\": {\n\t\t\t\t\"type\": \"Polygon\",\n\t\t\t\t\"coordinates\": [\n\t\t\t\t\t[\n\t\t\t\t\t\t[-90,35],\n\t\t\t\t\t\t[-90,30],\n\t\t\t\t\t\t[-85,30],\n\t\t\t\t\t\t[-85,35],\n\t\t\t\t\t\t[-90,35]\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t]\n}\"\"\"/>\n<$data title=\"Output\" text=\"\"\"<$geomap\n\tstate=<<qualify \"$:/state/demo-map\">>\n>\n\t<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/GeoFeature]]\">\n\t\t<$geolayer json={{!!text}} color={{!!color}}/>\n\t</$list>\n</$geomap>\n\"\"\"/>\n<$data $tiddler=\"$:/plugins/tiddlywiki/geospatial\"/>\n</$testcase>\n\n<$testcase>\n<$data $compound-tiddler=\"$:/plugins/tiddlywiki/geospatial/tests/widgets/geomap\"/>\n<$data $tiddler=\"$:/plugins/tiddlywiki/geospatial\"/>\n</$testcase>\n\n<$testcase>\n<$data $compound-tiddler=\"$:/plugins/tiddlywiki/geospatial/tests/widgets/geomap-refresh\"/>\n<$data $tiddler=\"$:/plugins/tiddlywiki/geospatial\"/>\n</$testcase>\n\n<$testcase>\n<$data $compound-tiddler=\"$:/plugins/tiddlywiki/geospatial/tests/widgets/geomap-draggable-marker\"/>\n<$data $tiddler=\"$:/plugins/tiddlywiki/geospatial\"/>\n</$testcase>\n"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/docs/geonearestpoint.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/docs/geonearestpoint\ncaption: geonearestpoint operator\ntags: $:/tags/GeospatialDocs\n\n!! `geonearestpoint` operator\n\nThe `geonearestpoint` operator determines the point in a list that is nearest to a target point. Each input list item is interpreted as a [[GeoJSON Feature]] comprising the candidate points. The target point is specified as the first operand in [[GeoJSON Point Feature]] format.\n\n!! Examples\n\n<$testcase>\n<$data $compound-tiddler=\"$:/plugins/tiddlywiki/geospatial/tests/operators/geonearestpoint\"/>\n<$data $tiddler=\"$:/plugins/tiddlywiki/geospatial\"/>\n</$testcase>\n\n<$testcase>\n<$data $compound-tiddler=\"$:/plugins/tiddlywiki/geospatial/tests/operators/geonearestpoint2\"/>\n<$data $tiddler=\"$:/plugins/tiddlywiki/geospatial\"/>\n</$testcase>\n"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/docs/geopoint.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/docs/geopoint\ncaption: geopoint operator\ntags: $:/tags/GeospatialDocs\n\n!! `geopoint` operator\n\nThe `geopoint` operator converts separate latitude, longitude and (optionally) altitude numbers into a [[GeoJSON Point Feature]] that can be used with other geospatial primitives.\n\nThe coordinates are specified as two or three operands:\n\n```\n[geopoint<latitude>,<longitude>,<attitude>]\n```\n\nAny operands that cannot be interpreted as a valid number will be interpreted as the value zero.\n\n!! Examples\n\n<$testcase>\n<$data $compound-tiddler=\"$:/plugins/tiddlywiki/geospatial/tests/operators/geopoint\"/>\n<$data $tiddler=\"$:/plugins/tiddlywiki/geospatial\"/>\n</$testcase>\n"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/docs/geounion.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/docs/geounion\ncaption: geounion operator\ntags: $:/tags/GeospatialDocs\n\n!! `geounion` operator\n\nThe `geounion` operator calculates the union between two or more [[GeoJSON Polygon Features|GeoJSON Polygon Feature]].\n\nEach input list item is interpreted as a [[GeoJSON Polygon Feature Collection]] containing polygons.\n\n```\n[geounion[]]\n```\n\n!! Examples\n\n<$testcase>\n<$data $compound-tiddler=\"$:/plugins/tiddlywiki/geospatial/tests/operators/geounion-interactive\"/>\n<$data $tiddler=\"$:/plugins/tiddlywiki/geospatial\"/>\n</$testcase>\n"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/docs/olc-decode.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/docs/olc-decode\ncaption: olc-decode operator\ntags: $:/tags/GeospatialDocs\n\n!! `olc-decode` operator\n\nThe `olc-decode` operator converts an [[OpenLocationCode|https://github.com/google/open-location-code]] shortcut into the [[GeoJSON Point Feature]] at its centre or the [[GeoJSON Polygon Feature]] representing the bounds of the area identified by the input code.\n\n!! Examples\n\n<$testcase>\n<$data $compound-tiddler=\"$:/plugins/tiddlywiki/geospatial/tests/operators/olc-decode\"/>\n<$data $tiddler=\"$:/plugins/tiddlywiki/geospatial\"/>\n</$testcase>"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/docs/olc-encode.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/docs/olc-encode\ncaption: olc-encode operator\ntags: $:/tags/GeospatialDocs\n\n!! `olc-encode` operator\n\nThe `olc-encode` operator converts separate latitude and longitude numbers into an [[OpenLocationCode|https://github.com/google/open-location-code]] shortcut code with a specified length (defaults to 11 characters).\n\n!! Examples\n\n<$testcase>\n<$data $compound-tiddler=\"$:/plugins/tiddlywiki/geospatial/tests/operators/olc-encode\"/>\n<$data $tiddler=\"$:/plugins/tiddlywiki/geospatial\"/>\n</$testcase>\n"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/docs.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/docs\n\n<<tabs tabsList:\"[all[tiddlers+shadows]tag[$:/tags/GeospatialDocs]]\" default:\"$:/plugins/tiddlywiki/geospatial/docs/geomap\" class:\"tc-vertical\">>\n"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/files/leaflet.js/LICENSE",
    "content": "BSD 2-Clause License\n\nCopyright (c) 2010-2024, Volodymyr Agafonkin\nCopyright (c) 2010-2011, CloudMade\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n1. Redistributions of source code must retain the above copyright notice, this\n   list of conditions and the following disclaimer.\n\n2. Redistributions in binary form must reproduce the above copyright notice,\n   this list of conditions and the following disclaimer in the documentation\n   and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
  },
  {
    "path": "plugins/tiddlywiki/geospatial/files/leaflet.js/leaflet-src.js",
    "content": "/* @preserve\n * Leaflet 1.9.4, a JS library for interactive maps. https://leafletjs.com\n * (c) 2010-2023 Vladimir Agafonkin, (c) 2010-2011 CloudMade\n */\n\n(function (global, factory) {\n  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n  typeof define === 'function' && define.amd ? define(['exports'], factory) :\n  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.leaflet = {}));\n})(this, (function (exports) { 'use strict';\n\n  var version = \"1.9.4\";\n\n  /*\r\n   * @namespace Util\r\n   *\r\n   * Various utility functions, used by Leaflet internally.\r\n   */\r\n\r\n  // @function extend(dest: Object, src?: Object): Object\r\n  // Merges the properties of the `src` object (or multiple objects) into `dest` object and returns the latter. Has an `L.extend` shortcut.\r\n  function extend(dest) {\r\n  \tvar i, j, len, src;\r\n\r\n  \tfor (j = 1, len = arguments.length; j < len; j++) {\r\n  \t\tsrc = arguments[j];\r\n  \t\tfor (i in src) {\r\n  \t\t\tdest[i] = src[i];\r\n  \t\t}\r\n  \t}\r\n  \treturn dest;\r\n  }\r\n\r\n  // @function create(proto: Object, properties?: Object): Object\r\n  // Compatibility polyfill for [Object.create](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/create)\r\n  var create$2 = Object.create || (function () {\r\n  \tfunction F() {}\r\n  \treturn function (proto) {\r\n  \t\tF.prototype = proto;\r\n  \t\treturn new F();\r\n  \t};\r\n  })();\r\n\r\n  // @function bind(fn: Function, …): Function\r\n  // Returns a new function bound to the arguments passed, like [Function.prototype.bind](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Function/bind).\r\n  // Has a `L.bind()` shortcut.\r\n  function bind(fn, obj) {\r\n  \tvar slice = Array.prototype.slice;\r\n\r\n  \tif (fn.bind) {\r\n  \t\treturn fn.bind.apply(fn, slice.call(arguments, 1));\r\n  \t}\r\n\r\n  \tvar args = slice.call(arguments, 2);\r\n\r\n  \treturn function () {\r\n  \t\treturn fn.apply(obj, args.length ? args.concat(slice.call(arguments)) : arguments);\r\n  \t};\r\n  }\r\n\r\n  // @property lastId: Number\r\n  // Last unique ID used by [`stamp()`](#util-stamp)\r\n  var lastId = 0;\r\n\r\n  // @function stamp(obj: Object): Number\r\n  // Returns the unique ID of an object, assigning it one if it doesn't have it.\r\n  function stamp(obj) {\r\n  \tif (!('_leaflet_id' in obj)) {\r\n  \t\tobj['_leaflet_id'] = ++lastId;\r\n  \t}\r\n  \treturn obj._leaflet_id;\r\n  }\r\n\r\n  // @function throttle(fn: Function, time: Number, context: Object): Function\r\n  // Returns a function which executes function `fn` with the given scope `context`\r\n  // (so that the `this` keyword refers to `context` inside `fn`'s code). The function\r\n  // `fn` will be called no more than one time per given amount of `time`. The arguments\r\n  // received by the bound function will be any arguments passed when binding the\r\n  // function, followed by any arguments passed when invoking the bound function.\r\n  // Has an `L.throttle` shortcut.\r\n  function throttle(fn, time, context) {\r\n  \tvar lock, args, wrapperFn, later;\r\n\r\n  \tlater = function () {\r\n  \t\t// reset lock and call if queued\r\n  \t\tlock = false;\r\n  \t\tif (args) {\r\n  \t\t\twrapperFn.apply(context, args);\r\n  \t\t\targs = false;\r\n  \t\t}\r\n  \t};\r\n\r\n  \twrapperFn = function () {\r\n  \t\tif (lock) {\r\n  \t\t\t// called too soon, queue to call later\r\n  \t\t\targs = arguments;\r\n\r\n  \t\t} else {\r\n  \t\t\t// call and lock until later\r\n  \t\t\tfn.apply(context, arguments);\r\n  \t\t\tsetTimeout(later, time);\r\n  \t\t\tlock = true;\r\n  \t\t}\r\n  \t};\r\n\r\n  \treturn wrapperFn;\r\n  }\r\n\r\n  // @function wrapNum(num: Number, range: Number[], includeMax?: Boolean): Number\r\n  // Returns the number `num` modulo `range` in such a way so it lies within\r\n  // `range[0]` and `range[1]`. The returned value will be always smaller than\r\n  // `range[1]` unless `includeMax` is set to `true`.\r\n  function wrapNum(x, range, includeMax) {\r\n  \tvar max = range[1],\r\n  \t    min = range[0],\r\n  \t    d = max - min;\r\n  \treturn x === max && includeMax ? x : ((x - min) % d + d) % d + min;\r\n  }\r\n\r\n  // @function falseFn(): Function\r\n  // Returns a function which always returns `false`.\r\n  function falseFn() { return false; }\r\n\r\n  // @function formatNum(num: Number, precision?: Number|false): Number\r\n  // Returns the number `num` rounded with specified `precision`.\r\n  // The default `precision` value is 6 decimal places.\r\n  // `false` can be passed to skip any processing (can be useful to avoid round-off errors).\r\n  function formatNum(num, precision) {\r\n  \tif (precision === false) { return num; }\r\n  \tvar pow = Math.pow(10, precision === undefined ? 6 : precision);\r\n  \treturn Math.round(num * pow) / pow;\r\n  }\r\n\r\n  // @function trim(str: String): String\r\n  // Compatibility polyfill for [String.prototype.trim](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim)\r\n  function trim(str) {\r\n  \treturn str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\r\n  }\r\n\r\n  // @function splitWords(str: String): String[]\r\n  // Trims and splits the string on whitespace and returns the array of parts.\r\n  function splitWords(str) {\r\n  \treturn trim(str).split(/\\s+/);\r\n  }\r\n\r\n  // @function setOptions(obj: Object, options: Object): Object\r\n  // Merges the given properties to the `options` of the `obj` object, returning the resulting options. See `Class options`. Has an `L.setOptions` shortcut.\r\n  function setOptions(obj, options) {\r\n  \tif (!Object.prototype.hasOwnProperty.call(obj, 'options')) {\r\n  \t\tobj.options = obj.options ? create$2(obj.options) : {};\r\n  \t}\r\n  \tfor (var i in options) {\r\n  \t\tobj.options[i] = options[i];\r\n  \t}\r\n  \treturn obj.options;\r\n  }\r\n\r\n  // @function getParamString(obj: Object, existingUrl?: String, uppercase?: Boolean): String\r\n  // Converts an object into a parameter URL string, e.g. `{a: \"foo\", b: \"bar\"}`\r\n  // translates to `'?a=foo&b=bar'`. If `existingUrl` is set, the parameters will\r\n  // be appended at the end. If `uppercase` is `true`, the parameter names will\r\n  // be uppercased (e.g. `'?A=foo&B=bar'`)\r\n  function getParamString(obj, existingUrl, uppercase) {\r\n  \tvar params = [];\r\n  \tfor (var i in obj) {\r\n  \t\tparams.push(encodeURIComponent(uppercase ? i.toUpperCase() : i) + '=' + encodeURIComponent(obj[i]));\r\n  \t}\r\n  \treturn ((!existingUrl || existingUrl.indexOf('?') === -1) ? '?' : '&') + params.join('&');\r\n  }\r\n\r\n  var templateRe = /\\{ *([\\w_ -]+) *\\}/g;\r\n\r\n  // @function template(str: String, data: Object): String\r\n  // Simple templating facility, accepts a template string of the form `'Hello {a}, {b}'`\r\n  // and a data object like `{a: 'foo', b: 'bar'}`, returns evaluated string\r\n  // `('Hello foo, bar')`. You can also specify functions instead of strings for\r\n  // data values — they will be evaluated passing `data` as an argument.\r\n  function template(str, data) {\r\n  \treturn str.replace(templateRe, function (str, key) {\r\n  \t\tvar value = data[key];\r\n\r\n  \t\tif (value === undefined) {\r\n  \t\t\tthrow new Error('No value provided for variable ' + str);\r\n\r\n  \t\t} else if (typeof value === 'function') {\r\n  \t\t\tvalue = value(data);\r\n  \t\t}\r\n  \t\treturn value;\r\n  \t});\r\n  }\r\n\r\n  // @function isArray(obj): Boolean\r\n  // Compatibility polyfill for [Array.isArray](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray)\r\n  var isArray = Array.isArray || function (obj) {\r\n  \treturn (Object.prototype.toString.call(obj) === '[object Array]');\r\n  };\r\n\r\n  // @function indexOf(array: Array, el: Object): Number\r\n  // Compatibility polyfill for [Array.prototype.indexOf](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf)\r\n  function indexOf(array, el) {\r\n  \tfor (var i = 0; i < array.length; i++) {\r\n  \t\tif (array[i] === el) { return i; }\r\n  \t}\r\n  \treturn -1;\r\n  }\r\n\r\n  // @property emptyImageUrl: String\r\n  // Data URI string containing a base64-encoded empty GIF image.\r\n  // Used as a hack to free memory from unused images on WebKit-powered\r\n  // mobile devices (by setting image `src` to this string).\r\n  var emptyImageUrl = 'data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=';\r\n\r\n  // inspired by https://paulirish.com/2011/requestanimationframe-for-smart-animating/\r\n\r\n  function getPrefixed(name) {\r\n  \treturn window['webkit' + name] || window['moz' + name] || window['ms' + name];\r\n  }\r\n\r\n  var lastTime = 0;\r\n\r\n  // fallback for IE 7-8\r\n  function timeoutDefer(fn) {\r\n  \tvar time = +new Date(),\r\n  \t    timeToCall = Math.max(0, 16 - (time - lastTime));\r\n\r\n  \tlastTime = time + timeToCall;\r\n  \treturn window.setTimeout(fn, timeToCall);\r\n  }\r\n\r\n  var requestFn = window.requestAnimationFrame || getPrefixed('RequestAnimationFrame') || timeoutDefer;\r\n  var cancelFn = window.cancelAnimationFrame || getPrefixed('CancelAnimationFrame') ||\r\n  \t\tgetPrefixed('CancelRequestAnimationFrame') || function (id) { window.clearTimeout(id); };\r\n\r\n  // @function requestAnimFrame(fn: Function, context?: Object, immediate?: Boolean): Number\r\n  // Schedules `fn` to be executed when the browser repaints. `fn` is bound to\r\n  // `context` if given. When `immediate` is set, `fn` is called immediately if\r\n  // the browser doesn't have native support for\r\n  // [`window.requestAnimationFrame`](https://developer.mozilla.org/docs/Web/API/window/requestAnimationFrame),\r\n  // otherwise it's delayed. Returns a request ID that can be used to cancel the request.\r\n  function requestAnimFrame(fn, context, immediate) {\r\n  \tif (immediate && requestFn === timeoutDefer) {\r\n  \t\tfn.call(context);\r\n  \t} else {\r\n  \t\treturn requestFn.call(window, bind(fn, context));\r\n  \t}\r\n  }\r\n\r\n  // @function cancelAnimFrame(id: Number): undefined\r\n  // Cancels a previous `requestAnimFrame`. See also [window.cancelAnimationFrame](https://developer.mozilla.org/docs/Web/API/window/cancelAnimationFrame).\r\n  function cancelAnimFrame(id) {\r\n  \tif (id) {\r\n  \t\tcancelFn.call(window, id);\r\n  \t}\r\n  }\n\n  var Util = {\n    __proto__: null,\n    extend: extend,\n    create: create$2,\n    bind: bind,\n    get lastId () { return lastId; },\n    stamp: stamp,\n    throttle: throttle,\n    wrapNum: wrapNum,\n    falseFn: falseFn,\n    formatNum: formatNum,\n    trim: trim,\n    splitWords: splitWords,\n    setOptions: setOptions,\n    getParamString: getParamString,\n    template: template,\n    isArray: isArray,\n    indexOf: indexOf,\n    emptyImageUrl: emptyImageUrl,\n    requestFn: requestFn,\n    cancelFn: cancelFn,\n    requestAnimFrame: requestAnimFrame,\n    cancelAnimFrame: cancelAnimFrame\n  };\n\n  // @class Class\r\n  // @aka L.Class\r\n\r\n  // @section\r\n  // @uninheritable\r\n\r\n  // Thanks to John Resig and Dean Edwards for inspiration!\r\n\r\n  function Class() {}\r\n\r\n  Class.extend = function (props) {\r\n\r\n  \t// @function extend(props: Object): Function\r\n  \t// [Extends the current class](#class-inheritance) given the properties to be included.\r\n  \t// Returns a Javascript function that is a class constructor (to be called with `new`).\r\n  \tvar NewClass = function () {\r\n\r\n  \t\tsetOptions(this);\r\n\r\n  \t\t// call the constructor\r\n  \t\tif (this.initialize) {\r\n  \t\t\tthis.initialize.apply(this, arguments);\r\n  \t\t}\r\n\r\n  \t\t// call all constructor hooks\r\n  \t\tthis.callInitHooks();\r\n  \t};\r\n\r\n  \tvar parentProto = NewClass.__super__ = this.prototype;\r\n\r\n  \tvar proto = create$2(parentProto);\r\n  \tproto.constructor = NewClass;\r\n\r\n  \tNewClass.prototype = proto;\r\n\r\n  \t// inherit parent's statics\r\n  \tfor (var i in this) {\r\n  \t\tif (Object.prototype.hasOwnProperty.call(this, i) && i !== 'prototype' && i !== '__super__') {\r\n  \t\t\tNewClass[i] = this[i];\r\n  \t\t}\r\n  \t}\r\n\r\n  \t// mix static properties into the class\r\n  \tif (props.statics) {\r\n  \t\textend(NewClass, props.statics);\r\n  \t}\r\n\r\n  \t// mix includes into the prototype\r\n  \tif (props.includes) {\r\n  \t\tcheckDeprecatedMixinEvents(props.includes);\r\n  \t\textend.apply(null, [proto].concat(props.includes));\r\n  \t}\r\n\r\n  \t// mix given properties into the prototype\r\n  \textend(proto, props);\r\n  \tdelete proto.statics;\r\n  \tdelete proto.includes;\r\n\r\n  \t// merge options\r\n  \tif (proto.options) {\r\n  \t\tproto.options = parentProto.options ? create$2(parentProto.options) : {};\r\n  \t\textend(proto.options, props.options);\r\n  \t}\r\n\r\n  \tproto._initHooks = [];\r\n\r\n  \t// add method for calling all hooks\r\n  \tproto.callInitHooks = function () {\r\n\r\n  \t\tif (this._initHooksCalled) { return; }\r\n\r\n  \t\tif (parentProto.callInitHooks) {\r\n  \t\t\tparentProto.callInitHooks.call(this);\r\n  \t\t}\r\n\r\n  \t\tthis._initHooksCalled = true;\r\n\r\n  \t\tfor (var i = 0, len = proto._initHooks.length; i < len; i++) {\r\n  \t\t\tproto._initHooks[i].call(this);\r\n  \t\t}\r\n  \t};\r\n\r\n  \treturn NewClass;\r\n  };\r\n\r\n\r\n  // @function include(properties: Object): this\r\n  // [Includes a mixin](#class-includes) into the current class.\r\n  Class.include = function (props) {\r\n  \tvar parentOptions = this.prototype.options;\r\n  \textend(this.prototype, props);\r\n  \tif (props.options) {\r\n  \t\tthis.prototype.options = parentOptions;\r\n  \t\tthis.mergeOptions(props.options);\r\n  \t}\r\n  \treturn this;\r\n  };\r\n\r\n  // @function mergeOptions(options: Object): this\r\n  // [Merges `options`](#class-options) into the defaults of the class.\r\n  Class.mergeOptions = function (options) {\r\n  \textend(this.prototype.options, options);\r\n  \treturn this;\r\n  };\r\n\r\n  // @function addInitHook(fn: Function): this\r\n  // Adds a [constructor hook](#class-constructor-hooks) to the class.\r\n  Class.addInitHook = function (fn) { // (Function) || (String, args...)\r\n  \tvar args = Array.prototype.slice.call(arguments, 1);\r\n\r\n  \tvar init = typeof fn === 'function' ? fn : function () {\r\n  \t\tthis[fn].apply(this, args);\r\n  \t};\r\n\r\n  \tthis.prototype._initHooks = this.prototype._initHooks || [];\r\n  \tthis.prototype._initHooks.push(init);\r\n  \treturn this;\r\n  };\r\n\r\n  function checkDeprecatedMixinEvents(includes) {\r\n  \t/* global L: true */\r\n  \tif (typeof L === 'undefined' || !L || !L.Mixin) { return; }\r\n\r\n  \tincludes = isArray(includes) ? includes : [includes];\r\n\r\n  \tfor (var i = 0; i < includes.length; i++) {\r\n  \t\tif (includes[i] === L.Mixin.Events) {\r\n  \t\t\tconsole.warn('Deprecated include of L.Mixin.Events: ' +\r\n  \t\t\t\t'this property will be removed in future releases, ' +\r\n  \t\t\t\t'please inherit from L.Evented instead.', new Error().stack);\r\n  \t\t}\r\n  \t}\r\n  }\n\n  /*\r\n   * @class Evented\r\n   * @aka L.Evented\r\n   * @inherits Class\r\n   *\r\n   * A set of methods shared between event-powered classes (like `Map` and `Marker`). Generally, events allow you to execute some function when something happens with an object (e.g. the user clicks on the map, causing the map to fire `'click'` event).\r\n   *\r\n   * @example\r\n   *\r\n   * ```js\r\n   * map.on('click', function(e) {\r\n   * \talert(e.latlng);\r\n   * } );\r\n   * ```\r\n   *\r\n   * Leaflet deals with event listeners by reference, so if you want to add a listener and then remove it, define it as a function:\r\n   *\r\n   * ```js\r\n   * function onClick(e) { ... }\r\n   *\r\n   * map.on('click', onClick);\r\n   * map.off('click', onClick);\r\n   * ```\r\n   */\r\n\r\n  var Events = {\r\n  \t/* @method on(type: String, fn: Function, context?: Object): this\r\n  \t * Adds a listener function (`fn`) to a particular event type of the object. You can optionally specify the context of the listener (object the this keyword will point to). You can also pass several space-separated types (e.g. `'click dblclick'`).\r\n  \t *\r\n  \t * @alternative\r\n  \t * @method on(eventMap: Object): this\r\n  \t * Adds a set of type/listener pairs, e.g. `{click: onClick, mousemove: onMouseMove}`\r\n  \t */\r\n  \ton: function (types, fn, context) {\r\n\r\n  \t\t// types can be a map of types/handlers\r\n  \t\tif (typeof types === 'object') {\r\n  \t\t\tfor (var type in types) {\r\n  \t\t\t\t// we don't process space-separated events here for performance;\r\n  \t\t\t\t// it's a hot path since Layer uses the on(obj) syntax\r\n  \t\t\t\tthis._on(type, types[type], fn);\r\n  \t\t\t}\r\n\r\n  \t\t} else {\r\n  \t\t\t// types can be a string of space-separated words\r\n  \t\t\ttypes = splitWords(types);\r\n\r\n  \t\t\tfor (var i = 0, len = types.length; i < len; i++) {\r\n  \t\t\t\tthis._on(types[i], fn, context);\r\n  \t\t\t}\r\n  \t\t}\r\n\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t/* @method off(type: String, fn?: Function, context?: Object): this\r\n  \t * Removes a previously added listener function. If no function is specified, it will remove all the listeners of that particular event from the object. Note that if you passed a custom context to `on`, you must pass the same context to `off` in order to remove the listener.\r\n  \t *\r\n  \t * @alternative\r\n  \t * @method off(eventMap: Object): this\r\n  \t * Removes a set of type/listener pairs.\r\n  \t *\r\n  \t * @alternative\r\n  \t * @method off: this\r\n  \t * Removes all listeners to all events on the object. This includes implicitly attached events.\r\n  \t */\r\n  \toff: function (types, fn, context) {\r\n\r\n  \t\tif (!arguments.length) {\r\n  \t\t\t// clear all listeners if called without arguments\r\n  \t\t\tdelete this._events;\r\n\r\n  \t\t} else if (typeof types === 'object') {\r\n  \t\t\tfor (var type in types) {\r\n  \t\t\t\tthis._off(type, types[type], fn);\r\n  \t\t\t}\r\n\r\n  \t\t} else {\r\n  \t\t\ttypes = splitWords(types);\r\n\r\n  \t\t\tvar removeAll = arguments.length === 1;\r\n  \t\t\tfor (var i = 0, len = types.length; i < len; i++) {\r\n  \t\t\t\tif (removeAll) {\r\n  \t\t\t\t\tthis._off(types[i]);\r\n  \t\t\t\t} else {\r\n  \t\t\t\t\tthis._off(types[i], fn, context);\r\n  \t\t\t\t}\r\n  \t\t\t}\r\n  \t\t}\r\n\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// attach listener (without syntactic sugar now)\r\n  \t_on: function (type, fn, context, _once) {\r\n  \t\tif (typeof fn !== 'function') {\r\n  \t\t\tconsole.warn('wrong listener type: ' + typeof fn);\r\n  \t\t\treturn;\r\n  \t\t}\r\n\r\n  \t\t// check if fn already there\r\n  \t\tif (this._listens(type, fn, context) !== false) {\r\n  \t\t\treturn;\r\n  \t\t}\r\n\r\n  \t\tif (context === this) {\r\n  \t\t\t// Less memory footprint.\r\n  \t\t\tcontext = undefined;\r\n  \t\t}\r\n\r\n  \t\tvar newListener = {fn: fn, ctx: context};\r\n  \t\tif (_once) {\r\n  \t\t\tnewListener.once = true;\r\n  \t\t}\r\n\r\n  \t\tthis._events = this._events || {};\r\n  \t\tthis._events[type] = this._events[type] || [];\r\n  \t\tthis._events[type].push(newListener);\r\n  \t},\r\n\r\n  \t_off: function (type, fn, context) {\r\n  \t\tvar listeners,\r\n  \t\t    i,\r\n  \t\t    len;\r\n\r\n  \t\tif (!this._events) {\r\n  \t\t\treturn;\r\n  \t\t}\r\n\r\n  \t\tlisteners = this._events[type];\r\n  \t\tif (!listeners) {\r\n  \t\t\treturn;\r\n  \t\t}\r\n\r\n  \t\tif (arguments.length === 1) { // remove all\r\n  \t\t\tif (this._firingCount) {\r\n  \t\t\t\t// Set all removed listeners to noop\r\n  \t\t\t\t// so they are not called if remove happens in fire\r\n  \t\t\t\tfor (i = 0, len = listeners.length; i < len; i++) {\r\n  \t\t\t\t\tlisteners[i].fn = falseFn;\r\n  \t\t\t\t}\r\n  \t\t\t}\r\n  \t\t\t// clear all listeners for a type if function isn't specified\r\n  \t\t\tdelete this._events[type];\r\n  \t\t\treturn;\r\n  \t\t}\r\n\r\n  \t\tif (typeof fn !== 'function') {\r\n  \t\t\tconsole.warn('wrong listener type: ' + typeof fn);\r\n  \t\t\treturn;\r\n  \t\t}\r\n\r\n  \t\t// find fn and remove it\r\n  \t\tvar index = this._listens(type, fn, context);\r\n  \t\tif (index !== false) {\r\n  \t\t\tvar listener = listeners[index];\r\n  \t\t\tif (this._firingCount) {\r\n  \t\t\t\t// set the removed listener to noop so that's not called if remove happens in fire\r\n  \t\t\t\tlistener.fn = falseFn;\r\n\r\n  \t\t\t\t/* copy array in case events are being fired */\r\n  \t\t\t\tthis._events[type] = listeners = listeners.slice();\r\n  \t\t\t}\r\n  \t\t\tlisteners.splice(index, 1);\r\n  \t\t}\r\n  \t},\r\n\r\n  \t// @method fire(type: String, data?: Object, propagate?: Boolean): this\r\n  \t// Fires an event of the specified type. You can optionally provide a data\r\n  \t// object — the first argument of the listener function will contain its\r\n  \t// properties. The event can optionally be propagated to event parents.\r\n  \tfire: function (type, data, propagate) {\r\n  \t\tif (!this.listens(type, propagate)) { return this; }\r\n\r\n  \t\tvar event = extend({}, data, {\r\n  \t\t\ttype: type,\r\n  \t\t\ttarget: this,\r\n  \t\t\tsourceTarget: data && data.sourceTarget || this\r\n  \t\t});\r\n\r\n  \t\tif (this._events) {\r\n  \t\t\tvar listeners = this._events[type];\r\n  \t\t\tif (listeners) {\r\n  \t\t\t\tthis._firingCount = (this._firingCount + 1) || 1;\r\n  \t\t\t\tfor (var i = 0, len = listeners.length; i < len; i++) {\r\n  \t\t\t\t\tvar l = listeners[i];\r\n  \t\t\t\t\t// off overwrites l.fn, so we need to copy fn to a var\r\n  \t\t\t\t\tvar fn = l.fn;\r\n  \t\t\t\t\tif (l.once) {\r\n  \t\t\t\t\t\tthis.off(type, fn, l.ctx);\r\n  \t\t\t\t\t}\r\n  \t\t\t\t\tfn.call(l.ctx || this, event);\r\n  \t\t\t\t}\r\n\r\n  \t\t\t\tthis._firingCount--;\r\n  \t\t\t}\r\n  \t\t}\r\n\r\n  \t\tif (propagate) {\r\n  \t\t\t// propagate the event to parents (set with addEventParent)\r\n  \t\t\tthis._propagateEvent(event);\r\n  \t\t}\r\n\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method listens(type: String, propagate?: Boolean): Boolean\r\n  \t// @method listens(type: String, fn: Function, context?: Object, propagate?: Boolean): Boolean\r\n  \t// Returns `true` if a particular event type has any listeners attached to it.\r\n  \t// The verification can optionally be propagated, it will return `true` if parents have the listener attached to it.\r\n  \tlistens: function (type, fn, context, propagate) {\r\n  \t\tif (typeof type !== 'string') {\r\n  \t\t\tconsole.warn('\"string\" type argument expected');\r\n  \t\t}\r\n\r\n  \t\t// we don't overwrite the input `fn` value, because we need to use it for propagation\r\n  \t\tvar _fn = fn;\r\n  \t\tif (typeof fn !== 'function') {\r\n  \t\t\tpropagate = !!fn;\r\n  \t\t\t_fn = undefined;\r\n  \t\t\tcontext = undefined;\r\n  \t\t}\r\n\r\n  \t\tvar listeners = this._events && this._events[type];\r\n  \t\tif (listeners && listeners.length) {\r\n  \t\t\tif (this._listens(type, _fn, context) !== false) {\r\n  \t\t\t\treturn true;\r\n  \t\t\t}\r\n  \t\t}\r\n\r\n  \t\tif (propagate) {\r\n  \t\t\t// also check parents for listeners if event propagates\r\n  \t\t\tfor (var id in this._eventParents) {\r\n  \t\t\t\tif (this._eventParents[id].listens(type, fn, context, propagate)) { return true; }\r\n  \t\t\t}\r\n  \t\t}\r\n  \t\treturn false;\r\n  \t},\r\n\r\n  \t// returns the index (number) or false\r\n  \t_listens: function (type, fn, context) {\r\n  \t\tif (!this._events) {\r\n  \t\t\treturn false;\r\n  \t\t}\r\n\r\n  \t\tvar listeners = this._events[type] || [];\r\n  \t\tif (!fn) {\r\n  \t\t\treturn !!listeners.length;\r\n  \t\t}\r\n\r\n  \t\tif (context === this) {\r\n  \t\t\t// Less memory footprint.\r\n  \t\t\tcontext = undefined;\r\n  \t\t}\r\n\r\n  \t\tfor (var i = 0, len = listeners.length; i < len; i++) {\r\n  \t\t\tif (listeners[i].fn === fn && listeners[i].ctx === context) {\r\n  \t\t\t\treturn i;\r\n  \t\t\t}\r\n  \t\t}\r\n  \t\treturn false;\r\n\r\n  \t},\r\n\r\n  \t// @method once(…): this\r\n  \t// Behaves as [`on(…)`](#evented-on), except the listener will only get fired once and then removed.\r\n  \tonce: function (types, fn, context) {\r\n\r\n  \t\t// types can be a map of types/handlers\r\n  \t\tif (typeof types === 'object') {\r\n  \t\t\tfor (var type in types) {\r\n  \t\t\t\t// we don't process space-separated events here for performance;\r\n  \t\t\t\t// it's a hot path since Layer uses the on(obj) syntax\r\n  \t\t\t\tthis._on(type, types[type], fn, true);\r\n  \t\t\t}\r\n\r\n  \t\t} else {\r\n  \t\t\t// types can be a string of space-separated words\r\n  \t\t\ttypes = splitWords(types);\r\n\r\n  \t\t\tfor (var i = 0, len = types.length; i < len; i++) {\r\n  \t\t\t\tthis._on(types[i], fn, context, true);\r\n  \t\t\t}\r\n  \t\t}\r\n\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method addEventParent(obj: Evented): this\r\n  \t// Adds an event parent - an `Evented` that will receive propagated events\r\n  \taddEventParent: function (obj) {\r\n  \t\tthis._eventParents = this._eventParents || {};\r\n  \t\tthis._eventParents[stamp(obj)] = obj;\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method removeEventParent(obj: Evented): this\r\n  \t// Removes an event parent, so it will stop receiving propagated events\r\n  \tremoveEventParent: function (obj) {\r\n  \t\tif (this._eventParents) {\r\n  \t\t\tdelete this._eventParents[stamp(obj)];\r\n  \t\t}\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t_propagateEvent: function (e) {\r\n  \t\tfor (var id in this._eventParents) {\r\n  \t\t\tthis._eventParents[id].fire(e.type, extend({\r\n  \t\t\t\tlayer: e.target,\r\n  \t\t\t\tpropagatedFrom: e.target\r\n  \t\t\t}, e), true);\r\n  \t\t}\r\n  \t}\r\n  };\r\n\r\n  // aliases; we should ditch those eventually\r\n\r\n  // @method addEventListener(…): this\r\n  // Alias to [`on(…)`](#evented-on)\r\n  Events.addEventListener = Events.on;\r\n\r\n  // @method removeEventListener(…): this\r\n  // Alias to [`off(…)`](#evented-off)\r\n\r\n  // @method clearAllEventListeners(…): this\r\n  // Alias to [`off()`](#evented-off)\r\n  Events.removeEventListener = Events.clearAllEventListeners = Events.off;\r\n\r\n  // @method addOneTimeEventListener(…): this\r\n  // Alias to [`once(…)`](#evented-once)\r\n  Events.addOneTimeEventListener = Events.once;\r\n\r\n  // @method fireEvent(…): this\r\n  // Alias to [`fire(…)`](#evented-fire)\r\n  Events.fireEvent = Events.fire;\r\n\r\n  // @method hasEventListeners(…): Boolean\r\n  // Alias to [`listens(…)`](#evented-listens)\r\n  Events.hasEventListeners = Events.listens;\r\n\r\n  var Evented = Class.extend(Events);\n\n  /*\r\n   * @class Point\r\n   * @aka L.Point\r\n   *\r\n   * Represents a point with `x` and `y` coordinates in pixels.\r\n   *\r\n   * @example\r\n   *\r\n   * ```js\r\n   * var point = L.point(200, 300);\r\n   * ```\r\n   *\r\n   * All Leaflet methods and options that accept `Point` objects also accept them in a simple Array form (unless noted otherwise), so these lines are equivalent:\r\n   *\r\n   * ```js\r\n   * map.panBy([200, 300]);\r\n   * map.panBy(L.point(200, 300));\r\n   * ```\r\n   *\r\n   * Note that `Point` does not inherit from Leaflet's `Class` object,\r\n   * which means new classes can't inherit from it, and new methods\r\n   * can't be added to it with the `include` function.\r\n   */\r\n\r\n  function Point(x, y, round) {\r\n  \t// @property x: Number; The `x` coordinate of the point\r\n  \tthis.x = (round ? Math.round(x) : x);\r\n  \t// @property y: Number; The `y` coordinate of the point\r\n  \tthis.y = (round ? Math.round(y) : y);\r\n  }\r\n\r\n  var trunc = Math.trunc || function (v) {\r\n  \treturn v > 0 ? Math.floor(v) : Math.ceil(v);\r\n  };\r\n\r\n  Point.prototype = {\r\n\r\n  \t// @method clone(): Point\r\n  \t// Returns a copy of the current point.\r\n  \tclone: function () {\r\n  \t\treturn new Point(this.x, this.y);\r\n  \t},\r\n\r\n  \t// @method add(otherPoint: Point): Point\r\n  \t// Returns the result of addition of the current and the given points.\r\n  \tadd: function (point) {\r\n  \t\t// non-destructive, returns a new point\r\n  \t\treturn this.clone()._add(toPoint(point));\r\n  \t},\r\n\r\n  \t_add: function (point) {\r\n  \t\t// destructive, used directly for performance in situations where it's safe to modify existing point\r\n  \t\tthis.x += point.x;\r\n  \t\tthis.y += point.y;\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method subtract(otherPoint: Point): Point\r\n  \t// Returns the result of subtraction of the given point from the current.\r\n  \tsubtract: function (point) {\r\n  \t\treturn this.clone()._subtract(toPoint(point));\r\n  \t},\r\n\r\n  \t_subtract: function (point) {\r\n  \t\tthis.x -= point.x;\r\n  \t\tthis.y -= point.y;\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method divideBy(num: Number): Point\r\n  \t// Returns the result of division of the current point by the given number.\r\n  \tdivideBy: function (num) {\r\n  \t\treturn this.clone()._divideBy(num);\r\n  \t},\r\n\r\n  \t_divideBy: function (num) {\r\n  \t\tthis.x /= num;\r\n  \t\tthis.y /= num;\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method multiplyBy(num: Number): Point\r\n  \t// Returns the result of multiplication of the current point by the given number.\r\n  \tmultiplyBy: function (num) {\r\n  \t\treturn this.clone()._multiplyBy(num);\r\n  \t},\r\n\r\n  \t_multiplyBy: function (num) {\r\n  \t\tthis.x *= num;\r\n  \t\tthis.y *= num;\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method scaleBy(scale: Point): Point\r\n  \t// Multiply each coordinate of the current point by each coordinate of\r\n  \t// `scale`. In linear algebra terms, multiply the point by the\r\n  \t// [scaling matrix](https://en.wikipedia.org/wiki/Scaling_%28geometry%29#Matrix_representation)\r\n  \t// defined by `scale`.\r\n  \tscaleBy: function (point) {\r\n  \t\treturn new Point(this.x * point.x, this.y * point.y);\r\n  \t},\r\n\r\n  \t// @method unscaleBy(scale: Point): Point\r\n  \t// Inverse of `scaleBy`. Divide each coordinate of the current point by\r\n  \t// each coordinate of `scale`.\r\n  \tunscaleBy: function (point) {\r\n  \t\treturn new Point(this.x / point.x, this.y / point.y);\r\n  \t},\r\n\r\n  \t// @method round(): Point\r\n  \t// Returns a copy of the current point with rounded coordinates.\r\n  \tround: function () {\r\n  \t\treturn this.clone()._round();\r\n  \t},\r\n\r\n  \t_round: function () {\r\n  \t\tthis.x = Math.round(this.x);\r\n  \t\tthis.y = Math.round(this.y);\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method floor(): Point\r\n  \t// Returns a copy of the current point with floored coordinates (rounded down).\r\n  \tfloor: function () {\r\n  \t\treturn this.clone()._floor();\r\n  \t},\r\n\r\n  \t_floor: function () {\r\n  \t\tthis.x = Math.floor(this.x);\r\n  \t\tthis.y = Math.floor(this.y);\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method ceil(): Point\r\n  \t// Returns a copy of the current point with ceiled coordinates (rounded up).\r\n  \tceil: function () {\r\n  \t\treturn this.clone()._ceil();\r\n  \t},\r\n\r\n  \t_ceil: function () {\r\n  \t\tthis.x = Math.ceil(this.x);\r\n  \t\tthis.y = Math.ceil(this.y);\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method trunc(): Point\r\n  \t// Returns a copy of the current point with truncated coordinates (rounded towards zero).\r\n  \ttrunc: function () {\r\n  \t\treturn this.clone()._trunc();\r\n  \t},\r\n\r\n  \t_trunc: function () {\r\n  \t\tthis.x = trunc(this.x);\r\n  \t\tthis.y = trunc(this.y);\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method distanceTo(otherPoint: Point): Number\r\n  \t// Returns the cartesian distance between the current and the given points.\r\n  \tdistanceTo: function (point) {\r\n  \t\tpoint = toPoint(point);\r\n\r\n  \t\tvar x = point.x - this.x,\r\n  \t\t    y = point.y - this.y;\r\n\r\n  \t\treturn Math.sqrt(x * x + y * y);\r\n  \t},\r\n\r\n  \t// @method equals(otherPoint: Point): Boolean\r\n  \t// Returns `true` if the given point has the same coordinates.\r\n  \tequals: function (point) {\r\n  \t\tpoint = toPoint(point);\r\n\r\n  \t\treturn point.x === this.x &&\r\n  \t\t       point.y === this.y;\r\n  \t},\r\n\r\n  \t// @method contains(otherPoint: Point): Boolean\r\n  \t// Returns `true` if both coordinates of the given point are less than the corresponding current point coordinates (in absolute values).\r\n  \tcontains: function (point) {\r\n  \t\tpoint = toPoint(point);\r\n\r\n  \t\treturn Math.abs(point.x) <= Math.abs(this.x) &&\r\n  \t\t       Math.abs(point.y) <= Math.abs(this.y);\r\n  \t},\r\n\r\n  \t// @method toString(): String\r\n  \t// Returns a string representation of the point for debugging purposes.\r\n  \ttoString: function () {\r\n  \t\treturn 'Point(' +\r\n  \t\t        formatNum(this.x) + ', ' +\r\n  \t\t        formatNum(this.y) + ')';\r\n  \t}\r\n  };\r\n\r\n  // @factory L.point(x: Number, y: Number, round?: Boolean)\r\n  // Creates a Point object with the given `x` and `y` coordinates. If optional `round` is set to true, rounds the `x` and `y` values.\r\n\r\n  // @alternative\r\n  // @factory L.point(coords: Number[])\r\n  // Expects an array of the form `[x, y]` instead.\r\n\r\n  // @alternative\r\n  // @factory L.point(coords: Object)\r\n  // Expects a plain object of the form `{x: Number, y: Number}` instead.\r\n  function toPoint(x, y, round) {\r\n  \tif (x instanceof Point) {\r\n  \t\treturn x;\r\n  \t}\r\n  \tif (isArray(x)) {\r\n  \t\treturn new Point(x[0], x[1]);\r\n  \t}\r\n  \tif (x === undefined || x === null) {\r\n  \t\treturn x;\r\n  \t}\r\n  \tif (typeof x === 'object' && 'x' in x && 'y' in x) {\r\n  \t\treturn new Point(x.x, x.y);\r\n  \t}\r\n  \treturn new Point(x, y, round);\r\n  }\n\n  /*\r\n   * @class Bounds\r\n   * @aka L.Bounds\r\n   *\r\n   * Represents a rectangular area in pixel coordinates.\r\n   *\r\n   * @example\r\n   *\r\n   * ```js\r\n   * var p1 = L.point(10, 10),\r\n   * p2 = L.point(40, 60),\r\n   * bounds = L.bounds(p1, p2);\r\n   * ```\r\n   *\r\n   * All Leaflet methods that accept `Bounds` objects also accept them in a simple Array form (unless noted otherwise), so the bounds example above can be passed like this:\r\n   *\r\n   * ```js\r\n   * otherBounds.intersects([[10, 10], [40, 60]]);\r\n   * ```\r\n   *\r\n   * Note that `Bounds` does not inherit from Leaflet's `Class` object,\r\n   * which means new classes can't inherit from it, and new methods\r\n   * can't be added to it with the `include` function.\r\n   */\r\n\r\n  function Bounds(a, b) {\r\n  \tif (!a) { return; }\r\n\r\n  \tvar points = b ? [a, b] : a;\r\n\r\n  \tfor (var i = 0, len = points.length; i < len; i++) {\r\n  \t\tthis.extend(points[i]);\r\n  \t}\r\n  }\r\n\r\n  Bounds.prototype = {\r\n  \t// @method extend(point: Point): this\r\n  \t// Extends the bounds to contain the given point.\r\n\r\n  \t// @alternative\r\n  \t// @method extend(otherBounds: Bounds): this\r\n  \t// Extend the bounds to contain the given bounds\r\n  \textend: function (obj) {\r\n  \t\tvar min2, max2;\r\n  \t\tif (!obj) { return this; }\r\n\r\n  \t\tif (obj instanceof Point || typeof obj[0] === 'number' || 'x' in obj) {\r\n  \t\t\tmin2 = max2 = toPoint(obj);\r\n  \t\t} else {\r\n  \t\t\tobj = toBounds(obj);\r\n  \t\t\tmin2 = obj.min;\r\n  \t\t\tmax2 = obj.max;\r\n\r\n  \t\t\tif (!min2 || !max2) { return this; }\r\n  \t\t}\r\n\r\n  \t\t// @property min: Point\r\n  \t\t// The top left corner of the rectangle.\r\n  \t\t// @property max: Point\r\n  \t\t// The bottom right corner of the rectangle.\r\n  \t\tif (!this.min && !this.max) {\r\n  \t\t\tthis.min = min2.clone();\r\n  \t\t\tthis.max = max2.clone();\r\n  \t\t} else {\r\n  \t\t\tthis.min.x = Math.min(min2.x, this.min.x);\r\n  \t\t\tthis.max.x = Math.max(max2.x, this.max.x);\r\n  \t\t\tthis.min.y = Math.min(min2.y, this.min.y);\r\n  \t\t\tthis.max.y = Math.max(max2.y, this.max.y);\r\n  \t\t}\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method getCenter(round?: Boolean): Point\r\n  \t// Returns the center point of the bounds.\r\n  \tgetCenter: function (round) {\r\n  \t\treturn toPoint(\r\n  \t\t        (this.min.x + this.max.x) / 2,\r\n  \t\t        (this.min.y + this.max.y) / 2, round);\r\n  \t},\r\n\r\n  \t// @method getBottomLeft(): Point\r\n  \t// Returns the bottom-left point of the bounds.\r\n  \tgetBottomLeft: function () {\r\n  \t\treturn toPoint(this.min.x, this.max.y);\r\n  \t},\r\n\r\n  \t// @method getTopRight(): Point\r\n  \t// Returns the top-right point of the bounds.\r\n  \tgetTopRight: function () { // -> Point\r\n  \t\treturn toPoint(this.max.x, this.min.y);\r\n  \t},\r\n\r\n  \t// @method getTopLeft(): Point\r\n  \t// Returns the top-left point of the bounds (i.e. [`this.min`](#bounds-min)).\r\n  \tgetTopLeft: function () {\r\n  \t\treturn this.min; // left, top\r\n  \t},\r\n\r\n  \t// @method getBottomRight(): Point\r\n  \t// Returns the bottom-right point of the bounds (i.e. [`this.max`](#bounds-max)).\r\n  \tgetBottomRight: function () {\r\n  \t\treturn this.max; // right, bottom\r\n  \t},\r\n\r\n  \t// @method getSize(): Point\r\n  \t// Returns the size of the given bounds\r\n  \tgetSize: function () {\r\n  \t\treturn this.max.subtract(this.min);\r\n  \t},\r\n\r\n  \t// @method contains(otherBounds: Bounds): Boolean\r\n  \t// Returns `true` if the rectangle contains the given one.\r\n  \t// @alternative\r\n  \t// @method contains(point: Point): Boolean\r\n  \t// Returns `true` if the rectangle contains the given point.\r\n  \tcontains: function (obj) {\r\n  \t\tvar min, max;\r\n\r\n  \t\tif (typeof obj[0] === 'number' || obj instanceof Point) {\r\n  \t\t\tobj = toPoint(obj);\r\n  \t\t} else {\r\n  \t\t\tobj = toBounds(obj);\r\n  \t\t}\r\n\r\n  \t\tif (obj instanceof Bounds) {\r\n  \t\t\tmin = obj.min;\r\n  \t\t\tmax = obj.max;\r\n  \t\t} else {\r\n  \t\t\tmin = max = obj;\r\n  \t\t}\r\n\r\n  \t\treturn (min.x >= this.min.x) &&\r\n  \t\t       (max.x <= this.max.x) &&\r\n  \t\t       (min.y >= this.min.y) &&\r\n  \t\t       (max.y <= this.max.y);\r\n  \t},\r\n\r\n  \t// @method intersects(otherBounds: Bounds): Boolean\r\n  \t// Returns `true` if the rectangle intersects the given bounds. Two bounds\r\n  \t// intersect if they have at least one point in common.\r\n  \tintersects: function (bounds) { // (Bounds) -> Boolean\r\n  \t\tbounds = toBounds(bounds);\r\n\r\n  \t\tvar min = this.min,\r\n  \t\t    max = this.max,\r\n  \t\t    min2 = bounds.min,\r\n  \t\t    max2 = bounds.max,\r\n  \t\t    xIntersects = (max2.x >= min.x) && (min2.x <= max.x),\r\n  \t\t    yIntersects = (max2.y >= min.y) && (min2.y <= max.y);\r\n\r\n  \t\treturn xIntersects && yIntersects;\r\n  \t},\r\n\r\n  \t// @method overlaps(otherBounds: Bounds): Boolean\r\n  \t// Returns `true` if the rectangle overlaps the given bounds. Two bounds\r\n  \t// overlap if their intersection is an area.\r\n  \toverlaps: function (bounds) { // (Bounds) -> Boolean\r\n  \t\tbounds = toBounds(bounds);\r\n\r\n  \t\tvar min = this.min,\r\n  \t\t    max = this.max,\r\n  \t\t    min2 = bounds.min,\r\n  \t\t    max2 = bounds.max,\r\n  \t\t    xOverlaps = (max2.x > min.x) && (min2.x < max.x),\r\n  \t\t    yOverlaps = (max2.y > min.y) && (min2.y < max.y);\r\n\r\n  \t\treturn xOverlaps && yOverlaps;\r\n  \t},\r\n\r\n  \t// @method isValid(): Boolean\r\n  \t// Returns `true` if the bounds are properly initialized.\r\n  \tisValid: function () {\r\n  \t\treturn !!(this.min && this.max);\r\n  \t},\r\n\r\n\r\n  \t// @method pad(bufferRatio: Number): Bounds\r\n  \t// Returns bounds created by extending or retracting the current bounds by a given ratio in each direction.\r\n  \t// For example, a ratio of 0.5 extends the bounds by 50% in each direction.\r\n  \t// Negative values will retract the bounds.\r\n  \tpad: function (bufferRatio) {\r\n  \t\tvar min = this.min,\r\n  \t\tmax = this.max,\r\n  \t\theightBuffer = Math.abs(min.x - max.x) * bufferRatio,\r\n  \t\twidthBuffer = Math.abs(min.y - max.y) * bufferRatio;\r\n\r\n\r\n  \t\treturn toBounds(\r\n  \t\t\ttoPoint(min.x - heightBuffer, min.y - widthBuffer),\r\n  \t\t\ttoPoint(max.x + heightBuffer, max.y + widthBuffer));\r\n  \t},\r\n\r\n\r\n  \t// @method equals(otherBounds: Bounds): Boolean\r\n  \t// Returns `true` if the rectangle is equivalent to the given bounds.\r\n  \tequals: function (bounds) {\r\n  \t\tif (!bounds) { return false; }\r\n\r\n  \t\tbounds = toBounds(bounds);\r\n\r\n  \t\treturn this.min.equals(bounds.getTopLeft()) &&\r\n  \t\t\tthis.max.equals(bounds.getBottomRight());\r\n  \t},\r\n  };\r\n\r\n\r\n  // @factory L.bounds(corner1: Point, corner2: Point)\r\n  // Creates a Bounds object from two corners coordinate pairs.\r\n  // @alternative\r\n  // @factory L.bounds(points: Point[])\r\n  // Creates a Bounds object from the given array of points.\r\n  function toBounds(a, b) {\r\n  \tif (!a || a instanceof Bounds) {\r\n  \t\treturn a;\r\n  \t}\r\n  \treturn new Bounds(a, b);\r\n  }\n\n  /*\r\n   * @class LatLngBounds\r\n   * @aka L.LatLngBounds\r\n   *\r\n   * Represents a rectangular geographical area on a map.\r\n   *\r\n   * @example\r\n   *\r\n   * ```js\r\n   * var corner1 = L.latLng(40.712, -74.227),\r\n   * corner2 = L.latLng(40.774, -74.125),\r\n   * bounds = L.latLngBounds(corner1, corner2);\r\n   * ```\r\n   *\r\n   * All Leaflet methods that accept LatLngBounds objects also accept them in a simple Array form (unless noted otherwise), so the bounds example above can be passed like this:\r\n   *\r\n   * ```js\r\n   * map.fitBounds([\r\n   * \t[40.712, -74.227],\r\n   * \t[40.774, -74.125]\r\n   * ]);\r\n   * ```\r\n   *\r\n   * Caution: if the area crosses the antimeridian (often confused with the International Date Line), you must specify corners _outside_ the [-180, 180] degrees longitude range.\r\n   *\r\n   * Note that `LatLngBounds` does not inherit from Leaflet's `Class` object,\r\n   * which means new classes can't inherit from it, and new methods\r\n   * can't be added to it with the `include` function.\r\n   */\r\n\r\n  function LatLngBounds(corner1, corner2) { // (LatLng, LatLng) or (LatLng[])\r\n  \tif (!corner1) { return; }\r\n\r\n  \tvar latlngs = corner2 ? [corner1, corner2] : corner1;\r\n\r\n  \tfor (var i = 0, len = latlngs.length; i < len; i++) {\r\n  \t\tthis.extend(latlngs[i]);\r\n  \t}\r\n  }\r\n\r\n  LatLngBounds.prototype = {\r\n\r\n  \t// @method extend(latlng: LatLng): this\r\n  \t// Extend the bounds to contain the given point\r\n\r\n  \t// @alternative\r\n  \t// @method extend(otherBounds: LatLngBounds): this\r\n  \t// Extend the bounds to contain the given bounds\r\n  \textend: function (obj) {\r\n  \t\tvar sw = this._southWest,\r\n  \t\t    ne = this._northEast,\r\n  \t\t    sw2, ne2;\r\n\r\n  \t\tif (obj instanceof LatLng) {\r\n  \t\t\tsw2 = obj;\r\n  \t\t\tne2 = obj;\r\n\r\n  \t\t} else if (obj instanceof LatLngBounds) {\r\n  \t\t\tsw2 = obj._southWest;\r\n  \t\t\tne2 = obj._northEast;\r\n\r\n  \t\t\tif (!sw2 || !ne2) { return this; }\r\n\r\n  \t\t} else {\r\n  \t\t\treturn obj ? this.extend(toLatLng(obj) || toLatLngBounds(obj)) : this;\r\n  \t\t}\r\n\r\n  \t\tif (!sw && !ne) {\r\n  \t\t\tthis._southWest = new LatLng(sw2.lat, sw2.lng);\r\n  \t\t\tthis._northEast = new LatLng(ne2.lat, ne2.lng);\r\n  \t\t} else {\r\n  \t\t\tsw.lat = Math.min(sw2.lat, sw.lat);\r\n  \t\t\tsw.lng = Math.min(sw2.lng, sw.lng);\r\n  \t\t\tne.lat = Math.max(ne2.lat, ne.lat);\r\n  \t\t\tne.lng = Math.max(ne2.lng, ne.lng);\r\n  \t\t}\r\n\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method pad(bufferRatio: Number): LatLngBounds\r\n  \t// Returns bounds created by extending or retracting the current bounds by a given ratio in each direction.\r\n  \t// For example, a ratio of 0.5 extends the bounds by 50% in each direction.\r\n  \t// Negative values will retract the bounds.\r\n  \tpad: function (bufferRatio) {\r\n  \t\tvar sw = this._southWest,\r\n  \t\t    ne = this._northEast,\r\n  \t\t    heightBuffer = Math.abs(sw.lat - ne.lat) * bufferRatio,\r\n  \t\t    widthBuffer = Math.abs(sw.lng - ne.lng) * bufferRatio;\r\n\r\n  \t\treturn new LatLngBounds(\r\n  \t\t        new LatLng(sw.lat - heightBuffer, sw.lng - widthBuffer),\r\n  \t\t        new LatLng(ne.lat + heightBuffer, ne.lng + widthBuffer));\r\n  \t},\r\n\r\n  \t// @method getCenter(): LatLng\r\n  \t// Returns the center point of the bounds.\r\n  \tgetCenter: function () {\r\n  \t\treturn new LatLng(\r\n  \t\t        (this._southWest.lat + this._northEast.lat) / 2,\r\n  \t\t        (this._southWest.lng + this._northEast.lng) / 2);\r\n  \t},\r\n\r\n  \t// @method getSouthWest(): LatLng\r\n  \t// Returns the south-west point of the bounds.\r\n  \tgetSouthWest: function () {\r\n  \t\treturn this._southWest;\r\n  \t},\r\n\r\n  \t// @method getNorthEast(): LatLng\r\n  \t// Returns the north-east point of the bounds.\r\n  \tgetNorthEast: function () {\r\n  \t\treturn this._northEast;\r\n  \t},\r\n\r\n  \t// @method getNorthWest(): LatLng\r\n  \t// Returns the north-west point of the bounds.\r\n  \tgetNorthWest: function () {\r\n  \t\treturn new LatLng(this.getNorth(), this.getWest());\r\n  \t},\r\n\r\n  \t// @method getSouthEast(): LatLng\r\n  \t// Returns the south-east point of the bounds.\r\n  \tgetSouthEast: function () {\r\n  \t\treturn new LatLng(this.getSouth(), this.getEast());\r\n  \t},\r\n\r\n  \t// @method getWest(): Number\r\n  \t// Returns the west longitude of the bounds\r\n  \tgetWest: function () {\r\n  \t\treturn this._southWest.lng;\r\n  \t},\r\n\r\n  \t// @method getSouth(): Number\r\n  \t// Returns the south latitude of the bounds\r\n  \tgetSouth: function () {\r\n  \t\treturn this._southWest.lat;\r\n  \t},\r\n\r\n  \t// @method getEast(): Number\r\n  \t// Returns the east longitude of the bounds\r\n  \tgetEast: function () {\r\n  \t\treturn this._northEast.lng;\r\n  \t},\r\n\r\n  \t// @method getNorth(): Number\r\n  \t// Returns the north latitude of the bounds\r\n  \tgetNorth: function () {\r\n  \t\treturn this._northEast.lat;\r\n  \t},\r\n\r\n  \t// @method contains(otherBounds: LatLngBounds): Boolean\r\n  \t// Returns `true` if the rectangle contains the given one.\r\n\r\n  \t// @alternative\r\n  \t// @method contains (latlng: LatLng): Boolean\r\n  \t// Returns `true` if the rectangle contains the given point.\r\n  \tcontains: function (obj) { // (LatLngBounds) or (LatLng) -> Boolean\r\n  \t\tif (typeof obj[0] === 'number' || obj instanceof LatLng || 'lat' in obj) {\r\n  \t\t\tobj = toLatLng(obj);\r\n  \t\t} else {\r\n  \t\t\tobj = toLatLngBounds(obj);\r\n  \t\t}\r\n\r\n  \t\tvar sw = this._southWest,\r\n  \t\t    ne = this._northEast,\r\n  \t\t    sw2, ne2;\r\n\r\n  \t\tif (obj instanceof LatLngBounds) {\r\n  \t\t\tsw2 = obj.getSouthWest();\r\n  \t\t\tne2 = obj.getNorthEast();\r\n  \t\t} else {\r\n  \t\t\tsw2 = ne2 = obj;\r\n  \t\t}\r\n\r\n  \t\treturn (sw2.lat >= sw.lat) && (ne2.lat <= ne.lat) &&\r\n  \t\t       (sw2.lng >= sw.lng) && (ne2.lng <= ne.lng);\r\n  \t},\r\n\r\n  \t// @method intersects(otherBounds: LatLngBounds): Boolean\r\n  \t// Returns `true` if the rectangle intersects the given bounds. Two bounds intersect if they have at least one point in common.\r\n  \tintersects: function (bounds) {\r\n  \t\tbounds = toLatLngBounds(bounds);\r\n\r\n  \t\tvar sw = this._southWest,\r\n  \t\t    ne = this._northEast,\r\n  \t\t    sw2 = bounds.getSouthWest(),\r\n  \t\t    ne2 = bounds.getNorthEast(),\r\n\r\n  \t\t    latIntersects = (ne2.lat >= sw.lat) && (sw2.lat <= ne.lat),\r\n  \t\t    lngIntersects = (ne2.lng >= sw.lng) && (sw2.lng <= ne.lng);\r\n\r\n  \t\treturn latIntersects && lngIntersects;\r\n  \t},\r\n\r\n  \t// @method overlaps(otherBounds: LatLngBounds): Boolean\r\n  \t// Returns `true` if the rectangle overlaps the given bounds. Two bounds overlap if their intersection is an area.\r\n  \toverlaps: function (bounds) {\r\n  \t\tbounds = toLatLngBounds(bounds);\r\n\r\n  \t\tvar sw = this._southWest,\r\n  \t\t    ne = this._northEast,\r\n  \t\t    sw2 = bounds.getSouthWest(),\r\n  \t\t    ne2 = bounds.getNorthEast(),\r\n\r\n  \t\t    latOverlaps = (ne2.lat > sw.lat) && (sw2.lat < ne.lat),\r\n  \t\t    lngOverlaps = (ne2.lng > sw.lng) && (sw2.lng < ne.lng);\r\n\r\n  \t\treturn latOverlaps && lngOverlaps;\r\n  \t},\r\n\r\n  \t// @method toBBoxString(): String\r\n  \t// Returns a string with bounding box coordinates in a 'southwest_lng,southwest_lat,northeast_lng,northeast_lat' format. Useful for sending requests to web services that return geo data.\r\n  \ttoBBoxString: function () {\r\n  \t\treturn [this.getWest(), this.getSouth(), this.getEast(), this.getNorth()].join(',');\r\n  \t},\r\n\r\n  \t// @method equals(otherBounds: LatLngBounds, maxMargin?: Number): Boolean\r\n  \t// Returns `true` if the rectangle is equivalent (within a small margin of error) to the given bounds. The margin of error can be overridden by setting `maxMargin` to a small number.\r\n  \tequals: function (bounds, maxMargin) {\r\n  \t\tif (!bounds) { return false; }\r\n\r\n  \t\tbounds = toLatLngBounds(bounds);\r\n\r\n  \t\treturn this._southWest.equals(bounds.getSouthWest(), maxMargin) &&\r\n  \t\t       this._northEast.equals(bounds.getNorthEast(), maxMargin);\r\n  \t},\r\n\r\n  \t// @method isValid(): Boolean\r\n  \t// Returns `true` if the bounds are properly initialized.\r\n  \tisValid: function () {\r\n  \t\treturn !!(this._southWest && this._northEast);\r\n  \t}\r\n  };\r\n\r\n  // TODO International date line?\r\n\r\n  // @factory L.latLngBounds(corner1: LatLng, corner2: LatLng)\r\n  // Creates a `LatLngBounds` object by defining two diagonally opposite corners of the rectangle.\r\n\r\n  // @alternative\r\n  // @factory L.latLngBounds(latlngs: LatLng[])\r\n  // Creates a `LatLngBounds` object defined by the geographical points it contains. Very useful for zooming the map to fit a particular set of locations with [`fitBounds`](#map-fitbounds).\r\n  function toLatLngBounds(a, b) {\r\n  \tif (a instanceof LatLngBounds) {\r\n  \t\treturn a;\r\n  \t}\r\n  \treturn new LatLngBounds(a, b);\r\n  }\n\n  /* @class LatLng\r\n   * @aka L.LatLng\r\n   *\r\n   * Represents a geographical point with a certain latitude and longitude.\r\n   *\r\n   * @example\r\n   *\r\n   * ```\r\n   * var latlng = L.latLng(50.5, 30.5);\r\n   * ```\r\n   *\r\n   * All Leaflet methods that accept LatLng objects also accept them in a simple Array form and simple object form (unless noted otherwise), so these lines are equivalent:\r\n   *\r\n   * ```\r\n   * map.panTo([50, 30]);\r\n   * map.panTo({lon: 30, lat: 50});\r\n   * map.panTo({lat: 50, lng: 30});\r\n   * map.panTo(L.latLng(50, 30));\r\n   * ```\r\n   *\r\n   * Note that `LatLng` does not inherit from Leaflet's `Class` object,\r\n   * which means new classes can't inherit from it, and new methods\r\n   * can't be added to it with the `include` function.\r\n   */\r\n\r\n  function LatLng(lat, lng, alt) {\r\n  \tif (isNaN(lat) || isNaN(lng)) {\r\n  \t\tthrow new Error('Invalid LatLng object: (' + lat + ', ' + lng + ')');\r\n  \t}\r\n\r\n  \t// @property lat: Number\r\n  \t// Latitude in degrees\r\n  \tthis.lat = +lat;\r\n\r\n  \t// @property lng: Number\r\n  \t// Longitude in degrees\r\n  \tthis.lng = +lng;\r\n\r\n  \t// @property alt: Number\r\n  \t// Altitude in meters (optional)\r\n  \tif (alt !== undefined) {\r\n  \t\tthis.alt = +alt;\r\n  \t}\r\n  }\r\n\r\n  LatLng.prototype = {\r\n  \t// @method equals(otherLatLng: LatLng, maxMargin?: Number): Boolean\r\n  \t// Returns `true` if the given `LatLng` point is at the same position (within a small margin of error). The margin of error can be overridden by setting `maxMargin` to a small number.\r\n  \tequals: function (obj, maxMargin) {\r\n  \t\tif (!obj) { return false; }\r\n\r\n  \t\tobj = toLatLng(obj);\r\n\r\n  \t\tvar margin = Math.max(\r\n  \t\t        Math.abs(this.lat - obj.lat),\r\n  \t\t        Math.abs(this.lng - obj.lng));\r\n\r\n  \t\treturn margin <= (maxMargin === undefined ? 1.0E-9 : maxMargin);\r\n  \t},\r\n\r\n  \t// @method toString(): String\r\n  \t// Returns a string representation of the point (for debugging purposes).\r\n  \ttoString: function (precision) {\r\n  \t\treturn 'LatLng(' +\r\n  \t\t        formatNum(this.lat, precision) + ', ' +\r\n  \t\t        formatNum(this.lng, precision) + ')';\r\n  \t},\r\n\r\n  \t// @method distanceTo(otherLatLng: LatLng): Number\r\n  \t// Returns the distance (in meters) to the given `LatLng` calculated using the [Spherical Law of Cosines](https://en.wikipedia.org/wiki/Spherical_law_of_cosines).\r\n  \tdistanceTo: function (other) {\r\n  \t\treturn Earth.distance(this, toLatLng(other));\r\n  \t},\r\n\r\n  \t// @method wrap(): LatLng\r\n  \t// Returns a new `LatLng` object with the longitude wrapped so it's always between -180 and +180 degrees.\r\n  \twrap: function () {\r\n  \t\treturn Earth.wrapLatLng(this);\r\n  \t},\r\n\r\n  \t// @method toBounds(sizeInMeters: Number): LatLngBounds\r\n  \t// Returns a new `LatLngBounds` object in which each boundary is `sizeInMeters/2` meters apart from the `LatLng`.\r\n  \ttoBounds: function (sizeInMeters) {\r\n  \t\tvar latAccuracy = 180 * sizeInMeters / 40075017,\r\n  \t\t    lngAccuracy = latAccuracy / Math.cos((Math.PI / 180) * this.lat);\r\n\r\n  \t\treturn toLatLngBounds(\r\n  \t\t        [this.lat - latAccuracy, this.lng - lngAccuracy],\r\n  \t\t        [this.lat + latAccuracy, this.lng + lngAccuracy]);\r\n  \t},\r\n\r\n  \tclone: function () {\r\n  \t\treturn new LatLng(this.lat, this.lng, this.alt);\r\n  \t}\r\n  };\r\n\r\n\r\n\r\n  // @factory L.latLng(latitude: Number, longitude: Number, altitude?: Number): LatLng\r\n  // Creates an object representing a geographical point with the given latitude and longitude (and optionally altitude).\r\n\r\n  // @alternative\r\n  // @factory L.latLng(coords: Array): LatLng\r\n  // Expects an array of the form `[Number, Number]` or `[Number, Number, Number]` instead.\r\n\r\n  // @alternative\r\n  // @factory L.latLng(coords: Object): LatLng\r\n  // Expects an plain object of the form `{lat: Number, lng: Number}` or `{lat: Number, lng: Number, alt: Number}` instead.\r\n\r\n  function toLatLng(a, b, c) {\r\n  \tif (a instanceof LatLng) {\r\n  \t\treturn a;\r\n  \t}\r\n  \tif (isArray(a) && typeof a[0] !== 'object') {\r\n  \t\tif (a.length === 3) {\r\n  \t\t\treturn new LatLng(a[0], a[1], a[2]);\r\n  \t\t}\r\n  \t\tif (a.length === 2) {\r\n  \t\t\treturn new LatLng(a[0], a[1]);\r\n  \t\t}\r\n  \t\treturn null;\r\n  \t}\r\n  \tif (a === undefined || a === null) {\r\n  \t\treturn a;\r\n  \t}\r\n  \tif (typeof a === 'object' && 'lat' in a) {\r\n  \t\treturn new LatLng(a.lat, 'lng' in a ? a.lng : a.lon, a.alt);\r\n  \t}\r\n  \tif (b === undefined) {\r\n  \t\treturn null;\r\n  \t}\r\n  \treturn new LatLng(a, b, c);\r\n  }\n\n  /*\r\n   * @namespace CRS\r\n   * @crs L.CRS.Base\r\n   * Object that defines coordinate reference systems for projecting\r\n   * geographical points into pixel (screen) coordinates and back (and to\r\n   * coordinates in other units for [WMS](https://en.wikipedia.org/wiki/Web_Map_Service) services). See\r\n   * [spatial reference system](https://en.wikipedia.org/wiki/Spatial_reference_system).\r\n   *\r\n   * Leaflet defines the most usual CRSs by default. If you want to use a\r\n   * CRS not defined by default, take a look at the\r\n   * [Proj4Leaflet](https://github.com/kartena/Proj4Leaflet) plugin.\r\n   *\r\n   * Note that the CRS instances do not inherit from Leaflet's `Class` object,\r\n   * and can't be instantiated. Also, new classes can't inherit from them,\r\n   * and methods can't be added to them with the `include` function.\r\n   */\r\n\r\n  var CRS = {\r\n  \t// @method latLngToPoint(latlng: LatLng, zoom: Number): Point\r\n  \t// Projects geographical coordinates into pixel coordinates for a given zoom.\r\n  \tlatLngToPoint: function (latlng, zoom) {\r\n  \t\tvar projectedPoint = this.projection.project(latlng),\r\n  \t\t    scale = this.scale(zoom);\r\n\r\n  \t\treturn this.transformation._transform(projectedPoint, scale);\r\n  \t},\r\n\r\n  \t// @method pointToLatLng(point: Point, zoom: Number): LatLng\r\n  \t// The inverse of `latLngToPoint`. Projects pixel coordinates on a given\r\n  \t// zoom into geographical coordinates.\r\n  \tpointToLatLng: function (point, zoom) {\r\n  \t\tvar scale = this.scale(zoom),\r\n  \t\t    untransformedPoint = this.transformation.untransform(point, scale);\r\n\r\n  \t\treturn this.projection.unproject(untransformedPoint);\r\n  \t},\r\n\r\n  \t// @method project(latlng: LatLng): Point\r\n  \t// Projects geographical coordinates into coordinates in units accepted for\r\n  \t// this CRS (e.g. meters for EPSG:3857, for passing it to WMS services).\r\n  \tproject: function (latlng) {\r\n  \t\treturn this.projection.project(latlng);\r\n  \t},\r\n\r\n  \t// @method unproject(point: Point): LatLng\r\n  \t// Given a projected coordinate returns the corresponding LatLng.\r\n  \t// The inverse of `project`.\r\n  \tunproject: function (point) {\r\n  \t\treturn this.projection.unproject(point);\r\n  \t},\r\n\r\n  \t// @method scale(zoom: Number): Number\r\n  \t// Returns the scale used when transforming projected coordinates into\r\n  \t// pixel coordinates for a particular zoom. For example, it returns\r\n  \t// `256 * 2^zoom` for Mercator-based CRS.\r\n  \tscale: function (zoom) {\r\n  \t\treturn 256 * Math.pow(2, zoom);\r\n  \t},\r\n\r\n  \t// @method zoom(scale: Number): Number\r\n  \t// Inverse of `scale()`, returns the zoom level corresponding to a scale\r\n  \t// factor of `scale`.\r\n  \tzoom: function (scale) {\r\n  \t\treturn Math.log(scale / 256) / Math.LN2;\r\n  \t},\r\n\r\n  \t// @method getProjectedBounds(zoom: Number): Bounds\r\n  \t// Returns the projection's bounds scaled and transformed for the provided `zoom`.\r\n  \tgetProjectedBounds: function (zoom) {\r\n  \t\tif (this.infinite) { return null; }\r\n\r\n  \t\tvar b = this.projection.bounds,\r\n  \t\t    s = this.scale(zoom),\r\n  \t\t    min = this.transformation.transform(b.min, s),\r\n  \t\t    max = this.transformation.transform(b.max, s);\r\n\r\n  \t\treturn new Bounds(min, max);\r\n  \t},\r\n\r\n  \t// @method distance(latlng1: LatLng, latlng2: LatLng): Number\r\n  \t// Returns the distance between two geographical coordinates.\r\n\r\n  \t// @property code: String\r\n  \t// Standard code name of the CRS passed into WMS services (e.g. `'EPSG:3857'`)\r\n  \t//\r\n  \t// @property wrapLng: Number[]\r\n  \t// An array of two numbers defining whether the longitude (horizontal) coordinate\r\n  \t// axis wraps around a given range and how. Defaults to `[-180, 180]` in most\r\n  \t// geographical CRSs. If `undefined`, the longitude axis does not wrap around.\r\n  \t//\r\n  \t// @property wrapLat: Number[]\r\n  \t// Like `wrapLng`, but for the latitude (vertical) axis.\r\n\r\n  \t// wrapLng: [min, max],\r\n  \t// wrapLat: [min, max],\r\n\r\n  \t// @property infinite: Boolean\r\n  \t// If true, the coordinate space will be unbounded (infinite in both axes)\r\n  \tinfinite: false,\r\n\r\n  \t// @method wrapLatLng(latlng: LatLng): LatLng\r\n  \t// Returns a `LatLng` where lat and lng has been wrapped according to the\r\n  \t// CRS's `wrapLat` and `wrapLng` properties, if they are outside the CRS's bounds.\r\n  \twrapLatLng: function (latlng) {\r\n  \t\tvar lng = this.wrapLng ? wrapNum(latlng.lng, this.wrapLng, true) : latlng.lng,\r\n  \t\t    lat = this.wrapLat ? wrapNum(latlng.lat, this.wrapLat, true) : latlng.lat,\r\n  \t\t    alt = latlng.alt;\r\n\r\n  \t\treturn new LatLng(lat, lng, alt);\r\n  \t},\r\n\r\n  \t// @method wrapLatLngBounds(bounds: LatLngBounds): LatLngBounds\r\n  \t// Returns a `LatLngBounds` with the same size as the given one, ensuring\r\n  \t// that its center is within the CRS's bounds.\r\n  \t// Only accepts actual `L.LatLngBounds` instances, not arrays.\r\n  \twrapLatLngBounds: function (bounds) {\r\n  \t\tvar center = bounds.getCenter(),\r\n  \t\t    newCenter = this.wrapLatLng(center),\r\n  \t\t    latShift = center.lat - newCenter.lat,\r\n  \t\t    lngShift = center.lng - newCenter.lng;\r\n\r\n  \t\tif (latShift === 0 && lngShift === 0) {\r\n  \t\t\treturn bounds;\r\n  \t\t}\r\n\r\n  \t\tvar sw = bounds.getSouthWest(),\r\n  \t\t    ne = bounds.getNorthEast(),\r\n  \t\t    newSw = new LatLng(sw.lat - latShift, sw.lng - lngShift),\r\n  \t\t    newNe = new LatLng(ne.lat - latShift, ne.lng - lngShift);\r\n\r\n  \t\treturn new LatLngBounds(newSw, newNe);\r\n  \t}\r\n  };\n\n  /*\n   * @namespace CRS\n   * @crs L.CRS.Earth\n   *\n   * Serves as the base for CRS that are global such that they cover the earth.\n   * Can only be used as the base for other CRS and cannot be used directly,\n   * since it does not have a `code`, `projection` or `transformation`. `distance()` returns\n   * meters.\n   */\n\n  var Earth = extend({}, CRS, {\n  \twrapLng: [-180, 180],\n\n  \t// Mean Earth Radius, as recommended for use by\n  \t// the International Union of Geodesy and Geophysics,\n  \t// see https://rosettacode.org/wiki/Haversine_formula\n  \tR: 6371000,\n\n  \t// distance between two geographical points using spherical law of cosines approximation\n  \tdistance: function (latlng1, latlng2) {\n  \t\tvar rad = Math.PI / 180,\n  \t\t    lat1 = latlng1.lat * rad,\n  \t\t    lat2 = latlng2.lat * rad,\n  \t\t    sinDLat = Math.sin((latlng2.lat - latlng1.lat) * rad / 2),\n  \t\t    sinDLon = Math.sin((latlng2.lng - latlng1.lng) * rad / 2),\n  \t\t    a = sinDLat * sinDLat + Math.cos(lat1) * Math.cos(lat2) * sinDLon * sinDLon,\n  \t\t    c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n  \t\treturn this.R * c;\n  \t}\n  });\n\n  /*\r\n   * @namespace Projection\r\n   * @projection L.Projection.SphericalMercator\r\n   *\r\n   * Spherical Mercator projection — the most common projection for online maps,\r\n   * used by almost all free and commercial tile providers. Assumes that Earth is\r\n   * a sphere. Used by the `EPSG:3857` CRS.\r\n   */\r\n\r\n  var earthRadius = 6378137;\r\n\r\n  var SphericalMercator = {\r\n\r\n  \tR: earthRadius,\r\n  \tMAX_LATITUDE: 85.0511287798,\r\n\r\n  \tproject: function (latlng) {\r\n  \t\tvar d = Math.PI / 180,\r\n  \t\t    max = this.MAX_LATITUDE,\r\n  \t\t    lat = Math.max(Math.min(max, latlng.lat), -max),\r\n  \t\t    sin = Math.sin(lat * d);\r\n\r\n  \t\treturn new Point(\r\n  \t\t\tthis.R * latlng.lng * d,\r\n  \t\t\tthis.R * Math.log((1 + sin) / (1 - sin)) / 2);\r\n  \t},\r\n\r\n  \tunproject: function (point) {\r\n  \t\tvar d = 180 / Math.PI;\r\n\r\n  \t\treturn new LatLng(\r\n  \t\t\t(2 * Math.atan(Math.exp(point.y / this.R)) - (Math.PI / 2)) * d,\r\n  \t\t\tpoint.x * d / this.R);\r\n  \t},\r\n\r\n  \tbounds: (function () {\r\n  \t\tvar d = earthRadius * Math.PI;\r\n  \t\treturn new Bounds([-d, -d], [d, d]);\r\n  \t})()\r\n  };\n\n  /*\r\n   * @class Transformation\r\n   * @aka L.Transformation\r\n   *\r\n   * Represents an affine transformation: a set of coefficients `a`, `b`, `c`, `d`\r\n   * for transforming a point of a form `(x, y)` into `(a*x + b, c*y + d)` and doing\r\n   * the reverse. Used by Leaflet in its projections code.\r\n   *\r\n   * @example\r\n   *\r\n   * ```js\r\n   * var transformation = L.transformation(2, 5, -1, 10),\r\n   * \tp = L.point(1, 2),\r\n   * \tp2 = transformation.transform(p), //  L.point(7, 8)\r\n   * \tp3 = transformation.untransform(p2); //  L.point(1, 2)\r\n   * ```\r\n   */\r\n\r\n\r\n  // factory new L.Transformation(a: Number, b: Number, c: Number, d: Number)\r\n  // Creates a `Transformation` object with the given coefficients.\r\n  function Transformation(a, b, c, d) {\r\n  \tif (isArray(a)) {\r\n  \t\t// use array properties\r\n  \t\tthis._a = a[0];\r\n  \t\tthis._b = a[1];\r\n  \t\tthis._c = a[2];\r\n  \t\tthis._d = a[3];\r\n  \t\treturn;\r\n  \t}\r\n  \tthis._a = a;\r\n  \tthis._b = b;\r\n  \tthis._c = c;\r\n  \tthis._d = d;\r\n  }\r\n\r\n  Transformation.prototype = {\r\n  \t// @method transform(point: Point, scale?: Number): Point\r\n  \t// Returns a transformed point, optionally multiplied by the given scale.\r\n  \t// Only accepts actual `L.Point` instances, not arrays.\r\n  \ttransform: function (point, scale) { // (Point, Number) -> Point\r\n  \t\treturn this._transform(point.clone(), scale);\r\n  \t},\r\n\r\n  \t// destructive transform (faster)\r\n  \t_transform: function (point, scale) {\r\n  \t\tscale = scale || 1;\r\n  \t\tpoint.x = scale * (this._a * point.x + this._b);\r\n  \t\tpoint.y = scale * (this._c * point.y + this._d);\r\n  \t\treturn point;\r\n  \t},\r\n\r\n  \t// @method untransform(point: Point, scale?: Number): Point\r\n  \t// Returns the reverse transformation of the given point, optionally divided\r\n  \t// by the given scale. Only accepts actual `L.Point` instances, not arrays.\r\n  \tuntransform: function (point, scale) {\r\n  \t\tscale = scale || 1;\r\n  \t\treturn new Point(\r\n  \t\t        (point.x / scale - this._b) / this._a,\r\n  \t\t        (point.y / scale - this._d) / this._c);\r\n  \t}\r\n  };\r\n\r\n  // factory L.transformation(a: Number, b: Number, c: Number, d: Number)\r\n\r\n  // @factory L.transformation(a: Number, b: Number, c: Number, d: Number)\r\n  // Instantiates a Transformation object with the given coefficients.\r\n\r\n  // @alternative\r\n  // @factory L.transformation(coefficients: Array): Transformation\r\n  // Expects an coefficients array of the form\r\n  // `[a: Number, b: Number, c: Number, d: Number]`.\r\n\r\n  function toTransformation(a, b, c, d) {\r\n  \treturn new Transformation(a, b, c, d);\r\n  }\n\n  /*\r\n   * @namespace CRS\r\n   * @crs L.CRS.EPSG3857\r\n   *\r\n   * The most common CRS for online maps, used by almost all free and commercial\r\n   * tile providers. Uses Spherical Mercator projection. Set in by default in\r\n   * Map's `crs` option.\r\n   */\r\n\r\n  var EPSG3857 = extend({}, Earth, {\r\n  \tcode: 'EPSG:3857',\r\n  \tprojection: SphericalMercator,\r\n\r\n  \ttransformation: (function () {\r\n  \t\tvar scale = 0.5 / (Math.PI * SphericalMercator.R);\r\n  \t\treturn toTransformation(scale, 0.5, -scale, 0.5);\r\n  \t}())\r\n  });\r\n\r\n  var EPSG900913 = extend({}, EPSG3857, {\r\n  \tcode: 'EPSG:900913'\r\n  });\n\n  // @namespace SVG; @section\n  // There are several static functions which can be called without instantiating L.SVG:\n\n  // @function create(name: String): SVGElement\n  // Returns a instance of [SVGElement](https://developer.mozilla.org/docs/Web/API/SVGElement),\n  // corresponding to the class name passed. For example, using 'line' will return\n  // an instance of [SVGLineElement](https://developer.mozilla.org/docs/Web/API/SVGLineElement).\n  function svgCreate(name) {\n  \treturn document.createElementNS('http://www.w3.org/2000/svg', name);\n  }\n\n  // @function pointsToPath(rings: Point[], closed: Boolean): String\n  // Generates a SVG path string for multiple rings, with each ring turning\n  // into \"M..L..L..\" instructions\n  function pointsToPath(rings, closed) {\n  \tvar str = '',\n  \ti, j, len, len2, points, p;\n\n  \tfor (i = 0, len = rings.length; i < len; i++) {\n  \t\tpoints = rings[i];\n\n  \t\tfor (j = 0, len2 = points.length; j < len2; j++) {\n  \t\t\tp = points[j];\n  \t\t\tstr += (j ? 'L' : 'M') + p.x + ' ' + p.y;\n  \t\t}\n\n  \t\t// closes the ring for polygons; \"x\" is VML syntax\n  \t\tstr += closed ? (Browser.svg ? 'z' : 'x') : '';\n  \t}\n\n  \t// SVG complains about empty path strings\n  \treturn str || 'M0 0';\n  }\n\n  /*\r\n   * @namespace Browser\r\n   * @aka L.Browser\r\n   *\r\n   * A namespace with static properties for browser/feature detection used by Leaflet internally.\r\n   *\r\n   * @example\r\n   *\r\n   * ```js\r\n   * if (L.Browser.ielt9) {\r\n   *   alert('Upgrade your browser, dude!');\r\n   * }\r\n   * ```\r\n   */\r\n\r\n  var style = document.documentElement.style;\r\n\r\n  // @property ie: Boolean; `true` for all Internet Explorer versions (not Edge).\r\n  var ie = 'ActiveXObject' in window;\r\n\r\n  // @property ielt9: Boolean; `true` for Internet Explorer versions less than 9.\r\n  var ielt9 = ie && !document.addEventListener;\r\n\r\n  // @property edge: Boolean; `true` for the Edge web browser.\r\n  var edge = 'msLaunchUri' in navigator && !('documentMode' in document);\r\n\r\n  // @property webkit: Boolean;\r\n  // `true` for webkit-based browsers like Chrome and Safari (including mobile versions).\r\n  var webkit = userAgentContains('webkit');\r\n\r\n  // @property android: Boolean\r\n  // **Deprecated.** `true` for any browser running on an Android platform.\r\n  var android = userAgentContains('android');\r\n\r\n  // @property android23: Boolean; **Deprecated.** `true` for browsers running on Android 2 or Android 3.\r\n  var android23 = userAgentContains('android 2') || userAgentContains('android 3');\r\n\r\n  /* See https://stackoverflow.com/a/17961266 for details on detecting stock Android */\r\n  var webkitVer = parseInt(/WebKit\\/([0-9]+)|$/.exec(navigator.userAgent)[1], 10); // also matches AppleWebKit\r\n  // @property androidStock: Boolean; **Deprecated.** `true` for the Android stock browser (i.e. not Chrome)\r\n  var androidStock = android && userAgentContains('Google') && webkitVer < 537 && !('AudioNode' in window);\r\n\r\n  // @property opera: Boolean; `true` for the Opera browser\r\n  var opera = !!window.opera;\r\n\r\n  // @property chrome: Boolean; `true` for the Chrome browser.\r\n  var chrome = !edge && userAgentContains('chrome');\r\n\r\n  // @property gecko: Boolean; `true` for gecko-based browsers like Firefox.\r\n  var gecko = userAgentContains('gecko') && !webkit && !opera && !ie;\r\n\r\n  // @property safari: Boolean; `true` for the Safari browser.\r\n  var safari = !chrome && userAgentContains('safari');\r\n\r\n  var phantom = userAgentContains('phantom');\r\n\r\n  // @property opera12: Boolean\r\n  // `true` for the Opera browser supporting CSS transforms (version 12 or later).\r\n  var opera12 = 'OTransition' in style;\r\n\r\n  // @property win: Boolean; `true` when the browser is running in a Windows platform\r\n  var win = navigator.platform.indexOf('Win') === 0;\r\n\r\n  // @property ie3d: Boolean; `true` for all Internet Explorer versions supporting CSS transforms.\r\n  var ie3d = ie && ('transition' in style);\r\n\r\n  // @property webkit3d: Boolean; `true` for webkit-based browsers supporting CSS transforms.\r\n  var webkit3d = ('WebKitCSSMatrix' in window) && ('m11' in new window.WebKitCSSMatrix()) && !android23;\r\n\r\n  // @property gecko3d: Boolean; `true` for gecko-based browsers supporting CSS transforms.\r\n  var gecko3d = 'MozPerspective' in style;\r\n\r\n  // @property any3d: Boolean\r\n  // `true` for all browsers supporting CSS transforms.\r\n  var any3d = !window.L_DISABLE_3D && (ie3d || webkit3d || gecko3d) && !opera12 && !phantom;\r\n\r\n  // @property mobile: Boolean; `true` for all browsers running in a mobile device.\r\n  var mobile = typeof orientation !== 'undefined' || userAgentContains('mobile');\r\n\r\n  // @property mobileWebkit: Boolean; `true` for all webkit-based browsers in a mobile device.\r\n  var mobileWebkit = mobile && webkit;\r\n\r\n  // @property mobileWebkit3d: Boolean\r\n  // `true` for all webkit-based browsers in a mobile device supporting CSS transforms.\r\n  var mobileWebkit3d = mobile && webkit3d;\r\n\r\n  // @property msPointer: Boolean\r\n  // `true` for browsers implementing the Microsoft touch events model (notably IE10).\r\n  var msPointer = !window.PointerEvent && window.MSPointerEvent;\r\n\r\n  // @property pointer: Boolean\r\n  // `true` for all browsers supporting [pointer events](https://msdn.microsoft.com/en-us/library/dn433244%28v=vs.85%29.aspx).\r\n  var pointer = !!(window.PointerEvent || msPointer);\r\n\r\n  // @property touchNative: Boolean\r\n  // `true` for all browsers supporting [touch events](https://developer.mozilla.org/docs/Web/API/Touch_events).\r\n  // **This does not necessarily mean** that the browser is running in a computer with\r\n  // a touchscreen, it only means that the browser is capable of understanding\r\n  // touch events.\r\n  var touchNative = 'ontouchstart' in window || !!window.TouchEvent;\r\n\r\n  // @property touch: Boolean\r\n  // `true` for all browsers supporting either [touch](#browser-touch) or [pointer](#browser-pointer) events.\r\n  // Note: pointer events will be preferred (if available), and processed for all `touch*` listeners.\r\n  var touch = !window.L_NO_TOUCH && (touchNative || pointer);\r\n\r\n  // @property mobileOpera: Boolean; `true` for the Opera browser in a mobile device.\r\n  var mobileOpera = mobile && opera;\r\n\r\n  // @property mobileGecko: Boolean\r\n  // `true` for gecko-based browsers running in a mobile device.\r\n  var mobileGecko = mobile && gecko;\r\n\r\n  // @property retina: Boolean\r\n  // `true` for browsers on a high-resolution \"retina\" screen or on any screen when browser's display zoom is more than 100%.\r\n  var retina = (window.devicePixelRatio || (window.screen.deviceXDPI / window.screen.logicalXDPI)) > 1;\r\n\r\n  // @property passiveEvents: Boolean\r\n  // `true` for browsers that support passive events.\r\n  var passiveEvents = (function () {\r\n  \tvar supportsPassiveOption = false;\r\n  \ttry {\r\n  \t\tvar opts = Object.defineProperty({}, 'passive', {\r\n  \t\t\tget: function () { // eslint-disable-line getter-return\r\n  \t\t\t\tsupportsPassiveOption = true;\r\n  \t\t\t}\r\n  \t\t});\r\n  \t\twindow.addEventListener('testPassiveEventSupport', falseFn, opts);\r\n  \t\twindow.removeEventListener('testPassiveEventSupport', falseFn, opts);\r\n  \t} catch (e) {\r\n  \t\t// Errors can safely be ignored since this is only a browser support test.\r\n  \t}\r\n  \treturn supportsPassiveOption;\r\n  }());\r\n\r\n  // @property canvas: Boolean\r\n  // `true` when the browser supports [`<canvas>`](https://developer.mozilla.org/docs/Web/API/Canvas_API).\r\n  var canvas$1 = (function () {\r\n  \treturn !!document.createElement('canvas').getContext;\r\n  }());\r\n\r\n  // @property svg: Boolean\r\n  // `true` when the browser supports [SVG](https://developer.mozilla.org/docs/Web/SVG).\r\n  var svg$1 = !!(document.createElementNS && svgCreate('svg').createSVGRect);\r\n\r\n  var inlineSvg = !!svg$1 && (function () {\r\n  \tvar div = document.createElement('div');\r\n  \tdiv.innerHTML = '<svg/>';\r\n  \treturn (div.firstChild && div.firstChild.namespaceURI) === 'http://www.w3.org/2000/svg';\r\n  })();\r\n\r\n  // @property vml: Boolean\r\n  // `true` if the browser supports [VML](https://en.wikipedia.org/wiki/Vector_Markup_Language).\r\n  var vml = !svg$1 && (function () {\r\n  \ttry {\r\n  \t\tvar div = document.createElement('div');\r\n  \t\tdiv.innerHTML = '<v:shape adj=\"1\"/>';\r\n\r\n  \t\tvar shape = div.firstChild;\r\n  \t\tshape.style.behavior = 'url(#default#VML)';\r\n\r\n  \t\treturn shape && (typeof shape.adj === 'object');\r\n\r\n  \t} catch (e) {\r\n  \t\treturn false;\r\n  \t}\r\n  }());\r\n\r\n\r\n  // @property mac: Boolean; `true` when the browser is running in a Mac platform\r\n  var mac = navigator.platform.indexOf('Mac') === 0;\r\n\r\n  // @property mac: Boolean; `true` when the browser is running in a Linux platform\r\n  var linux = navigator.platform.indexOf('Linux') === 0;\r\n\r\n  function userAgentContains(str) {\r\n  \treturn navigator.userAgent.toLowerCase().indexOf(str) >= 0;\r\n  }\r\n\r\n\r\n  var Browser = {\r\n  \tie: ie,\r\n  \tielt9: ielt9,\r\n  \tedge: edge,\r\n  \twebkit: webkit,\r\n  \tandroid: android,\r\n  \tandroid23: android23,\r\n  \tandroidStock: androidStock,\r\n  \topera: opera,\r\n  \tchrome: chrome,\r\n  \tgecko: gecko,\r\n  \tsafari: safari,\r\n  \tphantom: phantom,\r\n  \topera12: opera12,\r\n  \twin: win,\r\n  \tie3d: ie3d,\r\n  \twebkit3d: webkit3d,\r\n  \tgecko3d: gecko3d,\r\n  \tany3d: any3d,\r\n  \tmobile: mobile,\r\n  \tmobileWebkit: mobileWebkit,\r\n  \tmobileWebkit3d: mobileWebkit3d,\r\n  \tmsPointer: msPointer,\r\n  \tpointer: pointer,\r\n  \ttouch: touch,\r\n  \ttouchNative: touchNative,\r\n  \tmobileOpera: mobileOpera,\r\n  \tmobileGecko: mobileGecko,\r\n  \tretina: retina,\r\n  \tpassiveEvents: passiveEvents,\r\n  \tcanvas: canvas$1,\r\n  \tsvg: svg$1,\r\n  \tvml: vml,\r\n  \tinlineSvg: inlineSvg,\r\n  \tmac: mac,\r\n  \tlinux: linux\r\n  };\n\n  /*\n   * Extends L.DomEvent to provide touch support for Internet Explorer and Windows-based devices.\n   */\n\n  var POINTER_DOWN =   Browser.msPointer ? 'MSPointerDown'   : 'pointerdown';\n  var POINTER_MOVE =   Browser.msPointer ? 'MSPointerMove'   : 'pointermove';\n  var POINTER_UP =     Browser.msPointer ? 'MSPointerUp'     : 'pointerup';\n  var POINTER_CANCEL = Browser.msPointer ? 'MSPointerCancel' : 'pointercancel';\n  var pEvent = {\n  \ttouchstart  : POINTER_DOWN,\n  \ttouchmove   : POINTER_MOVE,\n  \ttouchend    : POINTER_UP,\n  \ttouchcancel : POINTER_CANCEL\n  };\n  var handle = {\n  \ttouchstart  : _onPointerStart,\n  \ttouchmove   : _handlePointer,\n  \ttouchend    : _handlePointer,\n  \ttouchcancel : _handlePointer\n  };\n  var _pointers = {};\n  var _pointerDocListener = false;\n\n  // Provides a touch events wrapper for (ms)pointer events.\n  // ref https://www.w3.org/TR/pointerevents/ https://www.w3.org/Bugs/Public/show_bug.cgi?id=22890\n\n  function addPointerListener(obj, type, handler) {\n  \tif (type === 'touchstart') {\n  \t\t_addPointerDocListener();\n  \t}\n  \tif (!handle[type]) {\n  \t\tconsole.warn('wrong event specified:', type);\n  \t\treturn falseFn;\n  \t}\n  \thandler = handle[type].bind(this, handler);\n  \tobj.addEventListener(pEvent[type], handler, false);\n  \treturn handler;\n  }\n\n  function removePointerListener(obj, type, handler) {\n  \tif (!pEvent[type]) {\n  \t\tconsole.warn('wrong event specified:', type);\n  \t\treturn;\n  \t}\n  \tobj.removeEventListener(pEvent[type], handler, false);\n  }\n\n  function _globalPointerDown(e) {\n  \t_pointers[e.pointerId] = e;\n  }\n\n  function _globalPointerMove(e) {\n  \tif (_pointers[e.pointerId]) {\n  \t\t_pointers[e.pointerId] = e;\n  \t}\n  }\n\n  function _globalPointerUp(e) {\n  \tdelete _pointers[e.pointerId];\n  }\n\n  function _addPointerDocListener() {\n  \t// need to keep track of what pointers and how many are active to provide e.touches emulation\n  \tif (!_pointerDocListener) {\n  \t\t// we listen document as any drags that end by moving the touch off the screen get fired there\n  \t\tdocument.addEventListener(POINTER_DOWN, _globalPointerDown, true);\n  \t\tdocument.addEventListener(POINTER_MOVE, _globalPointerMove, true);\n  \t\tdocument.addEventListener(POINTER_UP, _globalPointerUp, true);\n  \t\tdocument.addEventListener(POINTER_CANCEL, _globalPointerUp, true);\n\n  \t\t_pointerDocListener = true;\n  \t}\n  }\n\n  function _handlePointer(handler, e) {\n  \tif (e.pointerType === (e.MSPOINTER_TYPE_MOUSE || 'mouse')) { return; }\n\n  \te.touches = [];\n  \tfor (var i in _pointers) {\n  \t\te.touches.push(_pointers[i]);\n  \t}\n  \te.changedTouches = [e];\n\n  \thandler(e);\n  }\n\n  function _onPointerStart(handler, e) {\n  \t// IE10 specific: MsTouch needs preventDefault. See #2000\n  \tif (e.MSPOINTER_TYPE_TOUCH && e.pointerType === e.MSPOINTER_TYPE_TOUCH) {\n  \t\tpreventDefault(e);\n  \t}\n  \t_handlePointer(handler, e);\n  }\n\n  /*\r\n   * Extends the event handling code with double tap support for mobile browsers.\r\n   *\r\n   * Note: currently most browsers fire native dblclick, with only a few exceptions\r\n   * (see https://github.com/Leaflet/Leaflet/issues/7012#issuecomment-595087386)\r\n   */\r\n\r\n  function makeDblclick(event) {\r\n  \t// in modern browsers `type` cannot be just overridden:\r\n  \t// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Getter_only\r\n  \tvar newEvent = {},\r\n  \t    prop, i;\r\n  \tfor (i in event) {\r\n  \t\tprop = event[i];\r\n  \t\tnewEvent[i] = prop && prop.bind ? prop.bind(event) : prop;\r\n  \t}\r\n  \tevent = newEvent;\r\n  \tnewEvent.type = 'dblclick';\r\n  \tnewEvent.detail = 2;\r\n  \tnewEvent.isTrusted = false;\r\n  \tnewEvent._simulated = true; // for debug purposes\r\n  \treturn newEvent;\r\n  }\r\n\r\n  var delay = 200;\r\n  function addDoubleTapListener(obj, handler) {\r\n  \t// Most browsers handle double tap natively\r\n  \tobj.addEventListener('dblclick', handler);\r\n\r\n  \t// On some platforms the browser doesn't fire native dblclicks for touch events.\r\n  \t// It seems that in all such cases `detail` property of `click` event is always `1`.\r\n  \t// So here we rely on that fact to avoid excessive 'dblclick' simulation when not needed.\r\n  \tvar last = 0,\r\n  \t    detail;\r\n  \tfunction simDblclick(e) {\r\n  \t\tif (e.detail !== 1) {\r\n  \t\t\tdetail = e.detail; // keep in sync to avoid false dblclick in some cases\r\n  \t\t\treturn;\r\n  \t\t}\r\n\r\n  \t\tif (e.pointerType === 'mouse' ||\r\n  \t\t\t(e.sourceCapabilities && !e.sourceCapabilities.firesTouchEvents)) {\r\n\r\n  \t\t\treturn;\r\n  \t\t}\r\n\r\n  \t\t// When clicking on an <input>, the browser generates a click on its\r\n  \t\t// <label> (and vice versa) triggering two clicks in quick succession.\r\n  \t\t// This ignores clicks on elements which are a label with a 'for'\r\n  \t\t// attribute (or children of such a label), but not children of\r\n  \t\t// a <input>.\r\n  \t\tvar path = getPropagationPath(e);\r\n  \t\tif (path.some(function (el) {\r\n  \t\t\treturn el instanceof HTMLLabelElement && el.attributes.for;\r\n  \t\t}) &&\r\n  \t\t\t!path.some(function (el) {\r\n  \t\t\t\treturn (\r\n  \t\t\t\t\tel instanceof HTMLInputElement ||\r\n  \t\t\t\t\tel instanceof HTMLSelectElement\r\n  \t\t\t\t);\r\n  \t\t\t})\r\n  \t\t) {\r\n  \t\t\treturn;\r\n  \t\t}\r\n\r\n  \t\tvar now = Date.now();\r\n  \t\tif (now - last <= delay) {\r\n  \t\t\tdetail++;\r\n  \t\t\tif (detail === 2) {\r\n  \t\t\t\thandler(makeDblclick(e));\r\n  \t\t\t}\r\n  \t\t} else {\r\n  \t\t\tdetail = 1;\r\n  \t\t}\r\n  \t\tlast = now;\r\n  \t}\r\n\r\n  \tobj.addEventListener('click', simDblclick);\r\n\r\n  \treturn {\r\n  \t\tdblclick: handler,\r\n  \t\tsimDblclick: simDblclick\r\n  \t};\r\n  }\r\n\r\n  function removeDoubleTapListener(obj, handlers) {\r\n  \tobj.removeEventListener('dblclick', handlers.dblclick);\r\n  \tobj.removeEventListener('click', handlers.simDblclick);\r\n  }\n\n  /*\r\n   * @namespace DomUtil\r\n   *\r\n   * Utility functions to work with the [DOM](https://developer.mozilla.org/docs/Web/API/Document_Object_Model)\r\n   * tree, used by Leaflet internally.\r\n   *\r\n   * Most functions expecting or returning a `HTMLElement` also work for\r\n   * SVG elements. The only difference is that classes refer to CSS classes\r\n   * in HTML and SVG classes in SVG.\r\n   */\r\n\r\n\r\n  // @property TRANSFORM: String\r\n  // Vendor-prefixed transform style name (e.g. `'webkitTransform'` for WebKit).\r\n  var TRANSFORM = testProp(\r\n  \t['transform', 'webkitTransform', 'OTransform', 'MozTransform', 'msTransform']);\r\n\r\n  // webkitTransition comes first because some browser versions that drop vendor prefix don't do\r\n  // the same for the transitionend event, in particular the Android 4.1 stock browser\r\n\r\n  // @property TRANSITION: String\r\n  // Vendor-prefixed transition style name.\r\n  var TRANSITION = testProp(\r\n  \t['webkitTransition', 'transition', 'OTransition', 'MozTransition', 'msTransition']);\r\n\r\n  // @property TRANSITION_END: String\r\n  // Vendor-prefixed transitionend event name.\r\n  var TRANSITION_END =\r\n  \tTRANSITION === 'webkitTransition' || TRANSITION === 'OTransition' ? TRANSITION + 'End' : 'transitionend';\r\n\r\n\r\n  // @function get(id: String|HTMLElement): HTMLElement\r\n  // Returns an element given its DOM id, or returns the element itself\r\n  // if it was passed directly.\r\n  function get(id) {\r\n  \treturn typeof id === 'string' ? document.getElementById(id) : id;\r\n  }\r\n\r\n  // @function getStyle(el: HTMLElement, styleAttrib: String): String\r\n  // Returns the value for a certain style attribute on an element,\r\n  // including computed values or values set through CSS.\r\n  function getStyle(el, style) {\r\n  \tvar value = el.style[style] || (el.currentStyle && el.currentStyle[style]);\r\n\r\n  \tif ((!value || value === 'auto') && document.defaultView) {\r\n  \t\tvar css = document.defaultView.getComputedStyle(el, null);\r\n  \t\tvalue = css ? css[style] : null;\r\n  \t}\r\n  \treturn value === 'auto' ? null : value;\r\n  }\r\n\r\n  // @function create(tagName: String, className?: String, container?: HTMLElement): HTMLElement\r\n  // Creates an HTML element with `tagName`, sets its class to `className`, and optionally appends it to `container` element.\r\n  function create$1(tagName, className, container) {\r\n  \tvar el = document.createElement(tagName);\r\n  \tel.className = className || '';\r\n\r\n  \tif (container) {\r\n  \t\tcontainer.appendChild(el);\r\n  \t}\r\n  \treturn el;\r\n  }\r\n\r\n  // @function remove(el: HTMLElement)\r\n  // Removes `el` from its parent element\r\n  function remove(el) {\r\n  \tvar parent = el.parentNode;\r\n  \tif (parent) {\r\n  \t\tparent.removeChild(el);\r\n  \t}\r\n  }\r\n\r\n  // @function empty(el: HTMLElement)\r\n  // Removes all of `el`'s children elements from `el`\r\n  function empty(el) {\r\n  \twhile (el.firstChild) {\r\n  \t\tel.removeChild(el.firstChild);\r\n  \t}\r\n  }\r\n\r\n  // @function toFront(el: HTMLElement)\r\n  // Makes `el` the last child of its parent, so it renders in front of the other children.\r\n  function toFront(el) {\r\n  \tvar parent = el.parentNode;\r\n  \tif (parent && parent.lastChild !== el) {\r\n  \t\tparent.appendChild(el);\r\n  \t}\r\n  }\r\n\r\n  // @function toBack(el: HTMLElement)\r\n  // Makes `el` the first child of its parent, so it renders behind the other children.\r\n  function toBack(el) {\r\n  \tvar parent = el.parentNode;\r\n  \tif (parent && parent.firstChild !== el) {\r\n  \t\tparent.insertBefore(el, parent.firstChild);\r\n  \t}\r\n  }\r\n\r\n  // @function hasClass(el: HTMLElement, name: String): Boolean\r\n  // Returns `true` if the element's class attribute contains `name`.\r\n  function hasClass(el, name) {\r\n  \tif (el.classList !== undefined) {\r\n  \t\treturn el.classList.contains(name);\r\n  \t}\r\n  \tvar className = getClass(el);\r\n  \treturn className.length > 0 && new RegExp('(^|\\\\s)' + name + '(\\\\s|$)').test(className);\r\n  }\r\n\r\n  // @function addClass(el: HTMLElement, name: String)\r\n  // Adds `name` to the element's class attribute.\r\n  function addClass(el, name) {\r\n  \tif (el.classList !== undefined) {\r\n  \t\tvar classes = splitWords(name);\r\n  \t\tfor (var i = 0, len = classes.length; i < len; i++) {\r\n  \t\t\tel.classList.add(classes[i]);\r\n  \t\t}\r\n  \t} else if (!hasClass(el, name)) {\r\n  \t\tvar className = getClass(el);\r\n  \t\tsetClass(el, (className ? className + ' ' : '') + name);\r\n  \t}\r\n  }\r\n\r\n  // @function removeClass(el: HTMLElement, name: String)\r\n  // Removes `name` from the element's class attribute.\r\n  function removeClass(el, name) {\r\n  \tif (el.classList !== undefined) {\r\n  \t\tel.classList.remove(name);\r\n  \t} else {\r\n  \t\tsetClass(el, trim((' ' + getClass(el) + ' ').replace(' ' + name + ' ', ' ')));\r\n  \t}\r\n  }\r\n\r\n  // @function setClass(el: HTMLElement, name: String)\r\n  // Sets the element's class.\r\n  function setClass(el, name) {\r\n  \tif (el.className.baseVal === undefined) {\r\n  \t\tel.className = name;\r\n  \t} else {\r\n  \t\t// in case of SVG element\r\n  \t\tel.className.baseVal = name;\r\n  \t}\r\n  }\r\n\r\n  // @function getClass(el: HTMLElement): String\r\n  // Returns the element's class.\r\n  function getClass(el) {\r\n  \t// Check if the element is an SVGElementInstance and use the correspondingElement instead\r\n  \t// (Required for linked SVG elements in IE11.)\r\n  \tif (el.correspondingElement) {\r\n  \t\tel = el.correspondingElement;\r\n  \t}\r\n  \treturn el.className.baseVal === undefined ? el.className : el.className.baseVal;\r\n  }\r\n\r\n  // @function setOpacity(el: HTMLElement, opacity: Number)\r\n  // Set the opacity of an element (including old IE support).\r\n  // `opacity` must be a number from `0` to `1`.\r\n  function setOpacity(el, value) {\r\n  \tif ('opacity' in el.style) {\r\n  \t\tel.style.opacity = value;\r\n  \t} else if ('filter' in el.style) {\r\n  \t\t_setOpacityIE(el, value);\r\n  \t}\r\n  }\r\n\r\n  function _setOpacityIE(el, value) {\r\n  \tvar filter = false,\r\n  \t    filterName = 'DXImageTransform.Microsoft.Alpha';\r\n\r\n  \t// filters collection throws an error if we try to retrieve a filter that doesn't exist\r\n  \ttry {\r\n  \t\tfilter = el.filters.item(filterName);\r\n  \t} catch (e) {\r\n  \t\t// don't set opacity to 1 if we haven't already set an opacity,\r\n  \t\t// it isn't needed and breaks transparent pngs.\r\n  \t\tif (value === 1) { return; }\r\n  \t}\r\n\r\n  \tvalue = Math.round(value * 100);\r\n\r\n  \tif (filter) {\r\n  \t\tfilter.Enabled = (value !== 100);\r\n  \t\tfilter.Opacity = value;\r\n  \t} else {\r\n  \t\tel.style.filter += ' progid:' + filterName + '(opacity=' + value + ')';\r\n  \t}\r\n  }\r\n\r\n  // @function testProp(props: String[]): String|false\r\n  // Goes through the array of style names and returns the first name\r\n  // that is a valid style name for an element. If no such name is found,\r\n  // it returns false. Useful for vendor-prefixed styles like `transform`.\r\n  function testProp(props) {\r\n  \tvar style = document.documentElement.style;\r\n\r\n  \tfor (var i = 0; i < props.length; i++) {\r\n  \t\tif (props[i] in style) {\r\n  \t\t\treturn props[i];\r\n  \t\t}\r\n  \t}\r\n  \treturn false;\r\n  }\r\n\r\n  // @function setTransform(el: HTMLElement, offset: Point, scale?: Number)\r\n  // Resets the 3D CSS transform of `el` so it is translated by `offset` pixels\r\n  // and optionally scaled by `scale`. Does not have an effect if the\r\n  // browser doesn't support 3D CSS transforms.\r\n  function setTransform(el, offset, scale) {\r\n  \tvar pos = offset || new Point(0, 0);\r\n\r\n  \tel.style[TRANSFORM] =\r\n  \t\t(Browser.ie3d ?\r\n  \t\t\t'translate(' + pos.x + 'px,' + pos.y + 'px)' :\r\n  \t\t\t'translate3d(' + pos.x + 'px,' + pos.y + 'px,0)') +\r\n  \t\t(scale ? ' scale(' + scale + ')' : '');\r\n  }\r\n\r\n  // @function setPosition(el: HTMLElement, position: Point)\r\n  // Sets the position of `el` to coordinates specified by `position`,\r\n  // using CSS translate or top/left positioning depending on the browser\r\n  // (used by Leaflet internally to position its layers).\r\n  function setPosition(el, point) {\r\n\r\n  \t/*eslint-disable */\r\n  \tel._leaflet_pos = point;\r\n  \t/* eslint-enable */\r\n\r\n  \tif (Browser.any3d) {\r\n  \t\tsetTransform(el, point);\r\n  \t} else {\r\n  \t\tel.style.left = point.x + 'px';\r\n  \t\tel.style.top = point.y + 'px';\r\n  \t}\r\n  }\r\n\r\n  // @function getPosition(el: HTMLElement): Point\r\n  // Returns the coordinates of an element previously positioned with setPosition.\r\n  function getPosition(el) {\r\n  \t// this method is only used for elements previously positioned using setPosition,\r\n  \t// so it's safe to cache the position for performance\r\n\r\n  \treturn el._leaflet_pos || new Point(0, 0);\r\n  }\r\n\r\n  // @function disableTextSelection()\r\n  // Prevents the user from generating `selectstart` DOM events, usually generated\r\n  // when the user drags the mouse through a page with text. Used internally\r\n  // by Leaflet to override the behaviour of any click-and-drag interaction on\r\n  // the map. Affects drag interactions on the whole document.\r\n\r\n  // @function enableTextSelection()\r\n  // Cancels the effects of a previous [`L.DomUtil.disableTextSelection`](#domutil-disabletextselection).\r\n  var disableTextSelection;\r\n  var enableTextSelection;\r\n  var _userSelect;\r\n  if ('onselectstart' in document) {\r\n  \tdisableTextSelection = function () {\r\n  \t\ton(window, 'selectstart', preventDefault);\r\n  \t};\r\n  \tenableTextSelection = function () {\r\n  \t\toff(window, 'selectstart', preventDefault);\r\n  \t};\r\n  } else {\r\n  \tvar userSelectProperty = testProp(\r\n  \t\t['userSelect', 'WebkitUserSelect', 'OUserSelect', 'MozUserSelect', 'msUserSelect']);\r\n\r\n  \tdisableTextSelection = function () {\r\n  \t\tif (userSelectProperty) {\r\n  \t\t\tvar style = document.documentElement.style;\r\n  \t\t\t_userSelect = style[userSelectProperty];\r\n  \t\t\tstyle[userSelectProperty] = 'none';\r\n  \t\t}\r\n  \t};\r\n  \tenableTextSelection = function () {\r\n  \t\tif (userSelectProperty) {\r\n  \t\t\tdocument.documentElement.style[userSelectProperty] = _userSelect;\r\n  \t\t\t_userSelect = undefined;\r\n  \t\t}\r\n  \t};\r\n  }\r\n\r\n  // @function disableImageDrag()\r\n  // As [`L.DomUtil.disableTextSelection`](#domutil-disabletextselection), but\r\n  // for `dragstart` DOM events, usually generated when the user drags an image.\r\n  function disableImageDrag() {\r\n  \ton(window, 'dragstart', preventDefault);\r\n  }\r\n\r\n  // @function enableImageDrag()\r\n  // Cancels the effects of a previous [`L.DomUtil.disableImageDrag`](#domutil-disabletextselection).\r\n  function enableImageDrag() {\r\n  \toff(window, 'dragstart', preventDefault);\r\n  }\r\n\r\n  var _outlineElement, _outlineStyle;\r\n  // @function preventOutline(el: HTMLElement)\r\n  // Makes the [outline](https://developer.mozilla.org/docs/Web/CSS/outline)\r\n  // of the element `el` invisible. Used internally by Leaflet to prevent\r\n  // focusable elements from displaying an outline when the user performs a\r\n  // drag interaction on them.\r\n  function preventOutline(element) {\r\n  \twhile (element.tabIndex === -1) {\r\n  \t\telement = element.parentNode;\r\n  \t}\r\n  \tif (!element.style) { return; }\r\n  \trestoreOutline();\r\n  \t_outlineElement = element;\r\n  \t_outlineStyle = element.style.outlineStyle;\r\n  \telement.style.outlineStyle = 'none';\r\n  \ton(window, 'keydown', restoreOutline);\r\n  }\r\n\r\n  // @function restoreOutline()\r\n  // Cancels the effects of a previous [`L.DomUtil.preventOutline`]().\r\n  function restoreOutline() {\r\n  \tif (!_outlineElement) { return; }\r\n  \t_outlineElement.style.outlineStyle = _outlineStyle;\r\n  \t_outlineElement = undefined;\r\n  \t_outlineStyle = undefined;\r\n  \toff(window, 'keydown', restoreOutline);\r\n  }\r\n\r\n  // @function getSizedParentNode(el: HTMLElement): HTMLElement\r\n  // Finds the closest parent node which size (width and height) is not null.\r\n  function getSizedParentNode(element) {\r\n  \tdo {\r\n  \t\telement = element.parentNode;\r\n  \t} while ((!element.offsetWidth || !element.offsetHeight) && element !== document.body);\r\n  \treturn element;\r\n  }\r\n\r\n  // @function getScale(el: HTMLElement): Object\r\n  // Computes the CSS scale currently applied on the element.\r\n  // Returns an object with `x` and `y` members as horizontal and vertical scales respectively,\r\n  // and `boundingClientRect` as the result of [`getBoundingClientRect()`](https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect).\r\n  function getScale(element) {\r\n  \tvar rect = element.getBoundingClientRect(); // Read-only in old browsers.\r\n\r\n  \treturn {\r\n  \t\tx: rect.width / element.offsetWidth || 1,\r\n  \t\ty: rect.height / element.offsetHeight || 1,\r\n  \t\tboundingClientRect: rect\r\n  \t};\r\n  }\n\n  var DomUtil = {\n    __proto__: null,\n    TRANSFORM: TRANSFORM,\n    TRANSITION: TRANSITION,\n    TRANSITION_END: TRANSITION_END,\n    get: get,\n    getStyle: getStyle,\n    create: create$1,\n    remove: remove,\n    empty: empty,\n    toFront: toFront,\n    toBack: toBack,\n    hasClass: hasClass,\n    addClass: addClass,\n    removeClass: removeClass,\n    setClass: setClass,\n    getClass: getClass,\n    setOpacity: setOpacity,\n    testProp: testProp,\n    setTransform: setTransform,\n    setPosition: setPosition,\n    getPosition: getPosition,\n    get disableTextSelection () { return disableTextSelection; },\n    get enableTextSelection () { return enableTextSelection; },\n    disableImageDrag: disableImageDrag,\n    enableImageDrag: enableImageDrag,\n    preventOutline: preventOutline,\n    restoreOutline: restoreOutline,\n    getSizedParentNode: getSizedParentNode,\n    getScale: getScale\n  };\n\n  /*\r\n   * @namespace DomEvent\r\n   * Utility functions to work with the [DOM events](https://developer.mozilla.org/docs/Web/API/Event), used by Leaflet internally.\r\n   */\r\n\r\n  // Inspired by John Resig, Dean Edwards and YUI addEvent implementations.\r\n\r\n  // @function on(el: HTMLElement, types: String, fn: Function, context?: Object): this\r\n  // Adds a listener function (`fn`) to a particular DOM event type of the\r\n  // element `el`. You can optionally specify the context of the listener\r\n  // (object the `this` keyword will point to). You can also pass several\r\n  // space-separated types (e.g. `'click dblclick'`).\r\n\r\n  // @alternative\r\n  // @function on(el: HTMLElement, eventMap: Object, context?: Object): this\r\n  // Adds a set of type/listener pairs, e.g. `{click: onClick, mousemove: onMouseMove}`\r\n  function on(obj, types, fn, context) {\r\n\r\n  \tif (types && typeof types === 'object') {\r\n  \t\tfor (var type in types) {\r\n  \t\t\taddOne(obj, type, types[type], fn);\r\n  \t\t}\r\n  \t} else {\r\n  \t\ttypes = splitWords(types);\r\n\r\n  \t\tfor (var i = 0, len = types.length; i < len; i++) {\r\n  \t\t\taddOne(obj, types[i], fn, context);\r\n  \t\t}\r\n  \t}\r\n\r\n  \treturn this;\r\n  }\r\n\r\n  var eventsKey = '_leaflet_events';\r\n\r\n  // @function off(el: HTMLElement, types: String, fn: Function, context?: Object): this\r\n  // Removes a previously added listener function.\r\n  // Note that if you passed a custom context to on, you must pass the same\r\n  // context to `off` in order to remove the listener.\r\n\r\n  // @alternative\r\n  // @function off(el: HTMLElement, eventMap: Object, context?: Object): this\r\n  // Removes a set of type/listener pairs, e.g. `{click: onClick, mousemove: onMouseMove}`\r\n\r\n  // @alternative\r\n  // @function off(el: HTMLElement, types: String): this\r\n  // Removes all previously added listeners of given types.\r\n\r\n  // @alternative\r\n  // @function off(el: HTMLElement): this\r\n  // Removes all previously added listeners from given HTMLElement\r\n  function off(obj, types, fn, context) {\r\n\r\n  \tif (arguments.length === 1) {\r\n  \t\tbatchRemove(obj);\r\n  \t\tdelete obj[eventsKey];\r\n\r\n  \t} else if (types && typeof types === 'object') {\r\n  \t\tfor (var type in types) {\r\n  \t\t\tremoveOne(obj, type, types[type], fn);\r\n  \t\t}\r\n\r\n  \t} else {\r\n  \t\ttypes = splitWords(types);\r\n\r\n  \t\tif (arguments.length === 2) {\r\n  \t\t\tbatchRemove(obj, function (type) {\r\n  \t\t\t\treturn indexOf(types, type) !== -1;\r\n  \t\t\t});\r\n  \t\t} else {\r\n  \t\t\tfor (var i = 0, len = types.length; i < len; i++) {\r\n  \t\t\t\tremoveOne(obj, types[i], fn, context);\r\n  \t\t\t}\r\n  \t\t}\r\n  \t}\r\n\r\n  \treturn this;\r\n  }\r\n\r\n  function batchRemove(obj, filterFn) {\r\n  \tfor (var id in obj[eventsKey]) {\r\n  \t\tvar type = id.split(/\\d/)[0];\r\n  \t\tif (!filterFn || filterFn(type)) {\r\n  \t\t\tremoveOne(obj, type, null, null, id);\r\n  \t\t}\r\n  \t}\r\n  }\r\n\r\n  var mouseSubst = {\r\n  \tmouseenter: 'mouseover',\r\n  \tmouseleave: 'mouseout',\r\n  \twheel: !('onwheel' in window) && 'mousewheel'\r\n  };\r\n\r\n  function addOne(obj, type, fn, context) {\r\n  \tvar id = type + stamp(fn) + (context ? '_' + stamp(context) : '');\r\n\r\n  \tif (obj[eventsKey] && obj[eventsKey][id]) { return this; }\r\n\r\n  \tvar handler = function (e) {\r\n  \t\treturn fn.call(context || obj, e || window.event);\r\n  \t};\r\n\r\n  \tvar originalHandler = handler;\r\n\r\n  \tif (!Browser.touchNative && Browser.pointer && type.indexOf('touch') === 0) {\r\n  \t\t// Needs DomEvent.Pointer.js\r\n  \t\thandler = addPointerListener(obj, type, handler);\r\n\r\n  \t} else if (Browser.touch && (type === 'dblclick')) {\r\n  \t\thandler = addDoubleTapListener(obj, handler);\r\n\r\n  \t} else if ('addEventListener' in obj) {\r\n\r\n  \t\tif (type === 'touchstart' || type === 'touchmove' || type === 'wheel' ||  type === 'mousewheel') {\r\n  \t\t\tobj.addEventListener(mouseSubst[type] || type, handler, Browser.passiveEvents ? {passive: false} : false);\r\n\r\n  \t\t} else if (type === 'mouseenter' || type === 'mouseleave') {\r\n  \t\t\thandler = function (e) {\r\n  \t\t\t\te = e || window.event;\r\n  \t\t\t\tif (isExternalTarget(obj, e)) {\r\n  \t\t\t\t\toriginalHandler(e);\r\n  \t\t\t\t}\r\n  \t\t\t};\r\n  \t\t\tobj.addEventListener(mouseSubst[type], handler, false);\r\n\r\n  \t\t} else {\r\n  \t\t\tobj.addEventListener(type, originalHandler, false);\r\n  \t\t}\r\n\r\n  \t} else {\r\n  \t\tobj.attachEvent('on' + type, handler);\r\n  \t}\r\n\r\n  \tobj[eventsKey] = obj[eventsKey] || {};\r\n  \tobj[eventsKey][id] = handler;\r\n  }\r\n\r\n  function removeOne(obj, type, fn, context, id) {\r\n  \tid = id || type + stamp(fn) + (context ? '_' + stamp(context) : '');\r\n  \tvar handler = obj[eventsKey] && obj[eventsKey][id];\r\n\r\n  \tif (!handler) { return this; }\r\n\r\n  \tif (!Browser.touchNative && Browser.pointer && type.indexOf('touch') === 0) {\r\n  \t\tremovePointerListener(obj, type, handler);\r\n\r\n  \t} else if (Browser.touch && (type === 'dblclick')) {\r\n  \t\tremoveDoubleTapListener(obj, handler);\r\n\r\n  \t} else if ('removeEventListener' in obj) {\r\n\r\n  \t\tobj.removeEventListener(mouseSubst[type] || type, handler, false);\r\n\r\n  \t} else {\r\n  \t\tobj.detachEvent('on' + type, handler);\r\n  \t}\r\n\r\n  \tobj[eventsKey][id] = null;\r\n  }\r\n\r\n  // @function stopPropagation(ev: DOMEvent): this\r\n  // Stop the given event from propagation to parent elements. Used inside the listener functions:\r\n  // ```js\r\n  // L.DomEvent.on(div, 'click', function (ev) {\r\n  // \tL.DomEvent.stopPropagation(ev);\r\n  // });\r\n  // ```\r\n  function stopPropagation(e) {\r\n\r\n  \tif (e.stopPropagation) {\r\n  \t\te.stopPropagation();\r\n  \t} else if (e.originalEvent) {  // In case of Leaflet event.\r\n  \t\te.originalEvent._stopped = true;\r\n  \t} else {\r\n  \t\te.cancelBubble = true;\r\n  \t}\r\n\r\n  \treturn this;\r\n  }\r\n\r\n  // @function disableScrollPropagation(el: HTMLElement): this\r\n  // Adds `stopPropagation` to the element's `'wheel'` events (plus browser variants).\r\n  function disableScrollPropagation(el) {\r\n  \taddOne(el, 'wheel', stopPropagation);\r\n  \treturn this;\r\n  }\r\n\r\n  // @function disableClickPropagation(el: HTMLElement): this\r\n  // Adds `stopPropagation` to the element's `'click'`, `'dblclick'`, `'contextmenu'`,\r\n  // `'mousedown'` and `'touchstart'` events (plus browser variants).\r\n  function disableClickPropagation(el) {\r\n  \ton(el, 'mousedown touchstart dblclick contextmenu', stopPropagation);\r\n  \tel['_leaflet_disable_click'] = true;\r\n  \treturn this;\r\n  }\r\n\r\n  // @function preventDefault(ev: DOMEvent): this\r\n  // Prevents the default action of the DOM Event `ev` from happening (such as\r\n  // following a link in the href of the a element, or doing a POST request\r\n  // with page reload when a `<form>` is submitted).\r\n  // Use it inside listener functions.\r\n  function preventDefault(e) {\r\n  \tif (e.preventDefault) {\r\n  \t\te.preventDefault();\r\n  \t} else {\r\n  \t\te.returnValue = false;\r\n  \t}\r\n  \treturn this;\r\n  }\r\n\r\n  // @function stop(ev: DOMEvent): this\r\n  // Does `stopPropagation` and `preventDefault` at the same time.\r\n  function stop(e) {\r\n  \tpreventDefault(e);\r\n  \tstopPropagation(e);\r\n  \treturn this;\r\n  }\r\n\r\n  // @function getPropagationPath(ev: DOMEvent): Array\r\n  // Compatibility polyfill for [`Event.composedPath()`](https://developer.mozilla.org/en-US/docs/Web/API/Event/composedPath).\r\n  // Returns an array containing the `HTMLElement`s that the given DOM event\r\n  // should propagate to (if not stopped).\r\n  function getPropagationPath(ev) {\r\n  \tif (ev.composedPath) {\r\n  \t\treturn ev.composedPath();\r\n  \t}\r\n\r\n  \tvar path = [];\r\n  \tvar el = ev.target;\r\n\r\n  \twhile (el) {\r\n  \t\tpath.push(el);\r\n  \t\tel = el.parentNode;\r\n  \t}\r\n  \treturn path;\r\n  }\r\n\r\n\r\n  // @function getMousePosition(ev: DOMEvent, container?: HTMLElement): Point\r\n  // Gets normalized mouse position from a DOM event relative to the\r\n  // `container` (border excluded) or to the whole page if not specified.\r\n  function getMousePosition(e, container) {\r\n  \tif (!container) {\r\n  \t\treturn new Point(e.clientX, e.clientY);\r\n  \t}\r\n\r\n  \tvar scale = getScale(container),\r\n  \t    offset = scale.boundingClientRect; // left and top  values are in page scale (like the event clientX/Y)\r\n\r\n  \treturn new Point(\r\n  \t\t// offset.left/top values are in page scale (like clientX/Y),\r\n  \t\t// whereas clientLeft/Top (border width) values are the original values (before CSS scale applies).\r\n  \t\t(e.clientX - offset.left) / scale.x - container.clientLeft,\r\n  \t\t(e.clientY - offset.top) / scale.y - container.clientTop\r\n  \t);\r\n  }\r\n\r\n\r\n  //  except , Safari and\r\n  // We need double the scroll pixels (see #7403 and #4538) for all Browsers\r\n  // except OSX (Mac) -> 3x, Chrome running on Linux 1x\r\n\r\n  var wheelPxFactor =\r\n  \t(Browser.linux && Browser.chrome) ? window.devicePixelRatio :\r\n  \tBrowser.mac ? window.devicePixelRatio * 3 :\r\n  \twindow.devicePixelRatio > 0 ? 2 * window.devicePixelRatio : 1;\r\n  // @function getWheelDelta(ev: DOMEvent): Number\r\n  // Gets normalized wheel delta from a wheel DOM event, in vertical\r\n  // pixels scrolled (negative if scrolling down).\r\n  // Events from pointing devices without precise scrolling are mapped to\r\n  // a best guess of 60 pixels.\r\n  function getWheelDelta(e) {\r\n  \treturn (Browser.edge) ? e.wheelDeltaY / 2 : // Don't trust window-geometry-based delta\r\n  \t       (e.deltaY && e.deltaMode === 0) ? -e.deltaY / wheelPxFactor : // Pixels\r\n  \t       (e.deltaY && e.deltaMode === 1) ? -e.deltaY * 20 : // Lines\r\n  \t       (e.deltaY && e.deltaMode === 2) ? -e.deltaY * 60 : // Pages\r\n  \t       (e.deltaX || e.deltaZ) ? 0 :\t// Skip horizontal/depth wheel events\r\n  \t       e.wheelDelta ? (e.wheelDeltaY || e.wheelDelta) / 2 : // Legacy IE pixels\r\n  \t       (e.detail && Math.abs(e.detail) < 32765) ? -e.detail * 20 : // Legacy Moz lines\r\n  \t       e.detail ? e.detail / -32765 * 60 : // Legacy Moz pages\r\n  \t       0;\r\n  }\r\n\r\n  // check if element really left/entered the event target (for mouseenter/mouseleave)\r\n  function isExternalTarget(el, e) {\r\n\r\n  \tvar related = e.relatedTarget;\r\n\r\n  \tif (!related) { return true; }\r\n\r\n  \ttry {\r\n  \t\twhile (related && (related !== el)) {\r\n  \t\t\trelated = related.parentNode;\r\n  \t\t}\r\n  \t} catch (err) {\r\n  \t\treturn false;\r\n  \t}\r\n  \treturn (related !== el);\r\n  }\n\n  var DomEvent = {\n    __proto__: null,\n    on: on,\n    off: off,\n    stopPropagation: stopPropagation,\n    disableScrollPropagation: disableScrollPropagation,\n    disableClickPropagation: disableClickPropagation,\n    preventDefault: preventDefault,\n    stop: stop,\n    getPropagationPath: getPropagationPath,\n    getMousePosition: getMousePosition,\n    getWheelDelta: getWheelDelta,\n    isExternalTarget: isExternalTarget,\n    addListener: on,\n    removeListener: off\n  };\n\n  /*\n   * @class PosAnimation\n   * @aka L.PosAnimation\n   * @inherits Evented\n   * Used internally for panning animations, utilizing CSS3 Transitions for modern browsers and a timer fallback for IE6-9.\n   *\n   * @example\n   * ```js\n   * var myPositionMarker = L.marker([48.864716, 2.294694]).addTo(map);\n   *\n   * myPositionMarker.on(\"click\", function() {\n   * \tvar pos = map.latLngToLayerPoint(myPositionMarker.getLatLng());\n   * \tpos.y -= 25;\n   * \tvar fx = new L.PosAnimation();\n   *\n   * \tfx.once('end',function() {\n   * \t\tpos.y += 25;\n   * \t\tfx.run(myPositionMarker._icon, pos, 0.8);\n   * \t});\n   *\n   * \tfx.run(myPositionMarker._icon, pos, 0.3);\n   * });\n   *\n   * ```\n   *\n   * @constructor L.PosAnimation()\n   * Creates a `PosAnimation` object.\n   *\n   */\n\n  var PosAnimation = Evented.extend({\n\n  \t// @method run(el: HTMLElement, newPos: Point, duration?: Number, easeLinearity?: Number)\n  \t// Run an animation of a given element to a new position, optionally setting\n  \t// duration in seconds (`0.25` by default) and easing linearity factor (3rd\n  \t// argument of the [cubic bezier curve](https://cubic-bezier.com/#0,0,.5,1),\n  \t// `0.5` by default).\n  \trun: function (el, newPos, duration, easeLinearity) {\n  \t\tthis.stop();\n\n  \t\tthis._el = el;\n  \t\tthis._inProgress = true;\n  \t\tthis._duration = duration || 0.25;\n  \t\tthis._easeOutPower = 1 / Math.max(easeLinearity || 0.5, 0.2);\n\n  \t\tthis._startPos = getPosition(el);\n  \t\tthis._offset = newPos.subtract(this._startPos);\n  \t\tthis._startTime = +new Date();\n\n  \t\t// @event start: Event\n  \t\t// Fired when the animation starts\n  \t\tthis.fire('start');\n\n  \t\tthis._animate();\n  \t},\n\n  \t// @method stop()\n  \t// Stops the animation (if currently running).\n  \tstop: function () {\n  \t\tif (!this._inProgress) { return; }\n\n  \t\tthis._step(true);\n  \t\tthis._complete();\n  \t},\n\n  \t_animate: function () {\n  \t\t// animation loop\n  \t\tthis._animId = requestAnimFrame(this._animate, this);\n  \t\tthis._step();\n  \t},\n\n  \t_step: function (round) {\n  \t\tvar elapsed = (+new Date()) - this._startTime,\n  \t\t    duration = this._duration * 1000;\n\n  \t\tif (elapsed < duration) {\n  \t\t\tthis._runFrame(this._easeOut(elapsed / duration), round);\n  \t\t} else {\n  \t\t\tthis._runFrame(1);\n  \t\t\tthis._complete();\n  \t\t}\n  \t},\n\n  \t_runFrame: function (progress, round) {\n  \t\tvar pos = this._startPos.add(this._offset.multiplyBy(progress));\n  \t\tif (round) {\n  \t\t\tpos._round();\n  \t\t}\n  \t\tsetPosition(this._el, pos);\n\n  \t\t// @event step: Event\n  \t\t// Fired continuously during the animation.\n  \t\tthis.fire('step');\n  \t},\n\n  \t_complete: function () {\n  \t\tcancelAnimFrame(this._animId);\n\n  \t\tthis._inProgress = false;\n  \t\t// @event end: Event\n  \t\t// Fired when the animation ends.\n  \t\tthis.fire('end');\n  \t},\n\n  \t_easeOut: function (t) {\n  \t\treturn 1 - Math.pow(1 - t, this._easeOutPower);\n  \t}\n  });\n\n  /*\r\n   * @class Map\r\n   * @aka L.Map\r\n   * @inherits Evented\r\n   *\r\n   * The central class of the API — it is used to create a map on a page and manipulate it.\r\n   *\r\n   * @example\r\n   *\r\n   * ```js\r\n   * // initialize the map on the \"map\" div with a given center and zoom\r\n   * var map = L.map('map', {\r\n   * \tcenter: [51.505, -0.09],\r\n   * \tzoom: 13\r\n   * });\r\n   * ```\r\n   *\r\n   */\r\n\r\n  var Map = Evented.extend({\r\n\r\n  \toptions: {\r\n  \t\t// @section Map State Options\r\n  \t\t// @option crs: CRS = L.CRS.EPSG3857\r\n  \t\t// The [Coordinate Reference System](#crs) to use. Don't change this if you're not\r\n  \t\t// sure what it means.\r\n  \t\tcrs: EPSG3857,\r\n\r\n  \t\t// @option center: LatLng = undefined\r\n  \t\t// Initial geographic center of the map\r\n  \t\tcenter: undefined,\r\n\r\n  \t\t// @option zoom: Number = undefined\r\n  \t\t// Initial map zoom level\r\n  \t\tzoom: undefined,\r\n\r\n  \t\t// @option minZoom: Number = *\r\n  \t\t// Minimum zoom level of the map.\r\n  \t\t// If not specified and at least one `GridLayer` or `TileLayer` is in the map,\r\n  \t\t// the lowest of their `minZoom` options will be used instead.\r\n  \t\tminZoom: undefined,\r\n\r\n  \t\t// @option maxZoom: Number = *\r\n  \t\t// Maximum zoom level of the map.\r\n  \t\t// If not specified and at least one `GridLayer` or `TileLayer` is in the map,\r\n  \t\t// the highest of their `maxZoom` options will be used instead.\r\n  \t\tmaxZoom: undefined,\r\n\r\n  \t\t// @option layers: Layer[] = []\r\n  \t\t// Array of layers that will be added to the map initially\r\n  \t\tlayers: [],\r\n\r\n  \t\t// @option maxBounds: LatLngBounds = null\r\n  \t\t// When this option is set, the map restricts the view to the given\r\n  \t\t// geographical bounds, bouncing the user back if the user tries to pan\r\n  \t\t// outside the view. To set the restriction dynamically, use\r\n  \t\t// [`setMaxBounds`](#map-setmaxbounds) method.\r\n  \t\tmaxBounds: undefined,\r\n\r\n  \t\t// @option renderer: Renderer = *\r\n  \t\t// The default method for drawing vector layers on the map. `L.SVG`\r\n  \t\t// or `L.Canvas` by default depending on browser support.\r\n  \t\trenderer: undefined,\r\n\r\n\r\n  \t\t// @section Animation Options\r\n  \t\t// @option zoomAnimation: Boolean = true\r\n  \t\t// Whether the map zoom animation is enabled. By default it's enabled\r\n  \t\t// in all browsers that support CSS3 Transitions except Android.\r\n  \t\tzoomAnimation: true,\r\n\r\n  \t\t// @option zoomAnimationThreshold: Number = 4\r\n  \t\t// Won't animate zoom if the zoom difference exceeds this value.\r\n  \t\tzoomAnimationThreshold: 4,\r\n\r\n  \t\t// @option fadeAnimation: Boolean = true\r\n  \t\t// Whether the tile fade animation is enabled. By default it's enabled\r\n  \t\t// in all browsers that support CSS3 Transitions except Android.\r\n  \t\tfadeAnimation: true,\r\n\r\n  \t\t// @option markerZoomAnimation: Boolean = true\r\n  \t\t// Whether markers animate their zoom with the zoom animation, if disabled\r\n  \t\t// they will disappear for the length of the animation. By default it's\r\n  \t\t// enabled in all browsers that support CSS3 Transitions except Android.\r\n  \t\tmarkerZoomAnimation: true,\r\n\r\n  \t\t// @option transform3DLimit: Number = 2^23\r\n  \t\t// Defines the maximum size of a CSS translation transform. The default\r\n  \t\t// value should not be changed unless a web browser positions layers in\r\n  \t\t// the wrong place after doing a large `panBy`.\r\n  \t\ttransform3DLimit: 8388608, // Precision limit of a 32-bit float\r\n\r\n  \t\t// @section Interaction Options\r\n  \t\t// @option zoomSnap: Number = 1\r\n  \t\t// Forces the map's zoom level to always be a multiple of this, particularly\r\n  \t\t// right after a [`fitBounds()`](#map-fitbounds) or a pinch-zoom.\r\n  \t\t// By default, the zoom level snaps to the nearest integer; lower values\r\n  \t\t// (e.g. `0.5` or `0.1`) allow for greater granularity. A value of `0`\r\n  \t\t// means the zoom level will not be snapped after `fitBounds` or a pinch-zoom.\r\n  \t\tzoomSnap: 1,\r\n\r\n  \t\t// @option zoomDelta: Number = 1\r\n  \t\t// Controls how much the map's zoom level will change after a\r\n  \t\t// [`zoomIn()`](#map-zoomin), [`zoomOut()`](#map-zoomout), pressing `+`\r\n  \t\t// or `-` on the keyboard, or using the [zoom controls](#control-zoom).\r\n  \t\t// Values smaller than `1` (e.g. `0.5`) allow for greater granularity.\r\n  \t\tzoomDelta: 1,\r\n\r\n  \t\t// @option trackResize: Boolean = true\r\n  \t\t// Whether the map automatically handles browser window resize to update itself.\r\n  \t\ttrackResize: true\r\n  \t},\r\n\r\n  \tinitialize: function (id, options) { // (HTMLElement or String, Object)\r\n  \t\toptions = setOptions(this, options);\r\n\r\n  \t\t// Make sure to assign internal flags at the beginning,\r\n  \t\t// to avoid inconsistent state in some edge cases.\r\n  \t\tthis._handlers = [];\r\n  \t\tthis._layers = {};\r\n  \t\tthis._zoomBoundLayers = {};\r\n  \t\tthis._sizeChanged = true;\r\n\r\n  \t\tthis._initContainer(id);\r\n  \t\tthis._initLayout();\r\n\r\n  \t\t// hack for https://github.com/Leaflet/Leaflet/issues/1980\r\n  \t\tthis._onResize = bind(this._onResize, this);\r\n\r\n  \t\tthis._initEvents();\r\n\r\n  \t\tif (options.maxBounds) {\r\n  \t\t\tthis.setMaxBounds(options.maxBounds);\r\n  \t\t}\r\n\r\n  \t\tif (options.zoom !== undefined) {\r\n  \t\t\tthis._zoom = this._limitZoom(options.zoom);\r\n  \t\t}\r\n\r\n  \t\tif (options.center && options.zoom !== undefined) {\r\n  \t\t\tthis.setView(toLatLng(options.center), options.zoom, {reset: true});\r\n  \t\t}\r\n\r\n  \t\tthis.callInitHooks();\r\n\r\n  \t\t// don't animate on browsers without hardware-accelerated transitions or old Android/Opera\r\n  \t\tthis._zoomAnimated = TRANSITION && Browser.any3d && !Browser.mobileOpera &&\r\n  \t\t\t\tthis.options.zoomAnimation;\r\n\r\n  \t\t// zoom transitions run with the same duration for all layers, so if one of transitionend events\r\n  \t\t// happens after starting zoom animation (propagating to the map pane), we know that it ended globally\r\n  \t\tif (this._zoomAnimated) {\r\n  \t\t\tthis._createAnimProxy();\r\n  \t\t\ton(this._proxy, TRANSITION_END, this._catchTransitionEnd, this);\r\n  \t\t}\r\n\r\n  \t\tthis._addLayers(this.options.layers);\r\n  \t},\r\n\r\n\r\n  \t// @section Methods for modifying map state\r\n\r\n  \t// @method setView(center: LatLng, zoom: Number, options?: Zoom/pan options): this\r\n  \t// Sets the view of the map (geographical center and zoom) with the given\r\n  \t// animation options.\r\n  \tsetView: function (center, zoom, options) {\r\n\r\n  \t\tzoom = zoom === undefined ? this._zoom : this._limitZoom(zoom);\r\n  \t\tcenter = this._limitCenter(toLatLng(center), zoom, this.options.maxBounds);\r\n  \t\toptions = options || {};\r\n\r\n  \t\tthis._stop();\r\n\r\n  \t\tif (this._loaded && !options.reset && options !== true) {\r\n\r\n  \t\t\tif (options.animate !== undefined) {\r\n  \t\t\t\toptions.zoom = extend({animate: options.animate}, options.zoom);\r\n  \t\t\t\toptions.pan = extend({animate: options.animate, duration: options.duration}, options.pan);\r\n  \t\t\t}\r\n\r\n  \t\t\t// try animating pan or zoom\r\n  \t\t\tvar moved = (this._zoom !== zoom) ?\r\n  \t\t\t\tthis._tryAnimatedZoom && this._tryAnimatedZoom(center, zoom, options.zoom) :\r\n  \t\t\t\tthis._tryAnimatedPan(center, options.pan);\r\n\r\n  \t\t\tif (moved) {\r\n  \t\t\t\t// prevent resize handler call, the view will refresh after animation anyway\r\n  \t\t\t\tclearTimeout(this._sizeTimer);\r\n  \t\t\t\treturn this;\r\n  \t\t\t}\r\n  \t\t}\r\n\r\n  \t\t// animation didn't start, just reset the map view\r\n  \t\tthis._resetView(center, zoom, options.pan && options.pan.noMoveStart);\r\n\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method setZoom(zoom: Number, options?: Zoom/pan options): this\r\n  \t// Sets the zoom of the map.\r\n  \tsetZoom: function (zoom, options) {\r\n  \t\tif (!this._loaded) {\r\n  \t\t\tthis._zoom = zoom;\r\n  \t\t\treturn this;\r\n  \t\t}\r\n  \t\treturn this.setView(this.getCenter(), zoom, {zoom: options});\r\n  \t},\r\n\r\n  \t// @method zoomIn(delta?: Number, options?: Zoom options): this\r\n  \t// Increases the zoom of the map by `delta` ([`zoomDelta`](#map-zoomdelta) by default).\r\n  \tzoomIn: function (delta, options) {\r\n  \t\tdelta = delta || (Browser.any3d ? this.options.zoomDelta : 1);\r\n  \t\treturn this.setZoom(this._zoom + delta, options);\r\n  \t},\r\n\r\n  \t// @method zoomOut(delta?: Number, options?: Zoom options): this\r\n  \t// Decreases the zoom of the map by `delta` ([`zoomDelta`](#map-zoomdelta) by default).\r\n  \tzoomOut: function (delta, options) {\r\n  \t\tdelta = delta || (Browser.any3d ? this.options.zoomDelta : 1);\r\n  \t\treturn this.setZoom(this._zoom - delta, options);\r\n  \t},\r\n\r\n  \t// @method setZoomAround(latlng: LatLng, zoom: Number, options: Zoom options): this\r\n  \t// Zooms the map while keeping a specified geographical point on the map\r\n  \t// stationary (e.g. used internally for scroll zoom and double-click zoom).\r\n  \t// @alternative\r\n  \t// @method setZoomAround(offset: Point, zoom: Number, options: Zoom options): this\r\n  \t// Zooms the map while keeping a specified pixel on the map (relative to the top-left corner) stationary.\r\n  \tsetZoomAround: function (latlng, zoom, options) {\r\n  \t\tvar scale = this.getZoomScale(zoom),\r\n  \t\t    viewHalf = this.getSize().divideBy(2),\r\n  \t\t    containerPoint = latlng instanceof Point ? latlng : this.latLngToContainerPoint(latlng),\r\n\r\n  \t\t    centerOffset = containerPoint.subtract(viewHalf).multiplyBy(1 - 1 / scale),\r\n  \t\t    newCenter = this.containerPointToLatLng(viewHalf.add(centerOffset));\r\n\r\n  \t\treturn this.setView(newCenter, zoom, {zoom: options});\r\n  \t},\r\n\r\n  \t_getBoundsCenterZoom: function (bounds, options) {\r\n\r\n  \t\toptions = options || {};\r\n  \t\tbounds = bounds.getBounds ? bounds.getBounds() : toLatLngBounds(bounds);\r\n\r\n  \t\tvar paddingTL = toPoint(options.paddingTopLeft || options.padding || [0, 0]),\r\n  \t\t    paddingBR = toPoint(options.paddingBottomRight || options.padding || [0, 0]),\r\n\r\n  \t\t    zoom = this.getBoundsZoom(bounds, false, paddingTL.add(paddingBR));\r\n\r\n  \t\tzoom = (typeof options.maxZoom === 'number') ? Math.min(options.maxZoom, zoom) : zoom;\r\n\r\n  \t\tif (zoom === Infinity) {\r\n  \t\t\treturn {\r\n  \t\t\t\tcenter: bounds.getCenter(),\r\n  \t\t\t\tzoom: zoom\r\n  \t\t\t};\r\n  \t\t}\r\n\r\n  \t\tvar paddingOffset = paddingBR.subtract(paddingTL).divideBy(2),\r\n\r\n  \t\t    swPoint = this.project(bounds.getSouthWest(), zoom),\r\n  \t\t    nePoint = this.project(bounds.getNorthEast(), zoom),\r\n  \t\t    center = this.unproject(swPoint.add(nePoint).divideBy(2).add(paddingOffset), zoom);\r\n\r\n  \t\treturn {\r\n  \t\t\tcenter: center,\r\n  \t\t\tzoom: zoom\r\n  \t\t};\r\n  \t},\r\n\r\n  \t// @method fitBounds(bounds: LatLngBounds, options?: fitBounds options): this\r\n  \t// Sets a map view that contains the given geographical bounds with the\r\n  \t// maximum zoom level possible.\r\n  \tfitBounds: function (bounds, options) {\r\n\r\n  \t\tbounds = toLatLngBounds(bounds);\r\n\r\n  \t\tif (!bounds.isValid()) {\r\n  \t\t\tthrow new Error('Bounds are not valid.');\r\n  \t\t}\r\n\r\n  \t\tvar target = this._getBoundsCenterZoom(bounds, options);\r\n  \t\treturn this.setView(target.center, target.zoom, options);\r\n  \t},\r\n\r\n  \t// @method fitWorld(options?: fitBounds options): this\r\n  \t// Sets a map view that mostly contains the whole world with the maximum\r\n  \t// zoom level possible.\r\n  \tfitWorld: function (options) {\r\n  \t\treturn this.fitBounds([[-90, -180], [90, 180]], options);\r\n  \t},\r\n\r\n  \t// @method panTo(latlng: LatLng, options?: Pan options): this\r\n  \t// Pans the map to a given center.\r\n  \tpanTo: function (center, options) { // (LatLng)\r\n  \t\treturn this.setView(center, this._zoom, {pan: options});\r\n  \t},\r\n\r\n  \t// @method panBy(offset: Point, options?: Pan options): this\r\n  \t// Pans the map by a given number of pixels (animated).\r\n  \tpanBy: function (offset, options) {\r\n  \t\toffset = toPoint(offset).round();\r\n  \t\toptions = options || {};\r\n\r\n  \t\tif (!offset.x && !offset.y) {\r\n  \t\t\treturn this.fire('moveend');\r\n  \t\t}\r\n  \t\t// If we pan too far, Chrome gets issues with tiles\r\n  \t\t// and makes them disappear or appear in the wrong place (slightly offset) #2602\r\n  \t\tif (options.animate !== true && !this.getSize().contains(offset)) {\r\n  \t\t\tthis._resetView(this.unproject(this.project(this.getCenter()).add(offset)), this.getZoom());\r\n  \t\t\treturn this;\r\n  \t\t}\r\n\r\n  \t\tif (!this._panAnim) {\r\n  \t\t\tthis._panAnim = new PosAnimation();\r\n\r\n  \t\t\tthis._panAnim.on({\r\n  \t\t\t\t'step': this._onPanTransitionStep,\r\n  \t\t\t\t'end': this._onPanTransitionEnd\r\n  \t\t\t}, this);\r\n  \t\t}\r\n\r\n  \t\t// don't fire movestart if animating inertia\r\n  \t\tif (!options.noMoveStart) {\r\n  \t\t\tthis.fire('movestart');\r\n  \t\t}\r\n\r\n  \t\t// animate pan unless animate: false specified\r\n  \t\tif (options.animate !== false) {\r\n  \t\t\taddClass(this._mapPane, 'leaflet-pan-anim');\r\n\r\n  \t\t\tvar newPos = this._getMapPanePos().subtract(offset).round();\r\n  \t\t\tthis._panAnim.run(this._mapPane, newPos, options.duration || 0.25, options.easeLinearity);\r\n  \t\t} else {\r\n  \t\t\tthis._rawPanBy(offset);\r\n  \t\t\tthis.fire('move').fire('moveend');\r\n  \t\t}\r\n\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method flyTo(latlng: LatLng, zoom?: Number, options?: Zoom/pan options): this\r\n  \t// Sets the view of the map (geographical center and zoom) performing a smooth\r\n  \t// pan-zoom animation.\r\n  \tflyTo: function (targetCenter, targetZoom, options) {\r\n\r\n  \t\toptions = options || {};\r\n  \t\tif (options.animate === false || !Browser.any3d) {\r\n  \t\t\treturn this.setView(targetCenter, targetZoom, options);\r\n  \t\t}\r\n\r\n  \t\tthis._stop();\r\n\r\n  \t\tvar from = this.project(this.getCenter()),\r\n  \t\t    to = this.project(targetCenter),\r\n  \t\t    size = this.getSize(),\r\n  \t\t    startZoom = this._zoom;\r\n\r\n  \t\ttargetCenter = toLatLng(targetCenter);\r\n  \t\ttargetZoom = targetZoom === undefined ? startZoom : targetZoom;\r\n\r\n  \t\tvar w0 = Math.max(size.x, size.y),\r\n  \t\t    w1 = w0 * this.getZoomScale(startZoom, targetZoom),\r\n  \t\t    u1 = (to.distanceTo(from)) || 1,\r\n  \t\t    rho = 1.42,\r\n  \t\t    rho2 = rho * rho;\r\n\r\n  \t\tfunction r(i) {\r\n  \t\t\tvar s1 = i ? -1 : 1,\r\n  \t\t\t    s2 = i ? w1 : w0,\r\n  \t\t\t    t1 = w1 * w1 - w0 * w0 + s1 * rho2 * rho2 * u1 * u1,\r\n  \t\t\t    b1 = 2 * s2 * rho2 * u1,\r\n  \t\t\t    b = t1 / b1,\r\n  \t\t\t    sq = Math.sqrt(b * b + 1) - b;\r\n\r\n  \t\t\t    // workaround for floating point precision bug when sq = 0, log = -Infinite,\r\n  \t\t\t    // thus triggering an infinite loop in flyTo\r\n  \t\t\t    var log = sq < 0.000000001 ? -18 : Math.log(sq);\r\n\r\n  \t\t\treturn log;\r\n  \t\t}\r\n\r\n  \t\tfunction sinh(n) { return (Math.exp(n) - Math.exp(-n)) / 2; }\r\n  \t\tfunction cosh(n) { return (Math.exp(n) + Math.exp(-n)) / 2; }\r\n  \t\tfunction tanh(n) { return sinh(n) / cosh(n); }\r\n\r\n  \t\tvar r0 = r(0);\r\n\r\n  \t\tfunction w(s) { return w0 * (cosh(r0) / cosh(r0 + rho * s)); }\r\n  \t\tfunction u(s) { return w0 * (cosh(r0) * tanh(r0 + rho * s) - sinh(r0)) / rho2; }\r\n\r\n  \t\tfunction easeOut(t) { return 1 - Math.pow(1 - t, 1.5); }\r\n\r\n  \t\tvar start = Date.now(),\r\n  \t\t    S = (r(1) - r0) / rho,\r\n  \t\t    duration = options.duration ? 1000 * options.duration : 1000 * S * 0.8;\r\n\r\n  \t\tfunction frame() {\r\n  \t\t\tvar t = (Date.now() - start) / duration,\r\n  \t\t\t    s = easeOut(t) * S;\r\n\r\n  \t\t\tif (t <= 1) {\r\n  \t\t\t\tthis._flyToFrame = requestAnimFrame(frame, this);\r\n\r\n  \t\t\t\tthis._move(\r\n  \t\t\t\t\tthis.unproject(from.add(to.subtract(from).multiplyBy(u(s) / u1)), startZoom),\r\n  \t\t\t\t\tthis.getScaleZoom(w0 / w(s), startZoom),\r\n  \t\t\t\t\t{flyTo: true});\r\n\r\n  \t\t\t} else {\r\n  \t\t\t\tthis\r\n  \t\t\t\t\t._move(targetCenter, targetZoom)\r\n  \t\t\t\t\t._moveEnd(true);\r\n  \t\t\t}\r\n  \t\t}\r\n\r\n  \t\tthis._moveStart(true, options.noMoveStart);\r\n\r\n  \t\tframe.call(this);\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method flyToBounds(bounds: LatLngBounds, options?: fitBounds options): this\r\n  \t// Sets the view of the map with a smooth animation like [`flyTo`](#map-flyto),\r\n  \t// but takes a bounds parameter like [`fitBounds`](#map-fitbounds).\r\n  \tflyToBounds: function (bounds, options) {\r\n  \t\tvar target = this._getBoundsCenterZoom(bounds, options);\r\n  \t\treturn this.flyTo(target.center, target.zoom, options);\r\n  \t},\r\n\r\n  \t// @method setMaxBounds(bounds: LatLngBounds): this\r\n  \t// Restricts the map view to the given bounds (see the [maxBounds](#map-maxbounds) option).\r\n  \tsetMaxBounds: function (bounds) {\r\n  \t\tbounds = toLatLngBounds(bounds);\r\n\r\n  \t\tif (this.listens('moveend', this._panInsideMaxBounds)) {\r\n  \t\t\tthis.off('moveend', this._panInsideMaxBounds);\r\n  \t\t}\r\n\r\n  \t\tif (!bounds.isValid()) {\r\n  \t\t\tthis.options.maxBounds = null;\r\n  \t\t\treturn this;\r\n  \t\t}\r\n\r\n  \t\tthis.options.maxBounds = bounds;\r\n\r\n  \t\tif (this._loaded) {\r\n  \t\t\tthis._panInsideMaxBounds();\r\n  \t\t}\r\n\r\n  \t\treturn this.on('moveend', this._panInsideMaxBounds);\r\n  \t},\r\n\r\n  \t// @method setMinZoom(zoom: Number): this\r\n  \t// Sets the lower limit for the available zoom levels (see the [minZoom](#map-minzoom) option).\r\n  \tsetMinZoom: function (zoom) {\r\n  \t\tvar oldZoom = this.options.minZoom;\r\n  \t\tthis.options.minZoom = zoom;\r\n\r\n  \t\tif (this._loaded && oldZoom !== zoom) {\r\n  \t\t\tthis.fire('zoomlevelschange');\r\n\r\n  \t\t\tif (this.getZoom() < this.options.minZoom) {\r\n  \t\t\t\treturn this.setZoom(zoom);\r\n  \t\t\t}\r\n  \t\t}\r\n\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method setMaxZoom(zoom: Number): this\r\n  \t// Sets the upper limit for the available zoom levels (see the [maxZoom](#map-maxzoom) option).\r\n  \tsetMaxZoom: function (zoom) {\r\n  \t\tvar oldZoom = this.options.maxZoom;\r\n  \t\tthis.options.maxZoom = zoom;\r\n\r\n  \t\tif (this._loaded && oldZoom !== zoom) {\r\n  \t\t\tthis.fire('zoomlevelschange');\r\n\r\n  \t\t\tif (this.getZoom() > this.options.maxZoom) {\r\n  \t\t\t\treturn this.setZoom(zoom);\r\n  \t\t\t}\r\n  \t\t}\r\n\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method panInsideBounds(bounds: LatLngBounds, options?: Pan options): this\r\n  \t// Pans the map to the closest view that would lie inside the given bounds (if it's not already), controlling the animation using the options specific, if any.\r\n  \tpanInsideBounds: function (bounds, options) {\r\n  \t\tthis._enforcingBounds = true;\r\n  \t\tvar center = this.getCenter(),\r\n  \t\t    newCenter = this._limitCenter(center, this._zoom, toLatLngBounds(bounds));\r\n\r\n  \t\tif (!center.equals(newCenter)) {\r\n  \t\t\tthis.panTo(newCenter, options);\r\n  \t\t}\r\n\r\n  \t\tthis._enforcingBounds = false;\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method panInside(latlng: LatLng, options?: padding options): this\r\n  \t// Pans the map the minimum amount to make the `latlng` visible. Use\r\n  \t// padding options to fit the display to more restricted bounds.\r\n  \t// If `latlng` is already within the (optionally padded) display bounds,\r\n  \t// the map will not be panned.\r\n  \tpanInside: function (latlng, options) {\r\n  \t\toptions = options || {};\r\n\r\n  \t\tvar paddingTL = toPoint(options.paddingTopLeft || options.padding || [0, 0]),\r\n  \t\t    paddingBR = toPoint(options.paddingBottomRight || options.padding || [0, 0]),\r\n  \t\t    pixelCenter = this.project(this.getCenter()),\r\n  \t\t    pixelPoint = this.project(latlng),\r\n  \t\t    pixelBounds = this.getPixelBounds(),\r\n  \t\t    paddedBounds = toBounds([pixelBounds.min.add(paddingTL), pixelBounds.max.subtract(paddingBR)]),\r\n  \t\t    paddedSize = paddedBounds.getSize();\r\n\r\n  \t\tif (!paddedBounds.contains(pixelPoint)) {\r\n  \t\t\tthis._enforcingBounds = true;\r\n  \t\t\tvar centerOffset = pixelPoint.subtract(paddedBounds.getCenter());\r\n  \t\t\tvar offset = paddedBounds.extend(pixelPoint).getSize().subtract(paddedSize);\r\n  \t\t\tpixelCenter.x += centerOffset.x < 0 ? -offset.x : offset.x;\r\n  \t\t\tpixelCenter.y += centerOffset.y < 0 ? -offset.y : offset.y;\r\n  \t\t\tthis.panTo(this.unproject(pixelCenter), options);\r\n  \t\t\tthis._enforcingBounds = false;\r\n  \t\t}\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method invalidateSize(options: Zoom/pan options): this\r\n  \t// Checks if the map container size changed and updates the map if so —\r\n  \t// call it after you've changed the map size dynamically, also animating\r\n  \t// pan by default. If `options.pan` is `false`, panning will not occur.\r\n  \t// If `options.debounceMoveend` is `true`, it will delay `moveend` event so\r\n  \t// that it doesn't happen often even if the method is called many\r\n  \t// times in a row.\r\n\r\n  \t// @alternative\r\n  \t// @method invalidateSize(animate: Boolean): this\r\n  \t// Checks if the map container size changed and updates the map if so —\r\n  \t// call it after you've changed the map size dynamically, also animating\r\n  \t// pan by default.\r\n  \tinvalidateSize: function (options) {\r\n  \t\tif (!this._loaded) { return this; }\r\n\r\n  \t\toptions = extend({\r\n  \t\t\tanimate: false,\r\n  \t\t\tpan: true\r\n  \t\t}, options === true ? {animate: true} : options);\r\n\r\n  \t\tvar oldSize = this.getSize();\r\n  \t\tthis._sizeChanged = true;\r\n  \t\tthis._lastCenter = null;\r\n\r\n  \t\tvar newSize = this.getSize(),\r\n  \t\t    oldCenter = oldSize.divideBy(2).round(),\r\n  \t\t    newCenter = newSize.divideBy(2).round(),\r\n  \t\t    offset = oldCenter.subtract(newCenter);\r\n\r\n  \t\tif (!offset.x && !offset.y) { return this; }\r\n\r\n  \t\tif (options.animate && options.pan) {\r\n  \t\t\tthis.panBy(offset);\r\n\r\n  \t\t} else {\r\n  \t\t\tif (options.pan) {\r\n  \t\t\t\tthis._rawPanBy(offset);\r\n  \t\t\t}\r\n\r\n  \t\t\tthis.fire('move');\r\n\r\n  \t\t\tif (options.debounceMoveend) {\r\n  \t\t\t\tclearTimeout(this._sizeTimer);\r\n  \t\t\t\tthis._sizeTimer = setTimeout(bind(this.fire, this, 'moveend'), 200);\r\n  \t\t\t} else {\r\n  \t\t\t\tthis.fire('moveend');\r\n  \t\t\t}\r\n  \t\t}\r\n\r\n  \t\t// @section Map state change events\r\n  \t\t// @event resize: ResizeEvent\r\n  \t\t// Fired when the map is resized.\r\n  \t\treturn this.fire('resize', {\r\n  \t\t\toldSize: oldSize,\r\n  \t\t\tnewSize: newSize\r\n  \t\t});\r\n  \t},\r\n\r\n  \t// @section Methods for modifying map state\r\n  \t// @method stop(): this\r\n  \t// Stops the currently running `panTo` or `flyTo` animation, if any.\r\n  \tstop: function () {\r\n  \t\tthis.setZoom(this._limitZoom(this._zoom));\r\n  \t\tif (!this.options.zoomSnap) {\r\n  \t\t\tthis.fire('viewreset');\r\n  \t\t}\r\n  \t\treturn this._stop();\r\n  \t},\r\n\r\n  \t// @section Geolocation methods\r\n  \t// @method locate(options?: Locate options): this\r\n  \t// Tries to locate the user using the Geolocation API, firing a [`locationfound`](#map-locationfound)\r\n  \t// event with location data on success or a [`locationerror`](#map-locationerror) event on failure,\r\n  \t// and optionally sets the map view to the user's location with respect to\r\n  \t// detection accuracy (or to the world view if geolocation failed).\r\n  \t// Note that, if your page doesn't use HTTPS, this method will fail in\r\n  \t// modern browsers ([Chrome 50 and newer](https://sites.google.com/a/chromium.org/dev/Home/chromium-security/deprecating-powerful-features-on-insecure-origins))\r\n  \t// See `Locate options` for more details.\r\n  \tlocate: function (options) {\r\n\r\n  \t\toptions = this._locateOptions = extend({\r\n  \t\t\ttimeout: 10000,\r\n  \t\t\twatch: false\r\n  \t\t\t// setView: false\r\n  \t\t\t// maxZoom: <Number>\r\n  \t\t\t// maximumAge: 0\r\n  \t\t\t// enableHighAccuracy: false\r\n  \t\t}, options);\r\n\r\n  \t\tif (!('geolocation' in navigator)) {\r\n  \t\t\tthis._handleGeolocationError({\r\n  \t\t\t\tcode: 0,\r\n  \t\t\t\tmessage: 'Geolocation not supported.'\r\n  \t\t\t});\r\n  \t\t\treturn this;\r\n  \t\t}\r\n\r\n  \t\tvar onResponse = bind(this._handleGeolocationResponse, this),\r\n  \t\t    onError = bind(this._handleGeolocationError, this);\r\n\r\n  \t\tif (options.watch) {\r\n  \t\t\tthis._locationWatchId =\r\n  \t\t\t        navigator.geolocation.watchPosition(onResponse, onError, options);\r\n  \t\t} else {\r\n  \t\t\tnavigator.geolocation.getCurrentPosition(onResponse, onError, options);\r\n  \t\t}\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method stopLocate(): this\r\n  \t// Stops watching location previously initiated by `map.locate({watch: true})`\r\n  \t// and aborts resetting the map view if map.locate was called with\r\n  \t// `{setView: true}`.\r\n  \tstopLocate: function () {\r\n  \t\tif (navigator.geolocation && navigator.geolocation.clearWatch) {\r\n  \t\t\tnavigator.geolocation.clearWatch(this._locationWatchId);\r\n  \t\t}\r\n  \t\tif (this._locateOptions) {\r\n  \t\t\tthis._locateOptions.setView = false;\r\n  \t\t}\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t_handleGeolocationError: function (error) {\r\n  \t\tif (!this._container._leaflet_id) { return; }\r\n\r\n  \t\tvar c = error.code,\r\n  \t\t    message = error.message ||\r\n  \t\t            (c === 1 ? 'permission denied' :\r\n  \t\t            (c === 2 ? 'position unavailable' : 'timeout'));\r\n\r\n  \t\tif (this._locateOptions.setView && !this._loaded) {\r\n  \t\t\tthis.fitWorld();\r\n  \t\t}\r\n\r\n  \t\t// @section Location events\r\n  \t\t// @event locationerror: ErrorEvent\r\n  \t\t// Fired when geolocation (using the [`locate`](#map-locate) method) failed.\r\n  \t\tthis.fire('locationerror', {\r\n  \t\t\tcode: c,\r\n  \t\t\tmessage: 'Geolocation error: ' + message + '.'\r\n  \t\t});\r\n  \t},\r\n\r\n  \t_handleGeolocationResponse: function (pos) {\r\n  \t\tif (!this._container._leaflet_id) { return; }\r\n\r\n  \t\tvar lat = pos.coords.latitude,\r\n  \t\t    lng = pos.coords.longitude,\r\n  \t\t    latlng = new LatLng(lat, lng),\r\n  \t\t    bounds = latlng.toBounds(pos.coords.accuracy * 2),\r\n  \t\t    options = this._locateOptions;\r\n\r\n  \t\tif (options.setView) {\r\n  \t\t\tvar zoom = this.getBoundsZoom(bounds);\r\n  \t\t\tthis.setView(latlng, options.maxZoom ? Math.min(zoom, options.maxZoom) : zoom);\r\n  \t\t}\r\n\r\n  \t\tvar data = {\r\n  \t\t\tlatlng: latlng,\r\n  \t\t\tbounds: bounds,\r\n  \t\t\ttimestamp: pos.timestamp\r\n  \t\t};\r\n\r\n  \t\tfor (var i in pos.coords) {\r\n  \t\t\tif (typeof pos.coords[i] === 'number') {\r\n  \t\t\t\tdata[i] = pos.coords[i];\r\n  \t\t\t}\r\n  \t\t}\r\n\r\n  \t\t// @event locationfound: LocationEvent\r\n  \t\t// Fired when geolocation (using the [`locate`](#map-locate) method)\r\n  \t\t// went successfully.\r\n  \t\tthis.fire('locationfound', data);\r\n  \t},\r\n\r\n  \t// TODO Appropriate docs section?\r\n  \t// @section Other Methods\r\n  \t// @method addHandler(name: String, HandlerClass: Function): this\r\n  \t// Adds a new `Handler` to the map, given its name and constructor function.\r\n  \taddHandler: function (name, HandlerClass) {\r\n  \t\tif (!HandlerClass) { return this; }\r\n\r\n  \t\tvar handler = this[name] = new HandlerClass(this);\r\n\r\n  \t\tthis._handlers.push(handler);\r\n\r\n  \t\tif (this.options[name]) {\r\n  \t\t\thandler.enable();\r\n  \t\t}\r\n\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method remove(): this\r\n  \t// Destroys the map and clears all related event listeners.\r\n  \tremove: function () {\r\n\r\n  \t\tthis._initEvents(true);\r\n  \t\tif (this.options.maxBounds) { this.off('moveend', this._panInsideMaxBounds); }\r\n\r\n  \t\tif (this._containerId !== this._container._leaflet_id) {\r\n  \t\t\tthrow new Error('Map container is being reused by another instance');\r\n  \t\t}\r\n\r\n  \t\ttry {\r\n  \t\t\t// throws error in IE6-8\r\n  \t\t\tdelete this._container._leaflet_id;\r\n  \t\t\tdelete this._containerId;\r\n  \t\t} catch (e) {\r\n  \t\t\t/*eslint-disable */\r\n  \t\t\tthis._container._leaflet_id = undefined;\r\n  \t\t\t/* eslint-enable */\r\n  \t\t\tthis._containerId = undefined;\r\n  \t\t}\r\n\r\n  \t\tif (this._locationWatchId !== undefined) {\r\n  \t\t\tthis.stopLocate();\r\n  \t\t}\r\n\r\n  \t\tthis._stop();\r\n\r\n  \t\tremove(this._mapPane);\r\n\r\n  \t\tif (this._clearControlPos) {\r\n  \t\t\tthis._clearControlPos();\r\n  \t\t}\r\n  \t\tif (this._resizeRequest) {\r\n  \t\t\tcancelAnimFrame(this._resizeRequest);\r\n  \t\t\tthis._resizeRequest = null;\r\n  \t\t}\r\n\r\n  \t\tthis._clearHandlers();\r\n\r\n  \t\tif (this._loaded) {\r\n  \t\t\t// @section Map state change events\r\n  \t\t\t// @event unload: Event\r\n  \t\t\t// Fired when the map is destroyed with [remove](#map-remove) method.\r\n  \t\t\tthis.fire('unload');\r\n  \t\t}\r\n\r\n  \t\tvar i;\r\n  \t\tfor (i in this._layers) {\r\n  \t\t\tthis._layers[i].remove();\r\n  \t\t}\r\n  \t\tfor (i in this._panes) {\r\n  \t\t\tremove(this._panes[i]);\r\n  \t\t}\r\n\r\n  \t\tthis._layers = [];\r\n  \t\tthis._panes = [];\r\n  \t\tdelete this._mapPane;\r\n  \t\tdelete this._renderer;\r\n\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @section Other Methods\r\n  \t// @method createPane(name: String, container?: HTMLElement): HTMLElement\r\n  \t// Creates a new [map pane](#map-pane) with the given name if it doesn't exist already,\r\n  \t// then returns it. The pane is created as a child of `container`, or\r\n  \t// as a child of the main map pane if not set.\r\n  \tcreatePane: function (name, container) {\r\n  \t\tvar className = 'leaflet-pane' + (name ? ' leaflet-' + name.replace('Pane', '') + '-pane' : ''),\r\n  \t\t    pane = create$1('div', className, container || this._mapPane);\r\n\r\n  \t\tif (name) {\r\n  \t\t\tthis._panes[name] = pane;\r\n  \t\t}\r\n  \t\treturn pane;\r\n  \t},\r\n\r\n  \t// @section Methods for Getting Map State\r\n\r\n  \t// @method getCenter(): LatLng\r\n  \t// Returns the geographical center of the map view\r\n  \tgetCenter: function () {\r\n  \t\tthis._checkIfLoaded();\r\n\r\n  \t\tif (this._lastCenter && !this._moved()) {\r\n  \t\t\treturn this._lastCenter.clone();\r\n  \t\t}\r\n  \t\treturn this.layerPointToLatLng(this._getCenterLayerPoint());\r\n  \t},\r\n\r\n  \t// @method getZoom(): Number\r\n  \t// Returns the current zoom level of the map view\r\n  \tgetZoom: function () {\r\n  \t\treturn this._zoom;\r\n  \t},\r\n\r\n  \t// @method getBounds(): LatLngBounds\r\n  \t// Returns the geographical bounds visible in the current map view\r\n  \tgetBounds: function () {\r\n  \t\tvar bounds = this.getPixelBounds(),\r\n  \t\t    sw = this.unproject(bounds.getBottomLeft()),\r\n  \t\t    ne = this.unproject(bounds.getTopRight());\r\n\r\n  \t\treturn new LatLngBounds(sw, ne);\r\n  \t},\r\n\r\n  \t// @method getMinZoom(): Number\r\n  \t// Returns the minimum zoom level of the map (if set in the `minZoom` option of the map or of any layers), or `0` by default.\r\n  \tgetMinZoom: function () {\r\n  \t\treturn this.options.minZoom === undefined ? this._layersMinZoom || 0 : this.options.minZoom;\r\n  \t},\r\n\r\n  \t// @method getMaxZoom(): Number\r\n  \t// Returns the maximum zoom level of the map (if set in the `maxZoom` option of the map or of any layers).\r\n  \tgetMaxZoom: function () {\r\n  \t\treturn this.options.maxZoom === undefined ?\r\n  \t\t\t(this._layersMaxZoom === undefined ? Infinity : this._layersMaxZoom) :\r\n  \t\t\tthis.options.maxZoom;\r\n  \t},\r\n\r\n  \t// @method getBoundsZoom(bounds: LatLngBounds, inside?: Boolean, padding?: Point): Number\r\n  \t// Returns the maximum zoom level on which the given bounds fit to the map\r\n  \t// view in its entirety. If `inside` (optional) is set to `true`, the method\r\n  \t// instead returns the minimum zoom level on which the map view fits into\r\n  \t// the given bounds in its entirety.\r\n  \tgetBoundsZoom: function (bounds, inside, padding) { // (LatLngBounds[, Boolean, Point]) -> Number\r\n  \t\tbounds = toLatLngBounds(bounds);\r\n  \t\tpadding = toPoint(padding || [0, 0]);\r\n\r\n  \t\tvar zoom = this.getZoom() || 0,\r\n  \t\t    min = this.getMinZoom(),\r\n  \t\t    max = this.getMaxZoom(),\r\n  \t\t    nw = bounds.getNorthWest(),\r\n  \t\t    se = bounds.getSouthEast(),\r\n  \t\t    size = this.getSize().subtract(padding),\r\n  \t\t    boundsSize = toBounds(this.project(se, zoom), this.project(nw, zoom)).getSize(),\r\n  \t\t    snap = Browser.any3d ? this.options.zoomSnap : 1,\r\n  \t\t    scalex = size.x / boundsSize.x,\r\n  \t\t    scaley = size.y / boundsSize.y,\r\n  \t\t    scale = inside ? Math.max(scalex, scaley) : Math.min(scalex, scaley);\r\n\r\n  \t\tzoom = this.getScaleZoom(scale, zoom);\r\n\r\n  \t\tif (snap) {\r\n  \t\t\tzoom = Math.round(zoom / (snap / 100)) * (snap / 100); // don't jump if within 1% of a snap level\r\n  \t\t\tzoom = inside ? Math.ceil(zoom / snap) * snap : Math.floor(zoom / snap) * snap;\r\n  \t\t}\r\n\r\n  \t\treturn Math.max(min, Math.min(max, zoom));\r\n  \t},\r\n\r\n  \t// @method getSize(): Point\r\n  \t// Returns the current size of the map container (in pixels).\r\n  \tgetSize: function () {\r\n  \t\tif (!this._size || this._sizeChanged) {\r\n  \t\t\tthis._size = new Point(\r\n  \t\t\t\tthis._container.clientWidth || 0,\r\n  \t\t\t\tthis._container.clientHeight || 0);\r\n\r\n  \t\t\tthis._sizeChanged = false;\r\n  \t\t}\r\n  \t\treturn this._size.clone();\r\n  \t},\r\n\r\n  \t// @method getPixelBounds(): Bounds\r\n  \t// Returns the bounds of the current map view in projected pixel\r\n  \t// coordinates (sometimes useful in layer and overlay implementations).\r\n  \tgetPixelBounds: function (center, zoom) {\r\n  \t\tvar topLeftPoint = this._getTopLeftPoint(center, zoom);\r\n  \t\treturn new Bounds(topLeftPoint, topLeftPoint.add(this.getSize()));\r\n  \t},\r\n\r\n  \t// TODO: Check semantics - isn't the pixel origin the 0,0 coord relative to\r\n  \t// the map pane? \"left point of the map layer\" can be confusing, specially\r\n  \t// since there can be negative offsets.\r\n  \t// @method getPixelOrigin(): Point\r\n  \t// Returns the projected pixel coordinates of the top left point of\r\n  \t// the map layer (useful in custom layer and overlay implementations).\r\n  \tgetPixelOrigin: function () {\r\n  \t\tthis._checkIfLoaded();\r\n  \t\treturn this._pixelOrigin;\r\n  \t},\r\n\r\n  \t// @method getPixelWorldBounds(zoom?: Number): Bounds\r\n  \t// Returns the world's bounds in pixel coordinates for zoom level `zoom`.\r\n  \t// If `zoom` is omitted, the map's current zoom level is used.\r\n  \tgetPixelWorldBounds: function (zoom) {\r\n  \t\treturn this.options.crs.getProjectedBounds(zoom === undefined ? this.getZoom() : zoom);\r\n  \t},\r\n\r\n  \t// @section Other Methods\r\n\r\n  \t// @method getPane(pane: String|HTMLElement): HTMLElement\r\n  \t// Returns a [map pane](#map-pane), given its name or its HTML element (its identity).\r\n  \tgetPane: function (pane) {\r\n  \t\treturn typeof pane === 'string' ? this._panes[pane] : pane;\r\n  \t},\r\n\r\n  \t// @method getPanes(): Object\r\n  \t// Returns a plain object containing the names of all [panes](#map-pane) as keys and\r\n  \t// the panes as values.\r\n  \tgetPanes: function () {\r\n  \t\treturn this._panes;\r\n  \t},\r\n\r\n  \t// @method getContainer: HTMLElement\r\n  \t// Returns the HTML element that contains the map.\r\n  \tgetContainer: function () {\r\n  \t\treturn this._container;\r\n  \t},\r\n\r\n\r\n  \t// @section Conversion Methods\r\n\r\n  \t// @method getZoomScale(toZoom: Number, fromZoom: Number): Number\r\n  \t// Returns the scale factor to be applied to a map transition from zoom level\r\n  \t// `fromZoom` to `toZoom`. Used internally to help with zoom animations.\r\n  \tgetZoomScale: function (toZoom, fromZoom) {\r\n  \t\t// TODO replace with universal implementation after refactoring projections\r\n  \t\tvar crs = this.options.crs;\r\n  \t\tfromZoom = fromZoom === undefined ? this._zoom : fromZoom;\r\n  \t\treturn crs.scale(toZoom) / crs.scale(fromZoom);\r\n  \t},\r\n\r\n  \t// @method getScaleZoom(scale: Number, fromZoom: Number): Number\r\n  \t// Returns the zoom level that the map would end up at, if it is at `fromZoom`\r\n  \t// level and everything is scaled by a factor of `scale`. Inverse of\r\n  \t// [`getZoomScale`](#map-getZoomScale).\r\n  \tgetScaleZoom: function (scale, fromZoom) {\r\n  \t\tvar crs = this.options.crs;\r\n  \t\tfromZoom = fromZoom === undefined ? this._zoom : fromZoom;\r\n  \t\tvar zoom = crs.zoom(scale * crs.scale(fromZoom));\r\n  \t\treturn isNaN(zoom) ? Infinity : zoom;\r\n  \t},\r\n\r\n  \t// @method project(latlng: LatLng, zoom: Number): Point\r\n  \t// Projects a geographical coordinate `LatLng` according to the projection\r\n  \t// of the map's CRS, then scales it according to `zoom` and the CRS's\r\n  \t// `Transformation`. The result is pixel coordinate relative to\r\n  \t// the CRS origin.\r\n  \tproject: function (latlng, zoom) {\r\n  \t\tzoom = zoom === undefined ? this._zoom : zoom;\r\n  \t\treturn this.options.crs.latLngToPoint(toLatLng(latlng), zoom);\r\n  \t},\r\n\r\n  \t// @method unproject(point: Point, zoom: Number): LatLng\r\n  \t// Inverse of [`project`](#map-project).\r\n  \tunproject: function (point, zoom) {\r\n  \t\tzoom = zoom === undefined ? this._zoom : zoom;\r\n  \t\treturn this.options.crs.pointToLatLng(toPoint(point), zoom);\r\n  \t},\r\n\r\n  \t// @method layerPointToLatLng(point: Point): LatLng\r\n  \t// Given a pixel coordinate relative to the [origin pixel](#map-getpixelorigin),\r\n  \t// returns the corresponding geographical coordinate (for the current zoom level).\r\n  \tlayerPointToLatLng: function (point) {\r\n  \t\tvar projectedPoint = toPoint(point).add(this.getPixelOrigin());\r\n  \t\treturn this.unproject(projectedPoint);\r\n  \t},\r\n\r\n  \t// @method latLngToLayerPoint(latlng: LatLng): Point\r\n  \t// Given a geographical coordinate, returns the corresponding pixel coordinate\r\n  \t// relative to the [origin pixel](#map-getpixelorigin).\r\n  \tlatLngToLayerPoint: function (latlng) {\r\n  \t\tvar projectedPoint = this.project(toLatLng(latlng))._round();\r\n  \t\treturn projectedPoint._subtract(this.getPixelOrigin());\r\n  \t},\r\n\r\n  \t// @method wrapLatLng(latlng: LatLng): LatLng\r\n  \t// Returns a `LatLng` where `lat` and `lng` has been wrapped according to the\r\n  \t// map's CRS's `wrapLat` and `wrapLng` properties, if they are outside the\r\n  \t// CRS's bounds.\r\n  \t// By default this means longitude is wrapped around the dateline so its\r\n  \t// value is between -180 and +180 degrees.\r\n  \twrapLatLng: function (latlng) {\r\n  \t\treturn this.options.crs.wrapLatLng(toLatLng(latlng));\r\n  \t},\r\n\r\n  \t// @method wrapLatLngBounds(bounds: LatLngBounds): LatLngBounds\r\n  \t// Returns a `LatLngBounds` with the same size as the given one, ensuring that\r\n  \t// its center is within the CRS's bounds.\r\n  \t// By default this means the center longitude is wrapped around the dateline so its\r\n  \t// value is between -180 and +180 degrees, and the majority of the bounds\r\n  \t// overlaps the CRS's bounds.\r\n  \twrapLatLngBounds: function (latlng) {\r\n  \t\treturn this.options.crs.wrapLatLngBounds(toLatLngBounds(latlng));\r\n  \t},\r\n\r\n  \t// @method distance(latlng1: LatLng, latlng2: LatLng): Number\r\n  \t// Returns the distance between two geographical coordinates according to\r\n  \t// the map's CRS. By default this measures distance in meters.\r\n  \tdistance: function (latlng1, latlng2) {\r\n  \t\treturn this.options.crs.distance(toLatLng(latlng1), toLatLng(latlng2));\r\n  \t},\r\n\r\n  \t// @method containerPointToLayerPoint(point: Point): Point\r\n  \t// Given a pixel coordinate relative to the map container, returns the corresponding\r\n  \t// pixel coordinate relative to the [origin pixel](#map-getpixelorigin).\r\n  \tcontainerPointToLayerPoint: function (point) { // (Point)\r\n  \t\treturn toPoint(point).subtract(this._getMapPanePos());\r\n  \t},\r\n\r\n  \t// @method layerPointToContainerPoint(point: Point): Point\r\n  \t// Given a pixel coordinate relative to the [origin pixel](#map-getpixelorigin),\r\n  \t// returns the corresponding pixel coordinate relative to the map container.\r\n  \tlayerPointToContainerPoint: function (point) { // (Point)\r\n  \t\treturn toPoint(point).add(this._getMapPanePos());\r\n  \t},\r\n\r\n  \t// @method containerPointToLatLng(point: Point): LatLng\r\n  \t// Given a pixel coordinate relative to the map container, returns\r\n  \t// the corresponding geographical coordinate (for the current zoom level).\r\n  \tcontainerPointToLatLng: function (point) {\r\n  \t\tvar layerPoint = this.containerPointToLayerPoint(toPoint(point));\r\n  \t\treturn this.layerPointToLatLng(layerPoint);\r\n  \t},\r\n\r\n  \t// @method latLngToContainerPoint(latlng: LatLng): Point\r\n  \t// Given a geographical coordinate, returns the corresponding pixel coordinate\r\n  \t// relative to the map container.\r\n  \tlatLngToContainerPoint: function (latlng) {\r\n  \t\treturn this.layerPointToContainerPoint(this.latLngToLayerPoint(toLatLng(latlng)));\r\n  \t},\r\n\r\n  \t// @method mouseEventToContainerPoint(ev: MouseEvent): Point\r\n  \t// Given a MouseEvent object, returns the pixel coordinate relative to the\r\n  \t// map container where the event took place.\r\n  \tmouseEventToContainerPoint: function (e) {\r\n  \t\treturn getMousePosition(e, this._container);\r\n  \t},\r\n\r\n  \t// @method mouseEventToLayerPoint(ev: MouseEvent): Point\r\n  \t// Given a MouseEvent object, returns the pixel coordinate relative to\r\n  \t// the [origin pixel](#map-getpixelorigin) where the event took place.\r\n  \tmouseEventToLayerPoint: function (e) {\r\n  \t\treturn this.containerPointToLayerPoint(this.mouseEventToContainerPoint(e));\r\n  \t},\r\n\r\n  \t// @method mouseEventToLatLng(ev: MouseEvent): LatLng\r\n  \t// Given a MouseEvent object, returns geographical coordinate where the\r\n  \t// event took place.\r\n  \tmouseEventToLatLng: function (e) { // (MouseEvent)\r\n  \t\treturn this.layerPointToLatLng(this.mouseEventToLayerPoint(e));\r\n  \t},\r\n\r\n\r\n  \t// map initialization methods\r\n\r\n  \t_initContainer: function (id) {\r\n  \t\tvar container = this._container = get(id);\r\n\r\n  \t\tif (!container) {\r\n  \t\t\tthrow new Error('Map container not found.');\r\n  \t\t} else if (container._leaflet_id) {\r\n  \t\t\tthrow new Error('Map container is already initialized.');\r\n  \t\t}\r\n\r\n  \t\ton(container, 'scroll', this._onScroll, this);\r\n  \t\tthis._containerId = stamp(container);\r\n  \t},\r\n\r\n  \t_initLayout: function () {\r\n  \t\tvar container = this._container;\r\n\r\n  \t\tthis._fadeAnimated = this.options.fadeAnimation && Browser.any3d;\r\n\r\n  \t\taddClass(container, 'leaflet-container' +\r\n  \t\t\t(Browser.touch ? ' leaflet-touch' : '') +\r\n  \t\t\t(Browser.retina ? ' leaflet-retina' : '') +\r\n  \t\t\t(Browser.ielt9 ? ' leaflet-oldie' : '') +\r\n  \t\t\t(Browser.safari ? ' leaflet-safari' : '') +\r\n  \t\t\t(this._fadeAnimated ? ' leaflet-fade-anim' : ''));\r\n\r\n  \t\tvar position = getStyle(container, 'position');\r\n\r\n  \t\tif (position !== 'absolute' && position !== 'relative' && position !== 'fixed' && position !== 'sticky') {\r\n  \t\t\tcontainer.style.position = 'relative';\r\n  \t\t}\r\n\r\n  \t\tthis._initPanes();\r\n\r\n  \t\tif (this._initControlPos) {\r\n  \t\t\tthis._initControlPos();\r\n  \t\t}\r\n  \t},\r\n\r\n  \t_initPanes: function () {\r\n  \t\tvar panes = this._panes = {};\r\n  \t\tthis._paneRenderers = {};\r\n\r\n  \t\t// @section\r\n  \t\t//\r\n  \t\t// Panes are DOM elements used to control the ordering of layers on the map. You\r\n  \t\t// can access panes with [`map.getPane`](#map-getpane) or\r\n  \t\t// [`map.getPanes`](#map-getpanes) methods. New panes can be created with the\r\n  \t\t// [`map.createPane`](#map-createpane) method.\r\n  \t\t//\r\n  \t\t// Every map has the following default panes that differ only in zIndex.\r\n  \t\t//\r\n  \t\t// @pane mapPane: HTMLElement = 'auto'\r\n  \t\t// Pane that contains all other map panes\r\n\r\n  \t\tthis._mapPane = this.createPane('mapPane', this._container);\r\n  \t\tsetPosition(this._mapPane, new Point(0, 0));\r\n\r\n  \t\t// @pane tilePane: HTMLElement = 200\r\n  \t\t// Pane for `GridLayer`s and `TileLayer`s\r\n  \t\tthis.createPane('tilePane');\r\n  \t\t// @pane overlayPane: HTMLElement = 400\r\n  \t\t// Pane for vectors (`Path`s, like `Polyline`s and `Polygon`s), `ImageOverlay`s and `VideoOverlay`s\r\n  \t\tthis.createPane('overlayPane');\r\n  \t\t// @pane shadowPane: HTMLElement = 500\r\n  \t\t// Pane for overlay shadows (e.g. `Marker` shadows)\r\n  \t\tthis.createPane('shadowPane');\r\n  \t\t// @pane markerPane: HTMLElement = 600\r\n  \t\t// Pane for `Icon`s of `Marker`s\r\n  \t\tthis.createPane('markerPane');\r\n  \t\t// @pane tooltipPane: HTMLElement = 650\r\n  \t\t// Pane for `Tooltip`s.\r\n  \t\tthis.createPane('tooltipPane');\r\n  \t\t// @pane popupPane: HTMLElement = 700\r\n  \t\t// Pane for `Popup`s.\r\n  \t\tthis.createPane('popupPane');\r\n\r\n  \t\tif (!this.options.markerZoomAnimation) {\r\n  \t\t\taddClass(panes.markerPane, 'leaflet-zoom-hide');\r\n  \t\t\taddClass(panes.shadowPane, 'leaflet-zoom-hide');\r\n  \t\t}\r\n  \t},\r\n\r\n\r\n  \t// private methods that modify map state\r\n\r\n  \t// @section Map state change events\r\n  \t_resetView: function (center, zoom, noMoveStart) {\r\n  \t\tsetPosition(this._mapPane, new Point(0, 0));\r\n\r\n  \t\tvar loading = !this._loaded;\r\n  \t\tthis._loaded = true;\r\n  \t\tzoom = this._limitZoom(zoom);\r\n\r\n  \t\tthis.fire('viewprereset');\r\n\r\n  \t\tvar zoomChanged = this._zoom !== zoom;\r\n  \t\tthis\r\n  \t\t\t._moveStart(zoomChanged, noMoveStart)\r\n  \t\t\t._move(center, zoom)\r\n  \t\t\t._moveEnd(zoomChanged);\r\n\r\n  \t\t// @event viewreset: Event\r\n  \t\t// Fired when the map needs to redraw its content (this usually happens\r\n  \t\t// on map zoom or load). Very useful for creating custom overlays.\r\n  \t\tthis.fire('viewreset');\r\n\r\n  \t\t// @event load: Event\r\n  \t\t// Fired when the map is initialized (when its center and zoom are set\r\n  \t\t// for the first time).\r\n  \t\tif (loading) {\r\n  \t\t\tthis.fire('load');\r\n  \t\t}\r\n  \t},\r\n\r\n  \t_moveStart: function (zoomChanged, noMoveStart) {\r\n  \t\t// @event zoomstart: Event\r\n  \t\t// Fired when the map zoom is about to change (e.g. before zoom animation).\r\n  \t\t// @event movestart: Event\r\n  \t\t// Fired when the view of the map starts changing (e.g. user starts dragging the map).\r\n  \t\tif (zoomChanged) {\r\n  \t\t\tthis.fire('zoomstart');\r\n  \t\t}\r\n  \t\tif (!noMoveStart) {\r\n  \t\t\tthis.fire('movestart');\r\n  \t\t}\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t_move: function (center, zoom, data, supressEvent) {\r\n  \t\tif (zoom === undefined) {\r\n  \t\t\tzoom = this._zoom;\r\n  \t\t}\r\n  \t\tvar zoomChanged = this._zoom !== zoom;\r\n\r\n  \t\tthis._zoom = zoom;\r\n  \t\tthis._lastCenter = center;\r\n  \t\tthis._pixelOrigin = this._getNewPixelOrigin(center);\r\n\r\n  \t\tif (!supressEvent) {\r\n  \t\t\t// @event zoom: Event\r\n  \t\t\t// Fired repeatedly during any change in zoom level,\r\n  \t\t\t// including zoom and fly animations.\r\n  \t\t\tif (zoomChanged || (data && data.pinch)) {\t// Always fire 'zoom' if pinching because #3530\r\n  \t\t\t\tthis.fire('zoom', data);\r\n  \t\t\t}\r\n\r\n  \t\t\t// @event move: Event\r\n  \t\t\t// Fired repeatedly during any movement of the map,\r\n  \t\t\t// including pan and fly animations.\r\n  \t\t\tthis.fire('move', data);\r\n  \t\t} else if (data && data.pinch) {\t// Always fire 'zoom' if pinching because #3530\r\n  \t\t\tthis.fire('zoom', data);\r\n  \t\t}\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t_moveEnd: function (zoomChanged) {\r\n  \t\t// @event zoomend: Event\r\n  \t\t// Fired when the map zoom changed, after any animations.\r\n  \t\tif (zoomChanged) {\r\n  \t\t\tthis.fire('zoomend');\r\n  \t\t}\r\n\r\n  \t\t// @event moveend: Event\r\n  \t\t// Fired when the center of the map stops changing\r\n  \t\t// (e.g. user stopped dragging the map or after non-centered zoom).\r\n  \t\treturn this.fire('moveend');\r\n  \t},\r\n\r\n  \t_stop: function () {\r\n  \t\tcancelAnimFrame(this._flyToFrame);\r\n  \t\tif (this._panAnim) {\r\n  \t\t\tthis._panAnim.stop();\r\n  \t\t}\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t_rawPanBy: function (offset) {\r\n  \t\tsetPosition(this._mapPane, this._getMapPanePos().subtract(offset));\r\n  \t},\r\n\r\n  \t_getZoomSpan: function () {\r\n  \t\treturn this.getMaxZoom() - this.getMinZoom();\r\n  \t},\r\n\r\n  \t_panInsideMaxBounds: function () {\r\n  \t\tif (!this._enforcingBounds) {\r\n  \t\t\tthis.panInsideBounds(this.options.maxBounds);\r\n  \t\t}\r\n  \t},\r\n\r\n  \t_checkIfLoaded: function () {\r\n  \t\tif (!this._loaded) {\r\n  \t\t\tthrow new Error('Set map center and zoom first.');\r\n  \t\t}\r\n  \t},\r\n\r\n  \t// DOM event handling\r\n\r\n  \t// @section Interaction events\r\n  \t_initEvents: function (remove) {\r\n  \t\tthis._targets = {};\r\n  \t\tthis._targets[stamp(this._container)] = this;\r\n\r\n  \t\tvar onOff = remove ? off : on;\r\n\r\n  \t\t// @event click: MouseEvent\r\n  \t\t// Fired when the user clicks (or taps) the map.\r\n  \t\t// @event dblclick: MouseEvent\r\n  \t\t// Fired when the user double-clicks (or double-taps) the map.\r\n  \t\t// @event mousedown: MouseEvent\r\n  \t\t// Fired when the user pushes the mouse button on the map.\r\n  \t\t// @event mouseup: MouseEvent\r\n  \t\t// Fired when the user releases the mouse button on the map.\r\n  \t\t// @event mouseover: MouseEvent\r\n  \t\t// Fired when the mouse enters the map.\r\n  \t\t// @event mouseout: MouseEvent\r\n  \t\t// Fired when the mouse leaves the map.\r\n  \t\t// @event mousemove: MouseEvent\r\n  \t\t// Fired while the mouse moves over the map.\r\n  \t\t// @event contextmenu: MouseEvent\r\n  \t\t// Fired when the user pushes the right mouse button on the map, prevents\r\n  \t\t// default browser context menu from showing if there are listeners on\r\n  \t\t// this event. Also fired on mobile when the user holds a single touch\r\n  \t\t// for a second (also called long press).\r\n  \t\t// @event keypress: KeyboardEvent\r\n  \t\t// Fired when the user presses a key from the keyboard that produces a character value while the map is focused.\r\n  \t\t// @event keydown: KeyboardEvent\r\n  \t\t// Fired when the user presses a key from the keyboard while the map is focused. Unlike the `keypress` event,\r\n  \t\t// the `keydown` event is fired for keys that produce a character value and for keys\r\n  \t\t// that do not produce a character value.\r\n  \t\t// @event keyup: KeyboardEvent\r\n  \t\t// Fired when the user releases a key from the keyboard while the map is focused.\r\n  \t\tonOff(this._container, 'click dblclick mousedown mouseup ' +\r\n  \t\t\t'mouseover mouseout mousemove contextmenu keypress keydown keyup', this._handleDOMEvent, this);\r\n\r\n  \t\tif (this.options.trackResize) {\r\n  \t\t\tonOff(window, 'resize', this._onResize, this);\r\n  \t\t}\r\n\r\n  \t\tif (Browser.any3d && this.options.transform3DLimit) {\r\n  \t\t\t(remove ? this.off : this.on).call(this, 'moveend', this._onMoveEnd);\r\n  \t\t}\r\n  \t},\r\n\r\n  \t_onResize: function () {\r\n  \t\tcancelAnimFrame(this._resizeRequest);\r\n  \t\tthis._resizeRequest = requestAnimFrame(\r\n  \t\t        function () { this.invalidateSize({debounceMoveend: true}); }, this);\r\n  \t},\r\n\r\n  \t_onScroll: function () {\r\n  \t\tthis._container.scrollTop  = 0;\r\n  \t\tthis._container.scrollLeft = 0;\r\n  \t},\r\n\r\n  \t_onMoveEnd: function () {\r\n  \t\tvar pos = this._getMapPanePos();\r\n  \t\tif (Math.max(Math.abs(pos.x), Math.abs(pos.y)) >= this.options.transform3DLimit) {\r\n  \t\t\t// https://bugzilla.mozilla.org/show_bug.cgi?id=1203873 but Webkit also have\r\n  \t\t\t// a pixel offset on very high values, see: https://jsfiddle.net/dg6r5hhb/\r\n  \t\t\tthis._resetView(this.getCenter(), this.getZoom());\r\n  \t\t}\r\n  \t},\r\n\r\n  \t_findEventTargets: function (e, type) {\r\n  \t\tvar targets = [],\r\n  \t\t    target,\r\n  \t\t    isHover = type === 'mouseout' || type === 'mouseover',\r\n  \t\t    src = e.target || e.srcElement,\r\n  \t\t    dragging = false;\r\n\r\n  \t\twhile (src) {\r\n  \t\t\ttarget = this._targets[stamp(src)];\r\n  \t\t\tif (target && (type === 'click' || type === 'preclick') && this._draggableMoved(target)) {\r\n  \t\t\t\t// Prevent firing click after you just dragged an object.\r\n  \t\t\t\tdragging = true;\r\n  \t\t\t\tbreak;\r\n  \t\t\t}\r\n  \t\t\tif (target && target.listens(type, true)) {\r\n  \t\t\t\tif (isHover && !isExternalTarget(src, e)) { break; }\r\n  \t\t\t\ttargets.push(target);\r\n  \t\t\t\tif (isHover) { break; }\r\n  \t\t\t}\r\n  \t\t\tif (src === this._container) { break; }\r\n  \t\t\tsrc = src.parentNode;\r\n  \t\t}\r\n  \t\tif (!targets.length && !dragging && !isHover && this.listens(type, true)) {\r\n  \t\t\ttargets = [this];\r\n  \t\t}\r\n  \t\treturn targets;\r\n  \t},\r\n\r\n  \t_isClickDisabled: function (el) {\r\n  \t\twhile (el && el !== this._container) {\r\n  \t\t\tif (el['_leaflet_disable_click']) { return true; }\r\n  \t\t\tel = el.parentNode;\r\n  \t\t}\r\n  \t},\r\n\r\n  \t_handleDOMEvent: function (e) {\r\n  \t\tvar el = (e.target || e.srcElement);\r\n  \t\tif (!this._loaded || el['_leaflet_disable_events'] || e.type === 'click' && this._isClickDisabled(el)) {\r\n  \t\t\treturn;\r\n  \t\t}\r\n\r\n  \t\tvar type = e.type;\r\n\r\n  \t\tif (type === 'mousedown') {\r\n  \t\t\t// prevents outline when clicking on keyboard-focusable element\r\n  \t\t\tpreventOutline(el);\r\n  \t\t}\r\n\r\n  \t\tthis._fireDOMEvent(e, type);\r\n  \t},\r\n\r\n  \t_mouseEvents: ['click', 'dblclick', 'mouseover', 'mouseout', 'contextmenu'],\r\n\r\n  \t_fireDOMEvent: function (e, type, canvasTargets) {\r\n\r\n  \t\tif (e.type === 'click') {\r\n  \t\t\t// Fire a synthetic 'preclick' event which propagates up (mainly for closing popups).\r\n  \t\t\t// @event preclick: MouseEvent\r\n  \t\t\t// Fired before mouse click on the map (sometimes useful when you\r\n  \t\t\t// want something to happen on click before any existing click\r\n  \t\t\t// handlers start running).\r\n  \t\t\tvar synth = extend({}, e);\r\n  \t\t\tsynth.type = 'preclick';\r\n  \t\t\tthis._fireDOMEvent(synth, synth.type, canvasTargets);\r\n  \t\t}\r\n\r\n  \t\t// Find the layer the event is propagating from and its parents.\r\n  \t\tvar targets = this._findEventTargets(e, type);\r\n\r\n  \t\tif (canvasTargets) {\r\n  \t\t\tvar filtered = []; // pick only targets with listeners\r\n  \t\t\tfor (var i = 0; i < canvasTargets.length; i++) {\r\n  \t\t\t\tif (canvasTargets[i].listens(type, true)) {\r\n  \t\t\t\t\tfiltered.push(canvasTargets[i]);\r\n  \t\t\t\t}\r\n  \t\t\t}\r\n  \t\t\ttargets = filtered.concat(targets);\r\n  \t\t}\r\n\r\n  \t\tif (!targets.length) { return; }\r\n\r\n  \t\tif (type === 'contextmenu') {\r\n  \t\t\tpreventDefault(e);\r\n  \t\t}\r\n\r\n  \t\tvar target = targets[0];\r\n  \t\tvar data = {\r\n  \t\t\toriginalEvent: e\r\n  \t\t};\r\n\r\n  \t\tif (e.type !== 'keypress' && e.type !== 'keydown' && e.type !== 'keyup') {\r\n  \t\t\tvar isMarker = target.getLatLng && (!target._radius || target._radius <= 10);\r\n  \t\t\tdata.containerPoint = isMarker ?\r\n  \t\t\t\tthis.latLngToContainerPoint(target.getLatLng()) : this.mouseEventToContainerPoint(e);\r\n  \t\t\tdata.layerPoint = this.containerPointToLayerPoint(data.containerPoint);\r\n  \t\t\tdata.latlng = isMarker ? target.getLatLng() : this.layerPointToLatLng(data.layerPoint);\r\n  \t\t}\r\n\r\n  \t\tfor (i = 0; i < targets.length; i++) {\r\n  \t\t\ttargets[i].fire(type, data, true);\r\n  \t\t\tif (data.originalEvent._stopped ||\r\n  \t\t\t\t(targets[i].options.bubblingMouseEvents === false && indexOf(this._mouseEvents, type) !== -1)) { return; }\r\n  \t\t}\r\n  \t},\r\n\r\n  \t_draggableMoved: function (obj) {\r\n  \t\tobj = obj.dragging && obj.dragging.enabled() ? obj : this;\r\n  \t\treturn (obj.dragging && obj.dragging.moved()) || (this.boxZoom && this.boxZoom.moved());\r\n  \t},\r\n\r\n  \t_clearHandlers: function () {\r\n  \t\tfor (var i = 0, len = this._handlers.length; i < len; i++) {\r\n  \t\t\tthis._handlers[i].disable();\r\n  \t\t}\r\n  \t},\r\n\r\n  \t// @section Other Methods\r\n\r\n  \t// @method whenReady(fn: Function, context?: Object): this\r\n  \t// Runs the given function `fn` when the map gets initialized with\r\n  \t// a view (center and zoom) and at least one layer, or immediately\r\n  \t// if it's already initialized, optionally passing a function context.\r\n  \twhenReady: function (callback, context) {\r\n  \t\tif (this._loaded) {\r\n  \t\t\tcallback.call(context || this, {target: this});\r\n  \t\t} else {\r\n  \t\t\tthis.on('load', callback, context);\r\n  \t\t}\r\n  \t\treturn this;\r\n  \t},\r\n\r\n\r\n  \t// private methods for getting map state\r\n\r\n  \t_getMapPanePos: function () {\r\n  \t\treturn getPosition(this._mapPane) || new Point(0, 0);\r\n  \t},\r\n\r\n  \t_moved: function () {\r\n  \t\tvar pos = this._getMapPanePos();\r\n  \t\treturn pos && !pos.equals([0, 0]);\r\n  \t},\r\n\r\n  \t_getTopLeftPoint: function (center, zoom) {\r\n  \t\tvar pixelOrigin = center && zoom !== undefined ?\r\n  \t\t\tthis._getNewPixelOrigin(center, zoom) :\r\n  \t\t\tthis.getPixelOrigin();\r\n  \t\treturn pixelOrigin.subtract(this._getMapPanePos());\r\n  \t},\r\n\r\n  \t_getNewPixelOrigin: function (center, zoom) {\r\n  \t\tvar viewHalf = this.getSize()._divideBy(2);\r\n  \t\treturn this.project(center, zoom)._subtract(viewHalf)._add(this._getMapPanePos())._round();\r\n  \t},\r\n\r\n  \t_latLngToNewLayerPoint: function (latlng, zoom, center) {\r\n  \t\tvar topLeft = this._getNewPixelOrigin(center, zoom);\r\n  \t\treturn this.project(latlng, zoom)._subtract(topLeft);\r\n  \t},\r\n\r\n  \t_latLngBoundsToNewLayerBounds: function (latLngBounds, zoom, center) {\r\n  \t\tvar topLeft = this._getNewPixelOrigin(center, zoom);\r\n  \t\treturn toBounds([\r\n  \t\t\tthis.project(latLngBounds.getSouthWest(), zoom)._subtract(topLeft),\r\n  \t\t\tthis.project(latLngBounds.getNorthWest(), zoom)._subtract(topLeft),\r\n  \t\t\tthis.project(latLngBounds.getSouthEast(), zoom)._subtract(topLeft),\r\n  \t\t\tthis.project(latLngBounds.getNorthEast(), zoom)._subtract(topLeft)\r\n  \t\t]);\r\n  \t},\r\n\r\n  \t// layer point of the current center\r\n  \t_getCenterLayerPoint: function () {\r\n  \t\treturn this.containerPointToLayerPoint(this.getSize()._divideBy(2));\r\n  \t},\r\n\r\n  \t// offset of the specified place to the current center in pixels\r\n  \t_getCenterOffset: function (latlng) {\r\n  \t\treturn this.latLngToLayerPoint(latlng).subtract(this._getCenterLayerPoint());\r\n  \t},\r\n\r\n  \t// adjust center for view to get inside bounds\r\n  \t_limitCenter: function (center, zoom, bounds) {\r\n\r\n  \t\tif (!bounds) { return center; }\r\n\r\n  \t\tvar centerPoint = this.project(center, zoom),\r\n  \t\t    viewHalf = this.getSize().divideBy(2),\r\n  \t\t    viewBounds = new Bounds(centerPoint.subtract(viewHalf), centerPoint.add(viewHalf)),\r\n  \t\t    offset = this._getBoundsOffset(viewBounds, bounds, zoom);\r\n\r\n  \t\t// If offset is less than a pixel, ignore.\r\n  \t\t// This prevents unstable projections from getting into\r\n  \t\t// an infinite loop of tiny offsets.\r\n  \t\tif (Math.abs(offset.x) <= 1 && Math.abs(offset.y) <= 1) {\r\n  \t\t\treturn center;\r\n  \t\t}\r\n\r\n  \t\treturn this.unproject(centerPoint.add(offset), zoom);\r\n  \t},\r\n\r\n  \t// adjust offset for view to get inside bounds\r\n  \t_limitOffset: function (offset, bounds) {\r\n  \t\tif (!bounds) { return offset; }\r\n\r\n  \t\tvar viewBounds = this.getPixelBounds(),\r\n  \t\t    newBounds = new Bounds(viewBounds.min.add(offset), viewBounds.max.add(offset));\r\n\r\n  \t\treturn offset.add(this._getBoundsOffset(newBounds, bounds));\r\n  \t},\r\n\r\n  \t// returns offset needed for pxBounds to get inside maxBounds at a specified zoom\r\n  \t_getBoundsOffset: function (pxBounds, maxBounds, zoom) {\r\n  \t\tvar projectedMaxBounds = toBounds(\r\n  \t\t        this.project(maxBounds.getNorthEast(), zoom),\r\n  \t\t        this.project(maxBounds.getSouthWest(), zoom)\r\n  \t\t    ),\r\n  \t\t    minOffset = projectedMaxBounds.min.subtract(pxBounds.min),\r\n  \t\t    maxOffset = projectedMaxBounds.max.subtract(pxBounds.max),\r\n\r\n  \t\t    dx = this._rebound(minOffset.x, -maxOffset.x),\r\n  \t\t    dy = this._rebound(minOffset.y, -maxOffset.y);\r\n\r\n  \t\treturn new Point(dx, dy);\r\n  \t},\r\n\r\n  \t_rebound: function (left, right) {\r\n  \t\treturn left + right > 0 ?\r\n  \t\t\tMath.round(left - right) / 2 :\r\n  \t\t\tMath.max(0, Math.ceil(left)) - Math.max(0, Math.floor(right));\r\n  \t},\r\n\r\n  \t_limitZoom: function (zoom) {\r\n  \t\tvar min = this.getMinZoom(),\r\n  \t\t    max = this.getMaxZoom(),\r\n  \t\t    snap = Browser.any3d ? this.options.zoomSnap : 1;\r\n  \t\tif (snap) {\r\n  \t\t\tzoom = Math.round(zoom / snap) * snap;\r\n  \t\t}\r\n  \t\treturn Math.max(min, Math.min(max, zoom));\r\n  \t},\r\n\r\n  \t_onPanTransitionStep: function () {\r\n  \t\tthis.fire('move');\r\n  \t},\r\n\r\n  \t_onPanTransitionEnd: function () {\r\n  \t\tremoveClass(this._mapPane, 'leaflet-pan-anim');\r\n  \t\tthis.fire('moveend');\r\n  \t},\r\n\r\n  \t_tryAnimatedPan: function (center, options) {\r\n  \t\t// difference between the new and current centers in pixels\r\n  \t\tvar offset = this._getCenterOffset(center)._trunc();\r\n\r\n  \t\t// don't animate too far unless animate: true specified in options\r\n  \t\tif ((options && options.animate) !== true && !this.getSize().contains(offset)) { return false; }\r\n\r\n  \t\tthis.panBy(offset, options);\r\n\r\n  \t\treturn true;\r\n  \t},\r\n\r\n  \t_createAnimProxy: function () {\r\n\r\n  \t\tvar proxy = this._proxy = create$1('div', 'leaflet-proxy leaflet-zoom-animated');\r\n  \t\tthis._panes.mapPane.appendChild(proxy);\r\n\r\n  \t\tthis.on('zoomanim', function (e) {\r\n  \t\t\tvar prop = TRANSFORM,\r\n  \t\t\t    transform = this._proxy.style[prop];\r\n\r\n  \t\t\tsetTransform(this._proxy, this.project(e.center, e.zoom), this.getZoomScale(e.zoom, 1));\r\n\r\n  \t\t\t// workaround for case when transform is the same and so transitionend event is not fired\r\n  \t\t\tif (transform === this._proxy.style[prop] && this._animatingZoom) {\r\n  \t\t\t\tthis._onZoomTransitionEnd();\r\n  \t\t\t}\r\n  \t\t}, this);\r\n\r\n  \t\tthis.on('load moveend', this._animMoveEnd, this);\r\n\r\n  \t\tthis._on('unload', this._destroyAnimProxy, this);\r\n  \t},\r\n\r\n  \t_destroyAnimProxy: function () {\r\n  \t\tremove(this._proxy);\r\n  \t\tthis.off('load moveend', this._animMoveEnd, this);\r\n  \t\tdelete this._proxy;\r\n  \t},\r\n\r\n  \t_animMoveEnd: function () {\r\n  \t\tvar c = this.getCenter(),\r\n  \t\t    z = this.getZoom();\r\n  \t\tsetTransform(this._proxy, this.project(c, z), this.getZoomScale(z, 1));\r\n  \t},\r\n\r\n  \t_catchTransitionEnd: function (e) {\r\n  \t\tif (this._animatingZoom && e.propertyName.indexOf('transform') >= 0) {\r\n  \t\t\tthis._onZoomTransitionEnd();\r\n  \t\t}\r\n  \t},\r\n\r\n  \t_nothingToAnimate: function () {\r\n  \t\treturn !this._container.getElementsByClassName('leaflet-zoom-animated').length;\r\n  \t},\r\n\r\n  \t_tryAnimatedZoom: function (center, zoom, options) {\r\n\r\n  \t\tif (this._animatingZoom) { return true; }\r\n\r\n  \t\toptions = options || {};\r\n\r\n  \t\t// don't animate if disabled, not supported or zoom difference is too large\r\n  \t\tif (!this._zoomAnimated || options.animate === false || this._nothingToAnimate() ||\r\n  \t\t        Math.abs(zoom - this._zoom) > this.options.zoomAnimationThreshold) { return false; }\r\n\r\n  \t\t// offset is the pixel coords of the zoom origin relative to the current center\r\n  \t\tvar scale = this.getZoomScale(zoom),\r\n  \t\t    offset = this._getCenterOffset(center)._divideBy(1 - 1 / scale);\r\n\r\n  \t\t// don't animate if the zoom origin isn't within one screen from the current center, unless forced\r\n  \t\tif (options.animate !== true && !this.getSize().contains(offset)) { return false; }\r\n\r\n  \t\trequestAnimFrame(function () {\r\n  \t\t\tthis\r\n  \t\t\t    ._moveStart(true, options.noMoveStart || false)\r\n  \t\t\t    ._animateZoom(center, zoom, true);\r\n  \t\t}, this);\r\n\r\n  \t\treturn true;\r\n  \t},\r\n\r\n  \t_animateZoom: function (center, zoom, startAnim, noUpdate) {\r\n  \t\tif (!this._mapPane) { return; }\r\n\r\n  \t\tif (startAnim) {\r\n  \t\t\tthis._animatingZoom = true;\r\n\r\n  \t\t\t// remember what center/zoom to set after animation\r\n  \t\t\tthis._animateToCenter = center;\r\n  \t\t\tthis._animateToZoom = zoom;\r\n\r\n  \t\t\taddClass(this._mapPane, 'leaflet-zoom-anim');\r\n  \t\t}\r\n\r\n  \t\t// @section Other Events\r\n  \t\t// @event zoomanim: ZoomAnimEvent\r\n  \t\t// Fired at least once per zoom animation. For continuous zoom, like pinch zooming, fired once per frame during zoom.\r\n  \t\tthis.fire('zoomanim', {\r\n  \t\t\tcenter: center,\r\n  \t\t\tzoom: zoom,\r\n  \t\t\tnoUpdate: noUpdate\r\n  \t\t});\r\n\r\n  \t\tif (!this._tempFireZoomEvent) {\r\n  \t\t\tthis._tempFireZoomEvent = this._zoom !== this._animateToZoom;\r\n  \t\t}\r\n\r\n  \t\tthis._move(this._animateToCenter, this._animateToZoom, undefined, true);\r\n\r\n  \t\t// Work around webkit not firing 'transitionend', see https://github.com/Leaflet/Leaflet/issues/3689, 2693\r\n  \t\tsetTimeout(bind(this._onZoomTransitionEnd, this), 250);\r\n  \t},\r\n\r\n  \t_onZoomTransitionEnd: function () {\r\n  \t\tif (!this._animatingZoom) { return; }\r\n\r\n  \t\tif (this._mapPane) {\r\n  \t\t\tremoveClass(this._mapPane, 'leaflet-zoom-anim');\r\n  \t\t}\r\n\r\n  \t\tthis._animatingZoom = false;\r\n\r\n  \t\tthis._move(this._animateToCenter, this._animateToZoom, undefined, true);\r\n\r\n  \t\tif (this._tempFireZoomEvent) {\r\n  \t\t\tthis.fire('zoom');\r\n  \t\t}\r\n  \t\tdelete this._tempFireZoomEvent;\r\n\r\n  \t\tthis.fire('move');\r\n\r\n  \t\tthis._moveEnd(true);\r\n  \t}\r\n  });\r\n\r\n  // @section\r\n\r\n  // @factory L.map(id: String, options?: Map options)\r\n  // Instantiates a map object given the DOM ID of a `<div>` element\r\n  // and optionally an object literal with `Map options`.\r\n  //\r\n  // @alternative\r\n  // @factory L.map(el: HTMLElement, options?: Map options)\r\n  // Instantiates a map object given an instance of a `<div>` HTML element\r\n  // and optionally an object literal with `Map options`.\r\n  function createMap(id, options) {\r\n  \treturn new Map(id, options);\r\n  }\n\n  /*\r\n   * @class Control\r\n   * @aka L.Control\r\n   * @inherits Class\r\n   *\r\n   * L.Control is a base class for implementing map controls. Handles positioning.\r\n   * All other controls extend from this class.\r\n   */\r\n\r\n  var Control = Class.extend({\r\n  \t// @section\r\n  \t// @aka Control Options\r\n  \toptions: {\r\n  \t\t// @option position: String = 'topright'\r\n  \t\t// The position of the control (one of the map corners). Possible values are `'topleft'`,\r\n  \t\t// `'topright'`, `'bottomleft'` or `'bottomright'`\r\n  \t\tposition: 'topright'\r\n  \t},\r\n\r\n  \tinitialize: function (options) {\r\n  \t\tsetOptions(this, options);\r\n  \t},\r\n\r\n  \t/* @section\r\n  \t * Classes extending L.Control will inherit the following methods:\r\n  \t *\r\n  \t * @method getPosition: string\r\n  \t * Returns the position of the control.\r\n  \t */\r\n  \tgetPosition: function () {\r\n  \t\treturn this.options.position;\r\n  \t},\r\n\r\n  \t// @method setPosition(position: string): this\r\n  \t// Sets the position of the control.\r\n  \tsetPosition: function (position) {\r\n  \t\tvar map = this._map;\r\n\r\n  \t\tif (map) {\r\n  \t\t\tmap.removeControl(this);\r\n  \t\t}\r\n\r\n  \t\tthis.options.position = position;\r\n\r\n  \t\tif (map) {\r\n  \t\t\tmap.addControl(this);\r\n  \t\t}\r\n\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method getContainer: HTMLElement\r\n  \t// Returns the HTMLElement that contains the control.\r\n  \tgetContainer: function () {\r\n  \t\treturn this._container;\r\n  \t},\r\n\r\n  \t// @method addTo(map: Map): this\r\n  \t// Adds the control to the given map.\r\n  \taddTo: function (map) {\r\n  \t\tthis.remove();\r\n  \t\tthis._map = map;\r\n\r\n  \t\tvar container = this._container = this.onAdd(map),\r\n  \t\t    pos = this.getPosition(),\r\n  \t\t    corner = map._controlCorners[pos];\r\n\r\n  \t\taddClass(container, 'leaflet-control');\r\n\r\n  \t\tif (pos.indexOf('bottom') !== -1) {\r\n  \t\t\tcorner.insertBefore(container, corner.firstChild);\r\n  \t\t} else {\r\n  \t\t\tcorner.appendChild(container);\r\n  \t\t}\r\n\r\n  \t\tthis._map.on('unload', this.remove, this);\r\n\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method remove: this\r\n  \t// Removes the control from the map it is currently active on.\r\n  \tremove: function () {\r\n  \t\tif (!this._map) {\r\n  \t\t\treturn this;\r\n  \t\t}\r\n\r\n  \t\tremove(this._container);\r\n\r\n  \t\tif (this.onRemove) {\r\n  \t\t\tthis.onRemove(this._map);\r\n  \t\t}\r\n\r\n  \t\tthis._map.off('unload', this.remove, this);\r\n  \t\tthis._map = null;\r\n\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t_refocusOnMap: function (e) {\r\n  \t\t// if map exists and event is not a keyboard event\r\n  \t\tif (this._map && e && e.screenX > 0 && e.screenY > 0) {\r\n  \t\t\tthis._map.getContainer().focus();\r\n  \t\t}\r\n  \t}\r\n  });\r\n\r\n  var control = function (options) {\r\n  \treturn new Control(options);\r\n  };\r\n\r\n  /* @section Extension methods\r\n   * @uninheritable\r\n   *\r\n   * Every control should extend from `L.Control` and (re-)implement the following methods.\r\n   *\r\n   * @method onAdd(map: Map): HTMLElement\r\n   * Should return the container DOM element for the control and add listeners on relevant map events. Called on [`control.addTo(map)`](#control-addTo).\r\n   *\r\n   * @method onRemove(map: Map)\r\n   * Optional method. Should contain all clean up code that removes the listeners previously added in [`onAdd`](#control-onadd). Called on [`control.remove()`](#control-remove).\r\n   */\r\n\r\n  /* @namespace Map\r\n   * @section Methods for Layers and Controls\r\n   */\r\n  Map.include({\r\n  \t// @method addControl(control: Control): this\r\n  \t// Adds the given control to the map\r\n  \taddControl: function (control) {\r\n  \t\tcontrol.addTo(this);\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method removeControl(control: Control): this\r\n  \t// Removes the given control from the map\r\n  \tremoveControl: function (control) {\r\n  \t\tcontrol.remove();\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t_initControlPos: function () {\r\n  \t\tvar corners = this._controlCorners = {},\r\n  \t\t    l = 'leaflet-',\r\n  \t\t    container = this._controlContainer =\r\n  \t\t            create$1('div', l + 'control-container', this._container);\r\n\r\n  \t\tfunction createCorner(vSide, hSide) {\r\n  \t\t\tvar className = l + vSide + ' ' + l + hSide;\r\n\r\n  \t\t\tcorners[vSide + hSide] = create$1('div', className, container);\r\n  \t\t}\r\n\r\n  \t\tcreateCorner('top', 'left');\r\n  \t\tcreateCorner('top', 'right');\r\n  \t\tcreateCorner('bottom', 'left');\r\n  \t\tcreateCorner('bottom', 'right');\r\n  \t},\r\n\r\n  \t_clearControlPos: function () {\r\n  \t\tfor (var i in this._controlCorners) {\r\n  \t\t\tremove(this._controlCorners[i]);\r\n  \t\t}\r\n  \t\tremove(this._controlContainer);\r\n  \t\tdelete this._controlCorners;\r\n  \t\tdelete this._controlContainer;\r\n  \t}\r\n  });\n\n  /*\r\n   * @class Control.Layers\r\n   * @aka L.Control.Layers\r\n   * @inherits Control\r\n   *\r\n   * The layers control gives users the ability to switch between different base layers and switch overlays on/off (check out the [detailed example](https://leafletjs.com/examples/layers-control/)). Extends `Control`.\r\n   *\r\n   * @example\r\n   *\r\n   * ```js\r\n   * var baseLayers = {\r\n   * \t\"Mapbox\": mapbox,\r\n   * \t\"OpenStreetMap\": osm\r\n   * };\r\n   *\r\n   * var overlays = {\r\n   * \t\"Marker\": marker,\r\n   * \t\"Roads\": roadsLayer\r\n   * };\r\n   *\r\n   * L.control.layers(baseLayers, overlays).addTo(map);\r\n   * ```\r\n   *\r\n   * The `baseLayers` and `overlays` parameters are object literals with layer names as keys and `Layer` objects as values:\r\n   *\r\n   * ```js\r\n   * {\r\n   *     \"<someName1>\": layer1,\r\n   *     \"<someName2>\": layer2\r\n   * }\r\n   * ```\r\n   *\r\n   * The layer names can contain HTML, which allows you to add additional styling to the items:\r\n   *\r\n   * ```js\r\n   * {\"<img src='my-layer-icon' /> <span class='my-layer-item'>My Layer</span>\": myLayer}\r\n   * ```\r\n   */\r\n\r\n  var Layers = Control.extend({\r\n  \t// @section\r\n  \t// @aka Control.Layers options\r\n  \toptions: {\r\n  \t\t// @option collapsed: Boolean = true\r\n  \t\t// If `true`, the control will be collapsed into an icon and expanded on mouse hover, touch, or keyboard activation.\r\n  \t\tcollapsed: true,\r\n  \t\tposition: 'topright',\r\n\r\n  \t\t// @option autoZIndex: Boolean = true\r\n  \t\t// If `true`, the control will assign zIndexes in increasing order to all of its layers so that the order is preserved when switching them on/off.\r\n  \t\tautoZIndex: true,\r\n\r\n  \t\t// @option hideSingleBase: Boolean = false\r\n  \t\t// If `true`, the base layers in the control will be hidden when there is only one.\r\n  \t\thideSingleBase: false,\r\n\r\n  \t\t// @option sortLayers: Boolean = false\r\n  \t\t// Whether to sort the layers. When `false`, layers will keep the order\r\n  \t\t// in which they were added to the control.\r\n  \t\tsortLayers: false,\r\n\r\n  \t\t// @option sortFunction: Function = *\r\n  \t\t// A [compare function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array/sort)\r\n  \t\t// that will be used for sorting the layers, when `sortLayers` is `true`.\r\n  \t\t// The function receives both the `L.Layer` instances and their names, as in\r\n  \t\t// `sortFunction(layerA, layerB, nameA, nameB)`.\r\n  \t\t// By default, it sorts layers alphabetically by their name.\r\n  \t\tsortFunction: function (layerA, layerB, nameA, nameB) {\r\n  \t\t\treturn nameA < nameB ? -1 : (nameB < nameA ? 1 : 0);\r\n  \t\t}\r\n  \t},\r\n\r\n  \tinitialize: function (baseLayers, overlays, options) {\r\n  \t\tsetOptions(this, options);\r\n\r\n  \t\tthis._layerControlInputs = [];\r\n  \t\tthis._layers = [];\r\n  \t\tthis._lastZIndex = 0;\r\n  \t\tthis._handlingClick = false;\r\n  \t\tthis._preventClick = false;\r\n\r\n  \t\tfor (var i in baseLayers) {\r\n  \t\t\tthis._addLayer(baseLayers[i], i);\r\n  \t\t}\r\n\r\n  \t\tfor (i in overlays) {\r\n  \t\t\tthis._addLayer(overlays[i], i, true);\r\n  \t\t}\r\n  \t},\r\n\r\n  \tonAdd: function (map) {\r\n  \t\tthis._initLayout();\r\n  \t\tthis._update();\r\n\r\n  \t\tthis._map = map;\r\n  \t\tmap.on('zoomend', this._checkDisabledLayers, this);\r\n\r\n  \t\tfor (var i = 0; i < this._layers.length; i++) {\r\n  \t\t\tthis._layers[i].layer.on('add remove', this._onLayerChange, this);\r\n  \t\t}\r\n\r\n  \t\treturn this._container;\r\n  \t},\r\n\r\n  \taddTo: function (map) {\r\n  \t\tControl.prototype.addTo.call(this, map);\r\n  \t\t// Trigger expand after Layers Control has been inserted into DOM so that is now has an actual height.\r\n  \t\treturn this._expandIfNotCollapsed();\r\n  \t},\r\n\r\n  \tonRemove: function () {\r\n  \t\tthis._map.off('zoomend', this._checkDisabledLayers, this);\r\n\r\n  \t\tfor (var i = 0; i < this._layers.length; i++) {\r\n  \t\t\tthis._layers[i].layer.off('add remove', this._onLayerChange, this);\r\n  \t\t}\r\n  \t},\r\n\r\n  \t// @method addBaseLayer(layer: Layer, name: String): this\r\n  \t// Adds a base layer (radio button entry) with the given name to the control.\r\n  \taddBaseLayer: function (layer, name) {\r\n  \t\tthis._addLayer(layer, name);\r\n  \t\treturn (this._map) ? this._update() : this;\r\n  \t},\r\n\r\n  \t// @method addOverlay(layer: Layer, name: String): this\r\n  \t// Adds an overlay (checkbox entry) with the given name to the control.\r\n  \taddOverlay: function (layer, name) {\r\n  \t\tthis._addLayer(layer, name, true);\r\n  \t\treturn (this._map) ? this._update() : this;\r\n  \t},\r\n\r\n  \t// @method removeLayer(layer: Layer): this\r\n  \t// Remove the given layer from the control.\r\n  \tremoveLayer: function (layer) {\r\n  \t\tlayer.off('add remove', this._onLayerChange, this);\r\n\r\n  \t\tvar obj = this._getLayer(stamp(layer));\r\n  \t\tif (obj) {\r\n  \t\t\tthis._layers.splice(this._layers.indexOf(obj), 1);\r\n  \t\t}\r\n  \t\treturn (this._map) ? this._update() : this;\r\n  \t},\r\n\r\n  \t// @method expand(): this\r\n  \t// Expand the control container if collapsed.\r\n  \texpand: function () {\r\n  \t\taddClass(this._container, 'leaflet-control-layers-expanded');\r\n  \t\tthis._section.style.height = null;\r\n  \t\tvar acceptableHeight = this._map.getSize().y - (this._container.offsetTop + 50);\r\n  \t\tif (acceptableHeight < this._section.clientHeight) {\r\n  \t\t\taddClass(this._section, 'leaflet-control-layers-scrollbar');\r\n  \t\t\tthis._section.style.height = acceptableHeight + 'px';\r\n  \t\t} else {\r\n  \t\t\tremoveClass(this._section, 'leaflet-control-layers-scrollbar');\r\n  \t\t}\r\n  \t\tthis._checkDisabledLayers();\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method collapse(): this\r\n  \t// Collapse the control container if expanded.\r\n  \tcollapse: function () {\r\n  \t\tremoveClass(this._container, 'leaflet-control-layers-expanded');\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t_initLayout: function () {\r\n  \t\tvar className = 'leaflet-control-layers',\r\n  \t\t    container = this._container = create$1('div', className),\r\n  \t\t    collapsed = this.options.collapsed;\r\n\r\n  \t\t// makes this work on IE touch devices by stopping it from firing a mouseout event when the touch is released\r\n  \t\tcontainer.setAttribute('aria-haspopup', true);\r\n\r\n  \t\tdisableClickPropagation(container);\r\n  \t\tdisableScrollPropagation(container);\r\n\r\n  \t\tvar section = this._section = create$1('section', className + '-list');\r\n\r\n  \t\tif (collapsed) {\r\n  \t\t\tthis._map.on('click', this.collapse, this);\r\n\r\n  \t\t\ton(container, {\r\n  \t\t\t\tmouseenter: this._expandSafely,\r\n  \t\t\t\tmouseleave: this.collapse\r\n  \t\t\t}, this);\r\n  \t\t}\r\n\r\n  \t\tvar link = this._layersLink = create$1('a', className + '-toggle', container);\r\n  \t\tlink.href = '#';\r\n  \t\tlink.title = 'Layers';\r\n  \t\tlink.setAttribute('role', 'button');\r\n\r\n  \t\ton(link, {\r\n  \t\t\tkeydown: function (e) {\r\n  \t\t\t\tif (e.keyCode === 13) {\r\n  \t\t\t\t\tthis._expandSafely();\r\n  \t\t\t\t}\r\n  \t\t\t},\r\n  \t\t\t// Certain screen readers intercept the key event and instead send a click event\r\n  \t\t\tclick: function (e) {\r\n  \t\t\t\tpreventDefault(e);\r\n  \t\t\t\tthis._expandSafely();\r\n  \t\t\t}\r\n  \t\t}, this);\r\n\r\n  \t\tif (!collapsed) {\r\n  \t\t\tthis.expand();\r\n  \t\t}\r\n\r\n  \t\tthis._baseLayersList = create$1('div', className + '-base', section);\r\n  \t\tthis._separator = create$1('div', className + '-separator', section);\r\n  \t\tthis._overlaysList = create$1('div', className + '-overlays', section);\r\n\r\n  \t\tcontainer.appendChild(section);\r\n  \t},\r\n\r\n  \t_getLayer: function (id) {\r\n  \t\tfor (var i = 0; i < this._layers.length; i++) {\r\n\r\n  \t\t\tif (this._layers[i] && stamp(this._layers[i].layer) === id) {\r\n  \t\t\t\treturn this._layers[i];\r\n  \t\t\t}\r\n  \t\t}\r\n  \t},\r\n\r\n  \t_addLayer: function (layer, name, overlay) {\r\n  \t\tif (this._map) {\r\n  \t\t\tlayer.on('add remove', this._onLayerChange, this);\r\n  \t\t}\r\n\r\n  \t\tthis._layers.push({\r\n  \t\t\tlayer: layer,\r\n  \t\t\tname: name,\r\n  \t\t\toverlay: overlay\r\n  \t\t});\r\n\r\n  \t\tif (this.options.sortLayers) {\r\n  \t\t\tthis._layers.sort(bind(function (a, b) {\r\n  \t\t\t\treturn this.options.sortFunction(a.layer, b.layer, a.name, b.name);\r\n  \t\t\t}, this));\r\n  \t\t}\r\n\r\n  \t\tif (this.options.autoZIndex && layer.setZIndex) {\r\n  \t\t\tthis._lastZIndex++;\r\n  \t\t\tlayer.setZIndex(this._lastZIndex);\r\n  \t\t}\r\n\r\n  \t\tthis._expandIfNotCollapsed();\r\n  \t},\r\n\r\n  \t_update: function () {\r\n  \t\tif (!this._container) { return this; }\r\n\r\n  \t\tempty(this._baseLayersList);\r\n  \t\tempty(this._overlaysList);\r\n\r\n  \t\tthis._layerControlInputs = [];\r\n  \t\tvar baseLayersPresent, overlaysPresent, i, obj, baseLayersCount = 0;\r\n\r\n  \t\tfor (i = 0; i < this._layers.length; i++) {\r\n  \t\t\tobj = this._layers[i];\r\n  \t\t\tthis._addItem(obj);\r\n  \t\t\toverlaysPresent = overlaysPresent || obj.overlay;\r\n  \t\t\tbaseLayersPresent = baseLayersPresent || !obj.overlay;\r\n  \t\t\tbaseLayersCount += !obj.overlay ? 1 : 0;\r\n  \t\t}\r\n\r\n  \t\t// Hide base layers section if there's only one layer.\r\n  \t\tif (this.options.hideSingleBase) {\r\n  \t\t\tbaseLayersPresent = baseLayersPresent && baseLayersCount > 1;\r\n  \t\t\tthis._baseLayersList.style.display = baseLayersPresent ? '' : 'none';\r\n  \t\t}\r\n\r\n  \t\tthis._separator.style.display = overlaysPresent && baseLayersPresent ? '' : 'none';\r\n\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t_onLayerChange: function (e) {\r\n  \t\tif (!this._handlingClick) {\r\n  \t\t\tthis._update();\r\n  \t\t}\r\n\r\n  \t\tvar obj = this._getLayer(stamp(e.target));\r\n\r\n  \t\t// @namespace Map\r\n  \t\t// @section Layer events\r\n  \t\t// @event baselayerchange: LayersControlEvent\r\n  \t\t// Fired when the base layer is changed through the [layers control](#control-layers).\r\n  \t\t// @event overlayadd: LayersControlEvent\r\n  \t\t// Fired when an overlay is selected through the [layers control](#control-layers).\r\n  \t\t// @event overlayremove: LayersControlEvent\r\n  \t\t// Fired when an overlay is deselected through the [layers control](#control-layers).\r\n  \t\t// @namespace Control.Layers\r\n  \t\tvar type = obj.overlay ?\r\n  \t\t\t(e.type === 'add' ? 'overlayadd' : 'overlayremove') :\r\n  \t\t\t(e.type === 'add' ? 'baselayerchange' : null);\r\n\r\n  \t\tif (type) {\r\n  \t\t\tthis._map.fire(type, obj);\r\n  \t\t}\r\n  \t},\r\n\r\n  \t// IE7 bugs out if you create a radio dynamically, so you have to do it this hacky way (see https://stackoverflow.com/a/119079)\r\n  \t_createRadioElement: function (name, checked) {\r\n\r\n  \t\tvar radioHtml = '<input type=\"radio\" class=\"leaflet-control-layers-selector\" name=\"' +\r\n  \t\t\t\tname + '\"' + (checked ? ' checked=\"checked\"' : '') + '/>';\r\n\r\n  \t\tvar radioFragment = document.createElement('div');\r\n  \t\tradioFragment.innerHTML = radioHtml;\r\n\r\n  \t\treturn radioFragment.firstChild;\r\n  \t},\r\n\r\n  \t_addItem: function (obj) {\r\n  \t\tvar label = document.createElement('label'),\r\n  \t\t    checked = this._map.hasLayer(obj.layer),\r\n  \t\t    input;\r\n\r\n  \t\tif (obj.overlay) {\r\n  \t\t\tinput = document.createElement('input');\r\n  \t\t\tinput.type = 'checkbox';\r\n  \t\t\tinput.className = 'leaflet-control-layers-selector';\r\n  \t\t\tinput.defaultChecked = checked;\r\n  \t\t} else {\r\n  \t\t\tinput = this._createRadioElement('leaflet-base-layers_' + stamp(this), checked);\r\n  \t\t}\r\n\r\n  \t\tthis._layerControlInputs.push(input);\r\n  \t\tinput.layerId = stamp(obj.layer);\r\n\r\n  \t\ton(input, 'click', this._onInputClick, this);\r\n\r\n  \t\tvar name = document.createElement('span');\r\n  \t\tname.innerHTML = ' ' + obj.name;\r\n\r\n  \t\t// Helps from preventing layer control flicker when checkboxes are disabled\r\n  \t\t// https://github.com/Leaflet/Leaflet/issues/2771\r\n  \t\tvar holder = document.createElement('span');\r\n\r\n  \t\tlabel.appendChild(holder);\r\n  \t\tholder.appendChild(input);\r\n  \t\tholder.appendChild(name);\r\n\r\n  \t\tvar container = obj.overlay ? this._overlaysList : this._baseLayersList;\r\n  \t\tcontainer.appendChild(label);\r\n\r\n  \t\tthis._checkDisabledLayers();\r\n  \t\treturn label;\r\n  \t},\r\n\r\n  \t_onInputClick: function () {\r\n  \t\t// expanding the control on mobile with a click can cause adding a layer - we don't want this\r\n  \t\tif (this._preventClick) {\r\n  \t\t\treturn;\r\n  \t\t}\r\n\r\n  \t\tvar inputs = this._layerControlInputs,\r\n  \t\t    input, layer;\r\n  \t\tvar addedLayers = [],\r\n  \t\t    removedLayers = [];\r\n\r\n  \t\tthis._handlingClick = true;\r\n\r\n  \t\tfor (var i = inputs.length - 1; i >= 0; i--) {\r\n  \t\t\tinput = inputs[i];\r\n  \t\t\tlayer = this._getLayer(input.layerId).layer;\r\n\r\n  \t\t\tif (input.checked) {\r\n  \t\t\t\taddedLayers.push(layer);\r\n  \t\t\t} else if (!input.checked) {\r\n  \t\t\t\tremovedLayers.push(layer);\r\n  \t\t\t}\r\n  \t\t}\r\n\r\n  \t\t// Bugfix issue 2318: Should remove all old layers before readding new ones\r\n  \t\tfor (i = 0; i < removedLayers.length; i++) {\r\n  \t\t\tif (this._map.hasLayer(removedLayers[i])) {\r\n  \t\t\t\tthis._map.removeLayer(removedLayers[i]);\r\n  \t\t\t}\r\n  \t\t}\r\n  \t\tfor (i = 0; i < addedLayers.length; i++) {\r\n  \t\t\tif (!this._map.hasLayer(addedLayers[i])) {\r\n  \t\t\t\tthis._map.addLayer(addedLayers[i]);\r\n  \t\t\t}\r\n  \t\t}\r\n\r\n  \t\tthis._handlingClick = false;\r\n\r\n  \t\tthis._refocusOnMap();\r\n  \t},\r\n\r\n  \t_checkDisabledLayers: function () {\r\n  \t\tvar inputs = this._layerControlInputs,\r\n  \t\t    input,\r\n  \t\t    layer,\r\n  \t\t    zoom = this._map.getZoom();\r\n\r\n  \t\tfor (var i = inputs.length - 1; i >= 0; i--) {\r\n  \t\t\tinput = inputs[i];\r\n  \t\t\tlayer = this._getLayer(input.layerId).layer;\r\n  \t\t\tinput.disabled = (layer.options.minZoom !== undefined && zoom < layer.options.minZoom) ||\r\n  \t\t\t                 (layer.options.maxZoom !== undefined && zoom > layer.options.maxZoom);\r\n\r\n  \t\t}\r\n  \t},\r\n\r\n  \t_expandIfNotCollapsed: function () {\r\n  \t\tif (this._map && !this.options.collapsed) {\r\n  \t\t\tthis.expand();\r\n  \t\t}\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t_expandSafely: function () {\r\n  \t\tvar section = this._section;\r\n  \t\tthis._preventClick = true;\r\n  \t\ton(section, 'click', preventDefault);\r\n  \t\tthis.expand();\r\n  \t\tvar that = this;\r\n  \t\tsetTimeout(function () {\r\n  \t\t\toff(section, 'click', preventDefault);\r\n  \t\t\tthat._preventClick = false;\r\n  \t\t});\r\n  \t}\r\n\r\n  });\r\n\r\n\r\n  // @factory L.control.layers(baselayers?: Object, overlays?: Object, options?: Control.Layers options)\r\n  // Creates a layers control with the given layers. Base layers will be switched with radio buttons, while overlays will be switched with checkboxes. Note that all base layers should be passed in the base layers object, but only one should be added to the map during map instantiation.\r\n  var layers = function (baseLayers, overlays, options) {\r\n  \treturn new Layers(baseLayers, overlays, options);\r\n  };\n\n  /*\r\n   * @class Control.Zoom\r\n   * @aka L.Control.Zoom\r\n   * @inherits Control\r\n   *\r\n   * A basic zoom control with two buttons (zoom in and zoom out). It is put on the map by default unless you set its [`zoomControl` option](#map-zoomcontrol) to `false`. Extends `Control`.\r\n   */\r\n\r\n  var Zoom = Control.extend({\r\n  \t// @section\r\n  \t// @aka Control.Zoom options\r\n  \toptions: {\r\n  \t\tposition: 'topleft',\r\n\r\n  \t\t// @option zoomInText: String = '<span aria-hidden=\"true\">+</span>'\r\n  \t\t// The text set on the 'zoom in' button.\r\n  \t\tzoomInText: '<span aria-hidden=\"true\">+</span>',\r\n\r\n  \t\t// @option zoomInTitle: String = 'Zoom in'\r\n  \t\t// The title set on the 'zoom in' button.\r\n  \t\tzoomInTitle: 'Zoom in',\r\n\r\n  \t\t// @option zoomOutText: String = '<span aria-hidden=\"true\">&#x2212;</span>'\r\n  \t\t// The text set on the 'zoom out' button.\r\n  \t\tzoomOutText: '<span aria-hidden=\"true\">&#x2212;</span>',\r\n\r\n  \t\t// @option zoomOutTitle: String = 'Zoom out'\r\n  \t\t// The title set on the 'zoom out' button.\r\n  \t\tzoomOutTitle: 'Zoom out'\r\n  \t},\r\n\r\n  \tonAdd: function (map) {\r\n  \t\tvar zoomName = 'leaflet-control-zoom',\r\n  \t\t    container = create$1('div', zoomName + ' leaflet-bar'),\r\n  \t\t    options = this.options;\r\n\r\n  \t\tthis._zoomInButton  = this._createButton(options.zoomInText, options.zoomInTitle,\r\n  \t\t        zoomName + '-in',  container, this._zoomIn);\r\n  \t\tthis._zoomOutButton = this._createButton(options.zoomOutText, options.zoomOutTitle,\r\n  \t\t        zoomName + '-out', container, this._zoomOut);\r\n\r\n  \t\tthis._updateDisabled();\r\n  \t\tmap.on('zoomend zoomlevelschange', this._updateDisabled, this);\r\n\r\n  \t\treturn container;\r\n  \t},\r\n\r\n  \tonRemove: function (map) {\r\n  \t\tmap.off('zoomend zoomlevelschange', this._updateDisabled, this);\r\n  \t},\r\n\r\n  \tdisable: function () {\r\n  \t\tthis._disabled = true;\r\n  \t\tthis._updateDisabled();\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \tenable: function () {\r\n  \t\tthis._disabled = false;\r\n  \t\tthis._updateDisabled();\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t_zoomIn: function (e) {\r\n  \t\tif (!this._disabled && this._map._zoom < this._map.getMaxZoom()) {\r\n  \t\t\tthis._map.zoomIn(this._map.options.zoomDelta * (e.shiftKey ? 3 : 1));\r\n  \t\t}\r\n  \t},\r\n\r\n  \t_zoomOut: function (e) {\r\n  \t\tif (!this._disabled && this._map._zoom > this._map.getMinZoom()) {\r\n  \t\t\tthis._map.zoomOut(this._map.options.zoomDelta * (e.shiftKey ? 3 : 1));\r\n  \t\t}\r\n  \t},\r\n\r\n  \t_createButton: function (html, title, className, container, fn) {\r\n  \t\tvar link = create$1('a', className, container);\r\n  \t\tlink.innerHTML = html;\r\n  \t\tlink.href = '#';\r\n  \t\tlink.title = title;\r\n\r\n  \t\t/*\r\n  \t\t * Will force screen readers like VoiceOver to read this as \"Zoom in - button\"\r\n  \t\t */\r\n  \t\tlink.setAttribute('role', 'button');\r\n  \t\tlink.setAttribute('aria-label', title);\r\n\r\n  \t\tdisableClickPropagation(link);\r\n  \t\ton(link, 'click', stop);\r\n  \t\ton(link, 'click', fn, this);\r\n  \t\ton(link, 'click', this._refocusOnMap, this);\r\n\r\n  \t\treturn link;\r\n  \t},\r\n\r\n  \t_updateDisabled: function () {\r\n  \t\tvar map = this._map,\r\n  \t\t    className = 'leaflet-disabled';\r\n\r\n  \t\tremoveClass(this._zoomInButton, className);\r\n  \t\tremoveClass(this._zoomOutButton, className);\r\n  \t\tthis._zoomInButton.setAttribute('aria-disabled', 'false');\r\n  \t\tthis._zoomOutButton.setAttribute('aria-disabled', 'false');\r\n\r\n  \t\tif (this._disabled || map._zoom === map.getMinZoom()) {\r\n  \t\t\taddClass(this._zoomOutButton, className);\r\n  \t\t\tthis._zoomOutButton.setAttribute('aria-disabled', 'true');\r\n  \t\t}\r\n  \t\tif (this._disabled || map._zoom === map.getMaxZoom()) {\r\n  \t\t\taddClass(this._zoomInButton, className);\r\n  \t\t\tthis._zoomInButton.setAttribute('aria-disabled', 'true');\r\n  \t\t}\r\n  \t}\r\n  });\r\n\r\n  // @namespace Map\r\n  // @section Control options\r\n  // @option zoomControl: Boolean = true\r\n  // Whether a [zoom control](#control-zoom) is added to the map by default.\r\n  Map.mergeOptions({\r\n  \tzoomControl: true\r\n  });\r\n\r\n  Map.addInitHook(function () {\r\n  \tif (this.options.zoomControl) {\r\n  \t\t// @section Controls\r\n  \t\t// @property zoomControl: Control.Zoom\r\n  \t\t// The default zoom control (only available if the\r\n  \t\t// [`zoomControl` option](#map-zoomcontrol) was `true` when creating the map).\r\n  \t\tthis.zoomControl = new Zoom();\r\n  \t\tthis.addControl(this.zoomControl);\r\n  \t}\r\n  });\r\n\r\n  // @namespace Control.Zoom\r\n  // @factory L.control.zoom(options: Control.Zoom options)\r\n  // Creates a zoom control\r\n  var zoom = function (options) {\r\n  \treturn new Zoom(options);\r\n  };\n\n  /*\n   * @class Control.Scale\n   * @aka L.Control.Scale\n   * @inherits Control\n   *\n   * A simple scale control that shows the scale of the current center of screen in metric (m/km) and imperial (mi/ft) systems. Extends `Control`.\n   *\n   * @example\n   *\n   * ```js\n   * L.control.scale().addTo(map);\n   * ```\n   */\n\n  var Scale = Control.extend({\n  \t// @section\n  \t// @aka Control.Scale options\n  \toptions: {\n  \t\tposition: 'bottomleft',\n\n  \t\t// @option maxWidth: Number = 100\n  \t\t// Maximum width of the control in pixels. The width is set dynamically to show round values (e.g. 100, 200, 500).\n  \t\tmaxWidth: 100,\n\n  \t\t// @option metric: Boolean = True\n  \t\t// Whether to show the metric scale line (m/km).\n  \t\tmetric: true,\n\n  \t\t// @option imperial: Boolean = True\n  \t\t// Whether to show the imperial scale line (mi/ft).\n  \t\timperial: true\n\n  \t\t// @option updateWhenIdle: Boolean = false\n  \t\t// If `true`, the control is updated on [`moveend`](#map-moveend), otherwise it's always up-to-date (updated on [`move`](#map-move)).\n  \t},\n\n  \tonAdd: function (map) {\n  \t\tvar className = 'leaflet-control-scale',\n  \t\t    container = create$1('div', className),\n  \t\t    options = this.options;\n\n  \t\tthis._addScales(options, className + '-line', container);\n\n  \t\tmap.on(options.updateWhenIdle ? 'moveend' : 'move', this._update, this);\n  \t\tmap.whenReady(this._update, this);\n\n  \t\treturn container;\n  \t},\n\n  \tonRemove: function (map) {\n  \t\tmap.off(this.options.updateWhenIdle ? 'moveend' : 'move', this._update, this);\n  \t},\n\n  \t_addScales: function (options, className, container) {\n  \t\tif (options.metric) {\n  \t\t\tthis._mScale = create$1('div', className, container);\n  \t\t}\n  \t\tif (options.imperial) {\n  \t\t\tthis._iScale = create$1('div', className, container);\n  \t\t}\n  \t},\n\n  \t_update: function () {\n  \t\tvar map = this._map,\n  \t\t    y = map.getSize().y / 2;\n\n  \t\tvar maxMeters = map.distance(\n  \t\t\tmap.containerPointToLatLng([0, y]),\n  \t\t\tmap.containerPointToLatLng([this.options.maxWidth, y]));\n\n  \t\tthis._updateScales(maxMeters);\n  \t},\n\n  \t_updateScales: function (maxMeters) {\n  \t\tif (this.options.metric && maxMeters) {\n  \t\t\tthis._updateMetric(maxMeters);\n  \t\t}\n  \t\tif (this.options.imperial && maxMeters) {\n  \t\t\tthis._updateImperial(maxMeters);\n  \t\t}\n  \t},\n\n  \t_updateMetric: function (maxMeters) {\n  \t\tvar meters = this._getRoundNum(maxMeters),\n  \t\t    label = meters < 1000 ? meters + ' m' : (meters / 1000) + ' km';\n\n  \t\tthis._updateScale(this._mScale, label, meters / maxMeters);\n  \t},\n\n  \t_updateImperial: function (maxMeters) {\n  \t\tvar maxFeet = maxMeters * 3.2808399,\n  \t\t    maxMiles, miles, feet;\n\n  \t\tif (maxFeet > 5280) {\n  \t\t\tmaxMiles = maxFeet / 5280;\n  \t\t\tmiles = this._getRoundNum(maxMiles);\n  \t\t\tthis._updateScale(this._iScale, miles + ' mi', miles / maxMiles);\n\n  \t\t} else {\n  \t\t\tfeet = this._getRoundNum(maxFeet);\n  \t\t\tthis._updateScale(this._iScale, feet + ' ft', feet / maxFeet);\n  \t\t}\n  \t},\n\n  \t_updateScale: function (scale, text, ratio) {\n  \t\tscale.style.width = Math.round(this.options.maxWidth * ratio) + 'px';\n  \t\tscale.innerHTML = text;\n  \t},\n\n  \t_getRoundNum: function (num) {\n  \t\tvar pow10 = Math.pow(10, (Math.floor(num) + '').length - 1),\n  \t\t    d = num / pow10;\n\n  \t\td = d >= 10 ? 10 :\n  \t\t    d >= 5 ? 5 :\n  \t\t    d >= 3 ? 3 :\n  \t\t    d >= 2 ? 2 : 1;\n\n  \t\treturn pow10 * d;\n  \t}\n  });\n\n\n  // @factory L.control.scale(options?: Control.Scale options)\n  // Creates an scale control with the given options.\n  var scale = function (options) {\n  \treturn new Scale(options);\n  };\n\n  var ukrainianFlag = '<svg aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"8\" viewBox=\"0 0 12 8\" class=\"leaflet-attribution-flag\"><path fill=\"#4C7BE1\" d=\"M0 0h12v4H0z\"/><path fill=\"#FFD500\" d=\"M0 4h12v3H0z\"/><path fill=\"#E0BC00\" d=\"M0 7h12v1H0z\"/></svg>';\r\n\r\n\r\n  /*\r\n   * @class Control.Attribution\r\n   * @aka L.Control.Attribution\r\n   * @inherits Control\r\n   *\r\n   * The attribution control allows you to display attribution data in a small text box on a map. It is put on the map by default unless you set its [`attributionControl` option](#map-attributioncontrol) to `false`, and it fetches attribution texts from layers with the [`getAttribution` method](#layer-getattribution) automatically. Extends Control.\r\n   */\r\n\r\n  var Attribution = Control.extend({\r\n  \t// @section\r\n  \t// @aka Control.Attribution options\r\n  \toptions: {\r\n  \t\tposition: 'bottomright',\r\n\r\n  \t\t// @option prefix: String|false = 'Leaflet'\r\n  \t\t// The HTML text shown before the attributions. Pass `false` to disable.\r\n  \t\tprefix: '<a href=\"https://leafletjs.com\" title=\"A JavaScript library for interactive maps\">' + (Browser.inlineSvg ? ukrainianFlag + ' ' : '') + 'Leaflet</a>'\r\n  \t},\r\n\r\n  \tinitialize: function (options) {\r\n  \t\tsetOptions(this, options);\r\n\r\n  \t\tthis._attributions = {};\r\n  \t},\r\n\r\n  \tonAdd: function (map) {\r\n  \t\tmap.attributionControl = this;\r\n  \t\tthis._container = create$1('div', 'leaflet-control-attribution');\r\n  \t\tdisableClickPropagation(this._container);\r\n\r\n  \t\t// TODO ugly, refactor\r\n  \t\tfor (var i in map._layers) {\r\n  \t\t\tif (map._layers[i].getAttribution) {\r\n  \t\t\t\tthis.addAttribution(map._layers[i].getAttribution());\r\n  \t\t\t}\r\n  \t\t}\r\n\r\n  \t\tthis._update();\r\n\r\n  \t\tmap.on('layeradd', this._addAttribution, this);\r\n\r\n  \t\treturn this._container;\r\n  \t},\r\n\r\n  \tonRemove: function (map) {\r\n  \t\tmap.off('layeradd', this._addAttribution, this);\r\n  \t},\r\n\r\n  \t_addAttribution: function (ev) {\r\n  \t\tif (ev.layer.getAttribution) {\r\n  \t\t\tthis.addAttribution(ev.layer.getAttribution());\r\n  \t\t\tev.layer.once('remove', function () {\r\n  \t\t\t\tthis.removeAttribution(ev.layer.getAttribution());\r\n  \t\t\t}, this);\r\n  \t\t}\r\n  \t},\r\n\r\n  \t// @method setPrefix(prefix: String|false): this\r\n  \t// The HTML text shown before the attributions. Pass `false` to disable.\r\n  \tsetPrefix: function (prefix) {\r\n  \t\tthis.options.prefix = prefix;\r\n  \t\tthis._update();\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method addAttribution(text: String): this\r\n  \t// Adds an attribution text (e.g. `'&copy; OpenStreetMap contributors'`).\r\n  \taddAttribution: function (text) {\r\n  \t\tif (!text) { return this; }\r\n\r\n  \t\tif (!this._attributions[text]) {\r\n  \t\t\tthis._attributions[text] = 0;\r\n  \t\t}\r\n  \t\tthis._attributions[text]++;\r\n\r\n  \t\tthis._update();\r\n\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method removeAttribution(text: String): this\r\n  \t// Removes an attribution text.\r\n  \tremoveAttribution: function (text) {\r\n  \t\tif (!text) { return this; }\r\n\r\n  \t\tif (this._attributions[text]) {\r\n  \t\t\tthis._attributions[text]--;\r\n  \t\t\tthis._update();\r\n  \t\t}\r\n\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t_update: function () {\r\n  \t\tif (!this._map) { return; }\r\n\r\n  \t\tvar attribs = [];\r\n\r\n  \t\tfor (var i in this._attributions) {\r\n  \t\t\tif (this._attributions[i]) {\r\n  \t\t\t\tattribs.push(i);\r\n  \t\t\t}\r\n  \t\t}\r\n\r\n  \t\tvar prefixAndAttribs = [];\r\n\r\n  \t\tif (this.options.prefix) {\r\n  \t\t\tprefixAndAttribs.push(this.options.prefix);\r\n  \t\t}\r\n  \t\tif (attribs.length) {\r\n  \t\t\tprefixAndAttribs.push(attribs.join(', '));\r\n  \t\t}\r\n\r\n  \t\tthis._container.innerHTML = prefixAndAttribs.join(' <span aria-hidden=\"true\">|</span> ');\r\n  \t}\r\n  });\r\n\r\n  // @namespace Map\r\n  // @section Control options\r\n  // @option attributionControl: Boolean = true\r\n  // Whether a [attribution control](#control-attribution) is added to the map by default.\r\n  Map.mergeOptions({\r\n  \tattributionControl: true\r\n  });\r\n\r\n  Map.addInitHook(function () {\r\n  \tif (this.options.attributionControl) {\r\n  \t\tnew Attribution().addTo(this);\r\n  \t}\r\n  });\r\n\r\n  // @namespace Control.Attribution\r\n  // @factory L.control.attribution(options: Control.Attribution options)\r\n  // Creates an attribution control.\r\n  var attribution = function (options) {\r\n  \treturn new Attribution(options);\r\n  };\n\n  Control.Layers = Layers;\n  Control.Zoom = Zoom;\n  Control.Scale = Scale;\n  Control.Attribution = Attribution;\n\n  control.layers = layers;\n  control.zoom = zoom;\n  control.scale = scale;\n  control.attribution = attribution;\n\n  /*\n  \tL.Handler is a base class for handler classes that are used internally to inject\n  \tinteraction features like dragging to classes like Map and Marker.\n  */\n\n  // @class Handler\n  // @aka L.Handler\n  // Abstract class for map interaction handlers\n\n  var Handler = Class.extend({\n  \tinitialize: function (map) {\n  \t\tthis._map = map;\n  \t},\n\n  \t// @method enable(): this\n  \t// Enables the handler\n  \tenable: function () {\n  \t\tif (this._enabled) { return this; }\n\n  \t\tthis._enabled = true;\n  \t\tthis.addHooks();\n  \t\treturn this;\n  \t},\n\n  \t// @method disable(): this\n  \t// Disables the handler\n  \tdisable: function () {\n  \t\tif (!this._enabled) { return this; }\n\n  \t\tthis._enabled = false;\n  \t\tthis.removeHooks();\n  \t\treturn this;\n  \t},\n\n  \t// @method enabled(): Boolean\n  \t// Returns `true` if the handler is enabled\n  \tenabled: function () {\n  \t\treturn !!this._enabled;\n  \t}\n\n  \t// @section Extension methods\n  \t// Classes inheriting from `Handler` must implement the two following methods:\n  \t// @method addHooks()\n  \t// Called when the handler is enabled, should add event hooks.\n  \t// @method removeHooks()\n  \t// Called when the handler is disabled, should remove the event hooks added previously.\n  });\n\n  // @section There is static function which can be called without instantiating L.Handler:\n  // @function addTo(map: Map, name: String): this\n  // Adds a new Handler to the given map with the given name.\n  Handler.addTo = function (map, name) {\n  \tmap.addHandler(name, this);\n  \treturn this;\n  };\n\n  var Mixin = {Events: Events};\n\n  /*\r\n   * @class Draggable\r\n   * @aka L.Draggable\r\n   * @inherits Evented\r\n   *\r\n   * A class for making DOM elements draggable (including touch support).\r\n   * Used internally for map and marker dragging. Only works for elements\r\n   * that were positioned with [`L.DomUtil.setPosition`](#domutil-setposition).\r\n   *\r\n   * @example\r\n   * ```js\r\n   * var draggable = new L.Draggable(elementToDrag);\r\n   * draggable.enable();\r\n   * ```\r\n   */\r\n\r\n  var START = Browser.touch ? 'touchstart mousedown' : 'mousedown';\r\n\r\n  var Draggable = Evented.extend({\r\n\r\n  \toptions: {\r\n  \t\t// @section\r\n  \t\t// @aka Draggable options\r\n  \t\t// @option clickTolerance: Number = 3\r\n  \t\t// The max number of pixels a user can shift the mouse pointer during a click\r\n  \t\t// for it to be considered a valid click (as opposed to a mouse drag).\r\n  \t\tclickTolerance: 3\r\n  \t},\r\n\r\n  \t// @constructor L.Draggable(el: HTMLElement, dragHandle?: HTMLElement, preventOutline?: Boolean, options?: Draggable options)\r\n  \t// Creates a `Draggable` object for moving `el` when you start dragging the `dragHandle` element (equals `el` itself by default).\r\n  \tinitialize: function (element, dragStartTarget, preventOutline, options) {\r\n  \t\tsetOptions(this, options);\r\n\r\n  \t\tthis._element = element;\r\n  \t\tthis._dragStartTarget = dragStartTarget || element;\r\n  \t\tthis._preventOutline = preventOutline;\r\n  \t},\r\n\r\n  \t// @method enable()\r\n  \t// Enables the dragging ability\r\n  \tenable: function () {\r\n  \t\tif (this._enabled) { return; }\r\n\r\n  \t\ton(this._dragStartTarget, START, this._onDown, this);\r\n\r\n  \t\tthis._enabled = true;\r\n  \t},\r\n\r\n  \t// @method disable()\r\n  \t// Disables the dragging ability\r\n  \tdisable: function () {\r\n  \t\tif (!this._enabled) { return; }\r\n\r\n  \t\t// If we're currently dragging this draggable,\r\n  \t\t// disabling it counts as first ending the drag.\r\n  \t\tif (Draggable._dragging === this) {\r\n  \t\t\tthis.finishDrag(true);\r\n  \t\t}\r\n\r\n  \t\toff(this._dragStartTarget, START, this._onDown, this);\r\n\r\n  \t\tthis._enabled = false;\r\n  \t\tthis._moved = false;\r\n  \t},\r\n\r\n  \t_onDown: function (e) {\r\n  \t\t// Ignore the event if disabled; this happens in IE11\r\n  \t\t// under some circumstances, see #3666.\r\n  \t\tif (!this._enabled) { return; }\r\n\r\n  \t\tthis._moved = false;\r\n\r\n  \t\tif (hasClass(this._element, 'leaflet-zoom-anim')) { return; }\r\n\r\n  \t\tif (e.touches && e.touches.length !== 1) {\r\n  \t\t\t// Finish dragging to avoid conflict with touchZoom\r\n  \t\t\tif (Draggable._dragging === this) {\r\n  \t\t\t\tthis.finishDrag();\r\n  \t\t\t}\r\n  \t\t\treturn;\r\n  \t\t}\r\n\r\n  \t\tif (Draggable._dragging || e.shiftKey || ((e.which !== 1) && (e.button !== 1) && !e.touches)) { return; }\r\n  \t\tDraggable._dragging = this;  // Prevent dragging multiple objects at once.\r\n\r\n  \t\tif (this._preventOutline) {\r\n  \t\t\tpreventOutline(this._element);\r\n  \t\t}\r\n\r\n  \t\tdisableImageDrag();\r\n  \t\tdisableTextSelection();\r\n\r\n  \t\tif (this._moving) { return; }\r\n\r\n  \t\t// @event down: Event\r\n  \t\t// Fired when a drag is about to start.\r\n  \t\tthis.fire('down');\r\n\r\n  \t\tvar first = e.touches ? e.touches[0] : e,\r\n  \t\t    sizedParent = getSizedParentNode(this._element);\r\n\r\n  \t\tthis._startPoint = new Point(first.clientX, first.clientY);\r\n  \t\tthis._startPos = getPosition(this._element);\r\n\r\n  \t\t// Cache the scale, so that we can continuously compensate for it during drag (_onMove).\r\n  \t\tthis._parentScale = getScale(sizedParent);\r\n\r\n  \t\tvar mouseevent = e.type === 'mousedown';\r\n  \t\ton(document, mouseevent ? 'mousemove' : 'touchmove', this._onMove, this);\r\n  \t\ton(document, mouseevent ? 'mouseup' : 'touchend touchcancel', this._onUp, this);\r\n  \t},\r\n\r\n  \t_onMove: function (e) {\r\n  \t\t// Ignore the event if disabled; this happens in IE11\r\n  \t\t// under some circumstances, see #3666.\r\n  \t\tif (!this._enabled) { return; }\r\n\r\n  \t\tif (e.touches && e.touches.length > 1) {\r\n  \t\t\tthis._moved = true;\r\n  \t\t\treturn;\r\n  \t\t}\r\n\r\n  \t\tvar first = (e.touches && e.touches.length === 1 ? e.touches[0] : e),\r\n  \t\t    offset = new Point(first.clientX, first.clientY)._subtract(this._startPoint);\r\n\r\n  \t\tif (!offset.x && !offset.y) { return; }\r\n  \t\tif (Math.abs(offset.x) + Math.abs(offset.y) < this.options.clickTolerance) { return; }\r\n\r\n  \t\t// We assume that the parent container's position, border and scale do not change for the duration of the drag.\r\n  \t\t// Therefore there is no need to account for the position and border (they are eliminated by the subtraction)\r\n  \t\t// and we can use the cached value for the scale.\r\n  \t\toffset.x /= this._parentScale.x;\r\n  \t\toffset.y /= this._parentScale.y;\r\n\r\n  \t\tpreventDefault(e);\r\n\r\n  \t\tif (!this._moved) {\r\n  \t\t\t// @event dragstart: Event\r\n  \t\t\t// Fired when a drag starts\r\n  \t\t\tthis.fire('dragstart');\r\n\r\n  \t\t\tthis._moved = true;\r\n\r\n  \t\t\taddClass(document.body, 'leaflet-dragging');\r\n\r\n  \t\t\tthis._lastTarget = e.target || e.srcElement;\r\n  \t\t\t// IE and Edge do not give the <use> element, so fetch it\r\n  \t\t\t// if necessary\r\n  \t\t\tif (window.SVGElementInstance && this._lastTarget instanceof window.SVGElementInstance) {\r\n  \t\t\t\tthis._lastTarget = this._lastTarget.correspondingUseElement;\r\n  \t\t\t}\r\n  \t\t\taddClass(this._lastTarget, 'leaflet-drag-target');\r\n  \t\t}\r\n\r\n  \t\tthis._newPos = this._startPos.add(offset);\r\n  \t\tthis._moving = true;\r\n\r\n  \t\tthis._lastEvent = e;\r\n  \t\tthis._updatePosition();\r\n  \t},\r\n\r\n  \t_updatePosition: function () {\r\n  \t\tvar e = {originalEvent: this._lastEvent};\r\n\r\n  \t\t// @event predrag: Event\r\n  \t\t// Fired continuously during dragging *before* each corresponding\r\n  \t\t// update of the element's position.\r\n  \t\tthis.fire('predrag', e);\r\n  \t\tsetPosition(this._element, this._newPos);\r\n\r\n  \t\t// @event drag: Event\r\n  \t\t// Fired continuously during dragging.\r\n  \t\tthis.fire('drag', e);\r\n  \t},\r\n\r\n  \t_onUp: function () {\r\n  \t\t// Ignore the event if disabled; this happens in IE11\r\n  \t\t// under some circumstances, see #3666.\r\n  \t\tif (!this._enabled) { return; }\r\n  \t\tthis.finishDrag();\r\n  \t},\r\n\r\n  \tfinishDrag: function (noInertia) {\r\n  \t\tremoveClass(document.body, 'leaflet-dragging');\r\n\r\n  \t\tif (this._lastTarget) {\r\n  \t\t\tremoveClass(this._lastTarget, 'leaflet-drag-target');\r\n  \t\t\tthis._lastTarget = null;\r\n  \t\t}\r\n\r\n  \t\toff(document, 'mousemove touchmove', this._onMove, this);\r\n  \t\toff(document, 'mouseup touchend touchcancel', this._onUp, this);\r\n\r\n  \t\tenableImageDrag();\r\n  \t\tenableTextSelection();\r\n\r\n  \t\tvar fireDragend = this._moved && this._moving;\r\n\r\n  \t\tthis._moving = false;\r\n  \t\tDraggable._dragging = false;\r\n\r\n  \t\tif (fireDragend) {\r\n  \t\t\t// @event dragend: DragEndEvent\r\n  \t\t\t// Fired when the drag ends.\r\n  \t\t\tthis.fire('dragend', {\r\n  \t\t\t\tnoInertia: noInertia,\r\n  \t\t\t\tdistance: this._newPos.distanceTo(this._startPos)\r\n  \t\t\t});\r\n  \t\t}\r\n  \t}\r\n\r\n  });\n\n  /*\r\n   * @namespace PolyUtil\r\n   * Various utility functions for polygon geometries.\r\n   */\r\n\r\n  /* @function clipPolygon(points: Point[], bounds: Bounds, round?: Boolean): Point[]\r\n   * Clips the polygon geometry defined by the given `points` by the given bounds (using the [Sutherland-Hodgman algorithm](https://en.wikipedia.org/wiki/Sutherland%E2%80%93Hodgman_algorithm)).\r\n   * Used by Leaflet to only show polygon points that are on the screen or near, increasing\r\n   * performance. Note that polygon points needs different algorithm for clipping\r\n   * than polyline, so there's a separate method for it.\r\n   */\r\n  function clipPolygon(points, bounds, round) {\r\n  \tvar clippedPoints,\r\n  \t    edges = [1, 4, 2, 8],\r\n  \t    i, j, k,\r\n  \t    a, b,\r\n  \t    len, edge, p;\r\n\r\n  \tfor (i = 0, len = points.length; i < len; i++) {\r\n  \t\tpoints[i]._code = _getBitCode(points[i], bounds);\r\n  \t}\r\n\r\n  \t// for each edge (left, bottom, right, top)\r\n  \tfor (k = 0; k < 4; k++) {\r\n  \t\tedge = edges[k];\r\n  \t\tclippedPoints = [];\r\n\r\n  \t\tfor (i = 0, len = points.length, j = len - 1; i < len; j = i++) {\r\n  \t\t\ta = points[i];\r\n  \t\t\tb = points[j];\r\n\r\n  \t\t\t// if a is inside the clip window\r\n  \t\t\tif (!(a._code & edge)) {\r\n  \t\t\t\t// if b is outside the clip window (a->b goes out of screen)\r\n  \t\t\t\tif (b._code & edge) {\r\n  \t\t\t\t\tp = _getEdgeIntersection(b, a, edge, bounds, round);\r\n  \t\t\t\t\tp._code = _getBitCode(p, bounds);\r\n  \t\t\t\t\tclippedPoints.push(p);\r\n  \t\t\t\t}\r\n  \t\t\t\tclippedPoints.push(a);\r\n\r\n  \t\t\t// else if b is inside the clip window (a->b enters the screen)\r\n  \t\t\t} else if (!(b._code & edge)) {\r\n  \t\t\t\tp = _getEdgeIntersection(b, a, edge, bounds, round);\r\n  \t\t\t\tp._code = _getBitCode(p, bounds);\r\n  \t\t\t\tclippedPoints.push(p);\r\n  \t\t\t}\r\n  \t\t}\r\n  \t\tpoints = clippedPoints;\r\n  \t}\r\n\r\n  \treturn points;\r\n  }\r\n\r\n  /* @function polygonCenter(latlngs: LatLng[], crs: CRS): LatLng\r\n   * Returns the center ([centroid](http://en.wikipedia.org/wiki/Centroid)) of the passed LatLngs (first ring) from a polygon.\r\n   */\r\n  function polygonCenter(latlngs, crs) {\r\n  \tvar i, j, p1, p2, f, area, x, y, center;\r\n\r\n  \tif (!latlngs || latlngs.length === 0) {\r\n  \t\tthrow new Error('latlngs not passed');\r\n  \t}\r\n\r\n  \tif (!isFlat(latlngs)) {\r\n  \t\tconsole.warn('latlngs are not flat! Only the first ring will be used');\r\n  \t\tlatlngs = latlngs[0];\r\n  \t}\r\n\r\n  \tvar centroidLatLng = toLatLng([0, 0]);\r\n\r\n  \tvar bounds = toLatLngBounds(latlngs);\r\n  \tvar areaBounds = bounds.getNorthWest().distanceTo(bounds.getSouthWest()) * bounds.getNorthEast().distanceTo(bounds.getNorthWest());\r\n  \t// tests showed that below 1700 rounding errors are happening\r\n  \tif (areaBounds < 1700) {\r\n  \t\t// getting a inexact center, to move the latlngs near to [0, 0] to prevent rounding errors\r\n  \t\tcentroidLatLng = centroid(latlngs);\r\n  \t}\r\n\r\n  \tvar len = latlngs.length;\r\n  \tvar points = [];\r\n  \tfor (i = 0; i < len; i++) {\r\n  \t\tvar latlng = toLatLng(latlngs[i]);\r\n  \t\tpoints.push(crs.project(toLatLng([latlng.lat - centroidLatLng.lat, latlng.lng - centroidLatLng.lng])));\r\n  \t}\r\n\r\n  \tarea = x = y = 0;\r\n\r\n  \t// polygon centroid algorithm;\r\n  \tfor (i = 0, j = len - 1; i < len; j = i++) {\r\n  \t\tp1 = points[i];\r\n  \t\tp2 = points[j];\r\n\r\n  \t\tf = p1.y * p2.x - p2.y * p1.x;\r\n  \t\tx += (p1.x + p2.x) * f;\r\n  \t\ty += (p1.y + p2.y) * f;\r\n  \t\tarea += f * 3;\r\n  \t}\r\n\r\n  \tif (area === 0) {\r\n  \t\t// Polygon is so small that all points are on same pixel.\r\n  \t\tcenter = points[0];\r\n  \t} else {\r\n  \t\tcenter = [x / area, y / area];\r\n  \t}\r\n\r\n  \tvar latlngCenter = crs.unproject(toPoint(center));\r\n  \treturn toLatLng([latlngCenter.lat + centroidLatLng.lat, latlngCenter.lng + centroidLatLng.lng]);\r\n  }\r\n\r\n  /* @function centroid(latlngs: LatLng[]): LatLng\r\n   * Returns the 'center of mass' of the passed LatLngs.\r\n   */\r\n  function centroid(coords) {\r\n  \tvar latSum = 0;\r\n  \tvar lngSum = 0;\r\n  \tvar len = 0;\r\n  \tfor (var i = 0; i < coords.length; i++) {\r\n  \t\tvar latlng = toLatLng(coords[i]);\r\n  \t\tlatSum += latlng.lat;\r\n  \t\tlngSum += latlng.lng;\r\n  \t\tlen++;\r\n  \t}\r\n  \treturn toLatLng([latSum / len, lngSum / len]);\r\n  }\n\n  var PolyUtil = {\n    __proto__: null,\n    clipPolygon: clipPolygon,\n    polygonCenter: polygonCenter,\n    centroid: centroid\n  };\n\n  /*\r\n   * @namespace LineUtil\r\n   *\r\n   * Various utility functions for polyline points processing, used by Leaflet internally to make polylines lightning-fast.\r\n   */\r\n\r\n  // Simplify polyline with vertex reduction and Douglas-Peucker simplification.\r\n  // Improves rendering performance dramatically by lessening the number of points to draw.\r\n\r\n  // @function simplify(points: Point[], tolerance: Number): Point[]\r\n  // Dramatically reduces the number of points in a polyline while retaining\r\n  // its shape and returns a new array of simplified points, using the\r\n  // [Ramer-Douglas-Peucker algorithm](https://en.wikipedia.org/wiki/Ramer-Douglas-Peucker_algorithm).\r\n  // Used for a huge performance boost when processing/displaying Leaflet polylines for\r\n  // each zoom level and also reducing visual noise. tolerance affects the amount of\r\n  // simplification (lesser value means higher quality but slower and with more points).\r\n  // Also released as a separated micro-library [Simplify.js](https://mourner.github.io/simplify-js/).\r\n  function simplify(points, tolerance) {\r\n  \tif (!tolerance || !points.length) {\r\n  \t\treturn points.slice();\r\n  \t}\r\n\r\n  \tvar sqTolerance = tolerance * tolerance;\r\n\r\n  \t    // stage 1: vertex reduction\r\n  \t    points = _reducePoints(points, sqTolerance);\r\n\r\n  \t    // stage 2: Douglas-Peucker simplification\r\n  \t    points = _simplifyDP(points, sqTolerance);\r\n\r\n  \treturn points;\r\n  }\r\n\r\n  // @function pointToSegmentDistance(p: Point, p1: Point, p2: Point): Number\r\n  // Returns the distance between point `p` and segment `p1` to `p2`.\r\n  function pointToSegmentDistance(p, p1, p2) {\r\n  \treturn Math.sqrt(_sqClosestPointOnSegment(p, p1, p2, true));\r\n  }\r\n\r\n  // @function closestPointOnSegment(p: Point, p1: Point, p2: Point): Number\r\n  // Returns the closest point from a point `p` on a segment `p1` to `p2`.\r\n  function closestPointOnSegment(p, p1, p2) {\r\n  \treturn _sqClosestPointOnSegment(p, p1, p2);\r\n  }\r\n\r\n  // Ramer-Douglas-Peucker simplification, see https://en.wikipedia.org/wiki/Ramer-Douglas-Peucker_algorithm\r\n  function _simplifyDP(points, sqTolerance) {\r\n\r\n  \tvar len = points.length,\r\n  \t    ArrayConstructor = typeof Uint8Array !== undefined + '' ? Uint8Array : Array,\r\n  \t    markers = new ArrayConstructor(len);\r\n\r\n  \t    markers[0] = markers[len - 1] = 1;\r\n\r\n  \t_simplifyDPStep(points, markers, sqTolerance, 0, len - 1);\r\n\r\n  \tvar i,\r\n  \t    newPoints = [];\r\n\r\n  \tfor (i = 0; i < len; i++) {\r\n  \t\tif (markers[i]) {\r\n  \t\t\tnewPoints.push(points[i]);\r\n  \t\t}\r\n  \t}\r\n\r\n  \treturn newPoints;\r\n  }\r\n\r\n  function _simplifyDPStep(points, markers, sqTolerance, first, last) {\r\n\r\n  \tvar maxSqDist = 0,\r\n  \tindex, i, sqDist;\r\n\r\n  \tfor (i = first + 1; i <= last - 1; i++) {\r\n  \t\tsqDist = _sqClosestPointOnSegment(points[i], points[first], points[last], true);\r\n\r\n  \t\tif (sqDist > maxSqDist) {\r\n  \t\t\tindex = i;\r\n  \t\t\tmaxSqDist = sqDist;\r\n  \t\t}\r\n  \t}\r\n\r\n  \tif (maxSqDist > sqTolerance) {\r\n  \t\tmarkers[index] = 1;\r\n\r\n  \t\t_simplifyDPStep(points, markers, sqTolerance, first, index);\r\n  \t\t_simplifyDPStep(points, markers, sqTolerance, index, last);\r\n  \t}\r\n  }\r\n\r\n  // reduce points that are too close to each other to a single point\r\n  function _reducePoints(points, sqTolerance) {\r\n  \tvar reducedPoints = [points[0]];\r\n\r\n  \tfor (var i = 1, prev = 0, len = points.length; i < len; i++) {\r\n  \t\tif (_sqDist(points[i], points[prev]) > sqTolerance) {\r\n  \t\t\treducedPoints.push(points[i]);\r\n  \t\t\tprev = i;\r\n  \t\t}\r\n  \t}\r\n  \tif (prev < len - 1) {\r\n  \t\treducedPoints.push(points[len - 1]);\r\n  \t}\r\n  \treturn reducedPoints;\r\n  }\r\n\r\n  var _lastCode;\r\n\r\n  // @function clipSegment(a: Point, b: Point, bounds: Bounds, useLastCode?: Boolean, round?: Boolean): Point[]|Boolean\r\n  // Clips the segment a to b by rectangular bounds with the\r\n  // [Cohen-Sutherland algorithm](https://en.wikipedia.org/wiki/Cohen%E2%80%93Sutherland_algorithm)\r\n  // (modifying the segment points directly!). Used by Leaflet to only show polyline\r\n  // points that are on the screen or near, increasing performance.\r\n  function clipSegment(a, b, bounds, useLastCode, round) {\r\n  \tvar codeA = useLastCode ? _lastCode : _getBitCode(a, bounds),\r\n  \t    codeB = _getBitCode(b, bounds),\r\n\r\n  \t    codeOut, p, newCode;\r\n\r\n  \t    // save 2nd code to avoid calculating it on the next segment\r\n  \t    _lastCode = codeB;\r\n\r\n  \twhile (true) {\r\n  \t\t// if a,b is inside the clip window (trivial accept)\r\n  \t\tif (!(codeA | codeB)) {\r\n  \t\t\treturn [a, b];\r\n  \t\t}\r\n\r\n  \t\t// if a,b is outside the clip window (trivial reject)\r\n  \t\tif (codeA & codeB) {\r\n  \t\t\treturn false;\r\n  \t\t}\r\n\r\n  \t\t// other cases\r\n  \t\tcodeOut = codeA || codeB;\r\n  \t\tp = _getEdgeIntersection(a, b, codeOut, bounds, round);\r\n  \t\tnewCode = _getBitCode(p, bounds);\r\n\r\n  \t\tif (codeOut === codeA) {\r\n  \t\t\ta = p;\r\n  \t\t\tcodeA = newCode;\r\n  \t\t} else {\r\n  \t\t\tb = p;\r\n  \t\t\tcodeB = newCode;\r\n  \t\t}\r\n  \t}\r\n  }\r\n\r\n  function _getEdgeIntersection(a, b, code, bounds, round) {\r\n  \tvar dx = b.x - a.x,\r\n  \t    dy = b.y - a.y,\r\n  \t    min = bounds.min,\r\n  \t    max = bounds.max,\r\n  \t    x, y;\r\n\r\n  \tif (code & 8) { // top\r\n  \t\tx = a.x + dx * (max.y - a.y) / dy;\r\n  \t\ty = max.y;\r\n\r\n  \t} else if (code & 4) { // bottom\r\n  \t\tx = a.x + dx * (min.y - a.y) / dy;\r\n  \t\ty = min.y;\r\n\r\n  \t} else if (code & 2) { // right\r\n  \t\tx = max.x;\r\n  \t\ty = a.y + dy * (max.x - a.x) / dx;\r\n\r\n  \t} else if (code & 1) { // left\r\n  \t\tx = min.x;\r\n  \t\ty = a.y + dy * (min.x - a.x) / dx;\r\n  \t}\r\n\r\n  \treturn new Point(x, y, round);\r\n  }\r\n\r\n  function _getBitCode(p, bounds) {\r\n  \tvar code = 0;\r\n\r\n  \tif (p.x < bounds.min.x) { // left\r\n  \t\tcode |= 1;\r\n  \t} else if (p.x > bounds.max.x) { // right\r\n  \t\tcode |= 2;\r\n  \t}\r\n\r\n  \tif (p.y < bounds.min.y) { // bottom\r\n  \t\tcode |= 4;\r\n  \t} else if (p.y > bounds.max.y) { // top\r\n  \t\tcode |= 8;\r\n  \t}\r\n\r\n  \treturn code;\r\n  }\r\n\r\n  // square distance (to avoid unnecessary Math.sqrt calls)\r\n  function _sqDist(p1, p2) {\r\n  \tvar dx = p2.x - p1.x,\r\n  \t    dy = p2.y - p1.y;\r\n  \treturn dx * dx + dy * dy;\r\n  }\r\n\r\n  // return closest point on segment or distance to that point\r\n  function _sqClosestPointOnSegment(p, p1, p2, sqDist) {\r\n  \tvar x = p1.x,\r\n  \t    y = p1.y,\r\n  \t    dx = p2.x - x,\r\n  \t    dy = p2.y - y,\r\n  \t    dot = dx * dx + dy * dy,\r\n  \t    t;\r\n\r\n  \tif (dot > 0) {\r\n  \t\tt = ((p.x - x) * dx + (p.y - y) * dy) / dot;\r\n\r\n  \t\tif (t > 1) {\r\n  \t\t\tx = p2.x;\r\n  \t\t\ty = p2.y;\r\n  \t\t} else if (t > 0) {\r\n  \t\t\tx += dx * t;\r\n  \t\t\ty += dy * t;\r\n  \t\t}\r\n  \t}\r\n\r\n  \tdx = p.x - x;\r\n  \tdy = p.y - y;\r\n\r\n  \treturn sqDist ? dx * dx + dy * dy : new Point(x, y);\r\n  }\r\n\r\n\r\n  // @function isFlat(latlngs: LatLng[]): Boolean\r\n  // Returns true if `latlngs` is a flat array, false is nested.\r\n  function isFlat(latlngs) {\r\n  \treturn !isArray(latlngs[0]) || (typeof latlngs[0][0] !== 'object' && typeof latlngs[0][0] !== 'undefined');\r\n  }\r\n\r\n  function _flat(latlngs) {\r\n  \tconsole.warn('Deprecated use of _flat, please use L.LineUtil.isFlat instead.');\r\n  \treturn isFlat(latlngs);\r\n  }\r\n\r\n  /* @function polylineCenter(latlngs: LatLng[], crs: CRS): LatLng\r\n   * Returns the center ([centroid](http://en.wikipedia.org/wiki/Centroid)) of the passed LatLngs (first ring) from a polyline.\r\n   */\r\n  function polylineCenter(latlngs, crs) {\r\n  \tvar i, halfDist, segDist, dist, p1, p2, ratio, center;\r\n\r\n  \tif (!latlngs || latlngs.length === 0) {\r\n  \t\tthrow new Error('latlngs not passed');\r\n  \t}\r\n\r\n  \tif (!isFlat(latlngs)) {\r\n  \t\tconsole.warn('latlngs are not flat! Only the first ring will be used');\r\n  \t\tlatlngs = latlngs[0];\r\n  \t}\r\n\r\n  \tvar centroidLatLng = toLatLng([0, 0]);\r\n\r\n  \tvar bounds = toLatLngBounds(latlngs);\r\n  \tvar areaBounds = bounds.getNorthWest().distanceTo(bounds.getSouthWest()) * bounds.getNorthEast().distanceTo(bounds.getNorthWest());\r\n  \t// tests showed that below 1700 rounding errors are happening\r\n  \tif (areaBounds < 1700) {\r\n  \t\t// getting a inexact center, to move the latlngs near to [0, 0] to prevent rounding errors\r\n  \t\tcentroidLatLng = centroid(latlngs);\r\n  \t}\r\n\r\n  \tvar len = latlngs.length;\r\n  \tvar points = [];\r\n  \tfor (i = 0; i < len; i++) {\r\n  \t\tvar latlng = toLatLng(latlngs[i]);\r\n  \t\tpoints.push(crs.project(toLatLng([latlng.lat - centroidLatLng.lat, latlng.lng - centroidLatLng.lng])));\r\n  \t}\r\n\r\n  \tfor (i = 0, halfDist = 0; i < len - 1; i++) {\r\n  \t\thalfDist += points[i].distanceTo(points[i + 1]) / 2;\r\n  \t}\r\n\r\n  \t// The line is so small in the current view that all points are on the same pixel.\r\n  \tif (halfDist === 0) {\r\n  \t\tcenter = points[0];\r\n  \t} else {\r\n  \t\tfor (i = 0, dist = 0; i < len - 1; i++) {\r\n  \t\t\tp1 = points[i];\r\n  \t\t\tp2 = points[i + 1];\r\n  \t\t\tsegDist = p1.distanceTo(p2);\r\n  \t\t\tdist += segDist;\r\n\r\n  \t\t\tif (dist > halfDist) {\r\n  \t\t\t\tratio = (dist - halfDist) / segDist;\r\n  \t\t\t\tcenter = [\r\n  \t\t\t\t\tp2.x - ratio * (p2.x - p1.x),\r\n  \t\t\t\t\tp2.y - ratio * (p2.y - p1.y)\r\n  \t\t\t\t];\r\n  \t\t\t\tbreak;\r\n  \t\t\t}\r\n  \t\t}\r\n  \t}\r\n\r\n  \tvar latlngCenter = crs.unproject(toPoint(center));\r\n  \treturn toLatLng([latlngCenter.lat + centroidLatLng.lat, latlngCenter.lng + centroidLatLng.lng]);\r\n  }\n\n  var LineUtil = {\n    __proto__: null,\n    simplify: simplify,\n    pointToSegmentDistance: pointToSegmentDistance,\n    closestPointOnSegment: closestPointOnSegment,\n    clipSegment: clipSegment,\n    _getEdgeIntersection: _getEdgeIntersection,\n    _getBitCode: _getBitCode,\n    _sqClosestPointOnSegment: _sqClosestPointOnSegment,\n    isFlat: isFlat,\n    _flat: _flat,\n    polylineCenter: polylineCenter\n  };\n\n  /*\r\n   * @namespace Projection\r\n   * @section\r\n   * Leaflet comes with a set of already defined Projections out of the box:\r\n   *\r\n   * @projection L.Projection.LonLat\r\n   *\r\n   * Equirectangular, or Plate Carree projection — the most simple projection,\r\n   * mostly used by GIS enthusiasts. Directly maps `x` as longitude, and `y` as\r\n   * latitude. Also suitable for flat worlds, e.g. game maps. Used by the\r\n   * `EPSG:4326` and `Simple` CRS.\r\n   */\r\n\r\n  var LonLat = {\r\n  \tproject: function (latlng) {\r\n  \t\treturn new Point(latlng.lng, latlng.lat);\r\n  \t},\r\n\r\n  \tunproject: function (point) {\r\n  \t\treturn new LatLng(point.y, point.x);\r\n  \t},\r\n\r\n  \tbounds: new Bounds([-180, -90], [180, 90])\r\n  };\n\n  /*\r\n   * @namespace Projection\r\n   * @projection L.Projection.Mercator\r\n   *\r\n   * Elliptical Mercator projection — more complex than Spherical Mercator. Assumes that Earth is an ellipsoid. Used by the EPSG:3395 CRS.\r\n   */\r\n\r\n  var Mercator = {\r\n  \tR: 6378137,\r\n  \tR_MINOR: 6356752.314245179,\r\n\r\n  \tbounds: new Bounds([-20037508.34279, -15496570.73972], [20037508.34279, 18764656.23138]),\r\n\r\n  \tproject: function (latlng) {\r\n  \t\tvar d = Math.PI / 180,\r\n  \t\t    r = this.R,\r\n  \t\t    y = latlng.lat * d,\r\n  \t\t    tmp = this.R_MINOR / r,\r\n  \t\t    e = Math.sqrt(1 - tmp * tmp),\r\n  \t\t    con = e * Math.sin(y);\r\n\r\n  \t\tvar ts = Math.tan(Math.PI / 4 - y / 2) / Math.pow((1 - con) / (1 + con), e / 2);\r\n  \t\ty = -r * Math.log(Math.max(ts, 1E-10));\r\n\r\n  \t\treturn new Point(latlng.lng * d * r, y);\r\n  \t},\r\n\r\n  \tunproject: function (point) {\r\n  \t\tvar d = 180 / Math.PI,\r\n  \t\t    r = this.R,\r\n  \t\t    tmp = this.R_MINOR / r,\r\n  \t\t    e = Math.sqrt(1 - tmp * tmp),\r\n  \t\t    ts = Math.exp(-point.y / r),\r\n  \t\t    phi = Math.PI / 2 - 2 * Math.atan(ts);\r\n\r\n  \t\tfor (var i = 0, dphi = 0.1, con; i < 15 && Math.abs(dphi) > 1e-7; i++) {\r\n  \t\t\tcon = e * Math.sin(phi);\r\n  \t\t\tcon = Math.pow((1 - con) / (1 + con), e / 2);\r\n  \t\t\tdphi = Math.PI / 2 - 2 * Math.atan(ts * con) - phi;\r\n  \t\t\tphi += dphi;\r\n  \t\t}\r\n\r\n  \t\treturn new LatLng(phi * d, point.x * d / r);\r\n  \t}\r\n  };\n\n  /*\n   * @class Projection\n\n   * An object with methods for projecting geographical coordinates of the world onto\n   * a flat surface (and back). See [Map projection](https://en.wikipedia.org/wiki/Map_projection).\n\n   * @property bounds: Bounds\n   * The bounds (specified in CRS units) where the projection is valid\n\n   * @method project(latlng: LatLng): Point\n   * Projects geographical coordinates into a 2D point.\n   * Only accepts actual `L.LatLng` instances, not arrays.\n\n   * @method unproject(point: Point): LatLng\n   * The inverse of `project`. Projects a 2D point into a geographical location.\n   * Only accepts actual `L.Point` instances, not arrays.\n\n   * Note that the projection instances do not inherit from Leaflet's `Class` object,\n   * and can't be instantiated. Also, new classes can't inherit from them,\n   * and methods can't be added to them with the `include` function.\n\n   */\n\n  var index = {\n    __proto__: null,\n    LonLat: LonLat,\n    Mercator: Mercator,\n    SphericalMercator: SphericalMercator\n  };\n\n  /*\r\n   * @namespace CRS\r\n   * @crs L.CRS.EPSG3395\r\n   *\r\n   * Rarely used by some commercial tile providers. Uses Elliptical Mercator projection.\r\n   */\r\n  var EPSG3395 = extend({}, Earth, {\r\n  \tcode: 'EPSG:3395',\r\n  \tprojection: Mercator,\r\n\r\n  \ttransformation: (function () {\r\n  \t\tvar scale = 0.5 / (Math.PI * Mercator.R);\r\n  \t\treturn toTransformation(scale, 0.5, -scale, 0.5);\r\n  \t}())\r\n  });\n\n  /*\r\n   * @namespace CRS\r\n   * @crs L.CRS.EPSG4326\r\n   *\r\n   * A common CRS among GIS enthusiasts. Uses simple Equirectangular projection.\r\n   *\r\n   * Leaflet 1.0.x complies with the [TMS coordinate scheme for EPSG:4326](https://wiki.osgeo.org/wiki/Tile_Map_Service_Specification#global-geodetic),\r\n   * which is a breaking change from 0.7.x behaviour.  If you are using a `TileLayer`\r\n   * with this CRS, ensure that there are two 256x256 pixel tiles covering the\r\n   * whole earth at zoom level zero, and that the tile coordinate origin is (-180,+90),\r\n   * or (-180,-90) for `TileLayer`s with [the `tms` option](#tilelayer-tms) set.\r\n   */\r\n\r\n  var EPSG4326 = extend({}, Earth, {\r\n  \tcode: 'EPSG:4326',\r\n  \tprojection: LonLat,\r\n  \ttransformation: toTransformation(1 / 180, 1, -1 / 180, 0.5)\r\n  });\n\n  /*\n   * @namespace CRS\n   * @crs L.CRS.Simple\n   *\n   * A simple CRS that maps longitude and latitude into `x` and `y` directly.\n   * May be used for maps of flat surfaces (e.g. game maps). Note that the `y`\n   * axis should still be inverted (going from bottom to top). `distance()` returns\n   * simple euclidean distance.\n   */\n\n  var Simple = extend({}, CRS, {\n  \tprojection: LonLat,\n  \ttransformation: toTransformation(1, 0, -1, 0),\n\n  \tscale: function (zoom) {\n  \t\treturn Math.pow(2, zoom);\n  \t},\n\n  \tzoom: function (scale) {\n  \t\treturn Math.log(scale) / Math.LN2;\n  \t},\n\n  \tdistance: function (latlng1, latlng2) {\n  \t\tvar dx = latlng2.lng - latlng1.lng,\n  \t\t    dy = latlng2.lat - latlng1.lat;\n\n  \t\treturn Math.sqrt(dx * dx + dy * dy);\n  \t},\n\n  \tinfinite: true\n  });\n\n  CRS.Earth = Earth;\n  CRS.EPSG3395 = EPSG3395;\n  CRS.EPSG3857 = EPSG3857;\n  CRS.EPSG900913 = EPSG900913;\n  CRS.EPSG4326 = EPSG4326;\n  CRS.Simple = Simple;\n\n  /*\n   * @class Layer\n   * @inherits Evented\n   * @aka L.Layer\n   * @aka ILayer\n   *\n   * A set of methods from the Layer base class that all Leaflet layers use.\n   * Inherits all methods, options and events from `L.Evented`.\n   *\n   * @example\n   *\n   * ```js\n   * var layer = L.marker(latlng).addTo(map);\n   * layer.addTo(map);\n   * layer.remove();\n   * ```\n   *\n   * @event add: Event\n   * Fired after the layer is added to a map\n   *\n   * @event remove: Event\n   * Fired after the layer is removed from a map\n   */\n\n\n  var Layer = Evented.extend({\n\n  \t// Classes extending `L.Layer` will inherit the following options:\n  \toptions: {\n  \t\t// @option pane: String = 'overlayPane'\n  \t\t// By default the layer will be added to the map's [overlay pane](#map-overlaypane). Overriding this option will cause the layer to be placed on another pane by default.\n  \t\tpane: 'overlayPane',\n\n  \t\t// @option attribution: String = null\n  \t\t// String to be shown in the attribution control, e.g. \"© OpenStreetMap contributors\". It describes the layer data and is often a legal obligation towards copyright holders and tile providers.\n  \t\tattribution: null,\n\n  \t\tbubblingMouseEvents: true\n  \t},\n\n  \t/* @section\n  \t * Classes extending `L.Layer` will inherit the following methods:\n  \t *\n  \t * @method addTo(map: Map|LayerGroup): this\n  \t * Adds the layer to the given map or layer group.\n  \t */\n  \taddTo: function (map) {\n  \t\tmap.addLayer(this);\n  \t\treturn this;\n  \t},\n\n  \t// @method remove: this\n  \t// Removes the layer from the map it is currently active on.\n  \tremove: function () {\n  \t\treturn this.removeFrom(this._map || this._mapToAdd);\n  \t},\n\n  \t// @method removeFrom(map: Map): this\n  \t// Removes the layer from the given map\n  \t//\n  \t// @alternative\n  \t// @method removeFrom(group: LayerGroup): this\n  \t// Removes the layer from the given `LayerGroup`\n  \tremoveFrom: function (obj) {\n  \t\tif (obj) {\n  \t\t\tobj.removeLayer(this);\n  \t\t}\n  \t\treturn this;\n  \t},\n\n  \t// @method getPane(name? : String): HTMLElement\n  \t// Returns the `HTMLElement` representing the named pane on the map. If `name` is omitted, returns the pane for this layer.\n  \tgetPane: function (name) {\n  \t\treturn this._map.getPane(name ? (this.options[name] || name) : this.options.pane);\n  \t},\n\n  \taddInteractiveTarget: function (targetEl) {\n  \t\tthis._map._targets[stamp(targetEl)] = this;\n  \t\treturn this;\n  \t},\n\n  \tremoveInteractiveTarget: function (targetEl) {\n  \t\tdelete this._map._targets[stamp(targetEl)];\n  \t\treturn this;\n  \t},\n\n  \t// @method getAttribution: String\n  \t// Used by the `attribution control`, returns the [attribution option](#gridlayer-attribution).\n  \tgetAttribution: function () {\n  \t\treturn this.options.attribution;\n  \t},\n\n  \t_layerAdd: function (e) {\n  \t\tvar map = e.target;\n\n  \t\t// check in case layer gets added and then removed before the map is ready\n  \t\tif (!map.hasLayer(this)) { return; }\n\n  \t\tthis._map = map;\n  \t\tthis._zoomAnimated = map._zoomAnimated;\n\n  \t\tif (this.getEvents) {\n  \t\t\tvar events = this.getEvents();\n  \t\t\tmap.on(events, this);\n  \t\t\tthis.once('remove', function () {\n  \t\t\t\tmap.off(events, this);\n  \t\t\t}, this);\n  \t\t}\n\n  \t\tthis.onAdd(map);\n\n  \t\tthis.fire('add');\n  \t\tmap.fire('layeradd', {layer: this});\n  \t}\n  });\n\n  /* @section Extension methods\n   * @uninheritable\n   *\n   * Every layer should extend from `L.Layer` and (re-)implement the following methods.\n   *\n   * @method onAdd(map: Map): this\n   * Should contain code that creates DOM elements for the layer, adds them to `map panes` where they should belong and puts listeners on relevant map events. Called on [`map.addLayer(layer)`](#map-addlayer).\n   *\n   * @method onRemove(map: Map): this\n   * Should contain all clean up code that removes the layer's elements from the DOM and removes listeners previously added in [`onAdd`](#layer-onadd). Called on [`map.removeLayer(layer)`](#map-removelayer).\n   *\n   * @method getEvents(): Object\n   * This optional method should return an object like `{ viewreset: this._reset }` for [`addEventListener`](#evented-addeventlistener). The event handlers in this object will be automatically added and removed from the map with your layer.\n   *\n   * @method getAttribution(): String\n   * This optional method should return a string containing HTML to be shown on the `Attribution control` whenever the layer is visible.\n   *\n   * @method beforeAdd(map: Map): this\n   * Optional method. Called on [`map.addLayer(layer)`](#map-addlayer), before the layer is added to the map, before events are initialized, without waiting until the map is in a usable state. Use for early initialization only.\n   */\n\n\n  /* @namespace Map\n   * @section Layer events\n   *\n   * @event layeradd: LayerEvent\n   * Fired when a new layer is added to the map.\n   *\n   * @event layerremove: LayerEvent\n   * Fired when some layer is removed from the map\n   *\n   * @section Methods for Layers and Controls\n   */\n  Map.include({\n  \t// @method addLayer(layer: Layer): this\n  \t// Adds the given layer to the map\n  \taddLayer: function (layer) {\n  \t\tif (!layer._layerAdd) {\n  \t\t\tthrow new Error('The provided object is not a Layer.');\n  \t\t}\n\n  \t\tvar id = stamp(layer);\n  \t\tif (this._layers[id]) { return this; }\n  \t\tthis._layers[id] = layer;\n\n  \t\tlayer._mapToAdd = this;\n\n  \t\tif (layer.beforeAdd) {\n  \t\t\tlayer.beforeAdd(this);\n  \t\t}\n\n  \t\tthis.whenReady(layer._layerAdd, layer);\n\n  \t\treturn this;\n  \t},\n\n  \t// @method removeLayer(layer: Layer): this\n  \t// Removes the given layer from the map.\n  \tremoveLayer: function (layer) {\n  \t\tvar id = stamp(layer);\n\n  \t\tif (!this._layers[id]) { return this; }\n\n  \t\tif (this._loaded) {\n  \t\t\tlayer.onRemove(this);\n  \t\t}\n\n  \t\tdelete this._layers[id];\n\n  \t\tif (this._loaded) {\n  \t\t\tthis.fire('layerremove', {layer: layer});\n  \t\t\tlayer.fire('remove');\n  \t\t}\n\n  \t\tlayer._map = layer._mapToAdd = null;\n\n  \t\treturn this;\n  \t},\n\n  \t// @method hasLayer(layer: Layer): Boolean\n  \t// Returns `true` if the given layer is currently added to the map\n  \thasLayer: function (layer) {\n  \t\treturn stamp(layer) in this._layers;\n  \t},\n\n  \t/* @method eachLayer(fn: Function, context?: Object): this\n  \t * Iterates over the layers of the map, optionally specifying context of the iterator function.\n  \t * ```\n  \t * map.eachLayer(function(layer){\n  \t *     layer.bindPopup('Hello');\n  \t * });\n  \t * ```\n  \t */\n  \teachLayer: function (method, context) {\n  \t\tfor (var i in this._layers) {\n  \t\t\tmethod.call(context, this._layers[i]);\n  \t\t}\n  \t\treturn this;\n  \t},\n\n  \t_addLayers: function (layers) {\n  \t\tlayers = layers ? (isArray(layers) ? layers : [layers]) : [];\n\n  \t\tfor (var i = 0, len = layers.length; i < len; i++) {\n  \t\t\tthis.addLayer(layers[i]);\n  \t\t}\n  \t},\n\n  \t_addZoomLimit: function (layer) {\n  \t\tif (!isNaN(layer.options.maxZoom) || !isNaN(layer.options.minZoom)) {\n  \t\t\tthis._zoomBoundLayers[stamp(layer)] = layer;\n  \t\t\tthis._updateZoomLevels();\n  \t\t}\n  \t},\n\n  \t_removeZoomLimit: function (layer) {\n  \t\tvar id = stamp(layer);\n\n  \t\tif (this._zoomBoundLayers[id]) {\n  \t\t\tdelete this._zoomBoundLayers[id];\n  \t\t\tthis._updateZoomLevels();\n  \t\t}\n  \t},\n\n  \t_updateZoomLevels: function () {\n  \t\tvar minZoom = Infinity,\n  \t\t    maxZoom = -Infinity,\n  \t\t    oldZoomSpan = this._getZoomSpan();\n\n  \t\tfor (var i in this._zoomBoundLayers) {\n  \t\t\tvar options = this._zoomBoundLayers[i].options;\n\n  \t\t\tminZoom = options.minZoom === undefined ? minZoom : Math.min(minZoom, options.minZoom);\n  \t\t\tmaxZoom = options.maxZoom === undefined ? maxZoom : Math.max(maxZoom, options.maxZoom);\n  \t\t}\n\n  \t\tthis._layersMaxZoom = maxZoom === -Infinity ? undefined : maxZoom;\n  \t\tthis._layersMinZoom = minZoom === Infinity ? undefined : minZoom;\n\n  \t\t// @section Map state change events\n  \t\t// @event zoomlevelschange: Event\n  \t\t// Fired when the number of zoomlevels on the map is changed due\n  \t\t// to adding or removing a layer.\n  \t\tif (oldZoomSpan !== this._getZoomSpan()) {\n  \t\t\tthis.fire('zoomlevelschange');\n  \t\t}\n\n  \t\tif (this.options.maxZoom === undefined && this._layersMaxZoom && this.getZoom() > this._layersMaxZoom) {\n  \t\t\tthis.setZoom(this._layersMaxZoom);\n  \t\t}\n  \t\tif (this.options.minZoom === undefined && this._layersMinZoom && this.getZoom() < this._layersMinZoom) {\n  \t\t\tthis.setZoom(this._layersMinZoom);\n  \t\t}\n  \t}\n  });\n\n  /*\r\n   * @class LayerGroup\r\n   * @aka L.LayerGroup\r\n   * @inherits Interactive layer\r\n   *\r\n   * Used to group several layers and handle them as one. If you add it to the map,\r\n   * any layers added or removed from the group will be added/removed on the map as\r\n   * well. Extends `Layer`.\r\n   *\r\n   * @example\r\n   *\r\n   * ```js\r\n   * L.layerGroup([marker1, marker2])\r\n   * \t.addLayer(polyline)\r\n   * \t.addTo(map);\r\n   * ```\r\n   */\r\n\r\n  var LayerGroup = Layer.extend({\r\n\r\n  \tinitialize: function (layers, options) {\r\n  \t\tsetOptions(this, options);\r\n\r\n  \t\tthis._layers = {};\r\n\r\n  \t\tvar i, len;\r\n\r\n  \t\tif (layers) {\r\n  \t\t\tfor (i = 0, len = layers.length; i < len; i++) {\r\n  \t\t\t\tthis.addLayer(layers[i]);\r\n  \t\t\t}\r\n  \t\t}\r\n  \t},\r\n\r\n  \t// @method addLayer(layer: Layer): this\r\n  \t// Adds the given layer to the group.\r\n  \taddLayer: function (layer) {\r\n  \t\tvar id = this.getLayerId(layer);\r\n\r\n  \t\tthis._layers[id] = layer;\r\n\r\n  \t\tif (this._map) {\r\n  \t\t\tthis._map.addLayer(layer);\r\n  \t\t}\r\n\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method removeLayer(layer: Layer): this\r\n  \t// Removes the given layer from the group.\r\n  \t// @alternative\r\n  \t// @method removeLayer(id: Number): this\r\n  \t// Removes the layer with the given internal ID from the group.\r\n  \tremoveLayer: function (layer) {\r\n  \t\tvar id = layer in this._layers ? layer : this.getLayerId(layer);\r\n\r\n  \t\tif (this._map && this._layers[id]) {\r\n  \t\t\tthis._map.removeLayer(this._layers[id]);\r\n  \t\t}\r\n\r\n  \t\tdelete this._layers[id];\r\n\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method hasLayer(layer: Layer): Boolean\r\n  \t// Returns `true` if the given layer is currently added to the group.\r\n  \t// @alternative\r\n  \t// @method hasLayer(id: Number): Boolean\r\n  \t// Returns `true` if the given internal ID is currently added to the group.\r\n  \thasLayer: function (layer) {\r\n  \t\tvar layerId = typeof layer === 'number' ? layer : this.getLayerId(layer);\r\n  \t\treturn layerId in this._layers;\r\n  \t},\r\n\r\n  \t// @method clearLayers(): this\r\n  \t// Removes all the layers from the group.\r\n  \tclearLayers: function () {\r\n  \t\treturn this.eachLayer(this.removeLayer, this);\r\n  \t},\r\n\r\n  \t// @method invoke(methodName: String, …): this\r\n  \t// Calls `methodName` on every layer contained in this group, passing any\r\n  \t// additional parameters. Has no effect if the layers contained do not\r\n  \t// implement `methodName`.\r\n  \tinvoke: function (methodName) {\r\n  \t\tvar args = Array.prototype.slice.call(arguments, 1),\r\n  \t\t    i, layer;\r\n\r\n  \t\tfor (i in this._layers) {\r\n  \t\t\tlayer = this._layers[i];\r\n\r\n  \t\t\tif (layer[methodName]) {\r\n  \t\t\t\tlayer[methodName].apply(layer, args);\r\n  \t\t\t}\r\n  \t\t}\r\n\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \tonAdd: function (map) {\r\n  \t\tthis.eachLayer(map.addLayer, map);\r\n  \t},\r\n\r\n  \tonRemove: function (map) {\r\n  \t\tthis.eachLayer(map.removeLayer, map);\r\n  \t},\r\n\r\n  \t// @method eachLayer(fn: Function, context?: Object): this\r\n  \t// Iterates over the layers of the group, optionally specifying context of the iterator function.\r\n  \t// ```js\r\n  \t// group.eachLayer(function (layer) {\r\n  \t// \tlayer.bindPopup('Hello');\r\n  \t// });\r\n  \t// ```\r\n  \teachLayer: function (method, context) {\r\n  \t\tfor (var i in this._layers) {\r\n  \t\t\tmethod.call(context, this._layers[i]);\r\n  \t\t}\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method getLayer(id: Number): Layer\r\n  \t// Returns the layer with the given internal ID.\r\n  \tgetLayer: function (id) {\r\n  \t\treturn this._layers[id];\r\n  \t},\r\n\r\n  \t// @method getLayers(): Layer[]\r\n  \t// Returns an array of all the layers added to the group.\r\n  \tgetLayers: function () {\r\n  \t\tvar layers = [];\r\n  \t\tthis.eachLayer(layers.push, layers);\r\n  \t\treturn layers;\r\n  \t},\r\n\r\n  \t// @method setZIndex(zIndex: Number): this\r\n  \t// Calls `setZIndex` on every layer contained in this group, passing the z-index.\r\n  \tsetZIndex: function (zIndex) {\r\n  \t\treturn this.invoke('setZIndex', zIndex);\r\n  \t},\r\n\r\n  \t// @method getLayerId(layer: Layer): Number\r\n  \t// Returns the internal ID for a layer\r\n  \tgetLayerId: function (layer) {\r\n  \t\treturn stamp(layer);\r\n  \t}\r\n  });\r\n\r\n\r\n  // @factory L.layerGroup(layers?: Layer[], options?: Object)\r\n  // Create a layer group, optionally given an initial set of layers and an `options` object.\r\n  var layerGroup = function (layers, options) {\r\n  \treturn new LayerGroup(layers, options);\r\n  };\n\n  /*\r\n   * @class FeatureGroup\r\n   * @aka L.FeatureGroup\r\n   * @inherits LayerGroup\r\n   *\r\n   * Extended `LayerGroup` that makes it easier to do the same thing to all its member layers:\r\n   *  * [`bindPopup`](#layer-bindpopup) binds a popup to all of the layers at once (likewise with [`bindTooltip`](#layer-bindtooltip))\r\n   *  * Events are propagated to the `FeatureGroup`, so if the group has an event\r\n   * handler, it will handle events from any of the layers. This includes mouse events\r\n   * and custom events.\r\n   *  * Has `layeradd` and `layerremove` events\r\n   *\r\n   * @example\r\n   *\r\n   * ```js\r\n   * L.featureGroup([marker1, marker2, polyline])\r\n   * \t.bindPopup('Hello world!')\r\n   * \t.on('click', function() { alert('Clicked on a member of the group!'); })\r\n   * \t.addTo(map);\r\n   * ```\r\n   */\r\n\r\n  var FeatureGroup = LayerGroup.extend({\r\n\r\n  \taddLayer: function (layer) {\r\n  \t\tif (this.hasLayer(layer)) {\r\n  \t\t\treturn this;\r\n  \t\t}\r\n\r\n  \t\tlayer.addEventParent(this);\r\n\r\n  \t\tLayerGroup.prototype.addLayer.call(this, layer);\r\n\r\n  \t\t// @event layeradd: LayerEvent\r\n  \t\t// Fired when a layer is added to this `FeatureGroup`\r\n  \t\treturn this.fire('layeradd', {layer: layer});\r\n  \t},\r\n\r\n  \tremoveLayer: function (layer) {\r\n  \t\tif (!this.hasLayer(layer)) {\r\n  \t\t\treturn this;\r\n  \t\t}\r\n  \t\tif (layer in this._layers) {\r\n  \t\t\tlayer = this._layers[layer];\r\n  \t\t}\r\n\r\n  \t\tlayer.removeEventParent(this);\r\n\r\n  \t\tLayerGroup.prototype.removeLayer.call(this, layer);\r\n\r\n  \t\t// @event layerremove: LayerEvent\r\n  \t\t// Fired when a layer is removed from this `FeatureGroup`\r\n  \t\treturn this.fire('layerremove', {layer: layer});\r\n  \t},\r\n\r\n  \t// @method setStyle(style: Path options): this\r\n  \t// Sets the given path options to each layer of the group that has a `setStyle` method.\r\n  \tsetStyle: function (style) {\r\n  \t\treturn this.invoke('setStyle', style);\r\n  \t},\r\n\r\n  \t// @method bringToFront(): this\r\n  \t// Brings the layer group to the top of all other layers\r\n  \tbringToFront: function () {\r\n  \t\treturn this.invoke('bringToFront');\r\n  \t},\r\n\r\n  \t// @method bringToBack(): this\r\n  \t// Brings the layer group to the back of all other layers\r\n  \tbringToBack: function () {\r\n  \t\treturn this.invoke('bringToBack');\r\n  \t},\r\n\r\n  \t// @method getBounds(): LatLngBounds\r\n  \t// Returns the LatLngBounds of the Feature Group (created from bounds and coordinates of its children).\r\n  \tgetBounds: function () {\r\n  \t\tvar bounds = new LatLngBounds();\r\n\r\n  \t\tfor (var id in this._layers) {\r\n  \t\t\tvar layer = this._layers[id];\r\n  \t\t\tbounds.extend(layer.getBounds ? layer.getBounds() : layer.getLatLng());\r\n  \t\t}\r\n  \t\treturn bounds;\r\n  \t}\r\n  });\r\n\r\n  // @factory L.featureGroup(layers?: Layer[], options?: Object)\r\n  // Create a feature group, optionally given an initial set of layers and an `options` object.\r\n  var featureGroup = function (layers, options) {\r\n  \treturn new FeatureGroup(layers, options);\r\n  };\n\n  /*\r\n   * @class Icon\r\n   * @aka L.Icon\r\n   *\r\n   * Represents an icon to provide when creating a marker.\r\n   *\r\n   * @example\r\n   *\r\n   * ```js\r\n   * var myIcon = L.icon({\r\n   *     iconUrl: 'my-icon.png',\r\n   *     iconRetinaUrl: 'my-icon@2x.png',\r\n   *     iconSize: [38, 95],\r\n   *     iconAnchor: [22, 94],\r\n   *     popupAnchor: [-3, -76],\r\n   *     shadowUrl: 'my-icon-shadow.png',\r\n   *     shadowRetinaUrl: 'my-icon-shadow@2x.png',\r\n   *     shadowSize: [68, 95],\r\n   *     shadowAnchor: [22, 94]\r\n   * });\r\n   *\r\n   * L.marker([50.505, 30.57], {icon: myIcon}).addTo(map);\r\n   * ```\r\n   *\r\n   * `L.Icon.Default` extends `L.Icon` and is the blue icon Leaflet uses for markers by default.\r\n   *\r\n   */\r\n\r\n  var Icon = Class.extend({\r\n\r\n  \t/* @section\r\n  \t * @aka Icon options\r\n  \t *\r\n  \t * @option iconUrl: String = null\r\n  \t * **(required)** The URL to the icon image (absolute or relative to your script path).\r\n  \t *\r\n  \t * @option iconRetinaUrl: String = null\r\n  \t * The URL to a retina sized version of the icon image (absolute or relative to your\r\n  \t * script path). Used for Retina screen devices.\r\n  \t *\r\n  \t * @option iconSize: Point = null\r\n  \t * Size of the icon image in pixels.\r\n  \t *\r\n  \t * @option iconAnchor: Point = null\r\n  \t * The coordinates of the \"tip\" of the icon (relative to its top left corner). The icon\r\n  \t * will be aligned so that this point is at the marker's geographical location. Centered\r\n  \t * by default if size is specified, also can be set in CSS with negative margins.\r\n  \t *\r\n  \t * @option popupAnchor: Point = [0, 0]\r\n  \t * The coordinates of the point from which popups will \"open\", relative to the icon anchor.\r\n  \t *\r\n  \t * @option tooltipAnchor: Point = [0, 0]\r\n  \t * The coordinates of the point from which tooltips will \"open\", relative to the icon anchor.\r\n  \t *\r\n  \t * @option shadowUrl: String = null\r\n  \t * The URL to the icon shadow image. If not specified, no shadow image will be created.\r\n  \t *\r\n  \t * @option shadowRetinaUrl: String = null\r\n  \t *\r\n  \t * @option shadowSize: Point = null\r\n  \t * Size of the shadow image in pixels.\r\n  \t *\r\n  \t * @option shadowAnchor: Point = null\r\n  \t * The coordinates of the \"tip\" of the shadow (relative to its top left corner) (the same\r\n  \t * as iconAnchor if not specified).\r\n  \t *\r\n  \t * @option className: String = ''\r\n  \t * A custom class name to assign to both icon and shadow images. Empty by default.\r\n  \t */\r\n\r\n  \toptions: {\r\n  \t\tpopupAnchor: [0, 0],\r\n  \t\ttooltipAnchor: [0, 0],\r\n\r\n  \t\t// @option crossOrigin: Boolean|String = false\r\n  \t\t// Whether the crossOrigin attribute will be added to the tiles.\r\n  \t\t// If a String is provided, all tiles will have their crossOrigin attribute set to the String provided. This is needed if you want to access tile pixel data.\r\n  \t\t// Refer to [CORS Settings](https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_settings_attributes) for valid String values.\r\n  \t\tcrossOrigin: false\r\n  \t},\r\n\r\n  \tinitialize: function (options) {\r\n  \t\tsetOptions(this, options);\r\n  \t},\r\n\r\n  \t// @method createIcon(oldIcon?: HTMLElement): HTMLElement\r\n  \t// Called internally when the icon has to be shown, returns a `<img>` HTML element\r\n  \t// styled according to the options.\r\n  \tcreateIcon: function (oldIcon) {\r\n  \t\treturn this._createIcon('icon', oldIcon);\r\n  \t},\r\n\r\n  \t// @method createShadow(oldIcon?: HTMLElement): HTMLElement\r\n  \t// As `createIcon`, but for the shadow beneath it.\r\n  \tcreateShadow: function (oldIcon) {\r\n  \t\treturn this._createIcon('shadow', oldIcon);\r\n  \t},\r\n\r\n  \t_createIcon: function (name, oldIcon) {\r\n  \t\tvar src = this._getIconUrl(name);\r\n\r\n  \t\tif (!src) {\r\n  \t\t\tif (name === 'icon') {\r\n  \t\t\t\tthrow new Error('iconUrl not set in Icon options (see the docs).');\r\n  \t\t\t}\r\n  \t\t\treturn null;\r\n  \t\t}\r\n\r\n  \t\tvar img = this._createImg(src, oldIcon && oldIcon.tagName === 'IMG' ? oldIcon : null);\r\n  \t\tthis._setIconStyles(img, name);\r\n\r\n  \t\tif (this.options.crossOrigin || this.options.crossOrigin === '') {\r\n  \t\t\timg.crossOrigin = this.options.crossOrigin === true ? '' : this.options.crossOrigin;\r\n  \t\t}\r\n\r\n  \t\treturn img;\r\n  \t},\r\n\r\n  \t_setIconStyles: function (img, name) {\r\n  \t\tvar options = this.options;\r\n  \t\tvar sizeOption = options[name + 'Size'];\r\n\r\n  \t\tif (typeof sizeOption === 'number') {\r\n  \t\t\tsizeOption = [sizeOption, sizeOption];\r\n  \t\t}\r\n\r\n  \t\tvar size = toPoint(sizeOption),\r\n  \t\t    anchor = toPoint(name === 'shadow' && options.shadowAnchor || options.iconAnchor ||\r\n  \t\t            size && size.divideBy(2, true));\r\n\r\n  \t\timg.className = 'leaflet-marker-' + name + ' ' + (options.className || '');\r\n\r\n  \t\tif (anchor) {\r\n  \t\t\timg.style.marginLeft = (-anchor.x) + 'px';\r\n  \t\t\timg.style.marginTop  = (-anchor.y) + 'px';\r\n  \t\t}\r\n\r\n  \t\tif (size) {\r\n  \t\t\timg.style.width  = size.x + 'px';\r\n  \t\t\timg.style.height = size.y + 'px';\r\n  \t\t}\r\n  \t},\r\n\r\n  \t_createImg: function (src, el) {\r\n  \t\tel = el || document.createElement('img');\r\n  \t\tel.src = src;\r\n  \t\treturn el;\r\n  \t},\r\n\r\n  \t_getIconUrl: function (name) {\r\n  \t\treturn Browser.retina && this.options[name + 'RetinaUrl'] || this.options[name + 'Url'];\r\n  \t}\r\n  });\r\n\r\n\r\n  // @factory L.icon(options: Icon options)\r\n  // Creates an icon instance with the given options.\r\n  function icon(options) {\r\n  \treturn new Icon(options);\r\n  }\n\n  /*\n   * @miniclass Icon.Default (Icon)\n   * @aka L.Icon.Default\n   * @section\n   *\n   * A trivial subclass of `Icon`, represents the icon to use in `Marker`s when\n   * no icon is specified. Points to the blue marker image distributed with Leaflet\n   * releases.\n   *\n   * In order to customize the default icon, just change the properties of `L.Icon.Default.prototype.options`\n   * (which is a set of `Icon options`).\n   *\n   * If you want to _completely_ replace the default icon, override the\n   * `L.Marker.prototype.options.icon` with your own icon instead.\n   */\n\n  var IconDefault = Icon.extend({\n\n  \toptions: {\n  \t\ticonUrl:       'marker-icon.png',\n  \t\ticonRetinaUrl: 'marker-icon-2x.png',\n  \t\tshadowUrl:     'marker-shadow.png',\n  \t\ticonSize:    [25, 41],\n  \t\ticonAnchor:  [12, 41],\n  \t\tpopupAnchor: [1, -34],\n  \t\ttooltipAnchor: [16, -28],\n  \t\tshadowSize:  [41, 41]\n  \t},\n\n  \t_getIconUrl: function (name) {\n  \t\tif (typeof IconDefault.imagePath !== 'string') {\t// Deprecated, backwards-compatibility only\n  \t\t\tIconDefault.imagePath = this._detectIconPath();\n  \t\t}\n\n  \t\t// @option imagePath: String\n  \t\t// `Icon.Default` will try to auto-detect the location of the\n  \t\t// blue icon images. If you are placing these images in a non-standard\n  \t\t// way, set this option to point to the right path.\n  \t\treturn (this.options.imagePath || IconDefault.imagePath) + Icon.prototype._getIconUrl.call(this, name);\n  \t},\n\n  \t_stripUrl: function (path) {\t// separate function to use in tests\n  \t\tvar strip = function (str, re, idx) {\n  \t\t\tvar match = re.exec(str);\n  \t\t\treturn match && match[idx];\n  \t\t};\n  \t\tpath = strip(path, /^url\\((['\"])?(.+)\\1\\)$/, 2);\n  \t\treturn path && strip(path, /^(.*)marker-icon\\.png$/, 1);\n  \t},\n\n  \t_detectIconPath: function () {\n  \t\tvar el = create$1('div',  'leaflet-default-icon-path', document.body);\n  \t\tvar path = getStyle(el, 'background-image') ||\n  \t\t           getStyle(el, 'backgroundImage');\t// IE8\n\n  \t\tdocument.body.removeChild(el);\n  \t\tpath = this._stripUrl(path);\n  \t\tif (path) { return path; }\n  \t\tvar link = document.querySelector('link[href$=\"leaflet.css\"]');\n  \t\tif (!link) { return ''; }\n  \t\treturn link.href.substring(0, link.href.length - 'leaflet.css'.length - 1);\n  \t}\n  });\n\n  /*\n   * L.Handler.MarkerDrag is used internally by L.Marker to make the markers draggable.\n   */\n\n\n  /* @namespace Marker\n   * @section Interaction handlers\n   *\n   * Interaction handlers are properties of a marker instance that allow you to control interaction behavior in runtime, enabling or disabling certain features such as dragging (see `Handler` methods). Example:\n   *\n   * ```js\n   * marker.dragging.disable();\n   * ```\n   *\n   * @property dragging: Handler\n   * Marker dragging handler (by both mouse and touch). Only valid when the marker is on the map (Otherwise set [`marker.options.draggable`](#marker-draggable)).\n   */\n\n  var MarkerDrag = Handler.extend({\n  \tinitialize: function (marker) {\n  \t\tthis._marker = marker;\n  \t},\n\n  \taddHooks: function () {\n  \t\tvar icon = this._marker._icon;\n\n  \t\tif (!this._draggable) {\n  \t\t\tthis._draggable = new Draggable(icon, icon, true);\n  \t\t}\n\n  \t\tthis._draggable.on({\n  \t\t\tdragstart: this._onDragStart,\n  \t\t\tpredrag: this._onPreDrag,\n  \t\t\tdrag: this._onDrag,\n  \t\t\tdragend: this._onDragEnd\n  \t\t}, this).enable();\n\n  \t\taddClass(icon, 'leaflet-marker-draggable');\n  \t},\n\n  \tremoveHooks: function () {\n  \t\tthis._draggable.off({\n  \t\t\tdragstart: this._onDragStart,\n  \t\t\tpredrag: this._onPreDrag,\n  \t\t\tdrag: this._onDrag,\n  \t\t\tdragend: this._onDragEnd\n  \t\t}, this).disable();\n\n  \t\tif (this._marker._icon) {\n  \t\t\tremoveClass(this._marker._icon, 'leaflet-marker-draggable');\n  \t\t}\n  \t},\n\n  \tmoved: function () {\n  \t\treturn this._draggable && this._draggable._moved;\n  \t},\n\n  \t_adjustPan: function (e) {\n  \t\tvar marker = this._marker,\n  \t\t    map = marker._map,\n  \t\t    speed = this._marker.options.autoPanSpeed,\n  \t\t    padding = this._marker.options.autoPanPadding,\n  \t\t    iconPos = getPosition(marker._icon),\n  \t\t    bounds = map.getPixelBounds(),\n  \t\t    origin = map.getPixelOrigin();\n\n  \t\tvar panBounds = toBounds(\n  \t\t\tbounds.min._subtract(origin).add(padding),\n  \t\t\tbounds.max._subtract(origin).subtract(padding)\n  \t\t);\n\n  \t\tif (!panBounds.contains(iconPos)) {\n  \t\t\t// Compute incremental movement\n  \t\t\tvar movement = toPoint(\n  \t\t\t\t(Math.max(panBounds.max.x, iconPos.x) - panBounds.max.x) / (bounds.max.x - panBounds.max.x) -\n  \t\t\t\t(Math.min(panBounds.min.x, iconPos.x) - panBounds.min.x) / (bounds.min.x - panBounds.min.x),\n\n  \t\t\t\t(Math.max(panBounds.max.y, iconPos.y) - panBounds.max.y) / (bounds.max.y - panBounds.max.y) -\n  \t\t\t\t(Math.min(panBounds.min.y, iconPos.y) - panBounds.min.y) / (bounds.min.y - panBounds.min.y)\n  \t\t\t).multiplyBy(speed);\n\n  \t\t\tmap.panBy(movement, {animate: false});\n\n  \t\t\tthis._draggable._newPos._add(movement);\n  \t\t\tthis._draggable._startPos._add(movement);\n\n  \t\t\tsetPosition(marker._icon, this._draggable._newPos);\n  \t\t\tthis._onDrag(e);\n\n  \t\t\tthis._panRequest = requestAnimFrame(this._adjustPan.bind(this, e));\n  \t\t}\n  \t},\n\n  \t_onDragStart: function () {\n  \t\t// @section Dragging events\n  \t\t// @event dragstart: Event\n  \t\t// Fired when the user starts dragging the marker.\n\n  \t\t// @event movestart: Event\n  \t\t// Fired when the marker starts moving (because of dragging).\n\n  \t\tthis._oldLatLng = this._marker.getLatLng();\n\n  \t\t// When using ES6 imports it could not be set when `Popup` was not imported as well\n  \t\tthis._marker.closePopup && this._marker.closePopup();\n\n  \t\tthis._marker\n  \t\t\t.fire('movestart')\n  \t\t\t.fire('dragstart');\n  \t},\n\n  \t_onPreDrag: function (e) {\n  \t\tif (this._marker.options.autoPan) {\n  \t\t\tcancelAnimFrame(this._panRequest);\n  \t\t\tthis._panRequest = requestAnimFrame(this._adjustPan.bind(this, e));\n  \t\t}\n  \t},\n\n  \t_onDrag: function (e) {\n  \t\tvar marker = this._marker,\n  \t\t    shadow = marker._shadow,\n  \t\t    iconPos = getPosition(marker._icon),\n  \t\t    latlng = marker._map.layerPointToLatLng(iconPos);\n\n  \t\t// update shadow position\n  \t\tif (shadow) {\n  \t\t\tsetPosition(shadow, iconPos);\n  \t\t}\n\n  \t\tmarker._latlng = latlng;\n  \t\te.latlng = latlng;\n  \t\te.oldLatLng = this._oldLatLng;\n\n  \t\t// @event drag: Event\n  \t\t// Fired repeatedly while the user drags the marker.\n  \t\tmarker\n  \t\t    .fire('move', e)\n  \t\t    .fire('drag', e);\n  \t},\n\n  \t_onDragEnd: function (e) {\n  \t\t// @event dragend: DragEndEvent\n  \t\t// Fired when the user stops dragging the marker.\n\n  \t\t cancelAnimFrame(this._panRequest);\n\n  \t\t// @event moveend: Event\n  \t\t// Fired when the marker stops moving (because of dragging).\n  \t\tdelete this._oldLatLng;\n  \t\tthis._marker\n  \t\t    .fire('moveend')\n  \t\t    .fire('dragend', e);\n  \t}\n  });\n\n  /*\r\n   * @class Marker\r\n   * @inherits Interactive layer\r\n   * @aka L.Marker\r\n   * L.Marker is used to display clickable/draggable icons on the map. Extends `Layer`.\r\n   *\r\n   * @example\r\n   *\r\n   * ```js\r\n   * L.marker([50.5, 30.5]).addTo(map);\r\n   * ```\r\n   */\r\n\r\n  var Marker = Layer.extend({\r\n\r\n  \t// @section\r\n  \t// @aka Marker options\r\n  \toptions: {\r\n  \t\t// @option icon: Icon = *\r\n  \t\t// Icon instance to use for rendering the marker.\r\n  \t\t// See [Icon documentation](#L.Icon) for details on how to customize the marker icon.\r\n  \t\t// If not specified, a common instance of `L.Icon.Default` is used.\r\n  \t\ticon: new IconDefault(),\r\n\r\n  \t\t// Option inherited from \"Interactive layer\" abstract class\r\n  \t\tinteractive: true,\r\n\r\n  \t\t// @option keyboard: Boolean = true\r\n  \t\t// Whether the marker can be tabbed to with a keyboard and clicked by pressing enter.\r\n  \t\tkeyboard: true,\r\n\r\n  \t\t// @option title: String = ''\r\n  \t\t// Text for the browser tooltip that appear on marker hover (no tooltip by default).\r\n  \t\t// [Useful for accessibility](https://leafletjs.com/examples/accessibility/#markers-must-be-labelled).\r\n  \t\ttitle: '',\r\n\r\n  \t\t// @option alt: String = 'Marker'\r\n  \t\t// Text for the `alt` attribute of the icon image.\r\n  \t\t// [Useful for accessibility](https://leafletjs.com/examples/accessibility/#markers-must-be-labelled).\r\n  \t\talt: 'Marker',\r\n\r\n  \t\t// @option zIndexOffset: Number = 0\r\n  \t\t// By default, marker images zIndex is set automatically based on its latitude. Use this option if you want to put the marker on top of all others (or below), specifying a high value like `1000` (or high negative value, respectively).\r\n  \t\tzIndexOffset: 0,\r\n\r\n  \t\t// @option opacity: Number = 1.0\r\n  \t\t// The opacity of the marker.\r\n  \t\topacity: 1,\r\n\r\n  \t\t// @option riseOnHover: Boolean = false\r\n  \t\t// If `true`, the marker will get on top of others when you hover the mouse over it.\r\n  \t\triseOnHover: false,\r\n\r\n  \t\t// @option riseOffset: Number = 250\r\n  \t\t// The z-index offset used for the `riseOnHover` feature.\r\n  \t\triseOffset: 250,\r\n\r\n  \t\t// @option pane: String = 'markerPane'\r\n  \t\t// `Map pane` where the markers icon will be added.\r\n  \t\tpane: 'markerPane',\r\n\r\n  \t\t// @option shadowPane: String = 'shadowPane'\r\n  \t\t// `Map pane` where the markers shadow will be added.\r\n  \t\tshadowPane: 'shadowPane',\r\n\r\n  \t\t// @option bubblingMouseEvents: Boolean = false\r\n  \t\t// When `true`, a mouse event on this marker will trigger the same event on the map\r\n  \t\t// (unless [`L.DomEvent.stopPropagation`](#domevent-stoppropagation) is used).\r\n  \t\tbubblingMouseEvents: false,\r\n\r\n  \t\t// @option autoPanOnFocus: Boolean = true\r\n  \t\t// When `true`, the map will pan whenever the marker is focused (via\r\n  \t\t// e.g. pressing `tab` on the keyboard) to ensure the marker is\r\n  \t\t// visible within the map's bounds\r\n  \t\tautoPanOnFocus: true,\r\n\r\n  \t\t// @section Draggable marker options\r\n  \t\t// @option draggable: Boolean = false\r\n  \t\t// Whether the marker is draggable with mouse/touch or not.\r\n  \t\tdraggable: false,\r\n\r\n  \t\t// @option autoPan: Boolean = false\r\n  \t\t// Whether to pan the map when dragging this marker near its edge or not.\r\n  \t\tautoPan: false,\r\n\r\n  \t\t// @option autoPanPadding: Point = Point(50, 50)\r\n  \t\t// Distance (in pixels to the left/right and to the top/bottom) of the\r\n  \t\t// map edge to start panning the map.\r\n  \t\tautoPanPadding: [50, 50],\r\n\r\n  \t\t// @option autoPanSpeed: Number = 10\r\n  \t\t// Number of pixels the map should pan by.\r\n  \t\tautoPanSpeed: 10\r\n  \t},\r\n\r\n  \t/* @section\r\n  \t *\r\n  \t * In addition to [shared layer methods](#Layer) like `addTo()` and `remove()` and [popup methods](#Popup) like bindPopup() you can also use the following methods:\r\n  \t */\r\n\r\n  \tinitialize: function (latlng, options) {\r\n  \t\tsetOptions(this, options);\r\n  \t\tthis._latlng = toLatLng(latlng);\r\n  \t},\r\n\r\n  \tonAdd: function (map) {\r\n  \t\tthis._zoomAnimated = this._zoomAnimated && map.options.markerZoomAnimation;\r\n\r\n  \t\tif (this._zoomAnimated) {\r\n  \t\t\tmap.on('zoomanim', this._animateZoom, this);\r\n  \t\t}\r\n\r\n  \t\tthis._initIcon();\r\n  \t\tthis.update();\r\n  \t},\r\n\r\n  \tonRemove: function (map) {\r\n  \t\tif (this.dragging && this.dragging.enabled()) {\r\n  \t\t\tthis.options.draggable = true;\r\n  \t\t\tthis.dragging.removeHooks();\r\n  \t\t}\r\n  \t\tdelete this.dragging;\r\n\r\n  \t\tif (this._zoomAnimated) {\r\n  \t\t\tmap.off('zoomanim', this._animateZoom, this);\r\n  \t\t}\r\n\r\n  \t\tthis._removeIcon();\r\n  \t\tthis._removeShadow();\r\n  \t},\r\n\r\n  \tgetEvents: function () {\r\n  \t\treturn {\r\n  \t\t\tzoom: this.update,\r\n  \t\t\tviewreset: this.update\r\n  \t\t};\r\n  \t},\r\n\r\n  \t// @method getLatLng: LatLng\r\n  \t// Returns the current geographical position of the marker.\r\n  \tgetLatLng: function () {\r\n  \t\treturn this._latlng;\r\n  \t},\r\n\r\n  \t// @method setLatLng(latlng: LatLng): this\r\n  \t// Changes the marker position to the given point.\r\n  \tsetLatLng: function (latlng) {\r\n  \t\tvar oldLatLng = this._latlng;\r\n  \t\tthis._latlng = toLatLng(latlng);\r\n  \t\tthis.update();\r\n\r\n  \t\t// @event move: Event\r\n  \t\t// Fired when the marker is moved via [`setLatLng`](#marker-setlatlng) or by [dragging](#marker-dragging). Old and new coordinates are included in event arguments as `oldLatLng`, `latlng`.\r\n  \t\treturn this.fire('move', {oldLatLng: oldLatLng, latlng: this._latlng});\r\n  \t},\r\n\r\n  \t// @method setZIndexOffset(offset: Number): this\r\n  \t// Changes the [zIndex offset](#marker-zindexoffset) of the marker.\r\n  \tsetZIndexOffset: function (offset) {\r\n  \t\tthis.options.zIndexOffset = offset;\r\n  \t\treturn this.update();\r\n  \t},\r\n\r\n  \t// @method getIcon: Icon\r\n  \t// Returns the current icon used by the marker\r\n  \tgetIcon: function () {\r\n  \t\treturn this.options.icon;\r\n  \t},\r\n\r\n  \t// @method setIcon(icon: Icon): this\r\n  \t// Changes the marker icon.\r\n  \tsetIcon: function (icon) {\r\n\r\n  \t\tthis.options.icon = icon;\r\n\r\n  \t\tif (this._map) {\r\n  \t\t\tthis._initIcon();\r\n  \t\t\tthis.update();\r\n  \t\t}\r\n\r\n  \t\tif (this._popup) {\r\n  \t\t\tthis.bindPopup(this._popup, this._popup.options);\r\n  \t\t}\r\n\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \tgetElement: function () {\r\n  \t\treturn this._icon;\r\n  \t},\r\n\r\n  \tupdate: function () {\r\n\r\n  \t\tif (this._icon && this._map) {\r\n  \t\t\tvar pos = this._map.latLngToLayerPoint(this._latlng).round();\r\n  \t\t\tthis._setPos(pos);\r\n  \t\t}\r\n\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t_initIcon: function () {\r\n  \t\tvar options = this.options,\r\n  \t\t    classToAdd = 'leaflet-zoom-' + (this._zoomAnimated ? 'animated' : 'hide');\r\n\r\n  \t\tvar icon = options.icon.createIcon(this._icon),\r\n  \t\t    addIcon = false;\r\n\r\n  \t\t// if we're not reusing the icon, remove the old one and init new one\r\n  \t\tif (icon !== this._icon) {\r\n  \t\t\tif (this._icon) {\r\n  \t\t\t\tthis._removeIcon();\r\n  \t\t\t}\r\n  \t\t\taddIcon = true;\r\n\r\n  \t\t\tif (options.title) {\r\n  \t\t\t\ticon.title = options.title;\r\n  \t\t\t}\r\n\r\n  \t\t\tif (icon.tagName === 'IMG') {\r\n  \t\t\t\ticon.alt = options.alt || '';\r\n  \t\t\t}\r\n  \t\t}\r\n\r\n  \t\taddClass(icon, classToAdd);\r\n\r\n  \t\tif (options.keyboard) {\r\n  \t\t\ticon.tabIndex = '0';\r\n  \t\t\ticon.setAttribute('role', 'button');\r\n  \t\t}\r\n\r\n  \t\tthis._icon = icon;\r\n\r\n  \t\tif (options.riseOnHover) {\r\n  \t\t\tthis.on({\r\n  \t\t\t\tmouseover: this._bringToFront,\r\n  \t\t\t\tmouseout: this._resetZIndex\r\n  \t\t\t});\r\n  \t\t}\r\n\r\n  \t\tif (this.options.autoPanOnFocus) {\r\n  \t\t\ton(icon, 'focus', this._panOnFocus, this);\r\n  \t\t}\r\n\r\n  \t\tvar newShadow = options.icon.createShadow(this._shadow),\r\n  \t\t    addShadow = false;\r\n\r\n  \t\tif (newShadow !== this._shadow) {\r\n  \t\t\tthis._removeShadow();\r\n  \t\t\taddShadow = true;\r\n  \t\t}\r\n\r\n  \t\tif (newShadow) {\r\n  \t\t\taddClass(newShadow, classToAdd);\r\n  \t\t\tnewShadow.alt = '';\r\n  \t\t}\r\n  \t\tthis._shadow = newShadow;\r\n\r\n\r\n  \t\tif (options.opacity < 1) {\r\n  \t\t\tthis._updateOpacity();\r\n  \t\t}\r\n\r\n\r\n  \t\tif (addIcon) {\r\n  \t\t\tthis.getPane().appendChild(this._icon);\r\n  \t\t}\r\n  \t\tthis._initInteraction();\r\n  \t\tif (newShadow && addShadow) {\r\n  \t\t\tthis.getPane(options.shadowPane).appendChild(this._shadow);\r\n  \t\t}\r\n  \t},\r\n\r\n  \t_removeIcon: function () {\r\n  \t\tif (this.options.riseOnHover) {\r\n  \t\t\tthis.off({\r\n  \t\t\t\tmouseover: this._bringToFront,\r\n  \t\t\t\tmouseout: this._resetZIndex\r\n  \t\t\t});\r\n  \t\t}\r\n\r\n  \t\tif (this.options.autoPanOnFocus) {\r\n  \t\t\toff(this._icon, 'focus', this._panOnFocus, this);\r\n  \t\t}\r\n\r\n  \t\tremove(this._icon);\r\n  \t\tthis.removeInteractiveTarget(this._icon);\r\n\r\n  \t\tthis._icon = null;\r\n  \t},\r\n\r\n  \t_removeShadow: function () {\r\n  \t\tif (this._shadow) {\r\n  \t\t\tremove(this._shadow);\r\n  \t\t}\r\n  \t\tthis._shadow = null;\r\n  \t},\r\n\r\n  \t_setPos: function (pos) {\r\n\r\n  \t\tif (this._icon) {\r\n  \t\t\tsetPosition(this._icon, pos);\r\n  \t\t}\r\n\r\n  \t\tif (this._shadow) {\r\n  \t\t\tsetPosition(this._shadow, pos);\r\n  \t\t}\r\n\r\n  \t\tthis._zIndex = pos.y + this.options.zIndexOffset;\r\n\r\n  \t\tthis._resetZIndex();\r\n  \t},\r\n\r\n  \t_updateZIndex: function (offset) {\r\n  \t\tif (this._icon) {\r\n  \t\t\tthis._icon.style.zIndex = this._zIndex + offset;\r\n  \t\t}\r\n  \t},\r\n\r\n  \t_animateZoom: function (opt) {\r\n  \t\tvar pos = this._map._latLngToNewLayerPoint(this._latlng, opt.zoom, opt.center).round();\r\n\r\n  \t\tthis._setPos(pos);\r\n  \t},\r\n\r\n  \t_initInteraction: function () {\r\n\r\n  \t\tif (!this.options.interactive) { return; }\r\n\r\n  \t\taddClass(this._icon, 'leaflet-interactive');\r\n\r\n  \t\tthis.addInteractiveTarget(this._icon);\r\n\r\n  \t\tif (MarkerDrag) {\r\n  \t\t\tvar draggable = this.options.draggable;\r\n  \t\t\tif (this.dragging) {\r\n  \t\t\t\tdraggable = this.dragging.enabled();\r\n  \t\t\t\tthis.dragging.disable();\r\n  \t\t\t}\r\n\r\n  \t\t\tthis.dragging = new MarkerDrag(this);\r\n\r\n  \t\t\tif (draggable) {\r\n  \t\t\t\tthis.dragging.enable();\r\n  \t\t\t}\r\n  \t\t}\r\n  \t},\r\n\r\n  \t// @method setOpacity(opacity: Number): this\r\n  \t// Changes the opacity of the marker.\r\n  \tsetOpacity: function (opacity) {\r\n  \t\tthis.options.opacity = opacity;\r\n  \t\tif (this._map) {\r\n  \t\t\tthis._updateOpacity();\r\n  \t\t}\r\n\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t_updateOpacity: function () {\r\n  \t\tvar opacity = this.options.opacity;\r\n\r\n  \t\tif (this._icon) {\r\n  \t\t\tsetOpacity(this._icon, opacity);\r\n  \t\t}\r\n\r\n  \t\tif (this._shadow) {\r\n  \t\t\tsetOpacity(this._shadow, opacity);\r\n  \t\t}\r\n  \t},\r\n\r\n  \t_bringToFront: function () {\r\n  \t\tthis._updateZIndex(this.options.riseOffset);\r\n  \t},\r\n\r\n  \t_resetZIndex: function () {\r\n  \t\tthis._updateZIndex(0);\r\n  \t},\r\n\r\n  \t_panOnFocus: function () {\r\n  \t\tvar map = this._map;\r\n  \t\tif (!map) { return; }\r\n\r\n  \t\tvar iconOpts = this.options.icon.options;\r\n  \t\tvar size = iconOpts.iconSize ? toPoint(iconOpts.iconSize) : toPoint(0, 0);\r\n  \t\tvar anchor = iconOpts.iconAnchor ? toPoint(iconOpts.iconAnchor) : toPoint(0, 0);\r\n\r\n  \t\tmap.panInside(this._latlng, {\r\n  \t\t\tpaddingTopLeft: anchor,\r\n  \t\t\tpaddingBottomRight: size.subtract(anchor)\r\n  \t\t});\r\n  \t},\r\n\r\n  \t_getPopupAnchor: function () {\r\n  \t\treturn this.options.icon.options.popupAnchor;\r\n  \t},\r\n\r\n  \t_getTooltipAnchor: function () {\r\n  \t\treturn this.options.icon.options.tooltipAnchor;\r\n  \t}\r\n  });\r\n\r\n\r\n  // factory L.marker(latlng: LatLng, options? : Marker options)\r\n\r\n  // @factory L.marker(latlng: LatLng, options? : Marker options)\r\n  // Instantiates a Marker object given a geographical point and optionally an options object.\r\n  function marker(latlng, options) {\r\n  \treturn new Marker(latlng, options);\r\n  }\n\n  /*\n   * @class Path\n   * @aka L.Path\n   * @inherits Interactive layer\n   *\n   * An abstract class that contains options and constants shared between vector\n   * overlays (Polygon, Polyline, Circle). Do not use it directly. Extends `Layer`.\n   */\n\n  var Path = Layer.extend({\n\n  \t// @section\n  \t// @aka Path options\n  \toptions: {\n  \t\t// @option stroke: Boolean = true\n  \t\t// Whether to draw stroke along the path. Set it to `false` to disable borders on polygons or circles.\n  \t\tstroke: true,\n\n  \t\t// @option color: String = '#3388ff'\n  \t\t// Stroke color\n  \t\tcolor: '#3388ff',\n\n  \t\t// @option weight: Number = 3\n  \t\t// Stroke width in pixels\n  \t\tweight: 3,\n\n  \t\t// @option opacity: Number = 1.0\n  \t\t// Stroke opacity\n  \t\topacity: 1,\n\n  \t\t// @option lineCap: String= 'round'\n  \t\t// A string that defines [shape to be used at the end](https://developer.mozilla.org/docs/Web/SVG/Attribute/stroke-linecap) of the stroke.\n  \t\tlineCap: 'round',\n\n  \t\t// @option lineJoin: String = 'round'\n  \t\t// A string that defines [shape to be used at the corners](https://developer.mozilla.org/docs/Web/SVG/Attribute/stroke-linejoin) of the stroke.\n  \t\tlineJoin: 'round',\n\n  \t\t// @option dashArray: String = null\n  \t\t// A string that defines the stroke [dash pattern](https://developer.mozilla.org/docs/Web/SVG/Attribute/stroke-dasharray). Doesn't work on `Canvas`-powered layers in [some old browsers](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/setLineDash#Browser_compatibility).\n  \t\tdashArray: null,\n\n  \t\t// @option dashOffset: String = null\n  \t\t// A string that defines the [distance into the dash pattern to start the dash](https://developer.mozilla.org/docs/Web/SVG/Attribute/stroke-dashoffset). Doesn't work on `Canvas`-powered layers in [some old browsers](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/setLineDash#Browser_compatibility).\n  \t\tdashOffset: null,\n\n  \t\t// @option fill: Boolean = depends\n  \t\t// Whether to fill the path with color. Set it to `false` to disable filling on polygons or circles.\n  \t\tfill: false,\n\n  \t\t// @option fillColor: String = *\n  \t\t// Fill color. Defaults to the value of the [`color`](#path-color) option\n  \t\tfillColor: null,\n\n  \t\t// @option fillOpacity: Number = 0.2\n  \t\t// Fill opacity.\n  \t\tfillOpacity: 0.2,\n\n  \t\t// @option fillRule: String = 'evenodd'\n  \t\t// A string that defines [how the inside of a shape](https://developer.mozilla.org/docs/Web/SVG/Attribute/fill-rule) is determined.\n  \t\tfillRule: 'evenodd',\n\n  \t\t// className: '',\n\n  \t\t// Option inherited from \"Interactive layer\" abstract class\n  \t\tinteractive: true,\n\n  \t\t// @option bubblingMouseEvents: Boolean = true\n  \t\t// When `true`, a mouse event on this path will trigger the same event on the map\n  \t\t// (unless [`L.DomEvent.stopPropagation`](#domevent-stoppropagation) is used).\n  \t\tbubblingMouseEvents: true\n  \t},\n\n  \tbeforeAdd: function (map) {\n  \t\t// Renderer is set here because we need to call renderer.getEvents\n  \t\t// before this.getEvents.\n  \t\tthis._renderer = map.getRenderer(this);\n  \t},\n\n  \tonAdd: function () {\n  \t\tthis._renderer._initPath(this);\n  \t\tthis._reset();\n  \t\tthis._renderer._addPath(this);\n  \t},\n\n  \tonRemove: function () {\n  \t\tthis._renderer._removePath(this);\n  \t},\n\n  \t// @method redraw(): this\n  \t// Redraws the layer. Sometimes useful after you changed the coordinates that the path uses.\n  \tredraw: function () {\n  \t\tif (this._map) {\n  \t\t\tthis._renderer._updatePath(this);\n  \t\t}\n  \t\treturn this;\n  \t},\n\n  \t// @method setStyle(style: Path options): this\n  \t// Changes the appearance of a Path based on the options in the `Path options` object.\n  \tsetStyle: function (style) {\n  \t\tsetOptions(this, style);\n  \t\tif (this._renderer) {\n  \t\t\tthis._renderer._updateStyle(this);\n  \t\t\tif (this.options.stroke && style && Object.prototype.hasOwnProperty.call(style, 'weight')) {\n  \t\t\t\tthis._updateBounds();\n  \t\t\t}\n  \t\t}\n  \t\treturn this;\n  \t},\n\n  \t// @method bringToFront(): this\n  \t// Brings the layer to the top of all path layers.\n  \tbringToFront: function () {\n  \t\tif (this._renderer) {\n  \t\t\tthis._renderer._bringToFront(this);\n  \t\t}\n  \t\treturn this;\n  \t},\n\n  \t// @method bringToBack(): this\n  \t// Brings the layer to the bottom of all path layers.\n  \tbringToBack: function () {\n  \t\tif (this._renderer) {\n  \t\t\tthis._renderer._bringToBack(this);\n  \t\t}\n  \t\treturn this;\n  \t},\n\n  \tgetElement: function () {\n  \t\treturn this._path;\n  \t},\n\n  \t_reset: function () {\n  \t\t// defined in child classes\n  \t\tthis._project();\n  \t\tthis._update();\n  \t},\n\n  \t_clickTolerance: function () {\n  \t\t// used when doing hit detection for Canvas layers\n  \t\treturn (this.options.stroke ? this.options.weight / 2 : 0) +\n  \t\t  (this._renderer.options.tolerance || 0);\n  \t}\n  });\n\n  /*\n   * @class CircleMarker\n   * @aka L.CircleMarker\n   * @inherits Path\n   *\n   * A circle of a fixed size with radius specified in pixels. Extends `Path`.\n   */\n\n  var CircleMarker = Path.extend({\n\n  \t// @section\n  \t// @aka CircleMarker options\n  \toptions: {\n  \t\tfill: true,\n\n  \t\t// @option radius: Number = 10\n  \t\t// Radius of the circle marker, in pixels\n  \t\tradius: 10\n  \t},\n\n  \tinitialize: function (latlng, options) {\n  \t\tsetOptions(this, options);\n  \t\tthis._latlng = toLatLng(latlng);\n  \t\tthis._radius = this.options.radius;\n  \t},\n\n  \t// @method setLatLng(latLng: LatLng): this\n  \t// Sets the position of a circle marker to a new location.\n  \tsetLatLng: function (latlng) {\n  \t\tvar oldLatLng = this._latlng;\n  \t\tthis._latlng = toLatLng(latlng);\n  \t\tthis.redraw();\n\n  \t\t// @event move: Event\n  \t\t// Fired when the marker is moved via [`setLatLng`](#circlemarker-setlatlng). Old and new coordinates are included in event arguments as `oldLatLng`, `latlng`.\n  \t\treturn this.fire('move', {oldLatLng: oldLatLng, latlng: this._latlng});\n  \t},\n\n  \t// @method getLatLng(): LatLng\n  \t// Returns the current geographical position of the circle marker\n  \tgetLatLng: function () {\n  \t\treturn this._latlng;\n  \t},\n\n  \t// @method setRadius(radius: Number): this\n  \t// Sets the radius of a circle marker. Units are in pixels.\n  \tsetRadius: function (radius) {\n  \t\tthis.options.radius = this._radius = radius;\n  \t\treturn this.redraw();\n  \t},\n\n  \t// @method getRadius(): Number\n  \t// Returns the current radius of the circle\n  \tgetRadius: function () {\n  \t\treturn this._radius;\n  \t},\n\n  \tsetStyle : function (options) {\n  \t\tvar radius = options && options.radius || this._radius;\n  \t\tPath.prototype.setStyle.call(this, options);\n  \t\tthis.setRadius(radius);\n  \t\treturn this;\n  \t},\n\n  \t_project: function () {\n  \t\tthis._point = this._map.latLngToLayerPoint(this._latlng);\n  \t\tthis._updateBounds();\n  \t},\n\n  \t_updateBounds: function () {\n  \t\tvar r = this._radius,\n  \t\t    r2 = this._radiusY || r,\n  \t\t    w = this._clickTolerance(),\n  \t\t    p = [r + w, r2 + w];\n  \t\tthis._pxBounds = new Bounds(this._point.subtract(p), this._point.add(p));\n  \t},\n\n  \t_update: function () {\n  \t\tif (this._map) {\n  \t\t\tthis._updatePath();\n  \t\t}\n  \t},\n\n  \t_updatePath: function () {\n  \t\tthis._renderer._updateCircle(this);\n  \t},\n\n  \t_empty: function () {\n  \t\treturn this._radius && !this._renderer._bounds.intersects(this._pxBounds);\n  \t},\n\n  \t// Needed by the `Canvas` renderer for interactivity\n  \t_containsPoint: function (p) {\n  \t\treturn p.distanceTo(this._point) <= this._radius + this._clickTolerance();\n  \t}\n  });\n\n\n  // @factory L.circleMarker(latlng: LatLng, options?: CircleMarker options)\n  // Instantiates a circle marker object given a geographical point, and an optional options object.\n  function circleMarker(latlng, options) {\n  \treturn new CircleMarker(latlng, options);\n  }\n\n  /*\n   * @class Circle\n   * @aka L.Circle\n   * @inherits CircleMarker\n   *\n   * A class for drawing circle overlays on a map. Extends `CircleMarker`.\n   *\n   * It's an approximation and starts to diverge from a real circle closer to poles (due to projection distortion).\n   *\n   * @example\n   *\n   * ```js\n   * L.circle([50.5, 30.5], {radius: 200}).addTo(map);\n   * ```\n   */\n\n  var Circle = CircleMarker.extend({\n\n  \tinitialize: function (latlng, options, legacyOptions) {\n  \t\tif (typeof options === 'number') {\n  \t\t\t// Backwards compatibility with 0.7.x factory (latlng, radius, options?)\n  \t\t\toptions = extend({}, legacyOptions, {radius: options});\n  \t\t}\n  \t\tsetOptions(this, options);\n  \t\tthis._latlng = toLatLng(latlng);\n\n  \t\tif (isNaN(this.options.radius)) { throw new Error('Circle radius cannot be NaN'); }\n\n  \t\t// @section\n  \t\t// @aka Circle options\n  \t\t// @option radius: Number; Radius of the circle, in meters.\n  \t\tthis._mRadius = this.options.radius;\n  \t},\n\n  \t// @method setRadius(radius: Number): this\n  \t// Sets the radius of a circle. Units are in meters.\n  \tsetRadius: function (radius) {\n  \t\tthis._mRadius = radius;\n  \t\treturn this.redraw();\n  \t},\n\n  \t// @method getRadius(): Number\n  \t// Returns the current radius of a circle. Units are in meters.\n  \tgetRadius: function () {\n  \t\treturn this._mRadius;\n  \t},\n\n  \t// @method getBounds(): LatLngBounds\n  \t// Returns the `LatLngBounds` of the path.\n  \tgetBounds: function () {\n  \t\tvar half = [this._radius, this._radiusY || this._radius];\n\n  \t\treturn new LatLngBounds(\n  \t\t\tthis._map.layerPointToLatLng(this._point.subtract(half)),\n  \t\t\tthis._map.layerPointToLatLng(this._point.add(half)));\n  \t},\n\n  \tsetStyle: Path.prototype.setStyle,\n\n  \t_project: function () {\n\n  \t\tvar lng = this._latlng.lng,\n  \t\t    lat = this._latlng.lat,\n  \t\t    map = this._map,\n  \t\t    crs = map.options.crs;\n\n  \t\tif (crs.distance === Earth.distance) {\n  \t\t\tvar d = Math.PI / 180,\n  \t\t\t    latR = (this._mRadius / Earth.R) / d,\n  \t\t\t    top = map.project([lat + latR, lng]),\n  \t\t\t    bottom = map.project([lat - latR, lng]),\n  \t\t\t    p = top.add(bottom).divideBy(2),\n  \t\t\t    lat2 = map.unproject(p).lat,\n  \t\t\t    lngR = Math.acos((Math.cos(latR * d) - Math.sin(lat * d) * Math.sin(lat2 * d)) /\n  \t\t\t            (Math.cos(lat * d) * Math.cos(lat2 * d))) / d;\n\n  \t\t\tif (isNaN(lngR) || lngR === 0) {\n  \t\t\t\tlngR = latR / Math.cos(Math.PI / 180 * lat); // Fallback for edge case, #2425\n  \t\t\t}\n\n  \t\t\tthis._point = p.subtract(map.getPixelOrigin());\n  \t\t\tthis._radius = isNaN(lngR) ? 0 : p.x - map.project([lat2, lng - lngR]).x;\n  \t\t\tthis._radiusY = p.y - top.y;\n\n  \t\t} else {\n  \t\t\tvar latlng2 = crs.unproject(crs.project(this._latlng).subtract([this._mRadius, 0]));\n\n  \t\t\tthis._point = map.latLngToLayerPoint(this._latlng);\n  \t\t\tthis._radius = this._point.x - map.latLngToLayerPoint(latlng2).x;\n  \t\t}\n\n  \t\tthis._updateBounds();\n  \t}\n  });\n\n  // @factory L.circle(latlng: LatLng, options?: Circle options)\n  // Instantiates a circle object given a geographical point, and an options object\n  // which contains the circle radius.\n  // @alternative\n  // @factory L.circle(latlng: LatLng, radius: Number, options?: Circle options)\n  // Obsolete way of instantiating a circle, for compatibility with 0.7.x code.\n  // Do not use in new applications or plugins.\n  function circle(latlng, options, legacyOptions) {\n  \treturn new Circle(latlng, options, legacyOptions);\n  }\n\n  /*\n   * @class Polyline\n   * @aka L.Polyline\n   * @inherits Path\n   *\n   * A class for drawing polyline overlays on a map. Extends `Path`.\n   *\n   * @example\n   *\n   * ```js\n   * // create a red polyline from an array of LatLng points\n   * var latlngs = [\n   * \t[45.51, -122.68],\n   * \t[37.77, -122.43],\n   * \t[34.04, -118.2]\n   * ];\n   *\n   * var polyline = L.polyline(latlngs, {color: 'red'}).addTo(map);\n   *\n   * // zoom the map to the polyline\n   * map.fitBounds(polyline.getBounds());\n   * ```\n   *\n   * You can also pass a multi-dimensional array to represent a `MultiPolyline` shape:\n   *\n   * ```js\n   * // create a red polyline from an array of arrays of LatLng points\n   * var latlngs = [\n   * \t[[45.51, -122.68],\n   * \t [37.77, -122.43],\n   * \t [34.04, -118.2]],\n   * \t[[40.78, -73.91],\n   * \t [41.83, -87.62],\n   * \t [32.76, -96.72]]\n   * ];\n   * ```\n   */\n\n\n  var Polyline = Path.extend({\n\n  \t// @section\n  \t// @aka Polyline options\n  \toptions: {\n  \t\t// @option smoothFactor: Number = 1.0\n  \t\t// How much to simplify the polyline on each zoom level. More means\n  \t\t// better performance and smoother look, and less means more accurate representation.\n  \t\tsmoothFactor: 1.0,\n\n  \t\t// @option noClip: Boolean = false\n  \t\t// Disable polyline clipping.\n  \t\tnoClip: false\n  \t},\n\n  \tinitialize: function (latlngs, options) {\n  \t\tsetOptions(this, options);\n  \t\tthis._setLatLngs(latlngs);\n  \t},\n\n  \t// @method getLatLngs(): LatLng[]\n  \t// Returns an array of the points in the path, or nested arrays of points in case of multi-polyline.\n  \tgetLatLngs: function () {\n  \t\treturn this._latlngs;\n  \t},\n\n  \t// @method setLatLngs(latlngs: LatLng[]): this\n  \t// Replaces all the points in the polyline with the given array of geographical points.\n  \tsetLatLngs: function (latlngs) {\n  \t\tthis._setLatLngs(latlngs);\n  \t\treturn this.redraw();\n  \t},\n\n  \t// @method isEmpty(): Boolean\n  \t// Returns `true` if the Polyline has no LatLngs.\n  \tisEmpty: function () {\n  \t\treturn !this._latlngs.length;\n  \t},\n\n  \t// @method closestLayerPoint(p: Point): Point\n  \t// Returns the point closest to `p` on the Polyline.\n  \tclosestLayerPoint: function (p) {\n  \t\tvar minDistance = Infinity,\n  \t\t    minPoint = null,\n  \t\t    closest = _sqClosestPointOnSegment,\n  \t\t    p1, p2;\n\n  \t\tfor (var j = 0, jLen = this._parts.length; j < jLen; j++) {\n  \t\t\tvar points = this._parts[j];\n\n  \t\t\tfor (var i = 1, len = points.length; i < len; i++) {\n  \t\t\t\tp1 = points[i - 1];\n  \t\t\t\tp2 = points[i];\n\n  \t\t\t\tvar sqDist = closest(p, p1, p2, true);\n\n  \t\t\t\tif (sqDist < minDistance) {\n  \t\t\t\t\tminDistance = sqDist;\n  \t\t\t\t\tminPoint = closest(p, p1, p2);\n  \t\t\t\t}\n  \t\t\t}\n  \t\t}\n  \t\tif (minPoint) {\n  \t\t\tminPoint.distance = Math.sqrt(minDistance);\n  \t\t}\n  \t\treturn minPoint;\n  \t},\n\n  \t// @method getCenter(): LatLng\n  \t// Returns the center ([centroid](https://en.wikipedia.org/wiki/Centroid)) of the polyline.\n  \tgetCenter: function () {\n  \t\t// throws error when not yet added to map as this center calculation requires projected coordinates\n  \t\tif (!this._map) {\n  \t\t\tthrow new Error('Must add layer to map before using getCenter()');\n  \t\t}\n  \t\treturn polylineCenter(this._defaultShape(), this._map.options.crs);\n  \t},\n\n  \t// @method getBounds(): LatLngBounds\n  \t// Returns the `LatLngBounds` of the path.\n  \tgetBounds: function () {\n  \t\treturn this._bounds;\n  \t},\n\n  \t// @method addLatLng(latlng: LatLng, latlngs?: LatLng[]): this\n  \t// Adds a given point to the polyline. By default, adds to the first ring of\n  \t// the polyline in case of a multi-polyline, but can be overridden by passing\n  \t// a specific ring as a LatLng array (that you can earlier access with [`getLatLngs`](#polyline-getlatlngs)).\n  \taddLatLng: function (latlng, latlngs) {\n  \t\tlatlngs = latlngs || this._defaultShape();\n  \t\tlatlng = toLatLng(latlng);\n  \t\tlatlngs.push(latlng);\n  \t\tthis._bounds.extend(latlng);\n  \t\treturn this.redraw();\n  \t},\n\n  \t_setLatLngs: function (latlngs) {\n  \t\tthis._bounds = new LatLngBounds();\n  \t\tthis._latlngs = this._convertLatLngs(latlngs);\n  \t},\n\n  \t_defaultShape: function () {\n  \t\treturn isFlat(this._latlngs) ? this._latlngs : this._latlngs[0];\n  \t},\n\n  \t// recursively convert latlngs input into actual LatLng instances; calculate bounds along the way\n  \t_convertLatLngs: function (latlngs) {\n  \t\tvar result = [],\n  \t\t    flat = isFlat(latlngs);\n\n  \t\tfor (var i = 0, len = latlngs.length; i < len; i++) {\n  \t\t\tif (flat) {\n  \t\t\t\tresult[i] = toLatLng(latlngs[i]);\n  \t\t\t\tthis._bounds.extend(result[i]);\n  \t\t\t} else {\n  \t\t\t\tresult[i] = this._convertLatLngs(latlngs[i]);\n  \t\t\t}\n  \t\t}\n\n  \t\treturn result;\n  \t},\n\n  \t_project: function () {\n  \t\tvar pxBounds = new Bounds();\n  \t\tthis._rings = [];\n  \t\tthis._projectLatlngs(this._latlngs, this._rings, pxBounds);\n\n  \t\tif (this._bounds.isValid() && pxBounds.isValid()) {\n  \t\t\tthis._rawPxBounds = pxBounds;\n  \t\t\tthis._updateBounds();\n  \t\t}\n  \t},\n\n  \t_updateBounds: function () {\n  \t\tvar w = this._clickTolerance(),\n  \t\t    p = new Point(w, w);\n\n  \t\tif (!this._rawPxBounds) {\n  \t\t\treturn;\n  \t\t}\n\n  \t\tthis._pxBounds = new Bounds([\n  \t\t\tthis._rawPxBounds.min.subtract(p),\n  \t\t\tthis._rawPxBounds.max.add(p)\n  \t\t]);\n  \t},\n\n  \t// recursively turns latlngs into a set of rings with projected coordinates\n  \t_projectLatlngs: function (latlngs, result, projectedBounds) {\n  \t\tvar flat = latlngs[0] instanceof LatLng,\n  \t\t    len = latlngs.length,\n  \t\t    i, ring;\n\n  \t\tif (flat) {\n  \t\t\tring = [];\n  \t\t\tfor (i = 0; i < len; i++) {\n  \t\t\t\tring[i] = this._map.latLngToLayerPoint(latlngs[i]);\n  \t\t\t\tprojectedBounds.extend(ring[i]);\n  \t\t\t}\n  \t\t\tresult.push(ring);\n  \t\t} else {\n  \t\t\tfor (i = 0; i < len; i++) {\n  \t\t\t\tthis._projectLatlngs(latlngs[i], result, projectedBounds);\n  \t\t\t}\n  \t\t}\n  \t},\n\n  \t// clip polyline by renderer bounds so that we have less to render for performance\n  \t_clipPoints: function () {\n  \t\tvar bounds = this._renderer._bounds;\n\n  \t\tthis._parts = [];\n  \t\tif (!this._pxBounds || !this._pxBounds.intersects(bounds)) {\n  \t\t\treturn;\n  \t\t}\n\n  \t\tif (this.options.noClip) {\n  \t\t\tthis._parts = this._rings;\n  \t\t\treturn;\n  \t\t}\n\n  \t\tvar parts = this._parts,\n  \t\t    i, j, k, len, len2, segment, points;\n\n  \t\tfor (i = 0, k = 0, len = this._rings.length; i < len; i++) {\n  \t\t\tpoints = this._rings[i];\n\n  \t\t\tfor (j = 0, len2 = points.length; j < len2 - 1; j++) {\n  \t\t\t\tsegment = clipSegment(points[j], points[j + 1], bounds, j, true);\n\n  \t\t\t\tif (!segment) { continue; }\n\n  \t\t\t\tparts[k] = parts[k] || [];\n  \t\t\t\tparts[k].push(segment[0]);\n\n  \t\t\t\t// if segment goes out of screen, or it's the last one, it's the end of the line part\n  \t\t\t\tif ((segment[1] !== points[j + 1]) || (j === len2 - 2)) {\n  \t\t\t\t\tparts[k].push(segment[1]);\n  \t\t\t\t\tk++;\n  \t\t\t\t}\n  \t\t\t}\n  \t\t}\n  \t},\n\n  \t// simplify each clipped part of the polyline for performance\n  \t_simplifyPoints: function () {\n  \t\tvar parts = this._parts,\n  \t\t    tolerance = this.options.smoothFactor;\n\n  \t\tfor (var i = 0, len = parts.length; i < len; i++) {\n  \t\t\tparts[i] = simplify(parts[i], tolerance);\n  \t\t}\n  \t},\n\n  \t_update: function () {\n  \t\tif (!this._map) { return; }\n\n  \t\tthis._clipPoints();\n  \t\tthis._simplifyPoints();\n  \t\tthis._updatePath();\n  \t},\n\n  \t_updatePath: function () {\n  \t\tthis._renderer._updatePoly(this);\n  \t},\n\n  \t// Needed by the `Canvas` renderer for interactivity\n  \t_containsPoint: function (p, closed) {\n  \t\tvar i, j, k, len, len2, part,\n  \t\t    w = this._clickTolerance();\n\n  \t\tif (!this._pxBounds || !this._pxBounds.contains(p)) { return false; }\n\n  \t\t// hit detection for polylines\n  \t\tfor (i = 0, len = this._parts.length; i < len; i++) {\n  \t\t\tpart = this._parts[i];\n\n  \t\t\tfor (j = 0, len2 = part.length, k = len2 - 1; j < len2; k = j++) {\n  \t\t\t\tif (!closed && (j === 0)) { continue; }\n\n  \t\t\t\tif (pointToSegmentDistance(p, part[k], part[j]) <= w) {\n  \t\t\t\t\treturn true;\n  \t\t\t\t}\n  \t\t\t}\n  \t\t}\n  \t\treturn false;\n  \t}\n  });\n\n  // @factory L.polyline(latlngs: LatLng[], options?: Polyline options)\n  // Instantiates a polyline object given an array of geographical points and\n  // optionally an options object. You can create a `Polyline` object with\n  // multiple separate lines (`MultiPolyline`) by passing an array of arrays\n  // of geographic points.\n  function polyline(latlngs, options) {\n  \treturn new Polyline(latlngs, options);\n  }\n\n  // Retrocompat. Allow plugins to support Leaflet versions before and after 1.1.\n  Polyline._flat = _flat;\n\n  /*\n   * @class Polygon\n   * @aka L.Polygon\n   * @inherits Polyline\n   *\n   * A class for drawing polygon overlays on a map. Extends `Polyline`.\n   *\n   * Note that points you pass when creating a polygon shouldn't have an additional last point equal to the first one — it's better to filter out such points.\n   *\n   *\n   * @example\n   *\n   * ```js\n   * // create a red polygon from an array of LatLng points\n   * var latlngs = [[37, -109.05],[41, -109.03],[41, -102.05],[37, -102.04]];\n   *\n   * var polygon = L.polygon(latlngs, {color: 'red'}).addTo(map);\n   *\n   * // zoom the map to the polygon\n   * map.fitBounds(polygon.getBounds());\n   * ```\n   *\n   * You can also pass an array of arrays of latlngs, with the first array representing the outer shape and the other arrays representing holes in the outer shape:\n   *\n   * ```js\n   * var latlngs = [\n   *   [[37, -109.05],[41, -109.03],[41, -102.05],[37, -102.04]], // outer ring\n   *   [[37.29, -108.58],[40.71, -108.58],[40.71, -102.50],[37.29, -102.50]] // hole\n   * ];\n   * ```\n   *\n   * Additionally, you can pass a multi-dimensional array to represent a MultiPolygon shape.\n   *\n   * ```js\n   * var latlngs = [\n   *   [ // first polygon\n   *     [[37, -109.05],[41, -109.03],[41, -102.05],[37, -102.04]], // outer ring\n   *     [[37.29, -108.58],[40.71, -108.58],[40.71, -102.50],[37.29, -102.50]] // hole\n   *   ],\n   *   [ // second polygon\n   *     [[41, -111.03],[45, -111.04],[45, -104.05],[41, -104.05]]\n   *   ]\n   * ];\n   * ```\n   */\n\n  var Polygon = Polyline.extend({\n\n  \toptions: {\n  \t\tfill: true\n  \t},\n\n  \tisEmpty: function () {\n  \t\treturn !this._latlngs.length || !this._latlngs[0].length;\n  \t},\n\n  \t// @method getCenter(): LatLng\n  \t// Returns the center ([centroid](http://en.wikipedia.org/wiki/Centroid)) of the Polygon.\n  \tgetCenter: function () {\n  \t\t// throws error when not yet added to map as this center calculation requires projected coordinates\n  \t\tif (!this._map) {\n  \t\t\tthrow new Error('Must add layer to map before using getCenter()');\n  \t\t}\n  \t\treturn polygonCenter(this._defaultShape(), this._map.options.crs);\n  \t},\n\n  \t_convertLatLngs: function (latlngs) {\n  \t\tvar result = Polyline.prototype._convertLatLngs.call(this, latlngs),\n  \t\t    len = result.length;\n\n  \t\t// remove last point if it equals first one\n  \t\tif (len >= 2 && result[0] instanceof LatLng && result[0].equals(result[len - 1])) {\n  \t\t\tresult.pop();\n  \t\t}\n  \t\treturn result;\n  \t},\n\n  \t_setLatLngs: function (latlngs) {\n  \t\tPolyline.prototype._setLatLngs.call(this, latlngs);\n  \t\tif (isFlat(this._latlngs)) {\n  \t\t\tthis._latlngs = [this._latlngs];\n  \t\t}\n  \t},\n\n  \t_defaultShape: function () {\n  \t\treturn isFlat(this._latlngs[0]) ? this._latlngs[0] : this._latlngs[0][0];\n  \t},\n\n  \t_clipPoints: function () {\n  \t\t// polygons need a different clipping algorithm so we redefine that\n\n  \t\tvar bounds = this._renderer._bounds,\n  \t\t    w = this.options.weight,\n  \t\t    p = new Point(w, w);\n\n  \t\t// increase clip padding by stroke width to avoid stroke on clip edges\n  \t\tbounds = new Bounds(bounds.min.subtract(p), bounds.max.add(p));\n\n  \t\tthis._parts = [];\n  \t\tif (!this._pxBounds || !this._pxBounds.intersects(bounds)) {\n  \t\t\treturn;\n  \t\t}\n\n  \t\tif (this.options.noClip) {\n  \t\t\tthis._parts = this._rings;\n  \t\t\treturn;\n  \t\t}\n\n  \t\tfor (var i = 0, len = this._rings.length, clipped; i < len; i++) {\n  \t\t\tclipped = clipPolygon(this._rings[i], bounds, true);\n  \t\t\tif (clipped.length) {\n  \t\t\t\tthis._parts.push(clipped);\n  \t\t\t}\n  \t\t}\n  \t},\n\n  \t_updatePath: function () {\n  \t\tthis._renderer._updatePoly(this, true);\n  \t},\n\n  \t// Needed by the `Canvas` renderer for interactivity\n  \t_containsPoint: function (p) {\n  \t\tvar inside = false,\n  \t\t    part, p1, p2, i, j, k, len, len2;\n\n  \t\tif (!this._pxBounds || !this._pxBounds.contains(p)) { return false; }\n\n  \t\t// ray casting algorithm for detecting if point is in polygon\n  \t\tfor (i = 0, len = this._parts.length; i < len; i++) {\n  \t\t\tpart = this._parts[i];\n\n  \t\t\tfor (j = 0, len2 = part.length, k = len2 - 1; j < len2; k = j++) {\n  \t\t\t\tp1 = part[j];\n  \t\t\t\tp2 = part[k];\n\n  \t\t\t\tif (((p1.y > p.y) !== (p2.y > p.y)) && (p.x < (p2.x - p1.x) * (p.y - p1.y) / (p2.y - p1.y) + p1.x)) {\n  \t\t\t\t\tinside = !inside;\n  \t\t\t\t}\n  \t\t\t}\n  \t\t}\n\n  \t\t// also check if it's on polygon stroke\n  \t\treturn inside || Polyline.prototype._containsPoint.call(this, p, true);\n  \t}\n\n  });\n\n\n  // @factory L.polygon(latlngs: LatLng[], options?: Polyline options)\n  function polygon(latlngs, options) {\n  \treturn new Polygon(latlngs, options);\n  }\n\n  /*\r\n   * @class GeoJSON\r\n   * @aka L.GeoJSON\r\n   * @inherits FeatureGroup\r\n   *\r\n   * Represents a GeoJSON object or an array of GeoJSON objects. Allows you to parse\r\n   * GeoJSON data and display it on the map. Extends `FeatureGroup`.\r\n   *\r\n   * @example\r\n   *\r\n   * ```js\r\n   * L.geoJSON(data, {\r\n   * \tstyle: function (feature) {\r\n   * \t\treturn {color: feature.properties.color};\r\n   * \t}\r\n   * }).bindPopup(function (layer) {\r\n   * \treturn layer.feature.properties.description;\r\n   * }).addTo(map);\r\n   * ```\r\n   */\r\n\r\n  var GeoJSON = FeatureGroup.extend({\r\n\r\n  \t/* @section\r\n  \t * @aka GeoJSON options\r\n  \t *\r\n  \t * @option pointToLayer: Function = *\r\n  \t * A `Function` defining how GeoJSON points spawn Leaflet layers. It is internally\r\n  \t * called when data is added, passing the GeoJSON point feature and its `LatLng`.\r\n  \t * The default is to spawn a default `Marker`:\r\n  \t * ```js\r\n  \t * function(geoJsonPoint, latlng) {\r\n  \t * \treturn L.marker(latlng);\r\n  \t * }\r\n  \t * ```\r\n  \t *\r\n  \t * @option style: Function = *\r\n  \t * A `Function` defining the `Path options` for styling GeoJSON lines and polygons,\r\n  \t * called internally when data is added.\r\n  \t * The default value is to not override any defaults:\r\n  \t * ```js\r\n  \t * function (geoJsonFeature) {\r\n  \t * \treturn {}\r\n  \t * }\r\n  \t * ```\r\n  \t *\r\n  \t * @option onEachFeature: Function = *\r\n  \t * A `Function` that will be called once for each created `Feature`, after it has\r\n  \t * been created and styled. Useful for attaching events and popups to features.\r\n  \t * The default is to do nothing with the newly created layers:\r\n  \t * ```js\r\n  \t * function (feature, layer) {}\r\n  \t * ```\r\n  \t *\r\n  \t * @option filter: Function = *\r\n  \t * A `Function` that will be used to decide whether to include a feature or not.\r\n  \t * The default is to include all features:\r\n  \t * ```js\r\n  \t * function (geoJsonFeature) {\r\n  \t * \treturn true;\r\n  \t * }\r\n  \t * ```\r\n  \t * Note: dynamically changing the `filter` option will have effect only on newly\r\n  \t * added data. It will _not_ re-evaluate already included features.\r\n  \t *\r\n  \t * @option coordsToLatLng: Function = *\r\n  \t * A `Function` that will be used for converting GeoJSON coordinates to `LatLng`s.\r\n  \t * The default is the `coordsToLatLng` static method.\r\n  \t *\r\n  \t * @option markersInheritOptions: Boolean = false\r\n  \t * Whether default Markers for \"Point\" type Features inherit from group options.\r\n  \t */\r\n\r\n  \tinitialize: function (geojson, options) {\r\n  \t\tsetOptions(this, options);\r\n\r\n  \t\tthis._layers = {};\r\n\r\n  \t\tif (geojson) {\r\n  \t\t\tthis.addData(geojson);\r\n  \t\t}\r\n  \t},\r\n\r\n  \t// @method addData( <GeoJSON> data ): this\r\n  \t// Adds a GeoJSON object to the layer.\r\n  \taddData: function (geojson) {\r\n  \t\tvar features = isArray(geojson) ? geojson : geojson.features,\r\n  \t\t    i, len, feature;\r\n\r\n  \t\tif (features) {\r\n  \t\t\tfor (i = 0, len = features.length; i < len; i++) {\r\n  \t\t\t\t// only add this if geometry or geometries are set and not null\r\n  \t\t\t\tfeature = features[i];\r\n  \t\t\t\tif (feature.geometries || feature.geometry || feature.features || feature.coordinates) {\r\n  \t\t\t\t\tthis.addData(feature);\r\n  \t\t\t\t}\r\n  \t\t\t}\r\n  \t\t\treturn this;\r\n  \t\t}\r\n\r\n  \t\tvar options = this.options;\r\n\r\n  \t\tif (options.filter && !options.filter(geojson)) { return this; }\r\n\r\n  \t\tvar layer = geometryToLayer(geojson, options);\r\n  \t\tif (!layer) {\r\n  \t\t\treturn this;\r\n  \t\t}\r\n  \t\tlayer.feature = asFeature(geojson);\r\n\r\n  \t\tlayer.defaultOptions = layer.options;\r\n  \t\tthis.resetStyle(layer);\r\n\r\n  \t\tif (options.onEachFeature) {\r\n  \t\t\toptions.onEachFeature(geojson, layer);\r\n  \t\t}\r\n\r\n  \t\treturn this.addLayer(layer);\r\n  \t},\r\n\r\n  \t// @method resetStyle( <Path> layer? ): this\r\n  \t// Resets the given vector layer's style to the original GeoJSON style, useful for resetting style after hover events.\r\n  \t// If `layer` is omitted, the style of all features in the current layer is reset.\r\n  \tresetStyle: function (layer) {\r\n  \t\tif (layer === undefined) {\r\n  \t\t\treturn this.eachLayer(this.resetStyle, this);\r\n  \t\t}\r\n  \t\t// reset any custom styles\r\n  \t\tlayer.options = extend({}, layer.defaultOptions);\r\n  \t\tthis._setLayerStyle(layer, this.options.style);\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method setStyle( <Function> style ): this\r\n  \t// Changes styles of GeoJSON vector layers with the given style function.\r\n  \tsetStyle: function (style) {\r\n  \t\treturn this.eachLayer(function (layer) {\r\n  \t\t\tthis._setLayerStyle(layer, style);\r\n  \t\t}, this);\r\n  \t},\r\n\r\n  \t_setLayerStyle: function (layer, style) {\r\n  \t\tif (layer.setStyle) {\r\n  \t\t\tif (typeof style === 'function') {\r\n  \t\t\t\tstyle = style(layer.feature);\r\n  \t\t\t}\r\n  \t\t\tlayer.setStyle(style);\r\n  \t\t}\r\n  \t}\r\n  });\r\n\r\n  // @section\r\n  // There are several static functions which can be called without instantiating L.GeoJSON:\r\n\r\n  // @function geometryToLayer(featureData: Object, options?: GeoJSON options): Layer\r\n  // Creates a `Layer` from a given GeoJSON feature. Can use a custom\r\n  // [`pointToLayer`](#geojson-pointtolayer) and/or [`coordsToLatLng`](#geojson-coordstolatlng)\r\n  // functions if provided as options.\r\n  function geometryToLayer(geojson, options) {\r\n\r\n  \tvar geometry = geojson.type === 'Feature' ? geojson.geometry : geojson,\r\n  \t    coords = geometry ? geometry.coordinates : null,\r\n  \t    layers = [],\r\n  \t    pointToLayer = options && options.pointToLayer,\r\n  \t    _coordsToLatLng = options && options.coordsToLatLng || coordsToLatLng,\r\n  \t    latlng, latlngs, i, len;\r\n\r\n  \tif (!coords && !geometry) {\r\n  \t\treturn null;\r\n  \t}\r\n\r\n  \tswitch (geometry.type) {\r\n  \tcase 'Point':\r\n  \t\tlatlng = _coordsToLatLng(coords);\r\n  \t\treturn _pointToLayer(pointToLayer, geojson, latlng, options);\r\n\r\n  \tcase 'MultiPoint':\r\n  \t\tfor (i = 0, len = coords.length; i < len; i++) {\r\n  \t\t\tlatlng = _coordsToLatLng(coords[i]);\r\n  \t\t\tlayers.push(_pointToLayer(pointToLayer, geojson, latlng, options));\r\n  \t\t}\r\n  \t\treturn new FeatureGroup(layers);\r\n\r\n  \tcase 'LineString':\r\n  \tcase 'MultiLineString':\r\n  \t\tlatlngs = coordsToLatLngs(coords, geometry.type === 'LineString' ? 0 : 1, _coordsToLatLng);\r\n  \t\treturn new Polyline(latlngs, options);\r\n\r\n  \tcase 'Polygon':\r\n  \tcase 'MultiPolygon':\r\n  \t\tlatlngs = coordsToLatLngs(coords, geometry.type === 'Polygon' ? 1 : 2, _coordsToLatLng);\r\n  \t\treturn new Polygon(latlngs, options);\r\n\r\n  \tcase 'GeometryCollection':\r\n  \t\tfor (i = 0, len = geometry.geometries.length; i < len; i++) {\r\n  \t\t\tvar geoLayer = geometryToLayer({\r\n  \t\t\t\tgeometry: geometry.geometries[i],\r\n  \t\t\t\ttype: 'Feature',\r\n  \t\t\t\tproperties: geojson.properties\r\n  \t\t\t}, options);\r\n\r\n  \t\t\tif (geoLayer) {\r\n  \t\t\t\tlayers.push(geoLayer);\r\n  \t\t\t}\r\n  \t\t}\r\n  \t\treturn new FeatureGroup(layers);\r\n\r\n  \tcase 'FeatureCollection':\r\n  \t\tfor (i = 0, len = geometry.features.length; i < len; i++) {\r\n  \t\t\tvar featureLayer = geometryToLayer(geometry.features[i], options);\r\n\r\n  \t\t\tif (featureLayer) {\r\n  \t\t\t\tlayers.push(featureLayer);\r\n  \t\t\t}\r\n  \t\t}\r\n  \t\treturn new FeatureGroup(layers);\r\n\r\n  \tdefault:\r\n  \t\tthrow new Error('Invalid GeoJSON object.');\r\n  \t}\r\n  }\r\n\r\n  function _pointToLayer(pointToLayerFn, geojson, latlng, options) {\r\n  \treturn pointToLayerFn ?\r\n  \t\tpointToLayerFn(geojson, latlng) :\r\n  \t\tnew Marker(latlng, options && options.markersInheritOptions && options);\r\n  }\r\n\r\n  // @function coordsToLatLng(coords: Array): LatLng\r\n  // Creates a `LatLng` object from an array of 2 numbers (longitude, latitude)\r\n  // or 3 numbers (longitude, latitude, altitude) used in GeoJSON for points.\r\n  function coordsToLatLng(coords) {\r\n  \treturn new LatLng(coords[1], coords[0], coords[2]);\r\n  }\r\n\r\n  // @function coordsToLatLngs(coords: Array, levelsDeep?: Number, coordsToLatLng?: Function): Array\r\n  // Creates a multidimensional array of `LatLng`s from a GeoJSON coordinates array.\r\n  // `levelsDeep` specifies the nesting level (0 is for an array of points, 1 for an array of arrays of points, etc., 0 by default).\r\n  // Can use a custom [`coordsToLatLng`](#geojson-coordstolatlng) function.\r\n  function coordsToLatLngs(coords, levelsDeep, _coordsToLatLng) {\r\n  \tvar latlngs = [];\r\n\r\n  \tfor (var i = 0, len = coords.length, latlng; i < len; i++) {\r\n  \t\tlatlng = levelsDeep ?\r\n  \t\t\tcoordsToLatLngs(coords[i], levelsDeep - 1, _coordsToLatLng) :\r\n  \t\t\t(_coordsToLatLng || coordsToLatLng)(coords[i]);\r\n\r\n  \t\tlatlngs.push(latlng);\r\n  \t}\r\n\r\n  \treturn latlngs;\r\n  }\r\n\r\n  // @function latLngToCoords(latlng: LatLng, precision?: Number|false): Array\r\n  // Reverse of [`coordsToLatLng`](#geojson-coordstolatlng)\r\n  // Coordinates values are rounded with [`formatNum`](#util-formatnum) function.\r\n  function latLngToCoords(latlng, precision) {\r\n  \tlatlng = toLatLng(latlng);\r\n  \treturn latlng.alt !== undefined ?\r\n  \t\t[formatNum(latlng.lng, precision), formatNum(latlng.lat, precision), formatNum(latlng.alt, precision)] :\r\n  \t\t[formatNum(latlng.lng, precision), formatNum(latlng.lat, precision)];\r\n  }\r\n\r\n  // @function latLngsToCoords(latlngs: Array, levelsDeep?: Number, closed?: Boolean, precision?: Number|false): Array\r\n  // Reverse of [`coordsToLatLngs`](#geojson-coordstolatlngs)\r\n  // `closed` determines whether the first point should be appended to the end of the array to close the feature, only used when `levelsDeep` is 0. False by default.\r\n  // Coordinates values are rounded with [`formatNum`](#util-formatnum) function.\r\n  function latLngsToCoords(latlngs, levelsDeep, closed, precision) {\r\n  \tvar coords = [];\r\n\r\n  \tfor (var i = 0, len = latlngs.length; i < len; i++) {\r\n  \t\t// Check for flat arrays required to ensure unbalanced arrays are correctly converted in recursion\r\n  \t\tcoords.push(levelsDeep ?\r\n  \t\t\tlatLngsToCoords(latlngs[i], isFlat(latlngs[i]) ? 0 : levelsDeep - 1, closed, precision) :\r\n  \t\t\tlatLngToCoords(latlngs[i], precision));\r\n  \t}\r\n\r\n  \tif (!levelsDeep && closed && coords.length > 0) {\r\n  \t\tcoords.push(coords[0].slice());\r\n  \t}\r\n\r\n  \treturn coords;\r\n  }\r\n\r\n  function getFeature(layer, newGeometry) {\r\n  \treturn layer.feature ?\r\n  \t\textend({}, layer.feature, {geometry: newGeometry}) :\r\n  \t\tasFeature(newGeometry);\r\n  }\r\n\r\n  // @function asFeature(geojson: Object): Object\r\n  // Normalize GeoJSON geometries/features into GeoJSON features.\r\n  function asFeature(geojson) {\r\n  \tif (geojson.type === 'Feature' || geojson.type === 'FeatureCollection') {\r\n  \t\treturn geojson;\r\n  \t}\r\n\r\n  \treturn {\r\n  \t\ttype: 'Feature',\r\n  \t\tproperties: {},\r\n  \t\tgeometry: geojson\r\n  \t};\r\n  }\r\n\r\n  var PointToGeoJSON = {\r\n  \ttoGeoJSON: function (precision) {\r\n  \t\treturn getFeature(this, {\r\n  \t\t\ttype: 'Point',\r\n  \t\t\tcoordinates: latLngToCoords(this.getLatLng(), precision)\r\n  \t\t});\r\n  \t}\r\n  };\r\n\r\n  // @namespace Marker\r\n  // @section Other methods\r\n  // @method toGeoJSON(precision?: Number|false): Object\r\n  // Coordinates values are rounded with [`formatNum`](#util-formatnum) function with given `precision`.\r\n  // Returns a [`GeoJSON`](https://en.wikipedia.org/wiki/GeoJSON) representation of the marker (as a GeoJSON `Point` Feature).\r\n  Marker.include(PointToGeoJSON);\r\n\r\n  // @namespace CircleMarker\r\n  // @method toGeoJSON(precision?: Number|false): Object\r\n  // Coordinates values are rounded with [`formatNum`](#util-formatnum) function with given `precision`.\r\n  // Returns a [`GeoJSON`](https://en.wikipedia.org/wiki/GeoJSON) representation of the circle marker (as a GeoJSON `Point` Feature).\r\n  Circle.include(PointToGeoJSON);\r\n  CircleMarker.include(PointToGeoJSON);\r\n\r\n\r\n  // @namespace Polyline\r\n  // @method toGeoJSON(precision?: Number|false): Object\r\n  // Coordinates values are rounded with [`formatNum`](#util-formatnum) function with given `precision`.\r\n  // Returns a [`GeoJSON`](https://en.wikipedia.org/wiki/GeoJSON) representation of the polyline (as a GeoJSON `LineString` or `MultiLineString` Feature).\r\n  Polyline.include({\r\n  \ttoGeoJSON: function (precision) {\r\n  \t\tvar multi = !isFlat(this._latlngs);\r\n\r\n  \t\tvar coords = latLngsToCoords(this._latlngs, multi ? 1 : 0, false, precision);\r\n\r\n  \t\treturn getFeature(this, {\r\n  \t\t\ttype: (multi ? 'Multi' : '') + 'LineString',\r\n  \t\t\tcoordinates: coords\r\n  \t\t});\r\n  \t}\r\n  });\r\n\r\n  // @namespace Polygon\r\n  // @method toGeoJSON(precision?: Number|false): Object\r\n  // Coordinates values are rounded with [`formatNum`](#util-formatnum) function with given `precision`.\r\n  // Returns a [`GeoJSON`](https://en.wikipedia.org/wiki/GeoJSON) representation of the polygon (as a GeoJSON `Polygon` or `MultiPolygon` Feature).\r\n  Polygon.include({\r\n  \ttoGeoJSON: function (precision) {\r\n  \t\tvar holes = !isFlat(this._latlngs),\r\n  \t\t    multi = holes && !isFlat(this._latlngs[0]);\r\n\r\n  \t\tvar coords = latLngsToCoords(this._latlngs, multi ? 2 : holes ? 1 : 0, true, precision);\r\n\r\n  \t\tif (!holes) {\r\n  \t\t\tcoords = [coords];\r\n  \t\t}\r\n\r\n  \t\treturn getFeature(this, {\r\n  \t\t\ttype: (multi ? 'Multi' : '') + 'Polygon',\r\n  \t\t\tcoordinates: coords\r\n  \t\t});\r\n  \t}\r\n  });\r\n\r\n\r\n  // @namespace LayerGroup\r\n  LayerGroup.include({\r\n  \ttoMultiPoint: function (precision) {\r\n  \t\tvar coords = [];\r\n\r\n  \t\tthis.eachLayer(function (layer) {\r\n  \t\t\tcoords.push(layer.toGeoJSON(precision).geometry.coordinates);\r\n  \t\t});\r\n\r\n  \t\treturn getFeature(this, {\r\n  \t\t\ttype: 'MultiPoint',\r\n  \t\t\tcoordinates: coords\r\n  \t\t});\r\n  \t},\r\n\r\n  \t// @method toGeoJSON(precision?: Number|false): Object\r\n  \t// Coordinates values are rounded with [`formatNum`](#util-formatnum) function with given `precision`.\r\n  \t// Returns a [`GeoJSON`](https://en.wikipedia.org/wiki/GeoJSON) representation of the layer group (as a GeoJSON `FeatureCollection`, `GeometryCollection`, or `MultiPoint`).\r\n  \ttoGeoJSON: function (precision) {\r\n\r\n  \t\tvar type = this.feature && this.feature.geometry && this.feature.geometry.type;\r\n\r\n  \t\tif (type === 'MultiPoint') {\r\n  \t\t\treturn this.toMultiPoint(precision);\r\n  \t\t}\r\n\r\n  \t\tvar isGeometryCollection = type === 'GeometryCollection',\r\n  \t\t    jsons = [];\r\n\r\n  \t\tthis.eachLayer(function (layer) {\r\n  \t\t\tif (layer.toGeoJSON) {\r\n  \t\t\t\tvar json = layer.toGeoJSON(precision);\r\n  \t\t\t\tif (isGeometryCollection) {\r\n  \t\t\t\t\tjsons.push(json.geometry);\r\n  \t\t\t\t} else {\r\n  \t\t\t\t\tvar feature = asFeature(json);\r\n  \t\t\t\t\t// Squash nested feature collections\r\n  \t\t\t\t\tif (feature.type === 'FeatureCollection') {\r\n  \t\t\t\t\t\tjsons.push.apply(jsons, feature.features);\r\n  \t\t\t\t\t} else {\r\n  \t\t\t\t\t\tjsons.push(feature);\r\n  \t\t\t\t\t}\r\n  \t\t\t\t}\r\n  \t\t\t}\r\n  \t\t});\r\n\r\n  \t\tif (isGeometryCollection) {\r\n  \t\t\treturn getFeature(this, {\r\n  \t\t\t\tgeometries: jsons,\r\n  \t\t\t\ttype: 'GeometryCollection'\r\n  \t\t\t});\r\n  \t\t}\r\n\r\n  \t\treturn {\r\n  \t\t\ttype: 'FeatureCollection',\r\n  \t\t\tfeatures: jsons\r\n  \t\t};\r\n  \t}\r\n  });\r\n\r\n  // @namespace GeoJSON\r\n  // @factory L.geoJSON(geojson?: Object, options?: GeoJSON options)\r\n  // Creates a GeoJSON layer. Optionally accepts an object in\r\n  // [GeoJSON format](https://tools.ietf.org/html/rfc7946) to display on the map\r\n  // (you can alternatively add it later with `addData` method) and an `options` object.\r\n  function geoJSON(geojson, options) {\r\n  \treturn new GeoJSON(geojson, options);\r\n  }\r\n\r\n  // Backward compatibility.\r\n  var geoJson = geoJSON;\n\n  /*\r\n   * @class ImageOverlay\r\n   * @aka L.ImageOverlay\r\n   * @inherits Interactive layer\r\n   *\r\n   * Used to load and display a single image over specific bounds of the map. Extends `Layer`.\r\n   *\r\n   * @example\r\n   *\r\n   * ```js\r\n   * var imageUrl = 'https://maps.lib.utexas.edu/maps/historical/newark_nj_1922.jpg',\r\n   * \timageBounds = [[40.712216, -74.22655], [40.773941, -74.12544]];\r\n   * L.imageOverlay(imageUrl, imageBounds).addTo(map);\r\n   * ```\r\n   */\r\n\r\n  var ImageOverlay = Layer.extend({\r\n\r\n  \t// @section\r\n  \t// @aka ImageOverlay options\r\n  \toptions: {\r\n  \t\t// @option opacity: Number = 1.0\r\n  \t\t// The opacity of the image overlay.\r\n  \t\topacity: 1,\r\n\r\n  \t\t// @option alt: String = ''\r\n  \t\t// Text for the `alt` attribute of the image (useful for accessibility).\r\n  \t\talt: '',\r\n\r\n  \t\t// @option interactive: Boolean = false\r\n  \t\t// If `true`, the image overlay will emit [mouse events](#interactive-layer) when clicked or hovered.\r\n  \t\tinteractive: false,\r\n\r\n  \t\t// @option crossOrigin: Boolean|String = false\r\n  \t\t// Whether the crossOrigin attribute will be added to the image.\r\n  \t\t// If a String is provided, the image will have its crossOrigin attribute set to the String provided. This is needed if you want to access image pixel data.\r\n  \t\t// Refer to [CORS Settings](https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_settings_attributes) for valid String values.\r\n  \t\tcrossOrigin: false,\r\n\r\n  \t\t// @option errorOverlayUrl: String = ''\r\n  \t\t// URL to the overlay image to show in place of the overlay that failed to load.\r\n  \t\terrorOverlayUrl: '',\r\n\r\n  \t\t// @option zIndex: Number = 1\r\n  \t\t// The explicit [zIndex](https://developer.mozilla.org/docs/Web/CSS/CSS_Positioning/Understanding_z_index) of the overlay layer.\r\n  \t\tzIndex: 1,\r\n\r\n  \t\t// @option className: String = ''\r\n  \t\t// A custom class name to assign to the image. Empty by default.\r\n  \t\tclassName: ''\r\n  \t},\r\n\r\n  \tinitialize: function (url, bounds, options) { // (String, LatLngBounds, Object)\r\n  \t\tthis._url = url;\r\n  \t\tthis._bounds = toLatLngBounds(bounds);\r\n\r\n  \t\tsetOptions(this, options);\r\n  \t},\r\n\r\n  \tonAdd: function () {\r\n  \t\tif (!this._image) {\r\n  \t\t\tthis._initImage();\r\n\r\n  \t\t\tif (this.options.opacity < 1) {\r\n  \t\t\t\tthis._updateOpacity();\r\n  \t\t\t}\r\n  \t\t}\r\n\r\n  \t\tif (this.options.interactive) {\r\n  \t\t\taddClass(this._image, 'leaflet-interactive');\r\n  \t\t\tthis.addInteractiveTarget(this._image);\r\n  \t\t}\r\n\r\n  \t\tthis.getPane().appendChild(this._image);\r\n  \t\tthis._reset();\r\n  \t},\r\n\r\n  \tonRemove: function () {\r\n  \t\tremove(this._image);\r\n  \t\tif (this.options.interactive) {\r\n  \t\t\tthis.removeInteractiveTarget(this._image);\r\n  \t\t}\r\n  \t},\r\n\r\n  \t// @method setOpacity(opacity: Number): this\r\n  \t// Sets the opacity of the overlay.\r\n  \tsetOpacity: function (opacity) {\r\n  \t\tthis.options.opacity = opacity;\r\n\r\n  \t\tif (this._image) {\r\n  \t\t\tthis._updateOpacity();\r\n  \t\t}\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \tsetStyle: function (styleOpts) {\r\n  \t\tif (styleOpts.opacity) {\r\n  \t\t\tthis.setOpacity(styleOpts.opacity);\r\n  \t\t}\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method bringToFront(): this\r\n  \t// Brings the layer to the top of all overlays.\r\n  \tbringToFront: function () {\r\n  \t\tif (this._map) {\r\n  \t\t\ttoFront(this._image);\r\n  \t\t}\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method bringToBack(): this\r\n  \t// Brings the layer to the bottom of all overlays.\r\n  \tbringToBack: function () {\r\n  \t\tif (this._map) {\r\n  \t\t\ttoBack(this._image);\r\n  \t\t}\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method setUrl(url: String): this\r\n  \t// Changes the URL of the image.\r\n  \tsetUrl: function (url) {\r\n  \t\tthis._url = url;\r\n\r\n  \t\tif (this._image) {\r\n  \t\t\tthis._image.src = url;\r\n  \t\t}\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method setBounds(bounds: LatLngBounds): this\r\n  \t// Update the bounds that this ImageOverlay covers\r\n  \tsetBounds: function (bounds) {\r\n  \t\tthis._bounds = toLatLngBounds(bounds);\r\n\r\n  \t\tif (this._map) {\r\n  \t\t\tthis._reset();\r\n  \t\t}\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \tgetEvents: function () {\r\n  \t\tvar events = {\r\n  \t\t\tzoom: this._reset,\r\n  \t\t\tviewreset: this._reset\r\n  \t\t};\r\n\r\n  \t\tif (this._zoomAnimated) {\r\n  \t\t\tevents.zoomanim = this._animateZoom;\r\n  \t\t}\r\n\r\n  \t\treturn events;\r\n  \t},\r\n\r\n  \t// @method setZIndex(value: Number): this\r\n  \t// Changes the [zIndex](#imageoverlay-zindex) of the image overlay.\r\n  \tsetZIndex: function (value) {\r\n  \t\tthis.options.zIndex = value;\r\n  \t\tthis._updateZIndex();\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method getBounds(): LatLngBounds\r\n  \t// Get the bounds that this ImageOverlay covers\r\n  \tgetBounds: function () {\r\n  \t\treturn this._bounds;\r\n  \t},\r\n\r\n  \t// @method getElement(): HTMLElement\r\n  \t// Returns the instance of [`HTMLImageElement`](https://developer.mozilla.org/docs/Web/API/HTMLImageElement)\r\n  \t// used by this overlay.\r\n  \tgetElement: function () {\r\n  \t\treturn this._image;\r\n  \t},\r\n\r\n  \t_initImage: function () {\r\n  \t\tvar wasElementSupplied = this._url.tagName === 'IMG';\r\n  \t\tvar img = this._image = wasElementSupplied ? this._url : create$1('img');\r\n\r\n  \t\taddClass(img, 'leaflet-image-layer');\r\n  \t\tif (this._zoomAnimated) { addClass(img, 'leaflet-zoom-animated'); }\r\n  \t\tif (this.options.className) { addClass(img, this.options.className); }\r\n\r\n  \t\timg.onselectstart = falseFn;\r\n  \t\timg.onmousemove = falseFn;\r\n\r\n  \t\t// @event load: Event\r\n  \t\t// Fired when the ImageOverlay layer has loaded its image\r\n  \t\timg.onload = bind(this.fire, this, 'load');\r\n  \t\timg.onerror = bind(this._overlayOnError, this, 'error');\r\n\r\n  \t\tif (this.options.crossOrigin || this.options.crossOrigin === '') {\r\n  \t\t\timg.crossOrigin = this.options.crossOrigin === true ? '' : this.options.crossOrigin;\r\n  \t\t}\r\n\r\n  \t\tif (this.options.zIndex) {\r\n  \t\t\tthis._updateZIndex();\r\n  \t\t}\r\n\r\n  \t\tif (wasElementSupplied) {\r\n  \t\t\tthis._url = img.src;\r\n  \t\t\treturn;\r\n  \t\t}\r\n\r\n  \t\timg.src = this._url;\r\n  \t\timg.alt = this.options.alt;\r\n  \t},\r\n\r\n  \t_animateZoom: function (e) {\r\n  \t\tvar scale = this._map.getZoomScale(e.zoom),\r\n  \t\t    offset = this._map._latLngBoundsToNewLayerBounds(this._bounds, e.zoom, e.center).min;\r\n\r\n  \t\tsetTransform(this._image, offset, scale);\r\n  \t},\r\n\r\n  \t_reset: function () {\r\n  \t\tvar image = this._image,\r\n  \t\t    bounds = new Bounds(\r\n  \t\t        this._map.latLngToLayerPoint(this._bounds.getNorthWest()),\r\n  \t\t        this._map.latLngToLayerPoint(this._bounds.getSouthEast())),\r\n  \t\t    size = bounds.getSize();\r\n\r\n  \t\tsetPosition(image, bounds.min);\r\n\r\n  \t\timage.style.width  = size.x + 'px';\r\n  \t\timage.style.height = size.y + 'px';\r\n  \t},\r\n\r\n  \t_updateOpacity: function () {\r\n  \t\tsetOpacity(this._image, this.options.opacity);\r\n  \t},\r\n\r\n  \t_updateZIndex: function () {\r\n  \t\tif (this._image && this.options.zIndex !== undefined && this.options.zIndex !== null) {\r\n  \t\t\tthis._image.style.zIndex = this.options.zIndex;\r\n  \t\t}\r\n  \t},\r\n\r\n  \t_overlayOnError: function () {\r\n  \t\t// @event error: Event\r\n  \t\t// Fired when the ImageOverlay layer fails to load its image\r\n  \t\tthis.fire('error');\r\n\r\n  \t\tvar errorUrl = this.options.errorOverlayUrl;\r\n  \t\tif (errorUrl && this._url !== errorUrl) {\r\n  \t\t\tthis._url = errorUrl;\r\n  \t\t\tthis._image.src = errorUrl;\r\n  \t\t}\r\n  \t},\r\n\r\n  \t// @method getCenter(): LatLng\r\n  \t// Returns the center of the ImageOverlay.\r\n  \tgetCenter: function () {\r\n  \t\treturn this._bounds.getCenter();\r\n  \t}\r\n  });\r\n\r\n  // @factory L.imageOverlay(imageUrl: String, bounds: LatLngBounds, options?: ImageOverlay options)\r\n  // Instantiates an image overlay object given the URL of the image and the\r\n  // geographical bounds it is tied to.\r\n  var imageOverlay = function (url, bounds, options) {\r\n  \treturn new ImageOverlay(url, bounds, options);\r\n  };\n\n  /*\r\n   * @class VideoOverlay\r\n   * @aka L.VideoOverlay\r\n   * @inherits ImageOverlay\r\n   *\r\n   * Used to load and display a video player over specific bounds of the map. Extends `ImageOverlay`.\r\n   *\r\n   * A video overlay uses the [`<video>`](https://developer.mozilla.org/docs/Web/HTML/Element/video)\r\n   * HTML5 element.\r\n   *\r\n   * @example\r\n   *\r\n   * ```js\r\n   * var videoUrl = 'https://www.mapbox.com/bites/00188/patricia_nasa.webm',\r\n   * \tvideoBounds = [[ 32, -130], [ 13, -100]];\r\n   * L.videoOverlay(videoUrl, videoBounds ).addTo(map);\r\n   * ```\r\n   */\r\n\r\n  var VideoOverlay = ImageOverlay.extend({\r\n\r\n  \t// @section\r\n  \t// @aka VideoOverlay options\r\n  \toptions: {\r\n  \t\t// @option autoplay: Boolean = true\r\n  \t\t// Whether the video starts playing automatically when loaded.\r\n  \t\t// On some browsers autoplay will only work with `muted: true`\r\n  \t\tautoplay: true,\r\n\r\n  \t\t// @option loop: Boolean = true\r\n  \t\t// Whether the video will loop back to the beginning when played.\r\n  \t\tloop: true,\r\n\r\n  \t\t// @option keepAspectRatio: Boolean = true\r\n  \t\t// Whether the video will save aspect ratio after the projection.\r\n  \t\t// Relevant for supported browsers. See [browser compatibility](https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit)\r\n  \t\tkeepAspectRatio: true,\r\n\r\n  \t\t// @option muted: Boolean = false\r\n  \t\t// Whether the video starts on mute when loaded.\r\n  \t\tmuted: false,\r\n\r\n  \t\t// @option playsInline: Boolean = true\r\n  \t\t// Mobile browsers will play the video right where it is instead of open it up in fullscreen mode.\r\n  \t\tplaysInline: true\r\n  \t},\r\n\r\n  \t_initImage: function () {\r\n  \t\tvar wasElementSupplied = this._url.tagName === 'VIDEO';\r\n  \t\tvar vid = this._image = wasElementSupplied ? this._url : create$1('video');\r\n\r\n  \t\taddClass(vid, 'leaflet-image-layer');\r\n  \t\tif (this._zoomAnimated) { addClass(vid, 'leaflet-zoom-animated'); }\r\n  \t\tif (this.options.className) { addClass(vid, this.options.className); }\r\n\r\n  \t\tvid.onselectstart = falseFn;\r\n  \t\tvid.onmousemove = falseFn;\r\n\r\n  \t\t// @event load: Event\r\n  \t\t// Fired when the video has finished loading the first frame\r\n  \t\tvid.onloadeddata = bind(this.fire, this, 'load');\r\n\r\n  \t\tif (wasElementSupplied) {\r\n  \t\t\tvar sourceElements = vid.getElementsByTagName('source');\r\n  \t\t\tvar sources = [];\r\n  \t\t\tfor (var j = 0; j < sourceElements.length; j++) {\r\n  \t\t\t\tsources.push(sourceElements[j].src);\r\n  \t\t\t}\r\n\r\n  \t\t\tthis._url = (sourceElements.length > 0) ? sources : [vid.src];\r\n  \t\t\treturn;\r\n  \t\t}\r\n\r\n  \t\tif (!isArray(this._url)) { this._url = [this._url]; }\r\n\r\n  \t\tif (!this.options.keepAspectRatio && Object.prototype.hasOwnProperty.call(vid.style, 'objectFit')) {\r\n  \t\t\tvid.style['objectFit'] = 'fill';\r\n  \t\t}\r\n  \t\tvid.autoplay = !!this.options.autoplay;\r\n  \t\tvid.loop = !!this.options.loop;\r\n  \t\tvid.muted = !!this.options.muted;\r\n  \t\tvid.playsInline = !!this.options.playsInline;\r\n  \t\tfor (var i = 0; i < this._url.length; i++) {\r\n  \t\t\tvar source = create$1('source');\r\n  \t\t\tsource.src = this._url[i];\r\n  \t\t\tvid.appendChild(source);\r\n  \t\t}\r\n  \t}\r\n\r\n  \t// @method getElement(): HTMLVideoElement\r\n  \t// Returns the instance of [`HTMLVideoElement`](https://developer.mozilla.org/docs/Web/API/HTMLVideoElement)\r\n  \t// used by this overlay.\r\n  });\r\n\r\n\r\n  // @factory L.videoOverlay(video: String|Array|HTMLVideoElement, bounds: LatLngBounds, options?: VideoOverlay options)\r\n  // Instantiates an image overlay object given the URL of the video (or array of URLs, or even a video element) and the\r\n  // geographical bounds it is tied to.\r\n\r\n  function videoOverlay(video, bounds, options) {\r\n  \treturn new VideoOverlay(video, bounds, options);\r\n  }\n\n  /*\n   * @class SVGOverlay\n   * @aka L.SVGOverlay\n   * @inherits ImageOverlay\n   *\n   * Used to load, display and provide DOM access to an SVG file over specific bounds of the map. Extends `ImageOverlay`.\n   *\n   * An SVG overlay uses the [`<svg>`](https://developer.mozilla.org/docs/Web/SVG/Element/svg) element.\n   *\n   * @example\n   *\n   * ```js\n   * var svgElement = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n   * svgElement.setAttribute('xmlns', \"http://www.w3.org/2000/svg\");\n   * svgElement.setAttribute('viewBox', \"0 0 200 200\");\n   * svgElement.innerHTML = '<rect width=\"200\" height=\"200\"/><rect x=\"75\" y=\"23\" width=\"50\" height=\"50\" style=\"fill:red\"/><rect x=\"75\" y=\"123\" width=\"50\" height=\"50\" style=\"fill:#0013ff\"/>';\n   * var svgElementBounds = [ [ 32, -130 ], [ 13, -100 ] ];\n   * L.svgOverlay(svgElement, svgElementBounds).addTo(map);\n   * ```\n   */\n\n  var SVGOverlay = ImageOverlay.extend({\n  \t_initImage: function () {\n  \t\tvar el = this._image = this._url;\n\n  \t\taddClass(el, 'leaflet-image-layer');\n  \t\tif (this._zoomAnimated) { addClass(el, 'leaflet-zoom-animated'); }\n  \t\tif (this.options.className) { addClass(el, this.options.className); }\n\n  \t\tel.onselectstart = falseFn;\n  \t\tel.onmousemove = falseFn;\n  \t}\n\n  \t// @method getElement(): SVGElement\n  \t// Returns the instance of [`SVGElement`](https://developer.mozilla.org/docs/Web/API/SVGElement)\n  \t// used by this overlay.\n  });\n\n\n  // @factory L.svgOverlay(svg: String|SVGElement, bounds: LatLngBounds, options?: SVGOverlay options)\n  // Instantiates an image overlay object given an SVG element and the geographical bounds it is tied to.\n  // A viewBox attribute is required on the SVG element to zoom in and out properly.\n\n  function svgOverlay(el, bounds, options) {\n  \treturn new SVGOverlay(el, bounds, options);\n  }\n\n  /*\r\n   * @class DivOverlay\r\n   * @inherits Interactive layer\r\n   * @aka L.DivOverlay\r\n   * Base model for L.Popup and L.Tooltip. Inherit from it for custom overlays like plugins.\r\n   */\r\n\r\n  // @namespace DivOverlay\r\n  var DivOverlay = Layer.extend({\r\n\r\n  \t// @section\r\n  \t// @aka DivOverlay options\r\n  \toptions: {\r\n  \t\t// @option interactive: Boolean = false\r\n  \t\t// If true, the popup/tooltip will listen to the mouse events.\r\n  \t\tinteractive: false,\r\n\r\n  \t\t// @option offset: Point = Point(0, 0)\r\n  \t\t// The offset of the overlay position.\r\n  \t\toffset: [0, 0],\r\n\r\n  \t\t// @option className: String = ''\r\n  \t\t// A custom CSS class name to assign to the overlay.\r\n  \t\tclassName: '',\r\n\r\n  \t\t// @option pane: String = undefined\r\n  \t\t// `Map pane` where the overlay will be added.\r\n  \t\tpane: undefined,\r\n\r\n  \t\t// @option content: String|HTMLElement|Function = ''\r\n  \t\t// Sets the HTML content of the overlay while initializing. If a function is passed the source layer will be\r\n  \t\t// passed to the function. The function should return a `String` or `HTMLElement` to be used in the overlay.\r\n  \t\tcontent: ''\r\n  \t},\r\n\r\n  \tinitialize: function (options, source) {\r\n  \t\tif (options && (options instanceof LatLng || isArray(options))) {\r\n  \t\t\tthis._latlng = toLatLng(options);\r\n  \t\t\tsetOptions(this, source);\r\n  \t\t} else {\r\n  \t\t\tsetOptions(this, options);\r\n  \t\t\tthis._source = source;\r\n  \t\t}\r\n  \t\tif (this.options.content) {\r\n  \t\t\tthis._content = this.options.content;\r\n  \t\t}\r\n  \t},\r\n\r\n  \t// @method openOn(map: Map): this\r\n  \t// Adds the overlay to the map.\r\n  \t// Alternative to `map.openPopup(popup)`/`.openTooltip(tooltip)`.\r\n  \topenOn: function (map) {\r\n  \t\tmap = arguments.length ? map : this._source._map; // experimental, not the part of public api\r\n  \t\tif (!map.hasLayer(this)) {\r\n  \t\t\tmap.addLayer(this);\r\n  \t\t}\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method close(): this\r\n  \t// Closes the overlay.\r\n  \t// Alternative to `map.closePopup(popup)`/`.closeTooltip(tooltip)`\r\n  \t// and `layer.closePopup()`/`.closeTooltip()`.\r\n  \tclose: function () {\r\n  \t\tif (this._map) {\r\n  \t\t\tthis._map.removeLayer(this);\r\n  \t\t}\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method toggle(layer?: Layer): this\r\n  \t// Opens or closes the overlay bound to layer depending on its current state.\r\n  \t// Argument may be omitted only for overlay bound to layer.\r\n  \t// Alternative to `layer.togglePopup()`/`.toggleTooltip()`.\r\n  \ttoggle: function (layer) {\r\n  \t\tif (this._map) {\r\n  \t\t\tthis.close();\r\n  \t\t} else {\r\n  \t\t\tif (arguments.length) {\r\n  \t\t\t\tthis._source = layer;\r\n  \t\t\t} else {\r\n  \t\t\t\tlayer = this._source;\r\n  \t\t\t}\r\n  \t\t\tthis._prepareOpen();\r\n\r\n  \t\t\t// open the overlay on the map\r\n  \t\t\tthis.openOn(layer._map);\r\n  \t\t}\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \tonAdd: function (map) {\r\n  \t\tthis._zoomAnimated = map._zoomAnimated;\r\n\r\n  \t\tif (!this._container) {\r\n  \t\t\tthis._initLayout();\r\n  \t\t}\r\n\r\n  \t\tif (map._fadeAnimated) {\r\n  \t\t\tsetOpacity(this._container, 0);\r\n  \t\t}\r\n\r\n  \t\tclearTimeout(this._removeTimeout);\r\n  \t\tthis.getPane().appendChild(this._container);\r\n  \t\tthis.update();\r\n\r\n  \t\tif (map._fadeAnimated) {\r\n  \t\t\tsetOpacity(this._container, 1);\r\n  \t\t}\r\n\r\n  \t\tthis.bringToFront();\r\n\r\n  \t\tif (this.options.interactive) {\r\n  \t\t\taddClass(this._container, 'leaflet-interactive');\r\n  \t\t\tthis.addInteractiveTarget(this._container);\r\n  \t\t}\r\n  \t},\r\n\r\n  \tonRemove: function (map) {\r\n  \t\tif (map._fadeAnimated) {\r\n  \t\t\tsetOpacity(this._container, 0);\r\n  \t\t\tthis._removeTimeout = setTimeout(bind(remove, undefined, this._container), 200);\r\n  \t\t} else {\r\n  \t\t\tremove(this._container);\r\n  \t\t}\r\n\r\n  \t\tif (this.options.interactive) {\r\n  \t\t\tremoveClass(this._container, 'leaflet-interactive');\r\n  \t\t\tthis.removeInteractiveTarget(this._container);\r\n  \t\t}\r\n  \t},\r\n\r\n  \t// @namespace DivOverlay\r\n  \t// @method getLatLng: LatLng\r\n  \t// Returns the geographical point of the overlay.\r\n  \tgetLatLng: function () {\r\n  \t\treturn this._latlng;\r\n  \t},\r\n\r\n  \t// @method setLatLng(latlng: LatLng): this\r\n  \t// Sets the geographical point where the overlay will open.\r\n  \tsetLatLng: function (latlng) {\r\n  \t\tthis._latlng = toLatLng(latlng);\r\n  \t\tif (this._map) {\r\n  \t\t\tthis._updatePosition();\r\n  \t\t\tthis._adjustPan();\r\n  \t\t}\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method getContent: String|HTMLElement\r\n  \t// Returns the content of the overlay.\r\n  \tgetContent: function () {\r\n  \t\treturn this._content;\r\n  \t},\r\n\r\n  \t// @method setContent(htmlContent: String|HTMLElement|Function): this\r\n  \t// Sets the HTML content of the overlay. If a function is passed the source layer will be passed to the function.\r\n  \t// The function should return a `String` or `HTMLElement` to be used in the overlay.\r\n  \tsetContent: function (content) {\r\n  \t\tthis._content = content;\r\n  \t\tthis.update();\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method getElement: String|HTMLElement\r\n  \t// Returns the HTML container of the overlay.\r\n  \tgetElement: function () {\r\n  \t\treturn this._container;\r\n  \t},\r\n\r\n  \t// @method update: null\r\n  \t// Updates the overlay content, layout and position. Useful for updating the overlay after something inside changed, e.g. image loaded.\r\n  \tupdate: function () {\r\n  \t\tif (!this._map) { return; }\r\n\r\n  \t\tthis._container.style.visibility = 'hidden';\r\n\r\n  \t\tthis._updateContent();\r\n  \t\tthis._updateLayout();\r\n  \t\tthis._updatePosition();\r\n\r\n  \t\tthis._container.style.visibility = '';\r\n\r\n  \t\tthis._adjustPan();\r\n  \t},\r\n\r\n  \tgetEvents: function () {\r\n  \t\tvar events = {\r\n  \t\t\tzoom: this._updatePosition,\r\n  \t\t\tviewreset: this._updatePosition\r\n  \t\t};\r\n\r\n  \t\tif (this._zoomAnimated) {\r\n  \t\t\tevents.zoomanim = this._animateZoom;\r\n  \t\t}\r\n  \t\treturn events;\r\n  \t},\r\n\r\n  \t// @method isOpen: Boolean\r\n  \t// Returns `true` when the overlay is visible on the map.\r\n  \tisOpen: function () {\r\n  \t\treturn !!this._map && this._map.hasLayer(this);\r\n  \t},\r\n\r\n  \t// @method bringToFront: this\r\n  \t// Brings this overlay in front of other overlays (in the same map pane).\r\n  \tbringToFront: function () {\r\n  \t\tif (this._map) {\r\n  \t\t\ttoFront(this._container);\r\n  \t\t}\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method bringToBack: this\r\n  \t// Brings this overlay to the back of other overlays (in the same map pane).\r\n  \tbringToBack: function () {\r\n  \t\tif (this._map) {\r\n  \t\t\ttoBack(this._container);\r\n  \t\t}\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// prepare bound overlay to open: update latlng pos / content source (for FeatureGroup)\r\n  \t_prepareOpen: function (latlng) {\r\n  \t\tvar source = this._source;\r\n  \t\tif (!source._map) { return false; }\r\n\r\n  \t\tif (source instanceof FeatureGroup) {\r\n  \t\t\tsource = null;\r\n  \t\t\tvar layers = this._source._layers;\r\n  \t\t\tfor (var id in layers) {\r\n  \t\t\t\tif (layers[id]._map) {\r\n  \t\t\t\t\tsource = layers[id];\r\n  \t\t\t\t\tbreak;\r\n  \t\t\t\t}\r\n  \t\t\t}\r\n  \t\t\tif (!source) { return false; } // Unable to get source layer.\r\n\r\n  \t\t\t// set overlay source to this layer\r\n  \t\t\tthis._source = source;\r\n  \t\t}\r\n\r\n  \t\tif (!latlng) {\r\n  \t\t\tif (source.getCenter) {\r\n  \t\t\t\tlatlng = source.getCenter();\r\n  \t\t\t} else if (source.getLatLng) {\r\n  \t\t\t\tlatlng = source.getLatLng();\r\n  \t\t\t} else if (source.getBounds) {\r\n  \t\t\t\tlatlng = source.getBounds().getCenter();\r\n  \t\t\t} else {\r\n  \t\t\t\tthrow new Error('Unable to get source layer LatLng.');\r\n  \t\t\t}\r\n  \t\t}\r\n  \t\tthis.setLatLng(latlng);\r\n\r\n  \t\tif (this._map) {\r\n  \t\t\t// update the overlay (content, layout, etc...)\r\n  \t\t\tthis.update();\r\n  \t\t}\r\n\r\n  \t\treturn true;\r\n  \t},\r\n\r\n  \t_updateContent: function () {\r\n  \t\tif (!this._content) { return; }\r\n\r\n  \t\tvar node = this._contentNode;\r\n  \t\tvar content = (typeof this._content === 'function') ? this._content(this._source || this) : this._content;\r\n\r\n  \t\tif (typeof content === 'string') {\r\n  \t\t\tnode.innerHTML = content;\r\n  \t\t} else {\r\n  \t\t\twhile (node.hasChildNodes()) {\r\n  \t\t\t\tnode.removeChild(node.firstChild);\r\n  \t\t\t}\r\n  \t\t\tnode.appendChild(content);\r\n  \t\t}\r\n\r\n  \t\t// @namespace DivOverlay\r\n  \t\t// @section DivOverlay events\r\n  \t\t// @event contentupdate: Event\r\n  \t\t// Fired when the content of the overlay is updated\r\n  \t\tthis.fire('contentupdate');\r\n  \t},\r\n\r\n  \t_updatePosition: function () {\r\n  \t\tif (!this._map) { return; }\r\n\r\n  \t\tvar pos = this._map.latLngToLayerPoint(this._latlng),\r\n  \t\t    offset = toPoint(this.options.offset),\r\n  \t\t    anchor = this._getAnchor();\r\n\r\n  \t\tif (this._zoomAnimated) {\r\n  \t\t\tsetPosition(this._container, pos.add(anchor));\r\n  \t\t} else {\r\n  \t\t\toffset = offset.add(pos).add(anchor);\r\n  \t\t}\r\n\r\n  \t\tvar bottom = this._containerBottom = -offset.y,\r\n  \t\t    left = this._containerLeft = -Math.round(this._containerWidth / 2) + offset.x;\r\n\r\n  \t\t// bottom position the overlay in case the height of the overlay changes (images loading etc)\r\n  \t\tthis._container.style.bottom = bottom + 'px';\r\n  \t\tthis._container.style.left = left + 'px';\r\n  \t},\r\n\r\n  \t_getAnchor: function () {\r\n  \t\treturn [0, 0];\r\n  \t}\r\n\r\n  });\r\n\r\n  Map.include({\r\n  \t_initOverlay: function (OverlayClass, content, latlng, options) {\r\n  \t\tvar overlay = content;\r\n  \t\tif (!(overlay instanceof OverlayClass)) {\r\n  \t\t\toverlay = new OverlayClass(options).setContent(content);\r\n  \t\t}\r\n  \t\tif (latlng) {\r\n  \t\t\toverlay.setLatLng(latlng);\r\n  \t\t}\r\n  \t\treturn overlay;\r\n  \t}\r\n  });\r\n\r\n\r\n  Layer.include({\r\n  \t_initOverlay: function (OverlayClass, old, content, options) {\r\n  \t\tvar overlay = content;\r\n  \t\tif (overlay instanceof OverlayClass) {\r\n  \t\t\tsetOptions(overlay, options);\r\n  \t\t\toverlay._source = this;\r\n  \t\t} else {\r\n  \t\t\toverlay = (old && !options) ? old : new OverlayClass(options, this);\r\n  \t\t\toverlay.setContent(content);\r\n  \t\t}\r\n  \t\treturn overlay;\r\n  \t}\r\n  });\n\n  /*\r\n   * @class Popup\r\n   * @inherits DivOverlay\r\n   * @aka L.Popup\r\n   * Used to open popups in certain places of the map. Use [Map.openPopup](#map-openpopup) to\r\n   * open popups while making sure that only one popup is open at one time\r\n   * (recommended for usability), or use [Map.addLayer](#map-addlayer) to open as many as you want.\r\n   *\r\n   * @example\r\n   *\r\n   * If you want to just bind a popup to marker click and then open it, it's really easy:\r\n   *\r\n   * ```js\r\n   * marker.bindPopup(popupContent).openPopup();\r\n   * ```\r\n   * Path overlays like polylines also have a `bindPopup` method.\r\n   *\r\n   * A popup can be also standalone:\r\n   *\r\n   * ```js\r\n   * var popup = L.popup()\r\n   * \t.setLatLng(latlng)\r\n   * \t.setContent('<p>Hello world!<br />This is a nice popup.</p>')\r\n   * \t.openOn(map);\r\n   * ```\r\n   * or\r\n   * ```js\r\n   * var popup = L.popup(latlng, {content: '<p>Hello world!<br />This is a nice popup.</p>')\r\n   * \t.openOn(map);\r\n   * ```\r\n   */\r\n\r\n\r\n  // @namespace Popup\r\n  var Popup = DivOverlay.extend({\r\n\r\n  \t// @section\r\n  \t// @aka Popup options\r\n  \toptions: {\r\n  \t\t// @option pane: String = 'popupPane'\r\n  \t\t// `Map pane` where the popup will be added.\r\n  \t\tpane: 'popupPane',\r\n\r\n  \t\t// @option offset: Point = Point(0, 7)\r\n  \t\t// The offset of the popup position.\r\n  \t\toffset: [0, 7],\r\n\r\n  \t\t// @option maxWidth: Number = 300\r\n  \t\t// Max width of the popup, in pixels.\r\n  \t\tmaxWidth: 300,\r\n\r\n  \t\t// @option minWidth: Number = 50\r\n  \t\t// Min width of the popup, in pixels.\r\n  \t\tminWidth: 50,\r\n\r\n  \t\t// @option maxHeight: Number = null\r\n  \t\t// If set, creates a scrollable container of the given height\r\n  \t\t// inside a popup if its content exceeds it.\r\n  \t\t// The scrollable container can be styled using the\r\n  \t\t// `leaflet-popup-scrolled` CSS class selector.\r\n  \t\tmaxHeight: null,\r\n\r\n  \t\t// @option autoPan: Boolean = true\r\n  \t\t// Set it to `false` if you don't want the map to do panning animation\r\n  \t\t// to fit the opened popup.\r\n  \t\tautoPan: true,\r\n\r\n  \t\t// @option autoPanPaddingTopLeft: Point = null\r\n  \t\t// The margin between the popup and the top left corner of the map\r\n  \t\t// view after autopanning was performed.\r\n  \t\tautoPanPaddingTopLeft: null,\r\n\r\n  \t\t// @option autoPanPaddingBottomRight: Point = null\r\n  \t\t// The margin between the popup and the bottom right corner of the map\r\n  \t\t// view after autopanning was performed.\r\n  \t\tautoPanPaddingBottomRight: null,\r\n\r\n  \t\t// @option autoPanPadding: Point = Point(5, 5)\r\n  \t\t// Equivalent of setting both top left and bottom right autopan padding to the same value.\r\n  \t\tautoPanPadding: [5, 5],\r\n\r\n  \t\t// @option keepInView: Boolean = false\r\n  \t\t// Set it to `true` if you want to prevent users from panning the popup\r\n  \t\t// off of the screen while it is open.\r\n  \t\tkeepInView: false,\r\n\r\n  \t\t// @option closeButton: Boolean = true\r\n  \t\t// Controls the presence of a close button in the popup.\r\n  \t\tcloseButton: true,\r\n\r\n  \t\t// @option autoClose: Boolean = true\r\n  \t\t// Set it to `false` if you want to override the default behavior of\r\n  \t\t// the popup closing when another popup is opened.\r\n  \t\tautoClose: true,\r\n\r\n  \t\t// @option closeOnEscapeKey: Boolean = true\r\n  \t\t// Set it to `false` if you want to override the default behavior of\r\n  \t\t// the ESC key for closing of the popup.\r\n  \t\tcloseOnEscapeKey: true,\r\n\r\n  \t\t// @option closeOnClick: Boolean = *\r\n  \t\t// Set it if you want to override the default behavior of the popup closing when user clicks\r\n  \t\t// on the map. Defaults to the map's [`closePopupOnClick`](#map-closepopuponclick) option.\r\n\r\n  \t\t// @option className: String = ''\r\n  \t\t// A custom CSS class name to assign to the popup.\r\n  \t\tclassName: ''\r\n  \t},\r\n\r\n  \t// @namespace Popup\r\n  \t// @method openOn(map: Map): this\r\n  \t// Alternative to `map.openPopup(popup)`.\r\n  \t// Adds the popup to the map and closes the previous one.\r\n  \topenOn: function (map) {\r\n  \t\tmap = arguments.length ? map : this._source._map; // experimental, not the part of public api\r\n\r\n  \t\tif (!map.hasLayer(this) && map._popup && map._popup.options.autoClose) {\r\n  \t\t\tmap.removeLayer(map._popup);\r\n  \t\t}\r\n  \t\tmap._popup = this;\r\n\r\n  \t\treturn DivOverlay.prototype.openOn.call(this, map);\r\n  \t},\r\n\r\n  \tonAdd: function (map) {\r\n  \t\tDivOverlay.prototype.onAdd.call(this, map);\r\n\r\n  \t\t// @namespace Map\r\n  \t\t// @section Popup events\r\n  \t\t// @event popupopen: PopupEvent\r\n  \t\t// Fired when a popup is opened in the map\r\n  \t\tmap.fire('popupopen', {popup: this});\r\n\r\n  \t\tif (this._source) {\r\n  \t\t\t// @namespace Layer\r\n  \t\t\t// @section Popup events\r\n  \t\t\t// @event popupopen: PopupEvent\r\n  \t\t\t// Fired when a popup bound to this layer is opened\r\n  \t\t\tthis._source.fire('popupopen', {popup: this}, true);\r\n  \t\t\t// For non-path layers, we toggle the popup when clicking\r\n  \t\t\t// again the layer, so prevent the map to reopen it.\r\n  \t\t\tif (!(this._source instanceof Path)) {\r\n  \t\t\t\tthis._source.on('preclick', stopPropagation);\r\n  \t\t\t}\r\n  \t\t}\r\n  \t},\r\n\r\n  \tonRemove: function (map) {\r\n  \t\tDivOverlay.prototype.onRemove.call(this, map);\r\n\r\n  \t\t// @namespace Map\r\n  \t\t// @section Popup events\r\n  \t\t// @event popupclose: PopupEvent\r\n  \t\t// Fired when a popup in the map is closed\r\n  \t\tmap.fire('popupclose', {popup: this});\r\n\r\n  \t\tif (this._source) {\r\n  \t\t\t// @namespace Layer\r\n  \t\t\t// @section Popup events\r\n  \t\t\t// @event popupclose: PopupEvent\r\n  \t\t\t// Fired when a popup bound to this layer is closed\r\n  \t\t\tthis._source.fire('popupclose', {popup: this}, true);\r\n  \t\t\tif (!(this._source instanceof Path)) {\r\n  \t\t\t\tthis._source.off('preclick', stopPropagation);\r\n  \t\t\t}\r\n  \t\t}\r\n  \t},\r\n\r\n  \tgetEvents: function () {\r\n  \t\tvar events = DivOverlay.prototype.getEvents.call(this);\r\n\r\n  \t\tif (this.options.closeOnClick !== undefined ? this.options.closeOnClick : this._map.options.closePopupOnClick) {\r\n  \t\t\tevents.preclick = this.close;\r\n  \t\t}\r\n\r\n  \t\tif (this.options.keepInView) {\r\n  \t\t\tevents.moveend = this._adjustPan;\r\n  \t\t}\r\n\r\n  \t\treturn events;\r\n  \t},\r\n\r\n  \t_initLayout: function () {\r\n  \t\tvar prefix = 'leaflet-popup',\r\n  \t\t    container = this._container = create$1('div',\r\n  \t\t\tprefix + ' ' + (this.options.className || '') +\r\n  \t\t\t' leaflet-zoom-animated');\r\n\r\n  \t\tvar wrapper = this._wrapper = create$1('div', prefix + '-content-wrapper', container);\r\n  \t\tthis._contentNode = create$1('div', prefix + '-content', wrapper);\r\n\r\n  \t\tdisableClickPropagation(container);\r\n  \t\tdisableScrollPropagation(this._contentNode);\r\n  \t\ton(container, 'contextmenu', stopPropagation);\r\n\r\n  \t\tthis._tipContainer = create$1('div', prefix + '-tip-container', container);\r\n  \t\tthis._tip = create$1('div', prefix + '-tip', this._tipContainer);\r\n\r\n  \t\tif (this.options.closeButton) {\r\n  \t\t\tvar closeButton = this._closeButton = create$1('a', prefix + '-close-button', container);\r\n  \t\t\tcloseButton.setAttribute('role', 'button'); // overrides the implicit role=link of <a> elements #7399\r\n  \t\t\tcloseButton.setAttribute('aria-label', 'Close popup');\r\n  \t\t\tcloseButton.href = '#close';\r\n  \t\t\tcloseButton.innerHTML = '<span aria-hidden=\"true\">&#215;</span>';\r\n\r\n  \t\t\ton(closeButton, 'click', function (ev) {\r\n  \t\t\t\tpreventDefault(ev);\r\n  \t\t\t\tthis.close();\r\n  \t\t\t}, this);\r\n  \t\t}\r\n  \t},\r\n\r\n  \t_updateLayout: function () {\r\n  \t\tvar container = this._contentNode,\r\n  \t\t    style = container.style;\r\n\r\n  \t\tstyle.width = '';\r\n  \t\tstyle.whiteSpace = 'nowrap';\r\n\r\n  \t\tvar width = container.offsetWidth;\r\n  \t\twidth = Math.min(width, this.options.maxWidth);\r\n  \t\twidth = Math.max(width, this.options.minWidth);\r\n\r\n  \t\tstyle.width = (width + 1) + 'px';\r\n  \t\tstyle.whiteSpace = '';\r\n\r\n  \t\tstyle.height = '';\r\n\r\n  \t\tvar height = container.offsetHeight,\r\n  \t\t    maxHeight = this.options.maxHeight,\r\n  \t\t    scrolledClass = 'leaflet-popup-scrolled';\r\n\r\n  \t\tif (maxHeight && height > maxHeight) {\r\n  \t\t\tstyle.height = maxHeight + 'px';\r\n  \t\t\taddClass(container, scrolledClass);\r\n  \t\t} else {\r\n  \t\t\tremoveClass(container, scrolledClass);\r\n  \t\t}\r\n\r\n  \t\tthis._containerWidth = this._container.offsetWidth;\r\n  \t},\r\n\r\n  \t_animateZoom: function (e) {\r\n  \t\tvar pos = this._map._latLngToNewLayerPoint(this._latlng, e.zoom, e.center),\r\n  \t\t    anchor = this._getAnchor();\r\n  \t\tsetPosition(this._container, pos.add(anchor));\r\n  \t},\r\n\r\n  \t_adjustPan: function () {\r\n  \t\tif (!this.options.autoPan) { return; }\r\n  \t\tif (this._map._panAnim) { this._map._panAnim.stop(); }\r\n\r\n  \t\t// We can endlessly recurse if keepInView is set and the view resets.\r\n  \t\t// Let's guard against that by exiting early if we're responding to our own autopan.\r\n  \t\tif (this._autopanning) {\r\n  \t\t\tthis._autopanning = false;\r\n  \t\t\treturn;\r\n  \t\t}\r\n\r\n  \t\tvar map = this._map,\r\n  \t\t    marginBottom = parseInt(getStyle(this._container, 'marginBottom'), 10) || 0,\r\n  \t\t    containerHeight = this._container.offsetHeight + marginBottom,\r\n  \t\t    containerWidth = this._containerWidth,\r\n  \t\t    layerPos = new Point(this._containerLeft, -containerHeight - this._containerBottom);\r\n\r\n  \t\tlayerPos._add(getPosition(this._container));\r\n\r\n  \t\tvar containerPos = map.layerPointToContainerPoint(layerPos),\r\n  \t\t    padding = toPoint(this.options.autoPanPadding),\r\n  \t\t    paddingTL = toPoint(this.options.autoPanPaddingTopLeft || padding),\r\n  \t\t    paddingBR = toPoint(this.options.autoPanPaddingBottomRight || padding),\r\n  \t\t    size = map.getSize(),\r\n  \t\t    dx = 0,\r\n  \t\t    dy = 0;\r\n\r\n  \t\tif (containerPos.x + containerWidth + paddingBR.x > size.x) { // right\r\n  \t\t\tdx = containerPos.x + containerWidth - size.x + paddingBR.x;\r\n  \t\t}\r\n  \t\tif (containerPos.x - dx - paddingTL.x < 0) { // left\r\n  \t\t\tdx = containerPos.x - paddingTL.x;\r\n  \t\t}\r\n  \t\tif (containerPos.y + containerHeight + paddingBR.y > size.y) { // bottom\r\n  \t\t\tdy = containerPos.y + containerHeight - size.y + paddingBR.y;\r\n  \t\t}\r\n  \t\tif (containerPos.y - dy - paddingTL.y < 0) { // top\r\n  \t\t\tdy = containerPos.y - paddingTL.y;\r\n  \t\t}\r\n\r\n  \t\t// @namespace Map\r\n  \t\t// @section Popup events\r\n  \t\t// @event autopanstart: Event\r\n  \t\t// Fired when the map starts autopanning when opening a popup.\r\n  \t\tif (dx || dy) {\r\n  \t\t\t// Track that we're autopanning, as this function will be re-ran on moveend\r\n  \t\t\tif (this.options.keepInView) {\r\n  \t\t\t\tthis._autopanning = true;\r\n  \t\t\t}\r\n\r\n  \t\t\tmap\r\n  \t\t\t    .fire('autopanstart')\r\n  \t\t\t    .panBy([dx, dy]);\r\n  \t\t}\r\n  \t},\r\n\r\n  \t_getAnchor: function () {\r\n  \t\t// Where should we anchor the popup on the source layer?\r\n  \t\treturn toPoint(this._source && this._source._getPopupAnchor ? this._source._getPopupAnchor() : [0, 0]);\r\n  \t}\r\n\r\n  });\r\n\r\n  // @namespace Popup\r\n  // @factory L.popup(options?: Popup options, source?: Layer)\r\n  // Instantiates a `Popup` object given an optional `options` object that describes its appearance and location and an optional `source` object that is used to tag the popup with a reference to the Layer to which it refers.\r\n  // @alternative\r\n  // @factory L.popup(latlng: LatLng, options?: Popup options)\r\n  // Instantiates a `Popup` object given `latlng` where the popup will open and an optional `options` object that describes its appearance and location.\r\n  var popup = function (options, source) {\r\n  \treturn new Popup(options, source);\r\n  };\r\n\r\n\r\n  /* @namespace Map\r\n   * @section Interaction Options\r\n   * @option closePopupOnClick: Boolean = true\r\n   * Set it to `false` if you don't want popups to close when user clicks the map.\r\n   */\r\n  Map.mergeOptions({\r\n  \tclosePopupOnClick: true\r\n  });\r\n\r\n\r\n  // @namespace Map\r\n  // @section Methods for Layers and Controls\r\n  Map.include({\r\n  \t// @method openPopup(popup: Popup): this\r\n  \t// Opens the specified popup while closing the previously opened (to make sure only one is opened at one time for usability).\r\n  \t// @alternative\r\n  \t// @method openPopup(content: String|HTMLElement, latlng: LatLng, options?: Popup options): this\r\n  \t// Creates a popup with the specified content and options and opens it in the given point on a map.\r\n  \topenPopup: function (popup, latlng, options) {\r\n  \t\tthis._initOverlay(Popup, popup, latlng, options)\r\n  \t\t  .openOn(this);\r\n\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method closePopup(popup?: Popup): this\r\n  \t// Closes the popup previously opened with [openPopup](#map-openpopup) (or the given one).\r\n  \tclosePopup: function (popup) {\r\n  \t\tpopup = arguments.length ? popup : this._popup;\r\n  \t\tif (popup) {\r\n  \t\t\tpopup.close();\r\n  \t\t}\r\n  \t\treturn this;\r\n  \t}\r\n  });\r\n\r\n  /*\r\n   * @namespace Layer\r\n   * @section Popup methods example\r\n   *\r\n   * All layers share a set of methods convenient for binding popups to it.\r\n   *\r\n   * ```js\r\n   * var layer = L.Polygon(latlngs).bindPopup('Hi There!').addTo(map);\r\n   * layer.openPopup();\r\n   * layer.closePopup();\r\n   * ```\r\n   *\r\n   * Popups will also be automatically opened when the layer is clicked on and closed when the layer is removed from the map or another popup is opened.\r\n   */\r\n\r\n  // @section Popup methods\r\n  Layer.include({\r\n\r\n  \t// @method bindPopup(content: String|HTMLElement|Function|Popup, options?: Popup options): this\r\n  \t// Binds a popup to the layer with the passed `content` and sets up the\r\n  \t// necessary event listeners. If a `Function` is passed it will receive\r\n  \t// the layer as the first argument and should return a `String` or `HTMLElement`.\r\n  \tbindPopup: function (content, options) {\r\n  \t\tthis._popup = this._initOverlay(Popup, this._popup, content, options);\r\n  \t\tif (!this._popupHandlersAdded) {\r\n  \t\t\tthis.on({\r\n  \t\t\t\tclick: this._openPopup,\r\n  \t\t\t\tkeypress: this._onKeyPress,\r\n  \t\t\t\tremove: this.closePopup,\r\n  \t\t\t\tmove: this._movePopup\r\n  \t\t\t});\r\n  \t\t\tthis._popupHandlersAdded = true;\r\n  \t\t}\r\n\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method unbindPopup(): this\r\n  \t// Removes the popup previously bound with `bindPopup`.\r\n  \tunbindPopup: function () {\r\n  \t\tif (this._popup) {\r\n  \t\t\tthis.off({\r\n  \t\t\t\tclick: this._openPopup,\r\n  \t\t\t\tkeypress: this._onKeyPress,\r\n  \t\t\t\tremove: this.closePopup,\r\n  \t\t\t\tmove: this._movePopup\r\n  \t\t\t});\r\n  \t\t\tthis._popupHandlersAdded = false;\r\n  \t\t\tthis._popup = null;\r\n  \t\t}\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method openPopup(latlng?: LatLng): this\r\n  \t// Opens the bound popup at the specified `latlng` or at the default popup anchor if no `latlng` is passed.\r\n  \topenPopup: function (latlng) {\r\n  \t\tif (this._popup) {\r\n  \t\t\tif (!(this instanceof FeatureGroup)) {\r\n  \t\t\t\tthis._popup._source = this;\r\n  \t\t\t}\r\n  \t\t\tif (this._popup._prepareOpen(latlng || this._latlng)) {\r\n  \t\t\t\t// open the popup on the map\r\n  \t\t\t\tthis._popup.openOn(this._map);\r\n  \t\t\t}\r\n  \t\t}\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method closePopup(): this\r\n  \t// Closes the popup bound to this layer if it is open.\r\n  \tclosePopup: function () {\r\n  \t\tif (this._popup) {\r\n  \t\t\tthis._popup.close();\r\n  \t\t}\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method togglePopup(): this\r\n  \t// Opens or closes the popup bound to this layer depending on its current state.\r\n  \ttogglePopup: function () {\r\n  \t\tif (this._popup) {\r\n  \t\t\tthis._popup.toggle(this);\r\n  \t\t}\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method isPopupOpen(): boolean\r\n  \t// Returns `true` if the popup bound to this layer is currently open.\r\n  \tisPopupOpen: function () {\r\n  \t\treturn (this._popup ? this._popup.isOpen() : false);\r\n  \t},\r\n\r\n  \t// @method setPopupContent(content: String|HTMLElement|Popup): this\r\n  \t// Sets the content of the popup bound to this layer.\r\n  \tsetPopupContent: function (content) {\r\n  \t\tif (this._popup) {\r\n  \t\t\tthis._popup.setContent(content);\r\n  \t\t}\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method getPopup(): Popup\r\n  \t// Returns the popup bound to this layer.\r\n  \tgetPopup: function () {\r\n  \t\treturn this._popup;\r\n  \t},\r\n\r\n  \t_openPopup: function (e) {\r\n  \t\tif (!this._popup || !this._map) {\r\n  \t\t\treturn;\r\n  \t\t}\r\n  \t\t// prevent map click\r\n  \t\tstop(e);\r\n\r\n  \t\tvar target = e.layer || e.target;\r\n  \t\tif (this._popup._source === target && !(target instanceof Path)) {\r\n  \t\t\t// treat it like a marker and figure out\r\n  \t\t\t// if we should toggle it open/closed\r\n  \t\t\tif (this._map.hasLayer(this._popup)) {\r\n  \t\t\t\tthis.closePopup();\r\n  \t\t\t} else {\r\n  \t\t\t\tthis.openPopup(e.latlng);\r\n  \t\t\t}\r\n  \t\t\treturn;\r\n  \t\t}\r\n  \t\tthis._popup._source = target;\r\n  \t\tthis.openPopup(e.latlng);\r\n  \t},\r\n\r\n  \t_movePopup: function (e) {\r\n  \t\tthis._popup.setLatLng(e.latlng);\r\n  \t},\r\n\r\n  \t_onKeyPress: function (e) {\r\n  \t\tif (e.originalEvent.keyCode === 13) {\r\n  \t\t\tthis._openPopup(e);\r\n  \t\t}\r\n  \t}\r\n  });\n\n  /*\n   * @class Tooltip\n   * @inherits DivOverlay\n   * @aka L.Tooltip\n   * Used to display small texts on top of map layers.\n   *\n   * @example\n   * If you want to just bind a tooltip to marker:\n   *\n   * ```js\n   * marker.bindTooltip(\"my tooltip text\").openTooltip();\n   * ```\n   * Path overlays like polylines also have a `bindTooltip` method.\n   *\n   * A tooltip can be also standalone:\n   *\n   * ```js\n   * var tooltip = L.tooltip()\n   * \t.setLatLng(latlng)\n   * \t.setContent('Hello world!<br />This is a nice tooltip.')\n   * \t.addTo(map);\n   * ```\n   * or\n   * ```js\n   * var tooltip = L.tooltip(latlng, {content: 'Hello world!<br />This is a nice tooltip.'})\n   * \t.addTo(map);\n   * ```\n   *\n   *\n   * Note about tooltip offset. Leaflet takes two options in consideration\n   * for computing tooltip offsetting:\n   * - the `offset` Tooltip option: it defaults to [0, 0], and it's specific to one tooltip.\n   *   Add a positive x offset to move the tooltip to the right, and a positive y offset to\n   *   move it to the bottom. Negatives will move to the left and top.\n   * - the `tooltipAnchor` Icon option: this will only be considered for Marker. You\n   *   should adapt this value if you use a custom icon.\n   */\n\n\n  // @namespace Tooltip\n  var Tooltip = DivOverlay.extend({\n\n  \t// @section\n  \t// @aka Tooltip options\n  \toptions: {\n  \t\t// @option pane: String = 'tooltipPane'\n  \t\t// `Map pane` where the tooltip will be added.\n  \t\tpane: 'tooltipPane',\n\n  \t\t// @option offset: Point = Point(0, 0)\n  \t\t// Optional offset of the tooltip position.\n  \t\toffset: [0, 0],\n\n  \t\t// @option direction: String = 'auto'\n  \t\t// Direction where to open the tooltip. Possible values are: `right`, `left`,\n  \t\t// `top`, `bottom`, `center`, `auto`.\n  \t\t// `auto` will dynamically switch between `right` and `left` according to the tooltip\n  \t\t// position on the map.\n  \t\tdirection: 'auto',\n\n  \t\t// @option permanent: Boolean = false\n  \t\t// Whether to open the tooltip permanently or only on mouseover.\n  \t\tpermanent: false,\n\n  \t\t// @option sticky: Boolean = false\n  \t\t// If true, the tooltip will follow the mouse instead of being fixed at the feature center.\n  \t\tsticky: false,\n\n  \t\t// @option opacity: Number = 0.9\n  \t\t// Tooltip container opacity.\n  \t\topacity: 0.9\n  \t},\n\n  \tonAdd: function (map) {\n  \t\tDivOverlay.prototype.onAdd.call(this, map);\n  \t\tthis.setOpacity(this.options.opacity);\n\n  \t\t// @namespace Map\n  \t\t// @section Tooltip events\n  \t\t// @event tooltipopen: TooltipEvent\n  \t\t// Fired when a tooltip is opened in the map.\n  \t\tmap.fire('tooltipopen', {tooltip: this});\n\n  \t\tif (this._source) {\n  \t\t\tthis.addEventParent(this._source);\n\n  \t\t\t// @namespace Layer\n  \t\t\t// @section Tooltip events\n  \t\t\t// @event tooltipopen: TooltipEvent\n  \t\t\t// Fired when a tooltip bound to this layer is opened.\n  \t\t\tthis._source.fire('tooltipopen', {tooltip: this}, true);\n  \t\t}\n  \t},\n\n  \tonRemove: function (map) {\n  \t\tDivOverlay.prototype.onRemove.call(this, map);\n\n  \t\t// @namespace Map\n  \t\t// @section Tooltip events\n  \t\t// @event tooltipclose: TooltipEvent\n  \t\t// Fired when a tooltip in the map is closed.\n  \t\tmap.fire('tooltipclose', {tooltip: this});\n\n  \t\tif (this._source) {\n  \t\t\tthis.removeEventParent(this._source);\n\n  \t\t\t// @namespace Layer\n  \t\t\t// @section Tooltip events\n  \t\t\t// @event tooltipclose: TooltipEvent\n  \t\t\t// Fired when a tooltip bound to this layer is closed.\n  \t\t\tthis._source.fire('tooltipclose', {tooltip: this}, true);\n  \t\t}\n  \t},\n\n  \tgetEvents: function () {\n  \t\tvar events = DivOverlay.prototype.getEvents.call(this);\n\n  \t\tif (!this.options.permanent) {\n  \t\t\tevents.preclick = this.close;\n  \t\t}\n\n  \t\treturn events;\n  \t},\n\n  \t_initLayout: function () {\n  \t\tvar prefix = 'leaflet-tooltip',\n  \t\t    className = prefix + ' ' + (this.options.className || '') + ' leaflet-zoom-' + (this._zoomAnimated ? 'animated' : 'hide');\n\n  \t\tthis._contentNode = this._container = create$1('div', className);\n\n  \t\tthis._container.setAttribute('role', 'tooltip');\n  \t\tthis._container.setAttribute('id', 'leaflet-tooltip-' + stamp(this));\n  \t},\n\n  \t_updateLayout: function () {},\n\n  \t_adjustPan: function () {},\n\n  \t_setPosition: function (pos) {\n  \t\tvar subX, subY,\n  \t\t    map = this._map,\n  \t\t    container = this._container,\n  \t\t    centerPoint = map.latLngToContainerPoint(map.getCenter()),\n  \t\t    tooltipPoint = map.layerPointToContainerPoint(pos),\n  \t\t    direction = this.options.direction,\n  \t\t    tooltipWidth = container.offsetWidth,\n  \t\t    tooltipHeight = container.offsetHeight,\n  \t\t    offset = toPoint(this.options.offset),\n  \t\t    anchor = this._getAnchor();\n\n  \t\tif (direction === 'top') {\n  \t\t\tsubX = tooltipWidth / 2;\n  \t\t\tsubY = tooltipHeight;\n  \t\t} else if (direction === 'bottom') {\n  \t\t\tsubX = tooltipWidth / 2;\n  \t\t\tsubY = 0;\n  \t\t} else if (direction === 'center') {\n  \t\t\tsubX = tooltipWidth / 2;\n  \t\t\tsubY = tooltipHeight / 2;\n  \t\t} else if (direction === 'right') {\n  \t\t\tsubX = 0;\n  \t\t\tsubY = tooltipHeight / 2;\n  \t\t} else if (direction === 'left') {\n  \t\t\tsubX = tooltipWidth;\n  \t\t\tsubY = tooltipHeight / 2;\n  \t\t} else if (tooltipPoint.x < centerPoint.x) {\n  \t\t\tdirection = 'right';\n  \t\t\tsubX = 0;\n  \t\t\tsubY = tooltipHeight / 2;\n  \t\t} else {\n  \t\t\tdirection = 'left';\n  \t\t\tsubX = tooltipWidth + (offset.x + anchor.x) * 2;\n  \t\t\tsubY = tooltipHeight / 2;\n  \t\t}\n\n  \t\tpos = pos.subtract(toPoint(subX, subY, true)).add(offset).add(anchor);\n\n  \t\tremoveClass(container, 'leaflet-tooltip-right');\n  \t\tremoveClass(container, 'leaflet-tooltip-left');\n  \t\tremoveClass(container, 'leaflet-tooltip-top');\n  \t\tremoveClass(container, 'leaflet-tooltip-bottom');\n  \t\taddClass(container, 'leaflet-tooltip-' + direction);\n  \t\tsetPosition(container, pos);\n  \t},\n\n  \t_updatePosition: function () {\n  \t\tvar pos = this._map.latLngToLayerPoint(this._latlng);\n  \t\tthis._setPosition(pos);\n  \t},\n\n  \tsetOpacity: function (opacity) {\n  \t\tthis.options.opacity = opacity;\n\n  \t\tif (this._container) {\n  \t\t\tsetOpacity(this._container, opacity);\n  \t\t}\n  \t},\n\n  \t_animateZoom: function (e) {\n  \t\tvar pos = this._map._latLngToNewLayerPoint(this._latlng, e.zoom, e.center);\n  \t\tthis._setPosition(pos);\n  \t},\n\n  \t_getAnchor: function () {\n  \t\t// Where should we anchor the tooltip on the source layer?\n  \t\treturn toPoint(this._source && this._source._getTooltipAnchor && !this.options.sticky ? this._source._getTooltipAnchor() : [0, 0]);\n  \t}\n\n  });\n\n  // @namespace Tooltip\n  // @factory L.tooltip(options?: Tooltip options, source?: Layer)\n  // Instantiates a `Tooltip` object given an optional `options` object that describes its appearance and location and an optional `source` object that is used to tag the tooltip with a reference to the Layer to which it refers.\n  // @alternative\n  // @factory L.tooltip(latlng: LatLng, options?: Tooltip options)\n  // Instantiates a `Tooltip` object given `latlng` where the tooltip will open and an optional `options` object that describes its appearance and location.\n  var tooltip = function (options, source) {\n  \treturn new Tooltip(options, source);\n  };\n\n  // @namespace Map\n  // @section Methods for Layers and Controls\n  Map.include({\n\n  \t// @method openTooltip(tooltip: Tooltip): this\n  \t// Opens the specified tooltip.\n  \t// @alternative\n  \t// @method openTooltip(content: String|HTMLElement, latlng: LatLng, options?: Tooltip options): this\n  \t// Creates a tooltip with the specified content and options and open it.\n  \topenTooltip: function (tooltip, latlng, options) {\n  \t\tthis._initOverlay(Tooltip, tooltip, latlng, options)\n  \t\t  .openOn(this);\n\n  \t\treturn this;\n  \t},\n\n  \t// @method closeTooltip(tooltip: Tooltip): this\n  \t// Closes the tooltip given as parameter.\n  \tcloseTooltip: function (tooltip) {\n  \t\ttooltip.close();\n  \t\treturn this;\n  \t}\n\n  });\n\n  /*\n   * @namespace Layer\n   * @section Tooltip methods example\n   *\n   * All layers share a set of methods convenient for binding tooltips to it.\n   *\n   * ```js\n   * var layer = L.Polygon(latlngs).bindTooltip('Hi There!').addTo(map);\n   * layer.openTooltip();\n   * layer.closeTooltip();\n   * ```\n   */\n\n  // @section Tooltip methods\n  Layer.include({\n\n  \t// @method bindTooltip(content: String|HTMLElement|Function|Tooltip, options?: Tooltip options): this\n  \t// Binds a tooltip to the layer with the passed `content` and sets up the\n  \t// necessary event listeners. If a `Function` is passed it will receive\n  \t// the layer as the first argument and should return a `String` or `HTMLElement`.\n  \tbindTooltip: function (content, options) {\n\n  \t\tif (this._tooltip && this.isTooltipOpen()) {\n  \t\t\tthis.unbindTooltip();\n  \t\t}\n\n  \t\tthis._tooltip = this._initOverlay(Tooltip, this._tooltip, content, options);\n  \t\tthis._initTooltipInteractions();\n\n  \t\tif (this._tooltip.options.permanent && this._map && this._map.hasLayer(this)) {\n  \t\t\tthis.openTooltip();\n  \t\t}\n\n  \t\treturn this;\n  \t},\n\n  \t// @method unbindTooltip(): this\n  \t// Removes the tooltip previously bound with `bindTooltip`.\n  \tunbindTooltip: function () {\n  \t\tif (this._tooltip) {\n  \t\t\tthis._initTooltipInteractions(true);\n  \t\t\tthis.closeTooltip();\n  \t\t\tthis._tooltip = null;\n  \t\t}\n  \t\treturn this;\n  \t},\n\n  \t_initTooltipInteractions: function (remove) {\n  \t\tif (!remove && this._tooltipHandlersAdded) { return; }\n  \t\tvar onOff = remove ? 'off' : 'on',\n  \t\t    events = {\n  \t\t\tremove: this.closeTooltip,\n  \t\t\tmove: this._moveTooltip\n  \t\t    };\n  \t\tif (!this._tooltip.options.permanent) {\n  \t\t\tevents.mouseover = this._openTooltip;\n  \t\t\tevents.mouseout = this.closeTooltip;\n  \t\t\tevents.click = this._openTooltip;\n  \t\t\tif (this._map) {\n  \t\t\t\tthis._addFocusListeners();\n  \t\t\t} else {\n  \t\t\t\tevents.add = this._addFocusListeners;\n  \t\t\t}\n  \t\t} else {\n  \t\t\tevents.add = this._openTooltip;\n  \t\t}\n  \t\tif (this._tooltip.options.sticky) {\n  \t\t\tevents.mousemove = this._moveTooltip;\n  \t\t}\n  \t\tthis[onOff](events);\n  \t\tthis._tooltipHandlersAdded = !remove;\n  \t},\n\n  \t// @method openTooltip(latlng?: LatLng): this\n  \t// Opens the bound tooltip at the specified `latlng` or at the default tooltip anchor if no `latlng` is passed.\n  \topenTooltip: function (latlng) {\n  \t\tif (this._tooltip) {\n  \t\t\tif (!(this instanceof FeatureGroup)) {\n  \t\t\t\tthis._tooltip._source = this;\n  \t\t\t}\n  \t\t\tif (this._tooltip._prepareOpen(latlng)) {\n  \t\t\t\t// open the tooltip on the map\n  \t\t\t\tthis._tooltip.openOn(this._map);\n\n  \t\t\t\tif (this.getElement) {\n  \t\t\t\t\tthis._setAriaDescribedByOnLayer(this);\n  \t\t\t\t} else if (this.eachLayer) {\n  \t\t\t\t\tthis.eachLayer(this._setAriaDescribedByOnLayer, this);\n  \t\t\t\t}\n  \t\t\t}\n  \t\t}\n  \t\treturn this;\n  \t},\n\n  \t// @method closeTooltip(): this\n  \t// Closes the tooltip bound to this layer if it is open.\n  \tcloseTooltip: function () {\n  \t\tif (this._tooltip) {\n  \t\t\treturn this._tooltip.close();\n  \t\t}\n  \t},\n\n  \t// @method toggleTooltip(): this\n  \t// Opens or closes the tooltip bound to this layer depending on its current state.\n  \ttoggleTooltip: function () {\n  \t\tif (this._tooltip) {\n  \t\t\tthis._tooltip.toggle(this);\n  \t\t}\n  \t\treturn this;\n  \t},\n\n  \t// @method isTooltipOpen(): boolean\n  \t// Returns `true` if the tooltip bound to this layer is currently open.\n  \tisTooltipOpen: function () {\n  \t\treturn this._tooltip.isOpen();\n  \t},\n\n  \t// @method setTooltipContent(content: String|HTMLElement|Tooltip): this\n  \t// Sets the content of the tooltip bound to this layer.\n  \tsetTooltipContent: function (content) {\n  \t\tif (this._tooltip) {\n  \t\t\tthis._tooltip.setContent(content);\n  \t\t}\n  \t\treturn this;\n  \t},\n\n  \t// @method getTooltip(): Tooltip\n  \t// Returns the tooltip bound to this layer.\n  \tgetTooltip: function () {\n  \t\treturn this._tooltip;\n  \t},\n\n  \t_addFocusListeners: function () {\n  \t\tif (this.getElement) {\n  \t\t\tthis._addFocusListenersOnLayer(this);\n  \t\t} else if (this.eachLayer) {\n  \t\t\tthis.eachLayer(this._addFocusListenersOnLayer, this);\n  \t\t}\n  \t},\n\n  \t_addFocusListenersOnLayer: function (layer) {\n  \t\tvar el = typeof layer.getElement === 'function' && layer.getElement();\n  \t\tif (el) {\n  \t\t\ton(el, 'focus', function () {\n  \t\t\t\tthis._tooltip._source = layer;\n  \t\t\t\tthis.openTooltip();\n  \t\t\t}, this);\n  \t\t\ton(el, 'blur', this.closeTooltip, this);\n  \t\t}\n  \t},\n\n  \t_setAriaDescribedByOnLayer: function (layer) {\n  \t\tvar el = typeof layer.getElement === 'function' && layer.getElement();\n  \t\tif (el) {\n  \t\t\tel.setAttribute('aria-describedby', this._tooltip._container.id);\n  \t\t}\n  \t},\n\n\n  \t_openTooltip: function (e) {\n  \t\tif (!this._tooltip || !this._map) {\n  \t\t\treturn;\n  \t\t}\n\n  \t\t// If the map is moving, we will show the tooltip after it's done.\n  \t\tif (this._map.dragging && this._map.dragging.moving() && !this._openOnceFlag) {\n  \t\t\tthis._openOnceFlag = true;\n  \t\t\tvar that = this;\n  \t\t\tthis._map.once('moveend', function () {\n  \t\t\t\tthat._openOnceFlag = false;\n  \t\t\t\tthat._openTooltip(e);\n  \t\t\t});\n  \t\t\treturn;\n  \t\t}\n\n  \t\tthis._tooltip._source = e.layer || e.target;\n\n  \t\tthis.openTooltip(this._tooltip.options.sticky ? e.latlng : undefined);\n  \t},\n\n  \t_moveTooltip: function (e) {\n  \t\tvar latlng = e.latlng, containerPoint, layerPoint;\n  \t\tif (this._tooltip.options.sticky && e.originalEvent) {\n  \t\t\tcontainerPoint = this._map.mouseEventToContainerPoint(e.originalEvent);\n  \t\t\tlayerPoint = this._map.containerPointToLayerPoint(containerPoint);\n  \t\t\tlatlng = this._map.layerPointToLatLng(layerPoint);\n  \t\t}\n  \t\tthis._tooltip.setLatLng(latlng);\n  \t}\n  });\n\n  /*\n   * @class DivIcon\n   * @aka L.DivIcon\n   * @inherits Icon\n   *\n   * Represents a lightweight icon for markers that uses a simple `<div>`\n   * element instead of an image. Inherits from `Icon` but ignores the `iconUrl` and shadow options.\n   *\n   * @example\n   * ```js\n   * var myIcon = L.divIcon({className: 'my-div-icon'});\n   * // you can set .my-div-icon styles in CSS\n   *\n   * L.marker([50.505, 30.57], {icon: myIcon}).addTo(map);\n   * ```\n   *\n   * By default, it has a 'leaflet-div-icon' CSS class and is styled as a little white square with a shadow.\n   */\n\n  var DivIcon = Icon.extend({\n  \toptions: {\n  \t\t// @section\n  \t\t// @aka DivIcon options\n  \t\ticonSize: [12, 12], // also can be set through CSS\n\n  \t\t// iconAnchor: (Point),\n  \t\t// popupAnchor: (Point),\n\n  \t\t// @option html: String|HTMLElement = ''\n  \t\t// Custom HTML code to put inside the div element, empty by default. Alternatively,\n  \t\t// an instance of `HTMLElement`.\n  \t\thtml: false,\n\n  \t\t// @option bgPos: Point = [0, 0]\n  \t\t// Optional relative position of the background, in pixels\n  \t\tbgPos: null,\n\n  \t\tclassName: 'leaflet-div-icon'\n  \t},\n\n  \tcreateIcon: function (oldIcon) {\n  \t\tvar div = (oldIcon && oldIcon.tagName === 'DIV') ? oldIcon : document.createElement('div'),\n  \t\t    options = this.options;\n\n  \t\tif (options.html instanceof Element) {\n  \t\t\tempty(div);\n  \t\t\tdiv.appendChild(options.html);\n  \t\t} else {\n  \t\t\tdiv.innerHTML = options.html !== false ? options.html : '';\n  \t\t}\n\n  \t\tif (options.bgPos) {\n  \t\t\tvar bgPos = toPoint(options.bgPos);\n  \t\t\tdiv.style.backgroundPosition = (-bgPos.x) + 'px ' + (-bgPos.y) + 'px';\n  \t\t}\n  \t\tthis._setIconStyles(div, 'icon');\n\n  \t\treturn div;\n  \t},\n\n  \tcreateShadow: function () {\n  \t\treturn null;\n  \t}\n  });\n\n  // @factory L.divIcon(options: DivIcon options)\n  // Creates a `DivIcon` instance with the given options.\n  function divIcon(options) {\n  \treturn new DivIcon(options);\n  }\n\n  Icon.Default = IconDefault;\n\n  /*\n   * @class GridLayer\n   * @inherits Layer\n   * @aka L.GridLayer\n   *\n   * Generic class for handling a tiled grid of HTML elements. This is the base class for all tile layers and replaces `TileLayer.Canvas`.\n   * GridLayer can be extended to create a tiled grid of HTML elements like `<canvas>`, `<img>` or `<div>`. GridLayer will handle creating and animating these DOM elements for you.\n   *\n   *\n   * @section Synchronous usage\n   * @example\n   *\n   * To create a custom layer, extend GridLayer and implement the `createTile()` method, which will be passed a `Point` object with the `x`, `y`, and `z` (zoom level) coordinates to draw your tile.\n   *\n   * ```js\n   * var CanvasLayer = L.GridLayer.extend({\n   *     createTile: function(coords){\n   *         // create a <canvas> element for drawing\n   *         var tile = L.DomUtil.create('canvas', 'leaflet-tile');\n   *\n   *         // setup tile width and height according to the options\n   *         var size = this.getTileSize();\n   *         tile.width = size.x;\n   *         tile.height = size.y;\n   *\n   *         // get a canvas context and draw something on it using coords.x, coords.y and coords.z\n   *         var ctx = tile.getContext('2d');\n   *\n   *         // return the tile so it can be rendered on screen\n   *         return tile;\n   *     }\n   * });\n   * ```\n   *\n   * @section Asynchronous usage\n   * @example\n   *\n   * Tile creation can also be asynchronous, this is useful when using a third-party drawing library. Once the tile is finished drawing it can be passed to the `done()` callback.\n   *\n   * ```js\n   * var CanvasLayer = L.GridLayer.extend({\n   *     createTile: function(coords, done){\n   *         var error;\n   *\n   *         // create a <canvas> element for drawing\n   *         var tile = L.DomUtil.create('canvas', 'leaflet-tile');\n   *\n   *         // setup tile width and height according to the options\n   *         var size = this.getTileSize();\n   *         tile.width = size.x;\n   *         tile.height = size.y;\n   *\n   *         // draw something asynchronously and pass the tile to the done() callback\n   *         setTimeout(function() {\n   *             done(error, tile);\n   *         }, 1000);\n   *\n   *         return tile;\n   *     }\n   * });\n   * ```\n   *\n   * @section\n   */\n\n\n  var GridLayer = Layer.extend({\n\n  \t// @section\n  \t// @aka GridLayer options\n  \toptions: {\n  \t\t// @option tileSize: Number|Point = 256\n  \t\t// Width and height of tiles in the grid. Use a number if width and height are equal, or `L.point(width, height)` otherwise.\n  \t\ttileSize: 256,\n\n  \t\t// @option opacity: Number = 1.0\n  \t\t// Opacity of the tiles. Can be used in the `createTile()` function.\n  \t\topacity: 1,\n\n  \t\t// @option updateWhenIdle: Boolean = (depends)\n  \t\t// Load new tiles only when panning ends.\n  \t\t// `true` by default on mobile browsers, in order to avoid too many requests and keep smooth navigation.\n  \t\t// `false` otherwise in order to display new tiles _during_ panning, since it is easy to pan outside the\n  \t\t// [`keepBuffer`](#gridlayer-keepbuffer) option in desktop browsers.\n  \t\tupdateWhenIdle: Browser.mobile,\n\n  \t\t// @option updateWhenZooming: Boolean = true\n  \t\t// By default, a smooth zoom animation (during a [touch zoom](#map-touchzoom) or a [`flyTo()`](#map-flyto)) will update grid layers every integer zoom level. Setting this option to `false` will update the grid layer only when the smooth animation ends.\n  \t\tupdateWhenZooming: true,\n\n  \t\t// @option updateInterval: Number = 200\n  \t\t// Tiles will not update more than once every `updateInterval` milliseconds when panning.\n  \t\tupdateInterval: 200,\n\n  \t\t// @option zIndex: Number = 1\n  \t\t// The explicit zIndex of the tile layer.\n  \t\tzIndex: 1,\n\n  \t\t// @option bounds: LatLngBounds = undefined\n  \t\t// If set, tiles will only be loaded inside the set `LatLngBounds`.\n  \t\tbounds: null,\n\n  \t\t// @option minZoom: Number = 0\n  \t\t// The minimum zoom level down to which this layer will be displayed (inclusive).\n  \t\tminZoom: 0,\n\n  \t\t// @option maxZoom: Number = undefined\n  \t\t// The maximum zoom level up to which this layer will be displayed (inclusive).\n  \t\tmaxZoom: undefined,\n\n  \t\t// @option maxNativeZoom: Number = undefined\n  \t\t// Maximum zoom number the tile source has available. If it is specified,\n  \t\t// the tiles on all zoom levels higher than `maxNativeZoom` will be loaded\n  \t\t// from `maxNativeZoom` level and auto-scaled.\n  \t\tmaxNativeZoom: undefined,\n\n  \t\t// @option minNativeZoom: Number = undefined\n  \t\t// Minimum zoom number the tile source has available. If it is specified,\n  \t\t// the tiles on all zoom levels lower than `minNativeZoom` will be loaded\n  \t\t// from `minNativeZoom` level and auto-scaled.\n  \t\tminNativeZoom: undefined,\n\n  \t\t// @option noWrap: Boolean = false\n  \t\t// Whether the layer is wrapped around the antimeridian. If `true`, the\n  \t\t// GridLayer will only be displayed once at low zoom levels. Has no\n  \t\t// effect when the [map CRS](#map-crs) doesn't wrap around. Can be used\n  \t\t// in combination with [`bounds`](#gridlayer-bounds) to prevent requesting\n  \t\t// tiles outside the CRS limits.\n  \t\tnoWrap: false,\n\n  \t\t// @option pane: String = 'tilePane'\n  \t\t// `Map pane` where the grid layer will be added.\n  \t\tpane: 'tilePane',\n\n  \t\t// @option className: String = ''\n  \t\t// A custom class name to assign to the tile layer. Empty by default.\n  \t\tclassName: '',\n\n  \t\t// @option keepBuffer: Number = 2\n  \t\t// When panning the map, keep this many rows and columns of tiles before unloading them.\n  \t\tkeepBuffer: 2\n  \t},\n\n  \tinitialize: function (options) {\n  \t\tsetOptions(this, options);\n  \t},\n\n  \tonAdd: function () {\n  \t\tthis._initContainer();\n\n  \t\tthis._levels = {};\n  \t\tthis._tiles = {};\n\n  \t\tthis._resetView(); // implicit _update() call\n  \t},\n\n  \tbeforeAdd: function (map) {\n  \t\tmap._addZoomLimit(this);\n  \t},\n\n  \tonRemove: function (map) {\n  \t\tthis._removeAllTiles();\n  \t\tremove(this._container);\n  \t\tmap._removeZoomLimit(this);\n  \t\tthis._container = null;\n  \t\tthis._tileZoom = undefined;\n  \t},\n\n  \t// @method bringToFront: this\n  \t// Brings the tile layer to the top of all tile layers.\n  \tbringToFront: function () {\n  \t\tif (this._map) {\n  \t\t\ttoFront(this._container);\n  \t\t\tthis._setAutoZIndex(Math.max);\n  \t\t}\n  \t\treturn this;\n  \t},\n\n  \t// @method bringToBack: this\n  \t// Brings the tile layer to the bottom of all tile layers.\n  \tbringToBack: function () {\n  \t\tif (this._map) {\n  \t\t\ttoBack(this._container);\n  \t\t\tthis._setAutoZIndex(Math.min);\n  \t\t}\n  \t\treturn this;\n  \t},\n\n  \t// @method getContainer: HTMLElement\n  \t// Returns the HTML element that contains the tiles for this layer.\n  \tgetContainer: function () {\n  \t\treturn this._container;\n  \t},\n\n  \t// @method setOpacity(opacity: Number): this\n  \t// Changes the [opacity](#gridlayer-opacity) of the grid layer.\n  \tsetOpacity: function (opacity) {\n  \t\tthis.options.opacity = opacity;\n  \t\tthis._updateOpacity();\n  \t\treturn this;\n  \t},\n\n  \t// @method setZIndex(zIndex: Number): this\n  \t// Changes the [zIndex](#gridlayer-zindex) of the grid layer.\n  \tsetZIndex: function (zIndex) {\n  \t\tthis.options.zIndex = zIndex;\n  \t\tthis._updateZIndex();\n\n  \t\treturn this;\n  \t},\n\n  \t// @method isLoading: Boolean\n  \t// Returns `true` if any tile in the grid layer has not finished loading.\n  \tisLoading: function () {\n  \t\treturn this._loading;\n  \t},\n\n  \t// @method redraw: this\n  \t// Causes the layer to clear all the tiles and request them again.\n  \tredraw: function () {\n  \t\tif (this._map) {\n  \t\t\tthis._removeAllTiles();\n  \t\t\tvar tileZoom = this._clampZoom(this._map.getZoom());\n  \t\t\tif (tileZoom !== this._tileZoom) {\n  \t\t\t\tthis._tileZoom = tileZoom;\n  \t\t\t\tthis._updateLevels();\n  \t\t\t}\n  \t\t\tthis._update();\n  \t\t}\n  \t\treturn this;\n  \t},\n\n  \tgetEvents: function () {\n  \t\tvar events = {\n  \t\t\tviewprereset: this._invalidateAll,\n  \t\t\tviewreset: this._resetView,\n  \t\t\tzoom: this._resetView,\n  \t\t\tmoveend: this._onMoveEnd\n  \t\t};\n\n  \t\tif (!this.options.updateWhenIdle) {\n  \t\t\t// update tiles on move, but not more often than once per given interval\n  \t\t\tif (!this._onMove) {\n  \t\t\t\tthis._onMove = throttle(this._onMoveEnd, this.options.updateInterval, this);\n  \t\t\t}\n\n  \t\t\tevents.move = this._onMove;\n  \t\t}\n\n  \t\tif (this._zoomAnimated) {\n  \t\t\tevents.zoomanim = this._animateZoom;\n  \t\t}\n\n  \t\treturn events;\n  \t},\n\n  \t// @section Extension methods\n  \t// Layers extending `GridLayer` shall reimplement the following method.\n  \t// @method createTile(coords: Object, done?: Function): HTMLElement\n  \t// Called only internally, must be overridden by classes extending `GridLayer`.\n  \t// Returns the `HTMLElement` corresponding to the given `coords`. If the `done` callback\n  \t// is specified, it must be called when the tile has finished loading and drawing.\n  \tcreateTile: function () {\n  \t\treturn document.createElement('div');\n  \t},\n\n  \t// @section\n  \t// @method getTileSize: Point\n  \t// Normalizes the [tileSize option](#gridlayer-tilesize) into a point. Used by the `createTile()` method.\n  \tgetTileSize: function () {\n  \t\tvar s = this.options.tileSize;\n  \t\treturn s instanceof Point ? s : new Point(s, s);\n  \t},\n\n  \t_updateZIndex: function () {\n  \t\tif (this._container && this.options.zIndex !== undefined && this.options.zIndex !== null) {\n  \t\t\tthis._container.style.zIndex = this.options.zIndex;\n  \t\t}\n  \t},\n\n  \t_setAutoZIndex: function (compare) {\n  \t\t// go through all other layers of the same pane, set zIndex to max + 1 (front) or min - 1 (back)\n\n  \t\tvar layers = this.getPane().children,\n  \t\t    edgeZIndex = -compare(-Infinity, Infinity); // -Infinity for max, Infinity for min\n\n  \t\tfor (var i = 0, len = layers.length, zIndex; i < len; i++) {\n\n  \t\t\tzIndex = layers[i].style.zIndex;\n\n  \t\t\tif (layers[i] !== this._container && zIndex) {\n  \t\t\t\tedgeZIndex = compare(edgeZIndex, +zIndex);\n  \t\t\t}\n  \t\t}\n\n  \t\tif (isFinite(edgeZIndex)) {\n  \t\t\tthis.options.zIndex = edgeZIndex + compare(-1, 1);\n  \t\t\tthis._updateZIndex();\n  \t\t}\n  \t},\n\n  \t_updateOpacity: function () {\n  \t\tif (!this._map) { return; }\n\n  \t\t// IE doesn't inherit filter opacity properly, so we're forced to set it on tiles\n  \t\tif (Browser.ielt9) { return; }\n\n  \t\tsetOpacity(this._container, this.options.opacity);\n\n  \t\tvar now = +new Date(),\n  \t\t    nextFrame = false,\n  \t\t    willPrune = false;\n\n  \t\tfor (var key in this._tiles) {\n  \t\t\tvar tile = this._tiles[key];\n  \t\t\tif (!tile.current || !tile.loaded) { continue; }\n\n  \t\t\tvar fade = Math.min(1, (now - tile.loaded) / 200);\n\n  \t\t\tsetOpacity(tile.el, fade);\n  \t\t\tif (fade < 1) {\n  \t\t\t\tnextFrame = true;\n  \t\t\t} else {\n  \t\t\t\tif (tile.active) {\n  \t\t\t\t\twillPrune = true;\n  \t\t\t\t} else {\n  \t\t\t\t\tthis._onOpaqueTile(tile);\n  \t\t\t\t}\n  \t\t\t\ttile.active = true;\n  \t\t\t}\n  \t\t}\n\n  \t\tif (willPrune && !this._noPrune) { this._pruneTiles(); }\n\n  \t\tif (nextFrame) {\n  \t\t\tcancelAnimFrame(this._fadeFrame);\n  \t\t\tthis._fadeFrame = requestAnimFrame(this._updateOpacity, this);\n  \t\t}\n  \t},\n\n  \t_onOpaqueTile: falseFn,\n\n  \t_initContainer: function () {\n  \t\tif (this._container) { return; }\n\n  \t\tthis._container = create$1('div', 'leaflet-layer ' + (this.options.className || ''));\n  \t\tthis._updateZIndex();\n\n  \t\tif (this.options.opacity < 1) {\n  \t\t\tthis._updateOpacity();\n  \t\t}\n\n  \t\tthis.getPane().appendChild(this._container);\n  \t},\n\n  \t_updateLevels: function () {\n\n  \t\tvar zoom = this._tileZoom,\n  \t\t    maxZoom = this.options.maxZoom;\n\n  \t\tif (zoom === undefined) { return undefined; }\n\n  \t\tfor (var z in this._levels) {\n  \t\t\tz = Number(z);\n  \t\t\tif (this._levels[z].el.children.length || z === zoom) {\n  \t\t\t\tthis._levels[z].el.style.zIndex = maxZoom - Math.abs(zoom - z);\n  \t\t\t\tthis._onUpdateLevel(z);\n  \t\t\t} else {\n  \t\t\t\tremove(this._levels[z].el);\n  \t\t\t\tthis._removeTilesAtZoom(z);\n  \t\t\t\tthis._onRemoveLevel(z);\n  \t\t\t\tdelete this._levels[z];\n  \t\t\t}\n  \t\t}\n\n  \t\tvar level = this._levels[zoom],\n  \t\t    map = this._map;\n\n  \t\tif (!level) {\n  \t\t\tlevel = this._levels[zoom] = {};\n\n  \t\t\tlevel.el = create$1('div', 'leaflet-tile-container leaflet-zoom-animated', this._container);\n  \t\t\tlevel.el.style.zIndex = maxZoom;\n\n  \t\t\tlevel.origin = map.project(map.unproject(map.getPixelOrigin()), zoom).round();\n  \t\t\tlevel.zoom = zoom;\n\n  \t\t\tthis._setZoomTransform(level, map.getCenter(), map.getZoom());\n\n  \t\t\t// force the browser to consider the newly added element for transition\n  \t\t\tfalseFn(level.el.offsetWidth);\n\n  \t\t\tthis._onCreateLevel(level);\n  \t\t}\n\n  \t\tthis._level = level;\n\n  \t\treturn level;\n  \t},\n\n  \t_onUpdateLevel: falseFn,\n\n  \t_onRemoveLevel: falseFn,\n\n  \t_onCreateLevel: falseFn,\n\n  \t_pruneTiles: function () {\n  \t\tif (!this._map) {\n  \t\t\treturn;\n  \t\t}\n\n  \t\tvar key, tile;\n\n  \t\tvar zoom = this._map.getZoom();\n  \t\tif (zoom > this.options.maxZoom ||\n  \t\t\tzoom < this.options.minZoom) {\n  \t\t\tthis._removeAllTiles();\n  \t\t\treturn;\n  \t\t}\n\n  \t\tfor (key in this._tiles) {\n  \t\t\ttile = this._tiles[key];\n  \t\t\ttile.retain = tile.current;\n  \t\t}\n\n  \t\tfor (key in this._tiles) {\n  \t\t\ttile = this._tiles[key];\n  \t\t\tif (tile.current && !tile.active) {\n  \t\t\t\tvar coords = tile.coords;\n  \t\t\t\tif (!this._retainParent(coords.x, coords.y, coords.z, coords.z - 5)) {\n  \t\t\t\t\tthis._retainChildren(coords.x, coords.y, coords.z, coords.z + 2);\n  \t\t\t\t}\n  \t\t\t}\n  \t\t}\n\n  \t\tfor (key in this._tiles) {\n  \t\t\tif (!this._tiles[key].retain) {\n  \t\t\t\tthis._removeTile(key);\n  \t\t\t}\n  \t\t}\n  \t},\n\n  \t_removeTilesAtZoom: function (zoom) {\n  \t\tfor (var key in this._tiles) {\n  \t\t\tif (this._tiles[key].coords.z !== zoom) {\n  \t\t\t\tcontinue;\n  \t\t\t}\n  \t\t\tthis._removeTile(key);\n  \t\t}\n  \t},\n\n  \t_removeAllTiles: function () {\n  \t\tfor (var key in this._tiles) {\n  \t\t\tthis._removeTile(key);\n  \t\t}\n  \t},\n\n  \t_invalidateAll: function () {\n  \t\tfor (var z in this._levels) {\n  \t\t\tremove(this._levels[z].el);\n  \t\t\tthis._onRemoveLevel(Number(z));\n  \t\t\tdelete this._levels[z];\n  \t\t}\n  \t\tthis._removeAllTiles();\n\n  \t\tthis._tileZoom = undefined;\n  \t},\n\n  \t_retainParent: function (x, y, z, minZoom) {\n  \t\tvar x2 = Math.floor(x / 2),\n  \t\t    y2 = Math.floor(y / 2),\n  \t\t    z2 = z - 1,\n  \t\t    coords2 = new Point(+x2, +y2);\n  \t\tcoords2.z = +z2;\n\n  \t\tvar key = this._tileCoordsToKey(coords2),\n  \t\t    tile = this._tiles[key];\n\n  \t\tif (tile && tile.active) {\n  \t\t\ttile.retain = true;\n  \t\t\treturn true;\n\n  \t\t} else if (tile && tile.loaded) {\n  \t\t\ttile.retain = true;\n  \t\t}\n\n  \t\tif (z2 > minZoom) {\n  \t\t\treturn this._retainParent(x2, y2, z2, minZoom);\n  \t\t}\n\n  \t\treturn false;\n  \t},\n\n  \t_retainChildren: function (x, y, z, maxZoom) {\n\n  \t\tfor (var i = 2 * x; i < 2 * x + 2; i++) {\n  \t\t\tfor (var j = 2 * y; j < 2 * y + 2; j++) {\n\n  \t\t\t\tvar coords = new Point(i, j);\n  \t\t\t\tcoords.z = z + 1;\n\n  \t\t\t\tvar key = this._tileCoordsToKey(coords),\n  \t\t\t\t    tile = this._tiles[key];\n\n  \t\t\t\tif (tile && tile.active) {\n  \t\t\t\t\ttile.retain = true;\n  \t\t\t\t\tcontinue;\n\n  \t\t\t\t} else if (tile && tile.loaded) {\n  \t\t\t\t\ttile.retain = true;\n  \t\t\t\t}\n\n  \t\t\t\tif (z + 1 < maxZoom) {\n  \t\t\t\t\tthis._retainChildren(i, j, z + 1, maxZoom);\n  \t\t\t\t}\n  \t\t\t}\n  \t\t}\n  \t},\n\n  \t_resetView: function (e) {\n  \t\tvar animating = e && (e.pinch || e.flyTo);\n  \t\tthis._setView(this._map.getCenter(), this._map.getZoom(), animating, animating);\n  \t},\n\n  \t_animateZoom: function (e) {\n  \t\tthis._setView(e.center, e.zoom, true, e.noUpdate);\n  \t},\n\n  \t_clampZoom: function (zoom) {\n  \t\tvar options = this.options;\n\n  \t\tif (undefined !== options.minNativeZoom && zoom < options.minNativeZoom) {\n  \t\t\treturn options.minNativeZoom;\n  \t\t}\n\n  \t\tif (undefined !== options.maxNativeZoom && options.maxNativeZoom < zoom) {\n  \t\t\treturn options.maxNativeZoom;\n  \t\t}\n\n  \t\treturn zoom;\n  \t},\n\n  \t_setView: function (center, zoom, noPrune, noUpdate) {\n  \t\tvar tileZoom = Math.round(zoom);\n  \t\tif ((this.options.maxZoom !== undefined && tileZoom > this.options.maxZoom) ||\n  \t\t    (this.options.minZoom !== undefined && tileZoom < this.options.minZoom)) {\n  \t\t\ttileZoom = undefined;\n  \t\t} else {\n  \t\t\ttileZoom = this._clampZoom(tileZoom);\n  \t\t}\n\n  \t\tvar tileZoomChanged = this.options.updateWhenZooming && (tileZoom !== this._tileZoom);\n\n  \t\tif (!noUpdate || tileZoomChanged) {\n\n  \t\t\tthis._tileZoom = tileZoom;\n\n  \t\t\tif (this._abortLoading) {\n  \t\t\t\tthis._abortLoading();\n  \t\t\t}\n\n  \t\t\tthis._updateLevels();\n  \t\t\tthis._resetGrid();\n\n  \t\t\tif (tileZoom !== undefined) {\n  \t\t\t\tthis._update(center);\n  \t\t\t}\n\n  \t\t\tif (!noPrune) {\n  \t\t\t\tthis._pruneTiles();\n  \t\t\t}\n\n  \t\t\t// Flag to prevent _updateOpacity from pruning tiles during\n  \t\t\t// a zoom anim or a pinch gesture\n  \t\t\tthis._noPrune = !!noPrune;\n  \t\t}\n\n  \t\tthis._setZoomTransforms(center, zoom);\n  \t},\n\n  \t_setZoomTransforms: function (center, zoom) {\n  \t\tfor (var i in this._levels) {\n  \t\t\tthis._setZoomTransform(this._levels[i], center, zoom);\n  \t\t}\n  \t},\n\n  \t_setZoomTransform: function (level, center, zoom) {\n  \t\tvar scale = this._map.getZoomScale(zoom, level.zoom),\n  \t\t    translate = level.origin.multiplyBy(scale)\n  \t\t        .subtract(this._map._getNewPixelOrigin(center, zoom)).round();\n\n  \t\tif (Browser.any3d) {\n  \t\t\tsetTransform(level.el, translate, scale);\n  \t\t} else {\n  \t\t\tsetPosition(level.el, translate);\n  \t\t}\n  \t},\n\n  \t_resetGrid: function () {\n  \t\tvar map = this._map,\n  \t\t    crs = map.options.crs,\n  \t\t    tileSize = this._tileSize = this.getTileSize(),\n  \t\t    tileZoom = this._tileZoom;\n\n  \t\tvar bounds = this._map.getPixelWorldBounds(this._tileZoom);\n  \t\tif (bounds) {\n  \t\t\tthis._globalTileRange = this._pxBoundsToTileRange(bounds);\n  \t\t}\n\n  \t\tthis._wrapX = crs.wrapLng && !this.options.noWrap && [\n  \t\t\tMath.floor(map.project([0, crs.wrapLng[0]], tileZoom).x / tileSize.x),\n  \t\t\tMath.ceil(map.project([0, crs.wrapLng[1]], tileZoom).x / tileSize.y)\n  \t\t];\n  \t\tthis._wrapY = crs.wrapLat && !this.options.noWrap && [\n  \t\t\tMath.floor(map.project([crs.wrapLat[0], 0], tileZoom).y / tileSize.x),\n  \t\t\tMath.ceil(map.project([crs.wrapLat[1], 0], tileZoom).y / tileSize.y)\n  \t\t];\n  \t},\n\n  \t_onMoveEnd: function () {\n  \t\tif (!this._map || this._map._animatingZoom) { return; }\n\n  \t\tthis._update();\n  \t},\n\n  \t_getTiledPixelBounds: function (center) {\n  \t\tvar map = this._map,\n  \t\t    mapZoom = map._animatingZoom ? Math.max(map._animateToZoom, map.getZoom()) : map.getZoom(),\n  \t\t    scale = map.getZoomScale(mapZoom, this._tileZoom),\n  \t\t    pixelCenter = map.project(center, this._tileZoom).floor(),\n  \t\t    halfSize = map.getSize().divideBy(scale * 2);\n\n  \t\treturn new Bounds(pixelCenter.subtract(halfSize), pixelCenter.add(halfSize));\n  \t},\n\n  \t// Private method to load tiles in the grid's active zoom level according to map bounds\n  \t_update: function (center) {\n  \t\tvar map = this._map;\n  \t\tif (!map) { return; }\n  \t\tvar zoom = this._clampZoom(map.getZoom());\n\n  \t\tif (center === undefined) { center = map.getCenter(); }\n  \t\tif (this._tileZoom === undefined) { return; }\t// if out of minzoom/maxzoom\n\n  \t\tvar pixelBounds = this._getTiledPixelBounds(center),\n  \t\t    tileRange = this._pxBoundsToTileRange(pixelBounds),\n  \t\t    tileCenter = tileRange.getCenter(),\n  \t\t    queue = [],\n  \t\t    margin = this.options.keepBuffer,\n  \t\t    noPruneRange = new Bounds(tileRange.getBottomLeft().subtract([margin, -margin]),\n  \t\t                              tileRange.getTopRight().add([margin, -margin]));\n\n  \t\t// Sanity check: panic if the tile range contains Infinity somewhere.\n  \t\tif (!(isFinite(tileRange.min.x) &&\n  \t\t      isFinite(tileRange.min.y) &&\n  \t\t      isFinite(tileRange.max.x) &&\n  \t\t      isFinite(tileRange.max.y))) { throw new Error('Attempted to load an infinite number of tiles'); }\n\n  \t\tfor (var key in this._tiles) {\n  \t\t\tvar c = this._tiles[key].coords;\n  \t\t\tif (c.z !== this._tileZoom || !noPruneRange.contains(new Point(c.x, c.y))) {\n  \t\t\t\tthis._tiles[key].current = false;\n  \t\t\t}\n  \t\t}\n\n  \t\t// _update just loads more tiles. If the tile zoom level differs too much\n  \t\t// from the map's, let _setView reset levels and prune old tiles.\n  \t\tif (Math.abs(zoom - this._tileZoom) > 1) { this._setView(center, zoom); return; }\n\n  \t\t// create a queue of coordinates to load tiles from\n  \t\tfor (var j = tileRange.min.y; j <= tileRange.max.y; j++) {\n  \t\t\tfor (var i = tileRange.min.x; i <= tileRange.max.x; i++) {\n  \t\t\t\tvar coords = new Point(i, j);\n  \t\t\t\tcoords.z = this._tileZoom;\n\n  \t\t\t\tif (!this._isValidTile(coords)) { continue; }\n\n  \t\t\t\tvar tile = this._tiles[this._tileCoordsToKey(coords)];\n  \t\t\t\tif (tile) {\n  \t\t\t\t\ttile.current = true;\n  \t\t\t\t} else {\n  \t\t\t\t\tqueue.push(coords);\n  \t\t\t\t}\n  \t\t\t}\n  \t\t}\n\n  \t\t// sort tile queue to load tiles in order of their distance to center\n  \t\tqueue.sort(function (a, b) {\n  \t\t\treturn a.distanceTo(tileCenter) - b.distanceTo(tileCenter);\n  \t\t});\n\n  \t\tif (queue.length !== 0) {\n  \t\t\t// if it's the first batch of tiles to load\n  \t\t\tif (!this._loading) {\n  \t\t\t\tthis._loading = true;\n  \t\t\t\t// @event loading: Event\n  \t\t\t\t// Fired when the grid layer starts loading tiles.\n  \t\t\t\tthis.fire('loading');\n  \t\t\t}\n\n  \t\t\t// create DOM fragment to append tiles in one batch\n  \t\t\tvar fragment = document.createDocumentFragment();\n\n  \t\t\tfor (i = 0; i < queue.length; i++) {\n  \t\t\t\tthis._addTile(queue[i], fragment);\n  \t\t\t}\n\n  \t\t\tthis._level.el.appendChild(fragment);\n  \t\t}\n  \t},\n\n  \t_isValidTile: function (coords) {\n  \t\tvar crs = this._map.options.crs;\n\n  \t\tif (!crs.infinite) {\n  \t\t\t// don't load tile if it's out of bounds and not wrapped\n  \t\t\tvar bounds = this._globalTileRange;\n  \t\t\tif ((!crs.wrapLng && (coords.x < bounds.min.x || coords.x > bounds.max.x)) ||\n  \t\t\t    (!crs.wrapLat && (coords.y < bounds.min.y || coords.y > bounds.max.y))) { return false; }\n  \t\t}\n\n  \t\tif (!this.options.bounds) { return true; }\n\n  \t\t// don't load tile if it doesn't intersect the bounds in options\n  \t\tvar tileBounds = this._tileCoordsToBounds(coords);\n  \t\treturn toLatLngBounds(this.options.bounds).overlaps(tileBounds);\n  \t},\n\n  \t_keyToBounds: function (key) {\n  \t\treturn this._tileCoordsToBounds(this._keyToTileCoords(key));\n  \t},\n\n  \t_tileCoordsToNwSe: function (coords) {\n  \t\tvar map = this._map,\n  \t\t    tileSize = this.getTileSize(),\n  \t\t    nwPoint = coords.scaleBy(tileSize),\n  \t\t    sePoint = nwPoint.add(tileSize),\n  \t\t    nw = map.unproject(nwPoint, coords.z),\n  \t\t    se = map.unproject(sePoint, coords.z);\n  \t\treturn [nw, se];\n  \t},\n\n  \t// converts tile coordinates to its geographical bounds\n  \t_tileCoordsToBounds: function (coords) {\n  \t\tvar bp = this._tileCoordsToNwSe(coords),\n  \t\t    bounds = new LatLngBounds(bp[0], bp[1]);\n\n  \t\tif (!this.options.noWrap) {\n  \t\t\tbounds = this._map.wrapLatLngBounds(bounds);\n  \t\t}\n  \t\treturn bounds;\n  \t},\n  \t// converts tile coordinates to key for the tile cache\n  \t_tileCoordsToKey: function (coords) {\n  \t\treturn coords.x + ':' + coords.y + ':' + coords.z;\n  \t},\n\n  \t// converts tile cache key to coordinates\n  \t_keyToTileCoords: function (key) {\n  \t\tvar k = key.split(':'),\n  \t\t    coords = new Point(+k[0], +k[1]);\n  \t\tcoords.z = +k[2];\n  \t\treturn coords;\n  \t},\n\n  \t_removeTile: function (key) {\n  \t\tvar tile = this._tiles[key];\n  \t\tif (!tile) { return; }\n\n  \t\tremove(tile.el);\n\n  \t\tdelete this._tiles[key];\n\n  \t\t// @event tileunload: TileEvent\n  \t\t// Fired when a tile is removed (e.g. when a tile goes off the screen).\n  \t\tthis.fire('tileunload', {\n  \t\t\ttile: tile.el,\n  \t\t\tcoords: this._keyToTileCoords(key)\n  \t\t});\n  \t},\n\n  \t_initTile: function (tile) {\n  \t\taddClass(tile, 'leaflet-tile');\n\n  \t\tvar tileSize = this.getTileSize();\n  \t\ttile.style.width = tileSize.x + 'px';\n  \t\ttile.style.height = tileSize.y + 'px';\n\n  \t\ttile.onselectstart = falseFn;\n  \t\ttile.onmousemove = falseFn;\n\n  \t\t// update opacity on tiles in IE7-8 because of filter inheritance problems\n  \t\tif (Browser.ielt9 && this.options.opacity < 1) {\n  \t\t\tsetOpacity(tile, this.options.opacity);\n  \t\t}\n  \t},\n\n  \t_addTile: function (coords, container) {\n  \t\tvar tilePos = this._getTilePos(coords),\n  \t\t    key = this._tileCoordsToKey(coords);\n\n  \t\tvar tile = this.createTile(this._wrapCoords(coords), bind(this._tileReady, this, coords));\n\n  \t\tthis._initTile(tile);\n\n  \t\t// if createTile is defined with a second argument (\"done\" callback),\n  \t\t// we know that tile is async and will be ready later; otherwise\n  \t\tif (this.createTile.length < 2) {\n  \t\t\t// mark tile as ready, but delay one frame for opacity animation to happen\n  \t\t\trequestAnimFrame(bind(this._tileReady, this, coords, null, tile));\n  \t\t}\n\n  \t\tsetPosition(tile, tilePos);\n\n  \t\t// save tile in cache\n  \t\tthis._tiles[key] = {\n  \t\t\tel: tile,\n  \t\t\tcoords: coords,\n  \t\t\tcurrent: true\n  \t\t};\n\n  \t\tcontainer.appendChild(tile);\n  \t\t// @event tileloadstart: TileEvent\n  \t\t// Fired when a tile is requested and starts loading.\n  \t\tthis.fire('tileloadstart', {\n  \t\t\ttile: tile,\n  \t\t\tcoords: coords\n  \t\t});\n  \t},\n\n  \t_tileReady: function (coords, err, tile) {\n  \t\tif (err) {\n  \t\t\t// @event tileerror: TileErrorEvent\n  \t\t\t// Fired when there is an error loading a tile.\n  \t\t\tthis.fire('tileerror', {\n  \t\t\t\terror: err,\n  \t\t\t\ttile: tile,\n  \t\t\t\tcoords: coords\n  \t\t\t});\n  \t\t}\n\n  \t\tvar key = this._tileCoordsToKey(coords);\n\n  \t\ttile = this._tiles[key];\n  \t\tif (!tile) { return; }\n\n  \t\ttile.loaded = +new Date();\n  \t\tif (this._map._fadeAnimated) {\n  \t\t\tsetOpacity(tile.el, 0);\n  \t\t\tcancelAnimFrame(this._fadeFrame);\n  \t\t\tthis._fadeFrame = requestAnimFrame(this._updateOpacity, this);\n  \t\t} else {\n  \t\t\ttile.active = true;\n  \t\t\tthis._pruneTiles();\n  \t\t}\n\n  \t\tif (!err) {\n  \t\t\taddClass(tile.el, 'leaflet-tile-loaded');\n\n  \t\t\t// @event tileload: TileEvent\n  \t\t\t// Fired when a tile loads.\n  \t\t\tthis.fire('tileload', {\n  \t\t\t\ttile: tile.el,\n  \t\t\t\tcoords: coords\n  \t\t\t});\n  \t\t}\n\n  \t\tif (this._noTilesToLoad()) {\n  \t\t\tthis._loading = false;\n  \t\t\t// @event load: Event\n  \t\t\t// Fired when the grid layer loaded all visible tiles.\n  \t\t\tthis.fire('load');\n\n  \t\t\tif (Browser.ielt9 || !this._map._fadeAnimated) {\n  \t\t\t\trequestAnimFrame(this._pruneTiles, this);\n  \t\t\t} else {\n  \t\t\t\t// Wait a bit more than 0.2 secs (the duration of the tile fade-in)\n  \t\t\t\t// to trigger a pruning.\n  \t\t\t\tsetTimeout(bind(this._pruneTiles, this), 250);\n  \t\t\t}\n  \t\t}\n  \t},\n\n  \t_getTilePos: function (coords) {\n  \t\treturn coords.scaleBy(this.getTileSize()).subtract(this._level.origin);\n  \t},\n\n  \t_wrapCoords: function (coords) {\n  \t\tvar newCoords = new Point(\n  \t\t\tthis._wrapX ? wrapNum(coords.x, this._wrapX) : coords.x,\n  \t\t\tthis._wrapY ? wrapNum(coords.y, this._wrapY) : coords.y);\n  \t\tnewCoords.z = coords.z;\n  \t\treturn newCoords;\n  \t},\n\n  \t_pxBoundsToTileRange: function (bounds) {\n  \t\tvar tileSize = this.getTileSize();\n  \t\treturn new Bounds(\n  \t\t\tbounds.min.unscaleBy(tileSize).floor(),\n  \t\t\tbounds.max.unscaleBy(tileSize).ceil().subtract([1, 1]));\n  \t},\n\n  \t_noTilesToLoad: function () {\n  \t\tfor (var key in this._tiles) {\n  \t\t\tif (!this._tiles[key].loaded) { return false; }\n  \t\t}\n  \t\treturn true;\n  \t}\n  });\n\n  // @factory L.gridLayer(options?: GridLayer options)\n  // Creates a new instance of GridLayer with the supplied options.\n  function gridLayer(options) {\n  \treturn new GridLayer(options);\n  }\n\n  /*\r\n   * @class TileLayer\r\n   * @inherits GridLayer\r\n   * @aka L.TileLayer\r\n   * Used to load and display tile layers on the map. Note that most tile servers require attribution, which you can set under `Layer`. Extends `GridLayer`.\r\n   *\r\n   * @example\r\n   *\r\n   * ```js\r\n   * L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png?{foo}', {foo: 'bar', attribution: '&copy; <a href=\"https://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors'}).addTo(map);\n   * ```\r\n   *\r\n   * @section URL template\r\n   * @example\r\n   *\r\n   * A string of the following form:\r\n   *\r\n   * ```\r\n   * 'https://{s}.somedomain.com/blabla/{z}/{x}/{y}{r}.png'\r\n   * ```\r\n   *\r\n   * `{s}` means one of the available subdomains (used sequentially to help with browser parallel requests per domain limitation; subdomain values are specified in options; `a`, `b` or `c` by default, can be omitted), `{z}` — zoom level, `{x}` and `{y}` — tile coordinates. `{r}` can be used to add \"&commat;2x\" to the URL to load retina tiles.\r\n   *\r\n   * You can use custom keys in the template, which will be [evaluated](#util-template) from TileLayer options, like this:\r\n   *\r\n   * ```\r\n   * L.tileLayer('https://{s}.somedomain.com/{foo}/{z}/{x}/{y}.png', {foo: 'bar'});\r\n   * ```\r\n   */\r\n\r\n\r\n  var TileLayer = GridLayer.extend({\r\n\r\n  \t// @section\r\n  \t// @aka TileLayer options\r\n  \toptions: {\r\n  \t\t// @option minZoom: Number = 0\r\n  \t\t// The minimum zoom level down to which this layer will be displayed (inclusive).\r\n  \t\tminZoom: 0,\r\n\r\n  \t\t// @option maxZoom: Number = 18\r\n  \t\t// The maximum zoom level up to which this layer will be displayed (inclusive).\r\n  \t\tmaxZoom: 18,\r\n\r\n  \t\t// @option subdomains: String|String[] = 'abc'\r\n  \t\t// Subdomains of the tile service. Can be passed in the form of one string (where each letter is a subdomain name) or an array of strings.\r\n  \t\tsubdomains: 'abc',\r\n\r\n  \t\t// @option errorTileUrl: String = ''\r\n  \t\t// URL to the tile image to show in place of the tile that failed to load.\r\n  \t\terrorTileUrl: '',\r\n\r\n  \t\t// @option zoomOffset: Number = 0\r\n  \t\t// The zoom number used in tile URLs will be offset with this value.\r\n  \t\tzoomOffset: 0,\r\n\r\n  \t\t// @option tms: Boolean = false\r\n  \t\t// If `true`, inverses Y axis numbering for tiles (turn this on for [TMS](https://en.wikipedia.org/wiki/Tile_Map_Service) services).\r\n  \t\ttms: false,\r\n\r\n  \t\t// @option zoomReverse: Boolean = false\r\n  \t\t// If set to true, the zoom number used in tile URLs will be reversed (`maxZoom - zoom` instead of `zoom`)\r\n  \t\tzoomReverse: false,\r\n\r\n  \t\t// @option detectRetina: Boolean = false\r\n  \t\t// If `true` and user is on a retina display, it will request four tiles of half the specified size and a bigger zoom level in place of one to utilize the high resolution.\r\n  \t\tdetectRetina: false,\r\n\r\n  \t\t// @option crossOrigin: Boolean|String = false\r\n  \t\t// Whether the crossOrigin attribute will be added to the tiles.\r\n  \t\t// If a String is provided, all tiles will have their crossOrigin attribute set to the String provided. This is needed if you want to access tile pixel data.\r\n  \t\t// Refer to [CORS Settings](https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_settings_attributes) for valid String values.\r\n  \t\tcrossOrigin: false,\r\n\r\n  \t\t// @option referrerPolicy: Boolean|String = false\r\n  \t\t// Whether the referrerPolicy attribute will be added to the tiles.\r\n  \t\t// If a String is provided, all tiles will have their referrerPolicy attribute set to the String provided.\r\n  \t\t// This may be needed if your map's rendering context has a strict default but your tile provider expects a valid referrer\r\n  \t\t// (e.g. to validate an API token).\r\n  \t\t// Refer to [HTMLImageElement.referrerPolicy](https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/referrerPolicy) for valid String values.\r\n  \t\treferrerPolicy: false\r\n  \t},\r\n\r\n  \tinitialize: function (url, options) {\r\n\r\n  \t\tthis._url = url;\r\n\r\n  \t\toptions = setOptions(this, options);\r\n\r\n  \t\t// detecting retina displays, adjusting tileSize and zoom levels\r\n  \t\tif (options.detectRetina && Browser.retina && options.maxZoom > 0) {\r\n\r\n  \t\t\toptions.tileSize = Math.floor(options.tileSize / 2);\r\n\r\n  \t\t\tif (!options.zoomReverse) {\r\n  \t\t\t\toptions.zoomOffset++;\r\n  \t\t\t\toptions.maxZoom = Math.max(options.minZoom, options.maxZoom - 1);\r\n  \t\t\t} else {\r\n  \t\t\t\toptions.zoomOffset--;\r\n  \t\t\t\toptions.minZoom = Math.min(options.maxZoom, options.minZoom + 1);\r\n  \t\t\t}\r\n\r\n  \t\t\toptions.minZoom = Math.max(0, options.minZoom);\r\n  \t\t} else if (!options.zoomReverse) {\r\n  \t\t\t// make sure maxZoom is gte minZoom\r\n  \t\t\toptions.maxZoom = Math.max(options.minZoom, options.maxZoom);\r\n  \t\t} else {\r\n  \t\t\t// make sure minZoom is lte maxZoom\r\n  \t\t\toptions.minZoom = Math.min(options.maxZoom, options.minZoom);\r\n  \t\t}\r\n\r\n  \t\tif (typeof options.subdomains === 'string') {\r\n  \t\t\toptions.subdomains = options.subdomains.split('');\r\n  \t\t}\r\n\r\n  \t\tthis.on('tileunload', this._onTileRemove);\r\n  \t},\r\n\r\n  \t// @method setUrl(url: String, noRedraw?: Boolean): this\r\n  \t// Updates the layer's URL template and redraws it (unless `noRedraw` is set to `true`).\r\n  \t// If the URL does not change, the layer will not be redrawn unless\r\n  \t// the noRedraw parameter is set to false.\r\n  \tsetUrl: function (url, noRedraw) {\r\n  \t\tif (this._url === url && noRedraw === undefined) {\r\n  \t\t\tnoRedraw = true;\r\n  \t\t}\r\n\r\n  \t\tthis._url = url;\r\n\r\n  \t\tif (!noRedraw) {\r\n  \t\t\tthis.redraw();\r\n  \t\t}\r\n  \t\treturn this;\r\n  \t},\r\n\r\n  \t// @method createTile(coords: Object, done?: Function): HTMLElement\r\n  \t// Called only internally, overrides GridLayer's [`createTile()`](#gridlayer-createtile)\r\n  \t// to return an `<img>` HTML element with the appropriate image URL given `coords`. The `done`\r\n  \t// callback is called when the tile has been loaded.\r\n  \tcreateTile: function (coords, done) {\r\n  \t\tvar tile = document.createElement('img');\r\n\r\n  \t\ton(tile, 'load', bind(this._tileOnLoad, this, done, tile));\r\n  \t\ton(tile, 'error', bind(this._tileOnError, this, done, tile));\r\n\r\n  \t\tif (this.options.crossOrigin || this.options.crossOrigin === '') {\r\n  \t\t\ttile.crossOrigin = this.options.crossOrigin === true ? '' : this.options.crossOrigin;\r\n  \t\t}\r\n\r\n  \t\t// for this new option we follow the documented behavior\r\n  \t\t// more closely by only setting the property when string\r\n  \t\tif (typeof this.options.referrerPolicy === 'string') {\r\n  \t\t\ttile.referrerPolicy = this.options.referrerPolicy;\r\n  \t\t}\r\n\r\n  \t\t// The alt attribute is set to the empty string,\r\n  \t\t// allowing screen readers to ignore the decorative image tiles.\r\n  \t\t// https://www.w3.org/WAI/tutorials/images/decorative/\r\n  \t\t// https://www.w3.org/TR/html-aria/#el-img-empty-alt\r\n  \t\ttile.alt = '';\r\n\r\n  \t\ttile.src = this.getTileUrl(coords);\r\n\r\n  \t\treturn tile;\r\n  \t},\r\n\r\n  \t// @section Extension methods\r\n  \t// @uninheritable\r\n  \t// Layers extending `TileLayer` might reimplement the following method.\r\n  \t// @method getTileUrl(coords: Object): String\r\n  \t// Called only internally, returns the URL for a tile given its coordinates.\r\n  \t// Classes extending `TileLayer` can override this function to provide custom tile URL naming schemes.\r\n  \tgetTileUrl: function (coords) {\r\n  \t\tvar data = {\r\n  \t\t\tr: Browser.retina ? '@2x' : '',\r\n  \t\t\ts: this._getSubdomain(coords),\r\n  \t\t\tx: coords.x,\r\n  \t\t\ty: coords.y,\r\n  \t\t\tz: this._getZoomForUrl()\r\n  \t\t};\r\n  \t\tif (this._map && !this._map.options.crs.infinite) {\r\n  \t\t\tvar invertedY = this._globalTileRange.max.y - coords.y;\r\n  \t\t\tif (this.options.tms) {\r\n  \t\t\t\tdata['y'] = invertedY;\r\n  \t\t\t}\r\n  \t\t\tdata['-y'] = invertedY;\r\n  \t\t}\r\n\r\n  \t\treturn template(this._url, extend(data, this.options));\r\n  \t},\r\n\r\n  \t_tileOnLoad: function (done, tile) {\r\n  \t\t// For https://github.com/Leaflet/Leaflet/issues/3332\r\n  \t\tif (Browser.ielt9) {\r\n  \t\t\tsetTimeout(bind(done, this, null, tile), 0);\r\n  \t\t} else {\r\n  \t\t\tdone(null, tile);\r\n  \t\t}\r\n  \t},\r\n\r\n  \t_tileOnError: function (done, tile, e) {\r\n  \t\tvar errorUrl = this.options.errorTileUrl;\r\n  \t\tif (errorUrl && tile.getAttribute('src') !== errorUrl) {\r\n  \t\t\ttile.src = errorUrl;\r\n  \t\t}\r\n  \t\tdone(e, tile);\r\n  \t},\r\n\r\n  \t_onTileRemove: function (e) {\r\n  \t\te.tile.onload = null;\r\n  \t},\r\n\r\n  \t_getZoomForUrl: function () {\r\n  \t\tvar zoom = this._tileZoom,\r\n  \t\tmaxZoom = this.options.maxZoom,\r\n  \t\tzoomReverse = this.options.zoomReverse,\r\n  \t\tzoomOffset = this.options.zoomOffset;\r\n\r\n  \t\tif (zoomReverse) {\r\n  \t\t\tzoom = maxZoom - zoom;\r\n  \t\t}\r\n\r\n  \t\treturn zoom + zoomOffset;\r\n  \t},\r\n\r\n  \t_getSubdomain: function (tilePoint) {\r\n  \t\tvar index = Math.abs(tilePoint.x + tilePoint.y) % this.options.subdomains.length;\r\n  \t\treturn this.options.subdomains[index];\r\n  \t},\r\n\r\n  \t// stops loading all tiles in the background layer\r\n  \t_abortLoading: function () {\r\n  \t\tvar i, tile;\r\n  \t\tfor (i in this._tiles) {\r\n  \t\t\tif (this._tiles[i].coords.z !== this._tileZoom) {\r\n  \t\t\t\ttile = this._tiles[i].el;\r\n\r\n  \t\t\t\ttile.onload = falseFn;\r\n  \t\t\t\ttile.onerror = falseFn;\r\n\r\n  \t\t\t\tif (!tile.complete) {\r\n  \t\t\t\t\ttile.src = emptyImageUrl;\r\n  \t\t\t\t\tvar coords = this._tiles[i].coords;\r\n  \t\t\t\t\tremove(tile);\r\n  \t\t\t\t\tdelete this._tiles[i];\r\n  \t\t\t\t\t// @event tileabort: TileEvent\r\n  \t\t\t\t\t// Fired when a tile was loading but is now not wanted.\r\n  \t\t\t\t\tthis.fire('tileabort', {\r\n  \t\t\t\t\t\ttile: tile,\r\n  \t\t\t\t\t\tcoords: coords\r\n  \t\t\t\t\t});\r\n  \t\t\t\t}\r\n  \t\t\t}\r\n  \t\t}\r\n  \t},\r\n\r\n  \t_removeTile: function (key) {\r\n  \t\tvar tile = this._tiles[key];\r\n  \t\tif (!tile) { return; }\r\n\r\n  \t\t// Cancels any pending http requests associated with the tile\r\n  \t\ttile.el.setAttribute('src', emptyImageUrl);\r\n\r\n  \t\treturn GridLayer.prototype._removeTile.call(this, key);\r\n  \t},\r\n\r\n  \t_tileReady: function (coords, err, tile) {\r\n  \t\tif (!this._map || (tile && tile.getAttribute('src') === emptyImageUrl)) {\r\n  \t\t\treturn;\r\n  \t\t}\r\n\r\n  \t\treturn GridLayer.prototype._tileReady.call(this, coords, err, tile);\r\n  \t}\r\n  });\r\n\r\n\r\n  // @factory L.tilelayer(urlTemplate: String, options?: TileLayer options)\r\n  // Instantiates a tile layer object given a `URL template` and optionally an options object.\r\n\r\n  function tileLayer(url, options) {\r\n  \treturn new TileLayer(url, options);\r\n  }\n\n  /*\r\n   * @class TileLayer.WMS\r\n   * @inherits TileLayer\r\n   * @aka L.TileLayer.WMS\r\n   * Used to display [WMS](https://en.wikipedia.org/wiki/Web_Map_Service) services as tile layers on the map. Extends `TileLayer`.\r\n   *\r\n   * @example\r\n   *\r\n   * ```js\r\n   * var nexrad = L.tileLayer.wms(\"http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r.cgi\", {\r\n   * \tlayers: 'nexrad-n0r-900913',\r\n   * \tformat: 'image/png',\r\n   * \ttransparent: true,\r\n   * \tattribution: \"Weather data © 2012 IEM Nexrad\"\r\n   * });\r\n   * ```\r\n   */\r\n\r\n  var TileLayerWMS = TileLayer.extend({\r\n\r\n  \t// @section\r\n  \t// @aka TileLayer.WMS options\r\n  \t// If any custom options not documented here are used, they will be sent to the\r\n  \t// WMS server as extra parameters in each request URL. This can be useful for\r\n  \t// [non-standard vendor WMS parameters](https://docs.geoserver.org/stable/en/user/services/wms/vendor.html).\r\n  \tdefaultWmsParams: {\r\n  \t\tservice: 'WMS',\r\n  \t\trequest: 'GetMap',\r\n\r\n  \t\t// @option layers: String = ''\r\n  \t\t// **(required)** Comma-separated list of WMS layers to show.\r\n  \t\tlayers: '',\r\n\r\n  \t\t// @option styles: String = ''\r\n  \t\t// Comma-separated list of WMS styles.\r\n  \t\tstyles: '',\r\n\r\n  \t\t// @option format: String = 'image/jpeg'\r\n  \t\t// WMS image format (use `'image/png'` for layers with transparency).\r\n  \t\tformat: 'image/jpeg',\r\n\r\n  \t\t// @option transparent: Boolean = false\r\n  \t\t// If `true`, the WMS service will return images with transparency.\r\n  \t\ttransparent: false,\r\n\r\n  \t\t// @option version: String = '1.1.1'\r\n  \t\t// Version of the WMS service to use\r\n  \t\tversion: '1.1.1'\r\n  \t},\r\n\r\n  \toptions: {\r\n  \t\t// @option crs: CRS = null\r\n  \t\t// Coordinate Reference System to use for the WMS requests, defaults to\r\n  \t\t// map CRS. Don't change this if you're not sure what it means.\r\n  \t\tcrs: null,\r\n\r\n  \t\t// @option uppercase: Boolean = false\r\n  \t\t// If `true`, WMS request parameter keys will be uppercase.\r\n  \t\tuppercase: false\r\n  \t},\r\n\r\n  \tinitialize: function (url, options) {\r\n\r\n  \t\tthis._url = url;\r\n\r\n  \t\tvar wmsParams = extend({}, this.defaultWmsParams);\r\n\r\n  \t\t// all keys that are not TileLayer options go to WMS params\r\n  \t\tfor (var i in options) {\r\n  \t\t\tif (!(i in this.options)) {\r\n  \t\t\t\twmsParams[i] = options[i];\r\n  \t\t\t}\r\n  \t\t}\r\n\r\n  \t\toptions = setOptions(this, options);\r\n\r\n  \t\tvar realRetina = options.detectRetina && Browser.retina ? 2 : 1;\r\n  \t\tvar tileSize = this.getTileSize();\r\n  \t\twmsParams.width = tileSize.x * realRetina;\r\n  \t\twmsParams.height = tileSize.y * realRetina;\r\n\r\n  \t\tthis.wmsParams = wmsParams;\r\n  \t},\r\n\r\n  \tonAdd: function (map) {\r\n\r\n  \t\tthis._crs = this.options.crs || map.options.crs;\r\n  \t\tthis._wmsVersion = parseFloat(this.wmsParams.version);\r\n\r\n  \t\tvar projectionKey = this._wmsVersion >= 1.3 ? 'crs' : 'srs';\r\n  \t\tthis.wmsParams[projectionKey] = this._crs.code;\r\n\r\n  \t\tTileLayer.prototype.onAdd.call(this, map);\r\n  \t},\r\n\r\n  \tgetTileUrl: function (coords) {\r\n\r\n  \t\tvar tileBounds = this._tileCoordsToNwSe(coords),\r\n  \t\t    crs = this._crs,\r\n  \t\t    bounds = toBounds(crs.project(tileBounds[0]), crs.project(tileBounds[1])),\r\n  \t\t    min = bounds.min,\r\n  \t\t    max = bounds.max,\r\n  \t\t    bbox = (this._wmsVersion >= 1.3 && this._crs === EPSG4326 ?\r\n  \t\t    [min.y, min.x, max.y, max.x] :\r\n  \t\t    [min.x, min.y, max.x, max.y]).join(','),\r\n  \t\t    url = TileLayer.prototype.getTileUrl.call(this, coords);\r\n  \t\treturn url +\r\n  \t\t\tgetParamString(this.wmsParams, url, this.options.uppercase) +\r\n  \t\t\t(this.options.uppercase ? '&BBOX=' : '&bbox=') + bbox;\r\n  \t},\r\n\r\n  \t// @method setParams(params: Object, noRedraw?: Boolean): this\r\n  \t// Merges an object with the new parameters and re-requests tiles on the current screen (unless `noRedraw` was set to true).\r\n  \tsetParams: function (params, noRedraw) {\r\n\r\n  \t\textend(this.wmsParams, params);\r\n\r\n  \t\tif (!noRedraw) {\r\n  \t\t\tthis.redraw();\r\n  \t\t}\r\n\r\n  \t\treturn this;\r\n  \t}\r\n  });\r\n\r\n\r\n  // @factory L.tileLayer.wms(baseUrl: String, options: TileLayer.WMS options)\r\n  // Instantiates a WMS tile layer object given a base URL of the WMS service and a WMS parameters/options object.\r\n  function tileLayerWMS(url, options) {\r\n  \treturn new TileLayerWMS(url, options);\r\n  }\n\n  TileLayer.WMS = TileLayerWMS;\n  tileLayer.wms = tileLayerWMS;\n\n  /*\n   * @class Renderer\n   * @inherits Layer\n   * @aka L.Renderer\n   *\n   * Base class for vector renderer implementations (`SVG`, `Canvas`). Handles the\n   * DOM container of the renderer, its bounds, and its zoom animation.\n   *\n   * A `Renderer` works as an implicit layer group for all `Path`s - the renderer\n   * itself can be added or removed to the map. All paths use a renderer, which can\n   * be implicit (the map will decide the type of renderer and use it automatically)\n   * or explicit (using the [`renderer`](#path-renderer) option of the path).\n   *\n   * Do not use this class directly, use `SVG` and `Canvas` instead.\n   *\n   * @event update: Event\n   * Fired when the renderer updates its bounds, center and zoom, for example when\n   * its map has moved\n   */\n\n  var Renderer = Layer.extend({\n\n  \t// @section\n  \t// @aka Renderer options\n  \toptions: {\n  \t\t// @option padding: Number = 0.1\n  \t\t// How much to extend the clip area around the map view (relative to its size)\n  \t\t// e.g. 0.1 would be 10% of map view in each direction\n  \t\tpadding: 0.1\n  \t},\n\n  \tinitialize: function (options) {\n  \t\tsetOptions(this, options);\n  \t\tstamp(this);\n  \t\tthis._layers = this._layers || {};\n  \t},\n\n  \tonAdd: function () {\n  \t\tif (!this._container) {\n  \t\t\tthis._initContainer(); // defined by renderer implementations\n\n  \t\t\t// always keep transform-origin as 0 0\n  \t\t\taddClass(this._container, 'leaflet-zoom-animated');\n  \t\t}\n\n  \t\tthis.getPane().appendChild(this._container);\n  \t\tthis._update();\n  \t\tthis.on('update', this._updatePaths, this);\n  \t},\n\n  \tonRemove: function () {\n  \t\tthis.off('update', this._updatePaths, this);\n  \t\tthis._destroyContainer();\n  \t},\n\n  \tgetEvents: function () {\n  \t\tvar events = {\n  \t\t\tviewreset: this._reset,\n  \t\t\tzoom: this._onZoom,\n  \t\t\tmoveend: this._update,\n  \t\t\tzoomend: this._onZoomEnd\n  \t\t};\n  \t\tif (this._zoomAnimated) {\n  \t\t\tevents.zoomanim = this._onAnimZoom;\n  \t\t}\n  \t\treturn events;\n  \t},\n\n  \t_onAnimZoom: function (ev) {\n  \t\tthis._updateTransform(ev.center, ev.zoom);\n  \t},\n\n  \t_onZoom: function () {\n  \t\tthis._updateTransform(this._map.getCenter(), this._map.getZoom());\n  \t},\n\n  \t_updateTransform: function (center, zoom) {\n  \t\tvar scale = this._map.getZoomScale(zoom, this._zoom),\n  \t\t    viewHalf = this._map.getSize().multiplyBy(0.5 + this.options.padding),\n  \t\t    currentCenterPoint = this._map.project(this._center, zoom),\n\n  \t\t    topLeftOffset = viewHalf.multiplyBy(-scale).add(currentCenterPoint)\n  \t\t\t\t  .subtract(this._map._getNewPixelOrigin(center, zoom));\n\n  \t\tif (Browser.any3d) {\n  \t\t\tsetTransform(this._container, topLeftOffset, scale);\n  \t\t} else {\n  \t\t\tsetPosition(this._container, topLeftOffset);\n  \t\t}\n  \t},\n\n  \t_reset: function () {\n  \t\tthis._update();\n  \t\tthis._updateTransform(this._center, this._zoom);\n\n  \t\tfor (var id in this._layers) {\n  \t\t\tthis._layers[id]._reset();\n  \t\t}\n  \t},\n\n  \t_onZoomEnd: function () {\n  \t\tfor (var id in this._layers) {\n  \t\t\tthis._layers[id]._project();\n  \t\t}\n  \t},\n\n  \t_updatePaths: function () {\n  \t\tfor (var id in this._layers) {\n  \t\t\tthis._layers[id]._update();\n  \t\t}\n  \t},\n\n  \t_update: function () {\n  \t\t// Update pixel bounds of renderer container (for positioning/sizing/clipping later)\n  \t\t// Subclasses are responsible of firing the 'update' event.\n  \t\tvar p = this.options.padding,\n  \t\t    size = this._map.getSize(),\n  \t\t    min = this._map.containerPointToLayerPoint(size.multiplyBy(-p)).round();\n\n  \t\tthis._bounds = new Bounds(min, min.add(size.multiplyBy(1 + p * 2)).round());\n\n  \t\tthis._center = this._map.getCenter();\n  \t\tthis._zoom = this._map.getZoom();\n  \t}\n  });\n\n  /*\n   * @class Canvas\n   * @inherits Renderer\n   * @aka L.Canvas\n   *\n   * Allows vector layers to be displayed with [`<canvas>`](https://developer.mozilla.org/docs/Web/API/Canvas_API).\n   * Inherits `Renderer`.\n   *\n   * Due to [technical limitations](https://caniuse.com/canvas), Canvas is not\n   * available in all web browsers, notably IE8, and overlapping geometries might\n   * not display properly in some edge cases.\n   *\n   * @example\n   *\n   * Use Canvas by default for all paths in the map:\n   *\n   * ```js\n   * var map = L.map('map', {\n   * \trenderer: L.canvas()\n   * });\n   * ```\n   *\n   * Use a Canvas renderer with extra padding for specific vector geometries:\n   *\n   * ```js\n   * var map = L.map('map');\n   * var myRenderer = L.canvas({ padding: 0.5 });\n   * var line = L.polyline( coordinates, { renderer: myRenderer } );\n   * var circle = L.circle( center, { renderer: myRenderer } );\n   * ```\n   */\n\n  var Canvas = Renderer.extend({\n\n  \t// @section\n  \t// @aka Canvas options\n  \toptions: {\n  \t\t// @option tolerance: Number = 0\n  \t\t// How much to extend the click tolerance around a path/object on the map.\n  \t\ttolerance: 0\n  \t},\n\n  \tgetEvents: function () {\n  \t\tvar events = Renderer.prototype.getEvents.call(this);\n  \t\tevents.viewprereset = this._onViewPreReset;\n  \t\treturn events;\n  \t},\n\n  \t_onViewPreReset: function () {\n  \t\t// Set a flag so that a viewprereset+moveend+viewreset only updates&redraws once\n  \t\tthis._postponeUpdatePaths = true;\n  \t},\n\n  \tonAdd: function () {\n  \t\tRenderer.prototype.onAdd.call(this);\n\n  \t\t// Redraw vectors since canvas is cleared upon removal,\n  \t\t// in case of removing the renderer itself from the map.\n  \t\tthis._draw();\n  \t},\n\n  \t_initContainer: function () {\n  \t\tvar container = this._container = document.createElement('canvas');\n\n  \t\ton(container, 'mousemove', this._onMouseMove, this);\n  \t\ton(container, 'click dblclick mousedown mouseup contextmenu', this._onClick, this);\n  \t\ton(container, 'mouseout', this._handleMouseOut, this);\n  \t\tcontainer['_leaflet_disable_events'] = true;\n\n  \t\tthis._ctx = container.getContext('2d');\n  \t},\n\n  \t_destroyContainer: function () {\n  \t\tcancelAnimFrame(this._redrawRequest);\n  \t\tdelete this._ctx;\n  \t\tremove(this._container);\n  \t\toff(this._container);\n  \t\tdelete this._container;\n  \t},\n\n  \t_updatePaths: function () {\n  \t\tif (this._postponeUpdatePaths) { return; }\n\n  \t\tvar layer;\n  \t\tthis._redrawBounds = null;\n  \t\tfor (var id in this._layers) {\n  \t\t\tlayer = this._layers[id];\n  \t\t\tlayer._update();\n  \t\t}\n  \t\tthis._redraw();\n  \t},\n\n  \t_update: function () {\n  \t\tif (this._map._animatingZoom && this._bounds) { return; }\n\n  \t\tRenderer.prototype._update.call(this);\n\n  \t\tvar b = this._bounds,\n  \t\t    container = this._container,\n  \t\t    size = b.getSize(),\n  \t\t    m = Browser.retina ? 2 : 1;\n\n  \t\tsetPosition(container, b.min);\n\n  \t\t// set canvas size (also clearing it); use double size on retina\n  \t\tcontainer.width = m * size.x;\n  \t\tcontainer.height = m * size.y;\n  \t\tcontainer.style.width = size.x + 'px';\n  \t\tcontainer.style.height = size.y + 'px';\n\n  \t\tif (Browser.retina) {\n  \t\t\tthis._ctx.scale(2, 2);\n  \t\t}\n\n  \t\t// translate so we use the same path coordinates after canvas element moves\n  \t\tthis._ctx.translate(-b.min.x, -b.min.y);\n\n  \t\t// Tell paths to redraw themselves\n  \t\tthis.fire('update');\n  \t},\n\n  \t_reset: function () {\n  \t\tRenderer.prototype._reset.call(this);\n\n  \t\tif (this._postponeUpdatePaths) {\n  \t\t\tthis._postponeUpdatePaths = false;\n  \t\t\tthis._updatePaths();\n  \t\t}\n  \t},\n\n  \t_initPath: function (layer) {\n  \t\tthis._updateDashArray(layer);\n  \t\tthis._layers[stamp(layer)] = layer;\n\n  \t\tvar order = layer._order = {\n  \t\t\tlayer: layer,\n  \t\t\tprev: this._drawLast,\n  \t\t\tnext: null\n  \t\t};\n  \t\tif (this._drawLast) { this._drawLast.next = order; }\n  \t\tthis._drawLast = order;\n  \t\tthis._drawFirst = this._drawFirst || this._drawLast;\n  \t},\n\n  \t_addPath: function (layer) {\n  \t\tthis._requestRedraw(layer);\n  \t},\n\n  \t_removePath: function (layer) {\n  \t\tvar order = layer._order;\n  \t\tvar next = order.next;\n  \t\tvar prev = order.prev;\n\n  \t\tif (next) {\n  \t\t\tnext.prev = prev;\n  \t\t} else {\n  \t\t\tthis._drawLast = prev;\n  \t\t}\n  \t\tif (prev) {\n  \t\t\tprev.next = next;\n  \t\t} else {\n  \t\t\tthis._drawFirst = next;\n  \t\t}\n\n  \t\tdelete layer._order;\n\n  \t\tdelete this._layers[stamp(layer)];\n\n  \t\tthis._requestRedraw(layer);\n  \t},\n\n  \t_updatePath: function (layer) {\n  \t\t// Redraw the union of the layer's old pixel\n  \t\t// bounds and the new pixel bounds.\n  \t\tthis._extendRedrawBounds(layer);\n  \t\tlayer._project();\n  \t\tlayer._update();\n  \t\t// The redraw will extend the redraw bounds\n  \t\t// with the new pixel bounds.\n  \t\tthis._requestRedraw(layer);\n  \t},\n\n  \t_updateStyle: function (layer) {\n  \t\tthis._updateDashArray(layer);\n  \t\tthis._requestRedraw(layer);\n  \t},\n\n  \t_updateDashArray: function (layer) {\n  \t\tif (typeof layer.options.dashArray === 'string') {\n  \t\t\tvar parts = layer.options.dashArray.split(/[, ]+/),\n  \t\t\t    dashArray = [],\n  \t\t\t    dashValue,\n  \t\t\t    i;\n  \t\t\tfor (i = 0; i < parts.length; i++) {\n  \t\t\t\tdashValue = Number(parts[i]);\n  \t\t\t\t// Ignore dash array containing invalid lengths\n  \t\t\t\tif (isNaN(dashValue)) { return; }\n  \t\t\t\tdashArray.push(dashValue);\n  \t\t\t}\n  \t\t\tlayer.options._dashArray = dashArray;\n  \t\t} else {\n  \t\t\tlayer.options._dashArray = layer.options.dashArray;\n  \t\t}\n  \t},\n\n  \t_requestRedraw: function (layer) {\n  \t\tif (!this._map) { return; }\n\n  \t\tthis._extendRedrawBounds(layer);\n  \t\tthis._redrawRequest = this._redrawRequest || requestAnimFrame(this._redraw, this);\n  \t},\n\n  \t_extendRedrawBounds: function (layer) {\n  \t\tif (layer._pxBounds) {\n  \t\t\tvar padding = (layer.options.weight || 0) + 1;\n  \t\t\tthis._redrawBounds = this._redrawBounds || new Bounds();\n  \t\t\tthis._redrawBounds.extend(layer._pxBounds.min.subtract([padding, padding]));\n  \t\t\tthis._redrawBounds.extend(layer._pxBounds.max.add([padding, padding]));\n  \t\t}\n  \t},\n\n  \t_redraw: function () {\n  \t\tthis._redrawRequest = null;\n\n  \t\tif (this._redrawBounds) {\n  \t\t\tthis._redrawBounds.min._floor();\n  \t\t\tthis._redrawBounds.max._ceil();\n  \t\t}\n\n  \t\tthis._clear(); // clear layers in redraw bounds\n  \t\tthis._draw(); // draw layers\n\n  \t\tthis._redrawBounds = null;\n  \t},\n\n  \t_clear: function () {\n  \t\tvar bounds = this._redrawBounds;\n  \t\tif (bounds) {\n  \t\t\tvar size = bounds.getSize();\n  \t\t\tthis._ctx.clearRect(bounds.min.x, bounds.min.y, size.x, size.y);\n  \t\t} else {\n  \t\t\tthis._ctx.save();\n  \t\t\tthis._ctx.setTransform(1, 0, 0, 1, 0, 0);\n  \t\t\tthis._ctx.clearRect(0, 0, this._container.width, this._container.height);\n  \t\t\tthis._ctx.restore();\n  \t\t}\n  \t},\n\n  \t_draw: function () {\n  \t\tvar layer, bounds = this._redrawBounds;\n  \t\tthis._ctx.save();\n  \t\tif (bounds) {\n  \t\t\tvar size = bounds.getSize();\n  \t\t\tthis._ctx.beginPath();\n  \t\t\tthis._ctx.rect(bounds.min.x, bounds.min.y, size.x, size.y);\n  \t\t\tthis._ctx.clip();\n  \t\t}\n\n  \t\tthis._drawing = true;\n\n  \t\tfor (var order = this._drawFirst; order; order = order.next) {\n  \t\t\tlayer = order.layer;\n  \t\t\tif (!bounds || (layer._pxBounds && layer._pxBounds.intersects(bounds))) {\n  \t\t\t\tlayer._updatePath();\n  \t\t\t}\n  \t\t}\n\n  \t\tthis._drawing = false;\n\n  \t\tthis._ctx.restore();  // Restore state before clipping.\n  \t},\n\n  \t_updatePoly: function (layer, closed) {\n  \t\tif (!this._drawing) { return; }\n\n  \t\tvar i, j, len2, p,\n  \t\t    parts = layer._parts,\n  \t\t    len = parts.length,\n  \t\t    ctx = this._ctx;\n\n  \t\tif (!len) { return; }\n\n  \t\tctx.beginPath();\n\n  \t\tfor (i = 0; i < len; i++) {\n  \t\t\tfor (j = 0, len2 = parts[i].length; j < len2; j++) {\n  \t\t\t\tp = parts[i][j];\n  \t\t\t\tctx[j ? 'lineTo' : 'moveTo'](p.x, p.y);\n  \t\t\t}\n  \t\t\tif (closed) {\n  \t\t\t\tctx.closePath();\n  \t\t\t}\n  \t\t}\n\n  \t\tthis._fillStroke(ctx, layer);\n\n  \t\t// TODO optimization: 1 fill/stroke for all features with equal style instead of 1 for each feature\n  \t},\n\n  \t_updateCircle: function (layer) {\n\n  \t\tif (!this._drawing || layer._empty()) { return; }\n\n  \t\tvar p = layer._point,\n  \t\t    ctx = this._ctx,\n  \t\t    r = Math.max(Math.round(layer._radius), 1),\n  \t\t    s = (Math.max(Math.round(layer._radiusY), 1) || r) / r;\n\n  \t\tif (s !== 1) {\n  \t\t\tctx.save();\n  \t\t\tctx.scale(1, s);\n  \t\t}\n\n  \t\tctx.beginPath();\n  \t\tctx.arc(p.x, p.y / s, r, 0, Math.PI * 2, false);\n\n  \t\tif (s !== 1) {\n  \t\t\tctx.restore();\n  \t\t}\n\n  \t\tthis._fillStroke(ctx, layer);\n  \t},\n\n  \t_fillStroke: function (ctx, layer) {\n  \t\tvar options = layer.options;\n\n  \t\tif (options.fill) {\n  \t\t\tctx.globalAlpha = options.fillOpacity;\n  \t\t\tctx.fillStyle = options.fillColor || options.color;\n  \t\t\tctx.fill(options.fillRule || 'evenodd');\n  \t\t}\n\n  \t\tif (options.stroke && options.weight !== 0) {\n  \t\t\tif (ctx.setLineDash) {\n  \t\t\t\tctx.setLineDash(layer.options && layer.options._dashArray || []);\n  \t\t\t}\n  \t\t\tctx.globalAlpha = options.opacity;\n  \t\t\tctx.lineWidth = options.weight;\n  \t\t\tctx.strokeStyle = options.color;\n  \t\t\tctx.lineCap = options.lineCap;\n  \t\t\tctx.lineJoin = options.lineJoin;\n  \t\t\tctx.stroke();\n  \t\t}\n  \t},\n\n  \t// Canvas obviously doesn't have mouse events for individual drawn objects,\n  \t// so we emulate that by calculating what's under the mouse on mousemove/click manually\n\n  \t_onClick: function (e) {\n  \t\tvar point = this._map.mouseEventToLayerPoint(e), layer, clickedLayer;\n\n  \t\tfor (var order = this._drawFirst; order; order = order.next) {\n  \t\t\tlayer = order.layer;\n  \t\t\tif (layer.options.interactive && layer._containsPoint(point)) {\n  \t\t\t\tif (!(e.type === 'click' || e.type === 'preclick') || !this._map._draggableMoved(layer)) {\n  \t\t\t\t\tclickedLayer = layer;\n  \t\t\t\t}\n  \t\t\t}\n  \t\t}\n  \t\tthis._fireEvent(clickedLayer ? [clickedLayer] : false, e);\n  \t},\n\n  \t_onMouseMove: function (e) {\n  \t\tif (!this._map || this._map.dragging.moving() || this._map._animatingZoom) { return; }\n\n  \t\tvar point = this._map.mouseEventToLayerPoint(e);\n  \t\tthis._handleMouseHover(e, point);\n  \t},\n\n\n  \t_handleMouseOut: function (e) {\n  \t\tvar layer = this._hoveredLayer;\n  \t\tif (layer) {\n  \t\t\t// if we're leaving the layer, fire mouseout\n  \t\t\tremoveClass(this._container, 'leaflet-interactive');\n  \t\t\tthis._fireEvent([layer], e, 'mouseout');\n  \t\t\tthis._hoveredLayer = null;\n  \t\t\tthis._mouseHoverThrottled = false;\n  \t\t}\n  \t},\n\n  \t_handleMouseHover: function (e, point) {\n  \t\tif (this._mouseHoverThrottled) {\n  \t\t\treturn;\n  \t\t}\n\n  \t\tvar layer, candidateHoveredLayer;\n\n  \t\tfor (var order = this._drawFirst; order; order = order.next) {\n  \t\t\tlayer = order.layer;\n  \t\t\tif (layer.options.interactive && layer._containsPoint(point)) {\n  \t\t\t\tcandidateHoveredLayer = layer;\n  \t\t\t}\n  \t\t}\n\n  \t\tif (candidateHoveredLayer !== this._hoveredLayer) {\n  \t\t\tthis._handleMouseOut(e);\n\n  \t\t\tif (candidateHoveredLayer) {\n  \t\t\t\taddClass(this._container, 'leaflet-interactive'); // change cursor\n  \t\t\t\tthis._fireEvent([candidateHoveredLayer], e, 'mouseover');\n  \t\t\t\tthis._hoveredLayer = candidateHoveredLayer;\n  \t\t\t}\n  \t\t}\n\n  \t\tthis._fireEvent(this._hoveredLayer ? [this._hoveredLayer] : false, e);\n\n  \t\tthis._mouseHoverThrottled = true;\n  \t\tsetTimeout(bind(function () {\n  \t\t\tthis._mouseHoverThrottled = false;\n  \t\t}, this), 32);\n  \t},\n\n  \t_fireEvent: function (layers, e, type) {\n  \t\tthis._map._fireDOMEvent(e, type || e.type, layers);\n  \t},\n\n  \t_bringToFront: function (layer) {\n  \t\tvar order = layer._order;\n\n  \t\tif (!order) { return; }\n\n  \t\tvar next = order.next;\n  \t\tvar prev = order.prev;\n\n  \t\tif (next) {\n  \t\t\tnext.prev = prev;\n  \t\t} else {\n  \t\t\t// Already last\n  \t\t\treturn;\n  \t\t}\n  \t\tif (prev) {\n  \t\t\tprev.next = next;\n  \t\t} else if (next) {\n  \t\t\t// Update first entry unless this is the\n  \t\t\t// single entry\n  \t\t\tthis._drawFirst = next;\n  \t\t}\n\n  \t\torder.prev = this._drawLast;\n  \t\tthis._drawLast.next = order;\n\n  \t\torder.next = null;\n  \t\tthis._drawLast = order;\n\n  \t\tthis._requestRedraw(layer);\n  \t},\n\n  \t_bringToBack: function (layer) {\n  \t\tvar order = layer._order;\n\n  \t\tif (!order) { return; }\n\n  \t\tvar next = order.next;\n  \t\tvar prev = order.prev;\n\n  \t\tif (prev) {\n  \t\t\tprev.next = next;\n  \t\t} else {\n  \t\t\t// Already first\n  \t\t\treturn;\n  \t\t}\n  \t\tif (next) {\n  \t\t\tnext.prev = prev;\n  \t\t} else if (prev) {\n  \t\t\t// Update last entry unless this is the\n  \t\t\t// single entry\n  \t\t\tthis._drawLast = prev;\n  \t\t}\n\n  \t\torder.prev = null;\n\n  \t\torder.next = this._drawFirst;\n  \t\tthis._drawFirst.prev = order;\n  \t\tthis._drawFirst = order;\n\n  \t\tthis._requestRedraw(layer);\n  \t}\n  });\n\n  // @factory L.canvas(options?: Renderer options)\n  // Creates a Canvas renderer with the given options.\n  function canvas(options) {\n  \treturn Browser.canvas ? new Canvas(options) : null;\n  }\n\n  /*\n   * Thanks to Dmitry Baranovsky and his Raphael library for inspiration!\n   */\n\n\n  var vmlCreate = (function () {\n  \ttry {\n  \t\tdocument.namespaces.add('lvml', 'urn:schemas-microsoft-com:vml');\n  \t\treturn function (name) {\n  \t\t\treturn document.createElement('<lvml:' + name + ' class=\"lvml\">');\n  \t\t};\n  \t} catch (e) {\n  \t\t// Do not return fn from catch block so `e` can be garbage collected\n  \t\t// See https://github.com/Leaflet/Leaflet/pull/7279\n  \t}\n  \treturn function (name) {\n  \t\treturn document.createElement('<' + name + ' xmlns=\"urn:schemas-microsoft.com:vml\" class=\"lvml\">');\n  \t};\n  })();\n\n\n  /*\n   * @class SVG\n   *\n   *\n   * VML was deprecated in 2012, which means VML functionality exists only for backwards compatibility\n   * with old versions of Internet Explorer.\n   */\n\n  // mixin to redefine some SVG methods to handle VML syntax which is similar but with some differences\n  var vmlMixin = {\n\n  \t_initContainer: function () {\n  \t\tthis._container = create$1('div', 'leaflet-vml-container');\n  \t},\n\n  \t_update: function () {\n  \t\tif (this._map._animatingZoom) { return; }\n  \t\tRenderer.prototype._update.call(this);\n  \t\tthis.fire('update');\n  \t},\n\n  \t_initPath: function (layer) {\n  \t\tvar container = layer._container = vmlCreate('shape');\n\n  \t\taddClass(container, 'leaflet-vml-shape ' + (this.options.className || ''));\n\n  \t\tcontainer.coordsize = '1 1';\n\n  \t\tlayer._path = vmlCreate('path');\n  \t\tcontainer.appendChild(layer._path);\n\n  \t\tthis._updateStyle(layer);\n  \t\tthis._layers[stamp(layer)] = layer;\n  \t},\n\n  \t_addPath: function (layer) {\n  \t\tvar container = layer._container;\n  \t\tthis._container.appendChild(container);\n\n  \t\tif (layer.options.interactive) {\n  \t\t\tlayer.addInteractiveTarget(container);\n  \t\t}\n  \t},\n\n  \t_removePath: function (layer) {\n  \t\tvar container = layer._container;\n  \t\tremove(container);\n  \t\tlayer.removeInteractiveTarget(container);\n  \t\tdelete this._layers[stamp(layer)];\n  \t},\n\n  \t_updateStyle: function (layer) {\n  \t\tvar stroke = layer._stroke,\n  \t\t    fill = layer._fill,\n  \t\t    options = layer.options,\n  \t\t    container = layer._container;\n\n  \t\tcontainer.stroked = !!options.stroke;\n  \t\tcontainer.filled = !!options.fill;\n\n  \t\tif (options.stroke) {\n  \t\t\tif (!stroke) {\n  \t\t\t\tstroke = layer._stroke = vmlCreate('stroke');\n  \t\t\t}\n  \t\t\tcontainer.appendChild(stroke);\n  \t\t\tstroke.weight = options.weight + 'px';\n  \t\t\tstroke.color = options.color;\n  \t\t\tstroke.opacity = options.opacity;\n\n  \t\t\tif (options.dashArray) {\n  \t\t\t\tstroke.dashStyle = isArray(options.dashArray) ?\n  \t\t\t\t    options.dashArray.join(' ') :\n  \t\t\t\t    options.dashArray.replace(/( *, *)/g, ' ');\n  \t\t\t} else {\n  \t\t\t\tstroke.dashStyle = '';\n  \t\t\t}\n  \t\t\tstroke.endcap = options.lineCap.replace('butt', 'flat');\n  \t\t\tstroke.joinstyle = options.lineJoin;\n\n  \t\t} else if (stroke) {\n  \t\t\tcontainer.removeChild(stroke);\n  \t\t\tlayer._stroke = null;\n  \t\t}\n\n  \t\tif (options.fill) {\n  \t\t\tif (!fill) {\n  \t\t\t\tfill = layer._fill = vmlCreate('fill');\n  \t\t\t}\n  \t\t\tcontainer.appendChild(fill);\n  \t\t\tfill.color = options.fillColor || options.color;\n  \t\t\tfill.opacity = options.fillOpacity;\n\n  \t\t} else if (fill) {\n  \t\t\tcontainer.removeChild(fill);\n  \t\t\tlayer._fill = null;\n  \t\t}\n  \t},\n\n  \t_updateCircle: function (layer) {\n  \t\tvar p = layer._point.round(),\n  \t\t    r = Math.round(layer._radius),\n  \t\t    r2 = Math.round(layer._radiusY || r);\n\n  \t\tthis._setPath(layer, layer._empty() ? 'M0 0' :\n  \t\t\t'AL ' + p.x + ',' + p.y + ' ' + r + ',' + r2 + ' 0,' + (65535 * 360));\n  \t},\n\n  \t_setPath: function (layer, path) {\n  \t\tlayer._path.v = path;\n  \t},\n\n  \t_bringToFront: function (layer) {\n  \t\ttoFront(layer._container);\n  \t},\n\n  \t_bringToBack: function (layer) {\n  \t\ttoBack(layer._container);\n  \t}\n  };\n\n  var create = Browser.vml ? vmlCreate : svgCreate;\n\n  /*\n   * @class SVG\n   * @inherits Renderer\n   * @aka L.SVG\n   *\n   * Allows vector layers to be displayed with [SVG](https://developer.mozilla.org/docs/Web/SVG).\n   * Inherits `Renderer`.\n   *\n   * Due to [technical limitations](https://caniuse.com/svg), SVG is not\n   * available in all web browsers, notably Android 2.x and 3.x.\n   *\n   * Although SVG is not available on IE7 and IE8, these browsers support\n   * [VML](https://en.wikipedia.org/wiki/Vector_Markup_Language)\n   * (a now deprecated technology), and the SVG renderer will fall back to VML in\n   * this case.\n   *\n   * @example\n   *\n   * Use SVG by default for all paths in the map:\n   *\n   * ```js\n   * var map = L.map('map', {\n   * \trenderer: L.svg()\n   * });\n   * ```\n   *\n   * Use a SVG renderer with extra padding for specific vector geometries:\n   *\n   * ```js\n   * var map = L.map('map');\n   * var myRenderer = L.svg({ padding: 0.5 });\n   * var line = L.polyline( coordinates, { renderer: myRenderer } );\n   * var circle = L.circle( center, { renderer: myRenderer } );\n   * ```\n   */\n\n  var SVG = Renderer.extend({\n\n  \t_initContainer: function () {\n  \t\tthis._container = create('svg');\n\n  \t\t// makes it possible to click through svg root; we'll reset it back in individual paths\n  \t\tthis._container.setAttribute('pointer-events', 'none');\n\n  \t\tthis._rootGroup = create('g');\n  \t\tthis._container.appendChild(this._rootGroup);\n  \t},\n\n  \t_destroyContainer: function () {\n  \t\tremove(this._container);\n  \t\toff(this._container);\n  \t\tdelete this._container;\n  \t\tdelete this._rootGroup;\n  \t\tdelete this._svgSize;\n  \t},\n\n  \t_update: function () {\n  \t\tif (this._map._animatingZoom && this._bounds) { return; }\n\n  \t\tRenderer.prototype._update.call(this);\n\n  \t\tvar b = this._bounds,\n  \t\t    size = b.getSize(),\n  \t\t    container = this._container;\n\n  \t\t// set size of svg-container if changed\n  \t\tif (!this._svgSize || !this._svgSize.equals(size)) {\n  \t\t\tthis._svgSize = size;\n  \t\t\tcontainer.setAttribute('width', size.x);\n  \t\t\tcontainer.setAttribute('height', size.y);\n  \t\t}\n\n  \t\t// movement: update container viewBox so that we don't have to change coordinates of individual layers\n  \t\tsetPosition(container, b.min);\n  \t\tcontainer.setAttribute('viewBox', [b.min.x, b.min.y, size.x, size.y].join(' '));\n\n  \t\tthis.fire('update');\n  \t},\n\n  \t// methods below are called by vector layers implementations\n\n  \t_initPath: function (layer) {\n  \t\tvar path = layer._path = create('path');\n\n  \t\t// @namespace Path\n  \t\t// @option className: String = null\n  \t\t// Custom class name set on an element. Only for SVG renderer.\n  \t\tif (layer.options.className) {\n  \t\t\taddClass(path, layer.options.className);\n  \t\t}\n\n  \t\tif (layer.options.interactive) {\n  \t\t\taddClass(path, 'leaflet-interactive');\n  \t\t}\n\n  \t\tthis._updateStyle(layer);\n  \t\tthis._layers[stamp(layer)] = layer;\n  \t},\n\n  \t_addPath: function (layer) {\n  \t\tif (!this._rootGroup) { this._initContainer(); }\n  \t\tthis._rootGroup.appendChild(layer._path);\n  \t\tlayer.addInteractiveTarget(layer._path);\n  \t},\n\n  \t_removePath: function (layer) {\n  \t\tremove(layer._path);\n  \t\tlayer.removeInteractiveTarget(layer._path);\n  \t\tdelete this._layers[stamp(layer)];\n  \t},\n\n  \t_updatePath: function (layer) {\n  \t\tlayer._project();\n  \t\tlayer._update();\n  \t},\n\n  \t_updateStyle: function (layer) {\n  \t\tvar path = layer._path,\n  \t\t    options = layer.options;\n\n  \t\tif (!path) { return; }\n\n  \t\tif (options.stroke) {\n  \t\t\tpath.setAttribute('stroke', options.color);\n  \t\t\tpath.setAttribute('stroke-opacity', options.opacity);\n  \t\t\tpath.setAttribute('stroke-width', options.weight);\n  \t\t\tpath.setAttribute('stroke-linecap', options.lineCap);\n  \t\t\tpath.setAttribute('stroke-linejoin', options.lineJoin);\n\n  \t\t\tif (options.dashArray) {\n  \t\t\t\tpath.setAttribute('stroke-dasharray', options.dashArray);\n  \t\t\t} else {\n  \t\t\t\tpath.removeAttribute('stroke-dasharray');\n  \t\t\t}\n\n  \t\t\tif (options.dashOffset) {\n  \t\t\t\tpath.setAttribute('stroke-dashoffset', options.dashOffset);\n  \t\t\t} else {\n  \t\t\t\tpath.removeAttribute('stroke-dashoffset');\n  \t\t\t}\n  \t\t} else {\n  \t\t\tpath.setAttribute('stroke', 'none');\n  \t\t}\n\n  \t\tif (options.fill) {\n  \t\t\tpath.setAttribute('fill', options.fillColor || options.color);\n  \t\t\tpath.setAttribute('fill-opacity', options.fillOpacity);\n  \t\t\tpath.setAttribute('fill-rule', options.fillRule || 'evenodd');\n  \t\t} else {\n  \t\t\tpath.setAttribute('fill', 'none');\n  \t\t}\n  \t},\n\n  \t_updatePoly: function (layer, closed) {\n  \t\tthis._setPath(layer, pointsToPath(layer._parts, closed));\n  \t},\n\n  \t_updateCircle: function (layer) {\n  \t\tvar p = layer._point,\n  \t\t    r = Math.max(Math.round(layer._radius), 1),\n  \t\t    r2 = Math.max(Math.round(layer._radiusY), 1) || r,\n  \t\t    arc = 'a' + r + ',' + r2 + ' 0 1,0 ';\n\n  \t\t// drawing a circle with two half-arcs\n  \t\tvar d = layer._empty() ? 'M0 0' :\n  \t\t\t'M' + (p.x - r) + ',' + p.y +\n  \t\t\tarc + (r * 2) + ',0 ' +\n  \t\t\tarc + (-r * 2) + ',0 ';\n\n  \t\tthis._setPath(layer, d);\n  \t},\n\n  \t_setPath: function (layer, path) {\n  \t\tlayer._path.setAttribute('d', path);\n  \t},\n\n  \t// SVG does not have the concept of zIndex so we resort to changing the DOM order of elements\n  \t_bringToFront: function (layer) {\n  \t\ttoFront(layer._path);\n  \t},\n\n  \t_bringToBack: function (layer) {\n  \t\ttoBack(layer._path);\n  \t}\n  });\n\n  if (Browser.vml) {\n  \tSVG.include(vmlMixin);\n  }\n\n  // @namespace SVG\n  // @factory L.svg(options?: Renderer options)\n  // Creates a SVG renderer with the given options.\n  function svg(options) {\n  \treturn Browser.svg || Browser.vml ? new SVG(options) : null;\n  }\n\n  Map.include({\n  \t// @namespace Map; @method getRenderer(layer: Path): Renderer\n  \t// Returns the instance of `Renderer` that should be used to render the given\n  \t// `Path`. It will ensure that the `renderer` options of the map and paths\n  \t// are respected, and that the renderers do exist on the map.\n  \tgetRenderer: function (layer) {\n  \t\t// @namespace Path; @option renderer: Renderer\n  \t\t// Use this specific instance of `Renderer` for this path. Takes\n  \t\t// precedence over the map's [default renderer](#map-renderer).\n  \t\tvar renderer = layer.options.renderer || this._getPaneRenderer(layer.options.pane) || this.options.renderer || this._renderer;\n\n  \t\tif (!renderer) {\n  \t\t\trenderer = this._renderer = this._createRenderer();\n  \t\t}\n\n  \t\tif (!this.hasLayer(renderer)) {\n  \t\t\tthis.addLayer(renderer);\n  \t\t}\n  \t\treturn renderer;\n  \t},\n\n  \t_getPaneRenderer: function (name) {\n  \t\tif (name === 'overlayPane' || name === undefined) {\n  \t\t\treturn false;\n  \t\t}\n\n  \t\tvar renderer = this._paneRenderers[name];\n  \t\tif (renderer === undefined) {\n  \t\t\trenderer = this._createRenderer({pane: name});\n  \t\t\tthis._paneRenderers[name] = renderer;\n  \t\t}\n  \t\treturn renderer;\n  \t},\n\n  \t_createRenderer: function (options) {\n  \t\t// @namespace Map; @option preferCanvas: Boolean = false\n  \t\t// Whether `Path`s should be rendered on a `Canvas` renderer.\n  \t\t// By default, all `Path`s are rendered in a `SVG` renderer.\n  \t\treturn (this.options.preferCanvas && canvas(options)) || svg(options);\n  \t}\n  });\n\n  /*\n   * L.Rectangle extends Polygon and creates a rectangle when passed a LatLngBounds object.\n   */\n\n  /*\n   * @class Rectangle\n   * @aka L.Rectangle\n   * @inherits Polygon\n   *\n   * A class for drawing rectangle overlays on a map. Extends `Polygon`.\n   *\n   * @example\n   *\n   * ```js\n   * // define rectangle geographical bounds\n   * var bounds = [[54.559322, -5.767822], [56.1210604, -3.021240]];\n   *\n   * // create an orange rectangle\n   * L.rectangle(bounds, {color: \"#ff7800\", weight: 1}).addTo(map);\n   *\n   * // zoom the map to the rectangle bounds\n   * map.fitBounds(bounds);\n   * ```\n   *\n   */\n\n\n  var Rectangle = Polygon.extend({\n  \tinitialize: function (latLngBounds, options) {\n  \t\tPolygon.prototype.initialize.call(this, this._boundsToLatLngs(latLngBounds), options);\n  \t},\n\n  \t// @method setBounds(latLngBounds: LatLngBounds): this\n  \t// Redraws the rectangle with the passed bounds.\n  \tsetBounds: function (latLngBounds) {\n  \t\treturn this.setLatLngs(this._boundsToLatLngs(latLngBounds));\n  \t},\n\n  \t_boundsToLatLngs: function (latLngBounds) {\n  \t\tlatLngBounds = toLatLngBounds(latLngBounds);\n  \t\treturn [\n  \t\t\tlatLngBounds.getSouthWest(),\n  \t\t\tlatLngBounds.getNorthWest(),\n  \t\t\tlatLngBounds.getNorthEast(),\n  \t\t\tlatLngBounds.getSouthEast()\n  \t\t];\n  \t}\n  });\n\n\n  // @factory L.rectangle(latLngBounds: LatLngBounds, options?: Polyline options)\n  function rectangle(latLngBounds, options) {\n  \treturn new Rectangle(latLngBounds, options);\n  }\n\n  SVG.create = create;\n  SVG.pointsToPath = pointsToPath;\n\n  GeoJSON.geometryToLayer = geometryToLayer;\n  GeoJSON.coordsToLatLng = coordsToLatLng;\n  GeoJSON.coordsToLatLngs = coordsToLatLngs;\n  GeoJSON.latLngToCoords = latLngToCoords;\n  GeoJSON.latLngsToCoords = latLngsToCoords;\n  GeoJSON.getFeature = getFeature;\n  GeoJSON.asFeature = asFeature;\n\n  /*\n   * L.Handler.BoxZoom is used to add shift-drag zoom interaction to the map\n   * (zoom to a selected bounding box), enabled by default.\n   */\n\n  // @namespace Map\n  // @section Interaction Options\n  Map.mergeOptions({\n  \t// @option boxZoom: Boolean = true\n  \t// Whether the map can be zoomed to a rectangular area specified by\n  \t// dragging the mouse while pressing the shift key.\n  \tboxZoom: true\n  });\n\n  var BoxZoom = Handler.extend({\n  \tinitialize: function (map) {\n  \t\tthis._map = map;\n  \t\tthis._container = map._container;\n  \t\tthis._pane = map._panes.overlayPane;\n  \t\tthis._resetStateTimeout = 0;\n  \t\tmap.on('unload', this._destroy, this);\n  \t},\n\n  \taddHooks: function () {\n  \t\ton(this._container, 'mousedown', this._onMouseDown, this);\n  \t},\n\n  \tremoveHooks: function () {\n  \t\toff(this._container, 'mousedown', this._onMouseDown, this);\n  \t},\n\n  \tmoved: function () {\n  \t\treturn this._moved;\n  \t},\n\n  \t_destroy: function () {\n  \t\tremove(this._pane);\n  \t\tdelete this._pane;\n  \t},\n\n  \t_resetState: function () {\n  \t\tthis._resetStateTimeout = 0;\n  \t\tthis._moved = false;\n  \t},\n\n  \t_clearDeferredResetState: function () {\n  \t\tif (this._resetStateTimeout !== 0) {\n  \t\t\tclearTimeout(this._resetStateTimeout);\n  \t\t\tthis._resetStateTimeout = 0;\n  \t\t}\n  \t},\n\n  \t_onMouseDown: function (e) {\n  \t\tif (!e.shiftKey || ((e.which !== 1) && (e.button !== 1))) { return false; }\n\n  \t\t// Clear the deferred resetState if it hasn't executed yet, otherwise it\n  \t\t// will interrupt the interaction and orphan a box element in the container.\n  \t\tthis._clearDeferredResetState();\n  \t\tthis._resetState();\n\n  \t\tdisableTextSelection();\n  \t\tdisableImageDrag();\n\n  \t\tthis._startPoint = this._map.mouseEventToContainerPoint(e);\n\n  \t\ton(document, {\n  \t\t\tcontextmenu: stop,\n  \t\t\tmousemove: this._onMouseMove,\n  \t\t\tmouseup: this._onMouseUp,\n  \t\t\tkeydown: this._onKeyDown\n  \t\t}, this);\n  \t},\n\n  \t_onMouseMove: function (e) {\n  \t\tif (!this._moved) {\n  \t\t\tthis._moved = true;\n\n  \t\t\tthis._box = create$1('div', 'leaflet-zoom-box', this._container);\n  \t\t\taddClass(this._container, 'leaflet-crosshair');\n\n  \t\t\tthis._map.fire('boxzoomstart');\n  \t\t}\n\n  \t\tthis._point = this._map.mouseEventToContainerPoint(e);\n\n  \t\tvar bounds = new Bounds(this._point, this._startPoint),\n  \t\t    size = bounds.getSize();\n\n  \t\tsetPosition(this._box, bounds.min);\n\n  \t\tthis._box.style.width  = size.x + 'px';\n  \t\tthis._box.style.height = size.y + 'px';\n  \t},\n\n  \t_finish: function () {\n  \t\tif (this._moved) {\n  \t\t\tremove(this._box);\n  \t\t\tremoveClass(this._container, 'leaflet-crosshair');\n  \t\t}\n\n  \t\tenableTextSelection();\n  \t\tenableImageDrag();\n\n  \t\toff(document, {\n  \t\t\tcontextmenu: stop,\n  \t\t\tmousemove: this._onMouseMove,\n  \t\t\tmouseup: this._onMouseUp,\n  \t\t\tkeydown: this._onKeyDown\n  \t\t}, this);\n  \t},\n\n  \t_onMouseUp: function (e) {\n  \t\tif ((e.which !== 1) && (e.button !== 1)) { return; }\n\n  \t\tthis._finish();\n\n  \t\tif (!this._moved) { return; }\n  \t\t// Postpone to next JS tick so internal click event handling\n  \t\t// still see it as \"moved\".\n  \t\tthis._clearDeferredResetState();\n  \t\tthis._resetStateTimeout = setTimeout(bind(this._resetState, this), 0);\n\n  \t\tvar bounds = new LatLngBounds(\n  \t\t        this._map.containerPointToLatLng(this._startPoint),\n  \t\t        this._map.containerPointToLatLng(this._point));\n\n  \t\tthis._map\n  \t\t\t.fitBounds(bounds)\n  \t\t\t.fire('boxzoomend', {boxZoomBounds: bounds});\n  \t},\n\n  \t_onKeyDown: function (e) {\n  \t\tif (e.keyCode === 27) {\n  \t\t\tthis._finish();\n  \t\t\tthis._clearDeferredResetState();\n  \t\t\tthis._resetState();\n  \t\t}\n  \t}\n  });\n\n  // @section Handlers\n  // @property boxZoom: Handler\n  // Box (shift-drag with mouse) zoom handler.\n  Map.addInitHook('addHandler', 'boxZoom', BoxZoom);\n\n  /*\n   * L.Handler.DoubleClickZoom is used to handle double-click zoom on the map, enabled by default.\n   */\n\n  // @namespace Map\n  // @section Interaction Options\n\n  Map.mergeOptions({\n  \t// @option doubleClickZoom: Boolean|String = true\n  \t// Whether the map can be zoomed in by double clicking on it and\n  \t// zoomed out by double clicking while holding shift. If passed\n  \t// `'center'`, double-click zoom will zoom to the center of the\n  \t//  view regardless of where the mouse was.\n  \tdoubleClickZoom: true\n  });\n\n  var DoubleClickZoom = Handler.extend({\n  \taddHooks: function () {\n  \t\tthis._map.on('dblclick', this._onDoubleClick, this);\n  \t},\n\n  \tremoveHooks: function () {\n  \t\tthis._map.off('dblclick', this._onDoubleClick, this);\n  \t},\n\n  \t_onDoubleClick: function (e) {\n  \t\tvar map = this._map,\n  \t\t    oldZoom = map.getZoom(),\n  \t\t    delta = map.options.zoomDelta,\n  \t\t    zoom = e.originalEvent.shiftKey ? oldZoom - delta : oldZoom + delta;\n\n  \t\tif (map.options.doubleClickZoom === 'center') {\n  \t\t\tmap.setZoom(zoom);\n  \t\t} else {\n  \t\t\tmap.setZoomAround(e.containerPoint, zoom);\n  \t\t}\n  \t}\n  });\n\n  // @section Handlers\n  //\n  // Map properties include interaction handlers that allow you to control\n  // interaction behavior in runtime, enabling or disabling certain features such\n  // as dragging or touch zoom (see `Handler` methods). For example:\n  //\n  // ```js\n  // map.doubleClickZoom.disable();\n  // ```\n  //\n  // @property doubleClickZoom: Handler\n  // Double click zoom handler.\n  Map.addInitHook('addHandler', 'doubleClickZoom', DoubleClickZoom);\n\n  /*\n   * L.Handler.MapDrag is used to make the map draggable (with panning inertia), enabled by default.\n   */\n\n  // @namespace Map\n  // @section Interaction Options\n  Map.mergeOptions({\n  \t// @option dragging: Boolean = true\n  \t// Whether the map is draggable with mouse/touch or not.\n  \tdragging: true,\n\n  \t// @section Panning Inertia Options\n  \t// @option inertia: Boolean = *\n  \t// If enabled, panning of the map will have an inertia effect where\n  \t// the map builds momentum while dragging and continues moving in\n  \t// the same direction for some time. Feels especially nice on touch\n  \t// devices. Enabled by default.\n  \tinertia: true,\n\n  \t// @option inertiaDeceleration: Number = 3000\n  \t// The rate with which the inertial movement slows down, in pixels/second².\n  \tinertiaDeceleration: 3400, // px/s^2\n\n  \t// @option inertiaMaxSpeed: Number = Infinity\n  \t// Max speed of the inertial movement, in pixels/second.\n  \tinertiaMaxSpeed: Infinity, // px/s\n\n  \t// @option easeLinearity: Number = 0.2\n  \teaseLinearity: 0.2,\n\n  \t// TODO refactor, move to CRS\n  \t// @option worldCopyJump: Boolean = false\n  \t// With this option enabled, the map tracks when you pan to another \"copy\"\n  \t// of the world and seamlessly jumps to the original one so that all overlays\n  \t// like markers and vector layers are still visible.\n  \tworldCopyJump: false,\n\n  \t// @option maxBoundsViscosity: Number = 0.0\n  \t// If `maxBounds` is set, this option will control how solid the bounds\n  \t// are when dragging the map around. The default value of `0.0` allows the\n  \t// user to drag outside the bounds at normal speed, higher values will\n  \t// slow down map dragging outside bounds, and `1.0` makes the bounds fully\n  \t// solid, preventing the user from dragging outside the bounds.\n  \tmaxBoundsViscosity: 0.0\n  });\n\n  var Drag = Handler.extend({\n  \taddHooks: function () {\n  \t\tif (!this._draggable) {\n  \t\t\tvar map = this._map;\n\n  \t\t\tthis._draggable = new Draggable(map._mapPane, map._container);\n\n  \t\t\tthis._draggable.on({\n  \t\t\t\tdragstart: this._onDragStart,\n  \t\t\t\tdrag: this._onDrag,\n  \t\t\t\tdragend: this._onDragEnd\n  \t\t\t}, this);\n\n  \t\t\tthis._draggable.on('predrag', this._onPreDragLimit, this);\n  \t\t\tif (map.options.worldCopyJump) {\n  \t\t\t\tthis._draggable.on('predrag', this._onPreDragWrap, this);\n  \t\t\t\tmap.on('zoomend', this._onZoomEnd, this);\n\n  \t\t\t\tmap.whenReady(this._onZoomEnd, this);\n  \t\t\t}\n  \t\t}\n  \t\taddClass(this._map._container, 'leaflet-grab leaflet-touch-drag');\n  \t\tthis._draggable.enable();\n  \t\tthis._positions = [];\n  \t\tthis._times = [];\n  \t},\n\n  \tremoveHooks: function () {\n  \t\tremoveClass(this._map._container, 'leaflet-grab');\n  \t\tremoveClass(this._map._container, 'leaflet-touch-drag');\n  \t\tthis._draggable.disable();\n  \t},\n\n  \tmoved: function () {\n  \t\treturn this._draggable && this._draggable._moved;\n  \t},\n\n  \tmoving: function () {\n  \t\treturn this._draggable && this._draggable._moving;\n  \t},\n\n  \t_onDragStart: function () {\n  \t\tvar map = this._map;\n\n  \t\tmap._stop();\n  \t\tif (this._map.options.maxBounds && this._map.options.maxBoundsViscosity) {\n  \t\t\tvar bounds = toLatLngBounds(this._map.options.maxBounds);\n\n  \t\t\tthis._offsetLimit = toBounds(\n  \t\t\t\tthis._map.latLngToContainerPoint(bounds.getNorthWest()).multiplyBy(-1),\n  \t\t\t\tthis._map.latLngToContainerPoint(bounds.getSouthEast()).multiplyBy(-1)\n  \t\t\t\t\t.add(this._map.getSize()));\n\n  \t\t\tthis._viscosity = Math.min(1.0, Math.max(0.0, this._map.options.maxBoundsViscosity));\n  \t\t} else {\n  \t\t\tthis._offsetLimit = null;\n  \t\t}\n\n  \t\tmap\n  \t\t    .fire('movestart')\n  \t\t    .fire('dragstart');\n\n  \t\tif (map.options.inertia) {\n  \t\t\tthis._positions = [];\n  \t\t\tthis._times = [];\n  \t\t}\n  \t},\n\n  \t_onDrag: function (e) {\n  \t\tif (this._map.options.inertia) {\n  \t\t\tvar time = this._lastTime = +new Date(),\n  \t\t\t    pos = this._lastPos = this._draggable._absPos || this._draggable._newPos;\n\n  \t\t\tthis._positions.push(pos);\n  \t\t\tthis._times.push(time);\n\n  \t\t\tthis._prunePositions(time);\n  \t\t}\n\n  \t\tthis._map\n  \t\t    .fire('move', e)\n  \t\t    .fire('drag', e);\n  \t},\n\n  \t_prunePositions: function (time) {\n  \t\twhile (this._positions.length > 1 && time - this._times[0] > 50) {\n  \t\t\tthis._positions.shift();\n  \t\t\tthis._times.shift();\n  \t\t}\n  \t},\n\n  \t_onZoomEnd: function () {\n  \t\tvar pxCenter = this._map.getSize().divideBy(2),\n  \t\t    pxWorldCenter = this._map.latLngToLayerPoint([0, 0]);\n\n  \t\tthis._initialWorldOffset = pxWorldCenter.subtract(pxCenter).x;\n  \t\tthis._worldWidth = this._map.getPixelWorldBounds().getSize().x;\n  \t},\n\n  \t_viscousLimit: function (value, threshold) {\n  \t\treturn value - (value - threshold) * this._viscosity;\n  \t},\n\n  \t_onPreDragLimit: function () {\n  \t\tif (!this._viscosity || !this._offsetLimit) { return; }\n\n  \t\tvar offset = this._draggable._newPos.subtract(this._draggable._startPos);\n\n  \t\tvar limit = this._offsetLimit;\n  \t\tif (offset.x < limit.min.x) { offset.x = this._viscousLimit(offset.x, limit.min.x); }\n  \t\tif (offset.y < limit.min.y) { offset.y = this._viscousLimit(offset.y, limit.min.y); }\n  \t\tif (offset.x > limit.max.x) { offset.x = this._viscousLimit(offset.x, limit.max.x); }\n  \t\tif (offset.y > limit.max.y) { offset.y = this._viscousLimit(offset.y, limit.max.y); }\n\n  \t\tthis._draggable._newPos = this._draggable._startPos.add(offset);\n  \t},\n\n  \t_onPreDragWrap: function () {\n  \t\t// TODO refactor to be able to adjust map pane position after zoom\n  \t\tvar worldWidth = this._worldWidth,\n  \t\t    halfWidth = Math.round(worldWidth / 2),\n  \t\t    dx = this._initialWorldOffset,\n  \t\t    x = this._draggable._newPos.x,\n  \t\t    newX1 = (x - halfWidth + dx) % worldWidth + halfWidth - dx,\n  \t\t    newX2 = (x + halfWidth + dx) % worldWidth - halfWidth - dx,\n  \t\t    newX = Math.abs(newX1 + dx) < Math.abs(newX2 + dx) ? newX1 : newX2;\n\n  \t\tthis._draggable._absPos = this._draggable._newPos.clone();\n  \t\tthis._draggable._newPos.x = newX;\n  \t},\n\n  \t_onDragEnd: function (e) {\n  \t\tvar map = this._map,\n  \t\t    options = map.options,\n\n  \t\t    noInertia = !options.inertia || e.noInertia || this._times.length < 2;\n\n  \t\tmap.fire('dragend', e);\n\n  \t\tif (noInertia) {\n  \t\t\tmap.fire('moveend');\n\n  \t\t} else {\n  \t\t\tthis._prunePositions(+new Date());\n\n  \t\t\tvar direction = this._lastPos.subtract(this._positions[0]),\n  \t\t\t    duration = (this._lastTime - this._times[0]) / 1000,\n  \t\t\t    ease = options.easeLinearity,\n\n  \t\t\t    speedVector = direction.multiplyBy(ease / duration),\n  \t\t\t    speed = speedVector.distanceTo([0, 0]),\n\n  \t\t\t    limitedSpeed = Math.min(options.inertiaMaxSpeed, speed),\n  \t\t\t    limitedSpeedVector = speedVector.multiplyBy(limitedSpeed / speed),\n\n  \t\t\t    decelerationDuration = limitedSpeed / (options.inertiaDeceleration * ease),\n  \t\t\t    offset = limitedSpeedVector.multiplyBy(-decelerationDuration / 2).round();\n\n  \t\t\tif (!offset.x && !offset.y) {\n  \t\t\t\tmap.fire('moveend');\n\n  \t\t\t} else {\n  \t\t\t\toffset = map._limitOffset(offset, map.options.maxBounds);\n\n  \t\t\t\trequestAnimFrame(function () {\n  \t\t\t\t\tmap.panBy(offset, {\n  \t\t\t\t\t\tduration: decelerationDuration,\n  \t\t\t\t\t\teaseLinearity: ease,\n  \t\t\t\t\t\tnoMoveStart: true,\n  \t\t\t\t\t\tanimate: true\n  \t\t\t\t\t});\n  \t\t\t\t});\n  \t\t\t}\n  \t\t}\n  \t}\n  });\n\n  // @section Handlers\n  // @property dragging: Handler\n  // Map dragging handler (by both mouse and touch).\n  Map.addInitHook('addHandler', 'dragging', Drag);\n\n  /*\n   * L.Map.Keyboard is handling keyboard interaction with the map, enabled by default.\n   */\n\n  // @namespace Map\n  // @section Keyboard Navigation Options\n  Map.mergeOptions({\n  \t// @option keyboard: Boolean = true\n  \t// Makes the map focusable and allows users to navigate the map with keyboard\n  \t// arrows and `+`/`-` keys.\n  \tkeyboard: true,\n\n  \t// @option keyboardPanDelta: Number = 80\n  \t// Amount of pixels to pan when pressing an arrow key.\n  \tkeyboardPanDelta: 80\n  });\n\n  var Keyboard = Handler.extend({\n\n  \tkeyCodes: {\n  \t\tleft:    [37],\n  \t\tright:   [39],\n  \t\tdown:    [40],\n  \t\tup:      [38],\n  \t\tzoomIn:  [187, 107, 61, 171],\n  \t\tzoomOut: [189, 109, 54, 173]\n  \t},\n\n  \tinitialize: function (map) {\n  \t\tthis._map = map;\n\n  \t\tthis._setPanDelta(map.options.keyboardPanDelta);\n  \t\tthis._setZoomDelta(map.options.zoomDelta);\n  \t},\n\n  \taddHooks: function () {\n  \t\tvar container = this._map._container;\n\n  \t\t// make the container focusable by tabbing\n  \t\tif (container.tabIndex <= 0) {\n  \t\t\tcontainer.tabIndex = '0';\n  \t\t}\n\n  \t\ton(container, {\n  \t\t\tfocus: this._onFocus,\n  \t\t\tblur: this._onBlur,\n  \t\t\tmousedown: this._onMouseDown\n  \t\t}, this);\n\n  \t\tthis._map.on({\n  \t\t\tfocus: this._addHooks,\n  \t\t\tblur: this._removeHooks\n  \t\t}, this);\n  \t},\n\n  \tremoveHooks: function () {\n  \t\tthis._removeHooks();\n\n  \t\toff(this._map._container, {\n  \t\t\tfocus: this._onFocus,\n  \t\t\tblur: this._onBlur,\n  \t\t\tmousedown: this._onMouseDown\n  \t\t}, this);\n\n  \t\tthis._map.off({\n  \t\t\tfocus: this._addHooks,\n  \t\t\tblur: this._removeHooks\n  \t\t}, this);\n  \t},\n\n  \t_onMouseDown: function () {\n  \t\tif (this._focused) { return; }\n\n  \t\tvar body = document.body,\n  \t\t    docEl = document.documentElement,\n  \t\t    top = body.scrollTop || docEl.scrollTop,\n  \t\t    left = body.scrollLeft || docEl.scrollLeft;\n\n  \t\tthis._map._container.focus();\n\n  \t\twindow.scrollTo(left, top);\n  \t},\n\n  \t_onFocus: function () {\n  \t\tthis._focused = true;\n  \t\tthis._map.fire('focus');\n  \t},\n\n  \t_onBlur: function () {\n  \t\tthis._focused = false;\n  \t\tthis._map.fire('blur');\n  \t},\n\n  \t_setPanDelta: function (panDelta) {\n  \t\tvar keys = this._panKeys = {},\n  \t\t    codes = this.keyCodes,\n  \t\t    i, len;\n\n  \t\tfor (i = 0, len = codes.left.length; i < len; i++) {\n  \t\t\tkeys[codes.left[i]] = [-1 * panDelta, 0];\n  \t\t}\n  \t\tfor (i = 0, len = codes.right.length; i < len; i++) {\n  \t\t\tkeys[codes.right[i]] = [panDelta, 0];\n  \t\t}\n  \t\tfor (i = 0, len = codes.down.length; i < len; i++) {\n  \t\t\tkeys[codes.down[i]] = [0, panDelta];\n  \t\t}\n  \t\tfor (i = 0, len = codes.up.length; i < len; i++) {\n  \t\t\tkeys[codes.up[i]] = [0, -1 * panDelta];\n  \t\t}\n  \t},\n\n  \t_setZoomDelta: function (zoomDelta) {\n  \t\tvar keys = this._zoomKeys = {},\n  \t\t    codes = this.keyCodes,\n  \t\t    i, len;\n\n  \t\tfor (i = 0, len = codes.zoomIn.length; i < len; i++) {\n  \t\t\tkeys[codes.zoomIn[i]] = zoomDelta;\n  \t\t}\n  \t\tfor (i = 0, len = codes.zoomOut.length; i < len; i++) {\n  \t\t\tkeys[codes.zoomOut[i]] = -zoomDelta;\n  \t\t}\n  \t},\n\n  \t_addHooks: function () {\n  \t\ton(document, 'keydown', this._onKeyDown, this);\n  \t},\n\n  \t_removeHooks: function () {\n  \t\toff(document, 'keydown', this._onKeyDown, this);\n  \t},\n\n  \t_onKeyDown: function (e) {\n  \t\tif (e.altKey || e.ctrlKey || e.metaKey) { return; }\n\n  \t\tvar key = e.keyCode,\n  \t\t    map = this._map,\n  \t\t    offset;\n\n  \t\tif (key in this._panKeys) {\n  \t\t\tif (!map._panAnim || !map._panAnim._inProgress) {\n  \t\t\t\toffset = this._panKeys[key];\n  \t\t\t\tif (e.shiftKey) {\n  \t\t\t\t\toffset = toPoint(offset).multiplyBy(3);\n  \t\t\t\t}\n\n  \t\t\t\tif (map.options.maxBounds) {\n  \t\t\t\t\toffset = map._limitOffset(toPoint(offset), map.options.maxBounds);\n  \t\t\t\t}\n\n  \t\t\t\tif (map.options.worldCopyJump) {\n  \t\t\t\t\tvar newLatLng = map.wrapLatLng(map.unproject(map.project(map.getCenter()).add(offset)));\n  \t\t\t\t\tmap.panTo(newLatLng);\n  \t\t\t\t} else {\n  \t\t\t\t\tmap.panBy(offset);\n  \t\t\t\t}\n  \t\t\t}\n  \t\t} else if (key in this._zoomKeys) {\n  \t\t\tmap.setZoom(map.getZoom() + (e.shiftKey ? 3 : 1) * this._zoomKeys[key]);\n\n  \t\t} else if (key === 27 && map._popup && map._popup.options.closeOnEscapeKey) {\n  \t\t\tmap.closePopup();\n\n  \t\t} else {\n  \t\t\treturn;\n  \t\t}\n\n  \t\tstop(e);\n  \t}\n  });\n\n  // @section Handlers\n  // @section Handlers\n  // @property keyboard: Handler\n  // Keyboard navigation handler.\n  Map.addInitHook('addHandler', 'keyboard', Keyboard);\n\n  /*\n   * L.Handler.ScrollWheelZoom is used by L.Map to enable mouse scroll wheel zoom on the map.\n   */\n\n  // @namespace Map\n  // @section Interaction Options\n  Map.mergeOptions({\n  \t// @section Mouse wheel options\n  \t// @option scrollWheelZoom: Boolean|String = true\n  \t// Whether the map can be zoomed by using the mouse wheel. If passed `'center'`,\n  \t// it will zoom to the center of the view regardless of where the mouse was.\n  \tscrollWheelZoom: true,\n\n  \t// @option wheelDebounceTime: Number = 40\n  \t// Limits the rate at which a wheel can fire (in milliseconds). By default\n  \t// user can't zoom via wheel more often than once per 40 ms.\n  \twheelDebounceTime: 40,\n\n  \t// @option wheelPxPerZoomLevel: Number = 60\n  \t// How many scroll pixels (as reported by [L.DomEvent.getWheelDelta](#domevent-getwheeldelta))\n  \t// mean a change of one full zoom level. Smaller values will make wheel-zooming\n  \t// faster (and vice versa).\n  \twheelPxPerZoomLevel: 60\n  });\n\n  var ScrollWheelZoom = Handler.extend({\n  \taddHooks: function () {\n  \t\ton(this._map._container, 'wheel', this._onWheelScroll, this);\n\n  \t\tthis._delta = 0;\n  \t},\n\n  \tremoveHooks: function () {\n  \t\toff(this._map._container, 'wheel', this._onWheelScroll, this);\n  \t},\n\n  \t_onWheelScroll: function (e) {\n  \t\tvar delta = getWheelDelta(e);\n\n  \t\tvar debounce = this._map.options.wheelDebounceTime;\n\n  \t\tthis._delta += delta;\n  \t\tthis._lastMousePos = this._map.mouseEventToContainerPoint(e);\n\n  \t\tif (!this._startTime) {\n  \t\t\tthis._startTime = +new Date();\n  \t\t}\n\n  \t\tvar left = Math.max(debounce - (+new Date() - this._startTime), 0);\n\n  \t\tclearTimeout(this._timer);\n  \t\tthis._timer = setTimeout(bind(this._performZoom, this), left);\n\n  \t\tstop(e);\n  \t},\n\n  \t_performZoom: function () {\n  \t\tvar map = this._map,\n  \t\t    zoom = map.getZoom(),\n  \t\t    snap = this._map.options.zoomSnap || 0;\n\n  \t\tmap._stop(); // stop panning and fly animations if any\n\n  \t\t// map the delta with a sigmoid function to -4..4 range leaning on -1..1\n  \t\tvar d2 = this._delta / (this._map.options.wheelPxPerZoomLevel * 4),\n  \t\t    d3 = 4 * Math.log(2 / (1 + Math.exp(-Math.abs(d2)))) / Math.LN2,\n  \t\t    d4 = snap ? Math.ceil(d3 / snap) * snap : d3,\n  \t\t    delta = map._limitZoom(zoom + (this._delta > 0 ? d4 : -d4)) - zoom;\n\n  \t\tthis._delta = 0;\n  \t\tthis._startTime = null;\n\n  \t\tif (!delta) { return; }\n\n  \t\tif (map.options.scrollWheelZoom === 'center') {\n  \t\t\tmap.setZoom(zoom + delta);\n  \t\t} else {\n  \t\t\tmap.setZoomAround(this._lastMousePos, zoom + delta);\n  \t\t}\n  \t}\n  });\n\n  // @section Handlers\n  // @property scrollWheelZoom: Handler\n  // Scroll wheel zoom handler.\n  Map.addInitHook('addHandler', 'scrollWheelZoom', ScrollWheelZoom);\n\n  /*\n   * L.Map.TapHold is used to simulate `contextmenu` event on long hold,\n   * which otherwise is not fired by mobile Safari.\n   */\n\n  var tapHoldDelay = 600;\n\n  // @namespace Map\n  // @section Interaction Options\n  Map.mergeOptions({\n  \t// @section Touch interaction options\n  \t// @option tapHold: Boolean\n  \t// Enables simulation of `contextmenu` event, default is `true` for mobile Safari.\n  \ttapHold: Browser.touchNative && Browser.safari && Browser.mobile,\n\n  \t// @option tapTolerance: Number = 15\n  \t// The max number of pixels a user can shift his finger during touch\n  \t// for it to be considered a valid tap.\n  \ttapTolerance: 15\n  });\n\n  var TapHold = Handler.extend({\n  \taddHooks: function () {\n  \t\ton(this._map._container, 'touchstart', this._onDown, this);\n  \t},\n\n  \tremoveHooks: function () {\n  \t\toff(this._map._container, 'touchstart', this._onDown, this);\n  \t},\n\n  \t_onDown: function (e) {\n  \t\tclearTimeout(this._holdTimeout);\n  \t\tif (e.touches.length !== 1) { return; }\n\n  \t\tvar first = e.touches[0];\n  \t\tthis._startPos = this._newPos = new Point(first.clientX, first.clientY);\n\n  \t\tthis._holdTimeout = setTimeout(bind(function () {\n  \t\t\tthis._cancel();\n  \t\t\tif (!this._isTapValid()) { return; }\n\n  \t\t\t// prevent simulated mouse events https://w3c.github.io/touch-events/#mouse-events\n  \t\t\ton(document, 'touchend', preventDefault);\n  \t\t\ton(document, 'touchend touchcancel', this._cancelClickPrevent);\n  \t\t\tthis._simulateEvent('contextmenu', first);\n  \t\t}, this), tapHoldDelay);\n\n  \t\ton(document, 'touchend touchcancel contextmenu', this._cancel, this);\n  \t\ton(document, 'touchmove', this._onMove, this);\n  \t},\n\n  \t_cancelClickPrevent: function cancelClickPrevent() {\n  \t\toff(document, 'touchend', preventDefault);\n  \t\toff(document, 'touchend touchcancel', cancelClickPrevent);\n  \t},\n\n  \t_cancel: function () {\n  \t\tclearTimeout(this._holdTimeout);\n  \t\toff(document, 'touchend touchcancel contextmenu', this._cancel, this);\n  \t\toff(document, 'touchmove', this._onMove, this);\n  \t},\n\n  \t_onMove: function (e) {\n  \t\tvar first = e.touches[0];\n  \t\tthis._newPos = new Point(first.clientX, first.clientY);\n  \t},\n\n  \t_isTapValid: function () {\n  \t\treturn this._newPos.distanceTo(this._startPos) <= this._map.options.tapTolerance;\n  \t},\n\n  \t_simulateEvent: function (type, e) {\n  \t\tvar simulatedEvent = new MouseEvent(type, {\n  \t\t\tbubbles: true,\n  \t\t\tcancelable: true,\n  \t\t\tview: window,\n  \t\t\t// detail: 1,\n  \t\t\tscreenX: e.screenX,\n  \t\t\tscreenY: e.screenY,\n  \t\t\tclientX: e.clientX,\n  \t\t\tclientY: e.clientY,\n  \t\t\t// button: 2,\n  \t\t\t// buttons: 2\n  \t\t});\n\n  \t\tsimulatedEvent._simulated = true;\n\n  \t\te.target.dispatchEvent(simulatedEvent);\n  \t}\n  });\n\n  // @section Handlers\n  // @property tapHold: Handler\n  // Long tap handler to simulate `contextmenu` event (useful in mobile Safari).\n  Map.addInitHook('addHandler', 'tapHold', TapHold);\n\n  /*\n   * L.Handler.TouchZoom is used by L.Map to add pinch zoom on supported mobile browsers.\n   */\n\n  // @namespace Map\n  // @section Interaction Options\n  Map.mergeOptions({\n  \t// @section Touch interaction options\n  \t// @option touchZoom: Boolean|String = *\n  \t// Whether the map can be zoomed by touch-dragging with two fingers. If\n  \t// passed `'center'`, it will zoom to the center of the view regardless of\n  \t// where the touch events (fingers) were. Enabled for touch-capable web\n  \t// browsers.\n  \ttouchZoom: Browser.touch,\n\n  \t// @option bounceAtZoomLimits: Boolean = true\n  \t// Set it to false if you don't want the map to zoom beyond min/max zoom\n  \t// and then bounce back when pinch-zooming.\n  \tbounceAtZoomLimits: true\n  });\n\n  var TouchZoom = Handler.extend({\n  \taddHooks: function () {\n  \t\taddClass(this._map._container, 'leaflet-touch-zoom');\n  \t\ton(this._map._container, 'touchstart', this._onTouchStart, this);\n  \t},\n\n  \tremoveHooks: function () {\n  \t\tremoveClass(this._map._container, 'leaflet-touch-zoom');\n  \t\toff(this._map._container, 'touchstart', this._onTouchStart, this);\n  \t},\n\n  \t_onTouchStart: function (e) {\n  \t\tvar map = this._map;\n  \t\tif (!e.touches || e.touches.length !== 2 || map._animatingZoom || this._zooming) { return; }\n\n  \t\tvar p1 = map.mouseEventToContainerPoint(e.touches[0]),\n  \t\t    p2 = map.mouseEventToContainerPoint(e.touches[1]);\n\n  \t\tthis._centerPoint = map.getSize()._divideBy(2);\n  \t\tthis._startLatLng = map.containerPointToLatLng(this._centerPoint);\n  \t\tif (map.options.touchZoom !== 'center') {\n  \t\t\tthis._pinchStartLatLng = map.containerPointToLatLng(p1.add(p2)._divideBy(2));\n  \t\t}\n\n  \t\tthis._startDist = p1.distanceTo(p2);\n  \t\tthis._startZoom = map.getZoom();\n\n  \t\tthis._moved = false;\n  \t\tthis._zooming = true;\n\n  \t\tmap._stop();\n\n  \t\ton(document, 'touchmove', this._onTouchMove, this);\n  \t\ton(document, 'touchend touchcancel', this._onTouchEnd, this);\n\n  \t\tpreventDefault(e);\n  \t},\n\n  \t_onTouchMove: function (e) {\n  \t\tif (!e.touches || e.touches.length !== 2 || !this._zooming) { return; }\n\n  \t\tvar map = this._map,\n  \t\t    p1 = map.mouseEventToContainerPoint(e.touches[0]),\n  \t\t    p2 = map.mouseEventToContainerPoint(e.touches[1]),\n  \t\t    scale = p1.distanceTo(p2) / this._startDist;\n\n  \t\tthis._zoom = map.getScaleZoom(scale, this._startZoom);\n\n  \t\tif (!map.options.bounceAtZoomLimits && (\n  \t\t\t(this._zoom < map.getMinZoom() && scale < 1) ||\n  \t\t\t(this._zoom > map.getMaxZoom() && scale > 1))) {\n  \t\t\tthis._zoom = map._limitZoom(this._zoom);\n  \t\t}\n\n  \t\tif (map.options.touchZoom === 'center') {\n  \t\t\tthis._center = this._startLatLng;\n  \t\t\tif (scale === 1) { return; }\n  \t\t} else {\n  \t\t\t// Get delta from pinch to center, so centerLatLng is delta applied to initial pinchLatLng\n  \t\t\tvar delta = p1._add(p2)._divideBy(2)._subtract(this._centerPoint);\n  \t\t\tif (scale === 1 && delta.x === 0 && delta.y === 0) { return; }\n  \t\t\tthis._center = map.unproject(map.project(this._pinchStartLatLng, this._zoom).subtract(delta), this._zoom);\n  \t\t}\n\n  \t\tif (!this._moved) {\n  \t\t\tmap._moveStart(true, false);\n  \t\t\tthis._moved = true;\n  \t\t}\n\n  \t\tcancelAnimFrame(this._animRequest);\n\n  \t\tvar moveFn = bind(map._move, map, this._center, this._zoom, {pinch: true, round: false}, undefined);\n  \t\tthis._animRequest = requestAnimFrame(moveFn, this, true);\n\n  \t\tpreventDefault(e);\n  \t},\n\n  \t_onTouchEnd: function () {\n  \t\tif (!this._moved || !this._zooming) {\n  \t\t\tthis._zooming = false;\n  \t\t\treturn;\n  \t\t}\n\n  \t\tthis._zooming = false;\n  \t\tcancelAnimFrame(this._animRequest);\n\n  \t\toff(document, 'touchmove', this._onTouchMove, this);\n  \t\toff(document, 'touchend touchcancel', this._onTouchEnd, this);\n\n  \t\t// Pinch updates GridLayers' levels only when zoomSnap is off, so zoomSnap becomes noUpdate.\n  \t\tif (this._map.options.zoomAnimation) {\n  \t\t\tthis._map._animateZoom(this._center, this._map._limitZoom(this._zoom), true, this._map.options.zoomSnap);\n  \t\t} else {\n  \t\t\tthis._map._resetView(this._center, this._map._limitZoom(this._zoom));\n  \t\t}\n  \t}\n  });\n\n  // @section Handlers\n  // @property touchZoom: Handler\n  // Touch zoom handler.\n  Map.addInitHook('addHandler', 'touchZoom', TouchZoom);\n\n  Map.BoxZoom = BoxZoom;\n  Map.DoubleClickZoom = DoubleClickZoom;\n  Map.Drag = Drag;\n  Map.Keyboard = Keyboard;\n  Map.ScrollWheelZoom = ScrollWheelZoom;\n  Map.TapHold = TapHold;\n  Map.TouchZoom = TouchZoom;\n\n  exports.Bounds = Bounds;\n  exports.Browser = Browser;\n  exports.CRS = CRS;\n  exports.Canvas = Canvas;\n  exports.Circle = Circle;\n  exports.CircleMarker = CircleMarker;\n  exports.Class = Class;\n  exports.Control = Control;\n  exports.DivIcon = DivIcon;\n  exports.DivOverlay = DivOverlay;\n  exports.DomEvent = DomEvent;\n  exports.DomUtil = DomUtil;\n  exports.Draggable = Draggable;\n  exports.Evented = Evented;\n  exports.FeatureGroup = FeatureGroup;\n  exports.GeoJSON = GeoJSON;\n  exports.GridLayer = GridLayer;\n  exports.Handler = Handler;\n  exports.Icon = Icon;\n  exports.ImageOverlay = ImageOverlay;\n  exports.LatLng = LatLng;\n  exports.LatLngBounds = LatLngBounds;\n  exports.Layer = Layer;\n  exports.LayerGroup = LayerGroup;\n  exports.LineUtil = LineUtil;\n  exports.Map = Map;\n  exports.Marker = Marker;\n  exports.Mixin = Mixin;\n  exports.Path = Path;\n  exports.Point = Point;\n  exports.PolyUtil = PolyUtil;\n  exports.Polygon = Polygon;\n  exports.Polyline = Polyline;\n  exports.Popup = Popup;\n  exports.PosAnimation = PosAnimation;\n  exports.Projection = index;\n  exports.Rectangle = Rectangle;\n  exports.Renderer = Renderer;\n  exports.SVG = SVG;\n  exports.SVGOverlay = SVGOverlay;\n  exports.TileLayer = TileLayer;\n  exports.Tooltip = Tooltip;\n  exports.Transformation = Transformation;\n  exports.Util = Util;\n  exports.VideoOverlay = VideoOverlay;\n  exports.bind = bind;\n  exports.bounds = toBounds;\n  exports.canvas = canvas;\n  exports.circle = circle;\n  exports.circleMarker = circleMarker;\n  exports.control = control;\n  exports.divIcon = divIcon;\n  exports.extend = extend;\n  exports.featureGroup = featureGroup;\n  exports.geoJSON = geoJSON;\n  exports.geoJson = geoJson;\n  exports.gridLayer = gridLayer;\n  exports.icon = icon;\n  exports.imageOverlay = imageOverlay;\n  exports.latLng = toLatLng;\n  exports.latLngBounds = toLatLngBounds;\n  exports.layerGroup = layerGroup;\n  exports.map = createMap;\n  exports.marker = marker;\n  exports.point = toPoint;\n  exports.polygon = polygon;\n  exports.polyline = polyline;\n  exports.popup = popup;\n  exports.rectangle = rectangle;\n  exports.setOptions = setOptions;\n  exports.stamp = stamp;\n  exports.svg = svg;\n  exports.svgOverlay = svgOverlay;\n  exports.tileLayer = tileLayer;\n  exports.tooltip = tooltip;\n  exports.transformation = toTransformation;\n  exports.version = version;\n  exports.videoOverlay = videoOverlay;\n\n  var oldL = window.L;\n  exports.noConflict = function() {\n  \twindow.L = oldL;\n  \treturn this;\n  }\n  // Always export us to window global (see #2364)\n  window.L = exports;\n\n}));\n//# sourceMappingURL=leaflet-src.js.map\n"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/files/leaflet.js/leaflet.css",
    "content": "/* required styles */\r\n\r\n.leaflet-pane,\r\n.leaflet-tile,\r\n.leaflet-marker-icon,\r\n.leaflet-marker-shadow,\r\n.leaflet-tile-container,\r\n.leaflet-pane > svg,\r\n.leaflet-pane > canvas,\r\n.leaflet-zoom-box,\r\n.leaflet-image-layer,\r\n.leaflet-layer {\r\n\tposition: absolute;\r\n\tleft: 0;\r\n\ttop: 0;\r\n\t}\r\n.leaflet-container {\r\n\toverflow: hidden;\r\n\t}\r\n.leaflet-tile,\r\n.leaflet-marker-icon,\r\n.leaflet-marker-shadow {\r\n\t-webkit-user-select: none;\r\n\t   -moz-user-select: none;\r\n\t        user-select: none;\r\n\t  -webkit-user-drag: none;\r\n\t}\r\n/* Prevents IE11 from highlighting tiles in blue */\r\n.leaflet-tile::selection {\r\n\tbackground: transparent;\r\n}\r\n/* Safari renders non-retina tile on retina better with this, but Chrome is worse */\r\n.leaflet-safari .leaflet-tile {\r\n\timage-rendering: -webkit-optimize-contrast;\r\n\t}\r\n/* hack that prevents hw layers \"stretching\" when loading new tiles */\r\n.leaflet-safari .leaflet-tile-container {\r\n\twidth: 1600px;\r\n\theight: 1600px;\r\n\t-webkit-transform-origin: 0 0;\r\n\t}\r\n.leaflet-marker-icon,\r\n.leaflet-marker-shadow {\r\n\tdisplay: block;\r\n\t}\r\n/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */\r\n/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */\r\n.leaflet-container .leaflet-overlay-pane svg {\r\n\tmax-width: none !important;\r\n\tmax-height: none !important;\r\n\t}\r\n.leaflet-container .leaflet-marker-pane img,\r\n.leaflet-container .leaflet-shadow-pane img,\r\n.leaflet-container .leaflet-tile-pane img,\r\n.leaflet-container img.leaflet-image-layer,\r\n.leaflet-container .leaflet-tile {\r\n\tmax-width: none !important;\r\n\tmax-height: none !important;\r\n\twidth: auto;\r\n\tpadding: 0;\r\n\t}\r\n\r\n.leaflet-container img.leaflet-tile {\r\n\t/* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */\r\n\tmix-blend-mode: plus-lighter;\r\n}\r\n\r\n.leaflet-container.leaflet-touch-zoom {\r\n\t-ms-touch-action: pan-x pan-y;\r\n\ttouch-action: pan-x pan-y;\r\n\t}\r\n.leaflet-container.leaflet-touch-drag {\r\n\t-ms-touch-action: pinch-zoom;\r\n\t/* Fallback for FF which doesn't support pinch-zoom */\r\n\ttouch-action: none;\r\n\ttouch-action: pinch-zoom;\r\n}\r\n.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {\r\n\t-ms-touch-action: none;\r\n\ttouch-action: none;\r\n}\r\n.leaflet-container {\r\n\t-webkit-tap-highlight-color: transparent;\r\n}\r\n.leaflet-container a {\r\n\t-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);\r\n}\r\n.leaflet-tile {\r\n\tfilter: inherit;\r\n\tvisibility: hidden;\r\n\t}\r\n.leaflet-tile-loaded {\r\n\tvisibility: inherit;\r\n\t}\r\n.leaflet-zoom-box {\r\n\twidth: 0;\r\n\theight: 0;\r\n\t-moz-box-sizing: border-box;\r\n\t     box-sizing: border-box;\r\n\tz-index: 800;\r\n\t}\r\n/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */\r\n.leaflet-overlay-pane svg {\r\n\t-moz-user-select: none;\r\n\t}\r\n\r\n.leaflet-pane         { z-index: 400; }\r\n\r\n.leaflet-tile-pane    { z-index: 200; }\r\n.leaflet-overlay-pane { z-index: 400; }\r\n.leaflet-shadow-pane  { z-index: 500; }\r\n.leaflet-marker-pane  { z-index: 600; }\r\n.leaflet-tooltip-pane   { z-index: 650; }\r\n.leaflet-popup-pane   { z-index: 700; }\r\n\r\n.leaflet-map-pane canvas { z-index: 100; }\r\n.leaflet-map-pane svg    { z-index: 200; }\r\n\r\n.leaflet-vml-shape {\r\n\twidth: 1px;\r\n\theight: 1px;\r\n\t}\r\n.lvml {\r\n\tbehavior: url(#default#VML);\r\n\tdisplay: inline-block;\r\n\tposition: absolute;\r\n\t}\r\n\r\n\r\n/* control positioning */\r\n\r\n.leaflet-control {\r\n\tposition: relative;\r\n\tz-index: 800;\r\n\tpointer-events: visiblePainted; /* IE 9-10 doesn't have auto */\r\n\tpointer-events: auto;\r\n\t}\r\n.leaflet-top,\r\n.leaflet-bottom {\r\n\tposition: absolute;\r\n\tz-index: 1000;\r\n\tpointer-events: none;\r\n\t}\r\n.leaflet-top {\r\n\ttop: 0;\r\n\t}\r\n.leaflet-right {\r\n\tright: 0;\r\n\t}\r\n.leaflet-bottom {\r\n\tbottom: 0;\r\n\t}\r\n.leaflet-left {\r\n\tleft: 0;\r\n\t}\r\n.leaflet-control {\r\n\tfloat: left;\r\n\tclear: both;\r\n\t}\r\n.leaflet-right .leaflet-control {\r\n\tfloat: right;\r\n\t}\r\n.leaflet-top .leaflet-control {\r\n\tmargin-top: 10px;\r\n\t}\r\n.leaflet-bottom .leaflet-control {\r\n\tmargin-bottom: 10px;\r\n\t}\r\n.leaflet-left .leaflet-control {\r\n\tmargin-left: 10px;\r\n\t}\r\n.leaflet-right .leaflet-control {\r\n\tmargin-right: 10px;\r\n\t}\r\n\r\n\r\n/* zoom and fade animations */\r\n\r\n.leaflet-fade-anim .leaflet-popup {\r\n\topacity: 0;\r\n\t-webkit-transition: opacity 0.2s linear;\r\n\t   -moz-transition: opacity 0.2s linear;\r\n\t        transition: opacity 0.2s linear;\r\n\t}\r\n.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {\r\n\topacity: 1;\r\n\t}\r\n.leaflet-zoom-animated {\r\n\t-webkit-transform-origin: 0 0;\r\n\t    -ms-transform-origin: 0 0;\r\n\t        transform-origin: 0 0;\r\n\t}\r\nsvg.leaflet-zoom-animated {\r\n\twill-change: transform;\r\n}\r\n\r\n.leaflet-zoom-anim .leaflet-zoom-animated {\r\n\t-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);\r\n\t   -moz-transition:    -moz-transform 0.25s cubic-bezier(0,0,0.25,1);\r\n\t        transition:         transform 0.25s cubic-bezier(0,0,0.25,1);\r\n\t}\r\n.leaflet-zoom-anim .leaflet-tile,\r\n.leaflet-pan-anim .leaflet-tile {\r\n\t-webkit-transition: none;\r\n\t   -moz-transition: none;\r\n\t        transition: none;\r\n\t}\r\n\r\n.leaflet-zoom-anim .leaflet-zoom-hide {\r\n\tvisibility: hidden;\r\n\t}\r\n\r\n\r\n/* cursors */\r\n\r\n.leaflet-interactive {\r\n\tcursor: pointer;\r\n\t}\r\n.leaflet-grab {\r\n\tcursor: -webkit-grab;\r\n\tcursor:    -moz-grab;\r\n\tcursor:         grab;\r\n\t}\r\n.leaflet-crosshair,\r\n.leaflet-crosshair .leaflet-interactive {\r\n\tcursor: crosshair;\r\n\t}\r\n.leaflet-popup-pane,\r\n.leaflet-control {\r\n\tcursor: auto;\r\n\t}\r\n.leaflet-dragging .leaflet-grab,\r\n.leaflet-dragging .leaflet-grab .leaflet-interactive,\r\n.leaflet-dragging .leaflet-marker-draggable {\r\n\tcursor: move;\r\n\tcursor: -webkit-grabbing;\r\n\tcursor:    -moz-grabbing;\r\n\tcursor:         grabbing;\r\n\t}\r\n\r\n/* marker & overlays interactivity */\r\n.leaflet-marker-icon,\r\n.leaflet-marker-shadow,\r\n.leaflet-image-layer,\r\n.leaflet-pane > svg path,\r\n.leaflet-tile-container {\r\n\tpointer-events: none;\r\n\t}\r\n\r\n.leaflet-marker-icon.leaflet-interactive,\r\n.leaflet-image-layer.leaflet-interactive,\r\n.leaflet-pane > svg path.leaflet-interactive,\r\nsvg.leaflet-image-layer.leaflet-interactive path {\r\n\tpointer-events: visiblePainted; /* IE 9-10 doesn't have auto */\r\n\tpointer-events: auto;\r\n\t}\r\n\r\n/* visual tweaks */\r\n\r\n.leaflet-container {\r\n\tbackground: #ddd;\r\n\toutline-offset: 1px;\r\n\t}\r\n.leaflet-container a {\r\n\tcolor: #0078A8;\r\n\t}\r\n.leaflet-zoom-box {\r\n\tborder: 2px dotted #38f;\r\n\tbackground: rgba(255,255,255,0.5);\r\n\t}\r\n\r\n\r\n/* general typography */\r\n.leaflet-container {\r\n\tfont-family: \"Helvetica Neue\", Arial, Helvetica, sans-serif;\r\n\tfont-size: 12px;\r\n\tfont-size: 0.75rem;\r\n\tline-height: 1.5;\r\n\t}\r\n\r\n\r\n/* general toolbar styles */\r\n\r\n.leaflet-bar {\r\n\tbox-shadow: 0 1px 5px rgba(0,0,0,0.65);\r\n\tborder-radius: 4px;\r\n\t}\r\n.leaflet-bar a {\r\n\tbackground-color: #fff;\r\n\tborder-bottom: 1px solid #ccc;\r\n\twidth: 26px;\r\n\theight: 26px;\r\n\tline-height: 26px;\r\n\tdisplay: block;\r\n\ttext-align: center;\r\n\ttext-decoration: none;\r\n\tcolor: black;\r\n\t}\r\n.leaflet-bar a,\r\n.leaflet-control-layers-toggle {\r\n\tbackground-position: 50% 50%;\r\n\tbackground-repeat: no-repeat;\r\n\tdisplay: block;\r\n\t}\r\n.leaflet-bar a:hover,\r\n.leaflet-bar a:focus {\r\n\tbackground-color: #f4f4f4;\r\n\t}\r\n.leaflet-bar a:first-child {\r\n\tborder-top-left-radius: 4px;\r\n\tborder-top-right-radius: 4px;\r\n\t}\r\n.leaflet-bar a:last-child {\r\n\tborder-bottom-left-radius: 4px;\r\n\tborder-bottom-right-radius: 4px;\r\n\tborder-bottom: none;\r\n\t}\r\n.leaflet-bar a.leaflet-disabled {\r\n\tcursor: default;\r\n\tbackground-color: #f4f4f4;\r\n\tcolor: #bbb;\r\n\t}\r\n\r\n.leaflet-touch .leaflet-bar a {\r\n\twidth: 30px;\r\n\theight: 30px;\r\n\tline-height: 30px;\r\n\t}\r\n.leaflet-touch .leaflet-bar a:first-child {\r\n\tborder-top-left-radius: 2px;\r\n\tborder-top-right-radius: 2px;\r\n\t}\r\n.leaflet-touch .leaflet-bar a:last-child {\r\n\tborder-bottom-left-radius: 2px;\r\n\tborder-bottom-right-radius: 2px;\r\n\t}\r\n\r\n/* zoom control */\r\n\r\n.leaflet-control-zoom-in,\r\n.leaflet-control-zoom-out {\r\n\tfont: bold 18px 'Lucida Console', Monaco, monospace;\r\n\ttext-indent: 1px;\r\n\t}\r\n\r\n.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out  {\r\n\tfont-size: 22px;\r\n\t}\r\n\r\n\r\n/* layers control */\r\n\r\n.leaflet-control-layers {\r\n\tbox-shadow: 0 1px 5px rgba(0,0,0,0.4);\r\n\tbackground: #fff;\r\n\tborder-radius: 5px;\r\n\t}\r\n.leaflet-control-layers-toggle {\r\n\tbackground-image: url(images/layers.png);\r\n\twidth: 36px;\r\n\theight: 36px;\r\n\t}\r\n.leaflet-retina .leaflet-control-layers-toggle {\r\n\tbackground-image: url(images/layers-2x.png);\r\n\tbackground-size: 26px 26px;\r\n\t}\r\n.leaflet-touch .leaflet-control-layers-toggle {\r\n\twidth: 44px;\r\n\theight: 44px;\r\n\t}\r\n.leaflet-control-layers .leaflet-control-layers-list,\r\n.leaflet-control-layers-expanded .leaflet-control-layers-toggle {\r\n\tdisplay: none;\r\n\t}\r\n.leaflet-control-layers-expanded .leaflet-control-layers-list {\r\n\tdisplay: block;\r\n\tposition: relative;\r\n\t}\r\n.leaflet-control-layers-expanded {\r\n\tpadding: 6px 10px 6px 6px;\r\n\tcolor: #333;\r\n\tbackground: #fff;\r\n\t}\r\n.leaflet-control-layers-scrollbar {\r\n\toverflow-y: scroll;\r\n\toverflow-x: hidden;\r\n\tpadding-right: 5px;\r\n\t}\r\n.leaflet-control-layers-selector {\r\n\tmargin-top: 2px;\r\n\tposition: relative;\r\n\ttop: 1px;\r\n\t}\r\n.leaflet-control-layers label {\r\n\tdisplay: block;\r\n\tfont-size: 13px;\r\n\tfont-size: 1.08333em;\r\n\t}\r\n.leaflet-control-layers-separator {\r\n\theight: 0;\r\n\tborder-top: 1px solid #ddd;\r\n\tmargin: 5px -10px 5px -6px;\r\n\t}\r\n\r\n/* Default icon URLs */\r\n.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */\r\n\tbackground-image: url(images/marker-icon.png);\r\n\t}\r\n\r\n\r\n/* attribution and scale controls */\r\n\r\n.leaflet-container .leaflet-control-attribution {\r\n\tbackground: #fff;\r\n\tbackground: rgba(255, 255, 255, 0.8);\r\n\tmargin: 0;\r\n\t}\r\n.leaflet-control-attribution,\r\n.leaflet-control-scale-line {\r\n\tpadding: 0 5px;\r\n\tcolor: #333;\r\n\tline-height: 1.4;\r\n\t}\r\n.leaflet-control-attribution a {\r\n\ttext-decoration: none;\r\n\t}\r\n.leaflet-control-attribution a:hover,\r\n.leaflet-control-attribution a:focus {\r\n\ttext-decoration: underline;\r\n\t}\r\n.leaflet-attribution-flag {\r\n\tdisplay: inline !important;\r\n\tvertical-align: baseline !important;\r\n\twidth: 1em;\r\n\theight: 0.6669em;\r\n\t}\r\n.leaflet-left .leaflet-control-scale {\r\n\tmargin-left: 5px;\r\n\t}\r\n.leaflet-bottom .leaflet-control-scale {\r\n\tmargin-bottom: 5px;\r\n\t}\r\n.leaflet-control-scale-line {\r\n\tborder: 2px solid #777;\r\n\tborder-top: none;\r\n\tline-height: 1.1;\r\n\tpadding: 2px 5px 1px;\r\n\twhite-space: nowrap;\r\n\t-moz-box-sizing: border-box;\r\n\t     box-sizing: border-box;\r\n\tbackground: rgba(255, 255, 255, 0.8);\r\n\ttext-shadow: 1px 1px #fff;\r\n\t}\r\n.leaflet-control-scale-line:not(:first-child) {\r\n\tborder-top: 2px solid #777;\r\n\tborder-bottom: none;\r\n\tmargin-top: -2px;\r\n\t}\r\n.leaflet-control-scale-line:not(:first-child):not(:last-child) {\r\n\tborder-bottom: 2px solid #777;\r\n\t}\r\n\r\n.leaflet-touch .leaflet-control-attribution,\r\n.leaflet-touch .leaflet-control-layers,\r\n.leaflet-touch .leaflet-bar {\r\n\tbox-shadow: none;\r\n\t}\r\n.leaflet-touch .leaflet-control-layers,\r\n.leaflet-touch .leaflet-bar {\r\n\tborder: 2px solid rgba(0,0,0,0.2);\r\n\tbackground-clip: padding-box;\r\n\t}\r\n\r\n\r\n/* popup */\r\n\r\n.leaflet-popup {\r\n\tposition: absolute;\r\n\ttext-align: center;\r\n\tmargin-bottom: 20px;\r\n\t}\r\n.leaflet-popup-content-wrapper {\r\n\tpadding: 1px;\r\n\ttext-align: left;\r\n\tborder-radius: 12px;\r\n\t}\r\n.leaflet-popup-content {\r\n\tmargin: 13px 24px 13px 20px;\r\n\tline-height: 1.3;\r\n\tfont-size: 13px;\r\n\tfont-size: 1.08333em;\r\n\tmin-height: 1px;\r\n\t}\r\n.leaflet-popup-content p {\r\n\tmargin: 17px 0;\r\n\tmargin: 1.3em 0;\r\n\t}\r\n.leaflet-popup-tip-container {\r\n\twidth: 40px;\r\n\theight: 20px;\r\n\tposition: absolute;\r\n\tleft: 50%;\r\n\tmargin-top: -1px;\r\n\tmargin-left: -20px;\r\n\toverflow: hidden;\r\n\tpointer-events: none;\r\n\t}\r\n.leaflet-popup-tip {\r\n\twidth: 17px;\r\n\theight: 17px;\r\n\tpadding: 1px;\r\n\r\n\tmargin: -10px auto 0;\r\n\tpointer-events: auto;\r\n\r\n\t-webkit-transform: rotate(45deg);\r\n\t   -moz-transform: rotate(45deg);\r\n\t    -ms-transform: rotate(45deg);\r\n\t        transform: rotate(45deg);\r\n\t}\r\n.leaflet-popup-content-wrapper,\r\n.leaflet-popup-tip {\r\n\tbackground: white;\r\n\tcolor: #333;\r\n\tbox-shadow: 0 3px 14px rgba(0,0,0,0.4);\r\n\t}\r\n.leaflet-container a.leaflet-popup-close-button {\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tright: 0;\r\n\tborder: none;\r\n\ttext-align: center;\r\n\twidth: 24px;\r\n\theight: 24px;\r\n\tfont: 16px/24px Tahoma, Verdana, sans-serif;\r\n\tcolor: #757575;\r\n\ttext-decoration: none;\r\n\tbackground: transparent;\r\n\t}\r\n.leaflet-container a.leaflet-popup-close-button:hover,\r\n.leaflet-container a.leaflet-popup-close-button:focus {\r\n\tcolor: #585858;\r\n\t}\r\n.leaflet-popup-scrolled {\r\n\toverflow: auto;\r\n\t}\r\n\r\n.leaflet-oldie .leaflet-popup-content-wrapper {\r\n\t-ms-zoom: 1;\r\n\t}\r\n.leaflet-oldie .leaflet-popup-tip {\r\n\twidth: 24px;\r\n\tmargin: 0 auto;\r\n\r\n\t-ms-filter: \"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)\";\r\n\tfilter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);\r\n\t}\r\n\r\n.leaflet-oldie .leaflet-control-zoom,\r\n.leaflet-oldie .leaflet-control-layers,\r\n.leaflet-oldie .leaflet-popup-content-wrapper,\r\n.leaflet-oldie .leaflet-popup-tip {\r\n\tborder: 1px solid #999;\r\n\t}\r\n\r\n\r\n/* div icon */\r\n\r\n.leaflet-div-icon {\r\n\tbackground: #fff;\r\n\tborder: 1px solid #666;\r\n\t}\r\n\r\n\r\n/* Tooltip */\r\n/* Base styles for the element that has a tooltip */\r\n.leaflet-tooltip {\r\n\tposition: absolute;\r\n\tpadding: 6px;\r\n\tbackground-color: #fff;\r\n\tborder: 1px solid #fff;\r\n\tborder-radius: 3px;\r\n\tcolor: #222;\r\n\twhite-space: nowrap;\r\n\t-webkit-user-select: none;\r\n\t-moz-user-select: none;\r\n\t-ms-user-select: none;\r\n\tuser-select: none;\r\n\tpointer-events: none;\r\n\tbox-shadow: 0 1px 3px rgba(0,0,0,0.4);\r\n\t}\r\n.leaflet-tooltip.leaflet-interactive {\r\n\tcursor: pointer;\r\n\tpointer-events: auto;\r\n\t}\r\n.leaflet-tooltip-top:before,\r\n.leaflet-tooltip-bottom:before,\r\n.leaflet-tooltip-left:before,\r\n.leaflet-tooltip-right:before {\r\n\tposition: absolute;\r\n\tpointer-events: none;\r\n\tborder: 6px solid transparent;\r\n\tbackground: transparent;\r\n\tcontent: \"\";\r\n\t}\r\n\r\n/* Directions */\r\n\r\n.leaflet-tooltip-bottom {\r\n\tmargin-top: 6px;\r\n}\r\n.leaflet-tooltip-top {\r\n\tmargin-top: -6px;\r\n}\r\n.leaflet-tooltip-bottom:before,\r\n.leaflet-tooltip-top:before {\r\n\tleft: 50%;\r\n\tmargin-left: -6px;\r\n\t}\r\n.leaflet-tooltip-top:before {\r\n\tbottom: 0;\r\n\tmargin-bottom: -12px;\r\n\tborder-top-color: #fff;\r\n\t}\r\n.leaflet-tooltip-bottom:before {\r\n\ttop: 0;\r\n\tmargin-top: -12px;\r\n\tmargin-left: -6px;\r\n\tborder-bottom-color: #fff;\r\n\t}\r\n.leaflet-tooltip-left {\r\n\tmargin-left: -6px;\r\n}\r\n.leaflet-tooltip-right {\r\n\tmargin-left: 6px;\r\n}\r\n.leaflet-tooltip-left:before,\r\n.leaflet-tooltip-right:before {\r\n\ttop: 50%;\r\n\tmargin-top: -6px;\r\n\t}\r\n.leaflet-tooltip-left:before {\r\n\tright: 0;\r\n\tmargin-right: -12px;\r\n\tborder-left-color: #fff;\r\n\t}\r\n.leaflet-tooltip-right:before {\r\n\tleft: 0;\r\n\tmargin-left: -12px;\r\n\tborder-right-color: #fff;\r\n\t}\r\n\r\n/* Printing */\r\n\r\n@media print {\r\n\t/* Prevent printers from removing background-images of controls. */\r\n\t.leaflet-control {\r\n\t\t-webkit-print-color-adjust: exact;\r\n\t\tprint-color-adjust: exact;\r\n\t\t}\r\n\t}\r\n"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/files/leaflet.js/leaflet.js",
    "content": "/* @preserve\n * Leaflet 1.9.4, a JS library for interactive maps. https://leafletjs.com\n * (c) 2010-2023 Vladimir Agafonkin, (c) 2010-2011 CloudMade\n */\n!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?e(exports):\"function\"==typeof define&&define.amd?define([\"exports\"],e):e((t=\"undefined\"!=typeof globalThis?globalThis:t||self).leaflet={})}(this,function(t){\"use strict\";function l(t){for(var e,i,n=1,o=arguments.length;n<o;n++)for(e in i=arguments[n])t[e]=i[e];return t}var R=Object.create||function(t){return N.prototype=t,new N};function N(){}function a(t,e){var i,n=Array.prototype.slice;return t.bind?t.bind.apply(t,n.call(arguments,1)):(i=n.call(arguments,2),function(){return t.apply(e,i.length?i.concat(n.call(arguments)):arguments)})}var D=0;function h(t){return\"_leaflet_id\"in t||(t._leaflet_id=++D),t._leaflet_id}function j(t,e,i){var n,o,s=function(){n=!1,o&&(r.apply(i,o),o=!1)},r=function(){n?o=arguments:(t.apply(i,arguments),setTimeout(s,e),n=!0)};return r}function H(t,e,i){var n=e[1],e=e[0],o=n-e;return t===n&&i?t:((t-e)%o+o)%o+e}function u(){return!1}function i(t,e){return!1===e?t:(e=Math.pow(10,void 0===e?6:e),Math.round(t*e)/e)}function W(t){return t.trim?t.trim():t.replace(/^\\s+|\\s+$/g,\"\")}function F(t){return W(t).split(/\\s+/)}function c(t,e){for(var i in Object.prototype.hasOwnProperty.call(t,\"options\")||(t.options=t.options?R(t.options):{}),e)t.options[i]=e[i];return t.options}function U(t,e,i){var n,o=[];for(n in t)o.push(encodeURIComponent(i?n.toUpperCase():n)+\"=\"+encodeURIComponent(t[n]));return(e&&-1!==e.indexOf(\"?\")?\"&\":\"?\")+o.join(\"&\")}var V=/\\{ *([\\w_ -]+) *\\}/g;function q(t,i){return t.replace(V,function(t,e){e=i[e];if(void 0===e)throw new Error(\"No value provided for variable \"+t);return e=\"function\"==typeof e?e(i):e})}var d=Array.isArray||function(t){return\"[object Array]\"===Object.prototype.toString.call(t)};function G(t,e){for(var i=0;i<t.length;i++)if(t[i]===e)return i;return-1}var K=\"data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=\";function Y(t){return window[\"webkit\"+t]||window[\"moz\"+t]||window[\"ms\"+t]}var X=0;function J(t){var e=+new Date,i=Math.max(0,16-(e-X));return X=e+i,window.setTimeout(t,i)}var $=window.requestAnimationFrame||Y(\"RequestAnimationFrame\")||J,Q=window.cancelAnimationFrame||Y(\"CancelAnimationFrame\")||Y(\"CancelRequestAnimationFrame\")||function(t){window.clearTimeout(t)};function x(t,e,i){if(!i||$!==J)return $.call(window,a(t,e));t.call(e)}function r(t){t&&Q.call(window,t)}var tt={__proto__:null,extend:l,create:R,bind:a,get lastId(){return D},stamp:h,throttle:j,wrapNum:H,falseFn:u,formatNum:i,trim:W,splitWords:F,setOptions:c,getParamString:U,template:q,isArray:d,indexOf:G,emptyImageUrl:K,requestFn:$,cancelFn:Q,requestAnimFrame:x,cancelAnimFrame:r};function et(){}et.extend=function(t){function e(){c(this),this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()}var i,n=e.__super__=this.prototype,o=R(n);for(i in(o.constructor=e).prototype=o,this)Object.prototype.hasOwnProperty.call(this,i)&&\"prototype\"!==i&&\"__super__\"!==i&&(e[i]=this[i]);if(t.statics&&l(e,t.statics),t.includes){var s=t.includes;if(\"undefined\"!=typeof L&&L&&L.Mixin){s=d(s)?s:[s];for(var r=0;r<s.length;r++)s[r]===L.Mixin.Events&&console.warn(\"Deprecated include of L.Mixin.Events: this property will be removed in future releases, please inherit from L.Evented instead.\",(new Error).stack)}l.apply(null,[o].concat(t.includes))}return l(o,t),delete o.statics,delete o.includes,o.options&&(o.options=n.options?R(n.options):{},l(o.options,t.options)),o._initHooks=[],o.callInitHooks=function(){if(!this._initHooksCalled){n.callInitHooks&&n.callInitHooks.call(this),this._initHooksCalled=!0;for(var t=0,e=o._initHooks.length;t<e;t++)o._initHooks[t].call(this)}},e},et.include=function(t){var e=this.prototype.options;return l(this.prototype,t),t.options&&(this.prototype.options=e,this.mergeOptions(t.options)),this},et.mergeOptions=function(t){return l(this.prototype.options,t),this},et.addInitHook=function(t){var e=Array.prototype.slice.call(arguments,1),i=\"function\"==typeof t?t:function(){this[t].apply(this,e)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(i),this};var e={on:function(t,e,i){if(\"object\"==typeof t)for(var n in t)this._on(n,t[n],e);else for(var o=0,s=(t=F(t)).length;o<s;o++)this._on(t[o],e,i);return this},off:function(t,e,i){if(arguments.length)if(\"object\"==typeof t)for(var n in t)this._off(n,t[n],e);else{t=F(t);for(var o=1===arguments.length,s=0,r=t.length;s<r;s++)o?this._off(t[s]):this._off(t[s],e,i)}else delete this._events;return this},_on:function(t,e,i,n){\"function\"!=typeof e?console.warn(\"wrong listener type: \"+typeof e):!1===this._listens(t,e,i)&&(e={fn:e,ctx:i=i===this?void 0:i},n&&(e.once=!0),this._events=this._events||{},this._events[t]=this._events[t]||[],this._events[t].push(e))},_off:function(t,e,i){var n,o,s;if(this._events&&(n=this._events[t]))if(1===arguments.length){if(this._firingCount)for(o=0,s=n.length;o<s;o++)n[o].fn=u;delete this._events[t]}else\"function\"!=typeof e?console.warn(\"wrong listener type: \"+typeof e):!1!==(e=this._listens(t,e,i))&&(i=n[e],this._firingCount&&(i.fn=u,this._events[t]=n=n.slice()),n.splice(e,1))},fire:function(t,e,i){if(this.listens(t,i)){var n=l({},e,{type:t,target:this,sourceTarget:e&&e.sourceTarget||this});if(this._events){var o=this._events[t];if(o){this._firingCount=this._firingCount+1||1;for(var s=0,r=o.length;s<r;s++){var a=o[s],h=a.fn;a.once&&this.off(t,h,a.ctx),h.call(a.ctx||this,n)}this._firingCount--}}i&&this._propagateEvent(n)}return this},listens:function(t,e,i,n){\"string\"!=typeof t&&console.warn('\"string\" type argument expected');var o=e,s=(\"function\"!=typeof e&&(n=!!e,i=o=void 0),this._events&&this._events[t]);if(s&&s.length&&!1!==this._listens(t,o,i))return!0;if(n)for(var r in this._eventParents)if(this._eventParents[r].listens(t,e,i,n))return!0;return!1},_listens:function(t,e,i){if(this._events){var n=this._events[t]||[];if(!e)return!!n.length;i===this&&(i=void 0);for(var o=0,s=n.length;o<s;o++)if(n[o].fn===e&&n[o].ctx===i)return o}return!1},once:function(t,e,i){if(\"object\"==typeof t)for(var n in t)this._on(n,t[n],e,!0);else for(var o=0,s=(t=F(t)).length;o<s;o++)this._on(t[o],e,i,!0);return this},addEventParent:function(t){return this._eventParents=this._eventParents||{},this._eventParents[h(t)]=t,this},removeEventParent:function(t){return this._eventParents&&delete this._eventParents[h(t)],this},_propagateEvent:function(t){for(var e in this._eventParents)this._eventParents[e].fire(t.type,l({layer:t.target,propagatedFrom:t.target},t),!0)}},it=(e.addEventListener=e.on,e.removeEventListener=e.clearAllEventListeners=e.off,e.addOneTimeEventListener=e.once,e.fireEvent=e.fire,e.hasEventListeners=e.listens,et.extend(e));function p(t,e,i){this.x=i?Math.round(t):t,this.y=i?Math.round(e):e}var nt=Math.trunc||function(t){return 0<t?Math.floor(t):Math.ceil(t)};function m(t,e,i){return t instanceof p?t:d(t)?new p(t[0],t[1]):null==t?t:\"object\"==typeof t&&\"x\"in t&&\"y\"in t?new p(t.x,t.y):new p(t,e,i)}function f(t,e){if(t)for(var i=e?[t,e]:t,n=0,o=i.length;n<o;n++)this.extend(i[n])}function _(t,e){return!t||t instanceof f?t:new f(t,e)}function s(t,e){if(t)for(var i=e?[t,e]:t,n=0,o=i.length;n<o;n++)this.extend(i[n])}function g(t,e){return t instanceof s?t:new s(t,e)}function v(t,e,i){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid LatLng object: (\"+t+\", \"+e+\")\");this.lat=+t,this.lng=+e,void 0!==i&&(this.alt=+i)}function w(t,e,i){return t instanceof v?t:d(t)&&\"object\"!=typeof t[0]?3===t.length?new v(t[0],t[1],t[2]):2===t.length?new v(t[0],t[1]):null:null==t?t:\"object\"==typeof t&&\"lat\"in t?new v(t.lat,\"lng\"in t?t.lng:t.lon,t.alt):void 0===e?null:new v(t,e,i)}p.prototype={clone:function(){return new p(this.x,this.y)},add:function(t){return this.clone()._add(m(t))},_add:function(t){return this.x+=t.x,this.y+=t.y,this},subtract:function(t){return this.clone()._subtract(m(t))},_subtract:function(t){return this.x-=t.x,this.y-=t.y,this},divideBy:function(t){return this.clone()._divideBy(t)},_divideBy:function(t){return this.x/=t,this.y/=t,this},multiplyBy:function(t){return this.clone()._multiplyBy(t)},_multiplyBy:function(t){return this.x*=t,this.y*=t,this},scaleBy:function(t){return new p(this.x*t.x,this.y*t.y)},unscaleBy:function(t){return new p(this.x/t.x,this.y/t.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},trunc:function(){return this.clone()._trunc()},_trunc:function(){return this.x=nt(this.x),this.y=nt(this.y),this},distanceTo:function(t){var e=(t=m(t)).x-this.x,t=t.y-this.y;return Math.sqrt(e*e+t*t)},equals:function(t){return(t=m(t)).x===this.x&&t.y===this.y},contains:function(t){return t=m(t),Math.abs(t.x)<=Math.abs(this.x)&&Math.abs(t.y)<=Math.abs(this.y)},toString:function(){return\"Point(\"+i(this.x)+\", \"+i(this.y)+\")\"}},f.prototype={extend:function(t){var e,i;if(t){if(t instanceof p||\"number\"==typeof t[0]||\"x\"in t)e=i=m(t);else if(e=(t=_(t)).min,i=t.max,!e||!i)return this;this.min||this.max?(this.min.x=Math.min(e.x,this.min.x),this.max.x=Math.max(i.x,this.max.x),this.min.y=Math.min(e.y,this.min.y),this.max.y=Math.max(i.y,this.max.y)):(this.min=e.clone(),this.max=i.clone())}return this},getCenter:function(t){return m((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,t)},getBottomLeft:function(){return m(this.min.x,this.max.y)},getTopRight:function(){return m(this.max.x,this.min.y)},getTopLeft:function(){return this.min},getBottomRight:function(){return this.max},getSize:function(){return this.max.subtract(this.min)},contains:function(t){var e,i;return(t=(\"number\"==typeof t[0]||t instanceof p?m:_)(t))instanceof f?(e=t.min,i=t.max):e=i=t,e.x>=this.min.x&&i.x<=this.max.x&&e.y>=this.min.y&&i.y<=this.max.y},intersects:function(t){t=_(t);var e=this.min,i=this.max,n=t.min,t=t.max,o=t.x>=e.x&&n.x<=i.x,t=t.y>=e.y&&n.y<=i.y;return o&&t},overlaps:function(t){t=_(t);var e=this.min,i=this.max,n=t.min,t=t.max,o=t.x>e.x&&n.x<i.x,t=t.y>e.y&&n.y<i.y;return o&&t},isValid:function(){return!(!this.min||!this.max)},pad:function(t){var e=this.min,i=this.max,n=Math.abs(e.x-i.x)*t,t=Math.abs(e.y-i.y)*t;return _(m(e.x-n,e.y-t),m(i.x+n,i.y+t))},equals:function(t){return!!t&&(t=_(t),this.min.equals(t.getTopLeft())&&this.max.equals(t.getBottomRight()))}},s.prototype={extend:function(t){var e,i,n=this._southWest,o=this._northEast;if(t instanceof v)i=e=t;else{if(!(t instanceof s))return t?this.extend(w(t)||g(t)):this;if(e=t._southWest,i=t._northEast,!e||!i)return this}return n||o?(n.lat=Math.min(e.lat,n.lat),n.lng=Math.min(e.lng,n.lng),o.lat=Math.max(i.lat,o.lat),o.lng=Math.max(i.lng,o.lng)):(this._southWest=new v(e.lat,e.lng),this._northEast=new v(i.lat,i.lng)),this},pad:function(t){var e=this._southWest,i=this._northEast,n=Math.abs(e.lat-i.lat)*t,t=Math.abs(e.lng-i.lng)*t;return new s(new v(e.lat-n,e.lng-t),new v(i.lat+n,i.lng+t))},getCenter:function(){return new v((this._southWest.lat+this._northEast.lat)/2,(this._southWest.lng+this._northEast.lng)/2)},getSouthWest:function(){return this._southWest},getNorthEast:function(){return this._northEast},getNorthWest:function(){return new v(this.getNorth(),this.getWest())},getSouthEast:function(){return new v(this.getSouth(),this.getEast())},getWest:function(){return this._southWest.lng},getSouth:function(){return this._southWest.lat},getEast:function(){return this._northEast.lng},getNorth:function(){return this._northEast.lat},contains:function(t){t=(\"number\"==typeof t[0]||t instanceof v||\"lat\"in t?w:g)(t);var e,i,n=this._southWest,o=this._northEast;return t instanceof s?(e=t.getSouthWest(),i=t.getNorthEast()):e=i=t,e.lat>=n.lat&&i.lat<=o.lat&&e.lng>=n.lng&&i.lng<=o.lng},intersects:function(t){t=g(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),t=t.getNorthEast(),o=t.lat>=e.lat&&n.lat<=i.lat,t=t.lng>=e.lng&&n.lng<=i.lng;return o&&t},overlaps:function(t){t=g(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),t=t.getNorthEast(),o=t.lat>e.lat&&n.lat<i.lat,t=t.lng>e.lng&&n.lng<i.lng;return o&&t},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(\",\")},equals:function(t,e){return!!t&&(t=g(t),this._southWest.equals(t.getSouthWest(),e)&&this._northEast.equals(t.getNorthEast(),e))},isValid:function(){return!(!this._southWest||!this._northEast)}};var ot={latLngToPoint:function(t,e){t=this.projection.project(t),e=this.scale(e);return this.transformation._transform(t,e)},pointToLatLng:function(t,e){e=this.scale(e),t=this.transformation.untransform(t,e);return this.projection.unproject(t)},project:function(t){return this.projection.project(t)},unproject:function(t){return this.projection.unproject(t)},scale:function(t){return 256*Math.pow(2,t)},zoom:function(t){return Math.log(t/256)/Math.LN2},getProjectedBounds:function(t){var e;return this.infinite?null:(e=this.projection.bounds,t=this.scale(t),new f(this.transformation.transform(e.min,t),this.transformation.transform(e.max,t)))},infinite:!(v.prototype={equals:function(t,e){return!!t&&(t=w(t),Math.max(Math.abs(this.lat-t.lat),Math.abs(this.lng-t.lng))<=(void 0===e?1e-9:e))},toString:function(t){return\"LatLng(\"+i(this.lat,t)+\", \"+i(this.lng,t)+\")\"},distanceTo:function(t){return st.distance(this,w(t))},wrap:function(){return st.wrapLatLng(this)},toBounds:function(t){var t=180*t/40075017,e=t/Math.cos(Math.PI/180*this.lat);return g([this.lat-t,this.lng-e],[this.lat+t,this.lng+e])},clone:function(){return new v(this.lat,this.lng,this.alt)}}),wrapLatLng:function(t){var e=this.wrapLng?H(t.lng,this.wrapLng,!0):t.lng;return new v(this.wrapLat?H(t.lat,this.wrapLat,!0):t.lat,e,t.alt)},wrapLatLngBounds:function(t){var e=t.getCenter(),i=this.wrapLatLng(e),n=e.lat-i.lat,e=e.lng-i.lng;return 0==n&&0==e?t:(i=t.getSouthWest(),t=t.getNorthEast(),new s(new v(i.lat-n,i.lng-e),new v(t.lat-n,t.lng-e)))}},st=l({},ot,{wrapLng:[-180,180],R:6371e3,distance:function(t,e){var i=Math.PI/180,n=t.lat*i,o=e.lat*i,s=Math.sin((e.lat-t.lat)*i/2),e=Math.sin((e.lng-t.lng)*i/2),t=s*s+Math.cos(n)*Math.cos(o)*e*e,i=2*Math.atan2(Math.sqrt(t),Math.sqrt(1-t));return this.R*i}}),rt=6378137,rt={R:rt,MAX_LATITUDE:85.0511287798,project:function(t){var e=Math.PI/180,i=this.MAX_LATITUDE,i=Math.max(Math.min(i,t.lat),-i),i=Math.sin(i*e);return new p(this.R*t.lng*e,this.R*Math.log((1+i)/(1-i))/2)},unproject:function(t){var e=180/Math.PI;return new v((2*Math.atan(Math.exp(t.y/this.R))-Math.PI/2)*e,t.x*e/this.R)},bounds:new f([-(rt=rt*Math.PI),-rt],[rt,rt])};function at(t,e,i,n){d(t)?(this._a=t[0],this._b=t[1],this._c=t[2],this._d=t[3]):(this._a=t,this._b=e,this._c=i,this._d=n)}function ht(t,e,i,n){return new at(t,e,i,n)}at.prototype={transform:function(t,e){return this._transform(t.clone(),e)},_transform:function(t,e){return t.x=(e=e||1)*(this._a*t.x+this._b),t.y=e*(this._c*t.y+this._d),t},untransform:function(t,e){return new p((t.x/(e=e||1)-this._b)/this._a,(t.y/e-this._d)/this._c)}};var lt=l({},st,{code:\"EPSG:3857\",projection:rt,transformation:ht(lt=.5/(Math.PI*rt.R),.5,-lt,.5)}),ut=l({},lt,{code:\"EPSG:900913\"});function ct(t){return document.createElementNS(\"http://www.w3.org/2000/svg\",t)}function dt(t,e){for(var i,n,o,s,r=\"\",a=0,h=t.length;a<h;a++){for(i=0,n=(o=t[a]).length;i<n;i++)r+=(i?\"L\":\"M\")+(s=o[i]).x+\" \"+s.y;r+=e?b.svg?\"z\":\"x\":\"\"}return r||\"M0 0\"}var _t=document.documentElement.style,pt=\"ActiveXObject\"in window,mt=pt&&!document.addEventListener,n=\"msLaunchUri\"in navigator&&!(\"documentMode\"in document),ft=y(\"webkit\"),gt=y(\"android\"),vt=y(\"android 2\")||y(\"android 3\"),yt=parseInt(/WebKit\\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),yt=gt&&y(\"Google\")&&yt<537&&!(\"AudioNode\"in window),xt=!!window.opera,wt=!n&&y(\"chrome\"),bt=y(\"gecko\")&&!ft&&!xt&&!pt,Pt=!wt&&y(\"safari\"),Lt=y(\"phantom\"),o=\"OTransition\"in _t,Tt=0===navigator.platform.indexOf(\"Win\"),Mt=pt&&\"transition\"in _t,zt=\"WebKitCSSMatrix\"in window&&\"m11\"in new window.WebKitCSSMatrix&&!vt,_t=\"MozPerspective\"in _t,Ct=!window.L_DISABLE_3D&&(Mt||zt||_t)&&!o&&!Lt,Zt=\"undefined\"!=typeof orientation||y(\"mobile\"),St=Zt&&ft,Et=Zt&&zt,kt=!window.PointerEvent&&window.MSPointerEvent,Ot=!(!window.PointerEvent&&!kt),At=\"ontouchstart\"in window||!!window.TouchEvent,Bt=!window.L_NO_TOUCH&&(At||Ot),It=Zt&&xt,Rt=Zt&&bt,Nt=1<(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI),Dt=function(){var t=!1;try{var e=Object.defineProperty({},\"passive\",{get:function(){t=!0}});window.addEventListener(\"testPassiveEventSupport\",u,e),window.removeEventListener(\"testPassiveEventSupport\",u,e)}catch(t){}return t}(),jt=!!document.createElement(\"canvas\").getContext,Ht=!(!document.createElementNS||!ct(\"svg\").createSVGRect),Wt=!!Ht&&((Wt=document.createElement(\"div\")).innerHTML=\"<svg/>\",\"http://www.w3.org/2000/svg\"===(Wt.firstChild&&Wt.firstChild.namespaceURI));function y(t){return 0<=navigator.userAgent.toLowerCase().indexOf(t)}var b={ie:pt,ielt9:mt,edge:n,webkit:ft,android:gt,android23:vt,androidStock:yt,opera:xt,chrome:wt,gecko:bt,safari:Pt,phantom:Lt,opera12:o,win:Tt,ie3d:Mt,webkit3d:zt,gecko3d:_t,any3d:Ct,mobile:Zt,mobileWebkit:St,mobileWebkit3d:Et,msPointer:kt,pointer:Ot,touch:Bt,touchNative:At,mobileOpera:It,mobileGecko:Rt,retina:Nt,passiveEvents:Dt,canvas:jt,svg:Ht,vml:!Ht&&function(){try{var t=document.createElement(\"div\"),e=(t.innerHTML='<v:shape adj=\"1\"/>',t.firstChild);return e.style.behavior=\"url(#default#VML)\",e&&\"object\"==typeof e.adj}catch(t){return!1}}(),inlineSvg:Wt,mac:0===navigator.platform.indexOf(\"Mac\"),linux:0===navigator.platform.indexOf(\"Linux\")},Ft=b.msPointer?\"MSPointerDown\":\"pointerdown\",Ut=b.msPointer?\"MSPointerMove\":\"pointermove\",Vt=b.msPointer?\"MSPointerUp\":\"pointerup\",qt=b.msPointer?\"MSPointerCancel\":\"pointercancel\",Gt={touchstart:Ft,touchmove:Ut,touchend:Vt,touchcancel:qt},Kt={touchstart:function(t,e){e.MSPOINTER_TYPE_TOUCH&&e.pointerType===e.MSPOINTER_TYPE_TOUCH&&O(e);ee(t,e)},touchmove:ee,touchend:ee,touchcancel:ee},Yt={},Xt=!1;function Jt(t,e,i){return\"touchstart\"!==e||Xt||(document.addEventListener(Ft,$t,!0),document.addEventListener(Ut,Qt,!0),document.addEventListener(Vt,te,!0),document.addEventListener(qt,te,!0),Xt=!0),Kt[e]?(i=Kt[e].bind(this,i),t.addEventListener(Gt[e],i,!1),i):(console.warn(\"wrong event specified:\",e),u)}function $t(t){Yt[t.pointerId]=t}function Qt(t){Yt[t.pointerId]&&(Yt[t.pointerId]=t)}function te(t){delete Yt[t.pointerId]}function ee(t,e){if(e.pointerType!==(e.MSPOINTER_TYPE_MOUSE||\"mouse\")){for(var i in e.touches=[],Yt)e.touches.push(Yt[i]);e.changedTouches=[e],t(e)}}var ie=200;function ne(t,i){t.addEventListener(\"dblclick\",i);var n,o=0;function e(t){var e;1!==t.detail?n=t.detail:\"mouse\"===t.pointerType||t.sourceCapabilities&&!t.sourceCapabilities.firesTouchEvents||((e=Ne(t)).some(function(t){return t instanceof HTMLLabelElement&&t.attributes.for})&&!e.some(function(t){return t instanceof HTMLInputElement||t instanceof HTMLSelectElement})||((e=Date.now())-o<=ie?2===++n&&i(function(t){var e,i,n={};for(i in t)e=t[i],n[i]=e&&e.bind?e.bind(t):e;return(t=n).type=\"dblclick\",n.detail=2,n.isTrusted=!1,n._simulated=!0,n}(t)):n=1,o=e))}return t.addEventListener(\"click\",e),{dblclick:i,simDblclick:e}}var oe,se,re,ae,he,le,ue=we([\"transform\",\"webkitTransform\",\"OTransform\",\"MozTransform\",\"msTransform\"]),ce=we([\"webkitTransition\",\"transition\",\"OTransition\",\"MozTransition\",\"msTransition\"]),de=\"webkitTransition\"===ce||\"OTransition\"===ce?ce+\"End\":\"transitionend\";function _e(t){return\"string\"==typeof t?document.getElementById(t):t}function pe(t,e){var i=t.style[e]||t.currentStyle&&t.currentStyle[e];return\"auto\"===(i=i&&\"auto\"!==i||!document.defaultView?i:(t=document.defaultView.getComputedStyle(t,null))?t[e]:null)?null:i}function P(t,e,i){t=document.createElement(t);return t.className=e||\"\",i&&i.appendChild(t),t}function T(t){var e=t.parentNode;e&&e.removeChild(t)}function me(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function fe(t){var e=t.parentNode;e&&e.lastChild!==t&&e.appendChild(t)}function ge(t){var e=t.parentNode;e&&e.firstChild!==t&&e.insertBefore(t,e.firstChild)}function ve(t,e){return void 0!==t.classList?t.classList.contains(e):0<(t=xe(t)).length&&new RegExp(\"(^|\\\\s)\"+e+\"(\\\\s|$)\").test(t)}function M(t,e){var i;if(void 0!==t.classList)for(var n=F(e),o=0,s=n.length;o<s;o++)t.classList.add(n[o]);else ve(t,e)||ye(t,((i=xe(t))?i+\" \":\"\")+e)}function z(t,e){void 0!==t.classList?t.classList.remove(e):ye(t,W((\" \"+xe(t)+\" \").replace(\" \"+e+\" \",\" \")))}function ye(t,e){void 0===t.className.baseVal?t.className=e:t.className.baseVal=e}function xe(t){return void 0===(t=t.correspondingElement?t.correspondingElement:t).className.baseVal?t.className:t.className.baseVal}function C(t,e){if(\"opacity\"in t.style)t.style.opacity=e;else if(\"filter\"in t.style){var i=!1,n=\"DXImageTransform.Microsoft.Alpha\";try{i=t.filters.item(n)}catch(t){if(1===e)return}e=Math.round(100*e),i?(i.Enabled=100!==e,i.Opacity=e):t.style.filter+=\" progid:\"+n+\"(opacity=\"+e+\")\"}}function we(t){for(var e=document.documentElement.style,i=0;i<t.length;i++)if(t[i]in e)return t[i];return!1}function be(t,e,i){e=e||new p(0,0);t.style[ue]=(b.ie3d?\"translate(\"+e.x+\"px,\"+e.y+\"px)\":\"translate3d(\"+e.x+\"px,\"+e.y+\"px,0)\")+(i?\" scale(\"+i+\")\":\"\")}function Z(t,e){t._leaflet_pos=e,b.any3d?be(t,e):(t.style.left=e.x+\"px\",t.style.top=e.y+\"px\")}function Pe(t){return t._leaflet_pos||new p(0,0)}function Le(){S(window,\"dragstart\",O)}function Te(){k(window,\"dragstart\",O)}function Me(t){for(;-1===t.tabIndex;)t=t.parentNode;t.style&&(ze(),le=(he=t).style.outlineStyle,t.style.outlineStyle=\"none\",S(window,\"keydown\",ze))}function ze(){he&&(he.style.outlineStyle=le,le=he=void 0,k(window,\"keydown\",ze))}function Ce(t){for(;!((t=t.parentNode).offsetWidth&&t.offsetHeight||t===document.body););return t}function Ze(t){var e=t.getBoundingClientRect();return{x:e.width/t.offsetWidth||1,y:e.height/t.offsetHeight||1,boundingClientRect:e}}ae=\"onselectstart\"in document?(re=function(){S(window,\"selectstart\",O)},function(){k(window,\"selectstart\",O)}):(se=we([\"userSelect\",\"WebkitUserSelect\",\"OUserSelect\",\"MozUserSelect\",\"msUserSelect\"]),re=function(){var t;se&&(t=document.documentElement.style,oe=t[se],t[se]=\"none\")},function(){se&&(document.documentElement.style[se]=oe,oe=void 0)});pt={__proto__:null,TRANSFORM:ue,TRANSITION:ce,TRANSITION_END:de,get:_e,getStyle:pe,create:P,remove:T,empty:me,toFront:fe,toBack:ge,hasClass:ve,addClass:M,removeClass:z,setClass:ye,getClass:xe,setOpacity:C,testProp:we,setTransform:be,setPosition:Z,getPosition:Pe,get disableTextSelection(){return re},get enableTextSelection(){return ae},disableImageDrag:Le,enableImageDrag:Te,preventOutline:Me,restoreOutline:ze,getSizedParentNode:Ce,getScale:Ze};function S(t,e,i,n){if(e&&\"object\"==typeof e)for(var o in e)ke(t,o,e[o],i);else for(var s=0,r=(e=F(e)).length;s<r;s++)ke(t,e[s],i,n);return this}var E=\"_leaflet_events\";function k(t,e,i,n){if(1===arguments.length)Se(t),delete t[E];else if(e&&\"object\"==typeof e)for(var o in e)Oe(t,o,e[o],i);else if(e=F(e),2===arguments.length)Se(t,function(t){return-1!==G(e,t)});else for(var s=0,r=e.length;s<r;s++)Oe(t,e[s],i,n);return this}function Se(t,e){for(var i in t[E]){var n=i.split(/\\d/)[0];e&&!e(n)||Oe(t,n,null,null,i)}}var Ee={mouseenter:\"mouseover\",mouseleave:\"mouseout\",wheel:!(\"onwheel\"in window)&&\"mousewheel\"};function ke(e,t,i,n){var o,s,r=t+h(i)+(n?\"_\"+h(n):\"\");e[E]&&e[E][r]||(s=o=function(t){return i.call(n||e,t||window.event)},!b.touchNative&&b.pointer&&0===t.indexOf(\"touch\")?o=Jt(e,t,o):b.touch&&\"dblclick\"===t?o=ne(e,o):\"addEventListener\"in e?\"touchstart\"===t||\"touchmove\"===t||\"wheel\"===t||\"mousewheel\"===t?e.addEventListener(Ee[t]||t,o,!!b.passiveEvents&&{passive:!1}):\"mouseenter\"===t||\"mouseleave\"===t?e.addEventListener(Ee[t],o=function(t){t=t||window.event,We(e,t)&&s(t)},!1):e.addEventListener(t,s,!1):e.attachEvent(\"on\"+t,o),e[E]=e[E]||{},e[E][r]=o)}function Oe(t,e,i,n,o){o=o||e+h(i)+(n?\"_\"+h(n):\"\");var s,r,i=t[E]&&t[E][o];i&&(!b.touchNative&&b.pointer&&0===e.indexOf(\"touch\")?(n=t,r=i,Gt[s=e]?n.removeEventListener(Gt[s],r,!1):console.warn(\"wrong event specified:\",s)):b.touch&&\"dblclick\"===e?(n=i,(r=t).removeEventListener(\"dblclick\",n.dblclick),r.removeEventListener(\"click\",n.simDblclick)):\"removeEventListener\"in t?t.removeEventListener(Ee[e]||e,i,!1):t.detachEvent(\"on\"+e,i),t[E][o]=null)}function Ae(t){return t.stopPropagation?t.stopPropagation():t.originalEvent?t.originalEvent._stopped=!0:t.cancelBubble=!0,this}function Be(t){return ke(t,\"wheel\",Ae),this}function Ie(t){return S(t,\"mousedown touchstart dblclick contextmenu\",Ae),t._leaflet_disable_click=!0,this}function O(t){return t.preventDefault?t.preventDefault():t.returnValue=!1,this}function Re(t){return O(t),Ae(t),this}function Ne(t){if(t.composedPath)return t.composedPath();for(var e=[],i=t.target;i;)e.push(i),i=i.parentNode;return e}function De(t,e){var i,n;return e?(n=(i=Ze(e)).boundingClientRect,new p((t.clientX-n.left)/i.x-e.clientLeft,(t.clientY-n.top)/i.y-e.clientTop)):new p(t.clientX,t.clientY)}var je=b.linux&&b.chrome?window.devicePixelRatio:b.mac?3*window.devicePixelRatio:0<window.devicePixelRatio?2*window.devicePixelRatio:1;function He(t){return b.edge?t.wheelDeltaY/2:t.deltaY&&0===t.deltaMode?-t.deltaY/je:t.deltaY&&1===t.deltaMode?20*-t.deltaY:t.deltaY&&2===t.deltaMode?60*-t.deltaY:t.deltaX||t.deltaZ?0:t.wheelDelta?(t.wheelDeltaY||t.wheelDelta)/2:t.detail&&Math.abs(t.detail)<32765?20*-t.detail:t.detail?t.detail/-32765*60:0}function We(t,e){var i=e.relatedTarget;if(!i)return!0;try{for(;i&&i!==t;)i=i.parentNode}catch(t){return!1}return i!==t}var mt={__proto__:null,on:S,off:k,stopPropagation:Ae,disableScrollPropagation:Be,disableClickPropagation:Ie,preventDefault:O,stop:Re,getPropagationPath:Ne,getMousePosition:De,getWheelDelta:He,isExternalTarget:We,addListener:S,removeListener:k},Fe=it.extend({run:function(t,e,i,n){this.stop(),this._el=t,this._inProgress=!0,this._duration=i||.25,this._easeOutPower=1/Math.max(n||.5,.2),this._startPos=Pe(t),this._offset=e.subtract(this._startPos),this._startTime=+new Date,this.fire(\"start\"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=x(this._animate,this),this._step()},_step:function(t){var e=+new Date-this._startTime,i=1e3*this._duration;e<i?this._runFrame(this._easeOut(e/i),t):(this._runFrame(1),this._complete())},_runFrame:function(t,e){t=this._startPos.add(this._offset.multiplyBy(t));e&&t._round(),Z(this._el,t),this.fire(\"step\")},_complete:function(){r(this._animId),this._inProgress=!1,this.fire(\"end\")},_easeOut:function(t){return 1-Math.pow(1-t,this._easeOutPower)}}),A=it.extend({options:{crs:lt,center:void 0,zoom:void 0,minZoom:void 0,maxZoom:void 0,layers:[],maxBounds:void 0,renderer:void 0,zoomAnimation:!0,zoomAnimationThreshold:4,fadeAnimation:!0,markerZoomAnimation:!0,transform3DLimit:8388608,zoomSnap:1,zoomDelta:1,trackResize:!0},initialize:function(t,e){e=c(this,e),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this._initContainer(t),this._initLayout(),this._onResize=a(this._onResize,this),this._initEvents(),e.maxBounds&&this.setMaxBounds(e.maxBounds),void 0!==e.zoom&&(this._zoom=this._limitZoom(e.zoom)),e.center&&void 0!==e.zoom&&this.setView(w(e.center),e.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=ce&&b.any3d&&!b.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),S(this._proxy,de,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(t,e,i){if((e=void 0===e?this._zoom:this._limitZoom(e),t=this._limitCenter(w(t),e,this.options.maxBounds),i=i||{},this._stop(),this._loaded&&!i.reset&&!0!==i)&&(void 0!==i.animate&&(i.zoom=l({animate:i.animate},i.zoom),i.pan=l({animate:i.animate,duration:i.duration},i.pan)),this._zoom!==e?this._tryAnimatedZoom&&this._tryAnimatedZoom(t,e,i.zoom):this._tryAnimatedPan(t,i.pan)))return clearTimeout(this._sizeTimer),this;return this._resetView(t,e,i.pan&&i.pan.noMoveStart),this},setZoom:function(t,e){return this._loaded?this.setView(this.getCenter(),t,{zoom:e}):(this._zoom=t,this)},zoomIn:function(t,e){return t=t||(b.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+t,e)},zoomOut:function(t,e){return t=t||(b.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom-t,e)},setZoomAround:function(t,e,i){var n=this.getZoomScale(e),o=this.getSize().divideBy(2),t=(t instanceof p?t:this.latLngToContainerPoint(t)).subtract(o).multiplyBy(1-1/n),n=this.containerPointToLatLng(o.add(t));return this.setView(n,e,{zoom:i})},_getBoundsCenterZoom:function(t,e){e=e||{},t=t.getBounds?t.getBounds():g(t);var i=m(e.paddingTopLeft||e.padding||[0,0]),n=m(e.paddingBottomRight||e.padding||[0,0]),o=this.getBoundsZoom(t,!1,i.add(n));return(o=\"number\"==typeof e.maxZoom?Math.min(e.maxZoom,o):o)===1/0?{center:t.getCenter(),zoom:o}:(e=n.subtract(i).divideBy(2),n=this.project(t.getSouthWest(),o),i=this.project(t.getNorthEast(),o),{center:this.unproject(n.add(i).divideBy(2).add(e),o),zoom:o})},fitBounds:function(t,e){if((t=g(t)).isValid())return t=this._getBoundsCenterZoom(t,e),this.setView(t.center,t.zoom,e);throw new Error(\"Bounds are not valid.\")},fitWorld:function(t){return this.fitBounds([[-90,-180],[90,180]],t)},panTo:function(t,e){return this.setView(t,this._zoom,{pan:e})},panBy:function(t,e){var i;return e=e||{},(t=m(t).round()).x||t.y?(!0===e.animate||this.getSize().contains(t)?(this._panAnim||(this._panAnim=new Fe,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),e.noMoveStart||this.fire(\"movestart\"),!1!==e.animate?(M(this._mapPane,\"leaflet-pan-anim\"),i=this._getMapPanePos().subtract(t).round(),this._panAnim.run(this._mapPane,i,e.duration||.25,e.easeLinearity)):(this._rawPanBy(t),this.fire(\"move\").fire(\"moveend\"))):this._resetView(this.unproject(this.project(this.getCenter()).add(t)),this.getZoom()),this):this.fire(\"moveend\")},flyTo:function(n,o,t){if(!1===(t=t||{}).animate||!b.any3d)return this.setView(n,o,t);this._stop();var s=this.project(this.getCenter()),r=this.project(n),e=this.getSize(),a=this._zoom,h=(n=w(n),o=void 0===o?a:o,Math.max(e.x,e.y)),i=h*this.getZoomScale(a,o),l=r.distanceTo(s)||1,u=1.42,c=u*u;function d(t){t=(i*i-h*h+(t?-1:1)*c*c*l*l)/(2*(t?i:h)*c*l),t=Math.sqrt(t*t+1)-t;return t<1e-9?-18:Math.log(t)}function _(t){return(Math.exp(t)-Math.exp(-t))/2}function p(t){return(Math.exp(t)+Math.exp(-t))/2}var m=d(0);function f(t){return h*(p(m)*(_(t=m+u*t)/p(t))-_(m))/c}var g=Date.now(),v=(d(1)-m)/u,y=t.duration?1e3*t.duration:1e3*v*.8;return this._moveStart(!0,t.noMoveStart),function t(){var e=(Date.now()-g)/y,i=(1-Math.pow(1-e,1.5))*v;e<=1?(this._flyToFrame=x(t,this),this._move(this.unproject(s.add(r.subtract(s).multiplyBy(f(i)/l)),a),this.getScaleZoom(h/(e=i,h*(p(m)/p(m+u*e))),a),{flyTo:!0})):this._move(n,o)._moveEnd(!0)}.call(this),this},flyToBounds:function(t,e){t=this._getBoundsCenterZoom(t,e);return this.flyTo(t.center,t.zoom,e)},setMaxBounds:function(t){return t=g(t),this.listens(\"moveend\",this._panInsideMaxBounds)&&this.off(\"moveend\",this._panInsideMaxBounds),t.isValid()?(this.options.maxBounds=t,this._loaded&&this._panInsideMaxBounds(),this.on(\"moveend\",this._panInsideMaxBounds)):(this.options.maxBounds=null,this)},setMinZoom:function(t){var e=this.options.minZoom;return this.options.minZoom=t,this._loaded&&e!==t&&(this.fire(\"zoomlevelschange\"),this.getZoom()<this.options.minZoom)?this.setZoom(t):this},setMaxZoom:function(t){var e=this.options.maxZoom;return this.options.maxZoom=t,this._loaded&&e!==t&&(this.fire(\"zoomlevelschange\"),this.getZoom()>this.options.maxZoom)?this.setZoom(t):this},panInsideBounds:function(t,e){this._enforcingBounds=!0;var i=this.getCenter(),t=this._limitCenter(i,this._zoom,g(t));return i.equals(t)||this.panTo(t,e),this._enforcingBounds=!1,this},panInside:function(t,e){var i=m((e=e||{}).paddingTopLeft||e.padding||[0,0]),n=m(e.paddingBottomRight||e.padding||[0,0]),o=this.project(this.getCenter()),t=this.project(t),s=this.getPixelBounds(),i=_([s.min.add(i),s.max.subtract(n)]),s=i.getSize();return i.contains(t)||(this._enforcingBounds=!0,n=t.subtract(i.getCenter()),i=i.extend(t).getSize().subtract(s),o.x+=n.x<0?-i.x:i.x,o.y+=n.y<0?-i.y:i.y,this.panTo(this.unproject(o),e),this._enforcingBounds=!1),this},invalidateSize:function(t){if(!this._loaded)return this;t=l({animate:!1,pan:!0},!0===t?{animate:!0}:t);var e=this.getSize(),i=(this._sizeChanged=!0,this._lastCenter=null,this.getSize()),n=e.divideBy(2).round(),o=i.divideBy(2).round(),n=n.subtract(o);return n.x||n.y?(t.animate&&t.pan?this.panBy(n):(t.pan&&this._rawPanBy(n),this.fire(\"move\"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(a(this.fire,this,\"moveend\"),200)):this.fire(\"moveend\")),this.fire(\"resize\",{oldSize:e,newSize:i})):this},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire(\"viewreset\"),this._stop()},locate:function(t){var e,i;return t=this._locateOptions=l({timeout:1e4,watch:!1},t),\"geolocation\"in navigator?(e=a(this._handleGeolocationResponse,this),i=a(this._handleGeolocationError,this),t.watch?this._locationWatchId=navigator.geolocation.watchPosition(e,i,t):navigator.geolocation.getCurrentPosition(e,i,t)):this._handleGeolocationError({code:0,message:\"Geolocation not supported.\"}),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){var e;this._container._leaflet_id&&(e=t.code,t=t.message||(1===e?\"permission denied\":2===e?\"position unavailable\":\"timeout\"),this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire(\"locationerror\",{code:e,message:\"Geolocation error: \"+t+\".\"}))},_handleGeolocationResponse:function(t){if(this._container._leaflet_id){var e,i,n=new v(t.coords.latitude,t.coords.longitude),o=n.toBounds(2*t.coords.accuracy),s=this._locateOptions,r=(s.setView&&(e=this.getBoundsZoom(o),this.setView(n,s.maxZoom?Math.min(e,s.maxZoom):e)),{latlng:n,bounds:o,timestamp:t.timestamp});for(i in t.coords)\"number\"==typeof t.coords[i]&&(r[i]=t.coords[i]);this.fire(\"locationfound\",r)}},addHandler:function(t,e){return e&&(e=this[t]=new e(this),this._handlers.push(e),this.options[t]&&e.enable()),this},remove:function(){if(this._initEvents(!0),this.options.maxBounds&&this.off(\"moveend\",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw new Error(\"Map container is being reused by another instance\");try{delete this._container._leaflet_id,delete this._containerId}catch(t){this._container._leaflet_id=void 0,this._containerId=void 0}for(var t in void 0!==this._locationWatchId&&this.stopLocate(),this._stop(),T(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(r(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire(\"unload\"),this._layers)this._layers[t].remove();for(t in this._panes)T(this._panes[t]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(t,e){e=P(\"div\",\"leaflet-pane\"+(t?\" leaflet-\"+t.replace(\"Pane\",\"\")+\"-pane\":\"\"),e||this._mapPane);return t&&(this._panes[t]=e),e},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds();return new s(this.unproject(t.getBottomLeft()),this.unproject(t.getTopRight()))},getMinZoom:function(){return void 0===this.options.minZoom?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return void 0===this.options.maxZoom?void 0===this._layersMaxZoom?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,e,i){t=g(t),i=m(i||[0,0]);var n=this.getZoom()||0,o=this.getMinZoom(),s=this.getMaxZoom(),r=t.getNorthWest(),t=t.getSouthEast(),i=this.getSize().subtract(i),t=_(this.project(t,n),this.project(r,n)).getSize(),r=b.any3d?this.options.zoomSnap:1,a=i.x/t.x,i=i.y/t.y,t=e?Math.max(a,i):Math.min(a,i),n=this.getScaleZoom(t,n);return r&&(n=Math.round(n/(r/100))*(r/100),n=e?Math.ceil(n/r)*r:Math.floor(n/r)*r),Math.max(o,Math.min(s,n))},getSize:function(){return this._size&&!this._sizeChanged||(this._size=new p(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,e){t=this._getTopLeftPoint(t,e);return new f(t,t.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(void 0===t?this.getZoom():t)},getPane:function(t){return\"string\"==typeof t?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,e){var i=this.options.crs;return e=void 0===e?this._zoom:e,i.scale(t)/i.scale(e)},getScaleZoom:function(t,e){var i=this.options.crs,t=(e=void 0===e?this._zoom:e,i.zoom(t*i.scale(e)));return isNaN(t)?1/0:t},project:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.latLngToPoint(w(t),e)},unproject:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.pointToLatLng(m(t),e)},layerPointToLatLng:function(t){t=m(t).add(this.getPixelOrigin());return this.unproject(t)},latLngToLayerPoint:function(t){return this.project(w(t))._round()._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(w(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(g(t))},distance:function(t,e){return this.options.crs.distance(w(t),w(e))},containerPointToLayerPoint:function(t){return m(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return m(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){t=this.containerPointToLayerPoint(m(t));return this.layerPointToLatLng(t)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(w(t)))},mouseEventToContainerPoint:function(t){return De(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){t=this._container=_e(t);if(!t)throw new Error(\"Map container not found.\");if(t._leaflet_id)throw new Error(\"Map container is already initialized.\");S(t,\"scroll\",this._onScroll,this),this._containerId=h(t)},_initLayout:function(){var t=this._container,e=(this._fadeAnimated=this.options.fadeAnimation&&b.any3d,M(t,\"leaflet-container\"+(b.touch?\" leaflet-touch\":\"\")+(b.retina?\" leaflet-retina\":\"\")+(b.ielt9?\" leaflet-oldie\":\"\")+(b.safari?\" leaflet-safari\":\"\")+(this._fadeAnimated?\" leaflet-fade-anim\":\"\")),pe(t,\"position\"));\"absolute\"!==e&&\"relative\"!==e&&\"fixed\"!==e&&\"sticky\"!==e&&(t.style.position=\"relative\"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane(\"mapPane\",this._container),Z(this._mapPane,new p(0,0)),this.createPane(\"tilePane\"),this.createPane(\"overlayPane\"),this.createPane(\"shadowPane\"),this.createPane(\"markerPane\"),this.createPane(\"tooltipPane\"),this.createPane(\"popupPane\"),this.options.markerZoomAnimation||(M(t.markerPane,\"leaflet-zoom-hide\"),M(t.shadowPane,\"leaflet-zoom-hide\"))},_resetView:function(t,e,i){Z(this._mapPane,new p(0,0));var n=!this._loaded,o=(this._loaded=!0,e=this._limitZoom(e),this.fire(\"viewprereset\"),this._zoom!==e);this._moveStart(o,i)._move(t,e)._moveEnd(o),this.fire(\"viewreset\"),n&&this.fire(\"load\")},_moveStart:function(t,e){return t&&this.fire(\"zoomstart\"),e||this.fire(\"movestart\"),this},_move:function(t,e,i,n){void 0===e&&(e=this._zoom);var o=this._zoom!==e;return this._zoom=e,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),n?i&&i.pinch&&this.fire(\"zoom\",i):((o||i&&i.pinch)&&this.fire(\"zoom\",i),this.fire(\"move\",i)),this},_moveEnd:function(t){return t&&this.fire(\"zoomend\"),this.fire(\"moveend\")},_stop:function(){return r(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){Z(this._mapPane,this._getMapPanePos().subtract(t))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error(\"Set map center and zoom first.\")},_initEvents:function(t){this._targets={};var e=t?k:S;e((this._targets[h(this._container)]=this)._container,\"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup\",this._handleDOMEvent,this),this.options.trackResize&&e(window,\"resize\",this._onResize,this),b.any3d&&this.options.transform3DLimit&&(t?this.off:this.on).call(this,\"moveend\",this._onMoveEnd)},_onResize:function(){r(this._resizeRequest),this._resizeRequest=x(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,e){for(var i,n=[],o=\"mouseout\"===e||\"mouseover\"===e,s=t.target||t.srcElement,r=!1;s;){if((i=this._targets[h(s)])&&(\"click\"===e||\"preclick\"===e)&&this._draggableMoved(i)){r=!0;break}if(i&&i.listens(e,!0)){if(o&&!We(s,t))break;if(n.push(i),o)break}if(s===this._container)break;s=s.parentNode}return n=n.length||r||o||!this.listens(e,!0)?n:[this]},_isClickDisabled:function(t){for(;t&&t!==this._container;){if(t._leaflet_disable_click)return!0;t=t.parentNode}},_handleDOMEvent:function(t){var e,i=t.target||t.srcElement;!this._loaded||i._leaflet_disable_events||\"click\"===t.type&&this._isClickDisabled(i)||(\"mousedown\"===(e=t.type)&&Me(i),this._fireDOMEvent(t,e))},_mouseEvents:[\"click\",\"dblclick\",\"mouseover\",\"mouseout\",\"contextmenu\"],_fireDOMEvent:function(t,e,i){\"click\"===t.type&&((a=l({},t)).type=\"preclick\",this._fireDOMEvent(a,a.type,i));var n=this._findEventTargets(t,e);if(i){for(var o=[],s=0;s<i.length;s++)i[s].listens(e,!0)&&o.push(i[s]);n=o.concat(n)}if(n.length){\"contextmenu\"===e&&O(t);var r,a=n[0],h={originalEvent:t};for(\"keypress\"!==t.type&&\"keydown\"!==t.type&&\"keyup\"!==t.type&&(r=a.getLatLng&&(!a._radius||a._radius<=10),h.containerPoint=r?this.latLngToContainerPoint(a.getLatLng()):this.mouseEventToContainerPoint(t),h.layerPoint=this.containerPointToLayerPoint(h.containerPoint),h.latlng=r?a.getLatLng():this.layerPointToLatLng(h.layerPoint)),s=0;s<n.length;s++)if(n[s].fire(e,h,!0),h.originalEvent._stopped||!1===n[s].options.bubblingMouseEvents&&-1!==G(this._mouseEvents,e))return}},_draggableMoved:function(t){return(t=t.dragging&&t.dragging.enabled()?t:this).dragging&&t.dragging.moved()||this.boxZoom&&this.boxZoom.moved()},_clearHandlers:function(){for(var t=0,e=this._handlers.length;t<e;t++)this._handlers[t].disable()},whenReady:function(t,e){return this._loaded?t.call(e||this,{target:this}):this.on(\"load\",t,e),this},_getMapPanePos:function(){return Pe(this._mapPane)||new p(0,0)},_moved:function(){var t=this._getMapPanePos();return t&&!t.equals([0,0])},_getTopLeftPoint:function(t,e){return(t&&void 0!==e?this._getNewPixelOrigin(t,e):this.getPixelOrigin()).subtract(this._getMapPanePos())},_getNewPixelOrigin:function(t,e){var i=this.getSize()._divideBy(2);return this.project(t,e)._subtract(i)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(t,e,i){i=this._getNewPixelOrigin(i,e);return this.project(t,e)._subtract(i)},_latLngBoundsToNewLayerBounds:function(t,e,i){i=this._getNewPixelOrigin(i,e);return _([this.project(t.getSouthWest(),e)._subtract(i),this.project(t.getNorthWest(),e)._subtract(i),this.project(t.getSouthEast(),e)._subtract(i),this.project(t.getNorthEast(),e)._subtract(i)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(t){return this.latLngToLayerPoint(t).subtract(this._getCenterLayerPoint())},_limitCenter:function(t,e,i){var n,o;return!i||(n=this.project(t,e),o=this.getSize().divideBy(2),o=new f(n.subtract(o),n.add(o)),o=this._getBoundsOffset(o,i,e),Math.abs(o.x)<=1&&Math.abs(o.y)<=1)?t:this.unproject(n.add(o),e)},_limitOffset:function(t,e){var i;return e?(i=new f((i=this.getPixelBounds()).min.add(t),i.max.add(t)),t.add(this._getBoundsOffset(i,e))):t},_getBoundsOffset:function(t,e,i){e=_(this.project(e.getNorthEast(),i),this.project(e.getSouthWest(),i)),i=e.min.subtract(t.min),e=e.max.subtract(t.max);return new p(this._rebound(i.x,-e.x),this._rebound(i.y,-e.y))},_rebound:function(t,e){return 0<t+e?Math.round(t-e)/2:Math.max(0,Math.ceil(t))-Math.max(0,Math.floor(e))},_limitZoom:function(t){var e=this.getMinZoom(),i=this.getMaxZoom(),n=b.any3d?this.options.zoomSnap:1;return n&&(t=Math.round(t/n)*n),Math.max(e,Math.min(i,t))},_onPanTransitionStep:function(){this.fire(\"move\")},_onPanTransitionEnd:function(){z(this._mapPane,\"leaflet-pan-anim\"),this.fire(\"moveend\")},_tryAnimatedPan:function(t,e){t=this._getCenterOffset(t)._trunc();return!(!0!==(e&&e.animate)&&!this.getSize().contains(t))&&(this.panBy(t,e),!0)},_createAnimProxy:function(){var t=this._proxy=P(\"div\",\"leaflet-proxy leaflet-zoom-animated\");this._panes.mapPane.appendChild(t),this.on(\"zoomanim\",function(t){var e=ue,i=this._proxy.style[e];be(this._proxy,this.project(t.center,t.zoom),this.getZoomScale(t.zoom,1)),i===this._proxy.style[e]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on(\"load moveend\",this._animMoveEnd,this),this._on(\"unload\",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){T(this._proxy),this.off(\"load moveend\",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var t=this.getCenter(),e=this.getZoom();be(this._proxy,this.project(t,e),this.getZoomScale(e,1))},_catchTransitionEnd:function(t){this._animatingZoom&&0<=t.propertyName.indexOf(\"transform\")&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName(\"leaflet-zoom-animated\").length},_tryAnimatedZoom:function(t,e,i){if(!this._animatingZoom){if(i=i||{},!this._zoomAnimated||!1===i.animate||this._nothingToAnimate()||Math.abs(e-this._zoom)>this.options.zoomAnimationThreshold)return!1;var n=this.getZoomScale(e),n=this._getCenterOffset(t)._divideBy(1-1/n);if(!0!==i.animate&&!this.getSize().contains(n))return!1;x(function(){this._moveStart(!0,i.noMoveStart||!1)._animateZoom(t,e,!0)},this)}return!0},_animateZoom:function(t,e,i,n){this._mapPane&&(i&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=e,M(this._mapPane,\"leaflet-zoom-anim\")),this.fire(\"zoomanim\",{center:t,zoom:e,noUpdate:n}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(a(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&z(this._mapPane,\"leaflet-zoom-anim\"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom,void 0,!0),this._tempFireZoomEvent&&this.fire(\"zoom\"),delete this._tempFireZoomEvent,this.fire(\"move\"),this._moveEnd(!0))}});function Ue(t){return new B(t)}var B=et.extend({options:{position:\"topright\"},initialize:function(t){c(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var e=this._map;return e&&e.removeControl(this),this.options.position=t,e&&e.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var e=this._container=this.onAdd(t),i=this.getPosition(),t=t._controlCorners[i];return M(e,\"leaflet-control\"),-1!==i.indexOf(\"bottom\")?t.insertBefore(e,t.firstChild):t.appendChild(e),this._map.on(\"unload\",this.remove,this),this},remove:function(){return this._map&&(T(this._container),this.onRemove&&this.onRemove(this._map),this._map.off(\"unload\",this.remove,this),this._map=null),this},_refocusOnMap:function(t){this._map&&t&&0<t.screenX&&0<t.screenY&&this._map.getContainer().focus()}}),Ve=(A.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.remove(),this},_initControlPos:function(){var i=this._controlCorners={},n=\"leaflet-\",o=this._controlContainer=P(\"div\",n+\"control-container\",this._container);function t(t,e){i[t+e]=P(\"div\",n+t+\" \"+n+e,o)}t(\"top\",\"left\"),t(\"top\",\"right\"),t(\"bottom\",\"left\"),t(\"bottom\",\"right\")},_clearControlPos:function(){for(var t in this._controlCorners)T(this._controlCorners[t]);T(this._controlContainer),delete this._controlCorners,delete this._controlContainer}}),B.extend({options:{collapsed:!0,position:\"topright\",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(t,e,i,n){return i<n?-1:n<i?1:0}},initialize:function(t,e,i){for(var n in c(this,i),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1,this._preventClick=!1,t)this._addLayer(t[n],n);for(n in e)this._addLayer(e[n],n,!0)},onAdd:function(t){this._initLayout(),this._update(),(this._map=t).on(\"zoomend\",this._checkDisabledLayers,this);for(var e=0;e<this._layers.length;e++)this._layers[e].layer.on(\"add remove\",this._onLayerChange,this);return this._container},addTo:function(t){return B.prototype.addTo.call(this,t),this._expandIfNotCollapsed()},onRemove:function(){this._map.off(\"zoomend\",this._checkDisabledLayers,this);for(var t=0;t<this._layers.length;t++)this._layers[t].layer.off(\"add remove\",this._onLayerChange,this)},addBaseLayer:function(t,e){return this._addLayer(t,e),this._map?this._update():this},addOverlay:function(t,e){return this._addLayer(t,e,!0),this._map?this._update():this},removeLayer:function(t){t.off(\"add remove\",this._onLayerChange,this);t=this._getLayer(h(t));return t&&this._layers.splice(this._layers.indexOf(t),1),this._map?this._update():this},expand:function(){M(this._container,\"leaflet-control-layers-expanded\"),this._section.style.height=null;var t=this._map.getSize().y-(this._container.offsetTop+50);return t<this._section.clientHeight?(M(this._section,\"leaflet-control-layers-scrollbar\"),this._section.style.height=t+\"px\"):z(this._section,\"leaflet-control-layers-scrollbar\"),this._checkDisabledLayers(),this},collapse:function(){return z(this._container,\"leaflet-control-layers-expanded\"),this},_initLayout:function(){var t=\"leaflet-control-layers\",e=this._container=P(\"div\",t),i=this.options.collapsed,n=(e.setAttribute(\"aria-haspopup\",!0),Ie(e),Be(e),this._section=P(\"section\",t+\"-list\")),o=(i&&(this._map.on(\"click\",this.collapse,this),S(e,{mouseenter:this._expandSafely,mouseleave:this.collapse},this)),this._layersLink=P(\"a\",t+\"-toggle\",e));o.href=\"#\",o.title=\"Layers\",o.setAttribute(\"role\",\"button\"),S(o,{keydown:function(t){13===t.keyCode&&this._expandSafely()},click:function(t){O(t),this._expandSafely()}},this),i||this.expand(),this._baseLayersList=P(\"div\",t+\"-base\",n),this._separator=P(\"div\",t+\"-separator\",n),this._overlaysList=P(\"div\",t+\"-overlays\",n),e.appendChild(n)},_getLayer:function(t){for(var e=0;e<this._layers.length;e++)if(this._layers[e]&&h(this._layers[e].layer)===t)return this._layers[e]},_addLayer:function(t,e,i){this._map&&t.on(\"add remove\",this._onLayerChange,this),this._layers.push({layer:t,name:e,overlay:i}),this.options.sortLayers&&this._layers.sort(a(function(t,e){return this.options.sortFunction(t.layer,e.layer,t.name,e.name)},this)),this.options.autoZIndex&&t.setZIndex&&(this._lastZIndex++,t.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(this._container){me(this._baseLayersList),me(this._overlaysList),this._layerControlInputs=[];for(var t,e,i,n=0,o=0;o<this._layers.length;o++)i=this._layers[o],this._addItem(i),e=e||i.overlay,t=t||!i.overlay,n+=i.overlay?0:1;this.options.hideSingleBase&&(this._baseLayersList.style.display=(t=t&&1<n)?\"\":\"none\"),this._separator.style.display=e&&t?\"\":\"none\"}return this},_onLayerChange:function(t){this._handlingClick||this._update();var e=this._getLayer(h(t.target)),t=e.overlay?\"add\"===t.type?\"overlayadd\":\"overlayremove\":\"add\"===t.type?\"baselayerchange\":null;t&&this._map.fire(t,e)},_createRadioElement:function(t,e){t='<input type=\"radio\" class=\"leaflet-control-layers-selector\" name=\"'+t+'\"'+(e?' checked=\"checked\"':\"\")+\"/>\",e=document.createElement(\"div\");return e.innerHTML=t,e.firstChild},_addItem:function(t){var e,i=document.createElement(\"label\"),n=this._map.hasLayer(t.layer),n=(t.overlay?((e=document.createElement(\"input\")).type=\"checkbox\",e.className=\"leaflet-control-layers-selector\",e.defaultChecked=n):e=this._createRadioElement(\"leaflet-base-layers_\"+h(this),n),this._layerControlInputs.push(e),e.layerId=h(t.layer),S(e,\"click\",this._onInputClick,this),document.createElement(\"span\")),o=(n.innerHTML=\" \"+t.name,document.createElement(\"span\"));return i.appendChild(o),o.appendChild(e),o.appendChild(n),(t.overlay?this._overlaysList:this._baseLayersList).appendChild(i),this._checkDisabledLayers(),i},_onInputClick:function(){if(!this._preventClick){var t,e,i=this._layerControlInputs,n=[],o=[];this._handlingClick=!0;for(var s=i.length-1;0<=s;s--)t=i[s],e=this._getLayer(t.layerId).layer,t.checked?n.push(e):t.checked||o.push(e);for(s=0;s<o.length;s++)this._map.hasLayer(o[s])&&this._map.removeLayer(o[s]);for(s=0;s<n.length;s++)this._map.hasLayer(n[s])||this._map.addLayer(n[s]);this._handlingClick=!1,this._refocusOnMap()}},_checkDisabledLayers:function(){for(var t,e,i=this._layerControlInputs,n=this._map.getZoom(),o=i.length-1;0<=o;o--)t=i[o],e=this._getLayer(t.layerId).layer,t.disabled=void 0!==e.options.minZoom&&n<e.options.minZoom||void 0!==e.options.maxZoom&&n>e.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var t=this._section,e=(this._preventClick=!0,S(t,\"click\",O),this.expand(),this);setTimeout(function(){k(t,\"click\",O),e._preventClick=!1})}})),qe=B.extend({options:{position:\"topleft\",zoomInText:'<span aria-hidden=\"true\">+</span>',zoomInTitle:\"Zoom in\",zoomOutText:'<span aria-hidden=\"true\">&#x2212;</span>',zoomOutTitle:\"Zoom out\"},onAdd:function(t){var e=\"leaflet-control-zoom\",i=P(\"div\",e+\" leaflet-bar\"),n=this.options;return this._zoomInButton=this._createButton(n.zoomInText,n.zoomInTitle,e+\"-in\",i,this._zoomIn),this._zoomOutButton=this._createButton(n.zoomOutText,n.zoomOutTitle,e+\"-out\",i,this._zoomOut),this._updateDisabled(),t.on(\"zoomend zoomlevelschange\",this._updateDisabled,this),i},onRemove:function(t){t.off(\"zoomend zoomlevelschange\",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(t){!this._disabled&&this._map._zoom<this._map.getMaxZoom()&&this._map.zoomIn(this._map.options.zoomDelta*(t.shiftKey?3:1))},_zoomOut:function(t){!this._disabled&&this._map._zoom>this._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,e,i,n,o){i=P(\"a\",i,n);return i.innerHTML=t,i.href=\"#\",i.title=e,i.setAttribute(\"role\",\"button\"),i.setAttribute(\"aria-label\",e),Ie(i),S(i,\"click\",Re),S(i,\"click\",o,this),S(i,\"click\",this._refocusOnMap,this),i},_updateDisabled:function(){var t=this._map,e=\"leaflet-disabled\";z(this._zoomInButton,e),z(this._zoomOutButton,e),this._zoomInButton.setAttribute(\"aria-disabled\",\"false\"),this._zoomOutButton.setAttribute(\"aria-disabled\",\"false\"),!this._disabled&&t._zoom!==t.getMinZoom()||(M(this._zoomOutButton,e),this._zoomOutButton.setAttribute(\"aria-disabled\",\"true\")),!this._disabled&&t._zoom!==t.getMaxZoom()||(M(this._zoomInButton,e),this._zoomInButton.setAttribute(\"aria-disabled\",\"true\"))}}),Ge=(A.mergeOptions({zoomControl:!0}),A.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new qe,this.addControl(this.zoomControl))}),B.extend({options:{position:\"bottomleft\",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var e=\"leaflet-control-scale\",i=P(\"div\",e),n=this.options;return this._addScales(n,e+\"-line\",i),t.on(n.updateWhenIdle?\"moveend\":\"move\",this._update,this),t.whenReady(this._update,this),i},onRemove:function(t){t.off(this.options.updateWhenIdle?\"moveend\":\"move\",this._update,this)},_addScales:function(t,e,i){t.metric&&(this._mScale=P(\"div\",e,i)),t.imperial&&(this._iScale=P(\"div\",e,i))},_update:function(){var t=this._map,e=t.getSize().y/2,t=t.distance(t.containerPointToLatLng([0,e]),t.containerPointToLatLng([this.options.maxWidth,e]));this._updateScales(t)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var e=this._getRoundNum(t);this._updateScale(this._mScale,e<1e3?e+\" m\":e/1e3+\" km\",e/t)},_updateImperial:function(t){var e,i,t=3.2808399*t;5280<t?(i=this._getRoundNum(e=t/5280),this._updateScale(this._iScale,i+\" mi\",i/e)):(i=this._getRoundNum(t),this._updateScale(this._iScale,i+\" ft\",i/t))},_updateScale:function(t,e,i){t.style.width=Math.round(this.options.maxWidth*i)+\"px\",t.innerHTML=e},_getRoundNum:function(t){var e=Math.pow(10,(Math.floor(t)+\"\").length-1),t=t/e;return e*(t=10<=t?10:5<=t?5:3<=t?3:2<=t?2:1)}})),Ke=B.extend({options:{position:\"bottomright\",prefix:'<a href=\"https://leafletjs.com\" title=\"A JavaScript library for interactive maps\">'+(b.inlineSvg?'<svg aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"8\" viewBox=\"0 0 12 8\" class=\"leaflet-attribution-flag\"><path fill=\"#4C7BE1\" d=\"M0 0h12v4H0z\"/><path fill=\"#FFD500\" d=\"M0 4h12v3H0z\"/><path fill=\"#E0BC00\" d=\"M0 7h12v1H0z\"/></svg> ':\"\")+\"Leaflet</a>\"},initialize:function(t){c(this,t),this._attributions={}},onAdd:function(t){for(var e in(t.attributionControl=this)._container=P(\"div\",\"leaflet-control-attribution\"),Ie(this._container),t._layers)t._layers[e].getAttribution&&this.addAttribution(t._layers[e].getAttribution());return this._update(),t.on(\"layeradd\",this._addAttribution,this),this._container},onRemove:function(t){t.off(\"layeradd\",this._addAttribution,this)},_addAttribution:function(t){t.layer.getAttribution&&(this.addAttribution(t.layer.getAttribution()),t.layer.once(\"remove\",function(){this.removeAttribution(t.layer.getAttribution())},this))},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t&&(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update()),this},removeAttribution:function(t){return t&&this._attributions[t]&&(this._attributions[t]--,this._update()),this},_update:function(){if(this._map){var t,e=[];for(t in this._attributions)this._attributions[t]&&e.push(t);var i=[];this.options.prefix&&i.push(this.options.prefix),e.length&&i.push(e.join(\", \")),this._container.innerHTML=i.join(' <span aria-hidden=\"true\">|</span> ')}}}),n=(A.mergeOptions({attributionControl:!0}),A.addInitHook(function(){this.options.attributionControl&&(new Ke).addTo(this)}),B.Layers=Ve,B.Zoom=qe,B.Scale=Ge,B.Attribution=Ke,Ue.layers=function(t,e,i){return new Ve(t,e,i)},Ue.zoom=function(t){return new qe(t)},Ue.scale=function(t){return new Ge(t)},Ue.attribution=function(t){return new Ke(t)},et.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled||(this._enabled=!0,this.addHooks()),this},disable:function(){return this._enabled&&(this._enabled=!1,this.removeHooks()),this},enabled:function(){return!!this._enabled}})),ft=(n.addTo=function(t,e){return t.addHandler(e,this),this},{Events:e}),Ye=b.touch?\"touchstart mousedown\":\"mousedown\",Xe=it.extend({options:{clickTolerance:3},initialize:function(t,e,i,n){c(this,n),this._element=t,this._dragStartTarget=e||t,this._preventOutline=i},enable:function(){this._enabled||(S(this._dragStartTarget,Ye,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(Xe._dragging===this&&this.finishDrag(!0),k(this._dragStartTarget,Ye,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){var e,i;this._enabled&&(this._moved=!1,ve(this._element,\"leaflet-zoom-anim\")||(t.touches&&1!==t.touches.length?Xe._dragging===this&&this.finishDrag():Xe._dragging||t.shiftKey||1!==t.which&&1!==t.button&&!t.touches||((Xe._dragging=this)._preventOutline&&Me(this._element),Le(),re(),this._moving||(this.fire(\"down\"),i=t.touches?t.touches[0]:t,e=Ce(this._element),this._startPoint=new p(i.clientX,i.clientY),this._startPos=Pe(this._element),this._parentScale=Ze(e),i=\"mousedown\"===t.type,S(document,i?\"mousemove\":\"touchmove\",this._onMove,this),S(document,i?\"mouseup\":\"touchend touchcancel\",this._onUp,this)))))},_onMove:function(t){var e;this._enabled&&(t.touches&&1<t.touches.length?this._moved=!0:!(e=new p((e=t.touches&&1===t.touches.length?t.touches[0]:t).clientX,e.clientY)._subtract(this._startPoint)).x&&!e.y||Math.abs(e.x)+Math.abs(e.y)<this.options.clickTolerance||(e.x/=this._parentScale.x,e.y/=this._parentScale.y,O(t),this._moved||(this.fire(\"dragstart\"),this._moved=!0,M(document.body,\"leaflet-dragging\"),this._lastTarget=t.target||t.srcElement,window.SVGElementInstance&&this._lastTarget instanceof window.SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),M(this._lastTarget,\"leaflet-drag-target\")),this._newPos=this._startPos.add(e),this._moving=!0,this._lastEvent=t,this._updatePosition()))},_updatePosition:function(){var t={originalEvent:this._lastEvent};this.fire(\"predrag\",t),Z(this._element,this._newPos),this.fire(\"drag\",t)},_onUp:function(){this._enabled&&this.finishDrag()},finishDrag:function(t){z(document.body,\"leaflet-dragging\"),this._lastTarget&&(z(this._lastTarget,\"leaflet-drag-target\"),this._lastTarget=null),k(document,\"mousemove touchmove\",this._onMove,this),k(document,\"mouseup touchend touchcancel\",this._onUp,this),Te(),ae();var e=this._moved&&this._moving;this._moving=!1,Xe._dragging=!1,e&&this.fire(\"dragend\",{noInertia:t,distance:this._newPos.distanceTo(this._startPos)})}});function Je(t,e,i){for(var n,o,s,r,a,h,l,u=[1,4,2,8],c=0,d=t.length;c<d;c++)t[c]._code=si(t[c],e);for(s=0;s<4;s++){for(h=u[s],n=[],c=0,o=(d=t.length)-1;c<d;o=c++)r=t[c],a=t[o],r._code&h?a._code&h||((l=oi(a,r,h,e,i))._code=si(l,e),n.push(l)):(a._code&h&&((l=oi(a,r,h,e,i))._code=si(l,e),n.push(l)),n.push(r));t=n}return t}function $e(t,e){var i,n,o,s,r,a,h;if(!t||0===t.length)throw new Error(\"latlngs not passed\");I(t)||(console.warn(\"latlngs are not flat! Only the first ring will be used\"),t=t[0]);for(var l=w([0,0]),u=g(t),c=(u.getNorthWest().distanceTo(u.getSouthWest())*u.getNorthEast().distanceTo(u.getNorthWest())<1700&&(l=Qe(t)),t.length),d=[],_=0;_<c;_++){var p=w(t[_]);d.push(e.project(w([p.lat-l.lat,p.lng-l.lng])))}for(_=r=a=h=0,i=c-1;_<c;i=_++)n=d[_],o=d[i],s=n.y*o.x-o.y*n.x,a+=(n.x+o.x)*s,h+=(n.y+o.y)*s,r+=3*s;u=0===r?d[0]:[a/r,h/r],u=e.unproject(m(u));return w([u.lat+l.lat,u.lng+l.lng])}function Qe(t){for(var e=0,i=0,n=0,o=0;o<t.length;o++){var s=w(t[o]);e+=s.lat,i+=s.lng,n++}return w([e/n,i/n])}var ti,gt={__proto__:null,clipPolygon:Je,polygonCenter:$e,centroid:Qe};function ei(t,e){if(e&&t.length){var i=t=function(t,e){for(var i=[t[0]],n=1,o=0,s=t.length;n<s;n++)(function(t,e){var i=e.x-t.x,e=e.y-t.y;return i*i+e*e})(t[n],t[o])>e&&(i.push(t[n]),o=n);o<s-1&&i.push(t[s-1]);return i}(t,e=e*e),n=i.length,o=new(typeof Uint8Array!=void 0+\"\"?Uint8Array:Array)(n);o[0]=o[n-1]=1,function t(e,i,n,o,s){var r,a,h,l=0;for(a=o+1;a<=s-1;a++)h=ri(e[a],e[o],e[s],!0),l<h&&(r=a,l=h);n<l&&(i[r]=1,t(e,i,n,o,r),t(e,i,n,r,s))}(i,o,e,0,n-1);var s,r=[];for(s=0;s<n;s++)o[s]&&r.push(i[s]);return r}return t.slice()}function ii(t,e,i){return Math.sqrt(ri(t,e,i,!0))}function ni(t,e,i,n,o){var s,r,a,h=n?ti:si(t,i),l=si(e,i);for(ti=l;;){if(!(h|l))return[t,e];if(h&l)return!1;a=si(r=oi(t,e,s=h||l,i,o),i),s===h?(t=r,h=a):(e=r,l=a)}}function oi(t,e,i,n,o){var s,r,a=e.x-t.x,e=e.y-t.y,h=n.min,n=n.max;return 8&i?(s=t.x+a*(n.y-t.y)/e,r=n.y):4&i?(s=t.x+a*(h.y-t.y)/e,r=h.y):2&i?(s=n.x,r=t.y+e*(n.x-t.x)/a):1&i&&(s=h.x,r=t.y+e*(h.x-t.x)/a),new p(s,r,o)}function si(t,e){var i=0;return t.x<e.min.x?i|=1:t.x>e.max.x&&(i|=2),t.y<e.min.y?i|=4:t.y>e.max.y&&(i|=8),i}function ri(t,e,i,n){var o=e.x,e=e.y,s=i.x-o,r=i.y-e,a=s*s+r*r;return 0<a&&(1<(a=((t.x-o)*s+(t.y-e)*r)/a)?(o=i.x,e=i.y):0<a&&(o+=s*a,e+=r*a)),s=t.x-o,r=t.y-e,n?s*s+r*r:new p(o,e)}function I(t){return!d(t[0])||\"object\"!=typeof t[0][0]&&void 0!==t[0][0]}function ai(t){return console.warn(\"Deprecated use of _flat, please use L.LineUtil.isFlat instead.\"),I(t)}function hi(t,e){var i,n,o,s,r,a;if(!t||0===t.length)throw new Error(\"latlngs not passed\");I(t)||(console.warn(\"latlngs are not flat! Only the first ring will be used\"),t=t[0]);for(var h=w([0,0]),l=g(t),u=(l.getNorthWest().distanceTo(l.getSouthWest())*l.getNorthEast().distanceTo(l.getNorthWest())<1700&&(h=Qe(t)),t.length),c=[],d=0;d<u;d++){var _=w(t[d]);c.push(e.project(w([_.lat-h.lat,_.lng-h.lng])))}for(i=d=0;d<u-1;d++)i+=c[d].distanceTo(c[d+1])/2;if(0===i)a=c[0];else for(n=d=0;d<u-1;d++)if(o=c[d],s=c[d+1],i<(n+=r=o.distanceTo(s))){a=[s.x-(r=(n-i)/r)*(s.x-o.x),s.y-r*(s.y-o.y)];break}l=e.unproject(m(a));return w([l.lat+h.lat,l.lng+h.lng])}var vt={__proto__:null,simplify:ei,pointToSegmentDistance:ii,closestPointOnSegment:function(t,e,i){return ri(t,e,i)},clipSegment:ni,_getEdgeIntersection:oi,_getBitCode:si,_sqClosestPointOnSegment:ri,isFlat:I,_flat:ai,polylineCenter:hi},yt={project:function(t){return new p(t.lng,t.lat)},unproject:function(t){return new v(t.y,t.x)},bounds:new f([-180,-90],[180,90])},xt={R:6378137,R_MINOR:6356752.314245179,bounds:new f([-20037508.34279,-15496570.73972],[20037508.34279,18764656.23138]),project:function(t){var e=Math.PI/180,i=this.R,n=t.lat*e,o=this.R_MINOR/i,o=Math.sqrt(1-o*o),s=o*Math.sin(n),s=Math.tan(Math.PI/4-n/2)/Math.pow((1-s)/(1+s),o/2),n=-i*Math.log(Math.max(s,1e-10));return new p(t.lng*e*i,n)},unproject:function(t){for(var e,i=180/Math.PI,n=this.R,o=this.R_MINOR/n,s=Math.sqrt(1-o*o),r=Math.exp(-t.y/n),a=Math.PI/2-2*Math.atan(r),h=0,l=.1;h<15&&1e-7<Math.abs(l);h++)e=s*Math.sin(a),e=Math.pow((1-e)/(1+e),s/2),a+=l=Math.PI/2-2*Math.atan(r*e)-a;return new v(a*i,t.x*i/n)}},wt={__proto__:null,LonLat:yt,Mercator:xt,SphericalMercator:rt},Pt=l({},st,{code:\"EPSG:3395\",projection:xt,transformation:ht(bt=.5/(Math.PI*xt.R),.5,-bt,.5)}),li=l({},st,{code:\"EPSG:4326\",projection:yt,transformation:ht(1/180,1,-1/180,.5)}),Lt=l({},ot,{projection:yt,transformation:ht(1,0,-1,0),scale:function(t){return Math.pow(2,t)},zoom:function(t){return Math.log(t)/Math.LN2},distance:function(t,e){var i=e.lng-t.lng,e=e.lat-t.lat;return Math.sqrt(i*i+e*e)},infinite:!0}),o=(ot.Earth=st,ot.EPSG3395=Pt,ot.EPSG3857=lt,ot.EPSG900913=ut,ot.EPSG4326=li,ot.Simple=Lt,it.extend({options:{pane:\"overlayPane\",attribution:null,bubblingMouseEvents:!0},addTo:function(t){return t.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(t){return t&&t.removeLayer(this),this},getPane:function(t){return this._map.getPane(t?this.options[t]||t:this.options.pane)},addInteractiveTarget:function(t){return this._map._targets[h(t)]=this},removeInteractiveTarget:function(t){return delete this._map._targets[h(t)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(t){var e,i=t.target;i.hasLayer(this)&&(this._map=i,this._zoomAnimated=i._zoomAnimated,this.getEvents&&(e=this.getEvents(),i.on(e,this),this.once(\"remove\",function(){i.off(e,this)},this)),this.onAdd(i),this.fire(\"add\"),i.fire(\"layeradd\",{layer:this}))}})),ui=(A.include({addLayer:function(t){var e;if(t._layerAdd)return e=h(t),this._layers[e]||((this._layers[e]=t)._mapToAdd=this,t.beforeAdd&&t.beforeAdd(this),this.whenReady(t._layerAdd,t)),this;throw new Error(\"The provided object is not a Layer.\")},removeLayer:function(t){var e=h(t);return this._layers[e]&&(this._loaded&&t.onRemove(this),delete this._layers[e],this._loaded&&(this.fire(\"layerremove\",{layer:t}),t.fire(\"remove\")),t._map=t._mapToAdd=null),this},hasLayer:function(t){return h(t)in this._layers},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},_addLayers:function(t){for(var e=0,i=(t=t?d(t)?t:[t]:[]).length;e<i;e++)this.addLayer(t[e])},_addZoomLimit:function(t){isNaN(t.options.maxZoom)&&isNaN(t.options.minZoom)||(this._zoomBoundLayers[h(t)]=t,this._updateZoomLevels())},_removeZoomLimit:function(t){t=h(t);this._zoomBoundLayers[t]&&(delete this._zoomBoundLayers[t],this._updateZoomLevels())},_updateZoomLevels:function(){var t,e=1/0,i=-1/0,n=this._getZoomSpan();for(t in this._zoomBoundLayers)var o=this._zoomBoundLayers[t].options,e=void 0===o.minZoom?e:Math.min(e,o.minZoom),i=void 0===o.maxZoom?i:Math.max(i,o.maxZoom);this._layersMaxZoom=i===-1/0?void 0:i,this._layersMinZoom=e===1/0?void 0:e,n!==this._getZoomSpan()&&this.fire(\"zoomlevelschange\"),void 0===this.options.maxZoom&&this._layersMaxZoom&&this.getZoom()>this._layersMaxZoom&&this.setZoom(this._layersMaxZoom),void 0===this.options.minZoom&&this._layersMinZoom&&this.getZoom()<this._layersMinZoom&&this.setZoom(this._layersMinZoom)}}),o.extend({initialize:function(t,e){var i,n;if(c(this,e),this._layers={},t)for(i=0,n=t.length;i<n;i++)this.addLayer(t[i])},addLayer:function(t){var e=this.getLayerId(t);return this._layers[e]=t,this._map&&this._map.addLayer(t),this},removeLayer:function(t){t=t in this._layers?t:this.getLayerId(t);return this._map&&this._layers[t]&&this._map.removeLayer(this._layers[t]),delete this._layers[t],this},hasLayer:function(t){return(\"number\"==typeof t?t:this.getLayerId(t))in this._layers},clearLayers:function(){return this.eachLayer(this.removeLayer,this)},invoke:function(t){var e,i,n=Array.prototype.slice.call(arguments,1);for(e in this._layers)(i=this._layers[e])[t]&&i[t].apply(i,n);return this},onAdd:function(t){this.eachLayer(t.addLayer,t)},onRemove:function(t){this.eachLayer(t.removeLayer,t)},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},getLayer:function(t){return this._layers[t]},getLayers:function(){var t=[];return this.eachLayer(t.push,t),t},setZIndex:function(t){return this.invoke(\"setZIndex\",t)},getLayerId:h})),ci=ui.extend({addLayer:function(t){return this.hasLayer(t)?this:(t.addEventParent(this),ui.prototype.addLayer.call(this,t),this.fire(\"layeradd\",{layer:t}))},removeLayer:function(t){return this.hasLayer(t)?((t=t in this._layers?this._layers[t]:t).removeEventParent(this),ui.prototype.removeLayer.call(this,t),this.fire(\"layerremove\",{layer:t})):this},setStyle:function(t){return this.invoke(\"setStyle\",t)},bringToFront:function(){return this.invoke(\"bringToFront\")},bringToBack:function(){return this.invoke(\"bringToBack\")},getBounds:function(){var t,e=new s;for(t in this._layers){var i=this._layers[t];e.extend(i.getBounds?i.getBounds():i.getLatLng())}return e}}),di=et.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0],crossOrigin:!1},initialize:function(t){c(this,t)},createIcon:function(t){return this._createIcon(\"icon\",t)},createShadow:function(t){return this._createIcon(\"shadow\",t)},_createIcon:function(t,e){var i=this._getIconUrl(t);if(i)return i=this._createImg(i,e&&\"IMG\"===e.tagName?e:null),this._setIconStyles(i,t),!this.options.crossOrigin&&\"\"!==this.options.crossOrigin||(i.crossOrigin=!0===this.options.crossOrigin?\"\":this.options.crossOrigin),i;if(\"icon\"===t)throw new Error(\"iconUrl not set in Icon options (see the docs).\");return null},_setIconStyles:function(t,e){var i=this.options,n=i[e+\"Size\"],n=m(n=\"number\"==typeof n?[n,n]:n),o=m(\"shadow\"===e&&i.shadowAnchor||i.iconAnchor||n&&n.divideBy(2,!0));t.className=\"leaflet-marker-\"+e+\" \"+(i.className||\"\"),o&&(t.style.marginLeft=-o.x+\"px\",t.style.marginTop=-o.y+\"px\"),n&&(t.style.width=n.x+\"px\",t.style.height=n.y+\"px\")},_createImg:function(t,e){return(e=e||document.createElement(\"img\")).src=t,e},_getIconUrl:function(t){return b.retina&&this.options[t+\"RetinaUrl\"]||this.options[t+\"Url\"]}});var _i=di.extend({options:{iconUrl:\"marker-icon.png\",iconRetinaUrl:\"marker-icon-2x.png\",shadowUrl:\"marker-shadow.png\",iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],tooltipAnchor:[16,-28],shadowSize:[41,41]},_getIconUrl:function(t){return\"string\"!=typeof _i.imagePath&&(_i.imagePath=this._detectIconPath()),(this.options.imagePath||_i.imagePath)+di.prototype._getIconUrl.call(this,t)},_stripUrl:function(t){function e(t,e,i){return(e=e.exec(t))&&e[i]}return(t=e(t,/^url\\((['\"])?(.+)\\1\\)$/,2))&&e(t,/^(.*)marker-icon\\.png$/,1)},_detectIconPath:function(){var t=P(\"div\",\"leaflet-default-icon-path\",document.body),e=pe(t,\"background-image\")||pe(t,\"backgroundImage\");return document.body.removeChild(t),(e=this._stripUrl(e))?e:(t=document.querySelector('link[href$=\"leaflet.css\"]'))?t.href.substring(0,t.href.length-\"leaflet.css\".length-1):\"\"}}),pi=n.extend({initialize:function(t){this._marker=t},addHooks:function(){var t=this._marker._icon;this._draggable||(this._draggable=new Xe(t,t,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),M(t,\"leaflet-marker-draggable\")},removeHooks:function(){this._draggable.off({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).disable(),this._marker._icon&&z(this._marker._icon,\"leaflet-marker-draggable\")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(t){var e=this._marker,i=e._map,n=this._marker.options.autoPanSpeed,o=this._marker.options.autoPanPadding,s=Pe(e._icon),r=i.getPixelBounds(),a=i.getPixelOrigin(),a=_(r.min._subtract(a).add(o),r.max._subtract(a).subtract(o));a.contains(s)||(o=m((Math.max(a.max.x,s.x)-a.max.x)/(r.max.x-a.max.x)-(Math.min(a.min.x,s.x)-a.min.x)/(r.min.x-a.min.x),(Math.max(a.max.y,s.y)-a.max.y)/(r.max.y-a.max.y)-(Math.min(a.min.y,s.y)-a.min.y)/(r.min.y-a.min.y)).multiplyBy(n),i.panBy(o,{animate:!1}),this._draggable._newPos._add(o),this._draggable._startPos._add(o),Z(e._icon,this._draggable._newPos),this._onDrag(t),this._panRequest=x(this._adjustPan.bind(this,t)))},_onDragStart:function(){this._oldLatLng=this._marker.getLatLng(),this._marker.closePopup&&this._marker.closePopup(),this._marker.fire(\"movestart\").fire(\"dragstart\")},_onPreDrag:function(t){this._marker.options.autoPan&&(r(this._panRequest),this._panRequest=x(this._adjustPan.bind(this,t)))},_onDrag:function(t){var e=this._marker,i=e._shadow,n=Pe(e._icon),o=e._map.layerPointToLatLng(n);i&&Z(i,n),e._latlng=o,t.latlng=o,t.oldLatLng=this._oldLatLng,e.fire(\"move\",t).fire(\"drag\",t)},_onDragEnd:function(t){r(this._panRequest),delete this._oldLatLng,this._marker.fire(\"moveend\").fire(\"dragend\",t)}}),mi=o.extend({options:{icon:new _i,interactive:!0,keyboard:!0,title:\"\",alt:\"Marker\",zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250,pane:\"markerPane\",shadowPane:\"shadowPane\",bubblingMouseEvents:!1,autoPanOnFocus:!0,draggable:!1,autoPan:!1,autoPanPadding:[50,50],autoPanSpeed:10},initialize:function(t,e){c(this,e),this._latlng=w(t)},onAdd:function(t){this._zoomAnimated=this._zoomAnimated&&t.options.markerZoomAnimation,this._zoomAnimated&&t.on(\"zoomanim\",this._animateZoom,this),this._initIcon(),this.update()},onRemove:function(t){this.dragging&&this.dragging.enabled()&&(this.options.draggable=!0,this.dragging.removeHooks()),delete this.dragging,this._zoomAnimated&&t.off(\"zoomanim\",this._animateZoom,this),this._removeIcon(),this._removeShadow()},getEvents:function(){return{zoom:this.update,viewreset:this.update}},getLatLng:function(){return this._latlng},setLatLng:function(t){var e=this._latlng;return this._latlng=w(t),this.update(),this.fire(\"move\",{oldLatLng:e,latlng:this._latlng})},setZIndexOffset:function(t){return this.options.zIndexOffset=t,this.update()},getIcon:function(){return this.options.icon},setIcon:function(t){return this.options.icon=t,this._map&&(this._initIcon(),this.update()),this._popup&&this.bindPopup(this._popup,this._popup.options),this},getElement:function(){return this._icon},update:function(){var t;return this._icon&&this._map&&(t=this._map.latLngToLayerPoint(this._latlng).round(),this._setPos(t)),this},_initIcon:function(){var t=this.options,e=\"leaflet-zoom-\"+(this._zoomAnimated?\"animated\":\"hide\"),i=t.icon.createIcon(this._icon),n=!1,i=(i!==this._icon&&(this._icon&&this._removeIcon(),n=!0,t.title&&(i.title=t.title),\"IMG\"===i.tagName&&(i.alt=t.alt||\"\")),M(i,e),t.keyboard&&(i.tabIndex=\"0\",i.setAttribute(\"role\",\"button\")),this._icon=i,t.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&S(i,\"focus\",this._panOnFocus,this),t.icon.createShadow(this._shadow)),o=!1;i!==this._shadow&&(this._removeShadow(),o=!0),i&&(M(i,e),i.alt=\"\"),this._shadow=i,t.opacity<1&&this._updateOpacity(),n&&this.getPane().appendChild(this._icon),this._initInteraction(),i&&o&&this.getPane(t.shadowPane).appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&k(this._icon,\"focus\",this._panOnFocus,this),T(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&T(this._shadow),this._shadow=null},_setPos:function(t){this._icon&&Z(this._icon,t),this._shadow&&Z(this._shadow,t),this._zIndex=t.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(t){this._icon&&(this._icon.style.zIndex=this._zIndex+t)},_animateZoom:function(t){t=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center).round();this._setPos(t)},_initInteraction:function(){var t;this.options.interactive&&(M(this._icon,\"leaflet-interactive\"),this.addInteractiveTarget(this._icon),pi&&(t=this.options.draggable,this.dragging&&(t=this.dragging.enabled(),this.dragging.disable()),this.dragging=new pi(this),t&&this.dragging.enable()))},setOpacity:function(t){return this.options.opacity=t,this._map&&this._updateOpacity(),this},_updateOpacity:function(){var t=this.options.opacity;this._icon&&C(this._icon,t),this._shadow&&C(this._shadow,t)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_panOnFocus:function(){var t,e,i=this._map;i&&(t=(e=this.options.icon.options).iconSize?m(e.iconSize):m(0,0),e=e.iconAnchor?m(e.iconAnchor):m(0,0),i.panInside(this._latlng,{paddingTopLeft:e,paddingBottomRight:t.subtract(e)}))},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}});var fi=o.extend({options:{stroke:!0,color:\"#3388ff\",weight:3,opacity:1,lineCap:\"round\",lineJoin:\"round\",dashArray:null,dashOffset:null,fill:!1,fillColor:null,fillOpacity:.2,fillRule:\"evenodd\",interactive:!0,bubblingMouseEvents:!0},beforeAdd:function(t){this._renderer=t.getRenderer(this)},onAdd:function(){this._renderer._initPath(this),this._reset(),this._renderer._addPath(this)},onRemove:function(){this._renderer._removePath(this)},redraw:function(){return this._map&&this._renderer._updatePath(this),this},setStyle:function(t){return c(this,t),this._renderer&&(this._renderer._updateStyle(this),this.options.stroke&&t&&Object.prototype.hasOwnProperty.call(t,\"weight\")&&this._updateBounds()),this},bringToFront:function(){return this._renderer&&this._renderer._bringToFront(this),this},bringToBack:function(){return this._renderer&&this._renderer._bringToBack(this),this},getElement:function(){return this._path},_reset:function(){this._project(),this._update()},_clickTolerance:function(){return(this.options.stroke?this.options.weight/2:0)+(this._renderer.options.tolerance||0)}}),gi=fi.extend({options:{fill:!0,radius:10},initialize:function(t,e){c(this,e),this._latlng=w(t),this._radius=this.options.radius},setLatLng:function(t){var e=this._latlng;return this._latlng=w(t),this.redraw(),this.fire(\"move\",{oldLatLng:e,latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(t){return this.options.radius=this._radius=t,this.redraw()},getRadius:function(){return this._radius},setStyle:function(t){var e=t&&t.radius||this._radius;return fi.prototype.setStyle.call(this,t),this.setRadius(e),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng),this._updateBounds()},_updateBounds:function(){var t=this._radius,e=this._radiusY||t,i=this._clickTolerance(),t=[t+i,e+i];this._pxBounds=new f(this._point.subtract(t),this._point.add(t))},_update:function(){this._map&&this._updatePath()},_updatePath:function(){this._renderer._updateCircle(this)},_empty:function(){return this._radius&&!this._renderer._bounds.intersects(this._pxBounds)},_containsPoint:function(t){return t.distanceTo(this._point)<=this._radius+this._clickTolerance()}});var vi=gi.extend({initialize:function(t,e,i){if(c(this,e=\"number\"==typeof e?l({},i,{radius:e}):e),this._latlng=w(t),isNaN(this.options.radius))throw new Error(\"Circle radius cannot be NaN\");this._mRadius=this.options.radius},setRadius:function(t){return this._mRadius=t,this.redraw()},getRadius:function(){return this._mRadius},getBounds:function(){var t=[this._radius,this._radiusY||this._radius];return new s(this._map.layerPointToLatLng(this._point.subtract(t)),this._map.layerPointToLatLng(this._point.add(t)))},setStyle:fi.prototype.setStyle,_project:function(){var t,e,i,n,o,s=this._latlng.lng,r=this._latlng.lat,a=this._map,h=a.options.crs;h.distance===st.distance?(n=Math.PI/180,o=this._mRadius/st.R/n,t=a.project([r+o,s]),e=a.project([r-o,s]),e=t.add(e).divideBy(2),i=a.unproject(e).lat,n=Math.acos((Math.cos(o*n)-Math.sin(r*n)*Math.sin(i*n))/(Math.cos(r*n)*Math.cos(i*n)))/n,!isNaN(n)&&0!==n||(n=o/Math.cos(Math.PI/180*r)),this._point=e.subtract(a.getPixelOrigin()),this._radius=isNaN(n)?0:e.x-a.project([i,s-n]).x,this._radiusY=e.y-t.y):(o=h.unproject(h.project(this._latlng).subtract([this._mRadius,0])),this._point=a.latLngToLayerPoint(this._latlng),this._radius=this._point.x-a.latLngToLayerPoint(o).x),this._updateBounds()}});var yi=fi.extend({options:{smoothFactor:1,noClip:!1},initialize:function(t,e){c(this,e),this._setLatLngs(t)},getLatLngs:function(){return this._latlngs},setLatLngs:function(t){return this._setLatLngs(t),this.redraw()},isEmpty:function(){return!this._latlngs.length},closestLayerPoint:function(t){for(var e=1/0,i=null,n=ri,o=0,s=this._parts.length;o<s;o++)for(var r=this._parts[o],a=1,h=r.length;a<h;a++){var l,u,c=n(t,l=r[a-1],u=r[a],!0);c<e&&(e=c,i=n(t,l,u))}return i&&(i.distance=Math.sqrt(e)),i},getCenter:function(){if(this._map)return hi(this._defaultShape(),this._map.options.crs);throw new Error(\"Must add layer to map before using getCenter()\")},getBounds:function(){return this._bounds},addLatLng:function(t,e){return e=e||this._defaultShape(),t=w(t),e.push(t),this._bounds.extend(t),this.redraw()},_setLatLngs:function(t){this._bounds=new s,this._latlngs=this._convertLatLngs(t)},_defaultShape:function(){return I(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(t){for(var e=[],i=I(t),n=0,o=t.length;n<o;n++)i?(e[n]=w(t[n]),this._bounds.extend(e[n])):e[n]=this._convertLatLngs(t[n]);return e},_project:function(){var t=new f;this._rings=[],this._projectLatlngs(this._latlngs,this._rings,t),this._bounds.isValid()&&t.isValid()&&(this._rawPxBounds=t,this._updateBounds())},_updateBounds:function(){var t=this._clickTolerance(),t=new p(t,t);this._rawPxBounds&&(this._pxBounds=new f([this._rawPxBounds.min.subtract(t),this._rawPxBounds.max.add(t)]))},_projectLatlngs:function(t,e,i){var n,o,s=t[0]instanceof v,r=t.length;if(s){for(o=[],n=0;n<r;n++)o[n]=this._map.latLngToLayerPoint(t[n]),i.extend(o[n]);e.push(o)}else for(n=0;n<r;n++)this._projectLatlngs(t[n],e,i)},_clipPoints:function(){var t=this._renderer._bounds;if(this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else for(var e,i,n,o,s=this._parts,r=0,a=0,h=this._rings.length;r<h;r++)for(e=0,i=(o=this._rings[r]).length;e<i-1;e++)(n=ni(o[e],o[e+1],t,e,!0))&&(s[a]=s[a]||[],s[a].push(n[0]),n[1]===o[e+1]&&e!==i-2||(s[a].push(n[1]),a++))},_simplifyPoints:function(){for(var t=this._parts,e=this.options.smoothFactor,i=0,n=t.length;i<n;i++)t[i]=ei(t[i],e)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(t,e){var i,n,o,s,r,a,h=this._clickTolerance();if(this._pxBounds&&this._pxBounds.contains(t))for(i=0,s=this._parts.length;i<s;i++)for(n=0,o=(r=(a=this._parts[i]).length)-1;n<r;o=n++)if((e||0!==n)&&ii(t,a[o],a[n])<=h)return!0;return!1}});yi._flat=ai;var xi=yi.extend({options:{fill:!0},isEmpty:function(){return!this._latlngs.length||!this._latlngs[0].length},getCenter:function(){if(this._map)return $e(this._defaultShape(),this._map.options.crs);throw new Error(\"Must add layer to map before using getCenter()\")},_convertLatLngs:function(t){var t=yi.prototype._convertLatLngs.call(this,t),e=t.length;return 2<=e&&t[0]instanceof v&&t[0].equals(t[e-1])&&t.pop(),t},_setLatLngs:function(t){yi.prototype._setLatLngs.call(this,t),I(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return(I(this._latlngs[0])?this._latlngs:this._latlngs[0])[0]},_clipPoints:function(){var t=this._renderer._bounds,e=this.options.weight,e=new p(e,e),t=new f(t.min.subtract(e),t.max.add(e));if(this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else for(var i,n=0,o=this._rings.length;n<o;n++)(i=Je(this._rings[n],t,!0)).length&&this._parts.push(i)},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(t){var e,i,n,o,s,r,a,h,l=!1;if(!this._pxBounds||!this._pxBounds.contains(t))return!1;for(o=0,a=this._parts.length;o<a;o++)for(s=0,r=(h=(e=this._parts[o]).length)-1;s<h;r=s++)i=e[s],n=e[r],i.y>t.y!=n.y>t.y&&t.x<(n.x-i.x)*(t.y-i.y)/(n.y-i.y)+i.x&&(l=!l);return l||yi.prototype._containsPoint.call(this,t,!0)}});var wi=ci.extend({initialize:function(t,e){c(this,e),this._layers={},t&&this.addData(t)},addData:function(t){var e,i,n,o=d(t)?t:t.features;if(o){for(e=0,i=o.length;e<i;e++)((n=o[e]).geometries||n.geometry||n.features||n.coordinates)&&this.addData(n);return this}var s,r=this.options;return(!r.filter||r.filter(t))&&(s=bi(t,r))?(s.feature=Zi(t),s.defaultOptions=s.options,this.resetStyle(s),r.onEachFeature&&r.onEachFeature(t,s),this.addLayer(s)):this},resetStyle:function(t){return void 0===t?this.eachLayer(this.resetStyle,this):(t.options=l({},t.defaultOptions),this._setLayerStyle(t,this.options.style),this)},setStyle:function(e){return this.eachLayer(function(t){this._setLayerStyle(t,e)},this)},_setLayerStyle:function(t,e){t.setStyle&&(\"function\"==typeof e&&(e=e(t.feature)),t.setStyle(e))}});function bi(t,e){var i,n,o,s,r=\"Feature\"===t.type?t.geometry:t,a=r?r.coordinates:null,h=[],l=e&&e.pointToLayer,u=e&&e.coordsToLatLng||Li;if(!a&&!r)return null;switch(r.type){case\"Point\":return Pi(l,t,i=u(a),e);case\"MultiPoint\":for(o=0,s=a.length;o<s;o++)i=u(a[o]),h.push(Pi(l,t,i,e));return new ci(h);case\"LineString\":case\"MultiLineString\":return n=Ti(a,\"LineString\"===r.type?0:1,u),new yi(n,e);case\"Polygon\":case\"MultiPolygon\":return n=Ti(a,\"Polygon\"===r.type?1:2,u),new xi(n,e);case\"GeometryCollection\":for(o=0,s=r.geometries.length;o<s;o++){var c=bi({geometry:r.geometries[o],type:\"Feature\",properties:t.properties},e);c&&h.push(c)}return new ci(h);case\"FeatureCollection\":for(o=0,s=r.features.length;o<s;o++){var d=bi(r.features[o],e);d&&h.push(d)}return new ci(h);default:throw new Error(\"Invalid GeoJSON object.\")}}function Pi(t,e,i,n){return t?t(e,i):new mi(i,n&&n.markersInheritOptions&&n)}function Li(t){return new v(t[1],t[0],t[2])}function Ti(t,e,i){for(var n,o=[],s=0,r=t.length;s<r;s++)n=e?Ti(t[s],e-1,i):(i||Li)(t[s]),o.push(n);return o}function Mi(t,e){return void 0!==(t=w(t)).alt?[i(t.lng,e),i(t.lat,e),i(t.alt,e)]:[i(t.lng,e),i(t.lat,e)]}function zi(t,e,i,n){for(var o=[],s=0,r=t.length;s<r;s++)o.push(e?zi(t[s],I(t[s])?0:e-1,i,n):Mi(t[s],n));return!e&&i&&0<o.length&&o.push(o[0].slice()),o}function Ci(t,e){return t.feature?l({},t.feature,{geometry:e}):Zi(e)}function Zi(t){return\"Feature\"===t.type||\"FeatureCollection\"===t.type?t:{type:\"Feature\",properties:{},geometry:t}}Tt={toGeoJSON:function(t){return Ci(this,{type:\"Point\",coordinates:Mi(this.getLatLng(),t)})}};function Si(t,e){return new wi(t,e)}mi.include(Tt),vi.include(Tt),gi.include(Tt),yi.include({toGeoJSON:function(t){var e=!I(this._latlngs);return Ci(this,{type:(e?\"Multi\":\"\")+\"LineString\",coordinates:zi(this._latlngs,e?1:0,!1,t)})}}),xi.include({toGeoJSON:function(t){var e=!I(this._latlngs),i=e&&!I(this._latlngs[0]),t=zi(this._latlngs,i?2:e?1:0,!0,t);return Ci(this,{type:(i?\"Multi\":\"\")+\"Polygon\",coordinates:t=e?t:[t]})}}),ui.include({toMultiPoint:function(e){var i=[];return this.eachLayer(function(t){i.push(t.toGeoJSON(e).geometry.coordinates)}),Ci(this,{type:\"MultiPoint\",coordinates:i})},toGeoJSON:function(e){var i,n,t=this.feature&&this.feature.geometry&&this.feature.geometry.type;return\"MultiPoint\"===t?this.toMultiPoint(e):(i=\"GeometryCollection\"===t,n=[],this.eachLayer(function(t){t.toGeoJSON&&(t=t.toGeoJSON(e),i?n.push(t.geometry):\"FeatureCollection\"===(t=Zi(t)).type?n.push.apply(n,t.features):n.push(t))}),i?Ci(this,{geometries:n,type:\"GeometryCollection\"}):{type:\"FeatureCollection\",features:n})}});var Mt=Si,Ei=o.extend({options:{opacity:1,alt:\"\",interactive:!1,crossOrigin:!1,errorOverlayUrl:\"\",zIndex:1,className:\"\"},initialize:function(t,e,i){this._url=t,this._bounds=g(e),c(this,i)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(M(this._image,\"leaflet-interactive\"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){T(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(t){return this.options.opacity=t,this._image&&this._updateOpacity(),this},setStyle:function(t){return t.opacity&&this.setOpacity(t.opacity),this},bringToFront:function(){return this._map&&fe(this._image),this},bringToBack:function(){return this._map&&ge(this._image),this},setUrl:function(t){return this._url=t,this._image&&(this._image.src=t),this},setBounds:function(t){return this._bounds=g(t),this._map&&this._reset(),this},getEvents:function(){var t={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var t=\"IMG\"===this._url.tagName,e=this._image=t?this._url:P(\"img\");M(e,\"leaflet-image-layer\"),this._zoomAnimated&&M(e,\"leaflet-zoom-animated\"),this.options.className&&M(e,this.options.className),e.onselectstart=u,e.onmousemove=u,e.onload=a(this.fire,this,\"load\"),e.onerror=a(this._overlayOnError,this,\"error\"),!this.options.crossOrigin&&\"\"!==this.options.crossOrigin||(e.crossOrigin=!0===this.options.crossOrigin?\"\":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),t?this._url=e.src:(e.src=this._url,e.alt=this.options.alt)},_animateZoom:function(t){var e=this._map.getZoomScale(t.zoom),t=this._map._latLngBoundsToNewLayerBounds(this._bounds,t.zoom,t.center).min;be(this._image,t,e)},_reset:function(){var t=this._image,e=new f(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),i=e.getSize();Z(t,e.min),t.style.width=i.x+\"px\",t.style.height=i.y+\"px\"},_updateOpacity:function(){C(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire(\"error\");var t=this.options.errorOverlayUrl;t&&this._url!==t&&(this._url=t,this._image.src=t)},getCenter:function(){return this._bounds.getCenter()}}),ki=Ei.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var t=\"VIDEO\"===this._url.tagName,e=this._image=t?this._url:P(\"video\");if(M(e,\"leaflet-image-layer\"),this._zoomAnimated&&M(e,\"leaflet-zoom-animated\"),this.options.className&&M(e,this.options.className),e.onselectstart=u,e.onmousemove=u,e.onloadeddata=a(this.fire,this,\"load\"),t){for(var i=e.getElementsByTagName(\"source\"),n=[],o=0;o<i.length;o++)n.push(i[o].src);this._url=0<i.length?n:[e.src]}else{d(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(e.style,\"objectFit\")&&(e.style.objectFit=\"fill\"),e.autoplay=!!this.options.autoplay,e.loop=!!this.options.loop,e.muted=!!this.options.muted,e.playsInline=!!this.options.playsInline;for(var s=0;s<this._url.length;s++){var r=P(\"source\");r.src=this._url[s],e.appendChild(r)}}}});var Oi=Ei.extend({_initImage:function(){var t=this._image=this._url;M(t,\"leaflet-image-layer\"),this._zoomAnimated&&M(t,\"leaflet-zoom-animated\"),this.options.className&&M(t,this.options.className),t.onselectstart=u,t.onmousemove=u}});var Ai=o.extend({options:{interactive:!1,offset:[0,0],className:\"\",pane:void 0,content:\"\"},initialize:function(t,e){t&&(t instanceof v||d(t))?(this._latlng=w(t),c(this,e)):(c(this,t),this._source=e),this.options.content&&(this._content=this.options.content)},openOn:function(t){return(t=arguments.length?t:this._source._map).hasLayer(this)||t.addLayer(this),this},close:function(){return this._map&&this._map.removeLayer(this),this},toggle:function(t){return this._map?this.close():(arguments.length?this._source=t:t=this._source,this._prepareOpen(),this.openOn(t._map)),this},onAdd:function(t){this._zoomAnimated=t._zoomAnimated,this._container||this._initLayout(),t._fadeAnimated&&C(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),t._fadeAnimated&&C(this._container,1),this.bringToFront(),this.options.interactive&&(M(this._container,\"leaflet-interactive\"),this.addInteractiveTarget(this._container))},onRemove:function(t){t._fadeAnimated?(C(this._container,0),this._removeTimeout=setTimeout(a(T,void 0,this._container),200)):T(this._container),this.options.interactive&&(z(this._container,\"leaflet-interactive\"),this.removeInteractiveTarget(this._container))},getLatLng:function(){return this._latlng},setLatLng:function(t){return this._latlng=w(t),this._map&&(this._updatePosition(),this._adjustPan()),this},getContent:function(){return this._content},setContent:function(t){return this._content=t,this.update(),this},getElement:function(){return this._container},update:function(){this._map&&(this._container.style.visibility=\"hidden\",this._updateContent(),this._updateLayout(),this._updatePosition(),this._container.style.visibility=\"\",this._adjustPan())},getEvents:function(){var t={zoom:this._updatePosition,viewreset:this._updatePosition};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},isOpen:function(){return!!this._map&&this._map.hasLayer(this)},bringToFront:function(){return this._map&&fe(this._container),this},bringToBack:function(){return this._map&&ge(this._container),this},_prepareOpen:function(t){if(!(i=this._source)._map)return!1;if(i instanceof ci){var e,i=null,n=this._source._layers;for(e in n)if(n[e]._map){i=n[e];break}if(!i)return!1;this._source=i}if(!t)if(i.getCenter)t=i.getCenter();else if(i.getLatLng)t=i.getLatLng();else{if(!i.getBounds)throw new Error(\"Unable to get source layer LatLng.\");t=i.getBounds().getCenter()}return this.setLatLng(t),this._map&&this.update(),!0},_updateContent:function(){if(this._content){var t=this._contentNode,e=\"function\"==typeof this._content?this._content(this._source||this):this._content;if(\"string\"==typeof e)t.innerHTML=e;else{for(;t.hasChildNodes();)t.removeChild(t.firstChild);t.appendChild(e)}this.fire(\"contentupdate\")}},_updatePosition:function(){var t,e,i;this._map&&(e=this._map.latLngToLayerPoint(this._latlng),t=m(this.options.offset),i=this._getAnchor(),this._zoomAnimated?Z(this._container,e.add(i)):t=t.add(e).add(i),e=this._containerBottom=-t.y,i=this._containerLeft=-Math.round(this._containerWidth/2)+t.x,this._container.style.bottom=e+\"px\",this._container.style.left=i+\"px\")},_getAnchor:function(){return[0,0]}}),Bi=(A.include({_initOverlay:function(t,e,i,n){var o=e;return o instanceof t||(o=new t(n).setContent(e)),i&&o.setLatLng(i),o}}),o.include({_initOverlay:function(t,e,i,n){var o=i;return o instanceof t?(c(o,n),o._source=this):(o=e&&!n?e:new t(n,this)).setContent(i),o}}),Ai.extend({options:{pane:\"popupPane\",offset:[0,7],maxWidth:300,minWidth:50,maxHeight:null,autoPan:!0,autoPanPaddingTopLeft:null,autoPanPaddingBottomRight:null,autoPanPadding:[5,5],keepInView:!1,closeButton:!0,autoClose:!0,closeOnEscapeKey:!0,className:\"\"},openOn:function(t){return!(t=arguments.length?t:this._source._map).hasLayer(this)&&t._popup&&t._popup.options.autoClose&&t.removeLayer(t._popup),t._popup=this,Ai.prototype.openOn.call(this,t)},onAdd:function(t){Ai.prototype.onAdd.call(this,t),t.fire(\"popupopen\",{popup:this}),this._source&&(this._source.fire(\"popupopen\",{popup:this},!0),this._source instanceof fi||this._source.on(\"preclick\",Ae))},onRemove:function(t){Ai.prototype.onRemove.call(this,t),t.fire(\"popupclose\",{popup:this}),this._source&&(this._source.fire(\"popupclose\",{popup:this},!0),this._source instanceof fi||this._source.off(\"preclick\",Ae))},getEvents:function(){var t=Ai.prototype.getEvents.call(this);return(void 0!==this.options.closeOnClick?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(t.preclick=this.close),this.options.keepInView&&(t.moveend=this._adjustPan),t},_initLayout:function(){var t=\"leaflet-popup\",e=this._container=P(\"div\",t+\" \"+(this.options.className||\"\")+\" leaflet-zoom-animated\"),i=this._wrapper=P(\"div\",t+\"-content-wrapper\",e);this._contentNode=P(\"div\",t+\"-content\",i),Ie(e),Be(this._contentNode),S(e,\"contextmenu\",Ae),this._tipContainer=P(\"div\",t+\"-tip-container\",e),this._tip=P(\"div\",t+\"-tip\",this._tipContainer),this.options.closeButton&&((i=this._closeButton=P(\"a\",t+\"-close-button\",e)).setAttribute(\"role\",\"button\"),i.setAttribute(\"aria-label\",\"Close popup\"),i.href=\"#close\",i.innerHTML='<span aria-hidden=\"true\">&#215;</span>',S(i,\"click\",function(t){O(t),this.close()},this))},_updateLayout:function(){var t=this._contentNode,e=t.style,i=(e.width=\"\",e.whiteSpace=\"nowrap\",t.offsetWidth),i=Math.min(i,this.options.maxWidth),i=(i=Math.max(i,this.options.minWidth),e.width=i+1+\"px\",e.whiteSpace=\"\",e.height=\"\",t.offsetHeight),n=this.options.maxHeight,o=\"leaflet-popup-scrolled\";(n&&n<i?(e.height=n+\"px\",M):z)(t,o),this._containerWidth=this._container.offsetWidth},_animateZoom:function(t){var t=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center),e=this._getAnchor();Z(this._container,t.add(e))},_adjustPan:function(){var t,e,i,n,o,s,r,a;this.options.autoPan&&(this._map._panAnim&&this._map._panAnim.stop(),this._autopanning?this._autopanning=!1:(t=this._map,e=parseInt(pe(this._container,\"marginBottom\"),10)||0,e=this._container.offsetHeight+e,a=this._containerWidth,(i=new p(this._containerLeft,-e-this._containerBottom))._add(Pe(this._container)),i=t.layerPointToContainerPoint(i),o=m(this.options.autoPanPadding),n=m(this.options.autoPanPaddingTopLeft||o),o=m(this.options.autoPanPaddingBottomRight||o),s=t.getSize(),r=0,i.x+a+o.x>s.x&&(r=i.x+a-s.x+o.x),i.x-r-n.x<(a=0)&&(r=i.x-n.x),i.y+e+o.y>s.y&&(a=i.y+e-s.y+o.y),i.y-a-n.y<0&&(a=i.y-n.y),(r||a)&&(this.options.keepInView&&(this._autopanning=!0),t.fire(\"autopanstart\").panBy([r,a]))))},_getAnchor:function(){return m(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}})),Ii=(A.mergeOptions({closePopupOnClick:!0}),A.include({openPopup:function(t,e,i){return this._initOverlay(Bi,t,e,i).openOn(this),this},closePopup:function(t){return(t=arguments.length?t:this._popup)&&t.close(),this}}),o.include({bindPopup:function(t,e){return this._popup=this._initOverlay(Bi,this._popup,t,e),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(t){return this._popup&&(this instanceof ci||(this._popup._source=this),this._popup._prepareOpen(t||this._latlng)&&this._popup.openOn(this._map)),this},closePopup:function(){return this._popup&&this._popup.close(),this},togglePopup:function(){return this._popup&&this._popup.toggle(this),this},isPopupOpen:function(){return!!this._popup&&this._popup.isOpen()},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){var e;this._popup&&this._map&&(Re(t),e=t.layer||t.target,this._popup._source!==e||e instanceof fi?(this._popup._source=e,this.openPopup(t.latlng)):this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(t.latlng))},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){13===t.originalEvent.keyCode&&this._openPopup(t)}}),Ai.extend({options:{pane:\"tooltipPane\",offset:[0,0],direction:\"auto\",permanent:!1,sticky:!1,opacity:.9},onAdd:function(t){Ai.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire(\"tooltipopen\",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire(\"tooltipopen\",{tooltip:this},!0))},onRemove:function(t){Ai.prototype.onRemove.call(this,t),t.fire(\"tooltipclose\",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire(\"tooltipclose\",{tooltip:this},!0))},getEvents:function(){var t=Ai.prototype.getEvents.call(this);return this.options.permanent||(t.preclick=this.close),t},_initLayout:function(){var t=\"leaflet-tooltip \"+(this.options.className||\"\")+\" leaflet-zoom-\"+(this._zoomAnimated?\"animated\":\"hide\");this._contentNode=this._container=P(\"div\",t),this._container.setAttribute(\"role\",\"tooltip\"),this._container.setAttribute(\"id\",\"leaflet-tooltip-\"+h(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var e,i=this._map,n=this._container,o=i.latLngToContainerPoint(i.getCenter()),i=i.layerPointToContainerPoint(t),s=this.options.direction,r=n.offsetWidth,a=n.offsetHeight,h=m(this.options.offset),l=this._getAnchor(),i=\"top\"===s?(e=r/2,a):\"bottom\"===s?(e=r/2,0):(e=\"center\"===s?r/2:\"right\"===s?0:\"left\"===s?r:i.x<o.x?(s=\"right\",0):(s=\"left\",r+2*(h.x+l.x)),a/2);t=t.subtract(m(e,i,!0)).add(h).add(l),z(n,\"leaflet-tooltip-right\"),z(n,\"leaflet-tooltip-left\"),z(n,\"leaflet-tooltip-top\"),z(n,\"leaflet-tooltip-bottom\"),M(n,\"leaflet-tooltip-\"+s),Z(n,t)},_updatePosition:function(){var t=this._map.latLngToLayerPoint(this._latlng);this._setPosition(t)},setOpacity:function(t){this.options.opacity=t,this._container&&C(this._container,t)},_animateZoom:function(t){t=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center);this._setPosition(t)},_getAnchor:function(){return m(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}})),Ri=(A.include({openTooltip:function(t,e,i){return this._initOverlay(Ii,t,e,i).openOn(this),this},closeTooltip:function(t){return t.close(),this}}),o.include({bindTooltip:function(t,e){return this._tooltip&&this.isTooltipOpen()&&this.unbindTooltip(),this._tooltip=this._initOverlay(Ii,this._tooltip,t,e),this._initTooltipInteractions(),this._tooltip.options.permanent&&this._map&&this._map.hasLayer(this)&&this.openTooltip(),this},unbindTooltip:function(){return this._tooltip&&(this._initTooltipInteractions(!0),this.closeTooltip(),this._tooltip=null),this},_initTooltipInteractions:function(t){var e,i;!t&&this._tooltipHandlersAdded||(e=t?\"off\":\"on\",i={remove:this.closeTooltip,move:this._moveTooltip},this._tooltip.options.permanent?i.add=this._openTooltip:(i.mouseover=this._openTooltip,i.mouseout=this.closeTooltip,i.click=this._openTooltip,this._map?this._addFocusListeners():i.add=this._addFocusListeners),this._tooltip.options.sticky&&(i.mousemove=this._moveTooltip),this[e](i),this._tooltipHandlersAdded=!t)},openTooltip:function(t){return this._tooltip&&(this instanceof ci||(this._tooltip._source=this),this._tooltip._prepareOpen(t)&&(this._tooltip.openOn(this._map),this.getElement?this._setAriaDescribedByOnLayer(this):this.eachLayer&&this.eachLayer(this._setAriaDescribedByOnLayer,this))),this},closeTooltip:function(){if(this._tooltip)return this._tooltip.close()},toggleTooltip:function(){return this._tooltip&&this._tooltip.toggle(this),this},isTooltipOpen:function(){return this._tooltip.isOpen()},setTooltipContent:function(t){return this._tooltip&&this._tooltip.setContent(t),this},getTooltip:function(){return this._tooltip},_addFocusListeners:function(){this.getElement?this._addFocusListenersOnLayer(this):this.eachLayer&&this.eachLayer(this._addFocusListenersOnLayer,this)},_addFocusListenersOnLayer:function(t){var e=\"function\"==typeof t.getElement&&t.getElement();e&&(S(e,\"focus\",function(){this._tooltip._source=t,this.openTooltip()},this),S(e,\"blur\",this.closeTooltip,this))},_setAriaDescribedByOnLayer:function(t){t=\"function\"==typeof t.getElement&&t.getElement();t&&t.setAttribute(\"aria-describedby\",this._tooltip._container.id)},_openTooltip:function(t){var e;this._tooltip&&this._map&&(this._map.dragging&&this._map.dragging.moving()&&!this._openOnceFlag?(this._openOnceFlag=!0,(e=this)._map.once(\"moveend\",function(){e._openOnceFlag=!1,e._openTooltip(t)})):(this._tooltip._source=t.layer||t.target,this.openTooltip(this._tooltip.options.sticky?t.latlng:void 0)))},_moveTooltip:function(t){var e=t.latlng;this._tooltip.options.sticky&&t.originalEvent&&(t=this._map.mouseEventToContainerPoint(t.originalEvent),t=this._map.containerPointToLayerPoint(t),e=this._map.layerPointToLatLng(t)),this._tooltip.setLatLng(e)}}),di.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:\"leaflet-div-icon\"},createIcon:function(t){var t=t&&\"DIV\"===t.tagName?t:document.createElement(\"div\"),e=this.options;return e.html instanceof Element?(me(t),t.appendChild(e.html)):t.innerHTML=!1!==e.html?e.html:\"\",e.bgPos&&(e=m(e.bgPos),t.style.backgroundPosition=-e.x+\"px \"+-e.y+\"px\"),this._setIconStyles(t,\"icon\"),t},createShadow:function(){return null}}));di.Default=_i;var Ni=o.extend({options:{tileSize:256,opacity:1,updateWhenIdle:b.mobile,updateWhenZooming:!0,updateInterval:200,zIndex:1,bounds:null,minZoom:0,maxZoom:void 0,maxNativeZoom:void 0,minNativeZoom:void 0,noWrap:!1,pane:\"tilePane\",className:\"\",keepBuffer:2},initialize:function(t){c(this,t)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView()},beforeAdd:function(t){t._addZoomLimit(this)},onRemove:function(t){this._removeAllTiles(),T(this._container),t._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(fe(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(ge(this._container),this._setAutoZIndex(Math.min)),this},getContainer:function(){return this._container},setOpacity:function(t){return this.options.opacity=t,this._updateOpacity(),this},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){var t;return this._map&&(this._removeAllTiles(),(t=this._clampZoom(this._map.getZoom()))!==this._tileZoom&&(this._tileZoom=t,this._updateLevels()),this._update()),this},getEvents:function(){var t={viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd};return this.options.updateWhenIdle||(this._onMove||(this._onMove=j(this._onMoveEnd,this.options.updateInterval,this)),t.move=this._onMove),this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},createTile:function(){return document.createElement(\"div\")},getTileSize:function(){var t=this.options.tileSize;return t instanceof p?t:new p(t,t)},_updateZIndex:function(){this._container&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(t){for(var e,i=this.getPane().children,n=-t(-1/0,1/0),o=0,s=i.length;o<s;o++)e=i[o].style.zIndex,i[o]!==this._container&&e&&(n=t(n,+e));isFinite(n)&&(this.options.zIndex=n+t(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!b.ielt9){C(this._container,this.options.opacity);var t,e=+new Date,i=!1,n=!1;for(t in this._tiles){var o,s=this._tiles[t];s.current&&s.loaded&&(o=Math.min(1,(e-s.loaded)/200),C(s.el,o),o<1?i=!0:(s.active?n=!0:this._onOpaqueTile(s),s.active=!0))}n&&!this._noPrune&&this._pruneTiles(),i&&(r(this._fadeFrame),this._fadeFrame=x(this._updateOpacity,this))}},_onOpaqueTile:u,_initContainer:function(){this._container||(this._container=P(\"div\",\"leaflet-layer \"+(this.options.className||\"\")),this._updateZIndex(),this.options.opacity<1&&this._updateOpacity(),this.getPane().appendChild(this._container))},_updateLevels:function(){var t=this._tileZoom,e=this.options.maxZoom;if(void 0!==t){for(var i in this._levels)i=Number(i),this._levels[i].el.children.length||i===t?(this._levels[i].el.style.zIndex=e-Math.abs(t-i),this._onUpdateLevel(i)):(T(this._levels[i].el),this._removeTilesAtZoom(i),this._onRemoveLevel(i),delete this._levels[i]);var n=this._levels[t],o=this._map;return n||((n=this._levels[t]={}).el=P(\"div\",\"leaflet-tile-container leaflet-zoom-animated\",this._container),n.el.style.zIndex=e,n.origin=o.project(o.unproject(o.getPixelOrigin()),t).round(),n.zoom=t,this._setZoomTransform(n,o.getCenter(),o.getZoom()),u(n.el.offsetWidth),this._onCreateLevel(n)),this._level=n}},_onUpdateLevel:u,_onRemoveLevel:u,_onCreateLevel:u,_pruneTiles:function(){if(this._map){var t,e,i,n=this._map.getZoom();if(n>this.options.maxZoom||n<this.options.minZoom)this._removeAllTiles();else{for(t in this._tiles)(i=this._tiles[t]).retain=i.current;for(t in this._tiles)(i=this._tiles[t]).current&&!i.active&&(e=i.coords,this._retainParent(e.x,e.y,e.z,e.z-5)||this._retainChildren(e.x,e.y,e.z,e.z+2));for(t in this._tiles)this._tiles[t].retain||this._removeTile(t)}}},_removeTilesAtZoom:function(t){for(var e in this._tiles)this._tiles[e].coords.z===t&&this._removeTile(e)},_removeAllTiles:function(){for(var t in this._tiles)this._removeTile(t)},_invalidateAll:function(){for(var t in this._levels)T(this._levels[t].el),this._onRemoveLevel(Number(t)),delete this._levels[t];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(t,e,i,n){var t=Math.floor(t/2),e=Math.floor(e/2),i=i-1,o=new p(+t,+e),o=(o.z=i,this._tileCoordsToKey(o)),o=this._tiles[o];return o&&o.active?o.retain=!0:(o&&o.loaded&&(o.retain=!0),n<i&&this._retainParent(t,e,i,n))},_retainChildren:function(t,e,i,n){for(var o=2*t;o<2*t+2;o++)for(var s=2*e;s<2*e+2;s++){var r=new p(o,s),r=(r.z=i+1,this._tileCoordsToKey(r)),r=this._tiles[r];r&&r.active?r.retain=!0:(r&&r.loaded&&(r.retain=!0),i+1<n&&this._retainChildren(o,s,i+1,n))}},_resetView:function(t){t=t&&(t.pinch||t.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),t,t)},_animateZoom:function(t){this._setView(t.center,t.zoom,!0,t.noUpdate)},_clampZoom:function(t){var e=this.options;return void 0!==e.minNativeZoom&&t<e.minNativeZoom?e.minNativeZoom:void 0!==e.maxNativeZoom&&e.maxNativeZoom<t?e.maxNativeZoom:t},_setView:function(t,e,i,n){var o=Math.round(e),o=void 0!==this.options.maxZoom&&o>this.options.maxZoom||void 0!==this.options.minZoom&&o<this.options.minZoom?void 0:this._clampZoom(o),s=this.options.updateWhenZooming&&o!==this._tileZoom;n&&!s||(this._tileZoom=o,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),void 0!==o&&this._update(t),i||this._pruneTiles(),this._noPrune=!!i),this._setZoomTransforms(t,e)},_setZoomTransforms:function(t,e){for(var i in this._levels)this._setZoomTransform(this._levels[i],t,e)},_setZoomTransform:function(t,e,i){var n=this._map.getZoomScale(i,t.zoom),e=t.origin.multiplyBy(n).subtract(this._map._getNewPixelOrigin(e,i)).round();b.any3d?be(t.el,e,n):Z(t.el,e)},_resetGrid:function(){var t=this._map,e=t.options.crs,i=this._tileSize=this.getTileSize(),n=this._tileZoom,o=this._map.getPixelWorldBounds(this._tileZoom);o&&(this._globalTileRange=this._pxBoundsToTileRange(o)),this._wrapX=e.wrapLng&&!this.options.noWrap&&[Math.floor(t.project([0,e.wrapLng[0]],n).x/i.x),Math.ceil(t.project([0,e.wrapLng[1]],n).x/i.y)],this._wrapY=e.wrapLat&&!this.options.noWrap&&[Math.floor(t.project([e.wrapLat[0],0],n).y/i.x),Math.ceil(t.project([e.wrapLat[1],0],n).y/i.y)]},_onMoveEnd:function(){this._map&&!this._map._animatingZoom&&this._update()},_getTiledPixelBounds:function(t){var e=this._map,i=e._animatingZoom?Math.max(e._animateToZoom,e.getZoom()):e.getZoom(),i=e.getZoomScale(i,this._tileZoom),t=e.project(t,this._tileZoom).floor(),e=e.getSize().divideBy(2*i);return new f(t.subtract(e),t.add(e))},_update:function(t){var e=this._map;if(e){var i=this._clampZoom(e.getZoom());if(void 0===t&&(t=e.getCenter()),void 0!==this._tileZoom){var n,e=this._getTiledPixelBounds(t),o=this._pxBoundsToTileRange(e),s=o.getCenter(),r=[],e=this.options.keepBuffer,a=new f(o.getBottomLeft().subtract([e,-e]),o.getTopRight().add([e,-e]));if(!(isFinite(o.min.x)&&isFinite(o.min.y)&&isFinite(o.max.x)&&isFinite(o.max.y)))throw new Error(\"Attempted to load an infinite number of tiles\");for(n in this._tiles){var h=this._tiles[n].coords;h.z===this._tileZoom&&a.contains(new p(h.x,h.y))||(this._tiles[n].current=!1)}if(1<Math.abs(i-this._tileZoom))this._setView(t,i);else{for(var l=o.min.y;l<=o.max.y;l++)for(var u=o.min.x;u<=o.max.x;u++){var c,d=new p(u,l);d.z=this._tileZoom,this._isValidTile(d)&&((c=this._tiles[this._tileCoordsToKey(d)])?c.current=!0:r.push(d))}if(r.sort(function(t,e){return t.distanceTo(s)-e.distanceTo(s)}),0!==r.length){this._loading||(this._loading=!0,this.fire(\"loading\"));for(var _=document.createDocumentFragment(),u=0;u<r.length;u++)this._addTile(r[u],_);this._level.el.appendChild(_)}}}}},_isValidTile:function(t){var e=this._map.options.crs;if(!e.infinite){var i=this._globalTileRange;if(!e.wrapLng&&(t.x<i.min.x||t.x>i.max.x)||!e.wrapLat&&(t.y<i.min.y||t.y>i.max.y))return!1}return!this.options.bounds||(e=this._tileCoordsToBounds(t),g(this.options.bounds).overlaps(e))},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToNwSe:function(t){var e=this._map,i=this.getTileSize(),n=t.scaleBy(i),i=n.add(i);return[e.unproject(n,t.z),e.unproject(i,t.z)]},_tileCoordsToBounds:function(t){t=this._tileCoordsToNwSe(t),t=new s(t[0],t[1]);return t=this.options.noWrap?t:this._map.wrapLatLngBounds(t)},_tileCoordsToKey:function(t){return t.x+\":\"+t.y+\":\"+t.z},_keyToTileCoords:function(t){var t=t.split(\":\"),e=new p(+t[0],+t[1]);return e.z=+t[2],e},_removeTile:function(t){var e=this._tiles[t];e&&(T(e.el),delete this._tiles[t],this.fire(\"tileunload\",{tile:e.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){M(t,\"leaflet-tile\");var e=this.getTileSize();t.style.width=e.x+\"px\",t.style.height=e.y+\"px\",t.onselectstart=u,t.onmousemove=u,b.ielt9&&this.options.opacity<1&&C(t,this.options.opacity)},_addTile:function(t,e){var i=this._getTilePos(t),n=this._tileCoordsToKey(t),o=this.createTile(this._wrapCoords(t),a(this._tileReady,this,t));this._initTile(o),this.createTile.length<2&&x(a(this._tileReady,this,t,null,o)),Z(o,i),this._tiles[n]={el:o,coords:t,current:!0},e.appendChild(o),this.fire(\"tileloadstart\",{tile:o,coords:t})},_tileReady:function(t,e,i){e&&this.fire(\"tileerror\",{error:e,tile:i,coords:t});var n=this._tileCoordsToKey(t);(i=this._tiles[n])&&(i.loaded=+new Date,this._map._fadeAnimated?(C(i.el,0),r(this._fadeFrame),this._fadeFrame=x(this._updateOpacity,this)):(i.active=!0,this._pruneTiles()),e||(M(i.el,\"leaflet-tile-loaded\"),this.fire(\"tileload\",{tile:i.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire(\"load\"),b.ielt9||!this._map._fadeAnimated?x(this._pruneTiles,this):setTimeout(a(this._pruneTiles,this),250)))},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var e=new p(this._wrapX?H(t.x,this._wrapX):t.x,this._wrapY?H(t.y,this._wrapY):t.y);return e.z=t.z,e},_pxBoundsToTileRange:function(t){var e=this.getTileSize();return new f(t.min.unscaleBy(e).floor(),t.max.unscaleBy(e).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}});var Di=Ni.extend({options:{minZoom:0,maxZoom:18,subdomains:\"abc\",errorTileUrl:\"\",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(t,e){this._url=t,(e=c(this,e)).detectRetina&&b.retina&&0<e.maxZoom?(e.tileSize=Math.floor(e.tileSize/2),e.zoomReverse?(e.zoomOffset--,e.minZoom=Math.min(e.maxZoom,e.minZoom+1)):(e.zoomOffset++,e.maxZoom=Math.max(e.minZoom,e.maxZoom-1)),e.minZoom=Math.max(0,e.minZoom)):e.zoomReverse?e.minZoom=Math.min(e.maxZoom,e.minZoom):e.maxZoom=Math.max(e.minZoom,e.maxZoom),\"string\"==typeof e.subdomains&&(e.subdomains=e.subdomains.split(\"\")),this.on(\"tileunload\",this._onTileRemove)},setUrl:function(t,e){return this._url===t&&void 0===e&&(e=!0),this._url=t,e||this.redraw(),this},createTile:function(t,e){var i=document.createElement(\"img\");return S(i,\"load\",a(this._tileOnLoad,this,e,i)),S(i,\"error\",a(this._tileOnError,this,e,i)),!this.options.crossOrigin&&\"\"!==this.options.crossOrigin||(i.crossOrigin=!0===this.options.crossOrigin?\"\":this.options.crossOrigin),\"string\"==typeof this.options.referrerPolicy&&(i.referrerPolicy=this.options.referrerPolicy),i.alt=\"\",i.src=this.getTileUrl(t),i},getTileUrl:function(t){var e={r:b.retina?\"@2x\":\"\",s:this._getSubdomain(t),x:t.x,y:t.y,z:this._getZoomForUrl()};return this._map&&!this._map.options.crs.infinite&&(t=this._globalTileRange.max.y-t.y,this.options.tms&&(e.y=t),e[\"-y\"]=t),q(this._url,l(e,this.options))},_tileOnLoad:function(t,e){b.ielt9?setTimeout(a(t,this,null,e),0):t(null,e)},_tileOnError:function(t,e,i){var n=this.options.errorTileUrl;n&&e.getAttribute(\"src\")!==n&&(e.src=n),t(i,e)},_onTileRemove:function(t){t.tile.onload=null},_getZoomForUrl:function(){var t=this._tileZoom,e=this.options.maxZoom;return(t=this.options.zoomReverse?e-t:t)+this.options.zoomOffset},_getSubdomain:function(t){t=Math.abs(t.x+t.y)%this.options.subdomains.length;return this.options.subdomains[t]},_abortLoading:function(){var t,e,i;for(t in this._tiles)this._tiles[t].coords.z!==this._tileZoom&&((i=this._tiles[t].el).onload=u,i.onerror=u,i.complete||(i.src=K,e=this._tiles[t].coords,T(i),delete this._tiles[t],this.fire(\"tileabort\",{tile:i,coords:e})))},_removeTile:function(t){var e=this._tiles[t];if(e)return e.el.setAttribute(\"src\",K),Ni.prototype._removeTile.call(this,t)},_tileReady:function(t,e,i){if(this._map&&(!i||i.getAttribute(\"src\")!==K))return Ni.prototype._tileReady.call(this,t,e,i)}});function ji(t,e){return new Di(t,e)}var Hi=Di.extend({defaultWmsParams:{service:\"WMS\",request:\"GetMap\",layers:\"\",styles:\"\",format:\"image/jpeg\",transparent:!1,version:\"1.1.1\"},options:{crs:null,uppercase:!1},initialize:function(t,e){this._url=t;var i,n=l({},this.defaultWmsParams);for(i in e)i in this.options||(n[i]=e[i]);var t=(e=c(this,e)).detectRetina&&b.retina?2:1,o=this.getTileSize();n.width=o.x*t,n.height=o.y*t,this.wmsParams=n},onAdd:function(t){this._crs=this.options.crs||t.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var e=1.3<=this._wmsVersion?\"crs\":\"srs\";this.wmsParams[e]=this._crs.code,Di.prototype.onAdd.call(this,t)},getTileUrl:function(t){var e=this._tileCoordsToNwSe(t),i=this._crs,i=_(i.project(e[0]),i.project(e[1])),e=i.min,i=i.max,e=(1.3<=this._wmsVersion&&this._crs===li?[e.y,e.x,i.y,i.x]:[e.x,e.y,i.x,i.y]).join(\",\"),i=Di.prototype.getTileUrl.call(this,t);return i+U(this.wmsParams,i,this.options.uppercase)+(this.options.uppercase?\"&BBOX=\":\"&bbox=\")+e},setParams:function(t,e){return l(this.wmsParams,t),e||this.redraw(),this}});Di.WMS=Hi,ji.wms=function(t,e){return new Hi(t,e)};var Wi=o.extend({options:{padding:.1},initialize:function(t){c(this,t),h(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),M(this._container,\"leaflet-zoom-animated\")),this.getPane().appendChild(this._container),this._update(),this.on(\"update\",this._updatePaths,this)},onRemove:function(){this.off(\"update\",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var t={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(t.zoomanim=this._onAnimZoom),t},_onAnimZoom:function(t){this._updateTransform(t.center,t.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(t,e){var i=this._map.getZoomScale(e,this._zoom),n=this._map.getSize().multiplyBy(.5+this.options.padding),o=this._map.project(this._center,e),n=n.multiplyBy(-i).add(o).subtract(this._map._getNewPixelOrigin(t,e));b.any3d?be(this._container,n,i):Z(this._container,n)},_reset:function(){for(var t in this._update(),this._updateTransform(this._center,this._zoom),this._layers)this._layers[t]._reset()},_onZoomEnd:function(){for(var t in this._layers)this._layers[t]._project()},_updatePaths:function(){for(var t in this._layers)this._layers[t]._update()},_update:function(){var t=this.options.padding,e=this._map.getSize(),i=this._map.containerPointToLayerPoint(e.multiplyBy(-t)).round();this._bounds=new f(i,i.add(e.multiplyBy(1+2*t)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),Fi=Wi.extend({options:{tolerance:0},getEvents:function(){var t=Wi.prototype.getEvents.call(this);return t.viewprereset=this._onViewPreReset,t},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){Wi.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var t=this._container=document.createElement(\"canvas\");S(t,\"mousemove\",this._onMouseMove,this),S(t,\"click dblclick mousedown mouseup contextmenu\",this._onClick,this),S(t,\"mouseout\",this._handleMouseOut,this),t._leaflet_disable_events=!0,this._ctx=t.getContext(\"2d\")},_destroyContainer:function(){r(this._redrawRequest),delete this._ctx,T(this._container),k(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){for(var t in this._redrawBounds=null,this._layers)this._layers[t]._update();this._redraw()}},_update:function(){var t,e,i,n;this._map._animatingZoom&&this._bounds||(Wi.prototype._update.call(this),t=this._bounds,e=this._container,i=t.getSize(),n=b.retina?2:1,Z(e,t.min),e.width=n*i.x,e.height=n*i.y,e.style.width=i.x+\"px\",e.style.height=i.y+\"px\",b.retina&&this._ctx.scale(2,2),this._ctx.translate(-t.min.x,-t.min.y),this.fire(\"update\"))},_reset:function(){Wi.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(t){this._updateDashArray(t);t=(this._layers[h(t)]=t)._order={layer:t,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=t),this._drawLast=t,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(t){this._requestRedraw(t)},_removePath:function(t){var e=t._order,i=e.next,e=e.prev;i?i.prev=e:this._drawLast=e,e?e.next=i:this._drawFirst=i,delete t._order,delete this._layers[h(t)],this._requestRedraw(t)},_updatePath:function(t){this._extendRedrawBounds(t),t._project(),t._update(),this._requestRedraw(t)},_updateStyle:function(t){this._updateDashArray(t),this._requestRedraw(t)},_updateDashArray:function(t){if(\"string\"==typeof t.options.dashArray){for(var e,i=t.options.dashArray.split(/[, ]+/),n=[],o=0;o<i.length;o++){if(e=Number(i[o]),isNaN(e))return;n.push(e)}t.options._dashArray=n}else t.options._dashArray=t.options.dashArray},_requestRedraw:function(t){this._map&&(this._extendRedrawBounds(t),this._redrawRequest=this._redrawRequest||x(this._redraw,this))},_extendRedrawBounds:function(t){var e;t._pxBounds&&(e=(t.options.weight||0)+1,this._redrawBounds=this._redrawBounds||new f,this._redrawBounds.extend(t._pxBounds.min.subtract([e,e])),this._redrawBounds.extend(t._pxBounds.max.add([e,e])))},_redraw:function(){this._redrawRequest=null,this._redrawBounds&&(this._redrawBounds.min._floor(),this._redrawBounds.max._ceil()),this._clear(),this._draw(),this._redrawBounds=null},_clear:function(){var t,e=this._redrawBounds;e?(t=e.getSize(),this._ctx.clearRect(e.min.x,e.min.y,t.x,t.y)):(this._ctx.save(),this._ctx.setTransform(1,0,0,1,0,0),this._ctx.clearRect(0,0,this._container.width,this._container.height),this._ctx.restore())},_draw:function(){var t,e,i=this._redrawBounds;this._ctx.save(),i&&(e=i.getSize(),this._ctx.beginPath(),this._ctx.rect(i.min.x,i.min.y,e.x,e.y),this._ctx.clip()),this._drawing=!0;for(var n=this._drawFirst;n;n=n.next)t=n.layer,(!i||t._pxBounds&&t._pxBounds.intersects(i))&&t._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(t,e){if(this._drawing){var i,n,o,s,r=t._parts,a=r.length,h=this._ctx;if(a){for(h.beginPath(),i=0;i<a;i++){for(n=0,o=r[i].length;n<o;n++)s=r[i][n],h[n?\"lineTo\":\"moveTo\"](s.x,s.y);e&&h.closePath()}this._fillStroke(h,t)}}},_updateCircle:function(t){var e,i,n,o;this._drawing&&!t._empty()&&(e=t._point,i=this._ctx,n=Math.max(Math.round(t._radius),1),1!=(o=(Math.max(Math.round(t._radiusY),1)||n)/n)&&(i.save(),i.scale(1,o)),i.beginPath(),i.arc(e.x,e.y/o,n,0,2*Math.PI,!1),1!=o&&i.restore(),this._fillStroke(i,t))},_fillStroke:function(t,e){var i=e.options;i.fill&&(t.globalAlpha=i.fillOpacity,t.fillStyle=i.fillColor||i.color,t.fill(i.fillRule||\"evenodd\")),i.stroke&&0!==i.weight&&(t.setLineDash&&t.setLineDash(e.options&&e.options._dashArray||[]),t.globalAlpha=i.opacity,t.lineWidth=i.weight,t.strokeStyle=i.color,t.lineCap=i.lineCap,t.lineJoin=i.lineJoin,t.stroke())},_onClick:function(t){for(var e,i,n=this._map.mouseEventToLayerPoint(t),o=this._drawFirst;o;o=o.next)(e=o.layer).options.interactive&&e._containsPoint(n)&&((\"click\"===t.type||\"preclick\"===t.type)&&this._map._draggableMoved(e)||(i=e));this._fireEvent(!!i&&[i],t)},_onMouseMove:function(t){var e;!this._map||this._map.dragging.moving()||this._map._animatingZoom||(e=this._map.mouseEventToLayerPoint(t),this._handleMouseHover(t,e))},_handleMouseOut:function(t){var e=this._hoveredLayer;e&&(z(this._container,\"leaflet-interactive\"),this._fireEvent([e],t,\"mouseout\"),this._hoveredLayer=null,this._mouseHoverThrottled=!1)},_handleMouseHover:function(t,e){if(!this._mouseHoverThrottled){for(var i,n,o=this._drawFirst;o;o=o.next)(i=o.layer).options.interactive&&i._containsPoint(e)&&(n=i);n!==this._hoveredLayer&&(this._handleMouseOut(t),n&&(M(this._container,\"leaflet-interactive\"),this._fireEvent([n],t,\"mouseover\"),this._hoveredLayer=n)),this._fireEvent(!!this._hoveredLayer&&[this._hoveredLayer],t),this._mouseHoverThrottled=!0,setTimeout(a(function(){this._mouseHoverThrottled=!1},this),32)}},_fireEvent:function(t,e,i){this._map._fireDOMEvent(e,i||e.type,t)},_bringToFront:function(t){var e,i,n=t._order;n&&(e=n.next,i=n.prev,e&&((e.prev=i)?i.next=e:e&&(this._drawFirst=e),n.prev=this._drawLast,(this._drawLast.next=n).next=null,this._drawLast=n,this._requestRedraw(t)))},_bringToBack:function(t){var e,i,n=t._order;n&&(e=n.next,(i=n.prev)&&((i.next=e)?e.prev=i:i&&(this._drawLast=i),n.prev=null,n.next=this._drawFirst,this._drawFirst.prev=n,this._drawFirst=n,this._requestRedraw(t)))}});function Ui(t){return b.canvas?new Fi(t):null}var Vi=function(){try{return document.namespaces.add(\"lvml\",\"urn:schemas-microsoft-com:vml\"),function(t){return document.createElement(\"<lvml:\"+t+' class=\"lvml\">')}}catch(t){}return function(t){return document.createElement(\"<\"+t+' xmlns=\"urn:schemas-microsoft.com:vml\" class=\"lvml\">')}}(),zt={_initContainer:function(){this._container=P(\"div\",\"leaflet-vml-container\")},_update:function(){this._map._animatingZoom||(Wi.prototype._update.call(this),this.fire(\"update\"))},_initPath:function(t){var e=t._container=Vi(\"shape\");M(e,\"leaflet-vml-shape \"+(this.options.className||\"\")),e.coordsize=\"1 1\",t._path=Vi(\"path\"),e.appendChild(t._path),this._updateStyle(t),this._layers[h(t)]=t},_addPath:function(t){var e=t._container;this._container.appendChild(e),t.options.interactive&&t.addInteractiveTarget(e)},_removePath:function(t){var e=t._container;T(e),t.removeInteractiveTarget(e),delete this._layers[h(t)]},_updateStyle:function(t){var e=t._stroke,i=t._fill,n=t.options,o=t._container;o.stroked=!!n.stroke,o.filled=!!n.fill,n.stroke?(e=e||(t._stroke=Vi(\"stroke\")),o.appendChild(e),e.weight=n.weight+\"px\",e.color=n.color,e.opacity=n.opacity,n.dashArray?e.dashStyle=d(n.dashArray)?n.dashArray.join(\" \"):n.dashArray.replace(/( *, *)/g,\" \"):e.dashStyle=\"\",e.endcap=n.lineCap.replace(\"butt\",\"flat\"),e.joinstyle=n.lineJoin):e&&(o.removeChild(e),t._stroke=null),n.fill?(i=i||(t._fill=Vi(\"fill\")),o.appendChild(i),i.color=n.fillColor||n.color,i.opacity=n.fillOpacity):i&&(o.removeChild(i),t._fill=null)},_updateCircle:function(t){var e=t._point.round(),i=Math.round(t._radius),n=Math.round(t._radiusY||i);this._setPath(t,t._empty()?\"M0 0\":\"AL \"+e.x+\",\"+e.y+\" \"+i+\",\"+n+\" 0,23592600\")},_setPath:function(t,e){t._path.v=e},_bringToFront:function(t){fe(t._container)},_bringToBack:function(t){ge(t._container)}},qi=b.vml?Vi:ct,Gi=Wi.extend({_initContainer:function(){this._container=qi(\"svg\"),this._container.setAttribute(\"pointer-events\",\"none\"),this._rootGroup=qi(\"g\"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){T(this._container),k(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){var t,e,i;this._map._animatingZoom&&this._bounds||(Wi.prototype._update.call(this),e=(t=this._bounds).getSize(),i=this._container,this._svgSize&&this._svgSize.equals(e)||(this._svgSize=e,i.setAttribute(\"width\",e.x),i.setAttribute(\"height\",e.y)),Z(i,t.min),i.setAttribute(\"viewBox\",[t.min.x,t.min.y,e.x,e.y].join(\" \")),this.fire(\"update\"))},_initPath:function(t){var e=t._path=qi(\"path\");t.options.className&&M(e,t.options.className),t.options.interactive&&M(e,\"leaflet-interactive\"),this._updateStyle(t),this._layers[h(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){T(t._path),t.removeInteractiveTarget(t._path),delete this._layers[h(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var e=t._path,t=t.options;e&&(t.stroke?(e.setAttribute(\"stroke\",t.color),e.setAttribute(\"stroke-opacity\",t.opacity),e.setAttribute(\"stroke-width\",t.weight),e.setAttribute(\"stroke-linecap\",t.lineCap),e.setAttribute(\"stroke-linejoin\",t.lineJoin),t.dashArray?e.setAttribute(\"stroke-dasharray\",t.dashArray):e.removeAttribute(\"stroke-dasharray\"),t.dashOffset?e.setAttribute(\"stroke-dashoffset\",t.dashOffset):e.removeAttribute(\"stroke-dashoffset\")):e.setAttribute(\"stroke\",\"none\"),t.fill?(e.setAttribute(\"fill\",t.fillColor||t.color),e.setAttribute(\"fill-opacity\",t.fillOpacity),e.setAttribute(\"fill-rule\",t.fillRule||\"evenodd\")):e.setAttribute(\"fill\",\"none\"))},_updatePoly:function(t,e){this._setPath(t,dt(t._parts,e))},_updateCircle:function(t){var e=t._point,i=Math.max(Math.round(t._radius),1),n=\"a\"+i+\",\"+(Math.max(Math.round(t._radiusY),1)||i)+\" 0 1,0 \",e=t._empty()?\"M0 0\":\"M\"+(e.x-i)+\",\"+e.y+n+2*i+\",0 \"+n+2*-i+\",0 \";this._setPath(t,e)},_setPath:function(t,e){t._path.setAttribute(\"d\",e)},_bringToFront:function(t){fe(t._path)},_bringToBack:function(t){ge(t._path)}});function Ki(t){return b.svg||b.vml?new Gi(t):null}b.vml&&Gi.include(zt),A.include({getRenderer:function(t){t=(t=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer)||(this._renderer=this._createRenderer());return this.hasLayer(t)||this.addLayer(t),t},_getPaneRenderer:function(t){var e;return\"overlayPane\"!==t&&void 0!==t&&(void 0===(e=this._paneRenderers[t])&&(e=this._createRenderer({pane:t}),this._paneRenderers[t]=e),e)},_createRenderer:function(t){return this.options.preferCanvas&&Ui(t)||Ki(t)}});var Yi=xi.extend({initialize:function(t,e){xi.prototype.initialize.call(this,this._boundsToLatLngs(t),e)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return[(t=g(t)).getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});Gi.create=qi,Gi.pointsToPath=dt,wi.geometryToLayer=bi,wi.coordsToLatLng=Li,wi.coordsToLatLngs=Ti,wi.latLngToCoords=Mi,wi.latLngsToCoords=zi,wi.getFeature=Ci,wi.asFeature=Zi,A.mergeOptions({boxZoom:!0});var _t=n.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on(\"unload\",this._destroy,this)},addHooks:function(){S(this._container,\"mousedown\",this._onMouseDown,this)},removeHooks:function(){k(this._container,\"mousedown\",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){T(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){0!==this._resetStateTimeout&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(t){if(!t.shiftKey||1!==t.which&&1!==t.button)return!1;this._clearDeferredResetState(),this._resetState(),re(),Le(),this._startPoint=this._map.mouseEventToContainerPoint(t),S(document,{contextmenu:Re,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=P(\"div\",\"leaflet-zoom-box\",this._container),M(this._container,\"leaflet-crosshair\"),this._map.fire(\"boxzoomstart\")),this._point=this._map.mouseEventToContainerPoint(t);var t=new f(this._point,this._startPoint),e=t.getSize();Z(this._box,t.min),this._box.style.width=e.x+\"px\",this._box.style.height=e.y+\"px\"},_finish:function(){this._moved&&(T(this._box),z(this._container,\"leaflet-crosshair\")),ae(),Te(),k(document,{contextmenu:Re,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){1!==t.which&&1!==t.button||(this._finish(),this._moved&&(this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(a(this._resetState,this),0),t=new s(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point)),this._map.fitBounds(t).fire(\"boxzoomend\",{boxZoomBounds:t})))},_onKeyDown:function(t){27===t.keyCode&&(this._finish(),this._clearDeferredResetState(),this._resetState())}}),Ct=(A.addInitHook(\"addHandler\",\"boxZoom\",_t),A.mergeOptions({doubleClickZoom:!0}),n.extend({addHooks:function(){this._map.on(\"dblclick\",this._onDoubleClick,this)},removeHooks:function(){this._map.off(\"dblclick\",this._onDoubleClick,this)},_onDoubleClick:function(t){var e=this._map,i=e.getZoom(),n=e.options.zoomDelta,i=t.originalEvent.shiftKey?i-n:i+n;\"center\"===e.options.doubleClickZoom?e.setZoom(i):e.setZoomAround(t.containerPoint,i)}})),Zt=(A.addInitHook(\"addHandler\",\"doubleClickZoom\",Ct),A.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0}),n.extend({addHooks:function(){var t;this._draggable||(t=this._map,this._draggable=new Xe(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on(\"predrag\",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on(\"predrag\",this._onPreDragWrap,this),t.on(\"zoomend\",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))),M(this._map._container,\"leaflet-grab leaflet-touch-drag\"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){z(this._map._container,\"leaflet-grab\"),z(this._map._container,\"leaflet-touch-drag\"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var t,e=this._map;e._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity?(t=g(this._map.options.maxBounds),this._offsetLimit=_(this._map.latLngToContainerPoint(t.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(t.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))):this._offsetLimit=null,e.fire(\"movestart\").fire(\"dragstart\"),e.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){var e,i;this._map.options.inertia&&(e=this._lastTime=+new Date,i=this._lastPos=this._draggable._absPos||this._draggable._newPos,this._positions.push(i),this._times.push(e),this._prunePositions(e)),this._map.fire(\"move\",t).fire(\"drag\",t)},_prunePositions:function(t){for(;1<this._positions.length&&50<t-this._times[0];)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var t=this._map.getSize().divideBy(2),e=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=e.subtract(t).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(t,e){return t-(t-e)*this._viscosity},_onPreDragLimit:function(){var t,e;this._viscosity&&this._offsetLimit&&(t=this._draggable._newPos.subtract(this._draggable._startPos),e=this._offsetLimit,t.x<e.min.x&&(t.x=this._viscousLimit(t.x,e.min.x)),t.y<e.min.y&&(t.y=this._viscousLimit(t.y,e.min.y)),t.x>e.max.x&&(t.x=this._viscousLimit(t.x,e.max.x)),t.y>e.max.y&&(t.y=this._viscousLimit(t.y,e.max.y)),this._draggable._newPos=this._draggable._startPos.add(t))},_onPreDragWrap:function(){var t=this._worldWidth,e=Math.round(t/2),i=this._initialWorldOffset,n=this._draggable._newPos.x,o=(n-e+i)%t+e-i,n=(n+e+i)%t-e-i,t=Math.abs(o+i)<Math.abs(n+i)?o:n;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=t},_onDragEnd:function(t){var e,i,n,o,s=this._map,r=s.options,a=!r.inertia||t.noInertia||this._times.length<2;s.fire(\"dragend\",t),!a&&(this._prunePositions(+new Date),t=this._lastPos.subtract(this._positions[0]),a=(this._lastTime-this._times[0])/1e3,e=r.easeLinearity,a=(t=t.multiplyBy(e/a)).distanceTo([0,0]),i=Math.min(r.inertiaMaxSpeed,a),t=t.multiplyBy(i/a),n=i/(r.inertiaDeceleration*e),(o=t.multiplyBy(-n/2).round()).x||o.y)?(o=s._limitOffset(o,s.options.maxBounds),x(function(){s.panBy(o,{duration:n,easeLinearity:e,noMoveStart:!0,animate:!0})})):s.fire(\"moveend\")}})),St=(A.addInitHook(\"addHandler\",\"dragging\",Zt),A.mergeOptions({keyboard:!0,keyboardPanDelta:80}),n.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,54,173]},initialize:function(t){this._map=t,this._setPanDelta(t.options.keyboardPanDelta),this._setZoomDelta(t.options.zoomDelta)},addHooks:function(){var t=this._map._container;t.tabIndex<=0&&(t.tabIndex=\"0\"),S(t,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.on({focus:this._addHooks,blur:this._removeHooks},this)},removeHooks:function(){this._removeHooks(),k(this._map._container,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.off({focus:this._addHooks,blur:this._removeHooks},this)},_onMouseDown:function(){var t,e,i;this._focused||(i=document.body,t=document.documentElement,e=i.scrollTop||t.scrollTop,i=i.scrollLeft||t.scrollLeft,this._map._container.focus(),window.scrollTo(i,e))},_onFocus:function(){this._focused=!0,this._map.fire(\"focus\")},_onBlur:function(){this._focused=!1,this._map.fire(\"blur\")},_setPanDelta:function(t){for(var e=this._panKeys={},i=this.keyCodes,n=0,o=i.left.length;n<o;n++)e[i.left[n]]=[-1*t,0];for(n=0,o=i.right.length;n<o;n++)e[i.right[n]]=[t,0];for(n=0,o=i.down.length;n<o;n++)e[i.down[n]]=[0,t];for(n=0,o=i.up.length;n<o;n++)e[i.up[n]]=[0,-1*t]},_setZoomDelta:function(t){for(var e=this._zoomKeys={},i=this.keyCodes,n=0,o=i.zoomIn.length;n<o;n++)e[i.zoomIn[n]]=t;for(n=0,o=i.zoomOut.length;n<o;n++)e[i.zoomOut[n]]=-t},_addHooks:function(){S(document,\"keydown\",this._onKeyDown,this)},_removeHooks:function(){k(document,\"keydown\",this._onKeyDown,this)},_onKeyDown:function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e,i,n=t.keyCode,o=this._map;if(n in this._panKeys)o._panAnim&&o._panAnim._inProgress||(i=this._panKeys[n],t.shiftKey&&(i=m(i).multiplyBy(3)),o.options.maxBounds&&(i=o._limitOffset(m(i),o.options.maxBounds)),o.options.worldCopyJump?(e=o.wrapLatLng(o.unproject(o.project(o.getCenter()).add(i))),o.panTo(e)):o.panBy(i));else if(n in this._zoomKeys)o.setZoom(o.getZoom()+(t.shiftKey?3:1)*this._zoomKeys[n]);else{if(27!==n||!o._popup||!o._popup.options.closeOnEscapeKey)return;o.closePopup()}Re(t)}}})),Et=(A.addInitHook(\"addHandler\",\"keyboard\",St),A.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60}),n.extend({addHooks:function(){S(this._map._container,\"wheel\",this._onWheelScroll,this),this._delta=0},removeHooks:function(){k(this._map._container,\"wheel\",this._onWheelScroll,this)},_onWheelScroll:function(t){var e=He(t),i=this._map.options.wheelDebounceTime,e=(this._delta+=e,this._lastMousePos=this._map.mouseEventToContainerPoint(t),this._startTime||(this._startTime=+new Date),Math.max(i-(+new Date-this._startTime),0));clearTimeout(this._timer),this._timer=setTimeout(a(this._performZoom,this),e),Re(t)},_performZoom:function(){var t=this._map,e=t.getZoom(),i=this._map.options.zoomSnap||0,n=(t._stop(),this._delta/(4*this._map.options.wheelPxPerZoomLevel)),n=4*Math.log(2/(1+Math.exp(-Math.abs(n))))/Math.LN2,i=i?Math.ceil(n/i)*i:n,n=t._limitZoom(e+(0<this._delta?i:-i))-e;this._delta=0,this._startTime=null,n&&(\"center\"===t.options.scrollWheelZoom?t.setZoom(e+n):t.setZoomAround(this._lastMousePos,e+n))}})),kt=(A.addInitHook(\"addHandler\",\"scrollWheelZoom\",Et),A.mergeOptions({tapHold:b.touchNative&&b.safari&&b.mobile,tapTolerance:15}),n.extend({addHooks:function(){S(this._map._container,\"touchstart\",this._onDown,this)},removeHooks:function(){k(this._map._container,\"touchstart\",this._onDown,this)},_onDown:function(t){var e;clearTimeout(this._holdTimeout),1===t.touches.length&&(e=t.touches[0],this._startPos=this._newPos=new p(e.clientX,e.clientY),this._holdTimeout=setTimeout(a(function(){this._cancel(),this._isTapValid()&&(S(document,\"touchend\",O),S(document,\"touchend touchcancel\",this._cancelClickPrevent),this._simulateEvent(\"contextmenu\",e))},this),600),S(document,\"touchend touchcancel contextmenu\",this._cancel,this),S(document,\"touchmove\",this._onMove,this))},_cancelClickPrevent:function t(){k(document,\"touchend\",O),k(document,\"touchend touchcancel\",t)},_cancel:function(){clearTimeout(this._holdTimeout),k(document,\"touchend touchcancel contextmenu\",this._cancel,this),k(document,\"touchmove\",this._onMove,this)},_onMove:function(t){t=t.touches[0];this._newPos=new p(t.clientX,t.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(t,e){t=new MouseEvent(t,{bubbles:!0,cancelable:!0,view:window,screenX:e.screenX,screenY:e.screenY,clientX:e.clientX,clientY:e.clientY});t._simulated=!0,e.target.dispatchEvent(t)}})),Ot=(A.addInitHook(\"addHandler\",\"tapHold\",kt),A.mergeOptions({touchZoom:b.touch,bounceAtZoomLimits:!0}),n.extend({addHooks:function(){M(this._map._container,\"leaflet-touch-zoom\"),S(this._map._container,\"touchstart\",this._onTouchStart,this)},removeHooks:function(){z(this._map._container,\"leaflet-touch-zoom\"),k(this._map._container,\"touchstart\",this._onTouchStart,this)},_onTouchStart:function(t){var e,i,n=this._map;!t.touches||2!==t.touches.length||n._animatingZoom||this._zooming||(e=n.mouseEventToContainerPoint(t.touches[0]),i=n.mouseEventToContainerPoint(t.touches[1]),this._centerPoint=n.getSize()._divideBy(2),this._startLatLng=n.containerPointToLatLng(this._centerPoint),\"center\"!==n.options.touchZoom&&(this._pinchStartLatLng=n.containerPointToLatLng(e.add(i)._divideBy(2))),this._startDist=e.distanceTo(i),this._startZoom=n.getZoom(),this._moved=!1,this._zooming=!0,n._stop(),S(document,\"touchmove\",this._onTouchMove,this),S(document,\"touchend touchcancel\",this._onTouchEnd,this),O(t))},_onTouchMove:function(t){if(t.touches&&2===t.touches.length&&this._zooming){var e=this._map,i=e.mouseEventToContainerPoint(t.touches[0]),n=e.mouseEventToContainerPoint(t.touches[1]),o=i.distanceTo(n)/this._startDist;if(this._zoom=e.getScaleZoom(o,this._startZoom),!e.options.bounceAtZoomLimits&&(this._zoom<e.getMinZoom()&&o<1||this._zoom>e.getMaxZoom()&&1<o)&&(this._zoom=e._limitZoom(this._zoom)),\"center\"===e.options.touchZoom){if(this._center=this._startLatLng,1==o)return}else{i=i._add(n)._divideBy(2)._subtract(this._centerPoint);if(1==o&&0===i.x&&0===i.y)return;this._center=e.unproject(e.project(this._pinchStartLatLng,this._zoom).subtract(i),this._zoom)}this._moved||(e._moveStart(!0,!1),this._moved=!0),r(this._animRequest);n=a(e._move,e,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=x(n,this,!0),O(t)}},_onTouchEnd:function(){this._moved&&this._zooming?(this._zooming=!1,r(this._animRequest),k(document,\"touchmove\",this._onTouchMove,this),k(document,\"touchend touchcancel\",this._onTouchEnd,this),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))):this._zooming=!1}})),Xi=(A.addInitHook(\"addHandler\",\"touchZoom\",Ot),A.BoxZoom=_t,A.DoubleClickZoom=Ct,A.Drag=Zt,A.Keyboard=St,A.ScrollWheelZoom=Et,A.TapHold=kt,A.TouchZoom=Ot,t.Bounds=f,t.Browser=b,t.CRS=ot,t.Canvas=Fi,t.Circle=vi,t.CircleMarker=gi,t.Class=et,t.Control=B,t.DivIcon=Ri,t.DivOverlay=Ai,t.DomEvent=mt,t.DomUtil=pt,t.Draggable=Xe,t.Evented=it,t.FeatureGroup=ci,t.GeoJSON=wi,t.GridLayer=Ni,t.Handler=n,t.Icon=di,t.ImageOverlay=Ei,t.LatLng=v,t.LatLngBounds=s,t.Layer=o,t.LayerGroup=ui,t.LineUtil=vt,t.Map=A,t.Marker=mi,t.Mixin=ft,t.Path=fi,t.Point=p,t.PolyUtil=gt,t.Polygon=xi,t.Polyline=yi,t.Popup=Bi,t.PosAnimation=Fe,t.Projection=wt,t.Rectangle=Yi,t.Renderer=Wi,t.SVG=Gi,t.SVGOverlay=Oi,t.TileLayer=Di,t.Tooltip=Ii,t.Transformation=at,t.Util=tt,t.VideoOverlay=ki,t.bind=a,t.bounds=_,t.canvas=Ui,t.circle=function(t,e,i){return new vi(t,e,i)},t.circleMarker=function(t,e){return new gi(t,e)},t.control=Ue,t.divIcon=function(t){return new Ri(t)},t.extend=l,t.featureGroup=function(t,e){return new ci(t,e)},t.geoJSON=Si,t.geoJson=Mt,t.gridLayer=function(t){return new Ni(t)},t.icon=function(t){return new di(t)},t.imageOverlay=function(t,e,i){return new Ei(t,e,i)},t.latLng=w,t.latLngBounds=g,t.layerGroup=function(t,e){return new ui(t,e)},t.map=function(t,e){return new A(t,e)},t.marker=function(t,e){return new mi(t,e)},t.point=m,t.polygon=function(t,e){return new xi(t,e)},t.polyline=function(t,e){return new yi(t,e)},t.popup=function(t,e){return new Bi(t,e)},t.rectangle=function(t,e){return new Yi(t,e)},t.setOptions=c,t.stamp=h,t.svg=Ki,t.svgOverlay=function(t,e,i){return new Oi(t,e,i)},t.tileLayer=ji,t.tooltip=function(t,e){return new Ii(t,e)},t.transformation=ht,t.version=\"1.9.4\",t.videoOverlay=function(t,e,i){return new ki(t,e,i)},window.L);t.noConflict=function(){return window.L=Xi,this},window.L=t});\n//# sourceMappingURL=leaflet.js.map"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/files/leaflet.js/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": [\n\t\t{\n\t\t\t\"file\": \"leaflet.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/geospatial/leaflet.js\",\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"file\": \"leaflet.css\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"text/css\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/geospatial/leaflet.css\",\n\t\t\t\t\"tags\": \"[[$:/tags/Stylesheet]]\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"file\": \"images/layers-2x.png\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"image/png\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/geospatial/leaflet/images/layers-2x.png\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"file\": \"LICENSE\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"text/plain\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/geospatial/leaflet.js/LICENSE\"\n\t\t\t}\n\t\t}\n\t]\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/files/leaflet.markercluster/MIT-LICENCE.txt",
    "content": "Copyright 2012 David Leaver\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/files/leaflet.markercluster/MarkerCluster.Default.css",
    "content": ".marker-cluster-small {\n\tbackground-color: rgba(181, 226, 140, 0.6);\n\t}\n.marker-cluster-small div {\n\tbackground-color: rgba(110, 204, 57, 0.6);\n\t}\n\n.marker-cluster-medium {\n\tbackground-color: rgba(241, 211, 87, 0.6);\n\t}\n.marker-cluster-medium div {\n\tbackground-color: rgba(240, 194, 12, 0.6);\n\t}\n\n.marker-cluster-large {\n\tbackground-color: rgba(253, 156, 115, 0.6);\n\t}\n.marker-cluster-large div {\n\tbackground-color: rgba(241, 128, 23, 0.6);\n\t}\n\n\t/* IE 6-8 fallback colors */\n.leaflet-oldie .marker-cluster-small {\n\tbackground-color: rgb(181, 226, 140);\n\t}\n.leaflet-oldie .marker-cluster-small div {\n\tbackground-color: rgb(110, 204, 57);\n\t}\n\n.leaflet-oldie .marker-cluster-medium {\n\tbackground-color: rgb(241, 211, 87);\n\t}\n.leaflet-oldie .marker-cluster-medium div {\n\tbackground-color: rgb(240, 194, 12);\n\t}\n\n.leaflet-oldie .marker-cluster-large {\n\tbackground-color: rgb(253, 156, 115);\n\t}\n.leaflet-oldie .marker-cluster-large div {\n\tbackground-color: rgb(241, 128, 23);\n}\n\n.marker-cluster {\n\tbackground-clip: padding-box;\n\tborder-radius: 20px;\n\t}\n.marker-cluster div {\n\twidth: 30px;\n\theight: 30px;\n\tmargin-left: 5px;\n\tmargin-top: 5px;\n\n\ttext-align: center;\n\tborder-radius: 15px;\n\tfont: 12px \"Helvetica Neue\", Arial, Helvetica, sans-serif;\n\t}\n.marker-cluster span {\n\tline-height: 30px;\n\t}"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/files/leaflet.markercluster/MarkerCluster.css",
    "content": ".leaflet-cluster-anim .leaflet-marker-icon, .leaflet-cluster-anim .leaflet-marker-shadow {\n\t-webkit-transition: -webkit-transform 0.3s ease-out, opacity 0.3s ease-in;\n\t-moz-transition: -moz-transform 0.3s ease-out, opacity 0.3s ease-in;\n\t-o-transition: -o-transform 0.3s ease-out, opacity 0.3s ease-in;\n\ttransition: transform 0.3s ease-out, opacity 0.3s ease-in;\n}\n\n.leaflet-cluster-spider-leg {\n\t/* stroke-dashoffset (duration and function) should match with leaflet-marker-icon transform in order to track it exactly */\n\t-webkit-transition: -webkit-stroke-dashoffset 0.3s ease-out, -webkit-stroke-opacity 0.3s ease-in;\n\t-moz-transition: -moz-stroke-dashoffset 0.3s ease-out, -moz-stroke-opacity 0.3s ease-in;\n\t-o-transition: -o-stroke-dashoffset 0.3s ease-out, -o-stroke-opacity 0.3s ease-in;\n\ttransition: stroke-dashoffset 0.3s ease-out, stroke-opacity 0.3s ease-in;\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/files/leaflet.markercluster/leaflet.markercluster-src.js",
    "content": "/*\n * Leaflet.markercluster 1.5.3+master.e5124b2,\n * Provides Beautiful Animated Marker Clustering functionality for Leaflet, a JS library for interactive maps.\n * https://github.com/Leaflet/Leaflet.markercluster\n * (c) 2012-2017, Dave Leaver, smartrak\n */\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n\ttypeof define === 'function' && define.amd ? define(['exports'], factory) :\n\t(global = global || self, factory((global.Leaflet = global.Leaflet || {}, global.Leaflet.markercluster = {})));\n}(this, function (exports) { 'use strict';\n\n\t/*\n\t * L.MarkerClusterGroup extends L.FeatureGroup by clustering the markers contained within\n\t */\n\n\tvar MarkerClusterGroup = L.MarkerClusterGroup = L.FeatureGroup.extend({\n\n\t\toptions: {\n\t\t\tmaxClusterRadius: 80, //A cluster will cover at most this many pixels from its center\n\t\t\ticonCreateFunction: null,\n\t\t\tclusterPane: L.Marker.prototype.options.pane,\n\n\t\t\tspiderfyOnEveryZoom: false,\n\t\t\tspiderfyOnMaxZoom: true,\n\t\t\tshowCoverageOnHover: true,\n\t\t\tzoomToBoundsOnClick: true,\n\t\t\tsingleMarkerMode: false,\n\n\t\t\tdisableClusteringAtZoom: null,\n\n\t\t\t// Setting this to false prevents the removal of any clusters outside of the viewpoint, which\n\t\t\t// is the default behaviour for performance reasons.\n\t\t\tremoveOutsideVisibleBounds: true,\n\n\t\t\t// Set to false to disable all animations (zoom and spiderfy).\n\t\t\t// If false, option animateAddingMarkers below has no effect.\n\t\t\t// If L.DomUtil.TRANSITION is falsy, this option has no effect.\n\t\t\tanimate: true,\n\n\t\t\t//Whether to animate adding markers after adding the MarkerClusterGroup to the map\n\t\t\t// If you are adding individual markers set to true, if adding bulk markers leave false for massive performance gains.\n\t\t\tanimateAddingMarkers: false,\n\n\t\t\t// Make it possible to provide custom function to calculate spiderfy shape positions\n\t\t\tspiderfyShapePositions: null,\n\n\t\t\t//Increase to increase the distance away that spiderfied markers appear from the center\n\t\t\tspiderfyDistanceMultiplier: 1,\n\n\t\t\t// Make it possible to specify a polyline options on a spider leg\n\t\t\tspiderLegPolylineOptions: { weight: 1.5, color: '#222', opacity: 0.5 },\n\n\t\t\t// When bulk adding layers, adds markers in chunks. Means addLayers may not add all the layers in the call, others will be loaded during setTimeouts\n\t\t\tchunkedLoading: false,\n\t\t\tchunkInterval: 200, // process markers for a maximum of ~ n milliseconds (then trigger the chunkProgress callback)\n\t\t\tchunkDelay: 50, // at the end of each interval, give n milliseconds back to system/browser\n\t\t\tchunkProgress: null, // progress callback: function(processed, total, elapsed) (e.g. for a progress indicator)\n\n\t\t\t//Options to pass to the L.Polygon constructor\n\t\t\tpolygonOptions: {}\n\t\t},\n\n\t\tinitialize: function (options) {\n\t\t\tL.Util.setOptions(this, options);\n\t\t\tif (!this.options.iconCreateFunction) {\n\t\t\t\tthis.options.iconCreateFunction = this._defaultIconCreateFunction;\n\t\t\t}\n\n\t\t\tthis._featureGroup = L.featureGroup();\n\t\t\tthis._featureGroup.addEventParent(this);\n\n\t\t\tthis._nonPointGroup = L.featureGroup();\n\t\t\tthis._nonPointGroup.addEventParent(this);\n\n\t\t\tthis._inZoomAnimation = 0;\n\t\t\tthis._needsClustering = [];\n\t\t\tthis._needsRemoving = []; //Markers removed while we aren't on the map need to be kept track of\n\t\t\t//The bounds of the currently shown area (from _getExpandedVisibleBounds) Updated on zoom/move\n\t\t\tthis._currentShownBounds = null;\n\n\t\t\tthis._queue = [];\n\n\t\t\tthis._childMarkerEventHandlers = {\n\t\t\t\t'dragstart': this._childMarkerDragStart,\n\t\t\t\t'move': this._childMarkerMoved,\n\t\t\t\t'dragend': this._childMarkerDragEnd,\n\t\t\t};\n\n\t\t\t// Hook the appropriate animation methods.\n\t\t\tvar animate = L.DomUtil.TRANSITION && this.options.animate;\n\t\t\tL.extend(this, animate ? this._withAnimation : this._noAnimation);\n\t\t\t// Remember which MarkerCluster class to instantiate (animated or not).\n\t\t\tthis._markerCluster = animate ? L.MarkerCluster : L.MarkerClusterNonAnimated;\n\t\t},\n\n\t\taddLayer: function (layer) {\n\n\t\t\tif (layer instanceof L.LayerGroup) {\n\t\t\t\treturn this.addLayers([layer]);\n\t\t\t}\n\n\t\t\t//Don't cluster non point data\n\t\t\tif (!layer.getLatLng) {\n\t\t\t\tthis._nonPointGroup.addLayer(layer);\n\t\t\t\tthis.fire('layeradd', { layer: layer });\n\t\t\t\treturn this;\n\t\t\t}\n\n\t\t\tif (!this._map) {\n\t\t\t\tthis._needsClustering.push(layer);\n\t\t\t\tthis.fire('layeradd', { layer: layer });\n\t\t\t\treturn this;\n\t\t\t}\n\n\t\t\tif (this.hasLayer(layer)) {\n\t\t\t\treturn this;\n\t\t\t}\n\n\n\t\t\t//If we have already clustered we'll need to add this one to a cluster\n\n\t\t\tif (this._unspiderfy) {\n\t\t\t\tthis._unspiderfy();\n\t\t\t}\n\n\t\t\tthis._addLayer(layer, this._maxZoom);\n\t\t\tthis.fire('layeradd', { layer: layer });\n\n\t\t\t// Refresh bounds and weighted positions.\n\t\t\tthis._topClusterLevel._recalculateBounds();\n\n\t\t\tthis._refreshClustersIcons();\n\n\t\t\t//Work out what is visible\n\t\t\tvar visibleLayer = layer,\n\t\t\t    currentZoom = this._zoom;\n\t\t\tif (layer.__parent) {\n\t\t\t\twhile (visibleLayer.__parent._zoom >= currentZoom) {\n\t\t\t\t\tvisibleLayer = visibleLayer.__parent;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (this._currentShownBounds.contains(visibleLayer.getLatLng())) {\n\t\t\t\tif (this.options.animateAddingMarkers) {\n\t\t\t\t\tthis._animationAddLayer(layer, visibleLayer);\n\t\t\t\t} else {\n\t\t\t\t\tthis._animationAddLayerNonAnimated(layer, visibleLayer);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this;\n\t\t},\n\n\t\tremoveLayer: function (layer) {\n\n\t\t\tif (layer instanceof L.LayerGroup) {\n\t\t\t\treturn this.removeLayers([layer]);\n\t\t\t}\n\n\t\t\t//Non point layers\n\t\t\tif (!layer.getLatLng) {\n\t\t\t\tthis._nonPointGroup.removeLayer(layer);\n\t\t\t\tthis.fire('layerremove', { layer: layer });\n\t\t\t\treturn this;\n\t\t\t}\n\n\t\t\tif (!this._map) {\n\t\t\t\tif (!this._arraySplice(this._needsClustering, layer) && this.hasLayer(layer)) {\n\t\t\t\t\tthis._needsRemoving.push({ layer: layer, latlng: layer._latlng });\n\t\t\t\t}\n\t\t\t\tthis.fire('layerremove', { layer: layer });\n\t\t\t\treturn this;\n\t\t\t}\n\n\t\t\tif (!layer.__parent) {\n\t\t\t\treturn this;\n\t\t\t}\n\n\t\t\tif (this._unspiderfy) {\n\t\t\t\tthis._unspiderfy();\n\t\t\t\tthis._unspiderfyLayer(layer);\n\t\t\t}\n\n\t\t\t//Remove the marker from clusters\n\t\t\tthis._removeLayer(layer, true);\n\t\t\tthis.fire('layerremove', { layer: layer });\n\n\t\t\t// Refresh bounds and weighted positions.\n\t\t\tthis._topClusterLevel._recalculateBounds();\n\n\t\t\tthis._refreshClustersIcons();\n\n\t\t\tlayer.off(this._childMarkerEventHandlers, this);\n\n\t\t\tif (this._featureGroup.hasLayer(layer)) {\n\t\t\t\tthis._featureGroup.removeLayer(layer);\n\t\t\t\tif (layer.clusterShow) {\n\t\t\t\t\tlayer.clusterShow();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn this;\n\t\t},\n\n\t\t//Takes an array of markers and adds them in bulk\n\t\taddLayers: function (layersArray, skipLayerAddEvent) {\n\t\t\tif (!L.Util.isArray(layersArray)) {\n\t\t\t\treturn this.addLayer(layersArray);\n\t\t\t}\n\n\t\t\tvar fg = this._featureGroup,\n\t\t\t    npg = this._nonPointGroup,\n\t\t\t    chunked = this.options.chunkedLoading,\n\t\t\t    chunkInterval = this.options.chunkInterval,\n\t\t\t    chunkProgress = this.options.chunkProgress,\n\t\t\t    l = layersArray.length,\n\t\t\t    offset = 0,\n\t\t\t    originalArray = true,\n\t\t\t    m;\n\n\t\t\tif (this._map) {\n\t\t\t\tvar started = (new Date()).getTime();\n\t\t\t\tvar process = L.bind(function () {\n\t\t\t\t\tvar start = (new Date()).getTime();\n\n\t\t\t\t\t// Make sure to unspiderfy before starting to add some layers\n\t\t\t\t\tif (this._map && this._unspiderfy) {\n\t\t\t\t\t\tthis._unspiderfy();\n\t\t\t\t\t}\n\n\t\t\t\t\tfor (; offset < l; offset++) {\n\t\t\t\t\t\tif (chunked && offset % 200 === 0) {\n\t\t\t\t\t\t\t// every couple hundred markers, instrument the time elapsed since processing started:\n\t\t\t\t\t\t\tvar elapsed = (new Date()).getTime() - start;\n\t\t\t\t\t\t\tif (elapsed > chunkInterval) {\n\t\t\t\t\t\t\t\tbreak; // been working too hard, time to take a break :-)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tm = layersArray[offset];\n\n\t\t\t\t\t\t// Group of layers, append children to layersArray and skip.\n\t\t\t\t\t\t// Side effects:\n\t\t\t\t\t\t// - Total increases, so chunkProgress ratio jumps backward.\n\t\t\t\t\t\t// - Groups are not included in this group, only their non-group child layers (hasLayer).\n\t\t\t\t\t\t// Changing array length while looping does not affect performance in current browsers:\n\t\t\t\t\t\t// http://jsperf.com/for-loop-changing-length/6\n\t\t\t\t\t\tif (m instanceof L.LayerGroup) {\n\t\t\t\t\t\t\tif (originalArray) {\n\t\t\t\t\t\t\t\tlayersArray = layersArray.slice();\n\t\t\t\t\t\t\t\toriginalArray = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tthis._extractNonGroupLayers(m, layersArray);\n\t\t\t\t\t\t\tl = layersArray.length;\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t//Not point data, can't be clustered\n\t\t\t\t\t\tif (!m.getLatLng) {\n\t\t\t\t\t\t\tnpg.addLayer(m);\n\t\t\t\t\t\t\tif (!skipLayerAddEvent) {\n\t\t\t\t\t\t\t\tthis.fire('layeradd', { layer: m });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (this.hasLayer(m)) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tthis._addLayer(m, this._maxZoom);\n\t\t\t\t\t\tif (!skipLayerAddEvent) {\n\t\t\t\t\t\t\tthis.fire('layeradd', { layer: m });\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t//If we just made a cluster of size 2 then we need to remove the other marker from the map (if it is) or we never will\n\t\t\t\t\t\tif (m.__parent) {\n\t\t\t\t\t\t\tif (m.__parent.getChildCount() === 2) {\n\t\t\t\t\t\t\t\tvar markers = m.__parent.getAllChildMarkers(),\n\t\t\t\t\t\t\t\t    otherMarker = markers[0] === m ? markers[1] : markers[0];\n\t\t\t\t\t\t\t\tfg.removeLayer(otherMarker);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (chunkProgress) {\n\t\t\t\t\t\t// report progress and time elapsed:\n\t\t\t\t\t\tchunkProgress(offset, l, (new Date()).getTime() - started);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Completed processing all markers.\n\t\t\t\t\tif (offset === l) {\n\n\t\t\t\t\t\t// Refresh bounds and weighted positions.\n\t\t\t\t\t\tthis._topClusterLevel._recalculateBounds();\n\n\t\t\t\t\t\tthis._refreshClustersIcons();\n\n\t\t\t\t\t\tthis._topClusterLevel._recursivelyAddChildrenToMap(null, this._zoom, this._currentShownBounds);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetTimeout(process, this.options.chunkDelay);\n\t\t\t\t\t}\n\t\t\t\t}, this);\n\n\t\t\t\tprocess();\n\t\t\t} else {\n\t\t\t\tvar needsClustering = this._needsClustering;\n\n\t\t\t\tfor (; offset < l; offset++) {\n\t\t\t\t\tm = layersArray[offset];\n\n\t\t\t\t\t// Group of layers, append children to layersArray and skip.\n\t\t\t\t\tif (m instanceof L.LayerGroup) {\n\t\t\t\t\t\tif (originalArray) {\n\t\t\t\t\t\t\tlayersArray = layersArray.slice();\n\t\t\t\t\t\t\toriginalArray = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis._extractNonGroupLayers(m, layersArray);\n\t\t\t\t\t\tl = layersArray.length;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t//Not point data, can't be clustered\n\t\t\t\t\tif (!m.getLatLng) {\n\t\t\t\t\t\tnpg.addLayer(m);\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (this.hasLayer(m)) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tneedsClustering.push(m);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this;\n\t\t},\n\n\t\t//Takes an array of markers and removes them in bulk\n\t\tremoveLayers: function (layersArray) {\n\t\t\tvar i, m,\n\t\t\t    l = layersArray.length,\n\t\t\t    fg = this._featureGroup,\n\t\t\t    npg = this._nonPointGroup,\n\t\t\t    originalArray = true;\n\n\t\t\tif (!this._map) {\n\t\t\t\tfor (i = 0; i < l; i++) {\n\t\t\t\t\tm = layersArray[i];\n\n\t\t\t\t\t// Group of layers, append children to layersArray and skip.\n\t\t\t\t\tif (m instanceof L.LayerGroup) {\n\t\t\t\t\t\tif (originalArray) {\n\t\t\t\t\t\t\tlayersArray = layersArray.slice();\n\t\t\t\t\t\t\toriginalArray = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis._extractNonGroupLayers(m, layersArray);\n\t\t\t\t\t\tl = layersArray.length;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis._arraySplice(this._needsClustering, m);\n\t\t\t\t\tnpg.removeLayer(m);\n\t\t\t\t\tif (this.hasLayer(m)) {\n\t\t\t\t\t\tthis._needsRemoving.push({ layer: m, latlng: m._latlng });\n\t\t\t\t\t}\n\t\t\t\t\tthis.fire('layerremove', { layer: m });\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t}\n\n\t\t\tif (this._unspiderfy) {\n\t\t\t\tthis._unspiderfy();\n\n\t\t\t\t// Work on a copy of the array, so that next loop is not affected.\n\t\t\t\tvar layersArray2 = layersArray.slice(),\n\t\t\t\t    l2 = l;\n\t\t\t\tfor (i = 0; i < l2; i++) {\n\t\t\t\t\tm = layersArray2[i];\n\n\t\t\t\t\t// Group of layers, append children to layersArray and skip.\n\t\t\t\t\tif (m instanceof L.LayerGroup) {\n\t\t\t\t\t\tthis._extractNonGroupLayers(m, layersArray2);\n\t\t\t\t\t\tl2 = layersArray2.length;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis._unspiderfyLayer(m);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (i = 0; i < l; i++) {\n\t\t\t\tm = layersArray[i];\n\n\t\t\t\t// Group of layers, append children to layersArray and skip.\n\t\t\t\tif (m instanceof L.LayerGroup) {\n\t\t\t\t\tif (originalArray) {\n\t\t\t\t\t\tlayersArray = layersArray.slice();\n\t\t\t\t\t\toriginalArray = false;\n\t\t\t\t\t}\n\t\t\t\t\tthis._extractNonGroupLayers(m, layersArray);\n\t\t\t\t\tl = layersArray.length;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (!m.__parent) {\n\t\t\t\t\tnpg.removeLayer(m);\n\t\t\t\t\tthis.fire('layerremove', { layer: m });\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tthis._removeLayer(m, true, true);\n\t\t\t\tthis.fire('layerremove', { layer: m });\n\n\t\t\t\tif (fg.hasLayer(m)) {\n\t\t\t\t\tfg.removeLayer(m);\n\t\t\t\t\tif (m.clusterShow) {\n\t\t\t\t\t\tm.clusterShow();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Refresh bounds and weighted positions.\n\t\t\tthis._topClusterLevel._recalculateBounds();\n\n\t\t\tthis._refreshClustersIcons();\n\n\t\t\t//Fix up the clusters and markers on the map\n\t\t\tthis._topClusterLevel._recursivelyAddChildrenToMap(null, this._zoom, this._currentShownBounds);\n\n\t\t\treturn this;\n\t\t},\n\n\t\t//Removes all layers from the MarkerClusterGroup\n\t\tclearLayers: function () {\n\t\t\t//Need our own special implementation as the LayerGroup one doesn't work for us\n\n\t\t\t//If we aren't on the map (yet), blow away the markers we know of\n\t\t\tif (!this._map) {\n\t\t\t\tthis._needsClustering = [];\n\t\t\t\tthis._needsRemoving = [];\n\t\t\t\tdelete this._gridClusters;\n\t\t\t\tdelete this._gridUnclustered;\n\t\t\t}\n\n\t\t\tif (this._noanimationUnspiderfy) {\n\t\t\t\tthis._noanimationUnspiderfy();\n\t\t\t}\n\n\t\t\t//Remove all the visible layers\n\t\t\tthis._featureGroup.clearLayers();\n\t\t\tthis._nonPointGroup.clearLayers();\n\n\t\t\tthis.eachLayer(function (marker) {\n\t\t\t\tmarker.off(this._childMarkerEventHandlers, this);\n\t\t\t\tdelete marker.__parent;\n\t\t\t}, this);\n\n\t\t\tif (this._map) {\n\t\t\t\t//Reset _topClusterLevel and the DistanceGrids\n\t\t\t\tthis._generateInitialClusters();\n\t\t\t}\n\n\t\t\treturn this;\n\t\t},\n\n\t\t//Override FeatureGroup.getBounds as it doesn't work\n\t\tgetBounds: function () {\n\t\t\tvar bounds = new L.LatLngBounds();\n\n\t\t\tif (this._topClusterLevel) {\n\t\t\t\tbounds.extend(this._topClusterLevel._bounds);\n\t\t\t}\n\n\t\t\tfor (var i = this._needsClustering.length - 1; i >= 0; i--) {\n\t\t\t\tbounds.extend(this._needsClustering[i].getLatLng());\n\t\t\t}\n\n\t\t\tbounds.extend(this._nonPointGroup.getBounds());\n\n\t\t\treturn bounds;\n\t\t},\n\n\t\t//Overrides LayerGroup.eachLayer\n\t\teachLayer: function (method, context) {\n\t\t\tvar markers = this._needsClustering.slice(),\n\t\t\t\tneedsRemoving = this._needsRemoving,\n\t\t\t\tthisNeedsRemoving, i, j;\n\n\t\t\tif (this._topClusterLevel) {\n\t\t\t\tthis._topClusterLevel.getAllChildMarkers(markers);\n\t\t\t}\n\n\t\t\tfor (i = markers.length - 1; i >= 0; i--) {\n\t\t\t\tthisNeedsRemoving = true;\n\n\t\t\t\tfor (j = needsRemoving.length - 1; j >= 0; j--) {\n\t\t\t\t\tif (needsRemoving[j].layer === markers[i]) {\n\t\t\t\t\t\tthisNeedsRemoving = false;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (thisNeedsRemoving) {\n\t\t\t\t\tmethod.call(context, markers[i]);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis._nonPointGroup.eachLayer(method, context);\n\t\t},\n\n\t\t//Overrides LayerGroup.getLayers\n\t\tgetLayers: function () {\n\t\t\tvar layers = [];\n\t\t\tthis.eachLayer(function (l) {\n\t\t\t\tlayers.push(l);\n\t\t\t});\n\t\t\treturn layers;\n\t\t},\n\n\t\t//Overrides LayerGroup.getLayer, WARNING: Really bad performance\n\t\tgetLayer: function (id) {\n\t\t\tvar result = null;\n\n\t\t\tid = parseInt(id, 10);\n\n\t\t\tthis.eachLayer(function (l) {\n\t\t\t\tif (L.stamp(l) === id) {\n\t\t\t\t\tresult = l;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn result;\n\t\t},\n\n\t\t//Returns true if the given layer is in this MarkerClusterGroup\n\t\thasLayer: function (layer) {\n\t\t\tif (!layer) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tvar i, anArray = this._needsClustering;\n\n\t\t\tfor (i = anArray.length - 1; i >= 0; i--) {\n\t\t\t\tif (anArray[i] === layer) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tanArray = this._needsRemoving;\n\t\t\tfor (i = anArray.length - 1; i >= 0; i--) {\n\t\t\t\tif (anArray[i].layer === layer) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn !!(layer.__parent && layer.__parent._group === this) || this._nonPointGroup.hasLayer(layer);\n\t\t},\n\n\t\t//Zoom down to show the given layer (spiderfying if necessary) then calls the callback\n\t\tzoomToShowLayer: function (layer, callback) {\n\n\t\t\tvar map = this._map;\n\n\t\t\tif (typeof callback !== 'function') {\n\t\t\t\tcallback = function () {};\n\t\t\t}\n\n\t\t\tvar showMarker = function () {\n\t\t\t\t// Assumes that map.hasLayer checks for direct appearance on map, not recursively calling\n\t\t\t\t// hasLayer on Layer Groups that are on map (typically not calling this MarkerClusterGroup.hasLayer, which would always return true)\n\t\t\t\tif ((map.hasLayer(layer) || map.hasLayer(layer.__parent)) && !this._inZoomAnimation) {\n\t\t\t\t\tthis._map.off('moveend', showMarker, this);\n\t\t\t\t\tthis.off('animationend', showMarker, this);\n\n\t\t\t\t\tif (map.hasLayer(layer)) {\n\t\t\t\t\t\tcallback();\n\t\t\t\t\t} else if (layer.__parent._icon) {\n\t\t\t\t\t\tthis.once('spiderfied', callback, this);\n\t\t\t\t\t\tlayer.__parent.spiderfy();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (layer._icon && this._map.getBounds().contains(layer.getLatLng())) {\n\t\t\t\t//Layer is visible ond on screen, immediate return\n\t\t\t\tcallback();\n\t\t\t} else if (layer.__parent._zoom < Math.round(this._map._zoom)) {\n\t\t\t\t//Layer should be visible at this zoom level. It must not be on screen so just pan over to it\n\t\t\t\tthis._map.on('moveend', showMarker, this);\n\t\t\t\tthis._map.panTo(layer.getLatLng());\n\t\t\t} else {\n\t\t\t\tthis._map.on('moveend', showMarker, this);\n\t\t\t\tthis.on('animationend', showMarker, this);\n\t\t\t\tlayer.__parent.zoomToBounds();\n\t\t\t}\n\t\t},\n\n\t\t//Overrides FeatureGroup.onAdd\n\t\tonAdd: function (map) {\n\t\t\tthis._map = map;\n\t\t\tvar i, l, layer;\n\n\t\t\tif (!isFinite(this._map.getMaxZoom())) {\n\t\t\t\tthrow \"Map has no maxZoom specified\";\n\t\t\t}\n\n\t\t\tthis._featureGroup.addTo(map);\n\t\t\tthis._nonPointGroup.addTo(map);\n\n\t\t\tif (!this._gridClusters) {\n\t\t\t\tthis._generateInitialClusters();\n\t\t\t}\n\n\t\t\tthis._maxLat = map.options.crs.projection.MAX_LATITUDE;\n\n\t\t\t//Restore all the positions as they are in the MCG before removing them\n\t\t\tfor (i = 0, l = this._needsRemoving.length; i < l; i++) {\n\t\t\t\tlayer = this._needsRemoving[i];\n\t\t\t\tlayer.newlatlng = layer.layer._latlng;\n\t\t\t\tlayer.layer._latlng = layer.latlng;\n\t\t\t}\n\t\t\t//Remove them, then restore their new positions\n\t\t\tfor (i = 0, l = this._needsRemoving.length; i < l; i++) {\n\t\t\t\tlayer = this._needsRemoving[i];\n\t\t\t\tthis._removeLayer(layer.layer, true);\n\t\t\t\tlayer.layer._latlng = layer.newlatlng;\n\t\t\t}\n\t\t\tthis._needsRemoving = [];\n\n\t\t\t//Remember the current zoom level and bounds\n\t\t\tthis._zoom = Math.round(this._map._zoom);\n\t\t\tthis._currentShownBounds = this._getExpandedVisibleBounds();\n\n\t\t\tthis._map.on('zoomend', this._zoomEnd, this);\n\t\t\tthis._map.on('moveend', this._moveEnd, this);\n\n\t\t\tif (this._spiderfierOnAdd) { //TODO FIXME: Not sure how to have spiderfier add something on here nicely\n\t\t\t\tthis._spiderfierOnAdd();\n\t\t\t}\n\n\t\t\tthis._bindEvents();\n\n\t\t\t//Actually add our markers to the map:\n\t\t\tl = this._needsClustering;\n\t\t\tthis._needsClustering = [];\n\t\t\tthis.addLayers(l, true);\n\t\t},\n\n\t\t//Overrides FeatureGroup.onRemove\n\t\tonRemove: function (map) {\n\t\t\tmap.off('zoomend', this._zoomEnd, this);\n\t\t\tmap.off('moveend', this._moveEnd, this);\n\n\t\t\tthis._unbindEvents();\n\n\t\t\t//In case we are in a cluster animation\n\t\t\tthis._map._mapPane.className = this._map._mapPane.className.replace(' leaflet-cluster-anim', '');\n\n\t\t\tif (this._spiderfierOnRemove) { //TODO FIXME: Not sure how to have spiderfier add something on here nicely\n\t\t\t\tthis._spiderfierOnRemove();\n\t\t\t}\n\n\t\t\tdelete this._maxLat;\n\n\t\t\t//Clean up all the layers we added to the map\n\t\t\tthis._hideCoverage();\n\t\t\tthis._featureGroup.remove();\n\t\t\tthis._nonPointGroup.remove();\n\n\t\t\tthis._featureGroup.clearLayers();\n\n\t\t\tthis._map = null;\n\t\t},\n\n\t\tgetVisibleParent: function (marker) {\n\t\t\tvar vMarker = marker;\n\t\t\twhile (vMarker && !vMarker._icon) {\n\t\t\t\tvMarker = vMarker.__parent;\n\t\t\t}\n\t\t\treturn vMarker || null;\n\t\t},\n\n\t\t//Remove the given object from the given array\n\t\t_arraySplice: function (anArray, obj) {\n\t\t\tfor (var i = anArray.length - 1; i >= 0; i--) {\n\t\t\t\tif (anArray[i] === obj) {\n\t\t\t\t\tanArray.splice(i, 1);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Removes a marker from all _gridUnclustered zoom levels, starting at the supplied zoom.\n\t\t * @param marker to be removed from _gridUnclustered.\n\t\t * @param z integer bottom start zoom level (included)\n\t\t * @private\n\t\t */\n\t\t_removeFromGridUnclustered: function (marker, z) {\n\t\t\tvar map = this._map,\n\t\t\t    gridUnclustered = this._gridUnclustered,\n\t\t\t\tminZoom = Math.floor(this._map.getMinZoom());\n\n\t\t\tfor (; z >= minZoom; z--) {\n\t\t\t\tif (!gridUnclustered[z].removeObject(marker, map.project(marker.getLatLng(), z))) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t_childMarkerDragStart: function (e) {\n\t\t\te.target.__dragStart = e.target._latlng;\n\t\t},\n\n\t\t_childMarkerMoved: function (e) {\n\t\t\tif (!this._ignoreMove && !e.target.__dragStart) {\n\t\t\t\tvar isPopupOpen = e.target._popup && e.target._popup.isOpen();\n\n\t\t\t\tthis._moveChild(e.target, e.oldLatLng, e.latlng);\n\n\t\t\t\tif (isPopupOpen) {\n\t\t\t\t\te.target.openPopup();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t_moveChild: function (layer, from, to) {\n\t\t\tlayer._latlng = from;\n\t\t\tthis.removeLayer(layer);\n\n\t\t\tlayer._latlng = to;\n\t\t\tthis.addLayer(layer);\n\t\t},\n\n\t\t_childMarkerDragEnd: function (e) {\n\t\t\tvar dragStart = e.target.__dragStart;\n\t\t\tdelete e.target.__dragStart;\n\t\t\tif (dragStart) {\n\t\t\t\tthis._moveChild(e.target, dragStart, e.target._latlng);\n\t\t\t}\t\t\n\t\t},\n\n\n\t\t//Internal function for removing a marker from everything.\n\t\t//dontUpdateMap: set to true if you will handle updating the map manually (for bulk functions)\n\t\t_removeLayer: function (marker, removeFromDistanceGrid, dontUpdateMap) {\n\t\t\tvar gridClusters = this._gridClusters,\n\t\t\t\tgridUnclustered = this._gridUnclustered,\n\t\t\t\tfg = this._featureGroup,\n\t\t\t\tmap = this._map,\n\t\t\t\tminZoom = Math.floor(this._map.getMinZoom());\n\n\t\t\t//Remove the marker from distance clusters it might be in\n\t\t\tif (removeFromDistanceGrid) {\n\t\t\t\tthis._removeFromGridUnclustered(marker, this._maxZoom);\n\t\t\t}\n\n\t\t\t//Work our way up the clusters removing them as we go if required\n\t\t\tvar cluster = marker.__parent,\n\t\t\t\tmarkers = cluster._markers,\n\t\t\t\totherMarker;\n\n\t\t\t//Remove the marker from the immediate parents marker list\n\t\t\tthis._arraySplice(markers, marker);\n\n\t\t\twhile (cluster) {\n\t\t\t\tcluster._childCount--;\n\t\t\t\tcluster._boundsNeedUpdate = true;\n\n\t\t\t\tif (cluster._zoom < minZoom) {\n\t\t\t\t\t//Top level, do nothing\n\t\t\t\t\tbreak;\n\t\t\t\t} else if (removeFromDistanceGrid && cluster._childCount <= 1) { //Cluster no longer required\n\t\t\t\t\t//We need to push the other marker up to the parent\n\t\t\t\t\totherMarker = cluster._markers[0] === marker ? cluster._markers[1] : cluster._markers[0];\n\n\t\t\t\t\t//Update distance grid\n\t\t\t\t\tgridClusters[cluster._zoom].removeObject(cluster, map.project(cluster._cLatLng, cluster._zoom));\n\t\t\t\t\tgridUnclustered[cluster._zoom].addObject(otherMarker, map.project(otherMarker.getLatLng(), cluster._zoom));\n\n\t\t\t\t\t//Move otherMarker up to parent\n\t\t\t\t\tthis._arraySplice(cluster.__parent._childClusters, cluster);\n\t\t\t\t\tcluster.__parent._markers.push(otherMarker);\n\t\t\t\t\totherMarker.__parent = cluster.__parent;\n\n\t\t\t\t\tif (cluster._icon) {\n\t\t\t\t\t\t//Cluster is currently on the map, need to put the marker on the map instead\n\t\t\t\t\t\tfg.removeLayer(cluster);\n\t\t\t\t\t\tif (!dontUpdateMap) {\n\t\t\t\t\t\t\tfg.addLayer(otherMarker);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tcluster._iconNeedsUpdate = true;\n\t\t\t\t}\n\n\t\t\t\tcluster = cluster.__parent;\n\t\t\t}\n\n\t\t\tdelete marker.__parent;\n\t\t},\n\n\t\t_isOrIsParent: function (el, oel) {\n\t\t\twhile (oel) {\n\t\t\t\tif (el === oel) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\toel = oel.parentNode;\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\n\t\t//Override L.Evented.fire\n\t\tfire: function (type, data, propagate) {\n\t\t\tif (data && data.layer instanceof L.MarkerCluster) {\n\t\t\t\t//Prevent multiple clustermouseover/off events if the icon is made up of stacked divs (Doesn't work in ie <= 8, no relatedTarget)\n\t\t\t\tif (data.originalEvent && this._isOrIsParent(data.layer._icon, data.originalEvent.relatedTarget)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\ttype = 'cluster' + type;\n\t\t\t}\n\n\t\t\tL.FeatureGroup.prototype.fire.call(this, type, data, propagate);\n\t\t},\n\n\t\t//Override L.Evented.listens\n\t\tlistens: function (type, propagate) {\n\t\t\treturn L.FeatureGroup.prototype.listens.call(this, type, propagate) || L.FeatureGroup.prototype.listens.call(this, 'cluster' + type, propagate);\n\t\t},\n\n\t\t//Default functionality\n\t\t_defaultIconCreateFunction: function (cluster) {\n\t\t\tvar childCount = cluster.getChildCount();\n\n\t\t\tvar c = ' marker-cluster-';\n\t\t\tif (childCount < 10) {\n\t\t\t\tc += 'small';\n\t\t\t} else if (childCount < 100) {\n\t\t\t\tc += 'medium';\n\t\t\t} else {\n\t\t\t\tc += 'large';\n\t\t\t}\n\n\t\t\treturn new L.DivIcon({ html: '<div><span>' + childCount + '</span></div>', className: 'marker-cluster' + c, iconSize: new L.Point(40, 40) });\n\t\t},\n\n\t\t_bindEvents: function () {\n\t\t\tvar map = this._map,\n\t\t\t    spiderfyOnMaxZoom = this.options.spiderfyOnMaxZoom,\n\t\t\t    showCoverageOnHover = this.options.showCoverageOnHover,\n\t\t\t    zoomToBoundsOnClick = this.options.zoomToBoundsOnClick,\n\t\t\t    spiderfyOnEveryZoom = this.options.spiderfyOnEveryZoom;\n\n\t\t\t//Zoom on cluster click or spiderfy if we are at the lowest level\n\t\t\tif (spiderfyOnMaxZoom || zoomToBoundsOnClick || spiderfyOnEveryZoom) {\n\t\t\t\tthis.on('clusterclick clusterkeypress', this._zoomOrSpiderfy, this);\n\t\t\t}\n\n\t\t\t//Show convex hull (boundary) polygon on mouse over\n\t\t\tif (showCoverageOnHover) {\n\t\t\t\tthis.on('clustermouseover', this._showCoverage, this);\n\t\t\t\tthis.on('clustermouseout', this._hideCoverage, this);\n\t\t\t\tmap.on('zoomend', this._hideCoverage, this);\n\t\t\t}\n\t\t},\n\n\t\t_zoomOrSpiderfy: function (e) {\n\t\t\tvar cluster = e.layer,\n\t\t\t    bottomCluster = cluster;\n\n\t\t\tif (e.type === 'clusterkeypress' && e.originalEvent && e.originalEvent.keyCode !== 13) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\twhile (bottomCluster._childClusters.length === 1) {\n\t\t\t\tbottomCluster = bottomCluster._childClusters[0];\n\t\t\t}\n\n\t\t\tif (bottomCluster._zoom === this._maxZoom &&\n\t\t\t\tbottomCluster._childCount === cluster._childCount &&\n\t\t\t\tthis.options.spiderfyOnMaxZoom) {\n\n\t\t\t\t// All child markers are contained in a single cluster from this._maxZoom to this cluster.\n\t\t\t\tcluster.spiderfy();\n\t\t\t} else if (this.options.zoomToBoundsOnClick) {\n\t\t\t\tcluster.zoomToBounds();\n\t\t\t}\n\n\t\t\tif (this.options.spiderfyOnEveryZoom) {\n\t\t\t\tcluster.spiderfy();\n\t\t\t}\n\n\t\t\t// Focus the map again for keyboard users.\n\t\t\tif (e.originalEvent && e.originalEvent.keyCode === 13) {\n\t\t\t\tthis._map._container.focus();\n\t\t\t}\n\t\t},\n\n\t\t_showCoverage: function (e) {\n\t\t\tvar map = this._map;\n\t\t\tif (this._inZoomAnimation) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (this._shownPolygon) {\n\t\t\t\tmap.removeLayer(this._shownPolygon);\n\t\t\t}\n\t\t\tif (e.layer.getChildCount() > 2 && e.layer !== this._spiderfied) {\n\t\t\t\tthis._shownPolygon = new L.Polygon(e.layer.getConvexHull(), this.options.polygonOptions);\n\t\t\t\tmap.addLayer(this._shownPolygon);\n\t\t\t}\n\t\t},\n\n\t\t_hideCoverage: function () {\n\t\t\tif (this._shownPolygon) {\n\t\t\t\tthis._map.removeLayer(this._shownPolygon);\n\t\t\t\tthis._shownPolygon = null;\n\t\t\t}\n\t\t},\n\n\t\t_unbindEvents: function () {\n\t\t\tvar spiderfyOnMaxZoom = this.options.spiderfyOnMaxZoom,\n\t\t\t\tshowCoverageOnHover = this.options.showCoverageOnHover,\n\t\t\t\tzoomToBoundsOnClick = this.options.zoomToBoundsOnClick,\n\t\t\t\tspiderfyOnEveryZoom = this.options.spiderfyOnEveryZoom,\n\t\t\t\tmap = this._map;\n\n\t\t\tif (spiderfyOnMaxZoom || zoomToBoundsOnClick || spiderfyOnEveryZoom) {\n\t\t\t\tthis.off('clusterclick clusterkeypress', this._zoomOrSpiderfy, this);\n\t\t\t}\n\t\t\tif (showCoverageOnHover) {\n\t\t\t\tthis.off('clustermouseover', this._showCoverage, this);\n\t\t\t\tthis.off('clustermouseout', this._hideCoverage, this);\n\t\t\t\tmap.off('zoomend', this._hideCoverage, this);\n\t\t\t}\n\t\t},\n\n\t\t_zoomEnd: function () {\n\t\t\tif (!this._map) { //May have been removed from the map by a zoomEnd handler\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis._mergeSplitClusters();\n\n\t\t\tthis._zoom = Math.round(this._map._zoom);\n\t\t\tthis._currentShownBounds = this._getExpandedVisibleBounds();\n\t\t},\n\n\t\t_moveEnd: function () {\n\t\t\tif (this._inZoomAnimation) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar newBounds = this._getExpandedVisibleBounds();\n\n\t\t\tthis._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds, Math.floor(this._map.getMinZoom()), this._zoom, newBounds);\n\t\t\tthis._topClusterLevel._recursivelyAddChildrenToMap(null, Math.round(this._map._zoom), newBounds);\n\n\t\t\tthis._currentShownBounds = newBounds;\n\t\t\treturn;\n\t\t},\n\n\t\t_generateInitialClusters: function () {\n\t\t\tvar maxZoom = Math.ceil(this._map.getMaxZoom()),\n\t\t\t\tminZoom = Math.floor(this._map.getMinZoom()),\n\t\t\t\tradius = this.options.maxClusterRadius,\n\t\t\t\tradiusFn = radius;\n\n\t\t\t//If we just set maxClusterRadius to a single number, we need to create\n\t\t\t//a simple function to return that number. Otherwise, we just have to\n\t\t\t//use the function we've passed in.\n\t\t\tif (typeof radius !== \"function\") {\n\t\t\t\tradiusFn = function () { return radius; };\n\t\t\t}\n\n\t\t\tif (this.options.disableClusteringAtZoom !== null) {\n\t\t\t\tmaxZoom = this.options.disableClusteringAtZoom - 1;\n\t\t\t}\n\t\t\tthis._maxZoom = maxZoom;\n\t\t\tthis._gridClusters = {};\n\t\t\tthis._gridUnclustered = {};\n\n\t\t\t//Set up DistanceGrids for each zoom\n\t\t\tfor (var zoom = maxZoom; zoom >= minZoom; zoom--) {\n\t\t\t\tthis._gridClusters[zoom] = new L.DistanceGrid(radiusFn(zoom));\n\t\t\t\tthis._gridUnclustered[zoom] = new L.DistanceGrid(radiusFn(zoom));\n\t\t\t}\n\n\t\t\t// Instantiate the appropriate L.MarkerCluster class (animated or not).\n\t\t\tthis._topClusterLevel = new this._markerCluster(this, minZoom - 1);\n\t\t},\n\n\t\t//Zoom: Zoom to start adding at (Pass this._maxZoom to start at the bottom)\n\t\t_addLayer: function (layer, zoom) {\n\t\t\tvar gridClusters = this._gridClusters,\n\t\t\t    gridUnclustered = this._gridUnclustered,\n\t\t\t\tminZoom = Math.floor(this._map.getMinZoom()),\n\t\t\t    markerPoint, z;\n\n\t\t\tif (this.options.singleMarkerMode) {\n\t\t\t\tthis._overrideMarkerIcon(layer);\n\t\t\t}\n\n\t\t\tlayer.on(this._childMarkerEventHandlers, this);\n\n\t\t\t//Find the lowest zoom level to slot this one in\n\t\t\tfor (; zoom >= minZoom; zoom--) {\n\t\t\t\tmarkerPoint = this._map.project(layer.getLatLng(), zoom); // calculate pixel position\n\n\t\t\t\t//Try find a cluster close by\n\t\t\t\tvar closest = gridClusters[zoom].getNearObject(markerPoint);\n\t\t\t\tif (closest) {\n\t\t\t\t\tclosest._addChild(layer);\n\t\t\t\t\tlayer.__parent = closest;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t//Try find a marker close by to form a new cluster with\n\t\t\t\tclosest = gridUnclustered[zoom].getNearObject(markerPoint);\n\t\t\t\tif (closest) {\n\t\t\t\t\tvar parent = closest.__parent;\n\t\t\t\t\tif (parent) {\n\t\t\t\t\t\tthis._removeLayer(closest, false);\n\t\t\t\t\t}\n\n\t\t\t\t\t//Create new cluster with these 2 in it\n\n\t\t\t\t\tvar newCluster = new this._markerCluster(this, zoom, closest, layer);\n\t\t\t\t\tgridClusters[zoom].addObject(newCluster, this._map.project(newCluster._cLatLng, zoom));\n\t\t\t\t\tclosest.__parent = newCluster;\n\t\t\t\t\tlayer.__parent = newCluster;\n\n\t\t\t\t\t//First create any new intermediate parent clusters that don't exist\n\t\t\t\t\tvar lastParent = newCluster;\n\t\t\t\t\tfor (z = zoom - 1; z > parent._zoom; z--) {\n\t\t\t\t\t\tlastParent = new this._markerCluster(this, z, lastParent);\n\t\t\t\t\t\tgridClusters[z].addObject(lastParent, this._map.project(closest.getLatLng(), z));\n\t\t\t\t\t}\n\t\t\t\t\tparent._addChild(lastParent);\n\n\t\t\t\t\t//Remove closest from this zoom level and any above that it is in, replace with newCluster\n\t\t\t\t\tthis._removeFromGridUnclustered(closest, zoom);\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t//Didn't manage to cluster in at this zoom, record us as a marker here and continue upwards\n\t\t\t\tgridUnclustered[zoom].addObject(layer, markerPoint);\n\t\t\t}\n\n\t\t\t//Didn't get in anything, add us to the top\n\t\t\tthis._topClusterLevel._addChild(layer);\n\t\t\tlayer.__parent = this._topClusterLevel;\n\t\t\treturn;\n\t\t},\n\n\t\t/**\n\t\t * Refreshes the icon of all \"dirty\" visible clusters.\n\t\t * Non-visible \"dirty\" clusters will be updated when they are added to the map.\n\t\t * @private\n\t\t */\n\t\t_refreshClustersIcons: function () {\n\t\t\tthis._featureGroup.eachLayer(function (c) {\n\t\t\t\tif (c instanceof L.MarkerCluster && c._iconNeedsUpdate) {\n\t\t\t\t\tc._updateIcon();\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\n\t\t//Enqueue code to fire after the marker expand/contract has happened\n\t\t_enqueue: function (fn) {\n\t\t\tthis._queue.push(fn);\n\t\t\tif (!this._queueTimeout) {\n\t\t\t\tthis._queueTimeout = setTimeout(L.bind(this._processQueue, this), 300);\n\t\t\t}\n\t\t},\n\t\t_processQueue: function () {\n\t\t\tfor (var i = 0; i < this._queue.length; i++) {\n\t\t\t\tthis._queue[i].call(this);\n\t\t\t}\n\t\t\tthis._queue.length = 0;\n\t\t\tclearTimeout(this._queueTimeout);\n\t\t\tthis._queueTimeout = null;\n\t\t},\n\n\t\t//Merge and split any existing clusters that are too big or small\n\t\t_mergeSplitClusters: function () {\n\t\t\tvar mapZoom = Math.round(this._map._zoom);\n\n\t\t\t//In case we are starting to split before the animation finished\n\t\t\tthis._processQueue();\n\n\t\t\tif (this._zoom < mapZoom && this._currentShownBounds.intersects(this._getExpandedVisibleBounds())) { //Zoom in, split\n\t\t\t\tthis._animationStart();\n\t\t\t\t//Remove clusters now off screen\n\t\t\t\tthis._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds, Math.floor(this._map.getMinZoom()), this._zoom, this._getExpandedVisibleBounds());\n\n\t\t\t\tthis._animationZoomIn(this._zoom, mapZoom);\n\n\t\t\t} else if (this._zoom > mapZoom) { //Zoom out, merge\n\t\t\t\tthis._animationStart();\n\n\t\t\t\tthis._animationZoomOut(this._zoom, mapZoom);\n\t\t\t} else {\n\t\t\t\tthis._moveEnd();\n\t\t\t}\n\t\t},\n\n\t\t//Gets the maps visible bounds expanded in each direction by the size of the screen (so the user cannot see an area we do not cover in one pan)\n\t\t_getExpandedVisibleBounds: function () {\n\t\t\tif (!this.options.removeOutsideVisibleBounds) {\n\t\t\t\treturn this._mapBoundsInfinite;\n\t\t\t} else if (L.Browser.mobile) {\n\t\t\t\treturn this._checkBoundsMaxLat(this._map.getBounds());\n\t\t\t}\n\n\t\t\treturn this._checkBoundsMaxLat(this._map.getBounds().pad(1)); // Padding expands the bounds by its own dimensions but scaled with the given factor.\n\t\t},\n\n\t\t/**\n\t\t * Expands the latitude to Infinity (or -Infinity) if the input bounds reach the map projection maximum defined latitude\n\t\t * (in the case of Web/Spherical Mercator, it is 85.0511287798 / see https://en.wikipedia.org/wiki/Web_Mercator#Formulas).\n\t\t * Otherwise, the removeOutsideVisibleBounds option will remove markers beyond that limit, whereas the same markers without\n\t\t * this option (or outside MCG) will have their position floored (ceiled) by the projection and rendered at that limit,\n\t\t * making the user think that MCG \"eats\" them and never displays them again.\n\t\t * @param bounds L.LatLngBounds\n\t\t * @returns {L.LatLngBounds}\n\t\t * @private\n\t\t */\n\t\t_checkBoundsMaxLat: function (bounds) {\n\t\t\tvar maxLat = this._maxLat;\n\n\t\t\tif (maxLat !== undefined) {\n\t\t\t\tif (bounds.getNorth() >= maxLat) {\n\t\t\t\t\tbounds._northEast.lat = Infinity;\n\t\t\t\t}\n\t\t\t\tif (bounds.getSouth() <= -maxLat) {\n\t\t\t\t\tbounds._southWest.lat = -Infinity;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn bounds;\n\t\t},\n\n\t\t//Shared animation code\n\t\t_animationAddLayerNonAnimated: function (layer, newCluster) {\n\t\t\tif (newCluster === layer) {\n\t\t\t\tthis._featureGroup.addLayer(layer);\n\t\t\t} else if (newCluster._childCount === 2) {\n\t\t\t\tnewCluster._addToMap();\n\n\t\t\t\tvar markers = newCluster.getAllChildMarkers();\n\t\t\t\tthis._featureGroup.removeLayer(markers[0]);\n\t\t\t\tthis._featureGroup.removeLayer(markers[1]);\n\t\t\t} else {\n\t\t\t\tnewCluster._updateIcon();\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Extracts individual (i.e. non-group) layers from a Layer Group.\n\t\t * @param group to extract layers from.\n\t\t * @param output {Array} in which to store the extracted layers.\n\t\t * @returns {*|Array}\n\t\t * @private\n\t\t */\n\t\t_extractNonGroupLayers: function (group, output) {\n\t\t\tvar layers = group.getLayers(),\n\t\t\t    i = 0,\n\t\t\t    layer;\n\n\t\t\toutput = output || [];\n\n\t\t\tfor (; i < layers.length; i++) {\n\t\t\t\tlayer = layers[i];\n\n\t\t\t\tif (layer instanceof L.LayerGroup) {\n\t\t\t\t\tthis._extractNonGroupLayers(layer, output);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\toutput.push(layer);\n\t\t\t}\n\n\t\t\treturn output;\n\t\t},\n\n\t\t/**\n\t\t * Implements the singleMarkerMode option.\n\t\t * @param layer Marker to re-style using the Clusters iconCreateFunction.\n\t\t * @returns {L.Icon} The newly created icon.\n\t\t * @private\n\t\t */\n\t\t_overrideMarkerIcon: function (layer) {\n\t\t\tvar icon = layer.options.icon = this.options.iconCreateFunction({\n\t\t\t\tgetChildCount: function () {\n\t\t\t\t\treturn 1;\n\t\t\t\t},\n\t\t\t\tgetAllChildMarkers: function () {\n\t\t\t\t\treturn [layer];\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn icon;\n\t\t}\n\t});\n\n\t// Constant bounds used in case option \"removeOutsideVisibleBounds\" is set to false.\n\tL.MarkerClusterGroup.include({\n\t\t_mapBoundsInfinite: new L.LatLngBounds(new L.LatLng(-Infinity, -Infinity), new L.LatLng(Infinity, Infinity))\n\t});\n\n\tL.MarkerClusterGroup.include({\n\t\t_noAnimation: {\n\t\t\t//Non Animated versions of everything\n\t\t\t_animationStart: function () {\n\t\t\t\t//Do nothing...\n\t\t\t},\n\t\t\t_animationZoomIn: function (previousZoomLevel, newZoomLevel) {\n\t\t\t\tthis._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds, Math.floor(this._map.getMinZoom()), previousZoomLevel);\n\t\t\t\tthis._topClusterLevel._recursivelyAddChildrenToMap(null, newZoomLevel, this._getExpandedVisibleBounds());\n\n\t\t\t\t//We didn't actually animate, but we use this event to mean \"clustering animations have finished\"\n\t\t\t\tthis.fire('animationend');\n\t\t\t},\n\t\t\t_animationZoomOut: function (previousZoomLevel, newZoomLevel) {\n\t\t\t\tthis._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds, Math.floor(this._map.getMinZoom()), previousZoomLevel);\n\t\t\t\tthis._topClusterLevel._recursivelyAddChildrenToMap(null, newZoomLevel, this._getExpandedVisibleBounds());\n\n\t\t\t\t//We didn't actually animate, but we use this event to mean \"clustering animations have finished\"\n\t\t\t\tthis.fire('animationend');\n\t\t\t},\n\t\t\t_animationAddLayer: function (layer, newCluster) {\n\t\t\t\tthis._animationAddLayerNonAnimated(layer, newCluster);\n\t\t\t}\n\t\t},\n\n\t\t_withAnimation: {\n\t\t\t//Animated versions here\n\t\t\t_animationStart: function () {\n\t\t\t\tthis._map._mapPane.className += ' leaflet-cluster-anim';\n\t\t\t\tthis._inZoomAnimation++;\n\t\t\t},\n\n\t\t\t_animationZoomIn: function (previousZoomLevel, newZoomLevel) {\n\t\t\t\tvar bounds = this._getExpandedVisibleBounds(),\n\t\t\t\t    fg = this._featureGroup,\n\t\t\t\t\tminZoom = Math.floor(this._map.getMinZoom()),\n\t\t\t\t    i;\n\n\t\t\t\tthis._ignoreMove = true;\n\n\t\t\t\t//Add all children of current clusters to map and remove those clusters from map\n\t\t\t\tthis._topClusterLevel._recursively(bounds, previousZoomLevel, minZoom, function (c) {\n\t\t\t\t\tvar startPos = c._latlng,\n\t\t\t\t\t    markers  = c._markers,\n\t\t\t\t\t    m;\n\n\t\t\t\t\tif (!bounds.contains(startPos)) {\n\t\t\t\t\t\tstartPos = null;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (c._isSingleParent() && previousZoomLevel + 1 === newZoomLevel) { //Immediately add the new child and remove us\n\t\t\t\t\t\tfg.removeLayer(c);\n\t\t\t\t\t\tc._recursivelyAddChildrenToMap(null, newZoomLevel, bounds);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t//Fade out old cluster\n\t\t\t\t\t\tc.clusterHide();\n\t\t\t\t\t\tc._recursivelyAddChildrenToMap(startPos, newZoomLevel, bounds);\n\t\t\t\t\t}\n\n\t\t\t\t\t//Remove all markers that aren't visible any more\n\t\t\t\t\t//TODO: Do we actually need to do this on the higher levels too?\n\t\t\t\t\tfor (i = markers.length - 1; i >= 0; i--) {\n\t\t\t\t\t\tm = markers[i];\n\t\t\t\t\t\tif (!bounds.contains(m._latlng)) {\n\t\t\t\t\t\t\tfg.removeLayer(m);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t});\n\n\t\t\t\tthis._forceLayout();\n\n\t\t\t\t//Update opacities\n\t\t\t\tthis._topClusterLevel._recursivelyBecomeVisible(bounds, newZoomLevel);\n\t\t\t\t//TODO Maybe? Update markers in _recursivelyBecomeVisible\n\t\t\t\tfg.eachLayer(function (n) {\n\t\t\t\t\tif (!(n instanceof L.MarkerCluster) && n._icon) {\n\t\t\t\t\t\tn.clusterShow();\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\t//update the positions of the just added clusters/markers\n\t\t\t\tthis._topClusterLevel._recursively(bounds, previousZoomLevel, newZoomLevel, function (c) {\n\t\t\t\t\tc._recursivelyRestoreChildPositions(newZoomLevel);\n\t\t\t\t});\n\n\t\t\t\tthis._ignoreMove = false;\n\n\t\t\t\t//Remove the old clusters and close the zoom animation\n\t\t\t\tthis._enqueue(function () {\n\t\t\t\t\t//update the positions of the just added clusters/markers\n\t\t\t\t\tthis._topClusterLevel._recursively(bounds, previousZoomLevel, minZoom, function (c) {\n\t\t\t\t\t\tfg.removeLayer(c);\n\t\t\t\t\t\tc.clusterShow();\n\t\t\t\t\t});\n\n\t\t\t\t\tthis._animationEnd();\n\t\t\t\t});\n\t\t\t},\n\n\t\t\t_animationZoomOut: function (previousZoomLevel, newZoomLevel) {\n\t\t\t\tthis._animationZoomOutSingle(this._topClusterLevel, previousZoomLevel - 1, newZoomLevel);\n\n\t\t\t\t//Need to add markers for those that weren't on the map before but are now\n\t\t\t\tthis._topClusterLevel._recursivelyAddChildrenToMap(null, newZoomLevel, this._getExpandedVisibleBounds());\n\t\t\t\t//Remove markers that were on the map before but won't be now\n\t\t\t\tthis._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds, Math.floor(this._map.getMinZoom()), previousZoomLevel, this._getExpandedVisibleBounds());\n\t\t\t},\n\n\t\t\t_animationAddLayer: function (layer, newCluster) {\n\t\t\t\tvar me = this,\n\t\t\t\t    fg = this._featureGroup;\n\n\t\t\t\tfg.addLayer(layer);\n\t\t\t\tif (newCluster !== layer) {\n\t\t\t\t\tif (newCluster._childCount > 2) { //Was already a cluster\n\n\t\t\t\t\t\tnewCluster._updateIcon();\n\t\t\t\t\t\tthis._forceLayout();\n\t\t\t\t\t\tthis._animationStart();\n\n\t\t\t\t\t\tlayer._setPos(this._map.latLngToLayerPoint(newCluster.getLatLng()));\n\t\t\t\t\t\tlayer.clusterHide();\n\n\t\t\t\t\t\tthis._enqueue(function () {\n\t\t\t\t\t\t\tfg.removeLayer(layer);\n\t\t\t\t\t\t\tlayer.clusterShow();\n\n\t\t\t\t\t\t\tme._animationEnd();\n\t\t\t\t\t\t});\n\n\t\t\t\t\t} else { //Just became a cluster\n\t\t\t\t\t\tthis._forceLayout();\n\n\t\t\t\t\t\tme._animationStart();\n\t\t\t\t\t\tme._animationZoomOutSingle(newCluster, this._map.getMaxZoom(), this._zoom);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t// Private methods for animated versions.\n\t\t_animationZoomOutSingle: function (cluster, previousZoomLevel, newZoomLevel) {\n\t\t\tvar bounds = this._getExpandedVisibleBounds(),\n\t\t\t\tminZoom = Math.floor(this._map.getMinZoom());\n\n\t\t\t//Animate all of the markers in the clusters to move to their cluster center point\n\t\t\tcluster._recursivelyAnimateChildrenInAndAddSelfToMap(bounds, minZoom, previousZoomLevel + 1, newZoomLevel);\n\n\t\t\tvar me = this;\n\n\t\t\t//Update the opacity (If we immediately set it they won't animate)\n\t\t\tthis._forceLayout();\n\t\t\tcluster._recursivelyBecomeVisible(bounds, newZoomLevel);\n\n\t\t\t//TODO: Maybe use the transition timing stuff to make this more reliable\n\t\t\t//When the animations are done, tidy up\n\t\t\tthis._enqueue(function () {\n\n\t\t\t\t//This cluster stopped being a cluster before the timeout fired\n\t\t\t\tif (cluster._childCount === 1) {\n\t\t\t\t\tvar m = cluster._markers[0];\n\t\t\t\t\t//If we were in a cluster animation at the time then the opacity and position of our child could be wrong now, so fix it\n\t\t\t\t\tthis._ignoreMove = true;\n\t\t\t\t\tm.setLatLng(m.getLatLng());\n\t\t\t\t\tthis._ignoreMove = false;\n\t\t\t\t\tif (m.clusterShow) {\n\t\t\t\t\t\tm.clusterShow();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tcluster._recursively(bounds, newZoomLevel, minZoom, function (c) {\n\t\t\t\t\t\tc._recursivelyRemoveChildrenFromMap(bounds, minZoom, previousZoomLevel + 1);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tme._animationEnd();\n\t\t\t});\n\t\t},\n\n\t\t_animationEnd: function () {\n\t\t\tif (this._map) {\n\t\t\t\tthis._map._mapPane.className = this._map._mapPane.className.replace(' leaflet-cluster-anim', '');\n\t\t\t}\n\t\t\tthis._inZoomAnimation--;\n\t\t\tthis.fire('animationend');\n\t\t},\n\n\t\t//Force a browser layout of stuff in the map\n\t\t// Should apply the current opacity and location to all elements so we can update them again for an animation\n\t\t_forceLayout: function () {\n\t\t\t//In my testing this works, infact offsetWidth of any element seems to work.\n\t\t\t//Could loop all this._layers and do this for each _icon if it stops working\n\n\t\t\tL.Util.falseFn(document.body.offsetWidth);\n\t\t}\n\t});\n\n\tL.markerClusterGroup = function (options) {\n\t\treturn new L.MarkerClusterGroup(options);\n\t};\n\n\tvar MarkerCluster = L.MarkerCluster = L.Marker.extend({\n\t\toptions: L.Icon.prototype.options,\n\n\t\tinitialize: function (group, zoom, a, b) {\n\n\t\t\tL.Marker.prototype.initialize.call(this, a ? (a._cLatLng || a.getLatLng()) : new L.LatLng(0, 0),\n\t            { icon: this, pane: group.options.clusterPane });\n\n\t\t\tthis._group = group;\n\t\t\tthis._zoom = zoom;\n\n\t\t\tthis._markers = [];\n\t\t\tthis._childClusters = [];\n\t\t\tthis._childCount = 0;\n\t\t\tthis._iconNeedsUpdate = true;\n\t\t\tthis._boundsNeedUpdate = true;\n\n\t\t\tthis._bounds = new L.LatLngBounds();\n\n\t\t\tif (a) {\n\t\t\t\tthis._addChild(a);\n\t\t\t}\n\t\t\tif (b) {\n\t\t\t\tthis._addChild(b);\n\t\t\t}\n\t\t},\n\n\t\t//Recursively retrieve all child markers of this cluster\n\t\tgetAllChildMarkers: function (storageArray, ignoreDraggedMarker) {\n\t\t\tstorageArray = storageArray || [];\n\n\t\t\tfor (var i = this._childClusters.length - 1; i >= 0; i--) {\n\t\t\t\tthis._childClusters[i].getAllChildMarkers(storageArray, ignoreDraggedMarker);\n\t\t\t}\n\n\t\t\tfor (var j = this._markers.length - 1; j >= 0; j--) {\n\t\t\t\tif (ignoreDraggedMarker && this._markers[j].__dragStart) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstorageArray.push(this._markers[j]);\n\t\t\t}\n\n\t\t\treturn storageArray;\n\t\t},\n\n\t\t//Returns the count of how many child markers we have\n\t\tgetChildCount: function () {\n\t\t\treturn this._childCount;\n\t\t},\n\n\t\t//Zoom to the minimum of showing all of the child markers, or the extents of this cluster\n\t\tzoomToBounds: function (fitBoundsOptions) {\n\t\t\tvar childClusters = this._childClusters.slice(),\n\t\t\t\tmap = this._group._map,\n\t\t\t\tboundsZoom = map.getBoundsZoom(this._bounds),\n\t\t\t\tzoom = this._zoom + 1,\n\t\t\t\tmapZoom = map.getZoom(),\n\t\t\t\ti;\n\n\t\t\t//calculate how far we need to zoom down to see all of the markers\n\t\t\twhile (childClusters.length > 0 && boundsZoom > zoom) {\n\t\t\t\tzoom++;\n\t\t\t\tvar newClusters = [];\n\t\t\t\tfor (i = 0; i < childClusters.length; i++) {\n\t\t\t\t\tnewClusters = newClusters.concat(childClusters[i]._childClusters);\n\t\t\t\t}\n\t\t\t\tchildClusters = newClusters;\n\t\t\t}\n\n\t\t\tif (boundsZoom > zoom) {\n\t\t\t\tthis._group._map.setView(this._latlng, zoom);\n\t\t\t} else if (boundsZoom <= mapZoom) { //If fitBounds wouldn't zoom us down, zoom us down instead\n\t\t\t\tthis._group._map.setView(this._latlng, mapZoom + 1);\n\t\t\t} else {\n\t\t\t\tthis._group._map.fitBounds(this._bounds, fitBoundsOptions);\n\t\t\t}\n\t\t},\n\n\t\tgetBounds: function () {\n\t\t\tvar bounds = new L.LatLngBounds();\n\t\t\tbounds.extend(this._bounds);\n\t\t\treturn bounds;\n\t\t},\n\n\t\t_updateIcon: function () {\n\t\t\tthis._iconNeedsUpdate = true;\n\t\t\tif (this._icon) {\n\t\t\t\tthis.setIcon(this);\n\t\t\t}\n\t\t},\n\n\t\t//Cludge for Icon, we pretend to be an icon for performance\n\t\tcreateIcon: function () {\n\t\t\tif (this._iconNeedsUpdate) {\n\t\t\t\tthis._iconObj = this._group.options.iconCreateFunction(this);\n\t\t\t\tthis._iconNeedsUpdate = false;\n\t\t\t}\n\t\t\treturn this._iconObj.createIcon();\n\t\t},\n\t\tcreateShadow: function () {\n\t\t\treturn this._iconObj.createShadow();\n\t\t},\n\n\n\t\t_addChild: function (new1, isNotificationFromChild) {\n\n\t\t\tthis._iconNeedsUpdate = true;\n\n\t\t\tthis._boundsNeedUpdate = true;\n\t\t\tthis._setClusterCenter(new1);\n\n\t\t\tif (new1 instanceof L.MarkerCluster) {\n\t\t\t\tif (!isNotificationFromChild) {\n\t\t\t\t\tthis._childClusters.push(new1);\n\t\t\t\t\tnew1.__parent = this;\n\t\t\t\t}\n\t\t\t\tthis._childCount += new1._childCount;\n\t\t\t} else {\n\t\t\t\tif (!isNotificationFromChild) {\n\t\t\t\t\tthis._markers.push(new1);\n\t\t\t\t}\n\t\t\t\tthis._childCount++;\n\t\t\t}\n\n\t\t\tif (this.__parent) {\n\t\t\t\tthis.__parent._addChild(new1, true);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Makes sure the cluster center is set. If not, uses the child center if it is a cluster, or the marker position.\n\t\t * @param child L.MarkerCluster|L.Marker that will be used as cluster center if not defined yet.\n\t\t * @private\n\t\t */\n\t\t_setClusterCenter: function (child) {\n\t\t\tif (!this._cLatLng) {\n\t\t\t\t// when clustering, take position of the first point as the cluster center\n\t\t\t\tthis._cLatLng = child._cLatLng || child._latlng;\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Assigns impossible bounding values so that the next extend entirely determines the new bounds.\n\t\t * This method avoids having to trash the previous L.LatLngBounds object and to create a new one, which is much slower for this class.\n\t\t * As long as the bounds are not extended, most other methods would probably fail, as they would with bounds initialized but not extended.\n\t\t * @private\n\t\t */\n\t\t_resetBounds: function () {\n\t\t\tvar bounds = this._bounds;\n\n\t\t\tif (bounds._southWest) {\n\t\t\t\tbounds._southWest.lat = Infinity;\n\t\t\t\tbounds._southWest.lng = Infinity;\n\t\t\t}\n\t\t\tif (bounds._northEast) {\n\t\t\t\tbounds._northEast.lat = -Infinity;\n\t\t\t\tbounds._northEast.lng = -Infinity;\n\t\t\t}\n\t\t},\n\n\t\t_recalculateBounds: function () {\n\t\t\tvar markers = this._markers,\n\t\t\t    childClusters = this._childClusters,\n\t\t\t    latSum = 0,\n\t\t\t    lngSum = 0,\n\t\t\t    totalCount = this._childCount,\n\t\t\t    i, child, childLatLng, childCount;\n\n\t\t\t// Case where all markers are removed from the map and we are left with just an empty _topClusterLevel.\n\t\t\tif (totalCount === 0) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Reset rather than creating a new object, for performance.\n\t\t\tthis._resetBounds();\n\n\t\t\t// Child markers.\n\t\t\tfor (i = 0; i < markers.length; i++) {\n\t\t\t\tchildLatLng = markers[i]._latlng;\n\n\t\t\t\tthis._bounds.extend(childLatLng);\n\n\t\t\t\tlatSum += childLatLng.lat;\n\t\t\t\tlngSum += childLatLng.lng;\n\t\t\t}\n\n\t\t\t// Child clusters.\n\t\t\tfor (i = 0; i < childClusters.length; i++) {\n\t\t\t\tchild = childClusters[i];\n\n\t\t\t\t// Re-compute child bounds and weighted position first if necessary.\n\t\t\t\tif (child._boundsNeedUpdate) {\n\t\t\t\t\tchild._recalculateBounds();\n\t\t\t\t}\n\n\t\t\t\tthis._bounds.extend(child._bounds);\n\n\t\t\t\tchildLatLng = child._wLatLng;\n\t\t\t\tchildCount = child._childCount;\n\n\t\t\t\tlatSum += childLatLng.lat * childCount;\n\t\t\t\tlngSum += childLatLng.lng * childCount;\n\t\t\t}\n\n\t\t\tthis._latlng = this._wLatLng = new L.LatLng(latSum / totalCount, lngSum / totalCount);\n\n\t\t\t// Reset dirty flag.\n\t\t\tthis._boundsNeedUpdate = false;\n\t\t},\n\n\t\t//Set our markers position as given and add it to the map\n\t\t_addToMap: function (startPos) {\n\t\t\tif (startPos) {\n\t\t\t\tthis._backupLatlng = this._latlng;\n\t\t\t\tthis.setLatLng(startPos);\n\t\t\t}\n\t\t\tthis._group._featureGroup.addLayer(this);\n\t\t},\n\n\t\t_recursivelyAnimateChildrenIn: function (bounds, center, maxZoom) {\n\t\t\tthis._recursively(bounds, this._group._map.getMinZoom(), maxZoom - 1,\n\t\t\t\tfunction (c) {\n\t\t\t\t\tvar markers = c._markers,\n\t\t\t\t\t\ti, m;\n\t\t\t\t\tfor (i = markers.length - 1; i >= 0; i--) {\n\t\t\t\t\t\tm = markers[i];\n\n\t\t\t\t\t\t//Only do it if the icon is still on the map\n\t\t\t\t\t\tif (m._icon) {\n\t\t\t\t\t\t\tm._setPos(center);\n\t\t\t\t\t\t\tm.clusterHide();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tfunction (c) {\n\t\t\t\t\tvar childClusters = c._childClusters,\n\t\t\t\t\t\tj, cm;\n\t\t\t\t\tfor (j = childClusters.length - 1; j >= 0; j--) {\n\t\t\t\t\t\tcm = childClusters[j];\n\t\t\t\t\t\tif (cm._icon) {\n\t\t\t\t\t\t\tcm._setPos(center);\n\t\t\t\t\t\t\tcm.clusterHide();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\n\t\t_recursivelyAnimateChildrenInAndAddSelfToMap: function (bounds, mapMinZoom, previousZoomLevel, newZoomLevel) {\n\t\t\tthis._recursively(bounds, newZoomLevel, mapMinZoom,\n\t\t\t\tfunction (c) {\n\t\t\t\t\tc._recursivelyAnimateChildrenIn(bounds, c._group._map.latLngToLayerPoint(c.getLatLng()).round(), previousZoomLevel);\n\n\t\t\t\t\t//TODO: depthToAnimateIn affects _isSingleParent, if there is a multizoom we may/may not be.\n\t\t\t\t\t//As a hack we only do a animation free zoom on a single level zoom, if someone does multiple levels then we always animate\n\t\t\t\t\tif (c._isSingleParent() && previousZoomLevel - 1 === newZoomLevel) {\n\t\t\t\t\t\tc.clusterShow();\n\t\t\t\t\t\tc._recursivelyRemoveChildrenFromMap(bounds, mapMinZoom, previousZoomLevel); //Immediately remove our children as we are replacing them. TODO previousBounds not bounds\n\t\t\t\t\t} else {\n\t\t\t\t\t\tc.clusterHide();\n\t\t\t\t\t}\n\n\t\t\t\t\tc._addToMap();\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\n\t\t_recursivelyBecomeVisible: function (bounds, zoomLevel) {\n\t\t\tthis._recursively(bounds, this._group._map.getMinZoom(), zoomLevel, null, function (c) {\n\t\t\t\tc.clusterShow();\n\t\t\t});\n\t\t},\n\n\t\t_recursivelyAddChildrenToMap: function (startPos, zoomLevel, bounds) {\n\t\t\tthis._recursively(bounds, this._group._map.getMinZoom() - 1, zoomLevel,\n\t\t\t\tfunction (c) {\n\t\t\t\t\tif (zoomLevel === c._zoom) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t//Add our child markers at startPos (so they can be animated out)\n\t\t\t\t\tfor (var i = c._markers.length - 1; i >= 0; i--) {\n\t\t\t\t\t\tvar nm = c._markers[i];\n\n\t\t\t\t\t\tif (!bounds.contains(nm._latlng)) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (startPos) {\n\t\t\t\t\t\t\tnm._backupLatlng = nm.getLatLng();\n\n\t\t\t\t\t\t\tnm.setLatLng(startPos);\n\t\t\t\t\t\t\tif (nm.clusterHide) {\n\t\t\t\t\t\t\t\tnm.clusterHide();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tc._group._featureGroup.addLayer(nm);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tfunction (c) {\n\t\t\t\t\tc._addToMap(startPos);\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\n\t\t_recursivelyRestoreChildPositions: function (zoomLevel) {\n\t\t\t//Fix positions of child markers\n\t\t\tfor (var i = this._markers.length - 1; i >= 0; i--) {\n\t\t\t\tvar nm = this._markers[i];\n\t\t\t\tif (nm._backupLatlng) {\n\t\t\t\t\tnm.setLatLng(nm._backupLatlng);\n\t\t\t\t\tdelete nm._backupLatlng;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (zoomLevel - 1 === this._zoom) {\n\t\t\t\t//Reposition child clusters\n\t\t\t\tfor (var j = this._childClusters.length - 1; j >= 0; j--) {\n\t\t\t\t\tthis._childClusters[j]._restorePosition();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (var k = this._childClusters.length - 1; k >= 0; k--) {\n\t\t\t\t\tthis._childClusters[k]._recursivelyRestoreChildPositions(zoomLevel);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t_restorePosition: function () {\n\t\t\tif (this._backupLatlng) {\n\t\t\t\tthis.setLatLng(this._backupLatlng);\n\t\t\t\tdelete this._backupLatlng;\n\t\t\t}\n\t\t},\n\n\t\t//exceptBounds: If set, don't remove any markers/clusters in it\n\t\t_recursivelyRemoveChildrenFromMap: function (previousBounds, mapMinZoom, zoomLevel, exceptBounds) {\n\t\t\tvar m, i;\n\t\t\tthis._recursively(previousBounds, mapMinZoom - 1, zoomLevel - 1,\n\t\t\t\tfunction (c) {\n\t\t\t\t\t//Remove markers at every level\n\t\t\t\t\tfor (i = c._markers.length - 1; i >= 0; i--) {\n\t\t\t\t\t\tm = c._markers[i];\n\t\t\t\t\t\tif (!exceptBounds || !exceptBounds.contains(m._latlng)) {\n\t\t\t\t\t\t\tc._group._featureGroup.removeLayer(m);\n\t\t\t\t\t\t\tif (m.clusterShow) {\n\t\t\t\t\t\t\t\tm.clusterShow();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tfunction (c) {\n\t\t\t\t\t//Remove child clusters at just the bottom level\n\t\t\t\t\tfor (i = c._childClusters.length - 1; i >= 0; i--) {\n\t\t\t\t\t\tm = c._childClusters[i];\n\t\t\t\t\t\tif (!exceptBounds || !exceptBounds.contains(m._latlng)) {\n\t\t\t\t\t\t\tc._group._featureGroup.removeLayer(m);\n\t\t\t\t\t\t\tif (m.clusterShow) {\n\t\t\t\t\t\t\t\tm.clusterShow();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\n\t\t//Run the given functions recursively to this and child clusters\n\t\t// boundsToApplyTo: a L.LatLngBounds representing the bounds of what clusters to recurse in to\n\t\t// zoomLevelToStart: zoom level to start running functions (inclusive)\n\t\t// zoomLevelToStop: zoom level to stop running functions (inclusive)\n\t\t// runAtEveryLevel: function that takes an L.MarkerCluster as an argument that should be applied on every level\n\t\t// runAtBottomLevel: function that takes an L.MarkerCluster as an argument that should be applied at only the bottom level\n\t\t_recursively: function (boundsToApplyTo, zoomLevelToStart, zoomLevelToStop, runAtEveryLevel, runAtBottomLevel) {\n\t\t\tvar childClusters = this._childClusters,\n\t\t\t    zoom = this._zoom,\n\t\t\t    i, c;\n\n\t\t\tif (zoomLevelToStart <= zoom) {\n\t\t\t\tif (runAtEveryLevel) {\n\t\t\t\t\trunAtEveryLevel(this);\n\t\t\t\t}\n\t\t\t\tif (runAtBottomLevel && zoom === zoomLevelToStop) {\n\t\t\t\t\trunAtBottomLevel(this);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (zoom < zoomLevelToStart || zoom < zoomLevelToStop) {\n\t\t\t\tfor (i = childClusters.length - 1; i >= 0; i--) {\n\t\t\t\t\tc = childClusters[i];\n\t\t\t\t\tif (c._boundsNeedUpdate) {\n\t\t\t\t\t\tc._recalculateBounds();\n\t\t\t\t\t}\n\t\t\t\t\tif (boundsToApplyTo.intersects(c._bounds)) {\n\t\t\t\t\t\tc._recursively(boundsToApplyTo, zoomLevelToStart, zoomLevelToStop, runAtEveryLevel, runAtBottomLevel);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t//Returns true if we are the parent of only one cluster and that cluster is the same as us\n\t\t_isSingleParent: function () {\n\t\t\t//Don't need to check this._markers as the rest won't work if there are any\n\t\t\treturn this._childClusters.length > 0 && this._childClusters[0]._childCount === this._childCount;\n\t\t}\n\t});\n\n\t/*\n\t* Extends L.Marker to include two extra methods: clusterHide and clusterShow.\n\t* \n\t* They work as setOpacity(0) and setOpacity(1) respectively, but\n\t* don't overwrite the options.opacity\n\t* \n\t*/\n\n\tL.Marker.include({\n\t\tclusterHide: function () {\n\t\t\tvar backup = this.options.opacity;\n\t\t\tthis.setOpacity(0);\n\t\t\tthis.options.opacity = backup;\n\t\t\treturn this;\n\t\t},\n\t\t\n\t\tclusterShow: function () {\n\t\t\treturn this.setOpacity(this.options.opacity);\n\t\t}\n\t});\n\n\tL.DistanceGrid = function (cellSize) {\n\t\tthis._cellSize = cellSize;\n\t\tthis._sqCellSize = cellSize * cellSize;\n\t\tthis._grid = {};\n\t\tthis._objectPoint = { };\n\t};\n\n\tL.DistanceGrid.prototype = {\n\n\t\taddObject: function (obj, point) {\n\t\t\tvar x = this._getCoord(point.x),\n\t\t\t    y = this._getCoord(point.y),\n\t\t\t    grid = this._grid,\n\t\t\t    row = grid[y] = grid[y] || {},\n\t\t\t    cell = row[x] = row[x] || [],\n\t\t\t    stamp = L.Util.stamp(obj);\n\n\t\t\tthis._objectPoint[stamp] = point;\n\n\t\t\tcell.push(obj);\n\t\t},\n\n\t\tupdateObject: function (obj, point) {\n\t\t\tthis.removeObject(obj);\n\t\t\tthis.addObject(obj, point);\n\t\t},\n\n\t\t//Returns true if the object was found\n\t\tremoveObject: function (obj, point) {\n\t\t\tvar x = this._getCoord(point.x),\n\t\t\t    y = this._getCoord(point.y),\n\t\t\t    grid = this._grid,\n\t\t\t    row = grid[y] = grid[y] || {},\n\t\t\t    cell = row[x] = row[x] || [],\n\t\t\t    i, len;\n\n\t\t\tdelete this._objectPoint[L.Util.stamp(obj)];\n\n\t\t\tfor (i = 0, len = cell.length; i < len; i++) {\n\t\t\t\tif (cell[i] === obj) {\n\n\t\t\t\t\tcell.splice(i, 1);\n\n\t\t\t\t\tif (len === 1) {\n\t\t\t\t\t\tdelete row[x];\n\t\t\t\t\t}\n\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t},\n\n\t\teachObject: function (fn, context) {\n\t\t\tvar i, j, k, len, row, cell, removed,\n\t\t\t    grid = this._grid;\n\n\t\t\tfor (i in grid) {\n\t\t\t\trow = grid[i];\n\n\t\t\t\tfor (j in row) {\n\t\t\t\t\tcell = row[j];\n\n\t\t\t\t\tfor (k = 0, len = cell.length; k < len; k++) {\n\t\t\t\t\t\tremoved = fn.call(context, cell[k]);\n\t\t\t\t\t\tif (removed) {\n\t\t\t\t\t\t\tk--;\n\t\t\t\t\t\t\tlen--;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tgetNearObject: function (point) {\n\t\t\tvar x = this._getCoord(point.x),\n\t\t\t    y = this._getCoord(point.y),\n\t\t\t    i, j, k, row, cell, len, obj, dist,\n\t\t\t    objectPoint = this._objectPoint,\n\t\t\t    closestDistSq = this._sqCellSize,\n\t\t\t    closest = null;\n\n\t\t\tfor (i = y - 1; i <= y + 1; i++) {\n\t\t\t\trow = this._grid[i];\n\t\t\t\tif (row) {\n\n\t\t\t\t\tfor (j = x - 1; j <= x + 1; j++) {\n\t\t\t\t\t\tcell = row[j];\n\t\t\t\t\t\tif (cell) {\n\n\t\t\t\t\t\t\tfor (k = 0, len = cell.length; k < len; k++) {\n\t\t\t\t\t\t\t\tobj = cell[k];\n\t\t\t\t\t\t\t\tdist = this._sqDist(objectPoint[L.Util.stamp(obj)], point);\n\t\t\t\t\t\t\t\tif (dist < closestDistSq ||\n\t\t\t\t\t\t\t\t\tdist <= closestDistSq && closest === null) {\n\t\t\t\t\t\t\t\t\tclosestDistSq = dist;\n\t\t\t\t\t\t\t\t\tclosest = obj;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn closest;\n\t\t},\n\n\t\t_getCoord: function (x) {\n\t\t\tvar coord = Math.floor(x / this._cellSize);\n\t\t\treturn isFinite(coord) ? coord : x;\n\t\t},\n\n\t\t_sqDist: function (p, p2) {\n\t\t\tvar dx = p2.x - p.x,\n\t\t\t    dy = p2.y - p.y;\n\t\t\treturn dx * dx + dy * dy;\n\t\t}\n\t};\n\n\t/* Copyright (c) 2012 the authors listed at the following URL, and/or\n\tthe authors of referenced articles or incorporated external code:\n\thttp://en.literateprograms.org/Quickhull_(Javascript)?action=history&offset=20120410175256\n\n\tPermission is hereby granted, free of charge, to any person obtaining\n\ta copy of this software and associated documentation files (the\n\t\"Software\"), to deal in the Software without restriction, including\n\twithout limitation the rights to use, copy, modify, merge, publish,\n\tdistribute, sublicense, and/or sell copies of the Software, and to\n\tpermit persons to whom the Software is furnished to do so, subject to\n\tthe following conditions:\n\n\tThe above copyright notice and this permission notice shall be\n\tincluded in all copies or substantial portions of the Software.\n\n\tTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n\tEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n\tMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\n\tIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\n\tCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\n\tTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\n\tSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\tRetrieved from: http://en.literateprograms.org/Quickhull_(Javascript)?oldid=18434\n\t*/\n\n\t(function () {\n\t\tL.QuickHull = {\n\n\t\t\t/*\n\t\t\t * @param {Object} cpt a point to be measured from the baseline\n\t\t\t * @param {Array} bl the baseline, as represented by a two-element\n\t\t\t *   array of latlng objects.\n\t\t\t * @returns {Number} an approximate distance measure\n\t\t\t */\n\t\t\tgetDistant: function (cpt, bl) {\n\t\t\t\tvar vY = bl[1].lat - bl[0].lat,\n\t\t\t\t\tvX = bl[0].lng - bl[1].lng;\n\t\t\t\treturn (vX * (cpt.lat - bl[0].lat) + vY * (cpt.lng - bl[0].lng));\n\t\t\t},\n\n\t\t\t/*\n\t\t\t * @param {Array} baseLine a two-element array of latlng objects\n\t\t\t *   representing the baseline to project from\n\t\t\t * @param {Array} latLngs an array of latlng objects\n\t\t\t * @returns {Object} the maximum point and all new points to stay\n\t\t\t *   in consideration for the hull.\n\t\t\t */\n\t\t\tfindMostDistantPointFromBaseLine: function (baseLine, latLngs) {\n\t\t\t\tvar maxD = 0,\n\t\t\t\t\tmaxPt = null,\n\t\t\t\t\tnewPoints = [],\n\t\t\t\t\ti, pt, d;\n\n\t\t\t\tfor (i = latLngs.length - 1; i >= 0; i--) {\n\t\t\t\t\tpt = latLngs[i];\n\t\t\t\t\td = this.getDistant(pt, baseLine);\n\n\t\t\t\t\tif (d > 0) {\n\t\t\t\t\t\tnewPoints.push(pt);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (d > maxD) {\n\t\t\t\t\t\tmaxD = d;\n\t\t\t\t\t\tmaxPt = pt;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn { maxPoint: maxPt, newPoints: newPoints };\n\t\t\t},\n\n\n\t\t\t/*\n\t\t\t * Given a baseline, compute the convex hull of latLngs as an array\n\t\t\t * of latLngs.\n\t\t\t *\n\t\t\t * @param {Array} latLngs\n\t\t\t * @returns {Array}\n\t\t\t */\n\t\t\tbuildConvexHull: function (baseLine, latLngs) {\n\t\t\t\tvar convexHullBaseLines = [],\n\t\t\t\t\tt = this.findMostDistantPointFromBaseLine(baseLine, latLngs);\n\n\t\t\t\tif (t.maxPoint) { // if there is still a point \"outside\" the base line\n\t\t\t\t\tconvexHullBaseLines =\n\t\t\t\t\t\tconvexHullBaseLines.concat(\n\t\t\t\t\t\t\tthis.buildConvexHull([baseLine[0], t.maxPoint], t.newPoints)\n\t\t\t\t\t\t);\n\t\t\t\t\tconvexHullBaseLines =\n\t\t\t\t\t\tconvexHullBaseLines.concat(\n\t\t\t\t\t\t\tthis.buildConvexHull([t.maxPoint, baseLine[1]], t.newPoints)\n\t\t\t\t\t\t);\n\t\t\t\t\treturn convexHullBaseLines;\n\t\t\t\t} else {  // if there is no more point \"outside\" the base line, the current base line is part of the convex hull\n\t\t\t\t\treturn [baseLine[0]];\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/*\n\t\t\t * Given an array of latlngs, compute a convex hull as an array\n\t\t\t * of latlngs\n\t\t\t *\n\t\t\t * @param {Array} latLngs\n\t\t\t * @returns {Array}\n\t\t\t */\n\t\t\tgetConvexHull: function (latLngs) {\n\t\t\t\t// find first baseline\n\t\t\t\tvar maxLat = false, minLat = false,\n\t\t\t\t\tmaxLng = false, minLng = false,\n\t\t\t\t\tmaxLatPt = null, minLatPt = null,\n\t\t\t\t\tmaxLngPt = null, minLngPt = null,\n\t\t\t\t\tmaxPt = null, minPt = null,\n\t\t\t\t\ti;\n\n\t\t\t\tfor (i = latLngs.length - 1; i >= 0; i--) {\n\t\t\t\t\tvar pt = latLngs[i];\n\t\t\t\t\tif (maxLat === false || pt.lat > maxLat) {\n\t\t\t\t\t\tmaxLatPt = pt;\n\t\t\t\t\t\tmaxLat = pt.lat;\n\t\t\t\t\t}\n\t\t\t\t\tif (minLat === false || pt.lat < minLat) {\n\t\t\t\t\t\tminLatPt = pt;\n\t\t\t\t\t\tminLat = pt.lat;\n\t\t\t\t\t}\n\t\t\t\t\tif (maxLng === false || pt.lng > maxLng) {\n\t\t\t\t\t\tmaxLngPt = pt;\n\t\t\t\t\t\tmaxLng = pt.lng;\n\t\t\t\t\t}\n\t\t\t\t\tif (minLng === false || pt.lng < minLng) {\n\t\t\t\t\t\tminLngPt = pt;\n\t\t\t\t\t\tminLng = pt.lng;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif (minLat !== maxLat) {\n\t\t\t\t\tminPt = minLatPt;\n\t\t\t\t\tmaxPt = maxLatPt;\n\t\t\t\t} else {\n\t\t\t\t\tminPt = minLngPt;\n\t\t\t\t\tmaxPt = maxLngPt;\n\t\t\t\t}\n\n\t\t\t\tvar ch = [].concat(this.buildConvexHull([minPt, maxPt], latLngs),\n\t\t\t\t\t\t\t\t\tthis.buildConvexHull([maxPt, minPt], latLngs));\n\t\t\t\treturn ch;\n\t\t\t}\n\t\t};\n\t}());\n\n\tL.MarkerCluster.include({\n\t\tgetConvexHull: function () {\n\t\t\tvar childMarkers = this.getAllChildMarkers(),\n\t\t\t\tpoints = [],\n\t\t\t\tp, i;\n\n\t\t\tfor (i = childMarkers.length - 1; i >= 0; i--) {\n\t\t\t\tp = childMarkers[i].getLatLng();\n\t\t\t\tpoints.push(p);\n\t\t\t}\n\n\t\t\treturn L.QuickHull.getConvexHull(points);\n\t\t}\n\t});\n\n\t//This code is 100% based on https://github.com/jawj/OverlappingMarkerSpiderfier-Leaflet\n\t//Huge thanks to jawj for implementing it first to make my job easy :-)\n\n\tL.MarkerCluster.include({\n\n\t\t_2PI: Math.PI * 2,\n\t\t_circleFootSeparation: 25, //related to circumference of circle\n\t\t_circleStartAngle: 0,\n\n\t\t_spiralFootSeparation:  28, //related to size of spiral (experiment!)\n\t\t_spiralLengthStart: 11,\n\t\t_spiralLengthFactor: 5,\n\n\t\t_circleSpiralSwitchover: 9, //show spiral instead of circle from this marker count upwards.\n\t\t\t\t\t\t\t\t\t// 0 -> always spiral; Infinity -> always circle\n\n\t\tspiderfy: function () {\n\t\t\tif (this._group._spiderfied === this || this._group._inZoomAnimation) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar childMarkers = this.getAllChildMarkers(null, true),\n\t\t\t\tgroup = this._group,\n\t\t\t\tmap = group._map,\n\t\t\t\tcenter = map.latLngToLayerPoint(this._latlng),\n\t\t\t\tpositions;\n\n\t\t\tthis._group._unspiderfy();\n\t\t\tthis._group._spiderfied = this;\n\n\t\t\t//TODO Maybe: childMarkers order by distance to center\n\n\t\t\tif (this._group.options.spiderfyShapePositions) {\n\t\t\t\tpositions = this._group.options.spiderfyShapePositions(childMarkers.length, center);\n\t\t\t} else if (childMarkers.length >= this._circleSpiralSwitchover) {\n\t\t\t\tpositions = this._generatePointsSpiral(childMarkers.length, center);\n\t\t\t} else {\n\t\t\t\tcenter.y += 10; // Otherwise circles look wrong => hack for standard blue icon, renders differently for other icons.\n\t\t\t\tpositions = this._generatePointsCircle(childMarkers.length, center);\n\t\t\t}\n\n\t\t\tthis._animationSpiderfy(childMarkers, positions);\n\t\t},\n\n\t\tunspiderfy: function (zoomDetails) {\n\t\t\t/// <param Name=\"zoomDetails\">Argument from zoomanim if being called in a zoom animation or null otherwise</param>\n\t\t\tif (this._group._inZoomAnimation) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis._animationUnspiderfy(zoomDetails);\n\n\t\t\tthis._group._spiderfied = null;\n\t\t},\n\n\t\t_generatePointsCircle: function (count, centerPt) {\n\t\t\tvar circumference = this._group.options.spiderfyDistanceMultiplier * this._circleFootSeparation * (2 + count),\n\t\t\t\tlegLength = circumference / this._2PI,  //radius from circumference\n\t\t\t\tangleStep = this._2PI / count,\n\t\t\t\tres = [],\n\t\t\t\ti, angle;\n\n\t\t\tlegLength = Math.max(legLength, 35); // Minimum distance to get outside the cluster icon.\n\n\t\t\tres.length = count;\n\n\t\t\tfor (i = 0; i < count; i++) { // Clockwise, like spiral.\n\t\t\t\tangle = this._circleStartAngle + i * angleStep;\n\t\t\t\tres[i] = new L.Point(centerPt.x + legLength * Math.cos(angle), centerPt.y + legLength * Math.sin(angle))._round();\n\t\t\t}\n\n\t\t\treturn res;\n\t\t},\n\n\t\t_generatePointsSpiral: function (count, centerPt) {\n\t\t\tvar spiderfyDistanceMultiplier = this._group.options.spiderfyDistanceMultiplier,\n\t\t\t\tlegLength = spiderfyDistanceMultiplier * this._spiralLengthStart,\n\t\t\t\tseparation = spiderfyDistanceMultiplier * this._spiralFootSeparation,\n\t\t\t\tlengthFactor = spiderfyDistanceMultiplier * this._spiralLengthFactor * this._2PI,\n\t\t\t\tangle = 0,\n\t\t\t\tres = [],\n\t\t\t\ti;\n\n\t\t\tres.length = count;\n\n\t\t\t// Higher index, closer position to cluster center.\n\t\t\tfor (i = count; i >= 0; i--) {\n\t\t\t\t// Skip the first position, so that we are already farther from center and we avoid\n\t\t\t\t// being under the default cluster icon (especially important for Circle Markers).\n\t\t\t\tif (i < count) {\n\t\t\t\t\tres[i] = new L.Point(centerPt.x + legLength * Math.cos(angle), centerPt.y + legLength * Math.sin(angle))._round();\n\t\t\t\t}\n\t\t\t\tangle += separation / legLength + i * 0.0005;\n\t\t\t\tlegLength += lengthFactor / angle;\n\t\t\t}\n\t\t\treturn res;\n\t\t},\n\n\t\t_noanimationUnspiderfy: function () {\n\t\t\tvar group = this._group,\n\t\t\t\tmap = group._map,\n\t\t\t\tfg = group._featureGroup,\n\t\t\t\tchildMarkers = this.getAllChildMarkers(null, true),\n\t\t\t\tm, i;\n\n\t\t\tgroup._ignoreMove = true;\n\n\t\t\tthis.setOpacity(1);\n\t\t\tfor (i = childMarkers.length - 1; i >= 0; i--) {\n\t\t\t\tm = childMarkers[i];\n\n\t\t\t\tfg.removeLayer(m);\n\n\t\t\t\tif (m._preSpiderfyLatlng) {\n\t\t\t\t\tm.setLatLng(m._preSpiderfyLatlng);\n\t\t\t\t\tdelete m._preSpiderfyLatlng;\n\t\t\t\t}\n\t\t\t\tif (m.setZIndexOffset) {\n\t\t\t\t\tm.setZIndexOffset(0);\n\t\t\t\t}\n\n\t\t\t\tif (m._spiderLeg) {\n\t\t\t\t\tmap.removeLayer(m._spiderLeg);\n\t\t\t\t\tdelete m._spiderLeg;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tgroup.fire('unspiderfied', {\n\t\t\t\tcluster: this,\n\t\t\t\tmarkers: childMarkers\n\t\t\t});\n\t\t\tgroup._ignoreMove = false;\n\t\t\tgroup._spiderfied = null;\n\t\t}\n\t});\n\n\t//Non Animated versions of everything\n\tL.MarkerClusterNonAnimated = L.MarkerCluster.extend({\n\t\t_animationSpiderfy: function (childMarkers, positions) {\n\t\t\tvar group = this._group,\n\t\t\t\tmap = group._map,\n\t\t\t\tfg = group._featureGroup,\n\t\t\t\tlegOptions = this._group.options.spiderLegPolylineOptions,\n\t\t\t\ti, m, leg, newPos;\n\n\t\t\tgroup._ignoreMove = true;\n\n\t\t\t// Traverse in ascending order to make sure that inner circleMarkers are on top of further legs. Normal markers are re-ordered by newPosition.\n\t\t\t// The reverse order trick no longer improves performance on modern browsers.\n\t\t\tfor (i = 0; i < childMarkers.length; i++) {\n\t\t\t\tnewPos = map.layerPointToLatLng(positions[i]);\n\t\t\t\tm = childMarkers[i];\n\n\t\t\t\t// Add the leg before the marker, so that in case the latter is a circleMarker, the leg is behind it.\n\t\t\t\tleg = new L.Polyline([this._latlng, newPos], legOptions);\n\t\t\t\tmap.addLayer(leg);\n\t\t\t\tm._spiderLeg = leg;\n\n\t\t\t\t// Now add the marker.\n\t\t\t\tm._preSpiderfyLatlng = m._latlng;\n\t\t\t\tm.setLatLng(newPos);\n\t\t\t\tif (m.setZIndexOffset) {\n\t\t\t\t\tm.setZIndexOffset(1000000); //Make these appear on top of EVERYTHING\n\t\t\t\t}\n\n\t\t\t\tfg.addLayer(m);\n\t\t\t}\n\t\t\tthis.setOpacity(0.3);\n\n\t\t\tgroup._ignoreMove = false;\n\t\t\tgroup.fire('spiderfied', {\n\t\t\t\tcluster: this,\n\t\t\t\tmarkers: childMarkers\n\t\t\t});\n\t\t},\n\n\t\t_animationUnspiderfy: function () {\n\t\t\tthis._noanimationUnspiderfy();\n\t\t}\n\t});\n\n\t//Animated versions here\n\tL.MarkerCluster.include({\n\n\t\t_animationSpiderfy: function (childMarkers, positions) {\n\t\t\tvar me = this,\n\t\t\t\tgroup = this._group,\n\t\t\t\tmap = group._map,\n\t\t\t\tfg = group._featureGroup,\n\t\t\t\tthisLayerLatLng = this._latlng,\n\t\t\t\tthisLayerPos = map.latLngToLayerPoint(thisLayerLatLng),\n\t\t\t\tsvg = L.Path.SVG,\n\t\t\t\tlegOptions = L.extend({}, this._group.options.spiderLegPolylineOptions), // Copy the options so that we can modify them for animation.\n\t\t\t\tfinalLegOpacity = legOptions.opacity,\n\t\t\t\ti, m, leg, legPath, legLength, newPos;\n\n\t\t\tif (finalLegOpacity === undefined) {\n\t\t\t\tfinalLegOpacity = L.MarkerClusterGroup.prototype.options.spiderLegPolylineOptions.opacity;\n\t\t\t}\n\n\t\t\tif (svg) {\n\t\t\t\t// If the initial opacity of the spider leg is not 0 then it appears before the animation starts.\n\t\t\t\tlegOptions.opacity = 0;\n\n\t\t\t\t// Add the class for CSS transitions.\n\t\t\t\tlegOptions.className = (legOptions.className || '') + ' leaflet-cluster-spider-leg';\n\t\t\t} else {\n\t\t\t\t// Make sure we have a defined opacity.\n\t\t\t\tlegOptions.opacity = finalLegOpacity;\n\t\t\t}\n\n\t\t\tgroup._ignoreMove = true;\n\n\t\t\t// Add markers and spider legs to map, hidden at our center point.\n\t\t\t// Traverse in ascending order to make sure that inner circleMarkers are on top of further legs. Normal markers are re-ordered by newPosition.\n\t\t\t// The reverse order trick no longer improves performance on modern browsers.\n\t\t\tfor (i = 0; i < childMarkers.length; i++) {\n\t\t\t\tm = childMarkers[i];\n\n\t\t\t\tnewPos = map.layerPointToLatLng(positions[i]);\n\n\t\t\t\t// Add the leg before the marker, so that in case the latter is a circleMarker, the leg is behind it.\n\t\t\t\tleg = new L.Polyline([thisLayerLatLng, newPos], legOptions);\n\t\t\t\tmap.addLayer(leg);\n\t\t\t\tm._spiderLeg = leg;\n\n\t\t\t\t// Explanations: https://jakearchibald.com/2013/animated-line-drawing-svg/\n\t\t\t\t// In our case the transition property is declared in the CSS file.\n\t\t\t\tif (svg) {\n\t\t\t\t\tlegPath = leg._path;\n\t\t\t\t\tlegLength = legPath.getTotalLength() + 0.1; // Need a small extra length to avoid remaining dot in Firefox.\n\t\t\t\t\tlegPath.style.strokeDasharray = legLength; // Just 1 length is enough, it will be duplicated.\n\t\t\t\t\tlegPath.style.strokeDashoffset = legLength;\n\t\t\t\t}\n\n\t\t\t\t// If it is a marker, add it now and we'll animate it out\n\t\t\t\tif (m.setZIndexOffset) {\n\t\t\t\t\tm.setZIndexOffset(1000000); // Make normal markers appear on top of EVERYTHING\n\t\t\t\t}\n\t\t\t\tif (m.clusterHide) {\n\t\t\t\t\tm.clusterHide();\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t// Vectors just get immediately added\n\t\t\t\tfg.addLayer(m);\n\n\t\t\t\tif (m._setPos) {\n\t\t\t\t\tm._setPos(thisLayerPos);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tgroup._forceLayout();\n\t\t\tgroup._animationStart();\n\n\t\t\t// Reveal markers and spider legs.\n\t\t\tfor (i = childMarkers.length - 1; i >= 0; i--) {\n\t\t\t\tnewPos = map.layerPointToLatLng(positions[i]);\n\t\t\t\tm = childMarkers[i];\n\n\t\t\t\t//Move marker to new position\n\t\t\t\tm._preSpiderfyLatlng = m._latlng;\n\t\t\t\tm.setLatLng(newPos);\n\t\t\t\t\n\t\t\t\tif (m.clusterShow) {\n\t\t\t\t\tm.clusterShow();\n\t\t\t\t}\n\n\t\t\t\t// Animate leg (animation is actually delegated to CSS transition).\n\t\t\t\tif (svg) {\n\t\t\t\t\tleg = m._spiderLeg;\n\t\t\t\t\tlegPath = leg._path;\n\t\t\t\t\tlegPath.style.strokeDashoffset = 0;\n\t\t\t\t\t//legPath.style.strokeOpacity = finalLegOpacity;\n\t\t\t\t\tleg.setStyle({opacity: finalLegOpacity});\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.setOpacity(0.3);\n\n\t\t\tgroup._ignoreMove = false;\n\n\t\t\tsetTimeout(function () {\n\t\t\t\tgroup._animationEnd();\n\t\t\t\tgroup.fire('spiderfied', {\n\t\t\t\t\tcluster: me,\n\t\t\t\t\tmarkers: childMarkers\n\t\t\t\t});\n\t\t\t}, 200);\n\t\t},\n\n\t\t_animationUnspiderfy: function (zoomDetails) {\n\t\t\tvar me = this,\n\t\t\t\tgroup = this._group,\n\t\t\t\tmap = group._map,\n\t\t\t\tfg = group._featureGroup,\n\t\t\t\tthisLayerPos = zoomDetails ? map._latLngToNewLayerPoint(this._latlng, zoomDetails.zoom, zoomDetails.center) : map.latLngToLayerPoint(this._latlng),\n\t\t\t\tchildMarkers = this.getAllChildMarkers(null, true),\n\t\t\t\tsvg = L.Path.SVG,\n\t\t\t\tm, i, leg, legPath, legLength, nonAnimatable;\n\n\t\t\tgroup._ignoreMove = true;\n\t\t\tgroup._animationStart();\n\n\t\t\t//Make us visible and bring the child markers back in\n\t\t\tthis.setOpacity(1);\n\t\t\tfor (i = childMarkers.length - 1; i >= 0; i--) {\n\t\t\t\tm = childMarkers[i];\n\n\t\t\t\t//Marker was added to us after we were spiderfied\n\t\t\t\tif (!m._preSpiderfyLatlng) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t//Close any popup on the marker first, otherwise setting the location of the marker will make the map scroll\n\t\t\t\tm.closePopup();\n\n\t\t\t\t//Fix up the location to the real one\n\t\t\t\tm.setLatLng(m._preSpiderfyLatlng);\n\t\t\t\tdelete m._preSpiderfyLatlng;\n\n\t\t\t\t//Hack override the location to be our center\n\t\t\t\tnonAnimatable = true;\n\t\t\t\tif (m._setPos) {\n\t\t\t\t\tm._setPos(thisLayerPos);\n\t\t\t\t\tnonAnimatable = false;\n\t\t\t\t}\n\t\t\t\tif (m.clusterHide) {\n\t\t\t\t\tm.clusterHide();\n\t\t\t\t\tnonAnimatable = false;\n\t\t\t\t}\n\t\t\t\tif (nonAnimatable) {\n\t\t\t\t\tfg.removeLayer(m);\n\t\t\t\t}\n\n\t\t\t\t// Animate the spider leg back in (animation is actually delegated to CSS transition).\n\t\t\t\tif (svg) {\n\t\t\t\t\tleg = m._spiderLeg;\n\t\t\t\t\tlegPath = leg._path;\n\t\t\t\t\tlegLength = legPath.getTotalLength() + 0.1;\n\t\t\t\t\tlegPath.style.strokeDashoffset = legLength;\n\t\t\t\t\tleg.setStyle({opacity: 0});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tgroup._ignoreMove = false;\n\n\t\t\tsetTimeout(function () {\n\t\t\t\t//If we have only <= one child left then that marker will be shown on the map so don't remove it!\n\t\t\t\tvar stillThereChildCount = 0;\n\t\t\t\tfor (i = childMarkers.length - 1; i >= 0; i--) {\n\t\t\t\t\tm = childMarkers[i];\n\t\t\t\t\tif (m._spiderLeg) {\n\t\t\t\t\t\tstillThereChildCount++;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\n\t\t\t\tfor (i = childMarkers.length - 1; i >= 0; i--) {\n\t\t\t\t\tm = childMarkers[i];\n\n\t\t\t\t\tif (!m._spiderLeg) { //Has already been unspiderfied\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (m.clusterShow) {\n\t\t\t\t\t\tm.clusterShow();\n\t\t\t\t\t}\n\t\t\t\t\tif (m.setZIndexOffset) {\n\t\t\t\t\t\tm.setZIndexOffset(0);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (stillThereChildCount > 1) {\n\t\t\t\t\t\tfg.removeLayer(m);\n\t\t\t\t\t}\n\n\t\t\t\t\tmap.removeLayer(m._spiderLeg);\n\t\t\t\t\tdelete m._spiderLeg;\n\t\t\t\t}\n\t\t\t\tgroup._animationEnd();\n\t\t\t\tgroup.fire('unspiderfied', {\n\t\t\t\t\tcluster: me,\n\t\t\t\t\tmarkers: childMarkers\n\t\t\t\t});\n\t\t\t}, 200);\n\t\t}\n\t});\n\n\n\tL.MarkerClusterGroup.include({\n\t\t//The MarkerCluster currently spiderfied (if any)\n\t\t_spiderfied: null,\n\n\t\tunspiderfy: function () {\n\t\t\tthis._unspiderfy.apply(this, arguments);\n\t\t},\n\n\t\t_spiderfierOnAdd: function () {\n\t\t\tthis._map.on('click', this._unspiderfyWrapper, this);\n\n\t\t\tif (this._map.options.zoomAnimation) {\n\t\t\t\tthis._map.on('zoomstart', this._unspiderfyZoomStart, this);\n\t\t\t}\n\t\t\t//Browsers without zoomAnimation or a big zoom don't fire zoomstart\n\t\t\tthis._map.on('zoomend', this._noanimationUnspiderfy, this);\n\n\t\t\tif (!L.Browser.touch) {\n\t\t\t\tthis._map.getRenderer(this);\n\t\t\t\t//Needs to happen in the pageload, not after, or animations don't work in webkit\n\t\t\t\t//  http://stackoverflow.com/questions/8455200/svg-animate-with-dynamically-added-elements\n\t\t\t\t//Disable on touch browsers as the animation messes up on a touch zoom and isn't very noticable\n\t\t\t}\n\t\t},\n\n\t\t_spiderfierOnRemove: function () {\n\t\t\tthis._map.off('click', this._unspiderfyWrapper, this);\n\t\t\tthis._map.off('zoomstart', this._unspiderfyZoomStart, this);\n\t\t\tthis._map.off('zoomanim', this._unspiderfyZoomAnim, this);\n\t\t\tthis._map.off('zoomend', this._noanimationUnspiderfy, this);\n\n\t\t\t//Ensure that markers are back where they should be\n\t\t\t// Use no animation to avoid a sticky leaflet-cluster-anim class on mapPane\n\t\t\tthis._noanimationUnspiderfy();\n\t\t},\n\n\t\t//On zoom start we add a zoomanim handler so that we are guaranteed to be last (after markers are animated)\n\t\t//This means we can define the animation they do rather than Markers doing an animation to their actual location\n\t\t_unspiderfyZoomStart: function () {\n\t\t\tif (!this._map) { //May have been removed from the map by a zoomEnd handler\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis._map.on('zoomanim', this._unspiderfyZoomAnim, this);\n\t\t},\n\n\t\t_unspiderfyZoomAnim: function (zoomDetails) {\n\t\t\t//Wait until the first zoomanim after the user has finished touch-zooming before running the animation\n\t\t\tif (L.DomUtil.hasClass(this._map._mapPane, 'leaflet-touching')) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis._map.off('zoomanim', this._unspiderfyZoomAnim, this);\n\t\t\tthis._unspiderfy(zoomDetails);\n\t\t},\n\n\t\t_unspiderfyWrapper: function () {\n\t\t\t/// <summary>_unspiderfy but passes no arguments</summary>\n\t\t\tthis._unspiderfy();\n\t\t},\n\n\t\t_unspiderfy: function (zoomDetails) {\n\t\t\tif (this._spiderfied) {\n\t\t\t\tthis._spiderfied.unspiderfy(zoomDetails);\n\t\t\t}\n\t\t},\n\n\t\t_noanimationUnspiderfy: function () {\n\t\t\tif (this._spiderfied) {\n\t\t\t\tthis._spiderfied._noanimationUnspiderfy();\n\t\t\t}\n\t\t},\n\n\t\t//If the given layer is currently being spiderfied then we unspiderfy it so it isn't on the map anymore etc\n\t\t_unspiderfyLayer: function (layer) {\n\t\t\tif (layer._spiderLeg) {\n\t\t\t\tthis._featureGroup.removeLayer(layer);\n\n\t\t\t\tif (layer.clusterShow) {\n\t\t\t\t\tlayer.clusterShow();\n\t\t\t\t}\n\t\t\t\t\t//Position will be fixed up immediately in _animationUnspiderfy\n\t\t\t\tif (layer.setZIndexOffset) {\n\t\t\t\t\tlayer.setZIndexOffset(0);\n\t\t\t\t}\n\n\t\t\t\tthis._map.removeLayer(layer._spiderLeg);\n\t\t\t\tdelete layer._spiderLeg;\n\t\t\t}\n\t\t}\n\t});\n\n\t/**\n\t * Adds 1 public method to MCG and 1 to L.Marker to facilitate changing\n\t * markers' icon options and refreshing their icon and their parent clusters\n\t * accordingly (case where their iconCreateFunction uses data of childMarkers\n\t * to make up the cluster icon).\n\t */\n\n\n\tL.MarkerClusterGroup.include({\n\t\t/**\n\t\t * Updates the icon of all clusters which are parents of the given marker(s).\n\t\t * In singleMarkerMode, also updates the given marker(s) icon.\n\t\t * @param layers L.MarkerClusterGroup|L.LayerGroup|Array(L.Marker)|Map(L.Marker)|\n\t\t * L.MarkerCluster|L.Marker (optional) list of markers (or single marker) whose parent\n\t\t * clusters need to be updated. If not provided, retrieves all child markers of this.\n\t\t * @returns {L.MarkerClusterGroup}\n\t\t */\n\t\trefreshClusters: function (layers) {\n\t\t\tif (!layers) {\n\t\t\t\tlayers = this._topClusterLevel.getAllChildMarkers();\n\t\t\t} else if (layers instanceof L.MarkerClusterGroup) {\n\t\t\t\tlayers = layers._topClusterLevel.getAllChildMarkers();\n\t\t\t} else if (layers instanceof L.LayerGroup) {\n\t\t\t\tlayers = layers._layers;\n\t\t\t} else if (layers instanceof L.MarkerCluster) {\n\t\t\t\tlayers = layers.getAllChildMarkers();\n\t\t\t} else if (layers instanceof L.Marker) {\n\t\t\t\tlayers = [layers];\n\t\t\t} // else: must be an Array(L.Marker)|Map(L.Marker)\n\t\t\tthis._flagParentsIconsNeedUpdate(layers);\n\t\t\tthis._refreshClustersIcons();\n\n\t\t\t// In case of singleMarkerMode, also re-draw the markers.\n\t\t\tif (this.options.singleMarkerMode) {\n\t\t\t\tthis._refreshSingleMarkerModeMarkers(layers);\n\t\t\t}\n\n\t\t\treturn this;\n\t\t},\n\n\t\t/**\n\t\t * Simply flags all parent clusters of the given markers as having a \"dirty\" icon.\n\t\t * @param layers Array(L.Marker)|Map(L.Marker) list of markers.\n\t\t * @private\n\t\t */\n\t\t_flagParentsIconsNeedUpdate: function (layers) {\n\t\t\tvar id, parent;\n\n\t\t\t// Assumes layers is an Array or an Object whose prototype is non-enumerable.\n\t\t\tfor (id in layers) {\n\t\t\t\t// Flag parent clusters' icon as \"dirty\", all the way up.\n\t\t\t\t// Dumb process that flags multiple times upper parents, but still\n\t\t\t\t// much more efficient than trying to be smart and make short lists,\n\t\t\t\t// at least in the case of a hierarchy following a power law:\n\t\t\t\t// http://jsperf.com/flag-nodes-in-power-hierarchy/2\n\t\t\t\tparent = layers[id].__parent;\n\t\t\t\twhile (parent) {\n\t\t\t\t\tparent._iconNeedsUpdate = true;\n\t\t\t\t\tparent = parent.__parent;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Re-draws the icon of the supplied markers.\n\t\t * To be used in singleMarkerMode only.\n\t\t * @param layers Array(L.Marker)|Map(L.Marker) list of markers.\n\t\t * @private\n\t\t */\n\t\t_refreshSingleMarkerModeMarkers: function (layers) {\n\t\t\tvar id, layer;\n\n\t\t\tfor (id in layers) {\n\t\t\t\tlayer = layers[id];\n\n\t\t\t\t// Make sure we do not override markers that do not belong to THIS group.\n\t\t\t\tif (this.hasLayer(layer)) {\n\t\t\t\t\t// Need to re-create the icon first, then re-draw the marker.\n\t\t\t\t\tlayer.setIcon(this._overrideMarkerIcon(layer));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\tL.Marker.include({\n\t\t/**\n\t\t * Updates the given options in the marker's icon and refreshes the marker.\n\t\t * @param options map object of icon options.\n\t\t * @param directlyRefreshClusters boolean (optional) true to trigger\n\t\t * MCG.refreshClustersOf() right away with this single marker.\n\t\t * @returns {L.Marker}\n\t\t */\n\t\trefreshIconOptions: function (options, directlyRefreshClusters) {\n\t\t\tvar icon = this.options.icon;\n\n\t\t\tL.setOptions(icon, options);\n\n\t\t\tthis.setIcon(icon);\n\n\t\t\t// Shortcut to refresh the associated MCG clusters right away.\n\t\t\t// To be used when refreshing a single marker.\n\t\t\t// Otherwise, better use MCG.refreshClusters() once at the end with\n\t\t\t// the list of modified markers.\n\t\t\tif (directlyRefreshClusters && this.__parent) {\n\t\t\t\tthis.__parent._group.refreshClusters(this);\n\t\t\t}\n\n\t\t\treturn this;\n\t\t}\n\t});\n\n\texports.MarkerClusterGroup = MarkerClusterGroup;\n\texports.MarkerCluster = MarkerCluster;\n\n\tObject.defineProperty(exports, '__esModule', { value: true });\n\n}));\n//# sourceMappingURL=leaflet.markercluster-src.js.map\n"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/files/leaflet.markercluster/leaflet.markercluster.js",
    "content": "!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(exports):\"function\"==typeof define&&define.amd?define([\"exports\"],t):t(((e=e||self).Leaflet=e.Leaflet||{},e.Leaflet.markercluster={}))}(this,function(e){\"use strict\";var t=L.MarkerClusterGroup=L.FeatureGroup.extend({options:{maxClusterRadius:80,iconCreateFunction:null,clusterPane:L.Marker.prototype.options.pane,spiderfyOnEveryZoom:!1,spiderfyOnMaxZoom:!0,showCoverageOnHover:!0,zoomToBoundsOnClick:!0,singleMarkerMode:!1,disableClusteringAtZoom:null,removeOutsideVisibleBounds:!0,animate:!0,animateAddingMarkers:!1,spiderfyShapePositions:null,spiderfyDistanceMultiplier:1,spiderLegPolylineOptions:{weight:1.5,color:\"#222\",opacity:.5},chunkedLoading:!1,chunkInterval:200,chunkDelay:50,chunkProgress:null,polygonOptions:{}},initialize:function(e){L.Util.setOptions(this,e),this.options.iconCreateFunction||(this.options.iconCreateFunction=this._defaultIconCreateFunction),this._featureGroup=L.featureGroup(),this._featureGroup.addEventParent(this),this._nonPointGroup=L.featureGroup(),this._nonPointGroup.addEventParent(this),this._inZoomAnimation=0,this._needsClustering=[],this._needsRemoving=[],this._currentShownBounds=null,this._queue=[],this._childMarkerEventHandlers={dragstart:this._childMarkerDragStart,move:this._childMarkerMoved,dragend:this._childMarkerDragEnd};var t=L.DomUtil.TRANSITION&&this.options.animate;L.extend(this,t?this._withAnimation:this._noAnimation),this._markerCluster=t?L.MarkerCluster:L.MarkerClusterNonAnimated},addLayer:function(e){if(e instanceof L.LayerGroup)return this.addLayers([e]);if(!e.getLatLng)return this._nonPointGroup.addLayer(e),this.fire(\"layeradd\",{layer:e}),this;if(!this._map)return this._needsClustering.push(e),this.fire(\"layeradd\",{layer:e}),this;if(this.hasLayer(e))return this;this._unspiderfy&&this._unspiderfy(),this._addLayer(e,this._maxZoom),this.fire(\"layeradd\",{layer:e}),this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons();var t=e,i=this._zoom;if(e.__parent)for(;t.__parent._zoom>=i;)t=t.__parent;return this._currentShownBounds.contains(t.getLatLng())&&(this.options.animateAddingMarkers?this._animationAddLayer(e,t):this._animationAddLayerNonAnimated(e,t)),this},removeLayer:function(e){return e instanceof L.LayerGroup?this.removeLayers([e]):(e.getLatLng?this._map?e.__parent&&(this._unspiderfy&&(this._unspiderfy(),this._unspiderfyLayer(e)),this._removeLayer(e,!0),this.fire(\"layerremove\",{layer:e}),this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons(),e.off(this._childMarkerEventHandlers,this),this._featureGroup.hasLayer(e)&&(this._featureGroup.removeLayer(e),e.clusterShow&&e.clusterShow())):(!this._arraySplice(this._needsClustering,e)&&this.hasLayer(e)&&this._needsRemoving.push({layer:e,latlng:e._latlng}),this.fire(\"layerremove\",{layer:e})):(this._nonPointGroup.removeLayer(e),this.fire(\"layerremove\",{layer:e})),this)},addLayers:function(n,s){if(!L.Util.isArray(n))return this.addLayer(n);var o,a=this._featureGroup,h=this._nonPointGroup,l=this.options.chunkedLoading,u=this.options.chunkInterval,_=this.options.chunkProgress,d=n.length,p=0,c=!0;if(this._map){var f=(new Date).getTime(),m=L.bind(function(){var e=(new Date).getTime();for(this._map&&this._unspiderfy&&this._unspiderfy();p<d;p++){if(l&&p%200==0){var t=(new Date).getTime()-e;if(u<t)break}if((o=n[p])instanceof L.LayerGroup)c&&(n=n.slice(),c=!1),this._extractNonGroupLayers(o,n),d=n.length;else if(o.getLatLng){if(!this.hasLayer(o)&&(this._addLayer(o,this._maxZoom),s||this.fire(\"layeradd\",{layer:o}),o.__parent&&2===o.__parent.getChildCount())){var i=o.__parent.getAllChildMarkers(),r=i[0]===o?i[1]:i[0];a.removeLayer(r)}}else h.addLayer(o),s||this.fire(\"layeradd\",{layer:o})}_&&_(p,d,(new Date).getTime()-f),p===d?(this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons(),this._topClusterLevel._recursivelyAddChildrenToMap(null,this._zoom,this._currentShownBounds)):setTimeout(m,this.options.chunkDelay)},this);m()}else for(var e=this._needsClustering;p<d;p++)(o=n[p])instanceof L.LayerGroup?(c&&(n=n.slice(),c=!1),this._extractNonGroupLayers(o,n),d=n.length):o.getLatLng?this.hasLayer(o)||e.push(o):h.addLayer(o);return this},removeLayers:function(e){var t,i,r=e.length,n=this._featureGroup,s=this._nonPointGroup,o=!0;if(!this._map){for(t=0;t<r;t++)(i=e[t])instanceof L.LayerGroup?(o&&(e=e.slice(),o=!1),this._extractNonGroupLayers(i,e),r=e.length):(this._arraySplice(this._needsClustering,i),s.removeLayer(i),this.hasLayer(i)&&this._needsRemoving.push({layer:i,latlng:i._latlng}),this.fire(\"layerremove\",{layer:i}));return this}if(this._unspiderfy){this._unspiderfy();var a=e.slice(),h=r;for(t=0;t<h;t++)(i=a[t])instanceof L.LayerGroup?(this._extractNonGroupLayers(i,a),h=a.length):this._unspiderfyLayer(i)}for(t=0;t<r;t++)(i=e[t])instanceof L.LayerGroup?(o&&(e=e.slice(),o=!1),this._extractNonGroupLayers(i,e),r=e.length):i.__parent?(this._removeLayer(i,!0,!0),this.fire(\"layerremove\",{layer:i}),n.hasLayer(i)&&(n.removeLayer(i),i.clusterShow&&i.clusterShow())):(s.removeLayer(i),this.fire(\"layerremove\",{layer:i}));return this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons(),this._topClusterLevel._recursivelyAddChildrenToMap(null,this._zoom,this._currentShownBounds),this},clearLayers:function(){return this._map||(this._needsClustering=[],this._needsRemoving=[],delete this._gridClusters,delete this._gridUnclustered),this._noanimationUnspiderfy&&this._noanimationUnspiderfy(),this._featureGroup.clearLayers(),this._nonPointGroup.clearLayers(),this.eachLayer(function(e){e.off(this._childMarkerEventHandlers,this),delete e.__parent},this),this._map&&this._generateInitialClusters(),this},getBounds:function(){var e=new L.LatLngBounds;this._topClusterLevel&&e.extend(this._topClusterLevel._bounds);for(var t=this._needsClustering.length-1;0<=t;t--)e.extend(this._needsClustering[t].getLatLng());return e.extend(this._nonPointGroup.getBounds()),e},eachLayer:function(e,t){var i,r,n,s=this._needsClustering.slice(),o=this._needsRemoving;for(this._topClusterLevel&&this._topClusterLevel.getAllChildMarkers(s),r=s.length-1;0<=r;r--){for(i=!0,n=o.length-1;0<=n;n--)if(o[n].layer===s[r]){i=!1;break}i&&e.call(t,s[r])}this._nonPointGroup.eachLayer(e,t)},getLayers:function(){var t=[];return this.eachLayer(function(e){t.push(e)}),t},getLayer:function(t){var i=null;return t=parseInt(t,10),this.eachLayer(function(e){L.stamp(e)===t&&(i=e)}),i},hasLayer:function(e){if(!e)return!1;var t,i=this._needsClustering;for(t=i.length-1;0<=t;t--)if(i[t]===e)return!0;for(t=(i=this._needsRemoving).length-1;0<=t;t--)if(i[t].layer===e)return!1;return!(!e.__parent||e.__parent._group!==this)||this._nonPointGroup.hasLayer(e)},zoomToShowLayer:function(e,t){var i=this._map;\"function\"!=typeof t&&(t=function(){});var r=function(){!i.hasLayer(e)&&!i.hasLayer(e.__parent)||this._inZoomAnimation||(this._map.off(\"moveend\",r,this),this.off(\"animationend\",r,this),i.hasLayer(e)?t():e.__parent._icon&&(this.once(\"spiderfied\",t,this),e.__parent.spiderfy()))};e._icon&&this._map.getBounds().contains(e.getLatLng())?t():e.__parent._zoom<Math.round(this._map._zoom)?(this._map.on(\"moveend\",r,this),this._map.panTo(e.getLatLng())):(this._map.on(\"moveend\",r,this),this.on(\"animationend\",r,this),e.__parent.zoomToBounds())},onAdd:function(e){var t,i,r;if(this._map=e,!isFinite(this._map.getMaxZoom()))throw\"Map has no maxZoom specified\";for(this._featureGroup.addTo(e),this._nonPointGroup.addTo(e),this._gridClusters||this._generateInitialClusters(),this._maxLat=e.options.crs.projection.MAX_LATITUDE,t=0,i=this._needsRemoving.length;t<i;t++)(r=this._needsRemoving[t]).newlatlng=r.layer._latlng,r.layer._latlng=r.latlng;for(t=0,i=this._needsRemoving.length;t<i;t++)r=this._needsRemoving[t],this._removeLayer(r.layer,!0),r.layer._latlng=r.newlatlng;this._needsRemoving=[],this._zoom=Math.round(this._map._zoom),this._currentShownBounds=this._getExpandedVisibleBounds(),this._map.on(\"zoomend\",this._zoomEnd,this),this._map.on(\"moveend\",this._moveEnd,this),this._spiderfierOnAdd&&this._spiderfierOnAdd(),this._bindEvents(),i=this._needsClustering,this._needsClustering=[],this.addLayers(i,!0)},onRemove:function(e){e.off(\"zoomend\",this._zoomEnd,this),e.off(\"moveend\",this._moveEnd,this),this._unbindEvents(),this._map._mapPane.className=this._map._mapPane.className.replace(\" leaflet-cluster-anim\",\"\"),this._spiderfierOnRemove&&this._spiderfierOnRemove(),delete this._maxLat,this._hideCoverage(),this._featureGroup.remove(),this._nonPointGroup.remove(),this._featureGroup.clearLayers(),this._map=null},getVisibleParent:function(e){for(var t=e;t&&!t._icon;)t=t.__parent;return t||null},_arraySplice:function(e,t){for(var i=e.length-1;0<=i;i--)if(e[i]===t)return e.splice(i,1),!0},_removeFromGridUnclustered:function(e,t){for(var i=this._map,r=this._gridUnclustered,n=Math.floor(this._map.getMinZoom());n<=t&&r[t].removeObject(e,i.project(e.getLatLng(),t));t--);},_childMarkerDragStart:function(e){e.target.__dragStart=e.target._latlng},_childMarkerMoved:function(e){if(!this._ignoreMove&&!e.target.__dragStart){var t=e.target._popup&&e.target._popup.isOpen();this._moveChild(e.target,e.oldLatLng,e.latlng),t&&e.target.openPopup()}},_moveChild:function(e,t,i){e._latlng=t,this.removeLayer(e),e._latlng=i,this.addLayer(e)},_childMarkerDragEnd:function(e){var t=e.target.__dragStart;delete e.target.__dragStart,t&&this._moveChild(e.target,t,e.target._latlng)},_removeLayer:function(e,t,i){var r=this._gridClusters,n=this._gridUnclustered,s=this._featureGroup,o=this._map,a=Math.floor(this._map.getMinZoom());t&&this._removeFromGridUnclustered(e,this._maxZoom);var h,l=e.__parent,u=l._markers;for(this._arraySplice(u,e);l&&(l._childCount--,l._boundsNeedUpdate=!0,!(l._zoom<a));)t&&l._childCount<=1?(h=l._markers[0]===e?l._markers[1]:l._markers[0],r[l._zoom].removeObject(l,o.project(l._cLatLng,l._zoom)),n[l._zoom].addObject(h,o.project(h.getLatLng(),l._zoom)),this._arraySplice(l.__parent._childClusters,l),l.__parent._markers.push(h),h.__parent=l.__parent,l._icon&&(s.removeLayer(l),i||s.addLayer(h))):l._iconNeedsUpdate=!0,l=l.__parent;delete e.__parent},_isOrIsParent:function(e,t){for(;t;){if(e===t)return!0;t=t.parentNode}return!1},fire:function(e,t,i){if(t&&t.layer instanceof L.MarkerCluster){if(t.originalEvent&&this._isOrIsParent(t.layer._icon,t.originalEvent.relatedTarget))return;e=\"cluster\"+e}L.FeatureGroup.prototype.fire.call(this,e,t,i)},listens:function(e,t){return L.FeatureGroup.prototype.listens.call(this,e,t)||L.FeatureGroup.prototype.listens.call(this,\"cluster\"+e,t)},_defaultIconCreateFunction:function(e){var t=e.getChildCount(),i=\" marker-cluster-\";return i+=t<10?\"small\":t<100?\"medium\":\"large\",new L.DivIcon({html:\"<div><span>\"+t+\"</span></div>\",className:\"marker-cluster\"+i,iconSize:new L.Point(40,40)})},_bindEvents:function(){var e=this._map,t=this.options.spiderfyOnMaxZoom,i=this.options.showCoverageOnHover,r=this.options.zoomToBoundsOnClick,n=this.options.spiderfyOnEveryZoom;(t||r||n)&&this.on(\"clusterclick clusterkeypress\",this._zoomOrSpiderfy,this),i&&(this.on(\"clustermouseover\",this._showCoverage,this),this.on(\"clustermouseout\",this._hideCoverage,this),e.on(\"zoomend\",this._hideCoverage,this))},_zoomOrSpiderfy:function(e){var t=e.layer,i=t;if(\"clusterkeypress\"!==e.type||!e.originalEvent||13===e.originalEvent.keyCode){for(;1===i._childClusters.length;)i=i._childClusters[0];i._zoom===this._maxZoom&&i._childCount===t._childCount&&this.options.spiderfyOnMaxZoom?t.spiderfy():this.options.zoomToBoundsOnClick&&t.zoomToBounds(),this.options.spiderfyOnEveryZoom&&t.spiderfy(),e.originalEvent&&13===e.originalEvent.keyCode&&this._map._container.focus()}},_showCoverage:function(e){var t=this._map;this._inZoomAnimation||(this._shownPolygon&&t.removeLayer(this._shownPolygon),2<e.layer.getChildCount()&&e.layer!==this._spiderfied&&(this._shownPolygon=new L.Polygon(e.layer.getConvexHull(),this.options.polygonOptions),t.addLayer(this._shownPolygon)))},_hideCoverage:function(){this._shownPolygon&&(this._map.removeLayer(this._shownPolygon),this._shownPolygon=null)},_unbindEvents:function(){var e=this.options.spiderfyOnMaxZoom,t=this.options.showCoverageOnHover,i=this.options.zoomToBoundsOnClick,r=this.options.spiderfyOnEveryZoom,n=this._map;(e||i||r)&&this.off(\"clusterclick clusterkeypress\",this._zoomOrSpiderfy,this),t&&(this.off(\"clustermouseover\",this._showCoverage,this),this.off(\"clustermouseout\",this._hideCoverage,this),n.off(\"zoomend\",this._hideCoverage,this))},_zoomEnd:function(){this._map&&(this._mergeSplitClusters(),this._zoom=Math.round(this._map._zoom),this._currentShownBounds=this._getExpandedVisibleBounds())},_moveEnd:function(){if(!this._inZoomAnimation){var e=this._getExpandedVisibleBounds();this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),this._zoom,e),this._topClusterLevel._recursivelyAddChildrenToMap(null,Math.round(this._map._zoom),e),this._currentShownBounds=e}},_generateInitialClusters:function(){var e=Math.ceil(this._map.getMaxZoom()),t=Math.floor(this._map.getMinZoom()),i=this.options.maxClusterRadius,r=i;\"function\"!=typeof i&&(r=function(){return i}),null!==this.options.disableClusteringAtZoom&&(e=this.options.disableClusteringAtZoom-1),this._maxZoom=e,this._gridClusters={},this._gridUnclustered={};for(var n=e;t<=n;n--)this._gridClusters[n]=new L.DistanceGrid(r(n)),this._gridUnclustered[n]=new L.DistanceGrid(r(n));this._topClusterLevel=new this._markerCluster(this,t-1)},_addLayer:function(e,t){var i,r,n=this._gridClusters,s=this._gridUnclustered,o=Math.floor(this._map.getMinZoom());for(this.options.singleMarkerMode&&this._overrideMarkerIcon(e),e.on(this._childMarkerEventHandlers,this);o<=t;t--){i=this._map.project(e.getLatLng(),t);var a=n[t].getNearObject(i);if(a)return a._addChild(e),void(e.__parent=a);if(a=s[t].getNearObject(i)){var h=a.__parent;h&&this._removeLayer(a,!1);var l=new this._markerCluster(this,t,a,e);n[t].addObject(l,this._map.project(l._cLatLng,t)),a.__parent=l;var u=e.__parent=l;for(r=t-1;r>h._zoom;r--)u=new this._markerCluster(this,r,u),n[r].addObject(u,this._map.project(a.getLatLng(),r));return h._addChild(u),void this._removeFromGridUnclustered(a,t)}s[t].addObject(e,i)}this._topClusterLevel._addChild(e),e.__parent=this._topClusterLevel},_refreshClustersIcons:function(){this._featureGroup.eachLayer(function(e){e instanceof L.MarkerCluster&&e._iconNeedsUpdate&&e._updateIcon()})},_enqueue:function(e){this._queue.push(e),this._queueTimeout||(this._queueTimeout=setTimeout(L.bind(this._processQueue,this),300))},_processQueue:function(){for(var e=0;e<this._queue.length;e++)this._queue[e].call(this);this._queue.length=0,clearTimeout(this._queueTimeout),this._queueTimeout=null},_mergeSplitClusters:function(){var e=Math.round(this._map._zoom);this._processQueue(),this._zoom<e&&this._currentShownBounds.intersects(this._getExpandedVisibleBounds())?(this._animationStart(),this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),this._zoom,this._getExpandedVisibleBounds()),this._animationZoomIn(this._zoom,e)):this._zoom>e?(this._animationStart(),this._animationZoomOut(this._zoom,e)):this._moveEnd()},_getExpandedVisibleBounds:function(){return this.options.removeOutsideVisibleBounds?L.Browser.mobile?this._checkBoundsMaxLat(this._map.getBounds()):this._checkBoundsMaxLat(this._map.getBounds().pad(1)):this._mapBoundsInfinite},_checkBoundsMaxLat:function(e){var t=this._maxLat;return void 0!==t&&(e.getNorth()>=t&&(e._northEast.lat=1/0),e.getSouth()<=-t&&(e._southWest.lat=-1/0)),e},_animationAddLayerNonAnimated:function(e,t){if(t===e)this._featureGroup.addLayer(e);else if(2===t._childCount){t._addToMap();var i=t.getAllChildMarkers();this._featureGroup.removeLayer(i[0]),this._featureGroup.removeLayer(i[1])}else t._updateIcon()},_extractNonGroupLayers:function(e,t){var i,r=e.getLayers(),n=0;for(t=t||[];n<r.length;n++)(i=r[n])instanceof L.LayerGroup?this._extractNonGroupLayers(i,t):t.push(i);return t},_overrideMarkerIcon:function(e){return e.options.icon=this.options.iconCreateFunction({getChildCount:function(){return 1},getAllChildMarkers:function(){return[e]}})}});L.MarkerClusterGroup.include({_mapBoundsInfinite:new L.LatLngBounds(new L.LatLng(-1/0,-1/0),new L.LatLng(1/0,1/0))}),L.MarkerClusterGroup.include({_noAnimation:{_animationStart:function(){},_animationZoomIn:function(e,t){this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),e),this._topClusterLevel._recursivelyAddChildrenToMap(null,t,this._getExpandedVisibleBounds()),this.fire(\"animationend\")},_animationZoomOut:function(e,t){this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),e),this._topClusterLevel._recursivelyAddChildrenToMap(null,t,this._getExpandedVisibleBounds()),this.fire(\"animationend\")},_animationAddLayer:function(e,t){this._animationAddLayerNonAnimated(e,t)}},_withAnimation:{_animationStart:function(){this._map._mapPane.className+=\" leaflet-cluster-anim\",this._inZoomAnimation++},_animationZoomIn:function(n,s){var o,a=this._getExpandedVisibleBounds(),h=this._featureGroup,e=Math.floor(this._map.getMinZoom());this._ignoreMove=!0,this._topClusterLevel._recursively(a,n,e,function(e){var t,i=e._latlng,r=e._markers;for(a.contains(i)||(i=null),e._isSingleParent()&&n+1===s?(h.removeLayer(e),e._recursivelyAddChildrenToMap(null,s,a)):(e.clusterHide(),e._recursivelyAddChildrenToMap(i,s,a)),o=r.length-1;0<=o;o--)t=r[o],a.contains(t._latlng)||h.removeLayer(t)}),this._forceLayout(),this._topClusterLevel._recursivelyBecomeVisible(a,s),h.eachLayer(function(e){e instanceof L.MarkerCluster||!e._icon||e.clusterShow()}),this._topClusterLevel._recursively(a,n,s,function(e){e._recursivelyRestoreChildPositions(s)}),this._ignoreMove=!1,this._enqueue(function(){this._topClusterLevel._recursively(a,n,e,function(e){h.removeLayer(e),e.clusterShow()}),this._animationEnd()})},_animationZoomOut:function(e,t){this._animationZoomOutSingle(this._topClusterLevel,e-1,t),this._topClusterLevel._recursivelyAddChildrenToMap(null,t,this._getExpandedVisibleBounds()),this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),e,this._getExpandedVisibleBounds())},_animationAddLayer:function(e,t){var i=this,r=this._featureGroup;r.addLayer(e),t!==e&&(2<t._childCount?(t._updateIcon(),this._forceLayout(),this._animationStart(),e._setPos(this._map.latLngToLayerPoint(t.getLatLng())),e.clusterHide(),this._enqueue(function(){r.removeLayer(e),e.clusterShow(),i._animationEnd()})):(this._forceLayout(),i._animationStart(),i._animationZoomOutSingle(t,this._map.getMaxZoom(),this._zoom)))}},_animationZoomOutSingle:function(t,i,r){var n=this._getExpandedVisibleBounds(),s=Math.floor(this._map.getMinZoom());t._recursivelyAnimateChildrenInAndAddSelfToMap(n,s,i+1,r);var o=this;this._forceLayout(),t._recursivelyBecomeVisible(n,r),this._enqueue(function(){if(1===t._childCount){var e=t._markers[0];this._ignoreMove=!0,e.setLatLng(e.getLatLng()),this._ignoreMove=!1,e.clusterShow&&e.clusterShow()}else t._recursively(n,r,s,function(e){e._recursivelyRemoveChildrenFromMap(n,s,i+1)});o._animationEnd()})},_animationEnd:function(){this._map&&(this._map._mapPane.className=this._map._mapPane.className.replace(\" leaflet-cluster-anim\",\"\")),this._inZoomAnimation--,this.fire(\"animationend\")},_forceLayout:function(){L.Util.falseFn(document.body.offsetWidth)}}),L.markerClusterGroup=function(e){return new L.MarkerClusterGroup(e)};var i=L.MarkerCluster=L.Marker.extend({options:L.Icon.prototype.options,initialize:function(e,t,i,r){L.Marker.prototype.initialize.call(this,i?i._cLatLng||i.getLatLng():new L.LatLng(0,0),{icon:this,pane:e.options.clusterPane}),this._group=e,this._zoom=t,this._markers=[],this._childClusters=[],this._childCount=0,this._iconNeedsUpdate=!0,this._boundsNeedUpdate=!0,this._bounds=new L.LatLngBounds,i&&this._addChild(i),r&&this._addChild(r)},getAllChildMarkers:function(e,t){e=e||[];for(var i=this._childClusters.length-1;0<=i;i--)this._childClusters[i].getAllChildMarkers(e,t);for(var r=this._markers.length-1;0<=r;r--)t&&this._markers[r].__dragStart||e.push(this._markers[r]);return e},getChildCount:function(){return this._childCount},zoomToBounds:function(e){for(var t,i=this._childClusters.slice(),r=this._group._map,n=r.getBoundsZoom(this._bounds),s=this._zoom+1,o=r.getZoom();0<i.length&&s<n;){s++;var a=[];for(t=0;t<i.length;t++)a=a.concat(i[t]._childClusters);i=a}s<n?this._group._map.setView(this._latlng,s):n<=o?this._group._map.setView(this._latlng,o+1):this._group._map.fitBounds(this._bounds,e)},getBounds:function(){var e=new L.LatLngBounds;return e.extend(this._bounds),e},_updateIcon:function(){this._iconNeedsUpdate=!0,this._icon&&this.setIcon(this)},createIcon:function(){return this._iconNeedsUpdate&&(this._iconObj=this._group.options.iconCreateFunction(this),this._iconNeedsUpdate=!1),this._iconObj.createIcon()},createShadow:function(){return this._iconObj.createShadow()},_addChild:function(e,t){this._iconNeedsUpdate=!0,this._boundsNeedUpdate=!0,this._setClusterCenter(e),e instanceof L.MarkerCluster?(t||(this._childClusters.push(e),e.__parent=this),this._childCount+=e._childCount):(t||this._markers.push(e),this._childCount++),this.__parent&&this.__parent._addChild(e,!0)},_setClusterCenter:function(e){this._cLatLng||(this._cLatLng=e._cLatLng||e._latlng)},_resetBounds:function(){var e=this._bounds;e._southWest&&(e._southWest.lat=1/0,e._southWest.lng=1/0),e._northEast&&(e._northEast.lat=-1/0,e._northEast.lng=-1/0)},_recalculateBounds:function(){var e,t,i,r,n=this._markers,s=this._childClusters,o=0,a=0,h=this._childCount;if(0!==h){for(this._resetBounds(),e=0;e<n.length;e++)i=n[e]._latlng,this._bounds.extend(i),o+=i.lat,a+=i.lng;for(e=0;e<s.length;e++)(t=s[e])._boundsNeedUpdate&&t._recalculateBounds(),this._bounds.extend(t._bounds),i=t._wLatLng,r=t._childCount,o+=i.lat*r,a+=i.lng*r;this._latlng=this._wLatLng=new L.LatLng(o/h,a/h),this._boundsNeedUpdate=!1}},_addToMap:function(e){e&&(this._backupLatlng=this._latlng,this.setLatLng(e)),this._group._featureGroup.addLayer(this)},_recursivelyAnimateChildrenIn:function(e,n,t){this._recursively(e,this._group._map.getMinZoom(),t-1,function(e){var t,i,r=e._markers;for(t=r.length-1;0<=t;t--)(i=r[t])._icon&&(i._setPos(n),i.clusterHide())},function(e){var t,i,r=e._childClusters;for(t=r.length-1;0<=t;t--)(i=r[t])._icon&&(i._setPos(n),i.clusterHide())})},_recursivelyAnimateChildrenInAndAddSelfToMap:function(t,i,r,n){this._recursively(t,n,i,function(e){e._recursivelyAnimateChildrenIn(t,e._group._map.latLngToLayerPoint(e.getLatLng()).round(),r),e._isSingleParent()&&r-1===n?(e.clusterShow(),e._recursivelyRemoveChildrenFromMap(t,i,r)):e.clusterHide(),e._addToMap()})},_recursivelyBecomeVisible:function(e,t){this._recursively(e,this._group._map.getMinZoom(),t,null,function(e){e.clusterShow()})},_recursivelyAddChildrenToMap:function(r,n,s){this._recursively(s,this._group._map.getMinZoom()-1,n,function(e){if(n!==e._zoom)for(var t=e._markers.length-1;0<=t;t--){var i=e._markers[t];s.contains(i._latlng)&&(r&&(i._backupLatlng=i.getLatLng(),i.setLatLng(r),i.clusterHide&&i.clusterHide()),e._group._featureGroup.addLayer(i))}},function(e){e._addToMap(r)})},_recursivelyRestoreChildPositions:function(e){for(var t=this._markers.length-1;0<=t;t--){var i=this._markers[t];i._backupLatlng&&(i.setLatLng(i._backupLatlng),delete i._backupLatlng)}if(e-1===this._zoom)for(var r=this._childClusters.length-1;0<=r;r--)this._childClusters[r]._restorePosition();else for(var n=this._childClusters.length-1;0<=n;n--)this._childClusters[n]._recursivelyRestoreChildPositions(e)},_restorePosition:function(){this._backupLatlng&&(this.setLatLng(this._backupLatlng),delete this._backupLatlng)},_recursivelyRemoveChildrenFromMap:function(e,t,i,r){var n,s;this._recursively(e,t-1,i-1,function(e){for(s=e._markers.length-1;0<=s;s--)n=e._markers[s],r&&r.contains(n._latlng)||(e._group._featureGroup.removeLayer(n),n.clusterShow&&n.clusterShow())},function(e){for(s=e._childClusters.length-1;0<=s;s--)n=e._childClusters[s],r&&r.contains(n._latlng)||(e._group._featureGroup.removeLayer(n),n.clusterShow&&n.clusterShow())})},_recursively:function(e,t,i,r,n){var s,o,a=this._childClusters,h=this._zoom;if(t<=h&&(r&&r(this),n&&h===i&&n(this)),h<t||h<i)for(s=a.length-1;0<=s;s--)(o=a[s])._boundsNeedUpdate&&o._recalculateBounds(),e.intersects(o._bounds)&&o._recursively(e,t,i,r,n)},_isSingleParent:function(){return 0<this._childClusters.length&&this._childClusters[0]._childCount===this._childCount}});L.Marker.include({clusterHide:function(){var e=this.options.opacity;return this.setOpacity(0),this.options.opacity=e,this},clusterShow:function(){return this.setOpacity(this.options.opacity)}}),L.DistanceGrid=function(e){this._cellSize=e,this._sqCellSize=e*e,this._grid={},this._objectPoint={}},L.DistanceGrid.prototype={addObject:function(e,t){var i=this._getCoord(t.x),r=this._getCoord(t.y),n=this._grid,s=n[r]=n[r]||{},o=s[i]=s[i]||[],a=L.Util.stamp(e);this._objectPoint[a]=t,o.push(e)},updateObject:function(e,t){this.removeObject(e),this.addObject(e,t)},removeObject:function(e,t){var i,r,n=this._getCoord(t.x),s=this._getCoord(t.y),o=this._grid,a=o[s]=o[s]||{},h=a[n]=a[n]||[];for(delete this._objectPoint[L.Util.stamp(e)],i=0,r=h.length;i<r;i++)if(h[i]===e)return h.splice(i,1),1===r&&delete a[n],!0},eachObject:function(e,t){var i,r,n,s,o,a,h=this._grid;for(i in h)for(r in o=h[i])for(n=0,s=(a=o[r]).length;n<s;n++)e.call(t,a[n])&&(n--,s--)},getNearObject:function(e){var t,i,r,n,s,o,a,h,l=this._getCoord(e.x),u=this._getCoord(e.y),_=this._objectPoint,d=this._sqCellSize,p=null;for(t=u-1;t<=u+1;t++)if(n=this._grid[t])for(i=l-1;i<=l+1;i++)if(s=n[i])for(r=0,o=s.length;r<o;r++)a=s[r],((h=this._sqDist(_[L.Util.stamp(a)],e))<d||h<=d&&null===p)&&(d=h,p=a);return p},_getCoord:function(e){var t=Math.floor(e/this._cellSize);return isFinite(t)?t:e},_sqDist:function(e,t){var i=t.x-e.x,r=t.y-e.y;return i*i+r*r}},L.QuickHull={getDistant:function(e,t){var i=t[1].lat-t[0].lat;return(t[0].lng-t[1].lng)*(e.lat-t[0].lat)+i*(e.lng-t[0].lng)},findMostDistantPointFromBaseLine:function(e,t){var i,r,n,s=0,o=null,a=[];for(i=t.length-1;0<=i;i--)r=t[i],0<(n=this.getDistant(r,e))&&(a.push(r),s<n&&(s=n,o=r));return{maxPoint:o,newPoints:a}},buildConvexHull:function(e,t){var i=[],r=this.findMostDistantPointFromBaseLine(e,t);return r.maxPoint?i=(i=i.concat(this.buildConvexHull([e[0],r.maxPoint],r.newPoints))).concat(this.buildConvexHull([r.maxPoint,e[1]],r.newPoints)):[e[0]]},getConvexHull:function(e){var t,i=!1,r=!1,n=!1,s=!1,o=null,a=null,h=null,l=null,u=null,_=null;for(t=e.length-1;0<=t;t--){var d=e[t];(!1===i||d.lat>i)&&(i=(o=d).lat),(!1===r||d.lat<r)&&(r=(a=d).lat),(!1===n||d.lng>n)&&(n=(h=d).lng),(!1===s||d.lng<s)&&(s=(l=d).lng)}return u=r!==i?(_=a,o):(_=l,h),[].concat(this.buildConvexHull([_,u],e),this.buildConvexHull([u,_],e))}},L.MarkerCluster.include({getConvexHull:function(){var e,t,i=this.getAllChildMarkers(),r=[];for(t=i.length-1;0<=t;t--)e=i[t].getLatLng(),r.push(e);return L.QuickHull.getConvexHull(r)}}),L.MarkerCluster.include({_2PI:2*Math.PI,_circleFootSeparation:25,_circleStartAngle:0,_spiralFootSeparation:28,_spiralLengthStart:11,_spiralLengthFactor:5,_circleSpiralSwitchover:9,spiderfy:function(){if(this._group._spiderfied!==this&&!this._group._inZoomAnimation){var e,t=this.getAllChildMarkers(null,!0),i=this._group._map.latLngToLayerPoint(this._latlng);this._group._unspiderfy(),e=(this._group._spiderfied=this)._group.options.spiderfyShapePositions?this._group.options.spiderfyShapePositions(t.length,i):t.length>=this._circleSpiralSwitchover?this._generatePointsSpiral(t.length,i):(i.y+=10,this._generatePointsCircle(t.length,i)),this._animationSpiderfy(t,e)}},unspiderfy:function(e){this._group._inZoomAnimation||(this._animationUnspiderfy(e),this._group._spiderfied=null)},_generatePointsCircle:function(e,t){var i,r,n=this._group.options.spiderfyDistanceMultiplier*this._circleFootSeparation*(2+e)/this._2PI,s=this._2PI/e,o=[];for(n=Math.max(n,35),o.length=e,i=0;i<e;i++)r=this._circleStartAngle+i*s,o[i]=new L.Point(t.x+n*Math.cos(r),t.y+n*Math.sin(r))._round();return o},_generatePointsSpiral:function(e,t){var i,r=this._group.options.spiderfyDistanceMultiplier,n=r*this._spiralLengthStart,s=r*this._spiralFootSeparation,o=r*this._spiralLengthFactor*this._2PI,a=0,h=[];for(i=h.length=e;0<=i;i--)i<e&&(h[i]=new L.Point(t.x+n*Math.cos(a),t.y+n*Math.sin(a))._round()),n+=o/(a+=s/n+5e-4*i);return h},_noanimationUnspiderfy:function(){var e,t,i=this._group,r=i._map,n=i._featureGroup,s=this.getAllChildMarkers(null,!0);for(i._ignoreMove=!0,this.setOpacity(1),t=s.length-1;0<=t;t--)e=s[t],n.removeLayer(e),e._preSpiderfyLatlng&&(e.setLatLng(e._preSpiderfyLatlng),delete e._preSpiderfyLatlng),e.setZIndexOffset&&e.setZIndexOffset(0),e._spiderLeg&&(r.removeLayer(e._spiderLeg),delete e._spiderLeg);i.fire(\"unspiderfied\",{cluster:this,markers:s}),i._ignoreMove=!1,i._spiderfied=null}}),L.MarkerClusterNonAnimated=L.MarkerCluster.extend({_animationSpiderfy:function(e,t){var i,r,n,s,o=this._group,a=o._map,h=o._featureGroup,l=this._group.options.spiderLegPolylineOptions;for(o._ignoreMove=!0,i=0;i<e.length;i++)s=a.layerPointToLatLng(t[i]),r=e[i],n=new L.Polyline([this._latlng,s],l),a.addLayer(n),r._spiderLeg=n,r._preSpiderfyLatlng=r._latlng,r.setLatLng(s),r.setZIndexOffset&&r.setZIndexOffset(1e6),h.addLayer(r);this.setOpacity(.3),o._ignoreMove=!1,o.fire(\"spiderfied\",{cluster:this,markers:e})},_animationUnspiderfy:function(){this._noanimationUnspiderfy()}}),L.MarkerCluster.include({_animationSpiderfy:function(e,t){var i,r,n,s,o,a,h=this,l=this._group,u=l._map,_=l._featureGroup,d=this._latlng,p=u.latLngToLayerPoint(d),c=L.Path.SVG,f=L.extend({},this._group.options.spiderLegPolylineOptions),m=f.opacity;for(void 0===m&&(m=L.MarkerClusterGroup.prototype.options.spiderLegPolylineOptions.opacity),c?(f.opacity=0,f.className=(f.className||\"\")+\" leaflet-cluster-spider-leg\"):f.opacity=m,l._ignoreMove=!0,i=0;i<e.length;i++)r=e[i],a=u.layerPointToLatLng(t[i]),n=new L.Polyline([d,a],f),u.addLayer(n),r._spiderLeg=n,c&&(o=(s=n._path).getTotalLength()+.1,s.style.strokeDasharray=o,s.style.strokeDashoffset=o),r.setZIndexOffset&&r.setZIndexOffset(1e6),r.clusterHide&&r.clusterHide(),_.addLayer(r),r._setPos&&r._setPos(p);for(l._forceLayout(),l._animationStart(),i=e.length-1;0<=i;i--)a=u.layerPointToLatLng(t[i]),(r=e[i])._preSpiderfyLatlng=r._latlng,r.setLatLng(a),r.clusterShow&&r.clusterShow(),c&&((s=(n=r._spiderLeg)._path).style.strokeDashoffset=0,n.setStyle({opacity:m}));this.setOpacity(.3),l._ignoreMove=!1,setTimeout(function(){l._animationEnd(),l.fire(\"spiderfied\",{cluster:h,markers:e})},200)},_animationUnspiderfy:function(e){var t,i,r,n,s,o,a=this,h=this._group,l=h._map,u=h._featureGroup,_=e?l._latLngToNewLayerPoint(this._latlng,e.zoom,e.center):l.latLngToLayerPoint(this._latlng),d=this.getAllChildMarkers(null,!0),p=L.Path.SVG;for(h._ignoreMove=!0,h._animationStart(),this.setOpacity(1),i=d.length-1;0<=i;i--)(t=d[i])._preSpiderfyLatlng&&(t.closePopup(),t.setLatLng(t._preSpiderfyLatlng),delete t._preSpiderfyLatlng,o=!0,t._setPos&&(t._setPos(_),o=!1),t.clusterHide&&(t.clusterHide(),o=!1),o&&u.removeLayer(t),p&&(s=(n=(r=t._spiderLeg)._path).getTotalLength()+.1,n.style.strokeDashoffset=s,r.setStyle({opacity:0})));h._ignoreMove=!1,setTimeout(function(){var e=0;for(i=d.length-1;0<=i;i--)(t=d[i])._spiderLeg&&e++;for(i=d.length-1;0<=i;i--)(t=d[i])._spiderLeg&&(t.clusterShow&&t.clusterShow(),t.setZIndexOffset&&t.setZIndexOffset(0),1<e&&u.removeLayer(t),l.removeLayer(t._spiderLeg),delete t._spiderLeg);h._animationEnd(),h.fire(\"unspiderfied\",{cluster:a,markers:d})},200)}}),L.MarkerClusterGroup.include({_spiderfied:null,unspiderfy:function(){this._unspiderfy.apply(this,arguments)},_spiderfierOnAdd:function(){this._map.on(\"click\",this._unspiderfyWrapper,this),this._map.options.zoomAnimation&&this._map.on(\"zoomstart\",this._unspiderfyZoomStart,this),this._map.on(\"zoomend\",this._noanimationUnspiderfy,this),L.Browser.touch||this._map.getRenderer(this)},_spiderfierOnRemove:function(){this._map.off(\"click\",this._unspiderfyWrapper,this),this._map.off(\"zoomstart\",this._unspiderfyZoomStart,this),this._map.off(\"zoomanim\",this._unspiderfyZoomAnim,this),this._map.off(\"zoomend\",this._noanimationUnspiderfy,this),this._noanimationUnspiderfy()},_unspiderfyZoomStart:function(){this._map&&this._map.on(\"zoomanim\",this._unspiderfyZoomAnim,this)},_unspiderfyZoomAnim:function(e){L.DomUtil.hasClass(this._map._mapPane,\"leaflet-touching\")||(this._map.off(\"zoomanim\",this._unspiderfyZoomAnim,this),this._unspiderfy(e))},_unspiderfyWrapper:function(){this._unspiderfy()},_unspiderfy:function(e){this._spiderfied&&this._spiderfied.unspiderfy(e)},_noanimationUnspiderfy:function(){this._spiderfied&&this._spiderfied._noanimationUnspiderfy()},_unspiderfyLayer:function(e){e._spiderLeg&&(this._featureGroup.removeLayer(e),e.clusterShow&&e.clusterShow(),e.setZIndexOffset&&e.setZIndexOffset(0),this._map.removeLayer(e._spiderLeg),delete e._spiderLeg)}}),L.MarkerClusterGroup.include({refreshClusters:function(e){return e?e instanceof L.MarkerClusterGroup?e=e._topClusterLevel.getAllChildMarkers():e instanceof L.LayerGroup?e=e._layers:e instanceof L.MarkerCluster?e=e.getAllChildMarkers():e instanceof L.Marker&&(e=[e]):e=this._topClusterLevel.getAllChildMarkers(),this._flagParentsIconsNeedUpdate(e),this._refreshClustersIcons(),this.options.singleMarkerMode&&this._refreshSingleMarkerModeMarkers(e),this},_flagParentsIconsNeedUpdate:function(e){var t,i;for(t in e)for(i=e[t].__parent;i;)i._iconNeedsUpdate=!0,i=i.__parent},_refreshSingleMarkerModeMarkers:function(e){var t,i;for(t in e)i=e[t],this.hasLayer(i)&&i.setIcon(this._overrideMarkerIcon(i))}}),L.Marker.include({refreshIconOptions:function(e,t){var i=this.options.icon;return L.setOptions(i,e),this.setIcon(i),t&&this.__parent&&this.__parent._group.refreshClusters(this),this}}),e.MarkerClusterGroup=t,e.MarkerCluster=i,Object.defineProperty(e,\"__esModule\",{value:!0})});\n//# sourceMappingURL=leaflet.markercluster.js.map"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/files/leaflet.markercluster/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": [\n\t\t{\n\t\t\t\"file\": \"leaflet.markercluster.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/geospatial/leaflet.markercluster.js\",\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t},\n\t\t\t\"prefix\": \"(function() {var L = require('$:/plugins/tiddlywiki/geospatial/leaflet.js');\",\n\t\t\t\"suffix\": \"\\n})();\"\n\t\t},\n\t\t{\n\t\t\t\"file\": \"MarkerCluster.css\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"text/css\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/geospatial/leaflet.MarkerCluster.css\",\n\t\t\t\t\"tags\": \"[[$:/tags/Stylesheet]]\"\n\t\t\t},\n\t\t\t\"prefix\": \"\",\n\t\t\t\"suffix\": \"\"\n\t\t},\n\t\t{\n\t\t\t\"file\": \"MarkerCluster.Default.css\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"text/css\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/geospatial/leaflet.MarkerCluster.Default.css\",\n\t\t\t\t\"tags\": \"[[$:/tags/Stylesheet]]\"\n\t\t\t},\n\t\t\t\"prefix\": \"\",\n\t\t\t\"suffix\": \"\"\n\t\t},\n\t\t{\n\t\t\t\"file\": \"MIT-LICENCE.txt\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"text/plain\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/geospatial/leaflet.markercluster/LICENSE\"\n\t\t\t}\n\t\t}\n\t]\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/files/open-location-code/LICENSE",
    "content": "\n                                 Apache License\n                           Version 2.0, January 2004\n                        http://www.apache.org/licenses/\n\n   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n   1. Definitions.\n\n      \"License\" shall mean the terms and conditions for use, reproduction,\n      and distribution as defined by Sections 1 through 9 of this document.\n\n      \"Licensor\" shall mean the copyright owner or entity authorized by\n      the copyright owner that is granting the License.\n\n      \"Legal Entity\" shall mean the union of the acting entity and all\n      other entities that control, are controlled by, or are under common\n      control with that entity. For the purposes of this definition,\n      \"control\" means (i) the power, direct or indirect, to cause the\n      direction or management of such entity, whether by contract or\n      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n      outstanding shares, or (iii) beneficial ownership of such entity.\n\n      \"You\" (or \"Your\") shall mean an individual or Legal Entity\n      exercising permissions granted by this License.\n\n      \"Source\" form shall mean the preferred form for making modifications,\n      including but not limited to software source code, documentation\n      source, and configuration files.\n\n      \"Object\" form shall mean any form resulting from mechanical\n      transformation or translation of a Source form, including but\n      not limited to compiled object code, generated documentation,\n      and conversions to other media types.\n\n      \"Work\" shall mean the work of authorship, whether in Source or\n      Object form, made available under the License, as indicated by a\n      copyright notice that is included in or attached to the work\n      (an example is provided in the Appendix below).\n\n      \"Derivative Works\" shall mean any work, whether in Source or Object\n      form, that is based on (or derived from) the Work and for which the\n      editorial revisions, annotations, elaborations, or other modifications\n      represent, as a whole, an original work of authorship. For the purposes\n      of this License, Derivative Works shall not include works that remain\n      separable from, or merely link (or bind by name) to the interfaces of,\n      the Work and Derivative Works thereof.\n\n      \"Contribution\" shall mean any work of authorship, including\n      the original version of the Work and any modifications or additions\n      to that Work or Derivative Works thereof, that is intentionally\n      submitted to Licensor for inclusion in the Work by the copyright owner\n      or by an individual or Legal Entity authorized to submit on behalf of\n      the copyright owner. For the purposes of this definition, \"submitted\"\n      means any form of electronic, verbal, or written communication sent\n      to the Licensor or its representatives, including but not limited to\n      communication on electronic mailing lists, source code control systems,\n      and issue tracking systems that are managed by, or on behalf of, the\n      Licensor for the purpose of discussing and improving the Work, but\n      excluding communication that is conspicuously marked or otherwise\n      designated in writing by the copyright owner as \"Not a Contribution.\"\n\n      \"Contributor\" shall mean Licensor and any individual or Legal Entity\n      on behalf of whom a Contribution has been received by Licensor and\n      subsequently incorporated within the Work.\n\n   2. Grant of Copyright License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      copyright license to reproduce, prepare Derivative Works of,\n      publicly display, publicly perform, sublicense, and distribute the\n      Work and such Derivative Works in Source or Object form.\n\n   3. Grant of Patent License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      (except as stated in this section) patent license to make, have made,\n      use, offer to sell, sell, import, and otherwise transfer the Work,\n      where such license applies only to those patent claims licensable\n      by such Contributor that are necessarily infringed by their\n      Contribution(s) alone or by combination of their Contribution(s)\n      with the Work to which such Contribution(s) was submitted. If You\n      institute patent litigation against any entity (including a\n      cross-claim or counterclaim in a lawsuit) alleging that the Work\n      or a Contribution incorporated within the Work constitutes direct\n      or contributory patent infringement, then any patent licenses\n      granted to You under this License for that Work shall terminate\n      as of the date such litigation is filed.\n\n   4. Redistribution. You may reproduce and distribute copies of the\n      Work or Derivative Works thereof in any medium, with or without\n      modifications, and in Source or Object form, provided that You\n      meet the following conditions:\n\n      (a) You must give any other recipients of the Work or\n          Derivative Works a copy of this License; and\n\n      (b) You must cause any modified files to carry prominent notices\n          stating that You changed the files; and\n\n      (c) You must retain, in the Source form of any Derivative Works\n          that You distribute, all copyright, patent, trademark, and\n          attribution notices from the Source form of the Work,\n          excluding those notices that do not pertain to any part of\n          the Derivative Works; and\n\n      (d) If the Work includes a \"NOTICE\" text file as part of its\n          distribution, then any Derivative Works that You distribute must\n          include a readable copy of the attribution notices contained\n          within such NOTICE file, excluding those notices that do not\n          pertain to any part of the Derivative Works, in at least one\n          of the following places: within a NOTICE text file distributed\n          as part of the Derivative Works; within the Source form or\n          documentation, if provided along with the Derivative Works; or,\n          within a display generated by the Derivative Works, if and\n          wherever such third-party notices normally appear. The contents\n          of the NOTICE file are for informational purposes only and\n          do not modify the License. You may add Your own attribution\n          notices within Derivative Works that You distribute, alongside\n          or as an addendum to the NOTICE text from the Work, provided\n          that such additional attribution notices cannot be construed\n          as modifying the License.\n\n      You may add Your own copyright statement to Your modifications and\n      may provide additional or different license terms and conditions\n      for use, reproduction, or distribution of Your modifications, or\n      for any such Derivative Works as a whole, provided Your use,\n      reproduction, and distribution of the Work otherwise complies with\n      the conditions stated in this License.\n\n   5. Submission of Contributions. Unless You explicitly state otherwise,\n      any Contribution intentionally submitted for inclusion in the Work\n      by You to the Licensor shall be under the terms and conditions of\n      this License, without any additional terms or conditions.\n      Notwithstanding the above, nothing herein shall supersede or modify\n      the terms of any separate license agreement you may have executed\n      with Licensor regarding such Contributions.\n\n   6. Trademarks. This License does not grant permission to use the trade\n      names, trademarks, service marks, or product names of the Licensor,\n      except as required for reasonable and customary use in describing the\n      origin of the Work and reproducing the content of the NOTICE file.\n\n   7. Disclaimer of Warranty. Unless required by applicable law or\n      agreed to in writing, Licensor provides the Work (and each\n      Contributor provides its Contributions) on an \"AS IS\" BASIS,\n      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n      implied, including, without limitation, any warranties or conditions\n      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n      PARTICULAR PURPOSE. You are solely responsible for determining the\n      appropriateness of using or redistributing the Work and assume any\n      risks associated with Your exercise of permissions under this License.\n\n   8. Limitation of Liability. In no event and under no legal theory,\n      whether in tort (including negligence), contract, or otherwise,\n      unless required by applicable law (such as deliberate and grossly\n      negligent acts) or agreed to in writing, shall any Contributor be\n      liable to You for damages, including any direct, indirect, special,\n      incidental, or consequential damages of any character arising as a\n      result of this License or out of the use or inability to use the\n      Work (including but not limited to damages for loss of goodwill,\n      work stoppage, computer failure or malfunction, or any and all\n      other commercial damages or losses), even if such Contributor\n      has been advised of the possibility of such damages.\n\n   9. Accepting Warranty or Additional Liability. While redistributing\n      the Work or Derivative Works thereof, You may choose to offer,\n      and charge a fee for, acceptance of support, warranty, indemnity,\n      or other liability obligations and/or rights consistent with this\n      License. However, in accepting such obligations, You may act only\n      on Your own behalf and on Your sole responsibility, not on behalf\n      of any other Contributor, and only if You agree to indemnify,\n      defend, and hold each Contributor harmless for any liability\n      incurred by, or claims asserted against, such Contributor by reason\n      of your accepting any such warranty or additional liability.\n\n   END OF TERMS AND CONDITIONS\n\n   APPENDIX: How to apply the Apache License to your work.\n\n      To apply the Apache License to your work, attach the following\n      boilerplate notice, with the fields enclosed by brackets \"[]\"\n      replaced with your own identifying information. (Don't include\n      the brackets!)  The text should be enclosed in the appropriate\n      comment syntax for the file format. We also recommend that a\n      file or class name and description of purpose be included on the\n      same \"printed page\" as the copyright notice for easier\n      identification within third-party archives.\n\n   Copyright [yyyy] [name of copyright owner]\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/files/open-location-code/openlocationcode.js",
    "content": "// Copyright 2014 Google Inc. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the 'License');\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an 'AS IS' BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\n/**\n * Convert locations to and from short codes.\n *\n * Open Location Codes are short, 10-11 character codes that can be used instead\n * of street addresses. The codes can be generated and decoded offline, and use\n * a reduced character set that minimises the chance of codes including words.\n *\n * Codes are able to be shortened relative to a nearby location. This means that\n * in many cases, only four to seven characters of the code are needed.\n * To recover the original code, the same location is not required, as long as\n * a nearby location is provided.\n *\n * Codes represent rectangular areas rather than points, and the longer the\n * code, the smaller the area. A 10 character code represents a 13.5x13.5\n * meter area (at the equator. An 11 character code represents approximately\n * a 2.8x3.5 meter area.\n *\n * Two encoding algorithms are used. The first 10 characters are pairs of\n * characters, one for latitude and one for longitude, using base 20. Each pair\n * reduces the area of the code by a factor of 400. Only even code lengths are\n * sensible, since an odd-numbered length would have sides in a ratio of 20:1.\n *\n * At position 11, the algorithm changes so that each character selects one\n * position from a 4x5 grid. This allows single-character refinements.\n *\n * Examples:\n *\n *   Encode a location, default accuracy:\n *   var code = OpenLocationCode.encode(47.365590, 8.524997);\n *\n *   Encode a location using one stage of additional refinement:\n *   var code = OpenLocationCode.encode(47.365590, 8.524997, 11);\n *\n *   Decode a full code:\n *   var coord = OpenLocationCode.decode(code);\n *   var msg = 'Center is ' + coord.latitudeCenter + ',' + coord.longitudeCenter;\n *\n *   Attempt to trim the first characters from a code:\n *   var shortCode = OpenLocationCode.shorten('8FVC9G8F+6X', 47.5, 8.5);\n *\n *   Recover the full code from a short code:\n *   var code = OpenLocationCode.recoverNearest('9G8F+6X', 47.4, 8.6);\n *   var code = OpenLocationCode.recoverNearest('8F+6X', 47.4, 8.6);\n */\n(function(root, factory) {\n  /* global define, module */\n  if (typeof define === 'function' && define.amd) {\n    // AMD. Register as an anonymous module.\n    define(['b'], function(b) {\n      return (root.returnExportsGlobal = factory(b));\n    });\n  } else if (typeof module === 'object' && module.exports) {\n    // Node. Does not work with strict CommonJS, but\n    // only CommonJS-like environments that support module.exports,\n    // like Node.\n    module.exports = factory(require('b'));\n  } else {\n    // Browser globals\n    root.OpenLocationCode = factory();\n  }\n}(this, function() {\n  var OpenLocationCode = {};\n\n  /**\n   * Provides a normal precision code, approximately 14x14 meters.\n   * @const {number}\n   */\n  OpenLocationCode.CODE_PRECISION_NORMAL = 10;\n\n  /**\n   * Provides an extra precision code, approximately 2x3 meters.\n   * @const {number}\n   */\n  OpenLocationCode.CODE_PRECISION_EXTRA = 11;\n\n  // A separator used to break the code into two parts to aid memorability.\n  var SEPARATOR_ = '+';\n\n  // The number of characters to place before the separator.\n  var SEPARATOR_POSITION_ = 8;\n\n  // The character used to pad codes.\n  var PADDING_CHARACTER_ = '0';\n\n  // The character set used to encode the values.\n  var CODE_ALPHABET_ = '23456789CFGHJMPQRVWX';\n\n  // The base to use to convert numbers to/from.\n  var ENCODING_BASE_ = CODE_ALPHABET_.length;\n\n  // The maximum value for latitude in degrees.\n  var LATITUDE_MAX_ = 90;\n\n  // The maximum value for longitude in degrees.\n  var LONGITUDE_MAX_ = 180;\n\n  // The max number of digits to process in a plus code.\n  var MAX_DIGIT_COUNT_ = 15;\n\n  // Maximum code length using lat/lng pair encoding. The area of such a\n  // code is approximately 13x13 meters (at the equator), and should be suitable\n  // for identifying buildings. This excludes prefix and separator characters.\n  var PAIR_CODE_LENGTH_ = 10;\n\n  // First place value of the pairs (if the last pair value is 1).\n  var PAIR_FIRST_PLACE_VALUE_ = Math.pow(\n      ENCODING_BASE_, (PAIR_CODE_LENGTH_ / 2 - 1));\n\n  // Inverse of the precision of the pair section of the code.\n  var PAIR_PRECISION_ = Math.pow(ENCODING_BASE_, 3);\n\n  // The resolution values in degrees for each position in the lat/lng pair\n  // encoding. These give the place value of each position, and therefore the\n  // dimensions of the resulting area.\n  var PAIR_RESOLUTIONS_ = [20.0, 1.0, .05, .0025, .000125];\n\n  // Number of digits in the grid precision part of the code.\n  var GRID_CODE_LENGTH_ = MAX_DIGIT_COUNT_ - PAIR_CODE_LENGTH_;\n\n  // Number of columns in the grid refinement method.\n  var GRID_COLUMNS_ = 4;\n\n  // Number of rows in the grid refinement method.\n  var GRID_ROWS_ = 5;\n\n  // First place value of the latitude grid (if the last place is 1).\n  var GRID_LAT_FIRST_PLACE_VALUE_ = Math.pow(\n      GRID_ROWS_, (GRID_CODE_LENGTH_ - 1));\n\n  // First place value of the longitude grid (if the last place is 1).\n  var GRID_LNG_FIRST_PLACE_VALUE_ = Math.pow(\n      GRID_COLUMNS_, (GRID_CODE_LENGTH_ - 1));\n\n  // Multiply latitude by this much to make it a multiple of the finest\n  // precision.\n  var FINAL_LAT_PRECISION_ = PAIR_PRECISION_ *\n      Math.pow(GRID_ROWS_, (MAX_DIGIT_COUNT_ - PAIR_CODE_LENGTH_));\n\n  // Multiply longitude by this much to make it a multiple of the finest\n  // precision.\n  var FINAL_LNG_PRECISION_ = PAIR_PRECISION_ *\n      Math.pow(GRID_COLUMNS_, (MAX_DIGIT_COUNT_ - PAIR_CODE_LENGTH_));\n\n  // Minimum length of a code that can be shortened.\n  var MIN_TRIMMABLE_CODE_LEN_ = 6;\n\n  /**\n    @return {string} Returns the OLC alphabet.\n   */\n  OpenLocationCode.getAlphabet = function() {\n    return CODE_ALPHABET_;\n  };\n\n  /**\n   * Determines if a code is valid.\n   *\n   * To be valid, all characters must be from the Open Location Code character\n   * set with at most one separator. The separator can be in any even-numbered\n   * position up to the eighth digit.\n   *\n   * @param {string} code The string to check.\n   * @return {boolean} True if the string is a valid code.\n   */\n  var isValid = OpenLocationCode.isValid = function(code) {\n    if (!code || typeof code !== 'string') {\n      return false;\n    }\n    // The separator is required.\n    if (code.indexOf(SEPARATOR_) == -1) {\n      return false;\n    }\n    if (code.indexOf(SEPARATOR_) != code.lastIndexOf(SEPARATOR_)) {\n      return false;\n    }\n    // Is it the only character?\n    if (code.length == 1) {\n      return false;\n    }\n    // Is it in an illegal position?\n    if (code.indexOf(SEPARATOR_) > SEPARATOR_POSITION_ ||\n        code.indexOf(SEPARATOR_) % 2 == 1) {\n      return false;\n    }\n    // We can have an even number of padding characters before the separator,\n    // but then it must be the final character.\n    if (code.indexOf(PADDING_CHARACTER_) > -1) {\n      // Short codes cannot have padding\n      if (code.indexOf(SEPARATOR_) < SEPARATOR_POSITION_) {\n        return false;\n      }\n      // Not allowed to start with them!\n      if (code.indexOf(PADDING_CHARACTER_) == 0) {\n        return false;\n      }\n      // There can only be one group and it must have even length.\n      var padMatch = code.match(new RegExp('(' + PADDING_CHARACTER_ + '+)', 'g'));\n      if (padMatch.length > 1 || padMatch[0].length % 2 == 1 ||\n          padMatch[0].length > SEPARATOR_POSITION_ - 2) {\n        return false;\n      }\n      // If the code is long enough to end with a separator, make sure it does.\n      if (code.charAt(code.length - 1) != SEPARATOR_) {\n        return false;\n      }\n    }\n    // If there are characters after the separator, make sure there isn't just\n    // one of them (not legal).\n    if (code.length - code.indexOf(SEPARATOR_) - 1 == 1) {\n      return false;\n    }\n\n    // Strip the separator and any padding characters.\n    code = code.replace(new RegExp('\\\\' + SEPARATOR_ + '+'), '')\n        .replace(new RegExp(PADDING_CHARACTER_ + '+'), '');\n    // Check the code contains only valid characters.\n    for (var i = 0, len = code.length; i < len; i++) {\n      var character = code.charAt(i).toUpperCase();\n      if (character != SEPARATOR_ && CODE_ALPHABET_.indexOf(character) == -1) {\n        return false;\n      }\n    }\n    return true;\n  };\n\n  /**\n   * Determines if a code is a valid short code.\n   *\n   * @param {string} code The string to check.\n   * @return {boolean} True if the string can be produced by removing four or\n   *     more characters from the start of a valid code.\n   */\n  var isShort = OpenLocationCode.isShort = function(code) {\n    // Check it's valid.\n    if (!isValid(code)) {\n      return false;\n    }\n    // If there are less characters than expected before the SEPARATOR.\n    if (code.indexOf(SEPARATOR_) >= 0 &&\n        code.indexOf(SEPARATOR_) < SEPARATOR_POSITION_) {\n      return true;\n    }\n    return false;\n  };\n\n  /**\n   * Determines if a code is a valid full Open Location Code.\n   *\n   * @param {string} code The string to check.\n   * @return {boolean} True if the code represents a valid latitude and\n   *     longitude combination.\n   */\n  var isFull = OpenLocationCode.isFull = function(code) {\n    if (!isValid(code)) {\n      return false;\n    }\n    // If it's short, it's not full.\n    if (isShort(code)) {\n      return false;\n    }\n\n    // Work out what the first latitude character indicates for latitude.\n    var firstLatValue = CODE_ALPHABET_.indexOf(\n        code.charAt(0).toUpperCase()) * ENCODING_BASE_;\n    if (firstLatValue >= LATITUDE_MAX_ * 2) {\n      // The code would decode to a latitude of >= 90 degrees.\n      return false;\n    }\n    if (code.length > 1) {\n      // Work out what the first longitude character indicates for longitude.\n      var firstLngValue = CODE_ALPHABET_.indexOf(\n          code.charAt(1).toUpperCase()) * ENCODING_BASE_;\n      if (firstLngValue >= LONGITUDE_MAX_ * 2) {\n        // The code would decode to a longitude of >= 180 degrees.\n        return false;\n      }\n    }\n    return true;\n  };\n\n  /**\n   * Encode a location into an Open Location Code.\n   *\n   * @param {number} latitude The latitude in signed decimal degrees. It will\n   *     be clipped to the range -90 to 90.\n   * @param {number} longitude The longitude in signed decimal degrees. Will be\n   *     normalised to the range -180 to 180.\n   * @param {?number} codeLength The length of the code to generate. If\n   *     omitted, the value OpenLocationCode.CODE_PRECISION_NORMAL will be used.\n   *     For a more precise result, OpenLocationCode.CODE_PRECISION_EXTRA is\n   *     recommended.\n   * @return {string} The code.\n   * @throws {Exception} if any of the input values are not numbers.\n   */\n  var encode = OpenLocationCode.encode = function(latitude,\n      longitude, codeLength) {\n    latitude = Number(latitude);\n    longitude = Number(longitude);\n    if (typeof codeLength == 'undefined') {\n      codeLength = OpenLocationCode.CODE_PRECISION_NORMAL;\n    } else {\n      codeLength = Math.min(MAX_DIGIT_COUNT_, Number(codeLength));\n    }\n    if (isNaN(latitude) || isNaN(longitude) || isNaN(codeLength)) {\n      throw new Error('ValueError: Parameters are not numbers');\n    }\n    if (codeLength < 2 ||\n        (codeLength < PAIR_CODE_LENGTH_ && codeLength % 2 == 1)) {\n      throw new Error('IllegalArgumentException: Invalid Open Location Code length');\n    }\n    // Ensure that latitude and longitude are valid.\n    latitude = clipLatitude(latitude);\n    longitude = normalizeLongitude(longitude);\n    // Latitude 90 needs to be adjusted to be just less, so the returned code\n    // can also be decoded.\n    if (latitude == 90) {\n      latitude = latitude - computeLatitudePrecision(codeLength);\n    }\n    var code = '';\n\n    // Compute the code.\n    // This approach converts each value to an integer after multiplying it by\n    // the final precision. This allows us to use only integer operations, so\n    // avoiding any accumulation of floating point representation errors.\n\n    // Multiply values by their precision and convert to positive.\n    // Force to integers so the division operations will have integer results.\n    // Note: JavaScript requires rounding before truncating to ensure precision!\n    var latVal =\n        Math.floor(Math.round((latitude + LATITUDE_MAX_) * FINAL_LAT_PRECISION_ * 1e6) / 1e6);\n    var lngVal =\n        Math.floor(Math.round((longitude + LONGITUDE_MAX_) * FINAL_LNG_PRECISION_ * 1e6) / 1e6);\n\n    // Compute the grid part of the code if necessary.\n    if (codeLength > PAIR_CODE_LENGTH_) {\n      for (var i = 0; i < MAX_DIGIT_COUNT_ - PAIR_CODE_LENGTH_; i++) {\n        var latDigit = latVal % GRID_ROWS_;\n        var lngDigit = lngVal % GRID_COLUMNS_;\n        var ndx = latDigit * GRID_COLUMNS_ + lngDigit;\n        code = CODE_ALPHABET_.charAt(ndx) + code;\n        // Note! Integer division.\n        latVal = Math.floor(latVal / GRID_ROWS_);\n        lngVal = Math.floor(lngVal / GRID_COLUMNS_);\n      }\n    } else {\n      latVal = Math.floor(latVal / Math.pow(GRID_ROWS_, GRID_CODE_LENGTH_));\n      lngVal = Math.floor(lngVal / Math.pow(GRID_COLUMNS_, GRID_CODE_LENGTH_));\n    }\n    // Compute the pair section of the code.\n    for (var i = 0; i < PAIR_CODE_LENGTH_ / 2; i++) {\n      code = CODE_ALPHABET_.charAt(lngVal % ENCODING_BASE_) + code;\n      code = CODE_ALPHABET_.charAt(latVal % ENCODING_BASE_) + code;\n      latVal = Math.floor(latVal / ENCODING_BASE_);\n      lngVal = Math.floor(lngVal / ENCODING_BASE_);\n    }\n\n    // Add the separator character.\n    code = code.substring(0, SEPARATOR_POSITION_) +\n        SEPARATOR_ +\n        code.substring(SEPARATOR_POSITION_);\n\n\n    // If we don't need to pad the code, return the requested section.\n    if (codeLength >= SEPARATOR_POSITION_) {\n      return code.substring(0, codeLength + 1);\n    }\n    // Pad and return the code.\n    return code.substring(0, codeLength) +\n        Array(SEPARATOR_POSITION_ - codeLength + 1).join(PADDING_CHARACTER_) + SEPARATOR_;\n  };\n\n  /**\n   * Decodes an Open Location Code into its location coordinates.\n   *\n   * Returns a CodeArea object that includes the coordinates of the bounding\n   * box - the lower left, center and upper right.\n   *\n   * @param {string} code The code to decode.\n   * @return {OpenLocationCode.CodeArea} An object with the coordinates of the\n   *     area of the code.\n   * @throws {Exception} If the code is not valid.\n   */\n  var decode = OpenLocationCode.decode = function(code) {\n    // This calculates the values for the pair and grid section separately, using\n    // integer arithmetic. Only at the final step are they converted to floating\n    // point and combined.\n    if (!isFull(code)) {\n      throw new Error('IllegalArgumentException: ' +\n          'Passed Open Location Code is not a valid full code: ' + code);\n    }\n    // Strip the '+' and '0' characters from the code and convert to upper case.\n    code = code.replace('+', '').replace(/0/g, '').toLocaleUpperCase('en-US');\n\n    // Initialise the values for each section. We work them out as integers and\n    // convert them to floats at the end.\n    var normalLat = -LATITUDE_MAX_ * PAIR_PRECISION_;\n    var normalLng = -LONGITUDE_MAX_ * PAIR_PRECISION_;\n    var gridLat = 0;\n    var gridLng = 0;\n    // How many digits do we have to process?\n    var digits = Math.min(code.length, PAIR_CODE_LENGTH_);\n    // Define the place value for the most significant pair.\n    var pv = PAIR_FIRST_PLACE_VALUE_;\n    // Decode the paired digits.\n    for (var i = 0; i < digits; i += 2) {\n      normalLat += CODE_ALPHABET_.indexOf(code.charAt(i)) * pv;\n      normalLng += CODE_ALPHABET_.indexOf(code.charAt(i + 1)) * pv;\n      if (i < digits - 2) {\n        pv /= ENCODING_BASE_;\n      }\n    }\n    // Convert the place value to a float in degrees.\n    var latPrecision = pv / PAIR_PRECISION_;\n    var lngPrecision = pv / PAIR_PRECISION_;\n    // Process any extra precision digits.\n    if (code.length > PAIR_CODE_LENGTH_) {\n      // Initialise the place values for the grid.\n      var rowpv = GRID_LAT_FIRST_PLACE_VALUE_;\n      var colpv = GRID_LNG_FIRST_PLACE_VALUE_;\n      // How many digits do we have to process?\n      digits = Math.min(code.length, MAX_DIGIT_COUNT_);\n      for (var i = PAIR_CODE_LENGTH_; i < digits; i++) {\n        var digitVal = CODE_ALPHABET_.indexOf(code.charAt(i));\n        var row = Math.floor(digitVal / GRID_COLUMNS_);\n        var col = digitVal % GRID_COLUMNS_;\n        gridLat += row * rowpv;\n        gridLng += col * colpv;\n        if (i < digits - 1) {\n          rowpv /= GRID_ROWS_;\n          colpv /= GRID_COLUMNS_;\n        }\n      }\n      // Adjust the precisions from the integer values to degrees.\n      latPrecision = rowpv / FINAL_LAT_PRECISION_;\n      lngPrecision = colpv / FINAL_LNG_PRECISION_;\n    }\n    // Merge the values from the normal and extra precision parts of the code.\n    var lat = normalLat / PAIR_PRECISION_ + gridLat / FINAL_LAT_PRECISION_;\n    var lng = normalLng / PAIR_PRECISION_ + gridLng / FINAL_LNG_PRECISION_;\n    // Multiple values by 1e14, round and then divide. This reduces errors due\n    // to floating point precision.\n    return new CodeArea(\n        Math.round(lat * 1e14) / 1e14, Math.round(lng * 1e14) / 1e14,\n        Math.round((lat + latPrecision) * 1e14) / 1e14,\n        Math.round((lng + lngPrecision) * 1e14) / 1e14,\n        Math.min(code.length, MAX_DIGIT_COUNT_));\n  };\n\n  /**\n   * Recover the nearest matching code to a specified location.\n   *\n   * Given a valid short Open Location Code this recovers the nearest matching\n   * full code to the specified location.\n   *\n   * @param {string} shortCode A valid short code.\n   * @param {number} referenceLatitude The latitude to use for the reference\n   *     location.\n   * @param {number} referenceLongitude The longitude to use for the reference\n   *     location.\n   * @return {string} The nearest matching full code to the reference location.\n   * @throws {Exception} if the short code is not valid, or the reference\n   *     position values are not numbers.\n   */\n  OpenLocationCode.recoverNearest = function(\n      shortCode, referenceLatitude, referenceLongitude) {\n    if (!isShort(shortCode)) {\n      if (isFull(shortCode)) {\n        return shortCode.toUpperCase();\n      } else {\n        throw new Error(\n            'ValueError: Passed short code is not valid: ' + shortCode);\n      }\n    }\n    referenceLatitude = Number(referenceLatitude);\n    referenceLongitude = Number(referenceLongitude);\n    if (isNaN(referenceLatitude) || isNaN(referenceLongitude)) {\n      throw new Error('ValueError: Reference position are not numbers');\n    }\n    // Ensure that latitude and longitude are valid.\n    referenceLatitude = clipLatitude(referenceLatitude);\n    referenceLongitude = normalizeLongitude(referenceLongitude);\n\n    // Clean up the passed code.\n    shortCode = shortCode.toUpperCase();\n    // Compute the number of digits we need to recover.\n    var paddingLength = SEPARATOR_POSITION_ - shortCode.indexOf(SEPARATOR_);\n    // The resolution (height and width) of the padded area in degrees.\n    var resolution = Math.pow(20, 2 - (paddingLength / 2));\n    // Distance from the center to an edge (in degrees).\n    var halfResolution = resolution / 2.0;\n\n    // Use the reference location to pad the supplied short code and decode it.\n    var codeArea = decode(\n        encode(referenceLatitude, referenceLongitude).substr(0, paddingLength)\n        + shortCode);\n    // How many degrees latitude is the code from the reference? If it is more\n    // than half the resolution, we need to move it north or south but keep it\n    // within -90 to 90 degrees.\n    if (referenceLatitude + halfResolution < codeArea.latitudeCenter &&\n        codeArea.latitudeCenter - resolution >= -LATITUDE_MAX_) {\n      // If the proposed code is more than half a cell north of the reference location,\n      // it's too far, and the best match will be one cell south.\n      codeArea.latitudeCenter -= resolution;\n    } else if (referenceLatitude - halfResolution > codeArea.latitudeCenter &&\n               codeArea.latitudeCenter + resolution <= LATITUDE_MAX_) {\n      // If the proposed code is more than half a cell south of the reference location,\n      // it's too far, and the best match will be one cell north.\n      codeArea.latitudeCenter += resolution;\n    }\n\n    // How many degrees longitude is the code from the reference?\n    if (referenceLongitude + halfResolution < codeArea.longitudeCenter) {\n      codeArea.longitudeCenter -= resolution;\n    } else if (referenceLongitude - halfResolution > codeArea.longitudeCenter) {\n      codeArea.longitudeCenter += resolution;\n    }\n\n    return encode(\n        codeArea.latitudeCenter, codeArea.longitudeCenter, codeArea.codeLength);\n  };\n\n  /**\n   * Remove characters from the start of an OLC code.\n   *\n   * This uses a reference location to determine how many initial characters\n   * can be removed from the OLC code. The number of characters that can be\n   * removed depends on the distance between the code center and the reference\n   * location.\n   *\n   * @param {string} code The full code to shorten.\n   * @param {number} latitude The latitude to use for the reference location.\n   * @param {number} longitude The longitude to use for the reference location.\n   * @return {string} The code, shortened as much as possible that it is still\n   *     the closest matching code to the reference location.\n   * @throws {Exception} if the passed code is not a valid full code or the\n   *     reference location values are not numbers.\n   */\n  OpenLocationCode.shorten = function(\n      code, latitude, longitude) {\n    if (!isFull(code)) {\n      throw new Error('ValueError: Passed code is not valid and full: ' + code);\n    }\n    if (code.indexOf(PADDING_CHARACTER_) != -1) {\n      throw new Error('ValueError: Cannot shorten padded codes: ' + code);\n    }\n    code = code.toUpperCase();\n    var codeArea = decode(code);\n    if (codeArea.codeLength < MIN_TRIMMABLE_CODE_LEN_) {\n      throw new Error(\n          'ValueError: Code length must be at least ' +\n          MIN_TRIMMABLE_CODE_LEN_);\n    }\n    // Ensure that latitude and longitude are valid.\n    latitude = Number(latitude);\n    longitude = Number(longitude);\n    if (isNaN(latitude) || isNaN(longitude)) {\n      throw new Error('ValueError: Reference position are not numbers');\n    }\n    latitude = clipLatitude(latitude);\n    longitude = normalizeLongitude(longitude);\n    // How close are the latitude and longitude to the code center.\n    var range = Math.max(\n        Math.abs(codeArea.latitudeCenter - latitude),\n        Math.abs(codeArea.longitudeCenter - longitude));\n    for (var i = PAIR_RESOLUTIONS_.length - 2; i >= 1; i--) {\n      // Check if we're close enough to shorten. The range must be less than 1/2\n      // the resolution to shorten at all, and we want to allow some safety, so\n      // use 0.3 instead of 0.5 as a multiplier.\n      if (range < (PAIR_RESOLUTIONS_[i] * 0.3)) {\n        // Trim it.\n        return code.substring((i + 1) * 2);\n      }\n    }\n    return code;\n  };\n\n  /**\n   * Clip a latitude into the range -90 to 90.\n   *\n   * @param {number} latitude\n   * @return {number} The latitude value clipped to be in the range.\n   */\n  var clipLatitude = function(latitude) {\n    return Math.min(90, Math.max(-90, latitude));\n  };\n\n  /**\n   * Compute the latitude precision value for a given code length.\n   * Lengths <= 10 have the same precision for latitude and longitude, but\n   * lengths > 10 have different precisions due to the grid method having\n   * fewer columns than rows.\n   * @param {number} codeLength\n   * @return {number} The latitude precision in degrees.\n   */\n  var computeLatitudePrecision = function(codeLength) {\n    if (codeLength <= 10) {\n      return Math.pow(ENCODING_BASE_, Math.floor(codeLength / -2 + 2));\n    }\n    return Math.pow(ENCODING_BASE_, -3) / Math.pow(GRID_ROWS_, codeLength - 10);\n  };\n\n  /**\n   * Normalize a longitude into the range -180 to 180, not including 180.\n   *\n   * @param {number} longitude\n   * @return {number} Normalized into the range -180 to 180.\n   */\n  var normalizeLongitude = function(longitude) {\n    while (longitude < -180) {\n      longitude = longitude + 360;\n    }\n    while (longitude >= 180) {\n      longitude = longitude - 360;\n    }\n    return longitude;\n  };\n\n  /**\n   * Coordinates of a decoded Open Location Code.\n   *\n   * The coordinates include the latitude and longitude of the lower left and\n   * upper right corners and the center of the bounding box for the area the\n   * code represents.\n   * @param {number} latitudeLo\n   * @param {number} longitudeLo\n   * @param {number} latitudeHi\n   * @param {number} longitudeHi\n   * @param {number} codeLength\n   *\n   * @constructor\n   */\n  var CodeArea = OpenLocationCode.CodeArea = function(\n      latitudeLo, longitudeLo, latitudeHi, longitudeHi, codeLength) {\n    return new OpenLocationCode.CodeArea.fn.Init(\n        latitudeLo, longitudeLo, latitudeHi, longitudeHi, codeLength);\n  };\n  CodeArea.fn = CodeArea.prototype = {\n    Init: function(\n        latitudeLo, longitudeLo, latitudeHi, longitudeHi, codeLength) {\n      /**\n       * The latitude of the SW corner.\n       * @type {number}\n       */\n      this.latitudeLo = latitudeLo;\n      /**\n       * The longitude of the SW corner in degrees.\n       * @type {number}\n       */\n      this.longitudeLo = longitudeLo;\n      /**\n       * The latitude of the NE corner in degrees.\n       * @type {number}\n       */\n      this.latitudeHi = latitudeHi;\n      /**\n       * The longitude of the NE corner in degrees.\n       * @type {number}\n       */\n      this.longitudeHi = longitudeHi;\n      /**\n       * The number of digits in the code.\n       * @type {number}\n       */\n      this.codeLength = codeLength;\n      /**\n       * The latitude of the center in degrees.\n       * @type {number}\n       */\n      this.latitudeCenter = Math.min(\n          latitudeLo + (latitudeHi - latitudeLo) / 2, LATITUDE_MAX_);\n      /**\n       * The longitude of the center in degrees.\n       * @type {number}\n       */\n      this.longitudeCenter = Math.min(\n          longitudeLo + (longitudeHi - longitudeLo) / 2, LONGITUDE_MAX_);\n    },\n  };\n  CodeArea.fn.Init.prototype = CodeArea.fn;\n\n  return OpenLocationCode;\n}));\n"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/files/open-location-code/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": [\n\t\t{\n\t\t\t\"file\": \"openlocationcode.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/geospatial/openlocationcode.js\",\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t},\n\t\t\t\"prefix\": \"(function(require){\",\n\t\t\t\"suffix\": \"})(function(){});\"\n\t\t},\n\t\t{\n\t\t\t\"file\": \"LICENSE\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"text/plain\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/geospatial/openlocationcode/LICENSE\"\n\t\t\t}\n\t\t}\n\t]\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/files/turf.js/LICENSE",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2019 Morgan Herlocker\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."
  },
  {
    "path": "plugins/tiddlywiki/geospatial/files/turf.js/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": [\n\t\t{\n\t\t\t\"file\": \"turf.6.5.0.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/geospatial/turf.js\",\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t},\n\t\t\t\"prefix\": \"\",\n\t\t\t\"suffix\": \"\"\n\t\t},\n\t\t{\n\t\t\t\"file\": \"LICENSE\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"text/plain\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/geospatial/turf.js/LICENSE\"\n\t\t\t}\n\t\t}\n\t]\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/files/turf.js/turf.6.5.0.js",
    "content": "!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?e(exports):\"function\"==typeof define&&define.amd?define([\"exports\"],e):e((t=\"undefined\"!=typeof globalThis?globalThis:t||self).turf={})}(this,(function(t){\"use strict\";var e=6371008.8,n={centimeters:637100880,centimetres:637100880,degrees:57.22891354143274,feet:20902260.511392,inches:39.37*e,kilometers:6371.0088,kilometres:6371.0088,meters:e,metres:e,miles:3958.761333810546,millimeters:6371008800,millimetres:6371008800,nauticalmiles:e/1852,radians:1,yards:6967335.223679999},r={centimeters:100,centimetres:100,degrees:1/111325,feet:3.28084,inches:39.37,kilometers:.001,kilometres:.001,meters:1,metres:1,miles:1/1609.344,millimeters:1e3,millimetres:1e3,nauticalmiles:1/1852,radians:1/e,yards:1.0936133},i={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,hectares:1e-4,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,millimeters:1e6,millimetres:1e6,yards:1.195990046};function o(t,e,n){void 0===n&&(n={});var r={type:\"Feature\"};return(0===n.id||n.id)&&(r.id=n.id),n.bbox&&(r.bbox=n.bbox),r.properties=e||{},r.geometry=t,r}function s(t,e,n){switch(t){case\"Point\":return a(e).geometry;case\"LineString\":return h(e).geometry;case\"Polygon\":return l(e).geometry;case\"MultiPoint\":return d(e).geometry;case\"MultiLineString\":return g(e).geometry;case\"MultiPolygon\":return y(e).geometry;default:throw new Error(t+\" is invalid\")}}function a(t,e,n){if(void 0===n&&(n={}),!t)throw new Error(\"coordinates is required\");if(!Array.isArray(t))throw new Error(\"coordinates must be an Array\");if(t.length<2)throw new Error(\"coordinates must be at least 2 numbers long\");if(!C(t[0])||!C(t[1]))throw new Error(\"coordinates must contain numbers\");return o({type:\"Point\",coordinates:t},e,n)}function u(t,e,n){return void 0===n&&(n={}),f(t.map((function(t){return a(t,e)})),n)}function l(t,e,n){void 0===n&&(n={});for(var r=0,i=t;r<i.length;r++){var s=i[r];if(s.length<4)throw new Error(\"Each LinearRing of a Polygon must have 4 or more Positions.\");for(var a=0;a<s[s.length-1].length;a++)if(s[s.length-1][a]!==s[0][a])throw new Error(\"First and last Position are not equivalent.\")}return o({type:\"Polygon\",coordinates:t},e,n)}function c(t,e,n){return void 0===n&&(n={}),f(t.map((function(t){return l(t,e)})),n)}function h(t,e,n){if(void 0===n&&(n={}),t.length<2)throw new Error(\"coordinates must be an array of two or more positions\");return o({type:\"LineString\",coordinates:t},e,n)}function p(t,e,n){return void 0===n&&(n={}),f(t.map((function(t){return h(t,e)})),n)}function f(t,e){void 0===e&&(e={});var n={type:\"FeatureCollection\"};return e.id&&(n.id=e.id),e.bbox&&(n.bbox=e.bbox),n.features=t,n}function g(t,e,n){return void 0===n&&(n={}),o({type:\"MultiLineString\",coordinates:t},e,n)}function d(t,e,n){return void 0===n&&(n={}),o({type:\"MultiPoint\",coordinates:t},e,n)}function y(t,e,n){return void 0===n&&(n={}),o({type:\"MultiPolygon\",coordinates:t},e,n)}function v(t,e,n){return void 0===n&&(n={}),o({type:\"GeometryCollection\",geometries:t},e,n)}function _(t,e){if(void 0===e&&(e=0),e&&!(e>=0))throw new Error(\"precision must be a positive number\");var n=Math.pow(10,e||0);return Math.round(t*n)/n}function m(t,e){void 0===e&&(e=\"kilometers\");var r=n[e];if(!r)throw new Error(e+\" units is invalid\");return t*r}function x(t,e){void 0===e&&(e=\"kilometers\");var r=n[e];if(!r)throw new Error(e+\" units is invalid\");return t/r}function E(t,e){return w(x(t,e))}function b(t){var e=t%360;return e<0&&(e+=360),e}function w(t){return 180*(t%(2*Math.PI))/Math.PI}function I(t){return t%360*Math.PI/180}function N(t,e,n){if(void 0===e&&(e=\"kilometers\"),void 0===n&&(n=\"kilometers\"),!(t>=0))throw new Error(\"length must be a positive number\");return m(x(t,e),n)}function S(t,e,n){if(void 0===e&&(e=\"meters\"),void 0===n&&(n=\"kilometers\"),!(t>=0))throw new Error(\"area must be a positive number\");var r=i[e];if(!r)throw new Error(\"invalid original units\");var o=i[n];if(!o)throw new Error(\"invalid final units\");return t/r*o}function C(t){return!isNaN(t)&&null!==t&&!Array.isArray(t)}function P(t){return!!t&&t.constructor===Object}function M(t){if(!t)throw new Error(\"bbox is required\");if(!Array.isArray(t))throw new Error(\"bbox must be an Array\");if(4!==t.length&&6!==t.length)throw new Error(\"bbox must be an Array of 4 or 6 numbers\");t.forEach((function(t){if(!C(t))throw new Error(\"bbox must only contain numbers\")}))}function L(t){if(!t)throw new Error(\"id is required\");if(-1===[\"string\",\"number\"].indexOf(typeof t))throw new Error(\"id must be a number or a string\")}var O=Object.freeze({__proto__:null,earthRadius:e,factors:n,unitsFactors:r,areaFactors:i,feature:o,geometry:s,point:a,points:u,polygon:l,polygons:c,lineString:h,lineStrings:p,featureCollection:f,multiLineString:g,multiPoint:d,multiPolygon:y,geometryCollection:v,round:_,radiansToLength:m,lengthToRadians:x,lengthToDegrees:E,bearingToAzimuth:b,radiansToDegrees:w,degreesToRadians:I,convertLength:N,convertArea:S,isNumber:C,isObject:P,validateBBox:M,validateId:L});function R(t,e,n){if(null!==t)for(var r,i,o,s,a,u,l,c,h=0,p=0,f=t.type,g=\"FeatureCollection\"===f,d=\"Feature\"===f,y=g?t.features.length:1,v=0;v<y;v++){a=(c=!!(l=g?t.features[v].geometry:d?t.geometry:t)&&\"GeometryCollection\"===l.type)?l.geometries.length:1;for(var _=0;_<a;_++){var m=0,x=0;if(null!==(s=c?l.geometries[_]:l)){u=s.coordinates;var E=s.type;switch(h=!n||\"Polygon\"!==E&&\"MultiPolygon\"!==E?0:1,E){case null:break;case\"Point\":if(!1===e(u,p,v,m,x))return!1;p++,m++;break;case\"LineString\":case\"MultiPoint\":for(r=0;r<u.length;r++){if(!1===e(u[r],p,v,m,x))return!1;p++,\"MultiPoint\"===E&&m++}\"LineString\"===E&&m++;break;case\"Polygon\":case\"MultiLineString\":for(r=0;r<u.length;r++){for(i=0;i<u[r].length-h;i++){if(!1===e(u[r][i],p,v,m,x))return!1;p++}\"MultiLineString\"===E&&m++,\"Polygon\"===E&&x++}\"Polygon\"===E&&m++;break;case\"MultiPolygon\":for(r=0;r<u.length;r++){for(x=0,i=0;i<u[r].length;i++){for(o=0;o<u[r][i].length-h;o++){if(!1===e(u[r][i][o],p,v,m,x))return!1;p++}x++}m++}break;case\"GeometryCollection\":for(r=0;r<s.geometries.length;r++)if(!1===R(s.geometries[r],e,n))return!1;break;default:throw new Error(\"Unknown Geometry Type\")}}}}}function T(t,e,n,r){var i=n;return R(t,(function(t,r,o,s,a){i=0===r&&void 0===n?t:e(i,t,r,o,s,a)}),r),i}function A(t,e){var n;switch(t.type){case\"FeatureCollection\":for(n=0;n<t.features.length&&!1!==e(t.features[n].properties,n);n++);break;case\"Feature\":e(t.properties,0)}}function D(t,e,n){var r=n;return A(t,(function(t,i){r=0===i&&void 0===n?t:e(r,t,i)})),r}function F(t,e){if(\"Feature\"===t.type)e(t,0);else if(\"FeatureCollection\"===t.type)for(var n=0;n<t.features.length&&!1!==e(t.features[n],n);n++);}function k(t,e,n){var r=n;return F(t,(function(t,i){r=0===i&&void 0===n?t:e(r,t,i)})),r}function G(t){var e=[];return R(t,(function(t){e.push(t)})),e}function q(t,e){var n,r,i,o,s,a,u,l,c,h,p=0,f=\"FeatureCollection\"===t.type,g=\"Feature\"===t.type,d=f?t.features.length:1;for(n=0;n<d;n++){for(a=f?t.features[n].geometry:g?t.geometry:t,l=f?t.features[n].properties:g?t.properties:{},c=f?t.features[n].bbox:g?t.bbox:void 0,h=f?t.features[n].id:g?t.id:void 0,s=(u=!!a&&\"GeometryCollection\"===a.type)?a.geometries.length:1,i=0;i<s;i++)if(null!==(o=u?a.geometries[i]:a))switch(o.type){case\"Point\":case\"LineString\":case\"MultiPoint\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":if(!1===e(o,p,l,c,h))return!1;break;case\"GeometryCollection\":for(r=0;r<o.geometries.length;r++)if(!1===e(o.geometries[r],p,l,c,h))return!1;break;default:throw new Error(\"Unknown Geometry Type\")}else if(!1===e(null,p,l,c,h))return!1;p++}}function B(t,e,n){var r=n;return q(t,(function(t,i,o,s,a){r=0===i&&void 0===n?t:e(r,t,i,o,s,a)})),r}function z(t,e){q(t,(function(t,n,r,i,s){var a,u=null===t?null:t.type;switch(u){case null:case\"Point\":case\"LineString\":case\"Polygon\":return!1!==e(o(t,r,{bbox:i,id:s}),n,0)&&void 0}switch(u){case\"MultiPoint\":a=\"Point\";break;case\"MultiLineString\":a=\"LineString\";break;case\"MultiPolygon\":a=\"Polygon\"}for(var l=0;l<t.coordinates.length;l++){var c=t.coordinates[l];if(!1===e(o({type:a,coordinates:c},r),n,l))return!1}}))}function j(t,e,n){var r=n;return z(t,(function(t,i,o){r=0===i&&0===o&&void 0===n?t:e(r,t,i,o)})),r}function U(t,e){z(t,(function(t,n,r){var i=0;if(t.geometry){var o=t.geometry.type;if(\"Point\"!==o&&\"MultiPoint\"!==o){var s,a=0,u=0,l=0;return!1!==R(t,(function(o,c,p,f,g){if(void 0===s||n>a||f>u||g>l)return s=o,a=n,u=f,l=g,void(i=0);var d=h([s,o],t.properties);if(!1===e(d,n,r,g,i))return!1;i++,s=o}))&&void 0}}}))}function V(t,e,n){var r=n,i=!1;return U(t,(function(t,o,s,a,u){r=!1===i&&void 0===n?t:e(r,t,o,s,a,u),i=!0})),r}function X(t,e){if(!t)throw new Error(\"geojson is required\");z(t,(function(t,n,r){if(null!==t.geometry){var i=t.geometry.type,o=t.geometry.coordinates;switch(i){case\"LineString\":if(!1===e(t,n,r,0,0))return!1;break;case\"Polygon\":for(var s=0;s<o.length;s++)if(!1===e(h(o[s],t.properties),n,r,s))return!1}}}))}function Y(t,e,n){var r=n;return X(t,(function(t,i,o,s){r=0===i&&void 0===n?t:e(r,t,i,o,s)})),r}function H(t,e){if(!P(e=e||{}))throw new Error(\"options is invalid\");var n,r=e.featureIndex||0,i=e.multiFeatureIndex||0,o=e.geometryIndex||0,s=e.segmentIndex||0,a=e.properties;switch(t.type){case\"FeatureCollection\":r<0&&(r=t.features.length+r),a=a||t.features[r].properties,n=t.features[r].geometry;break;case\"Feature\":a=a||t.properties,n=t.geometry;break;case\"Point\":case\"MultiPoint\":return null;case\"LineString\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":n=t;break;default:throw new Error(\"geojson is invalid\")}if(null===n)return null;var u=n.coordinates;switch(n.type){case\"Point\":case\"MultiPoint\":return null;case\"LineString\":return s<0&&(s=u.length+s-1),h([u[s],u[s+1]],a,e);case\"Polygon\":return o<0&&(o=u.length+o),s<0&&(s=u[o].length+s-1),h([u[o][s],u[o][s+1]],a,e);case\"MultiLineString\":return i<0&&(i=u.length+i),s<0&&(s=u[i].length+s-1),h([u[i][s],u[i][s+1]],a,e);case\"MultiPolygon\":return i<0&&(i=u.length+i),o<0&&(o=u[i].length+o),s<0&&(s=u[i][o].length-s-1),h([u[i][o][s],u[i][o][s+1]],a,e)}throw new Error(\"geojson is invalid\")}function W(t,e){if(!P(e=e||{}))throw new Error(\"options is invalid\");var n,r=e.featureIndex||0,i=e.multiFeatureIndex||0,o=e.geometryIndex||0,s=e.coordIndex||0,u=e.properties;switch(t.type){case\"FeatureCollection\":r<0&&(r=t.features.length+r),u=u||t.features[r].properties,n=t.features[r].geometry;break;case\"Feature\":u=u||t.properties,n=t.geometry;break;case\"Point\":case\"MultiPoint\":return null;case\"LineString\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":n=t;break;default:throw new Error(\"geojson is invalid\")}if(null===n)return null;var l=n.coordinates;switch(n.type){case\"Point\":return a(l,u,e);case\"MultiPoint\":return i<0&&(i=l.length+i),a(l[i],u,e);case\"LineString\":return s<0&&(s=l.length+s),a(l[s],u,e);case\"Polygon\":return o<0&&(o=l.length+o),s<0&&(s=l[o].length+s),a(l[o][s],u,e);case\"MultiLineString\":return i<0&&(i=l.length+i),s<0&&(s=l[i].length+s),a(l[i][s],u,e);case\"MultiPolygon\":return i<0&&(i=l.length+i),o<0&&(o=l[i].length+o),s<0&&(s=l[i][o].length-s),a(l[i][o][s],u,e)}throw new Error(\"geojson is invalid\")}var J=Object.freeze({__proto__:null,coordAll:G,coordEach:R,coordReduce:T,featureEach:F,featureReduce:k,findPoint:W,findSegment:H,flattenEach:z,flattenReduce:j,geomEach:q,geomReduce:B,lineEach:X,lineReduce:Y,propEach:A,propReduce:D,segmentEach:U,segmentReduce:V});function Z(t){var e=[1/0,1/0,-1/0,-1/0];return R(t,(function(t){e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]<t[0]&&(e[2]=t[0]),e[3]<t[1]&&(e[3]=t[1])})),e}function K(t){if(!t)throw new Error(\"coord is required\");if(!Array.isArray(t)){if(\"Feature\"===t.type&&null!==t.geometry&&\"Point\"===t.geometry.type)return t.geometry.coordinates;if(\"Point\"===t.type)return t.coordinates}if(Array.isArray(t)&&t.length>=2&&!Array.isArray(t[0])&&!Array.isArray(t[1]))return t;throw new Error(\"coord must be GeoJSON Point or an Array of numbers\")}function Q(t){if(Array.isArray(t))return t;if(\"Feature\"===t.type){if(null!==t.geometry)return t.geometry.coordinates}else if(t.coordinates)return t.coordinates;throw new Error(\"coords must be GeoJSON Feature, Geometry Object or an Array\")}function $(t){if(t.length>1&&C(t[0])&&C(t[1]))return!0;if(Array.isArray(t[0])&&t[0].length)return $(t[0]);throw new Error(\"coordinates must only contain numbers\")}function tt(t,e,n){if(!e||!n)throw new Error(\"type and name required\");if(!t||t.type!==e)throw new Error(\"Invalid input to \"+n+\": must be a \"+e+\", given \"+t.type)}function et(t,e,n){if(!t)throw new Error(\"No feature passed\");if(!n)throw new Error(\".featureOf() requires a name\");if(!t||\"Feature\"!==t.type||!t.geometry)throw new Error(\"Invalid input to \"+n+\", Feature with geometry required\");if(!t.geometry||t.geometry.type!==e)throw new Error(\"Invalid input to \"+n+\": must be a \"+e+\", given \"+t.geometry.type)}function nt(t,e,n){if(!t)throw new Error(\"No featureCollection passed\");if(!n)throw new Error(\".collectionOf() requires a name\");if(!t||\"FeatureCollection\"!==t.type)throw new Error(\"Invalid input to \"+n+\", FeatureCollection required\");for(var r=0,i=t.features;r<i.length;r++){var o=i[r];if(!o||\"Feature\"!==o.type||!o.geometry)throw new Error(\"Invalid input to \"+n+\", Feature with geometry required\");if(!o.geometry||o.geometry.type!==e)throw new Error(\"Invalid input to \"+n+\": must be a \"+e+\", given \"+o.geometry.type)}}function rt(t){return\"Feature\"===t.type?t.geometry:t}function it(t,e){return\"FeatureCollection\"===t.type?\"FeatureCollection\":\"GeometryCollection\"===t.type?\"GeometryCollection\":\"Feature\"===t.type&&null!==t.geometry?t.geometry.type:t.type}Z.default=Z;var ot=Object.freeze({__proto__:null,getCoord:K,getCoords:Q,containsNumber:$,geojsonType:tt,featureOf:et,collectionOf:nt,getGeom:rt,getType:it}),st=Object.getOwnPropertySymbols,at=Object.prototype.hasOwnProperty,ut=Object.prototype.propertyIsEnumerable;\n/*\n    object-assign\n    (c) Sindre Sorhus\n    @license MIT\n    */function lt(t){if(null==t)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(t)}var ct=function(){try{if(!Object.assign)return!1;var t=new String(\"abc\");if(t[5]=\"de\",\"5\"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},n=0;n<10;n++)e[\"_\"+String.fromCharCode(n)]=n;if(\"0123456789\"!==Object.getOwnPropertyNames(e).map((function(t){return e[t]})).join(\"\"))return!1;var r={};return\"abcdefghijklmnopqrst\".split(\"\").forEach((function(t){r[t]=t})),\"abcdefghijklmnopqrst\"===Object.keys(Object.assign({},r)).join(\"\")}catch(t){return!1}}()?Object.assign:function(t,e){for(var n,r,i=lt(t),o=1;o<arguments.length;o++){for(var s in n=Object(arguments[o]))at.call(n,s)&&(i[s]=n[s]);if(st){r=st(n);for(var a=0;a<r.length;a++)ut.call(n,r[a])&&(i[r[a]]=n[r[a]])}}return i},ht={successCallback:null,verbose:!1},pt={};\n/**\n     * @license GNU Affero General Public License.\n     * Copyright (c) 2015, 2015 Ronny Lorenz <ronny@tbi.univie.ac.at>\n     * v. 1.2.0\n     * https://github.com/RaumZeit/MarchingSquares.js\n     *\n     * MarchingSquaresJS is free software: you can redistribute it and/or modify\n     * it under the terms of the GNU Affero General Public License as published by\n     * the Free Software Foundation, either version 3 of the License, or\n     * (at your option) any later version.\n     *\n     * MarchingSquaresJS is distributed in the hope that it will be useful,\n     * but WITHOUT ANY WARRANTY; without even the implied warranty of\n     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n     * GNU Affero General Public License for more details.\n     *\n     * As additional permission under GNU Affero General Public License version 3\n     * section 7, third-party projects (personal or commercial) may distribute,\n     * include, or link against UNMODIFIED VERSIONS of MarchingSquaresJS without the\n     * requirement that said third-party project for that reason alone becomes\n     * subject to any requirement of the GNU Affero General Public License version 3.\n     * Any modifications to MarchingSquaresJS, however, must be shared with the public\n     * and made available.\n     *\n     * In summary this:\n     * - allows you to use MarchingSquaresJS at no cost\n     * - allows you to use MarchingSquaresJS for both personal and commercial purposes\n     * - allows you to distribute UNMODIFIED VERSIONS of MarchingSquaresJS under any\n     *   license as long as this license notice is included\n     * - enables you to keep the source code of your program that uses MarchingSquaresJS\n     *   undisclosed\n     * - forces you to share any modifications you have made to MarchingSquaresJS,\n     *   e.g. bug-fixes\n     *\n     * You should have received a copy of the GNU Affero General Public License\n     * along with MarchingSquaresJS.  If not, see <http://www.gnu.org/licenses/>.\n     */function ft(t,e,n){n=n||{};for(var r=Object.keys(ht),i=0;i<r.length;i++){var o=r[i],s=n[o];s=null!=s?s:ht[o],pt[o]=s}pt.verbose&&console.log(\"MarchingSquaresJS-isoContours: computing isocontour for \"+e);var a=function(t){var e=[],n=0,r=1e-7;return t.cells.forEach((function(i,o){i.forEach((function(i,s){if(void 0!==i&&(5!==(f=i).cval&&10!==f.cval)&&!dt(i)){var a=function(t,e,n){var r,i,o=t.length,s=[],a=[0,0,1,1,0,0,0,0,-1,0,1,1,-1,0,-1,0],u=[0,-1,0,0,1,1,1,1,0,-1,0,0,0,-1,0,0],l=[\"none\",\"left\",\"bottom\",\"left\",\"right\",\"none\",\"bottom\",\"left\",\"top\",\"top\",\"none\",\"top\",\"right\",\"right\",\"bottom\",\"none\"],c=[\"none\",\"bottom\",\"right\",\"right\",\"top\",\"top\",\"top\",\"top\",\"left\",\"bottom\",\"right\",\"right\",\"left\",\"bottom\",\"left\",\"none\"],h=t[e][n],p=h.cval,f=l[p],g=vt(h,f);s.push([n+g[0],e+g[1]]),f=c[p],g=vt(h,f),s.push([n+g[0],e+g[1]]),yt(h);var d=n+a[p],y=e+u[p],v=p;for(;d>=0&&y>=0&&y<o&&(d!=n||y!=e)&&void 0!==(h=t[y][d]);){if(0===(p=h.cval)||15===p)return{path:s,info:\"mergeable\"};f=c[p],r=a[p],i=u[p],5!==p&&10!==p||(5===p?h.flipped?-1===u[v]?(f=\"left\",r=-1,i=0):(f=\"right\",r=1,i=0):-1===a[v]&&(f=\"bottom\",r=0,i=-1):10===p&&(h.flipped?-1===a[v]?(f=\"top\",r=0,i=1):(f=\"bottom\",r=0,i=-1):1===u[v]&&(f=\"left\",r=-1,i=0))),g=vt(h,f),s.push([d+g[0],y+g[1]]),yt(h),d+=r,y+=i,v=p}return{path:s,info:\"closed\"}}(t.cells,o,s),u=!1;if(\"mergeable\"===a.info)for(var l=a.path[a.path.length-1][0],c=a.path[a.path.length-1][1],h=n-1;h>=0;h--)if(Math.abs(e[h][0][0]-l)<=r&&Math.abs(e[h][0][1]-c)<=r){for(var p=a.path.length-2;p>=0;--p)e[h].unshift(a.path[p]);u=!0;break}u||(e[n++]=a.path)}var f}))})),e}(function(t,e){for(var n=t.length-1,r=t[0].length-1,i={rows:n,cols:r,cells:[]},o=0;o<n;++o){i.cells[o]=[];for(var s=0;s<r;++s){var a=0,u=t[o+1][s],l=t[o+1][s+1],c=t[o][s+1],h=t[o][s];if(!(isNaN(u)||isNaN(l)||isNaN(c)||isNaN(h))){a|=u>=e?8:0,a|=l>=e?4:0,a|=c>=e?2:0;var p,f,g,d,y=!1;if(5===(a|=h>=e?1:0)||10===a){var v=(u+l+c+h)/4;5===a&&v<e?(a=10,y=!0):10===a&&v<e&&(a=5,y=!0)}if(0!==a&&15!==a)p=f=g=d=.5,1===a?(g=1-gt(e,u,h),f=1-gt(e,c,h)):2===a?(f=gt(e,h,c),d=1-gt(e,l,c)):3===a?(g=1-gt(e,u,h),d=1-gt(e,l,c)):4===a?(p=gt(e,u,l),d=gt(e,c,l)):5===a?(p=gt(e,u,l),d=gt(e,c,l),f=1-gt(e,c,h),g=1-gt(e,u,h)):6===a?(f=gt(e,h,c),p=gt(e,u,l)):7===a?(g=1-gt(e,u,h),p=gt(e,u,l)):8===a?(g=gt(e,h,u),p=1-gt(e,l,u)):9===a?(f=1-gt(e,c,h),p=1-gt(e,l,u)):10===a?(p=1-gt(e,l,u),d=1-gt(e,l,c),f=gt(e,h,c),g=gt(e,h,u)):11===a?(p=1-gt(e,l,u),d=1-gt(e,l,c)):12===a?(g=gt(e,h,u),d=gt(e,c,l)):13===a?(f=1-gt(e,c,h),d=gt(e,c,l)):14===a?(g=gt(e,h,u),f=gt(e,h,c)):console.log(\"MarchingSquaresJS-isoContours: Illegal cval detected: \"+a),i.cells[o][s]={cval:a,flipped:y,top:p,right:d,bottom:f,left:g}}}}return i}(t,e));return\"function\"==typeof pt.successCallback&&pt.successCallback(a),a}function gt(t,e,n){return(t-e)/(n-e)}function dt(t){return 0===t.cval||15===t.cval}function yt(t){dt(t)||5===t.cval||10===t.cval||(t.cval=15)}function vt(t,e){return\"top\"===e?[t.top,1]:\"bottom\"===e?[t.bottom,0]:\"right\"===e?[1,t.right]:\"left\"===e?[0,t.left]:void 0}function _t(t,e){if(!P(e=e||{}))throw new Error(\"options is invalid\");var n=e.zProperty||\"elevation\",r=e.flip,i=e.flags;nt(t,\"Point\",\"input must contain Points\");for(var o=function(t,e){var n={};return F(t,(function(t){var e=Q(t)[1];n[e]||(n[e]=[]),n[e].push(t)})),Object.keys(n).map((function(t){return n[t].sort((function(t,e){return Q(t)[0]-Q(e)[0]}))})).sort((function(t,n){return e?Q(t[0])[1]-Q(n[0])[1]:Q(n[0])[1]-Q(t[0])[1]}))}(t,r),s=[],a=0;a<o.length;a++){for(var u=o[a],l=[],c=0;c<u.length;c++){var h=u[c];h.properties[n]?l.push(h.properties[n]):l.push(0),!0===i&&(h.properties.matrixPosition=[a,c])}s.push(l)}return s}var mt=Et,xt=Et;function Et(t,e,n,r,i){bt(t,e,n||0,r||t.length-1,i||It)}function bt(t,e,n,r,i){for(;r>n;){if(r-n>600){var o=r-n+1,s=e-n+1,a=Math.log(o),u=.5*Math.exp(2*a/3),l=.5*Math.sqrt(a*u*(o-u)/o)*(s-o/2<0?-1:1);bt(t,e,Math.max(n,Math.floor(e-s*u/o+l)),Math.min(r,Math.floor(e+(o-s)*u/o+l)),i)}var c=t[e],h=n,p=r;for(wt(t,n,e),i(t[r],c)>0&&wt(t,n,r);h<p;){for(wt(t,h,p),h++,p--;i(t[h],c)<0;)h++;for(;i(t[p],c)>0;)p--}0===i(t[n],c)?wt(t,n,p):wt(t,++p,r),p<=e&&(n=p+1),e<=p&&(r=p-1)}}function wt(t,e,n){var r=t[e];t[e]=t[n],t[n]=r}function It(t,e){return t<e?-1:t>e?1:0}mt.default=xt;var Nt=Ct,St=Ct;function Ct(t,e){if(!(this instanceof Ct))return new Ct(t,e);this._maxEntries=Math.max(4,t||9),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),e&&this._initFormat(e),this.clear()}function Pt(t,e,n){if(!n)return e.indexOf(t);for(var r=0;r<e.length;r++)if(n(t,e[r]))return r;return-1}function Mt(t,e){Lt(t,0,t.children.length,e,t)}function Lt(t,e,n,r,i){i||(i=Gt(null)),i.minX=1/0,i.minY=1/0,i.maxX=-1/0,i.maxY=-1/0;for(var o,s=e;s<n;s++)o=t.children[s],Ot(i,t.leaf?r(o):o);return i}function Ot(t,e){return t.minX=Math.min(t.minX,e.minX),t.minY=Math.min(t.minY,e.minY),t.maxX=Math.max(t.maxX,e.maxX),t.maxY=Math.max(t.maxY,e.maxY),t}function Rt(t,e){return t.minX-e.minX}function Tt(t,e){return t.minY-e.minY}function At(t){return(t.maxX-t.minX)*(t.maxY-t.minY)}function Dt(t){return t.maxX-t.minX+(t.maxY-t.minY)}function Ft(t,e){return t.minX<=e.minX&&t.minY<=e.minY&&e.maxX<=t.maxX&&e.maxY<=t.maxY}function kt(t,e){return e.minX<=t.maxX&&e.minY<=t.maxY&&e.maxX>=t.minX&&e.maxY>=t.minY}function Gt(t){return{children:t,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function qt(t,e,n,r,i){for(var o,s=[e,n];s.length;)(n=s.pop())-(e=s.pop())<=r||(o=e+Math.ceil((n-e)/r/2)*r,mt(t,o,e,n,i),s.push(e,o,o,n))}function Bt(t){var e={exports:{}};return t(e,e.exports),e.exports}Ct.prototype={all:function(){return this._all(this.data,[])},search:function(t){var e=this.data,n=[],r=this.toBBox;if(!kt(t,e))return n;for(var i,o,s,a,u=[];e;){for(i=0,o=e.children.length;i<o;i++)s=e.children[i],kt(t,a=e.leaf?r(s):s)&&(e.leaf?n.push(s):Ft(t,a)?this._all(s,n):u.push(s));e=u.pop()}return n},collides:function(t){var e=this.data,n=this.toBBox;if(!kt(t,e))return!1;for(var r,i,o,s,a=[];e;){for(r=0,i=e.children.length;r<i;r++)if(o=e.children[r],kt(t,s=e.leaf?n(o):o)){if(e.leaf||Ft(t,s))return!0;a.push(o)}e=a.pop()}return!1},load:function(t){if(!t||!t.length)return this;if(t.length<this._minEntries){for(var e=0,n=t.length;e<n;e++)this.insert(t[e]);return this}var r=this._build(t.slice(),0,t.length-1,0);if(this.data.children.length)if(this.data.height===r.height)this._splitRoot(this.data,r);else{if(this.data.height<r.height){var i=this.data;this.data=r,r=i}this._insert(r,this.data.height-r.height-1,!0)}else this.data=r;return this},insert:function(t){return t&&this._insert(t,this.data.height-1),this},clear:function(){return this.data=Gt([]),this},remove:function(t,e){if(!t)return this;for(var n,r,i,o,s=this.data,a=this.toBBox(t),u=[],l=[];s||u.length;){if(s||(s=u.pop(),r=u[u.length-1],n=l.pop(),o=!0),s.leaf&&-1!==(i=Pt(t,s.children,e)))return s.children.splice(i,1),u.push(s),this._condense(u),this;o||s.leaf||!Ft(s,a)?r?(n++,s=r.children[n],o=!1):s=null:(u.push(s),l.push(n),n=0,r=s,s=s.children[0])}return this},toBBox:function(t){return t},compareMinX:Rt,compareMinY:Tt,toJSON:function(){return this.data},fromJSON:function(t){return this.data=t,this},_all:function(t,e){for(var n=[];t;)t.leaf?e.push.apply(e,t.children):n.push.apply(n,t.children),t=n.pop();return e},_build:function(t,e,n,r){var i,o=n-e+1,s=this._maxEntries;if(o<=s)return Mt(i=Gt(t.slice(e,n+1)),this.toBBox),i;r||(r=Math.ceil(Math.log(o)/Math.log(s)),s=Math.ceil(o/Math.pow(s,r-1))),(i=Gt([])).leaf=!1,i.height=r;var a,u,l,c,h=Math.ceil(o/s),p=h*Math.ceil(Math.sqrt(s));for(qt(t,e,n,p,this.compareMinX),a=e;a<=n;a+=p)for(qt(t,a,l=Math.min(a+p-1,n),h,this.compareMinY),u=a;u<=l;u+=h)c=Math.min(u+h-1,l),i.children.push(this._build(t,u,c,r-1));return Mt(i,this.toBBox),i},_chooseSubtree:function(t,e,n,r){for(var i,o,s,a,u,l,c,h,p,f;r.push(e),!e.leaf&&r.length-1!==n;){for(c=h=1/0,i=0,o=e.children.length;i<o;i++)u=At(s=e.children[i]),p=t,f=s,(l=(Math.max(f.maxX,p.maxX)-Math.min(f.minX,p.minX))*(Math.max(f.maxY,p.maxY)-Math.min(f.minY,p.minY))-u)<h?(h=l,c=u<c?u:c,a=s):l===h&&u<c&&(c=u,a=s);e=a||e.children[0]}return e},_insert:function(t,e,n){var r=this.toBBox,i=n?t:r(t),o=[],s=this._chooseSubtree(i,this.data,e,o);for(s.children.push(t),Ot(s,i);e>=0&&o[e].children.length>this._maxEntries;)this._split(o,e),e--;this._adjustParentBBoxes(i,o,e)},_split:function(t,e){var n=t[e],r=n.children.length,i=this._minEntries;this._chooseSplitAxis(n,i,r);var o=this._chooseSplitIndex(n,i,r),s=Gt(n.children.splice(o,n.children.length-o));s.height=n.height,s.leaf=n.leaf,Mt(n,this.toBBox),Mt(s,this.toBBox),e?t[e-1].children.push(s):this._splitRoot(n,s)},_splitRoot:function(t,e){this.data=Gt([t,e]),this.data.height=t.height+1,this.data.leaf=!1,Mt(this.data,this.toBBox)},_chooseSplitIndex:function(t,e,n){var r,i,o,s,a,u,l,c,h,p,f,g,d,y;for(u=l=1/0,r=e;r<=n-e;r++)i=Lt(t,0,r,this.toBBox),o=Lt(t,r,n,this.toBBox),h=i,p=o,f=void 0,g=void 0,d=void 0,y=void 0,f=Math.max(h.minX,p.minX),g=Math.max(h.minY,p.minY),d=Math.min(h.maxX,p.maxX),y=Math.min(h.maxY,p.maxY),s=Math.max(0,d-f)*Math.max(0,y-g),a=At(i)+At(o),s<u?(u=s,c=r,l=a<l?a:l):s===u&&a<l&&(l=a,c=r);return c},_chooseSplitAxis:function(t,e,n){var r=t.leaf?this.compareMinX:Rt,i=t.leaf?this.compareMinY:Tt;this._allDistMargin(t,e,n,r)<this._allDistMargin(t,e,n,i)&&t.children.sort(r)},_allDistMargin:function(t,e,n,r){t.children.sort(r);var i,o,s=this.toBBox,a=Lt(t,0,e,s),u=Lt(t,n-e,n,s),l=Dt(a)+Dt(u);for(i=e;i<n-e;i++)o=t.children[i],Ot(a,t.leaf?s(o):o),l+=Dt(a);for(i=n-e-1;i>=e;i--)o=t.children[i],Ot(u,t.leaf?s(o):o),l+=Dt(u);return l},_adjustParentBBoxes:function(t,e,n){for(var r=n;r>=0;r--)Ot(e[r],t)},_condense:function(t){for(var e,n=t.length-1;n>=0;n--)0===t[n].children.length?n>0?(e=t[n-1].children).splice(e.indexOf(t[n]),1):this.clear():Mt(t[n],this.toBBox)},_initFormat:function(t){var e=[\"return a\",\" - b\",\";\"];this.compareMinX=new Function(\"a\",\"b\",e.join(t[0])),this.compareMinY=new Function(\"a\",\"b\",e.join(t[1])),this.toBBox=new Function(\"a\",\"return {minX: a\"+t[0]+\", minY: a\"+t[1]+\", maxX: a\"+t[2]+\", maxY: a\"+t[3]+\"};\")}},Nt.default=St;var zt=function(t,e,n){var r=t*e,i=jt*t,o=i-(i-t),s=t-o,a=jt*e,u=a-(a-e),l=e-u,c=s*l-(r-o*u-s*u-o*l);if(n)return n[0]=c,n[1]=r,n;return[c,r]},jt=+(Math.pow(2,27)+1);var Ut=function(t,e){var n=0|t.length,r=0|e.length;if(1===n&&1===r)return function(t,e){var n=t+e,r=n-t,i=t-(n-r)+(e-r);if(i)return[i,n];return[n]}(t[0],e[0]);var i,o,s=new Array(n+r),a=0,u=0,l=0,c=Math.abs,h=t[u],p=c(h),f=e[l],g=c(f);p<g?(o=h,(u+=1)<n&&(h=t[u],p=c(h))):(o=f,(l+=1)<r&&(f=e[l],g=c(f)));u<n&&p<g||l>=r?(i=h,(u+=1)<n&&(h=t[u],p=c(h))):(i=f,(l+=1)<r&&(f=e[l],g=c(f)));var d,y,v=i+o,_=v-i,m=o-_,x=m,E=v;for(;u<n&&l<r;)p<g?(i=h,(u+=1)<n&&(h=t[u],p=c(h))):(i=f,(l+=1)<r&&(f=e[l],g=c(f))),(m=(o=x)-(_=(v=i+o)-i))&&(s[a++]=m),x=E-((d=E+v)-(y=d-E))+(v-y),E=d;for(;u<n;)(m=(o=x)-(_=(v=(i=h)+o)-i))&&(s[a++]=m),x=E-((d=E+v)-(y=d-E))+(v-y),E=d,(u+=1)<n&&(h=t[u]);for(;l<r;)(m=(o=x)-(_=(v=(i=f)+o)-i))&&(s[a++]=m),x=E-((d=E+v)-(y=d-E))+(v-y),E=d,(l+=1)<r&&(f=e[l]);x&&(s[a++]=x);E&&(s[a++]=E);a||(s[a++]=0);return s.length=a,s};var Vt=function(t,e,n){var r=t+e,i=r-t,o=e-i,s=t-(r-i);if(n)return n[0]=s+o,n[1]=r,n;return[s+o,r]};var Xt=function(t,e){var n=t.length;if(1===n){var r=zt(t[0],e);return r[0]?r:[r[1]]}var i=new Array(2*n),o=[.1,.1],s=[.1,.1],a=0;zt(t[0],e,o),o[0]&&(i[a++]=o[0]);for(var u=1;u<n;++u){zt(t[u],e,s);var l=o[1];Vt(l,s[0],o),o[0]&&(i[a++]=o[0]);var c=s[1],h=o[1],p=c+h,f=h-(p-c);o[1]=p,f&&(i[a++]=f)}o[1]&&(i[a++]=o[1]);0===a&&(i[a++]=0);return i.length=a,i};var Yt=function(t,e){var n=0|t.length,r=0|e.length;if(1===n&&1===r)return function(t,e){var n=t+e,r=n-t,i=t-(n-r)+(e-r);if(i)return[i,n];return[n]}(t[0],-e[0]);var i,o,s=new Array(n+r),a=0,u=0,l=0,c=Math.abs,h=t[u],p=c(h),f=-e[l],g=c(f);p<g?(o=h,(u+=1)<n&&(h=t[u],p=c(h))):(o=f,(l+=1)<r&&(f=-e[l],g=c(f)));u<n&&p<g||l>=r?(i=h,(u+=1)<n&&(h=t[u],p=c(h))):(i=f,(l+=1)<r&&(f=-e[l],g=c(f)));var d,y,v=i+o,_=v-i,m=o-_,x=m,E=v;for(;u<n&&l<r;)p<g?(i=h,(u+=1)<n&&(h=t[u],p=c(h))):(i=f,(l+=1)<r&&(f=-e[l],g=c(f))),(m=(o=x)-(_=(v=i+o)-i))&&(s[a++]=m),x=E-((d=E+v)-(y=d-E))+(v-y),E=d;for(;u<n;)(m=(o=x)-(_=(v=(i=h)+o)-i))&&(s[a++]=m),x=E-((d=E+v)-(y=d-E))+(v-y),E=d,(u+=1)<n&&(h=t[u]);for(;l<r;)(m=(o=x)-(_=(v=(i=f)+o)-i))&&(s[a++]=m),x=E-((d=E+v)-(y=d-E))+(v-y),E=d,(l+=1)<r&&(f=-e[l]);x&&(s[a++]=x);E&&(s[a++]=E);a||(s[a++]=0);return s.length=a,s};var Ht=Bt((function(t){function e(t,e){for(var n=new Array(t.length-1),r=1;r<t.length;++r)for(var i=n[r-1]=new Array(t.length-1),o=0,s=0;o<t.length;++o)o!==e&&(i[s++]=t[r][o]);return n}function n(t){if(1===t.length)return t[0];if(2===t.length)return[\"sum(\",t[0],\",\",t[1],\")\"].join(\"\");var e=t.length>>1;return[\"sum(\",n(t.slice(0,e)),\",\",n(t.slice(e)),\")\"].join(\"\")}function r(t){if(2===t.length)return[[\"sum(prod(\",t[0][0],\",\",t[1][1],\"),prod(-\",t[0][1],\",\",t[1][0],\"))\"].join(\"\")];for(var i=[],o=0;o<t.length;++o)i.push([\"scale(\",n(r(e(t,o))),\",\",(s=o,1&s?\"-\":\"\"),t[0][o],\")\"].join(\"\"));return i;var s}function i(t){for(var i=[],o=[],s=function(t){for(var e=new Array(t),n=0;n<t;++n){e[n]=new Array(t);for(var r=0;r<t;++r)e[n][r]=[\"m\",r,\"[\",t-n-1,\"]\"].join(\"\")}return e}(t),a=[],u=0;u<t;++u)0==(1&u)?i.push.apply(i,r(e(s,u))):o.push.apply(o,r(e(s,u))),a.push(\"m\"+u);var l=n(i),c=n(o),h=\"orientation\"+t+\"Exact\",p=[\"function \",h,\"(\",a.join(),\"){var p=\",l,\",n=\",c,\",d=sub(p,n);return d[d.length-1];};return \",h].join(\"\");return new Function(\"sum\",\"prod\",\"scale\",\"sub\",p)(Ut,zt,Xt,Yt)}var o=i(3),s=i(4),a=[function(){return 0},function(){return 0},function(t,e){return e[0]-t[0]},function(t,e,n){var r,i=(t[1]-n[1])*(e[0]-n[0]),s=(t[0]-n[0])*(e[1]-n[1]),a=i-s;if(i>0){if(s<=0)return a;r=i+s}else{if(!(i<0))return a;if(s>=0)return a;r=-(i+s)}var u=33306690738754716e-32*r;return a>=u||a<=-u?a:o(t,e,n)},function(t,e,n,r){var i=t[0]-r[0],o=e[0]-r[0],a=n[0]-r[0],u=t[1]-r[1],l=e[1]-r[1],c=n[1]-r[1],h=t[2]-r[2],p=e[2]-r[2],f=n[2]-r[2],g=o*c,d=a*l,y=a*u,v=i*c,_=i*l,m=o*u,x=h*(g-d)+p*(y-v)+f*(_-m),E=7771561172376103e-31*((Math.abs(g)+Math.abs(d))*Math.abs(h)+(Math.abs(y)+Math.abs(v))*Math.abs(p)+(Math.abs(_)+Math.abs(m))*Math.abs(f));return x>E||-x>E?x:s(t,e,n,r)}];function u(t){var e=a[t.length];return e||(e=a[t.length]=i(t.length)),e.apply(void 0,t)}!function(){for(;a.length<=5;)a.push(i(a.length));for(var e=[],n=[\"slow\"],r=0;r<=5;++r)e.push(\"a\"+r),n.push(\"o\"+r);var o=[\"function getOrientation(\",e.join(),\"){switch(arguments.length){case 0:case 1:return 0;\"];for(r=2;r<=5;++r)o.push(\"case \",r,\":return o\",r,\"(\",e.slice(0,r).join(),\");\");o.push(\"}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return getOrientation\"),n.push(o.join(\"\"));var s=Function.apply(void 0,n);for(t.exports=s.apply(void 0,[u].concat(a)),r=0;r<=5;++r)t.exports[r]=a[r]}()})),Wt=function(t){var e=t.length;if(e<3){for(var n=new Array(e),r=0;r<e;++r)n[r]=r;return 2===e&&t[0][0]===t[1][0]&&t[0][1]===t[1][1]?[0]:n}var i=new Array(e);for(r=0;r<e;++r)i[r]=r;i.sort((function(e,n){var r=t[e][0]-t[n][0];return r||t[e][1]-t[n][1]}));var o=[i[0],i[1]],s=[i[0],i[1]];for(r=2;r<e;++r){for(var a=i[r],u=t[a],l=o.length;l>1&&Jt(t[o[l-2]],t[o[l-1]],u)<=0;)l-=1,o.pop();for(o.push(a),l=s.length;l>1&&Jt(t[s[l-2]],t[s[l-1]],u)>=0;)l-=1,s.pop();s.push(a)}n=new Array(s.length+o.length-2);for(var c=0,h=(r=0,o.length);r<h;++r)n[c++]=o[r];for(var p=s.length-2;p>0;--p)n[c++]=s[p];return n},Jt=Ht[3];var Zt=Qt,Kt=Qt;function Qt(t,e){if(!(this instanceof Qt))return new Qt(t,e);if(this.data=t||[],this.length=this.data.length,this.compare=e||$t,this.length>0)for(var n=(this.length>>1)-1;n>=0;n--)this._down(n)}function $t(t,e){return t<e?-1:t>e?1:0}Qt.prototype={push:function(t){this.data.push(t),this.length++,this._up(this.length-1)},pop:function(){if(0!==this.length){var t=this.data[0];return this.length--,this.length>0&&(this.data[0]=this.data[this.length],this._down(0)),this.data.pop(),t}},peek:function(){return this.data[0]},_up:function(t){for(var e=this.data,n=this.compare,r=e[t];t>0;){var i=t-1>>1,o=e[i];if(n(r,o)>=0)break;e[t]=o,t=i}e[t]=r},_down:function(t){for(var e=this.data,n=this.compare,r=this.length>>1,i=e[t];t<r;){var o=1+(t<<1),s=o+1,a=e[o];if(s<this.length&&n(e[s],a)<0&&(o=s,a=e[s]),n(a,i)>=0)break;e[t]=a,t=o}e[t]=i}},Zt.default=Kt;var te=function(t,e){for(var n=t[0],r=t[1],i=!1,o=0,s=e.length-1;o<e.length;s=o++){var a=e[o][0],u=e[o][1],l=e[s][0],c=e[s][1];u>r!=c>r&&n<(l-a)*(r-u)/(c-u)+a&&(i=!i)}return i},ee=Ht[3],ne=ie,re=ie;function ie(t,e,n){e=Math.max(0,void 0===e?2:e),n=n||0;for(var r,i=function(t){for(var e=t[0],n=t[0],r=t[0],i=t[0],o=0;o<t.length;o++){var s=t[o];s[0]<e[0]&&(e=s),s[0]>r[0]&&(r=s),s[1]<n[1]&&(n=s),s[1]>i[1]&&(i=s)}var a=[e,n,r,i],u=a.slice();for(o=0;o<t.length;o++)te(t[o],a)||u.push(t[o]);var l=Wt(u),c=[];for(o=0;o<l.length;o++)c.push(u[l[o]]);return c}(t),o=Nt(16,[\"[0]\",\"[1]\",\"[0]\",\"[1]\"]).load(t),s=[],a=0;a<i.length;a++){var u=i[a];o.remove(u),r=he(u,r),s.push(r)}var l=Nt(16);for(a=0;a<s.length;a++)l.insert(ce(s[a]));for(var c=e*e,h=n*n;s.length;){var p=s.shift(),f=p.p,g=p.next.p,d=pe(f,g);if(!(d<h)){var y=d/c;(u=oe(o,p.prev.p,f,g,p.next.next.p,y,l))&&Math.min(pe(u,f),pe(u,g))<=y&&(s.push(p),s.push(he(u,p)),o.remove(u),l.remove(p),l.insert(ce(p)),l.insert(ce(p.next)))}}p=r;var v=[];do{v.push(p.p),p=p.next}while(p!==r);return v.push(p.p),v}function oe(t,e,n,r,i,o,s){for(var a=new Zt(null,se),u=t.data;u;){for(var l=0;l<u.children.length;l++){var c=u.children[l],h=u.leaf?fe(c,n,r):ae(n,r,c);h>o||a.push({node:c,dist:h})}for(;a.length&&!a.peek().node.children;){var p=a.pop(),f=p.node,g=fe(f,e,n),d=fe(f,r,i);if(p.dist<g&&p.dist<d&&le(n,f,s)&&le(r,f,s))return f}(u=a.pop())&&(u=u.node)}return null}function se(t,e){return t.dist-e.dist}function ae(t,e,n){if(ue(t,n)||ue(e,n))return 0;var r=ge(t[0],t[1],e[0],e[1],n.minX,n.minY,n.maxX,n.minY);if(0===r)return 0;var i=ge(t[0],t[1],e[0],e[1],n.minX,n.minY,n.minX,n.maxY);if(0===i)return 0;var o=ge(t[0],t[1],e[0],e[1],n.maxX,n.minY,n.maxX,n.maxY);if(0===o)return 0;var s=ge(t[0],t[1],e[0],e[1],n.minX,n.maxY,n.maxX,n.maxY);return 0===s?0:Math.min(r,i,o,s)}function ue(t,e){return t[0]>=e.minX&&t[0]<=e.maxX&&t[1]>=e.minY&&t[1]<=e.maxY}function le(t,e,n){for(var r,i,o,s,a=Math.min(t[0],e[0]),u=Math.min(t[1],e[1]),l=Math.max(t[0],e[0]),c=Math.max(t[1],e[1]),h=n.search({minX:a,minY:u,maxX:l,maxY:c}),p=0;p<h.length;p++)if(r=h[p].p,i=h[p].next.p,o=t,r!==(s=e)&&i!==o&&ee(r,i,o)>0!=ee(r,i,s)>0&&ee(o,s,r)>0!=ee(o,s,i)>0)return!1;return!0}function ce(t){var e=t.p,n=t.next.p;return t.minX=Math.min(e[0],n[0]),t.minY=Math.min(e[1],n[1]),t.maxX=Math.max(e[0],n[0]),t.maxY=Math.max(e[1],n[1]),t}function he(t,e){var n={p:t,prev:null,next:null,minX:0,minY:0,maxX:0,maxY:0};return e?(n.next=e.next,n.prev=e,e.next.prev=n,e.next=n):(n.prev=n,n.next=n),n}function pe(t,e){var n=t[0]-e[0],r=t[1]-e[1];return n*n+r*r}function fe(t,e,n){var r=e[0],i=e[1],o=n[0]-r,s=n[1]-i;if(0!==o||0!==s){var a=((t[0]-r)*o+(t[1]-i)*s)/(o*o+s*s);a>1?(r=n[0],i=n[1]):a>0&&(r+=o*a,i+=s*a)}return(o=t[0]-r)*o+(s=t[1]-i)*s}function ge(t,e,n,r,i,o,s,a){var u,l,c,h,p=n-t,f=r-e,g=s-i,d=a-o,y=t-i,v=e-o,_=p*p+f*f,m=p*g+f*d,x=g*g+d*d,E=p*y+f*v,b=g*y+d*v,w=_*x-m*m,I=w,N=w;0===w?(l=0,I=1,h=b,N=x):(h=_*b-m*E,(l=m*b-x*E)<0?(l=0,h=b,N=x):l>I&&(l=I,h=b+m,N=x)),h<0?(h=0,-E<0?l=0:-E>_?l=I:(l=-E,I=_)):h>N&&(h=N,-E+m<0?l=0:-E+m>_?l=I:(l=-E+m,I=_));var S=(1-(c=0===h?0:h/N))*i+c*s-((1-(u=0===l?0:l/I))*t+u*n),C=(1-c)*o+c*a-((1-u)*e+u*r);return S*S+C*C}function de(t,e){void 0===e&&(e={}),e.concavity=e.concavity||1/0;var n=[];if(R(t,(function(t){n.push([t[0],t[1]])})),!n.length)return null;var r=ne(n,e.concavity);return r.length>3?l([r]):null}function ye(t,e,n){if(void 0===n&&(n={}),!t)throw new Error(\"point is required\");if(!e)throw new Error(\"polygon is required\");var r=K(t),i=rt(e),o=i.type,s=e.bbox,a=i.coordinates;if(s&&!1===function(t,e){return e[0]<=t[0]&&e[1]<=t[1]&&e[2]>=t[0]&&e[3]>=t[1]}(r,s))return!1;\"Polygon\"===o&&(a=[a]);for(var u=!1,l=0;l<a.length&&!u;l++)if(ve(r,a[l][0],n.ignoreBoundary)){for(var c=!1,h=1;h<a[l].length&&!c;)ve(r,a[l][h],!n.ignoreBoundary)&&(c=!0),h++;c||(u=!0)}return u}function ve(t,e,n){var r=!1;e[0][0]===e[e.length-1][0]&&e[0][1]===e[e.length-1][1]&&(e=e.slice(0,e.length-1));for(var i=0,o=e.length-1;i<e.length;o=i++){var s=e[i][0],a=e[i][1],u=e[o][0],l=e[o][1];if(t[1]*(s-u)+a*(u-t[0])+l*(t[0]-s)==0&&(s-t[0])*(u-t[0])<=0&&(a-t[1])*(l-t[1])<=0)return!n;a>t[1]!=l>t[1]&&t[0]<(u-s)*(t[1]-a)/(l-a)+s&&(r=!r)}return r}function _e(t,e){var n=[];return F(t,(function(t){var r=!1;if(\"Point\"===t.geometry.type)q(e,(function(e){ye(t,e)&&(r=!0)})),r&&n.push(t);else{if(\"MultiPoint\"!==t.geometry.type)throw new Error(\"Input geometry must be a Point or MultiPoint\");var i=[];q(e,(function(e){R(t,(function(t){ye(t,e)&&(r=!0,i.push(t))}))})),r&&n.push(d(i))}})),f(n)}function me(t,e,n){void 0===n&&(n={});var r=K(t),i=K(e),o=I(i[1]-r[1]),s=I(i[0]-r[0]),a=I(r[1]),u=I(i[1]),l=Math.pow(Math.sin(o/2),2)+Math.pow(Math.sin(s/2),2)*Math.cos(a)*Math.cos(u);return m(2*Math.atan2(Math.sqrt(l),Math.sqrt(1-l)),n.units)}function xe(t,e){var n=!1;return f(function(t){if(t.length<3)return[];t.sort(be);var e,n,r,i,o,s,a=t.length-1,u=t[a].x,l=t[0].x,c=t[a].y,h=c,p=1e-12;for(;a--;)t[a].y<c&&(c=t[a].y),t[a].y>h&&(h=t[a].y);var f,g=l-u,d=h-c,y=g>d?g:d,v=.5*(l+u),_=.5*(h+c),m=[new Ee({__sentinel:!0,x:v-20*y,y:_-y},{__sentinel:!0,x:v,y:_+20*y},{__sentinel:!0,x:v+20*y,y:_-y})],x=[],E=[];a=t.length;for(;a--;){for(E.length=0,f=m.length;f--;)(g=t[a].x-m[f].x)>0&&g*g>m[f].r?(x.push(m[f]),m.splice(f,1)):g*g+(d=t[a].y-m[f].y)*d>m[f].r||(E.push(m[f].a,m[f].b,m[f].b,m[f].c,m[f].c,m[f].a),m.splice(f,1));for(we(E),f=E.length;f;)n=E[--f],e=E[--f],r=t[a],i=n.x-e.x,o=n.y-e.y,s=2*(i*(r.y-n.y)-o*(r.x-n.x)),Math.abs(s)>p&&m.push(new Ee(e,n,r))}Array.prototype.push.apply(x,m),a=x.length;for(;a--;)(x[a].a.__sentinel||x[a].b.__sentinel||x[a].c.__sentinel)&&x.splice(a,1);return x}(t.features.map((function(t){var r={x:t.geometry.coordinates[0],y:t.geometry.coordinates[1]};return e?r.z=t.properties[e]:3===t.geometry.coordinates.length&&(n=!0,r.z=t.geometry.coordinates[2]),r}))).map((function(t){var e=[t.a.x,t.a.y],r=[t.b.x,t.b.y],i=[t.c.x,t.c.y],o={};return n?(e.push(t.a.z),r.push(t.b.z),i.push(t.c.z)):o={a:t.a.z,b:t.b.z,c:t.c.z},l([[e,r,i,e]],o)})))}ne.default=re;var Ee=function(t,e,n){this.a=t,this.b=e,this.c=n;var r,i,o=e.x-t.x,s=e.y-t.y,a=n.x-t.x,u=n.y-t.y,l=o*(t.x+e.x)+s*(t.y+e.y),c=a*(t.x+n.x)+u*(t.y+n.y),h=2*(o*(n.y-e.y)-s*(n.x-e.x));this.x=(u*l-s*c)/h,this.y=(o*c-a*l)/h,r=this.x-t.x,i=this.y-t.y,this.r=r*r+i*i};function be(t,e){return e.x-t.x}function we(t){var e,n,r,i,o,s=t.length;t:for(;s;)for(n=t[--s],e=t[--s],r=s;r;)if(o=t[--r],e===(i=t[--r])&&n===o||e===o&&n===i){t.splice(s,2),t.splice(r,2),s-=2;continue t}}function Ie(t){if(!t)throw new Error(\"geojson is required\");switch(t.type){case\"Feature\":return Ne(t);case\"FeatureCollection\":return function(t){var e={type:\"FeatureCollection\"};return Object.keys(t).forEach((function(n){switch(n){case\"type\":case\"features\":return;default:e[n]=t[n]}})),e.features=t.features.map((function(t){return Ne(t)})),e}(t);case\"Point\":case\"LineString\":case\"Polygon\":case\"MultiPoint\":case\"MultiLineString\":case\"MultiPolygon\":case\"GeometryCollection\":return Ce(t);default:throw new Error(\"unknown GeoJSON type\")}}function Ne(t){var e={type:\"Feature\"};return Object.keys(t).forEach((function(n){switch(n){case\"type\":case\"properties\":case\"geometry\":return;default:e[n]=t[n]}})),e.properties=Se(t.properties),e.geometry=Ce(t.geometry),e}function Se(t){var e={};return t?(Object.keys(t).forEach((function(n){var r=t[n];\"object\"==typeof r?null===r?e[n]=null:Array.isArray(r)?e[n]=r.map((function(t){return t})):e[n]=Se(r):e[n]=r})),e):e}function Ce(t){var e={type:t.type};return t.bbox&&(e.bbox=t.bbox),\"GeometryCollection\"===t.type?(e.geometries=t.geometries.map((function(t){return Ce(t)})),e):(e.coordinates=Pe(t.coordinates),e)}function Pe(t){var e=t;return\"object\"!=typeof e[0]?e.slice():e.map((function(t){return Pe(t)}))}function Me(t,e){if(void 0===e&&(e={}),!P(e=e||{}))throw new Error(\"options is invalid\");var n=e.mutate;if(\"FeatureCollection\"!==it(t))throw new Error(\"geojson must be a FeatureCollection\");if(!t.features.length)throw new Error(\"geojson is empty\");!1!==n&&void 0!==n||(t=Ie(t));var r=[],i=Y(t,(function(t,e){var n=function(t,e){var n,r=t.geometry.coordinates,i=e.geometry.coordinates,o=Le(r[0]),s=Le(r[r.length-1]),a=Le(i[0]),u=Le(i[i.length-1]);if(o===u)n=i.concat(r.slice(1));else if(a===s)n=r.concat(i.slice(1));else if(o===a)n=r.slice(1).reverse().concat(i);else{if(s!==u)return null;n=r.concat(i.reverse().slice(1))}return h(n)}(t,e);return n||(r.push(t),e)}));return i&&r.push(i),r.length?1===r.length?r[0]:g(r.map((function(t){return t.coordinates}))):null}function Le(t){return t[0].toString()+\",\"+t[1].toString()}function Oe(t){return t}function Re(t,e){var n=function(t){if(null==t)return Oe;var e,n,r=t.scale[0],i=t.scale[1],o=t.translate[0],s=t.translate[1];return function(t,a){a||(e=n=0);var u=2,l=t.length,c=new Array(l);for(c[0]=(e+=t[0])*r+o,c[1]=(n+=t[1])*i+s;u<l;)c[u]=t[u],++u;return c}}(t.transform),r=t.arcs;function i(t,e){e.length&&e.pop();for(var i=r[t<0?~t:t],o=0,s=i.length;o<s;++o)e.push(n(i[o],o));t<0&&function(t,e){for(var n,r=t.length,i=r-e;i<--r;)n=t[i],t[i++]=t[r],t[r]=n}(e,s)}function o(t){return n(t)}function s(t){for(var e=[],n=0,r=t.length;n<r;++n)i(t[n],e);return e.length<2&&e.push(e[0]),e}function a(t){for(var e=s(t);e.length<4;)e.push(e[0]);return e}function u(t){return t.map(a)}return function t(e){var n,r=e.type;switch(r){case\"GeometryCollection\":return{type:r,geometries:e.geometries.map(t)};case\"Point\":n=o(e.coordinates);break;case\"MultiPoint\":n=e.coordinates.map(o);break;case\"LineString\":n=s(e.arcs);break;case\"MultiLineString\":n=e.arcs.map(s);break;case\"Polygon\":n=u(e.arcs);break;case\"MultiPolygon\":n=e.arcs.map(u);break;default:return null}return{type:r,coordinates:n}}(e)}function Te(t,e){var n={},r={},i={},o=[],s=-1;function a(t,e){for(var r in t){var i=t[r];delete e[i.start],delete i.start,delete i.end,i.forEach((function(t){n[t<0?~t:t]=1})),o.push(i)}}return e.forEach((function(n,r){var i,o=t.arcs[n<0?~n:n];o.length<3&&!o[1][0]&&!o[1][1]&&(i=e[++s],e[s]=n,e[r]=i)})),e.forEach((function(e){var n,o,s=function(e){var n,r=t.arcs[e<0?~e:e],i=r[0];t.transform?(n=[0,0],r.forEach((function(t){n[0]+=t[0],n[1]+=t[1]}))):n=r[r.length-1];return e<0?[n,i]:[i,n]}(e),a=s[0],u=s[1];if(n=i[a])if(delete i[n.end],n.push(e),n.end=u,o=r[u]){delete r[o.start];var l=o===n?n:n.concat(o);r[l.start=n.start]=i[l.end=o.end]=l}else r[n.start]=i[n.end]=n;else if(n=r[u])if(delete r[n.start],n.unshift(e),n.start=a,o=i[a]){delete i[o.end];var c=o===n?n:o.concat(n);r[c.start=o.start]=i[c.end=n.end]=c}else r[n.start]=i[n.end]=n;else r[(n=[e]).start=a]=i[n.end=u]=n})),a(i,r),a(r,i),e.forEach((function(t){n[t<0?~t:t]||o.push([t])})),o}function Ae(t,e){var n={},r=[],i=[];function o(t){t.forEach((function(e){e.forEach((function(e){(n[e=e<0?~e:e]||(n[e]=[])).push(t)}))})),r.push(t)}function s(e){return function(t){for(var e,n=-1,r=t.length,i=t[r-1],o=0;++n<r;)e=i,i=t[n],o+=e[0]*i[1]-e[1]*i[0];return Math.abs(o)}(Re(t,{type:\"Polygon\",arcs:[e]}).coordinates[0])}return e.forEach((function t(e){switch(e.type){case\"GeometryCollection\":e.geometries.forEach(t);break;case\"Polygon\":o(e.arcs);break;case\"MultiPolygon\":e.arcs.forEach(o)}})),r.forEach((function(t){if(!t._){var e=[],r=[t];for(t._=1,i.push(e);t=r.pop();)e.push(t),t.forEach((function(t){t.forEach((function(t){n[t<0?~t:t].forEach((function(t){t._||(t._=1,r.push(t))}))}))}))}})),r.forEach((function(t){delete t._})),{type:\"MultiPolygon\",arcs:i.map((function(e){var r,i=[];if(e.forEach((function(t){t.forEach((function(t){t.forEach((function(t){n[t<0?~t:t].length<2&&i.push(t)}))}))})),(r=(i=Te(t,i)).length)>1)for(var o,a,u=1,l=s(i[0]);u<r;++u)(o=s(i[u]))>l&&(a=i[0],i[0]=i[u],i[u]=a,l=o);return i})).filter((function(t){return t.length>0}))}}var De=Object.prototype.hasOwnProperty;function Fe(t,e,n,r,i,o){3===arguments.length&&(r=o=Array,i=null);for(var s=new r(t=1<<Math.max(4,Math.ceil(Math.log(t)/Math.LN2))),a=new o(t),u=t-1,l=0;l<t;++l)s[l]=i;function c(r,o){for(var l=e(r)&u,c=s[l],h=0;c!=i;){if(n(c,r))return a[l]=o;if(++h>=t)throw new Error(\"full hashmap\");c=s[l=l+1&u]}return s[l]=r,a[l]=o,o}function h(r,o){for(var l=e(r)&u,c=s[l],h=0;c!=i;){if(n(c,r))return a[l];if(++h>=t)throw new Error(\"full hashmap\");c=s[l=l+1&u]}return s[l]=r,a[l]=o,o}function p(r,o){for(var l=e(r)&u,c=s[l],h=0;c!=i;){if(n(c,r))return a[l];if(++h>=t)break;c=s[l=l+1&u]}return o}function f(){for(var t=[],e=0,n=s.length;e<n;++e){var r=s[e];r!=i&&t.push(r)}return t}return{set:c,maybeSet:h,get:p,keys:f}}function ke(t,e){return t[0]===e[0]&&t[1]===e[1]}var Ge=new ArrayBuffer(16),qe=new Float64Array(Ge),Be=new Uint32Array(Ge);function ze(t){qe[0]=t[0],qe[1]=t[1];var e=Be[0]^Be[1];return 2147483647&(e=e<<5^e>>7^Be[2]^Be[3])}function je(t){var e,n,r,i,o=t.coordinates,s=t.lines,a=t.rings,u=function(){for(var t=Fe(1.4*o.length,E,b,Int32Array,-1,Int32Array),e=new Int32Array(o.length),n=0,r=o.length;n<r;++n)e[n]=t.maybeSet(n,n);return e}(),l=new Int32Array(o.length),c=new Int32Array(o.length),h=new Int32Array(o.length),p=new Int8Array(o.length),f=0;for(e=0,n=o.length;e<n;++e)l[e]=c[e]=h[e]=-1;for(e=0,n=s.length;e<n;++e){var g=s[e],d=g[0],y=g[1];for(r=u[d],i=u[++d],++f,p[r]=1;++d<=y;)x(e,r,r=i,i=u[d]);++f,p[i]=1}for(e=0,n=o.length;e<n;++e)l[e]=-1;for(e=0,n=a.length;e<n;++e){var v=a[e],_=v[0]+1,m=v[1];for(x(e,u[m-1],r=u[_-1],i=u[_]);++_<=m;)x(e,r,r=i,i=u[_])}function x(t,e,n,r){if(l[n]!==t){l[n]=t;var i=c[n];if(i>=0){var o=h[n];i===e&&o===r||i===r&&o===e||(++f,p[n]=1)}else c[n]=e,h[n]=r}}function E(t){return ze(o[t])}function b(t,e){return ke(o[t],o[e])}l=c=h=null;var w,I=function(t,e,n,r,i){3===arguments.length&&(r=Array,i=null);for(var o=new r(t=1<<Math.max(4,Math.ceil(Math.log(t)/Math.LN2))),s=t-1,a=0;a<t;++a)o[a]=i;function u(r){for(var a=e(r)&s,u=o[a],l=0;u!=i;){if(n(u,r))return!0;if(++l>=t)throw new Error(\"full hashset\");u=o[a=a+1&s]}return o[a]=r,!0}function l(r){for(var a=e(r)&s,u=o[a],l=0;u!=i;){if(n(u,r))return!0;if(++l>=t)break;u=o[a=a+1&s]}return!1}function c(){for(var t=[],e=0,n=o.length;e<n;++e){var r=o[e];r!=i&&t.push(r)}return t}return{add:u,has:l,values:c}}(1.4*f,ze,ke);for(e=0,n=o.length;e<n;++e)p[w=u[e]]&&I.add(o[w]);return I}function Ue(t,e,n,r){Ve(t,e,n),Ve(t,e,e+r),Ve(t,e+r,n)}function Ve(t,e,n){for(var r,i=e+(n---e>>1);e<i;++e,--n)r=t[e],t[e]=t[n],t[n]=r}function Xe(t){var e,n,r={};for(e in t)r[e]=null==(n=t[e])?{type:null}:(\"FeatureCollection\"===n.type?Ye:\"Feature\"===n.type?He:We)(n);return r}function Ye(t){var e={type:\"GeometryCollection\",geometries:t.features.map(He)};return null!=t.bbox&&(e.bbox=t.bbox),e}function He(t){var e,n=We(t.geometry);for(e in null!=t.id&&(n.id=t.id),null!=t.bbox&&(n.bbox=t.bbox),t.properties){n.properties=t.properties;break}return n}function We(t){if(null==t)return{type:null};var e=\"GeometryCollection\"===t.type?{type:\"GeometryCollection\",geometries:t.geometries.map(We)}:\"Point\"===t.type||\"MultiPoint\"===t.type?{type:t.type,coordinates:t.coordinates}:{type:t.type,arcs:t.coordinates};return null!=t.bbox&&(e.bbox=t.bbox),e}function Je(t,e){var n=function(t){var e=1/0,n=1/0,r=-1/0,i=-1/0;function o(t){null!=t&&De.call(s,t.type)&&s[t.type](t)}var s={GeometryCollection:function(t){t.geometries.forEach(o)},Point:function(t){a(t.coordinates)},MultiPoint:function(t){t.coordinates.forEach(a)},LineString:function(t){u(t.arcs)},MultiLineString:function(t){t.arcs.forEach(u)},Polygon:function(t){t.arcs.forEach(u)},MultiPolygon:function(t){t.arcs.forEach(l)}};function a(t){var o=t[0],s=t[1];o<e&&(e=o),o>r&&(r=o),s<n&&(n=s),s>i&&(i=s)}function u(t){t.forEach(a)}function l(t){t.forEach(u)}for(var c in t)o(t[c]);return r>=e&&i>=n?[e,n,r,i]:void 0}(t=Xe(t)),r=e>0&&n&&function(t,e,n){var r=e[0],i=e[1],o=e[2],s=e[3],a=o-r?(n-1)/(o-r):1,u=s-i?(n-1)/(s-i):1;function l(t){return[Math.round((t[0]-r)*a),Math.round((t[1]-i)*u)]}function c(t,e){for(var n,o,s,l,c,h=-1,p=0,f=t.length,g=new Array(f);++h<f;)n=t[h],l=Math.round((n[0]-r)*a),c=Math.round((n[1]-i)*u),l===o&&c===s||(g[p++]=[o=l,s=c]);for(g.length=p;p<e;)p=g.push([g[0][0],g[0][1]]);return g}function h(t){return c(t,2)}function p(t){return c(t,4)}function f(t){return t.map(p)}function g(t){null!=t&&De.call(d,t.type)&&d[t.type](t)}var d={GeometryCollection:function(t){t.geometries.forEach(g)},Point:function(t){t.coordinates=l(t.coordinates)},MultiPoint:function(t){t.coordinates=t.coordinates.map(l)},LineString:function(t){t.arcs=h(t.arcs)},MultiLineString:function(t){t.arcs=t.arcs.map(h)},Polygon:function(t){t.arcs=f(t.arcs)},MultiPolygon:function(t){t.arcs=t.arcs.map(f)}};for(var y in t)g(t[y]);return{scale:[1/a,1/u],translate:[r,i]}}(t,n,e),i=function(t){var e,n,r,i,o=t.coordinates,s=t.lines,a=t.rings,u=s.length+a.length;for(delete t.lines,delete t.rings,r=0,i=s.length;r<i;++r)for(e=s[r];e=e.next;)++u;for(r=0,i=a.length;r<i;++r)for(n=a[r];n=n.next;)++u;var l=Fe(2*u*1.4,ze,ke),c=t.arcs=[];for(r=0,i=s.length;r<i;++r){e=s[r];do{h(e)}while(e=e.next)}for(r=0,i=a.length;r<i;++r)if((n=a[r]).next)do{h(n)}while(n=n.next);else p(n);function h(t){var e,n,r,i,s,a,u,h;if(r=l.get(e=o[t[0]]))for(u=0,h=r.length;u<h;++u)if(f(i=r[u],t))return t[0]=i[0],void(t[1]=i[1]);if(s=l.get(n=o[t[1]]))for(u=0,h=s.length;u<h;++u)if(g(a=s[u],t))return t[1]=a[0],void(t[0]=a[1]);r?r.push(t):l.set(e,[t]),s?s.push(t):l.set(n,[t]),c.push(t)}function p(t){var e,n,r,i,s;if(n=l.get(o[t[0]]))for(i=0,s=n.length;i<s;++i){if(d(r=n[i],t))return t[0]=r[0],void(t[1]=r[1]);if(y(r,t))return t[0]=r[1],void(t[1]=r[0])}if(n=l.get(e=o[t[0]+v(t)]))for(i=0,s=n.length;i<s;++i){if(d(r=n[i],t))return t[0]=r[0],void(t[1]=r[1]);if(y(r,t))return t[0]=r[1],void(t[1]=r[0])}n?n.push(t):l.set(e,[t]),c.push(t)}function f(t,e){var n=t[0],r=e[0],i=t[1];if(n-i!=r-e[1])return!1;for(;n<=i;++n,++r)if(!ke(o[n],o[r]))return!1;return!0}function g(t,e){var n=t[0],r=e[0],i=t[1],s=e[1];if(n-i!=r-s)return!1;for(;n<=i;++n,--s)if(!ke(o[n],o[s]))return!1;return!0}function d(t,e){var n=t[0],r=e[0],i=t[1]-n;if(i!==e[1]-r)return!1;for(var s=v(t),a=v(e),u=0;u<i;++u)if(!ke(o[n+(u+s)%i],o[r+(u+a)%i]))return!1;return!0}function y(t,e){var n=t[0],r=e[0],i=t[1],s=e[1],a=i-n;if(a!==s-r)return!1;for(var u=v(t),l=a-v(e),c=0;c<a;++c)if(!ke(o[n+(c+u)%a],o[s-(c+l)%a]))return!1;return!0}function v(t){for(var e=t[0],n=t[1],r=e,i=r,s=o[r];++r<n;){var a=o[r];(a[0]<s[0]||a[0]===s[0]&&a[1]<s[1])&&(i=r,s=a)}return i-e}return t}(function(t){var e,n,r,i=je(t),o=t.coordinates,s=t.lines,a=t.rings;for(n=0,r=s.length;n<r;++n)for(var u=s[n],l=u[0],c=u[1];++l<c;)i.has(o[l])&&(e={0:l,1:u[1]},u[1]=l,u=u.next=e);for(n=0,r=a.length;n<r;++n)for(var h=a[n],p=h[0],f=p,g=h[1],d=i.has(o[p]);++f<g;)i.has(o[f])&&(d?(e={0:f,1:h[1]},h[1]=f,h=h.next=e):(Ue(o,p,g,g-f),o[g]=o[p],d=!0,f=p));return t}(function(t){var e=-1,n=[],r=[],i=[];function o(t){t&&De.call(s,t.type)&&s[t.type](t)}var s={GeometryCollection:function(t){t.geometries.forEach(o)},LineString:function(t){t.arcs=a(t.arcs)},MultiLineString:function(t){t.arcs=t.arcs.map(a)},Polygon:function(t){t.arcs=t.arcs.map(u)},MultiPolygon:function(t){t.arcs=t.arcs.map(l)}};function a(t){for(var r=0,o=t.length;r<o;++r)i[++e]=t[r];var s={0:e-o+1,1:e};return n.push(s),s}function u(t){for(var n=0,o=t.length;n<o;++n)i[++e]=t[n];var s={0:e-o+1,1:e};return r.push(s),s}function l(t){return t.map(u)}for(var c in t)o(t[c]);return{type:\"Topology\",coordinates:i,lines:n,rings:r,objects:t}}(t))),o=i.coordinates,s=Fe(1.4*i.arcs.length,Ze,Ke);function a(t){t&&De.call(u,t.type)&&u[t.type](t)}t=i.objects,i.bbox=n,i.arcs=i.arcs.map((function(t,e){return s.set(t,e),o.slice(t[0],t[1]+1)})),delete i.coordinates,o=null;var u={GeometryCollection:function(t){t.geometries.forEach(a)},LineString:function(t){t.arcs=l(t.arcs)},MultiLineString:function(t){t.arcs=t.arcs.map(l)},Polygon:function(t){t.arcs=t.arcs.map(l)},MultiPolygon:function(t){t.arcs=t.arcs.map(c)}};function l(t){var e=[];do{var n=s.get(t);e.push(t[0]<t[1]?n:~n)}while(t=t.next);return e}function c(t){return t.map(l)}for(var h in t)a(t[h]);return r&&(i.transform=r,i.arcs=function(t){for(var e=-1,n=t.length;++e<n;){for(var r,i,o=t[e],s=0,a=1,u=o.length,l=o[0],c=l[0],h=l[1];++s<u;)r=(l=o[s])[0],i=l[1],r===c&&i===h||(o[a++]=[r-c,i-h],c=r,h=i);1===a&&(o[a++]=[0,0]),o.length=a}return t}(i.arcs)),i}function Ze(t){var e,n=t[0],r=t[1];return r<n&&(e=n,n=r,r=e),n+31*r}function Ke(t,e){var n,r=t[0],i=t[1],o=e[0],s=e[1];return i<r&&(n=r,r=i,i=n),s<o&&(n=o,o=s,s=n),r===o&&i===s}function Qe(t,e){if(void 0===e&&(e={}),\"FeatureCollection\"!==it(t))throw new Error(\"geojson must be a FeatureCollection\");if(!t.features.length)throw new Error(\"geojson is empty\");!1!==e.mutate&&void 0!==e.mutate||(t=Ie(t));var n=[];z(t,(function(t){n.push(t.geometry)}));var r=Je({geoms:v(n).geometry});return function(t){return Re(t,Ae.apply(this,arguments))}(r,r.objects.geoms.geometries)}function $e(t,e){if(void 0===e&&(e={}),!P(e=e||{}))throw new Error(\"options is invalid\");var n=e.mutate;if(\"FeatureCollection\"!==it(t))throw new Error(\"geojson must be a FeatureCollection\");if(!t.features.length)throw new Error(\"geojson is empty\");!1!==n&&void 0!==n||(t=Ie(t));var r=function(t){var e={};z(t,(function(t){e[t.geometry.type]=!0}));var n=Object.keys(e);if(1===n.length)return n[0];return null}(t);if(!r)throw new Error(\"geojson must be homogenous\");var i=t;switch(r){case\"LineString\":return Me(i,e);case\"Polygon\":return Qe(i,e);default:throw new Error(r+\" is not supported\")}}function tn(t,e){void 0===e&&(e={});var n=\"object\"==typeof e?e.mutate:e;if(!t)throw new Error(\"geojson is required\");var r=it(t),i=[];switch(r){case\"LineString\":i=en(t);break;case\"MultiLineString\":case\"Polygon\":Q(t).forEach((function(t){i.push(en(t))}));break;case\"MultiPolygon\":Q(t).forEach((function(t){var e=[];t.forEach((function(t){e.push(en(t))})),i.push(e)}));break;case\"Point\":return t;case\"MultiPoint\":var s={};Q(t).forEach((function(t){var e=t.join(\"-\");Object.prototype.hasOwnProperty.call(s,e)||(i.push(t),s[e]=!0)}));break;default:throw new Error(r+\" geometry not supported\")}return t.coordinates?!0===n?(t.coordinates=i,t):{type:r,coordinates:i}:!0===n?(t.geometry.coordinates=i,t):o({type:r,coordinates:i},t.properties,{bbox:t.bbox,id:t.id})}function en(t){var e=Q(t);if(2===e.length&&!nn(e[0],e[1]))return e;var n=[],r=e.length-1,i=n.length;n.push(e[0]);for(var o=1;o<r;o++){var s=n[n.length-1];e[o][0]===s[0]&&e[o][1]===s[1]||(n.push(e[o]),(i=n.length)>2&&rn(n[i-3],n[i-1],n[i-2])&&n.splice(n.length-2,1))}if(n.push(e[e.length-1]),i=n.length,nn(e[0],e[e.length-1])&&i<4)throw new Error(\"invalid polygon\");return rn(n[i-3],n[i-1],n[i-2])&&n.splice(n.length-2,1),n}function nn(t,e){return t[0]===e[0]&&t[1]===e[1]}function rn(t,e,n){var r=n[0],i=n[1],o=t[0],s=t[1],a=e[0],u=e[1],l=a-o,c=u-s;return 0===(r-o)*c-(i-s)*l&&(Math.abs(l)>=Math.abs(c)?l>0?o<=r&&r<=a:a<=r&&r<=o:c>0?s<=i&&i<=u:u<=i&&i<=s)}function on(t,e,n){var r=e.x,i=e.y,o=n.x-r,s=n.y-i;if(0!==o||0!==s){var a=((t.x-r)*o+(t.y-i)*s)/(o*o+s*s);a>1?(r=n.x,i=n.y):a>0&&(r+=o*a,i+=s*a)}return(o=t.x-r)*o+(s=t.y-i)*s}function sn(t,e,n,r,i){for(var o,s=r,a=e+1;a<n;a++){var u=on(t[a],t[e],t[n]);u>s&&(o=a,s=u)}s>r&&(o-e>1&&sn(t,e,o,r,i),i.push(t[o]),n-o>1&&sn(t,o,n,r,i))}function an(t,e){var n=t.length-1,r=[t[0]];return sn(t,0,n,e,r),r.push(t[n]),r}function un(t,e,n){if(t.length<=2)return t;var r=void 0!==e?e*e:1;return t=an(t=n?t:function(t,e){for(var n,r,i,o,s,a=t[0],u=[a],l=1,c=t.length;l<c;l++)n=t[l],i=a,o=void 0,s=void 0,o=(r=n).x-i.x,s=r.y-i.y,o*o+s*s>e&&(u.push(n),a=n);return a!==n&&u.push(n),u}(t,r),r)}function ln(t,e,n){return un(t.map((function(t){return{x:t[0],y:t[1],z:t[2]}})),e,n).map((function(t){return t.z?[t.x,t.y,t.z]:[t.x,t.y]}))}function cn(t,e,n){return t.map((function(t){var r=t.map((function(t){return{x:t[0],y:t[1]}}));if(r.length<4)throw new Error(\"invalid polygon\");for(var i=un(r,e,n).map((function(t){return[t.x,t.y]}));!hn(i);)i=un(r,e-=.01*e,n).map((function(t){return[t.x,t.y]}));return i[i.length-1][0]===i[0][0]&&i[i.length-1][1]===i[0][1]||i.push(i[0]),i}))}function hn(t){return!(t.length<3)&&!(3===t.length&&t[2][0]===t[0][0]&&t[2][1]===t[0][1])}var pn=function(){function t(t){this.points=t.points||[],this.duration=t.duration||1e4,this.sharpness=t.sharpness||.85,this.centers=[],this.controls=[],this.stepLength=t.stepLength||60,this.length=this.points.length,this.delay=0;for(var e=0;e<this.length;e++)this.points[e].z=this.points[e].z||0;for(e=0;e<this.length-1;e++){var n=this.points[e],r=this.points[e+1];this.centers.push({x:(n.x+r.x)/2,y:(n.y+r.y)/2,z:(n.z+r.z)/2})}this.controls.push([this.points[0],this.points[0]]);for(e=0;e<this.centers.length-1;e++){var i=this.points[e+1].x-(this.centers[e].x+this.centers[e+1].x)/2,o=this.points[e+1].y-(this.centers[e].y+this.centers[e+1].y)/2,s=this.points[e+1].z-(this.centers[e].y+this.centers[e+1].z)/2;this.controls.push([{x:(1-this.sharpness)*this.points[e+1].x+this.sharpness*(this.centers[e].x+i),y:(1-this.sharpness)*this.points[e+1].y+this.sharpness*(this.centers[e].y+o),z:(1-this.sharpness)*this.points[e+1].z+this.sharpness*(this.centers[e].z+s)},{x:(1-this.sharpness)*this.points[e+1].x+this.sharpness*(this.centers[e+1].x+i),y:(1-this.sharpness)*this.points[e+1].y+this.sharpness*(this.centers[e+1].y+o),z:(1-this.sharpness)*this.points[e+1].z+this.sharpness*(this.centers[e+1].z+s)}])}return this.controls.push([this.points[this.length-1],this.points[this.length-1]]),this.steps=this.cacheSteps(this.stepLength),this}return t.prototype.cacheSteps=function(t){var e=[],n=this.pos(0);e.push(0);for(var r=0;r<this.duration;r+=10){var i=this.pos(r);Math.sqrt((i.x-n.x)*(i.x-n.x)+(i.y-n.y)*(i.y-n.y)+(i.z-n.z)*(i.z-n.z))>t&&(e.push(r),n=i)}return e},t.prototype.vector=function(t){var e=this.pos(t+10),n=this.pos(t-10);return{angle:180*Math.atan2(e.y-n.y,e.x-n.x)/3.14,speed:Math.sqrt((n.x-e.x)*(n.x-e.x)+(n.y-e.y)*(n.y-e.y)+(n.z-e.z)*(n.z-e.z))}},t.prototype.pos=function(t){var e=t-this.delay;e<0&&(e=0),e>this.duration&&(e=this.duration-1);var n=e/this.duration;if(n>=1)return this.points[this.length-1];var r=Math.floor((this.points.length-1)*n);return function(t,e,n,r,i){var o=function(t){var e=t*t;return[e*t,3*e*(1-t),3*t*(1-t)*(1-t),(1-t)*(1-t)*(1-t)]}(t);return{x:i.x*o[0]+r.x*o[1]+n.x*o[2]+e.x*o[3],y:i.y*o[0]+r.y*o[1]+n.y*o[2]+e.y*o[3],z:i.z*o[0]+r.z*o[1]+n.z*o[2]+e.z*o[3]}}((this.length-1)*n-r,this.points[r],this.controls[r][1],this.controls[r+1][0],this.points[r+1])},t}();function fn(t,e){void 0===e&&(e={});for(var n=e.resolution||1e4,r=e.sharpness||.85,i=[],o=rt(t).coordinates.map((function(t){return{x:t[0],y:t[1]}})),s=new pn({duration:n,points:o,sharpness:r}),a=function(t){var e=s.pos(t);Math.floor(t/100)%2==0&&i.push([e.x,e.y])},u=0;u<s.duration;u+=10)a(u);return a(s.duration),h(i,e.properties)}function gn(t,e){void 0===e&&(e={});var n=Number(t[0]),r=Number(t[1]),i=Number(t[2]),o=Number(t[3]);if(6===t.length)throw new Error(\"@turf/bbox-polygon does not support BBox with 6 positions\");var s=[n,r];return l([[s,[i,r],[i,o],[n,o],s]],e.properties,{bbox:t,id:e.id})}function dn(t){return gn(Z(t))}function yn(t){var e=t[0],n=t[1],r=t[2],i=t[3];if(me(t.slice(0,2),[r,n])>=me(t.slice(0,2),[e,i])){var o=(n+i)/2;return[e,o-(r-e)/2,r,o+(r-e)/2]}var s=(e+r)/2;return[s-(i-n)/2,n,s+(i-n)/2,i]}function vn(t,e,n,r){void 0===r&&(r={});var i=K(t),o=I(i[0]),s=I(i[1]),u=I(n),l=x(e,r.units),c=Math.asin(Math.sin(s)*Math.cos(l)+Math.cos(s)*Math.sin(l)*Math.cos(u));return a([w(o+Math.atan2(Math.sin(u)*Math.sin(l)*Math.cos(s),Math.cos(l)-Math.sin(s)*Math.sin(c))),w(c)],r.properties)}function _n(t,e,n){void 0===n&&(n={});for(var r=n.steps||64,i=n.properties?n.properties:!Array.isArray(t)&&\"Feature\"===t.type&&t.properties?t.properties:{},o=[],s=0;s<r;s++)o.push(vn(t,e,-360*s/r,n).geometry.coordinates);return o.push(o[0]),l([o],i)}function mn(t,e,n){if(void 0===n&&(n={}),!0===n.final)return function(t,e){var n=mn(e,t);return n=(n+180)%360}(t,e);var r=K(t),i=K(e),o=I(r[0]),s=I(i[0]),a=I(r[1]),u=I(i[1]),l=Math.sin(s-o)*Math.cos(u),c=Math.cos(a)*Math.sin(u)-Math.sin(a)*Math.cos(u)*Math.cos(s-o);return w(Math.atan2(l,c))}function xn(t,e){void 0===e&&(e={});var n=Z(t);return a([(n[0]+n[2])/2,(n[1]+n[3])/2],e.properties,e)}function En(t,e){void 0===e&&(e={});var n=0,r=0,i=0;return R(t,(function(t){n+=t[0],r+=t[1],i++}),!0),a([n/i,r/i],e.properties)}function bn(t){var e=[];return\"FeatureCollection\"===t.type?F(t,(function(t){R(t,(function(n){e.push(a(n,t.properties))}))})):R(t,(function(n){e.push(a(n,t.properties))})),f(e)}var wn=Nn,In=Nn;function Nn(t,e,n){n=n||2;var r,i,o,s,a,u,l,c=e&&e.length,h=c?e[0]*n:t.length,p=Sn(t,0,h,n,!0),f=[];if(!p)return f;if(c&&(p=function(t,e,n,r){var i,o,s,a=[];for(i=0,o=e.length;i<o;i++)(s=Sn(t,e[i]*r,i<o-1?e[i+1]*r:t.length,r,!1))===s.next&&(s.steiner=!0),a.push(Fn(s));for(a.sort(Tn),i=0;i<a.length;i++)An(a[i],n),n=Cn(n,n.next);return n}(t,e,p,n)),t.length>80*n){r=o=t[0],i=s=t[1];for(var g=n;g<h;g+=n)(a=t[g])<r&&(r=a),(u=t[g+1])<i&&(i=u),a>o&&(o=a),u>s&&(s=u);l=0!==(l=Math.max(o-r,s-i))?1/l:0}return Pn(p,f,n,r,i,l),f}function Sn(t,e,n,r,i){var o,s;if(i===Hn(t,e,n,r)>0)for(o=e;o<n;o+=r)s=Vn(o,t[o],t[o+1],s);else for(o=n-r;o>=e;o-=r)s=Vn(o,t[o],t[o+1],s);return s&&Bn(s,s.next)&&(Xn(s),s=s.next),s}function Cn(t,e){if(!t)return t;e||(e=t);var n,r=t;do{if(n=!1,r.steiner||!Bn(r,r.next)&&0!==qn(r.prev,r,r.next))r=r.next;else{if(Xn(r),(r=e=r.prev)===r.next)break;n=!0}}while(n||r!==e);return e}function Pn(t,e,n,r,i,o,s){if(t){!s&&o&&function(t,e,n,r){var i=t;do{null===i.z&&(i.z=Dn(i.x,i.y,e,n,r)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,n,r,i,o,s,a,u,l=1;do{for(n=t,t=null,o=null,s=0;n;){for(s++,r=n,a=0,e=0;e<l&&(a++,r=r.nextZ);e++);for(u=l;a>0||u>0&&r;)0!==a&&(0===u||!r||n.z<=r.z)?(i=n,n=n.nextZ,a--):(i=r,r=r.nextZ,u--),o?o.nextZ=i:t=i,i.prevZ=o,o=i;n=r}o.nextZ=null,l*=2}while(s>1)}(i)}(t,r,i,o);for(var a,u,l=t;t.prev!==t.next;)if(a=t.prev,u=t.next,o?Ln(t,r,i,o):Mn(t))e.push(a.i/n),e.push(t.i/n),e.push(u.i/n),Xn(t),t=u.next,l=u.next;else if((t=u)===l){s?1===s?Pn(t=On(t,e,n),e,n,r,i,o,2):2===s&&Rn(t,e,n,r,i,o):Pn(Cn(t),e,n,r,i,o,1);break}}}function Mn(t){var e=t.prev,n=t,r=t.next;if(qn(e,n,r)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(kn(e.x,e.y,n.x,n.y,r.x,r.y,i.x,i.y)&&qn(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function Ln(t,e,n,r){var i=t.prev,o=t,s=t.next;if(qn(i,o,s)>=0)return!1;for(var a=i.x<o.x?i.x<s.x?i.x:s.x:o.x<s.x?o.x:s.x,u=i.y<o.y?i.y<s.y?i.y:s.y:o.y<s.y?o.y:s.y,l=i.x>o.x?i.x>s.x?i.x:s.x:o.x>s.x?o.x:s.x,c=i.y>o.y?i.y>s.y?i.y:s.y:o.y>s.y?o.y:s.y,h=Dn(a,u,e,n,r),p=Dn(l,c,e,n,r),f=t.prevZ,g=t.nextZ;f&&f.z>=h&&g&&g.z<=p;){if(f!==t.prev&&f!==t.next&&kn(i.x,i.y,o.x,o.y,s.x,s.y,f.x,f.y)&&qn(f.prev,f,f.next)>=0)return!1;if(f=f.prevZ,g!==t.prev&&g!==t.next&&kn(i.x,i.y,o.x,o.y,s.x,s.y,g.x,g.y)&&qn(g.prev,g,g.next)>=0)return!1;g=g.nextZ}for(;f&&f.z>=h;){if(f!==t.prev&&f!==t.next&&kn(i.x,i.y,o.x,o.y,s.x,s.y,f.x,f.y)&&qn(f.prev,f,f.next)>=0)return!1;f=f.prevZ}for(;g&&g.z<=p;){if(g!==t.prev&&g!==t.next&&kn(i.x,i.y,o.x,o.y,s.x,s.y,g.x,g.y)&&qn(g.prev,g,g.next)>=0)return!1;g=g.nextZ}return!0}function On(t,e,n){var r=t;do{var i=r.prev,o=r.next.next;!Bn(i,o)&&zn(i,r,r.next,o)&&jn(i,o)&&jn(o,i)&&(e.push(i.i/n),e.push(r.i/n),e.push(o.i/n),Xn(r),Xn(r.next),r=t=o),r=r.next}while(r!==t);return r}function Rn(t,e,n,r,i,o){var s=t;do{for(var a=s.next.next;a!==s.prev;){if(s.i!==a.i&&Gn(s,a)){var u=Un(s,a);return s=Cn(s,s.next),u=Cn(u,u.next),Pn(s,e,n,r,i,o),void Pn(u,e,n,r,i,o)}a=a.next}s=s.next}while(s!==t)}function Tn(t,e){return t.x-e.x}function An(t,e){if(e=function(t,e){var n,r=e,i=t.x,o=t.y,s=-1/0;do{if(o<=r.y&&o>=r.next.y&&r.next.y!==r.y){var a=r.x+(o-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(a<=i&&a>s){if(s=a,a===i){if(o===r.y)return r;if(o===r.next.y)return r.next}n=r.x<r.next.x?r:r.next}}r=r.next}while(r!==e);if(!n)return null;if(i===s)return n.prev;var u,l=n,c=n.x,h=n.y,p=1/0;r=n.next;for(;r!==l;)i>=r.x&&r.x>=c&&i!==r.x&&kn(o<h?i:s,o,c,h,o<h?s:i,o,r.x,r.y)&&((u=Math.abs(o-r.y)/(i-r.x))<p||u===p&&r.x>n.x)&&jn(r,t)&&(n=r,p=u),r=r.next;return n}(t,e)){var n=Un(e,t);Cn(n,n.next)}}function Dn(t,e,n,r,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-n)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-r)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function Fn(t){var e=t,n=t;do{e.x<n.x&&(n=e),e=e.next}while(e!==t);return n}function kn(t,e,n,r,i,o,s,a){return(i-s)*(e-a)-(t-s)*(o-a)>=0&&(t-s)*(r-a)-(n-s)*(e-a)>=0&&(n-s)*(o-a)-(i-s)*(r-a)>=0}function Gn(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var n=t;do{if(n.i!==t.i&&n.next.i!==t.i&&n.i!==e.i&&n.next.i!==e.i&&zn(n,n.next,t,e))return!0;n=n.next}while(n!==t);return!1}(t,e)&&jn(t,e)&&jn(e,t)&&function(t,e){var n=t,r=!1,i=(t.x+e.x)/2,o=(t.y+e.y)/2;do{n.y>o!=n.next.y>o&&n.next.y!==n.y&&i<(n.next.x-n.x)*(o-n.y)/(n.next.y-n.y)+n.x&&(r=!r),n=n.next}while(n!==t);return r}(t,e)}function qn(t,e,n){return(e.y-t.y)*(n.x-e.x)-(e.x-t.x)*(n.y-e.y)}function Bn(t,e){return t.x===e.x&&t.y===e.y}function zn(t,e,n,r){return!!(Bn(t,e)&&Bn(n,r)||Bn(t,r)&&Bn(n,e))||qn(t,e,n)>0!=qn(t,e,r)>0&&qn(n,r,t)>0!=qn(n,r,e)>0}function jn(t,e){return qn(t.prev,t,t.next)<0?qn(t,e,t.next)>=0&&qn(t,t.prev,e)>=0:qn(t,e,t.prev)<0||qn(t,t.next,e)<0}function Un(t,e){var n=new Yn(t.i,t.x,t.y),r=new Yn(e.i,e.x,e.y),i=t.next,o=e.prev;return t.next=e,e.prev=t,n.next=i,i.prev=n,r.next=n,n.prev=r,o.next=r,r.prev=o,r}function Vn(t,e,n,r){var i=new Yn(t,e,n);return r?(i.next=r.next,i.prev=r,r.next.prev=i,r.next=i):(i.prev=i,i.next=i),i}function Xn(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function Yn(t,e,n){this.i=t,this.x=e,this.y=n,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function Hn(t,e,n,r){for(var i=0,o=e,s=n-r;o<n;o+=r)i+=(t[s]-t[o])*(t[o+1]+t[s+1]),s=o;return i}function Wn(t){var e=function(t){for(var e=t[0][0].length,n={vertices:[],holes:[],dimensions:e},r=0,i=0;i<t.length;i++){for(var o=0;o<t[i].length;o++)for(var s=0;s<e;s++)n.vertices.push(t[i][o][s]);i>0&&(r+=t[i-1].length,n.holes.push(r))}return n}(t),n=wn(e.vertices,e.holes,2),r=[],i=[];n.forEach((function(t,r){var o=n[r];i.push([e.vertices[2*o],e.vertices[2*o+1]])}));for(var o=0;o<i.length;o+=3){var s=i.slice(o,o+3);s.push(i[o]),r.push(l([s]))}return r}function Jn(t,e){if(!t)throw new Error(\"targetPoint is required\");if(!e)throw new Error(\"points is required\");var n,r=1/0,i=0;return F(e,(function(e,n){var o=me(t,e);o<r&&(i=n,r=o)})),(n=Ie(e.features[i])).properties.featureIndex=i,n.properties.distanceToPoint=r,n}function Zn(t){if(!t)throw new Error(\"geojson is required\");var e=[];return z(t,(function(t){!function(t,e){var n=[],r=t.geometry;if(null!==r){switch(r.type){case\"Polygon\":n=Q(r);break;case\"LineString\":n=[Q(r)]}n.forEach((function(n){(function(t,e){var n=[];return t.reduce((function(t,r){var i=h([t,r],e);return i.bbox=function(t,e){var n=t[0],r=t[1],i=e[0],o=e[1];return[n<i?n:i,r<o?r:o,n>i?n:i,r>o?r:o]}(t,r),n.push(i),r})),n})(n,t.properties).forEach((function(t){t.id=e.length,e.push(t)}))}))}}(t,e)})),f(e)}Nn.deviation=function(t,e,n,r){var i=e&&e.length,o=i?e[0]*n:t.length,s=Math.abs(Hn(t,0,o,n));if(i)for(var a=0,u=e.length;a<u;a++){var l=e[a]*n,c=a<u-1?e[a+1]*n:t.length;s-=Math.abs(Hn(t,l,c,n))}var h=0;for(a=0;a<r.length;a+=3){var p=r[a]*n,f=r[a+1]*n,g=r[a+2]*n;h+=Math.abs((t[p]-t[g])*(t[f+1]-t[p+1])-(t[p]-t[f])*(t[g+1]-t[p+1]))}return 0===s&&0===h?0:Math.abs((h-s)/s)},Nn.flatten=function(t){for(var e=t[0][0].length,n={vertices:[],holes:[],dimensions:e},r=0,i=0;i<t.length;i++){for(var o=0;o<t[i].length;o++)for(var s=0;s<e;s++)n.vertices.push(t[i][o][s]);i>0&&(r+=t[i-1].length,n.holes.push(r))}return n},wn.default=In;var Kn=Bt((function(t,e){function n(t,e,n){void 0===n&&(n={});var r={type:\"Feature\"};return(0===n.id||n.id)&&(r.id=n.id),n.bbox&&(r.bbox=n.bbox),r.properties=e||{},r.geometry=t,r}function r(t,e,r){if(void 0===r&&(r={}),!t)throw new Error(\"coordinates is required\");if(!Array.isArray(t))throw new Error(\"coordinates must be an Array\");if(t.length<2)throw new Error(\"coordinates must be at least 2 numbers long\");if(!f(t[0])||!f(t[1]))throw new Error(\"coordinates must contain numbers\");return n({type:\"Point\",coordinates:t},e,r)}function i(t,e,r){void 0===r&&(r={});for(var i=0,o=t;i<o.length;i++){var s=o[i];if(s.length<4)throw new Error(\"Each LinearRing of a Polygon must have 4 or more Positions.\");for(var a=0;a<s[s.length-1].length;a++)if(s[s.length-1][a]!==s[0][a])throw new Error(\"First and last Position are not equivalent.\")}return n({type:\"Polygon\",coordinates:t},e,r)}function o(t,e,r){if(void 0===r&&(r={}),t.length<2)throw new Error(\"coordinates must be an array of two or more positions\");return n({type:\"LineString\",coordinates:t},e,r)}function s(t,e){void 0===e&&(e={});var n={type:\"FeatureCollection\"};return e.id&&(n.id=e.id),e.bbox&&(n.bbox=e.bbox),n.features=t,n}function a(t,e,r){return void 0===r&&(r={}),n({type:\"MultiLineString\",coordinates:t},e,r)}function u(t,e,r){return void 0===r&&(r={}),n({type:\"MultiPoint\",coordinates:t},e,r)}function l(t,e,r){return void 0===r&&(r={}),n({type:\"MultiPolygon\",coordinates:t},e,r)}function c(t,n){void 0===n&&(n=\"kilometers\");var r=e.factors[n];if(!r)throw new Error(n+\" units is invalid\");return t*r}function h(t,n){void 0===n&&(n=\"kilometers\");var r=e.factors[n];if(!r)throw new Error(n+\" units is invalid\");return t/r}function p(t){return 180*(t%(2*Math.PI))/Math.PI}function f(t){return!isNaN(t)&&null!==t&&!Array.isArray(t)}Object.defineProperty(e,\"__esModule\",{value:!0}),e.earthRadius=6371008.8,e.factors={centimeters:100*e.earthRadius,centimetres:100*e.earthRadius,degrees:e.earthRadius/111325,feet:3.28084*e.earthRadius,inches:39.37*e.earthRadius,kilometers:e.earthRadius/1e3,kilometres:e.earthRadius/1e3,meters:e.earthRadius,metres:e.earthRadius,miles:e.earthRadius/1609.344,millimeters:1e3*e.earthRadius,millimetres:1e3*e.earthRadius,nauticalmiles:e.earthRadius/1852,radians:1,yards:1.0936*e.earthRadius},e.unitsFactors={centimeters:100,centimetres:100,degrees:1/111325,feet:3.28084,inches:39.37,kilometers:.001,kilometres:.001,meters:1,metres:1,miles:1/1609.344,millimeters:1e3,millimetres:1e3,nauticalmiles:1/1852,radians:1/e.earthRadius,yards:1.0936133},e.areaFactors={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,hectares:1e-4,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,millimeters:1e6,millimetres:1e6,yards:1.195990046},e.feature=n,e.geometry=function(t,e,n){switch(t){case\"Point\":return r(e).geometry;case\"LineString\":return o(e).geometry;case\"Polygon\":return i(e).geometry;case\"MultiPoint\":return u(e).geometry;case\"MultiLineString\":return a(e).geometry;case\"MultiPolygon\":return l(e).geometry;default:throw new Error(t+\" is invalid\")}},e.point=r,e.points=function(t,e,n){return void 0===n&&(n={}),s(t.map((function(t){return r(t,e)})),n)},e.polygon=i,e.polygons=function(t,e,n){return void 0===n&&(n={}),s(t.map((function(t){return i(t,e)})),n)},e.lineString=o,e.lineStrings=function(t,e,n){return void 0===n&&(n={}),s(t.map((function(t){return o(t,e)})),n)},e.featureCollection=s,e.multiLineString=a,e.multiPoint=u,e.multiPolygon=l,e.geometryCollection=function(t,e,r){return void 0===r&&(r={}),n({type:\"GeometryCollection\",geometries:t},e,r)},e.round=function(t,e){if(void 0===e&&(e=0),e&&!(e>=0))throw new Error(\"precision must be a positive number\");var n=Math.pow(10,e||0);return Math.round(t*n)/n},e.radiansToLength=c,e.lengthToRadians=h,e.lengthToDegrees=function(t,e){return p(h(t,e))},e.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},e.radiansToDegrees=p,e.degreesToRadians=function(t){return t%360*Math.PI/180},e.convertLength=function(t,e,n){if(void 0===e&&(e=\"kilometers\"),void 0===n&&(n=\"kilometers\"),!(t>=0))throw new Error(\"length must be a positive number\");return c(h(t,e),n)},e.convertArea=function(t,n,r){if(void 0===n&&(n=\"meters\"),void 0===r&&(r=\"kilometers\"),!(t>=0))throw new Error(\"area must be a positive number\");var i=e.areaFactors[n];if(!i)throw new Error(\"invalid original units\");var o=e.areaFactors[r];if(!o)throw new Error(\"invalid final units\");return t/i*o},e.isNumber=f,e.isObject=function(t){return!!t&&t.constructor===Object},e.validateBBox=function(t){if(!t)throw new Error(\"bbox is required\");if(!Array.isArray(t))throw new Error(\"bbox must be an Array\");if(4!==t.length&&6!==t.length)throw new Error(\"bbox must be an Array of 4 or 6 numbers\");t.forEach((function(t){if(!f(t))throw new Error(\"bbox must only contain numbers\")}))},e.validateId=function(t){if(!t)throw new Error(\"id is required\");if(-1===[\"string\",\"number\"].indexOf(typeof t))throw new Error(\"id must be a number or a string\")}}));function Qn(t,e,n){if(null!==t)for(var r,i,o,s,a,u,l,c,h=0,p=0,f=t.type,g=\"FeatureCollection\"===f,d=\"Feature\"===f,y=g?t.features.length:1,v=0;v<y;v++){a=(c=!!(l=g?t.features[v].geometry:d?t.geometry:t)&&\"GeometryCollection\"===l.type)?l.geometries.length:1;for(var _=0;_<a;_++){var m=0,x=0;if(null!==(s=c?l.geometries[_]:l)){u=s.coordinates;var E=s.type;switch(h=!n||\"Polygon\"!==E&&\"MultiPolygon\"!==E?0:1,E){case null:break;case\"Point\":if(!1===e(u,p,v,m,x))return!1;p++,m++;break;case\"LineString\":case\"MultiPoint\":for(r=0;r<u.length;r++){if(!1===e(u[r],p,v,m,x))return!1;p++,\"MultiPoint\"===E&&m++}\"LineString\"===E&&m++;break;case\"Polygon\":case\"MultiLineString\":for(r=0;r<u.length;r++){for(i=0;i<u[r].length-h;i++){if(!1===e(u[r][i],p,v,m,x))return!1;p++}\"MultiLineString\"===E&&m++,\"Polygon\"===E&&x++}\"Polygon\"===E&&m++;break;case\"MultiPolygon\":for(r=0;r<u.length;r++){for(x=0,i=0;i<u[r].length;i++){for(o=0;o<u[r][i].length-h;o++){if(!1===e(u[r][i][o],p,v,m,x))return!1;p++}x++}m++}break;case\"GeometryCollection\":for(r=0;r<s.geometries.length;r++)if(!1===Qn(s.geometries[r],e,n))return!1;break;default:throw new Error(\"Unknown Geometry Type\")}}}}}function $n(t,e){var n;switch(t.type){case\"FeatureCollection\":for(n=0;n<t.features.length&&!1!==e(t.features[n].properties,n);n++);break;case\"Feature\":e(t.properties,0)}}function tr(t,e){if(\"Feature\"===t.type)e(t,0);else if(\"FeatureCollection\"===t.type)for(var n=0;n<t.features.length&&!1!==e(t.features[n],n);n++);}function er(t,e){var n,r,i,o,s,a,u,l,c,h,p=0,f=\"FeatureCollection\"===t.type,g=\"Feature\"===t.type,d=f?t.features.length:1;for(n=0;n<d;n++){for(a=f?t.features[n].geometry:g?t.geometry:t,l=f?t.features[n].properties:g?t.properties:{},c=f?t.features[n].bbox:g?t.bbox:void 0,h=f?t.features[n].id:g?t.id:void 0,s=(u=!!a&&\"GeometryCollection\"===a.type)?a.geometries.length:1,i=0;i<s;i++)if(null!==(o=u?a.geometries[i]:a))switch(o.type){case\"Point\":case\"LineString\":case\"MultiPoint\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":if(!1===e(o,p,l,c,h))return!1;break;case\"GeometryCollection\":for(r=0;r<o.geometries.length;r++)if(!1===e(o.geometries[r],p,l,c,h))return!1;break;default:throw new Error(\"Unknown Geometry Type\")}else if(!1===e(null,p,l,c,h))return!1;p++}}function nr(t,e){er(t,(function(t,n,r,i,o){var s,a=null===t?null:t.type;switch(a){case null:case\"Point\":case\"LineString\":case\"Polygon\":return!1!==e(Kn.feature(t,r,{bbox:i,id:o}),n,0)&&void 0}switch(a){case\"MultiPoint\":s=\"Point\";break;case\"MultiLineString\":s=\"LineString\";break;case\"MultiPolygon\":s=\"Polygon\"}for(var u=0;u<t.coordinates.length;u++){var l={type:s,coordinates:t.coordinates[u]};if(!1===e(Kn.feature(l,r),n,u))return!1}}))}function rr(t,e){nr(t,(function(t,n,r){var i=0;if(t.geometry){var o=t.geometry.type;if(\"Point\"!==o&&\"MultiPoint\"!==o){var s,a=0,u=0,l=0;return!1!==Qn(t,(function(o,c,h,p,f){if(void 0===s||n>a||p>u||f>l)return s=o,a=n,u=p,l=f,void(i=0);var g=Kn.lineString([s,o],t.properties);if(!1===e(g,n,r,f,i))return!1;i++,s=o}))&&void 0}}}))}function ir(t,e){if(!t)throw new Error(\"geojson is required\");nr(t,(function(t,n,r){if(null!==t.geometry){var i=t.geometry.type,o=t.geometry.coordinates;switch(i){case\"LineString\":if(!1===e(t,n,r,0,0))return!1;break;case\"Polygon\":for(var s=0;s<o.length;s++)if(!1===e(Kn.lineString(o[s],t.properties),n,r,s))return!1}}}))}var or=function(t){var e=[];return Qn(t,(function(t){e.push(t)})),e},sr=Qn,ar=function(t,e,n,r){var i=n;return Qn(t,(function(t,r,o,s,a){i=0===r&&void 0===n?t:e(i,t,r,o,s,a)}),r),i},ur=tr,lr=function(t,e,n){var r=n;return tr(t,(function(t,i){r=0===i&&void 0===n?t:e(r,t,i)})),r},cr=function(t,e){if(e=e||{},!Kn.isObject(e))throw new Error(\"options is invalid\");var n,r=e.featureIndex||0,i=e.multiFeatureIndex||0,o=e.geometryIndex||0,s=e.coordIndex||0,a=e.properties;switch(t.type){case\"FeatureCollection\":r<0&&(r=t.features.length+r),a=a||t.features[r].properties,n=t.features[r].geometry;break;case\"Feature\":a=a||t.properties,n=t.geometry;break;case\"Point\":case\"MultiPoint\":return null;case\"LineString\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":n=t;break;default:throw new Error(\"geojson is invalid\")}if(null===n)return null;var u=n.coordinates;switch(n.type){case\"Point\":return Kn.point(u,a,e);case\"MultiPoint\":return i<0&&(i=u.length+i),Kn.point(u[i],a,e);case\"LineString\":return s<0&&(s=u.length+s),Kn.point(u[s],a,e);case\"Polygon\":return o<0&&(o=u.length+o),s<0&&(s=u[o].length+s),Kn.point(u[o][s],a,e);case\"MultiLineString\":return i<0&&(i=u.length+i),s<0&&(s=u[i].length+s),Kn.point(u[i][s],a,e);case\"MultiPolygon\":return i<0&&(i=u.length+i),o<0&&(o=u[i].length+o),s<0&&(s=u[i][o].length-s),Kn.point(u[i][o][s],a,e)}throw new Error(\"geojson is invalid\")},hr=function(t,e){if(e=e||{},!Kn.isObject(e))throw new Error(\"options is invalid\");var n,r=e.featureIndex||0,i=e.multiFeatureIndex||0,o=e.geometryIndex||0,s=e.segmentIndex||0,a=e.properties;switch(t.type){case\"FeatureCollection\":r<0&&(r=t.features.length+r),a=a||t.features[r].properties,n=t.features[r].geometry;break;case\"Feature\":a=a||t.properties,n=t.geometry;break;case\"Point\":case\"MultiPoint\":return null;case\"LineString\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":n=t;break;default:throw new Error(\"geojson is invalid\")}if(null===n)return null;var u=n.coordinates;switch(n.type){case\"Point\":case\"MultiPoint\":return null;case\"LineString\":return s<0&&(s=u.length+s-1),Kn.lineString([u[s],u[s+1]],a,e);case\"Polygon\":return o<0&&(o=u.length+o),s<0&&(s=u[o].length+s-1),Kn.lineString([u[o][s],u[o][s+1]],a,e);case\"MultiLineString\":return i<0&&(i=u.length+i),s<0&&(s=u[i].length+s-1),Kn.lineString([u[i][s],u[i][s+1]],a,e);case\"MultiPolygon\":return i<0&&(i=u.length+i),o<0&&(o=u[i].length+o),s<0&&(s=u[i][o].length-s-1),Kn.lineString([u[i][o][s],u[i][o][s+1]],a,e)}throw new Error(\"geojson is invalid\")},pr=nr,fr=function(t,e,n){var r=n;return nr(t,(function(t,i,o){r=0===i&&0===o&&void 0===n?t:e(r,t,i,o)})),r},gr=er,dr=function(t,e,n){var r=n;return er(t,(function(t,i,o,s,a){r=0===i&&void 0===n?t:e(r,t,i,o,s,a)})),r},yr=ir,vr=function(t,e,n){var r=n;return ir(t,(function(t,i,o,s){r=0===i&&void 0===n?t:e(r,t,i,o,s)})),r},_r=$n,mr=function(t,e,n){var r=n;return $n(t,(function(t,i){r=0===i&&void 0===n?t:e(r,t,i)})),r},xr=rr,Er=function(t,e,n){var r=n,i=!1;return rr(t,(function(t,o,s,a,u){r=!1===i&&void 0===n?t:e(r,t,o,s,a,u),i=!0})),r},br=Object.defineProperty({coordAll:or,coordEach:sr,coordReduce:ar,featureEach:ur,featureReduce:lr,findPoint:cr,findSegment:hr,flattenEach:pr,flattenReduce:fr,geomEach:gr,geomReduce:dr,lineEach:yr,lineReduce:vr,propEach:_r,propReduce:mr,segmentEach:xr,segmentReduce:Er},\"__esModule\",{value:!0});function wr(t){var e=[1/0,1/0,-1/0,-1/0];return br.coordEach(t,(function(t){e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]<t[0]&&(e[2]=t[0]),e[3]<t[1]&&(e[3]=t[1])})),e}wr.default=wr;var Ir=wr,Nr=Object.defineProperty({default:Ir},\"__esModule\",{value:!0}).default,Sr=br.featureEach,Cr=(br.coordEach,Kn.polygon,Kn.featureCollection);function Pr(t){var e=Nt(t);return e.insert=function(t){if(\"Feature\"!==t.type)throw new Error(\"invalid feature\");return t.bbox=t.bbox?t.bbox:Nr(t),Nt.prototype.insert.call(this,t)},e.load=function(t){var e=[];return Array.isArray(t)?t.forEach((function(t){if(\"Feature\"!==t.type)throw new Error(\"invalid features\");t.bbox=t.bbox?t.bbox:Nr(t),e.push(t)})):Sr(t,(function(t){if(\"Feature\"!==t.type)throw new Error(\"invalid features\");t.bbox=t.bbox?t.bbox:Nr(t),e.push(t)})),Nt.prototype.load.call(this,e)},e.remove=function(t,e){if(\"Feature\"!==t.type)throw new Error(\"invalid feature\");return t.bbox=t.bbox?t.bbox:Nr(t),Nt.prototype.remove.call(this,t,e)},e.clear=function(){return Nt.prototype.clear.call(this)},e.search=function(t){var e=Nt.prototype.search.call(this,this.toBBox(t));return Cr(e)},e.collides=function(t){return Nt.prototype.collides.call(this,this.toBBox(t))},e.all=function(){var t=Nt.prototype.all.call(this);return Cr(t)},e.toJSON=function(){return Nt.prototype.toJSON.call(this)},e.fromJSON=function(t){return Nt.prototype.fromJSON.call(this,t)},e.toBBox=function(t){var e;if(t.bbox)e=t.bbox;else if(Array.isArray(t)&&4===t.length)e=t;else if(Array.isArray(t)&&6===t.length)e=[t[0],t[1],t[3],t[4]];else if(\"Feature\"===t.type)e=Nr(t);else{if(\"FeatureCollection\"!==t.type)throw new Error(\"invalid geojson\");e=Nr(t)}return{minX:e[0],minY:e[1],maxX:e[2],maxY:e[3]}},e}var Mr=Pr,Lr=Pr;function Or(t,e){var n={},r=[];if(\"LineString\"===t.type&&(t=o(t)),\"LineString\"===e.type&&(e=o(e)),\"Feature\"===t.type&&\"Feature\"===e.type&&null!==t.geometry&&null!==e.geometry&&\"LineString\"===t.geometry.type&&\"LineString\"===e.geometry.type&&2===t.geometry.coordinates.length&&2===e.geometry.coordinates.length){var i=Rr(t,e);return i&&r.push(i),f(r)}var s=Mr();return s.load(Zn(e)),F(Zn(t),(function(t){F(s.search(t),(function(e){var i=Rr(t,e);if(i){var o=Q(i).join(\",\");n[o]||(n[o]=!0,r.push(i))}}))})),f(r)}function Rr(t,e){var n=Q(t),r=Q(e);if(2!==n.length)throw new Error(\"<intersects> line1 must only contain 2 coordinates\");if(2!==r.length)throw new Error(\"<intersects> line2 must only contain 2 coordinates\");var i=n[0][0],o=n[0][1],s=n[1][0],u=n[1][1],l=r[0][0],c=r[0][1],h=r[1][0],p=r[1][1],f=(p-c)*(s-i)-(h-l)*(u-o),g=(h-l)*(o-c)-(p-c)*(i-l),d=(s-i)*(o-c)-(u-o)*(i-l);if(0===f)return null;var y=g/f,v=d/f;return y>=0&&y<=1&&v>=0&&v<=1?a([i+y*(s-i),o+y*(u-o)]):null}function Tr(t,e,n){void 0===n&&(n={});var r=a([1/0,1/0],{dist:1/0}),i=0;return z(t,(function(t){for(var o=Q(t),s=0;s<o.length-1;s++){var u=a(o[s]);u.properties.dist=me(e,u,n);var l=a(o[s+1]);l.properties.dist=me(e,l,n);var c=me(u,l,n),p=Math.max(u.properties.dist,l.properties.dist),f=mn(u,l),g=vn(e,p,f+90,n),d=vn(e,p,f-90,n),y=Or(h([g.geometry.coordinates,d.geometry.coordinates]),h([u.geometry.coordinates,l.geometry.coordinates])),v=null;y.features.length>0&&((v=y.features[0]).properties.dist=me(e,v,n),v.properties.location=i+me(u,v,n)),u.properties.dist<r.properties.dist&&((r=u).properties.index=s,r.properties.location=i),l.properties.dist<r.properties.dist&&((r=l).properties.index=s+1,r.properties.location=i+c),v&&v.properties.dist<r.properties.dist&&((r=v).properties.index=s),i+=c}})),r}function Ar(t,n,r){void 0===r&&(r={});var i=K(t),o=K(n);return o[0]+=o[0]-i[0]>180?-360:i[0]-o[0]>180?360:0,N(function(t,n,r){var i=r=void 0===r?e:Number(r),o=t[1]*Math.PI/180,s=n[1]*Math.PI/180,a=s-o,u=Math.abs(n[0]-t[0])*Math.PI/180;u>Math.PI&&(u-=2*Math.PI);var l=Math.log(Math.tan(s/2+Math.PI/4)/Math.tan(o/2+Math.PI/4)),c=Math.abs(l)>1e-11?a/l:Math.cos(o);return Math.sqrt(a*a+c*c*u*u)*i}(i,o),\"meters\",r.units)}function Dr(t,e,n){if(void 0===n&&(n={}),n.method||(n.method=\"geodesic\"),n.units||(n.units=\"kilometers\"),!t)throw new Error(\"pt is required\");if(Array.isArray(t)?t=a(t):\"Point\"===t.type?t=o(t):et(t,\"Point\",\"point\"),!e)throw new Error(\"line is required\");Array.isArray(e)?e=h(e):\"LineString\"===e.type?e=o(e):et(e,\"LineString\",\"line\");var r=1/0,i=t.geometry.coordinates;return U(e,(function(t){var e=t.geometry.coordinates[0],o=t.geometry.coordinates[1],s=function(t,e,n,r){var i=[n[0]-e[0],n[1]-e[1]],o=Fr([t[0]-e[0],t[1]-e[1]],i);if(o<=0)return kr(t,e,{method:r.method,units:\"degrees\"});var s=Fr(i,i);if(s<=o)return kr(t,n,{method:r.method,units:\"degrees\"});var a=o/s,u=[e[0]+a*i[0],e[1]+a*i[1]];return kr(t,u,{method:r.method,units:\"degrees\"})}(i,e,o,n);s<r&&(r=s)})),N(r,\"degrees\",n.units)}function Fr(t,e){return t[0]*e[0]+t[1]*e[1]}function kr(t,e,n){return\"planar\"===n.method?Ar(t,e,n):me(t,e,n)}function Gr(t,e,n,r,i,o,s,a){var u,l,c,h,p={x:null,y:null,onLine1:!1,onLine2:!1};return 0===(u=(a-o)*(n-t)-(s-i)*(r-e))?null!==p.x&&null!==p.y&&p:(h=(n-t)*(l=e-o)-(r-e)*(c=t-i),l=((s-i)*l-(a-o)*c)/u,c=h/u,p.x=t+l*(n-t),p.y=e+l*(r-e),l>=0&&l<=1&&(p.onLine1=!0),c>=0&&c<=1&&(p.onLine2=!0),!(!p.onLine1||!p.onLine2)&&[p.x,p.y])}function qr(t){for(var e=function(t){if(\"FeatureCollection\"!==t.type)return\"Feature\"!==t.type?f([o(t)]):f([t]);return t}(t),n=xn(e),r=!1,i=0;!r&&i<e.features.length;){var s,u=e.features[i].geometry,l=!1;if(\"Point\"===u.type)n.geometry.coordinates[0]===u.coordinates[0]&&n.geometry.coordinates[1]===u.coordinates[1]&&(r=!0);else if(\"MultiPoint\"===u.type){var c=!1;for(s=0;!c&&s<u.coordinates.length;)n.geometry.coordinates[0]===u.coordinates[s][0]&&n.geometry.coordinates[1]===u.coordinates[s][1]&&(r=!0,c=!0),s++}else if(\"LineString\"===u.type)for(s=0;!l&&s<u.coordinates.length-1;)Br(n.geometry.coordinates[0],n.geometry.coordinates[1],u.coordinates[s][0],u.coordinates[s][1],u.coordinates[s+1][0],u.coordinates[s+1][1])&&(l=!0,r=!0),s++;else if(\"MultiLineString\"===u.type)for(var h=0;h<u.coordinates.length;){l=!1,s=0;for(var p=u.coordinates[h];!l&&s<p.length-1;)Br(n.geometry.coordinates[0],n.geometry.coordinates[1],p[s][0],p[s][1],p[s+1][0],p[s+1][1])&&(l=!0,r=!0),s++;h++}else\"Polygon\"!==u.type&&\"MultiPolygon\"!==u.type||ye(n,u)&&(r=!0);i++}if(r)return n;var g=f([]);for(i=0;i<e.features.length;i++)g.features=g.features.concat(bn(e.features[i]).features);return a(Jn(n,g).geometry.coordinates)}function Br(t,e,n,r,i,o){return Math.sqrt((i-n)*(i-n)+(o-r)*(o-r))===Math.sqrt((t-n)*(t-n)+(e-r)*(e-r))+Math.sqrt((i-t)*(i-t)+(o-e)*(o-e))}Mr.default=Lr;var zr=6378137;function jr(t){return B(t,(function(t,e){return t+function(t){var e,n=0;switch(t.type){case\"Polygon\":return Ur(t.coordinates);case\"MultiPolygon\":for(e=0;e<t.coordinates.length;e++)n+=Ur(t.coordinates[e]);return n;case\"Point\":case\"MultiPoint\":case\"LineString\":case\"MultiLineString\":return 0}return 0}(e)}),0)}function Ur(t){var e=0;if(t&&t.length>0){e+=Math.abs(Vr(t[0]));for(var n=1;n<t.length;n++)e-=Math.abs(Vr(t[n]))}return e}function Vr(t){var e,n,r,i,o,s,a=0,u=t.length;if(u>2){for(s=0;s<u;s++)s===u-2?(r=u-2,i=u-1,o=0):s===u-1?(r=u-1,i=0,o=1):(r=s,i=s+1,o=s+2),e=t[r],n=t[i],a+=(Xr(t[o][0])-Xr(e[0]))*Math.sin(Xr(n[1]));a=a*zr*zr/2}return a}function Xr(t){return t*Math.PI/180}function Yr(t,e){return void 0===e&&(e={}),V(t,(function(t,n){var r=n.geometry.coordinates;return t+me(r[0],r[1],e)}),0)}function Hr(t,e,n,r){if(!P(r=r||{}))throw new Error(\"options is invalid\");var i,o=[];if(\"Feature\"===t.type)i=t.geometry.coordinates;else{if(\"LineString\"!==t.type)throw new Error(\"input must be a LineString Feature or Geometry\");i=t.coordinates}for(var s,a,u,l=i.length,c=0,p=0;p<i.length&&!(e>=c&&p===i.length-1);p++){if(c>e&&0===o.length){if(!(s=e-c))return o.push(i[p]),h(o);a=mn(i[p],i[p-1])-180,u=vn(i[p],s,a,r),o.push(u.geometry.coordinates)}if(c>=n)return(s=n-c)?(a=mn(i[p],i[p-1])-180,u=vn(i[p],s,a,r),o.push(u.geometry.coordinates),h(o)):(o.push(i[p]),h(o));if(c>=e&&o.push(i[p]),p===i.length-1)return h(o);c+=me(i[p],i[p+1],r)}if(c<e&&i.length===l)throw new Error(\"Start position is beyond line\");var f=i[i.length-1];return h([f,f])}function Wr(t,e,n){void 0===n&&(n={});for(var r=K(t),i=Q(e),o=0;o<i.length-1;o++){var s=!1;if(n.ignoreEndVertices&&(0===o&&(s=\"start\"),o===i.length-2&&(s=\"end\"),0===o&&o+1===i.length-1&&(s=\"both\")),Jr(i[o],i[o+1],r,s,void 0===n.epsilon?null:n.epsilon))return!0}return!1}function Jr(t,e,n,r,i){var o=n[0],s=n[1],a=t[0],u=t[1],l=e[0],c=e[1],h=l-a,p=c-u,f=(n[0]-a)*p-(n[1]-u)*h;if(null!==i){if(Math.abs(f)>i)return!1}else if(0!==f)return!1;return r?\"start\"===r?Math.abs(h)>=Math.abs(p)?h>0?a<o&&o<=l:l<=o&&o<a:p>0?u<s&&s<=c:c<=s&&s<u:\"end\"===r?Math.abs(h)>=Math.abs(p)?h>0?a<=o&&o<l:l<o&&o<=a:p>0?u<=s&&s<c:c<s&&s<=u:\"both\"===r&&(Math.abs(h)>=Math.abs(p)?h>0?a<o&&o<l:l<o&&o<a:p>0?u<s&&s<c:c<s&&s<u):Math.abs(h)>=Math.abs(p)?h>0?a<=o&&o<=l:l<=o&&o<=a:p>0?u<=s&&s<=c:c<=s&&s<=u}function Zr(t,e){var n=rt(t),r=rt(e),i=n.type,o=r.type;switch(i){case\"Point\":switch(o){case\"MultiPoint\":return function(t,e){var n,r=!1;for(n=0;n<e.coordinates.length;n++)if(Qr(e.coordinates[n],t.coordinates)){r=!0;break}return r}(n,r);case\"LineString\":return Wr(n,r,{ignoreEndVertices:!0});case\"Polygon\":case\"MultiPolygon\":return ye(n,r,{ignoreBoundary:!0});default:throw new Error(\"feature2 \"+o+\" geometry not supported\")}case\"MultiPoint\":switch(o){case\"MultiPoint\":return function(t,e){for(var n=0;n<t.coordinates.length;n++){for(var r=!1,i=0;i<e.coordinates.length;i++)Qr(t.coordinates[n],e.coordinates[i])&&(r=!0);if(!r)return!1}return!0}(n,r);case\"LineString\":return function(t,e){for(var n=!1,r=0;r<t.coordinates.length;r++){if(!Wr(t.coordinates[r],e))return!1;n||(n=Wr(t.coordinates[r],e,{ignoreEndVertices:!0}))}return n}(n,r);case\"Polygon\":case\"MultiPolygon\":return function(t,e){for(var n=!0,r=!1,i=0;i<t.coordinates.length;i++){if(!(r=ye(t.coordinates[1],e))){n=!1;break}r=ye(t.coordinates[1],e,{ignoreBoundary:!0})}return n&&r}(n,r);default:throw new Error(\"feature2 \"+o+\" geometry not supported\")}case\"LineString\":switch(o){case\"LineString\":return function(t,e){for(var n=0;n<t.coordinates.length;n++)if(!Wr(t.coordinates[n],e))return!1;return!0}(n,r);case\"Polygon\":case\"MultiPolygon\":return function(t,e){var n=Z(e),r=Z(t);if(!Kr(n,r))return!1;for(var i=!1,o=0;o<t.coordinates.length-1;o++){if(!ye(t.coordinates[o],e))return!1;if(i||(i=ye(t.coordinates[o],e,{ignoreBoundary:!0})),!i)i=ye($r(t.coordinates[o],t.coordinates[o+1]),e,{ignoreBoundary:!0})}return i}(n,r);default:throw new Error(\"feature2 \"+o+\" geometry not supported\")}case\"Polygon\":switch(o){case\"Polygon\":case\"MultiPolygon\":return function(t,e){var n=Z(t);if(!Kr(Z(e),n))return!1;for(var r=0;r<t.coordinates[0].length;r++)if(!ye(t.coordinates[0][r],e))return!1;return!0}(n,r);default:throw new Error(\"feature2 \"+o+\" geometry not supported\")}default:throw new Error(\"feature1 \"+i+\" geometry not supported\")}}function Kr(t,e){return!(t[0]>e[0])&&(!(t[2]<e[2])&&(!(t[1]>e[1])&&!(t[3]<e[3])))}function Qr(t,e){return t[0]===e[0]&&t[1]===e[1]}function $r(t,e){return[(t[0]+e[0])/2,(t[1]+e[1])/2]}function ti(t,e,n){void 0===n&&(n={}),n.mask&&!n.units&&(n.units=\"kilometers\");for(var r=[],i=t[0],o=t[1],s=t[2],u=t[3],l=e/me([i,o],[s,o],n)*(s-i),c=e/me([i,o],[i,u],n)*(u-o),h=s-i,p=u-o,g=Math.floor(h/l),d=(p-Math.floor(p/c)*c)/2,y=i+(h-g*l)/2;y<=s;){for(var v=o+d;v<=u;){var _=a([y,v],n.properties);n.mask?Zr(_,n.mask)&&r.push(_):r.push(_),v+=c}y+=l}return f(r)}function ei(t,e){void 0===e&&(e={});var n=e.precision,r=e.coordinates,i=e.mutate;if(n=null==n||isNaN(n)?6:n,r=null==r||isNaN(r)?3:r,!t)throw new Error(\"<geojson> is required\");if(\"number\"!=typeof n)throw new Error(\"<precision> must be a number\");if(\"number\"!=typeof r)throw new Error(\"<coordinates> must be a number\");!1!==i&&void 0!==i||(t=JSON.parse(JSON.stringify(t)));var o=Math.pow(10,n);return R(t,(function(t){!function(t,e,n){t.length>n&&t.splice(n,t.length);for(var r=0;r<t.length;r++)t[r]=Math.round(t[r]*e)/e}(t,o,r)})),t}function ni(t){if(!t)throw new Error(\"geojson is required\");var e=[];return z(t,(function(t){e.push(t)})),f(e)}function ri(t,e,n){if(\"Polygon\"!==t.geometry.type)throw new Error(\"The input feature must be a Polygon\");void 0===n&&(n=1);var r=t.geometry.coordinates,i=[],o={};if(n){for(var s=[],a=0;a<r.length;a++)for(var u=0;u<r[a].length-1;u++)s.push(d(a,u));var l=Nt();l.load(s)}for(var c=0;c<r.length;c++)for(var h=0;h<r[c].length-1;h++){if(n)l.search(d(c,h)).forEach((function(t){var e=t.ring,n=t.edge;g(c,h,e,n)}));else for(var p=0;p<r.length;p++)for(var f=0;f<r[p].length-1;f++)g(c,h,p,f)}return e||(i={type:\"Feature\",geometry:{type:\"MultiPoint\",coordinates:i}}),i;function g(t,n,s,a){var u,l,c=r[t][n],h=r[t][n+1],p=r[s][a],f=r[s][a+1],g=function(t,e,n,r){if(ii(t,n)||ii(t,r)||ii(e,n)||ii(r,n))return null;var i=t[0],o=t[1],s=e[0],a=e[1],u=n[0],l=n[1],c=r[0],h=r[1],p=(i-s)*(l-h)-(o-a)*(u-c);return 0===p?null:[((i*a-o*s)*(u-c)-(i-s)*(u*h-l*c))/p,((i*a-o*s)*(l-h)-(o-a)*(u*h-l*c))/p]}(c,h,p,f);if(null!==g&&(u=h[0]!==c[0]?(g[0]-c[0])/(h[0]-c[0]):(g[1]-c[1])/(h[1]-c[1]),l=f[0]!==p[0]?(g[0]-p[0])/(f[0]-p[0]):(g[1]-p[1])/(f[1]-p[1]),!(u>=1||u<=0||l>=1||l<=0))){var d=g,y=!o[d];y&&(o[d]=!0),e?i.push(e(g,t,n,c,h,u,s,a,p,f,l,y)):i.push(g)}}function d(t,e){var n,i,o,s,a=r[t][e],u=r[t][e+1];return a[0]<u[0]?(n=a[0],i=u[0]):(n=u[0],i=a[0]),a[1]<u[1]?(o=a[1],s=u[1]):(o=u[1],s=a[1]),{minX:n,minY:o,maxX:i,maxY:s,ring:t,edge:e}}}function ii(t,e){if(!t||!e)return!1;if(t.length!==e.length)return!1;for(var n=0,r=t.length;n<r;n++)if(t[n]instanceof Array&&e[n]instanceof Array){if(!ii(t[n],e[n]))return!1}else if(t[n]!==e[n])return!1;return!0}function oi(t){if(\"Feature\"!=t.type)throw new Error(\"The input must a geojson object of type Feature\");if(void 0===t.geometry||null==t.geometry)throw new Error(\"The input must a geojson object with a non-empty geometry\");if(\"Polygon\"!=t.geometry.type)throw new Error(\"The input must be a geojson Polygon\");for(var e=t.geometry.coordinates.length,n=[],r=0;r<e;r++){var i=t.geometry.coordinates[r];ci(i[0],i[i.length-1])||i.push(i[0]),n.push.apply(n,i.slice(0,i.length-1))}if(!function(t){for(var e={},n=1,r=0,i=t.length;r<i;++r){if(Object.prototype.hasOwnProperty.call(e,t[r])){n=0;break}e[t[r]]=1}return n}(n))throw new Error(\"The input polygon may not have duplicate vertices (except for the first and last vertex of each ring)\");var o=n.length,s=ri(t,(function(t,e,n,r,i,o,s,a,u,l,c,h){return[t,e,n,r,i,o,s,a,u,l,c,h]})),a=s.length;if(0==a){var u=[];for(r=0;r<e;r++)u.push(l([t.geometry.coordinates[r]],{parent:-1,winding:li(t.geometry.coordinates[r])}));var c=f(u);return G(),q(),c}var h=[],p=[];for(r=0;r<e;r++){h.push([]);for(var g=0;g<t.geometry.coordinates[r].length-1;g++)h[r].push([new si(t.geometry.coordinates[r][hi(g+1,t.geometry.coordinates[r].length-1)],1,[r,g],[r,hi(g+1,t.geometry.coordinates[r].length-1)],void 0)]),p.push(new ai(t.geometry.coordinates[r][g],[r,hi(g-1,t.geometry.coordinates[r].length-1)],[r,g],void 0,void 0,!1,!0))}for(r=0;r<a;r++)h[s[r][1]][s[r][2]].push(new si(s[r][0],s[r][5],[s[r][1],s[r][2]],[s[r][6],s[r][7]],void 0)),s[r][11]&&p.push(new ai(s[r][0],[s[r][1],s[r][2]],[s[r][6],s[r][7]],void 0,void 0,!0,!0));var d=p.length;for(r=0;r<h.length;r++)for(g=0;g<h[r].length;g++)h[r][g].sort((function(t,e){return t.param<e.param?-1:1}));var y=[];for(r=0;r<d;r++)y.push({minX:p[r].coord[0],minY:p[r].coord[1],maxX:p[r].coord[0],maxY:p[r].coord[1],index:r});var v=Nt();v.load(y);for(r=0;r<h.length;r++)for(g=0;g<h[r].length;g++)for(var _=0;_<h[r][g].length;_++){x=_==h[r][g].length-1?h[r][hi(g+1,t.geometry.coordinates[r].length-1)][0].coord:h[r][g][_+1].coord;var m=v.search({minX:x[0],minY:x[1],maxX:x[0],maxY:x[1]})[0];h[r][g][_].nxtIsectAlongEdgeIn=m.index}for(r=0;r<h.length;r++)for(g=0;g<h[r].length;g++)for(_=0;_<h[r][g].length;_++){var x=h[r][g][_].coord,E=(m=v.search({minX:x[0],minY:x[1],maxX:x[0],maxY:x[1]})[0]).index;E<o?p[E].nxtIsectAlongRingAndEdge2=h[r][g][_].nxtIsectAlongEdgeIn:ci(p[E].ringAndEdge1,h[r][g][_].ringAndEdgeIn)?p[E].nxtIsectAlongRingAndEdge1=h[r][g][_].nxtIsectAlongEdgeIn:p[E].nxtIsectAlongRingAndEdge2=h[r][g][_].nxtIsectAlongEdgeIn}var b=[];for(r=0,g=0;g<e;g++){var w=r;for(_=0;_<t.geometry.coordinates[g].length-1;_++)p[r].coord[0]<p[w].coord[0]&&(w=r),r++;var I=p[w].nxtIsectAlongRingAndEdge2;for(_=0;_<p.length;_++)if(p[_].nxtIsectAlongRingAndEdge1==w||p[_].nxtIsectAlongRingAndEdge2==w){var N=_;break}var S=ui([p[N].coord,p[w].coord,p[I].coord],!0)?1:-1;b.push({isect:w,parent:-1,winding:S})}b.sort((function(t,e){return p[t.isect].coord>p[e.isect].coord?-1:1}));for(u=[];b.length>0;){var C=b.pop(),P=C.isect,M=C.parent,L=C.winding,O=u.length,R=[p[P].coord],T=P;if(p[P].ringAndEdge1Walkable)var A=p[P].ringAndEdge1,D=p[P].nxtIsectAlongRingAndEdge1;else A=p[P].ringAndEdge2,D=p[P].nxtIsectAlongRingAndEdge2;for(;!ci(p[P].coord,p[D].coord);){R.push(p[D].coord);var F=void 0;for(r=0;r<b.length;r++)if(b[r].isect==D){F=r;break}if(null!=F&&b.splice(F,1),ci(A,p[D].ringAndEdge1)){if(A=p[D].ringAndEdge2,p[D].ringAndEdge2Walkable=!1,p[D].ringAndEdge1Walkable){var k={isect:D};ui([p[T].coord,p[D].coord,p[p[D].nxtIsectAlongRingAndEdge2].coord],1==L)?(k.parent=M,k.winding=-L):(k.parent=O,k.winding=L),b.push(k)}T=D,D=p[D].nxtIsectAlongRingAndEdge2}else{if(A=p[D].ringAndEdge1,p[D].ringAndEdge1Walkable=!1,p[D].ringAndEdge2Walkable){k={isect:D};ui([p[T].coord,p[D].coord,p[p[D].nxtIsectAlongRingAndEdge1].coord],1==L)?(k.parent=M,k.winding=-L):(k.parent=O,k.winding=L),b.push(k)}T=D,D=p[D].nxtIsectAlongRingAndEdge1}}R.push(p[D].coord),u.push(l([R],{index:O,parent:M,winding:L,netWinding:void 0}))}c=f(u);function G(){for(var t=[],e=0;e<c.features.length;e++)-1==c.features[e].properties.parent&&t.push(e);if(t.length>1)for(e=0;e<t.length;e++){for(var n=-1,r=0;r<c.features.length;r++)t[e]!=r&&ye(c.features[t[e]].geometry.coordinates[0][0],c.features[r],{ignoreBoundary:!0})&&jr(c.features[r])<Infinity&&(n=r);c.features[t[e]].properties.parent=n}}function q(){for(var t=0;t<c.features.length;t++)if(-1==c.features[t].properties.parent){var e=c.features[t].properties.winding;c.features[t].properties.netWinding=e,B(t,e)}}function B(t,e){for(var n=0;n<c.features.length;n++)if(c.features[n].properties.parent==t){var r=e+c.features[n].properties.winding;c.features[n].properties.netWinding=r,B(n,r)}}return G(),q(),c}var si=function(t,e,n,r,i){this.coord=t,this.param=e,this.ringAndEdgeIn=n,this.ringAndEdgeOut=r,this.nxtIsectAlongEdgeIn=i},ai=function(t,e,n,r,i,o,s){this.coord=t,this.ringAndEdge1=e,this.ringAndEdge2=n,this.nxtIsectAlongRingAndEdge1=r,this.nxtIsectAlongRingAndEdge2=i,this.ringAndEdge1Walkable=o,this.ringAndEdge2Walkable=s};function ui(t,e){if(void 0===e&&(e=!0),3!=t.length)throw new Error(\"This function requires an array of three points [x,y]\");return(t[1][0]-t[0][0])*(t[2][1]-t[0][1])-(t[1][1]-t[0][1])*(t[2][0]-t[0][0])>=0==e}function li(t){for(var e=0,n=0;n<t.length-1;n++)t[n][0]<t[e][0]&&(e=n);if(ui([t[hi(e-1,t.length-1)],t[e],t[hi(e+1,t.length-1)]],!0))var r=1;else r=-1;return r}function ci(t,e){if(!t||!e)return!1;if(t.length!=e.length)return!1;for(var n=0,r=t.length;n<r;n++)if(t[n]instanceof Array&&e[n]instanceof Array){if(!ci(t[n],e[n]))return!1}else if(t[n]!=e[n])return!1;return!0}function hi(t,e){return(t%e+e)%e}var pi=Math.PI/180,fi=180/Math.PI,gi=function(t,e){this.lon=t,this.lat=e,this.x=pi*t,this.y=pi*e};gi.prototype.view=function(){return String(this.lon).slice(0,4)+\",\"+String(this.lat).slice(0,4)},gi.prototype.antipode=function(){var t=-1*this.lat,e=this.lon<0?180+this.lon:-1*(180-this.lon);return new gi(e,t)};var di=function(){this.coords=[],this.length=0};di.prototype.move_to=function(t){this.length++,this.coords.push(t)};var yi=function(t){this.properties=t||{},this.geometries=[]};yi.prototype.json=function(){if(this.geometries.length<=0)return{geometry:{type:\"LineString\",coordinates:null},type:\"Feature\",properties:this.properties};if(1===this.geometries.length)return{geometry:{type:\"LineString\",coordinates:this.geometries[0].coords},type:\"Feature\",properties:this.properties};for(var t=[],e=0;e<this.geometries.length;e++)t.push(this.geometries[e].coords);return{geometry:{type:\"MultiLineString\",coordinates:t},type:\"Feature\",properties:this.properties}},yi.prototype.wkt=function(){for(var t=\"\",e=\"LINESTRING(\",n=function(t){e+=t[0]+\" \"+t[1]+\",\"},r=0;r<this.geometries.length;r++){if(0===this.geometries[r].coords.length)return\"LINESTRING(empty)\";this.geometries[r].coords.forEach(n),t+=e.substring(0,e.length-1)+\")\"}return t};var vi=function(t,e,n){if(!t||void 0===t.x||void 0===t.y)throw new Error(\"GreatCircle constructor expects two args: start and end objects with x and y properties\");if(!e||void 0===e.x||void 0===e.y)throw new Error(\"GreatCircle constructor expects two args: start and end objects with x and y properties\");this.start=new gi(t.x,t.y),this.end=new gi(e.x,e.y),this.properties=n||{};var r=this.start.x-this.end.x,i=this.start.y-this.end.y,o=Math.pow(Math.sin(i/2),2)+Math.cos(this.start.y)*Math.cos(this.end.y)*Math.pow(Math.sin(r/2),2);if(this.g=2*Math.asin(Math.sqrt(o)),this.g===Math.PI)throw new Error(\"it appears \"+t.view()+\" and \"+e.view()+\" are 'antipodal', e.g diametrically opposite, thus there is no single route but rather infinite\");if(isNaN(this.g))throw new Error(\"could not calculate great circle between \"+t+\" and \"+e)};function _i(t,e){var n=[],r=Mr();return z(e,(function(e){if(n.forEach((function(t,e){t.id=e})),n.length){var i=r.search(e);if(i.features.length){var o=xi(e,i);n=n.filter((function(t){return t.id!==o.id})),r.remove(o),F(mi(o,e),(function(t){n.push(t),r.insert(t)}))}}else(n=mi(t,e).features).forEach((function(t){t.bbox||(t.bbox=yn(Z(t)))})),r.load(f(n))})),f(n)}function mi(t,e){var n=[],r=Q(t)[0],i=Q(t)[t.geometry.coordinates.length-1];if(Ei(r,K(e))||Ei(i,K(e)))return f([t]);var o=Mr(),s=Zn(t);o.load(s);var a=o.search(e);if(!a.features.length)return f([t]);var u=xi(e,a),l=k(s,(function(t,r,i){var o=Q(r)[1],s=K(e);return i===u.id?(t.push(s),n.push(h(t)),Ei(s,o)?[s]:[s,o]):(t.push(o),t)}),[r]);return l.length>1&&n.push(h(l)),f(n)}function xi(t,e){if(!e.features.length)throw new Error(\"lines must contain features\");if(1===e.features.length)return e.features[0];var n,r=1/0;return F(e,(function(e){var i=Tr(e,t).properties.dist;i<r&&(n=e,r=i)})),n}function Ei(t,e){return t[0]===e[0]&&t[1]===e[1]}function bi(t,e,n,r,i){void 0===i&&(i={});var o=i.steps||64,s=wi(n),a=wi(r),u=Array.isArray(t)||\"Feature\"!==t.type?{}:t.properties;if(s===a)return h(_n(t,e,i).geometry.coordinates[0],u);for(var l=s,c=s<a?a:a+360,p=l,f=[],g=0;p<c;)f.push(vn(t,e,p,i).geometry.coordinates),p=l+360*++g/o;return p>c&&f.push(vn(t,e,c,i).geometry.coordinates),h(f,u)}function wi(t){var e=t%360;return e<0&&(e+=360),e}function Ii(t,e){void 0===e&&(e={});var n=rt(t);switch(e.properties||\"Feature\"!==t.type||(e.properties=t.properties),n.type){case\"Polygon\":return Ni(n,e);case\"MultiPolygon\":return function(t,e){void 0===e&&(e={});var n=rt(t).coordinates,r=e.properties?e.properties:\"Feature\"===t.type?t.properties:{},i=[];return n.forEach((function(t){i.push(Si(t,r))})),f(i)}(n,e);default:throw new Error(\"invalid poly\")}}function Ni(t,e){return void 0===e&&(e={}),Si(rt(t).coordinates,e.properties?e.properties:\"Feature\"===t.type?t.properties:{})}function Si(t,e){return t.length>1?g(t,e):h(t[0],e)}function Ci(t,e){var n,r,i;void 0===e&&(e={});var o=e.properties,s=null===(n=e.autoComplete)||void 0===n||n,a=null===(r=e.orderCoords)||void 0===r||r;switch(null!==(i=e.mutate)&&void 0!==i&&i||(t=Ie(t)),t.type){case\"FeatureCollection\":var u=[];return t.features.forEach((function(t){u.push(Q(Pi(t,{},s,a)))})),y(u,o);default:return Pi(t,o,s,a)}}function Pi(t,e,n,r){e=e||(\"Feature\"===t.type?t.properties:{});var i=rt(t),o=i.coordinates,s=i.type;if(!o.length)throw new Error(\"line must contain coordinates\");switch(s){case\"LineString\":return n&&(o=Mi(o)),l([o],e);case\"MultiLineString\":var a=[],u=0;return o.forEach((function(t){if(n&&(t=Mi(t)),r){var e=function(t){var e=t[0],n=t[1],r=t[2],i=t[3];return Math.abs(e-r)*Math.abs(n-i)}(Z(h(t)));e>u?(a.unshift(t),u=e):a.push(t)}else a.push(t)})),l(a,e);default:throw new Error(\"geometry type \"+s+\" is not supported\")}}function Mi(t){var e=t[0],n=e[0],r=e[1],i=t[t.length-1],o=i[0],s=i[1];return n===o&&r===s||t.push(e),t}function Li(t,e){var n,r,i,o,s,a,u;for(r=1;r<=8;r*=2){for(n=[],o=!(Ri(i=t[t.length-1],e)&r),s=0;s<t.length;s++)(u=!(Ri(a=t[s],e)&r))!==o&&n.push(Oi(i,a,r,e)),u&&n.push(a),i=a,o=u;if(!(t=n).length)break}return n}function Oi(t,e,n,r){return 8&n?[t[0]+(e[0]-t[0])*(r[3]-t[1])/(e[1]-t[1]),r[3]]:4&n?[t[0]+(e[0]-t[0])*(r[1]-t[1])/(e[1]-t[1]),r[1]]:2&n?[r[2],t[1]+(e[1]-t[1])*(r[2]-t[0])/(e[0]-t[0])]:1&n?[r[0],t[1]+(e[1]-t[1])*(r[0]-t[0])/(e[0]-t[0])]:null}function Ri(t,e){var n=0;return t[0]<e[0]?n|=1:t[0]>e[2]&&(n|=2),t[1]<e[1]?n|=4:t[1]>e[3]&&(n|=8),n}function Ti(t,e){for(var n=[],r=0,i=t;r<i.length;r++){var o=Li(i[r],e);o.length>0&&(o[0][0]===o[o.length-1][0]&&o[0][1]===o[o.length-1][1]||o.push(o[0]),o.length>=4&&n.push(o))}return n}vi.prototype.interpolate=function(t){var e=Math.sin((1-t)*this.g)/Math.sin(this.g),n=Math.sin(t*this.g)/Math.sin(this.g),r=e*Math.cos(this.start.y)*Math.cos(this.start.x)+n*Math.cos(this.end.y)*Math.cos(this.end.x),i=e*Math.cos(this.start.y)*Math.sin(this.start.x)+n*Math.cos(this.end.y)*Math.sin(this.end.x),o=e*Math.sin(this.start.y)+n*Math.sin(this.end.y),s=fi*Math.atan2(o,Math.sqrt(Math.pow(r,2)+Math.pow(i,2)));return[fi*Math.atan2(i,r),s]},vi.prototype.Arc=function(t,e){var n=[];if(!t||t<=2)n.push([this.start.lon,this.start.lat]),n.push([this.end.lon,this.end.lat]);else for(var r=1/(t-1),i=0;i<t;++i){var o=r*i,s=this.interpolate(o);n.push(s)}for(var a=!1,u=0,l=e&&e.offset?e.offset:10,c=180-l,h=-180+l,p=360-l,f=1;f<n.length;++f){var g=n[f-1][0],d=n[f][0],y=Math.abs(d-g);y>p&&(d>c&&g<h||g>c&&d<h)?a=!0:y>u&&(u=y)}var v=[];if(a&&u<l){var _=[];v.push(_);for(var m=0;m<n.length;++m){var x=parseFloat(n[m][0]);if(m>0&&Math.abs(x-n[m-1][0])>p){var E=parseFloat(n[m-1][0]),b=parseFloat(n[m-1][1]),w=parseFloat(n[m][0]),I=parseFloat(n[m][1]);if(E>-180&&E<h&&180===w&&m+1<n.length&&n[m-1][0]>-180&&n[m-1][0]<h){_.push([-180,n[m][1]]),m++,_.push([n[m][0],n[m][1]]);continue}if(E>c&&E<180&&-180===w&&m+1<n.length&&n[m-1][0]>c&&n[m-1][0]<180){_.push([180,n[m][1]]),m++,_.push([n[m][0],n[m][1]]);continue}if(E<h&&w>c){var N=E;E=w,w=N;var S=b;b=I,I=S}if(E>c&&w<h&&(w+=360),E<=180&&w>=180&&E<w){var C=(180-E)/(w-E),P=C*I+(1-C)*b;_.push([n[m-1][0]>c?180:-180,P]),(_=[]).push([n[m-1][0]>c?-180:180,P]),v.push(_)}else _=[],v.push(_);_.push([x,n[m][1]])}else _.push([n[m][0],n[m][1]])}}else{var M=[];v.push(M);for(var L=0;L<n.length;++L)M.push([n[L][0],n[L][1]])}for(var O=new yi(this.properties),R=0;R<v.length;++R){var T=new di;O.geometries.push(T);for(var A=v[R],D=0;D<A.length;++D)T.move_to(A[D])}return O};var Ai=Bt((function(t,e){function n(t){var e=[];for(var n in t)e.push(n);return e}(t.exports=\"function\"==typeof Object.keys?Object.keys:n).shim=n})),Di=Bt((function(t,e){var n=\"[object Arguments]\"==function(){return Object.prototype.toString.call(arguments)}();function r(t){return\"[object Arguments]\"==Object.prototype.toString.call(t)}function i(t){return t&&\"object\"==typeof t&&\"number\"==typeof t.length&&Object.prototype.hasOwnProperty.call(t,\"callee\")&&!Object.prototype.propertyIsEnumerable.call(t,\"callee\")||!1}(e=t.exports=n?r:i).supported=r,e.unsupported=i})),Fi=Bt((function(t){var e=Array.prototype.slice,n=t.exports=function(t,o,s){return s||(s={}),t===o||(t instanceof Date&&o instanceof Date?t.getTime()===o.getTime():!t||!o||\"object\"!=typeof t&&\"object\"!=typeof o?s.strict?t===o:t==o:function(t,o,s){var a,u;if(r(t)||r(o))return!1;if(t.prototype!==o.prototype)return!1;if(Di(t))return!!Di(o)&&(t=e.call(t),o=e.call(o),n(t,o,s));if(i(t)){if(!i(o))return!1;if(t.length!==o.length)return!1;for(a=0;a<t.length;a++)if(t[a]!==o[a])return!1;return!0}try{var l=Ai(t),c=Ai(o)}catch(t){return!1}if(l.length!=c.length)return!1;for(l.sort(),c.sort(),a=l.length-1;a>=0;a--)if(l[a]!=c[a])return!1;for(a=l.length-1;a>=0;a--)if(u=l[a],!n(t[u],o[u],s))return!1;return typeof t==typeof o}(t,o,s))};function r(t){return null==t}function i(t){return!(!t||\"object\"!=typeof t||\"number\"!=typeof t.length)&&(\"function\"==typeof t.copy&&\"function\"==typeof t.slice&&!(t.length>0&&\"number\"!=typeof t[0]))}}));function ki(t,e,n){if(void 0===n&&(n={}),!P(n=n||{}))throw new Error(\"options is invalid\");var r,i=n.tolerance||0,o=[],s=Mr(),a=Zn(t);return s.load(a),U(e,(function(t){var e=!1;t&&(F(s.search(t),(function(n){if(!1===e){var o=Q(t).sort(),s=Q(n).sort();Fi(o,s)||(0===i?Wr(o[0],n)&&Wr(o[1],n):Tr(n,o[0]).properties.dist<=i&&Tr(n,o[1]).properties.dist<=i)?(e=!0,r=r?Gi(r,t):t):(0===i?Wr(s[0],t)&&Wr(s[1],t):Tr(t,s[0]).properties.dist<=i&&Tr(t,s[1]).properties.dist<=i)&&(r=r?Gi(r,n):n)}})),!1===e&&r&&(o.push(r),r=void 0))})),r&&o.push(r),f(o)}function Gi(t,e){var n=Q(e),r=Q(t),i=r[0],o=r[r.length-1],s=t.geometry.coordinates;return Fi(n[0],i)?s.unshift(n[1]):Fi(n[0],o)?s.push(n[1]):Fi(n[1],i)?s.unshift(n[0]):Fi(n[1],o)&&s.push(n[0]),t}function qi(t){var e=t%360;return e<0&&(e+=360),e}function Bi(t,e,n){var r;return void 0===n&&(n={}),(r=n.final?zi(K(e),K(t)):zi(K(t),K(e)))>180?-(360-r):r}function zi(t,e){var n=I(t[1]),r=I(e[1]),i=I(e[0]-t[0]);i>Math.PI&&(i-=2*Math.PI),i<-Math.PI&&(i+=2*Math.PI);var o=Math.log(Math.tan(r/2+Math.PI/4)/Math.tan(n/2+Math.PI/4));return(w(Math.atan2(i,o))+360)%360}function ji(t,n,r,i){void 0===i&&(i={});var o=n<0,s=N(Math.abs(n),i.units,\"meters\");o&&(s=-Math.abs(s));var u=K(t),l=function(t,n,r,i){i=void 0===i?e:Number(i);var o=n/i,s=t[0]*Math.PI/180,a=I(t[1]),u=I(r),l=o*Math.cos(u),c=a+l;Math.abs(c)>Math.PI/2&&(c=c>0?Math.PI-c:-Math.PI-c);var h=Math.log(Math.tan(c/2+Math.PI/4)/Math.tan(a/2+Math.PI/4)),p=Math.abs(h)>1e-11?l/h:Math.cos(a),f=o*Math.sin(u)/p;return[(180*(s+f)/Math.PI+540)%360-180,180*c/Math.PI]}(u,s,r);return l[0]+=l[0]-u[0]>180?-360:u[0]-l[0]>180?360:0,a(l,i.properties)}function Ui(t,e,n,r,i,o){for(var s=0;s<t.length;s++){var a=t[s],u=t[s+1];s===t.length-1&&(u=t[0]),r=Xi(a,u,e),n<=0&&r>0?Xi(e,a,i)<0||(i=a):n>0&&r<=0&&(Vi(e,a,o)||(o=a)),n=r}return[i,o]}function Vi(t,e,n){return Xi(t,e,n)>0}function Xi(t,e,n){return(e[0]-t[0])*(n[1]-t[1])-(n[0]-t[0])*(e[1]-t[1])}function Yi(t){for(var e,n,r=Q(t),i=0,o=1;o<r.length;)e=n||r[0],i+=((n=r[o])[0]-e[0])*(n[1]+e[1]),o++;return i>0}function Hi(t,e){switch(\"Feature\"===t.type?t.geometry.type:t.type){case\"GeometryCollection\":return q(t,(function(t){Hi(t,e)})),t;case\"LineString\":return Wi(Q(t),e),t;case\"Polygon\":return Ji(Q(t),e),t;case\"MultiLineString\":return Q(t).forEach((function(t){Wi(t,e)})),t;case\"MultiPolygon\":return Q(t).forEach((function(t){Ji(t,e)})),t;case\"Point\":case\"MultiPoint\":return t}}function Wi(t,e){Yi(t)===e&&t.reverse()}function Ji(t,e){Yi(t[0])!==e&&t[0].reverse();for(var n=1;n<t.length;n++)Yi(t[n])===e&&t[n].reverse()}function Zi(t,e){if(!P(e=e||{}))throw new Error(\"options is invalid\");var n=e.zProperty||\"elevation\",r=e.flip,i=e.flags;nt(t,\"Point\",\"input must contain Points\");for(var o=function(t,e){var n={};return F(t,(function(t){var e=Q(t)[1];n[e]||(n[e]=[]),n[e].push(t)})),Object.keys(n).map((function(t){return n[t].sort((function(t,e){return Q(t)[0]-Q(e)[0]}))})).sort((function(t,n){return e?Q(t[0])[1]-Q(n[0])[1]:Q(n[0])[1]-Q(t[0])[1]}))}\n/*!\n     * @license GNU Affero General Public License.\n     * Copyright (c) 2015, 2015 Ronny Lorenz <ronny@tbi.univie.ac.at>\n     * v. 1.2.0\n     * https://github.com/RaumZeit/MarchingSquares.js\n     *\n     * MarchingSquaresJS is free software: you can redistribute it and/or modify\n     * it under the terms of the GNU Affero General Public License as published by\n     * the Free Software Foundation, either version 3 of the License, or\n     * (at your option) any later version.\n     *\n     * MarchingSquaresJS is distributed in the hope that it will be useful,\n     * but WITHOUT ANY WARRANTY; without even the implied warranty of\n     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n     * GNU Affero General Public License for more details.\n     *\n     * As additional permission under GNU Affero General Public License version 3\n     * section 7, third-party projects (personal or commercial) may distribute,\n     * include, or link against UNMODIFIED VERSIONS of MarchingSquaresJS without the\n     * requirement that said third-party project for that reason alone becomes\n     * subject to any requirement of the GNU Affero General Public License version 3.\n     * Any modifications to MarchingSquaresJS, however, must be shared with the public\n     * and made available.\n     *\n     * In summary this:\n     * - allows you to use MarchingSquaresJS at no cost\n     * - allows you to use MarchingSquaresJS for both personal and commercial purposes\n     * - allows you to distribute UNMODIFIED VERSIONS of MarchingSquaresJS under any\n     *   license as long as this license notice is included\n     * - enables you to keep the source code of your program that uses MarchingSquaresJS\n     *   undisclosed\n     * - forces you to share any modifications you have made to MarchingSquaresJS,\n     *   e.g. bug-fixes\n     *\n     * You should have received a copy of the GNU Affero General Public License\n     * along with MarchingSquaresJS.  If not, see <http://www.gnu.org/licenses/>.\n     */(t,r),s=[],a=0;a<o.length;a++){for(var u=o[a],l=[],c=0;c<u.length;c++){var h=u[c];h.properties[n]?l.push(h.properties[n]):l.push(0),!0===i&&(h.properties.matrixPosition=[a,c])}s.push(l)}return s}var Ki={successCallback:null,verbose:!1,polygons:!1},Qi={};function $i(t,e,n,r){r=r||{};for(var i=Object.keys(Ki),o=0;o<i.length;o++){var s=i[o],a=r[s];a=null!=a?a:Ki[s],Qi[s]=a}Qi.verbose&&console.log(\"MarchingSquaresJS-isoBands: computing isobands for [\"+e+\":\"+(e+n)+\"]\");var u,l=function(t,e,n){for(var r=t.length-1,i=t[0].length-1,o={rows:r,cols:i,cells:[]},s=e+Math.abs(n),a=0;a<r;++a){o.cells[a]=[];for(var u=0;u<i;++u){var l=0,c=t[a+1][u],h=t[a+1][u+1],p=t[a][u+1],f=t[a][u];if(!(isNaN(c)||isNaN(h)||isNaN(p)||isNaN(f))){l|=c<e?0:c>s?128:64,l|=h<e?0:h>s?32:16,l|=p<e?0:p>s?8:4;var g=+(l|=f<e?0:f>s?2:1),d=0;if(17===l||18===l||33===l||34===l||38===l||68===l||72===l||98===l||102===l||132===l||136===l||137===l||152===l||153===l){var y=(c+h+p+f)/4;d=y>s?2:y<e?0:1,34===l?1===d?l=35:0===d&&(l=136):136===l?1===d?(l=35,d=4):0===d&&(l=34):17===l?1===d?(l=155,d=4):0===d&&(l=153):68===l?1===d?(l=103,d=4):0===d&&(l=102):153===l?1===d&&(l=155):102===l?1===d&&(l=103):152===l?d<2&&(l=156,d=1):137===l?d<2&&(l=139,d=1):98===l?d<2&&(l=99,d=1):38===l?d<2&&(l=39,d=1):18===l?d>0?(l=156,d=4):l=152:33===l?d>0?(l=139,d=4):l=137:72===l?d>0?(l=99,d=4):l=98:132===l&&(d>0?(l=39,d=4):l=38)}if(0!=l&&170!=l){var v,_,m,x,E,b,w,I;v=_=m=x=E=b=w=I=.5;var N=[];1===l?(m=1-Vo(e,p,f),I=1-Vo(e,c,f),N.push(Go[l])):169===l?(m=Vo(s,f,p),I=Vo(s,f,c),N.push(Go[l])):4===l?(b=1-Vo(e,h,p),x=Vo(e,f,p),N.push(Fo[l])):166===l?(b=Vo(s,p,h),x=1-Vo(s,p,f),N.push(Fo[l])):16===l?(E=Vo(e,p,h),_=Vo(e,c,h),N.push(Do[l])):154===l?(E=1-Vo(s,h,p),_=1-Vo(s,h,c),N.push(Do[l])):64===l?(w=Vo(e,f,c),v=1-Vo(e,h,c),N.push(Bo[l])):106===l?(w=1-Vo(s,c,f),v=Vo(s,c,h),N.push(Bo[l])):168===l?(x=Vo(s,f,p),m=Vo(e,f,p),I=Vo(e,f,c),w=Vo(s,f,c),N.push(ko[l]),N.push(Go[l])):2===l?(x=1-Vo(e,p,f),m=1-Vo(s,p,f),I=1-Vo(s,c,f),w=1-Vo(e,c,f),N.push(ko[l]),N.push(Go[l])):162===l?(E=Vo(s,p,h),b=Vo(e,p,h),x=1-Vo(e,p,f),m=1-Vo(s,p,f),N.push(ko[l]),N.push(Go[l])):8===l?(E=1-Vo(e,h,p),b=1-Vo(s,h,p),x=Vo(s,f,p),m=Vo(e,f,p),N.push(Do[l]),N.push(Fo[l])):138===l?(E=1-Vo(e,h,p),b=1-Vo(s,h,p),v=1-Vo(s,h,c),_=1-Vo(e,h,c),N.push(Do[l]),N.push(Fo[l])):32===l?(E=Vo(s,p,h),b=Vo(e,p,h),v=Vo(e,c,h),_=Vo(s,c,h),N.push(Do[l]),N.push(Fo[l])):42===l?(I=1-Vo(s,c,f),w=1-Vo(e,c,f),v=Vo(e,c,h),_=Vo(s,c,h),N.push(qo[l]),N.push(Bo[l])):128===l&&(I=Vo(e,f,c),w=Vo(s,f,c),v=1-Vo(s,h,c),_=1-Vo(e,h,c),N.push(qo[l]),N.push(Bo[l])),5===l?(b=1-Vo(e,h,p),I=1-Vo(e,c,f),N.push(Fo[l])):165===l?(b=Vo(s,p,h),I=Vo(s,f,c),N.push(Fo[l])):20===l?(x=Vo(e,f,p),_=Vo(e,c,h),N.push(ko[l])):150===l?(x=1-Vo(s,p,f),_=1-Vo(s,h,c),N.push(ko[l])):80===l?(E=Vo(e,p,h),w=Vo(e,f,c),N.push(Do[l])):90===l?(E=1-Vo(s,h,p),w=1-Vo(s,c,f),N.push(Do[l])):65===l?(m=1-Vo(e,p,f),v=1-Vo(e,h,c),N.push(Go[l])):105===l?(m=Vo(s,f,p),v=Vo(s,c,h),N.push(Go[l])):160===l?(E=Vo(s,p,h),b=Vo(e,p,h),I=Vo(e,f,c),w=Vo(s,f,c),N.push(Do[l]),N.push(Fo[l])):10===l?(E=1-Vo(e,h,p),b=1-Vo(s,h,p),I=1-Vo(s,c,f),w=1-Vo(e,c,f),N.push(Do[l]),N.push(Fo[l])):130===l?(x=1-Vo(e,p,f),m=1-Vo(s,p,f),v=1-Vo(s,h,c),_=1-Vo(e,h,c),N.push(ko[l]),N.push(Go[l])):40===l?(x=Vo(s,f,p),m=Vo(e,f,p),v=Vo(e,c,h),_=Vo(s,c,h),N.push(ko[l]),N.push(Go[l])):101===l?(b=Vo(s,p,h),v=Vo(s,c,h),N.push(Fo[l])):69===l?(b=1-Vo(e,h,p),v=1-Vo(e,h,c),N.push(Fo[l])):149===l?(I=Vo(s,f,c),_=1-Vo(s,h,c),N.push(qo[l])):21===l?(I=1-Vo(e,c,f),_=Vo(e,c,h),N.push(qo[l])):86===l?(x=1-Vo(s,p,f),w=1-Vo(s,c,f),N.push(ko[l])):84===l?(x=Vo(e,f,p),w=Vo(e,f,c),N.push(ko[l])):89===l?(E=1-Vo(s,h,p),m=Vo(s,f,p),N.push(Go[l])):81===l?(E=Vo(e,p,h),m=1-Vo(e,p,f),N.push(Go[l])):96===l?(E=Vo(s,p,h),b=Vo(e,p,h),w=Vo(e,f,c),v=Vo(s,c,h),N.push(Do[l]),N.push(Fo[l])):74===l?(E=1-Vo(e,h,p),b=1-Vo(s,h,p),w=1-Vo(s,c,f),v=1-Vo(e,h,c),N.push(Do[l]),N.push(Fo[l])):24===l?(E=1-Vo(s,h,p),x=Vo(s,f,p),m=Vo(e,f,p),_=Vo(e,c,h),N.push(Do[l]),N.push(Go[l])):146===l?(E=Vo(e,p,h),x=1-Vo(e,p,f),m=1-Vo(s,p,f),_=1-Vo(s,h,c),N.push(Do[l]),N.push(Go[l])):6===l?(b=1-Vo(e,h,p),x=1-Vo(s,p,f),I=1-Vo(s,c,f),w=1-Vo(e,c,f),N.push(Fo[l]),N.push(ko[l])):164===l?(b=Vo(s,p,h),x=Vo(e,f,p),I=Vo(e,f,c),w=Vo(s,f,c),N.push(Fo[l]),N.push(ko[l])):129===l?(m=1-Vo(e,p,f),I=Vo(s,f,c),v=1-Vo(s,h,c),_=1-Vo(e,h,c),N.push(Go[l]),N.push(qo[l])):41===l?(m=Vo(s,f,p),I=1-Vo(e,c,f),v=Vo(e,c,h),_=Vo(s,c,h),N.push(Go[l]),N.push(qo[l])):66===l?(x=1-Vo(e,p,f),m=1-Vo(s,p,f),w=1-Vo(s,c,f),v=1-Vo(e,h,c),N.push(ko[l]),N.push(Go[l])):104===l?(x=Vo(s,f,p),m=Vo(e,f,p),w=Vo(e,f,c),v=Vo(s,c,h),N.push(Go[l]),N.push(zo[l])):144===l?(E=Vo(e,p,h),I=Vo(e,f,c),w=Vo(s,f,c),_=1-Vo(s,h,c),N.push(Do[l]),N.push(Bo[l])):26===l?(E=1-Vo(s,h,p),I=1-Vo(s,c,f),w=1-Vo(e,c,f),_=Vo(e,c,h),N.push(Do[l]),N.push(Bo[l])):36===l?(b=Vo(s,p,h),x=Vo(e,f,p),v=Vo(e,c,h),_=Vo(s,c,h),N.push(Fo[l]),N.push(ko[l])):134===l?(b=1-Vo(e,h,p),x=1-Vo(s,p,f),v=1-Vo(s,h,c),_=1-Vo(e,h,c),N.push(Fo[l]),N.push(ko[l])):9===l?(E=1-Vo(e,h,p),b=1-Vo(s,h,p),m=Vo(s,f,p),I=1-Vo(e,c,f),N.push(Do[l]),N.push(Fo[l])):161===l?(E=Vo(s,p,h),b=Vo(e,p,h),m=1-Vo(e,p,f),I=Vo(s,f,c),N.push(Do[l]),N.push(Fo[l])):37===l?(b=Vo(s,p,h),I=1-Vo(e,c,f),v=Vo(e,c,h),_=Vo(s,c,h),N.push(Fo[l]),N.push(qo[l])):133===l?(b=1-Vo(e,h,p),I=Vo(s,f,c),v=1-Vo(s,h,c),_=1-Vo(e,h,c),N.push(Fo[l]),N.push(qo[l])):148===l?(x=Vo(e,f,p),I=Vo(e,f,c),w=Vo(s,f,c),_=1-Vo(s,h,c),N.push(ko[l]),N.push(Bo[l])):22===l?(x=1-Vo(s,p,f),I=1-Vo(s,c,f),w=1-Vo(e,c,f),_=Vo(e,c,h),N.push(ko[l]),N.push(Bo[l])):82===l?(E=Vo(e,p,h),x=1-Vo(e,p,f),m=1-Vo(s,p,f),w=1-Vo(s,c,f),N.push(Do[l]),N.push(Go[l])):88===l?(E=1-Vo(s,h,p),x=Vo(s,f,p),m=Vo(e,f,p),w=Vo(e,f,c),N.push(Do[l]),N.push(Go[l])):73===l?(E=1-Vo(e,h,p),b=1-Vo(s,h,p),m=Vo(s,f,p),v=1-Vo(e,h,c),N.push(Do[l]),N.push(Fo[l])):97===l?(E=Vo(s,p,h),b=Vo(e,p,h),m=1-Vo(e,p,f),v=Vo(s,c,h),N.push(Do[l]),N.push(Fo[l])):145===l?(E=Vo(e,p,h),m=1-Vo(e,p,f),I=Vo(s,f,c),_=1-Vo(s,h,c),N.push(Do[l]),N.push(qo[l])):25===l?(E=1-Vo(s,h,p),m=Vo(s,f,p),I=1-Vo(e,c,f),_=Vo(e,c,h),N.push(Do[l]),N.push(qo[l])):70===l?(b=1-Vo(e,h,p),x=1-Vo(s,p,f),w=1-Vo(s,c,f),v=1-Vo(e,h,c),N.push(Fo[l]),N.push(ko[l])):100===l?(b=Vo(s,p,h),x=Vo(e,f,p),w=Vo(e,f,c),v=Vo(s,c,h),N.push(Fo[l]),N.push(ko[l])):34===l?(0===d?(E=1-Vo(e,h,p),b=1-Vo(s,h,p),x=Vo(s,f,p),m=Vo(e,f,p),I=Vo(e,f,c),w=Vo(s,f,c),v=1-Vo(s,h,c),_=1-Vo(e,h,c)):(E=Vo(s,p,h),b=Vo(e,p,h),x=1-Vo(e,p,f),m=1-Vo(s,p,f),I=1-Vo(s,c,f),w=1-Vo(e,c,f),v=Vo(e,c,h),_=Vo(s,c,h)),N.push(Do[l]),N.push(Fo[l]),N.push(qo[l]),N.push(Bo[l])):35===l?(4===d?(E=1-Vo(e,h,p),b=1-Vo(s,h,p),x=Vo(s,f,p),m=Vo(e,f,p),I=Vo(e,f,c),w=Vo(s,f,c),v=1-Vo(s,h,c),_=1-Vo(e,h,c)):(E=Vo(s,p,h),b=Vo(e,p,h),x=1-Vo(e,p,f),m=1-Vo(s,p,f),I=1-Vo(s,c,f),w=1-Vo(e,c,f),v=Vo(e,c,h),_=Vo(s,c,h)),N.push(Do[l]),N.push(Fo[l]),N.push(Go[l]),N.push(Bo[l])):136===l?(0===d?(E=Vo(s,p,h),b=Vo(e,p,h),x=1-Vo(e,p,f),m=1-Vo(s,p,f),I=1-Vo(s,c,f),w=1-Vo(e,c,f),v=Vo(e,c,h),_=Vo(s,c,h)):(E=1-Vo(e,h,p),b=1-Vo(s,h,p),x=Vo(s,f,p),m=Vo(e,f,p),I=Vo(e,f,c),w=Vo(s,f,c),v=1-Vo(s,h,c),_=1-Vo(e,h,c)),N.push(Do[l]),N.push(Fo[l]),N.push(qo[l]),N.push(Bo[l])):153===l?(0===d?(E=Vo(e,p,h),m=1-Vo(e,p,f),I=1-Vo(e,c,f),_=Vo(e,c,h)):(E=1-Vo(s,h,p),m=Vo(s,f,p),I=Vo(s,f,c),_=1-Vo(s,h,c)),N.push(Do[l]),N.push(Go[l])):102===l?(0===d?(b=1-Vo(e,h,p),x=Vo(e,f,p),w=Vo(e,f,c),v=1-Vo(e,h,c)):(b=Vo(s,p,h),x=1-Vo(s,p,f),w=1-Vo(s,c,f),v=Vo(s,c,h)),N.push(Fo[l]),N.push(Bo[l])):155===l?(4===d?(E=Vo(e,p,h),m=1-Vo(e,p,f),I=1-Vo(e,c,f),_=Vo(e,c,h)):(E=1-Vo(s,h,p),m=Vo(s,f,p),I=Vo(s,f,c),_=1-Vo(s,h,c)),N.push(Do[l]),N.push(qo[l])):103===l?(4===d?(b=1-Vo(e,h,p),x=Vo(e,f,p),w=Vo(e,f,c),v=1-Vo(e,h,c)):(b=Vo(s,p,h),x=1-Vo(s,p,f),w=1-Vo(s,c,f),v=Vo(s,c,h)),N.push(Fo[l]),N.push(ko[l])):152===l?(0===d?(E=Vo(e,p,h),x=1-Vo(e,p,f),m=1-Vo(s,p,f),I=1-Vo(s,c,f),w=1-Vo(e,c,f),_=Vo(e,c,h)):(E=1-Vo(s,h,p),x=Vo(s,f,p),m=Vo(e,f,p),I=Vo(e,f,c),w=Vo(s,f,c),_=1-Vo(s,h,c)),N.push(Do[l]),N.push(ko[l]),N.push(Go[l])):156===l?(4===d?(E=Vo(e,p,h),x=1-Vo(e,p,f),m=1-Vo(s,p,f),I=1-Vo(s,c,f),w=1-Vo(e,c,f),_=Vo(e,c,h)):(E=1-Vo(s,h,p),x=Vo(s,f,p),m=Vo(e,f,p),I=Vo(e,f,c),w=Vo(s,f,c),_=1-Vo(s,h,c)),N.push(Do[l]),N.push(Go[l]),N.push(Bo[l])):137===l?(0===d?(E=Vo(s,p,h),b=Vo(e,p,h),m=1-Vo(e,p,f),I=1-Vo(e,c,f),v=Vo(e,c,h),_=Vo(s,c,h)):(E=1-Vo(e,h,p),b=1-Vo(s,h,p),m=Vo(s,f,p),I=Vo(s,f,c),v=1-Vo(s,h,c),_=1-Vo(e,h,c)),N.push(Do[l]),N.push(Fo[l]),N.push(Go[l])):139===l?(4===d?(E=Vo(s,p,h),b=Vo(e,p,h),m=1-Vo(e,p,f),I=1-Vo(e,c,f),v=Vo(e,c,h),_=Vo(s,c,h)):(E=1-Vo(e,h,p),b=1-Vo(s,h,p),m=Vo(s,f,p),I=Vo(s,f,c),v=1-Vo(s,h,c),_=1-Vo(e,h,c)),N.push(Do[l]),N.push(Fo[l]),N.push(qo[l])):98===l?(0===d?(E=1-Vo(e,h,p),b=1-Vo(s,h,p),x=Vo(s,f,p),m=Vo(e,f,p),w=Vo(e,f,c),v=1-Vo(e,h,c)):(E=Vo(s,p,h),b=Vo(e,p,h),x=1-Vo(e,p,f),m=1-Vo(s,p,f),w=1-Vo(s,c,f),v=Vo(s,c,h)),N.push(Do[l]),N.push(Fo[l]),N.push(Bo[l])):99===l?(4===d?(E=1-Vo(e,h,p),b=1-Vo(s,h,p),x=Vo(s,f,p),m=Vo(e,f,p),w=Vo(e,f,c),v=1-Vo(e,h,c)):(E=Vo(s,p,h),b=Vo(e,p,h),x=1-Vo(e,p,f),m=1-Vo(s,p,f),w=1-Vo(s,c,f),v=Vo(s,c,h)),N.push(Do[l]),N.push(Fo[l]),N.push(Go[l])):38===l?(0===d?(b=1-Vo(e,h,p),x=Vo(e,f,p),I=Vo(e,f,c),w=Vo(s,f,c),v=1-Vo(s,h,c),_=1-Vo(e,h,c)):(b=Vo(s,p,h),x=1-Vo(s,p,f),I=1-Vo(s,c,f),w=1-Vo(e,c,f),v=Vo(e,c,h),_=Vo(s,c,h)),N.push(Fo[l]),N.push(qo[l]),N.push(Bo[l])):39===l?(4===d?(b=1-Vo(e,h,p),x=Vo(e,f,p),I=Vo(e,f,c),w=Vo(s,f,c),v=1-Vo(s,h,c),_=1-Vo(e,h,c)):(b=Vo(s,p,h),x=1-Vo(s,p,f),I=1-Vo(s,c,f),w=1-Vo(e,c,f),v=Vo(e,c,h),_=Vo(s,c,h)),N.push(Fo[l]),N.push(ko[l]),N.push(Bo[l])):85===l&&(E=1,b=0,x=1,m=0,I=0,w=1,v=0,_=1),(v<0||v>1||_<0||_>1||E<0||E>1||x<0||x>1||I<0||I>1||w<0||w>1)&&console.log(\"MarchingSquaresJS-isoBands: \"+l+\" \"+g+\" \"+c+\",\"+h+\",\"+p+\",\"+f+\" \"+d+\" \"+v+\" \"+_+\" \"+E+\" \"+b+\" \"+x+\" \"+m+\" \"+I+\" \"+w),o.cells[a][u]={cval:l,cval_real:g,flipped:d,topleft:v,topright:_,righttop:E,rightbottom:b,bottomright:x,bottomleft:m,leftbottom:I,lefttop:w,edges:N}}}}}return o}(t,e,n);return Qi.polygons?(Qi.verbose&&console.log(\"MarchingSquaresJS-isoBands: returning single polygons for each grid cell\"),u=function(t){var e=[],n=0;return t.cells.forEach((function(t,r){t.forEach((function(t,i){if(void 0!==t){var o=Uo[t.cval](t);\"object\"==typeof o&&Xo(o)?\"object\"==typeof o[0]&&Xo(o[0])?\"object\"==typeof o[0][0]&&Xo(o[0][0])?o.forEach((function(t){t.forEach((function(t){t[0]+=i,t[1]+=r})),e[n++]=t})):(o.forEach((function(t){t[0]+=i,t[1]+=r})),e[n++]=o):console.log(\"MarchingSquaresJS-isoBands: bandcell polygon with malformed coordinates\"):console.log(\"MarchingSquaresJS-isoBands: bandcell polygon with null coordinates\")}}))})),e}(l)):(Qi.verbose&&console.log(\"MarchingSquaresJS-isoBands: returning polygon paths for entire data grid\"),u=function(t){for(var e=[],n=t.rows,r=t.cols,i=[],o=0;o<n;o++)for(var s=0;s<r;s++)if(void 0!==t.cells[o][s]&&t.cells[o][s].edges.length>0){var a=Ho(t.cells[o][s]),u=null,l=s,c=o;null!==a&&i.push([a.p[0]+l,a.p[1]+c]);do{if(null===(u=Wo(t.cells[c][l],a.x,a.y,a.o)))break;if(i.push([u.p[0]+l,u.p[1]+c]),l+=u.x,a=u,(c+=u.y)<0||c>=n||l<0||l>=r||void 0===t.cells[c][l]){var h=Yo(t,l-=u.x,c-=u.y,u.x,u.y,u.o);if(null===h)break;h.path.forEach((function(t){i.push(t)})),l=h.i,c=h.j,a=h}}while(void 0!==t.cells[c][l]&&t.cells[c][l].edges.length>0);e.push(i),i=[],t.cells[o][s].edges.length>0&&s--}return e}(l)),\"function\"==typeof Qi.successCallback&&Qi.successCallback(u),u}var to=64,eo=16,no=[],ro=[],io=[],oo=[],so=[],ao=[],uo=[],lo=[],co=[],ho=[],po=[],fo=[],go=[],yo=[],vo=[],_o=[],mo=[],xo=[],Eo=[],bo=[],wo=[],Io=[],No=[],So=[];uo[85]=ho[85]=-1,lo[85]=po[85]=0,co[85]=fo[85]=1,Eo[85]=Io[85]=1,bo[85]=No[85]=0,wo[85]=So[85]=1,no[85]=oo[85]=0,ro[85]=so[85]=-1,io[85]=vo[85]=0,_o[85]=go[85]=0,mo[85]=yo[85]=1,ao[85]=xo[85]=1,Io[1]=Io[169]=0,No[1]=No[169]=-1,So[1]=So[169]=0,go[1]=go[169]=-1,yo[1]=yo[169]=0,vo[1]=vo[169]=0,ho[4]=ho[166]=0,po[4]=po[166]=-1,fo[4]=fo[166]=1,_o[4]=_o[166]=1,mo[4]=mo[166]=0,xo[4]=xo[166]=0,uo[16]=uo[154]=0,lo[16]=lo[154]=1,co[16]=co[154]=1,oo[16]=oo[154]=1,so[16]=so[154]=0,ao[16]=ao[154]=1,Eo[64]=Eo[106]=0,bo[64]=bo[106]=1,wo[64]=wo[106]=0,no[64]=no[106]=-1,ro[64]=ro[106]=0,io[64]=io[106]=1,Eo[2]=Eo[168]=0,bo[2]=bo[168]=-1,wo[2]=wo[168]=1,Io[2]=Io[168]=0,No[2]=No[168]=-1,So[2]=So[168]=0,go[2]=go[168]=-1,yo[2]=yo[168]=0,vo[2]=vo[168]=0,_o[2]=_o[168]=-1,mo[2]=mo[168]=0,xo[2]=xo[168]=1,uo[8]=uo[162]=0,lo[8]=lo[162]=-1,co[8]=co[162]=0,ho[8]=ho[162]=0,po[8]=po[162]=-1,fo[8]=fo[162]=1,go[8]=go[162]=1,yo[8]=yo[162]=0,vo[8]=vo[162]=1,_o[8]=_o[162]=1,mo[8]=mo[162]=0,xo[8]=xo[162]=0,uo[32]=uo[138]=0,lo[32]=lo[138]=1,co[32]=co[138]=1,ho[32]=ho[138]=0,po[32]=po[138]=1,fo[32]=fo[138]=0,no[32]=no[138]=1,ro[32]=ro[138]=0,io[32]=io[138]=0,oo[32]=oo[138]=1,so[32]=so[138]=0,ao[32]=ao[138]=1,Io[128]=Io[42]=0,No[128]=No[42]=1,So[128]=So[42]=1,Eo[128]=Eo[42]=0,bo[128]=bo[42]=1,wo[128]=wo[42]=0,no[128]=no[42]=-1,ro[128]=ro[42]=0,io[128]=io[42]=1,oo[128]=oo[42]=-1,so[128]=so[42]=0,ao[128]=ao[42]=0,ho[5]=ho[165]=-1,po[5]=po[165]=0,fo[5]=fo[165]=0,Io[5]=Io[165]=1,No[5]=No[165]=0,So[5]=So[165]=0,_o[20]=_o[150]=0,mo[20]=mo[150]=1,xo[20]=xo[150]=1,oo[20]=oo[150]=0,so[20]=so[150]=-1,ao[20]=ao[150]=1,uo[80]=uo[90]=-1,lo[80]=lo[90]=0,co[80]=co[90]=1,Eo[80]=Eo[90]=1,bo[80]=bo[90]=0,wo[80]=wo[90]=1,go[65]=go[105]=0,yo[65]=yo[105]=1,vo[65]=vo[105]=0,no[65]=no[105]=0,ro[65]=ro[105]=-1,io[65]=io[105]=0,uo[160]=uo[10]=-1,lo[160]=lo[10]=0,co[160]=co[10]=1,ho[160]=ho[10]=-1,po[160]=po[10]=0,fo[160]=fo[10]=0,Io[160]=Io[10]=1,No[160]=No[10]=0,So[160]=So[10]=0,Eo[160]=Eo[10]=1,bo[160]=bo[10]=0,wo[160]=wo[10]=1,_o[130]=_o[40]=0,mo[130]=mo[40]=1,xo[130]=xo[40]=1,go[130]=go[40]=0,yo[130]=yo[40]=1,vo[130]=vo[40]=0,no[130]=no[40]=0,ro[130]=ro[40]=-1,io[130]=io[40]=0,oo[130]=oo[40]=0,so[130]=so[40]=-1,ao[130]=ao[40]=1,ho[37]=ho[133]=0,po[37]=po[133]=1,fo[37]=fo[133]=1,Io[37]=Io[133]=0,No[37]=No[133]=1,So[37]=So[133]=0,no[37]=no[133]=-1,ro[37]=ro[133]=0,io[37]=io[133]=0,oo[37]=oo[133]=1,so[37]=so[133]=0,ao[37]=ao[133]=0,_o[148]=_o[22]=-1,mo[148]=mo[22]=0,xo[148]=xo[22]=0,Io[148]=Io[22]=0,No[148]=No[22]=-1,So[148]=So[22]=1,Eo[148]=Eo[22]=0,bo[148]=bo[22]=1,wo[148]=wo[22]=1,oo[148]=oo[22]=-1,so[148]=so[22]=0,ao[148]=ao[22]=1,uo[82]=uo[88]=0,lo[82]=lo[88]=-1,co[82]=co[88]=1,_o[82]=_o[88]=1,mo[82]=mo[88]=0,xo[82]=xo[88]=1,go[82]=go[88]=-1,yo[82]=yo[88]=0,vo[82]=vo[88]=1,Eo[82]=Eo[88]=0,bo[82]=bo[88]=-1,wo[82]=wo[88]=0,uo[73]=uo[97]=0,lo[73]=lo[97]=1,co[73]=co[97]=0,ho[73]=ho[97]=0,po[73]=po[97]=-1,fo[73]=fo[97]=0,go[73]=go[97]=1,yo[73]=yo[97]=0,vo[73]=vo[97]=0,no[73]=no[97]=1,ro[73]=ro[97]=0,io[73]=io[97]=1,uo[145]=uo[25]=0,lo[145]=lo[25]=-1,co[145]=co[25]=0,go[145]=go[25]=1,yo[145]=yo[25]=0,vo[145]=vo[25]=1,Io[145]=Io[25]=0,No[145]=No[25]=1,So[145]=So[25]=1,oo[145]=oo[25]=-1,so[145]=so[25]=0,ao[145]=ao[25]=0,ho[70]=ho[100]=0,po[70]=po[100]=1,fo[70]=fo[100]=0,_o[70]=_o[100]=-1,mo[70]=mo[100]=0,xo[70]=xo[100]=1,Eo[70]=Eo[100]=0,bo[70]=bo[100]=-1,wo[70]=wo[100]=1,no[70]=no[100]=1,ro[70]=ro[100]=0,io[70]=io[100]=0,ho[101]=ho[69]=0,po[101]=po[69]=1,fo[101]=fo[69]=0,no[101]=no[69]=1,ro[101]=ro[69]=0,io[101]=io[69]=0,Io[149]=Io[21]=0,No[149]=No[21]=1,So[149]=So[21]=1,oo[149]=oo[21]=-1,so[149]=so[21]=0,ao[149]=ao[21]=0,_o[86]=_o[84]=-1,mo[86]=mo[84]=0,xo[86]=xo[84]=1,Eo[86]=Eo[84]=0,bo[86]=bo[84]=-1,wo[86]=wo[84]=1,uo[89]=uo[81]=0,lo[89]=lo[81]=-1,co[89]=co[81]=0,go[89]=go[81]=1,yo[89]=yo[81]=0,vo[89]=vo[81]=1,uo[96]=uo[74]=0,lo[96]=lo[74]=1,co[96]=co[74]=0,ho[96]=ho[74]=-1,po[96]=po[74]=0,fo[96]=fo[74]=1,Eo[96]=Eo[74]=1,bo[96]=bo[74]=0,wo[96]=wo[74]=0,no[96]=no[74]=1,ro[96]=ro[74]=0,io[96]=io[74]=1,uo[24]=uo[146]=0,lo[24]=lo[146]=-1,co[24]=co[146]=1,_o[24]=_o[146]=1,mo[24]=mo[146]=0,xo[24]=xo[146]=1,go[24]=go[146]=0,yo[24]=yo[146]=1,vo[24]=vo[146]=1,oo[24]=oo[146]=0,so[24]=so[146]=-1,ao[24]=ao[146]=0,ho[6]=ho[164]=-1,po[6]=po[164]=0,fo[6]=fo[164]=1,_o[6]=_o[164]=-1,mo[6]=mo[164]=0,xo[6]=xo[164]=0,Io[6]=Io[164]=0,No[6]=No[164]=-1,So[6]=So[164]=1,Eo[6]=Eo[164]=1,bo[6]=bo[164]=0,wo[6]=wo[164]=0,go[129]=go[41]=0,yo[129]=yo[41]=1,vo[129]=vo[41]=1,Io[129]=Io[41]=0,No[129]=No[41]=1,So[129]=So[41]=0,no[129]=no[41]=-1,ro[129]=ro[41]=0,io[129]=io[41]=0,oo[129]=oo[41]=0,so[129]=so[41]=-1,ao[129]=ao[41]=0,_o[66]=_o[104]=0,mo[66]=mo[104]=1,xo[66]=xo[104]=0,go[66]=go[104]=-1,yo[66]=yo[104]=0,vo[66]=vo[104]=1,Eo[66]=Eo[104]=0,bo[66]=bo[104]=-1,wo[66]=wo[104]=0,no[66]=no[104]=0,ro[66]=ro[104]=-1,io[66]=io[104]=1,uo[144]=uo[26]=-1,lo[144]=lo[26]=0,co[144]=co[26]=0,Io[144]=Io[26]=1,No[144]=No[26]=0,So[144]=So[26]=1,Eo[144]=Eo[26]=0,bo[144]=bo[26]=1,wo[144]=wo[26]=1,oo[144]=oo[26]=-1,so[144]=so[26]=0,ao[144]=ao[26]=1,ho[36]=ho[134]=0,po[36]=po[134]=1,fo[36]=fo[134]=1,_o[36]=_o[134]=0,mo[36]=mo[134]=1,xo[36]=xo[134]=0,no[36]=no[134]=0,ro[36]=ro[134]=-1,io[36]=io[134]=1,oo[36]=oo[134]=1,so[36]=so[134]=0,ao[36]=ao[134]=0,uo[9]=uo[161]=-1,lo[9]=lo[161]=0,co[9]=co[161]=0,ho[9]=ho[161]=0,po[9]=po[161]=-1,fo[9]=fo[161]=0,go[9]=go[161]=1,yo[9]=yo[161]=0,vo[9]=vo[161]=0,Io[9]=Io[161]=1,No[9]=No[161]=0,So[9]=So[161]=1,uo[136]=0,lo[136]=1,co[136]=1,ho[136]=0,po[136]=1,fo[136]=0,_o[136]=-1,mo[136]=0,xo[136]=1,go[136]=-1,yo[136]=0,vo[136]=0,Io[136]=0,No[136]=-1,So[136]=0,Eo[136]=0,bo[136]=-1,wo[136]=1,no[136]=1,ro[136]=0,io[136]=0,oo[136]=1,so[136]=0,ao[136]=1,uo[34]=0,lo[34]=-1,co[34]=0,ho[34]=0,po[34]=-1,fo[34]=1,_o[34]=1,mo[34]=0,xo[34]=0,go[34]=1,yo[34]=0,vo[34]=1,Io[34]=0,No[34]=1,So[34]=1,Eo[34]=0,bo[34]=1,wo[34]=0,no[34]=-1,ro[34]=0,io[34]=1,oo[34]=-1,so[34]=0,ao[34]=0,uo[35]=0,lo[35]=1,co[35]=1,ho[35]=0,po[35]=-1,fo[35]=1,_o[35]=1,mo[35]=0,xo[35]=0,go[35]=-1,yo[35]=0,vo[35]=0,Io[35]=0,No[35]=-1,So[35]=0,Eo[35]=0,bo[35]=1,wo[35]=0,no[35]=-1,ro[35]=0,io[35]=1,oo[35]=1,so[35]=0,ao[35]=1,uo[153]=0,lo[153]=1,co[153]=1,go[153]=-1,yo[153]=0,vo[153]=0,Io[153]=0,No[153]=-1,So[153]=0,oo[153]=1,so[153]=0,ao[153]=1,ho[102]=0,po[102]=-1,fo[102]=1,_o[102]=1,mo[102]=0,xo[102]=0,Eo[102]=0,bo[102]=1,wo[102]=0,no[102]=-1,ro[102]=0,io[102]=1,uo[155]=0,lo[155]=-1,co[155]=0,go[155]=1,yo[155]=0,vo[155]=1,Io[155]=0,No[155]=1,So[155]=1,oo[155]=-1,so[155]=0,ao[155]=0,ho[103]=0,po[103]=1,fo[103]=0,_o[103]=-1,mo[103]=0,xo[103]=1,Eo[103]=0,bo[103]=-1,wo[103]=1,no[103]=1,ro[103]=0,io[103]=0,uo[152]=0,lo[152]=1,co[152]=1,_o[152]=-1,mo[152]=0,xo[152]=1,go[152]=-1,yo[152]=0,vo[152]=0,Io[152]=0,No[152]=-1,So[152]=0,Eo[152]=0,bo[152]=-1,wo[152]=1,oo[152]=1,so[152]=0,ao[152]=1,uo[156]=0,lo[156]=-1,co[156]=1,_o[156]=1,mo[156]=0,xo[156]=1,go[156]=-1,yo[156]=0,vo[156]=0,Io[156]=0,No[156]=-1,So[156]=0,Eo[156]=0,bo[156]=1,wo[156]=1,oo[156]=-1,so[156]=0,ao[156]=1,uo[137]=0,lo[137]=1,co[137]=1,ho[137]=0,po[137]=1,fo[137]=0,go[137]=-1,yo[137]=0,vo[137]=0,Io[137]=0,No[137]=-1,So[137]=0,no[137]=1,ro[137]=0,io[137]=0,oo[137]=1,so[137]=0,ao[137]=1,uo[139]=0,lo[139]=1,co[139]=1,ho[139]=0,po[139]=-1,fo[139]=0,go[139]=1,yo[139]=0,vo[139]=0,Io[139]=0,No[139]=1,So[139]=0,no[139]=-1,ro[139]=0,io[139]=0,oo[139]=1,so[139]=0,ao[139]=1,uo[98]=0,lo[98]=-1,co[98]=0,ho[98]=0,po[98]=-1,fo[98]=1,_o[98]=1,mo[98]=0,xo[98]=0,go[98]=1,yo[98]=0,vo[98]=1,Eo[98]=0,bo[98]=1,wo[98]=0,no[98]=-1,ro[98]=0,io[98]=1,uo[99]=0,lo[99]=1,co[99]=0,ho[99]=0,po[99]=-1,fo[99]=1,_o[99]=1,mo[99]=0,xo[99]=0,go[99]=-1,yo[99]=0,vo[99]=1,Eo[99]=0,bo[99]=-1,wo[99]=0,no[99]=1,ro[99]=0,io[99]=1,ho[38]=0,po[38]=-1,fo[38]=1,_o[38]=1,mo[38]=0,xo[38]=0,Io[38]=0,No[38]=1,So[38]=1,Eo[38]=0,bo[38]=1,wo[38]=0,no[38]=-1,ro[38]=0,io[38]=1,oo[38]=-1,so[38]=0,ao[38]=0,ho[39]=0,po[39]=1,fo[39]=1,_o[39]=-1,mo[39]=0,xo[39]=0,Io[39]=0,No[39]=-1,So[39]=1,Eo[39]=0,bo[39]=1,wo[39]=0,no[39]=-1,ro[39]=0,io[39]=1,oo[39]=1,so[39]=0,ao[39]=0;var Co=function(t){return[[t.bottomleft,0],[0,0],[0,t.leftbottom]]},Po=function(t){return[[1,t.rightbottom],[1,0],[t.bottomright,0]]},Mo=function(t){return[[t.topright,1],[1,1],[1,t.righttop]]},Lo=function(t){return[[0,t.lefttop],[0,1],[t.topleft,1]]},Oo=function(t){return[[t.bottomright,0],[t.bottomleft,0],[0,t.leftbottom],[0,t.lefttop]]},Ro=function(t){return[[t.bottomright,0],[t.bottomleft,0],[1,t.righttop],[1,t.rightbottom]]},To=function(t){return[[1,t.righttop],[1,t.rightbottom],[t.topleft,1],[t.topright,1]]},Ao=function(t){return[[0,t.leftbottom],[0,t.lefttop],[t.topleft,1],[t.topright,1]]},Do=[],Fo=[],ko=[],Go=[],qo=[],Bo=[],zo=[],jo=[];Go[1]=qo[1]=18,Go[169]=qo[169]=18,ko[4]=Fo[4]=12,ko[166]=Fo[166]=12,Do[16]=jo[16]=4,Do[154]=jo[154]=4,Bo[64]=zo[64]=22,Bo[106]=zo[106]=22,ko[2]=Bo[2]=17,Go[2]=qo[2]=18,ko[168]=Bo[168]=17,Go[168]=qo[168]=18,Do[8]=Go[8]=9,Fo[8]=ko[8]=12,Do[162]=Go[162]=9,Fo[162]=ko[162]=12,Do[32]=jo[32]=4,Fo[32]=zo[32]=1,Do[138]=jo[138]=4,Fo[138]=zo[138]=1,qo[128]=jo[128]=21,Bo[128]=zo[128]=22,qo[42]=jo[42]=21,Bo[42]=zo[42]=22,Fo[5]=qo[5]=14,Fo[165]=qo[165]=14,ko[20]=jo[20]=6,ko[150]=jo[150]=6,Do[80]=Bo[80]=11,Do[90]=Bo[90]=11,Go[65]=zo[65]=3,Go[105]=zo[105]=3,Do[160]=Bo[160]=11,Fo[160]=qo[160]=14,Do[10]=Bo[10]=11,Fo[10]=qo[10]=14,ko[130]=jo[130]=6,Go[130]=zo[130]=3,ko[40]=jo[40]=6,Go[40]=zo[40]=3,Fo[101]=zo[101]=1,Fo[69]=zo[69]=1,qo[149]=jo[149]=21,qo[21]=jo[21]=21,ko[86]=Bo[86]=17,ko[84]=Bo[84]=17,Do[89]=Go[89]=9,Do[81]=Go[81]=9,Do[96]=zo[96]=0,Fo[96]=Bo[96]=15,Do[74]=zo[74]=0,Fo[74]=Bo[74]=15,Do[24]=ko[24]=8,Go[24]=jo[24]=7,Do[146]=ko[146]=8,Go[146]=jo[146]=7,Fo[6]=Bo[6]=15,ko[6]=qo[6]=16,Fo[164]=Bo[164]=15,ko[164]=qo[164]=16,Go[129]=jo[129]=7,qo[129]=zo[129]=20,Go[41]=jo[41]=7,qo[41]=zo[41]=20,ko[66]=zo[66]=2,Go[66]=Bo[66]=19,ko[104]=zo[104]=2,Go[104]=Bo[104]=19,Do[144]=qo[144]=10,Bo[144]=jo[144]=23,Do[26]=qo[26]=10,Bo[26]=jo[26]=23,Fo[36]=jo[36]=5,ko[36]=zo[36]=2,Fo[134]=jo[134]=5,ko[134]=zo[134]=2,Do[9]=qo[9]=10,Fo[9]=Go[9]=13,Do[161]=qo[161]=10,Fo[161]=Go[161]=13,Fo[37]=jo[37]=5,qo[37]=zo[37]=20,Fo[133]=jo[133]=5,qo[133]=zo[133]=20,ko[148]=qo[148]=16,Bo[148]=jo[148]=23,ko[22]=qo[22]=16,Bo[22]=jo[22]=23,Do[82]=ko[82]=8,Go[82]=Bo[82]=19,Do[88]=ko[88]=8,Go[88]=Bo[88]=19,Do[73]=zo[73]=0,Fo[73]=Go[73]=13,Do[97]=zo[97]=0,Fo[97]=Go[97]=13,Do[145]=Go[145]=9,qo[145]=jo[145]=21,Do[25]=Go[25]=9,qo[25]=jo[25]=21,Fo[70]=zo[70]=1,ko[70]=Bo[70]=17,Fo[100]=zo[100]=1,ko[100]=Bo[100]=17,Do[34]=Go[34]=9,Fo[34]=ko[34]=12,qo[34]=jo[34]=21,Bo[34]=zo[34]=22,Do[136]=jo[136]=4,Fo[136]=zo[136]=1,ko[136]=Bo[136]=17,Go[136]=qo[136]=18,Do[35]=jo[35]=4,Fo[35]=ko[35]=12,Go[35]=qo[35]=18,Bo[35]=zo[35]=22,Do[153]=jo[153]=4,Go[153]=qo[153]=18,Fo[102]=ko[102]=12,Bo[102]=zo[102]=22,Do[155]=Go[155]=9,qo[155]=jo[155]=23,Fo[103]=zo[103]=1,ko[103]=Bo[103]=17,Do[152]=jo[152]=4,ko[152]=Bo[152]=17,Go[152]=qo[152]=18,Do[156]=ko[156]=8,Go[156]=qo[156]=18,Bo[156]=jo[156]=23,Do[137]=jo[137]=4,Fo[137]=zo[137]=1,Go[137]=qo[137]=18,Do[139]=jo[139]=4,Fo[139]=Go[139]=13,qo[139]=zo[139]=20,Do[98]=Go[98]=9,Fo[98]=ko[98]=12,Bo[98]=zo[98]=22,Do[99]=zo[99]=0,Fo[99]=ko[99]=12,Go[99]=Bo[99]=19,Fo[38]=ko[38]=12,qo[38]=jo[38]=21,Bo[38]=zo[38]=22,Fo[39]=jo[39]=5,ko[39]=qo[39]=16,Bo[39]=zo[39]=22;var Uo=[];function Vo(t,e,n){return(t-e)/(n-e)}function Xo(t){return t.constructor.toString().indexOf(\"Array\")>-1}function Yo(t,e,n,r,i,o){for(var s=t.cells[n][e],a=s.cval_real,u=e+r,l=n+i,c=[],h=!1;!h;){if(void 0===t.cells[l]||void 0===t.cells[l][u])if(l-=i,u-=r,a=(s=t.cells[l][u]).cval_real,-1===i)if(0===o)if(1&a)c.push([u,l]),r=-1,i=0,o=0;else{if(!(4&a)){c.push([u+s.bottomright,l]),r=0,i=1,o=1,h=!0;break}c.push([u+1,l]),r=1,i=0,o=0}else{if(!(1&a)){if(4&a){c.push([u+s.bottomright,l]),r=0,i=1,o=1,h=!0;break}c.push([u+s.bottomleft,l]),r=0,i=1,o=0,h=!0;break}c.push([u,l]),r=-1,i=0,o=0}else if(1===i)if(0===o){if(!(a&eo)){if(a&to){c.push([u+s.topleft,l+1]),r=0,i=-1,o=0,h=!0;break}c.push([u+s.topright,l+1]),r=0,i=-1,o=1,h=!0;break}c.push([u+1,l+1]),r=1,i=0,o=1}else c.push([u+1,l+1]),r=1,i=0,o=1;else if(-1===r)if(0===o){if(!(a&to)){if(1&a){c.push([u,l+s.leftbottom]),r=1,i=0,o=0,h=!0;break}c.push([u,l+s.lefttop]),r=1,i=0,o=1,h=!0;break}c.push([u,l+1]),r=0,i=1,o=0}else{if(!(a&to)){console.log(\"MarchingSquaresJS-isoBands: wtf\");break}c.push([u,l+1]),r=0,i=1,o=0}else{if(1!==r){console.log(\"MarchingSquaresJS-isoBands: we came from nowhere!\");break}if(0===o){if(!(4&a)){c.push([u+1,l+s.rightbottom]),r=-1,i=0,o=0,h=!0;break}c.push([u+1,l]),r=0,i=-1,o=1}else{if(!(4&a)){if(a&eo){c.push([u+1,l+s.righttop]),r=-1,i=0,o=1;break}c.push([u+1,l+s.rightbottom]),r=-1,i=0,o=0,h=!0;break}c.push([u+1,l]),r=0,i=-1,o=1}}else if(a=(s=t.cells[l][u]).cval_real,-1===r)if(0===o)if(void 0!==t.cells[l-1]&&void 0!==t.cells[l-1][u])r=0,i=-1,o=1;else{if(!(1&a)){c.push([u+s.bottomright,l]),r=0,i=1,o=1,h=!0;break}c.push([u,l])}else{if(!(a&to)){console.log(\"MarchingSquaresJS-isoBands: found entry from top at \"+u+\",\"+l);break}console.log(\"MarchingSquaresJS-isoBands: proceeding in x-direction!\")}else if(1===r){if(0===o){console.log(\"MarchingSquaresJS-isoBands: wtf\");break}if(void 0!==t.cells[l+1]&&void 0!==t.cells[l+1][u])r=0,i=1,o=0;else{if(!(a&eo)){c.push([u+s.topleft,l+1]),r=0,i=-1,o=0,h=!0;break}c.push([u+1,l+1]),r=1,i=0,o=1}}else if(-1===i){if(1!==o){console.log(\"MarchingSquaresJS-isoBands: wtf\");break}if(void 0!==t.cells[l][u+1])r=1,i=0,o=1;else{if(!(4&a)){c.push([u+1,l+s.righttop]),r=-1,i=0,o=1,h=!0;break}c.push([u+1,l]),r=0,i=-1,o=1}}else{if(1!==i){console.log(\"MarchingSquaresJS-isoBands: where did we came from???\");break}if(0!==o){console.log(\"MarchingSquaresJS-isoBands: wtf\");break}if(void 0!==t.cells[l][u-1])r=-1,i=0,o=0;else{if(!(a&to)){c.push([u,l+s.leftbottom]),r=1,i=0,o=0,h=!0;break}c.push([u,l+1]),r=0,i=1,o=0}}if(l+=i,(u+=r)===e&&l===n)break}return{path:c,i:u,j:l,x:r,y:i,o:o}}function Ho(t){if(t.edges.length>0){var e=t.edges[t.edges.length-1],n=t.cval_real;switch(e){case 0:return n&eo?{p:[1,t.righttop],x:-1,y:0,o:1}:{p:[t.topleft,1],x:0,y:-1,o:0};case 1:return 4&n?{p:[t.topleft,1],x:0,y:-1,o:0}:{p:[1,t.rightbottom],x:-1,y:0,o:0};case 2:return 4&n?{p:[t.bottomright,0],x:0,y:1,o:1}:{p:[t.topleft,1],x:0,y:-1,o:0};case 3:return 1&n?{p:[t.topleft,1],x:0,y:-1,o:0}:{p:[t.bottomleft,0],x:0,y:1,o:0};case 4:return n&eo?{p:[1,t.righttop],x:-1,y:0,o:1}:{p:[t.topright,1],x:0,y:-1,o:1};case 5:return 4&n?{p:[t.topright,1],x:0,y:-1,o:1}:{p:[1,t.rightbottom],x:-1,y:0,o:0};case 6:return 4&n?{p:[t.bottomright,0],x:0,y:1,o:1}:{p:[t.topright,1],x:0,y:-1,o:1};case 7:return 1&n?{p:[t.topright,1],x:0,y:-1,o:1}:{p:[t.bottomleft,0],x:0,y:1,o:0};case 8:return 4&n?{p:[t.bottomright,0],x:0,y:1,o:1}:{p:[1,t.righttop],x:-1,y:0,o:1};case 9:return 1&n?{p:[1,t.righttop],x:-1,y:0,o:1}:{p:[t.bottomleft,0],x:0,y:1,o:0};case 10:return 1&n?{p:[0,t.leftbottom],x:1,y:0,o:0}:{p:[1,t.righttop],x:-1,y:0,o:1};case 11:return n&to?{p:[1,t.righttop],x:-1,y:0,o:1}:{p:[0,t.lefttop],x:1,y:0,o:1};case 12:return 4&n?{p:[t.bottomright,0],x:0,y:1,o:1}:{p:[1,t.rightbottom],x:-1,y:0,o:0};case 13:return 1&n?{p:[1,t.rightbottom],x:-1,y:0,o:0}:{p:[t.bottomleft,0],x:0,y:1,o:0};case 14:return 1&n?{p:[0,t.leftbottom],x:1,y:0,o:0}:{p:[1,t.rightbottom],x:-1,y:0,o:0};case 15:return n&to?{p:[1,t.rightbottom],x:-1,y:0,o:0}:{p:[0,t.lefttop],x:1,y:0,o:1};case 16:return 4&n?{p:[t.bottomright,0],x:0,y:1,o:1}:{p:[0,t.leftbottom],x:1,y:0,o:0};case 17:return n&to?{p:[t.bottomright,0],x:0,y:1,o:1}:{p:[0,t.lefttop],x:1,y:0,o:1};case 18:return 1&n?{p:[0,t.leftbottom],x:1,y:0,o:0}:{p:[t.bottomleft,0],x:0,y:1,o:0};case 19:return n&to?{p:[t.bottomleft,0],x:0,y:1,o:0}:{p:[0,t.lefttop],x:1,y:0,o:1};case 20:return n&to?{p:[t.topleft,1],x:0,y:-1,o:0}:{p:[0,t.leftbottom],x:1,y:0,o:0};case 21:return n&eo?{p:[0,t.leftbottom],x:1,y:0,o:0}:{p:[t.topright,1],x:0,y:-1,o:1};case 22:return n&to?{p:[t.topleft,1],x:0,y:-1,o:0}:{p:[0,t.lefttop],x:1,y:0,o:1};case 23:return n&eo?{p:[0,t.lefttop],x:1,y:0,o:1}:{p:[t.topright,1],x:0,y:-1,o:1};default:console.log(\"MarchingSquaresJS-isoBands: edge index out of range!\"),console.log(t)}}return null}function Wo(t,e,n,r){var i,o,s,a,u,l=t.cval;switch(e){case-1:switch(r){case 0:i=Fo[l],s=ho[l],a=po[l],u=fo[l];break;default:i=Do[l],s=uo[l],a=lo[l],u=co[l]}break;case 1:switch(r){case 0:i=qo[l],s=Io[l],a=No[l],u=So[l];break;default:i=Bo[l],s=Eo[l],a=bo[l],u=wo[l]}break;default:switch(n){case-1:switch(r){case 0:i=zo[l],s=no[l],a=ro[l],u=io[l];break;default:i=jo[l],s=oo[l],a=so[l],u=ao[l]}break;case 1:switch(r){case 0:i=Go[l],s=go[l],a=yo[l],u=vo[l];break;default:i=ko[l],s=_o[l],a=mo[l],u=xo[l]}}}if(o=t.edges.indexOf(i),void 0===t.edges[o])return null;switch(function(t,e){delete t.edges[e];for(var n=e+1;n<t.edges.length;n++)t.edges[n-1]=t.edges[n];t.edges.pop()}(t,o),l=t.cval_real,i){case 0:l&eo?(e=t.topleft,n=1):(e=1,n=t.righttop);break;case 1:4&l?(e=1,n=t.rightbottom):(e=t.topleft,n=1);break;case 2:4&l?(e=t.topleft,n=1):(e=t.bottomright,n=0);break;case 3:1&l?(e=t.bottomleft,n=0):(e=t.topleft,n=1);break;case 4:l&eo?(e=t.topright,n=1):(e=1,n=t.righttop);break;case 5:4&l?(e=1,n=t.rightbottom):(e=t.topright,n=1);break;case 6:4&l?(e=t.topright,n=1):(e=t.bottomright,n=0);break;case 7:1&l?(e=t.bottomleft,n=0):(e=t.topright,n=1);break;case 8:4&l?(e=1,n=t.righttop):(e=t.bottomright,n=0);break;case 9:1&l?(e=t.bottomleft,n=0):(e=1,n=t.righttop);break;case 10:1&l?(e=1,n=t.righttop):(e=0,n=t.leftbottom);break;case 11:l&to?(e=0,n=t.lefttop):(e=1,n=t.righttop);break;case 12:4&l?(e=1,n=t.rightbottom):(e=t.bottomright,n=0);break;case 13:1&l?(e=t.bottomleft,n=0):(e=1,n=t.rightbottom);break;case 14:1&l?(e=1,n=t.rightbottom):(e=0,n=t.leftbottom);break;case 15:l&to?(e=0,n=t.lefttop):(e=1,n=t.rightbottom);break;case 16:4&l?(e=0,n=t.leftbottom):(e=t.bottomright,n=0);break;case 17:l&to?(e=0,n=t.lefttop):(e=t.bottomright,n=0);break;case 18:1&l?(e=t.bottomleft,n=0):(e=0,n=t.leftbottom);break;case 19:l&to?(e=0,n=t.lefttop):(e=t.bottomleft,n=0);break;case 20:l&to?(e=0,n=t.leftbottom):(e=t.topleft,n=1);break;case 21:l&eo?(e=t.topright,n=1):(e=0,n=t.leftbottom);break;case 22:l&to?(e=0,n=t.lefttop):(e=t.topleft,n=1);break;case 23:l&eo?(e=t.topright,n=1):(e=0,n=t.lefttop);break;default:return console.log(\"MarchingSquaresJS-isoBands: edge index out of range!\"),console.log(t),null}return void 0!==e&&void 0!==n&&void 0!==s&&void 0!==a&&void 0!==u||(console.log(\"MarchingSquaresJS-isoBands: undefined value!\"),console.log(t),console.log(e+\" \"+n+\" \"+s+\" \"+a+\" \"+u)),{p:[e,n],x:s,y:a,o:u}}function Jo(t){var e=[],n=[];t.forEach((function(t){var r=jr(l([t]));n.push(r),e.push({ring:t,area:r})})),n.sort((function(t,e){return e-t}));var r=[];return n.forEach((function(t){for(var n=0;n<e.length;n++)if(e[n].area===t){r.push(e[n].ring),e.splice(n,1);break}})),r}function Zo(t){for(var e=t.map((function(t){return{lrCoordinates:t,grouped:!1}})),n=[];!Qo(e);)for(var r=0;r<e.length;r++)if(!e[r].grouped){var i=[];i.push(e[r].lrCoordinates),e[r].grouped=!0;for(var o=l([e[r].lrCoordinates]),s=r+1;s<e.length;s++){if(!e[s].grouped)Ko(l([e[s].lrCoordinates]),o)&&(i.push(e[s].lrCoordinates),e[s].grouped=!0)}n.push(i)}return n}function Ko(t,e){for(var n=bn(t),r=0;r<n.features.length;r++)if(!ye(n.features[r],e))return!1;return!0}function Qo(t){for(var e=0;e<t.length;e++)if(!1===t[e].grouped)return!1;return!0}function $o(t,e,n){if(!P(n=n||{}))throw new Error(\"options is invalid\");var r=n.pivot,i=n.mutate;if(!t)throw new Error(\"geojson is required\");if(null==e||isNaN(e))throw new Error(\"angle is required\");return 0===e||(r||(r=En(t)),!1!==i&&void 0!==i||(t=Ie(t)),R(t,(function(t){var n=Bi(r,t)+e,i=Ar(r,t),o=Q(ji(r,i,n));t[0]=o[0],t[1]=o[1]}))),t}function ts(t,e,n){if(!P(n=n||{}))throw new Error(\"options is invalid\");var r=n.origin,i=n.mutate;if(!t)throw new Error(\"geojson required\");if(\"number\"!=typeof e||0===e)throw new Error(\"invalid factor\");var o=Array.isArray(r)||\"object\"==typeof r;return!0!==i&&(t=Ie(t)),\"FeatureCollection\"!==t.type||o?es(t,e,r):(F(t,(function(n,i){t.features[i]=es(n,e,r)})),t)}function es(t,e,n){var r=\"Point\"===it(t);return n=function(t,e){null==e&&(e=\"centroid\");if(Array.isArray(e)||\"object\"==typeof e)return K(e);var n=t.bbox?t.bbox:Z(t),r=n[0],i=n[1],o=n[2],s=n[3];switch(e){case\"sw\":case\"southwest\":case\"westsouth\":case\"bottomleft\":return a([r,i]);case\"se\":case\"southeast\":case\"eastsouth\":case\"bottomright\":return a([o,i]);case\"nw\":case\"northwest\":case\"westnorth\":case\"topleft\":return a([r,s]);case\"ne\":case\"northeast\":case\"eastnorth\":case\"topright\":return a([o,s]);case\"center\":return xn(t);case void 0:case null:case\"centroid\":return En(t);default:throw new Error(\"invalid origin\")}}(t,n),1===e||r||R(t,(function(t){var r=Ar(n,t),i=Bi(n,t),o=Q(ji(n,r*e,i));t[0]=o[0],t[1]=o[1],3===t.length&&(t[2]*=e)})),t}function ns(t){var e=t[0],n=t[1];return[n[0]-e[0],n[1]-e[1]]}function rs(t,e){return t[0]*e[1]-e[0]*t[1]}function is(t,e){return!function(t,e){return 0===rs(ns(t),ns(e))}(t,e)&&function(t,e){var n,r,i=t[0],o=ns(t),s=e[0],a=ns(e),u=rs(o,a);return function(t,e){return[t[0]+e[0],t[1]+e[1]]}(i,function(t,e){return[t*e[0],t*e[1]]}(rs((r=i,[(n=s)[0]-r[0],n[1]-r[1]]),a)/u,o))}(t,e)}function os(t,e,n){var r=[],i=E(e,n),o=Q(t),s=[];return o.forEach((function(t,e){if(e!==o.length-1){var n=(l=t,c=o[e+1],h=i,p=Math.sqrt((l[0]-c[0])*(l[0]-c[0])+(l[1]-c[1])*(l[1]-c[1])),f=l[0]+h*(c[1]-l[1])/p,g=c[0]+h*(c[1]-l[1])/p,d=l[1]+h*(l[0]-c[0])/p,y=c[1]+h*(l[0]-c[0])/p,[[f,d],[g,y]]);if(r.push(n),e>0){var a=r[e-1],u=is(n,a);!1!==u&&(a[1]=u,n[0]=u),s.push(a[0]),e===o.length-2&&(s.push(n[0]),s.push(n[1]))}2===o.length&&(s.push(n[0]),s.push(n[1]))}var l,c,h,p,f,g,d,y})),h(s,t.properties)}function ss(t,e,n){var r=e[0]-t[0],i=e[1]-t[1],o=n[0]-e[0];return function(t){return(t>0)-(t<0)||+t}(r*(n[1]-e[1])-o*i)}function as(t,e){return e.geometry.coordinates[0].every((function(e){return ye(a(e),t)}))}Uo[1]=Uo[169]=Co,Uo[4]=Uo[166]=Po,Uo[16]=Uo[154]=Mo,Uo[64]=Uo[106]=Lo,Uo[168]=Uo[2]=Oo,Uo[162]=Uo[8]=Ro,Uo[138]=Uo[32]=To,Uo[42]=Uo[128]=Ao,Uo[5]=Uo[165]=function(t){return[[0,0],[0,t.leftbottom],[1,t.rightbottom],[1,0]]},Uo[20]=Uo[150]=function(t){return[[1,0],[t.bottomright,0],[t.topright,1],[1,1]]},Uo[80]=Uo[90]=function(t){return[[1,1],[1,t.righttop],[0,t.lefttop],[0,1]]},Uo[65]=Uo[105]=function(t){return[[t.bottomleft,0],[0,0],[0,1],[t.topleft,1]]},Uo[160]=Uo[10]=function(t){return[[1,t.righttop],[1,t.rightbottom],[0,t.leftbottom],[0,t.lefttop]]},Uo[130]=Uo[40]=function(t){return[[t.topleft,1],[t.topright,1],[t.bottomright,0],[t.bottomleft,0]]},Uo[85]=function(){return[[0,0],[0,1],[1,1],[1,0]]},Uo[101]=Uo[69]=function(t){return[[1,t.rightbottom],[1,0],[0,0],[0,1],[t.topleft,1]]},Uo[149]=Uo[21]=function(t){return[[t.topright,1],[1,1],[1,0],[0,0],[0,t.leftbottom]]},Uo[86]=Uo[84]=function(t){return[[1,0],[t.bottomright,0],[0,t.lefttop],[0,1],[1,1]]},Uo[89]=Uo[81]=function(t){return[[1,1],[1,t.righttop],[t.bottomleft,0],[0,0],[0,1]]},Uo[96]=Uo[74]=function(t){return[[1,t.righttop],[1,t.rightbottom],[0,t.lefttop],[0,1],[t.topleft,1]]},Uo[24]=Uo[146]=function(t){return[[1,1],[1,t.righttop],[t.bottomright,0],[t.bottomleft,0],[t.topright,1]]},Uo[6]=Uo[164]=function(t){return[[1,t.rightbottom],[1,0],[t.bottomright,0],[0,t.leftbottom],[0,t.lefttop]]},Uo[129]=Uo[41]=function(t){return[[t.topright,1],[t.bottomleft,0],[0,0],[0,t.leftbottom],[t.topleft,1]]},Uo[66]=Uo[104]=function(t){return[[t.bottomright,0],[t.bottomleft,0],[0,t.lefttop],[0,1],[t.topleft,1]]},Uo[144]=Uo[26]=function(t){return[[1,1],[1,t.righttop],[0,t.leftbottom],[0,t.lefttop],[t.topright,1]]},Uo[36]=Uo[134]=function(t){return[[1,t.rightbottom],[1,0],[t.bottomright,0],[t.topleft,1],[t.topright,1]]},Uo[9]=Uo[161]=function(t){return[[1,t.righttop],[1,t.rightbottom],[t.bottomleft,0],[0,0],[0,t.leftbottom]]},Uo[37]=Uo[133]=function(t){return[[1,t.rightbottom],[1,0],[0,0],[0,t.leftbottom],[t.topleft,1],[t.topright,1]]},Uo[148]=Uo[22]=function(t){return[[1,1],[1,0],[t.bottomright,0],[0,t.leftbottom],[0,t.lefttop],[t.topright,1]]},Uo[82]=Uo[88]=function(t){return[[1,1],[1,t.righttop],[t.bottomright,0],[t.bottomleft,0],[0,t.lefttop],[0,1]]},Uo[73]=Uo[97]=function(t){return[[1,t.righttop],[1,t.rightbottom],[t.bottomleft,0],[0,0],[0,1],[t.topleft,1]]},Uo[145]=Uo[25]=function(t){return[[1,1],[1,t.righttop],[t.bottomleft,0],[0,0],[0,t.leftbottom],[t.topright,1]]},Uo[70]=Uo[100]=function(t){return[[1,t.rightbottom],[1,0],[t.bottomright,0],[0,t.lefttop],[0,1],[t.topleft,1]]},Uo[34]=function(t){return[Ao(t),Ro(t)]},Uo[35]=function(t){return[[1,t.righttop],[1,t.rightbottom],[t.bottomright,0],[t.bottomleft,0],[0,t.leftbottom],[0,t.lefttop],[t.topleft,1],[t.topright,1]]},Uo[136]=function(t){return[To(t),Oo(t)]},Uo[153]=function(t){return[Mo(t),Co(t)]},Uo[102]=function(t){return[Po(t),Lo(t)]},Uo[155]=function(t){return[[1,1],[1,t.righttop],[t.bottomleft,0],[0,0],[0,t.leftbottom],[t.topright,1]]},Uo[103]=function(t){return[[1,t.rightbottom],[1,0],[t.bottomright,0],[0,t.lefttop],[0,1],[t.topleft,1]]},Uo[152]=function(t){return[Mo(t),Oo(t)]},Uo[156]=function(t){return[[1,1],[1,t.righttop],[t.bottomright,0],[t.bottomleft,0],[0,t.leftbottom],[0,t.lefttop],[t.topright,1]]},Uo[137]=function(t){return[To(t),Co(t)]},Uo[139]=function(t){return[[1,t.righttop],[1,t.rightbottom],[t.bottomleft,0],[0,0],[0,t.leftbottom],[t.topleft,1],[t.topright,1]]},Uo[98]=function(t){return[Ro(t),Lo(t)]},Uo[99]=function(t){return[[1,t.righttop],[1,t.rightbottom],[t.bottomright,0],[t.bottomleft,0],[0,t.lefttop],[0,1],[t.topleft,1]]},Uo[38]=function(t){return[Po(t),Ao(t)]},Uo[39]=function(t){return[[1,t.rightbottom],[1,0],[t.bottomright,0],[0,t.leftbottom],[0,t.lefttop],[t.topleft,1],[t.topright,1]]};var us=function(){function t(e){this.id=t.buildId(e),this.coordinates=e,this.innerEdges=[],this.outerEdges=[],this.outerEdgesSorted=!1}return t.buildId=function(t){return t.join(\",\")},t.prototype.removeInnerEdge=function(t){this.innerEdges=this.innerEdges.filter((function(e){return e.from.id!==t.from.id}))},t.prototype.removeOuterEdge=function(t){this.outerEdges=this.outerEdges.filter((function(e){return e.to.id!==t.to.id}))},t.prototype.addOuterEdge=function(t){this.outerEdges.push(t),this.outerEdgesSorted=!1},t.prototype.sortOuterEdges=function(){var t=this;this.outerEdgesSorted||(this.outerEdges.sort((function(e,n){var r=e.to,i=n.to;if(r.coordinates[0]-t.coordinates[0]>=0&&i.coordinates[0]-t.coordinates[0]<0)return 1;if(r.coordinates[0]-t.coordinates[0]<0&&i.coordinates[0]-t.coordinates[0]>=0)return-1;if(r.coordinates[0]-t.coordinates[0]==0&&i.coordinates[0]-t.coordinates[0]==0)return r.coordinates[1]-t.coordinates[1]>=0||i.coordinates[1]-t.coordinates[1]>=0?r.coordinates[1]-i.coordinates[1]:i.coordinates[1]-r.coordinates[1];var o=ss(t.coordinates,r.coordinates,i.coordinates);return o<0?1:o>0?-1:Math.pow(r.coordinates[0]-t.coordinates[0],2)+Math.pow(r.coordinates[1]-t.coordinates[1],2)-(Math.pow(i.coordinates[0]-t.coordinates[0],2)+Math.pow(i.coordinates[1]-t.coordinates[1],2))})),this.outerEdgesSorted=!0)},t.prototype.getOuterEdges=function(){return this.sortOuterEdges(),this.outerEdges},t.prototype.getOuterEdge=function(t){return this.sortOuterEdges(),this.outerEdges[t]},t.prototype.addInnerEdge=function(t){this.innerEdges.push(t)},t}(),ls=function(){function t(t,e){this.from=t,this.to=e,this.next=void 0,this.label=void 0,this.symetric=void 0,this.ring=void 0,this.from.addOuterEdge(this),this.to.addInnerEdge(this)}return t.prototype.getSymetric=function(){return this.symetric||(this.symetric=new t(this.to,this.from),this.symetric.symetric=this),this.symetric},t.prototype.deleteEdge=function(){this.from.removeOuterEdge(this),this.to.removeInnerEdge(this)},t.prototype.isEqual=function(t){return this.from.id===t.from.id&&this.to.id===t.to.id},t.prototype.toString=function(){return\"Edge { \"+this.from.id+\" -> \"+this.to.id+\" }\"},t.prototype.toLineString=function(){return h([this.from.coordinates,this.to.coordinates])},t.prototype.compareTo=function(t){return ss(t.from.coordinates,t.to.coordinates,this.to.coordinates)},t}(),cs=function(){function t(){this.edges=[],this.polygon=void 0,this.envelope=void 0}return t.prototype.push=function(t){this.edges.push(t),this.polygon=this.envelope=void 0},t.prototype.get=function(t){return this.edges[t]},Object.defineProperty(t.prototype,\"length\",{get:function(){return this.edges.length},enumerable:!0,configurable:!0}),t.prototype.forEach=function(t){this.edges.forEach(t)},t.prototype.map=function(t){return this.edges.map(t)},t.prototype.some=function(t){return this.edges.some(t)},t.prototype.isValid=function(){return!0},t.prototype.isHole=function(){var t=this,e=this.edges.reduce((function(e,n,r){return n.from.coordinates[1]>t.edges[e].from.coordinates[1]&&(e=r),e}),0),n=(0===e?this.length:e)-1,r=(e+1)%this.length,i=ss(this.edges[n].from.coordinates,this.edges[e].from.coordinates,this.edges[r].from.coordinates);return 0===i?this.edges[n].from.coordinates[0]>this.edges[r].from.coordinates[0]:i>0},t.prototype.toMultiPoint=function(){return d(this.edges.map((function(t){return t.from.coordinates})))},t.prototype.toPolygon=function(){if(this.polygon)return this.polygon;var t=this.edges.map((function(t){return t.from.coordinates}));return t.push(this.edges[0].from.coordinates),this.polygon=l([t])},t.prototype.getEnvelope=function(){return this.envelope?this.envelope:this.envelope=dn(this.toPolygon())},t.findEdgeRingContaining=function(t,e){var n,r,i=t.getEnvelope();return e.forEach((function(e){var o,s,u,l,c,h,p=e.getEnvelope();if((r&&(n=r.getEnvelope()),s=i,u=(o=p).geometry.coordinates[0].map((function(t){return t[0]})),l=o.geometry.coordinates[0].map((function(t){return t[1]})),c=s.geometry.coordinates[0].map((function(t){return t[0]})),h=s.geometry.coordinates[0].map((function(t){return t[1]})),Math.max.apply(null,u)!==Math.max.apply(null,c)||Math.max.apply(null,l)!==Math.max.apply(null,h)||Math.min.apply(null,u)!==Math.min.apply(null,c)||Math.min.apply(null,l)!==Math.min.apply(null,h))&&as(p,i)){for(var f=t.map((function(t){return t.from.coordinates})),g=void 0,d=function(t){e.some((function(e){return n=t,r=e.from.coordinates,n[0]===r[0]&&n[1]===r[1];var n,r}))||(g=t)},y=0,v=f;y<v.length;y++){d(v[y])}g&&e.inside(a(g))&&(r&&!as(n,p)||(r=e))}})),r},t.prototype.inside=function(t){return ye(t,this.toPolygon())},t}();var hs=function(){function t(){this.edges=[],this.nodes={}}return t.fromGeoJson=function(e){!function(t){if(!t)throw new Error(\"No geojson passed\");if(\"FeatureCollection\"!==t.type&&\"GeometryCollection\"!==t.type&&\"MultiLineString\"!==t.type&&\"LineString\"!==t.type&&\"Feature\"!==t.type)throw new Error(\"Invalid input type '\"+t.type+\"'. Geojson must be FeatureCollection, GeometryCollection, LineString, MultiLineString or Feature\")}(e);var n=new t;return z(e,(function(t){et(t,\"LineString\",\"Graph::fromGeoJson\"),T(t,(function(t,e){if(t){var r=n.getNode(t),i=n.getNode(e);n.addEdge(r,i)}return e}))})),n},t.prototype.getNode=function(t){var e=us.buildId(t),n=this.nodes[e];return n||(n=this.nodes[e]=new us(t)),n},t.prototype.addEdge=function(t,e){var n=new ls(t,e),r=n.getSymetric();this.edges.push(n),this.edges.push(r)},t.prototype.deleteDangles=function(){var t=this;Object.keys(this.nodes).map((function(e){return t.nodes[e]})).forEach((function(e){return t._removeIfDangle(e)}))},t.prototype._removeIfDangle=function(t){var e=this;if(t.innerEdges.length<=1){var n=t.getOuterEdges().map((function(t){return t.to}));this.removeNode(t),n.forEach((function(t){return e._removeIfDangle(t)}))}},t.prototype.deleteCutEdges=function(){var t=this;this._computeNextCWEdges(),this._findLabeledEdgeRings(),this.edges.forEach((function(e){e.label===e.symetric.label&&(t.removeEdge(e.symetric),t.removeEdge(e))}))},t.prototype._computeNextCWEdges=function(t){var e=this;void 0===t?Object.keys(this.nodes).forEach((function(t){return e._computeNextCWEdges(e.nodes[t])})):t.getOuterEdges().forEach((function(e,n){t.getOuterEdge((0===n?t.getOuterEdges().length:n)-1).symetric.next=e}))},t.prototype._computeNextCCWEdges=function(t,e){for(var n,r,i=t.getOuterEdges(),o=i.length-1;o>=0;--o){var s=i[o],a=s.symetric,u=void 0,l=void 0;s.label===e&&(u=s),a.label===e&&(l=a),u&&l&&(l&&(r=l),u&&(r&&(r.next=u,r=void 0),n||(n=u)))}r&&(r.next=n)},t.prototype._findLabeledEdgeRings=function(){var t=[],e=0;return this.edges.forEach((function(n){if(!(n.label>=0)){t.push(n);var r=n;do{r.label=e,r=r.next}while(!n.isEqual(r));e++}})),t},t.prototype.getEdgeRings=function(){var t=this;this._computeNextCWEdges(),this.edges.forEach((function(t){t.label=void 0})),this._findLabeledEdgeRings().forEach((function(e){t._findIntersectionNodes(e).forEach((function(n){t._computeNextCCWEdges(n,e.label)}))}));var e=[];return this.edges.forEach((function(n){n.ring||e.push(t._findEdgeRing(n))})),e},t.prototype._findIntersectionNodes=function(t){var e=[],n=t,r=function(){var r=0;n.from.getOuterEdges().forEach((function(e){e.label===t.label&&++r})),r>1&&e.push(n.from),n=n.next};do{r()}while(!t.isEqual(n));return e},t.prototype._findEdgeRing=function(t){var e=t,n=new cs;do{n.push(e),e.ring=n,e=e.next}while(!t.isEqual(e));return n},t.prototype.removeNode=function(t){var e=this;t.getOuterEdges().forEach((function(t){return e.removeEdge(t)})),t.innerEdges.forEach((function(t){return e.removeEdge(t)})),delete this.nodes[t.id]},t.prototype.removeEdge=function(t){this.edges=this.edges.filter((function(e){return!e.isEqual(t)})),t.deleteEdge()},t}();function ps(t,e){var n=!0;return z(t,(function(t){z(e,(function(e){if(!1===n)return!1;n=function(t,e){switch(t.type){case\"Point\":switch(e.type){case\"Point\":return n=t.coordinates,r=e.coordinates,!(n[0]===r[0]&&n[1]===r[1]);case\"LineString\":return!fs(e,t);case\"Polygon\":return!ye(t,e)}break;case\"LineString\":switch(e.type){case\"Point\":return!fs(t,e);case\"LineString\":return!function(t,e){if(Or(t,e).features.length>0)return!0;return!1}(t,e);case\"Polygon\":return!gs(e,t)}break;case\"Polygon\":switch(e.type){case\"Point\":return!ye(e,t);case\"LineString\":return!gs(t,e);case\"Polygon\":return!function(t,e){for(var n=0,r=t.coordinates[0];n<r.length;n++){if(ye(r[n],e))return!0}for(var i=0,o=e.coordinates[0];i<o.length;i++){if(ye(o[i],t))return!0}if(Or(Ii(t),Ii(e)).features.length>0)return!0;return!1}(e,t)}}var n,r;return!1}(t.geometry,e.geometry)}))})),n}function fs(t,e){for(var n=0;n<t.coordinates.length-1;n++)if(ds(t.coordinates[n],t.coordinates[n+1],e.coordinates))return!0;return!1}function gs(t,e){for(var n=0,r=e.coordinates;n<r.length;n++){if(ye(r[n],t))return!0}return Or(e,Ii(t)).features.length>0}function ds(t,e,n){var r=n[0]-t[0],i=n[1]-t[1],o=e[0]-t[0],s=e[1]-t[1];return 0==r*s-i*o&&(Math.abs(o)>=Math.abs(s)?o>0?t[0]<=n[0]&&n[0]<=e[0]:e[0]<=n[0]&&n[0]<=t[0]:s>0?t[1]<=n[1]&&n[1]<=e[1]:e[1]<=n[1]&&n[1]<=t[1])}function ys(t,e){return!(t[0]>e[0])&&(!(t[2]<e[2])&&(!(t[1]>e[1])&&!(t[3]<e[3])))}function vs(t,e){return t[0]===e[0]&&t[1]===e[1]}function _s(t,e){return[(t[0]+e[0])/2,(t[1]+e[1])/2]}function ms(t,e){for(var n=!1,r=!1,i=t.coordinates.length,o=0;o<i&&!n&&!r;){for(var s=0;s<e.coordinates.length-1;s++){var a=!0;0!==s&&s!==e.coordinates.length-2||(a=!1),bs(e.coordinates[s],e.coordinates[s+1],t.coordinates[o],a)?n=!0:r=!0}o++}return n&&r}function xs(t,e){return Or(t,Ni(e)).features.length>0}function Es(t,e){for(var n=!1,r=!1,i=t.coordinates.length,o=0;o<i&&(!n||!r);o++)ye(a(t.coordinates[o]),e)?n=!0:r=!0;return r&&n}function bs(t,e,n,r){var i=n[0]-t[0],o=n[1]-t[1],s=e[0]-t[0],a=e[1]-t[1];return 0==i*a-o*s&&(r?Math.abs(s)>=Math.abs(a)?s>0?t[0]<=n[0]&&n[0]<=e[0]:e[0]<=n[0]&&n[0]<=t[0]:a>0?t[1]<=n[1]&&n[1]<=e[1]:e[1]<=n[1]&&n[1]<=t[1]:Math.abs(s)>=Math.abs(a)?s>0?t[0]<n[0]&&n[0]<e[0]:e[0]<n[0]&&n[0]<t[0]:a>0?t[1]<n[1]&&n[1]<e[1]:e[1]<n[1]&&n[1]<t[1])}var ws=function(t){this.precision=t&&t.precision?t.precision:17,this.direction=!(!t||!t.direction)&&t.direction,this.pseudoNode=!(!t||!t.pseudoNode)&&t.pseudoNode,this.objectComparator=t&&t.objectComparator?t.objectComparator:Ss};function Is(t){return t.coordinates.map((function(e){return{type:t.type.replace(\"Multi\",\"\"),coordinates:e}}))}function Ns(t,e){return t.hasOwnProperty(\"coordinates\")?t.coordinates.length===e.coordinates.length:t.length===e.length}function Ss(t,e){return Fi(t,e,{strict:!0})}ws.prototype.compare=function(t,e){if(t.type!==e.type||!Ns(t,e))return!1;switch(t.type){case\"Point\":return this.compareCoord(t.coordinates,e.coordinates);case\"LineString\":return this.compareLine(t.coordinates,e.coordinates,0,!1);case\"Polygon\":return this.comparePolygon(t,e);case\"Feature\":return this.compareFeature(t,e);default:if(0===t.type.indexOf(\"Multi\")){var n=this,r=Is(t),i=Is(e);return r.every((function(t){return this.some((function(e){return n.compare(t,e)}))}),i)}}return!1},ws.prototype.compareCoord=function(t,e){if(t.length!==e.length)return!1;for(var n=0;n<t.length;n++)if(t[n].toFixed(this.precision)!==e[n].toFixed(this.precision))return!1;return!0},ws.prototype.compareLine=function(t,e,n,r){if(!Ns(t,e))return!1;var i=this.pseudoNode?t:this.removePseudo(t),o=this.pseudoNode?e:this.removePseudo(e);if(!r||this.compareCoord(i[0],o[0])||(o=this.fixStartIndex(o,i))){var s=this.compareCoord(i[n],o[n]);return this.direction||s?this.comparePath(i,o):!!this.compareCoord(i[n],o[o.length-(1+n)])&&this.comparePath(i.slice().reverse(),o)}},ws.prototype.fixStartIndex=function(t,e){for(var n,r=-1,i=0;i<t.length;i++)if(this.compareCoord(t[i],e[0])){r=i;break}return r>=0&&(n=[].concat(t.slice(r,t.length),t.slice(1,r+1))),n},ws.prototype.comparePath=function(t,e){var n=this;return t.every((function(t,e){return n.compareCoord(t,this[e])}),e)},ws.prototype.comparePolygon=function(t,e){if(this.compareLine(t.coordinates[0],e.coordinates[0],1,!0)){var n=t.coordinates.slice(1,t.coordinates.length),r=e.coordinates.slice(1,e.coordinates.length),i=this;return n.every((function(t){return this.some((function(e){return i.compareLine(t,e,1,!0)}))}),r)}return!1},ws.prototype.compareFeature=function(t,e){return!(t.id!==e.id||!this.objectComparator(t.properties,e.properties)||!this.compareBBox(t,e))&&this.compare(t.geometry,e.geometry)},ws.prototype.compareBBox=function(t,e){return!!(!t.bbox&&!e.bbox||t.bbox&&e.bbox&&this.compareCoord(t.bbox,e.bbox))},ws.prototype.removePseudo=function(t){return t};var Cs=ws;function Ps(t,e){var n=!1;return z(t,(function(t){z(e,(function(e){if(!0===n)return!0;n=!ps(t.geometry,e.geometry)}))})),n}var Ms=Bt((function(t){function e(t,e,n,r){this.dataset=[],this.epsilon=1,this.minPts=2,this.distance=this._euclideanDistance,this.clusters=[],this.noise=[],this._visited=[],this._assigned=[],this._datasetLength=0,this._init(t,e,n,r)}e.prototype.run=function(t,e,n,r){this._init(t,e,n,r);for(var i=0;i<this._datasetLength;i++)if(1!==this._visited[i]){this._visited[i]=1;var o=this._regionQuery(i);if(o.length<this.minPts)this.noise.push(i);else{var s=this.clusters.length;this.clusters.push([]),this._addToCluster(i,s),this._expandCluster(s,o)}}return this.clusters},e.prototype._init=function(t,e,n,r){if(t){if(!(t instanceof Array))throw Error(\"Dataset must be of type array, \"+typeof t+\" given\");this.dataset=t,this.clusters=[],this.noise=[],this._datasetLength=t.length,this._visited=new Array(this._datasetLength),this._assigned=new Array(this._datasetLength)}e&&(this.epsilon=e),n&&(this.minPts=n),r&&(this.distance=r)},e.prototype._expandCluster=function(t,e){for(var n=0;n<e.length;n++){var r=e[n];if(1!==this._visited[r]){this._visited[r]=1;var i=this._regionQuery(r);i.length>=this.minPts&&(e=this._mergeArrays(e,i))}1!==this._assigned[r]&&this._addToCluster(r,t)}},e.prototype._addToCluster=function(t,e){this.clusters[e].push(t),this._assigned[t]=1},e.prototype._regionQuery=function(t){for(var e=[],n=0;n<this._datasetLength;n++){this.distance(this.dataset[t],this.dataset[n])<this.epsilon&&e.push(n)}return e},e.prototype._mergeArrays=function(t,e){for(var n=e.length,r=0;r<n;r++){var i=e[r];t.indexOf(i)<0&&t.push(i)}return t},e.prototype._euclideanDistance=function(t,e){for(var n=0,r=Math.min(t.length,e.length);r--;)n+=(t[r]-e[r])*(t[r]-e[r]);return Math.sqrt(n)},t.exports&&(t.exports=e)})),Ls=Bt((function(t){function e(t,e,n){this.k=3,this.dataset=[],this.assignments=[],this.centroids=[],this.init(t,e,n)}e.prototype.init=function(t,e,n){this.assignments=[],this.centroids=[],void 0!==t&&(this.dataset=t),void 0!==e&&(this.k=e),void 0!==n&&(this.distance=n)},e.prototype.run=function(t,e){this.init(t,e);for(var n=this.dataset.length,r=0;r<this.k;r++)this.centroids[r]=this.randomCentroid();for(var i=!0;i;){i=this.assign();for(var o=0;o<this.k;o++){for(var s=new Array(c),a=0,u=0;u<c;u++)s[u]=0;for(var l=0;l<n;l++){var c=this.dataset[l].length;if(o===this.assignments[l]){for(u=0;u<c;u++)s[u]+=this.dataset[l][u];a++}}if(a>0){for(u=0;u<c;u++)s[u]/=a;this.centroids[o]=s}else this.centroids[o]=this.randomCentroid(),i=!0}}return this.getClusters()},e.prototype.randomCentroid=function(){var t,e,n=this.dataset.length-1;do{e=Math.round(Math.random()*n),t=this.dataset[e]}while(this.centroids.indexOf(t)>=0);return t},e.prototype.assign=function(){for(var t,e=!1,n=this.dataset.length,r=0;r<n;r++)(t=this.argmin(this.dataset[r],this.centroids,this.distance))!=this.assignments[r]&&(this.assignments[r]=t,e=!0);return e},e.prototype.getClusters=function(){for(var t,e=new Array(this.k),n=0;n<this.assignments.length;n++)void 0===e[t=this.assignments[n]]&&(e[t]=[]),e[t].push(n);return e},e.prototype.argmin=function(t,e,n){for(var r,i=Number.MAX_VALUE,o=0,s=e.length,a=0;a<s;a++)(r=n(t,e[a]))<i&&(i=r,o=a);return o},e.prototype.distance=function(t,e){for(var n=0,r=Math.min(t.length,e.length);r--;){var i=t[r]-e[r];n+=i*i}return Math.sqrt(n)},t.exports&&(t.exports=e)})),Os=Bt((function(t){function e(t,e,n){this._queue=[],this._priorities=[],this._sorting=\"desc\",this._init(t,e,n)}e.prototype.insert=function(t,e){for(var n=this._queue.length,r=n;r--;){var i=this._priorities[r];\"desc\"===this._sorting?e>i&&(n=r):e<i&&(n=r)}this._insertAt(t,e,n)},e.prototype.remove=function(t){for(var e=this._queue.length;e--;){if(t===this._queue[e]){this._queue.splice(e,1),this._priorities.splice(e,1);break}}},e.prototype.forEach=function(t){this._queue.forEach(t)},e.prototype.getElements=function(){return this._queue},e.prototype.getElementPriority=function(t){return this._priorities[t]},e.prototype.getPriorities=function(){return this._priorities},e.prototype.getElementsWithPriorities=function(){for(var t=[],e=0,n=this._queue.length;e<n;e++)t.push([this._queue[e],this._priorities[e]]);return t},e.prototype._init=function(t,e,n){if(t&&e){if(this._queue=[],this._priorities=[],t.length!==e.length)throw new Error(\"Arrays must have the same length\");for(var r=0;r<t.length;r++)this.insert(t[r],e[r])}n&&(this._sorting=n)},e.prototype._insertAt=function(t,e,n){this._queue.length===n?(this._queue.push(t),this._priorities.push(e)):(this._queue.splice(n,0,t),this._priorities.splice(n,0,e))},t.exports&&(t.exports=e)})),Rs=Bt((function(t){if(t.exports)var e=Os;function n(t,e,n,r){this.epsilon=1,this.minPts=1,this.distance=this._euclideanDistance,this._reachability=[],this._processed=[],this._coreDistance=0,this._orderedList=[],this._init(t,e,n,r)}n.prototype.run=function(t,n,r,i){this._init(t,n,r,i);for(var o=0,s=this.dataset.length;o<s;o++)if(1!==this._processed[o]){this._processed[o]=1,this.clusters.push([o]);var a=this.clusters.length-1;this._orderedList.push(o);var u=new e(null,null,\"asc\"),l=this._regionQuery(o);void 0!==this._distanceToCore(o)&&(this._updateQueue(o,l,u),this._expandCluster(a,u))}return this.clusters},n.prototype.getReachabilityPlot=function(){for(var t=[],e=0,n=this._orderedList.length;e<n;e++){var r=this._orderedList[e],i=this._reachability[r];t.push([r,i])}return t},n.prototype._init=function(t,e,n,r){if(t){if(!(t instanceof Array))throw Error(\"Dataset must be of type array, \"+typeof t+\" given\");this.dataset=t,this.clusters=[],this._reachability=new Array(this.dataset.length),this._processed=new Array(this.dataset.length),this._coreDistance=0,this._orderedList=[]}e&&(this.epsilon=e),n&&(this.minPts=n),r&&(this.distance=r)},n.prototype._updateQueue=function(t,e,n){var r=this;this._coreDistance=this._distanceToCore(t),e.forEach((function(e){if(void 0===r._processed[e]){var i=r.distance(r.dataset[t],r.dataset[e]),o=Math.max(r._coreDistance,i);void 0===r._reachability[e]?(r._reachability[e]=o,n.insert(e,o)):o<r._reachability[e]&&(r._reachability[e]=o,n.remove(e),n.insert(e,o))}}))},n.prototype._expandCluster=function(t,e){for(var n=e.getElements(),r=0,i=n.length;r<i;r++){var o=n[r];if(void 0===this._processed[o]){var s=this._regionQuery(o);this._processed[o]=1,this.clusters[t].push(o),this._orderedList.push(o),void 0!==this._distanceToCore(o)&&(this._updateQueue(o,s,e),this._expandCluster(t,e))}}},n.prototype._distanceToCore=function(t){for(var e=this.epsilon,n=0;n<e;n++){if(this._regionQuery(t,n).length>=this.minPts)return n}},n.prototype._regionQuery=function(t,e){e=e||this.epsilon;for(var n=[],r=0,i=this.dataset.length;r<i;r++)this.distance(this.dataset[t],this.dataset[r])<e&&n.push(r);return n},n.prototype._euclideanDistance=function(t,e){for(var n=0,r=Math.min(t.length,e.length);r--;)n+=(t[r]-e[r])*(t[r]-e[r]);return Math.sqrt(n)},t.exports&&(t.exports=n)})),Ts=Bt((function(t){t.exports&&(t.exports={DBSCAN:Ms,KMEANS:Ls,OPTICS:Rs,PriorityQueue:Os})}));var As=function(t,e,n){for(var r=t.length,i=0,o=0;o<r;o++){var s=(t[o]||0)-(e[o]||0);i+=s*s}return n?Math.sqrt(i):i},Ds=As,Fs=function(t,e,n){var r=Math.abs(t-e);return n?r:r*r},ks=As,Gs=function(t,e){for(var n={},r=[],i=e<<2,o=t.length,s=t[0].length>0;r.length<e&&i-- >0;){var a=t[Math.floor(Math.random()*o)],u=s?a.join(\"_\"):\"\"+a;n[u]||(n[u]=!0,r.push(a))}if(r.length<e)throw new Error(\"Error initializating clusters\");return r},qs=function(t,e){var n=t[0].length?Ds:Fs,r=[],i=t.length,o=t[0].length>0,s=t[Math.floor(Math.random()*i)];o&&s.join(\"_\");for(r.push(s);r.length<e;){for(var a=[],u=r.length,l=0,c=[],h=0;h<i;h++){for(var p=1/0,f=0;f<u;f++){var g=n(t[h],r[f]);g<=p&&(p=g)}a[h]=p}for(var d=0;d<i;d++)l+=a[d];for(var y=0;y<i;y++)c[y]={i:y,v:t[y],pr:a[y]/l,cs:0};c.sort((function(t,e){return t.pr-e.pr})),c[0].cs=c[0].pr;for(var v=1;v<i;v++)c[v].cs=c[v-1].cs+c[v].pr;for(var _=Math.random(),m=0;m<i-1&&c[m++].cs<_;);r.push(c[m-1].v)}return r};function Bs(t,e,n){n=n||[];for(var r=0;r<t;r++)n[r]=e;return n}var zs=function(t,e,n,r){var i=[],o=[],s=[],a=[],u=!1,l=r||1e4,c=t.length,h=t[0].length,p=h>0,f=[];if(n)i=\"kmrand\"==n?Gs(t,e):\"kmpp\"==n?qs(t,e):n;else for(var g={};i.length<e;){var d=Math.floor(Math.random()*c);g[d]||(g[d]=!0,i.push(t[d]))}do{Bs(e,0,f);for(var y=0;y<c;y++){for(var v=1/0,_=0,m=0;m<e;m++){(a=p?ks(t[y],i[m]):Math.abs(t[y]-i[m]))<=v&&(v=a,_=m)}s[y]=_,f[_]++}for(var x=[],E=(o=[],0);E<e;E++)x[E]=p?Bs(h,0,x[E]):0,o[E]=i[E];if(p){for(var b=0;b<e;b++)i[b]=[];for(var w=0;w<c;w++)for(var I=x[s[w]],N=t[w],S=0;S<h;S++)I[S]+=N[S];u=!0;for(var C=0;C<e;C++){for(var P=i[C],M=x[C],L=o[C],O=f[C],R=0;R<h;R++)P[R]=M[R]/O||0;if(u)for(var T=0;T<h;T++)if(L[T]!=P[T]){u=!1;break}}}else{for(var A=0;A<c;A++){x[s[A]]+=t[A]}for(var D=0;D<e;D++)i[D]=x[D]/f[D]||0;u=!0;for(var F=0;F<e;F++)if(o[F]!=i[F]){u=!1;break}}u=u||--l<=0}while(!u);return{it:1e4-l,k:e,idxs:s,centroids:i}};function js(t,e){return b(Bi(t[0],t[1]))===b(Bi(e[0],e[1]))}function Us(t,e){if(t.geometry&&t.geometry.type)return t.geometry.type;if(t.type)return t.type;throw new Error(\"Invalid GeoJSON object for \"+e)}function Vs(t){for(var e=t,n=[];e.parent;)n.unshift(e),e=e.parent;return n}var Xs={search:function(t,e,n,r){t.cleanDirty();var i=(r=r||{}).heuristic||Xs.heuristics.manhattan,o=r.closest||!1,s=new Ws((function(t){return t.f})),a=e;for(e.h=i(e,n),s.push(e);s.size()>0;){var u=s.pop();if(u===n)return Vs(u);u.closed=!0;for(var l=t.neighbors(u),c=0,h=l.length;c<h;++c){var p=l[c];if(!p.closed&&!p.isWall()){var f=u.g+p.getCost(u),g=p.visited;(!g||f<p.g)&&(p.visited=!0,p.parent=u,p.h=p.h||i(p,n),p.g=f,p.f=p.g+p.h,t.markDirty(p),o&&(p.h<a.h||p.h===a.h&&p.g<a.g)&&(a=p),g?s.rescoreElement(p):s.push(p))}}}return o?Vs(a):[]},heuristics:{manhattan:function(t,e){return Math.abs(e.x-t.x)+Math.abs(e.y-t.y)},diagonal:function(t,e){var n=Math.sqrt(2),r=Math.abs(e.x-t.x),i=Math.abs(e.y-t.y);return 1*(r+i)+(n-2)*Math.min(r,i)}},cleanNode:function(t){t.f=0,t.g=0,t.h=0,t.visited=!1,t.closed=!1,t.parent=null}};function Ys(t,e){e=e||{},this.nodes=[],this.diagonal=!!e.diagonal,this.grid=[];for(var n=0;n<t.length;n++){this.grid[n]=[];for(var r=0,i=t[n];r<i.length;r++){var o=new Hs(n,r,i[r]);this.grid[n][r]=o,this.nodes.push(o)}}this.init()}function Hs(t,e,n){this.x=t,this.y=e,this.weight=n}function Ws(t){this.content=[],this.scoreFunction=t}function Js(t,e){for(var n=0;n<e.features.length;n++)if(ye(t,e.features[n]))return!0;return!1}function Zs(t){return function(){return t}}function Ks(t){return t[0]}function Qs(t){return t[1]}function $s(){this._=null}function ta(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function ea(t,e){var n=e,r=e.R,i=n.U;i?i.L===n?i.L=r:i.R=r:t._=r,r.U=i,n.U=r,n.R=r.L,n.R&&(n.R.U=n),r.L=n}function na(t,e){var n=e,r=e.L,i=n.U;i?i.L===n?i.L=r:i.R=r:t._=r,r.U=i,n.U=r,n.L=r.R,n.L&&(n.L.U=n),r.R=n}function ra(t){for(;t.L;)t=t.L;return t}function ia(t,e,n,r){var i=[null,null],o=Pa.push(i)-1;return i.left=t,i.right=e,n&&sa(i,t,e,n),r&&sa(i,e,t,r),Sa[t.index].halfedges.push(o),Sa[e.index].halfedges.push(o),i}function oa(t,e,n){var r=[e,n];return r.left=t,r}function sa(t,e,n,r){t[0]||t[1]?t.left===n?t[1]=r:t[0]=r:(t[0]=r,t.left=e,t.right=n)}function aa(t,e,n,r,i){var o,s=t[0],a=t[1],u=s[0],l=s[1],c=0,h=1,p=a[0]-u,f=a[1]-l;if(o=e-u,p||!(o>0)){if(o/=p,p<0){if(o<c)return;o<h&&(h=o)}else if(p>0){if(o>h)return;o>c&&(c=o)}if(o=r-u,p||!(o<0)){if(o/=p,p<0){if(o>h)return;o>c&&(c=o)}else if(p>0){if(o<c)return;o<h&&(h=o)}if(o=n-l,f||!(o>0)){if(o/=f,f<0){if(o<c)return;o<h&&(h=o)}else if(f>0){if(o>h)return;o>c&&(c=o)}if(o=i-l,f||!(o<0)){if(o/=f,f<0){if(o>h)return;o>c&&(c=o)}else if(f>0){if(o<c)return;o<h&&(h=o)}return!(c>0||h<1)||(c>0&&(t[0]=[u+c*p,l+c*f]),h<1&&(t[1]=[u+h*p,l+h*f]),!0)}}}}}function ua(t,e,n,r,i){var o=t[1];if(o)return!0;var s,a,u=t[0],l=t.left,c=t.right,h=l[0],p=l[1],f=c[0],g=c[1],d=(h+f)/2,y=(p+g)/2;if(g===p){if(d<e||d>=r)return;if(h>f){if(u){if(u[1]>=i)return}else u=[d,n];o=[d,i]}else{if(u){if(u[1]<n)return}else u=[d,i];o=[d,n]}}else if(a=y-(s=(h-f)/(g-p))*d,s<-1||s>1)if(h>f){if(u){if(u[1]>=i)return}else u=[(n-a)/s,n];o=[(i-a)/s,i]}else{if(u){if(u[1]<n)return}else u=[(i-a)/s,i];o=[(n-a)/s,n]}else if(p<g){if(u){if(u[0]>=r)return}else u=[e,s*e+a];o=[r,s*r+a]}else{if(u){if(u[0]<e)return}else u=[r,s*r+a];o=[e,s*e+a]}return t[0]=u,t[1]=o,!0}function la(t,e){var n=t.site,r=e.left,i=e.right;return n===i&&(i=r,r=n),i?Math.atan2(i[1]-r[1],i[0]-r[0]):(n===r?(r=e[1],i=e[0]):(r=e[0],i=e[1]),Math.atan2(r[0]-i[0],i[1]-r[1]))}function ca(t,e){return e[+(e.left!==t.site)]}function ha(t,e){return e[+(e.left===t.site)]}Ys.prototype.init=function(){this.dirtyNodes=[];for(var t=0;t<this.nodes.length;t++)Xs.cleanNode(this.nodes[t])},Ys.prototype.cleanDirty=function(){for(var t=0;t<this.dirtyNodes.length;t++)Xs.cleanNode(this.dirtyNodes[t]);this.dirtyNodes=[]},Ys.prototype.markDirty=function(t){this.dirtyNodes.push(t)},Ys.prototype.neighbors=function(t){var e=[],n=t.x,r=t.y,i=this.grid;return i[n-1]&&i[n-1][r]&&e.push(i[n-1][r]),i[n+1]&&i[n+1][r]&&e.push(i[n+1][r]),i[n]&&i[n][r-1]&&e.push(i[n][r-1]),i[n]&&i[n][r+1]&&e.push(i[n][r+1]),this.diagonal&&(i[n-1]&&i[n-1][r-1]&&e.push(i[n-1][r-1]),i[n+1]&&i[n+1][r-1]&&e.push(i[n+1][r-1]),i[n-1]&&i[n-1][r+1]&&e.push(i[n-1][r+1]),i[n+1]&&i[n+1][r+1]&&e.push(i[n+1][r+1])),e},Ys.prototype.toString=function(){for(var t,e,n,r,i=[],o=this.grid,s=0,a=o.length;s<a;s++){for(t=[],n=0,r=(e=o[s]).length;n<r;n++)t.push(e[n].weight);i.push(t.join(\" \"))}return i.join(\"\\n\")},Hs.prototype.toString=function(){return\"[\"+this.x+\" \"+this.y+\"]\"},Hs.prototype.getCost=function(t){return t&&t.x!==this.x&&t.y!==this.y?1.41421*this.weight:this.weight},Hs.prototype.isWall=function(){return 0===this.weight},Ws.prototype={push:function(t){this.content.push(t),this.sinkDown(this.content.length-1)},pop:function(){var t=this.content[0],e=this.content.pop();return this.content.length>0&&(this.content[0]=e,this.bubbleUp(0)),t},remove:function(t){var e=this.content.indexOf(t),n=this.content.pop();e!==this.content.length-1&&(this.content[e]=n,this.scoreFunction(n)<this.scoreFunction(t)?this.sinkDown(e):this.bubbleUp(e))},size:function(){return this.content.length},rescoreElement:function(t){this.sinkDown(this.content.indexOf(t))},sinkDown:function(t){for(var e=this.content[t];t>0;){var n=(t+1>>1)-1,r=this.content[n];if(!(this.scoreFunction(e)<this.scoreFunction(r)))break;this.content[n]=e,this.content[t]=r,t=n}},bubbleUp:function(t){for(var e=this.content.length,n=this.content[t],r=this.scoreFunction(n);;){var i,o=t+1<<1,s=o-1,a=null;if(s<e){var u=this.content[s];(i=this.scoreFunction(u))<r&&(a=s)}if(o<e){var l=this.content[o];this.scoreFunction(l)<(null===a?r:i)&&(a=o)}if(null===a)break;this.content[t]=this.content[a],this.content[a]=n,t=a}}},$s.prototype={constructor:$s,insert:function(t,e){var n,r,i;if(t){if(e.P=t,e.N=t.N,t.N&&(t.N.P=e),t.N=e,t.R){for(t=t.R;t.L;)t=t.L;t.L=e}else t.R=e;n=t}else this._?(t=ra(this._),e.P=null,e.N=t,t.P=t.L=e,n=t):(e.P=e.N=null,this._=e,n=null);for(e.L=e.R=null,e.U=n,e.C=!0,t=e;n&&n.C;)n===(r=n.U).L?(i=r.R)&&i.C?(n.C=i.C=!1,r.C=!0,t=r):(t===n.R&&(ea(this,n),n=(t=n).U),n.C=!1,r.C=!0,na(this,r)):(i=r.L)&&i.C?(n.C=i.C=!1,r.C=!0,t=r):(t===n.L&&(na(this,n),n=(t=n).U),n.C=!1,r.C=!0,ea(this,r)),n=t.U;this._.C=!1},remove:function(t){t.N&&(t.N.P=t.P),t.P&&(t.P.N=t.N),t.N=t.P=null;var e,n,r,i=t.U,o=t.L,s=t.R;if(n=o?s?ra(s):o:s,i?i.L===t?i.L=n:i.R=n:this._=n,o&&s?(r=n.C,n.C=t.C,n.L=o,o.U=n,n!==s?(i=n.U,n.U=t.U,t=n.R,i.L=t,n.R=s,s.U=n):(n.U=i,i=n,t=n.R)):(r=t.C,t=n),t&&(t.U=i),!r)if(t&&t.C)t.C=!1;else{do{if(t===this._)break;if(t===i.L){if((e=i.R).C&&(e.C=!1,i.C=!0,ea(this,i),e=i.R),e.L&&e.L.C||e.R&&e.R.C){e.R&&e.R.C||(e.L.C=!1,e.C=!0,na(this,e),e=i.R),e.C=i.C,i.C=e.R.C=!1,ea(this,i),t=this._;break}}else if((e=i.L).C&&(e.C=!1,i.C=!0,na(this,i),e=i.L),e.L&&e.L.C||e.R&&e.R.C){e.L&&e.L.C||(e.R.C=!1,e.C=!0,ea(this,e),e=i.L),e.C=i.C,i.C=e.L.C=!1,na(this,i),t=this._;break}e.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}};var pa,fa=[];function ga(){ta(this),this.x=this.y=this.arc=this.site=this.cy=null}function da(t){var e=t.P,n=t.N;if(e&&n){var r=e.site,i=t.site,o=n.site;if(r!==o){var s=i[0],a=i[1],u=r[0]-s,l=r[1]-a,c=o[0]-s,h=o[1]-a,p=2*(u*h-l*c);if(!(p>=-La)){var f=u*u+l*l,g=c*c+h*h,d=(h*f-l*g)/p,y=(u*g-c*f)/p,v=fa.pop()||new ga;v.arc=t,v.site=i,v.x=d+s,v.y=(v.cy=y+a)+Math.sqrt(d*d+y*y),t.circle=v;for(var _=null,m=Ca._;m;)if(v.y<m.y||v.y===m.y&&v.x<=m.x){if(!m.L){_=m.P;break}m=m.L}else{if(!m.R){_=m;break}m=m.R}Ca.insert(_,v),_||(pa=v)}}}}function ya(t){var e=t.circle;e&&(e.P||(pa=e.N),Ca.remove(e),fa.push(e),ta(e),t.circle=null)}var va=[];function _a(){ta(this),this.edge=this.site=this.circle=null}function ma(t){var e=va.pop()||new _a;return e.site=t,e}function xa(t){ya(t),Na.remove(t),va.push(t),ta(t)}function Ea(t){var e=t.circle,n=e.x,r=e.cy,i=[n,r],o=t.P,s=t.N,a=[t];xa(t);for(var u=o;u.circle&&Math.abs(n-u.circle.x)<Ma&&Math.abs(r-u.circle.cy)<Ma;)o=u.P,a.unshift(u),xa(u),u=o;a.unshift(u),ya(u);for(var l=s;l.circle&&Math.abs(n-l.circle.x)<Ma&&Math.abs(r-l.circle.cy)<Ma;)s=l.N,a.push(l),xa(l),l=s;a.push(l),ya(l);var c,h=a.length;for(c=1;c<h;++c)l=a[c],u=a[c-1],sa(l.edge,u.site,l.site,i);u=a[0],(l=a[h-1]).edge=ia(u.site,l.site,null,i),da(u),da(l)}function ba(t){for(var e,n,r,i,o=t[0],s=t[1],a=Na._;a;)if((r=wa(a,s)-o)>Ma)a=a.L;else{if(!((i=o-Ia(a,s))>Ma)){r>-Ma?(e=a.P,n=a):i>-Ma?(e=a,n=a.N):e=n=a;break}if(!a.R){e=a;break}a=a.R}!function(t){Sa[t.index]={site:t,halfedges:[]}}(t);var u=ma(t);if(Na.insert(e,u),e||n){if(e===n)return ya(e),n=ma(e.site),Na.insert(u,n),u.edge=n.edge=ia(e.site,u.site),da(e),void da(n);if(n){ya(e),ya(n);var l=e.site,c=l[0],h=l[1],p=t[0]-c,f=t[1]-h,g=n.site,d=g[0]-c,y=g[1]-h,v=2*(p*y-f*d),_=p*p+f*f,m=d*d+y*y,x=[(y*_-f*m)/v+c,(p*m-d*_)/v+h];sa(n.edge,l,g,x),u.edge=ia(l,t,null,x),n.edge=ia(t,g,null,x),da(e),da(n)}else u.edge=ia(e.site,u.site)}}function wa(t,e){var n=t.site,r=n[0],i=n[1],o=i-e;if(!o)return r;var s=t.P;if(!s)return-1/0;var a=(n=s.site)[0],u=n[1],l=u-e;if(!l)return a;var c=a-r,h=1/o-1/l,p=c/l;return h?(-p+Math.sqrt(p*p-2*h*(c*c/(-2*l)-u+l/2+i-o/2)))/h+r:(r+a)/2}function Ia(t,e){var n=t.N;if(n)return wa(n,e);var r=t.site;return r[1]===e?r[0]:1/0}var Na,Sa,Ca,Pa,Ma=1e-6,La=1e-12;function Oa(t,e){return e[1]-t[1]||e[0]-t[0]}function Ra(t,e){var n,r,i,o=t.sort(Oa).pop();for(Pa=[],Sa=new Array(t.length),Na=new $s,Ca=new $s;;)if(i=pa,o&&(!i||o[1]<i.y||o[1]===i.y&&o[0]<i.x))o[0]===n&&o[1]===r||(ba(o),n=o[0],r=o[1]),o=t.pop();else{if(!i)break;Ea(i.arc)}if(function(){for(var t,e,n,r,i=0,o=Sa.length;i<o;++i)if((t=Sa[i])&&(r=(e=t.halfedges).length)){var s=new Array(r),a=new Array(r);for(n=0;n<r;++n)s[n]=n,a[n]=la(t,Pa[e[n]]);for(s.sort((function(t,e){return a[e]-a[t]})),n=0;n<r;++n)a[n]=e[s[n]];for(n=0;n<r;++n)e[n]=a[n]}}(),e){var s=+e[0][0],a=+e[0][1],u=+e[1][0],l=+e[1][1];!function(t,e,n,r){for(var i,o=Pa.length;o--;)ua(i=Pa[o],t,e,n,r)&&aa(i,t,e,n,r)&&(Math.abs(i[0][0]-i[1][0])>Ma||Math.abs(i[0][1]-i[1][1])>Ma)||delete Pa[o]}(s,a,u,l),function(t,e,n,r){var i,o,s,a,u,l,c,h,p,f,g,d,y=Sa.length,v=!0;for(i=0;i<y;++i)if(o=Sa[i]){for(s=o.site,a=(u=o.halfedges).length;a--;)Pa[u[a]]||u.splice(a,1);for(a=0,l=u.length;a<l;)g=(f=ha(o,Pa[u[a]]))[0],d=f[1],h=(c=ca(o,Pa[u[++a%l]]))[0],p=c[1],(Math.abs(g-h)>Ma||Math.abs(d-p)>Ma)&&(u.splice(a,0,Pa.push(oa(s,f,Math.abs(g-t)<Ma&&r-d>Ma?[t,Math.abs(h-t)<Ma?p:r]:Math.abs(d-r)<Ma&&n-g>Ma?[Math.abs(p-r)<Ma?h:n,r]:Math.abs(g-n)<Ma&&d-e>Ma?[n,Math.abs(h-n)<Ma?p:e]:Math.abs(d-e)<Ma&&g-t>Ma?[Math.abs(p-e)<Ma?h:t,e]:null))-1),++l);l&&(v=!1)}if(v){var _,m,x,E=1/0;for(i=0,v=null;i<y;++i)(o=Sa[i])&&(x=(_=(s=o.site)[0]-t)*_+(m=s[1]-e)*m)<E&&(E=x,v=o);if(v){var b=[t,e],w=[t,r],I=[n,r],N=[n,e];v.halfedges.push(Pa.push(oa(s=v.site,b,w))-1,Pa.push(oa(s,w,I))-1,Pa.push(oa(s,I,N))-1,Pa.push(oa(s,N,b))-1)}}for(i=0;i<y;++i)(o=Sa[i])&&(o.halfedges.length||delete Sa[i])}(s,a,u,l)}this.edges=Pa,this.cells=Sa,Na=Ca=Pa=Sa=null}function Ta(t){return(t=t.slice()).push(t[0]),l([t])}function Aa(t,e,n,r){var i=(r=r||{}).steps||64,o=r.units||\"kilometers\",s=r.angle||0,a=r.pivot||t,u=r.properties||t.properties||{};if(!t)throw new Error(\"center is required\");if(!e)throw new Error(\"xSemiAxis is required\");if(!n)throw new Error(\"ySemiAxis is required\");if(!P(r))throw new Error(\"options must be an object\");if(!C(i))throw new Error(\"steps must be a number\");if(!C(s))throw new Error(\"angle must be a number\");var c=K(t);if(\"degrees\"===o)var h=I(s);else e=ji(t,e,90,{units:o}),n=ji(t,n,0,{units:o}),e=K(e)[0]-c[0],n=K(n)[1]-c[1];for(var p=[],f=0;f<i;f+=1){var g=-360*f/i,d=e*n/Math.sqrt(Math.pow(n,2)+Math.pow(e,2)*Math.pow(Da(g),2)),y=e*n/Math.sqrt(Math.pow(e,2)+Math.pow(n,2)/Math.pow(Da(g),2));if(g<-90&&g>=-270&&(d=-d),g<-180&&g>=-360&&(y=-y),\"degrees\"===o){var v=d*Math.cos(h)+y*Math.sin(h),_=y*Math.cos(h)-d*Math.sin(h);d=v,y=_}p.push([d+c[0],y+c[1]])}return p.push(p[0]),\"degrees\"===o?l([p],u):$o(l([p],u),s,{pivot:a})}function Da(t){var e=t*Math.PI/180;return Math.tan(e)}function Fa(t,e){void 0===e&&(e={});var n=0,r=0,i=0;return q(t,(function(t,o,s){var a=e.weight?null==s?void 0:s[e.weight]:void 0;if(!C(a=null==a?1:a))throw new Error(\"weight value must be a number for feature index \"+o);(a=Number(a))>0&&R(t,(function(t){n+=t[0]*a,r+=t[1]*a,i+=a}))})),a([n/i,r/i],e.properties,e)}function ka(t,e,n,r,i){var o=r.tolerance||.001,s=0,u=0,l=0,c=0;if(F(n,(function(e){var n,r=null===(n=e.properties)||void 0===n?void 0:n.weight,i=null==r?1:r;if(!C(i=Number(i)))throw new Error(\"weight value must be a number\");if(i>0){c+=1;var o=i*me(e,t);0===o&&(o=1);var a=i/o;s+=e.geometry.coordinates[0]*a,u+=e.geometry.coordinates[1]*a,l+=a}})),c<1)throw new Error(\"no features to measure\");var h=s/l,p=u/l;return 1===c||0===i||Math.abs(h-e[0])<o&&Math.abs(p-e[1])<o?a([h,p],{medianCandidates:r.medianCandidates}):(r.medianCandidates.push([h,p]),ka([h,p],t,n,r,i-1))}function Ga(t,e){return{x:t[0]-e[0],y:t[1]-e[1]}}function qa(t,e){var n=0,r=0;R(t,(function(i,o,s,a,u){u>n&&(n=u,r=o,e.push([]));var l=o-r,c=t.coordinates[u][l+1],h=i[0],p=i[1],f=c[0],g=c[1];e[u].push([.75*h+.25*f,.75*p+.25*g]),e[u].push([.25*h+.75*f,.25*p+.75*g])}),!0),e.forEach((function(t){t.push(t[0])}))}function Ba(t,e){var n=0,r=0,i=0;R(t,(function(o,s,a,u,l){u>i&&(i=u,r=s,e.push([[]])),l>n&&(n=l,r=s,e[u].push([]));var c=s-r,h=t.coordinates[u][l][c+1],p=o[0],f=o[1],g=h[0],d=h[1];e[u][l].push([.75*p+.25*g,.75*f+.25*d]),e[u][l].push([.25*p+.75*g,.25*f+.75*d])}),!0),e.forEach((function(t){t.forEach((function(t){t.push(t[0])}))}))}function za(t,e,n){void 0===n&&(n=2);var r=K(t),i=K(e),o=r[0]-i[0],s=r[1]-i[1];return 1===n?Math.abs(o)+Math.abs(s):Math.pow(Math.pow(o,n)+Math.pow(s,n),1/n)}function ja(t,e){var n=(e=e||{}).threshold||1e4,r=e.p||2,i=e.binary||!1,o=e.alpha||-1,s=e.standardization||!1,a=[];F(t,(function(t){a.push(En(t))}));for(var u=[],l=0;l<a.length;l++)u[l]=[];for(l=0;l<a.length;l++)for(var c=l;c<a.length;c++){l===c&&(u[l][c]=0);var h=za(a[l],a[c],r);u[l][c]=h,u[c][l]=h}for(l=0;l<a.length;l++)for(c=0;c<a.length;c++){0!==(h=u[l][c])&&(u[l][c]=i?h<=n?1:0:h<=n?Math.pow(h,o):0)}if(s)for(l=0;l<a.length;l++){var p=u[l].reduce((function(t,e){return t+e}),0);for(c=0;c<a.length;c++)u[l][c]=u[l][c]/p}return u}function Ua(t){for(var e=0,n=0,r=t;n<r.length;n++){e+=r[n]}return e/t.length}function Va(t,e){return void 0===e&&(e={}),Ya(t,\"mercator\",e)}function Xa(t,e){return void 0===e&&(e={}),Ya(t,\"wgs84\",e)}function Ya(t,e,n){void 0===n&&(n={});var r=(n=n||{}).mutate;if(!t)throw new Error(\"geojson is required\");return Array.isArray(t)&&C(t[0])?t=\"mercator\"===e?Ha(t):Wa(t):(!0!==r&&(t=Ie(t)),R(t,(function(t){var n=\"mercator\"===e?Ha(t):Wa(t);t[0]=n[0],t[1]=n[1]}))),t}function Ha(t){var e=Math.PI/180,n=6378137,r=20037508.342789244,i=[n*(Math.abs(t[0])<=180?t[0]:t[0]-360*function(t){return t<0?-1:t>0?1:0}(t[0]))*e,n*Math.log(Math.tan(.25*Math.PI+.5*t[1]*e))];return i[0]>r&&(i[0]=r),i[0]<-r&&(i[0]=-r),i[1]>r&&(i[1]=r),i[1]<-r&&(i[1]=-r),i}function Wa(t){var e=180/Math.PI,n=6378137;return[t[0]*e/n,(.5*Math.PI-2*Math.atan(Math.exp(-t[1]/n)))*e]}Ra.prototype={constructor:Ra,polygons:function(){var t=this.edges;return this.cells.map((function(e){var n=e.halfedges.map((function(n){return ca(e,t[n])}));return n.data=e.site.data,n}))},triangles:function(){var t=[],e=this.edges;return this.cells.forEach((function(n,r){if(o=(i=n.halfedges).length)for(var i,o,s,a,u,l,c=n.site,h=-1,p=e[i[o-1]],f=p.left===c?p.right:p.left;++h<o;)s=f,f=(p=e[i[h]]).left===c?p.right:p.left,s&&f&&r<s.index&&r<f.index&&(u=s,l=f,((a=c)[0]-l[0])*(u[1]-a[1])-(a[0]-u[0])*(l[1]-a[1])<0)&&t.push([c.data,s.data,f.data])})),t},links:function(){return this.edges.filter((function(t){return t.right})).map((function(t){return{source:t.left.data,target:t.right.data}}))},find:function(t,e,n){for(var r,i,o=this,s=o._found||0,a=o.cells.length;!(i=o.cells[s]);)if(++s>=a)return null;var u=t-i.site[0],l=e-i.site[1],c=u*u+l*l;do{i=o.cells[r=s],s=null,i.halfedges.forEach((function(n){var r=o.edges[n],a=r.left;if(a!==i.site&&a||(a=r.right)){var u=t-a[0],l=e-a[1],h=u*u+l*l;h<c&&(c=h,s=a.index)}}))}while(null!==s);return o._found=r,null==n||c<=n*n?i.site:null}};var Ja=Object.freeze({__proto__:null,toMercator:Va,toWgs84:Xa}),Za=function(){for(var t=0,e=0,n=arguments.length;e<n;e++)t+=arguments[e].length;var r=Array(t),i=0;for(e=0;e<n;e++)for(var o=arguments[e],s=0,a=o.length;s<a;s++,i++)r[i]=o[s];return r};function Ka(t){return Array.isArray(t)?nu(t):t&&t.bbox?nu(t.bbox):[360*eu(),180*eu()]}function Qa(t,e){void 0===e&&(e={}),null==t&&(t=1);for(var n=[],r=0;r<t;r++)n.push(a(Ka(e.bbox)));return f(n)}function $a(t,e){void 0===e&&(e={}),null==t&&(t=1),C(e.num_vertices)&&void 0!==e.num_vertices||(e.num_vertices=10),C(e.max_radial_length)&&void 0!==e.max_radial_length||(e.max_radial_length=10);for(var n=[],r=function(t){var r,i=[],o=Za(Array(e.num_vertices+1)).map(Math.random);o.forEach((function(t,e,n){n[e]=e>0?t+n[e-1]:t})),o.forEach((function(t){t=2*t*Math.PI/o[o.length-1];var n=Math.random();i.push([n*(e.max_radial_length||10)*Math.sin(t),n*(e.max_radial_length||10)*Math.cos(t)])})),i[i.length-1]=i[0],i=i.map((r=Ka(e.bbox),function(t){return[t[0]+r[0],t[1]+r[1]]})),n.push(l([i]))},i=0;i<t;i++)r();return f(n)}function tu(t,e){if(void 0===e&&(e={}),!P(e=e||{}))throw new Error(\"options is invalid\");var n=e.bbox,r=e.num_vertices,i=e.max_length,o=e.max_rotation;null==t&&(t=1),(!C(r)||void 0===r||r<2)&&(r=10),C(i)&&void 0!==i||(i=1e-4),C(o)&&void 0!==o||(o=Math.PI/8);for(var s=[],a=0;a<t;a++){for(var u=[Ka(n)],l=0;l<r-1;l++){var c=(0===l?2*Math.random()*Math.PI:Math.tan((u[l][1]-u[l-1][1])/(u[l][0]-u[l-1][0])))+(Math.random()-.5)*o*2,p=Math.random()*i;u.push([u[l][0]+p*Math.cos(c),u[l][1]+p*Math.sin(c)])}s.push(h(u))}return f(s)}function eu(){return Math.random()-.5}function nu(t){return[Math.random()*(t[2]-t[0])+t[0],Math.random()*(t[3]-t[1])+t[1]]}var ru=Object.freeze({__proto__:null,randomPosition:Ka,randomPoint:Qa,randomPolygon:$a,randomLineString:tu});function iu(t,e){if(!t)throw new Error(\"geojson is required\");if(\"FeatureCollection\"!==t.type)throw new Error(\"geojson must be a FeatureCollection\");if(null==e)throw new Error(\"filter is required\");var n=[];return F(t,(function(t){uu(t.properties,e)&&n.push(t)})),f(n)}function ou(t,e,n){if(!t)throw new Error(\"geojson is required\");if(\"FeatureCollection\"!==t.type)throw new Error(\"geojson must be a FeatureCollection\");if(null==e)throw new Error(\"property is required\");for(var r=au(t,e),i=Object.keys(r),o=0;o<i.length;o++){for(var s=i[o],a=r[s],u=[],l=0;l<a.length;l++)u.push(t.features[a[l]]);n(f(u),s,o)}}function su(t,e,n,r){var i=r;return ou(t,e,(function(t,e,o){i=0===o&&void 0===r?t:n(i,t,e,o)})),i}function au(t,e){var n={};return F(t,(function(t,r){var i=t.properties||{};if(Object.prototype.hasOwnProperty.call(i,String(e))){var o=i[e];Object.prototype.hasOwnProperty.call(n,o)?n[o].push(r):n[o]=[r]}})),n}function uu(t,e){if(void 0===t)return!1;var n=typeof e;if(\"number\"===n||\"string\"===n)return Object.prototype.hasOwnProperty.call(t,e);if(Array.isArray(e)){for(var r=0;r<e.length;r++)if(!uu(t,e[r]))return!1;return!0}return lu(t,e)}function lu(t,e){for(var n=Object.keys(e),r=0;r<n.length;r++){var i=n[r];if(t[i]!==e[i])return!1}return!0}function cu(t,e){if(!e)return{};if(!e.length)return{};for(var n={},r=0;r<e.length;r++){var i=e[r];Object.prototype.hasOwnProperty.call(t,i)&&(n[i]=t[i])}return n}var hu=Object.freeze({__proto__:null,getCluster:iu,clusterEach:ou,clusterReduce:su,createBins:au,applyFilter:uu,propertiesContainsFilter:lu,filterProperties:cu}),pu=function(t,e){this.next=null,this.key=t,this.data=e,this.left=null,this.right=null};\n/**\n     * splaytree v3.1.0\n     * Fast Splay tree for Node and browser\n     *\n     * @author Alexander Milevski <info@w8r.name>\n     * @license MIT\n     * @preserve\n     */function fu(t,e){return t>e?1:t<e?-1:0}function gu(t,e,n){for(var r=new pu(null,null),i=r,o=r;;){var s=n(t,e.key);if(s<0){if(null===e.left)break;if(n(t,e.left.key)<0){var a=e.left;if(e.left=a.right,a.right=e,null===(e=a).left)break}o.left=e,o=e,e=e.left}else{if(!(s>0))break;if(null===e.right)break;if(n(t,e.right.key)>0){a=e.right;if(e.right=a.left,a.left=e,null===(e=a).right)break}i.right=e,i=e,e=e.right}}return i.right=e.left,o.left=e.right,e.left=r.right,e.right=r.left,e}function du(t,e,n,r){var i=new pu(t,e);if(null===n)return i.left=i.right=null,i;var o=r(t,(n=gu(t,n,r)).key);return o<0?(i.left=n.left,i.right=n,n.left=null):o>=0&&(i.right=n.right,i.left=n,n.right=null),i}function yu(t,e,n){var r=null,i=null;if(e){var o=n((e=gu(t,e,n)).key,t);0===o?(r=e.left,i=e.right):o<0?(i=e.right,e.right=null,r=e):(r=e.left,e.left=null,i=e)}return{left:r,right:i}}function vu(t,e,n,r,i){if(t){r(e+(n?\"└── \":\"├── \")+i(t)+\"\\n\");var o=e+(n?\"    \":\"│   \");t.left&&vu(t.left,o,!1,r,i),t.right&&vu(t.right,o,!0,r,i)}}var _u=function(){function t(t){void 0===t&&(t=fu),this._root=null,this._size=0,this._comparator=t}return t.prototype.insert=function(t,e){return this._size++,this._root=du(t,e,this._root,this._comparator)},t.prototype.add=function(t,e){var n=new pu(t,e);null===this._root&&(n.left=n.right=null,this._size++,this._root=n);var r=this._comparator,i=gu(t,this._root,r),o=r(t,i.key);return 0===o?this._root=i:(o<0?(n.left=i.left,n.right=i,i.left=null):o>0&&(n.right=i.right,n.left=i,i.right=null),this._size++,this._root=n),this._root},t.prototype.remove=function(t){this._root=this._remove(t,this._root,this._comparator)},t.prototype._remove=function(t,e,n){var r;return null===e?null:0===n(t,(e=gu(t,e,n)).key)?(null===e.left?r=e.right:(r=gu(t,e.left,n)).right=e.right,this._size--,r):e},t.prototype.pop=function(){var t=this._root;if(t){for(;t.left;)t=t.left;return this._root=gu(t.key,this._root,this._comparator),this._root=this._remove(t.key,this._root,this._comparator),{key:t.key,data:t.data}}return null},t.prototype.findStatic=function(t){for(var e=this._root,n=this._comparator;e;){var r=n(t,e.key);if(0===r)return e;e=r<0?e.left:e.right}return null},t.prototype.find=function(t){return this._root&&(this._root=gu(t,this._root,this._comparator),0!==this._comparator(t,this._root.key))?null:this._root},t.prototype.contains=function(t){for(var e=this._root,n=this._comparator;e;){var r=n(t,e.key);if(0===r)return!0;e=r<0?e.left:e.right}return!1},t.prototype.forEach=function(t,e){for(var n=this._root,r=[],i=!1;!i;)null!==n?(r.push(n),n=n.left):0!==r.length?(n=r.pop(),t.call(e,n),n=n.right):i=!0;return this},t.prototype.range=function(t,e,n,r){for(var i=[],o=this._comparator,s=this._root;0!==i.length||s;)if(s)i.push(s),s=s.left;else{if(o((s=i.pop()).key,e)>0)break;if(o(s.key,t)>=0&&n.call(r,s))return this;s=s.right}return this},t.prototype.keys=function(){var t=[];return this.forEach((function(e){var n=e.key;return t.push(n)})),t},t.prototype.values=function(){var t=[];return this.forEach((function(e){var n=e.data;return t.push(n)})),t},t.prototype.min=function(){return this._root?this.minNode(this._root).key:null},t.prototype.max=function(){return this._root?this.maxNode(this._root).key:null},t.prototype.minNode=function(t){if(void 0===t&&(t=this._root),t)for(;t.left;)t=t.left;return t},t.prototype.maxNode=function(t){if(void 0===t&&(t=this._root),t)for(;t.right;)t=t.right;return t},t.prototype.at=function(t){for(var e=this._root,n=!1,r=0,i=[];!n;)if(e)i.push(e),e=e.left;else if(i.length>0){if(e=i.pop(),r===t)return e;r++,e=e.right}else n=!0;return null},t.prototype.next=function(t){var e=this._root,n=null;if(t.right){for(n=t.right;n.left;)n=n.left;return n}for(var r=this._comparator;e;){var i=r(t.key,e.key);if(0===i)break;i<0?(n=e,e=e.left):e=e.right}return n},t.prototype.prev=function(t){var e=this._root,n=null;if(null!==t.left){for(n=t.left;n.right;)n=n.right;return n}for(var r=this._comparator;e;){var i=r(t.key,e.key);if(0===i)break;i<0?e=e.left:(n=e,e=e.right)}return n},t.prototype.clear=function(){return this._root=null,this._size=0,this},t.prototype.toList=function(){return function(t){var e=t,n=[],r=!1,i=new pu(null,null),o=i;for(;!r;)e?(n.push(e),e=e.left):n.length>0?e=(e=o=o.next=n.pop()).right:r=!0;return o.next=null,i.next}(this._root)},t.prototype.load=function(t,e,n){void 0===e&&(e=[]),void 0===n&&(n=!1);var r=t.length,i=this._comparator;if(n&&Eu(t,e,0,r-1,i),null===this._root)this._root=mu(t,e,0,r),this._size=r;else{var o=function(t,e,n){var r=new pu(null,null),i=r,o=t,s=e;for(;null!==o&&null!==s;)n(o.key,s.key)<0?(i.next=o,o=o.next):(i.next=s,s=s.next),i=i.next;null!==o?i.next=o:null!==s&&(i.next=s);return r.next}(this.toList(),function(t,e){for(var n=new pu(null,null),r=n,i=0;i<t.length;i++)r=r.next=new pu(t[i],e[i]);return r.next=null,n.next}(t,e),i);r=this._size+r,this._root=xu({head:o},0,r)}return this},t.prototype.isEmpty=function(){return null===this._root},Object.defineProperty(t.prototype,\"size\",{get:function(){return this._size},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,\"root\",{get:function(){return this._root},enumerable:!0,configurable:!0}),t.prototype.toString=function(t){void 0===t&&(t=function(t){return String(t.key)});var e=[];return vu(this._root,\"\",!0,(function(t){return e.push(t)}),t),e.join(\"\")},t.prototype.update=function(t,e,n){var r=this._comparator,i=yu(t,this._root,r),o=i.left,s=i.right;r(t,e)<0?s=du(e,n,s,r):o=du(e,n,o,r),this._root=function(t,e,n){return null===e?t:(null===t||((e=gu(t.key,e,n)).left=t),e)}(o,s,r)},t.prototype.split=function(t){return yu(t,this._root,this._comparator)},t}();function mu(t,e,n,r){var i=r-n;if(i>0){var o=n+Math.floor(i/2),s=t[o],a=e[o],u=new pu(s,a);return u.left=mu(t,e,n,o),u.right=mu(t,e,o+1,r),u}return null}function xu(t,e,n){var r=n-e;if(r>0){var i=e+Math.floor(r/2),o=xu(t,e,i),s=t.head;return s.left=o,t.head=t.head.next,s.right=xu(t,i+1,n),s}return null}function Eu(t,e,n,r,i){if(!(n>=r)){for(var o=t[n+r>>1],s=n-1,a=r+1;;){do{s++}while(i(t[s],o)<0);do{a--}while(i(t[a],o)>0);if(s>=a)break;var u=t[s];t[s]=t[a],t[a]=u,u=e[s],e[s]=e[a],e[a]=u}Eu(t,e,n,a,i),Eu(t,e,a+1,r,i)}}function bu(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function wu(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function Iu(t,e,n){return e&&wu(t.prototype,e),n&&wu(t,n),t}var Nu=function(t,e){return t.ll.x<=e.x&&e.x<=t.ur.x&&t.ll.y<=e.y&&e.y<=t.ur.y},Su=function(t,e){if(e.ur.x<t.ll.x||t.ur.x<e.ll.x||e.ur.y<t.ll.y||t.ur.y<e.ll.y)return null;var n=t.ll.x<e.ll.x?e.ll.x:t.ll.x,r=t.ur.x<e.ur.x?t.ur.x:e.ur.x;return{ll:{x:n,y:t.ll.y<e.ll.y?e.ll.y:t.ll.y},ur:{x:r,y:t.ur.y<e.ur.y?t.ur.y:e.ur.y}}},Cu=Number.EPSILON;void 0===Cu&&(Cu=Math.pow(2,-52));var Pu=Cu*Cu,Mu=function(t,e){if(-Cu<t&&t<Cu&&-Cu<e&&e<Cu)return 0;var n=t-e;return n*n<Pu*t*e?0:t<e?-1:1},Lu=function(){function t(){bu(this,t),this.reset()}return Iu(t,[{key:\"reset\",value:function(){this.xRounder=new Ou,this.yRounder=new Ou}},{key:\"round\",value:function(t,e){return{x:this.xRounder.round(t),y:this.yRounder.round(e)}}}]),t}(),Ou=function(){function t(){bu(this,t),this.tree=new _u,this.round(0)}return Iu(t,[{key:\"round\",value:function(t){var e=this.tree.add(t),n=this.tree.prev(e);if(null!==n&&0===Mu(e.key,n.key))return this.tree.remove(t),n.key;var r=this.tree.next(e);return null!==r&&0===Mu(e.key,r.key)?(this.tree.remove(t),r.key):t}}]),t}(),Ru=new Lu,Tu=function(t,e){return t.x*e.y-t.y*e.x},Au=function(t,e){return t.x*e.x+t.y*e.y},Du=function(t,e,n){var r={x:e.x-t.x,y:e.y-t.y},i={x:n.x-t.x,y:n.y-t.y},o=Tu(r,i);return Mu(o,0)},Fu=function(t){return Math.sqrt(Au(t,t))},ku=function(t,e,n){var r={x:e.x-t.x,y:e.y-t.y},i={x:n.x-t.x,y:n.y-t.y};return Au(i,r)/Fu(i)/Fu(r)},Gu=function(t,e,n){return 0===e.y?null:{x:t.x+e.x/e.y*(n-t.y),y:n}},qu=function(t,e,n){return 0===e.x?null:{x:n,y:t.y+e.y/e.x*(n-t.x)}},Bu=function(){function t(e,n){bu(this,t),void 0===e.events?e.events=[this]:e.events.push(this),this.point=e,this.isLeft=n}return Iu(t,null,[{key:\"compare\",value:function(e,n){var r=t.comparePoints(e.point,n.point);return 0!==r?r:(e.point!==n.point&&e.link(n),e.isLeft!==n.isLeft?e.isLeft?1:-1:ju.compare(e.segment,n.segment))}},{key:\"comparePoints\",value:function(t,e){return t.x<e.x?-1:t.x>e.x?1:t.y<e.y?-1:t.y>e.y?1:0}}]),Iu(t,[{key:\"link\",value:function(t){if(t.point===this.point)throw new Error(\"Tried to link already linked events\");for(var e=t.point.events,n=0,r=e.length;n<r;n++){var i=e[n];this.point.events.push(i),i.point=this.point}this.checkForConsuming()}},{key:\"checkForConsuming\",value:function(){for(var t=this.point.events.length,e=0;e<t;e++){var n=this.point.events[e];if(void 0===n.segment.consumedBy)for(var r=e+1;r<t;r++){var i=this.point.events[r];void 0===i.consumedBy&&(n.otherSE.point.events===i.otherSE.point.events&&n.segment.consume(i.segment))}}}},{key:\"getAvailableLinkedEvents\",value:function(){for(var t=[],e=0,n=this.point.events.length;e<n;e++){var r=this.point.events[e];r!==this&&!r.segment.ringOut&&r.segment.isInResult()&&t.push(r)}return t}},{key:\"getLeftmostComparator\",value:function(t){var e=this,n=new Map,r=function(r){var i,o,s,a,u,l=r.otherSE;n.set(r,{sine:(i=e.point,o=t.point,s=l.point,a={x:o.x-i.x,y:o.y-i.y},u={x:s.x-i.x,y:s.y-i.y},Tu(u,a)/Fu(u)/Fu(a)),cosine:ku(e.point,t.point,l.point)})};return function(t,e){n.has(t)||r(t),n.has(e)||r(e);var i=n.get(t),o=i.sine,s=i.cosine,a=n.get(e),u=a.sine,l=a.cosine;return o>=0&&u>=0?s<l?1:s>l?-1:0:o<0&&u<0?s<l?-1:s>l?1:0:u<o?-1:u>o?1:0}}}]),t}(),zu=0,ju=function(){function t(e,n,r,i){bu(this,t),this.id=++zu,this.leftSE=e,e.segment=this,e.otherSE=n,this.rightSE=n,n.segment=this,n.otherSE=e,this.rings=r,this.windings=i}return Iu(t,null,[{key:\"compare\",value:function(t,e){var n=t.leftSE.point.x,r=e.leftSE.point.x,i=t.rightSE.point.x,o=e.rightSE.point.x;if(o<n)return 1;if(i<r)return-1;var s=t.leftSE.point.y,a=e.leftSE.point.y,u=t.rightSE.point.y,l=e.rightSE.point.y;if(n<r){if(a<s&&a<u)return 1;if(a>s&&a>u)return-1;var c=t.comparePoint(e.leftSE.point);if(c<0)return 1;if(c>0)return-1;var h=e.comparePoint(t.rightSE.point);return 0!==h?h:-1}if(n>r){if(s<a&&s<l)return-1;if(s>a&&s>l)return 1;var p=e.comparePoint(t.leftSE.point);if(0!==p)return p;var f=t.comparePoint(e.rightSE.point);return f<0?1:f>0?-1:1}if(s<a)return-1;if(s>a)return 1;if(i<o){var g=e.comparePoint(t.rightSE.point);if(0!==g)return g}if(i>o){var d=t.comparePoint(e.rightSE.point);if(d<0)return 1;if(d>0)return-1}if(i!==o){var y=u-s,v=i-n,_=l-a,m=o-r;if(y>v&&_<m)return 1;if(y<v&&_>m)return-1}return i>o?1:i<o||u<l?-1:u>l?1:t.id<e.id?-1:t.id>e.id?1:0}}]),Iu(t,[{key:\"replaceRightSE\",value:function(t){this.rightSE=t,this.rightSE.segment=this,this.rightSE.otherSE=this.leftSE,this.leftSE.otherSE=this.rightSE}},{key:\"bbox\",value:function(){var t=this.leftSE.point.y,e=this.rightSE.point.y;return{ll:{x:this.leftSE.point.x,y:t<e?t:e},ur:{x:this.rightSE.point.x,y:t>e?t:e}}}},{key:\"vector\",value:function(){return{x:this.rightSE.point.x-this.leftSE.point.x,y:this.rightSE.point.y-this.leftSE.point.y}}},{key:\"isAnEndpoint\",value:function(t){return t.x===this.leftSE.point.x&&t.y===this.leftSE.point.y||t.x===this.rightSE.point.x&&t.y===this.rightSE.point.y}},{key:\"comparePoint\",value:function(t){if(this.isAnEndpoint(t))return 0;var e=this.leftSE.point,n=this.rightSE.point,r=this.vector();if(e.x===n.x)return t.x===e.x?0:t.x<e.x?1:-1;var i=(t.y-e.y)/r.y,o=e.x+i*r.x;if(t.x===o)return 0;var s=(t.x-e.x)/r.x,a=e.y+s*r.y;return t.y===a?0:t.y<a?-1:1}},{key:\"getIntersection\",value:function(t){var e=this.bbox(),n=t.bbox(),r=Su(e,n);if(null===r)return null;var i=this.leftSE.point,o=this.rightSE.point,s=t.leftSE.point,a=t.rightSE.point,u=Nu(e,s)&&0===this.comparePoint(s),l=Nu(n,i)&&0===t.comparePoint(i),c=Nu(e,a)&&0===this.comparePoint(a),h=Nu(n,o)&&0===t.comparePoint(o);if(l&&u)return h&&!c?o:!h&&c?a:null;if(l)return c&&i.x===a.x&&i.y===a.y?null:i;if(u)return h&&o.x===s.x&&o.y===s.y?null:s;if(h&&c)return null;if(h)return o;if(c)return a;var p=function(t,e,n,r){if(0===e.x)return qu(n,r,t.x);if(0===r.x)return qu(t,e,n.x);if(0===e.y)return Gu(n,r,t.y);if(0===r.y)return Gu(t,e,n.y);var i=Tu(e,r);if(0==i)return null;var o={x:n.x-t.x,y:n.y-t.y},s=Tu(o,e)/i,a=Tu(o,r)/i;return{x:(t.x+a*e.x+(n.x+s*r.x))/2,y:(t.y+a*e.y+(n.y+s*r.y))/2}}(i,this.vector(),s,t.vector());return null===p?null:Nu(r,p)?Ru.round(p.x,p.y):null}},{key:\"split\",value:function(e){var n=[],r=void 0!==e.events,i=new Bu(e,!0),o=new Bu(e,!1),s=this.rightSE;this.replaceRightSE(o),n.push(o),n.push(i);var a=new t(i,s,this.rings.slice(),this.windings.slice());return Bu.comparePoints(a.leftSE.point,a.rightSE.point)>0&&a.swapEvents(),Bu.comparePoints(this.leftSE.point,this.rightSE.point)>0&&this.swapEvents(),r&&(i.checkForConsuming(),o.checkForConsuming()),n}},{key:\"swapEvents\",value:function(){var t=this.rightSE;this.rightSE=this.leftSE,this.leftSE=t,this.leftSE.isLeft=!0,this.rightSE.isLeft=!1;for(var e=0,n=this.windings.length;e<n;e++)this.windings[e]*=-1}},{key:\"consume\",value:function(e){for(var n=this,r=e;n.consumedBy;)n=n.consumedBy;for(;r.consumedBy;)r=r.consumedBy;var i=t.compare(n,r);if(0!==i){if(i>0){var o=n;n=r,r=o}if(n.prev===r){var s=n;n=r,r=s}for(var a=0,u=r.rings.length;a<u;a++){var l=r.rings[a],c=r.windings[a],h=n.rings.indexOf(l);-1===h?(n.rings.push(l),n.windings.push(c)):n.windings[h]+=c}r.rings=null,r.windings=null,r.consumedBy=n,r.leftSE.consumedBy=n.leftSE,r.rightSE.consumedBy=n.rightSE}}},{key:\"prevInResult\",value:function(){return void 0!==this._prevInResult||(this.prev?this.prev.isInResult()?this._prevInResult=this.prev:this._prevInResult=this.prev.prevInResult():this._prevInResult=null),this._prevInResult}},{key:\"beforeState\",value:function(){if(void 0!==this._beforeState)return this._beforeState;if(this.prev){var t=this.prev.consumedBy||this.prev;this._beforeState=t.afterState()}else this._beforeState={rings:[],windings:[],multiPolys:[]};return this._beforeState}},{key:\"afterState\",value:function(){if(void 0!==this._afterState)return this._afterState;var t=this.beforeState();this._afterState={rings:t.rings.slice(0),windings:t.windings.slice(0),multiPolys:[]};for(var e=this._afterState.rings,n=this._afterState.windings,r=this._afterState.multiPolys,i=0,o=this.rings.length;i<o;i++){var s=this.rings[i],a=this.windings[i],u=e.indexOf(s);-1===u?(e.push(s),n.push(a)):n[u]+=a}for(var l=[],c=[],h=0,p=e.length;h<p;h++)if(0!==n[h]){var f=e[h],g=f.poly;if(-1===c.indexOf(g))if(f.isExterior)l.push(g);else{-1===c.indexOf(g)&&c.push(g);var d=l.indexOf(f.poly);-1!==d&&l.splice(d,1)}}for(var y=0,v=l.length;y<v;y++){var _=l[y].multiPoly;-1===r.indexOf(_)&&r.push(_)}return this._afterState}},{key:\"isInResult\",value:function(){if(this.consumedBy)return!1;if(void 0!==this._isInResult)return this._isInResult;var t=this.beforeState().multiPolys,e=this.afterState().multiPolys;switch(Qu.type){case\"union\":var n=0===t.length,r=0===e.length;this._isInResult=n!==r;break;case\"intersection\":var i,o;t.length<e.length?(i=t.length,o=e.length):(i=e.length,o=t.length),this._isInResult=o===Qu.numMultiPolys&&i<o;break;case\"xor\":var s=Math.abs(t.length-e.length);this._isInResult=s%2==1;break;case\"difference\":var a=function(t){return 1===t.length&&t[0].isSubject};this._isInResult=a(t)!==a(e);break;default:throw new Error(\"Unrecognized operation type found \".concat(Qu.type))}return this._isInResult}}],[{key:\"fromRing\",value:function(e,n,r){var i,o,s,a=Bu.comparePoints(e,n);if(a<0)i=e,o=n,s=1;else{if(!(a>0))throw new Error(\"Tried to create degenerate segment at [\".concat(e.x,\", \").concat(e.y,\"]\"));i=n,o=e,s=-1}return new t(new Bu(i,!0),new Bu(o,!1),[r],[s])}}]),t}(),Uu=function(){function t(e,n,r){if(bu(this,t),!Array.isArray(e)||0===e.length)throw new Error(\"Input geometry is not a valid Polygon or MultiPolygon\");if(this.poly=n,this.isExterior=r,this.segments=[],\"number\"!=typeof e[0][0]||\"number\"!=typeof e[0][1])throw new Error(\"Input geometry is not a valid Polygon or MultiPolygon\");var i=Ru.round(e[0][0],e[0][1]);this.bbox={ll:{x:i.x,y:i.y},ur:{x:i.x,y:i.y}};for(var o=i,s=1,a=e.length;s<a;s++){if(\"number\"!=typeof e[s][0]||\"number\"!=typeof e[s][1])throw new Error(\"Input geometry is not a valid Polygon or MultiPolygon\");var u=Ru.round(e[s][0],e[s][1]);u.x===o.x&&u.y===o.y||(this.segments.push(ju.fromRing(o,u,this)),u.x<this.bbox.ll.x&&(this.bbox.ll.x=u.x),u.y<this.bbox.ll.y&&(this.bbox.ll.y=u.y),u.x>this.bbox.ur.x&&(this.bbox.ur.x=u.x),u.y>this.bbox.ur.y&&(this.bbox.ur.y=u.y),o=u)}i.x===o.x&&i.y===o.y||this.segments.push(ju.fromRing(o,i,this))}return Iu(t,[{key:\"getSweepEvents\",value:function(){for(var t=[],e=0,n=this.segments.length;e<n;e++){var r=this.segments[e];t.push(r.leftSE),t.push(r.rightSE)}return t}}]),t}(),Vu=function(){function t(e,n){if(bu(this,t),!Array.isArray(e))throw new Error(\"Input geometry is not a valid Polygon or MultiPolygon\");this.exteriorRing=new Uu(e[0],this,!0),this.bbox={ll:{x:this.exteriorRing.bbox.ll.x,y:this.exteriorRing.bbox.ll.y},ur:{x:this.exteriorRing.bbox.ur.x,y:this.exteriorRing.bbox.ur.y}},this.interiorRings=[];for(var r=1,i=e.length;r<i;r++){var o=new Uu(e[r],this,!1);o.bbox.ll.x<this.bbox.ll.x&&(this.bbox.ll.x=o.bbox.ll.x),o.bbox.ll.y<this.bbox.ll.y&&(this.bbox.ll.y=o.bbox.ll.y),o.bbox.ur.x>this.bbox.ur.x&&(this.bbox.ur.x=o.bbox.ur.x),o.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=o.bbox.ur.y),this.interiorRings.push(o)}this.multiPoly=n}return Iu(t,[{key:\"getSweepEvents\",value:function(){for(var t=this.exteriorRing.getSweepEvents(),e=0,n=this.interiorRings.length;e<n;e++)for(var r=this.interiorRings[e].getSweepEvents(),i=0,o=r.length;i<o;i++)t.push(r[i]);return t}}]),t}(),Xu=function(){function t(e,n){if(bu(this,t),!Array.isArray(e))throw new Error(\"Input geometry is not a valid Polygon or MultiPolygon\");try{\"number\"==typeof e[0][0][0]&&(e=[e])}catch(t){}this.polys=[],this.bbox={ll:{x:Number.POSITIVE_INFINITY,y:Number.POSITIVE_INFINITY},ur:{x:Number.NEGATIVE_INFINITY,y:Number.NEGATIVE_INFINITY}};for(var r=0,i=e.length;r<i;r++){var o=new Vu(e[r],this);o.bbox.ll.x<this.bbox.ll.x&&(this.bbox.ll.x=o.bbox.ll.x),o.bbox.ll.y<this.bbox.ll.y&&(this.bbox.ll.y=o.bbox.ll.y),o.bbox.ur.x>this.bbox.ur.x&&(this.bbox.ur.x=o.bbox.ur.x),o.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=o.bbox.ur.y),this.polys.push(o)}this.isSubject=n}return Iu(t,[{key:\"getSweepEvents\",value:function(){for(var t=[],e=0,n=this.polys.length;e<n;e++)for(var r=this.polys[e].getSweepEvents(),i=0,o=r.length;i<o;i++)t.push(r[i]);return t}}]),t}(),Yu=function(){function t(e){bu(this,t),this.events=e;for(var n=0,r=e.length;n<r;n++)e[n].segment.ringOut=this;this.poly=null}return Iu(t,null,[{key:\"factory\",value:function(e){for(var n=[],r=0,i=e.length;r<i;r++){var o=e[r];if(o.isInResult()&&!o.ringOut){for(var s=null,a=o.leftSE,u=o.rightSE,l=[a],c=a.point,h=[];s=a,a=u,l.push(a),a.point!==c;)for(;;){var p=a.getAvailableLinkedEvents();if(0===p.length){var f=l[0].point,g=l[l.length-1].point;throw new Error(\"Unable to complete output ring starting at [\".concat(f.x,\",\")+\" \".concat(f.y,\"]. Last matching segment found ends at\")+\" [\".concat(g.x,\", \").concat(g.y,\"].\"))}if(1===p.length){u=p[0].otherSE;break}for(var d=null,y=0,v=h.length;y<v;y++)if(h[y].point===a.point){d=y;break}if(null===d){h.push({index:l.length,point:a.point});var _=a.getLeftmostComparator(s);u=p.sort(_)[0].otherSE;break}var m=h.splice(d)[0],x=l.splice(m.index);x.unshift(x[0].otherSE),n.push(new t(x.reverse()))}n.push(new t(l))}}return n}}]),Iu(t,[{key:\"getGeom\",value:function(){for(var t=this.events[0].point,e=[t],n=1,r=this.events.length-1;n<r;n++){var i=this.events[n].point,o=this.events[n+1].point;0!==Du(i,t,o)&&(e.push(i),t=i)}if(1===e.length)return null;var s=e[0],a=e[1];0===Du(s,t,a)&&e.shift(),e.push(e[0]);for(var u=this.isExteriorRing()?1:-1,l=this.isExteriorRing()?0:e.length-1,c=this.isExteriorRing()?e.length:-1,h=[],p=l;p!=c;p+=u)h.push([e[p].x,e[p].y]);return h}},{key:\"isExteriorRing\",value:function(){if(void 0===this._isExteriorRing){var t=this.enclosingRing();this._isExteriorRing=!t||!t.isExteriorRing()}return this._isExteriorRing}},{key:\"enclosingRing\",value:function(){return void 0===this._enclosingRing&&(this._enclosingRing=this._calcEnclosingRing()),this._enclosingRing}},{key:\"_calcEnclosingRing\",value:function(){for(var t=this.events[0],e=1,n=this.events.length;e<n;e++){var r=this.events[e];Bu.compare(t,r)>0&&(t=r)}for(var i=t.segment.prevInResult(),o=i?i.prevInResult():null;;){if(!i)return null;if(!o)return i.ringOut;if(o.ringOut!==i.ringOut)return o.ringOut.enclosingRing()!==i.ringOut?i.ringOut:i.ringOut.enclosingRing();i=o.prevInResult(),o=i?i.prevInResult():null}}}]),t}(),Hu=function(){function t(e){bu(this,t),this.exteriorRing=e,e.poly=this,this.interiorRings=[]}return Iu(t,[{key:\"addInterior\",value:function(t){this.interiorRings.push(t),t.poly=this}},{key:\"getGeom\",value:function(){var t=[this.exteriorRing.getGeom()];if(null===t[0])return null;for(var e=0,n=this.interiorRings.length;e<n;e++){var r=this.interiorRings[e].getGeom();null!==r&&t.push(r)}return t}}]),t}(),Wu=function(){function t(e){bu(this,t),this.rings=e,this.polys=this._composePolys(e)}return Iu(t,[{key:\"getGeom\",value:function(){for(var t=[],e=0,n=this.polys.length;e<n;e++){var r=this.polys[e].getGeom();null!==r&&t.push(r)}return t}},{key:\"_composePolys\",value:function(t){for(var e=[],n=0,r=t.length;n<r;n++){var i=t[n];if(!i.poly)if(i.isExteriorRing())e.push(new Hu(i));else{var o=i.enclosingRing();o.poly||e.push(new Hu(o)),o.poly.addInterior(i)}}return e}}]),t}(),Ju=function(){function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ju.compare;bu(this,t),this.queue=e,this.tree=new _u(n),this.segments=[]}return Iu(t,[{key:\"process\",value:function(t){var e=t.segment,n=[];if(t.consumedBy)return t.isLeft?this.queue.remove(t.otherSE):this.tree.remove(e),n;var r=t.isLeft?this.tree.insert(e):this.tree.find(e);if(!r)throw new Error(\"Unable to find segment #\".concat(e.id,\" \")+\"[\".concat(e.leftSE.point.x,\", \").concat(e.leftSE.point.y,\"] -> \")+\"[\".concat(e.rightSE.point.x,\", \").concat(e.rightSE.point.y,\"] \")+\"in SweepLine tree. Please submit a bug report.\");for(var i=r,o=r,s=void 0,a=void 0;void 0===s;)null===(i=this.tree.prev(i))?s=null:void 0===i.key.consumedBy&&(s=i.key);for(;void 0===a;)null===(o=this.tree.next(o))?a=null:void 0===o.key.consumedBy&&(a=o.key);if(t.isLeft){var u=null;if(s){var l=s.getIntersection(e);if(null!==l&&(e.isAnEndpoint(l)||(u=l),!s.isAnEndpoint(l)))for(var c=this._splitSafely(s,l),h=0,p=c.length;h<p;h++)n.push(c[h])}var f=null;if(a){var g=a.getIntersection(e);if(null!==g&&(e.isAnEndpoint(g)||(f=g),!a.isAnEndpoint(g)))for(var d=this._splitSafely(a,g),y=0,v=d.length;y<v;y++)n.push(d[y])}if(null!==u||null!==f){var _=null;if(null===u)_=f;else if(null===f)_=u;else{_=Bu.comparePoints(u,f)<=0?u:f}this.queue.remove(e.rightSE),n.push(e.rightSE);for(var m=e.split(_),x=0,E=m.length;x<E;x++)n.push(m[x])}n.length>0?(this.tree.remove(e),n.push(t)):(this.segments.push(e),e.prev=s)}else{if(s&&a){var b=s.getIntersection(a);if(null!==b){if(!s.isAnEndpoint(b))for(var w=this._splitSafely(s,b),I=0,N=w.length;I<N;I++)n.push(w[I]);if(!a.isAnEndpoint(b))for(var S=this._splitSafely(a,b),C=0,P=S.length;C<P;C++)n.push(S[C])}}this.tree.remove(e)}return n}},{key:\"_splitSafely\",value:function(t,e){this.tree.remove(t);var n=t.rightSE;this.queue.remove(n);var r=t.split(e);return r.push(n),void 0===t.consumedBy&&this.tree.insert(t),r}}]),t}(),Zu=\"undefined\"!=typeof process&&process.env.POLYGON_CLIPPING_MAX_QUEUE_SIZE||1e6,Ku=\"undefined\"!=typeof process&&process.env.POLYGON_CLIPPING_MAX_SWEEPLINE_SEGMENTS||1e6,Qu=new(function(){function t(){bu(this,t)}return Iu(t,[{key:\"run\",value:function(t,e,n){Qu.type=t,Ru.reset();for(var r=[new Xu(e,!0)],i=0,o=n.length;i<o;i++)r.push(new Xu(n[i],!1));if(Qu.numMultiPolys=r.length,\"difference\"===Qu.type)for(var s=r[0],a=1;a<r.length;)null!==Su(r[a].bbox,s.bbox)?a++:r.splice(a,1);if(\"intersection\"===Qu.type)for(var u=0,l=r.length;u<l;u++)for(var c=r[u],h=u+1,p=r.length;h<p;h++)if(null===Su(c.bbox,r[h].bbox))return[];for(var f=new _u(Bu.compare),g=0,d=r.length;g<d;g++)for(var y=r[g].getSweepEvents(),v=0,_=y.length;v<_;v++)if(f.insert(y[v]),f.size>Zu)throw new Error(\"Infinite loop when putting segment endpoints in a priority queue (queue size too big). Please file a bug report.\");for(var m=new Ju(f),x=f.size,E=f.pop();E;){var b=E.key;if(f.size===x){var w=b.segment;throw new Error(\"Unable to pop() \".concat(b.isLeft?\"left\":\"right\",\" SweepEvent \")+\"[\".concat(b.point.x,\", \").concat(b.point.y,\"] from segment #\").concat(w.id,\" \")+\"[\".concat(w.leftSE.point.x,\", \").concat(w.leftSE.point.y,\"] -> \")+\"[\".concat(w.rightSE.point.x,\", \").concat(w.rightSE.point.y,\"] from queue. \")+\"Please file a bug report.\")}if(f.size>Zu)throw new Error(\"Infinite loop when passing sweep line over endpoints (queue size too big). Please file a bug report.\");if(m.segments.length>Ku)throw new Error(\"Infinite loop when passing sweep line over endpoints (too many sweep line segments). Please file a bug report.\");for(var I=m.process(b),N=0,S=I.length;N<S;N++){var C=I[N];void 0===C.consumedBy&&f.insert(C)}x=f.size,E=f.pop()}Ru.reset();var P=Yu.factory(m.segments);return new Wu(P).getGeom()}}]),t}()),$u={union:function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];return Qu.run(\"union\",t,n)},intersection:function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];return Qu.run(\"intersection\",t,n)},xor:function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];return Qu.run(\"xor\",t,n)},difference:function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];return Qu.run(\"difference\",t,n)}};\"fill\"in Array.prototype||Object.defineProperty(Array.prototype,\"fill\",{configurable:!0,value:function(t){if(null==this)throw new TypeError(this+\" is not an object\");var e=Object(this),n=Math.max(Math.min(e.length,9007199254740991),0)||0,r=1 in arguments&&parseInt(Number(arguments[1]),10)||0;r=r<0?Math.max(n+r,0):Math.min(r,n);var i=2 in arguments&&void 0!==arguments[2]?parseInt(Number(arguments[2]),10)||0:n;for(i=i<0?Math.max(n+arguments[2],0):Math.min(i,n);r<i;)e[r]=t,++r;return e},writable:!0}),Number.isFinite=Number.isFinite||function(t){return\"number\"==typeof t&&isFinite(t)},Number.isInteger=Number.isInteger||function(t){return\"number\"==typeof t&&isFinite(t)&&Math.floor(t)===t},Number.parseFloat=Number.parseFloat||parseFloat,Number.isNaN=Number.isNaN||function(t){return t!=t},Math.trunc=Math.trunc||function(t){return t<0?Math.ceil(t):Math.floor(t)};var tl=function(){};tl.prototype.interfaces_=function(){return[]},tl.prototype.getClass=function(){return tl},tl.prototype.equalsWithTolerance=function(t,e,n){return Math.abs(t-e)<=n};var el=function(t){function e(e){t.call(this,e),this.name=\"IllegalArgumentException\",this.message=e,this.stack=(new t).stack}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Error),nl=function(){},rl={MAX_VALUE:{configurable:!0}};nl.isNaN=function(t){return Number.isNaN(t)},nl.doubleToLongBits=function(t){return t},nl.longBitsToDouble=function(t){return t},nl.isInfinite=function(t){return!Number.isFinite(t)},rl.MAX_VALUE.get=function(){return Number.MAX_VALUE},Object.defineProperties(nl,rl);var il=function(){},ol=function(){},sl=function(){};function al(){}var ul=function t(){if(this.x=null,this.y=null,this.z=null,0===arguments.length)this.x=0,this.y=0,this.z=t.NULL_ORDINATE;else if(1===arguments.length){var e=arguments[0];this.x=e.x,this.y=e.y,this.z=e.z}else 2===arguments.length?(this.x=arguments[0],this.y=arguments[1],this.z=t.NULL_ORDINATE):3===arguments.length&&(this.x=arguments[0],this.y=arguments[1],this.z=arguments[2])},ll={DimensionalComparator:{configurable:!0},serialVersionUID:{configurable:!0},NULL_ORDINATE:{configurable:!0},X:{configurable:!0},Y:{configurable:!0},Z:{configurable:!0}};ul.prototype.setOrdinate=function(t,e){switch(t){case ul.X:this.x=e;break;case ul.Y:this.y=e;break;case ul.Z:this.z=e;break;default:throw new el(\"Invalid ordinate index: \"+t)}},ul.prototype.equals2D=function(){if(1===arguments.length){var t=arguments[0];return this.x===t.x&&this.y===t.y}if(2===arguments.length){var e=arguments[0],n=arguments[1];return!!tl.equalsWithTolerance(this.x,e.x,n)&&!!tl.equalsWithTolerance(this.y,e.y,n)}},ul.prototype.getOrdinate=function(t){switch(t){case ul.X:return this.x;case ul.Y:return this.y;case ul.Z:return this.z}throw new el(\"Invalid ordinate index: \"+t)},ul.prototype.equals3D=function(t){return this.x===t.x&&this.y===t.y&&(this.z===t.z||nl.isNaN(this.z))&&nl.isNaN(t.z)},ul.prototype.equals=function(t){return t instanceof ul&&this.equals2D(t)},ul.prototype.equalInZ=function(t,e){return tl.equalsWithTolerance(this.z,t.z,e)},ul.prototype.compareTo=function(t){var e=t;return this.x<e.x?-1:this.x>e.x?1:this.y<e.y?-1:this.y>e.y?1:0},ul.prototype.clone=function(){},ul.prototype.copy=function(){return new ul(this)},ul.prototype.toString=function(){return\"(\"+this.x+\", \"+this.y+\", \"+this.z+\")\"},ul.prototype.distance3D=function(t){var e=this.x-t.x,n=this.y-t.y,r=this.z-t.z;return Math.sqrt(e*e+n*n+r*r)},ul.prototype.distance=function(t){var e=this.x-t.x,n=this.y-t.y;return Math.sqrt(e*e+n*n)},ul.prototype.hashCode=function(){var t=17;return t=37*(t=37*t+ul.hashCode(this.x))+ul.hashCode(this.y)},ul.prototype.setCoordinate=function(t){this.x=t.x,this.y=t.y,this.z=t.z},ul.prototype.interfaces_=function(){return[il,ol,al]},ul.prototype.getClass=function(){return ul},ul.hashCode=function(){if(1===arguments.length){var t=arguments[0],e=nl.doubleToLongBits(t);return Math.trunc((e^e)>>>32)}},ll.DimensionalComparator.get=function(){return cl},ll.serialVersionUID.get=function(){return 0x5cbf2c235c7e5800},ll.NULL_ORDINATE.get=function(){return nl.NaN},ll.X.get=function(){return 0},ll.Y.get=function(){return 1},ll.Z.get=function(){return 2},Object.defineProperties(ul,ll);var cl=function(t){if(this._dimensionsToTest=2,0===arguments.length);else if(1===arguments.length){var e=arguments[0];if(2!==e&&3!==e)throw new el(\"only 2 or 3 dimensions may be specified\");this._dimensionsToTest=e}};cl.prototype.compare=function(t,e){var n=t,r=e,i=cl.compare(n.x,r.x);if(0!==i)return i;var o=cl.compare(n.y,r.y);return 0!==o?o:this._dimensionsToTest<=2?0:cl.compare(n.z,r.z)},cl.prototype.interfaces_=function(){return[sl]},cl.prototype.getClass=function(){return cl},cl.compare=function(t,e){return t<e?-1:t>e?1:nl.isNaN(t)?nl.isNaN(e)?0:-1:nl.isNaN(e)?1:0};var hl=function(){};hl.prototype.create=function(){},hl.prototype.interfaces_=function(){return[]},hl.prototype.getClass=function(){return hl};var pl=function(){},fl={INTERIOR:{configurable:!0},BOUNDARY:{configurable:!0},EXTERIOR:{configurable:!0},NONE:{configurable:!0}};pl.prototype.interfaces_=function(){return[]},pl.prototype.getClass=function(){return pl},pl.toLocationSymbol=function(t){switch(t){case pl.EXTERIOR:return\"e\";case pl.BOUNDARY:return\"b\";case pl.INTERIOR:return\"i\";case pl.NONE:return\"-\"}throw new el(\"Unknown location value: \"+t)},fl.INTERIOR.get=function(){return 0},fl.BOUNDARY.get=function(){return 1},fl.EXTERIOR.get=function(){return 2},fl.NONE.get=function(){return-1},Object.defineProperties(pl,fl);var gl=function(t,e){return t.interfaces_&&t.interfaces_().indexOf(e)>-1},dl=function(){},yl={LOG_10:{configurable:!0}};dl.prototype.interfaces_=function(){return[]},dl.prototype.getClass=function(){return dl},dl.log10=function(t){var e=Math.log(t);return nl.isInfinite(e)||nl.isNaN(e)?e:e/dl.LOG_10},dl.min=function(t,e,n,r){var i=t;return e<i&&(i=e),n<i&&(i=n),r<i&&(i=r),i},dl.clamp=function(){if(\"number\"==typeof arguments[2]&&\"number\"==typeof arguments[0]&&\"number\"==typeof arguments[1]){var t=arguments[0],e=arguments[1],n=arguments[2];return t<e?e:t>n?n:t}if(Number.isInteger(arguments[2])&&Number.isInteger(arguments[0])&&Number.isInteger(arguments[1])){var r=arguments[0],i=arguments[1],o=arguments[2];return r<i?i:r>o?o:r}},dl.wrap=function(t,e){return t<0?e- -t%e:t%e},dl.max=function(){if(3===arguments.length){var t=arguments[0],e=arguments[1],n=arguments[2],r=t;return e>r&&(r=e),n>r&&(r=n),r}if(4===arguments.length){var i=arguments[0],o=arguments[1],s=arguments[2],a=arguments[3],u=i;return o>u&&(u=o),s>u&&(u=s),a>u&&(u=a),u}},dl.average=function(t,e){return(t+e)/2},yl.LOG_10.get=function(){return Math.log(10)},Object.defineProperties(dl,yl);var vl=function(t){this.str=t};vl.prototype.append=function(t){this.str+=t},vl.prototype.setCharAt=function(t,e){this.str=this.str.substr(0,t)+e+this.str.substr(t+1)},vl.prototype.toString=function(t){return this.str};var _l=function(t){this.value=t};_l.prototype.intValue=function(){return this.value},_l.prototype.compareTo=function(t){return this.value<t?-1:this.value>t?1:0},_l.isNaN=function(t){return Number.isNaN(t)};var ml=function(){};ml.isWhitespace=function(t){return t<=32&&t>=0||127===t},ml.toUpperCase=function(t){return t.toUpperCase()};var xl=function t(){if(this._hi=0,this._lo=0,0===arguments.length)this.init(0);else if(1===arguments.length){if(\"number\"==typeof arguments[0]){var e=arguments[0];this.init(e)}else if(arguments[0]instanceof t){var n=arguments[0];this.init(n)}else if(\"string\"==typeof arguments[0]){var r=arguments[0];t.call(this,t.parse(r))}}else if(2===arguments.length){var i=arguments[0],o=arguments[1];this.init(i,o)}},El={PI:{configurable:!0},TWO_PI:{configurable:!0},PI_2:{configurable:!0},E:{configurable:!0},NaN:{configurable:!0},EPS:{configurable:!0},SPLIT:{configurable:!0},MAX_PRINT_DIGITS:{configurable:!0},TEN:{configurable:!0},ONE:{configurable:!0},SCI_NOT_EXPONENT_CHAR:{configurable:!0},SCI_NOT_ZERO:{configurable:!0}};xl.prototype.le=function(t){return(this._hi<t._hi||this._hi===t._hi)&&this._lo<=t._lo},xl.prototype.extractSignificantDigits=function(t,e){var n=this.abs(),r=xl.magnitude(n._hi),i=xl.TEN.pow(r);(n=n.divide(i)).gt(xl.TEN)?(n=n.divide(xl.TEN),r+=1):n.lt(xl.ONE)&&(n=n.multiply(xl.TEN),r-=1);for(var o=r+1,s=new vl,a=xl.MAX_PRINT_DIGITS-1,u=0;u<=a;u++){t&&u===o&&s.append(\".\");var l=Math.trunc(n._hi);if(l<0)break;var c=!1,h=0;l>9?(c=!0,h=\"9\"):h=\"0\"+l,s.append(h),n=n.subtract(xl.valueOf(l)).multiply(xl.TEN),c&&n.selfAdd(xl.TEN);var p=!0,f=xl.magnitude(n._hi);if(f<0&&Math.abs(f)>=a-u&&(p=!1),!p)break}return e[0]=r,s.toString()},xl.prototype.sqr=function(){return this.multiply(this)},xl.prototype.doubleValue=function(){return this._hi+this._lo},xl.prototype.subtract=function(){if(arguments[0]instanceof xl){var t=arguments[0];return this.add(t.negate())}if(\"number\"==typeof arguments[0]){var e=arguments[0];return this.add(-e)}},xl.prototype.equals=function(){if(1===arguments.length){var t=arguments[0];return this._hi===t._hi&&this._lo===t._lo}},xl.prototype.isZero=function(){return 0===this._hi&&0===this._lo},xl.prototype.selfSubtract=function(){if(arguments[0]instanceof xl){var t=arguments[0];return this.isNaN()?this:this.selfAdd(-t._hi,-t._lo)}if(\"number\"==typeof arguments[0]){var e=arguments[0];return this.isNaN()?this:this.selfAdd(-e,0)}},xl.prototype.getSpecialNumberString=function(){return this.isZero()?\"0.0\":this.isNaN()?\"NaN \":null},xl.prototype.min=function(t){return this.le(t)?this:t},xl.prototype.selfDivide=function(){if(1===arguments.length){if(arguments[0]instanceof xl){var t=arguments[0];return this.selfDivide(t._hi,t._lo)}if(\"number\"==typeof arguments[0]){var e=arguments[0];return this.selfDivide(e,0)}}else if(2===arguments.length){var n=arguments[0],r=arguments[1],i=null,o=null,s=null,a=null,u=null,l=null,c=null,h=null;return u=this._hi/n,h=(i=(l=xl.SPLIT*u)-(i=l-u))*(s=(h=xl.SPLIT*n)-(s=h-n))-(c=u*n)+i*(a=n-s)+(o=u-i)*s+o*a,h=u+(l=(this._hi-c-h+this._lo-u*r)/n),this._hi=h,this._lo=u-h+l,this}},xl.prototype.dump=function(){return\"DD<\"+this._hi+\", \"+this._lo+\">\"},xl.prototype.divide=function(){if(arguments[0]instanceof xl){var t=arguments[0],e=null,n=null,r=null,i=null,o=null,s=null,a=null,u=null;n=(o=this._hi/t._hi)-(e=(s=xl.SPLIT*o)-(e=s-o)),u=e*(r=(u=xl.SPLIT*t._hi)-(r=u-t._hi))-(a=o*t._hi)+e*(i=t._hi-r)+n*r+n*i;var l=u=o+(s=(this._hi-a-u+this._lo-o*t._lo)/t._hi),c=o-u+s;return new xl(l,c)}if(\"number\"==typeof arguments[0]){var h=arguments[0];return nl.isNaN(h)?xl.createNaN():xl.copy(this).selfDivide(h,0)}},xl.prototype.ge=function(t){return(this._hi>t._hi||this._hi===t._hi)&&this._lo>=t._lo},xl.prototype.pow=function(t){if(0===t)return xl.valueOf(1);var e=new xl(this),n=xl.valueOf(1),r=Math.abs(t);if(r>1)for(;r>0;)r%2==1&&n.selfMultiply(e),(r/=2)>0&&(e=e.sqr());else n=e;return t<0?n.reciprocal():n},xl.prototype.ceil=function(){if(this.isNaN())return xl.NaN;var t=Math.ceil(this._hi),e=0;return t===this._hi&&(e=Math.ceil(this._lo)),new xl(t,e)},xl.prototype.compareTo=function(t){var e=t;return this._hi<e._hi?-1:this._hi>e._hi?1:this._lo<e._lo?-1:this._lo>e._lo?1:0},xl.prototype.rint=function(){return this.isNaN()?this:this.add(.5).floor()},xl.prototype.setValue=function(){if(arguments[0]instanceof xl){var t=arguments[0];return this.init(t),this}if(\"number\"==typeof arguments[0]){var e=arguments[0];return this.init(e),this}},xl.prototype.max=function(t){return this.ge(t)?this:t},xl.prototype.sqrt=function(){if(this.isZero())return xl.valueOf(0);if(this.isNegative())return xl.NaN;var t=1/Math.sqrt(this._hi),e=this._hi*t,n=xl.valueOf(e),r=this.subtract(n.sqr())._hi*(.5*t);return n.add(r)},xl.prototype.selfAdd=function(){if(1===arguments.length){if(arguments[0]instanceof xl){var t=arguments[0];return this.selfAdd(t._hi,t._lo)}if(\"number\"==typeof arguments[0]){var e=arguments[0],n=null,r=null,i=null,o=null,s=null,a=null;return o=(i=this._hi+e)-(s=i-this._hi),r=(a=(o=e-s+(this._hi-o))+this._lo)+(i-(n=i+a)),this._hi=n+r,this._lo=r+(n-this._hi),this}}else if(2===arguments.length){var u=arguments[0],l=arguments[1],c=null,h=null,p=null,f=null,g=null,d=null,y=null;f=this._hi+u,h=this._lo+l,g=f-(d=f-this._hi),p=h-(y=h-this._lo);var v=(c=f+(d=(g=u-d+(this._hi-g))+h))+(d=(p=l-y+(this._lo-p))+(d+(f-c))),_=d+(c-v);return this._hi=v,this._lo=_,this}},xl.prototype.selfMultiply=function(){if(1===arguments.length){if(arguments[0]instanceof xl){var t=arguments[0];return this.selfMultiply(t._hi,t._lo)}if(\"number\"==typeof arguments[0]){var e=arguments[0];return this.selfMultiply(e,0)}}else if(2===arguments.length){var n=arguments[0],r=arguments[1],i=null,o=null,s=null,a=null,u=null,l=null;i=(u=xl.SPLIT*this._hi)-this._hi,l=xl.SPLIT*n,i=u-i,o=this._hi-i,s=l-n;var c=(u=this._hi*n)+(l=i*(s=l-s)-u+i*(a=n-s)+o*s+o*a+(this._hi*r+this._lo*n)),h=l+(i=u-c);return this._hi=c,this._lo=h,this}},xl.prototype.selfSqr=function(){return this.selfMultiply(this)},xl.prototype.floor=function(){if(this.isNaN())return xl.NaN;var t=Math.floor(this._hi),e=0;return t===this._hi&&(e=Math.floor(this._lo)),new xl(t,e)},xl.prototype.negate=function(){return this.isNaN()?this:new xl(-this._hi,-this._lo)},xl.prototype.clone=function(){},xl.prototype.multiply=function(){if(arguments[0]instanceof xl){var t=arguments[0];return t.isNaN()?xl.createNaN():xl.copy(this).selfMultiply(t)}if(\"number\"==typeof arguments[0]){var e=arguments[0];return nl.isNaN(e)?xl.createNaN():xl.copy(this).selfMultiply(e,0)}},xl.prototype.isNaN=function(){return nl.isNaN(this._hi)},xl.prototype.intValue=function(){return Math.trunc(this._hi)},xl.prototype.toString=function(){var t=xl.magnitude(this._hi);return t>=-3&&t<=20?this.toStandardNotation():this.toSciNotation()},xl.prototype.toStandardNotation=function(){var t=this.getSpecialNumberString();if(null!==t)return t;var e=new Array(1).fill(null),n=this.extractSignificantDigits(!0,e),r=e[0]+1,i=n;if(\".\"===n.charAt(0))i=\"0\"+n;else if(r<0)i=\"0.\"+xl.stringOfChar(\"0\",-r)+n;else if(-1===n.indexOf(\".\")){var o=r-n.length;i=n+xl.stringOfChar(\"0\",o)+\".0\"}return this.isNegative()?\"-\"+i:i},xl.prototype.reciprocal=function(){var t,e,n,r,i=null,o=null,s=null,a=null;t=(n=1/this._hi)-(i=(s=xl.SPLIT*n)-(i=s-n)),o=(a=xl.SPLIT*this._hi)-this._hi;var u=n+(s=(1-(r=n*this._hi)-(a=i*(o=a-o)-r+i*(e=this._hi-o)+t*o+t*e)-n*this._lo)/this._hi);return new xl(u,n-u+s)},xl.prototype.toSciNotation=function(){if(this.isZero())return xl.SCI_NOT_ZERO;var t=this.getSpecialNumberString();if(null!==t)return t;var e=new Array(1).fill(null),n=this.extractSignificantDigits(!1,e),r=xl.SCI_NOT_EXPONENT_CHAR+e[0];if(\"0\"===n.charAt(0))throw new Error(\"Found leading zero: \"+n);var i=\"\";n.length>1&&(i=n.substring(1));var o=n.charAt(0)+\".\"+i;return this.isNegative()?\"-\"+o+r:o+r},xl.prototype.abs=function(){return this.isNaN()?xl.NaN:this.isNegative()?this.negate():new xl(this)},xl.prototype.isPositive=function(){return(this._hi>0||0===this._hi)&&this._lo>0},xl.prototype.lt=function(t){return(this._hi<t._hi||this._hi===t._hi)&&this._lo<t._lo},xl.prototype.add=function(){if(arguments[0]instanceof xl){var t=arguments[0];return xl.copy(this).selfAdd(t)}if(\"number\"==typeof arguments[0]){var e=arguments[0];return xl.copy(this).selfAdd(e)}},xl.prototype.init=function(){if(1===arguments.length){if(\"number\"==typeof arguments[0]){var t=arguments[0];this._hi=t,this._lo=0}else if(arguments[0]instanceof xl){var e=arguments[0];this._hi=e._hi,this._lo=e._lo}}else if(2===arguments.length){var n=arguments[0],r=arguments[1];this._hi=n,this._lo=r}},xl.prototype.gt=function(t){return(this._hi>t._hi||this._hi===t._hi)&&this._lo>t._lo},xl.prototype.isNegative=function(){return(this._hi<0||0===this._hi)&&this._lo<0},xl.prototype.trunc=function(){return this.isNaN()?xl.NaN:this.isPositive()?this.floor():this.ceil()},xl.prototype.signum=function(){return this._hi>0?1:this._hi<0?-1:this._lo>0?1:this._lo<0?-1:0},xl.prototype.interfaces_=function(){return[al,il,ol]},xl.prototype.getClass=function(){return xl},xl.sqr=function(t){return xl.valueOf(t).selfMultiply(t)},xl.valueOf=function(){if(\"string\"==typeof arguments[0]){var t=arguments[0];return xl.parse(t)}if(\"number\"==typeof arguments[0]){var e=arguments[0];return new xl(e)}},xl.sqrt=function(t){return xl.valueOf(t).sqrt()},xl.parse=function(t){for(var e=0,n=t.length;ml.isWhitespace(t.charAt(e));)e++;var r=!1;if(e<n){var i=t.charAt(e);\"-\"!==i&&\"+\"!==i||(e++,\"-\"===i&&(r=!0))}for(var o=new xl,s=0,a=0,u=0;!(e>=n);){var l=t.charAt(e);if(e++,ml.isDigit(l)){var c=l-\"0\";o.selfMultiply(xl.TEN),o.selfAdd(c),s++}else{if(\".\"!==l){if(\"e\"===l||\"E\"===l){var h=t.substring(e);try{u=_l.parseInt(h)}catch(e){throw e instanceof Error?new Error(\"Invalid exponent \"+h+\" in string \"+t):e}break}throw new Error(\"Unexpected character '\"+l+\"' at position \"+e+\" in string \"+t)}a=s}}var p=o,f=s-a-u;if(0===f)p=o;else if(f>0){var g=xl.TEN.pow(f);p=o.divide(g)}else if(f<0){var d=xl.TEN.pow(-f);p=o.multiply(d)}return r?p.negate():p},xl.createNaN=function(){return new xl(nl.NaN,nl.NaN)},xl.copy=function(t){return new xl(t)},xl.magnitude=function(t){var e=Math.abs(t),n=Math.log(e)/Math.log(10),r=Math.trunc(Math.floor(n));return 10*Math.pow(10,r)<=e&&(r+=1),r},xl.stringOfChar=function(t,e){for(var n=new vl,r=0;r<e;r++)n.append(t);return n.toString()},El.PI.get=function(){return new xl(3.141592653589793,12246467991473532e-32)},El.TWO_PI.get=function(){return new xl(6.283185307179586,24492935982947064e-32)},El.PI_2.get=function(){return new xl(1.5707963267948966,6123233995736766e-32)},El.E.get=function(){return new xl(2.718281828459045,14456468917292502e-32)},El.NaN.get=function(){return new xl(nl.NaN,nl.NaN)},El.EPS.get=function(){return 123259516440783e-46},El.SPLIT.get=function(){return 134217729},El.MAX_PRINT_DIGITS.get=function(){return 32},El.TEN.get=function(){return xl.valueOf(10)},El.ONE.get=function(){return xl.valueOf(1)},El.SCI_NOT_EXPONENT_CHAR.get=function(){return\"E\"},El.SCI_NOT_ZERO.get=function(){return\"0.0E0\"},Object.defineProperties(xl,El);var bl=function(){},wl={DP_SAFE_EPSILON:{configurable:!0}};bl.prototype.interfaces_=function(){return[]},bl.prototype.getClass=function(){return bl},bl.orientationIndex=function(t,e,n){var r=bl.orientationIndexFilter(t,e,n);if(r<=1)return r;var i=xl.valueOf(e.x).selfAdd(-t.x),o=xl.valueOf(e.y).selfAdd(-t.y),s=xl.valueOf(n.x).selfAdd(-e.x),a=xl.valueOf(n.y).selfAdd(-e.y);return i.selfMultiply(a).selfSubtract(o.selfMultiply(s)).signum()},bl.signOfDet2x2=function(t,e,n,r){return t.multiply(r).selfSubtract(e.multiply(n)).signum()},bl.intersection=function(t,e,n,r){var i=xl.valueOf(r.y).selfSubtract(n.y).selfMultiply(xl.valueOf(e.x).selfSubtract(t.x)),o=xl.valueOf(r.x).selfSubtract(n.x).selfMultiply(xl.valueOf(e.y).selfSubtract(t.y)),s=i.subtract(o),a=xl.valueOf(r.x).selfSubtract(n.x).selfMultiply(xl.valueOf(t.y).selfSubtract(n.y)),u=xl.valueOf(r.y).selfSubtract(n.y).selfMultiply(xl.valueOf(t.x).selfSubtract(n.x)),l=a.subtract(u).selfDivide(s).doubleValue(),c=xl.valueOf(t.x).selfAdd(xl.valueOf(e.x).selfSubtract(t.x).selfMultiply(l)).doubleValue(),h=xl.valueOf(e.x).selfSubtract(t.x).selfMultiply(xl.valueOf(t.y).selfSubtract(n.y)),p=xl.valueOf(e.y).selfSubtract(t.y).selfMultiply(xl.valueOf(t.x).selfSubtract(n.x)),f=h.subtract(p).selfDivide(s).doubleValue(),g=xl.valueOf(n.y).selfAdd(xl.valueOf(r.y).selfSubtract(n.y).selfMultiply(f)).doubleValue();return new ul(c,g)},bl.orientationIndexFilter=function(t,e,n){var r=null,i=(t.x-n.x)*(e.y-n.y),o=(t.y-n.y)*(e.x-n.x),s=i-o;if(i>0){if(o<=0)return bl.signum(s);r=i+o}else{if(!(i<0))return bl.signum(s);if(o>=0)return bl.signum(s);r=-i-o}var a=bl.DP_SAFE_EPSILON*r;return s>=a||-s>=a?bl.signum(s):2},bl.signum=function(t){return t>0?1:t<0?-1:0},wl.DP_SAFE_EPSILON.get=function(){return 1e-15},Object.defineProperties(bl,wl);var Il=function(){},Nl={X:{configurable:!0},Y:{configurable:!0},Z:{configurable:!0},M:{configurable:!0}};Nl.X.get=function(){return 0},Nl.Y.get=function(){return 1},Nl.Z.get=function(){return 2},Nl.M.get=function(){return 3},Il.prototype.setOrdinate=function(t,e,n){},Il.prototype.size=function(){},Il.prototype.getOrdinate=function(t,e){},Il.prototype.getCoordinate=function(){},Il.prototype.getCoordinateCopy=function(t){},Il.prototype.getDimension=function(){},Il.prototype.getX=function(t){},Il.prototype.clone=function(){},Il.prototype.expandEnvelope=function(t){},Il.prototype.copy=function(){},Il.prototype.getY=function(t){},Il.prototype.toCoordinateArray=function(){},Il.prototype.interfaces_=function(){return[ol]},Il.prototype.getClass=function(){return Il},Object.defineProperties(Il,Nl);var Sl=function(){},Cl=function(t){function e(){t.call(this,\"Projective point not representable on the Cartesian plane.\")}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(Sl),Pl=function(){};Pl.arraycopy=function(t,e,n,r,i){for(var o=0,s=e;s<e+i;s++)n[r+o]=t[s],o++},Pl.getProperty=function(t){return{\"line.separator\":\"\\n\"}[t]};var Ml=function t(){if(this.x=null,this.y=null,this.w=null,0===arguments.length)this.x=0,this.y=0,this.w=1;else if(1===arguments.length){var e=arguments[0];this.x=e.x,this.y=e.y,this.w=1}else if(2===arguments.length){if(\"number\"==typeof arguments[0]&&\"number\"==typeof arguments[1]){var n=arguments[0],r=arguments[1];this.x=n,this.y=r,this.w=1}else if(arguments[0]instanceof t&&arguments[1]instanceof t){var i=arguments[0],o=arguments[1];this.x=i.y*o.w-o.y*i.w,this.y=o.x*i.w-i.x*o.w,this.w=i.x*o.y-o.x*i.y}else if(arguments[0]instanceof ul&&arguments[1]instanceof ul){var s=arguments[0],a=arguments[1];this.x=s.y-a.y,this.y=a.x-s.x,this.w=s.x*a.y-a.x*s.y}}else if(3===arguments.length){var u=arguments[0],l=arguments[1],c=arguments[2];this.x=u,this.y=l,this.w=c}else if(4===arguments.length){var h=arguments[0],p=arguments[1],f=arguments[2],g=arguments[3],d=h.y-p.y,y=p.x-h.x,v=h.x*p.y-p.x*h.y,_=f.y-g.y,m=g.x-f.x,x=f.x*g.y-g.x*f.y;this.x=y*x-m*v,this.y=_*v-d*x,this.w=d*m-_*y}};Ml.prototype.getY=function(){var t=this.y/this.w;if(nl.isNaN(t)||nl.isInfinite(t))throw new Cl;return t},Ml.prototype.getX=function(){var t=this.x/this.w;if(nl.isNaN(t)||nl.isInfinite(t))throw new Cl;return t},Ml.prototype.getCoordinate=function(){var t=new ul;return t.x=this.getX(),t.y=this.getY(),t},Ml.prototype.interfaces_=function(){return[]},Ml.prototype.getClass=function(){return Ml},Ml.intersection=function(t,e,n,r){var i=t.y-e.y,o=e.x-t.x,s=t.x*e.y-e.x*t.y,a=n.y-r.y,u=r.x-n.x,l=n.x*r.y-r.x*n.y,c=i*u-a*o,h=(o*l-u*s)/c,p=(a*s-i*l)/c;if(nl.isNaN(h)||nl.isInfinite(h)||nl.isNaN(p)||nl.isInfinite(p))throw new Cl;return new ul(h,p)};var Ll=function t(){if(this._minx=null,this._maxx=null,this._miny=null,this._maxy=null,0===arguments.length)this.init();else if(1===arguments.length){if(arguments[0]instanceof ul){var e=arguments[0];this.init(e.x,e.x,e.y,e.y)}else if(arguments[0]instanceof t){var n=arguments[0];this.init(n)}}else if(2===arguments.length){var r=arguments[0],i=arguments[1];this.init(r.x,i.x,r.y,i.y)}else if(4===arguments.length){var o=arguments[0],s=arguments[1],a=arguments[2],u=arguments[3];this.init(o,s,a,u)}},Ol={serialVersionUID:{configurable:!0}};Ll.prototype.getArea=function(){return this.getWidth()*this.getHeight()},Ll.prototype.equals=function(t){if(!(t instanceof Ll))return!1;var e=t;return this.isNull()?e.isNull():this._maxx===e.getMaxX()&&this._maxy===e.getMaxY()&&this._minx===e.getMinX()&&this._miny===e.getMinY()},Ll.prototype.intersection=function(t){if(this.isNull()||t.isNull()||!this.intersects(t))return new Ll;var e=this._minx>t._minx?this._minx:t._minx,n=this._miny>t._miny?this._miny:t._miny,r=this._maxx<t._maxx?this._maxx:t._maxx,i=this._maxy<t._maxy?this._maxy:t._maxy;return new Ll(e,r,n,i)},Ll.prototype.isNull=function(){return this._maxx<this._minx},Ll.prototype.getMaxX=function(){return this._maxx},Ll.prototype.covers=function(){if(1===arguments.length){if(arguments[0]instanceof ul){var t=arguments[0];return this.covers(t.x,t.y)}if(arguments[0]instanceof Ll){var e=arguments[0];return!this.isNull()&&!e.isNull()&&(e.getMinX()>=this._minx&&e.getMaxX()<=this._maxx&&e.getMinY()>=this._miny&&e.getMaxY()<=this._maxy)}}else if(2===arguments.length){var n=arguments[0],r=arguments[1];return!this.isNull()&&(n>=this._minx&&n<=this._maxx&&r>=this._miny&&r<=this._maxy)}},Ll.prototype.intersects=function(){if(1===arguments.length){if(arguments[0]instanceof Ll){var t=arguments[0];return!this.isNull()&&!t.isNull()&&!(t._minx>this._maxx||t._maxx<this._minx||t._miny>this._maxy||t._maxy<this._miny)}if(arguments[0]instanceof ul){var e=arguments[0];return this.intersects(e.x,e.y)}}else if(2===arguments.length){var n=arguments[0],r=arguments[1];return!this.isNull()&&!(n>this._maxx||n<this._minx||r>this._maxy||r<this._miny)}},Ll.prototype.getMinY=function(){return this._miny},Ll.prototype.getMinX=function(){return this._minx},Ll.prototype.expandToInclude=function(){if(1===arguments.length){if(arguments[0]instanceof ul){var t=arguments[0];this.expandToInclude(t.x,t.y)}else if(arguments[0]instanceof Ll){var e=arguments[0];if(e.isNull())return null;this.isNull()?(this._minx=e.getMinX(),this._maxx=e.getMaxX(),this._miny=e.getMinY(),this._maxy=e.getMaxY()):(e._minx<this._minx&&(this._minx=e._minx),e._maxx>this._maxx&&(this._maxx=e._maxx),e._miny<this._miny&&(this._miny=e._miny),e._maxy>this._maxy&&(this._maxy=e._maxy))}}else if(2===arguments.length){var n=arguments[0],r=arguments[1];this.isNull()?(this._minx=n,this._maxx=n,this._miny=r,this._maxy=r):(n<this._minx&&(this._minx=n),n>this._maxx&&(this._maxx=n),r<this._miny&&(this._miny=r),r>this._maxy&&(this._maxy=r))}},Ll.prototype.minExtent=function(){if(this.isNull())return 0;var t=this.getWidth(),e=this.getHeight();return t<e?t:e},Ll.prototype.getWidth=function(){return this.isNull()?0:this._maxx-this._minx},Ll.prototype.compareTo=function(t){var e=t;return this.isNull()?e.isNull()?0:-1:e.isNull()?1:this._minx<e._minx?-1:this._minx>e._minx?1:this._miny<e._miny?-1:this._miny>e._miny?1:this._maxx<e._maxx?-1:this._maxx>e._maxx?1:this._maxy<e._maxy?-1:this._maxy>e._maxy?1:0},Ll.prototype.translate=function(t,e){if(this.isNull())return null;this.init(this.getMinX()+t,this.getMaxX()+t,this.getMinY()+e,this.getMaxY()+e)},Ll.prototype.toString=function(){return\"Env[\"+this._minx+\" : \"+this._maxx+\", \"+this._miny+\" : \"+this._maxy+\"]\"},Ll.prototype.setToNull=function(){this._minx=0,this._maxx=-1,this._miny=0,this._maxy=-1},Ll.prototype.getHeight=function(){return this.isNull()?0:this._maxy-this._miny},Ll.prototype.maxExtent=function(){if(this.isNull())return 0;var t=this.getWidth(),e=this.getHeight();return t>e?t:e},Ll.prototype.expandBy=function(){if(1===arguments.length){var t=arguments[0];this.expandBy(t,t)}else if(2===arguments.length){var e=arguments[0],n=arguments[1];if(this.isNull())return null;this._minx-=e,this._maxx+=e,this._miny-=n,this._maxy+=n,(this._minx>this._maxx||this._miny>this._maxy)&&this.setToNull()}},Ll.prototype.contains=function(){if(1===arguments.length){if(arguments[0]instanceof Ll){var t=arguments[0];return this.covers(t)}if(arguments[0]instanceof ul){var e=arguments[0];return this.covers(e)}}else if(2===arguments.length){var n=arguments[0],r=arguments[1];return this.covers(n,r)}},Ll.prototype.centre=function(){return this.isNull()?null:new ul((this.getMinX()+this.getMaxX())/2,(this.getMinY()+this.getMaxY())/2)},Ll.prototype.init=function(){if(0===arguments.length)this.setToNull();else if(1===arguments.length){if(arguments[0]instanceof ul){var t=arguments[0];this.init(t.x,t.x,t.y,t.y)}else if(arguments[0]instanceof Ll){var e=arguments[0];this._minx=e._minx,this._maxx=e._maxx,this._miny=e._miny,this._maxy=e._maxy}}else if(2===arguments.length){var n=arguments[0],r=arguments[1];this.init(n.x,r.x,n.y,r.y)}else if(4===arguments.length){var i=arguments[0],o=arguments[1],s=arguments[2],a=arguments[3];i<o?(this._minx=i,this._maxx=o):(this._minx=o,this._maxx=i),s<a?(this._miny=s,this._maxy=a):(this._miny=a,this._maxy=s)}},Ll.prototype.getMaxY=function(){return this._maxy},Ll.prototype.distance=function(t){if(this.intersects(t))return 0;var e=0;this._maxx<t._minx?e=t._minx-this._maxx:this._minx>t._maxx&&(e=this._minx-t._maxx);var n=0;return this._maxy<t._miny?n=t._miny-this._maxy:this._miny>t._maxy&&(n=this._miny-t._maxy),0===e?n:0===n?e:Math.sqrt(e*e+n*n)},Ll.prototype.hashCode=function(){var t=17;return t=37*(t=37*(t=37*(t=37*t+ul.hashCode(this._minx))+ul.hashCode(this._maxx))+ul.hashCode(this._miny))+ul.hashCode(this._maxy)},Ll.prototype.interfaces_=function(){return[il,al]},Ll.prototype.getClass=function(){return Ll},Ll.intersects=function(){if(3===arguments.length){var t=arguments[0],e=arguments[1],n=arguments[2];return n.x>=(t.x<e.x?t.x:e.x)&&n.x<=(t.x>e.x?t.x:e.x)&&n.y>=(t.y<e.y?t.y:e.y)&&n.y<=(t.y>e.y?t.y:e.y)}if(4===arguments.length){var r=arguments[0],i=arguments[1],o=arguments[2],s=arguments[3],a=Math.min(o.x,s.x),u=Math.max(o.x,s.x),l=Math.min(r.x,i.x),c=Math.max(r.x,i.x);return!(l>u)&&(!(c<a)&&(a=Math.min(o.y,s.y),u=Math.max(o.y,s.y),l=Math.min(r.y,i.y),c=Math.max(r.y,i.y),!(l>u)&&!(c<a)))}},Ol.serialVersionUID.get=function(){return 0x51845cd552189800},Object.defineProperties(Ll,Ol);var Rl={typeStr:/^\\s*(\\w+)\\s*\\(\\s*(.*)\\s*\\)\\s*$/,emptyTypeStr:/^\\s*(\\w+)\\s*EMPTY\\s*$/,spaces:/\\s+/,parenComma:/\\)\\s*,\\s*\\(/,doubleParenComma:/\\)\\s*\\)\\s*,\\s*\\(\\s*\\(/,trimParens:/^\\s*\\(?(.*?)\\)?\\s*$/},Tl=function(t){this.geometryFactory=t||new _h};Tl.prototype.read=function(t){var e,n,r;t=t.replace(/[\\n\\r]/g,\" \");var i=Rl.typeStr.exec(t);if(-1!==t.search(\"EMPTY\")&&((i=Rl.emptyTypeStr.exec(t))[2]=void 0),i&&(n=i[1].toLowerCase(),r=i[2],Dl[n]&&(e=Dl[n].apply(this,[r]))),void 0===e)throw new Error(\"Could not parse WKT \"+t);return e},Tl.prototype.write=function(t){return this.extractGeometry(t)},Tl.prototype.extractGeometry=function(t){var e=t.getGeometryType().toLowerCase();if(!Al[e])return null;var n=e.toUpperCase();return t.isEmpty()?n+\" EMPTY\":n+\"(\"+Al[e].apply(this,[t])+\")\"};var Al={coordinate:function(t){return t.x+\" \"+t.y},point:function(t){return Al.coordinate.call(this,t._coordinates._coordinates[0])},multipoint:function(t){for(var e=[],n=0,r=t._geometries.length;n<r;++n)e.push(\"(\"+Al.point.apply(this,[t._geometries[n]])+\")\");return e.join(\",\")},linestring:function(t){for(var e=[],n=0,r=t._points._coordinates.length;n<r;++n)e.push(Al.coordinate.apply(this,[t._points._coordinates[n]]));return e.join(\",\")},linearring:function(t){for(var e=[],n=0,r=t._points._coordinates.length;n<r;++n)e.push(Al.coordinate.apply(this,[t._points._coordinates[n]]));return e.join(\",\")},multilinestring:function(t){for(var e=[],n=0,r=t._geometries.length;n<r;++n)e.push(\"(\"+Al.linestring.apply(this,[t._geometries[n]])+\")\");return e.join(\",\")},polygon:function(t){var e=[];e.push(\"(\"+Al.linestring.apply(this,[t._shell])+\")\");for(var n=0,r=t._holes.length;n<r;++n)e.push(\"(\"+Al.linestring.apply(this,[t._holes[n]])+\")\");return e.join(\",\")},multipolygon:function(t){for(var e=[],n=0,r=t._geometries.length;n<r;++n)e.push(\"(\"+Al.polygon.apply(this,[t._geometries[n]])+\")\");return e.join(\",\")},geometrycollection:function(t){for(var e=[],n=0,r=t._geometries.length;n<r;++n)e.push(this.extractGeometry(t._geometries[n]));return e.join(\",\")}},Dl={point:function(t){if(void 0===t)return this.geometryFactory.createPoint();var e=t.trim().split(Rl.spaces);return this.geometryFactory.createPoint(new ul(Number.parseFloat(e[0]),Number.parseFloat(e[1])))},multipoint:function(t){var e;if(void 0===t)return this.geometryFactory.createMultiPoint();for(var n=t.trim().split(\",\"),r=[],i=0,o=n.length;i<o;++i)e=n[i].replace(Rl.trimParens,\"$1\"),r.push(Dl.point.apply(this,[e]));return this.geometryFactory.createMultiPoint(r)},linestring:function(t){if(void 0===t)return this.geometryFactory.createLineString();for(var e,n=t.trim().split(\",\"),r=[],i=0,o=n.length;i<o;++i)e=n[i].trim().split(Rl.spaces),r.push(new ul(Number.parseFloat(e[0]),Number.parseFloat(e[1])));return this.geometryFactory.createLineString(r)},linearring:function(t){if(void 0===t)return this.geometryFactory.createLinearRing();for(var e,n=t.trim().split(\",\"),r=[],i=0,o=n.length;i<o;++i)e=n[i].trim().split(Rl.spaces),r.push(new ul(Number.parseFloat(e[0]),Number.parseFloat(e[1])));return this.geometryFactory.createLinearRing(r)},multilinestring:function(t){var e;if(void 0===t)return this.geometryFactory.createMultiLineString();for(var n=t.trim().split(Rl.parenComma),r=[],i=0,o=n.length;i<o;++i)e=n[i].replace(Rl.trimParens,\"$1\"),r.push(Dl.linestring.apply(this,[e]));return this.geometryFactory.createMultiLineString(r)},polygon:function(t){var e,n,r;if(void 0===t)return this.geometryFactory.createPolygon();for(var i,o=t.trim().split(Rl.parenComma),s=[],a=0,u=o.length;a<u;++a)e=o[a].replace(Rl.trimParens,\"$1\"),n=Dl.linestring.apply(this,[e]),r=this.geometryFactory.createLinearRing(n._points),0===a?i=r:s.push(r);return this.geometryFactory.createPolygon(i,s)},multipolygon:function(t){var e;if(void 0===t)return this.geometryFactory.createMultiPolygon();for(var n=t.trim().split(Rl.doubleParenComma),r=[],i=0,o=n.length;i<o;++i)e=n[i].replace(Rl.trimParens,\"$1\"),r.push(Dl.polygon.apply(this,[e]));return this.geometryFactory.createMultiPolygon(r)},geometrycollection:function(t){if(void 0===t)return this.geometryFactory.createGeometryCollection();for(var e=(t=t.replace(/,\\s*([A-Za-z])/g,\"|$1\")).trim().split(\"|\"),n=[],r=0,i=e.length;r<i;++r)n.push(this.read(e[r]));return this.geometryFactory.createGeometryCollection(n)}},Fl=function(t){this.parser=new Tl(t)};Fl.prototype.write=function(t){return this.parser.write(t)},Fl.toLineString=function(t,e){if(2!==arguments.length)throw new Error(\"Not implemented\");return\"LINESTRING ( \"+t.x+\" \"+t.y+\", \"+e.x+\" \"+e.y+\" )\"};var kl=function(t){function e(e){t.call(this,e),this.name=\"RuntimeException\",this.message=e,this.stack=(new t).stack}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Error),Gl=function(t){function e(){if(t.call(this),0===arguments.length)t.call(this);else if(1===arguments.length){var e=arguments[0];t.call(this,e)}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(kl),ql=function(){};ql.prototype.interfaces_=function(){return[]},ql.prototype.getClass=function(){return ql},ql.shouldNeverReachHere=function(){if(0===arguments.length)ql.shouldNeverReachHere(null);else if(1===arguments.length){var t=arguments[0];throw new Gl(\"Should never reach here\"+(null!==t?\": \"+t:\"\"))}},ql.isTrue=function(){var t;if(1===arguments.length)ql.isTrue(arguments[0],null);else if(2===arguments.length&&(t=arguments[1],!arguments[0]))throw null===t?new Gl:new Gl(t)},ql.equals=function(){var t,e,n;if(2===arguments.length)ql.equals(t=arguments[0],e=arguments[1],null);else if(3===arguments.length&&(t=arguments[0],n=arguments[2],!(e=arguments[1]).equals(t)))throw new Gl(\"Expected \"+t+\" but encountered \"+e+(null!==n?\": \"+n:\"\"))};var Bl=function(){this._result=null,this._inputLines=Array(2).fill().map((function(){return Array(2)})),this._intPt=new Array(2).fill(null),this._intLineIndex=null,this._isProper=null,this._pa=null,this._pb=null,this._precisionModel=null,this._intPt[0]=new ul,this._intPt[1]=new ul,this._pa=this._intPt[0],this._pb=this._intPt[1],this._result=0},zl={DONT_INTERSECT:{configurable:!0},DO_INTERSECT:{configurable:!0},COLLINEAR:{configurable:!0},NO_INTERSECTION:{configurable:!0},POINT_INTERSECTION:{configurable:!0},COLLINEAR_INTERSECTION:{configurable:!0}};Bl.prototype.getIndexAlongSegment=function(t,e){return this.computeIntLineIndex(),this._intLineIndex[t][e]},Bl.prototype.getTopologySummary=function(){var t=new vl;return this.isEndPoint()&&t.append(\" endpoint\"),this._isProper&&t.append(\" proper\"),this.isCollinear()&&t.append(\" collinear\"),t.toString()},Bl.prototype.computeIntersection=function(t,e,n,r){this._inputLines[0][0]=t,this._inputLines[0][1]=e,this._inputLines[1][0]=n,this._inputLines[1][1]=r,this._result=this.computeIntersect(t,e,n,r)},Bl.prototype.getIntersectionNum=function(){return this._result},Bl.prototype.computeIntLineIndex=function(){if(0===arguments.length)null===this._intLineIndex&&(this._intLineIndex=Array(2).fill().map((function(){return Array(2)})),this.computeIntLineIndex(0),this.computeIntLineIndex(1));else if(1===arguments.length){var t=arguments[0],e=this.getEdgeDistance(t,0),n=this.getEdgeDistance(t,1);e>n?(this._intLineIndex[t][0]=0,this._intLineIndex[t][1]=1):(this._intLineIndex[t][0]=1,this._intLineIndex[t][1]=0)}},Bl.prototype.isProper=function(){return this.hasIntersection()&&this._isProper},Bl.prototype.setPrecisionModel=function(t){this._precisionModel=t},Bl.prototype.isInteriorIntersection=function(){var t=this;if(0===arguments.length)return!!this.isInteriorIntersection(0)||!!this.isInteriorIntersection(1);if(1===arguments.length){for(var e=arguments[0],n=0;n<this._result;n++)if(!t._intPt[n].equals2D(t._inputLines[e][0])&&!t._intPt[n].equals2D(t._inputLines[e][1]))return!0;return!1}},Bl.prototype.getIntersection=function(t){return this._intPt[t]},Bl.prototype.isEndPoint=function(){return this.hasIntersection()&&!this._isProper},Bl.prototype.hasIntersection=function(){return this._result!==Bl.NO_INTERSECTION},Bl.prototype.getEdgeDistance=function(t,e){return Bl.computeEdgeDistance(this._intPt[e],this._inputLines[t][0],this._inputLines[t][1])},Bl.prototype.isCollinear=function(){return this._result===Bl.COLLINEAR_INTERSECTION},Bl.prototype.toString=function(){return Fl.toLineString(this._inputLines[0][0],this._inputLines[0][1])+\" - \"+Fl.toLineString(this._inputLines[1][0],this._inputLines[1][1])+this.getTopologySummary()},Bl.prototype.getEndpoint=function(t,e){return this._inputLines[t][e]},Bl.prototype.isIntersection=function(t){for(var e=0;e<this._result;e++)if(this._intPt[e].equals2D(t))return!0;return!1},Bl.prototype.getIntersectionAlongSegment=function(t,e){return this.computeIntLineIndex(),this._intPt[this._intLineIndex[t][e]]},Bl.prototype.interfaces_=function(){return[]},Bl.prototype.getClass=function(){return Bl},Bl.computeEdgeDistance=function(t,e,n){var r=Math.abs(n.x-e.x),i=Math.abs(n.y-e.y),o=-1;if(t.equals(e))o=0;else if(t.equals(n))o=r>i?r:i;else{var s=Math.abs(t.x-e.x),a=Math.abs(t.y-e.y);0!==(o=r>i?s:a)||t.equals(e)||(o=Math.max(s,a))}return ql.isTrue(!(0===o&&!t.equals(e)),\"Bad distance calculation\"),o},Bl.nonRobustComputeEdgeDistance=function(t,e,n){var r=t.x-e.x,i=t.y-e.y,o=Math.sqrt(r*r+i*i);return ql.isTrue(!(0===o&&!t.equals(e)),\"Invalid distance calculation\"),o},zl.DONT_INTERSECT.get=function(){return 0},zl.DO_INTERSECT.get=function(){return 1},zl.COLLINEAR.get=function(){return 2},zl.NO_INTERSECTION.get=function(){return 0},zl.POINT_INTERSECTION.get=function(){return 1},zl.COLLINEAR_INTERSECTION.get=function(){return 2},Object.defineProperties(Bl,zl);var jl=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.isInSegmentEnvelopes=function(t){var e=new Ll(this._inputLines[0][0],this._inputLines[0][1]),n=new Ll(this._inputLines[1][0],this._inputLines[1][1]);return e.contains(t)&&n.contains(t)},e.prototype.computeIntersection=function(){if(3!==arguments.length)return t.prototype.computeIntersection.apply(this,arguments);var e=arguments[0],n=arguments[1],r=arguments[2];if(this._isProper=!1,Ll.intersects(n,r,e)&&0===Xl.orientationIndex(n,r,e)&&0===Xl.orientationIndex(r,n,e))return this._isProper=!0,(e.equals(n)||e.equals(r))&&(this._isProper=!1),this._result=t.POINT_INTERSECTION,null;this._result=t.NO_INTERSECTION},e.prototype.normalizeToMinimum=function(t,e,n,r,i){i.x=this.smallestInAbsValue(t.x,e.x,n.x,r.x),i.y=this.smallestInAbsValue(t.y,e.y,n.y,r.y),t.x-=i.x,t.y-=i.y,e.x-=i.x,e.y-=i.y,n.x-=i.x,n.y-=i.y,r.x-=i.x,r.y-=i.y},e.prototype.safeHCoordinateIntersection=function(t,n,r,i){var o=null;try{o=Ml.intersection(t,n,r,i)}catch(s){if(!(s instanceof Cl))throw s;o=e.nearestEndpoint(t,n,r,i)}return o},e.prototype.intersection=function(t,n,r,i){var o=this.intersectionWithNormalization(t,n,r,i);return this.isInSegmentEnvelopes(o)||(o=new ul(e.nearestEndpoint(t,n,r,i))),null!==this._precisionModel&&this._precisionModel.makePrecise(o),o},e.prototype.smallestInAbsValue=function(t,e,n,r){var i=t,o=Math.abs(i);return Math.abs(e)<o&&(i=e,o=Math.abs(e)),Math.abs(n)<o&&(i=n,o=Math.abs(n)),Math.abs(r)<o&&(i=r),i},e.prototype.checkDD=function(t,e,n,r,i){var o=bl.intersection(t,e,n,r),s=this.isInSegmentEnvelopes(o);Pl.out.println(\"DD in env = \"+s+\"  --------------------- \"+o),i.distance(o)>1e-4&&Pl.out.println(\"Distance = \"+i.distance(o))},e.prototype.intersectionWithNormalization=function(t,e,n,r){var i=new ul(t),o=new ul(e),s=new ul(n),a=new ul(r),u=new ul;this.normalizeToEnvCentre(i,o,s,a,u);var l=this.safeHCoordinateIntersection(i,o,s,a);return l.x+=u.x,l.y+=u.y,l},e.prototype.computeCollinearIntersection=function(e,n,r,i){var o=Ll.intersects(e,n,r),s=Ll.intersects(e,n,i),a=Ll.intersects(r,i,e),u=Ll.intersects(r,i,n);return o&&s?(this._intPt[0]=r,this._intPt[1]=i,t.COLLINEAR_INTERSECTION):a&&u?(this._intPt[0]=e,this._intPt[1]=n,t.COLLINEAR_INTERSECTION):o&&a?(this._intPt[0]=r,this._intPt[1]=e,!r.equals(e)||s||u?t.COLLINEAR_INTERSECTION:t.POINT_INTERSECTION):o&&u?(this._intPt[0]=r,this._intPt[1]=n,!r.equals(n)||s||a?t.COLLINEAR_INTERSECTION:t.POINT_INTERSECTION):s&&a?(this._intPt[0]=i,this._intPt[1]=e,!i.equals(e)||o||u?t.COLLINEAR_INTERSECTION:t.POINT_INTERSECTION):s&&u?(this._intPt[0]=i,this._intPt[1]=n,!i.equals(n)||o||a?t.COLLINEAR_INTERSECTION:t.POINT_INTERSECTION):t.NO_INTERSECTION},e.prototype.normalizeToEnvCentre=function(t,e,n,r,i){var o=t.x<e.x?t.x:e.x,s=t.y<e.y?t.y:e.y,a=t.x>e.x?t.x:e.x,u=t.y>e.y?t.y:e.y,l=n.x<r.x?n.x:r.x,c=n.y<r.y?n.y:r.y,h=n.x>r.x?n.x:r.x,p=n.y>r.y?n.y:r.y,f=((o>l?o:l)+(a<h?a:h))/2,g=((s>c?s:c)+(u<p?u:p))/2;i.x=f,i.y=g,t.x-=i.x,t.y-=i.y,e.x-=i.x,e.y-=i.y,n.x-=i.x,n.y-=i.y,r.x-=i.x,r.y-=i.y},e.prototype.computeIntersect=function(e,n,r,i){if(this._isProper=!1,!Ll.intersects(e,n,r,i))return t.NO_INTERSECTION;var o=Xl.orientationIndex(e,n,r),s=Xl.orientationIndex(e,n,i);if(o>0&&s>0||o<0&&s<0)return t.NO_INTERSECTION;var a=Xl.orientationIndex(r,i,e),u=Xl.orientationIndex(r,i,n);return a>0&&u>0||a<0&&u<0?t.NO_INTERSECTION:0===o&&0===s&&0===a&&0===u?this.computeCollinearIntersection(e,n,r,i):(0===o||0===s||0===a||0===u?(this._isProper=!1,e.equals2D(r)||e.equals2D(i)?this._intPt[0]=e:n.equals2D(r)||n.equals2D(i)?this._intPt[0]=n:0===o?this._intPt[0]=new ul(r):0===s?this._intPt[0]=new ul(i):0===a?this._intPt[0]=new ul(e):0===u&&(this._intPt[0]=new ul(n))):(this._isProper=!0,this._intPt[0]=this.intersection(e,n,r,i)),t.POINT_INTERSECTION)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e.nearestEndpoint=function(t,e,n,r){var i=t,o=Xl.distancePointLine(t,n,r),s=Xl.distancePointLine(e,n,r);return s<o&&(o=s,i=e),(s=Xl.distancePointLine(n,t,e))<o&&(o=s,i=n),(s=Xl.distancePointLine(r,t,e))<o&&(o=s,i=r),i},e}(Bl),Ul=function(){};Ul.prototype.interfaces_=function(){return[]},Ul.prototype.getClass=function(){return Ul},Ul.orientationIndex=function(t,e,n){var r=e.x-t.x,i=e.y-t.y,o=n.x-e.x,s=n.y-e.y;return Ul.signOfDet2x2(r,i,o,s)},Ul.signOfDet2x2=function(t,e,n,r){var i=null,o=null,s=null;if(i=1,0===t||0===r)return 0===e||0===n?0:e>0?n>0?-i:i:n>0?i:-i;if(0===e||0===n)return r>0?t>0?i:-i:t>0?-i:i;if(e>0?r>0?e<=r||(i=-i,o=t,t=n,n=o,o=e,e=r,r=o):e<=-r?(i=-i,n=-n,r=-r):(o=t,t=-n,n=o,o=e,e=-r,r=o):r>0?-e<=r?(i=-i,t=-t,e=-e):(o=-t,t=n,n=o,o=-e,e=r,r=o):e>=r?(t=-t,e=-e,n=-n,r=-r):(i=-i,o=-t,t=-n,n=o,o=-e,e=-r,r=o),t>0){if(!(n>0))return i;if(!(t<=n))return i}else{if(n>0)return-i;if(!(t>=n))return-i;i=-i,t=-t,n=-n}for(;;){if((r-=(s=Math.floor(n/t))*e)<0)return-i;if(r>e)return i;if(t>(n-=s*t)+n){if(e<r+r)return i}else{if(e>r+r)return-i;n=t-n,r=e-r,i=-i}if(0===r)return 0===n?0:-i;if(0===n)return i;if((e-=(s=Math.floor(t/n))*r)<0)return i;if(e>r)return-i;if(n>(t-=s*n)+t){if(r<e+e)return-i}else{if(r>e+e)return i;t=n-t,e=r-e,i=-i}if(0===e)return 0===t?0:i;if(0===t)return-i}};var Vl=function(){this._p=null,this._crossingCount=0,this._isPointOnSegment=!1;var t=arguments[0];this._p=t};Vl.prototype.countSegment=function(t,e){if(t.x<this._p.x&&e.x<this._p.x)return null;if(this._p.x===e.x&&this._p.y===e.y)return this._isPointOnSegment=!0,null;if(t.y===this._p.y&&e.y===this._p.y){var n=t.x,r=e.x;return n>r&&(n=e.x,r=t.x),this._p.x>=n&&this._p.x<=r&&(this._isPointOnSegment=!0),null}if(t.y>this._p.y&&e.y<=this._p.y||e.y>this._p.y&&t.y<=this._p.y){var i=t.x-this._p.x,o=t.y-this._p.y,s=e.x-this._p.x,a=e.y-this._p.y,u=Ul.signOfDet2x2(i,o,s,a);if(0===u)return this._isPointOnSegment=!0,null;a<o&&(u=-u),u>0&&this._crossingCount++}},Vl.prototype.isPointInPolygon=function(){return this.getLocation()!==pl.EXTERIOR},Vl.prototype.getLocation=function(){return this._isPointOnSegment?pl.BOUNDARY:this._crossingCount%2==1?pl.INTERIOR:pl.EXTERIOR},Vl.prototype.isOnSegment=function(){return this._isPointOnSegment},Vl.prototype.interfaces_=function(){return[]},Vl.prototype.getClass=function(){return Vl},Vl.locatePointInRing=function(){if(arguments[0]instanceof ul&&gl(arguments[1],Il)){for(var t=arguments[0],e=arguments[1],n=new Vl(t),r=new ul,i=new ul,o=1;o<e.size();o++)if(e.getCoordinate(o,r),e.getCoordinate(o-1,i),n.countSegment(r,i),n.isOnSegment())return n.getLocation();return n.getLocation()}if(arguments[0]instanceof ul&&arguments[1]instanceof Array){for(var s=arguments[0],a=arguments[1],u=new Vl(s),l=1;l<a.length;l++){var c=a[l],h=a[l-1];if(u.countSegment(c,h),u.isOnSegment())return u.getLocation()}return u.getLocation()}};var Xl=function(){},Yl={CLOCKWISE:{configurable:!0},RIGHT:{configurable:!0},COUNTERCLOCKWISE:{configurable:!0},LEFT:{configurable:!0},COLLINEAR:{configurable:!0},STRAIGHT:{configurable:!0}};Xl.prototype.interfaces_=function(){return[]},Xl.prototype.getClass=function(){return Xl},Xl.orientationIndex=function(t,e,n){return bl.orientationIndex(t,e,n)},Xl.signedArea=function(){if(arguments[0]instanceof Array){var t=arguments[0];if(t.length<3)return 0;for(var e=0,n=t[0].x,r=1;r<t.length-1;r++){var i=t[r].x-n,o=t[r+1].y,s=t[r-1].y;e+=i*(s-o)}return e/2}if(gl(arguments[0],Il)){var a=arguments[0],u=a.size();if(u<3)return 0;var l=new ul,c=new ul,h=new ul;a.getCoordinate(0,c),a.getCoordinate(1,h);var p=c.x;h.x-=p;for(var f=0,g=1;g<u-1;g++)l.y=c.y,c.x=h.x,c.y=h.y,a.getCoordinate(g+1,h),h.x-=p,f+=c.x*(l.y-h.y);return f/2}},Xl.distanceLineLine=function(t,e,n,r){if(t.equals(e))return Xl.distancePointLine(t,n,r);if(n.equals(r))return Xl.distancePointLine(r,t,e);var i=!1;if(Ll.intersects(t,e,n,r)){var o=(e.x-t.x)*(r.y-n.y)-(e.y-t.y)*(r.x-n.x);if(0===o)i=!0;else{var s=(t.y-n.y)*(r.x-n.x)-(t.x-n.x)*(r.y-n.y),a=((t.y-n.y)*(e.x-t.x)-(t.x-n.x)*(e.y-t.y))/o,u=s/o;(u<0||u>1||a<0||a>1)&&(i=!0)}}else i=!0;return i?dl.min(Xl.distancePointLine(t,n,r),Xl.distancePointLine(e,n,r),Xl.distancePointLine(n,t,e),Xl.distancePointLine(r,t,e)):0},Xl.isPointInRing=function(t,e){return Xl.locatePointInRing(t,e)!==pl.EXTERIOR},Xl.computeLength=function(t){var e=t.size();if(e<=1)return 0;var n=0,r=new ul;t.getCoordinate(0,r);for(var i=r.x,o=r.y,s=1;s<e;s++){t.getCoordinate(s,r);var a=r.x,u=r.y,l=a-i,c=u-o;n+=Math.sqrt(l*l+c*c),i=a,o=u}return n},Xl.isCCW=function(t){var e=t.length-1;if(e<3)throw new el(\"Ring has fewer than 4 points, so orientation cannot be determined\");for(var n=t[0],r=0,i=1;i<=e;i++){var o=t[i];o.y>n.y&&(n=o,r=i)}var s=r;do{(s-=1)<0&&(s=e)}while(t[s].equals2D(n)&&s!==r);var a=r;do{a=(a+1)%e}while(t[a].equals2D(n)&&a!==r);var u=t[s],l=t[a];if(u.equals2D(n)||l.equals2D(n)||u.equals2D(l))return!1;var c=Xl.computeOrientation(u,n,l),h=!1;return h=0===c?u.x>l.x:c>0,h},Xl.locatePointInRing=function(t,e){return Vl.locatePointInRing(t,e)},Xl.distancePointLinePerpendicular=function(t,e,n){var r=(n.x-e.x)*(n.x-e.x)+(n.y-e.y)*(n.y-e.y),i=((e.y-t.y)*(n.x-e.x)-(e.x-t.x)*(n.y-e.y))/r;return Math.abs(i)*Math.sqrt(r)},Xl.computeOrientation=function(t,e,n){return Xl.orientationIndex(t,e,n)},Xl.distancePointLine=function(){if(2===arguments.length){var t=arguments[0],e=arguments[1];if(0===e.length)throw new el(\"Line array must contain at least one vertex\");for(var n=t.distance(e[0]),r=0;r<e.length-1;r++){var i=Xl.distancePointLine(t,e[r],e[r+1]);i<n&&(n=i)}return n}if(3===arguments.length){var o=arguments[0],s=arguments[1],a=arguments[2];if(s.x===a.x&&s.y===a.y)return o.distance(s);var u=(a.x-s.x)*(a.x-s.x)+(a.y-s.y)*(a.y-s.y),l=((o.x-s.x)*(a.x-s.x)+(o.y-s.y)*(a.y-s.y))/u;if(l<=0)return o.distance(s);if(l>=1)return o.distance(a);var c=((s.y-o.y)*(a.x-s.x)-(s.x-o.x)*(a.y-s.y))/u;return Math.abs(c)*Math.sqrt(u)}},Xl.isOnLine=function(t,e){for(var n=new jl,r=1;r<e.length;r++){var i=e[r-1],o=e[r];if(n.computeIntersection(t,i,o),n.hasIntersection())return!0}return!1},Yl.CLOCKWISE.get=function(){return-1},Yl.RIGHT.get=function(){return Xl.CLOCKWISE},Yl.COUNTERCLOCKWISE.get=function(){return 1},Yl.LEFT.get=function(){return Xl.COUNTERCLOCKWISE},Yl.COLLINEAR.get=function(){return 0},Yl.STRAIGHT.get=function(){return Xl.COLLINEAR},Object.defineProperties(Xl,Yl);var Hl=function(){};Hl.prototype.filter=function(t){},Hl.prototype.interfaces_=function(){return[]},Hl.prototype.getClass=function(){return Hl};var Wl=function(){var t=arguments[0];this._envelope=null,this._factory=null,this._SRID=null,this._userData=null,this._factory=t,this._SRID=t.getSRID()},Jl={serialVersionUID:{configurable:!0},SORTINDEX_POINT:{configurable:!0},SORTINDEX_MULTIPOINT:{configurable:!0},SORTINDEX_LINESTRING:{configurable:!0},SORTINDEX_LINEARRING:{configurable:!0},SORTINDEX_MULTILINESTRING:{configurable:!0},SORTINDEX_POLYGON:{configurable:!0},SORTINDEX_MULTIPOLYGON:{configurable:!0},SORTINDEX_GEOMETRYCOLLECTION:{configurable:!0},geometryChangedFilter:{configurable:!0}};Wl.prototype.isGeometryCollection=function(){return this.getSortIndex()===Wl.SORTINDEX_GEOMETRYCOLLECTION},Wl.prototype.getFactory=function(){return this._factory},Wl.prototype.getGeometryN=function(t){return this},Wl.prototype.getArea=function(){return 0},Wl.prototype.isRectangle=function(){return!1},Wl.prototype.equals=function(){if(arguments[0]instanceof Wl){var t=arguments[0];return null!==t&&this.equalsTopo(t)}if(arguments[0]instanceof Object){var e=arguments[0];if(!(e instanceof Wl))return!1;var n=e;return this.equalsExact(n)}},Wl.prototype.equalsExact=function(t){return this===t||this.equalsExact(t,0)},Wl.prototype.geometryChanged=function(){this.apply(Wl.geometryChangedFilter)},Wl.prototype.geometryChangedAction=function(){this._envelope=null},Wl.prototype.equalsNorm=function(t){return null!==t&&this.norm().equalsExact(t.norm())},Wl.prototype.getLength=function(){return 0},Wl.prototype.getNumGeometries=function(){return 1},Wl.prototype.compareTo=function(){if(1===arguments.length){var t=arguments[0],e=t;return this.getSortIndex()!==e.getSortIndex()?this.getSortIndex()-e.getSortIndex():this.isEmpty()&&e.isEmpty()?0:this.isEmpty()?-1:e.isEmpty()?1:this.compareToSameClass(t)}if(2===arguments.length){var n=arguments[0],r=arguments[1];return this.getSortIndex()!==n.getSortIndex()?this.getSortIndex()-n.getSortIndex():this.isEmpty()&&n.isEmpty()?0:this.isEmpty()?-1:n.isEmpty()?1:this.compareToSameClass(n,r)}},Wl.prototype.getUserData=function(){return this._userData},Wl.prototype.getSRID=function(){return this._SRID},Wl.prototype.getEnvelope=function(){return this.getFactory().toGeometry(this.getEnvelopeInternal())},Wl.prototype.checkNotGeometryCollection=function(t){if(t.getSortIndex()===Wl.SORTINDEX_GEOMETRYCOLLECTION)throw new el(\"This method does not support GeometryCollection arguments\")},Wl.prototype.equal=function(t,e,n){return 0===n?t.equals(e):t.distance(e)<=n},Wl.prototype.norm=function(){var t=this.copy();return t.normalize(),t},Wl.prototype.getPrecisionModel=function(){return this._factory.getPrecisionModel()},Wl.prototype.getEnvelopeInternal=function(){return null===this._envelope&&(this._envelope=this.computeEnvelopeInternal()),new Ll(this._envelope)},Wl.prototype.setSRID=function(t){this._SRID=t},Wl.prototype.setUserData=function(t){this._userData=t},Wl.prototype.compare=function(t,e){for(var n=t.iterator(),r=e.iterator();n.hasNext()&&r.hasNext();){var i=n.next(),o=r.next(),s=i.compareTo(o);if(0!==s)return s}return n.hasNext()?1:r.hasNext()?-1:0},Wl.prototype.hashCode=function(){return this.getEnvelopeInternal().hashCode()},Wl.prototype.isGeometryCollectionOrDerived=function(){return this.getSortIndex()===Wl.SORTINDEX_GEOMETRYCOLLECTION||this.getSortIndex()===Wl.SORTINDEX_MULTIPOINT||this.getSortIndex()===Wl.SORTINDEX_MULTILINESTRING||this.getSortIndex()===Wl.SORTINDEX_MULTIPOLYGON},Wl.prototype.interfaces_=function(){return[ol,il,al]},Wl.prototype.getClass=function(){return Wl},Wl.hasNonEmptyElements=function(t){for(var e=0;e<t.length;e++)if(!t[e].isEmpty())return!0;return!1},Wl.hasNullElements=function(t){for(var e=0;e<t.length;e++)if(null===t[e])return!0;return!1},Jl.serialVersionUID.get=function(){return 0x799ea46522854c00},Jl.SORTINDEX_POINT.get=function(){return 0},Jl.SORTINDEX_MULTIPOINT.get=function(){return 1},Jl.SORTINDEX_LINESTRING.get=function(){return 2},Jl.SORTINDEX_LINEARRING.get=function(){return 3},Jl.SORTINDEX_MULTILINESTRING.get=function(){return 4},Jl.SORTINDEX_POLYGON.get=function(){return 5},Jl.SORTINDEX_MULTIPOLYGON.get=function(){return 6},Jl.SORTINDEX_GEOMETRYCOLLECTION.get=function(){return 7},Jl.geometryChangedFilter.get=function(){return Zl},Object.defineProperties(Wl,Jl);var Zl=function(){};Zl.interfaces_=function(){return[Hl]},Zl.filter=function(t){t.geometryChangedAction()};var Kl=function(){};Kl.prototype.filter=function(t){},Kl.prototype.interfaces_=function(){return[]},Kl.prototype.getClass=function(){return Kl};var Ql=function(){},$l={Mod2BoundaryNodeRule:{configurable:!0},EndPointBoundaryNodeRule:{configurable:!0},MultiValentEndPointBoundaryNodeRule:{configurable:!0},MonoValentEndPointBoundaryNodeRule:{configurable:!0},MOD2_BOUNDARY_RULE:{configurable:!0},ENDPOINT_BOUNDARY_RULE:{configurable:!0},MULTIVALENT_ENDPOINT_BOUNDARY_RULE:{configurable:!0},MONOVALENT_ENDPOINT_BOUNDARY_RULE:{configurable:!0},OGC_SFS_BOUNDARY_RULE:{configurable:!0}};Ql.prototype.isInBoundary=function(t){},Ql.prototype.interfaces_=function(){return[]},Ql.prototype.getClass=function(){return Ql},$l.Mod2BoundaryNodeRule.get=function(){return tc},$l.EndPointBoundaryNodeRule.get=function(){return ec},$l.MultiValentEndPointBoundaryNodeRule.get=function(){return nc},$l.MonoValentEndPointBoundaryNodeRule.get=function(){return rc},$l.MOD2_BOUNDARY_RULE.get=function(){return new tc},$l.ENDPOINT_BOUNDARY_RULE.get=function(){return new ec},$l.MULTIVALENT_ENDPOINT_BOUNDARY_RULE.get=function(){return new nc},$l.MONOVALENT_ENDPOINT_BOUNDARY_RULE.get=function(){return new rc},$l.OGC_SFS_BOUNDARY_RULE.get=function(){return Ql.MOD2_BOUNDARY_RULE},Object.defineProperties(Ql,$l);var tc=function(){};tc.prototype.isInBoundary=function(t){return t%2==1},tc.prototype.interfaces_=function(){return[Ql]},tc.prototype.getClass=function(){return tc};var ec=function(){};ec.prototype.isInBoundary=function(t){return t>0},ec.prototype.interfaces_=function(){return[Ql]},ec.prototype.getClass=function(){return ec};var nc=function(){};nc.prototype.isInBoundary=function(t){return t>1},nc.prototype.interfaces_=function(){return[Ql]},nc.prototype.getClass=function(){return nc};var rc=function(){};rc.prototype.isInBoundary=function(t){return 1===t},rc.prototype.interfaces_=function(){return[Ql]},rc.prototype.getClass=function(){return rc};var ic=function(){};function oc(t){this.message=t||\"\"}ic.prototype.add=function(){},ic.prototype.addAll=function(){},ic.prototype.isEmpty=function(){},ic.prototype.iterator=function(){},ic.prototype.size=function(){},ic.prototype.toArray=function(){},ic.prototype.remove=function(){},oc.prototype=new Error,oc.prototype.name=\"IndexOutOfBoundsException\";var sc=function(){};sc.prototype.hasNext=function(){},sc.prototype.next=function(){},sc.prototype.remove=function(){};var ac=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(){},e.prototype.set=function(){},e.prototype.isEmpty=function(){},e}(ic);function uc(t){this.message=t||\"\"}uc.prototype=new Error,uc.prototype.name=\"NoSuchElementException\";var lc=function(t){function e(){t.call(this),this.array_=[],arguments[0]instanceof ic&&this.addAll(arguments[0])}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.ensureCapacity=function(){},e.prototype.interfaces_=function(){return[t,ic]},e.prototype.add=function(t){return 1===arguments.length?this.array_.push(t):this.array_.splice(arguments[0],arguments[1]),!0},e.prototype.clear=function(){this.array_=[]},e.prototype.addAll=function(t){for(var e=t.iterator();e.hasNext();)this.add(e.next());return!0},e.prototype.set=function(t,e){var n=this.array_[t];return this.array_[t]=e,n},e.prototype.iterator=function(){return new cc(this)},e.prototype.get=function(t){if(t<0||t>=this.size())throw new oc;return this.array_[t]},e.prototype.isEmpty=function(){return 0===this.array_.length},e.prototype.size=function(){return this.array_.length},e.prototype.toArray=function(){for(var t=[],e=0,n=this.array_.length;e<n;e++)t.push(this.array_[e]);return t},e.prototype.remove=function(t){for(var e=!1,n=0,r=this.array_.length;n<r;n++)if(this.array_[n]===t){this.array_.splice(n,1),e=!0;break}return e},e}(ac),cc=function(t){function e(e){t.call(this),this.arrayList_=e,this.position_=0}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.next=function(){if(this.position_===this.arrayList_.size())throw new uc;return this.arrayList_.get(this.position_++)},e.prototype.hasNext=function(){return this.position_<this.arrayList_.size()},e.prototype.set=function(t){return this.arrayList_.set(this.position_-1,t)},e.prototype.remove=function(){this.arrayList_.remove(this.arrayList_.get(this.position_))},e}(sc),hc=function(t){function e(){if(t.call(this),0===arguments.length);else if(1===arguments.length){var e=arguments[0];this.ensureCapacity(e.length),this.add(e,!0)}else if(2===arguments.length){var n=arguments[0],r=arguments[1];this.ensureCapacity(n.length),this.add(n,r)}}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var n={coordArrayType:{configurable:!0}};return n.coordArrayType.get=function(){return new Array(0).fill(null)},e.prototype.getCoordinate=function(t){return this.get(t)},e.prototype.addAll=function(){var e=this;if(2===arguments.length){for(var n=arguments[0],r=arguments[1],i=!1,o=n.iterator();o.hasNext();)e.add(o.next(),r),i=!0;return i}return t.prototype.addAll.apply(this,arguments)},e.prototype.clone=function(){for(var e=t.prototype.clone.call(this),n=0;n<this.size();n++)e.add(n,this.get(n).copy());return e},e.prototype.toCoordinateArray=function(){return this.toArray(e.coordArrayType)},e.prototype.add=function(){var e=this;if(1===arguments.length){var n=arguments[0];t.prototype.add.call(this,n)}else if(2===arguments.length){if(arguments[0]instanceof Array&&\"boolean\"==typeof arguments[1]){var r=arguments[0],i=arguments[1];return this.add(r,i,!0),!0}if(arguments[0]instanceof ul&&\"boolean\"==typeof arguments[1]){var o=arguments[0],s=arguments[1];if(!s&&this.size()>=1){var a=this.get(this.size()-1);if(a.equals2D(o))return null}t.prototype.add.call(this,o)}else if(arguments[0]instanceof Object&&\"boolean\"==typeof arguments[1]){var u=arguments[0],l=arguments[1];return this.add(u,l),!0}}else if(3===arguments.length){if(\"boolean\"==typeof arguments[2]&&arguments[0]instanceof Array&&\"boolean\"==typeof arguments[1]){var c=arguments[0],h=arguments[1],p=arguments[2];if(p)for(var f=0;f<c.length;f++)e.add(c[f],h);else for(var g=c.length-1;g>=0;g--)e.add(c[g],h);return!0}if(\"boolean\"==typeof arguments[2]&&Number.isInteger(arguments[0])&&arguments[1]instanceof ul){var d=arguments[0],y=arguments[1],v=arguments[2];if(!v){var _=this.size();if(_>0){if(d>0){var m=this.get(d-1);if(m.equals2D(y))return null}if(d<_){var x=this.get(d);if(x.equals2D(y))return null}}}t.prototype.add.call(this,d,y)}}else if(4===arguments.length){var E=arguments[0],b=arguments[1],w=arguments[2],I=arguments[3],N=1;w>I&&(N=-1);for(var S=w;S!==I;S+=N)e.add(E[S],b);return!0}},e.prototype.closeRing=function(){this.size()>0&&this.add(new ul(this.get(0)),!1)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},Object.defineProperties(e,n),e}(lc),pc=function(){},fc={ForwardComparator:{configurable:!0},BidirectionalComparator:{configurable:!0},coordArrayType:{configurable:!0}};fc.ForwardComparator.get=function(){return gc},fc.BidirectionalComparator.get=function(){return dc},fc.coordArrayType.get=function(){return new Array(0).fill(null)},pc.prototype.interfaces_=function(){return[]},pc.prototype.getClass=function(){return pc},pc.isRing=function(t){return!(t.length<4)&&!!t[0].equals2D(t[t.length-1])},pc.ptNotInList=function(t,e){for(var n=0;n<t.length;n++){var r=t[n];if(pc.indexOf(r,e)<0)return r}return null},pc.scroll=function(t,e){var n=pc.indexOf(e,t);if(n<0)return null;var r=new Array(t.length).fill(null);Pl.arraycopy(t,n,r,0,t.length-n),Pl.arraycopy(t,0,r,t.length-n,n),Pl.arraycopy(r,0,t,0,t.length)},pc.equals=function(){if(2===arguments.length){var t=arguments[0],e=arguments[1];if(t===e)return!0;if(null===t||null===e)return!1;if(t.length!==e.length)return!1;for(var n=0;n<t.length;n++)if(!t[n].equals(e[n]))return!1;return!0}if(3===arguments.length){var r=arguments[0],i=arguments[1],o=arguments[2];if(r===i)return!0;if(null===r||null===i)return!1;if(r.length!==i.length)return!1;for(var s=0;s<r.length;s++)if(0!==o.compare(r[s],i[s]))return!1;return!0}},pc.intersection=function(t,e){for(var n=new hc,r=0;r<t.length;r++)e.intersects(t[r])&&n.add(t[r],!0);return n.toCoordinateArray()},pc.hasRepeatedPoints=function(t){for(var e=1;e<t.length;e++)if(t[e-1].equals(t[e]))return!0;return!1},pc.removeRepeatedPoints=function(t){return pc.hasRepeatedPoints(t)?new hc(t,!1).toCoordinateArray():t},pc.reverse=function(t){for(var e=t.length-1,n=Math.trunc(e/2),r=0;r<=n;r++){var i=t[r];t[r]=t[e-r],t[e-r]=i}},pc.removeNull=function(t){for(var e=0,n=0;n<t.length;n++)null!==t[n]&&e++;var r=new Array(e).fill(null);if(0===e)return r;for(var i=0,o=0;o<t.length;o++)null!==t[o]&&(r[i++]=t[o]);return r},pc.copyDeep=function(){if(1===arguments.length){for(var t=arguments[0],e=new Array(t.length).fill(null),n=0;n<t.length;n++)e[n]=new ul(t[n]);return e}if(5===arguments.length)for(var r=arguments[0],i=arguments[1],o=arguments[2],s=arguments[3],a=arguments[4],u=0;u<a;u++)o[s+u]=new ul(r[i+u])},pc.isEqualReversed=function(t,e){for(var n=0;n<t.length;n++){var r=t[n],i=e[t.length-n-1];if(0!==r.compareTo(i))return!1}return!0},pc.envelope=function(t){for(var e=new Ll,n=0;n<t.length;n++)e.expandToInclude(t[n]);return e},pc.toCoordinateArray=function(t){return t.toArray(pc.coordArrayType)},pc.atLeastNCoordinatesOrNothing=function(t,e){return e.length>=t?e:[]},pc.indexOf=function(t,e){for(var n=0;n<e.length;n++)if(t.equals(e[n]))return n;return-1},pc.increasingDirection=function(t){for(var e=0;e<Math.trunc(t.length/2);e++){var n=t.length-1-e,r=t[e].compareTo(t[n]);if(0!==r)return r}return 1},pc.compare=function(t,e){for(var n=0;n<t.length&&n<e.length;){var r=t[n].compareTo(e[n]);if(0!==r)return r;n++}return n<e.length?-1:n<t.length?1:0},pc.minCoordinate=function(t){for(var e=null,n=0;n<t.length;n++)(null===e||e.compareTo(t[n])>0)&&(e=t[n]);return e},pc.extract=function(t,e,n){e=dl.clamp(e,0,t.length);var r=(n=dl.clamp(n,-1,t.length))-e+1;n<0&&(r=0),e>=t.length&&(r=0),n<e&&(r=0);var i=new Array(r).fill(null);if(0===r)return i;for(var o=0,s=e;s<=n;s++)i[o++]=t[s];return i},Object.defineProperties(pc,fc);var gc=function(){};gc.prototype.compare=function(t,e){return pc.compare(t,e)},gc.prototype.interfaces_=function(){return[sl]},gc.prototype.getClass=function(){return gc};var dc=function(){};dc.prototype.compare=function(t,e){var n=t,r=e;if(n.length<r.length)return-1;if(n.length>r.length)return 1;if(0===n.length)return 0;var i=pc.compare(n,r);return pc.isEqualReversed(n,r)?0:i},dc.prototype.OLDcompare=function(t,e){var n=t,r=e;if(n.length<r.length)return-1;if(n.length>r.length)return 1;if(0===n.length)return 0;for(var i=pc.increasingDirection(n),o=pc.increasingDirection(r),s=i>0?0:n.length-1,a=o>0?0:n.length-1,u=0;u<n.length;u++){var l=n[s].compareTo(r[a]);if(0!==l)return l;s+=i,a+=o}return 0},dc.prototype.interfaces_=function(){return[sl]},dc.prototype.getClass=function(){return dc};var yc=function(){};yc.prototype.get=function(){},yc.prototype.put=function(){},yc.prototype.size=function(){},yc.prototype.values=function(){},yc.prototype.entrySet=function(){};var vc=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(yc);function _c(t){this.message=t||\"\"}function mc(){}_c.prototype=new Error,_c.prototype.name=\"OperationNotSupported\",mc.prototype=new ic,mc.prototype.contains=function(){};var xc=function(t){function e(){t.call(this),this.array_=[],arguments[0]instanceof ic&&this.addAll(arguments[0])}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.contains=function(t){for(var e=0,n=this.array_.length;e<n;e++){if(this.array_[e]===t)return!0}return!1},e.prototype.add=function(t){return!this.contains(t)&&(this.array_.push(t),!0)},e.prototype.addAll=function(t){for(var e=t.iterator();e.hasNext();)this.add(e.next());return!0},e.prototype.remove=function(t){throw new Error},e.prototype.size=function(){return this.array_.length},e.prototype.isEmpty=function(){return 0===this.array_.length},e.prototype.toArray=function(){for(var t=[],e=0,n=this.array_.length;e<n;e++)t.push(this.array_[e]);return t},e.prototype.iterator=function(){return new Ec(this)},e}(mc),Ec=function(t){function e(e){t.call(this),this.hashSet_=e,this.position_=0}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.next=function(){if(this.position_===this.hashSet_.size())throw new uc;return this.hashSet_.array_[this.position_++]},e.prototype.hasNext=function(){return this.position_<this.hashSet_.size()},e.prototype.remove=function(){throw new _c},e}(sc);function bc(t){return null===t?0:t.color}function wc(t){return null===t?null:t.parent}function Ic(t,e){null!==t&&(t.color=e)}function Nc(t){return null===t?null:t.left}function Sc(t){return null===t?null:t.right}function Cc(){this.root_=null,this.size_=0}Cc.prototype=new vc,Cc.prototype.get=function(t){for(var e=this.root_;null!==e;){var n=t.compareTo(e.key);if(n<0)e=e.left;else{if(!(n>0))return e.value;e=e.right}}return null},Cc.prototype.put=function(t,e){if(null===this.root_)return this.root_={key:t,value:e,left:null,right:null,parent:null,color:0,getValue:function(){return this.value},getKey:function(){return this.key}},this.size_=1,null;var n,r,i=this.root_;do{if(n=i,(r=t.compareTo(i.key))<0)i=i.left;else{if(!(r>0)){var o=i.value;return i.value=e,o}i=i.right}}while(null!==i);var s={key:t,left:null,right:null,value:e,parent:n,color:0,getValue:function(){return this.value},getKey:function(){return this.key}};return r<0?n.left=s:n.right=s,this.fixAfterInsertion(s),this.size_++,null},Cc.prototype.fixAfterInsertion=function(t){var e=this;for(t.color=1;null!=t&&t!==this.root_&&1===t.parent.color;)if(wc(t)===Nc(wc(wc(t)))){var n=Sc(wc(wc(t)));1===bc(n)?(Ic(wc(t),0),Ic(n,0),Ic(wc(wc(t)),1),t=wc(wc(t))):(t===Sc(wc(t))&&(t=wc(t),e.rotateLeft(t)),Ic(wc(t),0),Ic(wc(wc(t)),1),e.rotateRight(wc(wc(t))))}else{var r=Nc(wc(wc(t)));1===bc(r)?(Ic(wc(t),0),Ic(r,0),Ic(wc(wc(t)),1),t=wc(wc(t))):(t===Nc(wc(t))&&(t=wc(t),e.rotateRight(t)),Ic(wc(t),0),Ic(wc(wc(t)),1),e.rotateLeft(wc(wc(t))))}this.root_.color=0},Cc.prototype.values=function(){var t=new lc,e=this.getFirstEntry();if(null!==e)for(t.add(e.value);null!==(e=Cc.successor(e));)t.add(e.value);return t},Cc.prototype.entrySet=function(){var t=new xc,e=this.getFirstEntry();if(null!==e)for(t.add(e);null!==(e=Cc.successor(e));)t.add(e);return t},Cc.prototype.rotateLeft=function(t){if(null!=t){var e=t.right;t.right=e.left,null!=e.left&&(e.left.parent=t),e.parent=t.parent,null===t.parent?this.root_=e:t.parent.left===t?t.parent.left=e:t.parent.right=e,e.left=t,t.parent=e}},Cc.prototype.rotateRight=function(t){if(null!=t){var e=t.left;t.left=e.right,null!=e.right&&(e.right.parent=t),e.parent=t.parent,null===t.parent?this.root_=e:t.parent.right===t?t.parent.right=e:t.parent.left=e,e.right=t,t.parent=e}},Cc.prototype.getFirstEntry=function(){var t=this.root_;if(null!=t)for(;null!=t.left;)t=t.left;return t},Cc.successor=function(t){if(null===t)return null;if(null!==t.right){for(var e=t.right;null!==e.left;)e=e.left;return e}for(var n=t.parent,r=t;null!==n&&r===n.right;)r=n,n=n.parent;return n},Cc.prototype.size=function(){return this.size_};var Pc=function(){};function Mc(){}function Lc(){this.array_=[],arguments[0]instanceof ic&&this.addAll(arguments[0])}Pc.prototype.interfaces_=function(){return[]},Pc.prototype.getClass=function(){return Pc},Mc.prototype=new mc,Lc.prototype=new Mc,Lc.prototype.contains=function(t){for(var e=0,n=this.array_.length;e<n;e++){if(0===this.array_[e].compareTo(t))return!0}return!1},Lc.prototype.add=function(t){if(this.contains(t))return!1;for(var e=0,n=this.array_.length;e<n;e++){if(1===this.array_[e].compareTo(t))return this.array_.splice(e,0,t),!0}return this.array_.push(t),!0},Lc.prototype.addAll=function(t){for(var e=t.iterator();e.hasNext();)this.add(e.next());return!0},Lc.prototype.remove=function(t){throw new _c},Lc.prototype.size=function(){return this.array_.length},Lc.prototype.isEmpty=function(){return 0===this.array_.length},Lc.prototype.toArray=function(){for(var t=[],e=0,n=this.array_.length;e<n;e++)t.push(this.array_[e]);return t},Lc.prototype.iterator=function(){return new Oc(this)};var Oc=function(t){this.treeSet_=t,this.position_=0};Oc.prototype.next=function(){if(this.position_===this.treeSet_.size())throw new uc;return this.treeSet_.array_[this.position_++]},Oc.prototype.hasNext=function(){return this.position_<this.treeSet_.size()},Oc.prototype.remove=function(){throw new _c};var Rc=function(){};Rc.sort=function(){var t,e,n,r,i=arguments[0];if(1===arguments.length)r=function(t,e){return t.compareTo(e)},i.sort(r);else if(2===arguments.length)n=arguments[1],r=function(t,e){return n.compare(t,e)},i.sort(r);else if(3===arguments.length){(e=i.slice(arguments[1],arguments[2])).sort();var o=i.slice(0,arguments[1]).concat(e,i.slice(arguments[2],i.length));for(i.splice(0,i.length),t=0;t<o.length;t++)i.push(o[t])}else if(4===arguments.length)for(e=i.slice(arguments[1],arguments[2]),n=arguments[3],r=function(t,e){return n.compare(t,e)},e.sort(r),o=i.slice(0,arguments[1]).concat(e,i.slice(arguments[2],i.length)),i.splice(0,i.length),t=0;t<o.length;t++)i.push(o[t])},Rc.asList=function(t){for(var e=new lc,n=0,r=t.length;n<r;n++)e.add(t[n]);return e};var Tc=function(){},Ac={P:{configurable:!0},L:{configurable:!0},A:{configurable:!0},FALSE:{configurable:!0},TRUE:{configurable:!0},DONTCARE:{configurable:!0},SYM_FALSE:{configurable:!0},SYM_TRUE:{configurable:!0},SYM_DONTCARE:{configurable:!0},SYM_P:{configurable:!0},SYM_L:{configurable:!0},SYM_A:{configurable:!0}};Ac.P.get=function(){return 0},Ac.L.get=function(){return 1},Ac.A.get=function(){return 2},Ac.FALSE.get=function(){return-1},Ac.TRUE.get=function(){return-2},Ac.DONTCARE.get=function(){return-3},Ac.SYM_FALSE.get=function(){return\"F\"},Ac.SYM_TRUE.get=function(){return\"T\"},Ac.SYM_DONTCARE.get=function(){return\"*\"},Ac.SYM_P.get=function(){return\"0\"},Ac.SYM_L.get=function(){return\"1\"},Ac.SYM_A.get=function(){return\"2\"},Tc.prototype.interfaces_=function(){return[]},Tc.prototype.getClass=function(){return Tc},Tc.toDimensionSymbol=function(t){switch(t){case Tc.FALSE:return Tc.SYM_FALSE;case Tc.TRUE:return Tc.SYM_TRUE;case Tc.DONTCARE:return Tc.SYM_DONTCARE;case Tc.P:return Tc.SYM_P;case Tc.L:return Tc.SYM_L;case Tc.A:return Tc.SYM_A}throw new el(\"Unknown dimension value: \"+t)},Tc.toDimensionValue=function(t){switch(ml.toUpperCase(t)){case Tc.SYM_FALSE:return Tc.FALSE;case Tc.SYM_TRUE:return Tc.TRUE;case Tc.SYM_DONTCARE:return Tc.DONTCARE;case Tc.SYM_P:return Tc.P;case Tc.SYM_L:return Tc.L;case Tc.SYM_A:return Tc.A}throw new el(\"Unknown dimension symbol: \"+t)},Object.defineProperties(Tc,Ac);var Dc=function(){};Dc.prototype.filter=function(t){},Dc.prototype.interfaces_=function(){return[]},Dc.prototype.getClass=function(){return Dc};var Fc=function(){};Fc.prototype.filter=function(t,e){},Fc.prototype.isDone=function(){},Fc.prototype.isGeometryChanged=function(){},Fc.prototype.interfaces_=function(){return[]},Fc.prototype.getClass=function(){return Fc};var kc=function(t){function e(e,n){if(t.call(this,n),this._geometries=e||[],t.hasNullElements(this._geometries))throw new el(\"geometries must not contain null elements\")}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var n={serialVersionUID:{configurable:!0}};return e.prototype.computeEnvelopeInternal=function(){for(var t=new Ll,e=0;e<this._geometries.length;e++)t.expandToInclude(this._geometries[e].getEnvelopeInternal());return t},e.prototype.getGeometryN=function(t){return this._geometries[t]},e.prototype.getSortIndex=function(){return t.SORTINDEX_GEOMETRYCOLLECTION},e.prototype.getCoordinates=function(){for(var t=new Array(this.getNumPoints()).fill(null),e=-1,n=0;n<this._geometries.length;n++)for(var r=this._geometries[n].getCoordinates(),i=0;i<r.length;i++)t[++e]=r[i];return t},e.prototype.getArea=function(){for(var t=0,e=0;e<this._geometries.length;e++)t+=this._geometries[e].getArea();return t},e.prototype.equalsExact=function(){var e=this;if(2===arguments.length){var n=arguments[0],r=arguments[1];if(!this.isEquivalentClass(n))return!1;var i=n;if(this._geometries.length!==i._geometries.length)return!1;for(var o=0;o<this._geometries.length;o++)if(!e._geometries[o].equalsExact(i._geometries[o],r))return!1;return!0}return t.prototype.equalsExact.apply(this,arguments)},e.prototype.normalize=function(){for(var t=0;t<this._geometries.length;t++)this._geometries[t].normalize();Rc.sort(this._geometries)},e.prototype.getCoordinate=function(){return this.isEmpty()?null:this._geometries[0].getCoordinate()},e.prototype.getBoundaryDimension=function(){for(var t=Tc.FALSE,e=0;e<this._geometries.length;e++)t=Math.max(t,this._geometries[e].getBoundaryDimension());return t},e.prototype.getDimension=function(){for(var t=Tc.FALSE,e=0;e<this._geometries.length;e++)t=Math.max(t,this._geometries[e].getDimension());return t},e.prototype.getLength=function(){for(var t=0,e=0;e<this._geometries.length;e++)t+=this._geometries[e].getLength();return t},e.prototype.getNumPoints=function(){for(var t=0,e=0;e<this._geometries.length;e++)t+=this._geometries[e].getNumPoints();return t},e.prototype.getNumGeometries=function(){return this._geometries.length},e.prototype.reverse=function(){for(var t=this._geometries.length,e=new Array(t).fill(null),n=0;n<this._geometries.length;n++)e[n]=this._geometries[n].reverse();return this.getFactory().createGeometryCollection(e)},e.prototype.compareToSameClass=function(){var t=this;if(1===arguments.length){var e=arguments[0],n=new Lc(Rc.asList(this._geometries)),r=new Lc(Rc.asList(e._geometries));return this.compare(n,r)}if(2===arguments.length){for(var i=arguments[0],o=arguments[1],s=i,a=this.getNumGeometries(),u=s.getNumGeometries(),l=0;l<a&&l<u;){var c=t.getGeometryN(l),h=s.getGeometryN(l),p=c.compareToSameClass(h,o);if(0!==p)return p;l++}return l<a?1:l<u?-1:0}},e.prototype.apply=function(){var t=this;if(gl(arguments[0],Kl))for(var e=arguments[0],n=0;n<this._geometries.length;n++)t._geometries[n].apply(e);else if(gl(arguments[0],Fc)){var r=arguments[0];if(0===this._geometries.length)return null;for(var i=0;i<this._geometries.length&&(t._geometries[i].apply(r),!r.isDone());i++);r.isGeometryChanged()&&this.geometryChanged()}else if(gl(arguments[0],Dc)){var o=arguments[0];o.filter(this);for(var s=0;s<this._geometries.length;s++)t._geometries[s].apply(o)}else if(gl(arguments[0],Hl)){var a=arguments[0];a.filter(this);for(var u=0;u<this._geometries.length;u++)t._geometries[u].apply(a)}},e.prototype.getBoundary=function(){return this.checkNotGeometryCollection(this),ql.shouldNeverReachHere(),null},e.prototype.clone=function(){var e=t.prototype.clone.call(this);e._geometries=new Array(this._geometries.length).fill(null);for(var n=0;n<this._geometries.length;n++)e._geometries[n]=this._geometries[n].clone();return e},e.prototype.getGeometryType=function(){return\"GeometryCollection\"},e.prototype.copy=function(){for(var t=new Array(this._geometries.length).fill(null),n=0;n<t.length;n++)t[n]=this._geometries[n].copy();return new e(t,this._factory)},e.prototype.isEmpty=function(){for(var t=0;t<this._geometries.length;t++)if(!this._geometries[t].isEmpty())return!1;return!0},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},n.serialVersionUID.get=function(){return-0x4f07bcb1f857d800},Object.defineProperties(e,n),e}(Wl),Gc=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var n={serialVersionUID:{configurable:!0}};return e.prototype.getSortIndex=function(){return Wl.SORTINDEX_MULTILINESTRING},e.prototype.equalsExact=function(){if(2===arguments.length){var e=arguments[0],n=arguments[1];return!!this.isEquivalentClass(e)&&t.prototype.equalsExact.call(this,e,n)}return t.prototype.equalsExact.apply(this,arguments)},e.prototype.getBoundaryDimension=function(){return this.isClosed()?Tc.FALSE:0},e.prototype.isClosed=function(){if(this.isEmpty())return!1;for(var t=0;t<this._geometries.length;t++)if(!this._geometries[t].isClosed())return!1;return!0},e.prototype.getDimension=function(){return 1},e.prototype.reverse=function(){for(var t=this._geometries.length,e=new Array(t).fill(null),n=0;n<this._geometries.length;n++)e[t-1-n]=this._geometries[n].reverse();return this.getFactory().createMultiLineString(e)},e.prototype.getBoundary=function(){return new qc(this).getBoundary()},e.prototype.getGeometryType=function(){return\"MultiLineString\"},e.prototype.copy=function(){for(var t=new Array(this._geometries.length).fill(null),n=0;n<t.length;n++)t[n]=this._geometries[n].copy();return new e(t,this._factory)},e.prototype.interfaces_=function(){return[Pc]},e.prototype.getClass=function(){return e},n.serialVersionUID.get=function(){return 0x7155d2ab4afa8000},Object.defineProperties(e,n),e}(kc),qc=function(){if(this._geom=null,this._geomFact=null,this._bnRule=null,this._endpointMap=null,1===arguments.length){var t=arguments[0],e=Ql.MOD2_BOUNDARY_RULE;this._geom=t,this._geomFact=t.getFactory(),this._bnRule=e}else if(2===arguments.length){var n=arguments[0],r=arguments[1];this._geom=n,this._geomFact=n.getFactory(),this._bnRule=r}};qc.prototype.boundaryMultiLineString=function(t){if(this._geom.isEmpty())return this.getEmptyMultiPoint();var e=this.computeBoundaryCoordinates(t);return 1===e.length?this._geomFact.createPoint(e[0]):this._geomFact.createMultiPointFromCoords(e)},qc.prototype.getBoundary=function(){return this._geom instanceof Zc?this.boundaryLineString(this._geom):this._geom instanceof Gc?this.boundaryMultiLineString(this._geom):this._geom.getBoundary()},qc.prototype.boundaryLineString=function(t){return this._geom.isEmpty()?this.getEmptyMultiPoint():t.isClosed()?this._bnRule.isInBoundary(2)?t.getStartPoint():this._geomFact.createMultiPoint():this._geomFact.createMultiPoint([t.getStartPoint(),t.getEndPoint()])},qc.prototype.getEmptyMultiPoint=function(){return this._geomFact.createMultiPoint()},qc.prototype.computeBoundaryCoordinates=function(t){var e=this,n=new lc;this._endpointMap=new Cc;for(var r=0;r<t.getNumGeometries();r++){var i=t.getGeometryN(r);0!==i.getNumPoints()&&(e.addEndpoint(i.getCoordinateN(0)),e.addEndpoint(i.getCoordinateN(i.getNumPoints()-1)))}for(var o=this._endpointMap.entrySet().iterator();o.hasNext();){var s=o.next(),a=s.getValue().count;e._bnRule.isInBoundary(a)&&n.add(s.getKey())}return pc.toCoordinateArray(n)},qc.prototype.addEndpoint=function(t){var e=this._endpointMap.get(t);null===e&&(e=new Bc,this._endpointMap.put(t,e)),e.count++},qc.prototype.interfaces_=function(){return[]},qc.prototype.getClass=function(){return qc},qc.getBoundary=function(){if(1===arguments.length){var t=arguments[0],e=new qc(t);return e.getBoundary()}if(2===arguments.length){var n=arguments[0],r=arguments[1],i=new qc(n,r);return i.getBoundary()}};var Bc=function(){this.count=null};function zc(){}function jc(){}Bc.prototype.interfaces_=function(){return[]},Bc.prototype.getClass=function(){return Bc};var Uc=function(){};function Vc(){}function Xc(){}function Yc(){}var Hc=function(){},Wc={NEWLINE:{configurable:!0},SIMPLE_ORDINATE_FORMAT:{configurable:!0}};Hc.prototype.interfaces_=function(){return[]},Hc.prototype.getClass=function(){return Hc},Hc.chars=function(t,e){for(var n=new Array(e).fill(null),r=0;r<e;r++)n[r]=t;return String(n)},Hc.getStackTrace=function(){if(1===arguments.length){var t=arguments[0],e=new Vc,n=new zc(e);return t.printStackTrace(n),e.toString()}if(2===arguments.length){for(var r=arguments[0],i=arguments[1],o=\"\",s=new jc(Hc.getStackTrace(r)),a=new Yc(s),u=0;u<i;u++)try{o+=a.readLine()+Hc.NEWLINE}catch(t){if(!(t instanceof Xc))throw t;ql.shouldNeverReachHere()}return o}},Hc.split=function(t,e){for(var n=e.length,r=new lc,i=\"\"+t,o=i.indexOf(e);o>=0;){var s=i.substring(0,o);r.add(s),o=(i=i.substring(o+n)).indexOf(e)}i.length>0&&r.add(i);for(var a=new Array(r.size()).fill(null),u=0;u<a.length;u++)a[u]=r.get(u);return a},Hc.toString=function(){if(1===arguments.length){var t=arguments[0];return Hc.SIMPLE_ORDINATE_FORMAT.format(t)}},Hc.spaces=function(t){return Hc.chars(\" \",t)},Wc.NEWLINE.get=function(){return Pl.getProperty(\"line.separator\")},Wc.SIMPLE_ORDINATE_FORMAT.get=function(){return new Uc(\"0.#\")},Object.defineProperties(Hc,Wc);var Jc=function(){};Jc.prototype.interfaces_=function(){return[]},Jc.prototype.getClass=function(){return Jc},Jc.copyCoord=function(t,e,n,r){for(var i=Math.min(t.getDimension(),n.getDimension()),o=0;o<i;o++)n.setOrdinate(r,o,t.getOrdinate(e,o))},Jc.isRing=function(t){var e=t.size();return 0===e||!(e<=3)&&(t.getOrdinate(0,Il.X)===t.getOrdinate(e-1,Il.X)&&t.getOrdinate(0,Il.Y)===t.getOrdinate(e-1,Il.Y))},Jc.isEqual=function(t,e){var n=t.size();if(n!==e.size())return!1;for(var r=Math.min(t.getDimension(),e.getDimension()),i=0;i<n;i++)for(var o=0;o<r;o++){var s=t.getOrdinate(i,o),a=e.getOrdinate(i,o);if(t.getOrdinate(i,o)!==e.getOrdinate(i,o)&&(!nl.isNaN(s)||!nl.isNaN(a)))return!1}return!0},Jc.extend=function(t,e,n){var r=t.create(n,e.getDimension()),i=e.size();if(Jc.copy(e,0,r,0,i),i>0)for(var o=i;o<n;o++)Jc.copy(e,i-1,r,o,1);return r},Jc.reverse=function(t){for(var e=t.size()-1,n=Math.trunc(e/2),r=0;r<=n;r++)Jc.swap(t,r,e-r)},Jc.swap=function(t,e,n){if(e===n)return null;for(var r=0;r<t.getDimension();r++){var i=t.getOrdinate(e,r);t.setOrdinate(e,r,t.getOrdinate(n,r)),t.setOrdinate(n,r,i)}},Jc.copy=function(t,e,n,r,i){for(var o=0;o<i;o++)Jc.copyCoord(t,e+o,n,r+o)},Jc.toString=function(){if(1===arguments.length){var t=arguments[0],e=t.size();if(0===e)return\"()\";var n=t.getDimension(),r=new vl;r.append(\"(\");for(var i=0;i<e;i++){i>0&&r.append(\" \");for(var o=0;o<n;o++)o>0&&r.append(\",\"),r.append(Hc.toString(t.getOrdinate(i,o)))}return r.append(\")\"),r.toString()}},Jc.ensureValidRing=function(t,e){var n=e.size();return 0===n?e:n<=3?Jc.createClosedRing(t,e,4):e.getOrdinate(0,Il.X)===e.getOrdinate(n-1,Il.X)&&e.getOrdinate(0,Il.Y)===e.getOrdinate(n-1,Il.Y)?e:Jc.createClosedRing(t,e,n+1)},Jc.createClosedRing=function(t,e,n){var r=t.create(n,e.getDimension()),i=e.size();Jc.copy(e,0,r,0,i);for(var o=i;o<n;o++)Jc.copy(e,0,r,o,1);return r};var Zc=function(t){function e(e,n){t.call(this,n),this._points=null,this.init(e)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var n={serialVersionUID:{configurable:!0}};return e.prototype.computeEnvelopeInternal=function(){return this.isEmpty()?new Ll:this._points.expandEnvelope(new Ll)},e.prototype.isRing=function(){return this.isClosed()&&this.isSimple()},e.prototype.getSortIndex=function(){return t.SORTINDEX_LINESTRING},e.prototype.getCoordinates=function(){return this._points.toCoordinateArray()},e.prototype.equalsExact=function(){var e=this;if(2===arguments.length){var n=arguments[0],r=arguments[1];if(!this.isEquivalentClass(n))return!1;var i=n;if(this._points.size()!==i._points.size())return!1;for(var o=0;o<this._points.size();o++)if(!e.equal(e._points.getCoordinate(o),i._points.getCoordinate(o),r))return!1;return!0}return t.prototype.equalsExact.apply(this,arguments)},e.prototype.normalize=function(){for(var t=this,e=0;e<Math.trunc(this._points.size()/2);e++){var n=t._points.size()-1-e;if(!t._points.getCoordinate(e).equals(t._points.getCoordinate(n)))return t._points.getCoordinate(e).compareTo(t._points.getCoordinate(n))>0&&Jc.reverse(t._points),null}},e.prototype.getCoordinate=function(){return this.isEmpty()?null:this._points.getCoordinate(0)},e.prototype.getBoundaryDimension=function(){return this.isClosed()?Tc.FALSE:0},e.prototype.isClosed=function(){return!this.isEmpty()&&this.getCoordinateN(0).equals2D(this.getCoordinateN(this.getNumPoints()-1))},e.prototype.getEndPoint=function(){return this.isEmpty()?null:this.getPointN(this.getNumPoints()-1)},e.prototype.getDimension=function(){return 1},e.prototype.getLength=function(){return Xl.computeLength(this._points)},e.prototype.getNumPoints=function(){return this._points.size()},e.prototype.reverse=function(){var t=this._points.copy();return Jc.reverse(t),this.getFactory().createLineString(t)},e.prototype.compareToSameClass=function(){var t=this;if(1===arguments.length){for(var e=arguments[0],n=e,r=0,i=0;r<this._points.size()&&i<n._points.size();){var o=t._points.getCoordinate(r).compareTo(n._points.getCoordinate(i));if(0!==o)return o;r++,i++}return r<this._points.size()?1:i<n._points.size()?-1:0}if(2===arguments.length){var s=arguments[0],a=arguments[1],u=s;return a.compare(this._points,u._points)}},e.prototype.apply=function(){var t=this;if(gl(arguments[0],Kl))for(var e=arguments[0],n=0;n<this._points.size();n++)e.filter(t._points.getCoordinate(n));else if(gl(arguments[0],Fc)){var r=arguments[0];if(0===this._points.size())return null;for(var i=0;i<this._points.size()&&(r.filter(t._points,i),!r.isDone());i++);r.isGeometryChanged()&&this.geometryChanged()}else if(gl(arguments[0],Dc)){var o=arguments[0];o.filter(this)}else if(gl(arguments[0],Hl)){var s=arguments[0];s.filter(this)}},e.prototype.getBoundary=function(){return new qc(this).getBoundary()},e.prototype.isEquivalentClass=function(t){return t instanceof e},e.prototype.clone=function(){var e=t.prototype.clone.call(this);return e._points=this._points.clone(),e},e.prototype.getCoordinateN=function(t){return this._points.getCoordinate(t)},e.prototype.getGeometryType=function(){return\"LineString\"},e.prototype.copy=function(){return new e(this._points.copy(),this._factory)},e.prototype.getCoordinateSequence=function(){return this._points},e.prototype.isEmpty=function(){return 0===this._points.size()},e.prototype.init=function(t){if(null===t&&(t=this.getFactory().getCoordinateSequenceFactory().create([])),1===t.size())throw new el(\"Invalid number of points in LineString (found \"+t.size()+\" - must be 0 or >= 2)\");this._points=t},e.prototype.isCoordinate=function(t){for(var e=0;e<this._points.size();e++)if(this._points.getCoordinate(e).equals(t))return!0;return!1},e.prototype.getStartPoint=function(){return this.isEmpty()?null:this.getPointN(0)},e.prototype.getPointN=function(t){return this.getFactory().createPoint(this._points.getCoordinate(t))},e.prototype.interfaces_=function(){return[Pc]},e.prototype.getClass=function(){return e},n.serialVersionUID.get=function(){return 0x2b2b51ba435c8e00},Object.defineProperties(e,n),e}(Wl),Kc=function(){};Kc.prototype.interfaces_=function(){return[]},Kc.prototype.getClass=function(){return Kc};var Qc=function(t){function e(e,n){t.call(this,n),this._coordinates=e||null,this.init(this._coordinates)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var n={serialVersionUID:{configurable:!0}};return e.prototype.computeEnvelopeInternal=function(){if(this.isEmpty())return new Ll;var t=new Ll;return t.expandToInclude(this._coordinates.getX(0),this._coordinates.getY(0)),t},e.prototype.getSortIndex=function(){return t.SORTINDEX_POINT},e.prototype.getCoordinates=function(){return this.isEmpty()?[]:[this.getCoordinate()]},e.prototype.equalsExact=function(){if(2===arguments.length){var e=arguments[0],n=arguments[1];return!!this.isEquivalentClass(e)&&(!(!this.isEmpty()||!e.isEmpty())||this.isEmpty()===e.isEmpty()&&this.equal(e.getCoordinate(),this.getCoordinate(),n))}return t.prototype.equalsExact.apply(this,arguments)},e.prototype.normalize=function(){},e.prototype.getCoordinate=function(){return 0!==this._coordinates.size()?this._coordinates.getCoordinate(0):null},e.prototype.getBoundaryDimension=function(){return Tc.FALSE},e.prototype.getDimension=function(){return 0},e.prototype.getNumPoints=function(){return this.isEmpty()?0:1},e.prototype.reverse=function(){return this.copy()},e.prototype.getX=function(){if(null===this.getCoordinate())throw new Error(\"getX called on empty Point\");return this.getCoordinate().x},e.prototype.compareToSameClass=function(){if(1===arguments.length){var t=arguments[0],e=t;return this.getCoordinate().compareTo(e.getCoordinate())}if(2===arguments.length){var n=arguments[0],r=arguments[1],i=n;return r.compare(this._coordinates,i._coordinates)}},e.prototype.apply=function(){if(gl(arguments[0],Kl)){var t=arguments[0];if(this.isEmpty())return null;t.filter(this.getCoordinate())}else if(gl(arguments[0],Fc)){var e=arguments[0];if(this.isEmpty())return null;e.filter(this._coordinates,0),e.isGeometryChanged()&&this.geometryChanged()}else if(gl(arguments[0],Dc)){var n=arguments[0];n.filter(this)}else if(gl(arguments[0],Hl)){var r=arguments[0];r.filter(this)}},e.prototype.getBoundary=function(){return this.getFactory().createGeometryCollection(null)},e.prototype.clone=function(){var e=t.prototype.clone.call(this);return e._coordinates=this._coordinates.clone(),e},e.prototype.getGeometryType=function(){return\"Point\"},e.prototype.copy=function(){return new e(this._coordinates.copy(),this._factory)},e.prototype.getCoordinateSequence=function(){return this._coordinates},e.prototype.getY=function(){if(null===this.getCoordinate())throw new Error(\"getY called on empty Point\");return this.getCoordinate().y},e.prototype.isEmpty=function(){return 0===this._coordinates.size()},e.prototype.init=function(t){null===t&&(t=this.getFactory().getCoordinateSequenceFactory().create([])),ql.isTrue(t.size()<=1),this._coordinates=t},e.prototype.isSimple=function(){return!0},e.prototype.interfaces_=function(){return[Kc]},e.prototype.getClass=function(){return e},n.serialVersionUID.get=function(){return 0x44077bad161cbc00},Object.defineProperties(e,n),e}(Wl),$c=function(){};$c.prototype.interfaces_=function(){return[]},$c.prototype.getClass=function(){return $c};var th=function(t){function e(e,n,r){if(t.call(this,r),this._shell=null,this._holes=null,null===e&&(e=this.getFactory().createLinearRing()),null===n&&(n=[]),t.hasNullElements(n))throw new el(\"holes must not contain null elements\");if(e.isEmpty()&&t.hasNonEmptyElements(n))throw new el(\"shell is empty but holes are not\");this._shell=e,this._holes=n}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var n={serialVersionUID:{configurable:!0}};return e.prototype.computeEnvelopeInternal=function(){return this._shell.getEnvelopeInternal()},e.prototype.getSortIndex=function(){return t.SORTINDEX_POLYGON},e.prototype.getCoordinates=function(){if(this.isEmpty())return[];for(var t=new Array(this.getNumPoints()).fill(null),e=-1,n=this._shell.getCoordinates(),r=0;r<n.length;r++)t[++e]=n[r];for(var i=0;i<this._holes.length;i++)for(var o=this._holes[i].getCoordinates(),s=0;s<o.length;s++)t[++e]=o[s];return t},e.prototype.getArea=function(){var t=0;t+=Math.abs(Xl.signedArea(this._shell.getCoordinateSequence()));for(var e=0;e<this._holes.length;e++)t-=Math.abs(Xl.signedArea(this._holes[e].getCoordinateSequence()));return t},e.prototype.isRectangle=function(){if(0!==this.getNumInteriorRing())return!1;if(null===this._shell)return!1;if(5!==this._shell.getNumPoints())return!1;for(var t=this._shell.getCoordinateSequence(),e=this.getEnvelopeInternal(),n=0;n<5;n++){var r=t.getX(n);if(r!==e.getMinX()&&r!==e.getMaxX())return!1;var i=t.getY(n);if(i!==e.getMinY()&&i!==e.getMaxY())return!1}for(var o=t.getX(0),s=t.getY(0),a=1;a<=4;a++){var u=t.getX(a),l=t.getY(a);if(u!==o===(l!==s))return!1;o=u,s=l}return!0},e.prototype.equalsExact=function(){var e=this;if(2===arguments.length){var n=arguments[0],r=arguments[1];if(!this.isEquivalentClass(n))return!1;var i=n,o=this._shell,s=i._shell;if(!o.equalsExact(s,r))return!1;if(this._holes.length!==i._holes.length)return!1;for(var a=0;a<this._holes.length;a++)if(!e._holes[a].equalsExact(i._holes[a],r))return!1;return!0}return t.prototype.equalsExact.apply(this,arguments)},e.prototype.normalize=function(){var t=this;if(0===arguments.length){this.normalize(this._shell,!0);for(var e=0;e<this._holes.length;e++)t.normalize(t._holes[e],!1);Rc.sort(this._holes)}else if(2===arguments.length){var n=arguments[0],r=arguments[1];if(n.isEmpty())return null;var i=new Array(n.getCoordinates().length-1).fill(null);Pl.arraycopy(n.getCoordinates(),0,i,0,i.length);var o=pc.minCoordinate(n.getCoordinates());pc.scroll(i,o),Pl.arraycopy(i,0,n.getCoordinates(),0,i.length),n.getCoordinates()[i.length]=i[0],Xl.isCCW(n.getCoordinates())===r&&pc.reverse(n.getCoordinates())}},e.prototype.getCoordinate=function(){return this._shell.getCoordinate()},e.prototype.getNumInteriorRing=function(){return this._holes.length},e.prototype.getBoundaryDimension=function(){return 1},e.prototype.getDimension=function(){return 2},e.prototype.getLength=function(){var t=0;t+=this._shell.getLength();for(var e=0;e<this._holes.length;e++)t+=this._holes[e].getLength();return t},e.prototype.getNumPoints=function(){for(var t=this._shell.getNumPoints(),e=0;e<this._holes.length;e++)t+=this._holes[e].getNumPoints();return t},e.prototype.reverse=function(){var t=this.copy();t._shell=this._shell.copy().reverse(),t._holes=new Array(this._holes.length).fill(null);for(var e=0;e<this._holes.length;e++)t._holes[e]=this._holes[e].copy().reverse();return t},e.prototype.convexHull=function(){return this.getExteriorRing().convexHull()},e.prototype.compareToSameClass=function(){var t=this;if(1===arguments.length){var e=arguments[0],n=this._shell,r=e._shell;return n.compareToSameClass(r)}if(2===arguments.length){var i=arguments[0],o=arguments[1],s=i,a=this._shell,u=s._shell,l=a.compareToSameClass(u,o);if(0!==l)return l;for(var c=this.getNumInteriorRing(),h=s.getNumInteriorRing(),p=0;p<c&&p<h;){var f=t.getInteriorRingN(p),g=s.getInteriorRingN(p),d=f.compareToSameClass(g,o);if(0!==d)return d;p++}return p<c?1:p<h?-1:0}},e.prototype.apply=function(t){var e=this;if(gl(t,Kl)){this._shell.apply(t);for(var n=0;n<this._holes.length;n++)e._holes[n].apply(t)}else if(gl(t,Fc)){if(this._shell.apply(t),!t.isDone())for(var r=0;r<this._holes.length&&(e._holes[r].apply(t),!t.isDone());r++);t.isGeometryChanged()&&this.geometryChanged()}else if(gl(t,Dc))t.filter(this);else if(gl(t,Hl)){t.filter(this),this._shell.apply(t);for(var i=0;i<this._holes.length;i++)e._holes[i].apply(t)}},e.prototype.getBoundary=function(){if(this.isEmpty())return this.getFactory().createMultiLineString();var t=new Array(this._holes.length+1).fill(null);t[0]=this._shell;for(var e=0;e<this._holes.length;e++)t[e+1]=this._holes[e];return t.length<=1?this.getFactory().createLinearRing(t[0].getCoordinateSequence()):this.getFactory().createMultiLineString(t)},e.prototype.clone=function(){var e=t.prototype.clone.call(this);e._shell=this._shell.clone(),e._holes=new Array(this._holes.length).fill(null);for(var n=0;n<this._holes.length;n++)e._holes[n]=this._holes[n].clone();return e},e.prototype.getGeometryType=function(){return\"Polygon\"},e.prototype.copy=function(){for(var t=this._shell.copy(),n=new Array(this._holes.length).fill(null),r=0;r<n.length;r++)n[r]=this._holes[r].copy();return new e(t,n,this._factory)},e.prototype.getExteriorRing=function(){return this._shell},e.prototype.isEmpty=function(){return this._shell.isEmpty()},e.prototype.getInteriorRingN=function(t){return this._holes[t]},e.prototype.interfaces_=function(){return[$c]},e.prototype.getClass=function(){return e},n.serialVersionUID.get=function(){return-0x307ffefd8dc97200},Object.defineProperties(e,n),e}(Wl),eh=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var n={serialVersionUID:{configurable:!0}};return e.prototype.getSortIndex=function(){return Wl.SORTINDEX_MULTIPOINT},e.prototype.isValid=function(){return!0},e.prototype.equalsExact=function(){if(2===arguments.length){var e=arguments[0],n=arguments[1];return!!this.isEquivalentClass(e)&&t.prototype.equalsExact.call(this,e,n)}return t.prototype.equalsExact.apply(this,arguments)},e.prototype.getCoordinate=function(){if(1===arguments.length){var e=arguments[0];return this._geometries[e].getCoordinate()}return t.prototype.getCoordinate.apply(this,arguments)},e.prototype.getBoundaryDimension=function(){return Tc.FALSE},e.prototype.getDimension=function(){return 0},e.prototype.getBoundary=function(){return this.getFactory().createGeometryCollection(null)},e.prototype.getGeometryType=function(){return\"MultiPoint\"},e.prototype.copy=function(){for(var t=new Array(this._geometries.length).fill(null),n=0;n<t.length;n++)t[n]=this._geometries[n].copy();return new e(t,this._factory)},e.prototype.interfaces_=function(){return[Kc]},e.prototype.getClass=function(){return e},n.serialVersionUID.get=function(){return-0x6fb1ed4162e0fc00},Object.defineProperties(e,n),e}(kc),nh=function(t){function e(e,n){e instanceof ul&&n instanceof _h&&(e=n.getCoordinateSequenceFactory().create(e)),t.call(this,e,n),this.validateConstruction()}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var n={MINIMUM_VALID_SIZE:{configurable:!0},serialVersionUID:{configurable:!0}};return e.prototype.getSortIndex=function(){return Wl.SORTINDEX_LINEARRING},e.prototype.getBoundaryDimension=function(){return Tc.FALSE},e.prototype.isClosed=function(){return!!this.isEmpty()||t.prototype.isClosed.call(this)},e.prototype.reverse=function(){var t=this._points.copy();return Jc.reverse(t),this.getFactory().createLinearRing(t)},e.prototype.validateConstruction=function(){if(!this.isEmpty()&&!t.prototype.isClosed.call(this))throw new el(\"Points of LinearRing do not form a closed linestring\");if(this.getCoordinateSequence().size()>=1&&this.getCoordinateSequence().size()<e.MINIMUM_VALID_SIZE)throw new el(\"Invalid number of points in LinearRing (found \"+this.getCoordinateSequence().size()+\" - must be 0 or >= 4)\")},e.prototype.getGeometryType=function(){return\"LinearRing\"},e.prototype.copy=function(){return new e(this._points.copy(),this._factory)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},n.MINIMUM_VALID_SIZE.get=function(){return 4},n.serialVersionUID.get=function(){return-0x3b229e262367a600},Object.defineProperties(e,n),e}(Zc),rh=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var n={serialVersionUID:{configurable:!0}};return e.prototype.getSortIndex=function(){return Wl.SORTINDEX_MULTIPOLYGON},e.prototype.equalsExact=function(){if(2===arguments.length){var e=arguments[0],n=arguments[1];return!!this.isEquivalentClass(e)&&t.prototype.equalsExact.call(this,e,n)}return t.prototype.equalsExact.apply(this,arguments)},e.prototype.getBoundaryDimension=function(){return 1},e.prototype.getDimension=function(){return 2},e.prototype.reverse=function(){for(var t=this._geometries.length,e=new Array(t).fill(null),n=0;n<this._geometries.length;n++)e[n]=this._geometries[n].reverse();return this.getFactory().createMultiPolygon(e)},e.prototype.getBoundary=function(){if(this.isEmpty())return this.getFactory().createMultiLineString();for(var t=new lc,e=0;e<this._geometries.length;e++)for(var n=this._geometries[e].getBoundary(),r=0;r<n.getNumGeometries();r++)t.add(n.getGeometryN(r));var i=new Array(t.size()).fill(null);return this.getFactory().createMultiLineString(t.toArray(i))},e.prototype.getGeometryType=function(){return\"MultiPolygon\"},e.prototype.copy=function(){for(var t=new Array(this._geometries.length).fill(null),n=0;n<t.length;n++)t[n]=this._geometries[n].copy();return new e(t,this._factory)},e.prototype.interfaces_=function(){return[$c]},e.prototype.getClass=function(){return e},n.serialVersionUID.get=function(){return-0x7a5aa1369171980},Object.defineProperties(e,n),e}(kc),ih=function(t){this._factory=t||null,this._isUserDataCopied=!1},oh={NoOpGeometryOperation:{configurable:!0},CoordinateOperation:{configurable:!0},CoordinateSequenceOperation:{configurable:!0}};ih.prototype.setCopyUserData=function(t){this._isUserDataCopied=t},ih.prototype.edit=function(t,e){if(null===t)return null;var n=this.editInternal(t,e);return this._isUserDataCopied&&n.setUserData(t.getUserData()),n},ih.prototype.editInternal=function(t,e){return null===this._factory&&(this._factory=t.getFactory()),t instanceof kc?this.editGeometryCollection(t,e):t instanceof th?this.editPolygon(t,e):t instanceof Qc||t instanceof Zc?e.edit(t,this._factory):(ql.shouldNeverReachHere(\"Unsupported Geometry class: \"+t.getClass().getName()),null)},ih.prototype.editGeometryCollection=function(t,e){for(var n=e.edit(t,this._factory),r=new lc,i=0;i<n.getNumGeometries();i++){var o=this.edit(n.getGeometryN(i),e);null===o||o.isEmpty()||r.add(o)}return n.getClass()===eh?this._factory.createMultiPoint(r.toArray([])):n.getClass()===Gc?this._factory.createMultiLineString(r.toArray([])):n.getClass()===rh?this._factory.createMultiPolygon(r.toArray([])):this._factory.createGeometryCollection(r.toArray([]))},ih.prototype.editPolygon=function(t,e){var n=e.edit(t,this._factory);if(null===n&&(n=this._factory.createPolygon(null)),n.isEmpty())return n;var r=this.edit(n.getExteriorRing(),e);if(null===r||r.isEmpty())return this._factory.createPolygon();for(var i=new lc,o=0;o<n.getNumInteriorRing();o++){var s=this.edit(n.getInteriorRingN(o),e);null===s||s.isEmpty()||i.add(s)}return this._factory.createPolygon(r,i.toArray([]))},ih.prototype.interfaces_=function(){return[]},ih.prototype.getClass=function(){return ih},ih.GeometryEditorOperation=function(){},oh.NoOpGeometryOperation.get=function(){return sh},oh.CoordinateOperation.get=function(){return ah},oh.CoordinateSequenceOperation.get=function(){return uh},Object.defineProperties(ih,oh);var sh=function(){};sh.prototype.edit=function(t,e){return t},sh.prototype.interfaces_=function(){return[ih.GeometryEditorOperation]},sh.prototype.getClass=function(){return sh};var ah=function(){};ah.prototype.edit=function(t,e){var n=this.editCoordinates(t.getCoordinates(),t);return null===n?t:t instanceof nh?e.createLinearRing(n):t instanceof Zc?e.createLineString(n):t instanceof Qc?n.length>0?e.createPoint(n[0]):e.createPoint():t},ah.prototype.interfaces_=function(){return[ih.GeometryEditorOperation]},ah.prototype.getClass=function(){return ah};var uh=function(){};uh.prototype.edit=function(t,e){return t instanceof nh?e.createLinearRing(this.edit(t.getCoordinateSequence(),t)):t instanceof Zc?e.createLineString(this.edit(t.getCoordinateSequence(),t)):t instanceof Qc?e.createPoint(this.edit(t.getCoordinateSequence(),t)):t},uh.prototype.interfaces_=function(){return[ih.GeometryEditorOperation]},uh.prototype.getClass=function(){return uh};var lh=function(){var t=this;if(this._dimension=3,this._coordinates=null,1===arguments.length){if(arguments[0]instanceof Array)this._coordinates=arguments[0],this._dimension=3;else if(Number.isInteger(arguments[0])){var e=arguments[0];this._coordinates=new Array(e).fill(null);for(var n=0;n<e;n++)t._coordinates[n]=new ul}else if(gl(arguments[0],Il)){var r=arguments[0];if(null===r)return this._coordinates=new Array(0).fill(null),null;this._dimension=r.getDimension(),this._coordinates=new Array(r.size()).fill(null);for(var i=0;i<this._coordinates.length;i++)t._coordinates[i]=r.getCoordinateCopy(i)}}else if(2===arguments.length)if(arguments[0]instanceof Array&&Number.isInteger(arguments[1])){var o=arguments[0],s=arguments[1];this._coordinates=o,this._dimension=s,null===o&&(this._coordinates=new Array(0).fill(null))}else if(Number.isInteger(arguments[0])&&Number.isInteger(arguments[1])){var a=arguments[0],u=arguments[1];this._coordinates=new Array(a).fill(null),this._dimension=u;for(var l=0;l<a;l++)t._coordinates[l]=new ul}},ch={serialVersionUID:{configurable:!0}};lh.prototype.setOrdinate=function(t,e,n){switch(e){case Il.X:this._coordinates[t].x=n;break;case Il.Y:this._coordinates[t].y=n;break;case Il.Z:this._coordinates[t].z=n;break;default:throw new el(\"invalid ordinateIndex\")}},lh.prototype.size=function(){return this._coordinates.length},lh.prototype.getOrdinate=function(t,e){switch(e){case Il.X:return this._coordinates[t].x;case Il.Y:return this._coordinates[t].y;case Il.Z:return this._coordinates[t].z}return nl.NaN},lh.prototype.getCoordinate=function(){if(1===arguments.length){var t=arguments[0];return this._coordinates[t]}if(2===arguments.length){var e=arguments[0],n=arguments[1];n.x=this._coordinates[e].x,n.y=this._coordinates[e].y,n.z=this._coordinates[e].z}},lh.prototype.getCoordinateCopy=function(t){return new ul(this._coordinates[t])},lh.prototype.getDimension=function(){return this._dimension},lh.prototype.getX=function(t){return this._coordinates[t].x},lh.prototype.clone=function(){for(var t=new Array(this.size()).fill(null),e=0;e<this._coordinates.length;e++)t[e]=this._coordinates[e].clone();return new lh(t,this._dimension)},lh.prototype.expandEnvelope=function(t){for(var e=0;e<this._coordinates.length;e++)t.expandToInclude(this._coordinates[e]);return t},lh.prototype.copy=function(){for(var t=new Array(this.size()).fill(null),e=0;e<this._coordinates.length;e++)t[e]=this._coordinates[e].copy();return new lh(t,this._dimension)},lh.prototype.toString=function(){if(this._coordinates.length>0){var t=new vl(17*this._coordinates.length);t.append(\"(\"),t.append(this._coordinates[0]);for(var e=1;e<this._coordinates.length;e++)t.append(\", \"),t.append(this._coordinates[e]);return t.append(\")\"),t.toString()}return\"()\"},lh.prototype.getY=function(t){return this._coordinates[t].y},lh.prototype.toCoordinateArray=function(){return this._coordinates},lh.prototype.interfaces_=function(){return[Il,al]},lh.prototype.getClass=function(){return lh},ch.serialVersionUID.get=function(){return-0xcb44a778db18e00},Object.defineProperties(lh,ch);var hh=function(){},ph={serialVersionUID:{configurable:!0},instanceObject:{configurable:!0}};hh.prototype.readResolve=function(){return hh.instance()},hh.prototype.create=function(){if(1===arguments.length){if(arguments[0]instanceof Array){var t=arguments[0];return new lh(t)}if(gl(arguments[0],Il)){var e=arguments[0];return new lh(e)}}else if(2===arguments.length){var n=arguments[0],r=arguments[1];return r>3&&(r=3),r<2?new lh(n):new lh(n,r)}},hh.prototype.interfaces_=function(){return[hl,al]},hh.prototype.getClass=function(){return hh},hh.instance=function(){return hh.instanceObject},ph.serialVersionUID.get=function(){return-0x38e49fa6cf6f2e00},ph.instanceObject.get=function(){return new hh},Object.defineProperties(hh,ph);var fh=function(t){function e(){t.call(this),this.map_=new Map}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return this.map_.get(t)||null},e.prototype.put=function(t,e){return this.map_.set(t,e),e},e.prototype.values=function(){for(var t=new lc,e=this.map_.values(),n=e.next();!n.done;)t.add(n.value),n=e.next();return t},e.prototype.entrySet=function(){var t=new xc;return this.map_.entries().forEach((function(e){return t.add(e)})),t},e.prototype.size=function(){return this.map_.size()},e}(yc),gh=function t(){if(this._modelType=null,this._scale=null,0===arguments.length)this._modelType=t.FLOATING;else if(1===arguments.length)if(arguments[0]instanceof yh){var e=arguments[0];this._modelType=e,e===t.FIXED&&this.setScale(1)}else if(\"number\"==typeof arguments[0]){var n=arguments[0];this._modelType=t.FIXED,this.setScale(n)}else if(arguments[0]instanceof t){var r=arguments[0];this._modelType=r._modelType,this._scale=r._scale}},dh={serialVersionUID:{configurable:!0},maximumPreciseValue:{configurable:!0}};gh.prototype.equals=function(t){if(!(t instanceof gh))return!1;var e=t;return this._modelType===e._modelType&&this._scale===e._scale},gh.prototype.compareTo=function(t){var e=t,n=this.getMaximumSignificantDigits(),r=e.getMaximumSignificantDigits();return new _l(n).compareTo(new _l(r))},gh.prototype.getScale=function(){return this._scale},gh.prototype.isFloating=function(){return this._modelType===gh.FLOATING||this._modelType===gh.FLOATING_SINGLE},gh.prototype.getType=function(){return this._modelType},gh.prototype.toString=function(){var t=\"UNKNOWN\";return this._modelType===gh.FLOATING?t=\"Floating\":this._modelType===gh.FLOATING_SINGLE?t=\"Floating-Single\":this._modelType===gh.FIXED&&(t=\"Fixed (Scale=\"+this.getScale()+\")\"),t},gh.prototype.makePrecise=function(){if(\"number\"==typeof arguments[0]){var t=arguments[0];if(nl.isNaN(t))return t;if(this._modelType===gh.FLOATING_SINGLE){return t}return this._modelType===gh.FIXED?Math.round(t*this._scale)/this._scale:t}if(arguments[0]instanceof ul){var e=arguments[0];if(this._modelType===gh.FLOATING)return null;e.x=this.makePrecise(e.x),e.y=this.makePrecise(e.y)}},gh.prototype.getMaximumSignificantDigits=function(){var t=16;return this._modelType===gh.FLOATING?t=16:this._modelType===gh.FLOATING_SINGLE?t=6:this._modelType===gh.FIXED&&(t=1+Math.trunc(Math.ceil(Math.log(this.getScale())/Math.log(10)))),t},gh.prototype.setScale=function(t){this._scale=Math.abs(t)},gh.prototype.interfaces_=function(){return[al,il]},gh.prototype.getClass=function(){return gh},gh.mostPrecise=function(t,e){return t.compareTo(e)>=0?t:e},dh.serialVersionUID.get=function(){return 0x6bee6404e9a25c00},dh.maximumPreciseValue.get=function(){return 9007199254740992},Object.defineProperties(gh,dh);var yh=function t(e){this._name=e||null,t.nameToTypeMap.put(e,this)},vh={serialVersionUID:{configurable:!0},nameToTypeMap:{configurable:!0}};yh.prototype.readResolve=function(){return yh.nameToTypeMap.get(this._name)},yh.prototype.toString=function(){return this._name},yh.prototype.interfaces_=function(){return[al]},yh.prototype.getClass=function(){return yh},vh.serialVersionUID.get=function(){return-552860263173159e4},vh.nameToTypeMap.get=function(){return new fh},Object.defineProperties(yh,vh),gh.Type=yh,gh.FIXED=new yh(\"FIXED\"),gh.FLOATING=new yh(\"FLOATING\"),gh.FLOATING_SINGLE=new yh(\"FLOATING SINGLE\");var _h=function t(){this._precisionModel=new gh,this._SRID=0,this._coordinateSequenceFactory=t.getDefaultCoordinateSequenceFactory(),0===arguments.length||(1===arguments.length?gl(arguments[0],hl)?this._coordinateSequenceFactory=arguments[0]:arguments[0]instanceof gh&&(this._precisionModel=arguments[0]):2===arguments.length?(this._precisionModel=arguments[0],this._SRID=arguments[1]):3===arguments.length&&(this._precisionModel=arguments[0],this._SRID=arguments[1],this._coordinateSequenceFactory=arguments[2]))},mh={serialVersionUID:{configurable:!0}};_h.prototype.toGeometry=function(t){return t.isNull()?this.createPoint(null):t.getMinX()===t.getMaxX()&&t.getMinY()===t.getMaxY()?this.createPoint(new ul(t.getMinX(),t.getMinY())):t.getMinX()===t.getMaxX()||t.getMinY()===t.getMaxY()?this.createLineString([new ul(t.getMinX(),t.getMinY()),new ul(t.getMaxX(),t.getMaxY())]):this.createPolygon(this.createLinearRing([new ul(t.getMinX(),t.getMinY()),new ul(t.getMinX(),t.getMaxY()),new ul(t.getMaxX(),t.getMaxY()),new ul(t.getMaxX(),t.getMinY()),new ul(t.getMinX(),t.getMinY())]),null)},_h.prototype.createLineString=function(t){return t?t instanceof Array?new Zc(this.getCoordinateSequenceFactory().create(t),this):gl(t,Il)?new Zc(t,this):void 0:new Zc(this.getCoordinateSequenceFactory().create([]),this)},_h.prototype.createMultiLineString=function(){if(0===arguments.length)return new Gc(null,this);if(1===arguments.length){var t=arguments[0];return new Gc(t,this)}},_h.prototype.buildGeometry=function(t){for(var e=null,n=!1,r=!1,i=t.iterator();i.hasNext();){var o=i.next(),s=o.getClass();null===e&&(e=s),s!==e&&(n=!0),o.isGeometryCollectionOrDerived()&&(r=!0)}if(null===e)return this.createGeometryCollection();if(n||r)return this.createGeometryCollection(_h.toGeometryArray(t));var a=t.iterator().next();if(t.size()>1){if(a instanceof th)return this.createMultiPolygon(_h.toPolygonArray(t));if(a instanceof Zc)return this.createMultiLineString(_h.toLineStringArray(t));if(a instanceof Qc)return this.createMultiPoint(_h.toPointArray(t));ql.shouldNeverReachHere(\"Unhandled class: \"+a.getClass().getName())}return a},_h.prototype.createMultiPointFromCoords=function(t){return this.createMultiPoint(null!==t?this.getCoordinateSequenceFactory().create(t):null)},_h.prototype.createPoint=function(){if(0===arguments.length)return this.createPoint(this.getCoordinateSequenceFactory().create([]));if(1===arguments.length){if(arguments[0]instanceof ul){var t=arguments[0];return this.createPoint(null!==t?this.getCoordinateSequenceFactory().create([t]):null)}if(gl(arguments[0],Il)){var e=arguments[0];return new Qc(e,this)}}},_h.prototype.getCoordinateSequenceFactory=function(){return this._coordinateSequenceFactory},_h.prototype.createPolygon=function(){if(0===arguments.length)return new th(null,null,this);if(1===arguments.length){if(gl(arguments[0],Il)){var t=arguments[0];return this.createPolygon(this.createLinearRing(t))}if(arguments[0]instanceof Array){var e=arguments[0];return this.createPolygon(this.createLinearRing(e))}if(arguments[0]instanceof nh){var n=arguments[0];return this.createPolygon(n,null)}}else if(2===arguments.length){var r=arguments[0],i=arguments[1];return new th(r,i,this)}},_h.prototype.getSRID=function(){return this._SRID},_h.prototype.createGeometryCollection=function(){if(0===arguments.length)return new kc(null,this);if(1===arguments.length){var t=arguments[0];return new kc(t,this)}},_h.prototype.createGeometry=function(t){return new ih(this).edit(t,{edit:function(){if(2===arguments.length){var t=arguments[0];return this._coordinateSequenceFactory.create(t)}}})},_h.prototype.getPrecisionModel=function(){return this._precisionModel},_h.prototype.createLinearRing=function(){if(0===arguments.length)return this.createLinearRing(this.getCoordinateSequenceFactory().create([]));if(1===arguments.length){if(arguments[0]instanceof Array){var t=arguments[0];return this.createLinearRing(null!==t?this.getCoordinateSequenceFactory().create(t):null)}if(gl(arguments[0],Il)){var e=arguments[0];return new nh(e,this)}}},_h.prototype.createMultiPolygon=function(){if(0===arguments.length)return new rh(null,this);if(1===arguments.length){var t=arguments[0];return new rh(t,this)}},_h.prototype.createMultiPoint=function(){var t=this;if(0===arguments.length)return new eh(null,this);if(1===arguments.length){if(arguments[0]instanceof Array){var e=arguments[0];return new eh(e,this)}if(arguments[0]instanceof Array){var n=arguments[0];return this.createMultiPoint(null!==n?this.getCoordinateSequenceFactory().create(n):null)}if(gl(arguments[0],Il)){var r=arguments[0];if(null===r)return this.createMultiPoint(new Array(0).fill(null));for(var i=new Array(r.size()).fill(null),o=0;o<r.size();o++){var s=t.getCoordinateSequenceFactory().create(1,r.getDimension());Jc.copy(r,o,s,0,1),i[o]=t.createPoint(s)}return this.createMultiPoint(i)}}},_h.prototype.interfaces_=function(){return[al]},_h.prototype.getClass=function(){return _h},_h.toMultiPolygonArray=function(t){var e=new Array(t.size()).fill(null);return t.toArray(e)},_h.toGeometryArray=function(t){if(null===t)return null;var e=new Array(t.size()).fill(null);return t.toArray(e)},_h.getDefaultCoordinateSequenceFactory=function(){return hh.instance()},_h.toMultiLineStringArray=function(t){var e=new Array(t.size()).fill(null);return t.toArray(e)},_h.toLineStringArray=function(t){var e=new Array(t.size()).fill(null);return t.toArray(e)},_h.toMultiPointArray=function(t){var e=new Array(t.size()).fill(null);return t.toArray(e)},_h.toLinearRingArray=function(t){var e=new Array(t.size()).fill(null);return t.toArray(e)},_h.toPointArray=function(t){var e=new Array(t.size()).fill(null);return t.toArray(e)},_h.toPolygonArray=function(t){var e=new Array(t.size()).fill(null);return t.toArray(e)},_h.createPointFromInternalCoord=function(t,e){return e.getPrecisionModel().makePrecise(t),e.getFactory().createPoint(t)},mh.serialVersionUID.get=function(){return-0x5ea75f2051eeb400},Object.defineProperties(_h,mh);var xh=[\"Point\",\"MultiPoint\",\"LineString\",\"MultiLineString\",\"Polygon\",\"MultiPolygon\"],Eh=function(t){this.geometryFactory=t||new _h};Eh.prototype.read=function(t){var e,n=(e=\"string\"==typeof t?JSON.parse(t):t).type;if(!bh[n])throw new Error(\"Unknown GeoJSON type: \"+e.type);return-1!==xh.indexOf(n)?bh[n].apply(this,[e.coordinates]):\"GeometryCollection\"===n?bh[n].apply(this,[e.geometries]):bh[n].apply(this,[e])},Eh.prototype.write=function(t){var e=t.getGeometryType();if(!wh[e])throw new Error(\"Geometry is not supported\");return wh[e].apply(this,[t])};var bh={Feature:function(t){var e={};for(var n in t)e[n]=t[n];if(t.geometry){var r=t.geometry.type;if(!bh[r])throw new Error(\"Unknown GeoJSON type: \"+t.type);e.geometry=this.read(t.geometry)}return t.bbox&&(e.bbox=bh.bbox.apply(this,[t.bbox])),e},FeatureCollection:function(t){var e={};if(t.features){e.features=[];for(var n=0;n<t.features.length;++n)e.features.push(this.read(t.features[n]))}return t.bbox&&(e.bbox=this.parse.bbox.apply(this,[t.bbox])),e},coordinates:function(t){for(var e=[],n=0;n<t.length;++n){var r=t[n];e.push(new ul(r[0],r[1]))}return e},bbox:function(t){return this.geometryFactory.createLinearRing([new ul(t[0],t[1]),new ul(t[2],t[1]),new ul(t[2],t[3]),new ul(t[0],t[3]),new ul(t[0],t[1])])},Point:function(t){var e=new ul(t[0],t[1]);return this.geometryFactory.createPoint(e)},MultiPoint:function(t){for(var e=[],n=0;n<t.length;++n)e.push(bh.Point.apply(this,[t[n]]));return this.geometryFactory.createMultiPoint(e)},LineString:function(t){var e=bh.coordinates.apply(this,[t]);return this.geometryFactory.createLineString(e)},MultiLineString:function(t){for(var e=[],n=0;n<t.length;++n)e.push(bh.LineString.apply(this,[t[n]]));return this.geometryFactory.createMultiLineString(e)},Polygon:function(t){for(var e=bh.coordinates.apply(this,[t[0]]),n=this.geometryFactory.createLinearRing(e),r=[],i=1;i<t.length;++i){var o=t[i],s=bh.coordinates.apply(this,[o]),a=this.geometryFactory.createLinearRing(s);r.push(a)}return this.geometryFactory.createPolygon(n,r)},MultiPolygon:function(t){for(var e=[],n=0;n<t.length;++n){var r=t[n];e.push(bh.Polygon.apply(this,[r]))}return this.geometryFactory.createMultiPolygon(e)},GeometryCollection:function(t){for(var e=[],n=0;n<t.length;++n){var r=t[n];e.push(this.read(r))}return this.geometryFactory.createGeometryCollection(e)}},wh={coordinate:function(t){return[t.x,t.y]},Point:function(t){return{type:\"Point\",coordinates:wh.coordinate.apply(this,[t.getCoordinate()])}},MultiPoint:function(t){for(var e=[],n=0;n<t._geometries.length;++n){var r=t._geometries[n],i=wh.Point.apply(this,[r]);e.push(i.coordinates)}return{type:\"MultiPoint\",coordinates:e}},LineString:function(t){for(var e=[],n=t.getCoordinates(),r=0;r<n.length;++r){var i=n[r];e.push(wh.coordinate.apply(this,[i]))}return{type:\"LineString\",coordinates:e}},MultiLineString:function(t){for(var e=[],n=0;n<t._geometries.length;++n){var r=t._geometries[n],i=wh.LineString.apply(this,[r]);e.push(i.coordinates)}return{type:\"MultiLineString\",coordinates:e}},Polygon:function(t){var e=[],n=wh.LineString.apply(this,[t._shell]);e.push(n.coordinates);for(var r=0;r<t._holes.length;++r){var i=t._holes[r],o=wh.LineString.apply(this,[i]);e.push(o.coordinates)}return{type:\"Polygon\",coordinates:e}},MultiPolygon:function(t){for(var e=[],n=0;n<t._geometries.length;++n){var r=t._geometries[n],i=wh.Polygon.apply(this,[r]);e.push(i.coordinates)}return{type:\"MultiPolygon\",coordinates:e}},GeometryCollection:function(t){for(var e=[],n=0;n<t._geometries.length;++n){var r=t._geometries[n],i=r.getGeometryType();e.push(wh[i].apply(this,[r]))}return{type:\"GeometryCollection\",geometries:e}}},Ih=function(t){this.geometryFactory=t||new _h,this.precisionModel=this.geometryFactory.getPrecisionModel(),this.parser=new Eh(this.geometryFactory)};Ih.prototype.read=function(t){var e=this.parser.read(t);return this.precisionModel.getType()===gh.FIXED&&this.reducePrecision(e),e},Ih.prototype.reducePrecision=function(t){var e,n;if(t.coordinate)this.precisionModel.makePrecise(t.coordinate);else if(t.points)for(e=0,n=t.points.length;e<n;e++)this.precisionModel.makePrecise(t.points[e]);else if(t.geometries)for(e=0,n=t.geometries.length;e<n;e++)this.reducePrecision(t.geometries[e])};var Nh=function(){this.parser=new Eh(this.geometryFactory)};Nh.prototype.write=function(t){return this.parser.write(t)};var Sh=function(){},Ch={ON:{configurable:!0},LEFT:{configurable:!0},RIGHT:{configurable:!0}};function Ph(t){this.message=t||\"\"}function Mh(){this.array_=[]}Sh.prototype.interfaces_=function(){return[]},Sh.prototype.getClass=function(){return Sh},Sh.opposite=function(t){return t===Sh.LEFT?Sh.RIGHT:t===Sh.RIGHT?Sh.LEFT:t},Ch.ON.get=function(){return 0},Ch.LEFT.get=function(){return 1},Ch.RIGHT.get=function(){return 2},Object.defineProperties(Sh,Ch),Ph.prototype=new Error,Ph.prototype.name=\"EmptyStackException\",Mh.prototype=new ac,Mh.prototype.add=function(t){return this.array_.push(t),!0},Mh.prototype.get=function(t){if(t<0||t>=this.size())throw new Error;return this.array_[t]},Mh.prototype.push=function(t){return this.array_.push(t),t},Mh.prototype.pop=function(t){if(0===this.array_.length)throw new Ph;return this.array_.pop()},Mh.prototype.peek=function(){if(0===this.array_.length)throw new Ph;return this.array_[this.array_.length-1]},Mh.prototype.empty=function(){return 0===this.array_.length},Mh.prototype.isEmpty=function(){return this.empty()},Mh.prototype.search=function(t){return this.array_.indexOf(t)},Mh.prototype.size=function(){return this.array_.length},Mh.prototype.toArray=function(){for(var t=[],e=0,n=this.array_.length;e<n;e++)t.push(this.array_[e]);return t};var Lh=function(){this._minIndex=-1,this._minCoord=null,this._minDe=null,this._orientedDe=null};Lh.prototype.getCoordinate=function(){return this._minCoord},Lh.prototype.getRightmostSide=function(t,e){var n=this.getRightmostSideOfSegment(t,e);return n<0&&(n=this.getRightmostSideOfSegment(t,e-1)),n<0&&(this._minCoord=null,this.checkForRightmostCoordinate(t)),n},Lh.prototype.findRightmostEdgeAtVertex=function(){var t=this._minDe.getEdge().getCoordinates();ql.isTrue(this._minIndex>0&&this._minIndex<t.length,\"rightmost point expected to be interior vertex of edge\");var e=t[this._minIndex-1],n=t[this._minIndex+1],r=Xl.computeOrientation(this._minCoord,n,e),i=!1;(e.y<this._minCoord.y&&n.y<this._minCoord.y&&r===Xl.COUNTERCLOCKWISE||e.y>this._minCoord.y&&n.y>this._minCoord.y&&r===Xl.CLOCKWISE)&&(i=!0),i&&(this._minIndex=this._minIndex-1)},Lh.prototype.getRightmostSideOfSegment=function(t,e){var n=t.getEdge().getCoordinates();if(e<0||e+1>=n.length)return-1;if(n[e].y===n[e+1].y)return-1;var r=Sh.LEFT;return n[e].y<n[e+1].y&&(r=Sh.RIGHT),r},Lh.prototype.getEdge=function(){return this._orientedDe},Lh.prototype.checkForRightmostCoordinate=function(t){for(var e=this,n=t.getEdge().getCoordinates(),r=0;r<n.length-1;r++)(null===e._minCoord||n[r].x>e._minCoord.x)&&(e._minDe=t,e._minIndex=r,e._minCoord=n[r])},Lh.prototype.findRightmostEdgeAtNode=function(){var t=this._minDe.getNode().getEdges();this._minDe=t.getRightmostEdge(),this._minDe.isForward()||(this._minDe=this._minDe.getSym(),this._minIndex=this._minDe.getEdge().getCoordinates().length-1)},Lh.prototype.findEdge=function(t){for(var e=t.iterator();e.hasNext();){var n=e.next();n.isForward()&&this.checkForRightmostCoordinate(n)}ql.isTrue(0!==this._minIndex||this._minCoord.equals(this._minDe.getCoordinate()),\"inconsistency in rightmost processing\"),0===this._minIndex?this.findRightmostEdgeAtNode():this.findRightmostEdgeAtVertex(),this._orientedDe=this._minDe,this.getRightmostSide(this._minDe,this._minIndex)===Sh.LEFT&&(this._orientedDe=this._minDe.getSym())},Lh.prototype.interfaces_=function(){return[]},Lh.prototype.getClass=function(){return Lh};var Oh=function(t){function e(n,r){t.call(this,e.msgWithCoord(n,r)),this.pt=r?new ul(r):null,this.name=\"TopologyException\"}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getCoordinate=function(){return this.pt},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e.msgWithCoord=function(t,e){return e?t:t+\" [ \"+e+\" ]\"},e}(kl),Rh=function(){this.array_=[]};Rh.prototype.addLast=function(t){this.array_.push(t)},Rh.prototype.removeFirst=function(){return this.array_.shift()},Rh.prototype.isEmpty=function(){return 0===this.array_.length};var Th=function(){this._finder=null,this._dirEdgeList=new lc,this._nodes=new lc,this._rightMostCoord=null,this._env=null,this._finder=new Lh};Th.prototype.clearVisitedEdges=function(){for(var t=this._dirEdgeList.iterator();t.hasNext();){t.next().setVisited(!1)}},Th.prototype.getRightmostCoordinate=function(){return this._rightMostCoord},Th.prototype.computeNodeDepth=function(t){for(var e=null,n=t.getEdges().iterator();n.hasNext();){var r=n.next();if(r.isVisited()||r.getSym().isVisited()){e=r;break}}if(null===e)throw new Oh(\"unable to find edge to compute depths at \"+t.getCoordinate());t.getEdges().computeDepths(e);for(var i=t.getEdges().iterator();i.hasNext();){var o=i.next();o.setVisited(!0),this.copySymDepths(o)}},Th.prototype.computeDepth=function(t){this.clearVisitedEdges();var e=this._finder.getEdge();e.setEdgeDepths(Sh.RIGHT,t),this.copySymDepths(e),this.computeDepths(e)},Th.prototype.create=function(t){this.addReachable(t),this._finder.findEdge(this._dirEdgeList),this._rightMostCoord=this._finder.getCoordinate()},Th.prototype.findResultEdges=function(){for(var t=this._dirEdgeList.iterator();t.hasNext();){var e=t.next();e.getDepth(Sh.RIGHT)>=1&&e.getDepth(Sh.LEFT)<=0&&!e.isInteriorAreaEdge()&&e.setInResult(!0)}},Th.prototype.computeDepths=function(t){var e=new xc,n=new Rh,r=t.getNode();for(n.addLast(r),e.add(r),t.setVisited(!0);!n.isEmpty();){var i=n.removeFirst();e.add(i),this.computeNodeDepth(i);for(var o=i.getEdges().iterator();o.hasNext();){var s=o.next().getSym();if(!s.isVisited()){var a=s.getNode();e.contains(a)||(n.addLast(a),e.add(a))}}}},Th.prototype.compareTo=function(t){var e=t;return this._rightMostCoord.x<e._rightMostCoord.x?-1:this._rightMostCoord.x>e._rightMostCoord.x?1:0},Th.prototype.getEnvelope=function(){if(null===this._env){for(var t=new Ll,e=this._dirEdgeList.iterator();e.hasNext();)for(var n=e.next().getEdge().getCoordinates(),r=0;r<n.length-1;r++)t.expandToInclude(n[r]);this._env=t}return this._env},Th.prototype.addReachable=function(t){var e=new Mh;for(e.add(t);!e.empty();){var n=e.pop();this.add(n,e)}},Th.prototype.copySymDepths=function(t){var e=t.getSym();e.setDepth(Sh.LEFT,t.getDepth(Sh.RIGHT)),e.setDepth(Sh.RIGHT,t.getDepth(Sh.LEFT))},Th.prototype.add=function(t,e){t.setVisited(!0),this._nodes.add(t);for(var n=t.getEdges().iterator();n.hasNext();){var r=n.next();this._dirEdgeList.add(r);var i=r.getSym().getNode();i.isVisited()||e.push(i)}},Th.prototype.getNodes=function(){return this._nodes},Th.prototype.getDirectedEdges=function(){return this._dirEdgeList},Th.prototype.interfaces_=function(){return[il]},Th.prototype.getClass=function(){return Th};var Ah=function t(){var e=this;if(this.location=null,1===arguments.length){if(arguments[0]instanceof Array){var n=arguments[0];this.init(n.length)}else if(Number.isInteger(arguments[0])){var r=arguments[0];this.init(1),this.location[Sh.ON]=r}else if(arguments[0]instanceof t){var i=arguments[0];if(this.init(i.location.length),null!==i)for(var o=0;o<this.location.length;o++)e.location[o]=i.location[o]}}else if(3===arguments.length){var s=arguments[0],a=arguments[1],u=arguments[2];this.init(3),this.location[Sh.ON]=s,this.location[Sh.LEFT]=a,this.location[Sh.RIGHT]=u}};Ah.prototype.setAllLocations=function(t){for(var e=0;e<this.location.length;e++)this.location[e]=t},Ah.prototype.isNull=function(){for(var t=0;t<this.location.length;t++)if(this.location[t]!==pl.NONE)return!1;return!0},Ah.prototype.setAllLocationsIfNull=function(t){for(var e=0;e<this.location.length;e++)this.location[e]===pl.NONE&&(this.location[e]=t)},Ah.prototype.isLine=function(){return 1===this.location.length},Ah.prototype.merge=function(t){if(t.location.length>this.location.length){var e=new Array(3).fill(null);e[Sh.ON]=this.location[Sh.ON],e[Sh.LEFT]=pl.NONE,e[Sh.RIGHT]=pl.NONE,this.location=e}for(var n=0;n<this.location.length;n++)this.location[n]===pl.NONE&&n<t.location.length&&(this.location[n]=t.location[n])},Ah.prototype.getLocations=function(){return this.location},Ah.prototype.flip=function(){if(this.location.length<=1)return null;var t=this.location[Sh.LEFT];this.location[Sh.LEFT]=this.location[Sh.RIGHT],this.location[Sh.RIGHT]=t},Ah.prototype.toString=function(){var t=new vl;return this.location.length>1&&t.append(pl.toLocationSymbol(this.location[Sh.LEFT])),t.append(pl.toLocationSymbol(this.location[Sh.ON])),this.location.length>1&&t.append(pl.toLocationSymbol(this.location[Sh.RIGHT])),t.toString()},Ah.prototype.setLocations=function(t,e,n){this.location[Sh.ON]=t,this.location[Sh.LEFT]=e,this.location[Sh.RIGHT]=n},Ah.prototype.get=function(t){return t<this.location.length?this.location[t]:pl.NONE},Ah.prototype.isArea=function(){return this.location.length>1},Ah.prototype.isAnyNull=function(){for(var t=0;t<this.location.length;t++)if(this.location[t]===pl.NONE)return!0;return!1},Ah.prototype.setLocation=function(){if(1===arguments.length){var t=arguments[0];this.setLocation(Sh.ON,t)}else if(2===arguments.length){var e=arguments[0],n=arguments[1];this.location[e]=n}},Ah.prototype.init=function(t){this.location=new Array(t).fill(null),this.setAllLocations(pl.NONE)},Ah.prototype.isEqualOnSide=function(t,e){return this.location[e]===t.location[e]},Ah.prototype.allPositionsEqual=function(t){for(var e=0;e<this.location.length;e++)if(this.location[e]!==t)return!1;return!0},Ah.prototype.interfaces_=function(){return[]},Ah.prototype.getClass=function(){return Ah};var Dh=function t(){if(this.elt=new Array(2).fill(null),1===arguments.length){if(Number.isInteger(arguments[0])){var e=arguments[0];this.elt[0]=new Ah(e),this.elt[1]=new Ah(e)}else if(arguments[0]instanceof t){var n=arguments[0];this.elt[0]=new Ah(n.elt[0]),this.elt[1]=new Ah(n.elt[1])}}else if(2===arguments.length){var r=arguments[0],i=arguments[1];this.elt[0]=new Ah(pl.NONE),this.elt[1]=new Ah(pl.NONE),this.elt[r].setLocation(i)}else if(3===arguments.length){var o=arguments[0],s=arguments[1],a=arguments[2];this.elt[0]=new Ah(o,s,a),this.elt[1]=new Ah(o,s,a)}else if(4===arguments.length){var u=arguments[0],l=arguments[1],c=arguments[2],h=arguments[3];this.elt[0]=new Ah(pl.NONE,pl.NONE,pl.NONE),this.elt[1]=new Ah(pl.NONE,pl.NONE,pl.NONE),this.elt[u].setLocations(l,c,h)}};Dh.prototype.getGeometryCount=function(){var t=0;return this.elt[0].isNull()||t++,this.elt[1].isNull()||t++,t},Dh.prototype.setAllLocations=function(t,e){this.elt[t].setAllLocations(e)},Dh.prototype.isNull=function(t){return this.elt[t].isNull()},Dh.prototype.setAllLocationsIfNull=function(){if(1===arguments.length){var t=arguments[0];this.setAllLocationsIfNull(0,t),this.setAllLocationsIfNull(1,t)}else if(2===arguments.length){var e=arguments[0],n=arguments[1];this.elt[e].setAllLocationsIfNull(n)}},Dh.prototype.isLine=function(t){return this.elt[t].isLine()},Dh.prototype.merge=function(t){for(var e=this,n=0;n<2;n++)null===e.elt[n]&&null!==t.elt[n]?e.elt[n]=new Ah(t.elt[n]):e.elt[n].merge(t.elt[n])},Dh.prototype.flip=function(){this.elt[0].flip(),this.elt[1].flip()},Dh.prototype.getLocation=function(){if(1===arguments.length){var t=arguments[0];return this.elt[t].get(Sh.ON)}if(2===arguments.length){var e=arguments[0],n=arguments[1];return this.elt[e].get(n)}},Dh.prototype.toString=function(){var t=new vl;return null!==this.elt[0]&&(t.append(\"A:\"),t.append(this.elt[0].toString())),null!==this.elt[1]&&(t.append(\" B:\"),t.append(this.elt[1].toString())),t.toString()},Dh.prototype.isArea=function(){if(0===arguments.length)return this.elt[0].isArea()||this.elt[1].isArea();if(1===arguments.length){var t=arguments[0];return this.elt[t].isArea()}},Dh.prototype.isAnyNull=function(t){return this.elt[t].isAnyNull()},Dh.prototype.setLocation=function(){if(2===arguments.length){var t=arguments[0],e=arguments[1];this.elt[t].setLocation(Sh.ON,e)}else if(3===arguments.length){var n=arguments[0],r=arguments[1],i=arguments[2];this.elt[n].setLocation(r,i)}},Dh.prototype.isEqualOnSide=function(t,e){return this.elt[0].isEqualOnSide(t.elt[0],e)&&this.elt[1].isEqualOnSide(t.elt[1],e)},Dh.prototype.allPositionsEqual=function(t,e){return this.elt[t].allPositionsEqual(e)},Dh.prototype.toLine=function(t){this.elt[t].isArea()&&(this.elt[t]=new Ah(this.elt[t].location[0]))},Dh.prototype.interfaces_=function(){return[]},Dh.prototype.getClass=function(){return Dh},Dh.toLineLabel=function(t){for(var e=new Dh(pl.NONE),n=0;n<2;n++)e.setLocation(n,t.getLocation(n));return e};var Fh=function(){this._startDe=null,this._maxNodeDegree=-1,this._edges=new lc,this._pts=new lc,this._label=new Dh(pl.NONE),this._ring=null,this._isHole=null,this._shell=null,this._holes=new lc,this._geometryFactory=null;var t=arguments[0],e=arguments[1];this._geometryFactory=e,this.computePoints(t),this.computeRing()};Fh.prototype.computeRing=function(){if(null!==this._ring)return null;for(var t=new Array(this._pts.size()).fill(null),e=0;e<this._pts.size();e++)t[e]=this._pts.get(e);this._ring=this._geometryFactory.createLinearRing(t),this._isHole=Xl.isCCW(this._ring.getCoordinates())},Fh.prototype.isIsolated=function(){return 1===this._label.getGeometryCount()},Fh.prototype.computePoints=function(t){var e=this;this._startDe=t;var n=t,r=!0;do{if(null===n)throw new Oh(\"Found null DirectedEdge\");if(n.getEdgeRing()===e)throw new Oh(\"Directed Edge visited twice during ring-building at \"+n.getCoordinate());e._edges.add(n);var i=n.getLabel();ql.isTrue(i.isArea()),e.mergeLabel(i),e.addPoints(n.getEdge(),n.isForward(),r),r=!1,e.setEdgeRing(n,e),n=e.getNext(n)}while(n!==this._startDe)},Fh.prototype.getLinearRing=function(){return this._ring},Fh.prototype.getCoordinate=function(t){return this._pts.get(t)},Fh.prototype.computeMaxNodeDegree=function(){var t=this;this._maxNodeDegree=0;var e=this._startDe;do{var n=e.getNode().getEdges().getOutgoingDegree(t);n>t._maxNodeDegree&&(t._maxNodeDegree=n),e=t.getNext(e)}while(e!==this._startDe);this._maxNodeDegree*=2},Fh.prototype.addPoints=function(t,e,n){var r=t.getCoordinates();if(e){var i=1;n&&(i=0);for(var o=i;o<r.length;o++)this._pts.add(r[o])}else{var s=r.length-2;n&&(s=r.length-1);for(var a=s;a>=0;a--)this._pts.add(r[a])}},Fh.prototype.isHole=function(){return this._isHole},Fh.prototype.setInResult=function(){var t=this._startDe;do{t.getEdge().setInResult(!0),t=t.getNext()}while(t!==this._startDe)},Fh.prototype.containsPoint=function(t){var e=this.getLinearRing();if(!e.getEnvelopeInternal().contains(t))return!1;if(!Xl.isPointInRing(t,e.getCoordinates()))return!1;for(var n=this._holes.iterator();n.hasNext();){if(n.next().containsPoint(t))return!1}return!0},Fh.prototype.addHole=function(t){this._holes.add(t)},Fh.prototype.isShell=function(){return null===this._shell},Fh.prototype.getLabel=function(){return this._label},Fh.prototype.getEdges=function(){return this._edges},Fh.prototype.getMaxNodeDegree=function(){return this._maxNodeDegree<0&&this.computeMaxNodeDegree(),this._maxNodeDegree},Fh.prototype.getShell=function(){return this._shell},Fh.prototype.mergeLabel=function(){if(1===arguments.length){var t=arguments[0];this.mergeLabel(t,0),this.mergeLabel(t,1)}else if(2===arguments.length){var e=arguments[0],n=arguments[1],r=e.getLocation(n,Sh.RIGHT);if(r===pl.NONE)return null;if(this._label.getLocation(n)===pl.NONE)return this._label.setLocation(n,r),null}},Fh.prototype.setShell=function(t){this._shell=t,null!==t&&t.addHole(this)},Fh.prototype.toPolygon=function(t){for(var e=new Array(this._holes.size()).fill(null),n=0;n<this._holes.size();n++)e[n]=this._holes.get(n).getLinearRing();return t.createPolygon(this.getLinearRing(),e)},Fh.prototype.interfaces_=function(){return[]},Fh.prototype.getClass=function(){return Fh};var kh=function(t){function e(){var e=arguments[0],n=arguments[1];t.call(this,e,n)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setEdgeRing=function(t,e){t.setMinEdgeRing(e)},e.prototype.getNext=function(t){return t.getNextMin()},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(Fh),Gh=function(t){function e(){var e=arguments[0],n=arguments[1];t.call(this,e,n)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.buildMinimalRings=function(){var t=new lc,e=this._startDe;do{if(null===e.getMinEdgeRing()){var n=new kh(e,this._geometryFactory);t.add(n)}e=e.getNext()}while(e!==this._startDe);return t},e.prototype.setEdgeRing=function(t,e){t.setEdgeRing(e)},e.prototype.linkDirectedEdgesForMinimalEdgeRings=function(){var t=this._startDe;do{t.getNode().getEdges().linkMinimalDirectedEdges(this),t=t.getNext()}while(t!==this._startDe)},e.prototype.getNext=function(t){return t.getNext()},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(Fh),qh=function(){if(this._label=null,this._isInResult=!1,this._isCovered=!1,this._isCoveredSet=!1,this._isVisited=!1,0===arguments.length);else if(1===arguments.length){var t=arguments[0];this._label=t}};qh.prototype.setVisited=function(t){this._isVisited=t},qh.prototype.setInResult=function(t){this._isInResult=t},qh.prototype.isCovered=function(){return this._isCovered},qh.prototype.isCoveredSet=function(){return this._isCoveredSet},qh.prototype.setLabel=function(t){this._label=t},qh.prototype.getLabel=function(){return this._label},qh.prototype.setCovered=function(t){this._isCovered=t,this._isCoveredSet=!0},qh.prototype.updateIM=function(t){ql.isTrue(this._label.getGeometryCount()>=2,\"found partial label\"),this.computeIM(t)},qh.prototype.isInResult=function(){return this._isInResult},qh.prototype.isVisited=function(){return this._isVisited},qh.prototype.interfaces_=function(){return[]},qh.prototype.getClass=function(){return qh};var Bh=function(t){function e(){t.call(this),this._coord=null,this._edges=null;var e=arguments[0],n=arguments[1];this._coord=e,this._edges=n,this._label=new Dh(0,pl.NONE)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.isIncidentEdgeInResult=function(){for(var t=this.getEdges().getEdges().iterator();t.hasNext();){if(t.next().getEdge().isInResult())return!0}return!1},e.prototype.isIsolated=function(){return 1===this._label.getGeometryCount()},e.prototype.getCoordinate=function(){return this._coord},e.prototype.print=function(t){t.println(\"node \"+this._coord+\" lbl: \"+this._label)},e.prototype.computeIM=function(t){},e.prototype.computeMergedLocation=function(t,e){var n=pl.NONE;if(n=this._label.getLocation(e),!t.isNull(e)){var r=t.getLocation(e);n!==pl.BOUNDARY&&(n=r)}return n},e.prototype.setLabel=function(){if(2!==arguments.length)return t.prototype.setLabel.apply(this,arguments);var e=arguments[0],n=arguments[1];null===this._label?this._label=new Dh(e,n):this._label.setLocation(e,n)},e.prototype.getEdges=function(){return this._edges},e.prototype.mergeLabel=function(){var t=this;if(arguments[0]instanceof e){var n=arguments[0];this.mergeLabel(n._label)}else if(arguments[0]instanceof Dh)for(var r=arguments[0],i=0;i<2;i++){var o=t.computeMergedLocation(r,i),s=t._label.getLocation(i);s===pl.NONE&&t._label.setLocation(i,o)}},e.prototype.add=function(t){this._edges.insert(t),t.setNode(this)},e.prototype.setLabelBoundary=function(t){if(null===this._label)return null;var e=pl.NONE;null!==this._label&&(e=this._label.getLocation(t));var n=null;switch(e){case pl.BOUNDARY:n=pl.INTERIOR;break;case pl.INTERIOR:default:n=pl.BOUNDARY}this._label.setLocation(t,n)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(qh),zh=function(){this.nodeMap=new Cc,this.nodeFact=null;var t=arguments[0];this.nodeFact=t};zh.prototype.find=function(t){return this.nodeMap.get(t)},zh.prototype.addNode=function(){if(arguments[0]instanceof ul){var t=arguments[0],e=this.nodeMap.get(t);return null===e&&(e=this.nodeFact.createNode(t),this.nodeMap.put(t,e)),e}if(arguments[0]instanceof Bh){var n=arguments[0],r=this.nodeMap.get(n.getCoordinate());return null===r?(this.nodeMap.put(n.getCoordinate(),n),n):(r.mergeLabel(n),r)}},zh.prototype.print=function(t){for(var e=this.iterator();e.hasNext();){e.next().print(t)}},zh.prototype.iterator=function(){return this.nodeMap.values().iterator()},zh.prototype.values=function(){return this.nodeMap.values()},zh.prototype.getBoundaryNodes=function(t){for(var e=new lc,n=this.iterator();n.hasNext();){var r=n.next();r.getLabel().getLocation(t)===pl.BOUNDARY&&e.add(r)}return e},zh.prototype.add=function(t){var e=t.getCoordinate();this.addNode(e).add(t)},zh.prototype.interfaces_=function(){return[]},zh.prototype.getClass=function(){return zh};var jh=function(){},Uh={NE:{configurable:!0},NW:{configurable:!0},SW:{configurable:!0},SE:{configurable:!0}};jh.prototype.interfaces_=function(){return[]},jh.prototype.getClass=function(){return jh},jh.isNorthern=function(t){return t===jh.NE||t===jh.NW},jh.isOpposite=function(t,e){return t!==e&&2===(t-e+4)%4},jh.commonHalfPlane=function(t,e){if(t===e)return t;if(2===(t-e+4)%4)return-1;var n=t<e?t:e;return 0===n&&3===(t>e?t:e)?3:n},jh.isInHalfPlane=function(t,e){return e===jh.SE?t===jh.SE||t===jh.SW:t===e||t===e+1},jh.quadrant=function(){if(\"number\"==typeof arguments[0]&&\"number\"==typeof arguments[1]){var t=arguments[0],e=arguments[1];if(0===t&&0===e)throw new el(\"Cannot compute the quadrant for point ( \"+t+\", \"+e+\" )\");return t>=0?e>=0?jh.NE:jh.SE:e>=0?jh.NW:jh.SW}if(arguments[0]instanceof ul&&arguments[1]instanceof ul){var n=arguments[0],r=arguments[1];if(r.x===n.x&&r.y===n.y)throw new el(\"Cannot compute the quadrant for two identical points \"+n);return r.x>=n.x?r.y>=n.y?jh.NE:jh.SE:r.y>=n.y?jh.NW:jh.SW}},Uh.NE.get=function(){return 0},Uh.NW.get=function(){return 1},Uh.SW.get=function(){return 2},Uh.SE.get=function(){return 3},Object.defineProperties(jh,Uh);var Vh=function(){if(this._edge=null,this._label=null,this._node=null,this._p0=null,this._p1=null,this._dx=null,this._dy=null,this._quadrant=null,1===arguments.length){var t=arguments[0];this._edge=t}else if(3===arguments.length){var e=arguments[0],n=arguments[1],r=arguments[2],i=null;this._edge=e,this.init(n,r),this._label=i}else if(4===arguments.length){var o=arguments[0],s=arguments[1],a=arguments[2],u=arguments[3];this._edge=o,this.init(s,a),this._label=u}};Vh.prototype.compareDirection=function(t){return this._dx===t._dx&&this._dy===t._dy?0:this._quadrant>t._quadrant?1:this._quadrant<t._quadrant?-1:Xl.computeOrientation(t._p0,t._p1,this._p1)},Vh.prototype.getDy=function(){return this._dy},Vh.prototype.getCoordinate=function(){return this._p0},Vh.prototype.setNode=function(t){this._node=t},Vh.prototype.print=function(t){var e=Math.atan2(this._dy,this._dx),n=this.getClass().getName(),r=n.lastIndexOf(\".\"),i=n.substring(r+1);t.print(\"  \"+i+\": \"+this._p0+\" - \"+this._p1+\" \"+this._quadrant+\":\"+e+\"   \"+this._label)},Vh.prototype.compareTo=function(t){var e=t;return this.compareDirection(e)},Vh.prototype.getDirectedCoordinate=function(){return this._p1},Vh.prototype.getDx=function(){return this._dx},Vh.prototype.getLabel=function(){return this._label},Vh.prototype.getEdge=function(){return this._edge},Vh.prototype.getQuadrant=function(){return this._quadrant},Vh.prototype.getNode=function(){return this._node},Vh.prototype.toString=function(){var t=Math.atan2(this._dy,this._dx),e=this.getClass().getName(),n=e.lastIndexOf(\".\");return\"  \"+e.substring(n+1)+\": \"+this._p0+\" - \"+this._p1+\" \"+this._quadrant+\":\"+t+\"   \"+this._label},Vh.prototype.computeLabel=function(t){},Vh.prototype.init=function(t,e){this._p0=t,this._p1=e,this._dx=e.x-t.x,this._dy=e.y-t.y,this._quadrant=jh.quadrant(this._dx,this._dy),ql.isTrue(!(0===this._dx&&0===this._dy),\"EdgeEnd with identical endpoints found\")},Vh.prototype.interfaces_=function(){return[il]},Vh.prototype.getClass=function(){return Vh};var Xh=function(t){function e(){var e=arguments[0],n=arguments[1];if(t.call(this,e),this._isForward=null,this._isInResult=!1,this._isVisited=!1,this._sym=null,this._next=null,this._nextMin=null,this._edgeRing=null,this._minEdgeRing=null,this._depth=[0,-999,-999],this._isForward=n,n)this.init(e.getCoordinate(0),e.getCoordinate(1));else{var r=e.getNumPoints()-1;this.init(e.getCoordinate(r),e.getCoordinate(r-1))}this.computeDirectedLabel()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getNextMin=function(){return this._nextMin},e.prototype.getDepth=function(t){return this._depth[t]},e.prototype.setVisited=function(t){this._isVisited=t},e.prototype.computeDirectedLabel=function(){this._label=new Dh(this._edge.getLabel()),this._isForward||this._label.flip()},e.prototype.getNext=function(){return this._next},e.prototype.setDepth=function(t,e){if(-999!==this._depth[t]&&this._depth[t]!==e)throw new Oh(\"assigned depths do not match\",this.getCoordinate());this._depth[t]=e},e.prototype.isInteriorAreaEdge=function(){for(var t=this,e=!0,n=0;n<2;n++)t._label.isArea(n)&&t._label.getLocation(n,Sh.LEFT)===pl.INTERIOR&&t._label.getLocation(n,Sh.RIGHT)===pl.INTERIOR||(e=!1);return e},e.prototype.setNextMin=function(t){this._nextMin=t},e.prototype.print=function(e){t.prototype.print.call(this,e),e.print(\" \"+this._depth[Sh.LEFT]+\"/\"+this._depth[Sh.RIGHT]),e.print(\" (\"+this.getDepthDelta()+\")\"),this._isInResult&&e.print(\" inResult\")},e.prototype.setMinEdgeRing=function(t){this._minEdgeRing=t},e.prototype.isLineEdge=function(){var t=this._label.isLine(0)||this._label.isLine(1),e=!this._label.isArea(0)||this._label.allPositionsEqual(0,pl.EXTERIOR),n=!this._label.isArea(1)||this._label.allPositionsEqual(1,pl.EXTERIOR);return t&&e&&n},e.prototype.setEdgeRing=function(t){this._edgeRing=t},e.prototype.getMinEdgeRing=function(){return this._minEdgeRing},e.prototype.getDepthDelta=function(){var t=this._edge.getDepthDelta();return this._isForward||(t=-t),t},e.prototype.setInResult=function(t){this._isInResult=t},e.prototype.getSym=function(){return this._sym},e.prototype.isForward=function(){return this._isForward},e.prototype.getEdge=function(){return this._edge},e.prototype.printEdge=function(t){this.print(t),t.print(\" \"),this._isForward?this._edge.print(t):this._edge.printReverse(t)},e.prototype.setSym=function(t){this._sym=t},e.prototype.setVisitedEdge=function(t){this.setVisited(t),this._sym.setVisited(t)},e.prototype.setEdgeDepths=function(t,e){var n=this.getEdge().getDepthDelta();this._isForward||(n=-n);var r=1;t===Sh.LEFT&&(r=-1);var i=Sh.opposite(t),o=e+n*r;this.setDepth(t,e),this.setDepth(i,o)},e.prototype.getEdgeRing=function(){return this._edgeRing},e.prototype.isInResult=function(){return this._isInResult},e.prototype.setNext=function(t){this._next=t},e.prototype.isVisited=function(){return this._isVisited},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e.depthFactor=function(t,e){return t===pl.EXTERIOR&&e===pl.INTERIOR?1:t===pl.INTERIOR&&e===pl.EXTERIOR?-1:0},e}(Vh),Yh=function(){};Yh.prototype.createNode=function(t){return new Bh(t,null)},Yh.prototype.interfaces_=function(){return[]},Yh.prototype.getClass=function(){return Yh};var Hh=function(){if(this._edges=new lc,this._nodes=null,this._edgeEndList=new lc,0===arguments.length)this._nodes=new zh(new Yh);else if(1===arguments.length){var t=arguments[0];this._nodes=new zh(t)}};Hh.prototype.printEdges=function(t){t.println(\"Edges:\");for(var e=0;e<this._edges.size();e++){t.println(\"edge \"+e+\":\");var n=this._edges.get(e);n.print(t),n.eiList.print(t)}},Hh.prototype.find=function(t){return this._nodes.find(t)},Hh.prototype.addNode=function(){if(arguments[0]instanceof Bh){var t=arguments[0];return this._nodes.addNode(t)}if(arguments[0]instanceof ul){var e=arguments[0];return this._nodes.addNode(e)}},Hh.prototype.getNodeIterator=function(){return this._nodes.iterator()},Hh.prototype.linkResultDirectedEdges=function(){for(var t=this._nodes.iterator();t.hasNext();){t.next().getEdges().linkResultDirectedEdges()}},Hh.prototype.debugPrintln=function(t){Pl.out.println(t)},Hh.prototype.isBoundaryNode=function(t,e){var n=this._nodes.find(e);if(null===n)return!1;var r=n.getLabel();return null!==r&&r.getLocation(t)===pl.BOUNDARY},Hh.prototype.linkAllDirectedEdges=function(){for(var t=this._nodes.iterator();t.hasNext();){t.next().getEdges().linkAllDirectedEdges()}},Hh.prototype.matchInSameDirection=function(t,e,n,r){return!!t.equals(n)&&(Xl.computeOrientation(t,e,r)===Xl.COLLINEAR&&jh.quadrant(t,e)===jh.quadrant(n,r))},Hh.prototype.getEdgeEnds=function(){return this._edgeEndList},Hh.prototype.debugPrint=function(t){Pl.out.print(t)},Hh.prototype.getEdgeIterator=function(){return this._edges.iterator()},Hh.prototype.findEdgeInSameDirection=function(t,e){for(var n=this,r=0;r<this._edges.size();r++){var i=n._edges.get(r),o=i.getCoordinates();if(n.matchInSameDirection(t,e,o[0],o[1]))return i;if(n.matchInSameDirection(t,e,o[o.length-1],o[o.length-2]))return i}return null},Hh.prototype.insertEdge=function(t){this._edges.add(t)},Hh.prototype.findEdgeEnd=function(t){for(var e=this.getEdgeEnds().iterator();e.hasNext();){var n=e.next();if(n.getEdge()===t)return n}return null},Hh.prototype.addEdges=function(t){for(var e=this,n=t.iterator();n.hasNext();){var r=n.next();e._edges.add(r);var i=new Xh(r,!0),o=new Xh(r,!1);i.setSym(o),o.setSym(i),e.add(i),e.add(o)}},Hh.prototype.add=function(t){this._nodes.add(t),this._edgeEndList.add(t)},Hh.prototype.getNodes=function(){return this._nodes.values()},Hh.prototype.findEdge=function(t,e){for(var n=0;n<this._edges.size();n++){var r=this._edges.get(n),i=r.getCoordinates();if(t.equals(i[0])&&e.equals(i[1]))return r}return null},Hh.prototype.interfaces_=function(){return[]},Hh.prototype.getClass=function(){return Hh},Hh.linkResultDirectedEdges=function(t){for(var e=t.iterator();e.hasNext();){e.next().getEdges().linkResultDirectedEdges()}};var Wh=function(){this._geometryFactory=null,this._shellList=new lc;var t=arguments[0];this._geometryFactory=t};Wh.prototype.sortShellsAndHoles=function(t,e,n){for(var r=t.iterator();r.hasNext();){var i=r.next();i.isHole()?n.add(i):e.add(i)}},Wh.prototype.computePolygons=function(t){for(var e=new lc,n=t.iterator();n.hasNext();){var r=n.next().toPolygon(this._geometryFactory);e.add(r)}return e},Wh.prototype.placeFreeHoles=function(t,e){for(var n=e.iterator();n.hasNext();){var r=n.next();if(null===r.getShell()){var i=this.findEdgeRingContaining(r,t);if(null===i)throw new Oh(\"unable to assign hole to a shell\",r.getCoordinate(0));r.setShell(i)}}},Wh.prototype.buildMinimalEdgeRings=function(t,e,n){for(var r=new lc,i=t.iterator();i.hasNext();){var o=i.next();if(o.getMaxNodeDegree()>2){o.linkDirectedEdgesForMinimalEdgeRings();var s=o.buildMinimalRings(),a=this.findShell(s);null!==a?(this.placePolygonHoles(a,s),e.add(a)):n.addAll(s)}else r.add(o)}return r},Wh.prototype.containsPoint=function(t){for(var e=this._shellList.iterator();e.hasNext();){if(e.next().containsPoint(t))return!0}return!1},Wh.prototype.buildMaximalEdgeRings=function(t){for(var e=new lc,n=t.iterator();n.hasNext();){var r=n.next();if(r.isInResult()&&r.getLabel().isArea()&&null===r.getEdgeRing()){var i=new Gh(r,this._geometryFactory);e.add(i),i.setInResult()}}return e},Wh.prototype.placePolygonHoles=function(t,e){for(var n=e.iterator();n.hasNext();){var r=n.next();r.isHole()&&r.setShell(t)}},Wh.prototype.getPolygons=function(){return this.computePolygons(this._shellList)},Wh.prototype.findEdgeRingContaining=function(t,e){for(var n=t.getLinearRing(),r=n.getEnvelopeInternal(),i=n.getCoordinateN(0),o=null,s=null,a=e.iterator();a.hasNext();){var u=a.next(),l=u.getLinearRing(),c=l.getEnvelopeInternal();null!==o&&(s=o.getLinearRing().getEnvelopeInternal());var h=!1;c.contains(r)&&Xl.isPointInRing(i,l.getCoordinates())&&(h=!0),h&&(null===o||s.contains(c))&&(o=u)}return o},Wh.prototype.findShell=function(t){for(var e=0,n=null,r=t.iterator();r.hasNext();){var i=r.next();i.isHole()||(n=i,e++)}return ql.isTrue(e<=1,\"found two shells in MinimalEdgeRing list\"),n},Wh.prototype.add=function(){if(1===arguments.length){var t=arguments[0];this.add(t.getEdgeEnds(),t.getNodes())}else if(2===arguments.length){var e=arguments[0],n=arguments[1];Hh.linkResultDirectedEdges(n);var r=this.buildMaximalEdgeRings(e),i=new lc,o=this.buildMinimalEdgeRings(r,this._shellList,i);this.sortShellsAndHoles(o,this._shellList,i),this.placeFreeHoles(this._shellList,i)}},Wh.prototype.interfaces_=function(){return[]},Wh.prototype.getClass=function(){return Wh};var Jh=function(){};Jh.prototype.getBounds=function(){},Jh.prototype.interfaces_=function(){return[]},Jh.prototype.getClass=function(){return Jh};var Zh=function(){this._bounds=null,this._item=null;var t=arguments[0],e=arguments[1];this._bounds=t,this._item=e};Zh.prototype.getItem=function(){return this._item},Zh.prototype.getBounds=function(){return this._bounds},Zh.prototype.interfaces_=function(){return[Jh,al]},Zh.prototype.getClass=function(){return Zh};var Kh=function(){this._size=null,this._items=null,this._size=0,this._items=new lc,this._items.add(null)};Kh.prototype.poll=function(){if(this.isEmpty())return null;var t=this._items.get(1);return this._items.set(1,this._items.get(this._size)),this._size-=1,this.reorder(1),t},Kh.prototype.size=function(){return this._size},Kh.prototype.reorder=function(t){for(var e=this,n=null,r=this._items.get(t);2*t<=this._size&&((n=2*t)!==e._size&&e._items.get(n+1).compareTo(e._items.get(n))<0&&n++,e._items.get(n).compareTo(r)<0);t=n)e._items.set(t,e._items.get(n));this._items.set(t,r)},Kh.prototype.clear=function(){this._size=0,this._items.clear()},Kh.prototype.isEmpty=function(){return 0===this._size},Kh.prototype.add=function(t){this._items.add(null),this._size+=1;var e=this._size;for(this._items.set(0,t);t.compareTo(this._items.get(Math.trunc(e/2)))<0;e/=2)this._items.set(e,this._items.get(Math.trunc(e/2)));this._items.set(e,t)},Kh.prototype.interfaces_=function(){return[]},Kh.prototype.getClass=function(){return Kh};var Qh=function(){};Qh.prototype.visitItem=function(t){},Qh.prototype.interfaces_=function(){return[]},Qh.prototype.getClass=function(){return Qh};var $h=function(){};$h.prototype.insert=function(t,e){},$h.prototype.remove=function(t,e){},$h.prototype.query=function(){},$h.prototype.interfaces_=function(){return[]},$h.prototype.getClass=function(){return $h};var tp=function(){if(this._childBoundables=new lc,this._bounds=null,this._level=null,0===arguments.length);else if(1===arguments.length){var t=arguments[0];this._level=t}},ep={serialVersionUID:{configurable:!0}};tp.prototype.getLevel=function(){return this._level},tp.prototype.size=function(){return this._childBoundables.size()},tp.prototype.getChildBoundables=function(){return this._childBoundables},tp.prototype.addChildBoundable=function(t){ql.isTrue(null===this._bounds),this._childBoundables.add(t)},tp.prototype.isEmpty=function(){return this._childBoundables.isEmpty()},tp.prototype.getBounds=function(){return null===this._bounds&&(this._bounds=this.computeBounds()),this._bounds},tp.prototype.interfaces_=function(){return[Jh,al]},tp.prototype.getClass=function(){return tp},ep.serialVersionUID.get=function(){return 0x5a1e55ec41369800},Object.defineProperties(tp,ep);var np=function(){};np.reverseOrder=function(){return{compare:function(t,e){return e.compareTo(t)}}},np.min=function(t){return np.sort(t),t.get(0)},np.sort=function(t,e){var n=t.toArray();e?Rc.sort(n,e):Rc.sort(n);for(var r=t.iterator(),i=0,o=n.length;i<o;i++)r.next(),r.set(n[i])},np.singletonList=function(t){var e=new lc;return e.add(t),e};var rp=function(){this._boundable1=null,this._boundable2=null,this._distance=null,this._itemDistance=null;var t=arguments[0],e=arguments[1],n=arguments[2];this._boundable1=t,this._boundable2=e,this._itemDistance=n,this._distance=this.distance()};rp.prototype.expandToQueue=function(t,e){var n=rp.isComposite(this._boundable1),r=rp.isComposite(this._boundable2);if(n&&r)return rp.area(this._boundable1)>rp.area(this._boundable2)?(this.expand(this._boundable1,this._boundable2,t,e),null):(this.expand(this._boundable2,this._boundable1,t,e),null);if(n)return this.expand(this._boundable1,this._boundable2,t,e),null;if(r)return this.expand(this._boundable2,this._boundable1,t,e),null;throw new el(\"neither boundable is composite\")},rp.prototype.isLeaves=function(){return!(rp.isComposite(this._boundable1)||rp.isComposite(this._boundable2))},rp.prototype.compareTo=function(t){var e=t;return this._distance<e._distance?-1:this._distance>e._distance?1:0},rp.prototype.expand=function(t,e,n,r){for(var i=t.getChildBoundables().iterator();i.hasNext();){var o=i.next(),s=new rp(o,e,this._itemDistance);s.getDistance()<r&&n.add(s)}},rp.prototype.getBoundable=function(t){return 0===t?this._boundable1:this._boundable2},rp.prototype.getDistance=function(){return this._distance},rp.prototype.distance=function(){return this.isLeaves()?this._itemDistance.distance(this._boundable1,this._boundable2):this._boundable1.getBounds().distance(this._boundable2.getBounds())},rp.prototype.interfaces_=function(){return[il]},rp.prototype.getClass=function(){return rp},rp.area=function(t){return t.getBounds().getArea()},rp.isComposite=function(t){return t instanceof tp};var ip=function t(){if(this._root=null,this._built=!1,this._itemBoundables=new lc,this._nodeCapacity=null,0===arguments.length){var e=t.DEFAULT_NODE_CAPACITY;this._nodeCapacity=e}else if(1===arguments.length){var n=arguments[0];ql.isTrue(n>1,\"Node capacity must be greater than 1\"),this._nodeCapacity=n}},op={IntersectsOp:{configurable:!0},serialVersionUID:{configurable:!0},DEFAULT_NODE_CAPACITY:{configurable:!0}};ip.prototype.getNodeCapacity=function(){return this._nodeCapacity},ip.prototype.lastNode=function(t){return t.get(t.size()-1)},ip.prototype.size=function(){var t=this;if(0===arguments.length)return this.isEmpty()?0:(this.build(),this.size(this._root));if(1===arguments.length){for(var e=arguments[0],n=0,r=e.getChildBoundables().iterator();r.hasNext();){var i=r.next();i instanceof tp?n+=t.size(i):i instanceof Zh&&(n+=1)}return n}},ip.prototype.removeItem=function(t,e){for(var n=null,r=t.getChildBoundables().iterator();r.hasNext();){var i=r.next();i instanceof Zh&&i.getItem()===e&&(n=i)}return null!==n&&(t.getChildBoundables().remove(n),!0)},ip.prototype.itemsTree=function(){var t=this;if(0===arguments.length){this.build();var e=this.itemsTree(this._root);return null===e?new lc:e}if(1===arguments.length){for(var n=arguments[0],r=new lc,i=n.getChildBoundables().iterator();i.hasNext();){var o=i.next();if(o instanceof tp){var s=t.itemsTree(o);null!==s&&r.add(s)}else o instanceof Zh?r.add(o.getItem()):ql.shouldNeverReachHere()}return r.size()<=0?null:r}},ip.prototype.insert=function(t,e){ql.isTrue(!this._built,\"Cannot insert items into an STR packed R-tree after it has been built.\"),this._itemBoundables.add(new Zh(t,e))},ip.prototype.boundablesAtLevel=function(){var t=this;if(1===arguments.length){var e=arguments[0],n=new lc;return this.boundablesAtLevel(e,this._root,n),n}if(3===arguments.length){var r=arguments[0],i=arguments[1],o=arguments[2];if(ql.isTrue(r>-2),i.getLevel()===r)return o.add(i),null;for(var s=i.getChildBoundables().iterator();s.hasNext();){var a=s.next();a instanceof tp?t.boundablesAtLevel(r,a,o):(ql.isTrue(a instanceof Zh),-1===r&&o.add(a))}return null}},ip.prototype.query=function(){var t=this;if(1===arguments.length){var e=arguments[0];this.build();var n=new lc;return this.isEmpty()||this.getIntersectsOp().intersects(this._root.getBounds(),e)&&this.query(e,this._root,n),n}if(2===arguments.length){var r=arguments[0],i=arguments[1];if(this.build(),this.isEmpty())return null;this.getIntersectsOp().intersects(this._root.getBounds(),r)&&this.query(r,this._root,i)}else if(3===arguments.length)if(gl(arguments[2],Qh)&&arguments[0]instanceof Object&&arguments[1]instanceof tp)for(var o=arguments[0],s=arguments[1],a=arguments[2],u=s.getChildBoundables(),l=0;l<u.size();l++){var c=u.get(l);t.getIntersectsOp().intersects(c.getBounds(),o)&&(c instanceof tp?t.query(o,c,a):c instanceof Zh?a.visitItem(c.getItem()):ql.shouldNeverReachHere())}else if(gl(arguments[2],ac)&&arguments[0]instanceof Object&&arguments[1]instanceof tp)for(var h=arguments[0],p=arguments[1],f=arguments[2],g=p.getChildBoundables(),d=0;d<g.size();d++){var y=g.get(d);t.getIntersectsOp().intersects(y.getBounds(),h)&&(y instanceof tp?t.query(h,y,f):y instanceof Zh?f.add(y.getItem()):ql.shouldNeverReachHere())}},ip.prototype.build=function(){if(this._built)return null;this._root=this._itemBoundables.isEmpty()?this.createNode(0):this.createHigherLevels(this._itemBoundables,-1),this._itemBoundables=null,this._built=!0},ip.prototype.getRoot=function(){return this.build(),this._root},ip.prototype.remove=function(){var t=this;if(2===arguments.length){var e=arguments[0],n=arguments[1];return this.build(),!!this.getIntersectsOp().intersects(this._root.getBounds(),e)&&this.remove(e,this._root,n)}if(3===arguments.length){var r=arguments[0],i=arguments[1],o=arguments[2],s=this.removeItem(i,o);if(s)return!0;for(var a=null,u=i.getChildBoundables().iterator();u.hasNext();){var l=u.next();if(t.getIntersectsOp().intersects(l.getBounds(),r)&&(l instanceof tp&&(s=t.remove(r,l,o)))){a=l;break}}return null!==a&&a.getChildBoundables().isEmpty()&&i.getChildBoundables().remove(a),s}},ip.prototype.createHigherLevels=function(t,e){ql.isTrue(!t.isEmpty());var n=this.createParentBoundables(t,e+1);return 1===n.size()?n.get(0):this.createHigherLevels(n,e+1)},ip.prototype.depth=function(){var t=this;if(0===arguments.length)return this.isEmpty()?0:(this.build(),this.depth(this._root));if(1===arguments.length){for(var e=arguments[0],n=0,r=e.getChildBoundables().iterator();r.hasNext();){var i=r.next();if(i instanceof tp){var o=t.depth(i);o>n&&(n=o)}}return n+1}},ip.prototype.createParentBoundables=function(t,e){var n=this;ql.isTrue(!t.isEmpty());var r=new lc;r.add(this.createNode(e));var i=new lc(t);np.sort(i,this.getComparator());for(var o=i.iterator();o.hasNext();){var s=o.next();n.lastNode(r).getChildBoundables().size()===n.getNodeCapacity()&&r.add(n.createNode(e)),n.lastNode(r).addChildBoundable(s)}return r},ip.prototype.isEmpty=function(){return this._built?this._root.isEmpty():this._itemBoundables.isEmpty()},ip.prototype.interfaces_=function(){return[al]},ip.prototype.getClass=function(){return ip},ip.compareDoubles=function(t,e){return t>e?1:t<e?-1:0},op.IntersectsOp.get=function(){return sp},op.serialVersionUID.get=function(){return-0x35ef64c82d4c5400},op.DEFAULT_NODE_CAPACITY.get=function(){return 10},Object.defineProperties(ip,op);var sp=function(){},ap=function(){};ap.prototype.distance=function(t,e){},ap.prototype.interfaces_=function(){return[]},ap.prototype.getClass=function(){return ap};var up=function(t){function e(n){n=n||e.DEFAULT_NODE_CAPACITY,t.call(this,n)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var n={STRtreeNode:{configurable:!0},serialVersionUID:{configurable:!0},xComparator:{configurable:!0},yComparator:{configurable:!0},intersectsOp:{configurable:!0},DEFAULT_NODE_CAPACITY:{configurable:!0}};return e.prototype.createParentBoundablesFromVerticalSlices=function(t,e){ql.isTrue(t.length>0);for(var n=new lc,r=0;r<t.length;r++)n.addAll(this.createParentBoundablesFromVerticalSlice(t[r],e));return n},e.prototype.createNode=function(t){return new lp(t)},e.prototype.size=function(){return 0===arguments.length?t.prototype.size.call(this):t.prototype.size.apply(this,arguments)},e.prototype.insert=function(){if(2!==arguments.length)return t.prototype.insert.apply(this,arguments);var e=arguments[0],n=arguments[1];if(e.isNull())return null;t.prototype.insert.call(this,e,n)},e.prototype.getIntersectsOp=function(){return e.intersectsOp},e.prototype.verticalSlices=function(t,e){for(var n=Math.trunc(Math.ceil(t.size()/e)),r=new Array(e).fill(null),i=t.iterator(),o=0;o<e;o++){r[o]=new lc;for(var s=0;i.hasNext()&&s<n;){var a=i.next();r[o].add(a),s++}}return r},e.prototype.query=function(){if(1===arguments.length){var e=arguments[0];return t.prototype.query.call(this,e)}if(2===arguments.length){var n=arguments[0],r=arguments[1];t.prototype.query.call(this,n,r)}else if(3===arguments.length)if(gl(arguments[2],Qh)&&arguments[0]instanceof Object&&arguments[1]instanceof tp){var i=arguments[0],o=arguments[1],s=arguments[2];t.prototype.query.call(this,i,o,s)}else if(gl(arguments[2],ac)&&arguments[0]instanceof Object&&arguments[1]instanceof tp){var a=arguments[0],u=arguments[1],l=arguments[2];t.prototype.query.call(this,a,u,l)}},e.prototype.getComparator=function(){return e.yComparator},e.prototype.createParentBoundablesFromVerticalSlice=function(e,n){return t.prototype.createParentBoundables.call(this,e,n)},e.prototype.remove=function(){if(2===arguments.length){var e=arguments[0],n=arguments[1];return t.prototype.remove.call(this,e,n)}return t.prototype.remove.apply(this,arguments)},e.prototype.depth=function(){return 0===arguments.length?t.prototype.depth.call(this):t.prototype.depth.apply(this,arguments)},e.prototype.createParentBoundables=function(t,n){ql.isTrue(!t.isEmpty());var r=Math.trunc(Math.ceil(t.size()/this.getNodeCapacity())),i=new lc(t);np.sort(i,e.xComparator);var o=this.verticalSlices(i,Math.trunc(Math.ceil(Math.sqrt(r))));return this.createParentBoundablesFromVerticalSlices(o,n)},e.prototype.nearestNeighbour=function(){if(1===arguments.length){if(gl(arguments[0],ap)){var t=arguments[0],n=new rp(this.getRoot(),this.getRoot(),t);return this.nearestNeighbour(n)}if(arguments[0]instanceof rp){var r=arguments[0];return this.nearestNeighbour(r,nl.POSITIVE_INFINITY)}}else if(2===arguments.length){if(arguments[0]instanceof e&&gl(arguments[1],ap)){var i=arguments[0],o=arguments[1],s=new rp(this.getRoot(),i.getRoot(),o);return this.nearestNeighbour(s)}if(arguments[0]instanceof rp&&\"number\"==typeof arguments[1]){var a=arguments[0],u=arguments[1],l=u,c=null,h=new Kh;for(h.add(a);!h.isEmpty()&&l>0;){var p=h.poll(),f=p.getDistance();if(f>=l)break;p.isLeaves()?(l=f,c=p):p.expandToQueue(h,l)}return[c.getBoundable(0).getItem(),c.getBoundable(1).getItem()]}}else if(3===arguments.length){var g=arguments[0],d=arguments[1],y=arguments[2],v=new Zh(g,d),_=new rp(this.getRoot(),v,y);return this.nearestNeighbour(_)[0]}},e.prototype.interfaces_=function(){return[$h,al]},e.prototype.getClass=function(){return e},e.centreX=function(t){return e.avg(t.getMinX(),t.getMaxX())},e.avg=function(t,e){return(t+e)/2},e.centreY=function(t){return e.avg(t.getMinY(),t.getMaxY())},n.STRtreeNode.get=function(){return lp},n.serialVersionUID.get=function(){return 0x39920f7d5f261e0},n.xComparator.get=function(){return{interfaces_:function(){return[sl]},compare:function(n,r){return t.compareDoubles(e.centreX(n.getBounds()),e.centreX(r.getBounds()))}}},n.yComparator.get=function(){return{interfaces_:function(){return[sl]},compare:function(n,r){return t.compareDoubles(e.centreY(n.getBounds()),e.centreY(r.getBounds()))}}},n.intersectsOp.get=function(){return{interfaces_:function(){return[t.IntersectsOp]},intersects:function(t,e){return t.intersects(e)}}},n.DEFAULT_NODE_CAPACITY.get=function(){return 10},Object.defineProperties(e,n),e}(ip),lp=function(t){function e(){var e=arguments[0];t.call(this,e)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.computeBounds=function(){for(var t=null,e=this.getChildBoundables().iterator();e.hasNext();){var n=e.next();null===t?t=new Ll(n.getBounds()):t.expandToInclude(n.getBounds())}return t},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(tp),cp=function(){};cp.prototype.interfaces_=function(){return[]},cp.prototype.getClass=function(){return cp},cp.relativeSign=function(t,e){return t<e?-1:t>e?1:0},cp.compare=function(t,e,n){if(e.equals2D(n))return 0;var r=cp.relativeSign(e.x,n.x),i=cp.relativeSign(e.y,n.y);switch(t){case 0:return cp.compareValue(r,i);case 1:return cp.compareValue(i,r);case 2:return cp.compareValue(i,-r);case 3:return cp.compareValue(-r,i);case 4:return cp.compareValue(-r,-i);case 5:return cp.compareValue(-i,-r);case 6:return cp.compareValue(-i,r);case 7:return cp.compareValue(r,-i)}return ql.shouldNeverReachHere(\"invalid octant value\"),0},cp.compareValue=function(t,e){return t<0?-1:t>0?1:e<0?-1:e>0?1:0};var hp=function(){this._segString=null,this.coord=null,this.segmentIndex=null,this._segmentOctant=null,this._isInterior=null;var t=arguments[0],e=arguments[1],n=arguments[2],r=arguments[3];this._segString=t,this.coord=new ul(e),this.segmentIndex=n,this._segmentOctant=r,this._isInterior=!e.equals2D(t.getCoordinate(n))};hp.prototype.getCoordinate=function(){return this.coord},hp.prototype.print=function(t){t.print(this.coord),t.print(\" seg # = \"+this.segmentIndex)},hp.prototype.compareTo=function(t){var e=t;return this.segmentIndex<e.segmentIndex?-1:this.segmentIndex>e.segmentIndex?1:this.coord.equals2D(e.coord)?0:cp.compare(this._segmentOctant,this.coord,e.coord)},hp.prototype.isEndPoint=function(t){return 0===this.segmentIndex&&!this._isInterior||this.segmentIndex===t},hp.prototype.isInterior=function(){return this._isInterior},hp.prototype.interfaces_=function(){return[il]},hp.prototype.getClass=function(){return hp};var pp=function(){this._nodeMap=new Cc,this._edge=null;var t=arguments[0];this._edge=t};pp.prototype.getSplitCoordinates=function(){var t=new hc;this.addEndpoints();for(var e=this.iterator(),n=e.next();e.hasNext();){var r=e.next();this.addEdgeCoordinates(n,r,t),n=r}return t.toCoordinateArray()},pp.prototype.addCollapsedNodes=function(){var t=new lc;this.findCollapsesFromInsertedNodes(t),this.findCollapsesFromExistingVertices(t);for(var e=t.iterator();e.hasNext();){var n=e.next().intValue();this.add(this._edge.getCoordinate(n),n)}},pp.prototype.print=function(t){t.println(\"Intersections:\");for(var e=this.iterator();e.hasNext();){e.next().print(t)}},pp.prototype.findCollapsesFromExistingVertices=function(t){for(var e=0;e<this._edge.size()-2;e++){var n=this._edge.getCoordinate(e),r=this._edge.getCoordinate(e+2);n.equals2D(r)&&t.add(new _l(e+1))}},pp.prototype.addEdgeCoordinates=function(t,e,n){var r=this._edge.getCoordinate(e.segmentIndex),i=e.isInterior()||!e.coord.equals2D(r);n.add(new ul(t.coord),!1);for(var o=t.segmentIndex+1;o<=e.segmentIndex;o++)n.add(this._edge.getCoordinate(o));i&&n.add(new ul(e.coord))},pp.prototype.iterator=function(){return this._nodeMap.values().iterator()},pp.prototype.addSplitEdges=function(t){this.addEndpoints(),this.addCollapsedNodes();for(var e=this.iterator(),n=e.next();e.hasNext();){var r=e.next(),i=this.createSplitEdge(n,r);t.add(i),n=r}},pp.prototype.findCollapseIndex=function(t,e,n){if(!t.coord.equals2D(e.coord))return!1;var r=e.segmentIndex-t.segmentIndex;return e.isInterior()||r--,1===r&&(n[0]=t.segmentIndex+1,!0)},pp.prototype.findCollapsesFromInsertedNodes=function(t){for(var e=new Array(1).fill(null),n=this.iterator(),r=n.next();n.hasNext();){var i=n.next();this.findCollapseIndex(r,i,e)&&t.add(new _l(e[0])),r=i}},pp.prototype.getEdge=function(){return this._edge},pp.prototype.addEndpoints=function(){var t=this._edge.size()-1;this.add(this._edge.getCoordinate(0),0),this.add(this._edge.getCoordinate(t),t)},pp.prototype.createSplitEdge=function(t,e){var n=e.segmentIndex-t.segmentIndex+2,r=this._edge.getCoordinate(e.segmentIndex),i=e.isInterior()||!e.coord.equals2D(r);i||n--;var o=new Array(n).fill(null),s=0;o[s++]=new ul(t.coord);for(var a=t.segmentIndex+1;a<=e.segmentIndex;a++)o[s++]=this._edge.getCoordinate(a);return i&&(o[s]=new ul(e.coord)),new yp(o,this._edge.getData())},pp.prototype.add=function(t,e){var n=new hp(this._edge,t,e,this._edge.getSegmentOctant(e)),r=this._nodeMap.get(n);return null!==r?(ql.isTrue(r.coord.equals2D(t),\"Found equal nodes with different coordinates\"),r):(this._nodeMap.put(n,n),n)},pp.prototype.checkSplitEdgesCorrectness=function(t){var e=this._edge.getCoordinates(),n=t.get(0).getCoordinate(0);if(!n.equals2D(e[0]))throw new kl(\"bad split edge start point at \"+n);var r=t.get(t.size()-1).getCoordinates(),i=r[r.length-1];if(!i.equals2D(e[e.length-1]))throw new kl(\"bad split edge end point at \"+i)},pp.prototype.interfaces_=function(){return[]},pp.prototype.getClass=function(){return pp};var fp=function(){};fp.prototype.interfaces_=function(){return[]},fp.prototype.getClass=function(){return fp},fp.octant=function(){if(\"number\"==typeof arguments[0]&&\"number\"==typeof arguments[1]){var t=arguments[0],e=arguments[1];if(0===t&&0===e)throw new el(\"Cannot compute the octant for point ( \"+t+\", \"+e+\" )\");var n=Math.abs(t),r=Math.abs(e);return t>=0?e>=0?n>=r?0:1:n>=r?7:6:e>=0?n>=r?3:2:n>=r?4:5}if(arguments[0]instanceof ul&&arguments[1]instanceof ul){var i=arguments[0],o=arguments[1],s=o.x-i.x,a=o.y-i.y;if(0===s&&0===a)throw new el(\"Cannot compute the octant for two identical points \"+i);return fp.octant(s,a)}};var gp=function(){};gp.prototype.getCoordinates=function(){},gp.prototype.size=function(){},gp.prototype.getCoordinate=function(t){},gp.prototype.isClosed=function(){},gp.prototype.setData=function(t){},gp.prototype.getData=function(){},gp.prototype.interfaces_=function(){return[]},gp.prototype.getClass=function(){return gp};var dp=function(){};dp.prototype.addIntersection=function(t,e){},dp.prototype.interfaces_=function(){return[gp]},dp.prototype.getClass=function(){return dp};var yp=function(){this._nodeList=new pp(this),this._pts=null,this._data=null;var t=arguments[0],e=arguments[1];this._pts=t,this._data=e};yp.prototype.getCoordinates=function(){return this._pts},yp.prototype.size=function(){return this._pts.length},yp.prototype.getCoordinate=function(t){return this._pts[t]},yp.prototype.isClosed=function(){return this._pts[0].equals(this._pts[this._pts.length-1])},yp.prototype.getSegmentOctant=function(t){return t===this._pts.length-1?-1:this.safeOctant(this.getCoordinate(t),this.getCoordinate(t+1))},yp.prototype.setData=function(t){this._data=t},yp.prototype.safeOctant=function(t,e){return t.equals2D(e)?0:fp.octant(t,e)},yp.prototype.getData=function(){return this._data},yp.prototype.addIntersection=function(){if(2===arguments.length){var t=arguments[0],e=arguments[1];this.addIntersectionNode(t,e)}else if(4===arguments.length){var n=arguments[0],r=arguments[1],i=arguments[3],o=new ul(n.getIntersection(i));this.addIntersection(o,r)}},yp.prototype.toString=function(){return Fl.toLineString(new lh(this._pts))},yp.prototype.getNodeList=function(){return this._nodeList},yp.prototype.addIntersectionNode=function(t,e){var n=e,r=n+1;if(r<this._pts.length){var i=this._pts[r];t.equals2D(i)&&(n=r)}return this._nodeList.add(t,n)},yp.prototype.addIntersections=function(t,e,n){for(var r=0;r<t.getIntersectionNum();r++)this.addIntersection(t,e,n,r)},yp.prototype.interfaces_=function(){return[dp]},yp.prototype.getClass=function(){return yp},yp.getNodedSubstrings=function(){if(1===arguments.length){var t=arguments[0],e=new lc;return yp.getNodedSubstrings(t,e),e}if(2===arguments.length)for(var n=arguments[0],r=arguments[1],i=n.iterator();i.hasNext();){var o=i.next();o.getNodeList().addSplitEdges(r)}};var vp=function(){if(this.p0=null,this.p1=null,0===arguments.length)this.p0=new ul,this.p1=new ul;else if(1===arguments.length){var t=arguments[0];this.p0=new ul(t.p0),this.p1=new ul(t.p1)}else if(2===arguments.length)this.p0=arguments[0],this.p1=arguments[1];else if(4===arguments.length){var e=arguments[0],n=arguments[1],r=arguments[2],i=arguments[3];this.p0=new ul(e,n),this.p1=new ul(r,i)}},_p={serialVersionUID:{configurable:!0}};vp.prototype.minX=function(){return Math.min(this.p0.x,this.p1.x)},vp.prototype.orientationIndex=function(){if(arguments[0]instanceof vp){var t=arguments[0],e=Xl.orientationIndex(this.p0,this.p1,t.p0),n=Xl.orientationIndex(this.p0,this.p1,t.p1);return e>=0&&n>=0||e<=0&&n<=0?Math.max(e,n):0}if(arguments[0]instanceof ul){var r=arguments[0];return Xl.orientationIndex(this.p0,this.p1,r)}},vp.prototype.toGeometry=function(t){return t.createLineString([this.p0,this.p1])},vp.prototype.isVertical=function(){return this.p0.x===this.p1.x},vp.prototype.equals=function(t){if(!(t instanceof vp))return!1;var e=t;return this.p0.equals(e.p0)&&this.p1.equals(e.p1)},vp.prototype.intersection=function(t){var e=new jl;return e.computeIntersection(this.p0,this.p1,t.p0,t.p1),e.hasIntersection()?e.getIntersection(0):null},vp.prototype.project=function(){if(arguments[0]instanceof ul){var t=arguments[0];if(t.equals(this.p0)||t.equals(this.p1))return new ul(t);var e=this.projectionFactor(t),n=new ul;return n.x=this.p0.x+e*(this.p1.x-this.p0.x),n.y=this.p0.y+e*(this.p1.y-this.p0.y),n}if(arguments[0]instanceof vp){var r=arguments[0],i=this.projectionFactor(r.p0),o=this.projectionFactor(r.p1);if(i>=1&&o>=1)return null;if(i<=0&&o<=0)return null;var s=this.project(r.p0);i<0&&(s=this.p0),i>1&&(s=this.p1);var a=this.project(r.p1);return o<0&&(a=this.p0),o>1&&(a=this.p1),new vp(s,a)}},vp.prototype.normalize=function(){this.p1.compareTo(this.p0)<0&&this.reverse()},vp.prototype.angle=function(){return Math.atan2(this.p1.y-this.p0.y,this.p1.x-this.p0.x)},vp.prototype.getCoordinate=function(t){return 0===t?this.p0:this.p1},vp.prototype.distancePerpendicular=function(t){return Xl.distancePointLinePerpendicular(t,this.p0,this.p1)},vp.prototype.minY=function(){return Math.min(this.p0.y,this.p1.y)},vp.prototype.midPoint=function(){return vp.midPoint(this.p0,this.p1)},vp.prototype.projectionFactor=function(t){if(t.equals(this.p0))return 0;if(t.equals(this.p1))return 1;var e=this.p1.x-this.p0.x,n=this.p1.y-this.p0.y,r=e*e+n*n;return r<=0?nl.NaN:((t.x-this.p0.x)*e+(t.y-this.p0.y)*n)/r},vp.prototype.closestPoints=function(t){var e=this.intersection(t);if(null!==e)return[e,e];var n=new Array(2).fill(null),r=nl.MAX_VALUE,i=null,o=this.closestPoint(t.p0);r=o.distance(t.p0),n[0]=o,n[1]=t.p0;var s=this.closestPoint(t.p1);(i=s.distance(t.p1))<r&&(r=i,n[0]=s,n[1]=t.p1);var a=t.closestPoint(this.p0);(i=a.distance(this.p0))<r&&(r=i,n[0]=this.p0,n[1]=a);var u=t.closestPoint(this.p1);return(i=u.distance(this.p1))<r&&(r=i,n[0]=this.p1,n[1]=u),n},vp.prototype.closestPoint=function(t){var e=this.projectionFactor(t);return e>0&&e<1?this.project(t):this.p0.distance(t)<this.p1.distance(t)?this.p0:this.p1},vp.prototype.maxX=function(){return Math.max(this.p0.x,this.p1.x)},vp.prototype.getLength=function(){return this.p0.distance(this.p1)},vp.prototype.compareTo=function(t){var e=t,n=this.p0.compareTo(e.p0);return 0!==n?n:this.p1.compareTo(e.p1)},vp.prototype.reverse=function(){var t=this.p0;this.p0=this.p1,this.p1=t},vp.prototype.equalsTopo=function(t){return this.p0.equals(t.p0)&&(this.p1.equals(t.p1)||this.p0.equals(t.p1))&&this.p1.equals(t.p0)},vp.prototype.lineIntersection=function(t){try{return Ml.intersection(this.p0,this.p1,t.p0,t.p1)}catch(t){if(!(t instanceof Cl))throw t}return null},vp.prototype.maxY=function(){return Math.max(this.p0.y,this.p1.y)},vp.prototype.pointAlongOffset=function(t,e){var n=this.p0.x+t*(this.p1.x-this.p0.x),r=this.p0.y+t*(this.p1.y-this.p0.y),i=this.p1.x-this.p0.x,o=this.p1.y-this.p0.y,s=Math.sqrt(i*i+o*o),a=0,u=0;if(0!==e){if(s<=0)throw new Error(\"Cannot compute offset from zero-length line segment\");a=e*i/s,u=e*o/s}return new ul(n-u,r+a)},vp.prototype.setCoordinates=function(){if(1===arguments.length){var t=arguments[0];this.setCoordinates(t.p0,t.p1)}else if(2===arguments.length){var e=arguments[0],n=arguments[1];this.p0.x=e.x,this.p0.y=e.y,this.p1.x=n.x,this.p1.y=n.y}},vp.prototype.segmentFraction=function(t){var e=this.projectionFactor(t);return e<0?e=0:(e>1||nl.isNaN(e))&&(e=1),e},vp.prototype.toString=function(){return\"LINESTRING( \"+this.p0.x+\" \"+this.p0.y+\", \"+this.p1.x+\" \"+this.p1.y+\")\"},vp.prototype.isHorizontal=function(){return this.p0.y===this.p1.y},vp.prototype.distance=function(){if(arguments[0]instanceof vp){var t=arguments[0];return Xl.distanceLineLine(this.p0,this.p1,t.p0,t.p1)}if(arguments[0]instanceof ul){var e=arguments[0];return Xl.distancePointLine(e,this.p0,this.p1)}},vp.prototype.pointAlong=function(t){var e=new ul;return e.x=this.p0.x+t*(this.p1.x-this.p0.x),e.y=this.p0.y+t*(this.p1.y-this.p0.y),e},vp.prototype.hashCode=function(){var t=nl.doubleToLongBits(this.p0.x);t^=31*nl.doubleToLongBits(this.p0.y);var e=Math.trunc(t)^Math.trunc(t>>32),n=nl.doubleToLongBits(this.p1.x);return n^=31*nl.doubleToLongBits(this.p1.y),e^(Math.trunc(n)^Math.trunc(n>>32))},vp.prototype.interfaces_=function(){return[il,al]},vp.prototype.getClass=function(){return vp},vp.midPoint=function(t,e){return new ul((t.x+e.x)/2,(t.y+e.y)/2)},_p.serialVersionUID.get=function(){return 0x2d2172135f411c00},Object.defineProperties(vp,_p);var mp=function(){this.tempEnv1=new Ll,this.tempEnv2=new Ll,this._overlapSeg1=new vp,this._overlapSeg2=new vp};mp.prototype.overlap=function(){if(2===arguments.length);else if(4===arguments.length){var t=arguments[0],e=arguments[1],n=arguments[2],r=arguments[3];t.getLineSegment(e,this._overlapSeg1),n.getLineSegment(r,this._overlapSeg2),this.overlap(this._overlapSeg1,this._overlapSeg2)}},mp.prototype.interfaces_=function(){return[]},mp.prototype.getClass=function(){return mp};var xp=function(){this._pts=null,this._start=null,this._end=null,this._env=null,this._context=null,this._id=null;var t=arguments[0],e=arguments[1],n=arguments[2],r=arguments[3];this._pts=t,this._start=e,this._end=n,this._context=r};xp.prototype.getLineSegment=function(t,e){e.p0=this._pts[t],e.p1=this._pts[t+1]},xp.prototype.computeSelect=function(t,e,n,r){var i=this._pts[e],o=this._pts[n];if(r.tempEnv1.init(i,o),n-e==1)return r.select(this,e),null;if(!t.intersects(r.tempEnv1))return null;var s=Math.trunc((e+n)/2);e<s&&this.computeSelect(t,e,s,r),s<n&&this.computeSelect(t,s,n,r)},xp.prototype.getCoordinates=function(){for(var t=new Array(this._end-this._start+1).fill(null),e=0,n=this._start;n<=this._end;n++)t[e++]=this._pts[n];return t},xp.prototype.computeOverlaps=function(t,e){this.computeOverlapsInternal(this._start,this._end,t,t._start,t._end,e)},xp.prototype.setId=function(t){this._id=t},xp.prototype.select=function(t,e){this.computeSelect(t,this._start,this._end,e)},xp.prototype.getEnvelope=function(){if(null===this._env){var t=this._pts[this._start],e=this._pts[this._end];this._env=new Ll(t,e)}return this._env},xp.prototype.getEndIndex=function(){return this._end},xp.prototype.getStartIndex=function(){return this._start},xp.prototype.getContext=function(){return this._context},xp.prototype.getId=function(){return this._id},xp.prototype.computeOverlapsInternal=function(t,e,n,r,i,o){var s=this._pts[t],a=this._pts[e],u=n._pts[r],l=n._pts[i];if(e-t==1&&i-r==1)return o.overlap(this,t,n,r),null;if(o.tempEnv1.init(s,a),o.tempEnv2.init(u,l),!o.tempEnv1.intersects(o.tempEnv2))return null;var c=Math.trunc((t+e)/2),h=Math.trunc((r+i)/2);t<c&&(r<h&&this.computeOverlapsInternal(t,c,n,r,h,o),h<i&&this.computeOverlapsInternal(t,c,n,h,i,o)),c<e&&(r<h&&this.computeOverlapsInternal(c,e,n,r,h,o),h<i&&this.computeOverlapsInternal(c,e,n,h,i,o))},xp.prototype.interfaces_=function(){return[]},xp.prototype.getClass=function(){return xp};var Ep=function(){};Ep.prototype.interfaces_=function(){return[]},Ep.prototype.getClass=function(){return Ep},Ep.getChainStartIndices=function(t){var e=0,n=new lc;n.add(new _l(e));do{var r=Ep.findChainEnd(t,e);n.add(new _l(r)),e=r}while(e<t.length-1);return Ep.toIntArray(n)},Ep.findChainEnd=function(t,e){for(var n=e;n<t.length-1&&t[n].equals2D(t[n+1]);)n++;if(n>=t.length-1)return t.length-1;for(var r=jh.quadrant(t[n],t[n+1]),i=e+1;i<t.length;){if(!t[i-1].equals2D(t[i]))if(jh.quadrant(t[i-1],t[i])!==r)break;i++}return i-1},Ep.getChains=function(){if(1===arguments.length){var t=arguments[0];return Ep.getChains(t,null)}if(2===arguments.length){for(var e=arguments[0],n=arguments[1],r=new lc,i=Ep.getChainStartIndices(e),o=0;o<i.length-1;o++){var s=new xp(e,i[o],i[o+1],n);r.add(s)}return r}},Ep.toIntArray=function(t){for(var e=new Array(t.size()).fill(null),n=0;n<e.length;n++)e[n]=t.get(n).intValue();return e};var bp=function(){};bp.prototype.computeNodes=function(t){},bp.prototype.getNodedSubstrings=function(){},bp.prototype.interfaces_=function(){return[]},bp.prototype.getClass=function(){return bp};var wp=function(){if(this._segInt=null,0===arguments.length);else if(1===arguments.length){var t=arguments[0];this.setSegmentIntersector(t)}};wp.prototype.setSegmentIntersector=function(t){this._segInt=t},wp.prototype.interfaces_=function(){return[bp]},wp.prototype.getClass=function(){return wp};var Ip=function(t){function e(e){e?t.call(this,e):t.call(this),this._monoChains=new lc,this._index=new up,this._idCounter=0,this._nodedSegStrings=null,this._nOverlaps=0}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var n={SegmentOverlapAction:{configurable:!0}};return e.prototype.getMonotoneChains=function(){return this._monoChains},e.prototype.getNodedSubstrings=function(){return yp.getNodedSubstrings(this._nodedSegStrings)},e.prototype.getIndex=function(){return this._index},e.prototype.add=function(t){for(var e=this,n=Ep.getChains(t.getCoordinates(),t).iterator();n.hasNext();){var r=n.next();r.setId(e._idCounter++),e._index.insert(r.getEnvelope(),r),e._monoChains.add(r)}},e.prototype.computeNodes=function(t){this._nodedSegStrings=t;for(var e=t.iterator();e.hasNext();)this.add(e.next());this.intersectChains()},e.prototype.intersectChains=function(){for(var t=this,e=new Np(this._segInt),n=this._monoChains.iterator();n.hasNext();)for(var r=n.next(),i=t._index.query(r.getEnvelope()).iterator();i.hasNext();){var o=i.next();if(o.getId()>r.getId()&&(r.computeOverlaps(o,e),t._nOverlaps++),t._segInt.isDone())return null}},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},n.SegmentOverlapAction.get=function(){return Np},Object.defineProperties(e,n),e}(wp),Np=function(t){function e(){t.call(this),this._si=null;var e=arguments[0];this._si=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.overlap=function(){if(4!==arguments.length)return t.prototype.overlap.apply(this,arguments);var e=arguments[0],n=arguments[1],r=arguments[2],i=arguments[3],o=e.getContext(),s=r.getContext();this._si.processIntersections(o,n,s,i)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(mp),Sp=function t(){if(this._quadrantSegments=t.DEFAULT_QUADRANT_SEGMENTS,this._endCapStyle=t.CAP_ROUND,this._joinStyle=t.JOIN_ROUND,this._mitreLimit=t.DEFAULT_MITRE_LIMIT,this._isSingleSided=!1,this._simplifyFactor=t.DEFAULT_SIMPLIFY_FACTOR,0===arguments.length);else if(1===arguments.length){var e=arguments[0];this.setQuadrantSegments(e)}else if(2===arguments.length){var n=arguments[0],r=arguments[1];this.setQuadrantSegments(n),this.setEndCapStyle(r)}else if(4===arguments.length){var i=arguments[0],o=arguments[1],s=arguments[2],a=arguments[3];this.setQuadrantSegments(i),this.setEndCapStyle(o),this.setJoinStyle(s),this.setMitreLimit(a)}},Cp={CAP_ROUND:{configurable:!0},CAP_FLAT:{configurable:!0},CAP_SQUARE:{configurable:!0},JOIN_ROUND:{configurable:!0},JOIN_MITRE:{configurable:!0},JOIN_BEVEL:{configurable:!0},DEFAULT_QUADRANT_SEGMENTS:{configurable:!0},DEFAULT_MITRE_LIMIT:{configurable:!0},DEFAULT_SIMPLIFY_FACTOR:{configurable:!0}};Sp.prototype.getEndCapStyle=function(){return this._endCapStyle},Sp.prototype.isSingleSided=function(){return this._isSingleSided},Sp.prototype.setQuadrantSegments=function(t){this._quadrantSegments=t,0===this._quadrantSegments&&(this._joinStyle=Sp.JOIN_BEVEL),this._quadrantSegments<0&&(this._joinStyle=Sp.JOIN_MITRE,this._mitreLimit=Math.abs(this._quadrantSegments)),t<=0&&(this._quadrantSegments=1),this._joinStyle!==Sp.JOIN_ROUND&&(this._quadrantSegments=Sp.DEFAULT_QUADRANT_SEGMENTS)},Sp.prototype.getJoinStyle=function(){return this._joinStyle},Sp.prototype.setJoinStyle=function(t){this._joinStyle=t},Sp.prototype.setSimplifyFactor=function(t){this._simplifyFactor=t<0?0:t},Sp.prototype.getSimplifyFactor=function(){return this._simplifyFactor},Sp.prototype.getQuadrantSegments=function(){return this._quadrantSegments},Sp.prototype.setEndCapStyle=function(t){this._endCapStyle=t},Sp.prototype.getMitreLimit=function(){return this._mitreLimit},Sp.prototype.setMitreLimit=function(t){this._mitreLimit=t},Sp.prototype.setSingleSided=function(t){this._isSingleSided=t},Sp.prototype.interfaces_=function(){return[]},Sp.prototype.getClass=function(){return Sp},Sp.bufferDistanceError=function(t){var e=Math.PI/2/t;return 1-Math.cos(e/2)},Cp.CAP_ROUND.get=function(){return 1},Cp.CAP_FLAT.get=function(){return 2},Cp.CAP_SQUARE.get=function(){return 3},Cp.JOIN_ROUND.get=function(){return 1},Cp.JOIN_MITRE.get=function(){return 2},Cp.JOIN_BEVEL.get=function(){return 3},Cp.DEFAULT_QUADRANT_SEGMENTS.get=function(){return 8},Cp.DEFAULT_MITRE_LIMIT.get=function(){return 5},Cp.DEFAULT_SIMPLIFY_FACTOR.get=function(){return.01},Object.defineProperties(Sp,Cp);var Pp=function(t){this._distanceTol=null,this._isDeleted=null,this._angleOrientation=Xl.COUNTERCLOCKWISE,this._inputLine=t||null},Mp={INIT:{configurable:!0},DELETE:{configurable:!0},KEEP:{configurable:!0},NUM_PTS_TO_CHECK:{configurable:!0}};Pp.prototype.isDeletable=function(t,e,n,r){var i=this._inputLine[t],o=this._inputLine[e],s=this._inputLine[n];return!!this.isConcave(i,o,s)&&(!!this.isShallow(i,o,s,r)&&this.isShallowSampled(i,o,t,n,r))},Pp.prototype.deleteShallowConcavities=function(){for(var t=this,e=1,n=this.findNextNonDeletedIndex(e),r=this.findNextNonDeletedIndex(n),i=!1;r<this._inputLine.length;){var o=!1;t.isDeletable(e,n,r,t._distanceTol)&&(t._isDeleted[n]=Pp.DELETE,o=!0,i=!0),e=o?r:n,n=t.findNextNonDeletedIndex(e),r=t.findNextNonDeletedIndex(n)}return i},Pp.prototype.isShallowConcavity=function(t,e,n,r){return Xl.computeOrientation(t,e,n)===this._angleOrientation&&Xl.distancePointLine(e,t,n)<r},Pp.prototype.isShallowSampled=function(t,e,n,r,i){var o=Math.trunc((r-n)/Pp.NUM_PTS_TO_CHECK);o<=0&&(o=1);for(var s=n;s<r;s+=o)if(!this.isShallow(t,e,this._inputLine[s],i))return!1;return!0},Pp.prototype.isConcave=function(t,e,n){var r=Xl.computeOrientation(t,e,n)===this._angleOrientation;return r},Pp.prototype.simplify=function(t){this._distanceTol=Math.abs(t),t<0&&(this._angleOrientation=Xl.CLOCKWISE),this._isDeleted=new Array(this._inputLine.length).fill(null);var e=!1;do{e=this.deleteShallowConcavities()}while(e);return this.collapseLine()},Pp.prototype.findNextNonDeletedIndex=function(t){for(var e=t+1;e<this._inputLine.length&&this._isDeleted[e]===Pp.DELETE;)e++;return e},Pp.prototype.isShallow=function(t,e,n,r){return Xl.distancePointLine(e,t,n)<r},Pp.prototype.collapseLine=function(){for(var t=new hc,e=0;e<this._inputLine.length;e++)this._isDeleted[e]!==Pp.DELETE&&t.add(this._inputLine[e]);return t.toCoordinateArray()},Pp.prototype.interfaces_=function(){return[]},Pp.prototype.getClass=function(){return Pp},Pp.simplify=function(t,e){return new Pp(t).simplify(e)},Mp.INIT.get=function(){return 0},Mp.DELETE.get=function(){return 1},Mp.KEEP.get=function(){return 1},Mp.NUM_PTS_TO_CHECK.get=function(){return 10},Object.defineProperties(Pp,Mp);var Lp=function(){this._ptList=null,this._precisionModel=null,this._minimimVertexDistance=0,this._ptList=new lc},Op={COORDINATE_ARRAY_TYPE:{configurable:!0}};Lp.prototype.getCoordinates=function(){return this._ptList.toArray(Lp.COORDINATE_ARRAY_TYPE)},Lp.prototype.setPrecisionModel=function(t){this._precisionModel=t},Lp.prototype.addPt=function(t){var e=new ul(t);if(this._precisionModel.makePrecise(e),this.isRedundant(e))return null;this._ptList.add(e)},Lp.prototype.revere=function(){},Lp.prototype.addPts=function(t,e){if(e)for(var n=0;n<t.length;n++)this.addPt(t[n]);else for(var r=t.length-1;r>=0;r--)this.addPt(t[r])},Lp.prototype.isRedundant=function(t){if(this._ptList.size()<1)return!1;var e=this._ptList.get(this._ptList.size()-1);return t.distance(e)<this._minimimVertexDistance},Lp.prototype.toString=function(){return(new _h).createLineString(this.getCoordinates()).toString()},Lp.prototype.closeRing=function(){if(this._ptList.size()<1)return null;var t=new ul(this._ptList.get(0)),e=this._ptList.get(this._ptList.size()-1);if(t.equals(e))return null;this._ptList.add(t)},Lp.prototype.setMinimumVertexDistance=function(t){this._minimimVertexDistance=t},Lp.prototype.interfaces_=function(){return[]},Lp.prototype.getClass=function(){return Lp},Op.COORDINATE_ARRAY_TYPE.get=function(){return new Array(0).fill(null)},Object.defineProperties(Lp,Op);var Rp=function(){},Tp={PI_TIMES_2:{configurable:!0},PI_OVER_2:{configurable:!0},PI_OVER_4:{configurable:!0},COUNTERCLOCKWISE:{configurable:!0},CLOCKWISE:{configurable:!0},NONE:{configurable:!0}};Rp.prototype.interfaces_=function(){return[]},Rp.prototype.getClass=function(){return Rp},Rp.toDegrees=function(t){return 180*t/Math.PI},Rp.normalize=function(t){for(;t>Math.PI;)t-=Rp.PI_TIMES_2;for(;t<=-Math.PI;)t+=Rp.PI_TIMES_2;return t},Rp.angle=function(){if(1===arguments.length){var t=arguments[0];return Math.atan2(t.y,t.x)}if(2===arguments.length){var e=arguments[0],n=arguments[1],r=n.x-e.x,i=n.y-e.y;return Math.atan2(i,r)}},Rp.isAcute=function(t,e,n){var r=t.x-e.x,i=t.y-e.y;return r*(n.x-e.x)+i*(n.y-e.y)>0},Rp.isObtuse=function(t,e,n){var r=t.x-e.x,i=t.y-e.y;return r*(n.x-e.x)+i*(n.y-e.y)<0},Rp.interiorAngle=function(t,e,n){var r=Rp.angle(e,t),i=Rp.angle(e,n);return Math.abs(i-r)},Rp.normalizePositive=function(t){if(t<0){for(;t<0;)t+=Rp.PI_TIMES_2;t>=Rp.PI_TIMES_2&&(t=0)}else{for(;t>=Rp.PI_TIMES_2;)t-=Rp.PI_TIMES_2;t<0&&(t=0)}return t},Rp.angleBetween=function(t,e,n){var r=Rp.angle(e,t),i=Rp.angle(e,n);return Rp.diff(r,i)},Rp.diff=function(t,e){var n=null;return(n=t<e?e-t:t-e)>Math.PI&&(n=2*Math.PI-n),n},Rp.toRadians=function(t){return t*Math.PI/180},Rp.getTurn=function(t,e){var n=Math.sin(e-t);return n>0?Rp.COUNTERCLOCKWISE:n<0?Rp.CLOCKWISE:Rp.NONE},Rp.angleBetweenOriented=function(t,e,n){var r=Rp.angle(e,t),i=Rp.angle(e,n)-r;return i<=-Math.PI?i+Rp.PI_TIMES_2:i>Math.PI?i-Rp.PI_TIMES_2:i},Tp.PI_TIMES_2.get=function(){return 2*Math.PI},Tp.PI_OVER_2.get=function(){return Math.PI/2},Tp.PI_OVER_4.get=function(){return Math.PI/4},Tp.COUNTERCLOCKWISE.get=function(){return Xl.COUNTERCLOCKWISE},Tp.CLOCKWISE.get=function(){return Xl.CLOCKWISE},Tp.NONE.get=function(){return Xl.COLLINEAR},Object.defineProperties(Rp,Tp);var Ap=function t(){this._maxCurveSegmentError=0,this._filletAngleQuantum=null,this._closingSegLengthFactor=1,this._segList=null,this._distance=0,this._precisionModel=null,this._bufParams=null,this._li=null,this._s0=null,this._s1=null,this._s2=null,this._seg0=new vp,this._seg1=new vp,this._offset0=new vp,this._offset1=new vp,this._side=0,this._hasNarrowConcaveAngle=!1;var e=arguments[0],n=arguments[1],r=arguments[2];this._precisionModel=e,this._bufParams=n,this._li=new jl,this._filletAngleQuantum=Math.PI/2/n.getQuadrantSegments(),n.getQuadrantSegments()>=8&&n.getJoinStyle()===Sp.JOIN_ROUND&&(this._closingSegLengthFactor=t.MAX_CLOSING_SEG_LEN_FACTOR),this.init(r)},Dp={OFFSET_SEGMENT_SEPARATION_FACTOR:{configurable:!0},INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR:{configurable:!0},CURVE_VERTEX_SNAP_DISTANCE_FACTOR:{configurable:!0},MAX_CLOSING_SEG_LEN_FACTOR:{configurable:!0}};Ap.prototype.addNextSegment=function(t,e){if(this._s0=this._s1,this._s1=this._s2,this._s2=t,this._seg0.setCoordinates(this._s0,this._s1),this.computeOffsetSegment(this._seg0,this._side,this._distance,this._offset0),this._seg1.setCoordinates(this._s1,this._s2),this.computeOffsetSegment(this._seg1,this._side,this._distance,this._offset1),this._s1.equals(this._s2))return null;var n=Xl.computeOrientation(this._s0,this._s1,this._s2),r=n===Xl.CLOCKWISE&&this._side===Sh.LEFT||n===Xl.COUNTERCLOCKWISE&&this._side===Sh.RIGHT;0===n?this.addCollinear(e):r?this.addOutsideTurn(n,e):this.addInsideTurn(n,e)},Ap.prototype.addLineEndCap=function(t,e){var n=new vp(t,e),r=new vp;this.computeOffsetSegment(n,Sh.LEFT,this._distance,r);var i=new vp;this.computeOffsetSegment(n,Sh.RIGHT,this._distance,i);var o=e.x-t.x,s=e.y-t.y,a=Math.atan2(s,o);switch(this._bufParams.getEndCapStyle()){case Sp.CAP_ROUND:this._segList.addPt(r.p1),this.addFilletArc(e,a+Math.PI/2,a-Math.PI/2,Xl.CLOCKWISE,this._distance),this._segList.addPt(i.p1);break;case Sp.CAP_FLAT:this._segList.addPt(r.p1),this._segList.addPt(i.p1);break;case Sp.CAP_SQUARE:var u=new ul;u.x=Math.abs(this._distance)*Math.cos(a),u.y=Math.abs(this._distance)*Math.sin(a);var l=new ul(r.p1.x+u.x,r.p1.y+u.y),c=new ul(i.p1.x+u.x,i.p1.y+u.y);this._segList.addPt(l),this._segList.addPt(c)}},Ap.prototype.getCoordinates=function(){return this._segList.getCoordinates()},Ap.prototype.addMitreJoin=function(t,e,n,r){var i=!0,o=null;try{o=Ml.intersection(e.p0,e.p1,n.p0,n.p1),(r<=0?1:o.distance(t)/Math.abs(r))>this._bufParams.getMitreLimit()&&(i=!1)}catch(t){if(!(t instanceof Cl))throw t;o=new ul(0,0),i=!1}i?this._segList.addPt(o):this.addLimitedMitreJoin(e,n,r,this._bufParams.getMitreLimit())},Ap.prototype.addFilletCorner=function(t,e,n,r,i){var o=e.x-t.x,s=e.y-t.y,a=Math.atan2(s,o),u=n.x-t.x,l=n.y-t.y,c=Math.atan2(l,u);r===Xl.CLOCKWISE?a<=c&&(a+=2*Math.PI):a>=c&&(a-=2*Math.PI),this._segList.addPt(e),this.addFilletArc(t,a,c,r,i),this._segList.addPt(n)},Ap.prototype.addOutsideTurn=function(t,e){if(this._offset0.p1.distance(this._offset1.p0)<this._distance*Ap.OFFSET_SEGMENT_SEPARATION_FACTOR)return this._segList.addPt(this._offset0.p1),null;this._bufParams.getJoinStyle()===Sp.JOIN_MITRE?this.addMitreJoin(this._s1,this._offset0,this._offset1,this._distance):this._bufParams.getJoinStyle()===Sp.JOIN_BEVEL?this.addBevelJoin(this._offset0,this._offset1):(e&&this._segList.addPt(this._offset0.p1),this.addFilletCorner(this._s1,this._offset0.p1,this._offset1.p0,t,this._distance),this._segList.addPt(this._offset1.p0))},Ap.prototype.createSquare=function(t){this._segList.addPt(new ul(t.x+this._distance,t.y+this._distance)),this._segList.addPt(new ul(t.x+this._distance,t.y-this._distance)),this._segList.addPt(new ul(t.x-this._distance,t.y-this._distance)),this._segList.addPt(new ul(t.x-this._distance,t.y+this._distance)),this._segList.closeRing()},Ap.prototype.addSegments=function(t,e){this._segList.addPts(t,e)},Ap.prototype.addFirstSegment=function(){this._segList.addPt(this._offset1.p0)},Ap.prototype.addLastSegment=function(){this._segList.addPt(this._offset1.p1)},Ap.prototype.initSideSegments=function(t,e,n){this._s1=t,this._s2=e,this._side=n,this._seg1.setCoordinates(t,e),this.computeOffsetSegment(this._seg1,n,this._distance,this._offset1)},Ap.prototype.addLimitedMitreJoin=function(t,e,n,r){var i=this._seg0.p1,o=Rp.angle(i,this._seg0.p0),s=Rp.angleBetweenOriented(this._seg0.p0,i,this._seg1.p1)/2,a=Rp.normalize(o+s),u=Rp.normalize(a+Math.PI),l=r*n,c=n-l*Math.abs(Math.sin(s)),h=i.x+l*Math.cos(u),p=i.y+l*Math.sin(u),f=new ul(h,p),g=new vp(i,f),d=g.pointAlongOffset(1,c),y=g.pointAlongOffset(1,-c);this._side===Sh.LEFT?(this._segList.addPt(d),this._segList.addPt(y)):(this._segList.addPt(y),this._segList.addPt(d))},Ap.prototype.computeOffsetSegment=function(t,e,n,r){var i=e===Sh.LEFT?1:-1,o=t.p1.x-t.p0.x,s=t.p1.y-t.p0.y,a=Math.sqrt(o*o+s*s),u=i*n*o/a,l=i*n*s/a;r.p0.x=t.p0.x-l,r.p0.y=t.p0.y+u,r.p1.x=t.p1.x-l,r.p1.y=t.p1.y+u},Ap.prototype.addFilletArc=function(t,e,n,r,i){var o=r===Xl.CLOCKWISE?-1:1,s=Math.abs(e-n),a=Math.trunc(s/this._filletAngleQuantum+.5);if(a<1)return null;for(var u=s/a,l=0,c=new ul;l<s;){var h=e+o*l;c.x=t.x+i*Math.cos(h),c.y=t.y+i*Math.sin(h),this._segList.addPt(c),l+=u}},Ap.prototype.addInsideTurn=function(t,e){if(this._li.computeIntersection(this._offset0.p0,this._offset0.p1,this._offset1.p0,this._offset1.p1),this._li.hasIntersection())this._segList.addPt(this._li.getIntersection(0));else if(this._hasNarrowConcaveAngle=!0,this._offset0.p1.distance(this._offset1.p0)<this._distance*Ap.INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR)this._segList.addPt(this._offset0.p1);else{if(this._segList.addPt(this._offset0.p1),this._closingSegLengthFactor>0){var n=new ul((this._closingSegLengthFactor*this._offset0.p1.x+this._s1.x)/(this._closingSegLengthFactor+1),(this._closingSegLengthFactor*this._offset0.p1.y+this._s1.y)/(this._closingSegLengthFactor+1));this._segList.addPt(n);var r=new ul((this._closingSegLengthFactor*this._offset1.p0.x+this._s1.x)/(this._closingSegLengthFactor+1),(this._closingSegLengthFactor*this._offset1.p0.y+this._s1.y)/(this._closingSegLengthFactor+1));this._segList.addPt(r)}else this._segList.addPt(this._s1);this._segList.addPt(this._offset1.p0)}},Ap.prototype.createCircle=function(t){var e=new ul(t.x+this._distance,t.y);this._segList.addPt(e),this.addFilletArc(t,0,2*Math.PI,-1,this._distance),this._segList.closeRing()},Ap.prototype.addBevelJoin=function(t,e){this._segList.addPt(t.p1),this._segList.addPt(e.p0)},Ap.prototype.init=function(t){this._distance=t,this._maxCurveSegmentError=t*(1-Math.cos(this._filletAngleQuantum/2)),this._segList=new Lp,this._segList.setPrecisionModel(this._precisionModel),this._segList.setMinimumVertexDistance(t*Ap.CURVE_VERTEX_SNAP_DISTANCE_FACTOR)},Ap.prototype.addCollinear=function(t){this._li.computeIntersection(this._s0,this._s1,this._s1,this._s2),this._li.getIntersectionNum()>=2&&(this._bufParams.getJoinStyle()===Sp.JOIN_BEVEL||this._bufParams.getJoinStyle()===Sp.JOIN_MITRE?(t&&this._segList.addPt(this._offset0.p1),this._segList.addPt(this._offset1.p0)):this.addFilletCorner(this._s1,this._offset0.p1,this._offset1.p0,Xl.CLOCKWISE,this._distance))},Ap.prototype.closeRing=function(){this._segList.closeRing()},Ap.prototype.hasNarrowConcaveAngle=function(){return this._hasNarrowConcaveAngle},Ap.prototype.interfaces_=function(){return[]},Ap.prototype.getClass=function(){return Ap},Dp.OFFSET_SEGMENT_SEPARATION_FACTOR.get=function(){return.001},Dp.INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR.get=function(){return.001},Dp.CURVE_VERTEX_SNAP_DISTANCE_FACTOR.get=function(){return 1e-6},Dp.MAX_CLOSING_SEG_LEN_FACTOR.get=function(){return 80},Object.defineProperties(Ap,Dp);var Fp=function(){this._distance=0,this._precisionModel=null,this._bufParams=null;var t=arguments[0],e=arguments[1];this._precisionModel=t,this._bufParams=e};Fp.prototype.getOffsetCurve=function(t,e){if(this._distance=e,0===e)return null;var n=e<0,r=Math.abs(e),i=this.getSegGen(r);t.length<=1?this.computePointCurve(t[0],i):this.computeOffsetCurve(t,n,i);var o=i.getCoordinates();return n&&pc.reverse(o),o},Fp.prototype.computeSingleSidedBufferCurve=function(t,e,n){var r=this.simplifyTolerance(this._distance);if(e){n.addSegments(t,!0);var i=Pp.simplify(t,-r),o=i.length-1;n.initSideSegments(i[o],i[o-1],Sh.LEFT),n.addFirstSegment();for(var s=o-2;s>=0;s--)n.addNextSegment(i[s],!0)}else{n.addSegments(t,!1);var a=Pp.simplify(t,r),u=a.length-1;n.initSideSegments(a[0],a[1],Sh.LEFT),n.addFirstSegment();for(var l=2;l<=u;l++)n.addNextSegment(a[l],!0)}n.addLastSegment(),n.closeRing()},Fp.prototype.computeRingBufferCurve=function(t,e,n){var r=this.simplifyTolerance(this._distance);e===Sh.RIGHT&&(r=-r);var i=Pp.simplify(t,r),o=i.length-1;n.initSideSegments(i[o-1],i[0],e);for(var s=1;s<=o;s++){var a=1!==s;n.addNextSegment(i[s],a)}n.closeRing()},Fp.prototype.computeLineBufferCurve=function(t,e){var n=this.simplifyTolerance(this._distance),r=Pp.simplify(t,n),i=r.length-1;e.initSideSegments(r[0],r[1],Sh.LEFT);for(var o=2;o<=i;o++)e.addNextSegment(r[o],!0);e.addLastSegment(),e.addLineEndCap(r[i-1],r[i]);var s=Pp.simplify(t,-n),a=s.length-1;e.initSideSegments(s[a],s[a-1],Sh.LEFT);for(var u=a-2;u>=0;u--)e.addNextSegment(s[u],!0);e.addLastSegment(),e.addLineEndCap(s[1],s[0]),e.closeRing()},Fp.prototype.computePointCurve=function(t,e){switch(this._bufParams.getEndCapStyle()){case Sp.CAP_ROUND:e.createCircle(t);break;case Sp.CAP_SQUARE:e.createSquare(t)}},Fp.prototype.getLineCurve=function(t,e){if(this._distance=e,e<0&&!this._bufParams.isSingleSided())return null;if(0===e)return null;var n=Math.abs(e),r=this.getSegGen(n);if(t.length<=1)this.computePointCurve(t[0],r);else if(this._bufParams.isSingleSided()){var i=e<0;this.computeSingleSidedBufferCurve(t,i,r)}else this.computeLineBufferCurve(t,r);return r.getCoordinates()},Fp.prototype.getBufferParameters=function(){return this._bufParams},Fp.prototype.simplifyTolerance=function(t){return t*this._bufParams.getSimplifyFactor()},Fp.prototype.getRingCurve=function(t,e,n){if(this._distance=n,t.length<=2)return this.getLineCurve(t,n);if(0===n)return Fp.copyCoordinates(t);var r=this.getSegGen(n);return this.computeRingBufferCurve(t,e,r),r.getCoordinates()},Fp.prototype.computeOffsetCurve=function(t,e,n){var r=this.simplifyTolerance(this._distance);if(e){var i=Pp.simplify(t,-r),o=i.length-1;n.initSideSegments(i[o],i[o-1],Sh.LEFT),n.addFirstSegment();for(var s=o-2;s>=0;s--)n.addNextSegment(i[s],!0)}else{var a=Pp.simplify(t,r),u=a.length-1;n.initSideSegments(a[0],a[1],Sh.LEFT),n.addFirstSegment();for(var l=2;l<=u;l++)n.addNextSegment(a[l],!0)}n.addLastSegment()},Fp.prototype.getSegGen=function(t){return new Ap(this._precisionModel,this._bufParams,t)},Fp.prototype.interfaces_=function(){return[]},Fp.prototype.getClass=function(){return Fp},Fp.copyCoordinates=function(t){for(var e=new Array(t.length).fill(null),n=0;n<e.length;n++)e[n]=new ul(t[n]);return e};var kp=function(){this._subgraphs=null,this._seg=new vp,this._cga=new Xl;var t=arguments[0];this._subgraphs=t},Gp={DepthSegment:{configurable:!0}};kp.prototype.findStabbedSegments=function(){var t=this;if(1===arguments.length){for(var e=arguments[0],n=new lc,r=this._subgraphs.iterator();r.hasNext();){var i=r.next(),o=i.getEnvelope();e.y<o.getMinY()||e.y>o.getMaxY()||t.findStabbedSegments(e,i.getDirectedEdges(),n)}return n}if(3===arguments.length)if(gl(arguments[2],ac)&&arguments[0]instanceof ul&&arguments[1]instanceof Xh)for(var s=arguments[0],a=arguments[1],u=arguments[2],l=a.getEdge().getCoordinates(),c=0;c<l.length-1;c++){t._seg.p0=l[c],t._seg.p1=l[c+1],t._seg.p0.y>t._seg.p1.y&&t._seg.reverse();var h=Math.max(t._seg.p0.x,t._seg.p1.x);if(!(h<s.x)&&!(t._seg.isHorizontal()||s.y<t._seg.p0.y||s.y>t._seg.p1.y||Xl.computeOrientation(t._seg.p0,t._seg.p1,s)===Xl.RIGHT)){var p=a.getDepth(Sh.LEFT);t._seg.p0.equals(l[c])||(p=a.getDepth(Sh.RIGHT));var f=new qp(t._seg,p);u.add(f)}}else if(gl(arguments[2],ac)&&arguments[0]instanceof ul&&gl(arguments[1],ac))for(var g=arguments[0],d=arguments[1],y=arguments[2],v=d.iterator();v.hasNext();){var _=v.next();_.isForward()&&t.findStabbedSegments(g,_,y)}},kp.prototype.getDepth=function(t){var e=this.findStabbedSegments(t);return 0===e.size()?0:np.min(e)._leftDepth},kp.prototype.interfaces_=function(){return[]},kp.prototype.getClass=function(){return kp},Gp.DepthSegment.get=function(){return qp},Object.defineProperties(kp,Gp);var qp=function(){this._upwardSeg=null,this._leftDepth=null;var t=arguments[0],e=arguments[1];this._upwardSeg=new vp(t),this._leftDepth=e};qp.prototype.compareTo=function(t){var e=t;if(this._upwardSeg.minX()>=e._upwardSeg.maxX())return 1;if(this._upwardSeg.maxX()<=e._upwardSeg.minX())return-1;var n=this._upwardSeg.orientationIndex(e._upwardSeg);return 0!==n||0!==(n=-1*e._upwardSeg.orientationIndex(this._upwardSeg))?n:this._upwardSeg.compareTo(e._upwardSeg)},qp.prototype.compareX=function(t,e){var n=t.p0.compareTo(e.p0);return 0!==n?n:t.p1.compareTo(e.p1)},qp.prototype.toString=function(){return this._upwardSeg.toString()},qp.prototype.interfaces_=function(){return[il]},qp.prototype.getClass=function(){return qp};var Bp=function(t,e,n){this.p0=t||null,this.p1=e||null,this.p2=n||null};Bp.prototype.area=function(){return Bp.area(this.p0,this.p1,this.p2)},Bp.prototype.signedArea=function(){return Bp.signedArea(this.p0,this.p1,this.p2)},Bp.prototype.interpolateZ=function(t){if(null===t)throw new el(\"Supplied point is null.\");return Bp.interpolateZ(t,this.p0,this.p1,this.p2)},Bp.prototype.longestSideLength=function(){return Bp.longestSideLength(this.p0,this.p1,this.p2)},Bp.prototype.isAcute=function(){return Bp.isAcute(this.p0,this.p1,this.p2)},Bp.prototype.circumcentre=function(){return Bp.circumcentre(this.p0,this.p1,this.p2)},Bp.prototype.area3D=function(){return Bp.area3D(this.p0,this.p1,this.p2)},Bp.prototype.centroid=function(){return Bp.centroid(this.p0,this.p1,this.p2)},Bp.prototype.inCentre=function(){return Bp.inCentre(this.p0,this.p1,this.p2)},Bp.prototype.interfaces_=function(){return[]},Bp.prototype.getClass=function(){return Bp},Bp.area=function(t,e,n){return Math.abs(((n.x-t.x)*(e.y-t.y)-(e.x-t.x)*(n.y-t.y))/2)},Bp.signedArea=function(t,e,n){return((n.x-t.x)*(e.y-t.y)-(e.x-t.x)*(n.y-t.y))/2},Bp.det=function(t,e,n,r){return t*r-e*n},Bp.interpolateZ=function(t,e,n,r){var i=e.x,o=e.y,s=n.x-i,a=r.x-i,u=n.y-o,l=r.y-o,c=s*l-a*u,h=t.x-i,p=t.y-o,f=(l*h-a*p)/c,g=(-u*h+s*p)/c;return e.z+f*(n.z-e.z)+g*(r.z-e.z)},Bp.longestSideLength=function(t,e,n){var r=t.distance(e),i=e.distance(n),o=n.distance(t),s=r;return i>s&&(s=i),o>s&&(s=o),s},Bp.isAcute=function(t,e,n){return!!Rp.isAcute(t,e,n)&&(!!Rp.isAcute(e,n,t)&&!!Rp.isAcute(n,t,e))},Bp.circumcentre=function(t,e,n){var r=n.x,i=n.y,o=t.x-r,s=t.y-i,a=e.x-r,u=e.y-i,l=2*Bp.det(o,s,a,u),c=Bp.det(s,o*o+s*s,u,a*a+u*u),h=Bp.det(o,o*o+s*s,a,a*a+u*u);return new ul(r-c/l,i+h/l)},Bp.perpendicularBisector=function(t,e){var n=e.x-t.x,r=e.y-t.y,i=new Ml(t.x+n/2,t.y+r/2,1),o=new Ml(t.x-r+n/2,t.y+n+r/2,1);return new Ml(i,o)},Bp.angleBisector=function(t,e,n){var r=e.distance(t),i=r/(r+e.distance(n)),o=n.x-t.x,s=n.y-t.y;return new ul(t.x+i*o,t.y+i*s)},Bp.area3D=function(t,e,n){var r=e.x-t.x,i=e.y-t.y,o=e.z-t.z,s=n.x-t.x,a=n.y-t.y,u=n.z-t.z,l=i*u-o*a,c=o*s-r*u,h=r*a-i*s,p=l*l+c*c+h*h,f=Math.sqrt(p)/2;return f},Bp.centroid=function(t,e,n){var r=(t.x+e.x+n.x)/3,i=(t.y+e.y+n.y)/3;return new ul(r,i)},Bp.inCentre=function(t,e,n){var r=e.distance(n),i=t.distance(n),o=t.distance(e),s=r+i+o,a=(r*t.x+i*e.x+o*n.x)/s,u=(r*t.y+i*e.y+o*n.y)/s;return new ul(a,u)};var zp=function(){this._inputGeom=null,this._distance=null,this._curveBuilder=null,this._curveList=new lc;var t=arguments[0],e=arguments[1],n=arguments[2];this._inputGeom=t,this._distance=e,this._curveBuilder=n};zp.prototype.addPoint=function(t){if(this._distance<=0)return null;var e=t.getCoordinates(),n=this._curveBuilder.getLineCurve(e,this._distance);this.addCurve(n,pl.EXTERIOR,pl.INTERIOR)},zp.prototype.addPolygon=function(t){var e=this,n=this._distance,r=Sh.LEFT;this._distance<0&&(n=-this._distance,r=Sh.RIGHT);var i=t.getExteriorRing(),o=pc.removeRepeatedPoints(i.getCoordinates());if(this._distance<0&&this.isErodedCompletely(i,this._distance))return null;if(this._distance<=0&&o.length<3)return null;this.addPolygonRing(o,n,r,pl.EXTERIOR,pl.INTERIOR);for(var s=0;s<t.getNumInteriorRing();s++){var a=t.getInteriorRingN(s),u=pc.removeRepeatedPoints(a.getCoordinates());e._distance>0&&e.isErodedCompletely(a,-e._distance)||e.addPolygonRing(u,n,Sh.opposite(r),pl.INTERIOR,pl.EXTERIOR)}},zp.prototype.isTriangleErodedCompletely=function(t,e){var n=new Bp(t[0],t[1],t[2]),r=n.inCentre();return Xl.distancePointLine(r,n.p0,n.p1)<Math.abs(e)},zp.prototype.addLineString=function(t){if(this._distance<=0&&!this._curveBuilder.getBufferParameters().isSingleSided())return null;var e=pc.removeRepeatedPoints(t.getCoordinates()),n=this._curveBuilder.getLineCurve(e,this._distance);this.addCurve(n,pl.EXTERIOR,pl.INTERIOR)},zp.prototype.addCurve=function(t,e,n){if(null===t||t.length<2)return null;var r=new yp(t,new Dh(0,pl.BOUNDARY,e,n));this._curveList.add(r)},zp.prototype.getCurves=function(){return this.add(this._inputGeom),this._curveList},zp.prototype.addPolygonRing=function(t,e,n,r,i){if(0===e&&t.length<nh.MINIMUM_VALID_SIZE)return null;var o=r,s=i;t.length>=nh.MINIMUM_VALID_SIZE&&Xl.isCCW(t)&&(o=i,s=r,n=Sh.opposite(n));var a=this._curveBuilder.getRingCurve(t,n,e);this.addCurve(a,o,s)},zp.prototype.add=function(t){if(t.isEmpty())return null;t instanceof th?this.addPolygon(t):t instanceof Zc?this.addLineString(t):t instanceof Qc?this.addPoint(t):(t instanceof eh||t instanceof Gc||t instanceof rh||t instanceof kc)&&this.addCollection(t)},zp.prototype.isErodedCompletely=function(t,e){var n=t.getCoordinates();if(n.length<4)return e<0;if(4===n.length)return this.isTriangleErodedCompletely(n,e);var r=t.getEnvelopeInternal(),i=Math.min(r.getHeight(),r.getWidth());return e<0&&2*Math.abs(e)>i},zp.prototype.addCollection=function(t){for(var e=0;e<t.getNumGeometries();e++){var n=t.getGeometryN(e);this.add(n)}},zp.prototype.interfaces_=function(){return[]},zp.prototype.getClass=function(){return zp};var jp=function(){};jp.prototype.locate=function(t){},jp.prototype.interfaces_=function(){return[]},jp.prototype.getClass=function(){return jp};var Up=function(){this._parent=null,this._atStart=null,this._max=null,this._index=null,this._subcollectionIterator=null;var t=arguments[0];this._parent=t,this._atStart=!0,this._index=0,this._max=t.getNumGeometries()};Up.prototype.next=function(){if(this._atStart)return this._atStart=!1,Up.isAtomic(this._parent)&&this._index++,this._parent;if(null!==this._subcollectionIterator){if(this._subcollectionIterator.hasNext())return this._subcollectionIterator.next();this._subcollectionIterator=null}if(this._index>=this._max)throw new uc;var t=this._parent.getGeometryN(this._index++);return t instanceof kc?(this._subcollectionIterator=new Up(t),this._subcollectionIterator.next()):t},Up.prototype.remove=function(){throw new Error(this.getClass().getName())},Up.prototype.hasNext=function(){if(this._atStart)return!0;if(null!==this._subcollectionIterator){if(this._subcollectionIterator.hasNext())return!0;this._subcollectionIterator=null}return!(this._index>=this._max)},Up.prototype.interfaces_=function(){return[sc]},Up.prototype.getClass=function(){return Up},Up.isAtomic=function(t){return!(t instanceof kc)};var Vp=function(){this._geom=null;var t=arguments[0];this._geom=t};Vp.prototype.locate=function(t){return Vp.locate(t,this._geom)},Vp.prototype.interfaces_=function(){return[jp]},Vp.prototype.getClass=function(){return Vp},Vp.isPointInRing=function(t,e){return!!e.getEnvelopeInternal().intersects(t)&&Xl.isPointInRing(t,e.getCoordinates())},Vp.containsPointInPolygon=function(t,e){if(e.isEmpty())return!1;var n=e.getExteriorRing();if(!Vp.isPointInRing(t,n))return!1;for(var r=0;r<e.getNumInteriorRing();r++){var i=e.getInteriorRingN(r);if(Vp.isPointInRing(t,i))return!1}return!0},Vp.containsPoint=function(t,e){if(e instanceof th)return Vp.containsPointInPolygon(t,e);if(e instanceof kc)for(var n=new Up(e);n.hasNext();){var r=n.next();if(r!==e&&Vp.containsPoint(t,r))return!0}return!1},Vp.locate=function(t,e){return e.isEmpty()?pl.EXTERIOR:Vp.containsPoint(t,e)?pl.INTERIOR:pl.EXTERIOR};var Xp=function(){this._edgeMap=new Cc,this._edgeList=null,this._ptInAreaLocation=[pl.NONE,pl.NONE]};Xp.prototype.getNextCW=function(t){this.getEdges();var e=this._edgeList.indexOf(t),n=e-1;return 0===e&&(n=this._edgeList.size()-1),this._edgeList.get(n)},Xp.prototype.propagateSideLabels=function(t){for(var e=pl.NONE,n=this.iterator();n.hasNext();){var r=n.next().getLabel();r.isArea(t)&&r.getLocation(t,Sh.LEFT)!==pl.NONE&&(e=r.getLocation(t,Sh.LEFT))}if(e===pl.NONE)return null;for(var i=e,o=this.iterator();o.hasNext();){var s=o.next(),a=s.getLabel();if(a.getLocation(t,Sh.ON)===pl.NONE&&a.setLocation(t,Sh.ON,i),a.isArea(t)){var u=a.getLocation(t,Sh.LEFT),l=a.getLocation(t,Sh.RIGHT);if(l!==pl.NONE){if(l!==i)throw new Oh(\"side location conflict\",s.getCoordinate());u===pl.NONE&&ql.shouldNeverReachHere(\"found single null side (at \"+s.getCoordinate()+\")\"),i=u}else ql.isTrue(a.getLocation(t,Sh.LEFT)===pl.NONE,\"found single null side\"),a.setLocation(t,Sh.RIGHT,i),a.setLocation(t,Sh.LEFT,i)}}},Xp.prototype.getCoordinate=function(){var t=this.iterator();return t.hasNext()?t.next().getCoordinate():null},Xp.prototype.print=function(t){Pl.out.println(\"EdgeEndStar:   \"+this.getCoordinate());for(var e=this.iterator();e.hasNext();){e.next().print(t)}},Xp.prototype.isAreaLabelsConsistent=function(t){return this.computeEdgeEndLabels(t.getBoundaryNodeRule()),this.checkAreaLabelsConsistent(0)},Xp.prototype.checkAreaLabelsConsistent=function(t){var e=this.getEdges();if(e.size()<=0)return!0;var n=e.size()-1,r=e.get(n).getLabel().getLocation(t,Sh.LEFT);ql.isTrue(r!==pl.NONE,\"Found unlabelled area edge\");for(var i=r,o=this.iterator();o.hasNext();){var s=o.next().getLabel();ql.isTrue(s.isArea(t),\"Found non-area edge\");var a=s.getLocation(t,Sh.LEFT),u=s.getLocation(t,Sh.RIGHT);if(a===u)return!1;if(u!==i)return!1;i=a}return!0},Xp.prototype.findIndex=function(t){this.iterator();for(var e=0;e<this._edgeList.size();e++){if(this._edgeList.get(e)===t)return e}return-1},Xp.prototype.iterator=function(){return this.getEdges().iterator()},Xp.prototype.getEdges=function(){return null===this._edgeList&&(this._edgeList=new lc(this._edgeMap.values())),this._edgeList},Xp.prototype.getLocation=function(t,e,n){return this._ptInAreaLocation[t]===pl.NONE&&(this._ptInAreaLocation[t]=Vp.locate(e,n[t].getGeometry())),this._ptInAreaLocation[t]},Xp.prototype.toString=function(){var t=new vl;t.append(\"EdgeEndStar:   \"+this.getCoordinate()),t.append(\"\\n\");for(var e=this.iterator();e.hasNext();){var n=e.next();t.append(n),t.append(\"\\n\")}return t.toString()},Xp.prototype.computeEdgeEndLabels=function(t){for(var e=this.iterator();e.hasNext();){e.next().computeLabel(t)}},Xp.prototype.computeLabelling=function(t){this.computeEdgeEndLabels(t[0].getBoundaryNodeRule()),this.propagateSideLabels(0),this.propagateSideLabels(1);for(var e=[!1,!1],n=this.iterator();n.hasNext();)for(var r=n.next().getLabel(),i=0;i<2;i++)r.isLine(i)&&r.getLocation(i)===pl.BOUNDARY&&(e[i]=!0);for(var o=this.iterator();o.hasNext();)for(var s=o.next(),a=s.getLabel(),u=0;u<2;u++)if(a.isAnyNull(u)){var l=pl.NONE;if(e[u])l=pl.EXTERIOR;else{var c=s.getCoordinate();l=this.getLocation(u,c,t)}a.setAllLocationsIfNull(u,l)}},Xp.prototype.getDegree=function(){return this._edgeMap.size()},Xp.prototype.insertEdgeEnd=function(t,e){this._edgeMap.put(t,e),this._edgeList=null},Xp.prototype.interfaces_=function(){return[]},Xp.prototype.getClass=function(){return Xp};var Yp=function(t){function e(){t.call(this),this._resultAreaEdgeList=null,this._label=null,this._SCANNING_FOR_INCOMING=1,this._LINKING_TO_OUTGOING=2}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.linkResultDirectedEdges=function(){var t=this;this.getResultAreaEdges();for(var e=null,n=null,r=this._SCANNING_FOR_INCOMING,i=0;i<this._resultAreaEdgeList.size();i++){var o=t._resultAreaEdgeList.get(i),s=o.getSym();if(o.getLabel().isArea())switch(null===e&&o.isInResult()&&(e=o),r){case t._SCANNING_FOR_INCOMING:if(!s.isInResult())continue;n=s,r=t._LINKING_TO_OUTGOING;break;case t._LINKING_TO_OUTGOING:if(!o.isInResult())continue;n.setNext(o),r=t._SCANNING_FOR_INCOMING}}if(r===this._LINKING_TO_OUTGOING){if(null===e)throw new Oh(\"no outgoing dirEdge found\",this.getCoordinate());ql.isTrue(e.isInResult(),\"unable to link last incoming dirEdge\"),n.setNext(e)}},e.prototype.insert=function(t){var e=t;this.insertEdgeEnd(e,e)},e.prototype.getRightmostEdge=function(){var t=this.getEdges(),e=t.size();if(e<1)return null;var n=t.get(0);if(1===e)return n;var r=t.get(e-1),i=n.getQuadrant(),o=r.getQuadrant();return jh.isNorthern(i)&&jh.isNorthern(o)?n:jh.isNorthern(i)||jh.isNorthern(o)?0!==n.getDy()?n:0!==r.getDy()?r:(ql.shouldNeverReachHere(\"found two horizontal edges incident on node\"),null):r},e.prototype.print=function(t){Pl.out.println(\"DirectedEdgeStar: \"+this.getCoordinate());for(var e=this.iterator();e.hasNext();){var n=e.next();t.print(\"out \"),n.print(t),t.println(),t.print(\"in \"),n.getSym().print(t),t.println()}},e.prototype.getResultAreaEdges=function(){if(null!==this._resultAreaEdgeList)return this._resultAreaEdgeList;this._resultAreaEdgeList=new lc;for(var t=this.iterator();t.hasNext();){var e=t.next();(e.isInResult()||e.getSym().isInResult())&&this._resultAreaEdgeList.add(e)}return this._resultAreaEdgeList},e.prototype.updateLabelling=function(t){for(var e=this.iterator();e.hasNext();){var n=e.next().getLabel();n.setAllLocationsIfNull(0,t.getLocation(0)),n.setAllLocationsIfNull(1,t.getLocation(1))}},e.prototype.linkAllDirectedEdges=function(){this.getEdges();for(var t=null,e=null,n=this._edgeList.size()-1;n>=0;n--){var r=this._edgeList.get(n),i=r.getSym();null===e&&(e=i),null!==t&&i.setNext(t),t=r}e.setNext(t)},e.prototype.computeDepths=function(){var t=this;if(1===arguments.length){var e=arguments[0],n=this.findIndex(e),r=e.getDepth(Sh.LEFT),i=e.getDepth(Sh.RIGHT),o=this.computeDepths(n+1,this._edgeList.size(),r),s=this.computeDepths(0,n,o);if(s!==i)throw new Oh(\"depth mismatch at \"+e.getCoordinate())}else if(3===arguments.length){for(var a=arguments[0],u=arguments[1],l=arguments[2],c=l,h=a;h<u;h++){var p=t._edgeList.get(h);p.setEdgeDepths(Sh.RIGHT,c),c=p.getDepth(Sh.LEFT)}return c}},e.prototype.mergeSymLabels=function(){for(var t=this.iterator();t.hasNext();){var e=t.next();e.getLabel().merge(e.getSym().getLabel())}},e.prototype.linkMinimalDirectedEdges=function(t){for(var e=this,n=null,r=null,i=this._SCANNING_FOR_INCOMING,o=this._resultAreaEdgeList.size()-1;o>=0;o--){var s=e._resultAreaEdgeList.get(o),a=s.getSym();switch(null===n&&s.getEdgeRing()===t&&(n=s),i){case e._SCANNING_FOR_INCOMING:if(a.getEdgeRing()!==t)continue;r=a,i=e._LINKING_TO_OUTGOING;break;case e._LINKING_TO_OUTGOING:if(s.getEdgeRing()!==t)continue;r.setNextMin(s),i=e._SCANNING_FOR_INCOMING}}i===this._LINKING_TO_OUTGOING&&(ql.isTrue(null!==n,\"found null for first outgoing dirEdge\"),ql.isTrue(n.getEdgeRing()===t,\"unable to link last incoming dirEdge\"),r.setNextMin(n))},e.prototype.getOutgoingDegree=function(){if(0===arguments.length){for(var t=0,e=this.iterator();e.hasNext();){var n=e.next();n.isInResult()&&t++}return t}if(1===arguments.length){for(var r=arguments[0],i=0,o=this.iterator();o.hasNext();){var s=o.next();s.getEdgeRing()===r&&i++}return i}},e.prototype.getLabel=function(){return this._label},e.prototype.findCoveredLineEdges=function(){for(var t=pl.NONE,e=this.iterator();e.hasNext();){var n=e.next(),r=n.getSym();if(!n.isLineEdge()){if(n.isInResult()){t=pl.INTERIOR;break}if(r.isInResult()){t=pl.EXTERIOR;break}}}if(t===pl.NONE)return null;for(var i=t,o=this.iterator();o.hasNext();){var s=o.next(),a=s.getSym();s.isLineEdge()?s.getEdge().setCovered(i===pl.INTERIOR):(s.isInResult()&&(i=pl.EXTERIOR),a.isInResult()&&(i=pl.INTERIOR))}},e.prototype.computeLabelling=function(e){t.prototype.computeLabelling.call(this,e),this._label=new Dh(pl.NONE);for(var n=this.iterator();n.hasNext();)for(var r=n.next().getEdge().getLabel(),i=0;i<2;i++){var o=r.getLocation(i);o!==pl.INTERIOR&&o!==pl.BOUNDARY||this._label.setLocation(i,pl.INTERIOR)}},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(Xp),Hp=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createNode=function(t){return new Bh(t,new Yp)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(Yh),Wp=function t(){this._pts=null,this._orientation=null;var e=arguments[0];this._pts=e,this._orientation=t.orientation(e)};Wp.prototype.compareTo=function(t){var e=t;return Wp.compareOriented(this._pts,this._orientation,e._pts,e._orientation)},Wp.prototype.interfaces_=function(){return[il]},Wp.prototype.getClass=function(){return Wp},Wp.orientation=function(t){return 1===pc.increasingDirection(t)},Wp.compareOriented=function(t,e,n,r){for(var i=e?1:-1,o=r?1:-1,s=e?t.length:-1,a=r?n.length:-1,u=e?0:t.length-1,l=r?0:n.length-1;;){var c=t[u].compareTo(n[l]);if(0!==c)return c;var h=(u+=i)===s,p=(l+=o)===a;if(h&&!p)return-1;if(!h&&p)return 1;if(h&&p)return 0}};var Jp=function(){this._edges=new lc,this._ocaMap=new Cc};Jp.prototype.print=function(t){t.print(\"MULTILINESTRING ( \");for(var e=0;e<this._edges.size();e++){var n=this._edges.get(e);e>0&&t.print(\",\"),t.print(\"(\");for(var r=n.getCoordinates(),i=0;i<r.length;i++)i>0&&t.print(\",\"),t.print(r[i].x+\" \"+r[i].y);t.println(\")\")}t.print(\")  \")},Jp.prototype.addAll=function(t){for(var e=t.iterator();e.hasNext();)this.add(e.next())},Jp.prototype.findEdgeIndex=function(t){for(var e=0;e<this._edges.size();e++)if(this._edges.get(e).equals(t))return e;return-1},Jp.prototype.iterator=function(){return this._edges.iterator()},Jp.prototype.getEdges=function(){return this._edges},Jp.prototype.get=function(t){return this._edges.get(t)},Jp.prototype.findEqualEdge=function(t){var e=new Wp(t.getCoordinates());return this._ocaMap.get(e)},Jp.prototype.add=function(t){this._edges.add(t);var e=new Wp(t.getCoordinates());this._ocaMap.put(e,t)},Jp.prototype.interfaces_=function(){return[]},Jp.prototype.getClass=function(){return Jp};var Zp=function(){};Zp.prototype.processIntersections=function(t,e,n,r){},Zp.prototype.isDone=function(){},Zp.prototype.interfaces_=function(){return[]},Zp.prototype.getClass=function(){return Zp};var Kp=function(){this._hasIntersection=!1,this._hasProper=!1,this._hasProperInterior=!1,this._hasInterior=!1,this._properIntersectionPoint=null,this._li=null,this._isSelfIntersection=null,this.numIntersections=0,this.numInteriorIntersections=0,this.numProperIntersections=0,this.numTests=0;var t=arguments[0];this._li=t};Kp.prototype.isTrivialIntersection=function(t,e,n,r){if(t===n&&1===this._li.getIntersectionNum()){if(Kp.isAdjacentSegments(e,r))return!0;if(t.isClosed()){var i=t.size()-1;if(0===e&&r===i||0===r&&e===i)return!0}}return!1},Kp.prototype.getProperIntersectionPoint=function(){return this._properIntersectionPoint},Kp.prototype.hasProperInteriorIntersection=function(){return this._hasProperInterior},Kp.prototype.getLineIntersector=function(){return this._li},Kp.prototype.hasProperIntersection=function(){return this._hasProper},Kp.prototype.processIntersections=function(t,e,n,r){if(t===n&&e===r)return null;this.numTests++;var i=t.getCoordinates()[e],o=t.getCoordinates()[e+1],s=n.getCoordinates()[r],a=n.getCoordinates()[r+1];this._li.computeIntersection(i,o,s,a),this._li.hasIntersection()&&(this.numIntersections++,this._li.isInteriorIntersection()&&(this.numInteriorIntersections++,this._hasInterior=!0),this.isTrivialIntersection(t,e,n,r)||(this._hasIntersection=!0,t.addIntersections(this._li,e,0),n.addIntersections(this._li,r,1),this._li.isProper()&&(this.numProperIntersections++,this._hasProper=!0,this._hasProperInterior=!0)))},Kp.prototype.hasIntersection=function(){return this._hasIntersection},Kp.prototype.isDone=function(){return!1},Kp.prototype.hasInteriorIntersection=function(){return this._hasInterior},Kp.prototype.interfaces_=function(){return[Zp]},Kp.prototype.getClass=function(){return Kp},Kp.isAdjacentSegments=function(t,e){return 1===Math.abs(t-e)};var Qp=function(){this.coord=null,this.segmentIndex=null,this.dist=null;var t=arguments[0],e=arguments[1],n=arguments[2];this.coord=new ul(t),this.segmentIndex=e,this.dist=n};Qp.prototype.getSegmentIndex=function(){return this.segmentIndex},Qp.prototype.getCoordinate=function(){return this.coord},Qp.prototype.print=function(t){t.print(this.coord),t.print(\" seg # = \"+this.segmentIndex),t.println(\" dist = \"+this.dist)},Qp.prototype.compareTo=function(t){var e=t;return this.compare(e.segmentIndex,e.dist)},Qp.prototype.isEndPoint=function(t){return 0===this.segmentIndex&&0===this.dist||this.segmentIndex===t},Qp.prototype.toString=function(){return this.coord+\" seg # = \"+this.segmentIndex+\" dist = \"+this.dist},Qp.prototype.getDistance=function(){return this.dist},Qp.prototype.compare=function(t,e){return this.segmentIndex<t?-1:this.segmentIndex>t?1:this.dist<e?-1:this.dist>e?1:0},Qp.prototype.interfaces_=function(){return[il]},Qp.prototype.getClass=function(){return Qp};var $p=function(){this._nodeMap=new Cc,this.edge=null;var t=arguments[0];this.edge=t};$p.prototype.print=function(t){t.println(\"Intersections:\");for(var e=this.iterator();e.hasNext();){e.next().print(t)}},$p.prototype.iterator=function(){return this._nodeMap.values().iterator()},$p.prototype.addSplitEdges=function(t){this.addEndpoints();for(var e=this.iterator(),n=e.next();e.hasNext();){var r=e.next(),i=this.createSplitEdge(n,r);t.add(i),n=r}},$p.prototype.addEndpoints=function(){var t=this.edge.pts.length-1;this.add(this.edge.pts[0],0,0),this.add(this.edge.pts[t],t,0)},$p.prototype.createSplitEdge=function(t,e){var n=e.segmentIndex-t.segmentIndex+2,r=this.edge.pts[e.segmentIndex],i=e.dist>0||!e.coord.equals2D(r);i||n--;var o=new Array(n).fill(null),s=0;o[s++]=new ul(t.coord);for(var a=t.segmentIndex+1;a<=e.segmentIndex;a++)o[s++]=this.edge.pts[a];return i&&(o[s]=e.coord),new of(o,new Dh(this.edge._label))},$p.prototype.add=function(t,e,n){var r=new Qp(t,e,n),i=this._nodeMap.get(r);return null!==i?i:(this._nodeMap.put(r,r),r)},$p.prototype.isIntersection=function(t){for(var e=this.iterator();e.hasNext();){if(e.next().coord.equals(t))return!0}return!1},$p.prototype.interfaces_=function(){return[]},$p.prototype.getClass=function(){return $p};var tf=function(){};tf.prototype.getChainStartIndices=function(t){var e=0,n=new lc;n.add(new _l(e));do{var r=this.findChainEnd(t,e);n.add(new _l(r)),e=r}while(e<t.length-1);return tf.toIntArray(n)},tf.prototype.findChainEnd=function(t,e){for(var n=jh.quadrant(t[e],t[e+1]),r=e+1;r<t.length;){if(jh.quadrant(t[r-1],t[r])!==n)break;r++}return r-1},tf.prototype.interfaces_=function(){return[]},tf.prototype.getClass=function(){return tf},tf.toIntArray=function(t){for(var e=new Array(t.size()).fill(null),n=0;n<e.length;n++)e[n]=t.get(n).intValue();return e};var ef=function(){this.e=null,this.pts=null,this.startIndex=null,this.env1=new Ll,this.env2=new Ll;var t=arguments[0];this.e=t,this.pts=t.getCoordinates();var e=new tf;this.startIndex=e.getChainStartIndices(this.pts)};ef.prototype.getCoordinates=function(){return this.pts},ef.prototype.getMaxX=function(t){var e=this.pts[this.startIndex[t]].x,n=this.pts[this.startIndex[t+1]].x;return e>n?e:n},ef.prototype.getMinX=function(t){var e=this.pts[this.startIndex[t]].x,n=this.pts[this.startIndex[t+1]].x;return e<n?e:n},ef.prototype.computeIntersectsForChain=function(){if(4===arguments.length){var t=arguments[0],e=arguments[1],n=arguments[2],r=arguments[3];this.computeIntersectsForChain(this.startIndex[t],this.startIndex[t+1],e,e.startIndex[n],e.startIndex[n+1],r)}else if(6===arguments.length){var i=arguments[0],o=arguments[1],s=arguments[2],a=arguments[3],u=arguments[4],l=arguments[5],c=this.pts[i],h=this.pts[o],p=s.pts[a],f=s.pts[u];if(o-i==1&&u-a==1)return l.addIntersections(this.e,i,s.e,a),null;if(this.env1.init(c,h),this.env2.init(p,f),!this.env1.intersects(this.env2))return null;var g=Math.trunc((i+o)/2),d=Math.trunc((a+u)/2);i<g&&(a<d&&this.computeIntersectsForChain(i,g,s,a,d,l),d<u&&this.computeIntersectsForChain(i,g,s,d,u,l)),g<o&&(a<d&&this.computeIntersectsForChain(g,o,s,a,d,l),d<u&&this.computeIntersectsForChain(g,o,s,d,u,l))}},ef.prototype.getStartIndexes=function(){return this.startIndex},ef.prototype.computeIntersects=function(t,e){for(var n=0;n<this.startIndex.length-1;n++)for(var r=0;r<t.startIndex.length-1;r++)this.computeIntersectsForChain(n,t,r,e)},ef.prototype.interfaces_=function(){return[]},ef.prototype.getClass=function(){return ef};var nf=function t(){this._depth=Array(2).fill().map((function(){return Array(3)}));for(var e=0;e<2;e++)for(var n=0;n<3;n++)this._depth[e][n]=t.NULL_VALUE},rf={NULL_VALUE:{configurable:!0}};nf.prototype.getDepth=function(t,e){return this._depth[t][e]},nf.prototype.setDepth=function(t,e,n){this._depth[t][e]=n},nf.prototype.isNull=function(){var t=this;if(0===arguments.length){for(var e=0;e<2;e++)for(var n=0;n<3;n++)if(t._depth[e][n]!==nf.NULL_VALUE)return!1;return!0}if(1===arguments.length){var r=arguments[0];return this._depth[r][1]===nf.NULL_VALUE}if(2===arguments.length){var i=arguments[0],o=arguments[1];return this._depth[i][o]===nf.NULL_VALUE}},nf.prototype.normalize=function(){for(var t=this,e=0;e<2;e++)if(!t.isNull(e)){var n=t._depth[e][1];t._depth[e][2]<n&&(n=t._depth[e][2]),n<0&&(n=0);for(var r=1;r<3;r++){var i=0;t._depth[e][r]>n&&(i=1),t._depth[e][r]=i}}},nf.prototype.getDelta=function(t){return this._depth[t][Sh.RIGHT]-this._depth[t][Sh.LEFT]},nf.prototype.getLocation=function(t,e){return this._depth[t][e]<=0?pl.EXTERIOR:pl.INTERIOR},nf.prototype.toString=function(){return\"A: \"+this._depth[0][1]+\",\"+this._depth[0][2]+\" B: \"+this._depth[1][1]+\",\"+this._depth[1][2]},nf.prototype.add=function(){var t=this;if(1===arguments.length)for(var e=arguments[0],n=0;n<2;n++)for(var r=1;r<3;r++){var i=e.getLocation(n,r);i!==pl.EXTERIOR&&i!==pl.INTERIOR||(t.isNull(n,r)?t._depth[n][r]=nf.depthAtLocation(i):t._depth[n][r]+=nf.depthAtLocation(i))}else if(3===arguments.length){var o=arguments[0],s=arguments[1],a=arguments[2];a===pl.INTERIOR&&this._depth[o][s]++}},nf.prototype.interfaces_=function(){return[]},nf.prototype.getClass=function(){return nf},nf.depthAtLocation=function(t){return t===pl.EXTERIOR?0:t===pl.INTERIOR?1:nf.NULL_VALUE},rf.NULL_VALUE.get=function(){return-1},Object.defineProperties(nf,rf);var of=function(t){function e(){if(t.call(this),this.pts=null,this._env=null,this.eiList=new $p(this),this._name=null,this._mce=null,this._isIsolated=!0,this._depth=new nf,this._depthDelta=0,1===arguments.length){var n=arguments[0];e.call(this,n,null)}else if(2===arguments.length){var r=arguments[0],i=arguments[1];this.pts=r,this._label=i}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDepth=function(){return this._depth},e.prototype.getCollapsedEdge=function(){var t=new Array(2).fill(null);return t[0]=this.pts[0],t[1]=this.pts[1],new e(t,Dh.toLineLabel(this._label))},e.prototype.isIsolated=function(){return this._isIsolated},e.prototype.getCoordinates=function(){return this.pts},e.prototype.setIsolated=function(t){this._isIsolated=t},e.prototype.setName=function(t){this._name=t},e.prototype.equals=function(t){if(!(t instanceof e))return!1;var n=t;if(this.pts.length!==n.pts.length)return!1;for(var r=!0,i=!0,o=this.pts.length,s=0;s<this.pts.length;s++)if(this.pts[s].equals2D(n.pts[s])||(r=!1),this.pts[s].equals2D(n.pts[--o])||(i=!1),!r&&!i)return!1;return!0},e.prototype.getCoordinate=function(){if(0===arguments.length)return this.pts.length>0?this.pts[0]:null;if(1===arguments.length){var t=arguments[0];return this.pts[t]}},e.prototype.print=function(t){t.print(\"edge \"+this._name+\": \"),t.print(\"LINESTRING (\");for(var e=0;e<this.pts.length;e++)e>0&&t.print(\",\"),t.print(this.pts[e].x+\" \"+this.pts[e].y);t.print(\")  \"+this._label+\" \"+this._depthDelta)},e.prototype.computeIM=function(t){e.updateIM(this._label,t)},e.prototype.isCollapsed=function(){return!!this._label.isArea()&&(3===this.pts.length&&!!this.pts[0].equals(this.pts[2]))},e.prototype.isClosed=function(){return this.pts[0].equals(this.pts[this.pts.length-1])},e.prototype.getMaximumSegmentIndex=function(){return this.pts.length-1},e.prototype.getDepthDelta=function(){return this._depthDelta},e.prototype.getNumPoints=function(){return this.pts.length},e.prototype.printReverse=function(t){t.print(\"edge \"+this._name+\": \");for(var e=this.pts.length-1;e>=0;e--)t.print(this.pts[e]+\" \");t.println(\"\")},e.prototype.getMonotoneChainEdge=function(){return null===this._mce&&(this._mce=new ef(this)),this._mce},e.prototype.getEnvelope=function(){if(null===this._env){this._env=new Ll;for(var t=0;t<this.pts.length;t++)this._env.expandToInclude(this.pts[t])}return this._env},e.prototype.addIntersection=function(t,e,n,r){var i=new ul(t.getIntersection(r)),o=e,s=t.getEdgeDistance(n,r),a=o+1;if(a<this.pts.length){var u=this.pts[a];i.equals2D(u)&&(o=a,s=0)}this.eiList.add(i,o,s)},e.prototype.toString=function(){var t=new vl;t.append(\"edge \"+this._name+\": \"),t.append(\"LINESTRING (\");for(var e=0;e<this.pts.length;e++)e>0&&t.append(\",\"),t.append(this.pts[e].x+\" \"+this.pts[e].y);return t.append(\")  \"+this._label+\" \"+this._depthDelta),t.toString()},e.prototype.isPointwiseEqual=function(t){if(this.pts.length!==t.pts.length)return!1;for(var e=0;e<this.pts.length;e++)if(!this.pts[e].equals2D(t.pts[e]))return!1;return!0},e.prototype.setDepthDelta=function(t){this._depthDelta=t},e.prototype.getEdgeIntersectionList=function(){return this.eiList},e.prototype.addIntersections=function(t,e,n){for(var r=0;r<t.getIntersectionNum();r++)this.addIntersection(t,e,n,r)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e.updateIM=function(){if(2!==arguments.length)return t.prototype.updateIM.apply(this,arguments);var e=arguments[0],n=arguments[1];n.setAtLeastIfValid(e.getLocation(0,Sh.ON),e.getLocation(1,Sh.ON),1),e.isArea()&&(n.setAtLeastIfValid(e.getLocation(0,Sh.LEFT),e.getLocation(1,Sh.LEFT),2),n.setAtLeastIfValid(e.getLocation(0,Sh.RIGHT),e.getLocation(1,Sh.RIGHT),2))},e}(qh),sf=function(t){this._workingPrecisionModel=null,this._workingNoder=null,this._geomFact=null,this._graph=null,this._edgeList=new Jp,this._bufParams=t||null};sf.prototype.setWorkingPrecisionModel=function(t){this._workingPrecisionModel=t},sf.prototype.insertUniqueEdge=function(t){var e=this._edgeList.findEqualEdge(t);if(null!==e){var n=e.getLabel(),r=t.getLabel();e.isPointwiseEqual(t)||(r=new Dh(t.getLabel())).flip(),n.merge(r);var i=sf.depthDelta(r),o=e.getDepthDelta()+i;e.setDepthDelta(o)}else this._edgeList.add(t),t.setDepthDelta(sf.depthDelta(t.getLabel()))},sf.prototype.buildSubgraphs=function(t,e){for(var n=new lc,r=t.iterator();r.hasNext();){var i=r.next(),o=i.getRightmostCoordinate(),s=new kp(n).getDepth(o);i.computeDepth(s),i.findResultEdges(),n.add(i),e.add(i.getDirectedEdges(),i.getNodes())}},sf.prototype.createSubgraphs=function(t){for(var e=new lc,n=t.getNodes().iterator();n.hasNext();){var r=n.next();if(!r.isVisited()){var i=new Th;i.create(r),e.add(i)}}return np.sort(e,np.reverseOrder()),e},sf.prototype.createEmptyResultGeometry=function(){return this._geomFact.createPolygon()},sf.prototype.getNoder=function(t){if(null!==this._workingNoder)return this._workingNoder;var e=new Ip,n=new jl;return n.setPrecisionModel(t),e.setSegmentIntersector(new Kp(n)),e},sf.prototype.buffer=function(t,e){var n=this._workingPrecisionModel;null===n&&(n=t.getPrecisionModel()),this._geomFact=t.getFactory();var r=new Fp(n,this._bufParams),i=new zp(t,e,r).getCurves();if(i.size()<=0)return this.createEmptyResultGeometry();this.computeNodedEdges(i,n),this._graph=new Hh(new Hp),this._graph.addEdges(this._edgeList.getEdges());var o=this.createSubgraphs(this._graph),s=new Wh(this._geomFact);this.buildSubgraphs(o,s);var a=s.getPolygons();return a.size()<=0?this.createEmptyResultGeometry():this._geomFact.buildGeometry(a)},sf.prototype.computeNodedEdges=function(t,e){var n=this.getNoder(e);n.computeNodes(t);for(var r=n.getNodedSubstrings().iterator();r.hasNext();){var i=r.next(),o=i.getCoordinates();if(2!==o.length||!o[0].equals2D(o[1])){var s=i.getData(),a=new of(i.getCoordinates(),new Dh(s));this.insertUniqueEdge(a)}}},sf.prototype.setNoder=function(t){this._workingNoder=t},sf.prototype.interfaces_=function(){return[]},sf.prototype.getClass=function(){return sf},sf.depthDelta=function(t){var e=t.getLocation(0,Sh.LEFT),n=t.getLocation(0,Sh.RIGHT);return e===pl.INTERIOR&&n===pl.EXTERIOR?1:e===pl.EXTERIOR&&n===pl.INTERIOR?-1:0},sf.convertSegStrings=function(t){for(var e=new _h,n=new lc;t.hasNext();){var r=t.next(),i=e.createLineString(r.getCoordinates());n.add(i)}return e.buildGeometry(n)};var af=function(){if(this._noder=null,this._scaleFactor=null,this._offsetX=null,this._offsetY=null,this._isScaled=!1,2===arguments.length){var t=arguments[0],e=arguments[1];this._noder=t,this._scaleFactor=e,this._offsetX=0,this._offsetY=0,this._isScaled=!this.isIntegerPrecision()}else if(4===arguments.length){var n=arguments[0],r=arguments[1],i=arguments[2],o=arguments[3];this._noder=n,this._scaleFactor=r,this._offsetX=i,this._offsetY=o,this._isScaled=!this.isIntegerPrecision()}};af.prototype.rescale=function(){var t=this;if(gl(arguments[0],ic))for(var e=arguments[0],n=e.iterator();n.hasNext();){var r=n.next();t.rescale(r.getCoordinates())}else if(arguments[0]instanceof Array){for(var i=arguments[0],o=0;o<i.length;o++)i[o].x=i[o].x/t._scaleFactor+t._offsetX,i[o].y=i[o].y/t._scaleFactor+t._offsetY;2===i.length&&i[0].equals2D(i[1])&&Pl.out.println(i)}},af.prototype.scale=function(){var t=this;if(gl(arguments[0],ic)){for(var e=arguments[0],n=new lc,r=e.iterator();r.hasNext();){var i=r.next();n.add(new yp(t.scale(i.getCoordinates()),i.getData()))}return n}if(arguments[0]instanceof Array){for(var o=arguments[0],s=new Array(o.length).fill(null),a=0;a<o.length;a++)s[a]=new ul(Math.round((o[a].x-t._offsetX)*t._scaleFactor),Math.round((o[a].y-t._offsetY)*t._scaleFactor),o[a].z);var u=pc.removeRepeatedPoints(s);return u}},af.prototype.isIntegerPrecision=function(){return 1===this._scaleFactor},af.prototype.getNodedSubstrings=function(){var t=this._noder.getNodedSubstrings();return this._isScaled&&this.rescale(t),t},af.prototype.computeNodes=function(t){var e=t;this._isScaled&&(e=this.scale(t)),this._noder.computeNodes(e)},af.prototype.interfaces_=function(){return[bp]},af.prototype.getClass=function(){return af};var uf=function(){this._li=new jl,this._segStrings=null;var t=arguments[0];this._segStrings=t},lf={fact:{configurable:!0}};uf.prototype.checkEndPtVertexIntersections=function(){var t=this;if(0===arguments.length)for(var e=this._segStrings.iterator();e.hasNext();){var n=e.next(),r=n.getCoordinates();t.checkEndPtVertexIntersections(r[0],t._segStrings),t.checkEndPtVertexIntersections(r[r.length-1],t._segStrings)}else if(2===arguments.length)for(var i=arguments[0],o=arguments[1],s=o.iterator();s.hasNext();)for(var a=s.next(),u=a.getCoordinates(),l=1;l<u.length-1;l++)if(u[l].equals(i))throw new kl(\"found endpt/interior pt intersection at index \"+l+\" :pt \"+i)},uf.prototype.checkInteriorIntersections=function(){var t=this;if(0===arguments.length)for(var e=this._segStrings.iterator();e.hasNext();)for(var n=e.next(),r=this._segStrings.iterator();r.hasNext();){var i=r.next();t.checkInteriorIntersections(n,i)}else if(2===arguments.length)for(var o=arguments[0],s=arguments[1],a=o.getCoordinates(),u=s.getCoordinates(),l=0;l<a.length-1;l++)for(var c=0;c<u.length-1;c++)t.checkInteriorIntersections(o,l,s,c);else if(4===arguments.length){var h=arguments[0],p=arguments[1],f=arguments[2],g=arguments[3];if(h===f&&p===g)return null;var d=h.getCoordinates()[p],y=h.getCoordinates()[p+1],v=f.getCoordinates()[g],_=f.getCoordinates()[g+1];if(this._li.computeIntersection(d,y,v,_),this._li.hasIntersection()&&(this._li.isProper()||this.hasInteriorIntersection(this._li,d,y)||this.hasInteriorIntersection(this._li,v,_)))throw new kl(\"found non-noded intersection at \"+d+\"-\"+y+\" and \"+v+\"-\"+_)}},uf.prototype.checkValid=function(){this.checkEndPtVertexIntersections(),this.checkInteriorIntersections(),this.checkCollapses()},uf.prototype.checkCollapses=function(){var t=this;if(0===arguments.length)for(var e=this._segStrings.iterator();e.hasNext();){var n=e.next();t.checkCollapses(n)}else if(1===arguments.length)for(var r=arguments[0],i=r.getCoordinates(),o=0;o<i.length-2;o++)t.checkCollapse(i[o],i[o+1],i[o+2])},uf.prototype.hasInteriorIntersection=function(t,e,n){for(var r=0;r<t.getIntersectionNum();r++){var i=t.getIntersection(r);if(!i.equals(e)&&!i.equals(n))return!0}return!1},uf.prototype.checkCollapse=function(t,e,n){if(t.equals(n))throw new kl(\"found non-noded collapse at \"+uf.fact.createLineString([t,e,n]))},uf.prototype.interfaces_=function(){return[]},uf.prototype.getClass=function(){return uf},lf.fact.get=function(){return new _h},Object.defineProperties(uf,lf);var cf=function(){this._li=null,this._pt=null,this._originalPt=null,this._ptScaled=null,this._p0Scaled=null,this._p1Scaled=null,this._scaleFactor=null,this._minx=null,this._maxx=null,this._miny=null,this._maxy=null,this._corner=new Array(4).fill(null),this._safeEnv=null;var t=arguments[0],e=arguments[1],n=arguments[2];if(this._originalPt=t,this._pt=t,this._scaleFactor=e,this._li=n,e<=0)throw new el(\"Scale factor must be non-zero\");1!==e&&(this._pt=new ul(this.scale(t.x),this.scale(t.y)),this._p0Scaled=new ul,this._p1Scaled=new ul),this.initCorners(this._pt)},hf={SAFE_ENV_EXPANSION_FACTOR:{configurable:!0}};cf.prototype.intersectsScaled=function(t,e){var n=Math.min(t.x,e.x),r=Math.max(t.x,e.x),i=Math.min(t.y,e.y),o=Math.max(t.y,e.y),s=this._maxx<n||this._minx>r||this._maxy<i||this._miny>o;if(s)return!1;var a=this.intersectsToleranceSquare(t,e);return ql.isTrue(!(s&&a),\"Found bad envelope test\"),a},cf.prototype.initCorners=function(t){var e=.5;this._minx=t.x-e,this._maxx=t.x+e,this._miny=t.y-e,this._maxy=t.y+e,this._corner[0]=new ul(this._maxx,this._maxy),this._corner[1]=new ul(this._minx,this._maxy),this._corner[2]=new ul(this._minx,this._miny),this._corner[3]=new ul(this._maxx,this._miny)},cf.prototype.intersects=function(t,e){return 1===this._scaleFactor?this.intersectsScaled(t,e):(this.copyScaled(t,this._p0Scaled),this.copyScaled(e,this._p1Scaled),this.intersectsScaled(this._p0Scaled,this._p1Scaled))},cf.prototype.scale=function(t){return Math.round(t*this._scaleFactor)},cf.prototype.getCoordinate=function(){return this._originalPt},cf.prototype.copyScaled=function(t,e){e.x=this.scale(t.x),e.y=this.scale(t.y)},cf.prototype.getSafeEnvelope=function(){if(null===this._safeEnv){var t=cf.SAFE_ENV_EXPANSION_FACTOR/this._scaleFactor;this._safeEnv=new Ll(this._originalPt.x-t,this._originalPt.x+t,this._originalPt.y-t,this._originalPt.y+t)}return this._safeEnv},cf.prototype.intersectsPixelClosure=function(t,e){return this._li.computeIntersection(t,e,this._corner[0],this._corner[1]),!!this._li.hasIntersection()||(this._li.computeIntersection(t,e,this._corner[1],this._corner[2]),!!this._li.hasIntersection()||(this._li.computeIntersection(t,e,this._corner[2],this._corner[3]),!!this._li.hasIntersection()||(this._li.computeIntersection(t,e,this._corner[3],this._corner[0]),!!this._li.hasIntersection())))},cf.prototype.intersectsToleranceSquare=function(t,e){var n=!1,r=!1;return this._li.computeIntersection(t,e,this._corner[0],this._corner[1]),!!this._li.isProper()||(this._li.computeIntersection(t,e,this._corner[1],this._corner[2]),!!this._li.isProper()||(this._li.hasIntersection()&&(n=!0),this._li.computeIntersection(t,e,this._corner[2],this._corner[3]),!!this._li.isProper()||(this._li.hasIntersection()&&(r=!0),this._li.computeIntersection(t,e,this._corner[3],this._corner[0]),!!this._li.isProper()||(!(!n||!r)||(!!t.equals(this._pt)||!!e.equals(this._pt))))))},cf.prototype.addSnappedNode=function(t,e){var n=t.getCoordinate(e),r=t.getCoordinate(e+1);return!!this.intersects(n,r)&&(t.addIntersection(this.getCoordinate(),e),!0)},cf.prototype.interfaces_=function(){return[]},cf.prototype.getClass=function(){return cf},hf.SAFE_ENV_EXPANSION_FACTOR.get=function(){return.75},Object.defineProperties(cf,hf);var pf=function(){this.tempEnv1=new Ll,this.selectedSegment=new vp};pf.prototype.select=function(){if(1===arguments.length);else if(2===arguments.length){var t=arguments[0],e=arguments[1];t.getLineSegment(e,this.selectedSegment),this.select(this.selectedSegment)}},pf.prototype.interfaces_=function(){return[]},pf.prototype.getClass=function(){return pf};var ff=function(){this._index=null;var t=arguments[0];this._index=t},gf={HotPixelSnapAction:{configurable:!0}};ff.prototype.snap=function(){if(1===arguments.length){var t=arguments[0];return this.snap(t,null,-1)}if(3===arguments.length){var e=arguments[0],n=arguments[1],r=arguments[2],i=e.getSafeEnvelope(),o=new df(e,n,r);return this._index.query(i,{interfaces_:function(){return[Qh]},visitItem:function(t){t.select(i,o)}}),o.isNodeAdded()}},ff.prototype.interfaces_=function(){return[]},ff.prototype.getClass=function(){return ff},gf.HotPixelSnapAction.get=function(){return df},Object.defineProperties(ff,gf);var df=function(t){function e(){t.call(this),this._hotPixel=null,this._parentEdge=null,this._hotPixelVertexIndex=null,this._isNodeAdded=!1;var e=arguments[0],n=arguments[1],r=arguments[2];this._hotPixel=e,this._parentEdge=n,this._hotPixelVertexIndex=r}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.isNodeAdded=function(){return this._isNodeAdded},e.prototype.select=function(){if(2!==arguments.length)return t.prototype.select.apply(this,arguments);var e=arguments[0],n=arguments[1],r=e.getContext();if(null!==this._parentEdge&&r===this._parentEdge&&n===this._hotPixelVertexIndex)return null;this._isNodeAdded=this._hotPixel.addSnappedNode(r,n)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(pf),yf=function(){this._li=null,this._interiorIntersections=null;var t=arguments[0];this._li=t,this._interiorIntersections=new lc};yf.prototype.processIntersections=function(t,e,n,r){if(t===n&&e===r)return null;var i=t.getCoordinates()[e],o=t.getCoordinates()[e+1],s=n.getCoordinates()[r],a=n.getCoordinates()[r+1];if(this._li.computeIntersection(i,o,s,a),this._li.hasIntersection()&&this._li.isInteriorIntersection()){for(var u=0;u<this._li.getIntersectionNum();u++)this._interiorIntersections.add(this._li.getIntersection(u));t.addIntersections(this._li,e,0),n.addIntersections(this._li,r,1)}},yf.prototype.isDone=function(){return!1},yf.prototype.getInteriorIntersections=function(){return this._interiorIntersections},yf.prototype.interfaces_=function(){return[Zp]},yf.prototype.getClass=function(){return yf};var vf=function(){this._pm=null,this._li=null,this._scaleFactor=null,this._noder=null,this._pointSnapper=null,this._nodedSegStrings=null;var t=arguments[0];this._pm=t,this._li=new jl,this._li.setPrecisionModel(t),this._scaleFactor=t.getScale()};vf.prototype.checkCorrectness=function(t){var e=yp.getNodedSubstrings(t),n=new uf(e);try{n.checkValid()}catch(t){if(!(t instanceof Sl))throw t;t.printStackTrace()}},vf.prototype.getNodedSubstrings=function(){return yp.getNodedSubstrings(this._nodedSegStrings)},vf.prototype.snapRound=function(t,e){var n=this.findInteriorIntersections(t,e);this.computeIntersectionSnaps(n),this.computeVertexSnaps(t)},vf.prototype.findInteriorIntersections=function(t,e){var n=new yf(e);return this._noder.setSegmentIntersector(n),this._noder.computeNodes(t),n.getInteriorIntersections()},vf.prototype.computeVertexSnaps=function(){var t=this;if(gl(arguments[0],ic))for(var e=arguments[0],n=e.iterator();n.hasNext();){var r=n.next();t.computeVertexSnaps(r)}else if(arguments[0]instanceof yp)for(var i=arguments[0],o=i.getCoordinates(),s=0;s<o.length;s++){var a=new cf(o[s],t._scaleFactor,t._li),u=t._pointSnapper.snap(a,i,s);u&&i.addIntersection(o[s],s)}},vf.prototype.computeNodes=function(t){this._nodedSegStrings=t,this._noder=new Ip,this._pointSnapper=new ff(this._noder.getIndex()),this.snapRound(t,this._li)},vf.prototype.computeIntersectionSnaps=function(t){for(var e=this,n=t.iterator();n.hasNext();){var r=n.next(),i=new cf(r,e._scaleFactor,e._li);e._pointSnapper.snap(i)}},vf.prototype.interfaces_=function(){return[bp]},vf.prototype.getClass=function(){return vf};var _f=function(){if(this._argGeom=null,this._distance=null,this._bufParams=new Sp,this._resultGeometry=null,this._saveException=null,1===arguments.length){var t=arguments[0];this._argGeom=t}else if(2===arguments.length){var e=arguments[0],n=arguments[1];this._argGeom=e,this._bufParams=n}},mf={CAP_ROUND:{configurable:!0},CAP_BUTT:{configurable:!0},CAP_FLAT:{configurable:!0},CAP_SQUARE:{configurable:!0},MAX_PRECISION_DIGITS:{configurable:!0}};_f.prototype.bufferFixedPrecision=function(t){var e=new af(new vf(new gh(1)),t.getScale()),n=new sf(this._bufParams);n.setWorkingPrecisionModel(t),n.setNoder(e),this._resultGeometry=n.buffer(this._argGeom,this._distance)},_f.prototype.bufferReducedPrecision=function(){var t=this;if(0===arguments.length){for(var e=_f.MAX_PRECISION_DIGITS;e>=0;e--){try{t.bufferReducedPrecision(e)}catch(e){if(!(e instanceof Oh))throw e;t._saveException=e}if(null!==t._resultGeometry)return null}throw this._saveException}if(1===arguments.length){var n=arguments[0],r=_f.precisionScaleFactor(this._argGeom,this._distance,n),i=new gh(r);this.bufferFixedPrecision(i)}},_f.prototype.computeGeometry=function(){if(this.bufferOriginalPrecision(),null!==this._resultGeometry)return null;var t=this._argGeom.getFactory().getPrecisionModel();t.getType()===gh.FIXED?this.bufferFixedPrecision(t):this.bufferReducedPrecision()},_f.prototype.setQuadrantSegments=function(t){this._bufParams.setQuadrantSegments(t)},_f.prototype.bufferOriginalPrecision=function(){try{var t=new sf(this._bufParams);this._resultGeometry=t.buffer(this._argGeom,this._distance)}catch(t){if(!(t instanceof kl))throw t;this._saveException=t}},_f.prototype.getResultGeometry=function(t){return this._distance=t,this.computeGeometry(),this._resultGeometry},_f.prototype.setEndCapStyle=function(t){this._bufParams.setEndCapStyle(t)},_f.prototype.interfaces_=function(){return[]},_f.prototype.getClass=function(){return _f},_f.bufferOp=function(){if(2===arguments.length){var t=arguments[0],e=arguments[1],n=new _f(t),r=n.getResultGeometry(e);return r}if(3===arguments.length){if(Number.isInteger(arguments[2])&&arguments[0]instanceof Wl&&\"number\"==typeof arguments[1]){var i=arguments[0],o=arguments[1],s=arguments[2],a=new _f(i);a.setQuadrantSegments(s);var u=a.getResultGeometry(o);return u}if(arguments[2]instanceof Sp&&arguments[0]instanceof Wl&&\"number\"==typeof arguments[1]){var l=arguments[0],c=arguments[1],h=arguments[2],p=new _f(l,h),f=p.getResultGeometry(c);return f}}else if(4===arguments.length){var g=arguments[0],d=arguments[1],y=arguments[2],v=arguments[3],_=new _f(g);_.setQuadrantSegments(y),_.setEndCapStyle(v);var m=_.getResultGeometry(d);return m}},_f.precisionScaleFactor=function(t,e,n){var r=t.getEnvelopeInternal(),i=dl.max(Math.abs(r.getMaxX()),Math.abs(r.getMaxY()),Math.abs(r.getMinX()),Math.abs(r.getMinY()))+2*(e>0?e:0),o=n-Math.trunc(Math.log(i)/Math.log(10)+1);return Math.pow(10,o)},mf.CAP_ROUND.get=function(){return Sp.CAP_ROUND},mf.CAP_BUTT.get=function(){return Sp.CAP_FLAT},mf.CAP_FLAT.get=function(){return Sp.CAP_FLAT},mf.CAP_SQUARE.get=function(){return Sp.CAP_SQUARE},mf.MAX_PRECISION_DIGITS.get=function(){return 12},Object.defineProperties(_f,mf);var xf=function(){this._pt=[new ul,new ul],this._distance=nl.NaN,this._isNull=!0};xf.prototype.getCoordinates=function(){return this._pt},xf.prototype.getCoordinate=function(t){return this._pt[t]},xf.prototype.setMinimum=function(){if(1===arguments.length){var t=arguments[0];this.setMinimum(t._pt[0],t._pt[1])}else if(2===arguments.length){var e=arguments[0],n=arguments[1];if(this._isNull)return this.initialize(e,n),null;var r=e.distance(n);r<this._distance&&this.initialize(e,n,r)}},xf.prototype.initialize=function(){if(0===arguments.length)this._isNull=!0;else if(2===arguments.length){var t=arguments[0],e=arguments[1];this._pt[0].setCoordinate(t),this._pt[1].setCoordinate(e),this._distance=t.distance(e),this._isNull=!1}else if(3===arguments.length){var n=arguments[0],r=arguments[1],i=arguments[2];this._pt[0].setCoordinate(n),this._pt[1].setCoordinate(r),this._distance=i,this._isNull=!1}},xf.prototype.getDistance=function(){return this._distance},xf.prototype.setMaximum=function(){if(1===arguments.length){var t=arguments[0];this.setMaximum(t._pt[0],t._pt[1])}else if(2===arguments.length){var e=arguments[0],n=arguments[1];if(this._isNull)return this.initialize(e,n),null;var r=e.distance(n);r>this._distance&&this.initialize(e,n,r)}},xf.prototype.interfaces_=function(){return[]},xf.prototype.getClass=function(){return xf};var Ef=function(){};Ef.prototype.interfaces_=function(){return[]},Ef.prototype.getClass=function(){return Ef},Ef.computeDistance=function(){if(arguments[2]instanceof xf&&arguments[0]instanceof Zc&&arguments[1]instanceof ul)for(var t=arguments[0],e=arguments[1],n=arguments[2],r=t.getCoordinates(),i=new vp,o=0;o<r.length-1;o++){i.setCoordinates(r[o],r[o+1]);var s=i.closestPoint(e);n.setMinimum(s,e)}else if(arguments[2]instanceof xf&&arguments[0]instanceof th&&arguments[1]instanceof ul){var a=arguments[0],u=arguments[1],l=arguments[2];Ef.computeDistance(a.getExteriorRing(),u,l);for(var c=0;c<a.getNumInteriorRing();c++)Ef.computeDistance(a.getInteriorRingN(c),u,l)}else if(arguments[2]instanceof xf&&arguments[0]instanceof Wl&&arguments[1]instanceof ul){var h=arguments[0],p=arguments[1],f=arguments[2];if(h instanceof Zc)Ef.computeDistance(h,p,f);else if(h instanceof th)Ef.computeDistance(h,p,f);else if(h instanceof kc)for(var g=h,d=0;d<g.getNumGeometries();d++){var y=g.getGeometryN(d);Ef.computeDistance(y,p,f)}else f.setMinimum(h.getCoordinate(),p)}else if(arguments[2]instanceof xf&&arguments[0]instanceof vp&&arguments[1]instanceof ul){var v=arguments[0],_=arguments[1],m=arguments[2],x=v.closestPoint(_);m.setMinimum(x,_)}};var bf=function(t){this._maxPtDist=new xf,this._inputGeom=t||null},wf={MaxPointDistanceFilter:{configurable:!0},MaxMidpointDistanceFilter:{configurable:!0}};bf.prototype.computeMaxMidpointDistance=function(t){var e=new Nf(this._inputGeom);t.apply(e),this._maxPtDist.setMaximum(e.getMaxPointDistance())},bf.prototype.computeMaxVertexDistance=function(t){var e=new If(this._inputGeom);t.apply(e),this._maxPtDist.setMaximum(e.getMaxPointDistance())},bf.prototype.findDistance=function(t){return this.computeMaxVertexDistance(t),this.computeMaxMidpointDistance(t),this._maxPtDist.getDistance()},bf.prototype.getDistancePoints=function(){return this._maxPtDist},bf.prototype.interfaces_=function(){return[]},bf.prototype.getClass=function(){return bf},wf.MaxPointDistanceFilter.get=function(){return If},wf.MaxMidpointDistanceFilter.get=function(){return Nf},Object.defineProperties(bf,wf);var If=function(t){this._maxPtDist=new xf,this._minPtDist=new xf,this._geom=t||null};If.prototype.filter=function(t){this._minPtDist.initialize(),Ef.computeDistance(this._geom,t,this._minPtDist),this._maxPtDist.setMaximum(this._minPtDist)},If.prototype.getMaxPointDistance=function(){return this._maxPtDist},If.prototype.interfaces_=function(){return[Kl]},If.prototype.getClass=function(){return If};var Nf=function(t){this._maxPtDist=new xf,this._minPtDist=new xf,this._geom=t||null};Nf.prototype.filter=function(t,e){if(0===e)return null;var n=t.getCoordinate(e-1),r=t.getCoordinate(e),i=new ul((n.x+r.x)/2,(n.y+r.y)/2);this._minPtDist.initialize(),Ef.computeDistance(this._geom,i,this._minPtDist),this._maxPtDist.setMaximum(this._minPtDist)},Nf.prototype.isDone=function(){return!1},Nf.prototype.isGeometryChanged=function(){return!1},Nf.prototype.getMaxPointDistance=function(){return this._maxPtDist},Nf.prototype.interfaces_=function(){return[Fc]},Nf.prototype.getClass=function(){return Nf};var Sf=function(t){this._comps=t||null};Sf.prototype.filter=function(t){t instanceof th&&this._comps.add(t)},Sf.prototype.interfaces_=function(){return[Dc]},Sf.prototype.getClass=function(){return Sf},Sf.getPolygons=function(){if(1===arguments.length){var t=arguments[0];return Sf.getPolygons(t,new lc)}if(2===arguments.length){var e=arguments[0],n=arguments[1];return e instanceof th?n.add(e):e instanceof kc&&e.apply(new Sf(n)),n}};var Cf=function(){if(this._lines=null,this._isForcedToLineString=!1,1===arguments.length){var t=arguments[0];this._lines=t}else if(2===arguments.length){var e=arguments[0],n=arguments[1];this._lines=e,this._isForcedToLineString=n}};Cf.prototype.filter=function(t){if(this._isForcedToLineString&&t instanceof nh){var e=t.getFactory().createLineString(t.getCoordinateSequence());return this._lines.add(e),null}t instanceof Zc&&this._lines.add(t)},Cf.prototype.setForceToLineString=function(t){this._isForcedToLineString=t},Cf.prototype.interfaces_=function(){return[Hl]},Cf.prototype.getClass=function(){return Cf},Cf.getGeometry=function(){if(1===arguments.length){var t=arguments[0];return t.getFactory().buildGeometry(Cf.getLines(t))}if(2===arguments.length){var e=arguments[0],n=arguments[1];return e.getFactory().buildGeometry(Cf.getLines(e,n))}},Cf.getLines=function(){if(1===arguments.length){var t=arguments[0];return Cf.getLines(t,!1)}if(2===arguments.length){if(gl(arguments[0],ic)&&gl(arguments[1],ic)){for(var e=arguments[0],n=arguments[1],r=e.iterator();r.hasNext();){var i=r.next();Cf.getLines(i,n)}return n}if(arguments[0]instanceof Wl&&\"boolean\"==typeof arguments[1]){var o=arguments[0],s=arguments[1],a=new lc;return o.apply(new Cf(a,s)),a}if(arguments[0]instanceof Wl&&gl(arguments[1],ic)){var u=arguments[0],l=arguments[1];return u instanceof Zc?l.add(u):u.apply(new Cf(l)),l}}else if(3===arguments.length){if(\"boolean\"==typeof arguments[2]&&gl(arguments[0],ic)&&gl(arguments[1],ic)){for(var c=arguments[0],h=arguments[1],p=arguments[2],f=c.iterator();f.hasNext();){var g=f.next();Cf.getLines(g,h,p)}return h}if(\"boolean\"==typeof arguments[2]&&arguments[0]instanceof Wl&&gl(arguments[1],ic)){var d=arguments[0],y=arguments[1],v=arguments[2];return d.apply(new Cf(y,v)),y}}};var Pf=function(){if(this._boundaryRule=Ql.OGC_SFS_BOUNDARY_RULE,this._isIn=null,this._numBoundaries=null,0===arguments.length);else if(1===arguments.length){var t=arguments[0];if(null===t)throw new el(\"Rule must be non-null\");this._boundaryRule=t}};Pf.prototype.locateInternal=function(){var t=this;if(arguments[0]instanceof ul&&arguments[1]instanceof th){var e=arguments[0],n=arguments[1];if(n.isEmpty())return pl.EXTERIOR;var r=n.getExteriorRing(),i=this.locateInPolygonRing(e,r);if(i===pl.EXTERIOR)return pl.EXTERIOR;if(i===pl.BOUNDARY)return pl.BOUNDARY;for(var o=0;o<n.getNumInteriorRing();o++){var s=n.getInteriorRingN(o),a=t.locateInPolygonRing(e,s);if(a===pl.INTERIOR)return pl.EXTERIOR;if(a===pl.BOUNDARY)return pl.BOUNDARY}return pl.INTERIOR}if(arguments[0]instanceof ul&&arguments[1]instanceof Zc){var u=arguments[0],l=arguments[1];if(!l.getEnvelopeInternal().intersects(u))return pl.EXTERIOR;var c=l.getCoordinates();return l.isClosed()||!u.equals(c[0])&&!u.equals(c[c.length-1])?Xl.isOnLine(u,c)?pl.INTERIOR:pl.EXTERIOR:pl.BOUNDARY}if(arguments[0]instanceof ul&&arguments[1]instanceof Qc){var h=arguments[0],p=arguments[1],f=p.getCoordinate();return f.equals2D(h)?pl.INTERIOR:pl.EXTERIOR}},Pf.prototype.locateInPolygonRing=function(t,e){return e.getEnvelopeInternal().intersects(t)?Xl.locatePointInRing(t,e.getCoordinates()):pl.EXTERIOR},Pf.prototype.intersects=function(t,e){return this.locate(t,e)!==pl.EXTERIOR},Pf.prototype.updateLocationInfo=function(t){t===pl.INTERIOR&&(this._isIn=!0),t===pl.BOUNDARY&&this._numBoundaries++},Pf.prototype.computeLocation=function(t,e){var n=this;if(e instanceof Qc&&this.updateLocationInfo(this.locateInternal(t,e)),e instanceof Zc)this.updateLocationInfo(this.locateInternal(t,e));else if(e instanceof th)this.updateLocationInfo(this.locateInternal(t,e));else if(e instanceof Gc)for(var r=e,i=0;i<r.getNumGeometries();i++){var o=r.getGeometryN(i);n.updateLocationInfo(n.locateInternal(t,o))}else if(e instanceof rh)for(var s=e,a=0;a<s.getNumGeometries();a++){var u=s.getGeometryN(a);n.updateLocationInfo(n.locateInternal(t,u))}else if(e instanceof kc)for(var l=new Up(e);l.hasNext();){var c=l.next();c!==e&&n.computeLocation(t,c)}},Pf.prototype.locate=function(t,e){return e.isEmpty()?pl.EXTERIOR:e instanceof Zc||e instanceof th?this.locateInternal(t,e):(this._isIn=!1,this._numBoundaries=0,this.computeLocation(t,e),this._boundaryRule.isInBoundary(this._numBoundaries)?pl.BOUNDARY:this._numBoundaries>0||this._isIn?pl.INTERIOR:pl.EXTERIOR)},Pf.prototype.interfaces_=function(){return[]},Pf.prototype.getClass=function(){return Pf};var Mf=function t(){if(this._component=null,this._segIndex=null,this._pt=null,2===arguments.length){var e=arguments[0],n=arguments[1];t.call(this,e,t.INSIDE_AREA,n)}else if(3===arguments.length){var r=arguments[0],i=arguments[1],o=arguments[2];this._component=r,this._segIndex=i,this._pt=o}},Lf={INSIDE_AREA:{configurable:!0}};Mf.prototype.isInsideArea=function(){return this._segIndex===Mf.INSIDE_AREA},Mf.prototype.getCoordinate=function(){return this._pt},Mf.prototype.getGeometryComponent=function(){return this._component},Mf.prototype.getSegmentIndex=function(){return this._segIndex},Mf.prototype.interfaces_=function(){return[]},Mf.prototype.getClass=function(){return Mf},Lf.INSIDE_AREA.get=function(){return-1},Object.defineProperties(Mf,Lf);var Of=function(t){this._pts=t||null};Of.prototype.filter=function(t){t instanceof Qc&&this._pts.add(t)},Of.prototype.interfaces_=function(){return[Dc]},Of.prototype.getClass=function(){return Of},Of.getPoints=function(){if(1===arguments.length){var t=arguments[0];return t instanceof Qc?np.singletonList(t):Of.getPoints(t,new lc)}if(2===arguments.length){var e=arguments[0],n=arguments[1];return e instanceof Qc?n.add(e):e instanceof kc&&e.apply(new Of(n)),n}};var Rf=function(){this._locations=null;var t=arguments[0];this._locations=t};Rf.prototype.filter=function(t){(t instanceof Qc||t instanceof Zc||t instanceof th)&&this._locations.add(new Mf(t,0,t.getCoordinate()))},Rf.prototype.interfaces_=function(){return[Dc]},Rf.prototype.getClass=function(){return Rf},Rf.getLocations=function(t){var e=new lc;return t.apply(new Rf(e)),e};var Tf=function(){if(this._geom=null,this._terminateDistance=0,this._ptLocator=new Pf,this._minDistanceLocation=null,this._minDistance=nl.MAX_VALUE,2===arguments.length){var t=arguments[0],e=arguments[1];this._geom=[t,e],this._terminateDistance=0}else if(3===arguments.length){var n=arguments[0],r=arguments[1],i=arguments[2];this._geom=new Array(2).fill(null),this._geom[0]=n,this._geom[1]=r,this._terminateDistance=i}};Tf.prototype.computeContainmentDistance=function(){var t=this;if(0===arguments.length){var e=new Array(2).fill(null);if(this.computeContainmentDistance(0,e),this._minDistance<=this._terminateDistance)return null;this.computeContainmentDistance(1,e)}else if(2===arguments.length){var n=arguments[0],r=arguments[1],i=1-n,o=Sf.getPolygons(this._geom[n]);if(o.size()>0){var s=Rf.getLocations(this._geom[i]);if(this.computeContainmentDistance(s,o,r),this._minDistance<=this._terminateDistance)return this._minDistanceLocation[i]=r[0],this._minDistanceLocation[n]=r[1],null}}else if(3===arguments.length)if(arguments[2]instanceof Array&&gl(arguments[0],ac)&&gl(arguments[1],ac)){for(var a=arguments[0],u=arguments[1],l=arguments[2],c=0;c<a.size();c++)for(var h=a.get(c),p=0;p<u.size();p++)if(t.computeContainmentDistance(h,u.get(p),l),t._minDistance<=t._terminateDistance)return null}else if(arguments[2]instanceof Array&&arguments[0]instanceof Mf&&arguments[1]instanceof th){var f=arguments[0],g=arguments[1],d=arguments[2],y=f.getCoordinate();if(pl.EXTERIOR!==this._ptLocator.locate(y,g))return this._minDistance=0,d[0]=f,d[1]=new Mf(g,y),null}},Tf.prototype.computeMinDistanceLinesPoints=function(t,e,n){for(var r=this,i=0;i<t.size();i++)for(var o=t.get(i),s=0;s<e.size();s++){var a=e.get(s);if(r.computeMinDistance(o,a,n),r._minDistance<=r._terminateDistance)return null}},Tf.prototype.computeFacetDistance=function(){var t=new Array(2).fill(null),e=Cf.getLines(this._geom[0]),n=Cf.getLines(this._geom[1]),r=Of.getPoints(this._geom[0]),i=Of.getPoints(this._geom[1]);return this.computeMinDistanceLines(e,n,t),this.updateMinDistance(t,!1),this._minDistance<=this._terminateDistance?null:(t[0]=null,t[1]=null,this.computeMinDistanceLinesPoints(e,i,t),this.updateMinDistance(t,!1),this._minDistance<=this._terminateDistance?null:(t[0]=null,t[1]=null,this.computeMinDistanceLinesPoints(n,r,t),this.updateMinDistance(t,!0),this._minDistance<=this._terminateDistance?null:(t[0]=null,t[1]=null,this.computeMinDistancePoints(r,i,t),void this.updateMinDistance(t,!1))))},Tf.prototype.nearestLocations=function(){return this.computeMinDistance(),this._minDistanceLocation},Tf.prototype.updateMinDistance=function(t,e){if(null===t[0])return null;e?(this._minDistanceLocation[0]=t[1],this._minDistanceLocation[1]=t[0]):(this._minDistanceLocation[0]=t[0],this._minDistanceLocation[1]=t[1])},Tf.prototype.nearestPoints=function(){return this.computeMinDistance(),[this._minDistanceLocation[0].getCoordinate(),this._minDistanceLocation[1].getCoordinate()]},Tf.prototype.computeMinDistance=function(){var t=this;if(0===arguments.length){if(null!==this._minDistanceLocation)return null;if(this._minDistanceLocation=new Array(2).fill(null),this.computeContainmentDistance(),this._minDistance<=this._terminateDistance)return null;this.computeFacetDistance()}else if(3===arguments.length)if(arguments[2]instanceof Array&&arguments[0]instanceof Zc&&arguments[1]instanceof Qc){var e=arguments[0],n=arguments[1],r=arguments[2];if(e.getEnvelopeInternal().distance(n.getEnvelopeInternal())>this._minDistance)return null;for(var i=e.getCoordinates(),o=n.getCoordinate(),s=0;s<i.length-1;s++){var a=Xl.distancePointLine(o,i[s],i[s+1]);if(a<t._minDistance){t._minDistance=a;var u=new vp(i[s],i[s+1]),l=u.closestPoint(o);r[0]=new Mf(e,s,l),r[1]=new Mf(n,0,o)}if(t._minDistance<=t._terminateDistance)return null}}else if(arguments[2]instanceof Array&&arguments[0]instanceof Zc&&arguments[1]instanceof Zc){var c=arguments[0],h=arguments[1],p=arguments[2];if(c.getEnvelopeInternal().distance(h.getEnvelopeInternal())>this._minDistance)return null;for(var f=c.getCoordinates(),g=h.getCoordinates(),d=0;d<f.length-1;d++)for(var y=0;y<g.length-1;y++){var v=Xl.distanceLineLine(f[d],f[d+1],g[y],g[y+1]);if(v<t._minDistance){t._minDistance=v;var _=new vp(f[d],f[d+1]),m=new vp(g[y],g[y+1]),x=_.closestPoints(m);p[0]=new Mf(c,d,x[0]),p[1]=new Mf(h,y,x[1])}if(t._minDistance<=t._terminateDistance)return null}}},Tf.prototype.computeMinDistancePoints=function(t,e,n){for(var r=this,i=0;i<t.size();i++)for(var o=t.get(i),s=0;s<e.size();s++){var a=e.get(s),u=o.getCoordinate().distance(a.getCoordinate());if(u<r._minDistance&&(r._minDistance=u,n[0]=new Mf(o,0,o.getCoordinate()),n[1]=new Mf(a,0,a.getCoordinate())),r._minDistance<=r._terminateDistance)return null}},Tf.prototype.distance=function(){if(null===this._geom[0]||null===this._geom[1])throw new el(\"null geometries are not supported\");return this._geom[0].isEmpty()||this._geom[1].isEmpty()?0:(this.computeMinDistance(),this._minDistance)},Tf.prototype.computeMinDistanceLines=function(t,e,n){for(var r=this,i=0;i<t.size();i++)for(var o=t.get(i),s=0;s<e.size();s++){var a=e.get(s);if(r.computeMinDistance(o,a,n),r._minDistance<=r._terminateDistance)return null}},Tf.prototype.interfaces_=function(){return[]},Tf.prototype.getClass=function(){return Tf},Tf.distance=function(t,e){return new Tf(t,e).distance()},Tf.isWithinDistance=function(t,e,n){return new Tf(t,e,n).distance()<=n},Tf.nearestPoints=function(t,e){return new Tf(t,e).nearestPoints()};var Af=function(){this._pt=[new ul,new ul],this._distance=nl.NaN,this._isNull=!0};Af.prototype.getCoordinates=function(){return this._pt},Af.prototype.getCoordinate=function(t){return this._pt[t]},Af.prototype.setMinimum=function(){if(1===arguments.length){var t=arguments[0];this.setMinimum(t._pt[0],t._pt[1])}else if(2===arguments.length){var e=arguments[0],n=arguments[1];if(this._isNull)return this.initialize(e,n),null;var r=e.distance(n);r<this._distance&&this.initialize(e,n,r)}},Af.prototype.initialize=function(){if(0===arguments.length)this._isNull=!0;else if(2===arguments.length){var t=arguments[0],e=arguments[1];this._pt[0].setCoordinate(t),this._pt[1].setCoordinate(e),this._distance=t.distance(e),this._isNull=!1}else if(3===arguments.length){var n=arguments[0],r=arguments[1],i=arguments[2];this._pt[0].setCoordinate(n),this._pt[1].setCoordinate(r),this._distance=i,this._isNull=!1}},Af.prototype.toString=function(){return Fl.toLineString(this._pt[0],this._pt[1])},Af.prototype.getDistance=function(){return this._distance},Af.prototype.setMaximum=function(){if(1===arguments.length){var t=arguments[0];this.setMaximum(t._pt[0],t._pt[1])}else if(2===arguments.length){var e=arguments[0],n=arguments[1];if(this._isNull)return this.initialize(e,n),null;var r=e.distance(n);r>this._distance&&this.initialize(e,n,r)}},Af.prototype.interfaces_=function(){return[]},Af.prototype.getClass=function(){return Af};var Df=function(){};Df.prototype.interfaces_=function(){return[]},Df.prototype.getClass=function(){return Df},Df.computeDistance=function(){if(arguments[2]instanceof Af&&arguments[0]instanceof Zc&&arguments[1]instanceof ul)for(var t=arguments[0],e=arguments[1],n=arguments[2],r=new vp,i=t.getCoordinates(),o=0;o<i.length-1;o++){r.setCoordinates(i[o],i[o+1]);var s=r.closestPoint(e);n.setMinimum(s,e)}else if(arguments[2]instanceof Af&&arguments[0]instanceof th&&arguments[1]instanceof ul){var a=arguments[0],u=arguments[1],l=arguments[2];Df.computeDistance(a.getExteriorRing(),u,l);for(var c=0;c<a.getNumInteriorRing();c++)Df.computeDistance(a.getInteriorRingN(c),u,l)}else if(arguments[2]instanceof Af&&arguments[0]instanceof Wl&&arguments[1]instanceof ul){var h=arguments[0],p=arguments[1],f=arguments[2];if(h instanceof Zc)Df.computeDistance(h,p,f);else if(h instanceof th)Df.computeDistance(h,p,f);else if(h instanceof kc)for(var g=h,d=0;d<g.getNumGeometries();d++){var y=g.getGeometryN(d);Df.computeDistance(y,p,f)}else f.setMinimum(h.getCoordinate(),p)}else if(arguments[2]instanceof Af&&arguments[0]instanceof vp&&arguments[1]instanceof ul){var v=arguments[0],_=arguments[1],m=arguments[2],x=v.closestPoint(_);m.setMinimum(x,_)}};var Ff=function(){this._g0=null,this._g1=null,this._ptDist=new Af,this._densifyFrac=0;var t=arguments[0],e=arguments[1];this._g0=t,this._g1=e},kf={MaxPointDistanceFilter:{configurable:!0},MaxDensifiedByFractionDistanceFilter:{configurable:!0}};Ff.prototype.getCoordinates=function(){return this._ptDist.getCoordinates()},Ff.prototype.setDensifyFraction=function(t){if(t>1||t<=0)throw new el(\"Fraction is not in range (0.0 - 1.0]\");this._densifyFrac=t},Ff.prototype.compute=function(t,e){this.computeOrientedDistance(t,e,this._ptDist),this.computeOrientedDistance(e,t,this._ptDist)},Ff.prototype.distance=function(){return this.compute(this._g0,this._g1),this._ptDist.getDistance()},Ff.prototype.computeOrientedDistance=function(t,e,n){var r=new Gf(e);if(t.apply(r),n.setMaximum(r.getMaxPointDistance()),this._densifyFrac>0){var i=new qf(e,this._densifyFrac);t.apply(i),n.setMaximum(i.getMaxPointDistance())}},Ff.prototype.orientedDistance=function(){return this.computeOrientedDistance(this._g0,this._g1,this._ptDist),this._ptDist.getDistance()},Ff.prototype.interfaces_=function(){return[]},Ff.prototype.getClass=function(){return Ff},Ff.distance=function(){if(2===arguments.length){var t=arguments[0],e=arguments[1],n=new Ff(t,e);return n.distance()}if(3===arguments.length){var r=arguments[0],i=arguments[1],o=arguments[2],s=new Ff(r,i);return s.setDensifyFraction(o),s.distance()}},kf.MaxPointDistanceFilter.get=function(){return Gf},kf.MaxDensifiedByFractionDistanceFilter.get=function(){return qf},Object.defineProperties(Ff,kf);var Gf=function(){this._maxPtDist=new Af,this._minPtDist=new Af,this._euclideanDist=new Df,this._geom=null;var t=arguments[0];this._geom=t};Gf.prototype.filter=function(t){this._minPtDist.initialize(),Df.computeDistance(this._geom,t,this._minPtDist),this._maxPtDist.setMaximum(this._minPtDist)},Gf.prototype.getMaxPointDistance=function(){return this._maxPtDist},Gf.prototype.interfaces_=function(){return[Kl]},Gf.prototype.getClass=function(){return Gf};var qf=function(){this._maxPtDist=new Af,this._minPtDist=new Af,this._geom=null,this._numSubSegs=0;var t=arguments[0],e=arguments[1];this._geom=t,this._numSubSegs=Math.trunc(Math.round(1/e))};qf.prototype.filter=function(t,e){var n=this;if(0===e)return null;for(var r=t.getCoordinate(e-1),i=t.getCoordinate(e),o=(i.x-r.x)/this._numSubSegs,s=(i.y-r.y)/this._numSubSegs,a=0;a<this._numSubSegs;a++){var u=r.x+a*o,l=r.y+a*s,c=new ul(u,l);n._minPtDist.initialize(),Df.computeDistance(n._geom,c,n._minPtDist),n._maxPtDist.setMaximum(n._minPtDist)}},qf.prototype.isDone=function(){return!1},qf.prototype.isGeometryChanged=function(){return!1},qf.prototype.getMaxPointDistance=function(){return this._maxPtDist},qf.prototype.interfaces_=function(){return[Fc]},qf.prototype.getClass=function(){return qf};var Bf=function(t,e,n){this._minValidDistance=null,this._maxValidDistance=null,this._minDistanceFound=null,this._maxDistanceFound=null,this._isValid=!0,this._errMsg=null,this._errorLocation=null,this._errorIndicator=null,this._input=t||null,this._bufDistance=e||null,this._result=n||null},zf={VERBOSE:{configurable:!0},MAX_DISTANCE_DIFF_FRAC:{configurable:!0}};Bf.prototype.checkMaximumDistance=function(t,e,n){var r=new Ff(e,t);if(r.setDensifyFraction(.25),this._maxDistanceFound=r.orientedDistance(),this._maxDistanceFound>n){this._isValid=!1;var i=r.getCoordinates();this._errorLocation=i[1],this._errorIndicator=t.getFactory().createLineString(i),this._errMsg=\"Distance between buffer curve and input is too large (\"+this._maxDistanceFound+\" at \"+Fl.toLineString(i[0],i[1])+\")\"}},Bf.prototype.isValid=function(){var t=Math.abs(this._bufDistance),e=Bf.MAX_DISTANCE_DIFF_FRAC*t;return this._minValidDistance=t-e,this._maxValidDistance=t+e,!(!this._input.isEmpty()&&!this._result.isEmpty())||(this._bufDistance>0?this.checkPositiveValid():this.checkNegativeValid(),Bf.VERBOSE&&Pl.out.println(\"Min Dist= \"+this._minDistanceFound+\"  err= \"+(1-this._minDistanceFound/this._bufDistance)+\"  Max Dist= \"+this._maxDistanceFound+\"  err= \"+(this._maxDistanceFound/this._bufDistance-1)),this._isValid)},Bf.prototype.checkNegativeValid=function(){if(!(this._input instanceof th||this._input instanceof rh||this._input instanceof kc))return null;var t=this.getPolygonLines(this._input);if(this.checkMinimumDistance(t,this._result,this._minValidDistance),!this._isValid)return null;this.checkMaximumDistance(t,this._result,this._maxValidDistance)},Bf.prototype.getErrorIndicator=function(){return this._errorIndicator},Bf.prototype.checkMinimumDistance=function(t,e,n){var r=new Tf(t,e,n);if(this._minDistanceFound=r.distance(),this._minDistanceFound<n){this._isValid=!1;var i=r.nearestPoints();this._errorLocation=r.nearestPoints()[1],this._errorIndicator=t.getFactory().createLineString(i),this._errMsg=\"Distance between buffer curve and input is too small (\"+this._minDistanceFound+\" at \"+Fl.toLineString(i[0],i[1])+\" )\"}},Bf.prototype.checkPositiveValid=function(){var t=this._result.getBoundary();if(this.checkMinimumDistance(this._input,t,this._minValidDistance),!this._isValid)return null;this.checkMaximumDistance(this._input,t,this._maxValidDistance)},Bf.prototype.getErrorLocation=function(){return this._errorLocation},Bf.prototype.getPolygonLines=function(t){for(var e=new lc,n=new Cf(e),r=Sf.getPolygons(t).iterator();r.hasNext();){r.next().apply(n)}return t.getFactory().buildGeometry(e)},Bf.prototype.getErrorMessage=function(){return this._errMsg},Bf.prototype.interfaces_=function(){return[]},Bf.prototype.getClass=function(){return Bf},zf.VERBOSE.get=function(){return!1},zf.MAX_DISTANCE_DIFF_FRAC.get=function(){return.012},Object.defineProperties(Bf,zf);var jf=function(t,e,n){this._isValid=!0,this._errorMsg=null,this._errorLocation=null,this._errorIndicator=null,this._input=t||null,this._distance=e||null,this._result=n||null},Uf={VERBOSE:{configurable:!0},MAX_ENV_DIFF_FRAC:{configurable:!0}};jf.prototype.isValid=function(){return this.checkPolygonal(),this._isValid?(this.checkExpectedEmpty(),this._isValid?(this.checkEnvelope(),this._isValid?(this.checkArea(),this._isValid?(this.checkDistance(),this._isValid):this._isValid):this._isValid):this._isValid):this._isValid},jf.prototype.checkEnvelope=function(){if(this._distance<0)return null;var t=this._distance*jf.MAX_ENV_DIFF_FRAC;0===t&&(t=.001);var e=new Ll(this._input.getEnvelopeInternal());e.expandBy(this._distance);var n=new Ll(this._result.getEnvelopeInternal());n.expandBy(t),n.contains(e)||(this._isValid=!1,this._errorMsg=\"Buffer envelope is incorrect\",this._errorIndicator=this._input.getFactory().toGeometry(n)),this.report(\"Envelope\")},jf.prototype.checkDistance=function(){var t=new Bf(this._input,this._distance,this._result);t.isValid()||(this._isValid=!1,this._errorMsg=t.getErrorMessage(),this._errorLocation=t.getErrorLocation(),this._errorIndicator=t.getErrorIndicator()),this.report(\"Distance\")},jf.prototype.checkArea=function(){var t=this._input.getArea(),e=this._result.getArea();this._distance>0&&t>e&&(this._isValid=!1,this._errorMsg=\"Area of positive buffer is smaller than input\",this._errorIndicator=this._result),this._distance<0&&t<e&&(this._isValid=!1,this._errorMsg=\"Area of negative buffer is larger than input\",this._errorIndicator=this._result),this.report(\"Area\")},jf.prototype.checkPolygonal=function(){this._result instanceof th||this._result instanceof rh||(this._isValid=!1),this._errorMsg=\"Result is not polygonal\",this._errorIndicator=this._result,this.report(\"Polygonal\")},jf.prototype.getErrorIndicator=function(){return this._errorIndicator},jf.prototype.getErrorLocation=function(){return this._errorLocation},jf.prototype.checkExpectedEmpty=function(){return this._input.getDimension()>=2||this._distance>0?null:(this._result.isEmpty()||(this._isValid=!1,this._errorMsg=\"Result is non-empty\",this._errorIndicator=this._result),void this.report(\"ExpectedEmpty\"))},jf.prototype.report=function(t){if(!jf.VERBOSE)return null;Pl.out.println(\"Check \"+t+\": \"+(this._isValid?\"passed\":\"FAILED\"))},jf.prototype.getErrorMessage=function(){return this._errorMsg},jf.prototype.interfaces_=function(){return[]},jf.prototype.getClass=function(){return jf},jf.isValidMsg=function(t,e,n){var r=new jf(t,e,n);return r.isValid()?null:r.getErrorMessage()},jf.isValid=function(t,e,n){return!!new jf(t,e,n).isValid()},Uf.VERBOSE.get=function(){return!1},Uf.MAX_ENV_DIFF_FRAC.get=function(){return.012},Object.defineProperties(jf,Uf);var Vf=function(){this._pts=null,this._data=null;var t=arguments[0],e=arguments[1];this._pts=t,this._data=e};Vf.prototype.getCoordinates=function(){return this._pts},Vf.prototype.size=function(){return this._pts.length},Vf.prototype.getCoordinate=function(t){return this._pts[t]},Vf.prototype.isClosed=function(){return this._pts[0].equals(this._pts[this._pts.length-1])},Vf.prototype.getSegmentOctant=function(t){return t===this._pts.length-1?-1:fp.octant(this.getCoordinate(t),this.getCoordinate(t+1))},Vf.prototype.setData=function(t){this._data=t},Vf.prototype.getData=function(){return this._data},Vf.prototype.toString=function(){return Fl.toLineString(new lh(this._pts))},Vf.prototype.interfaces_=function(){return[gp]},Vf.prototype.getClass=function(){return Vf};var Xf=function(){this._findAllIntersections=!1,this._isCheckEndSegmentsOnly=!1,this._li=null,this._interiorIntersection=null,this._intSegments=null,this._intersections=new lc,this._intersectionCount=0,this._keepIntersections=!0;var t=arguments[0];this._li=t,this._interiorIntersection=null};Xf.prototype.getInteriorIntersection=function(){return this._interiorIntersection},Xf.prototype.setCheckEndSegmentsOnly=function(t){this._isCheckEndSegmentsOnly=t},Xf.prototype.getIntersectionSegments=function(){return this._intSegments},Xf.prototype.count=function(){return this._intersectionCount},Xf.prototype.getIntersections=function(){return this._intersections},Xf.prototype.setFindAllIntersections=function(t){this._findAllIntersections=t},Xf.prototype.setKeepIntersections=function(t){this._keepIntersections=t},Xf.prototype.processIntersections=function(t,e,n,r){if(!this._findAllIntersections&&this.hasIntersection())return null;if(t===n&&e===r)return null;if(this._isCheckEndSegmentsOnly&&!(this.isEndSegment(t,e)||this.isEndSegment(n,r)))return null;var i=t.getCoordinates()[e],o=t.getCoordinates()[e+1],s=n.getCoordinates()[r],a=n.getCoordinates()[r+1];this._li.computeIntersection(i,o,s,a),this._li.hasIntersection()&&this._li.isInteriorIntersection()&&(this._intSegments=new Array(4).fill(null),this._intSegments[0]=i,this._intSegments[1]=o,this._intSegments[2]=s,this._intSegments[3]=a,this._interiorIntersection=this._li.getIntersection(0),this._keepIntersections&&this._intersections.add(this._interiorIntersection),this._intersectionCount++)},Xf.prototype.isEndSegment=function(t,e){return 0===e||e>=t.size()-2},Xf.prototype.hasIntersection=function(){return null!==this._interiorIntersection},Xf.prototype.isDone=function(){return!this._findAllIntersections&&null!==this._interiorIntersection},Xf.prototype.interfaces_=function(){return[Zp]},Xf.prototype.getClass=function(){return Xf},Xf.createAllIntersectionsFinder=function(t){var e=new Xf(t);return e.setFindAllIntersections(!0),e},Xf.createAnyIntersectionFinder=function(t){return new Xf(t)},Xf.createIntersectionCounter=function(t){var e=new Xf(t);return e.setFindAllIntersections(!0),e.setKeepIntersections(!1),e};var Yf=function(){this._li=new jl,this._segStrings=null,this._findAllIntersections=!1,this._segInt=null,this._isValid=!0;var t=arguments[0];this._segStrings=t};Yf.prototype.execute=function(){if(null!==this._segInt)return null;this.checkInteriorIntersections()},Yf.prototype.getIntersections=function(){return this._segInt.getIntersections()},Yf.prototype.isValid=function(){return this.execute(),this._isValid},Yf.prototype.setFindAllIntersections=function(t){this._findAllIntersections=t},Yf.prototype.checkInteriorIntersections=function(){this._isValid=!0,this._segInt=new Xf(this._li),this._segInt.setFindAllIntersections(this._findAllIntersections);var t=new Ip;if(t.setSegmentIntersector(this._segInt),t.computeNodes(this._segStrings),this._segInt.hasIntersection())return this._isValid=!1,null},Yf.prototype.checkValid=function(){if(this.execute(),!this._isValid)throw new Oh(this.getErrorMessage(),this._segInt.getInteriorIntersection())},Yf.prototype.getErrorMessage=function(){if(this._isValid)return\"no intersections found\";var t=this._segInt.getIntersectionSegments();return\"found non-noded intersection between \"+Fl.toLineString(t[0],t[1])+\" and \"+Fl.toLineString(t[2],t[3])},Yf.prototype.interfaces_=function(){return[]},Yf.prototype.getClass=function(){return Yf},Yf.computeIntersections=function(t){var e=new Yf(t);return e.setFindAllIntersections(!0),e.isValid(),e.getIntersections()};var Hf=function t(){this._nv=null;var e=arguments[0];this._nv=new Yf(t.toSegmentStrings(e))};Hf.prototype.checkValid=function(){this._nv.checkValid()},Hf.prototype.interfaces_=function(){return[]},Hf.prototype.getClass=function(){return Hf},Hf.toSegmentStrings=function(t){for(var e=new lc,n=t.iterator();n.hasNext();){var r=n.next();e.add(new Vf(r.getCoordinates(),r))}return e},Hf.checkValid=function(t){new Hf(t).checkValid()};var Wf=function(t){this._mapOp=t};Wf.prototype.map=function(t){for(var e=new lc,n=0;n<t.getNumGeometries();n++){var r=this._mapOp.map(t.getGeometryN(n));r.isEmpty()||e.add(r)}return t.getFactory().createGeometryCollection(_h.toGeometryArray(e))},Wf.prototype.interfaces_=function(){return[]},Wf.prototype.getClass=function(){return Wf},Wf.map=function(t,e){return new Wf(e).map(t)};var Jf=function(){this._op=null,this._geometryFactory=null,this._ptLocator=null,this._lineEdgesList=new lc,this._resultLineList=new lc;var t=arguments[0],e=arguments[1],n=arguments[2];this._op=t,this._geometryFactory=e,this._ptLocator=n};Jf.prototype.collectLines=function(t){for(var e=this,n=this._op.getGraph().getEdgeEnds().iterator();n.hasNext();){var r=n.next();e.collectLineEdge(r,t,e._lineEdgesList),e.collectBoundaryTouchEdge(r,t,e._lineEdgesList)}},Jf.prototype.labelIsolatedLine=function(t,e){var n=this._ptLocator.locate(t.getCoordinate(),this._op.getArgGeometry(e));t.getLabel().setLocation(e,n)},Jf.prototype.build=function(t){return this.findCoveredLineEdges(),this.collectLines(t),this.buildLines(t),this._resultLineList},Jf.prototype.collectLineEdge=function(t,e,n){var r=t.getLabel(),i=t.getEdge();t.isLineEdge()&&(t.isVisited()||!Mg.isResultOfOp(r,e)||i.isCovered()||(n.add(i),t.setVisitedEdge(!0)))},Jf.prototype.findCoveredLineEdges=function(){for(var t=this._op.getGraph().getNodes().iterator();t.hasNext();){t.next().getEdges().findCoveredLineEdges()}for(var e=this._op.getGraph().getEdgeEnds().iterator();e.hasNext();){var n=e.next(),r=n.getEdge();if(n.isLineEdge()&&!r.isCoveredSet()){var i=this._op.isCoveredByA(n.getCoordinate());r.setCovered(i)}}},Jf.prototype.labelIsolatedLines=function(t){for(var e=t.iterator();e.hasNext();){var n=e.next(),r=n.getLabel();n.isIsolated()&&(r.isNull(0)?this.labelIsolatedLine(n,0):this.labelIsolatedLine(n,1))}},Jf.prototype.buildLines=function(t){for(var e=this._lineEdgesList.iterator();e.hasNext();){var n=e.next(),r=this._geometryFactory.createLineString(n.getCoordinates());this._resultLineList.add(r),n.setInResult(!0)}},Jf.prototype.collectBoundaryTouchEdge=function(t,e,n){var r=t.getLabel();return t.isLineEdge()||t.isVisited()||t.isInteriorAreaEdge()||t.getEdge().isInResult()?null:(ql.isTrue(!(t.isInResult()||t.getSym().isInResult())||!t.getEdge().isInResult()),void(Mg.isResultOfOp(r,e)&&e===Mg.INTERSECTION&&(n.add(t.getEdge()),t.setVisitedEdge(!0))))},Jf.prototype.interfaces_=function(){return[]},Jf.prototype.getClass=function(){return Jf};var Zf=function(){this._op=null,this._geometryFactory=null,this._resultPointList=new lc;var t=arguments[0],e=arguments[1];this._op=t,this._geometryFactory=e};Zf.prototype.filterCoveredNodeToPoint=function(t){var e=t.getCoordinate();if(!this._op.isCoveredByLA(e)){var n=this._geometryFactory.createPoint(e);this._resultPointList.add(n)}},Zf.prototype.extractNonCoveredResultNodes=function(t){for(var e=this._op.getGraph().getNodes().iterator();e.hasNext();){var n=e.next();if(!n.isInResult()&&(!n.isIncidentEdgeInResult()&&(0===n.getEdges().getDegree()||t===Mg.INTERSECTION))){var r=n.getLabel();Mg.isResultOfOp(r,t)&&this.filterCoveredNodeToPoint(n)}}},Zf.prototype.build=function(t){return this.extractNonCoveredResultNodes(t),this._resultPointList},Zf.prototype.interfaces_=function(){return[]},Zf.prototype.getClass=function(){return Zf};var Kf=function(){this._inputGeom=null,this._factory=null,this._pruneEmptyGeometry=!0,this._preserveGeometryCollectionType=!0,this._preserveCollections=!1,this._preserveType=!1};Kf.prototype.transformPoint=function(t,e){return this._factory.createPoint(this.transformCoordinates(t.getCoordinateSequence(),t))},Kf.prototype.transformPolygon=function(t,e){var n=!0,r=this.transformLinearRing(t.getExteriorRing(),t);null!==r&&r instanceof nh&&!r.isEmpty()||(n=!1);for(var i=new lc,o=0;o<t.getNumInteriorRing();o++){var s=this.transformLinearRing(t.getInteriorRingN(o),t);null===s||s.isEmpty()||(s instanceof nh||(n=!1),i.add(s))}if(n)return this._factory.createPolygon(r,i.toArray([]));var a=new lc;return null!==r&&a.add(r),a.addAll(i),this._factory.buildGeometry(a)},Kf.prototype.createCoordinateSequence=function(t){return this._factory.getCoordinateSequenceFactory().create(t)},Kf.prototype.getInputGeometry=function(){return this._inputGeom},Kf.prototype.transformMultiLineString=function(t,e){for(var n=new lc,r=0;r<t.getNumGeometries();r++){var i=this.transformLineString(t.getGeometryN(r),t);null!==i&&(i.isEmpty()||n.add(i))}return this._factory.buildGeometry(n)},Kf.prototype.transformCoordinates=function(t,e){return this.copy(t)},Kf.prototype.transformLineString=function(t,e){return this._factory.createLineString(this.transformCoordinates(t.getCoordinateSequence(),t))},Kf.prototype.transformMultiPoint=function(t,e){for(var n=new lc,r=0;r<t.getNumGeometries();r++){var i=this.transformPoint(t.getGeometryN(r),t);null!==i&&(i.isEmpty()||n.add(i))}return this._factory.buildGeometry(n)},Kf.prototype.transformMultiPolygon=function(t,e){for(var n=new lc,r=0;r<t.getNumGeometries();r++){var i=this.transformPolygon(t.getGeometryN(r),t);null!==i&&(i.isEmpty()||n.add(i))}return this._factory.buildGeometry(n)},Kf.prototype.copy=function(t){return t.copy()},Kf.prototype.transformGeometryCollection=function(t,e){for(var n=new lc,r=0;r<t.getNumGeometries();r++){var i=this.transform(t.getGeometryN(r));null!==i&&(this._pruneEmptyGeometry&&i.isEmpty()||n.add(i))}return this._preserveGeometryCollectionType?this._factory.createGeometryCollection(_h.toGeometryArray(n)):this._factory.buildGeometry(n)},Kf.prototype.transform=function(t){if(this._inputGeom=t,this._factory=t.getFactory(),t instanceof Qc)return this.transformPoint(t,null);if(t instanceof eh)return this.transformMultiPoint(t,null);if(t instanceof nh)return this.transformLinearRing(t,null);if(t instanceof Zc)return this.transformLineString(t,null);if(t instanceof Gc)return this.transformMultiLineString(t,null);if(t instanceof th)return this.transformPolygon(t,null);if(t instanceof rh)return this.transformMultiPolygon(t,null);if(t instanceof kc)return this.transformGeometryCollection(t,null);throw new el(\"Unknown Geometry subtype: \"+t.getClass().getName())},Kf.prototype.transformLinearRing=function(t,e){var n=this.transformCoordinates(t.getCoordinateSequence(),t);if(null===n)return this._factory.createLinearRing(null);var r=n.size();return r>0&&r<4&&!this._preserveType?this._factory.createLineString(n):this._factory.createLinearRing(n)},Kf.prototype.interfaces_=function(){return[]},Kf.prototype.getClass=function(){return Kf};var Qf=function t(){if(this._snapTolerance=0,this._srcPts=null,this._seg=new vp,this._allowSnappingToSourceVertices=!1,this._isClosed=!1,arguments[0]instanceof Zc&&\"number\"==typeof arguments[1]){var e=arguments[0],n=arguments[1];t.call(this,e.getCoordinates(),n)}else if(arguments[0]instanceof Array&&\"number\"==typeof arguments[1]){var r=arguments[0],i=arguments[1];this._srcPts=r,this._isClosed=t.isClosed(r),this._snapTolerance=i}};Qf.prototype.snapVertices=function(t,e){for(var n=this._isClosed?t.size()-1:t.size(),r=0;r<n;r++){var i=t.get(r),o=this.findSnapForVertex(i,e);null!==o&&(t.set(r,new ul(o)),0===r&&this._isClosed&&t.set(t.size()-1,new ul(o)))}},Qf.prototype.findSnapForVertex=function(t,e){for(var n=0;n<e.length;n++){if(t.equals2D(e[n]))return null;if(t.distance(e[n])<this._snapTolerance)return e[n]}return null},Qf.prototype.snapTo=function(t){var e=new hc(this._srcPts);return this.snapVertices(e,t),this.snapSegments(e,t),e.toCoordinateArray()},Qf.prototype.snapSegments=function(t,e){if(0===e.length)return null;var n=e.length;e[0].equals2D(e[e.length-1])&&(n=e.length-1);for(var r=0;r<n;r++){var i=e[r],o=this.findSegmentIndexToSnap(i,t);o>=0&&t.add(o+1,new ul(i),!1)}},Qf.prototype.findSegmentIndexToSnap=function(t,e){for(var n=this,r=nl.MAX_VALUE,i=-1,o=0;o<e.size()-1;o++){if(n._seg.p0=e.get(o),n._seg.p1=e.get(o+1),n._seg.p0.equals2D(t)||n._seg.p1.equals2D(t)){if(n._allowSnappingToSourceVertices)continue;return-1}var s=n._seg.distance(t);s<n._snapTolerance&&s<r&&(r=s,i=o)}return i},Qf.prototype.setAllowSnappingToSourceVertices=function(t){this._allowSnappingToSourceVertices=t},Qf.prototype.interfaces_=function(){return[]},Qf.prototype.getClass=function(){return Qf},Qf.isClosed=function(t){return!(t.length<=1)&&t[0].equals2D(t[t.length-1])};var $f=function(t){this._srcGeom=t||null},tg={SNAP_PRECISION_FACTOR:{configurable:!0}};$f.prototype.snapTo=function(t,e){var n=this.extractTargetCoordinates(t);return new eg(e,n).transform(this._srcGeom)},$f.prototype.snapToSelf=function(t,e){var n=this.extractTargetCoordinates(this._srcGeom),r=new eg(t,n,!0).transform(this._srcGeom),i=r;return e&&gl(i,$c)&&(i=r.buffer(0)),i},$f.prototype.computeSnapTolerance=function(t){return this.computeMinimumSegmentLength(t)/10},$f.prototype.extractTargetCoordinates=function(t){for(var e=new Lc,n=t.getCoordinates(),r=0;r<n.length;r++)e.add(n[r]);return e.toArray(new Array(0).fill(null))},$f.prototype.computeMinimumSegmentLength=function(t){for(var e=nl.MAX_VALUE,n=0;n<t.length-1;n++){var r=t[n].distance(t[n+1]);r<e&&(e=r)}return e},$f.prototype.interfaces_=function(){return[]},$f.prototype.getClass=function(){return $f},$f.snap=function(t,e,n){var r=new Array(2).fill(null),i=new $f(t);r[0]=i.snapTo(e,n);var o=new $f(e);return r[1]=o.snapTo(r[0],n),r},$f.computeOverlaySnapTolerance=function(){if(1===arguments.length){var t=arguments[0],e=$f.computeSizeBasedSnapTolerance(t),n=t.getPrecisionModel();if(n.getType()===gh.FIXED){var r=1/n.getScale()*2/1.415;r>e&&(e=r)}return e}if(2===arguments.length){var i=arguments[0],o=arguments[1];return Math.min($f.computeOverlaySnapTolerance(i),$f.computeOverlaySnapTolerance(o))}},$f.computeSizeBasedSnapTolerance=function(t){var e=t.getEnvelopeInternal();return Math.min(e.getHeight(),e.getWidth())*$f.SNAP_PRECISION_FACTOR},$f.snapToSelf=function(t,e,n){return new $f(t).snapToSelf(e,n)},tg.SNAP_PRECISION_FACTOR.get=function(){return 1e-9},Object.defineProperties($f,tg);var eg=function(t){function e(e,n,r){t.call(this),this._snapTolerance=e||null,this._snapPts=n||null,this._isSelfSnap=void 0!==r&&r}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.snapLine=function(t,e){var n=new Qf(t,this._snapTolerance);return n.setAllowSnappingToSourceVertices(this._isSelfSnap),n.snapTo(e)},e.prototype.transformCoordinates=function(t,e){var n=t.toCoordinateArray(),r=this.snapLine(n,this._snapPts);return this._factory.getCoordinateSequenceFactory().create(r)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(Kf),ng=function(){this._isFirst=!0,this._commonMantissaBitsCount=53,this._commonBits=0,this._commonSignExp=null};ng.prototype.getCommon=function(){return nl.longBitsToDouble(this._commonBits)},ng.prototype.add=function(t){var e=nl.doubleToLongBits(t);return this._isFirst?(this._commonBits=e,this._commonSignExp=ng.signExpBits(this._commonBits),this._isFirst=!1,null):ng.signExpBits(e)!==this._commonSignExp?(this._commonBits=0,null):(this._commonMantissaBitsCount=ng.numCommonMostSigMantissaBits(this._commonBits,e),void(this._commonBits=ng.zeroLowerBits(this._commonBits,64-(12+this._commonMantissaBitsCount))))},ng.prototype.toString=function(){if(1===arguments.length){var t=arguments[0],e=nl.longBitsToDouble(t),n=nl.toBinaryString(t),r=\"0000000000000000000000000000000000000000000000000000000000000000\"+n,i=r.substring(r.length-64),o=i.substring(0,1)+\"  \"+i.substring(1,12)+\"(exp) \"+i.substring(12)+\" [ \"+e+\" ]\";return o}},ng.prototype.interfaces_=function(){return[]},ng.prototype.getClass=function(){return ng},ng.getBit=function(t,e){return 0!=(t&1<<e)?1:0},ng.signExpBits=function(t){return t>>52},ng.zeroLowerBits=function(t,e){return t&~((1<<e)-1)},ng.numCommonMostSigMantissaBits=function(t,e){for(var n=0,r=52;r>=0;r--){if(ng.getBit(t,r)!==ng.getBit(e,r))return n;n++}return 52};var rg=function(){this._commonCoord=null,this._ccFilter=new og},ig={CommonCoordinateFilter:{configurable:!0},Translater:{configurable:!0}};rg.prototype.addCommonBits=function(t){var e=new sg(this._commonCoord);t.apply(e),t.geometryChanged()},rg.prototype.removeCommonBits=function(t){if(0===this._commonCoord.x&&0===this._commonCoord.y)return t;var e=new ul(this._commonCoord);e.x=-e.x,e.y=-e.y;var n=new sg(e);return t.apply(n),t.geometryChanged(),t},rg.prototype.getCommonCoordinate=function(){return this._commonCoord},rg.prototype.add=function(t){t.apply(this._ccFilter),this._commonCoord=this._ccFilter.getCommonCoordinate()},rg.prototype.interfaces_=function(){return[]},rg.prototype.getClass=function(){return rg},ig.CommonCoordinateFilter.get=function(){return og},ig.Translater.get=function(){return sg},Object.defineProperties(rg,ig);var og=function(){this._commonBitsX=new ng,this._commonBitsY=new ng};og.prototype.filter=function(t){this._commonBitsX.add(t.x),this._commonBitsY.add(t.y)},og.prototype.getCommonCoordinate=function(){return new ul(this._commonBitsX.getCommon(),this._commonBitsY.getCommon())},og.prototype.interfaces_=function(){return[Kl]},og.prototype.getClass=function(){return og};var sg=function(){this.trans=null;var t=arguments[0];this.trans=t};sg.prototype.filter=function(t,e){var n=t.getOrdinate(e,0)+this.trans.x,r=t.getOrdinate(e,1)+this.trans.y;t.setOrdinate(e,0,n),t.setOrdinate(e,1,r)},sg.prototype.isDone=function(){return!1},sg.prototype.isGeometryChanged=function(){return!0},sg.prototype.interfaces_=function(){return[Fc]},sg.prototype.getClass=function(){return sg};var ag=function(t,e){this._geom=new Array(2).fill(null),this._snapTolerance=null,this._cbr=null,this._geom[0]=t,this._geom[1]=e,this.computeSnapTolerance()};ag.prototype.selfSnap=function(t){return new $f(t).snapTo(t,this._snapTolerance)},ag.prototype.removeCommonBits=function(t){this._cbr=new rg,this._cbr.add(t[0]),this._cbr.add(t[1]);var e=new Array(2).fill(null);return e[0]=this._cbr.removeCommonBits(t[0].copy()),e[1]=this._cbr.removeCommonBits(t[1].copy()),e},ag.prototype.prepareResult=function(t){return this._cbr.addCommonBits(t),t},ag.prototype.getResultGeometry=function(t){var e=this.snap(this._geom),n=Mg.overlayOp(e[0],e[1],t);return this.prepareResult(n)},ag.prototype.checkValid=function(t){t.isValid()||Pl.out.println(\"Snapped geometry is invalid\")},ag.prototype.computeSnapTolerance=function(){this._snapTolerance=$f.computeOverlaySnapTolerance(this._geom[0],this._geom[1])},ag.prototype.snap=function(t){var e=this.removeCommonBits(t);return $f.snap(e[0],e[1],this._snapTolerance)},ag.prototype.interfaces_=function(){return[]},ag.prototype.getClass=function(){return ag},ag.overlayOp=function(t,e,n){return new ag(t,e).getResultGeometry(n)},ag.union=function(t,e){return ag.overlayOp(t,e,Mg.UNION)},ag.intersection=function(t,e){return ag.overlayOp(t,e,Mg.INTERSECTION)},ag.symDifference=function(t,e){return ag.overlayOp(t,e,Mg.SYMDIFFERENCE)},ag.difference=function(t,e){return ag.overlayOp(t,e,Mg.DIFFERENCE)};var ug=function(t,e){this._geom=new Array(2).fill(null),this._geom[0]=t,this._geom[1]=e};ug.prototype.getResultGeometry=function(t){var e=null,n=!1,r=null;try{e=Mg.overlayOp(this._geom[0],this._geom[1],t);n=!0}catch(t){if(!(t instanceof kl))throw t;r=t}if(!n)try{e=ag.overlayOp(this._geom[0],this._geom[1],t)}catch(t){throw t instanceof kl?r:t}return e},ug.prototype.interfaces_=function(){return[]},ug.prototype.getClass=function(){return ug},ug.overlayOp=function(t,e,n){return new ug(t,e).getResultGeometry(n)},ug.union=function(t,e){return ug.overlayOp(t,e,Mg.UNION)},ug.intersection=function(t,e){return ug.overlayOp(t,e,Mg.INTERSECTION)},ug.symDifference=function(t,e){return ug.overlayOp(t,e,Mg.SYMDIFFERENCE)},ug.difference=function(t,e){return ug.overlayOp(t,e,Mg.DIFFERENCE)};var lg=function(){this.mce=null,this.chainIndex=null;var t=arguments[0],e=arguments[1];this.mce=t,this.chainIndex=e};lg.prototype.computeIntersections=function(t,e){this.mce.computeIntersectsForChain(this.chainIndex,t.mce,t.chainIndex,e)},lg.prototype.interfaces_=function(){return[]},lg.prototype.getClass=function(){return lg};var cg=function t(){if(this._label=null,this._xValue=null,this._eventType=null,this._insertEvent=null,this._deleteEventIndex=null,this._obj=null,2===arguments.length){var e=arguments[0],n=arguments[1];this._eventType=t.DELETE,this._xValue=e,this._insertEvent=n}else if(3===arguments.length){var r=arguments[0],i=arguments[1],o=arguments[2];this._eventType=t.INSERT,this._label=r,this._xValue=i,this._obj=o}},hg={INSERT:{configurable:!0},DELETE:{configurable:!0}};cg.prototype.isDelete=function(){return this._eventType===cg.DELETE},cg.prototype.setDeleteEventIndex=function(t){this._deleteEventIndex=t},cg.prototype.getObject=function(){return this._obj},cg.prototype.compareTo=function(t){var e=t;return this._xValue<e._xValue?-1:this._xValue>e._xValue?1:this._eventType<e._eventType?-1:this._eventType>e._eventType?1:0},cg.prototype.getInsertEvent=function(){return this._insertEvent},cg.prototype.isInsert=function(){return this._eventType===cg.INSERT},cg.prototype.isSameLabel=function(t){return null!==this._label&&this._label===t._label},cg.prototype.getDeleteEventIndex=function(){return this._deleteEventIndex},cg.prototype.interfaces_=function(){return[il]},cg.prototype.getClass=function(){return cg},hg.INSERT.get=function(){return 1},hg.DELETE.get=function(){return 2},Object.defineProperties(cg,hg);var pg=function(){};pg.prototype.interfaces_=function(){return[]},pg.prototype.getClass=function(){return pg};var fg=function(){this._hasIntersection=!1,this._hasProper=!1,this._hasProperInterior=!1,this._properIntersectionPoint=null,this._li=null,this._includeProper=null,this._recordIsolated=null,this._isSelfIntersection=null,this._numIntersections=0,this.numTests=0,this._bdyNodes=null,this._isDone=!1,this._isDoneWhenProperInt=!1;var t=arguments[0],e=arguments[1],n=arguments[2];this._li=t,this._includeProper=e,this._recordIsolated=n};fg.prototype.isTrivialIntersection=function(t,e,n,r){if(t===n&&1===this._li.getIntersectionNum()){if(fg.isAdjacentSegments(e,r))return!0;if(t.isClosed()){var i=t.getNumPoints()-1;if(0===e&&r===i||0===r&&e===i)return!0}}return!1},fg.prototype.getProperIntersectionPoint=function(){return this._properIntersectionPoint},fg.prototype.setIsDoneIfProperInt=function(t){this._isDoneWhenProperInt=t},fg.prototype.hasProperInteriorIntersection=function(){return this._hasProperInterior},fg.prototype.isBoundaryPointInternal=function(t,e){for(var n=e.iterator();n.hasNext();){var r=n.next().getCoordinate();if(t.isIntersection(r))return!0}return!1},fg.prototype.hasProperIntersection=function(){return this._hasProper},fg.prototype.hasIntersection=function(){return this._hasIntersection},fg.prototype.isDone=function(){return this._isDone},fg.prototype.isBoundaryPoint=function(t,e){return null!==e&&(!!this.isBoundaryPointInternal(t,e[0])||!!this.isBoundaryPointInternal(t,e[1]))},fg.prototype.setBoundaryNodes=function(t,e){this._bdyNodes=new Array(2).fill(null),this._bdyNodes[0]=t,this._bdyNodes[1]=e},fg.prototype.addIntersections=function(t,e,n,r){if(t===n&&e===r)return null;this.numTests++;var i=t.getCoordinates()[e],o=t.getCoordinates()[e+1],s=n.getCoordinates()[r],a=n.getCoordinates()[r+1];this._li.computeIntersection(i,o,s,a),this._li.hasIntersection()&&(this._recordIsolated&&(t.setIsolated(!1),n.setIsolated(!1)),this._numIntersections++,this.isTrivialIntersection(t,e,n,r)||(this._hasIntersection=!0,!this._includeProper&&this._li.isProper()||(t.addIntersections(this._li,e,0),n.addIntersections(this._li,r,1)),this._li.isProper()&&(this._properIntersectionPoint=this._li.getIntersection(0).copy(),this._hasProper=!0,this._isDoneWhenProperInt&&(this._isDone=!0),this.isBoundaryPoint(this._li,this._bdyNodes)||(this._hasProperInterior=!0))))},fg.prototype.interfaces_=function(){return[]},fg.prototype.getClass=function(){return fg},fg.isAdjacentSegments=function(t,e){return 1===Math.abs(t-e)};var gg=function(t){function e(){t.call(this),this.events=new lc,this.nOverlaps=null}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.prepareEvents=function(){np.sort(this.events);for(var t=0;t<this.events.size();t++){var e=this.events.get(t);e.isDelete()&&e.getInsertEvent().setDeleteEventIndex(t)}},e.prototype.computeIntersections=function(){var t=this;if(1===arguments.length){var e=arguments[0];this.nOverlaps=0,this.prepareEvents();for(var n=0;n<this.events.size();n++){var r=t.events.get(n);if(r.isInsert()&&t.processOverlaps(n,r.getDeleteEventIndex(),r,e),e.isDone())break}}else if(3===arguments.length)if(arguments[2]instanceof fg&&gl(arguments[0],ac)&&gl(arguments[1],ac)){var i=arguments[0],o=arguments[1],s=arguments[2];this.addEdges(i,i),this.addEdges(o,o),this.computeIntersections(s)}else if(\"boolean\"==typeof arguments[2]&&gl(arguments[0],ac)&&arguments[1]instanceof fg){var a=arguments[0],u=arguments[1],l=arguments[2];l?this.addEdges(a,null):this.addEdges(a),this.computeIntersections(u)}},e.prototype.addEdge=function(t,e){for(var n=t.getMonotoneChainEdge(),r=n.getStartIndexes(),i=0;i<r.length-1;i++){var o=new lg(n,i),s=new cg(e,n.getMinX(i),o);this.events.add(s),this.events.add(new cg(n.getMaxX(i),s))}},e.prototype.processOverlaps=function(t,e,n,r){for(var i=n.getObject(),o=t;o<e;o++){var s=this.events.get(o);if(s.isInsert()){var a=s.getObject();n.isSameLabel(s)||(i.computeIntersections(a,r),this.nOverlaps++)}}},e.prototype.addEdges=function(){var t=this;if(1===arguments.length)for(var e=arguments[0],n=e.iterator();n.hasNext();){var r=n.next();t.addEdge(r,r)}else if(2===arguments.length)for(var i=arguments[0],o=arguments[1],s=i.iterator();s.hasNext();){var a=s.next();t.addEdge(a,o)}},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(pg),dg=function(){this._min=nl.POSITIVE_INFINITY,this._max=nl.NEGATIVE_INFINITY},yg={NodeComparator:{configurable:!0}};dg.prototype.getMin=function(){return this._min},dg.prototype.intersects=function(t,e){return!(this._min>e||this._max<t)},dg.prototype.getMax=function(){return this._max},dg.prototype.toString=function(){return Fl.toLineString(new ul(this._min,0),new ul(this._max,0))},dg.prototype.interfaces_=function(){return[]},dg.prototype.getClass=function(){return dg},yg.NodeComparator.get=function(){return vg},Object.defineProperties(dg,yg);var vg=function(){};vg.prototype.compare=function(t,e){var n=t,r=e,i=(n._min+n._max)/2,o=(r._min+r._max)/2;return i<o?-1:i>o?1:0},vg.prototype.interfaces_=function(){return[sl]},vg.prototype.getClass=function(){return vg};var _g=function(t){function e(){t.call(this),this._item=null;var e=arguments[0],n=arguments[1],r=arguments[2];this._min=e,this._max=n,this._item=r}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.query=function(t,e,n){if(!this.intersects(t,e))return null;n.visitItem(this._item)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(dg),mg=function(t){function e(){t.call(this),this._node1=null,this._node2=null;var e=arguments[0],n=arguments[1];this._node1=e,this._node2=n,this.buildExtent(this._node1,this._node2)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.buildExtent=function(t,e){this._min=Math.min(t._min,e._min),this._max=Math.max(t._max,e._max)},e.prototype.query=function(t,e,n){if(!this.intersects(t,e))return null;null!==this._node1&&this._node1.query(t,e,n),null!==this._node2&&this._node2.query(t,e,n)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(dg),xg=function(){this._leaves=new lc,this._root=null,this._level=0};xg.prototype.buildTree=function(){np.sort(this._leaves,new dg.NodeComparator);for(var t=this._leaves,e=null,n=new lc;;){if(this.buildLevel(t,n),1===n.size())return n.get(0);e=t,t=n,n=e}},xg.prototype.insert=function(t,e,n){if(null!==this._root)throw new Error(\"Index cannot be added to once it has been queried\");this._leaves.add(new _g(t,e,n))},xg.prototype.query=function(t,e,n){this.init(),this._root.query(t,e,n)},xg.prototype.buildRoot=function(){if(null!==this._root)return null;this._root=this.buildTree()},xg.prototype.printNode=function(t){Pl.out.println(Fl.toLineString(new ul(t._min,this._level),new ul(t._max,this._level)))},xg.prototype.init=function(){if(null!==this._root)return null;this.buildRoot()},xg.prototype.buildLevel=function(t,e){this._level++,e.clear();for(var n=0;n<t.size();n+=2){var r=t.get(n);if(null===(n+1<t.size()?t.get(n):null))e.add(r);else{var i=new mg(t.get(n),t.get(n+1));e.add(i)}}},xg.prototype.interfaces_=function(){return[]},xg.prototype.getClass=function(){return xg};var Eg=function(){this._items=new lc};Eg.prototype.visitItem=function(t){this._items.add(t)},Eg.prototype.getItems=function(){return this._items},Eg.prototype.interfaces_=function(){return[Qh]},Eg.prototype.getClass=function(){return Eg};var bg=function(){this._index=null;var t=arguments[0];if(!gl(t,$c))throw new el(\"Argument must be Polygonal\");this._index=new Ng(t)},wg={SegmentVisitor:{configurable:!0},IntervalIndexedGeometry:{configurable:!0}};bg.prototype.locate=function(t){var e=new Vl(t),n=new Ig(e);return this._index.query(t.y,t.y,n),e.getLocation()},bg.prototype.interfaces_=function(){return[jp]},bg.prototype.getClass=function(){return bg},wg.SegmentVisitor.get=function(){return Ig},wg.IntervalIndexedGeometry.get=function(){return Ng},Object.defineProperties(bg,wg);var Ig=function(){this._counter=null;var t=arguments[0];this._counter=t};Ig.prototype.visitItem=function(t){var e=t;this._counter.countSegment(e.getCoordinate(0),e.getCoordinate(1))},Ig.prototype.interfaces_=function(){return[Qh]},Ig.prototype.getClass=function(){return Ig};var Ng=function(){this._index=new xg;var t=arguments[0];this.init(t)};Ng.prototype.init=function(t){for(var e=Cf.getLines(t).iterator();e.hasNext();){var n=e.next().getCoordinates();this.addLine(n)}},Ng.prototype.addLine=function(t){for(var e=1;e<t.length;e++){var n=new vp(t[e-1],t[e]),r=Math.min(n.p0.y,n.p1.y),i=Math.max(n.p0.y,n.p1.y);this._index.insert(r,i,n)}},Ng.prototype.query=function(){if(2===arguments.length){var t=arguments[0],e=arguments[1],n=new Eg;return this._index.query(t,e,n),n.getItems()}if(3===arguments.length){var r=arguments[0],i=arguments[1],o=arguments[2];this._index.query(r,i,o)}},Ng.prototype.interfaces_=function(){return[]},Ng.prototype.getClass=function(){return Ng};var Sg=function(t){function e(){if(t.call(this),this._parentGeom=null,this._lineEdgeMap=new fh,this._boundaryNodeRule=null,this._useBoundaryDeterminationRule=!0,this._argIndex=null,this._boundaryNodes=null,this._hasTooFewPoints=!1,this._invalidPoint=null,this._areaPtLocator=null,this._ptLocator=new Pf,2===arguments.length){var e=arguments[0],n=arguments[1],r=Ql.OGC_SFS_BOUNDARY_RULE;this._argIndex=e,this._parentGeom=n,this._boundaryNodeRule=r,null!==n&&this.add(n)}else if(3===arguments.length){var i=arguments[0],o=arguments[1],s=arguments[2];this._argIndex=i,this._parentGeom=o,this._boundaryNodeRule=s,null!==o&&this.add(o)}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.insertBoundaryPoint=function(t,n){var r=this._nodes.addNode(n).getLabel(),i=1;r.getLocation(t,Sh.ON)===pl.BOUNDARY&&i++;var o=e.determineBoundary(this._boundaryNodeRule,i);r.setLocation(t,o)},e.prototype.computeSelfNodes=function(){if(2===arguments.length){var t=arguments[0],e=arguments[1];return this.computeSelfNodes(t,e,!1)}if(3===arguments.length){var n=arguments[0],r=arguments[1],i=arguments[2],o=new fg(n,!0,!1);o.setIsDoneIfProperInt(i);var s=this.createEdgeSetIntersector(),a=this._parentGeom instanceof nh||this._parentGeom instanceof th||this._parentGeom instanceof rh,u=r||!a;return s.computeIntersections(this._edges,o,u),this.addSelfIntersectionNodes(this._argIndex),o}},e.prototype.computeSplitEdges=function(t){for(var e=this._edges.iterator();e.hasNext();){e.next().eiList.addSplitEdges(t)}},e.prototype.computeEdgeIntersections=function(t,e,n){var r=new fg(e,n,!0);return r.setBoundaryNodes(this.getBoundaryNodes(),t.getBoundaryNodes()),this.createEdgeSetIntersector().computeIntersections(this._edges,t._edges,r),r},e.prototype.getGeometry=function(){return this._parentGeom},e.prototype.getBoundaryNodeRule=function(){return this._boundaryNodeRule},e.prototype.hasTooFewPoints=function(){return this._hasTooFewPoints},e.prototype.addPoint=function(){if(arguments[0]instanceof Qc){var t=arguments[0],e=t.getCoordinate();this.insertPoint(this._argIndex,e,pl.INTERIOR)}else if(arguments[0]instanceof ul){var n=arguments[0];this.insertPoint(this._argIndex,n,pl.INTERIOR)}},e.prototype.addPolygon=function(t){this.addPolygonRing(t.getExteriorRing(),pl.EXTERIOR,pl.INTERIOR);for(var e=0;e<t.getNumInteriorRing();e++){var n=t.getInteriorRingN(e);this.addPolygonRing(n,pl.INTERIOR,pl.EXTERIOR)}},e.prototype.addEdge=function(t){this.insertEdge(t);var e=t.getCoordinates();this.insertPoint(this._argIndex,e[0],pl.BOUNDARY),this.insertPoint(this._argIndex,e[e.length-1],pl.BOUNDARY)},e.prototype.addLineString=function(t){var e=pc.removeRepeatedPoints(t.getCoordinates());if(e.length<2)return this._hasTooFewPoints=!0,this._invalidPoint=e[0],null;var n=new of(e,new Dh(this._argIndex,pl.INTERIOR));this._lineEdgeMap.put(t,n),this.insertEdge(n),ql.isTrue(e.length>=2,\"found LineString with single point\"),this.insertBoundaryPoint(this._argIndex,e[0]),this.insertBoundaryPoint(this._argIndex,e[e.length-1])},e.prototype.getInvalidPoint=function(){return this._invalidPoint},e.prototype.getBoundaryPoints=function(){for(var t=this.getBoundaryNodes(),e=new Array(t.size()).fill(null),n=0,r=t.iterator();r.hasNext();){var i=r.next();e[n++]=i.getCoordinate().copy()}return e},e.prototype.getBoundaryNodes=function(){return null===this._boundaryNodes&&(this._boundaryNodes=this._nodes.getBoundaryNodes(this._argIndex)),this._boundaryNodes},e.prototype.addSelfIntersectionNode=function(t,e,n){if(this.isBoundaryNode(t,e))return null;n===pl.BOUNDARY&&this._useBoundaryDeterminationRule?this.insertBoundaryPoint(t,e):this.insertPoint(t,e,n)},e.prototype.addPolygonRing=function(t,e,n){if(t.isEmpty())return null;var r=pc.removeRepeatedPoints(t.getCoordinates());if(r.length<4)return this._hasTooFewPoints=!0,this._invalidPoint=r[0],null;var i=e,o=n;Xl.isCCW(r)&&(i=n,o=e);var s=new of(r,new Dh(this._argIndex,pl.BOUNDARY,i,o));this._lineEdgeMap.put(t,s),this.insertEdge(s),this.insertPoint(this._argIndex,r[0],pl.BOUNDARY)},e.prototype.insertPoint=function(t,e,n){var r=this._nodes.addNode(e),i=r.getLabel();null===i?r._label=new Dh(t,n):i.setLocation(t,n)},e.prototype.createEdgeSetIntersector=function(){return new gg},e.prototype.addSelfIntersectionNodes=function(t){for(var e=this._edges.iterator();e.hasNext();)for(var n=e.next(),r=n.getLabel().getLocation(t),i=n.eiList.iterator();i.hasNext();){var o=i.next();this.addSelfIntersectionNode(t,o.coord,r)}},e.prototype.add=function(){if(1!==arguments.length)return t.prototype.add.apply(this,arguments);var e=arguments[0];if(e.isEmpty())return null;if(e instanceof rh&&(this._useBoundaryDeterminationRule=!1),e instanceof th)this.addPolygon(e);else if(e instanceof Zc)this.addLineString(e);else if(e instanceof Qc)this.addPoint(e);else if(e instanceof eh)this.addCollection(e);else if(e instanceof Gc)this.addCollection(e);else if(e instanceof rh)this.addCollection(e);else{if(!(e instanceof kc))throw new Error(e.getClass().getName());this.addCollection(e)}},e.prototype.addCollection=function(t){for(var e=0;e<t.getNumGeometries();e++){var n=t.getGeometryN(e);this.add(n)}},e.prototype.locate=function(t){return gl(this._parentGeom,$c)&&this._parentGeom.getNumGeometries()>50?(null===this._areaPtLocator&&(this._areaPtLocator=new bg(this._parentGeom)),this._areaPtLocator.locate(t)):this._ptLocator.locate(t,this._parentGeom)},e.prototype.findEdge=function(){if(1===arguments.length){var e=arguments[0];return this._lineEdgeMap.get(e)}return t.prototype.findEdge.apply(this,arguments)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e.determineBoundary=function(t,e){return t.isInBoundary(e)?pl.BOUNDARY:pl.INTERIOR},e}(Hh),Cg=function(){if(this._li=new jl,this._resultPrecisionModel=null,this._arg=null,1===arguments.length){var t=arguments[0];this.setComputationPrecision(t.getPrecisionModel()),this._arg=new Array(1).fill(null),this._arg[0]=new Sg(0,t)}else if(2===arguments.length){var e=arguments[0],n=arguments[1],r=Ql.OGC_SFS_BOUNDARY_RULE;e.getPrecisionModel().compareTo(n.getPrecisionModel())>=0?this.setComputationPrecision(e.getPrecisionModel()):this.setComputationPrecision(n.getPrecisionModel()),this._arg=new Array(2).fill(null),this._arg[0]=new Sg(0,e,r),this._arg[1]=new Sg(1,n,r)}else if(3===arguments.length){var i=arguments[0],o=arguments[1],s=arguments[2];i.getPrecisionModel().compareTo(o.getPrecisionModel())>=0?this.setComputationPrecision(i.getPrecisionModel()):this.setComputationPrecision(o.getPrecisionModel()),this._arg=new Array(2).fill(null),this._arg[0]=new Sg(0,i,s),this._arg[1]=new Sg(1,o,s)}};Cg.prototype.getArgGeometry=function(t){return this._arg[t].getGeometry()},Cg.prototype.setComputationPrecision=function(t){this._resultPrecisionModel=t,this._li.setPrecisionModel(this._resultPrecisionModel)},Cg.prototype.interfaces_=function(){return[]},Cg.prototype.getClass=function(){return Cg};var Pg=function(){};Pg.prototype.interfaces_=function(){return[]},Pg.prototype.getClass=function(){return Pg},Pg.map=function(){if(arguments[0]instanceof Wl&&gl(arguments[1],Pg.MapOp)){for(var t=arguments[0],e=arguments[1],n=new lc,r=0;r<t.getNumGeometries();r++){var i=e.map(t.getGeometryN(r));null!==i&&n.add(i)}return t.getFactory().buildGeometry(n)}if(gl(arguments[0],ic)&&gl(arguments[1],Pg.MapOp)){for(var o=arguments[0],s=arguments[1],a=new lc,u=o.iterator();u.hasNext();){var l=u.next(),c=s.map(l);null!==c&&a.add(c)}return a}},Pg.MapOp=function(){};var Mg=function(t){function e(){var e=arguments[0],n=arguments[1];t.call(this,e,n),this._ptLocator=new Pf,this._geomFact=null,this._resultGeom=null,this._graph=null,this._edgeList=new Jp,this._resultPolyList=new lc,this._resultLineList=new lc,this._resultPointList=new lc,this._graph=new Hh(new Hp),this._geomFact=e.getFactory()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.insertUniqueEdge=function(t){var e=this._edgeList.findEqualEdge(t);if(null!==e){var n=e.getLabel(),r=t.getLabel();e.isPointwiseEqual(t)||(r=new Dh(t.getLabel())).flip();var i=e.getDepth();i.isNull()&&i.add(n),i.add(r),n.merge(r)}else this._edgeList.add(t)},e.prototype.getGraph=function(){return this._graph},e.prototype.cancelDuplicateResultEdges=function(){for(var t=this._graph.getEdgeEnds().iterator();t.hasNext();){var e=t.next(),n=e.getSym();e.isInResult()&&n.isInResult()&&(e.setInResult(!1),n.setInResult(!1))}},e.prototype.isCoveredByLA=function(t){return!!this.isCovered(t,this._resultLineList)||!!this.isCovered(t,this._resultPolyList)},e.prototype.computeGeometry=function(t,n,r,i){var o=new lc;return o.addAll(t),o.addAll(n),o.addAll(r),o.isEmpty()?e.createEmptyResult(i,this._arg[0].getGeometry(),this._arg[1].getGeometry(),this._geomFact):this._geomFact.buildGeometry(o)},e.prototype.mergeSymLabels=function(){for(var t=this._graph.getNodes().iterator();t.hasNext();){t.next().getEdges().mergeSymLabels()}},e.prototype.isCovered=function(t,e){for(var n=e.iterator();n.hasNext();){var r=n.next();if(this._ptLocator.locate(t,r)!==pl.EXTERIOR)return!0}return!1},e.prototype.replaceCollapsedEdges=function(){for(var t=new lc,e=this._edgeList.iterator();e.hasNext();){var n=e.next();n.isCollapsed()&&(e.remove(),t.add(n.getCollapsedEdge()))}this._edgeList.addAll(t)},e.prototype.updateNodeLabelling=function(){for(var t=this._graph.getNodes().iterator();t.hasNext();){var e=t.next(),n=e.getEdges().getLabel();e.getLabel().merge(n)}},e.prototype.getResultGeometry=function(t){return this.computeOverlay(t),this._resultGeom},e.prototype.insertUniqueEdges=function(t){for(var e=t.iterator();e.hasNext();){var n=e.next();this.insertUniqueEdge(n)}},e.prototype.computeOverlay=function(t){this.copyPoints(0),this.copyPoints(1),this._arg[0].computeSelfNodes(this._li,!1),this._arg[1].computeSelfNodes(this._li,!1),this._arg[0].computeEdgeIntersections(this._arg[1],this._li,!0);var e=new lc;this._arg[0].computeSplitEdges(e),this._arg[1].computeSplitEdges(e),this.insertUniqueEdges(e),this.computeLabelsFromDepths(),this.replaceCollapsedEdges(),Hf.checkValid(this._edgeList.getEdges()),this._graph.addEdges(this._edgeList.getEdges()),this.computeLabelling(),this.labelIncompleteNodes(),this.findResultAreaEdges(t),this.cancelDuplicateResultEdges();var n=new Wh(this._geomFact);n.add(this._graph),this._resultPolyList=n.getPolygons();var r=new Jf(this,this._geomFact,this._ptLocator);this._resultLineList=r.build(t);var i=new Zf(this,this._geomFact,this._ptLocator);this._resultPointList=i.build(t),this._resultGeom=this.computeGeometry(this._resultPointList,this._resultLineList,this._resultPolyList,t)},e.prototype.labelIncompleteNode=function(t,e){var n=this._ptLocator.locate(t.getCoordinate(),this._arg[e].getGeometry());t.getLabel().setLocation(e,n)},e.prototype.copyPoints=function(t){for(var e=this._arg[t].getNodeIterator();e.hasNext();){var n=e.next();this._graph.addNode(n.getCoordinate()).setLabel(t,n.getLabel().getLocation(t))}},e.prototype.findResultAreaEdges=function(t){for(var n=this._graph.getEdgeEnds().iterator();n.hasNext();){var r=n.next(),i=r.getLabel();i.isArea()&&!r.isInteriorAreaEdge()&&e.isResultOfOp(i.getLocation(0,Sh.RIGHT),i.getLocation(1,Sh.RIGHT),t)&&r.setInResult(!0)}},e.prototype.computeLabelsFromDepths=function(){for(var t=this._edgeList.iterator();t.hasNext();){var e=t.next(),n=e.getLabel(),r=e.getDepth();if(!r.isNull()){r.normalize();for(var i=0;i<2;i++)n.isNull(i)||!n.isArea()||r.isNull(i)||(0===r.getDelta(i)?n.toLine(i):(ql.isTrue(!r.isNull(i,Sh.LEFT),\"depth of LEFT side has not been initialized\"),n.setLocation(i,Sh.LEFT,r.getLocation(i,Sh.LEFT)),ql.isTrue(!r.isNull(i,Sh.RIGHT),\"depth of RIGHT side has not been initialized\"),n.setLocation(i,Sh.RIGHT,r.getLocation(i,Sh.RIGHT))))}}},e.prototype.computeLabelling=function(){for(var t=this._graph.getNodes().iterator();t.hasNext();){t.next().getEdges().computeLabelling(this._arg)}this.mergeSymLabels(),this.updateNodeLabelling()},e.prototype.labelIncompleteNodes=function(){for(var t=this._graph.getNodes().iterator();t.hasNext();){var e=t.next(),n=e.getLabel();e.isIsolated()&&(n.isNull(0)?this.labelIncompleteNode(e,0):this.labelIncompleteNode(e,1)),e.getEdges().updateLabelling(n)}},e.prototype.isCoveredByA=function(t){return!!this.isCovered(t,this._resultPolyList)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(Cg);Mg.overlayOp=function(t,e,n){return new Mg(t,e).getResultGeometry(n)},Mg.intersection=function(t,e){if(t.isEmpty()||e.isEmpty())return Mg.createEmptyResult(Mg.INTERSECTION,t,e,t.getFactory());if(t.isGeometryCollection()){var n=e;return Wf.map(t,{interfaces_:function(){return[Pg.MapOp]},map:function(t){return t.intersection(n)}})}return t.checkNotGeometryCollection(t),t.checkNotGeometryCollection(e),ug.overlayOp(t,e,Mg.INTERSECTION)},Mg.symDifference=function(t,e){if(t.isEmpty()||e.isEmpty()){if(t.isEmpty()&&e.isEmpty())return Mg.createEmptyResult(Mg.SYMDIFFERENCE,t,e,t.getFactory());if(t.isEmpty())return e.copy();if(e.isEmpty())return t.copy()}return t.checkNotGeometryCollection(t),t.checkNotGeometryCollection(e),ug.overlayOp(t,e,Mg.SYMDIFFERENCE)},Mg.resultDimension=function(t,e,n){var r=e.getDimension(),i=n.getDimension(),o=-1;switch(t){case Mg.INTERSECTION:o=Math.min(r,i);break;case Mg.UNION:o=Math.max(r,i);break;case Mg.DIFFERENCE:o=r;break;case Mg.SYMDIFFERENCE:o=Math.max(r,i)}return o},Mg.createEmptyResult=function(t,e,n,r){var i=null;switch(Mg.resultDimension(t,e,n)){case-1:i=r.createGeometryCollection(new Array(0).fill(null));break;case 0:i=r.createPoint();break;case 1:i=r.createLineString();break;case 2:i=r.createPolygon()}return i},Mg.difference=function(t,e){return t.isEmpty()?Mg.createEmptyResult(Mg.DIFFERENCE,t,e,t.getFactory()):e.isEmpty()?t.copy():(t.checkNotGeometryCollection(t),t.checkNotGeometryCollection(e),ug.overlayOp(t,e,Mg.DIFFERENCE))},Mg.isResultOfOp=function(){if(2===arguments.length){var t=arguments[0],e=arguments[1],n=t.getLocation(0),r=t.getLocation(1);return Mg.isResultOfOp(n,r,e)}if(3===arguments.length){var i=arguments[0],o=arguments[1],s=arguments[2];switch(i===pl.BOUNDARY&&(i=pl.INTERIOR),o===pl.BOUNDARY&&(o=pl.INTERIOR),s){case Mg.INTERSECTION:return i===pl.INTERIOR&&o===pl.INTERIOR;case Mg.UNION:return i===pl.INTERIOR||o===pl.INTERIOR;case Mg.DIFFERENCE:return i===pl.INTERIOR&&o!==pl.INTERIOR;case Mg.SYMDIFFERENCE:return i===pl.INTERIOR&&o!==pl.INTERIOR||i!==pl.INTERIOR&&o===pl.INTERIOR}return!1}},Mg.INTERSECTION=1,Mg.UNION=2,Mg.DIFFERENCE=3,Mg.SYMDIFFERENCE=4;var Lg=function(){this._g=null,this._boundaryDistanceTolerance=null,this._linework=null,this._ptLocator=new Pf,this._seg=new vp;var t=arguments[0],e=arguments[1];this._g=t,this._boundaryDistanceTolerance=e,this._linework=this.extractLinework(t)};Lg.prototype.isWithinToleranceOfBoundary=function(t){for(var e=this,n=0;n<this._linework.getNumGeometries();n++)for(var r=e._linework.getGeometryN(n).getCoordinateSequence(),i=0;i<r.size()-1;i++){if(r.getCoordinate(i,e._seg.p0),r.getCoordinate(i+1,e._seg.p1),e._seg.distance(t)<=e._boundaryDistanceTolerance)return!0}return!1},Lg.prototype.getLocation=function(t){return this.isWithinToleranceOfBoundary(t)?pl.BOUNDARY:this._ptLocator.locate(t,this._g)},Lg.prototype.extractLinework=function(t){var e=new Og;t.apply(e);var n=e.getLinework(),r=_h.toLineStringArray(n);return t.getFactory().createMultiLineString(r)},Lg.prototype.interfaces_=function(){return[]},Lg.prototype.getClass=function(){return Lg};var Og=function(){this._linework=null,this._linework=new lc};Og.prototype.getLinework=function(){return this._linework},Og.prototype.filter=function(t){if(t instanceof th){var e=t;this._linework.add(e.getExteriorRing());for(var n=0;n<e.getNumInteriorRing();n++)this._linework.add(e.getInteriorRingN(n))}},Og.prototype.interfaces_=function(){return[Dc]},Og.prototype.getClass=function(){return Og};var Rg=function(){this._g=null,this._doLeft=!0,this._doRight=!0;var t=arguments[0];this._g=t};Rg.prototype.extractPoints=function(t,e,n){for(var r=t.getCoordinates(),i=0;i<r.length-1;i++)this.computeOffsetPoints(r[i],r[i+1],e,n)},Rg.prototype.setSidesToGenerate=function(t,e){this._doLeft=t,this._doRight=e},Rg.prototype.getPoints=function(t){for(var e=new lc,n=Cf.getLines(this._g).iterator();n.hasNext();){var r=n.next();this.extractPoints(r,t,e)}return e},Rg.prototype.computeOffsetPoints=function(t,e,n,r){var i=e.x-t.x,o=e.y-t.y,s=Math.sqrt(i*i+o*o),a=n*i/s,u=n*o/s,l=(e.x+t.x)/2,c=(e.y+t.y)/2;if(this._doLeft){var h=new ul(l-u,c+a);r.add(h)}if(this._doRight){var p=new ul(l+u,c-a);r.add(p)}},Rg.prototype.interfaces_=function(){return[]},Rg.prototype.getClass=function(){return Rg};var Tg=function t(){this._geom=null,this._locFinder=null,this._location=new Array(3).fill(null),this._invalidLocation=null,this._boundaryDistanceTolerance=t.TOLERANCE,this._testCoords=new lc;var e=arguments[0],n=arguments[1],r=arguments[2];this._boundaryDistanceTolerance=t.computeBoundaryDistanceTolerance(e,n),this._geom=[e,n,r],this._locFinder=[new Lg(this._geom[0],this._boundaryDistanceTolerance),new Lg(this._geom[1],this._boundaryDistanceTolerance),new Lg(this._geom[2],this._boundaryDistanceTolerance)]},Ag={TOLERANCE:{configurable:!0}};Tg.prototype.reportResult=function(t,e,n){Pl.out.println(\"Overlay result invalid - A:\"+pl.toLocationSymbol(e[0])+\" B:\"+pl.toLocationSymbol(e[1])+\" expected:\"+(n?\"i\":\"e\")+\" actual:\"+pl.toLocationSymbol(e[2]))},Tg.prototype.isValid=function(t){this.addTestPts(this._geom[0]),this.addTestPts(this._geom[1]);var e=this.checkValid(t);return e},Tg.prototype.checkValid=function(){var t=this;if(1===arguments.length){for(var e=arguments[0],n=0;n<this._testCoords.size();n++){var r=t._testCoords.get(n);if(!t.checkValid(e,r))return t._invalidLocation=r,!1}return!0}if(2===arguments.length){var i=arguments[0],o=arguments[1];return this._location[0]=this._locFinder[0].getLocation(o),this._location[1]=this._locFinder[1].getLocation(o),this._location[2]=this._locFinder[2].getLocation(o),!!Tg.hasLocation(this._location,pl.BOUNDARY)||this.isValidResult(i,this._location)}},Tg.prototype.addTestPts=function(t){var e=new Rg(t);this._testCoords.addAll(e.getPoints(5*this._boundaryDistanceTolerance))},Tg.prototype.isValidResult=function(t,e){var n=Mg.isResultOfOp(e[0],e[1],t),r=!(n^e[2]===pl.INTERIOR);return r||this.reportResult(t,e,n),r},Tg.prototype.getInvalidLocation=function(){return this._invalidLocation},Tg.prototype.interfaces_=function(){return[]},Tg.prototype.getClass=function(){return Tg},Tg.hasLocation=function(t,e){for(var n=0;n<3;n++)if(t[n]===e)return!0;return!1},Tg.computeBoundaryDistanceTolerance=function(t,e){return Math.min($f.computeSizeBasedSnapTolerance(t),$f.computeSizeBasedSnapTolerance(e))},Tg.isValid=function(t,e,n,r){return new Tg(t,e,r).isValid(n)},Ag.TOLERANCE.get=function(){return 1e-6},Object.defineProperties(Tg,Ag);var Dg=function t(e){this._geomFactory=null,this._skipEmpty=!1,this._inputGeoms=null,this._geomFactory=t.extractFactory(e),this._inputGeoms=e};Dg.prototype.extractElements=function(t,e){if(null===t)return null;for(var n=0;n<t.getNumGeometries();n++){var r=t.getGeometryN(n);this._skipEmpty&&r.isEmpty()||e.add(r)}},Dg.prototype.combine=function(){for(var t=new lc,e=this._inputGeoms.iterator();e.hasNext();){var n=e.next();this.extractElements(n,t)}return 0===t.size()?null!==this._geomFactory?this._geomFactory.createGeometryCollection(null):null:this._geomFactory.buildGeometry(t)},Dg.prototype.interfaces_=function(){return[]},Dg.prototype.getClass=function(){return Dg},Dg.combine=function(){if(1===arguments.length){var t=arguments[0],e=new Dg(t);return e.combine()}if(2===arguments.length){var n=arguments[0],r=arguments[1],i=new Dg(Dg.createList(n,r));return i.combine()}if(3===arguments.length){var o=arguments[0],s=arguments[1],a=arguments[2],u=new Dg(Dg.createList(o,s,a));return u.combine()}},Dg.extractFactory=function(t){return t.isEmpty()?null:t.iterator().next().getFactory()},Dg.createList=function(){if(2===arguments.length){var t=arguments[0],e=arguments[1],n=new lc;return n.add(t),n.add(e),n}if(3===arguments.length){var r=arguments[0],i=arguments[1],o=arguments[2],s=new lc;return s.add(r),s.add(i),s.add(o),s}};var Fg=function(){this._inputPolys=null,this._geomFactory=null;var t=arguments[0];this._inputPolys=t,null===this._inputPolys&&(this._inputPolys=new lc)},kg={STRTREE_NODE_CAPACITY:{configurable:!0}};Fg.prototype.reduceToGeometries=function(t){for(var e=new lc,n=t.iterator();n.hasNext();){var r=n.next(),i=null;gl(r,ac)?i=this.unionTree(r):r instanceof Wl&&(i=r),e.add(i)}return e},Fg.prototype.extractByEnvelope=function(t,e,n){for(var r=new lc,i=0;i<e.getNumGeometries();i++){var o=e.getGeometryN(i);o.getEnvelopeInternal().intersects(t)?r.add(o):n.add(o)}return this._geomFactory.buildGeometry(r)},Fg.prototype.unionOptimized=function(t,e){var n=t.getEnvelopeInternal(),r=e.getEnvelopeInternal();if(!n.intersects(r))return Dg.combine(t,e);if(t.getNumGeometries()<=1&&e.getNumGeometries()<=1)return this.unionActual(t,e);var i=n.intersection(r);return this.unionUsingEnvelopeIntersection(t,e,i)},Fg.prototype.union=function(){if(null===this._inputPolys)throw new Error(\"union() method cannot be called twice\");if(this._inputPolys.isEmpty())return null;this._geomFactory=this._inputPolys.iterator().next().getFactory();for(var t=new up(Fg.STRTREE_NODE_CAPACITY),e=this._inputPolys.iterator();e.hasNext();){var n=e.next();t.insert(n.getEnvelopeInternal(),n)}this._inputPolys=null;var r=t.itemsTree();return this.unionTree(r)},Fg.prototype.binaryUnion=function(){if(1===arguments.length){var t=arguments[0];return this.binaryUnion(t,0,t.size())}if(3===arguments.length){var e=arguments[0],n=arguments[1],r=arguments[2];if(r-n<=1){var i=Fg.getGeometry(e,n);return this.unionSafe(i,null)}if(r-n==2)return this.unionSafe(Fg.getGeometry(e,n),Fg.getGeometry(e,n+1));var o=Math.trunc((r+n)/2),s=this.binaryUnion(e,n,o),a=this.binaryUnion(e,o,r);return this.unionSafe(s,a)}},Fg.prototype.repeatedUnion=function(t){for(var e=null,n=t.iterator();n.hasNext();){var r=n.next();e=null===e?r.copy():e.union(r)}return e},Fg.prototype.unionSafe=function(t,e){return null===t&&null===e?null:null===t?e.copy():null===e?t.copy():this.unionOptimized(t,e)},Fg.prototype.unionActual=function(t,e){return Fg.restrictToPolygons(t.union(e))},Fg.prototype.unionTree=function(t){var e=this.reduceToGeometries(t);return this.binaryUnion(e)},Fg.prototype.unionUsingEnvelopeIntersection=function(t,e,n){var r=new lc,i=this.extractByEnvelope(n,t,r),o=this.extractByEnvelope(n,e,r),s=this.unionActual(i,o);return r.add(s),Dg.combine(r)},Fg.prototype.bufferUnion=function(){if(1===arguments.length){var t=arguments[0],e=t.get(0).getFactory(),n=e.buildGeometry(t),r=n.buffer(0);return r}if(2===arguments.length){var i=arguments[0],o=arguments[1],s=i.getFactory(),a=s.createGeometryCollection([i,o]),u=a.buffer(0);return u}},Fg.prototype.interfaces_=function(){return[]},Fg.prototype.getClass=function(){return Fg},Fg.restrictToPolygons=function(t){if(gl(t,$c))return t;var e=Sf.getPolygons(t);return 1===e.size()?e.get(0):t.getFactory().createMultiPolygon(_h.toPolygonArray(e))},Fg.getGeometry=function(t,e){return e>=t.size()?null:t.get(e)},Fg.union=function(t){return new Fg(t).union()},kg.STRTREE_NODE_CAPACITY.get=function(){return 4},Object.defineProperties(Fg,kg);var Gg=function(){};function qg(){return new Bg}function Bg(){this.reset()}Gg.prototype.interfaces_=function(){return[]},Gg.prototype.getClass=function(){return Gg},Gg.union=function(t,e){if(t.isEmpty()||e.isEmpty()){if(t.isEmpty()&&e.isEmpty())return Mg.createEmptyResult(Mg.UNION,t,e,t.getFactory());if(t.isEmpty())return e.copy();if(e.isEmpty())return t.copy()}return t.checkNotGeometryCollection(t),t.checkNotGeometryCollection(e),ug.overlayOp(t,e,Mg.UNION)},Bg.prototype={constructor:Bg,reset:function(){this.s=this.t=0},add:function(t){jg(zg,t,this.t),jg(this,zg.s,this.s),this.s?this.t+=zg.t:this.s=zg.t},valueOf:function(){return this.s}};var zg=new Bg;function jg(t,e,n){var r=t.s=e+n,i=r-e,o=r-i;t.t=e-o+(n-i)}var Ug=1e-6,Vg=Math.PI,Xg=Vg/2,Yg=Vg/4,Hg=2*Vg,Wg=180/Vg,Jg=Vg/180,Zg=Math.abs,Kg=Math.atan,Qg=Math.atan2,$g=Math.cos,td=Math.sin,ed=Math.sqrt;function nd(t){return t>1?0:t<-1?Vg:Math.acos(t)}function rd(t){return t>1?Xg:t<-1?-Xg:Math.asin(t)}function id(){}function od(t,e){t&&ad.hasOwnProperty(t.type)&&ad[t.type](t,e)}var sd={Feature:function(t,e){od(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,i=n.length;++r<i;)od(n[r].geometry,e)}},ad={Sphere:function(t,e){e.sphere()},Point:function(t,e){t=t.coordinates,e.point(t[0],t[1],t[2])},MultiPoint:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)t=n[r],e.point(t[0],t[1],t[2])},LineString:function(t,e){ud(t.coordinates,e,0)},MultiLineString:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)ud(n[r],e,0)},Polygon:function(t,e){ld(t.coordinates,e)},MultiPolygon:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)ld(n[r],e)},GeometryCollection:function(t,e){for(var n=t.geometries,r=-1,i=n.length;++r<i;)od(n[r],e)}};function ud(t,e,n){var r,i=-1,o=t.length-n;for(e.lineStart();++i<o;)r=t[i],e.point(r[0],r[1],r[2]);e.lineEnd()}function ld(t,e){var n=-1,r=t.length;for(e.polygonStart();++n<r;)ud(t[n],e,1);e.polygonEnd()}qg(),qg();function cd(t){return[Qg(t[1],t[0]),rd(t[2])]}function hd(t){var e=t[0],n=t[1],r=$g(n);return[r*$g(e),r*td(e),td(n)]}function pd(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function fd(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function gd(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function dd(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function yd(t){var e=ed(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}qg();function vd(t,e){function n(n,r){return n=t(n,r),e(n[0],n[1])}return t.invert&&e.invert&&(n.invert=function(n,r){return(n=e.invert(n,r))&&t.invert(n[0],n[1])}),n}function _d(t,e){return[t>Vg?t-Hg:t<-Vg?t+Hg:t,e]}function md(t){return function(e,n){return[(e+=t)>Vg?e-Hg:e<-Vg?e+Hg:e,n]}}function xd(t){var e=md(t);return e.invert=md(-t),e}function Ed(t,e){var n=$g(t),r=td(t),i=$g(e),o=td(e);function s(t,e){var s=$g(e),a=$g(t)*s,u=td(t)*s,l=td(e),c=l*n+a*r;return[Qg(u*i-c*o,a*n-l*r),rd(c*i+u*o)]}return s.invert=function(t,e){var s=$g(e),a=$g(t)*s,u=td(t)*s,l=td(e),c=l*i-u*o;return[Qg(u*i+l*o,a*n+c*r),rd(c*n-a*r)]},s}function bd(t,e){(e=hd(e))[0]-=t,yd(e);var n=nd(-e[1]);return((-e[2]<0?-n:n)+Hg-Ug)%Hg}function wd(){var t,e=[];return{point:function(e,n){t.push([e,n])},lineStart:function(){e.push(t=[])},lineEnd:id,rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))},result:function(){var n=e;return e=[],t=null,n}}}function Id(t,e){return Zg(t[0]-e[0])<Ug&&Zg(t[1]-e[1])<Ug}function Nd(t,e,n,r){this.x=t,this.z=e,this.o=n,this.e=r,this.v=!1,this.n=this.p=null}function Sd(t,e,n,r,i){var o,s,a=[],u=[];if(t.forEach((function(t){if(!((e=t.length-1)<=0)){var e,n,r=t[0],s=t[e];if(Id(r,s)){for(i.lineStart(),o=0;o<e;++o)i.point((r=t[o])[0],r[1]);i.lineEnd()}else a.push(n=new Nd(r,t,null,!0)),u.push(n.o=new Nd(r,null,n,!1)),a.push(n=new Nd(s,t,null,!1)),u.push(n.o=new Nd(s,null,n,!0))}})),a.length){for(u.sort(e),Cd(a),Cd(u),o=0,s=u.length;o<s;++o)u[o].e=n=!n;for(var l,c,h=a[0];;){for(var p=h,f=!0;p.v;)if((p=p.n)===h)return;l=p.z,i.lineStart();do{if(p.v=p.o.v=!0,p.e){if(f)for(o=0,s=l.length;o<s;++o)i.point((c=l[o])[0],c[1]);else r(p.x,p.n.x,1,i);p=p.n}else{if(f)for(l=p.p.z,o=l.length-1;o>=0;--o)i.point((c=l[o])[0],c[1]);else r(p.x,p.p.x,-1,i);p=p.p}l=(p=p.o).z,f=!f}while(!p.v);i.lineEnd()}}}function Cd(t){if(e=t.length){for(var e,n,r=0,i=t[0];++r<e;)i.n=n=t[r],n.p=i,i=n;i.n=n=t[0],n.p=i}}function Pd(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}_d.invert=_d;var Md,Ld;1===(Md=Pd).length&&(Ld=Md,Md=function(t,e){return Pd(Ld(t),e)});function Od(t){for(var e,n,r,i=t.length,o=-1,s=0;++o<i;)s+=t[o].length;for(n=new Array(s);--i>=0;)for(e=(r=t[i]).length;--e>=0;)n[--s]=r[e];return n}var Rd=1e9,Td=-Rd;function Ad(t,e,n,r){function i(i,o){return t<=i&&i<=n&&e<=o&&o<=r}function o(i,o,a,l){var c=0,h=0;if(null==i||(c=s(i,a))!==(h=s(o,a))||u(i,o)<0^a>0)do{l.point(0===c||3===c?t:n,c>1?r:e)}while((c=(c+a+4)%4)!==h);else l.point(o[0],o[1])}function s(r,i){return Zg(r[0]-t)<Ug?i>0?0:3:Zg(r[0]-n)<Ug?i>0?2:1:Zg(r[1]-e)<Ug?i>0?1:0:i>0?3:2}function a(t,e){return u(t.x,e.x)}function u(t,e){var n=s(t,1),r=s(e,1);return n!==r?n-r:0===n?e[1]-t[1]:1===n?t[0]-e[0]:2===n?t[1]-e[1]:e[0]-t[0]}return function(s){var u,l,c,h,p,f,g,d,y,v,_,m=s,x=wd(),E={point:b,lineStart:function(){E.point=w,l&&l.push(c=[]);v=!0,y=!1,g=d=NaN},lineEnd:function(){u&&(w(h,p),f&&y&&x.rejoin(),u.push(x.result()));E.point=b,y&&m.lineEnd()},polygonStart:function(){m=x,u=[],l=[],_=!0},polygonEnd:function(){var e=function(){for(var e=0,n=0,i=l.length;n<i;++n)for(var o,s,a=l[n],u=1,c=a.length,h=a[0],p=h[0],f=h[1];u<c;++u)o=p,s=f,p=(h=a[u])[0],f=h[1],s<=r?f>r&&(p-o)*(r-s)>(f-s)*(t-o)&&++e:f<=r&&(p-o)*(r-s)<(f-s)*(t-o)&&--e;return e}(),n=_&&e,i=(u=Od(u)).length;(n||i)&&(s.polygonStart(),n&&(s.lineStart(),o(null,null,1,s),s.lineEnd()),i&&Sd(u,a,e,o,s),s.polygonEnd());m=s,u=l=c=null}};function b(t,e){i(t,e)&&m.point(t,e)}function w(o,s){var a=i(o,s);if(l&&c.push([o,s]),v)h=o,p=s,f=a,v=!1,a&&(m.lineStart(),m.point(o,s));else if(a&&y)m.point(o,s);else{var u=[g=Math.max(Td,Math.min(Rd,g)),d=Math.max(Td,Math.min(Rd,d))],x=[o=Math.max(Td,Math.min(Rd,o)),s=Math.max(Td,Math.min(Rd,s))];!function(t,e,n,r,i,o){var s,a=t[0],u=t[1],l=0,c=1,h=e[0]-a,p=e[1]-u;if(s=n-a,h||!(s>0)){if(s/=h,h<0){if(s<l)return;s<c&&(c=s)}else if(h>0){if(s>c)return;s>l&&(l=s)}if(s=i-a,h||!(s<0)){if(s/=h,h<0){if(s>c)return;s>l&&(l=s)}else if(h>0){if(s<l)return;s<c&&(c=s)}if(s=r-u,p||!(s>0)){if(s/=p,p<0){if(s<l)return;s<c&&(c=s)}else if(p>0){if(s>c)return;s>l&&(l=s)}if(s=o-u,p||!(s<0)){if(s/=p,p<0){if(s>c)return;s>l&&(l=s)}else if(p>0){if(s<l)return;s<c&&(c=s)}return l>0&&(t[0]=a+l*h,t[1]=u+l*p),c<1&&(e[0]=a+c*h,e[1]=u+c*p),!0}}}}}(u,x,t,e,n,r)?a&&(m.lineStart(),m.point(o,s),_=!1):(y||(m.lineStart(),m.point(u[0],u[1])),m.point(x[0],x[1]),a||m.lineEnd(),_=!1)}g=o,d=s,y=a}return E}}var Dd=qg();qg();function Fd(t){return t}qg(),qg();var kd=1/0,Gd=kd,qd=-kd,Bd=qd,zd={point:function(t,e){t<kd&&(kd=t);t>qd&&(qd=t);e<Gd&&(Gd=e);e>Bd&&(Bd=e)},lineStart:id,lineEnd:id,polygonStart:id,polygonEnd:id,result:function(){var t=[[kd,Gd],[qd,Bd]];return qd=Bd=-(Gd=kd=1/0),t}};qg();function jd(t,e,n,r){return function(i,o){var s,a,u,l=e(o),c=i.invert(r[0],r[1]),h=wd(),p=e(h),f=!1,g={point:d,lineStart:v,lineEnd:_,polygonStart:function(){g.point=m,g.lineStart=x,g.lineEnd=E,a=[],s=[]},polygonEnd:function(){g.point=d,g.lineStart=v,g.lineEnd=_,a=Od(a);var t=function(t,e){var n=e[0],r=e[1],i=[td(n),-$g(n),0],o=0,s=0;Dd.reset();for(var a=0,u=t.length;a<u;++a)if(c=(l=t[a]).length)for(var l,c,h=l[c-1],p=h[0],f=h[1]/2+Yg,g=td(f),d=$g(f),y=0;y<c;++y,p=_,g=x,d=E,h=v){var v=l[y],_=v[0],m=v[1]/2+Yg,x=td(m),E=$g(m),b=_-p,w=b>=0?1:-1,I=w*b,N=I>Vg,S=g*x;if(Dd.add(Qg(S*w*td(I),d*E+S*$g(I))),o+=N?b+w*Hg:b,N^p>=n^_>=n){var C=fd(hd(h),hd(v));yd(C);var P=fd(i,C);yd(P);var M=(N^b>=0?-1:1)*rd(P[2]);(r>M||r===M&&(C[0]||C[1]))&&(s+=N^b>=0?1:-1)}}return(o<-1e-6||o<Ug&&Dd<-1e-6)^1&s}(s,c);a.length?(f||(o.polygonStart(),f=!0),Sd(a,Vd,t,n,o)):t&&(f||(o.polygonStart(),f=!0),o.lineStart(),n(null,null,1,o),o.lineEnd()),f&&(o.polygonEnd(),f=!1),a=s=null},sphere:function(){o.polygonStart(),o.lineStart(),n(null,null,1,o),o.lineEnd(),o.polygonEnd()}};function d(e,n){var r=i(e,n);t(e=r[0],n=r[1])&&o.point(e,n)}function y(t,e){var n=i(t,e);l.point(n[0],n[1])}function v(){g.point=y,l.lineStart()}function _(){g.point=d,l.lineEnd()}function m(t,e){u.push([t,e]);var n=i(t,e);p.point(n[0],n[1])}function x(){p.lineStart(),u=[]}function E(){m(u[0][0],u[0][1]),p.lineEnd();var t,e,n,r,i=p.clean(),l=h.result(),c=l.length;if(u.pop(),s.push(u),u=null,c)if(1&i){if((e=(n=l[0]).length-1)>0){for(f||(o.polygonStart(),f=!0),o.lineStart(),t=0;t<e;++t)o.point((r=n[t])[0],r[1]);o.lineEnd()}}else c>1&&2&i&&l.push(l.pop().concat(l.shift())),a.push(l.filter(Ud))}return g}}function Ud(t){return t.length>1}function Vd(t,e){return((t=t.x)[0]<0?t[1]-Xg-Ug:Xg-t[1])-((e=e.x)[0]<0?e[1]-Xg-Ug:Xg-e[1])}var Xd=jd((function(){return!0}),(function(t){var e,n=NaN,r=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(o,s){var a=o>0?Vg:-Vg,u=Zg(o-n);Zg(u-Vg)<Ug?(t.point(n,r=(r+s)/2>0?Xg:-Xg),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(a,r),t.point(o,r),e=0):i!==a&&u>=Vg&&(Zg(n-i)<Ug&&(n-=i*Ug),Zg(o-a)<Ug&&(o-=a*Ug),r=function(t,e,n,r){var i,o,s=td(t-n);return Zg(s)>Ug?Kg((td(e)*(o=$g(r))*td(n)-td(r)*(i=$g(e))*td(t))/(i*o*s)):(e+r)/2}(n,r,o,s),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(a,r),e=0),t.point(n=o,r=s),i=a},lineEnd:function(){t.lineEnd(),n=r=NaN},clean:function(){return 2-e}}}),(function(t,e,n,r){var i;if(null==t)i=n*Xg,r.point(-Vg,i),r.point(0,i),r.point(Vg,i),r.point(Vg,0),r.point(Vg,-i),r.point(0,-i),r.point(-Vg,-i),r.point(-Vg,0),r.point(-Vg,i);else if(Zg(t[0]-e[0])>Ug){var o=t[0]<e[0]?Vg:-Vg;i=n*o/2,r.point(-o,i),r.point(0,i),r.point(o,i)}else r.point(e[0],e[1])}),[-Vg,-Xg]);function Yd(t,e){var n=$g(t),r=n>0,i=Zg(n)>Ug;function o(t,e){return $g(t)*$g(e)>n}function s(t,e,r){var i=[1,0,0],o=fd(hd(t),hd(e)),s=pd(o,o),a=o[0],u=s-a*a;if(!u)return!r&&t;var l=n*s/u,c=-n*a/u,h=fd(i,o),p=dd(i,l);gd(p,dd(o,c));var f=h,g=pd(p,f),d=pd(f,f),y=g*g-d*(pd(p,p)-1);if(!(y<0)){var v=ed(y),_=dd(f,(-g-v)/d);if(gd(_,p),_=cd(_),!r)return _;var m,x=t[0],E=e[0],b=t[1],w=e[1];E<x&&(m=x,x=E,E=m);var I=E-x,N=Zg(I-Vg)<Ug;if(!N&&w<b&&(m=b,b=w,w=m),N||I<Ug?N?b+w>0^_[1]<(Zg(_[0]-x)<Ug?b:w):b<=_[1]&&_[1]<=w:I>Vg^(x<=_[0]&&_[0]<=E)){var S=dd(f,(-g+v)/d);return gd(S,p),[_,cd(S)]}}}function a(e,n){var i=r?t:Vg-t,o=0;return e<-i?o|=1:e>i&&(o|=2),n<-i?o|=4:n>i&&(o|=8),o}return jd(o,(function(t){var e,n,u,l,c;return{lineStart:function(){l=u=!1,c=1},point:function(h,p){var f,g=[h,p],d=o(h,p),y=r?d?0:a(h,p):d?a(h+(h<0?Vg:-Vg),p):0;if(!e&&(l=u=d)&&t.lineStart(),d!==u&&(!(f=s(e,g))||Id(e,f)||Id(g,f))&&(g[0]+=Ug,g[1]+=Ug,d=o(g[0],g[1])),d!==u)c=0,d?(t.lineStart(),f=s(g,e),t.point(f[0],f[1])):(f=s(e,g),t.point(f[0],f[1]),t.lineEnd()),e=f;else if(i&&e&&r^d){var v;y&n||!(v=s(g,e,!0))||(c=0,r?(t.lineStart(),t.point(v[0][0],v[0][1]),t.point(v[1][0],v[1][1]),t.lineEnd()):(t.point(v[1][0],v[1][1]),t.lineEnd(),t.lineStart(),t.point(v[0][0],v[0][1])))}!d||e&&Id(e,g)||t.point(g[0],g[1]),e=g,u=d,n=y},lineEnd:function(){u&&t.lineEnd(),e=null},clean:function(){return c|(l&&u)<<1}}}),(function(n,r,i,o){!function(t,e,n,r,i,o){if(n){var s=$g(e),a=td(e),u=r*n;null==i?(i=e+r*Hg,o=e-u/2):(i=bd(s,i),o=bd(s,o),(r>0?i<o:i>o)&&(i+=r*Hg));for(var l,c=i;r>0?c>o:c<o;c-=u)l=cd([s,-a*$g(c),-a*td(c)]),t.point(l[0],l[1])}}(o,t,e,i,n,r)}),r?[0,-t]:[-Vg,t-Vg])}function Hd(t){return function(e){var n=new Wd;for(var r in t)n[r]=t[r];return n.stream=e,n}}function Wd(){}function Jd(t,e,n){var r=e[1][0]-e[0][0],i=e[1][1]-e[0][1],o=t.clipExtent&&t.clipExtent();t.scale(150).translate([0,0]),null!=o&&t.clipExtent(null),function(t,e){t&&sd.hasOwnProperty(t.type)?sd[t.type](t,e):od(t,e)}(n,t.stream(zd));var s=zd.result(),a=Math.min(r/(s[1][0]-s[0][0]),i/(s[1][1]-s[0][1])),u=+e[0][0]+(r-a*(s[1][0]+s[0][0]))/2,l=+e[0][1]+(i-a*(s[1][1]+s[0][1]))/2;return null!=o&&t.clipExtent(o),t.scale(150*a).translate([u,l])}Wd.prototype={constructor:Wd,point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};var Zd=$g(30*Jg);function Kd(t,e){return+e?function(t,e){function n(r,i,o,s,a,u,l,c,h,p,f,g,d,y){var v=l-r,_=c-i,m=v*v+_*_;if(m>4*e&&d--){var x=s+p,E=a+f,b=u+g,w=ed(x*x+E*E+b*b),I=rd(b/=w),N=Zg(Zg(b)-1)<Ug||Zg(o-h)<Ug?(o+h)/2:Qg(E,x),S=t(N,I),C=S[0],P=S[1],M=C-r,L=P-i,O=_*M-v*L;(O*O/m>e||Zg((v*M+_*L)/m-.5)>.3||s*p+a*f+u*g<Zd)&&(n(r,i,o,s,a,u,C,P,N,x/=w,E/=w,b,d,y),y.point(C,P),n(C,P,N,x,E,b,l,c,h,p,f,g,d,y))}}return function(e){var r,i,o,s,a,u,l,c,h,p,f,g,d={point:y,lineStart:v,lineEnd:m,polygonStart:function(){e.polygonStart(),d.lineStart=x},polygonEnd:function(){e.polygonEnd(),d.lineStart=v}};function y(n,r){n=t(n,r),e.point(n[0],n[1])}function v(){c=NaN,d.point=_,e.lineStart()}function _(r,i){var o=hd([r,i]),s=t(r,i);n(c,h,l,p,f,g,c=s[0],h=s[1],l=r,p=o[0],f=o[1],g=o[2],16,e),e.point(c,h)}function m(){d.point=y,e.lineEnd()}function x(){v(),d.point=E,d.lineEnd=b}function E(t,e){_(r=t,e),i=c,o=h,s=p,a=f,u=g,d.point=_}function b(){n(c,h,l,p,f,g,i,o,r,s,a,u,16,e),d.lineEnd=m,m()}return d}}(t,e):function(t){return Hd({point:function(e,n){e=t(e,n),this.stream.point(e[0],e[1])}})}(t)}var Qd=Hd({point:function(t,e){this.stream.point(t*Jg,e*Jg)}});function $d(t){return function(t){var e,n,r,i,o,s,a,u,l,c,h=150,p=480,f=250,g=0,d=0,y=0,v=0,_=0,m=null,x=Xd,E=null,b=Fd,w=.5,I=Kd(C,w);function N(t){return[(t=o(t[0]*Jg,t[1]*Jg))[0]*h+n,r-t[1]*h]}function S(t){return(t=o.invert((t[0]-n)/h,(r-t[1])/h))&&[t[0]*Wg,t[1]*Wg]}function C(t,i){return[(t=e(t,i))[0]*h+n,r-t[1]*h]}function P(){o=vd(i=function(t,e,n){return(t%=Hg)?e||n?vd(xd(t),Ed(e,n)):xd(t):e||n?Ed(e,n):_d}(y,v,_),e);var t=e(g,d);return n=p-t[0]*h,r=f+t[1]*h,M()}function M(){return l=c=null,N}return N.stream=function(t){return l&&c===t?l:l=Qd(x(i,I(b(c=t))))},N.clipAngle=function(t){return arguments.length?(x=+t?Yd(m=t*Jg,6*Jg):(m=null,Xd),M()):m*Wg},N.clipExtent=function(t){return arguments.length?(b=null==t?(E=s=a=u=null,Fd):Ad(E=+t[0][0],s=+t[0][1],a=+t[1][0],u=+t[1][1]),M()):null==E?null:[[E,s],[a,u]]},N.scale=function(t){return arguments.length?(h=+t,P()):h},N.translate=function(t){return arguments.length?(p=+t[0],f=+t[1],P()):[p,f]},N.center=function(t){return arguments.length?(g=t[0]%360*Jg,d=t[1]%360*Jg,P()):[g*Wg,d*Wg]},N.rotate=function(t){return arguments.length?(y=t[0]%360*Jg,v=t[1]%360*Jg,_=t.length>2?t[2]%360*Jg:0,P()):[y*Wg,v*Wg,_*Wg]},N.precision=function(t){return arguments.length?(I=Kd(C,w=t*t),M()):ed(w)},N.fitExtent=function(t,e){return Jd(N,t,e)},N.fitSize=function(t,e){return function(t,e,n){return Jd(t,[[0,0],e],n)}(N,t,e)},function(){return e=t.apply(this,arguments),N.invert=e.invert&&S,P()}}((function(){return t}))()}var ty=function(t){return function(e,n){var r=$g(e),i=$g(n),o=t(r*i);return[o*i*td(e),o*td(n)]}}((function(t){return(t=nd(t))&&t/td(t)}));function ey(){return $d(ty).scale(79.4188).clipAngle(179.999)}function ny(t,n,r,i){var s=t.properties||{},a=\"Feature\"===t.type?t.geometry:t;if(\"GeometryCollection\"===a.type){var u=[];return q(t,(function(t){var e=ny(t,n,r,i);e&&u.push(e)})),f(u)}var l=function(t){var n=xn(t).geometry.coordinates,r=[-n[0],-n[1]];return ey().rotate(r).scale(e)}(a),c={type:a.type,coordinates:iy(a.coordinates,l)},h=(new Ih).read(c),p=m(x(n,r),\"meters\"),g=_f.bufferOp(h,p,i);if(!ry((g=(new Nh).write(g)).coordinates))return o({type:g.type,coordinates:oy(g.coordinates,l)},s)}function ry(t){return Array.isArray(t[0])?ry(t[0]):isNaN(t[0])}function iy(t,e){return\"object\"!=typeof t[0]?e(t):t.map((function(t){return iy(t,e)}))}function oy(t,e){return\"object\"!=typeof t[0]?e.invert(t):t.map((function(t){return oy(t,e)}))}function sy(t,e,n){void 0===n&&(n={});var r=rt(t),i=rt(e),o=$u.intersection(r.coordinates,i.coordinates);return 0===o.length?null:1===o.length?l(o[0],n.properties):y(o,n.properties)}function ay(t,e,n){void 0===n&&(n={});var r=JSON.stringify(n.properties||{}),i=t[0],o=t[1],s=t[2],a=t[3],u=(o+a)/2,l=(i+s)/2,c=2*e/me([i,u],[s,u],n)*(s-i),h=2*e/me([l,o],[l,a],n)*(a-o),p=c/2,g=2*p,d=Math.sqrt(3)/2*h,y=s-i,v=a-o,_=3/4*g,m=d,x=(y-g)/(g-p/2),E=Math.floor(x),b=(E*_-p/2-y)/2-p/2+_/2,w=Math.floor((v-d)/d),I=(v-w*d)/2,N=w*d-v>d/2;N&&(I-=d/4);for(var S=[],C=[],P=0;P<6;P++){var M=2*Math.PI/6*P;S.push(Math.cos(M)),C.push(Math.sin(M))}for(var L=[],O=0;O<=E;O++)for(var R=0;R<=w;R++){var T=O%2==1;if((0!==R||!T)&&(0!==R||!N)){var A=O*_+i-b,D=R*m+o+I;if(T&&(D-=d/2),!0===n.triangles)ly([A,D],c/2,h/2,JSON.parse(r),S,C).forEach((function(t){n.mask?sy(n.mask,t)&&L.push(t):L.push(t)}));else{var F=uy([A,D],c/2,h/2,JSON.parse(r),S,C);n.mask?sy(n.mask,F)&&L.push(F):L.push(F)}}}return f(L)}function uy(t,e,n,r,i,o){for(var s=[],a=0;a<6;a++){var u=t[0]+e*i[a],c=t[1]+n*o[a];s.push([u,c])}return s.push(s[0].slice()),l([s],r)}function ly(t,e,n,r,i,o){for(var s=[],a=0;a<6;a++){var u=[];u.push(t),u.push([t[0]+e*i[a],t[1]+n*o[a]]),u.push([t[0]+e*i[(a+1)%6],t[1]+n*o[(a+1)%6]]),u.push(t),s.push(l([u],r))}return s}function cy(t){return y(t)}function hy(t){return l(t&&t.geometry.coordinates||[[[180,90],[-180,90],[-180,-90],[180,-90],[180,90]]])}function py(t,e,n){return void 0===n&&(n={}),function(t,e,n,r){void 0===r&&(r={});for(var i=[],o=t[0],s=t[1],a=t[2],u=t[3],c=e/me([o,s],[a,s],r)*(a-o),h=n/me([o,s],[o,u],r)*(u-s),p=a-o,g=u-s,d=Math.floor(p/c),y=Math.floor(g/h),v=(g-y*h)/2,_=o+(p-d*c)/2,m=0;m<d;m++){for(var x=s+v,E=0;E<y;E++){var b=l([[[_,x],[_,x+h],[_+c,x+h],[_+c,x],[_,x]]],r.properties);r.mask?Ps(r.mask,b)&&i.push(b):i.push(b),x+=h}_+=c}return f(i)}(t,e,e,n)}function fy(t,e,n){void 0===n&&(n={});for(var r=[],i=e/me([t[0],t[1]],[t[2],t[1]],n)*(t[2]-t[0]),o=e/me([t[0],t[1]],[t[0],t[3]],n)*(t[3]-t[1]),s=0,a=t[0];a<=t[2];){for(var u=0,c=t[1];c<=t[3];){var h=null,p=null;s%2==0&&u%2==0?(h=l([[[a,c],[a,c+o],[a+i,c],[a,c]]],n.properties),p=l([[[a,c+o],[a+i,c+o],[a+i,c],[a,c+o]]],n.properties)):s%2==0&&u%2==1?(h=l([[[a,c],[a+i,c+o],[a+i,c],[a,c]]],n.properties),p=l([[[a,c],[a,c+o],[a+i,c+o],[a,c]]],n.properties)):u%2==0&&s%2==1?(h=l([[[a,c],[a,c+o],[a+i,c+o],[a,c]]],n.properties),p=l([[[a,c],[a+i,c+o],[a+i,c],[a,c]]],n.properties)):u%2==1&&s%2==1&&(h=l([[[a,c],[a,c+o],[a+i,c],[a,c]]],n.properties),p=l([[[a,c+o],[a+i,c+o],[a+i,c],[a,c+o]]],n.properties)),n.mask?(sy(n.mask,h)&&r.push(h),sy(n.mask,p)&&r.push(p)):(r.push(h),r.push(p)),c+=o,u++}s++,a+=i}return f(r)}ty.invert=function(t){return function(e,n){var r=ed(e*e+n*n),i=t(r),o=td(i),s=$g(i);return[Qg(e*o,r*s),rd(r&&n*o/r)]}}((function(t){return t})),t.along=function(t,e,n){void 0===n&&(n={});for(var r=rt(t).coordinates,i=0,o=0;o<r.length&&!(e>=i&&o===r.length-1);o++){if(i>=e){var s=e-i;if(s){var u=mn(r[o],r[o-1])-180;return vn(r[o],s,u,n)}return a(r[o])}i+=me(r[o],r[o+1],n)}return a(r[r.length-1])},t.angle=function(t,e,n,r){if(void 0===r&&(r={}),!P(r))throw new Error(\"options is invalid\");if(!t)throw new Error(\"startPoint is required\");if(!e)throw new Error(\"midPoint is required\");if(!n)throw new Error(\"endPoint is required\");var i=t,o=e,s=n,a=b(!0!==r.mercator?mn(i,o):Bi(i,o)),u=b(!0!==r.mercator?mn(s,o):Bi(s,o)),l=Math.abs(a-u);return!0===r.explementary?360-l:l},t.applyFilter=uu,t.area=jr,t.areaFactors=i,t.bbox=Z,t.bboxClip=function(t,e){var n=rt(t),r=n.type,i=\"Feature\"===t.type?t.properties:{},o=n.coordinates;switch(r){case\"LineString\":case\"MultiLineString\":var s=[];return\"LineString\"===r&&(o=[o]),o.forEach((function(t){!function(t,e,n){var r,i,o,s,a,u=t.length,l=Ri(t[0],e),c=[];for(n||(n=[]),r=1;r<u;r++){for(s=t[r-1],i=o=Ri(a=t[r],e);;){if(!(l|i)){c.push(s),i!==o?(c.push(a),r<u-1&&(n.push(c),c=[])):r===u-1&&c.push(a);break}if(l&i)break;l?l=Ri(s=Oi(s,a,l,e),e):i=Ri(a=Oi(s,a,i,e),e)}l=o}c.length&&n.push(c)}(t,e,s)})),1===s.length?h(s[0],i):g(s,i);case\"Polygon\":return l(Ti(o,e),i);case\"MultiPolygon\":return y(o.map((function(t){return Ti(t,e)})),i);default:throw new Error(\"geometry \"+r+\" not supported\")}},t.bboxPolygon=gn,t.bearing=mn,t.bearingToAngle=b,t.bearingToAzimuth=b,t.bezier=fn,t.bezierSpline=fn,t.booleanClockwise=Yi,t.booleanContains=function(t,e){var n=rt(t),r=rt(e),i=n.type,o=r.type,s=n.coordinates,a=r.coordinates;switch(i){case\"Point\":switch(o){case\"Point\":return vs(s,a);default:throw new Error(\"feature2 \"+o+\" geometry not supported\")}case\"MultiPoint\":switch(o){case\"Point\":return function(t,e){var n,r=!1;for(n=0;n<t.coordinates.length;n++)if(vs(t.coordinates[n],e.coordinates)){r=!0;break}return r}(n,r);case\"MultiPoint\":return function(t,e){for(var n=0,r=e.coordinates;n<r.length;n++){for(var i=r[n],o=!1,s=0,a=t.coordinates;s<a.length;s++){if(vs(i,a[s])){o=!0;break}}if(!o)return!1}return!0}(n,r);default:throw new Error(\"feature2 \"+o+\" geometry not supported\")}case\"LineString\":switch(o){case\"Point\":return Wr(r,n,{ignoreEndVertices:!0});case\"LineString\":return function(t,e){for(var n=!1,r=0,i=e.coordinates;r<i.length;r++){var o=i[r];if(Wr({type:\"Point\",coordinates:o},t,{ignoreEndVertices:!0})&&(n=!0),!Wr({type:\"Point\",coordinates:o},t,{ignoreEndVertices:!1}))return!1}return n}(n,r);case\"MultiPoint\":return function(t,e){for(var n=!1,r=0,i=e.coordinates;r<i.length;r++){var o=i[r];if(Wr(o,t,{ignoreEndVertices:!0})&&(n=!0),!Wr(o,t))return!1}if(n)return!0;return!1}(n,r);default:throw new Error(\"feature2 \"+o+\" geometry not supported\")}case\"Polygon\":switch(o){case\"Point\":return ye(r,n,{ignoreBoundary:!0});case\"LineString\":return function(t,e){var n=!1,r=0,i=Z(t),o=Z(e);if(!ys(i,o))return!1;for(;r<e.coordinates.length-1;r++){if(ye({type:\"Point\",coordinates:_s(e.coordinates[r],e.coordinates[r+1])},t,{ignoreBoundary:!0})){n=!0;break}}return n}(n,r);case\"Polygon\":return function(t,e){if(\"Feature\"===t.type&&null===t.geometry)return!1;if(\"Feature\"===e.type&&null===e.geometry)return!1;var n=Z(t),r=Z(e);if(!ys(n,r))return!1;for(var i=rt(e).coordinates,o=0,s=i;o<s.length;o++)for(var a=0,u=s[o];a<u.length;a++){if(!ye(u[a],t))return!1}return!0}(n,r);case\"MultiPoint\":return function(t,e){for(var n=0,r=e.coordinates;n<r.length;n++){if(!ye(r[n],t,{ignoreBoundary:!0}))return!1}return!0}(n,r);default:throw new Error(\"feature2 \"+o+\" geometry not supported\")}default:throw new Error(\"feature1 \"+i+\" geometry not supported\")}},t.booleanCrosses=function(t,e){var n=rt(t),r=rt(e),i=n.type,o=r.type;switch(i){case\"MultiPoint\":switch(o){case\"LineString\":return ms(n,r);case\"Polygon\":return Es(n,r);default:throw new Error(\"feature2 \"+o+\" geometry not supported\")}case\"LineString\":switch(o){case\"MultiPoint\":return ms(r,n);case\"LineString\":return function(t,e){if(Or(t,e).features.length>0)for(var n=0;n<t.coordinates.length-1;n++)for(var r=0;r<e.coordinates.length-1;r++){var i=!0;if(0!==r&&r!==e.coordinates.length-2||(i=!1),bs(t.coordinates[n],t.coordinates[n+1],e.coordinates[r],i))return!0}return!1}(n,r);case\"Polygon\":return xs(n,r);default:throw new Error(\"feature2 \"+o+\" geometry not supported\")}case\"Polygon\":switch(o){case\"MultiPoint\":return Es(r,n);case\"LineString\":return xs(r,n);default:throw new Error(\"feature2 \"+o+\" geometry not supported\")}default:throw new Error(\"feature1 \"+i+\" geometry not supported\")}},t.booleanDisjoint=ps,t.booleanEqual=function(t,e){return rt(t).type===rt(e).type&&new Cs({precision:6}).compare(tn(t),tn(e))},t.booleanIntersects=Ps,t.booleanOverlap=function(t,e){var n=rt(t),r=rt(e),i=n.type,o=r.type;if(\"MultiPoint\"===i&&\"MultiPoint\"!==o||(\"LineString\"===i||\"MultiLineString\"===i)&&\"LineString\"!==o&&\"MultiLineString\"!==o||(\"Polygon\"===i||\"MultiPolygon\"===i)&&\"Polygon\"!==o&&\"MultiPolygon\"!==o)throw new Error(\"features must be of the same type\");if(\"Point\"===i)throw new Error(\"Point geometry not supported\");if(new Cs({precision:6}).compare(t,e))return!1;var s=0;switch(i){case\"MultiPoint\":for(var a=0;a<n.coordinates.length;a++)for(var u=0;u<r.coordinates.length;u++){var l=n.coordinates[a],c=r.coordinates[u];if(l[0]===c[0]&&l[1]===c[1])return!0}return!1;case\"LineString\":case\"MultiLineString\":U(t,(function(t){U(e,(function(e){ki(t,e).features.length&&s++}))}));break;case\"Polygon\":case\"MultiPolygon\":U(t,(function(t){U(e,(function(e){Or(t,e).features.length&&s++}))}))}return s>0},t.booleanParallel=function(t,e){if(!t)throw new Error(\"line1 is required\");if(!e)throw new Error(\"line2 is required\");if(\"LineString\"!==Us(t,\"line1\"))throw new Error(\"line1 must be a LineString\");if(\"LineString\"!==Us(e,\"line2\"))throw new Error(\"line2 must be a LineString\");for(var n=Zn(tn(t)).features,r=Zn(tn(e)).features,i=0;i<n.length;i++){var o=n[i].geometry.coordinates;if(!r[i])break;if(!js(o,r[i].geometry.coordinates))return!1}return!0},t.booleanPointInPolygon=ye,t.booleanPointOnLine=Wr,t.booleanWithin=Zr,t.buffer=function(t,e,n){var r=(n=n||{}).units||\"kilometers\",i=n.steps||8;if(!t)throw new Error(\"geojson is required\");if(\"object\"!=typeof n)throw new Error(\"options must be an object\");if(\"number\"!=typeof i)throw new Error(\"steps must be an number\");if(void 0===e)throw new Error(\"radius is required\");if(i<=0)throw new Error(\"steps must be greater than 0\");var o=[];switch(t.type){case\"GeometryCollection\":return q(t,(function(t){var n=ny(t,e,r,i);n&&o.push(n)})),f(o);case\"FeatureCollection\":return F(t,(function(t){var n=ny(t,e,r,i);n&&F(n,(function(t){t&&o.push(t)}))})),f(o)}return ny(t,e,r,i)},t.center=xn,t.centerMean=Fa,t.centerMedian=function(t,e){if(void 0===e&&(e={}),!P(e=e||{}))throw new Error(\"options is invalid\");var n=e.counter||10;if(!C(n))throw new Error(\"counter must be a number\");var r=e.weight,i=Fa(t,{weight:e.weight}),o=f([]);F(t,(function(t){var e;o.features.push(En(t,{properties:{weight:null===(e=t.properties)||void 0===e?void 0:e[r]}}))}));var s={tolerance:e.tolerance,medianCandidates:[]};return ka(i.geometry.coordinates,[0,0],o,s,n)},t.centerOfMass=function t(e,n){switch(void 0===n&&(n={}),it(e)){case\"Point\":return a(K(e),n.properties);case\"Polygon\":var r=[];R(e,(function(t){r.push(t)}));var i,o,s,u,l,c,h,p,f=En(e,{properties:n.properties}),g=f.geometry.coordinates,d=0,y=0,v=0,_=r.map((function(t){return[t[0]-g[0],t[1]-g[1]]}));for(i=0;i<r.length-1;i++)u=(o=_[i])[0],c=o[1],l=(s=_[i+1])[0],v+=p=u*(h=s[1])-l*c,d+=(u+l)*p,y+=(c+h)*p;if(0===v)return f;var m=1/(6*(.5*v));return a([g[0]+m*d,g[1]+m*y],n.properties);default:var x=de(e);return x?t(x,{properties:n.properties}):En(e,{properties:n.properties})}},t.centroid=En,t.circle=_n,t.cleanCoords=tn,t.clone=Ie,t.clusterEach=ou,t.clusterReduce=su,t.clusters=hu,t.clustersDbscan=function(t,e,n){void 0===n&&(n={}),!0!==n.mutate&&(t=Ie(t)),n.minPoints=n.minPoints||3;var r=new Ts.DBSCAN,i=r.run(G(t),N(e,n.units),n.minPoints,me),o=-1;return i.forEach((function(e){o++,e.forEach((function(e){var n=t.features[e];n.properties||(n.properties={}),n.properties.cluster=o,n.properties.dbscan=\"core\"}))})),r.noise.forEach((function(e){var n=t.features[e];n.properties||(n.properties={}),n.properties.cluster?n.properties.dbscan=\"edge\":n.properties.dbscan=\"noise\"})),t},t.clustersKmeans=function(t,e){void 0===e&&(e={});var n=t.features.length;e.numberOfClusters=e.numberOfClusters||Math.round(Math.sqrt(n/2)),e.numberOfClusters>n&&(e.numberOfClusters=n),!0!==e.mutate&&(t=Ie(t));var r=G(t),i=r.slice(0,e.numberOfClusters),o=zs(r,e.numberOfClusters,i),s={};return o.centroids.forEach((function(t,e){s[e]=t})),F(t,(function(t,e){var n=o.idxs[e];t.properties.cluster=n,t.properties.centroid=s[n]})),t},t.collect=function(t,e,n,r){var i=Nt(6),o=e.features.map((function(t){var e;return{minX:t.geometry.coordinates[0],minY:t.geometry.coordinates[1],maxX:t.geometry.coordinates[0],maxY:t.geometry.coordinates[1],property:null===(e=t.properties)||void 0===e?void 0:e[n]}}));return i.load(o),t.features.forEach((function(t){t.properties||(t.properties={});var e=Z(t),n=i.search({minX:e[0],minY:e[1],maxX:e[2],maxY:e[3]}),o=[];n.forEach((function(e){ye([e.minX,e.minY],t)&&o.push(e.property)})),t.properties[r]=o})),t},t.collectionOf=nt,t.combine=function(t){var e={MultiPoint:{coordinates:[],properties:[]},MultiLineString:{coordinates:[],properties:[]},MultiPolygon:{coordinates:[],properties:[]}};return F(t,(function(t){var n,r,i,o;switch(null===(o=t.geometry)||void 0===o?void 0:o.type){case\"Point\":e.MultiPoint.coordinates.push(t.geometry.coordinates),e.MultiPoint.properties.push(t.properties);break;case\"MultiPoint\":(n=e.MultiPoint.coordinates).push.apply(n,t.geometry.coordinates),e.MultiPoint.properties.push(t.properties);break;case\"LineString\":e.MultiLineString.coordinates.push(t.geometry.coordinates),e.MultiLineString.properties.push(t.properties);break;case\"MultiLineString\":(r=e.MultiLineString.coordinates).push.apply(r,t.geometry.coordinates),e.MultiLineString.properties.push(t.properties);break;case\"Polygon\":e.MultiPolygon.coordinates.push(t.geometry.coordinates),e.MultiPolygon.properties.push(t.properties);break;case\"MultiPolygon\":(i=e.MultiPolygon.coordinates).push.apply(i,t.geometry.coordinates),e.MultiPolygon.properties.push(t.properties)}})),f(Object.keys(e).filter((function(t){return e[t].coordinates.length})).sort().map((function(t){return o({type:t,coordinates:e[t].coordinates},{collectedProperties:e[t].properties})})))},t.concave=function(t,e){void 0===e&&(e={});var n=e.maxEdge||1/0,r=xe(function(t){var e=[],n={};return F(t,(function(t){if(t.geometry){var r=t.geometry.coordinates.join(\"-\");Object.prototype.hasOwnProperty.call(n,r)||(e.push(t),n[r]=!0)}})),f(e)}(t));if(r.features=r.features.filter((function(t){var r=t.geometry.coordinates[0][0],i=t.geometry.coordinates[0][1],o=t.geometry.coordinates[0][2],s=me(r,i,e),a=me(i,o,e),u=me(r,o,e);return s<=n&&a<=n&&u<=n})),r.features.length<1)return null;var i=$e(r);return 1===i.coordinates.length&&(i.coordinates=i.coordinates[0],i.type=\"Polygon\"),o(i)},t.containsNumber=$,t.convertArea=S,t.convertDistance=N,t.convertLength=N,t.convex=de,t.coordAll=G,t.coordEach=R,t.coordReduce=T,t.createBins=au,t.degrees2radians=I,t.degreesToRadians=I,t.destination=vn,t.difference=function(t,e){var n=rt(t),r=rt(e),i=t.properties||{},o=$u.difference(n.coordinates,r.coordinates);return 0===o.length?null:1===o.length?l(o[0],i):y(o,i)},t.dissolve=function(t,e){if(!P(e=e||{}))throw new Error(\"options is invalid\");var n=e.propertyName;nt(t,\"Polygon\",\"dissolve\");var r=[];if(!e.propertyName)return ni(y($u.union.apply(null,t.features.map((function(t){return t.geometry.coordinates})))));var i={};F(t,(function(t){Object.prototype.hasOwnProperty.call(i,t.properties[n])||(i[t.properties[n]]=[]),i[t.properties[n]].push(t)}));for(var o=Object.keys(i),s=0;s<o.length;s++){var a=y($u.union.apply(null,i[o[s]].map((function(t){return t.geometry.coordinates}))));a.properties[n]=o[s],r.push(a)}return ni(f(r))},t.distance=me,t.distanceToDegrees=E,t.distanceToRadians=x,t.distanceWeight=ja,t.earthRadius=e,t.ellipse=Aa,t.envelope=dn,t.explode=bn,t.factors=n,t.feature=o,t.featureCollection=f,t.featureEach=F,t.featureOf=et,t.featureReduce=k,t.filterProperties=cu,t.findPoint=W,t.findSegment=H,t.flatten=ni,t.flattenEach=z,t.flattenReduce=j,t.flip=function(t,e){if(!P(e=e||{}))throw new Error(\"options is invalid\");var n=e.mutate;if(!t)throw new Error(\"geojson is required\");return!1!==n&&void 0!==n||(t=Ie(t)),R(t,(function(t){var e=t[0],n=t[1];t[0]=n,t[1]=e})),t},t.geojsonType=tt,t.geomEach=q,t.geomReduce=B,t.geometry=s,t.geometryCollection=v,t.getCluster=iu,t.getCoord=K,t.getCoords=Q,t.getGeom=rt,t.getType=it,t.greatCircle=function(t,e,n){if(\"object\"!=typeof(n=n||{}))throw new Error(\"options is invalid\");var r=n.properties,i=n.npoints,o=n.offset;return t=K(t),e=K(e),r=r||{},i=i||100,o=o||10,new vi({x:t[0],y:t[1]},{x:e[0],y:e[1]},r).Arc(i,{offset:o}).json()},t.helpers=O,t.hexGrid=ay,t.inside=ye,t.interpolate=function(t,e,n){if(\"object\"!=typeof(n=n||{}))throw new Error(\"options is invalid\");var r=n.gridType,i=n.property,o=n.weight;if(!t)throw new Error(\"points is required\");if(nt(t,\"Point\",\"input must contain Points\"),!e)throw new Error(\"cellSize is required\");if(void 0!==o&&\"number\"!=typeof o)throw new Error(\"weight must be a number\");i=i||\"elevation\",r=r||\"square\",o=o||1;var s,a=Z(t);switch(r){case\"point\":case\"points\":s=ti(a,e,n);break;case\"square\":case\"squares\":s=py(a,e,n);break;case\"hex\":case\"hexes\":s=ay(a,e,n);break;case\"triangle\":case\"triangles\":s=fy(a,e,n);break;default:throw new Error(\"invalid gridType\")}var u=[];return F(s,(function(e){var s=0,a=0;F(t,(function(t){var u,l=me(\"point\"===r?e:En(e),t,n);if(void 0!==i&&(u=t.properties[i]),void 0===u&&(u=t.geometry.coordinates[2]),void 0===u)throw new Error(\"zValue is missing\");0===l&&(s=u);var c=1/Math.pow(l,o);a+=c,s+=c*u}));var l=Ie(e);l.properties[i]=s/a,u.push(l)})),f(u)},t.intersect=sy,t.invariant=ot,t.isNumber=C,t.isObject=P,t.isobands=function(t,e,n){if(!P(n=n||{}))throw new Error(\"options is invalid\");var r=n.zProperty||\"elevation\",i=n.commonProperties||{},o=n.breaksProperties||[];if(nt(t,\"Point\",\"Input must contain Points\"),!e)throw new Error(\"breaks is required\");if(!Array.isArray(e))throw new Error(\"breaks is not an Array\");if(!P(i))throw new Error(\"commonProperties is not an Object\");if(!Array.isArray(o))throw new Error(\"breaksProperties is not an Array\");var s=Zi(t,{zProperty:r,flip:!0}),a=function(t,e,n){for(var r=[],i=1;i<e.length;i++){var o=+e[i-1],s=+e[i],a=Zo(Jo($i(t,o,s-o))),u={};u.groupedRings=a,u[n]=o+\"-\"+s,r.push(u)}return r}(s,e,r);return f((a=function(t,e,n){var r=Z(n),i=r[2]-r[0],o=r[3]-r[1],s=r[0],a=r[1],u=e[0].length-1,l=e.length-1,c=i/u,h=o/l,p=function(t){t[0]=t[0]*c+s,t[1]=t[1]*h+a};return t.forEach((function(t){t.groupedRings.forEach((function(t){t.forEach((function(t){t.forEach(p)}))}))})),t}(a,s,t)).map((function(t,e){if(o[e]&&!P(o[e]))throw new Error(\"Each mappedProperty is required to be an Object\");var n=ct({},i,o[e]);return n[r]=t[r],y(t.groupedRings,n)})))},t.isolines=function(t,e,n){if(!P(n=n||{}))throw new Error(\"options is invalid\");var r=n.zProperty||\"elevation\",i=n.commonProperties||{},o=n.breaksProperties||[];if(nt(t,\"Point\",\"Input must contain Points\"),!e)throw new Error(\"breaks is required\");if(!Array.isArray(e))throw new Error(\"breaks must be an Array\");if(!P(i))throw new Error(\"commonProperties must be an Object\");if(!Array.isArray(o))throw new Error(\"breaksProperties must be an Array\");var s=_t(t,{zProperty:r,flip:!0});return f(function(t,e,n){var r=Z(n),i=r[2]-r[0],o=r[3]-r[1],s=r[0],a=r[1],u=e[0].length-1,l=e.length-1,c=i/u,h=o/l,p=function(t){t[0]=t[0]*c+s,t[1]=t[1]*h+a};return t.forEach((function(t){R(t,p)})),t}(function(t,e,n,r,i){for(var o=[],s=1;s<e.length;s++){var a=+e[s],u=ct({},r,i[s]);u[n]=a;var l=g(ft(t,a),u);o.push(l)}return o}(s,e,r,i,o),s,t))},t.kinks=function(t){var e,n,r={type:\"FeatureCollection\",features:[]};if(\"LineString\"===(n=\"Feature\"===t.type?t.geometry:t).type)e=[n.coordinates];else if(\"MultiLineString\"===n.type)e=n.coordinates;else if(\"MultiPolygon\"===n.type)e=[].concat.apply([],n.coordinates);else{if(\"Polygon\"!==n.type)throw new Error(\"Input must be a LineString, MultiLineString, Polygon, or MultiPolygon Feature or Geometry\");e=n.coordinates}return e.forEach((function(t){e.forEach((function(e){for(var n=0;n<t.length-1;n++)for(var i=n;i<e.length-1;i++){if(t===e){if(1===Math.abs(n-i))continue;if(0===n&&i===t.length-2&&t[n][0]===t[t.length-1][0]&&t[n][1]===t[t.length-1][1])continue}var o=Gr(t[n][0],t[n][1],t[n+1][0],t[n+1][1],e[i][0],e[i][1],e[i+1][0],e[i+1][1]);o&&r.features.push(a([o[0],o[1]]))}}))})),r},t.length=Yr,t.lengthToDegrees=E,t.lengthToRadians=x,t.lineArc=bi,t.lineChunk=function(t,e,n){if(!P(n=n||{}))throw new Error(\"options is invalid\");var r=n.units,i=n.reverse;if(!t)throw new Error(\"geojson is required\");if(e<=0)throw new Error(\"segmentLength must be greater than 0\");var o=[];return z(t,(function(t){i&&(t.geometry.coordinates=t.geometry.coordinates.reverse()),function(t,e,n,r){var i=Yr(t,{units:n});if(i<=e)return r(t);var o=i/e;Number.isInteger(o)||(o=Math.floor(o)+1);for(var s=0;s<o;s++){r(Hr(t,e*s,e*(s+1),{units:n}),s)}}(t,e,r,(function(t){o.push(t)}))})),f(o)},t.lineDistance=Yr,t.lineEach=X,t.lineIntersect=Or,t.lineOffset=function(t,e,n){if(!P(n=n||{}))throw new Error(\"options is invalid\");var r=n.units;if(!t)throw new Error(\"geojson is required\");if(null==e||isNaN(e))throw new Error(\"distance is required\");var i=it(t),o=t.properties;switch(i){case\"LineString\":return os(t,e,r);case\"MultiLineString\":var s=[];return z(t,(function(t){s.push(os(t,e,r).geometry.coordinates)})),g(s,o);default:throw new Error(\"geometry \"+i+\" is not supported\")}},t.lineOverlap=ki,t.lineReduce=Y,t.lineSegment=Zn,t.lineSlice=function(t,e,n){var r=Q(n);if(\"LineString\"!==it(n))throw new Error(\"line must be a LineString\");for(var i,o=Tr(n,t),s=Tr(n,e),a=[(i=o.properties.index<=s.properties.index?[o,s]:[s,o])[0].geometry.coordinates],u=i[0].properties.index+1;u<i[1].properties.index+1;u++)a.push(r[u]);return a.push(i[1].geometry.coordinates),h(a,n.properties)},t.lineSliceAlong=Hr,t.lineSplit=function(t,e){if(!t)throw new Error(\"line is required\");if(!e)throw new Error(\"splitter is required\");var n=it(t),r=it(e);if(\"LineString\"!==n)throw new Error(\"line must be LineString\");if(\"FeatureCollection\"===r)throw new Error(\"splitter cannot be a FeatureCollection\");if(\"GeometryCollection\"===r)throw new Error(\"splitter cannot be a GeometryCollection\");var i=ei(e,{precision:7});switch(r){case\"Point\":return mi(t,i);case\"MultiPoint\":return _i(t,i);case\"LineString\":case\"MultiLineString\":case\"Polygon\":case\"MultiPolygon\":return _i(t,Or(t,i))}},t.lineString=h,t.lineStringToPolygon=Ci,t.lineStrings=p,t.lineToPolygon=Ci,t.mask=function(t,e){var n,r=hy(e),i=null;return\"FeatureCollection\"===t.type?i=cy(2===(n=t).features.length?$u.union(n.features[0].geometry.coordinates,n.features[1].geometry.coordinates):$u.union.apply($u,n.features.map((function(t){return t.geometry.coordinates})))):i=cy($u.union(t.geometry.coordinates)),i.geometry.coordinates.forEach((function(t){r.geometry.coordinates.push(t[0])})),r},t.meta=J,t.midpoint=function(t,e){return vn(t,me(t,e)/2,mn(t,e))},t.moranIndex=function(t,e){var n=e.inputField,r=e.threshold||1e5,i=e.p||2,o=e.binary||!1,s=ja(t,{alpha:e.alpha||-1,binary:o,p:i,standardization:e.standardization||!0,threshold:r}),a=[];F(t,(function(t){var e=t.properties||{};a.push(e[n])}));for(var u=Ua(a),l=function(t){for(var e=Ua(t),n=0,r=0,i=t;r<i.length;r++){var o=i[r];n+=Math.pow(o-e,2)}return n/t.length}(a),c=0,h=0,p=0,f=0,g=s.length,d=0;d<g;d++){for(var y=0,v=0;v<g;v++)c+=s[d][v]*(a[d]-u)*(a[v]-u),h+=s[d][v],p+=Math.pow(s[d][v]+s[v][d],2),y+=s[d][v]+s[v][d];f+=Math.pow(y,2)}var _=c/h/l,m=-1/(g-1),x=(g*g*(p*=.5)-g*f+h*h*3)/((g-1)*(g+1)*(h*h))-m*m,E=Math.sqrt(x);return{expectedMoranIndex:m,moranIndex:_,stdNorm:E,zNorm:(_-m)/E}},t.multiLineString=g,t.multiPoint=d,t.multiPolygon=y,t.nearest=Jn,t.nearestPoint=Jn,t.nearestPointOnLine=Tr,t.nearestPointToLine=function(t,e,n){void 0===n&&(n={});var r=n.units,i=n.properties||{},o=function(t){var e=[];switch(t.geometry?t.geometry.type:t.type){case\"GeometryCollection\":return q(t,(function(t){\"Point\"===t.type&&e.push({type:\"Feature\",properties:{},geometry:t})})),{type:\"FeatureCollection\",features:e};case\"FeatureCollection\":return t.features=t.features.filter((function(t){return\"Point\"===t.geometry.type})),t;default:throw new Error(\"points must be a Point Collection\")}}(t);if(!o.features.length)throw new Error(\"points must contain features\");if(!e)throw new Error(\"line is required\");if(\"LineString\"!==it(e))throw new Error(\"line must be a LineString\");var s=1/0,a=null;return F(o,(function(t){var n=Dr(t,e,{units:r});n<s&&(s=n,a=t)})),a&&(a.properties=ct({dist:s},a.properties,i)),a},t.planepoint=function(t,e){var n=K(t),r=rt(e).coordinates[0];if(r.length<4)throw new Error(\"OuterRing of a Polygon must have 4 or more Positions.\");var i=e.properties||{},o=i.a,s=i.b,a=i.c,u=n[0],l=n[1],c=r[0][0],h=r[0][1],p=void 0!==o?o:r[0][2],f=r[1][0],g=r[1][1],d=void 0!==s?s:r[1][2],y=r[2][0],v=r[2][1],_=void 0!==a?a:r[2][2];return(_*(u-c)*(l-g)+p*(u-f)*(l-v)+d*(u-y)*(l-h)-d*(u-c)*(l-v)-_*(u-f)*(l-h)-p*(u-y)*(l-g))/((u-c)*(l-g)+(u-f)*(l-v)+(u-y)*(l-h)-(u-c)*(l-v)-(u-f)*(l-h)-(u-y)*(l-g))},t.point=a,t.pointGrid=ti,t.pointOnFeature=qr,t.pointOnLine=Tr,t.pointOnSurface=qr,t.pointToLineDistance=Dr,t.points=u,t.pointsWithinPolygon=_e,t.polygon=l,t.polygonSmooth=function(t,e){var n=[],r=e.iterations||1;if(!t)throw new Error(\"inputPolys is required\");return q(t,(function(t,e,i){var o,s,a;switch(t.type){case\"Polygon\":o=[[]];for(var u=0;u<r;u++)a=[[]],s=t,u>0&&(s=l(o).geometry),qa(s,a),o=a.slice(0);n.push(l(o,i));break;case\"MultiPolygon\":o=[[[]]];for(var c=0;c<r;c++)a=[[[]]],s=t,c>0&&(s=y(o).geometry),Ba(s,a),o=a.slice(0);n.push(y(o,i));break;default:throw new Error(\"geometry is invalid, must be Polygon or MultiPolygon\")}})),f(n)},t.polygonTangents=function(t,e){var n,r,i,o,s=Q(t),u=Q(e),l=Z(e),c=0,h=null;switch(s[0]>l[0]&&s[0]<l[2]&&s[1]>l[1]&&s[1]<l[3]&&(c=(h=Jn(t,bn(e))).properties.featureIndex),it(e)){case\"Polygon\":n=u[0][c],r=u[0][0],null!==h&&h.geometry.coordinates[1]<s[1]&&(r=u[0][c]),o=Xi(u[0][0],u[0][u[0].length-1],s);var p=Ui(u[0],s,o,i,n,r);n=p[0],r=p[1];break;case\"MultiPolygon\":for(var g=0,d=0,y=0,v=0;v<u[0].length;v++){g=v;for(var _=!1,m=0;m<u[0][v].length;m++){if(d=m,y===c){_=!0;break}y++}if(_)break}n=u[0][g][d],r=u[0][g][d],o=Xi(u[0][0][0],u[0][0][u[0][0].length-1],s),u.forEach((function(t){var e=Ui(t[0],s,o,i,n,r);n=e[0],r=e[1]}))}return f([a(n),a(r)])},t.polygonToLine=Ii,t.polygonToLineString=Ii,t.polygonize=function(t){var e=hs.fromGeoJson(t);e.deleteDangles(),e.deleteCutEdges();var n=[],r=[];return e.getEdgeRings().filter((function(t){return t.isValid()})).forEach((function(t){t.isHole()?n.push(t):r.push(t)})),n.forEach((function(t){cs.findEdgeRingContaining(t,r)&&r.push(t)})),f(r.map((function(t){return t.toPolygon()})))},t.polygons=c,t.projection=Ja,t.propEach=A,t.propReduce=D,t.propertiesContainsFilter=lu,t.radians2degrees=w,t.radiansToDegrees=w,t.radiansToDistance=m,t.radiansToLength=m,t.random=ru,t.randomLineString=tu,t.randomPoint=Qa,t.randomPolygon=$a,t.randomPosition=Ka,t.rewind=function(t,e){if(!P(e=e||{}))throw new Error(\"options is invalid\");var n=e.reverse||!1,r=e.mutate||!1;if(!t)throw new Error(\"<geojson> is required\");if(\"boolean\"!=typeof n)throw new Error(\"<reverse> must be a boolean\");if(\"boolean\"!=typeof r)throw new Error(\"<mutate> must be a boolean\");!1===r&&(t=Ie(t));var i=[];switch(t.type){case\"GeometryCollection\":return q(t,(function(t){Hi(t,n)})),t;case\"FeatureCollection\":return F(t,(function(t){F(Hi(t,n),(function(t){i.push(t)}))})),f(i)}return Hi(t,n)},t.rhumbBearing=Bi,t.rhumbDestination=ji,t.rhumbDistance=Ar,t.round=_,t.sample=function(t,e){if(!t)throw new Error(\"featurecollection is required\");if(null==e)throw new Error(\"num is required\");if(\"number\"!=typeof e)throw new Error(\"num must be a number\");return f(function(t,e){var n,r,i=t.slice(0),o=t.length,s=o-e;for(;o-- >s;)n=i[r=Math.floor((o+1)*Math.random())],i[r]=i[o],i[o]=n;return i.slice(s)}(t.features,e))},t.sector=function(t,e,n,r,i){if(!P(i=i||{}))throw new Error(\"options is invalid\");var o=i.properties;if(!t)throw new Error(\"center is required\");if(null==n)throw new Error(\"bearing1 is required\");if(null==r)throw new Error(\"bearing2 is required\");if(!e)throw new Error(\"radius is required\");if(\"object\"!=typeof i)throw new Error(\"options must be an object\");if(qi(n)===qi(r))return _n(t,e,i);var s=Q(t),a=bi(t,e,n,r,i),u=[[s]];return R(a,(function(t){u[0].push(t)})),u[0].push(s),l(u,o)},t.segmentEach=U,t.segmentReduce=V,t.shortestPath=function(t,e,n){if(!P(n=n||{}))throw new Error(\"options is invalid\");var r=n.resolution,i=n.minDistance,s=n.obstacles||f([]);if(!t)throw new Error(\"start is required\");if(!e)throw new Error(\"end is required\");if(r&&!C(r)||r<=0)throw new Error(\"options.resolution must be a number, greater than 0\");if(i)throw new Error(\"options.minDistance is not yet implemented\");var u=K(t),l=K(e);switch(t=a(u),e=a(l),it(s)){case\"FeatureCollection\":if(0===s.features.length)return h([u,l]);break;case\"Polygon\":s=f([o(rt(s))]);break;default:throw new Error(\"invalid obstacles\")}var c=s;c.features.push(t),c.features.push(e);var p=Z(ts(gn(Z(c)),1.15));r||(r=me([p[0],p[1]],[p[2],p[1]],n)/100),c.features.pop(),c.features.pop();for(var g=p[0],d=p[1],y=p[2],v=p[3],_=r/me([g,d],[y,d],n)*(y-g),m=r/me([g,d],[g,v],n)*(v-d),x=y-g,E=v-d,b=Math.floor(x/_),w=Math.floor(E/m),I=(x-b*_)/2,N=[],S=[],M=[],L=[],O=1/0,R=1/0,T=v-(E-w*m)/2,A=0;T>=d;){for(var D=[],F=[],k=g+I,G=0;k<=y;){var q=a([k,T]),B=Js(q,s);D.push(B?0:1),F.push(k+\"|\"+T);var z=me(q,t);!B&&z<O&&(O=z,M={x:G,y:A});var j=me(q,e);!B&&j<R&&(R=j,L={x:G,y:A}),k+=_,G++}S.push(D),N.push(F),T-=m,A++}var U=new Ys(S,{diagonal:!0}),V=U.grid[M.y][M.x],X=U.grid[L.y][L.x],Y=Xs.search(U,V,X),H=[u];return Y.forEach((function(t){var e=N[t.x][t.y].split(\"|\");H.push([+e[0],+e[1]])})),H.push(l),tn(h(H))},t.simplify=function(t,e){if(!P(e=e||{}))throw new Error(\"options is invalid\");var n=void 0!==e.tolerance?e.tolerance:1,r=e.highQuality||!1,i=e.mutate||!1;if(!t)throw new Error(\"geojson is required\");if(n&&n<0)throw new Error(\"invalid tolerance\");return!0!==i&&(t=Ie(t)),q(t,(function(t){!function(t,e,n){var r=t.type;if(\"Point\"===r||\"MultiPoint\"===r)return t;tn(t,!0);var i=t.coordinates;switch(r){case\"LineString\":t.coordinates=ln(i,e,n);break;case\"MultiLineString\":t.coordinates=i.map((function(t){return ln(t,e,n)}));break;case\"Polygon\":t.coordinates=cn(i,e,n);break;case\"MultiPolygon\":t.coordinates=i.map((function(t){return cn(t,e,n)}))}}(t,n,r)})),t},t.square=yn,t.squareGrid=py,t.standardDeviationalEllipse=function(t,e){if(!P(e=e||{}))throw new Error(\"options is invalid\");var n=e.steps||64,r=e.weight,i=e.properties||{};if(!C(n))throw new Error(\"steps must be a number\");if(!P(i))throw new Error(\"properties must be a number\");var o=G(t).length,s=Fa(t,{weight:r}),a=0,u=0,l=0;F(t,(function(t){var e=t.properties[r]||1,n=Ga(Q(t),Q(s));a+=Math.pow(n.x,2)*e,u+=Math.pow(n.y,2)*e,l+=n.x*n.y*e}));var c=a-u,h=Math.sqrt(Math.pow(c,2)+4*Math.pow(l,2)),p=2*l,g=Math.atan((c+h)/p),d=180*g/Math.PI,y=0,v=0,_=0;F(t,(function(t){var e=t.properties[r]||1,n=Ga(Q(t),Q(s));y+=Math.pow(n.x*Math.cos(g)-n.y*Math.sin(g),2)*e,v+=Math.pow(n.x*Math.sin(g)+n.y*Math.cos(g),2)*e,_+=e}));var m=Math.sqrt(2*y/_),x=Math.sqrt(2*v/_),E=Aa(s,m,x,{units:\"degrees\",angle:d,steps:n,properties:i}),b=_e(t,f([E])),w={meanCenterCoordinates:Q(s),semiMajorAxis:m,semiMinorAxis:x,numberOfFeatures:o,angle:d,percentageWithinEllipse:100*G(b).length/o};return E.properties.standardDeviationalEllipse=w,E},t.tag=function(t,e,n,r){return t=Ie(t),e=Ie(e),F(t,(function(t){t.properties||(t.properties={}),F(e,(function(e){void 0===t.properties[r]&&ye(t,e)&&(t.properties[r]=e.properties[n])}))})),t},t.tesselate=function(t){if(!t.geometry||\"Polygon\"!==t.geometry.type&&\"MultiPolygon\"!==t.geometry.type)throw new Error(\"input must be a Polygon or MultiPolygon\");var e={type:\"FeatureCollection\",features:[]};return\"Polygon\"===t.geometry.type?e.features=Wn(t.geometry.coordinates):t.geometry.coordinates.forEach((function(t){e.features=e.features.concat(Wn(t))})),e},t.tin=xe,t.toMercator=Va,t.toWgs84=Xa,t.transformRotate=$o,t.transformScale=ts,t.transformTranslate=function(t,e,n,r){if(!P(r=r||{}))throw new Error(\"options is invalid\");var i=r.units,o=r.zTranslation,s=r.mutate;if(!t)throw new Error(\"geojson is required\");if(null==e||isNaN(e))throw new Error(\"distance is required\");if(o&&\"number\"!=typeof o&&isNaN(o))throw new Error(\"zTranslation is not a number\");if(o=void 0!==o?o:0,0===e&&0===o)return t;if(null==n||isNaN(n))throw new Error(\"direction is required\");return e<0&&(e=-e,n+=180),!1!==s&&void 0!==s||(t=Ie(t)),R(t,(function(t){var r=Q(ji(t,e,n,{units:i}));t[0]=r[0],t[1]=r[1],o&&3===t.length&&(t[2]+=o)})),t},t.triangleGrid=fy,t.truncate=ei,t.union=function(t,e,n){void 0===n&&(n={});var r=rt(t),i=rt(e),o=$u.union(r.coordinates,i.coordinates);return 0===o.length?null:1===o.length?l(o[0],n.properties):y(o,n.properties)},t.unitsFactors=r,t.unkinkPolygon=function(t){var e=[];return z(t,(function(t){\"Polygon\"===t.geometry.type&&F(oi(t),(function(n){e.push(l(n.geometry.coordinates,t.properties))}))})),f(e)},t.validateBBox=M,t.validateId=L,t.voronoi=function(t,e){if(!P(e=e||{}))throw new Error(\"options is invalid\");var n=e.bbox||[-180,-85,180,85];if(!t)throw new Error(\"points is required\");if(!Array.isArray(n))throw new Error(\"bbox is invalid\");return nt(t,\"Point\",\"points\"),f(function(){var t=Ks,e=Qs,n=null;function r(r){return new Ra(r.map((function(n,i){var o=[Math.round(t(n,i,r)/Ma)*Ma,Math.round(e(n,i,r)/Ma)*Ma];return o.index=i,o.data=n,o})),n)}return r.polygons=function(t){return r(t).polygons()},r.links=function(t){return r(t).links()},r.triangles=function(t){return r(t).triangles()},r.x=function(e){return arguments.length?(t=\"function\"==typeof e?e:Zs(+e),r):t},r.y=function(t){return arguments.length?(e=\"function\"==typeof t?t:Zs(+t),r):e},r.extent=function(t){return arguments.length?(n=null==t?null:[[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]],r):n&&[[n[0][0],n[0][1]],[n[1][0],n[1][1]]]},r.size=function(t){return arguments.length?(n=null==t?null:[[0,0],[+t[0],+t[1]]],r):n&&[n[1][0]-n[0][0],n[1][1]-n[0][1]]},r}().x((function(t){return t.geometry.coordinates[0]})).y((function(t){return t.geometry.coordinates[1]})).extent([[n[0],n[1]],[n[2],n[3]]]).polygons(t.features).map(Ta))},t.within=_e,Object.defineProperty(t,\"__esModule\",{value:!0})}));"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/geotools.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/geospatial/geotools.js\ntype: application/javascript\nmodule-type: library\n\nGeospatial utilities\n\n\\*/\n\n\"use strict\";\n\nvar turf = require(\"$:/plugins/tiddlywiki/geospatial/turf.js\");\n\n/*\nParse a string as a GeoJSON Point\n*/\nexports.parsePoint = function(str) {\n\tvar defaultResult = function() {\n\t\treturn turf.point([0,0,0]);\n\t};\n\t// If the string is missing then return 0,0,0\n\tif(!str) {\n\t\treturn defaultResult();\n\t}\n\t// Convert to an object\n\tvar json = $tw.utils.parseJSONSafe(str,null);\n\tif(json === null) {\n\t\treturn defaultResult();\n\t}\n\t// Check it is a valid point\n\tif(turf.getType(json) !== \"Point\") {\n\t\treturn defaultResult();\n\t}\n\t// Return the string now we know it is a valid GeoJSON Point\n\treturn json;\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/helpers/Flickr.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/helpers/Flickr\ntags: $:/tags/Global\n\n<!--\nGet items from a Flickr album/interestingness/collection etc.\n-->\n\\procedure flickr-get-items(per_page:\"100\",page_number:\"1\",method:\"flickr.photosets.getPhotos\",paramName:\"group_id\",paramValue:\"\",resultPhotoRoot:\"photoset\",photoTiddlerTemplate)\n\n\\procedure completion()\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n\t<$action-log msg=\"In completion\"/>\n\t<$action-log/>\n\t<!-- Success -->\n\t<$list filter=\"[<status>compare:number:gteq[200]compare:number:lteq[299]]\" variable=\"ignore\">\n\t\t<$list filter=\"[<data>jsonindexes<resultPhotoRoot>,[photo]]\" variable=\"photoIndex\">\n\t\t\t<$let\n\t\t\t\tphotoData={{{ [<data>jsonextract<resultPhotoRoot>,[photo],<photoIndex>] }}}\n\t\t\t\tphotoFarm={{{ [<photoData>jsonget[farm]] }}}\n\t\t\t\tphotoServer={{{ [<photoData>jsonget[server]] }}}\n\t\t\t\tphotoID={{{ [<photoData>jsonget[id]] }}}\n\t\t\t\tphotoSecret={{{ [<photoData>jsonget[secret]] }}}\n\t\t\t\tphotoTiddlerTitleFilter={{{ [<photoTiddlerTemplate>getindex[title]] }}}\n\t\t\t\tphotoTiddlerTitle={{{ [subfilter<photoTiddlerTitleFilter>] }}}\n\t\t\t>\n\t\t\t\t<$list filter=\"[<photoTiddlerTemplate>indexes[]]\" variable=\"fieldName\">\n\t\t\t\t\t<$let fieldValueFilter={{{ [<photoTiddlerTemplate>getindex<fieldName>] }}}>\n\t\t\t\t\t\t<$action-setfield\n\t\t\t\t\t\t\t$tiddler=<<photoTiddlerTitle>>\n\t\t\t\t\t\t\t$field=<<fieldName>>\n\t\t\t\t\t\t\t$value={{{ [subfilter<fieldValueFilter>] }}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</$let>\n\t\t\t\t</$list>\n\t\t\t</$let>\n\t\t</$list>\n\t\t<$let\n\t\t\tpages={{{ [<data>jsonget[photos],[pages]] }}}\n\t\t>\n\t\t\t<$list filter=\"[<page_number>compare:number:lt<pages>]\" variable=\"ignore\">\n\t\t\t\t<$macrocall $name=\"flickr-get-items\" page_page=<<per_page>> page_number={{{ [<page_number>add[1]] }}} method=<<method>> resultPhotoRoot=<<resultPhotoRoot>> photoTiddlerTemplate=<<photoTiddlerTemplate>>/>\n\t\t\t</$list>\n\t\t</$let>\n\t</$list>\n\\end completion\n\n\\procedure progress()\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n\t<$action-log message=\"In progress-actions\"/>\n\\end progress\n\n\\procedure request-url()\nhttps://api.flickr.com/services/rest/\n\\end request-url\n\n<$let \n\tphotoTiddlerTemplate={{{ [<photoTiddlerTemplate>!is[blank]else[$:/plugins/tiddlywiki/geospatial/helpers/Flickr/DefaultPhotoTemplate]] }}}\n>\n\t<$action-sendmessage\n\t\t$message=\"tm-http-request\"\n\t\turl=<<request-url>>\n\t\tmethod=\"GET\"\n\t\tquery-method=<<method>>\n\t\tquery-extras=\"geo\"\n\t\tquery-per_page=<<per_page>>\n\t\tquery-page=<<page_number>>\n\t\tquery-format=\"json\"\n\t\tquery-nojsoncallback=\"1\"\n\t\t$names=\"[<paramName>addprefix[query-]]\"\n\t\t$values=<<paramValue>>\n\t\theader-accept=\"application/json\"\n\t\tpassword-query-api_key=\"flickr-api-key\"\n\t\tbind-status=\"$:/temp/flickr/status\"\n\t\tbind-progress=\"$:/temp/flickr/progress\"\n\t\toncompletion=<<completion>>\n\t\tonprogress=<<progress>>\n\t\tvar-method=<<method>>\n\t\tvar-per_page=<<per_page>>\n\t\tvar-page_number=<<page_number>>\n\t\tvar-resultPhotoRoot=<<resultPhotoRoot>>\n\t\tvar-photoTiddlerTemplate=<<photoTiddlerTemplate>>\n\t/>\n</$let>\n\\end\n\n\\procedure flickr-get-photos-of-user-items(userID,photoTiddlerTemplate)\n<$macrocall $name=\"flickr-get-items\" method=\"flickr.people.getPhotosOf\" paramName=\"user_id\" paramValue=<<userID>> resultPhotoRoot=\"photos\" photoTiddlerTemplate=<<photoTiddlerTemplate>>/>\n\\end\n\n\\procedure flickr-get-group-items(groupID,photoTiddlerTemplate)\n<$macrocall $name=\"flickr-get-items\" method=\"flickr.groups.pools.getPhotos\" paramName=\"group_id\" paramValue=<<groupID>> resultPhotoRoot=\"photos\" photoTiddlerTemplate=<<photoTiddlerTemplate>>/>\n\\end\n\n\\procedure flickr-get-album-items(albumID,photoTiddlerTemplate)\n<$macrocall $name=\"flickr-get-items\" method=\"flickr.photosets.getPhotos\" paramName=\"photoset_id\" paramValue=<<albumID>> resultPhotoRoot=\"photoset\" photoTiddlerTemplate=<<photoTiddlerTemplate>>/>\n\\end\n\n\\procedure flickr-get-interesting-items(photoTiddlerTemplate)\n<$macrocall $name=\"flickr-get-items\" method=\"flickr.interestingness.getList\" resultPhotoRoot=\"photos\" photoTiddlerTemplate=<<photoTiddlerTemplate>>/>\n\\end\n"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/helpers/FlickrDefaultPhotoTemplate.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/helpers/Flickr/DefaultPhotoTemplate\ntype: application/x-tiddler-dictionary\n\ntitle: [<photoID>addprefix[Flickr Photo ]]\ntags: $:/tags/GeoMarker $:/tags/FlickrPhoto +[join[ ]]\ncaption: [<photoData>jsonget[title]]\nlat: [<photoData>jsonget[latitude]]\nlong: [<photoData>jsonget[longitude]]\nalt: 0\nphoto-url: [[https://farm]addsuffix<photoFarm>addsuffix[.staticflickr.com/]addsuffix<photoServer>addsuffix[/]addsuffix<photoID>addsuffix[_]addsuffix<photoSecret>addsuffix[_b.jpg]]\nicon-url: [[https://farm]addsuffix<photoFarm>addsuffix[.staticflickr.com/]addsuffix<photoServer>addsuffix[/]addsuffix<photoID>addsuffix[_]addsuffix<photoSecret>addsuffix[_s.jpg]]\n"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/icon.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/icon\ntags: $:/tags/Image\n\n<svg class=\"tc-image-geospatial tc-image-button\" width=\"128px\" height=\"128px\" viewBox=\"0 0 128 128\">\n\t<path d=\"M64,0 L118.5596,32 L118.5596,96 L64,128 L9.44039956,96 L9.44039956,32 L64,0 Z M64,29 C44.117749,29 28,45.117749 28,65 C28,84.882251 44.117749,101 64,101 C83.882251,101 100,84.882251 100,65 C100,45.117749 83.882251,29 64,29 Z M69.6659011,87.3092946 C67.8167084,92.3945746 65.5767384,95 64,95 C62.4232616,95 60.1832916,92.3945746 58.3340989,87.3092946 C57.4514233,84.8819366 56.7233795,82.0733353 56.1752292,79.0013467 L71.8247708,79.0013467 C71.2766205,82.0733353 70.5485767,84.8819366 69.6659011,87.3092946 Z M54.4351223,93.3855702 L54.4715872,93.4551942 C47.1188792,90.9941589 41.0355385,85.7630682 37.4607962,79.0011535 L50.065902,79.0011918 C50.9847736,84.6847215 52.4732131,89.6306568 54.4351223,93.3855702 Z M73.9278092,93.3183544 L73.5285357,93.4548863 C75.5084115,89.6916164 77.0095611,84.7197629 77.934098,79.0011918 L90.5392038,79.0011535 C87.0293925,85.6402459 81.1012868,90.8036204 73.9278092,93.3183544 Z M49.0856543,60.8983161 L49.0438345,62.057885 L49.0158284,63.2276286 L49.001764,64.4069427 L49.001764,65.5930573 L49.0158284,66.7723714 L49.0438345,67.942115 L49.0856543,69.1016839 C49.1414331,70.4241818 49.2241598,71.7254557 49.3329678,73.0014175 L35.0786864,73.0008004 C34.3756093,70.4536895 34,67.7707089 34,65 C34,61.4936775 34.6015313,58.1278502 35.707027,55.000085 L49.5270021,54.9992607 C49.3190302,56.9063364 49.1708839,58.8775499 49.0856543,60.8983161 Z M73,65 C73,67.7435728 72.8734781,70.4284195 72.6318412,73.0013223 L55.3681588,73.0013223 C55.1265219,70.4284195 55,67.7435728 55,65 C55,61.5374469 55.2015234,58.1684325 55.5816402,54.9999351 L72.4183598,54.9999351 C72.7984766,58.1684325 73,61.5374469 73,65 Z M94,65 C94,67.7707089 93.6243907,70.4536895 92.9213136,73.0008004 L78.6670322,73.0014175 C78.7758402,71.7254557 78.8585669,70.4241818 78.9143457,69.1016839 L78.9561655,67.942115 L78.9841716,66.7723714 L78.998236,65.5930573 C78.9994111,65.3957409 79,65.198051 79,65 L78.998236,64.4069427 L78.9841716,63.2276286 L78.9561655,62.057885 L78.9143457,60.8983161 C78.8291161,58.8775499 78.6809698,56.9063364 78.4729979,54.9992607 L92.292973,55.000085 C93.3984687,58.1278502 94,61.4936775 94,65 Z M50.418283,49.0002745 L38.6181702,49.0001161 C42.2760329,43.2095365 47.8607397,38.757532 54.4715872,36.5448058 C52.7259423,39.8629331 51.3525223,44.1201544 50.418283,49.0002745 Z M64,35 C65.5767384,35 67.8167084,37.6054254 69.6659011,42.6907054 C70.3532591,44.58094 70.9468474,46.7023629 71.4347369,48.9993201 L56.5652631,48.9993201 C57.0531526,46.7023629 57.6467409,44.58094 58.3340989,42.6907054 C60.1381894,37.7294566 62.3142273,35.1285691 63.8834606,35.004648 L64,35 L64,35 Z M89.3818298,49.0001161 L77.581717,49.0002745 C76.6474777,44.1201544 75.2740577,39.8629331 73.5285357,36.5451137 C80.1392603,38.757532 85.7239671,43.2095365 89.3818298,49.0001161 Z\"></path>\n</svg>"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/images/markers/pin.svg.meta",
    "content": "title: $:/plugins/tiddlywiki/geospatial/images/markers/pin\ntype: image/svg+xml\n"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/license.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/license\n\nThis plugin is part of TiddlyWiki 5 and is licensed with TiddlyWiki's 3-clause BSD open source license.\n\nIt incorporates the following third-party libraries with their own licenses:\n\n* [[Leaflet.js|https://leafletjs.com/]] license -- $:/plugins/tiddlywiki/geospatial/leaflet.js/LICENSE\n* [[Leaflet.mastercluster|https://github.com/Leaflet/Leaflet.markercluster]] license -- $:/plugins/tiddlywiki/geospatial/leaflet.markercluster/LICENSE\n* [[Turf.js|https://turfjs.org/]] license -- $:/plugins/tiddlywiki/geospatial/turf.js/LICENSE\n* [[OpenLocationCode|https://github.com/google/open-location-code]] license -- $:/plugins/tiddlywiki/geospatial/openlocationcode/LICENSE"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/operators/helper.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/geospatial/operators/helper.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operators for geospatial helpers\n\n\\*/\n\n\"use strict\";\n\nvar turf = require(\"$:/plugins/tiddlywiki/geospatial/turf.js\");\n\nexports.geopoint = function(source,operator,options) {\n\tvar lat = $tw.utils.parseNumber(operator.operands[0] || \"0\"),\n\t\tlong = $tw.utils.parseNumber(operator.operands[1] || \"0\"),\n\t\talt =  $tw.utils.parseNumber(operator.operands[2] || \"0\");\n\treturn [JSON.stringify(turf.point([long,lat,alt]))];\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/operators/lookup.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/geospatial/operators/lookup.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operators for geospatial lookup\n\n\\*/\n\"use strict\";\n\nvar turf = require(\"$:/plugins/tiddlywiki/geospatial/turf.js\"),\n\tgeotools = require(\"$:/plugins/tiddlywiki/geospatial/geotools.js\");\n\nexports.geolookup = function(source,operator,options) {\n\t// Get the GeoJSON object\n\tvar output = [],\n\t\tjsonObject = $tw.utils.parseJSONSafe(operator.operands[0],null);\n\tif(jsonObject) {\n\t\t// Process the input points\n\t\tsource(function(tiddler,title) {\n\t\t\tvar point = geotools.parsePoint(title),\n\t\t\t\tresult = getPolygonsContainingPoint(jsonObject,point);\n\t\t\toutput.push(JSON.stringify(result));\n\t\t});\n\t}\n\t// Perform the transformation\n\treturn output;\n};\n\nfunction getPolygonsContainingPoint(featureCollection,point) {\n\t// Filter the GeoJSON feature collection to only include polygon features containing the point\n\tconst properties = [];\n\tturf.featureEach(featureCollection,function(feature) {\n\t\tif(feature.geometry.type === \"Polygon\" && turf.booleanPointInPolygon(point,feature)) {\n\t\t\tproperties.push(feature.properties);\n\t\t}\n\t});\n\treturn properties;\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/operators/measurement.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/geospatial/operators/measurement.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operators for geospatial measurement\n\n\\*/\n\n\"use strict\";\n\nvar turf = require(\"$:/plugins/tiddlywiki/geospatial/turf.js\"),\n\tgeotools = require(\"$:/plugins/tiddlywiki/geospatial/geotools.js\");\n\nvar VALID_UNITS = [\"miles\",\"kilometers\",\"radians\",\"degrees\"],\n\tDEFAULT_UNITS = \"miles\";\n\nexports.geodistance = function(source,operator,options) {\n\tvar from = geotools.parsePoint(operator.operands[0]),\n\t\tto = geotools.parsePoint(operator.operands[1]),\n\t\tunits = operator.operands[2] || DEFAULT_UNITS;\n\tif(VALID_UNITS.indexOf(units) === -1) {\n\t\tunits = DEFAULT_UNITS;\n\t}\n\treturn [JSON.stringify(turf.distance(from,to,{units: units}))];\n};\n\nexports.geonearestpoint = function(source,operator,options) {\n\tvar target = geotools.parsePoint(operator.operands[0]),\n\t\tfeatureCollection = {\n\t\t\t\"type\": \"FeatureCollection\",\n\t\t\t\"features\": []\n\t\t};\n\tsource(function(tiddler,title) {\n\t\tvar fc = $tw.utils.parseJSONSafe(title);\n\t\tif(fc) {\n\t\t\tif(fc.type === \"FeatureCollection\" && $tw.utils.isArray(fc.features)) {\n\t\t\t\tArray.prototype.push.apply(featureCollection.features,fc.features);\n\t\t\t} else if(fc.type === \"Feature\") {\n\t\t\t\tfeatureCollection.features.push(fc);\n\t\t\t}\n\t\t}\n\t});\n\tif(featureCollection.features.length > 0) {\n\t\treturn [JSON.stringify(turf.nearestPoint(target,featureCollection))];\n\t} else {\n\t\treturn [];\n\t}\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/operators/olc.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/geospatial/operators/olc.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operators for open location code conversions\n\n\\*/\n\n\"use strict\";\n\nvar openlocationcode = require(\"$:/plugins/tiddlywiki/geospatial/openlocationcode.js\"),\n\tturf = require(\"$:/plugins/tiddlywiki/geospatial/turf.js\");\n\nexports[\"olc-decode\"] = function(source,operator,options) {\n\tvar olc;\n\ttry {\n\t\tolc = openlocationcode.decode(operator.operands[0] || \"\");\n\t} catch(e) {\n\t\treturn [];\n\t}\n\tvar suffixes = (operator.suffixes || [])[0] || [],\n\t\tobj;\n\tif(suffixes.indexOf(\"bounds\") !== -1) {\n\t\tobj = turf.polygon([[\n\t\t\t[olc.longitudeLo, olc.latitudeLo],\n\t\t\t[olc.longitudeLo, olc.latitudeHi],\n\t\t\t[olc.longitudeHi, olc.latitudeHi],\n\t\t\t[olc.longitudeHi, olc.latitudeLo],\n\t\t\t[olc.longitudeLo, olc.latitudeLo]\n\t\t]]);\n\t} else {\n\t\tobj = turf.point([olc.longitudeCenter,olc.latitudeCenter]);\n\t}\n\treturn [JSON.stringify(obj)];\n};\n\nexports[\"olc-encode\"] = function(source,operator,options) {\n\tvar lat = $tw.utils.parseNumber(operator.operands[0] || \"0\"),\n\t\tlong = $tw.utils.parseNumber(operator.operands[1] || \"0\"),\n\t\tcodelength =  $tw.utils.parseNumber(operator.operands[2] || \"0\") || openlocationcode.CODE_PRECISION_NORMAL,\n\t\tolc;\n\ttry {\n\t\tolc = openlocationcode.encode(lat,long,codelength);\n\t} catch(e) {\n\t\treturn [];\n\t}\n\treturn [olc];\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/operators/transformation.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/geospatial/operators/transformation.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operators for geospatial transformation\n\n\\*/\n\n\"use strict\";\n\nvar turf = require(\"$:/plugins/tiddlywiki/geospatial/turf.js\");\n\nexports.geounion = makeTransformation(\"union\");\n\nexports.geointersect = makeTransformation(\"intersect\");\n\nexports.geodifference = makeTransformation(\"difference\");\n\nfunction makeTransformation(methodName) {\n\treturn function(source,operator,options) {\n\t\t// Collect the input\n\t\tvar jsonObjects = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tvar jsonObject = $tw.utils.parseJSONSafe(title,null);\n\t\t\tif(jsonObject) {\n\t\t\t\tjsonObjects.push(jsonObject);\n\t\t\t}\n\t\t});\n\t\t// Perform the transformation\n\t\tvar result = geojsonOp(jsonObjects,methodName);\n\t\treturn [JSON.stringify(result)];\n\t};\n}\n\nfunction geojsonOp(geojsonObjects, op) {\n\tvar resultFeatures = [];\n\t$tw.utils.each(geojsonObjects,function (geojson1) {\n\t\tif(geojson1.type === \"FeatureCollection\") {\n\t\t\tresultFeatures = resultFeatures.length ? resultFeatures : geojson1.features;\n\t\t} else if(geojson1.type === \"Feature\") {\n\t\t\tresultFeatures = resultFeatures.length ? resultFeatures : [geojson1];\n\t\t}\n\t\t$tw.utils.each(geojsonObjects,function (geojson2) {\n\t\t\tif(geojson1 !== geojson2) {\n\t\t\t\tvar newResultFeatures = [];\n\t\t\t\t$tw.utils.each(resultFeatures,function (feature1) {\n\t\t\t\t\tif(geojson2.type === \"FeatureCollection\") {\n\t\t\t\t\t\t$tw.utils.each(geojson2.features,function (feature2) {\n\t\t\t\t\t\t\tvar result;\n\t\t\t\t\t\t\tif(op === \"union\") {\n\t\t\t\t\t\t\t\tresult = turf.union(feature1, feature2);\n\t\t\t\t\t\t\t} else if(op === \"intersect\") {\n\t\t\t\t\t\t\t\tresult = turf.intersect(feature1, feature2);\n\t\t\t\t\t\t\t} else if(op === \"difference\") {\n\t\t\t\t\t\t\t\tresult = turf.difference(feature1, feature2);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif(result) {\n\t\t\t\t\t\t\t\tnewResultFeatures.push(result);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t} else if(geojson2.type === \"Feature\") {\n\t\t\t\t\t\tvar result;\n\t\t\t\t\t\tif(op === \"union\") {\n\t\t\t\t\t\t\tresult = turf.union(feature1, geojson2);\n\t\t\t\t\t\t} else if(op === \"intersect\") {\n\t\t\t\t\t\t\tresult = turf.intersect(feature1, geojson2);\n\t\t\t\t\t\t} else if(op === \"difference\") {\n\t\t\t\t\t\t\tresult = turf.difference(feature1, geojson2);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(result) {\n\t\t\t\t\t\t\tnewResultFeatures.push(result);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tresultFeatures = newResultFeatures;\n\t\t\t}\n\t\t});\n\t});\n\treturn turf.featureCollection(resultFeatures);\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/geospatial\",\n\t\"name\": \"Geospatial Utilities\",\n\t\"description\": \"Geospatial utilities\",\n\t\"list\": \"readme docs settings license\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/readme\n\nWelcome to the Geospatial Plugin for TiddlyWiki.\n\nThis plugin adds new primitives to the TiddlyWiki platform to enable non-developers to build sophisticated interactive geospatial applications.\n\nThe Geospatial Plugin incorporates a number of third party libraries and online services:\n\n* [[Leaflet.js|https://leafletjs.com/]], an open source library to display interactive maps\n* [[Turf.js|https://turfjs.org/]], an open source library to perform geospatial calculations with [[GeoJSON|https://en.wikipedia.org/wiki/GeoJSON]] objects\n* [[TravelTime|https://traveltime.com/]], a commercial API for [[geocoding|https://traveltime.com/features/geocoding]], [[routing|https://traveltime.com/features/multi-modal-routing]] and [[isochrones|https://traveltime.com/features/isochrones]]\n* [[Flickr|https://www.flickr.com/services/api/]], a free API for retrieving geotagged photographs\n* [[OpenLocationCode|https://github.com/google/open-location-code]], Google's open source library for converting to and from Open Location Codes (also known as [[PlusCodes|https://maps.google.com/pluscodes/]])\n"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/settings.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/settings\ncaption: Geospatial\ntags: $:/tags/ControlPanel/SettingsTab\n\n! Geospatial Plugin Settings\n\nThis plugin runs entirely in the browser, with no backend server component. A consequence of this design is that the API keys required to access external services must be obtained by the end user. These keys are stored in the browser and so only need to be set up once.\n\n!! ~TravelTime API key\n\n# Register for a free account at https://traveltime.com/\n# Visit https://account.traveltime.com/dashboard\n# Copy and paste the values labelled \"Application ID\" and \"Secret Keys\" into the boxes below\n\n~TravelTime Application ID: <$password name=\"traveltime-application-id\"/>\n\n~TravelTime Secret Key: <$password name=\"traveltime-secret-key\"/>\n\n!! Flickr API Key\n\n# Register for a free account at https://flickr.com/\n# Visit https://www.flickr.com/services/apps/create/apply and complete the procedure for the appropriate key\n#* The \n# Copy and paste the value labelled \"API Key\" into the box below\n\nFlickr API Key: <$password name=\"flickr-api-key\"/>\n"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/startup.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/geospatial/startup.js\ntype: application/javascript\nmodule-type: startup\n\nGeospatial initialisation\n\n\\*/\n\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"geospatial\";\nexports.after = [\"rootwidget\"];\nexports.before = [\"render\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\t// var openlocationcode = require(\"$:/plugins/tiddlywiki/geospatial/openlocationcode.js\");\n\t// var turf = require(\"$:/plugins/tiddlywiki/geospatial/turf.js\");\n\t// Load Leaflet\n\tif($tw.browser) {\n\t\t$tw.Leaflet = require(\"$:/plugins/tiddlywiki/geospatial/leaflet.js\");\n\t\t// Add Leaflet Marker Cluster Plugin\n\t\trequire(\"$:/plugins/tiddlywiki/geospatial/leaflet.markercluster.js\");\t\n\t}\n\t// Install geolocation message handler\n\t$tw.rootWidget.addEventListener(\"tm-request-geolocation\",function(event) {\n\t\tvar widget = event.widget,\n\t\t\twiki = widget.wiki || $tw.wiki,\n\t\t\tparams = event.paramObject || {},\n\t\t\tactionsSuccess = params.actionsSuccess,\n\t\t\tactionsError = params.actionsError;\n\t\t// Assemble the options for getCurrentPosition()\n\t\tconst opts = {\n\t\t\tenableHighAccuracy: params.accuracy !== \"low\",\n\t\t\ttimeout: Infinity,\n\t\t\tmaximumAge: 0\n\t\t};\n\t\tif(params.timeout !== undefined) {\n\t\t\topts.timeout = $tw.utils.parseInt(params.timeout);\n\t\t}\n\t\tif(params.maximumAge !== undefined) {\n\t\t\topts.maximumAge = $tw.utils.parseInt(params.maximumAge);\n\t\t}\n\t\t// Get the current position\n\t\ttry {\n\t\t\tnavigator.geolocation.getCurrentPosition(function successHandler(pos) {\n\t\t\t\t// Invoke the success actions\n\t\t\t\twiki.invokeActionString(actionsSuccess,undefined,{\n\t\t\t\t\ttimestamp: $tw.utils.stringifyDate(new Date(pos.timestamp)),\n\t\t\t\t\tlatitude:  \"\" + pos.coords.latitude,\n\t\t\t\t\tlongitude:  \"\" + pos.coords.longitude,\n\t\t\t\t\taltitude:  \"\" + pos.coords.altitude,\n\t\t\t\t\taccuracy:  \"\" + pos.coords.accuracy,\n\t\t\t\t\taltitudeAccuracy:  \"\" + pos.coords.altitudeAccuracy,\n\t\t\t\t\theading:  \"\" + pos.coords.heading,\n\t\t\t\t\tspeed:  \"\" + pos.coords.speed\n\t\t\t\t},{parentWidget: $tw.rootWidget});\n\t\t\t},function errorHandler(err) {\n\t\t\t\t// Invoke the error actions\n\t\t\t\twiki.invokeActionString(actionsError,undefined,{\n\t\t\t\t\t\"error\": \"\" + err.message\n\t\t\t\t},{parentWidget: $tw.rootWidget});\n\t\t\t},opts);\n\t\t} catch(ex) {\n\t\t\t// Invoke the error actions\n\t\t\twiki.invokeActionString(actionsError,undefined,{\n\t\t\t\t\"error\": \"\" + ex\n\t\t\t},{parentWidget: $tw.rootWidget});\n\t\t}\n\t});\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/styles.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/styles\ntags: [[$:/tags/Stylesheet]]\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\n.leaflet-retina .leaflet-control-layers-toggle,\n.leaflet-control-layers-toggle {\n    background-image: url(<<datauri '$:/plugins/tiddlywiki/geospatial/leaflet/images/layers-2x.png'>>);\n\n}"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/tests/operators/geodifference-interactive.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/tests/operators/geodifference-interactive\ndescription: geodifference operator interactive example\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec-XXXXX]]\nNOTE: THIS TEST IS DISABLED BECAUSE IT CURRENTLY DOES NOT WORK IN CI WITH PLAYWRIGHT\n\ntitle: Description\n\ngeodifference operator interactive example\n+\ntitle: Output\n\n\\whitespace trim\n<$geomap \n\tstate=<<qualify \"$:/state/demo-map\">>\n\tstartPosition=\"bounds\"\n\tlayersPanel=\"open\"\n>\n<$geolayer json={{LayerOne}} name=\"LayerOne\" color=\"red\"/>\n<$geolayer json={{LayerTwo}} name=\"LayerTwo\" color=\"yellow\"/>\n<$geolayer json={{{ =[{LayerOne}] =[{LayerTwo}] +[geodifference[]] }}}  name=\"Difference of LayerOne and LayerTwo\" color=\"blue\"/>\n</$geomap>\n+\ntitle: LayerOne\ntype: application/json\n\n{\n\t\"type\": \"FeatureCollection\",\n\t\"features\": [\n\t\t{\n\t\t\t\"type\": \"Feature\",\n\t\t\t\"geometry\": {\n\t\t\t\t\"type\": \"Polygon\",\n\t\t\t\t\"coordinates\": [\n\t\t\t\t\t[[100.0,0.0],[102.0,0.0],[102.0,2.0],[100.0,2.0],[100.0,0.0]]\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t]\n}\n+\n+\ntitle: LayerTwo\ntype: application/json\n\n{\n\t\"type\": \"FeatureCollection\",\n\t\"features\": [\n\t\t{\n\t\t\t\"type\": \"Feature\",\n\t\t\t\"geometry\": {\n\t\t\t\t\"type\": \"Polygon\",\n\t\t\t\t\"coordinates\": [\n\t\t\t\t\t[[101.0,1.0],[103.0,1.0],[103.0,3.0],[101.0,3.0],[101.0,1.0]]\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t]\n}\n+\ntitle: ExpectedResult\n\n<p><div style=\"width:100%;height:600px;\"></div></p>"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/tests/operators/geodifference.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/tests/operators/geodifference\ndescription: geodifference operator\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Description\n\ngeodifference operator\n+\ntitle: Output\n\n\\whitespace trim\n<$text text={{{ =[{LayerOne}] =[{LayerTwo}] +[geodifference[]] }}}/>\n+\ntitle: LayerOne\ntype: application/json\n\n{\n\t\"type\": \"FeatureCollection\",\n\t\"features\": [\n\t\t{\n\t\t\t\"type\": \"Feature\",\n\t\t\t\"geometry\": {\n\t\t\t\t\"type\": \"Polygon\",\n\t\t\t\t\"coordinates\": [\n\t\t\t\t\t[[100.0,0.0],[102.0,0.0],[102.0,2.0],[100.0,2.0],[100.0,0.0]]\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t]\n}\n+\n+\ntitle: LayerTwo\ntype: application/json\n\n{\n\t\"type\": \"FeatureCollection\",\n\t\"features\": [\n\t\t{\n\t\t\t\"type\": \"Feature\",\n\t\t\t\"geometry\": {\n\t\t\t\t\"type\": \"Polygon\",\n\t\t\t\t\"coordinates\": [\n\t\t\t\t\t[[101.0,1.0],[103.0,1.0],[103.0,3.0],[101.0,3.0],[101.0,1.0]]\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t]\n}\n+\ntitle: ExpectedResult\n\n<p>{\"type\":\"FeatureCollection\",\"features\":[]}</p>"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/tests/operators/geodistance.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/tests/operators/geodistance\ndescription: geodistance operator\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Description\n\ngeodistance operator\n+\ntitle: Output\n\n\\whitespace trim\n<$let\n\toxford={{{ [geopoint[51.751944],[-1.257778]] }}}\n\tnew-york={{{ [geopoint[40.730610],[-73.935242]] }}}\n>\n\n<$text text={{{ [geodistance<oxford>,<new-york>] }}}/>,\n<$text text={{{ [geodistance<oxford>,<new-york>,[miles]] }}}/>,\n<$text text={{{ [geodistance<oxford>,<new-york>,[kilometers]] }}}/>,\n<$text text={{{ [geodistance<oxford>,<new-york>,[degrees]] }}}/>,\n<$text text={{{ [geodistance<oxford>,<new-york>,[radians]] }}}/>,\n<$text text={{{ [geodistance<oxford>,<new-york>,[xxxxxxx]] }}}/>\n\n</$let>\n\n+\ntitle: ExpectedResult\n\n<p>3406.2115173004354,3406.2115173004354,5481.766068098352,49.241105484826875,0.8604235593111019,3406.2115173004354</p>"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/tests/operators/geointersect-interactive.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/tests/operators/geointersect-interactive\ndescription: geointersect operator interactive example\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec-XXXXX]]\nNOTE: THIS TEST IS DISABLED BECAUSE IT CURRENTLY DOES NOT WORK IN CI WITH PLAYWRIGHT\n\ntitle: Description\n\ngeointersect operator interactive example\n+\ntitle: Output\n\n\\whitespace trim\n<$geomap \n\tstate=<<qualify \"$:/state/demo-map\">>\n\tstartPosition=\"bounds\"\n\tlayersPanel=\"open\"\n>\n<$geolayer json={{LayerOne}} name=\"LayerOne\" color=\"red\"/>\n<$geolayer json={{LayerTwo}} name=\"LayerTwo\" color=\"yellow\"/>\n<$geolayer json={{{ =[{LayerOne}] =[{LayerTwo}] +[geointersect[]] }}}  name=\"Intersection of LayerOne and LayerTwo\" color=\"blue\"/>\n</$geomap>\n+\ntitle: LayerOne\ntype: application/json\n\n{\n\t\"type\": \"FeatureCollection\",\n\t\"features\": [\n\t\t{\n\t\t\t\"type\": \"Feature\",\n\t\t\t\"geometry\": {\n\t\t\t\t\"type\": \"Polygon\",\n\t\t\t\t\"coordinates\": [\n\t\t\t\t\t[[100.0,0.0],[102.0,0.0],[102.0,2.0],[100.0,2.0],[100.0,0.0]]\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t]\n}\n+\n+\ntitle: LayerTwo\ntype: application/json\n\n{\n\t\"type\": \"FeatureCollection\",\n\t\"features\": [\n\t\t{\n\t\t\t\"type\": \"Feature\",\n\t\t\t\"geometry\": {\n\t\t\t\t\"type\": \"Polygon\",\n\t\t\t\t\"coordinates\": [\n\t\t\t\t\t[[101.0,1.0],[103.0,1.0],[103.0,3.0],[101.0,3.0],[101.0,1.0]]\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t]\n}\n+\ntitle: ExpectedResult\n\n<p><div style=\"width:100%;height:600px;\"></div></p>"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/tests/operators/geointersect.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/tests/operators/geointersect\ndescription: geointersect operator\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Description\n\ngeointersect operator\n+\ntitle: Output\n\n\\whitespace trim\n<$text text={{{ =[{LayerOne}] =[{LayerTwo}] +[geointersect[]] }}}/>\n+\ntitle: LayerOne\ntype: application/json\n\n{\n\t\"type\": \"FeatureCollection\",\n\t\"features\": [\n\t\t{\n\t\t\t\"type\": \"Feature\",\n\t\t\t\"geometry\": {\n\t\t\t\t\"type\": \"Polygon\",\n\t\t\t\t\"coordinates\": [\n\t\t\t\t\t[[100.0,0.0],[102.0,0.0],[102.0,2.0],[100.0,2.0],[100.0,0.0]]\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t]\n}\n+\n+\ntitle: LayerTwo\ntype: application/json\n\n{\n\t\"type\": \"FeatureCollection\",\n\t\"features\": [\n\t\t{\n\t\t\t\"type\": \"Feature\",\n\t\t\t\"geometry\": {\n\t\t\t\t\"type\": \"Polygon\",\n\t\t\t\t\"coordinates\": [\n\t\t\t\t\t[[101.0,1.0],[103.0,1.0],[103.0,3.0],[101.0,3.0],[101.0,1.0]]\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t]\n}\n+\ntitle: ExpectedResult\n\n<p>{\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[101,1],[102,1],[102,2],[101,2],[101,1]]]}}]}</p>"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/tests/operators/geolookup.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/tests/operators/geolookup\ndescription: geolookup operator\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Description\n\ngeolookup operator\n+\ntitle: Output\n\n\\whitespace trim\n<$text text={{{ [geopoint[100.5],[0.5]geolookup{TestData}jsonget[0],[animal]] }}}/>\n+\ntitle: TestData\ntype: application/json\n\n{\n\t\"type\": \"FeatureCollection\",\n\t\"features\": [\n\t\t{\n\t\t\t\"type\": \"Feature\",\n\t\t\t\"geometry\": {\n\t\t\t\t\"type\": \"Point\",\n\t\t\t\t\"coordinates\": [0.5,102.0]\n\t\t\t},\n\t\t\t\"properties\": {\n\t\t\t\t\"animal\": \"amoeba\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"type\": \"Feature\",\n\t\t\t\"geometry\": {\n\t\t\t\t\"type\": \"LineString\",\n\t\t\t\t\"coordinates\": [\n\t\t\t\t\t[0.0,102.0],[1.0,103.0],[0.0,104.0],[1.0,105.0]\n\t\t\t\t]\n\t\t\t},\n\t\t\t\"properties\": {\n\t\t\t\t\"animal\": \"snake\",\n\t\t\t\t\"length\": 100.0\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"type\": \"Feature\",\n\t\t\t\"geometry\": {\n\t\t\t\t\"type\": \"Polygon\",\n\t\t\t\t\"coordinates\": [\n\t\t\t\t\t[[0.0,100.0],[0.0,101.0],[1.0,101.0],[1.0,100.0],[0.0,100.0]]\n\t\t\t\t]\n\t\t\t},\n\t\t\t\"properties\": {\n\t\t\t\t\"animal\": \"boxfish\",\n\t\t\t\t\"prop1\": {\n\t\t\t\t\t\"this\": \"that\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t]\n}\n+\ntitle: ExpectedResult\n\n<p>boxfish</p>"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/tests/operators/geonearestpoint.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/tests/operators/geonearestpoint\ndescription: geonearestpoint operator\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Description\n\ngeonearestpoint operator\n+\ntitle: Output\n\n\\whitespace trim\n<$let\n\toxford={{{ [geopoint[51.751944],[-1.257778]jsonset[id],[Oxford]] }}}\n\twinchester={{{ [geopoint[51.0632],[-1.308]jsonset[id],[Winchester]] }}}\n\tnew-york={{{ [geopoint[40.730610],[-73.935242]jsonset[id],[New York]] }}}\n>\n\n<$text text={{{ =[<oxford>] =[<winchester>] +[geonearestpoint<new-york>jsonget[id]] }}}/>,\n<$text text={{{ =[<winchester>] =[[Not a point]] +[geonearestpoint<new-york>jsonget[id]] }}}/>,\n<$text text={{{ =[[Not a point]] +[geonearestpoint<new-york>jsonget[id]] }}}/>\n\n</$let>\n\n+\ntitle: ExpectedResult\n\n<p>Oxford,Winchester,</p>"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/tests/operators/geonearestpoint2.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/tests/operators/geonearestpoint2\ndescription: geonearestpoint operator\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Description\n\ngeonearestpoint operator\n+\ntitle: Output\n\n\\whitespace trim\n<$let\n\toxford={{{ [geopoint[51.751944],[-1.257778]jsonset[id],[Oxford]] }}}\n\twinchester={{{ [geopoint[51.0632],[-1.308]jsonset[id],[Winchester]] }}}\n\tnew-york={{{ [geopoint[40.730610],[-73.935242]jsonset[id],[New York]] }}}\n\tplaces=\"\"\"{\n\t\"type\": \"FeatureCollection\",\n\t\"features\": [\n\t\t{\n\t\t\t\"type\": \"Feature\",\n\t\t\t\"id\": \"Oxford\",\n\t\t\t\"geometry\": {\n\t\t\t\t\"type\": \"Point\",\n\t\t\t\t\"coordinates\": [-1.257778, 51.751944]\n\t\t\t}\n\t\t},{\n\t\t\t\"type\": \"Feature\",\n\t\t\t\"id\": \"Winchester\",\n\t\t\t\"geometry\": {\n\t\t\t\t\"type\": \"Point\",\n\t\t\t\t\"coordinates\": [-1.308, 51.0632]\n\t\t\t}\n\t\t}\n\t]\n}\n\"\"\"\n>\n<$text text={{{ [<places>geonearestpoint<new-york>jsonget[id]] }}}/>\n</$let>\n\n+\ntitle: ExpectedResult\n\n<p>Oxford</p>"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/tests/operators/geopoint.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/tests/operators/geopoint\ndescription: geopoint operator\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Description\n\ngeopoint operator\n+\ntitle: Output\n\n<$text text={{{ [geopoint[51.751944],[-1.257778]] }}}/>\n\n<$text text={{{ [geopoint[51.751944],[-1.257778]jsonset[id],[Oxford]] }}}/>\n\n<$text text={{{ [geopoint[51.751944],[-1.257778],[2]] }}}/>\n\n+\ntitle: ExpectedResult\n\n{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"Point\",\"coordinates\":[-1.257778,51.751944,0]}}{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"Point\",\"coordinates\":[-1.257778,51.751944,0]},\"id\":\"Oxford\"}{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"Point\",\"coordinates\":[-1.257778,51.751944,2]}}"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/tests/operators/geounion-interactive.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/tests/operators/geounion-interactive\ndescription: geounion operator interactive example\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec-XXXXX]]\nNOTE: THIS TEST IS DISABLED BECAUSE IT CURRENTLY DOES NOT WORK IN CI WITH PLAYWRIGHT\n\ntitle: Description\n\ngeounion operator interactive example\n+\ntitle: Output\n\n\\whitespace trim\n<$geomap \n\tstate=<<qualify \"$:/state/demo-map\">>\n\tstartPosition=\"bounds\"\n\tlayersPanel=\"open\"\n>\n<$geolayer json={{LayerOne}} name=\"LayerOne\" color=\"red\"/>\n<$geolayer json={{LayerTwo}} name=\"LayerTwo\" color=\"yellow\"/>\n<$geolayer json={{{ =[{LayerOne}] =[{LayerTwo}] +[geounion[]] }}}  name=\"Union of LayerOne and LayerTwo\" color=\"blue\"/>\n</$geomap>\n+\ntitle: LayerOne\ntype: application/json\n\n{\n\t\"type\": \"FeatureCollection\",\n\t\"features\": [\n\t\t{\n\t\t\t\"type\": \"Feature\",\n\t\t\t\"geometry\": {\n\t\t\t\t\"type\": \"Polygon\",\n\t\t\t\t\"coordinates\": [\n\t\t\t\t\t[[100.0,0.0],[102.0,0.0],[102.0,2.0],[100.0,2.0],[100.0,0.0]]\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t]\n}\n+\n+\ntitle: LayerTwo\ntype: application/json\n\n{\n\t\"type\": \"FeatureCollection\",\n\t\"features\": [\n\t\t{\n\t\t\t\"type\": \"Feature\",\n\t\t\t\"geometry\": {\n\t\t\t\t\"type\": \"Polygon\",\n\t\t\t\t\"coordinates\": [\n\t\t\t\t\t[[101.0,1.0],[103.0,1.0],[103.0,3.0],[101.0,3.0],[101.0,1.0]]\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t]\n}\n+\ntitle: ExpectedResult\n\n<p><div style=\"width:100%;height:600px;\"></div></p>"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/tests/operators/geounion.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/tests/operators/geounion\ndescription: geounion operator\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Description\n\ngeounion operator\n+\ntitle: Output\n\n\\whitespace trim\n<$text text={{{ =[{LayerOne}] =[{LayerTwo}] +[geounion[]] }}}/>\n+\ntitle: LayerOne\ntype: application/json\n\n{\n\t\"type\": \"FeatureCollection\",\n\t\"features\": [\n\t\t{\n\t\t\t\"type\": \"Feature\",\n\t\t\t\"geometry\": {\n\t\t\t\t\"type\": \"Polygon\",\n\t\t\t\t\"coordinates\": [\n\t\t\t\t\t[[100.0,0.0],[102.0,0.0],[102.0,2.0],[100.0,2.0],[100.0,0.0]]\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t]\n}\n+\n+\ntitle: LayerTwo\ntype: application/json\n\n{\n\t\"type\": \"FeatureCollection\",\n\t\"features\": [\n\t\t{\n\t\t\t\"type\": \"Feature\",\n\t\t\t\"geometry\": {\n\t\t\t\t\"type\": \"Polygon\",\n\t\t\t\t\"coordinates\": [\n\t\t\t\t\t[[101.0,1.0],[103.0,1.0],[103.0,3.0],[101.0,3.0],[101.0,1.0]]\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t]\n}\n+\ntitle: ExpectedResult\n\n<p>{\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[100,0],[102,0],[102,1],[103,1],[103,3],[101,3],[101,2],[100,2],[100,0]]]}}]}</p>"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/tests/operators/olc-decode.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/tests/operators/olc-decode\ndescription: olc-decode operator\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Description\n\nOpen Location Code operators\n+\ntitle: Output\n\n(<$text text={{{ [olc-decode:bounds[9C3WQP2R+QV]] }}}/>)\n(<$text text={{{ [olc-decode:point[9C3WQP2R+QVH]] }}}/>)\n\n+\ntitle: ExpectedResult\n\n<p>({\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"Polygon\",\"coordinates\":[[[-1.257875,51.751875],[-1.257875,51.752],[-1.25775,51.752],[-1.25775,51.751875],[-1.257875,51.751875]]]}})\n({\"type\":\"Feature\",\"properties\":{},\"geometry\":{\"type\":\"Point\",\"coordinates\":[-1.257765625,51.7519375]}})\n</p>"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/tests/operators/olc-encode.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/tests/operators/olc-encode\ndescription: olc-encode operator\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Description\n\nOpen Location Code operators\n+\ntitle: Output\n\n(<$text text={{{ [olc-encode[51.751944],[-1.257778]] }}}/>)\n(<$text text={{{ [olc-encode[51.751944],[-1.257778],[11]] }}}/>)\n\n+\ntitle: ExpectedResult\n\n<p>(9C3WQP2R+QV)\n(9C3WQP2R+QVH)\n</p>"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/tests/widgets/geomap-draggable-marker.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/tests/widgets/geomap-draggable-marker\ndescription: geomap widget with draggable marker\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec-XXXXX]]\nNOTE: THIS TEST IS DISABLED BECAUSE IT CURRENTLY DOES NOT WORK IN CI WITH PLAYWRIGHT\n\ntitle: Description\ntext: Map with draggable marker\n+\ntitle: Oxford\nlat: 51.751944\nlong: -1.257778\nalt: 0\n+\ntitle: Output\n\n\\procedure update-actions()\n<$action-setfield $tiddler=\"Oxford\" $field=\"lat\" $value=<<lat>>/>\n<$action-setfield $tiddler=\"Oxford\" $field=\"long\" $value=<<long>>/>\n\\end\n\n<$geomap\n\tstate=<<qualify \"$:/state/demo-map\">>\n>\n\t<$tiddler tiddler=\"Oxford\">\n\t\t<$geolayer\n\t\t\tlat={{!!lat}}\n\t\t\tlong={{!!long}}\n\t\t\talt={{!!alt}}\n\t\t\tcolor={{!!color}}\n\t\t\tname={{!!title}}\n\t\t\tdraggable=\"yes\"\n\t\t\tupdateActions=<<update-actions>>\n\t\t/>\n\t</$tiddler>\n</$geomap>\n+\ntitle: ExpectedResult\n\n<p><div style=\"width:100%;height:600px;\"></div></p>"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/tests/widgets/geomap-empty-layer.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/tests/widgets/geomap-empty-layer\ndescription: Map using geolayer without json and lat/long attributes\nimport: $:/plugins/tiddlywiki/geospatial\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec]]\n\ntitle: Narrative\n\nVerify exception reported in [[8452|https://github.com/TiddlyWiki/TiddlyWiki5/issues/8452]] is not thrown when the geolayer widget has no attributes\n+\ntitle: Output\n\n<$geomap startPosition=\"bounds\">\n<$geolayer/>\n</$geomap>\n+\ntitle: ExpectedResult\n\n<p><div style=\"width:100%;height:600px;\"></div></p>"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/tests/widgets/geomap-refresh.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/tests/widgets/geomap-refresh\ndescription: refreshing of geomap widget\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec-XXXXX]]\nNOTE: THIS TEST IS DISABLED BECAUSE IT CURRENTLY DOES NOT WORK IN CI WITH PLAYWRIGHT\n\ntitle: Description\ntext: Map using dynamic geolayer to represent features\n+\ntitle: Layer\ntags: $:/tags/GeoFeature\ntype: application/json\ncolor: red\n\n{\n\t\"type\": \"FeatureCollection\",\n\t\"features\": [\n\t\t{\n\t\t\t\"type\": \"Feature\",\n\t\t\t\"id\": \"An example geofeature feature\",\n\t\t\t\"properties\": {\n\t\t\t\t\"custom\": \"A custom property of this feature\",\n\t\t\t\t\"color\": \"#ff8\"\n\t\t\t},\n\t\t\t\"geometry\": {\n\t\t\t\t\"type\": \"Polygon\",\n\t\t\t\t\"coordinates\": [\n\t\t\t\t\t[\n\t\t\t\t\t\t[-90,35],\n\t\t\t\t\t\t[-90,30],\n\t\t\t\t\t\t[-85,30],\n\t\t\t\t\t\t[-85,35],\n\t\t\t\t\t\t[-90,35]\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t]\n}\n+\ntitle: Output\n\n<$button>\n<$action-setfield $tiddler=\"$:/state/layer\" $value=\"yes\"/>\nClick here to enable the layer\n</$button>\n\n<$geomap\n\tstate=<<qualify \"$:/state/demo-map\">>\n>\n\t<$geolayer \n\t\tjson={{{ [{$:/state/layer}match[yes]then{Layer}else[]] }}}\n\t\tcolorFilter=\"[<currentTiddler>jsonget[properties],[color]else[red]]\"\n\t/>\n</$geomap>\n+\ntitle: ExpectedResult\n\n<p><button class=\"\">\n\nClick here to enable the layer\n</button></p><p><div style=\"width:100%;height:600px;\"></div></p>"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/tests/widgets/geomap.tid",
    "content": "title: $:/plugins/tiddlywiki/geospatial/tests/widgets/geomap\ndescription: geomap widget\ntype: text/vnd.tiddlywiki-multiple\ntags: [[$:/tags/wiki-test-spec-XXXXX]]\nNOTE: THIS TEST IS DISABLED BECAUSE IT CURRENTLY DOES NOT WORK IN CI WITH PLAYWRIGHT\n\ntitle: Description\ntext: Map using geolayer to represent features\n+\ntitle: Layer\ntags: $:/tags/GeoFeature\ntype: application/json\ncolor: red\n\n{\n\t\"type\": \"FeatureCollection\",\n\t\"features\": [\n\t\t{\n\t\t\t\"type\": \"Feature\",\n\t\t\t\"id\": \"An example geofeature feature\",\n\t\t\t\"properties\": {\n\t\t\t\t\"custom\": \"A custom property of this feature\",\n\t\t\t\t\"color\": \"#ff8\"\n\t\t\t},\n\t\t\t\"geometry\": {\n\t\t\t\t\"type\": \"Polygon\",\n\t\t\t\t\"coordinates\": [\n\t\t\t\t\t[\n\t\t\t\t\t\t[-90,35],\n\t\t\t\t\t\t[-90,30],\n\t\t\t\t\t\t[-85,30],\n\t\t\t\t\t\t[-85,35],\n\t\t\t\t\t\t[-90,35]\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t]\n}\n+\ntitle: Output\n\n<$geomap\n\tstate=<<qualify \"$:/state/demo-map\">>\n>\n\t<$geolayer \n\t\tjson={{Layer}}\n\t\tcolorFilter=\"[<currentTiddler>jsonget[properties],[color]else[red]]\"\n\t/>\n</$geomap>\n+\ntitle: ExpectedResult\n\n<p><div style=\"width:100%;height:600px;\"></div></p>"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/widgets/geobaselayer.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/geospatial/geobaselayer.js\ntype: application/javascript\nmodule-type: widget\n\ngeobaselayer widget to represent a base layer for a geomap widget. Clone of the data widget\n\n\\*/\n\n\"use strict\";\n\nexports.geobaselayer = require(\"$:/core/modules/widgets/data.js\").data;\n"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/widgets/geolayer.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/geospatial/geolayer.js\ntype: application/javascript\nmodule-type: widget\n\ngeolayer widget to represent a layer for a geomap widget. Clone of the data widget\n\n\\*/\n\n\"use strict\";\n\nexports.geolayer = require(\"$:/core/modules/widgets/data.js\").data;\n"
  },
  {
    "path": "plugins/tiddlywiki/geospatial/widgets/geomap.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/geospatial/geomap.js\ntype: application/javascript\nmodule-type: widget\n\nLeaflet map widget\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar GeomapWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nGeomapWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nGeomapWidget.prototype.render = function(parent,nextSibling) {\n\t// Housekeeping\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Render the children into a hidden DOM node\n\tvar parser = {\n\t\ttree: [{\n\t\t\ttype: \"widget\",\n\t\t\tattributes: {},\n\t\t\torderedAttributes: [],\n\t\t\tchildren: this.parseTreeNode.children || []\n\t\t}]\n\t};\n\tthis.contentRoot = this.wiki.makeWidget(parser,{\n\t\tdocument: $tw.fakeDocument,\n\t\tparentWidget: this\n\t});\n\tthis.contentContainer = $tw.fakeDocument.createElement(\"div\");\n\tthis.contentRoot.render(this.contentContainer,null);\n\t// Render a wrapper for the map\n\tthis.domNode = this.document.createElement(\"div\");\n\tthis.setMapSize();\n\t// Insert it into the DOM\n\tparent.insertBefore(this.domNode,nextSibling);\n\tthis.domNodes.push(this.domNode);\n\t// Render the map\n\tif($tw.browser && !this.domNode.isTiddlyWikiFakeDom) {\n\t\tthis.renderMap();\n\t\tthis.refreshMap();\n\t}\n};\n\nGeomapWidget.prototype.renderMap = function() {\n\tvar self = this;\n\t// Create the map\n\tvar options = {\n\t\t\n\t};\n\tif(this.geomapMaxZoom) {\n\t\toptions.maxZoom = $tw.utils.parseInt(this.geomapMaxZoom);\n\t}\n\tthis.map = $tw.Leaflet.map(this.domNode,options);\n\t// No layers rendered\n\tthis.renderedLayers = [];\n\tthis.baseLayers = [];\n\t// Disable Leaflet attribution\n\tthis.map.attributionControl.setPrefix(\"\");\n\t// Add scale\n\t$tw.Leaflet.control.scale().addTo(this.map);\n\t// Listen for pan and zoom events and update the state tiddler\n\tthis.map.on(\"moveend zoomend\",function(event) {\n\t\tif(self.hasAttribute(\"state\")) {\n\t\t\tvar stateTitle = self.getAttribute(\"state\"),\n\t\t\t\tc = self.map.getCenter(),\n\t\t\t\tlat = \"\" + c.lat,\n\t\t\t\tlong = \"\" + c.lng,\n\t\t\t\tzoom = \"\" + self.map.getZoom(),\n\t\t\t\ttiddler = self.wiki.getTiddler(stateTitle);\n\t\t\t// Only write the tiddler if the values have changed\n\t\t\tif(!tiddler || tiddler.fields.lat !== lat || tiddler.fields.long !== long || tiddler.fields.zoom !== zoom) {\n\t\t\t\tself.wiki.addTiddler(new $tw.Tiddler({\n\t\t\t\t\ttitle: stateTitle,\n\t\t\t\t\tlat: lat,\n\t\t\t\t\tlong: long,\n\t\t\t\t\tzoom: zoom\n\t\t\t\t}));\n\t\t\t}\n\t\t}\n\t});\n};\n\nGeomapWidget.prototype.refreshMap = function() {\n\tvar self = this;\n\t// Remove any previously rendered layers\n\t$tw.utils.each(this.renderedLayers,function(layer) {\n\t\tself.map.removeLayer(layer.layer);\n\t});\n\tthis.renderedLayers = []; // Array of {name:,layer:}\n\t$tw.utils.each(this.renderedBaseLayers,function(baseLayer) {\n\t\tself.map.removeLayer(baseLayer.layer);\n\t});\n\tthis.renderedBaseLayers = []; // Array of {name:,layer:}\n\t// Create default icon\n\tvar iconProportions = 365/560,\n\t\ticonHeight = 50;\n\tvar myIcon = new $tw.Leaflet.Icon({\n\t\ticonUrl: $tw.utils.makeDataUri(this.wiki.getTiddlerText(\"$:/plugins/tiddlywiki/geospatial/images/markers/pin\"),\"image/svg+xml\"),\n\t\ticonSize:     [iconHeight * iconProportions, iconHeight], // Size of the icon\n\t\ticonAnchor:   [(iconHeight * iconProportions) / 2, iconHeight], // Position of the anchor within the icon\n\t\tpopupAnchor:  [0, -iconHeight] // Position of the popup anchor relative to the icon anchor\n\t});\n\t// Counter for autogenerated names\n\tvar untitledCount = 1;\n\t// Process embedded geobaselayer widgets\n\tfunction loadBaseLayer(layerInfo) {\n\t\tif(layerInfo.title) {\n\t\t\tvar tiddler = self.wiki.getTiddler(layerInfo.title);\n\t\t\tif(tiddler) {\n\t\t\t\tlayerInfo.name = layerInfo.name || tiddler.fields[\"caption\"];\n\t\t\t\tlayerInfo.tilesUrl = layerInfo.tilesUrl || tiddler.fields[\"tiles-url\"];\n\t\t\t\tlayerInfo.maxZoom = layerInfo.maxZoom || tiddler.fields[\"max-zoom\"];\n\t\t\t\tlayerInfo.attribution = layerInfo.attribution || tiddler.fields.text;\t\n\t\t\t}\n\t\t}\n\t\tvar baseLayer = $tw.Leaflet.tileLayer(layerInfo.tilesUrl, {\n\t\t\tmaxZoom: layerInfo.maxZoom,\n\t\t\tattribution: layerInfo.attribution\n\t\t});\n\t\tif(self.renderedBaseLayers.length === 0) {\n\t\t\tbaseLayer.addTo(self.map);\n\t\t}\n\t\tvar name = layerInfo.name || (\"Untitled \" + untitledCount++);\n\t\tself.renderedBaseLayers.push({name: name, layer: baseLayer});\n\t}\n\tthis.findChildrenDataWidgets(this.contentRoot.children,\"geobaselayer\",function(widget) {\n\t\tloadBaseLayer({\n\t\t\tname: widget.getAttribute(\"name\"),\n\t\t\ttitle: widget.getAttribute(\"title\"),\n\t\t\ttilesUrl: widget.getAttribute(\"tiles-url\"),\n\t\t\tmaxZoom: widget.getAttribute(\"max-zoom\"),\n\t\t\tattribution: widget.getAttribute(\"attribution\"),\n\t\t});\n\t});\n\t// Create the default base map if none was specified\n\tif(this.renderedBaseLayers.length === 0) {\n\t\t// Render in reverse order so that the first tagged base layer will be rendered last, and hence take priority\n\t\tvar baseLayerTitles = this.wiki.filterTiddlers(\"[all[tiddlers+shadows]tag[$:/tags/GeoBaseLayer]]\");\n\t\t$tw.utils.each(baseLayerTitles,function(title) {\n\t\t\tloadBaseLayer({title: title});\n\t\t});\n\t}\n\tif(this.renderedBaseLayers.length === 0) {\n\t\tloadBaseLayer({title: \"$:/plugins/tiddlywiki/geospatial/baselayers/openstreetmap\"});\n\t}\n\t// Make a marker cluster\n\tvar markers = $tw.Leaflet.markerClusterGroup({\n\t\tmaxClusterRadius: 40\n\t});\n\tthis.map.addLayer(markers);\n\t// Process embedded geolayer widgets\n\tvar defaultPopupTemplateTitle = self.getAttribute(\"popupTemplate\");\n\tthis.findChildrenDataWidgets(this.contentRoot.children,\"geolayer\",function(widget) {\n\t\tvar jsonText = widget.getAttribute(\"json\"),\n\t\t\tpopupTemplateTitle = widget.getAttribute(\"popupTemplate\",defaultPopupTemplateTitle),\n\t\t\tgeoJson = [];\n\t\t// Build up the geojson of the layer\n\t\tif(jsonText) {\n\t\t\t// Layer is defined by JSON blob\n\t\t\tgeoJson = $tw.utils.parseJSONSafe(jsonText,[]);\n\t\t} else if(widget.hasAttribute(\"lat\") && widget.hasAttribute(\"long\")) {\n\t\t\t// Layer is defined by lat long fields\n\t\t\tvar lat = $tw.utils.parseNumber(widget.getAttribute(\"lat\",\"0\")),\n\t\t\t\tlong = $tw.utils.parseNumber(widget.getAttribute(\"long\",\"0\")),\n\t\t\t\talt = $tw.utils.parseNumber(widget.getAttribute(\"alt\",\"0\")),\n\t\t\t\tproperties = widget.getAttribute(\"properties\");\n\t\t\tgeoJson = {\n\t\t\t\t\"type\": \"FeatureCollection\",\n\t\t\t\t\"features\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"type\": \"Feature\",\n\t\t\t\t\t\t\"geometry\": {\n\t\t\t\t\t\t\t\"type\": \"Point\",\n\t\t\t\t\t\t\t\"coordinates\": [long,lat,alt]\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t};\n\t\t\tif(properties) {\n\t\t\t\tgeoJson.features[0].properties = $tw.utils.parseJSONSafe(properties);\n\t\t\t}\n\t\t}\n\t\t// Create and add layer for the geojson\n\t\tvar draggable = widget.getAttribute(\"draggable\",\"no\") === \"yes\",\n\t\t\tlayer = $tw.Leaflet.geoJSON(geoJson,{\n\t\t\t\tstyle: function(geoJsonFeature) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tcolor: widget.getAttribute(\"color\",\"yellow\")\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\tpointToLayer: function(geoJsonPoint,latlng) {\n\t\t\t\t\tvar marker = $tw.Leaflet.marker(latlng,{icon: myIcon,draggable: draggable});\n\t\t\t\t\tmarker.addTo(markers);\n\t\t\t\t\tmarker.on(\"moveend\",function(event) {\n\t\t\t\t\t\tvar latlng = event.sourceTarget.getLatLng();\n\t\t\t\t\t\tself.invokeActionString(widget.getAttribute(\"updateActions\"),null,event,{\n\t\t\t\t\t\t\tlat: latlng.lat,\n\t\t\t\t\t\t\tlong: latlng.lng,\n\t\t\t\t\t\t\talt: latlng.alt\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t\treturn marker;\n\t\t\t\t},\n\t\t\t\tonEachFeature: function(feature,layer) {\n\t\t\t\t\tif(popupTemplateTitle) {\n\t\t\t\t\t\tlayer.bindPopup(function() {\n\t\t\t\t\t\t\tvar widget = self.wiki.makeTranscludeWidget(popupTemplateTitle, {\n\t\t\t\t\t\t\t\tdocument: self.document,\n\t\t\t\t\t\t\t\tparentWidget: self,\n\t\t\t\t\t\t\t\tparseAsInline: false,\n\t\t\t\t\t\t\t\timportPageMacros: true,\n\t\t\t\t\t\t\t\tvariables: {\n\t\t\t\t\t\t\t\t\tfeature: JSON.stringify(feature)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tvar container = self.document.createElement(\"div\");\n\t\t\t\t\t\t\twidget.render(container,null);\n\t\t\t\t\t\t\tself.wiki.addEventListener(\"change\",function(changes) {\n\t\t\t\t\t\t\t\twidget.refresh(changes,container,null);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\treturn container;\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\t// Add event handlers\n\t\t\t\t\tif(widget.hasAttribute(\"clickActions\")) {\n\t\t\t\t\t\tlayer.on(\"click\",function(event) {\n\t\t\t\t\t\t\tself.invokeActionString(widget.getAttribute(\"clickActions\"),null,event.originalEvent,{\n\t\t\t\t\t\t\t\tlat: event.latlng.lat,\n\t\t\t\t\t\t\t\tlong: event.latlng.lng,\n\t\t\t\t\t\t\t\talt: event.latlng.alt,\n\t\t\t\t\t\t\t\tproperties: JSON.stringify(feature.properties)\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}).addTo(self.map);\n\t\t// Create a name for this layer\n\t\tvar name = widget.getAttribute(\"name\") || (\"Untitled \" + untitledCount++);\n\t\tself.renderedLayers.push({name: name, layer: layer});\n\t});\n\t// Setup the layer control\n\tif(this.layerControl) {\n\t\tthis.map.removeControl(this.layerControl);\n\t}\n\tvar baseLayers = {};\n\t$tw.utils.each(this.renderedBaseLayers,function(layer) {\n\t\tbaseLayers[layer.name] = layer.layer;\n\t});\n\tvar overlayLayers = {};\n\t$tw.utils.each(this.renderedLayers,function(layer) {\n\t\toverlayLayers[layer.name] = layer.layer;\n\t});\n\tthis.layerControl = $tw.Leaflet.control.layers(baseLayers,overlayLayers,{\n\t\tcollapsed: this.getAttribute(\"layersPanel\") !== \"open\"\n\t}).addTo(this.map);\n\t// Restore the saved map position and zoom level\n\tif(!this.setMapView()) {\n\t\t// If there was no saved position then look at the startPosition attribute\n\t\tswitch(this.getAttribute(\"startPosition\")) {\n\t\t\tcase \"bounds\":\n\t\t\t\tvar bounds = null;\n\t\t\t\t$tw.utils.each(this.renderedLayers,function(layer) {\n\t\t\t\t\tvar featureBounds = layer.layer.getBounds();\n\t\t\t\t\tif(featureBounds.isValid()) {\n\t\t\t\t\t\tif(bounds) {\n\t\t\t\t\t\t\tbounds.extend(featureBounds);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tbounds = featureBounds;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif(bounds) {\n\t\t\t\t\tthis.map.fitBounds(bounds);\n\t\t\t\t} else {\n\t\t\t\t\tthis.map.fitWorld();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthis.map.fitWorld();\n\t\t\t\tbreak;\n\t\t}\n\t}\n};\n\n/*\nSet the map center and zoom level from the values in the state tiddler. Returns true if the map view was successfully set\n*/\nGeomapWidget.prototype.setMapView = function() {\n\t// Set the maximum zoom level\n\tif(this.hasAttribute(\"maxZoom\")) {\n\t\tthis.map.setMaxZoom($tw.utils.parseInt(this.getAttribute(\"maxZoom\")));\n\t}\n\t// Set the view to the content of the state tiddler\n\tvar stateTiddler = this.getAttribute(\"state\") && this.wiki.getTiddler(this.getAttribute(\"state\"));\n\tif(stateTiddler) {\n\t\tthis.map.setView([$tw.utils.parseNumber(stateTiddler.fields.lat,0),$tw.utils.parseNumber(stateTiddler.fields.long,0)], $tw.utils.parseNumber(stateTiddler.fields.zoom,0));\n\t\treturn true;\n\t}\n\treturn false;\n};\n\nGeomapWidget.prototype.setMapSize = function() {\n\tthis.domNode.style.width = this.getAttribute(\"width\",\"100%\");\n\tthis.domNode.style.height = this.getAttribute(\"height\",\"600px\");\n};\n\n/*\nCompute the internal state of the widget\n*/\nGeomapWidget.prototype.execute = function() {\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nGeomapWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// Refresh child nodes, and rerender map if there have been any changes\n\tvar result = this.contentRoot.refresh(changedTiddlers);\n\tif(result) {\n\t\tthis.refreshMap();\n\t} else {\n\t\t// Reset the width and height and max zoom if they have changed\n\t\tif(changedAttributes.width || changedAttributes.height) {\n\t\t\tthis.setMapSize();\n\t\t}\n\t\t// If we're not doing a full refresh, reset the position if the state tiddler has changed\n\t\tif(changedAttributes.state || (this.hasAttribute(\"state\") && changedTiddlers[this.getAttribute(\"state\")]) || changedAttributes.maxZoom) {\n\t\t\tthis.setMapView();\n\t\t}\n\t}\n\treturn result;\n};\n\nexports.geomap = GeomapWidget;\n"
  },
  {
    "path": "plugins/tiddlywiki/github-fork-ribbon/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/github-fork-ribbon\",\n\t\"name\": \"GitHub Fork Ribbon\",\n\t\"description\": \"GitHub-inspired corner ribbon\",\n\t\"author\": \"Simon Whitaker\",\n\t\"list\": \"readme usage\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/github-fork-ribbon/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/github-fork-ribbon/readme\n\nThis plugin provides a diagonal ribbon across the corner of the window. It resembles the design used by ~GitHub for their \"Fork me on ~GitHub\" ribbons.\n\nThe ribbon can be positioned over any corner, and can incorporate user defined text, colours and a link.\n\nThe CSS stylesheet is adapted from work by [[Simon Whitaker|https://github.com/simonwhitaker/github-fork-ribbon-css/]]\n\n[[Plugin source code|https://github.com/TiddlyWiki/TiddlyWiki5/blob/master/plugins/tiddlywiki/github-fork-ribbon]]\n"
  },
  {
    "path": "plugins/tiddlywiki/github-fork-ribbon/styles.tid",
    "content": "title: $:/plugins/tiddlywiki/github-fork-ribbon/styles\n\n/* Left will inherit from right (so we don't need to duplicate code */\n.github-fork-ribbon {\n  /* The right and left lasses determine the side we attach our banner to */\n  position: absolute;\n\n  /* Add a bit of padding to give some substance outside the \"stitching\" */\n  padding: 2px 0;\n\n  /* Set the base colour */\n  background-color: <<color>>;\n\n  /* Set a gradient: transparent black at the top to almost-transparent black at the bottom */\n  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.00)), to(rgba(0, 0, 0, 0.15)));\n  background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.00), rgba(0, 0, 0, 0.15));\n  background-image: -moz-linear-gradient(top, rgba(0, 0, 0, 0.00), rgba(0, 0, 0, 0.15));\n  background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.00), rgba(0, 0, 0, 0.15));\n  background-image: -ms-linear-gradient(top, rgba(0, 0, 0, 0.00), rgba(0, 0, 0, 0.15));\n  background-image: linear-gradient(top, rgba(0, 0, 0, 0.00), rgba(0, 0, 0, 0.15));\n  filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#000000', EndColorStr='#000000');\n\n  /* Add a drop shadow */\n  -webkit-box-shadow: 0px 2px 3px 0px rgba(0, 0, 0, 0.5);\n  box-shadow: 0px 2px 3px 0px rgba(0, 0, 0, 0.5);\n\n  z-index: 700;\n  pointer-events: auto;\n}\n\n.github-fork-ribbon a, .github-fork-ribbon a.tc-tiddlylink,\n.github-fork-ribbon a:hover, .github-fork-ribbon a.tc-tiddlylink:hover  {\n  /* Set the font */\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-size: 13px;\n  font-weight: 700;\n  color: white;\n\n  /* Set the text properties */\n  text-decoration: none;\n  text-shadow: 0 -1px rgba(0,0,0,0.5);\n  text-align: center;\n\n  /* Set the geometry. If you fiddle with these you'll also need to tweak the top and right values in #github-fork-ribbon. */\n  width: 200px;\n  line-height: 20px;\n\n  /* Set the layout properties */\n  display: inline-block;\n  padding: 2px 0;\n\n  /* Add \"stitching\" effect */\n  border-width: 1px 0;\n  border-style: dotted;\n  border-color: rgba(255,255,255,0.7);\n}\n\n.github-fork-ribbon-wrapper {\n  width: 150px;\n  height: 150px;\n  position: absolute;\n  overflow: hidden;\n  top: <<top>>;\n  z-index: 700;\n  pointer-events: none;\n}\n\n.github-fork-ribbon-wrapper.fixed {\n  position: fixed;\n}\n\n.github-fork-ribbon-wrapper.left {\n  left: <<left>>;\n}\n\n.github-fork-ribbon-wrapper.right {\n  right: <<right>>;\n}\n\n.github-fork-ribbon-wrapper.left-bottom {\n  position: fixed;\n  top: inherit;\n  bottom: <<bottom>>;\n  left: <<left>>;\n}\n\n.github-fork-ribbon-wrapper.right-bottom {\n  position: fixed;\n  top: inherit;\n  bottom: <<bottom>>;\n  right: <<right>>;\n}\n\n.github-fork-ribbon-wrapper.right .github-fork-ribbon {\n  top: 42px;\n  right: -43px;\n\n  /* Rotate the banner 45 degrees */\n  -webkit-transform: rotate(45deg);\n  -moz-transform: rotate(45deg);\n  -o-transform: rotate(45deg);\n  transform: rotate(45deg);\n}\n\n.github-fork-ribbon-wrapper.left .github-fork-ribbon {\n  top: 42px;\n  left: -43px;\n\n  /* Rotate the banner -45 degrees */\n  -webkit-transform: rotate(-45deg);\n  -moz-transform: rotate(-45deg);\n  -o-transform: rotate(-45deg);\n  transform: rotate(-45deg);\n}\n\n\n.github-fork-ribbon-wrapper.left-bottom .github-fork-ribbon {\n  top: 80px;\n  left: -43px;\n\n  /* Rotate the banner -45 degrees */\n  -webkit-transform: rotate(45deg);\n  -moz-transform: rotate(45deg);\n  -o-transform: rotate(45deg);\n  transform: rotate(45deg);\n}\n\n.github-fork-ribbon-wrapper.right-bottom .github-fork-ribbon {\n  top: 80px;\n  right: -43px;\n\n  /* Rotate the banner -45 degrees */\n  -webkit-transform: rotate(-45deg);\n  -moz-transform: rotate(-45deg);\n  -o-transform: rotate(-45deg);\n  transform: rotate(-45deg);\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/github-fork-ribbon/template.tid",
    "content": "title: $:/plugins/tiddlywiki/github-fork-ribbon/template\n\n<!-- Parameters:\nposition: \"right\", \"left\", \"right-bottom\" and \"left-bottom\" \nurl: link target\ntext: ribbon text\ncolor: defaults to \"#aa0000\" - dark red\ntop: offset from the top in px - eg: \"30px\"\nbottom: offset from the bottom in px - No ;\nleft: offset from left in px - No ;\nright: offset from right in px - No ;\nfixed: \"fixed\" .. If ribbon is at the top, it can be \"fixed\". Bottom is always fixed\n-->\n\\parameters (position:\"right\", url:\"https://github.com/TiddlyWiki/TiddlyWiki5\", text:\"Fork me on ~GitHub\" color:\"#aa0000\" top:\"0\" bottom:\"0\" left:\"0\" right:\"0\" fixed:\"\")\n\n<style>\n{{$:/plugins/tiddlywiki/github-fork-ribbon/styles}}\n</style>\n\n<div class={{{ github-fork-ribbon-wrapper [<position>] [<fixed>] +[join[ ]] }}}>\n\t<div class=\"github-fork-ribbon\">\n\t\t<a href=<<url>>>\n\t\t\t<<text>>\n\t\t</a>\n\t</div>\n</div>\n"
  },
  {
    "path": "plugins/tiddlywiki/github-fork-ribbon/usage.tid",
    "content": "title: $:/plugins/tiddlywiki/github-fork-ribbon/usage\n\n\\procedure ribbonCode()\n\\whitespace trim\n<$transclude $tiddler=\"$:/plugins/tiddlywiki/github-fork-ribbon/template\" top=\"30px\" fixed=fixed color=\"green\"/>\n\\end\n\n\\procedure ribbonCreateActions()\n<%if [[$:/github-ribbon]!is[tiddler]] %>\n\t<$action-setfield $tiddler=\"$:/github-ribbon\" $field=\"text\" $value=<<ribbonCode>>\n\t\ttags=\"$:/tags/PageTemplate\" \n\t\tcode-body=\"yes\" />\n<%endif%>\n<$action-navigate $to=\"$:/github-ribbon\" />\n\\end\n\n\\procedure createRibbon()\n<$button actions=<<ribbonCreateActions>> >\n<%if [[$:/github-ribbon]!is[tiddler]] %>\nCreate\n<%else%>\nShow\n<%endif%> ~$:/github-ribbon\n</$button>\n\\end\n\n\\procedure ribbonToggleTagActions()\n<$action-listops $tiddler=\"$:/github-ribbon\" $field=\"tags\" $subfilter=\"+[toggle[$:/tags/PageTemplate]]\" />\n\\end\n\n\\procedure ribbonToggleTag() <$button actions=<<ribbonToggleTagActions>> >Toggle Tag</$button>\n\n\n`$:/plugins/tiddlywiki/github-fork-ribbon/template` is a template tiddler, that can be used with a transclusion and parameters.\n\n!! Usage\n\n* Create a new tiddler eg: $:/github-ribbon\n* Tag it `$:/tags/PageTemplate`\n* Copy the code below\n\n<pre><$text text=<<ribbonCode>>/></pre>\n\n<<createRibbon>> <<ribbonToggleTag>>\n\n!! Parameters\n\n; position\n: \"right\" (default), \"left\", \"right-bottom\" and \"left-bottom\"\n\n; url\n: Target URL, default: https://github.com/TiddlyWiki/TiddlyWiki5\n\n; text\n: Ribbon text. default: `Fork me on ~GitHub`\n\n; color\n: Ribbon background color: default: `#aa0000`\n\n; top\n: Offset from the top if postion is top. default: `0` eg: `30px`, if the menu-toolbar plugin is installed\n\n; bottom\n: Offset from the bottom in px\n\n; left\n: Offset from the left in px\n\n; right\n: Offset from the right in px\n\n; fixed\n: If position is ''top'', the ribbon will scroll out of the viewport by default\n: If the parameter `fixed=\"fixed\"` it will be fixed\n\n!! Remove the Ribbon\n\n* Disable the plugin\n* ''Remove the tag'' from $:/github-ribbon tiddler\n* Delete the $:/github-ribbon tiddler\n* <<ribbonToggleTag>>"
  },
  {
    "path": "plugins/tiddlywiki/googleanalytics/googleanalytics.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/googleanalytics/googleanalytics.js\ntype: application/javascript\nmodule-type: startup\n\nRuns Google Analytics with the measurement ID in the tiddler `$:/GoogleAnalyticsMeasurementID`\n\n\\*/\n\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"google-analytics\";\nexports.platforms = [\"browser\"];\nexports.synchronous = true;\n\nvar CONFIG_CONSENT_REQUIRED_TITLE = \"$:/config/cookie-consent-required\", // \"yes\" or \"no\" (the default)\n\tCONSENT_TITLE = \"$:/state/consent-banner/accepted\"; // \"\": undeclared, \"yes\": accepted, \"no\": declined\n\nexports.startup = function() {\n\tvar hasInitialised = false,\n\t\tinitialiseGoogleAnalytics = function() {\n\t\t\tconsole.log(\"Initialising Google Analytics\");\n\t\t\thasInitialised = true;\n\t\t\tvar gaMeasurementID = $tw.wiki.getTiddlerText(\"$:/GoogleAnalyticsMeasurementID\",\"\").replace(/\\n/g,\"\");\n\t\t\tvar url =\"https://www.googletagmanager.com/gtag/js?id=\" + gaMeasurementID;\n\t\t\twindow.dataLayer = window.dataLayer || [];\n\t\t\twindow.gtag = function() { if(window.dataLayer) window.dataLayer.push(arguments); };\n\t\t\twindow.gtag(\"js\",new Date());\n\t\t\twindow.gtag(\"config\",gaMeasurementID);\n\t\t\tconst scriptElement = window.document.createElement(\"script\");\n\t\t\tscriptElement.async = true;\n\t\t\tscriptElement.src = url;\n\t\t\twindow.document.head.appendChild(scriptElement);\n\t\t};\n\t// Initialise now if consent isn't required\n\tif($tw.wiki.getTiddlerText(CONFIG_CONSENT_REQUIRED_TITLE) !== \"yes\") {\n\t\tinitialiseGoogleAnalytics();\n\t} else {\n\t\t// Or has been granted already\n\t\tif($tw.wiki.getTiddlerText(CONSENT_TITLE) === \"yes\") {\n\t\t\tinitialiseGoogleAnalytics();\n\t\t} else {\n\t\t\t// Or when our config tiddler changes\n\t\t\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\t\t\tif(changes[CONSENT_TITLE]) {\n\t\t\t\t\tif(!hasInitialised && $tw.wiki.getTiddlerText(CONSENT_TITLE) === \"yes\") {\n\t\t\t\t\t\tinitialiseGoogleAnalytics();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/googleanalytics/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/googleanalytics\",\n\t\"name\": \"Google Analytics\",\n\t\"description\": \"Website visitor statistics from Google\",\n\t\"contributor\": \"Sylvain Comte\",\n\t\"list\": \"readme settings usage\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/googleanalytics/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/googleanalytics/readme\n\nThis plugin enables you to use Google Analytics to track access to your online TiddlyWiki document.\n\nBy default, the user is not asked for permission before initialising Google Analytics. This plugin also optionally integrates with the \"Consent Banner\" plugin (also found in the official plugin library) so that Google Analytics is not initialised until the user grants explicit permission.\n\n[[Source code|https://github.com/TiddlyWiki/TiddlyWiki5/blob/master/plugins/tiddlywiki/googleanalytics]]\n"
  },
  {
    "path": "plugins/tiddlywiki/googleanalytics/settings.tid",
    "content": "title: $:/plugins/tiddlywiki/googleanalytics/settings\ncaption: Google Analytics\ntags: $:/tags/ControlPanel/SettingsTab\n\n''[[Google Analytics Measurement ID|$:/GoogleAnalyticsMeasurementID]]'': (mandatory) a code of the form `G-XXXXXXXXXX` where X are digits or uppercase letters<br/><$edit-text tiddler=\"$:/GoogleAnalyticsMeasurementID\" default=\"\" tag=\"input\"/>\n\n"
  },
  {
    "path": "plugins/tiddlywiki/googleanalytics/usage.tid",
    "content": "title: $:/plugins/tiddlywiki/googleanalytics/usage\n\n!! Create a Google Analytics account\n\nIf you don't already have an account:\n\n# Go to the Google Analytics website: http://www.google.com/analytics/\n# Click the ''Access Google Analytics'' button and follow instructions to set up your account\n# Enter the URL where the wiki is hosted\n# Note the Tracking ID for this domain of the form `G-XXXXXXXXXX`\n\n!! Install the plugin on your local copy of the TiddlyWiki\n\n# ''Backup your TiddlyWiki''. Just in case\n# Install the plugin via the plugin manager in control panel\n# Save the TiddlyWiki andrefresh the page to load the plugin\n# Go to [[$:/ControlPanel]] > Plugins tab and unfold the Google Analytics Plugin\n# Go to the //settings// tab and edit the parameters\n# Save the TiddlyWiki\n\n!! Upload the new version of your TiddlyWiki\n\n# Upload the saved TiddlyWiki to Tiddlyhost, GitHub, GitLab or other web host\n# Return to your Google Analytics page to check that your site is being tracked\n"
  },
  {
    "path": "plugins/tiddlywiki/help/HelpPanel.tid",
    "content": "title: $:/plugins/tiddlywiki/help/HelpPanel\ntags: $:/tags/PageTemplate\n\n<$reveal type=\"match\" state=\"$:/config/ShowHelp\" text=\"yes\">\n<div class=\"tc-help-panel\">\n<div class=\"tc-tiddler-controls\">\n<$button set=\"$:/config/ShowHelp\" setTo=\"no\" class=\"tc-btn-invisible\">{{$:/core/images/close-button}}</$button> ''Help Panel''\n</div>\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/HelpPanel]!has[draft.of]]\" \"$:/plugins/tiddlywiki/help/HelpPanel/Support\" \"$:/state/tab/help\">>\n</div>\n</$reveal>\n\n"
  },
  {
    "path": "plugins/tiddlywiki/help/config/CurrentVideo.tid",
    "content": "title: $:/config/Help/CurrentVideo\n\n$:/plugins/tiddlywiki/help/Videos/Introduction"
  },
  {
    "path": "plugins/tiddlywiki/help/config/ShowHelp.tid",
    "content": "title: $:/config/ShowHelp\n\nno"
  },
  {
    "path": "plugins/tiddlywiki/help/help.tid",
    "content": "title: $:/plugins/help/Buttons/help\ntags: $:/tags/PageControls\ncaption: {{$:/core/images/help}} {{$:/language/Buttons/Help/Caption}}\ndescription: {{$:/language/Buttons/Help/Hint}}\n\n\\whitespace trim\n\\define help-inner()\n\\whitespace trim\n<$list filter=\"[[$:/config/ShowHelp]get[text]] +[else[no]match[yes]]\" variable=\"ignore\">\n<$button set=\"$:/config/ShowHelp\" setTo=\"no\" tooltip={{$:/language/Buttons/Help/Hint}} aria-label={{$:/language/Buttons/Help/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ tc-selected\"\"\">\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/core/images/help}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Help/Caption}}/></span>\n<%endif%>\n</$button>\n</$list>\n<$list filter=\"[[$:/config/ShowHelp]get[text]] +[else[no]!match[yes]]\" variable=\"ignore\">\n<$button set=\"$:/config/ShowHelp\" setTo=\"yes\" tooltip={{$:/language/Buttons/Help/Hint}} aria-label={{$:/language/Buttons/Help/Caption}} class=<<tv-config-toolbar-class>>>\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/core/images/help}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Help/Caption}}/></span>\n<%endif%>\n</$button>\n</$list>\n\\end\n<<help-inner>>\n"
  },
  {
    "path": "plugins/tiddlywiki/help/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/help\",\n\t\"name\": \"Help\",\n\t\"description\": \"Floating help panel\",\n\t\"list\": \"readme\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/help/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/help/readme\n\nThis plugin provides an overlay help panel at the bottom right of the window.\n\n[[Source code|https://github.com/TiddlyWiki/TiddlyWiki5/blob/master/plugins/tiddlywiki/help]]\n"
  },
  {
    "path": "plugins/tiddlywiki/help/styles.tid",
    "content": "title: $:/plugins/tiddlywiki/help/styles\ntags: [[$:/tags/Stylesheet]]\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\n.tc-help-panel {\n\tposition: fixed;\n\tbottom: 0;\n\tright: 0;\n\twidth: 310px;\n\theight: 400px;\n\toverflow: auto;\n\t-webkit-overflow-scrolling: touch;\n\t<<box-shadow \"0px 0px 5px rgba(0, 0, 0, 0.3)\">>\n\tborder: 1px solid <<colour tiddler-border>>;\n\tbackground: <<colour tiddler-background>>;\n\tpadding: 1em;\n\tmargin: 0.5em;\n\tz-index: 1000;\n}\n\ndl.tc-help-cheatsheet {\n\toverflow: hidden;\n}\n\ndl.tc-help-cheatsheet .red {\n\tcolor: red;\n}\n\n.tc-help-cheatsheet > dt {\n\tdisplay: block;\n\tfloat: left;\n\tclear: left;\n\tmargin: 2% 1em 0 0;\n\tpadding;\n\tfont-weight: normal;\n\twidth: 45%;\n}\n\n.tc-help-cheatsheet > dt > pre {\n\tmargin: 0;\n}\n\n.tc-help-cheatsheet > dd {\n\tdisplay: block;\n\tfloat: left;\n\twidth: 45%;\n\tmargin: 1em 0 0 0;\n\tpadding: 0;\n}\n\n.tc-help-cheatsheet > dd > p,\n.tc-help-cheatsheet > dd > h1,\n.tc-help-cheatsheet > dd > pre,\n.tc-help-cheatsheet > dd > ul,\n.tc-help-cheatsheet > dd > ol,\n.tc-help-cheatsheet > dd > dl,\n.tc-help-cheatsheet > dd > table,\n.tc-help-cheatsheet > dd > blockquote,\n.tc-help-cheatsheet > dd > blockquote >p {\n\tmargin: 0;\n}\n\n.tc-help-cheatsheet .tc-image {\n\twidth: 16px;\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/help/tabs/Support.tid",
    "content": "title: $:/plugins/tiddlywiki/help/HelpPanel/Support\ntags: $:/tags/HelpPanel\ncaption: Support\n\n~TiddlyWiki is an open source project with a vibrant community of users and developers. We're always happy to help new users get the most from ~TiddlyWiki.\n\nJoin the ~TiddlyWiki forum:\n\nhttps://talk.tiddlywiki.org/\n\nFor the convenience of existing users, we also continue to operate the original TiddlyWiki group (hosted on Google Groups since 2005):\n\nhttps://groups.google.com/group/TiddlyWiki\n\nPost bug reports to the ~TiddlyWiki ~GitHub repository:\n\nhttps://github.com/TiddlyWiki/TiddlyWiki5\n"
  },
  {
    "path": "plugins/tiddlywiki/help/tabs/Videos.tid",
    "content": "title: $:/plugins/tiddlywiki/help/HelpPanel/Videos\ntags: $:/tags/HelpPanel\ncaption: Videos\n\n\\define show-video-inner(embed)\n<iframe width=\"280\" height=\"157\" src=\"\"\"https://www.youtube.com/embed/$embed$?autoplay=0&showinfo=0&theme=light&rel=0&modestbranding=1&autohide=1\"\"\" frameborder=\"0\" allowfullscreen></iframe>\n\\end\n\n\\define show-video(title)\n<$macrocall $name=\"show-video-inner\" embed={{$title$!!embed}}/>\n<p>{{$title$!!text}}</p>\n\\end\n\n<div class=\"tc-help-panel-inner\">\n\nChoose video: <$select tiddler=\"$:/config/Help/CurrentVideo\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/HelpPanel/Videos]]\">\n<option value=<<currentTiddler>>><$view field=\"caption\"/></option>\n</$list>\n</$select>\n\n<$macrocall $name=\"show-video\" title={{$:/config/Help/CurrentVideo}}>>\n\n</div>\n"
  },
  {
    "path": "plugins/tiddlywiki/help/tabs/videos/FirefoxAndroid.tid",
    "content": "title: $:/plugins/tiddlywiki/help/Videos/FirefoxAndroid\ntags: $:/tags/HelpPanel/Videos\ncaption: Firefox for Android\nembed: iikkv9orGGI\n\nHow to get started with using TiddlyWiki as a standalone HTML file with the TiddlyFox add-on for Firefox for Android.\n"
  },
  {
    "path": "plugins/tiddlywiki/help/tabs/videos/GettingStarted.tid",
    "content": "title: $:/plugins/tiddlywiki/help/Videos/GettingStarted\ntags: $:/tags/HelpPanel/Videos\ncaption: GettingStarted\nembed: 1g66s7UbyuU\n\nHow to get started with using TiddlyWiki as a standalone HTML file.\n"
  },
  {
    "path": "plugins/tiddlywiki/help/tabs/videos/Introduction.tid",
    "content": "title: $:/plugins/tiddlywiki/help/Videos/Introduction\ntags: $:/tags/HelpPanel/Videos\ncaption: Introduction\nembed: KtCUr83XgyE\n\nAn introduction to the concepts of TiddlyWiki.\n"
  },
  {
    "path": "plugins/tiddlywiki/help/tabs/videos/TiddlyDesktop.tid",
    "content": "title: $:/plugins/tiddlywiki/help/Videos/TiddlyDesktop\ntags: $:/tags/HelpPanel/Videos\ncaption: TiddlyDesktop\nembed: i3Bggkm7paA\n\nUsing TiddlyDesktop, the custom desktop TiddlyWiki application for Windows, OS X and Linux.\n"
  },
  {
    "path": "plugins/tiddlywiki/highlight/TypeMappings.multids",
    "content": "title: $:/config/HighlightPlugin/TypeMappings/\n\napplication/javascript: javascript\napplication/json: json\ntext/css: css\ntext/html: html\nimage/svg+xml: xml\ntext/x-markdown: markdown\ntext/markdown: markdown\n"
  },
  {
    "path": "plugins/tiddlywiki/highlight/files/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": [\n\t\t{\n\t\t\t\"file\": \"highlight.min.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/highlight/highlight.js\",\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t},\n\t\t\t\"suffix\": \"\\nexports.hljs = hljs;\\n\"\n\t\t},\n\t\t{\n\t\t\t\"file\": \"default.min.css\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"text/css\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/highlight/highlight.css\",\n\t\t\t\t\"tags\": \"[[$:/tags/Stylesheet]] [[$:/tags/Stylesheet/Highlight]]\"\n\t\t\t}\n\t\t}\n\t]\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/highlight/highlightblock.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/highlight/highlightblock.js\ntype: application/javascript\nmodule-type: widget\n\nWraps up the fenced code blocks parser for highlight and use in TiddlyWiki5\n\n\\*/\n\"use strict\";\n\nconst TYPE_MAPPINGS_BASE = \"$:/config/HighlightPlugin/TypeMappings/\";\n\nconst CodeBlockWidget = require(\"$:/core/modules/widgets/codeblock.js\").codeblock;\n\nconst hljs = require(\"$:/plugins/tiddlywiki/highlight/highlight.js\");\n\nif(hljs.getLanguage !== undefined) {\n\t// load language definitions\n\t$tw.utils.each($tw.modules.types[\"highlight\"],function(moduleInfo,moduleName) {\n\t\t$tw.utils.evalSandboxed(moduleInfo.definition,{hljs:hljs, exports:{}},moduleName);\n\t});\n\t\n\tCodeBlockWidget.prototype.postRender = function() {\n\t\tvar domNode = this.domNodes[0],\n\t\t\tlanguage = this.language,\n\t\t\ttiddler = this.wiki.getTiddler(TYPE_MAPPINGS_BASE + language);\n\t\tif(tiddler) {\n\t\t\tlanguage = tiddler.fields.text || \"\";\n\t\t}\n\t\tif(language && hljs.getLanguage(language)) {\n\t\t\tdomNode.className = \"hljs\";\n\t\t\tdomNode.children[0].className = language.toLowerCase() + \" hljs\";\n\t\t\tif($tw.browser && !domNode.isTiddlyWikiFakeDom) {\n\t\t\t\thljs.highlightElement(domNode.children[0]);\n\t\t\t} else {\n\t\t\t\tconst text = domNode.textContent;\n\t\t\t\tdomNode.children[0].innerHTML = hljs.highlight(text,{language: language, ignoreIllegals: true}).value;\n\t\t\t\t// If we're using the fakedom then specially save the original raw text\n\t\t\t\tif(domNode.isTiddlyWikiFakeDom) {\n\t\t\t\t\tdomNode.children[0].textInnerHTML = text;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/highlight/license.tid",
    "content": "title: $:/plugins/tiddlywiki/highlight/license\ntype: text/plain\n\nCopyright (c) 2006, Ivan Sagalaev\nAll rights reserved.\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n    * Redistributions of source code must retain the above copyright\n      notice, this list of conditions and the following disclaimer.\n    * Redistributions in binary form must reproduce the above copyright\n      notice, this list of conditions and the following disclaimer in the\n      documentation and/or other materials provided with the distribution.\n    * Neither the name of highlight.js nor the names of its contributors\n      may be used to endorse or promote products derived from this software\n      without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY\nEXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY\nDIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\nON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
  },
  {
    "path": "plugins/tiddlywiki/highlight/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/highlight\",\n\t\"name\": \"Highlight\",\n\t\"description\": \"Highlight.js syntax highlighting\",\n\t\"author\": \"Joao Bolila\",\n\t\"list\": \"readme usage license\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/highlight/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/highlight/readme\n\n\\define highlightVersion() 11.11.1\n\nThis plugin provides syntax highlighting of code blocks using version <<highlightVersion>> of [[highlight.js|https://github.com/isagalaev/highlight.js]] from Ivan Sagalaev. This plugin does not work on browsers that do not fully support ~JavaScript ES6 (2015). If you need highlight.js running on those legacy browsers, you would need to install the \"Highlight (Legacy)\" plugin instead. Here's a [[ES6 compatibility table|https://caniuse.com/?search=es6]].\n\n! Built-in Language Brushes\n\nThe plugin includes support for the following common languages (referred to as \"brushes\" by highlight.js):\n\n* bash\n* c\n* cpp\n* csharp\n* css\n* diff\n* go\n* html, xml\n* java\n* javascript\n* json\n* kotlin\n* less\n* lua\n* makefile\n* markdown\n* objectivec\n* perl\n* php\n* plaintext\n* python\n* R\n* ruby\n* rust\n* scss\n* sql\n* shell session\n* swift\n* toml, ini\n* typescript\n* visual basic .net\n* yaml\n\nAnd these additional ones:\n\n* apache config\n* dockerfile\n* fortran\n* latex\n* nginx config\n\nThe mapping between a MIME type and a highlight.js language specifier is accomplished via mapping tiddlers whose titles start with `$:/config/HighlightPlugin/TypeMappings/`.\n"
  },
  {
    "path": "plugins/tiddlywiki/highlight/styles.tid",
    "content": "title: $:/plugins/tiddlywiki/highlight/styles\ntags: [[$:/tags/Stylesheet]] [[$:/tags/Stylesheet/Highlight]]\n\npre.hljs {\n  padding: 0;\n}\n\npre code.hljs {\n  padding: 0.5em;\n}\n\n.hljs {\n  background: <<colour tiddler-editor-background>>;\n  color: <<colour foreground>>;\n  -webkit-text-size-adjust:none;\n}\n\n.hljs-comment,\n.hljs-quote {\n  color: #93a1a1;\n}\n\n/* Solarized Green */\n.hljs-keyword,\n.hljs-selector-tag,\n.hljs-addition {\n  color: #859900;\n}\n\n/* Solarized Cyan */\n.hljs-number,\n.hljs-string,\n.hljs-meta .hljs-string,\n.hljs-literal,\n.hljs-doctag,\n.hljs-regexp {\n  color: #2aa198;\n}\n\n/* Solarized Blue */\n.hljs-title,\n.hljs-section,\n.hljs-name,\n.hljs-selector-id,\n.hljs-selector-class {\n  color: #268bd2;\n}\n\n/* Solarized Yellow */\n.hljs-attribute,\n.hljs-attr,\n.hljs-variable,\n.hljs-template-variable,\n.hljs-class .hljs-title,\n.hljs-type {\n  color: #b58900;\n}\n\n/* Solarized Orange */\n.hljs-symbol,\n.hljs-bullet,\n.hljs-subst,\n.hljs-meta,\n.hljs-meta .hljs-keyword,\n.hljs-selector-attr,\n.hljs-selector-pseudo,\n.hljs-link {\n  color: #cb4b16;\n}\n\n/* Solarized Red */\n.hljs-built_in,\n.hljs-deletion {\n  color: #dc322f;\n}\n\n.hljs-formula {\n  background: #eee8d5;\n}\n\n.hljs-emphasis {\n  font-style: italic;\n}\n\n.hljs-strong {\n  font-weight: bold;\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/highlight/usage.tid",
    "content": "title: $:/plugins/tiddlywiki/highlight/usage\n\n\\import $:/plugins/tiddlywiki/highlight/readme\n\n! Usage\n\nSyntax highlighting is triggered when you add language information to code blocks defined with triple backticks or with the `<$codeblock>` widget. For fenced code blocks, specify the code's language immediately after the first set of backticks:\n\n```\n ```js\n var a = b + c; // Highlighted as JavaScript\n ```\n```\n\n! Adding Themes\n\nThe available themes can be found from the following CDNs:\n\n* <a href=`https://www.jsdelivr.com/package/gh/highlightjs/cdn-release?path=build%2Fstyles&version=$(highlightVersion)$` class=\"tc-tiddlylink-external\" target=\"_blank\">jsDelivr</a>\n* <a href=`https://unpkg.com/browse/@highlightjs/cdn-assets@$(highlightVersion)$/styles/` class=\"tc-tiddlylink-external\" target=\"_blank\">unpkg</a>\n\nYou can add themes from highlight.js by copying the CSS to a new tiddler and tagging it with [[$:/tags/Stylesheet/Highlight]], with type set to `text/css`.\n\nThen, check the new theme in the following list and uncheck others: \n\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/Stylesheet/Highlight]sort[title]!is[draft]]\">\n\n<$checkbox tag=\"$:/tags/Stylesheet\"> <$link/></$checkbox>\n\n</$list>\n\n! Supporting Additional Languages\n\nThe [[highlight.js|https://github.com/highlightjs/highlight.js]] project supports many languages. Only a subset of these languages are supported by the plugin. You can change the language set using either of the following methods:\n\n!! Browser-based Method\n\nYou can import language definitions into <$text text=\"JavaScript\"/> tiddlers, with their `module-type` set to \"highlight\".\n\nFirst, locate the language file(s) you need. You can fetch the files from the following CDNs:\n\n* <a href=`https://www.jsdelivr.com/package/gh/highlightjs/cdn-release?path=build%2Flanguages&version=$(highlightVersion)$` class=\"tc-tiddlylink-external\" target=\"_blank\">jsDelivr</a>\n* <a href=`https://unpkg.com/browse/@highlightjs/cdn-assets@$(highlightVersion)$/languages/` class=\"tc-tiddlylink-external\" target=\"_blank\">unpkg</a>\n\nThen, click the button below to create a \"highlight\" module. Copy and paste the content of a language file into the the text area. Give your tiddler a meaningful title so you can keep track of the languages you've installed. You may choose to either create one tiddler per language or lump all language definitions into one tiddler. Save and reload your wiki.\n\n<$button tooltip=\"add new languages\" aria-label=\"add new languages\"  >\n<$action-createtiddler $basetitle=\"highlight-language.js\"  text=\"\" type=\"application/javascript\" module-type=\"highlight\">\n<$action-sendmessage $message=\"tm-edit-tiddler\" $param=<<createTiddler-title>>/>\n</$action-createtiddler>\nAdd New Language(s)\n</$button>\n\n!!! Keeping Your Language Definitions Up-to-date\n\nRemember to update installed languages whenever this plugin is upgraded: \n\n<ul>\n<$list filter=\"[[highlight]modules[]]\" emptyMessage=\"\"\"<li>(none installed)</li>\"\"\">\n<li><$link><<currentTiddler>></$link></li>\n</$list>\n</ul>\n\n!! Via <$text text=\"TiddlyWiki\"/> on Node.js\n\nYou can replace the supplied highlight.js library with a custom version:\n\n# Go to the highlight.js project [[download page|https://highlightjs.org/download/]], select the language definitions to include, and press the Download button to download a zip archive containing customised support files for a highlight.js syntax highlighting server.\n# Locate the `highlight.min.js` file in the highlight plugin -- on a stock Debian 8 system running Tiddlywiki5 under node-js, it is in `/usr/local/lib/node_modules/tiddlywiki/plugins/tiddlywiki/highlight/files/`.\n# Replace the plugin `highlight.min.js` file located in step 2 with the one from the downloaded archive obtained in step 1.\n# Restart the ~TiddlyWiki server."
  },
  {
    "path": "plugins/tiddlywiki/innerwiki/anchor.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/innerwiki/anchor.js\ntype: application/javascript\nmodule-type: widget\n\nAnchor widget to represent an innerwiki graphical anchor. Clone of the data widget\n\n\\*/\n\"use strict\";\n\nexports.anchor = require(\"$:/core/modules/widgets/data.js\").data;\n"
  },
  {
    "path": "plugins/tiddlywiki/innerwiki/crosshairs.svg.tid",
    "content": "title: $:/plugins/tiddlywiki/innerwiki/crosshairs.svg\ntype: image/svg+xml\n\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"128px\" height=\"128px\" viewBox=\"0 0 128 128\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n    <defs>\n        <path d=\"M104.938091,68 L64,64 L68,103.85205 L68,108 C68,110.209139 66.209139,112 64,112 C61.790861,112 60,110.209139 60,108 L60,103.159803 L63.9305182,64 L22.9924274,68 L20,68 C17.790861,68 16,66.209139 16,64 C16,61.790861 17.790861,60 20,60 L22.9924274,60 L63.9305182,64 L60,24.8401973 L60,20 C60,17.790861 61.790861,16 64,16 C66.209139,16 68,17.790861 68,20 L68,24.1479497 L64,64 L104.938091,60 L108,60 C110.209139,60 112,61.790861 112,64 C112,66.209139 110.209139,68 108,68 L104.938091,68 Z\" id=\"path-1\"></path>\n        <filter x=\"-15.6%\" y=\"-15.6%\" width=\"131.2%\" height=\"131.2%\" filterUnits=\"objectBoundingBox\" id=\"filter-2\">\n            <feMorphology radius=\"2.5\" operator=\"dilate\" in=\"SourceAlpha\" result=\"shadowSpreadOuter1\"></feMorphology>\n            <feOffset dx=\"0\" dy=\"0\" in=\"shadowSpreadOuter1\" result=\"shadowOffsetOuter1\"></feOffset>\n            <feGaussianBlur stdDeviation=\"2.5\" in=\"shadowOffsetOuter1\" result=\"shadowBlurOuter1\"></feGaussianBlur>\n            <feColorMatrix values=\"0 0 0 0 1   0 0 0 0 1   0 0 0 0 1  0 0 0 1 0\" type=\"matrix\" in=\"shadowBlurOuter1\"></feColorMatrix>\n        </filter>\n    </defs>\n    <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"Combined-Shape\">\n            <use fill=\"black\" fill-opacity=\"1\" filter=\"url(#filter-2)\" xlink:href=\"#path-1\"></use>\n            <use fill=\"#FF0000\" fill-rule=\"evenodd\" xlink:href=\"#path-1\"></use>\n        </g>\n    </g>\n</svg>"
  },
  {
    "path": "plugins/tiddlywiki/innerwiki/doc/docs.tid",
    "content": "title: $:/plugins/tiddlywiki/innerwiki/docs\n\n! `<$innerwiki>` widget\n\nThe `<$innerwiki>` widget encapsulates an embedded wiki. It starts as a blank copy of the current wiki and can have additional payload tiddlers added via embedded `<$data>` widgets (see below).\n\nIt supports the following attributes:\n\n|!Attribute |!Description |\n|template |Specifies the template to be used to generate the base wiki (defaults to $:/plugins/tiddlywiki/innerwiki/template) |\n|width |Width in pixels of the virtual screen for rendering the embedded wiki |\n|height |Height in pixels of the virtual screen for rendering the embedded wiki |\n|style |CSS style definitions to be added to the DIV wrapper around the IFRAME containing the embedded wiki |\n|class |CSS classes to be added to the DIV wrapper around the IFRAME containing the embedded wiki |\n|filename |Base filename for saving a screenshot of the embedded wiki under Node.js (excludes file extension) |\n|clipLeft |Position in pixels of the left edge of the clip rectangle (optional) |\n|clipTop |Position in pixels of the top edge of the clip rectangle (optional) |\n|clipWidth |Width in pixels of the clip rectangle (optional) |\n|clipHeight |Height in pixels of the clip rectangle (optional) |\n\n! `<$data>` widget\n\nThe `<$data>` widget is used within the `<$innerwiki>` widget to specify payload tiddlers to be added to the innerwiki.\n\nIt supports the following attributes:\n\n|!Attribute |!Description |\n|$tiddler |The title of a tiddler to be used as a payload tiddler (optional) |\n|$filter |A filter string identifying tiddlers to be used as payload tiddlers (optional) |\n|//any attribute<br>not starting<br>with $// |Field values to be assigned to the payload tiddler(s) |\n\nIt can be used in three different ways:\n\n* Without the `$tiddler` or `$filter` attributes, the remaining attributes provide the fields for a single payload tiddler\n* With the `$tiddler` attribute present, the payload tiddler takes its fields from that tiddler with the remaining attributes overriding those fields\n* With the `$filter` attribute present, the payload is a copy of all of the tiddlers identified by the filter, with the remaining attributes overriding those fields of each one\n\nThis example injects a copy of the \"HelloThere\" tiddler with the addition of the field \"custom\" set to \"Alpha\":\n\n```\n<$data $tiddler=\"HelloThere\" custom=\"Alpha\"/>\n```\n\nThis example injects all image tiddlers with the addition of the field \"custom\" set to \"Beta\":\n\n```\n<$data $filter=\"[is[image]]\" custom=\"Beta\"/>\n```\n\n! `<$anchor>` widget\n\nThe `<$anchor>` widget is used within the `<$innerwiki>` widget to specify draggable anchors to be overlaid on the innerwiki.\n\nIt supports the following attributes:\n\n|!Attribute |!Description |\n|x |The title of the tiddler containing the X coordinate of the anchor |\n|y |The title of the tiddler containing the Y coordinate of the anchor |\n\nThis example declares an anchor whose coordinates are contained in the tiddlers [[my-anchor-x]] and [[my-anchor-y]]:\n\n```\n<$anchor x=\"my-anchor-x\" y=\"my-anchor-y\"/>\n```\n\n! `screenshot` command\n\nSaves PNG screenshots of the `<$innerwiki>` widgets rendered by a set of tiddlers identified by a filter.\n\n```\n--screenshot <filter> <deviceScaleFactor>\n```\n\n* ''filter'': a filter identifying the tiddlers to be rendered, from which the individual `<$innerwiki>` widgets are screenshotted\n* ''deviceScaleFactor'': a scale factor for the screenshot (optional; defaults to 1)\n\nA deviceScaleFactor of 4 or 5 gives high quality screenshots suitable for print use.\n"
  },
  {
    "path": "plugins/tiddlywiki/innerwiki/doc/example-data.tid",
    "content": "title: $:/plugins/tiddlywiki/innerwiki/example-data\n\n<$data title=\"$:/SiteTitle\" text=\"Innerwiki Demo\"/>\n<$data title=\"$:/SiteSubtitle\" text=\"Wikis spawning wikis\"/>\n\n"
  },
  {
    "path": "plugins/tiddlywiki/innerwiki/doc/examples.tid",
    "content": "title: $:/plugins/tiddlywiki/innerwiki/examples\n\n\\define big-arrow(x,y,colour:\"#ff0000\",border:\"#000000\")\n\t<g transform=\"translate($x$,$y$)\">\n\t\t<path d=\"m-81.43106,34.99315l40.25737,-49.78116l40.25737,49.78116l-20.12869,0l0,50.02069l-40.25737,0l0,-50.02069l-20.12869,0l0,0z\" fill=\"$colour$\" stroke=\"$border$\" stroke-dasharray=\"null\" stroke-linecap=\"null\" stroke-linejoin=\"null\" stroke-width=\"5\" transform=\"rotate(49.3775 -41.1737 35.1129)\"/>\n\t</g>\n\\end\n\n\\define example(text)\n<$codeblock code=<<__text__>>/>\n\nRenders as:\n\n$text$\n\\end\n\n!! Browser\n\nThe innerwiki widget specifies the dimensions of the virtual screen used to render the wiki (in pixels) and CSS styles to apply to it. Nested `<$data>` widgets are used to specify individual payload tiddlers to be loaded into the wiki. In this example, we initialise the innerwiki with two tiddlers \"HelloThere\" and \"$:/DefaultTiddlers\":\n\n<$macrocall $name=\"example\" text=\"\"\"<$innerwiki width=\"1200\" height=\"400\" style=\"width:100%;\" filename=\"screenshot-1.png\">\n\t<$data title=\"HelloThere\" text=\"This tiddler is inside a wiki\"/>\n\t<$data title=\"$:/DefaultTiddlers\" text=\"HelloThere\"/>\n</$innerwiki>\"\"\"/>\n\nNote that the \"screenshot\" is a shrunken but fully interactive TiddlyWiki.\n\n!! Node.js\n\nTo render these examples as a PNG bitmap under Node.js, execute the following at the command prompt:\n\n```\ntiddlywiki editions/innerwikidemo --screenshot $:/plugins/tiddlywiki/innerwiki/examples\n```\n\nThe screenshots will be saved as `screenshot-1.png` etc in the `./output` folder of the wiki.\n\nTo render this example tiddler as a static HTML file that embeds the screenshot images and includes the SVG overlays:\n\n```\ntiddlywiki editions/innerwikidemo --render '[[$:/plugins/tiddlywiki/innerwiki/examples]]' \"examples.html\" --build index\n```\n\n!! SVG overlays\n\nAny displayable content within innerwiki widget is displayed within an automatically created SVG element. This allows overlays to be added:\n\n<$macrocall $name=\"example\" text=\"\"\"<$innerwiki width=\"1200\" height=\"400\" style=\"width:100%;\" filename=\"screenshot-2.png\">\n\t<$data title=\"HelloThere\" text=\"This tiddler is inside a wiki\"/>\n\t<$data title=\"$:/DefaultTiddlers\" text=\"HelloThere\"/>\n\t<circle cx=\"600\" cy=\"50\" r=\"40\" stroke=\"black\" stroke-width=\"2\" fill=\"green\" />\n\t<<big-arrow 600 50>>\n</$innerwiki>\"\"\"/>\n\nNotice how macros can be used to encapsulate SVG fragments ([[see the source of this tiddler|$:/plugins/tiddlywiki/innerwiki/examples]]).\n\n!! Clipping\n\nA clipping rectangle can be applied to limit the area of the wiki that is displayed. For example:\n\n<$macrocall $name=\"example\" text=\"\"\"<$innerwiki width=\"1200\" height=\"400\" style=\"width:100%;\" clipLeft=\"500\" clipTop=\"100\" clipWidth=\"600\" clipHeight=\"300\" filename=\"screenshot-3.png\">\n\t<$data title=\"HelloThere\" text=\"! This tiddler is inside a wiki that is inside a wiki\"/>\n\t<$data title=\"$:/DefaultTiddlers\" text=\"HelloThere\"/>\n</$innerwiki>\"\"\"/>\n\n!! Transcluding payload tiddlers\n\nThis example shows how the `<$data>` widget can be transcluded from other tiddlers (see $:/plugins/tiddlywiki/innerwiki/example-data):\n\n<$macrocall $name=\"example\" text=\"\"\"<$innerwiki width=\"600\" height=\"400\" style=\"width:100%;\" filename=\"screenshot-4.png\">\n\t{{$:/plugins/tiddlywiki/innerwiki/example-data}}\n\t<$data title=\"HelloThere\" text=\"! This tiddler is inside a wiki that is inside a wiki\"/>\n\t<$data title=\"$:/DefaultTiddlers\" text=\"HelloThere\"/>\n</$innerwiki>\"\"\"/>\n\n!! Customising the wiki state\n\nBy injecting the right payload tiddlers, the innerwiki can be initialised to any desired state. In this example we inject a configuration tiddler to make the \"more\" page control button visible, and a state tiddler to cause the dropdown to appear:\n\n<$macrocall $name=\"example\" text=\"\"\"<$innerwiki template=\"$:/plugins/tiddlywiki/innerwiki/template\" filename=\"screenshot-5.png\" width=\"1200\" height=\"400\" style=\"width:100%;\">\n\t<$data title=\"HelloThere\" text=\"! This tiddler is inside a wiki that is inside a wiki\"/>\n\t<$data title=\"$:/DefaultTiddlers\" text=\"HelloThere\"/>\n\t<$data title=\"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/more-page-actions\" text=\"show\"/>\n\t<$data title=\"$:/state/popup/more--1600698846\" text=\"(151,144,21,25)\"/>\n</$innerwiki>\"\"\"/>\n\n<$macrocall $name=\"example\" text=\"\"\"<$innerwiki template=\"$:/plugins/tiddlywiki/innerwiki/template\" filename=\"screenshot-6.png\" width=\"1200\" height=\"400\" style=\"width:100%;\">\n\t<$data title=\"HelloThere\" text=\"! This tiddler is inside a wiki that is inside a wiki\"/>\n\t<$data title=\"Draft of 'HelloThere'\" text=\"This tiddler is inside a wiki that is inside a wiki\" draft.of=\"HelloThere\" draft.title=\"HelloThere\"/>\n\t<$data title=\"$:/DefaultTiddlers\" text=\"[[Draft of 'HelloThere']]\"/>\n\t<$data title=\"$:/state/sidebar\" text=\"no\"/>\n\t<$data title=\"$:/state/showeditpreview\" text=\"yes\"/>\n</$innerwiki>\"\"\"/>\n\n!! Draggable anchors\n\nThis example shows how the `<$anchor>` widget is used to display draggable anchors overlaid on the innerwiki. The `<$anchor>` widget is used to declare the tiddlers containing the coordinates of each anchor. These tiddlers can then be transcluded by SVG graphic primitives to position them according to the anchor locations.\n\n<$macrocall $name=\"example\" text=\"\"\"screenshot-7-anchor-1-x: <$edit-text tag=\"input\" tiddler=\"screenshot-7-anchor-1-x\"/>\n\nscreenshot-7-anchor-1-y: <$edit-text tag=\"input\" tiddler=\"screenshot-7-anchor-1-y\"/>\n\nscreenshot-7-anchor-2-x: <$edit-text tag=\"input\" tiddler=\"screenshot-7-anchor-2-x\"/>\n\nscreenshot-7-anchor-2-y: <$edit-text tag=\"input\" tiddler=\"screenshot-7-anchor-2-y\"/>\n\n<$innerwiki template=\"$:/plugins/tiddlywiki/innerwiki/template\" filename=\"screenshot-7.png\" width=\"1200\" height=\"400\" style=\"width:100%;\">\n\t<$anchor x=\"screenshot-7-anchor-1-x\" y=\"screenshot-7-anchor-1-y\"/>\n\t<$anchor x=\"screenshot-7-anchor-2-x\" y=\"screenshot-7-anchor-2-y\"/>\n\t<$data title=\"HelloThere\" text=\"! This tiddler is inside a wiki that is inside a wiki\"/>\n\t<$data title=\"$:/DefaultTiddlers\" text=\"HelloThere\"/>\n\t<$macrocall $name=\"big-arrow\" x={{screenshot-7-anchor-1-x}} y={{screenshot-7-anchor-1-y}}/>\n\t<circle cx={{screenshot-7-anchor-2-x}} cy={{screenshot-7-anchor-2-y}} r=\"50\" stroke=\"blue\" stroke-width=\"2\" fill=\"green\" />\n</$innerwiki>\"\"\"/>\n\n!! Inception\n\nAn innerwiki can itself contain an inner-innerwiki:\n\n<$macrocall $name=\"example\" text=\"\"\"<$innerwiki width=\"1200\" height=\"600\" style=\"width:100%;\" filename=\"screenshot-8.png\">\n\t<$data title=\"HelloThere\" text=\"! This tiddler is inside a wiki that is inside a wiki\"/>\n\t<$data title=\"$:/DefaultTiddlers\" text=\"HelloThere $:/plugins/tiddlywiki/innerwiki/inner-example\"/>\n\t<$data $tiddler=\"$:/plugins/tiddlywiki/innerwiki\"/>\n\t<<big-arrow 100 50 colour:#00ff00>>\n</$innerwiki>\"\"\"/>\n\n(You can see the innerwiki here: $:/plugins/tiddlywiki/innerwiki/inner-example)\n\nNote the way that the innerwiki plugin has to be explicitly added to the innerwiki.\n"
  },
  {
    "path": "plugins/tiddlywiki/innerwiki/doc/inner-example.tid",
    "content": "title: $:/plugins/tiddlywiki/innerwiki/inner-example\n\n<$innerwiki width=\"1200\" height=\"400\" style=\"width:100%;\">\n\t<$anchor x=\"screenshot-inner-anchor-1-x\" y=\"screenshot-inner-anchor-1-y\"/>\n\t<circle cx={{screenshot-inner-anchor-1-x}} cy={{screenshot-inner-anchor-1-y}} r=\"50\" stroke=\"blue\" stroke-width=\"2\" fill=\"green\" />\n\t<$data title=\"HelloThere\" text=\"! This tiddler is inside a wiki that is inside a wiki that is inside a wiki\"/>\n\t<$data title=\"$:/DefaultTiddlers\" text=\"HelloThere\"/>\n\t<$data title=\"$:/palette\" text=\"$:/palettes/SolarFlare\"/>\n</$innerwiki>"
  },
  {
    "path": "plugins/tiddlywiki/innerwiki/doc/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/innerwiki/readme\n\n!! Introduction\n\nThis plugin enables TiddlyWiki to embed a modified copy of itself (an \"innerwiki\") with overlaid graphics. The primary motivation is to be able to produce screenshot illustrations that are automatically up-to-date with the appearance of TiddlyWiki as it changes over time, or to produce the same screenshot in different languages.\n\nIn the browser, innerwikis are displayed as an embedded iframe. Under Node.js [[Google's Puppeteer|https://pptr.dev/]] is used to load the innerwikis as off-screen web pages and then snapshot them as a PNG image.\n\n!! Warnings\n\nThe `<$innerwiki>` widget is relatively slow and resource intensive: each time it is refreshed it will entirely rebuild the iframe containing the innerwiki.\n\nThe `<$innerwiki>` widget does not automatically resize with its container (for example, try hiding the sidebar in this wiki).\n\n!! Prequisites\n\nIn order to take screenshots under Node.js, Google Puppeteer must first be installed from [[npm|https://npmjs.org//]]. For most situations, it should be installed at the root of the TiddlyWiki 5 repo:\n\n```\ncd Jermolene/TiddlyWiki5\nnpm install puppeteer\n```\n\nHowever, if you're working in a different repo that uses npm to install TiddlyWiki 5 then you should install Puppeteer into the same repo. The general rule is that the `node_modules` folder containing Puppeteer should be contained within an ancestor of the folder containing TiddlyWiki's `tiddlywiki.js` file.\n\n"
  },
  {
    "path": "plugins/tiddlywiki/innerwiki/innerwiki.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/innerwiki/innerwiki.js\ntype: application/javascript\nmodule-type: widget\n\nWidget to display an innerwiki in an iframe\n\n\\*/\n\n\"use strict\";\n\nvar DEFAULT_INNERWIKI_TEMPLATE = \"$:/plugins/tiddlywiki/innerwiki/template\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget,\n\tdm = $tw.utils.domMaker;\n\nvar InnerWikiWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nInnerWikiWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nInnerWikiWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create wrapper\n\tthis.domWrapper = dm(\"div\",{\n\t\tdocument: this.document,\n\t\t\"class\": (this.innerWikiClass || \"\").split(\" \").concat([\"tc-innerwiki-wrapper\"]).join(\" \"),\n\t\tstyle: {\n\t\t\toverflow: \"hidden\",\n\t\t\tposition: \"relative\",\n\t\t\tboxSizing: \"content-box\"\n\t\t}\n\t});\n\t// Set up the SVG container\n\tthis.domSVG = dm(\"svg\",{\n\t\tnamespace: \"http://www.w3.org/2000/svg\",\n\t\tdocument: this.document,\n\t\tstyle: {\n\t\t\twidth: \"100%\",\n\t\t\tposition: \"absolute\",\n\t\t\tzIndex: \"1\",\n\t\t\tpointerEvents: \"none\"\n\t\t},\n\t\tattributes: {\n\t\t\t\"viewBox\": \"0 0 \" + this.innerWikiClipWidth + \" \" + this.innerWikiClipHeight\n\t\t}\n\t});\n\tthis.domWrapper.appendChild(this.domSVG);\n\tthis.setVariable(\"namespace\",\"http://www.w3.org/2000/svg\");\n\t// Create the iframe for the browser or image for Node.js\n\tif(!this.document.isTiddlyWikiFakeDom) {\n\t\t// Create iframe\n\t\tthis.domIFrame = dm(\"iframe\",{\n\t\t\tdocument: this.document,\n\t\t\t\"class\": \"tc-innerwiki-iframe\",\n\t\t\tstyle: {\n\t\t\t\tposition: \"absolute\",\n\t\t\t\tmaxWidth: \"none\",\n\t\t\t\tborder: \"none\"\n\t\t\t},\n\t\t\tattributes: {\n\t\t\t\twidth: this.innerWikiWidth,\n\t\t\t\theight: this.innerWikiHeight\n\t\t\t}\n\t\t});\n\t\tthis.domWrapper.appendChild(this.domIFrame);\n\t} else {\n\t\t// Create image placeholder\n\t\tthis.domImage = dm(\"img\",{\n\t\t\tdocument: this.document,\n\t\t\tstyle: {\n\t\t\t\twidth: \"100%\"\n\t\t\t},\n\t\t\tattributes: {\n\t\t\t\tsrc: this.innerWikiFilename\n\t\t\t}\n\t\t});\n\t\tthis.domWrapper.appendChild(this.domImage);\n\t}\n\t// Insert wrapper into the DOM\n\tparent.insertBefore(this.domWrapper,nextSibling);\n\tthis.renderChildren(this.domSVG,null);\n\tthis.domNodes.push(this.domWrapper);\n\t// If we're on the real DOM, finish the initialisation that needs us to be in the DOM\n\tif(!this.document.isTiddlyWikiFakeDom) {\n\t\t// Write the HTML\n\t\tthis.domIFrame.contentDocument.open();\n\t\tthis.domIFrame.contentDocument.write(this.createInnerHTML());\n\t\tthis.domIFrame.contentDocument.close();\n\t}\n\t// Scale the iframe and adjust the height of the wrapper\n\tthis.clipLeft = this.innerWikiClipLeft;\n\tthis.clipTop = this.innerWikiClipTop;\n\tthis.clipWidth = this.innerWikiClipWidth;\n\tthis.clipHeight = this.innerWikiClipHeight;\n\tthis.scale = this.domWrapper.clientWidth / this.clipWidth;\n\t// Display the anchors\n\tif(!this.document.isTiddlyWikiFakeDom) {\n\t\tthis.domAnchorContainer = dm(\"div\",{\n\t\t\tdocument: this.document,\n\t\t\tstyle: {\n\t\t\t\tposition: \"relative\",\n\t\t\t\tzIndex: \"2\",\n\t\t\t\ttransformOrigin: \"0 0\",\n\t\t\t\ttransform:  \"scale(\" + this.scale + \")\"\n\t\t\t}\n\t\t});\n\t\tthis.domAnchorBackdrop = dm(\"div\",{\n\t\t\tdocument: this.document,\n\t\t\tstyle: {\n\t\t\t\tposition: \"absolute\",\n\t\t\t\tdisplay: \"none\"\n\t\t\t}\n\t\t});\n\t\tthis.domAnchorContainer.appendChild(this.domAnchorBackdrop);\n\t\tthis.domWrapper.insertBefore(this.domAnchorContainer,this.domWrapper.firstChild);\n\t\tself.createAnchors();\n\t}\n\t// Scale the iframe and adjust the height of the wrapper\n\tif(!this.document.isTiddlyWikiFakeDom) {\n\t\tthis.domIFrame.style.transformOrigin = this.clipLeft + \"px \" + this.clipTop + \"px\";\n\t\tthis.domIFrame.style.transform = \"translate(\" + (-this.clipLeft) + \"px,\" + (-this.clipTop) + \"px) scale(\" + this.scale + \")\";\n\t\tthis.domWrapper.style.height = (this.clipHeight * this.scale) + \"px\";\n\t}\n};\n\n/*\nCreate the anchors\n*/\nInnerWikiWidget.prototype.createAnchors = function() {\n\tvar self = this;\n\tthis.findChildrenDataWidgets(this.children,\"anchor\",function(widget) {\n\t\tvar anchorWidth = 40,\n\t\t\tanchorHeight = 40,\n\t\t\tgetAnchorCoordinate = function(name) {\n\t\t\t\treturn parseInt(self.wiki.getTiddlerText(widget.getAttribute(name)),10) || 0;\n\t\t\t},\n\t\t\tsetAnchorCoordinate = function(name,value) {\n\t\t\t\tself.wiki.addTiddler({\n\t\t\t\t\ttitle: widget.getAttribute(name),\n\t\t\t\t\ttext: value + \"\"\n\t\t\t\t});\n\t\t\t},\n\t\t\tdomAnchor = dm(\"img\",{\n\t\t\t\tdocument: self.document,\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\twidth: anchorWidth + \"px\",\n\t\t\t\t\theight: anchorHeight + \"px\",\n\t\t\t\t\ttransformOrigin: \"50% 50%\",\n\t\t\t\t\ttransform: \"scale(\" + (1 / self.scale) + \")\",\n\t\t\t\t\tleft: (getAnchorCoordinate(\"x\") - anchorWidth / 2) + \"px\",\n\t\t\t\t\ttop: (getAnchorCoordinate(\"y\") - anchorHeight / 2) + \"px\"\n\t\t\t\t},\n\t\t\t\tattributes: {\n\t\t\t\t\tdraggable: false,\n\t\t\t\t\tsrc: \"data:image/svg+xml,\" + encodeURIComponent(self.wiki.getTiddlerText(\"$:/plugins/tiddlywiki/innerwiki/crosshairs.svg\"))\n\t\t\t\t}\n\t\t\t});\n\t\tself.domAnchorContainer.appendChild(domAnchor);\n\t\tvar posX,posY,dragStartX,dragStartY,deltaX,deltaY,\n\t\t\tfnMouseDown = function(event) {\n\t\t\t\tself.domAnchorBackdrop.style.width = self.clipWidth + \"px\";\n\t\t\t\tself.domAnchorBackdrop.style.height = self.clipHeight + \"px\";\n\t\t\t\tself.domAnchorBackdrop.style.display = \"block\";\n\t\t\t\tposX = domAnchor.offsetLeft;\n\t\t\t\tposY = domAnchor.offsetTop;\n\t\t\t\tdragStartX = event.clientX;\n\t\t\t\tdragStartY = event.clientY;\n\t\t\t\tdeltaX = 0;\n\t\t\t\tdeltaY = 0;\n\t\t\t\tself.document.addEventListener(\"mousemove\",fnMouseMove,false);\n\t\t\t\tself.document.addEventListener(\"mouseup\",fnMouseUp,false);\n\t\t\t},\n\t\t\tfnMouseMove = function(event) {\n\t\t\t\tdeltaX = (event.clientX - dragStartX) / self.scale;\n\t\t\t\tdeltaY = (event.clientY - dragStartY) / self.scale;\n\t\t\t\tdomAnchor.style.left = (posX + deltaX) + \"px\";\n\t\t\t\tdomAnchor.style.top = (posY + deltaY) + \"px\";\n\t\t\t},\n\t\t\tfnMouseUp = function(event) {\n\t\t\t\tvar x = getAnchorCoordinate(\"x\") + deltaX,\n\t\t\t\t\ty = getAnchorCoordinate(\"y\") + deltaY;\n\t\t\t\tif(x >= 0 && x < self.clipWidth && y >= 0 && y < self.clipHeight) {\n\t\t\t\t\tsetAnchorCoordinate(\"x\",x);\n\t\t\t\t\tsetAnchorCoordinate(\"y\",y);\n\t\t\t\t} else {\n\t\t\t\t\tdomAnchor.style.left = posX + \"px\";\n\t\t\t\t\tdomAnchor.style.top = posY + \"px\";\n\t\t\t\t}\n\t\t\t\tself.domAnchorBackdrop.style.display = \"none\";\n\t\t\t\tself.document.removeEventListener(\"mousemove\",fnMouseMove,false);\n\t\t\t\tself.document.removeEventListener(\"mouseup\",fnMouseUp,false);\n\t\t\t};\n\t\tdomAnchor.addEventListener(\"mousedown\",fnMouseDown,false);\n\t});\n};\n\n/*\nDelete the anchors\n*/\nInnerWikiWidget.prototype.deleteAnchors = function() {\n\tfor(var index=this.domAnchorContainer.childNodes.length-1; index>=0; index--) {\n\t\tvar node = this.domAnchorContainer.childNodes[index];\n\t\tif(node.tagName === \"IMG\") {\n\t\t\tnode.parentNode.removeChild(node);\n\t\t}\n\t}\n};\n\n/*\nCreate the HTML of the innerwiki\n*/\nInnerWikiWidget.prototype.createInnerHTML = function() {\n\t// Get the HTML of the iframe\n\tvar html = this.wiki.renderTiddler(\"text/plain\",this.innerWikiTemplate);\n\t// Insert the overlay tiddlers\n\tvar SPLIT_MARKER = \"<!--~~ Boot\" + \" kernel ~~-->\\n\",\n\t\tIMPLANT_PREFIX = \"<\" + \"script>\\n$tw.preloadTiddlerArray(\",\n\t\tIMPLANT_SUFFIX = \");\\n</\" + \"script>\\n\",\n\t\tparts = html.split(SPLIT_MARKER),\n\t\ttiddlers = [];\n\tthis.findChildrenDataWidgets(this.children,\"data\",function(widget) {\n\t\tArray.prototype.push.apply(tiddlers,widget.readDataTiddlerValues());\n\t});\n\tif(parts.length === 2) {\n\t\thtml = parts[0] + IMPLANT_PREFIX + JSON.stringify(tiddlers) + IMPLANT_SUFFIX + SPLIT_MARKER + parts[1];\n\t}\n\treturn html;\n};\n\n/*\nCompute the internal state of the widget\n*/\nInnerWikiWidget.prototype.execute = function() {\n\tvar parseStringAsNumber = function(num,defaultValue) {\n\t\tnum = parseInt(num + \"\",10);\n\t\tif(!isNaN(num)) {\n\t\t\treturn num;\n\t\t} else {\n\t\t\treturn parseInt(defaultValue + \"\",10);\n\t\t}\n\t};\n\t// Get our parameters\n\tthis.innerWikiTemplate = this.getAttribute(\"template\",DEFAULT_INNERWIKI_TEMPLATE);\n\tthis.innerWikiWidth = parseStringAsNumber(this.getAttribute(\"width\"),800);\n\tthis.innerWikiHeight = parseStringAsNumber(this.getAttribute(\"height\"),600);\n\tthis.innerWikiStyle = this.getAttribute(\"style\");\n\tthis.innerWikiClass = this.getAttribute(\"class\");\n\tthis.innerWikiFilename = this.getAttribute(\"filename\");\n\tthis.innerWikiClipLeft = parseStringAsNumber(this.getAttribute(\"clipLeft\"),0);\n\tthis.innerWikiClipTop = parseStringAsNumber(this.getAttribute(\"clipTop\"),0);\n\tthis.innerWikiClipWidth = parseStringAsNumber(this.getAttribute(\"clipWidth\"),this.innerWikiWidth);\n\tthis.innerWikiClipHeight = parseStringAsNumber(this.getAttribute(\"clipHeight\"),this.innerWikiHeight);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nInnerWikiWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.template || changedAttributes.width || changedAttributes.height || changedAttributes.style || changedAttributes.class) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar childrenRefreshed = this.refreshChildren(changedTiddlers);\n\t\tif(childrenRefreshed) {\n\t\t\tthis.deleteAnchors();\n\t\t\tthis.createAnchors();\n\t\t}\n\t\treturn childrenRefreshed;\n\t}\n};\n\n/*\nUse Puppeteer to save a screenshot to a file\n*/\nInnerWikiWidget.prototype.saveScreenshot = function(options,callback) {\n\tvar self = this,\n\t\tbasepath = options.basepath || \".\",\n\t\tdeviceScaleFactor = options.deviceScaleFactor || 1;\n\t// Don't do anything if we don't have a filename\n\tif(!this.innerWikiFilename) {\n\t\treturn callback(null);\n\t}\n\tvar path = require(\"path\"),\n\t\tfilepath = path.resolve(basepath,this.innerWikiFilename);\n\t$tw.utils.createFileDirectories(filepath);\n\tconsole.log(\"Taking screenshot\",filepath);\n\t// Fire up Puppeteer\n\tvar puppeteer;\n\ttry {\n\t\tpuppeteer = require(\"puppeteer\");\n\t} catch(e) {\n\t\tthrow \"Google Puppeteer not found\";\n\t}\n\t// Take screenshots\n\tpuppeteer.launch().then(async (browser) => {\n\t\t// NOTE: Copying Google's sample code by using new fangled promises \"await\"\n\t\tconst page = await browser.newPage();\n\t\tawait page.setContent(self.createInnerHTML(),{\n\t\t\twaitUntil: \"domcontentloaded\"\n\t\t});\n\t\tawait page.setViewport({\n\t\t\twidth: Math.trunc(self.innerWikiWidth),\n\t\t\theight: Math.trunc(self.innerWikiHeight),\n\t\t\tdeviceScaleFactor: deviceScaleFactor\n\t\t});\n\t\t// PDF generation isn't great: there's no clipping, and pagination is hard to control\n\t\t// await page.emulateMedia(\"screen\");\n\t\t// await page.pdf({\n\t\t// \tscale: 0.5,\n\t\t// \twidth: self.innerWikiWidth + \"px\",\n\t\t// \theight: self.innerWikiHeight + \"px\",\n\t\t// \tpath: filepath + \".pdf\",\n\t\t// \tprintBackground: true\n\t\t// });\n\t\tawait page.screenshot({\n\t\t\tpath: filepath,\n\t\t\tclip: {\n\t\t\t\tx: self.innerWikiClipLeft,\n\t\t\t\ty: self.innerWikiClipTop,\n\t\t\t\twidth: self.innerWikiClipWidth,\n\t\t\t\theight: self.innerWikiClipHeight\n\t\t\t},\n\t\t\ttype: \"png\"\n\t\t});\n\t\tawait browser.close();\n\t\tcallback(null);\n\t});\n};\n\nexports.innerwiki = InnerWikiWidget;\n"
  },
  {
    "path": "plugins/tiddlywiki/innerwiki/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/innerwiki\",\n\t\"name\": \"Innerwiki\",\n\t\"description\": \"Innerwikis for screenshots and hacking\",\n\t\"list\": \"readme docs examples\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/innerwiki/screenshot.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/innerwiki/screenshot.js\ntype: application/javascript\nmodule-type: command\n\nCommands to render tiddlers identified by a filter and save any screenshots identified by <$innerwiki> widgets\n\n\\*/\n\n\"use strict\";\n\nexports.info = {\n\tname: \"screenshot\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar self = this;\n\tif(this.params.length < 1) {\n\t\treturn \"Missing filter\";\n\t}\n\tvar filter = this.params[0],\n\t\tdeviceScaleFactor = parseInt(this.params[1],10) || 1,\n\t\ttiddlers = this.commander.wiki.filterTiddlers(filter);\n\t// Render each tiddler into a widget tree\n\tvar innerWikiWidgets = [];\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar parser = self.commander.wiki.parseTiddler(title),\n\t\t\tvariables = {currentTiddler: title},\n\t\t\twidgetNode = self.commander.wiki.makeWidget(parser,{variables: variables}),\n\t\t\tcontainer = $tw.fakeDocument.createElement(\"div\");\n\t\twidgetNode.render(container,null);\n\t\t// Find any innerwiki widgets\n\t\tArray.prototype.push.apply(innerWikiWidgets,self.findInnerWikiWidgets(widgetNode));\n\t});\n\t// Asynchronously tell each innerwiki widget to save a screenshot\n\tvar processNextInnerWikiWidget = function() {\n\t\tif(innerWikiWidgets.length > 0) {\n\t\t\tvar widget = innerWikiWidgets[0];\n\t\t\tinnerWikiWidgets.shift();\n\t\t\twidget.saveScreenshot({\n\t\t\t\tbasepath: self.commander.outputPath,\n\t\t\t\tdeviceScaleFactor: deviceScaleFactor\n\t\t\t},function(err) {\n\t\t\t\tif(err) {\n\t\t\t\t\tself.callback(err);\n\t\t\t\t}\n\t\t\t\tprocessNextInnerWikiWidget();\n\t\t\t});\n\t\t} else {\n\t\t\tself.callback(null);\n\t\t}\n\t};\n\tprocessNextInnerWikiWidget();\n\treturn null;\n};\n\nCommand.prototype.findInnerWikiWidgets = function(widgetNode) {\n\tvar self = this,\n\t\tresults = [];\n\tif(widgetNode.saveScreenshot) {\n\t\tresults.push(widgetNode);\n\t}\n\t$tw.utils.each(widgetNode.children,function(childWidget) {\n\t\tArray.prototype.push.apply(results,self.findInnerWikiWidgets(childWidget));\n\t});\n\treturn results;\n};\n\nexports.Command = Command;\n"
  },
  {
    "path": "plugins/tiddlywiki/innerwiki/styles.tid",
    "content": "title: $:/plugins/tiddlywiki/innerwiki/styles\ntags: [[$:/tags/Stylesheet]]\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\n.tc-innerwiki-wrapper {\n\tborder: 1px solid #666;\n\t<<box-shadow \"2px 2px 5px rgba(0, 0, 0, 0.5)\">>\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/innerwiki/template.tid",
    "content": "title: $:/plugins/tiddlywiki/innerwiki/template\n\n\\define saveTiddlerFilter()\n$:/core\n$:/plugins/tiddlywiki/innerwiki\n$:/plugins/tiddlywiki/railroad\n$:/themes/tiddlywiki/snowwhite\n$:/themes/tiddlywiki/vanilla\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
  },
  {
    "path": "plugins/tiddlywiki/internals/editpreviews/parse-tree.tid",
    "content": "title: $:/plugins/tiddlywiki/internals/EditTemplate/body/preview/parse-tree\ntags: $:/tags/EditPreview\nlist-after: $:/core/ui/EditTemplate/body/preview/output\ncaption: parse tree\n\n\\define preview(mode)\n<$wikify name=\"preview-text\" text={{!!text}} type={{!!type}} mode=\"$mode$\" output=\"parsetree\">\n<pre>\n<code>\n<$text text=<<preview-text>>/>\n</code>\n</pre>\n</$wikify>\n\\end\n\n{{||$:/plugins/tiddlywiki/internals/EditTemplate/body/preview/shared}}\n"
  },
  {
    "path": "plugins/tiddlywiki/internals/editpreviews/raw.tid",
    "content": "title: $:/plugins/tiddlywiki/internals/EditTemplate/body/preview/raw\ntags: $:/tags/EditPreview\ncaption: raw HTML\nlist-after: $:/plugins/tiddlywiki/internals/EditTemplate/body/preview/widget-tree\ncode-body: yes\n\n<pre><code><$view field=\"text\" format=\"htmlwikified\" /></code></pre>\n"
  },
  {
    "path": "plugins/tiddlywiki/internals/editpreviews/shared.tid",
    "content": "title: $:/plugins/tiddlywiki/internals/EditTemplate/body/preview/shared\n\n\\define body()\n\nMode: <$select tiddler=\"$(tv-mode-configuration)$\" default=\"block\">\n<option value=\"inline\">Inline</option>\n<option value=\"block\">Block</option>\n</$select>\n\n<$macrocall $name=\"preview\" mode={{$(tv-mode-configuration)$}}/>\n\\end\n\n<div class=\"tc-internal-tree-preview-wrapper\">\n\n<div class=\"tc-internal-tree-preview\">\n\n<$vars tv-mode-configuration=<<qualify \"$:/state/internals/preview/mode\">>>\n\n<<body>>\n\n</$vars>\n\n</div>\n\n</div>\n"
  },
  {
    "path": "plugins/tiddlywiki/internals/editpreviews/widget-tree.tid",
    "content": "title: $:/plugins/tiddlywiki/internals/EditTemplate/body/preview/widget-tree\ntags: $:/tags/EditPreview\ncaption: widget tree\nlist-after: $:/plugins/tiddlywiki/internals/EditTemplate/body/preview/parse-tree\n\n\\define preview(mode)\n<$wikify name=\"preview-text\" text={{!!text}} type={{!!type}} mode=\"$mode$\" output=\"widgettree\">\n<pre>\n<code>\n<$text text=<<preview-text>>/>\n</code>\n</pre>\n</$wikify>\n\\end\n\n{{||$:/plugins/tiddlywiki/internals/EditTemplate/body/preview/shared}}\n"
  },
  {
    "path": "plugins/tiddlywiki/internals/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/internals\",\n\t\"name\": \"Internals\",\n\t\"description\": \"Tools for exploring the internals of TiddlyWiki\",\n\t\"list\": \"readme\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/internals/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/internals/readme\n\nThis plugin adds features to help explore the internals of TiddlyWiki:\n\n* New preview panes showing:\n** the parse tree\n** the widget tree\n** the raw HTML output\n\nThe first two include a dropdown for choosing block vs. inline parsing mode.\n"
  },
  {
    "path": "plugins/tiddlywiki/internals/styles.tid",
    "content": "title: $:/plugins/tiddlywiki/internals/styles\ntags: $:/tags/Stylesheet\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock\n"
  },
  {
    "path": "plugins/tiddlywiki/jasmine/command.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/jasmine/command.js\ntype: application/javascript\nmodule-type: command\n\nThe command which executes jasmine on the command line for TiddlyWiki5\n\n\\*/\n\"use strict\";\n\nvar jasmine = require(\"./jasmine-plugin.js\");\n\nexports.info = {\n\tname: \"test\",\n\tsynchronous: false,\n\tnamedParameterMode: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar specFilter = this.params.spec;\n\tjasmine.runTests(this.callback,specFilter);\n};\n\nexports.Command = Command;\n"
  },
  {
    "path": "plugins/tiddlywiki/jasmine/files/jasmine/MIT.LICENSE",
    "content": "Copyright (c) 2014-2016 Pivotal Labs\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"
  },
  {
    "path": "plugins/tiddlywiki/jasmine/files/jasmine/lib/command.js",
    "content": "var path = require('path'),\n    fs = require('fs');\n\nexports = module.exports = Command;\n\nvar subCommands = {\n  init: {\n    description: 'initialize jasmine',\n    action: initJasmine\n  },\n  examples: {\n    description: 'install examples',\n    action: installExamples\n  },\n  help: {\n    description: 'show help',\n    action: help,\n    alias: '-h'\n  },\n  version: {\n    description: 'show jasmine and jasmine-core versions',\n    action: version,\n    alias: '-v'\n  }\n};\n\nfunction Command(projectBaseDir, examplesDir, print) {\n  this.projectBaseDir = projectBaseDir;\n  this.specDir = path.join(projectBaseDir, 'spec');\n\n  var command = this;\n\n  this.run = function(jasmine, commands) {\n    setEnvironmentVariables(commands);\n\n    var commandToRun;\n    Object.keys(subCommands).forEach(function(cmd) {\n      var commandObject = subCommands[cmd];\n        if (commands.indexOf(cmd) >= 0) {\n        commandToRun = commandObject;\n      } else if(commandObject.alias && commands.indexOf(commandObject.alias) >= 0) {\n        commandToRun = commandObject;\n      }\n    });\n\n    if (commandToRun) {\n      commandToRun.action({jasmine: jasmine, projectBaseDir: command.projectBaseDir, specDir: command.specDir, examplesDir: examplesDir, print: print});\n    } else {\n      var env = parseOptions(commands);\n      if (env.unknownOptions.length > 0) {\n        process.exitCode = 1;\n        print('Unknown options: ' + env.unknownOptions.join(', '));\n        print('');\n        help({print: print});\n      } else {\n        runJasmine(jasmine, env, print);\n      }\n    }\n  };\n}\n\nfunction isFileArg(arg) {\n  return arg.indexOf('--') !== 0 && !isEnvironmentVariable(arg);\n}\n\nfunction parseOptions(argv) {\n  var files = [],\n      helpers = [],\n      requires = [],\n      unknownOptions = [],\n      color = process.stdout.isTTY || false,\n      reporter,\n      configPath,\n      filter,\n      stopOnFailure,\n      failFast,\n      random,\n      seed;\n\n  argv.forEach(function(arg) {\n    if (arg === '--no-color') {\n      color = false;\n    } else if (arg === '--color') {\n      color = true;\n    } else if (arg.match(\"^--filter=\")) {\n      filter = arg.match(\"^--filter=(.*)\")[1];\n    } else if (arg.match(\"^--helper=\")) {\n      helpers.push(arg.match(\"^--helper=(.*)\")[1]);\n    } else if (arg.match(\"^--require=\")) {\n      requires.push(arg.match(\"^--require=(.*)\")[1]);\n    } else if (arg.match(\"^--stop-on-failure=\")) {\n      stopOnFailure = arg.match(\"^--stop-on-failure=(.*)\")[1] === 'true';\n    } else if (arg.match(\"^--fail-fast=\")) {\n      failFast = arg.match(\"^--fail-fast=(.*)\")[1] === 'true';\n    } else if (arg.match(\"^--random=\")) {\n      random = arg.match(\"^--random=(.*)\")[1] === 'true';\n    } else if (arg.match(\"^--seed=\")) {\n      seed = arg.match(\"^--seed=(.*)\")[1];\n    } else if (arg.match(\"^--config=\")) {\n      configPath = arg.match(\"^--config=(.*)\")[1];\n    } else if (arg.match(\"^--reporter=\")) {\n      reporter = arg.match(\"^--reporter=(.*)\")[1];\n    } else if (isFileArg(arg)) {\n      files.push(arg);\n    } else if (!isEnvironmentVariable(arg)) {\n      unknownOptions.push(arg);\n    }\n  });\n  return {\n    color: color,\n    configPath: configPath,\n    filter: filter,\n    stopOnFailure: stopOnFailure,\n    failFast: failFast,\n    helpers: helpers,\n    requires: requires,\n    reporter: reporter,\n    files: files,\n    random: random,\n    seed: seed,\n    unknownOptions: unknownOptions\n  };\n}\n\nfunction runJasmine(jasmine, env, print) {\n  jasmine.loadConfigFile(env.configPath || process.env.JASMINE_CONFIG_PATH);\n  if (env.stopOnFailure !== undefined) {\n    jasmine.stopSpecOnExpectationFailure(env.stopOnFailure);\n  }\n  if (env.failFast !== undefined) {\n    jasmine.stopOnSpecFailure(env.failFast);\n  }\n  if (env.seed !== undefined) {\n    jasmine.seed(env.seed);\n  }\n  if (env.random !== undefined) {\n    jasmine.randomizeTests(env.random);\n  }\n  if (env.helpers !== undefined && env.helpers.length) {\n    jasmine.addHelperFiles(env.helpers);\n  }\n  if (env.requires !== undefined && env.requires.length) {\n    jasmine.addRequires(env.requires);\n  }\n  if (env.reporter !== undefined) {\n    try {\n      var Report = require(env.reporter);\n      var reporter = new Report();\n      jasmine.clearReporters();\n      jasmine.addReporter(reporter);\n    } catch(e) {\n      print('failed to register reporter \"' + env.reporter + '\"');\n      print(e.message);\n      print(e.stack);\n    }\n  }\n  jasmine.showColors(env.color);\n  jasmine.execute(env.files, env.filter);\n}\n\nfunction initJasmine(options) {\n  var print = options.print;\n  var specDir = options.specDir;\n  makeDirStructure(path.join(specDir, 'support/'));\n  if(!fs.existsSync(path.join(specDir, 'support/jasmine.json'))) {\n    fs.writeFileSync(path.join(specDir, 'support/jasmine.json'), fs.readFileSync(path.join(__dirname, '../lib/examples/jasmine.json'), 'utf-8'));\n  }\n  else {\n    print('spec/support/jasmine.json already exists in your project.');\n  }\n}\n\nfunction installExamples(options) {\n  var specDir = options.specDir;\n  var projectBaseDir = options.projectBaseDir;\n  var examplesDir = options.examplesDir;\n\n  makeDirStructure(path.join(specDir, 'support'));\n  makeDirStructure(path.join(specDir, 'jasmine_examples'));\n  makeDirStructure(path.join(specDir, 'helpers', 'jasmine_examples'));\n  makeDirStructure(path.join(projectBaseDir, 'lib', 'jasmine_examples'));\n\n  copyFiles(\n    path.join(examplesDir, 'spec', 'helpers', 'jasmine_examples'),\n    path.join(specDir, 'helpers', 'jasmine_examples'),\n    new RegExp(/[Hh]elper\\.js/)\n  );\n\n  copyFiles(\n    path.join(examplesDir, 'lib', 'jasmine_examples'),\n    path.join(projectBaseDir, 'lib', 'jasmine_examples'),\n    new RegExp(/\\.js/)\n  );\n\n  copyFiles(\n    path.join(examplesDir, 'spec', 'jasmine_examples'),\n    path.join(specDir, 'jasmine_examples'),\n    new RegExp(/[Ss]pec.js/)\n  );\n}\n\nfunction help(options) {\n  var print = options.print;\n  print('Usage: jasmine [command] [options] [files]');\n  print('');\n  print('Commands:');\n  Object.keys(subCommands).forEach(function(cmd) {\n    var commandNameText = cmd;\n    if(subCommands[cmd].alias) {\n      commandNameText = commandNameText + ',' + subCommands[cmd].alias;\n    }\n    print('%s\\t%s', lPad(commandNameText, 10), subCommands[cmd].description);\n  });\n  print('');\n  print('If no command is given, jasmine specs will be run');\n  print('');\n  print('');\n\n  print('Options:');\n  print('%s\\tturn off color in spec output', lPad('--no-color', 18));\n  print('%s\\tforce turn on color in spec output', lPad('--color', 18));\n  print('%s\\tfilter specs to run only those that match the given string', lPad('--filter=', 18));\n  print('%s\\tload helper files that match the given string', lPad('--helper=', 18));\n  print('%s\\tload module that match the given string', lPad('--require=', 18));\n  print('%s\\t[true|false] stop spec execution on expectation failure', lPad('--stop-on-failure=', 18));\n  print('%s\\t[true|false] stop Jasmine execution on spec failure', lPad('--fail-fast=', 18));\n  print('%s\\tpath to your optional jasmine.json', lPad('--config=', 18));\n  print('%s\\tpath to reporter to use instead of the default Jasmine reporter', lPad('--reporter=', 18));\n  print('');\n  print('The given arguments take precedence over options in your jasmine.json');\n  print('The path to your optional jasmine.json can also be configured by setting the JASMINE_CONFIG_PATH environment variable');\n}\n\nfunction version(options) {\n  var print = options.print;\n  print('jasmine v' + require('../package.json').version);\n  print('jasmine-core v' + options.jasmine.coreVersion());\n}\n\nfunction lPad(str, length) {\n  if (str.length >= length) {\n    return str;\n  } else {\n    return lPad(' ' + str, length);\n  }\n}\n\nfunction copyFiles(srcDir, destDir, pattern) {\n  var srcDirFiles = fs.readdirSync(srcDir);\n  srcDirFiles.forEach(function(file) {\n    if (file.search(pattern) !== -1) {\n      fs.writeFileSync(path.join(destDir, file), fs.readFileSync(path.join(srcDir, file)));\n    }\n  });\n}\n\nfunction makeDirStructure(absolutePath) {\n  var splitPath = absolutePath.split(path.sep);\n  splitPath.forEach(function(dir, index) {\n    if(index > 1) {\n      var fullPath = path.join(splitPath.slice(0, index).join('/'), dir);\n      if (!fs.existsSync(fullPath)) {\n        fs.mkdirSync(fullPath);\n      }\n    }\n  });\n}\n\nfunction isEnvironmentVariable(command) {\n  var envRegExp = /(.*)=(.*)/;\n  return command.match(envRegExp);\n}\n\nfunction setEnvironmentVariables(commands) {\n  commands.forEach(function (command) {\n    var regExpMatch = isEnvironmentVariable(command);\n    if(regExpMatch) {\n      var key = regExpMatch[1];\n      var value = regExpMatch[2];\n      process.env[key] = value;\n    }\n  });\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/jasmine/files/jasmine/lib/filters/console_spec_filter.js",
    "content": "module.exports = exports = ConsoleSpecFilter;\n\nfunction ConsoleSpecFilter(options) {\n  var filterString = options && options.filterString;\n  var filterPattern = new RegExp(filterString);\n\n  this.matches = function(specName) {\n    return filterPattern.test(specName);\n  };\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/jasmine/files/jasmine/lib/jasmine.js",
    "content": "var path = require('path'),\n    util = require('util'),\n    glob = require('glob'),\n    CompletionReporter = require('./reporters/completion_reporter'),\n    ConsoleSpecFilter = require('./filters/console_spec_filter');\n\nmodule.exports = Jasmine;\nmodule.exports.ConsoleReporter = require('./reporters/console_reporter');\n\nfunction Jasmine(options) {\n  options = options || {};\n  var jasmineCore = options.jasmineCore || require('jasmine-core');\n  this.jasmineCorePath = path.join(jasmineCore.files.path, 'jasmine.js');\n  this.jasmine = jasmineCore.boot(jasmineCore);\n  this.projectBaseDir = options.projectBaseDir || path.resolve();\n  this.specDir = '';\n  this.specFiles = [];\n  this.helperFiles = [];\n  this.requires = [];\n  this.env = this.jasmine.getEnv({suppressLoadErrors: true});\n  this.reportersCount = 0;\n  this.completionReporter = new CompletionReporter();\n  this.onCompleteCallbackAdded = false;\n  this.exit = process.exit;\n  this.showingColors = true;\n  this.reporter = new module.exports.ConsoleReporter();\n  this.addReporter(this.reporter);\n  this.defaultReporterConfigured = false;\n\n  var jasmineRunner = this;\n  this.completionReporter.onComplete(function(passed) {\n    jasmineRunner.exitCodeCompletion(passed);\n  });\n  this.checkExit = checkExit(this);\n\n  this.coreVersion = function() {\n    return jasmineCore.version();\n  };\n}\n\nJasmine.prototype.randomizeTests = function(value) {\n  this.env.configure({random: value});\n};\n\nJasmine.prototype.seed = function(value) {\n  this.env.configure({seed: value});\n};\n\nJasmine.prototype.showColors = function(value) {\n  this.showingColors = value;\n};\n\nJasmine.prototype.addSpecFile = function(filePath) {\n  this.specFiles.push(filePath);\n};\n\nJasmine.prototype.addReporter = function(reporter) {\n  this.env.addReporter(reporter);\n  this.reportersCount++;\n};\n\nJasmine.prototype.clearReporters = function() {\n  this.env.clearReporters();\n  this.reportersCount = 0;\n};\n\nJasmine.prototype.provideFallbackReporter = function(reporter) {\n  this.env.provideFallbackReporter(reporter);\n};\n\nJasmine.prototype.configureDefaultReporter = function(options) {\n  options.timer = options.timer || new this.jasmine.Timer();\n  options.print = options.print || function() {\n    process.stdout.write(util.format.apply(this, arguments));\n  };\n  options.showColors = options.hasOwnProperty('showColors') ? options.showColors : true;\n  options.jasmineCorePath = options.jasmineCorePath || this.jasmineCorePath;\n\n  this.reporter.setOptions(options);\n  this.defaultReporterConfigured = true;\n};\n\nJasmine.prototype.addMatchers = function(matchers) {\n  this.env.addMatchers(matchers);\n};\n\nJasmine.prototype.loadSpecs = function() {\n  this.specFiles.forEach(function(file) {\n    require(file);\n  });\n};\n\nJasmine.prototype.loadHelpers = function() {\n  this.helperFiles.forEach(function(file) {\n    require(file);\n  });\n};\n\nJasmine.prototype.loadRequires = function() {\n  this.requires.forEach(function(r) {\n    require(r);\n  });\n};\n\nJasmine.prototype.loadConfigFile = function(configFilePath) {\n  try {\n    var absoluteConfigFilePath = path.resolve(this.projectBaseDir, configFilePath || 'spec/support/jasmine.json');\n    var config = require(absoluteConfigFilePath);\n    this.loadConfig(config);\n  } catch (e) {\n    if(configFilePath || e.code != 'MODULE_NOT_FOUND') { throw e; }\n  }\n};\n\nJasmine.prototype.loadConfig = function(config) {\n  this.specDir = config.spec_dir || this.specDir;\n\n  var configuration = {};\n\n  if (config.stopSpecOnExpectationFailure !== undefined) {\n    configuration.oneFailurePerSpec = config.stopSpecOnExpectationFailure;\n  }\n\n  if (config.stopOnSpecFailure !== undefined) {\n    configuration.failFast = config.stopOnSpecFailure;\n  }\n\n  if (config.random !== undefined) {\n    configuration.random = config.random;\n  }\n\n  if (Object.keys(configuration).length > 0) {\n    this.env.configure(configuration);\n  }\n\n  if(config.helpers) {\n    this.addHelperFiles(config.helpers);\n  }\n\n  if(config.requires) {\n    this.addRequires(config.requires);\n  }\n\n  if(config.spec_files) {\n    this.addSpecFiles(config.spec_files);\n  }\n};\n\nJasmine.prototype.addHelperFiles = addFiles('helperFiles');\nJasmine.prototype.addSpecFiles = addFiles('specFiles');\n\nJasmine.prototype.addRequires = function(requires) {\n  var jasmineRunner = this;\n  requires.forEach(function(r) {\n    jasmineRunner.requires.push(r);\n  });\n};\n\nfunction addFiles(kind) {\n  return function (files) {\n    var jasmineRunner = this;\n    var fileArr = this[kind];\n\n    var includeFiles = [];\n    var excludeFiles = [];\n    files.forEach(function(file) {\n      if (file.startsWith('!')) {\n        var excludeFile = file.substring(1);\n        if(!(path.isAbsolute && path.isAbsolute(excludeFile))) {\n          excludeFile = path.join(jasmineRunner.projectBaseDir, jasmineRunner.specDir, excludeFile);\n        }\n\n        excludeFiles.push(excludeFile);\n      } else {\n        includeFiles.push(file);\n      }\n    });\n\n    includeFiles.forEach(function(file) {\n      if(!(path.isAbsolute && path.isAbsolute(file))) {\n        file = path.join(jasmineRunner.projectBaseDir, jasmineRunner.specDir, file);\n      }\n      var filePaths = glob.sync(file, { ignore: excludeFiles });\n      filePaths.forEach(function(filePath) {\n        // glob will always output '/' as a segment separator but the fileArr may use \\ on windows\n        // fileArr needs to be checked for both versions\n        if(fileArr.indexOf(filePath) === -1 && fileArr.indexOf(path.normalize(filePath)) === -1) {\n          fileArr.push(filePath);\n        }\n      });\n    });\n  };\n}\n\nJasmine.prototype.onComplete = function(onCompleteCallback) {\n  this.completionReporter.onComplete(onCompleteCallback);\n};\n\nJasmine.prototype.stopSpecOnExpectationFailure = function(value) {\n  this.env.configure({oneFailurePerSpec: value});\n};\n\nJasmine.prototype.stopOnSpecFailure = function(value) {\n  this.env.configure({failFast: value});\n};\n\nJasmine.prototype.exitCodeCompletion = function(passed) {\n  var jasmineRunner = this;\n  var streams = [process.stdout, process.stderr];\n  var writesToWait = streams.length;\n  streams.forEach(function(stream) {\n    stream.write('', null, exitIfAllStreamsCompleted);\n  });\n  function exitIfAllStreamsCompleted() {\n    writesToWait--;\n    if (writesToWait === 0) {\n      if(passed) {\n        jasmineRunner.exit(0);\n      }\n      else {\n        jasmineRunner.exit(1);\n      }\n    }\n  }\n};\n\nvar checkExit = function(jasmineRunner) {\n  return function() {\n    if (!jasmineRunner.completionReporter.isComplete()) {\n      process.exitCode = 4;\n    }\n  };\n};\n\nJasmine.prototype.execute = function(files, filterString) {\n  this.completionReporter.exitHandler = this.checkExit;\n\n  this.loadRequires();\n  this.loadHelpers();\n  if (!this.defaultReporterConfigured) {\n    this.configureDefaultReporter({ showColors: this.showingColors });\n  }\n\n  if(filterString) {\n    var specFilter = new ConsoleSpecFilter({\n      filterString: filterString\n    });\n    this.env.configure({specFilter: function(spec) {\n      return specFilter.matches(spec.getFullName());\n    }});\n  }\n\n  if (files && files.length > 0) {\n    this.specDir = '';\n    this.specFiles = [];\n    this.addSpecFiles(files);\n  }\n\n  this.loadSpecs();\n\n  this.addReporter(this.completionReporter);\n  this.env.execute();\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/jasmine/files/jasmine/lib/reporters/completion_reporter.js",
    "content": "module.exports = function() {\n  var onCompleteCallback = function() {};\n  var completed = false;\n\n  this.onComplete = function(callback) {\n    onCompleteCallback = callback;\n  };\n\n  this.jasmineStarted = function() {\n    if (this.exitHandler) {\n      process.on('exit', this.exitHandler);\n    }\n  };\n\n  this.jasmineDone = function(result) {\n    completed = true;\n    if (this.exitHandler) {\n      process.removeListener('exit', this.exitHandler);\n    }\n\n    onCompleteCallback(result.overallStatus === 'passed');\n  };\n\n  this.isComplete = function() {\n    return completed;\n  };\n\n  this.exitHandler = null;\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/jasmine/files/jasmine/lib/reporters/console_reporter.js",
    "content": "module.exports = exports = ConsoleReporter;\n\nvar noopTimer = {\n  start: function(){},\n  elapsed: function(){ return 0; }\n};\n\nfunction ConsoleReporter() {\n  var print = function() {},\n    showColors = false,\n    timer = noopTimer,\n    jasmineCorePath = null,\n    specCount,\n    executableSpecCount,\n    failureCount,\n    failedSpecs = [],\n    pendingSpecs = [],\n    ansi = {\n      green: '\\x1B[32m',\n      red: '\\x1B[31m',\n      yellow: '\\x1B[33m',\n      none: '\\x1B[0m'\n    },\n    failedSuites = [],\n    stackFilter = defaultStackFilter;\n\n  this.setOptions = function(options) {\n    if (options.print) {\n      print = options.print;\n    }\n    showColors = options.showColors || false;\n    if (options.timer) {\n      timer = options.timer;\n    }\n    if (options.jasmineCorePath) {\n      jasmineCorePath = options.jasmineCorePath;\n    }\n    if (options.stackFilter) {\n      stackFilter = options.stackFilter;\n    }\n  };\n\n  this.jasmineStarted = function(options) {\n    specCount = 0;\n    executableSpecCount = 0;\n    failureCount = 0;\n    if (options && options.order && options.order.random) {\n      print('Randomized with seed ' + options.order.seed);\n      printNewline();\n    }\n    print('Started');\n    printNewline();\n    timer.start();\n  };\n\n  this.jasmineDone = function(result) {\n    printNewline();\n    printNewline();\n    if(failedSpecs.length > 0) {\n      print('Failures:');\n    }\n    for (var i = 0; i < failedSpecs.length; i++) {\n      specFailureDetails(failedSpecs[i], i + 1);\n    }\n\n    for(i = 0; i < failedSuites.length; i++) {\n      suiteFailureDetails(failedSuites[i]);\n    }\n\n    if (result && result.failedExpectations && result.failedExpectations.length > 0) {\n      suiteFailureDetails(result);\n    }\n\n    if (pendingSpecs.length > 0) {\n      print(\"Pending:\");\n    }\n    for(i = 0; i < pendingSpecs.length; i++) {\n      pendingSpecDetails(pendingSpecs[i], i + 1);\n    }\n\n    if(specCount > 0) {\n      printNewline();\n\n      if(executableSpecCount !== specCount) {\n        print('Ran ' + executableSpecCount + ' of ' + specCount + plural(' spec', specCount));\n        printNewline();\n      }\n      var specCounts = executableSpecCount + ' ' + plural('spec', executableSpecCount) + ', ' +\n        failureCount + ' ' + plural('failure', failureCount);\n\n      if (pendingSpecs.length) {\n        specCounts += ', ' + pendingSpecs.length + ' pending ' + plural('spec', pendingSpecs.length);\n      }\n\n      print(specCounts);\n    } else {\n      print('No specs found');\n    }\n\n    printNewline();\n    var seconds = timer.elapsed() / 1000;\n    print('Finished in ' + seconds + ' ' + plural('second', seconds));\n    printNewline();\n\n    if (result && result.overallStatus === 'incomplete') {\n      print('Incomplete: ' + result.incompleteReason);\n      printNewline();\n    }\n\n    if (result && result.order && result.order.random) {\n      print('Randomized with seed ' + result.order.seed);\n      print(' (jasmine --random=true --seed=' + result.order.seed + ')');\n      printNewline();\n    }\n  };\n\n  this.specDone = function(result) {\n    specCount++;\n\n    if (result.status == 'pending') {\n      pendingSpecs.push(result);\n      executableSpecCount++;\n      print(colored('yellow', '*'));\n      return;\n    }\n\n    if (result.status == 'passed') {\n      executableSpecCount++;\n      print(colored('green', '.'));\n      return;\n    }\n\n    if (result.status == 'failed') {\n      failureCount++;\n      failedSpecs.push(result);\n      executableSpecCount++;\n      print(colored('red', 'F'));\n    }\n  };\n\n  this.suiteDone = function(result) {\n    if (result.failedExpectations && result.failedExpectations.length > 0) {\n      failureCount++;\n      failedSuites.push(result);\n    }\n  };\n\n  return this;\n\n  function printNewline() {\n    print('\\n');\n  }\n\n  function colored(color, str) {\n    return showColors ? (ansi[color] + str + ansi.none) : str;\n  }\n\n  function plural(str, count) {\n    return count == 1 ? str : str + 's';\n  }\n\n  function repeat(thing, times) {\n    var arr = [];\n    for (var i = 0; i < times; i++) {\n      arr.push(thing);\n    }\n    return arr;\n  }\n\n  function indent(str, spaces) {\n    var lines = (str || '').split('\\n');\n    var newArr = [];\n    for (var i = 0; i < lines.length; i++) {\n      newArr.push(repeat(' ', spaces).join('') + lines[i]);\n    }\n    return newArr.join('\\n');\n  }\n\n  function defaultStackFilter(stack) {\n    if (!stack) {\n      return '';\n    }\n\n    var filteredStack = stack.split('\\n').filter(function(stackLine) {\n      return stackLine.indexOf(jasmineCorePath) === -1;\n    }).join('\\n');\n    return filteredStack;\n  }\n\n  function specFailureDetails(result, failedSpecNumber) {\n    printNewline();\n    print(failedSpecNumber + ') ');\n    print(result.fullName);\n    printFailedExpectations(result);\n  }\n\n  function suiteFailureDetails(result) {\n    printNewline();\n    print('Suite error: ' + result.fullName);\n    printFailedExpectations(result);\n  }\n\n  function printFailedExpectations(result) {\n    for (var i = 0; i < result.failedExpectations.length; i++) {\n      var failedExpectation = result.failedExpectations[i];\n      printNewline();\n      print(indent('Message:', 2));\n      printNewline();\n      print(colored('red', indent(failedExpectation.message, 4)));\n      printNewline();\n      print(indent('Stack:', 2));\n      printNewline();\n      print(indent(stackFilter(failedExpectation.stack), 4));\n    }\n\n    printNewline();\n  }\n\n  function pendingSpecDetails(result, pendingSpecNumber) {\n    printNewline();\n    printNewline();\n    print(pendingSpecNumber + ') ');\n    print(result.fullName);\n    printNewline();\n    var pendingReason = \"No reason given\";\n    if (result.pendingReason && result.pendingReason !== '') {\n      pendingReason = result.pendingReason;\n    }\n    print(indent(colored('yellow', pendingReason), 2));\n    printNewline();\n  }\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/jasmine/files/jasmine-core/MIT.LICENSE",
    "content": "Copyright (c) 2008-2017 Pivotal Labs\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"
  },
  {
    "path": "plugins/tiddlywiki/jasmine/files/jasmine-core/lib/jasmine-core/boot.js",
    "content": "/*\nCopyright (c) 2008-2019 Pivotal Labs\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n/**\n Starting with version 2.0, this file \"boots\" Jasmine, performing all of the necessary initialization before executing the loaded environment and all of a project's specs. This file should be loaded after `jasmine.js` and `jasmine_html.js`, but before any project source files or spec files are loaded. Thus this file can also be used to customize Jasmine for a project.\n\n If a project is using Jasmine via the standalone distribution, this file can be customized directly. If a project is using Jasmine via the [Ruby gem][jasmine-gem], this file can be copied into the support directory via `jasmine copy_boot_js`. Other environments (e.g., Python) will have different mechanisms.\n\n The location of `boot.js` can be specified and/or overridden in `jasmine.yml`.\n\n [jasmine-gem]: http://github.com/pivotal/jasmine-gem\n */\n\n(function() {\n\n  /**\n   * ## Require &amp; Instantiate\n   *\n   * Require Jasmine's core files. Specifically, this requires and attaches all of Jasmine's code to the `jasmine` reference.\n   */\n  window.jasmine = jasmineRequire.core(jasmineRequire);\n\n  /**\n   * Since this is being run in a browser and the results should populate to an HTML page, require the HTML-specific Jasmine code, injecting the same reference.\n   */\n  jasmineRequire.html(jasmine);\n\n  /**\n   * Create the Jasmine environment. This is used to run all specs in a project.\n   */\n  var env = jasmine.getEnv();\n\n  /**\n   * ## The Global Interface\n   *\n   * Build up the functions that will be exposed as the Jasmine public interface. A project can customize, rename or alias any of these functions as desired, provided the implementation remains unchanged.\n   */\n  var jasmineInterface = jasmineRequire.interface(jasmine, env);\n\n  /**\n   * Add all of the Jasmine global/public interface to the global scope, so a project can use the public interface directly. For example, calling `describe` in specs instead of `jasmine.getEnv().describe`.\n   */\n  extend(window, jasmineInterface);\n\n  /**\n   * ## Runner Parameters\n   *\n   * More browser specific code - wrap the query string in an object and to allow for getting/setting parameters from the runner user interface.\n   */\n\n  var queryString = new jasmine.QueryString({\n    getWindowLocation: function() { return window.location; }\n  });\n\n  var filterSpecs = !!queryString.getParam(\"spec\");\n\n  var config = {\n    failFast: queryString.getParam(\"failFast\"),\n    oneFailurePerSpec: queryString.getParam(\"oneFailurePerSpec\"),\n    hideDisabled: queryString.getParam(\"hideDisabled\")\n  };\n\n  var random = queryString.getParam(\"random\");\n\n  if (random !== undefined && random !== \"\") {\n    config.random = random;\n  }\n\n  var seed = queryString.getParam(\"seed\");\n  if (seed) {\n    config.seed = seed;\n  }\n\n  /**\n   * ## Reporters\n   * The `HtmlReporter` builds all of the HTML UI for the runner page. This reporter paints the dots, stars, and x's for specs, as well as all spec names and all failures (if any).\n   */\n  var htmlReporter = new jasmine.HtmlReporter({\n    env: env,\n    navigateWithNewParam: function(key, value) { return queryString.navigateWithNewParam(key, value); },\n    addToExistingQueryString: function(key, value) { return queryString.fullStringWithNewParam(key, value); },\n    getContainer: function() { return document.body; },\n    createElement: function() { return document.createElement.apply(document, arguments); },\n    createTextNode: function() { return document.createTextNode.apply(document, arguments); },\n    timer: new jasmine.Timer(),\n    filterSpecs: filterSpecs\n  });\n\n  /**\n   * The `jsApiReporter` also receives spec results, and is used by any environment that needs to extract the results  from JavaScript.\n   */\n  env.addReporter(jasmineInterface.jsApiReporter);\n  env.addReporter(htmlReporter);\n\n  /**\n   * Filter which specs will be run by matching the start of the full name against the `spec` query param.\n   */\n  var specFilter = new jasmine.HtmlSpecFilter({\n    filterString: function() { return queryString.getParam(\"spec\"); }\n  });\n\n  config.specFilter = function(spec) {\n    return specFilter.matches(spec.getFullName());\n  };\n\n  env.configure(config);\n\n  /**\n   * Setting up timing functions to be able to be overridden. Certain browsers (Safari, IE 8, phantomjs) require this hack.\n   */\n  window.setTimeout = window.setTimeout;\n  window.setInterval = window.setInterval;\n  window.clearTimeout = window.clearTimeout;\n  window.clearInterval = window.clearInterval;\n\n  /**\n   * ## Execution\n   *\n   * Replace the browser window's `onload`, ensure it's called, and then run all of the loaded specs. This includes initializing the `HtmlReporter` instance and then executing the loaded Jasmine environment. All of this will happen after all of the specs are loaded.\n   */\n  var currentWindowOnload = window.onload;\n\n  window.onload = function() {\n    if (currentWindowOnload) {\n      currentWindowOnload();\n    }\n    htmlReporter.initialize();\n    env.execute();\n  };\n\n  /**\n   * Helper function for readability above.\n   */\n  function extend(destination, source) {\n    for (var property in source) destination[property] = source[property];\n    return destination;\n  }\n\n}());\n"
  },
  {
    "path": "plugins/tiddlywiki/jasmine/files/jasmine-core/lib/jasmine-core/jasmine-html.js",
    "content": "/*\nCopyright (c) 2008-2019 Pivotal Labs\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\njasmineRequire.html = function(j$) {\n  j$.ResultsNode = jasmineRequire.ResultsNode();\n  j$.HtmlReporter = jasmineRequire.HtmlReporter(j$);\n  j$.QueryString = jasmineRequire.QueryString();\n  j$.HtmlSpecFilter = jasmineRequire.HtmlSpecFilter();\n};\n\njasmineRequire.HtmlReporter = function(j$) {\n  function ResultsStateBuilder() {\n    this.topResults = new j$.ResultsNode({}, '', null);\n    this.currentParent = this.topResults;\n    this.specsExecuted = 0;\n    this.failureCount = 0;\n    this.pendingSpecCount = 0;\n  }\n\n  ResultsStateBuilder.prototype.suiteStarted = function(result) {\n    this.currentParent.addChild(result, 'suite');\n    this.currentParent = this.currentParent.last();\n  };\n\n  ResultsStateBuilder.prototype.suiteDone = function(result) {\n    this.currentParent.updateResult(result);\n    if (this.currentParent !== this.topResults) {\n      this.currentParent = this.currentParent.parent;\n    }\n\n    if (result.status === 'failed') {\n      this.failureCount++;\n    }\n  };\n\n  ResultsStateBuilder.prototype.specStarted = function(result) {\n  };\n\n  ResultsStateBuilder.prototype.specDone = function(result) {\n    this.currentParent.addChild(result, 'spec');\n\n    if (result.status !== 'excluded') {\n      this.specsExecuted++;\n    }\n\n    if (result.status === 'failed') {\n      this.failureCount++;\n    }\n\n    if (result.status == 'pending') {\n      this.pendingSpecCount++;\n    }\n  };\n\n\n\n  function HtmlReporter(options) {\n    var config = function() { return (options.env && options.env.configuration()) || {}; },\n      getContainer = options.getContainer,\n      createElement = options.createElement,\n      createTextNode = options.createTextNode,\n      navigateWithNewParam = options.navigateWithNewParam || function() {},\n      addToExistingQueryString = options.addToExistingQueryString || defaultQueryString,\n      filterSpecs = options.filterSpecs,\n      timer = options.timer || j$.noopTimer,\n      htmlReporterMain,\n      symbols,\n      deprecationWarnings = [];\n\n    this.initialize = function() {\n      clearPrior();\n      htmlReporterMain = createDom('div', {className: 'jasmine_html-reporter'},\n        createDom('div', {className: 'jasmine-banner'},\n          createDom('a', {className: 'jasmine-title', href: 'http://jasmine.github.io/', target: '_blank'}),\n          createDom('span', {className: 'jasmine-version'}, j$.version)\n        ),\n        createDom('ul', {className: 'jasmine-symbol-summary'}),\n        createDom('div', {className: 'jasmine-alert'}),\n        createDom('div', {className: 'jasmine-results'},\n          createDom('div', {className: 'jasmine-failures'})\n        )\n      );\n      getContainer().appendChild(htmlReporterMain);\n    };\n\n    var totalSpecsDefined;\n    this.jasmineStarted = function(options) {\n      totalSpecsDefined = options.totalSpecsDefined || 0;\n      timer.start();\n    };\n\n    var summary = createDom('div', {className: 'jasmine-summary'});\n\n    var stateBuilder = new ResultsStateBuilder();\n\n    this.suiteStarted = function(result) {\n      stateBuilder.suiteStarted(result);\n    };\n\n    this.suiteDone = function(result) {\n      stateBuilder.suiteDone(result);\n\n      if (result.status === 'failed') {\n        failures.push(failureDom(result));\n      }\n      addDeprecationWarnings(result);\n    };\n\n    this.specStarted = function(result) {\n      stateBuilder.specStarted(result);\n    };\n\n    var failures = [];\n    this.specDone = function(result) {\n      stateBuilder.specDone(result);\n\n      if(noExpectations(result) && typeof console !== 'undefined' && typeof console.error !== 'undefined') {\n        console.error('Spec \\'' + result.fullName + '\\' has no expectations.');\n      }\n\n      if (!symbols){\n        symbols = find('.jasmine-symbol-summary');\n      }\n\n      symbols.appendChild(createDom('li', {\n          className: this.displaySpecInCorrectFormat(result),\n          id: 'spec_' + result.id,\n          title: result.fullName\n        }\n      ));\n\n      if (result.status === 'failed') {\n        failures.push(failureDom(result));\n      }\n\n      addDeprecationWarnings(result);\n    };\n\n    this.displaySpecInCorrectFormat = function(result) {\n      return noExpectations(result) ? 'jasmine-empty' : this.resultStatus(result.status);\n    };\n\n    this.resultStatus = function(status) {\n      if(status === 'excluded') {\n        return config().hideDisabled ? 'jasmine-excluded-no-display' : 'jasmine-excluded';\n      }\n      return 'jasmine-' + status;\n    };\n\n    this.jasmineDone = function(doneResult) {\n      var banner = find('.jasmine-banner');\n      var alert = find('.jasmine-alert');\n      var order = doneResult && doneResult.order;\n      var i;\n      alert.appendChild(createDom('span', {className: 'jasmine-duration'}, 'finished in ' + timer.elapsed() / 1000 + 's'));\n\n      banner.appendChild(optionsMenu(config()));\n\n      if (stateBuilder.specsExecuted < totalSpecsDefined) {\n        var skippedMessage = 'Ran ' + stateBuilder.specsExecuted + ' of ' + totalSpecsDefined + ' specs - run all';\n        var skippedLink = addToExistingQueryString('spec', '');\n        alert.appendChild(\n          createDom('span', {className: 'jasmine-bar jasmine-skipped'},\n            createDom('a', {href: skippedLink, title: 'Run all specs'}, skippedMessage)\n          )\n        );\n      }\n      var statusBarMessage = '';\n      var statusBarClassName = 'jasmine-overall-result jasmine-bar ';\n      var globalFailures = (doneResult && doneResult.failedExpectations) || [];\n      var failed = stateBuilder.failureCount + globalFailures.length > 0;\n\n      if (totalSpecsDefined > 0 || failed) {\n        statusBarMessage += pluralize('spec', stateBuilder.specsExecuted) + ', ' + pluralize('failure', stateBuilder.failureCount);\n        if (stateBuilder.pendingSpecCount) { statusBarMessage += ', ' + pluralize('pending spec', stateBuilder.pendingSpecCount); }\n      }\n\n      if (doneResult.overallStatus === 'passed') {\n        statusBarClassName += ' jasmine-passed ';\n      } else if (doneResult.overallStatus === 'incomplete') {\n        statusBarClassName += ' jasmine-incomplete ';\n        statusBarMessage = 'Incomplete: ' + doneResult.incompleteReason + ', ' + statusBarMessage;\n      } else {\n        statusBarClassName += ' jasmine-failed ';\n      }\n\n      var seedBar;\n      if (order && order.random) {\n        seedBar = createDom('span', {className: 'jasmine-seed-bar'},\n          ', randomized with seed ',\n          createDom('a', {title: 'randomized with seed ' + order.seed, href: seedHref(order.seed)}, order.seed)\n        );\n      }\n\n      alert.appendChild(createDom('span', {className: statusBarClassName}, statusBarMessage, seedBar));\n\n      var errorBarClassName = 'jasmine-bar jasmine-errored';\n      var afterAllMessagePrefix = 'AfterAll ';\n\n      for(i = 0; i < globalFailures.length; i++) {\n        alert.appendChild(createDom('span', {className: errorBarClassName}, globalFailureMessage(globalFailures[i])));\n      }\n\n      function globalFailureMessage(failure) {\n        if (failure.globalErrorType === 'load') {\n          var prefix = 'Error during loading: ' + failure.message;\n\n          if (failure.filename) {\n            return prefix + ' in ' + failure.filename + ' line ' + failure.lineno;\n          } else {\n            return prefix;\n          }\n        } else {\n          return afterAllMessagePrefix + failure.message;\n        }\n      }\n\n      addDeprecationWarnings(doneResult);\n\n      var warningBarClassName = 'jasmine-bar jasmine-warning';\n      for(i = 0; i < deprecationWarnings.length; i++) {\n        var warning = deprecationWarnings[i];\n        alert.appendChild(createDom('span', {className: warningBarClassName}, 'DEPRECATION: ' + warning));\n      }\n\n      var results = find('.jasmine-results');\n      results.appendChild(summary);\n\n      summaryList(stateBuilder.topResults, summary);\n\n      if (failures.length) {\n        alert.appendChild(\n          createDom('span', {className: 'jasmine-menu jasmine-bar jasmine-spec-list'},\n            createDom('span', {}, 'Spec List | '),\n            createDom('a', {className: 'jasmine-failures-menu', href: '#'}, 'Failures')));\n        alert.appendChild(\n          createDom('span', {className: 'jasmine-menu jasmine-bar jasmine-failure-list'},\n            createDom('a', {className: 'jasmine-spec-list-menu', href: '#'}, 'Spec List'),\n            createDom('span', {}, ' | Failures ')));\n\n        find('.jasmine-failures-menu').onclick = function() {\n          setMenuModeTo('jasmine-failure-list');\n        };\n        find('.jasmine-spec-list-menu').onclick = function() {\n          setMenuModeTo('jasmine-spec-list');\n        };\n\n        setMenuModeTo('jasmine-failure-list');\n\n        var failureNode = find('.jasmine-failures');\n        for (i = 0; i < failures.length; i++) {\n          failureNode.appendChild(failures[i]);\n        }\n      }\n    };\n\n    return this;\n\n    function failureDom(result) {\n      var failure =\n        createDom('div', {className: 'jasmine-spec-detail jasmine-failed'},\n          failureDescription(result, stateBuilder.currentParent),\n          createDom('div', {className: 'jasmine-messages'})\n        );\n      var messages = failure.childNodes[1];\n\n      for (var i = 0; i < result.failedExpectations.length; i++) {\n        var expectation = result.failedExpectations[i];\n        messages.appendChild(createDom('div', {className: 'jasmine-result-message'}, expectation.message));\n        messages.appendChild(createDom('div', {className: 'jasmine-stack-trace'}, expectation.stack));\n      }\n\n      return failure;\n    }\n\n    function summaryList(resultsTree, domParent) {\n      var specListNode;\n      for (var i = 0; i < resultsTree.children.length; i++) {\n        var resultNode = resultsTree.children[i];\n        if (filterSpecs && !hasActiveSpec(resultNode)) {\n          continue;\n        }\n        if (resultNode.type === 'suite') {\n          var suiteListNode = createDom('ul', {className: 'jasmine-suite', id: 'suite-' + resultNode.result.id},\n            createDom('li', {className: 'jasmine-suite-detail jasmine-' + resultNode.result.status},\n              createDom('a', {href: specHref(resultNode.result)}, resultNode.result.description)\n            )\n          );\n\n          summaryList(resultNode, suiteListNode);\n          domParent.appendChild(suiteListNode);\n        }\n        if (resultNode.type === 'spec') {\n          if (domParent.getAttribute('class') !== 'jasmine-specs') {\n            specListNode = createDom('ul', {className: 'jasmine-specs'});\n            domParent.appendChild(specListNode);\n          }\n          var specDescription = resultNode.result.description;\n          if(noExpectations(resultNode.result)) {\n            specDescription = 'SPEC HAS NO EXPECTATIONS ' + specDescription;\n          }\n          if(resultNode.result.status === 'pending' && resultNode.result.pendingReason !== '') {\n            specDescription = specDescription + ' PENDING WITH MESSAGE: ' + resultNode.result.pendingReason;\n          }\n          specListNode.appendChild(\n            createDom('li', {\n                className: 'jasmine-' + resultNode.result.status,\n                id: 'spec-' + resultNode.result.id\n              },\n              createDom('a', {href: specHref(resultNode.result)}, specDescription)\n            )\n          );\n        }\n      }\n    }\n\n    function optionsMenu(config) {\n      var optionsMenuDom = createDom('div', { className: 'jasmine-run-options' },\n        createDom('span', { className: 'jasmine-trigger' }, 'Options'),\n        createDom('div', { className: 'jasmine-payload' },\n          createDom('div', { className: 'jasmine-stop-on-failure' },\n            createDom('input', {\n              className: 'jasmine-fail-fast',\n              id: 'jasmine-fail-fast',\n              type: 'checkbox'\n            }),\n            createDom('label', { className: 'jasmine-label', 'for': 'jasmine-fail-fast' }, 'stop execution on spec failure')),\n          createDom('div', { className: 'jasmine-throw-failures' },\n            createDom('input', {\n              className: 'jasmine-throw',\n              id: 'jasmine-throw-failures',\n              type: 'checkbox'\n            }),\n            createDom('label', { className: 'jasmine-label', 'for': 'jasmine-throw-failures' }, 'stop spec on expectation failure')),\n          createDom('div', { className: 'jasmine-random-order' },\n            createDom('input', {\n              className: 'jasmine-random',\n              id: 'jasmine-random-order',\n              type: 'checkbox'\n            }),\n            createDom('label', { className: 'jasmine-label', 'for': 'jasmine-random-order' }, 'run tests in random order')),\n          createDom('div', { className: 'jasmine-hide-disabled' },\n            createDom('input', {\n              className: 'jasmine-disabled',\n              id: 'jasmine-hide-disabled',\n              type: 'checkbox'\n            }),\n            createDom('label', { className: 'jasmine-label', 'for': 'jasmine-hide-disabled' }, 'hide disabled tests'))\n        )\n      );\n\n      var failFastCheckbox = optionsMenuDom.querySelector('#jasmine-fail-fast');\n      failFastCheckbox.checked = config.failFast;\n      failFastCheckbox.onclick = function() {\n        navigateWithNewParam('failFast', !config.failFast);\n      };\n\n      var throwCheckbox = optionsMenuDom.querySelector('#jasmine-throw-failures');\n      throwCheckbox.checked = config.oneFailurePerSpec;\n      throwCheckbox.onclick = function() {\n        navigateWithNewParam('throwFailures', !config.oneFailurePerSpec);\n      };\n\n      var randomCheckbox = optionsMenuDom.querySelector('#jasmine-random-order');\n      randomCheckbox.checked = config.random;\n      randomCheckbox.onclick = function() {\n        navigateWithNewParam('random', !config.random);\n      };\n\n      var hideDisabled = optionsMenuDom.querySelector('#jasmine-hide-disabled');\n      hideDisabled.checked = config.hideDisabled;\n      hideDisabled.onclick = function() {\n        navigateWithNewParam('hideDisabled', !config.hideDisabled);\n      };\n\n      var optionsTrigger = optionsMenuDom.querySelector('.jasmine-trigger'),\n        optionsPayload = optionsMenuDom.querySelector('.jasmine-payload'),\n        isOpen = /\\bjasmine-open\\b/;\n\n      optionsTrigger.onclick = function() {\n        if (isOpen.test(optionsPayload.className)) {\n          optionsPayload.className = optionsPayload.className.replace(isOpen, '');\n        } else {\n          optionsPayload.className += ' jasmine-open';\n        }\n      };\n\n      return optionsMenuDom;\n    }\n\n    function failureDescription(result, suite) {\n      var wrapper = createDom('div', {className: 'jasmine-description'},\n        createDom('a', {title: result.description, href: specHref(result)}, result.description)\n      );\n      var suiteLink;\n\n      while (suite && suite.parent) {\n        wrapper.insertBefore(createTextNode(' > '), wrapper.firstChild);\n        suiteLink = createDom('a', {href: suiteHref(suite)}, suite.result.description);\n        wrapper.insertBefore(suiteLink, wrapper.firstChild);\n\n        suite = suite.parent;\n      }\n\n      return wrapper;\n    }\n\n    function suiteHref(suite) {\n      var els = [];\n\n      while (suite && suite.parent) {\n        els.unshift(suite.result.description);\n        suite = suite.parent;\n      }\n\n      return addToExistingQueryString('spec', els.join(' '));\n    }\n\n    function addDeprecationWarnings(result) {\n      if (result && result.deprecationWarnings) {\n        for(var i = 0; i < result.deprecationWarnings.length; i++) {\n          var warning = result.deprecationWarnings[i].message;\n          if (!j$.util.arrayContains(warning)) {\n            deprecationWarnings.push(warning);\n          }\n        }\n      }\n    }\n\n    function find(selector) {\n      return getContainer().querySelector('.jasmine_html-reporter ' + selector);\n    }\n\n    function clearPrior() {\n      // return the reporter\n      var oldReporter = find('');\n\n      if(oldReporter) {\n        getContainer().removeChild(oldReporter);\n      }\n    }\n\n    function createDom(type, attrs, childrenVarArgs) {\n      var el = createElement(type);\n\n      for (var i = 2; i < arguments.length; i++) {\n        var child = arguments[i];\n\n        if (typeof child === 'string') {\n          el.appendChild(createTextNode(child));\n        } else {\n          if (child) {\n            el.appendChild(child);\n          }\n        }\n      }\n\n      for (var attr in attrs) {\n        if (attr == 'className') {\n          el[attr] = attrs[attr];\n        } else {\n          el.setAttribute(attr, attrs[attr]);\n        }\n      }\n\n      return el;\n    }\n\n    function pluralize(singular, count) {\n      var word = (count == 1 ? singular : singular + 's');\n\n      return '' + count + ' ' + word;\n    }\n\n    function specHref(result) {\n      return addToExistingQueryString('spec', result.fullName);\n    }\n\n    function seedHref(seed) {\n      return addToExistingQueryString('seed', seed);\n    }\n\n    function defaultQueryString(key, value) {\n      return '?' + key + '=' + value;\n    }\n\n    function setMenuModeTo(mode) {\n      htmlReporterMain.setAttribute('class', 'jasmine_html-reporter ' + mode);\n    }\n\n    function noExpectations(result) {\n      return (result.failedExpectations.length + result.passedExpectations.length) === 0 &&\n        result.status === 'passed';\n    }\n\n    function hasActiveSpec(resultNode) {\n      if (resultNode.type == 'spec' && resultNode.result.status != 'excluded') {\n        return true;\n      }\n\n      if (resultNode.type == 'suite') {\n        for (var i = 0, j = resultNode.children.length; i < j; i++) {\n          if (hasActiveSpec(resultNode.children[i])) {\n            return true;\n          }\n        }\n      }\n    }\n  }\n\n  return HtmlReporter;\n};\n\njasmineRequire.HtmlSpecFilter = function() {\n  function HtmlSpecFilter(options) {\n    var filterString = options && options.filterString() && options.filterString().replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n    var filterPattern = new RegExp(filterString);\n\n    this.matches = function(specName) {\n      return filterPattern.test(specName);\n    };\n  }\n\n  return HtmlSpecFilter;\n};\n\njasmineRequire.ResultsNode = function() {\n  function ResultsNode(result, type, parent) {\n    this.result = result;\n    this.type = type;\n    this.parent = parent;\n\n    this.children = [];\n\n    this.addChild = function(result, type) {\n      this.children.push(new ResultsNode(result, type, this));\n    };\n\n    this.last = function() {\n      return this.children[this.children.length - 1];\n    };\n\n    this.updateResult = function(result) {\n      this.result = result;\n    };\n  }\n\n  return ResultsNode;\n};\n\njasmineRequire.QueryString = function() {\n  function QueryString(options) {\n\n    this.navigateWithNewParam = function(key, value) {\n      options.getWindowLocation().search = this.fullStringWithNewParam(key, value);\n    };\n\n    this.fullStringWithNewParam = function(key, value) {\n      var paramMap = queryStringToParamMap();\n      paramMap[key] = value;\n      return toQueryString(paramMap);\n    };\n\n    this.getParam = function(key) {\n      return queryStringToParamMap()[key];\n    };\n\n    return this;\n\n    function toQueryString(paramMap) {\n      var qStrPairs = [];\n      for (var prop in paramMap) {\n        qStrPairs.push(encodeURIComponent(prop) + '=' + encodeURIComponent(paramMap[prop]));\n      }\n      return '?' + qStrPairs.join('&');\n    }\n\n    function queryStringToParamMap() {\n      var paramStr = options.getWindowLocation().search.substring(1),\n        params = [],\n        paramMap = {};\n\n      if (paramStr.length > 0) {\n        params = paramStr.split('&');\n        for (var i = 0; i < params.length; i++) {\n          var p = params[i].split('=');\n          var value = decodeURIComponent(p[1]);\n          if (value === 'true' || value === 'false') {\n            value = JSON.parse(value);\n          }\n          paramMap[decodeURIComponent(p[0])] = value;\n        }\n      }\n\n      return paramMap;\n    }\n\n  }\n\n  return QueryString;\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/jasmine/files/jasmine-core/lib/jasmine-core/jasmine.css",
    "content": "@charset \"UTF-8\";\nbody { overflow-y: scroll; }\n\n.jasmine_html-reporter { background-color: #eee; padding: 5px; margin: -8px; font-size: 11px; font-family: Monaco, \"Lucida Console\", monospace; line-height: 14px; color: #333; }\n\n.jasmine_html-reporter a { text-decoration: none; }\n\n.jasmine_html-reporter a:hover { text-decoration: underline; }\n\n.jasmine_html-reporter p, .jasmine_html-reporter h1, .jasmine_html-reporter h2, .jasmine_html-reporter h3, .jasmine_html-reporter h4, .jasmine_html-reporter h5, .jasmine_html-reporter h6 { margin: 0; line-height: 14px; }\n\n.jasmine_html-reporter .jasmine-banner, .jasmine_html-reporter .jasmine-symbol-summary, .jasmine_html-reporter .jasmine-summary, .jasmine_html-reporter .jasmine-result-message, .jasmine_html-reporter .jasmine-spec .jasmine-description, .jasmine_html-reporter .jasmine-spec-detail .jasmine-description, .jasmine_html-reporter .jasmine-alert .jasmine-bar, .jasmine_html-reporter .jasmine-stack-trace { padding-left: 9px; padding-right: 9px; }\n\n.jasmine_html-reporter .jasmine-banner { position: relative; }\n\n.jasmine_html-reporter .jasmine-banner .jasmine-title { background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFoAAAAZCAMAAACGusnyAAACdlBMVEX/////AP+AgICqVaqAQICZM5mAVYCSSZKAQICOOY6ATYCLRouAQICJO4mSSYCIRIiPQICHPIeOR4CGQ4aMQICGPYaLRoCFQ4WKQICPPYWJRYCOQoSJQICNPoSIRICMQoSHQICHRICKQoOHQICKPoOJO4OJQYOMQICMQ4CIQYKLQICIPoKLQ4CKQICNPoKJQISMQ4KJQoSLQYKJQISLQ4KIQoSKQYKIQICIQISMQoSKQYKLQIOLQoOJQYGLQIOKQIOMQoGKQYOLQYGKQIOLQoGJQYOJQIOKQYGJQIOKQoGKQIGLQIKLQ4KKQoGLQYKJQIGKQYKJQIGKQIKJQoGKQYKLQIGKQYKLQIOJQoKKQoOJQYKKQIOJQoKKQoOKQIOLQoKKQYOLQYKJQIOKQoKKQYKKQoKJQYOKQYKLQIOKQoKLQYOKQYKLQIOJQoGKQYKJQYGJQoGKQYKLQoGLQYGKQoGJQYKKQYGJQIKKQoGJQYKLQIKKQYGLQYKKQYGKQYGKQYKJQYOKQoKJQYOKQYKLQYOLQYOKQYKLQYOKQoKKQYKKQYOKQYOJQYKKQYKLQYKKQIKKQoKKQYKKQYKKQoKJQIKKQYKLQYKKQYKKQIKKQYKKQYKKQYKKQIKKQYKJQYGLQYGKQYKKQYKKQYGKQIKKQYGKQYOJQoKKQYOLQYKKQYOKQoKKQYKKQoKKQYKKQYKJQYKLQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKJQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKLQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKmIDpEAAAA0XRSTlMAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAiIyQlJycoKissLS4wMTQ1Njc4OTo7PDw+P0BCQ0RISUpLTE1OUFNUVVdYWFlaW15fYGFiY2ZnaGlqa2xtb3BxcnN0dnh5ent8fX5/gIGChIWIioyNjo+QkZOUlZaYmZqbnJ2eoKGio6WmqKmsra6vsLGztre4ubq7vL2+wMHDxMjJysvNzs/Q0dLU1tfY2dvc3t/g4eLj5ebn6Onq6+zt7u/w8vP09fb3+Pn6+/z9/vkVQXAAAAMaSURBVHhe5dXxV1N1GMfxz2ABbDgIAm5VDJOyVDIJLUMaVpBWUZUaGbmqoGpZRSiGiRWp6KoZ5AB0ZY50RImZQIlahKkMYXv/R90dBvET/rJfOr3Ouc8v99zPec59zvf56j+vYKlViSf7250X4Mr3O29Tgq08BdGB4DhcekEJ5YkQKFsgWZdtj9JpV+I8xPjLFqkrsEIqO8PHSpis36jWazcqjEsfJjkvRssVU37SdIOu4XCf5vEJPsnwJpnRNU9JmxhMk8l1gehIrq7hTFjzOD+Vf88629qKMJVNltInFeRexRQyJlNeqd1iGDlSzrIUIyXbyFfm3RYprcQRe7lqtWyGYbfc6dT0R2vmdOOkX3u55C1rP37ftiH+tDby4r/RBT0w8TyEkr+epB9XgPDmSYYWbrhCuFYaIyw3fDQAXTnSkh+ANofiHmWf9l+FY1I90FdQTetstO00o23novzVsJ7uB3/C5TkbjRwZ5JerwV4iRWq9HFbFMaK/d0TYqayRiQPuIxxS3Bu8JWU90/60tKi7vkhaznez0a/TbVOKj5CaOZh6fWG6/Lyv9B/ZLR1gw/S/fpbeVD3MCW1li6SvWDOn65tr99/uvWtBS0XDm4s1t+sOHpG0kpBKx/l77wOSnxLpcx6TXmXLTPQOKYOf9Q1dfr8/SJ2mFdCvl1Yl93DiHUZvXeLJbGSzYu5gVJ2slbSakOR8dxCq5adQ2oFLqsE9Ex3L4qQO0eOPeU5x56bypXp4onSEb5OkICX6lDat55TeoztNKQcJaakrz9KCb95oD69IKq+yKW4XPjknaS52V0TZqE2cTtXjcHSCRmUO88e+85hj3EP74i9p8pylw7lxgMDyyl6OV7ZejnjNMfatu87LxRbH0IS35gt2a4ZjmGpVBdKK3Wr6INk8jWWSGqbA55CKgjBRC6E9w78ydTg3ABS3AFV1QN0Y4Aa2pgEjWnQURj9L0ayK6R2ysEqxHUKzYnLvvyU+i9KM2JHJzE4vyZOyDcOwOsySajeLPc8sNvPJkFlyJd20wpqAzZeAfZ3oWybxd+P/3j+SG3uSBdf2VQAAAABJRU5ErkJggg==\") no-repeat; background: url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmVyc2lvbj0iMS4xIgogICB3aWR0aD0iNjgxLjk2MjUyIgogICBoZWlnaHQ9IjE4Ny41IgogICBpZD0ic3ZnMiIKICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhOCI+PHJkZjpSREY+PGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPjxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PjxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz48L2NjOldvcms+PC9yZGY6UkRGPjwvbWV0YWRhdGE+PGRlZnMKICAgICBpZD0iZGVmczYiPjxjbGlwUGF0aAogICAgICAgaWQ9ImNsaXBQYXRoMTgiPjxwYXRoCiAgICAgICAgIGQ9Ik0gMCwxNTAwIDAsMCBsIDU0NTUuNzQsMCAwLDE1MDAgTCAwLDE1MDAgeiIKICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgaWQ9InBhdGgyMCIgLz48L2NsaXBQYXRoPjwvZGVmcz48ZwogICAgIHRyYW5zZm9ybT0ibWF0cml4KDEuMjUsMCwwLC0xLjI1LDAsMTg3LjUpIgogICAgIGlkPSJnMTAiPjxnCiAgICAgICB0cmFuc2Zvcm09InNjYWxlKDAuMSwwLjEpIgogICAgICAgaWQ9ImcxMiI+PGcKICAgICAgICAgaWQ9ImcxNCI+PGcKICAgICAgICAgICBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgxOCkiCiAgICAgICAgICAgaWQ9ImcxNiI+PHBhdGgKICAgICAgICAgICAgIGQ9Im0gMTU0NCw1OTkuNDM0IGMgMC45MiwtNDAuMzUyIDI1LjY4LC04MS42MDIgNzEuNTMsLTgxLjYwMiAyNy41MSwwIDQ3LjY4LDEyLjgzMiA2MS40NCwzNS43NTQgMTIuODMsMjIuOTMgMTIuODMsNTYuODUyIDEyLjgzLDgyLjUyNyBsIDAsMzI5LjE4NCAtNzEuNTIsMCAwLDEwNC41NDMgMjY2LjgzLDAgMCwtMTA0LjU0MyAtNzAuNiwwIDAsLTM0NC43NyBjIDAsLTU4LjY5MSAtMy42OCwtMTA0LjUzMSAtNDQuOTMsLTE1Mi4yMTggLTM2LjY4LC00Mi4xOCAtOTYuMjgsLTY2LjAyIC0xNTMuMTQsLTY2LjAyIC0xMTcuMzcsMCAtMjA3LjI0LDc3Ljk0MSAtMjAyLjY0LDE5Ny4xNDUgbCAxMzAuMiwwIgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoMjIiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDIzMDEuNCw2NjIuNjk1IGMgMCw4MC43MDMgLTY2Ljk0LDE0NS44MTMgLTE0Ny42MywxNDUuODEzIC04My40NCwwIC0xNDcuNjMsLTY4Ljc4MSAtMTQ3LjYzLC0xNTEuMzAxIDAsLTc5Ljc4NSA2Ni45NCwtMTQ1LjgwMSAxNDUuOCwtMTQ1LjgwMSA4NC4zNSwwIDE0OS40Niw2Ny44NTIgMTQ5LjQ2LDE1MS4yODkgeiBtIC0xLjgzLC0xODEuNTQ3IGMgLTM1Ljc3LC01NC4wOTcgLTkzLjUzLC03OC44NTkgLTE1Ny43MiwtNzguODU5IC0xNDAuMywwIC0yNTEuMjQsMTE2LjQ0OSAtMjUxLjI0LDI1NC45MTggMCwxNDIuMTI5IDExMy43LDI2MC40MSAyNTYuNzQsMjYwLjQxIDYzLjI3LDAgMTE4LjI5LC0yOS4zMzYgMTUyLjIyLC04Mi41MjMgbCAwLDY5LjY4NyAxNzUuMTQsMCAwLC0xMDQuNTI3IC02MS40NCwwIDAsLTI4MC41OTggNjEuNDQsMCAwLC0xMDQuNTI3IC0xNzUuMTQsMCAwLDY2LjAxOSIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDI0IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSAyNjIyLjMzLDU1Ny4yNTggYyAzLjY3LC00NC4wMTYgMzMuMDEsLTczLjM0OCA3OC44NiwtNzMuMzQ4IDMzLjkzLDAgNjYuOTMsMjMuODI0IDY2LjkzLDYwLjUwNCAwLDQ4LjYwNiAtNDUuODQsNTYuODU2IC04My40NCw2Ni45NDEgLTg1LjI4LDIyLjAwNCAtMTc4LjgxLDQ4LjYwNiAtMTc4LjgxLDE1NS44NzkgMCw5My41MzYgNzguODYsMTQ3LjYzMyAxNjUuOTgsMTQ3LjYzMyA0NCwwIDgzLjQzLC05LjE3NiAxMTAuOTQsLTQ0LjAwOCBsIDAsMzMuOTIyIDgyLjUzLDAgMCwtMTMyLjk2NSAtMTA4LjIxLDAgYyAtMS44MywzNC44NTYgLTI4LjQyLDU3Ljc3NCAtNjMuMjYsNTcuNzc0IC0zMC4yNiwwIC02Mi4zNSwtMTcuNDIyIC02Mi4zNSwtNTEuMzQ4IDAsLTQ1Ljg0NyA0NC45MywtNTUuOTMgODAuNjksLTY0LjE4IDg4LjAyLC0yMC4xNzUgMTgyLjQ3LC00Ny42OTUgMTgyLjQ3LC0xNTcuNzM0IDAsLTk5LjAyNyAtODMuNDQsLTE1NC4wMzkgLTE3NS4xMywtMTU0LjAzOSAtNDkuNTMsMCAtOTQuNDYsMTUuNTgyIC0xMjYuNTUsNTMuMTggbCAwLC00MC4zNCAtODUuMjcsMCAwLDE0Mi4xMjkgMTE0LjYyLDAiCiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICAgICAgaWQ9InBhdGgyNiIKICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiM4YTQxODI7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIC8+PHBhdGgKICAgICAgICAgICAgIGQ9Im0gMjk4OC4xOCw4MDAuMjU0IC02My4yNiwwIDAsMTA0LjUyNyAxNjUuMDUsMCAwLC03My4zNTUgYyAzMS4xOCw1MS4zNDcgNzguODYsODUuMjc3IDE0MS4yMSw4NS4yNzcgNjcuODUsMCAxMjQuNzEsLTQxLjI1OCAxNTIuMjEsLTEwMi42OTkgMjYuNiw2Mi4zNTEgOTIuNjIsMTAyLjY5OSAxNjAuNDcsMTAyLjY5OSA1My4xOSwwIDEwNS40NiwtMjIgMTQxLjIxLC02Mi4zNTEgMzguNTIsLTQ0LjkzOCAzOC41MiwtOTMuNTMyIDM4LjUyLC0xNDkuNDU3IGwgMCwtMTg1LjIzOSA2My4yNywwIDAsLTEwNC41MjcgLTIzOC40MiwwIDAsMTA0LjUyNyA2My4yOCwwIDAsMTU3LjcxNSBjIDAsMzIuMTAyIDAsNjAuNTI3IC0xNC42Nyw4OC45NTcgLTE4LjM0LDI2LjU4MiAtNDguNjEsNDAuMzQ0IC03OS43Nyw0MC4zNDQgLTMwLjI2LDAgLTYzLjI4LC0xMi44NDQgLTgyLjUzLC0zNi42NzIgLTIyLjkzLC0yOS4zNTUgLTIyLjkzLC01Ni44NjMgLTIyLjkzLC05Mi42MjkgbCAwLC0xNTcuNzE1IDYzLjI3LDAgMCwtMTA0LjUyNyAtMjM4LjQxLDAgMCwxMDQuNTI3IDYzLjI4LDAgMCwxNTAuMzgzIGMgMCwyOS4zNDggMCw2Ni4wMjMgLTE0LjY3LDkxLjY5OSAtMTUuNTksMjkuMzM2IC00Ny42OSw0NC45MzQgLTgwLjcsNDQuOTM0IC0zMS4xOCwwIC01Ny43NywtMTEuMDA4IC03Ny45NCwtMzUuNzc0IC0yNC43NywtMzAuMjUzIC0yNi42LC02Mi4zNDMgLTI2LjYsLTk5Ljk0MSBsIDAsLTE1MS4zMDEgNjMuMjcsMCAwLC0xMDQuNTI3IC0yMzguNCwwIDAsMTA0LjUyNyA2My4yNiwwIDAsMjgwLjU5OCIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDI4IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSAzOTk4LjY2LDk1MS41NDcgLTExMS44NywwIDAsMTE4LjI5MyAxMTEuODcsMCAwLC0xMTguMjkzIHogbSAwLC00MzEuODkxIDYzLjI3LDAgMCwtMTA0LjUyNyAtMjM5LjMzLDAgMCwxMDQuNTI3IDY0LjE5LDAgMCwyODAuNTk4IC02My4yNywwIDAsMTA0LjUyNyAxNzUuMTQsMCAwLC0zODUuMTI1IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoMzAiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDQxNTkuMTIsODAwLjI1NCAtNjMuMjcsMCAwLDEwNC41MjcgMTc1LjE0LDAgMCwtNjkuNjg3IGMgMjkuMzUsNTQuMTAxIDg0LjM2LDgwLjY5OSAxNDQuODcsODAuNjk5IDUzLjE5LDAgMTA1LjQ1LC0yMi4wMTYgMTQxLjIyLC02MC41MjcgNDAuMzQsLTQ0LjkzNCA0MS4yNiwtODguMDMyIDQxLjI2LC0xNDMuOTU3IGwgMCwtMTkxLjY1MyA2My4yNywwIDAsLTEwNC41MjcgLTIzOC40LDAgMCwxMDQuNTI3IDYzLjI2LDAgMCwxNTguNjM3IGMgMCwzMC4yNjIgMCw2MS40MzQgLTE5LjI2LDg4LjAzNSAtMjAuMTcsMjYuNTgyIC01My4xOCwzOS40MTQgLTg2LjE5LDM5LjQxNCAtMzMuOTMsMCAtNjguNzcsLTEzLjc1IC04OC45NCwtNDEuMjUgLTIxLjA5LC0yNy41IC0yMS4wOSwtNjkuNjg3IC0yMS4wOSwtMTAyLjcwNyBsIDAsLTE0Mi4xMjkgNjMuMjYsMCAwLC0xMDQuNTI3IC0yMzguNCwwIDAsMTA0LjUyNyA2My4yNywwIDAsMjgwLjU5OCIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDMyIgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSA1MDgyLjQ4LDcwMy45NjUgYyAtMTkuMjQsNzAuNjA1IC04MS42LDExNS41NDcgLTE1NC4wNCwxMTUuNTQ3IC02Ni4wNCwwIC0xMjkuMywtNTEuMzQ4IC0xNDMuMDUsLTExNS41NDcgbCAyOTcuMDksMCB6IG0gODUuMjcsLTE0NC44ODMgYyAtMzguNTEsLTkzLjUyMyAtMTI5LjI3LC0xNTYuNzkzIC0yMzEuMDUsLTE1Ni43OTMgLTE0My4wNywwIC0yNTcuNjgsMTExLjg3MSAtMjU3LjY4LDI1NS44MzYgMCwxNDQuODgzIDEwOS4xMiwyNjEuMzI4IDI1NC45MSwyNjEuMzI4IDY3Ljg3LDAgMTM1LjcyLC0zMC4yNTggMTgzLjM5LC03OC44NjMgNDguNjIsLTUxLjM0NCA2OC43OSwtMTEzLjY5NSA2OC43OSwtMTgzLjM4MyBsIC0zLjY3LC0zOS40MzQgLTM5Ni4xMywwIGMgMTQuNjcsLTY3Ljg2MyA3Ny4wMywtMTE3LjM2MyAxNDYuNzIsLTExNy4zNjMgNDguNTksMCA5MC43NiwxOC4zMjggMTE4LjI4LDU4LjY3MiBsIDExNi40NCwwIgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoMzQiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDY5MC44OTUsODUwLjcwMyA5MC43NSwwIDIyLjU0MywzMS4wMzUgMCwyNDMuMTIyIC0xMzUuODI5LDAgMCwtMjQzLjE0MSAyMi41MzYsLTMxLjAxNiIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDM2IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSA2MzIuMzk1LDc0Mi4yNTggMjguMDM5LDg2LjMwNCAtMjIuNTUxLDMxLjA0IC0yMzEuMjIzLDc1LjEyOCAtNDEuOTc2LC0xMjkuMTgzIDIzMS4yNTcsLTc1LjEzNyAzNi40NTQsMTEuODQ4IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoMzgiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDcxNy40NDksNjUzLjEwNSAtNzMuNDEsNTMuMzYgLTM2LjQ4OCwtMTEuODc1IC0xNDIuOTAzLC0xOTYuNjkyIDEwOS44ODMsLTc5LjgyOCAxNDIuOTE4LDE5Ni43MDMgMCwzOC4zMzIiCiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICAgICAgaWQ9InBhdGg0MCIKICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiM4YTQxODI7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIC8+PHBhdGgKICAgICAgICAgICAgIGQ9Im0gODI4LjUyLDcwNi40NjUgLTczLjQyNiwtNTMuMzQgMC4wMTEsLTM4LjM1OSBMIDg5OC4wMDQsNDE4LjA3IDEwMDcuOSw0OTcuODk4IDg2NC45NzMsNjk0LjYwOSA4MjguNTIsNzA2LjQ2NSIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDQyIgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSA4MTIuMDg2LDgyOC41ODYgMjguMDU1LC04Ni4zMiAzNi40ODQsLTExLjgzNiAyMzEuMjI1LDc1LjExNyAtNDEuOTcsMTI5LjE4MyAtMjMxLjIzOSwtNzUuMTQgLTIyLjU1NSwtMzEuMDA0IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoNDQiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDczNi4zMDEsMTMzNS44OCBjIC0zMjMuMDQ3LDAgLTU4NS44NzUsLTI2Mi43OCAtNTg1Ljg3NSwtNTg1Ljc4MiAwLC0zMjMuMTE4IDI2Mi44MjgsLTU4NS45NzcgNTg1Ljg3NSwtNTg1Ljk3NyAzMjMuMDE5LDAgNTg1LjgwOSwyNjIuODU5IDU4NS44MDksNTg1Ljk3NyAwLDMyMy4wMDIgLTI2Mi43OSw1ODUuNzgyIC01ODUuODA5LDU4NS43ODIgbCAwLDAgeiBtIDAsLTExOC42MSBjIDI1Ny45NzIsMCA0NjcuMTg5LC0yMDkuMTMgNDY3LjE4OSwtNDY3LjE3MiAwLC0yNTguMTI5IC0yMDkuMjE3LC00NjcuMzQ4IC00NjcuMTg5LC00NjcuMzQ4IC0yNTguMDc0LDAgLTQ2Ny4yNTQsMjA5LjIxOSAtNDY3LjI1NCw0NjcuMzQ4IDAsMjU4LjA0MiAyMDkuMTgsNDY3LjE3MiA0NjcuMjU0LDQ2Ny4xNzIiCiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICAgICAgaWQ9InBhdGg0NiIKICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiM4YTQxODI7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIC8+PHBhdGgKICAgICAgICAgICAgIGQ9Im0gMTA5MS4xMyw2MTkuODgzIC0xNzUuNzcxLDU3LjEyMSAxMS42MjksMzUuODA4IDE3NS43NjIsLTU3LjEyMSAtMTEuNjIsLTM1LjgwOCIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDQ4IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0iTSA4NjYuOTU3LDkwMi4wNzQgODM2LjUsOTI0LjE5OSA5NDUuMTIxLDEwNzMuNzMgOTc1LjU4NiwxMDUxLjYxIDg2Ni45NTcsOTAyLjA3NCIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDUwIgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0iTSA2MDcuNDY1LDkwMy40NDUgNDk4Ljg1NSwxMDUyLjk3IDUyOS4zMiwxMDc1LjEgNjM3LjkzLDkyNS41NjYgNjA3LjQ2NSw5MDMuNDQ1IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoNTIiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDM4MC42ODgsNjIyLjEyOSAtMTEuNjI2LDM1LjgwMSAxNzUuNzU4LDU3LjA5IDExLjYyMSwtMzUuODAxIC0xNzUuNzUzLC01Ny4wOSIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDU0IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSA3MTYuMjg5LDM3Ni41OSAzNy42NDA2LDAgMCwxODQuODE2IC0zNy42NDA2LDAgMCwtMTg0LjgxNiB6IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoNTYiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=\") no-repeat, none; -moz-background-size: 100%; -o-background-size: 100%; -webkit-background-size: 100%; background-size: 100%; display: block; float: left; width: 90px; height: 25px; }\n\n.jasmine_html-reporter .jasmine-banner .jasmine-version { margin-left: 14px; position: relative; top: 6px; }\n\n.jasmine_html-reporter #jasmine_content { position: fixed; right: 100%; }\n\n.jasmine_html-reporter .jasmine-version { color: #aaa; }\n\n.jasmine_html-reporter .jasmine-banner { margin-top: 14px; }\n\n.jasmine_html-reporter .jasmine-duration { color: #fff; float: right; line-height: 28px; padding-right: 9px; }\n\n.jasmine_html-reporter .jasmine-symbol-summary { overflow: hidden; margin: 14px 0; }\n\n.jasmine_html-reporter .jasmine-symbol-summary li { display: inline-block; height: 10px; width: 14px; font-size: 16px; }\n\n.jasmine_html-reporter .jasmine-symbol-summary li.jasmine-passed { font-size: 14px; }\n\n.jasmine_html-reporter .jasmine-symbol-summary li.jasmine-passed:before { color: #007069; content: \"•\"; }\n\n.jasmine_html-reporter .jasmine-symbol-summary li.jasmine-failed { line-height: 9px; }\n\n.jasmine_html-reporter .jasmine-symbol-summary li.jasmine-failed:before { color: #ca3a11; content: \"×\"; font-weight: bold; margin-left: -1px; }\n\n.jasmine_html-reporter .jasmine-symbol-summary li.jasmine-excluded { font-size: 14px; }\n\n.jasmine_html-reporter .jasmine-symbol-summary li.jasmine-excluded:before { color: #bababa; content: \"•\"; }\n\n.jasmine_html-reporter .jasmine-symbol-summary li.jasmine-excluded-no-display { font-size: 14px; display: none; }\n\n.jasmine_html-reporter .jasmine-symbol-summary li.jasmine-pending { line-height: 17px; }\n\n.jasmine_html-reporter .jasmine-symbol-summary li.jasmine-pending:before { color: #ba9d37; content: \"*\"; }\n\n.jasmine_html-reporter .jasmine-symbol-summary li.jasmine-empty { font-size: 14px; }\n\n.jasmine_html-reporter .jasmine-symbol-summary li.jasmine-empty:before { color: #ba9d37; content: \"•\"; }\n\n.jasmine_html-reporter .jasmine-run-options { float: right; margin-right: 5px; border: 1px solid #8a4182; color: #8a4182; position: relative; line-height: 20px; }\n\n.jasmine_html-reporter .jasmine-run-options .jasmine-trigger { cursor: pointer; padding: 8px 16px; }\n\n.jasmine_html-reporter .jasmine-run-options .jasmine-payload { position: absolute; display: none; right: -1px; border: 1px solid #8a4182; background-color: #eee; white-space: nowrap; padding: 4px 8px; }\n\n.jasmine_html-reporter .jasmine-run-options .jasmine-payload.jasmine-open { display: block; }\n\n.jasmine_html-reporter .jasmine-bar { line-height: 28px; font-size: 14px; display: block; color: #eee; }\n\n.jasmine_html-reporter .jasmine-bar.jasmine-failed, .jasmine_html-reporter .jasmine-bar.jasmine-errored { background-color: #ca3a11; border-bottom: 1px solid #eee; }\n\n.jasmine_html-reporter .jasmine-bar.jasmine-passed { background-color: #007069; }\n\n.jasmine_html-reporter .jasmine-bar.jasmine-incomplete { background-color: #bababa; }\n\n.jasmine_html-reporter .jasmine-bar.jasmine-skipped { background-color: #bababa; }\n\n.jasmine_html-reporter .jasmine-bar.jasmine-warning { background-color: #ba9d37; color: #333; }\n\n.jasmine_html-reporter .jasmine-bar.jasmine-menu { background-color: #fff; color: #aaa; }\n\n.jasmine_html-reporter .jasmine-bar.jasmine-menu a { color: #333; }\n\n.jasmine_html-reporter .jasmine-bar a { color: white; }\n\n.jasmine_html-reporter.jasmine-spec-list .jasmine-bar.jasmine-menu.jasmine-failure-list, .jasmine_html-reporter.jasmine-spec-list .jasmine-results .jasmine-failures { display: none; }\n\n.jasmine_html-reporter.jasmine-failure-list .jasmine-bar.jasmine-menu.jasmine-spec-list, .jasmine_html-reporter.jasmine-failure-list .jasmine-summary { display: none; }\n\n.jasmine_html-reporter .jasmine-results { margin-top: 14px; }\n\n.jasmine_html-reporter .jasmine-summary { margin-top: 14px; }\n\n.jasmine_html-reporter .jasmine-summary ul { list-style-type: none; margin-left: 14px; padding-top: 0; padding-left: 0; }\n\n.jasmine_html-reporter .jasmine-summary ul.jasmine-suite { margin-top: 7px; margin-bottom: 7px; }\n\n.jasmine_html-reporter .jasmine-summary li.jasmine-passed a { color: #007069; }\n\n.jasmine_html-reporter .jasmine-summary li.jasmine-failed a { color: #ca3a11; }\n\n.jasmine_html-reporter .jasmine-summary li.jasmine-empty a { color: #ba9d37; }\n\n.jasmine_html-reporter .jasmine-summary li.jasmine-pending a { color: #ba9d37; }\n\n.jasmine_html-reporter .jasmine-summary li.jasmine-excluded a { color: #bababa; }\n\n.jasmine_html-reporter .jasmine-specs li.jasmine-passed a:before { content: \"• \"; }\n\n.jasmine_html-reporter .jasmine-specs li.jasmine-failed a:before { content: \"× \"; }\n\n.jasmine_html-reporter .jasmine-specs li.jasmine-empty a:before { content: \"* \"; }\n\n.jasmine_html-reporter .jasmine-specs li.jasmine-pending a:before { content: \"• \"; }\n\n.jasmine_html-reporter .jasmine-specs li.jasmine-excluded a:before { content: \"• \"; }\n\n.jasmine_html-reporter .jasmine-description + .jasmine-suite { margin-top: 0; }\n\n.jasmine_html-reporter .jasmine-suite { margin-top: 14px; }\n\n.jasmine_html-reporter .jasmine-suite a { color: #333; }\n\n.jasmine_html-reporter .jasmine-failures .jasmine-spec-detail { margin-bottom: 28px; }\n\n.jasmine_html-reporter .jasmine-failures .jasmine-spec-detail .jasmine-description { background-color: #ca3a11; color: white; }\n\n.jasmine_html-reporter .jasmine-failures .jasmine-spec-detail .jasmine-description a { color: white; }\n\n.jasmine_html-reporter .jasmine-result-message { padding-top: 14px; color: #333; white-space: pre-wrap; }\n\n.jasmine_html-reporter .jasmine-result-message span.jasmine-result { display: block; }\n\n.jasmine_html-reporter .jasmine-stack-trace { margin: 5px 0 0 0; max-height: 224px; overflow: auto; line-height: 18px; color: #666; border: 1px solid #ddd; background: white; white-space: pre; }\n"
  },
  {
    "path": "plugins/tiddlywiki/jasmine/files/jasmine-core/lib/jasmine-core/jasmine.js",
    "content": "/*\nCopyright (c) 2008-2019 Pivotal Labs\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\nvar getJasmineRequireObj = (function (jasmineGlobal) {\n  /* globals exports, global, module, window */\n  var jasmineRequire;\n\n  if (typeof module !== 'undefined' && module.exports && typeof exports !== 'undefined') {\n    if (typeof global !== 'undefined') {\n      jasmineGlobal = global;\n    } else {\n      jasmineGlobal = {};\n    }\n    jasmineRequire = exports;\n  } else {\n    if (typeof window !== 'undefined' && typeof window.toString === 'function' && window.toString() === '[object GjsGlobal]') {\n      jasmineGlobal = window;\n    }\n    jasmineRequire = jasmineGlobal.jasmineRequire = {};\n  }\n\n  function getJasmineRequire() {\n    return jasmineRequire;\n  }\n\n  getJasmineRequire().core = function(jRequire) {\n    var j$ = {};\n\n    jRequire.base(j$, jasmineGlobal);\n    j$.util = jRequire.util(j$);\n    j$.errors = jRequire.errors();\n    j$.formatErrorMsg = jRequire.formatErrorMsg();\n    j$.Any = jRequire.Any(j$);\n    j$.Anything = jRequire.Anything(j$);\n    j$.CallTracker = jRequire.CallTracker(j$);\n    j$.MockDate = jRequire.MockDate();\n    j$.getClearStack = jRequire.clearStack(j$);\n    j$.Clock = jRequire.Clock();\n    j$.DelayedFunctionScheduler = jRequire.DelayedFunctionScheduler(j$);\n    j$.Env = jRequire.Env(j$);\n    j$.StackTrace = jRequire.StackTrace(j$);\n    j$.ExceptionFormatter = jRequire.ExceptionFormatter(j$);\n    j$.ExpectationFilterChain = jRequire.ExpectationFilterChain();\n    j$.Expector = jRequire.Expector(j$);\n    j$.Expectation = jRequire.Expectation(j$);\n    j$.buildExpectationResult = jRequire.buildExpectationResult();\n    j$.noopTimer = jRequire.noopTimer();\n    j$.JsApiReporter = jRequire.JsApiReporter(j$);\n    j$.matchersUtil = jRequire.matchersUtil(j$);\n    j$.ObjectContaining = jRequire.ObjectContaining(j$);\n    j$.ArrayContaining = jRequire.ArrayContaining(j$);\n    j$.ArrayWithExactContents = jRequire.ArrayWithExactContents(j$);\n    j$.pp = jRequire.pp(j$);\n    j$.QueueRunner = jRequire.QueueRunner(j$);\n    j$.ReportDispatcher = jRequire.ReportDispatcher(j$);\n    j$.Spec = jRequire.Spec(j$);\n    j$.Spy = jRequire.Spy(j$);\n    j$.SpyFactory = jRequire.SpyFactory(j$);\n    j$.SpyRegistry = jRequire.SpyRegistry(j$);\n    j$.SpyStrategy = jRequire.SpyStrategy(j$);\n    j$.StringMatching = jRequire.StringMatching(j$);\n    j$.UserContext = jRequire.UserContext(j$);\n    j$.Suite = jRequire.Suite(j$);\n    j$.Timer = jRequire.Timer();\n    j$.TreeProcessor = jRequire.TreeProcessor();\n    j$.version = jRequire.version();\n    j$.Order = jRequire.Order();\n    j$.DiffBuilder = jRequire.DiffBuilder(j$);\n    j$.NullDiffBuilder = jRequire.NullDiffBuilder(j$);\n    j$.ObjectPath = jRequire.ObjectPath(j$);\n    j$.GlobalErrors = jRequire.GlobalErrors(j$);\n\n    j$.Truthy = jRequire.Truthy(j$);\n    j$.Falsy = jRequire.Falsy(j$);\n    j$.Empty = jRequire.Empty(j$);\n    j$.NotEmpty = jRequire.NotEmpty(j$);\n\n    j$.matchers = jRequire.requireMatchers(jRequire, j$);\n    j$.asyncMatchers = jRequire.requireAsyncMatchers(jRequire, j$);\n\n    return j$;\n  };\n\n  return getJasmineRequire;\n})(this);\n\ngetJasmineRequireObj().requireMatchers = function(jRequire, j$) {\n  var availableMatchers = [\n      'nothing',\n      'toBe',\n      'toBeCloseTo',\n      'toBeDefined',\n      'toBeFalsy',\n      'toBeGreaterThan',\n      'toBeGreaterThanOrEqual',\n      'toBeLessThan',\n      'toBeLessThanOrEqual',\n      'toBeNaN',\n      'toBeNegativeInfinity',\n      'toBeNull',\n      'toBePositiveInfinity',\n      'toBeTruthy',\n      'toBeUndefined',\n      'toContain',\n      'toEqual',\n      'toHaveBeenCalled',\n      'toHaveBeenCalledBefore',\n      'toHaveBeenCalledTimes',\n      'toHaveBeenCalledWith',\n      'toHaveClass',\n      'toMatch',\n      'toThrow',\n      'toThrowError',\n      'toThrowMatching',\n    ],\n    matchers = {};\n\n  for (var i = 0; i < availableMatchers.length; i++) {\n    var name = availableMatchers[i];\n    matchers[name] = jRequire[name](j$);\n  }\n\n  return matchers;\n};\n\ngetJasmineRequireObj().base = function(j$, jasmineGlobal) {\n  j$.unimplementedMethod_ = function() {\n    throw new Error('unimplemented method');\n  };\n\n  /**\n   * Maximum object depth the pretty printer will print to.\n   * Set this to a lower value to speed up pretty printing if you have large objects.\n   * @name jasmine.MAX_PRETTY_PRINT_DEPTH\n   */\n  j$.MAX_PRETTY_PRINT_DEPTH = 8;\n  /**\n   * Maximum number of array elements to display when pretty printing objects.\n   * This will also limit the number of keys and values displayed for an object.\n   * Elements past this number will be ellipised.\n   * @name jasmine.MAX_PRETTY_PRINT_ARRAY_LENGTH\n   */\n  j$.MAX_PRETTY_PRINT_ARRAY_LENGTH = 50;\n  /**\n   * Maximum number of characters to display when pretty printing objects.\n   * Characters past this number will be ellipised.\n   * @name jasmine.MAX_PRETTY_PRINT_CHARS\n   */\n  j$.MAX_PRETTY_PRINT_CHARS = 1000;\n  /**\n   * Default number of milliseconds Jasmine will wait for an asynchronous spec to complete.\n   * @name jasmine.DEFAULT_TIMEOUT_INTERVAL\n   */\n  j$.DEFAULT_TIMEOUT_INTERVAL = 5000;\n\n  j$.getGlobal = function() {\n    return jasmineGlobal;\n  };\n\n  /**\n   * Get the currently booted Jasmine Environment.\n   *\n   * @name jasmine.getEnv\n   * @function\n   * @return {Env}\n   */\n  j$.getEnv = function(options) {\n    var env = j$.currentEnv_ = j$.currentEnv_ || new j$.Env(options);\n    //jasmine. singletons in here (setTimeout blah blah).\n    return env;\n  };\n\n  j$.isArray_ = function(value) {\n    return j$.isA_('Array', value);\n  };\n\n  j$.isObject_ = function(value) {\n    return !j$.util.isUndefined(value) && value !== null && j$.isA_('Object', value);\n  };\n\n  j$.isString_ = function(value) {\n    return j$.isA_('String', value);\n  };\n\n  j$.isNumber_ = function(value) {\n    return j$.isA_('Number', value);\n  };\n\n  j$.isFunction_ = function(value) {\n    return j$.isA_('Function', value);\n  };\n\n  j$.isAsyncFunction_ = function(value) {\n    return j$.isA_('AsyncFunction', value);\n  };\n\n  j$.isTypedArray_ = function(value) {\n    return j$.isA_('Float32Array', value) ||\n      j$.isA_('Float64Array', value) ||\n      j$.isA_('Int16Array', value) ||\n      j$.isA_('Int32Array', value) ||\n      j$.isA_('Int8Array', value) ||\n      j$.isA_('Uint16Array', value) ||\n      j$.isA_('Uint32Array', value) ||\n      j$.isA_('Uint8Array', value) ||\n      j$.isA_('Uint8ClampedArray', value);\n  };\n\n  j$.isA_ = function(typeName, value) {\n    return j$.getType_(value) === '[object ' + typeName + ']';\n  };\n\n  j$.isError_ = function(value) {\n    if (value instanceof Error) {\n      return true;\n    }\n    if (value && value.constructor && value.constructor.constructor) {\n      var valueGlobal = value.constructor.constructor('return this');\n      if (j$.isFunction_(valueGlobal)) {\n        valueGlobal = valueGlobal();\n      }\n\n      if (valueGlobal.Error && value instanceof valueGlobal.Error) {\n        return true;\n      }\n    }\n    return false;\n  };\n\n  j$.getType_ = function(value) {\n    return Object.prototype.toString.apply(value);\n  };\n\n  j$.isDomNode = function(obj) {\n    // Node is a function, because constructors\n    return typeof jasmineGlobal.Node !== 'undefined' ?\n      obj instanceof jasmineGlobal.Node :\n          obj !== null &&\n          typeof obj === 'object' &&\n          typeof obj.nodeType === 'number' &&\n          typeof obj.nodeName === 'string';\n    // return obj.nodeType > 0;\n  };\n\n  j$.isMap = function(obj) {\n    return typeof jasmineGlobal.Map !== 'undefined' && obj.constructor === jasmineGlobal.Map;\n  };\n\n  j$.isSet = function(obj) {\n    return typeof jasmineGlobal.Set !== 'undefined' && obj.constructor === jasmineGlobal.Set;\n  };\n\n  j$.isPromise = function(obj) {\n    return typeof jasmineGlobal.Promise !== 'undefined' && !!obj && obj.constructor === jasmineGlobal.Promise;\n  };\n\n  j$.isPromiseLike = function(obj) {\n    return !!obj && j$.isFunction_(obj.then);\n  };\n\n  j$.fnNameFor = function(func) {\n    if (func.name) {\n      return func.name;\n    }\n\n    var matches = func.toString().match(/^\\s*function\\s*(\\w+)\\s*\\(/) ||\n      func.toString().match(/^\\s*\\[object\\s*(\\w+)Constructor\\]/);\n\n    return matches ? matches[1] : '<anonymous>';\n  };\n\n  /**\n   * Get a matcher, usable in any {@link matchers|matcher} that uses Jasmine's equality (e.g. {@link matchers#toEqual|toEqual}, {@link matchers#toContain|toContain}, or {@link matchers#toHaveBeenCalledWith|toHaveBeenCalledWith}),\n   * that will succeed if the actual value being compared is an instance of the specified class/constructor.\n   * @name jasmine.any\n   * @function\n   * @param {Constructor} clazz - The constructor to check against.\n   */\n  j$.any = function(clazz) {\n    return new j$.Any(clazz);\n  };\n\n  /**\n   * Get a matcher, usable in any {@link matchers|matcher} that uses Jasmine's equality (e.g. {@link matchers#toEqual|toEqual}, {@link matchers#toContain|toContain}, or {@link matchers#toHaveBeenCalledWith|toHaveBeenCalledWith}),\n   * that will succeed if the actual value being compared is not `null` and not `undefined`.\n   * @name jasmine.anything\n   * @function\n   */\n  j$.anything = function() {\n    return new j$.Anything();\n  };\n\n  /**\n   * Get a matcher, usable in any {@link matchers|matcher} that uses Jasmine's equality (e.g. {@link matchers#toEqual|toEqual}, {@link matchers#toContain|toContain}, or {@link matchers#toHaveBeenCalledWith|toHaveBeenCalledWith}),\n   * that will succeed if the actual value being compared is `true` or anything truthy.\n   * @name jasmine.truthy\n   * @function\n   */\n  j$.truthy = function() {return new j$.Truthy();};\n\n  /**\n   * Get a matcher, usable in any {@link matchers|matcher} that uses Jasmine's equality (e.g. {@link matchers#toEqual|toEqual}, {@link matchers#toContain|toContain}, or {@link matchers#toHaveBeenCalledWith|toHaveBeenCalledWith}),\n   * that will succeed if the actual value being compared is  `null`, `undefined`, `0`, `false` or anything falsey.\n   * @name jasmine.falsy\n   * @function\n   */\n  j$.falsy = function() {return new j$.Falsy();};\n\n  /**\n   * Get a matcher, usable in any {@link matchers|matcher} that uses Jasmine's equality (e.g. {@link matchers#toEqual|toEqual}, {@link matchers#toContain|toContain}, or {@link matchers#toHaveBeenCalledWith|toHaveBeenCalledWith}),\n   * that will succeed if the actual value being compared is empty.\n   * @name jasmine.empty\n   * @function\n   */\n  j$.empty = function() {return new j$.Empty();};\n\n  /**\n   * Get a matcher, usable in any {@link matchers|matcher} that uses Jasmine's equality (e.g. {@link matchers#toEqual|toEqual}, {@link matchers#toContain|toContain}, or {@link matchers#toHaveBeenCalledWith|toHaveBeenCalledWith}),\n   * that will succeed if the actual value being compared is not empty.\n   * @name jasmine.notEmpty\n   * @function\n   */\n  j$.notEmpty = function() {return new j$.NotEmpty();};\n\n  /**\n   * Get a matcher, usable in any {@link matchers|matcher} that uses Jasmine's equality (e.g. {@link matchers#toEqual|toEqual}, {@link matchers#toContain|toContain}, or {@link matchers#toHaveBeenCalledWith|toHaveBeenCalledWith}),\n   * that will succeed if the actual value being compared contains at least the keys and values.\n   * @name jasmine.objectContaining\n   * @function\n   * @param {Object} sample - The subset of properties that _must_ be in the actual.\n   */\n  j$.objectContaining = function(sample) {\n    return new j$.ObjectContaining(sample);\n  };\n\n  /**\n   * Get a matcher, usable in any {@link matchers|matcher} that uses Jasmine's equality (e.g. {@link matchers#toEqual|toEqual}, {@link matchers#toContain|toContain}, or {@link matchers#toHaveBeenCalledWith|toHaveBeenCalledWith}),\n   * that will succeed if the actual value is a `String` that matches the `RegExp` or `String`.\n   * @name jasmine.stringMatching\n   * @function\n   * @param {RegExp|String} expected\n   */\n  j$.stringMatching = function(expected) {\n    return new j$.StringMatching(expected);\n  };\n\n  /**\n   * Get a matcher, usable in any {@link matchers|matcher} that uses Jasmine's equality (e.g. {@link matchers#toEqual|toEqual}, {@link matchers#toContain|toContain}, or {@link matchers#toHaveBeenCalledWith|toHaveBeenCalledWith}),\n   * that will succeed if the actual value is an `Array` that contains at least the elements in the sample.\n   * @name jasmine.arrayContaining\n   * @function\n   * @param {Array} sample\n   */\n  j$.arrayContaining = function(sample) {\n    return new j$.ArrayContaining(sample);\n  };\n\n  /**\n   * Get a matcher, usable in any {@link matchers|matcher} that uses Jasmine's equality (e.g. {@link matchers#toEqual|toEqual}, {@link matchers#toContain|toContain}, or {@link matchers#toHaveBeenCalledWith|toHaveBeenCalledWith}),\n   * that will succeed if the actual value is an `Array` that contains all of the elements in the sample in any order.\n   * @name jasmine.arrayWithExactContents\n   * @function\n   * @param {Array} sample\n   */\n  j$.arrayWithExactContents = function(sample) {\n    return new j$.ArrayWithExactContents(sample);\n  };\n\n  j$.isSpy = function(putativeSpy) {\n    if (!putativeSpy) {\n      return false;\n    }\n    return putativeSpy.and instanceof j$.SpyStrategy &&\n      putativeSpy.calls instanceof j$.CallTracker;\n  };\n};\n\ngetJasmineRequireObj().util = function(j$) {\n\n  var util = {};\n\n  util.inherit = function(childClass, parentClass) {\n    var Subclass = function() {\n    };\n    Subclass.prototype = parentClass.prototype;\n    childClass.prototype = new Subclass();\n  };\n\n  util.htmlEscape = function(str) {\n    if (!str) {\n      return str;\n    }\n    return str.replace(/&/g, '&amp;')\n      .replace(/</g, '&lt;')\n      .replace(/>/g, '&gt;');\n  };\n\n  util.argsToArray = function(args) {\n    var arrayOfArgs = [];\n    for (var i = 0; i < args.length; i++) {\n      arrayOfArgs.push(args[i]);\n    }\n    return arrayOfArgs;\n  };\n\n  util.isUndefined = function(obj) {\n    return obj === void 0;\n  };\n\n  util.arrayContains = function(array, search) {\n    var i = array.length;\n    while (i--) {\n      if (array[i] === search) {\n        return true;\n      }\n    }\n    return false;\n  };\n\n  util.clone = function(obj) {\n    if (Object.prototype.toString.apply(obj) === '[object Array]') {\n      return obj.slice();\n    }\n\n    var cloned = {};\n    for (var prop in obj) {\n      if (obj.hasOwnProperty(prop)) {\n        cloned[prop] = obj[prop];\n      }\n    }\n\n    return cloned;\n  };\n\n  util.cloneArgs = function(args) {\n    var clonedArgs = [];\n    var argsAsArray = j$.util.argsToArray(args);\n    for(var i = 0; i < argsAsArray.length; i++) {\n      var str = Object.prototype.toString.apply(argsAsArray[i]),\n        primitives = /^\\[object (Boolean|String|RegExp|Number)/;\n\n      // All falsey values are either primitives, `null`, or `undefined.\n      if (!argsAsArray[i] || str.match(primitives)) {\n        clonedArgs.push(argsAsArray[i]);\n      } else {\n        clonedArgs.push(j$.util.clone(argsAsArray[i]));\n      }\n    }\n    return clonedArgs;\n  };\n\n  util.getPropertyDescriptor = function(obj, methodName) {\n    var descriptor,\n      proto = obj;\n\n    do {\n      descriptor = Object.getOwnPropertyDescriptor(proto, methodName);\n      proto = Object.getPrototypeOf(proto);\n    } while (!descriptor && proto);\n\n    return descriptor;\n  };\n\n  util.objectDifference = function(obj, toRemove) {\n    var diff = {};\n\n    for (var key in obj) {\n      if (util.has(obj, key) && !util.has(toRemove, key)) {\n        diff[key] = obj[key];\n      }\n    }\n\n    return diff;\n  };\n\n  util.has = function(obj, key) {\n    return Object.prototype.hasOwnProperty.call(obj, key);\n  };\n\n  function anyMatch(pattern, lines) {\n    var i;\n\n    for (i = 0; i < lines.length; i++) {\n      if (lines[i].match(pattern)) {\n        return true;\n      }\n    }\n\n    return false;\n  }\n\n  util.errorWithStack = function errorWithStack () {\n    // Don't throw and catch if we don't have to, because it makes it harder\n    // for users to debug their code with exception breakpoints.\n    var error = new Error();\n\n    if (error.stack) {\n      return error;\n    }\n\n    // But some browsers (e.g. Phantom) only provide a stack trace if we throw.\n    try {\n      throw new Error();\n    } catch (e) {\n      return e;\n    }\n  };\n\n  function callerFile() {\n    var trace = new j$.StackTrace(util.errorWithStack());\n    return trace.frames[2].file;\n  }\n\n  util.jasmineFile = (function() {\n    var result;\n\n    return function() {\n      var trace;\n\n      if (!result) {\n        result = callerFile();\n      }\n\n      return result;\n    };\n  }());\n\n  return util;\n};\n\ngetJasmineRequireObj().Spec = function(j$) {\n  function Spec(attrs) {\n    this.expectationFactory = attrs.expectationFactory;\n    this.asyncExpectationFactory = attrs.asyncExpectationFactory;\n    this.resultCallback = attrs.resultCallback || function() {};\n    this.id = attrs.id;\n    this.description = attrs.description || '';\n    this.queueableFn = attrs.queueableFn;\n    this.beforeAndAfterFns = attrs.beforeAndAfterFns || function() { return {befores: [], afters: []}; };\n    this.userContext = attrs.userContext || function() { return {}; };\n    this.onStart = attrs.onStart || function() {};\n    this.getSpecName = attrs.getSpecName || function() { return ''; };\n    this.expectationResultFactory = attrs.expectationResultFactory || function() { };\n    this.queueRunnerFactory = attrs.queueRunnerFactory || function() {};\n    this.catchingExceptions = attrs.catchingExceptions || function() { return true; };\n    this.throwOnExpectationFailure = !!attrs.throwOnExpectationFailure;\n    this.timer = attrs.timer || j$.noopTimer;\n\n    if (!this.queueableFn.fn) {\n      this.pend();\n    }\n\n    /**\n     * @typedef SpecResult\n     * @property {Int} id - The unique id of this spec.\n     * @property {String} description - The description passed to the {@link it} that created this spec.\n     * @property {String} fullName - The full description including all ancestors of this spec.\n     * @property {Expectation[]} failedExpectations - The list of expectations that failed during execution of this spec.\n     * @property {Expectation[]} passedExpectations - The list of expectations that passed during execution of this spec.\n     * @property {Expectation[]} deprecationWarnings - The list of deprecation warnings that occurred during execution this spec.\n     * @property {String} pendingReason - If the spec is {@link pending}, this will be the reason.\n     * @property {String} status - Once the spec has completed, this string represents the pass/fail status of this spec.\n     * @property {number} duration - The time in ms used by the spec execution, including any before/afterEach.\n     */\n    this.result = {\n      id: this.id,\n      description: this.description,\n      fullName: this.getFullName(),\n      failedExpectations: [],\n      passedExpectations: [],\n      deprecationWarnings: [],\n      pendingReason: '',\n      duration: null,\n    };\n  }\n\n  Spec.prototype.addExpectationResult = function(passed, data, isError) {\n    var expectationResult = this.expectationResultFactory(data);\n    if (passed) {\n      this.result.passedExpectations.push(expectationResult);\n    } else {\n      this.result.failedExpectations.push(expectationResult);\n\n      if (this.throwOnExpectationFailure && !isError) {\n        throw new j$.errors.ExpectationFailed();\n      }\n    }\n  };\n\n  Spec.prototype.expect = function(actual) {\n    return this.expectationFactory(actual, this);\n  };\n\n  Spec.prototype.expectAsync = function(actual) {\n    return this.asyncExpectationFactory(actual, this);\n  };\n\n  Spec.prototype.execute = function(onComplete, excluded) {\n    var self = this;\n\n    var onStart = {\n      fn: function(done) {\n        self.timer.start();\n        self.onStart(self, done);\n      }\n    };\n\n    var complete = {\n      fn: function(done) {\n        self.queueableFn.fn = null;\n        self.result.status = self.status(excluded);\n        self.resultCallback(self.result, done);\n      }\n    };\n\n    var fns = this.beforeAndAfterFns();\n    var regularFns = fns.befores.concat(this.queueableFn);\n\n    var runnerConfig = {\n      isLeaf: true,\n      queueableFns: regularFns,\n      cleanupFns: fns.afters,\n      onException: function () {\n        self.onException.apply(self, arguments);\n      },\n      onComplete: function() {\n        self.result.duration = self.timer.elapsed();\n        onComplete(self.result.status === 'failed' && new j$.StopExecutionError('spec failed'));\n      },\n      userContext: this.userContext()\n    };\n\n    if (this.markedPending || excluded === true) {\n      runnerConfig.queueableFns = [];\n      runnerConfig.cleanupFns = [];\n    }\n\n    runnerConfig.queueableFns.unshift(onStart);\n    runnerConfig.cleanupFns.push(complete);\n\n    this.queueRunnerFactory(runnerConfig);\n  };\n\n  Spec.prototype.onException = function onException(e) {\n    if (Spec.isPendingSpecException(e)) {\n      this.pend(extractCustomPendingMessage(e));\n      return;\n    }\n\n    if (e instanceof j$.errors.ExpectationFailed) {\n      return;\n    }\n\n    this.addExpectationResult(false, {\n      matcherName: '',\n      passed: false,\n      expected: '',\n      actual: '',\n      error: e\n    }, true);\n  };\n\n  Spec.prototype.pend = function(message) {\n    this.markedPending = true;\n    if (message) {\n      this.result.pendingReason = message;\n    }\n  };\n\n  Spec.prototype.getResult = function() {\n    this.result.status = this.status();\n    return this.result;\n  };\n\n  Spec.prototype.status = function(excluded) {\n    if (excluded === true) {\n      return 'excluded';\n    }\n\n    if (this.markedPending) {\n      return 'pending';\n    }\n\n    if (this.result.failedExpectations.length > 0) {\n      return 'failed';\n    } else {\n      return 'passed';\n    }\n  };\n\n  Spec.prototype.getFullName = function() {\n    return this.getSpecName(this);\n  };\n\n  Spec.prototype.addDeprecationWarning = function(deprecation) {\n    if (typeof deprecation === 'string') {\n      deprecation = { message: deprecation };\n    }\n    this.result.deprecationWarnings.push(this.expectationResultFactory(deprecation));\n  };\n\n  var extractCustomPendingMessage = function(e) {\n    var fullMessage = e.toString(),\n        boilerplateStart = fullMessage.indexOf(Spec.pendingSpecExceptionMessage),\n        boilerplateEnd = boilerplateStart + Spec.pendingSpecExceptionMessage.length;\n\n    return fullMessage.substr(boilerplateEnd);\n  };\n\n  Spec.pendingSpecExceptionMessage = '=> marked Pending';\n\n  Spec.isPendingSpecException = function(e) {\n    return !!(e && e.toString && e.toString().indexOf(Spec.pendingSpecExceptionMessage) !== -1);\n  };\n\n  return Spec;\n};\n\nif (typeof window == void 0 && typeof exports == 'object') {\n  /* globals exports */\n  exports.Spec = jasmineRequire.Spec;\n}\n\n/*jshint bitwise: false*/\n\ngetJasmineRequireObj().Order = function() {\n  function Order(options) {\n    this.random = 'random' in options ? options.random : true;\n    var seed = this.seed = options.seed || generateSeed();\n    this.sort = this.random ? randomOrder : naturalOrder;\n\n    function naturalOrder(items) {\n      return items;\n    }\n\n    function randomOrder(items) {\n      var copy = items.slice();\n      copy.sort(function(a, b) {\n        return jenkinsHash(seed + a.id) - jenkinsHash(seed + b.id);\n      });\n      return copy;\n    }\n\n    function generateSeed() {\n      return String(Math.random()).slice(-5);\n    }\n\n    // Bob Jenkins One-at-a-Time Hash algorithm is a non-cryptographic hash function\n    // used to get a different output when the key changes slightly.\n    // We use your return to sort the children randomly in a consistent way when\n    // used in conjunction with a seed\n\n    function jenkinsHash(key) {\n      var hash, i;\n      for(hash = i = 0; i < key.length; ++i) {\n        hash += key.charCodeAt(i);\n        hash += (hash << 10);\n        hash ^= (hash >> 6);\n      }\n      hash += (hash << 3);\n      hash ^= (hash >> 11);\n      hash += (hash << 15);\n      return hash;\n    }\n\n  }\n\n  return Order;\n};\n\ngetJasmineRequireObj().Env = function(j$) {\n  /**\n   * _Note:_ Do not construct this directly, Jasmine will make one during booting.\n   * @name Env\n   * @classdesc The Jasmine environment\n   * @constructor\n   */\n  function Env(options) {\n    options = options || {};\n\n    var self = this;\n    var global = options.global || j$.getGlobal();\n\n    var totalSpecsDefined = 0;\n\n    var realSetTimeout = global.setTimeout;\n    var realClearTimeout = global.clearTimeout;\n    var clearStack = j$.getClearStack(global);\n    this.clock = new j$.Clock(global, function () { return new j$.DelayedFunctionScheduler(); }, new j$.MockDate(global));\n\n    var runnableResources = {};\n\n    var currentSpec = null;\n    var currentlyExecutingSuites = [];\n    var currentDeclarationSuite = null;\n    var hasFailures = false;\n\n    /**\n     * This represents the available options to configure Jasmine.\n     * Options that are not provided will use their default values\n     * @interface Configuration\n     */\n    var config = {\n      /**\n       * Whether to randomize spec execution order\n       * @name Configuration#random\n       * @type Boolean\n       * @default true\n       */\n      random: true,\n      /**\n       * Seed to use as the basis of randomization.\n       * Null causes the seed to be determined randomly at the start of execution.\n       * @name Configuration#seed\n       * @type function\n       * @default null\n       */\n      seed: null,\n      /**\n       * Whether to stop execution of the suite after the first spec failure\n       * @name Configuration#failFast\n       * @type Boolean\n       * @default false\n       */\n      failFast: false,\n      /**\n       * Whether to cause specs to only have one expectation failure.\n       * @name Configuration#oneFailurePerSpec\n       * @type Boolean\n       * @default false\n       */\n      oneFailurePerSpec: false,\n      /**\n       * Function to use to filter specs\n       * @name Configuration#specFilter\n       * @type function\n       * @default true\n       */\n      specFilter: function() {\n        return true;\n      },\n      /**\n       * Whether or not reporters should hide disabled specs from their output.\n       * Currently only supported by Jasmine's HTMLReporter\n       * @name Configuration#hideDisabled\n       * @type Boolean\n       * @default false\n       */\n      hideDisabled: false\n    };\n\n    var currentSuite = function() {\n      return currentlyExecutingSuites[currentlyExecutingSuites.length - 1];\n    };\n\n    var currentRunnable = function() {\n      return currentSpec || currentSuite();\n    };\n\n    var globalErrors = null;\n\n    var installGlobalErrors = function() {\n      if (globalErrors) {\n        return;\n      }\n\n      globalErrors = new j$.GlobalErrors();\n      globalErrors.install();\n    };\n\n    if (!options.suppressLoadErrors) {\n      installGlobalErrors();\n      globalErrors.pushListener(function(message, filename, lineno, colNo, err) {\n        topSuite.result.failedExpectations.push({\n          passed: false,\n          globalErrorType: 'load',\n          message: message,\n          stack: err && err.stack,\n          filename: filename,\n          lineno: lineno\n        });\n      });\n    }\n\n    /**\n     * Configure your jasmine environment\n     * @name Env#configure\n     * @argument {Configuration} configuration\n     * @function\n     */\n    this.configure = function(configuration) {\n      if (configuration.specFilter) {\n        config.specFilter = configuration.specFilter;\n      }\n\n      if (configuration.hasOwnProperty('random')) {\n        config.random = !!configuration.random;\n      }\n\n      if (configuration.hasOwnProperty('seed')) {\n        config.seed = configuration.seed;\n      }\n\n      if (configuration.hasOwnProperty('failFast')) {\n        config.failFast = configuration.failFast;\n      }\n\n      if (configuration.hasOwnProperty('oneFailurePerSpec')) {\n        config.oneFailurePerSpec = configuration.oneFailurePerSpec;\n      }\n\n      if (configuration.hasOwnProperty('hideDisabled')) {\n        config.hideDisabled = configuration.hideDisabled;\n      }\n    };\n\n    /**\n     * Get the current configuration for your jasmine environment\n     * @name Env#configuration\n     * @function\n     * @returns {Configuration}\n     */\n    this.configuration = function() {\n      var result = {};\n      for (var property in config) {\n        result[property] = config[property];\n      }\n      return result;\n    };\n\n    Object.defineProperty(this, 'specFilter', {\n      get: function() {\n        self.deprecated('Getting specFilter directly from Env is deprecated, please check the specFilter option from `configuration`');\n        return config.specFilter;\n      },\n      set: function(val) {\n        self.deprecated('Setting specFilter directly on Env is deprecated, please use the specFilter option in `configure`');\n        config.specFilter = val;\n      }\n    });\n\n    this.addSpyStrategy = function(name, fn) {\n      if(!currentRunnable()) {\n        throw new Error('Custom spy strategies must be added in a before function or a spec');\n      }\n      runnableResources[currentRunnable().id].customSpyStrategies[name] = fn;\n    };\n\n    this.addCustomEqualityTester = function(tester) {\n      if(!currentRunnable()) {\n        throw new Error('Custom Equalities must be added in a before function or a spec');\n      }\n      runnableResources[currentRunnable().id].customEqualityTesters.push(tester);\n    };\n\n    this.addMatchers = function(matchersToAdd) {\n      if(!currentRunnable()) {\n        throw new Error('Matchers must be added in a before function or a spec');\n      }\n      var customMatchers = runnableResources[currentRunnable().id].customMatchers;\n      for (var matcherName in matchersToAdd) {\n        customMatchers[matcherName] = matchersToAdd[matcherName];\n      }\n    };\n\n    j$.Expectation.addCoreMatchers(j$.matchers);\n    j$.Expectation.addAsyncCoreMatchers(j$.asyncMatchers);\n\n    var nextSpecId = 0;\n    var getNextSpecId = function() {\n      return 'spec' + nextSpecId++;\n    };\n\n    var nextSuiteId = 0;\n    var getNextSuiteId = function() {\n      return 'suite' + nextSuiteId++;\n    };\n\n    var expectationFactory = function(actual, spec) {\n      return j$.Expectation.factory({\n        util: j$.matchersUtil,\n        customEqualityTesters: runnableResources[spec.id].customEqualityTesters,\n        customMatchers: runnableResources[spec.id].customMatchers,\n        actual: actual,\n        addExpectationResult: addExpectationResult\n      });\n\n      function addExpectationResult(passed, result) {\n        return spec.addExpectationResult(passed, result);\n      }\n    };\n\n    var asyncExpectationFactory = function(actual, spec) {\n      return j$.Expectation.asyncFactory({\n        util: j$.matchersUtil,\n        customEqualityTesters: runnableResources[spec.id].customEqualityTesters,\n        actual: actual,\n        addExpectationResult: addExpectationResult\n      });\n\n      function addExpectationResult(passed, result) {\n        return spec.addExpectationResult(passed, result);\n      }\n    };\n\n    var defaultResourcesForRunnable = function(id, parentRunnableId) {\n      var resources = {spies: [], customEqualityTesters: [], customMatchers: {}, customSpyStrategies: {}};\n\n      if(runnableResources[parentRunnableId]){\n        resources.customEqualityTesters = j$.util.clone(runnableResources[parentRunnableId].customEqualityTesters);\n        resources.customMatchers = j$.util.clone(runnableResources[parentRunnableId].customMatchers);\n      }\n\n      runnableResources[id] = resources;\n    };\n\n    var clearResourcesForRunnable = function(id) {\n        spyRegistry.clearSpies();\n        delete runnableResources[id];\n    };\n\n    var beforeAndAfterFns = function(suite) {\n      return function() {\n        var befores = [],\n          afters = [];\n\n        while(suite) {\n          befores = befores.concat(suite.beforeFns);\n          afters = afters.concat(suite.afterFns);\n\n          suite = suite.parentSuite;\n        }\n\n        return {\n          befores: befores.reverse(),\n          afters: afters\n        };\n      };\n    };\n\n    var getSpecName = function(spec, suite) {\n      var fullName = [spec.description],\n          suiteFullName = suite.getFullName();\n\n      if (suiteFullName !== '') {\n        fullName.unshift(suiteFullName);\n      }\n      return fullName.join(' ');\n    };\n\n    // TODO: we may just be able to pass in the fn instead of wrapping here\n    var buildExpectationResult = j$.buildExpectationResult,\n        exceptionFormatter = new j$.ExceptionFormatter(),\n        expectationResultFactory = function(attrs) {\n          attrs.messageFormatter = exceptionFormatter.message;\n          attrs.stackFormatter = exceptionFormatter.stack;\n\n          return buildExpectationResult(attrs);\n        };\n\n    var maximumSpecCallbackDepth = 20;\n    var currentSpecCallbackDepth = 0;\n\n    /**\n     * Sets whether Jasmine should throw an Error when an expectation fails.\n     * This causes a spec to only have one expectation failure.\n     * @name Env#throwOnExpectationFailure\n     * @function\n     * @param {Boolean} value Whether to throw when a expectation fails\n     * @deprecated Use the `oneFailurePerSpec` option with {@link Env#configure}\n     */\n    this.throwOnExpectationFailure = function(value) {\n      this.deprecated('Setting throwOnExpectationFailure directly on Env is deprecated, please use the oneFailurePerSpec option in `configure`');\n      this.configure({oneFailurePerSpec: !!value});\n    };\n\n    this.throwingExpectationFailures = function() {\n      this.deprecated('Getting throwingExpectationFailures directly from Env is deprecated, please check the oneFailurePerSpec option from `configuration`');\n      return config.oneFailurePerSpec;\n    };\n\n    /**\n     * Set whether to stop suite execution when a spec fails\n     * @name Env#stopOnSpecFailure\n     * @function\n     * @param {Boolean} value Whether to stop suite execution when a spec fails\n     * @deprecated Use the `failFast` option with {@link Env#configure}\n     */\n    this.stopOnSpecFailure = function(value) {\n      this.deprecated('Setting stopOnSpecFailure directly is deprecated, please use the failFast option in `configure`');\n      this.configure({failFast: !!value});\n    };\n\n    this.stoppingOnSpecFailure = function() {\n      this.deprecated('Getting stoppingOnSpecFailure directly from Env is deprecated, please check the failFast option from `configuration`');\n      return config.failFast;\n    };\n\n    /**\n     * Set whether to randomize test execution order\n     * @name Env#randomizeTests\n     * @function\n     * @param {Boolean} value Whether to randomize execution order\n     * @deprecated Use the `random` option with {@link Env#configure}\n     */\n    this.randomizeTests = function(value) {\n      this.deprecated('Setting randomizeTests directly is deprecated, please use the random option in `configure`');\n      config.random = !!value;\n    };\n\n    this.randomTests = function() {\n      this.deprecated('Getting randomTests directly from Env is deprecated, please check the random option from `configuration`');\n      return config.random;\n    };\n\n    /**\n     * Set the random number seed for spec randomization\n     * @name Env#seed\n     * @function\n     * @param {Number} value The seed value\n     * @deprecated Use the `seed` option with {@link Env#configure}\n     */\n    this.seed = function(value) {\n      this.deprecated('Setting seed directly is deprecated, please use the seed option in `configure`');\n      if (value) {\n        config.seed = value;\n      }\n      return config.seed;\n    };\n\n    this.hidingDisabled = function(value) {\n      this.deprecated('Getting hidingDisabled directly from Env is deprecated, please check the hideDisabled option from `configuration`');\n      return config.hideDisabled;\n    };\n\n    /**\n     * @name Env#hideDisabled\n     * @function\n     */\n    this.hideDisabled = function(value) {\n      this.deprecated('Setting hideDisabled directly is deprecated, please use the hideDisabled option in `configure`');\n      config.hideDisabled = !!value;\n    };\n\n    this.deprecated = function(deprecation) {\n      var runnable = currentRunnable() || topSuite;\n      runnable.addDeprecationWarning(deprecation);\n      if(typeof console !== 'undefined' && typeof console.error === 'function') {\n        console.error('DEPRECATION:', deprecation);\n      }\n    };\n\n    var queueRunnerFactory = function(options, args) {\n      var failFast = false;\n      if (options.isLeaf) {\n        failFast = config.oneFailurePerSpec;\n      } else if (!options.isReporter) {\n        failFast = config.failFast;\n      }\n      options.clearStack = options.clearStack || clearStack;\n      options.timeout = {setTimeout: realSetTimeout, clearTimeout: realClearTimeout};\n      options.fail = self.fail;\n      options.globalErrors = globalErrors;\n      options.completeOnFirstError = failFast;\n      options.onException = options.onException || function(e) {\n        (currentRunnable() || topSuite).onException(e);\n      };\n      options.deprecated = self.deprecated;\n\n      new j$.QueueRunner(options).execute(args);\n    };\n\n    var topSuite = new j$.Suite({\n      env: this,\n      id: getNextSuiteId(),\n      description: 'Jasmine__TopLevel__Suite',\n      expectationFactory: expectationFactory,\n      asyncExpectationFactory: asyncExpectationFactory,\n      expectationResultFactory: expectationResultFactory\n    });\n    defaultResourcesForRunnable(topSuite.id);\n    currentDeclarationSuite = topSuite;\n\n    this.topSuite = function() {\n      return topSuite;\n    };\n\n    /**\n     * This represents the available reporter callback for an object passed to {@link Env#addReporter}.\n     * @interface Reporter\n     * @see custom_reporter\n     */\n    var reporter = new j$.ReportDispatcher([\n      /**\n       * `jasmineStarted` is called after all of the specs have been loaded, but just before execution starts.\n       * @function\n       * @name Reporter#jasmineStarted\n       * @param {JasmineStartedInfo} suiteInfo Information about the full Jasmine suite that is being run\n       * @param {Function} [done] Used to specify to Jasmine that this callback is asynchronous and Jasmine should wait until it has been called before moving on.\n       * @returns {} Optionally return a Promise instead of using `done` to cause Jasmine to wait for completion.\n       * @see async\n       */\n      'jasmineStarted',\n      /**\n       * When the entire suite has finished execution `jasmineDone` is called\n       * @function\n       * @name Reporter#jasmineDone\n       * @param {JasmineDoneInfo} suiteInfo Information about the full Jasmine suite that just finished running.\n       * @param {Function} [done] Used to specify to Jasmine that this callback is asynchronous and Jasmine should wait until it has been called before moving on.\n       * @returns {} Optionally return a Promise instead of using `done` to cause Jasmine to wait for completion.\n       * @see async\n       */\n      'jasmineDone',\n      /**\n       * `suiteStarted` is invoked when a `describe` starts to run\n       * @function\n       * @name Reporter#suiteStarted\n       * @param {SuiteResult} result Information about the individual {@link describe} being run\n       * @param {Function} [done] Used to specify to Jasmine that this callback is asynchronous and Jasmine should wait until it has been called before moving on.\n       * @returns {} Optionally return a Promise instead of using `done` to cause Jasmine to wait for completion.\n       * @see async\n       */\n      'suiteStarted',\n      /**\n       * `suiteDone` is invoked when all of the child specs and suites for a given suite have been run\n       *\n       * While jasmine doesn't require any specific functions, not defining a `suiteDone` will make it impossible for a reporter to know when a suite has failures in an `afterAll`.\n       * @function\n       * @name Reporter#suiteDone\n       * @param {SuiteResult} result\n       * @param {Function} [done] Used to specify to Jasmine that this callback is asynchronous and Jasmine should wait until it has been called before moving on.\n       * @returns {} Optionally return a Promise instead of using `done` to cause Jasmine to wait for completion.\n       * @see async\n       */\n      'suiteDone',\n      /**\n       * `specStarted` is invoked when an `it` starts to run (including associated `beforeEach` functions)\n       * @function\n       * @name Reporter#specStarted\n       * @param {SpecResult} result Information about the individual {@link it} being run\n       * @param {Function} [done] Used to specify to Jasmine that this callback is asynchronous and Jasmine should wait until it has been called before moving on.\n       * @returns {} Optionally return a Promise instead of using `done` to cause Jasmine to wait for completion.\n       * @see async\n       */\n      'specStarted',\n      /**\n       * `specDone` is invoked when an `it` and its associated `beforeEach` and `afterEach` functions have been run.\n       *\n       * While jasmine doesn't require any specific functions, not defining a `specDone` will make it impossible for a reporter to know when a spec has failed.\n       * @function\n       * @name Reporter#specDone\n       * @param {SpecResult} result\n       * @param {Function} [done] Used to specify to Jasmine that this callback is asynchronous and Jasmine should wait until it has been called before moving on.\n       * @returns {} Optionally return a Promise instead of using `done` to cause Jasmine to wait for completion.\n       * @see async\n       */\n      'specDone'\n    ], queueRunnerFactory);\n\n    this.execute = function(runnablesToRun) {\n      var self = this;\n      installGlobalErrors();\n\n      if(!runnablesToRun) {\n        if (focusedRunnables.length) {\n          runnablesToRun = focusedRunnables;\n        } else {\n          runnablesToRun = [topSuite.id];\n        }\n      }\n\n      var order = new j$.Order({\n        random: config.random,\n        seed: config.seed\n      });\n\n      var processor = new j$.TreeProcessor({\n        tree: topSuite,\n        runnableIds: runnablesToRun,\n        queueRunnerFactory: queueRunnerFactory,\n        nodeStart: function(suite, next) {\n          currentlyExecutingSuites.push(suite);\n          defaultResourcesForRunnable(suite.id, suite.parentSuite.id);\n          reporter.suiteStarted(suite.result, next);\n          suite.startTimer();\n        },\n        nodeComplete: function(suite, result, next) {\n          if (suite !== currentSuite()) {\n            throw new Error('Tried to complete the wrong suite');\n          }\n\n          clearResourcesForRunnable(suite.id);\n          currentlyExecutingSuites.pop();\n\n          if (result.status === 'failed') {\n            hasFailures = true;\n          }\n          suite.endTimer();\n          reporter.suiteDone(result, next);\n        },\n        orderChildren: function(node) {\n          return order.sort(node.children);\n        },\n        excludeNode: function(spec) {\n          return !config.specFilter(spec);\n        }\n      });\n\n      if(!processor.processTree().valid) {\n        throw new Error('Invalid order: would cause a beforeAll or afterAll to be run multiple times');\n      }\n\n      /**\n       * Information passed to the {@link Reporter#jasmineStarted} event.\n       * @typedef JasmineStartedInfo\n       * @property {Int} totalSpecsDefined - The total number of specs defined in this suite.\n       * @property {Order} order - Information about the ordering (random or not) of this execution of the suite.\n       */\n      reporter.jasmineStarted({\n        totalSpecsDefined: totalSpecsDefined,\n        order: order\n      }, function() {\n        currentlyExecutingSuites.push(topSuite);\n\n        processor.execute(function () {\n          clearResourcesForRunnable(topSuite.id);\n          currentlyExecutingSuites.pop();\n          var overallStatus, incompleteReason;\n\n          if (hasFailures || topSuite.result.failedExpectations.length > 0) {\n            overallStatus = 'failed';\n          } else if (focusedRunnables.length > 0) {\n            overallStatus = 'incomplete';\n            incompleteReason = 'fit() or fdescribe() was found';\n          } else if (totalSpecsDefined === 0) {\n            overallStatus = 'incomplete';\n            incompleteReason = 'No specs found';\n          } else {\n            overallStatus = 'passed';\n          }\n\n          /**\n           * Information passed to the {@link Reporter#jasmineDone} event.\n           * @typedef JasmineDoneInfo\n           * @property {OverallStatus} overallStatus - The overall result of the suite: 'passed', 'failed', or 'incomplete'.\n           * @property {IncompleteReason} incompleteReason - Explanation of why the suite was incomplete.\n           * @property {Order} order - Information about the ordering (random or not) of this execution of the suite.\n           * @property {Expectation[]} failedExpectations - List of expectations that failed in an {@link afterAll} at the global level.\n           * @property {Expectation[]} deprecationWarnings - List of deprecation warnings that occurred at the global level.\n           */\n          reporter.jasmineDone({\n            overallStatus: overallStatus,\n            incompleteReason: incompleteReason,\n            order: order,\n            failedExpectations: topSuite.result.failedExpectations,\n            deprecationWarnings: topSuite.result.deprecationWarnings\n          }, function() {});\n        });\n      });\n    };\n\n    /**\n     * Add a custom reporter to the Jasmine environment.\n     * @name Env#addReporter\n     * @function\n     * @param {Reporter} reporterToAdd The reporter to be added.\n     * @see custom_reporter\n     */\n    this.addReporter = function(reporterToAdd) {\n      reporter.addReporter(reporterToAdd);\n    };\n\n    /**\n     * Provide a fallback reporter if no other reporters have been specified.\n     * @name Env#provideFallbackReporter\n     * @function\n     * @param {Reporter} reporterToAdd The reporter\n     * @see custom_reporter\n     */\n    this.provideFallbackReporter = function(reporterToAdd) {\n      reporter.provideFallbackReporter(reporterToAdd);\n    };\n\n    /**\n     * Clear all registered reporters\n     * @name Env#clearReporters\n     * @function\n     */\n    this.clearReporters = function() {\n      reporter.clearReporters();\n    };\n\n    var spyFactory = new j$.SpyFactory(function() {\n      var runnable = currentRunnable();\n\n      if (runnable) {\n        return runnableResources[runnable.id].customSpyStrategies;\n      }\n\n      return {};\n    });\n\n    var spyRegistry = new j$.SpyRegistry({\n      currentSpies: function() {\n        if(!currentRunnable()) {\n          throw new Error('Spies must be created in a before function or a spec');\n        }\n        return runnableResources[currentRunnable().id].spies;\n      },\n      createSpy: function(name, originalFn) {\n        return self.createSpy(name, originalFn);\n      }\n    });\n\n    this.allowRespy = function(allow){\n      spyRegistry.allowRespy(allow);\n    };\n\n    this.spyOn = function() {\n      return spyRegistry.spyOn.apply(spyRegistry, arguments);\n    };\n\n    this.spyOnProperty = function() {\n      return spyRegistry.spyOnProperty.apply(spyRegistry, arguments);\n    };\n\n    this.spyOnAllFunctions = function() {\n      return spyRegistry.spyOnAllFunctions.apply(spyRegistry, arguments);\n    };\n\n    this.createSpy = function(name, originalFn) {\n      if (arguments.length === 1 && j$.isFunction_(name)) {\n        originalFn = name;\n        name = originalFn.name;\n      }\n\n      return spyFactory.createSpy(name, originalFn);\n    };\n\n    this.createSpyObj = function(baseName, methodNames) {\n      return spyFactory.createSpyObj(baseName, methodNames);\n    };\n\n    var ensureIsFunction = function(fn, caller) {\n      if (!j$.isFunction_(fn)) {\n        throw new Error(caller + ' expects a function argument; received ' + j$.getType_(fn));\n      }\n    };\n\n    var ensureIsFunctionOrAsync = function(fn, caller) {\n      if (!j$.isFunction_(fn) && !j$.isAsyncFunction_(fn)) {\n        throw new Error(caller + ' expects a function argument; received ' + j$.getType_(fn));\n      }\n    };\n\n    function ensureIsNotNested(method) {\n      var runnable = currentRunnable();\n      if (runnable !== null && runnable !== undefined) {\n        throw new Error('\\'' + method + '\\' should only be used in \\'describe\\' function');\n      }\n    }\n\n    var suiteFactory = function(description) {\n      var suite = new j$.Suite({\n        env: self,\n        id: getNextSuiteId(),\n        description: description,\n        parentSuite: currentDeclarationSuite,\n        expectationFactory: expectationFactory,\n        asyncExpectationFactory: asyncExpectationFactory,\n        expectationResultFactory: expectationResultFactory,\n        throwOnExpectationFailure: config.oneFailurePerSpec\n      });\n\n      return suite;\n    };\n\n    this.describe = function(description, specDefinitions) {\n      ensureIsNotNested('describe');\n      ensureIsFunction(specDefinitions, 'describe');\n      var suite = suiteFactory(description);\n      if (specDefinitions.length > 0) {\n        throw new Error('describe does not expect any arguments');\n      }\n      if (currentDeclarationSuite.markedPending) {\n        suite.pend();\n      }\n      addSpecsToSuite(suite, specDefinitions);\n      return suite;\n    };\n\n    this.xdescribe = function(description, specDefinitions) {\n      ensureIsNotNested('xdescribe');\n      ensureIsFunction(specDefinitions, 'xdescribe');\n      var suite = suiteFactory(description);\n      suite.pend();\n      addSpecsToSuite(suite, specDefinitions);\n      return suite;\n    };\n\n    var focusedRunnables = [];\n\n    this.fdescribe = function(description, specDefinitions) {\n      ensureIsNotNested('fdescribe');\n      ensureIsFunction(specDefinitions, 'fdescribe');\n      var suite = suiteFactory(description);\n      suite.isFocused = true;\n\n      focusedRunnables.push(suite.id);\n      unfocusAncestor();\n      addSpecsToSuite(suite, specDefinitions);\n\n      return suite;\n    };\n\n    function addSpecsToSuite(suite, specDefinitions) {\n      var parentSuite = currentDeclarationSuite;\n      parentSuite.addChild(suite);\n      currentDeclarationSuite = suite;\n\n      var declarationError = null;\n      try {\n        specDefinitions.call(suite);\n      } catch (e) {\n        declarationError = e;\n      }\n\n      if (declarationError) {\n        suite.onException(declarationError);\n      }\n\n      currentDeclarationSuite = parentSuite;\n    }\n\n    function findFocusedAncestor(suite) {\n      while (suite) {\n        if (suite.isFocused) {\n          return suite.id;\n        }\n        suite = suite.parentSuite;\n      }\n\n      return null;\n    }\n\n    function unfocusAncestor() {\n      var focusedAncestor = findFocusedAncestor(currentDeclarationSuite);\n      if (focusedAncestor) {\n        for (var i = 0; i < focusedRunnables.length; i++) {\n          if (focusedRunnables[i] === focusedAncestor) {\n            focusedRunnables.splice(i, 1);\n            break;\n          }\n        }\n      }\n    }\n\n    var specFactory = function(description, fn, suite, timeout) {\n      totalSpecsDefined++;\n      var spec = new j$.Spec({\n        id: getNextSpecId(),\n        beforeAndAfterFns: beforeAndAfterFns(suite),\n        expectationFactory: expectationFactory,\n        asyncExpectationFactory: asyncExpectationFactory,\n        resultCallback: specResultCallback,\n        getSpecName: function(spec) {\n          return getSpecName(spec, suite);\n        },\n        onStart: specStarted,\n        description: description,\n        expectationResultFactory: expectationResultFactory,\n        queueRunnerFactory: queueRunnerFactory,\n        userContext: function() { return suite.clonedSharedUserContext(); },\n        queueableFn: {\n          fn: fn,\n          timeout: timeout || 0\n        },\n        throwOnExpectationFailure: config.oneFailurePerSpec,\n        timer: new j$.Timer(),\n      });\n      return spec;\n\n      function specResultCallback(result, next) {\n        clearResourcesForRunnable(spec.id);\n        currentSpec = null;\n\n        if (result.status === 'failed') {\n          hasFailures = true;\n        }\n\n        reporter.specDone(result, next);\n      }\n\n      function specStarted(spec, next) {\n        currentSpec = spec;\n        defaultResourcesForRunnable(spec.id, suite.id);\n        reporter.specStarted(spec.result, next);\n      }\n    };\n\n    this.it = function(description, fn, timeout) {\n      ensureIsNotNested('it');\n      // it() sometimes doesn't have a fn argument, so only check the type if\n      // it's given.\n      if (arguments.length > 1 && typeof fn !== 'undefined') {\n        ensureIsFunctionOrAsync(fn, 'it');\n      }\n      var spec = specFactory(description, fn, currentDeclarationSuite, timeout);\n      if (currentDeclarationSuite.markedPending) {\n        spec.pend();\n      }\n      currentDeclarationSuite.addChild(spec);\n      return spec;\n    };\n\n    this.xit = function(description, fn, timeout) {\n      ensureIsNotNested('xit');\n      // xit(), like it(), doesn't always have a fn argument, so only check the\n      // type when needed.\n      if (arguments.length > 1 && typeof fn !== 'undefined') {\n        ensureIsFunctionOrAsync(fn, 'xit');\n      }\n      var spec = this.it.apply(this, arguments);\n      spec.pend('Temporarily disabled with xit');\n      return spec;\n    };\n\n    this.fit = function(description, fn, timeout){\n      ensureIsNotNested('fit');\n      ensureIsFunctionOrAsync(fn, 'fit');\n      var spec = specFactory(description, fn, currentDeclarationSuite, timeout);\n      currentDeclarationSuite.addChild(spec);\n      focusedRunnables.push(spec.id);\n      unfocusAncestor();\n      return spec;\n    };\n\n    this.expect = function(actual) {\n      if (!currentRunnable()) {\n        throw new Error('\\'expect\\' was used when there was no current spec, this could be because an asynchronous test timed out');\n      }\n\n      return currentRunnable().expect(actual);\n    };\n\n    this.expectAsync = function(actual) {\n      if (!currentRunnable()) {\n        throw new Error('\\'expectAsync\\' was used when there was no current spec, this could be because an asynchronous test timed out');\n      }\n\n      return currentRunnable().expectAsync(actual);\n    };\n\n    this.beforeEach = function(beforeEachFunction, timeout) {\n      ensureIsNotNested('beforeEach');\n      ensureIsFunctionOrAsync(beforeEachFunction, 'beforeEach');\n      currentDeclarationSuite.beforeEach({\n        fn: beforeEachFunction,\n        timeout: timeout || 0\n      });\n    };\n\n    this.beforeAll = function(beforeAllFunction, timeout) {\n      ensureIsNotNested('beforeAll');\n      ensureIsFunctionOrAsync(beforeAllFunction, 'beforeAll');\n      currentDeclarationSuite.beforeAll({\n        fn: beforeAllFunction,\n        timeout: timeout || 0\n      });\n    };\n\n    this.afterEach = function(afterEachFunction, timeout) {\n      ensureIsNotNested('afterEach');\n      ensureIsFunctionOrAsync(afterEachFunction, 'afterEach');\n      afterEachFunction.isCleanup = true;\n      currentDeclarationSuite.afterEach({\n        fn: afterEachFunction,\n        timeout: timeout || 0\n      });\n    };\n\n    this.afterAll = function(afterAllFunction, timeout) {\n      ensureIsNotNested('afterAll');\n      ensureIsFunctionOrAsync(afterAllFunction, 'afterAll');\n      currentDeclarationSuite.afterAll({\n        fn: afterAllFunction,\n        timeout: timeout || 0\n      });\n    };\n\n    this.pending = function(message) {\n      var fullMessage = j$.Spec.pendingSpecExceptionMessage;\n      if(message) {\n        fullMessage += message;\n      }\n      throw fullMessage;\n    };\n\n    this.fail = function(error) {\n      if (!currentRunnable()) {\n        throw new Error('\\'fail\\' was used when there was no current spec, this could be because an asynchronous test timed out');\n      }\n\n      var message = 'Failed';\n      if (error) {\n        message += ': ';\n        if (error.message) {\n          message += error.message;\n        } else if (j$.isString_(error)) {\n          message += error;\n        } else {\n          // pretty print all kind of objects. This includes arrays.\n          message += j$.pp(error);\n        }\n      }\n\n      currentRunnable().addExpectationResult(false, {\n        matcherName: '',\n        passed: false,\n        expected: '',\n        actual: '',\n        message: message,\n        error: error && error.message ? error : null\n      });\n\n      if (config.oneFailurePerSpec) {\n        throw new Error(message);\n      }\n    };\n  }\n\n  return Env;\n};\n\ngetJasmineRequireObj().JsApiReporter = function(j$) {\n  /**\n   * @name jsApiReporter\n   * @classdesc {@link Reporter} added by default in `boot.js` to record results for retrieval in javascript code. An instance is made available as `jsApiReporter` on the global object.\n   * @class\n   * @hideconstructor\n   */\n  function JsApiReporter(options) {\n    var timer = options.timer || j$.noopTimer,\n        status = 'loaded';\n\n    this.started = false;\n    this.finished = false;\n    this.runDetails = {};\n\n    this.jasmineStarted = function() {\n      this.started = true;\n      status = 'started';\n      timer.start();\n    };\n\n    var executionTime;\n\n    this.jasmineDone = function(runDetails) {\n      this.finished = true;\n      this.runDetails = runDetails;\n      executionTime = timer.elapsed();\n      status = 'done';\n    };\n\n    /**\n     * Get the current status for the Jasmine environment.\n     * @name jsApiReporter#status\n     * @function\n     * @return {String} - One of `loaded`, `started`, or `done`\n     */\n    this.status = function() {\n      return status;\n    };\n\n    var suites = [],\n      suites_hash = {};\n\n    this.suiteStarted = function(result) {\n      suites_hash[result.id] = result;\n    };\n\n    this.suiteDone = function(result) {\n      storeSuite(result);\n    };\n\n    /**\n     * Get the results for a set of suites.\n     *\n     * Retrievable in slices for easier serialization.\n     * @name jsApiReporter#suiteResults\n     * @function\n     * @param {Number} index - The position in the suites list to start from.\n     * @param {Number} length - Maximum number of suite results to return.\n     * @return {SuiteResult[]}\n     */\n    this.suiteResults = function(index, length) {\n      return suites.slice(index, index + length);\n    };\n\n    function storeSuite(result) {\n      suites.push(result);\n      suites_hash[result.id] = result;\n    }\n\n    /**\n     * Get all of the suites in a single object, with their `id` as the key.\n     * @name jsApiReporter#suites\n     * @function\n     * @return {Object} - Map of suite id to {@link SuiteResult}\n     */\n    this.suites = function() {\n      return suites_hash;\n    };\n\n    var specs = [];\n\n    this.specDone = function(result) {\n      specs.push(result);\n    };\n\n    /**\n     * Get the results for a set of specs.\n     *\n     * Retrievable in slices for easier serialization.\n     * @name jsApiReporter#specResults\n     * @function\n     * @param {Number} index - The position in the specs list to start from.\n     * @param {Number} length - Maximum number of specs results to return.\n     * @return {SpecResult[]}\n     */\n    this.specResults = function(index, length) {\n      return specs.slice(index, index + length);\n    };\n\n    /**\n     * Get all spec results.\n     * @name jsApiReporter#specs\n     * @function\n     * @return {SpecResult[]}\n     */\n    this.specs = function() {\n      return specs;\n    };\n\n    /**\n     * Get the number of milliseconds it took for the full Jasmine suite to run.\n     * @name jsApiReporter#executionTime\n     * @function\n     * @return {Number}\n     */\n    this.executionTime = function() {\n      return executionTime;\n    };\n\n  }\n\n  return JsApiReporter;\n};\n\ngetJasmineRequireObj().Any = function(j$) {\n\n  function Any(expectedObject) {\n    if (typeof expectedObject === 'undefined') {\n      throw new TypeError(\n        'jasmine.any() expects to be passed a constructor function. ' +\n        'Please pass one or use jasmine.anything() to match any object.'\n      );\n    }\n    this.expectedObject = expectedObject;\n  }\n\n  Any.prototype.asymmetricMatch = function(other) {\n    if (this.expectedObject == String) {\n      return typeof other == 'string' || other instanceof String;\n    }\n\n    if (this.expectedObject == Number) {\n      return typeof other == 'number' || other instanceof Number;\n    }\n\n    if (this.expectedObject == Function) {\n      return typeof other == 'function' || other instanceof Function;\n    }\n\n    if (this.expectedObject == Object) {\n      return other !== null && typeof other == 'object';\n    }\n\n    if (this.expectedObject == Boolean) {\n      return typeof other == 'boolean';\n    }\n\n    /* jshint -W122 */\n    /* global Symbol */\n    if (typeof Symbol != 'undefined' && this.expectedObject == Symbol) {\n      return typeof other == 'symbol';\n    }\n    /* jshint +W122 */\n\n    return other instanceof this.expectedObject;\n  };\n\n  Any.prototype.jasmineToString = function() {\n    return '<jasmine.any(' + j$.fnNameFor(this.expectedObject) + ')>';\n  };\n\n  return Any;\n};\n\ngetJasmineRequireObj().Anything = function(j$) {\n\n  function Anything() {}\n\n  Anything.prototype.asymmetricMatch = function(other) {\n    return !j$.util.isUndefined(other) && other !== null;\n  };\n\n  Anything.prototype.jasmineToString = function() {\n    return '<jasmine.anything>';\n  };\n\n  return Anything;\n};\n\ngetJasmineRequireObj().ArrayContaining = function(j$) {\n  function ArrayContaining(sample) {\n    this.sample = sample;\n  }\n\n  ArrayContaining.prototype.asymmetricMatch = function(other, customTesters) {\n    if (!j$.isArray_(this.sample)) {\n      throw new Error('You must provide an array to arrayContaining, not ' + j$.pp(this.sample) + '.');\n    }\n\n    for (var i = 0; i < this.sample.length; i++) {\n      var item = this.sample[i];\n      if (!j$.matchersUtil.contains(other, item, customTesters)) {\n        return false;\n      }\n    }\n\n    return true;\n  };\n\n  ArrayContaining.prototype.jasmineToString = function () {\n    return '<jasmine.arrayContaining(' + j$.pp(this.sample) +')>';\n  };\n\n  return ArrayContaining;\n};\n\ngetJasmineRequireObj().ArrayWithExactContents = function(j$) {\n\n  function ArrayWithExactContents(sample) {\n    this.sample = sample;\n  }\n\n  ArrayWithExactContents.prototype.asymmetricMatch = function(other, customTesters) {\n    if (!j$.isArray_(this.sample)) {\n      throw new Error('You must provide an array to arrayWithExactContents, not ' + j$.pp(this.sample) + '.');\n    }\n\n    if (this.sample.length !== other.length) {\n      return false;\n    }\n\n    for (var i = 0; i < this.sample.length; i++) {\n      var item = this.sample[i];\n      if (!j$.matchersUtil.contains(other, item, customTesters)) {\n        return false;\n      }\n    }\n\n    return true;\n  };\n\n  ArrayWithExactContents.prototype.jasmineToString = function() {\n    return '<jasmine.arrayWithExactContents ' + j$.pp(this.sample) + '>';\n  };\n\n  return ArrayWithExactContents;\n};\n\ngetJasmineRequireObj().Empty = function (j$) {\n\n  function Empty() {}\n\n  Empty.prototype.asymmetricMatch = function (other) {\n    if (j$.isString_(other) || j$.isArray_(other) || j$.isTypedArray_(other)) {\n      return other.length === 0;\n    }\n\n    if (j$.isMap(other) || j$.isSet(other)) {\n      return other.size === 0;\n    }\n\n    if (j$.isObject_(other)) {\n      return Object.keys(other).length === 0;\n    }\n    return false;\n  };\n\n  Empty.prototype.jasmineToString = function () {\n    return '<jasmine.empty>';\n  };\n\n  return Empty;\n};\n\ngetJasmineRequireObj().Falsy = function(j$) {\n\n  function Falsy() {}\n\n  Falsy.prototype.asymmetricMatch = function(other) {\n    return !other;\n  };\n\n  Falsy.prototype.jasmineToString = function() {\n    return '<jasmine.falsy>';\n  };\n\n  return Falsy;\n};\n\ngetJasmineRequireObj().NotEmpty = function (j$) {\n\n  function NotEmpty() {}\n\n  NotEmpty.prototype.asymmetricMatch = function (other) {\n    if (j$.isString_(other) || j$.isArray_(other) || j$.isTypedArray_(other)) {\n      return other.length !== 0;\n    }\n\n    if (j$.isMap(other) || j$.isSet(other)) {\n      return other.size !== 0;\n    }\n\n    if (j$.isObject_(other)) {\n      return Object.keys(other).length !== 0;\n    }\n\n    return false;\n  };\n\n  NotEmpty.prototype.jasmineToString = function () {\n    return '<jasmine.notEmpty>';\n  };\n\n  return NotEmpty;\n};\n\ngetJasmineRequireObj().ObjectContaining = function(j$) {\n\n  function ObjectContaining(sample) {\n    this.sample = sample;\n  }\n\n  function getPrototype(obj) {\n    if (Object.getPrototypeOf) {\n      return Object.getPrototypeOf(obj);\n    }\n\n    if (obj.constructor.prototype == obj) {\n      return null;\n    }\n\n    return obj.constructor.prototype;\n  }\n\n  function hasProperty(obj, property) {\n    if (!obj) {\n      return false;\n    }\n\n    if (Object.prototype.hasOwnProperty.call(obj, property)) {\n      return true;\n    }\n\n    return hasProperty(getPrototype(obj), property);\n  }\n\n  ObjectContaining.prototype.asymmetricMatch = function(other, customTesters) {\n    if (typeof(this.sample) !== 'object') { throw new Error('You must provide an object to objectContaining, not \\''+this.sample+'\\'.'); }\n\n    for (var property in this.sample) {\n      if (!hasProperty(other, property) ||\n          !j$.matchersUtil.equals(this.sample[property], other[property], customTesters)) {\n        return false;\n      }\n    }\n\n    return true;\n  };\n\n  ObjectContaining.prototype.jasmineToString = function() {\n    return '<jasmine.objectContaining(' + j$.pp(this.sample) + ')>';\n  };\n\n  return ObjectContaining;\n};\n\ngetJasmineRequireObj().StringMatching = function(j$) {\n\n  function StringMatching(expected) {\n    if (!j$.isString_(expected) && !j$.isA_('RegExp', expected)) {\n      throw new Error('Expected is not a String or a RegExp');\n    }\n\n    this.regexp = new RegExp(expected);\n  }\n\n  StringMatching.prototype.asymmetricMatch = function(other) {\n    return this.regexp.test(other);\n  };\n\n  StringMatching.prototype.jasmineToString = function() {\n    return '<jasmine.stringMatching(' + this.regexp + ')>';\n  };\n\n  return StringMatching;\n};\n\ngetJasmineRequireObj().Truthy = function(j$) {\n\n  function Truthy() {}\n\n  Truthy.prototype.asymmetricMatch = function(other) {\n    return !!other;\n  };\n\n  Truthy.prototype.jasmineToString = function() {\n    return '<jasmine.truthy>';\n  };\n\n  return Truthy;\n};\n\ngetJasmineRequireObj().CallTracker = function(j$) {\n\n  /**\n   * @namespace Spy#calls\n   */\n  function CallTracker() {\n    var calls = [];\n    var opts = {};\n\n    this.track = function(context) {\n      if(opts.cloneArgs) {\n        context.args = j$.util.cloneArgs(context.args);\n      }\n      calls.push(context);\n    };\n\n    /**\n     * Check whether this spy has been invoked.\n     * @name Spy#calls#any\n     * @function\n     * @return {Boolean}\n     */\n    this.any = function() {\n      return !!calls.length;\n    };\n\n    /**\n     * Get the number of invocations of this spy.\n     * @name Spy#calls#count\n     * @function\n     * @return {Integer}\n     */\n    this.count = function() {\n      return calls.length;\n    };\n\n    /**\n     * Get the arguments that were passed to a specific invocation of this spy.\n     * @name Spy#calls#argsFor\n     * @function\n     * @param {Integer} index The 0-based invocation index.\n     * @return {Array}\n     */\n    this.argsFor = function(index) {\n      var call = calls[index];\n      return call ? call.args : [];\n    };\n\n    /**\n     * Get the raw calls array for this spy.\n     * @name Spy#calls#all\n     * @function\n     * @return {Spy.callData[]}\n     */\n    this.all = function() {\n      return calls;\n    };\n\n    /**\n     * Get all of the arguments for each invocation of this spy in the order they were received.\n     * @name Spy#calls#allArgs\n     * @function\n     * @return {Array}\n     */\n    this.allArgs = function() {\n      var callArgs = [];\n      for(var i = 0; i < calls.length; i++){\n        callArgs.push(calls[i].args);\n      }\n\n      return callArgs;\n    };\n\n    /**\n     * Get the first invocation of this spy.\n     * @name Spy#calls#first\n     * @function\n     * @return {ObjecSpy.callData}\n     */\n    this.first = function() {\n      return calls[0];\n    };\n\n    /**\n     * Get the most recent invocation of this spy.\n     * @name Spy#calls#mostRecent\n     * @function\n     * @return {ObjecSpy.callData}\n     */\n    this.mostRecent = function() {\n      return calls[calls.length - 1];\n    };\n\n    /**\n     * Reset this spy as if it has never been called.\n     * @name Spy#calls#reset\n     * @function\n     */\n    this.reset = function() {\n      calls = [];\n    };\n\n    /**\n     * Set this spy to do a shallow clone of arguments passed to each invocation.\n     * @name Spy#calls#saveArgumentsByValue\n     * @function\n     */\n    this.saveArgumentsByValue = function() {\n      opts.cloneArgs = true;\n    };\n\n  }\n\n  return CallTracker;\n};\n\ngetJasmineRequireObj().clearStack = function(j$) {\n  var maxInlineCallCount = 10;\n\n  function messageChannelImpl(global, setTimeout) {\n    var channel = new global.MessageChannel(),\n        head = {},\n        tail = head;\n\n    var taskRunning = false;\n    channel.port1.onmessage = function() {\n      head = head.next;\n      var task = head.task;\n      delete head.task;\n\n      if (taskRunning) {\n        global.setTimeout(task, 0);\n      } else {\n        try {\n          taskRunning = true;\n          task();\n        } finally {\n          taskRunning = false;\n        }\n      }\n    };\n\n    var currentCallCount = 0;\n    return function clearStack(fn) {\n      currentCallCount++;\n\n      if (currentCallCount < maxInlineCallCount) {\n        tail = tail.next = { task: fn };\n        channel.port2.postMessage(0);\n      } else {\n        currentCallCount = 0;\n        setTimeout(fn);\n      }\n    };\n  }\n\n  function getClearStack(global) {\n    var currentCallCount = 0;\n    var realSetTimeout = global.setTimeout;\n    var setTimeoutImpl = function clearStack(fn) {\n        Function.prototype.apply.apply(realSetTimeout, [global, [fn, 0]]);\n    };\n\n    if (j$.isFunction_(global.setImmediate)) {\n      var realSetImmediate = global.setImmediate;\n      return function(fn) {\n        currentCallCount++;\n\n        if (currentCallCount < maxInlineCallCount) {\n          realSetImmediate(fn);\n        } else {\n          currentCallCount = 0;\n\n          setTimeoutImpl(fn);\n        }\n      };\n    } else if (!j$.util.isUndefined(global.MessageChannel)) {\n      return messageChannelImpl(global, setTimeoutImpl);\n    } else {\n      return setTimeoutImpl;\n    }\n  }\n\n  return getClearStack;\n};\n\ngetJasmineRequireObj().Clock = function() {\n\n  /* global process */\n  var NODE_JS = typeof process !== 'undefined' && process.versions && typeof process.versions.node === 'string';\n\n  /**\n   * _Note:_ Do not construct this directly, Jasmine will make one during booting. You can get the current clock with {@link jasmine.clock}.\n   * @class Clock\n   * @classdesc Jasmine's mock clock is used when testing time dependent code.\n   */\n  function Clock(global, delayedFunctionSchedulerFactory, mockDate) {\n    var self = this,\n      realTimingFunctions = {\n        setTimeout: global.setTimeout,\n        clearTimeout: global.clearTimeout,\n        setInterval: global.setInterval,\n        clearInterval: global.clearInterval\n      },\n      fakeTimingFunctions = {\n        setTimeout: setTimeout,\n        clearTimeout: clearTimeout,\n        setInterval: setInterval,\n        clearInterval: clearInterval\n      },\n      installed = false,\n      delayedFunctionScheduler,\n      timer;\n\n    self.FakeTimeout = FakeTimeout;\n\n    /**\n     * Install the mock clock over the built-in methods.\n     * @name Clock#install\n     * @function\n     * @return {Clock}\n     */\n    self.install = function() {\n      if(!originalTimingFunctionsIntact()) {\n        throw new Error('Jasmine Clock was unable to install over custom global timer functions. Is the clock already installed?');\n      }\n      replace(global, fakeTimingFunctions);\n      timer = fakeTimingFunctions;\n      delayedFunctionScheduler = delayedFunctionSchedulerFactory();\n      installed = true;\n\n      return self;\n    };\n\n    /**\n     * Uninstall the mock clock, returning the built-in methods to their places.\n     * @name Clock#uninstall\n     * @function\n     */\n    self.uninstall = function() {\n      delayedFunctionScheduler = null;\n      mockDate.uninstall();\n      replace(global, realTimingFunctions);\n\n      timer = realTimingFunctions;\n      installed = false;\n    };\n\n    /**\n     * Execute a function with a mocked Clock\n     *\n     * The clock will be {@link Clock#install|install}ed before the function is called and {@link Clock#uninstall|uninstall}ed in a `finally` after the function completes.\n     * @name Clock#withMock\n     * @function\n     * @param {Function} closure The function to be called.\n     */\n    self.withMock = function(closure) {\n      this.install();\n      try {\n        closure();\n      } finally {\n        this.uninstall();\n      }\n    };\n\n    /**\n     * Instruct the installed Clock to also mock the date returned by `new Date()`\n     * @name Clock#mockDate\n     * @function\n     * @param {Date} [initialDate=now] The `Date` to provide.\n     */\n    self.mockDate = function(initialDate) {\n      mockDate.install(initialDate);\n    };\n\n    self.setTimeout = function(fn, delay, params) {\n      return Function.prototype.apply.apply(timer.setTimeout, [global, arguments]);\n    };\n\n    self.setInterval = function(fn, delay, params) {\n      return Function.prototype.apply.apply(timer.setInterval, [global, arguments]);\n    };\n\n    self.clearTimeout = function(id) {\n      return Function.prototype.call.apply(timer.clearTimeout, [global, id]);\n    };\n\n    self.clearInterval = function(id) {\n      return Function.prototype.call.apply(timer.clearInterval, [global, id]);\n    };\n\n    /**\n     * Tick the Clock forward, running any enqueued timeouts along the way\n     * @name Clock#tick\n     * @function\n     * @param {int} millis The number of milliseconds to tick.\n     */\n    self.tick = function(millis) {\n      if (installed) {\n        delayedFunctionScheduler.tick(millis, function(millis) { mockDate.tick(millis); });\n      } else {\n        throw new Error('Mock clock is not installed, use jasmine.clock().install()');\n      }\n    };\n\n    return self;\n\n    function originalTimingFunctionsIntact() {\n      return global.setTimeout === realTimingFunctions.setTimeout &&\n        global.clearTimeout === realTimingFunctions.clearTimeout &&\n        global.setInterval === realTimingFunctions.setInterval &&\n        global.clearInterval === realTimingFunctions.clearInterval;\n    }\n\n    function replace(dest, source) {\n      for (var prop in source) {\n        dest[prop] = source[prop];\n      }\n    }\n\n    function setTimeout(fn, delay) {\n      if (!NODE_JS) {\n        return delayedFunctionScheduler.scheduleFunction(fn, delay, argSlice(arguments, 2));\n      }\n\n      var timeout = new FakeTimeout();\n\n      delayedFunctionScheduler.scheduleFunction(fn, delay, argSlice(arguments, 2), false, timeout);\n\n      return timeout;\n    }\n\n    function clearTimeout(id) {\n      return delayedFunctionScheduler.removeFunctionWithId(id);\n    }\n\n    function setInterval(fn, interval) {\n      if (!NODE_JS) {\n        return delayedFunctionScheduler.scheduleFunction(fn, interval, argSlice(arguments, 2), true);\n      }\n\n      var timeout = new FakeTimeout();\n\n      delayedFunctionScheduler.scheduleFunction(fn, interval, argSlice(arguments, 2), true, timeout);\n\n      return timeout;\n    }\n\n    function clearInterval(id) {\n      return delayedFunctionScheduler.removeFunctionWithId(id);\n    }\n\n    function argSlice(argsObj, n) {\n      return Array.prototype.slice.call(argsObj, n);\n    }\n  }\n\n  /**\n   * Mocks Node.js Timeout class\n   */\n  function FakeTimeout() {}\n\n  FakeTimeout.prototype.ref = function () {\n    return this;\n  };\n\n  FakeTimeout.prototype.unref = function () {\n    return this;\n  };\n\n  return Clock;\n};\n\ngetJasmineRequireObj().DelayedFunctionScheduler = function(j$) {\n  function DelayedFunctionScheduler() {\n    var self = this;\n    var scheduledLookup = [];\n    var scheduledFunctions = {};\n    var currentTime = 0;\n    var delayedFnCount = 0;\n    var deletedKeys = [];\n\n    self.tick = function(millis, tickDate) {\n      millis = millis || 0;\n      var endTime = currentTime + millis;\n\n      runScheduledFunctions(endTime, tickDate);\n      currentTime = endTime;\n    };\n\n    self.scheduleFunction = function(funcToCall, millis, params, recurring, timeoutKey, runAtMillis) {\n      var f;\n      if (typeof(funcToCall) === 'string') {\n        /* jshint evil: true */\n        f = function() { return eval(funcToCall); };\n        /* jshint evil: false */\n      } else {\n        f = funcToCall;\n      }\n\n      millis = millis || 0;\n      timeoutKey = timeoutKey || ++delayedFnCount;\n      runAtMillis = runAtMillis || (currentTime + millis);\n\n      var funcToSchedule = {\n        runAtMillis: runAtMillis,\n        funcToCall: f,\n        recurring: recurring,\n        params: params,\n        timeoutKey: timeoutKey,\n        millis: millis\n      };\n\n      if (runAtMillis in scheduledFunctions) {\n        scheduledFunctions[runAtMillis].push(funcToSchedule);\n      } else {\n        scheduledFunctions[runAtMillis] = [funcToSchedule];\n        scheduledLookup.push(runAtMillis);\n        scheduledLookup.sort(function (a, b) {\n          return a - b;\n        });\n      }\n\n      return timeoutKey;\n    };\n\n    self.removeFunctionWithId = function(timeoutKey) {\n      deletedKeys.push(timeoutKey);\n\n      for (var runAtMillis in scheduledFunctions) {\n        var funcs = scheduledFunctions[runAtMillis];\n        var i = indexOfFirstToPass(funcs, function (func) {\n          return func.timeoutKey === timeoutKey;\n        });\n\n        if (i > -1) {\n          if (funcs.length === 1) {\n            delete scheduledFunctions[runAtMillis];\n            deleteFromLookup(runAtMillis);\n          } else {\n            funcs.splice(i, 1);\n          }\n\n          // intervals get rescheduled when executed, so there's never more\n          // than a single scheduled function with a given timeoutKey\n          break;\n        }\n      }\n    };\n\n    return self;\n\n    function indexOfFirstToPass(array, testFn) {\n      var index = -1;\n\n      for (var i = 0; i < array.length; ++i) {\n        if (testFn(array[i])) {\n          index = i;\n          break;\n        }\n      }\n\n      return index;\n    }\n\n    function deleteFromLookup(key) {\n      var value = Number(key);\n      var i = indexOfFirstToPass(scheduledLookup, function (millis) {\n        return millis === value;\n      });\n\n      if (i > -1) {\n        scheduledLookup.splice(i, 1);\n      }\n    }\n\n    function reschedule(scheduledFn) {\n      self.scheduleFunction(scheduledFn.funcToCall,\n        scheduledFn.millis,\n        scheduledFn.params,\n        true,\n        scheduledFn.timeoutKey,\n        scheduledFn.runAtMillis + scheduledFn.millis);\n    }\n\n    function forEachFunction(funcsToRun, callback) {\n      for (var i = 0; i < funcsToRun.length; ++i) {\n        callback(funcsToRun[i]);\n      }\n    }\n\n    function runScheduledFunctions(endTime, tickDate) {\n      tickDate = tickDate || function() {};\n      if (scheduledLookup.length === 0 || scheduledLookup[0] > endTime) {\n        tickDate(endTime - currentTime);\n        return;\n      }\n\n      do {\n        deletedKeys = [];\n        var newCurrentTime = scheduledLookup.shift();\n        tickDate(newCurrentTime - currentTime);\n\n        currentTime = newCurrentTime;\n\n        var funcsToRun = scheduledFunctions[currentTime];\n\n        delete scheduledFunctions[currentTime];\n\n        forEachFunction(funcsToRun, function(funcToRun) {\n          if (funcToRun.recurring) {\n            reschedule(funcToRun);\n          }\n        });\n\n        forEachFunction(funcsToRun, function(funcToRun) {\n          if (j$.util.arrayContains(deletedKeys, funcToRun.timeoutKey)) {\n            // skip a timeoutKey deleted whilst we were running\n            return;\n          }\n          funcToRun.funcToCall.apply(null, funcToRun.params || []);\n        });\n        deletedKeys = [];\n      } while (scheduledLookup.length > 0 &&\n              // checking first if we're out of time prevents setTimeout(0)\n              // scheduled in a funcToRun from forcing an extra iteration\n                 currentTime !== endTime  &&\n                 scheduledLookup[0] <= endTime);\n\n      // ran out of functions to call, but still time left on the clock\n      if (currentTime !== endTime) {\n        tickDate(endTime - currentTime);\n      }\n    }\n  }\n\n  return DelayedFunctionScheduler;\n};\n\ngetJasmineRequireObj().errors = function() {\n  function ExpectationFailed() {}\n\n  ExpectationFailed.prototype = new Error();\n  ExpectationFailed.prototype.constructor = ExpectationFailed;\n\n  return {\n    ExpectationFailed: ExpectationFailed\n  };\n};\ngetJasmineRequireObj().ExceptionFormatter = function(j$) {\n\n  var ignoredProperties = ['name', 'message', 'stack', 'fileName', 'sourceURL', 'line', 'lineNumber', 'column', 'description', 'jasmineMessage'];\n\n  function ExceptionFormatter(options) {\n    var jasmineFile = (options && options.jasmineFile) || j$.util.jasmineFile();\n    this.message = function(error) {\n      var message = '';\n\n      if (error.jasmineMessage) {\n        message += error.jasmineMessage;\n      } else if (error.name && error.message) {\n        message += error.name + ': ' + error.message;\n      } else if (error.message) {\n        message += error.message;\n      } else {\n        message += error.toString() + ' thrown';\n      }\n\n      if (error.fileName || error.sourceURL) {\n        message += ' in ' + (error.fileName || error.sourceURL);\n      }\n\n      if (error.line || error.lineNumber) {\n        message += ' (line ' + (error.line || error.lineNumber) + ')';\n      }\n\n      return message;\n    };\n\n    this.stack = function(error) {\n      if (!error || !error.stack) {\n        return null;\n      }\n\n      var stackTrace = new j$.StackTrace(error);\n      var lines = filterJasmine(stackTrace);\n      var result = '';\n\n      if (stackTrace.message) {\n        lines.unshift(stackTrace.message);\n      }\n\n      result += formatProperties(error);\n      result += lines.join('\\n');\n\n      return result;\n    };\n\n    function filterJasmine(stackTrace) {\n      var result = [],\n        jasmineMarker = stackTrace.style === 'webkit' ? '<Jasmine>' : '    at <Jasmine>';\n\n      stackTrace.frames.forEach(function(frame) {\n        if (frame.file && frame.file !== jasmineFile) {\n          result.push(frame.raw);\n        } else if (result[result.length - 1] !== jasmineMarker) {\n          result.push(jasmineMarker);\n        }\n      });\n\n      return result;\n    }\n\n    function formatProperties(error) {\n      if (!(error instanceof Object)) {\n        return;\n      }\n\n      var result = {};\n      var empty = true;\n\n      for (var prop in error) {\n        if (j$.util.arrayContains(ignoredProperties, prop)) {\n          continue;\n        }\n        result[prop] = error[prop];\n        empty = false;\n      }\n\n      if (!empty) {\n        return 'error properties: ' + j$.pp(result) + '\\n';\n      }\n\n      return '';\n    }\n  }\n\n  return ExceptionFormatter;\n};\n\ngetJasmineRequireObj().Expectation = function(j$) {\n  var promiseForMessage = {\n    jasmineToString: function() { return 'a promise'; }\n  };\n\n  /**\n   * Matchers that come with Jasmine out of the box.\n   * @namespace matchers\n   */\n  function Expectation(options) {\n    this.expector = new j$.Expector(options);\n\n    var customMatchers = options.customMatchers || {};\n    for (var matcherName in customMatchers) {\n      this[matcherName] = wrapSyncCompare(matcherName, customMatchers[matcherName]);\n    }\n  }\n\n  /**\n   * Add some context for an {@link expect}\n   * @function\n   * @name matchers#withContext\n   * @param {String} message - Additional context to show when the matcher fails\n   * @return {matchers}\n   */\n  Expectation.prototype.withContext = function withContext(message) {\n    return addFilter(this, new ContextAddingFilter(message));\n  };\n\n  /**\n   * Invert the matcher following this {@link expect}\n   * @member\n   * @name matchers#not\n   * @type {matchers}\n   * @example\n   * expect(something).not.toBe(true);\n   */\n  Object.defineProperty(Expectation.prototype, 'not', {\n    get: function() {\n      return addFilter(this, syncNegatingFilter);\n    }\n  });\n\n  /**\n   * Asynchronous matchers.\n   * @namespace async-matchers\n   */\n  function AsyncExpectation(options) {\n    var global = options.global || j$.getGlobal();\n    this.expector = new j$.Expector(options);\n\n    if (!global.Promise) {\n      throw new Error('expectAsync is unavailable because the environment does not support promises.');\n    }\n\n    if (!j$.isPromiseLike(this.expector.actual)) {\n      throw new Error('Expected expectAsync to be called with a promise.');\n    }\n  }\n\n  /**\n   * Add some context for an {@link expectAsync}\n   * @function\n   * @name async-matchers#withContext\n   * @param {String} message - Additional context to show when the async matcher fails\n   * @return {async-matchers}\n   */\n  AsyncExpectation.prototype.withContext = function withContext(message) {\n    return addFilter(this, new ContextAddingFilter(message));\n  };\n\n  /**\n   * Invert the matcher following this {@link expectAsync}\n   * @member\n   * @name async-matchers#not\n   * @type {async-matchers}\n   * @example\n   * await expectAsync(myPromise).not.toBeResolved();\n   * @example\n   * return expectAsync(myPromise).not.toBeResolved();\n   */\n  Object.defineProperty(AsyncExpectation.prototype, 'not', {\n    get: function() {\n      return addFilter(this, asyncNegatingFilter);\n    }\n  });\n\n  function wrapSyncCompare(name, matcherFactory) {\n    return function() {\n      var result = this.expector.compare(name, matcherFactory, arguments);\n      this.expector.processResult(result);\n    };\n  }\n\n  function wrapAsyncCompare(name, matcherFactory) {\n    return function() {\n      var self = this;\n\n      // Capture the call stack here, before we go async, so that it will contain\n      // frames that are relevant to the user instead of just parts of Jasmine.\n      var errorForStack = j$.util.errorWithStack();\n\n      return this.expector.compare(name, matcherFactory, arguments).then(function(result) {\n        self.expector.processResult(result, errorForStack, promiseForMessage);\n      });\n    };\n  }\n\n  function addCoreMatchers(prototype, matchers, wrapper) {\n    for (var matcherName in matchers) {\n      var matcher = matchers[matcherName];\n      prototype[matcherName] = wrapper(matcherName, matcher);\n    }\n  }\n\n  function addFilter(source, filter) {\n    var result = Object.create(source);\n    result.expector = source.expector.addFilter(filter);\n    return result;\n  }\n\n  function negatedFailureMessage(result, matcherName, args, util) {\n    if (result.message) {\n      if (j$.isFunction_(result.message)) {\n        return result.message();\n      } else {\n        return result.message;\n      }\n    }\n\n    args = args.slice();\n    args.unshift(true);\n    args.unshift(matcherName);\n    return util.buildFailureMessage.apply(null, args);\n  }\n\n  function negate(result) {\n    result.pass = !result.pass;\n    return result;\n  }\n\n  var syncNegatingFilter = {\n    selectComparisonFunc: function(matcher) {\n      function defaultNegativeCompare() {\n        return negate(matcher.compare.apply(null, arguments));\n      }\n\n      return matcher.negativeCompare || defaultNegativeCompare;\n    },\n    buildFailureMessage: negatedFailureMessage\n  };\n\n  var asyncNegatingFilter = {\n    selectComparisonFunc: function(matcher) {\n      function defaultNegativeCompare() {\n        return matcher.compare.apply(this, arguments).then(negate);\n      }\n\n      return defaultNegativeCompare;\n    },\n    buildFailureMessage: negatedFailureMessage\n  };\n\n  function ContextAddingFilter(message) {\n    this.message = message;\n  }\n\n  ContextAddingFilter.prototype.modifyFailureMessage = function(msg) {\n    return this.message + ': ' + msg;\n  };\n\n  return {\n    factory: function(options) {\n      return new Expectation(options || {});\n    },\n    addCoreMatchers: function(matchers) {\n      addCoreMatchers(Expectation.prototype, matchers, wrapSyncCompare);\n    },\n    asyncFactory: function(options) {\n      return new AsyncExpectation(options || {});\n    },\n    addAsyncCoreMatchers: function(matchers) {\n      addCoreMatchers(AsyncExpectation.prototype, matchers, wrapAsyncCompare);\n    }\n  };\n};\n\ngetJasmineRequireObj().ExpectationFilterChain = function() {\n  function ExpectationFilterChain(maybeFilter, prev) {\n    this.filter_ = maybeFilter;\n    this.prev_ = prev;\n  }\n\n  ExpectationFilterChain.prototype.addFilter = function(filter) {\n    return new ExpectationFilterChain(filter, this);\n  };\n\n  ExpectationFilterChain.prototype.selectComparisonFunc = function(matcher) {\n    return this.callFirst_('selectComparisonFunc', arguments).result;\n  };\n\n  ExpectationFilterChain.prototype.buildFailureMessage = function(result, matcherName, args, util) {\n    return this.callFirst_('buildFailureMessage', arguments).result;\n  };\n\n  ExpectationFilterChain.prototype.modifyFailureMessage = function(msg) {\n    var result = this.callFirst_('modifyFailureMessage', arguments).result;\n    return result || msg;\n  };\n\n  ExpectationFilterChain.prototype.callFirst_ = function(fname, args) {\n    var prevResult;\n\n    if (this.prev_) {\n      prevResult = this.prev_.callFirst_(fname, args);\n\n      if (prevResult.found) {\n        return prevResult;\n      }\n    }\n\n    if (this.filter_ && this.filter_[fname]) {\n      return {\n        found: true,\n        result: this.filter_[fname].apply(this.filter_, args)\n      };\n    }\n\n    return {found: false};\n  };\n\n  return ExpectationFilterChain;\n};\n\n//TODO: expectation result may make more sense as a presentation of an expectation.\ngetJasmineRequireObj().buildExpectationResult = function() {\n  function buildExpectationResult(options) {\n    var messageFormatter = options.messageFormatter || function() {},\n      stackFormatter = options.stackFormatter || function() {};\n\n    /**\n     * @typedef Expectation\n     * @property {String} matcherName - The name of the matcher that was executed for this expectation.\n     * @property {String} message - The failure message for the expectation.\n     * @property {String} stack - The stack trace for the failure if available.\n     * @property {Boolean} passed - Whether the expectation passed or failed.\n     * @property {Object} expected - If the expectation failed, what was the expected value.\n     * @property {Object} actual - If the expectation failed, what actual value was produced.\n     */\n    var result = {\n      matcherName: options.matcherName,\n      message: message(),\n      stack: stack(),\n      passed: options.passed\n    };\n\n    if(!result.passed) {\n      result.expected = options.expected;\n      result.actual = options.actual;\n    }\n\n    return result;\n\n    function message() {\n      if (options.passed) {\n        return 'Passed.';\n      } else if (options.message) {\n        return options.message;\n      } else if (options.error) {\n        return messageFormatter(options.error);\n      }\n      return '';\n    }\n\n    function stack() {\n      if (options.passed) {\n        return '';\n      }\n\n      var error = options.error;\n      if (!error) {\n        if (options.errorForStack) {\n          error = options.errorForStack;\n        } else if (options.stack) {\n          error = options;\n        } else {\n          try {\n            throw new Error(message());\n          } catch (e) {\n            error = e;\n          }\n        }\n      }\n      return stackFormatter(error);\n    }\n  }\n\n  return buildExpectationResult;\n};\n\ngetJasmineRequireObj().Expector = function(j$) {\n  function Expector(options) {\n    this.util = options.util || { buildFailureMessage: function() {} };\n    this.customEqualityTesters = options.customEqualityTesters || [];\n    this.actual = options.actual;\n    this.addExpectationResult = options.addExpectationResult || function(){};\n    this.filters = new j$.ExpectationFilterChain();\n  }\n\n  Expector.prototype.instantiateMatcher = function(matcherName, matcherFactory, args) {\n    this.matcherName = matcherName;\n    this.args = Array.prototype.slice.call(args, 0);\n    this.expected = this.args.slice(0);\n\n    this.args.unshift(this.actual);\n\n    var matcher = matcherFactory(this.util, this.customEqualityTesters);\n    var comparisonFunc = this.filters.selectComparisonFunc(matcher);\n    return comparisonFunc || matcher.compare;\n  };\n\n  Expector.prototype.buildMessage = function(result) {\n    var self = this;\n\n    if (result.pass) {\n      return '';\n    }\n\n    var msg = this.filters.buildFailureMessage(result, this.matcherName, this.args, this.util, defaultMessage);\n    return this.filters.modifyFailureMessage(msg || defaultMessage());\n\n    function defaultMessage() {\n      if (!result.message) {\n        var args = self.args.slice();\n        args.unshift(false);\n        args.unshift(self.matcherName);\n        return self.util.buildFailureMessage.apply(null, args);\n      } else if (j$.isFunction_(result.message)) {\n        return result.message();\n      } else {\n        return result.message;\n      }\n    }\n  };\n\n  Expector.prototype.compare = function(matcherName, matcherFactory, args) {\n    var matcherCompare = this.instantiateMatcher(matcherName, matcherFactory, args);\n    return matcherCompare.apply(null, this.args);\n  };\n\n  Expector.prototype.addFilter = function(filter) {\n    var result = Object.create(this);\n    result.filters = this.filters.addFilter(filter);\n    return result;\n  };\n\n  Expector.prototype.processResult = function(result, errorForStack, actualOverride) {\n    this.args[0] = actualOverride || this.args[0];\n    var message = this.buildMessage(result);\n\n    if (this.expected.length === 1) {\n      this.expected = this.expected[0];\n    }\n\n    this.addExpectationResult(\n      result.pass,\n      {\n        matcherName: this.matcherName,\n        passed: result.pass,\n        message: message,\n        error: errorForStack ? undefined : result.error,\n        errorForStack: errorForStack || undefined,\n        actual: this.actual,\n        expected: this.expected // TODO: this may need to be arrayified/sliced\n      }\n    );\n  };\n\n  return Expector;\n};\n\ngetJasmineRequireObj().formatErrorMsg = function() {\n  function generateErrorMsg(domain, usage) {\n    var usageDefinition = usage ? '\\nUsage: ' + usage : '';\n\n    return function errorMsg(msg) {\n      return domain + ' : ' + msg + usageDefinition;\n    };\n  }\n\n  return generateErrorMsg;\n};\n\ngetJasmineRequireObj().GlobalErrors = function(j$) {\n  function GlobalErrors(global) {\n    var handlers = [];\n    global = global || j$.getGlobal();\n\n    var onerror = function onerror() {\n      var handler = handlers[handlers.length - 1];\n\n      if (handler) {\n        handler.apply(null, Array.prototype.slice.call(arguments, 0));\n      } else {\n        throw arguments[0];\n      }\n    };\n\n    this.originalHandlers = {};\n    this.jasmineHandlers = {};\n    this.installOne_ = function installOne_(errorType, jasmineMessage) {\n      function taggedOnError(error) {\n        error.jasmineMessage = jasmineMessage + ': ' + error;\n\n        var handler = handlers[handlers.length - 1];\n\n        if (handler) {\n          handler(error);\n        } else {\n          throw error;\n        }\n      }\n\n      this.originalHandlers[errorType] = global.process.listeners(errorType);\n      this.jasmineHandlers[errorType] = taggedOnError;\n\n      global.process.removeAllListeners(errorType);\n      global.process.on(errorType, taggedOnError);\n\n      this.uninstall = function uninstall() {\n        var errorTypes = Object.keys(this.originalHandlers);\n        for (var iType = 0; iType < errorTypes.length; iType++) {\n          var errorType = errorTypes[iType];\n          global.process.removeListener(errorType, this.jasmineHandlers[errorType]);\n          for (var i = 0; i < this.originalHandlers[errorType].length; i++) {\n            global.process.on(errorType, this.originalHandlers[errorType][i]);\n          }\n          delete this.originalHandlers[errorType];\n          delete this.jasmineHandlers[errorType];\n        }\n      };\n    };\n\n    this.install = function install() {\n      if (global.process && global.process.listeners && j$.isFunction_(global.process.on)) {\n        this.installOne_('uncaughtException', 'Uncaught exception');\n        this.installOne_('unhandledRejection', 'Unhandled promise rejection');\n      } else {\n        var originalHandler = global.onerror;\n        global.onerror = onerror;\n\n        this.uninstall = function uninstall() {\n          global.onerror = originalHandler;\n        };\n      }\n    };\n\n    this.pushListener = function pushListener(listener) {\n      handlers.push(listener);\n    };\n\n    this.popListener = function popListener() {\n      handlers.pop();\n    };\n  }\n\n  return GlobalErrors;\n};\n\ngetJasmineRequireObj().toBeRejected = function(j$) {\n  /**\n   * Expect a promise to be rejected.\n   * @function\n   * @async\n   * @name async-matchers#toBeRejected\n   * @example\n   * await expectAsync(aPromise).toBeRejected();\n   * @example\n   * return expectAsync(aPromise).toBeRejected();\n   */\n  return function toBeResolved(util) {\n    return {\n      compare: function(actual) {\n        return actual.then(\n          function() { return {pass: false}; },\n          function() { return {pass: true}; }\n        );\n      }\n    };\n  };\n};\n\ngetJasmineRequireObj().toBeRejectedWith = function(j$) {\n  /**\n   * Expect a promise to be rejected with a value equal to the expected, using deep equality comparison.\n   * @function\n   * @async\n   * @name async-matchers#toBeRejectedWith\n   * @param {Object} expected - Value that the promise is expected to be rejected with\n   * @example\n   * await expectAsync(aPromise).toBeRejectedWith({prop: 'value'});\n   * @example\n   * return expectAsync(aPromise).toBeRejectedWith({prop: 'value'});\n   */\n  return function toBeRejectedWith(util, customEqualityTesters) {\n    return {\n      compare: function(actualPromise, expectedValue) {\n        function prefix(passed) {\n          return 'Expected a promise ' +\n            (passed ? 'not ' : '') +\n            'to be rejected with ' + j$.pp(expectedValue);\n        }\n\n        return actualPromise.then(\n          function() {\n          return {\n            pass: false,\n            message: prefix(false) + ' but it was resolved.'\n          };\n        },\n        function(actualValue) {\n          if (util.equals(actualValue, expectedValue, customEqualityTesters)) {\n            return {\n              pass: true,\n              message: prefix(true) + '.'\n            };\n          } else {\n            return {\n              pass: false,\n              message: prefix(false) + ' but it was rejected with ' + j$.pp(actualValue) + '.'\n            };\n          }\n        }\n        );\n      }\n    };\n  };\n};\n\ngetJasmineRequireObj().toBeResolved = function(j$) {\n  /**\n   * Expect a promise to be resolved.\n   * @function\n   * @async\n   * @name async-matchers#toBeResolved\n   * @example\n   * await expectAsync(aPromise).toBeResolved();\n   * @example\n   * return expectAsync(aPromise).toBeResolved();\n   */\n  return function toBeResolved(util) {\n    return {\n      compare: function(actual) {\n        return actual.then(\n          function() { return {pass: true}; },\n          function() { return {pass: false}; }\n        );\n      }\n    };\n  };\n};\n\ngetJasmineRequireObj().toBeResolvedTo = function(j$) {\n  /**\n   * Expect a promise to be resolved to a value equal to the expected, using deep equality comparison.\n   * @function\n   * @async\n   * @name async-matchers#toBeResolvedTo\n   * @param {Object} expected - Value that the promise is expected to resolve to\n   * @example\n   * await expectAsync(aPromise).toBeResolvedTo({prop: 'value'});\n   * @example\n   * return expectAsync(aPromise).toBeResolvedTo({prop: 'value'});\n   */\n  return function toBeResolvedTo(util, customEqualityTesters) {\n    return {\n      compare: function(actualPromise, expectedValue) {\n        function prefix(passed) {\n          return 'Expected a promise ' +\n            (passed ? 'not ' : '') +\n            'to be resolved to ' + j$.pp(expectedValue);\n        }\n\n        return actualPromise.then(\n          function(actualValue) {\n          if (util.equals(actualValue, expectedValue, customEqualityTesters)) {\n            return {\n              pass: true,\n              message: prefix(true) + '.'\n            };\n          } else {\n            return {\n              pass: false,\n              message: prefix(false) + ' but it was resolved to ' + j$.pp(actualValue) + '.'\n            };\n          }\n        },\n        function() {\n          return {\n            pass: false,\n            message: prefix(false) + ' but it was rejected.'\n          };\n        }\n        );\n      }\n    };\n  };\n};\n\ngetJasmineRequireObj().DiffBuilder = function(j$) {\n  return function DiffBuilder() {\n    var path = new j$.ObjectPath(),\n        mismatches = [];\n\n    return {\n      record: function (actual, expected, formatter) {\n        formatter = formatter || defaultFormatter;\n        mismatches.push(formatter(actual, expected, path));\n      },\n\n      getMessage: function () {\n        return mismatches.join('\\n');\n      },\n\n      withPath: function (pathComponent, block) {\n        var oldPath = path;\n        path = path.add(pathComponent);\n        block();\n        path = oldPath;\n      }\n    };\n\n    function defaultFormatter (actual, expected, path) {\n      return 'Expected ' +\n        path + (path.depth() ? ' = ' : '') +\n        j$.pp(actual) +\n        ' to equal ' +\n        j$.pp(expected) +\n        '.';\n    }\n  };\n};\n\ngetJasmineRequireObj().matchersUtil = function(j$) {\n  // TODO: what to do about jasmine.pp not being inject? move to JSON.stringify? gut PrettyPrinter?\n\n  return {\n    equals: equals,\n\n    contains: function(haystack, needle, customTesters) {\n      customTesters = customTesters || [];\n\n      if ((Object.prototype.toString.apply(haystack) === '[object Set]')) {\n        return haystack.has(needle);\n      }\n\n      if ((Object.prototype.toString.apply(haystack) === '[object Array]') ||\n        (!!haystack && !haystack.indexOf))\n      {\n        for (var i = 0; i < haystack.length; i++) {\n          if (equals(haystack[i], needle, customTesters)) {\n            return true;\n          }\n        }\n        return false;\n      }\n\n      return !!haystack && haystack.indexOf(needle) >= 0;\n    },\n\n    buildFailureMessage: function() {\n      var args = Array.prototype.slice.call(arguments, 0),\n        matcherName = args[0],\n        isNot = args[1],\n        actual = args[2],\n        expected = args.slice(3),\n        englishyPredicate = matcherName.replace(/[A-Z]/g, function(s) { return ' ' + s.toLowerCase(); });\n\n      var message = 'Expected ' +\n        j$.pp(actual) +\n        (isNot ? ' not ' : ' ') +\n        englishyPredicate;\n\n      if (expected.length > 0) {\n        for (var i = 0; i < expected.length; i++) {\n          if (i > 0) {\n            message += ',';\n          }\n          message += ' ' + j$.pp(expected[i]);\n        }\n      }\n\n      return message + '.';\n    }\n  };\n\n  function isAsymmetric(obj) {\n    return obj && j$.isA_('Function', obj.asymmetricMatch);\n  }\n\n  function asymmetricMatch(a, b, customTesters, diffBuilder) {\n    var asymmetricA = isAsymmetric(a),\n        asymmetricB = isAsymmetric(b),\n        result;\n\n    if (asymmetricA && asymmetricB) {\n      return undefined;\n    }\n\n    if (asymmetricA) {\n      result = a.asymmetricMatch(b, customTesters);\n      if (!result) {\n        diffBuilder.record(a, b);\n      }\n      return result;\n    }\n\n    if (asymmetricB) {\n      result = b.asymmetricMatch(a, customTesters);\n      if (!result) {\n        diffBuilder.record(a, b);\n      }\n      return result;\n    }\n  }\n\n  function equals(a, b, customTesters, diffBuilder) {\n    customTesters = customTesters || [];\n    diffBuilder = diffBuilder || j$.NullDiffBuilder();\n\n    return eq(a, b, [], [], customTesters, diffBuilder);\n  }\n\n  // Equality function lovingly adapted from isEqual in\n  //   [Underscore](http://underscorejs.org)\n  function eq(a, b, aStack, bStack, customTesters, diffBuilder) {\n    var result = true, i;\n\n    var asymmetricResult = asymmetricMatch(a, b, customTesters, diffBuilder);\n    if (!j$.util.isUndefined(asymmetricResult)) {\n      return asymmetricResult;\n    }\n\n    for (i = 0; i < customTesters.length; i++) {\n      var customTesterResult = customTesters[i](a, b);\n      if (!j$.util.isUndefined(customTesterResult)) {\n        if (!customTesterResult) {\n          diffBuilder.record(a, b);\n        }\n        return customTesterResult;\n      }\n    }\n\n    if (a instanceof Error && b instanceof Error) {\n      result = a.message == b.message;\n      if (!result) {\n        diffBuilder.record(a, b);\n      }\n      return result;\n    }\n\n    // Identical objects are equal. `0 === -0`, but they aren't identical.\n    // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal).\n    if (a === b) {\n      result = a !== 0 || 1 / a == 1 / b;\n      if (!result) {\n        diffBuilder.record(a, b);\n      }\n      return result;\n    }\n    // A strict comparison is necessary because `null == undefined`.\n    if (a === null || b === null) {\n      result = a === b;\n      if (!result) {\n        diffBuilder.record(a, b);\n      }\n      return result;\n    }\n    var className = Object.prototype.toString.call(a);\n    if (className != Object.prototype.toString.call(b)) {\n      diffBuilder.record(a, b);\n      return false;\n    }\n    switch (className) {\n      // Strings, numbers, dates, and booleans are compared by value.\n      case '[object String]':\n        // Primitives and their corresponding object wrappers are equivalent; thus, `\"5\"` is\n        // equivalent to `new String(\"5\")`.\n        result = a == String(b);\n        if (!result) {\n          diffBuilder.record(a, b);\n        }\n        return result;\n      case '[object Number]':\n        // `NaN`s are equivalent, but non-reflexive. An `egal` comparison is performed for\n        // other numeric values.\n        result = a != +a ? b != +b : (a === 0 ? 1 / a == 1 / b : a == +b);\n        if (!result) {\n          diffBuilder.record(a, b);\n        }\n        return result;\n      case '[object Date]':\n      case '[object Boolean]':\n        // Coerce dates and booleans to numeric primitive values. Dates are compared by their\n        // millisecond representations. Note that invalid dates with millisecond representations\n        // of `NaN` are not equivalent.\n        result = +a == +b;\n        if (!result) {\n          diffBuilder.record(a, b);\n        }\n        return result;\n      // RegExps are compared by their source patterns and flags.\n      case '[object RegExp]':\n        return a.source == b.source &&\n          a.global == b.global &&\n          a.multiline == b.multiline &&\n          a.ignoreCase == b.ignoreCase;\n    }\n    if (typeof a != 'object' || typeof b != 'object') {\n      diffBuilder.record(a, b);\n      return false;\n    }\n\n    var aIsDomNode = j$.isDomNode(a);\n    var bIsDomNode = j$.isDomNode(b);\n    if (aIsDomNode && bIsDomNode) {\n      // At first try to use DOM3 method isEqualNode\n      result = a.isEqualNode(b);\n      if (!result) {\n        diffBuilder.record(a, b);\n      }\n      return result;\n    }\n    if (aIsDomNode || bIsDomNode) {\n      diffBuilder.record(a, b);\n      return false;\n    }\n\n    var aIsPromise = j$.isPromise(a);\n    var bIsPromise = j$.isPromise(b);\n    if (aIsPromise && bIsPromise) {\n      return a === b;\n    }\n\n    // Assume equality for cyclic structures. The algorithm for detecting cyclic\n    // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.\n    var length = aStack.length;\n    while (length--) {\n      // Linear search. Performance is inversely proportional to the number of\n      // unique nested structures.\n      if (aStack[length] == a) { return bStack[length] == b; }\n    }\n    // Add the first object to the stack of traversed objects.\n    aStack.push(a);\n    bStack.push(b);\n    var size = 0;\n    // Recursively compare objects and arrays.\n    // Compare array lengths to determine if a deep comparison is necessary.\n    if (className == '[object Array]') {\n      var aLength = a.length;\n      var bLength = b.length;\n\n      diffBuilder.withPath('length', function() {\n        if (aLength !== bLength) {\n          diffBuilder.record(aLength, bLength);\n          result = false;\n        }\n      });\n\n      for (i = 0; i < aLength || i < bLength; i++) {\n        var formatter = false;\n        diffBuilder.withPath(i, function() {\n          if (i >= bLength) {\n            diffBuilder.record(a[i], void 0, actualArrayIsLongerFormatter);\n            result = false;\n          } else {\n            result = eq(i < aLength ? a[i] : void 0, i < bLength ? b[i] : void 0, aStack, bStack, customTesters, diffBuilder) && result;\n          }\n        });\n      }\n      if (!result) {\n        return false;\n      }\n    } else if (j$.isMap(a) && j$.isMap(b)) {\n      if (a.size != b.size) {\n        diffBuilder.record(a, b);\n        return false;\n      }\n\n      var keysA = [];\n      var keysB = [];\n      a.forEach( function( valueA, keyA ) {\n        keysA.push( keyA );\n      });\n      b.forEach( function( valueB, keyB ) {\n        keysB.push( keyB );\n      });\n\n      // For both sets of keys, check they map to equal values in both maps.\n      // Keep track of corresponding keys (in insertion order) in order to handle asymmetric obj keys.\n      var mapKeys = [keysA, keysB];\n      var cmpKeys = [keysB, keysA];\n      var mapIter, mapKey, mapValueA, mapValueB;\n      var cmpIter, cmpKey;\n      for (i = 0; result && i < mapKeys.length; i++) {\n        mapIter = mapKeys[i];\n        cmpIter = cmpKeys[i];\n\n        for (var j = 0; result && j < mapIter.length; j++) {\n          mapKey = mapIter[j];\n          cmpKey = cmpIter[j];\n          mapValueA = a.get(mapKey);\n\n          // Only use the cmpKey when one of the keys is asymmetric and the corresponding key matches,\n          // otherwise explicitly look up the mapKey in the other Map since we want keys with unique\n          // obj identity (that are otherwise equal) to not match.\n          if (isAsymmetric(mapKey) || isAsymmetric(cmpKey) &&\n              eq(mapKey, cmpKey, aStack, bStack, customTesters, j$.NullDiffBuilder())) {\n            mapValueB = b.get(cmpKey);\n          } else {\n            mapValueB = b.get(mapKey);\n          }\n          result = eq(mapValueA, mapValueB, aStack, bStack, customTesters, j$.NullDiffBuilder());\n        }\n      }\n\n      if (!result) {\n        diffBuilder.record(a, b);\n        return false;\n      }\n    } else if (j$.isSet(a) && j$.isSet(b)) {\n      if (a.size != b.size) {\n        diffBuilder.record(a, b);\n        return false;\n      }\n\n      var valuesA = [];\n      a.forEach( function( valueA ) {\n        valuesA.push( valueA );\n      });\n      var valuesB = [];\n      b.forEach( function( valueB ) {\n        valuesB.push( valueB );\n      });\n\n      // For both sets, check they are all contained in the other set\n      var setPairs = [[valuesA, valuesB], [valuesB, valuesA]];\n      var stackPairs = [[aStack, bStack], [bStack, aStack]];\n      var baseValues, baseValue, baseStack;\n      var otherValues, otherValue, otherStack;\n      var found;\n      var prevStackSize;\n      for (i = 0; result && i < setPairs.length; i++) {\n        baseValues = setPairs[i][0];\n        otherValues = setPairs[i][1];\n        baseStack = stackPairs[i][0];\n        otherStack = stackPairs[i][1];\n        // For each value in the base set...\n        for (var k = 0; result && k < baseValues.length; k++) {\n          baseValue = baseValues[k];\n          found = false;\n          // ... test that it is present in the other set\n          for (var l = 0; !found && l < otherValues.length; l++) {\n            otherValue = otherValues[l];\n            prevStackSize = baseStack.length;\n            // compare by value equality\n            found = eq(baseValue, otherValue, baseStack, otherStack, customTesters, j$.NullDiffBuilder());\n            if (!found && prevStackSize !== baseStack.length) {\n              baseStack.splice(prevStackSize);\n              otherStack.splice(prevStackSize);\n            }\n          }\n          result = result && found;\n        }\n      }\n\n      if (!result) {\n        diffBuilder.record(a, b);\n        return false;\n      }\n    } else {\n\n      // Objects with different constructors are not equivalent, but `Object`s\n      // or `Array`s from different frames are.\n      var aCtor = a.constructor, bCtor = b.constructor;\n      if (aCtor !== bCtor &&\n          isFunction(aCtor) && isFunction(bCtor) &&\n          a instanceof aCtor && b instanceof bCtor &&\n          !(aCtor instanceof aCtor && bCtor instanceof bCtor)) {\n\n        diffBuilder.record(a, b, constructorsAreDifferentFormatter);\n        return false;\n      }\n    }\n\n    // Deep compare objects.\n    var aKeys = keys(a, className == '[object Array]'), key;\n    size = aKeys.length;\n\n    // Ensure that both objects contain the same number of properties before comparing deep equality.\n    if (keys(b, className == '[object Array]').length !== size) {\n      diffBuilder.record(a, b, objectKeysAreDifferentFormatter);\n      return false;\n    }\n\n    for (i = 0; i < size; i++) {\n      key = aKeys[i];\n      // Deep compare each member\n      if (!j$.util.has(b, key)) {\n        diffBuilder.record(a, b, objectKeysAreDifferentFormatter);\n        result = false;\n        continue;\n      }\n\n      diffBuilder.withPath(key, function() {\n        if(!eq(a[key], b[key], aStack, bStack, customTesters, diffBuilder)) {\n          result = false;\n        }\n      });\n    }\n\n    if (!result) {\n      return false;\n    }\n\n    // Remove the first object from the stack of traversed objects.\n    aStack.pop();\n    bStack.pop();\n\n    return result;\n  }\n\n  function keys(obj, isArray) {\n    var allKeys = Object.keys ? Object.keys(obj) :\n      (function(o) {\n          var keys = [];\n          for (var key in o) {\n              if (j$.util.has(o, key)) {\n                  keys.push(key);\n              }\n          }\n          return keys;\n      })(obj);\n\n    if (!isArray) {\n      return allKeys;\n    }\n\n    if (allKeys.length === 0) {\n        return allKeys;\n    }\n\n    var extraKeys = [];\n    for (var i = 0; i < allKeys.length; i++) {\n      if (!/^[0-9]+$/.test(allKeys[i])) {\n        extraKeys.push(allKeys[i]);\n      }\n    }\n\n    return extraKeys;\n  }\n\n  function has(obj, key) {\n    return Object.prototype.hasOwnProperty.call(obj, key);\n  }\n\n  function isFunction(obj) {\n    return typeof obj === 'function';\n  }\n\n  function objectKeysAreDifferentFormatter(actual, expected, path) {\n    var missingProperties = j$.util.objectDifference(expected, actual),\n        extraProperties = j$.util.objectDifference(actual, expected),\n        missingPropertiesMessage = formatKeyValuePairs(missingProperties),\n        extraPropertiesMessage = formatKeyValuePairs(extraProperties),\n        messages = [];\n\n    if (!path.depth()) {\n      path = 'object';\n    }\n\n    if (missingPropertiesMessage.length) {\n      messages.push('Expected ' + path + ' to have properties' + missingPropertiesMessage);\n    }\n\n    if (extraPropertiesMessage.length) {\n      messages.push('Expected ' + path + ' not to have properties' + extraPropertiesMessage);\n    }\n\n    return messages.join('\\n');\n  }\n\n  function constructorsAreDifferentFormatter(actual, expected, path) {\n    if (!path.depth()) {\n      path = 'object';\n    }\n\n    return 'Expected ' +\n      path + ' to be a kind of ' +\n      j$.fnNameFor(expected.constructor) +\n      ', but was ' + j$.pp(actual) + '.';\n  }\n\n  function actualArrayIsLongerFormatter(actual, expected, path) {\n    return 'Unexpected ' +\n      path + (path.depth() ? ' = ' : '') +\n      j$.pp(actual) +\n      ' in array.';\n  }\n\n  function formatKeyValuePairs(obj) {\n    var formatted = '';\n    for (var key in obj) {\n      formatted += '\\n    ' + key + ': ' + j$.pp(obj[key]);\n    }\n    return formatted;\n  }\n};\n\ngetJasmineRequireObj().nothing = function() {\n  /**\n   * {@link expect} nothing explicitly.\n   * @function\n   * @name matchers#nothing\n   * @example\n   * expect().nothing();\n   */\n  function nothing() {\n    return {\n      compare: function() {\n        return {\n          pass: true\n        };\n      }\n    };\n  }\n\n  return nothing;\n};\n\ngetJasmineRequireObj().NullDiffBuilder = function(j$) {\n  return function() {\n    return {\n      withPath: function(_, block) {\n        block();\n      },\n      record: function() {}\n    };\n  };\n};\n\ngetJasmineRequireObj().ObjectPath = function(j$) {\n  function ObjectPath(components) {\n    this.components = components || [];\n  }\n\n  ObjectPath.prototype.toString = function() {\n    if (this.components.length) {\n      return '$' + map(this.components, formatPropertyAccess).join('');\n    } else {\n      return '';\n    }\n  };\n\n  ObjectPath.prototype.add = function(component) {\n    return new ObjectPath(this.components.concat([component]));\n  };\n\n  ObjectPath.prototype.depth = function() {\n    return this.components.length;\n  };\n\n  function formatPropertyAccess(prop) {\n    if (typeof prop === 'number') {\n      return '[' + prop + ']';\n    }\n\n    if (isValidIdentifier(prop)) {\n      return '.' + prop;\n    }\n\n    return '[\\'' + prop + '\\']';\n  }\n\n  function map(array, fn) {\n    var results = [];\n    for (var i = 0; i < array.length; i++) {\n      results.push(fn(array[i]));\n    }\n    return results;\n  }\n\n  function isValidIdentifier(string) {\n    return /^[A-Za-z\\$_][A-Za-z0-9\\$_]*$/.test(string);\n  }\n\n  return ObjectPath;\n};\n\ngetJasmineRequireObj().requireAsyncMatchers = function(jRequire, j$) {\n  var availableMatchers = [\n      'toBeResolved',\n      'toBeRejected',\n      'toBeResolvedTo',\n      'toBeRejectedWith'\n    ],\n    matchers = {};\n\n  for (var i = 0; i < availableMatchers.length; i++) {\n    var name = availableMatchers[i];\n    matchers[name] = jRequire[name](j$);\n  }\n\n  return matchers;\n};\n\ngetJasmineRequireObj().toBe = function(j$) {\n  /**\n   * {@link expect} the actual value to be `===` to the expected value.\n   * @function\n   * @name matchers#toBe\n   * @param {Object} expected - The expected value to compare against.\n   * @example\n   * expect(thing).toBe(realThing);\n   */\n  function toBe(util) {\n    var tip = ' Tip: To check for deep equality, use .toEqual() instead of .toBe().';\n\n    return {\n      compare: function(actual, expected) {\n        var result = {\n          pass: actual === expected,\n        };\n\n        if (typeof expected === 'object') {\n          result.message = util.buildFailureMessage('toBe', result.pass, actual, expected) + tip;\n        }\n\n        return result;\n      }\n    };\n  }\n\n  return toBe;\n};\n\ngetJasmineRequireObj().toBeCloseTo = function() {\n  /**\n   * {@link expect} the actual value to be within a specified precision of the expected value.\n   * @function\n   * @name matchers#toBeCloseTo\n   * @param {Object} expected - The expected value to compare against.\n   * @param {Number} [precision=2] - The number of decimal points to check.\n   * @example\n   * expect(number).toBeCloseTo(42.2, 3);\n   */\n  function toBeCloseTo() {\n    return {\n      compare: function(actual, expected, precision) {\n        if (precision !== 0) {\n          precision = precision || 2;\n        }\n\n        if (expected === null || actual === null) {\n          throw new Error('Cannot use toBeCloseTo with null. Arguments evaluated to: ' +\n            'expect(' + actual + ').toBeCloseTo(' + expected + ').'\n          );\n        }\n\n        var pow = Math.pow(10, precision + 1);\n        var delta = Math.abs(expected - actual);\n        var maxDelta = Math.pow(10, -precision) / 2;\n\n        return {\n          pass: Math.round(delta * pow) / pow <= maxDelta\n        };\n      }\n    };\n  }\n\n  return toBeCloseTo;\n};\n\ngetJasmineRequireObj().toBeDefined = function() {\n  /**\n   * {@link expect} the actual value to be defined. (Not `undefined`)\n   * @function\n   * @name matchers#toBeDefined\n   * @example\n   * expect(result).toBeDefined();\n   */\n  function toBeDefined() {\n    return {\n      compare: function(actual) {\n        return {\n          pass: (void 0 !== actual)\n        };\n      }\n    };\n  }\n\n  return toBeDefined;\n};\n\ngetJasmineRequireObj().toBeFalsy = function() {\n  /**\n   * {@link expect} the actual value to be falsy\n   * @function\n   * @name matchers#toBeFalsy\n   * @example\n   * expect(result).toBeFalsy();\n   */\n  function toBeFalsy() {\n    return {\n      compare: function(actual) {\n        return {\n          pass: !!!actual\n        };\n      }\n    };\n  }\n\n  return toBeFalsy;\n};\n\ngetJasmineRequireObj().toBeGreaterThan = function() {\n  /**\n   * {@link expect} the actual value to be greater than the expected value.\n   * @function\n   * @name matchers#toBeGreaterThan\n   * @param {Number} expected - The value to compare against.\n   * @example\n   * expect(result).toBeGreaterThan(3);\n   */\n  function toBeGreaterThan() {\n    return {\n      compare: function(actual, expected) {\n        return {\n          pass: actual > expected\n        };\n      }\n    };\n  }\n\n  return toBeGreaterThan;\n};\n\n\ngetJasmineRequireObj().toBeGreaterThanOrEqual = function() {\n  /**\n   * {@link expect} the actual value to be greater than or equal to the expected value.\n   * @function\n   * @name matchers#toBeGreaterThanOrEqual\n   * @param {Number} expected - The expected value to compare against.\n   * @example\n   * expect(result).toBeGreaterThanOrEqual(25);\n   */\n  function toBeGreaterThanOrEqual() {\n    return {\n      compare: function(actual, expected) {\n        return {\n          pass: actual >= expected\n        };\n      }\n    };\n  }\n\n  return toBeGreaterThanOrEqual;\n};\n\ngetJasmineRequireObj().toBeLessThan = function() {\n  /**\n   * {@link expect} the actual value to be less than the expected value.\n   * @function\n   * @name matchers#toBeLessThan\n   * @param {Number} expected - The expected value to compare against.\n   * @example\n   * expect(result).toBeLessThan(0);\n   */\n  function toBeLessThan() {\n    return {\n\n      compare: function(actual, expected) {\n        return {\n          pass: actual < expected\n        };\n      }\n    };\n  }\n\n  return toBeLessThan;\n};\n\ngetJasmineRequireObj().toBeLessThanOrEqual = function() {\n  /**\n   * {@link expect} the actual value to be less than or equal to the expected value.\n   * @function\n   * @name matchers#toBeLessThanOrEqual\n   * @param {Number} expected - The expected value to compare against.\n   * @example\n   * expect(result).toBeLessThanOrEqual(123);\n   */\n  function toBeLessThanOrEqual() {\n    return {\n\n      compare: function(actual, expected) {\n        return {\n          pass: actual <= expected\n        };\n      }\n    };\n  }\n\n  return toBeLessThanOrEqual;\n};\n\ngetJasmineRequireObj().toBeNaN = function(j$) {\n  /**\n   * {@link expect} the actual value to be `NaN` (Not a Number).\n   * @function\n   * @name matchers#toBeNaN\n   * @example\n   * expect(thing).toBeNaN();\n   */\n  function toBeNaN() {\n    return {\n      compare: function(actual) {\n        var result = {\n          pass: (actual !== actual)\n        };\n\n        if (result.pass) {\n          result.message = 'Expected actual not to be NaN.';\n        } else {\n          result.message = function() { return 'Expected ' + j$.pp(actual) + ' to be NaN.'; };\n        }\n\n        return result;\n      }\n    };\n  }\n\n  return toBeNaN;\n};\n\ngetJasmineRequireObj().toBeNegativeInfinity = function(j$) {\n  /**\n   * {@link expect} the actual value to be `-Infinity` (-infinity).\n   * @function\n   * @name matchers#toBeNegativeInfinity\n   * @example\n   * expect(thing).toBeNegativeInfinity();\n   */\n  function toBeNegativeInfinity() {\n    return {\n      compare: function(actual) {\n        var result = {\n          pass: (actual === Number.NEGATIVE_INFINITY)\n        };\n\n        if (result.pass) {\n          result.message = 'Expected actual to be -Infinity.';\n        } else {\n          result.message = function() { return 'Expected ' + j$.pp(actual) + ' not to be -Infinity.'; };\n        }\n\n        return result;\n      }\n    };\n  }\n\n  return toBeNegativeInfinity;\n};\n\ngetJasmineRequireObj().toBeNull = function() {\n  /**\n   * {@link expect} the actual value to be `null`.\n   * @function\n   * @name matchers#toBeNull\n   * @example\n   * expect(result).toBeNull();\n   */\n  function toBeNull() {\n    return {\n      compare: function(actual) {\n        return {\n          pass: actual === null\n        };\n      }\n    };\n  }\n\n  return toBeNull;\n};\n\ngetJasmineRequireObj().toBePositiveInfinity = function(j$) {\n  /**\n   * {@link expect} the actual value to be `Infinity` (infinity).\n   * @function\n   * @name matchers#toBePositiveInfinity\n   * @example\n   * expect(thing).toBePositiveInfinity();\n   */\n  function toBePositiveInfinity() {\n    return {\n      compare: function(actual) {\n        var result = {\n          pass: (actual === Number.POSITIVE_INFINITY)\n        };\n\n        if (result.pass) {\n          result.message = 'Expected actual to be Infinity.';\n        } else {\n          result.message = function() { return 'Expected ' + j$.pp(actual) + ' not to be Infinity.'; };\n        }\n\n        return result;\n      }\n    };\n  }\n\n  return toBePositiveInfinity;\n};\n\ngetJasmineRequireObj().toBeTruthy = function() {\n  /**\n   * {@link expect} the actual value to be truthy.\n   * @function\n   * @name matchers#toBeTruthy\n   * @example\n   * expect(thing).toBeTruthy();\n   */\n  function toBeTruthy() {\n    return {\n      compare: function(actual) {\n        return {\n          pass: !!actual\n        };\n      }\n    };\n  }\n\n  return toBeTruthy;\n};\n\ngetJasmineRequireObj().toBeUndefined = function() {\n  /**\n   * {@link expect} the actual value to be `undefined`.\n   * @function\n   * @name matchers#toBeUndefined\n   * @example\n   * expect(result).toBeUndefined():\n   */\n  function toBeUndefined() {\n    return {\n      compare: function(actual) {\n        return {\n          pass: void 0 === actual\n        };\n      }\n    };\n  }\n\n  return toBeUndefined;\n};\n\ngetJasmineRequireObj().toContain = function() {\n  /**\n   * {@link expect} the actual value to contain a specific value.\n   * @function\n   * @name matchers#toContain\n   * @param {Object} expected - The value to look for.\n   * @example\n   * expect(array).toContain(anElement);\n   * expect(string).toContain(substring);\n   */\n  function toContain(util, customEqualityTesters) {\n    customEqualityTesters = customEqualityTesters || [];\n\n    return {\n      compare: function(actual, expected) {\n\n        return {\n          pass: util.contains(actual, expected, customEqualityTesters)\n        };\n      }\n    };\n  }\n\n  return toContain;\n};\n\ngetJasmineRequireObj().toEqual = function(j$) {\n  /**\n   * {@link expect} the actual value to be equal to the expected, using deep equality comparison.\n   * @function\n   * @name matchers#toEqual\n   * @param {Object} expected - Expected value\n   * @example\n   * expect(bigObject).toEqual({\"foo\": ['bar', 'baz']});\n   */\n  function toEqual(util, customEqualityTesters) {\n    customEqualityTesters = customEqualityTesters || [];\n\n    return {\n      compare: function(actual, expected) {\n        var result = {\n            pass: false\n          },\n          diffBuilder = j$.DiffBuilder();\n\n        result.pass = util.equals(actual, expected, customEqualityTesters, diffBuilder);\n\n        // TODO: only set error message if test fails\n        result.message = diffBuilder.getMessage();\n\n        return result;\n      }\n    };\n  }\n\n  return toEqual;\n};\n\ngetJasmineRequireObj().toHaveBeenCalled = function(j$) {\n\n  var getErrorMsg = j$.formatErrorMsg('<toHaveBeenCalled>', 'expect(<spyObj>).toHaveBeenCalled()');\n\n  /**\n   * {@link expect} the actual (a {@link Spy}) to have been called.\n   * @function\n   * @name matchers#toHaveBeenCalled\n   * @example\n   * expect(mySpy).toHaveBeenCalled();\n   * expect(mySpy).not.toHaveBeenCalled();\n   */\n  function toHaveBeenCalled() {\n    return {\n      compare: function(actual) {\n        var result = {};\n\n        if (!j$.isSpy(actual)) {\n          throw new Error(getErrorMsg('Expected a spy, but got ' + j$.pp(actual) + '.'));\n        }\n\n        if (arguments.length > 1) {\n          throw new Error(getErrorMsg('Does not take arguments, use toHaveBeenCalledWith'));\n        }\n\n        result.pass = actual.calls.any();\n\n        result.message = result.pass ?\n          'Expected spy ' + actual.and.identity + ' not to have been called.' :\n          'Expected spy ' + actual.and.identity + ' to have been called.';\n\n        return result;\n      }\n    };\n  }\n\n  return toHaveBeenCalled;\n};\n\ngetJasmineRequireObj().toHaveBeenCalledBefore = function(j$) {\n\n  var getErrorMsg = j$.formatErrorMsg('<toHaveBeenCalledBefore>', 'expect(<spyObj>).toHaveBeenCalledBefore(<spyObj>)');\n\n  /**\n   * {@link expect} the actual value (a {@link Spy}) to have been called before another {@link Spy}.\n   * @function\n   * @name matchers#toHaveBeenCalledBefore\n   * @param {Spy} expected - {@link Spy} that should have been called after the `actual` {@link Spy}.\n   * @example\n   * expect(mySpy).toHaveBeenCalledBefore(otherSpy);\n   */\n  function toHaveBeenCalledBefore() {\n    return {\n      compare: function(firstSpy, latterSpy) {\n        if (!j$.isSpy(firstSpy)) {\n          throw new Error(getErrorMsg('Expected a spy, but got ' + j$.pp(firstSpy) + '.'));\n        }\n        if (!j$.isSpy(latterSpy)) {\n          throw new Error(getErrorMsg('Expected a spy, but got ' + j$.pp(latterSpy) + '.'));\n        }\n\n        var result = { pass: false };\n\n        if (!firstSpy.calls.count()) {\n          result.message = 'Expected spy ' +  firstSpy.and.identity + ' to have been called.';\n          return result;\n        }\n        if (!latterSpy.calls.count()) {\n          result.message = 'Expected spy ' +  latterSpy.and.identity + ' to have been called.';\n          return result;\n        }\n\n        var latest1stSpyCall = firstSpy.calls.mostRecent().invocationOrder;\n        var first2ndSpyCall = latterSpy.calls.first().invocationOrder;\n\n        result.pass = latest1stSpyCall < first2ndSpyCall;\n\n        if (result.pass) {\n          result.message = 'Expected spy ' + firstSpy.and.identity + ' to not have been called before spy ' + latterSpy.and.identity + ', but it was';\n        } else {\n          var first1stSpyCall = firstSpy.calls.first().invocationOrder;\n          var latest2ndSpyCall = latterSpy.calls.mostRecent().invocationOrder;\n\n          if(first1stSpyCall < first2ndSpyCall) {\n            result.message = 'Expected latest call to spy ' + firstSpy.and.identity + ' to have been called before first call to spy ' + latterSpy.and.identity + ' (no interleaved calls)';\n          } else if (latest2ndSpyCall > latest1stSpyCall) {\n            result.message = 'Expected first call to spy ' + latterSpy.and.identity + ' to have been called after latest call to spy ' + firstSpy.and.identity + ' (no interleaved calls)';\n          } else {\n            result.message = 'Expected spy ' + firstSpy.and.identity + ' to have been called before spy ' + latterSpy.and.identity;\n          }\n        }\n\n        return result;\n      }\n    };\n  }\n\n  return toHaveBeenCalledBefore;\n};\n\ngetJasmineRequireObj().toHaveBeenCalledTimes = function(j$) {\n\n  var getErrorMsg = j$.formatErrorMsg('<toHaveBeenCalledTimes>', 'expect(<spyObj>).toHaveBeenCalledTimes(<Number>)');\n\n  /**\n   * {@link expect} the actual (a {@link Spy}) to have been called the specified number of times.\n   * @function\n   * @name matchers#toHaveBeenCalledTimes\n   * @param {Number} expected - The number of invocations to look for.\n   * @example\n   * expect(mySpy).toHaveBeenCalledTimes(3);\n   */\n  function toHaveBeenCalledTimes() {\n    return {\n      compare: function(actual, expected) {\n        if (!j$.isSpy(actual)) {\n          throw new Error(getErrorMsg('Expected a spy, but got ' + j$.pp(actual) + '.'));\n        }\n\n        var args = Array.prototype.slice.call(arguments, 0),\n          result = { pass: false };\n\n        if (!j$.isNumber_(expected)){\n          throw new Error(getErrorMsg('The expected times failed is a required argument and must be a number.'));\n        }\n\n        actual = args[0];\n        var calls = actual.calls.count();\n        var timesMessage = expected === 1 ? 'once' : expected + ' times';\n        result.pass = calls === expected;\n        result.message = result.pass ?\n          'Expected spy ' + actual.and.identity + ' not to have been called ' + timesMessage + '. It was called ' +  calls + ' times.' :\n          'Expected spy ' + actual.and.identity + ' to have been called ' + timesMessage + '. It was called ' +  calls + ' times.';\n        return result;\n      }\n    };\n  }\n\n  return toHaveBeenCalledTimes;\n};\n\ngetJasmineRequireObj().toHaveBeenCalledWith = function(j$) {\n\n  var getErrorMsg = j$.formatErrorMsg('<toHaveBeenCalledWith>', 'expect(<spyObj>).toHaveBeenCalledWith(...arguments)');\n\n  /**\n   * {@link expect} the actual (a {@link Spy}) to have been called with particular arguments at least once.\n   * @function\n   * @name matchers#toHaveBeenCalledWith\n   * @param {...Object} - The arguments to look for\n   * @example\n   * expect(mySpy).toHaveBeenCalledWith('foo', 'bar', 2);\n   */\n  function toHaveBeenCalledWith(util, customEqualityTesters) {\n    return {\n      compare: function() {\n        var args = Array.prototype.slice.call(arguments, 0),\n          actual = args[0],\n          expectedArgs = args.slice(1),\n          result = { pass: false };\n\n        if (!j$.isSpy(actual)) {\n          throw new Error(getErrorMsg('Expected a spy, but got ' + j$.pp(actual) + '.'));\n        }\n\n        if (!actual.calls.any()) {\n          result.message = function() { return 'Expected spy ' + actual.and.identity + ' to have been called with ' + j$.pp(expectedArgs) + ' but it was never called.'; };\n          return result;\n        }\n\n        if (util.contains(actual.calls.allArgs(), expectedArgs, customEqualityTesters)) {\n          result.pass = true;\n          result.message = function() { return 'Expected spy ' + actual.and.identity + ' not to have been called with ' + j$.pp(expectedArgs) + ' but it was.'; };\n        } else {\n          result.message = function() { return 'Expected spy ' + actual.and.identity + ' to have been called with ' + j$.pp(expectedArgs) + ' but actual calls were ' + j$.pp(actual.calls.allArgs()).replace(/^\\[ | \\]$/g, '') + '.'; };\n        }\n\n        return result;\n      }\n    };\n  }\n\n  return toHaveBeenCalledWith;\n};\n\ngetJasmineRequireObj().toHaveClass = function(j$) {\n  /**\n   * {@link expect} the actual value to be a DOM element that has the expected class\n   * @function\n   * @name matchers#toHaveClass\n   * @param {Object} expected - The class name to test for\n   * @example\n   * var el = document.createElement('div');\n   * el.className = 'foo bar baz';\n   * expect(el).toHaveClass('bar');\n   */\n  function toHaveClass(util, customEqualityTesters) {\n    return {\n      compare: function(actual, expected) {\n        if (!isElement(actual)) {\n          throw new Error(j$.pp(actual) + ' is not a DOM element');\n        }\n\n        return {\n          pass: actual.classList.contains(expected)\n        };\n      }\n    };\n  }\n\n  function isElement(maybeEl) {\n    return maybeEl &&\n      maybeEl.classList &&\n      j$.isFunction_(maybeEl.classList.contains);\n  }\n\n  return toHaveClass;\n};\n\ngetJasmineRequireObj().toMatch = function(j$) {\n\n  var getErrorMsg = j$.formatErrorMsg('<toMatch>', 'expect(<expectation>).toMatch(<string> || <regexp>)');\n\n  /**\n   * {@link expect} the actual value to match a regular expression\n   * @function\n   * @name matchers#toMatch\n   * @param {RegExp|String} expected - Value to look for in the string.\n   * @example\n   * expect(\"my string\").toMatch(/string$/);\n   * expect(\"other string\").toMatch(\"her\");\n   */\n  function toMatch() {\n    return {\n      compare: function(actual, expected) {\n        if (!j$.isString_(expected) && !j$.isA_('RegExp', expected)) {\n          throw new Error(getErrorMsg('Expected is not a String or a RegExp'));\n        }\n\n        var regexp = new RegExp(expected);\n\n        return {\n          pass: regexp.test(actual)\n        };\n      }\n    };\n  }\n\n  return toMatch;\n};\n\ngetJasmineRequireObj().toThrow = function(j$) {\n\n  var getErrorMsg = j$.formatErrorMsg('<toThrow>', 'expect(function() {<expectation>}).toThrow()');\n\n  /**\n   * {@link expect} a function to `throw` something.\n   * @function\n   * @name matchers#toThrow\n   * @param {Object} [expected] - Value that should be thrown. If not provided, simply the fact that something was thrown will be checked.\n   * @example\n   * expect(function() { return 'things'; }).toThrow('foo');\n   * expect(function() { return 'stuff'; }).toThrow();\n   */\n  function toThrow(util) {\n    return {\n      compare: function(actual, expected) {\n        var result = { pass: false },\n          threw = false,\n          thrown;\n\n        if (typeof actual != 'function') {\n          throw new Error(getErrorMsg('Actual is not a Function'));\n        }\n\n        try {\n          actual();\n        } catch (e) {\n          threw = true;\n          thrown = e;\n        }\n\n        if (!threw) {\n          result.message = 'Expected function to throw an exception.';\n          return result;\n        }\n\n        if (arguments.length == 1) {\n          result.pass = true;\n          result.message = function() { return 'Expected function not to throw, but it threw ' + j$.pp(thrown) + '.'; };\n\n          return result;\n        }\n\n        if (util.equals(thrown, expected)) {\n          result.pass = true;\n          result.message = function() { return 'Expected function not to throw ' + j$.pp(expected) + '.'; };\n        } else {\n          result.message = function() { return 'Expected function to throw ' + j$.pp(expected) + ', but it threw ' +  j$.pp(thrown) + '.'; };\n        }\n\n        return result;\n      }\n    };\n  }\n\n  return toThrow;\n};\n\ngetJasmineRequireObj().toThrowError = function(j$) {\n\n  var getErrorMsg =  j$.formatErrorMsg('<toThrowError>', 'expect(function() {<expectation>}).toThrowError(<ErrorConstructor>, <message>)');\n\n  /**\n   * {@link expect} a function to `throw` an `Error`.\n   * @function\n   * @name matchers#toThrowError\n   * @param {Error} [expected] - `Error` constructor the object that was thrown needs to be an instance of. If not provided, `Error` will be used.\n   * @param {RegExp|String} [message] - The message that should be set on the thrown `Error`\n   * @example\n   * expect(function() { return 'things'; }).toThrowError(MyCustomError, 'message');\n   * expect(function() { return 'things'; }).toThrowError(MyCustomError, /bar/);\n   * expect(function() { return 'stuff'; }).toThrowError(MyCustomError);\n   * expect(function() { return 'other'; }).toThrowError(/foo/);\n   * expect(function() { return 'other'; }).toThrowError();\n   */\n  function toThrowError () {\n    return {\n      compare: function(actual) {\n        var errorMatcher = getMatcher.apply(null, arguments),\n          thrown;\n\n        if (typeof actual != 'function') {\n          throw new Error(getErrorMsg('Actual is not a Function'));\n        }\n\n        try {\n          actual();\n          return fail('Expected function to throw an Error.');\n        } catch (e) {\n          thrown = e;\n        }\n\n        if (!j$.isError_(thrown)) {\n          return fail(function() { return 'Expected function to throw an Error, but it threw ' + j$.pp(thrown) + '.'; });\n        }\n\n        return errorMatcher.match(thrown);\n      }\n    };\n\n    function getMatcher() {\n      var expected, errorType;\n\n      if (arguments[2]) {\n        errorType = arguments[1];\n        expected = arguments[2];\n        if (!isAnErrorType(errorType)) {\n          throw new Error(getErrorMsg('Expected error type is not an Error.'));\n        }\n\n        return exactMatcher(expected, errorType);\n      } else if (arguments[1]) {\n        expected = arguments[1];\n\n        if (isAnErrorType(arguments[1])) {\n          return exactMatcher(null, arguments[1]);\n        } else {\n          return exactMatcher(arguments[1], null);\n        }\n      } else {\n        return anyMatcher();\n      }\n    }\n\n    function anyMatcher() {\n      return {\n        match: function(error) {\n          return pass('Expected function not to throw an Error, but it threw ' + j$.fnNameFor(error) + '.');\n        }\n      };\n    }\n\n    function exactMatcher(expected, errorType) {\n      if (expected && !isStringOrRegExp(expected)) {\n        if (errorType) {\n          throw new Error(getErrorMsg('Expected error message is not a string or RegExp.'));\n        } else {\n          throw new Error(getErrorMsg('Expected is not an Error, string, or RegExp.'));\n        }\n      }\n\n      function messageMatch(message) {\n        if (typeof expected == 'string') {\n          return expected == message;\n        } else {\n          return expected.test(message);\n        }\n      }\n\n      var errorTypeDescription = errorType ? j$.fnNameFor(errorType) : 'an exception';\n\n      function thrownDescription(thrown) {\n        var thrownName = errorType ? j$.fnNameFor(thrown.constructor) : 'an exception',\n            thrownMessage = '';\n\n        if (expected) {\n          thrownMessage = ' with message ' + j$.pp(thrown.message);\n        }\n\n        return thrownName + thrownMessage;\n      }\n\n      function messageDescription() {\n        if (expected === null) {\n          return '';\n        } else if (expected instanceof RegExp) {\n          return ' with a message matching ' + j$.pp(expected);\n        } else {\n          return ' with message ' + j$.pp(expected);\n        }\n      }\n\n      function matches(error) {\n        return (errorType === null || error instanceof errorType) &&\n          (expected === null || messageMatch(error.message));\n      }\n\n      return {\n        match: function(thrown) {\n          if (matches(thrown)) {\n            return pass(function() {\n              return 'Expected function not to throw ' + errorTypeDescription + messageDescription() + '.';\n            });\n          } else {\n            return fail(function() {\n              return 'Expected function to throw ' + errorTypeDescription + messageDescription() +\n                ', but it threw ' + thrownDescription(thrown) + '.';\n            });\n          }\n        }\n      };\n    }\n\n    function isStringOrRegExp(potential) {\n      return potential instanceof RegExp || (typeof potential == 'string');\n    }\n\n    function isAnErrorType(type) {\n      if (typeof type !== 'function') {\n        return false;\n      }\n\n      var Surrogate = function() {};\n      Surrogate.prototype = type.prototype;\n      return j$.isError_(new Surrogate());\n    }\n  }\n\n  function pass(message) {\n    return {\n      pass: true,\n      message: message\n    };\n  }\n\n  function fail(message) {\n    return {\n      pass: false,\n      message: message\n    };\n  }\n\n  return toThrowError;\n};\n\ngetJasmineRequireObj().toThrowMatching = function(j$) {\n  var usageError =  j$.formatErrorMsg('<toThrowMatching>', 'expect(function() {<expectation>}).toThrowMatching(<Predicate>)');\n\n  /**\n   * {@link expect} a function to `throw` something matching a predicate.\n   * @function\n   * @name matchers#toThrowMatching\n   * @param {Function} predicate - A function that takes the thrown exception as its parameter and returns true if it matches.\n   * @example\n   * expect(function() { throw new Error('nope'); }).toThrowMatching(function(thrown) { return thrown.message === 'nope'; });\n   */\n  function toThrowMatching() {\n    return {\n      compare: function(actual, predicate) {\n        var thrown;\n\n        if (typeof actual !== 'function') {\n          throw new Error(usageError('Actual is not a Function'));\n        }\n\n        if (typeof predicate !== 'function') {\n          throw new Error(usageError('Predicate is not a Function'));\n        }\n\n        try {\n          actual();\n          return fail('Expected function to throw an exception.');\n        } catch (e) {\n          thrown = e;\n        }\n\n        if (predicate(thrown)) {\n          return pass('Expected function not to throw an exception matching a predicate.');\n        } else {\n            return fail(function() {\n              return 'Expected function to throw an exception matching a predicate, ' +\n                'but it threw ' + thrownDescription(thrown) + '.';\n            });\n        }\n      }\n    };\n  }\n\n  function thrownDescription(thrown) {\n    if (thrown && thrown.constructor) {\n      return j$.fnNameFor(thrown.constructor) + ' with message ' +\n        j$.pp(thrown.message);\n    } else {\n      return j$.pp(thrown);\n    }\n  }\n\n  function pass(message) {\n    return {\n      pass: true,\n      message: message\n    };\n  }\n\n  function fail(message) {\n    return {\n      pass: false,\n      message: message\n    };\n  }\n\n  return toThrowMatching;\n};\n\ngetJasmineRequireObj().MockDate = function() {\n  function MockDate(global) {\n    var self = this;\n    var currentTime = 0;\n\n    if (!global || !global.Date) {\n      self.install = function() {};\n      self.tick = function() {};\n      self.uninstall = function() {};\n      return self;\n    }\n\n    var GlobalDate = global.Date;\n\n    self.install = function(mockDate) {\n      if (mockDate instanceof GlobalDate) {\n        currentTime = mockDate.getTime();\n      } else {\n        currentTime = new GlobalDate().getTime();\n      }\n\n      global.Date = FakeDate;\n    };\n\n    self.tick = function(millis) {\n      millis = millis || 0;\n      currentTime = currentTime + millis;\n    };\n\n    self.uninstall = function() {\n      currentTime = 0;\n      global.Date = GlobalDate;\n    };\n\n    createDateProperties();\n\n    return self;\n\n    function FakeDate() {\n      switch(arguments.length) {\n        case 0:\n          return new GlobalDate(currentTime);\n        case 1:\n          return new GlobalDate(arguments[0]);\n        case 2:\n          return new GlobalDate(arguments[0], arguments[1]);\n        case 3:\n          return new GlobalDate(arguments[0], arguments[1], arguments[2]);\n        case 4:\n          return new GlobalDate(arguments[0], arguments[1], arguments[2], arguments[3]);\n        case 5:\n          return new GlobalDate(arguments[0], arguments[1], arguments[2], arguments[3],\n                                arguments[4]);\n        case 6:\n          return new GlobalDate(arguments[0], arguments[1], arguments[2], arguments[3],\n                                arguments[4], arguments[5]);\n        default:\n          return new GlobalDate(arguments[0], arguments[1], arguments[2], arguments[3],\n                                arguments[4], arguments[5], arguments[6]);\n      }\n    }\n\n    function createDateProperties() {\n      FakeDate.prototype = GlobalDate.prototype;\n\n      FakeDate.now = function() {\n        if (GlobalDate.now) {\n          return currentTime;\n        } else {\n          throw new Error('Browser does not support Date.now()');\n        }\n      };\n\n      FakeDate.toSource = GlobalDate.toSource;\n      FakeDate.toString = GlobalDate.toString;\n      FakeDate.parse = GlobalDate.parse;\n      FakeDate.UTC = GlobalDate.UTC;\n    }\n\t}\n\n  return MockDate;\n};\n\ngetJasmineRequireObj().pp = function(j$) {\n\n  function PrettyPrinter() {\n    this.ppNestLevel_ = 0;\n    this.seen = [];\n    this.length = 0;\n    this.stringParts = [];\n  }\n\n  function hasCustomToString(value) {\n    // value.toString !== Object.prototype.toString if value has no custom toString but is from another context (e.g.\n    // iframe, web worker)\n    return j$.isFunction_(value.toString) && value.toString !== Object.prototype.toString && (value.toString() !== Object.prototype.toString.call(value));\n  }\n\n  PrettyPrinter.prototype.format = function(value) {\n    this.ppNestLevel_++;\n    try {\n      if (j$.util.isUndefined(value)) {\n        this.emitScalar('undefined');\n      } else if (value === null) {\n        this.emitScalar('null');\n      } else if (value === 0 && 1/value === -Infinity) {\n        this.emitScalar('-0');\n      } else if (value === j$.getGlobal()) {\n        this.emitScalar('<global>');\n      } else if (value.jasmineToString) {\n        this.emitScalar(value.jasmineToString());\n      } else if (typeof value === 'string') {\n        this.emitString(value);\n      } else if (j$.isSpy(value)) {\n        this.emitScalar('spy on ' + value.and.identity);\n      } else if (value instanceof RegExp) {\n        this.emitScalar(value.toString());\n      } else if (typeof value === 'function') {\n        this.emitScalar('Function');\n      } else if (j$.isDomNode(value)) {\n        if (value.tagName) {\n          this.emitDomElement(value);\n        } else {\n          this.emitScalar('HTMLNode');\n        }\n      } else if (value instanceof Date) {\n        this.emitScalar('Date(' + value + ')');\n      } else if (j$.isSet(value)) {\n        this.emitSet(value);\n      } else if (j$.isMap(value)) {\n        this.emitMap(value);\n      } else if (j$.isTypedArray_(value)) {\n        this.emitTypedArray(value);\n      } else if (value.toString && typeof value === 'object' && !j$.isArray_(value) && hasCustomToString(value)) {\n        this.emitScalar(value.toString());\n      } else if (j$.util.arrayContains(this.seen, value)) {\n        this.emitScalar('<circular reference: ' + (j$.isArray_(value) ? 'Array' : 'Object') + '>');\n      } else if (j$.isArray_(value) || j$.isA_('Object', value)) {\n        this.seen.push(value);\n        if (j$.isArray_(value)) {\n          this.emitArray(value);\n        } else {\n          this.emitObject(value);\n        }\n        this.seen.pop();\n      } else {\n        this.emitScalar(value.toString());\n      }\n    } catch (e) {\n      if (this.ppNestLevel_ > 1 || !(e instanceof MaxCharsReachedError)) {\n        throw e;\n      }\n    } finally {\n      this.ppNestLevel_--;\n    }\n  };\n\n  PrettyPrinter.prototype.iterateObject = function(obj, fn) {\n    var objKeys = keys(obj, j$.isArray_(obj));\n    var isGetter = function isGetter(prop) {};\n\n    if (obj.__lookupGetter__) {\n      isGetter = function isGetter(prop) {\n        var getter = obj.__lookupGetter__(prop);\n        return !j$.util.isUndefined(getter) && getter !== null;\n      };\n\n    }\n    var length = Math.min(objKeys.length, j$.MAX_PRETTY_PRINT_ARRAY_LENGTH);\n    for (var i = 0; i < length; i++) {\n      var property = objKeys[i];\n      fn(property, isGetter(property));\n    }\n\n    return objKeys.length > length;\n  };\n\n  PrettyPrinter.prototype.emitScalar = function(value) {\n    this.append(value);\n  };\n\n  PrettyPrinter.prototype.emitString = function(value) {\n    this.append('\\'' + value + '\\'');\n  };\n\n  PrettyPrinter.prototype.emitArray = function(array) {\n    if (this.ppNestLevel_ > j$.MAX_PRETTY_PRINT_DEPTH) {\n      this.append('Array');\n      return;\n    }\n    var length = Math.min(array.length, j$.MAX_PRETTY_PRINT_ARRAY_LENGTH);\n    this.append('[ ');\n    for (var i = 0; i < length; i++) {\n      if (i > 0) {\n        this.append(', ');\n      }\n      this.format(array[i]);\n    }\n    if(array.length > length){\n      this.append(', ...');\n    }\n\n    var self = this;\n    var first = array.length === 0;\n    var truncated = this.iterateObject(array, function(property, isGetter) {\n      if (first) {\n        first = false;\n      } else {\n        self.append(', ');\n      }\n\n      self.formatProperty(array, property, isGetter);\n    });\n\n    if (truncated) { this.append(', ...'); }\n\n    this.append(' ]');\n  };\n\n  PrettyPrinter.prototype.emitSet = function(set) {\n    if (this.ppNestLevel_ > j$.MAX_PRETTY_PRINT_DEPTH) {\n      this.append('Set');\n      return;\n    }\n    this.append('Set( ');\n    var size = Math.min(set.size, j$.MAX_PRETTY_PRINT_ARRAY_LENGTH);\n    var i = 0;\n    set.forEach( function( value, key ) {\n      if (i >= size) {\n        return;\n      }\n      if (i > 0) {\n        this.append(', ');\n      }\n      this.format(value);\n\n      i++;\n    }, this );\n    if (set.size > size){\n      this.append(', ...');\n    }\n    this.append(' )');\n  };\n\n  PrettyPrinter.prototype.emitMap = function(map) {\n    if (this.ppNestLevel_ > j$.MAX_PRETTY_PRINT_DEPTH) {\n      this.append('Map');\n      return;\n    }\n    this.append('Map( ');\n    var size = Math.min(map.size, j$.MAX_PRETTY_PRINT_ARRAY_LENGTH);\n    var i = 0;\n    map.forEach( function( value, key ) {\n      if (i >= size) {\n        return;\n      }\n      if (i > 0) {\n        this.append(', ');\n      }\n      this.format([key,value]);\n\n      i++;\n    }, this );\n    if (map.size > size){\n      this.append(', ...');\n    }\n    this.append(' )');\n  };\n\n  PrettyPrinter.prototype.emitObject = function(obj) {\n    var ctor = obj.constructor,\n        constructorName;\n\n    constructorName = typeof ctor === 'function' && obj instanceof ctor ?\n      j$.fnNameFor(obj.constructor) :\n      'null';\n\n    this.append(constructorName);\n\n    if (this.ppNestLevel_ > j$.MAX_PRETTY_PRINT_DEPTH) {\n      return;\n    }\n\n    var self = this;\n    this.append('({ ');\n    var first = true;\n\n    var truncated = this.iterateObject(obj, function(property, isGetter) {\n      if (first) {\n        first = false;\n      } else {\n        self.append(', ');\n      }\n\n      self.formatProperty(obj, property, isGetter);\n    });\n\n    if (truncated) { this.append(', ...'); }\n\n    this.append(' })');\n  };\n\n  PrettyPrinter.prototype.emitTypedArray = function(arr) {\n    var constructorName = j$.fnNameFor(arr.constructor),\n      limitedArray = Array.prototype.slice.call(arr, 0, j$.MAX_PRETTY_PRINT_ARRAY_LENGTH),\n      itemsString = Array.prototype.join.call(limitedArray, ', ');\n\n    if (limitedArray.length !== arr.length) {\n      itemsString += ', ...';\n    }\n\n    this.append(constructorName + ' [ ' + itemsString + ' ]');\n  };\n\n  PrettyPrinter.prototype.emitDomElement = function(el) {\n    var tagName = el.tagName.toLowerCase(),\n      attrs = el.attributes,\n      i,\n      len = attrs.length,\n      out = '<' + tagName,\n      attr;\n\n    for (i = 0; i < len; i++) {\n      attr = attrs[i];\n      out += ' ' + attr.name;\n\n      if (attr.value !== '') {\n        out += '=\"' + attr.value + '\"';\n      }\n    }\n\n    out += '>';\n\n    if (el.childElementCount !== 0 || el.textContent !== '') {\n      out += '...</' + tagName + '>';\n    }\n\n    this.append(out);\n  };\n\n  PrettyPrinter.prototype.formatProperty = function(obj, property, isGetter) {\n      this.append(property);\n      this.append(': ');\n      if (isGetter) {\n        this.append('<getter>');\n      } else {\n        this.format(obj[property]);\n      }\n  };\n\n  PrettyPrinter.prototype.append = function(value) {\n    var result = truncate(value, j$.MAX_PRETTY_PRINT_CHARS - this.length);\n    this.length += result.value.length;\n    this.stringParts.push(result.value);\n\n    if (result.truncated) {\n      throw new MaxCharsReachedError();\n    }\n  };\n\n\n  function truncate(s, maxlen) {\n    if (s.length <= maxlen) {\n      return { value: s, truncated: false };\n    }\n\n    s = s.substring(0, maxlen - 4) + ' ...';\n    return { value: s, truncated: true };\n  }\n\n  function MaxCharsReachedError() {\n    this.message = 'Exceeded ' + j$.MAX_PRETTY_PRINT_CHARS +\n      ' characters while pretty-printing a value';\n  }\n\n  MaxCharsReachedError.prototype = new Error();\n\n  function keys(obj, isArray) {\n    var allKeys = Object.keys ? Object.keys(obj) :\n      (function(o) {\n          var keys = [];\n          for (var key in o) {\n              if (j$.util.has(o, key)) {\n                  keys.push(key);\n              }\n          }\n          return keys;\n      })(obj);\n\n    if (!isArray) {\n      return allKeys;\n    }\n\n    if (allKeys.length === 0) {\n        return allKeys;\n    }\n\n    var extraKeys = [];\n    for (var i = 0; i < allKeys.length; i++) {\n      if (!/^[0-9]+$/.test(allKeys[i])) {\n        extraKeys.push(allKeys[i]);\n      }\n    }\n\n    return extraKeys;\n  }\n  return function(value) {\n    var prettyPrinter = new PrettyPrinter();\n    prettyPrinter.format(value);\n    return prettyPrinter.stringParts.join('');\n  };\n};\n\ngetJasmineRequireObj().QueueRunner = function(j$) {\n  function StopExecutionError() {}\n  StopExecutionError.prototype = new Error();\n  j$.StopExecutionError = StopExecutionError;\n\n  function once(fn) {\n    var called = false;\n    return function(arg) {\n      if (!called) {\n        called = true;\n        // Direct call using single parameter, because cleanup/next does not need more\n        fn(arg);\n      }\n      return null;\n    };\n  }\n\n  function emptyFn() {}\n\n  function QueueRunner(attrs) {\n    var queueableFns = attrs.queueableFns || [];\n    this.queueableFns = queueableFns.concat(attrs.cleanupFns || []);\n    this.firstCleanupIx = queueableFns.length;\n    this.onComplete = attrs.onComplete || emptyFn;\n    this.clearStack = attrs.clearStack || function(fn) {fn();};\n    this.onException = attrs.onException || emptyFn;\n    this.userContext = attrs.userContext || new j$.UserContext();\n    this.timeout = attrs.timeout || {setTimeout: setTimeout, clearTimeout: clearTimeout};\n    this.fail = attrs.fail || emptyFn;\n    this.globalErrors = attrs.globalErrors || { pushListener: emptyFn, popListener: emptyFn };\n    this.completeOnFirstError = !!attrs.completeOnFirstError;\n    this.errored = false;\n\n    if (typeof(this.onComplete) !== 'function') {\n      throw new Error('invalid onComplete ' + JSON.stringify(this.onComplete));\n    }\n    this.deprecated = attrs.deprecated;\n  }\n\n  QueueRunner.prototype.execute = function() {\n    var self = this;\n    this.handleFinalError = function(error) {\n      self.onException(error);\n    };\n    this.globalErrors.pushListener(this.handleFinalError);\n    this.run(0);\n  };\n\n  QueueRunner.prototype.skipToCleanup = function(lastRanIndex) {\n    if (lastRanIndex < this.firstCleanupIx) {\n      this.run(this.firstCleanupIx);\n    } else {\n      this.run(lastRanIndex + 1);\n    }\n  };\n\n  QueueRunner.prototype.clearTimeout = function(timeoutId) {\n    Function.prototype.apply.apply(this.timeout.clearTimeout, [j$.getGlobal(), [timeoutId]]);\n  };\n\n  QueueRunner.prototype.setTimeout = function(fn, timeout) {\n    return Function.prototype.apply.apply(this.timeout.setTimeout, [j$.getGlobal(), [fn, timeout]]);\n  };\n\n  QueueRunner.prototype.attempt = function attempt(iterativeIndex) {\n    var self = this, completedSynchronously = true,\n      handleError = function handleError(error) {\n        onException(error);\n        next(error);\n      },\n      cleanup = once(function cleanup() {\n        if (timeoutId !== void 0) {\n          self.clearTimeout(timeoutId);\n        }\n        self.globalErrors.popListener(handleError);\n      }),\n      next = once(function next(err) {\n        cleanup();\n\n        if (j$.isError_(err)) {\n          if (!(err instanceof StopExecutionError) && !err.jasmineMessage) {\n            self.fail(err);\n          }\n          self.errored = errored = true;\n        }\n\n        function runNext() {\n          if (self.completeOnFirstError && errored) {\n            self.skipToCleanup(iterativeIndex);\n          } else {\n            self.run(iterativeIndex + 1);\n          }\n        }\n\n        if (completedSynchronously) {\n          self.setTimeout(runNext);\n        } else {\n          runNext();\n        }\n      }),\n      errored = false,\n      queueableFn = self.queueableFns[iterativeIndex],\n      timeoutId;\n\n    next.fail = function nextFail() {\n      self.fail.apply(null, arguments);\n      self.errored = errored = true;\n      next();\n    };\n\n    self.globalErrors.pushListener(handleError);\n\n    if (queueableFn.timeout !== undefined) {\n      var timeoutInterval = queueableFn.timeout || j$.DEFAULT_TIMEOUT_INTERVAL;\n      timeoutId = self.setTimeout(function() {\n        var error = new Error(\n          'Timeout - Async callback was not invoked within ' + timeoutInterval + 'ms ' +\n          (queueableFn.timeout ? '(custom timeout)' : '(set by jasmine.DEFAULT_TIMEOUT_INTERVAL)')\n        );\n        onException(error);\n        next();\n      }, timeoutInterval);\n    }\n\n    try {\n      if (queueableFn.fn.length === 0) {\n        var maybeThenable = queueableFn.fn.call(self.userContext);\n\n        if (maybeThenable && j$.isFunction_(maybeThenable.then)) {\n          maybeThenable.then(next, onPromiseRejection);\n          completedSynchronously = false;\n          return { completedSynchronously: false };\n        }\n      } else {\n        queueableFn.fn.call(self.userContext, next);\n        completedSynchronously = false;\n        return { completedSynchronously: false };\n      }\n    } catch (e) {\n      onException(e);\n      self.errored = errored = true;\n    }\n\n    cleanup();\n    return { completedSynchronously: true, errored: errored };\n\n    function onException(e) {\n      self.onException(e);\n      self.errored = errored = true;\n    }\n\n    function onPromiseRejection(e) {\n      onException(e);\n      next();\n    }\n  };\n\n  QueueRunner.prototype.run = function(recursiveIndex) {\n    var length = this.queueableFns.length,\n      self = this,\n      iterativeIndex;\n\n\n    for(iterativeIndex = recursiveIndex; iterativeIndex < length; iterativeIndex++) {\n      var result = this.attempt(iterativeIndex);\n\n      if (!result.completedSynchronously) {\n        return;\n      }\n\n      self.errored = self.errored || result.errored;\n\n      if (this.completeOnFirstError && result.errored) {\n        this.skipToCleanup(iterativeIndex);\n        return;\n      }\n    }\n\n    this.clearStack(function() {\n      self.globalErrors.popListener(self.handleFinalError);\n      self.onComplete(self.errored && new StopExecutionError());\n    });\n\n  };\n\n  return QueueRunner;\n};\n\ngetJasmineRequireObj().ReportDispatcher = function(j$) {\n  function ReportDispatcher(methods, queueRunnerFactory) {\n\n    var dispatchedMethods = methods || [];\n\n    for (var i = 0; i < dispatchedMethods.length; i++) {\n      var method = dispatchedMethods[i];\n      this[method] = (function(m) {\n        return function() {\n          dispatch(m, arguments);\n        };\n      }(method));\n    }\n\n    var reporters = [];\n    var fallbackReporter = null;\n\n    this.addReporter = function(reporter) {\n      reporters.push(reporter);\n    };\n\n    this.provideFallbackReporter = function(reporter) {\n      fallbackReporter = reporter;\n    };\n\n    this.clearReporters = function() {\n      reporters = [];\n    };\n\n    return this;\n\n    function dispatch(method, args) {\n      if (reporters.length === 0 && fallbackReporter !== null) {\n          reporters.push(fallbackReporter);\n      }\n      var onComplete = args[args.length - 1];\n      args = j$.util.argsToArray(args).splice(0, args.length - 1);\n      var fns = [];\n      for (var i = 0; i < reporters.length; i++) {\n        var reporter = reporters[i];\n        addFn(fns, reporter, method, args);\n      }\n\n      queueRunnerFactory({\n        queueableFns: fns,\n        onComplete: onComplete,\n        isReporter: true\n      });\n    }\n\n    function addFn(fns, reporter, method, args) {\n      var fn = reporter[method];\n      if (!fn) {\n        return;\n      }\n\n      var thisArgs = j$.util.cloneArgs(args);\n      if (fn.length <= 1) {\n        fns.push({\n          fn: function () {\n            return fn.apply(reporter, thisArgs);\n          }\n        });\n      } else {\n        fns.push({\n          fn: function (done) {\n            return fn.apply(reporter, thisArgs.concat([done]));\n          }\n        });\n      }\n    }\n  }\n\n  return ReportDispatcher;\n};\n\n\ngetJasmineRequireObj().interface = function(jasmine, env) {\n  var jasmineInterface = {\n    /**\n     * Callback passed to parts of the Jasmine base interface.\n     *\n     * By default Jasmine assumes this function completes synchronously.\n     * If you have code that you need to test asynchronously, you can declare that you receive a `done` callback, return a Promise, or use the `async` keyword if it is supported in your environment.\n     * @callback implementationCallback\n     * @param {Function} [done] Used to specify to Jasmine that this callback is asynchronous and Jasmine should wait until it has been called before moving on.\n     * @returns {} Optionally return a Promise instead of using `done` to cause Jasmine to wait for completion.\n     */\n\n    /**\n     * Create a group of specs (often called a suite).\n     *\n     * Calls to `describe` can be nested within other calls to compose your suite as a tree.\n     * @name describe\n     * @function\n     * @global\n     * @param {String} description Textual description of the group\n     * @param {Function} specDefinitions Function for Jasmine to invoke that will define inner suites and specs\n     */\n    describe: function(description, specDefinitions) {\n      return env.describe(description, specDefinitions);\n    },\n\n    /**\n     * A temporarily disabled [`describe`]{@link describe}\n     *\n     * Specs within an `xdescribe` will be marked pending and not executed\n     * @name xdescribe\n     * @function\n     * @global\n     * @param {String} description Textual description of the group\n     * @param {Function} specDefinitions Function for Jasmine to invoke that will define inner suites and specs\n     */\n    xdescribe: function(description, specDefinitions) {\n      return env.xdescribe(description, specDefinitions);\n    },\n\n    /**\n     * A focused [`describe`]{@link describe}\n     *\n     * If suites or specs are focused, only those that are focused will be executed\n     * @see fit\n     * @name fdescribe\n     * @function\n     * @global\n     * @param {String} description Textual description of the group\n     * @param {Function} specDefinitions Function for Jasmine to invoke that will define inner suites and specs\n     */\n    fdescribe: function(description, specDefinitions) {\n      return env.fdescribe(description, specDefinitions);\n    },\n\n    /**\n     * Define a single spec. A spec should contain one or more {@link expect|expectations} that test the state of the code.\n     *\n     * A spec whose expectations all succeed will be passing and a spec with any failures will fail.\n     * @name it\n     * @function\n     * @global\n     * @param {String} description Textual description of what this spec is checking\n     * @param {implementationCallback} [testFunction] Function that contains the code of your test. If not provided the test will be `pending`.\n     * @param {Int} [timeout={@link jasmine.DEFAULT_TIMEOUT_INTERVAL}] Custom timeout for an async spec.\n     * @see async\n     */\n    it: function() {\n      return env.it.apply(env, arguments);\n    },\n\n    /**\n     * A temporarily disabled [`it`]{@link it}\n     *\n     * The spec will report as `pending` and will not be executed.\n     * @name xit\n     * @function\n     * @global\n     * @param {String} description Textual description of what this spec is checking.\n     * @param {implementationCallback} [testFunction] Function that contains the code of your test. Will not be executed.\n     */\n    xit: function() {\n      return env.xit.apply(env, arguments);\n    },\n\n    /**\n     * A focused [`it`]{@link it}\n     *\n     * If suites or specs are focused, only those that are focused will be executed.\n     * @name fit\n     * @function\n     * @global\n     * @param {String} description Textual description of what this spec is checking.\n     * @param {implementationCallback} testFunction Function that contains the code of your test.\n     * @param {Int} [timeout={@link jasmine.DEFAULT_TIMEOUT_INTERVAL}] Custom timeout for an async spec.\n     * @see async\n     */\n    fit: function() {\n      return env.fit.apply(env, arguments);\n    },\n\n    /**\n     * Run some shared setup before each of the specs in the {@link describe} in which it is called.\n     * @name beforeEach\n     * @function\n     * @global\n     * @param {implementationCallback} [function] Function that contains the code to setup your specs.\n     * @param {Int} [timeout={@link jasmine.DEFAULT_TIMEOUT_INTERVAL}] Custom timeout for an async beforeEach.\n     * @see async\n     */\n    beforeEach: function() {\n      return env.beforeEach.apply(env, arguments);\n    },\n\n    /**\n     * Run some shared teardown after each of the specs in the {@link describe} in which it is called.\n     * @name afterEach\n     * @function\n     * @global\n     * @param {implementationCallback} [function] Function that contains the code to teardown your specs.\n     * @param {Int} [timeout={@link jasmine.DEFAULT_TIMEOUT_INTERVAL}] Custom timeout for an async afterEach.\n     * @see async\n     */\n    afterEach: function() {\n      return env.afterEach.apply(env, arguments);\n    },\n\n    /**\n     * Run some shared setup once before all of the specs in the {@link describe} are run.\n     *\n     * _Note:_ Be careful, sharing the setup from a beforeAll makes it easy to accidentally leak state between your specs so that they erroneously pass or fail.\n     * @name beforeAll\n     * @function\n     * @global\n     * @param {implementationCallback} [function] Function that contains the code to setup your specs.\n     * @param {Int} [timeout={@link jasmine.DEFAULT_TIMEOUT_INTERVAL}] Custom timeout for an async beforeAll.\n     * @see async\n     */\n    beforeAll: function() {\n      return env.beforeAll.apply(env, arguments);\n    },\n\n    /**\n     * Run some shared teardown once after all of the specs in the {@link describe} are run.\n     *\n     * _Note:_ Be careful, sharing the teardown from a afterAll makes it easy to accidentally leak state between your specs so that they erroneously pass or fail.\n     * @name afterAll\n     * @function\n     * @global\n     * @param {implementationCallback} [function] Function that contains the code to teardown your specs.\n     * @param {Int} [timeout={@link jasmine.DEFAULT_TIMEOUT_INTERVAL}] Custom timeout for an async afterAll.\n     * @see async\n     */\n    afterAll: function() {\n      return env.afterAll.apply(env, arguments);\n    },\n\n    /**\n     * Create an expectation for a spec.\n     * @name expect\n     * @function\n     * @global\n     * @param {Object} actual - Actual computed value to test expectations against.\n     * @return {matchers}\n     */\n    expect: function(actual) {\n      return env.expect(actual);\n    },\n\n    /**\n     * Create an asynchronous expectation for a spec. Note that the matchers\n     * that are provided by an asynchronous expectation all return promises\n     * which must be either returned from the spec or waited for using `await`\n     * in order for Jasmine to associate them with the correct spec.\n     * @name expectAsync\n     * @function\n     * @global\n     * @param {Object} actual - Actual computed value to test expectations against.\n     * @return {async-matchers}\n     * @example\n     * await expectAsync(somePromise).toBeResolved();\n     * @example\n     * return expectAsync(somePromise).toBeResolved();\n     */\n    expectAsync: function(actual) {\n      return env.expectAsync(actual);\n    },\n\n    /**\n     * Mark a spec as pending, expectation results will be ignored.\n     * @name pending\n     * @function\n     * @global\n     * @param {String} [message] - Reason the spec is pending.\n     */\n    pending: function() {\n      return env.pending.apply(env, arguments);\n    },\n\n    /**\n     * Explicitly mark a spec as failed.\n     * @name fail\n     * @function\n     * @global\n     * @param {String|Error} [error] - Reason for the failure.\n    */\n    fail: function() {\n      return env.fail.apply(env, arguments);\n    },\n\n    /**\n     * Install a spy onto an existing object.\n     * @name spyOn\n     * @function\n     * @global\n     * @param {Object} obj - The object upon which to install the {@link Spy}.\n     * @param {String} methodName - The name of the method to replace with a {@link Spy}.\n     * @returns {Spy}\n     */\n    spyOn: function(obj, methodName) {\n      return env.spyOn(obj, methodName);\n    },\n\n    /**\n     * Install a spy on a property installed with `Object.defineProperty` onto an existing object.\n     * @name spyOnProperty\n     * @function\n     * @global\n     * @param {Object} obj - The object upon which to install the {@link Spy}\n     * @param {String} propertyName - The name of the property to replace with a {@link Spy}.\n     * @param {String} [accessType=get] - The access type (get|set) of the property to {@link Spy} on.\n     * @returns {Spy}\n     */\n    spyOnProperty: function(obj, methodName, accessType) {\n      return env.spyOnProperty(obj, methodName, accessType);\n    },\n\n    /**\n     * Installs spies on all writable and configurable properties of an object.\n     * @name spyOnAllFunctions\n     * @function\n     * @global\n     * @param {Object} obj - The object upon which to install the {@link Spy}s\n     * @returns {Object} the spied object\n     */\n    spyOnAllFunctions: function(obj) {\n      return env.spyOnAllFunctions(obj);\n    },\n\n    jsApiReporter: new jasmine.JsApiReporter({\n      timer: new jasmine.Timer()\n    }),\n\n    /**\n     * @namespace jasmine\n     */\n    jasmine: jasmine\n  };\n\n  /**\n   * Add a custom equality tester for the current scope of specs.\n   *\n   * _Note:_ This is only callable from within a {@link beforeEach}, {@link it}, or {@link beforeAll}.\n   * @name jasmine.addCustomEqualityTester\n   * @function\n   * @param {Function} tester - A function which takes two arguments to compare and returns a `true` or `false` comparison result if it knows how to compare them, and `undefined` otherwise.\n   * @see custom_equality\n   */\n  jasmine.addCustomEqualityTester = function(tester) {\n    env.addCustomEqualityTester(tester);\n  };\n\n  /**\n   * Add custom matchers for the current scope of specs.\n   *\n   * _Note:_ This is only callable from within a {@link beforeEach}, {@link it}, or {@link beforeAll}.\n   * @name jasmine.addMatchers\n   * @function\n   * @param {Object} matchers - Keys from this object will be the new matcher names.\n   * @see custom_matcher\n   */\n  jasmine.addMatchers = function(matchers) {\n    return env.addMatchers(matchers);\n  };\n\n  /**\n   * Get the currently booted mock {Clock} for this Jasmine environment.\n   * @name jasmine.clock\n   * @function\n   * @returns {Clock}\n   */\n  jasmine.clock = function() {\n    return env.clock;\n  };\n\n  /**\n   * Create a bare {@link Spy} object. This won't be installed anywhere and will not have any implementation behind it.\n   * @name jasmine.createSpy\n   * @function\n   * @param {String} [name] - Name to give the spy. This will be displayed in failure messages.\n   * @param {Function} [originalFn] - Function to act as the real implementation.\n   * @return {Spy}\n   */\n  jasmine.createSpy = function(name, originalFn) {\n    return env.createSpy(name, originalFn);\n  };\n\n  /**\n   * Create an object with multiple {@link Spy}s as its members.\n   * @name jasmine.createSpyObj\n   * @function\n   * @param {String} [baseName] - Base name for the spies in the object.\n   * @param {String[]|Object} methodNames - Array of method names to create spies for, or Object whose keys will be method names and values the {@link Spy#and#returnValue|returnValue}.\n   * @return {Object}\n   */\n  jasmine.createSpyObj = function(baseName, methodNames) {\n    return env.createSpyObj(baseName, methodNames);\n  };\n\n  /**\n   * Add a custom spy strategy for the current scope of specs.\n   *\n   * _Note:_ This is only callable from within a {@link beforeEach}, {@link it}, or {@link beforeAll}.\n   * @name jasmine.addSpyStrategy\n   * @function\n   * @param {String} name - The name of the strategy (i.e. what you call from `and`)\n   * @param {Function} factory - Factory function that returns the plan to be executed.\n   */\n  jasmine.addSpyStrategy = function(name, factory) {\n    return env.addSpyStrategy(name, factory);\n  };\n\n  return jasmineInterface;\n};\n\ngetJasmineRequireObj().Spy = function (j$) {\n\n  var nextOrder = (function() {\n    var order = 0;\n\n    return function() {\n      return order++;\n    };\n  })();\n\n  /**\n   * _Note:_ Do not construct this directly, use {@link spyOn}, {@link spyOnProperty}, {@link jasmine.createSpy}, or {@link jasmine.createSpyObj}\n   * @constructor\n   * @name Spy\n   */\n  function Spy(name, originalFn, customStrategies) {\n    var numArgs = (typeof originalFn === 'function' ? originalFn.length : 0),\n      wrapper = makeFunc(numArgs, function () {\n        return spy.apply(this, Array.prototype.slice.call(arguments));\n      }),\n      strategyDispatcher = new SpyStrategyDispatcher({\n        name: name,\n        fn: originalFn,\n        getSpy: function () {\n          return wrapper;\n        },\n        customStrategies: customStrategies\n      }),\n      callTracker = new j$.CallTracker(),\n      spy = function () {\n        /**\n         * @name Spy.callData\n         * @property {object} object - `this` context for the invocation.\n         * @property {number} invocationOrder - Order of the invocation.\n         * @property {Array} args - The arguments passed for this invocation.\n         */\n        var callData = {\n          object: this,\n          invocationOrder: nextOrder(),\n          args: Array.prototype.slice.apply(arguments)\n        };\n\n        callTracker.track(callData);\n        var returnValue = strategyDispatcher.exec(this, arguments);\n        callData.returnValue = returnValue;\n\n        return returnValue;\n      };\n\n    function makeFunc(length, fn) {\n      switch (length) {\n        case 1 : return function (a) { return fn.apply(this, arguments); };\n        case 2 : return function (a,b) { return fn.apply(this, arguments); };\n        case 3 : return function (a,b,c) { return fn.apply(this, arguments); };\n        case 4 : return function (a,b,c,d) { return fn.apply(this, arguments); };\n        case 5 : return function (a,b,c,d,e) { return fn.apply(this, arguments); };\n        case 6 : return function (a,b,c,d,e,f) { return fn.apply(this, arguments); };\n        case 7 : return function (a,b,c,d,e,f,g) { return fn.apply(this, arguments); };\n        case 8 : return function (a,b,c,d,e,f,g,h) { return fn.apply(this, arguments); };\n        case 9 : return function (a,b,c,d,e,f,g,h,i) { return fn.apply(this, arguments); };\n        default : return function () { return fn.apply(this, arguments); };\n      }\n    }\n\n    for (var prop in originalFn) {\n      if (prop === 'and' || prop === 'calls') {\n        throw new Error('Jasmine spies would overwrite the \\'and\\' and \\'calls\\' properties on the object being spied upon');\n      }\n\n      wrapper[prop] = originalFn[prop];\n    }\n\n    /**\n     * @member {SpyStrategy} - Accesses the default strategy for the spy. This strategy will be used\n     * whenever the spy is called with arguments that don't match any strategy\n     * created with {@link Spy#withArgs}.\n     * @name Spy#and\n     * @example\n     * spyOn(someObj, 'func').and.returnValue(42);\n     */\n    wrapper.and = strategyDispatcher.and;\n    /**\n     * Specifies a strategy to be used for calls to the spy that have the\n     * specified arguments.\n     * @name Spy#withArgs\n     * @function\n     * @param {...*} args - The arguments to match\n     * @type {SpyStrategy}\n     * @example\n     * spyOn(someObj, 'func').withArgs(1, 2, 3).and.returnValue(42);\n     * someObj.func(1, 2, 3); // returns 42\n     */\n    wrapper.withArgs = function() {\n      return strategyDispatcher.withArgs.apply(strategyDispatcher, arguments);\n    };\n    wrapper.calls = callTracker;\n\n    return wrapper;\n  }\n\n\n  function SpyStrategyDispatcher(strategyArgs) {\n    var baseStrategy = new j$.SpyStrategy(strategyArgs);\n    var argsStrategies = new StrategyDict(function() {\n      return new j$.SpyStrategy(strategyArgs);\n    });\n\n    this.and = baseStrategy;\n\n    this.exec = function(spy, args) {\n      var strategy = argsStrategies.get(args);\n\n      if (!strategy) {\n        if (argsStrategies.any() && !baseStrategy.isConfigured()) {\n          throw new Error('Spy \\'' + strategyArgs.name + '\\' received a call with arguments ' + j$.pp(Array.prototype.slice.call(args)) + ' but all configured strategies specify other arguments.');\n        } else {\n          strategy = baseStrategy;\n        }\n      }\n\n      return strategy.exec(spy, args);\n    };\n\n    this.withArgs = function() {\n      return { and: argsStrategies.getOrCreate(arguments) };\n    };\n  }\n\n  function StrategyDict(strategyFactory) {\n    this.strategies = [];\n    this.strategyFactory = strategyFactory;\n  }\n\n  StrategyDict.prototype.any = function() {\n    return this.strategies.length > 0;\n  };\n\n  StrategyDict.prototype.getOrCreate = function(args) {\n    var strategy = this.get(args);\n\n    if (!strategy) {\n      strategy = this.strategyFactory();\n      this.strategies.push({\n        args: args,\n        strategy: strategy\n      });\n    }\n\n    return strategy;\n  };\n\n  StrategyDict.prototype.get = function(args) {\n    var i;\n\n    for (i = 0; i < this.strategies.length; i++) {\n      if (j$.matchersUtil.equals(args, this.strategies[i].args)) {\n        return this.strategies[i].strategy;\n      }\n    }\n  };\n\n  return Spy;\n};\n\ngetJasmineRequireObj().SpyFactory = function(j$) {\n\n  function SpyFactory(getCustomStrategies) {\n    var self = this;\n\n    this.createSpy = function(name, originalFn) {\n      return j$.Spy(name, originalFn, getCustomStrategies());\n    };\n\n    this.createSpyObj = function(baseName, methodNames) {\n      var baseNameIsCollection = j$.isObject_(baseName) || j$.isArray_(baseName);\n\n      if (baseNameIsCollection && j$.util.isUndefined(methodNames)) {\n        methodNames = baseName;\n        baseName = 'unknown';\n      }\n\n      var obj = {};\n      var spiesWereSet = false;\n\n      if (j$.isArray_(methodNames)) {\n        for (var i = 0; i < methodNames.length; i++) {\n          obj[methodNames[i]] = self.createSpy(baseName + '.' + methodNames[i]);\n          spiesWereSet = true;\n        }\n      } else if (j$.isObject_(methodNames)) {\n        for (var key in methodNames) {\n          if (methodNames.hasOwnProperty(key)) {\n            obj[key] = self.createSpy(baseName + '.' + key);\n            obj[key].and.returnValue(methodNames[key]);\n            spiesWereSet = true;\n          }\n        }\n      }\n\n      if (!spiesWereSet) {\n        throw 'createSpyObj requires a non-empty array or object of method names to create spies for';\n      }\n\n      return obj;\n    };\n  }\n\n  return SpyFactory;\n};\n\ngetJasmineRequireObj().SpyRegistry = function(j$) {\n\n  var getErrorMsg = j$.formatErrorMsg('<spyOn>', 'spyOn(<object>, <methodName>)');\n\n  function SpyRegistry(options) {\n    options = options || {};\n    var global = options.global || j$.getGlobal();\n    var createSpy = options.createSpy;\n    var currentSpies = options.currentSpies || function() { return []; };\n\n    this.allowRespy = function(allow){\n      this.respy = allow;\n    };\n\n    this.spyOn = function(obj, methodName) {\n\n      if (j$.util.isUndefined(obj) || obj === null) {\n        throw new Error(getErrorMsg('could not find an object to spy upon for ' + methodName + '()'));\n      }\n\n      if (j$.util.isUndefined(methodName) || methodName === null) {\n        throw new Error(getErrorMsg('No method name supplied'));\n      }\n\n      if (j$.util.isUndefined(obj[methodName])) {\n        throw new Error(getErrorMsg(methodName + '() method does not exist'));\n      }\n\n      if (obj[methodName] && j$.isSpy(obj[methodName])  ) {\n        if ( !!this.respy ){\n          return obj[methodName];\n        }else {\n          throw new Error(getErrorMsg(methodName + ' has already been spied upon'));\n        }\n      }\n\n      var descriptor = Object.getOwnPropertyDescriptor(obj, methodName);\n\n      if (descriptor && !(descriptor.writable || descriptor.set)) {\n        throw new Error(getErrorMsg(methodName + ' is not declared writable or has no setter'));\n      }\n\n      var originalMethod = obj[methodName],\n        spiedMethod = createSpy(methodName, originalMethod),\n        restoreStrategy;\n\n      if (Object.prototype.hasOwnProperty.call(obj, methodName) || (obj === global && methodName === 'onerror')) {\n        restoreStrategy = function() {\n          obj[methodName] = originalMethod;\n        };\n      } else {\n        restoreStrategy = function() {\n          if (!delete obj[methodName]) {\n            obj[methodName] = originalMethod;\n          }\n        };\n      }\n\n      currentSpies().push({\n        restoreObjectToOriginalState: restoreStrategy\n      });\n\n      obj[methodName] = spiedMethod;\n\n      return spiedMethod;\n    };\n\n    this.spyOnProperty = function (obj, propertyName, accessType) {\n      accessType = accessType || 'get';\n\n      if (j$.util.isUndefined(obj)) {\n        throw new Error('spyOn could not find an object to spy upon for ' + propertyName + '');\n      }\n\n      if (j$.util.isUndefined(propertyName)) {\n        throw new Error('No property name supplied');\n      }\n\n      var descriptor = j$.util.getPropertyDescriptor(obj, propertyName);\n\n      if (!descriptor) {\n        throw new Error(propertyName + ' property does not exist');\n      }\n\n      if (!descriptor.configurable) {\n        throw new Error(propertyName + ' is not declared configurable');\n      }\n\n      if(!descriptor[accessType]) {\n        throw new Error('Property ' + propertyName + ' does not have access type ' + accessType);\n      }\n\n      if (j$.isSpy(descriptor[accessType])) {\n        //TODO?: should this return the current spy? Downside: may cause user confusion about spy state\n        throw new Error(propertyName + ' has already been spied upon');\n      }\n\n      var originalDescriptor = j$.util.clone(descriptor),\n        spy = createSpy(propertyName, descriptor[accessType]),\n        restoreStrategy;\n\n      if (Object.prototype.hasOwnProperty.call(obj, propertyName)) {\n        restoreStrategy = function() {\n          Object.defineProperty(obj, propertyName, originalDescriptor);\n        };\n      } else {\n        restoreStrategy = function() {\n          delete obj[propertyName];\n        };\n      }\n\n      currentSpies().push({\n        restoreObjectToOriginalState: restoreStrategy\n      });\n\n      descriptor[accessType] = spy;\n\n      Object.defineProperty(obj, propertyName, descriptor);\n\n      return spy;\n    };\n\n    this.spyOnAllFunctions = function(obj) {\n      if (j$.util.isUndefined(obj)) {\n        throw new Error('spyOnAllFunctions could not find an object to spy upon');\n      }\n\n      for (var prop in obj) {\n        if (Object.prototype.hasOwnProperty.call(obj, prop) && obj[prop] instanceof Function) {\n          var descriptor = Object.getOwnPropertyDescriptor(obj, prop);\n          if ((descriptor.writable || descriptor.set) && descriptor.configurable) {\n            this.spyOn(obj, prop);\n          }\n        }\n      }\n\n      return obj;\n    };\n\n    this.clearSpies = function() {\n      var spies = currentSpies();\n      for (var i = spies.length - 1; i >= 0; i--) {\n        var spyEntry = spies[i];\n        spyEntry.restoreObjectToOriginalState();\n      }\n    };\n  }\n\n  return SpyRegistry;\n};\n\ngetJasmineRequireObj().SpyStrategy = function(j$) {\n\n  /**\n   * @interface SpyStrategy\n   */\n  function SpyStrategy(options) {\n    options = options || {};\n\n    /**\n     * Get the identifying information for the spy.\n     * @name SpyStrategy#identity\n     * @member\n     * @type {String}\n     */\n    this.identity = options.name || 'unknown';\n    this.originalFn = options.fn || function() {};\n    this.getSpy = options.getSpy || function() {};\n    this.plan = this._defaultPlan = function() {};\n\n    var k, cs = options.customStrategies || {};\n    for (k in cs) {\n      if (j$.util.has(cs, k) && !this[k]) {\n        this[k] = createCustomPlan(cs[k]);\n      }\n    }\n  }\n\n  function createCustomPlan(factory) {\n    return function() {\n      var plan = factory.apply(null, arguments);\n\n      if (!j$.isFunction_(plan)) {\n        throw new Error('Spy strategy must return a function');\n      }\n\n      this.plan = plan;\n      return this.getSpy();\n    };\n  }\n\n  /**\n   * Execute the current spy strategy.\n   * @name SpyStrategy#exec\n   * @function\n   */\n  SpyStrategy.prototype.exec = function(context, args) {\n    return this.plan.apply(context, args);\n  };\n\n  /**\n   * Tell the spy to call through to the real implementation when invoked.\n   * @name SpyStrategy#callThrough\n   * @function\n   */\n  SpyStrategy.prototype.callThrough = function() {\n    this.plan = this.originalFn;\n    return this.getSpy();\n  };\n\n  /**\n   * Tell the spy to return the value when invoked.\n   * @name SpyStrategy#returnValue\n   * @function\n   * @param {*} value The value to return.\n   */\n  SpyStrategy.prototype.returnValue = function(value) {\n    this.plan = function() {\n      return value;\n    };\n    return this.getSpy();\n  };\n\n  /**\n   * Tell the spy to return one of the specified values (sequentially) each time the spy is invoked.\n   * @name SpyStrategy#returnValues\n   * @function\n   * @param {...*} values - Values to be returned on subsequent calls to the spy.\n   */\n  SpyStrategy.prototype.returnValues = function() {\n    var values = Array.prototype.slice.call(arguments);\n    this.plan = function () {\n      return values.shift();\n    };\n    return this.getSpy();\n  };\n\n  /**\n   * Tell the spy to throw an error when invoked.\n   * @name SpyStrategy#throwError\n   * @function\n   * @param {Error|String} something Thing to throw\n   */\n  SpyStrategy.prototype.throwError = function(something) {\n    var error = (something instanceof Error) ? something : new Error(something);\n    this.plan = function() {\n      throw error;\n    };\n    return this.getSpy();\n  };\n\n  /**\n   * Tell the spy to call a fake implementation when invoked.\n   * @name SpyStrategy#callFake\n   * @function\n   * @param {Function} fn The function to invoke with the passed parameters.\n   */\n  SpyStrategy.prototype.callFake = function(fn) {\n    if(!(j$.isFunction_(fn) || j$.isAsyncFunction_(fn))) {\n      throw new Error('Argument passed to callFake should be a function, got ' + fn);\n    }\n    this.plan = fn;\n    return this.getSpy();\n  };\n\n  /**\n   * Tell the spy to do nothing when invoked. This is the default.\n   * @name SpyStrategy#stub\n   * @function\n   */\n  SpyStrategy.prototype.stub = function(fn) {\n    this.plan = function() {};\n    return this.getSpy();\n  };\n\n  SpyStrategy.prototype.isConfigured = function() {\n    return this.plan !== this._defaultPlan;\n  };\n\n  return SpyStrategy;\n};\n\ngetJasmineRequireObj().StackTrace = function(j$) {\n  function StackTrace(error) {\n    var lines = error.stack\n      .split('\\n')\n      .filter(function(line) { return line !== ''; });\n\n    var extractResult = extractMessage(error.message, lines);\n\n    if (extractResult) {\n      this.message = extractResult.message;\n      lines = extractResult.remainder;\n    }\n\n    var parseResult = tryParseFrames(lines);\n    this.frames = parseResult.frames;\n    this.style = parseResult.style;\n  }\n\n  var framePatterns = [\n    // PhantomJS on Linux, Node, Chrome, IE, Edge\n    // e.g. \"   at QueueRunner.run (http://localhost:8888/__jasmine__/jasmine.js:4320:20)\"\n    // Note that the \"function name\" can include a surprisingly large set of\n    // characters, including angle brackets and square brackets.\n    { re: /^\\s*at ([^\\)]+) \\(([^\\)]+)\\)$/, fnIx: 1, fileLineColIx: 2, style: 'v8' },\n\n    // NodeJS alternate form, often mixed in with the Chrome style\n    // e.g. \"  at /some/path:4320:20\n    { re: /\\s*at (.+)$/, fileLineColIx: 1, style: 'v8' },\n\n    // PhantomJS on OS X, Safari, Firefox\n    // e.g. \"run@http://localhost:8888/__jasmine__/jasmine.js:4320:27\"\n    // or \"http://localhost:8888/__jasmine__/jasmine.js:4320:27\"\n    { re: /^(([^@\\s]+)@)?([^\\s]+)$/, fnIx: 2, fileLineColIx: 3, style: 'webkit' }\n  ];\n\n  // regexes should capture the function name (if any) as group 1\n  // and the file, line, and column as group 2.\n  function tryParseFrames(lines) {\n    var style = null;\n    var frames = lines.map(function(line) {\n      var convertedLine = first(framePatterns, function(pattern) {\n        var overallMatch = line.match(pattern.re),\n          fileLineColMatch;\n        if (!overallMatch) { return null; }\n\n        fileLineColMatch = overallMatch[pattern.fileLineColIx].match(\n          /^(.*):(\\d+):\\d+$/);\n        if (!fileLineColMatch) { return null; }\n\n        style = style || pattern.style;\n        return {\n          raw: line,\n          file: fileLineColMatch[1],\n          line: parseInt(fileLineColMatch[2], 10),\n          func: overallMatch[pattern.fnIx]\n        };\n      });\n\n      return convertedLine || { raw: line };\n    });\n\n    return {\n      style: style,\n      frames: frames\n    };\n  }\n\n  function first(items, fn) {\n    var i, result;\n\n    for (i = 0; i < items.length; i++) {\n      result = fn(items[i]);\n\n      if (result) {\n        return result;\n      }\n    }\n  }\n\n  function extractMessage(message, stackLines) {\n    var len = messagePrefixLength(message, stackLines);\n\n    if (len > 0) {\n      return {\n        message: stackLines.slice(0, len).join('\\n'),\n        remainder: stackLines.slice(len)\n      };\n    }\n  }\n\n  function messagePrefixLength(message, stackLines) {\n    if (!stackLines[0].match(/^Error/)) {\n      return 0;\n    }\n\n    var messageLines = message.split('\\n');\n    var i;\n\n    for (i = 1; i < messageLines.length; i++) {\n      if (messageLines[i] !== stackLines[i]) {\n        return 0;\n      }\n    }\n\n    return messageLines.length;\n  }\n\n  return StackTrace;\n};\n\ngetJasmineRequireObj().Suite = function(j$) {\n  function Suite(attrs) {\n    this.env = attrs.env;\n    this.id = attrs.id;\n    this.parentSuite = attrs.parentSuite;\n    this.description = attrs.description;\n    this.expectationFactory = attrs.expectationFactory;\n    this.asyncExpectationFactory = attrs.asyncExpectationFactory;\n    this.expectationResultFactory = attrs.expectationResultFactory;\n    this.throwOnExpectationFailure = !!attrs.throwOnExpectationFailure;\n\n    this.beforeFns = [];\n    this.afterFns = [];\n    this.beforeAllFns = [];\n    this.afterAllFns = [];\n\n    this.timer = attrs.timer || j$.noopTimer;\n\n    this.children = [];\n\n    /**\n     * @typedef SuiteResult\n     * @property {Int} id - The unique id of this suite.\n     * @property {String} description - The description text passed to the {@link describe} that made this suite.\n     * @property {String} fullName - The full description including all ancestors of this suite.\n     * @property {Expectation[]} failedExpectations - The list of expectations that failed in an {@link afterAll} for this suite.\n     * @property {Expectation[]} deprecationWarnings - The list of deprecation warnings that occurred on this suite.\n     * @property {String} status - Once the suite has completed, this string represents the pass/fail status of this suite.\n     * @property {number} duration - The time in ms for Suite execution, including any before/afterAll, before/afterEach.\n     */\n    this.result = {\n      id: this.id,\n      description: this.description,\n      fullName: this.getFullName(),\n      failedExpectations: [],\n      deprecationWarnings: [],\n      duration: null,\n    };\n  }\n\n  Suite.prototype.expect = function(actual) {\n    return this.expectationFactory(actual, this);\n  };\n\n  Suite.prototype.expectAsync = function(actual) {\n    return this.asyncExpectationFactory(actual, this);\n  };\n\n  Suite.prototype.getFullName = function() {\n    var fullName = [];\n    for (var parentSuite = this; parentSuite; parentSuite = parentSuite.parentSuite) {\n      if (parentSuite.parentSuite) {\n        fullName.unshift(parentSuite.description);\n      }\n    }\n    return fullName.join(' ');\n  };\n\n  Suite.prototype.pend = function() {\n    this.markedPending = true;\n  };\n\n  Suite.prototype.beforeEach = function(fn) {\n    this.beforeFns.unshift(fn);\n  };\n\n  Suite.prototype.beforeAll = function(fn) {\n    this.beforeAllFns.push(fn);\n  };\n\n  Suite.prototype.afterEach = function(fn) {\n    this.afterFns.unshift(fn);\n  };\n\n  Suite.prototype.afterAll = function(fn) {\n    this.afterAllFns.unshift(fn);\n  };\n\n  Suite.prototype.startTimer = function() {\n    this.timer.start();\n  };\n\n  Suite.prototype.endTimer = function() {\n    this.result.duration = this.timer.elapsed();\n  };\n\n  function removeFns(queueableFns) {\n    for(var i = 0; i < queueableFns.length; i++) {\n      queueableFns[i].fn = null;\n    }\n  }\n\n  Suite.prototype.cleanupBeforeAfter = function() {\n    removeFns(this.beforeAllFns);\n    removeFns(this.afterAllFns);\n    removeFns(this.beforeFns);\n    removeFns(this.afterFns);\n  };\n\n  Suite.prototype.addChild = function(child) {\n    this.children.push(child);\n  };\n\n  Suite.prototype.status = function() {\n    if (this.markedPending) {\n      return 'pending';\n    }\n\n    if (this.result.failedExpectations.length > 0) {\n      return 'failed';\n    } else {\n      return 'passed';\n    }\n  };\n\n  Suite.prototype.canBeReentered = function() {\n    return this.beforeAllFns.length === 0 && this.afterAllFns.length === 0;\n  };\n\n  Suite.prototype.getResult = function() {\n    this.result.status = this.status();\n    return this.result;\n  };\n\n  Suite.prototype.sharedUserContext = function() {\n    if (!this.sharedContext) {\n      this.sharedContext = this.parentSuite ? this.parentSuite.clonedSharedUserContext() : new j$.UserContext();\n    }\n\n    return this.sharedContext;\n  };\n\n  Suite.prototype.clonedSharedUserContext = function() {\n    return j$.UserContext.fromExisting(this.sharedUserContext());\n  };\n\n  Suite.prototype.onException = function() {\n    if (arguments[0] instanceof j$.errors.ExpectationFailed) {\n      return;\n    }\n\n    var data = {\n      matcherName: '',\n      passed: false,\n      expected: '',\n      actual: '',\n      error: arguments[0]\n    };\n    var failedExpectation = this.expectationResultFactory(data);\n\n    if (!this.parentSuite) {\n      failedExpectation.globalErrorType = 'afterAll';\n    }\n\n    this.result.failedExpectations.push(failedExpectation);\n  };\n\n  Suite.prototype.addExpectationResult = function () {\n    if(isFailure(arguments)) {\n      var data = arguments[1];\n      this.result.failedExpectations.push(this.expectationResultFactory(data));\n      if(this.throwOnExpectationFailure) {\n        throw new j$.errors.ExpectationFailed();\n      }\n    }\n  };\n\n  Suite.prototype.addDeprecationWarning = function(deprecation) {\n    if (typeof deprecation === 'string') {\n      deprecation = { message: deprecation };\n    }\n    this.result.deprecationWarnings.push(this.expectationResultFactory(deprecation));\n  };\n\n  function isFailure(args) {\n    return !args[0];\n  }\n\n  return Suite;\n};\n\nif (typeof window == void 0 && typeof exports == 'object') {\n  /* globals exports */\n  exports.Suite = jasmineRequire.Suite;\n}\n\ngetJasmineRequireObj().Timer = function() {\n  var defaultNow = (function(Date) {\n    return function() { return new Date().getTime(); };\n  })(Date);\n\n  function Timer(options) {\n    options = options || {};\n\n    var now = options.now || defaultNow,\n      startTime;\n\n    this.start = function() {\n      startTime = now();\n    };\n\n    this.elapsed = function() {\n      return now() - startTime;\n    };\n  }\n\n  return Timer;\n};\n\ngetJasmineRequireObj().noopTimer = function() {\n  return {\n    start: function() {},\n    elapsed: function() { return 0; }\n  };\n};\ngetJasmineRequireObj().TreeProcessor = function() {\n  function TreeProcessor(attrs) {\n    var tree = attrs.tree,\n        runnableIds = attrs.runnableIds,\n        queueRunnerFactory = attrs.queueRunnerFactory,\n        nodeStart = attrs.nodeStart || function() {},\n        nodeComplete = attrs.nodeComplete || function() {},\n        orderChildren = attrs.orderChildren || function(node) { return node.children; },\n        excludeNode = attrs.excludeNode || function(node) { return false; },\n        stats = { valid: true },\n        processed = false,\n        defaultMin = Infinity,\n        defaultMax = 1 - Infinity;\n\n    this.processTree = function() {\n      processNode(tree, true);\n      processed = true;\n      return stats;\n    };\n\n    this.execute = function(done) {\n      if (!processed) {\n        this.processTree();\n      }\n\n      if (!stats.valid) {\n        throw 'invalid order';\n      }\n\n      var childFns = wrapChildren(tree, 0);\n\n      queueRunnerFactory({\n        queueableFns: childFns,\n        userContext: tree.sharedUserContext(),\n        onException: function() {\n          tree.onException.apply(tree, arguments);\n        },\n        onComplete: done\n      });\n    };\n\n    function runnableIndex(id) {\n      for (var i = 0; i < runnableIds.length; i++) {\n        if (runnableIds[i] === id) {\n          return i;\n        }\n      }\n    }\n\n    function processNode(node, parentExcluded) {\n      var executableIndex = runnableIndex(node.id);\n\n      if (executableIndex !== undefined) {\n        parentExcluded = false;\n      }\n\n      if (!node.children) {\n        var excluded = parentExcluded || excludeNode(node);\n        stats[node.id] = {\n          excluded: excluded,\n          willExecute: !excluded && !node.markedPending,\n          segments: [{\n            index: 0,\n            owner: node,\n            nodes: [node],\n            min: startingMin(executableIndex),\n            max: startingMax(executableIndex)\n          }]\n        };\n      } else {\n        var hasExecutableChild = false;\n\n        var orderedChildren = orderChildren(node);\n\n        for (var i = 0; i < orderedChildren.length; i++) {\n          var child = orderedChildren[i];\n\n          processNode(child, parentExcluded);\n\n          if (!stats.valid) {\n            return;\n          }\n\n          var childStats = stats[child.id];\n\n          hasExecutableChild = hasExecutableChild || childStats.willExecute;\n        }\n\n        stats[node.id] = {\n          excluded: parentExcluded,\n          willExecute: hasExecutableChild\n        };\n\n        segmentChildren(node, orderedChildren, stats[node.id], executableIndex);\n\n        if (!node.canBeReentered() && stats[node.id].segments.length > 1) {\n          stats = { valid: false };\n        }\n      }\n    }\n\n    function startingMin(executableIndex) {\n      return executableIndex === undefined ? defaultMin : executableIndex;\n    }\n\n    function startingMax(executableIndex) {\n      return executableIndex === undefined ? defaultMax : executableIndex;\n    }\n\n    function segmentChildren(node, orderedChildren, nodeStats, executableIndex) {\n      var currentSegment = { index: 0, owner: node, nodes: [], min: startingMin(executableIndex), max: startingMax(executableIndex) },\n          result = [currentSegment],\n          lastMax = defaultMax,\n          orderedChildSegments = orderChildSegments(orderedChildren);\n\n      function isSegmentBoundary(minIndex) {\n        return lastMax !== defaultMax && minIndex !== defaultMin && lastMax < minIndex - 1;\n      }\n\n      for (var i = 0; i < orderedChildSegments.length; i++) {\n        var childSegment = orderedChildSegments[i],\n          maxIndex = childSegment.max,\n          minIndex = childSegment.min;\n\n        if (isSegmentBoundary(minIndex)) {\n          currentSegment = {index: result.length, owner: node, nodes: [], min: defaultMin, max: defaultMax};\n          result.push(currentSegment);\n        }\n\n        currentSegment.nodes.push(childSegment);\n        currentSegment.min = Math.min(currentSegment.min, minIndex);\n        currentSegment.max = Math.max(currentSegment.max, maxIndex);\n        lastMax = maxIndex;\n      }\n\n      nodeStats.segments = result;\n    }\n\n    function orderChildSegments(children) {\n      var specifiedOrder = [],\n          unspecifiedOrder = [];\n\n      for (var i = 0; i < children.length; i++) {\n        var child = children[i],\n            segments = stats[child.id].segments;\n\n        for (var j = 0; j < segments.length; j++) {\n          var seg = segments[j];\n\n          if (seg.min === defaultMin) {\n            unspecifiedOrder.push(seg);\n          } else {\n            specifiedOrder.push(seg);\n          }\n        }\n      }\n\n      specifiedOrder.sort(function(a, b) {\n        return a.min - b.min;\n      });\n\n      return specifiedOrder.concat(unspecifiedOrder);\n    }\n\n    function executeNode(node, segmentNumber) {\n      if (node.children) {\n        return {\n          fn: function(done) {\n            var onStart = {\n              fn: function(next) {\n                nodeStart(node, next);\n              }\n            };\n\n            queueRunnerFactory({\n              onComplete: function () {\n                var args = Array.prototype.slice.call(arguments, [0]);\n                node.cleanupBeforeAfter();\n                nodeComplete(node, node.getResult(), function() {\n                  done.apply(undefined, args);\n                });\n              },\n              queueableFns: [onStart].concat(wrapChildren(node, segmentNumber)),\n              userContext: node.sharedUserContext(),\n              onException: function () {\n                node.onException.apply(node, arguments);\n              }\n            });\n          }\n        };\n      } else {\n        return {\n          fn: function(done) { node.execute(done, stats[node.id].excluded); }\n        };\n      }\n    }\n\n    function wrapChildren(node, segmentNumber) {\n      var result = [],\n          segmentChildren = stats[node.id].segments[segmentNumber].nodes;\n\n      for (var i = 0; i < segmentChildren.length; i++) {\n        result.push(executeNode(segmentChildren[i].owner, segmentChildren[i].index));\n      }\n\n      if (!stats[node.id].willExecute) {\n        return result;\n      }\n\n      return node.beforeAllFns.concat(result).concat(node.afterAllFns);\n    }\n  }\n\n  return TreeProcessor;\n};\n\ngetJasmineRequireObj().UserContext = function(j$) {\n  function UserContext() {\n  }\n\n  UserContext.fromExisting = function(oldContext) {\n    var context = new UserContext();\n\n    for (var prop in oldContext) {\n      if (oldContext.hasOwnProperty(prop)) {\n        context[prop] = oldContext[prop];\n      }\n    }\n\n    return context;\n  };\n\n  return  UserContext;\n};\n\ngetJasmineRequireObj().version = function() {\n  return '3.4.0';\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/jasmine/files/jasmine-core/lib/jasmine-core/json2.js",
    "content": "/*\n    json2.js\n    2014-02-04\n\n    Public Domain.\n\n    NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.\n\n    See http://www.JSON.org/js.html\n\n\n    This code should be minified before deployment.\n    See http://javascript.crockford.com/jsmin.html\n\n    USE YOUR OWN COPY. IT IS EXTREMELY UNWISE TO LOAD CODE FROM SERVERS YOU DO\n    NOT CONTROL.\n\n\n    This file creates a global JSON object containing two methods: stringify\n    and parse.\n\n        JSON.stringify(value, replacer, space)\n            value       any JavaScript value, usually an object or array.\n\n            replacer    an optional parameter that determines how object\n                        values are stringified for objects. It can be a\n                        function or an array of strings.\n\n            space       an optional parameter that specifies the indentation\n                        of nested structures. If it is omitted, the text will\n                        be packed without extra whitespace. If it is a number,\n                        it will specify the number of spaces to indent at each\n                        level. If it is a string (such as '\\t' or '&nbsp;'),\n                        it contains the characters used to indent at each level.\n\n            This method produces a JSON text from a JavaScript value.\n\n            When an object value is found, if the object contains a toJSON\n            method, its toJSON method will be called and the result will be\n            stringified. A toJSON method does not serialize: it returns the\n            value represented by the name/value pair that should be serialized,\n            or undefined if nothing should be serialized. The toJSON method\n            will be passed the key associated with the value, and this will be\n            bound to the value\n\n            For example, this would serialize Dates as ISO strings.\n\n                Date.prototype.toJSON = function (key) {\n                    function f(n) {\n                        // Format integers to have at least two digits.\n                        return n < 10 ? '0' + n : n;\n                    }\n\n                    return this.getUTCFullYear()   + '-' +\n                         f(this.getUTCMonth() + 1) + '-' +\n                         f(this.getUTCDate())      + 'T' +\n                         f(this.getUTCHours())     + ':' +\n                         f(this.getUTCMinutes())   + ':' +\n                         f(this.getUTCSeconds())   + 'Z';\n                };\n\n            You can provide an optional replacer method. It will be passed the\n            key and value of each member, with this bound to the containing\n            object. The value that is returned from your method will be\n            serialized. If your method returns undefined, then the member will\n            be excluded from the serialization.\n\n            If the replacer parameter is an array of strings, then it will be\n            used to select the members to be serialized. It filters the results\n            such that only members with keys listed in the replacer array are\n            stringified.\n\n            Values that do not have JSON representations, such as undefined or\n            functions, will not be serialized. Such values in objects will be\n            dropped; in arrays they will be replaced with null. You can use\n            a replacer function to replace those with JSON values.\n            JSON.stringify(undefined) returns undefined.\n\n            The optional space parameter produces a stringification of the\n            value that is filled with line breaks and indentation to make it\n            easier to read.\n\n            If the space parameter is a non-empty string, then that string will\n            be used for indentation. If the space parameter is a number, then\n            the indentation will be that many spaces.\n\n            Example:\n\n            text = JSON.stringify(['e', {pluribus: 'unum'}]);\n            // text is '[\"e\",{\"pluribus\":\"unum\"}]'\n\n\n            text = JSON.stringify(['e', {pluribus: 'unum'}], null, '\\t');\n            // text is '[\\n\\t\"e\",\\n\\t{\\n\\t\\t\"pluribus\": \"unum\"\\n\\t}\\n]'\n\n            text = JSON.stringify([new Date()], function (key, value) {\n                return this[key] instanceof Date ?\n                    'Date(' + this[key] + ')' : value;\n            });\n            // text is '[\"Date(---current time---)\"]'\n\n\n        JSON.parse(text, reviver)\n            This method parses a JSON text to produce an object or array.\n            It can throw a SyntaxError exception.\n\n            The optional reviver parameter is a function that can filter and\n            transform the results. It receives each of the keys and values,\n            and its return value is used instead of the original value.\n            If it returns what it received, then the structure is not modified.\n            If it returns undefined then the member is deleted.\n\n            Example:\n\n            // Parse the text. Values that look like ISO date strings will\n            // be converted to Date objects.\n\n            myData = JSON.parse(text, function (key, value) {\n                var a;\n                if (typeof value === 'string') {\n                    a =\n/^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2}(?:\\.\\d*)?)Z$/.exec(value);\n                    if (a) {\n                        return new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4],\n                            +a[5], +a[6]));\n                    }\n                }\n                return value;\n            });\n\n            myData = JSON.parse('[\"Date(09/09/2001)\"]', function (key, value) {\n                var d;\n                if (typeof value === 'string' &&\n                        value.slice(0, 5) === 'Date(' &&\n                        value.slice(-1) === ')') {\n                    d = new Date(value.slice(5, -1));\n                    if (d) {\n                        return d;\n                    }\n                }\n                return value;\n            });\n\n\n    This is a reference implementation. You are free to copy, modify, or\n    redistribute.\n*/\n\n/*jslint evil: true, regexp: true */\n\n/*members \"\", \"\\b\", \"\\t\", \"\\n\", \"\\f\", \"\\r\", \"\\\"\", JSON, \"\\\\\", apply,\n    call, charCodeAt, getUTCDate, getUTCFullYear, getUTCHours,\n    getUTCMinutes, getUTCMonth, getUTCSeconds, hasOwnProperty, join,\n    lastIndex, length, parse, prototype, push, replace, slice, stringify,\n    test, toJSON, toString, valueOf\n*/\n\n\n// Create a JSON object only if one does not already exist. We create the\n// methods in a closure to avoid creating global variables.\n\nif (typeof JSON !== 'object') {\n    JSON = {};\n}\n\n(function () {\n    'use strict';\n\n    function f(n) {\n        // Format integers to have at least two digits.\n        return n < 10 ? '0' + n : n;\n    }\n\n    if (typeof Date.prototype.toJSON !== 'function') {\n\n        Date.prototype.toJSON = function () {\n\n            return isFinite(this.valueOf())\n                ? this.getUTCFullYear()     + '-' +\n                    f(this.getUTCMonth() + 1) + '-' +\n                    f(this.getUTCDate())      + 'T' +\n                    f(this.getUTCHours())     + ':' +\n                    f(this.getUTCMinutes())   + ':' +\n                    f(this.getUTCSeconds())   + 'Z'\n                : null;\n        };\n\n        String.prototype.toJSON      =\n            Number.prototype.toJSON  =\n            Boolean.prototype.toJSON = function () {\n                return this.valueOf();\n            };\n    }\n\n    var cx,\n        escapable,\n        gap,\n        indent,\n        meta,\n        rep;\n\n\n    function quote(string) {\n\n// If the string contains no control characters, no quote characters, and no\n// backslash characters, then we can safely slap some quotes around it.\n// Otherwise we must also replace the offending characters with safe escape\n// sequences.\n\n        escapable.lastIndex = 0;\n        return escapable.test(string) ? '\"' + string.replace(escapable, function (a) {\n            var c = meta[a];\n            return typeof c === 'string'\n                ? c\n                : '\\\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);\n        }) + '\"' : '\"' + string + '\"';\n    }\n\n\n    function str(key, holder) {\n\n// Produce a string from holder[key].\n\n        var i,          // The loop counter.\n            k,          // The member key.\n            v,          // The member value.\n            length,\n            mind = gap,\n            partial,\n            value = holder[key];\n\n// If the value has a toJSON method, call it to obtain a replacement value.\n\n        if (value && typeof value === 'object' &&\n                typeof value.toJSON === 'function') {\n            value = value.toJSON(key);\n        }\n\n// If we were called with a replacer function, then call the replacer to\n// obtain a replacement value.\n\n        if (typeof rep === 'function') {\n            value = rep.call(holder, key, value);\n        }\n\n// What happens next depends on the value's type.\n\n        switch (typeof value) {\n        case 'string':\n            return quote(value);\n\n        case 'number':\n\n// JSON numbers must be finite. Encode non-finite numbers as null.\n\n            return isFinite(value) ? String(value) : 'null';\n\n        case 'boolean':\n        case 'null':\n\n// If the value is a boolean or null, convert it to a string. Note:\n// typeof null does not produce 'null'. The case is included here in\n// the remote chance that this gets fixed someday.\n\n            return String(value);\n\n// If the type is 'object', we might be dealing with an object or an array or\n// null.\n\n        case 'object':\n\n// Due to a specification blunder in ECMAScript, typeof null is 'object',\n// so watch out for that case.\n\n            if (!value) {\n                return 'null';\n            }\n\n// Make an array to hold the partial results of stringifying this object value.\n\n            gap += indent;\n            partial = [];\n\n// Is the value an array?\n\n            if (Object.prototype.toString.apply(value) === '[object Array]') {\n\n// The value is an array. Stringify every element. Use null as a placeholder\n// for non-JSON values.\n\n                length = value.length;\n                for (i = 0; i < length; i += 1) {\n                    partial[i] = str(i, value) || 'null';\n                }\n\n// Join all of the elements together, separated with commas, and wrap them in\n// brackets.\n\n                v = partial.length === 0\n                    ? '[]'\n                    : gap\n                    ? '[\\n' + gap + partial.join(',\\n' + gap) + '\\n' + mind + ']'\n                    : '[' + partial.join(',') + ']';\n                gap = mind;\n                return v;\n            }\n\n// If the replacer is an array, use it to select the members to be stringified.\n\n            if (rep && typeof rep === 'object') {\n                length = rep.length;\n                for (i = 0; i < length; i += 1) {\n                    if (typeof rep[i] === 'string') {\n                        k = rep[i];\n                        v = str(k, value);\n                        if (v) {\n                            partial.push(quote(k) + (gap ? ': ' : ':') + v);\n                        }\n                    }\n                }\n            } else {\n\n// Otherwise, iterate through all of the keys in the object.\n\n                for (k in value) {\n                    if (Object.prototype.hasOwnProperty.call(value, k)) {\n                        v = str(k, value);\n                        if (v) {\n                            partial.push(quote(k) + (gap ? ': ' : ':') + v);\n                        }\n                    }\n                }\n            }\n\n// Join all of the member texts together, separated with commas,\n// and wrap them in braces.\n\n            v = partial.length === 0\n                ? '{}'\n                : gap\n                ? '{\\n' + gap + partial.join(',\\n' + gap) + '\\n' + mind + '}'\n                : '{' + partial.join(',') + '}';\n            gap = mind;\n            return v;\n        }\n    }\n\n// If the JSON object does not yet have a stringify method, give it one.\n\n    if (typeof JSON.stringify !== 'function') {\n        escapable = /[\\\\\\\"\\x00-\\x1f\\x7f-\\x9f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g;\n        meta = {    // table of character substitutions\n            '\\b': '\\\\b',\n            '\\t': '\\\\t',\n            '\\n': '\\\\n',\n            '\\f': '\\\\f',\n            '\\r': '\\\\r',\n            '\"' : '\\\\\"',\n            '\\\\': '\\\\\\\\'\n        };\n        JSON.stringify = function (value, replacer, space) {\n\n// The stringify method takes a value and an optional replacer, and an optional\n// space parameter, and returns a JSON text. The replacer can be a function\n// that can replace values, or an array of strings that will select the keys.\n// A default replacer method can be provided. Use of the space parameter can\n// produce text that is more easily readable.\n\n            var i;\n            gap = '';\n            indent = '';\n\n// If the space parameter is a number, make an indent string containing that\n// many spaces.\n\n            if (typeof space === 'number') {\n                for (i = 0; i < space; i += 1) {\n                    indent += ' ';\n                }\n\n// If the space parameter is a string, it will be used as the indent string.\n\n            } else if (typeof space === 'string') {\n                indent = space;\n            }\n\n// If there is a replacer, it must be a function or an array.\n// Otherwise, throw an error.\n\n            rep = replacer;\n            if (replacer && typeof replacer !== 'function' &&\n                    (typeof replacer !== 'object' ||\n                    typeof replacer.length !== 'number')) {\n                throw new Error('JSON.stringify');\n            }\n\n// Make a fake root object containing our value under the key of ''.\n// Return the result of stringifying the value.\n\n            return str('', {'': value});\n        };\n    }\n\n\n// If the JSON object does not yet have a parse method, give it one.\n\n    if (typeof JSON.parse !== 'function') {\n        cx = /[\\u0000\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g;\n        JSON.parse = function (text, reviver) {\n\n// The parse method takes a text and an optional reviver function, and returns\n// a JavaScript value if the text is a valid JSON text.\n\n            var j;\n\n            function walk(holder, key) {\n\n// The walk method is used to recursively walk the resulting structure so\n// that modifications can be made.\n\n                var k, v, value = holder[key];\n                if (value && typeof value === 'object') {\n                    for (k in value) {\n                        if (Object.prototype.hasOwnProperty.call(value, k)) {\n                            v = walk(value, k);\n                            if (v !== undefined) {\n                                value[k] = v;\n                            } else {\n                                delete value[k];\n                            }\n                        }\n                    }\n                }\n                return reviver.call(holder, key, value);\n            }\n\n\n// Parsing happens in four stages. In the first stage, we replace certain\n// Unicode characters with escape sequences. JavaScript handles many characters\n// incorrectly, either silently deleting them, or treating them as line endings.\n\n            text = String(text);\n            cx.lastIndex = 0;\n            if (cx.test(text)) {\n                text = text.replace(cx, function (a) {\n                    return '\\\\u' +\n                        ('0000' + a.charCodeAt(0).toString(16)).slice(-4);\n                });\n            }\n\n// In the second stage, we run the text against regular expressions that look\n// for non-JSON patterns. We are especially concerned with '()' and 'new'\n// because they can cause invocation, and '=' because it can cause mutation.\n// But just to be safe, we want to reject all unexpected forms.\n\n// We split the second stage into 4 regexp operations in order to work around\n// crippling inefficiencies in IE's and Safari's regexp engines. First we\n// replace the JSON backslash pairs with '@' (a non-JSON character). Second, we\n// replace all simple value tokens with ']' characters. Third, we delete all\n// open brackets that follow a colon or comma or that begin the text. Finally,\n// we look to see that the remaining characters are only whitespace or ']' or\n// ',' or ':' or '{' or '}'. If that is so, then the text is safe for eval.\n\n            if (/^[\\],:{}\\s]*$/\n                    .test(text.replace(/\\\\(?:[\"\\\\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@')\n                        .replace(/\"[^\"\\\\\\n\\r]*\"|true|false|null|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g, ']')\n                        .replace(/(?:^|:|,)(?:\\s*\\[)+/g, ''))) {\n\n// In the third stage we use the eval function to compile the text into a\n// JavaScript structure. The '{' operator is subject to a syntactic ambiguity\n// in JavaScript: it can begin a block or an object literal. We wrap the text\n// in parens to eliminate the ambiguity.\n\n                j = eval('(' + text + ')');\n\n// In the optional fourth stage, we recursively walk the new structure, passing\n// each name/value pair to a reviver function for possible transformation.\n\n                return typeof reviver === 'function'\n                    ? walk({'': j}, '')\n                    : j;\n            }\n\n// If the text is not JSON parseable, then a SyntaxError is thrown.\n\n            throw new SyntaxError('JSON.parse');\n        };\n    }\n}());\n"
  },
  {
    "path": "plugins/tiddlywiki/jasmine/files/jasmine-core/lib/jasmine-core/node_boot.js",
    "content": "/*\nCopyright (c) 2008-2019 Pivotal Labs\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\nmodule.exports = function(jasmineRequire) {\n  var jasmine = jasmineRequire.core(jasmineRequire);\n\n  var env = jasmine.getEnv({suppressLoadErrors: true});\n\n  var jasmineInterface = jasmineRequire.interface(jasmine, env);\n\n  extend(global, jasmineInterface);\n\n  function extend(destination, source) {\n    for (var property in source) destination[property] = source[property];\n    return destination;\n  }\n\n  return jasmine;\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/jasmine/files/jasmine-core/lib/jasmine-core.js",
    "content": "module.exports = require(\"./jasmine-core/jasmine.js\");\nmodule.exports.boot = require('./jasmine-core/node_boot.js');\n\nvar path = require('path'),\n    fs = require('fs');\n\nvar rootPath = path.join(__dirname, \"jasmine-core\"),\n    bootFiles = ['boot.js'],\n    nodeBootFiles = ['node_boot.js'],\n    cssFiles = [],\n    jsFiles = [],\n    jsFilesToSkip = ['jasmine.js'].concat(bootFiles, nodeBootFiles);\n\nfs.readdirSync(rootPath).forEach(function(file) {\n  if(fs.statSync(path.join(rootPath, file)).isFile()) {\n    switch(path.extname(file)) {\n      case '.css':\n        cssFiles.push(file);\n      break;\n      case '.js':\n        if (jsFilesToSkip.indexOf(file) < 0) {\n        jsFiles.push(file);\n      }\n      break;\n    }\n  }\n});\n\nmodule.exports.files = {\n  path: rootPath,\n  bootDir: rootPath,\n  bootFiles: bootFiles,\n  nodeBootFiles: nodeBootFiles,\n  cssFiles: cssFiles,\n  jsFiles: ['jasmine.js'].concat(jsFiles),\n  imagesDir: path.join(__dirname, '../images')\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/jasmine/files/tiddlywiki.files",
    "content": "{\n\t\"directories\": [\n\t\t{\n\t\t\t\"path\": \"jasmine/lib\",\n\t\t\t\"filesRegExp\": \"^.*\\\\.js$\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": {\"source\": \"filename\", \"prefix\": \"$:/plugins/tiddlywiki/jasmine/jasmine/\"},\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"path\": \"jasmine/lib/filters\",\n\t\t\t\"filesRegExp\": \"^.*\\\\.js$\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": {\"source\": \"filename\", \"prefix\": \"$:/plugins/tiddlywiki/jasmine/jasmine/filters/\"},\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"path\": \"jasmine/lib/reporters\",\n\t\t\t\"filesRegExp\": \"^.*\\\\.js$\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": {\"source\": \"filename\", \"prefix\": \"$:/plugins/tiddlywiki/jasmine/jasmine/reporters/\"},\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"path\": \"jasmine-core/lib\",\n\t\t\t\"filesRegExp\": \"^.*\\\\.js$\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": {\"source\": \"filename\", \"prefix\": \"$:/plugins/tiddlywiki/jasmine/jasmine-core/\"},\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"path\": \"jasmine-core/lib/jasmine-core\",\n\t\t\t\"filesRegExp\": \"^.*\\\\.js$\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": {\"source\": \"filename\", \"prefix\": \"$:/plugins/tiddlywiki/jasmine/jasmine-core/jasmine-core/\"},\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"path\": \"jasmine-core/lib/jasmine-core\",\n\t\t\t\"filesRegExp\": \"^.*\\\\.css$\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"text/css\",\n\t\t\t\t\"title\": {\"source\": \"filename\", \"prefix\": \"$:/plugins/tiddlywiki/jasmine/jasmine-core/jasmine-core/\"},\n\t\t\t\t\"tags\": \"[[$:/tags/Stylesheet]]\"\n\t\t\t}\n\t\t}\n\t]\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/jasmine/help.tid",
    "content": "title: $:/language/Help/test\ndescription: Run the jasmine test suite\n\nThis runs all of the tests in tiddlers tagged with `$:/tags/test-spec`.\n\n```\n--test [spec=<regExp>]\n```\n\n''spec'' - optional regular expression to run only specific suites or tests. It will be matched against the full name of every test to see whether to run it. The full name of a test is its assigned name prepended with the names of all containing suites. For instance, to run only the following test:\n\n```\ndescribe(\"Framework\") { it(\"handles edgecases\") { ... } }\n```\n\nYou might use a specFilter like `\"^Framework handles edgecases$\"` to match the full name exactly, or more simply `\"edgecases\"`, though this might run other tests with \"edgecases\" in their name. You could also run all tests in that suite with `\"^Framework\"`.\n\nIf any tests fail or are skipped, all following commands are ignored. If you have any commands which must be executed regardless of test results, execute them first.\n\nA common usage is to run the tests on the console after creating a Tiddlywiki file which will run the tests on the browser.\n\n```\ntiddlywiki --rendertiddler $:/core/save/all test.html text/plain --test\n```\n"
  },
  {
    "path": "plugins/tiddlywiki/jasmine/jasmine-plugin.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/jasmine/jasmine-plugin.js\ntype: application/javascript\nmodule-type: library\n\nThe main module of the Jasmine test plugin for TiddlyWiki5\n\n\\*/\n\n\n\"use strict\";\n\nvar TEST_TIDDLER_FILTER = \"[all[tiddlers+shadows]type[application/javascript]tag[$:/tags/test-spec]]\";\nvar TESTS_DONE = false;\n\nexports.testsWereRun = function() {\n\treturn TESTS_DONE;\n};\n\n/*\nfunction for running tests\n\nBelow, paths like jasmine-core/jasmine.js refer to files in the 'jasmine-core' npm\npackage, whose repository is https://github.com/jasmine/jasmine.\nPaths like jasmine/jasmine.js refer to files in the 'jasmine' npm package, whose\nrepository is https://github.com/jasmine/jasmine-npm.\n\nThey're all locally checked into the `./files` directory.\n*/\n\nexports.runTests = function(callback,specFilter) {\n\t// Set up a shared context object.\n\tvar context = {\n\t\tconsole: console,\n\t\tsetInterval: setInterval,\n\t\tclearInterval: clearInterval,\n\t\tsetTimeout: setTimeout,\n\t\tclearTimeout: clearTimeout,\n\t\t$tw: $tw\n\t};\n\t// The `global` property is needed in two places:\n\t// 1. jasmine-core/node_boot.js: extends the global object with jasmine interface.\n\t// 2. jasmine-core/jasmine.js: when it's loaded, if it determines that it's\n\t//    running in a commonjs environment and `global` is undefined, it will set\n\t//    `jasmineGlobal`, its internal reference to the global object, to {},\n\t//    which is not what we want. Alternatively, the `jasmine.getEnv()` API allows\n\t//    you to pass in a `global` object, but the boot scripts we use don't allow\n\t//    the caller to customize the `.getEnv()` call. We'd rather use the boot scripts\n\t//    as-is than duplicating them in order to do minor tweaks.\n\t//\n\t// We need this `$tw.browser ?` conditional because:\n\t// 1. In a browser environment, 'jasmine-core/jasmine.js' calls `setTimeout` like\n\t//    `setTimeout.apply(jasmineGlobal, ...)`; the browser throws an \"illegal invocation\"\n\t//    unless `jasmineGlobal` is the right context object, which is `window`.\n\t// 2. In Node.js, there is no `window` object.\n\t//    Further more, we don't have access to the `global` object when this code\n\t//    is executed, so we use the `context` object instead.\n\tcontext.global = $tw.browser ? window : context;\n\n\t// We set this early rather than at the end for simplicity. The browser\n\t// and node.js environments don't end the same way.\n\tTESTS_DONE = true;\n\n\tfunction evalInContext(title) {\n\t\tvar code = $tw.wiki.getTiddlerText(title,\"\");\n\t\tvar _exports = {};\n\t\tcontext.exports = _exports;\n\t\tcontext.module = {exports: _exports};\n\t\tcontext.require = function(moduleTitle) {\n\t\t\t// mock out the 'glob' module required in\n\t\t\t// \"$:/plugins/tiddlywiki/jasmine/jasmine/jasmine.js\"\n\t\t\tif(moduleTitle === \"glob\") {\n\t\t\t\treturn {};\n\t\t\t}\n\t\t\treturn $tw.modules.execute(moduleTitle,title);\n\t\t};\n\t\tvar contextExports = $tw.utils.evalSandboxed(code,context,title,true);\n\t\t// jasmine/jasmine.js assigns directly to `module.exports`: check\n\t\t// for it first.\n\t\treturn context.module.exports || contextExports;\n\t}\n\n\t// Get the core Jasmine exports.\n\t// We load 'jasmine-core/jasmine.js' here in order to start with a module\n\t// that is shared between browser and Node.js environments. Browser-specific\n\t// and Node-specific modules are loaded next.\n\tvar jasmineCore = evalInContext(\"$:/plugins/tiddlywiki/jasmine/jasmine-core/jasmine-core/jasmine.js\");\n\t// The core Jasmine instance\n\tvar jasmine;\n\t// Node.js wrapper for calling `.execute()`\n\tvar nodeJasmineWrapper;\n\tif($tw.browser) {\n\t\twindow.jasmineRequire = jasmineCore;\n\t\t$tw.modules.execute(\"$:/plugins/tiddlywiki/jasmine/jasmine-core/jasmine-core/jasmine-html.js\");\n\t\t// Prevent jasmine-core/boot.js from installing its own onload handler. We'll execute it explicitly when everything is ready\n\t\twindow.onload = function() {};\n\t\t$tw.modules.execute(\"$:/plugins/tiddlywiki/jasmine/jasmine-core/jasmine-core/boot.js\");\n\t\tvar jasmineOnloadHandler = window.onload;\n\t\twindow.onload = function() {};\n\t\tjasmine = window.jasmine;\n\t} else {\n\t\t// Add missing properties to `jasmineCore` in order to call the Jasmine\n\t\t// constructor in Node.js.\n\t\t//\n\t\t// The constructor loads the `jasmineCore` object automatically, if\n\t\t// not explicitly specified, by calling `require('jasmine-core')`.\n\t\t// What happens internally next is...\n\t\t//\n\t\t//   1. require('jasmine-core')\n\t\t//      a. loads the package's main script, 'jasmine-core/jasmine-core.js'\n\t\t//         i. requires 'jasmine-core/jasmine.js'\n\t\t//         ii. reads some extra files and returns a `jasmineCore` object\n\t\t//\n\t\t// Because we're in TiddlyWiki land, we really don't need step 1.a.ii.\n\t\t//\n\t\t// Since the `jasmineCore` variable already holds the result of 1.a.i,\n\t\t// we'll add a few properties necessary for calling the Jasmine constructor\n\t\t// and pass it in explicitly. The consructor function can be seen here:\n\t\t// https://github.com/jasmine/jasmine-npm/blob/v3.4.0/lib/jasmine.js#L10\n\n\t\t// 'jasmine/jasmine.js' requires the `.boot()` function\n\t\tjasmineCore.boot = evalInContext(\"$:/plugins/tiddlywiki/jasmine/jasmine-core/jasmine-core/node_boot.js\");\n\t\t// 'jasmine/jasmine.js' references `.files.path`\n\t\tjasmineCore.files = {\n\t\t\tpath: \"$:/plugins/tiddlywiki/jasmine/jasmine-core/jasmine-core\"\n\t\t};\n\t\t// 'jasmine/jasmine.js' references `process.exit`, among other properties\n\t\t// It will call 'exit' after it's done, which gives us an\n\t\t// opportunity to resynchronize and finish any following commands.\n\t\tcontext.process = Object.create(process);\n\t\tcontext.process.exit = function(code) {\n\t\t\t// If jasmine's exit code is non-zero, tests failed. Abort any\n\t\t\t// further commands. If they're important, they could have come\n\t\t\t// before the testing suite.\n\t\t\tcallback(code ? \"Tests failed with code \" + code : undefined);\n\t\t};\n\n\t\tvar NodeJasmine = evalInContext(\"$:/plugins/tiddlywiki/jasmine/jasmine/jasmine.js\");\n\t\tnodeJasmineWrapper = new NodeJasmine({jasmineCore: jasmineCore});\n\t\tjasmine = nodeJasmineWrapper.jasmine;\n\t}\n\t// Add Jasmine's DSL to our context\n\tvar env = jasmine.getEnv();\n\tvar jasmineInterface = jasmineCore.interface(jasmine,env);\n\tcontext = $tw.utils.extend({},jasmineInterface,context);\n\t// Iterate through all the test modules\n\tvar tests = $tw.wiki.filterTiddlers(TEST_TIDDLER_FILTER);\n\t$tw.utils.each(tests,evalInContext);\n\t// In a browser environment, we use jasmine-core/boot.js to call `execute()` for us.\n\t// In Node.js, we call it manually.\n\tif($tw.browser) {\n\t\tjasmineOnloadHandler();\n\t} else {\n\t\tnodeJasmineWrapper.execute(null,specFilter);\n\t}\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/jasmine/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/jasmine\",\n\t\"name\": \"Jasmine\",\n\t\"description\": \"Jasmine testing framework\",\n\t\"list\": \"readme\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/jasmine/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/jasmine/readme\n\nThis plugin provides a framework for running tests in the browser and under Node.js. It is based on [[Jasmine|https://jasmine.github.io/]] test framework. On Tiddlywiki, it runs tests in all javascript tiddlers tagged with <<tag $:/tags/test-spec>>.\n\n[[Source code|https://github.com/TiddlyWiki/TiddlyWiki5/blob/master/plugins/tiddlywiki/jasmine]]\n\n!! Usage on Node.js\n\nOn the command line, type `tiddlywiki --test`.\n\nAlternatively, you can set up a build task for jasmine by including the following in your tiddlywiki.info file:\n\n```\n{\n\t...\n\t\"build\": {\n\t\t...\n\t\t\"test\": [\"--test\"]\n\t}\n}\n```\n\nYou could then run tests by typing `tiddlywiki --build test` or just `tiddlywiki --build`. The advantage to this is it allows you to include other commands to run as well. See `tiddlywiki --help test` for more information.\n\nThis will run the tests and produce a test file in your output directory.\n\n```\n\t\t\"test\": [\n\t\t\t\"--test\",\n\t\t\t\"--rendertiddler\",\"$:/core/save/all\",\"test.html\",\"text/plain\"]\n```\n\n!! Usage on a browser\n\nOnce you've constructed a Tiddlywiki file using a command like the one above, you can run the tests simply by opening it. Tests run automatically, and the results will be at the bottom of the window.\n"
  },
  {
    "path": "plugins/tiddlywiki/jasmine/run-wiki-based-tests.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/jasmine/run-wiki-based-tests.js\ntype: application/javascript\ntags: [[$:/tags/test-spec]]\n\nTests the wiki based tests\n\n\\*/\n\n\"use strict\";\n\nvar TEST_WIKI_TIDDLER_FILTER = \"[all[tiddlers+shadows]type[text/vnd.tiddlywiki-multiple]tag[$:/tags/wiki-test-spec]]\";\n\ndescribe(\"Wiki-based tests\", function() {\n\n\t// Step through the test tiddlers\n\tvar tests = $tw.wiki.filterTiddlers(TEST_WIKI_TIDDLER_FILTER);\n\t$tw.utils.each(tests,function(title) {\n\t\tvar tiddler = $tw.wiki.getTiddler(title);\n\t\tit(tiddler.fields.title + \": \" + tiddler.fields.description, function() {\n\t\t\t// Add our tiddlers\n\t\t\tvar wiki = new $tw.Wiki(),\n\t\t\t\tcoreTiddler = $tw.wiki.getTiddler(\"$:/core\");\n\t\t\tif(coreTiddler) {\n\t\t\t\twiki.addTiddler(coreTiddler);\n\t\t\t}\n\t\t\twiki.addTiddlers(readMultipleTiddlersTiddler(title));\n\t\t\t// Unpack plugin tiddlers\n\t\t\twiki.readPluginInfo();\n\t\t\twiki.registerPluginTiddlers(\"plugin\");\n\t\t\twiki.unpackPluginTiddlers();\n\t\t\twiki.addIndexersToWiki();\n\t\t\t// Clear changes queue\n\t\t\twiki.clearTiddlerEventQueue();\n\t\t\t// Complain if we don't have the ouput and expected results\n\t\t\tif(!wiki.tiddlerExists(\"Output\")) {\n\t\t\t\tthrow \"Missing 'Output' tiddler\";\n\t\t\t}\n\t\t\tif(wiki.tiddlerExists(\"ExpectedResult\")) {\n\t\t\t\t// Construct the widget node\n\t\t\t\tvar text = \"{{Output}}\\n\\n\";\n\t\t\t\tvar widgetNode = createWidgetNode(parseText(text,wiki),wiki);\n\t\t\t\t// Render the widget node to the DOM\n\t\t\t\tvar wrapper = renderWidgetNode(widgetNode);\n\t\t\t\t// Clear changes queue\n\t\t\t\twiki.clearTiddlerEventQueue();\n\t\t\t\t// Run the actions if provided\n\t\t\t\tif(wiki.tiddlerExists(\"Actions\")) {\n\t\t\t\t\twidgetNode.invokeActionString(wiki.getTiddlerText(\"Actions\"));\n\t\t\t\t\trefreshWidgetNode(widgetNode,wrapper);\n\t\t\t\t}\n\t\t\t\t// Test the rendering\n\t\t\t\texpect(wrapper.innerHTML).toBe(wiki.getTiddlerText(\"ExpectedResult\"));\n\t\t\t}\n\t\t});\n\t});\n\n\tfunction readMultipleTiddlersTiddler(title) {\n\t\tvar rawTiddlers = $tw.wiki.getTiddlerText(title).split(/\\r?\\n\\+\\r?\\n/mg);\n\t\tvar tiddlers = [];\n\t\t$tw.utils.each(rawTiddlers,function(rawTiddler) {\n\t\t\tvar fields = Object.create(null),\n\t\t\t\tsplit = rawTiddler.split(/\\r?\\n\\r?\\n/mg);\n\t\t\tif(split.length >= 1) {\n\t\t\t\tfields = $tw.utils.parseFields(split[0],fields);\n\t\t\t}\n\t\t\tif(split.length >= 2) {\n\t\t\t\tfields.text = split.slice(1).join(\"\\n\\n\");\n\t\t\t}\n\t\t\ttiddlers.push(fields);\n\t\t});\n\t\treturn tiddlers;\n\t}\n\n\tfunction createWidgetNode(parser,wiki) {\n\t\treturn wiki.makeWidget(parser);\n\t}\n\n\tfunction parseText(text,wiki,options) {\n\t\treturn wiki.parseText(\"text/vnd.tiddlywiki\",text,options);\n\t}\n\n\tfunction renderWidgetNode(widgetNode) {\n\t\t$tw.fakeDocument.setSequenceNumber(0);\n\t\tvar wrapper = $tw.fakeDocument.createElement(\"div\");\n\t\twidgetNode.render(wrapper,null);\n\t\t// console.log(require(\"util\").inspect(wrapper,{depth: 8}));\n\t\treturn wrapper;\n\t}\n\n\tfunction refreshWidgetNode(widgetNode,wrapper) {\n\t\twidgetNode.refresh(widgetNode.wiki.changedTiddlers,wrapper);\n\t\t// console.log(require(\"util\").inspect(wrapper,{depth: 8}));\n\t}\n\n});\n"
  },
  {
    "path": "plugins/tiddlywiki/jasmine/startup.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/jasmine/startup.js\ntype: application/javascript\nmodule-type: startup\n\nThe main module of the Jasmine test plugin for TiddlyWiki5\n\n\\*/\n\n\n\"use strict\";\n\nvar jasmine = require(\"./jasmine-plugin.js\");\n\nexports.name = \"jasmine\";\n\nif($tw.browser) {\n\texports.startup = jasmine.runTests;\n\texports.before = [\"render\"];\n\texports.after = [\"story\"];\n} else {\n\t// However, if we're on node.js, the tests are explciitly run with the\n\t// --test command. This didn't used to be the case, so if they're\n\t// not, we'll issue a small notice to cue users in to the change\n\t// BTW, this notice probably won't be needed forever. It was installed\n\t// Sept 2022. If it's been four years, this notice can probably come out.\n\texports.startup = function() {\n\t\tif(!jasmine.testsWereRun()) {\n\t\t\tprocess.stdout.write(\"Jasmine: no \\\"--test\\\" command given, so skipping tests\\n\");\n\t\t}\n\t};\n\t// We make this check after the commands are run.\n\texports.after = [\"commands\"];\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/jasmine/update-packages.sh",
    "content": "#!/bin/bash\n# Download jasmine packages from npm and unpack relevant files\n# into files/.\n\nset -exuo pipefail\n\nJASMINE_VERSION=3.4.0\nJASMINE_CORE_VERSION=3.4.0\n\nrm -rf files/jasmine\nmkdir -p files/jasmine\nif [ ! -f \"jasmine-$JASMINE_VERSION.tgz\" ]; then\n    npm pack jasmine@$JASMINE_VERSION\nfi\ntar xfzv jasmine-$JASMINE_VERSION.tgz \\\n    -C files/jasmine \\\n    --strip-components=1 \\\n    --wildcards \"*/lib/*.js\" \"*/*.LICENSE\" \\\n    --exclude \"example\"\n\nrm -rf files/jasmine-core\nmkdir -p files/jasmine-core\nif [ ! -f \"jasmine-core-$JASMINE_CORE_VERSION.tgz\" ]; then\n    npm pack jasmine-core@$JASMINE_CORE_VERSION\nfi\ntar xfzv jasmine-core-$JASMINE_CORE_VERSION.tgz \\\n    -C files/jasmine-core \\\n    --strip-components=1 \\\n    --wildcards \"*/lib/*.js\" \"*/lib/*.css\" \"*/*.LICENSE\" \\\n    --exclude \"example\"\n"
  },
  {
    "path": "plugins/tiddlywiki/jszip/docs.tid",
    "content": "title: $:/plugins/tiddlywiki/jszip/docs\n\nThe following messages are provided to allow programmatic manipulation of ZIP files stored within tiddlers:\n\n!! Create ZIP file\n\n```\n<$action-sendmessage $message=\"tm-zip-create\" $param=\"MyZipTiddler\"/>\n```\n\n* ''$param'': title of tiddler to contain ZIP file\n\n!! Add/replace text file within ZIP file\n\n```\n<$action-sendmessage $message=\"tm-zip-add-text-file\" $param=\"MyZipTiddler\" filename=\"my/newfilename.txt\" text=\"The content\"/>\n```\n\n* ''$param'': title of tiddler containing ZIP file\n* ''filename'': filename of file to be added\n* ''text'': text content of file to be added\n\n!! Render tiddler to ZIP file\n\n```\n<$action-sendmessage $message=\"tm-zip-render-file\" $param=\"MyZipTiddler\" filename=\"my/newfilename.txt\" tiddler=\"HelloThere\" template=\"The content\" mode=\"block\" output=\"text/plain\"/>\n```\n\n* ''$param'': title of tiddler containing ZIP file\n* ''filename'': filename of output file\n* ''tiddler'': optional title of currentTiddler for rendering template\n* ''template'': title of template tiddler to be rendered\n* ''mode'': optional parsing mode \"block\" (default) or \"inline\"\n* ''output'': output format: \"text/plain\" (default) for the text content or \"text/html\" for the full HTML content, including tags\n\n!! Download a ZIP file\n\n```\n<$action-sendmessage $message=\"tm-zip-download\" $param=\"MyZipTiddler\" filename=\"myzipfile.zip\"/>\n```\n\n* ''$param'': title of tiddler containing ZIP file\n* ''filename'': filename to be suggested to browser for downloaded file\n"
  },
  {
    "path": "plugins/tiddlywiki/jszip/examples.tid",
    "content": "title: $:/plugins/tiddlywiki/jszip/examples\n\n\\define actions-render-static-site()\n<$action-sendmessage $message=\"tm-zip-create\" $param=\"$:/temp/_ZipTiddler\"/>\n<$set name=\"tv-filter-export-link\" value=\"[slugify[]addsuffix[.html]]\">\n<$list filter=\"[all[tiddlers]!is[system]limit[25]]\">\n<$action-sendmessage $message=\"tm-zip-render-file\" $param=\"$:/temp/_ZipTiddler\" filename={{{ [<currentTiddler>slugify[]addsuffix[.html]] }}} tiddler=<<currentTiddler>> template=\"$:/core/templates/static.tiddler.html\"/>\n</$list>\n</$set>\n<$action-sendmessage $message=\"tm-zip-render-file\" $param=\"$:/temp/_ZipTiddler\" filename=\"static.css\" template=\"$:/core/templates/static.template.css\"/>\n<$action-sendmessage $message=\"tm-zip-download\" $param=\"$:/temp/_ZipTiddler\" filename=\"myzip.zip\"/>\n\\end\n\n! Rendering a Static Site to a Zip File\n\nThe actions below create a ZIP file containing a static HTML rendering of the first 100 non-system tiddlers:\n\n<pre>\n<$text text=<<actions-render-static-site>>/>\n</pre>\n\n<$button actions=<<actions-render-static-site>>>\nRender site\n</$button>\n\n<$list filter=\"[!is[system]duplicateslugs[]limit[1]]\" emptyMessage=\"''(There are no duplicate slugs)''\">\n''The following tiddlers have duplicate slugs:''\n\n<ul>\n<$list filter=\"[all[tiddlers]!is[system]limit[25]duplicateslugs[]]\">\n<li><$link><$text text=<<currentTiddler>>/></$link></li>\n</$list>\n</ul>\n</$list>\n\nTemporary zip file: $:/temp/_ZipTiddler\n"
  },
  {
    "path": "plugins/tiddlywiki/jszip/files/LICENSE.markdown",
    "content": "JSZip is dual licensed. You may use it under the MIT license *or* the GPLv3\nlicense.\n\nThe MIT License\n===============\n\nCopyright (c) 2009-2014 Stuart Knightley, David Duponchel, Franz Buchinger, António Afonso\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\n\nGPL version 3\n=============\n\n                    GNU GENERAL PUBLIC LICENSE\n                       Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>\n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n                            Preamble\n\n  The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n  The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works.  By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users.  We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors.  You can apply it to\nyour programs, too.\n\n  When we speak of free software, we are referring to freedom, not\nprice.  Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n  To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights.  Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n  For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received.  You must make sure that they, too, receive\nor can get the source code.  And you must show them these terms so they\nknow their rights.\n\n  Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n  For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software.  For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n  Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so.  This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software.  The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable.  Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts.  If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n  Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary.  To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n  The precise terms and conditions for copying, distribution and\nmodification follow.\n\n                       TERMS AND CONDITIONS\n\n  0. Definitions.\n\n  \"This License\" refers to version 3 of the GNU General Public License.\n\n  \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n  \"The Program\" refers to any copyrightable work licensed under this\nLicense.  Each licensee is addressed as \"you\".  \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n  To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy.  The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n  A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n  To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy.  Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n  To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies.  Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n  An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License.  If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n  1. Source Code.\n\n  The \"source code\" for a work means the preferred form of the work\nfor making modifications to it.  \"Object code\" means any non-source\nform of a work.\n\n  A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n  The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form.  A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n  The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities.  However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work.  For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n  The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n  The Corresponding Source for a work in source code form is that\nsame work.\n\n  2. Basic Permissions.\n\n  All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met.  This License explicitly affirms your unlimited\npermission to run the unmodified Program.  The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work.  This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n  You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force.  You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright.  Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n  Conveying under any other circumstances is permitted solely under\nthe conditions stated below.  Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n  3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n  No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n  When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n  4. Conveying Verbatim Copies.\n\n  You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n  You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n  5. Conveying Modified Source Versions.\n\n  You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n    a) The work must carry prominent notices stating that you modified\n    it, and giving a relevant date.\n\n    b) The work must carry prominent notices stating that it is\n    released under this License and any conditions added under section\n    7.  This requirement modifies the requirement in section 4 to\n    \"keep intact all notices\".\n\n    c) You must license the entire work, as a whole, under this\n    License to anyone who comes into possession of a copy.  This\n    License will therefore apply, along with any applicable section 7\n    additional terms, to the whole of the work, and all its parts,\n    regardless of how they are packaged.  This License gives no\n    permission to license the work in any other way, but it does not\n    invalidate such permission if you have separately received it.\n\n    d) If the work has interactive user interfaces, each must display\n    Appropriate Legal Notices; however, if the Program has interactive\n    interfaces that do not display Appropriate Legal Notices, your\n    work need not make them do so.\n\n  A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit.  Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n  6. Conveying Non-Source Forms.\n\n  You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n    a) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by the\n    Corresponding Source fixed on a durable physical medium\n    customarily used for software interchange.\n\n    b) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by a\n    written offer, valid for at least three years and valid for as\n    long as you offer spare parts or customer support for that product\n    model, to give anyone who possesses the object code either (1) a\n    copy of the Corresponding Source for all the software in the\n    product that is covered by this License, on a durable physical\n    medium customarily used for software interchange, for a price no\n    more than your reasonable cost of physically performing this\n    conveying of source, or (2) access to copy the\n    Corresponding Source from a network server at no charge.\n\n    c) Convey individual copies of the object code with a copy of the\n    written offer to provide the Corresponding Source.  This\n    alternative is allowed only occasionally and noncommercially, and\n    only if you received the object code with such an offer, in accord\n    with subsection 6b.\n\n    d) Convey the object code by offering access from a designated\n    place (gratis or for a charge), and offer equivalent access to the\n    Corresponding Source in the same way through the same place at no\n    further charge.  You need not require recipients to copy the\n    Corresponding Source along with the object code.  If the place to\n    copy the object code is a network server, the Corresponding Source\n    may be on a different server (operated by you or a third party)\n    that supports equivalent copying facilities, provided you maintain\n    clear directions next to the object code saying where to find the\n    Corresponding Source.  Regardless of what server hosts the\n    Corresponding Source, you remain obligated to ensure that it is\n    available for as long as needed to satisfy these requirements.\n\n    e) Convey the object code using peer-to-peer transmission, provided\n    you inform other peers where the object code and Corresponding\n    Source of the work are being offered to the general public at no\n    charge under subsection 6d.\n\n  A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n  A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling.  In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage.  For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product.  A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n  \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source.  The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n  If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information.  But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n  The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed.  Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n  Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n  7. Additional Terms.\n\n  \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law.  If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n  When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit.  (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.)  You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n  Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n    a) Disclaiming warranty or limiting liability differently from the\n    terms of sections 15 and 16 of this License; or\n\n    b) Requiring preservation of specified reasonable legal notices or\n    author attributions in that material or in the Appropriate Legal\n    Notices displayed by works containing it; or\n\n    c) Prohibiting misrepresentation of the origin of that material, or\n    requiring that modified versions of such material be marked in\n    reasonable ways as different from the original version; or\n\n    d) Limiting the use for publicity purposes of names of licensors or\n    authors of the material; or\n\n    e) Declining to grant rights under trademark law for use of some\n    trade names, trademarks, or service marks; or\n\n    f) Requiring indemnification of licensors and authors of that\n    material by anyone who conveys the material (or modified versions of\n    it) with contractual assumptions of liability to the recipient, for\n    any liability that these contractual assumptions directly impose on\n    those licensors and authors.\n\n  All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10.  If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term.  If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n  If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n  Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n  8. Termination.\n\n  You may not propagate or modify a covered work except as expressly\nprovided under this License.  Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n  However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n  Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n  Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License.  If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n  9. Acceptance Not Required for Having Copies.\n\n  You are not required to accept this License in order to receive or\nrun a copy of the Program.  Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance.  However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work.  These actions infringe copyright if you do\nnot accept this License.  Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n  10. Automatic Licensing of Downstream Recipients.\n\n  Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License.  You are not responsible\nfor enforcing compliance by third parties with this License.\n\n  An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations.  If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n  You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License.  For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n  11. Patents.\n\n  A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based.  The\nwork thus licensed is called the contributor's \"contributor version\".\n\n  A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version.  For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n  Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n  In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement).  To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n  If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients.  \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n  If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n  A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License.  You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n  Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n  12. No Surrender of Others' Freedom.\n\n  If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License.  If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all.  For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n  13. Use with the GNU Affero General Public License.\n\n  Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work.  The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n  14. Revised Versions of this License.\n\n  The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time.  Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n  Each version is given a distinguishing version number.  If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation.  If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n  If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n  Later license versions may give you additional or different\npermissions.  However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n  15. Disclaimer of Warranty.\n\n  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n  16. Limitation of Liability.\n\n  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n  17. Interpretation of Sections 15 and 16.\n\n  If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n                     END OF TERMS AND CONDITIONS\n"
  },
  {
    "path": "plugins/tiddlywiki/jszip/files/jszip.min.v2.6.1.js",
    "content": "/*!\n\nJSZip - A Javascript class for generating and reading zip files\n<http://stuartk.com/jszip>\n\n(c) 2009-2014 Stuart Knightley <stuart [at] stuartk.com>\nDual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/master/LICENSE.markdown.\n\nJSZip uses the library pako released under the MIT license :\nhttps://github.com/nodeca/pako/blob/master/LICENSE\n*/\n!function(a){if(\"object\"==typeof exports&&\"undefined\"!=typeof module)module.exports=a();else if(\"function\"==typeof define&&define.amd)define([],a);else{var b;b=\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this,b.JSZip=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i=\"function\"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error(\"Cannot find module '\"+g+\"'\");throw j.code=\"MODULE_NOT_FOUND\",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f=\"function\"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b,c){\"use strict\";function d(a){if(a){this.data=a,this.length=this.data.length,this.index=0,this.zero=0;for(var b=0;b<this.data.length;b++)a[b]=255&a[b]}}var e=a(\"./dataReader\");d.prototype=new e,d.prototype.byteAt=function(a){return this.data[this.zero+a]},d.prototype.lastIndexOfSignature=function(a){for(var b=a.charCodeAt(0),c=a.charCodeAt(1),d=a.charCodeAt(2),e=a.charCodeAt(3),f=this.length-4;f>=0;--f)if(this.data[f]===b&&this.data[f+1]===c&&this.data[f+2]===d&&this.data[f+3]===e)return f-this.zero;return-1},d.prototype.readData=function(a){if(this.checkOffset(a),0===a)return[];var b=this.data.slice(this.zero+this.index,this.zero+this.index+a);return this.index+=a,b},b.exports=d},{\"./dataReader\":6}],2:[function(a,b,c){\"use strict\";var d=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";c.encode=function(a,b){for(var c,e,f,g,h,i,j,k=\"\",l=0;l<a.length;)c=a.charCodeAt(l++),e=a.charCodeAt(l++),f=a.charCodeAt(l++),g=c>>2,h=(3&c)<<4|e>>4,i=(15&e)<<2|f>>6,j=63&f,isNaN(e)?i=j=64:isNaN(f)&&(j=64),k=k+d.charAt(g)+d.charAt(h)+d.charAt(i)+d.charAt(j);return k},c.decode=function(a,b){var c,e,f,g,h,i,j,k=\"\",l=0;for(a=a.replace(/[^A-Za-z0-9\\+\\/\\=]/g,\"\");l<a.length;)g=d.indexOf(a.charAt(l++)),h=d.indexOf(a.charAt(l++)),i=d.indexOf(a.charAt(l++)),j=d.indexOf(a.charAt(l++)),c=g<<2|h>>4,e=(15&h)<<4|i>>2,f=(3&i)<<6|j,k+=String.fromCharCode(c),64!=i&&(k+=String.fromCharCode(e)),64!=j&&(k+=String.fromCharCode(f));return k}},{}],3:[function(a,b,c){\"use strict\";function d(){this.compressedSize=0,this.uncompressedSize=0,this.crc32=0,this.compressionMethod=null,this.compressedContent=null}d.prototype={getContent:function(){return null},getCompressedContent:function(){return null}},b.exports=d},{}],4:[function(a,b,c){\"use strict\";c.STORE={magic:\"\\0\\0\",compress:function(a,b){return a},uncompress:function(a){return a},compressInputType:null,uncompressInputType:null},c.DEFLATE=a(\"./flate\")},{\"./flate\":9}],5:[function(a,b,c){\"use strict\";var d=a(\"./utils\"),e=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117];b.exports=function(a,b){if(\"undefined\"==typeof a||!a.length)return 0;var c=\"string\"!==d.getTypeOf(a);\"undefined\"==typeof b&&(b=0);var f=0,g=0,h=0;b^=-1;for(var i=0,j=a.length;i<j;i++)h=c?a[i]:a.charCodeAt(i),g=255&(b^h),f=e[g],b=b>>>8^f;return b^-1}},{\"./utils\":22}],6:[function(a,b,c){\"use strict\";function d(a){this.data=null,this.length=0,this.index=0,this.zero=0}var e=a(\"./utils\");d.prototype={checkOffset:function(a){this.checkIndex(this.index+a)},checkIndex:function(a){if(this.length<this.zero+a||a<0)throw new Error(\"End of data reached (data length = \"+this.length+\", asked index = \"+a+\"). Corrupted zip ?\")},setIndex:function(a){this.checkIndex(a),this.index=a},skip:function(a){this.setIndex(this.index+a)},byteAt:function(a){},readInt:function(a){var b,c=0;for(this.checkOffset(a),b=this.index+a-1;b>=this.index;b--)c=(c<<8)+this.byteAt(b);return this.index+=a,c},readString:function(a){return e.transformTo(\"string\",this.readData(a))},readData:function(a){},lastIndexOfSignature:function(a){},readDate:function(){var a=this.readInt(4);return new Date((a>>25&127)+1980,(a>>21&15)-1,a>>16&31,a>>11&31,a>>5&63,(31&a)<<1)}},b.exports=d},{\"./utils\":22}],7:[function(a,b,c){\"use strict\";c.base64=!1,c.binary=!1,c.dir=!1,c.createFolders=!1,c.date=null,c.compression=null,c.compressionOptions=null,c.comment=null,c.unixPermissions=null,c.dosPermissions=null},{}],8:[function(a,b,c){\"use strict\";var d=a(\"./utils\");c.string2binary=function(a){return d.string2binary(a)},c.string2Uint8Array=function(a){return d.transformTo(\"uint8array\",a)},c.uint8Array2String=function(a){return d.transformTo(\"string\",a)},c.string2Blob=function(a){var b=d.transformTo(\"arraybuffer\",a);return d.arrayBuffer2Blob(b)},c.arrayBuffer2Blob=function(a){return d.arrayBuffer2Blob(a)},c.transformTo=function(a,b){return d.transformTo(a,b)},c.getTypeOf=function(a){return d.getTypeOf(a)},c.checkSupport=function(a){return d.checkSupport(a)},c.MAX_VALUE_16BITS=d.MAX_VALUE_16BITS,c.MAX_VALUE_32BITS=d.MAX_VALUE_32BITS,c.pretty=function(a){return d.pretty(a)},c.findCompression=function(a){return d.findCompression(a)},c.isRegExp=function(a){return d.isRegExp(a)}},{\"./utils\":22}],9:[function(a,b,c){\"use strict\";var d=\"undefined\"!=typeof Uint8Array&&\"undefined\"!=typeof Uint16Array&&\"undefined\"!=typeof Uint32Array,e=a(\"pako\");c.uncompressInputType=d?\"uint8array\":\"array\",c.compressInputType=d?\"uint8array\":\"array\",c.magic=\"\\b\\0\",c.compress=function(a,b){return e.deflateRaw(a,{level:b.level||-1})},c.uncompress=function(a){return e.inflateRaw(a)}},{pako:25}],10:[function(a,b,c){\"use strict\";function d(a,b){return this instanceof d?(this.files={},this.comment=null,this.root=\"\",a&&this.load(a,b),void(this.clone=function(){var a=new d;for(var b in this)\"function\"!=typeof this[b]&&(a[b]=this[b]);return a})):new d(a,b)}var e=a(\"./base64\");d.prototype=a(\"./object\"),d.prototype.load=a(\"./load\"),d.support=a(\"./support\"),d.defaults=a(\"./defaults\"),d.utils=a(\"./deprecatedPublicUtils\"),d.base64={encode:function(a){return e.encode(a)},decode:function(a){return e.decode(a)}},d.compressions=a(\"./compressions\"),b.exports=d},{\"./base64\":2,\"./compressions\":4,\"./defaults\":7,\"./deprecatedPublicUtils\":8,\"./load\":11,\"./object\":14,\"./support\":18}],11:[function(a,b,c){\"use strict\";var d=a(\"./base64\"),e=a(\"./utf8\"),f=a(\"./utils\"),g=a(\"./zipEntries\");b.exports=function(a,b){var c,h,i,j;for(b=f.extend(b||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:e.utf8decode}),b.base64&&(a=d.decode(a)),h=new g(a,b),c=h.files,i=0;i<c.length;i++)j=c[i],this.file(j.fileNameStr,j.decompressed,{binary:!0,optimizedBinaryString:!0,date:j.date,dir:j.dir,comment:j.fileCommentStr.length?j.fileCommentStr:null,unixPermissions:j.unixPermissions,dosPermissions:j.dosPermissions,createFolders:b.createFolders});return h.zipComment.length&&(this.comment=h.zipComment),this}},{\"./base64\":2,\"./utf8\":21,\"./utils\":22,\"./zipEntries\":23}],12:[function(a,b,c){(function(a){\"use strict\";b.exports=function(b,c){return new a(b,c)},b.exports.test=function(b){return a.isBuffer(b)}}).call(this,\"undefined\"!=typeof Buffer?Buffer:void 0)},{}],13:[function(a,b,c){\"use strict\";function d(a){this.data=a,this.length=this.data.length,this.index=0,this.zero=0}var e=a(\"./uint8ArrayReader\");d.prototype=new e,d.prototype.readData=function(a){this.checkOffset(a);var b=this.data.slice(this.zero+this.index,this.zero+this.index+a);return this.index+=a,b},b.exports=d},{\"./uint8ArrayReader\":19}],14:[function(a,b,c){\"use strict\";var d=a(\"./support\"),e=a(\"./utils\"),f=a(\"./crc32\"),g=a(\"./signature\"),h=a(\"./defaults\"),i=a(\"./base64\"),j=a(\"./compressions\"),k=a(\"./compressedObject\"),l=a(\"./nodeBuffer\"),m=a(\"./utf8\"),n=a(\"./stringWriter\"),o=a(\"./uint8ArrayWriter\"),p=function(a){if(a._data instanceof k&&(a._data=a._data.getContent(),a.options.binary=!0,a.options.base64=!1,\"uint8array\"===e.getTypeOf(a._data))){var b=a._data;a._data=new Uint8Array(b.length),0!==b.length&&a._data.set(b,0)}return a._data},q=function(a){var b=p(a),c=e.getTypeOf(b);return\"string\"===c?!a.options.binary&&d.nodebuffer?l(b,\"utf-8\"):a.asBinary():b},r=function(a){var b=p(this);return null===b||\"undefined\"==typeof b?\"\":(this.options.base64&&(b=i.decode(b)),b=a&&this.options.binary?D.utf8decode(b):e.transformTo(\"string\",b),a||this.options.binary||(b=e.transformTo(\"string\",D.utf8encode(b))),b)},s=function(a,b,c){this.name=a,this.dir=c.dir,this.date=c.date,this.comment=c.comment,this.unixPermissions=c.unixPermissions,this.dosPermissions=c.dosPermissions,this._data=b,this.options=c,this._initialMetadata={dir:c.dir,date:c.date}};s.prototype={asText:function(){return r.call(this,!0)},asBinary:function(){return r.call(this,!1)},asNodeBuffer:function(){var a=q(this);return e.transformTo(\"nodebuffer\",a)},asUint8Array:function(){var a=q(this);return e.transformTo(\"uint8array\",a)},asArrayBuffer:function(){return this.asUint8Array().buffer}};var t=function(a,b){var c,d=\"\";for(c=0;c<b;c++)d+=String.fromCharCode(255&a),a>>>=8;return d},u=function(a){return a=a||{},a.base64!==!0||null!==a.binary&&void 0!==a.binary||(a.binary=!0),a=e.extend(a,h),a.date=a.date||new Date,null!==a.compression&&(a.compression=a.compression.toUpperCase()),a},v=function(a,b,c){var d,f=e.getTypeOf(b);if(c=u(c),\"string\"==typeof c.unixPermissions&&(c.unixPermissions=parseInt(c.unixPermissions,8)),c.unixPermissions&&16384&c.unixPermissions&&(c.dir=!0),c.dosPermissions&&16&c.dosPermissions&&(c.dir=!0),c.dir&&(a=x(a)),c.createFolders&&(d=w(a))&&y.call(this,d,!0),c.dir||null===b||\"undefined\"==typeof b)c.base64=!1,c.binary=!1,b=null,f=null;else if(\"string\"===f)c.binary&&!c.base64&&c.optimizedBinaryString!==!0&&(b=e.string2binary(b));else{if(c.base64=!1,c.binary=!0,!(f||b instanceof k))throw new Error(\"The data of '\"+a+\"' is in an unsupported format !\");\"arraybuffer\"===f&&(b=e.transformTo(\"uint8array\",b))}var g=new s(a,b,c);return this.files[a]=g,g},w=function(a){\"/\"==a.slice(-1)&&(a=a.substring(0,a.length-1));var b=a.lastIndexOf(\"/\");return b>0?a.substring(0,b):\"\"},x=function(a){return\"/\"!=a.slice(-1)&&(a+=\"/\"),a},y=function(a,b){return b=\"undefined\"!=typeof b&&b,a=x(a),this.files[a]||v.call(this,a,null,{dir:!0,createFolders:b}),this.files[a]},z=function(a,b,c){var d,g=new k;return a._data instanceof k?(g.uncompressedSize=a._data.uncompressedSize,g.crc32=a._data.crc32,0===g.uncompressedSize||a.dir?(b=j.STORE,g.compressedContent=\"\",g.crc32=0):a._data.compressionMethod===b.magic?g.compressedContent=a._data.getCompressedContent():(d=a._data.getContent(),g.compressedContent=b.compress(e.transformTo(b.compressInputType,d),c))):(d=q(a),d&&0!==d.length&&!a.dir||(b=j.STORE,d=\"\"),g.uncompressedSize=d.length,g.crc32=f(d),g.compressedContent=b.compress(e.transformTo(b.compressInputType,d),c)),g.compressedSize=g.compressedContent.length,g.compressionMethod=b.magic,g},A=function(a,b){var c=a;return a||(c=b?16893:33204),(65535&c)<<16},B=function(a,b){return 63&(a||0)},C=function(a,b,c,d,h,i){var j,k,l,n,o=(c.compressedContent,i!==m.utf8encode),p=e.transformTo(\"string\",i(b.name)),q=e.transformTo(\"string\",m.utf8encode(b.name)),r=b.comment||\"\",s=e.transformTo(\"string\",i(r)),u=e.transformTo(\"string\",m.utf8encode(r)),v=q.length!==b.name.length,w=u.length!==r.length,x=b.options,y=\"\",z=\"\",C=\"\";l=b._initialMetadata.dir!==b.dir?b.dir:x.dir,n=b._initialMetadata.date!==b.date?b.date:x.date;var D=0,E=0;l&&(D|=16),\"UNIX\"===h?(E=798,D|=A(b.unixPermissions,l)):(E=20,D|=B(b.dosPermissions,l)),j=n.getHours(),j<<=6,j|=n.getMinutes(),j<<=5,j|=n.getSeconds()/2,k=n.getFullYear()-1980,k<<=4,k|=n.getMonth()+1,k<<=5,k|=n.getDate(),v&&(z=t(1,1)+t(f(p),4)+q,y+=\"up\"+t(z.length,2)+z),w&&(C=t(1,1)+t(this.crc32(s),4)+u,y+=\"uc\"+t(C.length,2)+C);var F=\"\";F+=\"\\n\\0\",F+=o||!v&&!w?\"\\0\\0\":\"\\0\\b\",F+=c.compressionMethod,F+=t(j,2),F+=t(k,2),F+=t(c.crc32,4),F+=t(c.compressedSize,4),F+=t(c.uncompressedSize,4),F+=t(p.length,2),F+=t(y.length,2);var G=g.LOCAL_FILE_HEADER+F+p+y,H=g.CENTRAL_FILE_HEADER+t(E,2)+F+t(s.length,2)+\"\\0\\0\\0\\0\"+t(D,4)+t(d,4)+p+y+s;return{fileRecord:G,dirRecord:H,compressedObject:c}},D={load:function(a,b){throw new Error(\"Load method is not defined. Is the file jszip-load.js included ?\")},filter:function(a){var b,c,d,f,g=[];for(b in this.files)this.files.hasOwnProperty(b)&&(d=this.files[b],f=new s(d.name,d._data,e.extend(d.options)),c=b.slice(this.root.length,b.length),b.slice(0,this.root.length)===this.root&&a(c,f)&&g.push(f));return g},file:function(a,b,c){if(1===arguments.length){if(e.isRegExp(a)){var d=a;return this.filter(function(a,b){return!b.dir&&d.test(a)})}return this.filter(function(b,c){return!c.dir&&b===a})[0]||null}return a=this.root+a,v.call(this,a,b,c),this},folder:function(a){if(!a)return this;if(e.isRegExp(a))return this.filter(function(b,c){return c.dir&&a.test(b)});var b=this.root+a,c=y.call(this,b),d=this.clone();return d.root=c.name,d},remove:function(a){a=this.root+a;var b=this.files[a];if(b||(\"/\"!=a.slice(-1)&&(a+=\"/\"),b=this.files[a]),b&&!b.dir)delete this.files[a];else for(var c=this.filter(function(b,c){return c.name.slice(0,a.length)===a}),d=0;d<c.length;d++)delete this.files[c[d].name];return this},generate:function(a){a=e.extend(a||{},{base64:!0,compression:\"STORE\",compressionOptions:null,type:\"base64\",platform:\"DOS\",comment:null,mimeType:\"application/zip\",encodeFileName:m.utf8encode}),e.checkSupport(a.type),\"darwin\"!==a.platform&&\"freebsd\"!==a.platform&&\"linux\"!==a.platform&&\"sunos\"!==a.platform||(a.platform=\"UNIX\"),\"win32\"===a.platform&&(a.platform=\"DOS\");var b,c,d=[],f=0,h=0,k=e.transformTo(\"string\",a.encodeFileName(a.comment||this.comment||\"\"));for(var l in this.files)if(this.files.hasOwnProperty(l)){var p=this.files[l],q=p.options.compression||a.compression.toUpperCase(),r=j[q];if(!r)throw new Error(q+\" is not a valid compression method !\");var s=p.options.compressionOptions||a.compressionOptions||{},u=z.call(this,p,r,s),v=C.call(this,l,p,u,f,a.platform,a.encodeFileName);f+=v.fileRecord.length+u.compressedSize,h+=v.dirRecord.length,d.push(v)}var w=\"\";w=g.CENTRAL_DIRECTORY_END+\"\\0\\0\\0\\0\"+t(d.length,2)+t(d.length,2)+t(h,4)+t(f,4)+t(k.length,2)+k;var x=a.type.toLowerCase();for(b=\"uint8array\"===x||\"arraybuffer\"===x||\"blob\"===x||\"nodebuffer\"===x?new o(f+h+w.length):new n(f+h+w.length),c=0;c<d.length;c++)b.append(d[c].fileRecord),b.append(d[c].compressedObject.compressedContent);for(c=0;c<d.length;c++)b.append(d[c].dirRecord);b.append(w);var y=b.finalize();switch(a.type.toLowerCase()){case\"uint8array\":case\"arraybuffer\":case\"nodebuffer\":return e.transformTo(a.type.toLowerCase(),y);case\"blob\":return e.arrayBuffer2Blob(e.transformTo(\"arraybuffer\",y),a.mimeType);case\"base64\":return a.base64?i.encode(y):y;default:return y}},crc32:function(a,b){return f(a,b)},utf8encode:function(a){return e.transformTo(\"string\",m.utf8encode(a))},utf8decode:function(a){return m.utf8decode(a)}};b.exports=D},{\"./base64\":2,\"./compressedObject\":3,\"./compressions\":4,\"./crc32\":5,\"./defaults\":7,\"./nodeBuffer\":12,\"./signature\":15,\"./stringWriter\":17,\"./support\":18,\"./uint8ArrayWriter\":20,\"./utf8\":21,\"./utils\":22}],15:[function(a,b,c){\"use strict\";c.LOCAL_FILE_HEADER=\"PK\u0003\u0004\",c.CENTRAL_FILE_HEADER=\"PK\u0001\u0002\",c.CENTRAL_DIRECTORY_END=\"PK\u0005\u0006\",c.ZIP64_CENTRAL_DIRECTORY_LOCATOR=\"PK\u0006\u0007\",c.ZIP64_CENTRAL_DIRECTORY_END=\"PK\u0006\u0006\",c.DATA_DESCRIPTOR=\"PK\u0007\\b\"},{}],16:[function(a,b,c){\"use strict\";function d(a,b){this.data=a,b||(this.data=f.string2binary(this.data)),this.length=this.data.length,this.index=0,this.zero=0}var e=a(\"./dataReader\"),f=a(\"./utils\");d.prototype=new e,d.prototype.byteAt=function(a){return this.data.charCodeAt(this.zero+a)},d.prototype.lastIndexOfSignature=function(a){return this.data.lastIndexOf(a)-this.zero},d.prototype.readData=function(a){this.checkOffset(a);var b=this.data.slice(this.zero+this.index,this.zero+this.index+a);return this.index+=a,b},b.exports=d},{\"./dataReader\":6,\"./utils\":22}],17:[function(a,b,c){\"use strict\";var d=a(\"./utils\"),e=function(){this.data=[]};e.prototype={append:function(a){a=d.transformTo(\"string\",a),this.data.push(a)},finalize:function(){return this.data.join(\"\")}},b.exports=e},{\"./utils\":22}],18:[function(a,b,c){(function(a){\"use strict\";if(c.base64=!0,c.array=!0,c.string=!0,c.arraybuffer=\"undefined\"!=typeof ArrayBuffer&&\"undefined\"!=typeof Uint8Array,c.nodebuffer=\"undefined\"!=typeof a,c.uint8array=\"undefined\"!=typeof Uint8Array,\"undefined\"==typeof ArrayBuffer)c.blob=!1;else{var b=new ArrayBuffer(0);try{c.blob=0===new Blob([b],{type:\"application/zip\"}).size}catch(d){try{var e=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,f=new e;f.append(b),c.blob=0===f.getBlob(\"application/zip\").size}catch(d){c.blob=!1}}}}).call(this,\"undefined\"!=typeof Buffer?Buffer:void 0)},{}],19:[function(a,b,c){\"use strict\";function d(a){a&&(this.data=a,this.length=this.data.length,this.index=0,this.zero=0)}var e=a(\"./arrayReader\");d.prototype=new e,d.prototype.readData=function(a){if(this.checkOffset(a),0===a)return new Uint8Array(0);var b=this.data.subarray(this.zero+this.index,this.zero+this.index+a);return this.index+=a,b},b.exports=d},{\"./arrayReader\":1}],20:[function(a,b,c){\"use strict\";var d=a(\"./utils\"),e=function(a){this.data=new Uint8Array(a),this.index=0};e.prototype={append:function(a){0!==a.length&&(a=d.transformTo(\"uint8array\",a),this.data.set(a,this.index),this.index+=a.length)},finalize:function(){return this.data}},b.exports=e},{\"./utils\":22}],21:[function(a,b,c){\"use strict\";for(var d=a(\"./utils\"),e=a(\"./support\"),f=a(\"./nodeBuffer\"),g=new Array(256),h=0;h<256;h++)g[h]=h>=252?6:h>=248?5:h>=240?4:h>=224?3:h>=192?2:1;g[254]=g[254]=1;var i=function(a){var b,c,d,f,g,h=a.length,i=0;for(f=0;f<h;f++)c=a.charCodeAt(f),55296===(64512&c)&&f+1<h&&(d=a.charCodeAt(f+1),56320===(64512&d)&&(c=65536+(c-55296<<10)+(d-56320),f++)),i+=c<128?1:c<2048?2:c<65536?3:4;for(b=e.uint8array?new Uint8Array(i):new Array(i),g=0,f=0;g<i;f++)c=a.charCodeAt(f),55296===(64512&c)&&f+1<h&&(d=a.charCodeAt(f+1),56320===(64512&d)&&(c=65536+(c-55296<<10)+(d-56320),f++)),c<128?b[g++]=c:c<2048?(b[g++]=192|c>>>6,b[g++]=128|63&c):c<65536?(b[g++]=224|c>>>12,b[g++]=128|c>>>6&63,b[g++]=128|63&c):(b[g++]=240|c>>>18,b[g++]=128|c>>>12&63,b[g++]=128|c>>>6&63,b[g++]=128|63&c);return b},j=function(a,b){var c;for(b=b||a.length,b>a.length&&(b=a.length),c=b-1;c>=0&&128===(192&a[c]);)c--;return c<0?b:0===c?b:c+g[a[c]]>b?c:b},k=function(a){var b,c,e,f,h=a.length,i=new Array(2*h);for(c=0,b=0;b<h;)if(e=a[b++],e<128)i[c++]=e;else if(f=g[e],f>4)i[c++]=65533,b+=f-1;else{for(e&=2===f?31:3===f?15:7;f>1&&b<h;)e=e<<6|63&a[b++],f--;f>1?i[c++]=65533:e<65536?i[c++]=e:(e-=65536,i[c++]=55296|e>>10&1023,i[c++]=56320|1023&e)}return i.length!==c&&(i.subarray?i=i.subarray(0,c):i.length=c),d.applyFromCharCode(i)};c.utf8encode=function(a){return e.nodebuffer?f(a,\"utf-8\"):i(a)},c.utf8decode=function(a){if(e.nodebuffer)return d.transformTo(\"nodebuffer\",a).toString(\"utf-8\");a=d.transformTo(e.uint8array?\"uint8array\":\"array\",a);for(var b=[],c=0,f=a.length,g=65536;c<f;){var h=j(a,Math.min(c+g,f));e.uint8array?b.push(k(a.subarray(c,h))):b.push(k(a.slice(c,h))),c=h}return b.join(\"\")}},{\"./nodeBuffer\":12,\"./support\":18,\"./utils\":22}],22:[function(a,b,c){\"use strict\";function d(a){return a}function e(a,b){for(var c=0;c<a.length;++c)b[c]=255&a.charCodeAt(c);return b}function f(a){var b=65536,d=[],e=a.length,f=c.getTypeOf(a),g=0,h=!0;try{switch(f){case\"uint8array\":String.fromCharCode.apply(null,new Uint8Array(0));break;case\"nodebuffer\":String.fromCharCode.apply(null,j(0))}}catch(i){h=!1}if(!h){for(var k=\"\",l=0;l<a.length;l++)k+=String.fromCharCode(a[l]);return k}for(;g<e&&b>1;)try{\"array\"===f||\"nodebuffer\"===f?d.push(String.fromCharCode.apply(null,a.slice(g,Math.min(g+b,e)))):d.push(String.fromCharCode.apply(null,a.subarray(g,Math.min(g+b,e)))),g+=b}catch(i){b=Math.floor(b/2)}return d.join(\"\")}function g(a,b){for(var c=0;c<a.length;c++)b[c]=a[c];return b}var h=a(\"./support\"),i=a(\"./compressions\"),j=a(\"./nodeBuffer\");c.string2binary=function(a){for(var b=\"\",c=0;c<a.length;c++)b+=String.fromCharCode(255&a.charCodeAt(c));return b},c.arrayBuffer2Blob=function(a,b){c.checkSupport(\"blob\"),b=b||\"application/zip\";try{return new Blob([a],{type:b})}catch(d){try{var e=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,f=new e;return f.append(a),f.getBlob(b)}catch(d){throw new Error(\"Bug : can't construct the Blob.\")}}},c.applyFromCharCode=f;var k={};k.string={string:d,array:function(a){return e(a,new Array(a.length))},arraybuffer:function(a){return k.string.uint8array(a).buffer},uint8array:function(a){return e(a,new Uint8Array(a.length))},nodebuffer:function(a){return e(a,j(a.length))}},k.array={string:f,array:d,arraybuffer:function(a){return new Uint8Array(a).buffer},uint8array:function(a){return new Uint8Array(a)},nodebuffer:function(a){return j(a)}},k.arraybuffer={string:function(a){return f(new Uint8Array(a))},array:function(a){return g(new Uint8Array(a),new Array(a.byteLength))},arraybuffer:d,uint8array:function(a){return new Uint8Array(a)},nodebuffer:function(a){return j(new Uint8Array(a))}},k.uint8array={string:f,array:function(a){return g(a,new Array(a.length))},arraybuffer:function(a){return a.buffer},uint8array:d,nodebuffer:function(a){return j(a)}},k.nodebuffer={string:f,array:function(a){return g(a,new Array(a.length))},arraybuffer:function(a){return k.nodebuffer.uint8array(a).buffer},uint8array:function(a){return g(a,new Uint8Array(a.length))},nodebuffer:d},c.transformTo=function(a,b){if(b||(b=\"\"),!a)return b;c.checkSupport(a);var d=c.getTypeOf(b),e=k[d][a](b);return e},c.getTypeOf=function(a){return\"string\"==typeof a?\"string\":\"[object Array]\"===Object.prototype.toString.call(a)?\"array\":h.nodebuffer&&j.test(a)?\"nodebuffer\":h.uint8array&&a instanceof Uint8Array?\"uint8array\":h.arraybuffer&&a instanceof ArrayBuffer?\"arraybuffer\":void 0},c.checkSupport=function(a){var b=h[a.toLowerCase()];if(!b)throw new Error(a+\" is not supported by this browser\")},c.MAX_VALUE_16BITS=65535,c.MAX_VALUE_32BITS=-1,c.pretty=function(a){var b,c,d=\"\";for(c=0;c<(a||\"\").length;c++)b=a.charCodeAt(c),d+=\"\\\\x\"+(b<16?\"0\":\"\")+b.toString(16).toUpperCase();return d},c.findCompression=function(a){for(var b in i)if(i.hasOwnProperty(b)&&i[b].magic===a)return i[b];return null},c.isRegExp=function(a){return\"[object RegExp]\"===Object.prototype.toString.call(a)},c.extend=function(){var a,b,c={};for(a=0;a<arguments.length;a++)for(b in arguments[a])arguments[a].hasOwnProperty(b)&&\"undefined\"==typeof c[b]&&(c[b]=arguments[a][b]);return c}},{\"./compressions\":4,\"./nodeBuffer\":12,\"./support\":18}],23:[function(a,b,c){\"use strict\";function d(a,b){this.files=[],this.loadOptions=b,a&&this.load(a)}var e=a(\"./stringReader\"),f=a(\"./nodeBufferReader\"),g=a(\"./uint8ArrayReader\"),h=a(\"./arrayReader\"),i=a(\"./utils\"),j=a(\"./signature\"),k=a(\"./zipEntry\"),l=a(\"./support\");a(\"./object\");d.prototype={checkSignature:function(a){var b=this.reader.readString(4);if(b!==a)throw new Error(\"Corrupted zip or bug : unexpected signature (\"+i.pretty(b)+\", expected \"+i.pretty(a)+\")\")},isSignature:function(a,b){var c=this.reader.index;this.reader.setIndex(a);var d=this.reader.readString(4),e=d===b;return this.reader.setIndex(c),e},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var a=this.reader.readData(this.zipCommentLength),b=l.uint8array?\"uint8array\":\"array\",c=i.transformTo(b,a);this.zipComment=this.loadOptions.decodeFileName(c)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.versionMadeBy=this.reader.readString(2),this.versionNeeded=this.reader.readInt(2),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var a,b,c,d=this.zip64EndOfCentralSize-44,e=0;e<d;)a=this.reader.readInt(2),b=this.reader.readInt(4),c=this.reader.readString(b),this.zip64ExtensibleData[a]={id:a,length:b,value:c}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),this.disksCount>1)throw new Error(\"Multi-volumes zip are not supported\")},readLocalFiles:function(){var a,b;for(a=0;a<this.files.length;a++)b=this.files[a],this.reader.setIndex(b.localHeaderOffset),this.checkSignature(j.LOCAL_FILE_HEADER),b.readLocalPart(this.reader),b.handleUTF8(),b.processAttributes()},readCentralDir:function(){var a;for(this.reader.setIndex(this.centralDirOffset);this.reader.readString(4)===j.CENTRAL_FILE_HEADER;)a=new k({zip64:this.zip64},this.loadOptions),a.readCentralPart(this.reader),this.files.push(a);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw new Error(\"Corrupted zip or bug: expected \"+this.centralDirRecords+\" records in central dir, got \"+this.files.length)},readEndOfCentral:function(){var a=this.reader.lastIndexOfSignature(j.CENTRAL_DIRECTORY_END);if(a<0){var b=!this.isSignature(0,j.LOCAL_FILE_HEADER);throw b?new Error(\"Can't find end of central directory : is this a zip file ? If it is, see http://stuk.github.io/jszip/documentation/howto/read_zip.html\"):new Error(\"Corrupted zip : can't find end of central directory\")}this.reader.setIndex(a);var c=a;if(this.checkSignature(j.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===i.MAX_VALUE_16BITS||this.diskWithCentralDirStart===i.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===i.MAX_VALUE_16BITS||this.centralDirRecords===i.MAX_VALUE_16BITS||this.centralDirSize===i.MAX_VALUE_32BITS||this.centralDirOffset===i.MAX_VALUE_32BITS){if(this.zip64=!0,a=this.reader.lastIndexOfSignature(j.ZIP64_CENTRAL_DIRECTORY_LOCATOR),a<0)throw new Error(\"Corrupted zip : can't find the ZIP64 end of central directory locator\");if(this.reader.setIndex(a),this.checkSignature(j.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,j.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(j.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error(\"Corrupted zip : can't find the ZIP64 end of central directory\");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(j.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var d=this.centralDirOffset+this.centralDirSize;this.zip64&&(d+=20,d+=12+this.zip64EndOfCentralSize);var e=c-d;if(e>0)this.isSignature(c,j.CENTRAL_FILE_HEADER)||(this.reader.zero=e);else if(e<0)throw new Error(\"Corrupted zip: missing \"+Math.abs(e)+\" bytes.\")},prepareReader:function(a){var b=i.getTypeOf(a);if(i.checkSupport(b),\"string\"!==b||l.uint8array)if(\"nodebuffer\"===b)this.reader=new f(a);else if(l.uint8array)this.reader=new g(i.transformTo(\"uint8array\",a));else{if(!l.array)throw new Error(\"Unexpected error: unsupported type '\"+b+\"'\");this.reader=new h(i.transformTo(\"array\",a))}else this.reader=new e(a,this.loadOptions.optimizedBinaryString)},load:function(a){this.prepareReader(a),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},b.exports=d},{\"./arrayReader\":1,\"./nodeBufferReader\":13,\"./object\":14,\"./signature\":15,\"./stringReader\":16,\"./support\":18,\"./uint8ArrayReader\":19,\"./utils\":22,\"./zipEntry\":24}],24:[function(a,b,c){\"use strict\";function d(a,b){this.options=a,this.loadOptions=b}var e=a(\"./stringReader\"),f=a(\"./utils\"),g=a(\"./compressedObject\"),h=a(\"./object\"),i=a(\"./support\"),j=0,k=3;d.prototype={isEncrypted:function(){return 1===(1&this.bitFlag)},useUTF8:function(){return 2048===(2048&this.bitFlag)},prepareCompressedContent:function(a,b,c){return function(){var d=a.index;a.setIndex(b);var e=a.readData(c);return a.setIndex(d),e}},prepareContent:function(a,b,c,d,e){return function(){var a=f.transformTo(d.uncompressInputType,this.getCompressedContent()),b=d.uncompress(a);if(b.length!==e)throw new Error(\"Bug : uncompressed data size mismatch\");return b}},readLocalPart:function(a){var b,c;if(a.skip(22),this.fileNameLength=a.readInt(2),c=a.readInt(2),this.fileName=a.readData(this.fileNameLength),a.skip(c),this.compressedSize==-1||this.uncompressedSize==-1)throw new Error(\"Bug or corrupted zip : didn't get enough informations from the central directory (compressedSize == -1 || uncompressedSize == -1)\");if(b=f.findCompression(this.compressionMethod),null===b)throw new Error(\"Corrupted zip : compression \"+f.pretty(this.compressionMethod)+\" unknown (inner file : \"+f.transformTo(\"string\",this.fileName)+\")\");if(this.decompressed=new g,this.decompressed.compressedSize=this.compressedSize,this.decompressed.uncompressedSize=this.uncompressedSize,this.decompressed.crc32=this.crc32,this.decompressed.compressionMethod=this.compressionMethod,this.decompressed.getCompressedContent=this.prepareCompressedContent(a,a.index,this.compressedSize,b),this.decompressed.getContent=this.prepareContent(a,a.index,this.compressedSize,b,this.uncompressedSize),this.loadOptions.checkCRC32&&(this.decompressed=f.transformTo(\"string\",this.decompressed.getContent()),h.crc32(this.decompressed)!==this.crc32))throw new Error(\"Corrupted zip : CRC32 mismatch\");\n},readCentralPart:function(a){if(this.versionMadeBy=a.readInt(2),this.versionNeeded=a.readInt(2),this.bitFlag=a.readInt(2),this.compressionMethod=a.readString(2),this.date=a.readDate(),this.crc32=a.readInt(4),this.compressedSize=a.readInt(4),this.uncompressedSize=a.readInt(4),this.fileNameLength=a.readInt(2),this.extraFieldsLength=a.readInt(2),this.fileCommentLength=a.readInt(2),this.diskNumberStart=a.readInt(2),this.internalFileAttributes=a.readInt(2),this.externalFileAttributes=a.readInt(4),this.localHeaderOffset=a.readInt(4),this.isEncrypted())throw new Error(\"Encrypted zip are not supported\");this.fileName=a.readData(this.fileNameLength),this.readExtraFields(a),this.parseZIP64ExtraField(a),this.fileComment=a.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var a=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),a===j&&(this.dosPermissions=63&this.externalFileAttributes),a===k&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||\"/\"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(a){if(this.extraFields[1]){var b=new e(this.extraFields[1].value);this.uncompressedSize===f.MAX_VALUE_32BITS&&(this.uncompressedSize=b.readInt(8)),this.compressedSize===f.MAX_VALUE_32BITS&&(this.compressedSize=b.readInt(8)),this.localHeaderOffset===f.MAX_VALUE_32BITS&&(this.localHeaderOffset=b.readInt(8)),this.diskNumberStart===f.MAX_VALUE_32BITS&&(this.diskNumberStart=b.readInt(4))}},readExtraFields:function(a){var b,c,d,e=a.index;for(this.extraFields=this.extraFields||{};a.index<e+this.extraFieldsLength;)b=a.readInt(2),c=a.readInt(2),d=a.readString(c),this.extraFields[b]={id:b,length:c,value:d}},handleUTF8:function(){var a=i.uint8array?\"uint8array\":\"array\";if(this.useUTF8())this.fileNameStr=h.utf8decode(this.fileName),this.fileCommentStr=h.utf8decode(this.fileComment);else{var b=this.findExtraFieldUnicodePath();if(null!==b)this.fileNameStr=b;else{var c=f.transformTo(a,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(c)}var d=this.findExtraFieldUnicodeComment();if(null!==d)this.fileCommentStr=d;else{var e=f.transformTo(a,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(e)}}},findExtraFieldUnicodePath:function(){var a=this.extraFields[28789];if(a){var b=new e(a.value);return 1!==b.readInt(1)?null:h.crc32(this.fileName)!==b.readInt(4)?null:h.utf8decode(b.readString(a.length-5))}return null},findExtraFieldUnicodeComment:function(){var a=this.extraFields[25461];if(a){var b=new e(a.value);return 1!==b.readInt(1)?null:h.crc32(this.fileComment)!==b.readInt(4)?null:h.utf8decode(b.readString(a.length-5))}return null}},b.exports=d},{\"./compressedObject\":3,\"./object\":14,\"./stringReader\":16,\"./support\":18,\"./utils\":22}],25:[function(a,b,c){\"use strict\";var d=a(\"./lib/utils/common\").assign,e=a(\"./lib/deflate\"),f=a(\"./lib/inflate\"),g=a(\"./lib/zlib/constants\"),h={};d(h,e,f,g),b.exports=h},{\"./lib/deflate\":26,\"./lib/inflate\":27,\"./lib/utils/common\":28,\"./lib/zlib/constants\":31}],26:[function(a,b,c){\"use strict\";function d(a){if(!(this instanceof d))return new d(a);this.options=i.assign({level:s,method:u,chunkSize:16384,windowBits:15,memLevel:8,strategy:t,to:\"\"},a||{});var b=this.options;b.raw&&b.windowBits>0?b.windowBits=-b.windowBits:b.gzip&&b.windowBits>0&&b.windowBits<16&&(b.windowBits+=16),this.err=0,this.msg=\"\",this.ended=!1,this.chunks=[],this.strm=new l,this.strm.avail_out=0;var c=h.deflateInit2(this.strm,b.level,b.method,b.windowBits,b.memLevel,b.strategy);if(c!==p)throw new Error(k[c]);if(b.header&&h.deflateSetHeader(this.strm,b.header),b.dictionary){var e;if(e=\"string\"==typeof b.dictionary?j.string2buf(b.dictionary):\"[object ArrayBuffer]\"===m.call(b.dictionary)?new Uint8Array(b.dictionary):b.dictionary,c=h.deflateSetDictionary(this.strm,e),c!==p)throw new Error(k[c]);this._dict_set=!0}}function e(a,b){var c=new d(b);if(c.push(a,!0),c.err)throw c.msg;return c.result}function f(a,b){return b=b||{},b.raw=!0,e(a,b)}function g(a,b){return b=b||{},b.gzip=!0,e(a,b)}var h=a(\"./zlib/deflate\"),i=a(\"./utils/common\"),j=a(\"./utils/strings\"),k=a(\"./zlib/messages\"),l=a(\"./zlib/zstream\"),m=Object.prototype.toString,n=0,o=4,p=0,q=1,r=2,s=-1,t=0,u=8;d.prototype.push=function(a,b){var c,d,e=this.strm,f=this.options.chunkSize;if(this.ended)return!1;d=b===~~b?b:b===!0?o:n,\"string\"==typeof a?e.input=j.string2buf(a):\"[object ArrayBuffer]\"===m.call(a)?e.input=new Uint8Array(a):e.input=a,e.next_in=0,e.avail_in=e.input.length;do{if(0===e.avail_out&&(e.output=new i.Buf8(f),e.next_out=0,e.avail_out=f),c=h.deflate(e,d),c!==q&&c!==p)return this.onEnd(c),this.ended=!0,!1;0!==e.avail_out&&(0!==e.avail_in||d!==o&&d!==r)||(\"string\"===this.options.to?this.onData(j.buf2binstring(i.shrinkBuf(e.output,e.next_out))):this.onData(i.shrinkBuf(e.output,e.next_out)))}while((e.avail_in>0||0===e.avail_out)&&c!==q);return d===o?(c=h.deflateEnd(this.strm),this.onEnd(c),this.ended=!0,c===p):d!==r||(this.onEnd(p),e.avail_out=0,!0)},d.prototype.onData=function(a){this.chunks.push(a)},d.prototype.onEnd=function(a){a===p&&(\"string\"===this.options.to?this.result=this.chunks.join(\"\"):this.result=i.flattenChunks(this.chunks)),this.chunks=[],this.err=a,this.msg=this.strm.msg},c.Deflate=d,c.deflate=e,c.deflateRaw=f,c.gzip=g},{\"./utils/common\":28,\"./utils/strings\":29,\"./zlib/deflate\":33,\"./zlib/messages\":38,\"./zlib/zstream\":40}],27:[function(a,b,c){\"use strict\";function d(a){if(!(this instanceof d))return new d(a);this.options=h.assign({chunkSize:16384,windowBits:0,to:\"\"},a||{});var b=this.options;b.raw&&b.windowBits>=0&&b.windowBits<16&&(b.windowBits=-b.windowBits,0===b.windowBits&&(b.windowBits=-15)),!(b.windowBits>=0&&b.windowBits<16)||a&&a.windowBits||(b.windowBits+=32),b.windowBits>15&&b.windowBits<48&&0===(15&b.windowBits)&&(b.windowBits|=15),this.err=0,this.msg=\"\",this.ended=!1,this.chunks=[],this.strm=new l,this.strm.avail_out=0;var c=g.inflateInit2(this.strm,b.windowBits);if(c!==j.Z_OK)throw new Error(k[c]);this.header=new m,g.inflateGetHeader(this.strm,this.header)}function e(a,b){var c=new d(b);if(c.push(a,!0),c.err)throw c.msg;return c.result}function f(a,b){return b=b||{},b.raw=!0,e(a,b)}var g=a(\"./zlib/inflate\"),h=a(\"./utils/common\"),i=a(\"./utils/strings\"),j=a(\"./zlib/constants\"),k=a(\"./zlib/messages\"),l=a(\"./zlib/zstream\"),m=a(\"./zlib/gzheader\"),n=Object.prototype.toString;d.prototype.push=function(a,b){var c,d,e,f,k,l,m=this.strm,o=this.options.chunkSize,p=this.options.dictionary,q=!1;if(this.ended)return!1;d=b===~~b?b:b===!0?j.Z_FINISH:j.Z_NO_FLUSH,\"string\"==typeof a?m.input=i.binstring2buf(a):\"[object ArrayBuffer]\"===n.call(a)?m.input=new Uint8Array(a):m.input=a,m.next_in=0,m.avail_in=m.input.length;do{if(0===m.avail_out&&(m.output=new h.Buf8(o),m.next_out=0,m.avail_out=o),c=g.inflate(m,j.Z_NO_FLUSH),c===j.Z_NEED_DICT&&p&&(l=\"string\"==typeof p?i.string2buf(p):\"[object ArrayBuffer]\"===n.call(p)?new Uint8Array(p):p,c=g.inflateSetDictionary(this.strm,l)),c===j.Z_BUF_ERROR&&q===!0&&(c=j.Z_OK,q=!1),c!==j.Z_STREAM_END&&c!==j.Z_OK)return this.onEnd(c),this.ended=!0,!1;m.next_out&&(0!==m.avail_out&&c!==j.Z_STREAM_END&&(0!==m.avail_in||d!==j.Z_FINISH&&d!==j.Z_SYNC_FLUSH)||(\"string\"===this.options.to?(e=i.utf8border(m.output,m.next_out),f=m.next_out-e,k=i.buf2string(m.output,e),m.next_out=f,m.avail_out=o-f,f&&h.arraySet(m.output,m.output,e,f,0),this.onData(k)):this.onData(h.shrinkBuf(m.output,m.next_out)))),0===m.avail_in&&0===m.avail_out&&(q=!0)}while((m.avail_in>0||0===m.avail_out)&&c!==j.Z_STREAM_END);return c===j.Z_STREAM_END&&(d=j.Z_FINISH),d===j.Z_FINISH?(c=g.inflateEnd(this.strm),this.onEnd(c),this.ended=!0,c===j.Z_OK):d!==j.Z_SYNC_FLUSH||(this.onEnd(j.Z_OK),m.avail_out=0,!0)},d.prototype.onData=function(a){this.chunks.push(a)},d.prototype.onEnd=function(a){a===j.Z_OK&&(\"string\"===this.options.to?this.result=this.chunks.join(\"\"):this.result=h.flattenChunks(this.chunks)),this.chunks=[],this.err=a,this.msg=this.strm.msg},c.Inflate=d,c.inflate=e,c.inflateRaw=f,c.ungzip=e},{\"./utils/common\":28,\"./utils/strings\":29,\"./zlib/constants\":31,\"./zlib/gzheader\":34,\"./zlib/inflate\":36,\"./zlib/messages\":38,\"./zlib/zstream\":40}],28:[function(a,b,c){\"use strict\";var d=\"undefined\"!=typeof Uint8Array&&\"undefined\"!=typeof Uint16Array&&\"undefined\"!=typeof Int32Array;c.assign=function(a){for(var b=Array.prototype.slice.call(arguments,1);b.length;){var c=b.shift();if(c){if(\"object\"!=typeof c)throw new TypeError(c+\"must be non-object\");for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d])}}return a},c.shrinkBuf=function(a,b){return a.length===b?a:a.subarray?a.subarray(0,b):(a.length=b,a)};var e={arraySet:function(a,b,c,d,e){if(b.subarray&&a.subarray)return void a.set(b.subarray(c,c+d),e);for(var f=0;f<d;f++)a[e+f]=b[c+f]},flattenChunks:function(a){var b,c,d,e,f,g;for(d=0,b=0,c=a.length;b<c;b++)d+=a[b].length;for(g=new Uint8Array(d),e=0,b=0,c=a.length;b<c;b++)f=a[b],g.set(f,e),e+=f.length;return g}},f={arraySet:function(a,b,c,d,e){for(var f=0;f<d;f++)a[e+f]=b[c+f]},flattenChunks:function(a){return[].concat.apply([],a)}};c.setTyped=function(a){a?(c.Buf8=Uint8Array,c.Buf16=Uint16Array,c.Buf32=Int32Array,c.assign(c,e)):(c.Buf8=Array,c.Buf16=Array,c.Buf32=Array,c.assign(c,f))},c.setTyped(d)},{}],29:[function(a,b,c){\"use strict\";function d(a,b){if(b<65537&&(a.subarray&&g||!a.subarray&&f))return String.fromCharCode.apply(null,e.shrinkBuf(a,b));for(var c=\"\",d=0;d<b;d++)c+=String.fromCharCode(a[d]);return c}var e=a(\"./common\"),f=!0,g=!0;try{String.fromCharCode.apply(null,[0])}catch(h){f=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(h){g=!1}for(var i=new e.Buf8(256),j=0;j<256;j++)i[j]=j>=252?6:j>=248?5:j>=240?4:j>=224?3:j>=192?2:1;i[254]=i[254]=1,c.string2buf=function(a){var b,c,d,f,g,h=a.length,i=0;for(f=0;f<h;f++)c=a.charCodeAt(f),55296===(64512&c)&&f+1<h&&(d=a.charCodeAt(f+1),56320===(64512&d)&&(c=65536+(c-55296<<10)+(d-56320),f++)),i+=c<128?1:c<2048?2:c<65536?3:4;for(b=new e.Buf8(i),g=0,f=0;g<i;f++)c=a.charCodeAt(f),55296===(64512&c)&&f+1<h&&(d=a.charCodeAt(f+1),56320===(64512&d)&&(c=65536+(c-55296<<10)+(d-56320),f++)),c<128?b[g++]=c:c<2048?(b[g++]=192|c>>>6,b[g++]=128|63&c):c<65536?(b[g++]=224|c>>>12,b[g++]=128|c>>>6&63,b[g++]=128|63&c):(b[g++]=240|c>>>18,b[g++]=128|c>>>12&63,b[g++]=128|c>>>6&63,b[g++]=128|63&c);return b},c.buf2binstring=function(a){return d(a,a.length)},c.binstring2buf=function(a){for(var b=new e.Buf8(a.length),c=0,d=b.length;c<d;c++)b[c]=a.charCodeAt(c);return b},c.buf2string=function(a,b){var c,e,f,g,h=b||a.length,j=new Array(2*h);for(e=0,c=0;c<h;)if(f=a[c++],f<128)j[e++]=f;else if(g=i[f],g>4)j[e++]=65533,c+=g-1;else{for(f&=2===g?31:3===g?15:7;g>1&&c<h;)f=f<<6|63&a[c++],g--;g>1?j[e++]=65533:f<65536?j[e++]=f:(f-=65536,j[e++]=55296|f>>10&1023,j[e++]=56320|1023&f)}return d(j,e)},c.utf8border=function(a,b){var c;for(b=b||a.length,b>a.length&&(b=a.length),c=b-1;c>=0&&128===(192&a[c]);)c--;return c<0?b:0===c?b:c+i[a[c]]>b?c:b}},{\"./common\":28}],30:[function(a,b,c){\"use strict\";function d(a,b,c,d){for(var e=65535&a|0,f=a>>>16&65535|0,g=0;0!==c;){g=c>2e3?2e3:c,c-=g;do e=e+b[d++]|0,f=f+e|0;while(--g);e%=65521,f%=65521}return e|f<<16|0}b.exports=d},{}],31:[function(a,b,c){\"use strict\";b.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],32:[function(a,b,c){\"use strict\";function d(){for(var a,b=[],c=0;c<256;c++){a=c;for(var d=0;d<8;d++)a=1&a?3988292384^a>>>1:a>>>1;b[c]=a}return b}function e(a,b,c,d){var e=f,g=d+c;a^=-1;for(var h=d;h<g;h++)a=a>>>8^e[255&(a^b[h])];return a^-1}var f=d();b.exports=e},{}],33:[function(a,b,c){\"use strict\";function d(a,b){return a.msg=I[b],b}function e(a){return(a<<1)-(a>4?9:0)}function f(a){for(var b=a.length;--b>=0;)a[b]=0}function g(a){var b=a.state,c=b.pending;c>a.avail_out&&(c=a.avail_out),0!==c&&(E.arraySet(a.output,b.pending_buf,b.pending_out,c,a.next_out),a.next_out+=c,b.pending_out+=c,a.total_out+=c,a.avail_out-=c,b.pending-=c,0===b.pending&&(b.pending_out=0))}function h(a,b){F._tr_flush_block(a,a.block_start>=0?a.block_start:-1,a.strstart-a.block_start,b),a.block_start=a.strstart,g(a.strm)}function i(a,b){a.pending_buf[a.pending++]=b}function j(a,b){a.pending_buf[a.pending++]=b>>>8&255,a.pending_buf[a.pending++]=255&b}function k(a,b,c,d){var e=a.avail_in;return e>d&&(e=d),0===e?0:(a.avail_in-=e,E.arraySet(b,a.input,a.next_in,e,c),1===a.state.wrap?a.adler=G(a.adler,b,e,c):2===a.state.wrap&&(a.adler=H(a.adler,b,e,c)),a.next_in+=e,a.total_in+=e,e)}function l(a,b){var c,d,e=a.max_chain_length,f=a.strstart,g=a.prev_length,h=a.nice_match,i=a.strstart>a.w_size-la?a.strstart-(a.w_size-la):0,j=a.window,k=a.w_mask,l=a.prev,m=a.strstart+ka,n=j[f+g-1],o=j[f+g];a.prev_length>=a.good_match&&(e>>=2),h>a.lookahead&&(h=a.lookahead);do if(c=b,j[c+g]===o&&j[c+g-1]===n&&j[c]===j[f]&&j[++c]===j[f+1]){f+=2,c++;do;while(j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&f<m);if(d=ka-(m-f),f=m-ka,d>g){if(a.match_start=b,g=d,d>=h)break;n=j[f+g-1],o=j[f+g]}}while((b=l[b&k])>i&&0!==--e);return g<=a.lookahead?g:a.lookahead}function m(a){var b,c,d,e,f,g=a.w_size;do{if(e=a.window_size-a.lookahead-a.strstart,a.strstart>=g+(g-la)){E.arraySet(a.window,a.window,g,g,0),a.match_start-=g,a.strstart-=g,a.block_start-=g,c=a.hash_size,b=c;do d=a.head[--b],a.head[b]=d>=g?d-g:0;while(--c);c=g,b=c;do d=a.prev[--b],a.prev[b]=d>=g?d-g:0;while(--c);e+=g}if(0===a.strm.avail_in)break;if(c=k(a.strm,a.window,a.strstart+a.lookahead,e),a.lookahead+=c,a.lookahead+a.insert>=ja)for(f=a.strstart-a.insert,a.ins_h=a.window[f],a.ins_h=(a.ins_h<<a.hash_shift^a.window[f+1])&a.hash_mask;a.insert&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[f+ja-1])&a.hash_mask,a.prev[f&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=f,f++,a.insert--,!(a.lookahead+a.insert<ja)););}while(a.lookahead<la&&0!==a.strm.avail_in)}function n(a,b){var c=65535;for(c>a.pending_buf_size-5&&(c=a.pending_buf_size-5);;){if(a.lookahead<=1){if(m(a),0===a.lookahead&&b===J)return ua;if(0===a.lookahead)break}a.strstart+=a.lookahead,a.lookahead=0;var d=a.block_start+c;if((0===a.strstart||a.strstart>=d)&&(a.lookahead=a.strstart-d,a.strstart=d,h(a,!1),0===a.strm.avail_out))return ua;if(a.strstart-a.block_start>=a.w_size-la&&(h(a,!1),0===a.strm.avail_out))return ua}return a.insert=0,b===M?(h(a,!0),0===a.strm.avail_out?wa:xa):a.strstart>a.block_start&&(h(a,!1),0===a.strm.avail_out)?ua:ua}function o(a,b){for(var c,d;;){if(a.lookahead<la){if(m(a),a.lookahead<la&&b===J)return ua;if(0===a.lookahead)break}if(c=0,a.lookahead>=ja&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+ja-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart),0!==c&&a.strstart-c<=a.w_size-la&&(a.match_length=l(a,c)),a.match_length>=ja)if(d=F._tr_tally(a,a.strstart-a.match_start,a.match_length-ja),a.lookahead-=a.match_length,a.match_length<=a.max_lazy_match&&a.lookahead>=ja){a.match_length--;do a.strstart++,a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+ja-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart;while(0!==--a.match_length);a.strstart++}else a.strstart+=a.match_length,a.match_length=0,a.ins_h=a.window[a.strstart],a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+1])&a.hash_mask;else d=F._tr_tally(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++;if(d&&(h(a,!1),0===a.strm.avail_out))return ua}return a.insert=a.strstart<ja-1?a.strstart:ja-1,b===M?(h(a,!0),0===a.strm.avail_out?wa:xa):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?ua:va}function p(a,b){for(var c,d,e;;){if(a.lookahead<la){if(m(a),a.lookahead<la&&b===J)return ua;if(0===a.lookahead)break}if(c=0,a.lookahead>=ja&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+ja-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart),a.prev_length=a.match_length,a.prev_match=a.match_start,a.match_length=ja-1,0!==c&&a.prev_length<a.max_lazy_match&&a.strstart-c<=a.w_size-la&&(a.match_length=l(a,c),a.match_length<=5&&(a.strategy===U||a.match_length===ja&&a.strstart-a.match_start>4096)&&(a.match_length=ja-1)),a.prev_length>=ja&&a.match_length<=a.prev_length){e=a.strstart+a.lookahead-ja,d=F._tr_tally(a,a.strstart-1-a.prev_match,a.prev_length-ja),a.lookahead-=a.prev_length-1,a.prev_length-=2;do++a.strstart<=e&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+ja-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart);while(0!==--a.prev_length);if(a.match_available=0,a.match_length=ja-1,a.strstart++,d&&(h(a,!1),0===a.strm.avail_out))return ua}else if(a.match_available){if(d=F._tr_tally(a,0,a.window[a.strstart-1]),d&&h(a,!1),a.strstart++,a.lookahead--,0===a.strm.avail_out)return ua}else a.match_available=1,a.strstart++,a.lookahead--}return a.match_available&&(d=F._tr_tally(a,0,a.window[a.strstart-1]),a.match_available=0),a.insert=a.strstart<ja-1?a.strstart:ja-1,b===M?(h(a,!0),0===a.strm.avail_out?wa:xa):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?ua:va}function q(a,b){for(var c,d,e,f,g=a.window;;){if(a.lookahead<=ka){if(m(a),a.lookahead<=ka&&b===J)return ua;if(0===a.lookahead)break}if(a.match_length=0,a.lookahead>=ja&&a.strstart>0&&(e=a.strstart-1,d=g[e],d===g[++e]&&d===g[++e]&&d===g[++e])){f=a.strstart+ka;do;while(d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&e<f);a.match_length=ka-(f-e),a.match_length>a.lookahead&&(a.match_length=a.lookahead)}if(a.match_length>=ja?(c=F._tr_tally(a,1,a.match_length-ja),a.lookahead-=a.match_length,a.strstart+=a.match_length,a.match_length=0):(c=F._tr_tally(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++),c&&(h(a,!1),0===a.strm.avail_out))return ua}return a.insert=0,b===M?(h(a,!0),0===a.strm.avail_out?wa:xa):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?ua:va}function r(a,b){for(var c;;){if(0===a.lookahead&&(m(a),0===a.lookahead)){if(b===J)return ua;break}if(a.match_length=0,c=F._tr_tally(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++,c&&(h(a,!1),0===a.strm.avail_out))return ua}return a.insert=0,b===M?(h(a,!0),0===a.strm.avail_out?wa:xa):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?ua:va}function s(a,b,c,d,e){this.good_length=a,this.max_lazy=b,this.nice_length=c,this.max_chain=d,this.func=e}function t(a){a.window_size=2*a.w_size,f(a.head),a.max_lazy_match=D[a.level].max_lazy,a.good_match=D[a.level].good_length,a.nice_match=D[a.level].nice_length,a.max_chain_length=D[a.level].max_chain,a.strstart=0,a.block_start=0,a.lookahead=0,a.insert=0,a.match_length=a.prev_length=ja-1,a.match_available=0,a.ins_h=0}function u(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=$,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new E.Buf16(2*ha),this.dyn_dtree=new E.Buf16(2*(2*fa+1)),this.bl_tree=new E.Buf16(2*(2*ga+1)),f(this.dyn_ltree),f(this.dyn_dtree),f(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new E.Buf16(ia+1),this.heap=new E.Buf16(2*ea+1),f(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new E.Buf16(2*ea+1),f(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function v(a){var b;return a&&a.state?(a.total_in=a.total_out=0,a.data_type=Z,b=a.state,b.pending=0,b.pending_out=0,b.wrap<0&&(b.wrap=-b.wrap),b.status=b.wrap?na:sa,a.adler=2===b.wrap?0:1,b.last_flush=J,F._tr_init(b),O):d(a,Q)}function w(a){var b=v(a);return b===O&&t(a.state),b}function x(a,b){return a&&a.state?2!==a.state.wrap?Q:(a.state.gzhead=b,O):Q}function y(a,b,c,e,f,g){if(!a)return Q;var h=1;if(b===T&&(b=6),e<0?(h=0,e=-e):e>15&&(h=2,e-=16),f<1||f>_||c!==$||e<8||e>15||b<0||b>9||g<0||g>X)return d(a,Q);8===e&&(e=9);var i=new u;return a.state=i,i.strm=a,i.wrap=h,i.gzhead=null,i.w_bits=e,i.w_size=1<<i.w_bits,i.w_mask=i.w_size-1,i.hash_bits=f+7,i.hash_size=1<<i.hash_bits,i.hash_mask=i.hash_size-1,i.hash_shift=~~((i.hash_bits+ja-1)/ja),i.window=new E.Buf8(2*i.w_size),i.head=new E.Buf16(i.hash_size),i.prev=new E.Buf16(i.w_size),i.lit_bufsize=1<<f+6,i.pending_buf_size=4*i.lit_bufsize,i.pending_buf=new E.Buf8(i.pending_buf_size),i.d_buf=1*i.lit_bufsize,i.l_buf=3*i.lit_bufsize,i.level=b,i.strategy=g,i.method=c,w(a)}function z(a,b){return y(a,b,$,aa,ba,Y)}function A(a,b){var c,h,k,l;if(!a||!a.state||b>N||b<0)return a?d(a,Q):Q;if(h=a.state,!a.output||!a.input&&0!==a.avail_in||h.status===ta&&b!==M)return d(a,0===a.avail_out?S:Q);if(h.strm=a,c=h.last_flush,h.last_flush=b,h.status===na)if(2===h.wrap)a.adler=0,i(h,31),i(h,139),i(h,8),h.gzhead?(i(h,(h.gzhead.text?1:0)+(h.gzhead.hcrc?2:0)+(h.gzhead.extra?4:0)+(h.gzhead.name?8:0)+(h.gzhead.comment?16:0)),i(h,255&h.gzhead.time),i(h,h.gzhead.time>>8&255),i(h,h.gzhead.time>>16&255),i(h,h.gzhead.time>>24&255),i(h,9===h.level?2:h.strategy>=V||h.level<2?4:0),i(h,255&h.gzhead.os),h.gzhead.extra&&h.gzhead.extra.length&&(i(h,255&h.gzhead.extra.length),i(h,h.gzhead.extra.length>>8&255)),h.gzhead.hcrc&&(a.adler=H(a.adler,h.pending_buf,h.pending,0)),h.gzindex=0,h.status=oa):(i(h,0),i(h,0),i(h,0),i(h,0),i(h,0),i(h,9===h.level?2:h.strategy>=V||h.level<2?4:0),i(h,ya),h.status=sa);else{var m=$+(h.w_bits-8<<4)<<8,n=-1;n=h.strategy>=V||h.level<2?0:h.level<6?1:6===h.level?2:3,m|=n<<6,0!==h.strstart&&(m|=ma),m+=31-m%31,h.status=sa,j(h,m),0!==h.strstart&&(j(h,a.adler>>>16),j(h,65535&a.adler)),a.adler=1}if(h.status===oa)if(h.gzhead.extra){for(k=h.pending;h.gzindex<(65535&h.gzhead.extra.length)&&(h.pending!==h.pending_buf_size||(h.gzhead.hcrc&&h.pending>k&&(a.adler=H(a.adler,h.pending_buf,h.pending-k,k)),g(a),k=h.pending,h.pending!==h.pending_buf_size));)i(h,255&h.gzhead.extra[h.gzindex]),h.gzindex++;h.gzhead.hcrc&&h.pending>k&&(a.adler=H(a.adler,h.pending_buf,h.pending-k,k)),h.gzindex===h.gzhead.extra.length&&(h.gzindex=0,h.status=pa)}else h.status=pa;if(h.status===pa)if(h.gzhead.name){k=h.pending;do{if(h.pending===h.pending_buf_size&&(h.gzhead.hcrc&&h.pending>k&&(a.adler=H(a.adler,h.pending_buf,h.pending-k,k)),g(a),k=h.pending,h.pending===h.pending_buf_size)){l=1;break}l=h.gzindex<h.gzhead.name.length?255&h.gzhead.name.charCodeAt(h.gzindex++):0,i(h,l)}while(0!==l);h.gzhead.hcrc&&h.pending>k&&(a.adler=H(a.adler,h.pending_buf,h.pending-k,k)),0===l&&(h.gzindex=0,h.status=qa)}else h.status=qa;if(h.status===qa)if(h.gzhead.comment){k=h.pending;do{if(h.pending===h.pending_buf_size&&(h.gzhead.hcrc&&h.pending>k&&(a.adler=H(a.adler,h.pending_buf,h.pending-k,k)),g(a),k=h.pending,h.pending===h.pending_buf_size)){l=1;break}l=h.gzindex<h.gzhead.comment.length?255&h.gzhead.comment.charCodeAt(h.gzindex++):0,i(h,l)}while(0!==l);h.gzhead.hcrc&&h.pending>k&&(a.adler=H(a.adler,h.pending_buf,h.pending-k,k)),0===l&&(h.status=ra)}else h.status=ra;if(h.status===ra&&(h.gzhead.hcrc?(h.pending+2>h.pending_buf_size&&g(a),h.pending+2<=h.pending_buf_size&&(i(h,255&a.adler),i(h,a.adler>>8&255),a.adler=0,h.status=sa)):h.status=sa),0!==h.pending){if(g(a),0===a.avail_out)return h.last_flush=-1,O}else if(0===a.avail_in&&e(b)<=e(c)&&b!==M)return d(a,S);if(h.status===ta&&0!==a.avail_in)return d(a,S);if(0!==a.avail_in||0!==h.lookahead||b!==J&&h.status!==ta){var o=h.strategy===V?r(h,b):h.strategy===W?q(h,b):D[h.level].func(h,b);if(o!==wa&&o!==xa||(h.status=ta),o===ua||o===wa)return 0===a.avail_out&&(h.last_flush=-1),O;if(o===va&&(b===K?F._tr_align(h):b!==N&&(F._tr_stored_block(h,0,0,!1),b===L&&(f(h.head),0===h.lookahead&&(h.strstart=0,h.block_start=0,h.insert=0))),g(a),0===a.avail_out))return h.last_flush=-1,O}return b!==M?O:h.wrap<=0?P:(2===h.wrap?(i(h,255&a.adler),i(h,a.adler>>8&255),i(h,a.adler>>16&255),i(h,a.adler>>24&255),i(h,255&a.total_in),i(h,a.total_in>>8&255),i(h,a.total_in>>16&255),i(h,a.total_in>>24&255)):(j(h,a.adler>>>16),j(h,65535&a.adler)),g(a),h.wrap>0&&(h.wrap=-h.wrap),0!==h.pending?O:P)}function B(a){var b;return a&&a.state?(b=a.state.status,b!==na&&b!==oa&&b!==pa&&b!==qa&&b!==ra&&b!==sa&&b!==ta?d(a,Q):(a.state=null,b===sa?d(a,R):O)):Q}function C(a,b){var c,d,e,g,h,i,j,k,l=b.length;if(!a||!a.state)return Q;if(c=a.state,g=c.wrap,2===g||1===g&&c.status!==na||c.lookahead)return Q;for(1===g&&(a.adler=G(a.adler,b,l,0)),c.wrap=0,l>=c.w_size&&(0===g&&(f(c.head),c.strstart=0,c.block_start=0,c.insert=0),k=new E.Buf8(c.w_size),E.arraySet(k,b,l-c.w_size,c.w_size,0),b=k,l=c.w_size),h=a.avail_in,i=a.next_in,j=a.input,a.avail_in=l,a.next_in=0,a.input=b,m(c);c.lookahead>=ja;){d=c.strstart,e=c.lookahead-(ja-1);do c.ins_h=(c.ins_h<<c.hash_shift^c.window[d+ja-1])&c.hash_mask,c.prev[d&c.w_mask]=c.head[c.ins_h],c.head[c.ins_h]=d,d++;while(--e);c.strstart=d,c.lookahead=ja-1,m(c)}return c.strstart+=c.lookahead,c.block_start=c.strstart,c.insert=c.lookahead,c.lookahead=0,c.match_length=c.prev_length=ja-1,c.match_available=0,a.next_in=i,a.input=j,a.avail_in=h,c.wrap=g,O}var D,E=a(\"../utils/common\"),F=a(\"./trees\"),G=a(\"./adler32\"),H=a(\"./crc32\"),I=a(\"./messages\"),J=0,K=1,L=3,M=4,N=5,O=0,P=1,Q=-2,R=-3,S=-5,T=-1,U=1,V=2,W=3,X=4,Y=0,Z=2,$=8,_=9,aa=15,ba=8,ca=29,da=256,ea=da+1+ca,fa=30,ga=19,ha=2*ea+1,ia=15,ja=3,ka=258,la=ka+ja+1,ma=32,na=42,oa=69,pa=73,qa=91,ra=103,sa=113,ta=666,ua=1,va=2,wa=3,xa=4,ya=3;D=[new s(0,0,0,0,n),new s(4,4,8,4,o),new s(4,5,16,8,o),new s(4,6,32,32,o),new s(4,4,16,16,p),new s(8,16,32,32,p),new s(8,16,128,128,p),new s(8,32,128,256,p),new s(32,128,258,1024,p),new s(32,258,258,4096,p)],c.deflateInit=z,c.deflateInit2=y,c.deflateReset=w,c.deflateResetKeep=v,c.deflateSetHeader=x,c.deflate=A,c.deflateEnd=B,c.deflateSetDictionary=C,c.deflateInfo=\"pako deflate (from Nodeca project)\"},{\"../utils/common\":28,\"./adler32\":30,\"./crc32\":32,\"./messages\":38,\"./trees\":39}],34:[function(a,b,c){\"use strict\";function d(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name=\"\",this.comment=\"\",this.hcrc=0,this.done=!1}b.exports=d},{}],35:[function(a,b,c){\"use strict\";var d=30,e=12;b.exports=function(a,b){var c,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C;c=a.state,f=a.next_in,B=a.input,g=f+(a.avail_in-5),h=a.next_out,C=a.output,i=h-(b-a.avail_out),j=h+(a.avail_out-257),k=c.dmax,l=c.wsize,m=c.whave,n=c.wnext,o=c.window,p=c.hold,q=c.bits,r=c.lencode,s=c.distcode,t=(1<<c.lenbits)-1,u=(1<<c.distbits)-1;a:do{q<15&&(p+=B[f++]<<q,q+=8,p+=B[f++]<<q,q+=8),v=r[p&t];b:for(;;){if(w=v>>>24,p>>>=w,q-=w,w=v>>>16&255,0===w)C[h++]=65535&v;else{if(!(16&w)){if(0===(64&w)){v=r[(65535&v)+(p&(1<<w)-1)];continue b}if(32&w){c.mode=e;break a}a.msg=\"invalid literal/length code\",c.mode=d;break a}x=65535&v,w&=15,w&&(q<w&&(p+=B[f++]<<q,q+=8),x+=p&(1<<w)-1,p>>>=w,q-=w),q<15&&(p+=B[f++]<<q,q+=8,p+=B[f++]<<q,q+=8),v=s[p&u];c:for(;;){if(w=v>>>24,p>>>=w,q-=w,w=v>>>16&255,!(16&w)){if(0===(64&w)){v=s[(65535&v)+(p&(1<<w)-1)];continue c}a.msg=\"invalid distance code\",c.mode=d;break a}if(y=65535&v,w&=15,q<w&&(p+=B[f++]<<q,q+=8,q<w&&(p+=B[f++]<<q,q+=8)),y+=p&(1<<w)-1,y>k){a.msg=\"invalid distance too far back\",c.mode=d;break a}if(p>>>=w,q-=w,w=h-i,y>w){if(w=y-w,w>m&&c.sane){a.msg=\"invalid distance too far back\",c.mode=d;break a}if(z=0,A=o,0===n){if(z+=l-w,w<x){x-=w;do C[h++]=o[z++];while(--w);z=h-y,A=C}}else if(n<w){if(z+=l+n-w,w-=n,w<x){x-=w;do C[h++]=o[z++];while(--w);if(z=0,n<x){w=n,x-=w;do C[h++]=o[z++];while(--w);z=h-y,A=C}}}else if(z+=n-w,w<x){x-=w;do C[h++]=o[z++];while(--w);z=h-y,A=C}for(;x>2;)C[h++]=A[z++],C[h++]=A[z++],C[h++]=A[z++],x-=3;x&&(C[h++]=A[z++],x>1&&(C[h++]=A[z++]))}else{z=h-y;do C[h++]=C[z++],C[h++]=C[z++],C[h++]=C[z++],x-=3;while(x>2);x&&(C[h++]=C[z++],x>1&&(C[h++]=C[z++]))}break}}break}}while(f<g&&h<j);x=q>>3,f-=x,q-=x<<3,p&=(1<<q)-1,a.next_in=f,a.next_out=h,a.avail_in=f<g?5+(g-f):5-(f-g),a.avail_out=h<j?257+(j-h):257-(h-j),c.hold=p,c.bits=q}},{}],36:[function(a,b,c){\"use strict\";function d(a){return(a>>>24&255)+(a>>>8&65280)+((65280&a)<<8)+((255&a)<<24)}function e(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new s.Buf16(320),this.work=new s.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function f(a){var b;return a&&a.state?(b=a.state,a.total_in=a.total_out=b.total=0,a.msg=\"\",b.wrap&&(a.adler=1&b.wrap),b.mode=L,b.last=0,b.havedict=0,b.dmax=32768,b.head=null,b.hold=0,b.bits=0,b.lencode=b.lendyn=new s.Buf32(pa),b.distcode=b.distdyn=new s.Buf32(qa),b.sane=1,b.back=-1,D):G}function g(a){var b;return a&&a.state?(b=a.state,b.wsize=0,b.whave=0,b.wnext=0,f(a)):G}function h(a,b){var c,d;return a&&a.state?(d=a.state,b<0?(c=0,b=-b):(c=(b>>4)+1,b<48&&(b&=15)),b&&(b<8||b>15)?G:(null!==d.window&&d.wbits!==b&&(d.window=null),d.wrap=c,d.wbits=b,g(a))):G}function i(a,b){var c,d;return a?(d=new e,a.state=d,d.window=null,c=h(a,b),c!==D&&(a.state=null),c):G}function j(a){return i(a,sa)}function k(a){if(ta){var b;for(q=new s.Buf32(512),r=new s.Buf32(32),b=0;b<144;)a.lens[b++]=8;for(;b<256;)a.lens[b++]=9;for(;b<280;)a.lens[b++]=7;for(;b<288;)a.lens[b++]=8;for(w(y,a.lens,0,288,q,0,a.work,{bits:9}),b=0;b<32;)a.lens[b++]=5;w(z,a.lens,0,32,r,0,a.work,{bits:5}),ta=!1}a.lencode=q,a.lenbits=9,a.distcode=r,a.distbits=5}function l(a,b,c,d){var e,f=a.state;return null===f.window&&(f.wsize=1<<f.wbits,f.wnext=0,f.whave=0,f.window=new s.Buf8(f.wsize)),d>=f.wsize?(s.arraySet(f.window,b,c-f.wsize,f.wsize,0),f.wnext=0,f.whave=f.wsize):(e=f.wsize-f.wnext,e>d&&(e=d),s.arraySet(f.window,b,c-d,e,f.wnext),d-=e,d?(s.arraySet(f.window,b,c-d,d,0),f.wnext=d,f.whave=f.wsize):(f.wnext+=e,f.wnext===f.wsize&&(f.wnext=0),f.whave<f.wsize&&(f.whave+=e))),0}function m(a,b){var c,e,f,g,h,i,j,m,n,o,p,q,r,pa,qa,ra,sa,ta,ua,va,wa,xa,ya,za,Aa=0,Ba=new s.Buf8(4),Ca=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!a||!a.state||!a.output||!a.input&&0!==a.avail_in)return G;c=a.state,c.mode===W&&(c.mode=X),h=a.next_out,f=a.output,j=a.avail_out,g=a.next_in,e=a.input,i=a.avail_in,m=c.hold,n=c.bits,o=i,p=j,xa=D;a:for(;;)switch(c.mode){case L:if(0===c.wrap){c.mode=X;break}for(;n<16;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(2&c.wrap&&35615===m){c.check=0,Ba[0]=255&m,Ba[1]=m>>>8&255,c.check=u(c.check,Ba,2,0),m=0,n=0,c.mode=M;break}if(c.flags=0,c.head&&(c.head.done=!1),!(1&c.wrap)||(((255&m)<<8)+(m>>8))%31){a.msg=\"incorrect header check\",c.mode=ma;break}if((15&m)!==K){a.msg=\"unknown compression method\",c.mode=ma;break}if(m>>>=4,n-=4,wa=(15&m)+8,0===c.wbits)c.wbits=wa;else if(wa>c.wbits){a.msg=\"invalid window size\",c.mode=ma;break}c.dmax=1<<wa,a.adler=c.check=1,c.mode=512&m?U:W,m=0,n=0;break;case M:for(;n<16;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(c.flags=m,(255&c.flags)!==K){a.msg=\"unknown compression method\",c.mode=ma;break}if(57344&c.flags){a.msg=\"unknown header flags set\",c.mode=ma;break}c.head&&(c.head.text=m>>8&1),512&c.flags&&(Ba[0]=255&m,Ba[1]=m>>>8&255,c.check=u(c.check,Ba,2,0)),m=0,n=0,c.mode=N;case N:for(;n<32;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.head&&(c.head.time=m),512&c.flags&&(Ba[0]=255&m,Ba[1]=m>>>8&255,Ba[2]=m>>>16&255,Ba[3]=m>>>24&255,c.check=u(c.check,Ba,4,0)),m=0,n=0,c.mode=O;case O:for(;n<16;){if(0===i)break a;i--,m+=e[g++]<<n,\nn+=8}c.head&&(c.head.xflags=255&m,c.head.os=m>>8),512&c.flags&&(Ba[0]=255&m,Ba[1]=m>>>8&255,c.check=u(c.check,Ba,2,0)),m=0,n=0,c.mode=P;case P:if(1024&c.flags){for(;n<16;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.length=m,c.head&&(c.head.extra_len=m),512&c.flags&&(Ba[0]=255&m,Ba[1]=m>>>8&255,c.check=u(c.check,Ba,2,0)),m=0,n=0}else c.head&&(c.head.extra=null);c.mode=Q;case Q:if(1024&c.flags&&(q=c.length,q>i&&(q=i),q&&(c.head&&(wa=c.head.extra_len-c.length,c.head.extra||(c.head.extra=new Array(c.head.extra_len)),s.arraySet(c.head.extra,e,g,q,wa)),512&c.flags&&(c.check=u(c.check,e,q,g)),i-=q,g+=q,c.length-=q),c.length))break a;c.length=0,c.mode=R;case R:if(2048&c.flags){if(0===i)break a;q=0;do wa=e[g+q++],c.head&&wa&&c.length<65536&&(c.head.name+=String.fromCharCode(wa));while(wa&&q<i);if(512&c.flags&&(c.check=u(c.check,e,q,g)),i-=q,g+=q,wa)break a}else c.head&&(c.head.name=null);c.length=0,c.mode=S;case S:if(4096&c.flags){if(0===i)break a;q=0;do wa=e[g+q++],c.head&&wa&&c.length<65536&&(c.head.comment+=String.fromCharCode(wa));while(wa&&q<i);if(512&c.flags&&(c.check=u(c.check,e,q,g)),i-=q,g+=q,wa)break a}else c.head&&(c.head.comment=null);c.mode=T;case T:if(512&c.flags){for(;n<16;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(m!==(65535&c.check)){a.msg=\"header crc mismatch\",c.mode=ma;break}m=0,n=0}c.head&&(c.head.hcrc=c.flags>>9&1,c.head.done=!0),a.adler=c.check=0,c.mode=W;break;case U:for(;n<32;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}a.adler=c.check=d(m),m=0,n=0,c.mode=V;case V:if(0===c.havedict)return a.next_out=h,a.avail_out=j,a.next_in=g,a.avail_in=i,c.hold=m,c.bits=n,F;a.adler=c.check=1,c.mode=W;case W:if(b===B||b===C)break a;case X:if(c.last){m>>>=7&n,n-=7&n,c.mode=ja;break}for(;n<3;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}switch(c.last=1&m,m>>>=1,n-=1,3&m){case 0:c.mode=Y;break;case 1:if(k(c),c.mode=ca,b===C){m>>>=2,n-=2;break a}break;case 2:c.mode=_;break;case 3:a.msg=\"invalid block type\",c.mode=ma}m>>>=2,n-=2;break;case Y:for(m>>>=7&n,n-=7&n;n<32;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if((65535&m)!==(m>>>16^65535)){a.msg=\"invalid stored block lengths\",c.mode=ma;break}if(c.length=65535&m,m=0,n=0,c.mode=Z,b===C)break a;case Z:c.mode=$;case $:if(q=c.length){if(q>i&&(q=i),q>j&&(q=j),0===q)break a;s.arraySet(f,e,g,q,h),i-=q,g+=q,j-=q,h+=q,c.length-=q;break}c.mode=W;break;case _:for(;n<14;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(c.nlen=(31&m)+257,m>>>=5,n-=5,c.ndist=(31&m)+1,m>>>=5,n-=5,c.ncode=(15&m)+4,m>>>=4,n-=4,c.nlen>286||c.ndist>30){a.msg=\"too many length or distance symbols\",c.mode=ma;break}c.have=0,c.mode=aa;case aa:for(;c.have<c.ncode;){for(;n<3;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.lens[Ca[c.have++]]=7&m,m>>>=3,n-=3}for(;c.have<19;)c.lens[Ca[c.have++]]=0;if(c.lencode=c.lendyn,c.lenbits=7,ya={bits:c.lenbits},xa=w(x,c.lens,0,19,c.lencode,0,c.work,ya),c.lenbits=ya.bits,xa){a.msg=\"invalid code lengths set\",c.mode=ma;break}c.have=0,c.mode=ba;case ba:for(;c.have<c.nlen+c.ndist;){for(;Aa=c.lencode[m&(1<<c.lenbits)-1],qa=Aa>>>24,ra=Aa>>>16&255,sa=65535&Aa,!(qa<=n);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(sa<16)m>>>=qa,n-=qa,c.lens[c.have++]=sa;else{if(16===sa){for(za=qa+2;n<za;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(m>>>=qa,n-=qa,0===c.have){a.msg=\"invalid bit length repeat\",c.mode=ma;break}wa=c.lens[c.have-1],q=3+(3&m),m>>>=2,n-=2}else if(17===sa){for(za=qa+3;n<za;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=qa,n-=qa,wa=0,q=3+(7&m),m>>>=3,n-=3}else{for(za=qa+7;n<za;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=qa,n-=qa,wa=0,q=11+(127&m),m>>>=7,n-=7}if(c.have+q>c.nlen+c.ndist){a.msg=\"invalid bit length repeat\",c.mode=ma;break}for(;q--;)c.lens[c.have++]=wa}}if(c.mode===ma)break;if(0===c.lens[256]){a.msg=\"invalid code -- missing end-of-block\",c.mode=ma;break}if(c.lenbits=9,ya={bits:c.lenbits},xa=w(y,c.lens,0,c.nlen,c.lencode,0,c.work,ya),c.lenbits=ya.bits,xa){a.msg=\"invalid literal/lengths set\",c.mode=ma;break}if(c.distbits=6,c.distcode=c.distdyn,ya={bits:c.distbits},xa=w(z,c.lens,c.nlen,c.ndist,c.distcode,0,c.work,ya),c.distbits=ya.bits,xa){a.msg=\"invalid distances set\",c.mode=ma;break}if(c.mode=ca,b===C)break a;case ca:c.mode=da;case da:if(i>=6&&j>=258){a.next_out=h,a.avail_out=j,a.next_in=g,a.avail_in=i,c.hold=m,c.bits=n,v(a,p),h=a.next_out,f=a.output,j=a.avail_out,g=a.next_in,e=a.input,i=a.avail_in,m=c.hold,n=c.bits,c.mode===W&&(c.back=-1);break}for(c.back=0;Aa=c.lencode[m&(1<<c.lenbits)-1],qa=Aa>>>24,ra=Aa>>>16&255,sa=65535&Aa,!(qa<=n);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(ra&&0===(240&ra)){for(ta=qa,ua=ra,va=sa;Aa=c.lencode[va+((m&(1<<ta+ua)-1)>>ta)],qa=Aa>>>24,ra=Aa>>>16&255,sa=65535&Aa,!(ta+qa<=n);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=ta,n-=ta,c.back+=ta}if(m>>>=qa,n-=qa,c.back+=qa,c.length=sa,0===ra){c.mode=ia;break}if(32&ra){c.back=-1,c.mode=W;break}if(64&ra){a.msg=\"invalid literal/length code\",c.mode=ma;break}c.extra=15&ra,c.mode=ea;case ea:if(c.extra){for(za=c.extra;n<za;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.length+=m&(1<<c.extra)-1,m>>>=c.extra,n-=c.extra,c.back+=c.extra}c.was=c.length,c.mode=fa;case fa:for(;Aa=c.distcode[m&(1<<c.distbits)-1],qa=Aa>>>24,ra=Aa>>>16&255,sa=65535&Aa,!(qa<=n);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(0===(240&ra)){for(ta=qa,ua=ra,va=sa;Aa=c.distcode[va+((m&(1<<ta+ua)-1)>>ta)],qa=Aa>>>24,ra=Aa>>>16&255,sa=65535&Aa,!(ta+qa<=n);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=ta,n-=ta,c.back+=ta}if(m>>>=qa,n-=qa,c.back+=qa,64&ra){a.msg=\"invalid distance code\",c.mode=ma;break}c.offset=sa,c.extra=15&ra,c.mode=ga;case ga:if(c.extra){for(za=c.extra;n<za;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.offset+=m&(1<<c.extra)-1,m>>>=c.extra,n-=c.extra,c.back+=c.extra}if(c.offset>c.dmax){a.msg=\"invalid distance too far back\",c.mode=ma;break}c.mode=ha;case ha:if(0===j)break a;if(q=p-j,c.offset>q){if(q=c.offset-q,q>c.whave&&c.sane){a.msg=\"invalid distance too far back\",c.mode=ma;break}q>c.wnext?(q-=c.wnext,r=c.wsize-q):r=c.wnext-q,q>c.length&&(q=c.length),pa=c.window}else pa=f,r=h-c.offset,q=c.length;q>j&&(q=j),j-=q,c.length-=q;do f[h++]=pa[r++];while(--q);0===c.length&&(c.mode=da);break;case ia:if(0===j)break a;f[h++]=c.length,j--,c.mode=da;break;case ja:if(c.wrap){for(;n<32;){if(0===i)break a;i--,m|=e[g++]<<n,n+=8}if(p-=j,a.total_out+=p,c.total+=p,p&&(a.adler=c.check=c.flags?u(c.check,f,p,h-p):t(c.check,f,p,h-p)),p=j,(c.flags?m:d(m))!==c.check){a.msg=\"incorrect data check\",c.mode=ma;break}m=0,n=0}c.mode=ka;case ka:if(c.wrap&&c.flags){for(;n<32;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(m!==(4294967295&c.total)){a.msg=\"incorrect length check\",c.mode=ma;break}m=0,n=0}c.mode=la;case la:xa=E;break a;case ma:xa=H;break a;case na:return I;case oa:default:return G}return a.next_out=h,a.avail_out=j,a.next_in=g,a.avail_in=i,c.hold=m,c.bits=n,(c.wsize||p!==a.avail_out&&c.mode<ma&&(c.mode<ja||b!==A))&&l(a,a.output,a.next_out,p-a.avail_out)?(c.mode=na,I):(o-=a.avail_in,p-=a.avail_out,a.total_in+=o,a.total_out+=p,c.total+=p,c.wrap&&p&&(a.adler=c.check=c.flags?u(c.check,f,p,a.next_out-p):t(c.check,f,p,a.next_out-p)),a.data_type=c.bits+(c.last?64:0)+(c.mode===W?128:0)+(c.mode===ca||c.mode===Z?256:0),(0===o&&0===p||b===A)&&xa===D&&(xa=J),xa)}function n(a){if(!a||!a.state)return G;var b=a.state;return b.window&&(b.window=null),a.state=null,D}function o(a,b){var c;return a&&a.state?(c=a.state,0===(2&c.wrap)?G:(c.head=b,b.done=!1,D)):G}function p(a,b){var c,d,e,f=b.length;return a&&a.state?(c=a.state,0!==c.wrap&&c.mode!==V?G:c.mode===V&&(d=1,d=t(d,b,f,0),d!==c.check)?H:(e=l(a,b,f,f))?(c.mode=na,I):(c.havedict=1,D)):G}var q,r,s=a(\"../utils/common\"),t=a(\"./adler32\"),u=a(\"./crc32\"),v=a(\"./inffast\"),w=a(\"./inftrees\"),x=0,y=1,z=2,A=4,B=5,C=6,D=0,E=1,F=2,G=-2,H=-3,I=-4,J=-5,K=8,L=1,M=2,N=3,O=4,P=5,Q=6,R=7,S=8,T=9,U=10,V=11,W=12,X=13,Y=14,Z=15,$=16,_=17,aa=18,ba=19,ca=20,da=21,ea=22,fa=23,ga=24,ha=25,ia=26,ja=27,ka=28,la=29,ma=30,na=31,oa=32,pa=852,qa=592,ra=15,sa=ra,ta=!0;c.inflateReset=g,c.inflateReset2=h,c.inflateResetKeep=f,c.inflateInit=j,c.inflateInit2=i,c.inflate=m,c.inflateEnd=n,c.inflateGetHeader=o,c.inflateSetDictionary=p,c.inflateInfo=\"pako inflate (from Nodeca project)\"},{\"../utils/common\":28,\"./adler32\":30,\"./crc32\":32,\"./inffast\":35,\"./inftrees\":37}],37:[function(a,b,c){\"use strict\";var d=a(\"../utils/common\"),e=15,f=852,g=592,h=0,i=1,j=2,k=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],l=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],m=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],n=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];b.exports=function(a,b,c,o,p,q,r,s){var t,u,v,w,x,y,z,A,B,C=s.bits,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=null,O=0,P=new d.Buf16(e+1),Q=new d.Buf16(e+1),R=null,S=0;for(D=0;D<=e;D++)P[D]=0;for(E=0;E<o;E++)P[b[c+E]]++;for(H=C,G=e;G>=1&&0===P[G];G--);if(H>G&&(H=G),0===G)return p[q++]=20971520,p[q++]=20971520,s.bits=1,0;for(F=1;F<G&&0===P[F];F++);for(H<F&&(H=F),K=1,D=1;D<=e;D++)if(K<<=1,K-=P[D],K<0)return-1;if(K>0&&(a===h||1!==G))return-1;for(Q[1]=0,D=1;D<e;D++)Q[D+1]=Q[D]+P[D];for(E=0;E<o;E++)0!==b[c+E]&&(r[Q[b[c+E]]++]=E);if(a===h?(N=R=r,y=19):a===i?(N=k,O-=257,R=l,S-=257,y=256):(N=m,R=n,y=-1),M=0,E=0,D=F,x=q,I=H,J=0,v=-1,L=1<<H,w=L-1,a===i&&L>f||a===j&&L>g)return 1;for(var T=0;;){T++,z=D-J,r[E]<y?(A=0,B=r[E]):r[E]>y?(A=R[S+r[E]],B=N[O+r[E]]):(A=96,B=0),t=1<<D-J,u=1<<I,F=u;do u-=t,p[x+(M>>J)+u]=z<<24|A<<16|B|0;while(0!==u);for(t=1<<D-1;M&t;)t>>=1;if(0!==t?(M&=t-1,M+=t):M=0,E++,0===--P[D]){if(D===G)break;D=b[c+r[E]]}if(D>H&&(M&w)!==v){for(0===J&&(J=H),x+=F,I=D-J,K=1<<I;I+J<G&&(K-=P[I+J],!(K<=0));)I++,K<<=1;if(L+=1<<I,a===i&&L>f||a===j&&L>g)return 1;v=M&w,p[v]=H<<24|I<<16|x-q|0}}return 0!==M&&(p[x+M]=D-J<<24|64<<16|0),s.bits=H,0}},{\"../utils/common\":28}],38:[function(a,b,c){\"use strict\";b.exports={2:\"need dictionary\",1:\"stream end\",0:\"\",\"-1\":\"file error\",\"-2\":\"stream error\",\"-3\":\"data error\",\"-4\":\"insufficient memory\",\"-5\":\"buffer error\",\"-6\":\"incompatible version\"}},{}],39:[function(a,b,c){\"use strict\";function d(a){for(var b=a.length;--b>=0;)a[b]=0}function e(a,b,c,d,e){this.static_tree=a,this.extra_bits=b,this.extra_base=c,this.elems=d,this.max_length=e,this.has_stree=a&&a.length}function f(a,b){this.dyn_tree=a,this.max_code=0,this.stat_desc=b}function g(a){return a<256?ia[a]:ia[256+(a>>>7)]}function h(a,b){a.pending_buf[a.pending++]=255&b,a.pending_buf[a.pending++]=b>>>8&255}function i(a,b,c){a.bi_valid>X-c?(a.bi_buf|=b<<a.bi_valid&65535,h(a,a.bi_buf),a.bi_buf=b>>X-a.bi_valid,a.bi_valid+=c-X):(a.bi_buf|=b<<a.bi_valid&65535,a.bi_valid+=c)}function j(a,b,c){i(a,c[2*b],c[2*b+1])}function k(a,b){var c=0;do c|=1&a,a>>>=1,c<<=1;while(--b>0);return c>>>1}function l(a){16===a.bi_valid?(h(a,a.bi_buf),a.bi_buf=0,a.bi_valid=0):a.bi_valid>=8&&(a.pending_buf[a.pending++]=255&a.bi_buf,a.bi_buf>>=8,a.bi_valid-=8)}function m(a,b){var c,d,e,f,g,h,i=b.dyn_tree,j=b.max_code,k=b.stat_desc.static_tree,l=b.stat_desc.has_stree,m=b.stat_desc.extra_bits,n=b.stat_desc.extra_base,o=b.stat_desc.max_length,p=0;for(f=0;f<=W;f++)a.bl_count[f]=0;for(i[2*a.heap[a.heap_max]+1]=0,c=a.heap_max+1;c<V;c++)d=a.heap[c],f=i[2*i[2*d+1]+1]+1,f>o&&(f=o,p++),i[2*d+1]=f,d>j||(a.bl_count[f]++,g=0,d>=n&&(g=m[d-n]),h=i[2*d],a.opt_len+=h*(f+g),l&&(a.static_len+=h*(k[2*d+1]+g)));if(0!==p){do{for(f=o-1;0===a.bl_count[f];)f--;a.bl_count[f]--,a.bl_count[f+1]+=2,a.bl_count[o]--,p-=2}while(p>0);for(f=o;0!==f;f--)for(d=a.bl_count[f];0!==d;)e=a.heap[--c],e>j||(i[2*e+1]!==f&&(a.opt_len+=(f-i[2*e+1])*i[2*e],i[2*e+1]=f),d--)}}function n(a,b,c){var d,e,f=new Array(W+1),g=0;for(d=1;d<=W;d++)f[d]=g=g+c[d-1]<<1;for(e=0;e<=b;e++){var h=a[2*e+1];0!==h&&(a[2*e]=k(f[h]++,h))}}function o(){var a,b,c,d,f,g=new Array(W+1);for(c=0,d=0;d<Q-1;d++)for(ka[d]=c,a=0;a<1<<ba[d];a++)ja[c++]=d;for(ja[c-1]=d,f=0,d=0;d<16;d++)for(la[d]=f,a=0;a<1<<ca[d];a++)ia[f++]=d;for(f>>=7;d<T;d++)for(la[d]=f<<7,a=0;a<1<<ca[d]-7;a++)ia[256+f++]=d;for(b=0;b<=W;b++)g[b]=0;for(a=0;a<=143;)ga[2*a+1]=8,a++,g[8]++;for(;a<=255;)ga[2*a+1]=9,a++,g[9]++;for(;a<=279;)ga[2*a+1]=7,a++,g[7]++;for(;a<=287;)ga[2*a+1]=8,a++,g[8]++;for(n(ga,S+1,g),a=0;a<T;a++)ha[2*a+1]=5,ha[2*a]=k(a,5);ma=new e(ga,ba,R+1,S,W),na=new e(ha,ca,0,T,W),oa=new e(new Array(0),da,0,U,Y)}function p(a){var b;for(b=0;b<S;b++)a.dyn_ltree[2*b]=0;for(b=0;b<T;b++)a.dyn_dtree[2*b]=0;for(b=0;b<U;b++)a.bl_tree[2*b]=0;a.dyn_ltree[2*Z]=1,a.opt_len=a.static_len=0,a.last_lit=a.matches=0}function q(a){a.bi_valid>8?h(a,a.bi_buf):a.bi_valid>0&&(a.pending_buf[a.pending++]=a.bi_buf),a.bi_buf=0,a.bi_valid=0}function r(a,b,c,d){q(a),d&&(h(a,c),h(a,~c)),G.arraySet(a.pending_buf,a.window,b,c,a.pending),a.pending+=c}function s(a,b,c,d){var e=2*b,f=2*c;return a[e]<a[f]||a[e]===a[f]&&d[b]<=d[c]}function t(a,b,c){for(var d=a.heap[c],e=c<<1;e<=a.heap_len&&(e<a.heap_len&&s(b,a.heap[e+1],a.heap[e],a.depth)&&e++,!s(b,d,a.heap[e],a.depth));)a.heap[c]=a.heap[e],c=e,e<<=1;a.heap[c]=d}function u(a,b,c){var d,e,f,h,k=0;if(0!==a.last_lit)do d=a.pending_buf[a.d_buf+2*k]<<8|a.pending_buf[a.d_buf+2*k+1],e=a.pending_buf[a.l_buf+k],k++,0===d?j(a,e,b):(f=ja[e],j(a,f+R+1,b),h=ba[f],0!==h&&(e-=ka[f],i(a,e,h)),d--,f=g(d),j(a,f,c),h=ca[f],0!==h&&(d-=la[f],i(a,d,h)));while(k<a.last_lit);j(a,Z,b)}function v(a,b){var c,d,e,f=b.dyn_tree,g=b.stat_desc.static_tree,h=b.stat_desc.has_stree,i=b.stat_desc.elems,j=-1;for(a.heap_len=0,a.heap_max=V,c=0;c<i;c++)0!==f[2*c]?(a.heap[++a.heap_len]=j=c,a.depth[c]=0):f[2*c+1]=0;for(;a.heap_len<2;)e=a.heap[++a.heap_len]=j<2?++j:0,f[2*e]=1,a.depth[e]=0,a.opt_len--,h&&(a.static_len-=g[2*e+1]);for(b.max_code=j,c=a.heap_len>>1;c>=1;c--)t(a,f,c);e=i;do c=a.heap[1],a.heap[1]=a.heap[a.heap_len--],t(a,f,1),d=a.heap[1],a.heap[--a.heap_max]=c,a.heap[--a.heap_max]=d,f[2*e]=f[2*c]+f[2*d],a.depth[e]=(a.depth[c]>=a.depth[d]?a.depth[c]:a.depth[d])+1,f[2*c+1]=f[2*d+1]=e,a.heap[1]=e++,t(a,f,1);while(a.heap_len>=2);a.heap[--a.heap_max]=a.heap[1],m(a,b),n(f,j,a.bl_count)}function w(a,b,c){var d,e,f=-1,g=b[1],h=0,i=7,j=4;for(0===g&&(i=138,j=3),b[2*(c+1)+1]=65535,d=0;d<=c;d++)e=g,g=b[2*(d+1)+1],++h<i&&e===g||(h<j?a.bl_tree[2*e]+=h:0!==e?(e!==f&&a.bl_tree[2*e]++,a.bl_tree[2*$]++):h<=10?a.bl_tree[2*_]++:a.bl_tree[2*aa]++,h=0,f=e,0===g?(i=138,j=3):e===g?(i=6,j=3):(i=7,j=4))}function x(a,b,c){var d,e,f=-1,g=b[1],h=0,k=7,l=4;for(0===g&&(k=138,l=3),d=0;d<=c;d++)if(e=g,g=b[2*(d+1)+1],!(++h<k&&e===g)){if(h<l){do j(a,e,a.bl_tree);while(0!==--h)}else 0!==e?(e!==f&&(j(a,e,a.bl_tree),h--),j(a,$,a.bl_tree),i(a,h-3,2)):h<=10?(j(a,_,a.bl_tree),i(a,h-3,3)):(j(a,aa,a.bl_tree),i(a,h-11,7));h=0,f=e,0===g?(k=138,l=3):e===g?(k=6,l=3):(k=7,l=4)}}function y(a){var b;for(w(a,a.dyn_ltree,a.l_desc.max_code),w(a,a.dyn_dtree,a.d_desc.max_code),v(a,a.bl_desc),b=U-1;b>=3&&0===a.bl_tree[2*ea[b]+1];b--);return a.opt_len+=3*(b+1)+5+5+4,b}function z(a,b,c,d){var e;for(i(a,b-257,5),i(a,c-1,5),i(a,d-4,4),e=0;e<d;e++)i(a,a.bl_tree[2*ea[e]+1],3);x(a,a.dyn_ltree,b-1),x(a,a.dyn_dtree,c-1)}function A(a){var b,c=4093624447;for(b=0;b<=31;b++,c>>>=1)if(1&c&&0!==a.dyn_ltree[2*b])return I;if(0!==a.dyn_ltree[18]||0!==a.dyn_ltree[20]||0!==a.dyn_ltree[26])return J;for(b=32;b<R;b++)if(0!==a.dyn_ltree[2*b])return J;return I}function B(a){pa||(o(),pa=!0),a.l_desc=new f(a.dyn_ltree,ma),a.d_desc=new f(a.dyn_dtree,na),a.bl_desc=new f(a.bl_tree,oa),a.bi_buf=0,a.bi_valid=0,p(a)}function C(a,b,c,d){i(a,(L<<1)+(d?1:0),3),r(a,b,c,!0)}function D(a){i(a,M<<1,3),j(a,Z,ga),l(a)}function E(a,b,c,d){var e,f,g=0;a.level>0?(a.strm.data_type===K&&(a.strm.data_type=A(a)),v(a,a.l_desc),v(a,a.d_desc),g=y(a),e=a.opt_len+3+7>>>3,f=a.static_len+3+7>>>3,f<=e&&(e=f)):e=f=c+5,c+4<=e&&b!==-1?C(a,b,c,d):a.strategy===H||f===e?(i(a,(M<<1)+(d?1:0),3),u(a,ga,ha)):(i(a,(N<<1)+(d?1:0),3),z(a,a.l_desc.max_code+1,a.d_desc.max_code+1,g+1),u(a,a.dyn_ltree,a.dyn_dtree)),p(a),d&&q(a)}function F(a,b,c){return a.pending_buf[a.d_buf+2*a.last_lit]=b>>>8&255,a.pending_buf[a.d_buf+2*a.last_lit+1]=255&b,a.pending_buf[a.l_buf+a.last_lit]=255&c,a.last_lit++,0===b?a.dyn_ltree[2*c]++:(a.matches++,b--,a.dyn_ltree[2*(ja[c]+R+1)]++,a.dyn_dtree[2*g(b)]++),a.last_lit===a.lit_bufsize-1}var G=a(\"../utils/common\"),H=4,I=0,J=1,K=2,L=0,M=1,N=2,O=3,P=258,Q=29,R=256,S=R+1+Q,T=30,U=19,V=2*S+1,W=15,X=16,Y=7,Z=256,$=16,_=17,aa=18,ba=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],ca=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],da=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],ea=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],fa=512,ga=new Array(2*(S+2));d(ga);var ha=new Array(2*T);d(ha);var ia=new Array(fa);d(ia);var ja=new Array(P-O+1);d(ja);var ka=new Array(Q);d(ka);var la=new Array(T);d(la);var ma,na,oa,pa=!1;c._tr_init=B,c._tr_stored_block=C,c._tr_flush_block=E,c._tr_tally=F,c._tr_align=D},{\"../utils/common\":28}],40:[function(a,b,c){\"use strict\";function d(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=\"\",this.state=null,this.data_type=2,this.adler=0}b.exports=d},{}]},{},[10])(10)});"
  },
  {
    "path": "plugins/tiddlywiki/jszip/files/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": [\n\t\t{\n\t\t\t\"file\": \"jszip.min.v2.6.1.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/jszip/jszip.js\",\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t},\n\t\t\t\"prefix\": \"\",\n\t\t\t\"suffix\": \"\"\n\t\t},{\n\t\t\t\"file\": \"LICENSE.markdown\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"text/plain\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/jszip/license\"\n\t\t\t}\n\t\t}\n\t]\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/jszip/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/jszip\",\n\t\"name\": \"JSZip\",\n\t\"description\": \"JSZip library\",\n\t\"author\": \"Stuart Knightley, David Duponchel, Franz Buchinger, António Afonso\",\n\t\"list\": \"readme docs examples license\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/jszip/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/jszip/readme\n\nThis plugin provides primitives for working with Zip files. It also makes the [[JSZip|https://stuk.github.io/jszip/]] library available for use by other plugins.\n"
  },
  {
    "path": "plugins/tiddlywiki/jszip/startup.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/jszip/startup.js\ntype: application/javascript\nmodule-type: startup\n\nSetup the root widget event handlers\n\n\\*/\n\n\"use strict\";\n\nvar JSZip = require(\"$:/plugins/tiddlywiki/jszip/jszip.js\");\n\n// Export name and synchronous status\nexports.name = \"jszip\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n// Install the root widget event handlers\nexports.startup = function() {\n\t$tw.rootWidget.addEventListener(\"tm-zip-create\",function(event) {\n\t\tif(event.param) {\n\t\t\tvar zip = new JSZip();\n\t\t\tsaveZipTiddler(event.param,zip);\n\t\t}\n\t});\n\t$tw.rootWidget.addEventListener(\"tm-zip-add-text-file\",function(event) {\n\t\tvar paramObject = event.paramObject || {};\n\t\tif(event.param && paramObject.filename && paramObject.text) {\n\t\t\tvar zip = loadZipTiddler(event.param);\n\t\t\tzip.file(paramObject.filename,paramObject.text);\n\t\t\tsaveZipTiddler(event.param,zip);\n\t\t}\n\t});\n\t$tw.rootWidget.addEventListener(\"tm-zip-render-file\",function(event) {\n\t\tvar paramObject = event.paramObject || {};\n\t\tif(event.param && paramObject.filename && paramObject.template) {\n\t\t\tvar zip = loadZipTiddler(event.param),\n\t\t\t\toutputType = paramObject.output || \"text/plain\",\n\t\t\t\ttemplateTitle = paramObject.template,\n\t\t\t\ttext = $tw.wiki.renderTiddler(outputType,templateTitle,{\n\t\t\t\t\tparseAsInline: paramObject.mode === \"inline\",\n\t\t\t\t\tparentWidget: event.widget,\n\t\t\t\t\tvariables: {\n\t\t\t\t\t\tcurrentTiddler: paramObject.tiddler\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\tzip.file(paramObject.filename,text);\n\t\t\tsaveZipTiddler(event.param,zip);\n\t\t}\n\t});\n\t$tw.rootWidget.addEventListener(\"tm-zip-download\",function(event) {\n\t\tvar paramObject = event.paramObject || {};\n\t\tif(event.param) {\n\t\t\tdownloadZipFile(event.param,paramObject.filename || \"file.zip\");\n\t\t}\n\t});\n};\n\nfunction loadZipTiddler(title) {\n\treturn $tw.wiki.getGlobalCache(\"jszip\",function() {\n\t\tvar zip = new JSZip(),\n\t\t\ttiddler = $tw.wiki.getTiddler(title);\n\t\tif(tiddler && tiddler.fields.type === \"application/zip\") {\n\t\t\ttry {\n\t\t\t\tzip.load(tiddler.fields.text,{\n\t\t\t\t\tbase64: true\n\t\t\t\t});\n\t\t\t} catch(e) {\n\t\t\t\tconsole.log(\"JSZip error: \" + e);\n\t\t\t}\n\t\t}\n\t\treturn zip;\t\t\n\t});\n}\n\nfunction saveZipTiddler(title,zip) {\n\tvar data = zip.generate({\n\t\ttype: \"base64\"\n\t});\n\t$tw.wiki.addTiddler({\n\t\ttitle: title,\n\t\ttype: \"application/zip\",\n\t\ttext: data\n\t});\n}\n\nfunction downloadZipFile(title,filename) {\n\tvar tiddler = $tw.wiki.getTiddler(title);\n\tif(tiddler && tiddler.fields.text && tiddler.fields.type === \"application/zip\") {\n\t\tvar link = document.createElement(\"a\");\n\t\tlink.setAttribute(\"href\",\"data:application/zip;base64,\" + encodeURIComponent(tiddler.fields.text));\n\t\tlink.setAttribute(\"download\",filename);\n\t\tdocument.body.appendChild(link);\n\t\tlink.click();\n\t\tdocument.body.removeChild(link);\n\t}\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/katex/ImplementationNotes.tid",
    "content": "title: $:/plugins/tiddlywiki/katex/ImplementationNotes\n\n! CSS Handling\n\nThe ''original CSS from KaTeX'' includes a number of font definitions in this format:\n\n```\n@font-face {\n    font-family: 'KaTeX_AMS';\n    src: url('fonts/KaTeX_AMS-Regular.eot');\n    src: url('fonts/KaTeX_AMS-Regular.eot?#iefix') format('embedded-opentype'),\n         url('fonts/KaTeX_AMS-Regular.woff') format('woff'),\n         url('fonts/KaTeX_AMS-Regular.ttf') format('truetype');\n    font-weight: normal;\n    font-style: normal;\n}\n```\n\nThese definitions are currently ''removed manually'' from [[$:/plugins/tiddlywiki/katex/katex.min.css]] so that they can be redefined as data URIs using TiddlyWiki's macro notation in $:/plugins/tiddlywiki/katex/styles\n\n```\n@font-face {\n    font-family: 'KaTeX_AMS';\n    src: url(<<datauri '$:/plugins/tiddlywiki/katex/fonts/KaTeX_AMS-Regular.woff'>>) format('woff');\n    font-weight: normal;\n    font-style: normal;\n}\n```\n\nNote that the plugin currently only embeds the WOFF format fonts, which seems to be sufficient for most browsers.\n"
  },
  {
    "path": "plugins/tiddlywiki/katex/config.tid",
    "content": "title: $:/plugins/tiddlywiki/katex/config\ncaption: KaTeX\ntags: $:/tags/ControlPanel/SettingsTab\n\n<div class=\"tc-control-panel\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/KaTeX/Config]!has[draft.of]]\">\n\n<div>\n\n!! <$link><$transclude field=\"caption\"/></$link>\n\n<$transclude>\n\n</div>\n\n</$list>\n\n</div>\n"
  },
  {
    "path": "plugins/tiddlywiki/katex/developer.tid",
    "content": "title: $:/plugins/tiddlywiki/katex/developer\n\n!! How to upgrade\n\n# Download latest release zip file from [[Github release|https://github.com/KaTeX/KaTeX/releases]]\n# Backup existing files\n#* `plugins/tiddlywiki/katex/files/tiddlywiki.files` file and \n#* `katex.without-font-face.min.css` file\n#* Learn more at: $:/plugins/tiddlywiki/katex/ImplementationNotes\n# Rename extracted folder to \"files\" and \n#* copy it to `plugins/tiddlywiki/katex/files`\n#* (maybe delete the old folder first, to make a full overwrite)\n#* delete unused files in it, like `*.mjs` files and `*.md` files\n# Create `plugins/tiddlywiki/katex/files/tiddlywiki.files`\n#* (or use the old one) and \n#* register all needed files\n# Register in `files/tiddlywiki.files`\n#* `katex.without-font-face.min.css` ''as'' \n#* `$:/plugins/tiddlywiki/katex/katex.min.css`\n#* so fonts are loaded properly in tw environment\n\n\n!! How to test\n\nTo create a new \"test edition\" type the following command in a console window:\n\n<<<\n```\nnode tiddlywiki test-katex --init katexdemo\n```\n<<<\n\n>It will create a new directory //test-katex// and clones the //katexdemo// edition.<br>The output should be:\n\n<<<\n`Copied edition 'katexdemo' to test-katex`\n<<<\n\nType:\n\n<<<\n```\nnode tiddlywiki test-katex --listen\n```\n<<<\n\n>It should output\n\n<<<\n`syncer-server-filesystem: Dispatching 'save' task: $:/StoryList\nServing on http://127.0.0.1:8080\n(press ctrl-C to exit)\n`\n<<<\n\nTest the new version in the browser at: [[http://127.0.0.1:8080]]\n\nMake sure all equations of math and chemistry are rendered properly.\n"
  },
  {
    "path": "plugins/tiddlywiki/katex/files/tiddlywiki.files",
    "content": "{\n\t\"directories\": [\n\t\t{\n\t\t\t\"path\": \"./fonts/\",\n\t\t\t\"filesRegExp\": \"^.*\\\\.woff2$\",\n\t\t\t\"isTiddlerFile\": false,\n\t\t\t\"fields\": {\n\t\t\t\t\"title\": {\"source\": \"filename\", \"prefix\": \"$:/plugins/tiddlywiki/katex/fonts/\"},\n\t\t\t\t\"type\": \"font/woff2\"\n\t\t\t}\n\t\t}\n\t],\n\t\"tiddlers\": [\n\t\t{\n\t\t\t\"file\": \"katex.without-font-face.min.css\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"text/plain\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/katex/katex.min.css\"\n\t\t\t}\n\t\t},{\n\t\t\t\"file\": \"katex.min.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/katex/katex.min.js\",\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t},\n\t\t\t\"prefix\": \"(function(document) {\\n\",\n\t\t\t\"suffix\": \"\\n})(!$tw.browser ? $tw.fakeDocument : window.document)\\n\"\n\t\t},{\n\t\t\t\"file\": \"contrib/mhchem.min.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/katex/mhchem.min.js\",\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t},\n\t\t\t\"prefix\": \"(function(realRequire) {var require = function(m) {if(m===\\\"katex\\\"){m = \\\"$:/plugins/tiddlywiki/katex/katex.min.js\\\"};return realRequire(m);};\",\n\t\t\t\"suffix\": \"})(require);\\n\"\n\t\t}\n\t]\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/katex/katex-logo.tid",
    "content": "title: $:/plugins/tiddlywiki/katex/katex-logo\n\n$$\\KaTeX$$\n"
  },
  {
    "path": "plugins/tiddlywiki/katex/latex-parser.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/katex/latex-parser.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for LaTeX. For example:\n\n```\n\t$$latex-goes-here$$\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except latex-parser \n\\rules only latex-parser \n```\n\n\\*/\n\n\"use strict\";\n\nexports.name = \"latex-parser\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\$\\$(?!\\$)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar reEnd = /\\$\\$/mg;\n\t// Look for the end marker\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(this.parser.source),\n\t\ttext,\n\t\tdisplayMode;\n\t// Process the text\n\tif(match) {\n\t\ttext = this.parser.source.substring(this.parser.pos,match.index);\n\t\tdisplayMode = text.indexOf(\"\\n\") != -1;\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\ttext = this.parser.source.substr(this.parser.pos);\n\t\tdisplayMode = false;\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\treturn [{\n\t\ttype: \"latex\",\n\t\tattributes: {\n\t\t\ttext: {\n\t\t\t\ttype: \"text\",\n\t\t\t\tvalue: text\n\t\t\t},\n\t\t\tdisplayMode: {\n\t\t\t\ttype: \"text\",\n\t\t\t\tvalue: displayMode ? \"true\" : \"false\"\n\t\t\t}\n\t\t}\n\t}];\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/katex/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/katex\",\n\t\"name\": \"KaTeX\",\n\t\"description\": \"KaTeX library for mathematical typography\",\n\t\"list\": \"readme usage config\",\n\t\"library-version\": \"v0.15.3\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/katex/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/katex/readme\n\nThis is a TiddlyWiki plugin for mathematical and chemical typesetting based on [ext[KaTeX from Khan Academy|https://katex.org/]] (v0.16.28) and [ext[mhchem|https://github.com/mhchem/MathJax-mhchem]] through a [ext[Katex extension|https://github.com/KaTeX/KaTeX/tree/master/contrib/mhchem]].\n\nIt is completely self-contained, and doesn't need an Internet connection in order to work. It works both in the browser and under Node.js.\n\n[[Source code|https://github.com/TiddlyWiki/TiddlyWiki5/blob/master/plugins/tiddlywiki/katex]]\n"
  },
  {
    "path": "plugins/tiddlywiki/katex/snippets/logo.tid",
    "content": "title: $:/plugins/tiddlywiki/katex/snippets/logo\ntags: $:/tags/KaTeX/Snippet\ncaption: KaTeX Logo\ndescription: Display a Logo of KaTeX\npreview: $$\\KaTeX$$\nicon: $:/plugins/tiddlywiki/katex/katex-logo\n\n$$\\KaTeX$$\n"
  },
  {
    "path": "plugins/tiddlywiki/katex/snippets/math.tid",
    "content": "title: $:/plugins/tiddlywiki/katex/snippets/math\ntags: $:/tags/KaTeX/Snippet\ncaption: KaTeX mathematical formula\ndescription: create a math block\npreview: $$i = \\sqrt{-1}$$\nicon: $:/plugins/tiddlywiki/katex/katex-logo\n\n$$\\KaTeX$$\n"
  },
  {
    "path": "plugins/tiddlywiki/katex/styles.tid",
    "content": "title: $:/plugins/tiddlywiki/katex/styles\ntags: [[$:/tags/Stylesheet]]\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\n/* KaTeX styles */\n\n{{$:/plugins/tiddlywiki/katex/katex.min.css}}\n\n/* Force text-rendering  (see https://github.com/TiddlyWiki/TiddlyWiki5/issues/2500) */\n\n.katex {\n    text-rendering: auto;\n}\n\n/* Reset Automatic Numbering on a per tiddler basis */\n\n.tc-tiddler-frame {\n\tcounter-reset: katexEqnNo;\n}\n\n/* Avoid TW5's max-width: 100% */\n\n.katex svg {\n\tmax-width: initial;\n}\n\n/* Override font URLs */\n\n@font-face {\n\tfont-display: block;\n\tfont-family: KaTeX_AMS;\n\tsrc: url(<<datauri '$:/plugins/tiddlywiki/katex/fonts/KaTeX_AMS-Regular.woff2'>>) format('woff2');\n\tfont-weight: 400;\n\tfont-style: normal;\n}\n\n@font-face {\n\tfont-display: block;\n\tfont-family: KaTeX_Caligraphic;\n\tsrc: url(<<datauri '$:/plugins/tiddlywiki/katex/fonts/KaTeX_Caligraphic-Bold.woff2'>>) format('woff2');\n\tfont-weight: 700;\n\tfont-style: normal;\n}\n\n@font-face {\n\tfont-display: block;\n\tfont-family: KaTeX_Caligraphic;\n\tsrc: url(<<datauri '$:/plugins/tiddlywiki/katex/fonts/KaTeX_Caligraphic-Regular.woff2'>>) format('woff2');\n\tfont-weight: 400;\n\tfont-style: normal;\n}\n\n@font-face {\n\tfont-display: block;\n\tfont-family: KaTeX_Fraktur;\n\tsrc: url(<<datauri '$:/plugins/tiddlywiki/katex/fonts/KaTeX_Fraktur-Bold.woff2'>>) format('woff2');\n\tfont-weight: 700;\n\tfont-style: normal;\n}\n\n@font-face {\n\tfont-display: block;\n\tfont-family: KaTeX_Fraktur;\n\tsrc: url(<<datauri '$:/plugins/tiddlywiki/katex/fonts/KaTeX_Fraktur-Regular.woff2'>>) format('woff2');\n\tfont-weight: 400;\n\tfont-style: normal;\n}\n\n@font-face {\n\tfont-display: block;\n\tfont-family: KaTeX_Main;\n\tsrc: url(<<datauri '$:/plugins/tiddlywiki/katex/fonts/KaTeX_Main-Bold.woff2'>>) format('woff2');\n\tfont-weight: 700;\n\tfont-style: normal;\n}\n\n@font-face {\n\tfont-display: block;\n\tfont-family: KaTeX_Main;\n\tsrc: url(<<datauri '$:/plugins/tiddlywiki/katex/fonts/KaTeX_Main-BoldItalic.woff2'>>) format('woff2');\n\tfont-weight: 700;\n\tfont-style: italic;\n}\n\n@font-face {\n\tfont-display: block;\n\tfont-family: KaTeX_Main;\n\tsrc: url(<<datauri '$:/plugins/tiddlywiki/katex/fonts/KaTeX_Main-Italic.woff2'>>) format('woff2');\n\tfont-weight: 400;\n\tfont-style: italic;\n}\n\n@font-face {\n\tfont-display: block;\n\tfont-family: KaTeX_Main;\n\tsrc: url(<<datauri '$:/plugins/tiddlywiki/katex/fonts/KaTeX_Main-Regular.woff2'>>) format('woff2');\n\tfont-weight: 400;\n\tfont-style: normal;\n}\n\n@font-face {\n\tfont-display: block;\n\tfont-family: KaTeX_Math;\n\tsrc: url(<<datauri '$:/plugins/tiddlywiki/katex/fonts/KaTeX_Math-BoldItalic.woff2'>>) format('woff2');\n\tfont-weight: 700;\n\tfont-style: italic;\n}\n\n@font-face {\n\tfont-display: block;\n\tfont-family: KaTeX_Math;\n\tsrc: url(<<datauri '$:/plugins/tiddlywiki/katex/fonts/KaTeX_Math-Italic.woff2'>>) format('woff2');\n\tfont-weight: 400;\n\tfont-style: italic;\n}\n\n@font-face {\n\tfont-display: block;\n\tfont-family: KaTeX_SansSerif;\n\tsrc: url(<<datauri '$:/plugins/tiddlywiki/katex/fonts/KaTeX_SansSerif-Bold.woff2'>>) format('woff2');\n\tfont-weight: 700;\n\tfont-style: normal;\n}\n\n@font-face {\n\tfont-display: block;\n\tfont-family: KaTeX_SansSerif;\n\tsrc: url(<<datauri '$:/plugins/tiddlywiki/katex/fonts/KaTeX_SansSerif-Italic.woff2'>>) format('woff2');\n\tfont-weight: 400;\n\tfont-style: italic;\n}\n\n@font-face {\n\tfont-display: block;\n\tfont-family: KaTeX_SansSerif;\n\tsrc: url(<<datauri '$:/plugins/tiddlywiki/katex/fonts/KaTeX_SansSerif-Regular.woff2'>>) format('woff2');\n\tfont-weight: 400;\n\tfont-style: normal;\n}\n\n@font-face {\n\tfont-display: block;\n\tfont-family: KaTeX_Script;\n\tsrc: url(<<datauri '$:/plugins/tiddlywiki/katex/fonts/KaTeX_Script-Regular.woff2'>>) format('woff2');\n\tfont-weight: 400;\n\tfont-style: normal;\n}\n\n@font-face {\n\tfont-display: block;\n\tfont-family: KaTeX_Size1;\n\tsrc: url(<<datauri '$:/plugins/tiddlywiki/katex/fonts/KaTeX_Size1-Regular.woff2'>>) format('woff2');\n\tfont-weight: 400;\n\tfont-style: normal;\n}\n\n@font-face {\n\tfont-display: block;\n\tfont-family: KaTeX_Size2;\n\tsrc: url(<<datauri '$:/plugins/tiddlywiki/katex/fonts/KaTeX_Size2-Regular.woff2'>>) format('woff2');\n\tfont-weight: 400;\n\tfont-style: normal;\n}\n\n@font-face {\n\tfont-display: block;\n\tfont-family: KaTeX_Size3;\n\tsrc: url(<<datauri '$:/plugins/tiddlywiki/katex/fonts/KaTeX_Size3-Regular.woff2'>>) format('woff2');\n\tfont-weight: 400;\n\tfont-style: normal;\n}\n\n@font-face {\n\tfont-display: block;\n\tfont-family: KaTeX_Size4;\n\tsrc: url(<<datauri '$:/plugins/tiddlywiki/katex/fonts/KaTeX_Size4-Regular.woff2'>>) format('woff2');\n\tfont-weight: 400;\n\tfont-style: normal;\n}\n\n@font-face {\n\tfont-display: block;\n\tfont-family: KaTeX_Typewriter;\n\tsrc: url(<<datauri '$:/plugins/tiddlywiki/katex/fonts/KaTeX_Typewriter-Regular.woff2'>>) format('woff2');\n\tfont-weight: 400;\n\tfont-style: normal;\n}\n\n"
  },
  {
    "path": "plugins/tiddlywiki/katex/ui/EditorToolbar/katex-dropdown.tid",
    "content": "title: $:/plugins/tiddlywiki/katex/ui/EditorToolbar/katex-dropdown\n\n\\define toolbar-button-stamp-inner()\n<$button tag=\"a\">\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"replace-selection\"\n\ttext={{$(snippetTitle)$}}\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<$view tiddler=<<snippetTitle>> field=\"caption\" mode=\"inline\">\n\n<$transclude tiddler=<<snippetTitle>> mode=\"inline\"/>\n\n</$view>\n\n</$button>\n\\end\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/KaTeX/Snippet]!has[draft.of]sort[caption]]\" variable=\"snippetTitle\">\n\n<<toolbar-button-stamp-inner>>\n\n</$list>\n\n----\n\n<$button tag=\"a\">\n\n<$action-sendmessage\n\t$message=\"tm-new-tiddler\"\n\ttags=\"$:/tags/KaTeX/Snippet\"\n\ttext=\"\"\"$$snippet$$\"\"\"\n\tcaption=\"description shown in dropdown\"\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<em>\n\n<$text text={{$:/language/Buttons/Stamp/Caption/New}}/>\n\n</em>\n\n</$button>\n\n[ext[KaTeX functions catalogue|https://khan.github.io/KaTeX/function-support.html]]\n\n[ext[Chemical equations reference|https://mhchem.github.io/MathJax-mhchem/]]\n"
  },
  {
    "path": "plugins/tiddlywiki/katex/ui/EditorToolbar/katex.tid",
    "content": "title: $:/plugins/tiddlywiki/katex/ui/EditorToolbar/katex\ntags: $:/tags/EditorToolbar\nicon: $:/plugins/tiddlywiki/katex/katex-logo\ncaption: katex\ndescription: create and insert preconfigured KaTeX snippets\ncondition: [<targetTiddler>!is[image]]\ndropdown: $:/plugins/tiddlywiki/katex/ui/EditorToolbar/katex-dropdown\ntext:\n"
  },
  {
    "path": "plugins/tiddlywiki/katex/ui/config/macro.tid",
    "content": "title: $:/plugins/tiddlywiki/katex/ui/config/macro\ntags: $:/tags/KaTeX/Config\ncaption: Custom macro editor\n\n\\define katex-escape(text)\n<$vars t=$text$>\n<$latex text={{{[<t>search-replace:g:regexp[(?<!\\\\)#(\\d)],[{\\#_$1}]]}}}>\n</$vars>\n\\end\n\n\\define katex-create-macro()\n<$vars loc={{$:/temp/katex/new-macro-name}}>\n<$action-createtiddler $basetitle={{{[<loc>addprefix[$:/plugins/tiddlywiki/katex/macros/]]}}} tags=\"$:/tags/KaTeX/Macro\" type=\"text/plain\" caption={{$:/temp/katex/new-macro-name}} text={{$:/temp/katex/new-macro-command}} $overwrite=yes/>\n</$vars>\n\\end\n\n\\define katex-edit-cell()\n<$reveal state=\"$:/temp/katex/edit-macro\" type=match text={{!!title}}>\n<$edit-text tiddler=<<currentTiddler>> tag=\"input\" default=\"\"/>\n</$reveal>\n\\end\n\n\\define katex-view-cell()\n<$reveal state=\"$:/temp/katex/edit-macro\" type=nomatch text={{!!title}}>\n<tt><$view field=text/></tt>\n</$reveal>\n\\end\n\n\\define katex-edit-macro-button()\n<$reveal state=\"$:/temp/katex/edit-macro\" type=nomatch text={{!!title}}>\n<$button class=\"tc-btn-invisible tc-btn-dropdown\">\n<$action-setfield $tiddler=\"$:/temp/katex/edit-macro\" text={{!!title}}/>\n{{$:/core/images/edit-button}}\n</$button>\n</$reveal>\n\\end\n\n\\define katex-save-macro-button()\n<$reveal state=\"$:/temp/katex/edit-macro\" type=match text={{!!title}}>\n<$button class=\"tc-btn-invisible tc-btn-dropdown\">\n<$action-deletetiddler $tiddler=\"$:/temp/katex/edit-macro\"/>\n{{$:/core/images/done-button}}\n</$button>\n</$reveal>\n\\end\n\n<table>\n<tr>\n<th>Macro</th>\n<th>Command</th>\n<th>Preview</th>\n<th></th>\n</tr>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/KaTeX/Macro]!has[draft.of]sort[caption]]\">\n<tr>\n<td><tt><$text text={{!!caption}}/></tt></td>\n<td><<katex-edit-cell>><<katex-view-cell>></td>\n<td><<katex-escape {{!!text}}>></td>\n<td>\n<<katex-edit-macro-button>>\n<<katex-save-macro-button>>\n<$button class=\"tc-btn-invisible tc-btn-dropdown\">\n<$action-deletetiddler $tiddler={{!!title}}/>\n{{$:/core/images/delete-button}}\n</$button>\n</td>\n</tr>\n</$list>\n\n<tr>\n<td colspan=\"4\" align=\"left\">Add a new macro</td>\n</tr>\n<tr>\n<td><$edit-text tiddler=\"$:/temp/katex/new-macro-name\" tag=\"input\" default=\"\"/></td>\n<td><$edit-text tiddler=\"$:/temp/katex/new-macro-command\" tag=\"input\" default=\"\"/></td>\n<td><<katex-escape {{$:/temp/katex/new-macro-command}}>></td>\n<td><$button actions=<<katex-create-macro>>>\n{{$:/language/EditTemplate/Fields/Add/Button}}\n</$button></td>\n</tr>\n\n<tr><td colspan=\"4\" align=\"left\">\n<details>\n<summary>Import</summary>\n<$edit-text tiddler=\"$:/temp/katex/import-macro\" tag=\"textarea\" default=\"\" class=\"tc-edit-texteditor\" placeholder=\"You can type commands like \\def\\ZZ{\\mathbb{Z}} and import them automatically.\"/>\n\n<$vars macros={{$:/temp/katex/import-macro}} sep=\"%.*\\n|\\n+\" re=\"^\\\\g?def([^{]*){(.*)}.*\">\n\n<$button>\n<$list filter=\"[<macros>splitregexp<sep>regexp<re>]\" variable=line>\n<$vars m={{{[<line>search-replace:g:regexp<re>,[$1]]}}} c={{{[<line>search-replace:g:regexp<re>,[$2]]}}}>\n<$action-createtiddler $basetitle={{{[<m>addprefix[$:/plugins/tiddlywiki/katex/macros/]]}}} tags=\"$:/tags/KaTeX/Macro\" type=\"text/plain\" caption=<<m>> text=<<c>> $overwrite=yes/>\n</$vars>\n</$list>\nImport\n</$button>\n<$button>\n<$action-setfield $tiddler=\"$:/temp/katex/import-macro\" text=\"\"/>\nClear\n</$button>\n\n''Preview''\n<table>\n<$list filter=\"[<macros>splitregexp<sep>regexp<re>]\" variable=line>\n<$vars m={{{[<line>search-replace:g:regexp<re>,[$1]]}}} c={{{[<line>search-replace:g:regexp<re>,[$2]]}}}>\n<tr>\n<td><tt><<m>></tt></td>\n<td><tt><<c>></tt></td>\n<td><$macrocall $name=katex-escape text=\"<<c>>\"/></td></tr>\n</$vars>\n</$list>\n</table>\n\n</$vars>\n</details>\n</td>\n</tr>\n\n<tr><td colspan=\"4\" align=\"left\">\n<details>\n<summary>Usage</summary>\n<ul>\n<li>\nYou can add entries like `\\ZZ`, `\\mathbb{Z}`, which will render as <$latex text=\"\\mathbb{Z}\"/>.\n</li>\n<li>\nAn entry mapping `\\dd#1#2` to `\\frac{d#1}{d#2}` will create a macro with two arguments; `\\dd{f}{x}` will then render as <$latex text=\"\\frac{df}{dx}\"/>.\n</li>\n<li>\nNote that the macros defined here have higher priority than those defined using `\\gdef`. Also, deleted macros will continue to exist until a full refresh.\n</li>\n</ul>\n</details>\n</td>\n</tr>\n</table>\n"
  },
  {
    "path": "plugins/tiddlywiki/katex/usage.tid",
    "content": "title: $:/plugins/tiddlywiki/katex/usage\n\n!! Reference:\n\n# Mathematical typesetting: [ext[https://katex.org/docs/supported.html]]\n# Chemical typesetting: [ext[https://mhchem.github.io/MathJax-mhchem/]]\n\n!! Syntax\n\nThe usual way to include ~LaTeX is to use `$$` (when copying code examples from the references above, you will need to change from `$` to `$$`). For example:\n\n```\n$$\\displaystyle f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi$$\n```\n\n$$\\displaystyle f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi$$\n\nchemical:\n\n```\n$$\\ce{Hg^2+ ->[I-] HgI2 ->[I-] [Hg^{II}I4]^2-}$$\n```\n\n$$\\ce{Hg^2+ ->[I-] HgI2 ->[I-] [Hg^{II}I4]^2-}$$\n\nSingle line equations will render in inline mode. If there are newlines between the `$$` delimiters, the equations will be rendered in display mode.\n\nThe underlying widget can also be used directly, giving more flexibility:\n\n```\n<$latex text=\"f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi\" displayMode=\"true\"></$latex>\n```\n\n<$latex text=\"f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi\" displayMode=\"true\"></$latex>\n\nThe KaTeX widget is provided under the name `<$latex>` and is also available under the alias `<$katex>`. It's better to use the generic `<$latex>` name unless you are running multiple ~LaTeX plugins and wish to specifically target KaTeX.\n\n!! Macro\n\nTiddlers with tag `$:/tags/KaTeX/Macro` will be recognized as global KaTeX macros. You can create new macro using the form in the [[config|$:/plugins/tiddlywiki/katex/config]].\n"
  },
  {
    "path": "plugins/tiddlywiki/katex/wrapper.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/katex/wrapper.js\ntype: application/javascript\nmodule-type: widget\n\nWrapper for `katex.min.js` that provides a `<$latex>` widget. It is also available under the alias `<$katex>`\n\n\\*/\n\n\"use strict\";\n\nvar katex = require(\"$:/plugins/tiddlywiki/katex/katex.min.js\"),\n\tWidget = require(\"$:/core/modules/widgets/widget.js\").widget;\nrequire(\"$:/plugins/tiddlywiki/katex/mhchem.min.js\");\n\nkatex.macros = {};\nkatex.updateMacros = function() {\n\tvar tiddlers = $tw.wiki.getTiddlersWithTag(\"$:/tags/KaTeX/Macro\"),\n\t\tregex = /#\\d/g, // Remove the arguments like #1#2\n\t\ttid, macro, cmd;\n\tfor(var i=0; i < tiddlers.length; i++) {\n\t\ttid = $tw.wiki.getTiddler(tiddlers[i]);\n\t\ttry {\n\t\t\tmacro = tid.fields[\"caption\"];\n\t\t\tmacro = macro.replace(regex, \"\");\n\t\t\tcmd = tid.fields[\"text\"];\n\t\t\tkatex.macros[macro] = cmd;\n\t\t} catch(ex) {// Catch the bad ones\n\t\t};\n\t};\n};\n\nvar KaTeXWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nKaTeXWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nKaTeXWidget.prototype.render = function(parent,nextSibling) {\n\t// Housekeeping\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Get the source text\n\tvar text = this.getAttribute(\"text\",this.parseTreeNode.text || \"\");\n\tvar displayMode = this.getAttribute(\"displayMode\",this.parseTreeNode.displayMode || \"false\") === \"true\";\n\tkatex.updateMacros();\n\t// Render it into a span\n\tvar span = this.document.createElement(\"span\"),\n\t\toptions = {throwOnError: false, displayMode: displayMode, macros: katex.macros};\n\ttry {\n\t\tif(!this.document.isTiddlyWikiFakeDom) {\n\t\t\tkatex.render(text,span,options);\n\t\t} else {\n\t\t\tspan.innerHTML = katex.renderToString(text,options);\n\t\t}\n\t} catch(ex) {\n\t\tspan.className = \"tc-error\";\n\t\tspan.textContent = ex;\n\t}\n\t// Insert it into the DOM\n\tparent.insertBefore(span,nextSibling);\n\tthis.domNodes.push(span);\n};\n\n/*\nCompute the internal state of the widget\n*/\nKaTeXWidget.prototype.execute = function() {\n\t// Nothing to do for a katex widget\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nKaTeXWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.text) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.latex = KaTeXWidget;\nexports.katex = KaTeXWidget;\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown/EditorToolbar/bold.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown/EditorToolbar/bold\nlist-after: $:/core/ui/EditorToolbar/bold\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/bold\ncaption: {{$:/language/Buttons/Bold/Caption}} (Markdown)\ndescription: {{$:/language/Buttons/Bold/Hint}}\ncondition: [<targetTiddler>type[text/x-markdown]] [<targetTiddler>type[text/markdown]]\nshortcuts: ((bold))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"**\"\n\tsuffix=\"**\"\n/>\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown/EditorToolbar/heading-1.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown/EditorToolbar/heading-1\nlist-after: $:/core/ui/EditorToolbar/heading-1\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/heading-1\ncaption: {{$:/language/Buttons/Heading1/Caption}} (Markdown)\ndescription: {{$:/language/Buttons/Heading1/Hint}}\ncondition: [<targetTiddler>type[text/x-markdown]] [<targetTiddler>type[text/markdown]]\nshortcuts: ((heading-1))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"1\"\n/>\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown/EditorToolbar/heading-2.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown/EditorToolbar/heading-2\nlist-after: $:/core/ui/EditorToolbar/heading-2\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/heading-2\ncaption: {{$:/language/Buttons/Heading2/Caption}} (Markdown)\ndescription: {{$:/language/Buttons/Heading2/Hint}}\ncondition: [<targetTiddler>type[text/x-markdown]] [<targetTiddler>type[text/markdown]]\nshortcuts: ((heading-2))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"2\"\n/>\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown/EditorToolbar/heading-3.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown/EditorToolbar/heading-3\nlist-after: $:/core/ui/EditorToolbar/heading-3\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/heading-3\ncaption: {{$:/language/Buttons/Heading3/Caption}} (Markdown)\ndescription: {{$:/language/Buttons/Heading3/Hint}}\ncondition: [<targetTiddler>type[text/x-markdown]] [<targetTiddler>type[text/markdown]]\nshortcuts: ((heading-3))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"3\"\n/>\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown/EditorToolbar/heading-4.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown/EditorToolbar/heading-4\nlist-after: $:/core/ui/EditorToolbar/heading-4\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/heading-4\ncaption: {{$:/language/Buttons/Heading4/Caption}} (Markdown)\ndescription: {{$:/language/Buttons/Heading4/Hint}}\ncondition: [<targetTiddler>type[text/x-markdown]] [<targetTiddler>type[text/markdown]]\nshortcuts: ((heading-4))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"4\"\n/>\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown/EditorToolbar/heading-5.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown/EditorToolbar/heading-5\nlist-after: $:/core/ui/EditorToolbar/heading-5\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/heading-5\ncaption: {{$:/language/Buttons/Heading5/Caption}} (Markdown)\ndescription: {{$:/language/Buttons/Heading5/Hint}}\ncondition: [<targetTiddler>type[text/x-markdown]] [<targetTiddler>type[text/markdown]]\nshortcuts: ((heading-5))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"5\"\n/>\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown/EditorToolbar/heading-6.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown/EditorToolbar/heading-6\nlist-after: $:/core/ui/EditorToolbar/heading-6\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/heading-6\ncaption: {{$:/language/Buttons/Heading6/Caption}} (Markdown)\ndescription: {{$:/language/Buttons/Heading6/Hint}}\ncondition: [<targetTiddler>type[text/x-markdown]] [<targetTiddler>type[text/markdown]]\nshortcuts: ((heading-6))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"6\"\n/>\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown/EditorToolbar/italic.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown/EditorToolbar/italic\nlist-after: $:/core/ui/EditorToolbar/italic\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/italic\ncaption: {{$:/language/Buttons/Italic/Caption}} (Markdown)\ndescription: {{$:/language/Buttons/Italic/Hint}}\ncondition: [<targetTiddler>type[text/x-markdown]] [<targetTiddler>type[text/markdown]]\nshortcuts: ((italic))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"*\"\n\tsuffix=\"*\"\n/>\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown/EditorToolbar/link-dropdown.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown/EditorToolbar/link-dropdown\n\n\\define lingo-base() $:/language/Buttons/Link/\n\n\\define add-link-actions()\n\\whitespace trim\n<$action-sendmessage $message=\"tm-edit-text-operation\" $param=\"make-markdown-link\" text={{$(linkTiddler)$}} />\n<$action-deletetiddler $filter=\"[<dropdown-state>] [<searchTiddler>] [<linkTiddler>] [<storeTitle>] [<searchListState>]\"/>\n\\end\n\n\\define get-focus-selector() [data-tiddler-title=\"$(cssEscapedTitle)$\"] .tc-create-wikitext-link input\n\n\\define cancel-search-actions-inner()\n<$set name=\"userInput\" value={{{ [<storeTitle>get[text]] }}}><$list filter=\"[<searchTiddler>get[text]!match<userInput>]\" emptyMessage=\"<$action-deletetiddler $filter='[<searchTiddler>] [<linkTiddler>] [<storeTitle>] [<searchListState>]'/>\"><$action-setfield $tiddler=<<searchTiddler>> text=<<userInput>>/><$action-setfield $tiddler=<<refreshTitle>> text=\"yes\"/></$list></$set>\n\\end\n\n\\define cancel-search-actions() <$list filter=\"[<storeTitle>!has[text]] +[<searchTiddler>!has[text]]\" emptyMessage=\"<<cancel-search-actions-inner>>\"><$action-sendmessage $message=\"tm-edit-text-operation\" $param=\"focus-editor\"/></$list>\n\n\\define external-link()\n\\whitespace trim\n<$button class=\"tc-btn-invisible\" style=\"width: auto; display: inline-block; background-colour: inherit;\" actions=<<add-link-actions>>>\n{{$:/core/images/chevron-right}}\n</$button>\n\\end\n\n\\define set-next-input-tab(beforeafter:\"after\") <$macrocall $name=\"change-input-tab\" stateTitle=\"$:/state/tab/search-results/sidebar\" tag=\"$:/tags/SearchResults\" beforeafter=\"$beforeafter$\" defaultState={{$:/config/SearchResults/Default}} actions=\"<$action-setfield $tiddler='$:/state/search/currentTab' text=<<nextTab>>/>\"/>\n\n\\define body(config-title)\n\\whitespace trim\n''<<lingo Hint>>''\n\n<$vars searchTiddler=\"\"\"$config-title$/search\"\"\" linkTiddler=\"\"\"$config-title$/link\"\"\" linktext=\"\" searchListState=<<qualify \"$:/temp/link-search/selected-item\">> refreshTitle=<<qualify \"$:/temp/link-search/refresh\">> storeTitle=<<qualify \"$:/temp/link-search/input\">>>\n\n<$vars linkTiddler=<<searchTiddler>>>\n<$keyboard key=\"((input-tab-right))\" actions=<<set-next-input-tab>>>\n<$keyboard key=\"((input-tab-left))\" actions=<<set-next-input-tab \"before\">> class=\"tc-create-wikitext-link\">\n<$macrocall $name=\"keyboard-driven-input\" tiddler=<<searchTiddler>> storeTitle=<<storeTitle>>\n\t\tselectionStateTitle=<<searchListState>> refreshTitle=<<refreshTitle>> type=\"search\" filterMinLength=\"1\"\n\t\ttag=\"input\" focus=\"true\" class=\"tc-popup-handle\" inputCancelActions=<<cancel-search-actions>>\n\t\tinputAcceptActions=<<add-link-actions>> placeholder={{$:/language/Search/Search}} default=\"\"\n\t\tconfigTiddlerFilter=\"[[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}]\" />\n</$keyboard>\n</$keyboard>\n&#32;\n<$reveal tag=\"span\" state=<<storeTitle>> type=\"nomatch\" text=\"\">\n<<external-link>>\n&#32;\n<$button class=\"tc-btn-invisible\" style=\"width: auto; display: inline-block; background-colour: inherit;\">\n<<cancel-search-actions>><$set name=\"cssEscapedTitle\" value={{{ [<storyTiddler>escapecss[]] }}}><$action-sendmessage $message=\"tm-focus-selector\" $param=<<get-focus-selector>>/></$set>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</$vars>\n\n<$reveal tag=\"div\" state=<<storeTitle>> type=\"nomatch\" text=\"\">\n\n<$linkcatcher actions=<<add-link-actions>> to=<<linkTiddler>>>\n\n<$vars userInput={{{ [<storeTitle>get[text]] }}} configTiddler={{{ [[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}] }}}>\n\n{{$:/core/ui/SearchResults}}\n\n</$vars>\n\n</$linkcatcher>\n\n</$reveal>\n\n</$vars>\n\n\\end\n\n<$macrocall $name=\"body\" config-title=<<qualify \"$:/state/Link/\">>/>\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown/EditorToolbar/link.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown/EditorToolbar/link\nlist-after: $:/core/ui/EditorToolbar/link\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/link\ncaption: {{$:/language/Buttons/Link/Caption}}\ndescription: {{$:/language/Buttons/Link/Hint}}\ncondition: [<targetTiddler>type[text/x-markdown]] [<targetTiddler>type[text/markdown]]\nbutton-classes: tc-text-editor-toolbar-item-start-group\nshortcuts: ((link))\ndropdown: $:/plugins/tiddlywiki/markdown/EditorToolbar/link-dropdown\n\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown/EditorToolbar/linkify.tid",
    "content": "caption: {{$:/language/Buttons/Linkify/Caption}} (Markdown)\ncondition: [<targetTiddler>type[text/x-markdown]] [<targetTiddler>type[text/markdown]]\ndescription: {{$:/language/Buttons/Linkify/Hint}}\nicon: $:/plugins/tiddlywiki/markdown/images/markdown-linkify\nlist-after: $:/core/ui/EditorToolbar/linkify\nshortcuts: ((linkify))\ntitle: $:/plugins/tiddlywiki/markdown/EditorToolbar/linkify\ntags: $:/tags/EditorToolbar\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"[\"\n\tsuffix=\"]()\"\n/>\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown/EditorToolbar/list-bullet.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown/EditorToolbar/list-bullet\nlist-after: $:/core/ui/EditorToolbar/list-bullet\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/list-bullet\ncaption: {{$:/language/Buttons/ListBullet/Caption}} (Markdown)\ndescription: {{$:/language/Buttons/ListBullet/Hint}}\ncondition: [<targetTiddler>type[text/x-markdown]] [<targetTiddler>type[text/markdown]]\nshortcuts: ((list-bullet))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"*\"\n\tcount=\"1\"\n/>\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown/EditorToolbar/list-number.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown/EditorToolbar/list-number\nlist-after: $:/core/ui/EditorToolbar/list-number\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/list-number\ncaption: {{$:/language/Buttons/ListNumber/Caption}} (Markdown)\ndescription: {{$:/language/Buttons/ListNumber/Hint}}\ncondition: [<targetTiddler>type[text/x-markdown]] [<targetTiddler>type[text/markdown]]\nshortcuts: ((list-number))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"1.\"\n\tcount=\"1\"\n/>\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown/EditorToolbar/mono-block.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown/EditorToolbar/mono-block\nlist-after: $:/core/ui/EditorToolbar/mono-block\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/mono-block\ncaption: {{$:/language/Buttons/MonoBlock/Caption}} (Markdown)\ndescription: {{$:/language/Buttons/MonoBlock/Hint}}\ncondition: [<targetTiddler>type[text/x-markdown]] [<targetTiddler>type[text/markdown]]\nbutton-classes: tc-text-editor-toolbar-item-start-group\nshortcuts: ((mono-block))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-lines\"\n\tprefix=\"\n```\"\n\tsuffix=\"```\"\n/>\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown/EditorToolbar/mono-line.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown/EditorToolbar/mono-line\nlist-after: $:/core/ui/EditorToolbar/mono-line\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/mono-line\ncaption: {{$:/language/Buttons/MonoLine/Caption}} (Markdown)\ndescription: {{$:/language/Buttons/MonoLine/Hint}}\ncondition: [<targetTiddler>type[text/x-markdown]] [<targetTiddler>type[text/markdown]]\nshortcuts: ((mono-line))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"`\"\n\tsuffix=\"`\"\n/>\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown/EditorToolbar/picture-dropdown.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown/EditorToolbar/picture-dropdown\n\n\\define replacement-text()\n![](<#$(escaped-text)$>)\n\\end\n\n\\define escapetitle() [()<>\\\\]\n\n''{{$:/language/Buttons/Picture/Hint}}''\n\n<$macrocall $name=\"image-picker\" actions=\"\"\"\n\n<$let escaped-text={{{ [<imageTitle>search-replace:g:regexp<escapetitle>,[\\$&]] }}}>\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"replace-selection\"\n\ttext=<<replacement-text>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n</$let>\n\"\"\"/>\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown/EditorToolbar/picture.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown/EditorToolbar/picture\nlist-after: $:/core/ui/EditorToolbar/picture\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/picture\ncaption: {{$:/language/Buttons/Picture/Caption}} (Markdown)\ndescription: {{$:/language/Buttons/Picture/Hint}}\ncondition: [<targetTiddler>type[text/x-markdown]] [<targetTiddler>type[text/markdown]]\nshortcuts: ((picture))\ndropdown: $:/plugins/tiddlywiki/markdown/EditorToolbar/picture-dropdown\n\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown/EditorToolbar/quote.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown/EditorToolbar/quote\nlist-after: $:/core/ui/EditorToolbar/quote\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/quote\ncaption: {{$:/language/Buttons/Quote/Caption}} (Markdown)\ndescription: {{$:/language/Buttons/Quote/Hint}}\ncondition: [<targetTiddler>type[text/x-markdown]] [<targetTiddler>type[text/markdown]]\nshortcuts: ((quote))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\">\"\n\tcount=\"1\"\n/>\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown/EditorToolbar/strikethrough.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown/EditorToolbar/strikethrough\nlist-after: $:/core/ui/EditorToolbar/strikethrough\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/strikethrough\ncaption: {{$:/language/Buttons/Strikethrough/Caption}} (Markdown)\ndescription: {{$:/language/Buttons/Strikethrough/Hint}}\ncondition: [<targetTiddler>type[text/x-markdown]] [<targetTiddler>type[text/markdown]]\nshortcuts: ((strikethrough))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"~~\"\n\tsuffix=\"~~\"\n/>\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown/EditorToolbar/subscript.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown/EditorToolbar/subscript\nlist-after: $:/core/ui/EditorToolbar/subscript\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/subscript\ncaption: {{$:/language/Buttons/Subscript/Caption}} (Markdown)\ndescription: {{$:/language/Buttons/Subscript/Hint}}\ncondition: [<targetTiddler>type[text/x-markdown]] [<targetTiddler>type[text/markdown]]\nshortcuts: ((subscript))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"~\"\n\tsuffix=\"~\"\n/>\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown/EditorToolbar/superscript.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown/EditorToolbar/superscript\nlist-after: $:/core/ui/EditorToolbar/superscript\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/superscript\ncaption: {{$:/language/Buttons/Superscript/Caption}} (Markdown)\ndescription: {{$:/language/Buttons/Superscript/Hint}}\ncondition: [<targetTiddler>type[text/x-markdown]] [<targetTiddler>type[text/markdown]]\nshortcuts: ((superscript))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"^\"\n\tsuffix=\"^\"\n/>\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown/KeyboardShortcuts/new-markdown-tiddler.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown/KeyboardShortcuts/new-markdown-tiddler\ntags: $:/tags/KeyboardShortcut\nkey: ((new-markdown-tiddler))\n\n\\whitespace trim\n<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\n<$action-sendmessage $message=\"tm-new-tiddler\" type=\"text/markdown\"/>\n</$navigator>\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown/config.multids",
    "content": "title: $:/config/\n\nShortcutInfo/new-markdown-tiddler: {{$:/language/Buttons/NewMarkdown/Hint}}\nshortcuts-mac/new-markdown-tiddler: ctrl-M\nshortcuts-not-mac/new-markdown-tiddler: alt-M\nmarkdown/breaks: false\nmarkdown/linkify: false\nmarkdown/quotes: “”‘’\nmarkdown/renderWikiText: true\nmarkdown/renderWikiTextPragma: \\rules only html entity syslink prettylink image prettyextlink wikilink commentblock commentinline macrocallblock macrocallinline transcludeblock transcludeinline filteredtranscludeblock filteredtranscludeinline\nmarkdown/typographer: false"
  },
  {
    "path": "plugins/tiddlywiki/markdown/docs_type_markdown.tid",
    "content": "title: $:/language/Docs/Types/text/markdown\ndescription: Markdown\nname: text/markdown\ngroup: Text\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown/editor-operations/make-markdown-link.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/markdown/editor-operations/make-markdown-link.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to make a markdown link\n\n\\*/\n\n\"use strict\";\n\nexports[\"make-markdown-link\"] = function(event,operation) {\n\tvar rx = /[()<>\\\\]/g, rs = \"\\\\$&\";\n\n\tif(operation.selection) {\n\t\tvar desc = operation.selection.replace(/[\\[\\]\\\\]/g, rs);\n\n\t\tif(event.paramObject.text.indexOf(\"://\") !== -1) {\n\t\t\toperation.replacement = \"[\" + desc + \"](\" + event.paramObject.text.replace(/[()\\\\]/g, rs) + \")\";\n\t\t} else {\n\t\t\toperation.replacement = \"[\" + desc + \"](<#\" + event.paramObject.text.replace(rx, rs) + \">)\";\n\t\t}\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t} else {\n\t\tif(event.paramObject.text.indexOf(\"://\") !== -1) {\n\t\t\toperation.replacement = \"<\" + event.paramObject.text.replace(/[<>]/g, function(m, offset, str) {\n\t\t\t\treturn encodeURI(m);\n\t\t\t}) + \">\";\n\t\t} else {\n\t\t\toperation.replacement = \"[](<#\" + event.paramObject.text.replace(rx, rs) + \">)\";\n\t\t}\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t}\n\toperation.newSelStart = operation.selStart + operation.replacement.length;\n\toperation.newSelEnd = operation.newSelStart;\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown/files/LICENSE",
    "content": "Copyright (c) 2014 Vitaly Puzrin, Alex Kocharin.\n\nPermission is hereby granted, free of charge, to any person\nobtaining a copy of this software and associated documentation\nfiles (the \"Software\"), to deal in the Software without\nrestriction, including without limitation the rights to use,\ncopy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the\nSoftware is furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\nOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\nHOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\nWHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\nOTHER DEALINGS IN THE SOFTWARE.\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown/files/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": [\n\t\t{\n\t\t\t\"file\": \"markdown-it.min.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/markdown/markdown-it.js\",\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"file\": \"markdown-it-deflist.min.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/markdown/markdown-it-deflist.js\",\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"file\": \"markdown-it-footnote.min.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/markdown/markdown-it-footnote.js\",\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"file\": \"markdown-it-ins.min.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/markdown/markdown-it-ins.js\",\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"file\": \"markdown-it-mark.min.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/markdown/markdown-it-mark.js\",\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"file\": \"markdown-it-sub.min.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/markdown/markdown-it-sub.js\",\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"file\": \"markdown-it-sup.min.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/markdown/markdown-it-sup.js\",\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"file\": \"LICENSE\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"text/plain\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/markdown/license\"\n\t\t\t}\n\t\t}\n\t]\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown/images/markdown-linkify.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown/images/markdown-linkify\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-markdown-linkify-button tc-image-button\" viewBox=\"0 0 128 128\">\n<path d=\"M17.031185,32.1989189 L9.04781705,32.1989189 L9.04781705,97.1303119 L17.031185,97.1303119 L17.031185,104.049231 L0,104.049231 L0,25.28 L17.031185,25.28 L17.031185,32.1989189 Z M93.6716009,24.75 C90.4007675,30.8326023 88.0193713,37.1590826 86.5274123,43.7294408 C85.0354532,50.299799 84.2894737,56.9705775 84.2894737,63.7417763 C84.2894737,70.6277412 85.0211075,77.3702485 86.484375,83.9692982 C87.9476425,90.568348 90.314693,96.9952485 93.5855263,103.25 L93.5855263,103.25 L83.4287281,103.25 C79.8135965,97.3395468 77.0161732,91.1134868 75.0364583,84.5718202 C73.0567434,78.0301535 72.066886,71.3737208 72.066886,64.6025219 C72.066886,61.3890716 72.3107639,58.017818 72.7985197,54.488761 C73.2862756,50.9597039 74.0035636,47.4449927 74.9503838,43.9446272 C75.8972039,40.4442617 77.0735563,37.0586623 78.4794408,33.7878289 C79.8853253,30.5169956 81.5350877,27.504386 83.4287281,24.75 L83.4287281,24.75 Z M116.638158,24.75 C120.253289,30.6604532 123.050713,36.9152047 125.030428,43.5142544 C127.010143,50.1133041 128,56.7984284 128,63.5696272 C128,66.7830775 127.770468,70.1543311 127.311404,73.6833882 C126.852339,77.2124452 126.149397,80.7128107 125.202577,84.1844846 C124.255757,87.6561586 123.065058,91.0274123 121.630482,94.2982456 C120.195906,97.5690789 118.531798,100.552997 116.638158,103.25 L116.638158,103.25 L106.48136,103.25 C109.637427,97.1673977 111.975786,90.8696089 113.496436,84.3566338 C115.017087,77.8436586 115.777412,71.2015716 115.777412,64.4303728 C115.777412,57.5444079 115.031433,50.7732091 113.539474,44.1167763 C112.047515,37.4603436 109.723501,31.0047515 106.567434,24.75 L106.567434,24.75 Z M37.1101871,44.1061384 L37.1101871,56.702119 L49.0852391,52.799139 L51.3915454,59.8954661 L39.3277893,63.798446 L46.956341,74.1768244 L40.8357588,78.6120289 L33.2072072,68.1449464 L25.7560638,78.3459166 L19.8128898,73.8220081 L27.4414414,63.798446 L15.2889813,59.6293539 L17.5952876,52.5330268 L29.6590437,56.702119 L29.6590437,44.1061384 L37.1101871,44.1061384 Z M49.6493416,97.1303119 L57.6327096,97.1303119 L57.6327096,32.1989189 L49.6493416,32.1989189 L49.6493416,25.28 L66.6805267,25.28 L66.6805267,104.049231 L49.6493416,104.049231 L49.6493416,97.1303119 Z\"></path>\n</svg>\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown/images/new-markdown-button.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown/images/new-markdown-button\ntags: $:/tags/Image\n\n<svg class=\"tc-image-new-markdown-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n    <g fill-rule=\"evenodd\">\n        <rect x=\"80\" y=\"96\" width=\"48\" height=\"16\" rx=\"8\"></rect>\n        <rect x=\"96\" y=\"80\" width=\"16\" height=\"48\" rx=\"8\"></rect>\n        <path d=\"M3.23876972,39.5396716 C3.23876972,35.9653274 6.13586353,33.0691646 9.7141757,33.0691646 L98.1283744,33.0691646 C101.706101,33.0691646 104.60378,35.9646626 104.60378,39.5396716 L104.60378,84.8296213 C104.60378,88.4039654 101.706687,91.3001282 98.1283744,91.3001282 L9.7141757,91.3001282 C6.13644944,91.3001282 3.23876972,88.4046302 3.23876972,84.8296213 L3.23876972,39.5396716 L3.23876972,39.5396716 Z M-2.15298617,39.5396716 L-2.15298617,84.8296213 C-2.15298617,91.3833243 3.15957363,96.6918841 9.7141757,96.6918841 L98.1283744,96.6918841 C104.684083,96.6918841 109.995536,91.382138 109.995536,84.8296213 L109.995536,39.5396716 C109.995536,32.9859686 104.682977,27.6774087 98.1283744,27.6774087 L9.7141757,27.6774087 C3.15846686,27.6774087 -2.15298617,32.9871549 -2.15298617,39.5396716 Z M14.0222815,80.5166164 L14.0222815,43.8526764 L24.8057933,43.8526764 L35.589305,57.3320661 L46.3728168,43.8526764 L57.1563286,43.8526764 L57.1563286,80.5166164 L46.3728168,80.5166164 L46.3728168,59.4887685 L35.589305,72.9681582 L24.8057933,59.4887685 L24.8057933,80.5166164 L14.0222815,80.5166164 Z M81.4192301,80.5166164 L65.2439624,62.723822 L76.0274742,62.723822 L76.0274742,43.8526764 L86.810986,43.8526764 L86.810986,62.723822 L97.5944978,62.723822 L81.4192301,80.5166164 Z\"transform=\"translate(53.921275, 62.184646) rotate(-60.000000) translate(-53.921275, -62.184646) \"></path>\n    </g>\n</svg>"
  },
  {
    "path": "plugins/tiddlywiki/markdown/markdown-it-katex.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/markdown/markdown-it-katex.js\ntype: application/javascript\nmodule-type: library\n\nBased on markdown-it-katex v2.0.0 by @waylonflinn https://github.com/waylonflinn/markdown-it-katex | MIT License\n\\*/\n\n/* Process inline math */\n/*\nLike markdown-it-simplemath, this is a stripped down, simplified version of:\nhttps://github.com/runarberg/markdown-it-math\n\nIt differs in that it takes (a subset of) LaTeX as input and relies on KaTeX\nfor rendering output.\n*/\n\n/*jslint node: true */\n\"use strict\";\n\n// Test if potential opening or closing delimieter\n// Assumes that there is a \"$\" at state.src[pos]\nfunction isValidDelim(state, pos) {\n\tvar prevChar, nextChar,\n\t\tmax = state.posMax,\n\t\tcan_open = true,\n\t\tcan_close = true;\n\n\tprevChar = pos > 0 ? state.src.charCodeAt(pos - 1) : -1;\n\tnextChar = pos + 1 <= max ? state.src.charCodeAt(pos + 1) : -1;\n\n\t// Check non-whitespace conditions for opening and closing, and\n\t// check that closing delimeter isn't followed by a number\n\tif(prevChar === 0x20/* \" \"  */ || prevChar === 0x09/* \\t */ ||\n        prevChar === 0x0d/* \"\\r\" */ || prevChar === 0x0a/* \\n */ ||\n        (nextChar >= 0x30/* \"0\"  */ && nextChar <=  0x39/* \"9\" */)) {\n\t\tcan_close = false;\n\t}\n\tif(nextChar === 0x20/* \" \"  */ || nextChar === 0x09/* \\t */ ||\n        nextChar === 0x0d/* \"\\r\" */ || nextChar === 0x0a/* \\ns */) {\n\t\tcan_open = false;\n\t}\n\n\tif(state.src.substring(pos,pos+3) === \"$:/\") {\n\t\tcan_open = false;\n\t\tcan_close = false;\n\t}\n\n\treturn {\n\t\tcan_open: can_open,\n\t\tcan_close: can_close\n\t};\n}\n\nfunction math_inline(state, silent) {\n\tvar start, match, token, res, pos;\n\n\tif(state.src[state.pos] !== \"$\") { return false; }\n\n\tres = isValidDelim(state, state.pos);\n\tif(!res.can_open) {\n\t\tif(!silent) { state.pending += \"$\"; }\n\t\tstate.pos += 1;\n\t\treturn true;\n\t}\n\n\t// First check for and bypass all properly escaped delimieters\n\t// This loop will assume that the first leading backtick can not\n\t// be the first character in state.src, which is known since\n\t// we have found an opening delimieter already.\n\tstart = state.pos + 1;\n\tmatch = start;\n\twhile( (match = state.src.indexOf(\"$\", match)) !== -1) {\n\t\t// Found potential $, look for escapes, pos will point to\n\t\t// first non escape when complete\n\t\tpos = match - 1;\n\t\twhile(state.src[pos] === \"\\\\\") { pos -= 1; }\n\n\t\t// Even number of escapes, potential closing delimiter found\n\t\tif( ((match - pos) % 2) == 1 ) { break; }\n\t\tmatch += 1;\n\t}\n\n\t// No closing delimter found.  Consume $ and continue.\n\tif(match === -1) {\n\t\tif(!silent) { state.pending += \"$\"; }\n\t\tstate.pos = start;\n\t\treturn true;\n\t}\n\n\t// Check if we have empty content, ie: $$.  Do not parse.\n\tif(match - start === 0) {\n\t\tif(!silent) { state.pending += \"$$\"; }\n\t\tstate.pos = start + 1;\n\t\treturn true;\n\t}\n\n\t// Check for valid closing delimiter\n\tres = isValidDelim(state, match);\n\tif(!res.can_close) {\n\t\tif(!silent) { state.pending += \"$\"; }\n\t\tstate.pos = start;\n\t\treturn true;\n\t}\n\n\tif(!silent) {\n\t\ttoken         = state.push(\"math_inline\", \"$latex\", 0);\n\t\ttoken.markup  = \"$\";\n\t\ttoken.content = state.src.slice(start, match);\n\t\ttoken.attrs   = [[\"displayMode\", \"false\"], [\"text\", token.content]];\n\t}\n\n\tstate.pos = match + 1;\n\treturn true;\n}\n\n/*! https://github.com/iktakahiro/markdown-it-katex/pull/2 by @shinhermit */\nfunction math_inline_block(state, silent) {\n\tvar start, match, token, pos;\n\n\tif(state.src.slice(state.pos, state.pos+2) !== \"$$\") { return false; }\n\n\t// First check for and bypass all properly escaped delimieters\n\t// This loop will assume that the first leading backtick can not\n\t// be the first character in state.src, which is known since\n\t// we have found an opening delimieter already.\n\tstart = state.pos + 2;\n\tmatch = start;\n\twhile( (match = state.src.indexOf(\"$$\", match)) !== -1) {\n\t\t// Found potential $$, look for escapes, pos will point to\n\t\t// first non escape when complete\n\t\tpos = match - 1;\n\t\twhile(state.src[pos] === \"\\\\\") { pos -= 1; }\n\n\t\t// Even number of escapes, potential closing delimiter found\n\t\tif( ((match - pos) % 2) == 1 ) { break; }\n\t\tmatch += 2;\n\t}\n\n\t// No closing delimter found.  Consume $$ and continue.\n\tif(match === -1) {\n\t\tif(!silent) { state.pending += \"$$\"; }\n\t\tstate.pos = start;\n\t\treturn true;\n\t}\n\n\t// Check if we have empty content, ie: $$$$.  Do not parse.\n\tif(match - start === 0) {\n\t\tif(!silent) { state.pending += \"$$$$\"; }\n\t\tstate.pos = start + 2;\n\t\treturn true;\n\t}\n\n\tif(!silent) {\n\t\ttoken         = state.push(\"math_inline_block\", \"$latex\", 0);\n\t\ttoken.block   = true;\n\t\ttoken.markup  = \"$$\";\n\t\ttoken.content = state.src.slice(start, match);\n\t\ttoken.attrs   = [[\"displayMode\", \"true\"], [\"text\", token.content]];\n\t}\n\n\tstate.pos = match + 2;\n\treturn true;\n}\n\nmodule.exports = function math_plugin(md, options) {\n\tmd.inline.ruler.after(\"escape\", \"math_inline\", math_inline);\n\tmd.inline.ruler.after(\"escape\", \"math_inline_block\", math_inline_block);\n};"
  },
  {
    "path": "plugins/tiddlywiki/markdown/markdown-it-tiddlywiki.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/markdown/markdown-it-tiddlywiki.js\ntype: application/javascript\nmodule-type: library\n\nWraps up the markdown-it parser for use as a Parser in TiddlyWiki\n\n\\*/\n\n\"use strict\";\n\nvar md;\nvar pluginOpts;\n\nvar TWMarkReplacements = {\n\t\"{\" : \"&#123;\",\n\t\"[\" : \"&#91;\",\n\t\"$\" : \"&#36;\"\n};\n\nvar TWMarkRegEx = /[{[$]/g;\nfunction encodeTWMark(match) {\n\treturn TWMarkReplacements[match];\n}\n\n// escpae {, [ and $ in string s\nfunction escapeTWMarks(s) {\n\ts = String(s);\n\tTWMarkRegEx.lastIndex = 0;\n\treturn s.replace(TWMarkRegEx,encodeTWMark);\n}\n\n// escape anything that could be interpreted as transclusion or syslink\nfunction render_code_inline(tokens,idx,options,env,slf) {\n\ttokens[idx].attrJoin(\"class\",\"_codified_\");\n\treturn  \"<code\" + slf.renderAttrs(tokens[idx]) + \">\"\n\t\t+ escapeTWMarks(md.utils.escapeHtml(tokens[idx].content))\n\t\t+ \"</code>\";\n}\n\nfunction render_code_block(tokens,idx) {\n\treturn  '<$codeblock code=e\"' + md.utils.escapeHtml(tokens[idx].content) + '\" language=\"\"/>\\n';\n}\n\nfunction render_fence(tokens,idx) {\n\tvar info = tokens[idx].info ? md.utils.unescapeAll(tokens[idx].info).trim() : \"\";\n\treturn '<$codeblock code=e\"' + md.utils.escapeHtml(tokens[idx].content) + '\" language=\"' + info.split(/(\\s+)/g)[0] + '\"/>\\n';\n}\n\n// add a blank line after opening tag to activate TW block parsing\nfunction render_paragraph_open(tokens,idx) {\n\treturn tokens[idx].hidden ? \"\" : \"<p>\\n\\n\";\n}\n\nfunction render_paragraph_close(tokens,idx) {\n\treturn tokens[idx].hidden ? \"\" : \"\\n</p>\\n\";\n}\n\n// Replace footnote links with \"qualified\" internal links\nfunction render_footnote_ref(tokens,idx,options,env,slf) {\n\tvar id      = slf.rules.footnote_anchor_name(tokens,idx,options,env,slf);\n\tvar caption = slf.rules.footnote_caption(tokens,idx,options,env,slf);\n\tvar refid   = id;\n\n\tif(tokens[idx].meta.subId > 0) {\n\t\trefid += \":\" + tokens[idx].meta.subId;\n\t}\n\treturn '<a class=\"footnote-ref\" href=<<qualify \"##fn' + id + '\">> id=<<qualify \"#fnref' + refid + '\">>>' + caption + \"</a>\";\n}\n\nfunction render_footnote_open(tokens,idx,options,env,slf) {\n\tvar id = slf.rules.footnote_anchor_name(tokens,idx,options,env,slf);\n\n\tif(tokens[idx].meta.subId > 0) {\n\t\tid += \":\" + tokens[idx].meta.subId;\n\t}\n\treturn '<li id=<<qualify \"#fn' + id + '\">>  class=\"footnote-item\">';\n}\n\nfunction render_footnote_anchor(tokens,idx,options,env,slf) {\n\tvar id = slf.rules.footnote_anchor_name(tokens,idx,options,env,slf);\n\n\tif(tokens[idx].meta.subId > 0) {\n\t\tid += \":\" + tokens[idx].meta.subId;\n\t}\n\n\t// append variation selector to prevent display as Apple Emoji on iOS\n\treturn '<a href=<<qualify \"##fnref' + id + '\">> class=\"footnote-backref\">\\u21A5\\uFE0E</a>';\n}\n\n// do not un-escape html entities and escape characters\nfunction render_text_special(tokens,idx) {\n\tif(tokens[idx].info === \"entity\") {\n\t\treturn tokens[idx].markup;\n\t}\n\treturn escapeTWMarks(md.utils.escapeHtml(tokens[idx].content));\n}\n\nfunction render_tw_expr(tokens,idx) {\n\treturn tokens[idx].content;\n}\n\n// Overwrite default: attribute values can be either a string or {type;, value:}.\n// 1) string attr val: render in e\"...\" format so HTML entities can be decoded.\n// 2) object attr val: render value as is.\nfunction render_token_attrs(token) {\n\tvar i, l, result;\n\n\tif(!token.attrs) { return \"\"; }\n\n\tresult = \"\";\n\n\tfor(i=0, l=token.attrs.length; i<l; i++) {\n\t\tif(typeof token.attrs[i][1] === \"object\" && token.attrs[i][1] !== null) {\n\t\t\tresult += \" \" + md.utils.escapeHtml(token.attrs[i][0]) + \"=\" + token.attrs[i][1].value;\n\t\t} else {\n\t\t\tresult += \" \" + md.utils.escapeHtml(token.attrs[i][0]) + '=e\"' + md.utils.escapeHtml(token.attrs[i][1]) + '\"';\n\t\t}\n\t}\n\n\treturn result;\n}\n\n// given tw parsing rule and starting pos, returns match index or undefined\n// assumes pos >= 0\nfunction findNextMatch(ruleinfo,pos) {\n\t// ruleinfo.matchIndex needs to be -1 at the start of inline state\n\tif(ruleinfo.matchIndex < pos) {\n\t\truleinfo.matchIndex = ruleinfo.rule.findNextMatch(pos);\n\t}\n\n\treturn ruleinfo.matchIndex;\n}\n\n// Add inline rule \"macrocall\" to parse <<macroname ...>>\nfunction tw_macrocallinline(state,silent) {\n\tvar ruleinfo = pluginOpts.inlineRules.macrocallinline;\n\n\tvar pos = state.pos;\n\tvar matchIndex = findNextMatch(ruleinfo,pos);\n\tif(matchIndex === undefined || matchIndex !== pos) {\n\t\treturn false;\n\t}\n\n\tif(!silent) {\n\t\tvar token = state.push(\"tw_expr\",\"\",0);\n\t\ttoken.content = state.src.slice(pos,ruleinfo.rule.nextCall.end);\n\t}\n\tstate.pos = ruleinfo.rule.nextCall.end;\n\treturn true;\n}\n\n// parse transclusion elements\nfunction tw_transcludeinline(state,silent) {\n\tvar ruleinfo = pluginOpts.inlineRules.transcludeinline;\n\n\tvar pos = state.pos;\n\tvar matchIndex = findNextMatch(ruleinfo,pos);\n\tif(matchIndex === undefined || matchIndex !== pos) {\n\t\treturn false;\n\t}\n\n\tif(!silent) {\n\t\tvar token = state.push(\"tw_expr\",\"\",0);\n\t\ttoken.content = state.src.slice(pos,pos+ruleinfo.rule.match[0].length);\n\t}\n\tstate.pos += ruleinfo.rule.match[0].length;\n\treturn true;\n}\n\n// parse filtered transclusion elements\nfunction tw_filteredtranscludeinline(state,silent) {\n\tvar ruleinfo = pluginOpts.inlineRules.filteredtranscludeinline;\n\n\tvar pos = state.pos;\n\tvar matchIndex = findNextMatch(ruleinfo,pos);\n\tif(matchIndex === undefined || matchIndex !== pos) {\n\t\treturn false;\n\t}\n\n\tif(!silent) {\n\t\tvar token = state.push(\"tw_expr\",\"\",0);\n\t\tif(state.linkLevel > 0) {\n\t\t\tvar filter = ruleinfo.rule.match[1];\n\t\t\ttoken.content = \"<$text text={{{\" + filter + \"}}}/>\";\n\t\t} else {\n\t\t\ttoken.content = state.src.slice(pos,pos+ruleinfo.rule.match[0].length);\n\t\t}\n\t}\n\tstate.pos += ruleinfo.rule.match[0].length;\n\treturn true;\n}\n\n// based on markdown-it html_block()\nvar WidgetTagRegEx = [/^<\\/?\\$[a-zA-Z0-9\\-\\$\\.]+(?=(\\s|\\/?>|$))/, /^$/];\nfunction tw_block(state,startLine,endLine,silent) {\n\tvar nextLine, token, lineText,\n\t\tpos = state.bMarks[startLine] + state.tShift[startLine],\n\t\tmax = state.eMarks[startLine];\n\n\t// if it's indented more than 3 spaces, it should be a code block\n\tif(state.sCount[startLine] - state.blkIndent >= 4) { return false; }\n\n\tif(!state.md.options.html) { return false; }\n\n\tif(state.src.charCodeAt(pos) !== 0x3C/* < */) { return false; }\n\n\tlineText = state.src.slice(pos,max);\n\n\tif(!WidgetTagRegEx[0].test(lineText)) { return false; }\n\n\tif(silent) {\n\t\t// don't let widgets interrupt a paragrpah\n\t\treturn false;\n\t}\n\n\tnextLine = startLine + 1;\n\n\t// If we are here - we detected HTML block.\n\t// Let's roll down till block end.\n\tif(!WidgetTagRegEx[1].test(lineText)) {\n\t\tfor(; nextLine < endLine; nextLine++) {\n\t\t\tif(state.sCount[nextLine] < state.blkIndent) { break; }\n\n\t\t\tpos = state.bMarks[nextLine] + state.tShift[nextLine];\n\t\t\tmax = state.eMarks[nextLine];\n\t\t\tlineText = state.src.slice(pos,max);\n\n\t\t\tif(WidgetTagRegEx[1].test(lineText)) {\n\t\t\t\tif(lineText.length !== 0) { nextLine++; }\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tstate.line = nextLine;\n\n\ttoken         = state.push(\"html_block\",\"\",0);\n\ttoken.map     = [ startLine, nextLine ];\n\ttoken.content = state.getLines(startLine,nextLine,state.blkIndent,true);\n\n\treturn true;\n}\n\n// parse [img[...]] elements\nfunction tw_image(state,silent) {\n\tvar ruleinfo = pluginOpts.inlineRules.image;\n\n\t// ignore at parseLinkLabel stage; will be recognized in tokenize()\n\tif(state.parsingLinkLabel > 0) {\n\t\treturn false;\n\t}\n\n\tvar pos = state.pos;\n\tvar matchIndex = findNextMatch(ruleinfo,pos);\n\tif(matchIndex === undefined || matchIndex !== pos) {\n\t\treturn false;\n\t}\n\n\tif(!silent) {\n\t\tvar twNode = ruleinfo.rule.parse()[0];\n\t\tvar token = state.push(\"$image\",\"$image\",0);\n\t\t$tw.utils.each(twNode.attributes,function(attr,id) {\n\t\t\tswitch(attr.type) {\n\t\t\t\tcase \"filtered\":\n\t\t\t\t\ttoken.attrSet(id,{ type: \"filtered\", value: \"{{{\" + attr.filter + \"}}}\" });\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"indirect\":\n\t\t\t\t\ttoken.attrSet(id,{ type: \"indirect\", value: \"{{\" + attr.textReference + \"}}\" });\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"macro\":\n\t\t\t\t\ttoken.attrSet(id,{ type: \"macro\", value: ruleinfo.rule.parser.source.substring(attr.value.start,attr.value.end) });\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\ttoken.attrSet(id,attr.value);\n\t\t\t}\n\t\t});\n\t\ttoken.markup = \"tw_image\";\n\t}\n\tstate.pos = ruleinfo.rule.parser.pos;\n\treturn true;\n}\n\n// parse [[link]] elements\nfunction tw_prettylink(state,silent) {\n\tvar ruleinfo = pluginOpts.inlineRules.prettylink;\n\n\t// skip if in link label\n\tif(state.linkLevel > 0 || state.parsingLinkLabel > 0) {\n\t\treturn false;\n\t}\n\n\tvar pos = state.pos;\n\tvar matchIndex = findNextMatch(ruleinfo,pos);\n\tif(matchIndex === undefined || matchIndex !== pos) {\n\t\treturn false;\n\t}\n\n\tif(!silent) {\n\t\tvar twNode = ruleinfo.rule.parse()[0];\n\t\tvar tag = (twNode.type===\"link\" ? \"$link\" : \"a\");\n\t\t// push a link_open token so markdown's core.linkify will ignore\n\t\tvar token = state.push(\"link_open\",tag,1);\n\n\t\t$tw.utils.each(twNode.attributes,function(attr,id) {\n\t\t\ttoken.attrSet(id,attr.value);\n\t\t});\n\t\ttoken.attrJoin(\"class\",\"_codified_\");\n\t\ttoken.markup = \"tw_prettylink\";\n\n\t\tstate.linkLevel++;\n\t\ttoken = state.push(\"text\",\"\",0);\n\t\ttoken.content = twNode.children[0].text;\n\t\tstate.linkLevel--;\n\n\t\ttoken = state.push(\"link_close\",tag,-1);\n\t\ttoken.markup = \"tw_prettylink\";\n\t}\n\tstate.pos = ruleinfo.rule.parser.pos;\n\treturn true;\n}\n\nfunction tw_prettyextlink(state,silent) {\n\tvar ruleinfo = pluginOpts.inlineRules.prettyextlink;\n\n\t// skip if in link label\n\tif(state.linkLevel > 0 || state.parsingLinkLabel > 0) {\n\t\treturn false;\n\t}\n\n\tvar pos = state.pos;\n\tvar matchIndex = findNextMatch(ruleinfo,pos);\n\tif(matchIndex === undefined || matchIndex !== pos) {\n\t\treturn false;\n\t}\n\n\tif(!silent) {\n\t\tvar twNode = ruleinfo.rule.parse()[0];\n\t\tvar token = state.push(\"link_open\",\"a\",1);\n\n\t\t$tw.utils.each(twNode.attributes,function(attr,id) {\n\t\t\ttoken.attrSet(id,attr.value);\n\t\t});\n\t\ttoken.attrJoin(\"class\",\"_codified_\");\n\t\ttoken.markup = \"tw_prettyextlink\";\n\n\t\tstate.linkLevel++;\n\t\ttoken = state.push(\"text\",\"\",0);\n\t\ttoken.content = twNode.children[0].text;\n\t\tstate.linkLevel--;\n\n\t\ttoken = state.push(\"link_close\",\"a\",-1);\n\t\ttoken.markup = \"tw_prettyextlink\";\n\t}\n\tstate.pos = ruleinfo.rule.parser.pos;\n\treturn true;\n}\n\nvar TWCloseTagRegEx = /<\\/\\$[A-Za-z0-9\\-\\$\\.]+\\s*>/gm;\nfunction extendHtmlInline(origRule) {\n\treturn function(state,silent) {\n\t\tif(origRule(state,silent)) {\n\t\t\treturn true;\n\t\t}\n\n\t\tvar token, pos = state.pos;\n\t\tvar parseTag = $tw.Wiki.parsers[\"text/vnd.tiddlywiki\"].prototype.inlineRuleClasses.html.prototype.parseTag;\n\t\tvar tag = parseTag(state.src,pos,{});\n\t\tif(tag) {\n\t\t\tif(!silent) {\n\t\t\t\ttoken = state.push(\"html_inline\",\"\",0);\n\t\t\t\ttoken.content = state.src.slice(pos,tag.end);\n\t\t\t}\n\t\t\tstate.pos = tag.end;\n\t\t\treturn true;\n\t\t}\n\n\t\tTWCloseTagRegEx.lastIndex = pos;\n\t\tvar match = TWCloseTagRegEx.exec(state.src);\n\t\tif(!match || match.index !== pos) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif(!silent) {\n\t\t\ttoken = state.push(\"html_inline\",\"\",0);\n\t\t\ttoken.content = state.src.slice(pos,pos + match[0].length);\n\t\t}\n\t\tstate.pos = TWCloseTagRegEx.lastIndex;\n\t\treturn true;\n\t};\n}\n\nfunction extendParseLinkLabel(origFunc) {\n\treturn function(state,start,disableNested) {\n\t\tif(state.parsingLinkLabel === undefined) {\n\t\t\tstate.parsingLinkLabel = 0;\n\t\t}\n\t\tstate.parsingLinkLabel++;\n\t\tvar labelEnd = origFunc(state,start,disableNested);\n\t\tstate.parsingLinkLabel--;\n\t\treturn labelEnd;\n\t};\n}\n\n// reset each tw inline rule to initial inline state\nfunction extendInlineParse(thisArg,origFunc,twInlineRules) {\n\treturn function(str,md,env,outTokens) {\n\t\tvar ruleinfo, key;\n\t\tfor(key in twInlineRules) {\n\t\t\truleinfo = twInlineRules[key];\n\t\t\truleinfo.rule.parser.source = str;\n\t\t\truleinfo.rule.parser.sourceLength = str.length;\n\t\t\truleinfo.rule.parser.pos = 0; // not used\n\t\t\truleinfo.matchIndex = -1;\n\t\t}\n\t\torigFunc.call(thisArg,str,md,env,outTokens);\n\t};\n}\n\n/// post processing ///\n\nfunction wikify(state) {\n\tvar href, title, src, alt;\n\tvar tagStack = [];\n\n\tstate.tokens.forEach(function(blockToken) {\n\t\tif(blockToken.type === \"inline\" && blockToken.children) {\n\t\t\tblockToken.children.forEach(function(token) {\n\t\t\t\tswitch(token.type) {\n\t\t\t\t\tcase \"link_open\":\n\t\t\t\t\t\tif(token.markup === \"tw_prettylink\" || token.markup === \"tw_prettyextlink\") {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\thref = token.attrGet(\"href\");\n\t\t\t\t\t\tif(href[0] === \"#\") {\n\t\t\t\t\t\t\ttoken.tag = \"$link\";\n\t\t\t\t\t\t\thref = $tw.utils.decodeURIComponentSafe(href.substring(1));\n\t\t\t\t\t\t\ttitle = token.attrGet(\"title\");\n\t\t\t\t\t\t\ttoken.attrs = [[\"to\", href], [\"class\", \"_codified_\"]];\n\t\t\t\t\t\t\tif(title) {\n\t\t\t\t\t\t\t\ttoken.attrSet(\"tooltip\",title);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttoken.attrSet(\"target\",\"_blank\");\n\t\t\t\t\t\t\ttoken.attrJoin(\"class\",\"tc-tiddlylink-external\");\n\t\t\t\t\t\t\ttoken.attrJoin(\"class\",\"_codified_\");\n\t\t\t\t\t\t\ttoken.attrSet(\"rel\",\"noopener noreferrer\");\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttagStack.push(token.tag);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"link_close\":\n\t\t\t\t\t\tif(token.markup === \"tw_prettylink\" || token.markup === \"tw_prettyextlink\") {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttoken.tag = tagStack.pop();\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"image\":\n\t\t\t\t\t\ttoken.tag = \"$image\";\n\t\t\t\t\t\tsrc = token.attrGet(\"src\");\n\t\t\t\t\t\talt = token.attrGet(\"alt\");\n\t\t\t\t\t\ttoken.attrSet(\"alt\",alt);\n\t\t\t\t\t\ttitle = token.attrGet(\"title\");\n\n\t\t\t\t\t\ttoken.attrs[token.attrIndex(\"src\")][0] = \"source\";\n\t\t\t\t\t\tif(src[0] === \"#\") {\n\t\t\t\t\t\t\tsrc = $tw.utils.decodeURIComponentSafe(src.substring(1));\n\t\t\t\t\t\t\ttoken.attrSet(\"source\",src);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(title) {\n\t\t\t\t\t\t\ttoken.attrs[token.attrIndex(\"title\")][0] = \"tooltip\";\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n}\n\nmodule.exports = function tiddlyWikiPlugin(markdown,options) {\n\tvar defaults = {\n\t\trenderWikiText: false,\n\t\tblockRules: {},\n\t\tinlineRules: {}\n\t};\n\n\tmd = markdown;\n\tpluginOpts = md.utils.assign({},defaults,options||{});\n\n\tmd.renderer.rules.code_inline = render_code_inline;\n\tmd.renderer.rules.code_block = render_code_block;\n\tmd.renderer.rules.fence = render_fence;\n\tmd.renderer.rules.paragraph_open = render_paragraph_open;\n\tmd.renderer.rules.paragraph_close = render_paragraph_close;\n\tmd.renderer.rules.footnote_ref = render_footnote_ref;\n\tmd.renderer.rules.footnote_open = render_footnote_open;\n\tmd.renderer.rules.footnote_anchor = render_footnote_anchor;\n\tmd.renderer.rules.text_special = render_text_special;\n\tmd.renderer.rules.tw_expr = render_tw_expr;\n\tmd.renderer.renderAttrs = render_token_attrs;\n\n\tif(pluginOpts.renderWikiText) {\n\t\tmd.helpers.parseLinkLabel = extendParseLinkLabel(md.helpers.parseLinkLabel);\n\n\t\tif(pluginOpts.inlineRules.image) {\n\t\t\tmd.inline.ruler.after(\"link\",\"tw_image\",tw_image);\n\t\t}\n\t\tif(pluginOpts.inlineRules.prettyextlink) {\n\t\t\tmd.inline.ruler.after(\"link\",\"tw_prettyextlink\",tw_prettyextlink);\n\t\t}\n\t\tif(pluginOpts.inlineRules.prettylink) {\n\t\t\tmd.inline.ruler.after(\"link\",\"tw_prettylink\",tw_prettylink);\n\t\t}\n\t\tif(pluginOpts.inlineRules.filteredtranscludeinline) {\n\t\t\tmd.inline.ruler.before(\"html_inline\",\"tw_filteredtranscludeinline\",tw_filteredtranscludeinline);\n\t\t}\n\t\tif(pluginOpts.inlineRules.transcludeinline) {\n\t\t\tmd.inline.ruler.before(\"html_inline\",\"tw_transcludeinline\",tw_transcludeinline);\n\t\t}\n\t\tif(pluginOpts.inlineRules.macrocallinline) {\n\t\t\tmd.inline.ruler.before(\"html_inline\",\"tw_macrocallinline\",tw_macrocallinline);\n\t\t}\n\n\t\tmd.inline.ruler.at(\"html_inline\",extendHtmlInline(md.inline.ruler.__rules__[md.inline.ruler.__find__(\"html_inline\")].fn));\n\t\tmd.block.ruler.after(\"html_block\",\"tw_block\",tw_block,{\n\t\t\talt: [ \"paragraph\", \"reference\", \"blockquote\" ]\n\t\t});\n\t\tmd.inline.parse = extendInlineParse(md.inline,md.inline.parse,options.inlineRules);\n\t}\n\n\tmd.core.ruler.disable(\"text_join\");\n\tmd.core.ruler.push(\"wikify\",wikify);\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown/new-markdown.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown/new-markdown-button\ntags: $:/tags/PageControls\ncaption: {{$:/plugins/tiddlywiki/markdown/images/new-markdown-button}} {{$:/language/Buttons/NewMarkdown/Caption}}\ndescription: {{$:/language/Buttons/NewMarkdown/Hint}}\nlist-after: $:/core/ui/Buttons/new-tiddler\n\n\\whitespace trim\n<$button tooltip={{$:/language/Buttons/NewMarkdown/Hint}} aria-label={{$:/language/Buttons/NewMarkdown/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-new-tiddler\" type=\"text/markdown\"/>\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/plugins/tiddlywiki/markdown/images/new-markdown-button}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewMarkdown/Caption}}/></span>\n<%endif%>\n</$button>\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/markdown\",\n\t\"name\": \"Markdown\",\n\t\"description\": \"Markdown parser based on markdown-it\",\n\t\"list\": \"readme settings syntax license\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown/readme\n\nThis plugin provides Markdown support via the [[markdown-it|https://github.com/markdown-it/markdown-it]] parser and its associated plugins:\n\n* markdown-it-deflist\n* markdown-it-footnote\n* markdown-it-ins\n* markdown-it-mark\n* markdown-it-sub\n* markdown-it-sup\n\n!! Compatibility Notes\n\n* <p>A tab character in Markdown has a size of four spaces. Configure the tab size of your code editor accordingly. For example, if you use <$text text=\"CodeMirror\"/>, it is recommended that you set $:/config/codemirror/indentUnit and $:/config/codemirror/tabSize to `4` to avoid inconsistent indentations.</p>\n* <p>HTML blocks are ultimately parsed by the <$text text=WikiText/> parser: //an opening tag followed by a blank line will activate block-level parsing for its content//. When working with tags designed to contain literal content, such as `<pre>` and `<style>` tags, refrain from adding blank lines after the opening tags.</p>\n* <p>You must terminate a table with either a blank line or another block-level structure.</p>\n* <p>`latex-parser` in $:/config/markdown/renderWikiTextPragma is no longer required and will be ignored.</p>\n* <p>Config option `linkNewWindow` is removed.</p>\n\n!! Extending the Parser\n\nYou can extend the parser by loading additional markdown-it plugins this way:\n\n```js\nvar plugin1 = require(...);\nvar plugin2 = require(...);\n\nvar md = $tw.Wiki.parsers[\"text/markdown\"].prototype.md;\n\nmd.use(plugin1)\n  .use(plugin2, opts, ...);\n```\n\n! Plugin Configuration\n\n<h2 style=\"margin-top:1.5em\">~WikiText Pragma</h2>\n\nThe value of [[renderWikiTextPragma|$:/config/markdown/renderWikiTextPragma]] has been carefully tuned to properly integrate markdown with ~TiddlyWiki. Changing this setting may produce unexpected results, but the inclusion of the following parser rules should be fine:\n\n; image\n: embed images using ~TiddlyWiki's image syntax:\n\n<p style=\"margin-left:1em\">\n\n```\n[img[An explanatory tooltip|TiddlerTitle]]\n\n[img width=23 class=\"tc-image\" [https://tiddlywiki.com/fractalveg.jpg]]\n```\n</p>\n\n; prettylink\n: create links the ~TiddlyWiki way:\n\n<p style=\"margin-left:1em\">\n\n```\n[[TiddlerTitle]]\n\n[[Displayed Link Title|Tiddler Title]]\n\n[[TW5|https://tiddlywiki.com/]]\n```\n</p>\n\n; prettyextlink\n: create external links using the following syntax:\n\n<p style=\"margin-left:1em\">\n\n```\n[ext[Open file|index.html]]\n\n[ext[Open file|../README.md]]\n```\n</p>\n\n; wikilink\n: auto-link ~CamelCase titles\n\n; syslink\n: auto-link system tiddlers\n\n<h2 style=\"margin-top:1.5em\">Typographical Replacements</h2>\n\nWhen [[typographer|$:/config/markdown/typographer]] is enabled, markdown-it will provide these typographical replacements:\n\n```\n(c) (C)   → ©\n(tm) (TM) → ™\n(r) (R)   → ®\n+-        → ±\n...       → …\n?....     → ?..\n!....     → !..\n?????     → ???\n!!!!!     → !!!\n,,        → ,\n--        → &ndash;\n---       → &mdash;\n```\n\n! Making Markdown the Default in TiddlyWiki\n\n!! Modifying Existing Actions\n\nAdding `type=\"text/markdown\"` to the actions of the following buttons will\noverride the default behavior.\n\n* New Journal - $:/core/ui/Actions/new-journal\n* New Tiddler Here - $:/core/ui/Buttons/new-here\n* New Tiddler - $:/core/ui/Actions/new-tiddler\n\n!! Using Markdown for Missing Links\n\nBy default, missing tiddlers are created with a blank content type, which\nimplies WikiText. Setting [[$:/config/DefaultMissingType]] to `text/markdown`\nwill make it so that tiddlers created from a missing tiddler link will be in\nMarkdown rather than in WikiText.\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown/settings/breaks.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown/settings/breaks\ntags: $:/tags/ControlPanel/Settings/Markdown\ncaption: Breaks\n\nmarkdown-it library config: Convert `\\n` in paragraphs into `<br>`\n\n<$checkbox tiddler=\"$:/config/markdown/breaks\" field=\"text\" checked=\"true\" unchecked=\"false\">\n    [[Breaks|$:/config/markdown/breaks]]\n</$checkbox>"
  },
  {
    "path": "plugins/tiddlywiki/markdown/settings/linkify.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown/settings/linkify\ntags: $:/tags/ControlPanel/Settings/Markdown\ncaption: Linkify\n\nmarkdown-it library config: Autoconvert URL-like text to links\n\n<$checkbox tiddler=\"$:/config/markdown/linkify\" field=\"text\" checked=\"true\" unchecked=\"false\">\n    [[Linkify|$:/config/markdown/linkify]]\n</$checkbox>"
  },
  {
    "path": "plugins/tiddlywiki/markdown/settings/quotes.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown/settings/quotes\ntags: $:/tags/ControlPanel/Settings/Markdown\ncaption: Quotes replacement\nlist-after: $:/plugins/tiddlywiki/markdown/settings/typographer\n\nmarkdown-it library config: Double + single quotes replacement pairs, when [[typographer|$:/config/markdown/typographer]] is enabled.\n\n|[[Quotes replacement|$:/config/markdown/quotes]]|<$edit-text tiddler=\"$:/config/markdown/quotes\" tag=\"input\"/> |"
  },
  {
    "path": "plugins/tiddlywiki/markdown/settings/renderWikiText.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown/settings/renderWikiText\ntags: $:/tags/ControlPanel/Settings/Markdown\ncaption: Enable WikiText\n\nAfter Markdown is parsed, should any text elements be handed off to the ~WikiText parser for further processing?\n\n<$checkbox tiddler=\"$:/config/markdown/renderWikiText\" field=\"text\" checked=\"true\" unchecked=\"false\">\n    [[Enable WikiText|$:/config/markdown/renderWikiText]]\n</$checkbox>"
  },
  {
    "path": "plugins/tiddlywiki/markdown/settings/renderWikiTextPragma.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown/settings/renderWikiTextPragma\ntags: $:/tags/ControlPanel/Settings/Markdown\ncaption: Enabled WikiText parser rules\n\nWhen handing off to the ~WikiText parser, what parser rules should it follow?\n\n|[[Enabled WikiText parser rules|$:/config/markdown/renderWikiTextPragma]]|<$edit tiddler=\"$:/config/markdown/renderWikiTextPragma\" class=\"tc-edit-texteditor\" autoHeight=\"yes\"/> |"
  },
  {
    "path": "plugins/tiddlywiki/markdown/settings/typographer.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown/settings/typographer\ntags: $:/tags/ControlPanel/Settings/Markdown\ncaption: Typographer\n\nmarkdown-it library config: Enable some language-neutral replacement + quotes beautification\n\n<$checkbox tiddler=\"$:/config/markdown/typographer\" field=\"text\" checked=\"true\" unchecked=\"false\">\n    [[Typographer|$:/config/markdown/typographer]]\n</$checkbox>"
  },
  {
    "path": "plugins/tiddlywiki/markdown/settings.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown/settings\ntags: $:/tags/ControlPanel/SettingsTab\ncaption: Markdown\n\nThese settings let you customise the behaviour of Markdown. See [[plugin|$:/plugins/tiddlywiki/markdown]] readme tab for more information.\n\n''IMPORTANT:'' You must reload your wiki for changes to take effect.\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Settings/Markdown]]\">\n\n<div class=\"tc-control-panel-setting\" data-setting-title=<<currentTiddler>> >\n\n!!.tc-control-panel-accent <$link><$transclude field=\"caption\"/></$link>\n\n<$transclude/>\n\n</div>\n\n</$list>"
  },
  {
    "path": "plugins/tiddlywiki/markdown/styles.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown/styles\ntags: [[$:/tags/Stylesheet]]\ncode-body: yes\n\n.markdown {\n\tdisplay: block;\n\tmargin: 0px;\n}\nspan.markdown {\n\tdisplay: inline;\n}\n.markdown hr {\n  margin-top: 20px;\n  margin-bottom: 20px;\n  border: 0;\n  border-top: 1px solid <<colour muted-foreground>>;\n}\n.markdown .footnotes {\n\tfont-size: 0.9em;\n\tline-height: 1.32;\n}\n.markdown a.footnote-ref {\n\tcolor: <<colour tiddler-link-foreground>>;\n\tfont-size: 0.75em;\n\ttext-decoration: none;\n\tvertical-align: super;\n\tpadding:0px 1px;\n}\n.markdown ol.footnotes-list {\n\tpadding-left: 2em;\n}\n.markdown .footnote-item p {\n\tmargin: 0.7em 0px;\n}\n.markdown a.footnote-backref {\n\tcolor: <<colour tiddler-link-foreground>>;\n\tfont-size: 0.8em;\n\ttext-decoration: none;\n\tmargin-left: 0.25em;\n}\n.markdown a.footnote-ref:target, .markdown .footnote-item:target {\n\tbackground-color: <<colour footnote-target-background>>;\n\tscroll-margin-top: {{{ [{$:/themes/tiddlywiki/vanilla/options/stickytitles}match[yes]then[120px]else[60px]] }}};\n}\n.markdown li > p:first-child {\n\tmargin-top: 0px;\n}\n.markdown li + li {\n\tmargin-top: 2px;\n}\n.markdown mark {\n\tpadding: 1px 3px;\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown/syntax.tid",
    "content": "\ntitle: $:/plugins/tiddlywiki/markdown/syntax\n\nTo review standard Markdown syntax, see: [ext[CommonMark quick reference|https://commonmark.org/help/]]. For formal specification, consult the [ext[CommonMark Spec|https://spec.commonmark.org/current/]].\n\n! Linking to Tiddlers\n\nPrepend `#` to tiddler titles to form link addresses. If a tiddler title contains spaces or other special characters, you must either (1) URI-encode the title, or (2) surround the #title with `<` `>` and backslash-escape any `<` or `>` in the title.\n\n!! Links\n\n<pre><code>[link text](<strong>#</strong><$text text=\"TiddlerTitle\"/> \"optional tooltip\")\n\n[link text](<strong>#</strong>New<strong>%20</strong>Tiddler)\n\n[link text](<strong>&lt;#</strong>New Tiddler<strong>&gt;</strong>)\n\n[](<strong>&lt;#</strong>How to use <strong>\\</strong>&lt;$list<strong>\\</strong>&gt; widget?<strong>&gt;</strong>)\n</code></pre>\n\nYou can also use the `<$link>` widget to generate links to tiddlers:\n\n```\n<$link to=\"Tiddler Title\">Displayed Link Title</$link>\n```\n\n!! Reference Style Links\n\n```\n[link text][1]\n[link text][2]\n\n[1]: #New%20Tiddler \"optional tooltip\"\n\n[2]: <#Another Tiddler>\n```\n\n!! Images\n\n```\n![alt text](#Motovun%20Jack.jpg \"optional tooltip\")\n\n![alt text](<#Motovun Jack.jpg>)\n```\n\n! Escaping Special Characters\n\nMarkdown allows you to escape ASCII punctuation characters with `\\`.\n\n! HTML Blocks\n\nAn [[HTML block|https://spec.commonmark.org/0.30/#html-blocks]] is a group of lines that starts with an HTML tag and is treated as raw HTML. Block-level tags such as `<div>` and `<p>` can interrupt a paragraph. Inline elements such as `<strong>` and `<em>` can start an HTML block if the //complete// tag begins on a new paragraph by itself. In most cases, an HTML block continues until a blank line is reached.\n\nA widget tag that begins on a new paragraph will also be treated as an HTML block. Markdown elements are not recognized inside the HTML block. For example:\n\n```\nsee\n\n<$link to=\"New Tiddler\">\n_New_ Tiddler\n</$link>\n```\n\nrendered as:\n\n```\n<p>see</p>\n<$link to=\"New Tiddler\">\n_New_ Tiddler\n</$link>\n```\n\nA widget tag not preceded by a blank line is an inline element.\n\n```\nsee\n<$link to=\"New Tiddler\">\n_New_ Tiddler\n</$link>\n```\n\nrendered as:\n\n```\n<p>see <$link to=\"New Tiddler\"><em>New</em> Tiddler</$link></p>\n```\n\n! Syntax Extensions\n\n!! <$text text=KaTeX/>\n\nYou need to install the <$text text=KaTeX/> plugin to activate this syntax extension.\n\nSurround your math expression with `$` for inline rendering. Whitespace characters cannot immediately follow the opening `$` or precede the closing `$`, and the closing delimiter must not immediately precede a digit. Furthermore, `$` followed by `:/` will not be recognized as a valid opening or closing delimiter either.\n\nHere's an example of an inline math expression:\n\n```\n$c = \\pm\\sqrt{a^2 + b^2}$\n```\n\nUse `$$` to center the math in display mode:\n\n```\n$$c = \\pm\\sqrt{a^2 + b^2}$$\n```\n\n!! Superscript and Subscript\n\n```\nX^2^\n```\nx<sup>2</sup>\n\n```\nH~2~O\n```\nH<sub>2</sub>O\n\n!! Marked Text\n\n```\n==marked text==\n```\n\n<mark>marked text</mark>\n\n!! Strikethrough\n\n```\n~~striked through text~~\n```\n\n<s>striked through text</s>\n\n!! Inserted Text\n\n```\n++inserted text++\n```\n\n<ins>inserted text</ins>\n\n!! Tables\n\nmarkdown-it supports <$text text=\"GitHub Flavored Markdown\"/> (GFM) [ext[table syntax|https://github.github.com/gfm/#tables-extension-]].\n\n```\n|Left Aligned |Centered   |Right Aligned |\n|:---         |   :---:   |          ---:|\n|apple        |bat        |candle        |\n```\n\n<table>\n<thead>\n<tr><th style=\"text-align:left\">Left Aligned</th><th style=\"text-align:center\">Centered</th><th style=\"text-align:right\">Right Aligned</th></tr>\n</thead>\n<tbody>\n<tr><td style=\"text-align:left\">apple</td><td style=\"text-align:center\">bat</td><td style=\"text-align:right\">candle</td></tr>\n</tbody>\n</table>\n\n!! Definition Lists\n\n```\nTerm One\n: Definition with\nlazy continuation.\n\nTerm Two\n: Here is the first defintion.\n\n: Here is the second definition.\n\n  As you can see. A definition can have\n  more than one paragrpah. It can also have\n\n      And indended code block...\n```\n\n<dl>\n<dt>Term One</dt>\n<dd><p>Definition with\nlazy continuation.\n</p></dd>\n<dt>Term Two</dt>\n<dd><p>Here is the first defintion.\n</p></dd>\n<dd><p>Here is the second definition.</p><p>As you can see. A definition can have\nmore than one paragrpah. It can also have\n<pre><code>And indended code block...\n</code></pre>\n</p></dd>\n</dl>\n\n!! Footnotes\n\nFor detailed explanation, see [[Creating Footnotes|https://www.markdownguide.org/extended-syntax/#footnotes]].\n\n```\nHere's a simple footnote,[^1] and here's a longer one.[^bignote]\n\n[^1]: This is the first footnote.\n\n[^bignote]: Here's one with multiple paragraphs and code.\n\n    Indent paragraphs to include them in the footnote.\n\n    `{ my code }`\n\n    Add as many paragraphs as you like.\n```\n\n<div class=\"markdown\"><p>Here’s a simple footnote,<a class=\"footnote-ref\" href=\"##fn1--doc639182\" id=\"#fnref1--doc639182\">[1]</a> and here’s a longer one.<a class=\"footnote-ref\" href=\"##fn2--doc639182\" id=\"#fnref2--doc639182\">[2]</a>\n<hr class=\"footnotes-sep\">\n<section class=\"footnotes\">\n<ol class=\"footnotes-list\">\n<li id=\"#fn1--doc639182\" class=\"footnote-item\"><p>This is the first footnote. <a href=\"##fnref1--doc639182\" class=\"footnote-backref\">↥︎</a>\n</p></li>\n<li id=\"#fn2--doc639182\" class=\"footnote-item\"><p>Here’s one with multiple paragraphs and code.</p><p>Indent paragraphs to include them in the footnote.</p><p><code class=\"codified\">{ my code }</code></p><p>Add as many paragraphs as you like. <a href=\"##fnref2--doc639182\" class=\"footnote-backref\">↥︎</a>\n</p></li>\n</ol>\n</section>\n</p></div>"
  },
  {
    "path": "plugins/tiddlywiki/markdown/wrapper.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/markdown/wrapper.js\ntype: application/javascript\nmodule-type: parser\n\nWraps up the markdown-it parser for use as a Parser in TiddlyWiki\n\n\\*/\n\n\"use strict\";\n\nvar MarkdownIt = require(\"./markdown-it\");\n\nfunction parseAsBoolean(tiddlerName) {\n\treturn $tw.wiki.getTiddlerText(tiddlerName,\"false\").trim().toLowerCase() === \"true\";\n}\n\nvar pluginOpts = {\n\trenderWikiText: parseAsBoolean(\"$:/config/markdown/renderWikiText\"),\n\trenderWikiTextPragma: $tw.wiki.getTiddlerText(\"$:/config/markdown/renderWikiTextPragma\").trim()\n};\n\nvar markdownOpts = {\n\thtml: true,\n\txhtmlOut: true,\n\tbreaks: parseAsBoolean(\"$:/config/markdown/breaks\"),\n\tquotes: $tw.wiki.getTiddlerText(\"$:/config/markdown/quotes\").trim(),\n\ttypographer: parseAsBoolean(\"$:/config/markdown/typographer\"),\n\tlinkify: parseAsBoolean(\"$:/config/markdown/linkify\")\n};\n\n// Retrieve needed TW rule classes and instantiated rules\nfunction setupWikiRules(pluginOptions) {\n\tvar results = {};\n\n\tfunction collectAllRules(classes,type) {\n\t\tvar rulesInfo = [], key,\n\t\t\tself = wikiParser;\n\t\tfor(key in classes) {\n\t\t\t// instantiate the rule\n\t\t\tvar RuleClass = classes[key];\n\t\t\tvar rule = new RuleClass(self);\n\t\t\trule.name = key;\n\t\t\trule.class = RuleClass;\n\t\t\trule.is = {};\n\t\t\trule.is[type] = true;\n\t\t\trule.init(self);\n\n\t\t\trulesInfo.push({\n\t\t\t\trule: rule,\n\t\t\t\tmatchIndex: -1\n\t\t\t});\n\t\t};\n\t\treturn rulesInfo;\n\t}\n\n\tvar WikiParser = require(\"$:/core/modules/parsers/wikiparser/wikiparser.js\")[\"text/vnd.tiddlywiki\"];\n\n\t// first pass: get all rule classes\n\tvar wikiParser = new WikiParser(null, \"\", {parseAsInline: true, wiki: $tw.wiki});\n\n\t// restore all possible rules from each rule class\n\twikiParser.pragmaRules = collectAllRules(wikiParser.pragmaRuleClasses,\"pragma\");\n\twikiParser.blockRules = collectAllRules(wikiParser.blockRuleClasses,\"block\");\n\twikiParser.inlineRules = collectAllRules(wikiParser.inlineRuleClasses,\"inline\");\n\n\tvar pragma = pluginOptions.renderWikiText\n\t\t? \"\\\\rules except latex-parser extlink\\n\" + pluginOptions.renderWikiTextPragma\n\t\t: \"\\\\rules only html entity commentinline commentblock\";\n\n\twikiParser.pos = 0;\n\twikiParser.source = pragma;\n\twikiParser.sourceLength = pragma.length;\n\n\t// second pass: remove uninterested rules based on \\rules pragma\n\twikiParser.parsePragmas();\n\n\tresults.blockRules = {};\n\tresults.inlineRules = {};\n\tresults.blockRuleClasses = {};\n\tresults.inlineRuleClasses = {};\n\n\t// save the rule sets for future markdown parsing\n\twikiParser.blockRules.forEach(function(ruleinfo) {\n\t\tresults.blockRules[ruleinfo.rule.name] = ruleinfo;\n\t\tresults.blockRuleClasses[ruleinfo.rule.name] = ruleinfo.rule.class;\n\t});\n\twikiParser.inlineRules.forEach(function(ruleinfo) {\n\t\tresults.inlineRules[ruleinfo.rule.name] = ruleinfo;\n\t\tresults.inlineRuleClasses[ruleinfo.rule.name] = ruleinfo.rule.class;\n\t});\n\treturn results;\n}\n\n// Creates markdown-it parser\nfunction createMarkdownEngine(markdownItOptions, pluginOptions) {\n\tvar md = new MarkdownIt(markdownItOptions)\n\t\t.use(require(\"./markdown-it-sub\"))\n\t\t.use(require(\"./markdown-it-sup\"))\n\t\t.use(require(\"./markdown-it-ins\"))\n\t\t.use(require(\"./markdown-it-mark\"))\n\t\t.use(require(\"./markdown-it-footnote\"))\n\t\t.use(require(\"./markdown-it-deflist\"));\n\n\tvar results = setupWikiRules(pluginOptions);\n\n\tMarkdownParser.prototype.blockRuleClasses = results.blockRuleClasses;\n\tMarkdownParser.prototype.blockRules = results.blockRules;\n\n\tMarkdownParser.prototype.inlineRuleClasses = results.inlineRuleClasses;\n\tMarkdownParser.prototype.inlineRules = results.inlineRules;\n\n\tif(pluginOptions.renderWikiText && $tw.modules.titles[\"$:/plugins/tiddlywiki/katex/katex.min.js\"]) {\n\t\tmd.use(require(\"./markdown-it-katex\"));\n\t}\n\n\tmd.use(require(\"./markdown-it-tiddlywiki\"),{\n\t\trenderWikiText: pluginOptions.renderWikiText,\n\t\tblockRules: results.blockRules,\n\t\tinlineRules: results.inlineRules\n\t});\n\n\t$tw.utils.each([\"image\",\"prettylink\",\"prettyextlink\"], function(rule) {\n\t\tif(MarkdownParser.prototype.inlineRules[rule]) {\n\t\t\t// delegate to md; ignore the rule class in WikiParser\n\t\t\tdelete MarkdownParser.prototype.inlineRuleClasses[rule];\n\t\t}\n\t});\n\treturn md;\n}\n\n/// Parse tree post processing ///\n\nfunction deactivateLinks(tree) {\n\t$tw.utils.each(tree,function(node) {\n\t\tif(node.type === \"link\") {\n\t\t\tnode.type = \"text\";\n\t\t\tnode.text = node.children[0].text;\n\t\t\tdelete node.attributes;\n\t\t\tdelete node.children;\n\t\t\tdelete node.attributes;\n\t\t} else {\n\t\t\tdeactivateLinks(node.children);\n\t\t}\n\t});\n}\n\n// true if the node contains \"_codified_\" class attribute\nfunction isCodified(node) {\n\treturn node.attributes\n\t\t&& node.attributes.class\n\t\t&& node.attributes.class.type === \"string\"\n\t\t&& (node.attributes.class.value.split(\" \").indexOf(\"_codified_\") !== -1);\n}\n\nfunction decodeEntities(s) {\n\treturn s.replace(/(&#?[a-zA-Z0-9]{2,8};)/g,$tw.utils.entityDecode);\n}\n\n// Add e\"...\" and e'....' syntax to enable decoding of HTML entities\n// in string literals.\nfunction parseStringLiteralExtended(source,pos) {\n\tvar node = {\n\t\ttype: \"string\",\n\t\tstart: pos\n\t};\n\tvar reString = /(?:\"\"\"([\\s\\S]*?)\"\"\"|e?\"([^\"]*)\")|(?:e?'([^']*)')/g;\n\treString.lastIndex = pos;\n\tvar match = reString.exec(source);\n\tif(match && match.index === pos) {\n\t\tnode.value = match[1] !== undefined ? match[1] :\n\t\t\t(match[2] !== undefined ? match[2] : match[3]);\n\t\tnode.end = pos + match[0].length;\n\t\tif(match[0].charAt(0) === \"e\") {\n\t\t\tnode.value = decodeEntities(node.value);\n\t\t}\n\t\treturn node;\n\t} else {\n\t\treturn null;\n\t}\n}\n\nfunction processWikiTree(tree,hasWikiLinkRule) {\n\tvar stack = [].concat(tree);\n\n\tvar mergeable  = function(node) {\n\t\treturn node.type === \"element\" && node.tag === \"p\" && (!node.attributes || Object.keys(node.attributes).length === 0);\n\t};\n\n\twhile(stack.length) {\n\t\tvar node = stack.pop();\n\t\tif(node.type === \"element\" && node.tag === \"p\") {\n\t\t\t// reduce nested <p> nodes\n\t\t\twhile(node.children && node.children.length === 1 && mergeable(node.children[0])) {\n\t\t\t\tnode.children = node.children[0].children;\n\t\t\t}\n\t\t} else if(hasWikiLinkRule && isCodified(node)) {\n\t\t\tdeactivateLinks(node.children);\n\t\t\tcontinue;\n\t\t}\n\t\tif(node.children && node.children.length > 0) {\n\t\t\tstack.push.apply(stack,node.children);\n\t\t}\n\t}\n}\n\n// to extend MarkdownIt outside of this module, do:\n//\n// md = $tw.Wiki.parsers[\"text/markdown\"].prototype.md;\n// md.use(plugin[, options]);\nMarkdownParser.prototype.md = createMarkdownEngine(markdownOpts,pluginOpts);\n\nfunction MarkdownParser(type,text,options) {\n\tvar env = {};\n\tvar md = this.md;\n\tvar mdTree, textToParse;\n\n\tif(options.parseAsInline) {\n\t\tmdTree = md.parseInline(text,env);\n\t\ttextToParse = '<span class=\"markdown\">' + md.renderer.render(mdTree,md.options,env) + \"</span>\";\n\t} else {\n\t\tmdTree = md.parse(text,env);\n\t\ttextToParse = '<div class=\"markdown\">\\n' + md.renderer.render(mdTree,md.options,env) + \"</div>\";\n\t}\n\n\tif($tw.log.MARKDOWN) {\n\t\tconsole.log(JSON.stringify(mdTree,null,2));\n\t\tconsole.log(\"\\n----------------\\n\" + textToParse);\n\t}\n\n\tvar wikiParser;\n\n\tvar origParseStringLiteral = $tw.utils.parseStringLiteral;\n\t$tw.utils.parseStringLiteral = parseStringLiteralExtended;\n\n\ttry {\n\t\twikiParser = new $tw.Wiki.parsers[\"text/vnd.tiddlywiki\"](null,textToParse,{\n\t\t\tparseAsInline: true,\n\t\t\twiki: options.wiki,\n\t\t\trules: { pragma: {}, block: this.blockRuleClasses, inline: this.inlineRuleClasses }\n\t\t});\n\t}\n\tcatch(err) {\n\t\twikiParser = $tw.wiki.parseText(\"text/vnd.tiddlywiki\",\n\t\t\t\"<strong>Error encountered while parsing the tiddler:</strong><p>\" + err.message + \"</p>\",\n\t\t\t{parseAsInline: false, wiki: options.wiki});\n\t}\n\tfinally{\n\t\t$tw.utils.parseStringLiteral = origParseStringLiteral;\n\t}\n\tif(wikiParser.tree.length > 0) {\n\t\tvar hasWikiLinkRule = false;\n\t\t// see if wikilink rule has been invoked\n\t\t$tw.utils.each(wikiParser.inlineRules,function(ruleInfo) {\n\t\t\tif(ruleInfo.rule.name === \"wikilink\") {\n\t\t\t\thasWikiLinkRule = true;\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\t\tprocessWikiTree(wikiParser.tree,hasWikiLinkRule);\n\t}\n\tthis.tree = wikiParser.tree;\n\tthis.source = text;\n\tthis.type = type || \"text/markdown\";\n\tthis.wiki = options.wiki;\n}\n\nexports[\"text/markdown\"] = MarkdownParser;\nexports[\"text/x-markdown\"] = MarkdownParser;\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown-legacy/EditorToolbar/bold.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown-legacy/EditorToolbar/bold\nlist-after: $:/core/ui/EditorToolbar/bold\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/bold\ncaption: {{$:/language/Buttons/Bold/Caption}} (Markdown)\ndescription: {{$:/language/Buttons/Bold/Hint}}\ncondition: [<targetTiddler>type[text/x-markdown]] [<targetTiddler>type[text/markdown]]\nshortcuts: ((bold))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"**\"\n\tsuffix=\"**\"\n/>\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown-legacy/EditorToolbar/heading-1.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown-legacy/EditorToolbar/heading-1\nlist-after: $:/core/ui/EditorToolbar/heading-1\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/heading-1\ncaption: {{$:/language/Buttons/Heading1/Caption}} (Markdown)\ndescription: {{$:/language/Buttons/Heading1/Hint}}\ncondition: [<targetTiddler>type[text/x-markdown]] [<targetTiddler>type[text/markdown]]\nshortcuts: ((heading-1))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"1\"\n/>\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown-legacy/EditorToolbar/heading-2.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown-legacy/EditorToolbar/heading-2\nlist-after: $:/core/ui/EditorToolbar/heading-2\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/heading-2\ncaption: {{$:/language/Buttons/Heading2/Caption}} (Markdown)\ndescription: {{$:/language/Buttons/Heading2/Hint}}\ncondition: [<targetTiddler>type[text/x-markdown]] [<targetTiddler>type[text/markdown]]\nshortcuts: ((heading-2))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"2\"\n/>\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown-legacy/EditorToolbar/heading-3.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown-legacy/EditorToolbar/heading-3\nlist-after: $:/core/ui/EditorToolbar/heading-3\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/heading-3\ncaption: {{$:/language/Buttons/Heading3/Caption}} (Markdown)\ndescription: {{$:/language/Buttons/Heading3/Hint}}\ncondition: [<targetTiddler>type[text/x-markdown]] [<targetTiddler>type[text/markdown]]\nshortcuts: ((heading-3))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"3\"\n/>\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown-legacy/EditorToolbar/heading-4.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown-legacy/EditorToolbar/heading-4\nlist-after: $:/core/ui/EditorToolbar/heading-4\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/heading-4\ncaption: {{$:/language/Buttons/Heading4/Caption}} (Markdown)\ndescription: {{$:/language/Buttons/Heading4/Hint}}\ncondition: [<targetTiddler>type[text/x-markdown]] [<targetTiddler>type[text/markdown]]\nshortcuts: ((heading-4))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"4\"\n/>\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown-legacy/EditorToolbar/heading-5.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown-legacy/EditorToolbar/heading-5\nlist-after: $:/core/ui/EditorToolbar/heading-5\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/heading-5\ncaption: {{$:/language/Buttons/Heading5/Caption}} (Markdown)\ndescription: {{$:/language/Buttons/Heading5/Hint}}\ncondition: [<targetTiddler>type[text/x-markdown]] [<targetTiddler>type[text/markdown]]\nshortcuts: ((heading-5))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"5\"\n/>\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown-legacy/EditorToolbar/heading-6.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown-legacy/EditorToolbar/heading-6\nlist-after: $:/core/ui/EditorToolbar/heading-6\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/heading-6\ncaption: {{$:/language/Buttons/Heading6/Caption}} (Markdown)\ndescription: {{$:/language/Buttons/Heading6/Hint}}\ncondition: [<targetTiddler>type[text/x-markdown]] [<targetTiddler>type[text/markdown]]\nshortcuts: ((heading-6))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"6\"\n/>\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown-legacy/EditorToolbar/italic.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown-legacy/EditorToolbar/italic\nlist-after: $:/core/ui/EditorToolbar/italic\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/italic\ncaption: {{$:/language/Buttons/Italic/Caption}} (Markdown)\ndescription: {{$:/language/Buttons/Italic/Hint}}\ncondition: [<targetTiddler>type[text/x-markdown]] [<targetTiddler>type[text/markdown]]\nshortcuts: ((italic))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"*\"\n\tsuffix=\"*\"\n/>\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown-legacy/EditorToolbar/link-dropdown.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown-legacy/EditorToolbar/link-dropdown\n\n\\define lingo-base() $:/language/Buttons/Link/\n\n\\define add-link-actions()\n\\whitespace trim\n<$action-sendmessage $message=\"tm-edit-text-operation\" $param=\"make-markdown-link\" text={{$(linkTiddler)$}} />\n<$action-deletetiddler $filter=\"[<dropdown-state>] [<searchTiddler>] [<linkTiddler>] [<storeTitle>] [<searchListState>]\"/>\n\\end\n\n\\define get-focus-selector() [data-tiddler-title=\"$(cssEscapedTitle)$\"] .tc-create-wikitext-link input\n\n\\define cancel-search-actions-inner()\n<$set name=\"userInput\" value={{{ [<storeTitle>get[text]] }}}><$list filter=\"[<searchTiddler>get[text]!match<userInput>]\" emptyMessage=\"<$action-deletetiddler $filter='[<searchTiddler>] [<linkTiddler>] [<storeTitle>] [<searchListState>]'/>\"><$action-setfield $tiddler=<<searchTiddler>> text=<<userInput>>/><$action-setfield $tiddler=<<refreshTitle>> text=\"yes\"/></$list></$set>\n\\end\n\n\\define cancel-search-actions() <$list filter=\"[<storeTitle>!has[text]] +[<searchTiddler>!has[text]]\" emptyMessage=\"<<cancel-search-actions-inner>>\"><$action-sendmessage $message=\"tm-edit-text-operation\" $param=\"focus-editor\"/></$list>\n\n\\define external-link()\n\\whitespace trim\n<$button class=\"tc-btn-invisible\" style=\"width: auto; display: inline-block; background-colour: inherit;\" actions=<<add-link-actions>>>\n{{$:/core/images/chevron-right}}\n</$button>\n\\end\n\n\\define set-next-input-tab(beforeafter:\"after\") <$macrocall $name=\"change-input-tab\" stateTitle=\"$:/state/tab/search-results/sidebar\" tag=\"$:/tags/SearchResults\" beforeafter=\"$beforeafter$\" defaultState={{$:/config/SearchResults/Default}} actions=\"<$action-setfield $tiddler='$:/state/search/currentTab' text=<<nextTab>>/>\"/>\n\n\\define body(config-title)\n\\whitespace trim\n''<<lingo Hint>>''\n\n<$vars searchTiddler=\"\"\"$config-title$/search\"\"\" linkTiddler=\"\"\"$config-title$/link\"\"\" linktext=\"\" searchListState=<<qualify \"$:/temp/link-search/selected-item\">> refreshTitle=<<qualify \"$:/temp/link-search/refresh\">> storeTitle=<<qualify \"$:/temp/link-search/input\">>>\n\n<$vars linkTiddler=<<searchTiddler>>>\n<$keyboard key=\"((input-tab-right))\" actions=<<set-next-input-tab>>>\n<$keyboard key=\"((input-tab-left))\" actions=<<set-next-input-tab \"before\">> class=\"tc-create-wikitext-link\">\n<$macrocall $name=\"keyboard-driven-input\" tiddler=<<searchTiddler>> storeTitle=<<storeTitle>>\n\t\tselectionStateTitle=<<searchListState>> refreshTitle=<<refreshTitle>> type=\"search\" filterMinLength=\"1\"\n\t\ttag=\"input\" focus=\"true\" class=\"tc-popup-handle\" inputCancelActions=<<cancel-search-actions>>\n\t\tinputAcceptActions=<<add-link-actions>> placeholder={{$:/language/Search/Search}} default=\"\"\n\t\tconfigTiddlerFilter=\"[[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}]\" />\n</$keyboard>\n</$keyboard>\n&#32;\n<$reveal tag=\"span\" state=<<storeTitle>> type=\"nomatch\" text=\"\">\n<<external-link>>\n&#32;\n<$button class=\"tc-btn-invisible\" style=\"width: auto; display: inline-block; background-colour: inherit;\">\n<<cancel-search-actions>><$set name=\"cssEscapedTitle\" value={{{ [<storyTiddler>escapecss[]] }}}><$action-sendmessage $message=\"tm-focus-selector\" $param=<<get-focus-selector>>/></$set>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</$vars>\n\n<$reveal tag=\"div\" state=<<storeTitle>> type=\"nomatch\" text=\"\">\n\n<$linkcatcher actions=<<add-link-actions>> to=<<linkTiddler>>>\n\n<$vars userInput={{{ [<storeTitle>get[text]] }}} configTiddler={{{ [[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}] }}}>\n\n{{$:/core/ui/SearchResults}}\n\n</$vars>\n\n</$linkcatcher>\n\n</$reveal>\n\n</$vars>\n\n\\end\n\n<$macrocall $name=\"body\" config-title=<<qualify \"$:/state/Link/\">>/>\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown-legacy/EditorToolbar/link.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown-legacy/EditorToolbar/link\nlist-after: $:/core/ui/EditorToolbar/link\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/link\ncaption: {{$:/language/Buttons/Link/Caption}}\ndescription: {{$:/language/Buttons/Link/Hint}}\ncondition: [<targetTiddler>type[text/x-markdown]] [<targetTiddler>type[text/markdown]]\nbutton-classes: tc-text-editor-toolbar-item-start-group\nshortcuts: ((link))\ndropdown: $:/plugins/tiddlywiki/markdown-legacy/EditorToolbar/link-dropdown\n\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown-legacy/EditorToolbar/linkify.tid",
    "content": "caption: {{$:/language/Buttons/Linkify/Caption}} (Markdown)\ncondition: [<targetTiddler>type[text/x-markdown]] [<targetTiddler>type[text/markdown]]\ndescription: {{$:/language/Buttons/Linkify/Hint}}\nicon: $:/plugins/tiddlywiki/markdown-legacy/images/markdown-linkify\nlist-after: $:/core/ui/EditorToolbar/linkify\nshortcuts: ((linkify))\ntitle: $:/plugins/tiddlywiki/markdown-legacy/EditorToolbar/linkify\ntags: $:/tags/EditorToolbar\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"[\"\n\tsuffix=\"]()\"\n/>\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown-legacy/EditorToolbar/list-bullet.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown-legacy/EditorToolbar/list-bullet\nlist-after: $:/core/ui/EditorToolbar/list-bullet\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/list-bullet\ncaption: {{$:/language/Buttons/ListBullet/Caption}} (Markdown)\ndescription: {{$:/language/Buttons/ListBullet/Hint}}\ncondition: [<targetTiddler>type[text/x-markdown]] [<targetTiddler>type[text/markdown]]\nshortcuts: ((list-bullet))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"*\"\n\tcount=\"1\"\n/>\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown-legacy/EditorToolbar/list-number.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown-legacy/EditorToolbar/list-number\nlist-after: $:/core/ui/EditorToolbar/list-number\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/list-number\ncaption: {{$:/language/Buttons/ListNumber/Caption}} (Markdown)\ndescription: {{$:/language/Buttons/ListNumber/Hint}}\ncondition: [<targetTiddler>type[text/x-markdown]] [<targetTiddler>type[text/markdown]]\nshortcuts: ((list-number))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"1.\"\n\tcount=\"1\"\n/>\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown-legacy/EditorToolbar/mono-block.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown-legacy/EditorToolbar/mono-block\nlist-after: $:/core/ui/EditorToolbar/mono-block\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/mono-block\ncaption: {{$:/language/Buttons/MonoBlock/Caption}} (Markdown)\ndescription: {{$:/language/Buttons/MonoBlock/Hint}}\ncondition: [<targetTiddler>type[text/x-markdown]] [<targetTiddler>type[text/markdown]]\nbutton-classes: tc-text-editor-toolbar-item-start-group\nshortcuts: ((mono-block))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-lines\"\n\tprefix=\"\n```\"\n\tsuffix=\"```\"\n/>\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown-legacy/EditorToolbar/mono-line.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown-legacy/EditorToolbar/mono-line\nlist-after: $:/core/ui/EditorToolbar/mono-line\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/mono-line\ncaption: {{$:/language/Buttons/MonoLine/Caption}} (Markdown)\ndescription: {{$:/language/Buttons/MonoLine/Hint}}\ncondition: [<targetTiddler>type[text/x-markdown]] [<targetTiddler>type[text/markdown]]\nshortcuts: ((mono-line))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"`\"\n\tsuffix=\"`\"\n/>\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown-legacy/EditorToolbar/quote.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown-legacy/EditorToolbar/quote\nlist-after: $:/core/ui/EditorToolbar/quote\ntags: $:/tags/EditorToolbar\nicon: $:/core/images/quote\ncaption: {{$:/language/Buttons/Quote/Caption}} (Markdown)\ndescription: {{$:/language/Buttons/Quote/Hint}}\ncondition: [<targetTiddler>type[text/x-markdown]] [<targetTiddler>type[text/markdown]]\nshortcuts: ((quote))\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\">\"\n\tcount=\"1\"\n/>\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown-legacy/KeyboardShortcuts/new-markdown-tiddler.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown-legacy/KeyboardShortcuts/new-markdown-tiddler\ntags: $:/tags/KeyboardShortcut\nkey: ((new-markdown-tiddler))\n\n\\whitespace trim\n<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\n<$action-sendmessage $message=\"tm-new-tiddler\" type=\"text/markdown\"/>\n</$navigator>\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown-legacy/config.multids",
    "content": "title: $:/config/\n\nShortcutInfo/new-markdown-tiddler: {{$:/language/Buttons/NewMarkdown/Hint}}\nshortcuts-mac/new-markdown-tiddler: ctrl-M\nshortcuts-not-mac/new-markdown-tiddler: alt-M\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown-legacy/config_breaks.tid",
    "content": "title: $:/config/markdown/breaks\n\nfalse"
  },
  {
    "path": "plugins/tiddlywiki/markdown-legacy/config_linkNewWindow.tid",
    "content": "title: $:/config/markdown/linkNewWindow\n\ntrue"
  },
  {
    "path": "plugins/tiddlywiki/markdown-legacy/config_linkify.tid",
    "content": "title: $:/config/markdown/linkify\n\nfalse"
  },
  {
    "path": "plugins/tiddlywiki/markdown-legacy/config_quotes.tid",
    "content": "title: $:/config/markdown/quotes\n\n“”‘’"
  },
  {
    "path": "plugins/tiddlywiki/markdown-legacy/config_renderWikiText.tid",
    "content": "title: $:/config/markdown/renderWikiText\n\ntrue"
  },
  {
    "path": "plugins/tiddlywiki/markdown-legacy/config_renderWikiTextPragma.tid",
    "content": "title: $:/config/markdown/renderWikiTextPragma\n\n\\rules only html image macrocallinline syslink transcludeinline wikilink filteredtranscludeblock macrocallblock transcludeblock latex-parser"
  },
  {
    "path": "plugins/tiddlywiki/markdown-legacy/config_typographer.tid",
    "content": "title: $:/config/markdown/typographer\n\nfalse"
  },
  {
    "path": "plugins/tiddlywiki/markdown-legacy/docs_type_markdown.tid",
    "content": "title: $:/language/Docs/Types/text/markdown\ndescription: Markdown\nname: text/markdown\ngroup: Text\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown-legacy/editor-operations/make-markdown-link.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/markdown-legacy/editor-operations/make-markdown-link.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to make a markdown link\n\n\\*/\n\n\"use strict\";\n\nexports[\"make-markdown-link\"] = function(event,operation) {\n\tif(operation.selection) {\n\t\tif(event.paramObject.text.indexOf(\"://\") !== -1) {\n\t\t\toperation.replacement = \"[\" + operation.selection + \"](\" + event.paramObject.text + \")\";\n\t\t} else {\n\t\t\toperation.replacement = \"[\" + operation.selection + \"](#\" + event.paramObject.text.replaceAll(\" \", \"%20\") + \")\";\n\t\t}\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t} else {\n\t\tif(event.paramObject.text.indexOf(\"://\") !== -1) {\n\t\t\toperation.replacement = \"<\" + event.paramObject.text + \">\";\n\t\t} else {\n\t\t\toperation.replacement = \"[](#\" + event.paramObject.text.replaceAll(\" \", \"%20\") + \")\";\n\t\t}\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t}\n\toperation.newSelStart = operation.selStart + operation.replacement.length;\n\toperation.newSelEnd = operation.newSelStart;\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown-legacy/files/remarkable-katex-license.txt",
    "content": "MIT License\n\nCopyright (c) 2017 Brad Howes\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown-legacy/files/remarkable-katex.js",
    "content": "\"use strict\";\n\n/**\n * Plugin for Remarkable Markdown processor which transforms $..$ and $$..$$ sequences into math HTML using the\n * Katex package.\n */\nconst rkatex = (md, options) => {\n  const backslash = '\\\\';\n  const dollar = '$';\n  const opts = options || {};\n  const delimiter = opts.delimiter || dollar;\n  if (delimiter.length !== 1) { throw new Error('invalid delimiter'); }\n\n  const katex = require(\"katex\");\n\n  /**\n   * Render the contents as KaTeX\n   */\n  const renderKatex = (source, displayMode) => katex.renderToString(source,\n                                                                    {displayMode: displayMode,\n                                                                     throwOnError: false});\n\n  /**\n   * Parse '$$' as a block. Based off of similar method in remarkable.\n   */\n  const parseBlockKatex = (state, startLine, endLine) => {\n    let haveEndMarker = false;\n    let pos = state.bMarks[startLine] + state.tShift[startLine];\n    let max = state.eMarks[startLine];\n\n    if (pos + 1 > max) { return false; }\n\n    const marker = state.src.charAt(pos);\n    if (marker !== delimiter) { return false; }\n\n    // scan marker length\n    let mem = pos;\n    pos = state.skipChars(pos, marker);\n    let len = pos - mem;\n\n    if (len !== 2) { return false; }\n\n    // search end of block\n    let nextLine = startLine;\n\n    for (;;) {\n      ++nextLine;\n      if (nextLine >= endLine) { break; }\n\n      pos = mem = state.bMarks[nextLine] + state.tShift[nextLine];\n      max = state.eMarks[nextLine];\n\n      if (pos < max && state.tShift[nextLine] < state.blkIndent) { break; }\n      if (state.src.charAt(pos) !== delimiter) { continue; }\n      if (state.tShift[nextLine] - state.blkIndent >= 4) { continue; }\n\n      pos = state.skipChars(pos, marker);\n      if (pos - mem < len) { continue; }\n\n      pos = state.skipSpaces(pos);\n      if (pos < max) { continue; }\n\n      haveEndMarker = true;\n      break;\n    }\n\n    // If a fence has heading spaces, they should be removed from its inner block\n    len = state.tShift[startLine];\n    state.line = nextLine + (haveEndMarker ? 1 : 0);\n    const content = state.getLines(startLine + 1, nextLine, len, true)\n            .replace(/[ \\n]+/g, ' ')\n            .trim();\n\n    state.tokens.push({type: 'katex', params: null, content: content, lines: [startLine, state.line],\n                       level: state.level, block: true});\n    return true;\n  };\n\n  /**\n   * Look for '$' or '$$' spans in Markdown text. Based off of the 'fenced' parser in remarkable.\n   */\n  const parseInlineKatex = (state, silent) => {\n    const start = state.pos;\n    const max = state.posMax;\n    let pos = start;\n\n    // Unexpected starting character\n    if (state.src.charAt(pos) !== delimiter) { return false; }\n\n    ++pos;\n    while (pos < max && state.src.charAt(pos) === delimiter) { ++pos; }\n\n    // Capture the length of the starting delimiter -- closing one must match in size\n    const marker = state.src.slice(start, pos);\n    if (marker.length > 2) { return false; }\n\n    const spanStart = pos;\n    let escapedDepth = 0;\n    while (pos < max) {\n      const char = state.src.charAt(pos);\n      if (char === '{' && (pos == 0 || state.src.charAt(pos - 1) != backslash)) {\n        escapedDepth += 1;\n      } else if (char === '}' && (pos == 0 || state.src.charAt(pos - 1) != backslash)) {\n        escapedDepth -= 1;\n        if (escapedDepth < 0) { return false; }\n      } else if (char === delimiter && escapedDepth === 0) {\n        const matchStart = pos;\n        let matchEnd = pos + 1;\n        while (matchEnd < max && state.src.charAt(matchEnd) === delimiter) { ++matchEnd; }\n\n        if (matchEnd - matchStart === marker.length) {\n          if (!silent) {\n            const content = state.src.slice(spanStart, matchStart)\n                .replace(/[ \\n]+/g, ' ')\n                .trim();\n            state.push({type: 'katex', content: content, block: marker.length > 1, level: state.level});\n          }\n          state.pos = matchEnd;\n          return true;\n        }\n      }\n      pos += 1;\n    }\n\n    if (!silent) { state.pending += marker; }\n    state.pos += marker.length;\n\n    return true;\n  };\n\n  md.inline.ruler.push('katex', parseInlineKatex, options);\n  md.block.ruler.push('katex', parseBlockKatex, options);\n  md.renderer.rules.katex = (tokens, idx) => renderKatex(tokens[idx].content, tokens[idx].block);\n  md.renderer.rules.katex.delimiter = delimiter;\n};\n\nmodule.exports = rkatex;\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown-legacy/files/remarkable-license.txt",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2014-2016, Jon Schlinkert\nCopyright (c) 2014 Jon Schlinkert, Vitaly Puzrin.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown-legacy/files/remarkable.js",
    "content": "!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(exports):\"function\"==typeof define&&define.amd?define([\"exports\"],t):t((e=e||self).remarkable={})}(this,function(e){\"use strict\";var t={Aacute:\"Á\",aacute:\"á\",Abreve:\"Ă\",abreve:\"ă\",ac:\"∾\",acd:\"∿\",acE:\"∾̳\",Acirc:\"Â\",acirc:\"â\",acute:\"´\",Acy:\"А\",acy:\"а\",AElig:\"Æ\",aelig:\"æ\",af:\"⁡\",Afr:\"𝔄\",afr:\"𝔞\",Agrave:\"À\",agrave:\"à\",alefsym:\"ℵ\",aleph:\"ℵ\",Alpha:\"Α\",alpha:\"α\",Amacr:\"Ā\",amacr:\"ā\",amalg:\"⨿\",AMP:\"&\",amp:\"&\",And:\"⩓\",and:\"∧\",andand:\"⩕\",andd:\"⩜\",andslope:\"⩘\",andv:\"⩚\",ang:\"∠\",ange:\"⦤\",angle:\"∠\",angmsd:\"∡\",angmsdaa:\"⦨\",angmsdab:\"⦩\",angmsdac:\"⦪\",angmsdad:\"⦫\",angmsdae:\"⦬\",angmsdaf:\"⦭\",angmsdag:\"⦮\",angmsdah:\"⦯\",angrt:\"∟\",angrtvb:\"⊾\",angrtvbd:\"⦝\",angsph:\"∢\",angst:\"Å\",angzarr:\"⍼\",Aogon:\"Ą\",aogon:\"ą\",Aopf:\"𝔸\",aopf:\"𝕒\",ap:\"≈\",apacir:\"⩯\",apE:\"⩰\",ape:\"≊\",apid:\"≋\",apos:\"'\",ApplyFunction:\"⁡\",approx:\"≈\",approxeq:\"≊\",Aring:\"Å\",aring:\"å\",Ascr:\"𝒜\",ascr:\"𝒶\",Assign:\"≔\",ast:\"*\",asymp:\"≈\",asympeq:\"≍\",Atilde:\"Ã\",atilde:\"ã\",Auml:\"Ä\",auml:\"ä\",awconint:\"∳\",awint:\"⨑\",backcong:\"≌\",backepsilon:\"϶\",backprime:\"‵\",backsim:\"∽\",backsimeq:\"⋍\",Backslash:\"∖\",Barv:\"⫧\",barvee:\"⊽\",Barwed:\"⌆\",barwed:\"⌅\",barwedge:\"⌅\",bbrk:\"⎵\",bbrktbrk:\"⎶\",bcong:\"≌\",Bcy:\"Б\",bcy:\"б\",bdquo:\"„\",becaus:\"∵\",Because:\"∵\",because:\"∵\",bemptyv:\"⦰\",bepsi:\"϶\",bernou:\"ℬ\",Bernoullis:\"ℬ\",Beta:\"Β\",beta:\"β\",beth:\"ℶ\",between:\"≬\",Bfr:\"𝔅\",bfr:\"𝔟\",bigcap:\"⋂\",bigcirc:\"◯\",bigcup:\"⋃\",bigodot:\"⨀\",bigoplus:\"⨁\",bigotimes:\"⨂\",bigsqcup:\"⨆\",bigstar:\"★\",bigtriangledown:\"▽\",bigtriangleup:\"△\",biguplus:\"⨄\",bigvee:\"⋁\",bigwedge:\"⋀\",bkarow:\"⤍\",blacklozenge:\"⧫\",blacksquare:\"▪\",blacktriangle:\"▴\",blacktriangledown:\"▾\",blacktriangleleft:\"◂\",blacktriangleright:\"▸\",blank:\"␣\",blk12:\"▒\",blk14:\"░\",blk34:\"▓\",block:\"█\",bne:\"=⃥\",bnequiv:\"≡⃥\",bNot:\"⫭\",bnot:\"⌐\",Bopf:\"𝔹\",bopf:\"𝕓\",bot:\"⊥\",bottom:\"⊥\",bowtie:\"⋈\",boxbox:\"⧉\",boxDL:\"╗\",boxDl:\"╖\",boxdL:\"╕\",boxdl:\"┐\",boxDR:\"╔\",boxDr:\"╓\",boxdR:\"╒\",boxdr:\"┌\",boxH:\"═\",boxh:\"─\",boxHD:\"╦\",boxHd:\"╤\",boxhD:\"╥\",boxhd:\"┬\",boxHU:\"╩\",boxHu:\"╧\",boxhU:\"╨\",boxhu:\"┴\",boxminus:\"⊟\",boxplus:\"⊞\",boxtimes:\"⊠\",boxUL:\"╝\",boxUl:\"╜\",boxuL:\"╛\",boxul:\"┘\",boxUR:\"╚\",boxUr:\"╙\",boxuR:\"╘\",boxur:\"└\",boxV:\"║\",boxv:\"│\",boxVH:\"╬\",boxVh:\"╫\",boxvH:\"╪\",boxvh:\"┼\",boxVL:\"╣\",boxVl:\"╢\",boxvL:\"╡\",boxvl:\"┤\",boxVR:\"╠\",boxVr:\"╟\",boxvR:\"╞\",boxvr:\"├\",bprime:\"‵\",Breve:\"˘\",breve:\"˘\",brvbar:\"¦\",Bscr:\"ℬ\",bscr:\"𝒷\",bsemi:\"⁏\",bsim:\"∽\",bsime:\"⋍\",bsol:\"\\\\\",bsolb:\"⧅\",bsolhsub:\"⟈\",bull:\"•\",bullet:\"•\",bump:\"≎\",bumpE:\"⪮\",bumpe:\"≏\",Bumpeq:\"≎\",bumpeq:\"≏\",Cacute:\"Ć\",cacute:\"ć\",Cap:\"⋒\",cap:\"∩\",capand:\"⩄\",capbrcup:\"⩉\",capcap:\"⩋\",capcup:\"⩇\",capdot:\"⩀\",CapitalDifferentialD:\"ⅅ\",caps:\"∩︀\",caret:\"⁁\",caron:\"ˇ\",Cayleys:\"ℭ\",ccaps:\"⩍\",Ccaron:\"Č\",ccaron:\"č\",Ccedil:\"Ç\",ccedil:\"ç\",Ccirc:\"Ĉ\",ccirc:\"ĉ\",Cconint:\"∰\",ccups:\"⩌\",ccupssm:\"⩐\",Cdot:\"Ċ\",cdot:\"ċ\",cedil:\"¸\",Cedilla:\"¸\",cemptyv:\"⦲\",cent:\"¢\",CenterDot:\"·\",centerdot:\"·\",Cfr:\"ℭ\",cfr:\"𝔠\",CHcy:\"Ч\",chcy:\"ч\",check:\"✓\",checkmark:\"✓\",Chi:\"Χ\",chi:\"χ\",cir:\"○\",circ:\"ˆ\",circeq:\"≗\",circlearrowleft:\"↺\",circlearrowright:\"↻\",circledast:\"⊛\",circledcirc:\"⊚\",circleddash:\"⊝\",CircleDot:\"⊙\",circledR:\"®\",circledS:\"Ⓢ\",CircleMinus:\"⊖\",CirclePlus:\"⊕\",CircleTimes:\"⊗\",cirE:\"⧃\",cire:\"≗\",cirfnint:\"⨐\",cirmid:\"⫯\",cirscir:\"⧂\",ClockwiseContourIntegral:\"∲\",CloseCurlyDoubleQuote:\"”\",CloseCurlyQuote:\"’\",clubs:\"♣\",clubsuit:\"♣\",Colon:\"∷\",colon:\":\",Colone:\"⩴\",colone:\"≔\",coloneq:\"≔\",comma:\",\",commat:\"@\",comp:\"∁\",compfn:\"∘\",complement:\"∁\",complexes:\"ℂ\",cong:\"≅\",congdot:\"⩭\",Congruent:\"≡\",Conint:\"∯\",conint:\"∮\",ContourIntegral:\"∮\",Copf:\"ℂ\",copf:\"𝕔\",coprod:\"∐\",Coproduct:\"∐\",COPY:\"©\",copy:\"©\",copysr:\"℗\",CounterClockwiseContourIntegral:\"∳\",crarr:\"↵\",Cross:\"⨯\",cross:\"✗\",Cscr:\"𝒞\",cscr:\"𝒸\",csub:\"⫏\",csube:\"⫑\",csup:\"⫐\",csupe:\"⫒\",ctdot:\"⋯\",cudarrl:\"⤸\",cudarrr:\"⤵\",cuepr:\"⋞\",cuesc:\"⋟\",cularr:\"↶\",cularrp:\"⤽\",Cup:\"⋓\",cup:\"∪\",cupbrcap:\"⩈\",CupCap:\"≍\",cupcap:\"⩆\",cupcup:\"⩊\",cupdot:\"⊍\",cupor:\"⩅\",cups:\"∪︀\",curarr:\"↷\",curarrm:\"⤼\",curlyeqprec:\"⋞\",curlyeqsucc:\"⋟\",curlyvee:\"⋎\",curlywedge:\"⋏\",curren:\"¤\",curvearrowleft:\"↶\",curvearrowright:\"↷\",cuvee:\"⋎\",cuwed:\"⋏\",cwconint:\"∲\",cwint:\"∱\",cylcty:\"⌭\",Dagger:\"‡\",dagger:\"†\",daleth:\"ℸ\",Darr:\"↡\",dArr:\"⇓\",darr:\"↓\",dash:\"‐\",Dashv:\"⫤\",dashv:\"⊣\",dbkarow:\"⤏\",dblac:\"˝\",Dcaron:\"Ď\",dcaron:\"ď\",Dcy:\"Д\",dcy:\"д\",DD:\"ⅅ\",dd:\"ⅆ\",ddagger:\"‡\",ddarr:\"⇊\",DDotrahd:\"⤑\",ddotseq:\"⩷\",deg:\"°\",Del:\"∇\",Delta:\"Δ\",delta:\"δ\",demptyv:\"⦱\",dfisht:\"⥿\",Dfr:\"𝔇\",dfr:\"𝔡\",dHar:\"⥥\",dharl:\"⇃\",dharr:\"⇂\",DiacriticalAcute:\"´\",DiacriticalDot:\"˙\",DiacriticalDoubleAcute:\"˝\",DiacriticalGrave:\"`\",DiacriticalTilde:\"˜\",diam:\"⋄\",Diamond:\"⋄\",diamond:\"⋄\",diamondsuit:\"♦\",diams:\"♦\",die:\"¨\",DifferentialD:\"ⅆ\",digamma:\"ϝ\",disin:\"⋲\",div:\"÷\",divide:\"÷\",divideontimes:\"⋇\",divonx:\"⋇\",DJcy:\"Ђ\",djcy:\"ђ\",dlcorn:\"⌞\",dlcrop:\"⌍\",dollar:\"$\",Dopf:\"𝔻\",dopf:\"𝕕\",Dot:\"¨\",dot:\"˙\",DotDot:\"⃜\",doteq:\"≐\",doteqdot:\"≑\",DotEqual:\"≐\",dotminus:\"∸\",dotplus:\"∔\",dotsquare:\"⊡\",doublebarwedge:\"⌆\",DoubleContourIntegral:\"∯\",DoubleDot:\"¨\",DoubleDownArrow:\"⇓\",DoubleLeftArrow:\"⇐\",DoubleLeftRightArrow:\"⇔\",DoubleLeftTee:\"⫤\",DoubleLongLeftArrow:\"⟸\",DoubleLongLeftRightArrow:\"⟺\",DoubleLongRightArrow:\"⟹\",DoubleRightArrow:\"⇒\",DoubleRightTee:\"⊨\",DoubleUpArrow:\"⇑\",DoubleUpDownArrow:\"⇕\",DoubleVerticalBar:\"∥\",DownArrow:\"↓\",Downarrow:\"⇓\",downarrow:\"↓\",DownArrowBar:\"⤓\",DownArrowUpArrow:\"⇵\",DownBreve:\"̑\",downdownarrows:\"⇊\",downharpoonleft:\"⇃\",downharpoonright:\"⇂\",DownLeftRightVector:\"⥐\",DownLeftTeeVector:\"⥞\",DownLeftVector:\"↽\",DownLeftVectorBar:\"⥖\",DownRightTeeVector:\"⥟\",DownRightVector:\"⇁\",DownRightVectorBar:\"⥗\",DownTee:\"⊤\",DownTeeArrow:\"↧\",drbkarow:\"⤐\",drcorn:\"⌟\",drcrop:\"⌌\",Dscr:\"𝒟\",dscr:\"𝒹\",DScy:\"Ѕ\",dscy:\"ѕ\",dsol:\"⧶\",Dstrok:\"Đ\",dstrok:\"đ\",dtdot:\"⋱\",dtri:\"▿\",dtrif:\"▾\",duarr:\"⇵\",duhar:\"⥯\",dwangle:\"⦦\",DZcy:\"Џ\",dzcy:\"џ\",dzigrarr:\"⟿\",Eacute:\"É\",eacute:\"é\",easter:\"⩮\",Ecaron:\"Ě\",ecaron:\"ě\",ecir:\"≖\",Ecirc:\"Ê\",ecirc:\"ê\",ecolon:\"≕\",Ecy:\"Э\",ecy:\"э\",eDDot:\"⩷\",Edot:\"Ė\",eDot:\"≑\",edot:\"ė\",ee:\"ⅇ\",efDot:\"≒\",Efr:\"𝔈\",efr:\"𝔢\",eg:\"⪚\",Egrave:\"È\",egrave:\"è\",egs:\"⪖\",egsdot:\"⪘\",el:\"⪙\",Element:\"∈\",elinters:\"⏧\",ell:\"ℓ\",els:\"⪕\",elsdot:\"⪗\",Emacr:\"Ē\",emacr:\"ē\",empty:\"∅\",emptyset:\"∅\",EmptySmallSquare:\"◻\",emptyv:\"∅\",EmptyVerySmallSquare:\"▫\",emsp:\" \",emsp13:\" \",emsp14:\" \",ENG:\"Ŋ\",eng:\"ŋ\",ensp:\" \",Eogon:\"Ę\",eogon:\"ę\",Eopf:\"𝔼\",eopf:\"𝕖\",epar:\"⋕\",eparsl:\"⧣\",eplus:\"⩱\",epsi:\"ε\",Epsilon:\"Ε\",epsilon:\"ε\",epsiv:\"ϵ\",eqcirc:\"≖\",eqcolon:\"≕\",eqsim:\"≂\",eqslantgtr:\"⪖\",eqslantless:\"⪕\",Equal:\"⩵\",equals:\"=\",EqualTilde:\"≂\",equest:\"≟\",Equilibrium:\"⇌\",equiv:\"≡\",equivDD:\"⩸\",eqvparsl:\"⧥\",erarr:\"⥱\",erDot:\"≓\",Escr:\"ℰ\",escr:\"ℯ\",esdot:\"≐\",Esim:\"⩳\",esim:\"≂\",Eta:\"Η\",eta:\"η\",ETH:\"Ð\",eth:\"ð\",Euml:\"Ë\",euml:\"ë\",euro:\"€\",excl:\"!\",exist:\"∃\",Exists:\"∃\",expectation:\"ℰ\",ExponentialE:\"ⅇ\",exponentiale:\"ⅇ\",fallingdotseq:\"≒\",Fcy:\"Ф\",fcy:\"ф\",female:\"♀\",ffilig:\"ﬃ\",fflig:\"ﬀ\",ffllig:\"ﬄ\",Ffr:\"𝔉\",ffr:\"𝔣\",filig:\"ﬁ\",FilledSmallSquare:\"◼\",FilledVerySmallSquare:\"▪\",fjlig:\"fj\",flat:\"♭\",fllig:\"ﬂ\",fltns:\"▱\",fnof:\"ƒ\",Fopf:\"𝔽\",fopf:\"𝕗\",ForAll:\"∀\",forall:\"∀\",fork:\"⋔\",forkv:\"⫙\",Fouriertrf:\"ℱ\",fpartint:\"⨍\",frac12:\"½\",frac13:\"⅓\",frac14:\"¼\",frac15:\"⅕\",frac16:\"⅙\",frac18:\"⅛\",frac23:\"⅔\",frac25:\"⅖\",frac34:\"¾\",frac35:\"⅗\",frac38:\"⅜\",frac45:\"⅘\",frac56:\"⅚\",frac58:\"⅝\",frac78:\"⅞\",frasl:\"⁄\",frown:\"⌢\",Fscr:\"ℱ\",fscr:\"𝒻\",gacute:\"ǵ\",Gamma:\"Γ\",gamma:\"γ\",Gammad:\"Ϝ\",gammad:\"ϝ\",gap:\"⪆\",Gbreve:\"Ğ\",gbreve:\"ğ\",Gcedil:\"Ģ\",Gcirc:\"Ĝ\",gcirc:\"ĝ\",Gcy:\"Г\",gcy:\"г\",Gdot:\"Ġ\",gdot:\"ġ\",gE:\"≧\",ge:\"≥\",gEl:\"⪌\",gel:\"⋛\",geq:\"≥\",geqq:\"≧\",geqslant:\"⩾\",ges:\"⩾\",gescc:\"⪩\",gesdot:\"⪀\",gesdoto:\"⪂\",gesdotol:\"⪄\",gesl:\"⋛︀\",gesles:\"⪔\",Gfr:\"𝔊\",gfr:\"𝔤\",Gg:\"⋙\",gg:\"≫\",ggg:\"⋙\",gimel:\"ℷ\",GJcy:\"Ѓ\",gjcy:\"ѓ\",gl:\"≷\",gla:\"⪥\",glE:\"⪒\",glj:\"⪤\",gnap:\"⪊\",gnapprox:\"⪊\",gnE:\"≩\",gne:\"⪈\",gneq:\"⪈\",gneqq:\"≩\",gnsim:\"⋧\",Gopf:\"𝔾\",gopf:\"𝕘\",grave:\"`\",GreaterEqual:\"≥\",GreaterEqualLess:\"⋛\",GreaterFullEqual:\"≧\",GreaterGreater:\"⪢\",GreaterLess:\"≷\",GreaterSlantEqual:\"⩾\",GreaterTilde:\"≳\",Gscr:\"𝒢\",gscr:\"ℊ\",gsim:\"≳\",gsime:\"⪎\",gsiml:\"⪐\",GT:\">\",Gt:\"≫\",gt:\">\",gtcc:\"⪧\",gtcir:\"⩺\",gtdot:\"⋗\",gtlPar:\"⦕\",gtquest:\"⩼\",gtrapprox:\"⪆\",gtrarr:\"⥸\",gtrdot:\"⋗\",gtreqless:\"⋛\",gtreqqless:\"⪌\",gtrless:\"≷\",gtrsim:\"≳\",gvertneqq:\"≩︀\",gvnE:\"≩︀\",Hacek:\"ˇ\",hairsp:\" \",half:\"½\",hamilt:\"ℋ\",HARDcy:\"Ъ\",hardcy:\"ъ\",hArr:\"⇔\",harr:\"↔\",harrcir:\"⥈\",harrw:\"↭\",Hat:\"^\",hbar:\"ℏ\",Hcirc:\"Ĥ\",hcirc:\"ĥ\",hearts:\"♥\",heartsuit:\"♥\",hellip:\"…\",hercon:\"⊹\",Hfr:\"ℌ\",hfr:\"𝔥\",HilbertSpace:\"ℋ\",hksearow:\"⤥\",hkswarow:\"⤦\",hoarr:\"⇿\",homtht:\"∻\",hookleftarrow:\"↩\",hookrightarrow:\"↪\",Hopf:\"ℍ\",hopf:\"𝕙\",horbar:\"―\",HorizontalLine:\"─\",Hscr:\"ℋ\",hscr:\"𝒽\",hslash:\"ℏ\",Hstrok:\"Ħ\",hstrok:\"ħ\",HumpDownHump:\"≎\",HumpEqual:\"≏\",hybull:\"⁃\",hyphen:\"‐\",Iacute:\"Í\",iacute:\"í\",ic:\"⁣\",Icirc:\"Î\",icirc:\"î\",Icy:\"И\",icy:\"и\",Idot:\"İ\",IEcy:\"Е\",iecy:\"е\",iexcl:\"¡\",iff:\"⇔\",Ifr:\"ℑ\",ifr:\"𝔦\",Igrave:\"Ì\",igrave:\"ì\",ii:\"ⅈ\",iiiint:\"⨌\",iiint:\"∭\",iinfin:\"⧜\",iiota:\"℩\",IJlig:\"Ĳ\",ijlig:\"ĳ\",Im:\"ℑ\",Imacr:\"Ī\",imacr:\"ī\",image:\"ℑ\",ImaginaryI:\"ⅈ\",imagline:\"ℐ\",imagpart:\"ℑ\",imath:\"ı\",imof:\"⊷\",imped:\"Ƶ\",Implies:\"⇒\",in:\"∈\",incare:\"℅\",infin:\"∞\",infintie:\"⧝\",inodot:\"ı\",Int:\"∬\",int:\"∫\",intcal:\"⊺\",integers:\"ℤ\",Integral:\"∫\",intercal:\"⊺\",Intersection:\"⋂\",intlarhk:\"⨗\",intprod:\"⨼\",InvisibleComma:\"⁣\",InvisibleTimes:\"⁢\",IOcy:\"Ё\",iocy:\"ё\",Iogon:\"Į\",iogon:\"į\",Iopf:\"𝕀\",iopf:\"𝕚\",Iota:\"Ι\",iota:\"ι\",iprod:\"⨼\",iquest:\"¿\",Iscr:\"ℐ\",iscr:\"𝒾\",isin:\"∈\",isindot:\"⋵\",isinE:\"⋹\",isins:\"⋴\",isinsv:\"⋳\",isinv:\"∈\",it:\"⁢\",Itilde:\"Ĩ\",itilde:\"ĩ\",Iukcy:\"І\",iukcy:\"і\",Iuml:\"Ï\",iuml:\"ï\",Jcirc:\"Ĵ\",jcirc:\"ĵ\",Jcy:\"Й\",jcy:\"й\",Jfr:\"𝔍\",jfr:\"𝔧\",jmath:\"ȷ\",Jopf:\"𝕁\",jopf:\"𝕛\",Jscr:\"𝒥\",jscr:\"𝒿\",Jsercy:\"Ј\",jsercy:\"ј\",Jukcy:\"Є\",jukcy:\"є\",Kappa:\"Κ\",kappa:\"κ\",kappav:\"ϰ\",Kcedil:\"Ķ\",kcedil:\"ķ\",Kcy:\"К\",kcy:\"к\",Kfr:\"𝔎\",kfr:\"𝔨\",kgreen:\"ĸ\",KHcy:\"Х\",khcy:\"х\",KJcy:\"Ќ\",kjcy:\"ќ\",Kopf:\"𝕂\",kopf:\"𝕜\",Kscr:\"𝒦\",kscr:\"𝓀\",lAarr:\"⇚\",Lacute:\"Ĺ\",lacute:\"ĺ\",laemptyv:\"⦴\",lagran:\"ℒ\",Lambda:\"Λ\",lambda:\"λ\",Lang:\"⟪\",lang:\"⟨\",langd:\"⦑\",langle:\"⟨\",lap:\"⪅\",Laplacetrf:\"ℒ\",laquo:\"«\",Larr:\"↞\",lArr:\"⇐\",larr:\"←\",larrb:\"⇤\",larrbfs:\"⤟\",larrfs:\"⤝\",larrhk:\"↩\",larrlp:\"↫\",larrpl:\"⤹\",larrsim:\"⥳\",larrtl:\"↢\",lat:\"⪫\",lAtail:\"⤛\",latail:\"⤙\",late:\"⪭\",lates:\"⪭︀\",lBarr:\"⤎\",lbarr:\"⤌\",lbbrk:\"❲\",lbrace:\"{\",lbrack:\"[\",lbrke:\"⦋\",lbrksld:\"⦏\",lbrkslu:\"⦍\",Lcaron:\"Ľ\",lcaron:\"ľ\",Lcedil:\"Ļ\",lcedil:\"ļ\",lceil:\"⌈\",lcub:\"{\",Lcy:\"Л\",lcy:\"л\",ldca:\"⤶\",ldquo:\"“\",ldquor:\"„\",ldrdhar:\"⥧\",ldrushar:\"⥋\",ldsh:\"↲\",lE:\"≦\",le:\"≤\",LeftAngleBracket:\"⟨\",LeftArrow:\"←\",Leftarrow:\"⇐\",leftarrow:\"←\",LeftArrowBar:\"⇤\",LeftArrowRightArrow:\"⇆\",leftarrowtail:\"↢\",LeftCeiling:\"⌈\",LeftDoubleBracket:\"⟦\",LeftDownTeeVector:\"⥡\",LeftDownVector:\"⇃\",LeftDownVectorBar:\"⥙\",LeftFloor:\"⌊\",leftharpoondown:\"↽\",leftharpoonup:\"↼\",leftleftarrows:\"⇇\",LeftRightArrow:\"↔\",Leftrightarrow:\"⇔\",leftrightarrow:\"↔\",leftrightarrows:\"⇆\",leftrightharpoons:\"⇋\",leftrightsquigarrow:\"↭\",LeftRightVector:\"⥎\",LeftTee:\"⊣\",LeftTeeArrow:\"↤\",LeftTeeVector:\"⥚\",leftthreetimes:\"⋋\",LeftTriangle:\"⊲\",LeftTriangleBar:\"⧏\",LeftTriangleEqual:\"⊴\",LeftUpDownVector:\"⥑\",LeftUpTeeVector:\"⥠\",LeftUpVector:\"↿\",LeftUpVectorBar:\"⥘\",LeftVector:\"↼\",LeftVectorBar:\"⥒\",lEg:\"⪋\",leg:\"⋚\",leq:\"≤\",leqq:\"≦\",leqslant:\"⩽\",les:\"⩽\",lescc:\"⪨\",lesdot:\"⩿\",lesdoto:\"⪁\",lesdotor:\"⪃\",lesg:\"⋚︀\",lesges:\"⪓\",lessapprox:\"⪅\",lessdot:\"⋖\",lesseqgtr:\"⋚\",lesseqqgtr:\"⪋\",LessEqualGreater:\"⋚\",LessFullEqual:\"≦\",LessGreater:\"≶\",lessgtr:\"≶\",LessLess:\"⪡\",lesssim:\"≲\",LessSlantEqual:\"⩽\",LessTilde:\"≲\",lfisht:\"⥼\",lfloor:\"⌊\",Lfr:\"𝔏\",lfr:\"𝔩\",lg:\"≶\",lgE:\"⪑\",lHar:\"⥢\",lhard:\"↽\",lharu:\"↼\",lharul:\"⥪\",lhblk:\"▄\",LJcy:\"Љ\",ljcy:\"љ\",Ll:\"⋘\",ll:\"≪\",llarr:\"⇇\",llcorner:\"⌞\",Lleftarrow:\"⇚\",llhard:\"⥫\",lltri:\"◺\",Lmidot:\"Ŀ\",lmidot:\"ŀ\",lmoust:\"⎰\",lmoustache:\"⎰\",lnap:\"⪉\",lnapprox:\"⪉\",lnE:\"≨\",lne:\"⪇\",lneq:\"⪇\",lneqq:\"≨\",lnsim:\"⋦\",loang:\"⟬\",loarr:\"⇽\",lobrk:\"⟦\",LongLeftArrow:\"⟵\",Longleftarrow:\"⟸\",longleftarrow:\"⟵\",LongLeftRightArrow:\"⟷\",Longleftrightarrow:\"⟺\",longleftrightarrow:\"⟷\",longmapsto:\"⟼\",LongRightArrow:\"⟶\",Longrightarrow:\"⟹\",longrightarrow:\"⟶\",looparrowleft:\"↫\",looparrowright:\"↬\",lopar:\"⦅\",Lopf:\"𝕃\",lopf:\"𝕝\",loplus:\"⨭\",lotimes:\"⨴\",lowast:\"∗\",lowbar:\"_\",LowerLeftArrow:\"↙\",LowerRightArrow:\"↘\",loz:\"◊\",lozenge:\"◊\",lozf:\"⧫\",lpar:\"(\",lparlt:\"⦓\",lrarr:\"⇆\",lrcorner:\"⌟\",lrhar:\"⇋\",lrhard:\"⥭\",lrm:\"‎\",lrtri:\"⊿\",lsaquo:\"‹\",Lscr:\"ℒ\",lscr:\"𝓁\",Lsh:\"↰\",lsh:\"↰\",lsim:\"≲\",lsime:\"⪍\",lsimg:\"⪏\",lsqb:\"[\",lsquo:\"‘\",lsquor:\"‚\",Lstrok:\"Ł\",lstrok:\"ł\",LT:\"<\",Lt:\"≪\",lt:\"<\",ltcc:\"⪦\",ltcir:\"⩹\",ltdot:\"⋖\",lthree:\"⋋\",ltimes:\"⋉\",ltlarr:\"⥶\",ltquest:\"⩻\",ltri:\"◃\",ltrie:\"⊴\",ltrif:\"◂\",ltrPar:\"⦖\",lurdshar:\"⥊\",luruhar:\"⥦\",lvertneqq:\"≨︀\",lvnE:\"≨︀\",macr:\"¯\",male:\"♂\",malt:\"✠\",maltese:\"✠\",Map:\"⤅\",map:\"↦\",mapsto:\"↦\",mapstodown:\"↧\",mapstoleft:\"↤\",mapstoup:\"↥\",marker:\"▮\",mcomma:\"⨩\",Mcy:\"М\",mcy:\"м\",mdash:\"—\",mDDot:\"∺\",measuredangle:\"∡\",MediumSpace:\" \",Mellintrf:\"ℳ\",Mfr:\"𝔐\",mfr:\"𝔪\",mho:\"℧\",micro:\"µ\",mid:\"∣\",midast:\"*\",midcir:\"⫰\",middot:\"·\",minus:\"−\",minusb:\"⊟\",minusd:\"∸\",minusdu:\"⨪\",MinusPlus:\"∓\",mlcp:\"⫛\",mldr:\"…\",mnplus:\"∓\",models:\"⊧\",Mopf:\"𝕄\",mopf:\"𝕞\",mp:\"∓\",Mscr:\"ℳ\",mscr:\"𝓂\",mstpos:\"∾\",Mu:\"Μ\",mu:\"μ\",multimap:\"⊸\",mumap:\"⊸\",nabla:\"∇\",Nacute:\"Ń\",nacute:\"ń\",nang:\"∠⃒\",nap:\"≉\",napE:\"⩰̸\",napid:\"≋̸\",napos:\"ŉ\",napprox:\"≉\",natur:\"♮\",natural:\"♮\",naturals:\"ℕ\",nbsp:\" \",nbump:\"≎̸\",nbumpe:\"≏̸\",ncap:\"⩃\",Ncaron:\"Ň\",ncaron:\"ň\",Ncedil:\"Ņ\",ncedil:\"ņ\",ncong:\"≇\",ncongdot:\"⩭̸\",ncup:\"⩂\",Ncy:\"Н\",ncy:\"н\",ndash:\"–\",ne:\"≠\",nearhk:\"⤤\",neArr:\"⇗\",nearr:\"↗\",nearrow:\"↗\",nedot:\"≐̸\",NegativeMediumSpace:\"​\",NegativeThickSpace:\"​\",NegativeThinSpace:\"​\",NegativeVeryThinSpace:\"​\",nequiv:\"≢\",nesear:\"⤨\",nesim:\"≂̸\",NestedGreaterGreater:\"≫\",NestedLessLess:\"≪\",NewLine:\"\\n\",nexist:\"∄\",nexists:\"∄\",Nfr:\"𝔑\",nfr:\"𝔫\",ngE:\"≧̸\",nge:\"≱\",ngeq:\"≱\",ngeqq:\"≧̸\",ngeqslant:\"⩾̸\",nges:\"⩾̸\",nGg:\"⋙̸\",ngsim:\"≵\",nGt:\"≫⃒\",ngt:\"≯\",ngtr:\"≯\",nGtv:\"≫̸\",nhArr:\"⇎\",nharr:\"↮\",nhpar:\"⫲\",ni:\"∋\",nis:\"⋼\",nisd:\"⋺\",niv:\"∋\",NJcy:\"Њ\",njcy:\"њ\",nlArr:\"⇍\",nlarr:\"↚\",nldr:\"‥\",nlE:\"≦̸\",nle:\"≰\",nLeftarrow:\"⇍\",nleftarrow:\"↚\",nLeftrightarrow:\"⇎\",nleftrightarrow:\"↮\",nleq:\"≰\",nleqq:\"≦̸\",nleqslant:\"⩽̸\",nles:\"⩽̸\",nless:\"≮\",nLl:\"⋘̸\",nlsim:\"≴\",nLt:\"≪⃒\",nlt:\"≮\",nltri:\"⋪\",nltrie:\"⋬\",nLtv:\"≪̸\",nmid:\"∤\",NoBreak:\"⁠\",NonBreakingSpace:\" \",Nopf:\"ℕ\",nopf:\"𝕟\",Not:\"⫬\",not:\"¬\",NotCongruent:\"≢\",NotCupCap:\"≭\",NotDoubleVerticalBar:\"∦\",NotElement:\"∉\",NotEqual:\"≠\",NotEqualTilde:\"≂̸\",NotExists:\"∄\",NotGreater:\"≯\",NotGreaterEqual:\"≱\",NotGreaterFullEqual:\"≧̸\",NotGreaterGreater:\"≫̸\",NotGreaterLess:\"≹\",NotGreaterSlantEqual:\"⩾̸\",NotGreaterTilde:\"≵\",NotHumpDownHump:\"≎̸\",NotHumpEqual:\"≏̸\",notin:\"∉\",notindot:\"⋵̸\",notinE:\"⋹̸\",notinva:\"∉\",notinvb:\"⋷\",notinvc:\"⋶\",NotLeftTriangle:\"⋪\",NotLeftTriangleBar:\"⧏̸\",NotLeftTriangleEqual:\"⋬\",NotLess:\"≮\",NotLessEqual:\"≰\",NotLessGreater:\"≸\",NotLessLess:\"≪̸\",NotLessSlantEqual:\"⩽̸\",NotLessTilde:\"≴\",NotNestedGreaterGreater:\"⪢̸\",NotNestedLessLess:\"⪡̸\",notni:\"∌\",notniva:\"∌\",notnivb:\"⋾\",notnivc:\"⋽\",NotPrecedes:\"⊀\",NotPrecedesEqual:\"⪯̸\",NotPrecedesSlantEqual:\"⋠\",NotReverseElement:\"∌\",NotRightTriangle:\"⋫\",NotRightTriangleBar:\"⧐̸\",NotRightTriangleEqual:\"⋭\",NotSquareSubset:\"⊏̸\",NotSquareSubsetEqual:\"⋢\",NotSquareSuperset:\"⊐̸\",NotSquareSupersetEqual:\"⋣\",NotSubset:\"⊂⃒\",NotSubsetEqual:\"⊈\",NotSucceeds:\"⊁\",NotSucceedsEqual:\"⪰̸\",NotSucceedsSlantEqual:\"⋡\",NotSucceedsTilde:\"≿̸\",NotSuperset:\"⊃⃒\",NotSupersetEqual:\"⊉\",NotTilde:\"≁\",NotTildeEqual:\"≄\",NotTildeFullEqual:\"≇\",NotTildeTilde:\"≉\",NotVerticalBar:\"∤\",npar:\"∦\",nparallel:\"∦\",nparsl:\"⫽⃥\",npart:\"∂̸\",npolint:\"⨔\",npr:\"⊀\",nprcue:\"⋠\",npre:\"⪯̸\",nprec:\"⊀\",npreceq:\"⪯̸\",nrArr:\"⇏\",nrarr:\"↛\",nrarrc:\"⤳̸\",nrarrw:\"↝̸\",nRightarrow:\"⇏\",nrightarrow:\"↛\",nrtri:\"⋫\",nrtrie:\"⋭\",nsc:\"⊁\",nsccue:\"⋡\",nsce:\"⪰̸\",Nscr:\"𝒩\",nscr:\"𝓃\",nshortmid:\"∤\",nshortparallel:\"∦\",nsim:\"≁\",nsime:\"≄\",nsimeq:\"≄\",nsmid:\"∤\",nspar:\"∦\",nsqsube:\"⋢\",nsqsupe:\"⋣\",nsub:\"⊄\",nsubE:\"⫅̸\",nsube:\"⊈\",nsubset:\"⊂⃒\",nsubseteq:\"⊈\",nsubseteqq:\"⫅̸\",nsucc:\"⊁\",nsucceq:\"⪰̸\",nsup:\"⊅\",nsupE:\"⫆̸\",nsupe:\"⊉\",nsupset:\"⊃⃒\",nsupseteq:\"⊉\",nsupseteqq:\"⫆̸\",ntgl:\"≹\",Ntilde:\"Ñ\",ntilde:\"ñ\",ntlg:\"≸\",ntriangleleft:\"⋪\",ntrianglelefteq:\"⋬\",ntriangleright:\"⋫\",ntrianglerighteq:\"⋭\",Nu:\"Ν\",nu:\"ν\",num:\"#\",numero:\"№\",numsp:\" \",nvap:\"≍⃒\",nVDash:\"⊯\",nVdash:\"⊮\",nvDash:\"⊭\",nvdash:\"⊬\",nvge:\"≥⃒\",nvgt:\">⃒\",nvHarr:\"⤄\",nvinfin:\"⧞\",nvlArr:\"⤂\",nvle:\"≤⃒\",nvlt:\"<⃒\",nvltrie:\"⊴⃒\",nvrArr:\"⤃\",nvrtrie:\"⊵⃒\",nvsim:\"∼⃒\",nwarhk:\"⤣\",nwArr:\"⇖\",nwarr:\"↖\",nwarrow:\"↖\",nwnear:\"⤧\",Oacute:\"Ó\",oacute:\"ó\",oast:\"⊛\",ocir:\"⊚\",Ocirc:\"Ô\",ocirc:\"ô\",Ocy:\"О\",ocy:\"о\",odash:\"⊝\",Odblac:\"Ő\",odblac:\"ő\",odiv:\"⨸\",odot:\"⊙\",odsold:\"⦼\",OElig:\"Œ\",oelig:\"œ\",ofcir:\"⦿\",Ofr:\"𝔒\",ofr:\"𝔬\",ogon:\"˛\",Ograve:\"Ò\",ograve:\"ò\",ogt:\"⧁\",ohbar:\"⦵\",ohm:\"Ω\",oint:\"∮\",olarr:\"↺\",olcir:\"⦾\",olcross:\"⦻\",oline:\"‾\",olt:\"⧀\",Omacr:\"Ō\",omacr:\"ō\",Omega:\"Ω\",omega:\"ω\",Omicron:\"Ο\",omicron:\"ο\",omid:\"⦶\",ominus:\"⊖\",Oopf:\"𝕆\",oopf:\"𝕠\",opar:\"⦷\",OpenCurlyDoubleQuote:\"“\",OpenCurlyQuote:\"‘\",operp:\"⦹\",oplus:\"⊕\",Or:\"⩔\",or:\"∨\",orarr:\"↻\",ord:\"⩝\",order:\"ℴ\",orderof:\"ℴ\",ordf:\"ª\",ordm:\"º\",origof:\"⊶\",oror:\"⩖\",orslope:\"⩗\",orv:\"⩛\",oS:\"Ⓢ\",Oscr:\"𝒪\",oscr:\"ℴ\",Oslash:\"Ø\",oslash:\"ø\",osol:\"⊘\",Otilde:\"Õ\",otilde:\"õ\",Otimes:\"⨷\",otimes:\"⊗\",otimesas:\"⨶\",Ouml:\"Ö\",ouml:\"ö\",ovbar:\"⌽\",OverBar:\"‾\",OverBrace:\"⏞\",OverBracket:\"⎴\",OverParenthesis:\"⏜\",par:\"∥\",para:\"¶\",parallel:\"∥\",parsim:\"⫳\",parsl:\"⫽\",part:\"∂\",PartialD:\"∂\",Pcy:\"П\",pcy:\"п\",percnt:\"%\",period:\".\",permil:\"‰\",perp:\"⊥\",pertenk:\"‱\",Pfr:\"𝔓\",pfr:\"𝔭\",Phi:\"Φ\",phi:\"φ\",phiv:\"ϕ\",phmmat:\"ℳ\",phone:\"☎\",Pi:\"Π\",pi:\"π\",pitchfork:\"⋔\",piv:\"ϖ\",planck:\"ℏ\",planckh:\"ℎ\",plankv:\"ℏ\",plus:\"+\",plusacir:\"⨣\",plusb:\"⊞\",pluscir:\"⨢\",plusdo:\"∔\",plusdu:\"⨥\",pluse:\"⩲\",PlusMinus:\"±\",plusmn:\"±\",plussim:\"⨦\",plustwo:\"⨧\",pm:\"±\",Poincareplane:\"ℌ\",pointint:\"⨕\",Popf:\"ℙ\",popf:\"𝕡\",pound:\"£\",Pr:\"⪻\",pr:\"≺\",prap:\"⪷\",prcue:\"≼\",prE:\"⪳\",pre:\"⪯\",prec:\"≺\",precapprox:\"⪷\",preccurlyeq:\"≼\",Precedes:\"≺\",PrecedesEqual:\"⪯\",PrecedesSlantEqual:\"≼\",PrecedesTilde:\"≾\",preceq:\"⪯\",precnapprox:\"⪹\",precneqq:\"⪵\",precnsim:\"⋨\",precsim:\"≾\",Prime:\"″\",prime:\"′\",primes:\"ℙ\",prnap:\"⪹\",prnE:\"⪵\",prnsim:\"⋨\",prod:\"∏\",Product:\"∏\",profalar:\"⌮\",profline:\"⌒\",profsurf:\"⌓\",prop:\"∝\",Proportion:\"∷\",Proportional:\"∝\",propto:\"∝\",prsim:\"≾\",prurel:\"⊰\",Pscr:\"𝒫\",pscr:\"𝓅\",Psi:\"Ψ\",psi:\"ψ\",puncsp:\" \",Qfr:\"𝔔\",qfr:\"𝔮\",qint:\"⨌\",Qopf:\"ℚ\",qopf:\"𝕢\",qprime:\"⁗\",Qscr:\"𝒬\",qscr:\"𝓆\",quaternions:\"ℍ\",quatint:\"⨖\",quest:\"?\",questeq:\"≟\",QUOT:'\"',quot:'\"',rAarr:\"⇛\",race:\"∽̱\",Racute:\"Ŕ\",racute:\"ŕ\",radic:\"√\",raemptyv:\"⦳\",Rang:\"⟫\",rang:\"⟩\",rangd:\"⦒\",range:\"⦥\",rangle:\"⟩\",raquo:\"»\",Rarr:\"↠\",rArr:\"⇒\",rarr:\"→\",rarrap:\"⥵\",rarrb:\"⇥\",rarrbfs:\"⤠\",rarrc:\"⤳\",rarrfs:\"⤞\",rarrhk:\"↪\",rarrlp:\"↬\",rarrpl:\"⥅\",rarrsim:\"⥴\",Rarrtl:\"⤖\",rarrtl:\"↣\",rarrw:\"↝\",rAtail:\"⤜\",ratail:\"⤚\",ratio:\"∶\",rationals:\"ℚ\",RBarr:\"⤐\",rBarr:\"⤏\",rbarr:\"⤍\",rbbrk:\"❳\",rbrace:\"}\",rbrack:\"]\",rbrke:\"⦌\",rbrksld:\"⦎\",rbrkslu:\"⦐\",Rcaron:\"Ř\",rcaron:\"ř\",Rcedil:\"Ŗ\",rcedil:\"ŗ\",rceil:\"⌉\",rcub:\"}\",Rcy:\"Р\",rcy:\"р\",rdca:\"⤷\",rdldhar:\"⥩\",rdquo:\"”\",rdquor:\"”\",rdsh:\"↳\",Re:\"ℜ\",real:\"ℜ\",realine:\"ℛ\",realpart:\"ℜ\",reals:\"ℝ\",rect:\"▭\",REG:\"®\",reg:\"®\",ReverseElement:\"∋\",ReverseEquilibrium:\"⇋\",ReverseUpEquilibrium:\"⥯\",rfisht:\"⥽\",rfloor:\"⌋\",Rfr:\"ℜ\",rfr:\"𝔯\",rHar:\"⥤\",rhard:\"⇁\",rharu:\"⇀\",rharul:\"⥬\",Rho:\"Ρ\",rho:\"ρ\",rhov:\"ϱ\",RightAngleBracket:\"⟩\",RightArrow:\"→\",Rightarrow:\"⇒\",rightarrow:\"→\",RightArrowBar:\"⇥\",RightArrowLeftArrow:\"⇄\",rightarrowtail:\"↣\",RightCeiling:\"⌉\",RightDoubleBracket:\"⟧\",RightDownTeeVector:\"⥝\",RightDownVector:\"⇂\",RightDownVectorBar:\"⥕\",RightFloor:\"⌋\",rightharpoondown:\"⇁\",rightharpoonup:\"⇀\",rightleftarrows:\"⇄\",rightleftharpoons:\"⇌\",rightrightarrows:\"⇉\",rightsquigarrow:\"↝\",RightTee:\"⊢\",RightTeeArrow:\"↦\",RightTeeVector:\"⥛\",rightthreetimes:\"⋌\",RightTriangle:\"⊳\",RightTriangleBar:\"⧐\",RightTriangleEqual:\"⊵\",RightUpDownVector:\"⥏\",RightUpTeeVector:\"⥜\",RightUpVector:\"↾\",RightUpVectorBar:\"⥔\",RightVector:\"⇀\",RightVectorBar:\"⥓\",ring:\"˚\",risingdotseq:\"≓\",rlarr:\"⇄\",rlhar:\"⇌\",rlm:\"‏\",rmoust:\"⎱\",rmoustache:\"⎱\",rnmid:\"⫮\",roang:\"⟭\",roarr:\"⇾\",robrk:\"⟧\",ropar:\"⦆\",Ropf:\"ℝ\",ropf:\"𝕣\",roplus:\"⨮\",rotimes:\"⨵\",RoundImplies:\"⥰\",rpar:\")\",rpargt:\"⦔\",rppolint:\"⨒\",rrarr:\"⇉\",Rrightarrow:\"⇛\",rsaquo:\"›\",Rscr:\"ℛ\",rscr:\"𝓇\",Rsh:\"↱\",rsh:\"↱\",rsqb:\"]\",rsquo:\"’\",rsquor:\"’\",rthree:\"⋌\",rtimes:\"⋊\",rtri:\"▹\",rtrie:\"⊵\",rtrif:\"▸\",rtriltri:\"⧎\",RuleDelayed:\"⧴\",ruluhar:\"⥨\",rx:\"℞\",Sacute:\"Ś\",sacute:\"ś\",sbquo:\"‚\",Sc:\"⪼\",sc:\"≻\",scap:\"⪸\",Scaron:\"Š\",scaron:\"š\",sccue:\"≽\",scE:\"⪴\",sce:\"⪰\",Scedil:\"Ş\",scedil:\"ş\",Scirc:\"Ŝ\",scirc:\"ŝ\",scnap:\"⪺\",scnE:\"⪶\",scnsim:\"⋩\",scpolint:\"⨓\",scsim:\"≿\",Scy:\"С\",scy:\"с\",sdot:\"⋅\",sdotb:\"⊡\",sdote:\"⩦\",searhk:\"⤥\",seArr:\"⇘\",searr:\"↘\",searrow:\"↘\",sect:\"§\",semi:\";\",seswar:\"⤩\",setminus:\"∖\",setmn:\"∖\",sext:\"✶\",Sfr:\"𝔖\",sfr:\"𝔰\",sfrown:\"⌢\",sharp:\"♯\",SHCHcy:\"Щ\",shchcy:\"щ\",SHcy:\"Ш\",shcy:\"ш\",ShortDownArrow:\"↓\",ShortLeftArrow:\"←\",shortmid:\"∣\",shortparallel:\"∥\",ShortRightArrow:\"→\",ShortUpArrow:\"↑\",shy:\"­\",Sigma:\"Σ\",sigma:\"σ\",sigmaf:\"ς\",sigmav:\"ς\",sim:\"∼\",simdot:\"⩪\",sime:\"≃\",simeq:\"≃\",simg:\"⪞\",simgE:\"⪠\",siml:\"⪝\",simlE:\"⪟\",simne:\"≆\",simplus:\"⨤\",simrarr:\"⥲\",slarr:\"←\",SmallCircle:\"∘\",smallsetminus:\"∖\",smashp:\"⨳\",smeparsl:\"⧤\",smid:\"∣\",smile:\"⌣\",smt:\"⪪\",smte:\"⪬\",smtes:\"⪬︀\",SOFTcy:\"Ь\",softcy:\"ь\",sol:\"/\",solb:\"⧄\",solbar:\"⌿\",Sopf:\"𝕊\",sopf:\"𝕤\",spades:\"♠\",spadesuit:\"♠\",spar:\"∥\",sqcap:\"⊓\",sqcaps:\"⊓︀\",sqcup:\"⊔\",sqcups:\"⊔︀\",Sqrt:\"√\",sqsub:\"⊏\",sqsube:\"⊑\",sqsubset:\"⊏\",sqsubseteq:\"⊑\",sqsup:\"⊐\",sqsupe:\"⊒\",sqsupset:\"⊐\",sqsupseteq:\"⊒\",squ:\"□\",Square:\"□\",square:\"□\",SquareIntersection:\"⊓\",SquareSubset:\"⊏\",SquareSubsetEqual:\"⊑\",SquareSuperset:\"⊐\",SquareSupersetEqual:\"⊒\",SquareUnion:\"⊔\",squarf:\"▪\",squf:\"▪\",srarr:\"→\",Sscr:\"𝒮\",sscr:\"𝓈\",ssetmn:\"∖\",ssmile:\"⌣\",sstarf:\"⋆\",Star:\"⋆\",star:\"☆\",starf:\"★\",straightepsilon:\"ϵ\",straightphi:\"ϕ\",strns:\"¯\",Sub:\"⋐\",sub:\"⊂\",subdot:\"⪽\",subE:\"⫅\",sube:\"⊆\",subedot:\"⫃\",submult:\"⫁\",subnE:\"⫋\",subne:\"⊊\",subplus:\"⪿\",subrarr:\"⥹\",Subset:\"⋐\",subset:\"⊂\",subseteq:\"⊆\",subseteqq:\"⫅\",SubsetEqual:\"⊆\",subsetneq:\"⊊\",subsetneqq:\"⫋\",subsim:\"⫇\",subsub:\"⫕\",subsup:\"⫓\",succ:\"≻\",succapprox:\"⪸\",succcurlyeq:\"≽\",Succeeds:\"≻\",SucceedsEqual:\"⪰\",SucceedsSlantEqual:\"≽\",SucceedsTilde:\"≿\",succeq:\"⪰\",succnapprox:\"⪺\",succneqq:\"⪶\",succnsim:\"⋩\",succsim:\"≿\",SuchThat:\"∋\",Sum:\"∑\",sum:\"∑\",sung:\"♪\",Sup:\"⋑\",sup:\"⊃\",sup1:\"¹\",sup2:\"²\",sup3:\"³\",supdot:\"⪾\",supdsub:\"⫘\",supE:\"⫆\",supe:\"⊇\",supedot:\"⫄\",Superset:\"⊃\",SupersetEqual:\"⊇\",suphsol:\"⟉\",suphsub:\"⫗\",suplarr:\"⥻\",supmult:\"⫂\",supnE:\"⫌\",supne:\"⊋\",supplus:\"⫀\",Supset:\"⋑\",supset:\"⊃\",supseteq:\"⊇\",supseteqq:\"⫆\",supsetneq:\"⊋\",supsetneqq:\"⫌\",supsim:\"⫈\",supsub:\"⫔\",supsup:\"⫖\",swarhk:\"⤦\",swArr:\"⇙\",swarr:\"↙\",swarrow:\"↙\",swnwar:\"⤪\",szlig:\"ß\",Tab:\"\\t\",target:\"⌖\",Tau:\"Τ\",tau:\"τ\",tbrk:\"⎴\",Tcaron:\"Ť\",tcaron:\"ť\",Tcedil:\"Ţ\",tcedil:\"ţ\",Tcy:\"Т\",tcy:\"т\",tdot:\"⃛\",telrec:\"⌕\",Tfr:\"𝔗\",tfr:\"𝔱\",there4:\"∴\",Therefore:\"∴\",therefore:\"∴\",Theta:\"Θ\",theta:\"θ\",thetasym:\"ϑ\",thetav:\"ϑ\",thickapprox:\"≈\",thicksim:\"∼\",ThickSpace:\"  \",thinsp:\" \",ThinSpace:\" \",thkap:\"≈\",thksim:\"∼\",THORN:\"Þ\",thorn:\"þ\",Tilde:\"∼\",tilde:\"˜\",TildeEqual:\"≃\",TildeFullEqual:\"≅\",TildeTilde:\"≈\",times:\"×\",timesb:\"⊠\",timesbar:\"⨱\",timesd:\"⨰\",tint:\"∭\",toea:\"⤨\",top:\"⊤\",topbot:\"⌶\",topcir:\"⫱\",Topf:\"𝕋\",topf:\"𝕥\",topfork:\"⫚\",tosa:\"⤩\",tprime:\"‴\",TRADE:\"™\",trade:\"™\",triangle:\"▵\",triangledown:\"▿\",triangleleft:\"◃\",trianglelefteq:\"⊴\",triangleq:\"≜\",triangleright:\"▹\",trianglerighteq:\"⊵\",tridot:\"◬\",trie:\"≜\",triminus:\"⨺\",TripleDot:\"⃛\",triplus:\"⨹\",trisb:\"⧍\",tritime:\"⨻\",trpezium:\"⏢\",Tscr:\"𝒯\",tscr:\"𝓉\",TScy:\"Ц\",tscy:\"ц\",TSHcy:\"Ћ\",tshcy:\"ћ\",Tstrok:\"Ŧ\",tstrok:\"ŧ\",twixt:\"≬\",twoheadleftarrow:\"↞\",twoheadrightarrow:\"↠\",Uacute:\"Ú\",uacute:\"ú\",Uarr:\"↟\",uArr:\"⇑\",uarr:\"↑\",Uarrocir:\"⥉\",Ubrcy:\"Ў\",ubrcy:\"ў\",Ubreve:\"Ŭ\",ubreve:\"ŭ\",Ucirc:\"Û\",ucirc:\"û\",Ucy:\"У\",ucy:\"у\",udarr:\"⇅\",Udblac:\"Ű\",udblac:\"ű\",udhar:\"⥮\",ufisht:\"⥾\",Ufr:\"𝔘\",ufr:\"𝔲\",Ugrave:\"Ù\",ugrave:\"ù\",uHar:\"⥣\",uharl:\"↿\",uharr:\"↾\",uhblk:\"▀\",ulcorn:\"⌜\",ulcorner:\"⌜\",ulcrop:\"⌏\",ultri:\"◸\",Umacr:\"Ū\",umacr:\"ū\",uml:\"¨\",UnderBar:\"_\",UnderBrace:\"⏟\",UnderBracket:\"⎵\",UnderParenthesis:\"⏝\",Union:\"⋃\",UnionPlus:\"⊎\",Uogon:\"Ų\",uogon:\"ų\",Uopf:\"𝕌\",uopf:\"𝕦\",UpArrow:\"↑\",Uparrow:\"⇑\",uparrow:\"↑\",UpArrowBar:\"⤒\",UpArrowDownArrow:\"⇅\",UpDownArrow:\"↕\",Updownarrow:\"⇕\",updownarrow:\"↕\",UpEquilibrium:\"⥮\",upharpoonleft:\"↿\",upharpoonright:\"↾\",uplus:\"⊎\",UpperLeftArrow:\"↖\",UpperRightArrow:\"↗\",Upsi:\"ϒ\",upsi:\"υ\",upsih:\"ϒ\",Upsilon:\"Υ\",upsilon:\"υ\",UpTee:\"⊥\",UpTeeArrow:\"↥\",upuparrows:\"⇈\",urcorn:\"⌝\",urcorner:\"⌝\",urcrop:\"⌎\",Uring:\"Ů\",uring:\"ů\",urtri:\"◹\",Uscr:\"𝒰\",uscr:\"𝓊\",utdot:\"⋰\",Utilde:\"Ũ\",utilde:\"ũ\",utri:\"▵\",utrif:\"▴\",uuarr:\"⇈\",Uuml:\"Ü\",uuml:\"ü\",uwangle:\"⦧\",vangrt:\"⦜\",varepsilon:\"ϵ\",varkappa:\"ϰ\",varnothing:\"∅\",varphi:\"ϕ\",varpi:\"ϖ\",varpropto:\"∝\",vArr:\"⇕\",varr:\"↕\",varrho:\"ϱ\",varsigma:\"ς\",varsubsetneq:\"⊊︀\",varsubsetneqq:\"⫋︀\",varsupsetneq:\"⊋︀\",varsupsetneqq:\"⫌︀\",vartheta:\"ϑ\",vartriangleleft:\"⊲\",vartriangleright:\"⊳\",Vbar:\"⫫\",vBar:\"⫨\",vBarv:\"⫩\",Vcy:\"В\",vcy:\"в\",VDash:\"⊫\",Vdash:\"⊩\",vDash:\"⊨\",vdash:\"⊢\",Vdashl:\"⫦\",Vee:\"⋁\",vee:\"∨\",veebar:\"⊻\",veeeq:\"≚\",vellip:\"⋮\",Verbar:\"‖\",verbar:\"|\",Vert:\"‖\",vert:\"|\",VerticalBar:\"∣\",VerticalLine:\"|\",VerticalSeparator:\"❘\",VerticalTilde:\"≀\",VeryThinSpace:\" \",Vfr:\"𝔙\",vfr:\"𝔳\",vltri:\"⊲\",vnsub:\"⊂⃒\",vnsup:\"⊃⃒\",Vopf:\"𝕍\",vopf:\"𝕧\",vprop:\"∝\",vrtri:\"⊳\",Vscr:\"𝒱\",vscr:\"𝓋\",vsubnE:\"⫋︀\",vsubne:\"⊊︀\",vsupnE:\"⫌︀\",vsupne:\"⊋︀\",Vvdash:\"⊪\",vzigzag:\"⦚\",Wcirc:\"Ŵ\",wcirc:\"ŵ\",wedbar:\"⩟\",Wedge:\"⋀\",wedge:\"∧\",wedgeq:\"≙\",weierp:\"℘\",Wfr:\"𝔚\",wfr:\"𝔴\",Wopf:\"𝕎\",wopf:\"𝕨\",wp:\"℘\",wr:\"≀\",wreath:\"≀\",Wscr:\"𝒲\",wscr:\"𝓌\",xcap:\"⋂\",xcirc:\"◯\",xcup:\"⋃\",xdtri:\"▽\",Xfr:\"𝔛\",xfr:\"𝔵\",xhArr:\"⟺\",xharr:\"⟷\",Xi:\"Ξ\",xi:\"ξ\",xlArr:\"⟸\",xlarr:\"⟵\",xmap:\"⟼\",xnis:\"⋻\",xodot:\"⨀\",Xopf:\"𝕏\",xopf:\"𝕩\",xoplus:\"⨁\",xotime:\"⨂\",xrArr:\"⟹\",xrarr:\"⟶\",Xscr:\"𝒳\",xscr:\"𝓍\",xsqcup:\"⨆\",xuplus:\"⨄\",xutri:\"△\",xvee:\"⋁\",xwedge:\"⋀\",Yacute:\"Ý\",yacute:\"ý\",YAcy:\"Я\",yacy:\"я\",Ycirc:\"Ŷ\",ycirc:\"ŷ\",Ycy:\"Ы\",ycy:\"ы\",yen:\"¥\",Yfr:\"𝔜\",yfr:\"𝔶\",YIcy:\"Ї\",yicy:\"ї\",Yopf:\"𝕐\",yopf:\"𝕪\",Yscr:\"𝒴\",yscr:\"𝓎\",YUcy:\"Ю\",yucy:\"ю\",Yuml:\"Ÿ\",yuml:\"ÿ\",Zacute:\"Ź\",zacute:\"ź\",Zcaron:\"Ž\",zcaron:\"ž\",Zcy:\"З\",zcy:\"з\",Zdot:\"Ż\",zdot:\"ż\",zeetrf:\"ℨ\",ZeroWidthSpace:\"​\",Zeta:\"Ζ\",zeta:\"ζ\",Zfr:\"ℨ\",zfr:\"𝔷\",ZHcy:\"Ж\",zhcy:\"ж\",zigrarr:\"⇝\",Zopf:\"ℤ\",zopf:\"𝕫\",Zscr:\"𝒵\",zscr:\"𝓏\",zwj:\"‍\",zwnj:\"‌\"},r=Object.prototype.hasOwnProperty;function n(e){return o=e,(n=t)&&r.call(n,o)?t[e]:e;var n,o}var o=Object.prototype.hasOwnProperty;function s(e,t){return!!e&&o.call(e,t)}function i(e){return[].slice.call(arguments,1).forEach(function(t){if(t){if(\"object\"!=typeof t)throw new TypeError(t+\"must be object\");Object.keys(t).forEach(function(r){e[r]=t[r]})}}),e}var a=/\\\\([\\\\!\"#$%&'()*+,.\\/:;<=>?@[\\]^_`{|}~-])/g;function u(e){return e.indexOf(\"\\\\\")<0?e:e.replace(a,\"$1\")}function l(e){return!(e>=55296&&e<=57343)&&(!(e>=64976&&e<=65007)&&(65535!=(65535&e)&&65534!=(65535&e)&&(!(e>=0&&e<=8)&&(11!==e&&(!(e>=14&&e<=31)&&(!(e>=127&&e<=159)&&!(e>1114111)))))))}function c(e){if(e>65535){var t=55296+((e-=65536)>>10),r=56320+(1023&e);return String.fromCharCode(t,r)}return String.fromCharCode(e)}var p=/&([a-z#][a-z0-9]{1,31});/gi,h=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i;function f(e,t){var r=0,o=n(t);return t!==o?o:35===t.charCodeAt(0)&&h.test(t)&&l(r=\"x\"===t[1].toLowerCase()?parseInt(t.slice(2),16):parseInt(t.slice(1),10))?c(r):e}function g(e){return e.indexOf(\"&\")<0?e:e.replace(p,f)}var d=/[&<>\"]/,m=/[&<>\"]/g,b={\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\"};function v(e){return b[e]}function k(e){return d.test(e)?e.replace(m,v):e}var A=Object.freeze({isString:function(e){return\"[object String]\"===function(e){return Object.prototype.toString.call(e)}(e)},has:s,assign:i,unescapeMd:u,isValidEntityCode:l,fromCodePoint:c,replaceEntities:g,escapeHtml:k}),y={};y.blockquote_open=function(){return\"<blockquote>\\n\"},y.blockquote_close=function(e,t){return\"</blockquote>\"+x(e,t)},y.code=function(e,t){return e[t].block?\"<pre><code>\"+k(e[t].content)+\"</code></pre>\"+x(e,t):\"<code>\"+k(e[t].content)+\"</code>\"},y.fence=function(e,t,r,n,o){var i,a,l=e[t],c=\"\",p=r.langPrefix;if(l.params){if(a=(i=l.params.split(/\\s+/g)).join(\" \"),s(o.rules.fence_custom,i[0]))return o.rules.fence_custom[i[0]](e,t,r,n,o);c=' class=\"'+p+k(g(u(a)))+'\"'}return\"<pre><code\"+c+\">\"+(r.highlight&&r.highlight.apply(r.highlight,[l.content].concat(i))||k(l.content))+\"</code></pre>\"+x(e,t)},y.fence_custom={},y.heading_open=function(e,t){return\"<h\"+e[t].hLevel+\">\"},y.heading_close=function(e,t){return\"</h\"+e[t].hLevel+\">\\n\"},y.hr=function(e,t,r){return(r.xhtmlOut?\"<hr />\":\"<hr>\")+x(e,t)},y.bullet_list_open=function(){return\"<ul>\\n\"},y.bullet_list_close=function(e,t){return\"</ul>\"+x(e,t)},y.list_item_open=function(){return\"<li>\"},y.list_item_close=function(){return\"</li>\\n\"},y.ordered_list_open=function(e,t){var r=e[t];return\"<ol\"+(r.order>1?' start=\"'+r.order+'\"':\"\")+\">\\n\"},y.ordered_list_close=function(e,t){return\"</ol>\"+x(e,t)},y.paragraph_open=function(e,t){return e[t].tight?\"\":\"<p>\"},y.paragraph_close=function(e,t){var r=!(e[t].tight&&t&&\"inline\"===e[t-1].type&&!e[t-1].content);return(e[t].tight?\"\":\"</p>\")+(r?x(e,t):\"\")},y.link_open=function(e,t,r){var n=e[t].title?' title=\"'+k(g(e[t].title))+'\"':\"\",o=r.linkTarget?' target=\"'+r.linkTarget+'\"':\"\";return'<a href=\"'+k(e[t].href)+'\"'+n+o+\">\"},y.link_close=function(){return\"</a>\"},y.image=function(e,t,r){var n=' src=\"'+k(e[t].src)+'\"',o=e[t].title?' title=\"'+k(g(e[t].title))+'\"':\"\";return\"<img\"+n+(' alt=\"'+(e[t].alt?k(g(u(e[t].alt))):\"\")+'\"')+o+(r.xhtmlOut?\" /\":\"\")+\">\"},y.table_open=function(){return\"<table>\\n\"},y.table_close=function(){return\"</table>\\n\"},y.thead_open=function(){return\"<thead>\\n\"},y.thead_close=function(){return\"</thead>\\n\"},y.tbody_open=function(){return\"<tbody>\\n\"},y.tbody_close=function(){return\"</tbody>\\n\"},y.tr_open=function(){return\"<tr>\"},y.tr_close=function(){return\"</tr>\\n\"},y.th_open=function(e,t){var r=e[t];return\"<th\"+(r.align?' style=\"text-align:'+r.align+'\"':\"\")+\">\"},y.th_close=function(){return\"</th>\"},y.td_open=function(e,t){var r=e[t];return\"<td\"+(r.align?' style=\"text-align:'+r.align+'\"':\"\")+\">\"},y.td_close=function(){return\"</td>\"},y.strong_open=function(){return\"<strong>\"},y.strong_close=function(){return\"</strong>\"},y.em_open=function(){return\"<em>\"},y.em_close=function(){return\"</em>\"},y.del_open=function(){return\"<del>\"},y.del_close=function(){return\"</del>\"},y.ins_open=function(){return\"<ins>\"},y.ins_close=function(){return\"</ins>\"},y.mark_open=function(){return\"<mark>\"},y.mark_close=function(){return\"</mark>\"},y.sub=function(e,t){return\"<sub>\"+k(e[t].content)+\"</sub>\"},y.sup=function(e,t){return\"<sup>\"+k(e[t].content)+\"</sup>\"},y.hardbreak=function(e,t,r){return r.xhtmlOut?\"<br />\\n\":\"<br>\\n\"},y.softbreak=function(e,t,r){return r.breaks?r.xhtmlOut?\"<br />\\n\":\"<br>\\n\":\"\\n\"},y.text=function(e,t){return k(e[t].content)},y.htmlblock=function(e,t){return e[t].content},y.htmltag=function(e,t){return e[t].content},y.abbr_open=function(e,t){return'<abbr title=\"'+k(g(e[t].title))+'\">'},y.abbr_close=function(){return\"</abbr>\"},y.footnote_ref=function(e,t){var r=Number(e[t].id+1).toString(),n=\"fnref\"+r;return e[t].subId>0&&(n+=\":\"+e[t].subId),'<sup class=\"footnote-ref\"><a href=\"#fn'+r+'\" id=\"'+n+'\">['+r+\"]</a></sup>\"},y.footnote_block_open=function(e,t,r){return(r.xhtmlOut?'<hr class=\"footnotes-sep\" />\\n':'<hr class=\"footnotes-sep\">\\n')+'<section class=\"footnotes\">\\n<ol class=\"footnotes-list\">\\n'},y.footnote_block_close=function(){return\"</ol>\\n</section>\\n\"},y.footnote_open=function(e,t){return'<li id=\"fn'+Number(e[t].id+1).toString()+'\"  class=\"footnote-item\">'},y.footnote_close=function(){return\"</li>\\n\"},y.footnote_anchor=function(e,t){var r=\"fnref\"+Number(e[t].id+1).toString();return e[t].subId>0&&(r+=\":\"+e[t].subId),' <a href=\"#'+r+'\" class=\"footnote-backref\">↩</a>'},y.dl_open=function(){return\"<dl>\\n\"},y.dt_open=function(){return\"<dt>\"},y.dd_open=function(){return\"<dd>\"},y.dl_close=function(){return\"</dl>\\n\"},y.dt_close=function(){return\"</dt>\\n\"},y.dd_close=function(){return\"</dd>\\n\"};var x=y.getBreak=function(e,t){return(t=function e(t,r){return++r>=t.length-2?r:\"paragraph_open\"===t[r].type&&t[r].tight&&\"inline\"===t[r+1].type&&0===t[r+1].content.length&&\"paragraph_close\"===t[r+2].type&&t[r+2].tight?e(t,r+2):r}(e,t))<e.length&&\"list_item_close\"===e[t].type?\"\":\"\\n\"};function w(){this.rules=i({},y),this.getBreak=y.getBreak}function C(){this.__rules__=[],this.__cache__=null}function E(e,t,r,n,o){this.src=e,this.env=n,this.options=r,this.parser=t,this.tokens=o,this.pos=0,this.posMax=this.src.length,this.level=0,this.pending=\"\",this.pendingLevel=0,this.cache=[],this.isInLabel=!1,this.linkLevel=0,this.linkContent=\"\",this.labelUnmatchedScopes=0}function D(e,t){var r,n,o,s=-1,i=e.posMax,a=e.pos,u=e.isInLabel;if(e.isInLabel)return-1;if(e.labelUnmatchedScopes)return e.labelUnmatchedScopes--,-1;for(e.pos=t+1,e.isInLabel=!0,r=1;e.pos<i;){if(91===(o=e.src.charCodeAt(e.pos)))r++;else if(93===o&&0===--r){n=!0;break}e.parser.skipToken(e)}return n?(s=e.pos,e.labelUnmatchedScopes=0):e.labelUnmatchedScopes=r-1,e.pos=a,e.isInLabel=u,s}function _(e,t,r,n){var o,s,i,a,u,l;if(42!==e.charCodeAt(0))return-1;if(91!==e.charCodeAt(1))return-1;if(-1===e.indexOf(\"]:\"))return-1;if((s=D(o=new E(e,t,r,n,[]),1))<0||58!==e.charCodeAt(s+1))return-1;for(a=o.posMax,i=s+2;i<a&&10!==o.src.charCodeAt(i);i++);return u=e.slice(2,s),0===(l=e.slice(s+2,i).trim()).length?-1:(n.abbreviations||(n.abbreviations={}),void 0===n.abbreviations[\":\"+u]&&(n.abbreviations[\":\"+u]=l),i)}function B(e){var t=g(e);try{t=decodeURI(t)}catch(e){}return encodeURI(t)}function q(e,t){var r,n,o,s=t,i=e.posMax;if(60===e.src.charCodeAt(t)){for(t++;t<i;){if(10===(r=e.src.charCodeAt(t)))return!1;if(62===r)return o=B(u(e.src.slice(s+1,t))),!!e.parser.validateLink(o)&&(e.pos=t+1,e.linkContent=o,!0);92===r&&t+1<i?t+=2:t++}return!1}for(n=0;t<i&&32!==(r=e.src.charCodeAt(t))&&!(r<32||127===r);)if(92===r&&t+1<i)t+=2;else{if(40===r&&++n>1)break;if(41===r&&--n<0)break;t++}return s!==t&&(o=u(e.src.slice(s,t)),!!e.parser.validateLink(o)&&(e.linkContent=o,e.pos=t,!0))}function F(e,t){var r,n=t,o=e.posMax,s=e.src.charCodeAt(t);if(34!==s&&39!==s&&40!==s)return!1;for(t++,40===s&&(s=41);t<o;){if((r=e.src.charCodeAt(t))===s)return e.pos=t+1,e.linkContent=u(e.src.slice(n+1,t)),!0;92===r&&t+1<o?t+=2:t++}return!1}function M(e){return e.trim().replace(/\\s+/g,\" \").toUpperCase()}function S(e,t,r,n){var o,s,i,a,u,l,c,p,h;if(91!==e.charCodeAt(0))return-1;if(-1===e.indexOf(\"]:\"))return-1;if((s=D(o=new E(e,t,r,n,[]),0))<0||58!==e.charCodeAt(s+1))return-1;for(a=o.posMax,i=s+2;i<a&&(32===(u=o.src.charCodeAt(i))||10===u);i++);if(!q(o,i))return-1;for(c=o.linkContent,l=i=o.pos,i+=1;i<a&&(32===(u=o.src.charCodeAt(i))||10===u);i++);for(i<a&&l!==i&&F(o,i)?(p=o.linkContent,i=o.pos):(p=\"\",i=l);i<a&&32===o.src.charCodeAt(i);)i++;return i<a&&10!==o.src.charCodeAt(i)?-1:(h=M(e.slice(1,s)),void 0===n.references[h]&&(n.references[h]={title:p,href:c}),i)}w.prototype.renderInline=function(e,t,r){for(var n=this.rules,o=e.length,s=0,i=\"\";o--;)i+=n[e[s].type](e,s++,t,r,this);return i},w.prototype.render=function(e,t,r){for(var n=this.rules,o=e.length,s=-1,i=\"\";++s<o;)\"inline\"===e[s].type?i+=this.renderInline(e[s].children,t,r):i+=n[e[s].type](e,s,t,r,this);return i},C.prototype.__find__=function(e){for(var t=this.__rules__.length,r=-1;t--;)if(this.__rules__[++r].name===e)return r;return-1},C.prototype.__compile__=function(){var e=this,t=[\"\"];e.__rules__.forEach(function(e){e.enabled&&e.alt.forEach(function(e){t.indexOf(e)<0&&t.push(e)})}),e.__cache__={},t.forEach(function(t){e.__cache__[t]=[],e.__rules__.forEach(function(r){r.enabled&&(t&&r.alt.indexOf(t)<0||e.__cache__[t].push(r.fn))})})},C.prototype.at=function(e,t,r){var n=this.__find__(e),o=r||{};if(-1===n)throw new Error(\"Parser rule not found: \"+e);this.__rules__[n].fn=t,this.__rules__[n].alt=o.alt||[],this.__cache__=null},C.prototype.before=function(e,t,r,n){var o=this.__find__(e),s=n||{};if(-1===o)throw new Error(\"Parser rule not found: \"+e);this.__rules__.splice(o,0,{name:t,enabled:!0,fn:r,alt:s.alt||[]}),this.__cache__=null},C.prototype.after=function(e,t,r,n){var o=this.__find__(e),s=n||{};if(-1===o)throw new Error(\"Parser rule not found: \"+e);this.__rules__.splice(o+1,0,{name:t,enabled:!0,fn:r,alt:s.alt||[]}),this.__cache__=null},C.prototype.push=function(e,t,r){var n=r||{};this.__rules__.push({name:e,enabled:!0,fn:t,alt:n.alt||[]}),this.__cache__=null},C.prototype.enable=function(e,t){e=Array.isArray(e)?e:[e],t&&this.__rules__.forEach(function(e){e.enabled=!1}),e.forEach(function(e){var t=this.__find__(e);if(t<0)throw new Error(\"Rules manager: invalid rule name \"+e);this.__rules__[t].enabled=!0},this),this.__cache__=null},C.prototype.disable=function(e){(e=Array.isArray(e)?e:[e]).forEach(function(e){var t=this.__find__(e);if(t<0)throw new Error(\"Rules manager: invalid rule name \"+e);this.__rules__[t].enabled=!1},this),this.__cache__=null},C.prototype.getRules=function(e){return null===this.__cache__&&this.__compile__(),this.__cache__[e]||[]},E.prototype.pushPending=function(){this.tokens.push({type:\"text\",content:this.pending,level:this.pendingLevel}),this.pending=\"\"},E.prototype.push=function(e){this.pending&&this.pushPending(),this.tokens.push(e),this.pendingLevel=this.level},E.prototype.cacheSet=function(e,t){for(var r=this.cache.length;r<=e;r++)this.cache.push(0);this.cache[e]=t},E.prototype.cacheGet=function(e){return e<this.cache.length?this.cache[e]:0};var T=\" \\n()[]'\\\".,!?-\";function L(e){return e.replace(/([-()\\[\\]{}+?*.$\\^|,:#<!\\\\])/g,\"\\\\$1\")}var R=/\\+-|\\.\\.|\\?\\?\\?\\?|!!!!|,,|--/,N=/\\((c|tm|r|p)\\)/gi,z={c:\"©\",r:\"®\",p:\"§\",tm:\"™\"};var P=/['\"]/,j=/['\"]/g,I=/[-\\s()\\[\\]]/,O=\"’\";function U(e,t){return!(t<0||t>=e.length)&&!I.test(e[t])}function H(e,t,r){return e.substr(0,t)+r+e.substr(t+1)}var V=[[\"block\",function(e){e.inlineMode?e.tokens.push({type:\"inline\",content:e.src.replace(/\\n/g,\" \").trim(),level:0,lines:[0,1],children:[]}):e.block.parse(e.src,e.options,e.env,e.tokens)}],[\"abbr\",function(e){var t,r,n,o,s=e.tokens;if(!e.inlineMode)for(t=1,r=s.length-1;t<r;t++)if(\"paragraph_open\"===s[t-1].type&&\"inline\"===s[t].type&&\"paragraph_close\"===s[t+1].type){for(n=s[t].content;n.length&&!((o=_(n,e.inline,e.options,e.env))<0);)n=n.slice(o).trim();s[t].content=n,n.length||(s[t-1].tight=!0,s[t+1].tight=!0)}}],[\"references\",function(e){var t,r,n,o,s=e.tokens;if(e.env.references=e.env.references||{},!e.inlineMode)for(t=1,r=s.length-1;t<r;t++)if(\"inline\"===s[t].type&&\"paragraph_open\"===s[t-1].type&&\"paragraph_close\"===s[t+1].type){for(n=s[t].content;n.length&&!((o=S(n,e.inline,e.options,e.env))<0);)n=n.slice(o).trim();s[t].content=n,n.length||(s[t-1].tight=!0,s[t+1].tight=!0)}}],[\"inline\",function(e){var t,r,n,o=e.tokens;for(r=0,n=o.length;r<n;r++)\"inline\"===(t=o[r]).type&&e.inline.parse(t.content,e.options,e.env,t.children)}],[\"footnote_tail\",function(e){var t,r,n,o,s,i,a,u,l,c=0,p=!1,h={};if(e.env.footnotes&&(e.tokens=e.tokens.filter(function(e){return\"footnote_reference_open\"===e.type?(p=!0,u=[],l=e.label,!1):\"footnote_reference_close\"===e.type?(p=!1,h[\":\"+l]=u,!1):(p&&u.push(e),!p)}),e.env.footnotes.list)){for(i=e.env.footnotes.list,e.tokens.push({type:\"footnote_block_open\",level:c++}),t=0,r=i.length;t<r;t++){for(e.tokens.push({type:\"footnote_open\",id:t,level:c++}),i[t].tokens?((a=[]).push({type:\"paragraph_open\",tight:!1,level:c++}),a.push({type:\"inline\",content:\"\",level:c,children:i[t].tokens}),a.push({type:\"paragraph_close\",tight:!1,level:--c})):i[t].label&&(a=h[\":\"+i[t].label]),e.tokens=e.tokens.concat(a),s=\"paragraph_close\"===e.tokens[e.tokens.length-1].type?e.tokens.pop():null,o=i[t].count>0?i[t].count:1,n=0;n<o;n++)e.tokens.push({type:\"footnote_anchor\",id:t,subId:n,level:c});s&&e.tokens.push(s),e.tokens.push({type:\"footnote_close\",level:--c})}e.tokens.push({type:\"footnote_block_close\",level:--c})}}],[\"abbr2\",function(e){var t,r,n,o,s,i,a,u,l,c,p,h,f=e.tokens;if(e.env.abbreviations)for(e.env.abbrRegExp||(h=\"(^|[\"+T.split(\"\").map(L).join(\"\")+\"])(\"+Object.keys(e.env.abbreviations).map(function(e){return e.substr(1)}).sort(function(e,t){return t.length-e.length}).map(L).join(\"|\")+\")($|[\"+T.split(\"\").map(L).join(\"\")+\"])\",e.env.abbrRegExp=new RegExp(h,\"g\")),c=e.env.abbrRegExp,r=0,n=f.length;r<n;r++)if(\"inline\"===f[r].type)for(t=(o=f[r].children).length-1;t>=0;t--)if(\"text\"===(s=o[t]).type){for(u=0,i=s.content,c.lastIndex=0,l=s.level,a=[];p=c.exec(i);)c.lastIndex>u&&a.push({type:\"text\",content:i.slice(u,p.index+p[1].length),level:l}),a.push({type:\"abbr_open\",title:e.env.abbreviations[\":\"+p[2]],level:l++}),a.push({type:\"text\",content:p[2],level:l}),a.push({type:\"abbr_close\",level:--l}),u=c.lastIndex-p[3].length;a.length&&(u<i.length&&a.push({type:\"text\",content:i.slice(u),level:l}),f[r].children=o=[].concat(o.slice(0,t),a,o.slice(t+1)))}}],[\"replacements\",function(e){var t,r,n,o,s,i;if(e.options.typographer)for(s=e.tokens.length-1;s>=0;s--)if(\"inline\"===e.tokens[s].type)for(t=(o=e.tokens[s].children).length-1;t>=0;t--)\"text\"===(r=o[t]).type&&(n=r.content,n=(i=n).indexOf(\"(\")<0?i:i.replace(N,function(e,t){return z[t.toLowerCase()]}),R.test(n)&&(n=n.replace(/\\+-/g,\"±\").replace(/\\.{2,}/g,\"…\").replace(/([?!])…/g,\"$1..\").replace(/([?!]){4,}/g,\"$1$1$1\").replace(/,{2,}/g,\",\").replace(/(^|[^-])---([^-]|$)/gm,\"$1—$2\").replace(/(^|\\s)--(\\s|$)/gm,\"$1–$2\").replace(/(^|[^-\\s])--([^-\\s]|$)/gm,\"$1–$2\")),r.content=n)}],[\"smartquotes\",function(e){var t,r,n,o,s,i,a,u,l,c,p,h,f,g,d,m,b;if(e.options.typographer)for(b=[],d=e.tokens.length-1;d>=0;d--)if(\"inline\"===e.tokens[d].type)for(m=e.tokens[d].children,b.length=0,t=0;t<m.length;t++)if(\"text\"===(r=m[t]).type&&!P.test(r.text)){for(a=m[t].level,f=b.length-1;f>=0&&!(b[f].level<=a);f--);b.length=f+1,s=0,i=(n=r.content).length;e:for(;s<i&&(j.lastIndex=s,o=j.exec(n));)if(u=!U(n,o.index-1),s=o.index+1,g=\"'\"===o[0],(l=!U(n,s))||u){if(p=!l,h=!u)for(f=b.length-1;f>=0&&(c=b[f],!(b[f].level<a));f--)if(c.single===g&&b[f].level===a){c=b[f],g?(m[c.token].content=H(m[c.token].content,c.pos,e.options.quotes[2]),r.content=H(r.content,o.index,e.options.quotes[3])):(m[c.token].content=H(m[c.token].content,c.pos,e.options.quotes[0]),r.content=H(r.content,o.index,e.options.quotes[1])),b.length=f;continue e}p?b.push({token:t,pos:o.index,single:g,level:a}):h&&g&&(r.content=H(r.content,o.index,O))}else g&&(r.content=H(r.content,o.index,O))}}]];function G(){this.options={},this.ruler=new C;for(var e=0;e<V.length;e++)this.ruler.push(V[e][0],V[e][1])}function $(e,t,r,n,o){var s,i,a,u,l,c,p;for(this.src=e,this.parser=t,this.options=r,this.env=n,this.tokens=o,this.bMarks=[],this.eMarks=[],this.tShift=[],this.blkIndent=0,this.line=0,this.lineMax=0,this.tight=!1,this.parentType=\"root\",this.ddIndent=-1,this.level=0,this.result=\"\",c=0,p=!1,a=u=c=0,l=(i=this.src).length;u<l;u++){if(s=i.charCodeAt(u),!p){if(32===s){c++;continue}p=!0}10!==s&&u!==l-1||(10!==s&&u++,this.bMarks.push(a),this.eMarks.push(u),this.tShift.push(c),p=!1,c=0,a=u+1)}this.bMarks.push(i.length),this.eMarks.push(i.length),this.tShift.push(0),this.lineMax=this.bMarks.length-1}function Z(e,t){var r,n,o;return(n=e.bMarks[t]+e.tShift[t])>=(o=e.eMarks[t])?-1:42!==(r=e.src.charCodeAt(n++))&&45!==r&&43!==r?-1:n<o&&32!==e.src.charCodeAt(n)?-1:n}function W(e,t){var r,n=e.bMarks[t]+e.tShift[t],o=e.eMarks[t];if(n+1>=o)return-1;if((r=e.src.charCodeAt(n++))<48||r>57)return-1;for(;;){if(n>=o)return-1;if(!((r=e.src.charCodeAt(n++))>=48&&r<=57)){if(41===r||46===r)break;return-1}}return n<o&&32!==e.src.charCodeAt(n)?-1:n}G.prototype.process=function(e){var t,r,n;for(t=0,r=(n=this.ruler.getRules(\"\")).length;t<r;t++)n[t](e)},$.prototype.isEmpty=function(e){return this.bMarks[e]+this.tShift[e]>=this.eMarks[e]},$.prototype.skipEmptyLines=function(e){for(var t=this.lineMax;e<t&&!(this.bMarks[e]+this.tShift[e]<this.eMarks[e]);e++);return e},$.prototype.skipSpaces=function(e){for(var t=this.src.length;e<t&&32===this.src.charCodeAt(e);e++);return e},$.prototype.skipChars=function(e,t){for(var r=this.src.length;e<r&&this.src.charCodeAt(e)===t;e++);return e},$.prototype.skipCharsBack=function(e,t,r){if(e<=r)return e;for(;e>r;)if(t!==this.src.charCodeAt(--e))return e+1;return e},$.prototype.getLines=function(e,t,r,n){var o,s,i,a,u,l=e;if(e>=t)return\"\";if(l+1===t)return s=this.bMarks[l]+Math.min(this.tShift[l],r),i=n?this.eMarks[l]+1:this.eMarks[l],this.src.slice(s,i);for(a=new Array(t-e),o=0;l<t;l++,o++)(u=this.tShift[l])>r&&(u=r),u<0&&(u=0),s=this.bMarks[l]+u,i=l+1<t||n?this.eMarks[l]+1:this.eMarks[l],a[o]=this.src.slice(s,i);return a.join(\"\")};var J={};[\"article\",\"aside\",\"button\",\"blockquote\",\"body\",\"canvas\",\"caption\",\"col\",\"colgroup\",\"dd\",\"div\",\"dl\",\"dt\",\"embed\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"header\",\"hgroup\",\"hr\",\"iframe\",\"li\",\"map\",\"object\",\"ol\",\"output\",\"p\",\"pre\",\"progress\",\"script\",\"section\",\"style\",\"table\",\"tbody\",\"td\",\"textarea\",\"tfoot\",\"th\",\"tr\",\"thead\",\"ul\",\"video\"].forEach(function(e){J[e]=!0});var Y=/^<([a-zA-Z]{1,15})[\\s\\/>]/,K=/^<\\/([a-zA-Z]{1,15})[\\s>]/;function Q(e,t){var r=e.bMarks[t]+e.blkIndent,n=e.eMarks[t];return e.src.substr(r,n-r)}function X(e,t){var r,n,o=e.bMarks[t]+e.tShift[t],s=e.eMarks[t];return o>=s?-1:126!==(n=e.src.charCodeAt(o++))&&58!==n?-1:o===(r=e.skipSpaces(o))?-1:r>=s?-1:r}var ee=[[\"code\",function(e,t,r){var n,o;if(e.tShift[t]-e.blkIndent<4)return!1;for(o=n=t+1;n<r;)if(e.isEmpty(n))n++;else{if(!(e.tShift[n]-e.blkIndent>=4))break;o=++n}return e.line=n,e.tokens.push({type:\"code\",content:e.getLines(t,o,4+e.blkIndent,!0),block:!0,lines:[t,e.line],level:e.level}),!0}],[\"fences\",function(e,t,r,n){var o,s,i,a,u,l=!1,c=e.bMarks[t]+e.tShift[t],p=e.eMarks[t];if(c+3>p)return!1;if(126!==(o=e.src.charCodeAt(c))&&96!==o)return!1;if(u=c,(s=(c=e.skipChars(c,o))-u)<3)return!1;if((i=e.src.slice(c,p).trim()).indexOf(\"`\")>=0)return!1;if(n)return!0;for(a=t;!(++a>=r||(c=u=e.bMarks[a]+e.tShift[a])<(p=e.eMarks[a])&&e.tShift[a]<e.blkIndent);)if(e.src.charCodeAt(c)===o&&!(e.tShift[a]-e.blkIndent>=4||(c=e.skipChars(c,o))-u<s||(c=e.skipSpaces(c))<p)){l=!0;break}return s=e.tShift[t],e.line=a+(l?1:0),e.tokens.push({type:\"fence\",params:i,content:e.getLines(t+1,a,s,!0),lines:[t,e.line],level:e.level}),!0},[\"paragraph\",\"blockquote\",\"list\"]],[\"blockquote\",function(e,t,r,n){var o,s,i,a,u,l,c,p,h,f,g,d=e.bMarks[t]+e.tShift[t],m=e.eMarks[t];if(d>m)return!1;if(62!==e.src.charCodeAt(d++))return!1;if(e.level>=e.options.maxNesting)return!1;if(n)return!0;for(32===e.src.charCodeAt(d)&&d++,u=e.blkIndent,e.blkIndent=0,a=[e.bMarks[t]],e.bMarks[t]=d,s=(d=d<m?e.skipSpaces(d):d)>=m,i=[e.tShift[t]],e.tShift[t]=d-e.bMarks[t],p=e.parser.ruler.getRules(\"blockquote\"),o=t+1;o<r&&!((d=e.bMarks[o]+e.tShift[o])>=(m=e.eMarks[o]));o++)if(62!==e.src.charCodeAt(d++)){if(s)break;for(g=!1,h=0,f=p.length;h<f;h++)if(p[h](e,o,r,!0)){g=!0;break}if(g)break;a.push(e.bMarks[o]),i.push(e.tShift[o]),e.tShift[o]=-1337}else 32===e.src.charCodeAt(d)&&d++,a.push(e.bMarks[o]),e.bMarks[o]=d,s=(d=d<m?e.skipSpaces(d):d)>=m,i.push(e.tShift[o]),e.tShift[o]=d-e.bMarks[o];for(l=e.parentType,e.parentType=\"blockquote\",e.tokens.push({type:\"blockquote_open\",lines:c=[t,0],level:e.level++}),e.parser.tokenize(e,t,o),e.tokens.push({type:\"blockquote_close\",level:--e.level}),e.parentType=l,c[1]=e.line,h=0;h<i.length;h++)e.bMarks[h+t]=a[h],e.tShift[h+t]=i[h];return e.blkIndent=u,!0},[\"paragraph\",\"blockquote\",\"list\"]],[\"hr\",function(e,t,r,n){var o,s,i,a=e.bMarks[t],u=e.eMarks[t];if((a+=e.tShift[t])>u)return!1;if(42!==(o=e.src.charCodeAt(a++))&&45!==o&&95!==o)return!1;for(s=1;a<u;){if((i=e.src.charCodeAt(a++))!==o&&32!==i)return!1;i===o&&s++}return!(s<3||!n&&(e.line=t+1,e.tokens.push({type:\"hr\",lines:[t,e.line],level:e.level}),0))},[\"paragraph\",\"blockquote\",\"list\"]],[\"list\",function(e,t,r,n){var o,s,i,a,u,l,c,p,h,f,g,d,m,b,v,k,A,y,x,w,C,E=!0;if((p=W(e,t))>=0)d=!0;else{if(!((p=Z(e,t))>=0))return!1;d=!1}if(e.level>=e.options.maxNesting)return!1;if(g=e.src.charCodeAt(p-1),n)return!0;for(b=e.tokens.length,d?(c=e.bMarks[t]+e.tShift[t],f=Number(e.src.substr(c,p-c-1)),e.tokens.push({type:\"ordered_list_open\",order:f,lines:k=[t,0],level:e.level++})):e.tokens.push({type:\"bullet_list_open\",lines:k=[t,0],level:e.level++}),o=t,v=!1,y=e.parser.ruler.getRules(\"list\");!(!(o<r)||((h=(m=e.skipSpaces(p))>=e.eMarks[o]?1:m-p)>4&&(h=1),h<1&&(h=1),s=p-e.bMarks[o]+h,e.tokens.push({type:\"list_item_open\",lines:A=[t,0],level:e.level++}),a=e.blkIndent,u=e.tight,i=e.tShift[t],l=e.parentType,e.tShift[t]=m-e.bMarks[t],e.blkIndent=s,e.tight=!0,e.parentType=\"list\",e.parser.tokenize(e,t,r,!0),e.tight&&!v||(E=!1),v=e.line-t>1&&e.isEmpty(e.line-1),e.blkIndent=a,e.tShift[t]=i,e.tight=u,e.parentType=l,e.tokens.push({type:\"list_item_close\",level:--e.level}),o=t=e.line,A[1]=o,m=e.bMarks[t],o>=r)||e.isEmpty(o)||e.tShift[o]<e.blkIndent);){for(C=!1,x=0,w=y.length;x<w;x++)if(y[x](e,o,r,!0)){C=!0;break}if(C)break;if(d){if((p=W(e,o))<0)break}else if((p=Z(e,o))<0)break;if(g!==e.src.charCodeAt(p-1))break}return e.tokens.push({type:d?\"ordered_list_close\":\"bullet_list_close\",level:--e.level}),k[1]=o,e.line=o,E&&function(e,t){var r,n,o=e.level+2;for(r=t+2,n=e.tokens.length-2;r<n;r++)e.tokens[r].level===o&&\"paragraph_open\"===e.tokens[r].type&&(e.tokens[r+2].tight=!0,e.tokens[r].tight=!0,r+=2)}(e,b),!0},[\"paragraph\",\"blockquote\"]],[\"footnote\",function(e,t,r,n){var o,s,i,a,u,l=e.bMarks[t]+e.tShift[t],c=e.eMarks[t];if(l+4>c)return!1;if(91!==e.src.charCodeAt(l))return!1;if(94!==e.src.charCodeAt(l+1))return!1;if(e.level>=e.options.maxNesting)return!1;for(a=l+2;a<c;a++){if(32===e.src.charCodeAt(a))return!1;if(93===e.src.charCodeAt(a))break}return!(a===l+2||a+1>=c||58!==e.src.charCodeAt(++a)||!n&&(a++,e.env.footnotes||(e.env.footnotes={}),e.env.footnotes.refs||(e.env.footnotes.refs={}),u=e.src.slice(l+2,a-2),e.env.footnotes.refs[\":\"+u]=-1,e.tokens.push({type:\"footnote_reference_open\",label:u,level:e.level++}),o=e.bMarks[t],s=e.tShift[t],i=e.parentType,e.tShift[t]=e.skipSpaces(a)-a,e.bMarks[t]=a,e.blkIndent+=4,e.parentType=\"footnote\",e.tShift[t]<e.blkIndent&&(e.tShift[t]+=e.blkIndent,e.bMarks[t]-=e.blkIndent),e.parser.tokenize(e,t,r,!0),e.parentType=i,e.blkIndent-=4,e.tShift[t]=s,e.bMarks[t]=o,e.tokens.push({type:\"footnote_reference_close\",level:--e.level}),0))},[\"paragraph\"]],[\"heading\",function(e,t,r,n){var o,s,i,a=e.bMarks[t]+e.tShift[t],u=e.eMarks[t];if(a>=u)return!1;if(35!==(o=e.src.charCodeAt(a))||a>=u)return!1;for(s=1,o=e.src.charCodeAt(++a);35===o&&a<u&&s<=6;)s++,o=e.src.charCodeAt(++a);return!(s>6||a<u&&32!==o||!n&&(u=e.skipCharsBack(u,32,a),(i=e.skipCharsBack(u,35,a))>a&&32===e.src.charCodeAt(i-1)&&(u=i),e.line=t+1,e.tokens.push({type:\"heading_open\",hLevel:s,lines:[t,e.line],level:e.level}),a<u&&e.tokens.push({type:\"inline\",content:e.src.slice(a,u).trim(),level:e.level+1,lines:[t,e.line],children:[]}),e.tokens.push({type:\"heading_close\",hLevel:s,level:e.level}),0))},[\"paragraph\",\"blockquote\"]],[\"lheading\",function(e,t,r){var n,o,s,i=t+1;return!(i>=r||e.tShift[i]<e.blkIndent||e.tShift[i]-e.blkIndent>3||(o=e.bMarks[i]+e.tShift[i])>=(s=e.eMarks[i])||45!==(n=e.src.charCodeAt(o))&&61!==n||(o=e.skipChars(o,n),(o=e.skipSpaces(o))<s||(o=e.bMarks[t]+e.tShift[t],e.line=i+1,e.tokens.push({type:\"heading_open\",hLevel:61===n?1:2,lines:[t,e.line],level:e.level}),e.tokens.push({type:\"inline\",content:e.src.slice(o,e.eMarks[t]).trim(),level:e.level+1,lines:[t,e.line-1],children:[]}),e.tokens.push({type:\"heading_close\",hLevel:61===n?1:2,level:e.level}),0)))}],[\"htmlblock\",function(e,t,r,n){var o,s,i,a=e.bMarks[t],u=e.eMarks[t],l=e.tShift[t];if(a+=l,!e.options.html)return!1;if(l>3||a+2>=u)return!1;if(60!==e.src.charCodeAt(a))return!1;if(33===(o=e.src.charCodeAt(a+1))||63===o){if(n)return!0}else{if(47!==o&&!function(e){var t=32|e;return t>=97&&t<=122}(o))return!1;if(47===o){if(!(s=e.src.slice(a,u).match(K)))return!1}else if(!(s=e.src.slice(a,u).match(Y)))return!1;if(!0!==J[s[1].toLowerCase()])return!1;if(n)return!0}for(i=t+1;i<e.lineMax&&!e.isEmpty(i);)i++;return e.line=i,e.tokens.push({type:\"htmlblock\",level:e.level,lines:[t,e.line],content:e.getLines(t,i,0,!0)}),!0},[\"paragraph\",\"blockquote\"]],[\"table\",function(e,t,r,n){var o,s,i,a,u,l,c,p,h,f,g;if(t+2>r)return!1;if(u=t+1,e.tShift[u]<e.blkIndent)return!1;if((i=e.bMarks[u]+e.tShift[u])>=e.eMarks[u])return!1;if(124!==(o=e.src.charCodeAt(i))&&45!==o&&58!==o)return!1;if(s=Q(e,t+1),!/^[-:| ]+$/.test(s))return!1;if((l=s.split(\"|\"))<=2)return!1;for(p=[],a=0;a<l.length;a++){if(!(h=l[a].trim())){if(0===a||a===l.length-1)continue;return!1}if(!/^:?-+:?$/.test(h))return!1;58===h.charCodeAt(h.length-1)?p.push(58===h.charCodeAt(0)?\"center\":\"right\"):58===h.charCodeAt(0)?p.push(\"left\"):p.push(\"\")}if(-1===(s=Q(e,t).trim()).indexOf(\"|\"))return!1;if(l=s.replace(/^\\||\\|$/g,\"\").split(\"|\"),p.length!==l.length)return!1;if(n)return!0;for(e.tokens.push({type:\"table_open\",lines:f=[t,0],level:e.level++}),e.tokens.push({type:\"thead_open\",lines:[t,t+1],level:e.level++}),e.tokens.push({type:\"tr_open\",lines:[t,t+1],level:e.level++}),a=0;a<l.length;a++)e.tokens.push({type:\"th_open\",align:p[a],lines:[t,t+1],level:e.level++}),e.tokens.push({type:\"inline\",content:l[a].trim(),lines:[t,t+1],level:e.level,children:[]}),e.tokens.push({type:\"th_close\",level:--e.level});for(e.tokens.push({type:\"tr_close\",level:--e.level}),e.tokens.push({type:\"thead_close\",level:--e.level}),e.tokens.push({type:\"tbody_open\",lines:g=[t+2,0],level:e.level++}),u=t+2;u<r&&!(e.tShift[u]<e.blkIndent)&&-1!==(s=Q(e,u).trim()).indexOf(\"|\");u++){for(l=s.replace(/^\\||\\|$/g,\"\").split(\"|\"),e.tokens.push({type:\"tr_open\",level:e.level++}),a=0;a<l.length;a++)e.tokens.push({type:\"td_open\",align:p[a],level:e.level++}),c=l[a].substring(124===l[a].charCodeAt(0)?1:0,124===l[a].charCodeAt(l[a].length-1)?l[a].length-1:l[a].length).trim(),e.tokens.push({type:\"inline\",content:c,level:e.level,children:[]}),e.tokens.push({type:\"td_close\",level:--e.level});e.tokens.push({type:\"tr_close\",level:--e.level})}return e.tokens.push({type:\"tbody_close\",level:--e.level}),e.tokens.push({type:\"table_close\",level:--e.level}),f[1]=g[1]=u,e.line=u,!0},[\"paragraph\"]],[\"deflist\",function(e,t,r,n){var o,s,i,a,u,l,c,p,h,f,g,d,m,b;if(n)return!(e.ddIndent<0)&&X(e,t)>=0;if(c=t+1,e.isEmpty(c)&&++c>r)return!1;if(e.tShift[c]<e.blkIndent)return!1;if((o=X(e,c))<0)return!1;if(e.level>=e.options.maxNesting)return!1;l=e.tokens.length,e.tokens.push({type:\"dl_open\",lines:u=[t,0],level:e.level++}),i=t,s=c;e:for(;;){for(b=!0,m=!1,e.tokens.push({type:\"dt_open\",lines:[i,i],level:e.level++}),e.tokens.push({type:\"inline\",content:e.getLines(i,i+1,e.blkIndent,!1).trim(),level:e.level+1,lines:[i,i],children:[]}),e.tokens.push({type:\"dt_close\",level:--e.level});;){if(e.tokens.push({type:\"dd_open\",lines:a=[c,0],level:e.level++}),d=e.tight,h=e.ddIndent,p=e.blkIndent,g=e.tShift[s],f=e.parentType,e.blkIndent=e.ddIndent=e.tShift[s]+2,e.tShift[s]=o-e.bMarks[s],e.tight=!0,e.parentType=\"deflist\",e.parser.tokenize(e,s,r,!0),e.tight&&!m||(b=!1),m=e.line-s>1&&e.isEmpty(e.line-1),e.tShift[s]=g,e.tight=d,e.parentType=f,e.blkIndent=p,e.ddIndent=h,e.tokens.push({type:\"dd_close\",level:--e.level}),a[1]=c=e.line,c>=r)break e;if(e.tShift[c]<e.blkIndent)break e;if((o=X(e,c))<0)break;s=c}if(c>=r)break;if(i=c,e.isEmpty(i))break;if(e.tShift[i]<e.blkIndent)break;if((s=i+1)>=r)break;if(e.isEmpty(s)&&s++,s>=r)break;if(e.tShift[s]<e.blkIndent)break;if((o=X(e,s))<0)break}return e.tokens.push({type:\"dl_close\",level:--e.level}),u[1]=c,e.line=c,b&&function(e,t){var r,n,o=e.level+2;for(r=t+2,n=e.tokens.length-2;r<n;r++)e.tokens[r].level===o&&\"paragraph_open\"===e.tokens[r].type&&(e.tokens[r+2].tight=!0,e.tokens[r].tight=!0,r+=2)}(e,l),!0},[\"paragraph\"]],[\"paragraph\",function(e,t){var r,n,o,s,i,a,u=t+1;if(u<(r=e.lineMax)&&!e.isEmpty(u))for(a=e.parser.ruler.getRules(\"paragraph\");u<r&&!e.isEmpty(u);u++)if(!(e.tShift[u]-e.blkIndent>3)){for(o=!1,s=0,i=a.length;s<i;s++)if(a[s](e,u,r,!0)){o=!0;break}if(o)break}return n=e.getLines(t,u,e.blkIndent,!1).trim(),e.line=u,n.length&&(e.tokens.push({type:\"paragraph_open\",tight:!1,lines:[t,e.line],level:e.level}),e.tokens.push({type:\"inline\",content:n,level:e.level+1,lines:[t,e.line],children:[]}),e.tokens.push({type:\"paragraph_close\",tight:!1,level:e.level})),!0}]];function te(){this.ruler=new C;for(var e=0;e<ee.length;e++)this.ruler.push(ee[e][0],ee[e][1],{alt:(ee[e][2]||[]).slice()})}te.prototype.tokenize=function(e,t,r){for(var n,o=this.ruler.getRules(\"\"),s=o.length,i=t,a=!1;i<r&&(e.line=i=e.skipEmptyLines(i),!(i>=r))&&!(e.tShift[i]<e.blkIndent);){for(n=0;n<s&&!o[n](e,i,r,!1);n++);if(e.tight=!a,e.isEmpty(e.line-1)&&(a=!0),(i=e.line)<r&&e.isEmpty(i)){if(a=!0,++i<r&&\"list\"===e.parentType&&e.isEmpty(i))break;e.line=i}}};var re=/[\\n\\t]/g,ne=/\\r[\\n\\u0085]|[\\u2424\\u2028\\u0085]/g,oe=/\\u00a0/g;function se(e){switch(e){case 10:case 92:case 96:case 42:case 95:case 94:case 91:case 93:case 33:case 38:case 60:case 62:case 123:case 125:case 36:case 37:case 64:case 126:case 43:case 61:case 58:return!0;default:return!1}}te.prototype.parse=function(e,t,r,n){var o,s=0,i=0;if(!e)return[];(e=(e=e.replace(oe,\" \")).replace(ne,\"\\n\")).indexOf(\"\\t\")>=0&&(e=e.replace(re,function(t,r){var n;return 10===e.charCodeAt(r)?(s=r+1,i=0,t):(n=\"    \".slice((r-s-i)%4),i=r-s+1,n)})),o=new $(e,this,t,r,n),this.tokenize(o,o.line,o.lineMax)};for(var ie=[],ae=0;ae<256;ae++)ie.push(0);function ue(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122}function le(e,t){var r,n,o,s=t,i=!0,a=!0,u=e.posMax,l=e.src.charCodeAt(t);for(r=t>0?e.src.charCodeAt(t-1):-1;s<u&&e.src.charCodeAt(s)===l;)s++;return s>=u&&(i=!1),(o=s-t)>=4?i=a=!1:(32!==(n=s<u?e.src.charCodeAt(s):-1)&&10!==n||(i=!1),32!==r&&10!==r||(a=!1),95===l&&(ue(r)&&(i=!1),ue(n)&&(a=!1))),{can_open:i,can_close:a,delims:o}}\"\\\\!\\\"#$%&'()*+,./:;<=>?@[]^_`{|}~-\".split(\"\").forEach(function(e){ie[e.charCodeAt(0)]=1});var ce=/\\\\([ \\\\!\"#$%&'()*+,.\\/:;<=>?@[\\]^_`{|}~-])/g;var pe=/\\\\([ \\\\!\"#$%&'()*+,.\\/:;<=>?@[\\]^_`{|}~-])/g;var he=[\"coap\",\"doi\",\"javascript\",\"aaa\",\"aaas\",\"about\",\"acap\",\"cap\",\"cid\",\"crid\",\"data\",\"dav\",\"dict\",\"dns\",\"file\",\"ftp\",\"geo\",\"go\",\"gopher\",\"h323\",\"http\",\"https\",\"iax\",\"icap\",\"im\",\"imap\",\"info\",\"ipp\",\"iris\",\"iris.beep\",\"iris.xpc\",\"iris.xpcs\",\"iris.lwz\",\"ldap\",\"mailto\",\"mid\",\"msrp\",\"msrps\",\"mtqp\",\"mupdate\",\"news\",\"nfs\",\"ni\",\"nih\",\"nntp\",\"opaquelocktoken\",\"pop\",\"pres\",\"rtsp\",\"service\",\"session\",\"shttp\",\"sieve\",\"sip\",\"sips\",\"sms\",\"snmp\",\"soap.beep\",\"soap.beeps\",\"tag\",\"tel\",\"telnet\",\"tftp\",\"thismessage\",\"tn3270\",\"tip\",\"tv\",\"urn\",\"vemmi\",\"ws\",\"wss\",\"xcon\",\"xcon-userid\",\"xmlrpc.beep\",\"xmlrpc.beeps\",\"xmpp\",\"z39.50r\",\"z39.50s\",\"adiumxtra\",\"afp\",\"afs\",\"aim\",\"apt\",\"attachment\",\"aw\",\"beshare\",\"bitcoin\",\"bolo\",\"callto\",\"chrome\",\"chrome-extension\",\"com-eventbrite-attendee\",\"content\",\"cvs\",\"dlna-playsingle\",\"dlna-playcontainer\",\"dtn\",\"dvb\",\"ed2k\",\"facetime\",\"feed\",\"finger\",\"fish\",\"gg\",\"git\",\"gizmoproject\",\"gtalk\",\"hcp\",\"icon\",\"ipn\",\"irc\",\"irc6\",\"ircs\",\"itms\",\"jar\",\"jms\",\"keyparc\",\"lastfm\",\"ldaps\",\"magnet\",\"maps\",\"market\",\"message\",\"mms\",\"ms-help\",\"msnim\",\"mumble\",\"mvn\",\"notes\",\"oid\",\"palm\",\"paparazzi\",\"platform\",\"proxy\",\"psyc\",\"query\",\"res\",\"resource\",\"rmi\",\"rsync\",\"rtmp\",\"secondlife\",\"sftp\",\"sgn\",\"skype\",\"smb\",\"soldat\",\"spotify\",\"ssh\",\"steam\",\"svn\",\"teamspeak\",\"things\",\"udp\",\"unreal\",\"ut2004\",\"ventrilo\",\"view-source\",\"webcal\",\"wtai\",\"wyciwyg\",\"xfire\",\"xri\",\"ymsgr\"],fe=/^<([a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/,ge=/^<([a-zA-Z.\\-]{1,25}):([^<>\\x00-\\x20]*)>/;function de(e,t){return e=e.source,t=t||\"\",function r(n,o){return n?(o=o.source||o,e=e.replace(n,o),r):new RegExp(e,t)}}var me=de(/(?:unquoted|single_quoted|double_quoted)/)(\"unquoted\",/[^\"'=<>`\\x00-\\x20]+/)(\"single_quoted\",/'[^']*'/)(\"double_quoted\",/\"[^\"]*\"/)(),be=de(/(?:\\s+attr_name(?:\\s*=\\s*attr_value)?)/)(\"attr_name\",/[a-zA-Z_:][a-zA-Z0-9:._-]*/)(\"attr_value\",me)(),ve=de(/<[A-Za-z][A-Za-z0-9]*attribute*\\s*\\/?>/)(\"attribute\",be)(),ke=de(/^(?:open_tag|close_tag|comment|processing|declaration|cdata)/)(\"open_tag\",ve)(\"close_tag\",/<\\/[A-Za-z][A-Za-z0-9]*\\s*>/)(\"comment\",/<!---->|<!--(?:-?[^>-])(?:-?[^-])*-->/)(\"processing\",/<[?].*?[?]>/)(\"declaration\",/<![A-Z]+\\s+[^>]*>/)(\"cdata\",/<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/)();var Ae=/^&#((?:x[a-f0-9]{1,8}|[0-9]{1,8}));/i,ye=/^&([a-z][a-z0-9]{1,31});/i;var xe=[[\"text\",function(e,t){for(var r=e.pos;r<e.posMax&&!se(e.src.charCodeAt(r));)r++;return r!==e.pos&&(t||(e.pending+=e.src.slice(e.pos,r)),e.pos=r,!0)}],[\"newline\",function(e,t){var r,n,o=e.pos;if(10!==e.src.charCodeAt(o))return!1;if(r=e.pending.length-1,n=e.posMax,!t)if(r>=0&&32===e.pending.charCodeAt(r))if(r>=1&&32===e.pending.charCodeAt(r-1)){for(var s=r-2;s>=0;s--)if(32!==e.pending.charCodeAt(s)){e.pending=e.pending.substring(0,s+1);break}e.push({type:\"hardbreak\",level:e.level})}else e.pending=e.pending.slice(0,-1),e.push({type:\"softbreak\",level:e.level});else e.push({type:\"softbreak\",level:e.level});for(o++;o<n&&32===e.src.charCodeAt(o);)o++;return e.pos=o,!0}],[\"escape\",function(e,t){var r,n=e.pos,o=e.posMax;if(92!==e.src.charCodeAt(n))return!1;if(++n<o){if((r=e.src.charCodeAt(n))<256&&0!==ie[r])return t||(e.pending+=e.src[n]),e.pos+=2,!0;if(10===r){for(t||e.push({type:\"hardbreak\",level:e.level}),n++;n<o&&32===e.src.charCodeAt(n);)n++;return e.pos=n,!0}}return t||(e.pending+=\"\\\\\"),e.pos++,!0}],[\"backticks\",function(e,t){var r,n,o,s,i,a=e.pos;if(96!==e.src.charCodeAt(a))return!1;for(r=a,a++,n=e.posMax;a<n&&96===e.src.charCodeAt(a);)a++;for(o=e.src.slice(r,a),s=i=a;-1!==(s=e.src.indexOf(\"`\",i));){for(i=s+1;i<n&&96===e.src.charCodeAt(i);)i++;if(i-s===o.length)return t||e.push({type:\"code\",content:e.src.slice(a,s).replace(/[ \\n]+/g,\" \").trim(),block:!1,level:e.level}),e.pos=i,!0}return t||(e.pending+=o),e.pos+=o.length,!0}],[\"del\",function(e,t){var r,n,o,s,i,a=e.posMax,u=e.pos;if(126!==e.src.charCodeAt(u))return!1;if(t)return!1;if(u+4>=a)return!1;if(126!==e.src.charCodeAt(u+1))return!1;if(e.level>=e.options.maxNesting)return!1;if(s=u>0?e.src.charCodeAt(u-1):-1,i=e.src.charCodeAt(u+2),126===s)return!1;if(126===i)return!1;if(32===i||10===i)return!1;for(n=u+2;n<a&&126===e.src.charCodeAt(n);)n++;if(n>u+3)return e.pos+=n-u,t||(e.pending+=e.src.slice(u,n)),!0;for(e.pos=u+2,o=1;e.pos+1<a;){if(126===e.src.charCodeAt(e.pos)&&126===e.src.charCodeAt(e.pos+1)&&(s=e.src.charCodeAt(e.pos-1),126!==(i=e.pos+2<a?e.src.charCodeAt(e.pos+2):-1)&&126!==s&&(32!==s&&10!==s?o--:32!==i&&10!==i&&o++,o<=0))){r=!0;break}e.parser.skipToken(e)}return r?(e.posMax=e.pos,e.pos=u+2,t||(e.push({type:\"del_open\",level:e.level++}),e.parser.tokenize(e),e.push({type:\"del_close\",level:--e.level})),e.pos=e.posMax+2,e.posMax=a,!0):(e.pos=u,!1)}],[\"ins\",function(e,t){var r,n,o,s,i,a=e.posMax,u=e.pos;if(43!==e.src.charCodeAt(u))return!1;if(t)return!1;if(u+4>=a)return!1;if(43!==e.src.charCodeAt(u+1))return!1;if(e.level>=e.options.maxNesting)return!1;if(s=u>0?e.src.charCodeAt(u-1):-1,i=e.src.charCodeAt(u+2),43===s)return!1;if(43===i)return!1;if(32===i||10===i)return!1;for(n=u+2;n<a&&43===e.src.charCodeAt(n);)n++;if(n!==u+2)return e.pos+=n-u,t||(e.pending+=e.src.slice(u,n)),!0;for(e.pos=u+2,o=1;e.pos+1<a;){if(43===e.src.charCodeAt(e.pos)&&43===e.src.charCodeAt(e.pos+1)&&(s=e.src.charCodeAt(e.pos-1),43!==(i=e.pos+2<a?e.src.charCodeAt(e.pos+2):-1)&&43!==s&&(32!==s&&10!==s?o--:32!==i&&10!==i&&o++,o<=0))){r=!0;break}e.parser.skipToken(e)}return r?(e.posMax=e.pos,e.pos=u+2,t||(e.push({type:\"ins_open\",level:e.level++}),e.parser.tokenize(e),e.push({type:\"ins_close\",level:--e.level})),e.pos=e.posMax+2,e.posMax=a,!0):(e.pos=u,!1)}],[\"mark\",function(e,t){var r,n,o,s,i,a=e.posMax,u=e.pos;if(61!==e.src.charCodeAt(u))return!1;if(t)return!1;if(u+4>=a)return!1;if(61!==e.src.charCodeAt(u+1))return!1;if(e.level>=e.options.maxNesting)return!1;if(s=u>0?e.src.charCodeAt(u-1):-1,i=e.src.charCodeAt(u+2),61===s)return!1;if(61===i)return!1;if(32===i||10===i)return!1;for(n=u+2;n<a&&61===e.src.charCodeAt(n);)n++;if(n!==u+2)return e.pos+=n-u,t||(e.pending+=e.src.slice(u,n)),!0;for(e.pos=u+2,o=1;e.pos+1<a;){if(61===e.src.charCodeAt(e.pos)&&61===e.src.charCodeAt(e.pos+1)&&(s=e.src.charCodeAt(e.pos-1),61!==(i=e.pos+2<a?e.src.charCodeAt(e.pos+2):-1)&&61!==s&&(32!==s&&10!==s?o--:32!==i&&10!==i&&o++,o<=0))){r=!0;break}e.parser.skipToken(e)}return r?(e.posMax=e.pos,e.pos=u+2,t||(e.push({type:\"mark_open\",level:e.level++}),e.parser.tokenize(e),e.push({type:\"mark_close\",level:--e.level})),e.pos=e.posMax+2,e.posMax=a,!0):(e.pos=u,!1)}],[\"emphasis\",function(e,t){var r,n,o,s,i,a,u,l=e.posMax,c=e.pos,p=e.src.charCodeAt(c);if(95!==p&&42!==p)return!1;if(t)return!1;if(r=(u=le(e,c)).delims,!u.can_open)return e.pos+=r,t||(e.pending+=e.src.slice(c,e.pos)),!0;if(e.level>=e.options.maxNesting)return!1;for(e.pos=c+r,a=[r];e.pos<l;)if(e.src.charCodeAt(e.pos)!==p)e.parser.skipToken(e);else{if(n=(u=le(e,e.pos)).delims,u.can_close){for(s=a.pop(),i=n;s!==i;){if(i<s){a.push(s-i);break}if(i-=s,0===a.length)break;e.pos+=s,s=a.pop()}if(0===a.length){r=s,o=!0;break}e.pos+=n;continue}u.can_open&&a.push(n),e.pos+=n}return o?(e.posMax=e.pos,e.pos=c+r,t||(2!==r&&3!==r||e.push({type:\"strong_open\",level:e.level++}),1!==r&&3!==r||e.push({type:\"em_open\",level:e.level++}),e.parser.tokenize(e),1!==r&&3!==r||e.push({type:\"em_close\",level:--e.level}),2!==r&&3!==r||e.push({type:\"strong_close\",level:--e.level})),e.pos=e.posMax+r,e.posMax=l,!0):(e.pos=c,!1)}],[\"sub\",function(e,t){var r,n,o=e.posMax,s=e.pos;if(126!==e.src.charCodeAt(s))return!1;if(t)return!1;if(s+2>=o)return!1;if(e.level>=e.options.maxNesting)return!1;for(e.pos=s+1;e.pos<o;){if(126===e.src.charCodeAt(e.pos)){r=!0;break}e.parser.skipToken(e)}return r&&s+1!==e.pos?(n=e.src.slice(s+1,e.pos)).match(/(^|[^\\\\])(\\\\\\\\)*\\s/)?(e.pos=s,!1):(e.posMax=e.pos,e.pos=s+1,t||e.push({type:\"sub\",level:e.level,content:n.replace(ce,\"$1\")}),e.pos=e.posMax+1,e.posMax=o,!0):(e.pos=s,!1)}],[\"sup\",function(e,t){var r,n,o=e.posMax,s=e.pos;if(94!==e.src.charCodeAt(s))return!1;if(t)return!1;if(s+2>=o)return!1;if(e.level>=e.options.maxNesting)return!1;for(e.pos=s+1;e.pos<o;){if(94===e.src.charCodeAt(e.pos)){r=!0;break}e.parser.skipToken(e)}return r&&s+1!==e.pos?(n=e.src.slice(s+1,e.pos)).match(/(^|[^\\\\])(\\\\\\\\)*\\s/)?(e.pos=s,!1):(e.posMax=e.pos,e.pos=s+1,t||e.push({type:\"sup\",level:e.level,content:n.replace(pe,\"$1\")}),e.pos=e.posMax+1,e.posMax=o,!0):(e.pos=s,!1)}],[\"links\",function(e,t){var r,n,o,s,i,a,u,l,c=!1,p=e.pos,h=e.posMax,f=e.pos,g=e.src.charCodeAt(f);if(33===g&&(c=!0,g=e.src.charCodeAt(++f)),91!==g)return!1;if(e.level>=e.options.maxNesting)return!1;if(r=f+1,(n=D(e,f))<0)return!1;if((a=n+1)<h&&40===e.src.charCodeAt(a)){for(a++;a<h&&(32===(l=e.src.charCodeAt(a))||10===l);a++);if(a>=h)return!1;for(f=a,q(e,a)?(s=e.linkContent,a=e.pos):s=\"\",f=a;a<h&&(32===(l=e.src.charCodeAt(a))||10===l);a++);if(a<h&&f!==a&&F(e,a))for(i=e.linkContent,a=e.pos;a<h&&(32===(l=e.src.charCodeAt(a))||10===l);a++);else i=\"\";if(a>=h||41!==e.src.charCodeAt(a))return e.pos=p,!1;a++}else{if(e.linkLevel>0)return!1;for(;a<h&&(32===(l=e.src.charCodeAt(a))||10===l);a++);if(a<h&&91===e.src.charCodeAt(a)&&(f=a+1,(a=D(e,a))>=0?o=e.src.slice(f,a++):a=f-1),o||(void 0===o&&(a=n+1),o=e.src.slice(r,n)),!(u=e.env.references[M(o)]))return e.pos=p,!1;s=u.href,i=u.title}return t||(e.pos=r,e.posMax=n,c?e.push({type:\"image\",src:s,title:i,alt:e.src.substr(r,n-r),level:e.level}):(e.push({type:\"link_open\",href:s,title:i,level:e.level++}),e.linkLevel++,e.parser.tokenize(e),e.linkLevel--,e.push({type:\"link_close\",level:--e.level}))),e.pos=a,e.posMax=h,!0}],[\"footnote_inline\",function(e,t){var r,n,o,s,i=e.posMax,a=e.pos;return!(a+2>=i||94!==e.src.charCodeAt(a)||91!==e.src.charCodeAt(a+1)||e.level>=e.options.maxNesting||(r=a+2,(n=D(e,a+1))<0||(t||(e.env.footnotes||(e.env.footnotes={}),e.env.footnotes.list||(e.env.footnotes.list=[]),o=e.env.footnotes.list.length,e.pos=r,e.posMax=n,e.push({type:\"footnote_ref\",id:o,level:e.level}),e.linkLevel++,s=e.tokens.length,e.parser.tokenize(e),e.env.footnotes.list[o]={tokens:e.tokens.splice(s)},e.linkLevel--),e.pos=n+1,e.posMax=i,0)))}],[\"footnote_ref\",function(e,t){var r,n,o,s,i=e.posMax,a=e.pos;if(a+3>i)return!1;if(!e.env.footnotes||!e.env.footnotes.refs)return!1;if(91!==e.src.charCodeAt(a))return!1;if(94!==e.src.charCodeAt(a+1))return!1;if(e.level>=e.options.maxNesting)return!1;for(n=a+2;n<i;n++){if(32===e.src.charCodeAt(n))return!1;if(10===e.src.charCodeAt(n))return!1;if(93===e.src.charCodeAt(n))break}return!(n===a+2||n>=i||(n++,r=e.src.slice(a+2,n-1),void 0===e.env.footnotes.refs[\":\"+r]||(t||(e.env.footnotes.list||(e.env.footnotes.list=[]),e.env.footnotes.refs[\":\"+r]<0?(o=e.env.footnotes.list.length,e.env.footnotes.list[o]={label:r,count:0},e.env.footnotes.refs[\":\"+r]=o):o=e.env.footnotes.refs[\":\"+r],s=e.env.footnotes.list[o].count,e.env.footnotes.list[o].count++,e.push({type:\"footnote_ref\",id:o,subId:s,level:e.level})),e.pos=n,e.posMax=i,0)))}],[\"autolink\",function(e,t){var r,n,o,s,i,a=e.pos;return!(60!==e.src.charCodeAt(a)||(r=e.src.slice(a)).indexOf(\">\")<0||((n=r.match(ge))?he.indexOf(n[1].toLowerCase())<0||(i=B(s=n[0].slice(1,-1)),!e.parser.validateLink(s)||(t||(e.push({type:\"link_open\",href:i,level:e.level}),e.push({type:\"text\",content:s,level:e.level+1}),e.push({type:\"link_close\",level:e.level})),e.pos+=n[0].length,0)):!(o=r.match(fe))||(i=B(\"mailto:\"+(s=o[0].slice(1,-1))),!e.parser.validateLink(i)||(t||(e.push({type:\"link_open\",href:i,level:e.level}),e.push({type:\"text\",content:s,level:e.level+1}),e.push({type:\"link_close\",level:e.level})),e.pos+=o[0].length,0))))}],[\"htmltag\",function(e,t){var r,n,o,s=e.pos;return!(!e.options.html||(o=e.posMax,60!==e.src.charCodeAt(s)||s+2>=o||33!==(r=e.src.charCodeAt(s+1))&&63!==r&&47!==r&&!function(e){var t=32|e;return t>=97&&t<=122}(r)||!(n=e.src.slice(s).match(ke))||(t||e.push({type:\"htmltag\",content:e.src.slice(s,s+n[0].length),level:e.level}),e.pos+=n[0].length,0)))}],[\"entity\",function(e,t){var r,o,s=e.pos,i=e.posMax;if(38!==e.src.charCodeAt(s))return!1;if(s+1<i)if(35===e.src.charCodeAt(s+1)){if(o=e.src.slice(s).match(Ae))return t||(r=\"x\"===o[1][0].toLowerCase()?parseInt(o[1].slice(1),16):parseInt(o[1],10),e.pending+=l(r)?c(r):c(65533)),e.pos+=o[0].length,!0}else if(o=e.src.slice(s).match(ye)){var a=n(o[1]);if(o[1]!==a)return t||(e.pending+=a),e.pos+=o[0].length,!0}return t||(e.pending+=\"&\"),e.pos++,!0}]];function we(){this.ruler=new C;for(var e=0;e<xe.length;e++)this.ruler.push(xe[e][0],xe[e][1]);this.validateLink=Ce}function Ce(e){var t=e.trim().toLowerCase();return-1===(t=g(t)).indexOf(\":\")||-1===[\"vbscript\",\"javascript\",\"file\",\"data\"].indexOf(t.split(\":\")[0])}we.prototype.skipToken=function(e){var t,r,n=this.ruler.getRules(\"\"),o=n.length,s=e.pos;if((r=e.cacheGet(s))>0)e.pos=r;else{for(t=0;t<o;t++)if(n[t](e,!0))return void e.cacheSet(s,e.pos);e.pos++,e.cacheSet(s,e.pos)}},we.prototype.tokenize=function(e){for(var t,r,n=this.ruler.getRules(\"\"),o=n.length,s=e.posMax;e.pos<s;){for(r=0;r<o&&!(t=n[r](e,!1));r++);if(t){if(e.pos>=s)break}else e.pending+=e.src[e.pos++]}e.pending&&e.pushPending()},we.prototype.parse=function(e,t,r,n){var o=new E(e,this,t,r,n);this.tokenize(o)};var Ee={default:{options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:\"language-\",linkTarget:\"\",typographer:!1,quotes:\"“”‘’\",highlight:null,maxNesting:20},components:{core:{rules:[\"block\",\"inline\",\"references\",\"replacements\",\"smartquotes\",\"references\",\"abbr2\",\"footnote_tail\"]},block:{rules:[\"blockquote\",\"code\",\"fences\",\"footnote\",\"heading\",\"hr\",\"htmlblock\",\"lheading\",\"list\",\"paragraph\",\"table\"]},inline:{rules:[\"autolink\",\"backticks\",\"del\",\"emphasis\",\"entity\",\"escape\",\"footnote_ref\",\"htmltag\",\"links\",\"newline\",\"text\"]}}},full:{options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:\"language-\",linkTarget:\"\",typographer:!1,quotes:\"“”‘’\",highlight:null,maxNesting:20},components:{core:{},block:{},inline:{}}},commonmark:{options:{html:!0,xhtmlOut:!0,breaks:!1,langPrefix:\"language-\",linkTarget:\"\",typographer:!1,quotes:\"“”‘’\",highlight:null,maxNesting:20},components:{core:{rules:[\"block\",\"inline\",\"references\",\"abbr2\"]},block:{rules:[\"blockquote\",\"code\",\"fences\",\"heading\",\"hr\",\"htmlblock\",\"lheading\",\"list\",\"paragraph\"]},inline:{rules:[\"autolink\",\"backticks\",\"emphasis\",\"entity\",\"escape\",\"htmltag\",\"links\",\"newline\",\"text\"]}}}};function De(e,t,r){this.src=t,this.env=r,this.options=e.options,this.tokens=[],this.inlineMode=!1,this.inline=e.inline,this.block=e.block,this.renderer=e.renderer,this.typographer=e.typographer}function _e(e,t){\"string\"!=typeof e&&(t=e,e=\"default\"),t&&null!=t.linkify&&console.warn(\"linkify option is removed. Use linkify plugin instead:\\n\\nimport Remarkable from 'remarkable';\\nimport linkify from 'remarkable/linkify';\\nnew Remarkable().use(linkify)\\n\"),this.inline=new we,this.block=new te,this.core=new G,this.renderer=new w,this.ruler=new C,this.options={},this.configure(Ee[e]),this.set(t||{})}function Be(e,t){if(Array.prototype.indexOf)return e.indexOf(t);for(var r=0,n=e.length;r<n;r++)if(e[r]===t)return r;return-1}function qe(e,t){for(var r=e.length-1;r>=0;r--)!0===t(e[r])&&e.splice(r,1)}function Fe(e){throw new Error(\"Unhandled case for value: '\"+e+\"'\")}_e.prototype.set=function(e){i(this.options,e)},_e.prototype.configure=function(e){var t=this;if(!e)throw new Error(\"Wrong `remarkable` preset, check name/content\");e.options&&t.set(e.options),e.components&&Object.keys(e.components).forEach(function(r){e.components[r].rules&&t[r].ruler.enable(e.components[r].rules,!0)})},_e.prototype.use=function(e,t){return e(this,t),this},_e.prototype.parse=function(e,t){var r=new De(this,e,t);return this.core.process(r),r.tokens},_e.prototype.render=function(e,t){return t=t||{},this.renderer.render(this.parse(e,t),this.options,t)},_e.prototype.parseInline=function(e,t){var r=new De(this,e,t);return r.inlineMode=!0,this.core.process(r),r.tokens},_e.prototype.renderInline=function(e,t){return t=t||{},this.renderer.render(this.parseInline(e,t),this.options,t)};var Me=function(){function e(e){void 0===e&&(e={}),this.tagName=\"\",this.attrs={},this.innerHTML=\"\",this.whitespaceRegex=/\\s+/,this.tagName=e.tagName||\"\",this.attrs=e.attrs||{},this.innerHTML=e.innerHtml||e.innerHTML||\"\"}return e.prototype.setTagName=function(e){return this.tagName=e,this},e.prototype.getTagName=function(){return this.tagName||\"\"},e.prototype.setAttr=function(e,t){return this.getAttrs()[e]=t,this},e.prototype.getAttr=function(e){return this.getAttrs()[e]},e.prototype.setAttrs=function(e){return Object.assign(this.getAttrs(),e),this},e.prototype.getAttrs=function(){return this.attrs||(this.attrs={})},e.prototype.setClass=function(e){return this.setAttr(\"class\",e)},e.prototype.addClass=function(e){for(var t,r=this.getClass(),n=this.whitespaceRegex,o=r?r.split(n):[],s=e.split(n);t=s.shift();)-1===Be(o,t)&&o.push(t);return this.getAttrs().class=o.join(\" \"),this},e.prototype.removeClass=function(e){for(var t,r=this.getClass(),n=this.whitespaceRegex,o=r?r.split(n):[],s=e.split(n);o.length&&(t=s.shift());){var i=Be(o,t);-1!==i&&o.splice(i,1)}return this.getAttrs().class=o.join(\" \"),this},e.prototype.getClass=function(){return this.getAttrs().class||\"\"},e.prototype.hasClass=function(e){return-1!==(\" \"+this.getClass()+\" \").indexOf(\" \"+e+\" \")},e.prototype.setInnerHTML=function(e){return this.innerHTML=e,this},e.prototype.setInnerHtml=function(e){return this.setInnerHTML(e)},e.prototype.getInnerHTML=function(){return this.innerHTML||\"\"},e.prototype.getInnerHtml=function(){return this.getInnerHTML()},e.prototype.toAnchorString=function(){var e=this.getTagName(),t=this.buildAttrsStr();return[\"<\",e,t=t?\" \"+t:\"\",\">\",this.getInnerHtml(),\"</\",e,\">\"].join(\"\")},e.prototype.buildAttrsStr=function(){if(!this.attrs)return\"\";var e=this.getAttrs(),t=[];for(var r in e)e.hasOwnProperty(r)&&t.push(r+'=\"'+e[r]+'\"');return t.join(\" \")},e}();var Se=function(){function e(e){void 0===e&&(e={}),this.newWindow=!1,this.truncate={},this.className=\"\",this.newWindow=e.newWindow||!1,this.truncate=e.truncate||{},this.className=e.className||\"\"}return e.prototype.build=function(e){return new Me({tagName:\"a\",attrs:this.createAttrs(e),innerHtml:this.processAnchorText(e.getAnchorText())})},e.prototype.createAttrs=function(e){var t={href:e.getAnchorHref()},r=this.createCssClass(e);return r&&(t.class=r),this.newWindow&&(t.target=\"_blank\",t.rel=\"noopener noreferrer\"),this.truncate&&this.truncate.length&&this.truncate.length<e.getAnchorText().length&&(t.title=e.getAnchorHref()),t},e.prototype.createCssClass=function(e){var t=this.className;if(t){for(var r=[t],n=e.getCssClassSuffixes(),o=0,s=n.length;o<s;o++)r.push(t+\"-\"+n[o]);return r.join(\" \")}return\"\"},e.prototype.processAnchorText=function(e){return e=this.doTruncate(e)},e.prototype.doTruncate=function(e){var t=this.truncate;if(!t||!t.length)return e;var r=t.length,n=t.location;return\"smart\"===n?function(e,t,r){var n,o;null==r?(r=\"&hellip;\",o=3,n=8):(o=r.length,n=r.length);var s=function(e){var t=\"\";return e.scheme&&e.host&&(t+=e.scheme+\"://\"),e.host&&(t+=e.host),e.path&&(t+=\"/\"+e.path),e.query&&(t+=\"?\"+e.query),e.fragment&&(t+=\"#\"+e.fragment),t},i=function(e,t){var n=t/2,o=Math.ceil(n),s=-1*Math.floor(n),i=\"\";return s<0&&(i=e.substr(s)),e.substr(0,o)+r+i};if(e.length<=t)return e;var a=t-o,u=function(e){var t={},r=e,n=r.match(/^([a-z]+):\\/\\//i);return n&&(t.scheme=n[1],r=r.substr(n[0].length)),(n=r.match(/^(.*?)(?=(\\?|#|\\/|$))/i))&&(t.host=n[1],r=r.substr(n[0].length)),(n=r.match(/^\\/(.*?)(?=(\\?|#|$))/i))&&(t.path=n[1],r=r.substr(n[0].length)),(n=r.match(/^\\?(.*?)(?=(#|$))/i))&&(t.query=n[1],r=r.substr(n[0].length)),(n=r.match(/^#(.*?)$/i))&&(t.fragment=n[1]),t}(e);if(u.query){var l=u.query.match(/^(.*?)(?=(\\?|\\#))(.*?)$/i);l&&(u.query=u.query.substr(0,l[1].length),e=s(u))}if(e.length<=t)return e;if(u.host&&(u.host=u.host.replace(/^www\\./,\"\"),e=s(u)),e.length<=t)return e;var c=\"\";if(u.host&&(c+=u.host),c.length>=a)return u.host.length==t?(u.host.substr(0,t-o)+r).substr(0,a+n):i(c,a).substr(0,a+n);var p=\"\";if(u.path&&(p+=\"/\"+u.path),u.query&&(p+=\"?\"+u.query),p){if((c+p).length>=a)return(c+p).length==t?(c+p).substr(0,t):(c+i(p,a-c.length)).substr(0,a+n);c+=p}if(u.fragment){var h=\"#\"+u.fragment;if((c+h).length>=a)return(c+h).length==t?(c+h).substr(0,t):(c+i(h,a-c.length)).substr(0,a+n);c+=h}if(u.scheme&&u.host){var f=u.scheme+\"://\";if((c+f).length<a)return(f+c).substr(0,t)}if(c.length<=t)return c;var g=\"\";return a>0&&(g=c.substr(-1*Math.floor(a/2))),(c.substr(0,Math.ceil(a/2))+r+g).substr(0,a+n)}(e,r):\"middle\"===n?function(e,t,r){if(e.length<=t)return e;var n,o;null==r?(r=\"&hellip;\",n=8,o=3):(n=r.length,o=r.length);var s=t-o,i=\"\";return s>0&&(i=e.substr(-1*Math.floor(s/2))),(e.substr(0,Math.ceil(s/2))+r+i).substr(0,s+n)}(e,r):function(e,t,r){return function(e,t,r){var n;return e.length>t&&(null==r?(r=\"&hellip;\",n=3):n=r.length,e=e.substring(0,t-n)+r),e}(e,t,r)}(e,r)},e}(),Te=function(){function e(e){this.__jsduckDummyDocProp=null,this.matchedText=\"\",this.offset=0,this.tagBuilder=e.tagBuilder,this.matchedText=e.matchedText,this.offset=e.offset}return e.prototype.getMatchedText=function(){return this.matchedText},e.prototype.setOffset=function(e){this.offset=e},e.prototype.getOffset=function(){return this.offset},e.prototype.getCssClassSuffixes=function(){return[this.getType()]},e.prototype.buildTag=function(){return this.tagBuilder.build(this)},e}(),Le=function(e,t){return(Le=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};function Re(e,t){function r(){this.constructor=e}Le(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var Ne=function(){return(Ne=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},ze=function(e){function t(t){var r=e.call(this,t)||this;return r.email=\"\",r.email=t.email,r}return Re(t,e),t.prototype.getType=function(){return\"email\"},t.prototype.getEmail=function(){return this.email},t.prototype.getAnchorHref=function(){return\"mailto:\"+this.email},t.prototype.getAnchorText=function(){return this.email},t}(Te),Pe=function(e){function t(t){var r=e.call(this,t)||this;return r.serviceName=\"\",r.hashtag=\"\",r.serviceName=t.serviceName,r.hashtag=t.hashtag,r}return Re(t,e),t.prototype.getType=function(){return\"hashtag\"},t.prototype.getServiceName=function(){return this.serviceName},t.prototype.getHashtag=function(){return this.hashtag},t.prototype.getAnchorHref=function(){var e=this.serviceName,t=this.hashtag;switch(e){case\"twitter\":return\"https://twitter.com/hashtag/\"+t;case\"facebook\":return\"https://www.facebook.com/hashtag/\"+t;case\"instagram\":return\"https://instagram.com/explore/tags/\"+t;default:throw new Error(\"Unknown service name to point hashtag to: \"+e)}},t.prototype.getAnchorText=function(){return\"#\"+this.hashtag},t}(Te),je=function(e){function t(t){var r=e.call(this,t)||this;return r.serviceName=\"twitter\",r.mention=\"\",r.mention=t.mention,r.serviceName=t.serviceName,r}return Re(t,e),t.prototype.getType=function(){return\"mention\"},t.prototype.getMention=function(){return this.mention},t.prototype.getServiceName=function(){return this.serviceName},t.prototype.getAnchorHref=function(){switch(this.serviceName){case\"twitter\":return\"https://twitter.com/\"+this.mention;case\"instagram\":return\"https://instagram.com/\"+this.mention;case\"soundcloud\":return\"https://soundcloud.com/\"+this.mention;default:throw new Error(\"Unknown service name to point mention to: \"+this.serviceName)}},t.prototype.getAnchorText=function(){return\"@\"+this.mention},t.prototype.getCssClassSuffixes=function(){var t=e.prototype.getCssClassSuffixes.call(this),r=this.getServiceName();return r&&t.push(r),t},t}(Te),Ie=function(e){function t(t){var r=e.call(this,t)||this;return r.number=\"\",r.plusSign=!1,r.number=t.number,r.plusSign=t.plusSign,r}return Re(t,e),t.prototype.getType=function(){return\"phone\"},t.prototype.getPhoneNumber=function(){return this.number},t.prototype.getNumber=function(){return this.getPhoneNumber()},t.prototype.getAnchorHref=function(){return\"tel:\"+(this.plusSign?\"+\":\"\")+this.number},t.prototype.getAnchorText=function(){return this.matchedText},t}(Te),Oe=function(e){function t(t){var r=e.call(this,t)||this;return r.url=\"\",r.urlMatchType=\"scheme\",r.protocolUrlMatch=!1,r.protocolRelativeMatch=!1,r.stripPrefix={scheme:!0,www:!0},r.stripTrailingSlash=!0,r.decodePercentEncoding=!0,r.schemePrefixRegex=/^(https?:\\/\\/)?/i,r.wwwPrefixRegex=/^(https?:\\/\\/)?(www\\.)?/i,r.protocolRelativeRegex=/^\\/\\//,r.protocolPrepended=!1,r.urlMatchType=t.urlMatchType,r.url=t.url,r.protocolUrlMatch=t.protocolUrlMatch,r.protocolRelativeMatch=t.protocolRelativeMatch,r.stripPrefix=t.stripPrefix,r.stripTrailingSlash=t.stripTrailingSlash,r.decodePercentEncoding=t.decodePercentEncoding,r}return Re(t,e),t.prototype.getType=function(){return\"url\"},t.prototype.getUrlMatchType=function(){return this.urlMatchType},t.prototype.getUrl=function(){var e=this.url;return this.protocolRelativeMatch||this.protocolUrlMatch||this.protocolPrepended||(e=this.url=\"http://\"+e,this.protocolPrepended=!0),e},t.prototype.getAnchorHref=function(){return this.getUrl().replace(/&amp;/g,\"&\")},t.prototype.getAnchorText=function(){var e=this.getMatchedText();return this.protocolRelativeMatch&&(e=this.stripProtocolRelativePrefix(e)),this.stripPrefix.scheme&&(e=this.stripSchemePrefix(e)),this.stripPrefix.www&&(e=this.stripWwwPrefix(e)),this.stripTrailingSlash&&(e=this.removeTrailingSlash(e)),this.decodePercentEncoding&&(e=this.removePercentEncoding(e)),e},t.prototype.stripSchemePrefix=function(e){return e.replace(this.schemePrefixRegex,\"\")},t.prototype.stripWwwPrefix=function(e){return e.replace(this.wwwPrefixRegex,\"$1\")},t.prototype.stripProtocolRelativePrefix=function(e){return e.replace(this.protocolRelativeRegex,\"\")},t.prototype.removeTrailingSlash=function(e){return\"/\"===e.charAt(e.length-1)&&(e=e.slice(0,-1)),e},t.prototype.removePercentEncoding=function(e){var t=e.replace(/%22/gi,\"&quot;\").replace(/%26/gi,\"&amp;\").replace(/%27/gi,\"&#39;\").replace(/%3C/gi,\"&lt;\").replace(/%3E/gi,\"&gt;\");try{return decodeURIComponent(t)}catch(e){return t}},t}(Te),Ue=function(e){this.__jsduckDummyDocProp=null,this.tagBuilder=e.tagBuilder},He=/[A-Za-z]/,Ve=/[0-9]/,Ge=/\\s/,$e=/['\"]/,Ze=/[\\x00-\\x1F\\x7F]/,We=/A-Za-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC/.source,Je=We+/\\u00a9\\u00ae\\u2000-\\u3300\\ud83c\\ud000-\\udfff\\ud83d\\ud000-\\udfff\\ud83e\\ud000-\\udfff/.source+/\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08D4-\\u08E1\\u08E3-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962\\u0963\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2\\u09E3\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2\\u0AE3\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B62\\u0B63\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0C00-\\u0C03\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CE2\\u0CE3\\u0D01-\\u0D03\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4D\\u0D57\\u0D62\\u0D63\\u0D82\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EB9\\u0EBB\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F3E\\u0F3F\\u0F71-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102B-\\u103E\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F\\u109A-\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4-\\u17D3\\u17DD\\u180B-\\u180D\\u1885\\u1886\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60-\\u1A7C\\u1A7F\\u1AB0-\\u1ABE\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF2-\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DF5\\u1DFB-\\u1DFF\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69E\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA880\\uA881\\uA8B4-\\uA8C5\\uA8E0-\\uA8F1\\uA926-\\uA92D\\uA947-\\uA953\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9E5\\uAA29-\\uAA36\\uAA43\\uAA4C\\uAA4D\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5\\uAAF6\\uABE3-\\uABEA\\uABEC\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F/.source,Ye=/0-9\\u0660-\\u0669\\u06F0-\\u06F9\\u07C0-\\u07C9\\u0966-\\u096F\\u09E6-\\u09EF\\u0A66-\\u0A6F\\u0AE6-\\u0AEF\\u0B66-\\u0B6F\\u0BE6-\\u0BEF\\u0C66-\\u0C6F\\u0CE6-\\u0CEF\\u0D66-\\u0D6F\\u0DE6-\\u0DEF\\u0E50-\\u0E59\\u0ED0-\\u0ED9\\u0F20-\\u0F29\\u1040-\\u1049\\u1090-\\u1099\\u17E0-\\u17E9\\u1810-\\u1819\\u1946-\\u194F\\u19D0-\\u19D9\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1B50-\\u1B59\\u1BB0-\\u1BB9\\u1C40-\\u1C49\\u1C50-\\u1C59\\uA620-\\uA629\\uA8D0-\\uA8D9\\uA900-\\uA909\\uA9D0-\\uA9D9\\uA9F0-\\uA9F9\\uAA50-\\uAA59\\uABF0-\\uABF9\\uFF10-\\uFF19/.source,Ke=Je+Ye,Qe=Je+Ye,Xe=\"(?:[\"+Ye+\"]{1,3}\\\\.){3}[\"+Ye+\"]{1,3}\",et=\"[\"+Qe+\"](?:[\"+Qe+\"\\\\-]{0,61}[\"+Qe+\"])?\",tt=function(e){return\"(?=(\"+et+\"))\\\\\"+e},rt=function(e){return\"(?:\"+tt(e)+\"(?:\\\\.\"+tt(e+1)+\"){0,126}|\"+Xe+\")\"},nt=new RegExp(\"[\"+Qe+\"]\"),ot=/(?:xn--vermgensberatung-pwb|xn--vermgensberater-ctb|xn--clchc0ea0b2g2a9gcd|xn--w4r85el8fhu5dnra|northwesternmutual|travelersinsurance|vermögensberatung|xn--3oq18vl8pn36a|xn--5su34j936bgsg|xn--bck1b9a5dre4c|xn--mgbai9azgqp6j|xn--mgberp4a5d4ar|xn--xkc2dl3a5ee0h|vermögensberater|xn--fzys8d69uvgm|xn--mgba7c0bbn0a|xn--xkc2al3hye2a|americanexpress|kerryproperties|sandvikcoromant|xn--i1b6b1a6a2e|xn--kcrx77d1x4a|xn--lgbbat1ad8j|xn--mgba3a4f16a|xn--mgbaakc7dvf|xn--mgbc0a9azcg|xn--nqv7fs00ema|afamilycompany|americanfamily|bananarepublic|cancerresearch|cookingchannel|kerrylogistics|weatherchannel|xn--54b7fta0cc|xn--6qq986b3xl|xn--80aqecdr1a|xn--b4w605ferd|xn--fiq228c5hs|xn--h2breg3eve|xn--jlq61u9w7b|xn--mgba3a3ejt|xn--mgbaam7a8h|xn--mgbayh7gpa|xn--mgbb9fbpob|xn--mgbbh1a71e|xn--mgbca7dzdo|xn--mgbi4ecexp|xn--mgbx4cd0ab|xn--rvc1e0am3e|international|lifeinsurance|spreadbetting|travelchannel|wolterskluwer|xn--eckvdtc9d|xn--fpcrj9c3d|xn--fzc2c9e2c|xn--h2brj9c8c|xn--tiq49xqyj|xn--yfro4i67o|xn--ygbi2ammx|construction|lplfinancial|scholarships|versicherung|xn--3e0b707e|xn--45br5cyl|xn--80adxhks|xn--80asehdb|xn--8y0a063a|xn--gckr3f0f|xn--mgb9awbf|xn--mgbab2bd|xn--mgbgu82a|xn--mgbpl2fh|xn--mgbt3dhd|xn--mk1bu44c|xn--ngbc5azd|xn--ngbe9e0a|xn--ogbpf8fl|xn--qcka1pmc|accountants|barclaycard|blackfriday|blockbuster|bridgestone|calvinklein|contractors|creditunion|engineering|enterprises|foodnetwork|investments|kerryhotels|lamborghini|motorcycles|olayangroup|photography|playstation|productions|progressive|redumbrella|rightathome|williamhill|xn--11b4c3d|xn--1ck2e1b|xn--1qqw23a|xn--2scrj9c|xn--3bst00m|xn--3ds443g|xn--3hcrj9c|xn--42c2d9a|xn--45brj9c|xn--55qw42g|xn--6frz82g|xn--80ao21a|xn--9krt00a|xn--cck2b3b|xn--czr694b|xn--d1acj3b|xn--efvy88h|xn--estv75g|xn--fct429k|xn--fjq720a|xn--flw351e|xn--g2xx48c|xn--gecrj9c|xn--gk3at1e|xn--h2brj9c|xn--hxt814e|xn--imr513n|xn--j6w193g|xn--jvr189m|xn--kprw13d|xn--kpry57d|xn--kpu716f|xn--mgbbh1a|xn--mgbtx2b|xn--mix891f|xn--nyqy26a|xn--otu796d|xn--pbt977c|xn--pgbs0dh|xn--q9jyb4c|xn--rhqv96g|xn--rovu88b|xn--s9brj9c|xn--ses554g|xn--t60b56a|xn--vuq861b|xn--w4rs40l|xn--xhq521b|xn--zfr164b|சிங்கப்பூர்|accountant|apartments|associates|basketball|bnpparibas|boehringer|capitalone|consulting|creditcard|cuisinella|eurovision|extraspace|foundation|healthcare|immobilien|industries|management|mitsubishi|nationwide|newholland|nextdirect|onyourside|properties|protection|prudential|realestate|republican|restaurant|schaeffler|swiftcover|tatamotors|technology|telefonica|university|vistaprint|vlaanderen|volkswagen|xn--30rr7y|xn--3pxu8k|xn--45q11c|xn--4gbrim|xn--55qx5d|xn--5tzm5g|xn--80aswg|xn--90a3ac|xn--9dbq2a|xn--9et52u|xn--c2br7g|xn--cg4bki|xn--czrs0t|xn--czru2d|xn--fiq64b|xn--fiqs8s|xn--fiqz9s|xn--io0a7i|xn--kput3i|xn--mxtq1m|xn--o3cw4h|xn--pssy2u|xn--unup4y|xn--wgbh1c|xn--wgbl6a|xn--y9a3aq|accenture|alfaromeo|allfinanz|amsterdam|analytics|aquarelle|barcelona|bloomberg|christmas|community|directory|education|equipment|fairwinds|financial|firestone|fresenius|frontdoor|fujixerox|furniture|goldpoint|hisamitsu|homedepot|homegoods|homesense|honeywell|institute|insurance|kuokgroup|ladbrokes|lancaster|landrover|lifestyle|marketing|marshalls|melbourne|microsoft|panasonic|passagens|pramerica|richardli|scjohnson|shangrila|solutions|statebank|statefarm|stockholm|travelers|vacations|xn--90ais|xn--c1avg|xn--d1alf|xn--e1a4c|xn--fhbei|xn--j1aef|xn--j1amh|xn--l1acc|xn--ngbrx|xn--nqv7f|xn--p1acf|xn--tckwe|xn--vhquv|yodobashi|abudhabi|airforce|allstate|attorney|barclays|barefoot|bargains|baseball|boutique|bradesco|broadway|brussels|budapest|builders|business|capetown|catering|catholic|chrysler|cipriani|cityeats|cleaning|clinique|clothing|commbank|computer|delivery|deloitte|democrat|diamonds|discount|discover|download|engineer|ericsson|esurance|etisalat|everbank|exchange|feedback|fidelity|firmdale|football|frontier|goodyear|grainger|graphics|guardian|hdfcbank|helsinki|holdings|hospital|infiniti|ipiranga|istanbul|jpmorgan|lighting|lundbeck|marriott|maserati|mckinsey|memorial|merckmsd|mortgage|movistar|observer|partners|pharmacy|pictures|plumbing|property|redstone|reliance|saarland|samsclub|security|services|shopping|showtime|softbank|software|stcgroup|supplies|symantec|training|uconnect|vanguard|ventures|verisign|woodside|xn--90ae|xn--node|xn--p1ai|xn--qxam|yokohama|السعودية|abogado|academy|agakhan|alibaba|android|athleta|auction|audible|auspost|avianca|banamex|bauhaus|bentley|bestbuy|booking|brother|bugatti|capital|caravan|careers|cartier|channel|charity|chintai|citadel|clubmed|college|cologne|comcast|company|compare|contact|cooking|corsica|country|coupons|courses|cricket|cruises|dentist|digital|domains|exposed|express|farmers|fashion|ferrari|ferrero|finance|fishing|fitness|flights|florist|flowers|forsale|frogans|fujitsu|gallery|genting|godaddy|grocery|guitars|hamburg|hangout|hitachi|holiday|hosting|hoteles|hotmail|hyundai|iselect|ismaili|jewelry|juniper|kitchen|komatsu|lacaixa|lancome|lanxess|lasalle|latrobe|leclerc|liaison|limited|lincoln|markets|metlife|monster|netbank|netflix|network|neustar|okinawa|oldnavy|organic|origins|philips|pioneer|politie|realtor|recipes|rentals|reviews|rexroth|samsung|sandvik|schmidt|schwarz|science|shiksha|shriram|singles|staples|starhub|storage|support|surgery|systems|temasek|theater|theatre|tickets|tiffany|toshiba|trading|walmart|wanggou|watches|weather|website|wedding|whoswho|windows|winners|xfinity|yamaxun|youtube|zuerich|католик|اتصالات|الجزائر|العليان|پاکستان|كاثوليك|موبايلي|இந்தியா|abarth|abbott|abbvie|active|africa|agency|airbus|airtel|alipay|alsace|alstom|anquan|aramco|author|bayern|beauty|berlin|bharti|blanco|bostik|boston|broker|camera|career|caseih|casino|center|chanel|chrome|church|circle|claims|clinic|coffee|comsec|condos|coupon|credit|cruise|dating|datsun|dealer|degree|dental|design|direct|doctor|dunlop|dupont|durban|emerck|energy|estate|events|expert|family|flickr|futbol|gallup|garden|george|giving|global|google|gratis|health|hermes|hiphop|hockey|hotels|hughes|imamat|insure|intuit|jaguar|joburg|juegos|kaufen|kinder|kindle|kosher|lancia|latino|lawyer|lefrak|living|locker|london|luxury|madrid|maison|makeup|market|mattel|mobile|mobily|monash|mormon|moscow|museum|mutual|nagoya|natura|nissan|nissay|norton|nowruz|office|olayan|online|oracle|orange|otsuka|pfizer|photos|physio|piaget|pictet|quebec|racing|realty|reisen|repair|report|review|rocher|rogers|ryukyu|safety|sakura|sanofi|school|schule|search|secure|select|shouji|soccer|social|stream|studio|supply|suzuki|swatch|sydney|taipei|taobao|target|tattoo|tennis|tienda|tjmaxx|tkmaxx|toyota|travel|unicom|viajes|viking|villas|virgin|vision|voting|voyage|vuelos|walter|warman|webcam|xihuan|yachts|yandex|zappos|москва|онлайн|ابوظبي|ارامكو|الاردن|المغرب|امارات|فلسطين|مليسيا|भारतम्|இலங்கை|ファッション|actor|adult|aetna|amfam|amica|apple|archi|audio|autos|azure|baidu|beats|bible|bingo|black|boats|bosch|build|canon|cards|chase|cheap|cisco|citic|click|cloud|coach|codes|crown|cymru|dabur|dance|deals|delta|dodge|drive|dubai|earth|edeka|email|epost|epson|faith|fedex|final|forex|forum|gallo|games|gifts|gives|glade|glass|globo|gmail|green|gripe|group|gucci|guide|homes|honda|horse|house|hyatt|ikano|intel|irish|iveco|jetzt|koeln|kyoto|lamer|lease|legal|lexus|lilly|linde|lipsy|lixil|loans|locus|lotte|lotto|lupin|macys|mango|media|miami|money|mopar|movie|nadex|nexus|nikon|ninja|nokia|nowtv|omega|osaka|paris|parts|party|phone|photo|pizza|place|poker|praxi|press|prime|promo|quest|radio|rehab|reise|ricoh|rocks|rodeo|rugby|salon|sener|seven|sharp|shell|shoes|skype|sling|smart|smile|solar|space|sport|stada|store|study|style|sucks|swiss|tatar|tires|tirol|tmall|today|tokyo|tools|toray|total|tours|trade|trust|tunes|tushu|ubank|vegas|video|vodka|volvo|wales|watch|weber|weibo|works|world|xerox|yahoo|zippo|ایران|بازار|بھارت|سودان|سورية|همراه|भारोत|संगठन|বাংলা|భారత్|ഭാരതം|嘉里大酒店|aarp|able|adac|aero|aigo|akdn|ally|amex|arab|army|arpa|arte|asda|asia|audi|auto|baby|band|bank|bbva|beer|best|bike|bing|blog|blue|bofa|bond|book|buzz|cafe|call|camp|care|cars|casa|case|cash|cbre|cern|chat|citi|city|club|cool|coop|cyou|data|date|dclk|deal|dell|desi|diet|dish|docs|doha|duck|duns|dvag|erni|fage|fail|fans|farm|fast|fiat|fido|film|fire|fish|flir|food|ford|free|fund|game|gbiz|gent|ggee|gift|gmbh|gold|golf|goog|guge|guru|hair|haus|hdfc|help|here|hgtv|host|hsbc|icbc|ieee|imdb|immo|info|itau|java|jeep|jobs|jprs|kddi|kiwi|kpmg|kred|land|lego|lgbt|lidl|life|like|limo|link|live|loan|loft|love|ltda|luxe|maif|meet|meme|menu|mini|mint|mobi|moda|moto|name|navy|news|next|nico|nike|ollo|open|page|pars|pccw|pics|ping|pink|play|plus|pohl|porn|post|prod|prof|qpon|raid|read|reit|rent|rest|rich|rmit|room|rsvp|ruhr|safe|sale|sarl|save|saxo|scor|scot|seat|seek|sexy|shaw|shia|shop|show|silk|sina|site|skin|sncf|sohu|song|sony|spot|star|surf|talk|taxi|team|tech|teva|tiaa|tips|town|toys|tube|vana|visa|viva|vivo|vote|voto|wang|weir|wien|wiki|wine|work|xbox|yoga|zara|zero|zone|дети|сайт|بارت|بيتك|ڀارت|تونس|شبكة|عراق|عمان|موقع|भारत|ভারত|ভাৰত|ਭਾਰਤ|ભારત|ଭାରତ|ಭಾರತ|ලංකා|グーグル|クラウド|ポイント|大众汽车|组织机构|電訊盈科|香格里拉|aaa|abb|abc|aco|ads|aeg|afl|aig|anz|aol|app|art|aws|axa|bar|bbc|bbt|bcg|bcn|bet|bid|bio|biz|bms|bmw|bnl|bom|boo|bot|box|buy|bzh|cab|cal|cam|car|cat|cba|cbn|cbs|ceb|ceo|cfa|cfd|com|crs|csc|dad|day|dds|dev|dhl|diy|dnp|dog|dot|dtv|dvr|eat|eco|edu|esq|eus|fan|fit|fly|foo|fox|frl|ftr|fun|fyi|gal|gap|gdn|gea|gle|gmo|gmx|goo|gop|got|gov|hbo|hiv|hkt|hot|how|ibm|ice|icu|ifm|inc|ing|ink|int|ist|itv|jcb|jcp|jio|jll|jmp|jnj|jot|joy|kfh|kia|kim|kpn|krd|lat|law|lds|llc|lol|lpl|ltd|man|map|mba|med|men|mil|mit|mlb|mls|mma|moe|moi|mom|mov|msd|mtn|mtr|nab|nba|nec|net|new|nfl|ngo|nhk|now|nra|nrw|ntt|nyc|obi|off|one|ong|onl|ooo|org|ott|ovh|pay|pet|phd|pid|pin|pnc|pro|pru|pub|pwc|qvc|red|ren|ril|rio|rip|run|rwe|sap|sas|sbi|sbs|sca|scb|ses|sew|sex|sfr|ski|sky|soy|srl|srt|stc|tab|tax|tci|tdk|tel|thd|tjx|top|trv|tui|tvs|ubs|uno|uol|ups|vet|vig|vin|vip|wed|win|wme|wow|wtc|wtf|xin|xxx|xyz|you|yun|zip|бел|ком|қаз|мкд|мон|орг|рус|срб|укр|հայ|קום|عرب|قطر|كوم|مصر|कॉम|नेट|คอม|ไทย|ストア|セール|みんな|中文网|天主教|我爱你|新加坡|淡马锡|诺基亚|飞利浦|ac|ad|ae|af|ag|ai|al|am|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cw|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sx|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|za|zm|zw|ελ|бг|ею|рф|გე|닷넷|닷컴|삼성|한국|コム|世界|中信|中国|中國|企业|佛山|信息|健康|八卦|公司|公益|台湾|台灣|商城|商店|商标|嘉里|在线|大拿|娱乐|家電|工行|广东|微博|慈善|手机|手表|招聘|政务|政府|新闻|时尚|書籍|机构|游戏|澳門|点看|珠宝|移动|网址|网店|网站|网络|联通|谷歌|购物|通販|集团|食品|餐厅|香港)/,st=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.localPartCharRegex=new RegExp(\"[\"+Qe+\"!#$%&'*+/=?^_`{|}~-]\"),t.strictTldRegex=new RegExp(\"^\"+ot.source+\"$\"),t}return Re(t,e),t.prototype.parseMatches=function(e){for(var t=this.tagBuilder,r=this.localPartCharRegex,n=this.strictTldRegex,o=[],s=e.length,i=new it,a={m:\"a\",a:\"i\",i:\"l\",l:\"t\",t:\"o\",o:\":\"},u=0,l=0,c=i;u<s;){var p=e.charAt(u);switch(l){case 0:h(p);break;case 1:f(e.charAt(u-1),p);break;case 2:g(p);break;case 3:d(p);break;case 4:m(p);break;case 5:b(p);break;case 6:v(p);break;case 7:k(p);break;default:Fe(l)}u++}return x(),o;function h(e){\"m\"===e?A(1):r.test(e)&&A()}function f(e,t){\":\"===e?r.test(t)?(l=2,c=new it(Ne({},c,{hasMailtoPrefix:!0}))):y():a[e]===t||(r.test(t)?l=2:\".\"===t?l=3:\"@\"===t?l=4:y())}function g(e){\".\"===e?l=3:\"@\"===e?l=4:r.test(e)||y()}function d(e){\".\"===e?y():\"@\"===e?y():r.test(e)?l=2:y()}function m(e){nt.test(e)?l=5:y()}function b(e){\".\"===e?l=7:\"-\"===e?l=6:nt.test(e)||x()}function v(e){\"-\"===e||\".\"===e?x():nt.test(e)?l=5:x()}function k(e){\".\"===e||\"-\"===e?x():nt.test(e)?(l=5,c=new it(Ne({},c,{hasDomainDot:!0}))):x()}function A(e){void 0===e&&(e=2),l=e,c=new it({idx:u})}function y(){l=0,c=i}function x(){if(c.hasDomainDot){var r=e.slice(c.idx,u);/[-.]$/.test(r)&&(r=r.slice(0,-1));var s=c.hasMailtoPrefix?r.slice(\"mailto:\".length):r;(function(e){var t=(e.split(\".\").pop()||\"\").toLowerCase();return n.test(t)})(s)&&o.push(new ze({tagBuilder:t,matchedText:r,offset:c.idx,email:s}))}y()}},t}(Ue),it=function(e){void 0===e&&(e={}),this.idx=void 0!==e.idx?e.idx:-1,this.hasMailtoPrefix=!!e.hasMailtoPrefix,this.hasDomainDot=!!e.hasDomainDot},at=function(){function e(){}return e.isValid=function(e,t){return!(t&&!this.isValidUriScheme(t)||this.urlMatchDoesNotHaveProtocolOrDot(e,t)||this.urlMatchDoesNotHaveAtLeastOneWordChar(e,t)&&!this.isValidIpAddress(e)||this.containsMultipleDots(e))},e.isValidIpAddress=function(e){var t=new RegExp(this.hasFullProtocolRegex.source+this.ipRegex.source);return null!==e.match(t)},e.containsMultipleDots=function(e){var t=e;return this.hasFullProtocolRegex.test(e)&&(t=e.split(\"://\")[1]),t.split(\"/\")[0].indexOf(\"..\")>-1},e.isValidUriScheme=function(e){var t=e.match(this.uriSchemeRegex),r=t&&t[0].toLowerCase();return\"javascript:\"!==r&&\"vbscript:\"!==r},e.urlMatchDoesNotHaveProtocolOrDot=function(e,t){return!(!e||t&&this.hasFullProtocolRegex.test(t)||-1!==e.indexOf(\".\"))},e.urlMatchDoesNotHaveAtLeastOneWordChar=function(e,t){return!(!e||!t)&&!this.hasWordCharAfterProtocolRegex.test(e)},e.hasFullProtocolRegex=/^[A-Za-z][-.+A-Za-z0-9]*:\\/\\//,e.uriSchemeRegex=/^[A-Za-z][-.+A-Za-z0-9]*:/,e.hasWordCharAfterProtocolRegex=new RegExp(\":[^\\\\s]*?[\"+We+\"]\"),e.ipRegex=/[0-9][0-9]?[0-9]?\\.[0-9][0-9]?[0-9]?\\.[0-9][0-9]?[0-9]?\\.[0-9][0-9]?[0-9]?(:[0-9]*)?\\/?$/,e}(),ut=function(e){function t(t){var r,n=e.call(this,t)||this;return n.stripPrefix={scheme:!0,www:!0},n.stripTrailingSlash=!0,n.decodePercentEncoding=!0,n.matcherRegex=(r=new RegExp(\"[/?#](?:[\"+Qe+\"\\\\-+&@#/%=~_()|'$*\\\\[\\\\]?!:,.;✓]*[\"+Qe+\"\\\\-+&@#/%=~_()|'$*\\\\[\\\\]✓])?\"),new RegExp([\"(?:\",\"(\",/(?:[A-Za-z][-.+A-Za-z0-9]{0,63}:(?![A-Za-z][-.+A-Za-z0-9]{0,63}:\\/\\/)(?!\\d+\\/?)(?:\\/\\/)?)/.source,rt(2),\")\",\"|\",\"(\",\"(//)?\",/(?:www\\.)/.source,rt(6),\")\",\"|\",\"(\",\"(//)?\",rt(10)+\"\\\\.\",ot.source,\"(?![-\"+Ke+\"])\",\")\",\")\",\"(?::[0-9]+)?\",\"(?:\"+r.source+\")?\"].join(\"\"),\"gi\")),n.wordCharRegExp=new RegExp(\"[\"+Qe+\"]\"),n.stripPrefix=t.stripPrefix,n.stripTrailingSlash=t.stripTrailingSlash,n.decodePercentEncoding=t.decodePercentEncoding,n}return Re(t,e),t.prototype.parseMatches=function(e){for(var t,r=this.matcherRegex,n=this.stripPrefix,o=this.stripTrailingSlash,s=this.decodePercentEncoding,i=this.tagBuilder,a=[],u=function(){var r=t[0],u=t[1],c=t[4],p=t[5],h=t[9],f=t.index,g=p||h,d=e.charAt(f-1);if(!at.isValid(r,u))return\"continue\";if(f>0&&\"@\"===d)return\"continue\";if(f>0&&g&&l.wordCharRegExp.test(d))return\"continue\";if(/\\?$/.test(r)&&(r=r.substr(0,r.length-1)),l.matchHasUnbalancedClosingParen(r))r=r.substr(0,r.length-1);else{var m=l.matchHasInvalidCharAfterTld(r,u);m>-1&&(r=r.substr(0,m))}var b=[\"http://\",\"https://\"].find(function(e){return!!u&&-1!==u.indexOf(e)});if(b){var v=r.indexOf(b);r=r.substr(v),u=u.substr(v),f+=v}var k=u?\"scheme\":c?\"www\":\"tld\",A=!!u;a.push(new Oe({tagBuilder:i,matchedText:r,offset:f,urlMatchType:k,url:r,protocolUrlMatch:A,protocolRelativeMatch:!!g,stripPrefix:n,stripTrailingSlash:o,decodePercentEncoding:s}))},l=this;null!==(t=r.exec(e));)u();return a},t.prototype.matchHasUnbalancedClosingParen=function(e){var t,r=e.charAt(e.length-1);if(\")\"===r)t=\"(\";else{if(\"]\"!==r)return!1;t=\"[\"}for(var n=0,o=0,s=e.length-1;o<s;o++){var i=e.charAt(o);i===t?n++:i===r&&(n=Math.max(n-1,0))}return 0===n},t.prototype.matchHasInvalidCharAfterTld=function(e,t){if(!e)return-1;var r=0;t&&(r=e.indexOf(\":\"),e=e.slice(r));var n=new RegExp(\"^((.?//)?[-.\"+Qe+\"]*[-\"+Qe+\"]\\\\.[-\"+Qe+\"]+)\").exec(e);return null===n?-1:(r+=n[1].length,e=e.slice(n[1].length),/^[^-.A-Za-z0-9:\\/?#]/.test(e)?r:-1)},t}(Ue),lt=function(e){function t(t){var r=e.call(this,t)||this;return r.serviceName=\"twitter\",r.matcherRegex=new RegExp(\"#[_\"+Qe+\"]{1,139}(?![_\"+Qe+\"])\",\"g\"),r.nonWordCharRegex=new RegExp(\"[^\"+Qe+\"]\"),r.serviceName=t.serviceName,r}return Re(t,e),t.prototype.parseMatches=function(e){for(var t,r=this.matcherRegex,n=this.nonWordCharRegex,o=this.serviceName,s=this.tagBuilder,i=[];null!==(t=r.exec(e));){var a=t.index,u=e.charAt(a-1);if(0===a||n.test(u)){var l=t[0],c=t[0].slice(1);i.push(new Pe({tagBuilder:s,matchedText:l,offset:a,serviceName:o,hashtag:c}))}}return i},t}(Ue),ct=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.matcherRegex=/(?:(?:(?:(\\+)?\\d{1,3}[-\\040.]?)?\\(?\\d{3}\\)?[-\\040.]?\\d{3}[-\\040.]?\\d{4})|(?:(\\+)(?:9[976]\\d|8[987530]\\d|6[987]\\d|5[90]\\d|42\\d|3[875]\\d|2[98654321]\\d|9[8543210]|8[6421]|6[6543210]|5[87654321]|4[987654310]|3[9643210]|2[70]|7|1)[-\\040.]?(?:\\d[-\\040.]?){6,12}\\d+))([,;]+[0-9]+#?)*/g,t}return Re(t,e),t.prototype.parseMatches=function(e){for(var t,r=this.matcherRegex,n=this.tagBuilder,o=[];null!==(t=r.exec(e));){var s=t[0],i=s.replace(/[^0-9,;#]/g,\"\"),a=!(!t[1]&&!t[2]),u=0==t.index?\"\":e.substr(t.index-1,1),l=e.substr(t.index+s.length,1),c=!u.match(/\\d/)&&!l.match(/\\d/);this.testMatch(t[3])&&this.testMatch(s)&&c&&o.push(new Ie({tagBuilder:n,matchedText:s,offset:t.index,number:i,plusSign:a}))}return o},t.prototype.testMatch=function(e){return/\\D/.test(e)},t}(Ue),pt=function(e){function t(t){var r=e.call(this,t)||this;return r.serviceName=\"twitter\",r.matcherRegexes={twitter:new RegExp(\"@[_\"+Qe+\"]{1,50}(?![_\"+Qe+\"])\",\"g\"),instagram:new RegExp(\"@[_.\"+Qe+\"]{1,30}(?![_\"+Qe+\"])\",\"g\"),soundcloud:new RegExp(\"@[-_.\"+Qe+\"]{1,50}(?![-_\"+Qe+\"])\",\"g\")},r.nonWordCharRegex=new RegExp(\"[^\"+Qe+\"]\"),r.serviceName=t.serviceName,r}return Re(t,e),t.prototype.parseMatches=function(e){var t,r=this.serviceName,n=this.matcherRegexes[this.serviceName],o=this.nonWordCharRegex,s=this.tagBuilder,i=[];if(!n)return i;for(;null!==(t=n.exec(e));){var a=t.index,u=e.charAt(a-1);if(0===a||o.test(u)){var l=t[0].replace(/\\.+$/g,\"\"),c=l.slice(1);i.push(new je({tagBuilder:s,matchedText:l,offset:a,serviceName:r,mention:c}))}}return i},t}(Ue);function ht(e,t){for(var r=t.onOpenTag,n=t.onCloseTag,o=t.onText,s=t.onComment,i=t.onDoctype,a=new ft,u=0,l=e.length,c=0,p=0,h=a;u<l;){var f=e.charAt(u);switch(c){case 0:g(f);break;case 1:d(f);break;case 2:b(f);break;case 3:m(f);break;case 4:v(f);break;case 5:k(f);break;case 6:A(f);break;case 7:y(f);break;case 8:x(f);break;case 9:w(f);break;case 10:C(f);break;case 11:E(f);break;case 12:D(f);break;case 13:_();break;case 14:B(f);break;case 15:q(f);break;case 16:F(f);break;case 17:M(f);break;case 18:S(f);break;case 19:T(f);break;case 20:L(f);break;default:Fe(c)}u++}function g(e){\"<\"===e&&N()}function d(e){\"!\"===e?c=13:\"/\"===e?(c=2,h=new ft(Ne({},h,{isClosing:!0}))):\"<\"===e?N():He.test(e)?(c=3,h=new ft(Ne({},h,{isOpening:!0}))):(c=0,h=a)}function m(e){Ge.test(e)?(h=new ft(Ne({},h,{name:P()})),c=4):\"<\"===e?N():\"/\"===e?(h=new ft(Ne({},h,{name:P()})),c=12):\">\"===e?(h=new ft(Ne({},h,{name:P()})),z()):He.test(e)||Ve.test(e)||\":\"===e||R()}function b(e){\">\"===e?R():He.test(e)?c=3:R()}function v(e){Ge.test(e)||(\"/\"===e?c=12:\">\"===e?z():\"<\"===e?N():\"=\"===e||$e.test(e)||Ze.test(e)?R():c=5)}function k(e){Ge.test(e)?c=6:\"/\"===e?c=12:\"=\"===e?c=7:\">\"===e?z():\"<\"===e?N():$e.test(e)&&R()}function A(e){Ge.test(e)||(\"/\"===e?c=12:\"=\"===e?c=7:\">\"===e?z():\"<\"===e?N():$e.test(e)?R():c=5)}function y(e){Ge.test(e)||('\"'===e?c=8:\"'\"===e?c=9:/[>=`]/.test(e)?R():\"<\"===e?N():c=10)}function x(e){'\"'===e&&(c=11)}function w(e){\"'\"===e&&(c=11)}function C(e){Ge.test(e)?c=4:\">\"===e?z():\"<\"===e&&N()}function E(e){Ge.test(e)?c=4:\"/\"===e?c=12:\">\"===e?z():\"<\"===e?N():(c=4,u--)}function D(e){\">\"===e?(h=new ft(Ne({},h,{isClosing:!0})),z()):c=4}function _(t){\"--\"===e.substr(u,2)?(u+=2,h=new ft(Ne({},h,{type:\"comment\"})),c=14):\"DOCTYPE\"===e.substr(u,7).toUpperCase()?(u+=7,h=new ft(Ne({},h,{type:\"doctype\"})),c=20):R()}function B(e){\"-\"===e?c=15:\">\"===e?R():c=16}function q(e){\"-\"===e?c=18:\">\"===e?R():c=16}function F(e){\"-\"===e&&(c=17)}function M(e){c=\"-\"===e?18:16}function S(e){\">\"===e?z():\"!\"===e?c=19:\"-\"===e||(c=16)}function T(e){\"-\"===e?c=17:\">\"===e?z():c=16}function L(e){\">\"===e?z():\"<\"===e&&N()}function R(){c=0,h=a}function N(){c=1,h=new ft({idx:u})}function z(){var t=e.slice(p,h.idx);t&&o(t,p),\"comment\"===h.type?s(h.idx):\"doctype\"===h.type?i(h.idx):(h.isOpening&&r(h.name,h.idx),h.isClosing&&n(h.name,h.idx)),R(),p=u+1}function P(){var t=h.idx+(h.isClosing?2:1);return e.slice(t,u).toLowerCase()}p<u&&function(){var t=e.slice(p,u);o(t,p),p=u+1}()}var ft=function(e){void 0===e&&(e={}),this.idx=void 0!==e.idx?e.idx:-1,this.type=e.type||\"tag\",this.name=e.name||\"\",this.isOpening=!!e.isOpening,this.isClosing=!!e.isClosing},gt=function(){function e(t){void 0===t&&(t={}),this.version=e.version,this.urls={},this.email=!0,this.phone=!0,this.hashtag=!1,this.mention=!1,this.newWindow=!0,this.stripPrefix={scheme:!0,www:!0},this.stripTrailingSlash=!0,this.decodePercentEncoding=!0,this.truncate={length:0,location:\"end\"},this.className=\"\",this.replaceFn=null,this.context=void 0,this.matchers=null,this.tagBuilder=null,this.urls=this.normalizeUrlsCfg(t.urls),this.email=\"boolean\"==typeof t.email?t.email:this.email,this.phone=\"boolean\"==typeof t.phone?t.phone:this.phone,this.hashtag=t.hashtag||this.hashtag,this.mention=t.mention||this.mention,this.newWindow=\"boolean\"==typeof t.newWindow?t.newWindow:this.newWindow,this.stripPrefix=this.normalizeStripPrefixCfg(t.stripPrefix),this.stripTrailingSlash=\"boolean\"==typeof t.stripTrailingSlash?t.stripTrailingSlash:this.stripTrailingSlash,this.decodePercentEncoding=\"boolean\"==typeof t.decodePercentEncoding?t.decodePercentEncoding:this.decodePercentEncoding;var r=this.mention;if(!1!==r&&\"twitter\"!==r&&\"instagram\"!==r&&\"soundcloud\"!==r)throw new Error(\"invalid `mention` cfg - see docs\");var n=this.hashtag;if(!1!==n&&\"twitter\"!==n&&\"facebook\"!==n&&\"instagram\"!==n)throw new Error(\"invalid `hashtag` cfg - see docs\");this.truncate=this.normalizeTruncateCfg(t.truncate),this.className=t.className||this.className,this.replaceFn=t.replaceFn||this.replaceFn,this.context=t.context||this}return e.link=function(t,r){return new e(r).link(t)},e.parse=function(t,r){return new e(r).parse(t)},e.prototype.normalizeUrlsCfg=function(e){return null==e&&(e=!0),\"boolean\"==typeof e?{schemeMatches:e,wwwMatches:e,tldMatches:e}:{schemeMatches:\"boolean\"!=typeof e.schemeMatches||e.schemeMatches,wwwMatches:\"boolean\"!=typeof e.wwwMatches||e.wwwMatches,tldMatches:\"boolean\"!=typeof e.tldMatches||e.tldMatches}},e.prototype.normalizeStripPrefixCfg=function(e){return null==e&&(e=!0),\"boolean\"==typeof e?{scheme:e,www:e}:{scheme:\"boolean\"!=typeof e.scheme||e.scheme,www:\"boolean\"!=typeof e.www||e.www}},e.prototype.normalizeTruncateCfg=function(e){return\"number\"==typeof e?{length:e,location:\"end\"}:function(e,t){for(var r in t)t.hasOwnProperty(r)&&void 0===e[r]&&(e[r]=t[r]);return e}(e||{},{length:Number.POSITIVE_INFINITY,location:\"end\"})},e.prototype.parse=function(e){var t=this,r=[\"a\",\"style\",\"script\"],n=0,o=[];return ht(e,{onOpenTag:function(e){r.indexOf(e)>=0&&n++},onText:function(e,r){if(0===n){var s=function(e,t){if(!t.global)throw new Error(\"`splitRegex` must have the 'g' flag set\");for(var r,n=[],o=0;r=t.exec(e);)n.push(e.substring(o,r.index)),n.push(r[0]),o=r.index+r[0].length;return n.push(e.substring(o)),n}(e,/(&nbsp;|&#160;|&lt;|&#60;|&gt;|&#62;|&quot;|&#34;|&#39;)/gi),i=r;s.forEach(function(e,r){if(r%2==0){var n=t.parseText(e,i);o.push.apply(o,n)}i+=e.length})}},onCloseTag:function(e){r.indexOf(e)>=0&&(n=Math.max(n-1,0))},onComment:function(e){},onDoctype:function(e){}}),o=this.compactMatches(o),o=this.removeUnwantedMatches(o)},e.prototype.compactMatches=function(e){e.sort(function(e,t){return e.getOffset()-t.getOffset()});for(var t=0;t<e.length-1;t++){var r=e[t],n=r.getOffset(),o=r.getMatchedText().length,s=n+o;if(t+1<e.length){if(e[t+1].getOffset()===n){var i=e[t+1].getMatchedText().length>o?t:t+1;e.splice(i,1);continue}e[t+1].getOffset()<s&&e.splice(t+1,1)}}return e},e.prototype.removeUnwantedMatches=function(e){return this.hashtag||qe(e,function(e){return\"hashtag\"===e.getType()}),this.email||qe(e,function(e){return\"email\"===e.getType()}),this.phone||qe(e,function(e){return\"phone\"===e.getType()}),this.mention||qe(e,function(e){return\"mention\"===e.getType()}),this.urls.schemeMatches||qe(e,function(e){return\"url\"===e.getType()&&\"scheme\"===e.getUrlMatchType()}),this.urls.wwwMatches||qe(e,function(e){return\"url\"===e.getType()&&\"www\"===e.getUrlMatchType()}),this.urls.tldMatches||qe(e,function(e){return\"url\"===e.getType()&&\"tld\"===e.getUrlMatchType()}),e},e.prototype.parseText=function(e,t){void 0===t&&(t=0),t=t||0;for(var r=this.getMatchers(),n=[],o=0,s=r.length;o<s;o++){for(var i=r[o].parseMatches(e),a=0,u=i.length;a<u;a++)i[a].setOffset(t+i[a].getOffset());n.push.apply(n,i)}return n},e.prototype.link=function(e){if(!e)return\"\";for(var t=this.parse(e),r=[],n=0,o=0,s=t.length;o<s;o++){var i=t[o];r.push(e.substring(n,i.getOffset())),r.push(this.createMatchReturnVal(i)),n=i.getOffset()+i.getMatchedText().length}return r.push(e.substring(n)),r.join(\"\")},e.prototype.createMatchReturnVal=function(e){var t;return this.replaceFn&&(t=this.replaceFn.call(this.context,e)),\"string\"==typeof t?t:!1===t?e.getMatchedText():t instanceof Me?t.toAnchorString():e.buildTag().toAnchorString()},e.prototype.getMatchers=function(){if(this.matchers)return this.matchers;var e=this.getTagBuilder(),t=[new lt({tagBuilder:e,serviceName:this.hashtag}),new st({tagBuilder:e}),new ct({tagBuilder:e}),new pt({tagBuilder:e,serviceName:this.mention}),new ut({tagBuilder:e,stripPrefix:this.stripPrefix,stripTrailingSlash:this.stripTrailingSlash,decodePercentEncoding:this.decodePercentEncoding})];return this.matchers=t},e.prototype.getTagBuilder=function(){var e=this.tagBuilder;return e||(e=this.tagBuilder=new Se({newWindow:this.newWindow,truncate:this.truncate,className:this.className})),e},e.version=\"3.11.0\",e.AnchorTagBuilder=Se,e.HtmlTag=Me,e.matcher={Email:st,Hashtag:lt,Matcher:Ue,Mention:pt,Phone:ct,Url:ut},e.match={Email:ze,Hashtag:Pe,Match:Te,Mention:je,Phone:Ie,Url:Oe},e}(),dt=/www|@|\\:\\/\\//;function mt(e){return/^<\\/a\\s*>/i.test(e)}function bt(){var e=[],t=new gt({stripPrefix:!1,url:!0,email:!0,replaceFn:function(t){switch(t.getType()){case\"url\":e.push({text:t.matchedText,url:t.getUrl()});break;case\"email\":e.push({text:t.matchedText,url:\"mailto:\"+t.getEmail().replace(/^mailto:/i,\"\")})}return!1}});return{links:e,autolinker:t}}function vt(e){var t,r,n,o,s,i,a,u,l,c,p,h,f,g,d=e.tokens,m=null;for(r=0,n=d.length;r<n;r++)if(\"inline\"===d[r].type)for(p=0,t=(o=d[r].children).length-1;t>=0;t--)if(\"link_close\"!==(s=o[t]).type){if(\"htmltag\"===s.type&&(g=s.content,/^<a[>\\s]/i.test(g)&&p>0&&p--,mt(s.content)&&p++),!(p>0)&&\"text\"===s.type&&dt.test(s.content)){if(m||(h=(m=bt()).links,f=m.autolinker),i=s.content,h.length=0,f.link(i),!h.length)continue;for(a=[],c=s.level,u=0;u<h.length;u++)e.inline.validateLink(h[u].url)&&((l=i.indexOf(h[u].text))&&a.push({type:\"text\",content:i.slice(0,l),level:c}),a.push({type:\"link_open\",href:h[u].url,title:\"\",level:c++}),a.push({type:\"text\",content:h[u].text,level:c}),a.push({type:\"link_close\",level:--c}),i=i.slice(l+h[u].text.length));i.length&&a.push({type:\"text\",content:i,level:c}),d[r].children=o=[].concat(o.slice(0,t),a,o.slice(t+1))}}else for(t--;o[t].level!==s.level&&\"link_open\"!==o[t].type;)t--}e.Remarkable=_e,e.linkify=function(e){e.core.ruler.push(\"linkify\",vt)},e.utils=A,Object.defineProperty(e,\"__esModule\",{value:!0})});\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown-legacy/files/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": [\n\t\t{\n\t\t\t\"file\": \"remarkable.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/markdown-legacy/remarkable.js\",\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"file\": \"remarkable-license.txt\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"text/plain\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/markdown-legacy/remarkable-license\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"file\": \"remarkable-katex.min.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/markdown-legacy/remarkable-katex.js\",\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t},\n\t\t\t\"prefix\": \"(function(realRequire) {var require = function(m) {if(m===\\\"katex\\\"){m = \\\"$:/plugins/tiddlywiki/katex/katex.min.js\\\"};return realRequire(m);};\",\n\t\t\t\"suffix\": \"})(require);\\n\"\n\t\t},\n\t\t{\n\t\t\t\"file\": \"remarkable-katex-license.txt\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"text/plain\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/markdown-legacy/remarkable-katex-license\"\n\t\t\t}\n\t\t}\n\t]\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown-legacy/images/markdown-linkify.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown-legacy/images/markdown-linkify\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-markdown-linkify-button tc-image-button\" viewBox=\"0 0 128 128\">\n<path d=\"M17.031185,32.1989189 L9.04781705,32.1989189 L9.04781705,97.1303119 L17.031185,97.1303119 L17.031185,104.049231 L0,104.049231 L0,25.28 L17.031185,25.28 L17.031185,32.1989189 Z M93.6716009,24.75 C90.4007675,30.8326023 88.0193713,37.1590826 86.5274123,43.7294408 C85.0354532,50.299799 84.2894737,56.9705775 84.2894737,63.7417763 C84.2894737,70.6277412 85.0211075,77.3702485 86.484375,83.9692982 C87.9476425,90.568348 90.314693,96.9952485 93.5855263,103.25 L93.5855263,103.25 L83.4287281,103.25 C79.8135965,97.3395468 77.0161732,91.1134868 75.0364583,84.5718202 C73.0567434,78.0301535 72.066886,71.3737208 72.066886,64.6025219 C72.066886,61.3890716 72.3107639,58.017818 72.7985197,54.488761 C73.2862756,50.9597039 74.0035636,47.4449927 74.9503838,43.9446272 C75.8972039,40.4442617 77.0735563,37.0586623 78.4794408,33.7878289 C79.8853253,30.5169956 81.5350877,27.504386 83.4287281,24.75 L83.4287281,24.75 Z M116.638158,24.75 C120.253289,30.6604532 123.050713,36.9152047 125.030428,43.5142544 C127.010143,50.1133041 128,56.7984284 128,63.5696272 C128,66.7830775 127.770468,70.1543311 127.311404,73.6833882 C126.852339,77.2124452 126.149397,80.7128107 125.202577,84.1844846 C124.255757,87.6561586 123.065058,91.0274123 121.630482,94.2982456 C120.195906,97.5690789 118.531798,100.552997 116.638158,103.25 L116.638158,103.25 L106.48136,103.25 C109.637427,97.1673977 111.975786,90.8696089 113.496436,84.3566338 C115.017087,77.8436586 115.777412,71.2015716 115.777412,64.4303728 C115.777412,57.5444079 115.031433,50.7732091 113.539474,44.1167763 C112.047515,37.4603436 109.723501,31.0047515 106.567434,24.75 L106.567434,24.75 Z M37.1101871,44.1061384 L37.1101871,56.702119 L49.0852391,52.799139 L51.3915454,59.8954661 L39.3277893,63.798446 L46.956341,74.1768244 L40.8357588,78.6120289 L33.2072072,68.1449464 L25.7560638,78.3459166 L19.8128898,73.8220081 L27.4414414,63.798446 L15.2889813,59.6293539 L17.5952876,52.5330268 L29.6590437,56.702119 L29.6590437,44.1061384 L37.1101871,44.1061384 Z M49.6493416,97.1303119 L57.6327096,97.1303119 L57.6327096,32.1989189 L49.6493416,32.1989189 L49.6493416,25.28 L66.6805267,25.28 L66.6805267,104.049231 L49.6493416,104.049231 L49.6493416,97.1303119 Z\"></path>\n</svg>\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown-legacy/images/new-markdown-button.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown-legacy/images/new-markdown-button\ntags: $:/tags/Image\n\n<svg class=\"tc-image-new-markdown-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n    <g fill-rule=\"evenodd\">\n        <rect x=\"80\" y=\"96\" width=\"48\" height=\"16\" rx=\"8\"></rect>\n        <rect x=\"96\" y=\"80\" width=\"16\" height=\"48\" rx=\"8\"></rect>\n        <path d=\"M3.23876972,39.5396716 C3.23876972,35.9653274 6.13586353,33.0691646 9.7141757,33.0691646 L98.1283744,33.0691646 C101.706101,33.0691646 104.60378,35.9646626 104.60378,39.5396716 L104.60378,84.8296213 C104.60378,88.4039654 101.706687,91.3001282 98.1283744,91.3001282 L9.7141757,91.3001282 C6.13644944,91.3001282 3.23876972,88.4046302 3.23876972,84.8296213 L3.23876972,39.5396716 L3.23876972,39.5396716 Z M-2.15298617,39.5396716 L-2.15298617,84.8296213 C-2.15298617,91.3833243 3.15957363,96.6918841 9.7141757,96.6918841 L98.1283744,96.6918841 C104.684083,96.6918841 109.995536,91.382138 109.995536,84.8296213 L109.995536,39.5396716 C109.995536,32.9859686 104.682977,27.6774087 98.1283744,27.6774087 L9.7141757,27.6774087 C3.15846686,27.6774087 -2.15298617,32.9871549 -2.15298617,39.5396716 Z M14.0222815,80.5166164 L14.0222815,43.8526764 L24.8057933,43.8526764 L35.589305,57.3320661 L46.3728168,43.8526764 L57.1563286,43.8526764 L57.1563286,80.5166164 L46.3728168,80.5166164 L46.3728168,59.4887685 L35.589305,72.9681582 L24.8057933,59.4887685 L24.8057933,80.5166164 L14.0222815,80.5166164 Z M81.4192301,80.5166164 L65.2439624,62.723822 L76.0274742,62.723822 L76.0274742,43.8526764 L86.810986,43.8526764 L86.810986,62.723822 L97.5944978,62.723822 L81.4192301,80.5166164 Z\"transform=\"translate(53.921275, 62.184646) rotate(-60.000000) translate(-53.921275, -62.184646) \"></path>\n    </g>\n</svg>"
  },
  {
    "path": "plugins/tiddlywiki/markdown-legacy/new-markdown.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown-legacy/new-markdown-button\ntags: $:/tags/PageControls\ncaption: {{$:/plugins/tiddlywiki/markdown-legacy/images/new-markdown-button}} {{$:/language/Buttons/NewMarkdown/Caption}}\ndescription: {{$:/language/Buttons/NewMarkdown/Hint}}\nlist-after: $:/core/ui/Buttons/new-tiddler\n\n\\whitespace trim\n<$button tooltip={{$:/language/Buttons/NewMarkdown/Hint}} aria-label={{$:/language/Buttons/NewMarkdown/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-new-tiddler\" type=\"text/markdown\"/>\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/plugins/tiddlywiki/markdown-legacy/images/new-markdown-button}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewMarkdown/Caption}}/></span>\n<%endif%>\n</$button>\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown-legacy/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/markdown-legacy\",\n\t\"name\": \"Markdown (Legacy)\",\n\t\"description\": \"Markdown parser based on remarkable by Jon Schlinkert and remarkable-katex by Brad Howes\",\n\t\"list\": \"readme usage remarkable-license remarkable-katex-license\",\n\t\"stability\": \"STABILITY_3_LEGACY\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown-legacy/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown-legacy/readme\n\nThis is a TiddlyWiki plugin for parsing Markdown text, using the [[Remarkable|https://github.com/jonschlinkert/remarkable]] library. If the KaTeX TiddlyWiki plugin is installed, KaTeX support is enabled using the [[remarkable-katex|https://github.com/bradhowes/remarkable-katex]] Remarkable plugin.\n\nIt is completely self-contained, and doesn't need an Internet connection in order to work. It works both in the browser and under Node.js.\n\n[[Source code|https://github.com/TiddlyWiki/TiddlyWiki5/blob/master/plugins/tiddlywiki/markdown-legacy]]\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown-legacy/usage.tid",
    "content": "title: $:/plugins/tiddlywiki/markdown-legacy/usage\n\n! Plugin Configuration\n\n|!Config |!Default |!Description |\n| <code>[[breaks|$:/config/markdown/breaks]]</code>| ``false``|Remarkable library config: Convert '\\n' in paragraphs into ``<br>`` |\n| <code>[[linkify|$:/config/markdown/linkify]]</code>| ``false``|Remarkable library config: Autoconvert URL-like text to links |\n| <code>[[linkNewWindow|$:/config/markdown/linkNewWindow]]</code>| ``true``|For external links, should clicking on them open a new window/tab automatically? |\n| <code>[[quotes|$:/config/markdown/quotes]]</code>| ``“”‘’``|Remarkable library config: Double + single quotes replacement pairs, when ``typographer`` enabled |\n| <code>[[renderWikiText|$:/config/markdown/renderWikiText]]</code>| ``true``|After Markdown is parsed, should any text elements be handed off to the ~WikiText parser for further processing? |\n| <code>[[renderWikiTextPragma|$:/config/markdown/renderWikiTextPragma]]</code>|<code><$view tiddler=\"$:/plugins/tiddlywiki/markdown-legacy\" subtiddler=\"$:/config/markdown/renderWikiTextPragma\" mode=\"inline\"/></code>|When handing off to the ~WikiText parser, what pragma rules should it follow? |\n| <code>[[typographer|$:/config/markdown/typographer]]</code>| ``false``|Remarkable library config: Enable some language-neutral replacement + quotes beautification |\n\n! Creating ~WikiLinks\n\nCreate wiki links with the usual Markdown link syntax targeting `#` and the target tiddler title:\n\n```\n[link text](#TiddlerTitle)\n```\n\nIf the target tiddler has a space in its name, that name must be URL-escaped to be detected as a URL:\n\n```\n[link text](#Test%20Tiddler)\n```\n\n! Images\n\nMarkdown image syntax can be used to reference images by tiddler title or an external URI. For example:\n\n```\n![alt text](/path/to/img.jpg \"Title\")\n\n![alt text](Motovun Jack.jpg \"Title\")\n```\n"
  },
  {
    "path": "plugins/tiddlywiki/markdown-legacy/wrapper.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/markdown-legacy/wrapper.js\ntype: application/javascript\nmodule-type: parser\n\nWraps up the remarkable parser for use as a Parser in TiddlyWiki\n\n\\*/\n\n\"use strict\";\n\nvar r = require(\"$:/plugins/tiddlywiki/markdown-legacy/remarkable.js\");\n\nvar Remarkable = r.Remarkable,\n\tlinkify = r.linkify;\n\n///// Set up configuration options /////\nfunction parseAsBoolean(tiddlerName) {\n\treturn $tw.wiki.getTiddlerText(tiddlerName).toLowerCase() === \"true\";\n}\nvar pluginOpts = {\n\tlinkNewWindow: parseAsBoolean(\"$:/config/markdown/linkNewWindow\"),\n\trenderWikiText: parseAsBoolean(\"$:/config/markdown/renderWikiText\"),\n\trenderWikiTextPragma: $tw.wiki.getTiddlerText(\"$:/config/markdown/renderWikiTextPragma\").trim()\n};\nvar remarkableOpts = {\n\tbreaks: parseAsBoolean(\"$:/config/markdown/breaks\"),\n\tquotes: $tw.wiki.getTiddlerText(\"$:/config/markdown/quotes\"),\n\ttypographer: parseAsBoolean(\"$:/config/markdown/typographer\")\n};\nvar accumulatingTypes = {\n\t\"text\": true,\n\t\"softbreak\": true\n};\n// If rendering WikiText, we treat katex nodes as text.\nif(pluginOpts.renderWikiText) {\n\taccumulatingTypes[\"katex\"] = true;\n}\n\nvar md = new Remarkable(remarkableOpts);\n\n// If tiddlywiki/katex plugin is present, use remarkable-katex to enable katex support.\nif($tw.modules.titles[\"$:/plugins/tiddlywiki/katex/katex.min.js\"]) {\n\tvar rk = require(\"$:/plugins/tiddlywiki/markdown-legacy/remarkable-katex.js\");\n\tmd = md.use(rk);\n}\n\nif(parseAsBoolean(\"$:/config/markdown/linkify\")) {\n\tmd = md.use(linkify);\n}\n\nfunction findTagWithType(nodes, startPoint, type, level) {\n\tfor(var i = startPoint; i < nodes.length; i++) {\n\t\tif(nodes[i].type === type && nodes[i].level === level) {\n\t\t\treturn i;\n\t\t}\n\t}\n\treturn false;\n}\n\n/**\n * Remarkable creates nodes that look like:\n * [\n *   { type: 'paragraph_open'},\n *   { type: 'inline', content: 'Hello World', children:[{type: 'text', content: 'Hello World'}]},\n *   { type: 'paragraph_close'}\n * ]\n *\n * But TiddlyWiki wants the Parser (https://tiddlywiki.com/dev/static/Parser.html) to emit nodes like:\n *\n * [\n *   { type: 'element', tag: 'p', children: [{type: 'text', text: 'Hello World'}]}\n * ]\n */\nfunction convertNodes(remarkableTree, isStartOfInline) {\n\tlet out = [];\n\tvar accumulatedText = \"\";\n\tfunction withChildren(currentIndex, currentLevel, closingType, nodes, callback) {\n\t\tvar j = findTagWithType(nodes, currentIndex + 1, closingType, currentLevel);\n\t\tif(j === false) {\n\t\t\tconsole.error(\"Failed to find a \" + closingType + \" node after position \" + currentIndex);\n\t\t\tconsole.log(nodes);\n\t\t\treturn currentIndex + 1;\n\t\t}\n\t\tlet children = convertNodes(nodes.slice(currentIndex + 1, j));\n\t\tcallback(children);\n\t\treturn j;\n\t}\n\tfunction wrappedElement(elementTag, currentIndex, currentLevel, closingType, nodes) {\n\t\treturn withChildren(currentIndex, currentLevel, closingType, nodes, function(children) {\n\t\t\tout.push({\n\t\t\t\ttype: \"element\",\n\t\t\t\ttag: elementTag,\n\t\t\t\tchildren: children\n\t\t\t});\n\t\t});\n\t}\n\n\tfor(var i = 0; i < remarkableTree.length; i++) {\n\t\tvar currentNode = remarkableTree[i];\n\t\tswitch(currentNode.type) {\n\t\t\tcase \"paragraph_open\":\n\t\t\t// If the paragraph is a \"tight\" layout paragraph, don't wrap children in a <p> tag.\n\t\t\t\tif(currentNode.tight) {\n\t\t\t\t\ti = withChildren(i, currentNode.level, \"paragraph_close\", remarkableTree, function(children) {\n\t\t\t\t\t\tArray.prototype.push.apply(out, children);\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\ti = wrappedElement(\"p\", i, currentNode.level, \"paragraph_close\", remarkableTree);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase \"heading_open\":\n\t\t\t\ti = wrappedElement(\"h\" + currentNode.hLevel, i, currentNode.level, \"heading_close\", remarkableTree);\n\t\t\t\tbreak;\n\n\t\t\tcase \"bullet_list_open\":\n\t\t\t\ti = wrappedElement(\"ul\", i, currentNode.level, \"bullet_list_close\", remarkableTree);\n\t\t\t\tbreak;\n\n\t\t\tcase \"ordered_list_open\":\n\t\t\t\ti = wrappedElement(\"ol\", i, currentNode.level,\"ordered_list_close\", remarkableTree);\n\t\t\t\tbreak;\n\n\t\t\tcase \"list_item_open\":\n\t\t\t\ti = wrappedElement(\"li\", i, currentNode.level, \"list_item_close\", remarkableTree);\n\t\t\t\tbreak;\n\n\t\t\tcase \"link_open\":\n\t\t\t\ti = withChildren(i, currentNode.level, \"link_close\", remarkableTree, function(children) {\n\t\t\t\t\tif(currentNode.href[0] !== \"#\") {\n\t\t\t\t\t// External link\n\t\t\t\t\t\tvar attributes = {\n\t\t\t\t\t\t\tclass: { type: \"string\", value: \"tc-tiddlylink-external\" },\n\t\t\t\t\t\t\thref: { type: \"string\", value: currentNode.href },\n\t\t\t\t\t\t\trel: { type: \"string\", value: \"noopener noreferrer\" }\n\t\t\t\t\t\t};\n\t\t\t\t\t\tif(pluginOpts.linkNewWindow) {\n\t\t\t\t\t\t\tattributes.target = { type: \"string\", value: \"_blank\" };\n\t\t\t\t\t\t}\n\t\t\t\t\t\tout.push({\n\t\t\t\t\t\t\ttype: \"element\",\n\t\t\t\t\t\t\ttag: \"a\",\n\t\t\t\t\t\t\tattributes: attributes,\n\t\t\t\t\t\t\tchildren: children\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t// Internal link\n\t\t\t\t\t\tout.push({\n\t\t\t\t\t\t\ttype: \"link\",\n\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\tto: { type: \"string\", value: $tw.utils.decodeURISafe(currentNode.href.substr(1)) }\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tchildren: children\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tbreak;\n\n\t\t\tcase \"code\":\n\t\t\t\tout.push({\n\t\t\t\t\ttype: \"element\",\n\t\t\t\t\ttag: currentNode.block ? \"pre\" : \"code\",\n\t\t\t\t\tchildren: [{ type: \"text\", text: currentNode.content }]\n\t\t\t\t});\n\t\t\t\tbreak;\n\n\t\t\tcase \"fence\":\n\t\t\t\tout.push({\n\t\t\t\t\ttype: \"codeblock\",\n\t\t\t\t\tattributes: {\n\t\t\t\t\t\tlanguage: { type: \"string\", value: currentNode.params },\n\t\t\t\t\t\tcode: { type: \"string\", value: currentNode.content }\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tbreak;\n\n\t\t\tcase \"image\":\n\t\t\t\tout.push({\n\t\t\t\t\ttype: \"image\",\n\t\t\t\t\tattributes: {\n\t\t\t\t\t\ttooltip: { type: \"string\", value: currentNode.alt },\n\t\t\t\t\t\tsource: { type: \"string\", value: $tw.utils.decodeURIComponentSafe(currentNode.src) }\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tbreak;\n\n\t\t\tcase \"softbreak\":\n\t\t\t\tif(remarkableOpts.breaks) {\n\t\t\t\t\tout.push({\n\t\t\t\t\t\ttype: \"element\",\n\t\t\t\t\t\ttag: \"br\",\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\taccumulatedText = accumulatedText + \"\\n\";\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase \"hardbreak\":\n\t\t\t\tout.push({\n\t\t\t\t\ttype: \"element\",\n\t\t\t\t\ttag: \"br\",\n\t\t\t\t});\n\t\t\t\tbreak;\n\n\t\t\tcase \"th_open\":\n\t\t\tcase \"td_open\":\n\t\t\t\tvar elementTag = currentNode.type.slice(0, 2);\n\t\t\t\ti = withChildren(i, currentNode.level, elementTag + \"_close\", remarkableTree, function(children) {\n\t\t\t\t\tvar attributes = {};\n\t\t\t\t\tif(currentNode.align) {\n\t\t\t\t\t\tattributes.style = { type: \"string\", value: \"text-align:\" + currentNode.align };\n\t\t\t\t\t}\n\t\t\t\t\tout.push({\n\t\t\t\t\t\ttype: \"element\",\n\t\t\t\t\t\ttag: elementTag,\n\t\t\t\t\t\tattributes: attributes,\n\t\t\t\t\t\tchildren: children\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t\tbreak;\n\n\t\t\tcase \"hr\":\n\t\t\t\tout.push({\n\t\t\t\t\ttype: \"element\",\n\t\t\t\t\ttag: \"hr\",\n\t\t\t\t});\n\t\t\t\tbreak;\n\n\t\t\tcase \"inline\":\n\t\t\t\tout = out.concat(convertNodes(currentNode.children, true));\n\t\t\t\tbreak;\n\n\t\t\tcase \"text\":\n\t\t\t// We need to merge this text block with the upcoming text block and parse it all together.\n\t\t\t\taccumulatedText = accumulatedText + currentNode.content;\n\t\t\t\tbreak;\n\n\t\t\tcase \"katex\":\n\t\t\t// If rendering WikiText, convert the katex node back to text for parsing by the WikiText LaTeX parser.\n\t\t\t\tif(pluginOpts.renderWikiText) {\n\t\t\t\t// If this is a block, add a newline to trigger the KaTeX plugins block detection.\n\t\t\t\t\tvar displayModeSuffix = currentNode.block ? \"\\n\" : \"\";\n\t\t\t\t\taccumulatedText = accumulatedText + \"$$\" + currentNode.content + displayModeSuffix + \"$$\";\n\t\t\t\t} else {\n\t\t\t\t\tout.push({\n\t\t\t\t\t\ttype: \"latex\",\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\ttext: { type: \"text\", value: currentNode.content },\n\t\t\t\t\t\t\tdisplayMode: { type: \"text\", value: currentNode.block ? \"true\" : \"false\" }\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\tif(currentNode.type.substr(currentNode.type.length - 5) === \"_open\") {\n\t\t\t\t\tvar tagName = currentNode.type.substr(0, currentNode.type.length - 5);\n\t\t\t\t\ti = wrappedElement(tagName, i, currentNode.level, tagName + \"_close\", remarkableTree);\n\t\t\t\t} else {\n\t\t\t\t\tconsole.error(\"Unknown node type: \" + currentNode.type, currentNode);\n\t\t\t\t\tout.push({\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: currentNode.content\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t\t// We test to see if we process the block now, or if there's\n\t\t// more to accumulate first.\n\t\tif(accumulatedText\n\t\t\t&& (\n\t\t\t\tremarkableOpts.breaks ||\n\t\t\t\t(i+1) >= remarkableTree.length ||\n\t\t\t\t!accumulatingTypes[remarkableTree[i+1].type]\n\t\t\t)\n\t\t) {\n\t\t\t// The Markdown compiler thinks this is just text.\n\t\t\t// Hand off to the WikiText parser to see if there's more to render\n\t\t\t// But only if it's configured to, and we have more than whitespace\n\t\t\tif(!pluginOpts.renderWikiText || accumulatedText.match(/^\\s*$/)) {\n\t\t\t\tout.push({\n\t\t\t\t\ttype: \"text\",\n\t\t\t\t\ttext: accumulatedText\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t// If we're inside a block element (div, p, td, h1), and this is the first child in the tree,\n\t\t\t\t// handle as a block-level parse. Otherwise not.\n\t\t\t\tvar parseAsInline = !(isStartOfInline && i === 0);\n\t\t\t\tvar textToParse = accumulatedText;\n\t\t\t\tif(pluginOpts.renderWikiTextPragma !== \"\") {\n\t\t\t\t\ttextToParse = pluginOpts.renderWikiTextPragma + \"\\n\" + textToParse;\n\t\t\t\t}\n\t\t\t\tvar wikiParser = $tw.wiki.parseText(\"text/vnd.tiddlywiki\", textToParse, {\n\t\t\t\t\tparseAsInline: parseAsInline\n\t\t\t\t});\n\t\t\t\tvar rs = wikiParser.tree;\n\n\t\t\t\t// If we parsed as a block, but the root element the WikiText parser gave is a paragraph,\n\t\t\t\t// we should discard the paragraph, since the way Remarkable nests its nodes, this \"inline\"\n\t\t\t\t// node is always inside something else that's a block-level element\n\t\t\t\tif(!parseAsInline\n\t\t\t\t\t&& rs.length === 1\n\t\t\t\t\t&& rs[0].type === \"element\"\n\t\t\t\t\t&& rs[0].tag === \"p\"\n\t\t\t\t) {\n\t\t\t\t\trs = rs[0].children;\n\t\t\t\t}\n\n\t\t\t\t// If the original text element started with a space, add it back in\n\t\t\t\tif(rs.length > 0\n\t\t\t\t\t&& rs[0].type === \"text\"\n\t\t\t\t\t&& (accumulatedText[0] === \" \" || accumulatedText[0] === \"\\n\")\n\t\t\t\t) {\n\t\t\t\t\trs[0].text = \" \" + rs[0].text;\n\t\t\t\t}\n\t\t\t\tout = out.concat(rs);\n\t\t\t}\n\t\t\taccumulatedText = \"\";\n\t\t}\n\t}\n\treturn out;\n}\n\nvar MarkdownParser = function(type, text, options) {\n\tvar tree = md.parse(text, {});\n\t//console.debug(tree);\n\ttree = convertNodes(tree);\n\t//console.debug(tree);\n\n\tthis.tree = tree;\n};\n\nexports[\"text/x-markdown\"] = MarkdownParser;\nexports[\"text/markdown\"] = MarkdownParser;\n"
  },
  {
    "path": "plugins/tiddlywiki/menubar/config-DefaultColourMappings.multids",
    "content": "title: $:/config/DefaultColourMappings/\n\nmenubar-foreground: #fff\nmenubar-background: #5778d8\n"
  },
  {
    "path": "plugins/tiddlywiki/menubar/config-MenuItemsVisibility.multids",
    "content": "title: $:/config/plugins/menubar/MenuItems/Visibility/$:/plugins/tiddlywiki/menubar/items/\n\npagecontrols: hide\nserver: hide\nsidebar: hide"
  },
  {
    "path": "plugins/tiddlywiki/menubar/config-TableOfContentsTag.tid",
    "content": "title: $:/config/plugins/menubar/TableOfContents/Tag\ntext: TableOfContents\n"
  },
  {
    "path": "plugins/tiddlywiki/menubar/config-breakpoint.tid",
    "content": "title: $:/config/plugins/menubar/breakpoint\ntext: 620px"
  },
  {
    "path": "plugins/tiddlywiki/menubar/config.tid",
    "content": "title: $:/plugins/tiddlywiki/menubar/config\ntags: $:/tags/ControlPanel/Toolbars\ncaption: Menu Bar\n\n\\define config-base() $:/config/plugins/menubar/MenuItems/Visibility/\n\n! Menu Bar Configuration\n\n!! Menu Items\n\nSelect which menu items will be shown. You can also drag items to reorder them.\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/MenuBar\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\"/>\n\n</$set>\n\n</$set>\n\n!! Breakpoint Position\n\nThe breakpoint position between narrow and wide screens. Should include CSS units (eg. `400px`).\n\n<$edit-text tiddler=\"$:/config/plugins/menubar/breakpoint\" default=\"\" tag=\"input\"/>\n\n!! Contents Tag\n\nThe tag for the ~TableOfContents used in the Contents dropdown\n\n<$edit-text tiddler=\"$:/config/plugins/menubar/TableOfContents/Tag\" default=\"\" tag=\"input\"/>\n\n!! Menu Bar Colours\n\nTo change the colour of the menu bar, define the colours `menubar-foreground` and `menubar-background` in the currently selected palette\n"
  },
  {
    "path": "plugins/tiddlywiki/menubar/items/contents.tid",
    "content": "title: $:/plugins/tiddlywiki/menubar/items/contents\ncaption: Contents\ndescription: Table of Contents\nis-dropdown: yes\ntags: $:/tags/MenuBar\n\n<div class=\"tc-table-of-contents\">\n\n<$macrocall $name=\"toc-selective-expandable\" tag={{$:/config/plugins/menubar/TableOfContents/Tag}}/>\n\n</div>\n"
  },
  {
    "path": "plugins/tiddlywiki/menubar/items/hamburger.tid",
    "content": "title: $:/plugins/tiddlywiki/menubar/items/hamburger\ntags: $:/tags/MenuBar\ncaption: Hamburger\ndescription: Show the full menu bar on a narrow screen\ncustom-menu-content: {{$:/plugins/tiddlywiki/menubar/items/hamburger}}\nshow-when: narrow\n\n<$list filter=\"[[$:/state/popup/menubar/hamburger]get[text]else[no]match[no]]\">\n<$button set=\"$:/state/popup/menubar/hamburger\" setTo=\"yes\">\n{{$:/core/images/menu-button}}\n</$button>\n</$list>\n<$list filter=\"[[$:/state/popup/menubar/hamburger]get[text]else[no]match[yes]]\">\n<$button set=\"$:/state/popup/menubar/hamburger\" setTo=\"no\">\n{{$:/core/images/close-button}}\n</$button>\n</$list>\n"
  },
  {
    "path": "plugins/tiddlywiki/menubar/items/pagecontrols.tid",
    "content": "title: $:/plugins/tiddlywiki/menubar/items/pagecontrols\ntags: $:/tags/MenuBar\ndescription: Page controls from the sidebar\ncaption: Page controls\ncustom-menu-content: <$transclude tiddler=\"$:/plugins/tiddlywiki/menubar/items/pagecontrols\" mode=\"inline\"/>\n\n\\whitespace trim\n\\define config-title() $:/config/PageControlButtons/Visibility/$(listItem)$\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]]\" variable=\"listItem\">\n\t<$set name=\"hidden\" value=<<config-title>>>\n\t\t<$list filter=\"[<hidden>!text[hide]]\" storyview=\"pop\" variable=\"ignore\">\n\t\t\t<$set name=\"tv-config-toolbar-class\" filter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\">\n\t\t\t\t<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\t\t\t</$set>\n\t\t</$list>\n\t</$set>\n</$list>\n"
  },
  {
    "path": "plugins/tiddlywiki/menubar/items/search.tid",
    "content": "title: $:/plugins/tiddlywiki/menubar/items/search\ncustom-menu-content: {{$:/plugins/tiddlywiki/menubar/items/search}}\ndescription: Search\ncaption: Search\ntags: $:/tags/MenuBar\n\n\\define cancel-search-actions()\n<$set name=\"userInput\" value={{{ [<__storeTitle__>get[text]] }}}>\n<$list filter=\"[<__tiddler__>get[text]!match<userInput>]\" emptyMessage=\"\"\"<$action-deletetiddler $filter=\"[<__storeTitle__>] [<__tiddler__>] [<__selectionStateTitle__>]\"/>\"\"\">\n<$action-setfield $tiddler=<<__tiddler__>> text=<<userInput>>/><$action-setfield $tiddler=<<__refreshTitle__>> text=\"yes\"/>\n</$list>\n</$set>\n\\end\n\n\\define input-accept-actions() <$list filter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\" emptyMessage=\"\"\"<$list filter=\"[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]\"><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>\"\"\"><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>\n\n\\define input-accept-variant-actions() <$list filter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\" emptyMessage=\"\"\"<$list filter=\"[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]\"><$list filter=\"[<__tiddler__>get[text]minlength[1]]\"><$action-sendmessage $message=\"tm-edit-tiddler\" $param={{{  [<__tiddler__>get[text]] }}}/></$list></$list>\"\"\"><$list filter=\"[<__tiddler__>get[text]minlength[1]]\"><$action-sendmessage $message=\"tm-edit-tiddler\" $param={{{  [<__tiddler__>get[text]] }}}/></$list></$list>\n\n\\define set-next-input-tab(beforeafter:\"after\") <$macrocall $name=\"change-input-tab\" stateTitle=\"$:/state/tab/search-results/sidebar\" tag=\"$:/tags/SearchResults\" beforeafter=\"$beforeafter$\" defaultState={{$:/config/SearchResults/Default}} actions=\"\"\"<$action-setfield $tiddler=\"$:/state/search/currentTab\" text=<<nextTab>>/>\"\"\"/>\n\n\\whitespace trim\n<$vars searchTiddler=\"$:/temp/menubarsearch/input\" searchListState=<<qualify \"$:/state/search-list/selected-item\">>>\n<span style=\"margin: 0 0.5em;\">\n<$keyboard key=\"((input-tab-right))\" actions=<<set-next-input-tab>>>\n<$keyboard key=\"((input-tab-left))\" actions=<<set-next-input-tab \"before\">>>\n<form class=\"tc-form-inline\">\n<$macrocall $name=\"keyboard-driven-input\" tiddler=\"$:/temp/menubarsearch\" storeTitle=<<searchTiddler>> selectionStateTitle=<<searchListState>> \n\t\trefreshTitle=\"$:/temp/menubarsearch/refresh\" tag=\"input\" type=\"search\" focusPopup=\"$:/state/popup/menubar-search-dropdown\" \n\t\tclass=\"tc-popup-handle tc-menu-show-when-wide\" placeholder=\"Search...\" default=\"\" cancelPopups=\"yes\" \n\t\tinputAcceptActions=<<input-accept-actions>> inputAcceptVariantActions=<<input-accept-variant-actions>> inputCancelActions=<<cancel-search-actions>> \n\t\tfilterMinLength={{$:/config/Search/MinLength}} configTiddlerFilter=\"[[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}]\" />\n</form>\n</$keyboard>\n</$keyboard>\n</span>\n<$reveal tag=\"div\" class=\"tc-block-dropdown-wrapper\" state=\"$:/state/popup/menubar-search-dropdown\" type=\"nomatch\" text=\"\" default=\"\">\n\n<div  class=\"tc-block-dropdown tc-search-drop-down\">\n\n<$list filter=\"[<searchTiddler>get[text]minlength[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">Type your search terms</div>\"\"\" variable=\"ignore\">\n\n<$list filter=\"[<searchTiddler>get[text]minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n\n<$vars configTiddler={{{ [[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}] }}} userInput={{{ [<searchTiddler>get[text]] }}}>\n\n{{$:/core/ui/SearchResults}}\n\n</$vars>\n\n</$list>\n\n</$list>\n\n</div>\n\n</$reveal>\n\n</$vars>\n"
  },
  {
    "path": "plugins/tiddlywiki/menubar/items/server.tid",
    "content": "title: $:/plugins/tiddlywiki/menubar/items/server\ntags: $:/tags/MenuBar\ndescription: Server options\ncaption: Server\ncustom-menu-content: <$transclude tiddler=\"$:/plugins/tiddlywiki/menubar/items/server\" mode=\"inline\"/>\n\n<$list filter=\"[[$:/status/IsLoggedIn]get[text]else[no]match[yes]]\" variable=\"ignore\">\n<$transclude tiddler=\"$:/core/ui/Buttons/save-wiki\" mode=\"inline\"/>\n</$list>\n<$list filter=\"[[$:/status/IsLoggedIn]get[text]else[no]match[no]]\" variable=\"ignore\">\n<$button message=\"tm-login\">\nLogin\n</$button>\n</$list>\n"
  },
  {
    "path": "plugins/tiddlywiki/menubar/items/sidebar.tid",
    "content": "title: $:/plugins/tiddlywiki/menubar/items/sidebar\ncaption: Sidebar\ndescription: Sidebar\nis-dropdown: yes\ntags: $:/tags/MenuBar\n\n<$scrollable fallthrough=\"none\" class=\"tc-popup-keep tc-menubar-dropdown-sidebar\">\n\n<$transclude tiddler=\"$:/core/ui/SideBarSegments/tabs\" mode=\"inline\"/>\n\n</$scrollable>\n"
  },
  {
    "path": "plugins/tiddlywiki/menubar/items/topleftbar.tid",
    "content": "title: $:/plugins/tiddlywiki/menubar/items/topleftbar\ntags: $:/tags/MenuBar\ndescription: Items from $:/tags/TopLeftBar\ncaption: Legacy Top Left Bar\ncustom-menu-content: <$transclude tiddler=\"$:/plugins/tiddlywiki/menubar/items/topleftbar\" mode=\"inline\"/>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TopLeftBar]!has[draft.of]]\" variable=\"listItem\" storyview=\"pop\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$list>"
  },
  {
    "path": "plugins/tiddlywiki/menubar/items/toprightbar.tid",
    "content": "title: $:/plugins/tiddlywiki/menubar/items/toprightbar\ntags: $:/tags/MenuBar\ndescription: Items from $:/tags/TopRightBar\ncaption: Legacy Top Right Bar\ncustom-menu-content: <$transclude tiddler=\"$:/plugins/tiddlywiki/menubar/items/toprightbar\" mode=\"inline\"/>\ncustom-menu-styles-wide: float: right;\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TopRightBar]!has[draft.of]reverse[]]\" variable=\"listItem\" storyview=\"pop\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$list>"
  },
  {
    "path": "plugins/tiddlywiki/menubar/keyboardshortcuts-menubar-search.tid",
    "content": "key: ((menubar-search))\ntags: $:/tags/KeyboardShortcut\ntitle: $:/core/ui/KeyboardShortcuts/menubar-search\n\n<$action-sendmessage $message=\"tm-focus-selector\" $param=\".tc-menubar input\"/>\n"
  },
  {
    "path": "plugins/tiddlywiki/menubar/menu.tid",
    "content": "title: $:/plugins/tiddlywiki/menubar/menu\ntags: $:/tags/PageTemplate\n\n\\define menubar-inner(size)\n<ul class=\"tc-menubar-list\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/MenuBar]!has[draft.of]] -[all[tiddlers+shadows]tag[$:/tags/TopLeftBar]limit[1]then[]else[$:/plugins/tiddlywiki/menubar/items/topleftbar]] -[all[tiddlers+shadows]tag[$:/tags/TopRightBar]limit[1]then[]else[$:/plugins/tiddlywiki/menubar/items/toprightbar]]\">\n<$list filter=\"[<currentTiddler>addprefix[$:/config/plugins/menubar/MenuItems/Visibility/]get[text]] ~show +[match[show]]\" variable=\"ignore\">\n<$list filter=\"[[$size$]match[wide]] ~[<currentTiddler>get[show-when]match[$size$]] ~[{$:/state/popup/menubar/hamburger}match[yes]]\" variable=\"ignore\">\n<li style={{!!custom-menu-styles-$size$}} class={{{ [<currentTiddler>get[show-when]addprefix[tc-menubar-]] tc-menubar-item +[join[ ]] }}}>\n<$list filter=\"[<currentTiddler>!is-dropdown[yes]]\" variable=\"listItem\" emptyMessage=\"\"\"\n\t<!-- Dropdown -->\n\t<$set name=\"dropdown-state\" value=<<qualify \"$:/state/popup/topmenu/dropdown/\">>>\n\t<$set name=\"dropdown-state\" value={{{ [<dropdown-state>addsuffix<currentTiddler>] }}}>\n\t<$button popup=<<dropdown-state>> selectedClass=\"tc-selected\">\n\t<$set name=\"tv-wikilinks\" value=\"no\">\n\t<$transclude field=\"caption\" mode=\"inline\"/>\n\t<$text text=\" \"/>\n\t<span class=\"tc-menubar-dropdown-arrow\">\n\t<$transclude tiddler=\"$:/core/images/down-arrow\" mode=\"inline\"/>\n\t</span>\n\t</$set>\n\t</$button>\n\t</$set>\n\t</$set>\n\"\"\">\n<$list filter=\"[<currentTiddler>has[custom-menu-content]]\" variable=\"listItem\" emptyMessage=\"\"\"\n\t<!-- Link -->\n\t<$link to={{!!target}}>\n\t<$set name=\"tv-wikilinks\" value=\"no\">\n\t<$transclude field=\"caption\" mode=\"inline\"/>\n\t</$set>\n\t</$link>\n\"\"\">\n<!-- Custom content -->\n<$transclude field=\"custom-menu-content\" mode=\"inline\"/>\n</$list>\n</$list>\n</li>\n</$list>\n</$list>\n</$list>\n</ul>\n\\end\n\n<$list filter=\"[<tv-config-static>!match[yes]]\" variable=\"ignore\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/MenuBar]!has[draft.of]] -[all[tiddlers+shadows]tag[$:/tags/TopLeftBar]limit[1]then[]else[$:/plugins/tiddlywiki/menubar/items/topleftbar]] -[all[tiddlers+shadows]tag[$:/tags/TopRightBar]limit[1]then[]else[$:/plugins/tiddlywiki/menubar/items/toprightbar]] +[limit[1]]\" variable=\"listItem\">\n<nav class=\"tc-menubar tc-adjust-top-of-scroll\">\n<div class=\"tc-menubar-narrow\">\n<<menubar-inner narrow>>\n</div>\n<div class=\"tc-menubar-wide\">\n<<menubar-inner wide>>\n</div>\n<div style=\"clear:both;\"/>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/MenuBar]!has[draft.of]is-dropdown[yes]]\">\n<$list filter=\"[<currentTiddler>addprefix[$:/config/plugins/menubar/MenuItems/Visibility/]get[text]] ~show +[match[show]]\" variable=\"ignore\">\n<$set name=\"dropdown-state\" value=<<qualify \"$:/state/popup/topmenu/dropdown/\">>>\n<$set name=\"dropdown-state\" value={{{ [<dropdown-state>addsuffix<currentTiddler>] }}}>\n<$reveal type=\"popup\" state=<<dropdown-state>> position={{{ [<currentTiddler>get[dropdown-position]else[below]] }}} class={{{ [<currentTiddler>get[class]] }}} tag=\"div\">\n<div class=\"tc-drop-down\">\n<$transclude/>\n</div>\n</$reveal>\n</$set>\n</$set>\n</$list>\n</$list>\n</nav>\n</$list>\n</$list>\n"
  },
  {
    "path": "plugins/tiddlywiki/menubar/overrides/core-ui-PageTemplate-topleftbar.tid",
    "content": "title: $:/core/ui/PageTemplate/topleftbar\n\n<!-- The menubar plugin overrides this tiddler to remove the core top left menu. The menu items that it would include are instead included in the menubar -->"
  },
  {
    "path": "plugins/tiddlywiki/menubar/overrides/core-ui-PageTemplate-toprightbar.tid",
    "content": "title: $:/core/ui/PageTemplate/toprightbar\n\n<!-- The menubar plugin overrides this tiddler to remove the core top right menu. The menu items that it would include are instead included in the menubar -->"
  },
  {
    "path": "plugins/tiddlywiki/menubar/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/menubar\",\n\t\"name\": \"Menu Bar\",\n\t\"description\": \"Menu Bar\",\n\t\"list\": \"readme config\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/menubar/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/menubar/readme\n\n!! Introduction\n\nThis plugin provides a menu bar with the following features:\n\n* Menu items take the form of simple text links, dropdowns, or entirely custom content\n* Menu items can be individually enabled via the control panel\n* Responds to reduced screen width by abbreviating the menu items to a \"hamburger\" dropdown\n\n!! Menu Item Tiddlers\n\nMenu items are tagged <<tag $:/tags/MenuBar>>. The following fields are used by this plugin:\n\n|!Field Name |!Purpose |\n|title |Each menu item must have a unique title (not shown to the user) |\n|description |Description for use in listings |\n|tags |Must contain `$:/tags/MenuBar` |\n|caption |The text that is displayed for the menu item. Avoid links, using `~` to suppress CamelCase links if required |\n|target |For simple link menu items specifies a tiddler title as the target of the link |\n|is-dropdown |Set to `yes` to indicate a dropdown menu item |\n|dropdown-position |Optional position for the dropdown (can be ''left'', ''above'', ''aboveleft'', ''aboveright'', ''right'', ''belowleft'', ''belowright'' or ''below'') |\n|text |For dropdown menu items, specifies the body of the dropdown |\n|custom-menu-content |Optional wikitext to be displayed in place of the caption |\n|custom-menu-styles-wide |Optional string of styles to be applied to menu item when the menubar is wide |\n|custom-menu-styles-narrow |Optional string of styles to be applied to menu item when the menubar is narrow |\n\nCustom menu items should make sure that the clickable link or button is an immediate child, and not wrapped in another element.\n\nNote that menu items can be pushed to the right of the menu bar setting the ''custom-menu-styles'' field to `float: right;`.\n"
  },
  {
    "path": "plugins/tiddlywiki/menubar/shortcutinfo-menubar-search.tid",
    "content": "tags: \ntitle: $:/config/ShortcutInfo/menubar-search\n\nSelect the menubar search field\n"
  },
  {
    "path": "plugins/tiddlywiki/menubar/styles.tid",
    "content": "title: $:/plugins/tiddlywiki/menubar/styles\ntags: [[$:/tags/Stylesheet]]\n\n\\define breakpoint-plus-one()\n<$text text={{{ [{$:/config/plugins/menubar/breakpoint}removesuffix[px]add[1]addsuffix[px]] ~[{$:/config/plugins/menubar/breakpoint}] }}} />\n\\end\n\n\\define sidebarbreakpoint-minus-one()\n<$text text={{{ [{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}removesuffix[px]subtract[1]addsuffix[px]] ~[{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}] }}} />\n\\end\n\n\\define set-sidebar-scrollable-top-if-hamburger()\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/MenuBar]] -[all[tiddlers+shadows]prefix[$:/config/plugins/menubar/MenuItems/Visibility/]regexp:text[hide]removeprefix[$:/config/plugins/menubar/MenuItems/Visibility/]] -[all[tiddlers+shadows]tag[$:/tags/TopLeftBar]limit[1]then[]else[$:/plugins/tiddlywiki/menubar/items/topleftbar]] -[all[tiddlers+shadows]tag[$:/tags/TopRightBar]limit[1]then[$:/plugins/tiddlywiki/menubar/items/toprightbar]] -$:/plugins/tiddlywiki/menubar/items/hamburger +[limit[1]]\">\n\n\t.tc-sidebar-scrollable {\n\t\tmargin-top: 2em;\n\t}\n\n</$list>\n\\end\n\n\\define set-sidebar-scrollable-top()\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/MenuBar]] -[all[tiddlers+shadows]prefix[$:/config/plugins/menubar/MenuItems/Visibility/]regexp:text[hide]removeprefix[$:/config/plugins/menubar/MenuItems/Visibility/]] -[all[tiddlers+shadows]tag[$:/tags/TopLeftBar]limit[1]then[]else[$:/plugins/tiddlywiki/menubar/items/topleftbar]] -[all[tiddlers+shadows]tag[$:/tags/TopRightBar]limit[1]then[$:/plugins/tiddlywiki/menubar/items/toprightbar]] +[limit[1]]\">\n\n\t.tc-sidebar-scrollable {\n\t\tmargin-top: 2em;\n\t}\n\n</$list>\n<$reveal state=\"$:/state/popup/menubar/hamburger\" type=\"match\" text=\"yes\">\n\n\t<$set name=\"itemCount\" value={{{ [all[tiddlers+shadows]tag[$:/tags/MenuBar]] -[all[tiddlers+shadows]prefix[$:/config/plugins/menubar/MenuItems/Visibility/]regexp:text[hide]removeprefix[$:/config/plugins/menubar/MenuItems/Visibility/]] -[all[tiddlers+shadows]tag[$:/tags/TopLeftBar]limit[1]then[]else[$:/plugins/tiddlywiki/menubar/items/topleftbar]] -[all[tiddlers+shadows]tag[$:/tags/TopRightBar]limit[1]then[]else[$:/plugins/tiddlywiki/menubar/items/toprightbar]] +[count[]] }}}>\n\n\t\t.tc-sidebar-scrollable {\n\t\t\tmargin-top: calc(<<itemCount>> * 2em);\n\t\t}\n\n\t</$set>\n\n</$reveal>\n\\end\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\nnav.tc-menubar {\n\tposition: fixed;\n\tz-index: 850;\n\tdisplay: inline-block;\n\ttop: 0;\n\tright: 0;\n\tleft: 0;\n}\n\nnav.tc-menubar ul.tc-menubar-list {\n\tposition: relative;\n\tlist-style-type: none;\n\tmargin: 0;\n\tpadding: 0 0 0 42px;\n\tbackground: <<colour background>>;\n\tbackground: <<colour menubar-background>>;\n\t<<box-shadow \"1px 1px 5px rgba(0, 0, 0, 0.3)\">>\n}\n\n@media (max-width: <<sidebarbreakpoint-minus-one>>) {\n\n\thtml nav.tc-menubar ul.tc-menubar-list {\n\t\tpadding: 0 0 0 8px;\n\t}\n\n}\n\nnav.tc-menubar li.tc-menubar-item {\n\tdisplay: inline-block;\n\tmargin: 0;\n\tpadding: 0;\n}\n\nnav.tc-menubar .tc-menubar-narrow li.tc-menubar-item {\n\tdisplay: block;\n}\n\nnav.tc-menubar li.tc-menubar-item > a,\nnav.tc-menubar li.tc-menubar-item > button {\n\tdisplay: inline-block;\n/*\ttext-transform: uppercase; */\n\tline-height: 1;\n\tfont-weight: 700;\n\tcolor: <<colour foreground>>;\n\tcolor: <<colour menubar-foreground>>;\n\ttext-decoration: none;\n\tpadding: 0.5em;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n\tcursor: pointer;\n\tborder-radius: 0;\n\ttext-decoration: none;\n}\n\nnav.tc-menubar li.tc-menubar-item > a.tc-selected,\nnav.tc-menubar li.tc-menubar-item > button.tc-selected {\n\tbackground: <<colour foreground>>;\n\tbackground: <<colour menubar-foreground>>;\n\tcolor: <<colour background>>;\n\tcolor: <<colour menubar-background>>;\n}\n\nnav.tc-menubar li.tc-menubar-item svg {\n\ttransition: none;\n\twidth: 1em;\n\theight: 1em;\n\tcolor: <<colour foreground>>;\n\tcolor: <<colour menubar-foreground>>;\n}\n\nnav.tc-menubar li.tc-menubar-item .tc-menubar-dropdown-arrow svg {\n\twidth: 0.5em;\n\theight: 0.5em;\n}\n\nnav.tc-menubar li.tc-menubar-item > a.tc-selected svg,\nnav.tc-menubar li.tc-menubar-item > button.tc-selected svg {\n\tcolor: <<colour background>>;\n\tcolor: <<colour menubar-background>>;\n}\n\nnav.tc-menubar li.tc-menubar-item > a:hover,\nnav.tc-menubar li.tc-menubar-item > button:hover svg,\nnav.tc-menubar li.tc-menubar-item > button:hover {\n\tbackground: <<colour foreground>>;\n\tbackground: <<colour menubar-foreground>>;\n\tcolor: <<colour background>>;\n\tcolor: <<colour menubar-background>>;\n\tborder-radius: 0;\n\ttext-decoration: none;\n}\n\nnav.tc-menubar li.tc-menubar-item > a:active,\nnav.tc-menubar li.tc-menubar-item > button:active svg,\nnav.tc-menubar li.tc-menubar-item > button:active {\n\tbackground: <<colour foreground>>;\n\tbackground: <<colour menubar-foreground>>;\n\tcolor: <<colour background>>;\n\tcolor: <<colour menubar-background>>;\n\tborder-radius: 0;\n\ttext-decoration: none;\n}\n\nnav.tc-menubar .tc-drop-down,\nnav.tc-menubar .tc-block-dropdown {\n\tmax-width: 70vw;\n\tmax-height: 70vh;\n\toverflow: auto;\n}\n\nnav.tc-menubar .tc-drop-down a {\n\ttext-decoration: none;\n}\n\nnav.tc-menubar .tc-drop-down .tc-table-of-contents button {\n\tdisplay: inline-block;\n\twidth: auto;\n}\n\nnav.tc-menubar .tc-drop-down ol {\n\tmargin: 0;\n}\n\nnav.tc-menubar .tc-drop-down .tc-menubar-dropdown-sidebar a,\nnav.tc-menubar .tc-drop-down .tc-menubar-dropdown-sidebar button {\n\tdisplay: inline;\n\twidth: auto;\n}\n\nnav.tc-menubar .tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button {\n\tdisplay: block;\n\twidth: 100%;\n}\n\n@media (max-width: {{$:/config/plugins/menubar/breakpoint}}) {\n\n\t.tc-menubar-wide {\n\t\tdisplay: none;\n\t}\n\n}\n\n@media (min-width: <<breakpoint-plus-one>>) {\n\n\tnav.tc-menubar li.tc-menubar-item.tc-menubar-narrow,\n\t.tc-menubar-narrow {\n\t\tdisplay: none;\n\t}\n\n}\n\n@media (max-width: <<sidebarbreakpoint-minus-one>>) {\n\n\t<<set-sidebar-scrollable-top-if-hamburger>>\n\n}\n\n@media (max-width: {{$:/config/plugins/menubar/breakpoint}}) {\n\n\t<<set-sidebar-scrollable-top>>\n\n}\n@media print {\n\n\tnav.tc-menubar {\n\t\tdisplay: none;\n\t}\n\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/menubar/tags-MenuBar.tid",
    "content": "title: $:/tags/MenuBar\nlist: $:/plugins/tiddlywiki/menubar/items/hamburger $:/plugins/tiddlywiki/menubar/items/topleftbar $:/plugins/tiddlywiki/menubar/items/contents $:/plugins/tiddlywiki/menubar/items/search $:/plugins/tiddlywiki/menubar/items/pagecontrols $:/plugins/tiddlywiki/menubar/items/server $:/plugins/tiddlywiki/menubar/items/toprightbar\n"
  },
  {
    "path": "plugins/tiddlywiki/pluginlibrary/asset-list-json.tid",
    "content": "title: $:/plugins/tiddlywiki/pluginlibrary/asset-list-json\n\n`var assetList = `<$view tiddler=\"$:/UpgradeLibrary/List\"/>`;\n`"
  },
  {
    "path": "plugins/tiddlywiki/pluginlibrary/library.template.html.tid",
    "content": "title: $:/plugins/tiddlywiki/pluginlibrary/library.template.html\n\n\\rules only filteredtranscludeinline transcludeinline\n<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"application-name\" content=\"TiddlyWiki Plugin Library\" />\n<meta name=\"application-version\" content=\"v0.0.0\" />\n<meta name=\"copyright\" content=\"Copyright 2015 Jeremy Ruston\" />\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>Plugin Library</title>\n<script>\n{{$:/plugins/tiddlywiki/pluginlibrary/asset-list-json}}\n{{$:/plugins/tiddlywiki/pluginlibrary/libraryserver.js}}\n</script>\n</head>\n<body>\n\n<h1>HelloThere</h1>\n\n<p>This is the TiddlyWiki plugin library. It is not intended to be opened directly in the browser.</p>\n\n<p>See <a href=\"https://tiddlywiki.com/\" target=\"_blank\">https://tiddlywiki.com/</a> for details of how to install plugins.</p>\n\n</body>\n</html>"
  },
  {
    "path": "plugins/tiddlywiki/pluginlibrary/libraryserver.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/pluginlibrary/libraryserver.js\ntype: application/javascript\nmodule-type: library\n\nA simple HTTP-over-window.postMessage implementation of a standard TiddlyWeb-compatible server. It uses real HTTP to load the individual tiddler JSON files.\n\n\\*/\n\n\"use strict\";\n\n// Listen for window messages\nwindow.addEventListener(\"message\",function listener(event){\n\tconsole.log(\"plugin library: Received message from\",event.origin);\n\tconsole.log(\"plugin library: Message content\",event.data);\n\tswitch(event.data.verb) {\n\t\tcase \"GET\":\n\t\t\tif(event.data.url === \"recipes/library/tiddlers.json\") {\n\t\t\t\t// Route for recipes/library/tiddlers.json\n\t\t\t\tevent.source.postMessage({\n\t\t\t\t\tverb: \"GET-RESPONSE\",\n\t\t\t\t\tstatus: \"200\",\n\t\t\t\t\tcookies: event.data.cookies,\n\t\t\t\t\turl: event.data.url,\n\t\t\t\t\ttype: \"application/json\",\n\t\t\t\t\tbody: JSON.stringify(assetList,null,4)\n\t\t\t\t},\"*\");\n\t\t\t} else if(event.data.url.indexOf(\"recipes/library/tiddlers/\") === 0) {\n\t\t\t\tvar url = \"recipes/library/tiddlers/\" + encodeURIComponent(removePrefix(event.data.url,\"recipes/library/tiddlers/\"));\n\t\t\t\t// Route for recipes/library/tiddlers/<uri-encoded-tiddler-title>.json\n\t\t\t\thttpGet(url,function(err,responseText) {\n\t\t\t\t\tif(err) {\n\t\t\t\t\t\tevent.source.postMessage({\n\t\t\t\t\t\t\tverb: \"GET-RESPONSE\",\n\t\t\t\t\t\t\tstatus: \"404\",\n\t\t\t\t\t\t\tcookies: event.data.cookies,\n\t\t\t\t\t\t\turl: event.data.url,\n\t\t\t\t\t\t\ttype: \"text/plain\",\n\t\t\t\t\t\t\tbody: \"Not found\"\n\t\t\t\t\t\t},\"*\");\n\t\t\t\t\t} else {\n\t\t\t\t\t\tevent.source.postMessage({\n\t\t\t\t\t\t\tverb: \"GET-RESPONSE\",\n\t\t\t\t\t\t\tstatus: \"200\",\n\t\t\t\t\t\t\tcookies: event.data.cookies,\n\t\t\t\t\t\t\turl: event.data.url,\n\t\t\t\t\t\t\ttype: \"application/json\",\n\t\t\t\t\t\t\tbody: responseText\n\t\t\t\t\t\t},\"*\");\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tevent.source.postMessage({\n\t\t\t\t\tverb: \"GET-RESPONSE\",\n\t\t\t\t\tstatus: \"404\",\n\t\t\t\t\tcookies: event.data.cookies,\n\t\t\t\t\turl: event.data.url,\n\t\t\t\t\ttype: \"text/plain\",\n\t\t\t\t\tbody: \"Not found\"\n\t\t\t\t},\"*\");\n\t\t\t}\n\t\t\tbreak;\n\t}\n},false);\n\n// Helper to remove string prefixes\nfunction removePrefix(string,prefix) {\n\tif(string.indexOf(prefix) === 0) {\n\t\treturn string.substr(prefix.length);\n\t} else {\n\t\treturn string;\n\t}\n}\n\n// Helper for HTTP GET\nfunction httpGet(url,callback) {\n\tvar http = new XMLHttpRequest();\n\thttp.open(\"GET\",url,true);\n\thttp.onreadystatechange = function() {\n\t\tif(http.readyState == 4 && http.status == 200) {\n\t\t\tcallback(null,http.responseText);\n\t\t}\n\t};\n\thttp.send();\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/pluginlibrary/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/pluginlibrary\",\n\t\"name\": \"Plugin Library\",\n\t\"description\": \"Plugin library builder\",\n\t\"list\": \"readme\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/pluginlibrary/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/pluginlibrary/readme\n\nThis plugin is used behind the scenes by TiddlyWiki to build the plugin library.\n\n[[Source code|https://github.com/TiddlyWiki/TiddlyWiki5/blob/master/plugins/tiddlywiki/pluginlibrary]]\n"
  },
  {
    "path": "plugins/tiddlywiki/powered-by-tiddlywiki/banner.tid",
    "content": "title: $:/plugins/tiddlywiki/powered-by-tiddlywiki/banner\ntags: $:/tags/PageTemplate\n\n<a href=\"https://tiddlywiki.com\" target=\"_blank\" rel=\"noopener noreferrer\">\n[img width=\"160px\" class=\"tc-powered-by-tiddlywiki-banner\" [$:/plugins/tiddlywiki/powered-by-tiddlywiki/powered-by-tiddlywiki.svg]]\n</a>\n"
  },
  {
    "path": "plugins/tiddlywiki/powered-by-tiddlywiki/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/powered-by-tiddlywiki\",\n\t\"name\": \"Powered By TiddlyWiki\",\n\t\"description\": \"Powered by TiddlyWiki banner\",\n\t\"list\": \"readme\",\n\t\"stability\": \"STABILITY_3_LEGACY\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/powered-by-tiddlywiki/powered-by-tiddlywiki.svg.tid",
    "content": "title: $:/plugins/tiddlywiki/powered-by-tiddlywiki/powered-by-tiddlywiki.svg\ntype: image/svg+xml\n\n<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<svg width=\"896px\" height=\"176px\" viewBox=\"0 0 896 176\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n    <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <rect fill=\"#5778D8\" x=\"0\" y=\"48\" width=\"896\" height=\"96\" rx=\"40\"></rect>\n        <rect fill=\"#5778D8\" x=\"0\" y=\"107\" width=\"896\" height=\"69\"></rect>\n        <path d=\"M509.45407,145.5 C500.298981,145.241109 496.272153,145.263373 491.609634,137.593336 L487.975741,137.697483 C483.746,137.509579 485.508738,137.594751 482.686885,137.454206 C477.968863,137.270547 478.724653,132.785957 477.894634,130.416559 C476.566884,122.373568 479.651651,114.28901 479.554337,106.244432 C479.519884,103.388798 475.480522,93.280884 474.037432,89.6670908 C469.513527,90.5191636 464.96508,90.681618 460.375565,90.9103975 C449.796709,90.8844742 439.289599,89.5885307 428.858455,87.9428201 C426.825687,96.3431567 420.783512,108.100814 425.777847,116.63814 C431.840041,125.46901 436.094195,127.915557 442.688237,128.448018 C449.282207,128.980047 450.771171,136.427581 449.175852,139.087582 C447.763804,140.925935 445.282044,141.259629 443.173485,141.705005 L438.9558,141.903312 C435.636833,141.791616 432.670288,140.89517 429.712926,139.51262 C424.77415,136.754658 419.673308,131.020977 415.883481,126.904585 C416.765781,128.548388 417.29205,131.757406 416.491791,133.250744 C414.251086,136.426166 404.560015,136.406765 400.12185,134.433533 C395.080168,132.192397 382.897505,116.456261 381.013953,104.670599 C386.024891,95.1907919 393.32484,86.9333052 397.018106,76.6112137 C388.96777,71.4725082 384.656121,63.1071256 385.215841,53.6312616 L385.417868,52.5343641 C377.496702,54.0178049 381.604436,53.4658821 373.083336,54.1107205 C345.946392,54.0276592 322.081628,35.6209152 335.519519,7.01357089 C336.393386,5.31957309 337.22468,3.77943723 338.706061,4.51496674 C339.895034,5.10516147 339.724245,7.47267561 339.126195,10.0981299 C331.444909,44.2800486 368.986482,44.541671 392.063954,38.2164846 C394.354375,37.5885907 398.909687,33.3597492 402.065239,31.9578456 C407.223273,29.6664872 412.821793,28.7368246 418.377878,28.0669527 C432.196953,26.4917086 448.805787,33.7743125 457.244692,34.0121086 C465.683696,34.2498951 477.68849,31.9906839 485.057739,32.4663611 C490.404756,32.7111006 495.655194,33.6766118 500.814217,35.0519721 C504.15359,18.7743924 504.389678,6.77738508 512.306113,4 C516.952271,4.73410247 520.532435,11.0679387 523.182469,14.4521241 C528.590341,14.2372222 533.726214,15.6070021 538.832705,17.1272571 C548.077718,15.8147836 555.835649,10.6211429 564,6.58095832 C555.726838,13.3374633 554.604541,24.3296396 555.549873,34.4945636 C555.901428,39.7692086 554.411518,45.4959316 552.56964,50.8964678 C549.122861,59.6952657 542.466357,68.969826 534.740599,68.4941441 C531.819966,68.4017255 530.123302,66.7473485 527.952583,64.9810904 C527.531491,68.5586705 525.876481,71.7509522 524.281076,74.9149914 C520.596809,81.9303216 510.969052,85.0217786 502.054286,92.5127055 C493.140125,100.003746 504.906806,126.757399 507.75979,131.632016 C510.612311,136.507097 518.575572,138.290532 515.485563,142.690409 C514.54025,144.143492 513.094823,144.663196 511.550039,145.2269 L509.45407,145.5 Z M406.857056,123.298483 L408.270768,123.654421 C410.047226,122.976086 413.618139,124.024471 415.512346,124.537037 C412.024332,121.236977 406.769383,116.390903 402.983374,113.335801 C401.740688,109.637126 402.270922,105.91532 402.538288,102.139524 L402.591916,101.82716 C401.099565,104.849781 399.20572,107.787956 398.187823,110.969578 C396.996657,115.26186 403.481867,119.893011 405.996567,122.547196 L406.857056,123.298483 Z\" stroke=\"#FFFFFF\" stroke-width=\"3\" fill=\"#000000\"></path>\n        <path d=\"M539.512,88.304 L576.504,88.304 L576.504,95.216 L561.976,95.216 L561.976,134 L553.976,134 L553.976,95.216 L539.512,95.216 L539.512,88.304 Z M580.984,88.304 L588.28,88.304 L588.28,95.216 L580.984,95.216 L580.984,88.304 Z M580.984,100.912 L588.28,100.912 L588.28,134 L580.984,134 L580.984,100.912 Z M627.384,134 L620.472,134 L620.472,129.52 L620.344,129.52 C619.362662,131.44001 617.933343,132.815996 616.056,133.648 C614.178657,134.480004 612.194677,134.896 610.104,134.896 C607.50132,134.896 605.229343,134.437338 603.288,133.52 C601.346657,132.602662 599.736006,131.354675 598.456,129.776 C597.175994,128.197325 596.216003,126.330677 595.576,124.176 C594.935997,122.021323 594.616,119.706679 594.616,117.232 C594.616,114.245318 595.021329,111.664011 595.832,109.488 C596.642671,107.311989 597.719993,105.520007 599.064,104.112 C600.408007,102.703993 601.943991,101.669337 603.672,101.008 C605.400009,100.346663 607.159991,100.016 608.952,100.016 C609.976005,100.016 611.021328,100.111999 612.088,100.304 C613.154672,100.496001 614.178662,100.805331 615.16,101.232 C616.141338,101.658669 617.047996,102.202663 617.88,102.864 C618.712004,103.525337 619.405331,104.303996 619.96,105.2 L620.088,105.2 L620.088,88.304 L627.384,88.304 L627.384,134 Z M601.912,117.808 C601.912,119.216007 602.093332,120.60266 602.456,121.968 C602.818668,123.33334 603.37333,124.549328 604.12,125.616 C604.86667,126.682672 605.815994,127.535997 606.968,128.176 C608.120006,128.816003 609.485325,129.136 611.064,129.136 C612.685341,129.136 614.082661,128.79467 615.256,128.112 C616.429339,127.42933 617.38933,126.533339 618.136,125.424 C618.88267,124.314661 619.437332,123.066674 619.8,121.68 C620.162668,120.293326 620.344,118.874674 620.344,117.424 C620.344,113.754648 619.522675,110.89601 617.88,108.848 C616.237325,106.79999 614.008014,105.776 611.192,105.776 C609.485325,105.776 608.045339,106.127996 606.872,106.832 C605.698661,107.536004 604.73867,108.453328 603.992,109.584 C603.24533,110.714672 602.712002,111.99466 602.392,113.424 C602.071998,114.85334 601.912,116.314659 601.912,117.808 L601.912,117.808 Z M666.488,134 L659.576,134 L659.576,129.52 L659.448,129.52 C658.466662,131.44001 657.037343,132.815996 655.16,133.648 C653.282657,134.480004 651.298677,134.896 649.208,134.896 C646.60532,134.896 644.333343,134.437338 642.392,133.52 C640.450657,132.602662 638.840006,131.354675 637.56,129.776 C636.279994,128.197325 635.320003,126.330677 634.68,124.176 C634.039997,122.021323 633.72,119.706679 633.72,117.232 C633.72,114.245318 634.125329,111.664011 634.936,109.488 C635.746671,107.311989 636.823993,105.520007 638.168,104.112 C639.512007,102.703993 641.047991,101.669337 642.776,101.008 C644.504009,100.346663 646.263991,100.016 648.056,100.016 C649.080005,100.016 650.125328,100.111999 651.192,100.304 C652.258672,100.496001 653.282662,100.805331 654.264,101.232 C655.245338,101.658669 656.151996,102.202663 656.984,102.864 C657.816004,103.525337 658.509331,104.303996 659.064,105.2 L659.192,105.2 L659.192,88.304 L666.488,88.304 L666.488,134 Z M641.016,117.808 C641.016,119.216007 641.197332,120.60266 641.56,121.968 C641.922668,123.33334 642.47733,124.549328 643.224,125.616 C643.97067,126.682672 644.919994,127.535997 646.072,128.176 C647.224006,128.816003 648.589325,129.136 650.168,129.136 C651.789341,129.136 653.186661,128.79467 654.36,128.112 C655.533339,127.42933 656.49333,126.533339 657.24,125.424 C657.98667,124.314661 658.541332,123.066674 658.904,121.68 C659.266668,120.293326 659.448,118.874674 659.448,117.424 C659.448,113.754648 658.626675,110.89601 656.984,108.848 C655.341325,106.79999 653.112014,105.776 650.296,105.776 C648.589325,105.776 647.149339,106.127996 645.976,106.832 C644.802661,107.536004 643.84267,108.453328 643.096,109.584 C642.34933,110.714672 641.816002,111.99466 641.496,113.424 C641.175998,114.85334 641.016,116.314659 641.016,117.808 L641.016,117.808 Z M674.616,88.304 L681.912,88.304 L681.912,134 L674.616,134 L674.616,88.304 Z M686.2,100.912 L694.2,100.912 L702.84,125.616 L702.968,125.616 L711.352,100.912 L718.968,100.912 L706.104,135.792 C705.506664,137.285341 704.920003,138.71466 704.344,140.08 C703.767997,141.44534 703.064004,142.650661 702.232,143.696 C701.399996,144.741339 700.36534,145.57333 699.128,146.192 C697.89066,146.81067 696.31201,147.12 694.392,147.12 C692.685325,147.12 691.000008,146.992001 689.336,146.736 L689.336,140.592 C689.933336,140.677334 690.509331,140.773333 691.064,140.88 C691.618669,140.986667 692.194664,141.04 692.792,141.04 C693.645338,141.04 694.349331,140.933334 694.904,140.72 C695.458669,140.506666 695.917332,140.197335 696.28,139.792 C696.642668,139.386665 696.951999,138.906669 697.208,138.352 C697.464001,137.797331 697.698666,137.157337 697.912,136.432 L698.744,133.872 L686.2,100.912 Z M719.608,88.304 L727.736,88.304 L735.992,123.248 L736.12,123.248 L745.336,88.304 L753.528,88.304 L762.488,123.248 L762.616,123.248 L771.128,88.304 L779.256,88.304 L766.648,134 L758.52,134 L749.368,99.056 L749.24,99.056 L739.896,134 L731.64,134 L719.608,88.304 Z M783.672,88.304 L790.968,88.304 L790.968,95.216 L783.672,95.216 L783.672,88.304 Z M783.672,100.912 L790.968,100.912 L790.968,134 L783.672,134 L783.672,100.912 Z M799.096,88.304 L806.392,88.304 L806.392,114.288 L819.576,100.912 L828.536,100.912 L815.864,113.072 L829.752,134 L820.856,134 L810.744,117.936 L806.392,122.16 L806.392,134 L799.096,134 L799.096,88.304 Z M833.464,88.304 L840.76,88.304 L840.76,95.216 L833.464,95.216 L833.464,88.304 Z M833.464,100.912 L840.76,100.912 L840.76,134 L833.464,134 L833.464,100.912 Z\" fill=\"#FFFFFF\"></path>\n        <path d=\"M48.592,108.656 L48.72,108.656 C48.9760013,107.845329 49.4026637,106.949338 50,105.968 C50.5973363,104.986662 51.3866618,104.080004 52.368,103.248 C53.3493382,102.415996 54.5333264,101.722669 55.92,101.168 C57.3066736,100.613331 58.895991,100.336 60.688,100.336 C63.2053459,100.336 65.3919907,100.805329 67.248,101.744 C69.1040093,102.682671 70.6399939,103.941325 71.856,105.52 C73.0720061,107.098675 73.9786637,108.933323 74.576,111.024 C75.1733363,113.114677 75.472,115.311988 75.472,117.616 C75.472,120.133346 75.1733363,122.437323 74.576,124.528 C73.9786637,126.618677 73.0720061,128.421326 71.856,129.936 C70.6399939,131.450674 69.1040093,132.634662 67.248,133.488 C65.3919907,134.341338 63.2053459,134.768 60.688,134.768 C57.9573197,134.768 55.525344,134.170673 53.392,132.976 C51.258656,131.781327 49.7013382,129.840013 48.72,127.152 L48.592,127.152 L48.592,145.776 L46.16,145.776 L46.16,101.104 L48.592,101.104 L48.592,108.656 Z M60.688,132.656 C62.821344,132.656 64.6666589,132.250671 66.224,131.44 C67.7813411,130.629329 69.0613283,129.54134 70.064,128.176 C71.0666717,126.81066 71.8133309,125.221342 72.304,123.408 C72.7946691,121.594658 73.04,119.66401 73.04,117.616 C73.04,115.738657 72.8053357,113.893342 72.336,112.08 C71.8666643,110.266658 71.1413382,108.64534 70.16,107.216 C69.1786618,105.78666 67.9093411,104.634671 66.352,103.76 C64.7946589,102.885329 62.9066778,102.448 60.688,102.448 C58.5119891,102.448 56.6560077,102.874662 55.12,103.728 C53.5839923,104.581338 52.3360048,105.711993 51.376,107.12 C50.4159952,108.528007 49.7226688,110.138658 49.296,111.952 C48.8693312,113.765342 48.656,115.653324 48.656,117.616 C48.656,119.578676 48.8479981,121.466658 49.232,123.28 C49.6160019,125.093342 50.2666621,126.693326 51.184,128.08 C52.1013379,129.466674 53.3386589,130.575996 54.896,131.408 C56.4533411,132.240004 58.3839885,132.656 60.688,132.656 L60.688,132.656 Z M79.632,117.552 C79.632,115.205322 79.9626634,112.997344 80.624,110.928 C81.2853366,108.858656 82.2559936,107.034675 83.536,105.456 C84.8160064,103.877325 86.3946573,102.629338 88.272,101.712 C90.1493427,100.794662 92.3039878,100.336 94.736,100.336 C97.1680122,100.336 99.3226573,100.794662 101.2,101.712 C103.077343,102.629338 104.655994,103.877325 105.936,105.456 C107.216006,107.034675 108.186663,108.858656 108.848,110.928 C109.509337,112.997344 109.84,115.205322 109.84,117.552 C109.84,119.898678 109.509337,122.117323 108.848,124.208 C108.186663,126.298677 107.216006,128.122659 105.936,129.68 C104.655994,131.237341 103.077343,132.474662 101.2,133.392 C99.3226573,134.309338 97.1680122,134.768 94.736,134.768 C92.3039878,134.768 90.1493427,134.309338 88.272,133.392 C86.3946573,132.474662 84.8160064,131.237341 83.536,129.68 C82.2559936,128.122659 81.2853366,126.298677 80.624,124.208 C79.9626634,122.117323 79.632,119.898678 79.632,117.552 L79.632,117.552 Z M82.064,117.552 C82.064,119.514676 82.3413306,121.402658 82.896,123.216 C83.4506694,125.029342 84.261328,126.639993 85.328,128.048 C86.394672,129.456007 87.7173254,130.575996 89.296,131.408 C90.8746746,132.240004 92.6879898,132.656 94.736,132.656 C96.7840102,132.656 98.5973254,132.240004 100.176,131.408 C101.754675,130.575996 103.077328,129.456007 104.144,128.048 C105.210672,126.639993 106.021331,125.029342 106.576,123.216 C107.130669,121.402658 107.408,119.514676 107.408,117.552 C107.408,115.589324 107.130669,113.701342 106.576,111.888 C106.021331,110.074658 105.210672,108.464007 104.144,107.056 C103.077328,105.647993 101.754675,104.528004 100.176,103.696 C98.5973254,102.863996 96.7840102,102.448 94.736,102.448 C92.6879898,102.448 90.8746746,102.863996 89.296,103.696 C87.7173254,104.528004 86.394672,105.647993 85.328,107.056 C84.261328,108.464007 83.4506694,110.074658 82.896,111.888 C82.3413306,113.701342 82.064,115.589324 82.064,117.552 L82.064,117.552 Z M123.728,131.184 L123.856,131.184 L132.816,101.104 L136.08,101.104 L145.104,131.184 L145.232,131.184 L154.448,101.104 L157.136,101.104 L146.576,134 L143.568,134 L134.544,104.176 L134.416,104.176 L125.328,134 L122.256,134 L111.824,101.104 L114.448,101.104 L123.728,131.184 Z M161.552,117.872 L161.552,118.256 C161.552,120.17601 161.807997,122.010658 162.32,123.76 C162.832003,125.509342 163.589328,127.045327 164.592,128.368 C165.594672,129.690673 166.853326,130.735996 168.368,131.504 C169.882674,132.272004 171.642657,132.656 173.648,132.656 C176.93335,132.656 179.53599,131.792009 181.456,130.064 C183.37601,128.335991 184.698663,125.936015 185.424,122.864 L187.856,122.864 C187.130663,126.704019 185.562679,129.64799 183.152,131.696 C180.741321,133.74401 177.55202,134.768 173.584,134.768 C171.151988,134.768 169.029342,134.330671 167.216,133.456 C165.402658,132.581329 163.888006,131.386674 162.672,129.872 C161.455994,128.357326 160.549336,126.565344 159.952,124.496 C159.354664,122.426656 159.056,120.197345 159.056,117.808 C159.056,115.503988 159.36533,113.296011 159.984,111.184 C160.60267,109.071989 161.53066,107.216008 162.768,105.616 C164.00534,104.015992 165.551991,102.736005 167.408,101.776 C169.264009,100.815995 171.450654,100.336 173.968,100.336 C176.272012,100.336 178.309324,100.762662 180.08,101.616 C181.850676,102.469338 183.333327,103.631993 184.528,105.104 C185.722673,106.576007 186.62933,108.282657 187.248,110.224 C187.86667,112.165343 188.176,114.245322 188.176,116.464 C188.176,116.677334 188.165333,116.922665 188.144,117.2 C188.122667,117.477335 188.112,117.701332 188.112,117.872 L161.552,117.872 Z M185.68,115.76 C185.594666,113.967991 185.296003,112.272008 184.784,110.672 C184.271997,109.071992 183.514672,107.664006 182.512,106.448 C181.509328,105.231994 180.29334,104.261337 178.864,103.536 C177.43466,102.810663 175.802676,102.448 173.968,102.448 C172.005324,102.448 170.277341,102.82133 168.784,103.568 C167.290659,104.31467 166.032005,105.295994 165.008,106.512 C163.983995,107.728006 163.194669,109.146659 162.64,110.768 C162.085331,112.389341 161.744001,114.053325 161.616,115.76 L185.68,115.76 Z M196.24,108.4 L196.432,108.4 C196.730668,107.333328 197.274663,106.330671 198.064,105.392 C198.853337,104.453329 199.813328,103.64267 200.944,102.96 C202.074672,102.27733 203.333326,101.754668 204.72,101.392 C206.106674,101.029332 207.546659,100.869333 209.04,100.912 L209.04,103.344 C207.759994,103.173332 206.298675,103.301331 204.656,103.728 C203.013325,104.154669 201.445341,105.093326 199.952,106.544 C199.354664,107.184003 198.832002,107.802664 198.384,108.4 C197.935998,108.997336 197.562668,109.658663 197.264,110.384 C196.965332,111.109337 196.730668,111.919996 196.56,112.816 C196.389332,113.712004 196.282667,114.77866 196.24,116.016 L196.24,134 L193.808,134 L193.808,101.104 L196.24,101.104 L196.24,108.4 Z M211.792,117.872 L211.792,118.256 C211.792,120.17601 212.047997,122.010658 212.56,123.76 C213.072003,125.509342 213.829328,127.045327 214.832,128.368 C215.834672,129.690673 217.093326,130.735996 218.608,131.504 C220.122674,132.272004 221.882657,132.656 223.888,132.656 C227.17335,132.656 229.77599,131.792009 231.696,130.064 C233.61601,128.335991 234.938663,125.936015 235.664,122.864 L238.096,122.864 C237.370663,126.704019 235.802679,129.64799 233.392,131.696 C230.981321,133.74401 227.79202,134.768 223.824,134.768 C221.391988,134.768 219.269342,134.330671 217.456,133.456 C215.642658,132.581329 214.128006,131.386674 212.912,129.872 C211.695994,128.357326 210.789336,126.565344 210.192,124.496 C209.594664,122.426656 209.296,120.197345 209.296,117.808 C209.296,115.503988 209.60533,113.296011 210.224,111.184 C210.84267,109.071989 211.77066,107.216008 213.008,105.616 C214.24534,104.015992 215.791991,102.736005 217.648,101.776 C219.504009,100.815995 221.690654,100.336 224.208,100.336 C226.512012,100.336 228.549324,100.762662 230.32,101.616 C232.090676,102.469338 233.573327,103.631993 234.768,105.104 C235.962673,106.576007 236.86933,108.282657 237.488,110.224 C238.10667,112.165343 238.416,114.245322 238.416,116.464 C238.416,116.677334 238.405333,116.922665 238.384,117.2 C238.362667,117.477335 238.352,117.701332 238.352,117.872 L211.792,117.872 Z M235.92,115.76 C235.834666,113.967991 235.536003,112.272008 235.024,110.672 C234.511997,109.071992 233.754672,107.664006 232.752,106.448 C231.749328,105.231994 230.53334,104.261337 229.104,103.536 C227.67466,102.810663 226.042676,102.448 224.208,102.448 C222.245324,102.448 220.517341,102.82133 219.024,103.568 C217.530659,104.31467 216.272005,105.295994 215.248,106.512 C214.223995,107.728006 213.434669,109.146659 212.88,110.768 C212.325331,112.389341 211.984001,114.053325 211.856,115.76 L235.92,115.76 Z M269.456,126.96 L269.328,126.96 C267.96266,129.56268 266.25601,131.51466 264.208,132.816 C262.15999,134.11734 259.664015,134.768 256.72,134.768 C254.245321,134.768 252.112009,134.298671 250.32,133.36 C248.527991,132.421329 247.056006,131.162675 245.904,129.584 C244.751994,128.005325 243.898669,126.181344 243.344,124.112 C242.789331,122.042656 242.512,119.877345 242.512,117.616 C242.512,115.183988 242.810664,112.912011 243.408,110.8 C244.005336,108.687989 244.911994,106.864008 246.128,105.328 C247.344006,103.791992 248.869324,102.576004 250.704,101.68 C252.538676,100.783996 254.693321,100.336 257.168,100.336 C258.490673,100.336 259.791994,100.517332 261.072,100.88 C262.352006,101.242668 263.535995,101.76533 264.624,102.448 C265.712005,103.13067 266.661329,103.983995 267.472,105.008 C268.282671,106.032005 268.901331,107.183994 269.328,108.464 L269.456,108.464 L269.456,88.304 L271.888,88.304 L271.888,134 L269.456,134 L269.456,126.96 Z M257.232,132.656 C259.322677,132.656 261.125326,132.229338 262.64,131.376 C264.154674,130.522662 265.413328,129.392007 266.416,127.984 C267.418672,126.575993 268.165331,124.965342 268.656,123.152 C269.146669,121.338658 269.392,119.493343 269.392,117.616 C269.392,115.69599 269.146669,113.829342 268.656,112.016 C268.165331,110.202658 267.429338,108.58134 266.448,107.152 C265.466662,105.72266 264.197341,104.581338 262.64,103.728 C261.082659,102.874662 259.258677,102.448 257.168,102.448 C254.991989,102.448 253.136008,102.863996 251.6,103.696 C250.063992,104.528004 248.794672,105.647993 247.792,107.056 C246.789328,108.464007 246.064002,110.085324 245.616,111.92 C245.167998,113.754676 244.944,115.653324 244.944,117.616 C244.944,119.53601 245.189331,121.402658 245.68,123.216 C246.170669,125.029342 246.917328,126.639993 247.92,128.048 C248.922672,129.456007 250.191992,130.575996 251.728,131.408 C253.264008,132.240004 255.098656,132.656 257.232,132.656 L257.232,132.656 Z M298,88.304 L300.432,88.304 L300.432,108.08 L300.56,108.08 C301.029336,106.799994 301.690662,105.680005 302.544,104.72 C303.397338,103.759995 304.378661,102.949337 305.488,102.288 C306.597339,101.626663 307.791994,101.136002 309.072,100.816 C310.352006,100.495998 311.67466,100.336 313.04,100.336 C315.472012,100.336 317.573324,100.762662 319.344,101.616 C321.114676,102.469338 322.597327,103.642659 323.792,105.136 C324.986673,106.629341 325.871997,108.36799 326.448,110.352 C327.024003,112.33601 327.312,114.479988 327.312,116.784 C327.312,120.709353 326.778672,123.855988 325.712,126.224 C324.645328,128.592012 323.365341,130.405327 321.872,131.664 C320.378659,132.922673 318.821341,133.754665 317.2,134.16 C315.578659,134.565335 314.192006,134.768 313.04,134.768 C310.863989,134.768 309.018674,134.42667 307.504,133.744 C305.989326,133.06133 304.741338,132.261338 303.76,131.344 C302.778662,130.426662 302.032003,129.520004 301.52,128.624 C301.007997,127.727996 300.688001,127.066669 300.56,126.64 L300.432,126.64 L300.432,134 L298,134 L298,88.304 Z M313.04,132.656 C315.216011,132.656 317.050659,132.186671 318.544,131.248 C320.037341,130.309329 321.253329,129.082674 322.192,127.568 C323.130671,126.053326 323.813331,124.346676 324.24,122.448 C324.666669,120.549324 324.88,118.661343 324.88,116.784 C324.88,114.949324 324.634669,113.178675 324.144,111.472 C323.653331,109.765325 322.906672,108.240007 321.904,106.896 C320.901328,105.551993 319.664007,104.474671 318.192,103.664 C316.719993,102.853329 315.002676,102.448 313.04,102.448 C310.906656,102.448 309.050675,102.810663 307.472,103.536 C305.893325,104.261337 304.592005,105.263994 303.568,106.544 C302.543995,107.824006 301.776003,109.338658 301.264,111.088 C300.751997,112.837342 300.496,114.73599 300.496,116.784 C300.496,118.789343 300.730664,120.75199 301.2,122.672 C301.669336,124.59201 302.405328,126.287993 303.408,127.76 C304.410672,129.232007 305.701325,130.415996 307.28,131.312 C308.858675,132.208004 310.778655,132.656 313.04,132.656 L313.04,132.656 Z M329.04,101.104 L331.92,101.104 L344.144,131.12 L355.408,101.104 L358.16,101.104 L344.08,137.52 C343.39733,139.141341 342.768003,140.538661 342.192,141.712 C341.615997,142.885339 340.965337,143.749331 340.24,144.304 C339.386662,144.98667 338.373339,145.402666 337.2,145.552 C336.026661,145.701334 334.48001,145.776 332.56,145.776 L332.56,143.664 C334.309342,143.664 335.674662,143.525335 336.656,143.248 C337.637338,142.970665 338.554662,142.405338 339.408,141.552 C339.877336,141.082664 340.367997,140.218673 340.88,138.96 C341.392003,137.701327 342.031996,135.984011 342.8,133.808 L329.04,101.104 Z\" fill=\"#FFFFFF\"></path>\n    </g>\n</svg>\n"
  },
  {
    "path": "plugins/tiddlywiki/powered-by-tiddlywiki/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/powered-by-tiddlywiki/readme\n\nThis plugin adds a \"Powered by ~TiddlyWiki\" banner that links back to https://tiddlywiki.com\n\nIt's very basic at the moment, but the plan is to improve it by making it more customisable.\n"
  },
  {
    "path": "plugins/tiddlywiki/powered-by-tiddlywiki/styles.tid",
    "content": "title: $:/plugins/tiddlywiki/powered-by-tiddlywiki/styles\ntags: $:/tags/Stylesheet\n\n.tc-powered-by-tiddlywiki-banner {\n\tposition: fixed;\n\tright: 1em;\n\tbottom: 0;\n    z-index: 2000;\n}"
  },
  {
    "path": "plugins/tiddlywiki/qrcode/ViewToolbarButton/Button.tid",
    "content": "title: $:/plugins/tiddlywiki/qrcode/ViewToolbarButton\ntags: $:/tags/ViewToolbar\nlist-before: $:/core/ui/Buttons/close\ncaption: {{$:/plugins/tiddlywiki/qrcode/icon}} QR code\nshort-caption: QR code\ndescription: Generate QR code for this tiddler\n\n\\whitespace trim\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/qrcode\">> tooltip={{$:/plugins/tiddlywiki/qrcode/ViewToolbarButton!!description}} aria-label={{$:/plugins/tiddlywiki/qrcode/ViewToolbarButton!!short-caption}} class=<<tv-config-toolbar-class>> class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/plugins/tiddlywiki/qrcode/icon}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\">\n<$text text={{$:/plugins/tiddlywiki/qrcode/ViewToolbarButton!!short-caption}}/>\n</span>\n<%endif%>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/qrcode\">> type=\"popup\" position=\"below\" animate=\"yes\">\n    <div class=\"tc-drop-down\">\n\n    {{$:/plugins/tiddlywiki/qrcode/ViewToolbarButton||description}}\n\n        <$let tv-config-toolbar-icons=\"yes\" tv-config-toolbar-text=\"yes\" tv-config-toolbar-class=\"tc-btn-invisible\" targetTiddler=<<currentTiddler>>>\n            <$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbarButton/QRcode]!has[draft.of]]\">\n                <$button popup=<<qualify \"$:/state/popup/qrcode/type\">> class=\"tc-btn-invisible\" selectedClass=\"tc-selected\">\n                    <$action-sendmessage $message=\"tm-modal\" $param=<<currentTiddler>> currentTiddler=<<targetTiddler>>/>\n                    <$transclude field=\"caption\" mode=\"inline\"/>\n                </$button>\n            </$list>\n        </$let>\n    </div>\n</$reveal>\n"
  },
  {
    "path": "plugins/tiddlywiki/qrcode/ViewToolbarButton/Raw.tid",
    "content": "title: $:/plugins/tiddlywiki/qrcode/ViewToolbarButton/Raw\ntags: $:/tags/ViewToolbarButton/QRcode\ncaption: Raw content of this tiddler\nsubtitle: QR code of raw tiddler content\n\n\\define image()\n<img src=<<makeqr text:\"\"\"$(content)$\"\"\" size:\"350\">>/>\n\\end\n\n<$set name=\"content\" value={{!!text}}>\n<<image>>\n</$set>\n"
  },
  {
    "path": "plugins/tiddlywiki/qrcode/ViewToolbarButton/Rendered.tid",
    "content": "title: $:/plugins/tiddlywiki/qrcode/ViewToolbarButton/Rendered\ntags: $:/tags/ViewToolbarButton/QRcode\ncaption: Rendered content of this tiddler\nsubtitle: QR code of rendered tiddler content\n\n\\define image()\n<img src=<<makeqr text:\"\"\"$(content)$\"\"\" size:\"350\">>/>\n\\end\n\n<$wikify name=\"content\" text={{!!text}} type=\"text\" mode=\"block\" output=\"formattedtext\">\n<<image>>\n</$wikify>\n"
  },
  {
    "path": "plugins/tiddlywiki/qrcode/ViewToolbarButton/URL.tid",
    "content": "title: $:/plugins/tiddlywiki/qrcode/ViewToolbarButton/URL\ntags: $:/tags/ViewToolbarButton/QRcode\ncaption: URL of this tiddler\nsubtitle: QR code of URL of this tiddler\n\n\\define image()\n<img src=<<makeqr text:\"\"\"$(url)$#$(hash)$\"\"\" size:\"350\">>/>\n\\end\n\n<$set name=\"url\" value={{$:/info/url/full}}>\n<$set name=\"hash\" filter=\"[<currentTiddler>encodeuricomponent[]]\" select=\"0\">\n<<image>>\n</$set>\n</$set>\n"
  },
  {
    "path": "plugins/tiddlywiki/qrcode/ViewToolbarButton/styles.tid",
    "content": "title: $:/plugins/tiddlywiki/qrcode/styles\ntags: [[$:/tags/Stylesheet]]\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\n.tc-drop-down .tc-qrcode-drop-down img {\n\twidth: 100%;\n\theight: 100%;\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/qrcode/barcodereader.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/qrcode/barcodereader.js\ntype: application/javascript\nmodule-type: widget\n\nbarcodereader widget for reading barcodes\n\n\\*/\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar nextID = 0;\n\nvar BarCodeReaderWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nBarCodeReaderWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nBarCodeReaderWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n\t// Generate an ID for this element\n\tvar id = \"capture-widget-internal-\" + nextID;\n\tnextID += 1;\n\t// Create the DOM node and render children\n\tvar domNode = this.document.createElement(\"div\");\n\tdomNode.className = \"tc-readcode-widget\";\n\tdomNode.setAttribute(\"width\",\"300px\");\n\tdomNode.setAttribute(\"height\",\"300px\");\n\tdomNode.id = id;\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n\t// Setup the qrcode library\n\tif($tw.browser) {\n\t\tvar __Html5QrcodeLibrary__ = require(\"$:/plugins/tiddlywiki/qrcode/html5-qrcode/html5-qrcode.js\").__Html5QrcodeLibrary__;\n\t\tfunction onScanSuccess(decodedText, decodedResult) {\n\t\t\tself.invokeActionString(self.getAttribute(\"actionsSuccess\",\"\"),self,{},{\n\t\t\t\tformat: decodedResult.result.format.formatName,\n\t\t\t\ttext: decodedText\n\t\t\t});\n\t\t\tconsole.log(\"Scan result\",decodedResult,decodedText);\n\t\t}\n\t\tfunction onScanFailure(errorMessage) {\n\t\t\tself.invokeActionString(self.getAttribute(\"actionsFailure\",\"\"),self,{},{\n\t\t\t\terror: errorMessage\n\t\t\t});\n\t\t\tconsole.log(\"Scan error\",errorMessage);\n\t\t}\n\t\tvar html5QrcodeScanner = new __Html5QrcodeLibrary__.Html5QrcodeScanner(\n\t\t\tid,\n\t\t\t{\n\t\t\t\tfps: 10,\n\t\t\t\tqrbox: 250\n\t\t\t}\n\t\t);\n\t\thtml5QrcodeScanner.render(onScanSuccess,onScanFailure);\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nBarCodeReaderWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\thasChangedAttributes = $tw.utils.count(changedAttributes) > 0;\n\tif(hasChangedAttributes) {\n\t\treturn this.refreshSelf();\n\t}\n\treturn this.refreshChildren(changedTiddlers) || hasChangedAttributes;\n};\n\nexports.barcodereader = BarCodeReaderWidget;\n"
  },
  {
    "path": "plugins/tiddlywiki/qrcode/docs/barcodereader.tid",
    "content": "title: $:/plugins/tiddlywiki/qrcode/docs/barcodereader\ntags: $:/tags/QRCodeDocs\ncaption: barcodereader Widget\n\nThe `<$barcodereader>` widget allows barcodes to be read from the device camera or from an image file. In the case of the camera, a live preview feed is shown to allow the barcode to be framed.\n\nNote that for security reasons browsers restrict the operation of the camera to only work with web pages that have been loaded via HTTPS, or via localhost. Safari and Firefox allow usage from a file URI, but Chrome crashes when attempting to use the barcode reader from a file URI.\n\nThe `<$barcodereader>` widget has the following attributes:\n\n|!Name |!Description |\n|actionsSuccess |Action string to be executed when a code is successfully decoded |\n|actionsFailure |Action string to be executed in the event of an error |\n\nThe following variables are passed to the ''actionsSuccess'' handler:\n\n|!Name |!Description |\n|format |Barcode format (see below) |\n|text |Decoded text |\n\nThe following barcode formats are supported:\n\n* 0: \"QR_CODE\"\n* 1: \"AZTEC\"\n* 2: \"CODABAR\"\n* 3: \"CODE_39\"\n* 4: \"CODE_93\"\n* 5: \"CODE_128\"\n* 6: \"DATA_MATRIX\"\n* 7: \"MAXICODE\"\n* 8: \"ITF\"\n* 9: \"EAN_13\"\n* 10: \"EAN_8\"\n* 11: \"PDF_417\"\n* 12: \"RSS_14\"\n* 13: \"RSS_EXPANDED\"\n* 14: \"UPC_A\"\n* 15: \"UPC_E\"\n* 16: \"UPC_EAN_EXTENSION\"\n\nThe following variables are passed to the ''actionsFailure'' handler:\n\n|!Name |!Description |\n|error |Error message |\n"
  },
  {
    "path": "plugins/tiddlywiki/qrcode/docs/makeqr.tid",
    "content": "title: $:/plugins/tiddlywiki/qrcode/docs/qrcode\ntags: $:/tags/QRCodeDocs\ncaption: makeqr Macro\n\nThe ''makeqr'' [[macro|Macros]] converts text data into an image of the corresponding QR code. The image is returned as [[base64-encoded data URI|https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs]].\n\n!! Parameters\n\n;text\n: The text to encode\n;size\n: The size of the image in pixels (defaults to 500)\n;errorCorrectLevel\n: Determines the amount of error correction applied to the image (see below, defaults to \"M\")\n;fallback\n: The fallback image to be returned in case of an error (see below)\n\nThe conversion will fail if the text is too long and/or complex and the macro will return the provided fallback image. If no fallback image is provided then an error image is generated.\n\nThe error correction level is a [[QR code feature|http://www.qrcode.com/en/about/error_correction.html]]:\n\n|errorCorrectLevel |Redundancy |Use cases |h\n|L | 7%|Clean environment, large amount of data |\n|M | 15%|Default value, most common choice |\n|Q | 25%|Dirty environment, small amount of data |\n|H | 30%|~|\n\n!! Examples\n\nMaking a QR code data URI for a simple string of text:\n\n```\n<<makeqr \"Hello there!\">>\n```\n\nDisplaying a QR code for a simple string of text:\n\n```\n<img src=<<makeqr \"Hello there!\">> />\n```\n\nDisplaying a QR code for a transcluded value (URL of the current wiki):\n\n```\n\\define qr(content) <img src=<<makeqr text:\"\"\"$content$\"\"\">> />\n\n<$transclude $variable=\"qr\" content={{$:/info/url/full}} />\n```\n"
  },
  {
    "path": "plugins/tiddlywiki/qrcode/docs.tid",
    "content": "title: $:/plugins/tiddlywiki/qrcode/docs\n\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/QRCodeDocs]!has[draft.of]]\" \"$:/plugins/tiddlywiki/qrcode/docs/barcodereader\">>"
  },
  {
    "path": "plugins/tiddlywiki/qrcode/examples/make/MakeContactQR.tid",
    "content": "title: $:/plugins/tiddlywiki/qrcode/make/MakeContactQR\ntags: $:/tags/MakeQR\ncaption: Contact\n\n\\define wifi-url()\nWIFI:wifi name;T:WPA;S:SSID;P:password;\n\\end\n\n\\define image(firstname,lastname,address,tel,email)\n<img src=<<makeqr text:\"\"\"MECARD:N:$lastname$,$firstname$;ADR:$address$;TEL:$tel$;EMAIL:$email$;;\"\"\" size:\"350\">>/>\n\\end\n\n! Enter the contact details\n\nFirst name: <$edit-text tiddler=\"$:/config/plugins/tiddlywiki/qrcode/contact/firstname\" tag=\"input\" default=\"\"/>\n\nLast name: <$edit-text tiddler=\"$:/config/plugins/tiddlywiki/qrcode/contact/lastname\" tag=\"input\" default=\"\"/>\n\nAddress: <$edit-text tiddler=\"$:/config/plugins/tiddlywiki/qrcode/contact/address\" tag=\"input\" default=\"\"/>\n\nTelephone: <$edit-text tiddler=\"$:/config/plugins/tiddlywiki/qrcode/contact/tel\" tag=\"input\" default=\"\"/>\n\nEmail: <$edit-text tiddler=\"$:/config/plugins/tiddlywiki/qrcode/contact/email\" tag=\"input\" default=\"\"/>\n\n! Here is your QR code\n\n<$macrocall $name=\"image\" firstname={{$:/config/plugins/tiddlywiki/qrcode/contact/firstname}} lastname={{$:/config/plugins/tiddlywiki/qrcode/contact/lastname}} address={{$:/config/plugins/tiddlywiki/qrcode/contact/address}} tel={{$:/config/plugins/tiddlywiki/qrcode/contact/tel}} email={{$:/config/plugins/tiddlywiki/qrcode/contact/email}}/>\n"
  },
  {
    "path": "plugins/tiddlywiki/qrcode/examples/make/MakeGenericQR.tid",
    "content": "title: $:/plugins/tiddlywiki/qrcode/make/MakeGenericQR\ntags: $:/tags/MakeQR\ncaption: Generic\n\n\\define image(content)\n<img src=<<makeqr text:\"\"\"$content$\"\"\" size:\"350\">>/>\n\\end\n\n! Enter the details\n\nYou can also use this form to encode URLs.\n\n<$edit-text tiddler=\"$:/config/plugins/tiddlywiki/qrcode/generic\" default=\"\" class=\"tc-edit-texteditor\"/>\n\n! Here is your QR code\n\n<$macrocall $name=\"image\" content={{$:/config/plugins/tiddlywiki/qrcode/generic}}/>\n"
  },
  {
    "path": "plugins/tiddlywiki/qrcode/examples/make/MakeWifiQR.tid",
    "content": "title: $:/plugins/tiddlywiki/qrcode/make/MakeWifiQR\ntags: $:/tags/MakeQR\ncaption: Wifi\n\n\\define wifi-url()\nWIFI:T:WPA;S:SSID;P:password;;\n\\end\n\n\\define image(network,encryption,ssid,password)\n<img src=<<makeqr text:\"\"\"WIFI:T:$encryption$;S:$ssid$;P:$password$;;\"\"\" size:\"350\">>/>\n\\end\n\n! Enter the details of your wifi network\n\nEncryption: <$select tiddler=\"$:/config/plugins/tiddlywiki/qrcode/wifi/encryption\" default=\"none\">\n<option value=\"none\">None</option>\n<option value=\"WEP\">WEP</option>\n<option value=\"WPA\">WPA</option>\n<option value=\"WPA2\">WPA2</option>\n</$select>\n\nSSID: <$edit-text tiddler=\"$:/config/plugins/tiddlywiki/qrcode/wifi/ssid\" tag=\"input\" default=\"\"/>\n\nPassword: <$edit-text tiddler=\"$:/config/plugins/tiddlywiki/qrcode/wifi/password\" tag=\"input\" default=\"\"/>\n\n! Here is your QR code\n\n<$macrocall $name=\"image\" network={{$:/config/plugins/tiddlywiki/qrcode/wifi/network}} encryption={{$:/config/plugins/tiddlywiki/qrcode/wifi/encryption}} ssid={{$:/config/plugins/tiddlywiki/qrcode/wifi/ssid}} password={{$:/config/plugins/tiddlywiki/qrcode/wifi/password}}/>\n"
  },
  {
    "path": "plugins/tiddlywiki/qrcode/examples/make/make.tid",
    "content": "title: $:/plugins/tiddlywiki/qrcode/examples/make\ntags: $:/tags/QRCodeExample\ncaption: Making Barcodes\n\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/MakeQR]!has[draft.of]]\" \"$:/plugins/tiddlywiki/qrcode/make/MakeGenericQR\">>\n"
  },
  {
    "path": "plugins/tiddlywiki/qrcode/examples/read/BarCodeReader.tid",
    "content": "title: $:/plugins/tiddlywiki/qrcode/examples/read/BarCodeReader\ntags: $:/tags/ReadQR\ncaption: Barcode Reader\n\n\\procedure success()\n<$action-setfield $tiddler=\"$:/state/BarCodeReaderDemoStatus\" text=<<text>> result=<<format>> success=\"yes\"/>\n\\end\n\n\\procedure failure()\n<$action-setfield $tiddler=\"$:/state/BarCodeReaderDemoStatus\" text=<<error>>  success=\"no\"/>\n\\end\n\nScanning status: {{$:/state/BarCodeReaderDemoStatus}}\n\n{{$:/state/BarCodeReaderDemoStatus||$:/core/ui/TiddlerFields}}\n\n<$barcodereader actionsSuccess=<<success>> actionsFail=<<failure>>/>\n"
  },
  {
    "path": "plugins/tiddlywiki/qrcode/examples/read/read.tid",
    "content": "title: $:/plugins/tiddlywiki/qrcode/examples/read\ntags: $:/tags/QRCodeExample\ncaption: Reading Barcodes\n\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ReadQR]!has[draft.of]]\" \"$:/plugins/tiddlywiki/qrcode/examples/read/BarCodeReader\">>\n"
  },
  {
    "path": "plugins/tiddlywiki/qrcode/examples.tid",
    "content": "title: $:/plugins/tiddlywiki/qrcode/examples\n\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/QRCodeExample]!has[draft.of]]\" \"$:/plugins/tiddlywiki/qrcode/examples/read\">>"
  },
  {
    "path": "plugins/tiddlywiki/qrcode/files/html5-qrcode/LICENSE",
    "content": "                                 Apache License\n                           Version 2.0, January 2004\n                        http://www.apache.org/licenses/\n\n   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n   1. Definitions.\n\n      \"License\" shall mean the terms and conditions for use, reproduction,\n      and distribution as defined by Sections 1 through 9 of this document.\n\n      \"Licensor\" shall mean the copyright owner or entity authorized by\n      the copyright owner that is granting the License.\n\n      \"Legal Entity\" shall mean the union of the acting entity and all\n      other entities that control, are controlled by, or are under common\n      control with that entity. For the purposes of this definition,\n      \"control\" means (i) the power, direct or indirect, to cause the\n      direction or management of such entity, whether by contract or\n      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n      outstanding shares, or (iii) beneficial ownership of such entity.\n\n      \"You\" (or \"Your\") shall mean an individual or Legal Entity\n      exercising permissions granted by this License.\n\n      \"Source\" form shall mean the preferred form for making modifications,\n      including but not limited to software source code, documentation\n      source, and configuration files.\n\n      \"Object\" form shall mean any form resulting from mechanical\n      transformation or translation of a Source form, including but\n      not limited to compiled object code, generated documentation,\n      and conversions to other media types.\n\n      \"Work\" shall mean the work of authorship, whether in Source or\n      Object form, made available under the License, as indicated by a\n      copyright notice that is included in or attached to the work\n      (an example is provided in the Appendix below).\n\n      \"Derivative Works\" shall mean any work, whether in Source or Object\n      form, that is based on (or derived from) the Work and for which the\n      editorial revisions, annotations, elaborations, or other modifications\n      represent, as a whole, an original work of authorship. For the purposes\n      of this License, Derivative Works shall not include works that remain\n      separable from, or merely link (or bind by name) to the interfaces of,\n      the Work and Derivative Works thereof.\n\n      \"Contribution\" shall mean any work of authorship, including\n      the original version of the Work and any modifications or additions\n      to that Work or Derivative Works thereof, that is intentionally\n      submitted to Licensor for inclusion in the Work by the copyright owner\n      or by an individual or Legal Entity authorized to submit on behalf of\n      the copyright owner. For the purposes of this definition, \"submitted\"\n      means any form of electronic, verbal, or written communication sent\n      to the Licensor or its representatives, including but not limited to\n      communication on electronic mailing lists, source code control systems,\n      and issue tracking systems that are managed by, or on behalf of, the\n      Licensor for the purpose of discussing and improving the Work, but\n      excluding communication that is conspicuously marked or otherwise\n      designated in writing by the copyright owner as \"Not a Contribution.\"\n\n      \"Contributor\" shall mean Licensor and any individual or Legal Entity\n      on behalf of whom a Contribution has been received by Licensor and\n      subsequently incorporated within the Work.\n\n   2. Grant of Copyright License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      copyright license to reproduce, prepare Derivative Works of,\n      publicly display, publicly perform, sublicense, and distribute the\n      Work and such Derivative Works in Source or Object form.\n\n   3. Grant of Patent License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      (except as stated in this section) patent license to make, have made,\n      use, offer to sell, sell, import, and otherwise transfer the Work,\n      where such license applies only to those patent claims licensable\n      by such Contributor that are necessarily infringed by their\n      Contribution(s) alone or by combination of their Contribution(s)\n      with the Work to which such Contribution(s) was submitted. If You\n      institute patent litigation against any entity (including a\n      cross-claim or counterclaim in a lawsuit) alleging that the Work\n      or a Contribution incorporated within the Work constitutes direct\n      or contributory patent infringement, then any patent licenses\n      granted to You under this License for that Work shall terminate\n      as of the date such litigation is filed.\n\n   4. Redistribution. You may reproduce and distribute copies of the\n      Work or Derivative Works thereof in any medium, with or without\n      modifications, and in Source or Object form, provided that You\n      meet the following conditions:\n\n      (a) You must give any other recipients of the Work or\n          Derivative Works a copy of this License; and\n\n      (b) You must cause any modified files to carry prominent notices\n          stating that You changed the files; and\n\n      (c) You must retain, in the Source form of any Derivative Works\n          that You distribute, all copyright, patent, trademark, and\n          attribution notices from the Source form of the Work,\n          excluding those notices that do not pertain to any part of\n          the Derivative Works; and\n\n      (d) If the Work includes a \"NOTICE\" text file as part of its\n          distribution, then any Derivative Works that You distribute must\n          include a readable copy of the attribution notices contained\n          within such NOTICE file, excluding those notices that do not\n          pertain to any part of the Derivative Works, in at least one\n          of the following places: within a NOTICE text file distributed\n          as part of the Derivative Works; within the Source form or\n          documentation, if provided along with the Derivative Works; or,\n          within a display generated by the Derivative Works, if and\n          wherever such third-party notices normally appear. The contents\n          of the NOTICE file are for informational purposes only and\n          do not modify the License. You may add Your own attribution\n          notices within Derivative Works that You distribute, alongside\n          or as an addendum to the NOTICE text from the Work, provided\n          that such additional attribution notices cannot be construed\n          as modifying the License.\n\n      You may add Your own copyright statement to Your modifications and\n      may provide additional or different license terms and conditions\n      for use, reproduction, or distribution of Your modifications, or\n      for any such Derivative Works as a whole, provided Your use,\n      reproduction, and distribution of the Work otherwise complies with\n      the conditions stated in this License.\n\n   5. Submission of Contributions. Unless You explicitly state otherwise,\n      any Contribution intentionally submitted for inclusion in the Work\n      by You to the Licensor shall be under the terms and conditions of\n      this License, without any additional terms or conditions.\n      Notwithstanding the above, nothing herein shall supersede or modify\n      the terms of any separate license agreement you may have executed\n      with Licensor regarding such Contributions.\n\n   6. Trademarks. This License does not grant permission to use the trade\n      names, trademarks, service marks, or product names of the Licensor,\n      except as required for reasonable and customary use in describing the\n      origin of the Work and reproducing the content of the NOTICE file.\n\n   7. Disclaimer of Warranty. Unless required by applicable law or\n      agreed to in writing, Licensor provides the Work (and each\n      Contributor provides its Contributions) on an \"AS IS\" BASIS,\n      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n      implied, including, without limitation, any warranties or conditions\n      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n      PARTICULAR PURPOSE. You are solely responsible for determining the\n      appropriateness of using or redistributing the Work and assume any\n      risks associated with Your exercise of permissions under this License.\n\n   8. Limitation of Liability. In no event and under no legal theory,\n      whether in tort (including negligence), contract, or otherwise,\n      unless required by applicable law (such as deliberate and grossly\n      negligent acts) or agreed to in writing, shall any Contributor be\n      liable to You for damages, including any direct, indirect, special,\n      incidental, or consequential damages of any character arising as a\n      result of this License or out of the use or inability to use the\n      Work (including but not limited to damages for loss of goodwill,\n      work stoppage, computer failure or malfunction, or any and all\n      other commercial damages or losses), even if such Contributor\n      has been advised of the possibility of such damages.\n\n   9. Accepting Warranty or Additional Liability. While redistributing\n      the Work or Derivative Works thereof, You may choose to offer,\n      and charge a fee for, acceptance of support, warranty, indemnity,\n      or other liability obligations and/or rights consistent with this\n      License. However, in accepting such obligations, You may act only\n      on Your own behalf and on Your sole responsibility, not on behalf\n      of any other Contributor, and only if You agree to indemnify,\n      defend, and hold each Contributor harmless for any liability\n      incurred by, or claims asserted against, such Contributor by reason\n      of your accepting any such warranty or additional liability.\n\n   END OF TERMS AND CONDITIONS\n\n   APPENDIX: How to apply the Apache License to your work.\n\n      To apply the Apache License to your work, attach the following\n      boilerplate notice, with the fields enclosed by brackets \"[]\"\n      replaced with your own identifying information. (Don't include\n      the brackets!)  The text should be enclosed in the appropriate\n      comment syntax for the file format. We also recommend that a\n      file or class name and description of purpose be included on the\n      same \"printed page\" as the copyright notice for easier\n      identification within third-party archives.\n\n   Copyright [2020] [MINHAZ <minhazav@gmail.com>]\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License."
  },
  {
    "path": "plugins/tiddlywiki/qrcode/files/html5-qrcode/README.md",
    "content": "# Html5-QRCode \n\n## Lightweight & cross platform QR Code and Bar code scanning library for the web\n\nUse this lightweight library to easily / quickly integrate QR code, bar code, and other common code scanning capabilities to your web application.\n\n## Key highlights\n-   🔲 Support scanning [different types of bar codes and QR codes](#supported-code-formats).\n\n-   🖥 Supports [different platforms](#supported-platforms) be it Android, IOS, MacOs, Windows or Linux\n\n-   🌐 Supports [different browsers](#supported-platforms) like Chrome, Firefox, Safari, Edge, Opera ...\n\n-   📷 Supports scanning with camera as well as local files\n\n-   ➡️ Comes with an [end to end library with UI](#easy-mode---with-end-to-end-scanner-user-interface) as well as a [low level library to build your own UI with](#pro-mode---if-you-want-to-implement-your-own-user-interface).\n\n-   🔦 Supports customisations like [flash/torch support](#showtorchbuttonifsupported---boolean--undefined), zooming etc.\n\n\nSupports two kinds of APIs\n\n-   `Html5QrcodeScanner` — End-to-end scanner with UI, integrate with less than ten lines of code.\n    \n-   `Html5Qrcode` — Powerful set of APIs you can use to build your UI without worrying about camera setup, handling permissions, reading codes, etc.\n\n> Support for scanning local files on the device is a new addition and helpful for the web browser which does not support inline web-camera access in smartphones. **Note:** This doesn't upload files to any server — everything is done locally.\n\n[![CircleCI](https://dl.circleci.com/status-badge/img/gh/mebjas/html5-qrcode/tree/master.svg?style=svg)](https://dl.circleci.com/status-badge/redirect/gh/mebjas/html5-qrcode/tree/master) [![GitHub issues](https://img.shields.io/github/issues/mebjas/html5-qrcode)](https://github.com/mebjas/html5-qrcode/issues) [![GitHub tag (latest by date)](https://img.shields.io/github/v/tag/mebjas/html5-qrcode)](https://github.com/mebjas/html5-qrcode/releases) ![GitHub](https://img.shields.io/github/license/mebjas/html5-qrcode) [![Codacy Badge](https://app.codacy.com/project/badge/Grade/51e4f0ef8b0b42e1b93ce29875dd23a0)](https://www.codacy.com/gh/mebjas/html5-qrcode/dashboard?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=mebjas/html5-qrcode&amp;utm_campaign=Badge_Grade) [![Gitter](https://badges.gitter.im/html5-qrcode/community.svg)](https://gitter.im/html5-qrcode/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)\n\n![GitHub all releases](https://img.shields.io/github/downloads/mebjas/html5-qrcode/total?label=Github%20downloads&style=for-the-badge) [![npm](https://img.shields.io/npm/dw/html5-qrcode?label=npm%20downloads&style=for-the-badge)](https://www.npmjs.com/package/html5-qrcode) [![](https://img.shields.io/badge/Medium-12100E?style=for-the-badge&logo=medium&logoColor=white)](https://bit.ly/3CZiASv)\n\n| <img src=\"https://scanapp.org/assets/github_assets/pixel6pro-optimised.gif\" width=\"180px\" /> | <img src=\"https://scanapp.org/assets/github_assets/pixel4_barcode_480.gif\" width=\"180px\" />|\n| -- | -- |\n| _Demo at [scanapp.org](https://scanapp.org)_ | _Demo at [qrcode.minhazav.dev](https://qrcode.minhazav.dev) - **Scanning different types of codes**_ |\n\n## We need your help!\n\n![image](https://user-images.githubusercontent.com/3007365/222830114-e5bcca15-bf8a-434e-9f48-339e82a0a4ef.png)\nHelp incentivise feature development, bug fixing by supporting the sponsorhip goals of this project. See [list of sponsered feature requests here](https://github.com/mebjas/html5-qrcode/wiki/Feature-request-sponsorship-goals#feature-requests).\n\n[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/L3L84G0C8)\n\n## Documentation\n\nThe documentation for this project has been moved to [scanapp.org/html5-qrcode-docs](https://scanapp.org/html5-qrcode-docs/).\n\n-   [Getting started](https://scanapp.org/html5-qrcode-docs/docs/intro)\n-   [Supported frameworks](https://scanapp.org/html5-qrcode-docs/docs/supported_frameworks)\n-   [Supported 1D and 2D Code formats](https://scanapp.org/html5-qrcode-docs/docs/supported_code_formats)\n-   [Detailed API documentation](https://scanapp.org/html5-qrcode-docs/docs/apis)\n\n## Supported platforms\n\nWe are working continuously on adding support for more and more platforms. If you find a platform or a browser where the library is not working, please feel free to file an issue. Check the [demo link](https://blog.minhazav.dev/research/html5-qrcode.html) to test it out.\n\n**Legends**\n-   ![](https://scanapp.org/assets/github_assets/done.png) Means full support — inline webcam and file based \n-   ![](https://scanapp.org/assets/github_assets/partial.png) Means partial support — only file based, webcam in progress\n\n### PC / Mac\n\n| <img src=\"https://scanapp.org/assets/github_assets/browsers/firefox_48x48.png\" alt=\"Firefox\" width=\"24px\" height=\"24px\" /><br/>Firefox | <img src=\"https://scanapp.org/assets/github_assets/browsers/chrome_48x48.png\" alt=\"Chrome\" width=\"24px\" height=\"24px\" /><br/>Chrome | <img src=\"https://scanapp.org/assets/github_assets/browsers/safari_48x48.png\" alt=\"Safari\" width=\"24px\" height=\"24px\" /><br/>Safari | <img src=\"https://scanapp.org/assets/github_assets/browsers/opera_48x48.png\" alt=\"Opera\" width=\"24px\" height=\"24px\" /><br/>Opera | <img src=\"https://scanapp.org/assets/github_assets/browsers/edge_48x48.png\" alt=\"Edge\" width=\"24px\" height=\"24px\" /><br/> Edge\n| --------- | --------- | --------- | --------- | ------- |\n|![](https://scanapp.org/assets/github_assets/done.png)| ![](https://scanapp.org/assets/github_assets/done.png)| ![](https://scanapp.org/assets/github_assets/done.png)| ![](https://scanapp.org/assets/github_assets/done.png) | ![](https://scanapp.org/assets/github_assets/done.png)\n\n### Android\n\n| <img src=\"https://scanapp.org/assets/github_assets/browsers/chrome_48x48.png\" alt=\"Chrome\" width=\"24px\" height=\"24px\" /><br/>Chrome | <img src=\"https://scanapp.org/assets/github_assets/browsers/firefox_48x48.png\" alt=\"Firefox\" width=\"24px\" height=\"24px\" /><br/>Firefox | <img src=\"https://scanapp.org/assets/github_assets/browsers/edge_48x48.png\" alt=\"Edge\" width=\"24px\" height=\"24px\" /><br/> Edge | <img src=\"https://scanapp.org/assets/github_assets/browsers/opera_48x48.png\" alt=\"Opera\" width=\"24px\" height=\"24px\" /><br/>Opera | <img src=\"https://scanapp.org/assets/github_assets/browsers/opera-mini_48x48.png\" alt=\"Opera-Mini\" width=\"24px\" height=\"24px\" /><br/> Opera Mini | <img src=\"https://scanapp.org/assets/github_assets/browsers/uc_48x48.png\" alt=\"UC\" width=\"24px\" height=\"24px\" /> <br/> UC\n| --------- | --------- | --------- | --------- |  --------- | --------- |\n|![](https://scanapp.org/assets/github_assets/done.png)| ![](https://scanapp.org/assets/github_assets/done.png)| ![](https://scanapp.org/assets/github_assets/done.png)| ![](https://scanapp.org/assets/github_assets/done.png)| ![](https://scanapp.org/assets/github_assets/partial.png) | ![](https://scanapp.org/assets/github_assets/partial.png) \n\n### IOS\n\n| <img src=\"https://scanapp.org/assets/github_assets/browsers/safari_48x48.png\" alt=\"Safari\" width=\"24px\" height=\"24px\" /><br/>Safari | <img src=\"https://scanapp.org/assets/github_assets/browsers/chrome_48x48.png\" alt=\"Chrome\" width=\"24px\" height=\"24px\" /><br/>Chrome | <img src=\"https://scanapp.org/assets/github_assets/browsers/firefox_48x48.png\" alt=\"Firefox\" width=\"24px\" height=\"24px\" /><br/>Firefox | <img src=\"https://scanapp.org/assets/github_assets/browsers/edge_48x48.png\" alt=\"Edge\" width=\"24px\" height=\"24px\" /><br/> Edge \n| --------- | --------- | --------- | --------- |\n|![](https://scanapp.org/assets/github_assets/done.png)| ![](https://scanapp.org/assets/github_assets/done.png)* | ![](https://scanapp.org/assets/github_assets/done.png)* | ![](https://scanapp.org/assets/github_assets/partial.png) \n\n\n> \\* Supported for IOS versions >= 15.1\n>\n> Before version 15.1, Webkit for IOS is used by Chrome, Firefox, and other browsers in IOS and they do not have webcam permissions yet. There is an ongoing issue on fixing the support for iOS - [issue/14](https://github.com/mebjas/html5-qrcode/issues/14)\n\n### Framework support\nThe library can be easily used with several other frameworks, I have been adding examples for a few of them and would continue to add more.\n\n|<img src=\"https://scanapp.org/assets/github_assets/html5.png\" width=\"30px\" />| <img src=\"https://scanapp.org/assets/github_assets/vuejs.png\" width=\"30px\" />|<img src=\"https://scanapp.org/assets/github_assets/electron.png\" width=\"30px\" /> | <img src=\"https://scanapp.org/assets/github_assets/react.svg\" width=\"30px\" /> | <img src=\"https://seeklogo.com/images/L/lit-logo-6B43868CDC-seeklogo.com.png\" width=\"30px\" />\n| -------- | -------- | -------- | -------- | -------- |\n| [Html5](./examples/html5) | [VueJs](./examples/vuejs) | [ElectronJs](./examples/electron) | [React](https://github.com/scanapp-org/html5-qrcode-react) | [Lit](./examples/lit)\n\n### Supported Code formats\nCode scanning is dependent on [Zxing-js](https://github.com/zxing-js/library) library. We will be working on top of it to add support for more types of code scanning. If you feel a certain type of code would be helpful to have, please file a feature request.\n\n| Code | Example |\n| ---- | ----- |\n| QR Code | <img src=\"https://scanapp.org/assets/github_assets/qr-code.png\" width=\"200px\" /> |\n| AZTEC | <img src=\"https://scanapp.org/assets/github_assets/aztec.png\" /> |\n| CODE_39|  <img src=\"https://scanapp.org/assets/github_assets/code_39.gif\" /> |\n| CODE_93| <img src=\"https://scanapp.org/assets/github_assets/code_93.gif\" />|\n| CODE_128| <img src=\"https://scanapp.org/assets/github_assets/code_128.gif\" />|\n| ITF| <img src=\"https://scanapp.org/assets/github_assets/itf.png\" />|\n| EAN_13|<img src=\"https://scanapp.org/assets/github_assets/ean13.jpeg\" /> |\n| EAN_8| <img src=\"https://scanapp.org/assets/github_assets/ean8.jpeg\" />|\n| PDF_417| <img src=\"https://scanapp.org/assets/github_assets/pdf417.png\" />|\n| UPC_A| <img src=\"https://scanapp.org/assets/github_assets/upca.jpeg\" />|\n| UPC_E| <img src=\"https://scanapp.org/assets/github_assets/upce.jpeg\" />|\n| DATA_MATRIX|<img src=\"https://scanapp.org/assets/github_assets/datamatrix.png\" /> |\n| MAXICODE*| <img src=\"https://scanapp.org/assets/github_assets/maxicode.gif\" /> |\n| RSS_14*| <img src=\"https://scanapp.org/assets/github_assets/rss14.gif\" />|\n| RSS_EXPANDED*|<img src=\"https://scanapp.org/assets/github_assets/rssexpanded.gif\" /> |\n\n> *Formats are not supported by our experimental integration with native\n> BarcodeDetector API integration ([Read more](/experimental.md)).\n\n## Description - [View Demo](https://blog.minhazav.dev/research/html5-qrcode.html)\n\n> See an end to end scanner experience at [scanapp.org](https://scanapp.org).\n\nThis is a cross-platform JavaScript library to integrate QR code, bar codes & a few other types of code scanning capabilities to your applications running on HTML5 compatible browser.\n\nSupports:\n-   Querying camera on the device (with user permissions)\n-   Rendering live camera feed, with easy to use user interface for scanning\n-   Supports scanning a different kind of QR codes, bar codes and other formats\n-   Supports selecting image files from the device for scanning codes\n\n## How to use\n\nFind detailed guidelines on how to use this library on [scanapp.org/html5-qrcode-docs](https://scanapp.org/html5-qrcode-docs/docs/intro).\n\n## Demo\n<img src=\"https://scanapp.org/assets/github_assets/qr-code.png\" width=\"200px\"><br />\n_Scan this image or visit [blog.minhazav.dev/research/html5-qrcode.html](https://blog.minhazav.dev/research/html5-qrcode.html)_\n\n### For more information\nCheck these articles on how to use this library:\n<!-- TODO(mebjas) Mirgate this link to blog.minhazav.dev -->\n-   [QR and barcode scanner using HTML and JavaScript](https://minhazav.medium.com/qr-and-barcode-scanner-using-html-and-javascript-2cdc937f793d)\n-   [HTML5 QR Code scanning — launched v1.0.1 without jQuery dependency and refactored Promise based APIs](https://blog.minhazav.dev/HTML5-QR-Code-scanning-launched-v1.0.1/).\n-   [HTML5 QR Code scanning with JavaScript — Support for scanning the local file and using default camera added (v1.0.5)](https://blog.minhazav.dev/HTML5-QR-Code-scanning-support-for-local-file-and-default-camera/)\n\n## Screenshots\n![screenshot](https://scanapp.org/assets/github_assets/screen.gif)<br />\n_Figure: Screenshot from Google Chrome running on MacBook Pro_\n\n## Documentation\nFind the full API documentation at [scanapp.org/html5-qrcode-docs/docs/apis](https://scanapp.org/html5-qrcode-docs/docs/apis).\n\n### Extra optional `configuration` in `start()` method\nConfiguration object that can be used to configure both the scanning behavior and the user interface (UI). Most of the fields have default properties that will be used unless a different value is provided. If you do not want to override anything, you can just pass in an empty object `{}`.\n\n#### `fps` — Integer, Example = 10\nA.K.A frame per second, the default value for this is 2, but it can be increased to get faster scanning. Increasing too high value could affect performance. Value `>1000` will simply fail.\n\n#### `qrbox` — `QrDimensions` or `QrDimensionFunction` (Optional), Example = `{ width: 250, height: 250 }`\nUse this property to limit the region of the viewfinder you want to use for scanning. The rest of the viewfinder would be shaded. For example, by passing config `{ qrbox : { width: 250, height: 250 } }`, the screen will look like:\n\n<img src=\"https://scanapp.org/assets/github_assets/screen.gif\" />\n\nThis can be used to set a rectangular scanning area with config like:\n\n```js\nlet config = { qrbox : { width: 400, height: 150 } }\n```\n\nThis config also accepts a function of type\n```ts\n/**\n  * A function that takes in the width and height of the video stream \n* and returns QrDimensions.\n* \n* Viewfinder refers to the video showing camera stream.\n*/\ntype QrDimensionFunction =\n    (viewfinderWidth: number, viewfinderHeight: number) => QrDimensions;\n```\n\nThis allows you to set dynamic QR box dimensions based on the video dimensions. See this blog article for example: [Setting dynamic QR box size in Html5-qrcode - ScanApp blog](https://scanapp.org/blog/2022/01/09/setting-dynamic-qr-box-size-in-html5-qrcode.html)\n\n> This might be desirable for bar code scanning.\n\nIf this value is not set, no shaded QR box will be rendered and the scanner will scan the entire area of video stream.\n\n#### `aspectRatio` — Float, Example 1.777778 for 16:9 aspect ratio\nUse this property to render the video feed in a certain aspect ratio. Passing a nonstandard aspect ratio like `100000:1` could lead to the video feed not even showing up. Ideal values can be:\n| Value | Aspect Ratio | Use Case |\n| ----- | ------------ | -------- |\n|1.333334 | 4:3 | Standard camera aspect ratio |\n|1.777778 | 16:9 | Full screen, cinematic |\n|1.0 | 1:1 | Square view |\n\nIf you do not pass any value, the whole viewfinder would be used for scanning. \n**Note**: this value has to be smaller than the width and height of the `QR code HTML element`.\n\n#### `disableFlip` — Boolean (Optional), default = false\nBy default, the scanner can scan for horizontally flipped QR Codes. This also enables scanning QR code using the front camera on mobile devices which are sometimes mirrored. This is `false` by default and I recommend changing this only if:\n-   You are sure that the camera feed cannot be mirrored (Horizontally flipped)\n-   You are facing performance issues with this enabled.\n\nHere's an example of a normal and mirrored QR Code\n| Normal QR Code | Mirrored QR Code |\n| ----- | ---- |\n| <img src=\"https://scanapp.org/assets/github_assets/qr-code.png\" width=\"200px\" /> | <img src=\"https://scanapp.org/assets/github_assets/qr-code-flipped.png\" width=\"200px\" /><br /> |\n\n#### `rememberLastUsedCamera` — Boolean (Optional), default = true\nIf `true` the last camera used by the user and weather or not permission was granted would be remembered in the local storage. If the user has previously granted permissions — the request permission option in the UI will be skipped and the last selected camera would be launched automatically for scanning.\n\nIf `true` the library shall remember if the camera permissions were previously\ngranted and what camera was last used. If the permissions is already granted for\n\"camera\", QR code scanning will automatically * start for previously used camera.\n\n#### `supportedScanTypes` - `Array<Html5QrcodeScanType> | []`\n> This is only supported for `Html5QrcodeScanner`.\n\nDefault = `[Html5QrcodeScanType.SCAN_TYPE_CAMERA, Html5QrcodeScanType.SCAN_TYPE_FILE]`\n\nThis field can be used to:\n-   Limit support to either of `Camera` or `File` based scan.\n-   Change default scan type.\n\nHow to use:\n\n```js\nfunction onScanSuccess(decodedText, decodedResult) {\n  // handle the scanned code as you like, for example:\n  console.log(`Code matched = ${decodedText}`, decodedResult);\n}\n\nlet config = {\n  fps: 10,\n  qrbox: {width: 100, height: 100},\n  rememberLastUsedCamera: true,\n  // Only support camera scan type.\n  supportedScanTypes: [Html5QrcodeScanType.SCAN_TYPE_CAMERA]\n};\n\nlet html5QrcodeScanner = new Html5QrcodeScanner(\n  \"reader\", config, /* verbose= */ false);\nhtml5QrcodeScanner.render(onScanSuccess);\n```\n\nFor file based scan only choose:\n```js\nsupportedScanTypes: [Html5QrcodeScanType.SCAN_TYPE_FILE]\n```\n\nFor supporting both as it is today, you can ignore this field or set as:\n```js\nsupportedScanTypes: [\n  Html5QrcodeScanType.SCAN_TYPE_CAMERA,\n  Html5QrcodeScanType.SCAN_TYPE_FILE]\n```\n\nTo set the file based scan as defult change the order:\n```js\nsupportedScanTypes: [\n  Html5QrcodeScanType.SCAN_TYPE_FILE,\n  Html5QrcodeScanType.SCAN_TYPE_CAMERA]\n```\n\n#### `showTorchButtonIfSupported` - `boolean | undefined`\n> This is only supported for `Html5QrcodeScanner`.\n\nIf `true` the rendered UI will have button to turn flash on or off based on device + browser support. The value is `false` by default.\n\n### Scanning only specific formats\nBy default, both camera stream and image files are scanned against all the\nsupported code formats.  Both `Html5QrcodeScanner` and `Html5Qrcode` classes can\n be configured to only support a subset of supported formats. Supported formats\nare defined in\n[enum Html5QrcodeSupportedFormats](https://github.com/mebjas/html5-qrcode/blob/master/src/core.ts#L14).\n\n```ts\nenum Html5QrcodeSupportedFormats {\n  QR_CODE = 0,\n  AZTEC,\n  CODABAR,\n  CODE_39,\n  CODE_93,\n  CODE_128,\n  DATA_MATRIX,\n  MAXICODE,\n  ITF,\n  EAN_13,\n  EAN_8,\n  PDF_417,\n  RSS_14,\n  RSS_EXPANDED,\n  UPC_A,\n  UPC_E,\n  UPC_EAN_EXTENSION,\n}\n```\n\nI recommend using this only if you need to explicitly omit support for certain\nformats or want to reduce the number of scans done per second for performance\nreasons.\n\n#### Scanning only QR code with `Html5Qrcode`\n```js\nconst html5QrCode = new Html5Qrcode(\n  \"reader\", { formatsToSupport: [ Html5QrcodeSupportedFormats.QR_CODE ] });\nconst qrCodeSuccessCallback = (decodedText, decodedResult) => {\n    /* handle success */\n};\nconst config = { fps: 10, qrbox: { width: 250, height: 250 } };\n\n// If you want to prefer front camera\nhtml5QrCode.start({ facingMode: \"user\" }, config, qrCodeSuccessCallback);\n```\n\n#### Scanning only QR code and UPC codes with `Html5QrcodeScanner`\n```js\nfunction onScanSuccess(decodedText, decodedResult) {\n  // Handle the scanned code as you like, for example:\n  console.log(`Code matched = ${decodedText}`, decodedResult);\n}\n\nconst formatsToSupport = [\n  Html5QrcodeSupportedFormats.QR_CODE,\n  Html5QrcodeSupportedFormats.UPC_A,\n  Html5QrcodeSupportedFormats.UPC_E,\n  Html5QrcodeSupportedFormats.UPC_EAN_EXTENSION,\n];\nconst html5QrcodeScanner = new Html5QrcodeScanner(\n  \"reader\",\n  {\n    fps: 10,\n    qrbox: { width: 250, height: 250 },\n    formatsToSupport: formatsToSupport\n  },\n  /* verbose= */ false);\nhtml5QrcodeScanner.render(onScanSuccess);\n```\n\n## Experimental features\nThe library now supports some experimental features which are supported in the\nlibrary but not recommended for production usage either due to limited testing\ndone or limited compatibility for underlying APIs used. Read more about it [here](/experimental.md).\nSome experimental features include:\n-   [Support for BarcodeDetector JavaScript API](/experimental.md)\n\n## How to modify and build\n1.  Code changes should only be made to [/src](./src) only.\n\n2.  Run `npm install` to install all dependencies.\n\n3.  Run `npm run-script build` to build JavaScript output. The output JavaScript distribution is built to [/dist/html5-qrcode.min.js](./dist/html5-qrcode.min.js). If you are developing on Windows OS, run `npm run-script build-windows`.\n\n4.  Testing\n    -   Run `npm test`\n    -   Run the tests before sending a pull request, all tests should run.\n    -   Please add tests for new behaviors sent in PR.\n\n5.  Send a pull request\n    -   Include code changes only to `./src`. **Do not change `./dist` manually.**\n    -   In the pull request add a comment like\n\t  ```text\n\t  @all-contributors please add @mebjas for this new feature or tests\n\t  ```\n\t  -   For calling out your contributions, the bot will update the contributions file.\n    -   Code will be built & published by the author in batches.\n\n## How to contribute\nYou can contribute to the project in several ways:\n\n-   File issue ticket for any observed bug or compatibility issue with the project.\n-   File feature request for missing features.\n-   Take open bugs or feature request and work on it and send a Pull Request.\n-   Write unit tests for existing codebase (which is not covered by tests today). **Help wanted on this** - [read more](./tests).\n\n## Support 💖\n\nThis project would not be possible without all of our fantastic contributors and [sponsors](https://github.com/sponsors/mebjas). If you'd like to support the maintenance and upkeep of this project you can [donate via GitHub Sponsors](https://github.com/sponsors/mebjas).\n\n**Sponsor the project for priortising feature requests / bugs relevant to you**. (Depends on scope of ask and bandwidth of the contributors).\n\n<!-- sponsors -->\n<a href=\"https://github.com/webauthor\"><img src=\"https://github.com/webauthor.png\" width=\"40px\" alt=\"webauthor@\" /></a>\n<a href=\"https://github.com/ben-gy\"><img src=\"https://github.com/ben-gy.png\" width=\"40px\" alt=\"ben-gy\" /></a>\n<a href=\"https://github.com/bujjivadu\"><img src=\"https://github.com/bujjivadu.png\" width=\"40px\" alt=\"bujjivadu\" /></a>\n<!-- sponsors -->\n\nHelp incentivise feature development, bug fixing by supporting the sponsorhip goals of this project. See [list of sponsered feature requests here](https://github.com/mebjas/html5-qrcode/wiki/Feature-request-sponsorship-goals#feature-requests).\n\nAlso, huge thanks to following organizations for non monitery sponsorships\n\n<!-- sponsors -->\n<div>\n\t<a href=\"https://scanapp.org\"><img src=\"https://scanapp.org/assets/svg/scanapp.svg\" height=\"60px\" alt=\"\" /></a>\n</div>\n<div>\n\t<a href=\"https://www.browserstack.com\"><img src=\"https://www.browserstack.com/images/layout/browserstack-logo-600x315.png\" height=\"100px\" alt=\"\" /></a>\n</div>\n<!-- sponsors -->\n\n## Credits\nThe decoder used for the QR code reading is from `Zxing-js` https://github.com/zxing-js/library<br />"
  },
  {
    "path": "plugins/tiddlywiki/qrcode/files/qrcode/LICENSE",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2013 Zeno Zeng\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"
  },
  {
    "path": "plugins/tiddlywiki/qrcode/files/qrcode/README.md",
    "content": "# node-yaqrcode\n\nYet another node-qrcode Generator!\n\nThis is a simple and pure javascript wrapper for the QR Code Generator from the d-project.\n\nNo Canvas or Binary needed!\n\nNote:\n\n```\nThe word 'QR Code' is registered trademark of\nDENSO WAVE INCORPORATED\nhttp://www.denso-wave.com/qrcode/faqpatent-e.html\n```\n\n## Overview\n\n- Pure Javascript and could work without any requiments\n\n- Use `RS_BLOCK_TABLE` from http://davidshimjs.github.io/qrcodejs/ to support typeNumber 40\n\n- Use the code from http://davidshimjs.github.io/qrcodejs/ to support UTF-8\n\n- Return a Base64 Data URI like this\n\n```\ndata:image/gif;base64,R0lGODdhggCCAIAAAAAAAP///ywAAAAAggCCAAAC/4yPqcvtD6OctNqLs968+w+G4kiW5omm6sq27gvHEUDXto3gCc3wgQ+8+QxCYq13/AGMQ6WwOHk+c0kq0oh13qg6naK71HKl1Vn4ukuSy01ksC1WOoLWBnx+XsDB6zr+nccUdndAVxiYRgFouAYl2ETolcY3WAlYB0WIlmnZCLl16Ib42JlFiQmqqdfJmJpnKEgaq+UYt/eKKysXxVqp+5k1y7kIKowIHErry/tbunvrl9z3vCzVjAqm2GuqthwNrZxNTUocTC0uoXp5yGnePlnMXr2daDdqjzdLPj8GKy9pjBvAXWjSeeI3LmErbgwVIlwYbgovTw0hWnyIsWLGiP+1QKzTxxHhmIZ/cKli8THOPogjE5ZsSYLYQGyu1lFkpvJfr5lmVt4TWNPZTYMgm1nb4M9fQIJMl2osmlOptDLa3HmTR7KprVwObyGL5KzqVFFfuqFTZu6bWZMSwVr4em8gpaSuCm79dNTtxKu60rqsVwvvzng0xfEkqzXwMb5TJQn2qTdvWDNgIwc9BW8YW8FwgZ6Eh7is0aBlJXPezLXV4QqqF9tc3LIc1mRW92XV0Lq0UNizZYNE5rmbX4OY7Z496hNq8NXT3pLG1xv16eKAyZTsSFm4TtFou1t+DNohqr576cql9467Y6pbs7b+DAG7e+1Ah3tfCz+kVOc8zV//fS3Ka6v109ZPqww4VnW2RbXbeRflplV8hEEHjkyTCcieYbs5xVo8/pEnlWKmcSUhckh5+B9+qbnGhnUMEicRB2fV92Jj9DwV0YKYzbiXXxiqZcx6Gmm241r2SbgUeOAQuJyLQ6JXIG4bMsWjV9od1CKNRNJ3gW/3EWiiknXpJBtwOWHgZXr6ZRndcQW6CVOXb0o34XoiuqjXNQdOVuJzkLEIJp08WjXoXQZyF42WUYr3wIMsImgXkvXQpONG+XT1KHtEdfhOiFCKeWRmU+qZEowa+vgpW7fZUySTmIoFIG2yxmbkKoRmGGOEk+IUK6qIUTfedqKaGWlPZDpJJW+6/5lIq4WByofTn0LOqutQ4c3VorXOrfqhsIohKitLCu6aX7AVquotiuDW9lewQHK6qJ3oevreorfiCCmr8WY7L2MaTmPmqecc2iiy97ab45mvHuvquaEuW2e/qGqm3oW5qonjphbKG+h8WLJb5mDNGbsxvx3/hSVdwTU5MowHq9nquKdVHHCK+dLaLJcxm4sazSSiPGGfC667J9GeBhkxwLm6nDDRuhntb4NJ47l0weCW7POdYaobHciaRhuuyLyNbO23XSerXIdDh0Spru4a+nS6Zm/bNNs2Pgx0qQxiS2x2OMPdXcNXRt1ygnHyJzHg2FHM6LNf00sw4p952WTb0//yHbnbciJI+cCX16ootE6rndjgDpqsOcelK5qonBPPczqo+v7Ns8onniyutCn+FpeKra8tVqXcHuR130gbXzfTnx9eo5uMbzK414jzfnCcvSbM3JS2l+v5YGhexqaVK89ut8bgcy+42eJ3/1L5YDtvsfoqPr9n7GzSzSF1Wx8/53W4zl0eqr3rSZYjXNTad7P6CTBstVtR7tqzq7glsE+O6tSYsHW1MY3PdlISmNJI5TtyaZB9QKPbtFp3LmfZiHHT4dcEq9O3Jd2tbliDYHIY1oHvoIhZZ8ua9wAXNxn1bm2F41Bhfgis2XzvZajLmA1JGKsRiYl73VKdE+H0JQj/SrFfVDSY3SojkmRd5Fe4ol4A7VcogTFxVUjz2e8ykEJlheeGl9Lbx5SYw7GVsWjHmhzsMrU19PEqhKGhlhpLd702jgBD6tjj32JYq/Ul8I5q+dEM9yMqqFhwdAHy4hQtliSC0Q+EnLQVheLnJ1OiUGxxlODXitVA3L1ydTD0JJ+ASLILXsyR97nJ8uS2wC6C8E4ZxBz9/FOyB9ZRl3q7YvSEpadbARBWzLylM8Wltd318WfUPKR9UjIiRVZyj50znzerhcoi2bFnMguasYwzJ9F1r5EyrBfGwFbM881ShYWU3prw1skt5tOHvrqWO1cpz4DGU47niaYhCQmdk8lgHKIUrahFL4rRjGp0oxztqEc/CtKQinSkJD1AAQAAOw==\n```\n\n## Usage\n\n```\nnpm install yaqrcode\n```\n\n```javascript\nqrcode = require('yaqrcode');\nbase64 = qrcode('hello world');\n```\n\n### custom size\n\n```javascript\nqrcode = require('yaqrcode');\nbase64 = qrcode('hello world', {\n    size: 500\n});\n```\n\n## License\n\nThe MIT License (MIT)\n\nCopyright (c) 2013,2015 Zeno Zeng\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"
  },
  {
    "path": "plugins/tiddlywiki/qrcode/files/qrcode/qrcode.js",
    "content": "//---------------------------------------------------------------------\n//\n// QR Code Generator for JavaScript\n//\n// Copyright (c) 2009 Kazuhiko Arase\n//\n// URL: http://www.d-project.com/\n//\n// Licensed under the MIT license:\n//\thttp://www.opensource.org/licenses/mit-license.php\n//\n// The word 'QR Code' is registered trademark of\n// DENSO WAVE INCORPORATED\n//\thttp://www.denso-wave.com/qrcode/faqpatent-e.html\n//\n//---------------------------------------------------------------------\n\n//---------------------------------------------------------------------\n// qrcode\n//---------------------------------------------------------------------\n\n/**\n * qrcode\n * @param typeNumber 1 to 40\n * @param errorCorrectLevel 'L','M','Q','H'\n */\nvar qrcode = function(typeNumber, errorCorrectLevel) {\n\n    var PAD0 = 0xEC;\n    var PAD1 = 0x11;\n\n    var _typeNumber = typeNumber;\n    var _errorCorrectLevel = QRErrorCorrectLevel[errorCorrectLevel];\n    var _modules = null;\n    var _moduleCount = 0;\n    var _dataCache = null;\n    var _dataList = new Array();\n\n    var _this = {};\n\n    var makeImpl = function(test, maskPattern) {\n\n\t_moduleCount = _typeNumber * 4 + 17;\n\t_modules = function(moduleCount) {\n\t    var modules = new Array(moduleCount);\n\t    for (var row = 0; row < moduleCount; row += 1) {\n\t\tmodules[row] = new Array(moduleCount);\n\t\tfor (var col = 0; col < moduleCount; col += 1) {\n\t\t    modules[row][col] = null;\n\t\t}\n\t    }\n\t    return modules;\n\t}(_moduleCount);\n\n\tsetupPositionProbePattern(0, 0);\n\tsetupPositionProbePattern(_moduleCount - 7, 0);\n\tsetupPositionProbePattern(0, _moduleCount - 7);\n\tsetupPositionAdjustPattern();\n\tsetupTimingPattern();\n\tsetupTypeInfo(test, maskPattern);\n\n\tif (_typeNumber >= 7) {\n\t    setupTypeNumber(test);\n\t}\n\n\tif (_dataCache == null) {\n\t    _dataCache = createData(_typeNumber, _errorCorrectLevel, _dataList);\n\t}\n\n\tmapData(_dataCache, maskPattern);\n    };\n\n    var setupPositionProbePattern = function(row, col) {\n\n\tfor (var r = -1; r <= 7; r += 1) {\n\n\t    if (row + r <= -1 || _moduleCount <= row + r) continue;\n\n\t    for (var c = -1; c <= 7; c += 1) {\n\n\t\tif (col + c <= -1 || _moduleCount <= col + c) continue;\n\n\t\tif ( (0 <= r && r <= 6 && (c == 0 || c == 6) )\n\t\t     || (0 <= c && c <= 6 && (r == 0 || r == 6) )\n\t\t     || (2 <= r && r <= 4 && 2 <= c && c <= 4) ) {\n\t\t    _modules[row + r][col + c] = true;\n\t\t} else {\n\t\t    _modules[row + r][col + c] = false;\n\t\t}\n\t    }\n\t}\n    };\n\n    var getBestMaskPattern = function() {\n\n\tvar minLostPoint = 0;\n\tvar pattern = 0;\n\n\tfor (var i = 0; i < 8; i += 1) {\n\n\t    makeImpl(true, i);\n\n\t    var lostPoint = QRUtil.getLostPoint(_this);\n\n\t    if (i == 0 || minLostPoint > lostPoint) {\n\t\tminLostPoint = lostPoint;\n\t\tpattern = i;\n\t    }\n\t}\n\n\treturn pattern;\n    };\n\n    var setupTimingPattern = function() {\n\n\tfor (var r = 8; r < _moduleCount - 8; r += 1) {\n\t    if (_modules[r][6] != null) {\n\t\tcontinue;\n\t    }\n\t    _modules[r][6] = (r % 2 == 0);\n\t}\n\n\tfor (var c = 8; c < _moduleCount - 8; c += 1) {\n\t    if (_modules[6][c] != null) {\n\t\tcontinue;\n\t    }\n\t    _modules[6][c] = (c % 2 == 0);\n\t}\n    };\n\n    var setupPositionAdjustPattern = function() {\n\n\tvar pos = QRUtil.getPatternPosition(_typeNumber);\n\n\tfor (var i = 0; i < pos.length; i += 1) {\n\n\t    for (var j = 0; j < pos.length; j += 1) {\n\n\t\tvar row = pos[i];\n\t\tvar col = pos[j];\n\n\t\tif (_modules[row][col] != null) {\n\t\t    continue;\n\t\t}\n\n\t\tfor (var r = -2; r <= 2; r += 1) {\n\n\t\t    for (var c = -2; c <= 2; c += 1) {\n\n\t\t\tif (r == -2 || r == 2 || c == -2 || c == 2\n\t\t\t    || (r == 0 && c == 0) ) {\n\t\t\t    _modules[row + r][col + c] = true;\n\t\t\t} else {\n\t\t\t    _modules[row + r][col + c] = false;\n\t\t\t}\n\t\t    }\n\t\t}\n\t    }\n\t}\n    };\n\n    var setupTypeNumber = function(test) {\n\n\tvar bits = QRUtil.getBCHTypeNumber(_typeNumber);\n\n\tfor (var i = 0; i < 18; i += 1) {\n\t    var mod = (!test && ( (bits >> i) & 1) == 1);\n\t    _modules[Math.floor(i / 3)][i % 3 + _moduleCount - 8 - 3] = mod;\n\t}\n\n\tfor (var i = 0; i < 18; i += 1) {\n\t    var mod = (!test && ( (bits >> i) & 1) == 1);\n\t    _modules[i % 3 + _moduleCount - 8 - 3][Math.floor(i / 3)] = mod;\n\t}\n    };\n\n    var setupTypeInfo = function(test, maskPattern) {\n\n\tvar data = (_errorCorrectLevel << 3) | maskPattern;\n\tvar bits = QRUtil.getBCHTypeInfo(data);\n\n\t// vertical\n\tfor (var i = 0; i < 15; i += 1) {\n\n\t    var mod = (!test && ( (bits >> i) & 1) == 1);\n\n\t    if (i < 6) {\n\t\t_modules[i][8] = mod;\n\t    } else if (i < 8) {\n\t\t_modules[i + 1][8] = mod;\n\t    } else {\n\t\t_modules[_moduleCount - 15 + i][8] = mod;\n\t    }\n\t}\n\n\t// horizontal\n\tfor (var i = 0; i < 15; i += 1) {\n\n\t    var mod = (!test && ( (bits >> i) & 1) == 1);\n\n\t    if (i < 8) {\n\t\t_modules[8][_moduleCount - i - 1] = mod;\n\t    } else if (i < 9) {\n\t\t_modules[8][15 - i - 1 + 1] = mod;\n\t    } else {\n\t\t_modules[8][15 - i - 1] = mod;\n\t    }\n\t}\n\n\t// fixed module\n\t_modules[_moduleCount - 8][8] = (!test);\n    };\n\n    var mapData = function(data, maskPattern) {\n\n\tvar inc = -1;\n\tvar row = _moduleCount - 1;\n\tvar bitIndex = 7;\n\tvar byteIndex = 0;\n\tvar maskFunc = QRUtil.getMaskFunction(maskPattern);\n\n\tfor (var col = _moduleCount - 1; col > 0; col -= 2) {\n\n\t    if (col == 6) col -= 1;\n\n\t    while (true) {\n\n\t\tfor (var c = 0; c < 2; c += 1) {\n\n\t\t    if (_modules[row][col - c] == null) {\n\n\t\t\tvar dark = false;\n\n\t\t\tif (byteIndex < data.length) {\n\t\t\t    dark = ( ( (data[byteIndex] >>> bitIndex) & 1) == 1);\n\t\t\t}\n\n\t\t\tvar mask = maskFunc(row, col - c);\n\n\t\t\tif (mask) {\n\t\t\t    dark = !dark;\n\t\t\t}\n\n\t\t\t_modules[row][col - c] = dark;\n\t\t\tbitIndex -= 1;\n\n\t\t\tif (bitIndex == -1) {\n\t\t\t    byteIndex += 1;\n\t\t\t    bitIndex = 7;\n\t\t\t}\n\t\t    }\n\t\t}\n\n\t\trow += inc;\n\n\t\tif (row < 0 || _moduleCount <= row) {\n\t\t    row -= inc;\n\t\t    inc = -inc;\n\t\t    break;\n\t\t}\n\t    }\n\t}\n    };\n\n    var createBytes = function(buffer, rsBlocks) {\n\n\tvar offset = 0;\n\n\tvar maxDcCount = 0;\n\tvar maxEcCount = 0;\n\n\tvar dcdata = new Array(rsBlocks.length);\n\tvar ecdata = new Array(rsBlocks.length);\n\n\tfor (var r = 0; r < rsBlocks.length; r += 1) {\n\n\t    var dcCount = rsBlocks[r].dataCount;\n\t    var ecCount = rsBlocks[r].totalCount - dcCount;\n\n\t    maxDcCount = Math.max(maxDcCount, dcCount);\n\t    maxEcCount = Math.max(maxEcCount, ecCount);\n\n\t    dcdata[r] = new Array(dcCount);\n\n\t    for (var i = 0; i < dcdata[r].length; i += 1) {\n\t\tdcdata[r][i] = 0xff & buffer.getBuffer()[i + offset];\n\t    }\n\t    offset += dcCount;\n\n\t    var rsPoly = QRUtil.getErrorCorrectPolynomial(ecCount);\n\t    var rawPoly = qrPolynomial(dcdata[r], rsPoly.getLength() - 1);\n\n\t    var modPoly = rawPoly.mod(rsPoly);\n\t    ecdata[r] = new Array(rsPoly.getLength() - 1);\n\t    for (var i = 0; i < ecdata[r].length; i += 1) {\n\t\tvar modIndex = i + modPoly.getLength() - ecdata[r].length;\n\t\tecdata[r][i] = (modIndex >= 0)? modPoly.getAt(modIndex) : 0;\n\t    }\n\t}\n\n\tvar totalCodeCount = 0;\n\tfor (var i = 0; i < rsBlocks.length; i += 1) {\n\t    totalCodeCount += rsBlocks[i].totalCount;\n\t}\n\n\tvar data = new Array(totalCodeCount);\n\tvar index = 0;\n\n\tfor (var i = 0; i < maxDcCount; i += 1) {\n\t    for (var r = 0; r < rsBlocks.length; r += 1) {\n\t\tif (i < dcdata[r].length) {\n\t\t    data[index] = dcdata[r][i];\n\t\t    index += 1;\n\t\t}\n\t    }\n\t}\n\n\tfor (var i = 0; i < maxEcCount; i += 1) {\n\t    for (var r = 0; r < rsBlocks.length; r += 1) {\n\t\tif (i < ecdata[r].length) {\n\t\t    data[index] = ecdata[r][i];\n\t\t    index += 1;\n\t\t}\n\t    }\n\t}\n\n\treturn data;\n    };\n\n    var createData = function(typeNumber, errorCorrectLevel, dataList) {\n\n\tvar rsBlocks = QRRSBlock.getRSBlocks(typeNumber, errorCorrectLevel);\n\n\tvar buffer = qrBitBuffer();\n\n\tfor (var i = 0; i < dataList.length; i += 1) {\n\t    var data = dataList[i];\n\t    buffer.put(data.getMode(), 4);\n\t    buffer.put(data.getLength(), QRUtil.getLengthInBits(data.getMode(), typeNumber) );\n\t    data.write(buffer);\n\t}\n\n\t// calc num max data.\n\tvar totalDataCount = 0;\n\tfor (var i = 0; i < rsBlocks.length; i += 1) {\n\t    totalDataCount += rsBlocks[i].dataCount;\n\t}\n\n\tif (buffer.getLengthInBits() > totalDataCount * 8) {\n\t    throw new Error('code length overflow. ('\n\t\t\t    + buffer.getLengthInBits()\n\t\t\t    + '>'\n\t\t\t    + totalDataCount * 8\n\t\t\t    + ')');\n\t}\n\n\t// end code\n\tif (buffer.getLengthInBits() + 4 <= totalDataCount * 8) {\n\t    buffer.put(0, 4);\n\t}\n\n\t// padding\n\twhile (buffer.getLengthInBits() % 8 != 0) {\n\t    buffer.putBit(false);\n\t}\n\n\t// padding\n\twhile (true) {\n\n\t    if (buffer.getLengthInBits() >= totalDataCount * 8) {\n\t\tbreak;\n\t    }\n\t    buffer.put(PAD0, 8);\n\n\t    if (buffer.getLengthInBits() >= totalDataCount * 8) {\n\t\tbreak;\n\t    }\n\t    buffer.put(PAD1, 8);\n\t}\n\n\treturn createBytes(buffer, rsBlocks);\n    };\n\n    _this.addData = function(data) {\n\tvar newData = qr8BitByte(data);\n\t_dataList.push(newData);\n\t_dataCache = null;\n    };\n\n    _this.isDark = function(row, col) {\n\tif (row < 0 || _moduleCount <= row || col < 0 || _moduleCount <= col) {\n\t    throw new Error(row + ',' + col);\n\t}\n\treturn _modules[row][col];\n    };\n\n    _this.getModuleCount = function() {\n\treturn _moduleCount;\n    };\n\n    _this.make = function() {\n\tmakeImpl(false, getBestMaskPattern() );\n    };\n\n    _this.createTableTag = function(cellSize, margin) {\n\n\tcellSize = cellSize || 2;\n\tmargin = (typeof margin == 'undefined')? cellSize * 4 : margin;\n\n\tvar qrHtml = '';\n\n\tqrHtml += '<table style=\"';\n\tqrHtml += ' border-width: 0px; border-style: none;';\n\tqrHtml += ' border-collapse: collapse;';\n\tqrHtml += ' padding: 0px; margin: ' + margin + 'px;';\n\tqrHtml += '\">';\n\tqrHtml += '<tbody>';\n\n\tfor (var r = 0; r < _this.getModuleCount(); r += 1) {\n\n\t    qrHtml += '<tr>';\n\n\t    for (var c = 0; c < _this.getModuleCount(); c += 1) {\n\t\tqrHtml += '<td style=\"';\n\t\tqrHtml += ' border-width: 0px; border-style: none;';\n\t\tqrHtml += ' border-collapse: collapse;';\n\t\tqrHtml += ' padding: 0px; margin: 0px;';\n\t\tqrHtml += ' width: ' + cellSize + 'px;';\n\t\tqrHtml += ' height: ' + cellSize + 'px;';\n\t\tqrHtml += ' background-color: ';\n\t\tqrHtml += _this.isDark(r, c)? '#000000' : '#ffffff';\n\t\tqrHtml += ';';\n\t\tqrHtml += '\"/>';\n\t    }\n\n\t    qrHtml += '</tr>';\n\t}\n\n\tqrHtml += '</tbody>';\n\tqrHtml += '</table>';\n\n\treturn qrHtml;\n    };\n\n    _this.createImgTag = function(cellSize, margin, size) {\n\n\tcellSize = cellSize || 2;\n\tmargin = (typeof margin == 'undefined')? cellSize * 4 : margin;\n\n\tvar min = margin;\n\tvar max = _this.getModuleCount() * cellSize + margin;\n\n\treturn createImgTag(size, size, function(x, y) {\n\t    if (min <= x && x < max && min <= y && y < max) {\n\t\tvar c = Math.floor( (x - min) / cellSize);\n\t\tvar r = Math.floor( (y - min) / cellSize);\n\t\treturn _this.isDark(r, c)? 0 : 1;\n\t    } else {\n\t\treturn 1;\n\t    }\n\t} );\n    };\n\n    return _this;\n};\n\n//---------------------------------------------------------------------\n// qrcode.stringToBytes\n//---------------------------------------------------------------------\n\nqrcode.stringToBytes = function(s) {\n    var bytes = new Array();\n    for (var i = 0; i < s.length; i += 1) {\n\tvar c = s.charCodeAt(i);\n\tbytes.push(c & 0xff);\n    }\n    return bytes;\n};\n\n//---------------------------------------------------------------------\n// qrcode.createStringToBytes\n//---------------------------------------------------------------------\n\n/**\n * @param unicodeData base64 string of byte array.\n * [16bit Unicode],[16bit Bytes], ...\n * @param numChars\n */\nqrcode.createStringToBytes = function(unicodeData, numChars) {\n\n    // create conversion map.\n\n    var unicodeMap = function() {\n\n\tvar bin = base64DecodeInputStream(unicodeData);\n\tvar read = function() {\n\t    var b = bin.read();\n\t    if (b == -1) throw new Error();\n\t    return b;\n\t};\n\n\tvar count = 0;\n\tvar unicodeMap = {};\n\twhile (true) {\n\t    var b0 = bin.read();\n\t    if (b0 == -1) break;\n\t    var b1 = read();\n\t    var b2 = read();\n\t    var b3 = read();\n\t    var k = String.fromCharCode( (b0 << 8) | b1);\n\t    var v = (b2 << 8) | b3;\n\t    unicodeMap[k] = v;\n\t    count += 1;\n\t}\n\tif (count != numChars) {\n\t    throw new Error(count + ' != ' + numChars);\n\t}\n\n\treturn unicodeMap;\n    }();\n\n    var unknownChar = '?'.charCodeAt(0);\n\n    return function(s) {\n\tvar bytes = new Array();\n\tfor (var i = 0; i < s.length; i += 1) {\n\t    var c = s.charCodeAt(i);\n\t    if (c < 128) {\n\t\tbytes.push(c);\n\t    } else {\n\t\tvar b = unicodeMap[s.charAt(i)];\n\t\tif (typeof b == 'number') {\n\t\t    if ( (b & 0xff) == b) {\n\t\t\t// 1byte\n\t\t\tbytes.push(b);\n\t\t    } else {\n\t\t\t// 2bytes\n\t\t\tbytes.push(b >>> 8);\n\t\t\tbytes.push(b & 0xff);\n\t\t    }\n\t\t} else {\n\t\t    bytes.push(unknownChar);\n\t\t}\n\t    }\n\t}\n\treturn bytes;\n    };\n};\n\n//---------------------------------------------------------------------\n// QRMode\n//---------------------------------------------------------------------\n\nvar QRMode = {\n    MODE_NUMBER :\t\t1 << 0,\n    MODE_ALPHA_NUM : \t1 << 1,\n    MODE_8BIT_BYTE : \t1 << 2,\n    MODE_KANJI :\t\t1 << 3\n};\n\n//---------------------------------------------------------------------\n// QRErrorCorrectLevel\n//---------------------------------------------------------------------\n\nvar QRErrorCorrectLevel = {\n    L : 1,\n    M : 0,\n    Q : 3,\n    H : 2\n};\n\n//---------------------------------------------------------------------\n// QRMaskPattern\n//---------------------------------------------------------------------\n\nvar QRMaskPattern = {\n    PATTERN000 : 0,\n    PATTERN001 : 1,\n    PATTERN010 : 2,\n    PATTERN011 : 3,\n    PATTERN100 : 4,\n    PATTERN101 : 5,\n    PATTERN110 : 6,\n    PATTERN111 : 7\n};\n\n//---------------------------------------------------------------------\n// QRUtil\n//---------------------------------------------------------------------\n\nvar QRUtil = function() {\n\n    var PATTERN_POSITION_TABLE = [\n\t[],\n\t[6, 18],\n\t[6, 22],\n\t[6, 26],\n\t[6, 30],\n\t[6, 34],\n\t[6, 22, 38],\n\t[6, 24, 42],\n\t[6, 26, 46],\n\t[6, 28, 50],\n\t[6, 30, 54],\n\t[6, 32, 58],\n\t[6, 34, 62],\n\t[6, 26, 46, 66],\n\t[6, 26, 48, 70],\n\t[6, 26, 50, 74],\n\t[6, 30, 54, 78],\n\t[6, 30, 56, 82],\n\t[6, 30, 58, 86],\n\t[6, 34, 62, 90],\n\t[6, 28, 50, 72, 94],\n\t[6, 26, 50, 74, 98],\n\t[6, 30, 54, 78, 102],\n\t[6, 28, 54, 80, 106],\n\t[6, 32, 58, 84, 110],\n\t[6, 30, 58, 86, 114],\n\t[6, 34, 62, 90, 118],\n\t[6, 26, 50, 74, 98, 122],\n\t[6, 30, 54, 78, 102, 126],\n\t[6, 26, 52, 78, 104, 130],\n\t[6, 30, 56, 82, 108, 134],\n\t[6, 34, 60, 86, 112, 138],\n\t[6, 30, 58, 86, 114, 142],\n\t[6, 34, 62, 90, 118, 146],\n\t[6, 30, 54, 78, 102, 126, 150],\n\t[6, 24, 50, 76, 102, 128, 154],\n\t[6, 28, 54, 80, 106, 132, 158],\n\t[6, 32, 58, 84, 110, 136, 162],\n\t[6, 26, 54, 82, 110, 138, 166],\n\t[6, 30, 58, 86, 114, 142, 170]\n    ];\n    var G15 = (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0);\n    var G18 = (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0);\n    var G15_MASK = (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1);\n\n    var _this = {};\n\n    var getBCHDigit = function(data) {\n\tvar digit = 0;\n\twhile (data != 0) {\n\t    digit += 1;\n\t    data >>>= 1;\n\t}\n\treturn digit;\n    };\n\n    _this.getBCHTypeInfo = function(data) {\n\tvar d = data << 10;\n\twhile (getBCHDigit(d) - getBCHDigit(G15) >= 0) {\n\t    d ^= (G15 << (getBCHDigit(d) - getBCHDigit(G15) ) );\n\t}\n\treturn ( (data << 10) | d) ^ G15_MASK;\n    };\n\n    _this.getBCHTypeNumber = function(data) {\n\tvar d = data << 12;\n\twhile (getBCHDigit(d) - getBCHDigit(G18) >= 0) {\n\t    d ^= (G18 << (getBCHDigit(d) - getBCHDigit(G18) ) );\n\t}\n\treturn (data << 12) | d;\n    };\n\n    _this.getPatternPosition = function(typeNumber) {\n\treturn PATTERN_POSITION_TABLE[typeNumber - 1];\n    };\n\n    _this.getMaskFunction = function(maskPattern) {\n\n\tswitch (maskPattern) {\n\n\t    case QRMaskPattern.PATTERN000 :\n\t\treturn function(i, j) { return (i + j) % 2 == 0; };\n\t    case QRMaskPattern.PATTERN001 :\n\t\treturn function(i, j) { return i % 2 == 0; };\n\t    case QRMaskPattern.PATTERN010 :\n\t\treturn function(i, j) { return j % 3 == 0; };\n\t    case QRMaskPattern.PATTERN011 :\n\t\treturn function(i, j) { return (i + j) % 3 == 0; };\n\t    case QRMaskPattern.PATTERN100 :\n\t\treturn function(i, j) { return (Math.floor(i / 2) + Math.floor(j / 3) ) % 2 == 0; };\n\t    case QRMaskPattern.PATTERN101 :\n\t\treturn function(i, j) { return (i * j) % 2 + (i * j) % 3 == 0; };\n\t    case QRMaskPattern.PATTERN110 :\n\t\treturn function(i, j) { return ( (i * j) % 2 + (i * j) % 3) % 2 == 0; };\n\t    case QRMaskPattern.PATTERN111 :\n\t\treturn function(i, j) { return ( (i * j) % 3 + (i + j) % 2) % 2 == 0; };\n\n\t\tdefault :\n\t\tthrow new Error('bad maskPattern:' + maskPattern);\n\t}\n    };\n\n    _this.getErrorCorrectPolynomial = function(errorCorrectLength) {\n\tvar a = qrPolynomial([1], 0);\n\tfor (var i = 0; i < errorCorrectLength; i += 1) {\n\t    a = a.multiply(qrPolynomial([1, QRMath.gexp(i)], 0) );\n\t}\n\treturn a;\n    };\n\n    _this.getLengthInBits = function(mode, type) {\n\n\tif (1 <= type && type < 10) {\n\n\t    // 1 - 9\n\n\t    switch(mode) {\n\t\tcase QRMode.MODE_NUMBER \t: return 10;\n\t\tcase QRMode.MODE_ALPHA_NUM \t: return 9;\n\t\tcase QRMode.MODE_8BIT_BYTE\t: return 8;\n\t\tcase QRMode.MODE_KANJI\t\t: return 8;\n\t\t    default :\n\t\t    throw new Error('mode:' + mode);\n\t    }\n\n\t} else if (type < 27) {\n\n\t    // 10 - 26\n\n\t    switch(mode) {\n\t\tcase QRMode.MODE_NUMBER \t: return 12;\n\t\tcase QRMode.MODE_ALPHA_NUM \t: return 11;\n\t\tcase QRMode.MODE_8BIT_BYTE\t: return 16;\n\t\tcase QRMode.MODE_KANJI\t\t: return 10;\n\t\t    default :\n\t\t    throw new Error('mode:' + mode);\n\t    }\n\n\t} else if (type < 41) {\n\n\t    // 27 - 40\n\n\t    switch(mode) {\n\t\tcase QRMode.MODE_NUMBER \t: return 14;\n\t\tcase QRMode.MODE_ALPHA_NUM\t: return 13;\n\t\tcase QRMode.MODE_8BIT_BYTE\t: return 16;\n\t\tcase QRMode.MODE_KANJI\t\t: return 12;\n\t\t    default :\n\t\t    throw new Error('mode:' + mode);\n\t    }\n\n\t} else {\n\t    throw new Error('type:' + type);\n\t}\n    };\n\n    _this.getLostPoint = function(qrcode) {\n\n\tvar moduleCount = qrcode.getModuleCount();\n\n\tvar lostPoint = 0;\n\n\t// LEVEL1\n\n\tfor (var row = 0; row < moduleCount; row += 1) {\n\t    for (var col = 0; col < moduleCount; col += 1) {\n\n\t\tvar sameCount = 0;\n\t\tvar dark = qrcode.isDark(row, col);\n\n\t\tfor (var r = -1; r <= 1; r += 1) {\n\n\t\t    if (row + r < 0 || moduleCount <= row + r) {\n\t\t\tcontinue;\n\t\t    }\n\n\t\t    for (var c = -1; c <= 1; c += 1) {\n\n\t\t\tif (col + c < 0 || moduleCount <= col + c) {\n\t\t\t    continue;\n\t\t\t}\n\n\t\t\tif (r == 0 && c == 0) {\n\t\t\t    continue;\n\t\t\t}\n\n\t\t\tif (dark == qrcode.isDark(row + r, col + c) ) {\n\t\t\t    sameCount += 1;\n\t\t\t}\n\t\t    }\n\t\t}\n\n\t\tif (sameCount > 5) {\n\t\t    lostPoint += (3 + sameCount - 5);\n\t\t}\n\t    }\n\t};\n\n\t// LEVEL2\n\n\tfor (var row = 0; row < moduleCount - 1; row += 1) {\n\t    for (var col = 0; col < moduleCount - 1; col += 1) {\n\t\tvar count = 0;\n\t\tif (qrcode.isDark(row, col) ) count += 1;\n\t\tif (qrcode.isDark(row + 1, col) ) count += 1;\n\t\tif (qrcode.isDark(row, col + 1) ) count += 1;\n\t\tif (qrcode.isDark(row + 1, col + 1) ) count += 1;\n\t\tif (count == 0 || count == 4) {\n\t\t    lostPoint += 3;\n\t\t}\n\t    }\n\t}\n\n\t// LEVEL3\n\n\tfor (var row = 0; row < moduleCount; row += 1) {\n\t    for (var col = 0; col < moduleCount - 6; col += 1) {\n\t\tif (qrcode.isDark(row, col)\n\t\t    && !qrcode.isDark(row, col + 1)\n\t\t    &&  qrcode.isDark(row, col + 2)\n\t\t    &&  qrcode.isDark(row, col + 3)\n\t\t    &&  qrcode.isDark(row, col + 4)\n\t\t    && !qrcode.isDark(row, col + 5)\n\t\t    &&  qrcode.isDark(row, col + 6) ) {\n\t\t    lostPoint += 40;\n\t\t}\n\t    }\n\t}\n\n\tfor (var col = 0; col < moduleCount; col += 1) {\n\t    for (var row = 0; row < moduleCount - 6; row += 1) {\n\t\tif (qrcode.isDark(row, col)\n\t\t    && !qrcode.isDark(row + 1, col)\n\t\t    &&  qrcode.isDark(row + 2, col)\n\t\t    &&  qrcode.isDark(row + 3, col)\n\t\t    &&  qrcode.isDark(row + 4, col)\n\t\t    && !qrcode.isDark(row + 5, col)\n\t\t    &&  qrcode.isDark(row + 6, col) ) {\n\t\t    lostPoint += 40;\n\t\t}\n\t    }\n\t}\n\n\t// LEVEL4\n\n\tvar darkCount = 0;\n\n\tfor (var col = 0; col < moduleCount; col += 1) {\n\t    for (var row = 0; row < moduleCount; row += 1) {\n\t\tif (qrcode.isDark(row, col) ) {\n\t\t    darkCount += 1;\n\t\t}\n\t    }\n\t}\n\n\tvar ratio = Math.abs(100 * darkCount / moduleCount / moduleCount - 50) / 5;\n\tlostPoint += ratio * 10;\n\n\treturn lostPoint;\n    };\n\n    return _this;\n}();\n\n//---------------------------------------------------------------------\n// QRMath\n//---------------------------------------------------------------------\n\nvar QRMath = function() {\n\n    var EXP_TABLE = new Array(256);\n    var LOG_TABLE = new Array(256);\n\n    // initialize tables\n    for (var i = 0; i < 8; i += 1) {\n\tEXP_TABLE[i] = 1 << i;\n    }\n    for (var i = 8; i < 256; i += 1) {\n\tEXP_TABLE[i] = EXP_TABLE[i - 4]\n\t    ^ EXP_TABLE[i - 5]\n\t    ^ EXP_TABLE[i - 6]\n\t    ^ EXP_TABLE[i - 8];\n    }\n    for (var i = 0; i < 255; i += 1) {\n\tLOG_TABLE[EXP_TABLE[i] ] = i;\n    }\n\n    var _this = {};\n\n    _this.glog = function(n) {\n\n\tif (n < 1) {\n\t    throw new Error('glog(' + n + ')');\n\t}\n\n\treturn LOG_TABLE[n];\n    };\n\n    _this.gexp = function(n) {\n\n\twhile (n < 0) {\n\t    n += 255;\n\t}\n\n\twhile (n >= 256) {\n\t    n -= 255;\n\t}\n\n\treturn EXP_TABLE[n];\n    };\n\n    return _this;\n}();\n\n//---------------------------------------------------------------------\n// qrPolynomial\n//---------------------------------------------------------------------\n\nfunction qrPolynomial(num, shift) {\n\n    if (typeof num.length == 'undefined') {\n\tthrow new Error(num.length + '/' + shift);\n    }\n\n    var _num = function() {\n\tvar offset = 0;\n\twhile (offset < num.length && num[offset] == 0) {\n\t    offset += 1;\n\t}\n\tvar _num = new Array(num.length - offset + shift);\n\tfor (var i = 0; i < num.length - offset; i += 1) {\n\t    _num[i] = num[i + offset];\n\t}\n\treturn _num;\n    }();\n\n    var _this = {};\n\n    _this.getAt = function(index) {\n\treturn _num[index];\n    };\n\n    _this.getLength = function() {\n\treturn _num.length;\n    };\n\n    _this.multiply = function(e) {\n\n\tvar num = new Array(_this.getLength() + e.getLength() - 1);\n\n\tfor (var i = 0; i < _this.getLength(); i += 1) {\n\t    for (var j = 0; j < e.getLength(); j += 1) {\n\t\tnum[i + j] ^= QRMath.gexp(QRMath.glog(_this.getAt(i) ) + QRMath.glog(e.getAt(j) ) );\n\t    }\n\t}\n\n\treturn qrPolynomial(num, 0);\n    };\n\n    _this.mod = function(e) {\n\n\tif (_this.getLength() - e.getLength() < 0) {\n\t    return _this;\n\t}\n\n\tvar ratio = QRMath.glog(_this.getAt(0) ) - QRMath.glog(e.getAt(0) );\n\n\tvar num = new Array(_this.getLength() );\n\tfor (var i = 0; i < _this.getLength(); i += 1) {\n\t    num[i] = _this.getAt(i);\n\t}\n\n\tfor (var i = 0; i < e.getLength(); i += 1) {\n\t    num[i] ^= QRMath.gexp(QRMath.glog(e.getAt(i) ) + ratio);\n\t}\n\n\t// recursive call\n\treturn qrPolynomial(num, 0).mod(e);\n    };\n\n    return _this;\n};\n\n//---------------------------------------------------------------------\n// QRRSBlock\n//---------------------------------------------------------------------\n\nvar QRRSBlock = function() {\n\n\n    // [1: [L, M, Q, H], ..]\n    var RS_BLOCK_TABLE=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]];\n\n    var qrRSBlock = function(totalCount, dataCount) {\n\tvar _this = {};\n\t_this.totalCount = totalCount;\n\t_this.dataCount = dataCount;\n\treturn _this;\n    };\n\n    var _this = {};\n\n    var getRsBlockTable = function(typeNumber, errorCorrectLevel) {\n\n\tswitch(errorCorrectLevel) {\n\t    case QRErrorCorrectLevel.L :\n\t\treturn RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 0];\n\t    case QRErrorCorrectLevel.M :\n\t\treturn RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 1];\n\t    case QRErrorCorrectLevel.Q :\n\t\treturn RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 2];\n\t    case QRErrorCorrectLevel.H :\n\t\treturn RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 3];\n\t\tdefault :\n\t\treturn undefined;\n\t}\n    };\n\n    _this.getRSBlocks = function(typeNumber, errorCorrectLevel) {\n\n\tvar rsBlock = getRsBlockTable(typeNumber, errorCorrectLevel);\n\n\tif (typeof rsBlock == 'undefined') {\n\t    throw new Error('bad rs block @ typeNumber:' + typeNumber +\n\t\t\t    '/errorCorrectLevel:' + errorCorrectLevel);\n\t}\n\n\tvar length = rsBlock.length / 3;\n\n\tvar list = new Array();\n\n\tfor (var i = 0; i < length; i += 1) {\n\n\t    var count = rsBlock[i * 3 + 0];\n\t    var totalCount = rsBlock[i * 3 + 1];\n\t    var dataCount = rsBlock[i * 3 + 2];\n\n\t    for (var j = 0; j < count; j += 1) {\n\t\tlist.push(qrRSBlock(totalCount, dataCount) );\n\t    }\n\t}\n\n\treturn list;\n    };\n\n    return _this;\n}();\n\n//---------------------------------------------------------------------\n// qrBitBuffer\n//---------------------------------------------------------------------\n\nvar qrBitBuffer = function() {\n\n    var _buffer = new Array();\n    var _length = 0;\n\n    var _this = {};\n\n    _this.getBuffer = function() {\n\treturn _buffer;\n    };\n\n    _this.getAt = function(index) {\n\tvar bufIndex = Math.floor(index / 8);\n\treturn ( (_buffer[bufIndex] >>> (7 - index % 8) ) & 1) == 1;\n    };\n\n    _this.put = function(num, length) {\n\tfor (var i = 0; i < length; i += 1) {\n\t    _this.putBit( ( (num >>> (length - i - 1) ) & 1) == 1);\n\t}\n    };\n\n    _this.getLengthInBits = function() {\n\treturn _length;\n    };\n\n    _this.putBit = function(bit) {\n\n\tvar bufIndex = Math.floor(_length / 8);\n\tif (_buffer.length <= bufIndex) {\n\t    _buffer.push(0);\n\t}\n\n\tif (bit) {\n\t    _buffer[bufIndex] |= (0x80 >>> (_length % 8) );\n\t}\n\n\t_length += 1;\n    };\n\n    return _this;\n};\n\n//---------------------------------------------------------------------\n// qr8BitByte\n//---------------------------------------------------------------------\n\nvar qr8BitByte = function(data) {\n\n    var _mode = QRMode.MODE_8BIT_BYTE;\n    var _data = data;\n    var _parsedData = [];\n\n    var _this = {};\n\n\n    // Added to support UTF-8 Characters\n    for (var i = 0, l = _data.length; i < l; i++) {\n\tvar byteArray = [];\n\tvar code = _data.charCodeAt(i);\n\n\tif (code > 0x10000) {\n\t    byteArray[0] = 0xF0 | ((code & 0x1C0000) >>> 18);\n\t    byteArray[1] = 0x80 | ((code & 0x3F000) >>> 12);\n\t    byteArray[2] = 0x80 | ((code & 0xFC0) >>> 6);\n\t    byteArray[3] = 0x80 | (code & 0x3F);\n\t} else if (code > 0x800) {\n\t    byteArray[0] = 0xE0 | ((code & 0xF000) >>> 12);\n\t    byteArray[1] = 0x80 | ((code & 0xFC0) >>> 6);\n\t    byteArray[2] = 0x80 | (code & 0x3F);\n\t} else if (code > 0x80) {\n\t    byteArray[0] = 0xC0 | ((code & 0x7C0) >>> 6);\n\t    byteArray[1] = 0x80 | (code & 0x3F);\n\t} else {\n\t    byteArray[0] = code;\n\t}\n\n        // Fix Unicode corruption bug\n        _parsedData.push(byteArray);\n    }\n\n    _parsedData = Array.prototype.concat.apply([], _parsedData);\n\n    if (_parsedData.length != _data.length) {\n\t_parsedData.unshift(191);\n\t_parsedData.unshift(187);\n\t_parsedData.unshift(239);\n    }\n\n    var _bytes = _parsedData;\n\n    _this.getMode = function() {\n\treturn _mode;\n    };\n\n    _this.getLength = function(buffer) {\n\treturn _bytes.length;\n    };\n\n    _this.write = function(buffer) {\n\tfor (var i = 0; i < _bytes.length; i += 1) {\n\t    buffer.put(_bytes[i], 8);\n\t}\n    };\n\n    return _this;\n};\n\n//=====================================================================\n// GIF Support etc.\n//\n\n//---------------------------------------------------------------------\n// byteArrayOutputStream\n//---------------------------------------------------------------------\n\nvar byteArrayOutputStream = function() {\n\n    var _bytes = new Array();\n\n    var _this = {};\n\n    _this.writeByte = function(b) {\n\t_bytes.push(b & 0xff);\n    };\n\n    _this.writeShort = function(i) {\n\t_this.writeByte(i);\n\t_this.writeByte(i >>> 8);\n    };\n\n    _this.writeBytes = function(b, off, len) {\n\toff = off || 0;\n\tlen = len || b.length;\n\tfor (var i = 0; i < len; i += 1) {\n\t    _this.writeByte(b[i + off]);\n\t}\n    };\n\n    _this.writeString = function(s) {\n\tfor (var i = 0; i < s.length; i += 1) {\n\t    _this.writeByte(s.charCodeAt(i) );\n\t}\n    };\n\n    _this.toByteArray = function() {\n\treturn _bytes;\n    };\n\n    _this.toString = function() {\n\tvar s = '';\n\ts += '[';\n\tfor (var i = 0; i < _bytes.length; i += 1) {\n\t    if (i > 0) {\n\t\ts += ',';\n\t    }\n\t    s += _bytes[i];\n\t}\n\ts += ']';\n\treturn s;\n    };\n\n    return _this;\n};\n\n//---------------------------------------------------------------------\n// base64EncodeOutputStream\n//---------------------------------------------------------------------\n\nvar base64EncodeOutputStream = function() {\n\n    var _buffer = 0;\n    var _buflen = 0;\n    var _length = 0;\n    var _base64 = '';\n\n    var _this = {};\n\n    var writeEncoded = function(b) {\n\t_base64 += String.fromCharCode(encode(b & 0x3f) );\n    };\n\n    var encode = function(n) {\n\tif (n < 0) {\n\t    // error.\n\t} else if (n < 26) {\n\t    return 0x41 + n;\n\t} else if (n < 52) {\n\t    return 0x61 + (n - 26);\n\t} else if (n < 62) {\n\t    return 0x30 + (n - 52);\n\t} else if (n == 62) {\n\t    return 0x2b;\n\t} else if (n == 63) {\n\t    return 0x2f;\n\t}\n\tthrow new Error('n:' + n);\n    };\n\n    _this.writeByte = function(n) {\n\n\t_buffer = (_buffer << 8) | (n & 0xff);\n\t_buflen += 8;\n\t_length += 1;\n\n\twhile (_buflen >= 6) {\n\t    writeEncoded(_buffer >>> (_buflen - 6) );\n\t    _buflen -= 6;\n\t}\n    };\n\n    _this.flush = function() {\n\n\tif (_buflen > 0) {\n\t    writeEncoded(_buffer << (6 - _buflen) );\n\t    _buffer = 0;\n\t    _buflen = 0;\n\t}\n\n\tif (_length % 3 != 0) {\n\t    // padding\n\t    var padlen = 3 - _length % 3;\n\t    for (var i = 0; i < padlen; i += 1) {\n\t\t_base64 += '=';\n\t    }\n\t}\n    };\n\n    _this.toString = function() {\n\treturn _base64;\n    };\n\n    return _this;\n};\n\n//---------------------------------------------------------------------\n// base64DecodeInputStream\n//---------------------------------------------------------------------\n\nvar base64DecodeInputStream = function(str) {\n\n    var _str = str;\n    var _pos = 0;\n    var _buffer = 0;\n    var _buflen = 0;\n\n    var _this = {};\n\n    _this.read = function() {\n\n\twhile (_buflen < 8) {\n\n\t    if (_pos >= _str.length) {\n\t\tif (_buflen == 0) {\n\t\t    return -1;\n\t\t}\n\t\tthrow new Error('unexpected end of file./' + _buflen);\n\t    }\n\n\t    var c = _str.charAt(_pos);\n\t    _pos += 1;\n\n\t    if (c == '=') {\n\t\t_buflen = 0;\n\t\treturn -1;\n\t    } else if (c.match(/^\\s$/) ) {\n\t\t// ignore if whitespace.\n\t\tcontinue;\n\t    }\n\n\t    _buffer = (_buffer << 6) | decode(c.charCodeAt(0) );\n\t    _buflen += 6;\n\t}\n\n\tvar n = (_buffer >>> (_buflen - 8) ) & 0xff;\n\t_buflen -= 8;\n\treturn n;\n    };\n\n    var decode = function(c) {\n\tif (0x41 <= c && c <= 0x5a) {\n\t    return c - 0x41;\n\t} else if (0x61 <= c && c <= 0x7a) {\n\t    return c - 0x61 + 26;\n\t} else if (0x30 <= c && c <= 0x39) {\n\t    return c - 0x30 + 52;\n\t} else if (c == 0x2b) {\n\t    return 62;\n\t} else if (c == 0x2f) {\n\t    return 63;\n\t} else {\n\t    throw new Error('c:' + c);\n\t}\n    };\n\n    return _this;\n};\n\n//---------------------------------------------------------------------\n// gifImage (B/W)\n//---------------------------------------------------------------------\n\nvar gifImage = function(width, height) {\n\n    var _width = width;\n    var _height = height;\n    var _data = new Array(width * height);\n\n    var _this = {};\n\n    _this.setPixel = function(x, y, pixel) {\n\t_data[y * _width + x] = pixel;\n    };\n\n    _this.write = function(out) {\n\n\t//---------------------------------\n\t// GIF Signature\n\n\tout.writeString('GIF87a');\n\n\t//---------------------------------\n\t// Screen Descriptor\n\n\tout.writeShort(_width);\n\tout.writeShort(_height);\n\n\tout.writeByte(0x80); // 2bit\n\tout.writeByte(0);\n\tout.writeByte(0);\n\n\t//---------------------------------\n\t// Global Color Map\n\n\t// black\n\tout.writeByte(0x00);\n\tout.writeByte(0x00);\n\tout.writeByte(0x00);\n\n\t// white\n\tout.writeByte(0xff);\n\tout.writeByte(0xff);\n\tout.writeByte(0xff);\n\n\t//---------------------------------\n\t// Image Descriptor\n\n\tout.writeString(',');\n\tout.writeShort(0);\n\tout.writeShort(0);\n\tout.writeShort(_width);\n\tout.writeShort(_height);\n\tout.writeByte(0);\n\n\t//---------------------------------\n\t// Local Color Map\n\n\t//---------------------------------\n\t// Raster Data\n\n\tvar lzwMinCodeSize = 2;\n\tvar raster = getLZWRaster(lzwMinCodeSize);\n\n\tout.writeByte(lzwMinCodeSize);\n\n\tvar offset = 0;\n\n\twhile (raster.length - offset > 255) {\n\t    out.writeByte(255);\n\t    out.writeBytes(raster, offset, 255);\n\t    offset += 255;\n\t}\n\n\tout.writeByte(raster.length - offset);\n\tout.writeBytes(raster, offset, raster.length - offset);\n\tout.writeByte(0x00);\n\n\t//---------------------------------\n\t// GIF Terminator\n\tout.writeString(';');\n    };\n\n    var bitOutputStream = function(out) {\n\n\tvar _out = out;\n\tvar _bitLength = 0;\n\tvar _bitBuffer = 0;\n\n\tvar _this = {};\n\n\t_this.write = function(data, length) {\n\n\t    if ( (data >>> length) != 0) {\n\t\tthrow new Error('length over');\n\t    }\n\n\t    while (_bitLength + length >= 8) {\n\t\t_out.writeByte(0xff & ( (data << _bitLength) | _bitBuffer) );\n\t\tlength -= (8 - _bitLength);\n\t\tdata >>>= (8 - _bitLength);\n\t\t_bitBuffer = 0;\n\t\t_bitLength = 0;\n\t    }\n\n\t    _bitBuffer = (data << _bitLength) | _bitBuffer;\n\t    _bitLength = _bitLength + length;\n\t};\n\n\t_this.flush = function() {\n\t    if (_bitLength > 0) {\n\t\t_out.writeByte(_bitBuffer);\n\t    }\n\t};\n\n\treturn _this;\n    };\n\n    var getLZWRaster = function(lzwMinCodeSize) {\n\n\tvar clearCode = 1 << lzwMinCodeSize;\n\tvar endCode = (1 << lzwMinCodeSize) + 1;\n\tvar bitLength = lzwMinCodeSize + 1;\n\n\t// Setup LZWTable\n\tvar table = lzwTable();\n\n\tfor (var i = 0; i < clearCode; i += 1) {\n\t    table.add(String.fromCharCode(i) );\n\t}\n\ttable.add(String.fromCharCode(clearCode) );\n\ttable.add(String.fromCharCode(endCode) );\n\n\tvar byteOut = byteArrayOutputStream();\n\tvar bitOut = bitOutputStream(byteOut);\n\n\t// clear code\n\tbitOut.write(clearCode, bitLength);\n\n\tvar dataIndex = 0;\n\n\tvar s = String.fromCharCode(_data[dataIndex]);\n\tdataIndex += 1;\n\n\twhile (dataIndex < _data.length) {\n\n\t    var c = String.fromCharCode(_data[dataIndex]);\n\t    dataIndex += 1;\n\n\t    if (table.contains(s + c) ) {\n\n\t\ts = s + c;\n\n\t    } else {\n\n\t\tbitOut.write(table.indexOf(s), bitLength);\n\n\t\tif (table.size() < 0xfff) {\n\n\t\t    if (table.size() == (1 << bitLength) ) {\n\t\t\tbitLength += 1;\n\t\t    }\n\n\t\t    table.add(s + c);\n\t\t}\n\n\t\ts = c;\n\t    }\n\t}\n\n\tbitOut.write(table.indexOf(s), bitLength);\n\n\t// end code\n\tbitOut.write(endCode, bitLength);\n\n\tbitOut.flush();\n\n\treturn byteOut.toByteArray();\n    };\n\n    var lzwTable = function() {\n\n\tvar _map = {};\n\tvar _size = 0;\n\n\tvar _this = {};\n\n\t_this.add = function(key) {\n\t    if (_this.contains(key) ) {\n\t\tthrow new Error('dup key:' + key);\n\t    }\n\t    _map[key] = _size;\n\t    _size += 1;\n\t};\n\n\t_this.size = function() {\n\t    return _size;\n\t};\n\n\t_this.indexOf = function(key) {\n\t    return _map[key];\n\t};\n\n\t_this.contains = function(key) {\n\t    return typeof _map[key] != 'undefined';\n\t};\n\n\treturn _this;\n    };\n\n    return _this;\n};\n\nvar createImgTag = function(width, height, getPixel, alt) {\n\n    var gif = gifImage(width, height);\n    for (var y = 0; y < height; y += 1) {\n\tfor (var x = 0; x < width; x += 1) {\n\t    gif.setPixel(x, y, getPixel(x, y) );\n\t}\n    }\n\n    var b = byteArrayOutputStream();\n    gif.write(b);\n\n    var base64 = base64EncodeOutputStream();\n    var bytes = b.toByteArray();\n    for (var i = 0; i < bytes.length; i += 1) {\n\tbase64.writeByte(bytes[i]);\n    }\n    base64.flush();\n\n    var img = '';\n    img += 'data:image/gif;base64,';\n    img += base64;\n\n    return img;\n};\n\n//---------------------------------------------------------------------\n// returns qrcode function.\n\nmodule.exports = qrcode;\n"
  },
  {
    "path": "plugins/tiddlywiki/qrcode/files/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": [\n\t\t{\n\t\t\t\"file\": \"qrcode/qrcode.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/qrcode/qrcode/qrcode.js\",\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t}\n\t\t},{\n\t\t\t\"file\": \"qrcode/LICENSE\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"text/plain\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/qrcode/qrcode/license\"\n\t\t\t}\n\t\t},{\n\t\t\t\"file\": \"html5-qrcode/html5-qrcode.min.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/qrcode/html5-qrcode/html5-qrcode.js\",\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t},\n\t\t\t\"prefix\": \"window.__Html5QrcodeLibrary__ = {};\",\n\t\t\t\"suffix\": \"\\n;exports.__Html5QrcodeLibrary__ = __Html5QrcodeLibrary__;window.__Html5QrcodeLibrary__ = __Html5QrcodeLibrary__;\"\n\t\t},{\n\t\t\t\"file\": \"html5-qrcode/LICENSE\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"text/plain\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/qrcode/html5-qrcode/license\"\n\t\t\t}\n\t\t}\n\t]\n}\n\n"
  },
  {
    "path": "plugins/tiddlywiki/qrcode/icon.tid",
    "content": "title: $:/plugins/tiddlywiki/qrcode/icon\ntags: $:/tags/Image\n\n<svg class=\"tc-image-qrcode tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M0,15.9969199 C0,7.16206498 7.16987059,0 15.9969199,0 L64.0030801,0 C72.837935,0 80,7.16987059 80,15.9969199 L80,64.0030801 C80,72.837935 72.8301294,80 64.0030801,80 L15.9969199,80 C7.16206498,80 0,72.8301294 0,64.0030801 L0,15.9969199 Z M16,22.0063866 C16,18.6891509 18.6835413,16 22.0063866,16 L57.9936134,16 C61.3108491,16 64,18.6835413 64,22.0063866 L64,57.9936134 C64,61.3108491 61.3164587,64 57.9936134,64 L22.0063866,64 C18.6891509,64 16,61.3164587 16,57.9936134 L16,22.0063866 Z M28,31.990053 C28,29.7864076 29.7842933,28 31.990053,28 L48.009947,28 C50.2135924,28 52,29.7842933 52,31.990053 L52,48.009947 C52,50.2135924 50.2157067,52 48.009947,52 L31.990053,52 C29.7864076,52 28,50.2157067 28,48.009947 L28,31.990053 Z\"></path>\n        <path d=\"M112,16 L112,8.49833453 L112,6.00333095 C112,2.68778282 114.67804,0 118.003331,0 L121.996669,0 C125.312217,0 128,2.67804027 128,6.00333095 L128,8.49833453 L128,23.0016655 L128,25.9966691 C128,29.3122172 125.32196,32 121.996669,32 L119.001665,32 L104.998335,32 L102.003331,32 C98.6877828,32 96,29.3219597 96,25.9966691 L96,22.0033309 C96,18.6877828 98.6780403,16 102.003331,16 L104.998335,16 L112,16 Z\"></path>\n        <path d=\"M96,56.9983345 L96,54.0033309 C96,50.6877828 98.6780403,48 102.003331,48 L104.998335,48 L119.001665,48 L121.996669,48 C125.312217,48 128,50.6780403 128,54.0033309 L128,57.9966691 C128,61.3122172 125.32196,64 121.996669,64 L119.001665,64 L112,64 L112,71.0016655 L112,73.9966691 C112,77.3122172 109.32196,80 105.996669,80 L102.003331,80 C98.6877828,80 96,77.3219597 96,73.9966691 L96,71.0016655 L96,56.9983345 Z\"></path>\n        <path d=\"M16,112 L23.0016655,112 L24.9983345,112 L32,112 L32,104.998335 L32,102.003331 C32,98.6877828 34.6780403,96 38.0033309,96 L40.9983345,96 L55.0016655,96 L57.9966691,96 C61.3122172,96 64,98.6780403 64,102.003331 L64,105.996669 C64,109.312217 61.3219597,112 57.9966691,112 L55.0016655,112 L48,112 L48,119.001665 L48,121.996669 C48,125.312217 45.3219597,128 41.9966691,128 L39.0016655,128 L24.9983345,128 L23.0016655,128 L8.99833453,128 L6.00333095,128 C2.68778282,128 0,125.32196 0,121.996669 L0,119.001665 L0,104.998335 L0,102.003331 C0,98.6877828 2.67804027,96 6.00333095,96 L9.99666905,96 C13.3122172,96 16,98.6780403 16,102.003331 L16,104.998335 L16,112 Z\"></path>\n        <path d=\"M103.001665,96 L105.996669,96 C109.312217,96 112,98.6780403 112,102.003331 L112,105.996669 C112,109.312217 109.32196,112 105.996669,112 L103.001665,112 L88.9983345,112 L86.0033309,112 C82.6877828,112 80,109.32196 80,105.996669 L80,102.003331 C80,98.6877828 82.6780403,96 86.0033309,96 L88.9983345,96 L103.001665,96 Z\"></path>\n        <path d=\"M72.9983345,112 L70.0033309,112 C66.6780403,112 64,114.687783 64,118.003331 L64,121.996669 C64,125.32196 66.6877828,128 70.0033309,128 L72.9983345,128 L87.0016655,128 L89.9966691,128 C93.3219597,128 96,125.312217 96,121.996669 L96,118.003331 C96,114.67804 93.3122172,112 89.9966691,112 L87.0016655,112 L72.9983345,112 Z\"></path>\n        <rect x=\"112\" y=\"80\" width=\"16\" height=\"16\" rx=\"6\"></rect>\n        <rect x=\"112\" y=\"112\" width=\"16\" height=\"16\" rx=\"6\"></rect>\n    </g>\n</svg>"
  },
  {
    "path": "plugins/tiddlywiki/qrcode/makeqr.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/qrcode/makeqr.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to convert a string into a QR Code\n\n\\*/\n\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nvar qrcode = require(\"$:/plugins/tiddlywiki/qrcode/qrcode/qrcode.js\");\n\nvar QRCODE_GENERATION_ERROR_PREFIX = '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 300 300\"><text x=\"0\" y=\"30\" fill=\"red\" font-family=\"Helvetica, sans-serif\" font-size=\"18\">',\n\tQRCODE_GENERATION_ERROR_SUFFIX = \"</text></svg>\";\n\nexports.name = \"makeqr\";\n\nexports.params = [\n\t{name: \"text\"},\n\t{name: \"size\"},\n\t{name: \"errorCorrectLevel\"},\n\t{name: \"fallback\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(text,size,errorCorrectLevel,fallback) {\n\tvar result;\n\ttry {\n\t\tresult = generateQrCode(text,{size: size, errorCorrectLevel: errorCorrectLevel});\n\t} catch(ex) {\n\t\tconsole.log(\"makeqr error: \" + ex);\n\t\tresult = fallback || (\"data:image/svg+xml,\" + encodeURI(QRCODE_GENERATION_ERROR_PREFIX + ex + QRCODE_GENERATION_ERROR_SUFFIX));\n\t}\n\treturn result || \"\";\n};\n\nfunction generateQrCode(text,options) {\n\toptions = options || {};\n\tvar typeNumber = options.typeNumber || 4,\n\t\terrorCorrectLevel = options.errorCorrectLevel || \"M\",\n\t\tsize = options.size || 500,\n\t\tqr;\n\ttry {\n\t\tqr = qrcode(typeNumber,errorCorrectLevel);\n\t\tqr.addData(text);\n\t\tqr.make();\n\t} catch(e) {\n\t\tif(typeNumber >= 40) {\n\t\t\tthrow new Error(\"Text too long to encode\");\n\t\t} else {\n\t\t\treturn generateQrCode(text, {\n\t\t\t\tsize: size,\n\t\t\t\terrorCorrectLevel: errorCorrectLevel,\n\t\t\t\ttypeNumber: typeNumber + 1\n\t\t\t});\n\t\t}\n\t}\n\tvar cellsize = parseInt(size / qr.getModuleCount()),\n\t\tmargin = parseInt((size - qr.getModuleCount() * cellsize) / 2);\n\treturn qr.createImgTag(cellsize, margin, size);\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/qrcode/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/qrcode\",\n\t\"name\": \"QR Code\",\n\t\"description\": \"QR Code generator\",\n\t\"author\": \"Zeno Zeng\",\n\t\"list\": \"readme docs examples license\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/qrcode/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/qrcode/readme\n\nThe QR Code Plugin contains several features for working with QR codes and other types of barcode.\n\n* The ''makeqr'' macro enables any text to be rendered as a [[QR code|https://en.wikipedia.org/wiki/QR_code]]. QR codes are a type of 2-dimensional bar code that encodes arbitrary data: text, numbers, links. QR code readers are available or built-in for smartphones, making them a convenient means to transfer information between devices\n* The `<$barcodereader>` widget that enables barcodes to be decoded from the device camera or direct from an image file\n* A new toolbar button that can display several QR code renderings of the content of a tiddler:\n** Raw content\n** Rendered, formatted content\n** URL of tiddler\n\nThis plugin uses the following open source libraries:\n\n* [[qrcode.js by Zeno Zeng|https://github.com/zenozeng/node-yaqrcode]]\n* [[Html5-QRCode by Minhaz|https://github.com/mebjas/html5-qrcode]]\n"
  },
  {
    "path": "plugins/tiddlywiki/railroad/components.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/railroad/components.js\ntype: application/javascript\nmodule-type: library\n\nComponents of a railroad diagram.\n\n\\*/\n\n\"use strict\";\n\nvar railroad = require(\"$:/plugins/tiddlywiki/railroad/railroad-diagrams.js\");\n\n/////////////////////////// Base component\n\nvar Component = function() {\n\tthis.type = \"Component\";\n};\n\n// Set up a leaf component\nComponent.prototype.initialiseLeaf = function(type,text) {\n\tthis.type = type;\n\tthis.text = text;\n};\n\n// Set up a component with a single child\nComponent.prototype.initialiseWithChild = function(type,content) {\n\tthis.type = type;\n\tthis.child = toSingleChild(content);\n};\n\n// Set up a component with an array of children\nComponent.prototype.initialiseWithChildren = function(type,content) {\n\tthis.type = type;\n\t// Force the content to be an array\n\tthis.children = $tw.utils.isArray(content) ? content : [content];\n};\n\n// Return an array of the SVG strings of an array of children\nComponent.prototype.getSvgOfChildren = function() {\n\treturn this.children.map(function(child) {\n\t\treturn child.toSvg();\n\t});\n};\n\nComponent.prototype.toSvg = function() {\n\treturn \"\";\n};\n\nComponent.prototype.debug = function(output,indent) {\n\toutput.push(indent);\n\toutput.push(this.type);\n\t// Add the text of a leaf component\n\tif(this.text && this.text !== \"\") {\n\t\toutput.push(\": \");\n\t\toutput.push(this.text);\n\t}\n\t// Flag the normal route\n\tif(this.normal !== undefined) {\n\t\tif(this.normal === true) {\n\t\t\toutput.push(\" (normal)\");\n\t\t} else if(this.normal !== false) {\n\t\t\toutput.push(\" (normal: \");\n\t\t\toutput.push(this.normal);\n\t\t\toutput.push(\")\");\n\t\t}\n\t}\n\toutput.push(\"\\n\");\n\tvar contentIndent = indent + \"  \";\n\t// Add the one child\n\tif(this.child) {\n\t\tthis.child.debug(output,contentIndent);\n\t}\n\t// Add the array of children\n\tif(this.children) {\n\t\tthis.debugArray(this.children,output,contentIndent);\n\t}\n\t// Add the separator if there is one\n\tif(this.separator) {\n\t\toutput.push(indent);\n\t\toutput.push(\"(separator)\\n\");\n\t\tthis.separator.debug(output,contentIndent);\n\t}\n};\n\nComponent.prototype.debugArray = function(array,output,indent) {\n\tfor(var i=0; i<array.length; i++) {\n\t\tvar item = array[i];\n\t\t// Choice content is a special case: we number the branches\n\t\tif(item.isChoiceBranch) {\n\t\t\toutput.push(indent);\n\t\t\toutput.push(\"(\");\n\t\t\toutput.push(i);\n\t\t\toutput.push(\")\\n\");\n\t\t\titem.debug(output,\"  \"+indent);\n\t\t} else {\n\t\t\titem.debug(output,indent);\n\t\t}\n\t}\n};\n\nvar toSingleChild = function(content) {\n\tif($tw.utils.isArray(content)) {\n\t\t// Reduce an array of one child to just the child\n\t\tif(content.length === 1) {\n\t\t\treturn content[0];\n\t\t} else {\n\t\t\t// Never allow an empty sequence\n\t\t\tif(content.length === 0) {\n\t\t\t\tcontent.push(new Dummy());\n\t\t\t}\n\t\t\t// Wrap multiple children into a single sequence component\n\t\t\treturn new Sequence(content);\n\t\t}\n\t} else {\n\t\t// Already single\n\t\treturn content;\n\t}\n};\n\n/////////////////////////// Leaf components\n\nvar Comment = function(text) {\n\tthis.initialiseLeaf(\"Comment\",text);\n};\n\nComment.prototype = new Component();\n\nComment.prototype.toSvg = function() {\n\treturn railroad.Comment(this.text);\n};\n\nvar Dummy = function() {\n\tthis.initialiseLeaf(\"Dummy\");\n};\n\nDummy.prototype = new Component();\n\nDummy.prototype.toSvg = function() {\n\treturn railroad.Skip();\n};\n\nvar Nonterminal = function(text) {\n\tthis.initialiseLeaf(\"Nonterminal\",text);\n};\n\nNonterminal.prototype = new Component();\n\nNonterminal.prototype.toSvg = function() {\n\treturn railroad.NonTerminal(this.text);\n};\n\nvar Terminal = function(text) {\n\tthis.initialiseLeaf(\"Terminal\",text);\n};\n\nTerminal.prototype = new Component();\n\nTerminal.prototype.toSvg = function() {\n\treturn railroad.Terminal(this.text);\n};\n\n/////////////////////////// Components with one child\n\nvar Optional = function(content,normal) {\n\tthis.initialiseWithChild(\"Optional\",content);\n\tthis.normal = normal;\n};\n\nOptional.prototype = new Component();\n\nOptional.prototype.toSvg = function() {\n\t// Call Optional(component,\"skip\")\n\treturn railroad.Optional(this.child.toSvg(), this.normal ? undefined : \"skip\");\n};\n\nvar OptionalRepeated = function(content,separator,normal,wantArrow) {\n\tthis.initialiseWithChild(\"OptionalRepeated\",content);\n\tthis.separator = toSingleChild(separator);\n\tthis.normal = normal;\n\tthis.wantArrow = wantArrow;\n};\n\nOptionalRepeated.prototype = new Component();\n\nOptionalRepeated.prototype.toSvg = function() {\n\t// Call ZeroOrMore(component,separator,\"skip\")\n\tvar separatorSvg = this.separator ? this.separator.toSvg() : null;\n\tvar skip = this.normal ? undefined : \"skip\";\n\treturn railroad.ZeroOrMore(this.child.toSvg(),separatorSvg,skip,this.wantArrow);\n};\n\nvar Repeated = function(content,separator,wantArrow) {\n\tthis.initialiseWithChild(\"Repeated\",content);\n\tthis.separator = toSingleChild(separator);\n\tthis.wantArrow = wantArrow;\n};\n\nRepeated.prototype = new Component();\n\nRepeated.prototype.toSvg = function() {\n\t// Call OneOrMore(component,separator)\n\tvar separatorSvg = this.separator ? this.separator.toSvg() : null;\n\treturn railroad.OneOrMore(this.child.toSvg(),separatorSvg,this.wantArrow);\n};\n\nvar Link = function(content,options) {\n\tthis.initialiseWithChild(\"Link\",content);\n\tthis.options = options;\n};\n\nLink.prototype = new Component();\n\nLink.prototype.toSvg = function() {\n\treturn railroad.Link(this.child.toSvg(),this.options);\n};\n\nvar Transclusion = function(content) {\n\tthis.initialiseWithChild(\"Transclusion\",content);\n};\n\nTransclusion.prototype = new Component();\n\nTransclusion.prototype.toSvg = function() {\n\treturn this.child.toSvg();\n};\n\n/////////////////////////// Components with an array of children\n\nvar Root = function(content) {\n\tthis.initialiseWithChildren(\"Root\",content);\n};\n\nRoot.prototype = new Component();\n\nRoot.prototype.toSvg = function(options) {\n\tvar args = this.getSvgOfChildren();\n\targs.unshift(options);\n\t// Call Diagram(options,component1,component2,...)\n\treturn railroad.Diagram.apply(null,args);\n};\n\nvar Sequence = function(content) {\n\tthis.initialiseWithChildren(\"Sequence\",content);\n};\n\nSequence.prototype = new Component();\n\nSequence.prototype.toSvg = function() {\n\t// Call Sequence(component1,component2,...)\n\treturn railroad.Sequence.apply(null,this.getSvgOfChildren());\n};\n\nvar Choice = function(content,normal) {\n\tthis.initialiseWithChildren(\"Choice\",content.map(toSingleChild));\n\tfor(var i=0; i<this.children.length; i++) {\n\t\tthis.children[i].isChoiceBranch = true;\n\t}\n\tthis.normal = normal;\n};\n\nChoice.prototype = new Component();\n\nChoice.prototype.toSvg = function() {\n\t// Call Choice(normal,component1,component2,...)\n\tvar args = this.getSvgOfChildren();\n\targs.unshift(this.normal);\n\treturn railroad.Choice.apply(null,args);\n};\n\n/////////////////////////// Exports\n\nexports.components = {\n\tChoice: Choice,\n\tComment: Comment,\n\tDummy: Dummy,\n\tLink: Link,\n\tNonterminal: Nonterminal,\n\tOptional: Optional,\n\tOptionalRepeated: OptionalRepeated,\n\tRepeated: Repeated,\n\tRoot: Root,\n\tSequence: Sequence,\n\tTerminal: Terminal,\n\tTransclusion: Transclusion\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/railroad/doc/example-source.tid",
    "content": "created: 20150103184022184\nmodified: 20150119214125000\ntags:\ntitle: $:/plugins/tiddlywiki/railroad/example-source\ntype: text/vnd.tiddlywiki.railroad\n\n[\"+\"]\n({ [[digit|GettingStarted]] } | \"#\" <'escape sequence'>)\n[{(\"@\" name-char | :\"--\" )}]\n"
  },
  {
    "path": "plugins/tiddlywiki/railroad/doc/example-transclusion.tid",
    "content": "title: $:/plugins/tiddlywiki/railroad/example-transclusion\n\n\"railroad transclusion example\" text"
  },
  {
    "path": "plugins/tiddlywiki/railroad/doc/example.tid",
    "content": "created: 20150102165032410\nmodified: 20150120090735000\ntags:\ntitle: $:/plugins/tiddlywiki/railroad/example\n\nNotation:\n\n<pre><code><$text text={{$:/plugins/tiddlywiki/railroad/example-source}}/></code></pre>\n\nDiagram:\n\n{{$:/plugins/tiddlywiki/railroad/example-source}}\n\nDebug mode:\n\n<$railroad debug=\"yes\" text={{$:/plugins/tiddlywiki/railroad/example-source}}/>\n"
  },
  {
    "path": "plugins/tiddlywiki/railroad/doc/readme.tid",
    "content": "created: 20150102163222184\nmodified: 20150119231005000\ntitle: $:/plugins/tiddlywiki/railroad/readme\n\nThis plugin provides a `<$railroad>` widget for generating railroad diagrams as SVG images.\n\nAlternatively, the [[diagram notation|$:/plugins/tiddlywiki/railroad/syntax]] can be stored in a dedicated tiddler with its `type` field set to `text/vnd.tiddlywiki.railroad`, and that tiddler can simply be transcluded to wherever it is needed.\n\nThe plugin is based on [[a library by Tab Atkins|https://github.com/tabatkins/railroad-diagrams]], and has been extended to make it more flexible, including allowing components of a diagram to function as links or be transcluded from other tiddlers.\n"
  },
  {
    "path": "plugins/tiddlywiki/railroad/doc/syntax-string.tid",
    "content": "created: 20150103184022184\nmodified: 20150103184022184\ntitle: $:/plugins/tiddlywiki/railroad/syntax-string\n\n('\"' text '\"' | \"'\" text \"'\" | '\"\"\"' text '\"\"\"')"
  },
  {
    "path": "plugins/tiddlywiki/railroad/doc/syntax.tid",
    "content": "created: 20150103184022184\nmodified: 20150119220342000\ntitle: $:/plugins/tiddlywiki/railroad/syntax\n\n\nThe railroad widget uses a special notation to construct the components defined below.\n\n`x` and `y` here stand for any component.\n\nNames (as opposed to quoted strings) are available when a value starts with a letter and contains only letters, digits, underscores, dots and hyphens.\n\n---\n\n; sequence\n: <$railroad text=\"\"\" [\"<-\"] {x} [\"->\"] \"\"\"/>\n\n* A sequence of components\n* The `<-` and `->` delimiters allow you to force a single component to be treated as a sequence. This is occasionally useful for spacing a diagram out\n\nexamples\n\n<<<\n\n```\nx y z\t\t\tsequence\n```\n<$railroad text=\"\"\" x y z \"\"\"/>\n\n```\n<-x y z->\t\texplicit sequence\n```\n\n<$railroad text=\"\"\" <- x y z -> \"\"\"/>\n\n<<<\n\n\n---\n\n; optional\n: <$railroad text=\"\"\" \"[\" [\":\"] x \"]\" \"\"\"/>\n* A component that can be omitted\n* The colon makes `x` appear straight ahead\n\nexamples\n\n<<<\n\n```\n[:x]\t\t\toptional, normally included\n```\n<$railroad text=\"\"\" [:x] \"\"\"/>\n\n```\n[x]\t\t\t\toptional, normally omitted\n```\n\n<$railroad text=\"\"\" [x] \"\"\"/>\n\n<<<\n\n\n---\n\n; repeated\n: <$railroad text=\"\"\" \"{\" x [:\"+\" y] \"}\" \"\"\"/>\n* A list of one or more `x`\n* The `+` suffix adds `y` as a separator between each `x` and the next\n\nexamples\n\n<<<\n\n```\n{x}\t\t\t\tone or more\n```\n<$railroad text=\"\"\" {x} \"\"\"/>\n\n```\n{x +\",\"}\t\tone or more, comma-separated\n```\n\n<$railroad text=\"\"\" {x +\",\"} \"\"\"/>\n\n<<<\n\n\n---\n\n; optional repeated\n: <$railroad text=\"\"\" \"[{\" [\":\"] x [:\"+\" y] \"}]\" \"\"\"/>\n* An optional list of `x`, i.e. a list of zero or more `x`\n\nexamples\n\n<<<\n\n```\n[{:x}]\t\t\tzero or more, normally included\n```\n\n<$railroad text=\"\"\" [{:x}] \"\"\"/>\n\n```\n[{:x +\",\"}]\t\tzero or more, comma-separated, normally included\n```\n\n<$railroad text=\"\"\" [{:x +\",\"}] \"\"\"/>\n\n```\n[{x}]\t\t\tzero or more, normally omitted\n```\n\n<$railroad text=\"\"\" [{x}] \"\"\"/>\n\n```\n[{x +\",\"}]\t\tzero or more, comma-separated, normally omitted\n```\n\n<$railroad text=\"\"\" [{x +\",\"}] \"\"\"/>\n\n<<<\n\n\n\n---\n\n; choice\n: <$railroad text=\"\"\" \"(\" {[:\":\"] x +\"|\"} \")\" \"\"\"/>\n* A set of alternatives\n* The colon indicates which branch appears straight ahead. By default, it's the first branch\n\nexamples\n\n<<<\n\n```\n(x|y|z)\t\t\talternatives\n```\n\n<$railroad text=\"\"\" (x|y|z) \"\"\"/>\n\n```\n(x|:y|z)\t\talternatives, normally y\n```\n\n<$railroad text=\"\"\" (x|:y|z) \"\"\"/>\n\n<<<\n\n\n---\n\n; string / terminal\n: <$railroad text={{$:/plugins/tiddlywiki/railroad/syntax-string}}/>\n* A literal or terminal component\n* This follows the normal ~TiddlyWiki rules for quoted strings\n\nexamples\n\n<<<\n\n```\n\"x\"\t\t\t\tterminal\n```\n\n<$railroad text=\"\"\" \"x\" \"\"\"/>\n\n<<<\n\n\n---\n\n; nonterminal\n: <$railroad text=\"\"\" (name | \"<\" string \">\") \"\"\"/>\n* A nonterminal component, i.e. the name of another diagram\n\nexamples\n\n<<<\n\n```\n<\"x\">\t\t\tnonterminal\n```\n\n<$railroad text=\"\"\" <\"x\"> \"\"\"/>\n\n<<<\n\n\n---\n\n; comment\n: <$railroad text=\"\"\" \"/\" string \"/\" \"\"\"/>\n* A comment\n\nexamples\n\n<<<\n\n```\n/ \"comment\" /\t\tcomment\n```\n\n<$railroad text=\"\"\" / \"comment\" / \"\"\"/>\n\n<<<\n\n\n---\n\n; dummy\n: <$railroad text=\"\"\" \"-\" \"\"\"/>\n* The absence of a component\n\nexamples\n\n<<<\n\n```\n-\t\tdummy\n```\n\n<$railroad text=\"\"\" - \"\"\"/>\n\n<<<\n\n\n---\n\n; link\n: <$railroad text=\"\"\" \"[[\" x \"|\" (name|string) \"]]\" \"\"\"/>\n* A link to the tiddler title or URI given by the string or name\n\nexamples\n\n<<<\n\n```\n[[x|\"tiddler\"]]\t\tlink\n```\n\n<$railroad text=\"\"\" [[x|\"tiddler\"]] \"\"\"/>\n\n<<<\n\n\n---\n\n; transclusion\n: <$railroad text=\"\"\" \"{{\" (name|string) \"}}\" \"\"\"/>\n* Treats the content of another tiddler as diagram syntax and transcludes it into the current diagram\n\nexamples\n\n<<<\n\n```\n{{\"$:/plugins/tiddlywiki/railroad/example-transclusion\"}}\t\ttransclusion\n\n// \"railroad transclusion example\" text\t\t<- text in the tidlder\n\n```\n\n<$railroad text=\"\"\" {{ \"$:/plugins/tiddlywiki/railroad/example-transclusion\" }} \"\"\"/>\n\n<<<\n\n\n---\n\n; arrow pragma\n: <$railroad text=\"\"\" \"\\arrow\" (\"yes\" | \"no\") \"\"\"/>\n* Controls whether repeat paths have an arrow on them\n* Can be toggled on and off in mid-diagram, if desired\n\nexamples\n\n<<<\n```\n<$railroad text=\"\"\"\n\\arrow yes\n[{:x}]\n\"\"\"/>\n\n```\n\n<$railroad text=\"\"\"\\arrow yes [{:x}] \"\"\"/>\n\n```\n<$railroad text=\"\"\"\n\\arrow no\n[{:x}]\n\"\"\"/>\n```\n\n<$railroad text=\"\"\"\\arrow no [{:x}] \"\"\"/>\n\n<<<\n\n\n---\n\n; debug pragma\n: <$railroad text=\"\"\" \"\\debug\" \"\"\"/>\n* Causes the diagram to display its parse tree\n\nexamples\n\n<<<\n\n```\n\\debug\nx\n```\n\n<$railroad text=\"\"\"\\debug x \"\"\"/>\n\n<<<\n\n\n---\n\n; start/end pragma\n: <$railroad text=\"\"\" (\"\\start\" |: \"\\end\") (\"none\" |: \"single\" | \"double\") \"\"\"/>\n* Controls the style of the diagram's startpoint or endpoint\nexamples\n\n<<<\n\n```\n\\start none x\n```\n\n<$railroad text=\"\"\" \\start none x \"\"\"/>\n\n```\n\\start double \n\\end double\n x\n```\n\n<$railroad text=\"\"\" \\start double \n\\end double\nx\n\"\"\"/>\n\n<<<\n\n"
  },
  {
    "path": "plugins/tiddlywiki/railroad/doc/usage.tid",
    "content": "created: 20150102163222184\nmodified: 20150119231005000\ntitle: $:/plugins/tiddlywiki/railroad/usage\n\nThe content of the `<$railroad>` widget is ignored.\n\n|!Attribute |!Description |!Default |\n|text |Text in a special notation that defines the diagram's layout |-- |\n|arrow |If set to `no`, repeat paths do not have an arrow on them |`yes` |\n|start |Style of the startpoint: `single`, `double`, `none` |`single` |\n|end |Style of the endpoint: `single`, `double`, `none` |`single` |\n|debug |If set to `yes`, the diagram displays its parse tree |`no` |\n\nThese options can also be specified via pragmas in the diagram notation, or globally via a dictionary tiddler called `$:/config/railroad`:\n\n```\narrow: yes\nstart: single\nend: single\ndebug: no\n```\n"
  },
  {
    "path": "plugins/tiddlywiki/railroad/files/railroad-diagrams.css",
    "content": "\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock\n\n/* CSS modified for TiddlyWiki */\n\nsvg.railroad-diagram {\n\tbackground-color: <<colour background>>;\n\tborder-radius: 5px;\n}\n/*\nsvg.railroad-diagram:hover {\n\tbackground-color: hsl(30,20%,96%);\n}\n*/\nsvg.railroad-diagram path,\nsvg.railroad-diagram rect {\n\tstroke-width: 2;\n\tstroke: <<colour message-border>>;\n}\nsvg.railroad-diagram path {\n\tfill: <<colour background>>;\n}\nsvg.railroad-diagram rect {\n\tfill: <<colour message-background>>;\n}\nsvg.railroad-diagram text {\n\tfont: 14px monospace;\n\ttext-anchor: middle;\n\tfill: <<colour message-foreground>>;\n}\nsvg.railroad-diagram text.label {\n\ttext-anchor: start;\n}\nsvg.railroad-diagram text.comment {\n\tfont: italic 12px monospace;\n}\nsvg.railroad-diagram path.arrow {\n    stroke-width: 2;\n}"
  },
  {
    "path": "plugins/tiddlywiki/railroad/files/railroad-diagrams.js",
    "content": "/* TiddlyWiki: modifications to the original library are commented like this */\n\n/*\nRailroad Diagrams\nby Tab Atkins Jr. (and others)\nhttp://xanthir.com\nhttp://twitter.com/tabatkins\nhttp://github.com/tabatkins/railroad-diagrams\n\nThis document and all associated files in the github project are licensed under CC0: http://creativecommons.org/publicdomain/zero/1.0/\nThis means you can reuse, remix, or otherwise appropriate this project for your own use WITHOUT RESTRICTION.\n(The actual legal meaning can be found at the above link.)\nDon't ask me for permission to use any part of this project, JUST USE IT.\nI would appreciate attribution, but that is not required by the license.\n*/\n\n/*\nThis file uses a module pattern to avoid leaking names into the global scope.\nThe only accidental leakage is the name \"temp\".\nThe exported names can be found at the bottom of this file;\nsimply change the names in the array of strings to change what they are called in your application.\n\nAs well, several configuration constants are passed into the module function at the bottom of this file.\nAt runtime, these constants can be found on the Diagram class.\n*/\n\nvar temp = (function(options) {\n\tfunction subclassOf(baseClass, superClass) {\n\t\tbaseClass.prototype = Object.create(superClass.prototype);\n\t\tbaseClass.prototype.$super = superClass.prototype;\n\t}\n\n\tfunction unnull(/* children */) {\n\t\treturn [].slice.call(arguments).reduce(function(sofar, x) { return sofar !== undefined ? sofar : x; });\n\t}\n\n\tfunction determineGaps(outer, inner) {\n\t\tvar diff = outer - inner;\n\t\tswitch(Diagram.INTERNAL_ALIGNMENT) {\n\t\t\tcase 'left': return [0, diff]; break;\n\t\t\tcase 'right': return [diff, 0]; break;\n\t\t\tcase 'center':\n\t\t\tdefault: return [diff/2, diff/2]; break;\n\t\t}\n\t}\n\n\tfunction wrapString(value) {\n\t\treturn ((typeof value) == 'string') ? new Terminal(value) : value;\n\t}\n\n\n\tfunction SVG(name, attrs, text) {\n\t\tattrs = attrs || {};\n\t\ttext = text || '';\n\t\tvar el = document.createElementNS(\"http://www.w3.org/2000/svg\",name);\n\t\tfor(var attr in attrs) {\n\t\t\tel.setAttribute(attr, attrs[attr]);\n\t\t}\n\t\tel.textContent = text;\n\t\treturn el;\n\t}\n\n\tfunction FakeSVG(tagName, attrs, text){\n\t\tif(!(this instanceof FakeSVG)) return new FakeSVG(tagName, attrs, text);\n\t\tif(text) this.children = text;\n\t\telse this.children = [];\n\t\tthis.tagName = tagName;\n\t\tthis.attrs = unnull(attrs, {});\n\t\treturn this;\n\t};\n\tFakeSVG.prototype.format = function(x, y, width) {\n\t\t// Virtual\n\t};\n\tFakeSVG.prototype.addTo = function(parent) {\n\t\tif(parent instanceof FakeSVG) {\n\t\t\tparent.children.push(this);\n\t\t\treturn this;\n\t\t} else {\n\t\t\tvar svg = this.toSVG();\n\t\t\tparent.appendChild(svg);\n\t\t\treturn svg;\n\t\t}\n\t};\n\tFakeSVG.prototype.toSVG = function() {\n\t\tvar el = SVG(this.tagName, this.attrs);\n\t\tif(typeof this.children == 'string') {\n\t\t\tel.textContent = this.children;\n\t\t} else {\n\t\t\tthis.children.forEach(function(e) {\n\t\t\t\tel.appendChild(e.toSVG());\n\t\t\t});\n\t\t}\n\t\treturn el;\n\t};\n\tFakeSVG.prototype.toString = function() {\n\t\tvar str = '<' + this.tagName;\n\t\tvar group = this.tagName == \"g\" || this.tagName == \"svg\";\n\t\tfor(var attr in this.attrs) {\n\t\t\tstr += ' ' + attr + '=\"' + (this.attrs[attr]+'').replace(/&/g, '&amp;').replace(/\"/g, '&quot;') + '\"';\n\t\t}\n\t\tstr += '>';\n\t\tif(group) str += \"\\n\";\n\t\tif(typeof this.children == 'string') {\n\t\t\tstr += this.children.replace(/&/g, '&amp;').replace(/</g, '&lt;');\n\t\t} else {\n\t\t\tthis.children.forEach(function(e) {\n\t\t\t\tstr += e;\n\t\t\t});\n\t\t}\n\t\tstr += '</' + this.tagName + '>\\n';\n\t\treturn str;\n\t}\n\n\tfunction Path(x,y,attrs) {\n\t\tif(!(this instanceof Path)) return new Path(x,y,attrs);\n\t\tFakeSVG.call(this, 'path', attrs);\n\t\tthis.attrs.d = \"M\"+x+' '+y;\n\t}\n\tsubclassOf(Path, FakeSVG);\n\tPath.prototype.m = function(x,y) {\n\t\tthis.attrs.d += 'm'+x+' '+y;\n\t\treturn this;\n\t}\n\tPath.prototype.h = function(val) {\n\t\tthis.attrs.d += 'h'+val;\n\t\treturn this;\n\t}\n\tPath.prototype.right = Path.prototype.h;\n\tPath.prototype.left = function(val) { return this.h(-val); }\n\tPath.prototype.v = function(val) {\n\t\tthis.attrs.d += 'v'+val;\n\t\treturn this;\n\t}\n\tPath.prototype.down = Path.prototype.v;\n\tPath.prototype.up = function(val) { return this.v(-val); }\n\tPath.prototype.arc = function(sweep){\n\t\tvar x = Diagram.ARC_RADIUS;\n\t\tvar y = Diagram.ARC_RADIUS;\n\t\tif(sweep[0] == 'e' || sweep[1] == 'w') {\n\t\t\tx *= -1;\n\t\t}\n\t\tif(sweep[0] == 's' || sweep[1] == 'n') {\n\t\t\ty *= -1;\n\t\t}\n\t\tif(sweep == 'ne' || sweep == 'es' || sweep == 'sw' || sweep == 'wn') {\n\t\t\tvar cw = 1;\n\t\t} else {\n\t\t\tvar cw = 0;\n\t\t}\n\t\tthis.attrs.d += \"a\"+Diagram.ARC_RADIUS+\" \"+Diagram.ARC_RADIUS+\" 0 0 \"+cw+' '+x+' '+y;\n\t\treturn this;\n\t}\n\tPath.prototype.format = function() {\n\t\t// All paths in this library start/end horizontally.\n\t\t// The extra .5 ensures a minor overlap, so there's no seams in bad rasterizers.\n\t\tthis.attrs.d += 'h.5';\n\t\treturn this;\n\t}\n/* TiddlyWiki: added support for arbitrary straight lines */\n\tPath.prototype.line = function(dx,dy) {\n\t\tthis.attrs.d += \"l\"+dx+\" \"+dy;\n\t\treturn this;\n\t}\n\n/* TiddlyWiki: added twOptions parameter, passing it to Start() and End() */\n\tfunction Diagram(twOptions, items) {\n\t\tif(!(this instanceof Diagram)) return new Diagram(twOptions, [].slice.call(arguments,1));\n\t\tFakeSVG.call(this, 'svg', {class: Diagram.DIAGRAM_CLASS});\n\t\tthis.items = items.map(wrapString);\n\t\tthis.items.unshift(new Start(twOptions.start));\n\t\tthis.items.push(new End(twOptions.end));\n\t\tthis.width = this.items.reduce(function(sofar, el) { return sofar + el.width + (el.needsSpace?20:0)}, 0)+1;\n\t\tthis.up = Math.max.apply(null, this.items.map(function (x) { return x.up; }));\n\t\tthis.down = Math.max.apply(null, this.items.map(function (x) { return x.down; }));\n\t\tthis.formatted = false;\t\t\n\t}\n\tsubclassOf(Diagram, FakeSVG);\n\tfor(var option in options) {\n\t\tDiagram[option] = options[option];\n\t}\n\tDiagram.prototype.format = function(paddingt, paddingr, paddingb, paddingl) {\n\t\tpaddingt = unnull(paddingt, 20);\n\t\tpaddingr = unnull(paddingr, paddingt, 20);\n\t\tpaddingb = unnull(paddingb, paddingt, 20);\n\t\tpaddingl = unnull(paddingl, paddingr, 20);\n\t\tvar x = paddingl;\n\t\tvar y = paddingt;\n\t\ty += this.up;\n\t\tvar g = FakeSVG('g', Diagram.STROKE_ODD_PIXEL_LENGTH ? {transform:'translate(.5 .5)'} : {});\n\t\tfor(var i = 0; i < this.items.length; i++) {\n\t\t\tvar item = this.items[i];\n\t\t\tif(item.needsSpace) {\n\t\t\t\tPath(x,y).h(10).addTo(g);\n\t\t\t\tx += 10;\n\t\t\t}\n\t\t\titem.format(x, y, item.width).addTo(g);\n\t\t\tx += item.width;\n\t\t\tif(item.needsSpace) {\n\t\t\t\tPath(x,y).h(10).addTo(g);\n\t\t\t\tx += 10;\n\t\t\t}\n\t\t}\n\t\tthis.attrs.width = this.width + paddingl + paddingr;\n\t\tthis.attrs.height = this.up + this.down + paddingt + paddingb;\n\t\tthis.attrs.viewBox = \"0 0 \"  + this.attrs.width + \" \" + this.attrs.height;\n\t\tg.addTo(this);\n\t\tthis.formatted = true;\n\t\treturn this;\n\t}\n\tDiagram.prototype.addTo = function(parent) {\n\t\tvar scriptTag = document.getElementsByTagName('script');\n\t\tscriptTag = scriptTag[scriptTag.length - 1];\n\t\tvar parentTag = scriptTag.parentNode;\n\t\tparent = parent || parentTag;\n\t\treturn this.$super.addTo.call(this, parent);\n\t}\n\tDiagram.prototype.toSVG = function() {\n\t\tif (!this.formatted) {\n\t\t\tthis.format();\n\t\t}\n\t\treturn this.$super.toSVG.call(this);\n\t}\n\tDiagram.prototype.toString = function() {\n\t\tif (!this.formatted) {\n\t\t\tthis.format();\n\t\t}\n\t\treturn this.$super.toString.call(this);\n\t}\n\n\tfunction Sequence(items) {\n\t\tif(!(this instanceof Sequence)) return new Sequence([].slice.call(arguments));\n\t\tFakeSVG.call(this, 'g');\n\t\tthis.items = items.map(wrapString);\n\t\tthis.width = this.items.reduce(function(sofar, el) { return sofar + el.width + (el.needsSpace?20:0)}, 0);\n\t\tthis.up = this.items.reduce(function(sofar,el) { return Math.max(sofar, el.up)}, 0);\n\t\tthis.down = this.items.reduce(function(sofar,el) { return Math.max(sofar, el.down)}, 0);\n\t}\n\tsubclassOf(Sequence, FakeSVG);\n\tSequence.prototype.format = function(x,y,width) {\n\t\t// Hook up the two sides if this is narrower than its stated width.\n\t\tvar gaps = determineGaps(width, this.width);\n\t\tPath(x,y).h(gaps[0]).addTo(this);\n\t\tPath(x+gaps[0]+this.width,y).h(gaps[1]).addTo(this);\n\t\tx += gaps[0];\n\n\t\tfor(var i = 0; i < this.items.length; i++) {\n\t\t\tvar item = this.items[i];\n\t\t\tif(item.needsSpace) {\n\t\t\t\tPath(x,y).h(10).addTo(this);\n\t\t\t\tx += 10;\n\t\t\t}\n\t\t\titem.format(x, y, item.width).addTo(this);\n\t\t\tx += item.width;\n\t\t\tif(item.needsSpace) {\n\t\t\t\tPath(x,y).h(10).addTo(this);\n\t\t\t\tx += 10;\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\tfunction Choice(normal, items) {\n\t\tif(!(this instanceof Choice)) return new Choice(normal, [].slice.call(arguments,1));\n\t\tFakeSVG.call(this, 'g');\n\t\tif( typeof normal !== \"number\" || normal !== Math.floor(normal) ) {\n\t\t\tthrow new TypeError(\"The first argument of Choice() must be an integer.\");\n\t\t} else if(normal < 0 || normal >= items.length) {\n\t\t\tthrow new RangeError(\"The first argument of Choice() must be an index for one of the items.\");\n\t\t} else {\n\t\t\tthis.normal = normal;\n\t\t}\n\t\tthis.items = items.map(wrapString);\n\t\tthis.width = this.items.reduce(function(sofar, el){return Math.max(sofar, el.width)},0) + Diagram.ARC_RADIUS*4;\n\t\tthis.up = this.down = 0;\n\t\tfor(var i = 0; i < this.items.length; i++) {\n\t\t\tvar item = this.items[i];\n\t\t\tif(i < normal) { this.up += Math.max(Diagram.ARC_RADIUS,item.up + item.down + Diagram.VERTICAL_SEPARATION); }\n\t\t\tif(i == normal) { this.up += Math.max(Diagram.ARC_RADIUS, item.up); this.down += Math.max(Diagram.ARC_RADIUS, item.down); }\n\t\t\tif(i > normal) { this.down += Math.max(Diagram.ARC_RADIUS,Diagram.VERTICAL_SEPARATION + item.up + item.down); }\n\t\t}\n\t}\n\tsubclassOf(Choice, FakeSVG);\n\tChoice.prototype.format = function(x,y,width) {\n\t\t// Hook up the two sides if this is narrower than its stated width.\n\t\tvar gaps = determineGaps(width, this.width);\n\t\tPath(x,y).h(gaps[0]).addTo(this);\n\t\tPath(x+gaps[0]+this.width,y).h(gaps[1]).addTo(this);\n\t\tx += gaps[0];\n\n\t\tvar last = this.items.length -1;\n\t\tvar innerWidth = this.width - Diagram.ARC_RADIUS*4;\n\n\t\t// Do the elements that curve above\n\t\tfor(var i = this.normal - 1; i >= 0; i--) {\n\t\t\tvar item = this.items[i];\n\t\t\tif( i == this.normal - 1 ) {\n\t\t\t\tvar distanceFromY = Math.max(Diagram.ARC_RADIUS*2, this.items[i+1].up + Diagram.VERTICAL_SEPARATION + item.down);\n\t\t\t}\n\t\t\tPath(x,y).arc('se').up(distanceFromY - Diagram.ARC_RADIUS*2).arc('wn').addTo(this);\n\t\t\titem.format(x+Diagram.ARC_RADIUS*2,y - distanceFromY,innerWidth).addTo(this);\n\t\t\tPath(x+Diagram.ARC_RADIUS*2+innerWidth, y-distanceFromY).arc('ne').down(distanceFromY - Diagram.ARC_RADIUS*2).arc('ws').addTo(this);\n\t\t\tdistanceFromY += Math.max(Diagram.ARC_RADIUS, item.up + Diagram.VERTICAL_SEPARATION + (i == 0 ? 0 : this.items[i-1].down));\n\t\t}\n\n\t\t// Do the straight-line path.\n\t\tPath(x,y).right(Diagram.ARC_RADIUS*2).addTo(this);\n\t\tthis.items[this.normal].format(x+Diagram.ARC_RADIUS*2, y, innerWidth).addTo(this);\n\t\tPath(x+Diagram.ARC_RADIUS*2+innerWidth, y).right(Diagram.ARC_RADIUS*2).addTo(this);\n\n\t\t// Do the elements that curve below\n\t\tfor(var i = this.normal+1; i <= last; i++) {\n\t\t\tvar item = this.items[i];\n\t\t\tif( i == this.normal + 1 ) {\n\t\t\t\tvar distanceFromY = Math.max(Diagram.ARC_RADIUS*2, this.items[i-1].down + Diagram.VERTICAL_SEPARATION + item.up);\n\t\t\t}\n\t\t\tPath(x,y).arc('ne').down(distanceFromY - Diagram.ARC_RADIUS*2).arc('ws').addTo(this);\n\t\t\titem.format(x+Diagram.ARC_RADIUS*2, y+distanceFromY, innerWidth).addTo(this);\n\t\t\tPath(x+Diagram.ARC_RADIUS*2+innerWidth, y+distanceFromY).arc('se').up(distanceFromY - Diagram.ARC_RADIUS*2).arc('wn').addTo(this);\n\t\t\tdistanceFromY += Math.max(Diagram.ARC_RADIUS, item.down + Diagram.VERTICAL_SEPARATION + (i == last ? 0 : this.items[i+1].up));\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tfunction Optional(item, skip) {\n\t\tif( skip === undefined )\n\t\t\treturn Choice(1, Skip(), item);\n\t\telse if ( skip === \"skip\" )\n\t\t\treturn Choice(0, Skip(), item);\n\t\telse\n\t\t\tthrow \"Unknown value for Optional()'s 'skip' argument.\";\n\t}\n\n/* TiddlyWiki: added wantArrow */\n\tfunction OneOrMore(item, rep, wantArrow) {\n\t\tif(!(this instanceof OneOrMore)) return new OneOrMore(item, rep, wantArrow);\n\t\tFakeSVG.call(this, 'g');\n\n/* TiddlyWiki: code added */\n\t\tthis.wantArrow = wantArrow;\n\n\t\trep = rep || (new Skip);\n\t\tthis.item = wrapString(item);\n\t\tthis.rep = wrapString(rep);\n\t\tthis.width = Math.max(this.item.width, this.rep.width) + Diagram.ARC_RADIUS*2;\n\t\tthis.up = this.item.up;\n\t\tthis.down = Math.max(Diagram.ARC_RADIUS*2, this.item.down + Diagram.VERTICAL_SEPARATION + this.rep.up + this.rep.down);\n\n/* TiddlyWiki: moved calculation of distanceFromY (of the repeat arc) to here */\n\t\tthis.distanceFromY = Math.max(Diagram.ARC_RADIUS*2, this.item.down+Diagram.VERTICAL_SEPARATION+this.rep.up);\n\t}\n\tsubclassOf(OneOrMore, FakeSVG);\n\tOneOrMore.prototype.needsSpace = true;\n\tOneOrMore.prototype.format = function(x,y,width) {\n\t\t// Hook up the two sides if this is narrower than its stated width.\n\t\tvar gaps = determineGaps(width, this.width);\n\t\tPath(x,y).h(gaps[0]).addTo(this);\n\t\tPath(x+gaps[0]+this.width,y).h(gaps[1]).addTo(this);\n\t\tx += gaps[0];\n\n\t\t// Draw item\n\t\tPath(x,y).right(Diagram.ARC_RADIUS).addTo(this);\n\t\tthis.item.format(x+Diagram.ARC_RADIUS,y,this.width-Diagram.ARC_RADIUS*2).addTo(this);\n\t\tPath(x+this.width-Diagram.ARC_RADIUS,y).right(Diagram.ARC_RADIUS).addTo(this);\n\n\t\t// Draw repeat arc\n/* TiddlyWiki: moved calculation of distanceFromY from here to constructor */\n\t\tvar distanceFromY = this.distanceFromY;\n\t\t\n\t\tPath(x+Diagram.ARC_RADIUS,y).arc('nw').down(distanceFromY-Diagram.ARC_RADIUS*2).arc('ws').addTo(this);\n\t\tthis.rep.format(x+Diagram.ARC_RADIUS, y+distanceFromY, this.width - Diagram.ARC_RADIUS*2).addTo(this);\n\t\tPath(x+this.width-Diagram.ARC_RADIUS, y+distanceFromY).arc('se').up(distanceFromY-Diagram.ARC_RADIUS*2).arc('en').addTo(this);\n\t\t\n/* TiddlyWiki: code added */\n\t\tif(this.wantArrow) {\n\t\t\tvar arrowSize = Diagram.ARC_RADIUS/2;\n\t\t\t// Compensate for the illusion that makes the arrow look unbalanced if it's too close to the curve below it\n\t\t\tvar multiplier = (distanceFromY < arrowSize*5) ? 1.2 : 1;\n\t\t\tPath(x-arrowSize, y+distanceFromY/2 + arrowSize/2, {class:\"arrow\"}).\n\t\t\t\tline(arrowSize, -arrowSize).line(arrowSize*multiplier, arrowSize).addTo(this);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tfunction ZeroOrMore(item, rep, skip, wantArrow) {\n\t\treturn Optional(OneOrMore(item, rep, wantArrow), skip);\n\t}\n\n/* TiddlyWiki: added type parameter */\n\tfunction Start(type) {\n\t\tif(!(this instanceof Start)) return new Start(type);\n\t\tFakeSVG.call(this, 'path');\n\t\tthis.type = type || 'single'\n\t\tthis.width = (this.type === 'double') ? 20 : 10;\n\t\tthis.up = 10;\n\t\tthis.down = 10;\n\t}\n\tsubclassOf(Start, FakeSVG);\n\tStart.prototype.format = function(x,y) {\n/* TiddlyWiki: added types */\n\t\tif(this.type === 'single') {\n\t\t\tthis.attrs.d = 'M '+x+' '+(y-10)+' v 20 m 0 -10 h 10.5';\n\t\t} else if(this.type === 'double') {\n\t\t\tthis.attrs.d = 'M '+x+' '+(y-10)+' v 20 m 10 -20 v 20 m -10 -10 h 20.5';\n\t\t} else { // 'none'\n\t\t\tthis.attrs.d = 'M '+x+' '+y+' h 10.5';\n\t\t}\n\t\treturn this;\n\t}\n\n/* TiddlyWiki: added type parameter */\n\tfunction End(type) {\n\t\tif(!(this instanceof End)) return new End(type);\n\t\tFakeSVG.call(this, 'path');\n\t\tthis.type = type || 'double';\n\t\tthis.width = (this.type === 'double') ? 20 : 10;\n\t\tthis.up = 10;\n\t\tthis.down = 10;\n\t}\n\tsubclassOf(End, FakeSVG);\n\tEnd.prototype.format = function(x,y) {\n/* TiddlyWiki: added types */\n\t\tif(this.type === 'single') {\n\t\t\tthis.attrs.d = 'M '+x+' '+y+' h 10 m 0 -10 v 20';\n\t\t} else if(this.type === 'double') {\n\t\t\tthis.attrs.d = 'M '+x+' '+y+' h 20 m -10 -10 v 20 m 10 -20 v 20';\n\t\t} else { // 'none'\n\t\t\tthis.attrs.d = 'M '+x+' '+y+' h 10';\n\t\t}\n\t\treturn this;\n\t}\n\n\tfunction Terminal(text) {\n\t\tif(!(this instanceof Terminal)) return new Terminal(text);\n\t\tFakeSVG.call(this, 'g');\n\t\tthis.text = text;\n\t\tthis.width = text.length * 8 + 20; /* Assume that each char is .5em, and that the em is 16px */\n\t\tthis.up = 11;\n\t\tthis.down = 11;\n\t}\n\tsubclassOf(Terminal, FakeSVG);\n\tTerminal.prototype.needsSpace = true;\n\tTerminal.prototype.format = function(x, y, width) {\n\t\t// Hook up the two sides if this is narrower than its stated width.\n\t\tvar gaps = determineGaps(width, this.width);\n\t\tPath(x,y).h(gaps[0]).addTo(this);\n\t\tPath(x+gaps[0]+this.width,y).h(gaps[1]).addTo(this);\n\t\tx += gaps[0];\n\n\t\tFakeSVG('rect', {x:x, y:y-11, width:this.width, height:this.up+this.down, rx:10, ry:10}).addTo(this);\n\t\tFakeSVG('text', {x:x+this.width/2, y:y+4}, this.text).addTo(this);\n\t\treturn this;\n\t}\n\n\tfunction NonTerminal(text) {\n\t\tif(!(this instanceof NonTerminal)) return new NonTerminal(text);\n\t\tFakeSVG.call(this, 'g');\n\t\tthis.text = text;\n\t\tthis.width = text.length * 8 + 20;\n\t\tthis.up = 11;\n\t\tthis.down = 11;\n\t}\n\tsubclassOf(NonTerminal, FakeSVG);\n\tNonTerminal.prototype.needsSpace = true;\n\tNonTerminal.prototype.format = function(x, y, width) {\n\t\t// Hook up the two sides if this is narrower than its stated width.\n\t\tvar gaps = determineGaps(width, this.width);\n\t\tPath(x,y).h(gaps[0]).addTo(this);\n\t\tPath(x+gaps[0]+this.width,y).h(gaps[1]).addTo(this);\n\t\tx += gaps[0];\n\n\t\tFakeSVG('rect', {x:x, y:y-11, width:this.width, height:this.up+this.down}).addTo(this);\n\t\tFakeSVG('text', {x:x+this.width/2, y:y+4}, this.text).addTo(this);\n\t\treturn this;\n\t}\n\n\tfunction Comment(text) {\n\t\tif(!(this instanceof Comment)) return new Comment(text);\n\t\tFakeSVG.call(this, 'g');\n\t\tthis.text = text;\n\t\tthis.width = text.length * 7 + 10;\n\t\tthis.up = 11;\n\t\tthis.down = 11;\n\t}\n\tsubclassOf(Comment, FakeSVG);\n\tComment.prototype.needsSpace = true;\n\tComment.prototype.format = function(x, y, width) {\n\t\t// Hook up the two sides if this is narrower than its stated width.\n\t\tvar gaps = determineGaps(width, this.width);\n\t\tPath(x,y).h(gaps[0]).addTo(this);\n\t\tPath(x+gaps[0]+this.width,y).h(gaps[1]).addTo(this);\n\t\tx += gaps[0];\n\n\t\tFakeSVG('text', {x:x+this.width/2, y:y+5, class:'comment'}, this.text).addTo(this);\n\t\treturn this;\n\t}\n\n\tfunction Skip() {\n\t\tif(!(this instanceof Skip)) return new Skip();\n\t\tFakeSVG.call(this, 'g');\n\t\tthis.width = 0;\n\t\tthis.up = 0;\n\t\tthis.down = 0;\n\t}\n\tsubclassOf(Skip, FakeSVG);\n\tSkip.prototype.format = function(x, y, width) {\n\t\tPath(x,y).right(width).addTo(this);\n\t\treturn this;\n\t}\n\t\n/* TiddlyWiki: added linking ability */\n\tfunction Link(item,options) {\n\t\tif(!(this instanceof Link)) return new Link(item,options);\n\t\tFakeSVG.call(this,'a',options);\n\t\tthis.item = item;\n\t\tthis.width = item.width;\n\t\tthis.up = item.up;\n\t\tthis.down = item.down;\n\t}\n\tsubclassOf(Link, FakeSVG);\n\tLink.prototype.needsSpace = true;\n\tLink.prototype.format = function(x, y, width) {\n\t\tthis.item.format(x,y,width).addTo(this);\n\t\treturn this;\n\t}\n\n/* TiddlyWiki: this block replaces the export mechanism in the original library */\n\tif (exports) {\n\t\texports.Diagram = Diagram;\n\t\texports.Sequence = Sequence;\n\t\texports.Choice = Choice;\n\t\texports.Optional = Optional;\n\t\texports.OneOrMore = OneOrMore;\n\t\texports.ZeroOrMore = ZeroOrMore;\n\t\texports.Terminal = Terminal;\n\t\texports.NonTerminal = NonTerminal;\n\t\texports.Comment = Comment;\n\t\texports.Skip = Skip;\n\t\texports.Link = Link;\n\t};\n})(\n\t{\n\tVERTICAL_SEPARATION: 8,\n\tARC_RADIUS: 10,\n\tDIAGRAM_CLASS: 'railroad-diagram',\n\tSTROKE_ODD_PIXEL_LENGTH: true,\n\tINTERNAL_ALIGNMENT: 'center',\n\t}\n);\n\n/* TiddlyWiki: removed assignments to properties of the window object */\n"
  },
  {
    "path": "plugins/tiddlywiki/railroad/files/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": [\n\t\t{\n\t\t\t\"file\": \"railroad-diagrams.css\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"text/vnd.tiddlywiki\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/railroad/railroad-diagrams.css\",\n                                \"tags\": \"$:/tags/Stylesheet\"\n\t\t\t}\n\t\t},{\n\t\t\t\"file\": \"railroad-diagrams.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/railroad/railroad-diagrams.js\",\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t},\n\t\t\t\"prefix\": \"(function(document) {\\n\",\n\t\t\t\"suffix\": \"\\n})($tw.node ? $tw.fakeDocument : window.document)\\n\"\n\t\t}\n\t]\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/railroad/parser.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/railroad/parser.js\ntype: application/javascript\nmodule-type: library\n\nParser for the source of a railroad diagram.\n\nx y z\t\t\tsequence\n<-x y z->\t\texplicit sequence\n[:x]\t\t\toptional, normally included\n[x]\t\t\t\toptional, normally omitted\n{x}\t\t\t\tone or more\n{x +\",\"}\t\tone or more, comma-separated\n[{:x}]\t\t\tzero or more, normally included\n[{:x +\",\"}]\t\tzero or more, comma-separated, normally included\n[{x}]\t\t\tzero or more, normally omitted\n[{x +\",\"}]\t\tzero or more, comma-separated, normally omitted\n(x|y|z)\t\t\talternatives\n(x|:y|z)\t\talternatives, normally y\n\"x\"\t\t\t\tterminal\n<\"x\">\t\t\tnonterminal\n/\"blah\"/\t\tcomment\n-\t\t\t\tdummy\n[[x|\"tiddler\"]]\tlink\n{{\"tiddler\"}}\ttransclusion\n\n\"x\" can also be written 'x' or \"\"\"x\"\"\"\n\npragmas:\n\t\\arrow yes|no\n\t\\debug yes|no\n\t\\start single|double|none\n\t\\end single|double|none\n\n\\*/\n\n\"use strict\";\n\nvar components = require(\"$:/plugins/tiddlywiki/railroad/components.js\").components;\n\nvar Parser = function(widget,source,options) {\n\tthis.widget = widget;\n\tthis.source = source;\n\tthis.options = options;\n\tthis.tokens = this.tokenise(source);\n\tthis.tokenPos = 0;\n\tthis.advance();\n\tthis.content = this.parseContent();\n\tthis.root = new components.Root(this.content);\n\tthis.checkFinished();\n};\n\n/////////////////////////// Parser dispatch\n\nParser.prototype.parseContent = function() {\n\tvar content = [];\n\t// Parse zero or more components\n\twhile(true) {\n\t\tvar component = this.parseComponent();\n\t\tif(!component) {\n\t\t\tbreak;\n\t\t}\n\t\tif(!component.isPragma) {\n\t\t\tcontent.push(component);\n\t\t}\n\t}\n\treturn content;\n};\n\nParser.prototype.parseComponent = function() {\n\tvar component = null;\n\tif(this.token) {\n\t\tif(this.at(\"string\")) {\n\t\t\tcomponent = this.parseTerminal();\n\t\t} else if(this.at(\"name\")) {\n\t\t\tcomponent = this.parseName();\n\t\t} else if(this.at(\"pragma\")) {\n\t\t\tcomponent = this.parsePragma();\n\t\t} else {\n\t\t\tswitch(this.token.value) {\n\t\t\t\tcase \"[\":\n\t\t\t\t\tcomponent = this.parseOptional();\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"{\":\n\t\t\t\t\tcomponent = this.parseRepeated();\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"<\":\n\t\t\t\t\tcomponent = this.parseNonterminal();\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"(\":\n\t\t\t\t\tcomponent = this.parseChoice();\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"/\":\n\t\t\t\t\tcomponent = this.parseComment();\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"[[\":\n\t\t\t\t\tcomponent = this.parseLink();\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"{{\":\n\t\t\t\t\tcomponent = this.parseTransclusion();\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"<-\":\n\t\t\t\t\tcomponent = this.parseSequence();\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"-\":\n\t\t\t\t\tcomponent = this.parseDummy();\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\treturn component;\n};\n\n/////////////////////////// Specific components\n\nParser.prototype.parseChoice = function() {\n\t// Consume the (\n\tthis.advance();\n\tvar content = [],\n\t\tcolon = -1;\n\tdo {\n\t\t// Allow at most one branch to be prefixed with a colon\n\t\tif(colon === -1 && this.eat(\":\")) {\n\t\t\tcolon = content.length;\n\t\t}\n\t\t// Parse the next branch\n\t\tcontent.push(this.parseContent());\n\t} while(this.eat(\"|\"));\n\t// Consume the closing bracket\n\tthis.close(\")\");\n\t// Create a component\n\treturn new components.Choice(content,colon === -1 ? 0 : colon);\n};\n\nParser.prototype.parseComment = function() {\n\t// Consume the /\n\tthis.advance();\n\t// The comment's content should be in a string literal\n\tvar content = this.expectString(\"after /\");\n\t// Consume the closing /\n\tthis.close(\"/\");\n\t// Create a component\n\treturn new components.Comment(content);\n};\n\nParser.prototype.parseDummy = function() {\n\t// Consume the -\n\tthis.advance();\n\t// Create a component\n\treturn new components.Dummy();\n};\n\nParser.prototype.parseLink = function() {\n\t// Consume the [[\n\tthis.advance();\n\t// Parse the content\n\tvar content = this.parseContent();\n\t// Consume the |\n\tthis.expect(\"|\");\n\t// Consume the target\n\tvar target = this.expectNameOrString(\"as link target\");\n\t// Prepare some attributes for the SVG \"a\" element to carry\n\tvar options = {\"data-tw-target\": target};\n\tif($tw.utils.isLinkExternal(target)) {\n\t\toptions[\"data-tw-external\"] = true;\n\t}\n\t// Consume the closing ]]\n\tthis.close(\"]]\");\n\t// Create a component\n\treturn new components.Link(content,options);\n};\n\nParser.prototype.parseName = function() {\n\t// Create a component\n\tvar component = new components.Nonterminal(this.token.value);\n\t// Consume the name\n\tthis.advance();\n\treturn component;\n};\n\nParser.prototype.parseNonterminal = function() {\n\t// Consume the <\n\tthis.advance();\n\t// The nonterminal's name should be in a string literal\n\tvar content = this.expectString(\"after <\");\n\t// Consume the closing bracket\n\tthis.close(\">\");\n\t// Create a component\n\treturn new components.Nonterminal(content);\n};\n\nParser.prototype.parseOptional = function() {\n\tvar wantArrow = this.options.arrow;\n\t// Consume the [\n\tthis.advance();\n\t// Consume the { if there is one\n\tvar repeated = this.eat(\"{\");\n\t// Note whether omission is the normal route\n\tvar normal = this.eat(\":\");\n\t// Parse the content\n\tvar content = this.parseContent(),\n\t\tseparator = null;\n\t// Parse the separator if there is one\n\tif(repeated && this.eat(\"+\")) {\n\t\tseparator = this.parseContent();\n\t}\n\t// Consume the closing brackets\n\tif(repeated) {\n\t\tthis.close(\"}\");\n\t}\n\tthis.close(\"]\");\n\t// Create a component\n\treturn repeated ? new components.OptionalRepeated(content,separator,normal,wantArrow)\n\t\t: new components.Optional(content,normal);\n};\n\nParser.prototype.parseRepeated = function() {\n\tvar wantArrow = this.options.arrow;\n\t// Consume the {\n\tthis.advance();\n\t// Parse the content\n\tvar content = this.parseContent(),\n\t\tseparator = null;\n\t// Parse the separator if there is one\n\tif(this.eat(\"+\")) {\n\t\tseparator = this.parseContent();\n\t}\n\t// Consume the closing bracket\n\tthis.close(\"}\");\n\t// Create a component\n\treturn new components.Repeated(content,separator,wantArrow);\n};\n\nParser.prototype.parseSequence = function() {\n\t// Consume the <-\n\tthis.advance();\n\t// Parse the content\n\tvar content = this.parseContent();\n\t// Consume the closing ->\n\tthis.close(\"->\");\n\t// Create a component\n\treturn new components.Sequence(content);\n};\n\nParser.prototype.parseTerminal = function() {\n\tvar component = new components.Terminal(this.token.value);\n\t// Consume the string literal\n\tthis.advance();\n\treturn component;\n};\n\nParser.prototype.parseTransclusion = function() {\n\t// Consume the {{\n\tthis.advance();\n\t// Consume the text reference\n\tvar textRef = this.expectNameOrString(\"as transclusion source\");\n\t// Consume the closing }}\n\tthis.close(\"}}\");\n\t// Retrieve the content of the text reference\n\tvar source = this.widget.wiki.getTextReference(textRef,\"\",this.widget.getVariable(\"currentTiddler\"));\n\t// Parse the content\n\tvar content = new Parser(this.widget,source).content;\n\t// Create a component\n\treturn new components.Transclusion(content);\n};\n\n/////////////////////////// Pragmas\n\nParser.prototype.parsePragma = function() {\n\t// Create a dummy component\n\tvar component = { isPragma: true };\n\t// Consume the pragma\n\tvar pragma = this.token.value;\n\tthis.advance();\n\t// Apply the setting\n\tif(pragma === \"arrow\") {\n\t\tthis.options.arrow = this.parseYesNo(pragma);\t\t\n\t} else if(pragma === \"debug\") {\n\t\tthis.options.debug = true;\n\t} else if(pragma === \"start\") {\n\t\tthis.options.start = this.parseTerminusStyle(pragma);\t\t\n\t} else if(pragma === \"end\") {\n\t\tthis.options.end = this.parseTerminusStyle(pragma);\t\t\n\t} else {\n\t\tthrow \"Invalid pragma\";\n\t}\n\treturn component;\n};\n\nParser.prototype.parseYesNo = function(pragma) {\n\treturn this.parseSetting([\"yes\",\"no\"],pragma) === \"yes\";\n};\n\nParser.prototype.parseTerminusStyle = function(pragma) {\n\treturn this.parseSetting([\"single\",\"double\",\"none\"],pragma);\n};\n\nParser.prototype.parseSetting = function(options,pragma) {\n\tif(this.at(\"name\") && options.indexOf(this.token.value) !== -1) {\n\t\treturn this.tokenValueEaten();\t\t\n\t}\n\tthrow options.join(\" or \") + \" expected after \\\\\" + pragma;\n};\n\n/////////////////////////// Token manipulation\n\nParser.prototype.advance = function() {\n\tif(this.tokenPos >= this.tokens.length) {\n\t\tthis.token = null;\n\t}\n\tthis.token = this.tokens[this.tokenPos++];\n};\n\nParser.prototype.at = function(token) {\n\treturn this.token && (this.token.type === token || this.token.type === \"token\" && this.token.value === token);\n};\n\nParser.prototype.eat = function(token) {\n\tvar at = this.at(token);\n\tif(at) {\n\t\tthis.advance();\n\t}\n\treturn at;\n};\n\nParser.prototype.tokenValueEaten = function() {\n\tvar output = this.token.value;\n\tthis.advance();\n\treturn output;\n};\n\nParser.prototype.close = function(token) {\n\tif(!this.eat(token)) {\n\t\tthrow \"Closing \" + token + \" expected\";\n\t}\n};\n\nParser.prototype.checkFinished = function() {\n\tif(this.token) {\n\t\tthrow \"Syntax error at \" + this.token.value;\n\t}\n};\n\nParser.prototype.expect = function(token) {\n\tif(!this.eat(token)) {\n\t\tthrow token + \" expected\";\n\t}\n};\n\nParser.prototype.expectString = function(context,token) {\n\tif(!this.at(\"string\")) {\n\t\ttoken = token || \"String\";\n\t\tthrow token + \" expected \" + context;\n\t}\n\treturn this.tokenValueEaten();\n};\n\nParser.prototype.expectNameOrString = function(context) {\n\tif(this.at(\"name\")) {\n\t\treturn this.tokenValueEaten();\n\t}\n\treturn this.expectString(context,\"Name or string\");\n};\n\n/////////////////////////// Tokenisation\n\nParser.prototype.tokenise = function(source) {\n\tvar tokens = [],\n\t\tpos = 0,\n\t\tc, s, token;\n\twhile(pos < source.length) {\n\t\t// Initialise this iteration\n\t\ts = token = null;\n\t\t// Skip whitespace\n\t\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t\t// Avoid falling off the end of the string\n\t\tif(pos >= source.length) {\n\t\t\tbreak;\n\t\t}\n\t\t// Examine the next character\n\t\tc = source.charAt(pos);\n\t\tif(\"\\\"'\".indexOf(c) !== -1) {\n\t\t\t// String literal\n\t\t\ttoken = $tw.utils.parseStringLiteral(source,pos);\n\t\t\tif(!token) {\n\t\t\t\tthrow \"Unterminated string literal\";\n\t\t\t}\n\t\t} else if(\"[]{}\".indexOf(c) !== -1) {\n\t\t\t// Single or double character\n\t\t\ts = source.charAt(pos+1) === c ? c + c : c;\n\t\t} else if(c === \"<\") {\n\t\t\t// < or <-\n\t\t\ts = source.charAt(pos+1) === \"-\" ? \"<-\" : \"<\";\n\t\t} else if(c === \"-\") {\n\t\t\t// - or ->\n\t\t\ts = source.charAt(pos+1) === \">\" ? \"->\" : \"-\";\n\t\t} else if(\"()>+/:|\".indexOf(c) !== -1) {\n\t\t\t// Single character\n\t\t\ts = c;\n\t\t} else if(c.match(/[a-zA-Z]/)) {\n\t\t\t// Name\n\t\t\ttoken = this.readName(source,pos);\n\t\t} else if(c.match(/\\\\/)) {\n\t\t\t// Pragma\n\t\t\ttoken = this.readPragma(source,pos);\n\t\t} else {\n\t\t\tthrow \"Syntax error at \" + c;\n\t\t}\n\t\t// Add our findings to the return array\n\t\tif(token) {\n\t\t\ttokens.push(token);\n\t\t} else {\n\t\t\ttoken = $tw.utils.parseTokenString(source,pos,s);\n\t\t\ttokens.push(token);\n\t\t}\n\t\t// Prepare for the next character\n\t\tpos = token.end;\n\t}\n\treturn tokens;\n};\n\nParser.prototype.readName = function(source,pos) {\n\tvar re = /([a-zA-Z0-9_.-]+)/g;\n\tre.lastIndex = pos;\n\tvar match = re.exec(source);\n\tif(match && match.index === pos) {\n\t\treturn {type: \"name\", value: match[1], start: pos, end: pos+match[1].length};\n\t} else {\n\t\tthrow \"Invalid name\";\n\t}\n};\n\nParser.prototype.readPragma = function(source,pos) {\n\tvar re = /([a-z]+)/g;\n\tpos++;\n\tre.lastIndex = pos;\n\tvar match = re.exec(source);\n\tif(match && match.index === pos) {\n\t\treturn {type: \"pragma\", value: match[1], start: pos, end: pos+match[1].length};\n\t} else {\n\t\tthrow \"Invalid pragma\";\n\t}\n};\n\n/////////////////////////// Exports\n\nexports.parser = Parser;\n"
  },
  {
    "path": "plugins/tiddlywiki/railroad/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/railroad\",\n\t\"name\": \"Railroad\",\n\t\"description\": \"Railroad diagram generator\",\n\t\"author\": \"Astrid Elocson\",\n\t\"list\": \"readme usage syntax example\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/railroad/typed-parser.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/railroad/typed-parser.js\ntype: application/javascript\nmodule-type: parser\n\nThis parser wraps unadorned railroad syntax into a railroad widget\n\n\\*/\n\n\"use strict\";\n\nvar RailroadParser = function(type,text,options) {\n\tvar element = {\n\t\ttype: \"railroad\",\n\t\ttag: \"$railroad\",\n\t\ttext: text\n\t};\n\tthis.tree = [element];\n\tconsole.log(text);\n};\n\nexports[\"text/vnd.tiddlywiki.railroad\"] = RailroadParser;\n"
  },
  {
    "path": "plugins/tiddlywiki/railroad/wrapper.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/railroad/wrapper.js\ntype: application/javascript\nmodule-type: widget\n\nWrapper for `railroad-diagrams.js` that provides a `<$railroad>` widget.\n\n\\*/\n\n\"use strict\";\n\nvar Parser = require(\"$:/plugins/tiddlywiki/railroad/parser.js\").parser,\n\tWidget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar RailroadWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\nvar RAILROAD_OPTIONS = \"$:/config/railroad\";\n\n/*\nInherit from the base widget class\n*/\nRailroadWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRailroadWidget.prototype.render = function(parent,nextSibling) {\n\t// Housekeeping\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Get the source text\n\tvar source = this.getAttribute(\"text\",this.parseTreeNode.text || \"\");\n\t// Create a div to contain the SVG or error message\n\tvar div = this.document.createElement(\"div\");\n\ttry {\n\t\t// Initialise options from the config tiddler or widget attributes\n\t\tvar config = this.wiki.getTiddlerData(RAILROAD_OPTIONS,{});\n\t\tvar options = {\n\t\t\tarrow: this.getAttribute(\"arrow\", config.arrow || \"yes\") === \"yes\",\n\t\t\tdebug: this.getAttribute(\"debug\", config.debug || \"no\") === \"yes\",\n\t\t\tstart: this.getAttribute(\"start\", config.start || \"single\"),\n\t\t\tend: this.getAttribute(\"end\", config.end || \"single\")\n\t\t};\n\t\t// Parse the source\n\t\tvar parser = new Parser(this,source,options);\n\t\t// Generate content into the div\n\t\tif(parser.options.debug) {\n\t\t\tthis.renderDebug(parser,div);\n\t\t} else {\n\t\t\tthis.renderSvg(parser,div);\n\t\t}\n\t} catch(ex) {\n\t\tdiv.className = \"tc-error\";\n\t\tdiv.textContent = ex;\n\t}\n\t// Insert the div into the DOM\n\tparent.insertBefore(div,nextSibling);\n\tthis.domNodes.push(div);\n};\n\nRailroadWidget.prototype.renderDebug = function(parser,div) {\n\tvar output = [\"<pre>\"];\n\tparser.root.debug(output, \"\");\n\toutput.push(\"</pre>\");\n\tdiv.innerHTML = output.join(\"\");\n};\n\nRailroadWidget.prototype.renderSvg = function(parser,div) {\n\t// Generate a model of the diagram\n\tvar fakeSvg = parser.root.toSvg(parser.options);\n\t// Render the model into a tree of SVG DOM nodes\n\tvar svg = fakeSvg.toSVG();\n\t// Fill in the remaining attributes of any link nodes\n\tthis.patchLinks(svg);\n\t// Insert the SVG tree into the div\n\tdiv.appendChild(svg);\n};\n\nRailroadWidget.prototype.patchLinks = function(node) {\n\tvar self = this;\n\tif(!$tw.node && node.hasChildNodes()) {\n\t\tvar children = node.childNodes;\n\t\tfor(var i=0; i<children.length; i++) {\n\t\t\tvar child = children[i];\n\t\t\tvar attributes = child.attributes;\n\t\t\tif(attributes) {\n\t\t\t\t// Find each element that has a data-tw-target attribute\n\t\t\t\tvar target = child.attributes[\"data-tw-target\"];\n\t\t\t\tif(target !== undefined) {\n\t\t\t\t\ttarget = target.value;\n\t\t\t\t\tif(child.attributes[\"data-tw-external\"]) {\n\t\t\t\t\t\t// External links are straightforward\n\t\t\t\t\t\tchild.setAttribute(\"target\",\"_blank\");\n\t\t\t\t\t\tchild.setAttribute(\"rel\",\"noopener noreferrer\");\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Each internal link gets its own onclick handler, capturing its own copy of target\n\t\t\t\t\t\t(function(myTarget) {\n\t\t\t\t\t\t\tchild.onclick = function(event) {\n\t\t\t\t\t\t\t\tself.dispatchLink(myTarget,event);\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t})(target);\n\t\t\t\t\t\ttarget = \"#\" + target;\n\t\t\t\t\t}\n\t\t\t\t\tchild.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"href\",target);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.patchLinks(child);\n\t\t}\n\t}\n};\n\nRailroadWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.text || changedTiddlers[RAILROAD_OPTIONS]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn false;\t\n};\n\nRailroadWidget.prototype.dispatchLink = function(to,event) {\n\t// Send the click on its way as a navigate event\n\tvar bounds = this.domNodes[0].getBoundingClientRect();\n\tthis.dispatchEvent({\n\t\ttype: \"tm-navigate\",\n\t\tnavigateTo: to,\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tnavigateFromNode: this,\n\t\tnavigateFromClientRect: { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n\t\t},\n\t\tnavigateSuppressNavigation: event.metaKey || event.ctrlKey || (event.button === 1)\n\t});\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nexports.railroad = RailroadWidget;\n"
  },
  {
    "path": "plugins/tiddlywiki/savetrail/config/enable-drafts.tid",
    "content": "title: $:/config/SaveTrailPlugin/enable-drafts\n\nno"
  },
  {
    "path": "plugins/tiddlywiki/savetrail/config/enable.tid",
    "content": "title: $:/config/SaveTrailPlugin/enable\n\nyes"
  },
  {
    "path": "plugins/tiddlywiki/savetrail/config/sync-drafts-filter.tid",
    "content": "title: $:/config/SaveTrailPlugin/sync-drafts-filter\n\n[is[tiddler]has[draft.of]]"
  },
  {
    "path": "plugins/tiddlywiki/savetrail/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/savetrail\",\n\t\"name\": \"Save Trail\",\n\t\"description\": \"Automatically download modified tiddlers\",\n\t\"list\": \"readme settings\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/savetrail/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/savetrail/readme\n\nThis plugin causes TiddlyWiki to continuously download (as a JSON file) the contents of any tiddler that is manually changed by any of several means:\n\n* Confirming an edit\n* Deleting tiddlers\n* Imports\n* Renames/relinks\n* Optionally, typing in draft tiddlers can trigger a download\n\nWhere appropriate, separate 'before' and 'after' files are downloaded. Configured correctly, the browser will download the files silently in the background, and they can be used as a backup in case of accidental data loss.\n\n''CAUTION'': Using this plugin will generate a //lot// of files in your downloads folder! Some points to watch:\n\n* This plugin is pretty much unusable unless your browser is set up to download files automatically, without prompting for the location\n* Automatic file downloading doesn't work in all browsers - in particular, Safari and Internet Explorer do not currently support the [[necessary HTML5 feature|http://caniuse.com/download]]\n* Be aware of the privacy implications of leaving a plaintext trail of all of your edits. You should only enable this plugin on computers that your trust and with content that is not sensitive\n* The plugin uses the tiddler title plus a timestamp to generate a filename for the downloaded file, but some browsers ignore the specified title and generate their own title for each downloaded file\n\nOther points to note:\n\n* By default, after a draft tiddler has been modified the plugin waits until at least one second has elapsed since the last typing before it attempts to download the tiddler. This reduces the number of times that rapidly changing tiddlers are saved\n* This plugin can be used with both the single file HTML configuration and under Node.js because it is independent of the usual saving and syncing processes\n"
  },
  {
    "path": "plugins/tiddlywiki/savetrail/savetrail.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/savetrail/savetrail.js\ntype: application/javascript\nmodule-type: startup\n\nA startup module to download every changed tiddler as a JSON file\n\n\\*/\n\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"savetrail\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n// Favicon tiddler\nvar ENABLE_TIDDLER_TITLE = \"$:/config/SaveTrailPlugin/enable\",\n\tENABLE_DRAFTS_TIDDLER_TITLE = \"$:/config/SaveTrailPlugin/enable-drafts\",\n\tSYNC_DRAFTS_FILTER_TIDDLER_TITLE = \"$:/config/SaveTrailPlugin/sync-drafts-filter\";\n\nexports.startup = function() {\n\t$tw.savetrail = $tw.savetrail || {};\n\t// Create a syncer to handle autosaving\n\t$tw.savetrail.syncadaptor = new SaveTrailSyncAdaptor();\n\t$tw.savetrail.syncer = new $tw.Syncer({\n\t\twiki: $tw.wiki,\n\t\tsyncadaptor: $tw.savetrail.syncadaptor,\n\t\ttitleSyncFilter: SYNC_DRAFTS_FILTER_TIDDLER_TITLE,\n\t\tlogging: false,\n\t\tdisableUI: true\n\t});\n\t// Add hooks for trapping user actions\n\t$tw.hooks.addHook(\"th-saving-tiddler\",function(tiddler) {\n\t\tif($tw.wiki.checkTiddlerText(ENABLE_TIDDLER_TITLE,\"yes\")) {\n\t\t\tvar oldTiddler = $tw.wiki.getTiddler(tiddler.fields.title);\n\t\t\tif(oldTiddler) {\n\t\t\t\tsaveTiddlerFile(oldTiddler,{reason: \"overwritten\"});\t\t\t\n\t\t\t}\n\t\t\tsaveTiddlerFile(tiddler,{reason: \"saved\"});\n\t\t}\n\t\treturn tiddler;\n\t});\n\t$tw.hooks.addHook(\"th-renaming-tiddler\",function(newTiddler,oldTiddler) {\n\t\tif($tw.wiki.checkTiddlerText(ENABLE_TIDDLER_TITLE,\"yes\")) {\n\t\t\tif(oldTiddler) {\n\t\t\t\tsaveTiddlerFile(oldTiddler,{reason: \"deleted\"});\t\t\t\n\t\t\t}\n\t\t\tsaveTiddlerFile(newTiddler,{reason: \"renamed\"});\n\t\t}\n\t\treturn newTiddler;\n\t});\n\t$tw.hooks.addHook(\"th-relinking-tiddler\",function(newTiddler,oldTiddler) {\n\t\tif($tw.wiki.checkTiddlerText(ENABLE_TIDDLER_TITLE,\"yes\")) {\n\t\t\tif(oldTiddler) {\n\t\t\t\tsaveTiddlerFile(oldTiddler,{reason: \"overwritten\"});\t\t\t\n\t\t\t}\n\t\t\tsaveTiddlerFile(newTiddler,{reason: \"relinked\"});\n\t\t}\n\t\treturn newTiddler;\n\t});\n\t$tw.hooks.addHook(\"th-importing-tiddler\",function(tiddler) {\n\t\tif($tw.wiki.checkTiddlerText(ENABLE_TIDDLER_TITLE,\"yes\")) {\n\t\t\tvar oldTiddler = $tw.wiki.getTiddler(tiddler.fields.title);\n\t\t\tif(oldTiddler) {\n\t\t\t\tsaveTiddlerFile(oldTiddler,{reason: \"overwritten\"});\t\t\t\n\t\t\t}\n\t\t\tsaveTiddlerFile(tiddler,{reason: \"imported\"});\n\t\t}\n\t\treturn tiddler;\n\t});\n\t$tw.hooks.addHook(\"th-deleting-tiddler\",function(tiddler) {\n\t\tif($tw.wiki.checkTiddlerText(ENABLE_TIDDLER_TITLE,\"yes\")) {\n\t\t\tsaveTiddlerFile(tiddler,{reason: \"deleted\"});\n\t\t}\n\t\treturn tiddler;\n\t});\n};\n\nfunction SaveTrailSyncAdaptor(options) {\n\tthis.logger = new $tw.utils.Logger(\"SaveTrail\");\n}\n\nSaveTrailSyncAdaptor.prototype.name = \"savetrail\";\n\nSaveTrailSyncAdaptor.prototype.isReady = function() {\n\t// The savetrail adaptor is always ready\n\treturn true;\n};\n\nSaveTrailSyncAdaptor.prototype.getTiddlerInfo = function(tiddler) {\n\treturn {};\n};\n\n/*\nSave a tiddler and invoke the callback with (err,adaptorInfo,revision)\n*/\nSaveTrailSyncAdaptor.prototype.saveTiddler = function(tiddler,callback) {\n\tif($tw.wiki.checkTiddlerText(ENABLE_TIDDLER_TITLE,\"yes\")) {\n\t\tvar isDraft = $tw.utils.hop(tiddler.fields,\"draft.of\");\n\t\tif(!isDraft || $tw.wiki.checkTiddlerText(ENABLE_DRAFTS_TIDDLER_TITLE,\"yes\")) {\n\t\t\tsaveTiddlerFile(tiddler,{reason: \"modified\"});\n\t\t}\n\t}\n\tcallback(null,null);\n};\n\n/*\nLoad a tiddler and invoke the callback with (err,tiddlerFields)\n*/\nSaveTrailSyncAdaptor.prototype.loadTiddler = function(title,callback) {\n\tcallback(null,null);\n};\n\n/*\nDelete a tiddler and invoke the callback with (err)\n*/\nSaveTrailSyncAdaptor.prototype.deleteTiddler = function(title,callback,options) {\n\tcallback(null,null);\n};\n\nfunction saveTiddlerFile(tiddler,options) {\n\toptions = options || {};\n\tvar reason = options.reason || \"changed\",\n\t\tillegalFilenameCharacters = /<|>|\\:|\\\"|\\/|\\\\|\\||\\?|\\*|\\^|\\s/g,\n\t\tfixedTitle = $tw.utils.transliterate(tiddler.fields.title).replace(illegalFilenameCharacters,\"_\"),\n\t\tformattedDate = $tw.utils.stringifyDate(new Date()),\n\t\tfilename =  fixedTitle + \".\" + formattedDate + \".\" + reason + \".json\",\n\t\tfields = new Object();\n\tfor(var field in tiddler.fields) {\n\t\tfields[field] = tiddler.getFieldString(field);\n\t}\n\tvar text = JSON.stringify([fields],null,$tw.config.preferences.jsonSpaces),\n\t\tlink = document.createElement(\"a\");\n\tlink.setAttribute(\"target\",\"_blank\");\n\tlink.setAttribute(\"rel\",\"noopener noreferrer\");\n\tif(Blob !== undefined) {\n\t\tvar blob = new Blob([text],{type: \"text/plain\"});\n\t\tlink.setAttribute(\"href\",URL.createObjectURL(blob));\n\t} else {\n\t\tlink.setAttribute(\"href\",\"data:text/plain,\" + encodeURIComponent(text));\n\t}\n\tlink.setAttribute(\"download\",filename);\n\tdocument.body.appendChild(link);\n\tlink.click();\n\tdocument.body.removeChild(link);\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/savetrail/settings.tid",
    "content": "title: $:/plugins/tiddlywiki/savetrail/settings\ncaption: Save Trail\ntags: $:/tags/ControlPanel/SettingsTab\n\n<$checkbox tiddler=\"$:/config/SaveTrailPlugin/enable\" field=\"text\" checked=\"yes\" unchecked=\"no\"> Enable automatic saving of modified tiddlers</$checkbox>\n\n<$checkbox tiddler=\"$:/config/SaveTrailPlugin/enable-drafts\" field=\"text\" checked=\"yes\" unchecked=\"no\"> Include automatic saving of draft tiddlers (warning: generates a lot of download files)</$checkbox>\n"
  },
  {
    "path": "plugins/tiddlywiki/sax/files/LICENSE",
    "content": "The ISC License\n\nCopyright (c) Isaac Z. Schlueter and Contributors\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted, provided that the above\ncopyright notice and this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\nWITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\nANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\nWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\nACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR\nIN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n\n====\n\n`String.fromCodePoint` by Mathias Bynens used according to terms of MIT\nLicense, as follows:\n\n    Copyright Mathias Bynens <https://mathiasbynens.be/>\n\n    Permission is hereby granted, free of charge, to any person obtaining\n    a copy of this software and associated documentation files (the\n    \"Software\"), to deal in the Software without restriction, including\n    without limitation the rights to use, copy, modify, merge, publish,\n    distribute, sublicense, and/or sell copies of the Software, and to\n    permit persons to whom the Software is furnished to do so, subject to\n    the following conditions:\n\n    The above copyright notice and this permission notice shall be\n    included in all copies or substantial portions of the Software.\n\n    THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n    EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n    NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n    LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n    OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n    WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"
  },
  {
    "path": "plugins/tiddlywiki/sax/files/README.md",
    "content": "# sax js\n\nA sax-style parser for XML and HTML.\n\nDesigned with [node](http://nodejs.org/) in mind, but should work fine in\nthe browser or other CommonJS implementations.\n\n## What This Is\n\n* A very simple tool to parse through an XML string.\n* A stepping stone to a streaming HTML parser.\n* A handy way to deal with RSS and other mostly-ok-but-kinda-broken XML\n  docs.\n\n## What This Is (probably) Not\n\n* An HTML Parser - That's a fine goal, but this isn't it.  It's just\n  XML.\n* A DOM Builder - You can use it to build an object model out of XML,\n  but it doesn't do that out of the box.\n* XSLT - No DOM = no querying.\n* 100% Compliant with (some other SAX implementation) - Most SAX\n  implementations are in Java and do a lot more than this does.\n* An XML Validator - It does a little validation when in strict mode, but\n  not much.\n* A Schema-Aware XSD Thing - Schemas are an exercise in fetishistic\n  masochism.\n* A DTD-aware Thing - Fetching DTDs is a much bigger job.\n\n## Regarding `<!DOCTYPE`s and `<!ENTITY`s\n\nThe parser will handle the basic XML entities in text nodes and attribute\nvalues: `&amp; &lt; &gt; &apos; &quot;`. It's possible to define additional\nentities in XML by putting them in the DTD. This parser doesn't do anything\nwith that. If you want to listen to the `ondoctype` event, and then fetch\nthe doctypes, and read the entities and add them to `parser.ENTITIES`, then\nbe my guest.\n\nUnknown entities will fail in strict mode, and in loose mode, will pass\nthrough unmolested.\n\n## Usage\n\n```javascript\nvar sax = require(\"./lib/sax\"),\n  strict = true, // set to false for html-mode\n  parser = sax.parser(strict);\n\nparser.onerror = function (e) {\n  // an error happened.\n};\nparser.ontext = function (t) {\n  // got some text.  t is the string of text.\n};\nparser.onopentag = function (node) {\n  // opened a tag.  node has \"name\" and \"attributes\"\n};\nparser.onattribute = function (attr) {\n  // an attribute.  attr has \"name\" and \"value\"\n};\nparser.onend = function () {\n  // parser stream is done, and ready to have more stuff written to it.\n};\n\nparser.write('<xml>Hello, <who name=\"world\">world</who>!</xml>').close();\n\n// stream usage\n// takes the same options as the parser\nvar saxStream = require(\"sax\").createStream(strict, options)\nsaxStream.on(\"error\", function (e) {\n  // unhandled errors will throw, since this is a proper node\n  // event emitter.\n  console.error(\"error!\", e)\n  // clear the error\n  this._parser.error = null\n  this._parser.resume()\n})\nsaxStream.on(\"opentag\", function (node) {\n  // same object as above\n})\n// pipe is supported, and it's readable/writable\n// same chunks coming in also go out.\nfs.createReadStream(\"file.xml\")\n  .pipe(saxStream)\n  .pipe(fs.createWriteStream(\"file-copy.xml\"))\n```\n\n\n## Arguments\n\nPass the following arguments to the parser function.  All are optional.\n\n`strict` - Boolean. Whether or not to be a jerk. Default: `false`.\n\n`opt` - Object bag of settings regarding string formatting.  All default to `false`.\n\nSettings supported:\n\n* `trim` - Boolean. Whether or not to trim text and comment nodes.\n* `normalize` - Boolean. If true, then turn any whitespace into a single\n  space.\n* `lowercase` - Boolean. If true, then lowercase tag names and attribute names\n  in loose mode, rather than uppercasing them.\n* `xmlns` - Boolean. If true, then namespaces are supported.\n* `position` - Boolean. If false, then don't track line/col/position.\n* `strictEntities` - Boolean. If true, only parse [predefined XML\n  entities](http://www.w3.org/TR/REC-xml/#sec-predefined-ent)\n  (`&amp;`, `&apos;`, `&gt;`, `&lt;`, and `&quot;`)\n\n## Methods\n\n`write` - Write bytes onto the stream. You don't have to do this all at\nonce. You can keep writing as much as you want.\n\n`close` - Close the stream. Once closed, no more data may be written until\nit is done processing the buffer, which is signaled by the `end` event.\n\n`resume` - To gracefully handle errors, assign a listener to the `error`\nevent. Then, when the error is taken care of, you can call `resume` to\ncontinue parsing. Otherwise, the parser will not continue while in an error\nstate.\n\n## Members\n\nAt all times, the parser object will have the following members:\n\n`line`, `column`, `position` - Indications of the position in the XML\ndocument where the parser currently is looking.\n\n`startTagPosition` - Indicates the position where the current tag starts.\n\n`closed` - Boolean indicating whether or not the parser can be written to.\nIf it's `true`, then wait for the `ready` event to write again.\n\n`strict` - Boolean indicating whether or not the parser is a jerk.\n\n`opt` - Any options passed into the constructor.\n\n`tag` - The current tag being dealt with.\n\nAnd a bunch of other stuff that you probably shouldn't touch.\n\n## Events\n\nAll events emit with a single argument. To listen to an event, assign a\nfunction to `on<eventname>`. Functions get executed in the this-context of\nthe parser object. The list of supported events are also in the exported\n`EVENTS` array.\n\nWhen using the stream interface, assign handlers using the EventEmitter\n`on` function in the normal fashion.\n\n`error` - Indication that something bad happened. The error will be hanging\nout on `parser.error`, and must be deleted before parsing can continue. By\nlistening to this event, you can keep an eye on that kind of stuff. Note:\nthis happens *much* more in strict mode. Argument: instance of `Error`.\n\n`text` - Text node. Argument: string of text.\n\n`doctype` - The `<!DOCTYPE` declaration. Argument: doctype string.\n\n`processinginstruction` - Stuff like `<?xml foo=\"blerg\" ?>`. Argument:\nobject with `name` and `body` members. Attributes are not parsed, as\nprocessing instructions have implementation dependent semantics.\n\n`sgmldeclaration` - Random SGML declarations. Stuff like `<!ENTITY p>`\nwould trigger this kind of event. This is a weird thing to support, so it\nmight go away at some point. SAX isn't intended to be used to parse SGML,\nafter all.\n\n`opentagstart` - Emitted immediately when the tag name is available,\nbut before any attributes are encountered.  Argument: object with a\n`name` field and an empty `attributes` set.  Note that this is the\nsame object that will later be emitted in the `opentag` event.\n\n`opentag` - An opening tag. Argument: object with `name` and `attributes`.\nIn non-strict mode, tag names are uppercased, unless the `lowercase`\noption is set.  If the `xmlns` option is set, then it will contain\nnamespace binding information on the `ns` member, and will have a\n`local`, `prefix`, and `uri` member.\n\n`closetag` - A closing tag. In loose mode, tags are auto-closed if their\nparent closes. In strict mode, well-formedness is enforced. Note that\nself-closing tags will have `closeTag` emitted immediately after `openTag`.\nArgument: tag name.\n\n`attribute` - An attribute node.  Argument: object with `name` and `value`.\nIn non-strict mode, attribute names are uppercased, unless the `lowercase`\noption is set.  If the `xmlns` option is set, it will also contains namespace\ninformation.\n\n`comment` - A comment node.  Argument: the string of the comment.\n\n`opencdata` - The opening tag of a `<![CDATA[` block.\n\n`cdata` - The text of a `<![CDATA[` block. Since `<![CDATA[` blocks can get\nquite large, this event may fire multiple times for a single block, if it\nis broken up into multiple `write()`s. Argument: the string of random\ncharacter data.\n\n`closecdata` - The closing tag (`]]>`) of a `<![CDATA[` block.\n\n`opennamespace` - If the `xmlns` option is set, then this event will\nsignal the start of a new namespace binding.\n\n`closenamespace` - If the `xmlns` option is set, then this event will\nsignal the end of a namespace binding.\n\n`end` - Indication that the closed stream has ended.\n\n`ready` - Indication that the stream has reset, and is ready to be written\nto.\n\n`noscript` - In non-strict mode, `<script>` tags trigger a `\"script\"`\nevent, and their contents are not checked for special xml characters.\nIf you pass `noscript: true`, then this behavior is suppressed.\n\n## Reporting Problems\n\nIt's best to write a failing test if you find an issue.  I will always\naccept pull requests with failing tests if they demonstrate intended\nbehavior, but it is very hard to figure out what issue you're describing\nwithout a test.  Writing a test is also the best way for you yourself\nto figure out if you really understand the issue you think you have with\nsax-js.\n"
  },
  {
    "path": "plugins/tiddlywiki/sax/files/lib/sax.js",
    "content": ";(function (sax) { // wrapper for non-node envs\n  sax.parser = function (strict, opt) { return new SAXParser(strict, opt) }\n  sax.SAXParser = SAXParser\n  sax.SAXStream = SAXStream\n  sax.createStream = createStream\n\n  // When we pass the MAX_BUFFER_LENGTH position, start checking for buffer overruns.\n  // When we check, schedule the next check for MAX_BUFFER_LENGTH - (max(buffer lengths)),\n  // since that's the earliest that a buffer overrun could occur.  This way, checks are\n  // as rare as required, but as often as necessary to ensure never crossing this bound.\n  // Furthermore, buffers are only tested at most once per write(), so passing a very\n  // large string into write() might have undesirable effects, but this is manageable by\n  // the caller, so it is assumed to be safe.  Thus, a call to write() may, in the extreme\n  // edge case, result in creating at most one complete copy of the string passed in.\n  // Set to Infinity to have unlimited buffers.\n  sax.MAX_BUFFER_LENGTH = 64 * 1024\n\n  var buffers = [\n    'comment', 'sgmlDecl', 'textNode', 'tagName', 'doctype',\n    'procInstName', 'procInstBody', 'entity', 'attribName',\n    'attribValue', 'cdata', 'script'\n  ]\n\n  sax.EVENTS = [\n    'text',\n    'processinginstruction',\n    'sgmldeclaration',\n    'doctype',\n    'comment',\n    'opentagstart',\n    'attribute',\n    'opentag',\n    'closetag',\n    'opencdata',\n    'cdata',\n    'closecdata',\n    'error',\n    'end',\n    'ready',\n    'script',\n    'opennamespace',\n    'closenamespace'\n  ]\n\n  function SAXParser (strict, opt) {\n    if (!(this instanceof SAXParser)) {\n      return new SAXParser(strict, opt)\n    }\n\n    var parser = this\n    clearBuffers(parser)\n    parser.q = parser.c = ''\n    parser.bufferCheckPosition = sax.MAX_BUFFER_LENGTH\n    parser.opt = opt || {}\n    parser.opt.lowercase = parser.opt.lowercase || parser.opt.lowercasetags\n    parser.looseCase = parser.opt.lowercase ? 'toLowerCase' : 'toUpperCase'\n    parser.tags = []\n    parser.closed = parser.closedRoot = parser.sawRoot = false\n    parser.tag = parser.error = null\n    parser.strict = !!strict\n    parser.noscript = !!(strict || parser.opt.noscript)\n    parser.state = S.BEGIN\n    parser.strictEntities = parser.opt.strictEntities\n    parser.ENTITIES = parser.strictEntities ? Object.create(sax.XML_ENTITIES) : Object.create(sax.ENTITIES)\n    parser.attribList = []\n\n    // namespaces form a prototype chain.\n    // it always points at the current tag,\n    // which protos to its parent tag.\n    if (parser.opt.xmlns) {\n      parser.ns = Object.create(rootNS)\n    }\n\n    // mostly just for error reporting\n    parser.trackPosition = parser.opt.position !== false\n    if (parser.trackPosition) {\n      parser.position = parser.line = parser.column = 0\n    }\n    emit(parser, 'onready')\n  }\n\n  if (!Object.create) {\n    Object.create = function (o) {\n      function F () {}\n      F.prototype = o\n      var newf = new F()\n      return newf\n    }\n  }\n\n  if (!Object.keys) {\n    Object.keys = function (o) {\n      var a = []\n      for (var i in o) if (o.hasOwnProperty(i)) a.push(i)\n      return a\n    }\n  }\n\n  function checkBufferLength (parser) {\n    var maxAllowed = Math.max(sax.MAX_BUFFER_LENGTH, 10)\n    var maxActual = 0\n    for (var i = 0, l = buffers.length; i < l; i++) {\n      var len = parser[buffers[i]].length\n      if (len > maxAllowed) {\n        // Text/cdata nodes can get big, and since they're buffered,\n        // we can get here under normal conditions.\n        // Avoid issues by emitting the text node now,\n        // so at least it won't get any bigger.\n        switch (buffers[i]) {\n          case 'textNode':\n            closeText(parser)\n            break\n\n          case 'cdata':\n            emitNode(parser, 'oncdata', parser.cdata)\n            parser.cdata = ''\n            break\n\n          case 'script':\n            emitNode(parser, 'onscript', parser.script)\n            parser.script = ''\n            break\n\n          default:\n            error(parser, 'Max buffer length exceeded: ' + buffers[i])\n        }\n      }\n      maxActual = Math.max(maxActual, len)\n    }\n    // schedule the next check for the earliest possible buffer overrun.\n    var m = sax.MAX_BUFFER_LENGTH - maxActual\n    parser.bufferCheckPosition = m + parser.position\n  }\n\n  function clearBuffers (parser) {\n    for (var i = 0, l = buffers.length; i < l; i++) {\n      parser[buffers[i]] = ''\n    }\n  }\n\n  function flushBuffers (parser) {\n    closeText(parser)\n    if (parser.cdata !== '') {\n      emitNode(parser, 'oncdata', parser.cdata)\n      parser.cdata = ''\n    }\n    if (parser.script !== '') {\n      emitNode(parser, 'onscript', parser.script)\n      parser.script = ''\n    }\n  }\n\n  SAXParser.prototype = {\n    end: function () { end(this) },\n    write: write,\n    resume: function () { this.error = null; return this },\n    close: function () { return this.write(null) },\n    flush: function () { flushBuffers(this) }\n  }\n\n  var Stream\n  try {\n    Stream = require('stream').Stream\n  } catch (ex) {\n    Stream = function () {}\n  }\n\n  var streamWraps = sax.EVENTS.filter(function (ev) {\n    return ev !== 'error' && ev !== 'end'\n  })\n\n  function createStream (strict, opt) {\n    return new SAXStream(strict, opt)\n  }\n\n  function SAXStream (strict, opt) {\n    if (!(this instanceof SAXStream)) {\n      return new SAXStream(strict, opt)\n    }\n\n    Stream.apply(this)\n\n    this._parser = new SAXParser(strict, opt)\n    this.writable = true\n    this.readable = true\n\n    var me = this\n\n    this._parser.onend = function () {\n      me.emit('end')\n    }\n\n    this._parser.onerror = function (er) {\n      me.emit('error', er)\n\n      // if didn't throw, then means error was handled.\n      // go ahead and clear error, so we can write again.\n      me._parser.error = null\n    }\n\n    this._decoder = null\n\n    streamWraps.forEach(function (ev) {\n      Object.defineProperty(me, 'on' + ev, {\n        get: function () {\n          return me._parser['on' + ev]\n        },\n        set: function (h) {\n          if (!h) {\n            me.removeAllListeners(ev)\n            me._parser['on' + ev] = h\n            return h\n          }\n          me.on(ev, h)\n        },\n        enumerable: true,\n        configurable: false\n      })\n    })\n  }\n\n  SAXStream.prototype = Object.create(Stream.prototype, {\n    constructor: {\n      value: SAXStream\n    }\n  })\n\n  SAXStream.prototype.write = function (data) {\n    if (typeof Buffer === 'function' &&\n      typeof Buffer.isBuffer === 'function' &&\n      Buffer.isBuffer(data)) {\n      if (!this._decoder) {\n        var SD = require('string_decoder').StringDecoder\n        this._decoder = new SD('utf8')\n      }\n      data = this._decoder.write(data)\n    }\n\n    this._parser.write(data.toString())\n    this.emit('data', data)\n    return true\n  }\n\n  SAXStream.prototype.end = function (chunk) {\n    if (chunk && chunk.length) {\n      this.write(chunk)\n    }\n    this._parser.end()\n    return true\n  }\n\n  SAXStream.prototype.on = function (ev, handler) {\n    var me = this\n    if (!me._parser['on' + ev] && streamWraps.indexOf(ev) !== -1) {\n      me._parser['on' + ev] = function () {\n        var args = arguments.length === 1 ? [arguments[0]] : Array.apply(null, arguments)\n        args.splice(0, 0, ev)\n        me.emit.apply(me, args)\n      }\n    }\n\n    return Stream.prototype.on.call(me, ev, handler)\n  }\n\n  // this really needs to be replaced with character classes.\n  // XML allows all manner of ridiculous numbers and digits.\n  var CDATA = '[CDATA['\n  var DOCTYPE = 'DOCTYPE'\n  var XML_NAMESPACE = 'http://www.w3.org/XML/1998/namespace'\n  var XMLNS_NAMESPACE = 'http://www.w3.org/2000/xmlns/'\n  var rootNS = { xml: XML_NAMESPACE, xmlns: XMLNS_NAMESPACE }\n\n  // http://www.w3.org/TR/REC-xml/#NT-NameStartChar\n  // This implementation works on strings, a single character at a time\n  // as such, it cannot ever support astral-plane characters (10000-EFFFF)\n  // without a significant breaking change to either this  parser, or the\n  // JavaScript language.  Implementation of an emoji-capable xml parser\n  // is left as an exercise for the reader.\n  var nameStart = /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/\n\n  var nameBody = /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/\n\n  var entityStart = /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/\n  var entityBody = /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/\n\n  function isWhitespace (c) {\n    return c === ' ' || c === '\\n' || c === '\\r' || c === '\\t'\n  }\n\n  function isQuote (c) {\n    return c === '\"' || c === '\\''\n  }\n\n  function isAttribEnd (c) {\n    return c === '>' || isWhitespace(c)\n  }\n\n  function isMatch (regex, c) {\n    return regex.test(c)\n  }\n\n  function notMatch (regex, c) {\n    return !isMatch(regex, c)\n  }\n\n  var S = 0\n  sax.STATE = {\n    BEGIN: S++, // leading byte order mark or whitespace\n    BEGIN_WHITESPACE: S++, // leading whitespace\n    TEXT: S++, // general stuff\n    TEXT_ENTITY: S++, // &amp and such.\n    OPEN_WAKA: S++, // <\n    SGML_DECL: S++, // <!BLARG\n    SGML_DECL_QUOTED: S++, // <!BLARG foo \"bar\n    DOCTYPE: S++, // <!DOCTYPE\n    DOCTYPE_QUOTED: S++, // <!DOCTYPE \"//blah\n    DOCTYPE_DTD: S++, // <!DOCTYPE \"//blah\" [ ...\n    DOCTYPE_DTD_QUOTED: S++, // <!DOCTYPE \"//blah\" [ \"foo\n    COMMENT_STARTING: S++, // <!-\n    COMMENT: S++, // <!--\n    COMMENT_ENDING: S++, // <!-- blah -\n    COMMENT_ENDED: S++, // <!-- blah --\n    CDATA: S++, // <![CDATA[ something\n    CDATA_ENDING: S++, // ]\n    CDATA_ENDING_2: S++, // ]]\n    PROC_INST: S++, // <?hi\n    PROC_INST_BODY: S++, // <?hi there\n    PROC_INST_ENDING: S++, // <?hi \"there\" ?\n    OPEN_TAG: S++, // <strong\n    OPEN_TAG_SLASH: S++, // <strong /\n    ATTRIB: S++, // <a\n    ATTRIB_NAME: S++, // <a foo\n    ATTRIB_NAME_SAW_WHITE: S++, // <a foo _\n    ATTRIB_VALUE: S++, // <a foo=\n    ATTRIB_VALUE_QUOTED: S++, // <a foo=\"bar\n    ATTRIB_VALUE_CLOSED: S++, // <a foo=\"bar\"\n    ATTRIB_VALUE_UNQUOTED: S++, // <a foo=bar\n    ATTRIB_VALUE_ENTITY_Q: S++, // <foo bar=\"&quot;\"\n    ATTRIB_VALUE_ENTITY_U: S++, // <foo bar=&quot\n    CLOSE_TAG: S++, // </a\n    CLOSE_TAG_SAW_WHITE: S++, // </a   >\n    SCRIPT: S++, // <script> ...\n    SCRIPT_ENDING: S++ // <script> ... <\n  }\n\n  sax.XML_ENTITIES = {\n    'amp': '&',\n    'gt': '>',\n    'lt': '<',\n    'quot': '\"',\n    'apos': \"'\"\n  }\n\n  sax.ENTITIES = {\n    'amp': '&',\n    'gt': '>',\n    'lt': '<',\n    'quot': '\"',\n    'apos': \"'\",\n    'AElig': 198,\n    'Aacute': 193,\n    'Acirc': 194,\n    'Agrave': 192,\n    'Aring': 197,\n    'Atilde': 195,\n    'Auml': 196,\n    'Ccedil': 199,\n    'ETH': 208,\n    'Eacute': 201,\n    'Ecirc': 202,\n    'Egrave': 200,\n    'Euml': 203,\n    'Iacute': 205,\n    'Icirc': 206,\n    'Igrave': 204,\n    'Iuml': 207,\n    'Ntilde': 209,\n    'Oacute': 211,\n    'Ocirc': 212,\n    'Ograve': 210,\n    'Oslash': 216,\n    'Otilde': 213,\n    'Ouml': 214,\n    'THORN': 222,\n    'Uacute': 218,\n    'Ucirc': 219,\n    'Ugrave': 217,\n    'Uuml': 220,\n    'Yacute': 221,\n    'aacute': 225,\n    'acirc': 226,\n    'aelig': 230,\n    'agrave': 224,\n    'aring': 229,\n    'atilde': 227,\n    'auml': 228,\n    'ccedil': 231,\n    'eacute': 233,\n    'ecirc': 234,\n    'egrave': 232,\n    'eth': 240,\n    'euml': 235,\n    'iacute': 237,\n    'icirc': 238,\n    'igrave': 236,\n    'iuml': 239,\n    'ntilde': 241,\n    'oacute': 243,\n    'ocirc': 244,\n    'ograve': 242,\n    'oslash': 248,\n    'otilde': 245,\n    'ouml': 246,\n    'szlig': 223,\n    'thorn': 254,\n    'uacute': 250,\n    'ucirc': 251,\n    'ugrave': 249,\n    'uuml': 252,\n    'yacute': 253,\n    'yuml': 255,\n    'copy': 169,\n    'reg': 174,\n    'nbsp': 160,\n    'iexcl': 161,\n    'cent': 162,\n    'pound': 163,\n    'curren': 164,\n    'yen': 165,\n    'brvbar': 166,\n    'sect': 167,\n    'uml': 168,\n    'ordf': 170,\n    'laquo': 171,\n    'not': 172,\n    'shy': 173,\n    'macr': 175,\n    'deg': 176,\n    'plusmn': 177,\n    'sup1': 185,\n    'sup2': 178,\n    'sup3': 179,\n    'acute': 180,\n    'micro': 181,\n    'para': 182,\n    'middot': 183,\n    'cedil': 184,\n    'ordm': 186,\n    'raquo': 187,\n    'frac14': 188,\n    'frac12': 189,\n    'frac34': 190,\n    'iquest': 191,\n    'times': 215,\n    'divide': 247,\n    'OElig': 338,\n    'oelig': 339,\n    'Scaron': 352,\n    'scaron': 353,\n    'Yuml': 376,\n    'fnof': 402,\n    'circ': 710,\n    'tilde': 732,\n    'Alpha': 913,\n    'Beta': 914,\n    'Gamma': 915,\n    'Delta': 916,\n    'Epsilon': 917,\n    'Zeta': 918,\n    'Eta': 919,\n    'Theta': 920,\n    'Iota': 921,\n    'Kappa': 922,\n    'Lambda': 923,\n    'Mu': 924,\n    'Nu': 925,\n    'Xi': 926,\n    'Omicron': 927,\n    'Pi': 928,\n    'Rho': 929,\n    'Sigma': 931,\n    'Tau': 932,\n    'Upsilon': 933,\n    'Phi': 934,\n    'Chi': 935,\n    'Psi': 936,\n    'Omega': 937,\n    'alpha': 945,\n    'beta': 946,\n    'gamma': 947,\n    'delta': 948,\n    'epsilon': 949,\n    'zeta': 950,\n    'eta': 951,\n    'theta': 952,\n    'iota': 953,\n    'kappa': 954,\n    'lambda': 955,\n    'mu': 956,\n    'nu': 957,\n    'xi': 958,\n    'omicron': 959,\n    'pi': 960,\n    'rho': 961,\n    'sigmaf': 962,\n    'sigma': 963,\n    'tau': 964,\n    'upsilon': 965,\n    'phi': 966,\n    'chi': 967,\n    'psi': 968,\n    'omega': 969,\n    'thetasym': 977,\n    'upsih': 978,\n    'piv': 982,\n    'ensp': 8194,\n    'emsp': 8195,\n    'thinsp': 8201,\n    'zwnj': 8204,\n    'zwj': 8205,\n    'lrm': 8206,\n    'rlm': 8207,\n    'ndash': 8211,\n    'mdash': 8212,\n    'lsquo': 8216,\n    'rsquo': 8217,\n    'sbquo': 8218,\n    'ldquo': 8220,\n    'rdquo': 8221,\n    'bdquo': 8222,\n    'dagger': 8224,\n    'Dagger': 8225,\n    'bull': 8226,\n    'hellip': 8230,\n    'permil': 8240,\n    'prime': 8242,\n    'Prime': 8243,\n    'lsaquo': 8249,\n    'rsaquo': 8250,\n    'oline': 8254,\n    'frasl': 8260,\n    'euro': 8364,\n    'image': 8465,\n    'weierp': 8472,\n    'real': 8476,\n    'trade': 8482,\n    'alefsym': 8501,\n    'larr': 8592,\n    'uarr': 8593,\n    'rarr': 8594,\n    'darr': 8595,\n    'harr': 8596,\n    'crarr': 8629,\n    'lArr': 8656,\n    'uArr': 8657,\n    'rArr': 8658,\n    'dArr': 8659,\n    'hArr': 8660,\n    'forall': 8704,\n    'part': 8706,\n    'exist': 8707,\n    'empty': 8709,\n    'nabla': 8711,\n    'isin': 8712,\n    'notin': 8713,\n    'ni': 8715,\n    'prod': 8719,\n    'sum': 8721,\n    'minus': 8722,\n    'lowast': 8727,\n    'radic': 8730,\n    'prop': 8733,\n    'infin': 8734,\n    'ang': 8736,\n    'and': 8743,\n    'or': 8744,\n    'cap': 8745,\n    'cup': 8746,\n    'int': 8747,\n    'there4': 8756,\n    'sim': 8764,\n    'cong': 8773,\n    'asymp': 8776,\n    'ne': 8800,\n    'equiv': 8801,\n    'le': 8804,\n    'ge': 8805,\n    'sub': 8834,\n    'sup': 8835,\n    'nsub': 8836,\n    'sube': 8838,\n    'supe': 8839,\n    'oplus': 8853,\n    'otimes': 8855,\n    'perp': 8869,\n    'sdot': 8901,\n    'lceil': 8968,\n    'rceil': 8969,\n    'lfloor': 8970,\n    'rfloor': 8971,\n    'lang': 9001,\n    'rang': 9002,\n    'loz': 9674,\n    'spades': 9824,\n    'clubs': 9827,\n    'hearts': 9829,\n    'diams': 9830\n  }\n\n  Object.keys(sax.ENTITIES).forEach(function (key) {\n    var e = sax.ENTITIES[key]\n    var s = typeof e === 'number' ? String.fromCharCode(e) : e\n    sax.ENTITIES[key] = s\n  })\n\n  for (var s in sax.STATE) {\n    sax.STATE[sax.STATE[s]] = s\n  }\n\n  // shorthand\n  S = sax.STATE\n\n  function emit (parser, event, data) {\n    parser[event] && parser[event](data)\n  }\n\n  function emitNode (parser, nodeType, data) {\n    if (parser.textNode) closeText(parser)\n    emit(parser, nodeType, data)\n  }\n\n  function closeText (parser) {\n    parser.textNode = textopts(parser.opt, parser.textNode)\n    if (parser.textNode) emit(parser, 'ontext', parser.textNode)\n    parser.textNode = ''\n  }\n\n  function textopts (opt, text) {\n    if (opt.trim) text = text.trim()\n    if (opt.normalize) text = text.replace(/\\s+/g, ' ')\n    return text\n  }\n\n  function error (parser, er) {\n    closeText(parser)\n    if (parser.trackPosition) {\n      er += '\\nLine: ' + parser.line +\n        '\\nColumn: ' + parser.column +\n        '\\nChar: ' + parser.c\n    }\n    er = new Error(er)\n    parser.error = er\n    emit(parser, 'onerror', er)\n    return parser\n  }\n\n  function end (parser) {\n    if (parser.sawRoot && !parser.closedRoot) strictFail(parser, 'Unclosed root tag')\n    if ((parser.state !== S.BEGIN) &&\n      (parser.state !== S.BEGIN_WHITESPACE) &&\n      (parser.state !== S.TEXT)) {\n      error(parser, 'Unexpected end')\n    }\n    closeText(parser)\n    parser.c = ''\n    parser.closed = true\n    emit(parser, 'onend')\n    SAXParser.call(parser, parser.strict, parser.opt)\n    return parser\n  }\n\n  function strictFail (parser, message) {\n    if (typeof parser !== 'object' || !(parser instanceof SAXParser)) {\n      throw new Error('bad call to strictFail')\n    }\n    if (parser.strict) {\n      error(parser, message)\n    }\n  }\n\n  function newTag (parser) {\n    if (!parser.strict) parser.tagName = parser.tagName[parser.looseCase]()\n    var parent = parser.tags[parser.tags.length - 1] || parser\n    var tag = parser.tag = { name: parser.tagName, attributes: {} }\n\n    // will be overridden if tag contails an xmlns=\"foo\" or xmlns:foo=\"bar\"\n    if (parser.opt.xmlns) {\n      tag.ns = parent.ns\n    }\n    parser.attribList.length = 0\n    emitNode(parser, 'onopentagstart', tag)\n  }\n\n  function qname (name, attribute) {\n    var i = name.indexOf(':')\n    var qualName = i < 0 ? [ '', name ] : name.split(':')\n    var prefix = qualName[0]\n    var local = qualName[1]\n\n    // <x \"xmlns\"=\"http://foo\">\n    if (attribute && name === 'xmlns') {\n      prefix = 'xmlns'\n      local = ''\n    }\n\n    return { prefix: prefix, local: local }\n  }\n\n  function attrib (parser) {\n    if (!parser.strict) {\n      parser.attribName = parser.attribName[parser.looseCase]()\n    }\n\n    if (parser.attribList.indexOf(parser.attribName) !== -1 ||\n      parser.tag.attributes.hasOwnProperty(parser.attribName)) {\n      parser.attribName = parser.attribValue = ''\n      return\n    }\n\n    if (parser.opt.xmlns) {\n      var qn = qname(parser.attribName, true)\n      var prefix = qn.prefix\n      var local = qn.local\n\n      if (prefix === 'xmlns') {\n        // namespace binding attribute. push the binding into scope\n        if (local === 'xml' && parser.attribValue !== XML_NAMESPACE) {\n          strictFail(parser,\n            'xml: prefix must be bound to ' + XML_NAMESPACE + '\\n' +\n            'Actual: ' + parser.attribValue)\n        } else if (local === 'xmlns' && parser.attribValue !== XMLNS_NAMESPACE) {\n          strictFail(parser,\n            'xmlns: prefix must be bound to ' + XMLNS_NAMESPACE + '\\n' +\n            'Actual: ' + parser.attribValue)\n        } else {\n          var tag = parser.tag\n          var parent = parser.tags[parser.tags.length - 1] || parser\n          if (tag.ns === parent.ns) {\n            tag.ns = Object.create(parent.ns)\n          }\n          tag.ns[local] = parser.attribValue\n        }\n      }\n\n      // defer onattribute events until all attributes have been seen\n      // so any new bindings can take effect. preserve attribute order\n      // so deferred events can be emitted in document order\n      parser.attribList.push([parser.attribName, parser.attribValue])\n    } else {\n      // in non-xmlns mode, we can emit the event right away\n      parser.tag.attributes[parser.attribName] = parser.attribValue\n      emitNode(parser, 'onattribute', {\n        name: parser.attribName,\n        value: parser.attribValue\n      })\n    }\n\n    parser.attribName = parser.attribValue = ''\n  }\n\n  function openTag (parser, selfClosing) {\n    if (parser.opt.xmlns) {\n      // emit namespace binding events\n      var tag = parser.tag\n\n      // add namespace info to tag\n      var qn = qname(parser.tagName)\n      tag.prefix = qn.prefix\n      tag.local = qn.local\n      tag.uri = tag.ns[qn.prefix] || ''\n\n      if (tag.prefix && !tag.uri) {\n        strictFail(parser, 'Unbound namespace prefix: ' +\n          JSON.stringify(parser.tagName))\n        tag.uri = qn.prefix\n      }\n\n      var parent = parser.tags[parser.tags.length - 1] || parser\n      if (tag.ns && parent.ns !== tag.ns) {\n        Object.keys(tag.ns).forEach(function (p) {\n          emitNode(parser, 'onopennamespace', {\n            prefix: p,\n            uri: tag.ns[p]\n          })\n        })\n      }\n\n      // handle deferred onattribute events\n      // Note: do not apply default ns to attributes:\n      //   http://www.w3.org/TR/REC-xml-names/#defaulting\n      for (var i = 0, l = parser.attribList.length; i < l; i++) {\n        var nv = parser.attribList[i]\n        var name = nv[0]\n        var value = nv[1]\n        var qualName = qname(name, true)\n        var prefix = qualName.prefix\n        var local = qualName.local\n        var uri = prefix === '' ? '' : (tag.ns[prefix] || '')\n        var a = {\n          name: name,\n          value: value,\n          prefix: prefix,\n          local: local,\n          uri: uri\n        }\n\n        // if there's any attributes with an undefined namespace,\n        // then fail on them now.\n        if (prefix && prefix !== 'xmlns' && !uri) {\n          strictFail(parser, 'Unbound namespace prefix: ' +\n            JSON.stringify(prefix))\n          a.uri = prefix\n        }\n        parser.tag.attributes[name] = a\n        emitNode(parser, 'onattribute', a)\n      }\n      parser.attribList.length = 0\n    }\n\n    parser.tag.isSelfClosing = !!selfClosing\n\n    // process the tag\n    parser.sawRoot = true\n    parser.tags.push(parser.tag)\n    emitNode(parser, 'onopentag', parser.tag)\n    if (!selfClosing) {\n      // special case for <script> in non-strict mode.\n      if (!parser.noscript && parser.tagName.toLowerCase() === 'script') {\n        parser.state = S.SCRIPT\n      } else {\n        parser.state = S.TEXT\n      }\n      parser.tag = null\n      parser.tagName = ''\n    }\n    parser.attribName = parser.attribValue = ''\n    parser.attribList.length = 0\n  }\n\n  function closeTag (parser) {\n    if (!parser.tagName) {\n      strictFail(parser, 'Weird empty close tag.')\n      parser.textNode += '</>'\n      parser.state = S.TEXT\n      return\n    }\n\n    if (parser.script) {\n      if (parser.tagName !== 'script') {\n        parser.script += '</' + parser.tagName + '>'\n        parser.tagName = ''\n        parser.state = S.SCRIPT\n        return\n      }\n      emitNode(parser, 'onscript', parser.script)\n      parser.script = ''\n    }\n\n    // first make sure that the closing tag actually exists.\n    // <a><b></c></b></a> will close everything, otherwise.\n    var t = parser.tags.length\n    var tagName = parser.tagName\n    if (!parser.strict) {\n      tagName = tagName[parser.looseCase]()\n    }\n    var closeTo = tagName\n    while (t--) {\n      var close = parser.tags[t]\n      if (close.name !== closeTo) {\n        // fail the first time in strict mode\n        strictFail(parser, 'Unexpected close tag')\n      } else {\n        break\n      }\n    }\n\n    // didn't find it.  we already failed for strict, so just abort.\n    if (t < 0) {\n      strictFail(parser, 'Unmatched closing tag: ' + parser.tagName)\n      parser.textNode += '</' + parser.tagName + '>'\n      parser.state = S.TEXT\n      return\n    }\n    parser.tagName = tagName\n    var s = parser.tags.length\n    while (s-- > t) {\n      var tag = parser.tag = parser.tags.pop()\n      parser.tagName = parser.tag.name\n      emitNode(parser, 'onclosetag', parser.tagName)\n\n      var x = {}\n      for (var i in tag.ns) {\n        x[i] = tag.ns[i]\n      }\n\n      var parent = parser.tags[parser.tags.length - 1] || parser\n      if (parser.opt.xmlns && tag.ns !== parent.ns) {\n        // remove namespace bindings introduced by tag\n        Object.keys(tag.ns).forEach(function (p) {\n          var n = tag.ns[p]\n          emitNode(parser, 'onclosenamespace', { prefix: p, uri: n })\n        })\n      }\n    }\n    if (t === 0) parser.closedRoot = true\n    parser.tagName = parser.attribValue = parser.attribName = ''\n    parser.attribList.length = 0\n    parser.state = S.TEXT\n  }\n\n  function parseEntity (parser) {\n    var entity = parser.entity\n    var entityLC = entity.toLowerCase()\n    var num\n    var numStr = ''\n\n    if (parser.ENTITIES[entity]) {\n      return parser.ENTITIES[entity]\n    }\n    if (parser.ENTITIES[entityLC]) {\n      return parser.ENTITIES[entityLC]\n    }\n    entity = entityLC\n    if (entity.charAt(0) === '#') {\n      if (entity.charAt(1) === 'x') {\n        entity = entity.slice(2)\n        num = parseInt(entity, 16)\n        numStr = num.toString(16)\n      } else {\n        entity = entity.slice(1)\n        num = parseInt(entity, 10)\n        numStr = num.toString(10)\n      }\n    }\n    entity = entity.replace(/^0+/, '')\n    if (isNaN(num) || numStr.toLowerCase() !== entity) {\n      strictFail(parser, 'Invalid character entity')\n      return '&' + parser.entity + ';'\n    }\n\n    return String.fromCodePoint(num)\n  }\n\n  function beginWhiteSpace (parser, c) {\n    if (c === '<') {\n      parser.state = S.OPEN_WAKA\n      parser.startTagPosition = parser.position\n    } else if (!isWhitespace(c)) {\n      // have to process this as a text node.\n      // weird, but happens.\n      strictFail(parser, 'Non-whitespace before first tag.')\n      parser.textNode = c\n      parser.state = S.TEXT\n    }\n  }\n\n  function charAt (chunk, i) {\n    var result = ''\n    if (i < chunk.length) {\n      result = chunk.charAt(i)\n    }\n    return result\n  }\n\n  function write (chunk) {\n    var parser = this\n    if (this.error) {\n      throw this.error\n    }\n    if (parser.closed) {\n      return error(parser,\n        'Cannot write after close. Assign an onready handler.')\n    }\n    if (chunk === null) {\n      return end(parser)\n    }\n    if (typeof chunk === 'object') {\n      chunk = chunk.toString()\n    }\n    var i = 0\n    var c = ''\n    while (true) {\n      c = charAt(chunk, i++)\n      parser.c = c\n\n      if (!c) {\n        break\n      }\n\n      if (parser.trackPosition) {\n        parser.position++\n        if (c === '\\n') {\n          parser.line++\n          parser.column = 0\n        } else {\n          parser.column++\n        }\n      }\n\n      switch (parser.state) {\n        case S.BEGIN:\n          parser.state = S.BEGIN_WHITESPACE\n          if (c === '\\uFEFF') {\n            continue\n          }\n          beginWhiteSpace(parser, c)\n          continue\n\n        case S.BEGIN_WHITESPACE:\n          beginWhiteSpace(parser, c)\n          continue\n\n        case S.TEXT:\n          if (parser.sawRoot && !parser.closedRoot) {\n            var starti = i - 1\n            while (c && c !== '<' && c !== '&') {\n              c = charAt(chunk, i++)\n              if (c && parser.trackPosition) {\n                parser.position++\n                if (c === '\\n') {\n                  parser.line++\n                  parser.column = 0\n                } else {\n                  parser.column++\n                }\n              }\n            }\n            parser.textNode += chunk.substring(starti, i - 1)\n          }\n          if (c === '<' && !(parser.sawRoot && parser.closedRoot && !parser.strict)) {\n            parser.state = S.OPEN_WAKA\n            parser.startTagPosition = parser.position\n          } else {\n            if (!isWhitespace(c) && (!parser.sawRoot || parser.closedRoot)) {\n              strictFail(parser, 'Text data outside of root node.')\n            }\n            if (c === '&') {\n              parser.state = S.TEXT_ENTITY\n            } else {\n              parser.textNode += c\n            }\n          }\n          continue\n\n        case S.SCRIPT:\n          // only non-strict\n          if (c === '<') {\n            parser.state = S.SCRIPT_ENDING\n          } else {\n            parser.script += c\n          }\n          continue\n\n        case S.SCRIPT_ENDING:\n          if (c === '/') {\n            parser.state = S.CLOSE_TAG\n          } else {\n            parser.script += '<' + c\n            parser.state = S.SCRIPT\n          }\n          continue\n\n        case S.OPEN_WAKA:\n          // either a /, ?, !, or text is coming next.\n          if (c === '!') {\n            parser.state = S.SGML_DECL\n            parser.sgmlDecl = ''\n          } else if (isWhitespace(c)) {\n            // wait for it...\n          } else if (isMatch(nameStart, c)) {\n            parser.state = S.OPEN_TAG\n            parser.tagName = c\n          } else if (c === '/') {\n            parser.state = S.CLOSE_TAG\n            parser.tagName = ''\n          } else if (c === '?') {\n            parser.state = S.PROC_INST\n            parser.procInstName = parser.procInstBody = ''\n          } else {\n            strictFail(parser, 'Unencoded <')\n            // if there was some whitespace, then add that in.\n            if (parser.startTagPosition + 1 < parser.position) {\n              var pad = parser.position - parser.startTagPosition\n              c = new Array(pad).join(' ') + c\n            }\n            parser.textNode += '<' + c\n            parser.state = S.TEXT\n          }\n          continue\n\n        case S.SGML_DECL:\n          if ((parser.sgmlDecl + c).toUpperCase() === CDATA) {\n            emitNode(parser, 'onopencdata')\n            parser.state = S.CDATA\n            parser.sgmlDecl = ''\n            parser.cdata = ''\n          } else if (parser.sgmlDecl + c === '--') {\n            parser.state = S.COMMENT\n            parser.comment = ''\n            parser.sgmlDecl = ''\n          } else if ((parser.sgmlDecl + c).toUpperCase() === DOCTYPE) {\n            parser.state = S.DOCTYPE\n            if (parser.doctype || parser.sawRoot) {\n              strictFail(parser,\n                'Inappropriately located doctype declaration')\n            }\n            parser.doctype = ''\n            parser.sgmlDecl = ''\n          } else if (c === '>') {\n            emitNode(parser, 'onsgmldeclaration', parser.sgmlDecl)\n            parser.sgmlDecl = ''\n            parser.state = S.TEXT\n          } else if (isQuote(c)) {\n            parser.state = S.SGML_DECL_QUOTED\n            parser.sgmlDecl += c\n          } else {\n            parser.sgmlDecl += c\n          }\n          continue\n\n        case S.SGML_DECL_QUOTED:\n          if (c === parser.q) {\n            parser.state = S.SGML_DECL\n            parser.q = ''\n          }\n          parser.sgmlDecl += c\n          continue\n\n        case S.DOCTYPE:\n          if (c === '>') {\n            parser.state = S.TEXT\n            emitNode(parser, 'ondoctype', parser.doctype)\n            parser.doctype = true // just remember that we saw it.\n          } else {\n            parser.doctype += c\n            if (c === '[') {\n              parser.state = S.DOCTYPE_DTD\n            } else if (isQuote(c)) {\n              parser.state = S.DOCTYPE_QUOTED\n              parser.q = c\n            }\n          }\n          continue\n\n        case S.DOCTYPE_QUOTED:\n          parser.doctype += c\n          if (c === parser.q) {\n            parser.q = ''\n            parser.state = S.DOCTYPE\n          }\n          continue\n\n        case S.DOCTYPE_DTD:\n          parser.doctype += c\n          if (c === ']') {\n            parser.state = S.DOCTYPE\n          } else if (isQuote(c)) {\n            parser.state = S.DOCTYPE_DTD_QUOTED\n            parser.q = c\n          }\n          continue\n\n        case S.DOCTYPE_DTD_QUOTED:\n          parser.doctype += c\n          if (c === parser.q) {\n            parser.state = S.DOCTYPE_DTD\n            parser.q = ''\n          }\n          continue\n\n        case S.COMMENT:\n          if (c === '-') {\n            parser.state = S.COMMENT_ENDING\n          } else {\n            parser.comment += c\n          }\n          continue\n\n        case S.COMMENT_ENDING:\n          if (c === '-') {\n            parser.state = S.COMMENT_ENDED\n            parser.comment = textopts(parser.opt, parser.comment)\n            if (parser.comment) {\n              emitNode(parser, 'oncomment', parser.comment)\n            }\n            parser.comment = ''\n          } else {\n            parser.comment += '-' + c\n            parser.state = S.COMMENT\n          }\n          continue\n\n        case S.COMMENT_ENDED:\n          if (c !== '>') {\n            strictFail(parser, 'Malformed comment')\n            // allow <!-- blah -- bloo --> in non-strict mode,\n            // which is a comment of \" blah -- bloo \"\n            parser.comment += '--' + c\n            parser.state = S.COMMENT\n          } else {\n            parser.state = S.TEXT\n          }\n          continue\n\n        case S.CDATA:\n          if (c === ']') {\n            parser.state = S.CDATA_ENDING\n          } else {\n            parser.cdata += c\n          }\n          continue\n\n        case S.CDATA_ENDING:\n          if (c === ']') {\n            parser.state = S.CDATA_ENDING_2\n          } else {\n            parser.cdata += ']' + c\n            parser.state = S.CDATA\n          }\n          continue\n\n        case S.CDATA_ENDING_2:\n          if (c === '>') {\n            if (parser.cdata) {\n              emitNode(parser, 'oncdata', parser.cdata)\n            }\n            emitNode(parser, 'onclosecdata')\n            parser.cdata = ''\n            parser.state = S.TEXT\n          } else if (c === ']') {\n            parser.cdata += ']'\n          } else {\n            parser.cdata += ']]' + c\n            parser.state = S.CDATA\n          }\n          continue\n\n        case S.PROC_INST:\n          if (c === '?') {\n            parser.state = S.PROC_INST_ENDING\n          } else if (isWhitespace(c)) {\n            parser.state = S.PROC_INST_BODY\n          } else {\n            parser.procInstName += c\n          }\n          continue\n\n        case S.PROC_INST_BODY:\n          if (!parser.procInstBody && isWhitespace(c)) {\n            continue\n          } else if (c === '?') {\n            parser.state = S.PROC_INST_ENDING\n          } else {\n            parser.procInstBody += c\n          }\n          continue\n\n        case S.PROC_INST_ENDING:\n          if (c === '>') {\n            emitNode(parser, 'onprocessinginstruction', {\n              name: parser.procInstName,\n              body: parser.procInstBody\n            })\n            parser.procInstName = parser.procInstBody = ''\n            parser.state = S.TEXT\n          } else {\n            parser.procInstBody += '?' + c\n            parser.state = S.PROC_INST_BODY\n          }\n          continue\n\n        case S.OPEN_TAG:\n          if (isMatch(nameBody, c)) {\n            parser.tagName += c\n          } else {\n            newTag(parser)\n            if (c === '>') {\n              openTag(parser)\n            } else if (c === '/') {\n              parser.state = S.OPEN_TAG_SLASH\n            } else {\n              if (!isWhitespace(c)) {\n                strictFail(parser, 'Invalid character in tag name')\n              }\n              parser.state = S.ATTRIB\n            }\n          }\n          continue\n\n        case S.OPEN_TAG_SLASH:\n          if (c === '>') {\n            openTag(parser, true)\n            closeTag(parser)\n          } else {\n            strictFail(parser, 'Forward-slash in opening tag not followed by >')\n            parser.state = S.ATTRIB\n          }\n          continue\n\n        case S.ATTRIB:\n          // haven't read the attribute name yet.\n          if (isWhitespace(c)) {\n            continue\n          } else if (c === '>') {\n            openTag(parser)\n          } else if (c === '/') {\n            parser.state = S.OPEN_TAG_SLASH\n          } else if (isMatch(nameStart, c)) {\n            parser.attribName = c\n            parser.attribValue = ''\n            parser.state = S.ATTRIB_NAME\n          } else {\n            strictFail(parser, 'Invalid attribute name')\n          }\n          continue\n\n        case S.ATTRIB_NAME:\n          if (c === '=') {\n            parser.state = S.ATTRIB_VALUE\n          } else if (c === '>') {\n            strictFail(parser, 'Attribute without value')\n            parser.attribValue = parser.attribName\n            attrib(parser)\n            openTag(parser)\n          } else if (isWhitespace(c)) {\n            parser.state = S.ATTRIB_NAME_SAW_WHITE\n          } else if (isMatch(nameBody, c)) {\n            parser.attribName += c\n          } else {\n            strictFail(parser, 'Invalid attribute name')\n          }\n          continue\n\n        case S.ATTRIB_NAME_SAW_WHITE:\n          if (c === '=') {\n            parser.state = S.ATTRIB_VALUE\n          } else if (isWhitespace(c)) {\n            continue\n          } else {\n            strictFail(parser, 'Attribute without value')\n            parser.tag.attributes[parser.attribName] = ''\n            parser.attribValue = ''\n            emitNode(parser, 'onattribute', {\n              name: parser.attribName,\n              value: ''\n            })\n            parser.attribName = ''\n            if (c === '>') {\n              openTag(parser)\n            } else if (isMatch(nameStart, c)) {\n              parser.attribName = c\n              parser.state = S.ATTRIB_NAME\n            } else {\n              strictFail(parser, 'Invalid attribute name')\n              parser.state = S.ATTRIB\n            }\n          }\n          continue\n\n        case S.ATTRIB_VALUE:\n          if (isWhitespace(c)) {\n            continue\n          } else if (isQuote(c)) {\n            parser.q = c\n            parser.state = S.ATTRIB_VALUE_QUOTED\n          } else {\n            strictFail(parser, 'Unquoted attribute value')\n            parser.state = S.ATTRIB_VALUE_UNQUOTED\n            parser.attribValue = c\n          }\n          continue\n\n        case S.ATTRIB_VALUE_QUOTED:\n          if (c !== parser.q) {\n            if (c === '&') {\n              parser.state = S.ATTRIB_VALUE_ENTITY_Q\n            } else {\n              parser.attribValue += c\n            }\n            continue\n          }\n          attrib(parser)\n          parser.q = ''\n          parser.state = S.ATTRIB_VALUE_CLOSED\n          continue\n\n        case S.ATTRIB_VALUE_CLOSED:\n          if (isWhitespace(c)) {\n            parser.state = S.ATTRIB\n          } else if (c === '>') {\n            openTag(parser)\n          } else if (c === '/') {\n            parser.state = S.OPEN_TAG_SLASH\n          } else if (isMatch(nameStart, c)) {\n            strictFail(parser, 'No whitespace between attributes')\n            parser.attribName = c\n            parser.attribValue = ''\n            parser.state = S.ATTRIB_NAME\n          } else {\n            strictFail(parser, 'Invalid attribute name')\n          }\n          continue\n\n        case S.ATTRIB_VALUE_UNQUOTED:\n          if (!isAttribEnd(c)) {\n            if (c === '&') {\n              parser.state = S.ATTRIB_VALUE_ENTITY_U\n            } else {\n              parser.attribValue += c\n            }\n            continue\n          }\n          attrib(parser)\n          if (c === '>') {\n            openTag(parser)\n          } else {\n            parser.state = S.ATTRIB\n          }\n          continue\n\n        case S.CLOSE_TAG:\n          if (!parser.tagName) {\n            if (isWhitespace(c)) {\n              continue\n            } else if (notMatch(nameStart, c)) {\n              if (parser.script) {\n                parser.script += '</' + c\n                parser.state = S.SCRIPT\n              } else {\n                strictFail(parser, 'Invalid tagname in closing tag.')\n              }\n            } else {\n              parser.tagName = c\n            }\n          } else if (c === '>') {\n            closeTag(parser)\n          } else if (isMatch(nameBody, c)) {\n            parser.tagName += c\n          } else if (parser.script) {\n            parser.script += '</' + parser.tagName\n            parser.tagName = ''\n            parser.state = S.SCRIPT\n          } else {\n            if (!isWhitespace(c)) {\n              strictFail(parser, 'Invalid tagname in closing tag')\n            }\n            parser.state = S.CLOSE_TAG_SAW_WHITE\n          }\n          continue\n\n        case S.CLOSE_TAG_SAW_WHITE:\n          if (isWhitespace(c)) {\n            continue\n          }\n          if (c === '>') {\n            closeTag(parser)\n          } else {\n            strictFail(parser, 'Invalid characters in closing tag')\n          }\n          continue\n\n        case S.TEXT_ENTITY:\n        case S.ATTRIB_VALUE_ENTITY_Q:\n        case S.ATTRIB_VALUE_ENTITY_U:\n          var returnState\n          var buffer\n          switch (parser.state) {\n            case S.TEXT_ENTITY:\n              returnState = S.TEXT\n              buffer = 'textNode'\n              break\n\n            case S.ATTRIB_VALUE_ENTITY_Q:\n              returnState = S.ATTRIB_VALUE_QUOTED\n              buffer = 'attribValue'\n              break\n\n            case S.ATTRIB_VALUE_ENTITY_U:\n              returnState = S.ATTRIB_VALUE_UNQUOTED\n              buffer = 'attribValue'\n              break\n          }\n\n          if (c === ';') {\n            parser[buffer] += parseEntity(parser)\n            parser.entity = ''\n            parser.state = returnState\n          } else if (isMatch(parser.entity.length ? entityBody : entityStart, c)) {\n            parser.entity += c\n          } else {\n            strictFail(parser, 'Invalid character in entity name')\n            parser[buffer] += '&' + parser.entity + c\n            parser.entity = ''\n            parser.state = returnState\n          }\n\n          continue\n\n        default:\n          throw new Error(parser, 'Unknown state: ' + parser.state)\n      }\n    } // while\n\n    if (parser.position >= parser.bufferCheckPosition) {\n      checkBufferLength(parser)\n    }\n    return parser\n  }\n\n  /*! http://mths.be/fromcodepoint v0.1.0 by @mathias */\n  /* istanbul ignore next */\n  if (!String.fromCodePoint) {\n    (function () {\n      var stringFromCharCode = String.fromCharCode\n      var floor = Math.floor\n      var fromCodePoint = function () {\n        var MAX_SIZE = 0x4000\n        var codeUnits = []\n        var highSurrogate\n        var lowSurrogate\n        var index = -1\n        var length = arguments.length\n        if (!length) {\n          return ''\n        }\n        var result = ''\n        while (++index < length) {\n          var codePoint = Number(arguments[index])\n          if (\n            !isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity`\n            codePoint < 0 || // not a valid Unicode code point\n            codePoint > 0x10FFFF || // not a valid Unicode code point\n            floor(codePoint) !== codePoint // not an integer\n          ) {\n            throw RangeError('Invalid code point: ' + codePoint)\n          }\n          if (codePoint <= 0xFFFF) { // BMP code point\n            codeUnits.push(codePoint)\n          } else { // Astral code point; split in surrogate halves\n            // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n            codePoint -= 0x10000\n            highSurrogate = (codePoint >> 10) + 0xD800\n            lowSurrogate = (codePoint % 0x400) + 0xDC00\n            codeUnits.push(highSurrogate, lowSurrogate)\n          }\n          if (index + 1 === length || codeUnits.length > MAX_SIZE) {\n            result += stringFromCharCode.apply(null, codeUnits)\n            codeUnits.length = 0\n          }\n        }\n        return result\n      }\n      /* istanbul ignore next */\n      if (Object.defineProperty) {\n        Object.defineProperty(String, 'fromCodePoint', {\n          value: fromCodePoint,\n          configurable: true,\n          writable: true\n        })\n      } else {\n        String.fromCodePoint = fromCodePoint\n      }\n    }())\n  }\n})(typeof exports === 'undefined' ? this.sax = {} : exports)\n"
  },
  {
    "path": "plugins/tiddlywiki/sax/files/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": [\n\t\t{\n\t\t\t\"file\": \"lib/sax.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/sax/sax.js\",\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t}\n\t\t},{\n\t\t\t\"file\": \"LICENSE\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"text/plain\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/sax/license\"\n\t\t\t}\n\t\t}\n\t]\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/sax/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/sax\",\n\t\"name\": \"sax js\",\n\t\"description\": \"sax.js library\",\n\t\"author\": \"Isaac Z. Schlueter\",\n\t\"list\": \"readme license\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/sax/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/sax/readme\n\nThis plugin packages [[sax.js|https://github.com/isaacs/sax-js]] for use by other plugins. It does not provide any end-user visible features.\n"
  },
  {
    "path": "plugins/tiddlywiki/share/DefaultTiddlers.tid",
    "content": "title: $:/DefaultTiddlers\n\n[list[$:/StoryList]]"
  },
  {
    "path": "plugins/tiddlywiki/share/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\ntools to share tiddlers via URLs"
  },
  {
    "path": "plugins/tiddlywiki/share/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\nShare"
  },
  {
    "path": "plugins/tiddlywiki/share/above-story.tid",
    "content": "title: $:/plugins/tiddlywiki/share/above-story\ntags: $:/tags/AboveStory\n\n<$transclude tiddler=\"$:/plugins/tiddlywiki/share/wizard\" mode=\"block\"/>\n"
  },
  {
    "path": "plugins/tiddlywiki/share/base-url.tid",
    "content": "title: $:/config/plugins/share/base-url\ntext: \n"
  },
  {
    "path": "plugins/tiddlywiki/share/exclusions.tid",
    "content": "title: $:/config/plugins/share/exclusions\ntext: $:/library/sjcl.js $:/boot/bootprefix.js $:/boot/boot.js $:/boot/boot.css $:/core $:/isEncrypted $:/plugins/tiddlywiki/share $:/status/RequireReloadDueToPluginChange $:/temp/info-plugin $:/themes/tiddlywiki/snowwhite $:/themes/tiddlywiki/vanilla $:/HistoryList [prefix[$:/temp/]] [[$:/build]]\n"
  },
  {
    "path": "plugins/tiddlywiki/share/filter.tid",
    "content": "title: $:/config/plugins/share/filter\ntext: [all[tiddlers]] -[subfilter{$:/config/plugins/share/exclusions}]\n"
  },
  {
    "path": "plugins/tiddlywiki/share/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/share\",\n\t\"name\": \"Share\",\n\t\"description\": \"Sharing tiddlers via URLs\",\n\t\"list\": \"readme wizard settings\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/share/pluginreloadwarning.tid",
    "content": "title: $:/core/ui/PageTemplate/pluginreloadwarning\n\n<!-- Disable plugin reload warnings -->\n"
  },
  {
    "path": "plugins/tiddlywiki/share/rawmarkup.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/share/rawmarkup.js\ntype: application/javascript\nmodule-type: library\n\nRead tiddlers from the browser location hash\n\n\\*/\n\n\"use strict\";\n\n// Get the hash\nvar hash;\ntry {\n\thash = decodeURIComponent(document.location.hash.substring(1));\n} catch(e) {\n}\nif(hash && hash.charAt(0) === \"#\") {\n\t// Try to parse the hash as JSON\n\tif(hash) {\n\t\tvar tiddlers;\n\t\ttry {\n\t\t\ttiddlers= JSON.parse(hash.substr(1));\n\t\t} catch(ex) {\n\t\t\tconsole.log(\"Share plugin: Error parsing JSON from location hash\",ex);\n\t\t}\n\t\tif(tiddlers) {\n\t\t\t// Need to initialise these because we run before bootprefix.js and boot.js\n\t\t\twindow.$tw = window.$tw || {};\n\t\t\t$tw.boot = $tw.boot || {};\n\t\t\t$tw.preloadTiddlers = $tw.preloadTiddlers || [];\n\t\t\t// Prevent TiddlyWiki from booting\n\t\t\t$tw.boot.suppressBoot = true;\n\t\t\t// Load our styles\n\t\t\tvar stylesWrapper = document.createElement(\"style\");\n\t\t\tstylesWrapper.innerHTML = tiddlywikiSharePluginStartupWarningCss;\n\t\t\tdocument.documentElement.appendChild(stylesWrapper);\n\t\t\t// Display the warning banner\n\t\t\tvar warningWrapper = document.createElement(\"div\");\n\t\t\twarningWrapper.innerHTML = tiddlywikiSharePluginStartupWarningHtml;\n\t\t\tdocument.documentElement.appendChild(warningWrapper);\n\t\t\t// Add our event handlers\n\t\t\tdocument.getElementById(\"startup-warning-proceed\").addEventListener(\"click\",actionProceed,false);\n\t\t\tdocument.getElementById(\"startup-warning-cancel\").addEventListener(\"click\",actionCancel,false);\n\t\t\t// Sort the incoming tiddlers by title\n\t\t\ttiddlers = tiddlers.sort(function(a,b) {\n\t\t\t\tif(a.title < b.title) {\n\t\t\t\t\treturn -1;\n\t\t\t\t} else if(a.title > b.title) {\n\t\t\t\t\treturn +1;\n\t\t\t\t} else {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t});\n\t\t\t// Load the tiddler preview\t\t\t\t\t\t\n\t\t\tvar previewWrapper = document.getElementById(\"startup-warning-preview\");\n\t\t\tfor(var index=0; index < tiddlers.length; index++) {\n\t\t\t\tvar tiddler = tiddlers[index],\n\t\t\t\t\ttiddlerWrapper = document.createElement(\"li\"),\n\t\t\t\t\ttitleTextWrapper = document.createElement(\"span\"),\n\t\t\t\t\ttitleText = document.createTextNode(tiddler.title),\n\t\t\t\t\tfieldsTable = document.createElement(\"table\"),\n\t\t\t\t\tfieldsTableBody = document.createElement(\"tbody\");\n\t\t\t\ttitleTextWrapper.appendChild(titleText);\n\t\t\t\ttitleTextWrapper.className = \"tiddler-title\";\n\t\t\t\ttiddlerWrapper.appendChild(titleTextWrapper);\n\t\t\t\tfieldsTable.appendChild(fieldsTableBody);\n\t\t\t\tvar fields = Object.keys(tiddler).sort();\n\t\t\t\tfor(var fieldIndex = 0; fieldIndex < fields.length; fieldIndex++) {\n\t\t\t\t\tvar fieldName = fields[fieldIndex],\n\t\t\t\t\t\tfieldValue = tiddler[fieldName];\n\t\t\t\t\tif(fieldName !== \"title\") {\n\t\t\t\t\t\tvar fieldRow = document.createElement(\"tr\"),\n\t\t\t\t\t\t\tfieldRowHeader = document.createElement(\"th\"),\n\t\t\t\t\t\t\tfieldRowValue = document.createElement(\"td\");\n\t\t\t\t\t\tfieldRowHeader.appendChild(document.createTextNode(fieldName));\n\t\t\t\t\t\tfieldRowValue.appendChild(document.createTextNode(fieldValue));\n\t\t\t\t\t\tfieldRow.appendChild(fieldRowHeader);\n\t\t\t\t\t\tfieldRow.appendChild(fieldRowValue);\n\t\t\t\t\t\tfieldsTableBody.appendChild(fieldRow);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\ttiddlerWrapper.appendChild(fieldsTable);\n\t\t\t\tpreviewWrapper.appendChild(tiddlerWrapper);\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction actionProceed() {\n\t// Remove the banner, load our tiddlers, and boot TiddlyWiki\n\tremoveWarningBanner();\n\t$tw.preloadTiddlers = $tw.preloadTiddlers.concat(tiddlers);\n\t$tw.boot.boot();\n}\n\nfunction actionCancel() {\n\t// Remove the banner, clear the location hash, and boot TiddlyWiki\n\tremoveWarningBanner();\n\tdocument.location.hash = \"#\";\n\t$tw.boot.boot();\n}\n\nfunction removeWarningBanner() {\n\twarningWrapper.parentNode.removeChild(warningWrapper);\n\tstylesWrapper.parentNode.removeChild(stylesWrapper);\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/share/rawmarkup.tid",
    "content": "title: $:/plugins/tiddlywiki/share/rawmarkup\ntags: $:/tags/RawMarkupWikified\n\n`<script>`\n`var tiddlywikiSharePluginStartupWarningHtml = \"`<$view tiddler=\"$:/plugins/tiddlywiki/share/startup-warning.html\" format=\"jsencoded\"/>`\";`\n`var tiddlywikiSharePluginStartupWarningCss = \"`<$view tiddler=\"$:/plugins/tiddlywiki/share/startup-warning.css\" format=\"jsencoded\"/>`\";`\n{{$:/plugins/tiddlywiki/share/rawmarkup.js}}\n`</script>`\n"
  },
  {
    "path": "plugins/tiddlywiki/share/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/share/readme\n\n<div class=\"tc-message-box\">Do not install this plugin unless you understand exactly what it does</div>\n\nThis experimental plugin provides tools to share tiddlers via URLs, comprising:\n\n* The ability to load a group of tiddlers from the browser location hash at startup\n* Wizard and templates to create URLs from group of tiddlers\n\n"
  },
  {
    "path": "plugins/tiddlywiki/share/settings.tid",
    "content": "title: $:/plugins/tiddlywiki/share/settings\ncaption: Share\ntags: $:/tags/ControlPanel/SettingsTab\n\n!! Base sharing URL\n\n//Defaults to the current location//\n\n<$edit-text tiddler=\"$:/config/plugins/share/base-url\" tag=\"input\" class=\"tc-sharing-wizard-editor\"/>\n"
  },
  {
    "path": "plugins/tiddlywiki/share/startup-warning.css",
    "content": "\n.startup-warning-wrapper {\n\tfont-family: sans-serif;\n\tline-height: 1.4;\n\twidth: 50%;\n\tmargin: 1em auto 0 auto;\n\tpadding: 0 1em;\n\tborder: 6px solid transparent;\n\tborder-radius: 8px;\n\tbackground: linear-gradient(white, white) padding-box, repeating-linear-gradient(-45deg, red 0, red 25%, transparent 0, transparent 50%) 0 / .6em .6em;\n\tanimation: marching-ants 20s linear infinite;\n}\n\n@media (max-width: 600px) {\n\t.startup-warning-wrapper {\n\t\twidth: 85%;\n\t}\n}\n\n#startup-warning-preview {\n    list-style-type: none;\n    padding-left: 0;\n}\n\n#startup-warning-preview .tiddler-title {\n    font-weight: bold;\n    font-size: 1.2em;\n}\n\n#startup-warning-preview table {\n\tmargin-left: 1em;\n}\n\n#startup-warning-preview th {\n\tvertical-align: top;\n\tfont-weight: normal;\n}\n\n#startup-warning-preview td {\n\tfont-family: monospace;\n    white-space: pre-wrap;\n    background: #f8f8f8;\n}\n\n.startup-warning-wrapper button {\n    padding: 0.3em;\n    border-radius: 4px;\n    font-size: 1.5em;\n}\n\n#startup-warning-cancel {\n\tbackground: #DB2828;\n\tcolor: #fff;\n}\n\n#startup-warning-cancel:hover {\n\tbackground: #E75C60;\n\tcolor: #fff;\n}\n\n#startup-warning-cancel:active {\n\tbackground: #ec8d8d;\n\tcolor: #fff;\n}\n\n#startup-warning-proceed {\n\tbackground: #24BA4C;\n\tcolor: #fff;\n}\n\n#startup-warning-proceed:hover {\n\tbackground: #59e27e;\n\tcolor: #fff;\n}\n\n#startup-warning-proceed:active {\n\tbackground: #ABF5BD;\n\tcolor: #fff;\n}\n\n.startup-warning-wrapper h1,\n.startup-warning-wrapper h2 {\n\tfont-weight: bold;\n}\n \n@keyframes marching-ants { to { background-position: 100% 100% } }\n\n"
  },
  {
    "path": "plugins/tiddlywiki/share/startup-warning.css.meta",
    "content": "title: $:/plugins/tiddlywiki/share/startup-warning.css\ntype: text/css\n"
  },
  {
    "path": "plugins/tiddlywiki/share/startup-warning.html",
    "content": "<div class=\"startup-warning-wrapper\">\n<h1>\nWarning: This site is designed to share untrusted content\n</h1>\n<h2>\nPlease do not proceed unless you are certain you understand the warnings below\n</h2>\n<p>\nThis is a special site that allows users to share content for <a href=\"https://tiddlywiki.com/\" target=\"_blank\" rel=\"noopener noreferrer\">TiddlyWiki</a> without needing conventional hosting. Instead, the content is encoded in the URL used to access the site. This means that there are no controls or protections on the content that is shared, and as such it may contain malicious links or any kind of content.\n</p>\n<p>\nViewing links to this site in the browser is generally safe because web pages are designed to run in a sandbox that prevents them from accessing or harming your data. However, please exercise caution before downloading content to your own computer, or importing content into your own TiddlyWiki.\n</p>\n\n<details>\n<summary>\nClick here to see the tiddlers that are being shared\n</summary>\n<ul id=\"startup-warning-preview\">\n</ul>\n</details>\n\n<p>\n<strong><em>Only continue if you understand the risks</em></strong>\n</p>\n\n<p>\n<button id=\"startup-warning-proceed\">\nProceed\n</button>\n<button id=\"startup-warning-cancel\">\nCancel\n</button>\n</p>\n\n<h2>\nTechnical details\n</h2>\n\n<p>\nThis web page is a <a href=\"https://tiddlywiki.com/\" target=\"_blank\" rel=\"noopener noreferrer\">TiddlyWiki</a> loaded with the <a href=\"https://github.com/Jermolene/TiddlyWiki5/tree/master/plugins/tiddlywiki/share\" target=\"_blank\" rel=\"noopener noreferrer\">Share plugin</a>. It has the special capability that at startup it can load raw tiddlers from a block of JSON encoded into the location hash part of the URL (ie the part after the # character).\n</p>\n<p>\nThis is useful because it enables people to share working examples of TiddlyWikis without needing to arrange special hosting. The only restriction is that browsers and other Internet infrastructure frequently limit the length of URLs to a few tens of kilobytes.\n</p>\n\n</div>\n"
  },
  {
    "path": "plugins/tiddlywiki/share/startup-warning.html.meta",
    "content": "title: $:/plugins/tiddlywiki/share/startup-warning.html\ntype: text/html\n"
  },
  {
    "path": "plugins/tiddlywiki/share/styles.tid",
    "content": "title: $:/plugins/tiddlywiki/share/styles\ntags: [[$:/tags/Stylesheet]]\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\n.tc-sharing-wizard-wrapper {\n\twidth: 100%;\n\tpadding: 1em 1em;\n\tmargin-bottom: 1em;\n    border-radius: 4px;\n    background: <<colour background>>;\n\t<<box-shadow \"inset 0px 2px 3px 2px rgba(0,0,0,0.4)\">>\n}\n\ninput.tc-sharing-wizard-editor {\n\twidth: 100%;\n}"
  },
  {
    "path": "plugins/tiddlywiki/share/wizard.tid",
    "content": "title: $:/plugins/tiddlywiki/share/wizard\n\n\\define generate-json()\n<$macrocall $name=\"jsontiddlers\" filter=<<share-filter>> spaces=\"\" $output=\"text/raw\"/>\n\\end\n\n\\define inner-share-actions()\n<$wikify name=\"json\" text=<<generate-json>>>\n<$action-sendmessage $message=\"tm-copy-to-clipboard\" $param={{{ [<json>encodeuricomponent[]addprefix[##]addprefix<base-url>] }}}/>\n</$wikify>\n\\end\n\n\\define share-actions()\n<$set name=\"base-url\" value={{$:/config/plugins/share/base-url}} emptyValue={{$:/info/url/full}}>\n<$set name=\"tv-action-refresh-policy\" value=\"always\">\n<$set name=\"share-filter\" value={{$:/config/plugins/share/filter}}>\n<<inner-share-actions>>\n</$set>\n</$set>\n</$set>\n\\end\n\n<div class=\"tc-sharing-wizard-wrapper\">\n\n! Welcome to the sharing edition of ~TiddlyWiki\n\nThis edition of ~TiddlyWiki allows users to create links to wikis with the special capability of containing embedded tiddlers that are loaded into the target wiki at startup. Most browsers allow tens of kilobytes of data to be loaded in this way, making it possible to conveniently share groups of tiddlers as a fully functional wiki. See the [[readme|$:/plugins/tiddlywiki/share]] for more details.\n\n!! 1 - Import or create the tiddlers that are to be shared\n\nThe first step to create a sharing URL is to import or otherwise create the tiddlers that are to be shared.\n\n!! 2 - Check that the sharing filter is correct\n\nThe tiddlers that are included in the sharing URL are determined by the combination of two filters.\n\nThe sharing filter specifies the tiddlers to be shared:\n\n<$edit-text tiddler=\"$:/config/plugins/share/filter\" tag=\"input\" class=\"tc-sharing-wizard-editor\"/>\n\nThe exclusion subfilter is used to exclude the system tiddlers comprising this wiki:\n\n<$edit-text tiddler=\"$:/config/plugins/share/exclusions\" tag=\"input\" class=\"tc-sharing-wizard-editor\"/>\n\n!! 3 - Review the tiddlers to be shared\n\nTiddlers to be shared (<$count filter={{$:/config/plugins/share/filter}}/>):\n\n<ul>\n<$list filter={{$:/config/plugins/share/filter}}>\n<li>\n<$link>\n<$view field=\"title\"/>\n</$link>\n</li>\n</$list>\n</ul>\n\n!! 3 - Generate the sharing link\n\n<$button>\n<<share-actions>>\nGenerate sharing link\n</$button> (the link will be copied to the clipboard)\n\n!! 5 - Export the shared tiddlers\n\n<$button>\n<$action-sendmessage $message=\"tm-download-file\" $param=\"$:/core/templates/exporters/JsonFile\" exportFilter={{$:/config/plugins/share/filter}} filename=\"tiddlers.json\" type=\"application/json\"/>\nExport as JSON\n</$button>\n\n</div>"
  },
  {
    "path": "plugins/tiddlywiki/stacked-view/StackedControls.tid",
    "content": "title: $:/plugins/tiddlywiki/stacked-view/StackedControls\ncaption: Stacked View\ntags: $:/tags/SideBar\n\nSet the [[fan separation|$:/config/StackedStoryViewFanHeight]]:\n\n* <$button set=\"$:/config/StackedStoryViewFanHeight\" setTo=\"-10\">-10</$button>\n* <$button set=\"$:/config/StackedStoryViewFanHeight\" setTo=\"0\">0</$button>\n* <$button set=\"$:/config/StackedStoryViewFanHeight\" setTo=\"10\">10</$button>\n* <$button set=\"$:/config/StackedStoryViewFanHeight\" setTo=\"30\">30</$button>\n* <$button set=\"$:/config/StackedStoryViewFanHeight\" setTo=\"50\">50</$button>\n* <$button set=\"$:/config/StackedStoryViewFanHeight\" setTo=\"100\">100</$button>\n* <$button set=\"$:/config/StackedStoryViewFanHeight\" setTo=\"150\">150</$button>\n* <$button set=\"$:/config/StackedStoryViewFanHeight\" setTo=\"200\">200</$button>\n* <$button set=\"$:/config/StackedStoryViewFanHeight\" setTo=\"250\">250</$button>\n* <$button set=\"$:/config/StackedStoryViewFanHeight\" setTo=\"300\">300</$button>\n* <$button set=\"$:/config/StackedStoryViewFanHeight\" setTo=\"500\">500</$button>\n* <$button set=\"$:/config/StackedStoryViewFanHeight\" setTo=\"700\">700</$button>\n* <$button set=\"$:/config/StackedStoryViewFanHeight\" setTo=\"1500\">1500</$button>\n"
  },
  {
    "path": "plugins/tiddlywiki/stacked-view/StackedStoryViewFanHeight.tid",
    "content": "title: $:/config/StackedStoryViewFanHeight\n\n100"
  },
  {
    "path": "plugins/tiddlywiki/stacked-view/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/stacked-view\",\n\t\"name\": \"Stacked View\",\n\t\"description\": \"Stacked card storyview\",\n\t\"list\": \"readme\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/stacked-view/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/stacked-view/readme\n\nThis plugin provides a new story visualisation that displays individual tiddlers as a stack of cards. It is currently experimental and incomplete.\n\n[[Source code|https://github.com/TiddlyWiki/TiddlyWiki5/blob/master/plugins/tiddlywiki/stacked-view]]\n"
  },
  {
    "path": "plugins/tiddlywiki/stacked-view/stacked-storyview.tid",
    "content": "title: $:/plugins/tiddlywiki/stacked-view/config-macros/stacked-storyview\ntags: $:/tags/Macro\n\n\\define tv-stacked-storyview-fan-height-config-title() $:/config/StackedStoryViewFanHeight\n"
  },
  {
    "path": "plugins/tiddlywiki/stacked-view/stacked.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/stacked-view/stacked.js\ntype: application/javascript\nmodule-type: storyview\n\nKeeps tiddlers in a stack\n\n\\*/\n\n\"use strict\";\n\nvar easing = \"cubic-bezier(0.645, 0.045, 0.355, 1)\"; // From http://easings.net/#easeInOutCubic\n\nvar StackedListView = function(listWidget) {\n\tthis.listWidget = listWidget;\n\tthis.fanHeightConfigTitle = listWidget.getVariable(\"tv-stacked-storyview-fan-height-config-title\");\n\tthis.placeTiddlers();\n};\n\nStackedListView.prototype.placeTiddlers = function() {\n\t// Initialise the stack of tiddler titles\n\tthis.listStack = [];\n\tvar numItems = this.listWidget.children.length,\n\t\tt, itemWidget,\n\t\tduration = $tw.utils.getAnimationDuration();\n\tfor(t=numItems-1; t>=0; t--) {\n\t\titemWidget = this.listWidget.children[t];\n\t\tthis.listStack.push(itemWidget.parseTreeNode.itemTitle);\n\t}\n\t// Ensure the tiddler at the top of the history stack is at the top of the array\n\tvar history = this.listWidget.wiki.getTiddlerData(this.listWidget.historyTitle,[]);\n\tfor(t=0; t<history.length; t++) {\n\t\tvar title = history[t].title;\n\t\tif(this.listStack.indexOf(title) !== -1) {\n\t\t\t$tw.utils.pushTop(this.listStack,title);\n\t\t}\n\t}\n\t// Get the configured fan height\n\tvar fanHeight = parseInt(this.listWidget.wiki.getTiddlerText(this.fanHeightConfigTitle),10);\n\t// Position each tiddler\n\tfor(var t=numItems-1; t>=0; t--) {\n\t\t// Get the DOM node for this tiddler\n\t\titemWidget = this.listWidget.children[t];\n\t\tvar domNode = itemWidget.findFirstDomNode();\n\t\tif(domNode instanceof Element) {\n\t\t\t// Allows the width of the tiddler to be adjusted\n\t\t\t$tw.utils.addClass(domNode,\"tc-storyview-zoomin-tiddler\");\n\t\t\t// Find the position of the tiddler in the stack\n\t\t\tvar pos = this.listStack.indexOf(itemWidget.parseTreeNode.itemTitle);\n\t\t\tif(pos !== -1) {\n\t\t\t\t// Style the tiddler to position it\n\t\t\t\tvar posFactor = pos/(numItems-1);\n\t\t\t\t$tw.utils.setStyle(domNode,[\n\t\t\t\t\t{position: \"absolute\"},\n\t\t\t\t\t{transformOrigin: \"50% 0\"},\n\t\t\t\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration * (0.5 + posFactor) + \"ms \" + easing},\n\t\t\t\t\t{transform: \"translateX(0px) translateY(\" + (fanHeight * posFactor * posFactor) + \"px) scale(\" + (0.1 + posFactor * 0.9) + \")\"},\n\t\t\t\t\t{zIndex: pos + \"\"}\n\t\t\t\t]);\n\t\t\t}\n\t\t}\n\t}\n};\n\nStackedListView.prototype.refreshStart = function(changedTiddlers,changedAttributes) {\n};\n\nStackedListView.prototype.refreshEnd = function(changedTiddlers,changedAttributes) {\n\tthis.placeTiddlers();\n};\n\nStackedListView.prototype.navigateTo = function(historyInfo) {\n};\n\nStackedListView.prototype.insert = function(widget) {\n};\n\nStackedListView.prototype.remove = function(widget) {\n\twidget.removeChildDomNodes();\n};\n\nexports.stacked = StackedListView;\n"
  },
  {
    "path": "plugins/tiddlywiki/stacked-view/storyview-stacked.tid",
    "content": "title: $:/core/images/storyview-stacked\ntags: $:/tags/Image\n\n<svg class=\"tc-image-storyview-stack tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M8.00697327,0 C3.58484404,0 0,3.59075293 0,8.00697327 L0,119.993027 C0,124.415156 3.59075293,128 8.00697327,128 L119.993027,128 C124.415156,128 128,124.409247 128,119.993027 L128,8.00697327 C128,3.58484404 124.409247,0 119.993027,0 L8.00697327,0 L8.00697327,0 Z M32,43 L32,37.3807213 C32,34.4040057 34.3875896,32 37.3328305,32 L45.5,32 L45.5,32 L84,32 L90.6671695,32 C93.6079301,32 96,34.409031 96,37.3807213 L96,43 L32,43 Z M30,48 L23.9992458,48 C19.5813843,48 16,51.578055 16,56.0085154 L16,103.991485 C16,108.414466 19.5881049,112 23.9992458,112 L104.000754,112 C108.418616,112 112,108.421945 112,103.991485 L112,56.0085154 C112,51.5855345 108.411895,48 104.000754,48 L98.5,48 L30,48 Z M80,27 L80,23.7529272 C80,22.2325275 78.803965,21 77.3335847,21 L50.6664153,21 C49.1937948,21 48,22.2299564 48,23.7529272 L48,27 L80,27 Z\"></path>\n    </g>\n</svg>"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/docs/docs-exporters.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/docs/exporters\ntags: $:/plugins/tiddlywiki/text-slicer/docs\ncaption: Exporters\n\nDocuments can be saved under Node.js, or previewed in the browser.\n\n[TBD]\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/docs/docs-internals.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/docs/internals\ntags: $:/plugins/tiddlywiki/text-slicer/docs\ncaption: Internals\n\n! Introduction\n\nThe slicing process is performed by a simple automaton that scans the document and applies simple declarative rules to yield a collection of tiddlers.\n\nThe automaton processes the incoming XML document starting with the root element and then recursively visits each child node and their children. Actions are triggered as each component of the document is encountered:\n\n* Opening tags of elements\n* Closing tags of elements\n* Text nodes\n\nComponents are matched against the current set of rules to determine what actions should be performed. They can include a combination of:\n\n* Starting a new tiddler with specified fields\n* Rendering the markup for the current tag into the current tiddler\n* Appending the content of the current text node to the current tiddler\n* Threading tiddlers to their parents using a combination of the `list` and `tags` fields\n\n! Slicing State Data\n\nAs the automaton performs its scan, it maintains the following state information:\n\n* ''chunks'' - an array of tiddlers without titles, addressed by their numeric index. The title field is reused to hold the plain text of the chunk that is later used to generate the final title for the tiddler\n* ''currentChunk'' - the numeric index of the chunk currently being filled, or `null` if there is no current chunk\n* ''parentStack'' - a stack of parent chunks stored as `{chunk: <chunk-index>, actions: <actions>}`\n\nAt the start, the special document chunk is created and pushed onto the stack of parent chunks\n\n! Slicing Rules\n\nSlicing rules are maintained in tiddlers tagged `$:/tags/text-slicer/slicer-rules` with the following fields:\n\n* ''title'' - title of the tiddler containing the listof rules\n* ''name'' - short, human readable name for the set of rules\n* ''inherits-from'' - (optional) the ''name'' field of another set of rules that should be inherited as a base\n* ''text'' - JSON data as described below\n\nThe JSON data is an array of rules, each of which is an object with the following fields:\n\n* ''selector'' - a selector string identifying the components to be matched by this rule\n* ''actions'' - an object describing the actions to be performed when this selector matches a tag\n\n!! Selectors\n\nThe selector format is a simplified form of CSS selectors. They are specified as follows:\n\n* A ''selector'' is a list of one or more ''match expressions'' separated by commas. The rule is triggered if any of the match expressions produce a positive match\n* A ''match expression'' is a list of one or element ''tag names'' separated by spaces. The rule is triggered if the final tag name in the list matches the tag of the current element, and all of the preceding tags in the expression exist as ancestors of the current element in the specified order (but not necessarily as immediate children of one another)\n* A ''tag name'' is the textual name of an element\n* Tag names in match expressions may optionally be separated by a `>` sign surrounded by spaces to impose the requirement that the left hand element be the immediate parent of the right hand element\n\n!!! Example Selectors\n\nThis XML document will be used to illustrate some examples:\n\n```\n<a>\n  <b>\n    <d>one</d>\n  </b>\n  <c>\n    <d>two</d>\n    <e>\n      three\n      <e>\n        four\n      </e>\n    </e>\n  </c>\n</a>\n\n```\n\n|!Selector |!Matches |\n|b |Matches the single `<b>` element |\n|d |Matches both of the two `<d>` elements |\n|c,d |Matches the `<c>` element and both of the two `<d>` elements |\n|c d |Matches the second of the two `<d>` elements |\n|a d |Matches both of the two `<d>` elements |\n|a > d |Doesn't match anything |\n|e |Matches both of the two `<e>` elements |\n|c > e |Matches the outermost of the two `<e>` elements |\n|e > e |Matches the innermost of the two `<e>` elements |\n\n!! Actions\n\nThe ''action'' property of a slicer rule is an object that can have any of the following optional fields:\n\n* ''startNewChunk'' - causes a new chunk to be started on encountering an opening tag. The value is an object containing the fields to be assigned to the new chunk\n* ''isParent'' - causes the new chunk to be marked as a child of the current chunk (boolean flag; only applies if ''startNewChunk'' is set)\n* ''headingLevel'' - arrange heading parents according to level (numerical index; only applies if ''startNewChunk'' and ''isParent'' are set)\n* ''dontRenderTag'' - disables the default rendering of opening and closing tags to the current chunk. By default the tags are rendered as XML tags, but this can be overridden via ''markup'' (boolean; defaults to ''false'')\n* ''isImage'' - identifies an element as representing an HTML image element, with special processing for the ''src'' attribute\n* ''markup'' - optional object with either or both of `{wiki: {prefix: <str>,suffix: <str>}}` and `{html: {prefix: <str>,suffix: <str>}}` allowing the rendered tags to be customised\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/docs/docs-model.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/docs/model\ntags: $:/plugins/tiddlywiki/text-slicer/docs\ncaption: Document Model\n\nIndividual tiddlers are created for each heading, paragraph and list item. They are linked together into a hierarchical outline using lists.\n\nFor example, consider a tiddler titled ''Example'' containing this simple text:\n\n<<<\n! This is a heading\n\nThis is a paragraph.\n\n* And the first list item\n* Second list item\n<<<\n\nIt will be sliced up into:\n\n* a tiddler for the overall document\n** a tiddler for the heading\n*** a tiddler for the paragraph\n*** a tiddler for the list\n**** and a tiddler for each list item\n\nThese tiddlers are bound together using lists: the parent tiddler has a ''list'' field that lists each child in the correct order.\n\n!! Slicing Process\n\nSlicing generates the following component tiddlers.\n\nTiddler titles are generated automatically in most cases (but can subsequently be changed manually). The automatically generated title is made up of concatenating the following elements:\n\n* root text (e.g. ''para'')\n* a dash ''-''\n* the first few words of the text of the item (up to 40 characters), separated with dashes ''-''\n* if necessary, a dash ''-'' and a numerical index to make the title unique\n\nFor example, ''para-how-to-use-pentagonal-tiles 23''.\n\nAny CSS classes used in the original document are assigned as tags to the associated tiddlers.\n\n!!! Document\n\nThe document itself is represented by a tiddler with the following fields:\n\n* ''toc-type'': the text \"document\"\n* ''title'': the text ''\"Sliced up \"'' plus the title of the tiddler that was sliced\n* ''text'': Available for comments about the document\n* ''list'': ordered list of tiddlers making up the root level of this document\n\n!!! Headings\n\nTiddlers representing headings have the following fields:\n\n* ''toc-type'': the text \"heading\"\n* ''toc-heading-level'': the heading level \"h1\", \"h2\", \"h3\" etc.\n* ''title'': an automatically generated unique title\n* ''text'': the text of the heading\n* ''list'': ordered list of tiddlers tagged with this heading (i.e. the child headings, paragraphs and lists displayed under this heading)\n** In addition, any CSS classes found in the HTML are converted into tags\n\n!!! Paragraphs\n\nTiddlers representing paragraphs have the following fields:\n\n* ''toc-type'': the text \"paragraph\"\n* ''title'': an automatically generated unique title\n* ''text'': the text of the paragraph\n* ''tags'': any CSS classes found in the HTML are converted into tags\n\n!!! Lists\n\nLists are represented by several tiddlers: one for the list itself, and one for each item in the list.\n\nThe tiddler representing the list itself has the following fields:\n\n* ''toc-type'': the text \"list\"\n* ''toc-list-type'': the text \"ul\" or \"ol\"\n* ''toc-list-filter'': the default filter used to generate the titles of the list items\n* ''title'': an automatically generated unique title\n* ''list'': ordered list of titles of tiddlers representing the items in this list\n* ''tags'': any CSS classes found in the HTML are converted into tags\n\nThe tiddlers representing items within the list have the following fields:\n\n* ''toc-type'': the text \"item\"\n* ''title'': an automatically generated unique title\n* ''text'': the text of the list item\n* ''tags'': any CSS classes found in the HTML are converted into tags\n\n!!! Definition lists\n\nDefinition lists are represented by several tiddlers: one for the definition list itself, and one for each term and definition in the list.\n\nThe tiddler representing the definition list itself has the following fields:\n\n* ''toc-type'': the text \"def-list\"\n* ''toc-list-filter'': the default filter used to generate the titles of the definition list items\n* ''title'': an automatically generated unique title\n* ''list'': ordered list of titles of tiddlers representing the items (terms and/or definition) in the definition list\n* ''tags'': any CSS classes found in the HTML are converted into tags\n\nThe tiddlers representing terms within the definition list have the following fields:\n\n* ''toc-type'': the text \"term\"\n* ''title'': an automatically generated unique title\n* ''text'': the text of the definition list term\n* ''tags'': any CSS classes found in the HTML are converted into tags\n\nThe tiddlers representing definitions within the definition list have the following fields:\n\n* ''toc-type'': the text \"definition\"\n* ''title'': an automatically generated unique title\n* ''text'' : the text of the definition list definition\n* ''tags'': any CSS classes found in the HTML are converted into tags\n\n!!! Images\n\nTiddlers representing images have the following fields:\n\n* ''toc-type'': the text \"image\"\n* ''title'': an automatically generated unique title\n* ''type'': appropriate content type for the image (eg \"image/jpeg\")\n\n!!! Notes\n\nNotes are available during editing but hidden for static renderings. The slicing mechanism does not generate notes; they can only be subsequently added manually. Tiddlers representing notes have the following fields:\n\n* ''toc-type'': the text \"note\"\n* ''title'': an automatically generated unique title\n* ''text'': the text of the note\n* ''tags'': any CSS classes found in the HTML are converted into tags\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/docs/docs-preview.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/docs/preview\ntags: $:/plugins/tiddlywiki/text-slicer/docs\ncaption: Preview\n\nThe document preview column appears at the left side of the screen. The content of headings can be collapsed and expanded to help navigation. Clicking on a tiddler opens the corresponding tiddler in the main story river.\n\nClicking ''Show toolbar'' causes each tiddler to be preceded by a toolbar showing the underlying title. It can be edited directly to rename the tiddler. References to the tiddler in the ''tags'' and ''list'' are automatically updated to reflect the change, but note that links to the tiddler will not be automatically changed.\n\nThe following theme tweaks should be applied to enable the preview column:\n\n* Set [[story left position|$:/themes/tiddlywiki/vanilla/metrics/storyleft]] to ''400px'' (or more)\n* It is recommended to also set the [[sidebar layout|$:/themes/tiddlywiki/vanilla/options/sidebarlayout]] to ''fluid-fixed''.\n\nTo preview the entire document in a separate window, locate it in the preview column and click the button labelled \"View document\". The document will open in plain text in a new window. The window will be automatically updated as you work on the document.\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/docs/docs-usage.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/docs/usage\ntags: $:/plugins/tiddlywiki/text-slicer/docs\ncaption: Usage\n\nThe tool can slice any tiddler that can be rendered as HTML, including both WikiText and HTML itself.\n\nDocuments created with Microsoft Word will need to be first converted to HTML. The library [[mammoth.js|https://github.com/mwilliamson/mammoth.js]] is recommended for this purpose.\n\n!! Browser\n\nIn the browser, you can slice a monolithic document tiddler using the slicer toolbar button.\n\n!! Node.js\n\nThe `--slice` command allows a tiddler to be sliced under Node.js:\n\n```\ntiddlywiki mywiki --slice SourceDocument --build index\n```\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/docs/docs.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/docs\nlist: $:/plugins/tiddlywiki/text-slicer/docs/usage $:/plugins/tiddlywiki/text-slicer/docs/preview $:/plugins/tiddlywiki/text-slicer/docs/model $:/plugins/tiddlywiki/text-slicer/docs/exporters $:/plugins/tiddlywiki/text-slicer/docs/internals\n\n! Introduction\n\nThis plugin contains tools to help work with documents that are structured as a hierarchical outline of tiddlers.  The structural relationships within the document are expressed through the `list` and `tags` fields: for example, headings have a list specifying the chunks of content to be shown under the heading.\n\nThe major components within the text slicer plugin include:\n\n* ''the slicer'', a tool that slices up an existing monolithic document according to the headings, lists and paragraphs. It is available as a toolbar button for the browser, or as a command for use under Node.js\n* ''document preview column'', a new sidebar on the left that shows the full text of any documents in the wiki and allows individual tiddlers to be opened with a click\n* ''templates'' for previewing and exporting the individual documents as HTML files\n\nMinor components include:\n\n* a new `list-children` filter that returns all the descendents listed in the `list` field of the selected tiddlers\n* a new canned filter for [[advanced search|$:/AdvancedSearch]] that lists orphans tiddlers that are not part of any document\n\n<<tabs \"[all[tiddlers+shadows]tag[$:/plugins/tiddlywiki/text-slicer/docs]!has[draft.of]]\" \"$:/plugins/tiddlywiki/text-slicer/docs/usage\">>\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/docs/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/readme\n\nThis plugin contains tools to help slice up long texts into individual tiddlers. It currently works directly with XHTML documents and with Microsoft Word compatible DOCX documents via conversion to HTML.\n\nIt is an expression of the philosophy of TiddlyWiki: that text is easier to re-use and work with if it is sliced up into separate chunks that can be independently manipulated, and then woven back together to make up stories and narratives for publication.\n\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/icon.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/icon\ntags: $:/tags/Image\n\n<svg class=\"tc-image-text-slicer tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\" sketch:type=\"MSPage\">\n        <path d=\"M64,0 L118.5596,32 L118.5596,96 L64,128 L9.44039956,96 L9.44039956,32 L64,0 Z\" ></path>\n        <g transform=\"translate(32.000000, 32.000000) scale(2.19)\" fill=\"#ffffff\">\n            {{$:/plugins/tiddlywiki/text-slicer/images/text-slicer-icon}}\n        </g>\n    </g>\n</svg>"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/images/text-slicer-icon.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/images/text-slicer-icon\ntags: $:/tags/Image\n\n<svg class=\"tc-image-text-slicer tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n\t<g fill-rule=\"evenodd\">\n\t\t<path d=\"M78.3637366,56.1312577 L78.3637366,60.2285796 L26.7489717,26.7095593 C23.9558586,24.8956905 23.1577753,21.1490577 24.9741388,18.3521031 C26.7898442,15.5561619 30.5337016,14.7576591 33.3309445,16.5742099 L87.6340125,51.8390346 L84.9731806,51.8390346 L103.852266,39.5788135 L105.182681,41.6274744 L104.070376,43.8022835 C102.858368,43.1824026 101.719662,42.4138485 100.675491,41.5061647 C93.6569185,35.4050129 92.9012893,24.7795163 98.9918187,17.7731637 C105.082348,10.766811 115.709601,10.0363032 122.728174,16.137455 C129.746746,22.2386068 130.502375,32.8641034 124.411846,39.870456 C123.229956,41.2300649 121.856251,42.3760135 120.416666,43.2314984 L94.2434565,60.2285796 L94.2434565,56.1312577 L120.765587,73.3549304 C121.152097,73.6059335 121.506081,73.898207 121.822516,74.2262669 L120.064365,75.9221214 L121.489555,73.938223 C121.915739,74.2443848 122.328975,74.5712591 122.728174,74.9182775 C129.746746,81.0194293 130.502375,91.6449259 124.411846,98.6512786 C118.321316,105.657631 107.694063,106.388139 100.675491,100.286987 C93.6569185,94.1858354 92.9012893,83.5603389 98.9918187,76.5539862 C100.441592,74.8862128 102.178627,73.5416182 104.115112,72.5685999 L105.211846,74.7513028 L103.88143,76.7999638 L84.9731806,64.5208027 L87.6340125,64.5208027 L61.3662147,81.57931 L61.3662147,67.1695775 L78.3637366,56.1312577 Z M114.533131,83.6707925 L115.961891,81.689464 L114.933771,83.9053132 C114.675216,83.7853476 114.424622,83.6467924 114.183613,83.4902793 L113.644945,83.1404643 L114.975362,81.0918038 L113.881545,83.2759699 C111.959385,82.3133637 109.605897,82.7611681 108.179792,84.4017143 C106.463272,86.3763445 106.676536,89.3752164 108.660203,91.0995921 C110.643871,92.8239678 113.643238,92.617794 115.359758,90.6431638 C117.076278,88.6685336 116.863014,85.6696617 114.879347,83.945286 C114.767376,83.8479516 114.651892,83.7564326 114.533131,83.6707925 Z M115.359758,31.8623412 C117.076278,29.8877111 116.863014,26.8888391 114.879347,25.1644635 C112.89568,23.4400878 109.896312,23.6462616 108.179792,25.6208918 C106.463272,27.5955219 106.676536,30.5943939 108.660203,32.3187696 C110.643871,34.0431452 113.643238,33.8369714 115.359758,31.8623412 Z\" fill-rule=\"nonzero\"></path>\n\t\t<g transform=\"translate(0.000000, 46.000000)\">\n\t\t\t<path d=\"M62.9632954,19.5390625 L62.984127,19.5390625 L62.984127,76.87441 C62.984127,79.7051952 60.6450077,82 57.7588318,82 L5.49996847,82 C2.61411765,82 0.274673329,79.7050809 0.274673329,76.87441 L0.274673329,5.12559005 C0.274673329,2.29480483 2.61379258,0 5.49996847,0 L42.7341992,0 L42.7341992,0.0129302741 C44.1445002,-0.0458264988 45.5745556,0.452971616 46.6523962,1.51002434 L61.4328365,16.0053998 C62.4299816,16.9833134 62.9403234,18.2577109 62.9632954,19.5390625 L62.9632954,19.5390625 Z M42.7341992,5.125 L5.50046113,5.125 L5.50046113,76.875 L57.7583392,76.875 L57.7583392,19.5390625 L47.9602131,19.5390625 C45.0739653,19.5390625 42.7341992,17.2466672 42.7341992,14.4138408 L42.7341992,5.125 Z\" ></path>\n\t\t\t<rect x=\"10.7262489\" y=\"23.0625\" width=\"41.8063024\" height=\"5.125\" rx=\"2.5625\"></rect>\n\t\t\t<rect x=\"10.7262489\" y=\"33.3125\" width=\"41.8063024\" height=\"5.125\" rx=\"2.5625\"></rect>\n\t\t\t<rect x=\"10.7262489\" y=\"43.5625\" width=\"41.8063024\" height=\"5.125\" rx=\"2.5625\"></rect>\n\t\t\t<rect x=\"10.7262489\" y=\"53.8125\" width=\"41.8063024\" height=\"5.125\" rx=\"2.5625\"></rect>\n\t\t\t<rect x=\"10.7262489\" y=\"64.0625\" width=\"41.8063024\" height=\"5.125\" rx=\"2.5625\"></rect>\n\t\t\t<rect x=\"10.7262489\" y=\"12.8125\" width=\"26.128939\" height=\"5.125\" rx=\"2.5625\"></rect>\n\t\t</g>\n\t</g>\n</svg>\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/modules/commands/help-slice.tid",
    "content": "title: $:/language/Help/slice\ndescription: Slice a hierarchical document into individual tiddlers\n\nSlices the specified tiddler\n\n```\n--slice <source-title> [<dest-title>] [<slicer-rules>] [<output-mode>]\n```\n\n* ''source-title'': Title of the tiddler to be sliced\n* ''dest-title'': Base title for the generated output tiddlers\n* ''slicer-rules'': Name of the slicer rules to use for the operation (see below)\n* ''output-mode'': \"html\" vs \"wiki\"\n\nThe plugin comes with several built-in sets of slicer rules:\n\n* //html-by-paragraph//: Slice every paragraph into a separate tiddler, threaded by heading\n* //html-by-heading//: Slice every heading into separate threaded tiddlers\n* //html-plain-paragraphs//: Slice every paragraph into a separate tiddler, without formatting or headings\n\nAdvanced users can create or edit their own slicer rules for precise control over the conversion process\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/modules/commands/slice.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/text-slicer/modules/commands/slice.js\ntype: application/javascript\nmodule-type: command\n\nCommand to slice a specified tiddler\n\n\\*/\n\n\"use strict\";\n\nvar textSlicer = require(\"$:/plugins/tiddlywiki/text-slicer/modules/slicer.js\");\n\nexports.info = {\n\tname: \"slice\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing parameters\";\n\t}\n\tvar self = this,\n\t\twiki = this.commander.wiki,\n\t\tsourceTitle = this.params[0],\n\t\tdestTitle = this.params[1],\n\t\tslicerRules = this.params[2],\n\t\toutputMode = this.params[3];\n\tnew textSlicer.Slicer({\n\t\tsourceTiddlerTitle: sourceTitle,\n\t\tbaseTiddlerTitle: destTitle,\n\t\tslicerRules: slicerRules,\n\t\toutputMode: outputMode,\n\t\twiki: wiki,\n\t\tcallback: function(err,tiddlers) {\n\t\t\tif(err) {\n\t\t\t\treturn self.callback(err);\n\t\t\t}\n\t\t\twiki.addTiddlers(tiddlers);\n\t\t\tself.callback();\t\n\t\t}\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/modules/filters/list-children.js",
    "content": "/*\\\ntitle: $:/core/modules/filters/list-children.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all the descendents of a tiddler listed in the \"list\" field\n\n\\*/\n\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports[\"list-children\"] = function(source,operator,options) {\n\tvar children = {},\n\t\tprocessTiddler = function(title) {\n\t\t\tvar tiddler = options.wiki.getTiddler(title);\n\t\t\tif(tiddler && !$tw.utils.hop(children,title)) {\n\t\t\t\tchildren[title] = true;\n\t\t\t\tvar list = options.wiki.getTiddlerList(title,operator.operand);\n\t\t\t\tlist.forEach(function(listItem) {\n\t\t\t\t\tif(!$tw.utils.hop(children,listItem)) {\n\t\t\t\t\t\tprocessTiddler(listItem);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\tsource(function(tiddler,title) {\n\t\tprocessTiddler(title);\n\t});\n\treturn Object.keys(children);\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/modules/rules/html-by-heading.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/slicer-rules/html-by-heading.json\nname: html-by-heading\ncaption: By Heading (HTML)\ndescription: One tiddler per heading, threaded (HTML)\ninherits-from: html-by-paragraph\ntype: application/json\ntags: $:/tags/text-slicer/slicer-rules\n\n[\n\t{\n\t\t\"selector\": \"address,center,fieldset,form,hr,iframe,isindex,noframes,noscript,ol,ul,li,pre,table\",\n\t\t\"actions\": {}\n\t},\n\t{\n\t\t\"selector\": \"blockquote\",\n\t\t\"actions\": {\n\t\t\t\"markup\": {\n\t\t\t\t\"wiki\": {\n\t\t\t\t\t\"prefix\": \"<<<\\n\",\n\t\t\t\t\t\"suffix\": \"<<<\\n\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"dd\",\n\t\t\"actions\": {\n\t\t\t\"markup\": {\n\t\t\t\t\"wiki\": {\n\t\t\t\t\t\"prefix\": \"\\n: \",\n\t\t\t\t\t\"suffix\": \"\\n\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"dl\",\n\t\t\"actions\": {\n\t\t\t\"markup\": {\n\t\t\t\t\"wiki\": {\n\t\t\t\t\t\"prefix\": \"\\n\",\n\t\t\t\t\t\"suffix\": \"\\n\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"dt\",\n\t\t\"actions\": {\n\t\t\t\"markup\": {\n\t\t\t\t\"wiki\": {\n\t\t\t\t\t\"prefix\": \"\\n; \",\n\t\t\t\t\t\"suffix\": \"\\n\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"h1\",\n\t\t\"actions\": {\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"heading\",\n\t\t\t\t\"toc-heading-level\": \"h1\"\n\t\t\t},\n\t\t\t\"mergeNext\": true,\n\t\t\t\"setCaption\": true,\n\t\t\t\"isParent\": true,\n\t\t\t\"headingLevel\": 1,\n\t\t\t\"markup\": {\n\t\t\t\t\"wiki\": {\n\t\t\t\t\t\"prefix\": \"! \",\n\t\t\t\t\t\"suffix\": \"\\n\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"h2\",\n\t\t\"actions\": {\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"heading\",\n\t\t\t\t\"toc-heading-level\": \"h2\"\n\t\t\t},\n\t\t\t\"mergeNext\": true,\n\t\t\t\"setCaption\": true,\n\t\t\t\"isParent\": true,\n\t\t\t\"headingLevel\": 2,\n\t\t\t\"markup\": {\n\t\t\t\t\"wiki\": {\n\t\t\t\t\t\"prefix\": \"!! \",\n\t\t\t\t\t\"suffix\": \"\\n\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"h3\",\n\t\t\"actions\": {\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"heading\",\n\t\t\t\t\"toc-heading-level\": \"h3\"\n\t\t\t},\n\t\t\t\"mergeNext\": true,\n\t\t\t\"setCaption\": true,\n\t\t\t\"isParent\": true,\n\t\t\t\"headingLevel\": 3,\n\t\t\t\"markup\": {\n\t\t\t\t\"wiki\": {\n\t\t\t\t\t\"prefix\": \"!!! \",\n\t\t\t\t\t\"suffix\": \"\\n\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"h4\",\n\t\t\"actions\": {\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"heading\",\n\t\t\t\t\"toc-heading-level\": \"h4\"\n\t\t\t},\n\t\t\t\"mergeNext\": true,\n\t\t\t\"setCaption\": true,\n\t\t\t\"isParent\": true,\n\t\t\t\"headingLevel\": 4,\n\t\t\t\"markup\": {\n\t\t\t\t\"wiki\": {\n\t\t\t\t\t\"prefix\": \"!!!! \",\n\t\t\t\t\t\"suffix\": \"\\n\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"h5\",\n\t\t\"actions\": {\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"heading\",\n\t\t\t\t\"toc-heading-level\": \"h5\"\n\t\t\t},\n\t\t\t\"mergeNext\": true,\n\t\t\t\"setCaption\": true,\n\t\t\t\"isParent\": true,\n\t\t\t\"headingLevel\": 5,\n\t\t\t\"markup\": {\n\t\t\t\t\"wiki\": {\n\t\t\t\t\t\"prefix\": \"!!!!! \",\n\t\t\t\t\t\"suffix\": \"\\n\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"h6\",\n\t\t\"actions\": {\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"heading\",\n\t\t\t\t\"toc-heading-level\": \"h6\"\n\t\t\t},\n\t\t\t\"mergeNext\": true,\n\t\t\t\"setCaption\": true,\n\t\t\t\"isParent\": true,\n\t\t\t\"headingLevel\": 6,\n\t\t\t\"markup\": {\n\t\t\t\t\"wiki\": {\n\t\t\t\t\t\"prefix\": \"!!!!!! \",\n\t\t\t\t\t\"suffix\": \"\\n\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"p\",\n\t\t\"actions\": {\n\t\t\t\"markup\": {\n\t\t\t\t\"wiki\": {\n\t\t\t\t\t\"prefix\": \"\",\n\t\t\t\t\t\"suffix\": \"\\n\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"*\",\n\t\t\"actions\": {\n\t\t\t\"dontRenderTag\": true\n\t\t}\n\t}\n]\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/modules/rules/html-by-paragraph.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/slicer-rules/html-by-paragraph.json\nname: html-by-paragraph\ncaption: By Paragraph (HTML)\ndescription: One tiddler per paragraph, threaded by heading (HTML)\ntype: application/json\ntags: $:/tags/text-slicer/slicer-rules\n\n[\n\t{\n\t\t\"selector\": \"address,center,fieldset,form,hr,iframe,isindex,noframes,noscript,pre,table\",\n\t\t\"actions\": {\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"paragraph\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"blockquote\",\n\t\t\"actions\": {\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"paragraph\"\n\t\t\t},\n\t\t\t\"markup\": {\n\t\t\t\t\"wiki\": {\n\t\t\t\t\t\"prefix\": \"<<<\\n\",\n\t\t\t\t\t\"suffix\": \"<<<\\n\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"body,div,head,html,span\",\n\t\t\"actions\": {\n\t\t\t\"dontRenderTag\": true\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"dd\",\n\t\t\"actions\": {\n\t\t\t\"dontRenderTag\": true,\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"definition\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"dl\",\n\t\t\"actions\": {\n\t\t\t\"dontRenderTag\": true,\n\t\t\t\"isParent\": true,\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"def-list\",\n\t\t\t\t\"toc-list-filter\": \"[list<currentTiddler>!has[draft.of]]\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"dt\",\n\t\t\"actions\": {\n\t\t\t\"dontRenderTag\": true,\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"term\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"em,i\",\n\t\t\"actions\": {\n\t\t\t\"markup\": {\n\t\t\t\t\"wiki\": {\n\t\t\t\t\t\"prefix\": \"//\",\n\t\t\t\t\t\"suffix\": \"//\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"h1\",\n\t\t\"actions\": {\n\t\t\t\"dontRenderTag\": true,\n\t\t\t\"isParent\": true,\n\t\t\t\"headingLevel\": 1,\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"heading\",\n\t\t\t\t\"toc-heading-level\": \"h1\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"h2\",\n\t\t\"actions\": {\n\t\t\t\"dontRenderTag\": true,\n\t\t\t\"isParent\": true,\n\t\t\t\"headingLevel\": 2,\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"heading\",\n\t\t\t\t\"toc-heading-level\": \"h2\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"h3\",\n\t\t\"actions\": {\n\t\t\t\"dontRenderTag\": true,\n\t\t\t\"isParent\": true,\n\t\t\t\"headingLevel\": 3,\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"heading\",\n\t\t\t\t\"toc-heading-level\": \"h3\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"h4\",\n\t\t\"actions\": {\n\t\t\t\"dontRenderTag\": true,\n\t\t\t\"isParent\": true,\n\t\t\t\"headingLevel\": 4,\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"heading\",\n\t\t\t\t\"toc-heading-level\": \"h4\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"h5\",\n\t\t\"actions\": {\n\t\t\t\"dontRenderTag\": true,\n\t\t\t\"isParent\": true,\n\t\t\t\"headingLevel\": 5,\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"heading\",\n\t\t\t\t\"toc-heading-level\": \"h5\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"h6\",\n\t\t\"actions\": {\n\t\t\t\"dontRenderTag\": true,\n\t\t\t\"isParent\": true,\n\t\t\t\"headingLevel\": 6,\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"heading\",\n\t\t\t\t\"toc-heading-level\": \"h6\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"img\",\n\t\t\"actions\": {\n\t\t\t\"isImage\": true\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"li\",\n\t\t\"actions\": {\n\t\t\t\"dontRenderTag\": true,\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"item\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"ol\",\n\t\t\"actions\": {\n\t\t\t\"dontRenderTag\": true,\n\t\t\t\"isParent\": true,\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"list\",\n\t\t\t\t\"toc-list-type\": \"ol\",\n\t\t\t\t\"toc-list-filter\": \"[list<currentTiddler>!has[draft.of]]\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"p\",\n\t\t\"actions\": {\n\t\t\t\"dontRenderTag\": true,\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"paragraph\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"strike\",\n\t\t\"actions\": {\n\t\t\t\"markup\": {\n\t\t\t\t\"wiki\": {\n\t\t\t\t\t\"prefix\": \"~~\",\n\t\t\t\t\t\"suffix\": \"~~\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"strong,b\",\n\t\t\"actions\": {\n\t\t\t\"markup\": {\n\t\t\t\t\"wiki\": {\n\t\t\t\t\t\"prefix\": \"''\",\n\t\t\t\t\t\"suffix\": \"''\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"sub\",\n\t\t\"actions\": {\n\t\t\t\"markup\": {\n\t\t\t\t\"wiki\": {\n\t\t\t\t\t\"prefix\": \",,\",\n\t\t\t\t\t\"suffix\": \",,\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"sup\",\n\t\t\"actions\": {\n\t\t\t\"markup\": {\n\t\t\t\t\"wiki\": {\n\t\t\t\t\t\"prefix\": \"^^\",\n\t\t\t\t\t\"suffix\": \"^^\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"head > title\",\n\t\t\"actions\": {\n\t\t\t\"dontRenderTag\": true,\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"paragraph\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"u\",\n\t\t\"actions\": {\n\t\t\t\"markup\": {\n\t\t\t\t\"wiki\": {\n\t\t\t\t\t\"prefix\": \"__\",\n\t\t\t\t\t\"suffix\": \"__\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"ul\",\n\t\t\"actions\": {\n\t\t\t\"dontRenderTag\": true,\n\t\t\t\"isParent\": true,\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"list\",\n\t\t\t\t\"toc-list-type\": \"ul\",\n\t\t\t\t\"toc-list-filter\": \"[list<currentTiddler>!has[draft.of]]\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"*\",\n\t\t\"actions\": {}\n\t}\n]"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/modules/rules/html-linear.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/slicer-rules/html-linear.json\nname: html-linear\ncaption: Linear (HTML)\ndescription: One tiddler per paragraph in a single linear thread (HTML)\ntype: application/json\ntags: $:/tags/text-slicer/slicer-rules\n\n[\n\t{\n\t\t\"selector\": \"li > p\",\n\t\t\"actions\": {\n\t\t\t\"dontRenderTag\": true\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"p\",\n\t\t\"actions\": {\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"paragraph\"\n\t\t\t},\n\t\t\t\"dontRenderTag\": true\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"a\",\n\t\t\"actions\": {\n\t\t\t\"isAnchor\": true\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"address,blockquote,center,dl,dt,fieldset,form,h1,h2,h3,h4,h5,h6,hr,iframe,isindex,noframes,noscript,ol,pre,table,ul\",\n\t\t\"actions\": {\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"paragraph\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"br,caption,code,col,colgroup,em,i,dd,li,strike,strong,b,sub,sup,u,tbody,td,tfoot,th,thead,tr\",\n\t\t\"actions\": {\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"img\",\n\t\t\"actions\": {\n\t\t\t\"isImage\": true\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"head\",\n\t\t\"actions\": {\n\t\t\t\"dontRenderTag\": true,\n\t\t\t\"discard\": true\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"*\",\n\t\t\"actions\": {\n\t\t\t\"dontRenderTag\": true\n\t\t}\n\t}\n]"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/modules/rules/html-plain-paragraphs.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/slicer-rules/html-plain-paragraphs.json\nname: html-plain-paragraphs\ncaption: Plain Paragraphs (HTML)\ndescription: One tiddler per paragraph, without formatting (HTML)\ntype: application/json\ntags: $:/tags/text-slicer/slicer-rules\n\n[\n\t{\n\t\t\"selector\": \"address,blockquote,center,dd,dt,h1,h2,h3,h4,h5,h6,li,p\",\n\t\t\"actions\": {\n\t\t\t\"startNewChunk\": {\n\t\t\t\t\"toc-type\": \"paragraph\"\n\t\t\t},\n\t\t\t\"dontRenderTag\": true\n\t\t}\n\t},\n\t{\n\t\t\"selector\": \"*\",\n\t\t\"actions\": {\n\t\t\t\"dontRenderTag\": true\n\t\t}\n\t}\n]\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/modules/slicer.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/text-slicer/modules/slicer.js\ntype: application/javascript\nmodule-type: library\n\nSlice a tiddler or DOM document into individual tiddlers\n\nvar slicer = new textSlicer.Slicer(doc,{\n\t\tslicerRules: JSON data defining slicer rules -or- title of rules taken from tiddlers tagged $:/tags/text-slicer/slicer-rules\n\t\tsourceTiddlerTitle: tiddler to slice -or-\n\t\tsourceText: text to slice\n\t\toutputMode: \"html\" (default) -or- \"wiki\"\n\t\tbaseTiddlerTitle: \"MySlicedTiddlers-\"\n\t\trole: \"sliced-content\"\n\t\tcallback: function(err,tiddlers)\n\t});\n\n\\*/\n\n\"use strict\";\n\nfunction Slicer(options) {\n\t// Quick tests\n\tthis.testSlicerRuleMatching();\n\t// Marshal parameters\n\tthis.sourceTiddlerTitle = options.sourceTiddlerTitle;\n\tthis.sourceText = options.sourceText;\n\tthis.wiki = options.wiki;\n\tthis.role = options.role || \"sliced-html\";\n\tthis.outputMode = options.outputMode || \"html\";\n\tthis.escapeWikiText = options.escapeWikiText || false;\n\tthis.callbackFn = options.callback;\n\t// Get the slicer rules\n\tvar nameSlicerRules = null;\n\tif(!options.slicerRules) {\n\t\tnameSlicerRules = \"html-by-paragraph\";\n\t\tthis.slicerRules = this.loadSlicerRules(nameSlicerRules);\n\t} else if(typeof options.slicerRules === \"string\") {\n\t\tnameSlicerRules = options.slicerRules;\n\t\tthis.slicerRules = this.loadSlicerRules(nameSlicerRules);\n\t} else {\n\t\tthis.slicerRules = options.slicerRules;\n\t}\n\t// Set up the base tiddler title\n\tthis.baseTiddlerTitle = this.getBaseTiddlerTitle(options.baseTiddlerTitle);\n\t// Initialise state\n\tthis.namespaces = {}; // Hashmap of URLs\n\tthis.chunks = []; // Array of tiddlers without titles, addressed by their index. We use the title field to hold the plain text content\n\tthis.currentChunk = null; // Index of the chunk currently being written to\n\tthis.parentStack = []; // Stack of parent chunks {chunk: chunk index,actions:}\n\tthis.elementStack = []; // Stack of {tag:,isSelfClosing:,actions:}\n\tthis.titleCounts = {}; // Hashmap of counts of prefixed titles that have been issued\n\t// Set up the document tiddler as top level heading\n\tthis.chunks.push({\n\t\t\"toc-type\": \"document\",\n\t\ttitle: this.baseTiddlerTitle,\n\t\ttext: \"<div class='tc-table-of-contents'><<toc-selective-expandable \\\"\\\"\\\"\" + this.baseTiddlerTitle + \"document\\\"\\\"\\\">></div>\",\n\t\tlist: [],\n\t\ttags: [],\n\t\trole: this.role,\n\t\t\"slicer-rules\": nameSlicerRules,\n\t\t\"slicer-output-mode\": this.outputMode\n\t});\n\tthis.parentStack.push({chunk: 0, actions: this.getMatchingSlicerRuleActions(\"(document)\")});\n\tthis.insertPrecedingChunk({\n\t\t\"toc-type\": \"anchor\",\n\t\t\"title\": this.baseTiddlerTitle + \"-anchor-\"\n\t});\n\t// Set up the parser\n\tvar sax = require(\"$:/plugins/tiddlywiki/sax/sax.js\");\n\tthis.sax = sax.parser(false,{\n\t\txmlns: true,\n\t\tlowercase: true\n\t});\n\tthis.sax.onerror = this.onError.bind(this);\n\tthis.sax.onopennamespace = this.onOpenNamespace.bind(this);\n\tthis.sax.onclosenamespace = this.onCloseNamespace.bind(this);\n\tthis.sax.onopentag = this.onOpenTag.bind(this);\n\tthis.sax.onclosetag = this.onCloseTag.bind(this);\n\tthis.sax.ontext = this.onText.bind(this);\n\tthis.sax.onend = this.onEnd.bind(this);\n\t// Start streaming the data\n\tthis.sax.write(this.getSourceText());\n\tthis.sax.close();\n}\n\nSlicer.prototype.callback = function(err,tiddlers) {\n\tvar self = this;\n\t$tw.utils.nextTick(function() {\n\t\tself.callbackFn(err,tiddlers);\n\t});\n};\n\nSlicer.prototype.loadSlicerRules = function(name) {\n\t// Collect the available slicer rule tiddlers\n\tvar self = this,\n\t\ttitles = this.wiki.getTiddlersWithTag(\"$:/tags/text-slicer/slicer-rules\"),\n\t\ttiddlers = {},\n\t\trules = {},\n\t\truleNames = [];\n\ttitles.forEach(function(title) {\n\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\ttiddlers[tiddler.fields.name] = tiddler;\n\t\trules[tiddler.fields.name] = self.wiki.getTiddlerData(title,[]);\n\t});\n\t// Follow the inheritance trail to get a stack of slicer rule names\n\tvar n = name;\n\tdo {\n\t\truleNames.push(n);\n\t\tn = tiddlers[n] && tiddlers[n].fields[\"inherits-from\"];\n\t} while(n && ruleNames.indexOf(n) === -1);\n\t// Concatenate the slicer rules\n\trules = ruleNames.reduce(function(accumulator,name) {\n\t\treturn accumulator.concat(rules[name]);\n\t},[]);\n\treturn rules;\n};\n\nSlicer.prototype.getMatchingSlicerRuleActions = function(name) {\n\tvar rule = this.searchSlicerRules(name,this.slicerRules,this.elementStack);\n\tif(!rule) {\n\t\treturn {};\n\t} else {\n\t\treturn rule.actions;\n\t}\n};\n\nSlicer.prototype.testSlicerRuleMatching = function() {\n\tvar tests = [\n\t\t{\n\t\t\ttest: this.searchSlicerRules(\"title\",[\n\t\t\t\t{selector: \"title,head,body\", rules: true},\n\t\t\t\t{selector: \"body\", rules: true}\n\t\t\t],[\n\t\t\t\t{tag:\"head\"}\n\t\t\t]),\n\t\t\tresult: \"title,head,body\"\n\t\t},\n\t\t{\n\t\t\ttest: this.searchSlicerRules(\"body\",[\n\t\t\t\t{selector: \"title,head,body\", rules: true},\n\t\t\t\t{selector: \"body\", rules: true}\n\t\t\t],[\n\t\t\t\t{tag:\"head\"}\n\t\t\t]),\n\t\t\tresult: \"title,head,body\"\n\t\t},\n\t\t{\t\n\t\t\ttest: this.searchSlicerRules(\"title\",[\n\t\t\t\t{selector: \"head > title\", rules: true},\n\t\t\t\t{selector: \"title\", rules: true}\n\t\t\t],[\n\t\t\t\t{tag:\"head\"}\n\t\t\t]),\n\t\t\tresult: \"head > title\"\n\t\t}\n\t];\n\ttests.forEach(function(test,index) {\n\t\tif(test.test.selector !== test.result) {\n\t\t\tthrow \"Failing test \" + index + \", returns \" + test.test.selector + \" instead of \" + test.result;\n\t\t}\n\t});\n};\n\nSlicer.prototype.searchSlicerRules = function(name,rules,elementStack) {\n\treturn rules.find(function(rule) {\n\t\t// Split and trim the selectors for this rule\n\t\treturn !!rule.selector.split(\",\").map(function(selector) {\n\t\t\treturn selector.trim();\n\t\t\t// Find the first selector that matches, if any\n\t\t}).find(function(selector) {\n\t\t\t// Split and trim the parts of the selector\n\t\t\tvar parts = selector.split(\" \").map(function(part) {\n\t\t\t\treturn part.trim();\n\t\t\t});\n\t\t\t\t// * matches any element\n\t\t\tif(parts.length === 1 && parts[0] === \"*\") {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\t// Make a copy of the element stack so that we can be destructive\n\t\t\tvar elements = elementStack.slice(0).concat({tag: name}),\n\t\t\t\tnextElementMustBeAtTopOfStack = true,\n\t\t\t\tcurrentPart = parts.length - 1;\n\t\t\twhile(currentPart >= 0) {\n\t\t\t\tif(parts[currentPart] === \">\") {\n\t\t\t\t\tnextElementMustBeAtTopOfStack = true;\n\t\t\t\t} else {\n\t\t\t\t\tif(!nextElementMustBeAtTopOfStack) {\n\t\t\t\t\t\twhile(elements.length > 0 && elements[elements.length - 1].tag !== parts[currentPart]) {\n\t\t\t\t\t\t\telements.pop();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif(elements.length === 0 || elements[elements.length - 1].tag !== parts[currentPart]) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\telements.pop();\n\t\t\t\t\tnextElementMustBeAtTopOfStack = false;\n\t\t\t\t}\n\t\t\t\tcurrentPart--;\n\t\t\t}\n\t\t\treturn true;\n\t\t});\n\t});\n};\n\nSlicer.prototype.getBaseTiddlerTitle = function(baseTiddlerTitle) {\n\tif(baseTiddlerTitle) {\n\t\treturn baseTiddlerTitle;\t\t\n\t} else {\n\t\tif(this.sourceTiddlerTitle) {\n\t\t\treturn \"Sliced up \" + this.sourceTiddlerTitle + \":\";\n\t\t} else {\n\t\t\treturn \"SlicedTiddler\";\n\t\t}\n\t}\n};\n\nSlicer.prototype.getSourceText = function() {\n\tif(this.sourceTiddlerTitle) {\n\t\tvar tiddler = this.wiki.getTiddler(this.sourceTiddlerTitle);\n\t\tif(!tiddler) {\n\t\t\tconsole.log(\"Tiddler '\" + this.sourceTiddlerTitle + \"' does not exist\");\n\t\t\treturn \"\";\n\t\t}\n\t\tif(tiddler.fields.type === \"text/html\" || tiddler.fields.type === \"text/xml\" || (tiddler.fields.type || \"\").slice(-4) === \"+xml\") {\n\t\t\treturn tiddler.fields.text;\n\t\t} else {\n\t\t\treturn this.getTiddlerAsHtml(tiddler);\n\t\t}\n\t} else {\n\t\treturn this.sourceText;\n\t}\n};\n\nSlicer.prototype.getTiddlerAsHtml = function(tiddler) {\n\tvar widgetNode = this.wiki.makeTranscludeWidget(tiddler.fields.title,{\n\t\t\tdocument: $tw.fakeDocument,\n\t\t\tparseAsInline: false,\n\t\t\timportPageMacros: true}),\n\t\tcontainer = $tw.fakeDocument.createElement(\"div\");\n\twidgetNode.render(container,null);\n\treturn [\"<!DOCTYPE html PUBLIC \\\"-//W3C//DTD XHTML 1.1//EN\\\" \\\"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\\\">\",\"<html xmlns=\\\"http://www.w3.org/1999/xhtml\\\">\",\"<head>\",\"</head>\",\"<body>\",container.innerHTML,\"</body>\",\"</html>\"].join(\"\\n\");\n};\n\n\nSlicer.prototype.getImmediateParent = function() {\n\treturn this.parentStack.slice(-1)[0];\n};\n\nSlicer.prototype.onError = function(e) {\n\tconsole.error(\"Sax error: \", e);\n\t// Try to resume after errors\n\tthis.sax.error = null;\n\tthis.sax.resume();\n};\n\nSlicer.prototype.onOpenNamespace = function(info) {\n\tthis.namespaces[info.prefix] = info.uri;\n};\n\nSlicer.prototype.onCloseNamespace = function(info) {\n};\n\nSlicer.prototype.onOpenTag = function(node) {\n\tvar actions = this.getMatchingSlicerRuleActions(node.name);\n\t// Create an anchor if we encounter an ID\n\tif(node.attributes.id) {\n\t\tthis.insertPrecedingChunk({\n\t\t\t\"toc-type\": \"anchor\",\n\t\t\t\"title\": this.baseTiddlerTitle + \"-anchor-\" + node.attributes.id.value\n\t\t});\n\t}\n\t// Check for an element that should start a new chunk\n\tif(actions.startNewChunk) {\n\t\t// If this is a heading, pop off any higher or equal level headings first\n\t\tif(actions.isParent && actions.headingLevel) {\n\t\t\tvar parentActions = this.getImmediateParent().actions;\n\t\t\twhile(parentActions.isParent && parentActions.headingLevel && parentActions.headingLevel >= actions.headingLevel) {\n\t\t\t\tthis.parentStack.pop();\n\t\t\t\tparentActions = this.getImmediateParent().actions;\n\t\t\t}\n\t\t}\n\t\t// Start the new chunk\n\t\tthis.startNewChunk(actions.startNewChunk);\n\t\t// If this is a parent then also add it to the parent stack\n\t\tif(actions.isParent) {\n\t\t\tthis.parentStack.push({chunk: this.currentChunk, actions: actions});\n\t\t}\n\t}\n\t// Render the tag inline in the current chunk unless we should ignore it\n\tif(!actions.dontRenderTag) {\n\t\tif(actions.isImage) {\n\t\t\tthis.onOpenImage(node);\n\t\t} else if(actions.isAnchor) {\n\t\t\tthis.onOpenAnchor(node);\n\t\t} else {\n\t\t\tvar markupInfo = actions.markup && actions.markup[this.outputMode];\n\t\t\tif(markupInfo) {\n\t\t\t\tthis.addTextToCurrentChunk(markupInfo.prefix);\n\t\t\t} else {\n\t\t\t\tthis.addTextToCurrentChunk(\"<\" + node.name + (node.isSelfClosing ? \"/\" : \"\") + \">\");\n\t\t\t}\n\t\t}\n\t}\n\t// Remember whether this tag is self closing\n\tthis.elementStack.push({tag: node.name,isSelfClosing: node.isSelfClosing, actions: actions, node: node});\n};\n\nSlicer.prototype.onOpenAnchor = function(node) {\n\tif(node.attributes.href) {\n\t\tvar value = node.attributes.href.value;\n\t\tif(value.indexOf(\"https://\") === 0 || value.indexOf(\"http://\") === 0) {\n\t\t\t// External link\n\t\t\tthis.addTextToCurrentChunk(\"<a href=\\\"\" + value + \"\\\"  target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\">\");\n\t\t} else {\n\t\t\t// Internal link\n\t\t\tvar parts = value.split(\"#\"),\n\t\t\t\tbase = parts[0],\n\t\t\t\thash = parts[1] || \"\",\n\t\t\t\ttitle = $tw.utils.resolvePath(base,this.baseTiddlerTitle) + \"-anchor-\" + hash;\n\t\t\tthis.addTextToCurrentChunk(\"<$link to=\\\"\" + title + \"\\\">\");\t\t\t\n\t\t}\n\t}\n};\n\nSlicer.prototype.onCloseAnchor = function(elementInfo) {\n\tif(elementInfo.node.attributes.href) {\n\t\tvar value = elementInfo.node.attributes.href.value;\n\t\tif(value.indexOf(\"https://\") === 0 || value.indexOf(\"http://\") === 0) {\n\t\t\t// External link\n\t\t\tthis.addTextToCurrentChunk(\"</a>\");\n\t\t} else {\n\t\t\t// Internal link\n\t\t\tthis.addTextToCurrentChunk(\"</$link>\");\n\t\t}\n\t}\n};\n\nSlicer.prototype.onOpenImage = function(node) {\n\tvar url = node.attributes.src.value;\n\tif(url.slice(0,5) === \"data:\") {\n\t\t// var parts = url.slice(5).split(\",\");\n\t\t// this.chunks.push({\n\t\t// \ttitle: ,\n\t\t// \ttext: parts[1],\n\t\t// \ttype: parts[0].split[\";\"][0],\n\t\t// \trole: this.role\n\t\t// });\n\t}\n\tthis.addTextToCurrentChunk(\"[img[\" + $tw.utils.resolvePath(url,this.baseTiddlerTitle) + \"]]\");\n};\n\nSlicer.prototype.onCloseTag = function(name) {\n\tvar e = this.elementStack.pop(),\n\t\tactions = e.actions,\n\t\tselfClosing = e.isSelfClosing;\n\t// Set the caption if required\n\t// TODO\n\t// \tif(actions.setCaption) {\n\t// \t\tthis.chunks[this.currentChunk].caption = this.chunks[this.currentChunk].title;\n\t// \t}\n\t// Render the tag\n\tif(actions.isAnchor) {\n\t\tthis.onCloseAnchor(e);\n\t} else if(!actions.dontRenderTag && !selfClosing) {\n\t\tvar markupInfo = actions.markup && actions.markup[this.outputMode];\n\t\tif(markupInfo) {\n\t\t\tthis.addTextToCurrentChunk(markupInfo.suffix);\n\t\t} else {\n\t\t\tthis.addTextToCurrentChunk(\"</\" + name + \">\");\t\t\t\n\t\t}\n\t}\n\t// Check for an element that started a new chunk\n\tif(actions.startNewChunk) {\n\t\tif(!actions.mergeNext) {\n\t\t\tthis.currentChunk = null;\t\t\t\n\t\t}\n\t\t// If this is a parent and not a heading then also pop it from the parent stack\n\t\tif(actions.isParent && !actions.headingLevel) {\n\t\t\tthis.parentStack.pop();\n\t\t}\n\t}\n};\n\nSlicer.prototype.onText = function(text) {\n\t// Discard the text if we're inside an element with actions.discard set true\n\tif(this.elementStack.some(function(e) {return e.actions.discard;})) {\n\t\treturn;\n\t}\n\t// Optionally escape common character sequences that might be parsed as wikitext\n\ttext = $tw.utils.htmlEncode(text);\n\tif(this.escapeWikiText) {\n\t\t$tw.utils.each([\"[[\",\"{{\",\"__\",\"''\",\"//\",\",,\",\"^^\",\"~~\",\"`\",\"--\",\"\\\"\\\"\",\"@@\"],function(str) {\n\t\t\tvar replace = str.split(\"\").map(function(c) {\n\t\t\t\treturn \"&#\" + c.charCodeAt(0) + \";\";\n\t\t\t}).join(\"\");\n\t\t\ttext = text.replace(new RegExp($tw.utils.escapeRegExp(str),\"mg\"),replace);\n\t\t});\n\t}\n\tthis.addTextToCurrentChunk(text);\n\tthis.addTextToCurrentChunk(text,\"caption\");\n};\n\nSlicer.prototype.onEnd = function() {\n\tthis.callback(null,this.chunks);\n};\n\nSlicer.prototype.addTextToCurrentChunk = function(str,field) {\n\tfield = field || \"text\";\n\tif(this.currentChunk === null && str.trim() !== \"\") {\n\t\tthis.startNewChunk({\n\t\t\ttitle: this.makeTitle(\"paragraph\"),\n\t\t\t\"toc-type\": \"paragraph\"\n\t\t});\n\t}\n\tif(this.currentChunk !== null) {\n\t\tthis.chunks[this.currentChunk][field] += str;\n\t}\n};\n\nSlicer.prototype.startNewChunk = function(fields) {\n\tvar title = fields.title || this.makeTitle(fields[\"toc-type\"]);\n\tvar parentChunk = this.chunks[this.getImmediateParent().chunk];\n\tthis.chunks.push($tw.utils.extend({},{\n\t\ttitle: title,\n\t\ttext: \"\",\n\t\tcaption: \"\",\n\t\ttags: [parentChunk.title],\n\t\tlist: [],\n\t\trole: this.role\n\t},fields));\n\tthis.currentChunk = this.chunks.length - 1;\n\tparentChunk.list.push(title);\n};\n\nSlicer.prototype.insertPrecedingChunk = function(fields) {\n\tif(!fields.title) {\n\t\tthrow \"Chunks need a title\";\n\t}\n\tif(!this.currentChunk) {\n\t\tthis.startNewChunk(fields);\n\t\tthis.currentChunk = null;\n\t} else {\n\t\tvar parentChunk = this.chunks[this.getImmediateParent().chunk],\n\t\t\tindex = this.chunks.length - 1;\n\t\t// Insert the new chunk\n\t\tthis.chunks.splice(index,0,$tw.utils.extend({},{\n\t\t\ttext: \"\",\n\t\t\tcaption: \"\",\n\t\t\ttags: [parentChunk.title],\n\t\t\tlist: [],\n\t\t\trole: this.role\n\t\t},fields));\n\t\t// Adjust the current chunk pointer\n\t\tthis.currentChunk += 1;\n\t\t// Insert a pointer to the new chunk in the parent\n\t\tparentChunk.list.splice(parentChunk.list.length - 1,0,fields.title);\t\t\n\t}\n};\n\nSlicer.prototype.isBlank = function(s) {\n\treturn (/^[\\s\\xA0]*$/g).test(s);\n};\n\nSlicer.prototype.makeTitle = function(prefix) {\n\tprefix = prefix  || \"\";\n\tvar count = (this.titleCounts[prefix] || 0) + 1;\n\tthis.titleCounts[prefix] = count;\n\treturn this.baseTiddlerTitle + \"-\" + prefix + \"-\" + count;\n};\n\nexports.Slicer = Slicer;\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/modules/startup/slicer-startup.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/text-slicer/modules/startup/slicer-startup.js\ntype: application/javascript\nmodule-type: startup\n\nSetup the root widget event handlers\n\n\\*/\n\n\"use strict\";\n\nvar textSlicer = require(\"$:/plugins/tiddlywiki/text-slicer/modules/slicer.js\");\n\n// Export name and synchronous status\nexports.name = \"slicer\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n// Install the root widget event handlers\nexports.startup = function() {\n\t// Check sax is installed\n\tif(!$tw.utils.hop($tw.modules.titles,\"$:/plugins/tiddlywiki/sax/sax.js\")) {\n\t\t// Make a logger\n\t\tvar logger = new $tw.utils.Logger(\"text-slicer\");\n\t\tlogger.alert(\"The plugin 'text-slicer' requires the 'sax' plugin to be installed\");\n\t}\n\t// Add tm-slice-tiddler event handler\n\t$tw.rootWidget.addEventListener(\"tm-slice-tiddler\",function(event) {\n\t\tnew textSlicer.Slicer({\n\t\t\tsourceTiddlerTitle: event.param,\n\t\t\tslicerRules: event.paramObject && event.paramObject.slicerRules,\n\t\t\toutputMode: event.paramObject && event.paramObject.outputMode,\n\t\t\tbaseTiddlerTitle: event.paramObject && event.paramObject.destTitle,\n\t\t\trole: event.paramObject && event.paramObject.role,\n\t\t\twiki: $tw.wiki,\n\t\t\tcallback: function(err,tiddlers) {\n\t\t\t\tif(err) {\n\t\t\t\t\tlogger.alert(\"Slicer error: \" + err);\n\t\t\t\t} else {\n\t\t\t\t\t$tw.wiki.addTiddlers(tiddlers);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t});\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/text-slicer\",\n\t\"name\": \"Text Slicer\",\n\t\"description\": \"Tools for slicing text into tiddlers\",\n\t\"list\": \"readme docs\",\n\t\"dependents\": [\"$:/plugins/tiddlywiki/sax\"],\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/styles.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/styles\ntags: $:/tags/Stylesheet\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock\n\n.tc-document-preview-column {\n\tposition: fixed;\n\toverflow-y: auto;\n\toverflow-x: visible;\n\t-webkit-overflow-scrolling: touch;\n    background-color: <<colour page-background>>;\n\tright: auto;\n\tleft: 0;\n\ttop: 0;\n\tbottom: 0;\n\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}};\n\tfont-size: 0.9em;\n}\n\n.tc-sliced-document-title {\n\tfont-size: 1.7em;\n}\n\n.tc-slice-note {\n    color: #800;\n    padding: 4px 4px 4px 4px;\n    border: 1px solid #feed77;\n    background: #feed77;\n    background: -webkit-gradient(linear,left top,left bottom,color-stop(0%,#dede80),color-stop(7%,#feed77),color-stop(92%,#feed77),color-stop(100%,#dede80));\n    background: -webkit-linear-gradient(72deg,rgba(255, 255, 255, 0.5) 8%,rgba(255, 255, 255, 0.1) 80%), -webkit-linear-gradient(top,#dede80 0,#feed77 7%,#feed77 92%,#dede80 100%);\n    background: -moz-linear-gradient(72deg,rgba(255, 255, 255, 0.5) 8%,rgba(255, 255, 255, 0.1) 80%), -moz-linear-gradient(top,#dede80 0,#feed77 7%,#feed77 92%,#dede80 100%);\n    background: -o-linear-gradient(72deg,rgba(255, 255, 255, 0.5) 8%,rgba(255, 255, 255, 0.1) 80%), -o-linear-gradient(top,#dede80 0,#feed77 7%,#feed77 92%,#dede80 100%);\n    background: -ms-linear-gradient(72deg,rgba(255, 255, 255, 0.5) 8%,rgba(255, 255, 255, 0.1) 80%), -ms-linear-gradient(top,#dede80 0,#feed77 7%,#feed77 92%,#dede80 100%);\n    background: linear-gradient(72deg,rgba(255, 255, 255, 0.5) 8%,rgba(255, 255, 255, 0.1) 80%), linear-gradient(top,#dede80 0,#feed77 7%,#feed77 92%,#dede80 100%);\n\t<<box-shadow \"1px 1px 6px rgba(0,0,0,0.4)\">>\n}\n\n.tc-document-preview-column .tc-sliced-document-header {\n\tmargin-left: 24px;\n}\n\n.tc-document-preview-column .tc-sliced-document {\n\tmargin-bottom: 3px;\n}\n\n.tc-view-template-document-tiddler-wrapper,\n.tc-edit-template-document-tiddler-wrapper {\n    border-top: 2px solid #D6A2A2;\n    margin-left: -42px;\n    margin-right: -42px;\n    margin-bottom: -42px;\n    padding-left: 42px;\n    padding-right: 42px;\n    background: #FFE3E3;\n    padding-bottom: 10px;\n}\n\n.tc-edit-template-document-tiddler-wrapper {\n\tbackground: #A3A3D7;\n}\n\ndiv.tc-view-template-document-tiddler-heading a,\ndiv.tc-edit-template-document-tiddler-heading a {\n\tborder: 1px solid #D6A2A2;\n\tbackground: #fff;\n\tborder-radius: 16px;\n    padding: 0px 4px 0px 4px;\n    margin: 2px 4px 2px 4px;\n    white-space: nowrap;\n    display: inline-block;\n}\n\ndiv.tc-view-template-document-tiddler-heading a:hover,\ndiv.tc-edit-template-document-tiddler-heading a:hover {\n\tborder: 1px solid <<colour background>>;\n\ttext-decoration: none;\n\tcolor: <<colour background>>;\n\tbackground: <<colour foreground>>;\n}\n\n.tc-view-template-document-tiddler-heading-icon,\n.tc-edit-template-document-tiddler-heading-icon {\n\twidth: 42px;\n\ttext-align: center;\n    margin-left: -42px;\n    margin-right: -42px;\n    position: absolute;\n}\n\n.tc-view-template-document-tiddler-subheading,\n.tc-edit-template-document-tiddler-subheading {\n\tfont-size: 0.7em;\n\tfont-weight: bold;\n\tcolor: <<colour muted-foreground>>;\n}\n\n.tc-view-template-document-tiddler-heading-icon svg,\n.tc-edit-template-document-tiddler-heading-icon svg {\n\tcolor: <<colour background>>;\t\n}\n\n.tc-view-template-document-tiddler {\n\tfont-size: 0.9em;\n}\n\n.tc-document-tiddler {\n\tfont-family: Georgia, Times, 'Times New Roman', serif;\n}\n\n.tc-text-slicer-rename input {\n\tdisplay: block;\n\twidth: 100%;\n}\n\n.tc-document-tiddler-link {\n\tcursor: pointer;\n}\n\n.tc-document-tiddler-link:hover {\n    background: <<color background>>;\n}\n\n.tc-document-tiddler-toolbar {\n\tposition: absolute;\n\twidth: 24px;\n\ttext-align: center;\n}\n\n.tc-document-preview-column .tc-sliced-document-body {\n\tmargin-left: 24px;\n}\n\n.tc-document-preview-column .tc-document-tiddler-toolbar {\n\tmargin-left: -24px;\n}\n\n.tc-table-of-contents .tc-slice-toolbar button {\n\tcolor: inherit;\n\tbackground-color: inherit;\n}\n\n.tc-tiddler-frame .tc-document-tiddler-toolbar {\n    left: 0;\n    width: 42px;\n}\n\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/templates/interactive/def-list.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/templates/interactive/def-list\n\n\\define body()\n<dl>\n<$list filter=\"\"\"[all[current]] $(tv-exclude-filter)$ +[limit[1]]\"\"\" variable=\"item\">\n<$list filter={{!!toc-list-filter}} template=\"$:/plugins/tiddlywiki/text-slicer/templates/interactive/tiddler\"/>\n</$list>\n</dl>\n\\end\n\n<<body>>\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/templates/interactive/definition.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/templates/interactive/definition\n\n\\define body()\n<$link tag=\"dd\" class=\"tc-document-tiddler-link\">\n\n<$transclude/>\n\n</$link>\n\\end\n\n<<body>>\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/templates/interactive/document.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/templates/interactive/document\n\n\\define config-document-status()\n$:/state/plugins/tiddlywiki/text-slicer/show-preview-document/$(tv-heading-status-config-prefix)$/$(currentTiddler)$\n\\end\n\n\\define config-show-toolbar()\n$:/state/plugins/tiddlywiki/text-slicer/show-toolbar/$(currentTiddler)$\n\\end\n\n\\define config-show-metadata()\n$:/state/plugins/tiddlywiki/text-slicer/show-metadata/$(currentTiddler)$\n\\end\n\n\\define config-heading-status()\n$:/state/plugins/tiddlywiki/text-slicer/heading-status/$(currentTiddler)$\n\\end\n\n\\define body()\n<$set name=\"tv-heading-status-config-title\" value=<<config-heading-status>>>\n<$set name=\"tv-show-toolbar\" value={{$(config-show-toolbar)$}}>\n<div class=\"tc-sliced-document\">\n<div class=\"tc-sliced-document-header\">\n<div class=\"tc-document-tiddler-toolbar\">\n<$reveal type=\"nomatch\" state=<<config-document-status>> text=\"close\" default=\"open\" tag=\"div\">\n<$button set=<<config-document-status>> setTo=\"close\" class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<config-document-status>> text=\"close\" default=\"open\" tag=\"div\">\n<$button set=<<config-document-status>> setTo=\"open\" class=\"tc-btn-invisible\">\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n</div>\n<h1 class=\"tc-sliced-document-title\">''Document'': <$link><$view field=\"title\"/></$link></h1>\n</div>\n<$reveal type=\"nomatch\" state=<<config-document-status>> text=\"close\" default=\"open\" tag=\"div\">\n{{||$:/plugins/tiddlywiki/text-slicer/ui/document/header}}\n<div class='tc-sliced-document-body'>\n<$set name=\"tv-show-toolbar\" value={{$(config-show-toolbar)$}}>\n<$set name=\"tv-exclude-filter\" value={{!!toc-exclude-filter}}>\n<$list filter=\"[list<currentTiddler>!has[draft.of]]\" template=\"$:/plugins/tiddlywiki/text-slicer/templates/interactive/tiddler\"/>\n</$set>\n</$set>\n</div>\n</$reveal>\n</div>\n</$set>\n</$set>\n\\end\n\n<<body>>\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/templates/interactive/heading.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/templates/interactive/heading\n\n\\define config-heading-status()\n$(tv-heading-status-config-title)$/$(tv-heading-status-config-prefix)$/$(currentTiddler)$\n\\end\n\n\\define body(level:\"h1\")\n<$set name=\"tv-heading-status-config-title\" value=<<config-heading-status>>>\n<div class=\"tc-document-tiddler\">\n<div class=\"tc-document-tiddler-toolbar\">\n<$reveal type=\"nomatch\" state=<<tv-heading-status-config-title>> text=\"close\" default=<<tv-default-heading-state>> tag=\"div\">\n<$button set=<<tv-heading-status-config-title>> setTo=\"close\" class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<tv-heading-status-config-title>> text=\"close\" default=<<tv-default-heading-state>> tag=\"div\">\n<$button set=<<tv-heading-status-config-title>> setTo=\"open\" class=\"tc-btn-invisible\">\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n</div>\n<$link tag=\"$level$\" class=\"tc-document-tiddler-link\">\n<$transclude/>\n</$link>\n<$reveal type=\"nomatch\" state=<<tv-heading-status-config-title>> text=\"close\" default=<<tv-default-heading-state>> tag=\"div\">\n<$list filter=\"[list<currentTiddler>!has[draft.of]]\" template=\"$:/plugins/tiddlywiki/text-slicer/templates/interactive/tiddler\"/>\n</$reveal>\n</div>\n</$set>\n\\end\n\n<$macrocall $name=\"body\" level={{!!toc-heading-level}}/>\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/templates/interactive/image.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/templates/interactive/image\n\n\\define body()\n<$link tag=\"div\" class=\"tc-document-tiddler-link tc-document-tiddler\">\n\n<$list filter=\"\"\"[all[current]] $(tv-exclude-filter)$ +[limit[1]]\"\"\" variable=\"item\">\n\n<$transclude/>\n\n</$list>\n\n</$link>\n\\end\n\n<<body>>\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/templates/interactive/item.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/templates/interactive/item\n\n\\define body()\n<$link tag=\"li\" class=\"tc-document-tiddler-link\">\n\n<$transclude/>\n\n</$link>\n\\end\n\n<<body>>\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/templates/interactive/list.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/templates/interactive/list\n\n\\define body(type:\"ul\")\n<$type$>\n<$list filter=\"\"\"[all[current]] $(tv-exclude-filter)$ +[limit[1]]\"\"\" variable=\"item\">\n<$list filter={{!!toc-list-filter}} template=\"$:/plugins/tiddlywiki/text-slicer/templates/interactive/tiddler\"/>\n</$list>\n</$type$>\n\\end\n\n<$macrocall $name=\"body\" type={{!!toc-list-type}}/>\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/templates/interactive/note.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/templates/interactive/note\n\n\\define body()\n<div class=\"tc-slice-note\">\n\n<$link tag=\"div\" class=\"tc-document-tiddler-link tc-document-tiddler\">\n\n<$list filter=\"\"\"[all[current]] $(tv-exclude-filter)$ +[limit[1]]\"\"\" variable=\"item\">\n\n<$transclude/>\n\n</$list>\n\n</$link>\n\n</div>\n\\end\n\n<<body>>\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/templates/interactive/paragraph.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/templates/interactive/paragraph\n\n\\define body()\n<$link tag=\"div\" class=\"tc-document-tiddler-link tc-document-tiddler\">\n\n<$list filter=\"\"\"[all[current]] $(tv-exclude-filter)$ +[limit[1]]\"\"\" variable=\"item\">\n\n<$transclude/>\n\n</$list>\n\n</$link>\n\\end\n\n<<body>>\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/templates/interactive/term.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/templates/interactive/term\n\n\\define body()\n<$link tag=\"dt\" class=\"tc-document-tiddler-link\">\n\n<$transclude/>\n\n</$link>\n\\end\n\n<<body>>\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/templates/interactive/tiddler.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/templates/interactive/tiddler\n\n\\define if(condition,then,else)\n<$list filter=\"\"\"$condition$ +[limit[1]]\"\"\" emptyMessage=\"\"\"$else$\"\"\" variable=\"ignore\">\n$then$\n</$list>\n\\end\n\n\\define include-component(type)\n<<if \"[{!!toc-type}match[$type$]]\" \"\"\"\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/interactive/$type$\" mode=\"block\"/>\n\"\"\">>\n\\end\n\n<$list filter=\"[<tv-show-toolbar>match[yes]]\" variable=\"hasToolbar\">\n{{||$:/plugins/tiddlywiki/text-slicer/ui/tiddler/toolbar}}\n</$list>\n\n<<include-component \"document\">>\n<<include-component \"heading\">>\n<<include-component \"paragraph\">>\n<<include-component \"note\">>\n<<include-component \"list\">>\n<<include-component \"item\">>\n<<include-component \"image\">>\n<<include-component \"def-list\">>\n<<include-component \"term\">>\n<<include-component \"definition\">>\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/templates/plain/def-list.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/templates/plain/def-list\n\n\\define body()\n<dl>\n<$list filter=\"\"\"[all[current]] $(tv-exclude-filter)$ +[limit[1]]\"\"\" variable=\"item\">\n<$list filter={{!!toc-list-filter}} template=\"$:/plugins/tiddlywiki/text-slicer/templates/plain/tiddler\"/>\n</$list>\n</dl>\n\\end\n\n<<body>>\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/templates/plain/definition.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/templates/plain/definition\n\n\\define body()\n<dd>\n\n<$transclude/>\n\n</dd>\n\\end\n\n<<body>>\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/templates/plain/document.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/templates/plain/document\n\n<$set name=\"tv-exclude-filter\" value={{!!toc-exclude-filter}}>\n\n<$list filter=\"[list<currentTiddler>!has[draft.of]]\" template=\"$:/plugins/tiddlywiki/text-slicer/templates/plain/tiddler\"/>\n\n</$set>\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/templates/plain/heading.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/templates/plain/heading\n\n\\define body(level:\"h1\")\n<$level$>\n<$transclude/>\n</$level$>\n<$list filter=\"[list<currentTiddler>!has[draft.of]]\" template=\"$:/plugins/tiddlywiki/text-slicer/templates/plain/tiddler\"/>\n\\end\n\n<$macrocall $name=\"body\" level={{!!toc-heading-level}}/>\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/templates/plain/image.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/templates/plain/image\n\n<$transclude/>\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/templates/plain/item.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/templates/plain/item\n\n\\define body()\n<li>\n\n<$transclude/>\n\n</li>\n\\end\n\n<<body>>\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/templates/plain/list.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/templates/plain/list\n\n\\define body(type:\"ul\")\n<$type$>\n<$list filter=\"\"\"[all[current]] $(tv-exclude-filter)$ +[limit[1]]\"\"\" variable=\"item\">\n<$list filter={{!!toc-list-filter}} template=\"$:/plugins/tiddlywiki/text-slicer/templates/plain/tiddler\"/>\n</$list>\n</$type$>\n\\end\n\n<$macrocall $name=\"body\" type={{!!toc-list-type}}/>\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/templates/plain/note.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/templates/plain/note\n\n<!-- Don't display notes in plain mode -->\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/templates/plain/paragraph.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/templates/plain/paragraph\n\n\\define body()\n<div>\n\n<$list filter=\"\"\"[all[current]] $(tv-exclude-filter)$ +[limit[1]]\"\"\" variable=\"item\">\n\n<$transclude/>\n\n</$list>\n\n</div>\n\\end\n\n<<body>>\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/templates/plain/term.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/templates/plain/term\n\n\\define body()\n<dt>\n\n<$transclude/>\n\n</dt>\n\\end\n\n<<body>>\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/templates/plain/tiddler.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/templates/plain/tiddler\n\n<$vars toc-type={{!!toc-type}}>\n\n<$list filter=\"[<toc-type>match[document]]\" variable=\"item\">\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/plain/document\" mode=\"block\"/>\n</$list>\n\n<$list filter=\"[<toc-type>match[heading]]\" variable=\"item\">\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/plain/heading\" mode=\"block\"/>\n</$list>\n\n<$list filter=\"[<toc-type>match[paragraph]]\" variable=\"item\">\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/plain/paragraph\" mode=\"block\"/>\n</$list>\n\n<$list filter=\"[<toc-type>match[note]]\" variable=\"item\">\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/plain/note\" mode=\"block\"/>\n</$list>\n\n<$list filter=\"[<toc-type>match[list]]\" variable=\"item\">\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/plain/list\" mode=\"block\"/>\n</$list>\n\n<$list filter=\"[<toc-type>match[item]]\" variable=\"item\">\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/plain/item\" mode=\"block\"/>\n</$list>\n\n<$list filter=\"[<toc-type>match[image]]\" variable=\"item\">\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/plain/image\" mode=\"block\"/>\n</$list>\n\n<$list filter=\"[<toc-type>match[def-list]]\" variable=\"item\">\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/plain/def-list\" mode=\"block\"/>\n</$list>\n\n<$list filter=\"[<toc-type>match[term]]\" variable=\"item\">\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/plain/term\" mode=\"block\"/>\n</$list>\n\n<$list filter=\"[<toc-type>match[definition]]\" variable=\"item\">\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/plain/definition\" mode=\"block\"/>\n</$list>\n\n</$vars>\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/templates/static/def-list.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/templates/static/def-list\n\n<$list filter=\"\"\"[all[current]] $(tv-exclude-filter)$ +[limit[1]]\"\"\" variable=\"item\">\n\n`<dl class=\"`{{||$:/plugins/tiddlywiki/text-slicer/templates/static/helpers/classes}}`\">`\n\n<$list filter={{!!toc-list-filter}} template=\"$:/plugins/tiddlywiki/text-slicer/templates/static/tiddler\"/>\n\n`</dl>`\n\n</$list>\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/templates/static/definition.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/templates/static/definition\n\n`<dd class=\"`{{||$:/plugins/tiddlywiki/text-slicer/templates/static/helpers/classes}}`\">`\n\n<$transclude/>\n\n`</dd>`\n\n<$list filter=\"[list<currentTiddler>!has[draft.of]]\" template=\"$:/plugins/tiddlywiki/text-slicer/templates/static/tiddler\"/>\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/templates/static/document.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/templates/static/document\n\n<$set name=\"tv-exclude-filter\" value={{!!toc-exclude-filter}}>\n\n<$list filter=\"[list<currentTiddler>!has[draft.of]]\" template=\"$:/plugins/tiddlywiki/text-slicer/templates/static/tiddler\"/>\n\n</$set>\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/templates/static/heading.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/templates/static/heading\n\n`<`<$text text={{!!toc-heading-level}}/>` class=\"`{{||$:/plugins/tiddlywiki/text-slicer/templates/static/helpers/classes}}`\">`\n\n<$view field=\"text\" format=\"htmlencodedplainwikified\"/>\n\n`</`<$text text={{!!toc-heading-level}}/>`>`\n\n<$list filter=\"[list<currentTiddler>!has[draft.of]]\" template=\"$:/plugins/tiddlywiki/text-slicer/templates/static/tiddler\"/>\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/templates/static/helpers/classes.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/templates/static/helpers/classes\n\n<$list filter=\"[all[current]tags[]addprefix[$:/_DocumentTags/]has[title]]\"><$view field=\"css-class\"/> </$list>"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/templates/static/image.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/templates/static/image\n\n<$reveal state=\"!!_canonical_uri\" type=\"match\" text=\"\">\n\n`<img src=\"data:`<$view format=\"text\" field=\"type\"/>`;base64,`<$view format=\"text\" field=\"text\"/>`\" class=\"`{{||$:/plugins/tiddlywiki/text-slicer/templates/static/helpers/classes}}`\">`\n\n</$reveal>\n\n<$reveal state=\"!!_canonical_uri\" type=\"nomatch\" text=\"\">\n\n`<img src=\"`<$text text=<<tv-external-image-path>>/><$view field=\"title\" format=\"doubleurlencoded\"/>`\" class=\"`{{||$:/plugins/tiddlywiki/text-slicer/templates/static/helpers/classes}}`\">`\n\n</$reveal>\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/templates/static/item.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/templates/static/item\n\n`<li class=\"`{{||$:/plugins/tiddlywiki/text-slicer/templates/static/helpers/classes}}`\">`\n\n<$transclude/>\n\n<$list filter=\"[list<currentTiddler>!has[draft.of]]\" template=\"$:/plugins/tiddlywiki/text-slicer/templates/static/tiddler\"/>\n\n`</li>`\n\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/templates/static/list.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/templates/static/list\n\n<$list filter=\"\"\"[all[current]] $(tv-exclude-filter)$ +[limit[1]]\"\"\" variable=\"item\">\n\n`<`<$text text={{!!toc-list-type}}/>` class=\"`{{||$:/plugins/tiddlywiki/text-slicer/templates/static/helpers/classes}}`\">`\n\n<$list filter={{!!toc-list-filter}} template=\"$:/plugins/tiddlywiki/text-slicer/templates/static/tiddler\"/>\n\n`</`<$text text={{!!toc-list-type}}/>`>`\n\n</$list>\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/templates/static/note.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/templates/static/note\n\n<!-- Don't display notes in static mode -->\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/templates/static/paragraph.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/templates/static/paragraph\n\n<$list filter=\"\"\"[all[current]] $(tv-exclude-filter)$ +[limit[1]]\"\"\" variable=\"item\">\n\n`<p class=\"`{{||$:/plugins/tiddlywiki/text-slicer/templates/static/helpers/classes}}`\">`\n\n<$view field=\"text\" format=\"htmlencodedplainwikified\"/>\n\n`</p>`\n\n</$list>\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/templates/static/term.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/templates/static/term\n\n`<dt class=\"`{{||$:/plugins/tiddlywiki/text-slicer/templates/static/helpers/classes}}`\">`\n\n<$transclude/>\n\n`</dt>`\n\n<$list filter=\"[list<currentTiddler>!has[draft.of]]\" template=\"$:/plugins/tiddlywiki/text-slicer/templates/static/tiddler\"/>\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/templates/static/tiddler.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/templates/static/tiddler\n\n<$vars toc-type={{!!toc-type}}>\n\n<$list filter=\"[<toc-type>match[document]]\" variable=\"item\">\n\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/static/document\" mode=\"block\"/>\n\n</$list>\n\n<$list filter=\"[<toc-type>match[heading]]\" variable=\"item\">\n\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/static/heading\" mode=\"block\"/>\n\n</$list>\n\n<$list filter=\"[<toc-type>match[paragraph]]\" variable=\"item\">\n\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/static/paragraph\" mode=\"block\"/>\n\n</$list>\n\n<$list filter=\"[<toc-type>match[note]]\" variable=\"item\">\n\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/static/note\" mode=\"block\"/>\n\n</$list>\n\n<$list filter=\"[<toc-type>match[list]]\" variable=\"item\">\n\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/static/list\" mode=\"block\"/>\n\n</$list>\n\n<$list filter=\"[<toc-type>match[item]]\" variable=\"item\">\n\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/static/item\" mode=\"block\"/>\n\n</$list>\n\n<$list filter=\"[<toc-type>match[image]]\" variable=\"item\">\n\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/static/image\" mode=\"block\"/>\n\n</$list>\n\n<$list filter=\"[<toc-type>match[def-list]]\" variable=\"item\">\n\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/static/def-list\" mode=\"block\"/>\n\n</$list>\n\n<$list filter=\"[<toc-type>match[term]]\" variable=\"item\">\n\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/static/term\" mode=\"block\"/>\n\n</$list>\n\n<$list filter=\"[<toc-type>match[definition]]\" variable=\"item\">\n\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/static/definition\" mode=\"block\"/>\n\n</$list>\n\n</$vars>\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/ui/document/header.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/ui/document/header\n\n\\define metadatafield()\n<tr>\n<td>\n''<$transclude tiddler=<<listItem>> field=\"caption\"/>''\n</td>\n<td>\n<$reveal type=\"match\" state=\"\"\"$(listItem)$!!field-type\"\"\" text=\"string\">\n<$edit-text field={{$(listItem)$!!field}}/>\n</$reveal>\n<$reveal type=\"match\" state=\"\"\"$(listItem)$!!field-type\"\"\" text=\"list\">\n<$edit-text tag=\"textarea\" field={{$(listItem)$!!field}}/>\n</$reveal>\n</td>\n</tr>\n\\end\n\n<div class=\"tc-sliced-document-header\">\n\n''Exclude filter'': <$edit-text field=\"toc-exclude-filter\"/>\n\n<$checkbox tiddler=<<config-show-toolbar>> field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> Show toolbar </$checkbox> <$checkbox tiddler=<<config-show-metadata>> field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> Show metadata</$checkbox> <$button>\n<$action-sendmessage $message=\"tm-open-window\" $param=<<currentTiddler>> template=\"$:/plugins/tiddlywiki/text-slicer/templates/plain/document\"/>\nView document\n</$button>\n\n<$reveal state=<<config-show-metadata>> default=\"no\" type=\"match\" text=\"yes\">\n<table>\n<tbody>\n<$list filter=\"[all[system+tiddlers]tag[$:/tags/DocumentMetaData]]\" variable=\"listItem\">\n<<metadatafield>>\n</$list>\n</tbody>\n</table>\n</$reveal>\n\n\n</div>\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/ui/edit-template-segment.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/ui/edit-template-segment\ntags: $:/tags/EditTemplate\n\n\\define edit-field(name,tag:\"input\")\n$name$:\n\n<$edit-text field=\"\"\"$name$\"\"\" tag=\"$tag$\" class=\"tc-edit-texteditor\"/>\n\\end\n\n<$reveal type=\"nomatch\" state=\"!!toc-type\" text=\"\">\n\n<div class=\"tc-edit-template-document-tiddler-wrapper\">\n\n<div class=\"tc-edit-template-document-tiddler-heading\">\n\n<div class=\"tc-edit-template-document-tiddler-heading-icon\">\n\n{{$:/core/images/file}}\n\n</div>\n\n<div class=\"tc-edit-template-document-tiddler-subheading\">\n\n<$view field=\"toc-type\"/>\n\n</div>\n\n<<edit-field \"list\" tag:\"textarea\">>\n\n</div>\n\n</div>\n\n</$reveal>\n\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/ui/filters/Orphans.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/filters/Orphans\ntags: $:/tags/Filter\nfilter: [has[toc-type]] -[toc-type[document]list-children[]]\ndescription: [Text-slicer] Tiddlers that are not part of any document\n\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/ui/preview-column-empty.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/ui/preview-column/empty\n\n<div class=\"tc-sliced-document-header\">\n\nCreate a document by slicing an existing tiddler\n\n---\n\n[[Help|$:/plugins/tiddlywiki/text-slicer/docs]]\n\n</div>\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/ui/preview-column-multiple.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/ui/preview-column/multiple\n\nShow document: <$select tiddler=\"$:/plugins/tiddlywiki/text-slicer/config/currentDocument\">\n<$list filter=\"[toc-type[document]!has[draft.of]sort[title]]\">\n<option value=<<currentTiddler>>><$view field=\"title\"/></option>\n</$list>\n</$select>\n\n<$tiddler tiddler={{$:/plugins/tiddlywiki/text-slicer/config/currentDocument}}>\n\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/interactive/document\"/>\n\n</$tiddler>\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/ui/preview-column-single.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/ui/preview-column/single\n\n<$list filter=\"[toc-type[document]!has[draft.of]sort[title]limit[1]]\" template=\"$:/plugins/tiddlywiki/text-slicer/templates/interactive/document\"/>\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/ui/preview-column.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/ui/preview-column\ntags: $:/tags/AboveStory\n\n<$scrollable fallthrough=\"no\" class=\"tc-document-preview-column\">\n\n<$vars\n\ttv-default-heading-state=\"open\"\n>\n\n<$list filter=\"[toc-type[document]!has[draft.of]sort[title]limit[1]]\" emptyMessage={{$:/plugins/tiddlywiki/text-slicer/ui/preview-column/empty}}>\n\n<$list filter=\"[toc-type[document]!has[draft.of]sort[title]butfirst[1]limit[1]]\" emptyMessage={{$:/plugins/tiddlywiki/text-slicer/ui/preview-column/single}} template=\"$:/plugins/tiddlywiki/text-slicer/ui/preview-column/multiple\"/>\n\n</$list>\n\n</$vars>\n\n</$scrollable>\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/ui/slice-modal.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/ui/slice-modal\nfooter: <$button message=\"tm-close-tiddler\">Cancel</$button> <$button><$action-sendmessage $message=\"tm-close-tiddler\"/><$action-sendmessage $message=\"tm-slice-tiddler\" $param=<<currentTiddler>> slicerRules={{$:/config/plugins/text-slicer/slice-rule}} outputMode={{$:/config/plugins/text-slicer/output-mode}} destTitle={{$:/config/plugins/text-slicer/base-title}}/>Slice</$button>\nsubtitle: Slicing \"<$text text=<<currentTiddler>>/>\" into chunks\n\n''Choose how the tiddler should be sliced''\n\nPrefix for extracted tiddlers: <$edit-text tiddler=\"$:/config/plugins/text-slicer/base-title\" default={{{ [[Sliced up ]addsuffix<currentTiddler>addsuffix[:]] }}} tag=\"input\" size=\"30\"/>\n\n<$select tiddler=\"$:/config/plugins/text-slicer/slice-rule\" default=\"html-by-paragraph\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/text-slicer/slicer-rules]!has[draft.of]]\">\n<option value={{!!name}}><$text text={{!!description}}/></option>\n</$list>\n</$select>\n\nOutput mode: <$select tiddler=\"$:/config/plugins/text-slicer/output-mode\" default=\"html\">\n<option value=\"html\">HTML</option>\n<option value=\"wiki\">Wiki text</option>\n</$select>\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/ui/slice-toolbar-button.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/ui/slice-toolbar-button\ntags: $:/tags/ViewToolbar\nlist-before: $:/core/ui/Buttons/edit\ncaption: {{$:/plugins/tiddlywiki/text-slicer/images/text-slicer-icon}} Slice text tiddler\ndescription: Slice this text tiddler by headings and lists\n\n\\whitespace trim\n\n\\procedure hint()\nSlice this text tiddler into chunks\n\\end\n\n<$list filter=\"[<currentTiddler>!is[image]!is[binary]]\" variable=\"ignore\">\n<$button tooltip=<<hint>> aria-label=<<hint>> class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-modal\" $param=\"$:/plugins/tiddlywiki/text-slicer/ui/slice-modal\" currentTiddler=<<currentTiddler>>/>\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/plugins/tiddlywiki/text-slicer/images/text-slicer-icon}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\">Slice tiddler</span>\n<%endif%>\n</$button>\n</$list>\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/ui/tiddler/toolbar/title.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/ui/tiddler/toolbar/title\ntags: $:/tags/TextSlicerToolbar\n\n\\define renameProxyTitle()\n$:/state/plugins/tiddlywiki/text-slicer/rename-$(currentTiddler)$\n\\end\n\n\\define body()\n<div class=\"tc-text-slicer-rename\">\n<$edit-text tag=\"input\" tiddler=<<renameProxyTitle>> placeholder=\"Rename\" default=<<currentTiddler>>/>\n<$reveal type=\"nomatch\" state=\"\"\"$(renameProxyTitle)$\"\"\" text=<<currentTiddler>> default=<<currentTiddler>>>\n<$button>\n<$action-deletetiddler $tiddler=<<renameProxyTitle>>/>\ncancel\n</$button>\n<$button>\n<$action-sendmessage $message=\"tm-rename-tiddler\" from=<<currentTiddler>> to={{$(renameProxyTitle)$}}/>\n<$action-deletetiddler $tiddler=<<renameProxyTitle>>/>\nrename\n</$button>\n<$set name=\"proxy-title\" value={{$(renameProxyTitle)$}}>\n<$list filter=\"\"\"[<proxy-title>is[tiddler]]\"\"\">\nWarning: tiddler already exists\n</$list>\n</$set>\n</$reveal>\n</div>\n\\end\n\n<<body>>\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/ui/tiddler/toolbar.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/ui/tiddler/toolbar\n\n<div class=\"tc-slice-toolbar\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TextSlicerToolbar]!has[draft.of]]\" variable=\"listItem\"><$transclude tiddler=<<listItem>>/></$list>\n</div>\n"
  },
  {
    "path": "plugins/tiddlywiki/text-slicer/ui/view-template-segment.tid",
    "content": "title: $:/plugins/tiddlywiki/text-slicer/ui/view-template-segment\ntags: $:/tags/ViewTemplate\n\n\\define config-heading-status()\n$:/state/plugins/tiddlywiki/text-slicer/heading-status/$(currentTiddler)$\n\\end\n\n<$reveal type=\"nomatch\" state=<<folded-state>> text=\"hide\" retain=\"yes\" animate=\"yes\">\n\n<$reveal type=\"nomatch\" state=\"!!toc-type\" text=\"\">\n\n<div class=\"tc-view-template-document-tiddler-wrapper\">\n\n<div class=\"tc-view-template-document-tiddler-heading\">\n\n<div class=\"tc-view-template-document-tiddler-heading-icon\">\n\n{{$:/core/images/file}}\n\n</div>\n\n<div class=\"tc-view-template-document-tiddler-subheading\">\n\n<$view field=\"toc-type\"/>\n\n</div>\n\nParents: <$list filter=\"[all[current]listed[]!is[system]]\" emptyMessage=\"None\">\n<$link><$view field=\"title\"/></$link>\n</$list>\n\n</div>\n\n<div class=\"tc-view-template-document-tiddler\">\n\n<$vars\n\ttv-default-heading-state=\"close\"\n\ttv-heading-status-config-prefix=\"view-template\"\n\ttv-heading-status-config-title=<<config-heading-status>>\n>\n\n<$transclude tiddler=\"$:/plugins/tiddlywiki/text-slicer/templates/interactive/tiddler\"/>\n\n</$vars>\n\n</div>\n\n</div>\n\n</$reveal>\n\n</$reveal>\n"
  },
  {
    "path": "plugins/tiddlywiki/tiddlyweb/GettingStarted.tid",
    "content": "title: GettingStarted\ntags: $:/tags/GettingStarted\ncaption: Step 1<br>Syncing\n\nWelcome to ~TiddlyWiki and the ~TiddlyWiki community\n\nVisit https://tiddlywiki.com/ to find out more about ~TiddlyWiki and what it can do.\n\n! Syncing Changes to the Server\n\nBefore you can start storing important information in ~TiddlyWiki it is important to make sure that your changes are being reliably saved by the server.\n\n# Create a new tiddler using the {{$:/core/images/new-button}} button in the sidebar on the right\n# Click the {{$:/core/images/done-button}} button at the top right of the new tiddler\n# Check the ~TiddlyWiki command line for a message confirming the tiddler has been saved\n# Refresh the page in the browser to and verify that the new tiddler has been correctly saved\n"
  },
  {
    "path": "plugins/tiddlywiki/tiddlyweb/SaveWikiButtonTemplate.tid",
    "content": "title: $:/config/SaveWikiButton/Template\n\n$:/plugins/tiddlywiki/tiddlyweb/save/offline"
  },
  {
    "path": "plugins/tiddlywiki/tiddlyweb/config-tiddlers-filter.tid",
    "content": "title: $:/config/Server/ExternalFilters/[all[tiddlers]] -[[$:/isEncrypted]] -[prefix[$:/temp/]] -[prefix[$:/status/]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] -[has[plugin-type]field:platform[server]] -[[$:/library/sjcl.js]] -[[$:/core]]\ntext: yes\n"
  },
  {
    "path": "plugins/tiddlywiki/tiddlyweb/configOfficialPluginLibrary.tid",
    "content": "title: $:/config/OfficialPluginLibrary\ntags: $:/tags/PluginLibrary\nurl: https://tiddlywiki.com/library/v5.1.23/index.html\ncaption: {{$:/language/OfficialPluginLibrary}}\nenabled: no\n\nThe official plugin library is disabled when using the client-server configuration. Instead, plugins should be installed via the `tiddlywiki.info` file, as described [[here|https://tiddlywiki.com/#Installing%20official%20plugins%20on%20Node.js]]."
  },
  {
    "path": "plugins/tiddlywiki/tiddlyweb/css-tiddler.tid",
    "content": "title: $:/core/templates/css-tiddler\n\n<!--\n\nThis template is used for saving CSS tiddlers as a style tag with data attributes representing the tiddler fields. This version includes the tiddler changecount as the field `revision`.\n\n-->`<style`<$fields exclude='text revision bag' template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` data-tiddler-revision=\"`<<changecount>>`\" data-tiddler-bag=\"default\" type=\"text/css\">`<$view field=\"text\" format=\"text\" />`</style>`"
  },
  {
    "path": "plugins/tiddlywiki/tiddlyweb/html-div-skinny-tiddler.tid",
    "content": "title: $:/core/templates/html-div-skinny-tiddler\n\n<!--\n\nThis template is a variant of the tiddlyweb plugin's overridden version of $:/core/templates/html-div-tiddler used for saving skinny tiddlers (with no text field)\n\n-->`<div`<$fields exclude='text revision bag' template=' $name$=\"$encoded_value$\"'></$fields>` revision=\"`<<changecount>>`\" bag=\"default\" _is_skinny=\"\">\n<pre></pre>\n</div>`\n"
  },
  {
    "path": "plugins/tiddlywiki/tiddlyweb/html-div-tiddler.tid",
    "content": "title: $:/core/templates/html-div-tiddler\n\n<!--\n\nThis template is used for saving tiddlers as an HTML DIV tag with attributes representing the tiddler fields. This version includes the tiddler changecount as the field `revision`.\n\n-->`<div`<$fields exclude='text revision bag' template=' $name$=\"$encoded_value$\"'></$fields>` revision=\"`<<changecount>>`\" bag=\"default\">\n<pre>`<$view field=\"text\" format=\"htmltextencoded\" />`</pre>\n</div>`\n"
  },
  {
    "path": "plugins/tiddlywiki/tiddlyweb/html-json-skinny-tiddler.tid",
    "content": "title: $:/core/templates/html-json-skinny-tiddler\n\n<$text text=<<join>>/><$jsontiddler tiddler=<<currentTiddler>> exclude=\"text\" escapeUnsafeScriptChars=\"yes\" $revision=<<changecount>> $bag=\"default\" $_is_skinny=\"\"/>\n"
  },
  {
    "path": "plugins/tiddlywiki/tiddlyweb/html-json-tiddler.tid",
    "content": "title: $:/core/templates/html-json-tiddler\n\n<$jsontiddler tiddler=<<currentTiddler>> escapeUnsafeScriptChars=\"yes\" $revision=<<changecount>> $bag=\"default\"/>\n"
  },
  {
    "path": "plugins/tiddlywiki/tiddlyweb/icon-cloud.tid",
    "content": "title: $:/plugins/tiddlywiki/tiddlyweb/icon/cloud\ntags: $:/tags/Image\n\n<svg class=\"tc-image-cloud tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\"><g><path d=\"M24 103C10.745 103 0 92.255 0 79c0-9.697 5.75-18.05 14.027-21.836A24.787 24.787 0 0114 56c0-13.255 10.745-24 24-24 1.373 0 2.718.115 4.028.337C48.628 24.2 58.707 19 70 19c19.882 0 36 16.118 36 36v.082c12.319 1.016 22 11.336 22 23.918 0 12.239-9.16 22.337-20.999 23.814L107 103H24z\"/><path class=\"tc-image-cloud-idle\" d=\"M57.929 84.698a6 6 0 01-8.485 0L35.302 70.556a6 6 0 118.485-8.485l9.9 9.9L81.97 43.686a6 6 0 018.485 8.486L57.929 84.698z\"/><path class=\"tc-image-cloud-progress tc-animate-rotate-slow\" d=\"M44.8 40a3.6 3.6 0 100 7.2h2.06A23.922 23.922 0 0040 64c0 13.122 10.531 23.785 23.603 23.997L64 88l.001-7.2c-9.171 0-16.626-7.348-16.798-16.477L47.2 64c0-5.165 2.331-9.786 5.999-12.868L53.2 55.6a3.6 3.6 0 107.2 0v-12a3.6 3.6 0 00-3.6-3.6h-12zM64 40v7.2c9.278 0 16.8 7.522 16.8 16.8 0 5.166-2.332 9.787-6 12.869V72.4a3.6 3.6 0 10-7.2 0v12a3.6 3.6 0 003.6 3.6h12a3.6 3.6 0 100-7.2l-2.062.001A23.922 23.922 0 0088 64c0-13.255-10.745-24-24-24z\"/></g></svg>"
  },
  {
    "path": "plugins/tiddlywiki/tiddlyweb/javascript-tiddler.tid",
    "content": "title: $:/core/templates/javascript-tiddler\n\n<!--\n\nThis template is used for saving JavaScript tiddlers as a script tag with data attributes representing the tiddler fields. This version includes the tiddler changecount as the field `revision`.\n\n-->`<script`<$fields exclude='text revision bag' template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` data-tiddler-revision=\"`<<changecount>>`\" data-tiddler-bag=\"default\" type=\"text/javascript\">`<$view field=\"text\" format=\"text\" />`</script>`"
  },
  {
    "path": "plugins/tiddlywiki/tiddlyweb/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/tiddlyweb\",\n\t\"name\": \"TiddlyWeb\",\n\t\"description\": \"Sync changes from the browser to TW5 (node.js) or TiddlyWeb server\",\n\t\"list\": \"readme\",\n\t\"plugin-priority\": 10,\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/tiddlyweb/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/tiddlyweb/readme\n\nThis plugin runs in the browser to synchronise tiddler changes to and from a TiddlyWeb-compatible server (including TiddlyWiki 5 itself, running on Node.js). It is inert when run under Node.js. Disabling this plugin via the browser can not be undone via the browser since this plugin provides the mechanism to synchronize settings with the server.\n\nChanges made while offline are saved in memory and automatically synchonised with the server when the connection is re-established. However, if the browser tab is closed or another URL is loaded, the in-memory changes will be lost. The [[https://tiddlywiki.com/#BrowserStorage Plugin]] may be added to provide temporary filesystem storage of tiddler changes made while offline and enable them to be synchronised with the server the next time the wiki is loaded in the same browser.  \n\n[[Source code|https://github.com/TiddlyWiki/TiddlyWiki5/blob/master/plugins/tiddlywiki/tiddlyweb]]\n"
  },
  {
    "path": "plugins/tiddlywiki/tiddlyweb/readonly-styles.tid",
    "content": "title: $:/plugins/tiddlywiki/tiddlyweb/readonly\ntags: [[$:/tags/Stylesheet]]\n\n\\define button-selector(title)\nbutton.$title$, .tc-drop-down button.$title$, div.$title$\n\\end\n\n\\define hide-edit-controls()\n<$reveal state=\"$:/status/IsReadOnly\" type=\"match\" text=\"yes\" default=\"yes\">\n<<button-selector tc-btn-\\%24\\%3A\\%2Fcore\\%2Fui\\%2FButtons\\%2Fclone>>`,`\n<<button-selector tc-btn-\\%24\\%3A\\%2Fcore\\%2Fui\\%2FButtons\\%2Fdelete>>`,`\n<<button-selector tc-btn-\\%24\\%3A\\%2Fcore\\%2Fui\\%2FButtons\\%2Fedit>>`,`\n<<button-selector tc-btn-\\%24\\%3A\\%2Fcore\\%2Fui\\%2FButtons\\%2Fnew-here>>`,`\n<<button-selector tc-btn-\\%24\\%3A\\%2Fcore\\%2Fui\\%2FButtons\\%2Fnew-journal-here>>`,`\n<<button-selector tc-btn-\\%24\\%3A\\%2Fcore\\%2Fui\\%2FButtons\\%2Fimport>>`,`\n<<button-selector tc-btn-\\%24\\%3A\\%2Fcore\\%2Fui\\%2FButtons\\%2Fmanager>>`,`\n<<button-selector tc-btn-\\%24\\%3A\\%2Fcore\\%2Fui\\%2FButtons\\%2Fnew-image>>`,`\n<<button-selector tc-btn-\\%24\\%3A\\%2Fcore\\%2Fui\\%2FButtons\\%2Fnew-journal>>`,`\n<<button-selector tc-btn-\\%24\\%3A\\%2Fcore\\%2Fui\\%2FButtons\\%2Fnew-tiddler>> `{\n\tdisplay: none;\n}`\n</$reveal>\n\\end\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock\n\n<<hide-edit-controls>>\n"
  },
  {
    "path": "plugins/tiddlywiki/tiddlyweb/save-offline.tid",
    "content": "title: $:/plugins/tiddlywiki/tiddlyweb/save/offline\n\n\\import [subfilter{$:/core/config/GlobalImportFilter}]\n\\define saveTiddlerFilter()\n[is[tiddler]] -[[$:/boot/boot.css]] -[prefix[$:/HistoryList]] -[status[pending]plugin-type[import]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] -[has[plugin-type]field:platform[server]] -[[$:/plugins/tiddlywiki/filesystem]] -[[$:/plugins/tiddlywiki/tiddlyweb]] -[prefix[$:/temp/]] +[sort[title]] $(publishFilter)$\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
  },
  {
    "path": "plugins/tiddlywiki/tiddlyweb/save-wiki-button.tid",
    "content": "title: $:/core/ui/Buttons/save-wiki\ntags: $:/tags/PageControls\ncaption: {{$:/plugins/tiddlywiki/tiddlyweb/icon/cloud}} Server status\ndescription: Status of synchronisation with server\n\n\\whitespace trim\n\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n<$button popup=<<qualify \"$:/state/popup/save-wiki\">> tooltip=\"Status of synchronisation with server\" aria-label=\"Server status\" class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<span class=\"tc-dirty-indicator\">\n<%if [<tv-config-toolbar-icons>match[yes]] %>\n{{$:/plugins/tiddlywiki/tiddlyweb/icon/cloud}}\n<%endif%>\n<%if [<tv-config-toolbar-text>match[yes]] %>\n<span class=\"tc-btn-text\"><$text text=\"Server status\"/></span>\n<%endif%>\n</span>\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/save-wiki\">> type=\"popup\" position=\"belowleft\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SyncerDropdown]!has[draft.of]]\" variable=\"listItem\">\n<$transclude tiddler=<<listItem>>/>\n</$list>\n</div>\n</$reveal>\n"
  },
  {
    "path": "plugins/tiddlywiki/tiddlyweb/styles.tid",
    "content": "title: $:/plugins/tiddlywiki/tiddlyweb/styles\ntags: [[$:/tags/Stylesheet]]\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock\n\nbody.tc-dirty span.tc-dirty-indicator svg {\n\ttransition: fill 250ms ease-in-out;\n}\n\nbody .tc-image-cloud-idle {\n\tfill: <<colour background>>;\n\ttransition: opacity 250ms ease-in-out;\n\topacity: 1;\n\tdisplay: unset;\n}\n\nbody.tc-dirty .tc-image-cloud-idle {\n\topacity: 0;\n\tdisplay: none;\n}\n\nbody .tc-image-cloud-progress {\n\ttransition: opacity 250ms ease-in-out;\n\ttransform-origin: 50% 50%;\n\ttransform: rotate(359deg);\n\tanimation: animation-rotate-slow 2s infinite linear;\n\tfill: <<colour background>>;\n\tdisplay: none;\n\topacity: 0;\n}\n\nbody.tc-dirty .tc-image-cloud-progress {\n\topacity: 1;\n\tdisplay: unset;\n}\n\n@keyframes animation-rotate-slow {\n\tfrom {\n\t\ttransform: rotate(0deg);\n\t}\n\tto {\n\t\ttransform: scale(359deg);\n\t}\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/tiddlyweb/syncer-actions-copy-logs.tid",
    "content": "title: $:/plugins/tiddlywiki/tiddlyweb/syncer-actions/copy-logs\ntags: $:/tags/SyncerDropdown\n\n<$button message=\"tm-copy-syncer-logs-to-clipboard\" class=\"tc-btn-invisible\">\n{{$:/core/images/copy-clipboard}} Copy syncer logs to clipboard\n</$button>\n"
  },
  {
    "path": "plugins/tiddlywiki/tiddlyweb/syncer-actions-login-status.tid",
    "content": "title: $:/plugins/tiddlywiki/tiddlyweb/syncer-actions/login-status\ntags: $:/tags/SyncerDropdown\n\n<$reveal state=\"$:/status/IsLoggedIn\" type=\"match\" text=\"yes\">\n<div class=\"tc-drop-down-info\">\nYou are logged in<$reveal state=\"$:/status/UserName\" type=\"nomatch\" text=\"\" default=\"\"> as <strong><$text text={{$:/status/UserName}}/></strong></$reveal><$reveal state=\"$:/status/IsReadOnly\" type=\"match\" text=\"yes\" default=\"no\"> (read-only)</$reveal>\n</div>\n<hr/>\n</$reveal>\n"
  },
  {
    "path": "plugins/tiddlywiki/tiddlyweb/syncer-actions-login.tid",
    "content": "title: $:/plugins/tiddlywiki/tiddlyweb/syncer-actions/login\ntags: $:/tags/SyncerDropdown\n\n<$reveal state=\"$:/status/IsLoggedIn\" type=\"nomatch\" text=\"yes\">\n<$button message=\"tm-login\" class=\"tc-btn-invisible\">\n{{$:/core/images/unlocked-padlock}} Login\n</$button>\n</$reveal>\n"
  },
  {
    "path": "plugins/tiddlywiki/tiddlyweb/syncer-actions-logout.tid",
    "content": "title: $:/plugins/tiddlywiki/tiddlyweb/syncer-actions/logout\ntags: $:/tags/SyncerDropdown\n\n<$reveal state=\"$:/status/IsLoggedIn\" type=\"match\" text=\"yes\">\n<$button message=\"tm-logout\" class=\"tc-btn-invisible\">\n{{$:/core/images/cancel-button}} Logout\n</$button>\n</$reveal>\n"
  },
  {
    "path": "plugins/tiddlywiki/tiddlyweb/syncer-actions-refresh.tid",
    "content": "title: $:/plugins/tiddlywiki/tiddlyweb/syncer-actions/refresh\ntags: $:/tags/SyncerDropdown\n\n<$reveal state=\"$:/status/IsLoggedIn\" type=\"match\" text=\"yes\">\n<$button tooltip=\"Get latest changes from the server\" aria-label=\"Refresh from server\" class=\"tc-btn-invisible\">\n<$action-sendmessage $message=\"tm-server-refresh\"/>\n{{$:/core/images/refresh-button}}<span class=\"tc-btn-text\"><$text text=\"Get latest changes from the server\"/></span>\n</$button>\n</$reveal>\n"
  },
  {
    "path": "plugins/tiddlywiki/tiddlyweb/syncer-actions-save-snapshot.tid",
    "content": "title: $:/plugins/tiddlywiki/tiddlyweb/syncer-actions/save-snapshot\ntags: $:/tags/SyncerDropdown\n\n<$button class=\"tc-btn-invisible\">\n<$wikify name=\"site-title\" text={{$:/config/SaveWikiButton/Filename}}>\n<$action-sendmessage $message=\"tm-download-file\" $param={{$:/config/SaveWikiButton/Template}} filename=<<site-title>>/>\n</$wikify>\n{{$:/core/images/download-button}} Save snapshot for offline use\n</$button>\n"
  },
  {
    "path": "plugins/tiddlywiki/tiddlyweb/tags-syncerdropdown.tid",
    "content": "title: $:/tags/SyncerDropdown\nlist: $:/plugins/tiddlywiki/tiddlyweb/syncer-actions/login-status $:/plugins/tiddlywiki/tiddlyweb/syncer-actions/login $:/plugins/tiddlywiki/tiddlyweb/syncer-actions/refresh $:/plugins/tiddlywiki/tiddlyweb/syncer-actions/logout $:/plugins/tiddlywiki/tiddlyweb/syncer-actions/save-snapshot $:/plugins/tiddlywiki/tiddlyweb/syncer-actions/copy-logs\n"
  },
  {
    "path": "plugins/tiddlywiki/tiddlyweb/tiddlywebadaptor.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/tiddlyweb/tiddlywebadaptor.js\ntype: application/javascript\nmodule-type: syncadaptor\n\nA sync adaptor module for synchronising with TiddlyWeb compatible servers\n\n\\*/\n\n\"use strict\";\n\nvar CONFIG_HOST_TIDDLER = \"$:/config/tiddlyweb/host\",\n\tDEFAULT_HOST_TIDDLER = \"$protocol$//$host$/\";\n\nfunction TiddlyWebAdaptor(options) {\n\tthis.wiki = options.wiki;\n\tthis.host = this.getHost();\n\tthis.recipe = undefined;\n\tthis.hasStatus = false;\n\tthis.logger = new $tw.utils.Logger(\"TiddlyWebAdaptor\");\n\tthis.isLoggedIn = false;\n\tthis.isReadOnly = false;\n\tthis.logoutIsAvailable = true;\n}\n\nTiddlyWebAdaptor.prototype.name = \"tiddlyweb\";\n\nTiddlyWebAdaptor.prototype.supportsLazyLoading = true;\n\nTiddlyWebAdaptor.prototype.setLoggerSaveBuffer = function(loggerForSaving) {\n\tthis.logger.setSaveBuffer(loggerForSaving);\n};\n\nTiddlyWebAdaptor.prototype.isReady = function() {\n\treturn this.hasStatus;\n};\n\nTiddlyWebAdaptor.prototype.getHost = function() {\n\tvar text = this.wiki.getTiddlerText(CONFIG_HOST_TIDDLER,DEFAULT_HOST_TIDDLER),\n\t\tsubstitutions = [\n\t\t\t{name: \"protocol\", value: document.location.protocol},\n\t\t\t{name: \"host\", value: document.location.host}\n\t\t];\n\tfor(var t=0; t<substitutions.length; t++) {\n\t\tvar s = substitutions[t];\n\t\ttext = $tw.utils.replaceString(text,new RegExp(\"\\\\$\" + s.name + \"\\\\$\",\"mg\"),s.value);\n\t}\n\treturn text;\n};\n\nTiddlyWebAdaptor.prototype.getTiddlerInfo = function(tiddler) {\n\treturn {\n\t\tbag: tiddler.fields.bag\n\t};\n};\n\nTiddlyWebAdaptor.prototype.getTiddlerRevision = function(title) {\n\tvar tiddler = this.wiki.getTiddler(title);\n\treturn tiddler.fields.revision;\n};\n\n/*\nGet the current status of the TiddlyWeb connection\n*/\nTiddlyWebAdaptor.prototype.getStatus = function(callback) {\n\t// Get status\n\tvar self = this;\n\tthis.logger.log(\"Getting status\");\n\t$tw.utils.httpRequest({\n\t\turl: this.host + \"status\",\n\t\tcallback: function(err,data) {\n\t\t\tself.hasStatus = true;\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\t//If Browser-Storage plugin is present, cache pre-loaded tiddlers and add back after sync from server completes \n\t\t\tif($tw.browserStorage && $tw.browserStorage.isEnabled()) {\n\t\t\t\t$tw.browserStorage.cachePreloadTiddlers();\n\t\t\t}\n\t\t\t// Decode the status JSON\n\t\t\tvar json = null;\n\t\t\ttry {\n\t\t\t\tjson = JSON.parse(data);\n\t\t\t} catch(e) {\n\t\t\t}\n\t\t\tif(json) {\n\t\t\t\tself.logger.log(\"Status:\",data);\n\t\t\t\t// Record the recipe\n\t\t\t\tif(json.space) {\n\t\t\t\t\tself.recipe = json.space.recipe;\n\t\t\t\t}\n\t\t\t\t// Check if we're logged in\n\t\t\t\tself.isLoggedIn = json.username !== \"GUEST\";\n\t\t\t\tself.isReadOnly = !!json[\"read_only\"];\n\t\t\t\tself.isAnonymous = !!json.anonymous;\n\t\t\t\tself.logoutIsAvailable = \"logout_is_available\" in json ? !!json[\"logout_is_available\"] : true;\n\t\t\t}\n\t\t\t// Invoke the callback if present\n\t\t\tif(callback) {\n\t\t\t\tcallback(null,self.isLoggedIn,json.username,self.isReadOnly,self.isAnonymous);\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nAttempt to login and invoke the callback(err)\n*/\nTiddlyWebAdaptor.prototype.login = function(username,password,callback) {\n\tvar options = {\n\t\turl: this.host + \"challenge/tiddlywebplugins.tiddlyspace.cookie_form\",\n\t\ttype: \"POST\",\n\t\tdata: {\n\t\t\tuser: username,\n\t\t\tpassword: password,\n\t\t\ttiddlyweb_redirect: \"/status\" // workaround to marginalize automatic subsequent GET\n\t\t},\n\t\tcallback: function(err) {\n\t\t\tcallback(err);\n\t\t},\n\t\theaders: {\n\t\t\t\"accept\": \"application/json\",\n\t\t\t\"X-Requested-With\": \"TiddlyWiki\"\n\t\t}\n\t};\n\tthis.logger.log(\"Logging in:\",options);\n\t$tw.utils.httpRequest(options);\n};\n\n/*\n*/\nTiddlyWebAdaptor.prototype.logout = function(callback) {\n\tif(this.logoutIsAvailable) {\n\t\tvar options = {\n\t\t\turl: this.host + \"logout\",\n\t\t\ttype: \"POST\",\n\t\t\tdata: {\n\t\t\t\tcsrf_token: this.getCsrfToken(),\n\t\t\t\ttiddlyweb_redirect: \"/status\" // workaround to marginalize automatic subsequent GET\n\t\t\t},\n\t\t\tcallback: function(err,data,xhr) {\n\t\t\t\tcallback(err);\n\t\t\t},\n\t\t\theaders: {\n\t\t\t\t\"accept\": \"application/json\",\n\t\t\t\t\"X-Requested-With\": \"TiddlyWiki\"\n\t\t\t}\n\t\t};\n\t\tthis.logger.log(\"Logging out:\",options);\n\t\t$tw.utils.httpRequest(options);\n\t} else {\n\t\talert(\"This server does not support logging out. If you are using basic authentication the only way to logout is close all browser windows\");\n\t\tcallback(null);\n\t}\n};\n\n/*\nRetrieve the CSRF token from its cookie\n*/\nTiddlyWebAdaptor.prototype.getCsrfToken = function() {\n\tvar regex = /^(?:.*; )?csrf_token=([^(;|$)]*)(?:;|$)/,\n\t\tmatch = regex.exec(document.cookie),\n\t\tcsrf = null;\n\tif(match && (match.length === 2)) {\n\t\tcsrf = match[1];\n\t}\n\treturn csrf;\n};\n\n/*\nGet an array of skinny tiddler fields from the server\n*/\nTiddlyWebAdaptor.prototype.getSkinnyTiddlers = function(callback) {\n\tvar self = this;\n\t$tw.utils.httpRequest({\n\t\turl: this.host + \"recipes/\" + this.recipe + \"/tiddlers.json\",\n\t\tdata: {\n\t\t\tfilter: \"[all[tiddlers]] -[[$:/isEncrypted]] -[prefix[$:/temp/]] -[prefix[$:/status/]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] -[has[plugin-type]field:platform[server]] -[[$:/library/sjcl.js]] -[[$:/core]]\"\n\t\t},\n\t\tcallback: function(err,data) {\n\t\t\t// Check for errors\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\t// Process the tiddlers to make sure the revision is a string\n\t\t\tvar tiddlers = JSON.parse(data);\n\t\t\tfor(var t=0; t<tiddlers.length; t++) {\n\t\t\t\ttiddlers[t] = self.convertTiddlerFromTiddlyWebFormat(tiddlers[t]);\n\t\t\t}\n\t\t\t// Invoke the callback with the skinny tiddlers\n\t\t\tcallback(null,tiddlers);\n\t\t\t// If Browswer Storage tiddlers were cached on reloading the wiki, add them after sync from server completes in the above callback.\n\t\t\tif($tw.browserStorage && $tw.browserStorage.isEnabled()) { \n\t\t\t\t$tw.browserStorage.addCachedTiddlers();\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nSave a tiddler and invoke the callback with (err,adaptorInfo,revision)\n*/\nTiddlyWebAdaptor.prototype.saveTiddler = function(tiddler,callback,options) {\n\tvar self = this;\n\tif(this.isReadOnly) {\n\t\treturn callback(null);\n\t}\n\t$tw.utils.httpRequest({\n\t\turl: this.host + \"recipes/\" + encodeURIComponent(this.recipe) + \"/tiddlers/\" + encodeURIComponent(tiddler.fields.title),\n\t\ttype: \"PUT\",\n\t\theaders: {\n\t\t\t\"Content-type\": \"application/json\"\n\t\t},\n\t\tdata: this.convertTiddlerToTiddlyWebFormat(tiddler),\n\t\tcallback: function(err,data,request) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\t//If Browser-Storage plugin is present, remove tiddler from local storage after successful sync to the server\n\t\t\tif($tw.browserStorage && $tw.browserStorage.isEnabled()) {\n\t\t\t\t$tw.browserStorage.removeTiddlerFromLocalStorage(tiddler.fields.title);\n\t\t\t}\n\t\t\t// Save the details of the new revision of the tiddler\n\t\t\tvar etag = request.getResponseHeader(\"Etag\");\n\t\t\tif(!etag) {\n\t\t\t\tcallback(\"Response from server is missing required `etag` header\");\n\t\t\t} else {\n\t\t\t\tvar etagInfo = self.parseEtag(etag);\n\t\t\t\t// Invoke the callback\n\t\t\t\tcallback(null,{\n\t\t\t\t\tbag: etagInfo.bag\n\t\t\t\t},etagInfo.revision);\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nLoad a tiddler and invoke the callback with (err,tiddlerFields)\n*/\nTiddlyWebAdaptor.prototype.loadTiddler = function(title,callback) {\n\tvar self = this;\n\t$tw.utils.httpRequest({\n\t\turl: this.host + \"recipes/\" + encodeURIComponent(this.recipe) + \"/tiddlers/\" + encodeURIComponent(title),\n\t\tcallback: function(err,data,request) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\t// Invoke the callback\n\t\t\tcallback(null,self.convertTiddlerFromTiddlyWebFormat(JSON.parse(data)));\n\t\t}\n\t});\n};\n\n/*\nDelete a tiddler and invoke the callback with (err)\noptions include:\ntiddlerInfo: the syncer's tiddlerInfo for this tiddler\n*/\nTiddlyWebAdaptor.prototype.deleteTiddler = function(title,callback,options) {\n\tif(this.isReadOnly) {\n\t\treturn callback(null);\n\t}\n\t// If we don't have a bag it means that the tiddler hasn't been seen by the server, so we don't need to delete it\n\tvar bag = options.tiddlerInfo.adaptorInfo && options.tiddlerInfo.adaptorInfo.bag;\n\tif(!bag) {\n\t\treturn callback(null,options.tiddlerInfo.adaptorInfo);\n\t}\n\t// Issue HTTP request to delete the tiddler\n\t$tw.utils.httpRequest({\n\t\turl: this.host + \"bags/\" + encodeURIComponent(bag) + \"/tiddlers/\" + encodeURIComponent(title),\n\t\ttype: \"DELETE\",\n\t\tcallback: function(err,data,request) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\t// Invoke the callback & return null adaptorInfo\n\t\t\tcallback(null,null);\n\t\t}\n\t});\n};\n\n/*\nConvert a tiddler to a field set suitable for PUTting to TiddlyWeb\n*/\nTiddlyWebAdaptor.prototype.convertTiddlerToTiddlyWebFormat = function(tiddler) {\n\tvar result = {},\n\t\tknownFields = [\n\t\t\t\"bag\", \"created\", \"creator\", \"modified\", \"modifier\", \"permissions\", \"recipe\", \"revision\", \"tags\", \"text\", \"title\", \"type\", \"uri\"\n\t\t];\n\tif(tiddler) {\n\t\t$tw.utils.each(tiddler.fields,function(fieldValue,fieldName) {\n\t\t\tvar fieldString = fieldName === \"tags\" ?\n\t\t\t\ttiddler.fields.tags :\n\t\t\t\ttiddler.getFieldString(fieldName); // Tags must be passed as an array, not a string\n\n\t\t\tif(knownFields.indexOf(fieldName) !== -1) {\n\t\t\t\t// If it's a known field, just copy it across\n\t\t\t\tresult[fieldName] = fieldString;\n\t\t\t} else {\n\t\t\t\t// If it's unknown, put it in the \"fields\" field\n\t\t\t\tresult.fields = result.fields || {};\n\t\t\t\tresult.fields[fieldName] = fieldString;\n\t\t\t}\n\t\t});\n\t}\n\t// Default the content type\n\tresult.type = result.type || \"text/vnd.tiddlywiki\";\n\treturn JSON.stringify(result,null,$tw.config.preferences.jsonSpaces);\n};\n\n/*\nConvert a field set in TiddlyWeb format into ordinary TiddlyWiki5 format\n*/\nTiddlyWebAdaptor.prototype.convertTiddlerFromTiddlyWebFormat = function(tiddlerFields) {\n\tvar result = {};\n\t// Transfer the fields, pulling down the `fields` hashmap\n\t$tw.utils.each(tiddlerFields,function(element,title,object) {\n\t\tif(title === \"fields\") {\n\t\t\t$tw.utils.each(element,function(element,subTitle,object) {\n\t\t\t\tresult[subTitle] = element;\n\t\t\t});\n\t\t} else {\n\t\t\tresult[title] = tiddlerFields[title];\n\t\t}\n\t});\n\t// Make sure the revision is expressed as a string\n\tif(typeof result.revision === \"number\") {\n\t\tresult.revision = result.revision.toString();\n\t}\n\t// Some unholy freaking of content types\n\tif(result.type === \"text/javascript\") {\n\t\tresult.type = \"application/javascript\";\n\t} else if(!result.type || result.type === \"None\") {\n\t\tresult.type = \"text/x-tiddlywiki\";\n\t}\n\treturn result;\n};\n\n/*\nSplit a TiddlyWeb Etag into its constituent parts. For example:\n\n```\n\"system-images_public/unsyncedIcon/946151:9f11c278ccde3a3149f339f4a1db80dd4369fc04\"\n```\n\nNote that the value includes the opening and closing double quotes.\n\nThe parts are:\n\n```\n<bag>/<title>/<revision>:<hash>\n```\n*/\nTiddlyWebAdaptor.prototype.parseEtag = function(etag) {\n\tvar firstSlash = etag.indexOf(\"/\"),\n\t\tlastSlash = etag.lastIndexOf(\"/\"),\n\t\tcolon = etag.lastIndexOf(\":\");\n\tif(firstSlash === -1 || lastSlash === -1 || colon === -1) {\n\t\treturn null;\n\t} else {\n\t\treturn {\n\t\t\tbag: $tw.utils.decodeURIComponentSafe(etag.substring(1,firstSlash)),\n\t\t\ttitle: $tw.utils.decodeURIComponentSafe(etag.substring(firstSlash + 1,lastSlash)),\n\t\t\trevision: etag.substring(lastSlash + 1,colon)\n\t\t};\n\t}\n};\n\nif($tw.browser && document.location.protocol.substr(0,4) === \"http\" ) {\n\texports.adaptorClass = TiddlyWebAdaptor;\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/tour/config-AutoStartTour.tid",
    "content": "title: $:/config/AutoStartTour\ntext: no\n"
  },
  {
    "path": "plugins/tiddlywiki/tour/config-CurrentTour.tid",
    "content": "title: $:/config/CurrentTour\ntext: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki"
  },
  {
    "path": "plugins/tiddlywiki/tour/config-DefaultColourMappings.multids",
    "content": "title: $:/config/DefaultColourMappings/\n\ntour-chooser-button-foreground: <<colour very-muted-foreground>>\ntour-chooser-button-hover-background: <<colour muted-foreground>>\ntour-chooser-button-hover-foreground:: <<colour background>>\ntour-chooser-button-selected-background: <<colour primary>>\ntour-chooser-button-selected-foreground: <<colour background>>\ntour-chooser-dropdown-foreground: <<colour very-muted-foreground>>\ntour-chooser-item-background: <<colour background>>\ntour-chooser-item-border: <<colour muted-foreground>>\ntour-chooser-item-foreground: <<colour foreground>>\ntour-chooser-item-shadow: <<colour muted-foreground>>\ntour-chooser-item-start-background: <<colour download-background>>\ntour-chooser-item-start-foreground: <<colour background>>\ntour-chooser-item-start-hover-background: <<colour primary>>\ntour-chooser-item-start-hover-foreground: <<colour background>>\ntour-fullscreen-background: <<colour page-background>>\ntour-fullscreen-controls-foreground: <<colour muted-foreground>>\ntour-navigation-buttons-back-background: red\ntour-navigation-buttons-back-foreground: white\ntour-navigation-buttons-hint-background: purple\ntour-navigation-buttons-hint-foreground: white\ntour-navigation-buttons-hover-background: <<colour foreground>>\ntour-navigation-buttons-hover-foreground: <<colour background>>\ntour-navigation-buttons-next-background: purple\ntour-navigation-buttons-next-foreground: white\ntour-overlay-background: #cbfff8\ntour-overlay-border: #228877\ntour-step-heading-background: none\ntour-step-task-background: <<colour download-background>>\ntour-step-task-foreground: <<colour download-foreground>>\n"
  },
  {
    "path": "plugins/tiddlywiki/tour/config-ShowTour.tid",
    "content": "title: $:/config/ShowTour\ntext: hide\n"
  },
  {
    "path": "plugins/tiddlywiki/tour/docs.tid",
    "content": "title: $:/plugins/tiddlywiki/tour/docs\n\nTour definition tiddlers have the following fields:\n\n|!Name |!Description |\n|tags |Must include $:/tags/Tour |\n|tour-tag |Name of tag used to define tour step sequence |\n|logo |Title of tiddler containing logo of tour |\n|description |Brief description of the tour |\n|text |Longer description of the tour |\n|class |(optional) additional class to apply to the tour wrapper |\n\n\nTour step tiddlers have the following fields:\n\n|!Name |!Description |\n|tags|Must include the tag used to define the tour step sequence |\n|caption|Caption for the tour step |\n|display-mode|(optional) can be set to `fullscreen` |\n|enter-actions|(optional) action string invoked when the step is displayed |\n|hint-selector|(optional) selector to be highlighted by the hint button in steps with a step-success-filter |\n|hint-text|(optional) text to be displayed for the hint button |\n|condition|(optional) filter expression that must return a result for the step to be displayed |\n|step-success-filter|(optional) filter expression that must return a result for the step to be considered completed |\n|step-success-filtervar|(optional) filter expression evaluated to set the first result as the variable `step-success-filter-var` which can be used in the `step-success-filter` |"
  },
  {
    "path": "plugins/tiddlywiki/tour/images/tour-button-icon.tid",
    "content": "title: $:/plugins/tiddlywiki/tour/tour-button-icon\ntags: $:/tags/Image\n\n\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-tour-button tc-image-button\" viewBox=\"0 0 24 24\">\n<path d=\"M0 0h24v24H0z\" style=\"fill:none\"/>\n<path d=\"M1.832 10.356a1.024 1.024 0 0 1 0-1.832l9.71-4.856c.288-.144.628-.144.916 0l9.71 4.856a1.024 1.024 0 0 1 0 1.832l-9.71 4.855a1.025 1.025 0 0 1-.916 0l-9.71-4.855Z\"/>\n<path d=\"M18.5 13.19v3.25h-.066c.044.163.066.33.066.5 0 1.932-2.913 3.5-6.5 3.5s-6.5-1.568-6.5-3.5c0-.17.022-.337.066-.5H5.5v-3.25l6.042 3.02c.288.145.628.145.916 0l6.042-3.02ZM2.73 8.44l.208 5-.681 3s-.002.709.974.717c.92.007 1-.717 1-.717l-.793-3 .293-5h-1Z\"/>\n</svg>"
  },
  {
    "path": "plugins/tiddlywiki/tour/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/tour\",\n\t\"name\": \"Tour\",\n\t\"description\": \"A tour of TiddlyWiki\",\n\t\"list\": \"readme docs settings\",\n\t\"dependents\": [\"$:/plugins/tiddlywiki/confetti\",\"$:/plugins/tiddlywiki/dynannotate\"],\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/tour/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/tour/readme\n\nThe Tour Plugin for TiddlyWiki provides a framework for making interactive guided tours. An \"Introduction to ~TiddlyWiki\" tour is included in the plugin but it is also possible to load additional tours and switch between them.\n"
  },
  {
    "path": "plugins/tiddlywiki/tour/settings.tid",
    "content": "title: $:/plugins/tiddlywiki/tour/settings\ncaption: Tour\ntags: $:/tags/ControlPanel/SettingsTab\n\n\\import [[$:/plugins/tiddlywiki/tour/variables]]\n\\procedure button-expand-collapse-all(caption,text)\n<$button>\n\t<$list filter=\"[all[shadows+tiddlers]tag<currentTourTag>]\" variable=\"currentStep\">\n\t\t<$let\n\t\t\tcollapseState={{{ [[$:/state/Tour/Settings/Tour/Visibility/]addsuffix<currentTour>addsuffix<currentStep>] }}}\n\t\t>\n\t\t\t<$action-setfield $tiddler=<<collapseState>> text=<<text>>/>\n\t\t</$let>\n\t</$list>\n\t<$text text=<<caption>>/>\n</$button>\n\\end\n\n\\procedure display-tour-step-field-text(fieldName,fieldCaption)\n<$list filter=\"[<currentStep>has<fieldName>]\" variable=\"ignore\">\n\t<tr>\n\t\t<th>\n\t\t\t<$text text=<<fieldCaption>>/>\n\t\t</th>\n\t\t<td>\n\t\t\t<$text text={{{ [<currentStep>get<fieldName>] }}}/>\n\t\t</td>\n\t</tr>\n</$list>\n\\end\n\n<$let\n\tstateCurrentTour=<<qualify \"$:/state/Tour/Settings/Current\">>\n\tdefaultTour={{{ [{$:/config/CurrentTour}] :else[all[shadows+tiddlers]tag[$:/tags/Tour]] }}}\n>\n\n! Tour Overview\n\nSelect a tour:\n<$select tiddler=<<stateCurrentTour>> default=<<defaultTour>>>\n\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Tour]]\">\n\t\t<option value=<<currentTiddler>>>\n\t\t\t<$transclude $field=\"description\">\n\t\t\t\t<$text text=<<currentTiddler>>/>\n\t\t\t</$transclude>\n\t\t</option>\n\t</$list>\n</$select>\n\n<$let\n\tcurrentTour={{{ [<stateCurrentTour>get[text]] :else[<defaultTour>] }}}\n\tcurrentTourTag={{{ [<currentTour>get[tour-tag]] }}}\n>\n\t<div class=\"tc-table-wrapper\">\n\t\t<table class=\"tc-tour-settings-tour-details\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<th>\n\t\t\t\t\t\tTour title\n\t\t\t\t\t</th>\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<$link to=<<currentTour>>><$text text=<<currentTour>>/></$link>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<th>\n\t\t\t\t\t\tTour description\n\t\t\t\t\t</th>\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<div class=\"tc-tour-settings-tour-details-description\">\n\t\t\t\t\t\t\t<$transclude $tiddler=<<currentTour>>>\n\t\t\t\t\t\t\t\t(No description available)\n\t\t\t\t\t\t\t</$transclude>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<th>\n\t\t\t\t\t\tTour logo\n\t\t\t\t\t</th>\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<div class=\"tc-tour-settings-tour-details-logo\">\n\t\t\t\t\t\t\t<$image source={{{ [<currentTour>get[logo]] }}}/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<th>\n\t\t\t\t\t\tTour step tag\n\t\t\t\t\t</th>\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<$transclude $variable=\"tag\" tag=<<currentTourTag>>/>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</tbody>\n\t\t</table>\n\t</div>\n\t<$list filter=\"[<currentTour>has[settings]]\" variable=\"ignore\">\n\t\t<p>\n\t\tCustom tour settings:\n\t\t</p>\n\t\t<div class=\"tc-tour-settings-tour-settings\">\n\t\t\t<$transclude $tiddler={{{ [<currentTour>get[settings]] }}}/>\n\t\t</div>\n\t</$list>\n\t<p>\n\t\t<<button-expand-collapse-all \"Expand All\" \"show\">>\n\t\t<<button-expand-collapse-all \"Collapse All\" \"hide\">>\n\t</p>\n\t<$list filter=\"[all[shadows+tiddlers]tag<currentTourTag>]\" variable=\"currentStep\" counter=\"stepNumber\">\n\t\t<$let\n\t\t\tcollapseState={{{ [[$:/state/Tour/Settings/Tour/Visibility/]addsuffix<currentTour>addsuffix<currentStep>] }}}\n\t\t>\n\t\t\t<div class=\"tc-tour-settings-tour-step\">\n\t\t\t\t<div class=\"tc-tour-settings-tour-step-heading\">\n\t\t\t\t\t<$button class=\"tc-btn-invisible tc-tour-settings-tour-step-open-button\">\n\t\t\t\t\t\t<$action-setfield $tiddler=<<collapseState>> text={{{ [<collapseState>get[text]else[hide]match[show]then[hide]else[show]] }}}/>\n\t\t\t\t\t\t<$list filter=\"[<collapseState>get[text]else[hide]match[show]]\" variable=\"ignore\" emptyMessage=\"{{$:/core/images/right-arrow}}\">\n\t\t\t\t\t\t\t{{$:/core/images/down-arrow}}\n\t\t\t\t\t\t</$list>\n\t\t\t\t\t\t<span class=\"tc-tour-settings-tour-step-heading-step-number\">\n\t\t\t\t\t\t\t<$text text=<<stepNumber>>/>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<$transclude $tiddler=<<currentStep>> $field=\"caption\">\n\t\t\t\t\t\t\t<$text text=<<currentStep>>/>\n\t\t\t\t\t\t</$transclude>\n\t\t\t\t\t</$button>\n\t\t\t\t\t<$button class=\"tc-btn-invisible tc-tour-settings-tour-step-launch-button\" tooltip=\"Launch this step of the tour\">\n\t\t\t\t\t\t<$transclude $variable=\"tour-start\" title=<<currentTour>> step=<<currentStep>>/>\n\t\t\t\t\t\t{{$:/core/images/open-window}}\n\t\t\t\t\t</$button>\n\t\t\t\t</div>\n\t\t\t\t<$reveal state=<<collapseState>> text=\"show\" type=\"match\" default=\"hide\" animate=\"yes\">\n\t\t\t\t\t<div class=\"tc-table-wrapper\">\n\t\t\t\t\t\t<table class=\"tc-tour-settings-tour-step-details\">\n\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t<<display-tour-step-field-text \"title\" \"Title\">>\n\t\t\t\t\t\t\t\t<<display-tour-step-field-text \"caption\" \"Caption\">>\n\t\t\t\t\t\t\t\t<<display-tour-step-field-text \"step-success-filter\" \"step-success-filter\">>\n\t\t\t\t\t\t\t\t<<display-tour-step-field-text \"step-success-filter-var\" \"step-success-filter Variable\">>\n\t\t\t\t\t\t\t\t<<display-tour-step-field-text \"display-mode\" \"Display Mode\">>\n\t\t\t\t\t\t\t\t<<display-tour-step-field-text \"enter-actions\" \"Enter Actions\">>\n\t\t\t\t\t\t\t\t<<display-tour-step-field-text \"hint-text\" \"Hint text\">>\n\t\t\t\t\t\t\t\t<<display-tour-step-field-text \"hint-selector\" \"Hint selector\">>\n\t\t\t\t\t\t\t\t<<display-tour-step-field-text \"hint-selector-fallback-1\" \"Hint selector Fallback 1\">>\n\t\t\t\t\t\t\t\t<<display-tour-step-field-text \"hint-selector-fallback-2\" \"Hint selector Fallback 2\">>\n\t\t\t\t\t\t\t\t<<display-tour-step-field-text \"condition\" \"Condition\">>\n\t\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t</table>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"tc-tour-settings-tour-step-body\">\n\t\t\t\t\t\t<$transclude $tiddler=<<currentStep>> $mode=\"block\"/>\n\t\t\t\t\t</div>\n\t\t\t\t</$reveal>\n\t\t\t</div>\n\t\t</$let>\n\t</$list>\n</$let>\n\n</$let>\n"
  },
  {
    "path": "plugins/tiddlywiki/tour/simplified-tiddler-with-tags.tid",
    "content": "title: $:/plugins/tiddlywiki/tour/simplified-tiddler-with-tags\n\n\\whitespace trim\n\\define tag-pill-styles()\nbackground-color:$(backgroundColor)$;\ncolor:$(foregroundColor)$;\n\\end\n\n\\procedure tag-pill-label(prefix)\n<$text text={{{ [<currentTiddler>removeprefix<prefix>] }}}/>\n\\end\n\n\\procedure tag-pill-label-link(prefix)\n<div>\n\t<$link>\n\t\t<$transclude $variable=\"tag-pill-label\" prefix=<<prefix>>/>\n\t</$link>\n</div>\n\\end\n\n<!-- This has no whitespace trim to avoid modifying $actions$. Closing tags omitted for brevity. -->\n\\define tag-pill-inner(tag,icon,colour,fallbackTarget,colourA,colourB,element-tag,element-attributes,actions,prefix)\n\\whitespace trim\n<$let\n\tforegroundColor=<<contrastcolour target:\"\"\"$colour$\"\"\" fallbackTarget:\"\"\"$fallbackTarget$\"\"\" colourA:\"\"\"$colourA$\"\"\" colourB:\"\"\"$colourB$\"\"\">>\n\tbackgroundColor=<<__colour__>>\n>\n<$element-tag$\n\t$element-attributes$\n\tclass=\"tc-tag-label tc-btn-invisible\"\n\tstyle=<<tag-pill-styles>>\n>\n\t<<__actions__>>\n\t<$transclude tiddler=<<__icon__>>/>\n\t<$let currentTiddler=<<__tag__>>>\n\t\t<$transclude $variable=\"tag-pill-label\" prefix=<<__prefix__>>/>\n\t</$let>\n</$element-tag$>\n</$let>\n\\end\n\n\\define tag-pill-body(tag,icon,colour,palette,element-tag,element-attributes,actions,prefix)\n<$transclude $variable=\"tag-pill-inner\"\n\ttag=<<__tag__>>\n\ticon=<<__icon__>>\n\tcolour=<<__colour__>>\n\tfallbackTarget={{$palette$##tag-background}}\n\tcolourA={{$palette$##foreground}}\n\tcolourB={{$palette$##background}}\n\telement-tag=<<__element-tag__>>\n\telement-attributes=<<__element-attributes__>>\n\tactions=<<__actions__>>\n\tprefix=<<__prefix__>>\n/>\n\\end\n\n\\procedure simplified-tag(prefix)\n<span class=\"tc-tag-list-item\" data-tag-title=<<currentTiddler>>>\n\t<$set name=\"transclusion\" value=<<currentTiddler>>>\n\t\t<$transclude $variable=\"tag-pill-body\"\n\t\t\ttag=<<currentTiddler>>\n\t\t\ticon={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerIconFilter]!is[draft]get[text]] }}}\n\t\t\tcolour={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerColourFilter]!is[draft]get[text]] }}}\n\t\t\tpalette={{$:/palette}}\n\t\t\telement-tag=\"$button\"\n\t\t\telement-attributes=\"\"\"popup=<<qualify \"$:/state/popup/tag\">> dragFilter=\"[all[current]tagging[]]\" tag='span'\"\"\"\n\t\t\tprefix=<<prefix>>\n\t\t/>\n\t\t<$reveal state=<<qualify \"$:/state/popup/tag\">> type=\"popup\" position=\"below\" animate=\"yes\" class=\"tc-drop-down\">\n\t\t\t<$set name=\"tv-show-missing-links\" value=\"yes\">\n\t\t\t\t<$transclude $variable=\"tag-pill-label-link\" prefix=<<prefix>>/>\n\t\t\t</$set>\n\t\t\t<hr>\n\t\t\t<$list filter=\"[all[shadows+tiddlers]tag<currentTiddler>]\">\n\t\t\t\t<$transclude $variable=\"tag-pill-label-link\" prefix=<<prefix>>/>\n\t\t\t</$list>\n\t\t</$reveal>\n\t</$set>\n</span>\n\\end\n\n<$let storyTiddler=<<currentTiddler>>>\n\t<div class=\"tc-tiddler-frame tc-tiddler-view-frame tc-tiddler-exists tc-tiddler-shadow tc-clearfix\" role=\"article\">\n\t\t<div class=\"tc-tiddler-title tc-clearfix\">\n\t\t\t<div class=\"tc-titlebar\">\n\t\t\t\t<span class=\"tc-tiddler-controls\">\n\t\t\t\t\t<$list filter=\"[<tour-simplified-tiddler-close-button>match[yes]]\" variable=\"ignore\">\n\t\t\t\t\t\t{{||$:/core/ui/Buttons/close}}\n\t\t\t\t\t</$list>\n\t\t\t\t</span>\n\t\t\t\t<span>\n\t\t\t\t\t<h2 class=\"tc-title\"><$view field=\"caption\"/></h2>\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"tc-tags-wrapper tc-clearfix\">\n\t\t\t<$list filter=\"[all[current]tags[]sort[title]]\" storyview=\"pop\">\n\t\t\t\t<<simplified-tag \"$:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/tiddlers/\">>\n\t\t\t</$list>\n\t\t</div>\n\t\t<div class=\"tc-tiddler-body tc-clearfix\">\n\t\t\t<$transclude field=\"text\" mode=\"block\"/>\n\t\t</div>\n\t</div>\n</$let>"
  },
  {
    "path": "plugins/tiddlywiki/tour/simplified-tiddler.tid",
    "content": "title: $:/plugins/tiddlywiki/tour/simplified-tiddler\n\n\\whitespace trim\n<$let storyTiddler=<<currentTiddler>>>\n\t<div class=\"tc-tiddler-frame tc-tiddler-view-frame tc-tiddler-exists tc-tiddler-shadow \" role=\"article\">\n\t\t<div class=\"tc-tiddler-title tc-clearfix\">\n\t\t\t<div class=\"tc-titlebar\">\n\t\t\t\t<span class=\"tc-tiddler-controls\">\n\t\t\t\t\t<$list filter=\"[<tour-simplified-tiddler-close-button>match[yes]]\" variable=\"ignore\">\n\t\t\t\t\t\t{{||$:/core/ui/Buttons/close}}\n\t\t\t\t\t</$list>\n\t\t\t\t</span>\n\t\t\t\t<span>\n\t\t\t\t\t<h2 class=\"tc-title\"><$view field=\"caption\"/></h2>\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"tc-tiddler-body tc-clearfix\">\n\t\t\t<$transclude field=\"text\" mode=\"block\"/>\n\t\t</div>\n\t</div>\n</$let>"
  },
  {
    "path": "plugins/tiddlywiki/tour/start-tour-button.tid",
    "content": "title: $:/plugins/tiddlywiki/tour/start-tour-button\ntags: $:/tags/PageControls\ncaption: {{$:/plugins/tiddlywiki/tour/tour-button-icon}} Start Tour\ndescription: Start interactive training tour\n\n\\whitespace trim\n\\import [[$:/plugins/tiddlywiki/tour/variables]]\n<$button tooltip=\"Start interactive training tour\" aria-label=\"Start Tour\" class=<<tv-config-toolbar-class>>>\n<<tour-restart>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\" variable=\"listItem\">\n{{$:/plugins/tiddlywiki/tour/tour-button-icon}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\"Start Tour\"/>\n</span>\n</$list>\n</$button>"
  },
  {
    "path": "plugins/tiddlywiki/tour/startup-actions.tid",
    "content": "title: $:/plugins/tiddlywiki/tour/startup-actions\ntags: $:/tags/StartupAction\n\n\\import [[$:/plugins/tiddlywiki/tour/variables]]\n<$list filter=\"[[$:/config/AutoStartTour]get[text]else[no]match[yes]]\" variable=\"ignore\">\n<<tour-restart>>\n</$list>\n"
  },
  {
    "path": "plugins/tiddlywiki/tour/styles.tid",
    "content": "title: $:/plugins/tiddlywiki/tour/styles\ntags: $:/tags/Stylesheet\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock\n\n.tc-tour-panel {\n\tposition: fixed;\n\tbottom: 0;\n\tleft: 0;\n\twidth: 310px;\n\theight: 400px;\n\toverflow: auto;\n\t-webkit-overflow-scrolling: touch;\n\t<<box-shadow \"0px 0px 5px rgba(0, 0, 0, 0.3)\">>\n\tborder: 1px solid <<colour tour-overlay-border>>;\n\tbackground: <<colour tour-overlay-background>>;\n\tborder-radius: 8px;\n\tpadding: 1em;\n\tmargin: 0.5em;\n\tz-index: 2000;\n}\n\n.tc-tour-panel-navigation .tc-btn-big-green {\n\tborder-radius: 0.25em;\n\tmargin: 0 1em 0 0;\n}\n\n.tc-tour-panel-navigation .tc-btn-big-green.tc-tour-panel-navigation-back {\n\tbackground: <<colour tour-navigation-buttons-back-background>>;\n\tcolor: <<colour tour-navigation-buttons-back-foreground>>;\n}\n\n.tc-tour-panel-navigation .tc-btn-big-green.tc-tour-panel-navigation-next {\n\tbackground: <<colour tour-navigation-buttons-next-background>>;\n\tcolor: <<colour tour-navigation-buttons-next-foreground>>;\n}\n\n.tc-tour-panel-navigation .tc-btn-big-green.tc-tour-panel-navigation-hint {\n\tbackground: <<colour tour-navigation-buttons-hint-background>>;\n\tcolor: <<colour tour-navigation-buttons-hint-foreground>>;\n}\n\n.tc-tour-panel-navigation .tc-btn-big-green:hover {\n\tcolor: <<colour tour-navigation-buttons-hover-foreground>>;\n\tbackground: <<colour tour-navigation-buttons-hover-background>>;\n}\n\n.tc-tour-panel-fullscreen {\n\ttop: 0;\n\tright: 0;\n\twidth: auto;\n\theight: auto;\n\tbox-shadow: none;\n\tborder: none;\n\tbackground: <<colour tour-fullscreen-background>>;\n\tmargin: 0;\n\tborder-radius: 0;\n}\n\n.tc-tour-panel-controls .tc-tour-panel-list-button {\n\tpadding: 2px 8px;\n\tborder-radius: 1em;\n\tcolor: <<color tour-chooser-button-foreground>>;\n\ttext-align: left;\n}\n\n.tc-tour-panel-controls .tc-tour-panel-list-button.tc-selected {\n\tcolor: <<colour tour-chooser-button-selected-foreground>>;\n\tbackground: <<color tour-chooser-button-selected-background>>;\n}\n\n.tc-tour-panel-controls .tc-tour-panel-list-button:hover {\n\tbackground: <<colour tour-chooser-button-hover-background>>;\n\tcolor: <<colour tour-chooser-button-hover-foreground>>;\n}\n\n.tc-tour-panel-controls .tc-popup .tc-drop-down {\n\tfont-size: 1em;\n\tcolor: <<colour tour-chooser-dropdown-foreground>>;\n\tmin-width: auto;\n}\n\n.tc-tour-panel-chooser-item {\n\tborder: 1px solid <<colour tour-chooser-item-border>>;\n\tbackground: <<colour tour-chooser-item-background>>;\n\tcolor: <<colour tour-chooser-item-foreground>>;\n\tpadding: 4px 4px 4px 8px;\n\tmargin: 12px 0;\n\tborder-radius: 12px;\n\tbox-shadow: 3px 3px 5px <<colour tour-chooser-item-shadow>>;\n\tdisplay: flex;\n\tflex-direction: row;\n\tjustify-content: space-between;\n\tgap: 1em;\n}\n\n.tc-tour-panel-chooser-item .tc-tour-panel-chooser-start-button {\n\tdisplay: inline-block;\n\twidth: auto;\n\tpadding: 4px;\n\tfont-size: 0.7em;\n\tvertical-align: baseline;\n\tborder-radius: 1em;\n\tbackground: <<colour tour-chooser-item-start-background>>;\n\tcolor: <<colour tour-chooser-item-start-foreground>>;\n\ttext-transform: uppercase;\n}\n\n.tc-tour-panel-chooser-wrapper button:hover {\n\tbackground: <<colour tour-chooser-item-start-hover-background>>;\n\tcolor: <<colour tour-chooser-item-start-hover-foreground>>;\n}\n\n.tc-tour-panel-fullscreen h1 {\n\tbackground: <<colour tour-step-heading-background>>;\n\tpadding: 0.25em;\n\tmargin: -0.25em;\n\tborder-radius: 4px;\n}\n\n.tc-tour-panel-fullscreen .tc-tour-panel-controls {\n\t/* display: none; */\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tpadding: 4px;\n\tcolor: <<colour tour-fullscreen-controls-foreground>>;\n}\n\n.tc-tour-panel .tc-tour-panel-banner-image {\n\tdisplay: none;\n}\n\n.tc-tour-panel-fullscreen .tc-tour-panel-banner-image {\n\tdisplay: block;\n\twidth: 100px;\n\tfloat: right;\n\tmargin: 4em 2em 2em 2em;\n}\n\n.tc-tour-panel-fullscreen .tc-tour-panel-inner {\n\twidth: 30%;\n\tmin-width: 350px;\n\theight: 30%;\n\tmargin: 10em auto 0 auto;\n}\n\n.tc-tour-panel .tc-tour-panel-inner .tc-tiddler-frame {\n\tposition: static;\n\twidth: auto;\n\tpadding: 1.5em 2.5em;\n}\n\n.tc-tour-panel .tc-tour-panel-inner .tc-tiddler-frame .tc-titlebar {\n\tfont-size: 1.5em;\n\tline-height: 1.1;\n}\n\n.tc-tour-task {\n\tbackground: <<colour tour-step-task-background>>;\n\tcolor: <<colour tour-step-task-foreground>>;\n\tpadding: 0.5em;\n\tborder-radius: 1em;\n}\n\n.tc-tour-task svg {\n\tcolor: <<colour tour-step-task-foreground>>;\n\tvertical-align: middle;\n\twidth: 1.2em;\n\theight: 1.2em;\n\tmargin-right: 0.5em;\n}\n\n.tc-tour-settings-tour-details,\n.tc-tour-settings-tour-step-details {\n\twidth: 100%;\n}\n\n.tc-tour-settings-tour-details th,\n.tc-tour-settings-tour-step-details th {\n\ttext-align: right;\n\tvertical-align: top;\n\tfont-weight: normal;\n\twidth:10em;\n}\n\n.tc-tour-settings-tour-details td,\n.tc-tour-settings-tour-step-details td {\n\tfont-weight: bold;\n}\n\n.tc-tour-settings-tour-details-description {\n\n}\n\n.tc-tour-settings-tour-details-logo img {\n\tmax-width: 200px;\n\tmax-height: 100px;\n}\n\n.tc-tour-settings-tour-settings {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tmargin: 0.5em 0;\n\tpadding: 0.5em;\n}\n\n.tc-tour-settings-tour-step {\n\tborder: 1px solid <<colour foreground>>;\n}\n\n.tc-tour-settings-tour-step-heading {\n\tbackground: <<colour muted-foreground>>;\n\tborder: 0;\n\tdisplay: flex;\n\tflex-wrap: nowrap;\n\tjustify-content: space-between;\n\talign-items: center;\n\tgap: 5px;\n}\n\n.tc-tour-settings-tour-step-open-button,\n.tc-tour-settings-tour-step-launch-button {\n\tdisplay: inline-block;\n\tpadding: 0.25em;\n}\n\n.tc-tour-settings-tour-step-open-button {\n\tflex-grow: 1;\n\ttext-align: left;\n}\n\n.tc-tour-settings-tour-step-launch-button {\n\tflex-grow: 0;\n}\n\n.tc-tour-settings-tour-step-open-button:hover,\n.tc-tour-settings-tour-step-launch-button:hover {\n\tbackground: <<colour foreground>>;\n\tcolor: <<colour background>>;\n}\n\n.tc-tour-settings-tour-step-heading-step-number {\n\tfont-weight: bold;\n\tbackground: <<colour foreground>>;\n\tcolor: <<colour background>>;\n\tborder-radius: 1em;\n\tfont-size: 0.9em;\n\tdisplay: inline-block;\n\tpadding: 0 4px;\n}\n\n.tc-tour-settings-tour-step-details {\n\tmargin: 0;\n}\n\n.tc-tour-settings-tour-step-body {\n\tpadding: 0.5em;\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/tour/tour-panel.tid",
    "content": "title: $:/plugins/tiddlywiki/tour/panel\ntags: $:/tags/PageTemplate\n\n\\whitespace trim\n\n\\procedure tour-buttons()\n\\procedure tv-action-refresh-policy() always\n<div class=\"tc-tour-panel-navigation\">\n\t<%if [function[tour-is-not-first-step]] %>\n\t\t<$button class=\"tc-btn-big-green tc-tour-panel-navigation-back\">\n\t\t\t<<tour-previous-step>>\n\t\t\tback\n\t\t</$button>\n\t<%endif%>\n\t<%if [function[tour-is-not-last-step]] %>\n\t\t<$button class=\"tc-btn-big-green tc-tour-panel-navigation-next\">\n\t\t\t<<tour-next-step>>\n\t\t\tnext\n\t\t</$button>\n\t<%endif%>\n\t<%if [function[tour-is-last-step]] %>\n\t\t<$confetti/>\n\t\t<$confetti delay=300 originY=0.6  spread=100 scalar=1.5/>\n\t\t<$confetti delay=400 originY=0.55 spread=130/>\n\t\t<$confetti delay=500 originY=0.55 spread=170 scalar=2/>\n\t<%endif%>\n</div>\n\\end\n\n\\procedure tour-step-no-success-filter()\n<$transclude tiddler=<<currentTourStep>> mode=\"block\"/>\n<<tour-buttons>>\n\\end tour-step-no-success-filter\n\n\\procedure tour-step-success-filter-not-satisfied()\n<$transclude tiddler=<<currentTourStep>> mode=\"block\"/>\n<%if [{$:/state/tour/step}has[hint-selector]] %>\n\t<div class=\"tc-tour-panel-navigation\">\n\t\t<$button class=\"tc-btn-big-green tc-tour-panel-navigation-hint\">\n\t\t\t<$action-sendmessage $message=\"tm-spotlight-element\" selector={{{ [{$:/state/tour/step}get[hint-selector]] }}} selector-fallback-1={{{ [{$:/state/tour/step}get[hint-selector-fallback-1]] }}} selector-fallback-2={{{ [{$:/state/tour/step}get[hint-selector-fallback-2]] }}}/>\n\t\t\t<$transclude tiddler={{$:/state/tour/step}} field=\"hint-text\" mode=\"inline\"> show me a hint </$transclude>\n\t\t</$button>\n\t</div>\n<%endif%>\n\\end tour-step-success-filter-not-satisfied\n\n\\procedure tour-step-success-filter-satisfied()\n<$let tour-task=\"\">\n\t<$transclude tiddler=<<currentTourStep>> mode=\"block\"/>\n</$let>\n<$confetti/>\n<p>\n\tCongratulations, you may proceed\n</p>\n<<tour-buttons>>\n\\end tour-step-success-filter-satisfied\n\\import [[$:/plugins/tiddlywiki/tour/variables]]\n\n<%if [{$:/config/ShowTour}!is[blank]else[show]match[show]] %>\n\t<div class=`tc-tour-panel tc-tour-panel-${ [{$:/state/tour/step}get[display-mode]else[normal]] }$ ${ [{$:/config/CurrentTour}get[class]] }$`>\n\t\t<$image class=\"tc-tour-panel-banner-image\" source={{{ [{$:/config/CurrentTour}get[logo]] }}}/>\n\t\t<div class=\"tc-tour-panel-inner\">\n\t\t\t<div class=\"tc-tiddler-controls tc-tour-panel-controls\">\n\t\t\t\t<$button set=\"$:/config/ShowTour\" setTo=\"no\" class=\"tc-btn-invisible\">{{$:/core/images/close-button}}</$button>\n\t\t\t\t<$button popup=<<qualify \"$:/state/popup/tour-dropdown\">> class=\"tc-btn-invisible tc-tour-panel-list-button\" selectedClass=\"tc-selected\">\n\t\t\t\t\t<span class=\"tc-small-gap-right\">''Tour'':</span> <<tour-display-current-tour>>\n\t\t\t\t</$button>\n\t\t\t\t<$reveal state=<<qualify \"$:/state/popup/tour-dropdown\">> type=\"popup\" position=\"belowleft\" animate=\"yes\" tag=\"div\">\n\t\t\t\t\t<div class=\"tc-drop-down\">\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\tChoose a tour:\n\t\t\t\t\t\t</p>\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t<<tour-chooser>>\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</div>\n\t\t\t\t</$reveal>\n\t\t\t</div>\n\t\t\t<$let\n\t\t\t\tcurrentTour={{$:/config/CurrentTour}}\n\t\t\t\tcurrentTourStep={{$:/state/tour/step}}\n\t\t\t\tstep-success-filter-var={{{ [<currentTourStep>get[step-success-filter-var]] :map[subfilter<currentTiddler>] }}}\n\t\t\t>\n\t\t\t\t<%if [<currentTourStep>has[caption]] %>\n\t\t\t\t\t<h1><$transclude $tiddler=<<currentTourStep>> $field=\"caption\" mode=\"inline\"/></h1>\n\t\t\t\t<%endif%>\n\t\t\t\t<!-- Handle steps without a step-success-filter -->\n\t\t\t\t<%if [<currentTourStep>!has[step-success-filter]] %>\n\t\t\t\t\t<<tour-step-no-success-filter>>\n\t\t\t\t<%endif%>\n\t\t\t\t<!-- Handle steps that have a step-success-filter -->\n\t\t\t\t<%if [<currentTourStep>has[step-success-filter]] %>\n\t\t\t\t\t<$let step-success-filter={{{ [<currentTourStep>get[step-success-filter]] }}}>\n\t\t\t\t\t\t<%if [subfilter<step-success-filter>] %>\n\t\t\t\t\t\t\t<<tour-step-success-filter-satisfied>>\n\t\t\t\t\t\t<%else%>\n\t\t\t\t\t\t\t<<tour-step-success-filter-not-satisfied>>\n\t\t\t\t\t\t<%endif%>\n\t\t\t\t\t</$let>\n\t\t\t\t<%endif%>\n\t\t\t</$let>\n\t\t</div>\n\t</div>\n<%endif%>\n"
  },
  {
    "path": "plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/config/ProductName.tid",
    "content": "title: $:/config/Tours/IntroductionToTiddlyWiki/ProductName\ntext: ~TiddlyWiki\n"
  },
  {
    "path": "plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/data/tiddlers-GasGiant.tid",
    "content": "title: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/tiddlers/Gas Giant\ncaption: Gas Giant\n\n A gas giant is a large planet that has a solid core, but a very thick atmosphere. This means that most of the planet is made up of gas. These planets are very large."
  },
  {
    "path": "plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/data/tiddlers-Jupiter.tid",
    "content": "title: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/tiddlers/Jupiter\ncaption: Jupiter\ntags: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/tiddlers/Planet [[$:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/tiddlers/Gas Giant]]\n\nJupiter is the largest planet in the Solar System. It is the fifth planet from the Sun. Jupiter is a gas giant because it is so large and made of gas. The other gas giants in the Solar System are [[Saturn|$:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/tiddlers/Saturn]], Uranus, and Neptune.\n"
  },
  {
    "path": "plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/data/tiddlers-Mars.tid",
    "content": "title: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/tiddlers/Mars\ncaption: Mars\ntags: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/tiddlers/Planet [[$:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/tiddlers/Rocky]]\n\nMars is the fourth planet from the Sun in the Solar System and the second-smallest planet. Mars is a terrestrial planet with polar ice caps of frozen water and carbon dioxide. It has the largest volcano in the Solar System, and some very large impact craters. Mars is named after the mythological Roman god of war because it appears of red color.\n"
  },
  {
    "path": "plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/data/tiddlers-Planet.tid",
    "content": "title: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/tiddlers/Planet\ncaption: Planet\n\n A planet is a large object such as Venus or Earth that orbits a star. Planets are smaller than stars, and they do not make light. Jupiter is the biggest planet in the Solar System, while the smallest planet in the Solar System is Mercury."
  },
  {
    "path": "plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/data/tiddlers-Rocky.tid",
    "content": "title: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/tiddlers/Rocky\ncaption: Rocky\n\n Rocky planets have a core, a mantle, and a crust. They are a bit like a boiled egg: the central yolk is the core; the white albumin is the mantle; and the shell is the crust. The crust of a terrestrial planet is thin, with the core and the mantle taking up the vast bulk, sometimes with a very large core, sometimes much smaller. Terrestrial planets have metallic cores of mostly iron, with rocky mantles and crusts."
  },
  {
    "path": "plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/data/tiddlers-Saturn.tid",
    "content": "title: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/tiddlers/Saturn\ncaption: Saturn\ntags: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/tiddlers/Planet [[$:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/tiddlers/Gas Giant]]\n\nSaturn is the sixth planet from the Sun located in the Solar System. It is the second largest planet in the Solar System, after Jupiter. Saturn is one of the four gas giant planets in the Solar System, along with [[Jupiter|$:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/tiddlers/Jupiter]], Uranus, and Neptune."
  },
  {
    "path": "plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/images/tiddlywiki-tour-logo.svg.meta",
    "content": "title: $:/plugins/tiddlywiki/tour/tiddlywiki-tour-logo\ntype: image/svg+xml\n"
  },
  {
    "path": "plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/introduction-to-tiddlywiki.tid",
    "content": "title: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki\ntags: $:/tags/Tour\ntour-tag: $:/tags/Tour/IntroductionToTiddlyWiki\nlogo: $:/plugins/tiddlywiki/tour/tiddlywiki-tour-logo\ndescription: Introduction to {{$:/config/Tours/IntroductionToTiddlyWiki/ProductName}}\nsettings: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/settings\n\nAn introductory tour to {{$:/config/Tours/IntroductionToTiddlyWiki/ProductName}}"
  },
  {
    "path": "plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/settings.tid",
    "content": "title: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/settings\n\nCustomise name used for ~TiddlyWiki: <$edit tiddler=\"$:/config/Tours/IntroductionToTiddlyWiki/ProductName\" tag=\"input\"/>\n\n"
  },
  {
    "path": "plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/steps/close-control-panel.tid",
    "content": "title: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/steps/close-control-panel\ncaption: Close the control panel\ntags: $:/tags/Tour/IntroductionToTiddlyWiki\nhint-selector: .tc-story-river div[data-tiddler-title='$:/ControlPanel'] .tc-btn-\\%24\\%3A\\%2Fcore\\%2Fui\\%2FButtons\\%2Fclose\nstep-success-filter: [[$:/StoryList]!contains[$:/ControlPanel]]\n\n<<tour-task \"Now close the control panel\">>\n\nUse the {{$:/core/images/close-button|0.65em}} button in the top right corner of the control panel tiddler."
  },
  {
    "path": "plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/steps/closing-tiddlers.tid",
    "content": "title: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/steps/closing-tiddlers\ncaption: Closing tiddlers\ntags: $:/tags/Tour/IntroductionToTiddlyWiki\ndisplay-mode: fullscreen\nenter-actions: <$action-setfield $tiddler=\"$:/temp/Tour/DemoStoryList\" list=\"$:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/tiddlers/Jupiter $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/tiddlers/Saturn\"/>\nstep-success-filter: [list[$:/temp/Tour/DemoStoryList]count[]match[0]]\n\n\\procedure tour-simplified-tiddler-close-button() yes\n\nIn the top right corner of each tiddler there is a button marked {{$:/core/images/close-button|0.65em}} that can be used to close them when you are finished with them.\n\n<<tour-task \"Close both of these tiddlers\">>\n\nClosing a tiddler does not delete it or alter it in any way. It just removes it from the display.\n\n<$navigator story=\"$:/temp/Tour/DemoStoryList\" history=\"$:/temp/Tour/DemoHistoryList\" openLinkFromInsideRiver=\"below\">\n\n<$list\n\tfilter=\"[list[$:/temp/Tour/DemoStoryList]]\"\n\thistory=\"$:/temp/Tour/DemoHistoryList\"\n\ttemplate=\"$:/plugins/tiddlywiki/tour/simplified-tiddler\"\n\tstoryview=\"classic\"\n/>\n\n</$navigator>\n"
  },
  {
    "path": "plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/steps/create-tiddler.tid",
    "content": "title: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/steps/create-tiddler\ncaption: Creating Tiddlers\ntags: $:/tags/Tour/IntroductionToTiddlyWiki\nhint-selector: .tc-story-river div[data-tiddler-title=\"Draft of 'New Tiddler'\"] input[value]:not([value=\"Congratulations\"])\nhint-selector-fallback-1: .tc-story-river div[data-tiddler-title='Draft of \\'New Tiddler\\''] .tc-btn-\\%24\\%3A\\%2Fcore\\%2Fui\\%2FButtons\\%2Fsave\nhint-selector-fallback-2: .tc-btn-\\%24\\%3A\\%2Fcore\\%2Fui\\%2FButtons\\%2Fnew-tiddler\nstep-success-filter: [list[$:/StoryList]match[Congratulations]]\n\n<<tour-task \"Create a tiddler titled 'Congratulations'\">>\n\nUse the {{$:/core/images/new-button|0.65em}} button to create the new tiddler, then type correct \"title\". Finally, click the {{$:/core/images/done-button|0.65em}} button.\n"
  },
  {
    "path": "plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/steps/end-of-fullscreen.tid",
    "content": "title: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/steps/end-of-fullscreen\ncaption: Going Deeper\ntags: $:/tags/Tour/IntroductionToTiddlyWiki\ndisplay-mode: fullscreen\n\nCongratulations!\n\nYou have completed the first part of this tour.\n\nNow we are going guide you through using {{$:/config/Tours/IntroductionToTiddlyWiki/ProductName}}.\n"
  },
  {
    "path": "plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/steps/finished.tid",
    "content": "title: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/steps/finished\ncaption: Congratulations\ntags: $:/tags/Tour/IntroductionToTiddlyWiki\n\nYou have completed the tour.\n\n<%if [all[shadows+tiddlers]tag[$:/tags/Tour]] -[<currentTour>] %>\n\nYou can choose to take another tour:\n\n<<tour-chooser filter:\"[all[shadows+tiddlers]tag[$:/tags/Tour]] -[<currentTour>]\">>\n\n<%endif%>\n"
  },
  {
    "path": "plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/steps/links.tid",
    "content": "title: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/steps/links\ncaption: Linking tiddlers\ntags: $:/tags/Tour/IntroductionToTiddlyWiki\ndisplay-mode: fullscreen\nenter-actions: <$action-setfield $tiddler=\"$:/temp/Tour/DemoStoryList\" list=\"$:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/tiddlers/Jupiter\"/>\nstep-success-filter: [[$:/temp/Tour/DemoStoryList]contains[$:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/tiddlers/Saturn]]\n\nLinks allow you to decide if you want more information on a particular area or term as you go.\n\n<<tour-task \"Click the blue link to open the tiddler 'Saturn'\">>\n\nNotice how the new tiddler opens alongside the old one. This allows you to scroll back up to retrace your steps.\n\n<$navigator story=\"$:/temp/Tour/DemoStoryList\" history=\"$:/temp/Tour/DemoHistoryList\" openLinkFromInsideRiver=\"below\">\n\n<$list\n\tfilter=\"[list[$:/temp/Tour/DemoStoryList]]\"\n\thistory=\"$:/temp/Tour/DemoHistoryList\"\n\ttemplate=\"$:/plugins/tiddlywiki/tour/simplified-tiddler\"\n\tstoryview=\"classic\"\n/>\n\n</$navigator>\n"
  },
  {
    "path": "plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/steps/open-control-panel.tid",
    "content": "title: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/steps/open-control-panel\ncaption: Open the control panel\ntags: $:/tags/Tour/IntroductionToTiddlyWiki\nhint-selector: .tc-btn-\\%24\\%3A\\%2Fcore\\%2Fui\\%2FButtons\\%2Fcontrol-panel\nstep-success-filter: [[$:/StoryList]contains[$:/ControlPanel]]\n\n<<tour-task \"Open the control panel\">>\n\nClick the {{$:/core/images/options-button|0.65em}} icon in the sidebar at the right."
  },
  {
    "path": "plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/steps/recent.tid",
    "content": "title: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/steps/recent\ncaption: Finding recent tiddlers\ntags: $:/tags/Tour/IntroductionToTiddlyWiki\nhint-selector: .tc-sidebar-tabs-main .tc-timeline > .tc-menu-list-item:nth-child(1) .tc-menu-list-subitem:nth-child(1) .tc-tiddlylink\nhint-selector-fallback-1: .tc-sidebar-tabs-main button[data-tab-title=\"\\$\\:\\/core\\/ui\\/SideBar\\/Recent\"]\nstep-success-filter: [list[$:/StoryList]match<step-success-filter-var>]\nstep-success-filter-var: [all[tiddlers]!is[system]!sort[modified]]\n\n<<tour-task \"Use the ''Recent'' tab of the sidebar to open the most recently edited tiddler.\">>\n"
  },
  {
    "path": "plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/steps/search.tid",
    "content": "title: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/steps/search\ncaption: Searching\ntags: $:/tags/Tour/IntroductionToTiddlyWiki\nhint-selector: .tc-sidebar-search .tc-popup-handle\nstep-success-filter: [{$:/temp/search}match[home]]\n\n<<tour-task \"Search for the phrase 'home'\">>\n\nType the phrase into the text box labelled \"search\" in the sidebar at the right.\n"
  },
  {
    "path": "plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/steps/tags.tid",
    "content": "title: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/steps/tags\ncaption: Tagging tiddlers\ntags: $:/tags/Tour/IntroductionToTiddlyWiki\ndisplay-mode: fullscreen\nenter-actions: <$action-setfield $tiddler=\"$:/temp/Tour/DemoStoryList\" list=\"$:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/tiddlers/Mars\"/>\nstep-success-filter: [[$:/temp/Tour/DemoStoryList]contains[$:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/tiddlers/Saturn]]\n\nTiddlers may be categorised with one or more descriptive keywords or phrases called \"tags\". Tags can be used to search and navigate between tiddlers.\n\nClick on the tag to display a dropdown menu. The menu is divided into two parts:\n\n* At the top, there is a link to the tiddler with the same title as the tag. This is generally used to describe the tag or give an overview of its purpose\n* Beneath the link to the tag, there a list of links to the other tiddlers with the same tag\n\n<<tour-task \"Use the tag dropdown to open the tiddler 'Saturn'\">>\n\n<$navigator story=\"$:/temp/Tour/DemoStoryList\" history=\"$:/temp/Tour/DemoHistoryList\" openLinkFromInsideRiver=\"below\">\n\n<$list\n\tfilter=\"[list[$:/temp/Tour/DemoStoryList]]\"\n\thistory=\"$:/temp/Tour/DemoHistoryList\"\n\ttemplate=\"$:/plugins/tiddlywiki/tour/simplified-tiddler-with-tags\"\n\tstoryview=\"classic\"\n/>\n\n</$navigator>\n"
  },
  {
    "path": "plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/steps/tiddlers.tid",
    "content": "title: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/steps/tiddlers\ncaption: How does it work?\ntags: $:/tags/Tour/IntroductionToTiddlyWiki\ndisplay-mode: fullscreen\n\n{{$:/config/Tours/IntroductionToTiddlyWiki/ProductName}} lets you collect and organise all kinds of information into interconnected bite-sized pieces called ''tiddlers''.\n\nA tiddler is like an index card.\n\n<$let tv-wikilinks=\"no\">\n\n{{$:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/tiddlers/Jupiter||$:/plugins/tiddlywiki/tour/simplified-tiddler}}\n\n</$let>\n\nEach tiddler must have a unique title that is used to distinguish it.\n"
  },
  {
    "path": "plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/steps/welcome.tid",
    "content": "title: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/steps/welcome\ncaption: Welcome\ntags: $:/tags/Tour/IntroductionToTiddlyWiki\ndisplay-mode: fullscreen\n\n!! An interactive tour of {{$:/config/Tours/IntroductionToTiddlyWiki/ProductName}}\n\nWelcome to this tour of {{$:/config/Tours/IntroductionToTiddlyWiki/ProductName}}.\n\nWe hope you'll find {{$:/config/Tours/IntroductionToTiddlyWiki/ProductName}} a helpful and supportive tool. Let's get started!\n"
  },
  {
    "path": "plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/tagsTourIntroductionToTiddlyWiki.tid",
    "content": "title: $:/tags/Tour/IntroductionToTiddlyWiki\nlist: $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/steps/welcome $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/steps/tiddlers $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/steps/links  $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/steps/closing-tiddlers $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/steps/tags $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/steps/end-of-fullscreen $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/steps/open-control-panel $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/steps/close-control-panel $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/steps/search $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/steps/recent $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/steps/create-tiddler $:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/steps/finished\n"
  },
  {
    "path": "plugins/tiddlywiki/tour/variables.tid",
    "content": "title: $:/plugins/tiddlywiki/tour/variables\n\n\\whitespace trim\n\n<!--\n\nThe following state tiddlers control the tour. They should not be directly modified, but rather use the appropriate procedure to ensure that all the associated actions are performed.\n\n* $:/config/CurrentTour: title of current tour definition tiddler\n* $:/state/tour/step: title of current step of the tour\n\nThese config tiddlers may be changed directly as required:\n\n* $:/config/ShowTour: \"show\" (default) or \"hide\"\n* $:/config/AutoStartTour: \"no\" (default) or \"yes\"\n\n-->\n\n\\function tour-current-tag()\n[{$:/config/CurrentTour}get[tour-tag]]\n\\end\n\n\\procedure tour-filter-steps-by-condition()\n[<currentTiddler>has[condition]subfilter{!!condition}limit[1]] :else[<currentTiddler>!has[condition]then[true]]\n\\end\n\n\\function tour-all-steps-filtered-by-condition()\n[all[shadows+tiddlers]tag<tour-current-tag>filter<tour-filter-steps-by-condition>]\n\\end\n\n\\function tour-is-not-first-step()\n[function[tour-all-steps-filtered-by-condition]allbefore{$:/state/tour/step}count[]compare:number:gt[0]]\n\\end\n\n\\function tour-is-last-step()\n[function[tour-all-steps-filtered-by-condition]allafter{$:/state/tour/step}count[]compare:number:eq[0]]\n\\end\n\n\\function tour-is-not-last-step()\n[function[tour-all-steps-filtered-by-condition]allafter{$:/state/tour/step}count[]compare:number:gt[0]]\n\\end\n\n\n\\procedure tour-initialise-current-tour-step()\n\\procedure tv-action-refresh-policy() always\n<$transclude $tiddler={{$:/state/tour/step}} $field=\"enter-actions\"/>\n\\end\n\n\\procedure tour-chooser(filter:\"[all[shadows+tiddlers]tag[$:/tags/Tour]]\")\n\\procedure choose-tour-actions()\n<$transclude $variable=\"tour-start\" title=<<currentTiddler>>/>\n\\end choose-tour-actions\n<div class=\"tc-tour-panel-chooser-wrapper\">\n\t<$list filter=<<filter>>>\n\t\t<div class=\"tc-tour-panel-chooser-item\">\n\t\t\t<div class=\"tc-tour-panel-chooser-item-text\">\n\t\t\t\t<$transclude $field=\"description\">\n\t\t\t\t\t<$text text=<<currentTiddler>>/>\n\t\t\t\t</$transclude>\n\t\t\t</div>\n\t\t\t<$button class=\"tc-btn-invisible tc-tour-panel-chooser-start-button\" actions=<<choose-tour-actions>>>\n\t\t\t\tstart&nbsp;{{$:/core/images/chevron-right}}\n\t\t\t</$button>\n\t\t</div>\n\t</$list>\n</div>\n\\end tour-chooser\n\n\\procedure tour-start(title,step)\n\\procedure tv-action-refresh-policy() always\n<$action-setfield $tiddler=\"$:/config/CurrentTour\" text=<<title>>/>\n<$transclude $variable=\"tour-restart\" step=<<step>>/>\n\\end\n\n\\procedure tour-restart(step)\n\\procedure tv-action-refresh-policy() always\n<$action-setfield $tiddler=\"$:/config/ShowTour\" text=\"show\"/>\n<$action-setfield $tiddler=\"$:/state/tour/step\" $field=\"text\" $value={{{ [<step>!is[blank]] :else[function[tour-all-steps-filtered-by-condition]first[]] }}}/>\n<<tour-initialise-current-tour-step>>\n\\end\n\n\\procedure tour-next-step()\n\\procedure tv-action-refresh-policy() always\n<$action-setfield $tiddler=\"$:/state/tour/step\" $field=\"text\" $value={{{ [function[tour-all-steps-filtered-by-condition]allafter{$:/state/tour/step}else[$:/plugins/tiddlywiki/tour/introduction-to-tiddlywiki/steps/finished]] }}}/>\n<<tour-initialise-current-tour-step>>\n\\end\n\n\\procedure tour-previous-step()\n\\procedure tv-action-refresh-policy() always\n<$action-setfield $tiddler=\"$:/state/tour/step\" $field=\"text\" $value={{{ [function[tour-all-steps-filtered-by-condition]allbefore{$:/state/tour/step}last[]] :else[all[shadows+tiddlers]tag<tour-current-tag>first[]] }}}/>\n<<tour-initialise-current-tour-step>>\n\\end\n\n\\procedure tour-display-current-tour()\n<$transclude $tiddler={{$:/config/CurrentTour}} $field=\"description\">\n\t<$text text={{$:/config/CurrentTour}}/>\n</$transclude>\n\\end\n\n\\procedure tour-task(text)\n<div class=\"tc-tour-task\">\n{{$:/core/images/help}} <$transclude $variable=\"text\" $mode=\"inline\"/>\n</div>\n\\end\n"
  },
  {
    "path": "plugins/tiddlywiki/translators/Translators.tid",
    "content": "title: $:/Translators\n\n\\define allTheTranslatableTiddlerTitles()\n[all[tiddlers+shadows]prefix[$:/language/]] [all[tiddlers+shadows]prefix[$:/config/NewJournal/]] [[GettingStarted]] [[$:/SiteTitle]] [[$:/SiteSubtitle]] \n[[$:/core/readme]] +[sort[title]]\n\\end\n\\define allTheTranslatedTiddlerTitles()\n[all[tiddlers]prefix[$:/language/]] [all[tiddlers]prefix[$:/config/NewJournal/]] [[GettingStarted]is[tiddler]] [[$:/SiteTitle]is[tiddler]] [[$:/SiteSubtitle]is[tiddler]] \n[[$:/core/readme]is[tiddler]] +[sort[title]]\n\\end\n\\define allTheNotTranslatedTiddlerTitles()\n[all[tiddlers+shadows]!is[tiddler]prefix[$:/language/]] [all[tiddlers+shadows]!is[tiddler]prefix[$:/config/NewJournal/]] [[GettingStarted]!is[tiddler]] [[$:/SiteTitle]!is[tiddler]] [[$:/SiteSubtitle]!is[tiddler]] \n[[$:/core/readme]!is[tiddler]] +[sort[title]]\n\\end\n\nNumber of translated tiddlers: <$count filter=<<allTheTranslatedTiddlerTitles>>/> of <$count filter=<<allTheTranslatableTiddlerTitles>>/>\n\n<$wikify name=\"max\" text=\"\"\"<$count filter=<<allTheTranslatableTiddlerTitles>>/>\"\"\">\n<$wikify name=\"value\" text=\"\"\"<$count filter=<<allTheTranslatedTiddlerTitles>>/>\"\"\">\n<progress max=<<max>> value=<<value>>/>\n</$wikify>\n</$wikify>\n\n{{$:/core/ui/PageTemplate/pagecontrols}}\n\n<<tabs \"[all[tiddlers+shadows]tag[$:/tags/TranslationGroup]sort[caption]]\" \"$:/plugins/tiddlywiki/translators/ui/group/Miscellaneous\" \"$:/state/translatorsTab\" \"tc-vertical\">>\n"
  },
  {
    "path": "plugins/tiddlywiki/translators/macros/translatableStringEditor.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/macros/translatableStringEditor\ntags: $:/tags/Macro\n\n\\define translatableStringEditorInner(tiddlerTitle)\n<tr>\n<td width=\"250px\">\n<$link><$list filter=<<shortenTitle>>><$text text=<<currentTiddler>>/></$list></$link>\n</td>\n<td>\n<$list filter=\"\"\"$(editFieldsFilter)$\"\"\" variable=\"editorField\">\n<$edit-text tag=\"$(editorTagName)$\" field=<<editorField>> type=\"text\" class=\"tc-edit-texteditor\" minHeight=\"10px\"/>\n</$list>\n<$reveal state=\"$:/state/showEnglishText\" type=match text=\"show\" tag=\"p\">\nDefault text:\n<pre><code><$view tiddler=\"$:/core\" subtiddler=<<currentTiddler>> field=<<editorField>>/></code></pre>\n</$reveal>\n</td>\n<td width=\"20px\">\n<div class=\"tc-drop-down-wrapper\">\n<$button class=\"tc-btn-invisible\" popup=<<qualify \"$:/state/popup/translationInfo/$tiddlerTitle$\">>>\n{{$:/core/images/down-arrow}}\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/translationInfo/$tiddlerTitle$\">> type=\"popup\" position=\"belowleft\" positionAllowNegative=\"yes\" text=\"\" default=\"\">\n<div class=\"tc-drop-down\">\n<p>\nOriginal en-GB text:\n</p>\n<$list filter=\"\"\"$(editFieldsFilter)$\"\"\" variable=\"editorField\">\n<p>\n<textarea class=\"tc-edit-texteditor\" readonly><$view tiddler=\"$:/core\" subtiddler=<<currentTiddler>> field=<<editorField>>/>\n</textarea>\n</p>\n</$list>\n<p>\n<$button message=\"tm-delete-tiddler\" param=<<currentTiddler>>>\nDelete translation\n</$button>\n</p>\n</div>\n</$reveal>\n</div>\n</td>\n</tr>\n\\end\n\n\\define translatableStringEditorWrapperAll(tiddlerTitle)\n<<translatableStringEditorInner \"$tiddlerTitle$\">>\n\\end\n\n\\define translatableStringEditorWrapperTranslated(tiddlerTitle)\n<$list filter=\"[all[current]is[tiddler]]\">\n<<translatableStringEditorInner \"$tiddlerTitle$\">>\n</$list>\n\\end\n\n\\define translatableStringEditorWrapperNotTranslated(tiddlerTitle)\n<$list filter=\"[all[current]!is[tiddler]]\">\n<<translatableStringEditorInner \"$tiddlerTitle$\">>\n</$list>\n\\end\n\n\\define translatableStringEditorOuter()\n<div class=\"tc-translators-string-table\">\n\n//<$count filter=<<translatableTiddlerTitles>>/> translatable tiddlers in this group//\n\n<$checkbox tiddler=\"$:/state/showEnglishText\" field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"hide\"> Show the default text below editor field</$checkbox>\n\n<$radio tiddler=\"$:/plugins/tiddlywiki/translators/editorTag\" value=\"textarea\"> Multi-line editors</$radio><br>\n<$radio tiddler=\"$:/plugins/tiddlywiki/translators/editorTag\" value=\"input\"> Single-line editors</$radio>\n\n<$select tiddler=\"$:/plugins/tiddlywiki/translators/editorView\">\n<option value=\"translatableStringEditorWrapperAll\">Show all strings</option>\n<option value=\"translatableStringEditorWrapperTranslated\">Only show translated strings</option>\n<option value=\"translatableStringEditorWrapperNotTranslated\">Only show strings that have not been translated</option>\n</$select>\n\n<table>\n<tbody>\n<tr>\n<th>\nTitle\n</th>\n<th>\nFields: $(editFieldsFilter)$\n</th>\n<th>\n&nbsp;\n</th>\n</tr>\n<$set name=\"editorView\" value={{$:/plugins/tiddlywiki/translators/editorView}}>\n<$list filter=<<translatableTiddlerTitles>>>\n<$macrocall $name=<<editorView>> tiddlerTitle=<<currentTiddler>>/>\n</$list>\n</$set>\n</tbody>\n</table>\n\\end\n\n\\define translatableStringEditor(editorTag:\"input\",editorFields:\"text\")\n<$set name=\"editorTagName\" value={{$:/plugins/tiddlywiki/translators/editorTag}}>\n<$set name=\"editFieldsFilter\" value=\"\"\"$editorFields$\"\"\">\n<<translatableStringEditorOuter>>\n</$set>\n</$set>\n\\end\n"
  },
  {
    "path": "plugins/tiddlywiki/translators/output-file-templates/Buttons.multids.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/templates/Buttons.multids\n\n{{$:/language/Buttons/||$:/plugins/tiddlywiki/translators/templates/multids}}"
  },
  {
    "path": "plugins/tiddlywiki/translators/output-file-templates/ControlPanel.multids.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/templates/ControlPanel.multids\n\n{{$:/language/ControlPanel/||$:/plugins/tiddlywiki/translators/templates/multids}}"
  },
  {
    "path": "plugins/tiddlywiki/translators/output-file-templates/CoreReadMe.tid.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/templates/CoreReadMe.tid\n\n{{$:/core/readme||$:/plugins/tiddlywiki/translators/templates/tid}}"
  },
  {
    "path": "plugins/tiddlywiki/translators/output-file-templates/Dates.multids.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/templates/Dates.multids\n\n{{[prefix[$:/language/Date/]] [prefix[$:/language/RelativeDate/]]||$:/plugins/tiddlywiki/translators/templates/filtered-multids}}"
  },
  {
    "path": "plugins/tiddlywiki/translators/output-file-templates/Draft.multids.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/templates/Draft.multids\n\n{{$:/language/Draft/||$:/plugins/tiddlywiki/translators/templates/multids}}"
  },
  {
    "path": "plugins/tiddlywiki/translators/output-file-templates/EditTemplate.multids.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/templates/EditTemplate.multids\n\n{{$:/language/EditTemplate/||$:/plugins/tiddlywiki/translators/templates/multids}}"
  },
  {
    "path": "plugins/tiddlywiki/translators/output-file-templates/Exporters.multids.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/templates/Exporters.multids\n\n{{$:/language/Exporters/||$:/plugins/tiddlywiki/translators/templates/multids}}"
  },
  {
    "path": "plugins/tiddlywiki/translators/output-file-templates/Fields.multids.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/templates/Fields.multids\n\n{{$:/language/Docs/Fields/||$:/plugins/tiddlywiki/translators/templates/multids}}"
  },
  {
    "path": "plugins/tiddlywiki/translators/output-file-templates/Filters.multids.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/templates/Filters.multids\n\n{{$:/language/Filters/||$:/plugins/tiddlywiki/translators/templates/multids}}"
  },
  {
    "path": "plugins/tiddlywiki/translators/output-file-templates/GettingStarted.tid.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/templates/GettingStarted.tid\n\n{{GettingStarted||$:/plugins/tiddlywiki/translators/templates/tid}}"
  },
  {
    "path": "plugins/tiddlywiki/translators/output-file-templates/Import.multids.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/templates/Import.multids\n\n{{$:/language/Import/||$:/plugins/tiddlywiki/translators/templates/multids}}"
  },
  {
    "path": "plugins/tiddlywiki/translators/output-file-templates/Misc.multids.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/templates/Misc.multids\n\n{{[all[tiddlers]prefix[$:/language/]]\n-[all[tiddlers]prefix[$:/language/Buttons/]]\n-[all[tiddlers]prefix[$:/language/ControlPanel/]]\n-[all[tiddlers]prefix[$:/language/Date/]]\n-[all[tiddlers]prefix[$:/language/Draft/]]\n-[all[tiddlers]prefix[$:/language/Docs/]]\n-[all[tiddlers]prefix[$:/language/EditTemplate/]]\n-[all[tiddlers]prefix[$:/language/Exporters/]]\n-[all[tiddlers]prefix[$:/language/Filters/]]\n-[all[tiddlers]prefix[$:/language/Help/]]\n-[all[tiddlers]prefix[$:/language/Import/]]\n-[all[tiddlers]prefix[$:/language/Modals/]]\n-[all[tiddlers]prefix[$:/language/Notifications/]]\n-[all[tiddlers]prefix[$:/language/RelativeDate/]]\n-[all[tiddlers]prefix[$:/language/Search/]]\n-[all[tiddlers]prefix[$:/language/SideBar/]]\n-[all[tiddlers]prefix[$:/language/Snippets/]]\n-[all[tiddlers]prefix[$:/language/ThemeTweaks/]]\n-[all[tiddlers]prefix[$:/language/TiddlerInfo/]]\n+[sort[title]]||$:/plugins/tiddlywiki/translators/templates/filtered-multids}}"
  },
  {
    "path": "plugins/tiddlywiki/translators/output-file-templates/ModuleTypes.multids.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/templates/ModuleTypes.multids\n\n{{$:/language/Docs/ModuleTypes/||$:/plugins/tiddlywiki/translators/templates/multids}}"
  },
  {
    "path": "plugins/tiddlywiki/translators/output-file-templates/NewJournal.multids.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/templates/NewJournal.multids\n\n{{$:/config/NewJournal/||$:/plugins/tiddlywiki/translators/templates/multids}}"
  },
  {
    "path": "plugins/tiddlywiki/translators/output-file-templates/Notifications.multids.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/templates/Notifications.multids\n\n{{$:/language/Notifications/||$:/plugins/tiddlywiki/translators/templates/multids}}"
  },
  {
    "path": "plugins/tiddlywiki/translators/output-file-templates/PaletteColours.multids.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/templates/PaletteColours.multids\n\n{{$:/language/Docs/PaletteColours/||$:/plugins/tiddlywiki/translators/templates/multids}}"
  },
  {
    "path": "plugins/tiddlywiki/translators/output-file-templates/Search.multids.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/templates/Search.multids\n\n{{$:/language/Search/||$:/plugins/tiddlywiki/translators/templates/multids}}"
  },
  {
    "path": "plugins/tiddlywiki/translators/output-file-templates/SideBar.multids.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/templates/SideBar.multids\n\n{{$:/language/SideBar/||$:/plugins/tiddlywiki/translators/templates/multids}}"
  },
  {
    "path": "plugins/tiddlywiki/translators/output-file-templates/SiteSubtitle.tid.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/templates/SiteSubtitle.tid\n\n{{$:/SiteSubtitle||$:/plugins/tiddlywiki/translators/templates/tid}}"
  },
  {
    "path": "plugins/tiddlywiki/translators/output-file-templates/SiteTitle.tid.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/templates/SiteTitle.tid\n\n{{$:/SiteTitle||$:/plugins/tiddlywiki/translators/templates/tid}}"
  },
  {
    "path": "plugins/tiddlywiki/translators/output-file-templates/ThemeTweaks.multids.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/templates/ThemeTweaks.multids\n\n{{$:/language/ThemeTweaks/||$:/plugins/tiddlywiki/translators/templates/multids}}"
  },
  {
    "path": "plugins/tiddlywiki/translators/output-file-templates/TiddlerInfo.multids.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/templates/TiddlerInfo.multids\n\n{{$:/language/TiddlerInfo/||$:/plugins/tiddlywiki/translators/templates/multids}}"
  },
  {
    "path": "plugins/tiddlywiki/translators/palette.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/palette\nname: Translators Colour Palette\ndescription: A palette for the translators edition\ntags: $:/tags/Palette\ntype: application/x-tiddler-dictionary\n\nalert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #bbb\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #b9ceb8\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #aaaaaa\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #ececec\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: #e4e4e4\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #999999\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #d5ad34\ntag-foreground: #ffffff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #182955\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
  },
  {
    "path": "plugins/tiddlywiki/translators/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/translators\",\n\t\"name\": \"Translators\",\n\t\"description\": \"Translation editing tools\",\n\t\"list\": \"readme\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/translators/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/readme\n\nThis plugin exposes a new system tiddler [[$:/Translators]] that presents a user interface for creating and maintaining translations. It is used to build the special [[translators edition|https://tiddlywiki.com/editions/translators]].\n\n[[Source code|https://github.com/TiddlyWiki/TiddlyWiki5/blob/master/plugins/tiddlywiki/translators]]\n"
  },
  {
    "path": "plugins/tiddlywiki/translators/system/styles.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/styles\ntags: $:/tags/Stylesheet\n\n.tc-translators-string-table table {\n\twidth: 100%;\n}\n\n.tc-translators-string-table .tc-btn-invisible {\n\twidth: 1em;\n\theight: 2em;\n}\n\n.tc-translators-string-table .tc-drop-down {\n\tmin-width: 500px;\n}\n\n.tc-tiddler-frame textarea.tc-edit-texteditor,\n.tc-tiddler-frame input.tc-edit-texteditor {\n  background-color: #feffef;\n}"
  },
  {
    "path": "plugins/tiddlywiki/translators/templates/filtered-multids.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/templates/filtered-multids\n\n\\define generateMultids(filter)\ntitle: $:/language/\n\n<$list filter=\"\"\"$filter$\"\"\"><$list filter=\"[is[current]removeprefix[$:/language/]]\"><$text text=<<currentTiddler>>/></$list>: <$text text={{!!text}}/>\n</$list>\n\\end\n<$macrocall $name=\"generateMultids\" filter=<<currentTiddler>>/>"
  },
  {
    "path": "plugins/tiddlywiki/translators/templates/help-tid.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/templates/help-tid\n\n\\procedure generateTid(title)\ntitle: <<title>>\ndescription: <$text text={{!!description}}/>\n\n<$text text={{!!text}}/>\n\\end\n<$transclude $variable=\"generateTid\" title=<<currentTiddler>>/>"
  },
  {
    "path": "plugins/tiddlywiki/translators/templates/modal-tid.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/templates/modal-tid\n\n\\procedure generateTid(title)\ntitle: <<title>>\ntype: <$text text={{!!type}}/>\nsubtitle: <$text text={{!!subtitle}}/>\nfooter: <$text text={{!!footer}}/>\nhelp: <$text text={{!!help}}/>\n\n<$text text={{!!text}}/>\n\\end\n<$transclude $variable=\"generateTid\" title=<<currentTiddler>>/>"
  },
  {
    "path": "plugins/tiddlywiki/translators/templates/multids.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/templates/multids\n\n\\define generateMultids(prefix)\ntitle: $prefix$\n\n<$list filter=\"[prefix[$prefix$]sort[title]]\"><$list filter=\"[is[current]removeprefix[$prefix$]]\"><$text text=<<currentTiddler>>/></$list>: <$text text={{!!text}}/>\n</$list>\n\\end\n<$macrocall $name=\"generateMultids\" prefix=<<currentTiddler>>/>"
  },
  {
    "path": "plugins/tiddlywiki/translators/templates/snippet-tid.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/templates/snippet-tid\n\n\\procedure generateTid(title)\ntitle: <<title>>\ntags: $:/tags/TextEditor/Snippet\ncaption: <$text text={{!!caption}}/>\n\n<$text text={{!!text}}/>\n\\end\n<$transclude $variable=\"generateTid\" title=<<currentTiddler>>/>"
  },
  {
    "path": "plugins/tiddlywiki/translators/templates/tid.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/templates/tid\n\n\\define generateTid(title)\ntitle: $title$\n\n<$list filter=\"\"\"[[$title$]is[tiddler]]\"\"\"><$text text={{$title$}}/></$list>\n\\end\n<$macrocall $name=\"generateTid\" title=<<currentTiddler>>/>"
  },
  {
    "path": "plugins/tiddlywiki/translators/templates/type-tid.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/templates/type-tid\n\n\\procedure generateTid(title)\ntitle: <<title>>\ndescription: <$text text={{!!description}}/>\nname: <$text text={{!!name}}/>\ngroup: <$text text={{!!group}}/>\n\n\\end\n<$transclude $variable=\"generateTid\" title=<<currentTiddler>>/>"
  },
  {
    "path": "plugins/tiddlywiki/translators/ui/editorTag.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/editorTag\n\ntextarea"
  },
  {
    "path": "plugins/tiddlywiki/translators/ui/editorView.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/editorView\n\ntranslatableStringEditorWrapperAll"
  },
  {
    "path": "plugins/tiddlywiki/translators/ui/group/Buttons.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/ui/group/Buttons\ncaption: Buttons\ntags: $:/tags/TranslationGroup\n\n\\define translatableTiddlerTitles()\n[all[tiddlers+shadows]prefix[$:/language/Buttons/]sort[title]]\n\\end\n\\define shortenTitle()\n[all[current]removeprefix[$:/language/Buttons/]]\n\\end\n\n! Buttons\n\nToolbar buttons. The ''/Caption'' tiddlers specify the text to be displayed on the button and the ''/Hint'' tiddlers specify the tooltip text.\n\n<<translatableStringEditor>>\n"
  },
  {
    "path": "plugins/tiddlywiki/translators/ui/group/ControlPanel.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/ui/group/ControlPanel\ncaption: Control Panel\ntags: $:/tags/TranslationGroup\n\n\\define translatableTiddlerTitles()\n[all[tiddlers+shadows]prefix[$:/language/ControlPanel/]sort[title]]\n\\end\n\\define shortenTitle()\n[all[current]removeprefix[$:/language/ControlPanel/]]\n\\end\n\n! Control Panel\n\n[[Control Panel|$:/ControlPanel]].\n\n<<translatableStringEditor>>\n"
  },
  {
    "path": "plugins/tiddlywiki/translators/ui/group/Date.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/ui/group/Date\ncaption: Date\ntags: $:/tags/TranslationGroup\n\n\\define translatableTiddlerTitles()\n[all[tiddlers+shadows]prefix[$:/language/Date/]]\n[all[tiddlers+shadows]prefix[$:/language/RelativeDate/]]\n+[sort[title]]\n\\end\n\\define shortenTitle()\n[all[current]removeprefix[$:/language/Date/]] [all[current]removeprefix[$:/language/RelativeDate/]]\n\\end\n\n! Date\n\nAbsolute and relative dates.\n\n<<translatableStringEditor>>\n"
  },
  {
    "path": "plugins/tiddlywiki/translators/ui/group/Draft.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/ui/group/Draft\ncaption: Draft\ntags: $:/tags/TranslationGroup\n\n\\procedure translatableTiddlerTitles()\n[all[tiddlers+shadows]prefix[$:/language/Draft/]]\n+[sort[title]]\n\\end\n\\procedure shortenTitle()\n[all[current]removeprefix[$:/language/Draft/]]\n\\end\n\n! Draft\n\nTemplate for the title of draft tiddlers.\n\nSubstitution result:\n\n<$let draft-title=\"Motovun Jack\">\n<$wikify name=\"draft-with-attribution\" text={{$:/language/Draft/Attribution}} output=\"text\">\n<$wikify name=\"draft-without-attribution\" text={{$:/language/Draft/Title}} output=\"text\">\n<$codeblock code=<<draft-with-attribution>>/>\n<$codeblock code=<<draft-without-attribution>>/>\n</$wikify>\n</$wikify>\n</$let>\n\n<<translatableStringEditor>>\n"
  },
  {
    "path": "plugins/tiddlywiki/translators/ui/group/EditTemplate.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/ui/group/EditTemplate\ncaption: Edit Template\ntags: $:/tags/TranslationGroup\n\n\\define translatableTiddlerTitles()\n[all[tiddlers+shadows]prefix[$:/language/EditTemplate/]sort[title]]\n\\end\n\\define shortenTitle()\n[all[current]removeprefix[$:/language/EditTemplate/]]\n\\end\n\n! Edit Template\n\nStrings used in the tiddler edit template.\n\n<<translatableStringEditor>>\n"
  },
  {
    "path": "plugins/tiddlywiki/translators/ui/group/Fields.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/ui/group/Docs/Fields\ncaption: Fields\ntags: $:/tags/TranslationGroup\n\n\\define translatableTiddlerTitles()\n[all[shadows+tiddlers]prefix[$:/language/Docs/Fields/]sort[title]]\n\\end\n\\define shortenTitle()\n[all[current]removeprefix[$:/language/Docs/Fields/]]\n\\end\n\n! Fields\n\nDescriptions of commonly used fields.\n\n<<translatableStringEditor>>\n"
  },
  {
    "path": "plugins/tiddlywiki/translators/ui/group/Filters.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/ui/group/Filters\ncaption: Filters\ntags: $:/tags/TranslationGroup\n\n\\define translatableTiddlerTitles()\n[all[tiddlers+shadows]prefix[$:/language/Filters/]sort[title]]\n\\end\n\\define shortenTitle()\n[all[current]removeprefix[$:/language/Filters/]]\n\\end\n\n! Filters\n\nTranslatable titles of the preconfigured filters available in [[advanced search|$:/AdvancedSearch]].\n\n<<translatableStringEditor>>\n"
  },
  {
    "path": "plugins/tiddlywiki/translators/ui/group/GettingStarted.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/ui/group/GettingStarted\ncaption: Getting Started\ntags: $:/tags/TranslationGroup\n\n\\define translatableTiddlerTitles()\nGettingStarted\n\\end\n\\define shortenTitle()\n[all[current]]\n\\end\n\n! Getting Started\n\nThe GettingStarted tiddler that is displayed when an empty ~TiddlyWiki starts.\n\n<<translatableStringEditor>>\n"
  },
  {
    "path": "plugins/tiddlywiki/translators/ui/group/Help.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/ui/group/Help\ncaption: Help\ntags: $:/tags/TranslationGroup\n\n\\define translatableTiddlerTitles()\n[all[tiddlers+shadows]prefix[$:/language/Help/]sort[title]]\n\\end\n\\define shortenTitle()\n[all[current]removeprefix[$:/language/Help/]]\n\\end\n\n! Help\n\nHelp text for the ~TiddlyWiki commands available under Node.js.\n\n<<translatableStringEditor editorFields:\"text description\">>\n"
  },
  {
    "path": "plugins/tiddlywiki/translators/ui/group/Import.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/ui/group/Import\ncaption: Import\ntags: $:/tags/TranslationGroup\n\n\\define translatableTiddlerTitles()\n[all[tiddlers+shadows]prefix[$:/language/Import/]sort[title]]\n\\end\n\\define shortenTitle()\n[all[current]removeprefix[$:/language/Import/]]\n\\end\n\n! Import\n\nImport mechanism.\n\n<<translatableStringEditor>>\n"
  },
  {
    "path": "plugins/tiddlywiki/translators/ui/group/Miscellaneous.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/ui/group/Miscellaneous\ncaption: Miscellaneous\ntags: $:/tags/TranslationGroup\n\n\\define translatableTiddlerTitles()\n[all[tiddlers+shadows]prefix[$:/language/]]\n-[all[tiddlers+shadows]prefix[$:/language/Buttons/]]\n-[all[tiddlers+shadows]prefix[$:/language/ControlPanel/]]\n-[all[tiddlers+shadows]prefix[$:/language/Draft/]]\n-[all[tiddlers+shadows]prefix[$:/language/Date/]]\n-[all[tiddlers+shadows]prefix[$:/language/Docs/]]\n-[all[tiddlers+shadows]prefix[$:/language/EditTemplate/]]\n-[all[tiddlers+shadows]prefix[$:/language/Filters/]]\n-[all[tiddlers+shadows]prefix[$:/language/Help/]]\n-[all[tiddlers+shadows]prefix[$:/language/Import/]]\n-[all[tiddlers+shadows]prefix[$:/language/RelativeDate/]]\n-[all[tiddlers+shadows]prefix[$:/language/Search/]]\n-[all[tiddlers+shadows]prefix[$:/language/SideBar/]]\n-[all[tiddlers+shadows]prefix[$:/language/Snippets/]]\n-[all[tiddlers+shadows]prefix[$:/language/ThemeTweaks/]]\n-[all[tiddlers+shadows]prefix[$:/language/TiddlerInfo/]]\n[all[tiddlers+shadows]prefix[$:/config/NewJournal/]]\n[[$:/SiteTitle]]\n[[$:/SiteSubtitle]]\n[[$:/core/readme]]\n+[sort[title]]\n\\end\n\\define shortenTitle()\n[all[current]removeprefix[$:/language/]] [all[current]removeprefix[$:/config/]] [all[current]!prefix[$:/language/]!prefix[$:/config/]]\n\\end\n\n! Miscellaneous\n\nMiscellaneous translatable strings.\n\n<<translatableStringEditor>>\n"
  },
  {
    "path": "plugins/tiddlywiki/translators/ui/group/ModuleTypes.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/ui/group/Docs/ModuleTypes\ncaption: Module Types\ntags: $:/tags/TranslationGroup\n\n\\define translatableTiddlerTitles()\n[all[shadows+tiddlers]prefix[$:/language/Docs/ModuleTypes/]sort[title]]\n\\end\n\\define shortenTitle()\n[all[current]removeprefix[$:/language/Docs/ModuleTypes/]]\n\\end\n\n! Module Types\n\nModule types. This is technical information that is probably not required in most translations.\n\n<<translatableStringEditor>>\n"
  },
  {
    "path": "plugins/tiddlywiki/translators/ui/group/PaletteColours.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/ui/group/Docs/PaletteColours\ncaption: Palette Colours\ntags: $:/tags/TranslationGroup\n\n\\define translatableTiddlerTitles()\n[all[shadows+tiddlers]prefix[$:/language/Docs/PaletteColours/]sort[title]]\n\\end\n\\define shortenTitle()\n[all[current]removeprefix[$:/language/Docs/PaletteColours/]]\n\\end\n\n! Palette Colours\n\nPalette colours.\n\n<<translatableStringEditor>>\n"
  },
  {
    "path": "plugins/tiddlywiki/translators/ui/group/Search.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/ui/group/Search\ncaption: Search\ntags: $:/tags/TranslationGroup\n\n\\define translatableTiddlerTitles()\n[all[tiddlers+shadows]prefix[$:/language/Search/]sort[title]]\n\\end\n\\define shortenTitle()\n[all[current]removeprefix[$:/language/Search/]]\n\\end\n\n! Search\n\nSearch-related translatable strings.\n\n<<translatableStringEditor>>\n"
  },
  {
    "path": "plugins/tiddlywiki/translators/ui/group/SideBar.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/ui/group/SideBar\ncaption: Sidebar\ntags: $:/tags/TranslationGroup\n\n\\define translatableTiddlerTitles()\n[all[tiddlers+shadows]prefix[$:/language/SideBar/]sort[title]]\n\\end\n\\define shortenTitle()\n[all[current]removeprefix[$:/language/SideBar/]]\n\\end\n\n! Sidebar\n\nSidebar-related translatable strings.\n\n<<translatableStringEditor>>\n"
  },
  {
    "path": "plugins/tiddlywiki/translators/ui/group/Snippets.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/ui/group/Snippets\ncaption: Snippets\ntags: $:/tags/TranslationGroup\n\n\\define translatableTiddlerTitles()\n[all[tiddlers+shadows]prefix[$:/language/Snippets/]sort[title]]\n\\end\n\\define shortenTitle()\n[all[current]removeprefix[$:/language/Snippets/]]\n\\end\n\n! Snippets\n\nText snippets for use by the stamp text editor toolbar button.\n\n<<translatableStringEditor editorFields:\"caption text\">>\n"
  },
  {
    "path": "plugins/tiddlywiki/translators/ui/group/ThemeTweaks.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/ui/group/ThemeTweaks\ncaption: Theme Tweaks\ntags: $:/tags/TranslationGroup\n\n\\define translatableTiddlerTitles()\n[all[tiddlers+shadows]prefix[$:/language/ThemeTweaks/]sort[title]]\n\\end\n\\define shortenTitle()\n[all[current]removeprefix[$:/language/ThemeTweaks/]]\n\\end\n\n! Theme Tweaks\n\nStrings used in the theme tweaks for Vanilla.\n\n<<translatableStringEditor>>\n"
  },
  {
    "path": "plugins/tiddlywiki/translators/ui/group/TiddlerInfo.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/ui/group/TiddlerInfo\ncaption: Tiddler Info\ntags: $:/tags/TranslationGroup\n\n\\define translatableTiddlerTitles()\n[all[tiddlers+shadows]prefix[$:/language/TiddlerInfo/]sort[title]]\n\\end\n\\define shortenTitle()\n[all[current]removeprefix[$:/language/TiddlerInfo/]]\n\\end\n\n! Tiddler Info\n\nTiddler info panel.\n\n<<translatableStringEditor>>\n"
  },
  {
    "path": "plugins/tiddlywiki/translators/ui/group/Types.tid",
    "content": "title: $:/plugins/tiddlywiki/translators/ui/group/Docs/Types\ncaption: Types\ntags: $:/tags/TranslationGroup\n\n\\define translatableTiddlerTitles()\n[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]sort[title]]\n\\end\n\\define shortenTitle()\n[all[current]removeprefix[$:/language/Docs/Types/]]\n\\end\n\n! Types\n\nDescriptions for each content type (as appears in the type dropdown in the tiddler editor).\n\n<<translatableStringEditor editorFields:\"description group\">>\n"
  },
  {
    "path": "plugins/tiddlywiki/tw2parser/BlankViewTemplate_classic.tid",
    "content": "tags: $:/tags/ViewTemplate $:/tags/EditTemplate\ntitle: $:/core/ui/ViewTemplate/classic\ntype: text/vnd.tiddlywiki\n\n\n\n"
  },
  {
    "path": "plugins/tiddlywiki/tw2parser/classictransclude.js",
    "content": "/*\\\ntitle: $:/core/modules/widgets/classictransclude.js\ntype: application/javascript\nmodule-type: widget\n\nTransclude widget\n\n\\*/\n\n\"use strict\";\nvar sliceSeparator = \"::\";\nvar sectionSeparator = \"##\";\n\nfunction getsectionname(title) {\n\tif(!title)\n\t\treturn \"\";\n\tvar pos = title.indexOf(sectionSeparator);\n\tif(pos != -1) {\n\t\treturn title.substr(pos + sectionSeparator.length);\n\t}\n\treturn \"\";\n}\nfunction getslicename(title) { \n\tif(!title)\n\t\treturn \"\";\n\tvar pos = title.indexOf(sliceSeparator);\n\tif(pos != -1) {\n\t\treturn title.substr(pos + sliceSeparator.length);\n\t}\n\treturn \"\";\n};\nfunction gettiddlername(title) {\n\tif(!title)\n\t\treturn \"\";\n\tvar pos = title.indexOf(sectionSeparator);\n\n\tif(pos != -1) {\n\t\treturn title.substr(0,pos);\n\t}\n\tpos = title.indexOf(sliceSeparator);\n\tif(pos != -1) {\n\t\treturn title.substr(0,pos);\n\t}\n\treturn title;\n}\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar TranscludeWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTranscludeWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTranscludeWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nTranscludeWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.rawTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.transcludeTitle = gettiddlername(this.rawTitle);\n\tthis.section = getsectionname(this.rawTitle);\n\tthis.slice = getslicename(this.rawTitle);\n\t// Check for recursion\n\tvar recursionMarker = this.makeRecursionMarker();\n\tif(this.parentWidget && this.parentWidget.hasVariable(\"transclusion\",recursionMarker)) {\n\t\tthis.makeChildWidgets([{type: \"text\", text: $tw.language.getString(\"Error/RecursiveTransclusion\")}]);\n\t\treturn;\n\t}\n\t// Check for correct type\n\tvar existingTiddler = this.wiki.getTiddler(this.transcludeTitle);\n\t// Check if we're dealing with a classic tiddler\n\tif(existingTiddler && existingTiddler.hasField(\"type\") && existingTiddler.fields.type !== \"text/x-tiddlywiki\") {\n\t\tthis.makeChildWidgets([{type: \"text\", text: \"Tiddler not of type 'text/x-tiddlywiki'\"}]);\n\t\treturn;\n\t}\n\tif(existingTiddler && !existingTiddler.hasField(\"type\")) {\n\t\tthis.makeChildWidgets([{type: \"text\", text: \"Tiddler not of type 'text/x-tiddlywiki'\"}]);\n\t\treturn;\n\t}\t\t\n\t// Set context variables for recursion detection\n\tthis.setVariable(\"transclusion\",recursionMarker);\n\t// Parse \n\tvar text = this.wiki.getTiddlerText(this.transcludeTitle);\n\tif(!!this.section||!!this.slice) {\n\t\ttext =this.refineTiddlerText(text, this.section, this.slice);\n\t}\n\n\tthis.options  ={};\n\tthis.options.parseAsInline = false;\n\tvar parser = this.wiki.parseText(\"text/x-tiddlywiki\",text,{});\n\tvar\tparseTreeNodes = parser ? parser.tree : this.parseTreeNode.children;\n\t// Construct the child widgets\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n/*\nCompose a string comprising the title, field and/or index to identify this transclusion for recursion detection\n*/\nTranscludeWidget.prototype.makeRecursionMarker = function() {\n\tvar output = [];\n\toutput.push(\"{\");\n\toutput.push(this.getVariable(\"currentTiddler\",{defaultValue: \"\"}));\n\toutput.push(\"|\");\n\toutput.push(this.transcludeTitle || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeField || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeIndex || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.section || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.slice || \"\");\n\toutput.push(\"}\");\n\treturn output.join(\"\");\n};\n\nTranscludeWidget.prototype.slicesRE = /(?:^([\\'\\/]{0,2})~?([\\.\\w]+)\\:\\1[\\t\\x20]*([^\\n]*)[\\t\\x20]*$)|(?:^\\|([\\'\\/]{0,2})~?([\\.\\w]+)\\:?\\4\\|[\\t\\x20]*([^\\|\\n]*)[\\t\\x20]*\\|$)/gm;\n\nTranscludeWidget.prototype.calcAllSlices = function(text)\n{\n\tvar slices = {};\n\tthis.slicesRE.lastIndex = 0;\n\tvar m = this.slicesRE.exec(text);\n\twhile(m) {\n\t\tif(m[2])\n\t\t\tslices[m[2]] = m[3];\n\t\telse\n\t\t\tslices[m[5]] = m[6];\n\t\tm = this.slicesRE.exec(text);\n\t}\n\treturn slices;\n};\n\n// Returns the slice of text of the given name\nTranscludeWidget.prototype.getTextSlice = function(text,sliceName)\n{\n\treturn (this.calcAllSlices(text))[sliceName];\n};\n\nTranscludeWidget.prototype.refineTiddlerText = function(text,section,slice)\n{\n\tif(slice) {\n\t\tvar textslice = this.getTextSlice(text,slice);\n\t\tif(textslice)\n\t\t\treturn textslice;\n\t}\n\tif(!section)\n\t\treturn text;\n\tvar re = new RegExp(\"(^!{1,6}[ \\t]*\" + $tw.utils.escapeRegExp(section) + \"[ \\t]*\\n)\",\"mg\");\n\tre.lastIndex = 0;\n\tvar match = re.exec(text);\n\tif(match) {\n\t\tvar t = text.substr(match.index+match[1].length);\n\t\tvar re2 = /^!/mg;\n\t\tre2.lastIndex = 0;\n\t\tmatch = re2.exec(t); //# search for the next heading\n\t\tif(match)\n\t\t\tt = t.substr(0,match.index-1);//# don't include final \\n\n\t\treturn t;\n\t}\n\treturn \"\";\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTranscludeWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler ||changedTiddlers[this.transcludeTitle]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.classictransclude = TranscludeWidget;\n"
  },
  {
    "path": "plugins/tiddlywiki/tw2parser/entry.js",
    "content": "/*\\\ntitle: $:/macros/tiddlywiki/entry.js\ntype: application/javascript\nmodule-type: macro\n\\*/\n\"use strict\";\n/*\nInformation about this macro\nreturns value of key in a data json tiddler\nnote that macros are not connected with the refresh mechanism -use with caution.\n*/\nexports.name = \"entryof\";\n\nexports.params = [\n\t{ name: \"key\" }, { name: \"map\" }\n];\n/*\nRun the macro\n*/\nexports.run = function(key,map) {\n\ttry {\n\t\treturn  JSON.parse(map)[key];\n\t} catch(e) {\n\t\treturn \"\";\n\t}\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/tw2parser/image-css.tid",
    "content": "tags: $:/tags/Stylesheet\ntitle: $:/plugins/tiddlywiki/tw2parser/image-css\ntype: text/plain\n\n.classic-image-left{\n     float: left;\n}\n\n.classic-image-right{\n     float: right;\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/tw2parser/macrodefs.tid",
    "content": "title: $:/plugins/tiddlywiki/tw2parser/macrodefs\n\n\\define tiddler(tiddler)\n<$classictransclude tiddler = \"$tiddler$\"/>\n\\end\n\n\\define slider(chkUniqueCookieName tiddler label tooltip)\n<span title=$tooltip$><$button popup=\"$chkUniqueCookieName$\" class=\"tc-btn-invisible tc-slider\">$label$</$button>\n<$reveal type=\"nomatch\" text=\"\" default=\"\" state=\"$chkUniqueCookieName$\" animate=\"yes\">\n<$classictransclude tiddler = \"$tiddler$\"/>\n</$reveal></span>\n\\end\n\n\\define __system_tabinstance(state, currentTab, prompts, labels)\n\t\t<span title=<<entryof \"$currentTab$\" \"\"\"$prompts$\"\"\">> ><$button set=<<qualify \"$state$\">> setTo=\"$currentTab$\" selectedClass=\"tc-tab-selected\">\n\t\t<<entryof \"$currentTab$\" \"\"\"$labels$\"\"\" >>\n\t\t</$button></span>\n\\end\n\n\\define __system_tabs(tabsList,prompts,labels,state:\"$:/state/tab\")\n<div class=\"tc-tab-buttons\">\n\t<$list filter=\"$tabsList$\" variable=\"currentTab\">\n\t\t<$macrocall $name=\"__system_tabinstance\" state=\"$state$\" prompts=\"\"\"$prompts$\"\"\" labels=\"\"\"$labels$\"\"\" currentTab=<<currentTab>>/>\n\t</$list>\n</div>\n<div class=\"tc-tab-divider\"/>\n<div class=\"tc-tab-content\">\n\t<$list filter=\"$tabsList$\" variable=\"currentTab\">\n\t\t<$reveal type=\"match\" state=<<qualify \"$state$\">> text=<<currentTab>> default=\"$default$\">\n\t\t\t<$classictransclude tiddler=<<currentTab>> />\n\t\t</$reveal>\n\t</$list>\n</div>\n\\end\n"
  },
  {
    "path": "plugins/tiddlywiki/tw2parser/parameteradapter.js",
    "content": "/*\\\ntitle: $:/macros/classic/macroadapter.js\ntype: application/javascript\nmodule-type: module\n\\*/\n\n\"use strict\";\n/* eslint-disable */\n/*\nInformation about this module:\nrename macros and\nre-jig macro params from tw2 to tw5 style\nnew macros created as a result of adapting tw2 should be \nprepended \"__system\" to distinguish them from the actual used name\n*/\nvar sliceSeparator = \"::\";\nvar sectionSeparator = \"##\";\n\nfunction getsectionname(title) {\n\tif(!title)\n\t\treturn \"\";\n\tvar pos = title.indexOf(sectionSeparator);\n\tif(pos != -1) {\n\t\treturn title.substr(pos + sectionSeparator.length);\n\t}\n\treturn \"\";\n}\nfunction getslicename(title) { \n\tif(!title)\n\t\treturn \"\";\n\tvar pos = title.indexOf(sliceSeparator);\n\tif(pos != -1) {\n\t\treturn title.substr(pos + sliceSeparator.length);\n\t}\n\treturn \"\";\n};\nfunction gettiddlername(title) {\n\tif(!title)\n\t\treturn \"\";\n\tvar pos = title.indexOf(sectionSeparator);\n\n\tif(pos != -1) {\n\t\treturn title.substr(0,pos);\n\t}\n\tpos = title.indexOf(sliceSeparator);\n\tif(pos != -1) {\n\t\treturn title.substr(0,pos);\n\t}\n\treturn title;\n}\n\nvar parserparams = function(paramString) {\n\tvar params = [],\n\t\treParam = /\\s*(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))/mg,\n\t\tparamMatch = reParam.exec(paramString);\n\twhile(paramMatch) {\n\t\t// Process this parameter\n\t\tvar paramInfo = {\n\t\t\tvalue: paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5] || paramMatch[6]\n\t\t};\n\t\tif(paramMatch[1]) {\n\t\t\tparamInfo.name = paramMatch[1];\n\t\t}\n\t\tparams.push(paramInfo);\n\t\t// Find the next match\n\t\tparamMatch = reParam.exec(paramString);\n\t}\n\treturn params;\n};\nvar tabshandler = function(paramstring) {\n\tvar params = parserparams(paramstring);\n\tvar cookie = params[0].value;\n\tvar numTabs = (params.length-1)/3;\n\tvar t;\n\tvar tabslist = \"\";\n\tvar labelarray = {};\n\tvar promptarray = {};\n\tfor(t=0; t<numTabs; t++) {\n\t\tvar contentName = params[t*3+3].value;\n\t\ttabslist = tabslist+\" \" + contentName;\n\t\tlabelarray[contentName] = params[t*3+1].value;\n\t\tpromptarray[contentName] = params[t*3+2].value;\n\t} \n\t//Create a list of names (tiddlers, tiddler/sections, tiddler/slices), and create maps from name -> label and name -> prompt\n\t//Use json to implement maps \n\treturn '\"\"\"'+tabslist +'\"\"\" \"\"\"'+JSON.stringify(promptarray)+'\"\"\" \"\"\"'+JSON.stringify(labelarray)+'\"\"\" \"\"\"'+cookie+'\"\"\"';\n};\nvar namedapter = {tabs:\"__system_tabs\"};\nvar paramadapter = {\n\ttabs: tabshandler\n};\nexports.name = \"macroadapter\";\nexports.namedapter = namedapter;\nexports.paramadapter = paramadapter;\n"
  },
  {
    "path": "plugins/tiddlywiki/tw2parser/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/tw2parser\",\n\t\"name\": \"TW2 Parser\",\n\t\"description\": \"TiddlyWiki Classic parser\",\n\t\"author\": \"Jeffrey Wilkinson\",\n\t\"list\": \"readme\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/tw2parser/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/tw2parser/readme\n\nThis experimental plugin provides support for parsing and rendering tiddlers written in TiddlyWiki Classic format (`text/x-tiddlywiki`).\n\n[[Source code|https://github.com/TiddlyWiki/TiddlyWiki5/blob/master/plugins/tiddlywiki/tw2parser]]\n"
  },
  {
    "path": "plugins/tiddlywiki/tw2parser/wikitextparser.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/tw2parser/wikitextparser.js\ntype: application/javascript\nmodule-type: parser\n\nParses a block of tiddlywiki-format wiki text into a parse tree object. This is a transliterated version of the old TiddlyWiki code. The plan is to replace it with a new, mostly backwards compatible parser built in PEGJS.\n\nA wikitext parse tree is an array of objects with a `type` field that can be `text`,`macro` or the name of an HTML element.\n\nText nodes are represented as `{type: \"text\", value: \"A string of text\"}`.\n\nMacro nodes look like this:\n`\n{type: \"macro\", name: \"view\", params: {\n\tone: {type: \"eval\", value: \"2+2\"},\n\ttwo: {type: \"string\", value: \"twenty two\"}\n}}\n`\nHTML nodes look like this:\n`\n{type: \"div\", attributes: {\n\tsrc: \"one\"\n\tstyles: {\n\t\t\"background-color\": \"#fff\",\n\t\t\"color\": \"#000\"\n\t}\n}}\n`\n\n\\*/\n\n\"use strict\";\n\n/*\nCreates a new instance of the wiki text parser with the specified options. The\noptions are a hashmap of mandatory members as follows:\n\n\twiki: The wiki object to use to parse any cascaded content (eg transclusion)\n\nPlanned:\n\n\tenableRules: An array of names of wiki text rules to enable. If not specified, all rules are available\n\textraRules: An array of additional rule handlers to add\n\tenableMacros: An array of names of macros to enable. If not specified, all macros are available\n\textraMacros: An array of additional macro handlers to add\n*/\n\nvar WikiTextParser = function(type,text,options) {\n\tthis.wiki = options.wiki;\n\tthis.autoLinkWikiWords = true;\n\tthis.installRules();\n\ttext = text || \"no text\";\n\tthis.source = text;\n\tthis.nextMatch = 0;\n\tthis.children = [];\n\tthis.tree =[];\n\tthis.output = null;\n\tthis.subWikify(this.children);\n\t// prepend tw2 macros locally to the content\n\tvar parser = this.wiki.parseTiddler(\"$:/plugins/tiddlywiki/tw2parser/macrodefs\",{parseAsInline:false});\n\tthis.tree = [{\n\t\ttype: \"element\",\n\t\ttag: \"div\",\n\t\tchildren:this.children\n\t}];\n\t// clone the output of parser \n\tvar root = JSON.parse(JSON.stringify(parser.tree));\n\t// macros are defined in a linear tree; walk down the tree and append the source's parsed content \n\tvar baseroot = root;\n\twhile(root[0] && root[0].children && root[0].children.length !== 0 ){ \n\t\troot = root[0].children;\n\t}\n\troot[0].children[0] = this.tree[0];\n\tthis.tree = baseroot;\n};\n\n\nWikiTextParser.prototype.installRules = function() {\n\tvar rules = require(\"./wikitextrules.js\").rules,\n\t\tpattern = [];\n\tfor(var n=0; n<rules.length; n++) {\n\t\tpattern.push(\"(\" + rules[n].match + \")\");\n\t}\n\tthis.rules = rules;\n\tthis.rulesRegExp = new RegExp(pattern.join(\"|\"),\"mg\");\n};\n\n\nWikiTextParser.prototype.outputText = function(place,startPos,endPos) {\n\tif(startPos < endPos) {\n\t\tplace.push({type: \"text\",text:this.source.substring(startPos,endPos)});\n\t}\n};\n\nWikiTextParser.prototype.subWikify = function(output,terminator) {\n\t// Handle the terminated and unterminated cases separately, this speeds up wikifikation by about 30%\n\tif(terminator)\n\t\tthis.subWikifyTerm(output,new RegExp(\"(\" + terminator + \")\",\"mg\"));\n\telse\n\t\tthis.subWikifyUnterm(output);\n};\n\nWikiTextParser.prototype.subWikifyUnterm = function(output) {\n\t// subWikify can be indirectly recursive, so we need to save the old output pointer\n\tvar oldOutput = this.output;\n\tthis.output = output;\n\t// Get the first match\n\tthis.rulesRegExp.lastIndex = this.nextMatch;\n\tvar ruleMatch = this.rulesRegExp.exec(this.source);\n\twhile(ruleMatch) {\n\t\t// Output any text before the match\n\t\tif(ruleMatch.index > this.nextMatch)\n\t\t\tthis.outputText(this.output,this.nextMatch,ruleMatch.index);\n\t\t// Set the match parameters for the handler\n\t\tthis.matchStart = ruleMatch.index;\n\t\tthis.matchLength = ruleMatch[0].length;\n\t\tthis.matchText = ruleMatch[0];\n\t\tthis.nextMatch = this.rulesRegExp.lastIndex;\n\t\t// Figure out which rule matched and call its handler\n\t\tvar t;\n\t\tfor(t=1; t<ruleMatch.length; t++) {\n\t\t\tif(ruleMatch[t]) {\n\t\t\t\tthis.rules[t-1].handler(this);\n\t\t\t\tthis.rulesRegExp.lastIndex = this.nextMatch;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Get the next match\n\t\truleMatch = this.rulesRegExp.exec(this.source);\n\t}\n\t// Output any text after the last match\n\tif(this.nextMatch < this.source.length) {\n\t\tthis.outputText(this.output,this.nextMatch,this.source.length);\n\t\tthis.nextMatch = this.source.length;\n\t}\n\t// Restore the output pointer\n\tthis.output = oldOutput;\n};\n\nWikiTextParser.prototype.subWikifyTerm = function(output,terminatorRegExp) {\n\t// subWikify can be indirectly recursive, so we need to save the old output pointer\n\tvar oldOutput = this.output;\n\tthis.output = output;\n\t// Get the first matches for the rule and terminator RegExps\n\tterminatorRegExp.lastIndex = this.nextMatch;\n\tvar terminatorMatch = terminatorRegExp.exec(this.source);\n\tthis.rulesRegExp.lastIndex = this.nextMatch;\n\tvar ruleMatch = this.rulesRegExp.exec(terminatorMatch ? this.source.substr(0,terminatorMatch.index) : this.source);\n\twhile(terminatorMatch || ruleMatch) {\n\t\t// Check for a terminator match before the next rule match\n\t\tif(terminatorMatch && (!ruleMatch || terminatorMatch.index <= ruleMatch.index)) {\n\t\t\t// Output any text before the match\n\t\t\tif(terminatorMatch.index > this.nextMatch)\n\t\t\t\tthis.outputText(this.output,this.nextMatch,terminatorMatch.index);\n\t\t\t// Set the match parameters\n\t\t\tthis.matchText = terminatorMatch[1];\n\t\t\tthis.matchLength = terminatorMatch[1].length;\n\t\t\tthis.matchStart = terminatorMatch.index;\n\t\t\tthis.nextMatch = this.matchStart + this.matchLength;\n\t\t\t// Restore the output pointer\n\t\t\tthis.output = oldOutput;\n\t\t\treturn;\n\t\t}\n\t\t// It must be a rule match; output any text before the match\n\t\tif(ruleMatch.index > this.nextMatch)\n\t\t\tthis.outputText(this.output,this.nextMatch,ruleMatch.index);\n\t\t// Set the match parameters\n\t\tthis.matchStart = ruleMatch.index;\n\t\tthis.matchLength = ruleMatch[0].length;\n\t\tthis.matchText = ruleMatch[0];\n\t\tthis.nextMatch = this.rulesRegExp.lastIndex;\n\t\t// Figure out which rule matched and call its handler\n\t\tvar t;\n\t\tfor(t=1; t<ruleMatch.length; t++) {\n\t\t\tif(ruleMatch[t]) {\n\t\t\t\tthis.rules[t-1].handler(this);\n\t\t\t\tthis.rulesRegExp.lastIndex = this.nextMatch;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Get the next match\n\t\tterminatorRegExp.lastIndex = this.nextMatch;\n\t\tterminatorMatch = terminatorRegExp.exec(this.source);\n\t\truleMatch = this.rulesRegExp.exec(terminatorMatch ? this.source.substr(0,terminatorMatch.index) : this.source);\n\t}\n\t// Output any text after the last match\n\tif(this.nextMatch < this.source.length) {\n\t\tthis.outputText(this.output,this.nextMatch,this.source.length);\n\t\tthis.nextMatch = this.source.length;\n\t}\n\t// Restore the output pointer\n\tthis.output = oldOutput;\n};\n\nexports[\"text/x-tiddlywiki\"] = WikiTextParser;\n"
  },
  {
    "path": "plugins/tiddlywiki/tw2parser/wikitextrules.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/tw2parser/wikitextrules.js\ntype: application/javascript\nmodule-type: module\n\nRule modules for the wikitext parser\n\n\\*/\n\n\"use strict\";\nvar macroadapter = require(\"$:/macros/classic/macroadapter.js\");\nvar textPrimitives = {\n\tupperLetter: \"[A-Z\\u00c0-\\u00de\\u0150\\u0170]\",\n\tlowerLetter: \"[a-z0-9_\\\\-\\u00df-\\u00ff\\u0151\\u0171]\",\n\tanyLetter:   \"[A-Za-z0-9_\\\\-\\u00c0-\\u00de\\u00df-\\u00ff\\u0150\\u0170\\u0151\\u0171]\",\n\tanyLetterStrict: \"[A-Za-z0-9\\u00c0-\\u00de\\u00df-\\u00ff\\u0150\\u0170\\u0151\\u0171]\",\n\tsliceSeparator: \"::\",\n\tsectionSeparator: \"##\",\n\turlPattern: \"(?:file|http|https|mailto|ftp|irc|news|data):[^\\\\s'\\\"]+(?:/|\\\\b)\",\n\tunWikiLink: \"~\",\n\tbrackettedLink: \"\\\\[\\\\[([^\\\\]]+)\\\\]\\\\]\",\n\ttitledBrackettedLink: \"\\\\[\\\\[([^\\\\[\\\\]\\\\|]+)\\\\|([^\\\\[\\\\]\\\\|]+)\\\\]\\\\]\"\n};\n\ntextPrimitives.wikiLink = \"(?:(?:\" + textPrimitives.upperLetter + \"+\" +\n\t\t\t\t\t\t\ttextPrimitives.lowerLetter + \"+\" +\n\t\t\t\t\t\t\ttextPrimitives.upperLetter +\n\t\t\t\t\t\t\ttextPrimitives.anyLetter + \"*)|(?:\" +\n\t\t\t\t\t\t\ttextPrimitives.upperLetter + \"{2,}\" +\n\t\t\t\t\t\t\ttextPrimitives.lowerLetter + \"+))\";\n\ntextPrimitives.cssLookahead = \"(?:(\" + textPrimitives.anyLetter +\n\t\"+)\\\\(([^\\\\)\\\\|\\\\n]+)(?:\\\\):))|(?:(\" + textPrimitives.anyLetter + \"+):([^;\\\\|\\\\n]+);)\";\n\ntextPrimitives.cssLookaheadRegExp = new RegExp(textPrimitives.cssLookahead,\"mg\");\n\ntextPrimitives.tiddlerForcedLinkRegExp = new RegExp(\"(?:\" + textPrimitives.titledBrackettedLink + \")|(?:\" +\n\ttextPrimitives.brackettedLink + \")|(?:\" +\n\ttextPrimitives.urlPattern + \")\",\"mg\");\n\ntextPrimitives.tiddlerAnyLinkRegExp = new RegExp(\"(\"+ textPrimitives.wikiLink + \")|(?:\" +\n\ttextPrimitives.titledBrackettedLink + \")|(?:\" +\n\ttextPrimitives.brackettedLink + \")|(?:\" +\n\ttextPrimitives.urlPattern + \")\",\"mg\");\n\n// Helper to add an attribute to an HTML node\nvar setAttr = function(node,attr,value) {\n\tif(!node.attributes) {\n\t\tnode.attributes = {};\n\t}\n\tnode.attributes[attr] ={type: \"string\", value:value} ;\n};\n\nvar inlineCssHelper = function(w) {\n\tvar styles = [];\n\ttextPrimitives.cssLookaheadRegExp.lastIndex = w.nextMatch;\n\tvar lookaheadMatch = textPrimitives.cssLookaheadRegExp.exec(w.source);\n\twhile(lookaheadMatch && lookaheadMatch.index == w.nextMatch) {\n\t\tvar s,v;\n\t\tif(lookaheadMatch[1]) {\n\t\t\ts = lookaheadMatch[1];\n\t\t\tv = lookaheadMatch[2];\n\t\t} else {\n\t\t\ts = lookaheadMatch[3];\n\t\t\tv = lookaheadMatch[4];\n\t\t}\n\t\tif(s==\"bgcolor\")\n\t\t\ts = \"backgroundColor\";\n\t\tif(s==\"float\")\n\t\t\ts = \"cssFloat\";\n\t\tstyles.push({style: s, value: v});\n\t\tw.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;\n\t\ttextPrimitives.cssLookaheadRegExp.lastIndex = w.nextMatch;\n\t\tlookaheadMatch = textPrimitives.cssLookaheadRegExp.exec(w.source);\n\t}\n\treturn styles;\n};\n\nvar applyCssHelper = function(e,styles) {\n\n\tif(styles.length > 0) {\n\n\t\tfor(var t=0; t< styles.length; t++) {\n\t\t\t$tw.utils.addStyleToParseTreeNode(e,$tw.utils.roundTripPropertyName(styles[t].style),styles[t].value);\n\t\t}\n\t}\n\t\n};\n\nvar enclosedTextHelper = function(w) {\n\tthis.lookaheadRegExp.lastIndex = w.matchStart;\n\tvar lookaheadMatch = this.lookaheadRegExp.exec(w.source);\n\tif(lookaheadMatch && lookaheadMatch.index == w.matchStart) {\n\t\tw.output.push({type:\"element\",tag:this.element,\n\t\t\tchildren:[{type: \"text\",text: lookaheadMatch[1]}]});\n\t\tw.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;\n\t}\n};\n\nvar insertMacroCall = function(w,output,macroName,paramString) {\n\tvar params = [],\n\t\treParam = /\\s*(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))/mg,\n\t\tparamMatch = reParam.exec(paramString);\n\twhile(paramMatch) {\n\t\t// Process this parameter\n\t\tvar paramInfo = {\n\t\t\tvalue: paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5] || paramMatch[6]\n\t\t};\n\t\tif(paramMatch[1]) {\n\t\t\tparamInfo.name = paramMatch[1];\n\t\t}\n\t\tparams.push(paramInfo);\n\t\t// Find the next match\n\t\tparamMatch = reParam.exec(paramString);\n\t}\n\toutput.push({\n\t\ttype: \"macrocall\",\n\t\tname: macroName,\n\t\tparams: params,\n\t\tisBlock: false\n\t});\n};\n\n\nvar isLinkExternal = function(to) {\n\tvar externalRegExp = /(?:file|http|https|mailto|ftp|irc|news|obsidian|data|skype):[^\\s'\"]+(?:\\/|\\b)/i;\n\treturn externalRegExp.test(to);\n};\nvar rules = [\n\t{\n\t\tname: \"table\",\n\t\tmatch: \"^\\\\|(?:[^\\\\n]*)\\\\|(?:[fhck]?)$\",\n\t\tlookaheadRegExp: /^\\|([^\\n]*)\\|([fhck]?)$/mg,\n\t\trowTermRegExp: /(\\|(?:[fhck]?)$\\n?)/mg,\n\t\tcellRegExp: /(?:\\|([^\\n\\|]*)\\|)|(\\|[fhck]?$\\n?)/mg,\n\t\tcellTermRegExp: /((?:\\x20*)\\|)/mg,\n\t\trowTypes: {\"c\":\"caption\", \"h\":\"thead\", \"\":\"tbody\", \"f\":\"tfoot\"},\n\t\thandler: function(w)\n\t\t{\n\t\t\tvar table = {type:\"element\",tag:\"table\",attributes: {\"class\": {type: \"string\", value:\"table\"}},\n\t\t\t\tchildren: []};\n\t\t\n\t\t\tw.output.push(table);\n\t\t\tvar prevColumns = [];\n\t\t\tvar currRowType = null;\n\t\t\tvar rowContainer;\n\t\t\tvar rowCount = 0;\n\t\t\tw.nextMatch = w.matchStart;\n\t\t\tthis.lookaheadRegExp.lastIndex = w.nextMatch;\n\t\t\tvar lookaheadMatch = this.lookaheadRegExp.exec(w.source);\n\t\t\twhile(lookaheadMatch && lookaheadMatch.index == w.nextMatch) {\n\t\t\t\tvar nextRowType = lookaheadMatch[2];\n\t\t\t\tif(nextRowType == \"k\") {\n\t\t\t\t\ttable.attributes[\"class\"] = lookaheadMatch[1];\n\t\t\t\t\tw.nextMatch += lookaheadMatch[0].length+1;\n\t\t\t\t} else {\n\t\t\t\t\tif(nextRowType != currRowType) {\n\t\t\t\t\t\trowContainer = {type:\"element\",tag:this.rowTypes[nextRowType],children: []};\n\t\t\t\t\t\ttable.children.push(rowContainer);\n\t\t\t\t\t\tcurrRowType = nextRowType;\n\t\t\t\t\t}\n\t\t\t\t\tif(currRowType == \"c\") {\n\t\t\t\t\t// Caption\n\t\t\t\t\t\tw.nextMatch++;\n\t\t\t\t\t\t// Move the caption to the first row if it isn't already\n\t\t\t\t\t\tif(table.children.length !== 1) {\n\t\t\t\t\t\t\ttable.children.pop(); // Take rowContainer out of the children array\n\t\t\t\t\t\t\ttable.children.splice(0,0,rowContainer); // Insert it at the bottom\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\trowContainer.attributes={};\n\t\t\t\t\t\trowContainer.attributes.align = rowCount === 0 ? \"top\" : \"bottom\";\n\t\t\t\t\t\tw.subWikifyTerm(rowContainer.children,this.rowTermRegExp);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar theRow = {type:\"element\",tag:\"tr\",\n\t\t\t\t\t\t\tattributes: {\"class\": {type: \"string\", value:rowCount%2 ? \"oddRow\" : \"evenRow\"}},\n\t\t\t\t\t\t\tchildren: []};\n\t\t\t\t\t\n\t\t\t\t\t\trowContainer.children.push(theRow);\n\t\t\t\t\t\tthis.rowHandler(w,theRow.children,prevColumns);\n\t\t\t\t\t\trowCount++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.lookaheadRegExp.lastIndex = w.nextMatch;\n\t\t\t\tlookaheadMatch = this.lookaheadRegExp.exec(w.source);\n\t\t\t}\n\t\t},\n\t\trowHandler: function(w,e,prevColumns)\n\t\t{\n\t\t\tvar col = 0;\n\t\t\tvar colSpanCount = 1;\n\t\t\tvar prevCell = null;\n\t\t\tthis.cellRegExp.lastIndex = w.nextMatch;\n\t\t\tvar cellMatch = this.cellRegExp.exec(w.source);\n\t\t\twhile(cellMatch && cellMatch.index == w.nextMatch) {\n\t\t\t\tif(cellMatch[1] == \"~\") {\n\t\t\t\t// Rowspan\n\t\t\t\t\tvar last = prevColumns[col];\n\t\t\t\t\tif(last) {\n\t\t\t\t\t\tlast.rowSpanCount++;\n\t\t\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"rowspan\",last.rowSpanCount);\n\t\t\t\t\t\tvar vAlign = $tw.utils.getAttributeValueFromParseTreeNode(last.element,\"valign\",\"center\");\n\t\t\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"valign\",vAlign);\n\t\t\t\t\t\tif(colSpanCount > 1) {\n\t\t\t\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"colspan\",colSpanCount);\n\t\t\t\t\t\t\tcolSpanCount = 1;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tw.nextMatch = this.cellRegExp.lastIndex-1;\n\t\t\t\t} else if(cellMatch[1] == \">\") {\n\t\t\t\t// Colspan\n\t\t\t\t\tcolSpanCount++;\n\t\t\t\t\tw.nextMatch = this.cellRegExp.lastIndex-1;\n\t\t\t\t} else if(cellMatch[2]) {\n\t\t\t\t// End of row\n\t\t\t\t\tif(prevCell && colSpanCount > 1) {\n\t\t\t\t\t\tprevCell.attributes.colspan = colSpanCount;\n\t\t\t\t\t}\n\t\t\t\t\tw.nextMatch = this.cellRegExp.lastIndex;\n\t\t\t\t\tbreak;\n\t\t\t\t} else {\n\t\t\t\t// Cell\n\t\t\t\t\tw.nextMatch++;\n\t\t\t\t\tvar styles = inlineCssHelper(w);\n\t\t\t\t\tvar spaceLeft = false;\n\t\t\t\t\tvar chr = w.source.substr(w.nextMatch,1);\n\t\t\t\t\twhile(chr == \" \") {\n\t\t\t\t\t\tspaceLeft = true;\n\t\t\t\t\t\tw.nextMatch++;\n\t\t\t\t\t\tchr = w.source.substr(w.nextMatch,1);\n\t\t\t\t\t}\n\t\t\t\t\tvar cell;\n\t\t\t\t\tif(chr == \"!\") {\n\t\t\t\t\t\tcell = {type:\"element\",tag:\"th\",children: []};\n\t\t\t\t\t\te.push(cell);\n\t\t\t\t\t\tw.nextMatch++;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcell = {type:\"element\",tag:\"td\",children: []};\n\t\t\t\t\t\te.push(cell);\n\t\t\t\t\t}\n\t\t\t\t\tprevCell = cell;\n\t\t\t\t\tprevColumns[col] = {rowSpanCount:1,element:cell};\n\t\t\t\t\tif(colSpanCount > 1) {\n\t\t\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"colspan\",colSpanCount);\n\t\t\t\t\t\tcolSpanCount = 1;\n\t\t\t\t\t}\n\t\t\t\t\tapplyCssHelper(cell,styles);\n\t\t\t\t\tw.subWikifyTerm(cell.children,this.cellTermRegExp);\n\t\t\t\t\tif(!cell.attributes) cell.attributes ={};\n\t\t\t\t\tif(w.matchText.substr(w.matchText.length-2,1) == \" \") // spaceRight\n\t\t\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"align\",spaceLeft ? \"center\" : \"left\");\n\t\t\t\t\telse if(spaceLeft)\n\t\t\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"align\",\"right\");\n\t\t\t\t\tw.nextMatch--;\n\t\t\t\t}\n\t\t\t\tcol++;\n\t\t\t\tthis.cellRegExp.lastIndex = w.nextMatch;\n\t\t\t\tcellMatch = this.cellRegExp.exec(w.source);\n\t\t\t}\n\t\t}\n\t},\n\n\t{\n\t\tname: \"heading\",\n\t\tmatch: \"^!{1,6}\",\n\t\ttermRegExp: /(\\n)/mg,\n\t\thandler: function(w)\n\t\t{\n\t\t\tvar e = {type:\"element\",tag:\"h\" + w.matchLength,children: []};\n\t\t\tw.output.push(e);\n\t\t\tw.subWikifyTerm(e.children,this.termRegExp);\n\t\t}\n\t},\n\n\t{\n\t\tname: \"list\",\n\t\tmatch: \"^(?:[\\\\*#;:]+)\",\n\t\tlookaheadRegExp: /^(?:(?:(\\*)|(#)|(;)|(:))+)/mg,\n\t\ttermRegExp: /(\\n)/mg,\n\t\thandler: function(w)\n\t\t{\n\t\t\tvar stack = [w.output];\n\t\t\tvar currLevel = 0, currType = null;\n\t\t\tvar listLevel, listType, itemType, baseType;\n\t\t\tw.nextMatch = w.matchStart;\n\t\t\tthis.lookaheadRegExp.lastIndex = w.nextMatch;\n\t\t\tvar lookaheadMatch = this.lookaheadRegExp.exec(w.source);\n\t\t\twhile(lookaheadMatch && lookaheadMatch.index == w.nextMatch) {\n\t\t\t\tif(lookaheadMatch[1]) {\n\t\t\t\t\tlistType = \"ul\";\n\t\t\t\t\titemType = \"li\";\n\t\t\t\t} else if(lookaheadMatch[2]) {\n\t\t\t\t\tlistType = \"ol\";\n\t\t\t\t\titemType = \"li\";\n\t\t\t\t} else if(lookaheadMatch[3]) {\n\t\t\t\t\tlistType = \"dl\";\n\t\t\t\t\titemType = \"dt\";\n\t\t\t\t} else if(lookaheadMatch[4]) {\n\t\t\t\t\tlistType = \"dl\";\n\t\t\t\t\titemType = \"dd\";\n\t\t\t\t}\n\t\t\t\tif(!baseType)\n\t\t\t\t\tbaseType = listType;\n\t\t\t\tlistLevel = lookaheadMatch[0].length;\n\t\t\t\tw.nextMatch += lookaheadMatch[0].length;\n\t\t\t\tvar t,e;\n\t\t\t\tif(listLevel > currLevel) {\n\t\t\t\t\tfor(t=currLevel; t<listLevel; t++) {\n\t\t\t\t\t\tvar target = stack[stack.length-1];\n\t\t\t\t\t\tif(currLevel !== 0 && target.children) {\n\t\t\t\t\t\t\ttarget = target.children[target.children.length-1];\n\t\t\t\t\t\t}\n\t\t\t\t\t\te = {type:\"element\",tag:listType,children: []};\n\t\t\t\t\t\ttarget.push(e);\n\t\t\t\t\t\tstack.push(e.children);\n\t\t\t\t\t}\n\t\t\t\t} else if(listType!=baseType && listLevel==1) {\n\t\t\t\t\tw.nextMatch -= lookaheadMatch[0].length;\n\t\t\t\t\treturn;\n\t\t\t\t} else if(listLevel < currLevel) {\n\t\t\t\t\tfor(t=currLevel; t>listLevel; t--)\n\t\t\t\t\t\tstack.pop();\n\t\t\t\t} else if(listLevel == currLevel && listType != currType) {\n\t\t\t\t\tstack.pop();\n\t\t\t\t\te = {type:\"element\",tag:listType,children: []};\n\t\t\t\t\tstack[stack.length-1].push(e);\n\t\t\t\t\tstack.push(e.children);\n\t\t\t\t}\n\t\t\t\tcurrLevel = listLevel;\n\t\t\t\tcurrType = listType;\n\t\t\t\te = {type:\"element\",tag:itemType,children: []};\n\t\t\t\tstack[stack.length-1].push(e);\n\t\t\t\tw.subWikifyTerm(e.children,this.termRegExp);\n\t\t\t\tthis.lookaheadRegExp.lastIndex = w.nextMatch;\n\t\t\t\tlookaheadMatch = this.lookaheadRegExp.exec(w.source);\n\t\t\t}\n\t\t}\n\t},\n\n\t{\n\t\tname: \"quoteByBlock\",\n\t\tmatch: \"^<<<\\\\n\",\n\t\ttermRegExp: /(^<<<(\\n|$))/mg,\n\t\telement: \"blockquote\",\n\t\thandler:  function(w) {\n\t\t\tvar e = {type:\"element\",tag:this.element,children: []};\n\t\t\tw.output.push(e);\n\t\t\tw.subWikifyTerm(e.children,this.termRegExp);\n\t\t}\n\t},\n\n\t{\n\t\tname: \"quoteByLine\",\n\t\tmatch: \"^>+\",\n\t\tlookaheadRegExp: /^>+/mg,\n\t\ttermRegExp: /(\\n)/mg,\n\t\telement: \"blockquote\",\n\t\thandler: function(w)\n\t\t{\n\t\t\tvar stack = [];\n\t\t\tvar currLevel = 0;\n\t\t\tvar newLevel = w.matchLength;\n\t\t\tvar t,matched,e;\n\t\t\tdo {\n\t\t\t\tif(newLevel > currLevel) {\n\t\t\t\t\tfor(t=currLevel; t<newLevel; t++) {\n\t\t\t\t\t\tvar f = stack[stack.length-1];\n\t\t\t\t\t\te = {type:\"element\",tag:this.element,children: []};\n\t\t\t\t\t\tstack.push(e);\n\t\t\t\t\t\tif(t ===0){\n\t\t\t\t\t\t\tw.output.push(e);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tf.children.push(e);\n\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else if(newLevel < currLevel) {\n\t\t\t\t\tfor(t=currLevel; t>newLevel; t--)\n\t\t\t\t\t\tstack.pop();\n\t\t\t\t}\n\t\t\t\tcurrLevel = newLevel;\n\t\t\t\tw.subWikifyTerm(stack[stack.length-1].children,this.termRegExp);\n\t\t\t\tstack[stack.length-1].children.push({type:\"element\",tag:\"br\"});\n\t\t\t\t//e.push({type:\"element\",tag:\"br\"});\n\n\t\t\t\tthis.lookaheadRegExp.lastIndex = w.nextMatch;\n\t\t\t\tvar lookaheadMatch = this.lookaheadRegExp.exec(w.source);\n\t\t\t\tmatched = lookaheadMatch && lookaheadMatch.index == w.nextMatch;\n\t\t\t\tif(matched) {\n\t\t\t\t\tnewLevel = lookaheadMatch[0].length;\n\t\t\t\t\tw.nextMatch += lookaheadMatch[0].length;\n\t\t\t\t}\n\t\t\t} while(matched);\n\t\t}\n\t},\n\n\t{\n\t\tname: \"rule\",\n\t\tmatch: \"^----+$\\\\n?|<hr ?/?>\\\\n?\",\n\t\thandler: function(w)\n\t\t{\n\t\t\tw.output.push({type:\"element\",tag:\"hr\"});\n\t\t}\n\t},\n\n\t{\n\t\tname: \"monospacedByLine\",\n\t\tmatch: \"^(?:/\\\\*\\\\{\\\\{\\\\{\\\\*/|\\\\{\\\\{\\\\{|//\\\\{\\\\{\\\\{|<!--\\\\{\\\\{\\\\{-->)\\\\n\",\n\t\telement: \"pre\",\n\t\thandler: function(w)\n\t\t{\n\t\t\tswitch(w.matchText) {\n\t\t\t\tcase \"/*{{{*/\\n\": // CSS\n\t\t\t\t\tthis.lookaheadRegExp = /\\/\\*\\{\\{\\{\\*\\/\\n*((?:^[^\\n]*\\n)+?)(\\n*^\\f*\\/\\*\\}\\}\\}\\*\\/$\\n?)/mg;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"{{{\\n\": // monospaced block\n\t\t\t\t\tthis.lookaheadRegExp = /^\\{\\{\\{\\n((?:^[^\\n]*\\n)+?)(^\\f*\\}\\}\\}$\\n?)/mg;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"//{{{\\n\": // plugin\n\t\t\t\t\tthis.lookaheadRegExp = /^\\/\\/\\{\\{\\{\\n\\n*((?:^[^\\n]*\\n)+?)(\\n*^\\f*\\/\\/\\}\\}\\}$\\n?)/mg;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"<!--{{{-->\\n\": //template\n\t\t\t\t\tthis.lookaheadRegExp = /<!--\\{\\{\\{-->\\n*((?:^[^\\n]*\\n)+?)(\\n*^\\f*<!--\\}\\}\\}-->$\\n?)/mg;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tenclosedTextHelper.call(this,w);\n\t\t}\n\t},\n\n\t{\n\t\tname: \"typedBlock\",\n\t\tmatch: \"^\\\\$\\\\$\\\\$(?:[^ >\\\\r\\\\n]*)\\\\r?\\\\n\",\n\t\tlookaheadRegExp: /^\\$\\$\\$([^ >\\r\\n]*)\\n((?:^[^\\n]*\\r?\\n)+?)(^\\f*\\$\\$\\$\\r?\\n?)/mg,\n\t\t//match: \"^\\\\$\\\\$\\\\$(?:[^ >\\\\r\\\\n]*)(?: *> *([^ \\\\r\\\\n]+))?\\\\r?\\\\n\",\n\t\t//lookaheadRegExp: /^\\$\\$\\$([^ >\\r\\n]*)(?: *> *([^ \\r\\n]+))\\n((?:^[^\\n]*\\n)+?)(^\\f*\\$\\$\\$$\\n?)/mg,\n\t\thandler: function(w)\n\t\t{\n\t\t\tthis.lookaheadRegExp.lastIndex = w.matchStart;\n\t\t\tvar lookaheadMatch = this.lookaheadRegExp.exec(w.source);\n\t\t\tif(lookaheadMatch && lookaheadMatch.index == w.matchStart) {\n\t\t\t// The wikitext parsing infrastructure is horribly unre-entrant\n\t\t\t\tvar parseType = lookaheadMatch[1],\n\t\t\t\t\ttext = lookaheadMatch[2],\n\t\t\t\t\toldOutput = w.output,\n\t\t\t\t\toldSource = w.source,\n\t\t\t\t\toldNextMatch = w.nextMatch,\n\t\t\t\t\toldChildren = w.children;\n\t\t\t\t// Parse the block according to the specified type\n\t\t\t\tvar parser = $tw.wiki.parseText(parseType,text.toString(),{defaultType: \"text/plain\"});\n\n\t\t\t\tw.output = oldOutput;\n\t\t\t\tw.source = oldSource;\n\t\t\t\tw.nextMatch = oldNextMatch;\n\t\t\t\tw.children = oldChildren;\n\t\t\t\tfor(var i=0; i<parser.tree.length; i++) {\n\t\t\t\t\tw.output.push(parser.tree[i]);\n\t\t\t\t}\n\t\t\t\tw.nextMatch = this.lookaheadRegExp.lastIndex;\n\t\t\t}\n\t\t}\n\t},\n\n\t{\n\t\tname: \"wikifyComment\",\n\t\tmatch: \"^(?:/\\\\*\\\\*\\\\*|<!---)\\\\n\",\n\t\thandler: function(w)\n\t\t{\n\t\t\tvar termRegExp = (w.matchText == \"/***\\n\") ? (/(^\\*\\*\\*\\/\\n)/mg) : (/(^--->\\n)/mg);\n\t\t\tw.subWikifyTerm(w.output,termRegExp);\n\t\t}\n\t},\n\n\t{\n\t\tname: \"macro\",\n\t\tmatch: \"<<\",\n\t\tlookaheadRegExp: /<<(?:([!@£\\$%\\^\\&\\*\\(\\)`\\~'\"\\|\\\\\\/;\\:\\.\\,\\+\\=\\-\\_\\{\\}])|([^>\\s]+))(?:\\s*)((?:[^>]|(?:>(?!>)))*)>>/mg,\n\t\thandler: function(w)\n\t\t{\n\t\t\tthis.lookaheadRegExp.lastIndex = w.matchStart;\n\t\t\tvar lookaheadMatch = this.lookaheadRegExp.exec(w.source),\n\t\t\t\tname;\n\t\t\tif(lookaheadMatch && lookaheadMatch.index == w.matchStart) {\n\t\t\t\tname = lookaheadMatch[1] || lookaheadMatch[2];\n\t\t\t\tvar params = lookaheadMatch[3];\n\t\t\t\tif(name) {\n\t\t\t\t\tif(!!macroadapter.paramadapter[name]) {\n\t\t\t\t\t\tparams=macroadapter.paramadapter[name](params);\n\t\t\t\t\t//alert(\"going out as \"+params);\n\t\t\t\t\t}\n\t\t\t\t\tif(!!macroadapter.namedapter[name]) {\n\t\t\t\t\t\tname=macroadapter.namedapter[name];\n\t\t\t\t\t}\n\t\t\t\t\tw.nextMatch = this.lookaheadRegExp.lastIndex;\n\t\t\t\t\tinsertMacroCall(w,w.output,name,params);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\n\t{\n\t\tname: \"prettyLink\",\n\t\tmatch: \"\\\\[\\\\[\",\n\t\tlookaheadRegExp: /\\[\\[(.*?)(?:\\|(~)?(.*?))?\\]\\]/mg,\n\t\thandler: function(w)\n\t\t{\n\t\t\tthis.lookaheadRegExp.lastIndex = w.matchStart;\n\t\t\tvar lookaheadMatch = this.lookaheadRegExp.exec(w.source);\n\t\t\tif(lookaheadMatch && lookaheadMatch.index == w.matchStart) {\n\t\t\t\tvar text = lookaheadMatch[1],\n\t\t\t\t\tlink = text;\n\t\t\t\tif(lookaheadMatch[3]) {\n\t\t\t\t// Pretty bracketted link\n\t\t\t\t\tlink = lookaheadMatch[3];\n\t\t\t\t}\n\t\t\t\tif(isLinkExternal(link)) {\n\t\t\t\t\tw.output.push({\n\t\t\t\t\t\ttype: \"element\",\n\t\t\t\t\t\ttag: \"a\",\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\thref: {type: \"string\", value: link},\n\t\t\t\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t\t\t\t\ttarget: {type: \"string\", value: \"_blank\"}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: [{\n\t\t\t\t\t\t\ttype: \"text\", text: text\n\t\t\t\t\t\t}]\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tw.output.push({\n\t\t\t\t\t\ttype: \"link\",\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\tto: {type: \"string\", value: link}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: [{\n\t\t\t\t\t\t\ttype: \"text\", text: text\n\t\t\t\t\t\t}]\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tw.nextMatch = this.lookaheadRegExp.lastIndex;\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\tname: \"wikiLink\",\n\t\tmatch: textPrimitives.unWikiLink+\"?\"+textPrimitives.wikiLink,\n\t\thandler: function(w)\n\t\t{\n\t\t\tif(w.matchText.substr(0,1) == textPrimitives.unWikiLink) {\n\t\t\t\tw.outputText(w.output,w.matchStart+1,w.nextMatch);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif(w.matchStart > 0) {\n\t\t\t\tvar preRegExp = new RegExp(textPrimitives.anyLetterStrict,\"mg\");\n\t\t\t\tpreRegExp.lastIndex = w.matchStart-1;\n\t\t\t\tvar preMatch = preRegExp.exec(w.source);\n\t\t\t\tif(preMatch.index == w.matchStart-1) {\n\t\t\t\t\tw.outputText(w.output,w.matchStart,w.nextMatch);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(w.autoLinkWikiWords) {\n\t\t\t\tw.output.push({\n\t\t\t\t\ttype: \"link\",\n\t\t\t\t\tattributes: {\n\t\t\t\t\t\tto: {type: \"string\", value: w.matchText}\n\t\t\t\t\t},\n\t\t\t\t\tchildren: [{\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: w.source.substring(w.matchStart,w.nextMatch)\n\t\t\t\t\t}]\n\t\t\t\t});\n\t\t\t} else {\t\n\t\t\t\tw.outputText(w.output,w.matchStart,w.nextMatch);\n\t\t\t}\n\t\t}\n\t},\n\n\t{\n\t\tname: \"urlLink\",\n\t\tmatch: textPrimitives.urlPattern,\n\t\thandler: function(w)\n\t\t{\n\t\t\tw.output.push({\n\t\t\t\ttype: \"element\",\n\t\t\t\ttag: \"a\",\n\t\t\t\tattributes: {\n\t\t\t\t\thref: {type: \"string\", value: w.matchText},\n\t\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t\t\ttarget: {type: \"string\", value: \"_blank\"}\n\t\t\t\t},\n\t\t\t\tchildren: [{\n\t\t\t\t\ttype: \"text\", text: w.source.substring(w.matchStart,w.nextMatch)\n\t\t\t\t}]\n\t\t\t});\n\n\t\t}\n\t},\n\n\t{\n\t\tname: \"image\",\n\t\tmatch: \"\\\\[[<>]?[Ii][Mm][Gg]\\\\[\",\n\t\t// [<] sequence below is to avoid lessThan-questionMark sequence so TiddlyWikis can be included in PHP files\n\t\tlookaheadRegExp: /\\[([<]?)(>?)[Ii][Mm][Gg]\\[(?:([^\\|\\]]+)\\|)?([^\\[\\]\\|]+)\\](?:\\[([^\\]]*)\\])?\\]/mg,\n\t\thandler: function(w)\n\t\t{\n\t\t\tvar node = {\n\t\t\t\ttype: \"image\",\n\t\t\t\tattributes: {}\n\t\t\t};\n\t\t\tthis.lookaheadRegExp.lastIndex = w.matchStart;\n\t\t\tvar lookaheadMatch = this.lookaheadRegExp.exec(w.source);\n\t\t\tif(lookaheadMatch && lookaheadMatch.index == w.matchStart) {\n\t\t\t\tif(lookaheadMatch[1]) {\n\t\t\t\t\tnode.attributes.class = {type: \"string\", value: \"classic-image-left\"};\n\t\t\t\t} else if(lookaheadMatch[2]) {\n\t\t\t\t\tnode.attributes.class  = {type: \"string\", value: \"classic-image-right\"};\n\t\t\t\t}\n\t\t\t\tif(lookaheadMatch[3]) {\n\t\t\t\t\tnode.attributes.tooltip = {type: \"string\", value: lookaheadMatch[3]};\n\t\t\t\t}\n\t\t\t\tnode.attributes.source = {type: \"string\", value: lookaheadMatch[4]};\n\t\t\t\tif(lookaheadMatch[5]) {\n\t\t\t\t\tif(isLinkExternal(lookaheadMatch[5])) {\n\t\t\t\t\t\tw.output.push({\n\t\t\t\t\t\t\ttype: \"element\",\n\t\t\t\t\t\t\ttag: \"a\",\n\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\thref: {type: \"string\", value:lookaheadMatch[5]},\n\t\t\t\t\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t\t\t\t\t\ttarget: {type: \"string\", value: \"_blank\"}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tchildren: [node]\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tw.output.push({\n\t\t\t\t\t\t\ttype: \"link\",\n\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\tto: {type: \"string\", value: lookaheadMatch[5]}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tchildren: [node]\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tw.output.push(node);\n\t\t\t\t}\n\t\t\t\tw.nextMatch = this.lookaheadRegExp.lastIndex;\n\t\t\t}\n\t\t}\n\t},\n\n\t{\n\t\tname: \"html\",\n\t\tmatch: \"<[Hh][Tt][Mm][Ll]>\",\n\t\tlookaheadRegExp: /<[Hh][Tt][Mm][Ll]>((?:.|\\n)*?)<\\/[Hh][Tt][Mm][Ll]>/mg,\n\t\thandler: function(w)\n\t\t{\n\t\t\tthis.lookaheadRegExp.lastIndex = w.matchStart;\n\t\t\tvar lookaheadMatch = this.lookaheadRegExp.exec(w.source);\n\t\t\tif(lookaheadMatch && lookaheadMatch.index == w.matchStart) {\n\t\t\t\tw.output.push({\ttype:\"raw\", html:lookaheadMatch[1]});\n\t\t\t\tw.nextMatch = this.lookaheadRegExp.lastIndex;\n\t\t\t}\n\t\t}\n\t},\n\n\t{\n\t\tname: \"commentByBlock\",\n\t\tmatch: \"/%\",\n\t\tlookaheadRegExp: /\\/%((?:.|\\n)*?)%\\//mg,\n\t\thandler: function(w)\n\t\t{\n\t\t\tthis.lookaheadRegExp.lastIndex = w.matchStart;\n\t\t\tvar lookaheadMatch = this.lookaheadRegExp.exec(w.source);\n\t\t\tif(lookaheadMatch && lookaheadMatch.index == w.matchStart)\n\t\t\t\tw.nextMatch = this.lookaheadRegExp.lastIndex;\n\t\t}\n\t},\n\n\t{\n\t\tname: \"characterFormat\",\n\t\tmatch: \"''|//|__|\\\\^\\\\^|~~|--(?!\\\\s|$)|\\\\{\\\\{\\\\{|`\",\n\t\thandler: function(w)\n\t\t{\n\t\t\tvar e,lookaheadRegExp,lookaheadMatch;\n\t\t\tswitch(w.matchText) {\n\t\t\t\tcase \"''\":\n\t\t\t\t\te = {type:\"element\",tag:\"strong\",children: []};\n\t\t\t\t\tw.output.push(e);\n\t\t\t\t\tw.subWikifyTerm(e.children,/('')/mg);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"//\":\n\t\t\t\t\te = {type:\"element\",tag:\"em\",children: []};\n\t\t\t\t\tw.output.push(e);\n\t\t\t\t\tw.subWikifyTerm(e.children,/(\\/\\/)/mg);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"__\":\n\t\t\t\t\te = {type:\"element\",tag:\"u\",children: []};\n\t\t\t\t\tw.output.push(e);\n\t\t\t\t\tw.subWikifyTerm(e.children,/(__)/mg);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"^^\":\n\t\t\t\t\te = {type:\"element\",tag:\"sup\",children: []};\n\t\t\t\t\tw.output.push(e);\n\t\t\t\t\tw.subWikifyTerm(e.children,/(\\^\\^)/mg);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"~~\":\n\t\t\t\t\te = {type:\"element\",tag:\"sub\",children: []};\n\t\t\t\t\tw.output.push(e);\n\t\t\t\t\tw.subWikifyTerm(e.children,/(~~)/mg);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"--\":\n\t\t\t\t\te = {type:\"element\",tag:\"strike\",children: []};\n\t\t\t\t\tw.output.push(e);\n\t\t\t\t\tw.subWikifyTerm(e.children,/(--)/mg);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"`\":\n\t\t\t\t\tlookaheadRegExp = /`((?:.|\\n)*?)`/mg;\n\t\t\t\t\tlookaheadRegExp.lastIndex = w.matchStart;\n\t\t\t\t\tlookaheadMatch = lookaheadRegExp.exec(w.source);\n\t\t\t\t\tif(lookaheadMatch && lookaheadMatch.index == w.matchStart) {\n\t\t\t\t\t\tw.output.push({type:\"element\",tag:\"code\",\n\t\t\t\t\t\t\tchildren:[{type: \"text\",text: lookaheadMatch[1]}]});\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"{{{\":\n\t\t\t\t\tlookaheadRegExp = /\\{\\{\\{((?:.|\\n)*?)\\}\\}\\}/mg;\n\t\t\t\t\tlookaheadRegExp.lastIndex = w.matchStart;\n\t\t\t\t\tlookaheadMatch = lookaheadRegExp.exec(w.source);\n\t\t\t\t\tif(lookaheadMatch && lookaheadMatch.index == w.matchStart) {\n\t\t\t\t\t\tw.output.push({type:\"element\",tag:\"code\",\n\t\t\t\t\t\t\tchildren:[{type: \"text\",text: lookaheadMatch[1]}]});\n\t\t\t\t\t\tw.nextMatch = lookaheadRegExp.lastIndex;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t},\n\n\t{\n\t\tname: \"customFormat\",\n\t\tmatch: \"@@|\\\\{\\\\{\",\n\t\thandler: function(w)\n\t\t{\n\t\t\tswitch(w.matchText) {\n\t\t\t\tcase \"@@\":\n\t\t\t\t\tvar e = {type:\"element\",tag:\"span\",children: []};\n\t\t\t\t\tw.output.push(e);\n\t\t\t\t\tvar styles = inlineCssHelper(w);\n\t\t\t\t\tif(styles.length === 0)\n\t\t\t\t\t\tsetAttr(e,\"class\",\"marked\");\n\t\t\t\t\telse\n\t\t\t\t\t\tapplyCssHelper(e,styles);\n\t\t\t\t\tw.subWikifyTerm(e.children,/(@@)/mg);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"{{\":\n\t\t\t\t\tvar lookaheadRegExp = /\\{\\{[\\s]*([\\-\\w]+[\\-\\s\\w]*)[\\s]*\\{(\\n?)/mg;\n\t\t\t\t\tlookaheadRegExp.lastIndex = w.matchStart;\n\t\t\t\t\tvar lookaheadMatch = lookaheadRegExp.exec(w.source);\n\t\t\t\t\tif(lookaheadMatch) {\n\t\t\t\t\t\tw.nextMatch = lookaheadRegExp.lastIndex;\n\t\t\t\t\t\te = {type:\"element\",tag:lookaheadMatch[2] == \"\\n\" ? \"div\" : \"span\",\n\t\t\t\t\t\t\tattributes: {\"class\": {type: \"string\", value:lookaheadMatch[1]}},children: []};\n\t\t\t\t\t\tw.output.push(e);\n\t\t\t\t\t\tw.subWikifyTerm(e.children,/(\\}\\}\\})/mg);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t},\n\n\t{\n\t\tname: \"mdash\",\n\t\tmatch: \"--\",\n\t\thandler: function(w)\n\t\t{\n\t\t\tw.output.push({type: \"entity\", entity: \"&mdash;\"});\n\t\t}\n\t},\n\n\t{\n\t\tname: \"lineBreak\",\n\t\tmatch: \"\\\\n|<br ?/?>\",\n\t\thandler: function(w)\n\t\t{\n\t\t\tw.output.push({type:\"element\",tag:\"br\"});\n\t\t}\n\t},\n\n\t{\n\t\tname: \"rawText\",\n\t\tmatch: \"\\\"{3}|<nowiki>\",\n\t\tlookaheadRegExp: /(?:\\\"{3}|<nowiki>)((?:.|\\n)*?)(?:\\\"{3}|<\\/nowiki>)/mg,\n\t\thandler: function(w)\n\t\t{\n\t\t\tthis.lookaheadRegExp.lastIndex = w.matchStart;\n\t\t\tvar lookaheadMatch = this.lookaheadRegExp.exec(w.source);\n\t\t\tif(lookaheadMatch && lookaheadMatch.index == w.matchStart) {\n\t\t\t\tw.output.push({type: \"text\",text: lookaheadMatch[1]\n\t\t\t\t});\n\t\t\t\tw.nextMatch = this.lookaheadRegExp.lastIndex;\n\t\t\t}\n\t\t}\n\t},\n\n\t{\n\t\tname: \"htmlEntitiesEncoding\",\n\t\tmatch: \"&#?[a-zA-Z0-9]{2,8};\",\n\t\thandler: function(w)\n\t\t{\n\t\t\tw.output.push({type: \"entity\", entity: w.matchText});\n\t\t}\n\t}\n\n];\n\nexports.rules = rules;\n"
  },
  {
    "path": "plugins/tiddlywiki/tw5.com-docs/files/tiddlywiki.files",
    "content": "{\n\t\"directories\": [\n\t\t\"../../../../editions/tw5.com/tiddlers\"\n\t]\n}"
  },
  {
    "path": "plugins/tiddlywiki/tw5.com-docs/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/tw5.com-docs\",\n\t\"name\": \"TW5.com Docs\",\n\t\"description\": \"Documentation from tiddlywiki.com\",\n\t\"list\": \"readme\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/tw5.com-docs/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/tw5.com-docs/readme\n\nThis is an experimental packaging of the documentation from tiddlywiki.com into a plugin.\n\nIt is currently not fully functional:\n\n* Listings of tiddlers don't always work because the docs tiddlers are now shadow tiddlers\n"
  },
  {
    "path": "plugins/tiddlywiki/twitter/macros.tid",
    "content": "title: $:/plugins/tiddlywiki/twitter/macros\ntags: $:/tags/Macro\n\n\\define twitter-usage(text)\nFor example:\n\n<$codeblock code=\"\"\"$text$\"\"\"/>\n\nRenders as:\n\n$text$\n\\end\n\n"
  },
  {
    "path": "plugins/tiddlywiki/twitter/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/twitter\",\n\t\"name\": \"Twitter\",\n\t\"description\": \"Twitter embedding tools\",\n\t\"list\": \"readme usage\",\n\t\"stability\": \"STABILITY_3_LEGACY\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/twitter/rawmarkup.tid",
    "content": "title: $:/plugins/tiddlywiki/twitter/rawmarkup\ntags: $:/tags/RawMarkup\n\n<script>window.twttr = (function(d, s, id) {\n  var js, fjs = d.getElementsByTagName(s)[0],\n    t = window.twttr || {};\n  if (d.getElementById(id)) return t;\n  js = d.createElement(s);\n  js.id = id;\n  js.src = \"https://platform.twitter.com/widgets.js\";\n  fjs.parentNode.insertBefore(js, fjs);\n\n  t._e = [];\n  t.ready = function(f) {\n    t._e.push(f);\n  };\n\n  return t;\n}(document, \"script\", \"twitter-wjs\"));</script>"
  },
  {
    "path": "plugins/tiddlywiki/twitter/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/twitter/readme\n\nThis plugin provides a `<$twitter>` widget that can embed various entities from Twitter's service:\n\n* Individual tweets and conversations\n* Buttons for tweeting/mentioning, sharing, following\n* Various types of timeline: profile, likes, list, collection, url and widget\n\nThe widget only works in the browser, and not in generated static HTML pages.\n"
  },
  {
    "path": "plugins/tiddlywiki/twitter/startup.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/twitter/startup.js\ntype: application/javascript\nmodule-type: startup\n\nTwitter initialisation\n\n\\*/\n\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"twitter\";\nexports.before = [\"startup\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\tvar logger = new $tw.utils.Logger(\"twitter-plugin\");\n\tif($tw.browser && !window.twttr) {\n\t\tlogger.alert(\"The plugin 'tiddlywiki/twitter' is disabled until this wiki is saved and reloaded again\");\n\t}\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/twitter/twitter-widget.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/twitter/widget.js\ntype: application/javascript\nmodule-type: widget\n\nTwitter widget\n\n\\*/\n\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar TwitterWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTwitterWidget.prototype = new Widget();\n\nvar optionAttributes = \"align ariaPolite borderColor cards chrome conversation count dnt hashtags height height lang linkColor related size text theme tweetLimit via width\".split(\" \"),\n\totherAttributes = \"hashtag id ownerScreenName screenName slug tweetID type url userId widgetId\".split(\" \"),\n\tallAttributes = Array.prototype.slice.call(optionAttributes,0).concat(otherAttributes);\n\n/*\nRender this widget into the DOM\n*/\nTwitterWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Housekeeping\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\t// Compose the arguments for the tweet call\n\tvar method,\n\t\targ,\n\t\toptions = {};\n\t$tw.utils.each(optionAttributes,function(attr) {\n\t\toptions[attr] = self.getAttribute(attr);\n\t});\n\tswitch(this.getAttribute(\"type\")) {\n\t\tcase \"shareButton\":\n\t\t\tmethod = \"createShareButton\";\n\t\t\targ = this.getAttribute(\"url\");\n\t\t\tbreak;\n\t\tcase \"followButton\":\n\t\t\tmethod = \"createFollowButton\";\n\t\t\targ = this.getAttribute(\"screenName\");\n\t\t\tbreak;\n\t\tcase \"hashtagButton\":\n\t\t\tmethod = \"createHashtagButton\";\n\t\t\targ = this.getAttribute(\"hashtag\");\n\t\t\tbreak;\n\t\tcase \"mentionButton\":\n\t\t\tmethod = \"createMentionButton\";\n\t\t\targ = this.getAttribute(\"screenName\");\n\t\t\tbreak;\n\t\tcase \"tweet\":\n\t\t\tmethod = \"createTweet\";\n\t\t\targ = this.getAttribute(\"tweetID\");\n\t\t\tbreak;\n\t\tcase \"timelineProfile\":\n\t\t\tmethod = \"createTimeline\";\n\t\t\targ = {\n\t\t\t\tsourceType: \"profile\",\n\t\t\t\tscreenName: this.getAttribute(\"screenName\"),\n\t\t\t\tuserId: this.getAttribute(\"userId\")\n\t\t\t};\n\t\t\tbreak;\n\t\tcase \"timelineLikes\":\n\t\t\tmethod = \"createTimeline\";\n\t\t\targ = {\n\t\t\t\tsourceType: \"likes\",\n\t\t\t\tscreenName: this.getAttribute(\"screenName\"),\n\t\t\t\tuserId: this.getAttribute(\"userId\")\n\t\t\t};\n\t\t\tbreak;\n\t\tcase \"timelineList\":\n\t\t\tmethod = \"createTimeline\";\n\t\t\targ = {\n\t\t\t\tsourceType: \"list\",\n\t\t\t\townerScreenName: this.getAttribute(\"ownerScreenName\"),\n\t\t\t\tslug: this.getAttribute(\"slug\"),\n\t\t\t\tid: this.getAttribute(\"id\")\n\t\t\t};\n\t\t\tbreak;\n\t\tcase \"timelineCollection\":\n\t\t\tmethod = \"createTimeline\";\n\t\t\targ = {\n\t\t\t\tsourceType: \"collection\",\n\t\t\t\tid: this.getAttribute(\"id\")\n\t\t\t};\n\t\t\tbreak;\n\t\tcase \"timelineUrl\":\n\t\t\tmethod = \"createTimeline\";\n\t\t\targ = {\n\t\t\t\tsourceType: \"url\",\n\t\t\t\turl: this.getAttribute(\"url\")\n\t\t\t};\n\t\t\tbreak;\n\t\tcase \"timelineWidget\":\n\t\t\tmethod = \"createTimeline\";\n\t\t\targ = {\n\t\t\t\tsourceType: \"widget\",\n\t\t\t\twidgetId: this.getAttribute(\"widgetId\")\n\t\t\t};\n\t\t\tbreak;\n\t}\n\t// Render the tweet into a div\n\tvar div = this.document.createElement(\"div\");\n\tif(!this.document.isTiddlyWikiFakeDom && window.twttr && method) {\n\t\ttwttr.ready(function(twttr) {\n\t\t\twindow.twttr.widgets[method](arg,div,options);\n\t\t});\n\t} else {\n\t\tdiv.appendChild(this.document.createTextNode(\"Can't render tweet\"));\n\t}\n\t// Insert it into the DOM\n\tparent.insertBefore(div,nextSibling);\n\tthis.domNodes.push(div);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTwitterWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(allAttributes.find(function(attr) {\n\t\treturn $tw.utils.hop(changedAttributes,attr);\n\t})) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.twitter = TwitterWidget;\n"
  },
  {
    "path": "plugins/tiddlywiki/twitter/usage/collectiontimeline.tid",
    "content": "title: $:/plugins/tiddlywiki/twitter/usage/collectiontimeline\ntags: $:/tags/TwitterUsage\ncaption: Collection Timeline\n\n!! Embedding Collection Timelines\n\n|!Attribute |!Values |!Default |!Notes |\n|''type'' |\"timelineCollection\" |none |\"timelineCollection\" |\n|''id'' |ID of the collection |none | |\n|''chrome'' |\"noheader\", \"nofooter\", \"noborders\", \"transparent\", \"noscrollbar\" |none |Toggle the display of design elements in the widget. This parameter is a space-separated list of values |\n|''height'' |Positive integer |600 |Set a fixed height of the embedded widget |\n|''tweetLimit'' |Range: 1-20 |none |Render a timeline statically, displaying only n number of Tweets |\n|''borderColor'' |Hexadecimal color |Varies by theme |Adjust the color of borders inside the widget |\n|''ariaPolite'' |\"polite\", \"assertive\", \"rude\" |\"polite\" |Apply the specified aria-polite behavior to the rendered timeline. New Tweets may be added to the top of a timeline, affecting screen readers |\n|''conversation'' |\"none\", \"all\" |\"all\" |Tweets in response to another Tweet will display a compact version of the previous Tweet by default. Use \"none\" to hide the parent Tweet in the conversation |\n|''cards'' |\"hidden\", \"visible\"|visible |Hide photos, videos, and link previews powered by Twitter Cards |\n|''width'' |Positive integer |\"auto\", derived from container size |Set the maximum width of the embedded Tweet |\n|''align''\t|\"left\", \"right\", \"center\"\t|none |Float the embedded Tweet to the left or right so that text wraps around it, or align center so it floats in the middle of a paragraph |\n|''theme'' |\"dark\", \"light\" |\"light\"\t|Toggle the default color scheme of the embedded Tweet |\n|''linkColor'' |Hexadecimal color |\"#2b7bb9\" |Adjust the color of links, including hashtags and @mentions, inside the widget |\n|''lang'' |An ISO 639-1 language code |en |The language in which to render a widget, if supported |\n|''dnt'' |\"true\", \"false\" |false |Enable Do Not Track for this widget |\n|''related'' |Any comma-separated list of valid Twitter screen names |none |A list of Twitter screen names to be suggested for following after a Tweet or Tweet action is posted |\n|''via'' |Any valid Twitter screen name |none |A Twitter user mentioned in the default Tweet text as via @user where appropriate |\n\n<<twitter-usage \"\"\"<$twitter type=\"timelineCollection\" id=\"393773266801659904\"/>\n\"\"\">>\n"
  },
  {
    "path": "plugins/tiddlywiki/twitter/usage/followbutton.tid",
    "content": "title: $:/plugins/tiddlywiki/twitter/usage/followbutton\ntags: $:/tags/TwitterUsage\ncaption: Follow Button\n\n!! Embedding Follow Buttons\n\n|!Attribute |!Values |!Default |!Notes |\n|''type'' |\"followButton\" |none |\"followButton\" |\n|''screenName'' |Screen name of the account to be followed |none | |\n|''count'' |\"none\", \"horizontal\" |\"horizontal\" | |\n|''text'' |Any string |none |The default, highlighted text a user sees in the Tweet web intent |\n|''hashtags'' |A comma-separated list of hashtags |none |A list of hashtags to be appended to default Tweet text where appropriate |\n|''align'' |\"left\", \"right\" |locale dependent (left or right, depending on the text direction of the language) |The alignment of the button within an iframe; use this to ensure flush layout when aligning buttons |\n|''size'' |\"medium\", \"large\" |medium |Size of button |\n|''lang'' |An ISO 639-1 language code |en |The language in which to render a widget, if supported |\n|''dnt'' |\"true\", \"false\" |false |Enable Do Not Track for this widget |\n|''related'' |Any comma-separated list of valid Twitter screen names |none |A list of Twitter screen names to be suggested for following after a Tweet or Tweet action is posted |\n|''via'' |Any valid Twitter screen name |none |A Twitter user mentioned in the default Tweet text as via @user where appropriate |\n\n<<twitter-usage \"\"\"<$twitter type=\"followButton\" screenName=\"TiddlyWiki\"/>\n\"\"\">>\n"
  },
  {
    "path": "plugins/tiddlywiki/twitter/usage/hashtagbutton.tid",
    "content": "title: $:/plugins/tiddlywiki/twitter/usage/hashtagbutton\ntags: $:/tags/TwitterUsage\ncaption: Hashtag Button\n\n!! Embedding Hashtag Buttons\n\n|!Attribute |!Values |!Default |!Notes |\n|''type'' |\"hashtagButton\" |none |\"hashtagButton\" |\n|''hashtag'' |Hashtag to be tweeted and displayed on the button |none | |\n|''text'' |Any string |none |The default, highlighted text a user sees in the Tweet web intent |\n|''align'' |\"left\", \"right\" |locale dependent (left or right, depending on the text direction of the language) |The alignment of the button within an iframe; use this to ensure flush layout when aligning buttons |\n|''size'' |\"medium\", \"large\" |medium |Size of button |\n|''lang'' |An ISO 639-1 language code |en |The language in which to render a widget, if supported |\n|''dnt'' |\"true\", \"false\" |false |Enable Do Not Track for this widget |\n|''related'' |Any comma-separated list of valid Twitter screen names |none |A list of Twitter screen names to be suggested for following after a Tweet or Tweet action is posted |\n|''via'' |Any valid Twitter screen name |none |A Twitter user mentioned in the default Tweet text as via @user where appropriate |\n\n<<twitter-usage \"\"\"<$twitter type=\"hashtagButton\" hashtag=\"TiddlyWiki\"/>\n\"\"\">>\n"
  },
  {
    "path": "plugins/tiddlywiki/twitter/usage/likestimeline.tid",
    "content": "title: $:/plugins/tiddlywiki/twitter/usage/likestimeline\ntags: $:/tags/TwitterUsage\ncaption: Likes Timeline\n\n!! Embedding Likes Timelines\n\n|!Attribute |!Values |!Default |!Notes |\n|''type'' |\"timelineLikes\" |none |\"timelineLikes\" |\n|''screenName'' |Screen name of the account |none |Either ''screenName'' or ''userId'' must be provided |\n|''userId'' |User ID of the account |none |~|\n|''chrome'' |\"noheader\", \"nofooter\", \"noborders\", \"transparent\", \"noscrollbar\" |none |Toggle the display of design elements in the widget. This parameter is a space-separated list of values |\n|''height'' |Positive integer |600 |Set a fixed height of the embedded widget |\n|''tweetLimit'' |Range: 1-20 |none |Render a timeline statically, displaying only n number of Tweets |\n|''borderColor'' |Hexadecimal color |Varies by theme |Adjust the color of borders inside the widget |\n|''ariaPolite'' |\"polite\", \"assertive\", \"rude\" |\"polite\" |Apply the specified aria-polite behavior to the rendered timeline. New Tweets may be added to the top of a timeline, affecting screen readers |\n|''conversation'' |\"none\", \"all\" |\"all\" |Tweets in response to another Tweet will display a compact version of the previous Tweet by default. Use \"none\" to hide the parent Tweet in the conversation |\n|''cards'' |\"hidden\", \"visible\"|visible |Hide photos, videos, and link previews powered by Twitter Cards |\n|''width'' |Positive integer |\"auto\", derived from container size |Set the maximum width of the embedded Tweet |\n|''align''\t|\"left\", \"right\", \"center\"\t|none |Float the embedded Tweet to the left or right so that text wraps around it, or align center so it floats in the middle of a paragraph |\n|''theme'' |\"dark\", \"light\" |\"light\"\t|Toggle the default color scheme of the embedded Tweet |\n|''linkColor'' |Hexadecimal color |\"#2b7bb9\" |Adjust the color of links, including hashtags and @mentions, inside the widget |\n|''lang'' |An ISO 639-1 language code |en |The language in which to render a widget, if supported |\n|''dnt'' |\"true\", \"false\" |false |Enable Do Not Track for this widget |\n|''related'' |Any comma-separated list of valid Twitter screen names |none |A list of Twitter screen names to be suggested for following after a Tweet or Tweet action is posted |\n|''via'' |Any valid Twitter screen name |none |A Twitter user mentioned in the default Tweet text as via @user where appropriate |\n\n<<twitter-usage \"\"\"<$twitter type=\"timelineLikes\" screenName=\"tiddlywiki\"/>\n\"\"\">>\n"
  },
  {
    "path": "plugins/tiddlywiki/twitter/usage/listtimeline.tid",
    "content": "title: $:/plugins/tiddlywiki/twitter/usage/listtimeline\ntags: $:/tags/TwitterUsage\ncaption: List Timeline\n\n!! Embedding List Timelines\n\n|!Attribute |!Values |!Default |!Notes |\n|''type'' |\"timelineList\" |none |\"timelineList\" |\n|''ownerScreenName'' |Screen name of the account |none |Either both ''ownerScreenName'' and ''slug'' must be provided, or just ''id'' |\n|''slug'' |The string identifier for a list |none |~|\n|''id'' |ID of the list |none |~|\n|''chrome'' |\"noheader\", \"nofooter\", \"noborders\", \"transparent\", \"noscrollbar\" |none |Toggle the display of design elements in the widget. This parameter is a space-separated list of values |\n|''height'' |Positive integer |600 |Set a fixed height of the embedded widget |\n|''tweetLimit'' |Range: 1-20 |none |Render a timeline statically, displaying only n number of Tweets |\n|''borderColor'' |Hexadecimal color |Varies by theme |Adjust the color of borders inside the widget |\n|''ariaPolite'' |\"polite\", \"assertive\", \"rude\" |\"polite\" |Apply the specified aria-polite behavior to the rendered timeline. New Tweets may be added to the top of a timeline, affecting screen readers |\n|''conversation'' |\"none\", \"all\" |\"all\" |Tweets in response to another Tweet will display a compact version of the previous Tweet by default. Use \"none\" to hide the parent Tweet in the conversation |\n|''cards'' |\"hidden\", \"visible\"|visible |Hide photos, videos, and link previews powered by Twitter Cards |\n|''width'' |Positive integer |\"auto\", derived from container size |Set the maximum width of the embedded Tweet |\n|''align''\t|\"left\", \"right\", \"center\"\t|none |Float the embedded Tweet to the left or right so that text wraps around it, or align center so it floats in the middle of a paragraph |\n|''theme'' |\"dark\", \"light\" |\"light\"\t|Toggle the default color scheme of the embedded Tweet |\n|''linkColor'' |Hexadecimal color |\"#2b7bb9\" |Adjust the color of links, including hashtags and @mentions, inside the widget |\n|''lang'' |An ISO 639-1 language code |en |The language in which to render a widget, if supported |\n|''dnt'' |\"true\", \"false\" |false |Enable Do Not Track for this widget |\n|''related'' |Any comma-separated list of valid Twitter screen names |none |A list of Twitter screen names to be suggested for following after a Tweet or Tweet action is posted |\n|''via'' |Any valid Twitter screen name |none |A Twitter user mentioned in the default Tweet text as via @user where appropriate |\n\n<<twitter-usage \"\"\"<$twitter type=\"timelineList\" ownerScreenName=\"isaach\" slug=\"home-timeline\"/>\n\"\"\">>\n"
  },
  {
    "path": "plugins/tiddlywiki/twitter/usage/mentionbutton.tid",
    "content": "title: $:/plugins/tiddlywiki/twitter/usage/mentionbutton\ntags: $:/tags/TwitterUsage\ncaption: Mention Button\n\n!! Embedding Mention Buttons\n\n|!Attribute |!Values |!Default |!Notes |\n|''type'' |\"mentionButton\" |none |\"mentionButton\" |\n|''screenName'' |Screen name of the account to be mentioned |none | |\n|''text'' |Any string |none |The default, highlighted text a user sees in the Tweet web intent |\n|''hashtags'' |A comma-separated list of hashtags |none |A list of hashtags to be appended to default Tweet text where appropriate |\n|''align'' |\"left\", \"right\" |locale dependent (left or right, depending on the text direction of the language) |The alignment of the button within an iframe; use this to ensure flush layout when aligning buttons |\n|''size'' |\"medium\", \"large\" |medium |Size of button |\n|''lang'' |An ISO 639-1 language code |en |The language in which to render a widget, if supported |\n|''dnt'' |\"true\", \"false\" |false |Enable Do Not Track for this widget |\n|''related'' |Any comma-separated list of valid Twitter screen names |none |A list of Twitter screen names to be suggested for following after a Tweet or Tweet action is posted |\n|''via'' |Any valid Twitter screen name |none |A Twitter user mentioned in the default Tweet text as via @user where appropriate |\n\n<<twitter-usage \"\"\"<$twitter type=\"mentionButton\" screenName=\"TiddlyWiki\"/>\n\"\"\">>"
  },
  {
    "path": "plugins/tiddlywiki/twitter/usage/profiletimeline.tid",
    "content": "title: $:/plugins/tiddlywiki/twitter/usage/profiletimeline\ntags: $:/tags/TwitterUsage\ncaption: Profile Timeline\n\n!! Embedding Profile Timelines\n\n|!Attribute |!Values |!Default |!Notes |\n|''type'' |\"timelineProfile\" |none |\"timelineProfile\" |\n|''screenName'' |Screen name of the account |none |Either ''screenName'' or ''userId'' must be provided |\n|''userId'' |User ID of the account |none |~|\n|''chrome'' |\"noheader\", \"nofooter\", \"noborders\", \"transparent\", \"noscrollbar\" |none |Toggle the display of design elements in the widget. This parameter is a space-separated list of values |\n|''height'' |Positive integer |600 |Set a fixed height of the embedded widget |\n|''tweetLimit'' |Range: 1-20 |none |Render a timeline statically, displaying only n number of Tweets |\n|''borderColor'' |Hexadecimal color |Varies by theme |Adjust the color of borders inside the widget |\n|''ariaPolite'' |\"polite\", \"assertive\", \"rude\" |\"polite\" |Apply the specified aria-polite behavior to the rendered timeline. New Tweets may be added to the top of a timeline, affecting screen readers |\n|''conversation'' |\"none\", \"all\" |\"all\" |Tweets in response to another Tweet will display a compact version of the previous Tweet by default. Use \"none\" to hide the parent Tweet in the conversation |\n|''cards'' |\"hidden\", \"visible\"|visible |Hide photos, videos, and link previews powered by Twitter Cards |\n|''width'' |Positive integer |\"auto\", derived from container size |Set the maximum width of the embedded Tweet |\n|''align''\t|\"left\", \"right\", \"center\"\t|none |Float the embedded Tweet to the left or right so that text wraps around it, or align center so it floats in the middle of a paragraph |\n|''theme'' |\"dark\", \"light\" |\"light\"\t|Toggle the default color scheme of the embedded Tweet |\n|''linkColor'' |Hexadecimal color |\"#2b7bb9\" |Adjust the color of links, including hashtags and @mentions, inside the widget |\n|''lang'' |An ISO 639-1 language code |en |The language in which to render a widget, if supported |\n|''dnt'' |\"true\", \"false\" |false |Enable Do Not Track for this widget |\n|''related'' |Any comma-separated list of valid Twitter screen names |none |A list of Twitter screen names to be suggested for following after a Tweet or Tweet action is posted |\n|''via'' |Any valid Twitter screen name |none |A Twitter user mentioned in the default Tweet text as via @user where appropriate |\n\n<<twitter-usage \"\"\"<$twitter type=\"timelineProfile\" screenName=\"tiddlywiki\"/>\n\"\"\">>\n\n"
  },
  {
    "path": "plugins/tiddlywiki/twitter/usage/sharebutton.tid",
    "content": "title: $:/plugins/tiddlywiki/twitter/usage/sharebutton\ntags: $:/tags/TwitterUsage\ncaption: Share Button\n\n!! Embedding Share Buttons\n\n|!Attribute |!Values |!Default |!Notes |\n|''type'' |\"shareButton\" |none |\"shareButton\" |\n|''url'' |The URL to be shared |none | |\n|''text'' |Any string |none |The default, highlighted text a user sees in the Tweet web intent |\n|''hashtags'' |A comma-separated list of hashtags |none |A list of hashtags to be appended to default Tweet text where appropriate |\n|''align'' |\"left\", \"right\" |locale dependent (left or right, depending on the text direction of the language) |The alignment of the button within an iframe; use this to ensure flush layout when aligning buttons |\n|''size'' |\"medium\", \"large\" |medium |Size of button |\n|''lang'' |An ISO 639-1 language code |en |The language in which to render a widget, if supported |\n|''dnt'' |\"true\", \"false\" |false |Enable Do Not Track for this widget |\n|''related'' |Any comma-separated list of valid Twitter screen names |none |A list of Twitter screen names to be suggested for following after a Tweet or Tweet action is posted |\n|''via'' |Any valid Twitter screen name |none |A Twitter user mentioned in the default Tweet text as via @user where appropriate |\n\n<<twitter-usage \"\"\"<$twitter type=\"shareButton\" url=\"https://tiddlywiki.com/\" text=\"Mind blown!\"/>\n\"\"\">>\n"
  },
  {
    "path": "plugins/tiddlywiki/twitter/usage/tweet.tid",
    "content": "title: $:/plugins/tiddlywiki/twitter/usage/tweet\ntags: $:/tags/TwitterUsage\ncaption: Tweet\n\n!! Embedding Tweets\n\n|!Attribute |!Values |!Default |!Notes |\n|''type'' |\"tweet\" |none |\"tweet\" |\n|''tweetID'' |ID of the tweet to render |none | |\n|''conversation'' |\"none\", \"all\" |\"all\" |Tweets in response to another Tweet will display a compact version of the previous Tweet by default. Use \"none\" to hide the parent Tweet in the conversation |\n|''cards'' |\"hidden\", \"visible\"|visible |Hide photos, videos, and link previews powered by Twitter Cards |\n|''width'' |Positive integer |\"auto\", derived from container size |Set the maximum width of the embedded Tweet |\n|''align''\t|\"left\", \"right\", \"center\"\t|none |Float the embedded Tweet to the left or right so that text wraps around it, or align center so it floats in the middle of a paragraph |\n|''theme'' |\"dark\", \"light\" |\"light\"\t|Toggle the default color scheme of the embedded Tweet |\n|''linkColor'' |Hexadecimal color |\"#2b7bb9\" |Adjust the color of links, including hashtags and @mentions, inside the widget |\n|''lang'' |An ISO 639-1 language code |en |The language in which to render a widget, if supported |\n|''dnt'' |true, false |false |Enable Do Not Track for this widget |\n|''related'' |Any comma-separated list of valid Twitter screen names |none |A list of Twitter screen names to be suggested for following after a Tweet or Tweet action is posted |\n|''via'' |Any valid Twitter screen name |none |A Twitter user mentioned in the default Tweet text as via @user where appropriate |\n\n<<twitter-usage \"\"\"<$twitter type=\"tweet\" tweetID=\"750677030589587456\"/>\n\"\"\">>\n"
  },
  {
    "path": "plugins/tiddlywiki/twitter/usage/urltimeline.tid",
    "content": "title: $:/plugins/tiddlywiki/twitter/usage/urltimeline\ntags: $:/tags/TwitterUsage\ncaption: Url Timeline\n\n!! Embedding Profile Timelines\n\n|!Attribute |!Values |!Default |!Notes |\n|''type'' |\"timelineUrl\" |none |\"timelineUrl\" |\n|''url'' |Absolute URL of a Twitter profile, likes, list, or collection |none | |\n|''chrome'' |\"noheader\", \"nofooter\", \"noborders\", \"transparent\", \"noscrollbar\" |none |Toggle the display of design elements in the widget. This parameter is a space-separated list of values |\n|''height'' |Positive integer |600 |Set a fixed height of the embedded widget |\n|''tweetLimit'' |Range: 1-20 |none |Render a timeline statically, displaying only n number of Tweets |\n|''borderColor'' |Hexadecimal color |Varies by theme |Adjust the color of borders inside the widget |\n|''ariaPolite'' |\"polite\", \"assertive\", \"rude\" |\"polite\" |Apply the specified aria-polite behavior to the rendered timeline. New Tweets may be added to the top of a timeline, affecting screen readers |\n|''conversation'' |\"none\", \"all\" |\"all\" |Tweets in response to another Tweet will display a compact version of the previous Tweet by default. Use \"none\" to hide the parent Tweet in the conversation |\n|''cards'' |\"hidden\", \"visible\"|visible |Hide photos, videos, and link previews powered by Twitter Cards |\n|''width'' |Positive integer |\"auto\", derived from container size |Set the maximum width of the embedded Tweet |\n|''align''\t|\"left\", \"right\", \"center\"\t|none |Float the embedded Tweet to the left or right so that text wraps around it, or align center so it floats in the middle of a paragraph |\n|''theme'' |\"dark\", \"light\" |\"light\"\t|Toggle the default color scheme of the embedded Tweet |\n|''linkColor'' |Hexadecimal color |\"#2b7bb9\" |Adjust the color of links, including hashtags and @mentions, inside the widget |\n|''lang'' |An ISO 639-1 language code |en |The language in which to render a widget, if supported |\n|''dnt'' |\"true\", \"false\" |false |Enable Do Not Track for this widget |\n|''related'' |Any comma-separated list of valid Twitter screen names |none |A list of Twitter screen names to be suggested for following after a Tweet or Tweet action is posted |\n|''via'' |Any valid Twitter screen name |none |A Twitter user mentioned in the default Tweet text as via @user where appropriate |\n\n<<twitter-usage \"\"\"<$twitter type=\"timelineUrl\" url=\"https://twitter.com/TiddlyWiki\"/>\n\"\"\">>\n"
  },
  {
    "path": "plugins/tiddlywiki/twitter/usage/widgettimeline.tid",
    "content": "title: $:/plugins/tiddlywiki/twitter/usage/widgettimeline\ntags: $:/tags/TwitterUsage\ncaption: Widget Timeline\n\n!! Embedding Widget Timelines\n\nTo power an embedded timeline with a widget configuration generated at https://twitter.com/settings/widgets.\n\n|!Attribute |!Values |!Default |!Notes |\n|''type'' |\"timelineWidget\" |none |\"timelineWidget\" |\n|''widgetId'' |ID of the widget |none |~|\n|''chrome'' |\"noheader\", \"nofooter\", \"noborders\", \"transparent\", \"noscrollbar\" |none |Toggle the display of design elements in the widget. This parameter is a space-separated list of values |\n|''height'' |Positive integer |600 |Set a fixed height of the embedded widget |\n|''tweetLimit'' |Range: 1-20 |none |Render a timeline statically, displaying only n number of Tweets |\n|''borderColor'' |Hexadecimal color |Varies by theme |Adjust the color of borders inside the widget |\n|''ariaPolite'' |\"polite\", \"assertive\", \"rude\" |\"polite\" |Apply the specified aria-polite behavior to the rendered timeline. New Tweets may be added to the top of a timeline, affecting screen readers |\n|''conversation'' |\"none\", \"all\" |\"all\" |Tweets in response to another Tweet will display a compact version of the previous Tweet by default. Use \"none\" to hide the parent Tweet in the conversation |\n|''cards'' |\"hidden\", \"visible\"|visible |Hide photos, videos, and link previews powered by Twitter Cards |\n|''width'' |Positive integer |\"auto\", derived from container size |Set the maximum width of the embedded Tweet |\n|''align''\t|\"left\", \"right\", \"center\"\t|none |Float the embedded Tweet to the left or right so that text wraps around it, or align center so it floats in the middle of a paragraph |\n|''theme'' |\"dark\", \"light\" |\"light\"\t|Toggle the default color scheme of the embedded Tweet |\n|''linkColor'' |Hexadecimal color |\"#2b7bb9\" |Adjust the color of links, including hashtags and @mentions, inside the widget |\n|''lang'' |An ISO 639-1 language code |en |The language in which to render a widget, if supported |\n|''dnt'' |\"true\", \"false\" |false |Enable Do Not Track for this widget |\n|''related'' |Any comma-separated list of valid Twitter screen names |none |A list of Twitter screen names to be suggested for following after a Tweet or Tweet action is posted |\n|''via'' |Any valid Twitter screen name |none |A Twitter user mentioned in the default Tweet text as via @user where appropriate |\n\n<<twitter-usage \"\"\"<$twitter type=\"timelineWidget\" widgetId=\"570670821065379840\"/>\n\"\"\">>\n"
  },
  {
    "path": "plugins/tiddlywiki/twitter/usage.tid",
    "content": "title: $:/plugins/tiddlywiki/twitter/usage\n\nThe `<$twitter>` widget can be used to embed several different entities:\n\n<$macrocall $name=\"tabs\" state=<<qualify \"$:/state/twitter/usage\">> tabsList=\"[all[tiddlers+shadows]tag[$:/tags/TwitterUsage]]\" default=\"$:/plugins/tiddlywiki/twitter/usage/tweet\" class=\"tc-vertical\"/>\n"
  },
  {
    "path": "plugins/tiddlywiki/twitter-archivist/Twitter Archives.tid",
    "content": "title: Twitter Archives\ncolor: #1D9CF0\nicon: $:/core/images/twitter\n\n<<list-archives>>\n"
  },
  {
    "path": "plugins/tiddlywiki/twitter-archivist/archivist.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/twitter-archivist/archivist.js\ntype: application/javascript\nmodule-type: utils\n\nUtility class for manipulating Twitter archives\n\n\\*/\n\n/* eslint-disable no-await-in-loop */\n/* eslint-disable require-await */\n\"use strict\";\n\nfunction TwitterArchivist(options) {\n\toptions = options || {};\n\tthis.source = options.source;\n}\n\nTwitterArchivist.prototype.loadArchive = async function(options) {\n\toptions = options || {};\n\tconst wiki = options.wiki;\n\tawait this.source.init();\n\t// Process the manifest and profile\n\tconst manifestData = await this.loadTwitterJsData(\"data/manifest.js\",\"window.__THAR_CONFIG = \",\"\"),\n\t\tprofileData = await this.loadTwitterJsData(\"data/profile.js\",\"window.YTD.profile.part0 = \",\"\"),\n\t\taccountData = await this.loadTwitterJsData(\"data/account.js\",\"window.YTD.account.part0 = \",\"\"),\n\t\tusername = manifestData.userInfo.userName,\n\t\tuser_id = manifestData.userInfo.accountId;\n\twiki.addTiddler({\n\t\ttitle: \"Twitter Archive for @\" + username,\n\t\ticon: \"$:/core/images/twitter\",\n\t\tcolor: \"#1D9CF0\",\n\t\ttags: \"$:/tags/TwitterArchive\",\n\t\tuser_id: user_id,\n\t\tusername: username,\n\t\tdisplayname: manifestData.userInfo.displayName,\n\t\tgeneration_date: $tw.utils.stringifyDate(new Date(manifestData.archiveInfo.generationDate)),\n\t\taccount_created_date: $tw.utils.stringifyDate(new Date(accountData[0].account.createdAt)),\n\t\tbio: profileData[0].profile.description.bio,\n\t\twebsite: profileData[0].profile.description.website,\n\t\tlocation: profileData[0].profile.description.location\n\t});\n\t// Process the media\n\tawait this.source.processFiles(\"data/tweets_media\",\"base64\",function(mediaItem) {\n\t\tvar ext = mediaItem.filename.split(\".\").slice(-1)[0];\n\t\tif(\"jpg png\".split(\" \").indexOf(ext) !== -1) {\n\t\t\tvar extensionInfo = $tw.utils.getFileExtensionInfo(\".\" + ext),\n\t\t\t\ttype = extensionInfo ? extensionInfo.type : null;\n\t\t\twiki.addTiddler({\n\t\t\t\ttitle: \"Tweet Media - \" + mediaItem.filename,\n\t\t\t\ttags: \"$:/tags/TweetMedia\",\n\t\t\t\tstatus_id: mediaItem.filename.split(\"-\")[0],\n\t\t\t\ttext: mediaItem.contents,\n\t\t\t\ttype: type\n\t\t\t});\n\t\t}\n\t});\n\t// Process the favourites\n\tconst likeData = await this.loadTwitterJsData(\"data/like.js\",\"window.YTD.like.part0 = \",\"\");\n\t$tw.utils.each(likeData,function(like) {\n\t\t// Create the tweet tiddler\n\t\tvar tiddler = {\n\t\t\ttitle: \"Tweet - \" + like.like.tweetId,\n\t\t\ttext: \"\\\\rules only html entity extlink\\n\" + (like.like.fullText || \"\").replace(\"\\n\",\"<br>\"),\n\t\t\tstatus_id: like.like.tweetId,\n\t\t\tliked_by: user_id,\n\t\t\ttags: \"$:/tags/Tweet\"\n\t\t};\n\t\twiki.addTiddler(tiddler);\n\t});\n\t// Process the tweets\n\tconst tweetData = await this.loadTwitterJsData(\"data/tweets.js\",\"window.YTD.tweets.part0 = \",\"\");\n\t$tw.utils.each(tweetData,function(tweet) {\n\t\t// Compile the tags for the tweet\n\t\tvar tags = [\"$:/tags/Tweet\"];\n\t\t// Accumulate the replacements/insertions to the text as an array of {startPos:,endPos:,fnTransform:}\n\t\tvar modifications = [];\n\t\t// Modifications for mentions\n\t\tvar mentions = [];\n\t\t$tw.utils.each(tweet.tweet.entities.user_mentions,function(mention) {\n\t\t\tvar title = \"Tweeter - \" + mention.id_str;\n\t\t\ttags.push(title);\n\t\t\tmentions.push(mention.id_str);\n\t\t\twiki.addTiddler({\n\t\t\t\ttitle: title,\n\t\t\t\tscreenname: \"@\" + mention.screen_name,\n\t\t\t\ttags: \"$:/tags/Tweeter\",\n\t\t\t\tuser_id: mention.id_str,\n\t\t\t\tname: mention.name\n\t\t\t});\n\t\t\tmodifications.push({\n\t\t\t\tstartPos: parseInt(mention.indices[0],10),\n\t\t\t\tendPos: parseInt(mention.indices[1],10),\n\t\t\t\tfnTransform: function(text) {\n\t\t\t\t\treturn \"<$link to=\\\"\" + title + \"\\\">\" +\n\t\t\t\t\t\t$tw.utils.htmlEncode(text.substring(mention.indices[0],mention.indices[1])) +\n\t\t\t\t\t\t\"</$link>\";\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\t// Modifications for URLs\n\t\t$tw.utils.each(tweet.tweet.entities.urls,function(urlInfo) {\n\t\t\tmodifications.push({\n\t\t\t\tstartPos: parseInt(urlInfo.indices[0],10),\n\t\t\t\tendPos: parseInt(urlInfo.indices[1],10),\n\t\t\t\tfnTransform: function(text) {\n\t\t\t\t\treturn \"<a href=\\\"\" + urlInfo.expanded_url + \"\\\" rel=\\\"noopener noreferrer\\\" target=\\\"_blank\\\">\" +\n\t\t\t\t\t\t$tw.utils.htmlEncode(urlInfo.display_url) +\n\t\t\t\t\t\t\"</a>\";\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\t// Modifications for hashtags\n\t\t$tw.utils.each(tweet.tweet.entities.hashtags,function(hashtag) {\n\t\t\tvar title = \"#\" + hashtag.text;\n\t\t\ttags.push(title);\n\t\t\twiki.addTiddler({\n\t\t\t\ttitle: title,\n\t\t\t\thashtag: hashtag.text,\n\t\t\t\ttags: \"$:/tags/Hashtag\"\n\t\t\t});\n\t\t\tmodifications.push({\n\t\t\t\tstartPos: parseInt(hashtag.indices[0],10),\n\t\t\t\tendPos: parseInt(hashtag.indices[1],10),\n\t\t\t\tfnTransform: function(text) {\n\t\t\t\t\treturn \"<$link to=\\\"\" + title + \"\\\">\" +\n\t\t\t\t\t\t\"#\" + $tw.utils.htmlEncode(hashtag.text) +\n\t\t\t\t\t\t\"</$link>\";\t\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\t// Sort the modifications by start position\n\t\tmodifications.sort(function(a,b) {\n\t\t\treturn a.startPos - b.startPos;\n\t\t});\n\t\t// Apply the modifications in reverse order\n\t\tvar rawText = tweet.tweet.full_text,\n\t\t\tposText = 0,\n\t\t\tchunks = [];\n\t\t$tw.utils.each(modifications,function(modification) {\n\t\t\t// Process any text before the modification\n\t\t\tif(modification.startPos > posText) {\n\t\t\t\tchunks.push($tw.utils.htmlEncode(rawText.substring(posText,modification.startPos)));\n\t\t\t}\n\t\t\t// Process the modification\n\t\t\tchunks.push(modification.fnTransform(rawText));\n\t\t\t// Adjust the position\n\t\t\tposText = modification.endPos;\n\t\t});\n\t\t// Process any remaining text\n\t\tif(posText < rawText.length) {\n\t\t\tchunks.push($tw.utils.htmlEncode(rawText.substring(posText)));\n\t\t}\n\t\t// Concatenate the chunks and replace newlines with <br>\n\t\tvar text = chunks.join(\"\").replace(\"\\n\",\"<br>\");\n\t\t// Create the tweet tiddler\n\t\tvar tiddler = {\n\t\t\ttitle: \"Tweet - \" + tweet.tweet.id_str,\n\t\t\ttext: \"\\\\rules only html entity extlink\\n\" + text,\n\t\t\tstatus_id: tweet.tweet.id_str,\n\t\t\tuser_id: user_id,\n\t\t\tfavorite_count: tweet.tweet.favorite_count,\n\t\t\tretweet_count: tweet.tweet.retweet_count,\n\t\t\ttags: tags,\n\t\t\tcreated: $tw.utils.stringifyDate(new Date(tweet.tweet.created_at)),\n\t\t\tmodified: $tw.utils.stringifyDate(new Date(tweet.tweet.created_at))\n\t\t};\n\t\tif(tweet.tweet.in_reply_to_status_id_str) {\n\t\t\ttiddler.in_reply_to_status_id = tweet.tweet.in_reply_to_status_id_str;\n\t\t}\n\t\tif(mentions.length > 0) {\n\t\t\ttiddler.mention_user_ids = $tw.utils.stringifyList(mentions);\n\t\t}\n\t\twiki.addTiddler(tiddler);\n\t});\n};\n\nTwitterArchivist.prototype.loadTwitterJsData = async function(filePath,prefix,suffix) {\n\tvar tweetFileData = await this.source.loadTwitterJsData(filePath);\n\tif(prefix) {\n\t\tif(tweetFileData.slice(0,prefix.length) !== prefix) {\n\t\t\tthrow \"Reading Twitter JS file \" + filePath + \" missing prefix '\" + prefix + \"'\";\n\t\t}\n\t\ttweetFileData = tweetFileData.slice(prefix.length);\n\t}\n\tif(suffix) {\n\t\tif(tweetFileData.slice(-suffix.length) !== suffix) {\n\t\t\tthrow \"Reading Twitter JS file \" + filePath + \" missing suffix '\" + suffix + \"'\";\n\t\t}\n\t\ttweetFileData = tweetFileData.slice(0,tweetFileData.length - suffix.length);\n\t}\n\treturn JSON.parse(tweetFileData);\n};\n\nfunction TwitterArchivistSourceNodeJs(options) {\n\toptions = options || {};\n\tthis.archivePath = options.archivePath;\n}\n\nTwitterArchivistSourceNodeJs.prototype.init = async function() {\n};\n\nTwitterArchivistSourceNodeJs.prototype.processFiles = async function(dirPath,encoding,callback) {\n\tvar fs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\tdirPath = path.resolve(this.archivePath,dirPath),\n\t\tfilenames = fs.readdirSync(dirPath);\n\t$tw.utils.each(filenames,function(filename) {\n\t\tcallback({\n\t\t\tfilename: filename,\n\t\t\tcontents: fs.readFileSync(path.resolve(dirPath,filename),encoding)\n\t\t});\n\t});\n};\n\nTwitterArchivistSourceNodeJs.prototype.loadTwitterJsData = async function(filePath) {\n\tvar fs = require(\"fs\"),\n\t\tpath = require(\"path\");\n\treturn fs.readFileSync(path.resolve(this.archivePath,filePath),\"utf8\");\n};\n\nfunction TwitterArchivistSourceBrowser(options) {\n\toptions = options || {};\n}\n\nTwitterArchivistSourceBrowser.prototype.init = async function() {\n\t// Open directory\n\tthis.rootDirHandle = await window.showDirectoryPicker();\n};\n\nTwitterArchivistSourceBrowser.prototype.processFiles = async function(dirPath,encoding,callback) {\n\tconst dirHandle = await this.walkDirectory(dirPath.split(\"/\"));\n\tconst asyncIterator = dirHandle.entries();\n\tawait AsyncIteratorForEach(asyncIterator, async ([filename, fileHandle]) => {\n\t\tconst contents = await fileHandle.getFile();\n\t\tcallback({\n\t\t\tfilename: filename,\n\t\t\tcontents: encoding === \"base64\" ? arrayBufferToBase64(await contents.arrayBuffer()) : await contents.text()\n\t\t});\n\t});\n\t\n\t// for await (const [filename, fileHandle] of dirHandle.entries()) {\n\t// \tconst contents = await fileHandle.getFile();\n\t// \tcallback({\n\t// \t\tfilename: filename,\n\t// \t\tcontents: arrayBufferToBase64(await contents.arrayBuffer())\n\t// \t});\n\t// }\n};\n\nTwitterArchivistSourceBrowser.prototype.loadTwitterJsData = async function(filePath) {\n\tconst filePathParts = filePath.split(\"/\");\n\tconst dirHandle = await this.walkDirectory(filePathParts.slice(0,-1));\n\tconst fileHandle = await dirHandle.getFileHandle(filePathParts.slice(-1)[0]);\n\tconst contents = await fileHandle.getFile();\n\treturn await contents.text();\n};\n\nTwitterArchivistSourceBrowser.prototype.walkDirectory = async function(arrayDirectoryEntries) {\n\tvar entries = arrayDirectoryEntries.slice(0),\n\t\tdirHandle = this.rootDirHandle;\n\twhile(entries.length > 0) {\n\t\tdirHandle = await dirHandle.getDirectoryHandle(entries[0]);\n\t\tentries.shift();\n\t}\n\treturn dirHandle;\n};\n\n// Thanks to MatheusFelipeMarinho\n// https://github.com/MatheusFelipeMarinho/venom/blob/43ead0bfffa57a536a5cff67dd909e55da9f0915/src/lib/wapi/helper/array-buffer-to-base64.js#L55\nfunction arrayBufferToBase64(arrayBuffer) {\n\tvar base64 = \"\";\n\tvar encodings =\n\t\t\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n\n\tvar bytes = new Uint8Array(arrayBuffer);\n\tvar byteLength = bytes.byteLength;\n\tvar byteRemainder = byteLength % 3;\n\tvar mainLength = byteLength - byteRemainder;\n\n\tvar a, b, c, d;\n\tvar chunk;\n\n\t// Main loop deals with bytes in chunks of 3\n\tfor(var i = 0; i < mainLength; i = i + 3) {\n\t\t// Combine the three bytes into a single integer\n\t\tchunk = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];\n\n\t\t// Use bitmasks to extract 6-bit segments from the triplet\n\t\ta = (chunk & 16515072) >> 18; // 16515072 = (2^6 - 1) << 18\n\t\tb = (chunk & 258048) >> 12; // 258048   = (2^6 - 1) << 12\n\t\tc = (chunk & 4032) >> 6; // 4032     = (2^6 - 1) << 6\n\t\td = chunk & 63; // 63       = 2^6 - 1\n\n\t\t// Convert the raw binary segments to the appropriate ASCII encoding\n\t\tbase64 += encodings[a] + encodings[b] + encodings[c] + encodings[d];\n\t}\n\n\t// Deal with the remaining bytes and padding\n\tif(byteRemainder == 1) {\n\t\tchunk = bytes[mainLength];\n\n\t\ta = (chunk & 252) >> 2; // 252 = (2^6 - 1) << 2\n\n\t\t// Set the 4 least significant bits to zero\n\t\tb = (chunk & 3) << 4; // 3   = 2^2 - 1\n\n\t\tbase64 += encodings[a] + encodings[b] + \"==\";\n\t} else if(byteRemainder == 2) {\n\t\tchunk = (bytes[mainLength] << 8) | bytes[mainLength + 1];\n\n\t\ta = (chunk & 64512) >> 10; // 64512 = (2^6 - 1) << 10\n\t\tb = (chunk & 1008) >> 4; // 1008  = (2^6 - 1) << 4\n\n\t\t// Set the 2 least significant bits to zero\n\t\tc = (chunk & 15) << 2; // 15    = 2^4 - 1\n\n\t\tbase64 += encodings[a] + encodings[b] + encodings[c] + \"=\";\n\t}\n\treturn base64;\n}\n\n\nasync function AsyncIteratorForEach(iter, callback) {\n\n\t// Start the iteration\n\ttry {\n\t\twhile(true) {\n\t\t\t// Await the next result object\n\t\t\tconst { value, done } = await iter.next();\n\t\t\tif(done) break;\n\t\t\tawait callback(value);\n\t\t}\n\t} finally{\n\t\t// If the iterator supports cleanup, call it\n\t\tif(typeof iter.return === \"function\") {\n\t\t\tawait iter.return();\n\t\t}\n\t}\n}\n\n\nexports.TwitterArchivist = TwitterArchivist;\nexports.TwitterArchivistSourceNodeJs = TwitterArchivistSourceNodeJs;\nexports.TwitterArchivistSourceBrowser = TwitterArchivistSourceBrowser;\n"
  },
  {
    "path": "plugins/tiddlywiki/twitter-archivist/configTiddlerInfoMode.tid",
    "content": "title: $:/config/TiddlerInfo/Mode\ntext: sticky\n"
  },
  {
    "path": "plugins/tiddlywiki/twitter-archivist/loadtwitterarchive.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/twitter-archivist/loadtwitterarchive.js\ntype: application/javascript\nmodule-type: command\n\nRead tiddlers from an unzipped Twitter archive\n\n\\*/\n\n\"use strict\";\n\nexports.info = {\n\tname: \"loadtwitterarchive\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar self = this;\n\tif(this.params.length < 1) {\n\t\treturn \"Missing path to Twitter archive\";\n\t}\n\tvar archivePath = this.params[0];\n\t// Load tweets\n\tvar archiveSource = new $tw.utils.TwitterArchivistSourceNodeJs({\n\t\t\tarchivePath: archivePath\n\t\t}),\n\t\tarchivist = new $tw.utils.TwitterArchivist({\n\t\t\tsource: archiveSource\n\t\t});\n\tarchivist.loadArchive({\n\t\twiki: this.commander.wiki\n\t}).then(function() {\n\t\tself.callback(null);\n\t}).catch(function(err) {\n\t\tself.callback(err);\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n"
  },
  {
    "path": "plugins/tiddlywiki/twitter-archivist/macros.tid",
    "content": "title: $:/plugins/tiddlywiki/twitter-archivist/macros\ntags: $:/tags/Macro\n\n\\define skinny-tabs(tabNames,tabCaptions,defaultTab,state)\n<$let\n\tcurrTab={{{ [<__state__>get[text]else<__defaultTab__>] }}}\n>\n\t<div class=\"tc-tab-set\">\n\t\t<div class=\"tc-tab-buttons\">\n\t\t\t<$list filter=\"[enlist<__tabNames__>]\" variable=\"tab\" counter=\"tabCounter\">\n\t\t\t\t<$let\n\t\t\t\t\tcaption={{{ [enlist<__tabCaptions__>nth<tabCounter>] }}}\n\t\t\t\t>\n\t\t\t\t\t<$list filter=\"[<tab>match<currTab>]\" variable=\"ignore\">\n\t\t\t\t\t\t<$button aria-checked=\"true\" class=\"tc-tab-selected\" role=\"switch\">\n\t\t\t\t\t\t\t<$action-setfield $tiddler=<<__state__>> $value=<<tab>>/>\n\t\t\t\t\t\t\t<$text text=<<caption>>/>\n\t\t\t\t\t\t</$button>\n\t\t\t\t\t</$list>\n\t\t\t\t\t<$list filter=\"[<tab>!match<currTab>]\" variable=\"ignore\">\n\t\t\t\t\t\t<$button role=\"switch\">\n\t\t\t\t\t\t\t<$action-setfield $tiddler=<<__state__>> $value=<<tab>>/>\n\t\t\t\t\t\t\t<$text text=<<caption>>/>\n\t\t\t\t\t\t</$button>\n\t\t\t\t\t</$list>\n\t\t\t\t</$let>\n\t\t\t</$list>\n\t\t</div>\n\t\t<div class=\"tc-tab-divider\"></div>\n\t\t<div class=\"tc-tab-content\">\n\t\t\t<$list filter=\"[enlist<__tabNames__>]\" variable=\"tab\" counter=\"tabCounter\">\n\t\t\t\t<$list filter=\"[<tab>match<currTab>]\" variable=\"ignore\">\n\t\t\t\t\t<div class=\"tc-reveal\">\n\t\t\t\t\t\t<$macrocall $name=<<currTab>>/>\n\t\t\t\t\t</div>\n\t\t\t\t</$list>\n\t\t\t\t<$list filter=\"[<tab>!match<currTab>]\" variable=\"ignore\">\n\t\t\t\t\t<div class=\"tc-reveal\" hidden=\"true\"></div>\n\t\t\t\t</$list>\n\t\t\t</$list>\n\t\t</div>\n\t</div>\n</$let>\n\\end\n\n\\define list-archives()\n\\whitespace trim\n<$list filter=\"[tag[$:/tags/TwitterArchive]limit[1]]\" emptyMessage=<<list-archives-empty>> variable=\"ignore\">\n\t<ul>\n\t\t<$list filter=\"[tag[$:/tags/TwitterArchive]sort[displayname]]\">\n\t\t\t<li>\n\t\t\t\t<$link><$text text=<<currentTiddler>>/></$link>\n\t\t\t</li>\n\t\t</$list>\n\t</ul>\n</$list>\n\\end\n\n\\define list-archives-empty()\n<p style=\"background:#ff3;color:#333;padding:8px;font-weight:bold;\">\nNo Twitter Archives are currently loaded\n</p>\n<$transclude tiddler=\"$:/plugins/tiddlywiki/twitter-archivist/usage\" mode=\"block\"/>\n\\end\n\n\\define show-archive()\n<$let\n\tuser_id={{!!user_id}}\n>\n\t<div class=\"tc-twitter-archive\">\n\t\t<table>\n\t\t\t<tbody>\n\t\t\t\t<<show-archive-attribute \"Username\" \"username\" prefix:\"@\">>\n\t\t\t\t<<show-archive-attribute \"Display Name\" \"displayname\">>\n\t\t\t\t<<show-archive-attribute \"Bio\" \"bio\">>\n\t\t\t\t<<show-archive-attribute \"Location\" \"location\">>\n\t\t\t\t<<show-archive-attribute \"Website\" \"website\">>\n\t\t\t\t<<show-archive-calculated-attribute \"Number of Tweets\" \"[tag[$:/tags/Tweet]field:user_id<user_id>count[]]\">>\n\t\t\t\t<<show-archive-calculated-attribute \"Number of Favorites Received\" \"[tag[$:/tags/Tweet]field:user_id<user_id>] :reduce[<currentTiddler>get[favorite_count]else[0]add<accumulator>]\">>\n\t\t\t\t<<show-archive-calculated-attribute \"Number of Retweets Received\" \"[tag[$:/tags/Tweet]field:user_id<user_id>] :reduce[<currentTiddler>get[retweet_count]else[0]add<accumulator>]\">>\n\t\t\t\t<<show-archive-calculated-attribute \"Number of Tweeters Mentioned\" \"[tag[$:/tags/Tweeter]count[]]\">>\n\t\t\t\t<<show-archive-attribute \"User ID\" \"user_id\">>\n\t\t\t\t<<show-archive-attribute \"Account Creation Date\" \"account_created_date\" format:\"date\" template:\"DDth mmm YYYY 0hh:0mm:0ss\">>\n\t\t\t\t<<show-archive-attribute \"Archive Generation Date\" \"generation_date\" format:\"date\" template:\"DDth mmm YYYY 0hh:0mm:0ss\">>\n\t\t\t</tbody>\n\t\t</table>\n\t\t<$macrocall $name=\"skinny-tabs\" tabNames=\"show-archive-tweets show-favorited-tweets\" tabCaptions=\"Tweets Favourites\" defaultTab=\"show-archive-tweets\" state=<<qualify \"$:/state/skinny-tabs/archive\">>/>\n\t</div>\n</$let>\n\\end\n\n\\define show-archive-tweets()\n<$let user_id={{!!user_id}}>\n\t<$list filter=\"[tag[$:/tags/Tweet]field:user_id<user_id>!sort[created]limit[50]]\">\n\t\t<<show-tweet>>\n\t</$list>\n</$let>\n\\end\n\n\\define show-favorited-tweets()\n<$let user_id={{!!user_id}}>\n\t<$list filter=\"[tag[$:/tags/Tweet]field:liked_by<user_id>limit[50]]\">\n\t\t<<show-tweet>>\n\t</$list>\n</$let>\n\\end\n\n\\define show-archive-attribute(caption,field,prefix,format:\"text\",template)\n<tr>\n\t<th>\n\t\t<$text text=<<__caption__>>/>\n\t</th>\n\t<td>\n\t\t<$text text={{{ [<__prefix__>] }}}/>\n\t\t<$view field=<<__field__>> format=<<__format__>> template=<<__template__>>/>\n\t</td>\n</tr>\n\\end\n\n\\define show-archive-calculated-attribute(caption,filter)\n<tr>\n\t<th>\n\t\t<$text text=<<__caption__>>/>\n\t</th>\n\t<td>\n\t\t<$text text={{{ [subfilter<__filter__>] }}}/>\n\t</td>\n</tr>\n\\end\n\n\\define show-tweet()\n<div class=\"tc-twitter-tweet\">\n\t<div class=\"tc-twitter-tweet-header\">\n\t\t<$list filter=\"[<currentTiddler>has[user_id]]\" variable=\"ignore\">\n\t\t\t<$let archive={{{ [tag[$:/tags/TwitterArchive]field:user_id{!!user_id}] }}}>\n\t\t\t\t<span class=\"tc-twitter-tweet-header-displayname\">\n\t\t\t\t\t<$text text={{{ [<archive>get[displayname]] }}}/>\n\t\t\t\t</span>\n\t\t\t\t<span class=\"tc-twitter-tweet-header-username\">\n\t\t\t\t\t@<$text text={{{ [<archive>get[username]] }}}/>\n\t\t\t\t</span>\n\t\t\t\t•\n\t\t\t</$let>\n\t\t</$list>\n\t\t<$link to=<<currentTiddler>>>\n\t\t\t<span class=\"tc-twitter-tweet-header-date\">\n\t\t\t\t<$view field=\"created\" format=\"date\" template=\"DDth mmm YYYY 0hh:0mm:0ss\"/>\n\t\t\t</span>\n\t\t</$link>\n\t</div>\n\t<$list filter=\"[<currentTiddler>get[in_reply_to_status_id]addprefix[Tweet - ]is[tiddler]]\" variable=\"replyTo\">\n\t\t<div class=\"tc-twitter-tweet-reply-to\">\n\t\t\tReply to <$link to=<<replyTo>>><$text text=<<replyTo>>/></$link>\n\t\t</div>\n\t</$list>\n\t<div class=\"tc-twitter-tweet-body\">\n\t\t<$transclude field=\"text\"/>\n\t</div>\n\t<div class=\"tc-twitter-tweet-media\">\n\t\t<$list filter=\"[tag[$:/tags/TweetMedia]field:status_id{!!status_id}]\" variable=\"mediaItem\">\n\t\t\t<$transclude tiddler=<<mediaItem>>/>\n\t\t</$list>\n\t</div>\n\t<div class=\"tc-twitter-tweet-footer\">\n\t\t<$list filter=\"[<currentTiddler>has[retweet_count]]\" variable=\"ignore\">\n\t\t\t<span class=\"tc-twitter-tweet-footer-retweets\">\n\t\t\t\tRetweets: <$view field=\"retweet_count\" format=\"text\"/>\n\t\t\t</span>\n\t\t</$list>\n\t\t<$list filter=\"[<currentTiddler>has[favorite_count]]\" variable=\"ignore\">\n\t\t\t<span class=\"tc-twitter-tweet-footer-likes\">\n\t\t\t\tLikes: <$view field=\"favorite_count\" format=\"text\"/>\n\t\t\t</span>\n\t\t</$list>\n\t\t<span class=\"tc-twitter-tweet-footer-twitter-link\">\n\t\t\t<a href={{{ [{!!status_id}addprefix[https://twitter.com/i/web/status/]] }}} rel=\"noopener noreferrer\" target=\"_blank\">View on Twitter</a>\n\t\t</span>\n\t</div>\n</div>\n\\end\n\n\\define show-tweet-thread(archive)\n<div class=\"tc-twitter-tweet-thread\">\n\t<$list filter=\"[<currentTiddler>has[in_reply_to_status_id]]\" variable=\"ignore\">\n\t\t<div class=\"tc-twitter-tweet-reply\">\n\t\t\t<$tiddler tiddler={{{ [<currentTiddler>get[in_reply_to_status_id]addprefix[Tweet - ]] }}}>\n\t\t\t\t<$macrocall $name=\"show-tweet\"/>\n\t\t\t</$tiddler>\n\t\t</div>\n\t</$list>\n\t<$macrocall $name=\"show-tweet\"/>\n</div>\n\\end\n\n\\define show-tweeter()\n<table>\n\t<tbody>\n\t\t<tr><th>Username</th><td><$text text={{!!screenname}}/></td></tr>\n\t\t<tr><th>Display Name</th><td><$text text={{!!name}}/></td></tr>\n\t\t<tr><th>User ID</th><td><$text text={{!!user_id}}/></td></tr>\n\t</tbody>\n</table>\n<a href={{{ [{!!user_id}addprefix[https://twitter.com/intent/user?user_id=]] }}} rel=\"noopener noreferrer\" target=\"_blank\">View on Twitter</a>\n<$macrocall $name=\"skinny-tabs\" tabNames=\"show-tweeter-mentions\" tabCaptions=\"Mentions\" defaultTab=\"show-tweeter-mentions\" state=<<qualify \"$:/state/skinny-tabs/tweeter-mentions\">>/>\n\\end\n\n\\define show-tweeter-mentions()\n<$list filter=\"[tag[$:/tags/Tweet]tag<currentTiddler>]\">\n\t<$macrocall $name=\"show-tweet\" title=<<currentTiddler>>/>\n</$list>\n\\end\n\n\\define show-hashtag()\n<a href={{{ [{!!user_id}addprefix[https://twitter.com/intent/user?user_id=]] }}} rel=\"noopener noreferrer\" target=\"_blank\">View on Twitter</a>\n<$macrocall $name=\"skinny-tabs\" tabNames=\"show-hashtag-tweets\" tabCaptions=\"Tweets\" defaultTab=\"show-hashtag-tweets\" state=<<qualify \"$:/state/skinny-tabs/hashtag-tweets\">>/>\n\\end\n\n\\define show-hashtag-tweets()\n<$list filter=\"[tag[$:/tags/Tweet]tag<currentTiddler>]\">\n\t<$macrocall $name=\"show-tweet\" title=<<currentTiddler>>/>\n</$list>\n\\end\n"
  },
  {
    "path": "plugins/tiddlywiki/twitter-archivist/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/twitter-archivist\",\n\t\"name\": \"Twitter Archivist\",\n\t\"description\": \"Twitter archiving tools\",\n\t\"list\": \"readme usage spec todo\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/twitter-archivist/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/twitter-archivist/readme\n\n! Introduction\n\nThe Twitter Archivist imports the tweets and associated media from a [[Twitter Archive|https://help.twitter.com/en/managing-your-account/how-to-download-your-twitter-archive]] as individual tiddlers.\n\nThe first step is to request your Tweet archive from Twitter. Once it is available, download file compressed file and unzip it.\n\n! Installation\n\nFor browser-based wikis, drag and drop this link to install the Twitter Archivist plugin in your own wikis (note that a reload will be required after installing the plugin and saving the wiki):\n\n{{$:/plugins/tiddlywiki/twitter-archivist||$:/core/ui/Components/plugin-info}}\n\nFor Node.js-based wikis, add `tiddlywiki/twitter-archivist` to the `plugin` section of `tiddlywiki.info`:\n\n```\n...\n\t\"plugins\": [\n\t\t\"tiddlywiki/twitter-archivist\"\n\t],\n...\n```\n\n! Limitations of Twitter Archives\n\nThe Twitter Archive format itself has many shortcomings which affect this tool:\n\n* Retweets come through as old-school RTs, which means that they are often truncated\n* Likes only have minimal information, lacking date, author and mentions\n* Twitter archives can be delivered in multiple parts, but this tool has only been tested with single archives. It is hoped that cumulatively importing each of the archives in turn should work\n\nA future version of this tool may use the Twitter API to get around these restrictions.\n"
  },
  {
    "path": "plugins/tiddlywiki/twitter-archivist/spec.tid",
    "content": "title: $:/plugins/tiddlywiki/twitter-archivist/spec\n\n! Twitter Archivist Data Model\n\nThe Twitter Archivist imports the following tiddlers:\n\n* A single tiddler tagged <<tag \"$:/tags/TwitterArchive\">> containing details about the archive\n* Tweets/favourites represented by tiddlers tagged <<tag \"$:/tags/Tweet\">>\n* Twitter users represented by tiddlers tagged <<tag \"$:/tags/Tweeter\">>\n* Tweet images/videos represented by tiddlers tagged <<tag \"$:/tags/TweetMedia\">>\n\n!! Twitter Archive Tiddler Fields\n\n|!Field |!Description |\n|''account_created_date'' |Date of account creation (in TiddlyWiki format) |\n|''bio'' |Account biography |\n|''displayname'' |Account displayname |\n|''generation_date'' |Date of archive generation (in TiddlyWiki format) |\n|''location'' |Account location |\n|''tags'' |`$:/tags/TwitterArchive` |\n|''title'' |Formed from `Twitter Archive for @` concatenated with the account username |\n|''user_id'' |Unique numeric identifier for account |\n|''username'' |Account username |\n|''website'' |Account website |\n\n!! Tweet Tiddler Fields\n\n|!Field |!Description |\n|''created'' |Tweet creation date (in TiddlyWiki format) |\n|''favorite_count'' |Number of favourites received by this tweet |\n|''mention_user_ids'' |Optional list of user IDs mentioned in the tweet |\n|''modified'' |Tweet creation date (in TiddlyWiki format) |\n|''retweet_count'' |Number of retweets received by this tweet |\n|''status_id'' |Unique numeric identifier for tweet |\n|''tags'' |`$:/tags/Tweet` along with the titles of any tweeters mentioned in the tweet |\n|''text'' |The text of the tweet (see below) |\n|''title'' |Formed from `Tweet - ` concatenated with the tweet ID |\n|''user_id'' |Unique numeric identifier for tweeter of this tweet |\n\nThe text of the tweet includes the following changes:\n\n* The pragma `\\rules only html entity extlink` is prepended to restrict the parse rules recognised within the text\n* Mentions are linked to the associated tweeter tiddler\n* Line breaks are replaced by `<br/>`\n\n!! Tweeter Tiddler Fields\n\n|!Field |!Description |\n|''name'' |Account displayname |\n|''screenname'' |Account screenname (including the @) |\n|''tags'' |`$:/tags/Tweeter` |\n|''title'' |Formed from `Tweeter - ` concatenated with the account ID |\n|''user_id'' |Unique numeric identifier for account |\n\n!! Tweet Media Fields\n\n|!Field |!Description |\n|''status_id'' |Identifier of tweet associated with this media item |\n|''tags'' |`$:/tags/TweetMedia` |\n|''text'' |The body of the media item |\n|''title'' |Formed from `Tweet Media - ` concatenated with the ID of the associated tweet and a further unique identifier |\n|''type'' |`image/jpg`, `image/png` or `video/mp4` |\n"
  },
  {
    "path": "plugins/tiddlywiki/twitter-archivist/startup.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/twitter-archivist/startup.js\ntype: application/javascript\nmodule-type: startup\n\nTwitter initialisation\n\n\\*/\n\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"twitter-archivist\";\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\t$tw.rootWidget.addEventListener(\"tm-load-twitter-archive\",function(event) {\n\t\t// Load tweets\n\t\tvar archiveSource = new $tw.utils.TwitterArchivistSourceBrowser({\n\t\t\t}),\n\t\t\tarchivist = new $tw.utils.TwitterArchivist({\n\t\t\t\tsource: archiveSource\n\t\t\t});\n\t\tarchivist.loadArchive({\n\t\t\twiki: $tw.wiki\n\t\t}).then(function() {\n\t\t\talert(\"Archived tweets imported\");\n\t\t}).catch(function(err) {\n\t\t\talert(\"Error importing archived tweets: \" + err);\n\t\t});\n\t});\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/twitter-archivist/styles.tid",
    "content": "title: $:/plugins/tiddlywiki/twitter-archivist/styles\ntags: [[$:/tags/Stylesheet]]\ncode-body: yes\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock\n\n.tc-twitter-tweet {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tborder-radius: 8px;\n\tmargin: 1em 0;\n\tpadding: 1em;\n}\n\n.tc-twitter-tweet-reply {\n\tfont-size: 0.7em;\n}\n\n.tc-twitter-tweet-reply .tc-twitter-tweet {\n\tmargin: 0.5em 0 0.5em 1em;\n\tpadding: 0.5em;\n}\n\n.tc-twitter-tweet-header-displayname {\n\tfont-weight: bold;\n}\n\n.tc-twitter-tweet-header-username,\n.tc-twitter-tweet-header-date {\n\tcolor: #536471;\n}\n\n.tc-twitter-tweet-reply-to {\n\tfont-size: 0.7em;\n}\n\n.tc-twitter-tweet-body {\n\tmargin: 0.25em 0;\n\tline-height: 1.3;\n}\n\n.tc-twitter-tweet-reply .tc-twitter-tweet-body {\n\tmargin: 0.5em 0;\n}\n\n.tc-twitter-tweet-footer {\n\tfont-size: 0.8em;\n}"
  },
  {
    "path": "plugins/tiddlywiki/twitter-archivist/template-archive.tid",
    "content": "title: $:/plugins/tiddlywiki/twitter-archivist/template/archive\n\n<<show-archive>>\n"
  },
  {
    "path": "plugins/tiddlywiki/twitter-archivist/template-hashtag.tid",
    "content": "title: $:/plugins/tiddlywiki/twitter-archivist/template/hashtag\n\n<<show-hashtag>>\n"
  },
  {
    "path": "plugins/tiddlywiki/twitter-archivist/template-tweet.tid",
    "content": "title: $:/plugins/tiddlywiki/twitter-archivist/template/tweet\n\n<<show-tweet-thread>>\n"
  },
  {
    "path": "plugins/tiddlywiki/twitter-archivist/template-tweeter.tid",
    "content": "title: $:/plugins/tiddlywiki/twitter-archivist/template/tweeter\n\n<<show-tweeter>>\n"
  },
  {
    "path": "plugins/tiddlywiki/twitter-archivist/todo.tid",
    "content": "title: $:/plugins/tiddlywiki/twitter-archivist/todo\n\n!! Done\n\n* Fixed display of tweet account information\n* Data model documentation\n* Expand t.co URLs\n* Wikify hashtags\n\n!! To Do\n\n* Import direct messages\n* Control over which media types are imported\n* `_canonical_uri` support for media\n* Handle editable tweets\n"
  },
  {
    "path": "plugins/tiddlywiki/twitter-archivist/usage.tid",
    "content": "title: $:/plugins/tiddlywiki/twitter-archivist/usage\n\n! In the Browser\n\nTo import a Twitter archive in the browser (currently Chrome only), click the button below and navigate to the root of the archive:\n\n<$button>\n<$action-sendmessage $message=\"tm-load-twitter-archive\"/>\nOpen Twitter archive\n</$button>\n\n! Under Node.js\n\nTo import a Twitter archive under Node.js, use the `--loadtwitterarchive` command:\n\n```\ntiddlywiki editions/twitter-archivist/ --loadtwitterarchive '/path/to/archive' --build index\n```\n"
  },
  {
    "path": "plugins/tiddlywiki/twitter-archivist/view-template-body-cascade.tid",
    "content": "title: $:/plugins/tiddlywiki/twitter-archivist/view-template-body-cascade\ntags: $:/tags/ViewTemplateBodyFilter\nlist-before:\n\n[tag[$:/tags/Tweet]then[$:/plugins/tiddlywiki/twitter-archivist/template/tweet]]\n[tag[$:/tags/TwitterArchive]then[$:/plugins/tiddlywiki/twitter-archivist/template/archive]]\n[tag[$:/tags/Tweeter]then[$:/plugins/tiddlywiki/twitter-archivist/template/tweeter]]\n[tag[$:/tags/Hashtag]then[$:/plugins/tiddlywiki/twitter-archivist/template/hashtag]]\n"
  },
  {
    "path": "plugins/tiddlywiki/upgrade/DefaultTiddlers.tid",
    "content": "title: $:/DefaultTiddlers\n"
  },
  {
    "path": "plugins/tiddlywiki/upgrade/Import.multids",
    "content": "title: $:/language/Import/\n\nUpgrader/Plugins/Suppressed/Version: Your plugin will be upgraded from <<incoming>> to <<existing>>.\n"
  },
  {
    "path": "plugins/tiddlywiki/upgrade/SiteSubtitle.tid",
    "content": "title: $:/SiteSubtitle\n\nupgrade your files to the latest version"
  },
  {
    "path": "plugins/tiddlywiki/upgrade/SiteTitle.tid",
    "content": "title: $:/SiteTitle\n\n~TiddlyWiki Upgrader"
  },
  {
    "path": "plugins/tiddlywiki/upgrade/UpdateAddressBar.tid",
    "content": "title: $:/config/Navigation/UpdateAddressBar\n\nno"
  },
  {
    "path": "plugins/tiddlywiki/upgrade/UpgradeWizard.tid",
    "content": "created: 20150228154208000\ntitle: $:/UpgradeWizard\ntags: $:/tags/AboveStory\n\n<div class=\"tc-upgrade-wizard-wrapper\">\n\n<div class=\"tc-upgrade-wizard\">\n\n! Upgrade Wizard\n\n!! ~TiddlyWiki version <<version>>\n\n<$list filter=\"[[$:/Import]is[missing]]\">\n\n{{$:/core/images/download-button}}\n\nDrag a ~TiddlyWiki file here to upgrade it\n\nor click to pick a file <$browse/>\n\n</$list>\n\n<$reveal state=\"$:/Import!!status\" type=\"match\" text=\"pending\">\n\nThe following tiddlers will be included in the upgrade <$button message=\"tm-perform-import\" param=\"$:/Import\">Upgrade</$button>\n\n{{$:/Import||$:/core/ui/ImportListing}}\n\n</$reveal>\n\n<$reveal state=\"$:/Import!!status\" type=\"match\" text=\"complete\">\n\nUpgrade completed. Click the button below to save your upgraded ~TiddlyWiki file\n\nMake sure that you keep a safe copy of your previous ~TiddlyWiki file.\n\n<$reveal type=\"match\" state=\"$:/isEncrypted\" text=\"yes\">\n\n''The file will be encrypted with your existing password.''\n\n</$reveal>\n\n{{$:/plugins/tiddlywiki/upgrade/save}}\n\nClose this browser window to prevent others from being able to access your data.\n\nFor help and support, visit [[the TiddlyWiki discussion forum|https://talk.tiddlywiki.org]].\n\n</$reveal>\n\n</div>\n\n//Your data will not leave your browser. <a href=\"\" download=\"upgrade.html\">Download</a> this upgrader to use it offline//\n\n//If clicking the link doesn't work, right-click the link and save it that way.//\n\n//Your browser may ask you to accept the download before it begins.//\n\n</div>\n"
  },
  {
    "path": "plugins/tiddlywiki/upgrade/config.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/upgrade/config.js\ntype: application/javascript\nmodule-type: startup\n\nStartup module for configuring the upgrade plugin\n\n\\*/\n\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"upgrade-config\";\nexports.before = [\"startup\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\t// See $tw.utils.decryptStoreAreaInteractive() in $:/core/modules/utils/crypto.js\n\t$tw.config.usePasswordVault = true;\n\t$tw.config.disableAutoSave = true;\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/upgrade/favicon.png.meta",
    "content": "title: $:/favicon.ico\ntype: image/png\n"
  },
  {
    "path": "plugins/tiddlywiki/upgrade/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/upgrade\",\n\t\"name\": \"Upgrade\",\n\t\"description\": \"Upgrade system for TiddlyWiki versions\",\n\t\"list\": \"readme\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/upgrade/pluginreloadwarning.tid",
    "content": "title: $:/core/ui/PageTemplate/pluginreloadwarning\n\n<!-- Disable plugin reload warnings -->\n"
  },
  {
    "path": "plugins/tiddlywiki/upgrade/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/upgrade/readme\n\nThis plugin contains the user interface components used to build the special [[upgrade edition|https://tiddlywiki.com/upgrade.html]].\n\n[[Source code|https://github.com/TiddlyWiki/TiddlyWiki5/blob/master/plugins/tiddlywiki/upgrade]]\n"
  },
  {
    "path": "plugins/tiddlywiki/upgrade/save-tiddler-filter.tid",
    "content": "title: $:/plugins/tiddlywiki/upgrade/save-tiddler-filter\n\n\\define saveTiddlerFilter()\n[is[tiddler]] -[[$:/UpgradeLibrary]] -[[$:/plugins/tiddlywiki/upgrade]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] -[has[plugin-type]field:platform[server]] +[sort[title]]\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
  },
  {
    "path": "plugins/tiddlywiki/upgrade/save.tid",
    "content": "title: $:/plugins/tiddlywiki/upgrade/save\n\n<$button message=\"tm-download-file\" param=\"$:/plugins/tiddlywiki/upgrade/save-tiddler-filter\" class=\"tc-btn-big-green\">Save upgraded ~TiddlyWiki file {{$:/core/images/save-button}}</$button>\n"
  },
  {
    "path": "plugins/tiddlywiki/upgrade/set-auto-open-on-import.tid",
    "content": "title: $:/plugins/tiddlywiki/upgrade/set-auto-open-on-import\ntags: $:/tags/Macro\n\n\\define tv-auto-open-on-import()\nno\n\\end\n"
  },
  {
    "path": "plugins/tiddlywiki/upgrade/sidebar.tid",
    "content": "title: $:/state/sidebar\n\nno"
  },
  {
    "path": "plugins/tiddlywiki/upgrade/styles.tid",
    "content": "title: $:/plugins/tiddlywiki/upgrade/styles\ntags: $:/tags/Stylesheet\n\n.tc-upgrade-wizard-wrapper {\n\twidth: 100%;\n\ttext-align: center;\n\tmargin-bottom: 3em;\n}\n\n.tc-upgrade-wizard {\n\tbackground: <<colour tiddler-background>>;\n\tpadding: 2em;\n\tdisplay: inline-block;\n\tposition: relative;\n\tborder: 1px solid #ddd;\n\t<<box-shadow \"inset 1px 2px 4px rgba(0, 0, 0, 0.15)\">>;\n\toverflow: hidden;\n}\n\n.tc-upgrade-wizard svg.tc-image-download-button {\n\twidth: 14em;\n\theight: 14em;\n\tcolor: <<colour muted-foreground>>;\n}\n\n.tc-upgrade-wizard:hover svg.tc-image-download-button {\n\tcolor: <<colour foreground>>;\n}\n\n.tc-upgrade-wizard svg .tc-image-download-button-ring {\n}\n\n.tc-upgrade-wizard:hover svg .tc-image-download-button-ring {\n\tfill: <<colour primary>>;\n}\n\n.tc-upgrade-wizard em {\n\tcolor: <<colour tiddler-subtitle-foreground>>;\n}\n\n.tc-upgrade-wizard table {\n\ttext-align: left;\n}\n\n.tc-upgrade-wizard input[type=file] {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tfont-size: 999px;\n\tmax-width: 100%;\n\tmax-height: 100%;\n\tfilter: alpha(opacity=0);\n\topacity: 0;\n\toutline: none;\n\tbackground: white;\n\tcursor: pointer;\n\tdisplay: block;\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/wikitext-serialize\",\n\t\"name\": \"WikitextSerialize\",\n\t\"description\": \"Serialize wikitext abstract syntax tree back to wikitext format\",\n\t\"list\": \"readme\",\n\t\"stability\": \"STABILITY_1_EXPERIMENTAL\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/codeblock.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/codeblock.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"codeblock\";\n\nexports.serialize = function(tree,serialize) {\n\treturn \"```\" + tree.attributes.language.value + \"\\n\" + tree.attributes.code.value + \"\\n```\\n\\n\";\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/codeinline.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/codeinline.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"codeinline\";\n\nexports.serialize = function(tree,serialize) {\n\treturn \"`\" + serialize(tree.children) + \"`\";\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/commentblock.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/commentblock.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"commentblock\";\n\nexports.serialize = function(tree,serialize) {\n\treturn tree.text + \"\\n\\n\" + serialize(tree.children);\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/commentinline.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/commentinline.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"commentinline\";\n\nexports.serialize = function(tree,serialize) {\n\treturn tree.text;\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/conditional.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/conditional.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"conditional\";\n\nexports.serialize = function(tree,serialize) {\n\t// We always have \"if\" at the beginning\n\tvar filterCondition = tree.attributes.filter.value;\n\tvar ifClauseText = serialize(tree.children[0].children);\n\tvar result = \"<%if \" + filterCondition + \"%>\" + ifClauseText;\n\tfunction serializeElseIf(listNode) {\n\t\t// We receive the only list node inside list-template node\n\t\tif(!listNode || listNode.type !== \"list\") {\n\t\t\treturn \"<%else%>\" + serialize(listNode);\n\t\t}\n\t\tvar filter = listNode.attributes.filter.value || \"\";\n\t\tvar bodyText = serialize(listNode.children[0].children);\n\t\tvar nextConditionResult = \"\";\n\t\t// May has an only any node inside list-empty node\n\t\tif(listNode.children[1] && listNode.children[1].children[0]) {\n\t\t\tif(listNode.children[1].children[0].type === \"list\") {\n\t\t\t\tnextConditionResult = serializeElseIf(listNode.children[1].children[0]);\n\t\t\t} else {\n\t\t\t\tnextConditionResult = \"<%else%>\" + serialize(listNode.children[1]);\n\t\t\t}\n\t\t}\n\t\treturn \"<%elseif \" + filter + \"%>\" + bodyText + nextConditionResult;\n\t}\n\tif(tree.children[1] && tree.children[1].children) {\n\t\tresult += serializeElseIf(tree.children[1].children[0]);\n\t}\n\tresult += \"<%endif%>\";\n\tif(tree.isBlock) {\n\t\tresult += \"\\n\\n\";\n\t}\n\treturn result;\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/dash.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/dash.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"dash\";\n\nexports.serialize = function(tree,serialize) {\n\treturn tree.entity === \"&ndash;\" ? \"--\" : \"---\";\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/emphasis/bold.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/emphasis/bold.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"bold\";\n\nexports.serialize = function(tree,serialize) {\n\treturn \"''\" + serialize(tree.children) + \"''\";\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/emphasis/italic.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/emphasis/italic.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"italic\";\n\nexports.serialize = function(tree,serialize) {\n\treturn \"//\" + serialize(tree.children) + \"//\";\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/emphasis/strikethrough.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/emphasis/strikethrough.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"strikethrough\";\n\nexports.serialize = function(tree,serialize) {\n\treturn \"~~\" + serialize(tree.children) + \"~~\";\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/emphasis/subscript.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/emphasis/subscript.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"subscript\";\n\nexports.serialize = function(tree,serialize) {\n\treturn \",,\" + serialize(tree.children) + \",,\";\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/emphasis/superscript.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/emphasis/superscript.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"superscript\";\n\nexports.serialize = function(tree,serialize) {\n\treturn \"^^\" + serialize(tree.children) + \"^^\";\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/emphasis/underscore.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/emphasis/underscore.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"underscore\";\n\nexports.serialize = function(tree,serialize) {\n\treturn \"__\" + serialize(tree.children) + \"__\";\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/entity.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/entity.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"entity\";\n\nexports.serialize = function(tree,serialize) {\n\treturn tree.entity;\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/extlink.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/extlink.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"extlink\";\n\nexports.serialize = function(tree,serialize) {\n\tif(tree.type === \"text\") {\n\t\treturn \"~\" + tree.text;\n\t} else if(tree.type === \"element\" && tree.tag === \"a\") {\n\t\treturn tree.attributes.href.value;\n\t}\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/filteredtranscludeblock.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/filteredtranscludeblock.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"filteredtranscludeblock\";\n\nexports.serialize = function(tree,serialize) {\n\tvar serialized = \"{{{\" + tree.attributes.filter.value;\n\t// Tooltip text\n\tif(tree.attributes.tooltip) serialized += \"|\" + tree.attributes.tooltip.value;\n\t// Template title\n\tif(tree.attributes.template) serialized += \"||\" + tree.attributes.template.value;\n\tserialized += \"}}\";\n\t// Inline styles\n\tif(tree.attributes.style) serialized += tree.attributes.style.value;\n\tserialized += \"}\";\n\t// CSS classes\n\tif(tree.attributes.itemClass) serialized += \".\" + tree.attributes.itemClass.value.split(\" \").join(\".\");\n\treturn serialized + \"\\n\\n\";\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/filteredtranscludeinline.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/filteredtranscludeinline.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"filteredtranscludeinline\";\n\nexports.serialize = function(tree,serialize) {\n\tvar filteredtranscludeblock = require(\"$:/plugins/tiddlywiki/wikitext-serialize/rules/filteredtranscludeblock.js\");\n\tvar result = filteredtranscludeblock.serialize(tree,serialize);\n\treturn result.trimEnd();\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/fnprocdef.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/fnprocdef.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"fnprocdef\";\n\nexports.serialize = function(tree,serialize) {\n\t// Type of definition: \"function\", \"procedure\", or \"widget\"\n\tvar type = tree.isFunctionDefinition ? \"function\" : (tree.isProcedureDefinition ? \"procedure\" : \"widget\");\n\t// Name of the function, procedure, or widget\n\tvar name = tree.attributes.name.value;\n\t// Parameters with default values\n\tvar params = tree.params.map(function(param) {\n\t\treturn param.name + (param.default ? ':\"' + param.default + '\"' : \"\");\n\t}).join(\", \");\n\t// Definition text\n\tvar definition = tree.attributes.value.value;\n\t// Construct the serialized string, concat the children because pragma rule wrap everything below it as children\n\treturn \"\\\\\" + type + \" \" + name + \"(\" + params + \")\\n\" + definition + \"\\n\\\\end\\n\\n\" + serialize(tree.children) + \"\\n\";\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/hardlinebreaks.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/hardlinebreaks.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"hardlinebreaks\";\n\nexports.serialize = function(tree,serialize) {\n\tvar text = tree.tag === \"br\" ? \"\\n\" : (tree.text || \"\");\n\tif(tree.isRuleStart) {\n\t\treturn '\"\"\"\\n' + text;\n\t}\n\tif(tree.isRuleEnd) {\n\t\treturn text + '\"\"\"';\n\t}\n\treturn text + serialize(tree.children);\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/heading.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/heading.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"heading\";\n\nexports.serialize = function(tree,serialize) {\n\t// Get heading level from number after `h`\n\tvar headingLevel = parseInt(tree.tag.substr(1),10);\n\tvar classes = tree.attributes.class ? tree.attributes.class.value.split(\" \").join(\".\") : \"\";\n\tvar headingText = serialize(tree.children);\n\treturn Array(headingLevel + 1).join(\"!\") + (classes ? \".\" + classes : \"\") + \" \" + headingText + \"\\n\\n\";\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/horizrule.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/horizrule.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"horizrule\";\n\nexports.serialize = function(tree,serialize) {\n\treturn \"---\\n\\n\";\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/html.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/html.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"html\";\n\nexports.serialize = function(tree,serialize) {\n\tvar tag = tree.tag;\n\tvar attributes = tree.orderedAttributes.map(function(attribute) {\n\t\treturn $tw.utils.serializeAttribute(attribute);\n\t}).join(\" \");\n\t// Children\n\tvar children = tree.children ? serialize(tree.children) : \"\";\n\tvar result = \"\";\n\tvar isVoidElement = $tw.config.htmlVoidElements.indexOf(tag) !== -1;\n\t// Self-closing tag\n\tif(tree.isSelfClosing) {\n\t\tresult += \"<\" + tag + (attributes ? \" \" + attributes : \"\") + \"/>\";\n\t} else if(isVoidElement) {\n\t\t// Void element without self-closing slash (e.g., <br> instead of <br/>)\n\t\tresult += \"<\" + tag + (attributes ? \" \" + attributes : \"\") + \">\";\n\t} else {\n\t\t// Opening and closing tags\n\t\tresult += \"<\" + tag + (attributes ? \" \" + attributes : \"\") + \">\" + children + \"</\" + tag + \">\";\n\t}\n\tif(tree.isBlock) {\n\t\tresult += \"\\n\\n\";\n\t}\n\treturn result;\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/image.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/image.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"image\";\n\nexports.serialize = function(tree,serialize) {\n\tvar width = tree.attributes.width ? \" \" + $tw.utils.serializeAttribute(tree.attributes.width) : \"\";\n\tvar height = tree.attributes.height ? \" \" + $tw.utils.serializeAttribute(tree.attributes.height) : \"\";\n\tvar padSpace = width || height ? \" \" : \"\";\n\tvar tooltip = tree.attributes.tooltip ? tree.attributes.tooltip.value + \"|\" : \"\";\n\tvar source = tree.attributes.source.value;\n\treturn \"[img\" + width + height + padSpace + \"[\" + tooltip + source + \"]]\";\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/import.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/import.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"import\";\n\nexports.serialize = function(tree,serialize) {\n\tvar filter = tree.attributes.filter.value;\n\t// Sibling below the pragma become children, so we append the serialized children to the end..\n\treturn \"\\\\import \" + filter + \"\\n\" + serialize(tree.children);\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/list.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/list.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"list\";\n\nvar listTypes = require(\"$:/core/modules/parsers/wikiparser/rules/list.js\").listTypes;\nvar listTags = Object.values(listTypes).map(function(type) {\n\treturn type.listTag;\n});\n/*\nCheck if the child is a nested list or a simple line of list item\n*/\nfunction isListNode(node) {\n\treturn node && node.type === \"element\" && listTags.includes(node.tag);\n}\nvar itemTags = Object.values(listTypes).map(function(type) {\n\treturn type.itemTag;\n});\n\nexports.serialize = function (tree,serialize) {\n\t// Helper function to find the marker for a given list container tag and item tag\n\tfunction findMarker(listTag, itemTag) {\n\t\tfor(var key in listTypes) {\n\t\t\tif(listTypes[key].listTag === listTag && listTypes[key].itemTag === itemTag) {\n\t\t\t\treturn key; // Return the marker associated with the list tag and item tag\n\t\t\t}\n\t\t}\n\t\treturn \"\"; // Return empty string if no matching marker is found\n\t}\n\n\t// Recursive function to serialize list nodes, handling nested lists and formatting output\n\tfunction serializeList(node, markerPrefix) {\n\t\tvar result = [];\n\t\tif(node.type === \"element\" && isListNode(node)) {\n\t\t\tnode.children.forEach(function (child) {\n\t\t\t\tif(itemTags.includes(child.tag)) {\n\t\t\t\t\tvar currentMarker = findMarker(node.tag, child.tag);\n\t\t\t\t\t// Handle class attributes\n\t\t\t\t\tvar classAttr = child.attributes && child.attributes.class ? \".\" + child.attributes.class.value : \"\";\n\t\t\t\t\t/** \n\t\t\t\t\t * same level text nodes may be split into multiple children, and separated by deeper list sub-tree.\n\t\t\t\t\t * We collect same level text nodes into this list, and concat then submit them before enter deeper list.\n\t\t\t\t\t */\n\t\t\t\t\tvar content = [];\n\t\t\t\t\t$tw.utils.each(child.children,function (subNode) {\n\t\t\t\t\t\tif(isListNode(subNode)) {\n\t\t\t\t\t\t\t// Recursive call for nested lists\n\t\t\t\t\t\t\tif(content.length > 0) {\n\t\t\t\t\t\t\t\tresult.push(markerPrefix + currentMarker + classAttr + \" \" + content.join(\"\").trim());\n\t\t\t\t\t\t\t\tcontent = [];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tresult.push(serializeList(subNode, markerPrefix + currentMarker).trim());\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcontent.push(serialize(subNode)) ;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn \"\"; // Default return for unhandled node types\n\t\t\t\t\t});\n\t\t\t\t\t// prepend `#` mark to a new line, if it has content (and has or hasn't nested list), or if it has no content and also no nested list\n\t\t\t\t\tif(content.length > 0 || child.children.length === 0) {\n\t\t\t\t\t\tresult.push(markerPrefix + currentMarker + classAttr + \" \" + content.join(\"\").trim());\n\t\t\t\t\t\tcontent = [];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\treturn result.join(\"\\n\");\n\t}\n\n\t// Begin serialization from the root node, with an empty string as the initial marker prefix\n\treturn serializeList(tree, \"\") + \"\\n\\n\";\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/macrocallblock.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/macrocallblock.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"macrocallblock\";\n\nexports.serialize = function (node) {\n\tvar result = \"<<\";\n\t// Macro name\n\tif(node.attributes && node.attributes[\"$variable\"]) {\n\t\tresult += node.attributes[\"$variable\"].value;\n\t}\n\t// Append ordered arguments if any\n\tif(node.orderedAttributes) {\n\t\tnode.orderedAttributes.forEach(function (attribute) {\n\t\t\tif(attribute.name !== \"$variable\") {\n\t\t\t\tresult += \" \" + $tw.utils.serializeAttribute(attribute);\n\t\t\t}\n\t\t});\n\t}\n\tresult += \">>\\n\\n\";\n\treturn result;\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/macrocallinline.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/macrocallinline.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"macrocallinline\";\n\nexports.serialize = function (tree,serialize) {\n\tvar macrocallblock = require(\"$:/plugins/tiddlywiki/wikitext-serialize/rules/macrocallblock.js\");\n\tvar result = macrocallblock.serialize(tree,serialize);\n\treturn result.trimEnd();\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/macrodef.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/macrodef.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"macrodef\";\n\nexports.serialize = function(tree,serialize) {\n\tvar name = tree.attributes.name.value;\n\tvar params = tree.params.map(function(param) {\n\t\treturn param.name + (param.default ? \":\" + param.default : \"\");\n\t}).join(\",\");\n\tvar definition = tree.attributes.value.value;\n\tif(tree.isBlock) {\n\t\treturn \"\\\\define \" + name + \"(\" + params + \") \" + definition + \"\\n\\n\" + serialize(tree.children);\n\t}\n\treturn \"\\\\define \" + name + \"(\" + params + \")\\n\" + definition + \"\\n\\\\end\\n\\n\" + serialize(tree.children);\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/parameters.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/parameters.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"parameters\";\n\nexports.serialize = function(tree,serialize) {\n\tvar params = tree.orderedAttributes.map(function(param) {\n\t\treturn param.name + (param.value ? \":\" + param.value : \"\");\n\t}).join(\",\");\n\treturn \"\\\\parameters(\" + params + \")\\n\\n\" + serialize(tree.children);\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/parsermode.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/parsermode.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"parsermode\";\n\nexports.serialize = function(tree,serialize) {\n\tvar mode = tree.parseAsInline ? \"inline\" : \"block\";\n\treturn \"\\\\parsermode \" + mode + \"\\n\\n\" + serialize(tree.children);\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/prettyextlink.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/prettyextlink.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"prettyextlink\";\n\nexports.serialize = function(tree,serialize) {\n\tvar tooltip = tree.children[0].text;\n\tvar url = tree.attributes.href.value;\n\treturn \"[ext[\" + (tooltip !== url ? tooltip + \"|\" : \"\") + url + \"]]\";\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/prettylink.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/prettylink.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"prettylink\";\n\nexports.serialize = function(tree,serialize) {\n\tvar text = tree.children[0].text;\n\tvar target = tree.attributes.to ? tree.attributes.to.value : tree.attributes.href.value;\n\treturn \"[[\" + text + (text !== target ? \"|\" + target : \"\") + \"]]\";\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/quoteblock.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/quoteblock.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"quoteblock\";\n\nexports.serialize = function (tree,serialize) {\n\tvar result = [];\n\tif(tree.type === \"element\" && tree.tag === \"blockquote\") {\n\t\t// tree.attributes.class.value: \"tc-quote\"\n\t\tresult.push(\"<<<\" + tree.attributes.class.value);\n\t\ttree.children.forEach(function (child) {\n\t\t\tif(child.type === \"element\" && child.tag === \"p\") {\n\t\t\t\tresult.push(serialize(child.children).trim());\n\t\t\t}\n\t\t});\n\t\tresult.push(\"<<<\");\n\t}\n\treturn result.join(\"\\n\") + \"\\n\\n\";\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/rules.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/rules.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"rules\";\n\nexports.serialize = function (tree,serialize) {\n\tvar result = [];\n\tif(tree.attributes.action && tree.attributes.rules) {\n\t\t// tree.attributes.action.value: \"except\"\n\t\t// tree.attributes.rules.value: \"ruleone ruletwo rulethree\"\n\t\tresult.push(\"\\\\rules \" + tree.attributes.action.value + \" \" + tree.attributes.rules.value);\n\t\ttree.children.forEach(function (child) {\n\t\t\tif(child.type === \"void\" && child.attributes.action && child.attributes.rules) {\n\t\t\t\t// child.attributes.action.value: \"only\"\n\t\t\t\t// child.attributes.rules.value: \"ruleone ruletwo rulethree\"\n\t\t\t\tresult.push(\"\\\\rules \" + child.attributes.action.value + \" \" + child.attributes.rules.value);\n\t\t\t}\n\t\t});\n\t}\n\treturn result.join(\"\\n\");\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/styleblock.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/styleblock.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"styleblock\";\n\nexports.serialize = function(tree,serialize) {\n\tvar lines = [];\n\tvar classes = [];\n\tvar styles = [];\n\n\t// Same classes are set to each children. So only collect from first child.\n\tvar node = tree.children[0];\n\tif(node && node.attributes && node.attributes.class) {\n\t\tvar nodeClasses = node.attributes.class.value.split(\" \");\n\t\tfor(var j = 0; j < nodeClasses.length; j++) {\n\t\t\tif(classes.indexOf(nodeClasses[j]) === -1) {\n\t\t\t\tclasses.push(nodeClasses[j]);\n\t\t\t}\n\t\t}\n\t}\n\tif(node && node.attributes && node.attributes.style) {\n\t\tvar nodeStyles = node.attributes.style.value.split(\";\");\n\t\tfor(var k = 0; k < nodeStyles.length; k++) {\n\t\t\tvar style = nodeStyles[k].trim();\n\t\t\tif(style && styles.indexOf(style) === -1) {\n\t\t\t\tstyles.push(style);\n\t\t\t}\n\t\t}\n\t}\n\n\t// Add the style block header, sort styles first, and classes later. Original order is not preserved intentionally for simplicity.\n\tif(classes.length > 0 || styles.length > 0) {\n\t\tif(styles.length > 0) {\n\t\t\tlines.push(\"@@\");\n\t\t\tlines.push(styles.join(\";\"));\n\t\t\tlines.push(\";\\n\");\n\t\t}\n\t\tif(classes.length > 0) {\n\t\t\tlines.push(\"@@.\");\n\t\t\tlines.push(classes.join(\".\"));\n\t\t\tlines.push(\"\\n\");\n\t\t}\n\t}\n\t// Serialize each child node and add to result\n\tfor(var i = 0; i < tree.children.length; i++) {\n\t\tlines.push(serialize(tree.children[i]));\n\t}\n\tvar result = lines.join(\"\").replace(/\\s+$/, \"\");\n\t// Add the closing @@ for the style block\n\tresult += \"\\n@@\\n\\n\";\n\treturn result;\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/styleinline.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/styleinline.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"styleinline\";\n\nexports.serialize = function(tree,serialize) {\n\tvar result = \"@@\";\n\t// Add styles if present\n\tif(tree.attributes && tree.attributes.style) {\n\t\tresult += tree.attributes.style.value.trim();\n\t}\n\t// Add classes if present\n\tif(tree.attributes && tree.attributes.class) {\n\t\tresult += \".\" + tree.attributes.class.value.trim().split(\" \").join(\".\");\n\t}\n\tvar children = serialize(tree.children);\n\t// Ensure at least one space after the style/class\n\tif(children && children[0] !== \" \") {\n\t\tresult += \" \";\n\t}\n\tresult += children + \"@@\";\n\treturn result;\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/syslink.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/syslink.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"syslink\";\n\nexports.serialize = function(tree,serialize) {\n\t// Check if the link is suppressed. Tree may only have text, no children and attributes\n\tvar isSuppressed = tree.children && tree.children[0].text.substr(0,1) === \"~\";\n\tvar serialized = isSuppressed ? \"~\" : \"\";\n\t// Append the link text\n\tserialized += tree.attributes ? tree.attributes.to.value : tree.text;\n\treturn serialized;\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/table.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/table.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"table\";\n\nexports.serialize = function(tree,serialize) {\n\tvar serialized = \"\";\n\t// Iterate over the table rows\n\tfor(var i = 0; i < tree.children.length; i++) {\n\t\tvar rowContainer = tree.children[i];\n\t\t// Iterate over the rows in the row container\n\t\tfor(var j = 0; j < rowContainer.children.length; j++) {\n\t\t\tvar row = rowContainer.children[j];\n\t\t\t// Start the row\n\t\t\tserialized += \"|\";\n\t\t\t// Iterate over the cells in the row\n\t\t\tfor(var k = 0; k < row.children.length; k++) {\n\t\t\t\tvar cell = row.children[k];\n\t\t\t\t// if is th, append additional `!`\n\t\t\t\tif(cell.tag === \"th\") {\n\t\t\t\t\tserialized += \"!\";\n\t\t\t\t}\n\t\t\t\t// Cell content\n\t\t\t\tserialized += serialize(cell.children);\n\t\t\t\t// End the cell\n\t\t\t\tserialized += \"|\";\n\t\t\t}\n\t\t\t// End the row\n\t\t\tserialized += \"\\n\";\n\t\t}\n\t}\n\t// Return the completed block\n\treturn serialized + \"\\n\";\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/transcludeblock.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/transcludeblock.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"transcludeblock\";\n\nexports.serialize = function(tree,serialize) {\n\tvar result = \"{{\";\n\tfunction handleTransclude(transcludeNode) {\n\t\t// Handle field\n\t\tif(transcludeNode.attributes.$field) {\n\t\t\tresult += \"!!\" + transcludeNode.attributes.$field.value;\n\t\t}\n\t\t// Check for index attribute\n\t\tif(transcludeNode.attributes.$index) {\n\t\t\tresult += \"##\" + transcludeNode.attributes.$index.value;\n\t\t}\n\t\t// Handle template\n\t\tvar tiddlerTitle = tree.attributes.tiddler ? tree.attributes.tiddler.value : undefined;\n\t\tif(transcludeNode.attributes.$tiddler && transcludeNode.attributes.$tiddler.value !== tiddlerTitle) {\n\t\t\tresult += \"||\" + transcludeNode.attributes.$tiddler.value;\n\t\t}\n\t\t// Check for parameters\n\t\tvar params = [];\n\t\tvar excludedAttributes = [\"tiddler\", \"$tiddler\", \"$field\", \"$index\", \"$template\"];\n\t\tfor(var key in transcludeNode.attributes) {\n\t\t\tif(excludedAttributes.indexOf(key) === -1) {\n\t\t\t\tparams.push(transcludeNode.attributes[key].value);\n\t\t\t}\n\t\t}\n\t\tif(params.length > 0) {\n\t\t\tresult += \"|\" + params.join(\"|\");\n\t\t}\n\t}\n\tfunction handleTiddler(tiddlerNode) {\n\t\t// Check for tiddler attribute\n\t\tif(tree.attributes.tiddler.value) { \n\t\t\tresult += tree.attributes.tiddler.value;\n\t\t}\n\t\t$tw.utils.each(tree.children, function(child) {\n\t\t\tif(child.type === \"transclude\") {\n\t\t\t\thandleTransclude(child);\n\t\t\t}\n\t\t});\n\t}\n\tif(tree.type === \"tiddler\") {\n\t\thandleTiddler(tree);\n\t} else if(tree.type === \"transclude\") {\n\t\thandleTransclude(tree);\n\t}\n\tresult += \"}}\\n\\n\";\n\treturn result;\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/transcludeinline.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/transcludeinline.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"transcludeinline\";\n\nexports.serialize = function(tree,serialize) {\n\tvar transcludeblock = require(\"$:/plugins/tiddlywiki/wikitext-serialize/rules/transcludeblock.js\");\n\tvar result = transcludeblock.serialize(tree,serialize);\n\treturn result.trimEnd();\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/typedblock.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/typedblock.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"typedblock\";\n\nexports.serialize = function (tree,serialize) {\n\tif(tree.type === \"void\") {\n\t\treturn \"$$$\" + tree.parseType + (tree.renderType ? \" > \" + tree.renderType : \"\") + \"\\n\" + tree.text + \"\\n$$$\\n\\n\";\n\t}\n\treturn \"\";\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/wikilink.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/wikilink.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"wikilink\";\n\nexports.serialize = function(tree,serialize) {\n\tvar isSuppressed = tree.children && tree.children[0].text.substr(0,1) === $tw.config.textPrimitives.unWikiLink;\n\n\tvar serialized = isSuppressed ? $tw.config.textPrimitives.unWikiLink : \"\";\n\tserialized += tree.attributes ? tree.attributes.to.value : tree.text;\n\treturn serialized;\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/rules/wikilinkprefix.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/rules/wikilinkprefix.js\ntype: application/javascript\nmodule-type: wikiruleserializer\n\\*/\n\n\"use strict\";\n\nexports.name = \"wikilinkprefix\";\n\nexports.serialize = function(tree,serialize) {\n\tvar serialized = $tw.config.textPrimitives.unWikiLink;\n\tserialized += tree.text;\n\treturn serialized;\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/wikitext-serialize/utils/parsetree.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/wikitext-serialize/utils/parsetree.js\ntype: application/javascript\nmodule-type: utils\n\nParse tree utility functions.\n\n\\*/\n\n\"use strict\";\n\nfunction initSerializers(Parser) {\n\tif(Parser && !Parser.prototype.serializers) {\n\t\tParser.prototype.serializers = {};\n\t\t$tw.modules.forEachModuleOfType(\"wikiruleserializer\",function(title,module) {\n\t\t\tvar rule = module.name;\n\t\t\tvar serialize = module.serialize;\n\t\t\tParser.prototype.serializers[rule] = serialize;\n\t\t});\n\t}\n};\n\n/*\nUtility to get the (similarly but not 1:1 equal) original wikitext of a parse tree node or array of nodes.\nBased on `node.rule` metadata added in `wikiparser.js`.\n*/\nexports.serializeWikitextParseTree = function serializeWikitextParseTree(tree,options) {\n\toptions = options || {};\n\tvar output = [];\n\tif($tw.utils.isArray(tree)) {\n\t\t$tw.utils.each(tree,function(node) {\n\t\t\toutput.push(serializeWikitextParseTree(node,options));\n\t\t});\n\t} else if(tree) {\n\t\tif(tree.type === \"text\" && !tree.rule) {\n\t\t\toutput.push(tree.text);\n\t\t} else {\n\t\t\tvar Parser = $tw.utils.getParser(\"text/vnd.tiddlywiki\");\n\t\t\t// initialize the serializers only once on first use\n\t\t\tinitSerializers(Parser);\n\t\t\tvar serializeOneRule = Parser.prototype.serializers[tree.rule];\n\t\t\tif(serializeOneRule) {\n\t\t\t\toutput.push(serializeOneRule(tree,serializeWikitextParseTree));\n\t\t\t} else if(tree.rule === \"parseblock\") {\n\t\t\t\toutput.push(serializeWikitextParseTree(tree.children,options),\"\\n\\n\");\n\t\t\t} else {\n\t\t\t\t// when no rule is found, just serialize the children, for example the void nodes\n\t\t\t\toutput.push(serializeWikitextParseTree(tree.children,options));\n\t\t\t}\n\t\t}\n\t}\n\treturn output.join(\"\");\n};\n\n/*\nSerialize a parsed attribute node\n*/\nexports.serializeAttribute = function(node,options) {\n\toptions = options || {};\n\tif(!node || typeof node !== \"object\" || !node.name || !node.type) {\n\t\treturn null;\n\t}\n\t// If name is number, means it is a positional attribute and name is omitted\n\tvar positional = parseInt(node.name) >= 0,\n\t\t// Use the original assignment operator if available, otherwise default to '='\n\t\tassign = positional ? \"\" : (node.assignmentOperator || \"=\"),\n\t\tattributeString = positional ? \"\" : node.name;\n\tif(node.type === \"string\") {\n\t\tif(node.value === \"true\") {\n\t\t\treturn attributeString;\n\t\t}\n\t\t// For macro parameters (using ':' separator), preserve unquoted values\n\t\t// For widget attributes (using '=' separator), always use quotes\n\t\tif(assign === \":\" && !node.quoted) {\n\t\t\tattributeString += assign + node.value;\n\t\t} else if(assign === \"\") {\n\t\t\t// Positional parameter\n\t\t\tif(!node.quoted) {\n\t\t\t\tattributeString += node.value;\n\t\t\t} else {\n\t\t\t\tattributeString += '\"' + node.value + '\"';\n\t\t\t}\n\t\t} else {\n\t\t\tattributeString += assign + '\"' + node.value + '\"';\n\t\t}\n\t} else if(node.type === \"filtered\") {\n\t\tattributeString += assign + \"{{{\" + node.filter + \"}}}\";\n\t} else if(node.type === \"indirect\") {\n\t\tattributeString += assign + \"{{\" + node.textReference + \"}}\";\n\t} else if(node.type === \"substituted\") {\n\t\tattributeString += assign + \"`\" + node.rawValue + \"`\";\n\t} else if(node.type === \"macro\") {\n\t\tif(node.value && typeof node.value === \"object\") {\n\t\t\tif(node.value.type === \"transclude\") {\n\t\t\t\t// Handle the transclude-based macro call structure\n\t\t\t\tvar macroName = node.value.attributes && node.value.attributes[\"$variable\"] ? \n\t\t\t\t\tnode.value.attributes[\"$variable\"].value : \"\";\n\t\t\t\tif(!macroName) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\tvar params = [];\n\t\t\t\tif(node.value.orderedAttributes) {\n\t\t\t\t\tnode.value.orderedAttributes.forEach(function(attr) {\n\t\t\t\t\t\tif(attr.name !== \"$variable\") {\n\t\t\t\t\t\t\tvar paramStr = exports.serializeAttribute(attr);\n\t\t\t\t\t\t\tif(paramStr) {\n\t\t\t\t\t\t\t\tparams.push(paramStr);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tattributeString += assign + \"<<\" + macroName + (params.length > 0 ? \" \" + params.join(\" \") : \"\") + \">>\";\n\t\t\t} else if(node.value.type === \"macrocall\") {\n\t\t\t\t// Handle the classical macrocall structure for backwards compatibility\n\t\t\t\tvar params = node.value.params.map(function(param) {\n\t\t\t\t\treturn param.value;\n\t\t\t\t}).join(\" \");\n\t\t\t\tattributeString += assign + \"<<\" + node.value.name + \" \" + params + \">>\";\n\t\t\t} else {\n\t\t\t\t// Unsupported macro structure\n\t\t\t\treturn null;\n\t\t\t}\n\t\t} else {\n\t\t\t// Unsupported macro structure\n\t\t\treturn null;\n\t\t}\n\t} else {\n\t\t// Unsupported type\n\t\treturn null;\n\t}\n\treturn attributeString;\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/xlsx-utils/controls.tid",
    "content": "title: $:/plugins/tiddlywiki/xlsx-utils/controls\ncaption: XLSX Utilities\ntags: $:/tags/ControlPanel\n\n\\define help-button(state)\n<$button popup=\"\"\"$:/state/expand-help/$state$\"\"\" class=\"tc-btn-invisible tc-popup-keep\">\n{{$:/core/images/help}}\n</$button>\n\\end\n\n\\define help-content(type,state)\n<$reveal tag=\"span\" state=\"\"\"$:/state/expand-help/$state$\"\"\" type=\"popup\" position=\"below\">\n<div class=\"tc-drop-down tc-popup-keep\" style=\"padding: 0.5em; max-width: 30em; white-space: normal;\">\n<$transclude tiddler=\"\"\"$:/plugins/tiddlywiki/xlsx-utils/docs/$type$\"\"\" mode=\"block\"/>\n</div>\n</$reveal>\n\\end\n\n\\define renameProxyTitle()\n$:/state/plugins/tiddlywiki/xlsx-utils/rename-$(currentTiddler)$\n\\end\n\n\\define rename-current-tiddler()\n<$edit-text tag=\"input\" tiddler=<<renameProxyTitle>> placeholder=\"Rename\" default=<<currentTiddler>> size=\"50\"/>\n<$reveal type=\"nomatch\" state=\"\"\"$(renameProxyTitle)$\"\"\" text=<<currentTiddler>> default=<<currentTiddler>> tag=\"span\">\n<$button>\n<$action-deletetiddler $tiddler=<<renameProxyTitle>>/>\ncancel\n</$button>\n<$button>\n<$action-sendmessage $message=\"tm-rename-tiddler\" from=<<currentTiddler>> to={{$(renameProxyTitle)$}}/>\n<$action-deletetiddler $tiddler=<<renameProxyTitle>>/>\nrename\n</$button>\n<$set name=\"proxy-title\" value={{$(renameProxyTitle)$}}>\n<$list filter=\"\"\"[<proxy-title>is[tiddler]]\"\"\">\nWarning: tiddler already exists\n</$list>\n</$set>\n</$reveal>\n\\end\n\n\\define expand-collapse-button(state)\n<$reveal state=\"\"\"$:/state/expand/$state$\"\"\" type=\"match\" text=\"yes\" default=\"no\" tag=\"span\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"\"\"$:/state/expand/$state$\"\"\" $value=\"no\"/>\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n<$reveal state=\"\"\"$:/state/expand/$state$\"\"\" type=\"nomatch\" text=\"yes\" default=\"no\" tag=\"span\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"\"\"$:/state/expand/$state$\"\"\" $value=\"yes\"/>\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n\\end\n\n\\define expand-collapse-content(state,content,class)\n<$reveal state=\"\"\"$:/state/expand/$state$\"\"\" type=\"match\" text=\"yes\" default=\"no\" tag=\"div\" class=\"\"\"$class$\"\"\" animate=\"yes\" retain=\"yes\">\n$content$\n</$reveal>\n\\end\n\n\\define up-down-buttons(parent,child)\n<$list filter=\"[list<$parent$>butfirst[]field:title<$child$>limit[1]]\" variable=\"listItem\">\n<$button class=\"tc-btn-invisible\">\n<$action-listops $tiddler=<<$parent$>> $subfilter=\"+[move:-1<$child$>]\"/>\n{{$:/core/images/chevron-up}}\n</$button>\n</$list>\n<$list filter=\"[list<$parent$>butlast[]field:title<$child$>limit[1]]\" variable=\"listItem\">\n<$button class=\"tc-btn-invisible\">\n<$action-listops $tiddler=<<$parent$>> $subfilter=\"+[move:1<$child$>]\"/>\n{{$:/core/images/chevron-down}}\n</$button>\n</$list>\n\\end\n\n\\define edit-button(state)\n<$reveal state=\"\"\"$:/state/edit/$state$\"\"\" type=\"nomatch\" text=\"yes\" default=\"no\" tag=\"span\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"\"\"$:/state/edit/$state$\"\"\" $value=\"yes\"/>\n<$action-setfield $tiddler=\"\"\"$:/state/expand/$state$\"\"\" $value=\"yes\"/>\n{{$:/core/images/edit-button}}\n</$button>\n</$reveal>\n<$reveal state=\"\"\"$:/state/edit/$state$\"\"\" type=\"match\" text=\"yes\" default=\"no\" tag=\"span\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"\"\"$:/state/edit/$state$\"\"\" $value=\"no\"/>\n{{$:/core/images/done-button}} Finish editing\n</$button>\n</$reveal>\n\\end\n\n\\define delete-item-button(filter,parent,title,prompt)\n<$button class=\"tc-btn-invisible\">\n<$action-deletetiddler $filter=\"\"\"$filter$\"\"\"/>\n<$action-listops $tiddler=\"\"\"$parent$\"\"\" $subfilter=\"-[[$title$]]\"/>\n{{$:/core/images/delete-button}}$prompt$\n</$button>\n\\end\n\n\\define edit-field()\n<$select tiddler=<<field>> field=\"import-field-list-op\" default=\"none\">\n<option value=\"none\">Set field</option>\n<option value=\"append\">Append to list field</option>\n</$select>\n<$edit-text tiddler=<<field>> field=\"import-field-name\" size=\"10\" tag=\"input\" placeholder=\"field name\"default=\"\"/>\n<$reveal state=\"\"\"$(field)$!!import-field-list-op\"\"\" type=\"match\" text=\"none\" default=\"none\" tag=\"span\">\nto\n</$reveal>\n<$reveal state=\"\"\"$(field)$!!import-field-list-op\"\"\" type=\"match\" text=\"append\" default=\"none\" tag=\"span\">\nthe\n</$reveal>\n<$select tiddler=<<field>> field=\"import-field-type\" default=\"string\">\n<option value=\"date\">date</option>\n<option value=\"string\">string</option>\n<option value=\"number\">number</option>\n</$select>\n<$select tiddler=<<field>> field=\"import-field-source\" default=\"column\">\n<option value=\"column\">from column</option>\n<option value=\"constant\">constant</option>\n</$select>\n<$reveal state=\"\"\"$(field)$!!import-field-source\"\"\" type=\"match\" text=\"column\" default=\"column\" tag=\"span\">\n<$edit-text tiddler=<<field>> field=\"import-field-column\" tag=\"input\" placeholder=\"column\" default=\"\"/>\nprefixed\n<$edit-text tiddler=<<field>> field=\"import-field-prefix\" tag=\"input\" placeholder=\"prefix\" default=\"\"/>,\nsuffixed\n<$edit-text tiddler=<<field>> field=\"import-field-suffix\" tag=\"input\" placeholder=\"suffix\" default=\"\"/>\n</$reveal>\n<$reveal state=\"\"\"$(field)$!!import-field-source\"\"\" type=\"match\" text=\"constant\" default=\"column\" tag=\"span\">\n<$edit-text tiddler=<<field>> field=\"import-field-value\" tag=\"input\" placeholder=\"constant\" default=\"\"/>\n</$reveal>\n<$checkbox tiddler=<<field>> field=\"import-field-skip-tiddler-if-blank\" checked=\"yes\" unchecked=\"no\" default=\"no\">\nSkip this tiddler when field blank\n<br/>\nTitle:\n<$tiddler tiddler=<<field>>>\n<<rename-current-tiddler>>\n</$tiddler>\n\\end\n\n\\define view-field()\n<$link to=<<field>>>\n<$list filter=\"[<field>!has[import-field-list-op]]\" variable=\"listItem\">\nSet field ''<$view tiddler=<<field>> field=\"import-field-name\"/>'' to\n</$list>\n<$list filter=\"[<field>get[import-field-list-op]prefix[append]]\" variable=\"listItem\">\nAppend to list field ''<$view tiddler=<<field>> field=\"import-field-name\"/>''\n</$list>\n<$list filter=\"[<field>has[import-field-prefix]]\" variable=\"listItem\">\n''<code><$view tiddler=<<field>> field=\"import-field-prefix\"/></code>'' +\n</$list>\n<$list filter=\"[<field>get[import-field-type]prefix[date]]\" variable=\"listItem\">\ndate\n</$list>\n<$list filter=\"[<field>get[import-field-source]prefix[column]]\" variable=\"listItem\">\nvalue from column ''<$view tiddler=<<field>> field=\"import-field-column\"/>''\n</$list>\n<$list filter=\"[<field>get[import-field-source]prefix[constant]]\" variable=\"listItem\">\nconstant ''<code><$view tiddler=<<field>> field=\"import-field-value\"/></code>''\n</$list>\n<$list filter=\"[<field>has[import-field-suffix]]\" variable=\"listItem\">\n+ ''<code><$view tiddler=<<field>> field=\"import-field-suffix\"/></code>''\n</$list>\n</$link>\n\\end\n\n\\define list-fields()\n<ul class=\"tc-import-spec-row-list\">\n<$list filter=\"[list<row>]\" variable=\"field\" emptyMessage=\"<div>(No field import specifiers)</div>\">\n<li class=\"tc-import-spec-field-wrapper\">\n<$reveal state=\"\"\"$:/state/edit/$(row)$\"\"\" type=\"match\" text=\"yes\" default=\"no\" tag=\"span\">\n<<edit-field>>\n<<up-down-buttons parent:\"row\" child:\"field\">>\n<$macrocall $name=\"delete-item-button\" filter=\"[<field>]\" parent=<<row>> title=<<field>>/>\n</$reveal>\n<$reveal state=\"\"\"$:/state/edit/$(row)$\"\"\" type=\"nomatch\" text=\"yes\" default=\"no\" tag=\"span\">\n<<view-field>>\n</$reveal>\n</li>\n</$list>\n</ul>\n\\end\n\n\\define view-row-content()\n<$reveal state=\"\"\"$:/state/edit/$(row)$\"\"\" type=\"match\" text=\"yes\" default=\"no\" tag=\"ul\" class=\"tc-import-spec-row-controls\" animate=\"yes\" retain=\"yes\">\n<li>\n<$macrocall $name=\"delete-item-button\" filter=\"[<row>] [<row>getlist[]]\" parent=<<sheet>> title=<<row>> prompt=\" Delete this row\"/>\n</li>\n<li>\nTitle:\n<$tiddler tiddler=<<row>>>\n<<rename-current-tiddler>>\n</$tiddler>\n</li>\n<li>\nRow type:\n<$select tiddler=<<row>> field=\"import-row-type\" default=\"by-field\">\n<option value=\"by-field\">By field</option>\n<option value=\"by-column\">By column</option>\n</$select>\n</li>\n<li>\n<$button class=\"tc-btn-invisible\">\n<$action-createtiddler $basetitle=\"$:/_ExcelImporter/ImportSpecifiers/Field\" $savetitle=\"$:/temp/newtiddler\" import-spec-role=\"field\" import-field-name=\"fieldname\" import-field-type=\"string\" import-field-source=\"column\" import-field-column=\"Column Name\" />\n<$action-listops $tiddler=<<row>> $subfilter=\"[{$:/temp/newtiddler}] +[putfirst[]]\"/>\n{{$:/core/images/new-button}} Add new field\n</$button>\n</li>\n</$reveal>\n<<list-fields>>\n\\end\n\n\\define view-row()\n<div class=\"tc-import-spec-row-wrapper\">\n<h5>\n<$macrocall $name=\"expand-collapse-button\" state=<<row>>/>\nEach row: <$list filter=\"[list<row>import-field-name[title]]\" variable=\"field\" emptyMessage=\"\n<$link to=<<field>>>(title field not set)</$link>\"><<view-field>></$list>\n<$macrocall $name=\"edit-button\" state=<<row>>/>\n<<up-down-buttons parent:\"sheet\" child:\"row\">>\n<$macrocall $name=\"help-button\" state=<<row>>/>\n</h5>\n<$macrocall $name=\"help-content\" type=\"row\" state=<<row>>/>\n<$macrocall $name=\"expand-collapse-content\" state=<<row>> content=<<view-row-content>> class=\"tc-import-spec-row\"/>\n</div>\n\\end\n\n\\define list-rows()\n<div class=\"tc-import-spec-sheet-list\">\n<$list filter=\"[list<sheet>]\" variable=\"row\" emptyMessage=\"<div>(No row import specifiers)</div>\">\n<<view-row>>\n</$list>\n\\end\n\n\\define view-sheet-content()\n<$reveal state=\"\"\"$:/state/edit/$(sheet)$\"\"\" type=\"match\" text=\"yes\" default=\"no\" tag=\"ul\" class=\"tc-import-spec-sheet-controls\" animate=\"yes\" retain=\"yes\">\n<li>\n<$macrocall $name=\"delete-item-button\" filter=\"[<sheet>] [<sheet>getlist[]] [<sheet>getlist[]getlist[]]\" parent=<<workbook>> title=<<sheet>> prompt=\" Delete this sheet\"/>\n</li>\n<li>\nTitle:\n<$tiddler tiddler=<<sheet>>>\n<<rename-current-tiddler>>\n</$tiddler>\n</li>\n<li>\nImport sheet name:\n<$edit-text tiddler=<<sheet>> field=\"import-sheet-name\" size=\"50\"/>\n</li>\n<li>\n<$button class=\"tc-btn-invisible\">\n<$action-createtiddler $basetitle=\"$:/_ExcelImporter/ImportSpecifiers/Row\" $savetitle=\"$:/temp/newtiddler\" import-spec-role=\"row\"/>\n<$action-listops $tiddler=<<sheet>> $subfilter=\"[{$:/temp/newtiddler}] +[putfirst[]]\"/>\n<$action-setfield $tiddler={{{ [{$:/temp/newtiddler}addprefix[$:/state/edit/]] }}} $value=\"yes\"/>\n<$action-setfield $tiddler={{{ [{$:/temp/newtiddler}addprefix[$:/state/expand/]] }}} $value=\"yes\"/>\n{{$:/core/images/new-button}} Add new row\n</$button>\n</li>\n</$reveal>\n<<list-rows>>\n\\end\n\n\\define view-sheet()\n<div class=\"tc-import-spec-sheet-wrapper\">\n<h4>\n<$macrocall $name=\"expand-collapse-button\" state=<<sheet>>/>\nSheet: <$link to=<<sheet>>><$view tiddler=<<sheet>> field=\"import-sheet-name\"/></$link>\n<$macrocall $name=\"edit-button\" state=<<sheet>>/>\n<<up-down-buttons parent:\"workbook\" child:\"sheet\">>\n<$macrocall $name=\"help-button\" state=<<sheet>>/>\n</h4>\n<$macrocall $name=\"help-content\" type=\"sheet\" state=<<sheet>>/>\n<$macrocall $name=\"expand-collapse-content\" state=<<sheet>> content=<<view-sheet-content>> class=\"tc-import-spec-sheet\"/>\n</div>\n\\end\n\n\\define list-sheets()\n<div class=\"tc-import-spec-workbook-list\">\n<$list filter=\"[list<workbook>]\" variable=\"sheet\" emptyMessage=\"<div>(No sheet import specifiers)</div>\">\n<<view-sheet>>\n</$list>\n</div>\n\\end\n\n\\define view-workbook-content()\n<$reveal state=\"\"\"$:/state/edit/$(workbook)$\"\"\" type=\"match\" text=\"yes\" default=\"no\" tag=\"ul\" class=\"tc-import-spec-workbook-controls\" animate=\"yes\" retain=\"yes\">\n<li>\n<$macrocall $name=\"delete-item-button\" filter=\"[<workbook>] [<workbook>getlist[]] [<workbook>getlist[]getlist[]] [<workbook>getlist[]getlist[]getlist[]]\" prompt=\" Delete this workbook\"/>\n</li>\n<li>\nTitle:\n<$tiddler tiddler=<<workbook>>>\n<<rename-current-tiddler>>\n</$tiddler>\n</li>\n<li>\nCaption:\n<$edit-text tiddler=<<workbook>> field=\"caption\" size=\"50\"/>\n</li>\n<li>\n<$button class=\"tc-btn-invisible\">\n<$action-createtiddler $basetitle=\"$:/_ExcelImporter/ImportSpecifiers/Sheet\" $savetitle=\"$:/temp/newtiddler\" import-spec-role=\"sheet\" import-sheet-name=\"Sheet name\"/>\n<$action-listops $tiddler=<<workbook>> $subfilter=\"[{$:/temp/newtiddler}] +[putfirst[]]\"/>\n<$action-setfield $tiddler={{{ [{$:/temp/newtiddler}addprefix[$:/state/edit/]] }}} $value=\"yes\"/>\n<$action-setfield $tiddler={{{ [{$:/temp/newtiddler}addprefix[$:/state/expand/]] }}} $value=\"yes\"/>\n{{$:/core/images/new-button}} Add new sheet\n</$button>\n</li>\n</$reveal>\n<<list-sheets>>\n\\end\n\n\\define view-workbook()\n<div class=\"tc-import-spec-workbook-wrapper\">\n<h3>\n<$macrocall $name=\"expand-collapse-button\" state=<<workbook>>/>\nWorkbook: <$link to=<<workbook>>><$view tiddler=<<workbook>> field=\"caption\"/></$link>\n<$macrocall $name=\"edit-button\" state=<<workbook>>/>\n<$macrocall $name=\"help-button\" state=<<workbook>>/>\n</h3>\n<$macrocall $name=\"help-content\" type=\"workbook\" state=<<workbook>>/>\n<$macrocall $name=\"expand-collapse-content\" state=<<workbook>> content=<<view-workbook-content>> class=\"tc-import-spec-workbook\"/>\n</div>\n\\end\n\n\\define list-workbooks()\n<ul class=\"tc-import-spec-editor-controls\">\n<li>\n<$button class=\"tc-btn-invisible\">\n<$action-createtiddler $basetitle=\"$:/_ExcelImporter/ImportSpecifiers/Workbook\" $savetitle=\"$:/temp/newtiddler\" import-spec-role=\"workbook\" caption=\"New workbook\"/>\n<$action-setfield $tiddler={{{ [{$:/temp/newtiddler}addprefix[$:/state/edit/]] }}} $value=\"yes\"/>\n<$action-setfield $tiddler={{{ [{$:/temp/newtiddler}addprefix[$:/state/expand/]] }}} $value=\"yes\"/>\n{{$:/core/images/new-button}} Add new workbook\n</$button>\n</li>\n</ul>\n<div class=\"tc-import-spec-editor-list\">\n<$list filter=\"[all[shadows+tiddlers]import-spec-role[workbook]sort[caption]]\" variable=\"workbook\">\n<<view-workbook>>\n</$list>\n</div>\n\\end\n\n<h1>\nControls for XLSX Spreadsheet Utilities\n</h1>\n\n<div class=\"tc-import-spec-selector\">\n<h2>\nCurrent Import Specification\n</h2>\n<$list filter=\"[all[shadows+tiddlers]import-spec-role[workbook]limit[1]]\" emptyMessage=\"\"\"\nThere are no import specifications available. Use the controls below to create one\n\"\"\">\nThis is the import specification that will be used for the next import of an `.XLSX` file\n<$select tiddler=\"$:/config/plugins/tiddlywiki/xlsx-utils/default-import-spec\">\n<$list filter=\"[all[shadows+tiddlers]import-spec-role[workbook]sort[caption]]\">\n<option value=<<currentTiddler>>><$text text={{!!caption}}/></option>\n</$list>\n</$select>\n</$list>\n</div>\n\n<div class=\"tc-import-spec-editor-wrapper\">\n<h2>\n Import Specifications\n<$macrocall $name=\"help-button\" state=\"\"/>\n</h2>\n<$macrocall $name=\"help-content\" type=\"editor\" state=\"\"/>\n<div class=\"tc-import-spec-editor\">\n<<list-workbooks>>\n</div>\n</div>\n"
  },
  {
    "path": "plugins/tiddlywiki/xlsx-utils/deserializer.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/xlsx-utils/deserializer.js\ntype: application/javascript\nmodule-type: tiddlerdeserializer\n\nXLSX file deserializer\n\n\\*/\n\n\"use strict\";\n\n/*\nParse an XLSX file into tiddlers\n*/\nexports[\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"] = function(text,fields) {\n\t// Collect output tiddlers in an array\n\tvar XLSXImporter = require(\"$:/plugins/tiddlywiki/xlsx-utils/importer.js\").XLSXImporter,\n\t\timporter = new XLSXImporter({\n\t\t\ttext: text,\n\t\t\twiki: $tw.wiki\n\t\t});\n\t// Return the output tiddlers\n\treturn importer.getResults();\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/xlsx-utils/docs/editor.tid",
    "content": "title: $:/plugins/tiddlywiki/xlsx-utils/docs/editor\n\n!!! Import Specifications\n\nImport specifications govern how spreadsheets are converted into individual tiddlers.\n\nEach \"workbook\" describes how spreadsheets of a particular format should be converted.\n"
  },
  {
    "path": "plugins/tiddlywiki/xlsx-utils/docs/row.tid",
    "content": "title: $:/plugins/tiddlywiki/xlsx-utils/docs/row\n\n!!! Row Import Specifications\n\nEach row import specification describes how one tiddler should be extracted from each row of the current sheet.\n\nNote that using multiple row import specifications within a sheet enables multiple tiddlers to be created from each row of the sheet.\n\nRows contain a list of field import specifications that describe how each field of the tiddler should be created.\n\n!!! Field Import Specifications\n\nField import specifications describe the value given to a particular field of a tiddler.\n\nThey follow a rich syntax for describing how each field of the tiddler is created. For example:\n\n* Set field `title` to string from column `Organization`\n* Set field `role` to string constant `organization`\n* Append to list field `list` the string from column `Country` prefixed with `Map:`\n\n"
  },
  {
    "path": "plugins/tiddlywiki/xlsx-utils/docs/sheet.tid",
    "content": "title: $:/plugins/tiddlywiki/xlsx-utils/docs/sheet\n\n!!! Sheet Import Specifications\n\nEach sheet import specification describes how a named sheet within a workbook should be converted into individual tiddlers.\n\nSheets contain a list of row import specifications that describe how individual rows of the sheet should be handled.\n\nEach sheet has the name of the sheet that it handles.\n\nNote that the first row of each sheet is interpreted as the title of each column.\n"
  },
  {
    "path": "plugins/tiddlywiki/xlsx-utils/docs/workbook.tid",
    "content": "title: $:/plugins/tiddlywiki/xlsx-utils/docs/workbook\n\n!!! Workbook Import Specifications\n\nEach workbook import specification describes how spreadsheets of a particular format should be converted into individual tiddlers.\n\nCreate a new workbook for each type of spreadsheet that you will be working with.\n\nWorkbooks contain a list of sheet import specifications that describe how individual sheets of the workbook should be handled.\n\nEach workbook has a caption that you can use to describe its purpose.\n"
  },
  {
    "path": "plugins/tiddlywiki/xlsx-utils/files/LICENSE",
    "content": "                                 Apache License\n                           Version 2.0, January 2004\n                        http://www.apache.org/licenses/\n\n   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n   1. Definitions.\n\n      \"License\" shall mean the terms and conditions for use, reproduction,\n      and distribution as defined by Sections 1 through 9 of this document.\n\n      \"Licensor\" shall mean the copyright owner or entity authorized by\n      the copyright owner that is granting the License.\n\n      \"Legal Entity\" shall mean the union of the acting entity and all\n      other entities that control, are controlled by, or are under common\n      control with that entity. For the purposes of this definition,\n      \"control\" means (i) the power, direct or indirect, to cause the\n      direction or management of such entity, whether by contract or\n      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n      outstanding shares, or (iii) beneficial ownership of such entity.\n\n      \"You\" (or \"Your\") shall mean an individual or Legal Entity\n      exercising permissions granted by this License.\n\n      \"Source\" form shall mean the preferred form for making modifications,\n      including but not limited to software source code, documentation\n      source, and configuration files.\n\n      \"Object\" form shall mean any form resulting from mechanical\n      transformation or translation of a Source form, including but\n      not limited to compiled object code, generated documentation,\n      and conversions to other media types.\n\n      \"Work\" shall mean the work of authorship, whether in Source or\n      Object form, made available under the License, as indicated by a\n      copyright notice that is included in or attached to the work\n      (an example is provided in the Appendix below).\n\n      \"Derivative Works\" shall mean any work, whether in Source or Object\n      form, that is based on (or derived from) the Work and for which the\n      editorial revisions, annotations, elaborations, or other modifications\n      represent, as a whole, an original work of authorship. For the purposes\n      of this License, Derivative Works shall not include works that remain\n      separable from, or merely link (or bind by name) to the interfaces of,\n      the Work and Derivative Works thereof.\n\n      \"Contribution\" shall mean any work of authorship, including\n      the original version of the Work and any modifications or additions\n      to that Work or Derivative Works thereof, that is intentionally\n      submitted to Licensor for inclusion in the Work by the copyright owner\n      or by an individual or Legal Entity authorized to submit on behalf of\n      the copyright owner. For the purposes of this definition, \"submitted\"\n      means any form of electronic, verbal, or written communication sent\n      to the Licensor or its representatives, including but not limited to\n      communication on electronic mailing lists, source code control systems,\n      and issue tracking systems that are managed by, or on behalf of, the\n      Licensor for the purpose of discussing and improving the Work, but\n      excluding communication that is conspicuously marked or otherwise\n      designated in writing by the copyright owner as \"Not a Contribution.\"\n\n      \"Contributor\" shall mean Licensor and any individual or Legal Entity\n      on behalf of whom a Contribution has been received by Licensor and\n      subsequently incorporated within the Work.\n\n   2. Grant of Copyright License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      copyright license to reproduce, prepare Derivative Works of,\n      publicly display, publicly perform, sublicense, and distribute the\n      Work and such Derivative Works in Source or Object form.\n\n   3. Grant of Patent License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      (except as stated in this section) patent license to make, have made,\n      use, offer to sell, sell, import, and otherwise transfer the Work,\n      where such license applies only to those patent claims licensable\n      by such Contributor that are necessarily infringed by their\n      Contribution(s) alone or by combination of their Contribution(s)\n      with the Work to which such Contribution(s) was submitted. If You\n      institute patent litigation against any entity (including a\n      cross-claim or counterclaim in a lawsuit) alleging that the Work\n      or a Contribution incorporated within the Work constitutes direct\n      or contributory patent infringement, then any patent licenses\n      granted to You under this License for that Work shall terminate\n      as of the date such litigation is filed.\n\n   4. Redistribution. You may reproduce and distribute copies of the\n      Work or Derivative Works thereof in any medium, with or without\n      modifications, and in Source or Object form, provided that You\n      meet the following conditions:\n\n      (a) You must give any other recipients of the Work or\n          Derivative Works a copy of this License; and\n\n      (b) You must cause any modified files to carry prominent notices\n          stating that You changed the files; and\n\n      (c) You must retain, in the Source form of any Derivative Works\n          that You distribute, all copyright, patent, trademark, and\n          attribution notices from the Source form of the Work,\n          excluding those notices that do not pertain to any part of\n          the Derivative Works; and\n\n      (d) If the Work includes a \"NOTICE\" text file as part of its\n          distribution, then any Derivative Works that You distribute must\n          include a readable copy of the attribution notices contained\n          within such NOTICE file, excluding those notices that do not\n          pertain to any part of the Derivative Works, in at least one\n          of the following places: within a NOTICE text file distributed\n          as part of the Derivative Works; within the Source form or\n          documentation, if provided along with the Derivative Works; or,\n          within a display generated by the Derivative Works, if and\n          wherever such third-party notices normally appear. The contents\n          of the NOTICE file are for informational purposes only and\n          do not modify the License. You may add Your own attribution\n          notices within Derivative Works that You distribute, alongside\n          or as an addendum to the NOTICE text from the Work, provided\n          that such additional attribution notices cannot be construed\n          as modifying the License.\n\n      You may add Your own copyright statement to Your modifications and\n      may provide additional or different license terms and conditions\n      for use, reproduction, or distribution of Your modifications, or\n      for any such Derivative Works as a whole, provided Your use,\n      reproduction, and distribution of the Work otherwise complies with\n      the conditions stated in this License.\n\n   5. Submission of Contributions. Unless You explicitly state otherwise,\n      any Contribution intentionally submitted for inclusion in the Work\n      by You to the Licensor shall be under the terms and conditions of\n      this License, without any additional terms or conditions.\n      Notwithstanding the above, nothing herein shall supersede or modify\n      the terms of any separate license agreement you may have executed\n      with Licensor regarding such Contributions.\n\n   6. Trademarks. This License does not grant permission to use the trade\n      names, trademarks, service marks, or product names of the Licensor,\n      except as required for reasonable and customary use in describing the\n      origin of the Work and reproducing the content of the NOTICE file.\n\n   7. Disclaimer of Warranty. Unless required by applicable law or\n      agreed to in writing, Licensor provides the Work (and each\n      Contributor provides its Contributions) on an \"AS IS\" BASIS,\n      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n      implied, including, without limitation, any warranties or conditions\n      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n      PARTICULAR PURPOSE. You are solely responsible for determining the\n      appropriateness of using or redistributing the Work and assume any\n      risks associated with Your exercise of permissions under this License.\n\n   8. Limitation of Liability. In no event and under no legal theory,\n      whether in tort (including negligence), contract, or otherwise,\n      unless required by applicable law (such as deliberate and grossly\n      negligent acts) or agreed to in writing, shall any Contributor be\n      liable to You for damages, including any direct, indirect, special,\n      incidental, or consequential damages of any character arising as a\n      result of this License or out of the use or inability to use the\n      Work (including but not limited to damages for loss of goodwill,\n      work stoppage, computer failure or malfunction, or any and all\n      other commercial damages or losses), even if such Contributor\n      has been advised of the possibility of such damages.\n\n   9. Accepting Warranty or Additional Liability. While redistributing\n      the Work or Derivative Works thereof, You may choose to offer,\n      and charge a fee for, acceptance of support, warranty, indemnity,\n      or other liability obligations and/or rights consistent with this\n      License. However, in accepting such obligations, You may act only\n      on Your own behalf and on Your sole responsibility, not on behalf\n      of any other Contributor, and only if You agree to indemnify,\n      defend, and hold each Contributor harmless for any liability\n      incurred by, or claims asserted against, such Contributor by reason\n      of your accepting any such warranty or additional liability.\n\n   END OF TERMS AND CONDITIONS\n\n   APPENDIX: How to apply the Apache License to your work.\n\n      To apply the Apache License to your work, attach the following\n      boilerplate notice, with the fields enclosed by brackets \"{}\"\n      replaced with your own identifying information. (Don't include\n      the brackets!)  The text should be enclosed in the appropriate\n      comment syntax for the file format. We also recommend that a\n      file or class name and description of purpose be included on the\n      same \"printed page\" as the copyright notice for easier\n      identification within third-party archives.\n\n   Copyright (C) 2012-present   SheetJS LLC\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n"
  },
  {
    "path": "plugins/tiddlywiki/xlsx-utils/files/cpexcel.js",
    "content": "/*! cpexcel.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/*jshint -W100 */\nvar cptable = {version:\"1.15.0\"};\ncptable[437] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñÑªº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[620] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàąçêëèïîćÄĄĘęłôöĆûùŚÖÜ¢Ł¥śƒŹŻóÓńŃźż¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[737] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρσςτυφχψ░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀ωάέήϊίόύϋώΆΈΉΊΌΎΏ±≥≤ΪΫ÷≈°∙·√ⁿ²■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[850] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø×ƒáíóúñÑªº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ðÐÊËÈıÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµþÞÚÛÙýÝ¯´­±‗¾¶§÷¸°¨·¹³²■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[852] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäůćçłëŐőîŹÄĆÉĹĺôöĽľŚśÖÜŤťŁ×čáíóúĄąŽžĘę¬źČş«»░▒▓│┤ÁÂĚŞ╣║╗╝Żż┐└┴┬├─┼Ăă╚╔╩╦╠═╬¤đĐĎËďŇÍÎě┘┌█▄ŢŮ▀ÓßÔŃńňŠšŔÚŕŰýÝţ´­˝˛ˇ˘§÷¸°¨˙űŘř■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[857] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîıÄÅÉæÆôöòûùİÖÜø£ØŞşáíóúñÑĞğ¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ºªÊËÈ�ÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµ�×ÚÛÙìÿ¯´­±�¾¶§÷¸°¨·¹³²■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[861] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèÐðÞÄÅÉæÆôöþûÝýÖÜø£Ø₧ƒáíóúÁÍÓÚ¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[865] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø₧ƒáíóúñÑªº¿⌐¬½¼¡«¤░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[866] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№¤■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[874] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€����…�����������‘’“”•–—�������� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[895] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ČüéďäĎŤčěĚĹÍľǪÄÁÉžŽôöÓůÚýÖÜŠĽÝŘťáíóúňŇŮÔšřŕŔ¼§«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[932] = (function(){ var d = [], e = {}, D = [], j;\nD[0] = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~���������������������������������｡｢｣､･ｦｧｨｩｪｫｬｭｮｯｰｱｲｳｴｵｶｷｸｹｺｻｼｽｾｿﾀﾁﾂﾃﾄﾅﾆﾇﾈﾉﾊﾋﾌﾍﾎﾏﾐﾑﾒﾓﾔﾕﾖﾗﾘﾙﾚﾛﾜﾝﾞﾟ��������������������������������\".split(\"\");\nfor(j = 0; j != D[0].length; ++j) if(D[0][j].charCodeAt(0) !== 0xFFFD) { e[D[0][j]] = 0 + j; d[0 + j] = D[0][j];}\nD[129] = \"����������������������������������������������������������������　、。，．・：；？！゛゜´｀¨＾￣＿ヽヾゝゞ〃仝々〆〇ー―‐／＼～∥｜…‥‘’“”（）〔〕［］｛｝〈〉《》「」『』【】＋－±×�÷＝≠＜＞≦≧∞∴♂♀°′″℃￥＄￠￡％＃＆＊＠§☆★○●◎◇◆□■△▲▽▼※〒→←↑↓〓�����������∈∋⊆⊇⊂⊃∪∩��������∧∨￢⇒⇔∀∃�����������∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬�������Å‰♯♭♪†‡¶����◯���\".split(\"\");\nfor(j = 0; j != D[129].length; ++j) if(D[129][j].charCodeAt(0) !== 0xFFFD) { e[D[129][j]] = 33024 + j; d[33024 + j] = D[129][j];}\nD[130] = \"�������������������������������������������������������������������������������０１２３４５６７８９�������ＡＢＣＤＥＦＧＨＩＪＫＬＭＮＯＰＱＲＳＴＵＶＷＸＹＺ�������ａｂｃｄｅｆｇｈｉｊｋｌｍｎｏｐｑｒｓｔｕｖｗｘｙｚ����ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん��������������\".split(\"\");\nfor(j = 0; j != D[130].length; ++j) if(D[130][j].charCodeAt(0) !== 0xFFFD) { e[D[130][j]] = 33280 + j; d[33280 + j] = D[130][j];}\nD[131] = \"����������������������������������������������������������������ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミ�ムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ��������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω�����������������������������������������\".split(\"\");\nfor(j = 0; j != D[131].length; ++j) if(D[131][j].charCodeAt(0) !== 0xFFFD) { e[D[131][j]] = 33536 + j; d[33536 + j] = D[131][j];}\nD[132] = \"����������������������������������������������������������������АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмн�опрстуфхцчшщъыьэюя�������������─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂�����������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[132].length; ++j) if(D[132][j].charCodeAt(0) !== 0xFFFD) { e[D[132][j]] = 33792 + j; d[33792 + j] = D[132][j];}\nD[135] = \"����������������������������������������������������������������①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ�㍉㌔㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡��������㍻�〝〟№㏍℡㊤㊥㊦㊧㊨㈱㈲㈹㍾㍽㍼≒≡∫∮∑√⊥∠∟⊿∵∩∪���������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[135].length; ++j) if(D[135][j].charCodeAt(0) !== 0xFFFD) { e[D[135][j]] = 34560 + j; d[34560 + j] = D[135][j];}\nD[136] = \"���������������������������������������������������������������������������������������������������������������������������������������������������������������亜唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位依偉囲夷委威尉惟意慰易椅為畏異移維緯胃萎衣謂違遺医井亥域育郁磯一壱溢逸稲茨芋鰯允印咽員因姻引飲淫胤蔭���\".split(\"\");\nfor(j = 0; j != D[136].length; ++j) if(D[136][j].charCodeAt(0) !== 0xFFFD) { e[D[136][j]] = 34816 + j; d[34816 + j] = D[136][j];}\nD[137] = \"����������������������������������������������������������������院陰隠韻吋右宇烏羽迂雨卯鵜窺丑碓臼渦嘘唄欝蔚鰻姥厩浦瓜閏噂云運雲荏餌叡営嬰影映曳栄永泳洩瑛盈穎頴英衛詠鋭液疫益駅悦謁越閲榎厭円�園堰奄宴延怨掩援沿演炎焔煙燕猿縁艶苑薗遠鉛鴛塩於汚甥凹央奥往応押旺横欧殴王翁襖鴬鴎黄岡沖荻億屋憶臆桶牡乙俺卸恩温穏音下化仮何伽価佳加可嘉夏嫁家寡科暇果架歌河火珂禍禾稼箇花苛茄荷華菓蝦課嘩貨迦過霞蚊俄峨我牙画臥芽蛾賀雅餓駕介会解回塊壊廻快怪悔恢懐戒拐改���\".split(\"\");\nfor(j = 0; j != D[137].length; ++j) if(D[137][j].charCodeAt(0) !== 0xFFFD) { e[D[137][j]] = 35072 + j; d[35072 + j] = D[137][j];}\nD[138] = \"����������������������������������������������������������������魁晦械海灰界皆絵芥蟹開階貝凱劾外咳害崖慨概涯碍蓋街該鎧骸浬馨蛙垣柿蛎鈎劃嚇各廓拡撹格核殻獲確穫覚角赫較郭閣隔革学岳楽額顎掛笠樫�橿梶鰍潟割喝恰括活渇滑葛褐轄且鰹叶椛樺鞄株兜竃蒲釜鎌噛鴨栢茅萱粥刈苅瓦乾侃冠寒刊勘勧巻喚堪姦完官寛干幹患感慣憾換敢柑桓棺款歓汗漢澗潅環甘監看竿管簡緩缶翰肝艦莞観諌貫還鑑間閑関陥韓館舘丸含岸巌玩癌眼岩翫贋雁頑顔願企伎危喜器基奇嬉寄岐希幾忌揮机旗既期棋棄���\".split(\"\");\nfor(j = 0; j != D[138].length; ++j) if(D[138][j].charCodeAt(0) !== 0xFFFD) { e[D[138][j]] = 35328 + j; d[35328 + j] = D[138][j];}\nD[139] = \"����������������������������������������������������������������機帰毅気汽畿祈季稀紀徽規記貴起軌輝飢騎鬼亀偽儀妓宜戯技擬欺犠疑祇義蟻誼議掬菊鞠吉吃喫桔橘詰砧杵黍却客脚虐逆丘久仇休及吸宮弓急救�朽求汲泣灸球究窮笈級糾給旧牛去居巨拒拠挙渠虚許距鋸漁禦魚亨享京供侠僑兇競共凶協匡卿叫喬境峡強彊怯恐恭挟教橋況狂狭矯胸脅興蕎郷鏡響饗驚仰凝尭暁業局曲極玉桐粁僅勤均巾錦斤欣欽琴禁禽筋緊芹菌衿襟謹近金吟銀九倶句区狗玖矩苦躯駆駈駒具愚虞喰空偶寓遇隅串櫛釧屑屈���\".split(\"\");\nfor(j = 0; j != D[139].length; ++j) if(D[139][j].charCodeAt(0) !== 0xFFFD) { e[D[139][j]] = 35584 + j; d[35584 + j] = D[139][j];}\nD[140] = \"����������������������������������������������������������������掘窟沓靴轡窪熊隈粂栗繰桑鍬勲君薫訓群軍郡卦袈祁係傾刑兄啓圭珪型契形径恵慶慧憩掲携敬景桂渓畦稽系経継繋罫茎荊蛍計詣警軽頚鶏芸迎鯨�劇戟撃激隙桁傑欠決潔穴結血訣月件倹倦健兼券剣喧圏堅嫌建憲懸拳捲検権牽犬献研硯絹県肩見謙賢軒遣鍵険顕験鹸元原厳幻弦減源玄現絃舷言諺限乎個古呼固姑孤己庫弧戸故枯湖狐糊袴股胡菰虎誇跨鈷雇顧鼓五互伍午呉吾娯後御悟梧檎瑚碁語誤護醐乞鯉交佼侯候倖光公功効勾厚口向���\".split(\"\");\nfor(j = 0; j != D[140].length; ++j) if(D[140][j].charCodeAt(0) !== 0xFFFD) { e[D[140][j]] = 35840 + j; d[35840 + j] = D[140][j];}\nD[141] = \"����������������������������������������������������������������后喉坑垢好孔孝宏工巧巷幸広庚康弘恒慌抗拘控攻昂晃更杭校梗構江洪浩港溝甲皇硬稿糠紅紘絞綱耕考肯肱腔膏航荒行衡講貢購郊酵鉱砿鋼閤降�項香高鴻剛劫号合壕拷濠豪轟麹克刻告国穀酷鵠黒獄漉腰甑忽惚骨狛込此頃今困坤墾婚恨懇昏昆根梱混痕紺艮魂些佐叉唆嵯左差査沙瑳砂詐鎖裟坐座挫債催再最哉塞妻宰彩才採栽歳済災采犀砕砦祭斎細菜裁載際剤在材罪財冴坂阪堺榊肴咲崎埼碕鷺作削咋搾昨朔柵窄策索錯桜鮭笹匙冊刷���\".split(\"\");\nfor(j = 0; j != D[141].length; ++j) if(D[141][j].charCodeAt(0) !== 0xFFFD) { e[D[141][j]] = 36096 + j; d[36096 + j] = D[141][j];}\nD[142] = \"����������������������������������������������������������������察拶撮擦札殺薩雑皐鯖捌錆鮫皿晒三傘参山惨撒散桟燦珊産算纂蚕讃賛酸餐斬暫残仕仔伺使刺司史嗣四士始姉姿子屍市師志思指支孜斯施旨枝止�死氏獅祉私糸紙紫肢脂至視詞詩試誌諮資賜雌飼歯事似侍児字寺慈持時次滋治爾璽痔磁示而耳自蒔辞汐鹿式識鴫竺軸宍雫七叱執失嫉室悉湿漆疾質実蔀篠偲柴芝屡蕊縞舎写射捨赦斜煮社紗者謝車遮蛇邪借勺尺杓灼爵酌釈錫若寂弱惹主取守手朱殊狩珠種腫趣酒首儒受呪寿授樹綬需囚収周���\".split(\"\");\nfor(j = 0; j != D[142].length; ++j) if(D[142][j].charCodeAt(0) !== 0xFFFD) { e[D[142][j]] = 36352 + j; d[36352 + j] = D[142][j];}\nD[143] = \"����������������������������������������������������������������宗就州修愁拾洲秀秋終繍習臭舟蒐衆襲讐蹴輯週酋酬集醜什住充十従戎柔汁渋獣縦重銃叔夙宿淑祝縮粛塾熟出術述俊峻春瞬竣舜駿准循旬楯殉淳�準潤盾純巡遵醇順処初所暑曙渚庶緒署書薯藷諸助叙女序徐恕鋤除傷償勝匠升召哨商唱嘗奨妾娼宵将小少尚庄床廠彰承抄招掌捷昇昌昭晶松梢樟樵沼消渉湘焼焦照症省硝礁祥称章笑粧紹肖菖蒋蕉衝裳訟証詔詳象賞醤鉦鍾鐘障鞘上丈丞乗冗剰城場壌嬢常情擾条杖浄状畳穣蒸譲醸錠嘱埴飾���\".split(\"\");\nfor(j = 0; j != D[143].length; ++j) if(D[143][j].charCodeAt(0) !== 0xFFFD) { e[D[143][j]] = 36608 + j; d[36608 + j] = D[143][j];}\nD[144] = \"����������������������������������������������������������������拭植殖燭織職色触食蝕辱尻伸信侵唇娠寝審心慎振新晋森榛浸深申疹真神秦紳臣芯薪親診身辛進針震人仁刃塵壬尋甚尽腎訊迅陣靭笥諏須酢図厨�逗吹垂帥推水炊睡粋翠衰遂酔錐錘随瑞髄崇嵩数枢趨雛据杉椙菅頗雀裾澄摺寸世瀬畝是凄制勢姓征性成政整星晴棲栖正清牲生盛精聖声製西誠誓請逝醒青静斉税脆隻席惜戚斥昔析石積籍績脊責赤跡蹟碩切拙接摂折設窃節説雪絶舌蝉仙先千占宣専尖川戦扇撰栓栴泉浅洗染潜煎煽旋穿箭線���\".split(\"\");\nfor(j = 0; j != D[144].length; ++j) if(D[144][j].charCodeAt(0) !== 0xFFFD) { e[D[144][j]] = 36864 + j; d[36864 + j] = D[144][j];}\nD[145] = \"����������������������������������������������������������������繊羨腺舛船薦詮賎践選遷銭銑閃鮮前善漸然全禅繕膳糎噌塑岨措曾曽楚狙疏疎礎祖租粗素組蘇訴阻遡鼠僧創双叢倉喪壮奏爽宋層匝惣想捜掃挿掻�操早曹巣槍槽漕燥争痩相窓糟総綜聡草荘葬蒼藻装走送遭鎗霜騒像増憎臓蔵贈造促側則即息捉束測足速俗属賊族続卒袖其揃存孫尊損村遜他多太汰詑唾堕妥惰打柁舵楕陀駄騨体堆対耐岱帯待怠態戴替泰滞胎腿苔袋貸退逮隊黛鯛代台大第醍題鷹滝瀧卓啄宅托択拓沢濯琢託鐸濁諾茸凧蛸只���\".split(\"\");\nfor(j = 0; j != D[145].length; ++j) if(D[145][j].charCodeAt(0) !== 0xFFFD) { e[D[145][j]] = 37120 + j; d[37120 + j] = D[145][j];}\nD[146] = \"����������������������������������������������������������������叩但達辰奪脱巽竪辿棚谷狸鱈樽誰丹単嘆坦担探旦歎淡湛炭短端箪綻耽胆蛋誕鍛団壇弾断暖檀段男談値知地弛恥智池痴稚置致蜘遅馳築畜竹筑蓄�逐秩窒茶嫡着中仲宙忠抽昼柱注虫衷註酎鋳駐樗瀦猪苧著貯丁兆凋喋寵帖帳庁弔張彫徴懲挑暢朝潮牒町眺聴脹腸蝶調諜超跳銚長頂鳥勅捗直朕沈珍賃鎮陳津墜椎槌追鎚痛通塚栂掴槻佃漬柘辻蔦綴鍔椿潰坪壷嬬紬爪吊釣鶴亭低停偵剃貞呈堤定帝底庭廷弟悌抵挺提梯汀碇禎程締艇訂諦蹄逓���\".split(\"\");\nfor(j = 0; j != D[146].length; ++j) if(D[146][j].charCodeAt(0) !== 0xFFFD) { e[D[146][j]] = 37376 + j; d[37376 + j] = D[146][j];}\nD[147] = \"����������������������������������������������������������������邸鄭釘鼎泥摘擢敵滴的笛適鏑溺哲徹撤轍迭鉄典填天展店添纏甜貼転顛点伝殿澱田電兎吐堵塗妬屠徒斗杜渡登菟賭途都鍍砥砺努度土奴怒倒党冬�凍刀唐塔塘套宕島嶋悼投搭東桃梼棟盗淘湯涛灯燈当痘祷等答筒糖統到董蕩藤討謄豆踏逃透鐙陶頭騰闘働動同堂導憧撞洞瞳童胴萄道銅峠鴇匿得徳涜特督禿篤毒独読栃橡凸突椴届鳶苫寅酉瀞噸屯惇敦沌豚遁頓呑曇鈍奈那内乍凪薙謎灘捺鍋楢馴縄畷南楠軟難汝二尼弐迩匂賑肉虹廿日乳入���\".split(\"\");\nfor(j = 0; j != D[147].length; ++j) if(D[147][j].charCodeAt(0) !== 0xFFFD) { e[D[147][j]] = 37632 + j; d[37632 + j] = D[147][j];}\nD[148] = \"����������������������������������������������������������������如尿韮任妊忍認濡禰祢寧葱猫熱年念捻撚燃粘乃廼之埜嚢悩濃納能脳膿農覗蚤巴把播覇杷波派琶破婆罵芭馬俳廃拝排敗杯盃牌背肺輩配倍培媒梅�楳煤狽買売賠陪這蝿秤矧萩伯剥博拍柏泊白箔粕舶薄迫曝漠爆縛莫駁麦函箱硲箸肇筈櫨幡肌畑畠八鉢溌発醗髪伐罰抜筏閥鳩噺塙蛤隼伴判半反叛帆搬斑板氾汎版犯班畔繁般藩販範釆煩頒飯挽晩番盤磐蕃蛮匪卑否妃庇彼悲扉批披斐比泌疲皮碑秘緋罷肥被誹費避非飛樋簸備尾微枇毘琵眉美���\".split(\"\");\nfor(j = 0; j != D[148].length; ++j) if(D[148][j].charCodeAt(0) !== 0xFFFD) { e[D[148][j]] = 37888 + j; d[37888 + j] = D[148][j];}\nD[149] = \"����������������������������������������������������������������鼻柊稗匹疋髭彦膝菱肘弼必畢筆逼桧姫媛紐百謬俵彪標氷漂瓢票表評豹廟描病秒苗錨鋲蒜蛭鰭品彬斌浜瀕貧賓頻敏瓶不付埠夫婦富冨布府怖扶敷�斧普浮父符腐膚芙譜負賦赴阜附侮撫武舞葡蕪部封楓風葺蕗伏副復幅服福腹複覆淵弗払沸仏物鮒分吻噴墳憤扮焚奮粉糞紛雰文聞丙併兵塀幣平弊柄並蔽閉陛米頁僻壁癖碧別瞥蔑箆偏変片篇編辺返遍便勉娩弁鞭保舗鋪圃捕歩甫補輔穂募墓慕戊暮母簿菩倣俸包呆報奉宝峰峯崩庖抱捧放方朋���\".split(\"\");\nfor(j = 0; j != D[149].length; ++j) if(D[149][j].charCodeAt(0) !== 0xFFFD) { e[D[149][j]] = 38144 + j; d[38144 + j] = D[149][j];}\nD[150] = \"����������������������������������������������������������������法泡烹砲縫胞芳萌蓬蜂褒訪豊邦鋒飽鳳鵬乏亡傍剖坊妨帽忘忙房暴望某棒冒紡肪膨謀貌貿鉾防吠頬北僕卜墨撲朴牧睦穆釦勃没殆堀幌奔本翻凡盆�摩磨魔麻埋妹昧枚毎哩槙幕膜枕鮪柾鱒桝亦俣又抹末沫迄侭繭麿万慢満漫蔓味未魅巳箕岬密蜜湊蓑稔脈妙粍民眠務夢無牟矛霧鵡椋婿娘冥名命明盟迷銘鳴姪牝滅免棉綿緬面麺摸模茂妄孟毛猛盲網耗蒙儲木黙目杢勿餅尤戻籾貰問悶紋門匁也冶夜爺耶野弥矢厄役約薬訳躍靖柳薮鑓愉愈油癒���\".split(\"\");\nfor(j = 0; j != D[150].length; ++j) if(D[150][j].charCodeAt(0) !== 0xFFFD) { e[D[150][j]] = 38400 + j; d[38400 + j] = D[150][j];}\nD[151] = \"����������������������������������������������������������������諭輸唯佑優勇友宥幽悠憂揖有柚湧涌猶猷由祐裕誘遊邑郵雄融夕予余与誉輿預傭幼妖容庸揚揺擁曜楊様洋溶熔用窯羊耀葉蓉要謡踊遥陽養慾抑欲�沃浴翌翼淀羅螺裸来莱頼雷洛絡落酪乱卵嵐欄濫藍蘭覧利吏履李梨理璃痢裏裡里離陸律率立葎掠略劉流溜琉留硫粒隆竜龍侶慮旅虜了亮僚両凌寮料梁涼猟療瞭稜糧良諒遼量陵領力緑倫厘林淋燐琳臨輪隣鱗麟瑠塁涙累類令伶例冷励嶺怜玲礼苓鈴隷零霊麗齢暦歴列劣烈裂廉恋憐漣煉簾練聯���\".split(\"\");\nfor(j = 0; j != D[151].length; ++j) if(D[151][j].charCodeAt(0) !== 0xFFFD) { e[D[151][j]] = 38656 + j; d[38656 + j] = D[151][j];}\nD[152] = \"����������������������������������������������������������������蓮連錬呂魯櫓炉賂路露労婁廊弄朗楼榔浪漏牢狼篭老聾蝋郎六麓禄肋録論倭和話歪賄脇惑枠鷲亙亘鰐詫藁蕨椀湾碗腕��������������������������������������������弌丐丕个丱丶丼丿乂乖乘亂亅豫亊舒弍于亞亟亠亢亰亳亶从仍仄仆仂仗仞仭仟价伉佚估佛佝佗佇佶侈侏侘佻佩佰侑佯來侖儘俔俟俎俘俛俑俚俐俤俥倚倨倔倪倥倅伜俶倡倩倬俾俯們倆偃假會偕偐偈做偖偬偸傀傚傅傴傲���\".split(\"\");\nfor(j = 0; j != D[152].length; ++j) if(D[152][j].charCodeAt(0) !== 0xFFFD) { e[D[152][j]] = 38912 + j; d[38912 + j] = D[152][j];}\nD[153] = \"����������������������������������������������������������������僉僊傳僂僖僞僥僭僣僮價僵儉儁儂儖儕儔儚儡儺儷儼儻儿兀兒兌兔兢竸兩兪兮冀冂囘册冉冏冑冓冕冖冤冦冢冩冪冫决冱冲冰况冽凅凉凛几處凩凭�凰凵凾刄刋刔刎刧刪刮刳刹剏剄剋剌剞剔剪剴剩剳剿剽劍劔劒剱劈劑辨辧劬劭劼劵勁勍勗勞勣勦飭勠勳勵勸勹匆匈甸匍匐匏匕匚匣匯匱匳匸區卆卅丗卉卍凖卞卩卮夘卻卷厂厖厠厦厥厮厰厶參簒雙叟曼燮叮叨叭叺吁吽呀听吭吼吮吶吩吝呎咏呵咎呟呱呷呰咒呻咀呶咄咐咆哇咢咸咥咬哄哈咨���\".split(\"\");\nfor(j = 0; j != D[153].length; ++j) if(D[153][j].charCodeAt(0) !== 0xFFFD) { e[D[153][j]] = 39168 + j; d[39168 + j] = D[153][j];}\nD[154] = \"����������������������������������������������������������������咫哂咤咾咼哘哥哦唏唔哽哮哭哺哢唹啀啣啌售啜啅啖啗唸唳啝喙喀咯喊喟啻啾喘喞單啼喃喩喇喨嗚嗅嗟嗄嗜嗤嗔嘔嗷嘖嗾嗽嘛嗹噎噐營嘴嘶嘲嘸�噫噤嘯噬噪嚆嚀嚊嚠嚔嚏嚥嚮嚶嚴囂嚼囁囃囀囈囎囑囓囗囮囹圀囿圄圉圈國圍圓團圖嗇圜圦圷圸坎圻址坏坩埀垈坡坿垉垓垠垳垤垪垰埃埆埔埒埓堊埖埣堋堙堝塲堡塢塋塰毀塒堽塹墅墹墟墫墺壞墻墸墮壅壓壑壗壙壘壥壜壤壟壯壺壹壻壼壽夂夊夐夛梦夥夬夭夲夸夾竒奕奐奎奚奘奢奠奧奬奩���\".split(\"\");\nfor(j = 0; j != D[154].length; ++j) if(D[154][j].charCodeAt(0) !== 0xFFFD) { e[D[154][j]] = 39424 + j; d[39424 + j] = D[154][j];}\nD[155] = \"����������������������������������������������������������������奸妁妝佞侫妣妲姆姨姜妍姙姚娥娟娑娜娉娚婀婬婉娵娶婢婪媚媼媾嫋嫂媽嫣嫗嫦嫩嫖嫺嫻嬌嬋嬖嬲嫐嬪嬶嬾孃孅孀孑孕孚孛孥孩孰孳孵學斈孺宀�它宦宸寃寇寉寔寐寤實寢寞寥寫寰寶寳尅將專對尓尠尢尨尸尹屁屆屎屓屐屏孱屬屮乢屶屹岌岑岔妛岫岻岶岼岷峅岾峇峙峩峽峺峭嶌峪崋崕崗嵜崟崛崑崔崢崚崙崘嵌嵒嵎嵋嵬嵳嵶嶇嶄嶂嶢嶝嶬嶮嶽嶐嶷嶼巉巍巓巒巖巛巫已巵帋帚帙帑帛帶帷幄幃幀幎幗幔幟幢幤幇幵并幺麼广庠廁廂廈廐廏���\".split(\"\");\nfor(j = 0; j != D[155].length; ++j) if(D[155][j].charCodeAt(0) !== 0xFFFD) { e[D[155][j]] = 39680 + j; d[39680 + j] = D[155][j];}\nD[156] = \"����������������������������������������������������������������廖廣廝廚廛廢廡廨廩廬廱廳廰廴廸廾弃弉彝彜弋弑弖弩弭弸彁彈彌彎弯彑彖彗彙彡彭彳彷徃徂彿徊很徑徇從徙徘徠徨徭徼忖忻忤忸忱忝悳忿怡恠�怙怐怩怎怱怛怕怫怦怏怺恚恁恪恷恟恊恆恍恣恃恤恂恬恫恙悁悍惧悃悚悄悛悖悗悒悧悋惡悸惠惓悴忰悽惆悵惘慍愕愆惶惷愀惴惺愃愡惻惱愍愎慇愾愨愧慊愿愼愬愴愽慂慄慳慷慘慙慚慫慴慯慥慱慟慝慓慵憙憖憇憬憔憚憊憑憫憮懌懊應懷懈懃懆憺懋罹懍懦懣懶懺懴懿懽懼懾戀戈戉戍戌戔戛���\".split(\"\");\nfor(j = 0; j != D[156].length; ++j) if(D[156][j].charCodeAt(0) !== 0xFFFD) { e[D[156][j]] = 39936 + j; d[39936 + j] = D[156][j];}\nD[157] = \"����������������������������������������������������������������戞戡截戮戰戲戳扁扎扞扣扛扠扨扼抂抉找抒抓抖拔抃抔拗拑抻拏拿拆擔拈拜拌拊拂拇抛拉挌拮拱挧挂挈拯拵捐挾捍搜捏掖掎掀掫捶掣掏掉掟掵捫�捩掾揩揀揆揣揉插揶揄搖搴搆搓搦搶攝搗搨搏摧摯摶摎攪撕撓撥撩撈撼據擒擅擇撻擘擂擱擧舉擠擡抬擣擯攬擶擴擲擺攀擽攘攜攅攤攣攫攴攵攷收攸畋效敖敕敍敘敞敝敲數斂斃變斛斟斫斷旃旆旁旄旌旒旛旙无旡旱杲昊昃旻杳昵昶昴昜晏晄晉晁晞晝晤晧晨晟晢晰暃暈暎暉暄暘暝曁暹曉暾暼���\".split(\"\");\nfor(j = 0; j != D[157].length; ++j) if(D[157][j].charCodeAt(0) !== 0xFFFD) { e[D[157][j]] = 40192 + j; d[40192 + j] = D[157][j];}\nD[158] = \"����������������������������������������������������������������曄暸曖曚曠昿曦曩曰曵曷朏朖朞朦朧霸朮朿朶杁朸朷杆杞杠杙杣杤枉杰枩杼杪枌枋枦枡枅枷柯枴柬枳柩枸柤柞柝柢柮枹柎柆柧檜栞框栩桀桍栲桎�梳栫桙档桷桿梟梏梭梔條梛梃檮梹桴梵梠梺椏梍桾椁棊椈棘椢椦棡椌棍棔棧棕椶椒椄棗棣椥棹棠棯椨椪椚椣椡棆楹楷楜楸楫楔楾楮椹楴椽楙椰楡楞楝榁楪榲榮槐榿槁槓榾槎寨槊槝榻槃榧樮榑榠榜榕榴槞槨樂樛槿權槹槲槧樅榱樞槭樔槫樊樒櫁樣樓橄樌橲樶橸橇橢橙橦橈樸樢檐檍檠檄檢檣���\".split(\"\");\nfor(j = 0; j != D[158].length; ++j) if(D[158][j].charCodeAt(0) !== 0xFFFD) { e[D[158][j]] = 40448 + j; d[40448 + j] = D[158][j];}\nD[159] = \"����������������������������������������������������������������檗蘗檻櫃櫂檸檳檬櫞櫑櫟檪櫚櫪櫻欅蘖櫺欒欖鬱欟欸欷盜欹飮歇歃歉歐歙歔歛歟歡歸歹歿殀殄殃殍殘殕殞殤殪殫殯殲殱殳殷殼毆毋毓毟毬毫毳毯�麾氈氓气氛氤氣汞汕汢汪沂沍沚沁沛汾汨汳沒沐泄泱泓沽泗泅泝沮沱沾沺泛泯泙泪洟衍洶洫洽洸洙洵洳洒洌浣涓浤浚浹浙涎涕濤涅淹渕渊涵淇淦涸淆淬淞淌淨淒淅淺淙淤淕淪淮渭湮渮渙湲湟渾渣湫渫湶湍渟湃渺湎渤滿渝游溂溪溘滉溷滓溽溯滄溲滔滕溏溥滂溟潁漑灌滬滸滾漿滲漱滯漲滌���\".split(\"\");\nfor(j = 0; j != D[159].length; ++j) if(D[159][j].charCodeAt(0) !== 0xFFFD) { e[D[159][j]] = 40704 + j; d[40704 + j] = D[159][j];}\nD[224] = \"����������������������������������������������������������������漾漓滷澆潺潸澁澀潯潛濳潭澂潼潘澎澑濂潦澳澣澡澤澹濆澪濟濕濬濔濘濱濮濛瀉瀋濺瀑瀁瀏濾瀛瀚潴瀝瀘瀟瀰瀾瀲灑灣炙炒炯烱炬炸炳炮烟烋烝�烙焉烽焜焙煥煕熈煦煢煌煖煬熏燻熄熕熨熬燗熹熾燒燉燔燎燠燬燧燵燼燹燿爍爐爛爨爭爬爰爲爻爼爿牀牆牋牘牴牾犂犁犇犒犖犢犧犹犲狃狆狄狎狒狢狠狡狹狷倏猗猊猜猖猝猴猯猩猥猾獎獏默獗獪獨獰獸獵獻獺珈玳珎玻珀珥珮珞璢琅瑯琥珸琲琺瑕琿瑟瑙瑁瑜瑩瑰瑣瑪瑶瑾璋璞璧瓊瓏瓔珱���\".split(\"\");\nfor(j = 0; j != D[224].length; ++j) if(D[224][j].charCodeAt(0) !== 0xFFFD) { e[D[224][j]] = 57344 + j; d[57344 + j] = D[224][j];}\nD[225] = \"����������������������������������������������������������������瓠瓣瓧瓩瓮瓲瓰瓱瓸瓷甄甃甅甌甎甍甕甓甞甦甬甼畄畍畊畉畛畆畚畩畤畧畫畭畸當疆疇畴疊疉疂疔疚疝疥疣痂疳痃疵疽疸疼疱痍痊痒痙痣痞痾痿�痼瘁痰痺痲痳瘋瘍瘉瘟瘧瘠瘡瘢瘤瘴瘰瘻癇癈癆癜癘癡癢癨癩癪癧癬癰癲癶癸發皀皃皈皋皎皖皓皙皚皰皴皸皹皺盂盍盖盒盞盡盥盧盪蘯盻眈眇眄眩眤眞眥眦眛眷眸睇睚睨睫睛睥睿睾睹瞎瞋瞑瞠瞞瞰瞶瞹瞿瞼瞽瞻矇矍矗矚矜矣矮矼砌砒礦砠礪硅碎硴碆硼碚碌碣碵碪碯磑磆磋磔碾碼磅磊磬���\".split(\"\");\nfor(j = 0; j != D[225].length; ++j) if(D[225][j].charCodeAt(0) !== 0xFFFD) { e[D[225][j]] = 57600 + j; d[57600 + j] = D[225][j];}\nD[226] = \"����������������������������������������������������������������磧磚磽磴礇礒礑礙礬礫祀祠祗祟祚祕祓祺祿禊禝禧齋禪禮禳禹禺秉秕秧秬秡秣稈稍稘稙稠稟禀稱稻稾稷穃穗穉穡穢穩龝穰穹穽窈窗窕窘窖窩竈窰�窶竅竄窿邃竇竊竍竏竕竓站竚竝竡竢竦竭竰笂笏笊笆笳笘笙笞笵笨笶筐筺笄筍笋筌筅筵筥筴筧筰筱筬筮箝箘箟箍箜箚箋箒箏筝箙篋篁篌篏箴篆篝篩簑簔篦篥籠簀簇簓篳篷簗簍篶簣簧簪簟簷簫簽籌籃籔籏籀籐籘籟籤籖籥籬籵粃粐粤粭粢粫粡粨粳粲粱粮粹粽糀糅糂糘糒糜糢鬻糯糲糴糶糺紆���\".split(\"\");\nfor(j = 0; j != D[226].length; ++j) if(D[226][j].charCodeAt(0) !== 0xFFFD) { e[D[226][j]] = 57856 + j; d[57856 + j] = D[226][j];}\nD[227] = \"����������������������������������������������������������������紂紜紕紊絅絋紮紲紿紵絆絳絖絎絲絨絮絏絣經綉絛綏絽綛綺綮綣綵緇綽綫總綢綯緜綸綟綰緘緝緤緞緻緲緡縅縊縣縡縒縱縟縉縋縢繆繦縻縵縹繃縷�縲縺繧繝繖繞繙繚繹繪繩繼繻纃緕繽辮繿纈纉續纒纐纓纔纖纎纛纜缸缺罅罌罍罎罐网罕罔罘罟罠罨罩罧罸羂羆羃羈羇羌羔羞羝羚羣羯羲羹羮羶羸譱翅翆翊翕翔翡翦翩翳翹飜耆耄耋耒耘耙耜耡耨耿耻聊聆聒聘聚聟聢聨聳聲聰聶聹聽聿肄肆肅肛肓肚肭冐肬胛胥胙胝胄胚胖脉胯胱脛脩脣脯腋���\".split(\"\");\nfor(j = 0; j != D[227].length; ++j) if(D[227][j].charCodeAt(0) !== 0xFFFD) { e[D[227][j]] = 58112 + j; d[58112 + j] = D[227][j];}\nD[228] = \"����������������������������������������������������������������隋腆脾腓腑胼腱腮腥腦腴膃膈膊膀膂膠膕膤膣腟膓膩膰膵膾膸膽臀臂膺臉臍臑臙臘臈臚臟臠臧臺臻臾舁舂舅與舊舍舐舖舩舫舸舳艀艙艘艝艚艟艤�艢艨艪艫舮艱艷艸艾芍芒芫芟芻芬苡苣苟苒苴苳苺莓范苻苹苞茆苜茉苙茵茴茖茲茱荀茹荐荅茯茫茗茘莅莚莪莟莢莖茣莎莇莊荼莵荳荵莠莉莨菴萓菫菎菽萃菘萋菁菷萇菠菲萍萢萠莽萸蔆菻葭萪萼蕚蒄葷葫蒭葮蒂葩葆萬葯葹萵蓊葢蒹蒿蒟蓙蓍蒻蓚蓐蓁蓆蓖蒡蔡蓿蓴蔗蔘蔬蔟蔕蔔蓼蕀蕣蕘蕈���\".split(\"\");\nfor(j = 0; j != D[228].length; ++j) if(D[228][j].charCodeAt(0) !== 0xFFFD) { e[D[228][j]] = 58368 + j; d[58368 + j] = D[228][j];}\nD[229] = \"����������������������������������������������������������������蕁蘂蕋蕕薀薤薈薑薊薨蕭薔薛藪薇薜蕷蕾薐藉薺藏薹藐藕藝藥藜藹蘊蘓蘋藾藺蘆蘢蘚蘰蘿虍乕虔號虧虱蚓蚣蚩蚪蚋蚌蚶蚯蛄蛆蚰蛉蠣蚫蛔蛞蛩蛬�蛟蛛蛯蜒蜆蜈蜀蜃蛻蜑蜉蜍蛹蜊蜴蜿蜷蜻蜥蜩蜚蝠蝟蝸蝌蝎蝴蝗蝨蝮蝙蝓蝣蝪蠅螢螟螂螯蟋螽蟀蟐雖螫蟄螳蟇蟆螻蟯蟲蟠蠏蠍蟾蟶蟷蠎蟒蠑蠖蠕蠢蠡蠱蠶蠹蠧蠻衄衂衒衙衞衢衫袁衾袞衵衽袵衲袂袗袒袮袙袢袍袤袰袿袱裃裄裔裘裙裝裹褂裼裴裨裲褄褌褊褓襃褞褥褪褫襁襄褻褶褸襌褝襠襞���\".split(\"\");\nfor(j = 0; j != D[229].length; ++j) if(D[229][j].charCodeAt(0) !== 0xFFFD) { e[D[229][j]] = 58624 + j; d[58624 + j] = D[229][j];}\nD[230] = \"����������������������������������������������������������������襦襤襭襪襯襴襷襾覃覈覊覓覘覡覩覦覬覯覲覺覽覿觀觚觜觝觧觴觸訃訖訐訌訛訝訥訶詁詛詒詆詈詼詭詬詢誅誂誄誨誡誑誥誦誚誣諄諍諂諚諫諳諧�諤諱謔諠諢諷諞諛謌謇謚諡謖謐謗謠謳鞫謦謫謾謨譁譌譏譎證譖譛譚譫譟譬譯譴譽讀讌讎讒讓讖讙讚谺豁谿豈豌豎豐豕豢豬豸豺貂貉貅貊貍貎貔豼貘戝貭貪貽貲貳貮貶賈賁賤賣賚賽賺賻贄贅贊贇贏贍贐齎贓賍贔贖赧赭赱赳趁趙跂趾趺跏跚跖跌跛跋跪跫跟跣跼踈踉跿踝踞踐踟蹂踵踰踴蹊���\".split(\"\");\nfor(j = 0; j != D[230].length; ++j) if(D[230][j].charCodeAt(0) !== 0xFFFD) { e[D[230][j]] = 58880 + j; d[58880 + j] = D[230][j];}\nD[231] = \"����������������������������������������������������������������蹇蹉蹌蹐蹈蹙蹤蹠踪蹣蹕蹶蹲蹼躁躇躅躄躋躊躓躑躔躙躪躡躬躰軆躱躾軅軈軋軛軣軼軻軫軾輊輅輕輒輙輓輜輟輛輌輦輳輻輹轅轂輾轌轉轆轎轗轜�轢轣轤辜辟辣辭辯辷迚迥迢迪迯邇迴逅迹迺逑逕逡逍逞逖逋逧逶逵逹迸遏遐遑遒逎遉逾遖遘遞遨遯遶隨遲邂遽邁邀邊邉邏邨邯邱邵郢郤扈郛鄂鄒鄙鄲鄰酊酖酘酣酥酩酳酲醋醉醂醢醫醯醪醵醴醺釀釁釉釋釐釖釟釡釛釼釵釶鈞釿鈔鈬鈕鈑鉞鉗鉅鉉鉤鉈銕鈿鉋鉐銜銖銓銛鉚鋏銹銷鋩錏鋺鍄錮���\".split(\"\");\nfor(j = 0; j != D[231].length; ++j) if(D[231][j].charCodeAt(0) !== 0xFFFD) { e[D[231][j]] = 59136 + j; d[59136 + j] = D[231][j];}\nD[232] = \"����������������������������������������������������������������錙錢錚錣錺錵錻鍜鍠鍼鍮鍖鎰鎬鎭鎔鎹鏖鏗鏨鏥鏘鏃鏝鏐鏈鏤鐚鐔鐓鐃鐇鐐鐶鐫鐵鐡鐺鑁鑒鑄鑛鑠鑢鑞鑪鈩鑰鑵鑷鑽鑚鑼鑾钁鑿閂閇閊閔閖閘閙�閠閨閧閭閼閻閹閾闊濶闃闍闌闕闔闖關闡闥闢阡阨阮阯陂陌陏陋陷陜陞陝陟陦陲陬隍隘隕隗險隧隱隲隰隴隶隸隹雎雋雉雍襍雜霍雕雹霄霆霈霓霎霑霏霖霙霤霪霰霹霽霾靄靆靈靂靉靜靠靤靦靨勒靫靱靹鞅靼鞁靺鞆鞋鞏鞐鞜鞨鞦鞣鞳鞴韃韆韈韋韜韭齏韲竟韶韵頏頌頸頤頡頷頽顆顏顋顫顯顰���\".split(\"\");\nfor(j = 0; j != D[232].length; ++j) if(D[232][j].charCodeAt(0) !== 0xFFFD) { e[D[232][j]] = 59392 + j; d[59392 + j] = D[232][j];}\nD[233] = \"����������������������������������������������������������������顱顴顳颪颯颱颶飄飃飆飩飫餃餉餒餔餘餡餝餞餤餠餬餮餽餾饂饉饅饐饋饑饒饌饕馗馘馥馭馮馼駟駛駝駘駑駭駮駱駲駻駸騁騏騅駢騙騫騷驅驂驀驃�騾驕驍驛驗驟驢驥驤驩驫驪骭骰骼髀髏髑髓體髞髟髢髣髦髯髫髮髴髱髷髻鬆鬘鬚鬟鬢鬣鬥鬧鬨鬩鬪鬮鬯鬲魄魃魏魍魎魑魘魴鮓鮃鮑鮖鮗鮟鮠鮨鮴鯀鯊鮹鯆鯏鯑鯒鯣鯢鯤鯔鯡鰺鯲鯱鯰鰕鰔鰉鰓鰌鰆鰈鰒鰊鰄鰮鰛鰥鰤鰡鰰鱇鰲鱆鰾鱚鱠鱧鱶鱸鳧鳬鳰鴉鴈鳫鴃鴆鴪鴦鶯鴣鴟鵄鴕鴒鵁鴿鴾鵆鵈���\".split(\"\");\nfor(j = 0; j != D[233].length; ++j) if(D[233][j].charCodeAt(0) !== 0xFFFD) { e[D[233][j]] = 59648 + j; d[59648 + j] = D[233][j];}\nD[234] = \"����������������������������������������������������������������鵝鵞鵤鵑鵐鵙鵲鶉鶇鶫鵯鵺鶚鶤鶩鶲鷄鷁鶻鶸鶺鷆鷏鷂鷙鷓鷸鷦鷭鷯鷽鸚鸛鸞鹵鹹鹽麁麈麋麌麒麕麑麝麥麩麸麪麭靡黌黎黏黐黔黜點黝黠黥黨黯�黴黶黷黹黻黼黽鼇鼈皷鼕鼡鼬鼾齊齒齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠堯槇遙瑤凜熙�������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[234].length; ++j) if(D[234][j].charCodeAt(0) !== 0xFFFD) { e[D[234][j]] = 59904 + j; d[59904 + j] = D[234][j];}\nD[237] = \"����������������������������������������������������������������纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏�塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱���\".split(\"\");\nfor(j = 0; j != D[237].length; ++j) if(D[237][j].charCodeAt(0) !== 0xFFFD) { e[D[237][j]] = 60672 + j; d[60672 + j] = D[237][j];}\nD[238] = \"����������������������������������������������������������������犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙�蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑��ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ￢￤＇＂���\".split(\"\");\nfor(j = 0; j != D[238].length; ++j) if(D[238][j].charCodeAt(0) !== 0xFFFD) { e[D[238][j]] = 60928 + j; d[60928 + j] = D[238][j];}\nD[250] = \"����������������������������������������������������������������ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ￢￤＇＂㈱№℡∵纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊�兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯���\".split(\"\");\nfor(j = 0; j != D[250].length; ++j) if(D[250][j].charCodeAt(0) !== 0xFFFD) { e[D[250][j]] = 64000 + j; d[64000 + j] = D[250][j];}\nD[251] = \"����������������������������������������������������������������涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神�祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙���\".split(\"\");\nfor(j = 0; j != D[251].length; ++j) if(D[251][j].charCodeAt(0) !== 0xFFFD) { e[D[251][j]] = 64256 + j; d[64256 + j] = D[251][j];}\nD[252] = \"����������������������������������������������������������������髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[252].length; ++j) if(D[252][j].charCodeAt(0) !== 0xFFFD) { e[D[252][j]] = 64512 + j; d[64512 + j] = D[252][j];}\nreturn {\"enc\": e, \"dec\": d }; })();\ncptable[936] = (function(){ var d = [], e = {}, D = [], j;\nD[0] = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�������������������������������������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[0].length; ++j) if(D[0][j].charCodeAt(0) !== 0xFFFD) { e[D[0][j]] = 0 + j; d[0 + j] = D[0][j];}\nD[129] = \"����������������������������������������������������������������丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱丳丵丷丼乀乁乂乄乆乊乑乕乗乚乛乢乣乤乥乧乨乪乫乬乭乮乯乲乴乵乶乷乸乹乺乻乼乽乿亀亁亂亃亄亅亇亊�亐亖亗亙亜亝亞亣亪亯亰亱亴亶亷亸亹亼亽亾仈仌仏仐仒仚仛仜仠仢仦仧仩仭仮仯仱仴仸仹仺仼仾伀伂伃伄伅伆伇伈伋伌伒伓伔伕伖伜伝伡伣伨伩伬伭伮伱伳伵伷伹伻伾伿佀佁佂佄佅佇佈佉佊佋佌佒佔佖佡佢佦佨佪佫佭佮佱佲併佷佸佹佺佽侀侁侂侅來侇侊侌侎侐侒侓侕侖侘侙侚侜侞侟価侢�\".split(\"\");\nfor(j = 0; j != D[129].length; ++j) if(D[129][j].charCodeAt(0) !== 0xFFFD) { e[D[129][j]] = 33024 + j; d[33024 + j] = D[129][j];}\nD[130] = \"����������������������������������������������������������������侤侫侭侰侱侲侳侴侶侷侸侹侺侻侼侽侾俀俁係俆俇俈俉俋俌俍俒俓俔俕俖俙俛俠俢俤俥俧俫俬俰俲俴俵俶俷俹俻俼俽俿倀倁倂倃倄倅倆倇倈倉倊�個倎倐們倓倕倖倗倛倝倞倠倢倣値倧倫倯倰倱倲倳倴倵倶倷倸倹倻倽倿偀偁偂偄偅偆偉偊偋偍偐偑偒偓偔偖偗偘偙偛偝偞偟偠偡偢偣偤偦偧偨偩偪偫偭偮偯偰偱偲偳側偵偸偹偺偼偽傁傂傃傄傆傇傉傊傋傌傎傏傐傑傒傓傔傕傖傗傘備傚傛傜傝傞傟傠傡傢傤傦傪傫傭傮傯傰傱傳傴債傶傷傸傹傼�\".split(\"\");\nfor(j = 0; j != D[130].length; ++j) if(D[130][j].charCodeAt(0) !== 0xFFFD) { e[D[130][j]] = 33280 + j; d[33280 + j] = D[130][j];}\nD[131] = \"����������������������������������������������������������������傽傾傿僀僁僂僃僄僅僆僇僈僉僊僋僌働僎僐僑僒僓僔僕僗僘僙僛僜僝僞僟僠僡僢僣僤僥僨僩僪僫僯僰僱僲僴僶僷僸價僺僼僽僾僿儀儁儂儃億儅儈�儉儊儌儍儎儏儐儑儓儔儕儖儗儘儙儚儛儜儝儞償儠儢儣儤儥儦儧儨儩優儫儬儭儮儯儰儱儲儳儴儵儶儷儸儹儺儻儼儽儾兂兇兊兌兎兏児兒兓兗兘兙兛兝兞兟兠兡兣兤兦內兩兪兯兲兺兾兿冃冄円冇冊冋冎冏冐冑冓冔冘冚冝冞冟冡冣冦冧冨冩冪冭冮冴冸冹冺冾冿凁凂凃凅凈凊凍凎凐凒凓凔凕凖凗�\".split(\"\");\nfor(j = 0; j != D[131].length; ++j) if(D[131][j].charCodeAt(0) !== 0xFFFD) { e[D[131][j]] = 33536 + j; d[33536 + j] = D[131][j];}\nD[132] = \"����������������������������������������������������������������凘凙凚凜凞凟凢凣凥処凧凨凩凪凬凮凱凲凴凷凾刄刅刉刋刌刏刐刓刔刕刜刞刟刡刢刣別刦刧刪刬刯刱刲刴刵刼刾剄剅剆則剈剉剋剎剏剒剓剕剗剘�剙剚剛剝剟剠剢剣剤剦剨剫剬剭剮剰剱剳剴創剶剷剸剹剺剻剼剾劀劃劄劅劆劇劉劊劋劌劍劎劏劑劒劔劕劖劗劘劙劚劜劤劥劦劧劮劯劰労劵劶劷劸効劺劻劼劽勀勁勂勄勅勆勈勊勌勍勎勏勑勓勔動勗務勚勛勜勝勞勠勡勢勣勥勦勧勨勩勪勫勬勭勮勯勱勲勳勴勵勶勷勸勻勼勽匁匂匃匄匇匉匊匋匌匎�\".split(\"\");\nfor(j = 0; j != D[132].length; ++j) if(D[132][j].charCodeAt(0) !== 0xFFFD) { e[D[132][j]] = 33792 + j; d[33792 + j] = D[132][j];}\nD[133] = \"����������������������������������������������������������������匑匒匓匔匘匛匜匞匟匢匤匥匧匨匩匫匬匭匯匰匱匲匳匴匵匶匷匸匼匽區卂卄卆卋卌卍卐協単卙卛卝卥卨卪卬卭卲卶卹卻卼卽卾厀厁厃厇厈厊厎厏�厐厑厒厓厔厖厗厙厛厜厞厠厡厤厧厪厫厬厭厯厰厱厲厳厴厵厷厸厹厺厼厽厾叀參叄叅叆叇収叏叐叒叓叕叚叜叝叞叡叢叧叴叺叾叿吀吂吅吇吋吔吘吙吚吜吢吤吥吪吰吳吶吷吺吽吿呁呂呄呅呇呉呌呍呎呏呑呚呝呞呟呠呡呣呥呧呩呪呫呬呭呮呯呰呴呹呺呾呿咁咃咅咇咈咉咊咍咑咓咗咘咜咞咟咠咡�\".split(\"\");\nfor(j = 0; j != D[133].length; ++j) if(D[133][j].charCodeAt(0) !== 0xFFFD) { e[D[133][j]] = 34048 + j; d[34048 + j] = D[133][j];}\nD[134] = \"����������������������������������������������������������������咢咥咮咰咲咵咶咷咹咺咼咾哃哅哊哋哖哘哛哠員哢哣哤哫哬哯哰哱哴哵哶哷哸哹哻哾唀唂唃唄唅唈唊唋唌唍唎唒唓唕唖唗唘唙唚唜唝唞唟唡唥唦�唨唩唫唭唲唴唵唶唸唹唺唻唽啀啂啅啇啈啋啌啍啎問啑啒啓啔啗啘啙啚啛啝啞啟啠啢啣啨啩啫啯啰啱啲啳啴啹啺啽啿喅喆喌喍喎喐喒喓喕喖喗喚喛喞喠喡喢喣喤喥喦喨喩喪喫喬喭單喯喰喲喴営喸喺喼喿嗀嗁嗂嗃嗆嗇嗈嗊嗋嗎嗏嗐嗕嗗嗘嗙嗚嗛嗞嗠嗢嗧嗩嗭嗮嗰嗱嗴嗶嗸嗹嗺嗻嗼嗿嘂嘃嘄嘅�\".split(\"\");\nfor(j = 0; j != D[134].length; ++j) if(D[134][j].charCodeAt(0) !== 0xFFFD) { e[D[134][j]] = 34304 + j; d[34304 + j] = D[134][j];}\nD[135] = \"����������������������������������������������������������������嘆嘇嘊嘋嘍嘐嘑嘒嘓嘔嘕嘖嘗嘙嘚嘜嘝嘠嘡嘢嘥嘦嘨嘩嘪嘫嘮嘯嘰嘳嘵嘷嘸嘺嘼嘽嘾噀噁噂噃噄噅噆噇噈噉噊噋噏噐噑噒噓噕噖噚噛噝噞噟噠噡�噣噥噦噧噭噮噯噰噲噳噴噵噷噸噹噺噽噾噿嚀嚁嚂嚃嚄嚇嚈嚉嚊嚋嚌嚍嚐嚑嚒嚔嚕嚖嚗嚘嚙嚚嚛嚜嚝嚞嚟嚠嚡嚢嚤嚥嚦嚧嚨嚩嚪嚫嚬嚭嚮嚰嚱嚲嚳嚴嚵嚶嚸嚹嚺嚻嚽嚾嚿囀囁囂囃囄囅囆囇囈囉囋囌囍囎囏囐囑囒囓囕囖囘囙囜団囥囦囧囨囩囪囬囮囯囲図囶囷囸囻囼圀圁圂圅圇國圌圍圎圏圐圑�\".split(\"\");\nfor(j = 0; j != D[135].length; ++j) if(D[135][j].charCodeAt(0) !== 0xFFFD) { e[D[135][j]] = 34560 + j; d[34560 + j] = D[135][j];}\nD[136] = \"����������������������������������������������������������������園圓圔圕圖圗團圙圚圛圝圞圠圡圢圤圥圦圧圫圱圲圴圵圶圷圸圼圽圿坁坃坄坅坆坈坉坋坒坓坔坕坖坘坙坢坣坥坧坬坮坰坱坲坴坵坸坹坺坽坾坿垀�垁垇垈垉垊垍垎垏垐垑垔垕垖垗垘垙垚垜垝垞垟垥垨垪垬垯垰垱垳垵垶垷垹垺垻垼垽垾垿埀埁埄埅埆埇埈埉埊埌埍埐埑埓埖埗埛埜埞埡埢埣埥埦埧埨埩埪埫埬埮埰埱埲埳埵埶執埻埼埾埿堁堃堄堅堈堉堊堌堎堏堐堒堓堔堖堗堘堚堛堜堝堟堢堣堥堦堧堨堩堫堬堭堮堯報堲堳場堶堷堸堹堺堻堼堽�\".split(\"\");\nfor(j = 0; j != D[136].length; ++j) if(D[136][j].charCodeAt(0) !== 0xFFFD) { e[D[136][j]] = 34816 + j; d[34816 + j] = D[136][j];}\nD[137] = \"����������������������������������������������������������������堾堿塀塁塂塃塅塆塇塈塉塊塋塎塏塐塒塓塕塖塗塙塚塛塜塝塟塠塡塢塣塤塦塧塨塩塪塭塮塯塰塱塲塳塴塵塶塷塸塹塺塻塼塽塿墂墄墆墇墈墊墋墌�墍墎墏墐墑墔墕墖増墘墛墜墝墠墡墢墣墤墥墦墧墪墫墬墭墮墯墰墱墲墳墴墵墶墷墸墹墺墻墽墾墿壀壂壃壄壆壇壈壉壊壋壌壍壎壏壐壒壓壔壖壗壘壙壚壛壜壝壞壟壠壡壢壣壥壦壧壨壩壪壭壯壱売壴壵壷壸壺壻壼壽壾壿夀夁夃夅夆夈変夊夋夌夎夐夑夒夓夗夘夛夝夞夠夡夢夣夦夨夬夰夲夳夵夶夻�\".split(\"\");\nfor(j = 0; j != D[137].length; ++j) if(D[137][j].charCodeAt(0) !== 0xFFFD) { e[D[137][j]] = 35072 + j; d[35072 + j] = D[137][j];}\nD[138] = \"����������������������������������������������������������������夽夾夿奀奃奅奆奊奌奍奐奒奓奙奛奜奝奞奟奡奣奤奦奧奨奩奪奫奬奭奮奯奰奱奲奵奷奺奻奼奾奿妀妅妉妋妌妎妏妐妑妔妕妘妚妛妜妝妟妠妡妢妦�妧妬妭妰妱妳妴妵妶妷妸妺妼妽妿姀姁姂姃姄姅姇姈姉姌姍姎姏姕姖姙姛姞姟姠姡姢姤姦姧姩姪姫姭姮姯姰姱姲姳姴姵姶姷姸姺姼姽姾娀娂娊娋娍娎娏娐娒娔娕娖娗娙娚娛娝娞娡娢娤娦娧娨娪娫娬娭娮娯娰娳娵娷娸娹娺娻娽娾娿婁婂婃婄婅婇婈婋婌婍婎婏婐婑婒婓婔婖婗婘婙婛婜婝婞婟婠�\".split(\"\");\nfor(j = 0; j != D[138].length; ++j) if(D[138][j].charCodeAt(0) !== 0xFFFD) { e[D[138][j]] = 35328 + j; d[35328 + j] = D[138][j];}\nD[139] = \"����������������������������������������������������������������婡婣婤婥婦婨婩婫婬婭婮婯婰婱婲婳婸婹婻婼婽婾媀媁媂媃媄媅媆媇媈媉媊媋媌媍媎媏媐媑媓媔媕媖媗媘媙媜媝媞媟媠媡媢媣媤媥媦媧媨媩媫媬�媭媮媯媰媱媴媶媷媹媺媻媼媽媿嫀嫃嫄嫅嫆嫇嫈嫊嫋嫍嫎嫏嫐嫑嫓嫕嫗嫙嫚嫛嫝嫞嫟嫢嫤嫥嫧嫨嫪嫬嫭嫮嫯嫰嫲嫳嫴嫵嫶嫷嫸嫹嫺嫻嫼嫽嫾嫿嬀嬁嬂嬃嬄嬅嬆嬇嬈嬊嬋嬌嬍嬎嬏嬐嬑嬒嬓嬔嬕嬘嬙嬚嬛嬜嬝嬞嬟嬠嬡嬢嬣嬤嬥嬦嬧嬨嬩嬪嬫嬬嬭嬮嬯嬰嬱嬳嬵嬶嬸嬹嬺嬻嬼嬽嬾嬿孁孂孃孄孅孆孇�\".split(\"\");\nfor(j = 0; j != D[139].length; ++j) if(D[139][j].charCodeAt(0) !== 0xFFFD) { e[D[139][j]] = 35584 + j; d[35584 + j] = D[139][j];}\nD[140] = \"����������������������������������������������������������������孈孉孊孋孌孍孎孏孒孖孞孠孡孧孨孫孭孮孯孲孴孶孷學孹孻孼孾孿宂宆宊宍宎宐宑宒宔宖実宧宨宩宬宭宮宯宱宲宷宺宻宼寀寁寃寈寉寊寋寍寎寏�寑寔寕寖寗寘寙寚寛寜寠寢寣實寧審寪寫寬寭寯寱寲寳寴寵寶寷寽対尀専尃尅將專尋尌對導尐尒尓尗尙尛尞尟尠尡尣尦尨尩尪尫尭尮尯尰尲尳尵尶尷屃屄屆屇屌屍屒屓屔屖屗屘屚屛屜屝屟屢層屧屨屩屪屫屬屭屰屲屳屴屵屶屷屸屻屼屽屾岀岃岄岅岆岇岉岊岋岎岏岒岓岕岝岞岟岠岡岤岥岦岧岨�\".split(\"\");\nfor(j = 0; j != D[140].length; ++j) if(D[140][j].charCodeAt(0) !== 0xFFFD) { e[D[140][j]] = 35840 + j; d[35840 + j] = D[140][j];}\nD[141] = \"����������������������������������������������������������������岪岮岯岰岲岴岶岹岺岻岼岾峀峂峃峅峆峇峈峉峊峌峍峎峏峐峑峓峔峕峖峗峘峚峛峜峝峞峟峠峢峣峧峩峫峬峮峯峱峲峳峴峵島峷峸峹峺峼峽峾峿崀�崁崄崅崈崉崊崋崌崍崏崐崑崒崓崕崗崘崙崚崜崝崟崠崡崢崣崥崨崪崫崬崯崰崱崲崳崵崶崷崸崹崺崻崼崿嵀嵁嵂嵃嵄嵅嵆嵈嵉嵍嵎嵏嵐嵑嵒嵓嵔嵕嵖嵗嵙嵚嵜嵞嵟嵠嵡嵢嵣嵤嵥嵦嵧嵨嵪嵭嵮嵰嵱嵲嵳嵵嵶嵷嵸嵹嵺嵻嵼嵽嵾嵿嶀嶁嶃嶄嶅嶆嶇嶈嶉嶊嶋嶌嶍嶎嶏嶐嶑嶒嶓嶔嶕嶖嶗嶘嶚嶛嶜嶞嶟嶠�\".split(\"\");\nfor(j = 0; j != D[141].length; ++j) if(D[141][j].charCodeAt(0) !== 0xFFFD) { e[D[141][j]] = 36096 + j; d[36096 + j] = D[141][j];}\nD[142] = \"����������������������������������������������������������������嶡嶢嶣嶤嶥嶦嶧嶨嶩嶪嶫嶬嶭嶮嶯嶰嶱嶲嶳嶴嶵嶶嶸嶹嶺嶻嶼嶽嶾嶿巀巁巂巃巄巆巇巈巉巊巋巌巎巏巐巑巒巓巔巕巖巗巘巙巚巜巟巠巣巤巪巬巭�巰巵巶巸巹巺巻巼巿帀帄帇帉帊帋帍帎帒帓帗帞帟帠帡帢帣帤帥帨帩帪師帬帯帰帲帳帴帵帶帹帺帾帿幀幁幃幆幇幈幉幊幋幍幎幏幐幑幒幓幖幗幘幙幚幜幝幟幠幣幤幥幦幧幨幩幪幫幬幭幮幯幰幱幵幷幹幾庁庂広庅庈庉庌庍庎庒庘庛庝庡庢庣庤庨庩庪庫庬庮庯庰庱庲庴庺庻庼庽庿廀廁廂廃廄廅�\".split(\"\");\nfor(j = 0; j != D[142].length; ++j) if(D[142][j].charCodeAt(0) !== 0xFFFD) { e[D[142][j]] = 36352 + j; d[36352 + j] = D[142][j];}\nD[143] = \"����������������������������������������������������������������廆廇廈廋廌廍廎廏廐廔廕廗廘廙廚廜廝廞廟廠廡廢廣廤廥廦廧廩廫廬廭廮廯廰廱廲廳廵廸廹廻廼廽弅弆弇弉弌弍弎弐弒弔弖弙弚弜弝弞弡弢弣弤�弨弫弬弮弰弲弳弴張弶強弸弻弽弾弿彁彂彃彄彅彆彇彈彉彊彋彌彍彎彏彑彔彙彚彛彜彞彟彠彣彥彧彨彫彮彯彲彴彵彶彸彺彽彾彿徃徆徍徎徏徑従徔徖徚徛徝從徟徠徢徣徤徥徦徧復徫徬徯徰徱徲徳徴徶徸徹徺徻徾徿忀忁忂忇忈忊忋忎忓忔忕忚忛応忞忟忢忣忥忦忨忩忬忯忰忲忳忴忶忷忹忺忼怇�\".split(\"\");\nfor(j = 0; j != D[143].length; ++j) if(D[143][j].charCodeAt(0) !== 0xFFFD) { e[D[143][j]] = 36608 + j; d[36608 + j] = D[143][j];}\nD[144] = \"����������������������������������������������������������������怈怉怋怌怐怑怓怗怘怚怞怟怢怣怤怬怭怮怰怱怲怳怴怶怷怸怹怺怽怾恀恄恅恆恇恈恉恊恌恎恏恑恓恔恖恗恘恛恜恞恟恠恡恥恦恮恱恲恴恵恷恾悀�悁悂悅悆悇悈悊悋悎悏悐悑悓悕悗悘悙悜悞悡悢悤悥悧悩悪悮悰悳悵悶悷悹悺悽悾悿惀惁惂惃惄惇惈惉惌惍惎惏惐惒惓惔惖惗惙惛惞惡惢惣惤惥惪惱惲惵惷惸惻惼惽惾惿愂愃愄愅愇愊愋愌愐愑愒愓愔愖愗愘愙愛愜愝愞愡愢愥愨愩愪愬愭愮愯愰愱愲愳愴愵愶愷愸愹愺愻愼愽愾慀慁慂慃慄慅慆�\".split(\"\");\nfor(j = 0; j != D[144].length; ++j) if(D[144][j].charCodeAt(0) !== 0xFFFD) { e[D[144][j]] = 36864 + j; d[36864 + j] = D[144][j];}\nD[145] = \"����������������������������������������������������������������慇慉態慍慏慐慒慓慔慖慗慘慙慚慛慜慞慟慠慡慣慤慥慦慩慪慫慬慭慮慯慱慲慳慴慶慸慹慺慻慼慽慾慿憀憁憂憃憄憅憆憇憈憉憊憌憍憏憐憑憒憓憕�憖憗憘憙憚憛憜憞憟憠憡憢憣憤憥憦憪憫憭憮憯憰憱憲憳憴憵憶憸憹憺憻憼憽憿懀懁懃懄懅懆懇應懌懍懎懏懐懓懕懖懗懘懙懚懛懜懝懞懟懠懡懢懣懤懥懧懨懩懪懫懬懭懮懯懰懱懲懳懴懶懷懸懹懺懻懼懽懾戀戁戂戃戄戅戇戉戓戔戙戜戝戞戠戣戦戧戨戩戫戭戯戰戱戲戵戶戸戹戺戻戼扂扄扅扆扊�\".split(\"\");\nfor(j = 0; j != D[145].length; ++j) if(D[145][j].charCodeAt(0) !== 0xFFFD) { e[D[145][j]] = 37120 + j; d[37120 + j] = D[145][j];}\nD[146] = \"����������������������������������������������������������������扏扐払扖扗扙扚扜扝扞扟扠扡扢扤扥扨扱扲扴扵扷扸扺扻扽抁抂抃抅抆抇抈抋抌抍抎抏抐抔抙抜抝択抣抦抧抩抪抭抮抯抰抲抳抴抶抷抸抺抾拀拁�拃拋拏拑拕拝拞拠拡拤拪拫拰拲拵拸拹拺拻挀挃挄挅挆挊挋挌挍挏挐挒挓挔挕挗挘挙挜挦挧挩挬挭挮挰挱挳挴挵挶挷挸挻挼挾挿捀捁捄捇捈捊捑捒捓捔捖捗捘捙捚捛捜捝捠捤捥捦捨捪捫捬捯捰捲捳捴捵捸捹捼捽捾捿掁掃掄掅掆掋掍掑掓掔掕掗掙掚掛掜掝掞掟採掤掦掫掯掱掲掵掶掹掻掽掿揀�\".split(\"\");\nfor(j = 0; j != D[146].length; ++j) if(D[146][j].charCodeAt(0) !== 0xFFFD) { e[D[146][j]] = 37376 + j; d[37376 + j] = D[146][j];}\nD[147] = \"����������������������������������������������������������������揁揂揃揅揇揈揊揋揌揑揓揔揕揗揘揙揚換揜揝揟揢揤揥揦揧揨揫揬揮揯揰揱揳揵揷揹揺揻揼揾搃搄搆搇搈搉搊損搎搑搒搕搖搗搘搙搚搝搟搢搣搤�搥搧搨搩搫搮搯搰搱搲搳搵搶搷搸搹搻搼搾摀摂摃摉摋摌摍摎摏摐摑摓摕摖摗摙摚摛摜摝摟摠摡摢摣摤摥摦摨摪摫摬摮摯摰摱摲摳摴摵摶摷摻摼摽摾摿撀撁撃撆撈撉撊撋撌撍撎撏撐撓撔撗撘撚撛撜撝撟撠撡撢撣撥撦撧撨撪撫撯撱撲撳撴撶撹撻撽撾撿擁擃擄擆擇擈擉擊擋擌擏擑擓擔擕擖擙據�\".split(\"\");\nfor(j = 0; j != D[147].length; ++j) if(D[147][j].charCodeAt(0) !== 0xFFFD) { e[D[147][j]] = 37632 + j; d[37632 + j] = D[147][j];}\nD[148] = \"����������������������������������������������������������������擛擜擝擟擠擡擣擥擧擨擩擪擫擬擭擮擯擰擱擲擳擴擵擶擷擸擹擺擻擼擽擾擿攁攂攃攄攅攆攇攈攊攋攌攍攎攏攐攑攓攔攕攖攗攙攚攛攜攝攞攟攠攡�攢攣攤攦攧攨攩攪攬攭攰攱攲攳攷攺攼攽敀敁敂敃敄敆敇敊敋敍敎敐敒敓敔敗敘敚敜敟敠敡敤敥敧敨敩敪敭敮敯敱敳敵敶數敹敺敻敼敽敾敿斀斁斂斃斄斅斆斈斉斊斍斎斏斒斔斕斖斘斚斝斞斠斢斣斦斨斪斬斮斱斲斳斴斵斶斷斸斺斻斾斿旀旂旇旈旉旊旍旐旑旓旔旕旘旙旚旛旜旝旞旟旡旣旤旪旫�\".split(\"\");\nfor(j = 0; j != D[148].length; ++j) if(D[148][j].charCodeAt(0) !== 0xFFFD) { e[D[148][j]] = 37888 + j; d[37888 + j] = D[148][j];}\nD[149] = \"����������������������������������������������������������������旲旳旴旵旸旹旻旼旽旾旿昁昄昅昇昈昉昋昍昐昑昒昖昗昘昚昛昜昞昡昢昣昤昦昩昪昫昬昮昰昲昳昷昸昹昺昻昽昿晀時晄晅晆晇晈晉晊晍晎晐晑晘�晙晛晜晝晞晠晢晣晥晧晩晪晫晬晭晱晲晳晵晸晹晻晼晽晿暀暁暃暅暆暈暉暊暋暍暎暏暐暒暓暔暕暘暙暚暛暜暞暟暠暡暢暣暤暥暦暩暪暫暬暭暯暰暱暲暳暵暶暷暸暺暻暼暽暿曀曁曂曃曄曅曆曇曈曉曊曋曌曍曎曏曐曑曒曓曔曕曖曗曘曚曞曟曠曡曢曣曤曥曧曨曪曫曬曭曮曯曱曵曶書曺曻曽朁朂會�\".split(\"\");\nfor(j = 0; j != D[149].length; ++j) if(D[149][j].charCodeAt(0) !== 0xFFFD) { e[D[149][j]] = 38144 + j; d[38144 + j] = D[149][j];}\nD[150] = \"����������������������������������������������������������������朄朅朆朇朌朎朏朑朒朓朖朘朙朚朜朞朠朡朢朣朤朥朧朩朮朰朲朳朶朷朸朹朻朼朾朿杁杄杅杇杊杋杍杒杔杕杗杘杙杚杛杝杢杣杤杦杧杫杬杮東杴杶�杸杹杺杻杽枀枂枃枅枆枈枊枌枍枎枏枑枒枓枔枖枙枛枟枠枡枤枦枩枬枮枱枲枴枹枺枻枼枽枾枿柀柂柅柆柇柈柉柊柋柌柍柎柕柖柗柛柟柡柣柤柦柧柨柪柫柭柮柲柵柶柷柸柹柺査柼柾栁栂栃栄栆栍栐栒栔栕栘栙栚栛栜栞栟栠栢栣栤栥栦栧栨栫栬栭栮栯栰栱栴栵栶栺栻栿桇桋桍桏桒桖桗桘桙桚桛�\".split(\"\");\nfor(j = 0; j != D[150].length; ++j) if(D[150][j].charCodeAt(0) !== 0xFFFD) { e[D[150][j]] = 38400 + j; d[38400 + j] = D[150][j];}\nD[151] = \"����������������������������������������������������������������桜桝桞桟桪桬桭桮桯桰桱桲桳桵桸桹桺桻桼桽桾桿梀梂梄梇梈梉梊梋梌梍梎梐梑梒梔梕梖梘梙梚梛梜條梞梟梠梡梣梤梥梩梪梫梬梮梱梲梴梶梷梸�梹梺梻梼梽梾梿棁棃棄棅棆棇棈棊棌棎棏棐棑棓棔棖棗棙棛棜棝棞棟棡棢棤棥棦棧棨棩棪棫棬棭棯棲棳棴棶棷棸棻棽棾棿椀椂椃椄椆椇椈椉椊椌椏椑椓椔椕椖椗椘椙椚椛検椝椞椡椢椣椥椦椧椨椩椪椫椬椮椯椱椲椳椵椶椷椸椺椻椼椾楀楁楃楄楅楆楇楈楉楊楋楌楍楎楏楐楑楒楓楕楖楘楙楛楜楟�\".split(\"\");\nfor(j = 0; j != D[151].length; ++j) if(D[151][j].charCodeAt(0) !== 0xFFFD) { e[D[151][j]] = 38656 + j; d[38656 + j] = D[151][j];}\nD[152] = \"����������������������������������������������������������������楡楢楤楥楧楨楩楪楬業楯楰楲楳楴極楶楺楻楽楾楿榁榃榅榊榋榌榎榏榐榑榒榓榖榗榙榚榝榞榟榠榡榢榣榤榥榦榩榪榬榮榯榰榲榳榵榶榸榹榺榼榽�榾榿槀槂槃槄槅槆槇槈槉構槍槏槑槒槓槕槖槗様槙槚槜槝槞槡槢槣槤槥槦槧槨槩槪槫槬槮槯槰槱槳槴槵槶槷槸槹槺槻槼槾樀樁樂樃樄樅樆樇樈樉樋樌樍樎樏樐樑樒樓樔樕樖標樚樛樜樝樞樠樢樣樤樥樦樧権樫樬樭樮樰樲樳樴樶樷樸樹樺樻樼樿橀橁橂橃橅橆橈橉橊橋橌橍橎橏橑橒橓橔橕橖橗橚�\".split(\"\");\nfor(j = 0; j != D[152].length; ++j) if(D[152][j].charCodeAt(0) !== 0xFFFD) { e[D[152][j]] = 38912 + j; d[38912 + j] = D[152][j];}\nD[153] = \"����������������������������������������������������������������橜橝橞機橠橢橣橤橦橧橨橩橪橫橬橭橮橯橰橲橳橴橵橶橷橸橺橻橽橾橿檁檂檃檅檆檇檈檉檊檋檌檍檏檒檓檔檕檖檘檙檚檛檜檝檞檟檡檢檣檤檥檦�檧檨檪檭檮檯檰檱檲檳檴檵檶檷檸檹檺檻檼檽檾檿櫀櫁櫂櫃櫄櫅櫆櫇櫈櫉櫊櫋櫌櫍櫎櫏櫐櫑櫒櫓櫔櫕櫖櫗櫘櫙櫚櫛櫜櫝櫞櫟櫠櫡櫢櫣櫤櫥櫦櫧櫨櫩櫪櫫櫬櫭櫮櫯櫰櫱櫲櫳櫴櫵櫶櫷櫸櫹櫺櫻櫼櫽櫾櫿欀欁欂欃欄欅欆欇欈欉權欋欌欍欎欏欐欑欒欓欔欕欖欗欘欙欚欛欜欝欞欟欥欦欨欩欪欫欬欭欮�\".split(\"\");\nfor(j = 0; j != D[153].length; ++j) if(D[153][j].charCodeAt(0) !== 0xFFFD) { e[D[153][j]] = 39168 + j; d[39168 + j] = D[153][j];}\nD[154] = \"����������������������������������������������������������������欯欰欱欳欴欵欶欸欻欼欽欿歀歁歂歄歅歈歊歋歍歎歏歐歑歒歓歔歕歖歗歘歚歛歜歝歞歟歠歡歨歩歫歬歭歮歯歰歱歲歳歴歵歶歷歸歺歽歾歿殀殅殈�殌殎殏殐殑殔殕殗殘殙殜殝殞殟殠殢殣殤殥殦殧殨殩殫殬殭殮殯殰殱殲殶殸殹殺殻殼殽殾毀毃毄毆毇毈毉毊毌毎毐毑毘毚毜毝毞毟毠毢毣毤毥毦毧毨毩毬毭毮毰毱毲毴毶毷毸毺毻毼毾毿氀氁氂氃氄氈氉氊氋氌氎氒気氜氝氞氠氣氥氫氬氭氱氳氶氷氹氺氻氼氾氿汃汄汅汈汋汌汍汎汏汑汒汓汖汘�\".split(\"\");\nfor(j = 0; j != D[154].length; ++j) if(D[154][j].charCodeAt(0) !== 0xFFFD) { e[D[154][j]] = 39424 + j; d[39424 + j] = D[154][j];}\nD[155] = \"����������������������������������������������������������������汙汚汢汣汥汦汧汫汬汭汮汯汱汳汵汷汸決汻汼汿沀沄沇沊沋沍沎沑沒沕沖沗沘沚沜沝沞沠沢沨沬沯沰沴沵沶沷沺泀況泂泃泆泇泈泋泍泎泏泑泒泘�泙泚泜泝泟泤泦泧泩泬泭泲泴泹泿洀洂洃洅洆洈洉洊洍洏洐洑洓洔洕洖洘洜洝洟洠洡洢洣洤洦洨洩洬洭洯洰洴洶洷洸洺洿浀浂浄浉浌浐浕浖浗浘浛浝浟浡浢浤浥浧浨浫浬浭浰浱浲浳浵浶浹浺浻浽浾浿涀涁涃涄涆涇涊涋涍涏涐涒涖涗涘涙涚涜涢涥涬涭涰涱涳涴涶涷涹涺涻涼涽涾淁淂淃淈淉淊�\".split(\"\");\nfor(j = 0; j != D[155].length; ++j) if(D[155][j].charCodeAt(0) !== 0xFFFD) { e[D[155][j]] = 39680 + j; d[39680 + j] = D[155][j];}\nD[156] = \"����������������������������������������������������������������淍淎淏淐淒淓淔淕淗淚淛淜淟淢淣淥淧淨淩淪淭淯淰淲淴淵淶淸淺淽淾淿渀渁渂渃渄渆渇済渉渋渏渒渓渕渘渙減渜渞渟渢渦渧渨渪測渮渰渱渳渵�渶渷渹渻渼渽渾渿湀湁湂湅湆湇湈湉湊湋湌湏湐湑湒湕湗湙湚湜湝湞湠湡湢湣湤湥湦湧湨湩湪湬湭湯湰湱湲湳湴湵湶湷湸湹湺湻湼湽満溁溂溄溇溈溊溋溌溍溎溑溒溓溔溕準溗溙溚溛溝溞溠溡溣溤溦溨溩溫溬溭溮溰溳溵溸溹溼溾溿滀滃滄滅滆滈滉滊滌滍滎滐滒滖滘滙滛滜滝滣滧滪滫滬滭滮滯�\".split(\"\");\nfor(j = 0; j != D[156].length; ++j) if(D[156][j].charCodeAt(0) !== 0xFFFD) { e[D[156][j]] = 39936 + j; d[39936 + j] = D[156][j];}\nD[157] = \"����������������������������������������������������������������滰滱滲滳滵滶滷滸滺滻滼滽滾滿漀漁漃漄漅漇漈漊漋漌漍漎漐漑漒漖漗漘漙漚漛漜漝漞漟漡漢漣漥漦漧漨漬漮漰漲漴漵漷漸漹漺漻漼漽漿潀潁潂�潃潄潅潈潉潊潌潎潏潐潑潒潓潔潕潖潗潙潚潛潝潟潠潡潣潤潥潧潨潩潪潫潬潯潰潱潳潵潶潷潹潻潽潾潿澀澁澂澃澅澆澇澊澋澏澐澑澒澓澔澕澖澗澘澙澚澛澝澞澟澠澢澣澤澥澦澨澩澪澫澬澭澮澯澰澱澲澴澵澷澸澺澻澼澽澾澿濁濃濄濅濆濇濈濊濋濌濍濎濏濐濓濔濕濖濗濘濙濚濛濜濝濟濢濣濤濥�\".split(\"\");\nfor(j = 0; j != D[157].length; ++j) if(D[157][j].charCodeAt(0) !== 0xFFFD) { e[D[157][j]] = 40192 + j; d[40192 + j] = D[157][j];}\nD[158] = \"����������������������������������������������������������������濦濧濨濩濪濫濬濭濰濱濲濳濴濵濶濷濸濹濺濻濼濽濾濿瀀瀁瀂瀃瀄瀅瀆瀇瀈瀉瀊瀋瀌瀍瀎瀏瀐瀒瀓瀔瀕瀖瀗瀘瀙瀜瀝瀞瀟瀠瀡瀢瀤瀥瀦瀧瀨瀩瀪�瀫瀬瀭瀮瀯瀰瀱瀲瀳瀴瀶瀷瀸瀺瀻瀼瀽瀾瀿灀灁灂灃灄灅灆灇灈灉灊灋灍灎灐灑灒灓灔灕灖灗灘灙灚灛灜灝灟灠灡灢灣灤灥灦灧灨灩灪灮灱灲灳灴灷灹灺灻災炁炂炃炄炆炇炈炋炌炍炏炐炑炓炗炘炚炛炞炟炠炡炢炣炤炥炦炧炨炩炪炰炲炴炵炶為炾炿烄烅烆烇烉烋烌烍烎烏烐烑烒烓烔烕烖烗烚�\".split(\"\");\nfor(j = 0; j != D[158].length; ++j) if(D[158][j].charCodeAt(0) !== 0xFFFD) { e[D[158][j]] = 40448 + j; d[40448 + j] = D[158][j];}\nD[159] = \"����������������������������������������������������������������烜烝烞烠烡烢烣烥烪烮烰烱烲烳烴烵烶烸烺烻烼烾烿焀焁焂焃焄焅焆焇焈焋焌焍焎焏焑焒焔焗焛焜焝焞焟焠無焢焣焤焥焧焨焩焪焫焬焭焮焲焳焴�焵焷焸焹焺焻焼焽焾焿煀煁煂煃煄煆煇煈煉煋煍煏煐煑煒煓煔煕煖煗煘煙煚煛煝煟煠煡煢煣煥煩煪煫煬煭煯煰煱煴煵煶煷煹煻煼煾煿熀熁熂熃熅熆熇熈熉熋熌熍熎熐熑熒熓熕熖熗熚熛熜熝熞熡熢熣熤熥熦熧熩熪熫熭熮熯熰熱熲熴熶熷熸熺熻熼熽熾熿燀燁燂燄燅燆燇燈燉燊燋燌燍燏燐燑燒燓�\".split(\"\");\nfor(j = 0; j != D[159].length; ++j) if(D[159][j].charCodeAt(0) !== 0xFFFD) { e[D[159][j]] = 40704 + j; d[40704 + j] = D[159][j];}\nD[160] = \"����������������������������������������������������������������燖燗燘燙燚燛燜燝燞營燡燢燣燤燦燨燩燪燫燬燭燯燰燱燲燳燴燵燶燷燸燺燻燼燽燾燿爀爁爂爃爄爅爇爈爉爊爋爌爍爎爏爐爑爒爓爔爕爖爗爘爙爚�爛爜爞爟爠爡爢爣爤爥爦爧爩爫爭爮爯爲爳爴爺爼爾牀牁牂牃牄牅牆牉牊牋牎牏牐牑牓牔牕牗牘牚牜牞牠牣牤牥牨牪牫牬牭牰牱牳牴牶牷牸牻牼牽犂犃犅犆犇犈犉犌犎犐犑犓犔犕犖犗犘犙犚犛犜犝犞犠犡犢犣犤犥犦犧犨犩犪犫犮犱犲犳犵犺犻犼犽犾犿狀狅狆狇狉狊狋狌狏狑狓狔狕狖狘狚狛�\".split(\"\");\nfor(j = 0; j != D[160].length; ++j) if(D[160][j].charCodeAt(0) !== 0xFFFD) { e[D[160][j]] = 40960 + j; d[40960 + j] = D[160][j];}\nD[161] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������　、。·ˉˇ¨〃々—～‖…‘’“”〔〕〈〉《》「」『』〖〗【】±×÷∶∧∨∑∏∪∩∈∷√⊥∥∠⌒⊙∫∮≡≌≈∽∝≠≮≯≤≥∞∵∴♂♀°′″℃＄¤￠￡‰§№☆★○●◎◇◆□■△▲※→←↑↓〓�\".split(\"\");\nfor(j = 0; j != D[161].length; ++j) if(D[161][j].charCodeAt(0) !== 0xFFFD) { e[D[161][j]] = 41216 + j; d[41216 + j] = D[161][j];}\nD[162] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ������⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓⒔⒕⒖⒗⒘⒙⒚⒛⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂⒃⒄⒅⒆⒇①②③④⑤⑥⑦⑧⑨⑩��㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩��ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ���\".split(\"\");\nfor(j = 0; j != D[162].length; ++j) if(D[162][j].charCodeAt(0) !== 0xFFFD) { e[D[162][j]] = 41472 + j; d[41472 + j] = D[162][j];}\nD[163] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������！＂＃￥％＆＇（）＊＋，－．／０１２３４５６７８９：；＜＝＞？＠ＡＢＣＤＥＦＧＨＩＪＫＬＭＮＯＰＱＲＳＴＵＶＷＸＹＺ［＼］＾＿｀ａｂｃｄｅｆｇｈｉｊｋｌｍｎｏｐｑｒｓｔｕｖｗｘｙｚ｛｜｝￣�\".split(\"\");\nfor(j = 0; j != D[163].length; ++j) if(D[163][j].charCodeAt(0) !== 0xFFFD) { e[D[163][j]] = 41728 + j; d[41728 + j] = D[163][j];}\nD[164] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん������������\".split(\"\");\nfor(j = 0; j != D[164].length; ++j) if(D[164][j].charCodeAt(0) !== 0xFFFD) { e[D[164][j]] = 41984 + j; d[41984 + j] = D[164][j];}\nD[165] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ���������\".split(\"\");\nfor(j = 0; j != D[165].length; ++j) if(D[165][j].charCodeAt(0) !== 0xFFFD) { e[D[165][j]] = 42240 + j; d[42240 + j] = D[165][j];}\nD[166] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω�������︵︶︹︺︿﹀︽︾﹁﹂﹃﹄��︻︼︷︸︱�︳︴����������\".split(\"\");\nfor(j = 0; j != D[166].length; ++j) if(D[166][j].charCodeAt(0) !== 0xFFFD) { e[D[166][j]] = 42496 + j; d[42496 + j] = D[166][j];}\nD[167] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмнопрстуфхцчшщъыьэюя��������������\".split(\"\");\nfor(j = 0; j != D[167].length; ++j) if(D[167][j].charCodeAt(0) !== 0xFFFD) { e[D[167][j]] = 42752 + j; d[42752 + j] = D[167][j];}\nD[168] = \"����������������������������������������������������������������ˊˋ˙–―‥‵℅℉↖↗↘↙∕∟∣≒≦≧⊿═║╒╓╔╕╖╗╘╙╚╛╜╝╞╟╠╡╢╣╤╥╦╧╨╩╪╫╬╭╮╯╰╱╲╳▁▂▃▄▅▆▇�█▉▊▋▌▍▎▏▓▔▕▼▽◢◣◤◥☉⊕〒〝〞�����������āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜüêɑ�ńň�ɡ����ㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ����������������������\".split(\"\");\nfor(j = 0; j != D[168].length; ++j) if(D[168][j].charCodeAt(0) !== 0xFFFD) { e[D[168][j]] = 43008 + j; d[43008 + j] = D[168][j];}\nD[169] = \"����������������������������������������������������������������〡〢〣〤〥〦〧〨〩㊣㎎㎏㎜㎝㎞㎡㏄㏎㏑㏒㏕︰￢￤�℡㈱�‐���ー゛゜ヽヾ〆ゝゞ﹉﹊﹋﹌﹍﹎﹏﹐﹑﹒﹔﹕﹖﹗﹙﹚﹛﹜﹝﹞﹟﹠﹡�﹢﹣﹤﹥﹦﹨﹩﹪﹫�������������〇�������������─━│┃┄┅┆┇┈┉┊┋┌┍┎┏┐┑┒┓└┕┖┗┘┙┚┛├┝┞┟┠┡┢┣┤┥┦┧┨┩┪┫┬┭┮┯┰┱┲┳┴┵┶┷┸┹┺┻┼┽┾┿╀╁╂╃╄╅╆╇╈╉╊╋����������������\".split(\"\");\nfor(j = 0; j != D[169].length; ++j) if(D[169][j].charCodeAt(0) !== 0xFFFD) { e[D[169][j]] = 43264 + j; d[43264 + j] = D[169][j];}\nD[170] = \"����������������������������������������������������������������狜狝狟狢狣狤狥狦狧狪狫狵狶狹狽狾狿猀猂猄猅猆猇猈猉猋猌猍猏猐猑猒猔猘猙猚猟猠猣猤猦猧猨猭猯猰猲猳猵猶猺猻猼猽獀獁獂獃獄獅獆獇獈�獉獊獋獌獎獏獑獓獔獕獖獘獙獚獛獜獝獞獟獡獢獣獤獥獦獧獨獩獪獫獮獰獱�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[170].length; ++j) if(D[170][j].charCodeAt(0) !== 0xFFFD) { e[D[170][j]] = 43520 + j; d[43520 + j] = D[170][j];}\nD[171] = \"����������������������������������������������������������������獲獳獴獵獶獷獸獹獺獻獼獽獿玀玁玂玃玅玆玈玊玌玍玏玐玒玓玔玕玗玘玙玚玜玝玞玠玡玣玤玥玦玧玨玪玬玭玱玴玵玶玸玹玼玽玾玿珁珃珄珅珆珇�珋珌珎珒珓珔珕珖珗珘珚珛珜珝珟珡珢珣珤珦珨珪珫珬珮珯珰珱珳珴珵珶珷�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[171].length; ++j) if(D[171][j].charCodeAt(0) !== 0xFFFD) { e[D[171][j]] = 43776 + j; d[43776 + j] = D[171][j];}\nD[172] = \"����������������������������������������������������������������珸珹珺珻珼珽現珿琀琁琂琄琇琈琋琌琍琎琑琒琓琔琕琖琗琘琙琜琝琞琟琠琡琣琤琧琩琫琭琯琱琲琷琸琹琺琻琽琾琿瑀瑂瑃瑄瑅瑆瑇瑈瑉瑊瑋瑌瑍�瑎瑏瑐瑑瑒瑓瑔瑖瑘瑝瑠瑡瑢瑣瑤瑥瑦瑧瑨瑩瑪瑫瑬瑮瑯瑱瑲瑳瑴瑵瑸瑹瑺�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[172].length; ++j) if(D[172][j].charCodeAt(0) !== 0xFFFD) { e[D[172][j]] = 44032 + j; d[44032 + j] = D[172][j];}\nD[173] = \"����������������������������������������������������������������瑻瑼瑽瑿璂璄璅璆璈璉璊璌璍璏璑璒璓璔璕璖璗璘璙璚璛璝璟璠璡璢璣璤璥璦璪璫璬璭璮璯環璱璲璳璴璵璶璷璸璹璻璼璽璾璿瓀瓁瓂瓃瓄瓅瓆瓇�瓈瓉瓊瓋瓌瓍瓎瓏瓐瓑瓓瓔瓕瓖瓗瓘瓙瓚瓛瓝瓟瓡瓥瓧瓨瓩瓪瓫瓬瓭瓰瓱瓲�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[173].length; ++j) if(D[173][j].charCodeAt(0) !== 0xFFFD) { e[D[173][j]] = 44288 + j; d[44288 + j] = D[173][j];}\nD[174] = \"����������������������������������������������������������������瓳瓵瓸瓹瓺瓻瓼瓽瓾甀甁甂甃甅甆甇甈甉甊甋甌甎甐甒甔甕甖甗甛甝甞甠甡產産甤甦甧甪甮甴甶甹甼甽甿畁畂畃畄畆畇畉畊畍畐畑畒畓畕畖畗畘�畝畞畟畠畡畢畣畤畧畨畩畫畬畭畮畯異畱畳畵當畷畺畻畼畽畾疀疁疂疄疅疇�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[174].length; ++j) if(D[174][j].charCodeAt(0) !== 0xFFFD) { e[D[174][j]] = 44544 + j; d[44544 + j] = D[174][j];}\nD[175] = \"����������������������������������������������������������������疈疉疊疌疍疎疐疓疕疘疛疜疞疢疦疧疨疩疪疭疶疷疺疻疿痀痁痆痋痌痎痏痐痑痓痗痙痚痜痝痟痠痡痥痩痬痭痮痯痲痳痵痶痷痸痺痻痽痾瘂瘄瘆瘇�瘈瘉瘋瘍瘎瘏瘑瘒瘓瘔瘖瘚瘜瘝瘞瘡瘣瘧瘨瘬瘮瘯瘱瘲瘶瘷瘹瘺瘻瘽癁療癄�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[175].length; ++j) if(D[175][j].charCodeAt(0) !== 0xFFFD) { e[D[175][j]] = 44800 + j; d[44800 + j] = D[175][j];}\nD[176] = \"����������������������������������������������������������������癅癆癇癈癉癊癋癎癏癐癑癒癓癕癗癘癙癚癛癝癟癠癡癢癤癥癦癧癨癩癪癬癭癮癰癱癲癳癴癵癶癷癹発發癿皀皁皃皅皉皊皌皍皏皐皒皔皕皗皘皚皛�皜皝皞皟皠皡皢皣皥皦皧皨皩皪皫皬皭皯皰皳皵皶皷皸皹皺皻皼皽皾盀盁盃啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥�\".split(\"\");\nfor(j = 0; j != D[176].length; ++j) if(D[176][j].charCodeAt(0) !== 0xFFFD) { e[D[176][j]] = 45056 + j; d[45056 + j] = D[176][j];}\nD[177] = \"����������������������������������������������������������������盄盇盉盋盌盓盕盙盚盜盝盞盠盡盢監盤盦盧盨盩盪盫盬盭盰盳盵盶盷盺盻盽盿眀眂眃眅眆眊県眎眏眐眑眒眓眔眕眖眗眘眛眜眝眞眡眣眤眥眧眪眫�眬眮眰眱眲眳眴眹眻眽眾眿睂睄睅睆睈睉睊睋睌睍睎睏睒睓睔睕睖睗睘睙睜薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑北辈背贝钡倍狈备惫焙被奔苯本笨崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛鞭边编贬扁便变卞辨辩辫遍标彪膘表鳖憋别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳�\".split(\"\");\nfor(j = 0; j != D[177].length; ++j) if(D[177][j].charCodeAt(0) !== 0xFFFD) { e[D[177][j]] = 45312 + j; d[45312 + j] = D[177][j];}\nD[178] = \"����������������������������������������������������������������睝睞睟睠睤睧睩睪睭睮睯睰睱睲睳睴睵睶睷睸睺睻睼瞁瞂瞃瞆瞇瞈瞉瞊瞋瞏瞐瞓瞔瞕瞖瞗瞘瞙瞚瞛瞜瞝瞞瞡瞣瞤瞦瞨瞫瞭瞮瞯瞱瞲瞴瞶瞷瞸瞹瞺�瞼瞾矀矁矂矃矄矅矆矇矈矉矊矋矌矎矏矐矑矒矓矔矕矖矘矙矚矝矞矟矠矡矤病并玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳捕卜哺补埠不布步簿部怖擦猜裁材才财睬踩采彩菜蔡餐参蚕残惭惨灿苍舱仓沧藏操糙槽曹草厕策侧册测层蹭插叉茬茶查碴搽察岔差诧拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖�\".split(\"\");\nfor(j = 0; j != D[178].length; ++j) if(D[178][j].charCodeAt(0) !== 0xFFFD) { e[D[178][j]] = 45568 + j; d[45568 + j] = D[178][j];}\nD[179] = \"����������������������������������������������������������������矦矨矪矯矰矱矲矴矵矷矹矺矻矼砃砄砅砆砇砈砊砋砎砏砐砓砕砙砛砞砠砡砢砤砨砪砫砮砯砱砲砳砵砶砽砿硁硂硃硄硆硈硉硊硋硍硏硑硓硔硘硙硚�硛硜硞硟硠硡硢硣硤硥硦硧硨硩硯硰硱硲硳硴硵硶硸硹硺硻硽硾硿碀碁碂碃场尝常长偿肠厂敞畅唱倡超抄钞朝嘲潮巢吵炒车扯撤掣彻澈郴臣辰尘晨忱沉陈趁衬撑称城橙成呈乘程惩澄诚承逞骋秤吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽充冲虫崇宠抽酬畴踌稠愁筹仇绸瞅丑臭初出橱厨躇锄雏滁除楚�\".split(\"\");\nfor(j = 0; j != D[179].length; ++j) if(D[179][j].charCodeAt(0) !== 0xFFFD) { e[D[179][j]] = 45824 + j; d[45824 + j] = D[179][j];}\nD[180] = \"����������������������������������������������������������������碄碅碆碈碊碋碏碐碒碔碕碖碙碝碞碠碢碤碦碨碩碪碫碬碭碮碯碵碶碷碸確碻碼碽碿磀磂磃磄磆磇磈磌磍磎磏磑磒磓磖磗磘磚磛磜磝磞磟磠磡磢磣�磤磥磦磧磩磪磫磭磮磯磰磱磳磵磶磸磹磻磼磽磾磿礀礂礃礄礆礇礈礉礊礋礌础储矗搐触处揣川穿椽传船喘串疮窗幢床闯创吹炊捶锤垂春椿醇唇淳纯蠢戳绰疵茨磁雌辞慈瓷词此刺赐次聪葱囱匆从丛凑粗醋簇促蹿篡窜摧崔催脆瘁粹淬翠村存寸磋撮搓措挫错搭达答瘩打大呆歹傣戴带殆代贷袋待逮�\".split(\"\");\nfor(j = 0; j != D[180].length; ++j) if(D[180][j].charCodeAt(0) !== 0xFFFD) { e[D[180][j]] = 46080 + j; d[46080 + j] = D[180][j];}\nD[181] = \"����������������������������������������������������������������礍礎礏礐礑礒礔礕礖礗礘礙礚礛礜礝礟礠礡礢礣礥礦礧礨礩礪礫礬礭礮礯礰礱礲礳礵礶礷礸礹礽礿祂祃祄祅祇祊祋祌祍祎祏祐祑祒祔祕祘祙祡祣�祤祦祩祪祫祬祮祰祱祲祳祴祵祶祹祻祼祽祾祿禂禃禆禇禈禉禋禌禍禎禐禑禒怠耽担丹单郸掸胆旦氮但惮淡诞弹蛋当挡党荡档刀捣蹈倒岛祷导到稻悼道盗德得的蹬灯登等瞪凳邓堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔颠掂滇碘点典靛垫电佃甸店惦奠淀殿碉叼雕凋刁掉吊钓调跌爹碟蝶迭谍叠�\".split(\"\");\nfor(j = 0; j != D[181].length; ++j) if(D[181][j].charCodeAt(0) !== 0xFFFD) { e[D[181][j]] = 46336 + j; d[46336 + j] = D[181][j];}\nD[182] = \"����������������������������������������������������������������禓禔禕禖禗禘禙禛禜禝禞禟禠禡禢禣禤禥禦禨禩禪禫禬禭禮禯禰禱禲禴禵禶禷禸禼禿秂秄秅秇秈秊秌秎秏秐秓秔秖秗秙秚秛秜秝秞秠秡秢秥秨秪�秬秮秱秲秳秴秵秶秷秹秺秼秾秿稁稄稅稇稈稉稊稌稏稐稑稒稓稕稖稘稙稛稜丁盯叮钉顶鼎锭定订丢东冬董懂动栋侗恫冻洞兜抖斗陡豆逗痘都督毒犊独读堵睹赌杜镀肚度渡妒端短锻段断缎堆兑队对墩吨蹲敦顿囤钝盾遁掇哆多夺垛躲朵跺舵剁惰堕蛾峨鹅俄额讹娥恶厄扼遏鄂饿恩而儿耳尔饵洱二�\".split(\"\");\nfor(j = 0; j != D[182].length; ++j) if(D[182][j].charCodeAt(0) !== 0xFFFD) { e[D[182][j]] = 46592 + j; d[46592 + j] = D[182][j];}\nD[183] = \"����������������������������������������������������������������稝稟稡稢稤稥稦稧稨稩稪稫稬稭種稯稰稱稲稴稵稶稸稺稾穀穁穂穃穄穅穇穈穉穊穋穌積穎穏穐穒穓穔穕穖穘穙穚穛穜穝穞穟穠穡穢穣穤穥穦穧穨�穩穪穫穬穭穮穯穱穲穳穵穻穼穽穾窂窅窇窉窊窋窌窎窏窐窓窔窙窚窛窞窡窢贰发罚筏伐乏阀法珐藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛坊芳方肪房防妨仿访纺放菲非啡飞肥匪诽吠肺废沸费芬酚吩氛分纷坟焚汾粉奋份忿愤粪丰封枫蜂峰锋风疯烽逢冯缝讽奉凤佛否夫敷肤孵扶拂辐幅氟符伏俘服�\".split(\"\");\nfor(j = 0; j != D[183].length; ++j) if(D[183][j].charCodeAt(0) !== 0xFFFD) { e[D[183][j]] = 46848 + j; d[46848 + j] = D[183][j];}\nD[184] = \"����������������������������������������������������������������窣窤窧窩窪窫窮窯窰窱窲窴窵窶窷窸窹窺窻窼窽窾竀竁竂竃竄竅竆竇竈竉竊竌竍竎竏竐竑竒竓竔竕竗竘竚竛竜竝竡竢竤竧竨竩竪竫竬竮竰竱竲竳�竴竵競竷竸竻竼竾笀笁笂笅笇笉笌笍笎笐笒笓笖笗笘笚笜笝笟笡笢笣笧笩笭浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐噶嘎该改概钙盖溉干甘杆柑竿肝赶感秆敢赣冈刚钢缸肛纲岗港杠篙皋高膏羔糕搞镐稿告哥歌搁戈鸽胳疙割革葛格蛤阁隔铬个各给根跟耕更庚羹�\".split(\"\");\nfor(j = 0; j != D[184].length; ++j) if(D[184][j].charCodeAt(0) !== 0xFFFD) { e[D[184][j]] = 47104 + j; d[47104 + j] = D[184][j];}\nD[185] = \"����������������������������������������������������������������笯笰笲笴笵笶笷笹笻笽笿筀筁筂筃筄筆筈筊筍筎筓筕筗筙筜筞筟筡筣筤筥筦筧筨筩筪筫筬筭筯筰筳筴筶筸筺筼筽筿箁箂箃箄箆箇箈箉箊箋箌箎箏�箑箒箓箖箘箙箚箛箞箟箠箣箤箥箮箯箰箲箳箵箶箷箹箺箻箼箽箾箿節篂篃範埂耿梗工攻功恭龚供躬公宫弓巩汞拱贡共钩勾沟苟狗垢构购够辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇刮瓜剐寡挂褂乖拐怪棺关官冠观管馆罐惯灌贯光广逛瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽辊滚棍锅郭国果裹过哈�\".split(\"\");\nfor(j = 0; j != D[185].length; ++j) if(D[185][j].charCodeAt(0) !== 0xFFFD) { e[D[185][j]] = 47360 + j; d[47360 + j] = D[185][j];}\nD[186] = \"����������������������������������������������������������������篅篈築篊篋篍篎篏篐篒篔篕篖篗篘篛篜篞篟篠篢篣篤篧篨篩篫篬篭篯篰篲篳篴篵篶篸篹篺篻篽篿簀簁簂簃簄簅簆簈簉簊簍簎簐簑簒簓簔簕簗簘簙�簚簛簜簝簞簠簡簢簣簤簥簨簩簫簬簭簮簯簰簱簲簳簴簵簶簷簹簺簻簼簽簾籂骸孩海氦亥害骇酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉夯杭航壕嚎豪毫郝好耗号浩呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺嘿黑痕很狠恨哼亨横衡恒轰哄烘虹鸿洪宏弘红喉侯猴吼厚候后呼乎忽瑚壶葫胡蝴狐糊湖�\".split(\"\");\nfor(j = 0; j != D[186].length; ++j) if(D[186][j].charCodeAt(0) !== 0xFFFD) { e[D[186][j]] = 47616 + j; d[47616 + j] = D[186][j];}\nD[187] = \"����������������������������������������������������������������籃籄籅籆籇籈籉籊籋籌籎籏籐籑籒籓籔籕籖籗籘籙籚籛籜籝籞籟籠籡籢籣籤籥籦籧籨籩籪籫籬籭籮籯籰籱籲籵籶籷籸籹籺籾籿粀粁粂粃粄粅粆粇�粈粊粋粌粍粎粏粐粓粔粖粙粚粛粠粡粣粦粧粨粩粫粬粭粯粰粴粵粶粷粸粺粻弧虎唬护互沪户花哗华猾滑画划化话槐徊怀淮坏欢环桓还缓换患唤痪豢焕涣宦幻荒慌黄磺蝗簧皇凰惶煌晃幌恍谎灰挥辉徽恢蛔回毁悔慧卉惠晦贿秽会烩汇讳诲绘荤昏婚魂浑混豁活伙火获或惑霍货祸击圾基机畸稽积箕�\".split(\"\");\nfor(j = 0; j != D[187].length; ++j) if(D[187][j].charCodeAt(0) !== 0xFFFD) { e[D[187][j]] = 47872 + j; d[47872 + j] = D[187][j];}\nD[188] = \"����������������������������������������������������������������粿糀糂糃糄糆糉糋糎糏糐糑糒糓糔糘糚糛糝糞糡糢糣糤糥糦糧糩糪糫糬糭糮糰糱糲糳糴糵糶糷糹糺糼糽糾糿紀紁紂紃約紅紆紇紈紉紋紌納紎紏紐�紑紒紓純紕紖紗紘紙級紛紜紝紞紟紡紣紤紥紦紨紩紪紬紭紮細紱紲紳紴紵紶肌饥迹激讥鸡姬绩缉吉极棘辑籍集及急疾汲即嫉级挤几脊己蓟技冀季伎祭剂悸济寄寂计记既忌际妓继纪嘉枷夹佳家加荚颊贾甲钾假稼价架驾嫁歼监坚尖笺间煎兼肩艰奸缄茧检柬碱硷拣捡简俭剪减荐槛鉴践贱见键箭件�\".split(\"\");\nfor(j = 0; j != D[188].length; ++j) if(D[188][j].charCodeAt(0) !== 0xFFFD) { e[D[188][j]] = 48128 + j; d[48128 + j] = D[188][j];}\nD[189] = \"����������������������������������������������������������������紷紸紹紺紻紼紽紾紿絀絁終絃組絅絆絇絈絉絊絋経絍絎絏結絑絒絓絔絕絖絗絘絙絚絛絜絝絞絟絠絡絢絣絤絥給絧絨絩絪絫絬絭絯絰統絲絳絴絵絶�絸絹絺絻絼絽絾絿綀綁綂綃綄綅綆綇綈綉綊綋綌綍綎綏綐綑綒經綔綕綖綗綘健舰剑饯渐溅涧建僵姜将浆江疆蒋桨奖讲匠酱降蕉椒礁焦胶交郊浇骄娇嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较叫窖揭接皆秸街阶截劫节桔杰捷睫竭洁结解姐戒藉芥界借介疥诫届巾筋斤金今津襟紧锦仅谨进靳晋禁近烬浸�\".split(\"\");\nfor(j = 0; j != D[189].length; ++j) if(D[189][j].charCodeAt(0) !== 0xFFFD) { e[D[189][j]] = 48384 + j; d[48384 + j] = D[189][j];}\nD[190] = \"����������������������������������������������������������������継続綛綜綝綞綟綠綡綢綣綤綥綧綨綩綪綫綬維綯綰綱網綳綴綵綶綷綸綹綺綻綼綽綾綿緀緁緂緃緄緅緆緇緈緉緊緋緌緍緎総緐緑緒緓緔緕緖緗緘緙�線緛緜緝緞緟締緡緢緣緤緥緦緧編緩緪緫緬緭緮緯緰緱緲緳練緵緶緷緸緹緺尽劲荆兢茎睛晶鲸京惊精粳经井警景颈静境敬镜径痉靖竟竞净炯窘揪究纠玖韭久灸九酒厩救旧臼舅咎就疚鞠拘狙疽居驹菊局咀矩举沮聚拒据巨具距踞锯俱句惧炬剧捐鹃娟倦眷卷绢撅攫抉掘倔爵觉决诀绝均菌钧军君峻�\".split(\"\");\nfor(j = 0; j != D[190].length; ++j) if(D[190][j].charCodeAt(0) !== 0xFFFD) { e[D[190][j]] = 48640 + j; d[48640 + j] = D[190][j];}\nD[191] = \"����������������������������������������������������������������緻緼緽緾緿縀縁縂縃縄縅縆縇縈縉縊縋縌縍縎縏縐縑縒縓縔縕縖縗縘縙縚縛縜縝縞縟縠縡縢縣縤縥縦縧縨縩縪縫縬縭縮縯縰縱縲縳縴縵縶縷縸縹�縺縼總績縿繀繂繃繄繅繆繈繉繊繋繌繍繎繏繐繑繒繓織繕繖繗繘繙繚繛繜繝俊竣浚郡骏喀咖卡咯开揩楷凯慨刊堪勘坎砍看康慷糠扛抗亢炕考拷烤靠坷苛柯棵磕颗科壳咳可渴克刻客课肯啃垦恳坑吭空恐孔控抠口扣寇枯哭窟苦酷库裤夸垮挎跨胯块筷侩快宽款匡筐狂框矿眶旷况亏盔岿窥葵奎魁傀�\".split(\"\");\nfor(j = 0; j != D[191].length; ++j) if(D[191][j].charCodeAt(0) !== 0xFFFD) { e[D[191][j]] = 48896 + j; d[48896 + j] = D[191][j];}\nD[192] = \"����������������������������������������������������������������繞繟繠繡繢繣繤繥繦繧繨繩繪繫繬繭繮繯繰繱繲繳繴繵繶繷繸繹繺繻繼繽繾繿纀纁纃纄纅纆纇纈纉纊纋續纍纎纏纐纑纒纓纔纕纖纗纘纙纚纜纝纞�纮纴纻纼绖绤绬绹缊缐缞缷缹缻缼缽缾缿罀罁罃罆罇罈罉罊罋罌罍罎罏罒罓馈愧溃坤昆捆困括扩廓阔垃拉喇蜡腊辣啦莱来赖蓝婪栏拦篮阑兰澜谰揽览懒缆烂滥琅榔狼廊郎朗浪捞劳牢老佬姥酪烙涝勒乐雷镭蕾磊累儡垒擂肋类泪棱楞冷厘梨犁黎篱狸离漓理李里鲤礼莉荔吏栗丽厉励砾历利傈例俐�\".split(\"\");\nfor(j = 0; j != D[192].length; ++j) if(D[192][j].charCodeAt(0) !== 0xFFFD) { e[D[192][j]] = 49152 + j; d[49152 + j] = D[192][j];}\nD[193] = \"����������������������������������������������������������������罖罙罛罜罝罞罠罣罤罥罦罧罫罬罭罯罰罳罵罶罷罸罺罻罼罽罿羀羂羃羄羅羆羇羈羉羋羍羏羐羑羒羓羕羖羗羘羙羛羜羠羢羣羥羦羨義羪羫羬羭羮羱�羳羴羵羶羷羺羻羾翀翂翃翄翆翇翈翉翋翍翏翐翑習翓翖翗翙翚翛翜翝翞翢翣痢立粒沥隶力璃哩俩联莲连镰廉怜涟帘敛脸链恋炼练粮凉梁粱良两辆量晾亮谅撩聊僚疗燎寥辽潦了撂镣廖料列裂烈劣猎琳林磷霖临邻鳞淋凛赁吝拎玲菱零龄铃伶羚凌灵陵岭领另令溜琉榴硫馏留刘瘤流柳六龙聋咙笼窿�\".split(\"\");\nfor(j = 0; j != D[193].length; ++j) if(D[193][j].charCodeAt(0) !== 0xFFFD) { e[D[193][j]] = 49408 + j; d[49408 + j] = D[193][j];}\nD[194] = \"����������������������������������������������������������������翤翧翨翪翫翬翭翯翲翴翵翶翷翸翹翺翽翾翿耂耇耈耉耊耎耏耑耓耚耛耝耞耟耡耣耤耫耬耭耮耯耰耲耴耹耺耼耾聀聁聄聅聇聈聉聎聏聐聑聓聕聖聗�聙聛聜聝聞聟聠聡聢聣聤聥聦聧聨聫聬聭聮聯聰聲聳聴聵聶職聸聹聺聻聼聽隆垄拢陇楼娄搂篓漏陋芦卢颅庐炉掳卤虏鲁麓碌露路赂鹿潞禄录陆戮驴吕铝侣旅履屡缕虑氯律率滤绿峦挛孪滦卵乱掠略抡轮伦仑沦纶论萝螺罗逻锣箩骡裸落洛骆络妈麻玛码蚂马骂嘛吗埋买麦卖迈脉瞒馒蛮满蔓曼慢漫�\".split(\"\");\nfor(j = 0; j != D[194].length; ++j) if(D[194][j].charCodeAt(0) !== 0xFFFD) { e[D[194][j]] = 49664 + j; d[49664 + j] = D[194][j];}\nD[195] = \"����������������������������������������������������������������聾肁肂肅肈肊肍肎肏肐肑肒肔肕肗肙肞肣肦肧肨肬肰肳肵肶肸肹肻胅胇胈胉胊胋胏胐胑胒胓胔胕胘胟胠胢胣胦胮胵胷胹胻胾胿脀脁脃脄脅脇脈脋�脌脕脗脙脛脜脝脟脠脡脢脣脤脥脦脧脨脩脪脫脭脮脰脳脴脵脷脹脺脻脼脽脿谩芒茫盲氓忙莽猫茅锚毛矛铆卯茂冒帽貌贸么玫枚梅酶霉煤没眉媒镁每美昧寐妹媚门闷们萌蒙檬盟锰猛梦孟眯醚靡糜迷谜弥米秘觅泌蜜密幂棉眠绵冕免勉娩缅面苗描瞄藐秒渺庙妙蔑灭民抿皿敏悯闽明螟鸣铭名命谬摸�\".split(\"\");\nfor(j = 0; j != D[195].length; ++j) if(D[195][j].charCodeAt(0) !== 0xFFFD) { e[D[195][j]] = 49920 + j; d[49920 + j] = D[195][j];}\nD[196] = \"����������������������������������������������������������������腀腁腂腃腄腅腇腉腍腎腏腒腖腗腘腛腜腝腞腟腡腢腣腤腦腨腪腫腬腯腲腳腵腶腷腸膁膃膄膅膆膇膉膋膌膍膎膐膒膓膔膕膖膗膙膚膞膟膠膡膢膤膥�膧膩膫膬膭膮膯膰膱膲膴膵膶膷膸膹膼膽膾膿臄臅臇臈臉臋臍臎臏臐臑臒臓摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌谋牟某拇牡亩姆母墓暮幕募慕木目睦牧穆拿哪呐钠那娜纳氖乃奶耐奈南男难囊挠脑恼闹淖呢馁内嫩能妮霓倪泥尼拟你匿腻逆溺蔫拈年碾撵捻念娘酿鸟尿捏聂孽啮镊镍涅您柠狞凝宁�\".split(\"\");\nfor(j = 0; j != D[196].length; ++j) if(D[196][j].charCodeAt(0) !== 0xFFFD) { e[D[196][j]] = 50176 + j; d[50176 + j] = D[196][j];}\nD[197] = \"����������������������������������������������������������������臔臕臖臗臘臙臚臛臜臝臞臟臠臡臢臤臥臦臨臩臫臮臯臰臱臲臵臶臷臸臹臺臽臿舃與興舉舊舋舎舏舑舓舕舖舗舘舙舚舝舠舤舥舦舧舩舮舲舺舼舽舿�艀艁艂艃艅艆艈艊艌艍艎艐艑艒艓艔艕艖艗艙艛艜艝艞艠艡艢艣艤艥艦艧艩拧泞牛扭钮纽脓浓农弄奴努怒女暖虐疟挪懦糯诺哦欧鸥殴藕呕偶沤啪趴爬帕怕琶拍排牌徘湃派攀潘盘磐盼畔判叛乓庞旁耪胖抛咆刨炮袍跑泡呸胚培裴赔陪配佩沛喷盆砰抨烹澎彭蓬棚硼篷膨朋鹏捧碰坯砒霹批披劈琵毗�\".split(\"\");\nfor(j = 0; j != D[197].length; ++j) if(D[197][j].charCodeAt(0) !== 0xFFFD) { e[D[197][j]] = 50432 + j; d[50432 + j] = D[197][j];}\nD[198] = \"����������������������������������������������������������������艪艫艬艭艱艵艶艷艸艻艼芀芁芃芅芆芇芉芌芐芓芔芕芖芚芛芞芠芢芣芧芲芵芶芺芻芼芿苀苂苃苅苆苉苐苖苙苚苝苢苧苨苩苪苬苭苮苰苲苳苵苶苸�苺苼苽苾苿茀茊茋茍茐茒茓茖茘茙茝茞茟茠茡茢茣茤茥茦茩茪茮茰茲茷茻茽啤脾疲皮匹痞僻屁譬篇偏片骗飘漂瓢票撇瞥拼频贫品聘乒坪苹萍平凭瓶评屏坡泼颇婆破魄迫粕剖扑铺仆莆葡菩蒲埔朴圃普浦谱曝瀑期欺栖戚妻七凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑起岂乞企启契砌器气迄弃汽泣讫掐�\".split(\"\");\nfor(j = 0; j != D[198].length; ++j) if(D[198][j].charCodeAt(0) !== 0xFFFD) { e[D[198][j]] = 50688 + j; d[50688 + j] = D[198][j];}\nD[199] = \"����������������������������������������������������������������茾茿荁荂荄荅荈荊荋荌荍荎荓荕荖荗荘荙荝荢荰荱荲荳荴荵荶荹荺荾荿莀莁莂莃莄莇莈莊莋莌莍莏莐莑莔莕莖莗莙莚莝莟莡莢莣莤莥莦莧莬莭莮�莯莵莻莾莿菂菃菄菆菈菉菋菍菎菐菑菒菓菕菗菙菚菛菞菢菣菤菦菧菨菫菬菭恰洽牵扦钎铅千迁签仟谦乾黔钱钳前潜遣浅谴堑嵌欠歉枪呛腔羌墙蔷强抢橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍切茄且怯窃钦侵亲秦琴勤芹擒禽寝沁青轻氢倾卿清擎晴氰情顷请庆琼穷秋丘邱球求囚酋泅趋区蛆曲躯屈驱渠�\".split(\"\");\nfor(j = 0; j != D[199].length; ++j) if(D[199][j].charCodeAt(0) !== 0xFFFD) { e[D[199][j]] = 50944 + j; d[50944 + j] = D[199][j];}\nD[200] = \"����������������������������������������������������������������菮華菳菴菵菶菷菺菻菼菾菿萀萂萅萇萈萉萊萐萒萓萔萕萖萗萙萚萛萞萟萠萡萢萣萩萪萫萬萭萮萯萰萲萳萴萵萶萷萹萺萻萾萿葀葁葂葃葄葅葇葈葉�葊葋葌葍葎葏葐葒葓葔葕葖葘葝葞葟葠葢葤葥葦葧葨葪葮葯葰葲葴葷葹葻葼取娶龋趣去圈颧权醛泉全痊拳犬券劝缺炔瘸却鹊榷确雀裙群然燃冉染瓤壤攘嚷让饶扰绕惹热壬仁人忍韧任认刃妊纫扔仍日戎茸蓉荣融熔溶容绒冗揉柔肉茹蠕儒孺如辱乳汝入褥软阮蕊瑞锐闰润若弱撒洒萨腮鳃塞赛三叁�\".split(\"\");\nfor(j = 0; j != D[200].length; ++j) if(D[200][j].charCodeAt(0) !== 0xFFFD) { e[D[200][j]] = 51200 + j; d[51200 + j] = D[200][j];}\nD[201] = \"����������������������������������������������������������������葽葾葿蒀蒁蒃蒄蒅蒆蒊蒍蒏蒐蒑蒒蒓蒔蒕蒖蒘蒚蒛蒝蒞蒟蒠蒢蒣蒤蒥蒦蒧蒨蒩蒪蒫蒬蒭蒮蒰蒱蒳蒵蒶蒷蒻蒼蒾蓀蓂蓃蓅蓆蓇蓈蓋蓌蓎蓏蓒蓔蓕蓗�蓘蓙蓚蓛蓜蓞蓡蓢蓤蓧蓨蓩蓪蓫蓭蓮蓯蓱蓲蓳蓴蓵蓶蓷蓸蓹蓺蓻蓽蓾蔀蔁蔂伞散桑嗓丧搔骚扫嫂瑟色涩森僧莎砂杀刹沙纱傻啥煞筛晒珊苫杉山删煽衫闪陕擅赡膳善汕扇缮墒伤商赏晌上尚裳梢捎稍烧芍勺韶少哨邵绍奢赊蛇舌舍赦摄射慑涉社设砷申呻伸身深娠绅神沈审婶甚肾慎渗声生甥牲升绳�\".split(\"\");\nfor(j = 0; j != D[201].length; ++j) if(D[201][j].charCodeAt(0) !== 0xFFFD) { e[D[201][j]] = 51456 + j; d[51456 + j] = D[201][j];}\nD[202] = \"����������������������������������������������������������������蔃蔄蔅蔆蔇蔈蔉蔊蔋蔍蔎蔏蔐蔒蔔蔕蔖蔘蔙蔛蔜蔝蔞蔠蔢蔣蔤蔥蔦蔧蔨蔩蔪蔭蔮蔯蔰蔱蔲蔳蔴蔵蔶蔾蔿蕀蕁蕂蕄蕅蕆蕇蕋蕌蕍蕎蕏蕐蕑蕒蕓蕔蕕�蕗蕘蕚蕛蕜蕝蕟蕠蕡蕢蕣蕥蕦蕧蕩蕪蕫蕬蕭蕮蕯蕰蕱蕳蕵蕶蕷蕸蕼蕽蕿薀薁省盛剩胜圣师失狮施湿诗尸虱十石拾时什食蚀实识史矢使屎驶始式示士世柿事拭誓逝势是嗜噬适仕侍释饰氏市恃室视试收手首守寿授售受瘦兽蔬枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙署蜀黍鼠属术述树束戍竖墅庶数漱�\".split(\"\");\nfor(j = 0; j != D[202].length; ++j) if(D[202][j].charCodeAt(0) !== 0xFFFD) { e[D[202][j]] = 51712 + j; d[51712 + j] = D[202][j];}\nD[203] = \"����������������������������������������������������������������薂薃薆薈薉薊薋薌薍薎薐薑薒薓薔薕薖薗薘薙薚薝薞薟薠薡薢薣薥薦薧薩薫薬薭薱薲薳薴薵薶薸薺薻薼薽薾薿藀藂藃藄藅藆藇藈藊藋藌藍藎藑藒�藔藖藗藘藙藚藛藝藞藟藠藡藢藣藥藦藧藨藪藫藬藭藮藯藰藱藲藳藴藵藶藷藸恕刷耍摔衰甩帅栓拴霜双爽谁水睡税吮瞬顺舜说硕朔烁斯撕嘶思私司丝死肆寺嗣四伺似饲巳松耸怂颂送宋讼诵搜艘擞嗽苏酥俗素速粟僳塑溯宿诉肃酸蒜算虽隋随绥髓碎岁穗遂隧祟孙损笋蓑梭唆缩琐索锁所塌他它她塔�\".split(\"\");\nfor(j = 0; j != D[203].length; ++j) if(D[203][j].charCodeAt(0) !== 0xFFFD) { e[D[203][j]] = 51968 + j; d[51968 + j] = D[203][j];}\nD[204] = \"����������������������������������������������������������������藹藺藼藽藾蘀蘁蘂蘃蘄蘆蘇蘈蘉蘊蘋蘌蘍蘎蘏蘐蘒蘓蘔蘕蘗蘘蘙蘚蘛蘜蘝蘞蘟蘠蘡蘢蘣蘤蘥蘦蘨蘪蘫蘬蘭蘮蘯蘰蘱蘲蘳蘴蘵蘶蘷蘹蘺蘻蘽蘾蘿虀�虁虂虃虄虅虆虇虈虉虊虋虌虒虓處虖虗虘虙虛虜虝號虠虡虣虤虥虦虧虨虩虪獭挞蹋踏胎苔抬台泰酞太态汰坍摊贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭汤塘搪堂棠膛唐糖倘躺淌趟烫掏涛滔绦萄桃逃淘陶讨套特藤腾疼誊梯剔踢锑提题蹄啼体替嚏惕涕剃屉天添填田甜恬舔腆挑条迢眺跳贴铁帖厅听烃�\".split(\"\");\nfor(j = 0; j != D[204].length; ++j) if(D[204][j].charCodeAt(0) !== 0xFFFD) { e[D[204][j]] = 52224 + j; d[52224 + j] = D[204][j];}\nD[205] = \"����������������������������������������������������������������虭虯虰虲虳虴虵虶虷虸蚃蚄蚅蚆蚇蚈蚉蚎蚏蚐蚑蚒蚔蚖蚗蚘蚙蚚蚛蚞蚟蚠蚡蚢蚥蚦蚫蚭蚮蚲蚳蚷蚸蚹蚻蚼蚽蚾蚿蛁蛂蛃蛅蛈蛌蛍蛒蛓蛕蛖蛗蛚蛜�蛝蛠蛡蛢蛣蛥蛦蛧蛨蛪蛫蛬蛯蛵蛶蛷蛺蛻蛼蛽蛿蜁蜄蜅蜆蜋蜌蜎蜏蜐蜑蜔蜖汀廷停亭庭挺艇通桐酮瞳同铜彤童桶捅筒统痛偷投头透凸秃突图徒途涂屠土吐兔湍团推颓腿蜕褪退吞屯臀拖托脱鸵陀驮驼椭妥拓唾挖哇蛙洼娃瓦袜歪外豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕汪王亡枉网往旺望忘妄威�\".split(\"\");\nfor(j = 0; j != D[205].length; ++j) if(D[205][j].charCodeAt(0) !== 0xFFFD) { e[D[205][j]] = 52480 + j; d[52480 + j] = D[205][j];}\nD[206] = \"����������������������������������������������������������������蜙蜛蜝蜟蜠蜤蜦蜧蜨蜪蜫蜬蜭蜯蜰蜲蜳蜵蜶蜸蜹蜺蜼蜽蝀蝁蝂蝃蝄蝅蝆蝊蝋蝍蝏蝐蝑蝒蝔蝕蝖蝘蝚蝛蝜蝝蝞蝟蝡蝢蝦蝧蝨蝩蝪蝫蝬蝭蝯蝱蝲蝳蝵�蝷蝸蝹蝺蝿螀螁螄螆螇螉螊螌螎螏螐螑螒螔螕螖螘螙螚螛螜螝螞螠螡螢螣螤巍微危韦违桅围唯惟为潍维苇萎委伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰卫瘟温蚊文闻纹吻稳紊问嗡翁瓮挝蜗涡窝我斡卧握沃巫呜钨乌污诬屋无芜梧吾吴毋武五捂午舞伍侮坞戊雾晤物勿务悟误昔熙析西硒矽晰嘻吸锡牺�\".split(\"\");\nfor(j = 0; j != D[206].length; ++j) if(D[206][j].charCodeAt(0) !== 0xFFFD) { e[D[206][j]] = 52736 + j; d[52736 + j] = D[206][j];}\nD[207] = \"����������������������������������������������������������������螥螦螧螩螪螮螰螱螲螴螶螷螸螹螻螼螾螿蟁蟂蟃蟄蟅蟇蟈蟉蟌蟍蟎蟏蟐蟔蟕蟖蟗蟘蟙蟚蟜蟝蟞蟟蟡蟢蟣蟤蟦蟧蟨蟩蟫蟬蟭蟯蟰蟱蟲蟳蟴蟵蟶蟷蟸�蟺蟻蟼蟽蟿蠀蠁蠂蠄蠅蠆蠇蠈蠉蠋蠌蠍蠎蠏蠐蠑蠒蠔蠗蠘蠙蠚蠜蠝蠞蠟蠠蠣稀息希悉膝夕惜熄烯溪汐犀檄袭席习媳喜铣洗系隙戏细瞎虾匣霞辖暇峡侠狭下厦夏吓掀锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷限线相厢镶香箱襄湘乡翔祥详想响享项巷橡像向象萧硝霄削哮嚣销消宵淆晓�\".split(\"\");\nfor(j = 0; j != D[207].length; ++j) if(D[207][j].charCodeAt(0) !== 0xFFFD) { e[D[207][j]] = 52992 + j; d[52992 + j] = D[207][j];}\nD[208] = \"����������������������������������������������������������������蠤蠥蠦蠧蠨蠩蠪蠫蠬蠭蠮蠯蠰蠱蠳蠴蠵蠶蠷蠸蠺蠻蠽蠾蠿衁衂衃衆衇衈衉衊衋衎衏衐衑衒術衕衖衘衚衛衜衝衞衟衠衦衧衪衭衯衱衳衴衵衶衸衹衺�衻衼袀袃袆袇袉袊袌袎袏袐袑袓袔袕袗袘袙袚袛袝袞袟袠袡袣袥袦袧袨袩袪小孝校肖啸笑效楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑薪芯锌欣辛新忻心信衅星腥猩惺兴刑型形邢行醒幸杏性姓兄凶胸匈汹雄熊休修羞朽嗅锈秀袖绣墟戌需虚嘘须徐许蓄酗叙旭序畜恤絮婿绪续轩喧宣悬旋玄�\".split(\"\");\nfor(j = 0; j != D[208].length; ++j) if(D[208][j].charCodeAt(0) !== 0xFFFD) { e[D[208][j]] = 53248 + j; d[53248 + j] = D[208][j];}\nD[209] = \"����������������������������������������������������������������袬袮袯袰袲袳袴袵袶袸袹袺袻袽袾袿裀裃裄裇裈裊裋裌裍裏裐裑裓裖裗裚裛補裝裞裠裡裦裧裩裪裫裬裭裮裯裲裵裶裷裺裻製裿褀褁褃褄褅褆複褈�褉褋褌褍褎褏褑褔褕褖褗褘褜褝褞褟褠褢褣褤褦褧褨褩褬褭褮褯褱褲褳褵褷选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶�\".split(\"\");\nfor(j = 0; j != D[209].length; ++j) if(D[209][j].charCodeAt(0) !== 0xFFFD) { e[D[209][j]] = 53504 + j; d[53504 + j] = D[209][j];}\nD[210] = \"����������������������������������������������������������������褸褹褺褻褼褽褾褿襀襂襃襅襆襇襈襉襊襋襌襍襎襏襐襑襒襓襔襕襖襗襘襙襚襛襜襝襠襡襢襣襤襥襧襨襩襪襫襬襭襮襯襰襱襲襳襴襵襶襷襸襹襺襼�襽襾覀覂覄覅覇覈覉覊見覌覍覎規覐覑覒覓覔覕視覗覘覙覚覛覜覝覞覟覠覡摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐�\".split(\"\");\nfor(j = 0; j != D[210].length; ++j) if(D[210][j].charCodeAt(0) !== 0xFFFD) { e[D[210][j]] = 53760 + j; d[53760 + j] = D[210][j];}\nD[211] = \"����������������������������������������������������������������覢覣覤覥覦覧覨覩親覫覬覭覮覯覰覱覲観覴覵覶覷覸覹覺覻覼覽覾覿觀觃觍觓觔觕觗觘觙觛觝觟觠觡觢觤觧觨觩觪觬觭觮觰觱觲觴觵觶觷觸觹觺�觻觼觽觾觿訁訂訃訄訅訆計訉訊訋訌訍討訏訐訑訒訓訔訕訖託記訙訚訛訜訝印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉�\".split(\"\");\nfor(j = 0; j != D[211].length; ++j) if(D[211][j].charCodeAt(0) !== 0xFFFD) { e[D[211][j]] = 54016 + j; d[54016 + j] = D[211][j];}\nD[212] = \"����������������������������������������������������������������訞訟訠訡訢訣訤訥訦訧訨訩訪訫訬設訮訯訰許訲訳訴訵訶訷訸訹診註証訽訿詀詁詂詃詄詅詆詇詉詊詋詌詍詎詏詐詑詒詓詔評詖詗詘詙詚詛詜詝詞�詟詠詡詢詣詤詥試詧詨詩詪詫詬詭詮詯詰話該詳詴詵詶詷詸詺詻詼詽詾詿誀浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧�\".split(\"\");\nfor(j = 0; j != D[212].length; ++j) if(D[212][j].charCodeAt(0) !== 0xFFFD) { e[D[212][j]] = 54272 + j; d[54272 + j] = D[212][j];}\nD[213] = \"����������������������������������������������������������������誁誂誃誄誅誆誇誈誋誌認誎誏誐誑誒誔誕誖誗誘誙誚誛誜誝語誟誠誡誢誣誤誥誦誧誨誩說誫説読誮誯誰誱課誳誴誵誶誷誸誹誺誻誼誽誾調諀諁諂�諃諄諅諆談諈諉諊請諌諍諎諏諐諑諒諓諔諕論諗諘諙諚諛諜諝諞諟諠諡諢諣铡闸眨栅榨咋乍炸诈摘斋宅窄债寨瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽樟章彰漳张掌涨杖丈帐账仗胀瘴障招昭找沼赵照罩兆肇召遮折哲蛰辙者锗蔗这浙珍斟真甄砧臻贞针侦枕疹诊震振镇阵蒸挣睁征狰争怔整拯正政�\".split(\"\");\nfor(j = 0; j != D[213].length; ++j) if(D[213][j].charCodeAt(0) !== 0xFFFD) { e[D[213][j]] = 54528 + j; d[54528 + j] = D[213][j];}\nD[214] = \"����������������������������������������������������������������諤諥諦諧諨諩諪諫諬諭諮諯諰諱諲諳諴諵諶諷諸諹諺諻諼諽諾諿謀謁謂謃謄謅謆謈謉謊謋謌謍謎謏謐謑謒謓謔謕謖謗謘謙謚講謜謝謞謟謠謡謢謣�謤謥謧謨謩謪謫謬謭謮謯謰謱謲謳謴謵謶謷謸謹謺謻謼謽謾謿譀譁譂譃譄譅帧症郑证芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒中盅忠钟衷终种肿重仲众舟周州洲诌粥轴肘帚咒皱宙昼骤珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑�\".split(\"\");\nfor(j = 0; j != D[214].length; ++j) if(D[214][j].charCodeAt(0) !== 0xFFFD) { e[D[214][j]] = 54784 + j; d[54784 + j] = D[214][j];}\nD[215] = \"����������������������������������������������������������������譆譇譈證譊譋譌譍譎譏譐譑譒譓譔譕譖譗識譙譚譛譜譝譞譟譠譡譢譣譤譥譧譨譩譪譫譭譮譯議譱譲譳譴譵譶護譸譹譺譻譼譽譾譿讀讁讂讃讄讅讆�讇讈讉變讋讌讍讎讏讐讑讒讓讔讕讖讗讘讙讚讛讜讝讞讟讬讱讻诇诐诪谉谞住注祝驻抓爪拽专砖转撰赚篆桩庄装妆撞壮状椎锥追赘坠缀谆准捉拙卓桌琢茁酌啄着灼浊兹咨资姿滋淄孜紫仔籽滓子自渍字鬃棕踪宗综总纵邹走奏揍租足卒族祖诅阻组钻纂嘴醉最罪尊遵昨左佐柞做作坐座������\".split(\"\");\nfor(j = 0; j != D[215].length; ++j) if(D[215][j].charCodeAt(0) !== 0xFFFD) { e[D[215][j]] = 55040 + j; d[55040 + j] = D[215][j];}\nD[216] = \"����������������������������������������������������������������谸谹谺谻谼谽谾谿豀豂豃豄豅豈豊豋豍豎豏豐豑豒豓豔豖豗豘豙豛豜豝豞豟豠豣豤豥豦豧豨豩豬豭豮豯豰豱豲豴豵豶豷豻豼豽豾豿貀貁貃貄貆貇�貈貋貍貎貏貐貑貒貓貕貖貗貙貚貛貜貝貞貟負財貢貣貤貥貦貧貨販貪貫責貭亍丌兀丐廿卅丕亘丞鬲孬噩丨禺丿匕乇夭爻卮氐囟胤馗毓睾鼗丶亟鼐乜乩亓芈孛啬嘏仄厍厝厣厥厮靥赝匚叵匦匮匾赜卦卣刂刈刎刭刳刿剀剌剞剡剜蒯剽劂劁劐劓冂罔亻仃仉仂仨仡仫仞伛仳伢佤仵伥伧伉伫佞佧攸佚佝�\".split(\"\");\nfor(j = 0; j != D[216].length; ++j) if(D[216][j].charCodeAt(0) !== 0xFFFD) { e[D[216][j]] = 55296 + j; d[55296 + j] = D[216][j];}\nD[217] = \"����������������������������������������������������������������貮貯貰貱貲貳貴貵貶買貸貹貺費貼貽貾貿賀賁賂賃賄賅賆資賈賉賊賋賌賍賎賏賐賑賒賓賔賕賖賗賘賙賚賛賜賝賞賟賠賡賢賣賤賥賦賧賨賩質賫賬�賭賮賯賰賱賲賳賴賵賶賷賸賹賺賻購賽賾賿贀贁贂贃贄贅贆贇贈贉贊贋贌贍佟佗伲伽佶佴侑侉侃侏佾佻侪佼侬侔俦俨俪俅俚俣俜俑俟俸倩偌俳倬倏倮倭俾倜倌倥倨偾偃偕偈偎偬偻傥傧傩傺僖儆僭僬僦僮儇儋仝氽佘佥俎龠汆籴兮巽黉馘冁夔勹匍訇匐凫夙兕亠兖亳衮袤亵脔裒禀嬴蠃羸冫冱冽冼�\".split(\"\");\nfor(j = 0; j != D[217].length; ++j) if(D[217][j].charCodeAt(0) !== 0xFFFD) { e[D[217][j]] = 55552 + j; d[55552 + j] = D[217][j];}\nD[218] = \"����������������������������������������������������������������贎贏贐贑贒贓贔贕贖贗贘贙贚贛贜贠赑赒赗赟赥赨赩赪赬赮赯赱赲赸赹赺赻赼赽赾赿趀趂趃趆趇趈趉趌趍趎趏趐趒趓趕趖趗趘趙趚趛趜趝趞趠趡�趢趤趥趦趧趨趩趪趫趬趭趮趯趰趲趶趷趹趻趽跀跁跂跅跇跈跉跊跍跐跒跓跔凇冖冢冥讠讦讧讪讴讵讷诂诃诋诏诎诒诓诔诖诘诙诜诟诠诤诨诩诮诰诳诶诹诼诿谀谂谄谇谌谏谑谒谔谕谖谙谛谘谝谟谠谡谥谧谪谫谮谯谲谳谵谶卩卺阝阢阡阱阪阽阼陂陉陔陟陧陬陲陴隈隍隗隰邗邛邝邙邬邡邴邳邶邺�\".split(\"\");\nfor(j = 0; j != D[218].length; ++j) if(D[218][j].charCodeAt(0) !== 0xFFFD) { e[D[218][j]] = 55808 + j; d[55808 + j] = D[218][j];}\nD[219] = \"����������������������������������������������������������������跕跘跙跜跠跡跢跥跦跧跩跭跮跰跱跲跴跶跼跾跿踀踁踂踃踄踆踇踈踋踍踎踐踑踒踓踕踖踗踘踙踚踛踜踠踡踤踥踦踧踨踫踭踰踲踳踴踶踷踸踻踼踾�踿蹃蹅蹆蹌蹍蹎蹏蹐蹓蹔蹕蹖蹗蹘蹚蹛蹜蹝蹞蹟蹠蹡蹢蹣蹤蹥蹧蹨蹪蹫蹮蹱邸邰郏郅邾郐郄郇郓郦郢郜郗郛郫郯郾鄄鄢鄞鄣鄱鄯鄹酃酆刍奂劢劬劭劾哿勐勖勰叟燮矍廴凵凼鬯厶弁畚巯坌垩垡塾墼壅壑圩圬圪圳圹圮圯坜圻坂坩垅坫垆坼坻坨坭坶坳垭垤垌垲埏垧垴垓垠埕埘埚埙埒垸埴埯埸埤埝�\".split(\"\");\nfor(j = 0; j != D[219].length; ++j) if(D[219][j].charCodeAt(0) !== 0xFFFD) { e[D[219][j]] = 56064 + j; d[56064 + j] = D[219][j];}\nD[220] = \"����������������������������������������������������������������蹳蹵蹷蹸蹹蹺蹻蹽蹾躀躂躃躄躆躈躉躊躋躌躍躎躑躒躓躕躖躗躘躙躚躛躝躟躠躡躢躣躤躥躦躧躨躩躪躭躮躰躱躳躴躵躶躷躸躹躻躼躽躾躿軀軁軂�軃軄軅軆軇軈軉車軋軌軍軏軐軑軒軓軔軕軖軗軘軙軚軛軜軝軞軟軠軡転軣軤堋堍埽埭堀堞堙塄堠塥塬墁墉墚墀馨鼙懿艹艽艿芏芊芨芄芎芑芗芙芫芸芾芰苈苊苣芘芷芮苋苌苁芩芴芡芪芟苄苎芤苡茉苷苤茏茇苜苴苒苘茌苻苓茑茚茆茔茕苠苕茜荑荛荜茈莒茼茴茱莛荞茯荏荇荃荟荀茗荠茭茺茳荦荥�\".split(\"\");\nfor(j = 0; j != D[220].length; ++j) if(D[220][j].charCodeAt(0) !== 0xFFFD) { e[D[220][j]] = 56320 + j; d[56320 + j] = D[220][j];}\nD[221] = \"����������������������������������������������������������������軥軦軧軨軩軪軫軬軭軮軯軰軱軲軳軴軵軶軷軸軹軺軻軼軽軾軿輀輁輂較輄輅輆輇輈載輊輋輌輍輎輏輐輑輒輓輔輕輖輗輘輙輚輛輜輝輞輟輠輡輢輣�輤輥輦輧輨輩輪輫輬輭輮輯輰輱輲輳輴輵輶輷輸輹輺輻輼輽輾輿轀轁轂轃轄荨茛荩荬荪荭荮莰荸莳莴莠莪莓莜莅荼莶莩荽莸荻莘莞莨莺莼菁萁菥菘堇萘萋菝菽菖萜萸萑萆菔菟萏萃菸菹菪菅菀萦菰菡葜葑葚葙葳蒇蒈葺蒉葸萼葆葩葶蒌蒎萱葭蓁蓍蓐蓦蒽蓓蓊蒿蒺蓠蒡蒹蒴蒗蓥蓣蔌甍蔸蓰蔹蔟蔺�\".split(\"\");\nfor(j = 0; j != D[221].length; ++j) if(D[221][j].charCodeAt(0) !== 0xFFFD) { e[D[221][j]] = 56576 + j; d[56576 + j] = D[221][j];}\nD[222] = \"����������������������������������������������������������������轅轆轇轈轉轊轋轌轍轎轏轐轑轒轓轔轕轖轗轘轙轚轛轜轝轞轟轠轡轢轣轤轥轪辀辌辒辝辠辡辢辤辥辦辧辪辬辭辮辯農辳辴辵辷辸辺辻込辿迀迃迆�迉迊迋迌迍迏迒迖迗迚迠迡迣迧迬迯迱迲迴迵迶迺迻迼迾迿逇逈逌逎逓逕逘蕖蔻蓿蓼蕙蕈蕨蕤蕞蕺瞢蕃蕲蕻薤薨薇薏蕹薮薜薅薹薷薰藓藁藜藿蘧蘅蘩蘖蘼廾弈夼奁耷奕奚奘匏尢尥尬尴扌扪抟抻拊拚拗拮挢拶挹捋捃掭揶捱捺掎掴捭掬掊捩掮掼揲揸揠揿揄揞揎摒揆掾摅摁搋搛搠搌搦搡摞撄摭撖�\".split(\"\");\nfor(j = 0; j != D[222].length; ++j) if(D[222][j].charCodeAt(0) !== 0xFFFD) { e[D[222][j]] = 56832 + j; d[56832 + j] = D[222][j];}\nD[223] = \"����������������������������������������������������������������這逜連逤逥逧逨逩逪逫逬逰週進逳逴逷逹逺逽逿遀遃遅遆遈遉遊運遌過達違遖遙遚遜遝遞遟遠遡遤遦遧適遪遫遬遯遰遱遲遳遶遷選遹遺遻遼遾邁�還邅邆邇邉邊邌邍邎邏邐邒邔邖邘邚邜邞邟邠邤邥邧邨邩邫邭邲邷邼邽邿郀摺撷撸撙撺擀擐擗擤擢攉攥攮弋忒甙弑卟叱叽叩叨叻吒吖吆呋呒呓呔呖呃吡呗呙吣吲咂咔呷呱呤咚咛咄呶呦咝哐咭哂咴哒咧咦哓哔呲咣哕咻咿哌哙哚哜咩咪咤哝哏哞唛哧唠哽唔哳唢唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼�\".split(\"\");\nfor(j = 0; j != D[223].length; ++j) if(D[223][j].charCodeAt(0) !== 0xFFFD) { e[D[223][j]] = 57088 + j; d[57088 + j] = D[223][j];}\nD[224] = \"����������������������������������������������������������������郂郃郆郈郉郋郌郍郒郔郕郖郘郙郚郞郟郠郣郤郥郩郪郬郮郰郱郲郳郵郶郷郹郺郻郼郿鄀鄁鄃鄅鄆鄇鄈鄉鄊鄋鄌鄍鄎鄏鄐鄑鄒鄓鄔鄕鄖鄗鄘鄚鄛鄜�鄝鄟鄠鄡鄤鄥鄦鄧鄨鄩鄪鄫鄬鄭鄮鄰鄲鄳鄴鄵鄶鄷鄸鄺鄻鄼鄽鄾鄿酀酁酂酄唷啖啵啶啷唳唰啜喋嗒喃喱喹喈喁喟啾嗖喑啻嗟喽喾喔喙嗪嗷嗉嘟嗑嗫嗬嗔嗦嗝嗄嗯嗥嗲嗳嗌嗍嗨嗵嗤辔嘞嘈嘌嘁嘤嘣嗾嘀嘧嘭噘嘹噗嘬噍噢噙噜噌噔嚆噤噱噫噻噼嚅嚓嚯囔囗囝囡囵囫囹囿圄圊圉圜帏帙帔帑帱帻帼�\".split(\"\");\nfor(j = 0; j != D[224].length; ++j) if(D[224][j].charCodeAt(0) !== 0xFFFD) { e[D[224][j]] = 57344 + j; d[57344 + j] = D[224][j];}\nD[225] = \"����������������������������������������������������������������酅酇酈酑酓酔酕酖酘酙酛酜酟酠酦酧酨酫酭酳酺酻酼醀醁醂醃醄醆醈醊醎醏醓醔醕醖醗醘醙醜醝醞醟醠醡醤醥醦醧醨醩醫醬醰醱醲醳醶醷醸醹醻�醼醽醾醿釀釁釂釃釄釅釆釈釋釐釒釓釔釕釖釗釘釙釚釛針釞釟釠釡釢釣釤釥帷幄幔幛幞幡岌屺岍岐岖岈岘岙岑岚岜岵岢岽岬岫岱岣峁岷峄峒峤峋峥崂崃崧崦崮崤崞崆崛嵘崾崴崽嵬嵛嵯嵝嵫嵋嵊嵩嵴嶂嶙嶝豳嶷巅彳彷徂徇徉後徕徙徜徨徭徵徼衢彡犭犰犴犷犸狃狁狎狍狒狨狯狩狲狴狷猁狳猃狺�\".split(\"\");\nfor(j = 0; j != D[225].length; ++j) if(D[225][j].charCodeAt(0) !== 0xFFFD) { e[D[225][j]] = 57600 + j; d[57600 + j] = D[225][j];}\nD[226] = \"����������������������������������������������������������������釦釧釨釩釪釫釬釭釮釯釰釱釲釳釴釵釶釷釸釹釺釻釼釽釾釿鈀鈁鈂鈃鈄鈅鈆鈇鈈鈉鈊鈋鈌鈍鈎鈏鈐鈑鈒鈓鈔鈕鈖鈗鈘鈙鈚鈛鈜鈝鈞鈟鈠鈡鈢鈣鈤�鈥鈦鈧鈨鈩鈪鈫鈬鈭鈮鈯鈰鈱鈲鈳鈴鈵鈶鈷鈸鈹鈺鈻鈼鈽鈾鈿鉀鉁鉂鉃鉄鉅狻猗猓猡猊猞猝猕猢猹猥猬猸猱獐獍獗獠獬獯獾舛夥飧夤夂饣饧饨饩饪饫饬饴饷饽馀馄馇馊馍馐馑馓馔馕庀庑庋庖庥庠庹庵庾庳赓廒廑廛廨廪膺忄忉忖忏怃忮怄忡忤忾怅怆忪忭忸怙怵怦怛怏怍怩怫怊怿怡恸恹恻恺恂�\".split(\"\");\nfor(j = 0; j != D[226].length; ++j) if(D[226][j].charCodeAt(0) !== 0xFFFD) { e[D[226][j]] = 57856 + j; d[57856 + j] = D[226][j];}\nD[227] = \"����������������������������������������������������������������鉆鉇鉈鉉鉊鉋鉌鉍鉎鉏鉐鉑鉒鉓鉔鉕鉖鉗鉘鉙鉚鉛鉜鉝鉞鉟鉠鉡鉢鉣鉤鉥鉦鉧鉨鉩鉪鉫鉬鉭鉮鉯鉰鉱鉲鉳鉵鉶鉷鉸鉹鉺鉻鉼鉽鉾鉿銀銁銂銃銄銅�銆銇銈銉銊銋銌銍銏銐銑銒銓銔銕銖銗銘銙銚銛銜銝銞銟銠銡銢銣銤銥銦銧恪恽悖悚悭悝悃悒悌悛惬悻悱惝惘惆惚悴愠愦愕愣惴愀愎愫慊慵憬憔憧憷懔懵忝隳闩闫闱闳闵闶闼闾阃阄阆阈阊阋阌阍阏阒阕阖阗阙阚丬爿戕氵汔汜汊沣沅沐沔沌汨汩汴汶沆沩泐泔沭泷泸泱泗沲泠泖泺泫泮沱泓泯泾�\".split(\"\");\nfor(j = 0; j != D[227].length; ++j) if(D[227][j].charCodeAt(0) !== 0xFFFD) { e[D[227][j]] = 58112 + j; d[58112 + j] = D[227][j];}\nD[228] = \"����������������������������������������������������������������銨銩銪銫銬銭銯銰銱銲銳銴銵銶銷銸銹銺銻銼銽銾銿鋀鋁鋂鋃鋄鋅鋆鋇鋉鋊鋋鋌鋍鋎鋏鋐鋑鋒鋓鋔鋕鋖鋗鋘鋙鋚鋛鋜鋝鋞鋟鋠鋡鋢鋣鋤鋥鋦鋧鋨�鋩鋪鋫鋬鋭鋮鋯鋰鋱鋲鋳鋴鋵鋶鋷鋸鋹鋺鋻鋼鋽鋾鋿錀錁錂錃錄錅錆錇錈錉洹洧洌浃浈洇洄洙洎洫浍洮洵洚浏浒浔洳涑浯涞涠浞涓涔浜浠浼浣渚淇淅淞渎涿淠渑淦淝淙渖涫渌涮渫湮湎湫溲湟溆湓湔渲渥湄滟溱溘滠漭滢溥溧溽溻溷滗溴滏溏滂溟潢潆潇漤漕滹漯漶潋潴漪漉漩澉澍澌潸潲潼潺濑�\".split(\"\");\nfor(j = 0; j != D[228].length; ++j) if(D[228][j].charCodeAt(0) !== 0xFFFD) { e[D[228][j]] = 58368 + j; d[58368 + j] = D[228][j];}\nD[229] = \"����������������������������������������������������������������錊錋錌錍錎錏錐錑錒錓錔錕錖錗錘錙錚錛錜錝錞錟錠錡錢錣錤錥錦錧錨錩錪錫錬錭錮錯錰錱録錳錴錵錶錷錸錹錺錻錼錽錿鍀鍁鍂鍃鍄鍅鍆鍇鍈鍉�鍊鍋鍌鍍鍎鍏鍐鍑鍒鍓鍔鍕鍖鍗鍘鍙鍚鍛鍜鍝鍞鍟鍠鍡鍢鍣鍤鍥鍦鍧鍨鍩鍫濉澧澹澶濂濡濮濞濠濯瀚瀣瀛瀹瀵灏灞宀宄宕宓宥宸甯骞搴寤寮褰寰蹇謇辶迓迕迥迮迤迩迦迳迨逅逄逋逦逑逍逖逡逵逶逭逯遄遑遒遐遨遘遢遛暹遴遽邂邈邃邋彐彗彖彘尻咫屐屙孱屣屦羼弪弩弭艴弼鬻屮妁妃妍妩妪妣�\".split(\"\");\nfor(j = 0; j != D[229].length; ++j) if(D[229][j].charCodeAt(0) !== 0xFFFD) { e[D[229][j]] = 58624 + j; d[58624 + j] = D[229][j];}\nD[230] = \"����������������������������������������������������������������鍬鍭鍮鍯鍰鍱鍲鍳鍴鍵鍶鍷鍸鍹鍺鍻鍼鍽鍾鍿鎀鎁鎂鎃鎄鎅鎆鎇鎈鎉鎊鎋鎌鎍鎎鎐鎑鎒鎓鎔鎕鎖鎗鎘鎙鎚鎛鎜鎝鎞鎟鎠鎡鎢鎣鎤鎥鎦鎧鎨鎩鎪鎫�鎬鎭鎮鎯鎰鎱鎲鎳鎴鎵鎶鎷鎸鎹鎺鎻鎼鎽鎾鎿鏀鏁鏂鏃鏄鏅鏆鏇鏈鏉鏋鏌鏍妗姊妫妞妤姒妲妯姗妾娅娆姝娈姣姘姹娌娉娲娴娑娣娓婀婧婊婕娼婢婵胬媪媛婷婺媾嫫媲嫒嫔媸嫠嫣嫱嫖嫦嫘嫜嬉嬗嬖嬲嬷孀尕尜孚孥孳孑孓孢驵驷驸驺驿驽骀骁骅骈骊骐骒骓骖骘骛骜骝骟骠骢骣骥骧纟纡纣纥纨纩�\".split(\"\");\nfor(j = 0; j != D[230].length; ++j) if(D[230][j].charCodeAt(0) !== 0xFFFD) { e[D[230][j]] = 58880 + j; d[58880 + j] = D[230][j];}\nD[231] = \"����������������������������������������������������������������鏎鏏鏐鏑鏒鏓鏔鏕鏗鏘鏙鏚鏛鏜鏝鏞鏟鏠鏡鏢鏣鏤鏥鏦鏧鏨鏩鏪鏫鏬鏭鏮鏯鏰鏱鏲鏳鏴鏵鏶鏷鏸鏹鏺鏻鏼鏽鏾鏿鐀鐁鐂鐃鐄鐅鐆鐇鐈鐉鐊鐋鐌鐍�鐎鐏鐐鐑鐒鐓鐔鐕鐖鐗鐘鐙鐚鐛鐜鐝鐞鐟鐠鐡鐢鐣鐤鐥鐦鐧鐨鐩鐪鐫鐬鐭鐮纭纰纾绀绁绂绉绋绌绐绔绗绛绠绡绨绫绮绯绱绲缍绶绺绻绾缁缂缃缇缈缋缌缏缑缒缗缙缜缛缟缡缢缣缤缥缦缧缪缫缬缭缯缰缱缲缳缵幺畿巛甾邕玎玑玮玢玟珏珂珑玷玳珀珉珈珥珙顼琊珩珧珞玺珲琏琪瑛琦琥琨琰琮琬�\".split(\"\");\nfor(j = 0; j != D[231].length; ++j) if(D[231][j].charCodeAt(0) !== 0xFFFD) { e[D[231][j]] = 59136 + j; d[59136 + j] = D[231][j];}\nD[232] = \"����������������������������������������������������������������鐯鐰鐱鐲鐳鐴鐵鐶鐷鐸鐹鐺鐻鐼鐽鐿鑀鑁鑂鑃鑄鑅鑆鑇鑈鑉鑊鑋鑌鑍鑎鑏鑐鑑鑒鑓鑔鑕鑖鑗鑘鑙鑚鑛鑜鑝鑞鑟鑠鑡鑢鑣鑤鑥鑦鑧鑨鑩鑪鑬鑭鑮鑯�鑰鑱鑲鑳鑴鑵鑶鑷鑸鑹鑺鑻鑼鑽鑾鑿钀钁钂钃钄钑钖钘铇铏铓铔铚铦铻锜锠琛琚瑁瑜瑗瑕瑙瑷瑭瑾璜璎璀璁璇璋璞璨璩璐璧瓒璺韪韫韬杌杓杞杈杩枥枇杪杳枘枧杵枨枞枭枋杷杼柰栉柘栊柩枰栌柙枵柚枳柝栀柃枸柢栎柁柽栲栳桠桡桎桢桄桤梃栝桕桦桁桧桀栾桊桉栩梵梏桴桷梓桫棂楮棼椟椠棹�\".split(\"\");\nfor(j = 0; j != D[232].length; ++j) if(D[232][j].charCodeAt(0) !== 0xFFFD) { e[D[232][j]] = 59392 + j; d[59392 + j] = D[232][j];}\nD[233] = \"����������������������������������������������������������������锧锳锽镃镈镋镕镚镠镮镴镵長镸镹镺镻镼镽镾門閁閂閃閄閅閆閇閈閉閊開閌閍閎閏閐閑閒間閔閕閖閗閘閙閚閛閜閝閞閟閠閡関閣閤閥閦閧閨閩閪�閫閬閭閮閯閰閱閲閳閴閵閶閷閸閹閺閻閼閽閾閿闀闁闂闃闄闅闆闇闈闉闊闋椤棰椋椁楗棣椐楱椹楠楂楝榄楫榀榘楸椴槌榇榈槎榉楦楣楹榛榧榻榫榭槔榱槁槊槟榕槠榍槿樯槭樗樘橥槲橄樾檠橐橛樵檎橹樽樨橘橼檑檐檩檗檫猷獒殁殂殇殄殒殓殍殚殛殡殪轫轭轱轲轳轵轶轸轷轹轺轼轾辁辂辄辇辋�\".split(\"\");\nfor(j = 0; j != D[233].length; ++j) if(D[233][j].charCodeAt(0) !== 0xFFFD) { e[D[233][j]] = 59648 + j; d[59648 + j] = D[233][j];}\nD[234] = \"����������������������������������������������������������������闌闍闎闏闐闑闒闓闔闕闖闗闘闙闚闛關闝闞闟闠闡闢闣闤闥闦闧闬闿阇阓阘阛阞阠阣阤阥阦阧阨阩阫阬阭阯阰阷阸阹阺阾陁陃陊陎陏陑陒陓陖陗�陘陙陚陜陝陞陠陣陥陦陫陭陮陯陰陱陳陸陹険陻陼陽陾陿隀隁隂隃隄隇隉隊辍辎辏辘辚軎戋戗戛戟戢戡戥戤戬臧瓯瓴瓿甏甑甓攴旮旯旰昊昙杲昃昕昀炅曷昝昴昱昶昵耆晟晔晁晏晖晡晗晷暄暌暧暝暾曛曜曦曩贲贳贶贻贽赀赅赆赈赉赇赍赕赙觇觊觋觌觎觏觐觑牮犟牝牦牯牾牿犄犋犍犏犒挈挲掰�\".split(\"\");\nfor(j = 0; j != D[234].length; ++j) if(D[234][j].charCodeAt(0) !== 0xFFFD) { e[D[234][j]] = 59904 + j; d[59904 + j] = D[234][j];}\nD[235] = \"����������������������������������������������������������������隌階隑隒隓隕隖隚際隝隞隟隠隡隢隣隤隥隦隨隩險隫隬隭隮隯隱隲隴隵隷隸隺隻隿雂雃雈雊雋雐雑雓雔雖雗雘雙雚雛雜雝雞雟雡離難雤雥雦雧雫�雬雭雮雰雱雲雴雵雸雺電雼雽雿霂霃霅霊霋霌霐霑霒霔霕霗霘霙霚霛霝霟霠搿擘耄毪毳毽毵毹氅氇氆氍氕氘氙氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂胄胙胍胗朐胝胫胱胴胭脍脎胲胼朕脒豚脶脞脬脘脲腈腌腓腴腙腚腱腠腩腼腽腭腧塍媵膈膂膑滕膣膪臌朦臊膻�\".split(\"\");\nfor(j = 0; j != D[235].length; ++j) if(D[235][j].charCodeAt(0) !== 0xFFFD) { e[D[235][j]] = 60160 + j; d[60160 + j] = D[235][j];}\nD[236] = \"����������������������������������������������������������������霡霢霣霤霥霦霧霨霩霫霬霮霯霱霳霴霵霶霷霺霻霼霽霿靀靁靂靃靄靅靆靇靈靉靊靋靌靍靎靏靐靑靔靕靗靘靚靜靝靟靣靤靦靧靨靪靫靬靭靮靯靰靱�靲靵靷靸靹靺靻靽靾靿鞀鞁鞂鞃鞄鞆鞇鞈鞉鞊鞌鞎鞏鞐鞓鞕鞖鞗鞙鞚鞛鞜鞝臁膦欤欷欹歃歆歙飑飒飓飕飙飚殳彀毂觳斐齑斓於旆旄旃旌旎旒旖炀炜炖炝炻烀炷炫炱烨烊焐焓焖焯焱煳煜煨煅煲煊煸煺熘熳熵熨熠燠燔燧燹爝爨灬焘煦熹戾戽扃扈扉礻祀祆祉祛祜祓祚祢祗祠祯祧祺禅禊禚禧禳忑忐�\".split(\"\");\nfor(j = 0; j != D[236].length; ++j) if(D[236][j].charCodeAt(0) !== 0xFFFD) { e[D[236][j]] = 60416 + j; d[60416 + j] = D[236][j];}\nD[237] = \"����������������������������������������������������������������鞞鞟鞡鞢鞤鞥鞦鞧鞨鞩鞪鞬鞮鞰鞱鞳鞵鞶鞷鞸鞹鞺鞻鞼鞽鞾鞿韀韁韂韃韄韅韆韇韈韉韊韋韌韍韎韏韐韑韒韓韔韕韖韗韘韙韚韛韜韝韞韟韠韡韢韣�韤韥韨韮韯韰韱韲韴韷韸韹韺韻韼韽韾響頀頁頂頃頄項順頇須頉頊頋頌頍頎怼恝恚恧恁恙恣悫愆愍慝憩憝懋懑戆肀聿沓泶淼矶矸砀砉砗砘砑斫砭砜砝砹砺砻砟砼砥砬砣砩硎硭硖硗砦硐硇硌硪碛碓碚碇碜碡碣碲碹碥磔磙磉磬磲礅磴礓礤礞礴龛黹黻黼盱眄眍盹眇眈眚眢眙眭眦眵眸睐睑睇睃睚睨�\".split(\"\");\nfor(j = 0; j != D[237].length; ++j) if(D[237][j].charCodeAt(0) !== 0xFFFD) { e[D[237][j]] = 60672 + j; d[60672 + j] = D[237][j];}\nD[238] = \"����������������������������������������������������������������頏預頑頒頓頔頕頖頗領頙頚頛頜頝頞頟頠頡頢頣頤頥頦頧頨頩頪頫頬頭頮頯頰頱頲頳頴頵頶頷頸頹頺頻頼頽頾頿顀顁顂顃顄顅顆顇顈顉顊顋題額�顎顏顐顑顒顓顔顕顖顗願顙顚顛顜顝類顟顠顡顢顣顤顥顦顧顨顩顪顫顬顭顮睢睥睿瞍睽瞀瞌瞑瞟瞠瞰瞵瞽町畀畎畋畈畛畲畹疃罘罡罟詈罨罴罱罹羁罾盍盥蠲钅钆钇钋钊钌钍钏钐钔钗钕钚钛钜钣钤钫钪钭钬钯钰钲钴钶钷钸钹钺钼钽钿铄铈铉铊铋铌铍铎铐铑铒铕铖铗铙铘铛铞铟铠铢铤铥铧铨铪�\".split(\"\");\nfor(j = 0; j != D[238].length; ++j) if(D[238][j].charCodeAt(0) !== 0xFFFD) { e[D[238][j]] = 60928 + j; d[60928 + j] = D[238][j];}\nD[239] = \"����������������������������������������������������������������顯顰顱顲顳顴颋颎颒颕颙颣風颩颪颫颬颭颮颯颰颱颲颳颴颵颶颷颸颹颺颻颼颽颾颿飀飁飂飃飄飅飆飇飈飉飊飋飌飍飏飐飔飖飗飛飜飝飠飡飢飣飤�飥飦飩飪飫飬飭飮飯飰飱飲飳飴飵飶飷飸飹飺飻飼飽飾飿餀餁餂餃餄餅餆餇铩铫铮铯铳铴铵铷铹铼铽铿锃锂锆锇锉锊锍锎锏锒锓锔锕锖锘锛锝锞锟锢锪锫锩锬锱锲锴锶锷锸锼锾锿镂锵镄镅镆镉镌镎镏镒镓镔镖镗镘镙镛镞镟镝镡镢镤镥镦镧镨镩镪镫镬镯镱镲镳锺矧矬雉秕秭秣秫稆嵇稃稂稞稔�\".split(\"\");\nfor(j = 0; j != D[239].length; ++j) if(D[239][j].charCodeAt(0) !== 0xFFFD) { e[D[239][j]] = 61184 + j; d[61184 + j] = D[239][j];}\nD[240] = \"����������������������������������������������������������������餈餉養餋餌餎餏餑餒餓餔餕餖餗餘餙餚餛餜餝餞餟餠餡餢餣餤餥餦餧館餩餪餫餬餭餯餰餱餲餳餴餵餶餷餸餹餺餻餼餽餾餿饀饁饂饃饄饅饆饇饈饉�饊饋饌饍饎饏饐饑饒饓饖饗饘饙饚饛饜饝饞饟饠饡饢饤饦饳饸饹饻饾馂馃馉稹稷穑黏馥穰皈皎皓皙皤瓞瓠甬鸠鸢鸨鸩鸪鸫鸬鸲鸱鸶鸸鸷鸹鸺鸾鹁鹂鹄鹆鹇鹈鹉鹋鹌鹎鹑鹕鹗鹚鹛鹜鹞鹣鹦鹧鹨鹩鹪鹫鹬鹱鹭鹳疒疔疖疠疝疬疣疳疴疸痄疱疰痃痂痖痍痣痨痦痤痫痧瘃痱痼痿瘐瘀瘅瘌瘗瘊瘥瘘瘕瘙�\".split(\"\");\nfor(j = 0; j != D[240].length; ++j) if(D[240][j].charCodeAt(0) !== 0xFFFD) { e[D[240][j]] = 61440 + j; d[61440 + j] = D[240][j];}\nD[241] = \"����������������������������������������������������������������馌馎馚馛馜馝馞馟馠馡馢馣馤馦馧馩馪馫馬馭馮馯馰馱馲馳馴馵馶馷馸馹馺馻馼馽馾馿駀駁駂駃駄駅駆駇駈駉駊駋駌駍駎駏駐駑駒駓駔駕駖駗駘�駙駚駛駜駝駞駟駠駡駢駣駤駥駦駧駨駩駪駫駬駭駮駯駰駱駲駳駴駵駶駷駸駹瘛瘼瘢瘠癀瘭瘰瘿瘵癃瘾瘳癍癞癔癜癖癫癯翊竦穸穹窀窆窈窕窦窠窬窨窭窳衤衩衲衽衿袂袢裆袷袼裉裢裎裣裥裱褚裼裨裾裰褡褙褓褛褊褴褫褶襁襦襻疋胥皲皴矜耒耔耖耜耠耢耥耦耧耩耨耱耋耵聃聆聍聒聩聱覃顸颀颃�\".split(\"\");\nfor(j = 0; j != D[241].length; ++j) if(D[241][j].charCodeAt(0) !== 0xFFFD) { e[D[241][j]] = 61696 + j; d[61696 + j] = D[241][j];}\nD[242] = \"����������������������������������������������������������������駺駻駼駽駾駿騀騁騂騃騄騅騆騇騈騉騊騋騌騍騎騏騐騑騒験騔騕騖騗騘騙騚騛騜騝騞騟騠騡騢騣騤騥騦騧騨騩騪騫騬騭騮騯騰騱騲騳騴騵騶騷騸�騹騺騻騼騽騾騿驀驁驂驃驄驅驆驇驈驉驊驋驌驍驎驏驐驑驒驓驔驕驖驗驘驙颉颌颍颏颔颚颛颞颟颡颢颥颦虍虔虬虮虿虺虼虻蚨蚍蚋蚬蚝蚧蚣蚪蚓蚩蚶蛄蚵蛎蚰蚺蚱蚯蛉蛏蚴蛩蛱蛲蛭蛳蛐蜓蛞蛴蛟蛘蛑蜃蜇蛸蜈蜊蜍蜉蜣蜻蜞蜥蜮蜚蜾蝈蜴蜱蜩蜷蜿螂蜢蝽蝾蝻蝠蝰蝌蝮螋蝓蝣蝼蝤蝙蝥螓螯螨蟒�\".split(\"\");\nfor(j = 0; j != D[242].length; ++j) if(D[242][j].charCodeAt(0) !== 0xFFFD) { e[D[242][j]] = 61952 + j; d[61952 + j] = D[242][j];}\nD[243] = \"����������������������������������������������������������������驚驛驜驝驞驟驠驡驢驣驤驥驦驧驨驩驪驫驲骃骉骍骎骔骕骙骦骩骪骫骬骭骮骯骲骳骴骵骹骻骽骾骿髃髄髆髇髈髉髊髍髎髏髐髒體髕髖髗髙髚髛髜�髝髞髠髢髣髤髥髧髨髩髪髬髮髰髱髲髳髴髵髶髷髸髺髼髽髾髿鬀鬁鬂鬄鬅鬆蟆螈螅螭螗螃螫蟥螬螵螳蟋蟓螽蟑蟀蟊蟛蟪蟠蟮蠖蠓蟾蠊蠛蠡蠹蠼缶罂罄罅舐竺竽笈笃笄笕笊笫笏筇笸笪笙笮笱笠笥笤笳笾笞筘筚筅筵筌筝筠筮筻筢筲筱箐箦箧箸箬箝箨箅箪箜箢箫箴篑篁篌篝篚篥篦篪簌篾篼簏簖簋�\".split(\"\");\nfor(j = 0; j != D[243].length; ++j) if(D[243][j].charCodeAt(0) !== 0xFFFD) { e[D[243][j]] = 62208 + j; d[62208 + j] = D[243][j];}\nD[244] = \"����������������������������������������������������������������鬇鬉鬊鬋鬌鬍鬎鬐鬑鬒鬔鬕鬖鬗鬘鬙鬚鬛鬜鬝鬞鬠鬡鬢鬤鬥鬦鬧鬨鬩鬪鬫鬬鬭鬮鬰鬱鬳鬴鬵鬶鬷鬸鬹鬺鬽鬾鬿魀魆魊魋魌魎魐魒魓魕魖魗魘魙魚�魛魜魝魞魟魠魡魢魣魤魥魦魧魨魩魪魫魬魭魮魯魰魱魲魳魴魵魶魷魸魹魺魻簟簪簦簸籁籀臾舁舂舄臬衄舡舢舣舭舯舨舫舸舻舳舴舾艄艉艋艏艚艟艨衾袅袈裘裟襞羝羟羧羯羰羲籼敉粑粝粜粞粢粲粼粽糁糇糌糍糈糅糗糨艮暨羿翎翕翥翡翦翩翮翳糸絷綦綮繇纛麸麴赳趄趔趑趱赧赭豇豉酊酐酎酏酤�\".split(\"\");\nfor(j = 0; j != D[244].length; ++j) if(D[244][j].charCodeAt(0) !== 0xFFFD) { e[D[244][j]] = 62464 + j; d[62464 + j] = D[244][j];}\nD[245] = \"����������������������������������������������������������������魼魽魾魿鮀鮁鮂鮃鮄鮅鮆鮇鮈鮉鮊鮋鮌鮍鮎鮏鮐鮑鮒鮓鮔鮕鮖鮗鮘鮙鮚鮛鮜鮝鮞鮟鮠鮡鮢鮣鮤鮥鮦鮧鮨鮩鮪鮫鮬鮭鮮鮯鮰鮱鮲鮳鮴鮵鮶鮷鮸鮹鮺�鮻鮼鮽鮾鮿鯀鯁鯂鯃鯄鯅鯆鯇鯈鯉鯊鯋鯌鯍鯎鯏鯐鯑鯒鯓鯔鯕鯖鯗鯘鯙鯚鯛酢酡酰酩酯酽酾酲酴酹醌醅醐醍醑醢醣醪醭醮醯醵醴醺豕鹾趸跫踅蹙蹩趵趿趼趺跄跖跗跚跞跎跏跛跆跬跷跸跣跹跻跤踉跽踔踝踟踬踮踣踯踺蹀踹踵踽踱蹉蹁蹂蹑蹒蹊蹰蹶蹼蹯蹴躅躏躔躐躜躞豸貂貊貅貘貔斛觖觞觚觜�\".split(\"\");\nfor(j = 0; j != D[245].length; ++j) if(D[245][j].charCodeAt(0) !== 0xFFFD) { e[D[245][j]] = 62720 + j; d[62720 + j] = D[245][j];}\nD[246] = \"����������������������������������������������������������������鯜鯝鯞鯟鯠鯡鯢鯣鯤鯥鯦鯧鯨鯩鯪鯫鯬鯭鯮鯯鯰鯱鯲鯳鯴鯵鯶鯷鯸鯹鯺鯻鯼鯽鯾鯿鰀鰁鰂鰃鰄鰅鰆鰇鰈鰉鰊鰋鰌鰍鰎鰏鰐鰑鰒鰓鰔鰕鰖鰗鰘鰙鰚�鰛鰜鰝鰞鰟鰠鰡鰢鰣鰤鰥鰦鰧鰨鰩鰪鰫鰬鰭鰮鰯鰰鰱鰲鰳鰴鰵鰶鰷鰸鰹鰺鰻觥觫觯訾謦靓雩雳雯霆霁霈霏霎霪霭霰霾龀龃龅龆龇龈龉龊龌黾鼋鼍隹隼隽雎雒瞿雠銎銮鋈錾鍪鏊鎏鐾鑫鱿鲂鲅鲆鲇鲈稣鲋鲎鲐鲑鲒鲔鲕鲚鲛鲞鲟鲠鲡鲢鲣鲥鲦鲧鲨鲩鲫鲭鲮鲰鲱鲲鲳鲴鲵鲶鲷鲺鲻鲼鲽鳄鳅鳆鳇鳊鳋�\".split(\"\");\nfor(j = 0; j != D[246].length; ++j) if(D[246][j].charCodeAt(0) !== 0xFFFD) { e[D[246][j]] = 62976 + j; d[62976 + j] = D[246][j];}\nD[247] = \"����������������������������������������������������������������鰼鰽鰾鰿鱀鱁鱂鱃鱄鱅鱆鱇鱈鱉鱊鱋鱌鱍鱎鱏鱐鱑鱒鱓鱔鱕鱖鱗鱘鱙鱚鱛鱜鱝鱞鱟鱠鱡鱢鱣鱤鱥鱦鱧鱨鱩鱪鱫鱬鱭鱮鱯鱰鱱鱲鱳鱴鱵鱶鱷鱸鱹鱺�鱻鱽鱾鲀鲃鲄鲉鲊鲌鲏鲓鲖鲗鲘鲙鲝鲪鲬鲯鲹鲾鲿鳀鳁鳂鳈鳉鳑鳒鳚鳛鳠鳡鳌鳍鳎鳏鳐鳓鳔鳕鳗鳘鳙鳜鳝鳟鳢靼鞅鞑鞒鞔鞯鞫鞣鞲鞴骱骰骷鹘骶骺骼髁髀髅髂髋髌髑魅魃魇魉魈魍魑飨餍餮饕饔髟髡髦髯髫髻髭髹鬈鬏鬓鬟鬣麽麾縻麂麇麈麋麒鏖麝麟黛黜黝黠黟黢黩黧黥黪黯鼢鼬鼯鼹鼷鼽鼾齄�\".split(\"\");\nfor(j = 0; j != D[247].length; ++j) if(D[247][j].charCodeAt(0) !== 0xFFFD) { e[D[247][j]] = 63232 + j; d[63232 + j] = D[247][j];}\nD[248] = \"����������������������������������������������������������������鳣鳤鳥鳦鳧鳨鳩鳪鳫鳬鳭鳮鳯鳰鳱鳲鳳鳴鳵鳶鳷鳸鳹鳺鳻鳼鳽鳾鳿鴀鴁鴂鴃鴄鴅鴆鴇鴈鴉鴊鴋鴌鴍鴎鴏鴐鴑鴒鴓鴔鴕鴖鴗鴘鴙鴚鴛鴜鴝鴞鴟鴠鴡�鴢鴣鴤鴥鴦鴧鴨鴩鴪鴫鴬鴭鴮鴯鴰鴱鴲鴳鴴鴵鴶鴷鴸鴹鴺鴻鴼鴽鴾鴿鵀鵁鵂�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[248].length; ++j) if(D[248][j].charCodeAt(0) !== 0xFFFD) { e[D[248][j]] = 63488 + j; d[63488 + j] = D[248][j];}\nD[249] = \"����������������������������������������������������������������鵃鵄鵅鵆鵇鵈鵉鵊鵋鵌鵍鵎鵏鵐鵑鵒鵓鵔鵕鵖鵗鵘鵙鵚鵛鵜鵝鵞鵟鵠鵡鵢鵣鵤鵥鵦鵧鵨鵩鵪鵫鵬鵭鵮鵯鵰鵱鵲鵳鵴鵵鵶鵷鵸鵹鵺鵻鵼鵽鵾鵿鶀鶁�鶂鶃鶄鶅鶆鶇鶈鶉鶊鶋鶌鶍鶎鶏鶐鶑鶒鶓鶔鶕鶖鶗鶘鶙鶚鶛鶜鶝鶞鶟鶠鶡鶢�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[249].length; ++j) if(D[249][j].charCodeAt(0) !== 0xFFFD) { e[D[249][j]] = 63744 + j; d[63744 + j] = D[249][j];}\nD[250] = \"����������������������������������������������������������������鶣鶤鶥鶦鶧鶨鶩鶪鶫鶬鶭鶮鶯鶰鶱鶲鶳鶴鶵鶶鶷鶸鶹鶺鶻鶼鶽鶾鶿鷀鷁鷂鷃鷄鷅鷆鷇鷈鷉鷊鷋鷌鷍鷎鷏鷐鷑鷒鷓鷔鷕鷖鷗鷘鷙鷚鷛鷜鷝鷞鷟鷠鷡�鷢鷣鷤鷥鷦鷧鷨鷩鷪鷫鷬鷭鷮鷯鷰鷱鷲鷳鷴鷵鷶鷷鷸鷹鷺鷻鷼鷽鷾鷿鸀鸁鸂�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[250].length; ++j) if(D[250][j].charCodeAt(0) !== 0xFFFD) { e[D[250][j]] = 64000 + j; d[64000 + j] = D[250][j];}\nD[251] = \"����������������������������������������������������������������鸃鸄鸅鸆鸇鸈鸉鸊鸋鸌鸍鸎鸏鸐鸑鸒鸓鸔鸕鸖鸗鸘鸙鸚鸛鸜鸝鸞鸤鸧鸮鸰鸴鸻鸼鹀鹍鹐鹒鹓鹔鹖鹙鹝鹟鹠鹡鹢鹥鹮鹯鹲鹴鹵鹶鹷鹸鹹鹺鹻鹼鹽麀�麁麃麄麅麆麉麊麌麍麎麏麐麑麔麕麖麗麘麙麚麛麜麞麠麡麢麣麤麥麧麨麩麪�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[251].length; ++j) if(D[251][j].charCodeAt(0) !== 0xFFFD) { e[D[251][j]] = 64256 + j; d[64256 + j] = D[251][j];}\nD[252] = \"����������������������������������������������������������������麫麬麭麮麯麰麱麲麳麵麶麷麹麺麼麿黀黁黂黃黅黆黇黈黊黋黌黐黒黓黕黖黗黙黚點黡黣黤黦黨黫黬黭黮黰黱黲黳黴黵黶黷黸黺黽黿鼀鼁鼂鼃鼄鼅�鼆鼇鼈鼉鼊鼌鼏鼑鼒鼔鼕鼖鼘鼚鼛鼜鼝鼞鼟鼡鼣鼤鼥鼦鼧鼨鼩鼪鼫鼭鼮鼰鼱�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[252].length; ++j) if(D[252][j].charCodeAt(0) !== 0xFFFD) { e[D[252][j]] = 64512 + j; d[64512 + j] = D[252][j];}\nD[253] = \"����������������������������������������������������������������鼲鼳鼴鼵鼶鼸鼺鼼鼿齀齁齂齃齅齆齇齈齉齊齋齌齍齎齏齒齓齔齕齖齗齘齙齚齛齜齝齞齟齠齡齢齣齤齥齦齧齨齩齪齫齬齭齮齯齰齱齲齳齴齵齶齷齸�齹齺齻齼齽齾龁龂龍龎龏龐龑龒龓龔龕龖龗龘龜龝龞龡龢龣龤龥郎凉秊裏隣�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[253].length; ++j) if(D[253][j].charCodeAt(0) !== 0xFFFD) { e[D[253][j]] = 64768 + j; d[64768 + j] = D[253][j];}\nD[254] = \"����������������������������������������������������������������兀嗀﨎﨏﨑﨓﨔礼﨟蘒﨡﨣﨤﨧﨨﨩��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[254].length; ++j) if(D[254][j].charCodeAt(0) !== 0xFFFD) { e[D[254][j]] = 65024 + j; d[65024 + j] = D[254][j];}\nreturn {\"enc\": e, \"dec\": d }; })();\ncptable[949] = (function(){ var d = [], e = {}, D = [], j;\nD[0] = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[0].length; ++j) if(D[0][j].charCodeAt(0) !== 0xFFFD) { e[D[0][j]] = 0 + j; d[0 + j] = D[0][j];}\nD[129] = \"�����������������������������������������������������������������갂갃갅갆갋갌갍갎갏갘갞갟갡갢갣갥갦갧갨갩갪갫갮갲갳갴������갵갶갷갺갻갽갾갿걁걂걃걄걅걆걇걈걉걊걌걎걏걐걑걒걓걕������걖걗걙걚걛걝걞걟걠걡걢걣걤걥걦걧걨걩걪걫걬걭걮걯걲걳걵걶걹걻걼걽걾걿겂겇겈겍겎겏겑겒겓겕겖겗겘겙겚겛겞겢겣겤겥겦겧겫겭겮겱겲겳겴겵겶겷겺겾겿곀곂곃곅곆곇곉곊곋곍곎곏곐곑곒곓곔곖곘곙곚곛곜곝곞곟곢곣곥곦곩곫곭곮곲곴곷곸곹곺곻곾곿괁괂괃괅괇괈괉괊괋괎괐괒괓�\".split(\"\");\nfor(j = 0; j != D[129].length; ++j) if(D[129][j].charCodeAt(0) !== 0xFFFD) { e[D[129][j]] = 33024 + j; d[33024 + j] = D[129][j];}\nD[130] = \"�����������������������������������������������������������������괔괕괖괗괙괚괛괝괞괟괡괢괣괤괥괦괧괨괪괫괮괯괰괱괲괳������괶괷괹괺괻괽괾괿굀굁굂굃굆굈굊굋굌굍굎굏굑굒굓굕굖굗������굙굚굛굜굝굞굟굠굢굤굥굦굧굨굩굪굫굮굯굱굲굷굸굹굺굾궀궃궄궅궆궇궊궋궍궎궏궑궒궓궔궕궖궗궘궙궚궛궞궟궠궡궢궣궥궦궧궨궩궪궫궬궭궮궯궰궱궲궳궴궵궶궸궹궺궻궼궽궾궿귂귃귅귆귇귉귊귋귌귍귎귏귒귔귕귖귗귘귙귚귛귝귞귟귡귢귣귥귦귧귨귩귪귫귬귭귮귯귰귱귲귳귴귵귶귷�\".split(\"\");\nfor(j = 0; j != D[130].length; ++j) if(D[130][j].charCodeAt(0) !== 0xFFFD) { e[D[130][j]] = 33280 + j; d[33280 + j] = D[130][j];}\nD[131] = \"�����������������������������������������������������������������귺귻귽귾긂긃긄긅긆긇긊긌긎긏긐긑긒긓긕긖긗긘긙긚긛긜������긝긞긟긠긡긢긣긤긥긦긧긨긩긪긫긬긭긮긯긲긳긵긶긹긻긼������긽긾긿깂깄깇깈깉깋깏깑깒깓깕깗깘깙깚깛깞깢깣깤깦깧깪깫깭깮깯깱깲깳깴깵깶깷깺깾깿꺀꺁꺂꺃꺆꺇꺈꺉꺊꺋꺍꺎꺏꺐꺑꺒꺓꺔꺕꺖꺗꺘꺙꺚꺛꺜꺝꺞꺟꺠꺡꺢꺣꺤꺥꺦꺧꺨꺩꺪꺫꺬꺭꺮꺯꺰꺱꺲꺳꺴꺵꺶꺷꺸꺹꺺꺻꺿껁껂껃껅껆껇껈껉껊껋껎껒껓껔껕껖껗껚껛껝껞껟껠껡껢껣껤껥�\".split(\"\");\nfor(j = 0; j != D[131].length; ++j) if(D[131][j].charCodeAt(0) !== 0xFFFD) { e[D[131][j]] = 33536 + j; d[33536 + j] = D[131][j];}\nD[132] = \"�����������������������������������������������������������������껦껧껩껪껬껮껯껰껱껲껳껵껶껷껹껺껻껽껾껿꼀꼁꼂꼃꼄꼅������꼆꼉꼊꼋꼌꼎꼏꼑꼒꼓꼔꼕꼖꼗꼘꼙꼚꼛꼜꼝꼞꼟꼠꼡꼢꼣������꼤꼥꼦꼧꼨꼩꼪꼫꼮꼯꼱꼳꼵꼶꼷꼸꼹꼺꼻꼾꽀꽄꽅꽆꽇꽊꽋꽌꽍꽎꽏꽑꽒꽓꽔꽕꽖꽗꽘꽙꽚꽛꽞꽟꽠꽡꽢꽣꽦꽧꽨꽩꽪꽫꽬꽭꽮꽯꽰꽱꽲꽳꽴꽵꽶꽷꽸꽺꽻꽼꽽꽾꽿꾁꾂꾃꾅꾆꾇꾉꾊꾋꾌꾍꾎꾏꾒꾓꾔꾖꾗꾘꾙꾚꾛꾝꾞꾟꾠꾡꾢꾣꾤꾥꾦꾧꾨꾩꾪꾫꾬꾭꾮꾯꾰꾱꾲꾳꾴꾵꾶꾷꾺꾻꾽꾾�\".split(\"\");\nfor(j = 0; j != D[132].length; ++j) if(D[132][j].charCodeAt(0) !== 0xFFFD) { e[D[132][j]] = 33792 + j; d[33792 + j] = D[132][j];}\nD[133] = \"�����������������������������������������������������������������꾿꿁꿂꿃꿄꿅꿆꿊꿌꿏꿐꿑꿒꿓꿕꿖꿗꿘꿙꿚꿛꿝꿞꿟꿠꿡������꿢꿣꿤꿥꿦꿧꿪꿫꿬꿭꿮꿯꿲꿳꿵꿶꿷꿹꿺꿻꿼꿽꿾꿿뀂뀃������뀅뀆뀇뀈뀉뀊뀋뀍뀎뀏뀑뀒뀓뀕뀖뀗뀘뀙뀚뀛뀞뀟뀠뀡뀢뀣뀤뀥뀦뀧뀩뀪뀫뀬뀭뀮뀯뀰뀱뀲뀳뀴뀵뀶뀷뀸뀹뀺뀻뀼뀽뀾뀿끀끁끂끃끆끇끉끋끍끏끐끑끒끖끘끚끛끜끞끟끠끡끢끣끤끥끦끧끨끩끪끫끬끭끮끯끰끱끲끳끴끵끶끷끸끹끺끻끾끿낁낂낃낅낆낇낈낉낊낋낎낐낒낓낔낕낖낗낛낝낞낣낤�\".split(\"\");\nfor(j = 0; j != D[133].length; ++j) if(D[133][j].charCodeAt(0) !== 0xFFFD) { e[D[133][j]] = 34048 + j; d[34048 + j] = D[133][j];}\nD[134] = \"�����������������������������������������������������������������낥낦낧낪낰낲낶낷낹낺낻낽낾낿냀냁냂냃냆냊냋냌냍냎냏냒������냓냕냖냗냙냚냛냜냝냞냟냡냢냣냤냦냧냨냩냪냫냬냭냮냯냰������냱냲냳냴냵냶냷냸냹냺냻냼냽냾냿넀넁넂넃넄넅넆넇넊넍넎넏넑넔넕넖넗넚넞넟넠넡넢넦넧넩넪넫넭넮넯넰넱넲넳넶넺넻넼넽넾넿녂녃녅녆녇녉녊녋녌녍녎녏녒녓녖녗녙녚녛녝녞녟녡녢녣녤녥녦녧녨녩녪녫녬녭녮녯녰녱녲녳녴녵녶녷녺녻녽녾녿놁놃놄놅놆놇놊놌놎놏놐놑놕놖놗놙놚놛놝�\".split(\"\");\nfor(j = 0; j != D[134].length; ++j) if(D[134][j].charCodeAt(0) !== 0xFFFD) { e[D[134][j]] = 34304 + j; d[34304 + j] = D[134][j];}\nD[135] = \"�����������������������������������������������������������������놞놟놠놡놢놣놤놥놦놧놩놪놫놬놭놮놯놰놱놲놳놴놵놶놷놸������놹놺놻놼놽놾놿뇀뇁뇂뇃뇄뇅뇆뇇뇈뇉뇊뇋뇍뇎뇏뇑뇒뇓뇕������뇖뇗뇘뇙뇚뇛뇞뇠뇡뇢뇣뇤뇥뇦뇧뇪뇫뇭뇮뇯뇱뇲뇳뇴뇵뇶뇷뇸뇺뇼뇾뇿눀눁눂눃눆눇눉눊눍눎눏눐눑눒눓눖눘눚눛눜눝눞눟눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눵눶눷눸눹눺눻눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉙뉚뉛뉝뉞뉟뉡뉢뉣뉤뉥뉦뉧뉪뉫뉬뉭뉮�\".split(\"\");\nfor(j = 0; j != D[135].length; ++j) if(D[135][j].charCodeAt(0) !== 0xFFFD) { e[D[135][j]] = 34560 + j; d[34560 + j] = D[135][j];}\nD[136] = \"�����������������������������������������������������������������뉯뉰뉱뉲뉳뉶뉷뉸뉹뉺뉻뉽뉾뉿늀늁늂늃늆늇늈늊늋늌늍늎������늏늒늓늕늖늗늛늜늝늞늟늢늤늧늨늩늫늭늮늯늱늲늳늵늶늷������늸늹늺늻늼늽늾늿닀닁닂닃닄닅닆닇닊닋닍닎닏닑닓닔닕닖닗닚닜닞닟닠닡닣닧닩닪닰닱닲닶닼닽닾댂댃댅댆댇댉댊댋댌댍댎댏댒댖댗댘댙댚댛댝댞댟댠댡댢댣댤댥댦댧댨댩댪댫댬댭댮댯댰댱댲댳댴댵댶댷댸댹댺댻댼댽댾댿덀덁덂덃덄덅덆덇덈덉덊덋덌덍덎덏덐덑덒덓덗덙덚덝덠덡덢덣�\".split(\"\");\nfor(j = 0; j != D[136].length; ++j) if(D[136][j].charCodeAt(0) !== 0xFFFD) { e[D[136][j]] = 34816 + j; d[34816 + j] = D[136][j];}\nD[137] = \"�����������������������������������������������������������������덦덨덪덬덭덯덲덳덵덶덷덹덺덻덼덽덾덿뎂뎆뎇뎈뎉뎊뎋뎍������뎎뎏뎑뎒뎓뎕뎖뎗뎘뎙뎚뎛뎜뎝뎞뎟뎢뎣뎤뎥뎦뎧뎩뎪뎫뎭������뎮뎯뎰뎱뎲뎳뎴뎵뎶뎷뎸뎹뎺뎻뎼뎽뎾뎿돀돁돂돃돆돇돉돊돍돏돑돒돓돖돘돚돜돞돟돡돢돣돥돦돧돩돪돫돬돭돮돯돰돱돲돳돴돵돶돷돸돹돺돻돽돾돿됀됁됂됃됄됅됆됇됈됉됊됋됌됍됎됏됑됒됓됔됕됖됗됙됚됛됝됞됟됡됢됣됤됥됦됧됪됬됭됮됯됰됱됲됳됵됶됷됸됹됺됻됼됽됾됿둀둁둂둃둄�\".split(\"\");\nfor(j = 0; j != D[137].length; ++j) if(D[137][j].charCodeAt(0) !== 0xFFFD) { e[D[137][j]] = 35072 + j; d[35072 + j] = D[137][j];}\nD[138] = \"�����������������������������������������������������������������둅둆둇둈둉둊둋둌둍둎둏둒둓둕둖둗둙둚둛둜둝둞둟둢둤둦������둧둨둩둪둫둭둮둯둰둱둲둳둴둵둶둷둸둹둺둻둼둽둾둿뒁뒂������뒃뒄뒅뒆뒇뒉뒊뒋뒌뒍뒎뒏뒐뒑뒒뒓뒔뒕뒖뒗뒘뒙뒚뒛뒜뒞뒟뒠뒡뒢뒣뒥뒦뒧뒩뒪뒫뒭뒮뒯뒰뒱뒲뒳뒴뒶뒸뒺뒻뒼뒽뒾뒿듁듂듃듅듆듇듉듊듋듌듍듎듏듑듒듓듔듖듗듘듙듚듛듞듟듡듢듥듧듨듩듪듫듮듰듲듳듴듵듶듷듹듺듻듼듽듾듿딀딁딂딃딄딅딆딇딈딉딊딋딌딍딎딏딐딑딒딓딖딗딙딚딝�\".split(\"\");\nfor(j = 0; j != D[138].length; ++j) if(D[138][j].charCodeAt(0) !== 0xFFFD) { e[D[138][j]] = 35328 + j; d[35328 + j] = D[138][j];}\nD[139] = \"�����������������������������������������������������������������딞딟딠딡딢딣딦딫딬딭딮딯딲딳딵딶딷딹딺딻딼딽딾딿땂땆������땇땈땉땊땎땏땑땒땓땕땖땗땘땙땚땛땞땢땣땤땥땦땧땨땩땪������땫땬땭땮땯땰땱땲땳땴땵땶땷땸땹땺땻땼땽땾땿떀떁떂떃떄떅떆떇떈떉떊떋떌떍떎떏떐떑떒떓떔떕떖떗떘떙떚떛떜떝떞떟떢떣떥떦떧떩떬떭떮떯떲떶떷떸떹떺떾떿뗁뗂뗃뗅뗆뗇뗈뗉뗊뗋뗎뗒뗓뗔뗕뗖뗗뗙뗚뗛뗜뗝뗞뗟뗠뗡뗢뗣뗤뗥뗦뗧뗨뗩뗪뗫뗭뗮뗯뗰뗱뗲뗳뗴뗵뗶뗷뗸뗹뗺뗻뗼뗽뗾뗿�\".split(\"\");\nfor(j = 0; j != D[139].length; ++j) if(D[139][j].charCodeAt(0) !== 0xFFFD) { e[D[139][j]] = 35584 + j; d[35584 + j] = D[139][j];}\nD[140] = \"�����������������������������������������������������������������똀똁똂똃똄똅똆똇똈똉똊똋똌똍똎똏똒똓똕똖똗똙똚똛똜똝������똞똟똠똡똢똣똤똦똧똨똩똪똫똭똮똯똰똱똲똳똵똶똷똸똹똺������똻똼똽똾똿뙀뙁뙂뙃뙄뙅뙆뙇뙉뙊뙋뙌뙍뙎뙏뙐뙑뙒뙓뙔뙕뙖뙗뙘뙙뙚뙛뙜뙝뙞뙟뙠뙡뙢뙣뙥뙦뙧뙩뙪뙫뙬뙭뙮뙯뙰뙱뙲뙳뙴뙵뙶뙷뙸뙹뙺뙻뙼뙽뙾뙿뚀뚁뚂뚃뚄뚅뚆뚇뚈뚉뚊뚋뚌뚍뚎뚏뚐뚑뚒뚓뚔뚕뚖뚗뚘뚙뚚뚛뚞뚟뚡뚢뚣뚥뚦뚧뚨뚩뚪뚭뚮뚯뚰뚲뚳뚴뚵뚶뚷뚸뚹뚺뚻뚼뚽뚾뚿뛀뛁뛂�\".split(\"\");\nfor(j = 0; j != D[140].length; ++j) if(D[140][j].charCodeAt(0) !== 0xFFFD) { e[D[140][j]] = 35840 + j; d[35840 + j] = D[140][j];}\nD[141] = \"�����������������������������������������������������������������뛃뛄뛅뛆뛇뛈뛉뛊뛋뛌뛍뛎뛏뛐뛑뛒뛓뛕뛖뛗뛘뛙뛚뛛뛜뛝������뛞뛟뛠뛡뛢뛣뛤뛥뛦뛧뛨뛩뛪뛫뛬뛭뛮뛯뛱뛲뛳뛵뛶뛷뛹뛺������뛻뛼뛽뛾뛿뜂뜃뜄뜆뜇뜈뜉뜊뜋뜌뜍뜎뜏뜐뜑뜒뜓뜔뜕뜖뜗뜘뜙뜚뜛뜜뜝뜞뜟뜠뜡뜢뜣뜤뜥뜦뜧뜪뜫뜭뜮뜱뜲뜳뜴뜵뜶뜷뜺뜼뜽뜾뜿띀띁띂띃띅띆띇띉띊띋띍띎띏띐띑띒띓띖띗띘띙띚띛띜띝띞띟띡띢띣띥띦띧띩띪띫띬띭띮띯띲띴띶띷띸띹띺띻띾띿랁랂랃랅랆랇랈랉랊랋랎랓랔랕랚랛랝랞�\".split(\"\");\nfor(j = 0; j != D[141].length; ++j) if(D[141][j].charCodeAt(0) !== 0xFFFD) { e[D[141][j]] = 36096 + j; d[36096 + j] = D[141][j];}\nD[142] = \"�����������������������������������������������������������������랟랡랢랣랤랥랦랧랪랮랯랰랱랲랳랶랷랹랺랻랼랽랾랿럀럁������럂럃럄럅럆럈럊럋럌럍럎럏럐럑럒럓럔럕럖럗럘럙럚럛럜럝������럞럟럠럡럢럣럤럥럦럧럨럩럪럫럮럯럱럲럳럵럶럷럸럹럺럻럾렂렃렄렅렆렊렋렍렎렏렑렒렓렔렕렖렗렚렜렞렟렠렡렢렣렦렧렩렪렫렭렮렯렰렱렲렳렶렺렻렼렽렾렿롁롂롃롅롆롇롈롉롊롋롌롍롎롏롐롒롔롕롖롗롘롙롚롛롞롟롡롢롣롥롦롧롨롩롪롫롮롰롲롳롴롵롶롷롹롺롻롽롾롿뢀뢁뢂뢃뢄�\".split(\"\");\nfor(j = 0; j != D[142].length; ++j) if(D[142][j].charCodeAt(0) !== 0xFFFD) { e[D[142][j]] = 36352 + j; d[36352 + j] = D[142][j];}\nD[143] = \"�����������������������������������������������������������������뢅뢆뢇뢈뢉뢊뢋뢌뢎뢏뢐뢑뢒뢓뢔뢕뢖뢗뢘뢙뢚뢛뢜뢝뢞뢟������뢠뢡뢢뢣뢤뢥뢦뢧뢩뢪뢫뢬뢭뢮뢯뢱뢲뢳뢵뢶뢷뢹뢺뢻뢼뢽������뢾뢿룂룄룆룇룈룉룊룋룍룎룏룑룒룓룕룖룗룘룙룚룛룜룞룠룢룣룤룥룦룧룪룫룭룮룯룱룲룳룴룵룶룷룺룼룾룿뤀뤁뤂뤃뤅뤆뤇뤈뤉뤊뤋뤌뤍뤎뤏뤐뤑뤒뤓뤔뤕뤖뤗뤙뤚뤛뤜뤝뤞뤟뤡뤢뤣뤤뤥뤦뤧뤨뤩뤪뤫뤬뤭뤮뤯뤰뤱뤲뤳뤴뤵뤶뤷뤸뤹뤺뤻뤾뤿륁륂륃륅륆륇륈륉륊륋륍륎륐륒륓륔륕륖륗�\".split(\"\");\nfor(j = 0; j != D[143].length; ++j) if(D[143][j].charCodeAt(0) !== 0xFFFD) { e[D[143][j]] = 36608 + j; d[36608 + j] = D[143][j];}\nD[144] = \"�����������������������������������������������������������������륚륛륝륞륟륡륢륣륤륥륦륧륪륬륮륯륰륱륲륳륶륷륹륺륻륽������륾륿릀릁릂릃릆릈릋릌릏릐릑릒릓릔릕릖릗릘릙릚릛릜릝릞������릟릠릡릢릣릤릥릦릧릨릩릪릫릮릯릱릲릳릵릶릷릸릹릺릻릾맀맂맃맄맅맆맇맊맋맍맓맔맕맖맗맚맜맟맠맢맦맧맩맪맫맭맮맯맰맱맲맳맶맻맼맽맾맿먂먃먄먅먆먇먉먊먋먌먍먎먏먐먑먒먓먔먖먗먘먙먚먛먜먝먞먟먠먡먢먣먤먥먦먧먨먩먪먫먬먭먮먯먰먱먲먳먴먵먶먷먺먻먽먾먿멁멃멄멅멆�\".split(\"\");\nfor(j = 0; j != D[144].length; ++j) if(D[144][j].charCodeAt(0) !== 0xFFFD) { e[D[144][j]] = 36864 + j; d[36864 + j] = D[144][j];}\nD[145] = \"�����������������������������������������������������������������멇멊멌멏멐멑멒멖멗멙멚멛멝멞멟멠멡멢멣멦멪멫멬멭멮멯������멲멳멵멶멷멹멺멻멼멽멾멿몀몁몂몆몈몉몊몋몍몎몏몐몑몒������몓몔몕몖몗몘몙몚몛몜몝몞몟몠몡몢몣몤몥몦몧몪몭몮몯몱몳몴몵몶몷몺몼몾몿뫀뫁뫂뫃뫅뫆뫇뫉뫊뫋뫌뫍뫎뫏뫐뫑뫒뫓뫔뫕뫖뫗뫚뫛뫜뫝뫞뫟뫠뫡뫢뫣뫤뫥뫦뫧뫨뫩뫪뫫뫬뫭뫮뫯뫰뫱뫲뫳뫴뫵뫶뫷뫸뫹뫺뫻뫽뫾뫿묁묂묃묅묆묇묈묉묊묋묌묎묐묒묓묔묕묖묗묙묚묛묝묞묟묡묢묣묤묥묦묧�\".split(\"\");\nfor(j = 0; j != D[145].length; ++j) if(D[145][j].charCodeAt(0) !== 0xFFFD) { e[D[145][j]] = 37120 + j; d[37120 + j] = D[145][j];}\nD[146] = \"�����������������������������������������������������������������묨묪묬묭묮묯묰묱묲묳묷묹묺묿뭀뭁뭂뭃뭆뭈뭊뭋뭌뭎뭑뭒������뭓뭕뭖뭗뭙뭚뭛뭜뭝뭞뭟뭠뭢뭤뭥뭦뭧뭨뭩뭪뭫뭭뭮뭯뭰뭱������뭲뭳뭴뭵뭶뭷뭸뭹뭺뭻뭼뭽뭾뭿뮀뮁뮂뮃뮄뮅뮆뮇뮉뮊뮋뮍뮎뮏뮑뮒뮓뮔뮕뮖뮗뮘뮙뮚뮛뮜뮝뮞뮟뮠뮡뮢뮣뮥뮦뮧뮩뮪뮫뮭뮮뮯뮰뮱뮲뮳뮵뮶뮸뮹뮺뮻뮼뮽뮾뮿믁믂믃믅믆믇믉믊믋믌믍믎믏믑믒믔믕믖믗믘믙믚믛믜믝믞믟믠믡믢믣믤믥믦믧믨믩믪믫믬믭믮믯믰믱믲믳믴믵믶믷믺믻믽믾밁�\".split(\"\");\nfor(j = 0; j != D[146].length; ++j) if(D[146][j].charCodeAt(0) !== 0xFFFD) { e[D[146][j]] = 37376 + j; d[37376 + j] = D[146][j];}\nD[147] = \"�����������������������������������������������������������������밃밄밅밆밇밊밎밐밒밓밙밚밠밡밢밣밦밨밪밫밬밮밯밲밳밵������밶밷밹밺밻밼밽밾밿뱂뱆뱇뱈뱊뱋뱎뱏뱑뱒뱓뱔뱕뱖뱗뱘뱙������뱚뱛뱜뱞뱟뱠뱡뱢뱣뱤뱥뱦뱧뱨뱩뱪뱫뱬뱭뱮뱯뱰뱱뱲뱳뱴뱵뱶뱷뱸뱹뱺뱻뱼뱽뱾뱿벀벁벂벃벆벇벉벊벍벏벐벑벒벓벖벘벛벜벝벞벟벢벣벥벦벩벪벫벬벭벮벯벲벶벷벸벹벺벻벾벿볁볂볃볅볆볇볈볉볊볋볌볎볒볓볔볖볗볙볚볛볝볞볟볠볡볢볣볤볥볦볧볨볩볪볫볬볭볮볯볰볱볲볳볷볹볺볻볽�\".split(\"\");\nfor(j = 0; j != D[147].length; ++j) if(D[147][j].charCodeAt(0) !== 0xFFFD) { e[D[147][j]] = 37632 + j; d[37632 + j] = D[147][j];}\nD[148] = \"�����������������������������������������������������������������볾볿봀봁봂봃봆봈봊봋봌봍봎봏봑봒봓봕봖봗봘봙봚봛봜봝������봞봟봠봡봢봣봥봦봧봨봩봪봫봭봮봯봰봱봲봳봴봵봶봷봸봹������봺봻봼봽봾봿뵁뵂뵃뵄뵅뵆뵇뵊뵋뵍뵎뵏뵑뵒뵓뵔뵕뵖뵗뵚뵛뵜뵝뵞뵟뵠뵡뵢뵣뵥뵦뵧뵩뵪뵫뵬뵭뵮뵯뵰뵱뵲뵳뵴뵵뵶뵷뵸뵹뵺뵻뵼뵽뵾뵿붂붃붅붆붋붌붍붎붏붒붔붖붗붘붛붝붞붟붠붡붢붣붥붦붧붨붩붪붫붬붭붮붯붱붲붳붴붵붶붷붹붺붻붼붽붾붿뷀뷁뷂뷃뷄뷅뷆뷇뷈뷉뷊뷋뷌뷍뷎뷏뷐뷑�\".split(\"\");\nfor(j = 0; j != D[148].length; ++j) if(D[148][j].charCodeAt(0) !== 0xFFFD) { e[D[148][j]] = 37888 + j; d[37888 + j] = D[148][j];}\nD[149] = \"�����������������������������������������������������������������뷒뷓뷖뷗뷙뷚뷛뷝뷞뷟뷠뷡뷢뷣뷤뷥뷦뷧뷨뷪뷫뷬뷭뷮뷯뷱������뷲뷳뷵뷶뷷뷹뷺뷻뷼뷽뷾뷿븁븂븄븆븇븈븉븊븋븎븏븑븒븓������븕븖븗븘븙븚븛븞븠븡븢븣븤븥븦븧븨븩븪븫븬븭븮븯븰븱븲븳븴븵븶븷븸븹븺븻븼븽븾븿빀빁빂빃빆빇빉빊빋빍빏빐빑빒빓빖빘빜빝빞빟빢빣빥빦빧빩빫빬빭빮빯빲빶빷빸빹빺빾빿뺁뺂뺃뺅뺆뺇뺈뺉뺊뺋뺎뺒뺓뺔뺕뺖뺗뺚뺛뺜뺝뺞뺟뺠뺡뺢뺣뺤뺥뺦뺧뺩뺪뺫뺬뺭뺮뺯뺰뺱뺲뺳뺴뺵뺶뺷�\".split(\"\");\nfor(j = 0; j != D[149].length; ++j) if(D[149][j].charCodeAt(0) !== 0xFFFD) { e[D[149][j]] = 38144 + j; d[38144 + j] = D[149][j];}\nD[150] = \"�����������������������������������������������������������������뺸뺹뺺뺻뺼뺽뺾뺿뻀뻁뻂뻃뻄뻅뻆뻇뻈뻉뻊뻋뻌뻍뻎뻏뻒뻓������뻕뻖뻙뻚뻛뻜뻝뻞뻟뻡뻢뻦뻧뻨뻩뻪뻫뻭뻮뻯뻰뻱뻲뻳뻴뻵������뻶뻷뻸뻹뻺뻻뻼뻽뻾뻿뼀뼂뼃뼄뼅뼆뼇뼊뼋뼌뼍뼎뼏뼐뼑뼒뼓뼔뼕뼖뼗뼚뼞뼟뼠뼡뼢뼣뼤뼥뼦뼧뼨뼩뼪뼫뼬뼭뼮뼯뼰뼱뼲뼳뼴뼵뼶뼷뼸뼹뼺뼻뼼뼽뼾뼿뽂뽃뽅뽆뽇뽉뽊뽋뽌뽍뽎뽏뽒뽓뽔뽖뽗뽘뽙뽚뽛뽜뽝뽞뽟뽠뽡뽢뽣뽤뽥뽦뽧뽨뽩뽪뽫뽬뽭뽮뽯뽰뽱뽲뽳뽴뽵뽶뽷뽸뽹뽺뽻뽼뽽뽾뽿뾀뾁뾂�\".split(\"\");\nfor(j = 0; j != D[150].length; ++j) if(D[150][j].charCodeAt(0) !== 0xFFFD) { e[D[150][j]] = 38400 + j; d[38400 + j] = D[150][j];}\nD[151] = \"�����������������������������������������������������������������뾃뾄뾅뾆뾇뾈뾉뾊뾋뾌뾍뾎뾏뾐뾑뾒뾓뾕뾖뾗뾘뾙뾚뾛뾜뾝������뾞뾟뾠뾡뾢뾣뾤뾥뾦뾧뾨뾩뾪뾫뾬뾭뾮뾯뾱뾲뾳뾴뾵뾶뾷뾸������뾹뾺뾻뾼뾽뾾뾿뿀뿁뿂뿃뿄뿆뿇뿈뿉뿊뿋뿎뿏뿑뿒뿓뿕뿖뿗뿘뿙뿚뿛뿝뿞뿠뿢뿣뿤뿥뿦뿧뿨뿩뿪뿫뿬뿭뿮뿯뿰뿱뿲뿳뿴뿵뿶뿷뿸뿹뿺뿻뿼뿽뿾뿿쀀쀁쀂쀃쀄쀅쀆쀇쀈쀉쀊쀋쀌쀍쀎쀏쀐쀑쀒쀓쀔쀕쀖쀗쀘쀙쀚쀛쀜쀝쀞쀟쀠쀡쀢쀣쀤쀥쀦쀧쀨쀩쀪쀫쀬쀭쀮쀯쀰쀱쀲쀳쀴쀵쀶쀷쀸쀹쀺쀻쀽쀾쀿�\".split(\"\");\nfor(j = 0; j != D[151].length; ++j) if(D[151][j].charCodeAt(0) !== 0xFFFD) { e[D[151][j]] = 38656 + j; d[38656 + j] = D[151][j];}\nD[152] = \"�����������������������������������������������������������������쁀쁁쁂쁃쁄쁅쁆쁇쁈쁉쁊쁋쁌쁍쁎쁏쁐쁒쁓쁔쁕쁖쁗쁙쁚쁛������쁝쁞쁟쁡쁢쁣쁤쁥쁦쁧쁪쁫쁬쁭쁮쁯쁰쁱쁲쁳쁴쁵쁶쁷쁸쁹������쁺쁻쁼쁽쁾쁿삀삁삂삃삄삅삆삇삈삉삊삋삌삍삎삏삒삓삕삖삗삙삚삛삜삝삞삟삢삤삦삧삨삩삪삫삮삱삲삷삸삹삺삻삾샂샃샄샆샇샊샋샍샎샏샑샒샓샔샕샖샗샚샞샟샠샡샢샣샦샧샩샪샫샭샮샯샰샱샲샳샶샸샺샻샼샽샾샿섁섂섃섅섆섇섉섊섋섌섍섎섏섑섒섓섔섖섗섘섙섚섛섡섢섥섨섩섪섫섮�\".split(\"\");\nfor(j = 0; j != D[152].length; ++j) if(D[152][j].charCodeAt(0) !== 0xFFFD) { e[D[152][j]] = 38912 + j; d[38912 + j] = D[152][j];}\nD[153] = \"�����������������������������������������������������������������섲섳섴섵섷섺섻섽섾섿셁셂셃셄셅셆셇셊셎셏셐셑셒셓셖셗������셙셚셛셝셞셟셠셡셢셣셦셪셫셬셭셮셯셱셲셳셵셶셷셹셺셻������셼셽셾셿솀솁솂솃솄솆솇솈솉솊솋솏솑솒솓솕솗솘솙솚솛솞솠솢솣솤솦솧솪솫솭솮솯솱솲솳솴솵솶솷솸솹솺솻솼솾솿쇀쇁쇂쇃쇅쇆쇇쇉쇊쇋쇍쇎쇏쇐쇑쇒쇓쇕쇖쇙쇚쇛쇜쇝쇞쇟쇡쇢쇣쇥쇦쇧쇩쇪쇫쇬쇭쇮쇯쇲쇴쇵쇶쇷쇸쇹쇺쇻쇾쇿숁숂숃숅숆숇숈숉숊숋숎숐숒숓숔숕숖숗숚숛숝숞숡숢숣�\".split(\"\");\nfor(j = 0; j != D[153].length; ++j) if(D[153][j].charCodeAt(0) !== 0xFFFD) { e[D[153][j]] = 39168 + j; d[39168 + j] = D[153][j];}\nD[154] = \"�����������������������������������������������������������������숤숥숦숧숪숬숮숰숳숵숶숷숸숹숺숻숼숽숾숿쉀쉁쉂쉃쉄쉅������쉆쉇쉉쉊쉋쉌쉍쉎쉏쉒쉓쉕쉖쉗쉙쉚쉛쉜쉝쉞쉟쉡쉢쉣쉤쉦������쉧쉨쉩쉪쉫쉮쉯쉱쉲쉳쉵쉶쉷쉸쉹쉺쉻쉾슀슂슃슄슅슆슇슊슋슌슍슎슏슑슒슓슔슕슖슗슙슚슜슞슟슠슡슢슣슦슧슩슪슫슮슯슰슱슲슳슶슸슺슻슼슽슾슿싀싁싂싃싄싅싆싇싈싉싊싋싌싍싎싏싐싑싒싓싔싕싖싗싘싙싚싛싞싟싡싢싥싦싧싨싩싪싮싰싲싳싴싵싷싺싽싾싿쌁쌂쌃쌄쌅쌆쌇쌊쌋쌎쌏�\".split(\"\");\nfor(j = 0; j != D[154].length; ++j) if(D[154][j].charCodeAt(0) !== 0xFFFD) { e[D[154][j]] = 39424 + j; d[39424 + j] = D[154][j];}\nD[155] = \"�����������������������������������������������������������������쌐쌑쌒쌖쌗쌙쌚쌛쌝쌞쌟쌠쌡쌢쌣쌦쌧쌪쌫쌬쌭쌮쌯쌰쌱쌲������쌳쌴쌵쌶쌷쌸쌹쌺쌻쌼쌽쌾쌿썀썁썂썃썄썆썇썈썉썊썋썌썍������썎썏썐썑썒썓썔썕썖썗썘썙썚썛썜썝썞썟썠썡썢썣썤썥썦썧썪썫썭썮썯썱썳썴썵썶썷썺썻썾썿쎀쎁쎂쎃쎅쎆쎇쎉쎊쎋쎍쎎쎏쎐쎑쎒쎓쎔쎕쎖쎗쎘쎙쎚쎛쎜쎝쎞쎟쎠쎡쎢쎣쎤쎥쎦쎧쎨쎩쎪쎫쎬쎭쎮쎯쎰쎱쎲쎳쎴쎵쎶쎷쎸쎹쎺쎻쎼쎽쎾쎿쏁쏂쏃쏄쏅쏆쏇쏈쏉쏊쏋쏌쏍쏎쏏쏐쏑쏒쏓쏔쏕쏖쏗쏚�\".split(\"\");\nfor(j = 0; j != D[155].length; ++j) if(D[155][j].charCodeAt(0) !== 0xFFFD) { e[D[155][j]] = 39680 + j; d[39680 + j] = D[155][j];}\nD[156] = \"�����������������������������������������������������������������쏛쏝쏞쏡쏣쏤쏥쏦쏧쏪쏫쏬쏮쏯쏰쏱쏲쏳쏶쏷쏹쏺쏻쏼쏽쏾������쏿쐀쐁쐂쐃쐄쐅쐆쐇쐉쐊쐋쐌쐍쐎쐏쐑쐒쐓쐔쐕쐖쐗쐘쐙쐚������쐛쐜쐝쐞쐟쐠쐡쐢쐣쐥쐦쐧쐨쐩쐪쐫쐭쐮쐯쐱쐲쐳쐵쐶쐷쐸쐹쐺쐻쐾쐿쑀쑁쑂쑃쑄쑅쑆쑇쑉쑊쑋쑌쑍쑎쑏쑐쑑쑒쑓쑔쑕쑖쑗쑘쑙쑚쑛쑜쑝쑞쑟쑠쑡쑢쑣쑦쑧쑩쑪쑫쑭쑮쑯쑰쑱쑲쑳쑶쑷쑸쑺쑻쑼쑽쑾쑿쒁쒂쒃쒄쒅쒆쒇쒈쒉쒊쒋쒌쒍쒎쒏쒐쒑쒒쒓쒕쒖쒗쒘쒙쒚쒛쒝쒞쒟쒠쒡쒢쒣쒤쒥쒦쒧쒨쒩�\".split(\"\");\nfor(j = 0; j != D[156].length; ++j) if(D[156][j].charCodeAt(0) !== 0xFFFD) { e[D[156][j]] = 39936 + j; d[39936 + j] = D[156][j];}\nD[157] = \"�����������������������������������������������������������������쒪쒫쒬쒭쒮쒯쒰쒱쒲쒳쒴쒵쒶쒷쒹쒺쒻쒽쒾쒿쓀쓁쓂쓃쓄쓅������쓆쓇쓈쓉쓊쓋쓌쓍쓎쓏쓐쓑쓒쓓쓔쓕쓖쓗쓘쓙쓚쓛쓜쓝쓞쓟������쓠쓡쓢쓣쓤쓥쓦쓧쓨쓪쓫쓬쓭쓮쓯쓲쓳쓵쓶쓷쓹쓻쓼쓽쓾씂씃씄씅씆씇씈씉씊씋씍씎씏씑씒씓씕씖씗씘씙씚씛씝씞씟씠씡씢씣씤씥씦씧씪씫씭씮씯씱씲씳씴씵씶씷씺씼씾씿앀앁앂앃앆앇앋앏앐앑앒앖앚앛앜앟앢앣앥앦앧앩앪앫앬앭앮앯앲앶앷앸앹앺앻앾앿얁얂얃얅얆얈얉얊얋얎얐얒얓얔�\".split(\"\");\nfor(j = 0; j != D[157].length; ++j) if(D[157][j].charCodeAt(0) !== 0xFFFD) { e[D[157][j]] = 40192 + j; d[40192 + j] = D[157][j];}\nD[158] = \"�����������������������������������������������������������������얖얙얚얛얝얞얟얡얢얣얤얥얦얧얨얪얫얬얭얮얯얰얱얲얳얶������얷얺얿엀엁엂엃엋엍엏엒엓엕엖엗엙엚엛엜엝엞엟엢엤엦엧������엨엩엪엫엯엱엲엳엵엸엹엺엻옂옃옄옉옊옋옍옎옏옑옒옓옔옕옖옗옚옝옞옟옠옡옢옣옦옧옩옪옫옯옱옲옶옸옺옼옽옾옿왂왃왅왆왇왉왊왋왌왍왎왏왒왖왗왘왙왚왛왞왟왡왢왣왤왥왦왧왨왩왪왫왭왮왰왲왳왴왵왶왷왺왻왽왾왿욁욂욃욄욅욆욇욊욌욎욏욐욑욒욓욖욗욙욚욛욝욞욟욠욡욢욣욦�\".split(\"\");\nfor(j = 0; j != D[158].length; ++j) if(D[158][j].charCodeAt(0) !== 0xFFFD) { e[D[158][j]] = 40448 + j; d[40448 + j] = D[158][j];}\nD[159] = \"�����������������������������������������������������������������욨욪욫욬욭욮욯욲욳욵욶욷욻욼욽욾욿웂웄웆웇웈웉웊웋웎������웏웑웒웓웕웖웗웘웙웚웛웞웟웢웣웤웥웦웧웪웫웭웮웯웱웲������웳웴웵웶웷웺웻웼웾웿윀윁윂윃윆윇윉윊윋윍윎윏윐윑윒윓윖윘윚윛윜윝윞윟윢윣윥윦윧윩윪윫윬윭윮윯윲윴윶윸윹윺윻윾윿읁읂읃읅읆읇읈읉읋읎읐읙읚읛읝읞읟읡읢읣읤읥읦읧읩읪읬읭읮읯읰읱읲읳읶읷읹읺읻읿잀잁잂잆잋잌잍잏잒잓잕잙잛잜잝잞잟잢잧잨잩잪잫잮잯잱잲잳잵잶잷�\".split(\"\");\nfor(j = 0; j != D[159].length; ++j) if(D[159][j].charCodeAt(0) !== 0xFFFD) { e[D[159][j]] = 40704 + j; d[40704 + j] = D[159][j];}\nD[160] = \"�����������������������������������������������������������������잸잹잺잻잾쟂쟃쟄쟅쟆쟇쟊쟋쟍쟏쟑쟒쟓쟔쟕쟖쟗쟙쟚쟛쟜������쟞쟟쟠쟡쟢쟣쟥쟦쟧쟩쟪쟫쟭쟮쟯쟰쟱쟲쟳쟴쟵쟶쟷쟸쟹쟺������쟻쟼쟽쟾쟿젂젃젅젆젇젉젋젌젍젎젏젒젔젗젘젙젚젛젞젟젡젢젣젥젦젧젨젩젪젫젮젰젲젳젴젵젶젷젹젺젻젽젾젿졁졂졃졄졅졆졇졊졋졎졏졐졑졒졓졕졖졗졘졙졚졛졜졝졞졟졠졡졢졣졤졥졦졧졨졩졪졫졬졭졮졯졲졳졵졶졷졹졻졼졽졾졿좂좄좈좉좊좎좏좐좑좒좓좕좖좗좘좙좚좛좜좞좠좢좣좤�\".split(\"\");\nfor(j = 0; j != D[160].length; ++j) if(D[160][j].charCodeAt(0) !== 0xFFFD) { e[D[160][j]] = 40960 + j; d[40960 + j] = D[160][j];}\nD[161] = \"�����������������������������������������������������������������좥좦좧좩좪좫좬좭좮좯좰좱좲좳좴좵좶좷좸좹좺좻좾좿죀죁������죂죃죅죆죇죉죊죋죍죎죏죐죑죒죓죖죘죚죛죜죝죞죟죢죣죥������죦죧죨죩죪죫죬죭죮죯죰죱죲죳죴죶죷죸죹죺죻죾죿줁줂줃줇줈줉줊줋줎　、。·‥…¨〃­―∥＼∼‘’“”〔〕〈〉《》「」『』【】±×÷≠≤≥∞∴°′″℃Å￠￡￥♂♀∠⊥⌒∂∇≡≒§※☆★○●◎◇◆□■△▲▽▼→←↑↓↔〓≪≫√∽∝∵∫∬∈∋⊆⊇⊂⊃∪∩∧∨￢�\".split(\"\");\nfor(j = 0; j != D[161].length; ++j) if(D[161][j].charCodeAt(0) !== 0xFFFD) { e[D[161][j]] = 41216 + j; d[41216 + j] = D[161][j];}\nD[162] = \"�����������������������������������������������������������������줐줒줓줔줕줖줗줙줚줛줜줝줞줟줠줡줢줣줤줥줦줧줨줩줪줫������줭줮줯줰줱줲줳줵줶줷줸줹줺줻줼줽줾줿쥀쥁쥂쥃쥄쥅쥆쥇������쥈쥉쥊쥋쥌쥍쥎쥏쥒쥓쥕쥖쥗쥙쥚쥛쥜쥝쥞쥟쥢쥤쥥쥦쥧쥨쥩쥪쥫쥭쥮쥯⇒⇔∀∃´～ˇ˘˝˚˙¸˛¡¿ː∮∑∏¤℉‰◁◀▷▶♤♠♡♥♧♣⊙◈▣◐◑▒▤▥▨▧▦▩♨☏☎☜☞¶†‡↕↗↙↖↘♭♩♪♬㉿㈜№㏇™㏂㏘℡€®������������������������\".split(\"\");\nfor(j = 0; j != D[162].length; ++j) if(D[162][j].charCodeAt(0) !== 0xFFFD) { e[D[162][j]] = 41472 + j; d[41472 + j] = D[162][j];}\nD[163] = \"�����������������������������������������������������������������쥱쥲쥳쥵쥶쥷쥸쥹쥺쥻쥽쥾쥿즀즁즂즃즄즅즆즇즊즋즍즎즏������즑즒즓즔즕즖즗즚즜즞즟즠즡즢즣즤즥즦즧즨즩즪즫즬즭즮������즯즰즱즲즳즴즵즶즷즸즹즺즻즼즽즾즿짂짃짅짆짉짋짌짍짎짏짒짔짗짘짛！＂＃＄％＆＇（）＊＋，－．／０１２３４５６７８９：；＜＝＞？＠ＡＢＣＤＥＦＧＨＩＪＫＬＭＮＯＰＱＲＳＴＵＶＷＸＹＺ［￦］＾＿｀ａｂｃｄｅｆｇｈｉｊｋｌｍｎｏｐｑｒｓｔｕｖｗｘｙｚ｛｜｝￣�\".split(\"\");\nfor(j = 0; j != D[163].length; ++j) if(D[163][j].charCodeAt(0) !== 0xFFFD) { e[D[163][j]] = 41728 + j; d[41728 + j] = D[163][j];}\nD[164] = \"�����������������������������������������������������������������짞짟짡짣짥짦짨짩짪짫짮짲짳짴짵짶짷짺짻짽짾짿쨁쨂쨃쨄������쨅쨆쨇쨊쨎쨏쨐쨑쨒쨓쨕쨖쨗쨙쨚쨛쨜쨝쨞쨟쨠쨡쨢쨣쨤쨥������쨦쨧쨨쨪쨫쨬쨭쨮쨯쨰쨱쨲쨳쨴쨵쨶쨷쨸쨹쨺쨻쨼쨽쨾쨿쩀쩁쩂쩃쩄쩅쩆ㄱㄲㄳㄴㄵㄶㄷㄸㄹㄺㄻㄼㄽㄾㄿㅀㅁㅂㅃㅄㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎㅏㅐㅑㅒㅓㅔㅕㅖㅗㅘㅙㅚㅛㅜㅝㅞㅟㅠㅡㅢㅣㅤㅥㅦㅧㅨㅩㅪㅫㅬㅭㅮㅯㅰㅱㅲㅳㅴㅵㅶㅷㅸㅹㅺㅻㅼㅽㅾㅿㆀㆁㆂㆃㆄㆅㆆㆇㆈㆉㆊㆋㆌㆍㆎ�\".split(\"\");\nfor(j = 0; j != D[164].length; ++j) if(D[164][j].charCodeAt(0) !== 0xFFFD) { e[D[164][j]] = 41984 + j; d[41984 + j] = D[164][j];}\nD[165] = \"�����������������������������������������������������������������쩇쩈쩉쩊쩋쩎쩏쩑쩒쩓쩕쩖쩗쩘쩙쩚쩛쩞쩢쩣쩤쩥쩦쩧쩩쩪������쩫쩬쩭쩮쩯쩰쩱쩲쩳쩴쩵쩶쩷쩸쩹쩺쩻쩼쩾쩿쪀쪁쪂쪃쪅쪆������쪇쪈쪉쪊쪋쪌쪍쪎쪏쪐쪑쪒쪓쪔쪕쪖쪗쪙쪚쪛쪜쪝쪞쪟쪠쪡쪢쪣쪤쪥쪦쪧ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ�����ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ�������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω�������\".split(\"\");\nfor(j = 0; j != D[165].length; ++j) if(D[165][j].charCodeAt(0) !== 0xFFFD) { e[D[165][j]] = 42240 + j; d[42240 + j] = D[165][j];}\nD[166] = \"�����������������������������������������������������������������쪨쪩쪪쪫쪬쪭쪮쪯쪰쪱쪲쪳쪴쪵쪶쪷쪸쪹쪺쪻쪾쪿쫁쫂쫃쫅������쫆쫇쫈쫉쫊쫋쫎쫐쫒쫔쫕쫖쫗쫚쫛쫜쫝쫞쫟쫡쫢쫣쫤쫥쫦쫧������쫨쫩쫪쫫쫭쫮쫯쫰쫱쫲쫳쫵쫶쫷쫸쫹쫺쫻쫼쫽쫾쫿쬀쬁쬂쬃쬄쬅쬆쬇쬉쬊─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂┒┑┚┙┖┕┎┍┞┟┡┢┦┧┩┪┭┮┱┲┵┶┹┺┽┾╀╁╃╄╅╆╇╈╉╊���������������������������\".split(\"\");\nfor(j = 0; j != D[166].length; ++j) if(D[166][j].charCodeAt(0) !== 0xFFFD) { e[D[166][j]] = 42496 + j; d[42496 + j] = D[166][j];}\nD[167] = \"�����������������������������������������������������������������쬋쬌쬍쬎쬏쬑쬒쬓쬕쬖쬗쬙쬚쬛쬜쬝쬞쬟쬢쬣쬤쬥쬦쬧쬨쬩������쬪쬫쬬쬭쬮쬯쬰쬱쬲쬳쬴쬵쬶쬷쬸쬹쬺쬻쬼쬽쬾쬿쭀쭂쭃쭄������쭅쭆쭇쭊쭋쭍쭎쭏쭑쭒쭓쭔쭕쭖쭗쭚쭛쭜쭞쭟쭠쭡쭢쭣쭥쭦쭧쭨쭩쭪쭫쭬㎕㎖㎗ℓ㎘㏄㎣㎤㎥㎦㎙㎚㎛㎜㎝㎞㎟㎠㎡㎢㏊㎍㎎㎏㏏㎈㎉㏈㎧㎨㎰㎱㎲㎳㎴㎵㎶㎷㎸㎹㎀㎁㎂㎃㎄㎺㎻㎼㎽㎾㎿㎐㎑㎒㎓㎔Ω㏀㏁㎊㎋㎌㏖㏅㎭㎮㎯㏛㎩㎪㎫㎬㏝㏐㏓㏃㏉㏜㏆����������������\".split(\"\");\nfor(j = 0; j != D[167].length; ++j) if(D[167][j].charCodeAt(0) !== 0xFFFD) { e[D[167][j]] = 42752 + j; d[42752 + j] = D[167][j];}\nD[168] = \"�����������������������������������������������������������������쭭쭮쭯쭰쭱쭲쭳쭴쭵쭶쭷쭺쭻쭼쭽쭾쭿쮀쮁쮂쮃쮄쮅쮆쮇쮈������쮉쮊쮋쮌쮍쮎쮏쮐쮑쮒쮓쮔쮕쮖쮗쮘쮙쮚쮛쮝쮞쮟쮠쮡쮢쮣������쮤쮥쮦쮧쮨쮩쮪쮫쮬쮭쮮쮯쮰쮱쮲쮳쮴쮵쮶쮷쮹쮺쮻쮼쮽쮾쮿쯀쯁쯂쯃쯄ÆÐªĦ�Ĳ�ĿŁØŒºÞŦŊ�㉠㉡㉢㉣㉤㉥㉦㉧㉨㉩㉪㉫㉬㉭㉮㉯㉰㉱㉲㉳㉴㉵㉶㉷㉸㉹㉺㉻ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮½⅓⅔¼¾⅛⅜⅝⅞�\".split(\"\");\nfor(j = 0; j != D[168].length; ++j) if(D[168][j].charCodeAt(0) !== 0xFFFD) { e[D[168][j]] = 43008 + j; d[43008 + j] = D[168][j];}\nD[169] = \"�����������������������������������������������������������������쯅쯆쯇쯈쯉쯊쯋쯌쯍쯎쯏쯐쯑쯒쯓쯕쯖쯗쯘쯙쯚쯛쯜쯝쯞쯟������쯠쯡쯢쯣쯥쯦쯨쯪쯫쯬쯭쯮쯯쯰쯱쯲쯳쯴쯵쯶쯷쯸쯹쯺쯻쯼������쯽쯾쯿찀찁찂찃찄찅찆찇찈찉찊찋찎찏찑찒찓찕찖찗찘찙찚찛찞찟찠찣찤æđðħıĳĸŀłøœßþŧŋŉ㈀㈁㈂㈃㈄㈅㈆㈇㈈㈉㈊㈋㈌㈍㈎㈏㈐㈑㈒㈓㈔㈕㈖㈗㈘㈙㈚㈛⒜⒝⒞⒟⒠⒡⒢⒣⒤⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂¹²³⁴ⁿ₁₂₃₄�\".split(\"\");\nfor(j = 0; j != D[169].length; ++j) if(D[169][j].charCodeAt(0) !== 0xFFFD) { e[D[169][j]] = 43264 + j; d[43264 + j] = D[169][j];}\nD[170] = \"�����������������������������������������������������������������찥찦찪찫찭찯찱찲찳찴찵찶찷찺찿챀챁챂챃챆챇챉챊챋챍챎������챏챐챑챒챓챖챚챛챜챝챞챟챡챢챣챥챧챩챪챫챬챭챮챯챱챲������챳챴챶챷챸챹챺챻챼챽챾챿첀첁첂첃첄첅첆첇첈첉첊첋첌첍첎첏첐첑첒첓ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん������������\".split(\"\");\nfor(j = 0; j != D[170].length; ++j) if(D[170][j].charCodeAt(0) !== 0xFFFD) { e[D[170][j]] = 43520 + j; d[43520 + j] = D[170][j];}\nD[171] = \"�����������������������������������������������������������������첔첕첖첗첚첛첝첞첟첡첢첣첤첥첦첧첪첮첯첰첱첲첳첶첷첹������첺첻첽첾첿쳀쳁쳂쳃쳆쳈쳊쳋쳌쳍쳎쳏쳑쳒쳓쳕쳖쳗쳘쳙쳚������쳛쳜쳝쳞쳟쳠쳡쳢쳣쳥쳦쳧쳨쳩쳪쳫쳭쳮쳯쳱쳲쳳쳴쳵쳶쳷쳸쳹쳺쳻쳼쳽ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ���������\".split(\"\");\nfor(j = 0; j != D[171].length; ++j) if(D[171][j].charCodeAt(0) !== 0xFFFD) { e[D[171][j]] = 43776 + j; d[43776 + j] = D[171][j];}\nD[172] = \"�����������������������������������������������������������������쳾쳿촀촂촃촄촅촆촇촊촋촍촎촏촑촒촓촔촕촖촗촚촜촞촟촠������촡촢촣촥촦촧촩촪촫촭촮촯촰촱촲촳촴촵촶촷촸촺촻촼촽촾������촿쵀쵁쵂쵃쵄쵅쵆쵇쵈쵉쵊쵋쵌쵍쵎쵏쵐쵑쵒쵓쵔쵕쵖쵗쵘쵙쵚쵛쵝쵞쵟АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмнопрстуфхцчшщъыьэюя��������������\".split(\"\");\nfor(j = 0; j != D[172].length; ++j) if(D[172][j].charCodeAt(0) !== 0xFFFD) { e[D[172][j]] = 44032 + j; d[44032 + j] = D[172][j];}\nD[173] = \"�����������������������������������������������������������������쵡쵢쵣쵥쵦쵧쵨쵩쵪쵫쵮쵰쵲쵳쵴쵵쵶쵷쵹쵺쵻쵼쵽쵾쵿춀������춁춂춃춄춅춆춇춉춊춋춌춍춎춏춐춑춒춓춖춗춙춚춛춝춞춟������춠춡춢춣춦춨춪춫춬춭춮춯춱춲춳춴춵춶춷춸춹춺춻춼춽춾춿췀췁췂췃췅�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[173].length; ++j) if(D[173][j].charCodeAt(0) !== 0xFFFD) { e[D[173][j]] = 44288 + j; d[44288 + j] = D[173][j];}\nD[174] = \"�����������������������������������������������������������������췆췇췈췉췊췋췍췎췏췑췒췓췔췕췖췗췘췙췚췛췜췝췞췟췠췡������췢췣췤췥췦췧췩췪췫췭췮췯췱췲췳췴췵췶췷췺췼췾췿츀츁츂������츃츅츆츇츉츊츋츍츎츏츐츑츒츓츕츖츗츘츚츛츜츝츞츟츢츣츥츦츧츩츪츫�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[174].length; ++j) if(D[174][j].charCodeAt(0) !== 0xFFFD) { e[D[174][j]] = 44544 + j; d[44544 + j] = D[174][j];}\nD[175] = \"�����������������������������������������������������������������츬츭츮츯츲츴츶츷츸츹츺츻츼츽츾츿칀칁칂칃칄칅칆칇칈칉������칊칋칌칍칎칏칐칑칒칓칔칕칖칗칚칛칝칞칢칣칤칥칦칧칪칬������칮칯칰칱칲칳칶칷칹칺칻칽칾칿캀캁캂캃캆캈캊캋캌캍캎캏캒캓캕캖캗캙�����������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[175].length; ++j) if(D[175][j].charCodeAt(0) !== 0xFFFD) { e[D[175][j]] = 44800 + j; d[44800 + j] = D[175][j];}\nD[176] = \"�����������������������������������������������������������������캚캛캜캝캞캟캢캦캧캨캩캪캫캮캯캰캱캲캳캴캵캶캷캸캹캺������캻캼캽캾캿컀컂컃컄컅컆컇컈컉컊컋컌컍컎컏컐컑컒컓컔컕������컖컗컘컙컚컛컜컝컞컟컠컡컢컣컦컧컩컪컭컮컯컰컱컲컳컶컺컻컼컽컾컿가각간갇갈갉갊감갑값갓갔강갖갗같갚갛개객갠갤갬갭갯갰갱갸갹갼걀걋걍걔걘걜거걱건걷걸걺검겁것겄겅겆겉겊겋게겐겔겜겝겟겠겡겨격겪견겯결겸겹겻겼경곁계곈곌곕곗고곡곤곧골곪곬곯곰곱곳공곶과곽관괄괆�\".split(\"\");\nfor(j = 0; j != D[176].length; ++j) if(D[176][j].charCodeAt(0) !== 0xFFFD) { e[D[176][j]] = 45056 + j; d[45056 + j] = D[176][j];}\nD[177] = \"�����������������������������������������������������������������켂켃켅켆켇켉켊켋켌켍켎켏켒켔켖켗켘켙켚켛켝켞켟켡켢켣������켥켦켧켨켩켪켫켮켲켳켴켵켶켷켹켺켻켼켽켾켿콀콁콂콃콄������콅콆콇콈콉콊콋콌콍콎콏콐콑콒콓콖콗콙콚콛콝콞콟콠콡콢콣콦콨콪콫콬괌괍괏광괘괜괠괩괬괭괴괵괸괼굄굅굇굉교굔굘굡굣구국군굳굴굵굶굻굼굽굿궁궂궈궉권궐궜궝궤궷귀귁귄귈귐귑귓규균귤그극근귿글긁금급긋긍긔기긱긴긷길긺김깁깃깅깆깊까깍깎깐깔깖깜깝깟깠깡깥깨깩깬깰깸�\".split(\"\");\nfor(j = 0; j != D[177].length; ++j) if(D[177][j].charCodeAt(0) !== 0xFFFD) { e[D[177][j]] = 45312 + j; d[45312 + j] = D[177][j];}\nD[178] = \"�����������������������������������������������������������������콭콮콯콲콳콵콶콷콹콺콻콼콽콾콿쾁쾂쾃쾄쾆쾇쾈쾉쾊쾋쾍������쾎쾏쾐쾑쾒쾓쾔쾕쾖쾗쾘쾙쾚쾛쾜쾝쾞쾟쾠쾢쾣쾤쾥쾦쾧쾩������쾪쾫쾬쾭쾮쾯쾱쾲쾳쾴쾵쾶쾷쾸쾹쾺쾻쾼쾽쾾쾿쿀쿁쿂쿃쿅쿆쿇쿈쿉쿊쿋깹깻깼깽꺄꺅꺌꺼꺽꺾껀껄껌껍껏껐껑께껙껜껨껫껭껴껸껼꼇꼈꼍꼐꼬꼭꼰꼲꼴꼼꼽꼿꽁꽂꽃꽈꽉꽐꽜꽝꽤꽥꽹꾀꾄꾈꾐꾑꾕꾜꾸꾹꾼꿀꿇꿈꿉꿋꿍꿎꿔꿜꿨꿩꿰꿱꿴꿸뀀뀁뀄뀌뀐뀔뀜뀝뀨끄끅끈끊끌끎끓끔끕끗끙�\".split(\"\");\nfor(j = 0; j != D[178].length; ++j) if(D[178][j].charCodeAt(0) !== 0xFFFD) { e[D[178][j]] = 45568 + j; d[45568 + j] = D[178][j];}\nD[179] = \"�����������������������������������������������������������������쿌쿍쿎쿏쿐쿑쿒쿓쿔쿕쿖쿗쿘쿙쿚쿛쿜쿝쿞쿟쿢쿣쿥쿦쿧쿩������쿪쿫쿬쿭쿮쿯쿲쿴쿶쿷쿸쿹쿺쿻쿽쿾쿿퀁퀂퀃퀅퀆퀇퀈퀉퀊������퀋퀌퀍퀎퀏퀐퀒퀓퀔퀕퀖퀗퀙퀚퀛퀜퀝퀞퀟퀠퀡퀢퀣퀤퀥퀦퀧퀨퀩퀪퀫퀬끝끼끽낀낄낌낍낏낑나낙낚난낟날낡낢남납낫났낭낮낯낱낳내낵낸낼냄냅냇냈냉냐냑냔냘냠냥너넉넋넌널넒넓넘넙넛넜넝넣네넥넨넬넴넵넷넸넹녀녁년녈념녑녔녕녘녜녠노녹논놀놂놈놉놋농높놓놔놘놜놨뇌뇐뇔뇜뇝�\".split(\"\");\nfor(j = 0; j != D[179].length; ++j) if(D[179][j].charCodeAt(0) !== 0xFFFD) { e[D[179][j]] = 45824 + j; d[45824 + j] = D[179][j];}\nD[180] = \"�����������������������������������������������������������������퀮퀯퀰퀱퀲퀳퀶퀷퀹퀺퀻퀽퀾퀿큀큁큂큃큆큈큊큋큌큍큎큏������큑큒큓큕큖큗큙큚큛큜큝큞큟큡큢큣큤큥큦큧큨큩큪큫큮큯������큱큲큳큵큶큷큸큹큺큻큾큿킀킂킃킄킅킆킇킈킉킊킋킌킍킎킏킐킑킒킓킔뇟뇨뇩뇬뇰뇹뇻뇽누눅눈눋눌눔눕눗눙눠눴눼뉘뉜뉠뉨뉩뉴뉵뉼늄늅늉느늑는늘늙늚늠늡늣능늦늪늬늰늴니닉닌닐닒님닙닛닝닢다닥닦단닫달닭닮닯닳담답닷닸당닺닻닿대댁댄댈댐댑댓댔댕댜더덕덖던덛덜덞덟덤덥�\".split(\"\");\nfor(j = 0; j != D[180].length; ++j) if(D[180][j].charCodeAt(0) !== 0xFFFD) { e[D[180][j]] = 46080 + j; d[46080 + j] = D[180][j];}\nD[181] = \"�����������������������������������������������������������������킕킖킗킘킙킚킛킜킝킞킟킠킡킢킣킦킧킩킪킫킭킮킯킰킱킲������킳킶킸킺킻킼킽킾킿탂탃탅탆탇탊탋탌탍탎탏탒탖탗탘탙탚������탛탞탟탡탢탣탥탦탧탨탩탪탫탮탲탳탴탵탶탷탹탺탻탼탽탾탿턀턁턂턃턄덧덩덫덮데덱덴델뎀뎁뎃뎄뎅뎌뎐뎔뎠뎡뎨뎬도독돈돋돌돎돐돔돕돗동돛돝돠돤돨돼됐되된될됨됩됫됴두둑둔둘둠둡둣둥둬뒀뒈뒝뒤뒨뒬뒵뒷뒹듀듄듈듐듕드득든듣들듦듬듭듯등듸디딕딘딛딜딤딥딧딨딩딪따딱딴딸�\".split(\"\");\nfor(j = 0; j != D[181].length; ++j) if(D[181][j].charCodeAt(0) !== 0xFFFD) { e[D[181][j]] = 46336 + j; d[46336 + j] = D[181][j];}\nD[182] = \"�����������������������������������������������������������������턅턆턇턈턉턊턋턌턎턏턐턑턒턓턔턕턖턗턘턙턚턛턜턝턞턟������턠턡턢턣턤턥턦턧턨턩턪턫턬턭턮턯턲턳턵턶턷턹턻턼턽턾������턿텂텆텇텈텉텊텋텎텏텑텒텓텕텖텗텘텙텚텛텞텠텢텣텤텥텦텧텩텪텫텭땀땁땃땄땅땋때땍땐땔땜땝땟땠땡떠떡떤떨떪떫떰떱떳떴떵떻떼떽뗀뗄뗌뗍뗏뗐뗑뗘뗬또똑똔똘똥똬똴뙈뙤뙨뚜뚝뚠뚤뚫뚬뚱뛔뛰뛴뛸뜀뜁뜅뜨뜩뜬뜯뜰뜸뜹뜻띄띈띌띔띕띠띤띨띰띱띳띵라락란랄람랍랏랐랑랒랖랗�\".split(\"\");\nfor(j = 0; j != D[182].length; ++j) if(D[182][j].charCodeAt(0) !== 0xFFFD) { e[D[182][j]] = 46592 + j; d[46592 + j] = D[182][j];}\nD[183] = \"�����������������������������������������������������������������텮텯텰텱텲텳텴텵텶텷텸텹텺텻텽텾텿톀톁톂톃톅톆톇톉톊������톋톌톍톎톏톐톑톒톓톔톕톖톗톘톙톚톛톜톝톞톟톢톣톥톦톧������톩톪톫톬톭톮톯톲톴톶톷톸톹톻톽톾톿퇁퇂퇃퇄퇅퇆퇇퇈퇉퇊퇋퇌퇍퇎퇏래랙랜랠램랩랫랬랭랴략랸럇량러럭런럴럼럽럿렀렁렇레렉렌렐렘렙렛렝려력련렬렴렵렷렸령례롄롑롓로록론롤롬롭롯롱롸롼뢍뢨뢰뢴뢸룀룁룃룅료룐룔룝룟룡루룩룬룰룸룹룻룽뤄뤘뤠뤼뤽륀륄륌륏륑류륙륜률륨륩�\".split(\"\");\nfor(j = 0; j != D[183].length; ++j) if(D[183][j].charCodeAt(0) !== 0xFFFD) { e[D[183][j]] = 46848 + j; d[46848 + j] = D[183][j];}\nD[184] = \"�����������������������������������������������������������������퇐퇑퇒퇓퇔퇕퇖퇗퇙퇚퇛퇜퇝퇞퇟퇠퇡퇢퇣퇤퇥퇦퇧퇨퇩퇪������퇫퇬퇭퇮퇯퇰퇱퇲퇳퇵퇶퇷퇹퇺퇻퇼퇽퇾퇿툀툁툂툃툄툅툆������툈툊툋툌툍툎툏툑툒툓툔툕툖툗툘툙툚툛툜툝툞툟툠툡툢툣툤툥툦툧툨툩륫륭르륵른를름릅릇릉릊릍릎리릭린릴림립릿링마막만많맏말맑맒맘맙맛망맞맡맣매맥맨맬맴맵맷맸맹맺먀먁먈먕머먹먼멀멂멈멉멋멍멎멓메멕멘멜멤멥멧멨멩며멱면멸몃몄명몇몌모목몫몬몰몲몸몹못몽뫄뫈뫘뫙뫼�\".split(\"\");\nfor(j = 0; j != D[184].length; ++j) if(D[184][j].charCodeAt(0) !== 0xFFFD) { e[D[184][j]] = 47104 + j; d[47104 + j] = D[184][j];}\nD[185] = \"�����������������������������������������������������������������툪툫툮툯툱툲툳툵툶툷툸툹툺툻툾퉀퉂퉃퉄퉅퉆퉇퉉퉊퉋퉌������퉍퉎퉏퉐퉑퉒퉓퉔퉕퉖퉗퉘퉙퉚퉛퉝퉞퉟퉠퉡퉢퉣퉥퉦퉧퉨������퉩퉪퉫퉬퉭퉮퉯퉰퉱퉲퉳퉴퉵퉶퉷퉸퉹퉺퉻퉼퉽퉾퉿튂튃튅튆튇튉튊튋튌묀묄묍묏묑묘묜묠묩묫무묵묶문묻물묽묾뭄뭅뭇뭉뭍뭏뭐뭔뭘뭡뭣뭬뮈뮌뮐뮤뮨뮬뮴뮷므믄믈믐믓미믹민믿밀밂밈밉밋밌밍및밑바박밖밗반받발밝밞밟밤밥밧방밭배백밴밸뱀뱁뱃뱄뱅뱉뱌뱍뱐뱝버벅번벋벌벎범법벗�\".split(\"\");\nfor(j = 0; j != D[185].length; ++j) if(D[185][j].charCodeAt(0) !== 0xFFFD) { e[D[185][j]] = 47360 + j; d[47360 + j] = D[185][j];}\nD[186] = \"�����������������������������������������������������������������튍튎튏튒튓튔튖튗튘튙튚튛튝튞튟튡튢튣튥튦튧튨튩튪튫튭������튮튯튰튲튳튴튵튶튷튺튻튽튾틁틃틄틅틆틇틊틌틍틎틏틐틑������틒틓틕틖틗틙틚틛틝틞틟틠틡틢틣틦틧틨틩틪틫틬틭틮틯틲틳틵틶틷틹틺벙벚베벡벤벧벨벰벱벳벴벵벼벽변별볍볏볐병볕볘볜보복볶본볼봄봅봇봉봐봔봤봬뵀뵈뵉뵌뵐뵘뵙뵤뵨부북분붇불붉붊붐붑붓붕붙붚붜붤붰붸뷔뷕뷘뷜뷩뷰뷴뷸븀븃븅브븍븐블븜븝븟비빅빈빌빎빔빕빗빙빚빛빠빡빤�\".split(\"\");\nfor(j = 0; j != D[186].length; ++j) if(D[186][j].charCodeAt(0) !== 0xFFFD) { e[D[186][j]] = 47616 + j; d[47616 + j] = D[186][j];}\nD[187] = \"�����������������������������������������������������������������틻틼틽틾틿팂팄팆팇팈팉팊팋팏팑팒팓팕팗팘팙팚팛팞팢팣������팤팦팧팪팫팭팮팯팱팲팳팴팵팶팷팺팾팿퍀퍁퍂퍃퍆퍇퍈퍉������퍊퍋퍌퍍퍎퍏퍐퍑퍒퍓퍔퍕퍖퍗퍘퍙퍚퍛퍜퍝퍞퍟퍠퍡퍢퍣퍤퍥퍦퍧퍨퍩빨빪빰빱빳빴빵빻빼빽뺀뺄뺌뺍뺏뺐뺑뺘뺙뺨뻐뻑뻔뻗뻘뻠뻣뻤뻥뻬뼁뼈뼉뼘뼙뼛뼜뼝뽀뽁뽄뽈뽐뽑뽕뾔뾰뿅뿌뿍뿐뿔뿜뿟뿡쀼쁑쁘쁜쁠쁨쁩삐삑삔삘삠삡삣삥사삭삯산삳살삵삶삼삽삿샀상샅새색샌샐샘샙샛샜생샤�\".split(\"\");\nfor(j = 0; j != D[187].length; ++j) if(D[187][j].charCodeAt(0) !== 0xFFFD) { e[D[187][j]] = 47872 + j; d[47872 + j] = D[187][j];}\nD[188] = \"�����������������������������������������������������������������퍪퍫퍬퍭퍮퍯퍰퍱퍲퍳퍴퍵퍶퍷퍸퍹퍺퍻퍾퍿펁펂펃펅펆펇������펈펉펊펋펎펒펓펔펕펖펗펚펛펝펞펟펡펢펣펤펥펦펧펪펬펮������펯펰펱펲펳펵펶펷펹펺펻펽펾펿폀폁폂폃폆폇폊폋폌폍폎폏폑폒폓폔폕폖샥샨샬샴샵샷샹섀섄섈섐섕서석섞섟선섣설섦섧섬섭섯섰성섶세섹센셀셈셉셋셌셍셔셕션셜셤셥셧셨셩셰셴셸솅소속솎손솔솖솜솝솟송솥솨솩솬솰솽쇄쇈쇌쇔쇗쇘쇠쇤쇨쇰쇱쇳쇼쇽숀숄숌숍숏숑수숙순숟술숨숩숫숭�\".split(\"\");\nfor(j = 0; j != D[188].length; ++j) if(D[188][j].charCodeAt(0) !== 0xFFFD) { e[D[188][j]] = 48128 + j; d[48128 + j] = D[188][j];}\nD[189] = \"�����������������������������������������������������������������폗폙폚폛폜폝폞폟폠폢폤폥폦폧폨폩폪폫폮폯폱폲폳폵폶폷������폸폹폺폻폾퐀퐂퐃퐄퐅퐆퐇퐉퐊퐋퐌퐍퐎퐏퐐퐑퐒퐓퐔퐕퐖������퐗퐘퐙퐚퐛퐜퐞퐟퐠퐡퐢퐣퐤퐥퐦퐧퐨퐩퐪퐫퐬퐭퐮퐯퐰퐱퐲퐳퐴퐵퐶퐷숯숱숲숴쉈쉐쉑쉔쉘쉠쉥쉬쉭쉰쉴쉼쉽쉿슁슈슉슐슘슛슝스슥슨슬슭슴습슷승시식신싣실싫심십싯싱싶싸싹싻싼쌀쌈쌉쌌쌍쌓쌔쌕쌘쌜쌤쌥쌨쌩썅써썩썬썰썲썸썹썼썽쎄쎈쎌쏀쏘쏙쏜쏟쏠쏢쏨쏩쏭쏴쏵쏸쐈쐐쐤쐬쐰�\".split(\"\");\nfor(j = 0; j != D[189].length; ++j) if(D[189][j].charCodeAt(0) !== 0xFFFD) { e[D[189][j]] = 48384 + j; d[48384 + j] = D[189][j];}\nD[190] = \"�����������������������������������������������������������������퐸퐹퐺퐻퐼퐽퐾퐿푁푂푃푅푆푇푈푉푊푋푌푍푎푏푐푑푒푓������푔푕푖푗푘푙푚푛푝푞푟푡푢푣푥푦푧푨푩푪푫푬푮푰푱푲������푳푴푵푶푷푺푻푽푾풁풃풄풅풆풇풊풌풎풏풐풑풒풓풕풖풗풘풙풚풛풜풝쐴쐼쐽쑈쑤쑥쑨쑬쑴쑵쑹쒀쒔쒜쒸쒼쓩쓰쓱쓴쓸쓺쓿씀씁씌씐씔씜씨씩씬씰씸씹씻씽아악안앉않알앍앎앓암압앗았앙앝앞애액앤앨앰앱앳앴앵야약얀얄얇얌얍얏양얕얗얘얜얠얩어억언얹얻얼얽얾엄업없엇었엉엊엌엎�\".split(\"\");\nfor(j = 0; j != D[190].length; ++j) if(D[190][j].charCodeAt(0) !== 0xFFFD) { e[D[190][j]] = 48640 + j; d[48640 + j] = D[190][j];}\nD[191] = \"�����������������������������������������������������������������풞풟풠풡풢풣풤풥풦풧풨풪풫풬풭풮풯풰풱풲풳풴풵풶풷풸������풹풺풻풼풽풾풿퓀퓁퓂퓃퓄퓅퓆퓇퓈퓉퓊퓋퓍퓎퓏퓑퓒퓓퓕������퓖퓗퓘퓙퓚퓛퓝퓞퓠퓡퓢퓣퓤퓥퓦퓧퓩퓪퓫퓭퓮퓯퓱퓲퓳퓴퓵퓶퓷퓹퓺퓼에엑엔엘엠엡엣엥여역엮연열엶엷염엽엾엿였영옅옆옇예옌옐옘옙옛옜오옥온올옭옮옰옳옴옵옷옹옻와왁완왈왐왑왓왔왕왜왝왠왬왯왱외왹왼욀욈욉욋욍요욕욘욜욤욥욧용우욱운울욹욺움웁웃웅워웍원월웜웝웠웡웨�\".split(\"\");\nfor(j = 0; j != D[191].length; ++j) if(D[191][j].charCodeAt(0) !== 0xFFFD) { e[D[191][j]] = 48896 + j; d[48896 + j] = D[191][j];}\nD[192] = \"�����������������������������������������������������������������퓾퓿픀픁픂픃픅픆픇픉픊픋픍픎픏픐픑픒픓픖픘픙픚픛픜픝������픞픟픠픡픢픣픤픥픦픧픨픩픪픫픬픭픮픯픰픱픲픳픴픵픶픷������픸픹픺픻픾픿핁핂핃핅핆핇핈핉핊핋핎핐핒핓핔핕핖핗핚핛핝핞핟핡핢핣웩웬웰웸웹웽위윅윈윌윔윕윗윙유육윤율윰윱윳융윷으윽은을읊음읍읏응읒읓읔읕읖읗의읜읠읨읫이익인일읽읾잃임입잇있잉잊잎자작잔잖잗잘잚잠잡잣잤장잦재잭잰잴잼잽잿쟀쟁쟈쟉쟌쟎쟐쟘쟝쟤쟨쟬저적전절젊�\".split(\"\");\nfor(j = 0; j != D[192].length; ++j) if(D[192][j].charCodeAt(0) !== 0xFFFD) { e[D[192][j]] = 49152 + j; d[49152 + j] = D[192][j];}\nD[193] = \"�����������������������������������������������������������������핤핦핧핪핬핮핯핰핱핲핳핶핷핹핺핻핽핾핿햀햁햂햃햆햊햋������햌햍햎햏햑햒햓햔햕햖햗햘햙햚햛햜햝햞햟햠햡햢햣햤햦햧������햨햩햪햫햬햭햮햯햰햱햲햳햴햵햶햷햸햹햺햻햼햽햾햿헀헁헂헃헄헅헆헇점접젓정젖제젝젠젤젬젭젯젱져젼졀졈졉졌졍졔조족존졸졺좀좁좃종좆좇좋좌좍좔좝좟좡좨좼좽죄죈죌죔죕죗죙죠죡죤죵주죽준줄줅줆줌줍줏중줘줬줴쥐쥑쥔쥘쥠쥡쥣쥬쥰쥴쥼즈즉즌즐즘즙즛증지직진짇질짊짐집짓�\".split(\"\");\nfor(j = 0; j != D[193].length; ++j) if(D[193][j].charCodeAt(0) !== 0xFFFD) { e[D[193][j]] = 49408 + j; d[49408 + j] = D[193][j];}\nD[194] = \"�����������������������������������������������������������������헊헋헍헎헏헑헓헔헕헖헗헚헜헞헟헠헡헢헣헦헧헩헪헫헭헮������헯헰헱헲헳헶헸헺헻헼헽헾헿혂혃혅혆혇혉혊혋혌혍혎혏혒������혖혗혘혙혚혛혝혞혟혡혢혣혥혦혧혨혩혪혫혬혮혯혰혱혲혳혴혵혶혷혺혻징짖짙짚짜짝짠짢짤짧짬짭짯짰짱째짹짼쨀쨈쨉쨋쨌쨍쨔쨘쨩쩌쩍쩐쩔쩜쩝쩟쩠쩡쩨쩽쪄쪘쪼쪽쫀쫄쫌쫍쫏쫑쫓쫘쫙쫠쫬쫴쬈쬐쬔쬘쬠쬡쭁쭈쭉쭌쭐쭘쭙쭝쭤쭸쭹쮜쮸쯔쯤쯧쯩찌찍찐찔찜찝찡찢찧차착찬찮찰참찹찻�\".split(\"\");\nfor(j = 0; j != D[194].length; ++j) if(D[194][j].charCodeAt(0) !== 0xFFFD) { e[D[194][j]] = 49664 + j; d[49664 + j] = D[194][j];}\nD[195] = \"�����������������������������������������������������������������혽혾혿홁홂홃홄홆홇홊홌홎홏홐홒홓홖홗홙홚홛홝홞홟홠홡������홢홣홤홥홦홨홪홫홬홭홮홯홲홳홵홶홷홸홹홺홻홼홽홾홿횀������횁횂횄횆횇횈횉횊횋횎횏횑횒횓횕횖횗횘횙횚횛횜횞횠횢횣횤횥횦횧횩횪찼창찾채책챈챌챔챕챗챘챙챠챤챦챨챰챵처척천철첨첩첫첬청체첵첸첼쳄쳅쳇쳉쳐쳔쳤쳬쳰촁초촉촌촐촘촙촛총촤촨촬촹최쵠쵤쵬쵭쵯쵱쵸춈추축춘출춤춥춧충춰췄췌췐취췬췰췸췹췻췽츄츈츌츔츙츠측츤츨츰츱츳층�\".split(\"\");\nfor(j = 0; j != D[195].length; ++j) if(D[195][j].charCodeAt(0) !== 0xFFFD) { e[D[195][j]] = 49920 + j; d[49920 + j] = D[195][j];}\nD[196] = \"�����������������������������������������������������������������횫횭횮횯횱횲횳횴횵횶횷횸횺횼횽횾횿훀훁훂훃훆훇훉훊훋������훍훎훏훐훒훓훕훖훘훚훛훜훝훞훟훡훢훣훥훦훧훩훪훫훬훭������훮훯훱훲훳훴훶훷훸훹훺훻훾훿휁휂휃휅휆휇휈휉휊휋휌휍휎휏휐휒휓휔치칙친칟칠칡침칩칫칭카칵칸칼캄캅캇캉캐캑캔캘캠캡캣캤캥캬캭컁커컥컨컫컬컴컵컷컸컹케켁켄켈켐켑켓켕켜켠켤켬켭켯켰켱켸코콕콘콜콤콥콧콩콰콱콴콸쾀쾅쾌쾡쾨쾰쿄쿠쿡쿤쿨쿰쿱쿳쿵쿼퀀퀄퀑퀘퀭퀴퀵퀸퀼�\".split(\"\");\nfor(j = 0; j != D[196].length; ++j) if(D[196][j].charCodeAt(0) !== 0xFFFD) { e[D[196][j]] = 50176 + j; d[50176 + j] = D[196][j];}\nD[197] = \"�����������������������������������������������������������������휕휖휗휚휛휝휞휟휡휢휣휤휥휦휧휪휬휮휯휰휱휲휳휶휷휹������휺휻휽휾휿흀흁흂흃흅흆흈흊흋흌흍흎흏흒흓흕흚흛흜흝흞������흟흢흤흦흧흨흪흫흭흮흯흱흲흳흵흶흷흸흹흺흻흾흿힀힂힃힄힅힆힇힊힋큄큅큇큉큐큔큘큠크큭큰클큼큽킁키킥킨킬킴킵킷킹타탁탄탈탉탐탑탓탔탕태택탠탤탬탭탯탰탱탸턍터턱턴털턺텀텁텃텄텅테텍텐텔템텝텟텡텨텬텼톄톈토톡톤톨톰톱톳통톺톼퇀퇘퇴퇸툇툉툐투툭툰툴툼툽툿퉁퉈퉜�\".split(\"\");\nfor(j = 0; j != D[197].length; ++j) if(D[197][j].charCodeAt(0) !== 0xFFFD) { e[D[197][j]] = 50432 + j; d[50432 + j] = D[197][j];}\nD[198] = \"�����������������������������������������������������������������힍힎힏힑힒힓힔힕힖힗힚힜힞힟힠힡힢힣������������������������������������������������������������������������������퉤튀튁튄튈튐튑튕튜튠튤튬튱트특튼튿틀틂틈틉틋틔틘틜틤틥티틱틴틸팀팁팃팅파팍팎판팔팖팜팝팟팠팡팥패팩팬팰팸팹팻팼팽퍄퍅퍼퍽펀펄펌펍펏펐펑페펙펜펠펨펩펫펭펴편펼폄폅폈평폐폘폡폣포폭폰폴폼폽폿퐁�\".split(\"\");\nfor(j = 0; j != D[198].length; ++j) if(D[198][j].charCodeAt(0) !== 0xFFFD) { e[D[198][j]] = 50688 + j; d[50688 + j] = D[198][j];}\nD[199] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������퐈퐝푀푄표푠푤푭푯푸푹푼푿풀풂품풉풋풍풔풩퓌퓐퓔퓜퓟퓨퓬퓰퓸퓻퓽프픈플픔픕픗피픽핀필핌핍핏핑하학한할핥함합핫항해핵핸핼햄햅햇했행햐향허헉헌헐헒험헙헛헝헤헥헨헬헴헵헷헹혀혁현혈혐협혓혔형혜혠�\".split(\"\");\nfor(j = 0; j != D[199].length; ++j) if(D[199][j].charCodeAt(0) !== 0xFFFD) { e[D[199][j]] = 50944 + j; d[50944 + j] = D[199][j];}\nD[200] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������혤혭호혹혼홀홅홈홉홋홍홑화확환활홧황홰홱홴횃횅회획횐횔횝횟횡효횬횰횹횻후훅훈훌훑훔훗훙훠훤훨훰훵훼훽휀휄휑휘휙휜휠휨휩휫휭휴휵휸휼흄흇흉흐흑흔흖흗흘흙흠흡흣흥흩희흰흴흼흽힁히힉힌힐힘힙힛힝�\".split(\"\");\nfor(j = 0; j != D[200].length; ++j) if(D[200][j].charCodeAt(0) !== 0xFFFD) { e[D[200][j]] = 51200 + j; d[51200 + j] = D[200][j];}\nD[202] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������伽佳假價加可呵哥嘉嫁家暇架枷柯歌珂痂稼苛茄街袈訶賈跏軻迦駕刻却各恪慤殼珏脚覺角閣侃刊墾奸姦干幹懇揀杆柬桿澗癎看磵稈竿簡肝艮艱諫間乫喝曷渴碣竭葛褐蝎鞨勘坎堪嵌感憾戡敢柑橄減甘疳監瞰紺邯鑑鑒龕�\".split(\"\");\nfor(j = 0; j != D[202].length; ++j) if(D[202][j].charCodeAt(0) !== 0xFFFD) { e[D[202][j]] = 51712 + j; d[51712 + j] = D[202][j];}\nD[203] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������匣岬甲胛鉀閘剛堈姜岡崗康强彊慷江畺疆糠絳綱羌腔舡薑襁講鋼降鱇介价個凱塏愷愾慨改槪漑疥皆盖箇芥蓋豈鎧開喀客坑更粳羹醵倨去居巨拒据據擧渠炬祛距踞車遽鉅鋸乾件健巾建愆楗腱虔蹇鍵騫乞傑杰桀儉劍劒檢�\".split(\"\");\nfor(j = 0; j != D[203].length; ++j) if(D[203][j].charCodeAt(0) !== 0xFFFD) { e[D[203][j]] = 51968 + j; d[51968 + j] = D[203][j];}\nD[204] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������瞼鈐黔劫怯迲偈憩揭擊格檄激膈覡隔堅牽犬甄絹繭肩見譴遣鵑抉決潔結缺訣兼慊箝謙鉗鎌京俓倞傾儆勁勍卿坰境庚徑慶憬擎敬景暻更梗涇炅烱璟璥瓊痙硬磬竟競絅經耕耿脛莖警輕逕鏡頃頸驚鯨係啓堺契季屆悸戒桂械�\".split(\"\");\nfor(j = 0; j != D[204].length; ++j) if(D[204][j].charCodeAt(0) !== 0xFFFD) { e[D[204][j]] = 52224 + j; d[52224 + j] = D[204][j];}\nD[205] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������棨溪界癸磎稽系繫繼計誡谿階鷄古叩告呱固姑孤尻庫拷攷故敲暠枯槁沽痼皐睾稿羔考股膏苦苽菰藁蠱袴誥賈辜錮雇顧高鼓哭斛曲梏穀谷鵠困坤崑昆梱棍滾琨袞鯤汨滑骨供公共功孔工恐恭拱控攻珙空蚣貢鞏串寡戈果瓜�\".split(\"\");\nfor(j = 0; j != D[205].length; ++j) if(D[205][j].charCodeAt(0) !== 0xFFFD) { e[D[205][j]] = 52480 + j; d[52480 + j] = D[205][j];}\nD[206] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������科菓誇課跨過鍋顆廓槨藿郭串冠官寬慣棺款灌琯瓘管罐菅觀貫關館刮恝括适侊光匡壙廣曠洸炚狂珖筐胱鑛卦掛罫乖傀塊壞怪愧拐槐魁宏紘肱轟交僑咬喬嬌嶠巧攪敎校橋狡皎矯絞翹膠蕎蛟較轎郊餃驕鮫丘久九仇俱具勾�\".split(\"\");\nfor(j = 0; j != D[206].length; ++j) if(D[206][j].charCodeAt(0) !== 0xFFFD) { e[D[206][j]] = 52736 + j; d[52736 + j] = D[206][j];}\nD[207] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������區口句咎嘔坵垢寇嶇廐懼拘救枸柩構歐毆毬求溝灸狗玖球瞿矩究絿耉臼舅舊苟衢謳購軀逑邱鉤銶駒驅鳩鷗龜國局菊鞠鞫麴君窘群裙軍郡堀屈掘窟宮弓穹窮芎躬倦券勸卷圈拳捲權淃眷厥獗蕨蹶闕机櫃潰詭軌饋句晷歸貴�\".split(\"\");\nfor(j = 0; j != D[207].length; ++j) if(D[207][j].charCodeAt(0) !== 0xFFFD) { e[D[207][j]] = 52992 + j; d[52992 + j] = D[207][j];}\nD[208] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������鬼龜叫圭奎揆槻珪硅窺竅糾葵規赳逵閨勻均畇筠菌鈞龜橘克剋劇戟棘極隙僅劤勤懃斤根槿瑾筋芹菫覲謹近饉契今妗擒昑檎琴禁禽芩衾衿襟金錦伋及急扱汲級給亘兢矜肯企伎其冀嗜器圻基埼夔奇妓寄岐崎己幾忌技旗旣�\".split(\"\");\nfor(j = 0; j != D[208].length; ++j) if(D[208][j].charCodeAt(0) !== 0xFFFD) { e[D[208][j]] = 53248 + j; d[53248 + j] = D[208][j];}\nD[209] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������朞期杞棋棄機欺氣汽沂淇玘琦琪璂璣畸畿碁磯祁祇祈祺箕紀綺羈耆耭肌記譏豈起錡錤飢饑騎騏驥麒緊佶吉拮桔金喫儺喇奈娜懦懶拏拿癩羅蘿螺裸邏那樂洛烙珞落諾酪駱亂卵暖欄煖爛蘭難鸞捏捺南嵐枏楠湳濫男藍襤拉�\".split(\"\");\nfor(j = 0; j != D[209].length; ++j) if(D[209][j].charCodeAt(0) !== 0xFFFD) { e[D[209][j]] = 53504 + j; d[53504 + j] = D[209][j];}\nD[210] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������納臘蠟衲囊娘廊朗浪狼郎乃來內奈柰耐冷女年撚秊念恬拈捻寧寗努勞奴弩怒擄櫓爐瑙盧老蘆虜路露駑魯鷺碌祿綠菉錄鹿論壟弄濃籠聾膿農惱牢磊腦賂雷尿壘屢樓淚漏累縷陋嫩訥杻紐勒肋凜凌稜綾能菱陵尼泥匿溺多茶�\".split(\"\");\nfor(j = 0; j != D[210].length; ++j) if(D[210][j].charCodeAt(0) !== 0xFFFD) { e[D[210][j]] = 53760 + j; d[53760 + j] = D[210][j];}\nD[211] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������丹亶但單團壇彖斷旦檀段湍短端簞緞蛋袒鄲鍛撻澾獺疸達啖坍憺擔曇淡湛潭澹痰聃膽蕁覃談譚錟沓畓答踏遝唐堂塘幢戇撞棠當糖螳黨代垈坮大對岱帶待戴擡玳臺袋貸隊黛宅德悳倒刀到圖堵塗導屠島嶋度徒悼挑掉搗桃�\".split(\"\");\nfor(j = 0; j != D[211].length; ++j) if(D[211][j].charCodeAt(0) !== 0xFFFD) { e[D[211][j]] = 54016 + j; d[54016 + j] = D[211][j];}\nD[212] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������棹櫂淘渡滔濤燾盜睹禱稻萄覩賭跳蹈逃途道都鍍陶韜毒瀆牘犢獨督禿篤纛讀墩惇敦旽暾沌焞燉豚頓乭突仝冬凍動同憧東桐棟洞潼疼瞳童胴董銅兜斗杜枓痘竇荳讀豆逗頭屯臀芚遁遯鈍得嶝橙燈登等藤謄鄧騰喇懶拏癩羅�\".split(\"\");\nfor(j = 0; j != D[212].length; ++j) if(D[212][j].charCodeAt(0) !== 0xFFFD) { e[D[212][j]] = 54272 + j; d[54272 + j] = D[212][j];}\nD[213] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������蘿螺裸邏樂洛烙珞絡落諾酪駱丹亂卵欄欒瀾爛蘭鸞剌辣嵐擥攬欖濫籃纜藍襤覽拉臘蠟廊朗浪狼琅瑯螂郞來崍徠萊冷掠略亮倆兩凉梁樑粮粱糧良諒輛量侶儷勵呂廬慮戾旅櫚濾礪藜蠣閭驢驪麗黎力曆歷瀝礫轢靂憐戀攣漣�\".split(\"\");\nfor(j = 0; j != D[213].length; ++j) if(D[213][j].charCodeAt(0) !== 0xFFFD) { e[D[213][j]] = 54528 + j; d[54528 + j] = D[213][j];}\nD[214] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������煉璉練聯蓮輦連鍊冽列劣洌烈裂廉斂殮濂簾獵令伶囹寧岺嶺怜玲笭羚翎聆逞鈴零靈領齡例澧禮醴隷勞怒撈擄櫓潞瀘爐盧老蘆虜路輅露魯鷺鹵碌祿綠菉錄鹿麓論壟弄朧瀧瓏籠聾儡瀨牢磊賂賚賴雷了僚寮廖料燎療瞭聊蓼�\".split(\"\");\nfor(j = 0; j != D[214].length; ++j) if(D[214][j].charCodeAt(0) !== 0xFFFD) { e[D[214][j]] = 54784 + j; d[54784 + j] = D[214][j];}\nD[215] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������遼鬧龍壘婁屢樓淚漏瘻累縷蔞褸鏤陋劉旒柳榴流溜瀏琉瑠留瘤硫謬類六戮陸侖倫崙淪綸輪律慄栗率隆勒肋凜凌楞稜綾菱陵俚利厘吏唎履悧李梨浬犁狸理璃異痢籬罹羸莉裏裡里釐離鯉吝潾燐璘藺躪隣鱗麟林淋琳臨霖砬�\".split(\"\");\nfor(j = 0; j != D[215].length; ++j) if(D[215][j].charCodeAt(0) !== 0xFFFD) { e[D[215][j]] = 55040 + j; d[55040 + j] = D[215][j];}\nD[216] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������立笠粒摩瑪痲碼磨馬魔麻寞幕漠膜莫邈万卍娩巒彎慢挽晩曼滿漫灣瞞萬蔓蠻輓饅鰻唜抹末沫茉襪靺亡妄忘忙望網罔芒茫莽輞邙埋妹媒寐昧枚梅每煤罵買賣邁魅脈貊陌驀麥孟氓猛盲盟萌冪覓免冕勉棉沔眄眠綿緬面麵滅�\".split(\"\");\nfor(j = 0; j != D[216].length; ++j) if(D[216][j].charCodeAt(0) !== 0xFFFD) { e[D[216][j]] = 55296 + j; d[55296 + j] = D[216][j];}\nD[217] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������蔑冥名命明暝椧溟皿瞑茗蓂螟酩銘鳴袂侮冒募姆帽慕摸摹暮某模母毛牟牡瑁眸矛耗芼茅謀謨貌木沐牧目睦穆鶩歿沒夢朦蒙卯墓妙廟描昴杳渺猫竗苗錨務巫憮懋戊拇撫无楙武毋無珷畝繆舞茂蕪誣貿霧鵡墨默們刎吻問文�\".split(\"\");\nfor(j = 0; j != D[217].length; ++j) if(D[217][j].charCodeAt(0) !== 0xFFFD) { e[D[217][j]] = 55552 + j; d[55552 + j] = D[217][j];}\nD[218] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������汶紊紋聞蚊門雯勿沕物味媚尾嵋彌微未梶楣渼湄眉米美薇謎迷靡黴岷悶愍憫敏旻旼民泯玟珉緡閔密蜜謐剝博拍搏撲朴樸泊珀璞箔粕縛膊舶薄迫雹駁伴半反叛拌搬攀斑槃泮潘班畔瘢盤盼磐磻礬絆般蟠返頒飯勃拔撥渤潑�\".split(\"\");\nfor(j = 0; j != D[218].length; ++j) if(D[218][j].charCodeAt(0) !== 0xFFFD) { e[D[218][j]] = 55808 + j; d[55808 + j] = D[218][j];}\nD[219] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������發跋醱鉢髮魃倣傍坊妨尨幇彷房放方旁昉枋榜滂磅紡肪膀舫芳蒡蚌訪謗邦防龐倍俳北培徘拜排杯湃焙盃背胚裴裵褙賠輩配陪伯佰帛柏栢白百魄幡樊煩燔番磻繁蕃藩飜伐筏罰閥凡帆梵氾汎泛犯範范法琺僻劈壁擘檗璧癖�\".split(\"\");\nfor(j = 0; j != D[219].length; ++j) if(D[219][j].charCodeAt(0) !== 0xFFFD) { e[D[219][j]] = 56064 + j; d[56064 + j] = D[219][j];}\nD[220] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������碧蘗闢霹便卞弁變辨辯邊別瞥鱉鼈丙倂兵屛幷昞昺柄棅炳甁病秉竝輧餠騈保堡報寶普步洑湺潽珤甫菩補褓譜輔伏僕匐卜宓復服福腹茯蔔複覆輹輻馥鰒本乶俸奉封峯峰捧棒烽熢琫縫蓬蜂逢鋒鳳不付俯傅剖副否咐埠夫婦�\".split(\"\");\nfor(j = 0; j != D[220].length; ++j) if(D[220][j].charCodeAt(0) !== 0xFFFD) { e[D[220][j]] = 56320 + j; d[56320 + j] = D[220][j];}\nD[221] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������孚孵富府復扶敷斧浮溥父符簿缶腐腑膚艀芙莩訃負賦賻赴趺部釜阜附駙鳧北分吩噴墳奔奮忿憤扮昐汾焚盆粉糞紛芬賁雰不佛弗彿拂崩朋棚硼繃鵬丕備匕匪卑妃婢庇悲憊扉批斐枇榧比毖毗毘沸泌琵痺砒碑秕秘粃緋翡肥�\".split(\"\");\nfor(j = 0; j != D[221].length; ++j) if(D[221][j].charCodeAt(0) !== 0xFFFD) { e[D[221][j]] = 56576 + j; d[56576 + j] = D[221][j];}\nD[222] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������脾臂菲蜚裨誹譬費鄙非飛鼻嚬嬪彬斌檳殯浜濱瀕牝玭貧賓頻憑氷聘騁乍事些仕伺似使俟僿史司唆嗣四士奢娑寫寺射巳師徙思捨斜斯柶査梭死沙泗渣瀉獅砂社祀祠私篩紗絲肆舍莎蓑蛇裟詐詞謝賜赦辭邪飼駟麝削數朔索�\".split(\"\");\nfor(j = 0; j != D[222].length; ++j) if(D[222][j].charCodeAt(0) !== 0xFFFD) { e[D[222][j]] = 56832 + j; d[56832 + j] = D[222][j];}\nD[223] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������傘刪山散汕珊産疝算蒜酸霰乷撒殺煞薩三參杉森渗芟蔘衫揷澁鈒颯上傷像償商喪嘗孀尙峠常床庠廂想桑橡湘爽牀狀相祥箱翔裳觴詳象賞霜塞璽賽嗇塞穡索色牲生甥省笙墅壻嶼序庶徐恕抒捿敍暑曙書栖棲犀瑞筮絮緖署�\".split(\"\");\nfor(j = 0; j != D[223].length; ++j) if(D[223][j].charCodeAt(0) !== 0xFFFD) { e[D[223][j]] = 57088 + j; d[57088 + j] = D[223][j];}\nD[224] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������胥舒薯西誓逝鋤黍鼠夕奭席惜昔晳析汐淅潟石碩蓆釋錫仙僊先善嬋宣扇敾旋渲煽琁瑄璇璿癬禪線繕羨腺膳船蘚蟬詵跣選銑鐥饍鮮卨屑楔泄洩渫舌薛褻設說雪齧剡暹殲纖蟾贍閃陝攝涉燮葉城姓宬性惺成星晟猩珹盛省筬�\".split(\"\");\nfor(j = 0; j != D[224].length; ++j) if(D[224][j].charCodeAt(0) !== 0xFFFD) { e[D[224][j]] = 57344 + j; d[57344 + j] = D[224][j];}\nD[225] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������聖聲腥誠醒世勢歲洗稅笹細說貰召嘯塑宵小少巢所掃搔昭梳沼消溯瀟炤燒甦疏疎瘙笑篠簫素紹蔬蕭蘇訴逍遡邵銷韶騷俗屬束涑粟續謖贖速孫巽損蓀遜飡率宋悚松淞訟誦送頌刷殺灑碎鎖衰釗修受嗽囚垂壽嫂守岫峀帥愁�\".split(\"\");\nfor(j = 0; j != D[225].length; ++j) if(D[225][j].charCodeAt(0) !== 0xFFFD) { e[D[225][j]] = 57600 + j; d[57600 + j] = D[225][j];}\nD[226] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������戍手授搜收數樹殊水洙漱燧狩獸琇璲瘦睡秀穗竪粹綏綬繡羞脩茱蒐蓚藪袖誰讐輸遂邃酬銖銹隋隧隨雖需須首髓鬚叔塾夙孰宿淑潚熟琡璹肅菽巡徇循恂旬栒楯橓殉洵淳珣盾瞬筍純脣舜荀蓴蕣詢諄醇錞順馴戌術述鉥崇崧�\".split(\"\");\nfor(j = 0; j != D[226].length; ++j) if(D[226][j].charCodeAt(0) !== 0xFFFD) { e[D[226][j]] = 57856 + j; d[57856 + j] = D[226][j];}\nD[227] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������嵩瑟膝蝨濕拾習褶襲丞乘僧勝升承昇繩蠅陞侍匙嘶始媤尸屎屍市弑恃施是時枾柴猜矢示翅蒔蓍視試詩諡豕豺埴寔式息拭植殖湜熄篒蝕識軾食飾伸侁信呻娠宸愼新晨燼申神紳腎臣莘薪藎蜃訊身辛辰迅失室實悉審尋心沁�\".split(\"\");\nfor(j = 0; j != D[227].length; ++j) if(D[227][j].charCodeAt(0) !== 0xFFFD) { e[D[227][j]] = 58112 + j; d[58112 + j] = D[227][j];}\nD[228] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������沈深瀋甚芯諶什十拾雙氏亞俄兒啞娥峨我牙芽莪蛾衙訝阿雅餓鴉鵝堊岳嶽幄惡愕握樂渥鄂鍔顎鰐齷安岸按晏案眼雁鞍顔鮟斡謁軋閼唵岩巖庵暗癌菴闇壓押狎鴨仰央怏昻殃秧鴦厓哀埃崖愛曖涯碍艾隘靄厄扼掖液縊腋額�\".split(\"\");\nfor(j = 0; j != D[228].length; ++j) if(D[228][j].charCodeAt(0) !== 0xFFFD) { e[D[228][j]] = 58368 + j; d[58368 + j] = D[228][j];}\nD[229] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������櫻罌鶯鸚也倻冶夜惹揶椰爺耶若野弱掠略約若葯蒻藥躍亮佯兩凉壤孃恙揚攘敭暘梁楊樣洋瀁煬痒瘍禳穰糧羊良襄諒讓釀陽量養圄御於漁瘀禦語馭魚齬億憶抑檍臆偃堰彦焉言諺孼蘖俺儼嚴奄掩淹嶪業円予余勵呂女如廬�\".split(\"\");\nfor(j = 0; j != D[229].length; ++j) if(D[229][j].charCodeAt(0) !== 0xFFFD) { e[D[229][j]] = 58624 + j; d[58624 + j] = D[229][j];}\nD[230] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������旅歟汝濾璵礖礪與艅茹輿轝閭餘驪麗黎亦力域役易曆歷疫繹譯轢逆驛嚥堧姸娟宴年延憐戀捐挻撚椽沇沿涎涓淵演漣烟然煙煉燃燕璉硏硯秊筵緣練縯聯衍軟輦蓮連鉛鍊鳶列劣咽悅涅烈熱裂說閱厭廉念捻染殮炎焰琰艶苒�\".split(\"\");\nfor(j = 0; j != D[230].length; ++j) if(D[230][j].charCodeAt(0) !== 0xFFFD) { e[D[230][j]] = 58880 + j; d[58880 + j] = D[230][j];}\nD[231] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������簾閻髥鹽曄獵燁葉令囹塋寧嶺嶸影怜映暎楹榮永泳渶潁濚瀛瀯煐營獰玲瑛瑩瓔盈穎纓羚聆英詠迎鈴鍈零霙靈領乂倪例刈叡曳汭濊猊睿穢芮藝蘂禮裔詣譽豫醴銳隸霓預五伍俉傲午吾吳嗚塢墺奧娛寤悟惡懊敖旿晤梧汚澳�\".split(\"\");\nfor(j = 0; j != D[231].length; ++j) if(D[231][j].charCodeAt(0) !== 0xFFFD) { e[D[231][j]] = 59136 + j; d[59136 + j] = D[231][j];}\nD[232] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������烏熬獒筽蜈誤鰲鼇屋沃獄玉鈺溫瑥瘟穩縕蘊兀壅擁瓮甕癰翁邕雍饔渦瓦窩窪臥蛙蝸訛婉完宛梡椀浣玩琓琬碗緩翫脘腕莞豌阮頑曰往旺枉汪王倭娃歪矮外嵬巍猥畏了僚僥凹堯夭妖姚寥寮尿嶢拗搖撓擾料曜樂橈燎燿瑤療�\".split(\"\");\nfor(j = 0; j != D[232].length; ++j) if(D[232][j].charCodeAt(0) !== 0xFFFD) { e[D[232][j]] = 59392 + j; d[59392 + j] = D[232][j];}\nD[233] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������窈窯繇繞耀腰蓼蟯要謠遙遼邀饒慾欲浴縟褥辱俑傭冗勇埇墉容庸慂榕涌湧溶熔瑢用甬聳茸蓉踊鎔鏞龍于佑偶優又友右宇寓尤愚憂旴牛玗瑀盂祐禑禹紆羽芋藕虞迂遇郵釪隅雨雩勖彧旭昱栯煜稶郁頊云暈橒殞澐熉耘芸蕓�\".split(\"\");\nfor(j = 0; j != D[233].length; ++j) if(D[233][j].charCodeAt(0) !== 0xFFFD) { e[D[233][j]] = 59648 + j; d[59648 + j] = D[233][j];}\nD[234] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������運隕雲韻蔚鬱亐熊雄元原員圓園垣媛嫄寃怨愿援沅洹湲源爰猿瑗苑袁轅遠阮院願鴛月越鉞位偉僞危圍委威尉慰暐渭爲瑋緯胃萎葦蔿蝟衛褘謂違韋魏乳侑儒兪劉唯喩孺宥幼幽庾悠惟愈愉揄攸有杻柔柚柳楡楢油洧流游溜�\".split(\"\");\nfor(j = 0; j != D[234].length; ++j) if(D[234][j].charCodeAt(0) !== 0xFFFD) { e[D[234][j]] = 59904 + j; d[59904 + j] = D[234][j];}\nD[235] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������濡猶猷琉瑜由留癒硫紐維臾萸裕誘諛諭踰蹂遊逾遺酉釉鍮類六堉戮毓肉育陸倫允奫尹崙淪潤玧胤贇輪鈗閏律慄栗率聿戎瀜絨融隆垠恩慇殷誾銀隱乙吟淫蔭陰音飮揖泣邑凝應膺鷹依倚儀宜意懿擬椅毅疑矣義艤薏蟻衣誼�\".split(\"\");\nfor(j = 0; j != D[235].length; ++j) if(D[235][j].charCodeAt(0) !== 0xFFFD) { e[D[235][j]] = 60160 + j; d[60160 + j] = D[235][j];}\nD[236] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������議醫二以伊利吏夷姨履已弛彛怡易李梨泥爾珥理異痍痢移罹而耳肄苡荑裏裡貽貳邇里離飴餌匿溺瀷益翊翌翼謚人仁刃印吝咽因姻寅引忍湮燐璘絪茵藺蚓認隣靭靷鱗麟一佚佾壹日溢逸鎰馹任壬妊姙恁林淋稔臨荏賃入卄�\".split(\"\");\nfor(j = 0; j != D[236].length; ++j) if(D[236][j].charCodeAt(0) !== 0xFFFD) { e[D[236][j]] = 60416 + j; d[60416 + j] = D[236][j];}\nD[237] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������立笠粒仍剩孕芿仔刺咨姉姿子字孜恣慈滋炙煮玆瓷疵磁紫者自茨蔗藉諮資雌作勺嚼斫昨灼炸爵綽芍酌雀鵲孱棧殘潺盞岑暫潛箴簪蠶雜丈仗匠場墻壯奬將帳庄張掌暲杖樟檣欌漿牆狀獐璋章粧腸臟臧莊葬蔣薔藏裝贓醬長�\".split(\"\");\nfor(j = 0; j != D[237].length; ++j) if(D[237][j].charCodeAt(0) !== 0xFFFD) { e[D[237][j]] = 60672 + j; d[60672 + j] = D[237][j];}\nD[238] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������障再哉在宰才材栽梓渽滓災縡裁財載齋齎爭箏諍錚佇低儲咀姐底抵杵楮樗沮渚狙猪疽箸紵苧菹著藷詛貯躇這邸雎齟勣吊嫡寂摘敵滴狄炙的積笛籍績翟荻謫賊赤跡蹟迪迹適鏑佃佺傳全典前剪塡塼奠專展廛悛戰栓殿氈澱�\".split(\"\");\nfor(j = 0; j != D[238].length; ++j) if(D[238][j].charCodeAt(0) !== 0xFFFD) { e[D[238][j]] = 60928 + j; d[60928 + j] = D[238][j];}\nD[239] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������煎琠田甸畑癲筌箋箭篆纏詮輾轉鈿銓錢鐫電顚顫餞切截折浙癤竊節絶占岾店漸点粘霑鮎點接摺蝶丁井亭停偵呈姃定幀庭廷征情挺政整旌晶晸柾楨檉正汀淀淨渟湞瀞炡玎珽町睛碇禎程穽精綎艇訂諪貞鄭酊釘鉦鋌錠霆靖�\".split(\"\");\nfor(j = 0; j != D[239].length; ++j) if(D[239][j].charCodeAt(0) !== 0xFFFD) { e[D[239][j]] = 61184 + j; d[61184 + j] = D[239][j];}\nD[240] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������靜頂鼎制劑啼堤帝弟悌提梯濟祭第臍薺製諸蹄醍除際霽題齊俎兆凋助嘲弔彫措操早晁曺曹朝條棗槽漕潮照燥爪璪眺祖祚租稠窕粗糟組繰肇藻蚤詔調趙躁造遭釣阻雕鳥族簇足鏃存尊卒拙猝倧宗從悰慫棕淙琮種終綜縱腫�\".split(\"\");\nfor(j = 0; j != D[240].length; ++j) if(D[240][j].charCodeAt(0) !== 0xFFFD) { e[D[240][j]] = 61440 + j; d[61440 + j] = D[240][j];}\nD[241] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������踪踵鍾鐘佐坐左座挫罪主住侏做姝胄呪周嗾奏宙州廚晝朱柱株注洲湊澍炷珠疇籌紂紬綢舟蛛註誅走躊輳週酎酒鑄駐竹粥俊儁准埈寯峻晙樽浚準濬焌畯竣蠢逡遵雋駿茁中仲衆重卽櫛楫汁葺增憎曾拯烝甑症繒蒸證贈之只�\".split(\"\");\nfor(j = 0; j != D[241].length; ++j) if(D[241][j].charCodeAt(0) !== 0xFFFD) { e[D[241][j]] = 61696 + j; d[61696 + j] = D[241][j];}\nD[242] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������咫地址志持指摯支旨智枝枳止池沚漬知砥祉祗紙肢脂至芝芷蜘誌識贄趾遲直稙稷織職唇嗔塵振搢晉晋桭榛殄津溱珍瑨璡畛疹盡眞瞋秦縉縝臻蔯袗診賑軫辰進鎭陣陳震侄叱姪嫉帙桎瓆疾秩窒膣蛭質跌迭斟朕什執潗緝輯�\".split(\"\");\nfor(j = 0; j != D[242].length; ++j) if(D[242][j].charCodeAt(0) !== 0xFFFD) { e[D[242][j]] = 61952 + j; d[61952 + j] = D[242][j];}\nD[243] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������鏶集徵懲澄且侘借叉嗟嵯差次此磋箚茶蹉車遮捉搾着窄錯鑿齪撰澯燦璨瓚竄簒纂粲纘讚贊鑽餐饌刹察擦札紮僭參塹慘慙懺斬站讒讖倉倡創唱娼廠彰愴敞昌昶暢槍滄漲猖瘡窓脹艙菖蒼債埰寀寨彩採砦綵菜蔡采釵冊柵策�\".split(\"\");\nfor(j = 0; j != D[243].length; ++j) if(D[243][j].charCodeAt(0) !== 0xFFFD) { e[D[243][j]] = 62208 + j; d[62208 + j] = D[243][j];}\nD[244] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������責凄妻悽處倜刺剔尺慽戚拓擲斥滌瘠脊蹠陟隻仟千喘天川擅泉淺玔穿舛薦賤踐遷釧闡阡韆凸哲喆徹撤澈綴輟轍鐵僉尖沾添甛瞻簽籤詹諂堞妾帖捷牒疊睫諜貼輒廳晴淸聽菁請靑鯖切剃替涕滯締諦逮遞體初剿哨憔抄招梢�\".split(\"\");\nfor(j = 0; j != D[244].length; ++j) if(D[244][j].charCodeAt(0) !== 0xFFFD) { e[D[244][j]] = 62464 + j; d[62464 + j] = D[244][j];}\nD[245] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������椒楚樵炒焦硝礁礎秒稍肖艸苕草蕉貂超酢醋醮促囑燭矗蜀觸寸忖村邨叢塚寵悤憁摠總聰蔥銃撮催崔最墜抽推椎楸樞湫皺秋芻萩諏趨追鄒酋醜錐錘鎚雛騶鰍丑畜祝竺筑築縮蓄蹙蹴軸逐春椿瑃出朮黜充忠沖蟲衝衷悴膵萃�\".split(\"\");\nfor(j = 0; j != D[245].length; ++j) if(D[245][j].charCodeAt(0) !== 0xFFFD) { e[D[245][j]] = 62720 + j; d[62720 + j] = D[245][j];}\nD[246] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������贅取吹嘴娶就炊翠聚脆臭趣醉驟鷲側仄厠惻測層侈値嗤峙幟恥梔治淄熾痔痴癡稚穉緇緻置致蚩輜雉馳齒則勅飭親七柒漆侵寢枕沈浸琛砧針鍼蟄秤稱快他咤唾墮妥惰打拖朶楕舵陀馱駝倬卓啄坼度托拓擢晫柝濁濯琢琸託�\".split(\"\");\nfor(j = 0; j != D[246].length; ++j) if(D[246][j].charCodeAt(0) !== 0xFFFD) { e[D[246][j]] = 62976 + j; d[62976 + j] = D[246][j];}\nD[247] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������鐸呑嘆坦彈憚歎灘炭綻誕奪脫探眈耽貪塔搭榻宕帑湯糖蕩兌台太怠態殆汰泰笞胎苔跆邰颱宅擇澤撑攄兎吐土討慟桶洞痛筒統通堆槌腿褪退頹偸套妬投透鬪慝特闖坡婆巴把播擺杷波派爬琶破罷芭跛頗判坂板版瓣販辦鈑�\".split(\"\");\nfor(j = 0; j != D[247].length; ++j) if(D[247][j].charCodeAt(0) !== 0xFFFD) { e[D[247][j]] = 63232 + j; d[63232 + j] = D[247][j];}\nD[248] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������阪八叭捌佩唄悖敗沛浿牌狽稗覇貝彭澎烹膨愎便偏扁片篇編翩遍鞭騙貶坪平枰萍評吠嬖幣廢弊斃肺蔽閉陛佈包匍匏咆哺圃布怖抛抱捕暴泡浦疱砲胞脯苞葡蒲袍褒逋鋪飽鮑幅暴曝瀑爆輻俵剽彪慓杓標漂瓢票表豹飇飄驃�\".split(\"\");\nfor(j = 0; j != D[248].length; ++j) if(D[248][j].charCodeAt(0) !== 0xFFFD) { e[D[248][j]] = 63488 + j; d[63488 + j] = D[248][j];}\nD[249] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������品稟楓諷豊風馮彼披疲皮被避陂匹弼必泌珌畢疋筆苾馝乏逼下何厦夏廈昰河瑕荷蝦賀遐霞鰕壑學虐謔鶴寒恨悍旱汗漢澣瀚罕翰閑閒限韓割轄函含咸啣喊檻涵緘艦銜陷鹹合哈盒蛤閤闔陜亢伉姮嫦巷恒抗杭桁沆港缸肛航�\".split(\"\");\nfor(j = 0; j != D[249].length; ++j) if(D[249][j].charCodeAt(0) !== 0xFFFD) { e[D[249][j]] = 63744 + j; d[63744 + j] = D[249][j];}\nD[250] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������行降項亥偕咳垓奚孩害懈楷海瀣蟹解該諧邂駭骸劾核倖幸杏荇行享向嚮珦鄕響餉饗香噓墟虛許憲櫶獻軒歇險驗奕爀赫革俔峴弦懸晛泫炫玄玹現眩睍絃絢縣舷衒見賢鉉顯孑穴血頁嫌俠協夾峽挾浹狹脅脇莢鋏頰亨兄刑型�\".split(\"\");\nfor(j = 0; j != D[250].length; ++j) if(D[250][j].charCodeAt(0) !== 0xFFFD) { e[D[250][j]] = 64000 + j; d[64000 + j] = D[250][j];}\nD[251] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������形泂滎瀅灐炯熒珩瑩荊螢衡逈邢鎣馨兮彗惠慧暳蕙蹊醯鞋乎互呼壕壺好岵弧戶扈昊晧毫浩淏湖滸澔濠濩灝狐琥瑚瓠皓祜糊縞胡芦葫蒿虎號蝴護豪鎬頀顥惑或酷婚昏混渾琿魂忽惚笏哄弘汞泓洪烘紅虹訌鴻化和嬅樺火畵�\".split(\"\");\nfor(j = 0; j != D[251].length; ++j) if(D[251][j].charCodeAt(0) !== 0xFFFD) { e[D[251][j]] = 64256 + j; d[64256 + j] = D[251][j];}\nD[252] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������禍禾花華話譁貨靴廓擴攫確碻穫丸喚奐宦幻患換歡晥桓渙煥環紈還驩鰥活滑猾豁闊凰幌徨恍惶愰慌晃晄榥況湟滉潢煌璜皇篁簧荒蝗遑隍黃匯回廻徊恢悔懷晦會檜淮澮灰獪繪膾茴蛔誨賄劃獲宖橫鐄哮嚆孝效斅曉梟涍淆�\".split(\"\");\nfor(j = 0; j != D[252].length; ++j) if(D[252][j].charCodeAt(0) !== 0xFFFD) { e[D[252][j]] = 64512 + j; d[64512 + j] = D[252][j];}\nD[253] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������爻肴酵驍侯候厚后吼喉嗅帿後朽煦珝逅勛勳塤壎焄熏燻薰訓暈薨喧暄煊萱卉喙毁彙徽揮暉煇諱輝麾休携烋畦虧恤譎鷸兇凶匈洶胸黑昕欣炘痕吃屹紇訖欠欽歆吸恰洽翕興僖凞喜噫囍姬嬉希憙憘戱晞曦熙熹熺犧禧稀羲詰�\".split(\"\");\nfor(j = 0; j != D[253].length; ++j) if(D[253][j].charCodeAt(0) !== 0xFFFD) { e[D[253][j]] = 64768 + j; d[64768 + j] = D[253][j];}\nreturn {\"enc\": e, \"dec\": d }; })();\ncptable[950] = (function(){ var d = [], e = {}, D = [], j;\nD[0] = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[0].length; ++j) if(D[0][j].charCodeAt(0) !== 0xFFFD) { e[D[0][j]] = 0 + j; d[0 + j] = D[0][j];}\nD[161] = \"����������������������������������������������������������������　，、。．‧；：？！︰…‥﹐﹑﹒·﹔﹕﹖﹗｜–︱—︳╴︴﹏（）︵︶｛｝︷︸〔〕︹︺【】︻︼《》︽︾〈〉︿﹀「」﹁﹂『』﹃﹄﹙﹚����������������������������������﹛﹜﹝﹞‘’“”〝〞‵′＃＆＊※§〃○●△▲◎☆★◇◆□■▽▼㊣℅¯￣＿ˍ﹉﹊﹍﹎﹋﹌﹟﹠﹡＋－×÷±√＜＞＝≦≧≠∞≒≡﹢﹣﹤﹥﹦～∩∪⊥∠∟⊿㏒㏑∫∮∵∴♀♂⊕⊙↑↓←→↖↗↙↘∥∣／�\".split(\"\");\nfor(j = 0; j != D[161].length; ++j) if(D[161][j].charCodeAt(0) !== 0xFFFD) { e[D[161][j]] = 41216 + j; d[41216 + j] = D[161][j];}\nD[162] = \"����������������������������������������������������������������＼∕﹨＄￥〒￠￡％＠℃℉﹩﹪﹫㏕㎜㎝㎞㏎㎡㎎㎏㏄°兙兛兞兝兡兣嗧瓩糎▁▂▃▄▅▆▇█▏▎▍▌▋▊▉┼┴┬┤├▔─│▕┌┐└┘╭����������������������������������╮╰╯═╞╪╡◢◣◥◤╱╲╳０１２３４５６７８９ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ〡〢〣〤〥〦〧〨〩十卄卅ＡＢＣＤＥＦＧＨＩＪＫＬＭＮＯＰＱＲＳＴＵＶＷＸＹＺａｂｃｄｅｆｇｈｉｊｋｌｍｎｏｐｑｒｓｔｕｖ�\".split(\"\");\nfor(j = 0; j != D[162].length; ++j) if(D[162][j].charCodeAt(0) !== 0xFFFD) { e[D[162][j]] = 41472 + j; d[41472 + j] = D[162][j];}\nD[163] = \"����������������������������������������������������������������ｗｘｙｚΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρστυφχψωㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏ����������������������������������ㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ˙ˉˊˇˋ���������������������������������€������������������������������\".split(\"\");\nfor(j = 0; j != D[163].length; ++j) if(D[163][j].charCodeAt(0) !== 0xFFFD) { e[D[163][j]] = 41728 + j; d[41728 + j] = D[163][j];}\nD[164] = \"����������������������������������������������������������������一乙丁七乃九了二人儿入八几刀刁力匕十卜又三下丈上丫丸凡久么也乞于亡兀刃勺千叉口土士夕大女子孑孓寸小尢尸山川工己已巳巾干廾弋弓才����������������������������������丑丐不中丰丹之尹予云井互五亢仁什仃仆仇仍今介仄元允內六兮公冗凶分切刈勻勾勿化匹午升卅卞厄友及反壬天夫太夭孔少尤尺屯巴幻廿弔引心戈戶手扎支文斗斤方日曰月木欠止歹毋比毛氏水火爪父爻片牙牛犬王丙�\".split(\"\");\nfor(j = 0; j != D[164].length; ++j) if(D[164][j].charCodeAt(0) !== 0xFFFD) { e[D[164][j]] = 41984 + j; d[41984 + j] = D[164][j];}\nD[165] = \"����������������������������������������������������������������世丕且丘主乍乏乎以付仔仕他仗代令仙仞充兄冉冊冬凹出凸刊加功包匆北匝仟半卉卡占卯卮去可古右召叮叩叨叼司叵叫另只史叱台句叭叻四囚外����������������������������������央失奴奶孕它尼巨巧左市布平幼弁弘弗必戊打扔扒扑斥旦朮本未末札正母民氐永汁汀氾犯玄玉瓜瓦甘生用甩田由甲申疋白皮皿目矛矢石示禾穴立丞丟乒乓乩亙交亦亥仿伉伙伊伕伍伐休伏仲件任仰仳份企伋光兇兆先全�\".split(\"\");\nfor(j = 0; j != D[165].length; ++j) if(D[165][j].charCodeAt(0) !== 0xFFFD) { e[D[165][j]] = 42240 + j; d[42240 + j] = D[165][j];}\nD[166] = \"����������������������������������������������������������������共再冰列刑划刎刖劣匈匡匠印危吉吏同吊吐吁吋各向名合吃后吆吒因回囝圳地在圭圬圯圩夙多夷夸妄奸妃好她如妁字存宇守宅安寺尖屹州帆并年����������������������������������式弛忙忖戎戌戍成扣扛托收早旨旬旭曲曳有朽朴朱朵次此死氖汝汗汙江池汐汕污汛汍汎灰牟牝百竹米糸缶羊羽老考而耒耳聿肉肋肌臣自至臼舌舛舟艮色艾虫血行衣西阡串亨位住佇佗佞伴佛何估佐佑伽伺伸佃佔似但佣�\".split(\"\");\nfor(j = 0; j != D[166].length; ++j) if(D[166][j].charCodeAt(0) !== 0xFFFD) { e[D[166][j]] = 42496 + j; d[42496 + j] = D[166][j];}\nD[167] = \"����������������������������������������������������������������作你伯低伶余佝佈佚兌克免兵冶冷別判利刪刨劫助努劬匣即卵吝吭吞吾否呎吧呆呃吳呈呂君吩告吹吻吸吮吵吶吠吼呀吱含吟听囪困囤囫坊坑址坍����������������������������������均坎圾坐坏圻壯夾妝妒妨妞妣妙妖妍妤妓妊妥孝孜孚孛完宋宏尬局屁尿尾岐岑岔岌巫希序庇床廷弄弟彤形彷役忘忌志忍忱快忸忪戒我抄抗抖技扶抉扭把扼找批扳抒扯折扮投抓抑抆改攻攸旱更束李杏材村杜杖杞杉杆杠�\".split(\"\");\nfor(j = 0; j != D[167].length; ++j) if(D[167][j].charCodeAt(0) !== 0xFFFD) { e[D[167][j]] = 42752 + j; d[42752 + j] = D[167][j];}\nD[168] = \"����������������������������������������������������������������杓杗步每求汞沙沁沈沉沅沛汪決沐汰沌汨沖沒汽沃汲汾汴沆汶沍沔沘沂灶灼災灸牢牡牠狄狂玖甬甫男甸皂盯矣私秀禿究系罕肖肓肝肘肛肚育良芒����������������������������������芋芍見角言谷豆豕貝赤走足身車辛辰迂迆迅迄巡邑邢邪邦那酉釆里防阮阱阪阬並乖乳事些亞享京佯依侍佳使佬供例來侃佰併侈佩佻侖佾侏侑佺兔兒兕兩具其典冽函刻券刷刺到刮制剁劾劻卒協卓卑卦卷卸卹取叔受味呵�\".split(\"\");\nfor(j = 0; j != D[168].length; ++j) if(D[168][j].charCodeAt(0) !== 0xFFFD) { e[D[168][j]] = 43008 + j; d[43008 + j] = D[168][j];}\nD[169] = \"����������������������������������������������������������������咖呸咕咀呻呷咄咒咆呼咐呱呶和咚呢周咋命咎固垃坷坪坩坡坦坤坼夜奉奇奈奄奔妾妻委妹妮姑姆姐姍始姓姊妯妳姒姅孟孤季宗定官宜宙宛尚屈居����������������������������������屆岷岡岸岩岫岱岳帘帚帖帕帛帑幸庚店府底庖延弦弧弩往征彿彼忝忠忽念忿怏怔怯怵怖怪怕怡性怩怫怛或戕房戾所承拉拌拄抿拂抹拒招披拓拔拋拈抨抽押拐拙拇拍抵拚抱拘拖拗拆抬拎放斧於旺昔易昌昆昂明昀昏昕昊�\".split(\"\");\nfor(j = 0; j != D[169].length; ++j) if(D[169][j].charCodeAt(0) !== 0xFFFD) { e[D[169][j]] = 43264 + j; d[43264 + j] = D[169][j];}\nD[170] = \"����������������������������������������������������������������昇服朋杭枋枕東果杳杷枇枝林杯杰板枉松析杵枚枓杼杪杲欣武歧歿氓氛泣注泳沱泌泥河沽沾沼波沫法泓沸泄油況沮泗泅泱沿治泡泛泊沬泯泜泖泠����������������������������������炕炎炒炊炙爬爭爸版牧物狀狎狙狗狐玩玨玟玫玥甽疝疙疚的盂盲直知矽社祀祁秉秈空穹竺糾罔羌羋者肺肥肢肱股肫肩肴肪肯臥臾舍芳芝芙芭芽芟芹花芬芥芯芸芣芰芾芷虎虱初表軋迎返近邵邸邱邶采金長門阜陀阿阻附�\".split(\"\");\nfor(j = 0; j != D[170].length; ++j) if(D[170][j].charCodeAt(0) !== 0xFFFD) { e[D[170][j]] = 43520 + j; d[43520 + j] = D[170][j];}\nD[171] = \"����������������������������������������������������������������陂隹雨青非亟亭亮信侵侯便俠俑俏保促侶俘俟俊俗侮俐俄係俚俎俞侷兗冒冑冠剎剃削前剌剋則勇勉勃勁匍南卻厚叛咬哀咨哎哉咸咦咳哇哂咽咪品����������������������������������哄哈咯咫咱咻咩咧咿囿垂型垠垣垢城垮垓奕契奏奎奐姜姘姿姣姨娃姥姪姚姦威姻孩宣宦室客宥封屎屏屍屋峙峒巷帝帥帟幽庠度建弈弭彥很待徊律徇後徉怒思怠急怎怨恍恰恨恢恆恃恬恫恪恤扁拜挖按拼拭持拮拽指拱拷�\".split(\"\");\nfor(j = 0; j != D[171].length; ++j) if(D[171][j].charCodeAt(0) !== 0xFFFD) { e[D[171][j]] = 43776 + j; d[43776 + j] = D[171][j];}\nD[172] = \"����������������������������������������������������������������拯括拾拴挑挂政故斫施既春昭映昧是星昨昱昤曷柿染柱柔某柬架枯柵柩柯柄柑枴柚查枸柏柞柳枰柙柢柝柒歪殃殆段毒毗氟泉洋洲洪流津洌洱洞洗����������������������������������活洽派洶洛泵洹洧洸洩洮洵洎洫炫為炳炬炯炭炸炮炤爰牲牯牴狩狠狡玷珊玻玲珍珀玳甚甭畏界畎畋疫疤疥疢疣癸皆皇皈盈盆盃盅省盹相眉看盾盼眇矜砂研砌砍祆祉祈祇禹禺科秒秋穿突竿竽籽紂紅紀紉紇約紆缸美羿耄�\".split(\"\");\nfor(j = 0; j != D[172].length; ++j) if(D[172][j].charCodeAt(0) !== 0xFFFD) { e[D[172][j]] = 44032 + j; d[44032 + j] = D[172][j];}\nD[173] = \"����������������������������������������������������������������耐耍耑耶胖胥胚胃胄背胡胛胎胞胤胝致舢苧范茅苣苛苦茄若茂茉苒苗英茁苜苔苑苞苓苟苯茆虐虹虻虺衍衫要觔計訂訃貞負赴赳趴軍軌述迦迢迪迥����������������������������������迭迫迤迨郊郎郁郃酋酊重閂限陋陌降面革韋韭音頁風飛食首香乘亳倌倍倣俯倦倥俸倩倖倆值借倚倒們俺倀倔倨俱倡個候倘俳修倭倪俾倫倉兼冤冥冢凍凌准凋剖剜剔剛剝匪卿原厝叟哨唐唁唷哼哥哲唆哺唔哩哭員唉哮哪�\".split(\"\");\nfor(j = 0; j != D[173].length; ++j) if(D[173][j].charCodeAt(0) !== 0xFFFD) { e[D[173][j]] = 44288 + j; d[44288 + j] = D[173][j];}\nD[174] = \"����������������������������������������������������������������哦唧唇哽唏圃圄埂埔埋埃堉夏套奘奚娑娘娜娟娛娓姬娠娣娩娥娌娉孫屘宰害家宴宮宵容宸射屑展屐峭峽峻峪峨峰島崁峴差席師庫庭座弱徒徑徐恙����������������������������������恣恥恐恕恭恩息悄悟悚悍悔悌悅悖扇拳挈拿捎挾振捕捂捆捏捉挺捐挽挪挫挨捍捌效敉料旁旅時晉晏晃晒晌晅晁書朔朕朗校核案框桓根桂桔栩梳栗桌桑栽柴桐桀格桃株桅栓栘桁殊殉殷氣氧氨氦氤泰浪涕消涇浦浸海浙涓�\".split(\"\");\nfor(j = 0; j != D[174].length; ++j) if(D[174][j].charCodeAt(0) !== 0xFFFD) { e[D[174][j]] = 44544 + j; d[44544 + j] = D[174][j];}\nD[175] = \"����������������������������������������������������������������浬涉浮浚浴浩涌涊浹涅浥涔烊烘烤烙烈烏爹特狼狹狽狸狷玆班琉珮珠珪珞畔畝畜畚留疾病症疲疳疽疼疹痂疸皋皰益盍盎眩真眠眨矩砰砧砸砝破砷����������������������������������砥砭砠砟砲祕祐祠祟祖神祝祗祚秤秣秧租秦秩秘窄窈站笆笑粉紡紗紋紊素索純紐紕級紜納紙紛缺罟羔翅翁耆耘耕耙耗耽耿胱脂胰脅胭胴脆胸胳脈能脊胼胯臭臬舀舐航舫舨般芻茫荒荔荊茸荐草茵茴荏茲茹茶茗荀茱茨荃�\".split(\"\");\nfor(j = 0; j != D[175].length; ++j) if(D[175][j].charCodeAt(0) !== 0xFFFD) { e[D[175][j]] = 44800 + j; d[44800 + j] = D[175][j];}\nD[176] = \"����������������������������������������������������������������虔蚊蚪蚓蚤蚩蚌蚣蚜衰衷袁袂衽衹記訐討訌訕訊託訓訖訏訑豈豺豹財貢起躬軒軔軏辱送逆迷退迺迴逃追逅迸邕郡郝郢酒配酌釘針釗釜釙閃院陣陡����������������������������������陛陝除陘陞隻飢馬骨高鬥鬲鬼乾偺偽停假偃偌做偉健偶偎偕偵側偷偏倏偯偭兜冕凰剪副勒務勘動匐匏匙匿區匾參曼商啪啦啄啞啡啃啊唱啖問啕唯啤唸售啜唬啣唳啁啗圈國圉域堅堊堆埠埤基堂堵執培夠奢娶婁婉婦婪婀�\".split(\"\");\nfor(j = 0; j != D[176].length; ++j) if(D[176][j].charCodeAt(0) !== 0xFFFD) { e[D[176][j]] = 45056 + j; d[45056 + j] = D[176][j];}\nD[177] = \"����������������������������������������������������������������娼婢婚婆婊孰寇寅寄寂宿密尉專將屠屜屝崇崆崎崛崖崢崑崩崔崙崤崧崗巢常帶帳帷康庸庶庵庾張強彗彬彩彫得徙從徘御徠徜恿患悉悠您惋悴惦悽����������������������������������情悻悵惜悼惘惕惆惟悸惚惇戚戛扈掠控捲掖探接捷捧掘措捱掩掉掃掛捫推掄授掙採掬排掏掀捻捩捨捺敝敖救教敗啟敏敘敕敔斜斛斬族旋旌旎晝晚晤晨晦晞曹勗望梁梯梢梓梵桿桶梱梧梗械梃棄梭梆梅梔條梨梟梡梂欲殺�\".split(\"\");\nfor(j = 0; j != D[177].length; ++j) if(D[177][j].charCodeAt(0) !== 0xFFFD) { e[D[177][j]] = 45312 + j; d[45312 + j] = D[177][j];}\nD[178] = \"����������������������������������������������������������������毫毬氫涎涼淳淙液淡淌淤添淺清淇淋涯淑涮淞淹涸混淵淅淒渚涵淚淫淘淪深淮淨淆淄涪淬涿淦烹焉焊烽烯爽牽犁猜猛猖猓猙率琅琊球理現琍瓠瓶����������������������������������瓷甜產略畦畢異疏痔痕疵痊痍皎盔盒盛眷眾眼眶眸眺硫硃硎祥票祭移窒窕笠笨笛第符笙笞笮粒粗粕絆絃統紮紹紼絀細紳組累終紲紱缽羞羚翌翎習耜聊聆脯脖脣脫脩脰脤舂舵舷舶船莎莞莘荸莢莖莽莫莒莊莓莉莠荷荻荼�\".split(\"\");\nfor(j = 0; j != D[178].length; ++j) if(D[178][j].charCodeAt(0) !== 0xFFFD) { e[D[178][j]] = 45568 + j; d[45568 + j] = D[178][j];}\nD[179] = \"����������������������������������������������������������������莆莧處彪蛇蛀蚶蛄蚵蛆蛋蚱蚯蛉術袞袈被袒袖袍袋覓規訪訝訣訥許設訟訛訢豉豚販責貫貨貪貧赧赦趾趺軛軟這逍通逗連速逝逐逕逞造透逢逖逛途����������������������������������部郭都酗野釵釦釣釧釭釩閉陪陵陳陸陰陴陶陷陬雀雪雩章竟頂頃魚鳥鹵鹿麥麻傢傍傅備傑傀傖傘傚最凱割剴創剩勞勝勛博厥啻喀喧啼喊喝喘喂喜喪喔喇喋喃喳單喟唾喲喚喻喬喱啾喉喫喙圍堯堪場堤堰報堡堝堠壹壺奠�\".split(\"\");\nfor(j = 0; j != D[179].length; ++j) if(D[179][j].charCodeAt(0) !== 0xFFFD) { e[D[179][j]] = 45824 + j; d[45824 + j] = D[179][j];}\nD[180] = \"����������������������������������������������������������������婷媚婿媒媛媧孳孱寒富寓寐尊尋就嵌嵐崴嵇巽幅帽幀幃幾廊廁廂廄弼彭復循徨惑惡悲悶惠愜愣惺愕惰惻惴慨惱愎惶愉愀愒戟扉掣掌描揀揩揉揆揍����������������������������������插揣提握揖揭揮捶援揪換摒揚揹敞敦敢散斑斐斯普晰晴晶景暑智晾晷曾替期朝棺棕棠棘棗椅棟棵森棧棹棒棲棣棋棍植椒椎棉棚楮棻款欺欽殘殖殼毯氮氯氬港游湔渡渲湧湊渠渥渣減湛湘渤湖湮渭渦湯渴湍渺測湃渝渾滋�\".split(\"\");\nfor(j = 0; j != D[180].length; ++j) if(D[180][j].charCodeAt(0) !== 0xFFFD) { e[D[180][j]] = 46080 + j; d[46080 + j] = D[180][j];}\nD[181] = \"����������������������������������������������������������������溉渙湎湣湄湲湩湟焙焚焦焰無然煮焜牌犄犀猶猥猴猩琺琪琳琢琥琵琶琴琯琛琦琨甥甦畫番痢痛痣痙痘痞痠登發皖皓皴盜睏短硝硬硯稍稈程稅稀窘����������������������������������窗窖童竣等策筆筐筒答筍筋筏筑粟粥絞結絨絕紫絮絲絡給絢絰絳善翔翕耋聒肅腕腔腋腑腎脹腆脾腌腓腴舒舜菩萃菸萍菠菅萋菁華菱菴著萊菰萌菌菽菲菊萸萎萄菜萇菔菟虛蛟蛙蛭蛔蛛蛤蛐蛞街裁裂袱覃視註詠評詞証詁�\".split(\"\");\nfor(j = 0; j != D[181].length; ++j) if(D[181][j].charCodeAt(0) !== 0xFFFD) { e[D[181][j]] = 46336 + j; d[46336 + j] = D[181][j];}\nD[182] = \"����������������������������������������������������������������詔詛詐詆訴診訶詖象貂貯貼貳貽賁費賀貴買貶貿貸越超趁跎距跋跚跑跌跛跆軻軸軼辜逮逵週逸進逶鄂郵鄉郾酣酥量鈔鈕鈣鈉鈞鈍鈐鈇鈑閔閏開閑����������������������������������間閒閎隊階隋陽隅隆隍陲隄雁雅雄集雇雯雲韌項順須飧飪飯飩飲飭馮馭黃黍黑亂傭債傲傳僅傾催傷傻傯僇剿剷剽募勦勤勢勣匯嗟嗨嗓嗦嗎嗜嗇嗑嗣嗤嗯嗚嗡嗅嗆嗥嗉園圓塞塑塘塗塚塔填塌塭塊塢塒塋奧嫁嫉嫌媾媽媼�\".split(\"\");\nfor(j = 0; j != D[182].length; ++j) if(D[182][j].charCodeAt(0) !== 0xFFFD) { e[D[182][j]] = 46592 + j; d[46592 + j] = D[182][j];}\nD[183] = \"����������������������������������������������������������������媳嫂媲嵩嵯幌幹廉廈弒彙徬微愚意慈感想愛惹愁愈慎慌慄慍愾愴愧愍愆愷戡戢搓搾搞搪搭搽搬搏搜搔損搶搖搗搆敬斟新暗暉暇暈暖暄暘暍會榔業����������������������������������楚楷楠楔極椰概楊楨楫楞楓楹榆楝楣楛歇歲毀殿毓毽溢溯滓溶滂源溝滇滅溥溘溼溺溫滑準溜滄滔溪溧溴煎煙煩煤煉照煜煬煦煌煥煞煆煨煖爺牒猷獅猿猾瑯瑚瑕瑟瑞瑁琿瑙瑛瑜當畸瘀痰瘁痲痱痺痿痴痳盞盟睛睫睦睞督�\".split(\"\");\nfor(j = 0; j != D[183].length; ++j) if(D[183][j].charCodeAt(0) !== 0xFFFD) { e[D[183][j]] = 46848 + j; d[46848 + j] = D[183][j];}\nD[184] = \"����������������������������������������������������������������睹睪睬睜睥睨睢矮碎碰碗碘碌碉硼碑碓硿祺祿禁萬禽稜稚稠稔稟稞窟窠筷節筠筮筧粱粳粵經絹綑綁綏絛置罩罪署義羨群聖聘肆肄腱腰腸腥腮腳腫����������������������������������腹腺腦舅艇蒂葷落萱葵葦葫葉葬葛萼萵葡董葩葭葆虞虜號蛹蜓蜈蜇蜀蛾蛻蜂蜃蜆蜊衙裟裔裙補裘裝裡裊裕裒覜解詫該詳試詩詰誇詼詣誠話誅詭詢詮詬詹詻訾詨豢貊貉賊資賈賄貲賃賂賅跡跟跨路跳跺跪跤跦躲較載軾輊�\".split(\"\");\nfor(j = 0; j != D[184].length; ++j) if(D[184][j].charCodeAt(0) !== 0xFFFD) { e[D[184][j]] = 47104 + j; d[47104 + j] = D[184][j];}\nD[185] = \"����������������������������������������������������������������辟農運遊道遂達逼違遐遇遏過遍遑逾遁鄒鄗酬酪酩釉鈷鉗鈸鈽鉀鈾鉛鉋鉤鉑鈴鉉鉍鉅鈹鈿鉚閘隘隔隕雍雋雉雊雷電雹零靖靴靶預頑頓頊頒頌飼飴����������������������������������飽飾馳馱馴髡鳩麂鼎鼓鼠僧僮僥僖僭僚僕像僑僱僎僩兢凳劃劂匱厭嗾嘀嘛嘗嗽嘔嘆嘉嘍嘎嗷嘖嘟嘈嘐嗶團圖塵塾境墓墊塹墅塽壽夥夢夤奪奩嫡嫦嫩嫗嫖嫘嫣孵寞寧寡寥實寨寢寤察對屢嶄嶇幛幣幕幗幔廓廖弊彆彰徹慇�\".split(\"\");\nfor(j = 0; j != D[185].length; ++j) if(D[185][j].charCodeAt(0) !== 0xFFFD) { e[D[185][j]] = 47360 + j; d[47360 + j] = D[185][j];}\nD[186] = \"����������������������������������������������������������������愿態慷慢慣慟慚慘慵截撇摘摔撤摸摟摺摑摧搴摭摻敲斡旗旖暢暨暝榜榨榕槁榮槓構榛榷榻榫榴槐槍榭槌榦槃榣歉歌氳漳演滾漓滴漩漾漠漬漏漂漢����������������������������������滿滯漆漱漸漲漣漕漫漯澈漪滬漁滲滌滷熔熙煽熊熄熒爾犒犖獄獐瑤瑣瑪瑰瑭甄疑瘧瘍瘋瘉瘓盡監瞄睽睿睡磁碟碧碳碩碣禎福禍種稱窪窩竭端管箕箋筵算箝箔箏箸箇箄粹粽精綻綰綜綽綾綠緊綴網綱綺綢綿綵綸維緒緇綬�\".split(\"\");\nfor(j = 0; j != D[186].length; ++j) if(D[186][j].charCodeAt(0) !== 0xFFFD) { e[D[186][j]] = 47616 + j; d[47616 + j] = D[186][j];}\nD[187] = \"����������������������������������������������������������������罰翠翡翟聞聚肇腐膀膏膈膊腿膂臧臺與舔舞艋蓉蒿蓆蓄蒙蒞蒲蒜蓋蒸蓀蓓蒐蒼蓑蓊蜿蜜蜻蜢蜥蜴蜘蝕蜷蜩裳褂裴裹裸製裨褚裯誦誌語誣認誡誓誤����������������������������������說誥誨誘誑誚誧豪貍貌賓賑賒赫趙趕跼輔輒輕輓辣遠遘遜遣遙遞遢遝遛鄙鄘鄞酵酸酷酴鉸銀銅銘銖鉻銓銜銨鉼銑閡閨閩閣閥閤隙障際雌雒需靼鞅韶頗領颯颱餃餅餌餉駁骯骰髦魁魂鳴鳶鳳麼鼻齊億儀僻僵價儂儈儉儅凜�\".split(\"\");\nfor(j = 0; j != D[187].length; ++j) if(D[187][j].charCodeAt(0) !== 0xFFFD) { e[D[187][j]] = 47872 + j; d[47872 + j] = D[187][j];}\nD[188] = \"����������������������������������������������������������������劇劈劉劍劊勰厲嘮嘻嘹嘲嘿嘴嘩噓噎噗噴嘶嘯嘰墀墟增墳墜墮墩墦奭嬉嫻嬋嫵嬌嬈寮寬審寫層履嶝嶔幢幟幡廢廚廟廝廣廠彈影德徵慶慧慮慝慕憂����������������������������������慼慰慫慾憧憐憫憎憬憚憤憔憮戮摩摯摹撞撲撈撐撰撥撓撕撩撒撮播撫撚撬撙撢撳敵敷數暮暫暴暱樣樟槨樁樞標槽模樓樊槳樂樅槭樑歐歎殤毅毆漿潼澄潑潦潔澆潭潛潸潮澎潺潰潤澗潘滕潯潠潟熟熬熱熨牖犛獎獗瑩璋璃�\".split(\"\");\nfor(j = 0; j != D[188].length; ++j) if(D[188][j].charCodeAt(0) !== 0xFFFD) { e[D[188][j]] = 48128 + j; d[48128 + j] = D[188][j];}\nD[189] = \"����������������������������������������������������������������瑾璀畿瘠瘩瘟瘤瘦瘡瘢皚皺盤瞎瞇瞌瞑瞋磋磅確磊碾磕碼磐稿稼穀稽稷稻窯窮箭箱範箴篆篇篁箠篌糊締練緯緻緘緬緝編緣線緞緩綞緙緲緹罵罷羯����������������������������������翩耦膛膜膝膠膚膘蔗蔽蔚蓮蔬蔭蔓蔑蔣蔡蔔蓬蔥蓿蔆螂蝴蝶蝠蝦蝸蝨蝙蝗蝌蝓衛衝褐複褒褓褕褊誼諒談諄誕請諸課諉諂調誰論諍誶誹諛豌豎豬賠賞賦賤賬賭賢賣賜質賡赭趟趣踫踐踝踢踏踩踟踡踞躺輝輛輟輩輦輪輜輞�\".split(\"\");\nfor(j = 0; j != D[189].length; ++j) if(D[189][j].charCodeAt(0) !== 0xFFFD) { e[D[189][j]] = 48384 + j; d[48384 + j] = D[189][j];}\nD[190] = \"����������������������������������������������������������������輥適遮遨遭遷鄰鄭鄧鄱醇醉醋醃鋅銻銷鋪銬鋤鋁銳銼鋒鋇鋰銲閭閱霄霆震霉靠鞍鞋鞏頡頫頜颳養餓餒餘駝駐駟駛駑駕駒駙骷髮髯鬧魅魄魷魯鴆鴉����������������������������������鴃麩麾黎墨齒儒儘儔儐儕冀冪凝劑劓勳噙噫噹噩噤噸噪器噥噱噯噬噢噶壁墾壇壅奮嬝嬴學寰導彊憲憑憩憊懍憶憾懊懈戰擅擁擋撻撼據擄擇擂操撿擒擔撾整曆曉暹曄曇暸樽樸樺橙橫橘樹橄橢橡橋橇樵機橈歙歷氅濂澱澡�\".split(\"\");\nfor(j = 0; j != D[190].length; ++j) if(D[190][j].charCodeAt(0) !== 0xFFFD) { e[D[190][j]] = 48640 + j; d[48640 + j] = D[190][j];}\nD[191] = \"����������������������������������������������������������������濃澤濁澧澳激澹澶澦澠澴熾燉燐燒燈燕熹燎燙燜燃燄獨璜璣璘璟璞瓢甌甍瘴瘸瘺盧盥瞠瞞瞟瞥磨磚磬磧禦積穎穆穌穋窺篙簑築篤篛篡篩篦糕糖縊����������������������������������縑縈縛縣縞縝縉縐罹羲翰翱翮耨膳膩膨臻興艘艙蕊蕙蕈蕨蕩蕃蕉蕭蕪蕞螃螟螞螢融衡褪褲褥褫褡親覦諦諺諫諱謀諜諧諮諾謁謂諷諭諳諶諼豫豭貓賴蹄踱踴蹂踹踵輻輯輸輳辨辦遵遴選遲遼遺鄴醒錠錶鋸錳錯錢鋼錫錄錚�\".split(\"\");\nfor(j = 0; j != D[191].length; ++j) if(D[191][j].charCodeAt(0) !== 0xFFFD) { e[D[191][j]] = 48896 + j; d[48896 + j] = D[191][j];}\nD[192] = \"����������������������������������������������������������������錐錦錡錕錮錙閻隧隨險雕霎霑霖霍霓霏靛靜靦鞘頰頸頻頷頭頹頤餐館餞餛餡餚駭駢駱骸骼髻髭鬨鮑鴕鴣鴦鴨鴒鴛默黔龍龜優償儡儲勵嚎嚀嚐嚅嚇����������������������������������嚏壕壓壑壎嬰嬪嬤孺尷屨嶼嶺嶽嶸幫彌徽應懂懇懦懋戲戴擎擊擘擠擰擦擬擱擢擭斂斃曙曖檀檔檄檢檜櫛檣橾檗檐檠歜殮毚氈濘濱濟濠濛濤濫濯澀濬濡濩濕濮濰燧營燮燦燥燭燬燴燠爵牆獰獲璩環璦璨癆療癌盪瞳瞪瞰瞬�\".split(\"\");\nfor(j = 0; j != D[192].length; ++j) if(D[192][j].charCodeAt(0) !== 0xFFFD) { e[D[192][j]] = 49152 + j; d[49152 + j] = D[192][j];}\nD[193] = \"����������������������������������������������������������������瞧瞭矯磷磺磴磯礁禧禪穗窿簇簍篾篷簌篠糠糜糞糢糟糙糝縮績繆縷縲繃縫總縱繅繁縴縹繈縵縿縯罄翳翼聱聲聰聯聳臆臃膺臂臀膿膽臉膾臨舉艱薪����������������������������������薄蕾薜薑薔薯薛薇薨薊虧蟀蟑螳蟒蟆螫螻螺蟈蟋褻褶襄褸褽覬謎謗謙講謊謠謝謄謐豁谿豳賺賽購賸賻趨蹉蹋蹈蹊轄輾轂轅輿避遽還邁邂邀鄹醣醞醜鍍鎂錨鍵鍊鍥鍋錘鍾鍬鍛鍰鍚鍔闊闋闌闈闆隱隸雖霜霞鞠韓顆颶餵騁�\".split(\"\");\nfor(j = 0; j != D[193].length; ++j) if(D[193][j].charCodeAt(0) !== 0xFFFD) { e[D[193][j]] = 49408 + j; d[49408 + j] = D[193][j];}\nD[194] = \"����������������������������������������������������������������駿鮮鮫鮪鮭鴻鴿麋黏點黜黝黛鼾齋叢嚕嚮壙壘嬸彝懣戳擴擲擾攆擺擻擷斷曜朦檳檬櫃檻檸櫂檮檯歟歸殯瀉瀋濾瀆濺瀑瀏燻燼燾燸獷獵璧璿甕癖癘����������������������������������癒瞽瞿瞻瞼礎禮穡穢穠竄竅簫簧簪簞簣簡糧織繕繞繚繡繒繙罈翹翻職聶臍臏舊藏薩藍藐藉薰薺薹薦蟯蟬蟲蟠覆覲觴謨謹謬謫豐贅蹙蹣蹦蹤蹟蹕軀轉轍邇邃邈醫醬釐鎔鎊鎖鎢鎳鎮鎬鎰鎘鎚鎗闔闖闐闕離雜雙雛雞霤鞣鞦�\".split(\"\");\nfor(j = 0; j != D[194].length; ++j) if(D[194][j].charCodeAt(0) !== 0xFFFD) { e[D[194][j]] = 49664 + j; d[49664 + j] = D[194][j];}\nD[195] = \"����������������������������������������������������������������鞭韹額顏題顎顓颺餾餿餽餮馥騎髁鬃鬆魏魎魍鯊鯉鯽鯈鯀鵑鵝鵠黠鼕鼬儳嚥壞壟壢寵龐廬懲懷懶懵攀攏曠曝櫥櫝櫚櫓瀛瀟瀨瀚瀝瀕瀘爆爍牘犢獸����������������������������������獺璽瓊瓣疇疆癟癡矇礙禱穫穩簾簿簸簽簷籀繫繭繹繩繪羅繳羶羹羸臘藩藝藪藕藤藥藷蟻蠅蠍蟹蟾襠襟襖襞譁譜識證譚譎譏譆譙贈贊蹼蹲躇蹶蹬蹺蹴轔轎辭邊邋醱醮鏡鏑鏟鏃鏈鏜鏝鏖鏢鏍鏘鏤鏗鏨關隴難霪霧靡韜韻類�\".split(\"\");\nfor(j = 0; j != D[195].length; ++j) if(D[195][j].charCodeAt(0) !== 0xFFFD) { e[D[195][j]] = 49920 + j; d[49920 + j] = D[195][j];}\nD[196] = \"����������������������������������������������������������������願顛颼饅饉騖騙鬍鯨鯧鯖鯛鶉鵡鵲鵪鵬麒麗麓麴勸嚨嚷嚶嚴嚼壤孀孃孽寶巉懸懺攘攔攙曦朧櫬瀾瀰瀲爐獻瓏癢癥礦礪礬礫竇競籌籃籍糯糰辮繽繼����������������������������������纂罌耀臚艦藻藹蘑藺蘆蘋蘇蘊蠔蠕襤覺觸議譬警譯譟譫贏贍躉躁躅躂醴釋鐘鐃鏽闡霰飄饒饑馨騫騰騷騵鰓鰍鹹麵黨鼯齟齣齡儷儸囁囀囂夔屬巍懼懾攝攜斕曩櫻欄櫺殲灌爛犧瓖瓔癩矓籐纏續羼蘗蘭蘚蠣蠢蠡蠟襪襬覽譴�\".split(\"\");\nfor(j = 0; j != D[196].length; ++j) if(D[196][j].charCodeAt(0) !== 0xFFFD) { e[D[196][j]] = 50176 + j; d[50176 + j] = D[196][j];}\nD[197] = \"����������������������������������������������������������������護譽贓躊躍躋轟辯醺鐮鐳鐵鐺鐸鐲鐫闢霸霹露響顧顥饗驅驃驀騾髏魔魑鰭鰥鶯鶴鷂鶸麝黯鼙齜齦齧儼儻囈囊囉孿巔巒彎懿攤權歡灑灘玀瓤疊癮癬����������������������������������禳籠籟聾聽臟襲襯觼讀贖贗躑躓轡酈鑄鑑鑒霽霾韃韁顫饕驕驍髒鬚鱉鰱鰾鰻鷓鷗鼴齬齪龔囌巖戀攣攫攪曬欐瓚竊籤籣籥纓纖纔臢蘸蘿蠱變邐邏鑣鑠鑤靨顯饜驚驛驗髓體髑鱔鱗鱖鷥麟黴囑壩攬灞癱癲矗罐羈蠶蠹衢讓讒�\".split(\"\");\nfor(j = 0; j != D[197].length; ++j) if(D[197][j].charCodeAt(0) !== 0xFFFD) { e[D[197][j]] = 50432 + j; d[50432 + j] = D[197][j];}\nD[198] = \"����������������������������������������������������������������讖艷贛釀鑪靂靈靄韆顰驟鬢魘鱟鷹鷺鹼鹽鼇齷齲廳欖灣籬籮蠻觀躡釁鑲鑰顱饞髖鬣黌灤矚讚鑷韉驢驥纜讜躪釅鑽鑾鑼鱷鱸黷豔鑿鸚爨驪鬱鸛鸞籲���������������������������������������������������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[198].length; ++j) if(D[198][j].charCodeAt(0) !== 0xFFFD) { e[D[198][j]] = 50688 + j; d[50688 + j] = D[198][j];}\nD[201] = \"����������������������������������������������������������������乂乜凵匚厂万丌乇亍囗兀屮彳丏冇与丮亓仂仉仈冘勼卬厹圠夃夬尐巿旡殳毌气爿丱丼仨仜仩仡仝仚刌匜卌圢圣夗夯宁宄尒尻屴屳帄庀庂忉戉扐氕����������������������������������氶汃氿氻犮犰玊禸肊阞伎优伬仵伔仱伀价伈伝伂伅伢伓伄仴伒冱刓刉刐劦匢匟卍厊吇囡囟圮圪圴夼妀奼妅奻奾奷奿孖尕尥屼屺屻屾巟幵庄异弚彴忕忔忏扜扞扤扡扦扢扙扠扚扥旯旮朾朹朸朻机朿朼朳氘汆汒汜汏汊汔汋�\".split(\"\");\nfor(j = 0; j != D[201].length; ++j) if(D[201][j].charCodeAt(0) !== 0xFFFD) { e[D[201][j]] = 51456 + j; d[51456 + j] = D[201][j];}\nD[202] = \"����������������������������������������������������������������汌灱牞犴犵玎甪癿穵网艸艼芀艽艿虍襾邙邗邘邛邔阢阤阠阣佖伻佢佉体佤伾佧佒佟佁佘伭伳伿佡冏冹刜刞刡劭劮匉卣卲厎厏吰吷吪呔呅吙吜吥吘����������������������������������吽呏呁吨吤呇囮囧囥坁坅坌坉坋坒夆奀妦妘妠妗妎妢妐妏妧妡宎宒尨尪岍岏岈岋岉岒岊岆岓岕巠帊帎庋庉庌庈庍弅弝彸彶忒忑忐忭忨忮忳忡忤忣忺忯忷忻怀忴戺抃抌抎抏抔抇扱扻扺扰抁抈扷扽扲扴攷旰旴旳旲旵杅杇�\".split(\"\");\nfor(j = 0; j != D[202].length; ++j) if(D[202][j].charCodeAt(0) !== 0xFFFD) { e[D[202][j]] = 51712 + j; d[51712 + j] = D[202][j];}\nD[203] = \"����������������������������������������������������������������杙杕杌杈杝杍杚杋毐氙氚汸汧汫沄沋沏汱汯汩沚汭沇沕沜汦汳汥汻沎灴灺牣犿犽狃狆狁犺狅玕玗玓玔玒町甹疔疕皁礽耴肕肙肐肒肜芐芏芅芎芑芓����������������������������������芊芃芄豸迉辿邟邡邥邞邧邠阰阨阯阭丳侘佼侅佽侀侇佶佴侉侄佷佌侗佪侚佹侁佸侐侜侔侞侒侂侕佫佮冞冼冾刵刲刳剆刱劼匊匋匼厒厔咇呿咁咑咂咈呫呺呾呥呬呴呦咍呯呡呠咘呣呧呤囷囹坯坲坭坫坱坰坶垀坵坻坳坴坢�\".split(\"\");\nfor(j = 0; j != D[203].length; ++j) if(D[203][j].charCodeAt(0) !== 0xFFFD) { e[D[203][j]] = 51968 + j; d[51968 + j] = D[203][j];}\nD[204] = \"����������������������������������������������������������������坨坽夌奅妵妺姏姎妲姌姁妶妼姃姖妱妽姀姈妴姇孢孥宓宕屄屇岮岤岠岵岯岨岬岟岣岭岢岪岧岝岥岶岰岦帗帔帙弨弢弣弤彔徂彾彽忞忥怭怦怙怲怋����������������������������������怴怊怗怳怚怞怬怢怍怐怮怓怑怌怉怜戔戽抭抴拑抾抪抶拊抮抳抯抻抩抰抸攽斨斻昉旼昄昒昈旻昃昋昍昅旽昑昐曶朊枅杬枎枒杶杻枘枆构杴枍枌杺枟枑枙枃杽极杸杹枔欥殀歾毞氝沓泬泫泮泙沶泔沭泧沷泐泂沺泃泆泭泲�\".split(\"\");\nfor(j = 0; j != D[204].length; ++j) if(D[204][j].charCodeAt(0) !== 0xFFFD) { e[D[204][j]] = 52224 + j; d[52224 + j] = D[204][j];}\nD[205] = \"����������������������������������������������������������������泒泝沴沊沝沀泞泀洰泍泇沰泹泏泩泑炔炘炅炓炆炄炑炖炂炚炃牪狖狋狘狉狜狒狔狚狌狑玤玡玭玦玢玠玬玝瓝瓨甿畀甾疌疘皯盳盱盰盵矸矼矹矻矺����������������������������������矷祂礿秅穸穻竻籵糽耵肏肮肣肸肵肭舠芠苀芫芚芘芛芵芧芮芼芞芺芴芨芡芩苂芤苃芶芢虰虯虭虮豖迒迋迓迍迖迕迗邲邴邯邳邰阹阽阼阺陃俍俅俓侲俉俋俁俔俜俙侻侳俛俇俖侺俀侹俬剄剉勀勂匽卼厗厖厙厘咺咡咭咥哏�\".split(\"\");\nfor(j = 0; j != D[205].length; ++j) if(D[205][j].charCodeAt(0) !== 0xFFFD) { e[D[205][j]] = 52480 + j; d[52480 + j] = D[205][j];}\nD[206] = \"����������������������������������������������������������������哃茍咷咮哖咶哅哆咠呰咼咢咾呲哞咰垵垞垟垤垌垗垝垛垔垘垏垙垥垚垕壴复奓姡姞姮娀姱姝姺姽姼姶姤姲姷姛姩姳姵姠姾姴姭宨屌峐峘峌峗峋峛����������������������������������峞峚峉峇峊峖峓峔峏峈峆峎峟峸巹帡帢帣帠帤庰庤庢庛庣庥弇弮彖徆怷怹恔恲恞恅恓恇恉恛恌恀恂恟怤恄恘恦恮扂扃拏挍挋拵挎挃拫拹挏挌拸拶挀挓挔拺挕拻拰敁敃斪斿昶昡昲昵昜昦昢昳昫昺昝昴昹昮朏朐柁柲柈枺�\".split(\"\");\nfor(j = 0; j != D[206].length; ++j) if(D[206][j].charCodeAt(0) !== 0xFFFD) { e[D[206][j]] = 52736 + j; d[52736 + j] = D[206][j];}\nD[207] = \"����������������������������������������������������������������柜枻柸柘柀枷柅柫柤柟枵柍枳柷柶柮柣柂枹柎柧柰枲柼柆柭柌枮柦柛柺柉柊柃柪柋欨殂殄殶毖毘毠氠氡洨洴洭洟洼洿洒洊泚洳洄洙洺洚洑洀洝浂����������������������������������洁洘洷洃洏浀洇洠洬洈洢洉洐炷炟炾炱炰炡炴炵炩牁牉牊牬牰牳牮狊狤狨狫狟狪狦狣玅珌珂珈珅玹玶玵玴珫玿珇玾珃珆玸珋瓬瓮甮畇畈疧疪癹盄眈眃眄眅眊盷盻盺矧矨砆砑砒砅砐砏砎砉砃砓祊祌祋祅祄秕种秏秖秎窀�\".split(\"\");\nfor(j = 0; j != D[207].length; ++j) if(D[207][j].charCodeAt(0) !== 0xFFFD) { e[D[207][j]] = 52992 + j; d[52992 + j] = D[207][j];}\nD[208] = \"����������������������������������������������������������������穾竑笀笁籺籸籹籿粀粁紃紈紁罘羑羍羾耇耎耏耔耷胘胇胠胑胈胂胐胅胣胙胜胊胕胉胏胗胦胍臿舡芔苙苾苹茇苨茀苕茺苫苖苴苬苡苲苵茌苻苶苰苪����������������������������������苤苠苺苳苭虷虴虼虳衁衎衧衪衩觓訄訇赲迣迡迮迠郱邽邿郕郅邾郇郋郈釔釓陔陏陑陓陊陎倞倅倇倓倢倰倛俵俴倳倷倬俶俷倗倜倠倧倵倯倱倎党冔冓凊凄凅凈凎剡剚剒剞剟剕剢勍匎厞唦哢唗唒哧哳哤唚哿唄唈哫唑唅哱�\".split(\"\");\nfor(j = 0; j != D[208].length; ++j) if(D[208][j].charCodeAt(0) !== 0xFFFD) { e[D[208][j]] = 53248 + j; d[53248 + j] = D[208][j];}\nD[209] = \"����������������������������������������������������������������唊哻哷哸哠唎唃唋圁圂埌堲埕埒垺埆垽垼垸垶垿埇埐垹埁夎奊娙娖娭娮娕娏娗娊娞娳孬宧宭宬尃屖屔峬峿峮峱峷崀峹帩帨庨庮庪庬弳弰彧恝恚恧����������������������������������恁悢悈悀悒悁悝悃悕悛悗悇悜悎戙扆拲挐捖挬捄捅挶捃揤挹捋捊挼挩捁挴捘捔捙挭捇挳捚捑挸捗捀捈敊敆旆旃旄旂晊晟晇晑朒朓栟栚桉栲栳栻桋桏栖栱栜栵栫栭栯桎桄栴栝栒栔栦栨栮桍栺栥栠欬欯欭欱欴歭肂殈毦毤�\".split(\"\");\nfor(j = 0; j != D[209].length; ++j) if(D[209][j].charCodeAt(0) !== 0xFFFD) { e[D[209][j]] = 53504 + j; d[53504 + j] = D[209][j];}\nD[210] = \"����������������������������������������������������������������毨毣毢毧氥浺浣浤浶洍浡涒浘浢浭浯涑涍淯浿涆浞浧浠涗浰浼浟涂涘洯浨涋浾涀涄洖涃浻浽浵涐烜烓烑烝烋缹烢烗烒烞烠烔烍烅烆烇烚烎烡牂牸����������������������������������牷牶猀狺狴狾狶狳狻猁珓珙珥珖玼珧珣珩珜珒珛珔珝珚珗珘珨瓞瓟瓴瓵甡畛畟疰痁疻痄痀疿疶疺皊盉眝眛眐眓眒眣眑眕眙眚眢眧砣砬砢砵砯砨砮砫砡砩砳砪砱祔祛祏祜祓祒祑秫秬秠秮秭秪秜秞秝窆窉窅窋窌窊窇竘笐�\".split(\"\");\nfor(j = 0; j != D[210].length; ++j) if(D[210][j].charCodeAt(0) !== 0xFFFD) { e[D[210][j]] = 53760 + j; d[53760 + j] = D[210][j];}\nD[211] = \"����������������������������������������������������������������笄笓笅笏笈笊笎笉笒粄粑粊粌粈粍粅紞紝紑紎紘紖紓紟紒紏紌罜罡罞罠罝罛羖羒翃翂翀耖耾耹胺胲胹胵脁胻脀舁舯舥茳茭荄茙荑茥荖茿荁茦茜茢����������������������������������荂荎茛茪茈茼荍茖茤茠茷茯茩荇荅荌荓茞茬荋茧荈虓虒蚢蚨蚖蚍蚑蚞蚇蚗蚆蚋蚚蚅蚥蚙蚡蚧蚕蚘蚎蚝蚐蚔衃衄衭衵衶衲袀衱衿衯袃衾衴衼訒豇豗豻貤貣赶赸趵趷趶軑軓迾迵适迿迻逄迼迶郖郠郙郚郣郟郥郘郛郗郜郤酐�\".split(\"\");\nfor(j = 0; j != D[211].length; ++j) if(D[211][j].charCodeAt(0) !== 0xFFFD) { e[D[211][j]] = 54016 + j; d[54016 + j] = D[211][j];}\nD[212] = \"����������������������������������������������������������������酎酏釕釢釚陜陟隼飣髟鬯乿偰偪偡偞偠偓偋偝偲偈偍偁偛偊偢倕偅偟偩偫偣偤偆偀偮偳偗偑凐剫剭剬剮勖勓匭厜啵啶唼啍啐唴唪啑啢唶唵唰啒啅����������������������������������唌唲啥啎唹啈唭唻啀啋圊圇埻堔埢埶埜埴堀埭埽堈埸堋埳埏堇埮埣埲埥埬埡堎埼堐埧堁堌埱埩埰堍堄奜婠婘婕婧婞娸娵婭婐婟婥婬婓婤婗婃婝婒婄婛婈媎娾婍娹婌婰婩婇婑婖婂婜孲孮寁寀屙崞崋崝崚崠崌崨崍崦崥崏�\".split(\"\");\nfor(j = 0; j != D[212].length; ++j) if(D[212][j].charCodeAt(0) !== 0xFFFD) { e[D[212][j]] = 54272 + j; d[54272 + j] = D[212][j];}\nD[213] = \"����������������������������������������������������������������崰崒崣崟崮帾帴庱庴庹庲庳弶弸徛徖徟悊悐悆悾悰悺惓惔惏惤惙惝惈悱惛悷惊悿惃惍惀挲捥掊掂捽掽掞掭掝掗掫掎捯掇掐据掯捵掜捭掮捼掤挻掟����������������������������������捸掅掁掑掍捰敓旍晥晡晛晙晜晢朘桹梇梐梜桭桮梮梫楖桯梣梬梩桵桴梲梏桷梒桼桫桲梪梀桱桾梛梖梋梠梉梤桸桻梑梌梊桽欶欳欷欸殑殏殍殎殌氪淀涫涴涳湴涬淩淢涷淶淔渀淈淠淟淖涾淥淜淝淛淴淊涽淭淰涺淕淂淏淉�\".split(\"\");\nfor(j = 0; j != D[213].length; ++j) if(D[213][j].charCodeAt(0) !== 0xFFFD) { e[D[213][j]] = 54528 + j; d[54528 + j] = D[213][j];}\nD[214] = \"����������������������������������������������������������������淐淲淓淽淗淍淣涻烺焍烷焗烴焌烰焄烳焐烼烿焆焓焀烸烶焋焂焎牾牻牼牿猝猗猇猑猘猊猈狿猏猞玈珶珸珵琄琁珽琇琀珺珼珿琌琋珴琈畤畣痎痒痏����������������������������������痋痌痑痐皏皉盓眹眯眭眱眲眴眳眽眥眻眵硈硒硉硍硊硌砦硅硐祤祧祩祪祣祫祡离秺秸秶秷窏窔窐笵筇笴笥笰笢笤笳笘笪笝笱笫笭笯笲笸笚笣粔粘粖粣紵紽紸紶紺絅紬紩絁絇紾紿絊紻紨罣羕羜羝羛翊翋翍翐翑翇翏翉耟�\".split(\"\");\nfor(j = 0; j != D[214].length; ++j) if(D[214][j].charCodeAt(0) !== 0xFFFD) { e[D[214][j]] = 54784 + j; d[54784 + j] = D[214][j];}\nD[215] = \"����������������������������������������������������������������耞耛聇聃聈脘脥脙脛脭脟脬脞脡脕脧脝脢舑舸舳舺舴舲艴莐莣莨莍荺荳莤荴莏莁莕莙荵莔莩荽莃莌莝莛莪莋荾莥莯莈莗莰荿莦莇莮荶莚虙虖蚿蚷����������������������������������蛂蛁蛅蚺蚰蛈蚹蚳蚸蛌蚴蚻蚼蛃蚽蚾衒袉袕袨袢袪袚袑袡袟袘袧袙袛袗袤袬袌袓袎覂觖觙觕訰訧訬訞谹谻豜豝豽貥赽赻赹趼跂趹趿跁軘軞軝軜軗軠軡逤逋逑逜逌逡郯郪郰郴郲郳郔郫郬郩酖酘酚酓酕釬釴釱釳釸釤釹釪�\".split(\"\");\nfor(j = 0; j != D[215].length; ++j) if(D[215][j].charCodeAt(0) !== 0xFFFD) { e[D[215][j]] = 55040 + j; d[55040 + j] = D[215][j];}\nD[216] = \"����������������������������������������������������������������釫釷釨釮镺閆閈陼陭陫陱陯隿靪頄飥馗傛傕傔傞傋傣傃傌傎傝偨傜傒傂傇兟凔匒匑厤厧喑喨喥喭啷噅喢喓喈喏喵喁喣喒喤啽喌喦啿喕喡喎圌堩堷����������������������������������堙堞堧堣堨埵塈堥堜堛堳堿堶堮堹堸堭堬堻奡媯媔媟婺媢媞婸媦婼媥媬媕媮娷媄媊媗媃媋媩婻婽媌媜媏媓媝寪寍寋寔寑寊寎尌尰崷嵃嵫嵁嵋崿崵嵑嵎嵕崳崺嵒崽崱嵙嵂崹嵉崸崼崲崶嵀嵅幄幁彘徦徥徫惉悹惌惢惎惄愔�\".split(\"\");\nfor(j = 0; j != D[216].length; ++j) if(D[216][j].charCodeAt(0) !== 0xFFFD) { e[D[216][j]] = 55296 + j; d[55296 + j] = D[216][j];}\nD[217] = \"����������������������������������������������������������������惲愊愖愅惵愓惸惼惾惁愃愘愝愐惿愄愋扊掔掱掰揎揥揨揯揃撝揳揊揠揶揕揲揵摡揟掾揝揜揄揘揓揂揇揌揋揈揰揗揙攲敧敪敤敜敨敥斌斝斞斮旐旒����������������������������������晼晬晻暀晱晹晪晲朁椌棓椄棜椪棬棪棱椏棖棷棫棤棶椓椐棳棡椇棌椈楰梴椑棯棆椔棸棐棽棼棨椋椊椗棎棈棝棞棦棴棑椆棔棩椕椥棇欹欻欿欼殔殗殙殕殽毰毲毳氰淼湆湇渟湉溈渼渽湅湢渫渿湁湝湳渜渳湋湀湑渻渃渮湞�\".split(\"\");\nfor(j = 0; j != D[217].length; ++j) if(D[217][j].charCodeAt(0) !== 0xFFFD) { e[D[217][j]] = 55552 + j; d[55552 + j] = D[217][j];}\nD[218] = \"����������������������������������������������������������������湨湜湡渱渨湠湱湫渹渢渰湓湥渧湸湤湷湕湹湒湦渵渶湚焠焞焯烻焮焱焣焥焢焲焟焨焺焛牋牚犈犉犆犅犋猒猋猰猢猱猳猧猲猭猦猣猵猌琮琬琰琫琖����������������������������������琚琡琭琱琤琣琝琩琠琲瓻甯畯畬痧痚痡痦痝痟痤痗皕皒盚睆睇睄睍睅睊睎睋睌矞矬硠硤硥硜硭硱硪确硰硩硨硞硢祴祳祲祰稂稊稃稌稄窙竦竤筊笻筄筈筌筎筀筘筅粢粞粨粡絘絯絣絓絖絧絪絏絭絜絫絒絔絩絑絟絎缾缿罥�\".split(\"\");\nfor(j = 0; j != D[218].length; ++j) if(D[218][j].charCodeAt(0) !== 0xFFFD) { e[D[218][j]] = 55808 + j; d[55808 + j] = D[218][j];}\nD[219] = \"����������������������������������������������������������������罦羢羠羡翗聑聏聐胾胔腃腊腒腏腇脽腍脺臦臮臷臸臹舄舼舽舿艵茻菏菹萣菀菨萒菧菤菼菶萐菆菈菫菣莿萁菝菥菘菿菡菋菎菖菵菉萉萏菞萑萆菂菳����������������������������������菕菺菇菑菪萓菃菬菮菄菻菗菢萛菛菾蛘蛢蛦蛓蛣蛚蛪蛝蛫蛜蛬蛩蛗蛨蛑衈衖衕袺裗袹袸裀袾袶袼袷袽袲褁裉覕覘覗觝觚觛詎詍訹詙詀詗詘詄詅詒詈詑詊詌詏豟貁貀貺貾貰貹貵趄趀趉跘跓跍跇跖跜跏跕跙跈跗跅軯軷軺�\".split(\"\");\nfor(j = 0; j != D[219].length; ++j) if(D[219][j].charCodeAt(0) !== 0xFFFD) { e[D[219][j]] = 56064 + j; d[56064 + j] = D[219][j];}\nD[220] = \"����������������������������������������������������������������軹軦軮軥軵軧軨軶軫軱軬軴軩逭逴逯鄆鄬鄄郿郼鄈郹郻鄁鄀鄇鄅鄃酡酤酟酢酠鈁鈊鈥鈃鈚鈦鈏鈌鈀鈒釿釽鈆鈄鈧鈂鈜鈤鈙鈗鈅鈖镻閍閌閐隇陾隈����������������������������������隉隃隀雂雈雃雱雰靬靰靮頇颩飫鳦黹亃亄亶傽傿僆傮僄僊傴僈僂傰僁傺傱僋僉傶傸凗剺剸剻剼嗃嗛嗌嗐嗋嗊嗝嗀嗔嗄嗩喿嗒喍嗏嗕嗢嗖嗈嗲嗍嗙嗂圔塓塨塤塏塍塉塯塕塎塝塙塥塛堽塣塱壼嫇嫄嫋媺媸媱媵媰媿嫈媻嫆�\".split(\"\");\nfor(j = 0; j != D[220].length; ++j) if(D[220][j].charCodeAt(0) !== 0xFFFD) { e[D[220][j]] = 56320 + j; d[56320 + j] = D[220][j];}\nD[221] = \"����������������������������������������������������������������媷嫀嫊媴媶嫍媹媐寖寘寙尟尳嵱嵣嵊嵥嵲嵬嵞嵨嵧嵢巰幏幎幊幍幋廅廌廆廋廇彀徯徭惷慉慊愫慅愶愲愮慆愯慏愩慀戠酨戣戥戤揅揱揫搐搒搉搠搤����������������������������������搳摃搟搕搘搹搷搢搣搌搦搰搨摁搵搯搊搚摀搥搧搋揧搛搮搡搎敯斒旓暆暌暕暐暋暊暙暔晸朠楦楟椸楎楢楱椿楅楪椹楂楗楙楺楈楉椵楬椳椽楥棰楸椴楩楀楯楄楶楘楁楴楌椻楋椷楜楏楑椲楒椯楻椼歆歅歃歂歈歁殛嗀毻毼�\".split(\"\");\nfor(j = 0; j != D[221].length; ++j) if(D[221][j].charCodeAt(0) !== 0xFFFD) { e[D[221][j]] = 56576 + j; d[56576 + j] = D[221][j];}\nD[222] = \"����������������������������������������������������������������毹毷毸溛滖滈溏滀溟溓溔溠溱溹滆滒溽滁溞滉溷溰滍溦滏溲溾滃滜滘溙溒溎溍溤溡溿溳滐滊溗溮溣煇煔煒煣煠煁煝煢煲煸煪煡煂煘煃煋煰煟煐煓����������������������������������煄煍煚牏犍犌犑犐犎猼獂猻猺獀獊獉瑄瑊瑋瑒瑑瑗瑀瑏瑐瑎瑂瑆瑍瑔瓡瓿瓾瓽甝畹畷榃痯瘏瘃痷痾痼痹痸瘐痻痶痭痵痽皙皵盝睕睟睠睒睖睚睩睧睔睙睭矠碇碚碔碏碄碕碅碆碡碃硹碙碀碖硻祼禂祽祹稑稘稙稒稗稕稢稓�\".split(\"\");\nfor(j = 0; j != D[222].length; ++j) if(D[222][j].charCodeAt(0) !== 0xFFFD) { e[D[222][j]] = 56832 + j; d[56832 + j] = D[222][j];}\nD[223] = \"����������������������������������������������������������������稛稐窣窢窞竫筦筤筭筴筩筲筥筳筱筰筡筸筶筣粲粴粯綈綆綀綍絿綅絺綎絻綃絼綌綔綄絽綒罭罫罧罨罬羦羥羧翛翜耡腤腠腷腜腩腛腢腲朡腞腶腧腯����������������������������������腄腡舝艉艄艀艂艅蓱萿葖葶葹蒏蒍葥葑葀蒆葧萰葍葽葚葙葴葳葝蔇葞萷萺萴葺葃葸萲葅萩菙葋萯葂萭葟葰萹葎葌葒葯蓅蒎萻葇萶萳葨葾葄萫葠葔葮葐蜋蜄蛷蜌蛺蛖蛵蝍蛸蜎蜉蜁蛶蜍蜅裖裋裍裎裞裛裚裌裐覅覛觟觥觤�\".split(\"\");\nfor(j = 0; j != D[223].length; ++j) if(D[223][j].charCodeAt(0) !== 0xFFFD) { e[D[223][j]] = 57088 + j; d[57088 + j] = D[223][j];}\nD[224] = \"����������������������������������������������������������������觡觠觢觜触詶誆詿詡訿詷誂誄詵誃誁詴詺谼豋豊豥豤豦貆貄貅賌赨赩趑趌趎趏趍趓趔趐趒跰跠跬跱跮跐跩跣跢跧跲跫跴輆軿輁輀輅輇輈輂輋遒逿����������������������������������遄遉逽鄐鄍鄏鄑鄖鄔鄋鄎酮酯鉈鉒鈰鈺鉦鈳鉥鉞銃鈮鉊鉆鉭鉬鉏鉠鉧鉯鈶鉡鉰鈱鉔鉣鉐鉲鉎鉓鉌鉖鈲閟閜閞閛隒隓隑隗雎雺雽雸雵靳靷靸靲頏頍頎颬飶飹馯馲馰馵骭骫魛鳪鳭鳧麀黽僦僔僗僨僳僛僪僝僤僓僬僰僯僣僠�\".split(\"\");\nfor(j = 0; j != D[224].length; ++j) if(D[224][j].charCodeAt(0) !== 0xFFFD) { e[D[224][j]] = 57344 + j; d[57344 + j] = D[224][j];}\nD[225] = \"����������������������������������������������������������������凘劀劁勩勫匰厬嘧嘕嘌嘒嗼嘏嘜嘁嘓嘂嗺嘝嘄嗿嗹墉塼墐墘墆墁塿塴墋塺墇墑墎塶墂墈塻墔墏壾奫嫜嫮嫥嫕嫪嫚嫭嫫嫳嫢嫠嫛嫬嫞嫝嫙嫨嫟孷寠����������������������������������寣屣嶂嶀嵽嶆嵺嶁嵷嶊嶉嶈嵾嵼嶍嵹嵿幘幙幓廘廑廗廎廜廕廙廒廔彄彃彯徶愬愨慁慞慱慳慒慓慲慬憀慴慔慺慛慥愻慪慡慖戩戧戫搫摍摛摝摴摶摲摳摽摵摦撦摎撂摞摜摋摓摠摐摿搿摬摫摙摥摷敳斠暡暠暟朅朄朢榱榶槉�\".split(\"\");\nfor(j = 0; j != D[225].length; ++j) if(D[225][j].charCodeAt(0) !== 0xFFFD) { e[D[225][j]] = 57600 + j; d[57600 + j] = D[225][j];}\nD[226] = \"����������������������������������������������������������������榠槎榖榰榬榼榑榙榎榧榍榩榾榯榿槄榽榤槔榹槊榚槏榳榓榪榡榞槙榗榐槂榵榥槆歊歍歋殞殟殠毃毄毾滎滵滱漃漥滸漷滻漮漉潎漙漚漧漘漻漒滭漊����������������������������������漶潳滹滮漭潀漰漼漵滫漇漎潃漅滽滶漹漜滼漺漟漍漞漈漡熇熐熉熀熅熂熏煻熆熁熗牄牓犗犕犓獃獍獑獌瑢瑳瑱瑵瑲瑧瑮甀甂甃畽疐瘖瘈瘌瘕瘑瘊瘔皸瞁睼瞅瞂睮瞀睯睾瞃碲碪碴碭碨硾碫碞碥碠碬碢碤禘禊禋禖禕禔禓�\".split(\"\");\nfor(j = 0; j != D[226].length; ++j) if(D[226][j].charCodeAt(0) !== 0xFFFD) { e[D[226][j]] = 57856 + j; d[57856 + j] = D[226][j];}\nD[227] = \"����������������������������������������������������������������禗禈禒禐稫穊稰稯稨稦窨窫窬竮箈箜箊箑箐箖箍箌箛箎箅箘劄箙箤箂粻粿粼粺綧綷緂綣綪緁緀緅綝緎緄緆緋緌綯綹綖綼綟綦綮綩綡緉罳翢翣翥翞����������������������������������耤聝聜膉膆膃膇膍膌膋舕蒗蒤蒡蒟蒺蓎蓂蒬蒮蒫蒹蒴蓁蓍蒪蒚蒱蓐蒝蒧蒻蒢蒔蓇蓌蒛蒩蒯蒨蓖蒘蒶蓏蒠蓗蓔蓒蓛蒰蒑虡蜳蜣蜨蝫蝀蜮蜞蜡蜙蜛蝃蜬蝁蜾蝆蜠蜲蜪蜭蜼蜒蜺蜱蜵蝂蜦蜧蜸蜤蜚蜰蜑裷裧裱裲裺裾裮裼裶裻�\".split(\"\");\nfor(j = 0; j != D[227].length; ++j) if(D[227][j].charCodeAt(0) !== 0xFFFD) { e[D[227][j]] = 58112 + j; d[58112 + j] = D[227][j];}\nD[228] = \"����������������������������������������������������������������裰裬裫覝覡覟覞觩觫觨誫誙誋誒誏誖谽豨豩賕賏賗趖踉踂跿踍跽踊踃踇踆踅跾踀踄輐輑輎輍鄣鄜鄠鄢鄟鄝鄚鄤鄡鄛酺酲酹酳銥銤鉶銛鉺銠銔銪銍����������������������������������銦銚銫鉹銗鉿銣鋮銎銂銕銢鉽銈銡銊銆銌銙銧鉾銇銩銝銋鈭隞隡雿靘靽靺靾鞃鞀鞂靻鞄鞁靿韎韍頖颭颮餂餀餇馝馜駃馹馻馺駂馽駇骱髣髧鬾鬿魠魡魟鳱鳲鳵麧僿儃儰僸儆儇僶僾儋儌僽儊劋劌勱勯噈噂噌嘵噁噊噉噆噘�\".split(\"\");\nfor(j = 0; j != D[228].length; ++j) if(D[228][j].charCodeAt(0) !== 0xFFFD) { e[D[228][j]] = 58368 + j; d[58368 + j] = D[228][j];}\nD[229] = \"����������������������������������������������������������������噚噀嘳嘽嘬嘾嘸嘪嘺圚墫墝墱墠墣墯墬墥墡壿嫿嫴嫽嫷嫶嬃嫸嬂嫹嬁嬇嬅嬏屧嶙嶗嶟嶒嶢嶓嶕嶠嶜嶡嶚嶞幩幝幠幜緳廛廞廡彉徲憋憃慹憱憰憢憉����������������������������������憛憓憯憭憟憒憪憡憍慦憳戭摮摰撖撠撅撗撜撏撋撊撌撣撟摨撱撘敶敺敹敻斲斳暵暰暩暲暷暪暯樀樆樗槥槸樕槱槤樠槿槬槢樛樝槾樧槲槮樔槷槧橀樈槦槻樍槼槫樉樄樘樥樏槶樦樇槴樖歑殥殣殢殦氁氀毿氂潁漦潾澇濆澒�\".split(\"\");\nfor(j = 0; j != D[229].length; ++j) if(D[229][j].charCodeAt(0) !== 0xFFFD) { e[D[229][j]] = 58624 + j; d[58624 + j] = D[229][j];}\nD[230] = \"����������������������������������������������������������������澍澉澌潢潏澅潚澖潶潬澂潕潲潒潐潗澔澓潝漀潡潫潽潧澐潓澋潩潿澕潣潷潪潻熲熯熛熰熠熚熩熵熝熥熞熤熡熪熜熧熳犘犚獘獒獞獟獠獝獛獡獚獙����������������������������������獢璇璉璊璆璁瑽璅璈瑼瑹甈甇畾瘥瘞瘙瘝瘜瘣瘚瘨瘛皜皝皞皛瞍瞏瞉瞈磍碻磏磌磑磎磔磈磃磄磉禚禡禠禜禢禛歶稹窲窴窳箷篋箾箬篎箯箹篊箵糅糈糌糋緷緛緪緧緗緡縃緺緦緶緱緰緮緟罶羬羰羭翭翫翪翬翦翨聤聧膣膟�\".split(\"\");\nfor(j = 0; j != D[230].length; ++j) if(D[230][j].charCodeAt(0) !== 0xFFFD) { e[D[230][j]] = 58880 + j; d[58880 + j] = D[230][j];}\nD[231] = \"����������������������������������������������������������������膞膕膢膙膗舖艏艓艒艐艎艑蔤蔻蔏蔀蔩蔎蔉蔍蔟蔊蔧蔜蓻蔫蓺蔈蔌蓴蔪蓲蔕蓷蓫蓳蓼蔒蓪蓩蔖蓾蔨蔝蔮蔂蓽蔞蓶蔱蔦蓧蓨蓰蓯蓹蔘蔠蔰蔋蔙蔯虢����������������������������������蝖蝣蝤蝷蟡蝳蝘蝔蝛蝒蝡蝚蝑蝞蝭蝪蝐蝎蝟蝝蝯蝬蝺蝮蝜蝥蝏蝻蝵蝢蝧蝩衚褅褌褔褋褗褘褙褆褖褑褎褉覢覤覣觭觰觬諏諆誸諓諑諔諕誻諗誾諀諅諘諃誺誽諙谾豍貏賥賟賙賨賚賝賧趠趜趡趛踠踣踥踤踮踕踛踖踑踙踦踧�\".split(\"\");\nfor(j = 0; j != D[231].length; ++j) if(D[231][j].charCodeAt(0) !== 0xFFFD) { e[D[231][j]] = 59136 + j; d[59136 + j] = D[231][j];}\nD[232] = \"����������������������������������������������������������������踔踒踘踓踜踗踚輬輤輘輚輠輣輖輗遳遰遯遧遫鄯鄫鄩鄪鄲鄦鄮醅醆醊醁醂醄醀鋐鋃鋄鋀鋙銶鋏鋱鋟鋘鋩鋗鋝鋌鋯鋂鋨鋊鋈鋎鋦鋍鋕鋉鋠鋞鋧鋑鋓����������������������������������銵鋡鋆銴镼閬閫閮閰隤隢雓霅霈霂靚鞊鞎鞈韐韏頞頝頦頩頨頠頛頧颲餈飺餑餔餖餗餕駜駍駏駓駔駎駉駖駘駋駗駌骳髬髫髳髲髱魆魃魧魴魱魦魶魵魰魨魤魬鳼鳺鳽鳿鳷鴇鴀鳹鳻鴈鴅鴄麃黓鼏鼐儜儓儗儚儑凞匴叡噰噠噮�\".split(\"\");\nfor(j = 0; j != D[232].length; ++j) if(D[232][j].charCodeAt(0) !== 0xFFFD) { e[D[232][j]] = 59392 + j; d[59392 + j] = D[232][j];}\nD[233] = \"����������������������������������������������������������������噳噦噣噭噲噞噷圜圛壈墽壉墿墺壂墼壆嬗嬙嬛嬡嬔嬓嬐嬖嬨嬚嬠嬞寯嶬嶱嶩嶧嶵嶰嶮嶪嶨嶲嶭嶯嶴幧幨幦幯廩廧廦廨廥彋徼憝憨憖懅憴懆懁懌憺����������������������������������憿憸憌擗擖擐擏擉撽撉擃擛擳擙攳敿敼斢曈暾曀曊曋曏暽暻暺曌朣樴橦橉橧樲橨樾橝橭橶橛橑樨橚樻樿橁橪橤橐橏橔橯橩橠樼橞橖橕橍橎橆歕歔歖殧殪殫毈毇氄氃氆澭濋澣濇澼濎濈潞濄澽澞濊澨瀄澥澮澺澬澪濏澿澸�\".split(\"\");\nfor(j = 0; j != D[233].length; ++j) if(D[233][j].charCodeAt(0) !== 0xFFFD) { e[D[233][j]] = 59648 + j; d[59648 + j] = D[233][j];}\nD[234] = \"����������������������������������������������������������������澢濉澫濍澯澲澰燅燂熿熸燖燀燁燋燔燊燇燏熽燘熼燆燚燛犝犞獩獦獧獬獥獫獪瑿璚璠璔璒璕璡甋疀瘯瘭瘱瘽瘳瘼瘵瘲瘰皻盦瞚瞝瞡瞜瞛瞢瞣瞕瞙����������������������������������瞗磝磩磥磪磞磣磛磡磢磭磟磠禤穄穈穇窶窸窵窱窷篞篣篧篝篕篥篚篨篹篔篪篢篜篫篘篟糒糔糗糐糑縒縡縗縌縟縠縓縎縜縕縚縢縋縏縖縍縔縥縤罃罻罼罺羱翯耪耩聬膱膦膮膹膵膫膰膬膴膲膷膧臲艕艖艗蕖蕅蕫蕍蕓蕡蕘�\".split(\"\");\nfor(j = 0; j != D[234].length; ++j) if(D[234][j].charCodeAt(0) !== 0xFFFD) { e[D[234][j]] = 59904 + j; d[59904 + j] = D[234][j];}\nD[235] = \"����������������������������������������������������������������蕀蕆蕤蕁蕢蕄蕑蕇蕣蔾蕛蕱蕎蕮蕵蕕蕧蕠薌蕦蕝蕔蕥蕬虣虥虤螛螏螗螓螒螈螁螖螘蝹螇螣螅螐螑螝螄螔螜螚螉褞褦褰褭褮褧褱褢褩褣褯褬褟觱諠����������������������������������諢諲諴諵諝謔諤諟諰諈諞諡諨諿諯諻貑貒貐賵賮賱賰賳赬赮趥趧踳踾踸蹀蹅踶踼踽蹁踰踿躽輶輮輵輲輹輷輴遶遹遻邆郺鄳鄵鄶醓醐醑醍醏錧錞錈錟錆錏鍺錸錼錛錣錒錁鍆錭錎錍鋋錝鋺錥錓鋹鋷錴錂錤鋿錩錹錵錪錔錌�\".split(\"\");\nfor(j = 0; j != D[235].length; ++j) if(D[235][j].charCodeAt(0) !== 0xFFFD) { e[D[235][j]] = 60160 + j; d[60160 + j] = D[235][j];}\nD[236] = \"����������������������������������������������������������������錋鋾錉錀鋻錖閼闍閾閹閺閶閿閵閽隩雔霋霒霐鞙鞗鞔韰韸頵頯頲餤餟餧餩馞駮駬駥駤駰駣駪駩駧骹骿骴骻髶髺髹髷鬳鮀鮅鮇魼魾魻鮂鮓鮒鮐魺鮕����������������������������������魽鮈鴥鴗鴠鴞鴔鴩鴝鴘鴢鴐鴙鴟麈麆麇麮麭黕黖黺鼒鼽儦儥儢儤儠儩勴嚓嚌嚍嚆嚄嚃噾嚂噿嚁壖壔壏壒嬭嬥嬲嬣嬬嬧嬦嬯嬮孻寱寲嶷幬幪徾徻懃憵憼懧懠懥懤懨懞擯擩擣擫擤擨斁斀斶旚曒檍檖檁檥檉檟檛檡檞檇檓檎�\".split(\"\");\nfor(j = 0; j != D[236].length; ++j) if(D[236][j].charCodeAt(0) !== 0xFFFD) { e[D[236][j]] = 60416 + j; d[60416 + j] = D[236][j];}\nD[237] = \"����������������������������������������������������������������檕檃檨檤檑橿檦檚檅檌檒歛殭氉濌澩濴濔濣濜濭濧濦濞濲濝濢濨燡燱燨燲燤燰燢獳獮獯璗璲璫璐璪璭璱璥璯甐甑甒甏疄癃癈癉癇皤盩瞵瞫瞲瞷瞶����������������������������������瞴瞱瞨矰磳磽礂磻磼磲礅磹磾礄禫禨穜穛穖穘穔穚窾竀竁簅簏篲簀篿篻簎篴簋篳簂簉簃簁篸篽簆篰篱簐簊糨縭縼繂縳顈縸縪繉繀繇縩繌縰縻縶繄縺罅罿罾罽翴翲耬膻臄臌臊臅臇膼臩艛艚艜薃薀薏薧薕薠薋薣蕻薤薚薞�\".split(\"\");\nfor(j = 0; j != D[237].length; ++j) if(D[237][j].charCodeAt(0) !== 0xFFFD) { e[D[237][j]] = 60672 + j; d[60672 + j] = D[237][j];}\nD[238] = \"����������������������������������������������������������������蕷蕼薉薡蕺蕸蕗薎薖薆薍薙薝薁薢薂薈薅蕹蕶薘薐薟虨螾螪螭蟅螰螬螹螵螼螮蟉蟃蟂蟌螷螯蟄蟊螴螶螿螸螽蟞螲褵褳褼褾襁襒褷襂覭覯覮觲觳謞����������������������������������謘謖謑謅謋謢謏謒謕謇謍謈謆謜謓謚豏豰豲豱豯貕貔賹赯蹎蹍蹓蹐蹌蹇轃轀邅遾鄸醚醢醛醙醟醡醝醠鎡鎃鎯鍤鍖鍇鍼鍘鍜鍶鍉鍐鍑鍠鍭鎏鍌鍪鍹鍗鍕鍒鍏鍱鍷鍻鍡鍞鍣鍧鎀鍎鍙闇闀闉闃闅閷隮隰隬霠霟霘霝霙鞚鞡鞜�\".split(\"\");\nfor(j = 0; j != D[238].length; ++j) if(D[238][j].charCodeAt(0) !== 0xFFFD) { e[D[238][j]] = 60928 + j; d[60928 + j] = D[238][j];}\nD[239] = \"����������������������������������������������������������������鞞鞝韕韔韱顁顄顊顉顅顃餥餫餬餪餳餲餯餭餱餰馘馣馡騂駺駴駷駹駸駶駻駽駾駼騃骾髾髽鬁髼魈鮚鮨鮞鮛鮦鮡鮥鮤鮆鮢鮠鮯鴳鵁鵧鴶鴮鴯鴱鴸鴰����������������������������������鵅鵂鵃鴾鴷鵀鴽翵鴭麊麉麍麰黈黚黻黿鼤鼣鼢齔龠儱儭儮嚘嚜嚗嚚嚝嚙奰嬼屩屪巀幭幮懘懟懭懮懱懪懰懫懖懩擿攄擽擸攁攃擼斔旛曚曛曘櫅檹檽櫡櫆檺檶檷櫇檴檭歞毉氋瀇瀌瀍瀁瀅瀔瀎濿瀀濻瀦濼濷瀊爁燿燹爃燽獶�\".split(\"\");\nfor(j = 0; j != D[239].length; ++j) if(D[239][j].charCodeAt(0) !== 0xFFFD) { e[D[239][j]] = 61184 + j; d[61184 + j] = D[239][j];}\nD[240] = \"����������������������������������������������������������������璸瓀璵瓁璾璶璻瓂甔甓癜癤癙癐癓癗癚皦皽盬矂瞺磿礌礓礔礉礐礒礑禭禬穟簜簩簙簠簟簭簝簦簨簢簥簰繜繐繖繣繘繢繟繑繠繗繓羵羳翷翸聵臑臒����������������������������������臐艟艞薴藆藀藃藂薳薵薽藇藄薿藋藎藈藅薱薶藒蘤薸薷薾虩蟧蟦蟢蟛蟫蟪蟥蟟蟳蟤蟔蟜蟓蟭蟘蟣螤蟗蟙蠁蟴蟨蟝襓襋襏襌襆襐襑襉謪謧謣謳謰謵譇謯謼謾謱謥謷謦謶謮謤謻謽謺豂豵貙貘貗賾贄贂贀蹜蹢蹠蹗蹖蹞蹥蹧�\".split(\"\");\nfor(j = 0; j != D[240].length; ++j) if(D[240][j].charCodeAt(0) !== 0xFFFD) { e[D[240][j]] = 61440 + j; d[61440 + j] = D[240][j];}\nD[241] = \"����������������������������������������������������������������蹛蹚蹡蹝蹩蹔轆轇轈轋鄨鄺鄻鄾醨醥醧醯醪鎵鎌鎒鎷鎛鎝鎉鎧鎎鎪鎞鎦鎕鎈鎙鎟鎍鎱鎑鎲鎤鎨鎴鎣鎥闒闓闑隳雗雚巂雟雘雝霣霢霥鞬鞮鞨鞫鞤鞪����������������������������������鞢鞥韗韙韖韘韺顐顑顒颸饁餼餺騏騋騉騍騄騑騊騅騇騆髀髜鬈鬄鬅鬩鬵魊魌魋鯇鯆鯃鮿鯁鮵鮸鯓鮶鯄鮹鮽鵜鵓鵏鵊鵛鵋鵙鵖鵌鵗鵒鵔鵟鵘鵚麎麌黟鼁鼀鼖鼥鼫鼪鼩鼨齌齕儴儵劖勷厴嚫嚭嚦嚧嚪嚬壚壝壛夒嬽嬾嬿巃幰�\".split(\"\");\nfor(j = 0; j != D[241].length; ++j) if(D[241][j].charCodeAt(0) !== 0xFFFD) { e[D[241][j]] = 61696 + j; d[61696 + j] = D[241][j];}\nD[242] = \"����������������������������������������������������������������徿懻攇攐攍攉攌攎斄旞旝曞櫧櫠櫌櫑櫙櫋櫟櫜櫐櫫櫏櫍櫞歠殰氌瀙瀧瀠瀖瀫瀡瀢瀣瀩瀗瀤瀜瀪爌爊爇爂爅犥犦犤犣犡瓋瓅璷瓃甖癠矉矊矄矱礝礛����������������������������������礡礜礗礞禰穧穨簳簼簹簬簻糬糪繶繵繸繰繷繯繺繲繴繨罋罊羃羆羷翽翾聸臗臕艤艡艣藫藱藭藙藡藨藚藗藬藲藸藘藟藣藜藑藰藦藯藞藢蠀蟺蠃蟶蟷蠉蠌蠋蠆蟼蠈蟿蠊蠂襢襚襛襗襡襜襘襝襙覈覷覶觶譐譈譊譀譓譖譔譋譕�\".split(\"\");\nfor(j = 0; j != D[242].length; ++j) if(D[242][j].charCodeAt(0) !== 0xFFFD) { e[D[242][j]] = 61952 + j; d[61952 + j] = D[242][j];}\nD[243] = \"����������������������������������������������������������������譑譂譒譗豃豷豶貚贆贇贉趬趪趭趫蹭蹸蹳蹪蹯蹻軂轒轑轏轐轓辴酀鄿醰醭鏞鏇鏏鏂鏚鏐鏹鏬鏌鏙鎩鏦鏊鏔鏮鏣鏕鏄鏎鏀鏒鏧镽闚闛雡霩霫霬霨霦����������������������������������鞳鞷鞶韝韞韟顜顙顝顗颿颽颻颾饈饇饃馦馧騚騕騥騝騤騛騢騠騧騣騞騜騔髂鬋鬊鬎鬌鬷鯪鯫鯠鯞鯤鯦鯢鯰鯔鯗鯬鯜鯙鯥鯕鯡鯚鵷鶁鶊鶄鶈鵱鶀鵸鶆鶋鶌鵽鵫鵴鵵鵰鵩鶅鵳鵻鶂鵯鵹鵿鶇鵨麔麑黀黼鼭齀齁齍齖齗齘匷嚲�\".split(\"\");\nfor(j = 0; j != D[243].length; ++j) if(D[243][j].charCodeAt(0) !== 0xFFFD) { e[D[243][j]] = 62208 + j; d[62208 + j] = D[243][j];}\nD[244] = \"����������������������������������������������������������������嚵嚳壣孅巆巇廮廯忀忁懹攗攖攕攓旟曨曣曤櫳櫰櫪櫨櫹櫱櫮櫯瀼瀵瀯瀷瀴瀱灂瀸瀿瀺瀹灀瀻瀳灁爓爔犨獽獼璺皫皪皾盭矌矎矏矍矲礥礣礧礨礤礩����������������������������������禲穮穬穭竷籉籈籊籇籅糮繻繾纁纀羺翿聹臛臙舋艨艩蘢藿蘁藾蘛蘀藶蘄蘉蘅蘌藽蠙蠐蠑蠗蠓蠖襣襦覹觷譠譪譝譨譣譥譧譭趮躆躈躄轙轖轗轕轘轚邍酃酁醷醵醲醳鐋鐓鏻鐠鐏鐔鏾鐕鐐鐨鐙鐍鏵鐀鏷鐇鐎鐖鐒鏺鐉鏸鐊鏿�\".split(\"\");\nfor(j = 0; j != D[244].length; ++j) if(D[244][j].charCodeAt(0) !== 0xFFFD) { e[D[244][j]] = 62464 + j; d[62464 + j] = D[244][j];}\nD[245] = \"����������������������������������������������������������������鏼鐌鏶鐑鐆闞闠闟霮霯鞹鞻韽韾顠顢顣顟飁飂饐饎饙饌饋饓騲騴騱騬騪騶騩騮騸騭髇髊髆鬐鬒鬑鰋鰈鯷鰅鰒鯸鱀鰇鰎鰆鰗鰔鰉鶟鶙鶤鶝鶒鶘鶐鶛����������������������������������鶠鶔鶜鶪鶗鶡鶚鶢鶨鶞鶣鶿鶩鶖鶦鶧麙麛麚黥黤黧黦鼰鼮齛齠齞齝齙龑儺儹劘劗囃嚽嚾孈孇巋巏廱懽攛欂櫼欃櫸欀灃灄灊灈灉灅灆爝爚爙獾甗癪矐礭礱礯籔籓糲纊纇纈纋纆纍罍羻耰臝蘘蘪蘦蘟蘣蘜蘙蘧蘮蘡蘠蘩蘞蘥�\".split(\"\");\nfor(j = 0; j != D[245].length; ++j) if(D[245][j].charCodeAt(0) !== 0xFFFD) { e[D[245][j]] = 62720 + j; d[62720 + j] = D[245][j];}\nD[246] = \"����������������������������������������������������������������蠩蠝蠛蠠蠤蠜蠫衊襭襩襮襫觺譹譸譅譺譻贐贔趯躎躌轞轛轝酆酄酅醹鐿鐻鐶鐩鐽鐼鐰鐹鐪鐷鐬鑀鐱闥闤闣霵霺鞿韡顤飉飆飀饘饖騹騽驆驄驂驁騺����������������������������������騿髍鬕鬗鬘鬖鬺魒鰫鰝鰜鰬鰣鰨鰩鰤鰡鶷鶶鶼鷁鷇鷊鷏鶾鷅鷃鶻鶵鷎鶹鶺鶬鷈鶱鶭鷌鶳鷍鶲鹺麜黫黮黭鼛鼘鼚鼱齎齥齤龒亹囆囅囋奱孋孌巕巑廲攡攠攦攢欋欈欉氍灕灖灗灒爞爟犩獿瓘瓕瓙瓗癭皭礵禴穰穱籗籜籙籛籚�\".split(\"\");\nfor(j = 0; j != D[246].length; ++j) if(D[246][j].charCodeAt(0) !== 0xFFFD) { e[D[246][j]] = 62976 + j; d[62976 + j] = D[246][j];}\nD[247] = \"����������������������������������������������������������������糴糱纑罏羇臞艫蘴蘵蘳蘬蘲蘶蠬蠨蠦蠪蠥襱覿覾觻譾讄讂讆讅譿贕躕躔躚躒躐躖躗轠轢酇鑌鑐鑊鑋鑏鑇鑅鑈鑉鑆霿韣顪顩飋饔饛驎驓驔驌驏驈驊����������������������������������驉驒驐髐鬙鬫鬻魖魕鱆鱈鰿鱄鰹鰳鱁鰼鰷鰴鰲鰽鰶鷛鷒鷞鷚鷋鷐鷜鷑鷟鷩鷙鷘鷖鷵鷕鷝麶黰鼵鼳鼲齂齫龕龢儽劙壨壧奲孍巘蠯彏戁戃戄攩攥斖曫欑欒欏毊灛灚爢玂玁玃癰矔籧籦纕艬蘺虀蘹蘼蘱蘻蘾蠰蠲蠮蠳襶襴襳觾�\".split(\"\");\nfor(j = 0; j != D[247].length; ++j) if(D[247][j].charCodeAt(0) !== 0xFFFD) { e[D[247][j]] = 63232 + j; d[63232 + j] = D[247][j];}\nD[248] = \"����������������������������������������������������������������讌讎讋讈豅贙躘轤轣醼鑢鑕鑝鑗鑞韄韅頀驖驙鬞鬟鬠鱒鱘鱐鱊鱍鱋鱕鱙鱌鱎鷻鷷鷯鷣鷫鷸鷤鷶鷡鷮鷦鷲鷰鷢鷬鷴鷳鷨鷭黂黐黲黳鼆鼜鼸鼷鼶齃齏����������������������������������齱齰齮齯囓囍孎屭攭曭曮欓灟灡灝灠爣瓛瓥矕礸禷禶籪纗羉艭虃蠸蠷蠵衋讔讕躞躟躠躝醾醽釂鑫鑨鑩雥靆靃靇韇韥驞髕魙鱣鱧鱦鱢鱞鱠鸂鷾鸇鸃鸆鸅鸀鸁鸉鷿鷽鸄麠鼞齆齴齵齶囔攮斸欘欙欗欚灢爦犪矘矙礹籩籫糶纚�\".split(\"\");\nfor(j = 0; j != D[248].length; ++j) if(D[248][j].charCodeAt(0) !== 0xFFFD) { e[D[248][j]] = 63488 + j; d[63488 + j] = D[248][j];}\nD[249] = \"����������������������������������������������������������������纘纛纙臠臡虆虇虈襹襺襼襻觿讘讙躥躤躣鑮鑭鑯鑱鑳靉顲饟鱨鱮鱭鸋鸍鸐鸏鸒鸑麡黵鼉齇齸齻齺齹圞灦籯蠼趲躦釃鑴鑸鑶鑵驠鱴鱳鱱鱵鸔鸓黶鼊����������������������������������龤灨灥糷虪蠾蠽蠿讞貜躩軉靋顳顴飌饡馫驤驦驧鬤鸕鸗齈戇欞爧虌躨钂钀钁驩驨鬮鸙爩虋讟钃鱹麷癵驫鱺鸝灩灪麤齾齉龘碁銹裏墻恒粧嫺╔╦╗╠╬╣╚╩╝╒╤╕╞╪╡╘╧╛╓╥╖╟╫╢╙╨╜║═╭╮╰╯▓�\".split(\"\");\nfor(j = 0; j != D[249].length; ++j) if(D[249][j].charCodeAt(0) !== 0xFFFD) { e[D[249][j]] = 63744 + j; d[63744 + j] = D[249][j];}\nreturn {\"enc\": e, \"dec\": d }; })();\ncptable[1250] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚�„…†‡�‰Š‹ŚŤŽŹ�‘’“”•–—�™š›śťžź ˇ˘Ł¤Ą¦§¨©Ş«¬­®Ż°±˛ł´µ¶·¸ąş»Ľ˝ľżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1251] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—�™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬­®Ї°±Ііґµ¶·ё№є»јЅѕїАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1252] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1253] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡�‰�‹�����‘’“”•–—�™�›���� ΅Ά£¤¥¦§¨©�«¬­®―°±²³΄µ¶·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1254] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ����‘’“”•–—˜™š›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖ×ØÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1255] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰�‹�����‘’“”•–—˜™�›���� ¡¢£₪¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾¿ְֱֲֳִֵֶַָֹ�ֻּֽ־ֿ׀ׁׂ׃װױײ׳״�������אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏�\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1256] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€پ‚ƒ„…†‡ˆ‰ٹ‹Œچژڈگ‘’“”•–—ک™ڑ›œ‌‍ں ،¢£¤¥¦§¨©ھ«¬­®¯°±²³´µ¶·¸¹؛»¼½¾؟ہءآأؤإئابةتثجحخدذرزسشصض×طظعغـفقكàلâمنهوçèéêëىيîïًٌٍَôُِ÷ّùْûü‎‏ے\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1257] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚�„…†‡�‰�‹�¨ˇ¸�‘’“”•–—�™�›�¯˛� �¢£¤�¦§Ø©Ŗ«¬­®Æ°±²³´µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž˙\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[1258] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰�‹Œ����‘’“”•–—˜™�›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖ×ØÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[10000] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›ﬁﬂ‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[10006] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~Ä¹²É³ÖÜ΅àâä΄¨çéèêë£™îï•½‰ôö¦­ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ�\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[10007] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°¢£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµ∂ЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю¤\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[10008] = (function(){ var d = [], e = {}, D = [], j;\nD[0] = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~���������������������������������������������������������������������������������������\".split(\"\");\nfor(j = 0; j != D[0].length; ++j) if(D[0][j].charCodeAt(0) !== 0xFFFD) { e[D[0][j]] = 0 + j; d[0 + j] = D[0][j];}\nD[161] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������　、。・ˉˇ¨〃々―～�…‘’“”〔〕〈〉《》「」『』〖〗【】±×÷∶∧∨∑∏∪∩∈∷√⊥∥∠⌒⊙∫∮≡≌≈∽∝≠≮≯≤≥∞∵∴♂♀°′″℃＄¤￠￡‰§№☆★○●◎◇◆□■△▲※→←↑↓〓�\".split(\"\");\nfor(j = 0; j != D[161].length; ++j) if(D[161][j].charCodeAt(0) !== 0xFFFD) { e[D[161][j]] = 41216 + j; d[41216 + j] = D[161][j];}\nD[162] = \"���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓⒔⒕⒖⒗⒘⒙⒚⒛⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂⒃⒄⒅⒆⒇①②③④⑤⑥⑦⑧⑨⑩��㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩��ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ���\".split(\"\");\nfor(j = 0; j != D[162].length; ++j) if(D[162][j].charCodeAt(0) !== 0xFFFD) { e[D[162][j]] = 41472 + j; d[41472 + j] = D[162][j];}\nD[163] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������！＂＃￥％＆＇（）＊＋，－．／０１２３４５６７８９：；＜＝＞？＠ＡＢＣＤＥＦＧＨＩＪＫＬＭＮＯＰＱＲＳＴＵＶＷＸＹＺ［＼］＾＿｀ａｂｃｄｅｆｇｈｉｊｋｌｍｎｏｐｑｒｓｔｕｖｗｘｙｚ｛｜｝￣�\".split(\"\");\nfor(j = 0; j != D[163].length; ++j) if(D[163][j].charCodeAt(0) !== 0xFFFD) { e[D[163][j]] = 41728 + j; d[41728 + j] = D[163][j];}\nD[164] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん������������\".split(\"\");\nfor(j = 0; j != D[164].length; ++j) if(D[164][j].charCodeAt(0) !== 0xFFFD) { e[D[164][j]] = 41984 + j; d[41984 + j] = D[164][j];}\nD[165] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ���������\".split(\"\");\nfor(j = 0; j != D[165].length; ++j) if(D[165][j].charCodeAt(0) !== 0xFFFD) { e[D[165][j]] = 42240 + j; d[42240 + j] = D[165][j];}\nD[166] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ��������αβγδεζηθικλμνξοπρστυφχψω���������������������������������������\".split(\"\");\nfor(j = 0; j != D[166].length; ++j) if(D[166][j].charCodeAt(0) !== 0xFFFD) { e[D[166][j]] = 42496 + j; d[42496 + j] = D[166][j];}\nD[167] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ���������������абвгдеёжзийклмнопрстуфхцчшщъыьэюя��������������\".split(\"\");\nfor(j = 0; j != D[167].length; ++j) if(D[167][j].charCodeAt(0) !== 0xFFFD) { e[D[167][j]] = 42752 + j; d[42752 + j] = D[167][j];}\nD[168] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜüê����������ㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ����������������������\".split(\"\");\nfor(j = 0; j != D[168].length; ++j) if(D[168][j].charCodeAt(0) !== 0xFFFD) { e[D[168][j]] = 43008 + j; d[43008 + j] = D[168][j];}\nD[169] = \"��������������������������������������������������������������������������������������������������������������������������������������������������������������������─━│┃┄┅┆┇┈┉┊┋┌┍┎┏┐┑┒┓└┕┖┗┘┙┚┛├┝┞┟┠┡┢┣┤┥┦┧┨┩┪┫┬┭┮┯┰┱┲┳┴┵┶┷┸┹┺┻┼┽┾┿╀╁╂╃╄╅╆╇╈╉╊╋����������������\".split(\"\");\nfor(j = 0; j != D[169].length; ++j) if(D[169][j].charCodeAt(0) !== 0xFFFD) { e[D[169][j]] = 43264 + j; d[43264 + j] = D[169][j];}\nD[176] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥�\".split(\"\");\nfor(j = 0; j != D[176].length; ++j) if(D[176][j].charCodeAt(0) !== 0xFFFD) { e[D[176][j]] = 45056 + j; d[45056 + j] = D[176][j];}\nD[177] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑北辈背贝钡倍狈备惫焙被奔苯本笨崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛鞭边编贬扁便变卞辨辩辫遍标彪膘表鳖憋别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳�\".split(\"\");\nfor(j = 0; j != D[177].length; ++j) if(D[177][j].charCodeAt(0) !== 0xFFFD) { e[D[177][j]] = 45312 + j; d[45312 + j] = D[177][j];}\nD[178] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������病并玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳捕卜哺补埠不布步簿部怖擦猜裁材才财睬踩采彩菜蔡餐参蚕残惭惨灿苍舱仓沧藏操糙槽曹草厕策侧册测层蹭插叉茬茶查碴搽察岔差诧拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖�\".split(\"\");\nfor(j = 0; j != D[178].length; ++j) if(D[178][j].charCodeAt(0) !== 0xFFFD) { e[D[178][j]] = 45568 + j; d[45568 + j] = D[178][j];}\nD[179] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������场尝常长偿肠厂敞畅唱倡超抄钞朝嘲潮巢吵炒车扯撤掣彻澈郴臣辰尘晨忱沉陈趁衬撑称城橙成呈乘程惩澄诚承逞骋秤吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽充冲虫崇宠抽酬畴踌稠愁筹仇绸瞅丑臭初出橱厨躇锄雏滁除楚�\".split(\"\");\nfor(j = 0; j != D[179].length; ++j) if(D[179][j].charCodeAt(0) !== 0xFFFD) { e[D[179][j]] = 45824 + j; d[45824 + j] = D[179][j];}\nD[180] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������础储矗搐触处揣川穿椽传船喘串疮窗幢床闯创吹炊捶锤垂春椿醇唇淳纯蠢戳绰疵茨磁雌辞慈瓷词此刺赐次聪葱囱匆从丛凑粗醋簇促蹿篡窜摧崔催脆瘁粹淬翠村存寸磋撮搓措挫错搭达答瘩打大呆歹傣戴带殆代贷袋待逮�\".split(\"\");\nfor(j = 0; j != D[180].length; ++j) if(D[180][j].charCodeAt(0) !== 0xFFFD) { e[D[180][j]] = 46080 + j; d[46080 + j] = D[180][j];}\nD[181] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������怠耽担丹单郸掸胆旦氮但惮淡诞弹蛋当挡党荡档刀捣蹈倒岛祷导到稻悼道盗德得的蹬灯登等瞪凳邓堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔颠掂滇碘点典靛垫电佃甸店惦奠淀殿碉叼雕凋刁掉吊钓调跌爹碟蝶迭谍叠�\".split(\"\");\nfor(j = 0; j != D[181].length; ++j) if(D[181][j].charCodeAt(0) !== 0xFFFD) { e[D[181][j]] = 46336 + j; d[46336 + j] = D[181][j];}\nD[182] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������丁盯叮钉顶鼎锭定订丢东冬董懂动栋侗恫冻洞兜抖斗陡豆逗痘都督毒犊独读堵睹赌杜镀肚度渡妒端短锻段断缎堆兑队对墩吨蹲敦顿囤钝盾遁掇哆多夺垛躲朵跺舵剁惰堕蛾峨鹅俄额讹娥恶厄扼遏鄂饿恩而儿耳尔饵洱二�\".split(\"\");\nfor(j = 0; j != D[182].length; ++j) if(D[182][j].charCodeAt(0) !== 0xFFFD) { e[D[182][j]] = 46592 + j; d[46592 + j] = D[182][j];}\nD[183] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������贰发罚筏伐乏阀法珐藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛坊芳方肪房防妨仿访纺放菲非啡飞肥匪诽吠肺废沸费芬酚吩氛分纷坟焚汾粉奋份忿愤粪丰封枫蜂峰锋风疯烽逢冯缝讽奉凤佛否夫敷肤孵扶拂辐幅氟符伏俘服�\".split(\"\");\nfor(j = 0; j != D[183].length; ++j) if(D[183][j].charCodeAt(0) !== 0xFFFD) { e[D[183][j]] = 46848 + j; d[46848 + j] = D[183][j];}\nD[184] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐噶嘎该改概钙盖溉干甘杆柑竿肝赶感秆敢赣冈刚钢缸肛纲岗港杠篙皋高膏羔糕搞镐稿告哥歌搁戈鸽胳疙割革葛格蛤阁隔铬个各给根跟耕更庚羹�\".split(\"\");\nfor(j = 0; j != D[184].length; ++j) if(D[184][j].charCodeAt(0) !== 0xFFFD) { e[D[184][j]] = 47104 + j; d[47104 + j] = D[184][j];}\nD[185] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������埂耿梗工攻功恭龚供躬公宫弓巩汞拱贡共钩勾沟苟狗垢构购够辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇刮瓜剐寡挂褂乖拐怪棺关官冠观管馆罐惯灌贯光广逛瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽辊滚棍锅郭国果裹过哈�\".split(\"\");\nfor(j = 0; j != D[185].length; ++j) if(D[185][j].charCodeAt(0) !== 0xFFFD) { e[D[185][j]] = 47360 + j; d[47360 + j] = D[185][j];}\nD[186] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������骸孩海氦亥害骇酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉夯杭航壕嚎豪毫郝好耗号浩呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺嘿黑痕很狠恨哼亨横衡恒轰哄烘虹鸿洪宏弘红喉侯猴吼厚候后呼乎忽瑚壶葫胡蝴狐糊湖�\".split(\"\");\nfor(j = 0; j != D[186].length; ++j) if(D[186][j].charCodeAt(0) !== 0xFFFD) { e[D[186][j]] = 47616 + j; d[47616 + j] = D[186][j];}\nD[187] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������弧虎唬护互沪户花哗华猾滑画划化话槐徊怀淮坏欢环桓还缓换患唤痪豢焕涣宦幻荒慌黄磺蝗簧皇凰惶煌晃幌恍谎灰挥辉徽恢蛔回毁悔慧卉惠晦贿秽会烩汇讳诲绘荤昏婚魂浑混豁活伙火获或惑霍货祸击圾基机畸稽积箕�\".split(\"\");\nfor(j = 0; j != D[187].length; ++j) if(D[187][j].charCodeAt(0) !== 0xFFFD) { e[D[187][j]] = 47872 + j; d[47872 + j] = D[187][j];}\nD[188] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������肌饥迹激讥鸡姬绩缉吉极棘辑籍集及急疾汲即嫉级挤几脊己蓟技冀季伎祭剂悸济寄寂计记既忌际妓继纪嘉枷夹佳家加荚颊贾甲钾假稼价架驾嫁歼监坚尖笺间煎兼肩艰奸缄茧检柬碱硷拣捡简俭剪减荐槛鉴践贱见键箭件�\".split(\"\");\nfor(j = 0; j != D[188].length; ++j) if(D[188][j].charCodeAt(0) !== 0xFFFD) { e[D[188][j]] = 48128 + j; d[48128 + j] = D[188][j];}\nD[189] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������健舰剑饯渐溅涧建僵姜将浆江疆蒋桨奖讲匠酱降蕉椒礁焦胶交郊浇骄娇嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较叫窖揭接皆秸街阶截劫节桔杰捷睫竭洁结解姐戒藉芥界借介疥诫届巾筋斤金今津襟紧锦仅谨进靳晋禁近烬浸�\".split(\"\");\nfor(j = 0; j != D[189].length; ++j) if(D[189][j].charCodeAt(0) !== 0xFFFD) { e[D[189][j]] = 48384 + j; d[48384 + j] = D[189][j];}\nD[190] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������尽劲荆兢茎睛晶鲸京惊精粳经井警景颈静境敬镜径痉靖竟竞净炯窘揪究纠玖韭久灸九酒厩救旧臼舅咎就疚鞠拘狙疽居驹菊局咀矩举沮聚拒据巨具距踞锯俱句惧炬剧捐鹃娟倦眷卷绢撅攫抉掘倔爵觉决诀绝均菌钧军君峻�\".split(\"\");\nfor(j = 0; j != D[190].length; ++j) if(D[190][j].charCodeAt(0) !== 0xFFFD) { e[D[190][j]] = 48640 + j; d[48640 + j] = D[190][j];}\nD[191] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������俊竣浚郡骏喀咖卡咯开揩楷凯慨刊堪勘坎砍看康慷糠扛抗亢炕考拷烤靠坷苛柯棵磕颗科壳咳可渴克刻客课肯啃垦恳坑吭空恐孔控抠口扣寇枯哭窟苦酷库裤夸垮挎跨胯块筷侩快宽款匡筐狂框矿眶旷况亏盔岿窥葵奎魁傀�\".split(\"\");\nfor(j = 0; j != D[191].length; ++j) if(D[191][j].charCodeAt(0) !== 0xFFFD) { e[D[191][j]] = 48896 + j; d[48896 + j] = D[191][j];}\nD[192] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������馈愧溃坤昆捆困括扩廓阔垃拉喇蜡腊辣啦莱来赖蓝婪栏拦篮阑兰澜谰揽览懒缆烂滥琅榔狼廊郎朗浪捞劳牢老佬姥酪烙涝勒乐雷镭蕾磊累儡垒擂肋类泪棱楞冷厘梨犁黎篱狸离漓理李里鲤礼莉荔吏栗丽厉励砾历利傈例俐�\".split(\"\");\nfor(j = 0; j != D[192].length; ++j) if(D[192][j].charCodeAt(0) !== 0xFFFD) { e[D[192][j]] = 49152 + j; d[49152 + j] = D[192][j];}\nD[193] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������痢立粒沥隶力璃哩俩联莲连镰廉怜涟帘敛脸链恋炼练粮凉梁粱良两辆量晾亮谅撩聊僚疗燎寥辽潦了撂镣廖料列裂烈劣猎琳林磷霖临邻鳞淋凛赁吝拎玲菱零龄铃伶羚凌灵陵岭领另令溜琉榴硫馏留刘瘤流柳六龙聋咙笼窿�\".split(\"\");\nfor(j = 0; j != D[193].length; ++j) if(D[193][j].charCodeAt(0) !== 0xFFFD) { e[D[193][j]] = 49408 + j; d[49408 + j] = D[193][j];}\nD[194] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������隆垄拢陇楼娄搂篓漏陋芦卢颅庐炉掳卤虏鲁麓碌露路赂鹿潞禄录陆戮驴吕铝侣旅履屡缕虑氯律率滤绿峦挛孪滦卵乱掠略抡轮伦仑沦纶论萝螺罗逻锣箩骡裸落洛骆络妈麻玛码蚂马骂嘛吗埋买麦卖迈脉瞒馒蛮满蔓曼慢漫�\".split(\"\");\nfor(j = 0; j != D[194].length; ++j) if(D[194][j].charCodeAt(0) !== 0xFFFD) { e[D[194][j]] = 49664 + j; d[49664 + j] = D[194][j];}\nD[195] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������谩芒茫盲氓忙莽猫茅锚毛矛铆卯茂冒帽貌贸么玫枚梅酶霉煤没眉媒镁每美昧寐妹媚门闷们萌蒙檬盟锰猛梦孟眯醚靡糜迷谜弥米秘觅泌蜜密幂棉眠绵冕免勉娩缅面苗描瞄藐秒渺庙妙蔑灭民抿皿敏悯闽明螟鸣铭名命谬摸�\".split(\"\");\nfor(j = 0; j != D[195].length; ++j) if(D[195][j].charCodeAt(0) !== 0xFFFD) { e[D[195][j]] = 49920 + j; d[49920 + j] = D[195][j];}\nD[196] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌谋牟某拇牡亩姆母墓暮幕募慕木目睦牧穆拿哪呐钠那娜纳氖乃奶耐奈南男难囊挠脑恼闹淖呢馁内嫩能妮霓倪泥尼拟你匿腻逆溺蔫拈年碾撵捻念娘酿鸟尿捏聂孽啮镊镍涅您柠狞凝宁�\".split(\"\");\nfor(j = 0; j != D[196].length; ++j) if(D[196][j].charCodeAt(0) !== 0xFFFD) { e[D[196][j]] = 50176 + j; d[50176 + j] = D[196][j];}\nD[197] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������拧泞牛扭钮纽脓浓农弄奴努怒女暖虐疟挪懦糯诺哦欧鸥殴藕呕偶沤啪趴爬帕怕琶拍排牌徘湃派攀潘盘磐盼畔判叛乓庞旁耪胖抛咆刨炮袍跑泡呸胚培裴赔陪配佩沛喷盆砰抨烹澎彭蓬棚硼篷膨朋鹏捧碰坯砒霹批披劈琵毗�\".split(\"\");\nfor(j = 0; j != D[197].length; ++j) if(D[197][j].charCodeAt(0) !== 0xFFFD) { e[D[197][j]] = 50432 + j; d[50432 + j] = D[197][j];}\nD[198] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������啤脾疲皮匹痞僻屁譬篇偏片骗飘漂瓢票撇瞥拼频贫品聘乒坪苹萍平凭瓶评屏坡泼颇婆破魄迫粕剖扑铺仆莆葡菩蒲埔朴圃普浦谱曝瀑期欺栖戚妻七凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑起岂乞企启契砌器气迄弃汽泣讫掐�\".split(\"\");\nfor(j = 0; j != D[198].length; ++j) if(D[198][j].charCodeAt(0) !== 0xFFFD) { e[D[198][j]] = 50688 + j; d[50688 + j] = D[198][j];}\nD[199] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������恰洽牵扦钎铅千迁签仟谦乾黔钱钳前潜遣浅谴堑嵌欠歉枪呛腔羌墙蔷强抢橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍切茄且怯窃钦侵亲秦琴勤芹擒禽寝沁青轻氢倾卿清擎晴氰情顷请庆琼穷秋丘邱球求囚酋泅趋区蛆曲躯屈驱渠�\".split(\"\");\nfor(j = 0; j != D[199].length; ++j) if(D[199][j].charCodeAt(0) !== 0xFFFD) { e[D[199][j]] = 50944 + j; d[50944 + j] = D[199][j];}\nD[200] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������取娶龋趣去圈颧权醛泉全痊拳犬券劝缺炔瘸却鹊榷确雀裙群然燃冉染瓤壤攘嚷让饶扰绕惹热壬仁人忍韧任认刃妊纫扔仍日戎茸蓉荣融熔溶容绒冗揉柔肉茹蠕儒孺如辱乳汝入褥软阮蕊瑞锐闰润若弱撒洒萨腮鳃塞赛三叁�\".split(\"\");\nfor(j = 0; j != D[200].length; ++j) if(D[200][j].charCodeAt(0) !== 0xFFFD) { e[D[200][j]] = 51200 + j; d[51200 + j] = D[200][j];}\nD[201] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������伞散桑嗓丧搔骚扫嫂瑟色涩森僧莎砂杀刹沙纱傻啥煞筛晒珊苫杉山删煽衫闪陕擅赡膳善汕扇缮墒伤商赏晌上尚裳梢捎稍烧芍勺韶少哨邵绍奢赊蛇舌舍赦摄射慑涉社设砷申呻伸身深娠绅神沈审婶甚肾慎渗声生甥牲升绳�\".split(\"\");\nfor(j = 0; j != D[201].length; ++j) if(D[201][j].charCodeAt(0) !== 0xFFFD) { e[D[201][j]] = 51456 + j; d[51456 + j] = D[201][j];}\nD[202] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������省盛剩胜圣师失狮施湿诗尸虱十石拾时什食蚀实识史矢使屎驶始式示士世柿事拭誓逝势是嗜噬适仕侍释饰氏市恃室视试收手首守寿授售受瘦兽蔬枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙署蜀黍鼠属术述树束戍竖墅庶数漱�\".split(\"\");\nfor(j = 0; j != D[202].length; ++j) if(D[202][j].charCodeAt(0) !== 0xFFFD) { e[D[202][j]] = 51712 + j; d[51712 + j] = D[202][j];}\nD[203] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������恕刷耍摔衰甩帅栓拴霜双爽谁水睡税吮瞬顺舜说硕朔烁斯撕嘶思私司丝死肆寺嗣四伺似饲巳松耸怂颂送宋讼诵搜艘擞嗽苏酥俗素速粟僳塑溯宿诉肃酸蒜算虽隋随绥髓碎岁穗遂隧祟孙损笋蓑梭唆缩琐索锁所塌他它她塔�\".split(\"\");\nfor(j = 0; j != D[203].length; ++j) if(D[203][j].charCodeAt(0) !== 0xFFFD) { e[D[203][j]] = 51968 + j; d[51968 + j] = D[203][j];}\nD[204] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������獭挞蹋踏胎苔抬台泰酞太态汰坍摊贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭汤塘搪堂棠膛唐糖倘躺淌趟烫掏涛滔绦萄桃逃淘陶讨套特藤腾疼誊梯剔踢锑提题蹄啼体替嚏惕涕剃屉天添填田甜恬舔腆挑条迢眺跳贴铁帖厅听烃�\".split(\"\");\nfor(j = 0; j != D[204].length; ++j) if(D[204][j].charCodeAt(0) !== 0xFFFD) { e[D[204][j]] = 52224 + j; d[52224 + j] = D[204][j];}\nD[205] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������汀廷停亭庭挺艇通桐酮瞳同铜彤童桶捅筒统痛偷投头透凸秃突图徒途涂屠土吐兔湍团推颓腿蜕褪退吞屯臀拖托脱鸵陀驮驼椭妥拓唾挖哇蛙洼娃瓦袜歪外豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕汪王亡枉网往旺望忘妄威�\".split(\"\");\nfor(j = 0; j != D[205].length; ++j) if(D[205][j].charCodeAt(0) !== 0xFFFD) { e[D[205][j]] = 52480 + j; d[52480 + j] = D[205][j];}\nD[206] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������巍微危韦违桅围唯惟为潍维苇萎委伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰卫瘟温蚊文闻纹吻稳紊问嗡翁瓮挝蜗涡窝我斡卧握沃巫呜钨乌污诬屋无芜梧吾吴毋武五捂午舞伍侮坞戊雾晤物勿务悟误昔熙析西硒矽晰嘻吸锡牺�\".split(\"\");\nfor(j = 0; j != D[206].length; ++j) if(D[206][j].charCodeAt(0) !== 0xFFFD) { e[D[206][j]] = 52736 + j; d[52736 + j] = D[206][j];}\nD[207] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������稀息希悉膝夕惜熄烯溪汐犀檄袭席习媳喜铣洗系隙戏细瞎虾匣霞辖暇峡侠狭下厦夏吓掀锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷限线相厢镶香箱襄湘乡翔祥详想响享项巷橡像向象萧硝霄削哮嚣销消宵淆晓�\".split(\"\");\nfor(j = 0; j != D[207].length; ++j) if(D[207][j].charCodeAt(0) !== 0xFFFD) { e[D[207][j]] = 52992 + j; d[52992 + j] = D[207][j];}\nD[208] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������小孝校肖啸笑效楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑薪芯锌欣辛新忻心信衅星腥猩惺兴刑型形邢行醒幸杏性姓兄凶胸匈汹雄熊休修羞朽嗅锈秀袖绣墟戌需虚嘘须徐许蓄酗叙旭序畜恤絮婿绪续轩喧宣悬旋玄�\".split(\"\");\nfor(j = 0; j != D[208].length; ++j) if(D[208][j].charCodeAt(0) !== 0xFFFD) { e[D[208][j]] = 53248 + j; d[53248 + j] = D[208][j];}\nD[209] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶�\".split(\"\");\nfor(j = 0; j != D[209].length; ++j) if(D[209][j].charCodeAt(0) !== 0xFFFD) { e[D[209][j]] = 53504 + j; d[53504 + j] = D[209][j];}\nD[210] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐�\".split(\"\");\nfor(j = 0; j != D[210].length; ++j) if(D[210][j].charCodeAt(0) !== 0xFFFD) { e[D[210][j]] = 53760 + j; d[53760 + j] = D[210][j];}\nD[211] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉�\".split(\"\");\nfor(j = 0; j != D[211].length; ++j) if(D[211][j].charCodeAt(0) !== 0xFFFD) { e[D[211][j]] = 54016 + j; d[54016 + j] = D[211][j];}\nD[212] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧�\".split(\"\");\nfor(j = 0; j != D[212].length; ++j) if(D[212][j].charCodeAt(0) !== 0xFFFD) { e[D[212][j]] = 54272 + j; d[54272 + j] = D[212][j];}\nD[213] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������铡闸眨栅榨咋乍炸诈摘斋宅窄债寨瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽樟章彰漳张掌涨杖丈帐账仗胀瘴障招昭找沼赵照罩兆肇召遮折哲蛰辙者锗蔗这浙珍斟真甄砧臻贞针侦枕疹诊震振镇阵蒸挣睁征狰争怔整拯正政�\".split(\"\");\nfor(j = 0; j != D[213].length; ++j) if(D[213][j].charCodeAt(0) !== 0xFFFD) { e[D[213][j]] = 54528 + j; d[54528 + j] = D[213][j];}\nD[214] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������帧症郑证芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒中盅忠钟衷终种肿重仲众舟周州洲诌粥轴肘帚咒皱宙昼骤珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑�\".split(\"\");\nfor(j = 0; j != D[214].length; ++j) if(D[214][j].charCodeAt(0) !== 0xFFFD) { e[D[214][j]] = 54784 + j; d[54784 + j] = D[214][j];}\nD[215] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������住注祝驻抓爪拽专砖转撰赚篆桩庄装妆撞壮状椎锥追赘坠缀谆准捉拙卓桌琢茁酌啄着灼浊兹咨资姿滋淄孜紫仔籽滓子自渍字鬃棕踪宗综总纵邹走奏揍租足卒族祖诅阻组钻纂嘴醉最罪尊遵昨左佐柞做作坐座������\".split(\"\");\nfor(j = 0; j != D[215].length; ++j) if(D[215][j].charCodeAt(0) !== 0xFFFD) { e[D[215][j]] = 55040 + j; d[55040 + j] = D[215][j];}\nD[216] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������亍丌兀丐廿卅丕亘丞鬲孬噩丨禺丿匕乇夭爻卮氐囟胤馗毓睾鼗丶亟鼐乜乩亓芈孛啬嘏仄厍厝厣厥厮靥赝匚叵匦匮匾赜卦卣刂刈刎刭刳刿剀剌剞剡剜蒯剽劂劁劐劓冂罔亻仃仉仂仨仡仫仞伛仳伢佤仵伥伧伉伫佞佧攸佚佝�\".split(\"\");\nfor(j = 0; j != D[216].length; ++j) if(D[216][j].charCodeAt(0) !== 0xFFFD) { e[D[216][j]] = 55296 + j; d[55296 + j] = D[216][j];}\nD[217] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������佟佗伲伽佶佴侑侉侃侏佾佻侪佼侬侔俦俨俪俅俚俣俜俑俟俸倩偌俳倬倏倮倭俾倜倌倥倨偾偃偕偈偎偬偻傥傧傩傺僖儆僭僬僦僮儇儋仝氽佘佥俎龠汆籴兮巽黉馘冁夔勹匍訇匐凫夙兕亠兖亳衮袤亵脔裒禀嬴蠃羸冫冱冽冼�\".split(\"\");\nfor(j = 0; j != D[217].length; ++j) if(D[217][j].charCodeAt(0) !== 0xFFFD) { e[D[217][j]] = 55552 + j; d[55552 + j] = D[217][j];}\nD[218] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������凇冖冢冥讠讦讧讪讴讵讷诂诃诋诏诎诒诓诔诖诘诙诜诟诠诤诨诩诮诰诳诶诹诼诿谀谂谄谇谌谏谑谒谔谕谖谙谛谘谝谟谠谡谥谧谪谫谮谯谲谳谵谶卩卺阝阢阡阱阪阽阼陂陉陔陟陧陬陲陴隈隍隗隰邗邛邝邙邬邡邴邳邶邺�\".split(\"\");\nfor(j = 0; j != D[218].length; ++j) if(D[218][j].charCodeAt(0) !== 0xFFFD) { e[D[218][j]] = 55808 + j; d[55808 + j] = D[218][j];}\nD[219] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������邸邰郏郅邾郐郄郇郓郦郢郜郗郛郫郯郾鄄鄢鄞鄣鄱鄯鄹酃酆刍奂劢劬劭劾哿勐勖勰叟燮矍廴凵凼鬯厶弁畚巯坌垩垡塾墼壅壑圩圬圪圳圹圮圯坜圻坂坩垅坫垆坼坻坨坭坶坳垭垤垌垲埏垧垴垓垠埕埘埚埙埒垸埴埯埸埤埝�\".split(\"\");\nfor(j = 0; j != D[219].length; ++j) if(D[219][j].charCodeAt(0) !== 0xFFFD) { e[D[219][j]] = 56064 + j; d[56064 + j] = D[219][j];}\nD[220] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������堋堍埽埭堀堞堙塄堠塥塬墁墉墚墀馨鼙懿艹艽艿芏芊芨芄芎芑芗芙芫芸芾芰苈苊苣芘芷芮苋苌苁芩芴芡芪芟苄苎芤苡茉苷苤茏茇苜苴苒苘茌苻苓茑茚茆茔茕苠苕茜荑荛荜茈莒茼茴茱莛荞茯荏荇荃荟荀茗荠茭茺茳荦荥�\".split(\"\");\nfor(j = 0; j != D[220].length; ++j) if(D[220][j].charCodeAt(0) !== 0xFFFD) { e[D[220][j]] = 56320 + j; d[56320 + j] = D[220][j];}\nD[221] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������荨茛荩荬荪荭荮莰荸莳莴莠莪莓莜莅荼莶莩荽莸荻莘莞莨莺莼菁萁菥菘堇萘萋菝菽菖萜萸萑萆菔菟萏萃菸菹菪菅菀萦菰菡葜葑葚葙葳蒇蒈葺蒉葸萼葆葩葶蒌蒎萱葭蓁蓍蓐蓦蒽蓓蓊蒿蒺蓠蒡蒹蒴蒗蓥蓣蔌甍蔸蓰蔹蔟蔺�\".split(\"\");\nfor(j = 0; j != D[221].length; ++j) if(D[221][j].charCodeAt(0) !== 0xFFFD) { e[D[221][j]] = 56576 + j; d[56576 + j] = D[221][j];}\nD[222] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������蕖蔻蓿蓼蕙蕈蕨蕤蕞蕺瞢蕃蕲蕻薤薨薇薏蕹薮薜薅薹薷薰藓藁藜藿蘧蘅蘩蘖蘼廾弈夼奁耷奕奚奘匏尢尥尬尴扌扪抟抻拊拚拗拮挢拶挹捋捃掭揶捱捺掎掴捭掬掊捩掮掼揲揸揠揿揄揞揎摒揆掾摅摁搋搛搠搌搦搡摞撄摭撖�\".split(\"\");\nfor(j = 0; j != D[222].length; ++j) if(D[222][j].charCodeAt(0) !== 0xFFFD) { e[D[222][j]] = 56832 + j; d[56832 + j] = D[222][j];}\nD[223] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������摺撷撸撙撺擀擐擗擤擢攉攥攮弋忒甙弑卟叱叽叩叨叻吒吖吆呋呒呓呔呖呃吡呗呙吣吲咂咔呷呱呤咚咛咄呶呦咝哐咭哂咴哒咧咦哓哔呲咣哕咻咿哌哙哚哜咩咪咤哝哏哞唛哧唠哽唔哳唢唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼�\".split(\"\");\nfor(j = 0; j != D[223].length; ++j) if(D[223][j].charCodeAt(0) !== 0xFFFD) { e[D[223][j]] = 57088 + j; d[57088 + j] = D[223][j];}\nD[224] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������唷啖啵啶啷唳唰啜喋嗒喃喱喹喈喁喟啾嗖喑啻嗟喽喾喔喙嗪嗷嗉嘟嗑嗫嗬嗔嗦嗝嗄嗯嗥嗲嗳嗌嗍嗨嗵嗤辔嘞嘈嘌嘁嘤嘣嗾嘀嘧嘭噘嘹噗嘬噍噢噙噜噌噔嚆噤噱噫噻噼嚅嚓嚯囔囗囝囡囵囫囹囿圄圊圉圜帏帙帔帑帱帻帼�\".split(\"\");\nfor(j = 0; j != D[224].length; ++j) if(D[224][j].charCodeAt(0) !== 0xFFFD) { e[D[224][j]] = 57344 + j; d[57344 + j] = D[224][j];}\nD[225] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������帷幄幔幛幞幡岌屺岍岐岖岈岘岙岑岚岜岵岢岽岬岫岱岣峁岷峄峒峤峋峥崂崃崧崦崮崤崞崆崛嵘崾崴崽嵬嵛嵯嵝嵫嵋嵊嵩嵴嶂嶙嶝豳嶷巅彳彷徂徇徉後徕徙徜徨徭徵徼衢彡犭犰犴犷犸狃狁狎狍狒狨狯狩狲狴狷猁狳猃狺�\".split(\"\");\nfor(j = 0; j != D[225].length; ++j) if(D[225][j].charCodeAt(0) !== 0xFFFD) { e[D[225][j]] = 57600 + j; d[57600 + j] = D[225][j];}\nD[226] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������狻猗猓猡猊猞猝猕猢猹猥猬猸猱獐獍獗獠獬獯獾舛夥飧夤夂饣饧饨饩饪饫饬饴饷饽馀馄馇馊馍馐馑馓馔馕庀庑庋庖庥庠庹庵庾庳赓廒廑廛廨廪膺忄忉忖忏怃忮怄忡忤忾怅怆忪忭忸怙怵怦怛怏怍怩怫怊怿怡恸恹恻恺恂�\".split(\"\");\nfor(j = 0; j != D[226].length; ++j) if(D[226][j].charCodeAt(0) !== 0xFFFD) { e[D[226][j]] = 57856 + j; d[57856 + j] = D[226][j];}\nD[227] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������恪恽悖悚悭悝悃悒悌悛惬悻悱惝惘惆惚悴愠愦愕愣惴愀愎愫慊慵憬憔憧憷懔懵忝隳闩闫闱闳闵闶闼闾阃阄阆阈阊阋阌阍阏阒阕阖阗阙阚丬爿戕氵汔汜汊沣沅沐沔沌汨汩汴汶沆沩泐泔沭泷泸泱泗沲泠泖泺泫泮沱泓泯泾�\".split(\"\");\nfor(j = 0; j != D[227].length; ++j) if(D[227][j].charCodeAt(0) !== 0xFFFD) { e[D[227][j]] = 58112 + j; d[58112 + j] = D[227][j];}\nD[228] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������洹洧洌浃浈洇洄洙洎洫浍洮洵洚浏浒浔洳涑浯涞涠浞涓涔浜浠浼浣渚淇淅淞渎涿淠渑淦淝淙渖涫渌涮渫湮湎湫溲湟溆湓湔渲渥湄滟溱溘滠漭滢溥溧溽溻溷滗溴滏溏滂溟潢潆潇漤漕滹漯漶潋潴漪漉漩澉澍澌潸潲潼潺濑�\".split(\"\");\nfor(j = 0; j != D[228].length; ++j) if(D[228][j].charCodeAt(0) !== 0xFFFD) { e[D[228][j]] = 58368 + j; d[58368 + j] = D[228][j];}\nD[229] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������濉澧澹澶濂濡濮濞濠濯瀚瀣瀛瀹瀵灏灞宀宄宕宓宥宸甯骞搴寤寮褰寰蹇謇辶迓迕迥迮迤迩迦迳迨逅逄逋逦逑逍逖逡逵逶逭逯遄遑遒遐遨遘遢遛暹遴遽邂邈邃邋彐彗彖彘尻咫屐屙孱屣屦羼弪弩弭艴弼鬻屮妁妃妍妩妪妣�\".split(\"\");\nfor(j = 0; j != D[229].length; ++j) if(D[229][j].charCodeAt(0) !== 0xFFFD) { e[D[229][j]] = 58624 + j; d[58624 + j] = D[229][j];}\nD[230] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������妗姊妫妞妤姒妲妯姗妾娅娆姝娈姣姘姹娌娉娲娴娑娣娓婀婧婊婕娼婢婵胬媪媛婷婺媾嫫媲嫒嫔媸嫠嫣嫱嫖嫦嫘嫜嬉嬗嬖嬲嬷孀尕尜孚孥孳孑孓孢驵驷驸驺驿驽骀骁骅骈骊骐骒骓骖骘骛骜骝骟骠骢骣骥骧纟纡纣纥纨纩�\".split(\"\");\nfor(j = 0; j != D[230].length; ++j) if(D[230][j].charCodeAt(0) !== 0xFFFD) { e[D[230][j]] = 58880 + j; d[58880 + j] = D[230][j];}\nD[231] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������纭纰纾绀绁绂绉绋绌绐绔绗绛绠绡绨绫绮绯绱绲缍绶绺绻绾缁缂缃缇缈缋缌缏缑缒缗缙缜缛缟缡缢缣缤缥缦缧缪缫缬缭缯缰缱缲缳缵幺畿巛甾邕玎玑玮玢玟珏珂珑玷玳珀珉珈珥珙顼琊珩珧珞玺珲琏琪瑛琦琥琨琰琮琬�\".split(\"\");\nfor(j = 0; j != D[231].length; ++j) if(D[231][j].charCodeAt(0) !== 0xFFFD) { e[D[231][j]] = 59136 + j; d[59136 + j] = D[231][j];}\nD[232] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������琛琚瑁瑜瑗瑕瑙瑷瑭瑾璜璎璀璁璇璋璞璨璩璐璧瓒璺韪韫韬杌杓杞杈杩枥枇杪杳枘枧杵枨枞枭枋杷杼柰栉柘栊柩枰栌柙枵柚枳柝栀柃枸柢栎柁柽栲栳桠桡桎桢桄桤梃栝桕桦桁桧桀栾桊桉栩梵梏桴桷梓桫棂楮棼椟椠棹�\".split(\"\");\nfor(j = 0; j != D[232].length; ++j) if(D[232][j].charCodeAt(0) !== 0xFFFD) { e[D[232][j]] = 59392 + j; d[59392 + j] = D[232][j];}\nD[233] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������椤棰椋椁楗棣椐楱椹楠楂楝榄楫榀榘楸椴槌榇榈槎榉楦楣楹榛榧榻榫榭槔榱槁槊槟榕槠榍槿樯槭樗樘橥槲橄樾檠橐橛樵檎橹樽樨橘橼檑檐檩檗檫猷獒殁殂殇殄殒殓殍殚殛殡殪轫轭轱轲轳轵轶轸轷轹轺轼轾辁辂辄辇辋�\".split(\"\");\nfor(j = 0; j != D[233].length; ++j) if(D[233][j].charCodeAt(0) !== 0xFFFD) { e[D[233][j]] = 59648 + j; d[59648 + j] = D[233][j];}\nD[234] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������辍辎辏辘辚軎戋戗戛戟戢戡戥戤戬臧瓯瓴瓿甏甑甓攴旮旯旰昊昙杲昃昕昀炅曷昝昴昱昶昵耆晟晔晁晏晖晡晗晷暄暌暧暝暾曛曜曦曩贲贳贶贻贽赀赅赆赈赉赇赍赕赙觇觊觋觌觎觏觐觑牮犟牝牦牯牾牿犄犋犍犏犒挈挲掰�\".split(\"\");\nfor(j = 0; j != D[234].length; ++j) if(D[234][j].charCodeAt(0) !== 0xFFFD) { e[D[234][j]] = 59904 + j; d[59904 + j] = D[234][j];}\nD[235] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������搿擘耄毪毳毽毵毹氅氇氆氍氕氘氙氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂胄胙胍胗朐胝胫胱胴胭脍脎胲胼朕脒豚脶脞脬脘脲腈腌腓腴腙腚腱腠腩腼腽腭腧塍媵膈膂膑滕膣膪臌朦臊膻�\".split(\"\");\nfor(j = 0; j != D[235].length; ++j) if(D[235][j].charCodeAt(0) !== 0xFFFD) { e[D[235][j]] = 60160 + j; d[60160 + j] = D[235][j];}\nD[236] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������臁膦欤欷欹歃歆歙飑飒飓飕飙飚殳彀毂觳斐齑斓於旆旄旃旌旎旒旖炀炜炖炝炻烀炷炫炱烨烊焐焓焖焯焱煳煜煨煅煲煊煸煺熘熳熵熨熠燠燔燧燹爝爨灬焘煦熹戾戽扃扈扉礻祀祆祉祛祜祓祚祢祗祠祯祧祺禅禊禚禧禳忑忐�\".split(\"\");\nfor(j = 0; j != D[236].length; ++j) if(D[236][j].charCodeAt(0) !== 0xFFFD) { e[D[236][j]] = 60416 + j; d[60416 + j] = D[236][j];}\nD[237] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������怼恝恚恧恁恙恣悫愆愍慝憩憝懋懑戆肀聿沓泶淼矶矸砀砉砗砘砑斫砭砜砝砹砺砻砟砼砥砬砣砩硎硭硖硗砦硐硇硌硪碛碓碚碇碜碡碣碲碹碥磔磙磉磬磲礅磴礓礤礞礴龛黹黻黼盱眄眍盹眇眈眚眢眙眭眦眵眸睐睑睇睃睚睨�\".split(\"\");\nfor(j = 0; j != D[237].length; ++j) if(D[237][j].charCodeAt(0) !== 0xFFFD) { e[D[237][j]] = 60672 + j; d[60672 + j] = D[237][j];}\nD[238] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������睢睥睿瞍睽瞀瞌瞑瞟瞠瞰瞵瞽町畀畎畋畈畛畲畹疃罘罡罟詈罨罴罱罹羁罾盍盥蠲钅钆钇钋钊钌钍钏钐钔钗钕钚钛钜钣钤钫钪钭钬钯钰钲钴钶钷钸钹钺钼钽钿铄铈铉铊铋铌铍铎铐铑铒铕铖铗铙铘铛铞铟铠铢铤铥铧铨铪�\".split(\"\");\nfor(j = 0; j != D[238].length; ++j) if(D[238][j].charCodeAt(0) !== 0xFFFD) { e[D[238][j]] = 60928 + j; d[60928 + j] = D[238][j];}\nD[239] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������铩铫铮铯铳铴铵铷铹铼铽铿锃锂锆锇锉锊锍锎锏锒锓锔锕锖锘锛锝锞锟锢锪锫锩锬锱锲锴锶锷锸锼锾锿镂锵镄镅镆镉镌镎镏镒镓镔镖镗镘镙镛镞镟镝镡镢镤镥镦镧镨镩镪镫镬镯镱镲镳锺矧矬雉秕秭秣秫稆嵇稃稂稞稔�\".split(\"\");\nfor(j = 0; j != D[239].length; ++j) if(D[239][j].charCodeAt(0) !== 0xFFFD) { e[D[239][j]] = 61184 + j; d[61184 + j] = D[239][j];}\nD[240] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������稹稷穑黏馥穰皈皎皓皙皤瓞瓠甬鸠鸢鸨鸩鸪鸫鸬鸲鸱鸶鸸鸷鸹鸺鸾鹁鹂鹄鹆鹇鹈鹉鹋鹌鹎鹑鹕鹗鹚鹛鹜鹞鹣鹦鹧鹨鹩鹪鹫鹬鹱鹭鹳疒疔疖疠疝疬疣疳疴疸痄疱疰痃痂痖痍痣痨痦痤痫痧瘃痱痼痿瘐瘀瘅瘌瘗瘊瘥瘘瘕瘙�\".split(\"\");\nfor(j = 0; j != D[240].length; ++j) if(D[240][j].charCodeAt(0) !== 0xFFFD) { e[D[240][j]] = 61440 + j; d[61440 + j] = D[240][j];}\nD[241] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������瘛瘼瘢瘠癀瘭瘰瘿瘵癃瘾瘳癍癞癔癜癖癫癯翊竦穸穹窀窆窈窕窦窠窬窨窭窳衤衩衲衽衿袂袢裆袷袼裉裢裎裣裥裱褚裼裨裾裰褡褙褓褛褊褴褫褶襁襦襻疋胥皲皴矜耒耔耖耜耠耢耥耦耧耩耨耱耋耵聃聆聍聒聩聱覃顸颀颃�\".split(\"\");\nfor(j = 0; j != D[241].length; ++j) if(D[241][j].charCodeAt(0) !== 0xFFFD) { e[D[241][j]] = 61696 + j; d[61696 + j] = D[241][j];}\nD[242] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������颉颌颍颏颔颚颛颞颟颡颢颥颦虍虔虬虮虿虺虼虻蚨蚍蚋蚬蚝蚧蚣蚪蚓蚩蚶蛄蚵蛎蚰蚺蚱蚯蛉蛏蚴蛩蛱蛲蛭蛳蛐蜓蛞蛴蛟蛘蛑蜃蜇蛸蜈蜊蜍蜉蜣蜻蜞蜥蜮蜚蜾蝈蜴蜱蜩蜷蜿螂蜢蝽蝾蝻蝠蝰蝌蝮螋蝓蝣蝼蝤蝙蝥螓螯螨蟒�\".split(\"\");\nfor(j = 0; j != D[242].length; ++j) if(D[242][j].charCodeAt(0) !== 0xFFFD) { e[D[242][j]] = 61952 + j; d[61952 + j] = D[242][j];}\nD[243] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������蟆螈螅螭螗螃螫蟥螬螵螳蟋蟓螽蟑蟀蟊蟛蟪蟠蟮蠖蠓蟾蠊蠛蠡蠹蠼缶罂罄罅舐竺竽笈笃笄笕笊笫笏筇笸笪笙笮笱笠笥笤笳笾笞筘筚筅筵筌筝筠筮筻筢筲筱箐箦箧箸箬箝箨箅箪箜箢箫箴篑篁篌篝篚篥篦篪簌篾篼簏簖簋�\".split(\"\");\nfor(j = 0; j != D[243].length; ++j) if(D[243][j].charCodeAt(0) !== 0xFFFD) { e[D[243][j]] = 62208 + j; d[62208 + j] = D[243][j];}\nD[244] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������簟簪簦簸籁籀臾舁舂舄臬衄舡舢舣舭舯舨舫舸舻舳舴舾艄艉艋艏艚艟艨衾袅袈裘裟襞羝羟羧羯羰羲籼敉粑粝粜粞粢粲粼粽糁糇糌糍糈糅糗糨艮暨羿翎翕翥翡翦翩翮翳糸絷綦綮繇纛麸麴赳趄趔趑趱赧赭豇豉酊酐酎酏酤�\".split(\"\");\nfor(j = 0; j != D[244].length; ++j) if(D[244][j].charCodeAt(0) !== 0xFFFD) { e[D[244][j]] = 62464 + j; d[62464 + j] = D[244][j];}\nD[245] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������酢酡酰酩酯酽酾酲酴酹醌醅醐醍醑醢醣醪醭醮醯醵醴醺豕鹾趸跫踅蹙蹩趵趿趼趺跄跖跗跚跞跎跏跛跆跬跷跸跣跹跻跤踉跽踔踝踟踬踮踣踯踺蹀踹踵踽踱蹉蹁蹂蹑蹒蹊蹰蹶蹼蹯蹴躅躏躔躐躜躞豸貂貊貅貘貔斛觖觞觚觜�\".split(\"\");\nfor(j = 0; j != D[245].length; ++j) if(D[245][j].charCodeAt(0) !== 0xFFFD) { e[D[245][j]] = 62720 + j; d[62720 + j] = D[245][j];}\nD[246] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������觥觫觯訾謦靓雩雳雯霆霁霈霏霎霪霭霰霾龀龃龅龆龇龈龉龊龌黾鼋鼍隹隼隽雎雒瞿雠銎銮鋈錾鍪鏊鎏鐾鑫鱿鲂鲅鲆鲇鲈稣鲋鲎鲐鲑鲒鲔鲕鲚鲛鲞鲟鲠鲡鲢鲣鲥鲦鲧鲨鲩鲫鲭鲮鲰鲱鲲鲳鲴鲵鲶鲷鲺鲻鲼鲽鳄鳅鳆鳇鳊鳋�\".split(\"\");\nfor(j = 0; j != D[246].length; ++j) if(D[246][j].charCodeAt(0) !== 0xFFFD) { e[D[246][j]] = 62976 + j; d[62976 + j] = D[246][j];}\nD[247] = \"�����������������������������������������������������������������������������������������������������������������������������������������������������������������鳌鳍鳎鳏鳐鳓鳔鳕鳗鳘鳙鳜鳝鳟鳢靼鞅鞑鞒鞔鞯鞫鞣鞲鞴骱骰骷鹘骶骺骼髁髀髅髂髋髌髑魅魃魇魉魈魍魑飨餍餮饕饔髟髡髦髯髫髻髭髹鬈鬏鬓鬟鬣麽麾縻麂麇麈麋麒鏖麝麟黛黜黝黠黟黢黩黧黥黪黯鼢鼬鼯鼹鼷鼽鼾齄�\".split(\"\");\nfor(j = 0; j != D[247].length; ++j) if(D[247][j].charCodeAt(0) !== 0xFFFD) { e[D[247][j]] = 63232 + j; d[63232 + j] = D[247][j];}\nreturn {\"enc\": e, \"dec\": d }; })();\ncptable[10029] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄĀāÉĄÖÜáąČäčĆćéŹźĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņŃ¬√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[10079] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüÝ°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[10081] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙ�ˆ˜¯˘˙˚¸˝˛ˇ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\ncptable[28591] = (function(){ var d = \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ\", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {\"enc\": e, \"dec\": D }; })();\n// eslint-disable-next-line no-undef\nif (typeof module !== 'undefined' && module.exports && typeof DO_NOT_EXPORT_CODEPAGE === 'undefined') module.exports = cptable;\n/*! cputils.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/* vim: set ft=javascript: */\n/*jshint newcap: false */\n(function(root, factory) {\n  /*jshint ignore:start */\n  /*eslint-disable */\n  \"use strict\";\n  if(typeof cptable === \"undefined\") {\n    if(typeof require !== \"undefined\"){\n      var cpt = cptable;\n      if (typeof module !== 'undefined' && module.exports && typeof DO_NOT_EXPORT_CODEPAGE === 'undefined') module.exports = factory(cpt);\n      else root.cptable = factory(cpt);\n    } else throw new Error(\"cptable not found\");\n  } else cptable = factory(cptable);\n  /*eslint-enable */\n  /*jshint ignore:end */\n}(this, function(cpt){\n  \"use strict\";\n  /*global module, Buffer */\n  var magic = {\n    \"1200\":\"utf16le\",\n    \"1201\":\"utf16be\",\n    \"12000\":\"utf32le\",\n    \"12001\":\"utf32be\",\n    \"16969\":\"utf64le\",\n    \"20127\":\"ascii\",\n    \"65000\":\"utf7\",\n    \"65001\":\"utf8\"\n  };\n\n  var sbcs_cache = [874,1250,1251,1252,1253,1254,1255,1256,10000];\n  var dbcs_cache = [932,936,949,950];\n  var magic_cache = [65001];\n  var magic_decode = {};\n  var magic_encode = {};\n  var cpdcache = {};\n  var cpecache = {};\n\n  var sfcc = function sfcc(x) { return String.fromCharCode(x); };\n  var cca = function cca(x) { return x.charCodeAt(0); };\n\n  var has_buf = (typeof Buffer !== 'undefined');\n  var Buffer_from = function(){};\n  if(has_buf) {\n    var nbfs = !Buffer.from;\n    if(!nbfs) try { Buffer.from(\"foo\", \"utf8\"); } catch(e) { nbfs = true; }\n    Buffer_from = nbfs ? function(buf, enc) { return (enc) ? new Buffer(buf, enc) : new Buffer(buf); } : Buffer.from.bind(Buffer);\n    // $FlowIgnore\n    if(!Buffer.allocUnsafe) Buffer.allocUnsafe = function(n) { return new Buffer(n); };\n\n    var mdl = 1024, mdb = Buffer.allocUnsafe(mdl);\n    var make_EE = function make_EE(E){\n      var EE = Buffer.allocUnsafe(65536);\n      for(var i = 0; i < 65536;++i) EE[i] = 0;\n      var keys = Object.keys(E), len = keys.length;\n      for(var ee = 0, e = keys[ee]; ee < len; ++ee) {\n        if(!(e = keys[ee])) continue;\n        EE[e.charCodeAt(0)] = E[e];\n      }\n      return EE;\n    };\n    var sbcs_encode = function make_sbcs_encode(cp) {\n      var EE = make_EE(cpt[cp].enc);\n      return function sbcs_e(data, ofmt) {\n        var len = data.length;\n        var out, i=0, j=0, D=0, w=0;\n        if(typeof data === 'string') {\n          out = Buffer.allocUnsafe(len);\n          for(i = 0; i < len; ++i) out[i] = EE[data.charCodeAt(i)];\n        } else if(Buffer.isBuffer(data)) {\n          out = Buffer.allocUnsafe(2*len);\n          j = 0;\n          for(i = 0; i < len; ++i) {\n            D = data[i];\n            if(D < 128) out[j++] = EE[D];\n            else if(D < 224) { out[j++] = EE[((D&31)<<6)+(data[i+1]&63)]; ++i; }\n            else if(D < 240) { out[j++] = EE[((D&15)<<12)+((data[i+1]&63)<<6)+(data[i+2]&63)]; i+=2; }\n            else {\n              w = ((D&7)<<18)+((data[i+1]&63)<<12)+((data[i+2]&63)<<6)+(data[i+3]&63); i+=3;\n              if(w < 65536) out[j++] = EE[w];\n              else { w -= 65536; out[j++] = EE[0xD800 + ((w>>10)&1023)]; out[j++] = EE[0xDC00 + (w&1023)]; }\n            }\n          }\n          out = out.slice(0,j);\n        } else {\n          out = Buffer.allocUnsafe(len);\n          for(i = 0; i < len; ++i) out[i] = EE[data[i].charCodeAt(0)];\n        }\n        if(!ofmt || ofmt === 'buf') return out;\n        if(ofmt !== 'arr') return out.toString('binary');\n        return [].slice.call(out);\n      };\n    };\n    var sbcs_decode = function make_sbcs_decode(cp) {\n      var D = cpt[cp].dec;\n      var DD = Buffer.allocUnsafe(131072), d=0, c=\"\";\n      for(d=0;d<D.length;++d) {\n        if(!(c=D[d])) continue;\n        var w = c.charCodeAt(0);\n        DD[2*d] = w&255; DD[2*d+1] = w>>8;\n      }\n      return function sbcs_d(data) {\n        var len = data.length, i=0, j=0;\n        if(2 * len > mdl) { mdl = 2 * len; mdb = Buffer.allocUnsafe(mdl); }\n        if(Buffer.isBuffer(data)) {\n          for(i = 0; i < len; i++) {\n            j = 2*data[i];\n            mdb[2*i] = DD[j]; mdb[2*i+1] = DD[j+1];\n          }\n        } else if(typeof data === \"string\") {\n          for(i = 0; i < len; i++) {\n            j = 2*data.charCodeAt(i);\n            mdb[2*i] = DD[j]; mdb[2*i+1] = DD[j+1];\n          }\n        } else {\n          for(i = 0; i < len; i++) {\n            j = 2*data[i];\n            mdb[2*i] = DD[j]; mdb[2*i+1] = DD[j+1];\n          }\n        }\n        return mdb.slice(0, 2 * len).toString('ucs2');\n      };\n    };\n    var dbcs_encode = function make_dbcs_encode(cp) {\n      var E = cpt[cp].enc;\n      var EE = Buffer.allocUnsafe(131072);\n      for(var i = 0; i < 131072; ++i) EE[i] = 0;\n      var keys = Object.keys(E);\n      for(var ee = 0, e = keys[ee]; ee < keys.length; ++ee) {\n        if(!(e = keys[ee])) continue;\n        var f = e.charCodeAt(0);\n        EE[2*f] = E[e] & 255; EE[2*f+1] = E[e]>>8;\n      }\n      return function dbcs_e(data, ofmt) {\n        var len = data.length, out = Buffer.allocUnsafe(2*len), i=0, j=0, jj=0, k=0, D=0;\n        if(typeof data === 'string') {\n          for(i = k = 0; i < len; ++i) {\n            j = data.charCodeAt(i)*2;\n            out[k++] = EE[j+1] || EE[j]; if(EE[j+1] > 0) out[k++] = EE[j];\n          }\n          out = out.slice(0,k);\n        } else if(Buffer.isBuffer(data)) {\n          for(i = k = 0; i < len; ++i) {\n            D = data[i];\n            if(D < 128) j = D;\n            else if(D < 224) { j = ((D&31)<<6)+(data[i+1]&63); ++i; }\n            else if(D < 240) { j = ((D&15)<<12)+((data[i+1]&63)<<6)+(data[i+2]&63); i+=2; }\n            else { j = ((D&7)<<18)+((data[i+1]&63)<<12)+((data[i+2]&63)<<6)+(data[i+3]&63); i+=3; }\n            if(j<65536) { j*=2; out[k++] = EE[j+1] || EE[j]; if(EE[j+1] > 0) out[k++] = EE[j]; }\n            else { jj = j-65536;\n              j=2*(0xD800 + ((jj>>10)&1023)); out[k++] = EE[j+1] || EE[j]; if(EE[j+1] > 0) out[k++] = EE[j];\n              j=2*(0xDC00 + (jj&1023)); out[k++] = EE[j+1] || EE[j]; if(EE[j+1] > 0) out[k++] = EE[j];\n            }\n          }\n          out = out.slice(0,k);\n        } else {\n          for(i = k = 0; i < len; i++) {\n            j = data[i].charCodeAt(0)*2;\n            out[k++] = EE[j+1] || EE[j]; if(EE[j+1] > 0) out[k++] = EE[j];\n          }\n        }\n        if(!ofmt || ofmt === 'buf') return out;\n        if(ofmt !== 'arr') return out.toString('binary');\n        return [].slice.call(out);\n      };\n    };\n    var dbcs_decode = function make_dbcs_decode(cp) {\n      var D = cpt[cp].dec;\n      var DD = Buffer.allocUnsafe(131072), d=0, c, w=0, j=0, i=0;\n      for(i = 0; i < 65536; ++i) { DD[2*i] = 0xFF; DD[2*i+1] = 0xFD;}\n      for(d = 0; d < D.length; ++d) {\n        if(!(c=D[d])) continue;\n        w = c.charCodeAt(0);\n        j = 2*d;\n        DD[j] = w&255; DD[j+1] = w>>8;\n      }\n      return function dbcs_d(data) {\n        var len = data.length, out = Buffer.allocUnsafe(2*len), i=0, j=0, k=0;\n        if(Buffer.isBuffer(data)) {\n          for(i = 0; i < len; i++) {\n            j = 2*data[i];\n            if(DD[j]===0xFF && DD[j+1]===0xFD) { j=2*((data[i]<<8)+data[i+1]); ++i; }\n            out[k++] = DD[j]; out[k++] = DD[j+1];\n          }\n        } else if(typeof data === \"string\") {\n          for(i = 0; i < len; i++) {\n            j = 2*data.charCodeAt(i);\n            if(DD[j]===0xFF && DD[j+1]===0xFD) { j=2*((data.charCodeAt(i)<<8)+data.charCodeAt(i+1)); ++i; }\n            out[k++] = DD[j]; out[k++] = DD[j+1];\n          }\n        } else {\n          for(i = 0; i < len; i++) {\n            j = 2*data[i];\n            if(DD[j]===0xFF && DD[j+1]===0xFD) { j=2*((data[i]<<8)+data[i+1]); ++i; }\n            out[k++] = DD[j]; out[k++] = DD[j+1];\n          }\n        }\n        return out.slice(0,k).toString('ucs2');\n      };\n    };\n    magic_decode[65001] = function utf8_d(data) {\n      if(typeof data === \"string\") return utf8_d(data.split(\"\").map(cca));\n      var len = data.length, w = 0, ww = 0;\n      if(4 * len > mdl) { mdl = 4 * len; mdb = Buffer.allocUnsafe(mdl); }\n      var i = 0;\n      if(len >= 3 && data[0] == 0xEF) if(data[1] == 0xBB && data[2] == 0xBF) i = 3;\n      for(var j = 1, k = 0, D = 0; i < len; i+=j) {\n        j = 1; D = data[i];\n        if(D < 128) w = D;\n        else if(D < 224) { w=(D&31)*64+(data[i+1]&63); j=2; }\n        else if(D < 240) { w=((D&15)<<12)+(data[i+1]&63)*64+(data[i+2]&63); j=3; }\n        else { w=(D&7)*262144+((data[i+1]&63)<<12)+(data[i+2]&63)*64+(data[i+3]&63); j=4; }\n        if(w < 65536) { mdb[k++] = w&255; mdb[k++] = w>>8; }\n        else {\n          w -= 65536; ww = 0xD800 + ((w>>10)&1023); w = 0xDC00 + (w&1023);\n          mdb[k++] = ww&255; mdb[k++] = ww>>>8; mdb[k++] = w&255; mdb[k++] = (w>>>8)&255;\n        }\n      }\n      return mdb.slice(0,k).toString('ucs2');\n    };\n    magic_encode[65001] = function utf8_e(data, ofmt) {\n      if(has_buf && Buffer.isBuffer(data)) {\n        if(!ofmt || ofmt === 'buf') return data;\n        if(ofmt !== 'arr') return data.toString('binary');\n        return [].slice.call(data);\n      }\n      var len = data.length, w = 0, ww = 0, j = 0;\n      var direct = typeof data === \"string\";\n      if(4 * len > mdl) { mdl = 4 * len; mdb = Buffer.allocUnsafe(mdl); }\n      for(var i = 0; i < len; ++i) {\n        w = direct ? data.charCodeAt(i) : data[i].charCodeAt(0);\n        if(w <= 0x007F) mdb[j++] = w;\n        else if(w <= 0x07FF) {\n          mdb[j++] = 192 + (w >> 6);\n          mdb[j++] = 128 + (w&63);\n        } else if(w >= 0xD800 && w <= 0xDFFF) {\n          w -= 0xD800; ++i;\n          ww = (direct ? data.charCodeAt(i) : data[i].charCodeAt(0)) - 0xDC00 + (w << 10);\n          mdb[j++] = 240 + ((ww>>>18) & 0x07);\n          mdb[j++] = 144 + ((ww>>>12) & 0x3F);\n          mdb[j++] = 128 + ((ww>>>6) & 0x3F);\n          mdb[j++] = 128 + (ww & 0x3F);\n        } else {\n          mdb[j++] = 224 + (w >> 12);\n          mdb[j++] = 128 + ((w >> 6)&63);\n          mdb[j++] = 128 + (w&63);\n        }\n      }\n      if(!ofmt || ofmt === 'buf') return mdb.slice(0,j);\n      if(ofmt !== 'arr') return mdb.slice(0,j).toString('binary');\n      return [].slice.call(mdb, 0, j);\n    };\n  }\n\n  var encache = function encache() {\n    if(has_buf) {\n      if(cpdcache[sbcs_cache[0]]) return;\n      var i=0, s=0;\n      for(i = 0; i < sbcs_cache.length; ++i) {\n        s = sbcs_cache[i];\n        if(cpt[s]) {\n          cpdcache[s] = sbcs_decode(s);\n          cpecache[s] = sbcs_encode(s);\n        }\n      }\n      for(i = 0; i < dbcs_cache.length; ++i) {\n        s = dbcs_cache[i];\n        if(cpt[s]) {\n          cpdcache[s] = dbcs_decode(s);\n          cpecache[s] = dbcs_encode(s);\n        }\n      }\n      for(i = 0; i < magic_cache.length; ++i) {\n        s = magic_cache[i];\n        if(magic_decode[s]) cpdcache[s] = magic_decode[s];\n        if(magic_encode[s]) cpecache[s] = magic_encode[s];\n      }\n    }\n  };\n  var null_enc = function(data, ofmt) { void ofmt; return \"\"; };\n  var cp_decache = function cp_decache(cp) { delete cpdcache[cp]; delete cpecache[cp]; };\n  var decache = function decache() {\n    if(has_buf) {\n      if(!cpdcache[sbcs_cache[0]]) return;\n      sbcs_cache.forEach(cp_decache);\n      dbcs_cache.forEach(cp_decache);\n      magic_cache.forEach(cp_decache);\n    }\n    last_enc = null_enc; last_cp = 0;\n  };\n  var cache = {\n    encache: encache,\n    decache: decache,\n    sbcs: sbcs_cache,\n    dbcs: dbcs_cache\n  };\n\n  encache();\n\n  var BM = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n  var SetD = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'(),-./:?\";\n  var last_enc = null_enc, last_cp = 0;\n  var encode = function encode(cp, data, ofmt) {\n    if(cp === last_cp && last_enc) { return last_enc(data, ofmt); }\n    if(cpecache[cp]) { last_enc = cpecache[last_cp=cp]; return last_enc(data, ofmt); }\n    if(has_buf && Buffer.isBuffer(data)) data = data.toString('utf8');\n    var len = data.length;\n    var out = has_buf ? Buffer.allocUnsafe(4*len) : [], w=0, i=0, j = 0, ww=0;\n    var C = cpt[cp], E, M = \"\";\n    var isstr = typeof data === 'string';\n    if(C && (E=C.enc)) for(i = 0; i < len; ++i, ++j) {\n      w = E[isstr? data.charAt(i) : data[i]];\n      if(w > 255) {\n        out[j] = w>>8;\n        out[++j] = w&255;\n      } else out[j] = w&255;\n    }\n    else if((M=magic[cp])) switch(M) {\n      case \"utf8\":\n        if(has_buf && isstr) { out = Buffer_from(data, M); j = out.length; break; }\n        for(i = 0; i < len; ++i, ++j) {\n          w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0);\n          if(w <= 0x007F) out[j] = w;\n          else if(w <= 0x07FF) {\n            out[j]   = 192 + (w >> 6);\n            out[++j] = 128 + (w&63);\n          } else if(w >= 0xD800 && w <= 0xDFFF) {\n            w -= 0xD800;\n            ww = (isstr ? data.charCodeAt(++i) : data[++i].charCodeAt(0)) - 0xDC00 + (w << 10);\n            out[j]   = 240 + ((ww>>>18) & 0x07);\n            out[++j] = 144 + ((ww>>>12) & 0x3F);\n            out[++j] = 128 + ((ww>>>6) & 0x3F);\n            out[++j] = 128 + (ww & 0x3F);\n          } else {\n            out[j]   = 224 + (w >> 12);\n            out[++j] = 128 + ((w >> 6)&63);\n            out[++j] = 128 + (w&63);\n          }\n        }\n        break;\n      case \"ascii\":\n        if(has_buf && typeof data === \"string\") { out = Buffer_from(data, M); j = out.length; break; }\n        for(i = 0; i < len; ++i, ++j) {\n          w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0);\n          if(w <= 0x007F) out[j] = w;\n          else throw new Error(\"bad ascii \" + w);\n        }\n        break;\n      case \"utf16le\":\n        if(has_buf && typeof data === \"string\") { out = Buffer_from(data, M); j = out.length; break; }\n        for(i = 0; i < len; ++i) {\n          w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0);\n          out[j++] = w&255;\n          out[j++] = w>>8;\n        }\n        break;\n      case \"utf16be\":\n        for(i = 0; i < len; ++i) {\n          w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0);\n          out[j++] = w>>8;\n          out[j++] = w&255;\n        }\n        break;\n      case \"utf32le\":\n        for(i = 0; i < len; ++i) {\n          w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0);\n          if(w >= 0xD800 && w <= 0xDFFF) w = 0x10000 + ((w - 0xD800) << 10) + (data[++i].charCodeAt(0) - 0xDC00);\n          out[j++] = w&255; w >>= 8;\n          out[j++] = w&255; w >>= 8;\n          out[j++] = w&255; w >>= 8;\n          out[j++] = w&255;\n        }\n        break;\n      case \"utf32be\":\n        for(i = 0; i < len; ++i) {\n          w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0);\n          if(w >= 0xD800 && w <= 0xDFFF) w = 0x10000 + ((w - 0xD800) << 10) + (data[++i].charCodeAt(0) - 0xDC00);\n          out[j+3] = w&255; w >>= 8;\n          out[j+2] = w&255; w >>= 8;\n          out[j+1] = w&255; w >>= 8;\n          out[j] = w&255;\n          j+=4;\n        }\n        break;\n      case \"utf7\":\n        for(i = 0; i < len; i++) {\n          var c = isstr ? data.charAt(i) : data[i].charAt(0);\n          if(c === \"+\") { out[j++] = 0x2b; out[j++] = 0x2d; continue; }\n          if(SetD.indexOf(c) > -1) { out[j++] = c.charCodeAt(0); continue; }\n          var tt = encode(1201, c);\n          out[j++] = 0x2b;\n          out[j++] = BM.charCodeAt(tt[0]>>2);\n          out[j++] = BM.charCodeAt(((tt[0]&0x03)<<4) + ((tt[1]||0)>>4));\n          out[j++] = BM.charCodeAt(((tt[1]&0x0F)<<2) + ((tt[2]||0)>>6));\n          out[j++] = 0x2d;\n        }\n        break;\n      default: throw new Error(\"Unsupported magic: \" + cp + \" \" + magic[cp]);\n    }\n    else throw new Error(\"Unrecognized CP: \" + cp);\n    out = out.slice(0,j);\n    if(!has_buf) return (ofmt == 'str') ? (out).map(sfcc).join(\"\") : out;\n    if(!ofmt || ofmt === 'buf') return out;\n    if(ofmt !== 'arr') return out.toString('binary');\n    return [].slice.call(out);\n  };\n  var decode = function decode(cp, data) {\n    var F; if((F=cpdcache[cp])) return F(data);\n    if(typeof data === \"string\") return decode(cp, data.split(\"\").map(cca));\n    var len = data.length, out = new Array(len), s=\"\", w=0, i=0, j=1, k=0, ww=0;\n    var C = cpt[cp], D, M=\"\";\n    if(C && (D=C.dec)) {\n      for(i = 0; i < len; i+=j) {\n        j = 2;\n        s = D[(data[i]<<8)+ data[i+1]];\n        if(!s) {\n          j = 1;\n          s = D[data[i]];\n        }\n        if(!s) throw new Error('Unrecognized code: ' + data[i] + ' ' + data[i+j-1] + ' ' + i + ' ' + j + ' ' + D[data[i]]);\n        out[k++] = s;\n      }\n    }\n    else if((M=magic[cp])) switch(M) {\n      case \"utf8\":\n        if(len >= 3 && data[0] == 0xEF) if(data[1] == 0xBB && data[2] == 0xBF) i = 3;\n        for(; i < len; i+=j) {\n          j = 1;\n          if(data[i] < 128) w = data[i];\n          else if(data[i] < 224) { w=(data[i]&31)*64+(data[i+1]&63); j=2; }\n          else if(data[i] < 240) { w=((data[i]&15)<<12)+(data[i+1]&63)*64+(data[i+2]&63); j=3; }\n          else { w=(data[i]&7)*262144+((data[i+1]&63)<<12)+(data[i+2]&63)*64+(data[i+3]&63); j=4; }\n          if(w < 65536) { out[k++] = String.fromCharCode(w); }\n          else {\n            w -= 65536; ww = 0xD800 + ((w>>10)&1023); w = 0xDC00 + (w&1023);\n            out[k++] = String.fromCharCode(ww); out[k++] = String.fromCharCode(w);\n          }\n        }\n        break;\n      case \"ascii\":\n        if(has_buf && Buffer.isBuffer(data)) return data.toString(M);\n        for(i = 0; i < len; i++) out[i] = String.fromCharCode(data[i]);\n        k = len; break;\n      case \"utf16le\":\n        if(len >= 2 && data[0] == 0xFF) if(data[1] == 0xFE) i = 2;\n        if(has_buf && Buffer.isBuffer(data)) return data.toString(M);\n        j = 2;\n        for(; i+1 < len; i+=j) {\n          out[k++] = String.fromCharCode((data[i+1]<<8) + data[i]);\n        }\n        break;\n      case \"utf16be\":\n        if(len >= 2 && data[0] == 0xFE) if(data[1] == 0xFF) i = 2;\n        j = 2;\n        for(; i+1 < len; i+=j) {\n          out[k++] = String.fromCharCode((data[i]<<8) + data[i+1]);\n        }\n        break;\n      case \"utf32le\":\n        if(len >= 4 && data[0] == 0xFF) if(data[1] == 0xFE && data[2] === 0 && data[3] === 0) i = 4;\n        j = 4;\n        for(; i < len; i+=j) {\n          w = (data[i+3]<<24) + (data[i+2]<<16) + (data[i+1]<<8) + (data[i]);\n          if(w > 0xFFFF) {\n            w -= 0x10000;\n            out[k++] = String.fromCharCode(0xD800 + ((w >> 10) & 0x3FF));\n            out[k++] = String.fromCharCode(0xDC00 + (w & 0x3FF));\n          }\n          else out[k++] = String.fromCharCode(w);\n        }\n        break;\n      case \"utf32be\":\n        if(len >= 4 && data[3] == 0xFF) if(data[2] == 0xFE && data[1] === 0 && data[0] === 0) i = 4;\n        j = 4;\n        for(; i < len; i+=j) {\n          w = (data[i]<<24) + (data[i+1]<<16) + (data[i+2]<<8) + (data[i+3]);\n          if(w > 0xFFFF) {\n            w -= 0x10000;\n            out[k++] = String.fromCharCode(0xD800 + ((w >> 10) & 0x3FF));\n            out[k++] = String.fromCharCode(0xDC00 + (w & 0x3FF));\n          }\n          else out[k++] = String.fromCharCode(w);\n        }\n        break;\n      case \"utf7\":\n        if(len >= 4 && data[0] == 0x2B && data[1] == 0x2F && data[2] == 0x76) {\n          if(len >= 5 && data[3] == 0x38 && data[4] == 0x2D) i = 5;\n          else if(data[3] == 0x38 || data[3] == 0x39 || data[3] == 0x2B || data[3] == 0x2F) i = 4;\n        }\n        for(; i < len; i+=j) {\n          if(data[i] !== 0x2b) { j=1; out[k++] = String.fromCharCode(data[i]); continue; }\n          j=1;\n          if(data[i+1] === 0x2d) { j = 2; out[k++] = \"+\"; continue; }\n          // eslint-disable-next-line no-useless-escape\n          while(String.fromCharCode(data[i+j]).match(/[A-Za-z0-9+\\/]/)) j++;\n          var dash = 0;\n          if(data[i+j] === 0x2d) { ++j; dash=1; }\n          var tt = [];\n          var o64 = \"\";\n          var c1=0, c2=0, c3=0;\n          var e1=0, e2=0, e3=0, e4=0;\n          for(var l = 1; l < j - dash;) {\n            e1 = BM.indexOf(String.fromCharCode(data[i+l++]));\n            e2 = BM.indexOf(String.fromCharCode(data[i+l++]));\n            c1 = e1 << 2 | e2 >> 4;\n            tt.push(c1);\n            e3 = BM.indexOf(String.fromCharCode(data[i+l++]));\n            if(e3 === -1) break;\n            c2 = (e2 & 15) << 4 | e3 >> 2;\n            tt.push(c2);\n            e4 = BM.indexOf(String.fromCharCode(data[i+l++]));\n            if(e4 === -1) break;\n            c3 = (e3 & 3) << 6 | e4;\n            if(e4 < 64) tt.push(c3);\n          }\n          o64 = decode(1201, tt);\n          for(l = 0; l < o64.length; ++l) out[k++] = o64.charAt(l);\n        }\n        break;\n      default: throw new Error(\"Unsupported magic: \" + cp + \" \" + magic[cp]);\n    }\n    else throw new Error(\"Unrecognized CP: \" + cp);\n    return out.slice(0,k).join(\"\");\n  };\n  var hascp = function hascp(cp) { return !!(cpt[cp] || magic[cp]); };\n  cpt.utils = { decode: decode, encode: encode, hascp: hascp, magic: magic, cache:cache };\n  return cpt;\n}));\n"
  },
  {
    "path": "plugins/tiddlywiki/xlsx-utils/files/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": [\n\t\t{\n\t\t\t\"file\": \"xlsx.full.min.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/xlsx-utils/xlsx.js\",\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t},\n\t\t\t\"prefix\": \"var old_exports = exports,JSZip = require(\\\"$:/plugins/tiddlywiki/jszip/jszip.js\\\");exports = {};if($tw.browser){module.exports=undefined;};\",\n\t\t\t\"suffix\": \"$tw.utils.extend(old_exports,exports);exports = old_exports;module.exports=exports;\"\n\t\t},{\n\t\t\t\"file\": \"cpexcel.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/xlsx-utils/dist/cpexcel.js\",\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t},\n\t\t\t\"prefix\": \"if($tw.browser){Buffer = undefined;};\",\n\t\t\t\"suffix\": \"\"\n\t\t},{\n\t\t\t\"file\": \"LICENSE\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"text/plain\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/xlsx-utils/license\"\n\t\t\t}\n\t\t}\n\t]\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/xlsx-utils/help-excel-import.tid",
    "content": "title: $:/language/Help/xlsx-import\ndescription: Import tiddlers from an XLSX spreadsheet file\n\nImports tiddlers from an XLSX spreadsheet file\n\n```\n--xlsx-import <filename> <importSpec>\n```\n\n* ''filename'': filename of the `.xlsx` file\n* ''title'': title of the import specification tiddler to be used for the import"
  },
  {
    "path": "plugins/tiddlywiki/xlsx-utils/importer.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/xlsx-utils/importer.js\ntype: application/javascript\nmodule-type: library\n\nClass to import an Excel file\n\n\\*/\n\n\"use strict\";\n\nvar DEFAULT_IMPORT_SPEC_TITLE = \"$:/config/plugins/tiddlywiki/xlsx-utils/default-import-spec\";\n\nvar XLSX = require(\"$:/plugins/tiddlywiki/xlsx-utils/xlsx.js\"),\n\tJSZip = require(\"$:/plugins/tiddlywiki/jszip/jszip.js\");\n\nvar XLSXImporter = function(options) {\n\tthis.wiki = options.wiki;\n\tthis.filename = options.filename;\n\tthis.text = options.text;\n\tthis.importSpec = options.importSpec || this.wiki.getTiddlerText(DEFAULT_IMPORT_SPEC_TITLE);\n\tthis.logger = new $tw.utils.Logger(\"xlsx-utils\");\n\tthis.results = [];\n\tthis.nextAutoTitle = 1;\n\tif(JSZip) {\n\t\tthis.processWorkbook();\t\t\n\t}\n};\n\nXLSXImporter.prototype.getResults = function() {\n\treturn this.results;\n};\n\nXLSXImporter.prototype.processWorkbook = function() {\n\t// Read the workbook\n\tif(this.filename) {\n\t\tthis.workbook = XLSX.readFile(this.filename);\t\n\t} else if(this.text) {\n\t\tthis.workbook = XLSX.read(this.text,{type:\"base64\"});\n\t}\n\t// Read the root import specification\n\tthis.rootImportSpec = this.wiki.getTiddler(this.importSpec);\n\tif(this.rootImportSpec) {\n\t\t// Iterate through the sheets specified in the list field\n\t\t$tw.utils.each(this.rootImportSpec.fields.list || [],this.processSheet.bind(this));\n\t}\n};\n\nXLSXImporter.prototype.processSheet = function(sheetImportSpecTitle) {\n\t// Get the sheet import specifier\n\tthis.sheetImportSpec = this.wiki.getTiddler(sheetImportSpecTitle);\n\tif(this.sheetImportSpec) {\n\t\tthis.sheetName = this.sheetImportSpec.fields[\"import-sheet-name\"];\n\t\tthis.skipRowsTop = $tw.utils.parseInt(this.sheetImportSpec.fields[\"skip-rows-top\"] || \"0\");\n\t\tthis.applyTags = this.sheetImportSpec.fields[\"import-tags\"] || \"\";\n\t\tthis.sheet = this.workbook.Sheets[this.sheetName];\n\t\tif(!this.sheet) {\n\t\t\tthis.logger.alert(\"Missing sheet '\" + this.sheetName + \"'\");\n\t\t} else {\n\t\t\t// Get the size of the sheet\n\t\t\tthis.sheetSize = this.measureSheet(this.sheet);\n\t\t\t// Read the column names from the first row\n\t\t\tthis.columnsByName = this.findColumns(this.sheet,this.sheetSize,this.skipRowsTop);\n\t\t\t// Iterate through the rows\n\t\t\tconst startRow = this.sheetSize.startRow + this.skipRowsTop + 1;\n\t\t\tconst endRow = this.sheetSize.endRow;\n\t\t\tif(startRow < endRow) {\n\t\t\t\tfor(this.row=startRow; this.row<=endRow; this.row++) {\n\t\t\t\t\t// Iterate through the row import specifiers\n\t\t\t\t\t$tw.utils.each(this.sheetImportSpec.fields.list || [],this.processRow.bind(this));\t\t\t\t\t\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nXLSXImporter.prototype.processRow = function(rowImportSpecTitle) {\n\tthis.rowImportSpec = this.wiki.getTiddler(rowImportSpecTitle);\n\tif(this.rowImportSpec) {\n\t\tthis.tiddlerFields = {};\n\t\tthis.skipTiddler = false;\n\t\t// Determine the type of row\n\t\tthis.rowType = this.rowImportSpec.fields[\"import-row-type\"] || \"by-field\";\n\t\tswitch(this.rowType) {\n\t\t\tcase \"by-column\":\n\t\t\t\tthis.processRowByColumn();\n\t\t\t\tbreak;\n\t\t\tcase \"by-field\":\n\t\t\t\tthis.processRowByField();\n\t\t\t\tbreak;\n\t\t}\n\t\t// Save the tiddler if not skipped\n\t\tif(!this.skipTiddler) {\n\t\t\tif(!this.tiddlerFields.title) {\n\t\t\t\tvar titleTemplate = this.rowImportSpec.fields[\"import-title-template\"] || \"Imported $autoindex$\";\n\t\t\t\tthis.tiddlerFields.title = this.wiki.getSubstitutedText(titleTemplate,$tw.rootWidget,{\n\t\t\t\t\tsubstitutions: [\n\t\t\t\t\t\t{name: \"autoindex\", value: $tw.utils.pad(this.nextAutoTitle++,5)}\n\t\t\t\t\t]\n\t\t\t\t});\n\t\t\t}\n\t\t\tif(this.applyTags) {\n\t\t\t\tthis.tiddlerFields.tags = this.applyTags;\n\t\t\t}\n\t\t\tthis.results.push(this.tiddlerFields);\n\t\t}\n\t}\n};\n\nXLSXImporter.prototype.processRowByColumn = function() {\n\tvar self = this;\n\t// Iterate through the columns for the row\n\t$tw.utils.each(this.columnsByName,function(index,name) {\n\t\tvar cell = self.sheet[XLSX.utils.encode_cell({c: self.columnsByName[name], r: self.row})];\n\t\tname = name.toLowerCase();\n\t\tif(cell && cell.w && $tw.utils.isValidFieldName(name)) {\n\t\t\tself.tiddlerFields[name] = cell.w;\t\t\n\t\t}\n\t});\n};\n\nXLSXImporter.prototype.processRowByField = function() {\n\t// Iterate through the fields for the row\n\t$tw.utils.each(this.rowImportSpec.fields.list || [],this.processField.bind(this));\n};\n\nXLSXImporter.prototype.processField = function(fieldImportSpecTitle) {\n\tvar fieldImportSpec = this.wiki.getTiddler(fieldImportSpecTitle);\n\tif(fieldImportSpec) {\n\t\tvar fieldName = fieldImportSpec.fields[\"import-field-name\"],\n\t\t\tvalue;\n\t\tswitch(fieldImportSpec.fields[\"import-field-source\"]) {\n\t\t\tcase \"column\":\n\t\t\t\tvar columnName = fieldImportSpec.fields[\"import-field-column\"],\n\t\t\t\t\tcell = this.sheet[XLSX.utils.encode_cell({c: this.columnsByName[columnName], r: this.row})];\n\t\t\t\tif(cell) {\n\t\t\t\t\tswitch(fieldImportSpec.fields[\"import-field-type\"] || \"string\") {\n\t\t\t\t\t\tcase \"date\":\n\t\t\t\t\t\t\tif(cell.t === \"n\") {\n\t\t\t\t\t\t\t\tvalue = $tw.utils.stringifyDate(new Date((cell.v - (25567 + 2)) * 86400 * 1000));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"number\":\n\t\t\t\t\t\t\tvalue = cell.v.toString();\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"string\":\n\t\t\t\t\t\t\t// falls through\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tvalue = cell.w;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"constant\":\n\t\t\t\tvalue = fieldImportSpec.fields[\"import-field-value\"];\n\t\t\t\tbreak;\n\t\t}\n\t\tvalue = (value || \"\").trim();\n\t\tif(value === \"\") {\n\t\t\tif((fieldImportSpec.fields[\"import-field-skip-tiddler-if-blank\"] || \"\").trim().toLowerCase() === \"yes\") {\n\t\t\t\tthis.skipTiddler = true;\n\t\t\t}\n\t\t\tif(fieldImportSpec.fields[\"import-field-replace-blank\"]) {\n\t\t\t\tvalue = fieldImportSpec.fields[\"import-field-replace-blank\"];\n\t\t\t}\n\t\t}\n\t\tif(fieldImportSpec.fields[\"import-field-prefix\"]) {\n\t\t\tvalue = fieldImportSpec.fields[\"import-field-prefix\"] + value;\n\t\t}\n\t\tif(fieldImportSpec.fields[\"import-field-suffix\"]) {\n\t\t\tvalue = value + fieldImportSpec.fields[\"import-field-suffix\"];\n\t\t}\n\t\tswitch(fieldImportSpec.fields[\"import-field-list-op\"] || \"none\") {\n\t\t\tcase \"none\":\n\t\t\t\tthis.tiddlerFields[fieldName] = value;\n\t\t\t\tbreak;\n\t\t\tcase \"append\":\n\t\t\t\tvar list = $tw.utils.parseStringArray(this.tiddlerFields[fieldName] || \"\");\n\t\t\t\t$tw.utils.pushTop(list,value);\n\t\t\t\tthis.tiddlerFields[fieldName] = list;\n\t\t\t\tbreak;\n\t\t}\n\t}\n};\n\nXLSXImporter.prototype.measureSheet = function(sheet) {\n\tvar sheetRange = XLSX.utils.decode_range(sheet[\"!ref\"]);\n\treturn {\n\t\tstartRow: Math.min(sheetRange.s.r,sheetRange.e.r),\n\t\tendRow: Math.max(sheetRange.s.r,sheetRange.e.r),\n\t\tstartCol: Math.min(sheetRange.s.c,sheetRange.e.c),\n\t\tendCol: Math.max(sheetRange.s.c,sheetRange.e.c)\n\t};\n};\n\nXLSXImporter.prototype.findColumns = function(sheet,sheetSize,skipRowsTop) {\n\tskipRowsTop = skipRowsTop || 0;\n\tvar columnsByName = {};\n\tfor(var col=sheetSize.startCol; col<=sheetSize.endCol; col++) {\n\t\tvar cell = sheet[XLSX.utils.encode_cell({c: col, r: sheetSize.startRow + skipRowsTop})],\n\t\t\tcolumnName;\n\t\tif(cell) {\n\t\t\tcolumnName = cell.w;\n\t\t\tif(columnName) {\n\t\t\t\tcolumnsByName[columnName] = col;\n\t\t\t}\n\t\t}\n\t}\n\treturn columnsByName;\n};\n\nexports.XLSXImporter = XLSXImporter;\n"
  },
  {
    "path": "plugins/tiddlywiki/xlsx-utils/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/xlsx-utils\",\n\t\"name\": \"XLSX Utils\",\n\t\"description\": \"XLSX spreadsheet utilities\",\n\t\"list\": \"readme controls license\",\n\t\"dependents\": [\"$:/plugins/tiddlywiki/jszip\"],\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/xlsx-utils/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/xlsx-utils/readme\n\nThis plugin provides a flexible way to import tiddlers from Excel files. It is based on the library [[js-xlsx|https://github.com/SheetJS/js-xlsx]].\n\nThe plugin uses //import specifications// to determine how incoming spreadsheets are processed. You can view, create and edit import specifications in the control panel \"XLSX Utilities\" tab, or directly in the [[plugin controls|$:/plugins/tiddlywiki/xlsx-utils]]. This is also where you select which import specification is selected for use during the next import operation.\n\nEach sheet is expected to consist of a single header row followed by multiple content rows, each consisting of an independent record. The plugin automatically detects the extent of each sheet by looking for the bottom right cell that contains a value. This can lead to unexpected results if a cell is accidentally created with an invisible, blank value.\n\nImport specifications describe how tiddlers are created from a particular row of a sheet; multiple tiddlers can be generated from a single row. (Conversely, if different rows yield tiddlers with the same title then they will overwrite one another).\n\nEach field of each tiddler can be assigned a constant value, or a value taken from a named column of the sheet, optionally with a prefix and/or suffix added. There is special support for handling list fields (like the tags field), with the ability to append new items to the list.\n\nInternally, each import specifier is actually modelled as a hierarchy of connected tiddlers with the field ''import-spec-role'' indicating the following roles:\n\n* ''workbook'': describes the sheets to be imported from the workbook\n* ''sheet'': describes each sheet to be processed\n* ''row'': describes the tiddlers to be imported from each row of each sheet\n* ''field'': describes the fields to be assigned to each tiddler from each row of each sheet\n\nThe easiest way to understand the structure is to explore the example import specifications, and the corresponding spreadsheets they are designed to handle.\n\nNote that there are many possible different ways of importing a particular spreadsheet, depending on whether the structures are modelled with fields, tags, prefixes or other mechanisms. The plugin is designed to support a wide range of applications.\n\nThis plugin also requires the JSZip plugin ([[$:/plugins/tiddlywiki/jszip]]) to be installed.\n"
  },
  {
    "path": "plugins/tiddlywiki/xlsx-utils/startup.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/xlsx-utils/startup.js\ntype: application/javascript\nmodule-type: startup\n\nInitialisation\n\n\\*/\n\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"xlsx-startup\";\nexports.after = [\"load-modules\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\t// Check JSZip is installed\n\tif(!$tw.utils.hop($tw.modules.titles,\"$:/plugins/tiddlywiki/jszip/jszip.js\")) {\n\t\t// Make a logger\n\t\tvar logger = new $tw.utils.Logger(\"xlsx-utils\");\n\t\tlogger.alert(\"The plugin 'xlsx-utils' requires the 'jszip' plugin to be installed\");\n\t}\n};\n"
  },
  {
    "path": "plugins/tiddlywiki/xlsx-utils/styles.tid",
    "content": "title: $:/plugins/tiddlywiki/xlsx-utils/styles\ntags: [[$:/tags/Stylesheet]]\n\n\\define quick-colour-selector-background() #bac0f1\n\\define quick-colour-selector-border() #9196c1\n\n\\define quick-colour-editor-background() #bae3f1\n\\define quick-colour-editor-controls() #d2ffff\n\\define quick-colour-editor-border() #97b8c3\n\n\\define quick-colour-workbook-background() #baf1db\n\\define quick-colour-workbook-controls() #d3fff6\n\\define quick-colour-workbook-border() #98c3b2\n\n\\define quick-colour-sheet-background() #f1ebba\n\\define quick-colour-sheet-controls() #fffed3\n\\define quick-colour-sheet-border() #c4be98\n\n\\define quick-colour-row-background() #f1baba\n\\define quick-colour-row-controls() #fed1d2\n\\define quick-colour-row-border() #c39697\n\n\\define quick-colour-field-background() #e0d4fb\n\\define quick-colour-field-controls() #fcefff\n\\define quick-colour-field-border() #b6adcb\n\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\n.tc-import-spec-selector {\n\tborder: 1px solid <<quick-colour-selector-border>>;\n\tbackground-color: <<quick-colour-selector-background>>;\n\tpadding: 0.25em;\n}\n\n.tc-import-spec-editor-wrapper {\n\tborder: 1px solid <<quick-colour-editor-border>>;\n\tbackground-color: <<quick-colour-editor-background>>;\n\tpadding: 0.25em;\n}\n\n.tc-import-spec-editor {\n\tborder: 1px solid <<quick-colour-editor-border>>;\n\tbackground-color: <<colour background>>;\n\tmargin: 0.25em;\n}\n\n.tc-import-spec-editor-controls {\n\tdisplay: block;\n\tbackground-color: <<quick-colour-editor-controls>>;\n\tborder-bottom: 1px solid <<quick-colour-editor-background>>;\n\tpadding: 0;\n\tmargin: 0;\n\tlist-style: none;\n}\n\n.tc-import-spec-editor-controls li {\n\tpadding: 0.25em 0.5em;\n}\n\n.tc-import-spec-editor-controls li:not(:last-child) {\n\tborder-bottom: 1px solid <<quick-colour-editor-background>>;\n}\n\n.tc-import-spec-editor-list {\n}\n\n.tc-import-spec-workbook-wrapper {\n\tborder: 1px solid <<quick-colour-workbook-border>>;\n\tbackground-color: <<quick-colour-workbook-background>>;\n\tpadding: 0.25em;\n\tmargin: 0.5em;\n}\n\n.tc-import-spec-workbook {\n\tborder: 1px solid <<quick-colour-workbook-border>>;\n\tbackground-color: <<colour background>>;\n\tmargin: 0.25em;\n}\n\n.tc-import-spec-workbook-controls {\n\tdisplay: block;\n\tbackground-color: <<quick-colour-workbook-controls>>;\n\tborder-bottom: 1px solid <<quick-colour-workbook-background>>;\n\tpadding: 0;\n\tmargin: 0;\n\tlist-style: none;\n}\n\n.tc-import-spec-workbook-controls li {\n\tpadding: 0.25em 0.5em;\n}\n\n.tc-import-spec-workbook-controls li:not(:last-child) {\n\tborder-bottom: 1px solid <<quick-colour-workbook-background>>;\n}\n\n.tc-import-spec-workbook-list {\n}\n\n.tc-import-spec-sheet-wrapper {\n\tborder: 1px solid <<quick-colour-sheet-border>>;\n\tbackground-color: <<quick-colour-sheet-background>>;\n\tpadding: 0.25em;\n\tmargin: 0.5em;\n}\n\n.tc-import-spec-sheet {\n\tborder: 1px solid <<quick-colour-sheet-border>>;\n\tbackground-color: <<colour background>>;\n\tmargin: 0.25em;\n}\n\n.tc-import-spec-sheet-controls {\n\tdisplay: block;\n\tbackground-color: <<quick-colour-sheet-controls>>;\n\tborder-bottom: 1px solid <<quick-colour-sheet-background>>;\n\tpadding: 0;\n\tmargin: 0;\n\tlist-style: none;\n}\n\n.tc-import-spec-sheet-controls li {\n\tpadding: 0.25em 0.5em;\n}\n\n.tc-import-spec-sheet-controls li:not(:last-child) {\n\tborder-bottom: 1px solid <<quick-colour-sheet-background>>;\n}\n\n.tc-import-spec-sheet-list {\n}\n\n.tc-import-spec-row-wrapper {\n\tborder: 1px solid <<quick-colour-row-border>>;\n\tbackground-color: <<quick-colour-row-background>>;\n\tpadding: 0.25em;\n\tmargin: 0.5em;\n}\n\n.tc-import-spec-row {\n\tborder: 1px solid <<quick-colour-row-border>>;\n\tbackground-color: <<colour background>>;\n\tmargin: 0.25em;\n}\n\n.tc-import-spec-row-controls {\n\tdisplay: block;\n\tbackground-color: <<quick-colour-row-controls>>;\n\tborder-bottom: 1px solid <<quick-colour-row-background>>;\n\tpadding: 0;\n\tmargin: 0;\n\tlist-style: none;\n}\n\n.tc-import-spec-row-controls li {\n\tpadding: 0.25em 0.5em;\n}\n\n.tc-import-spec-row-controls li:not(:last-child) {\n\tborder-bottom: 1px solid <<quick-colour-row-background>>;\n}\n\n.tc-import-spec-row-list {\n\tlist-style: none;\n\tpadding: 0;\n\tmargin: 0;\n}\n\n.tc-import-spec-field-wrapper {\n\tfont-size: 0.9em;\n\tborder: 1px solid <<quick-colour-field-border>>;\n\tbackground-color: <<quick-colour-field-background>>;\n\tpadding: 0.25em;\n\tmargin: 0.5em;\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/xlsx-utils/xlsx-import-command.js",
    "content": "/*\\\ntitle: $:/plugins/tiddlywiki/xlsx-utils/xlsx-import-command.js\ntype: application/javascript\nmodule-type: command\n\nCommand to import an xlsx file\n\n\\*/\n\n\"use strict\";\n\nexports.info = {\n\tname: \"xlsx-import\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing parameters\";\n\t}\n\tvar wiki = this.commander.wiki,\n\t\tfilename = this.params[0],\n\t\timportSpec = this.params[1],\n\t\tXLSXImporter = require(\"$:/plugins/tiddlywiki/xlsx-utils/importer.js\").XLSXImporter,\n\t\timporter = new XLSXImporter({\n\t\t\tfilename: filename,\n\t\t\timportSpec: importSpec,\n\t\t\twiki: wiki\n\t\t});\n\twiki.addTiddlers(importer.getResults());\n\treturn null;\n};\n\nexports.Command = Command;\n"
  },
  {
    "path": "plugins/tiddlywiki/xmldom/files/LICENSE",
    "content": "You can choose any one of those:\n\nThe MIT License (MIT):\n\nlink:http://opensource.org/licenses/MIT\n\nLGPL:\nhttp://www.gnu.org/licenses/lgpl.html\n"
  },
  {
    "path": "plugins/tiddlywiki/xmldom/files/dom-parser.js",
    "content": "function DOMParser(options){\r\n\tthis.options = options ||{locator:{}};\r\n\t\r\n}\r\nDOMParser.prototype.parseFromString = function(source,mimeType){\r\n\tvar options = this.options;\r\n\tvar sax =  new XMLReader();\r\n\tvar domBuilder = options.domBuilder || new DOMHandler();//contentHandler and LexicalHandler\r\n\tvar errorHandler = options.errorHandler;\r\n\tvar locator = options.locator;\r\n\tvar defaultNSMap = options.xmlns||{};\r\n\tvar isHTML = /\\/x?html?$/.test(mimeType);//mimeType.toLowerCase().indexOf('html') > -1;\r\n  \tvar entityMap = isHTML?require('./entities').entityMap:{'lt':'<','gt':'>','amp':'&','quot':'\"','apos':\"'\"};\r\n\tif(locator){\r\n\t\tdomBuilder.setDocumentLocator(locator)\r\n\t}\r\n\t\r\n\tsax.errorHandler = buildErrorHandler(errorHandler,domBuilder,locator);\r\n\tsax.domBuilder = options.domBuilder || domBuilder;\r\n\tif(isHTML){\r\n\t\tdefaultNSMap['']= 'http://www.w3.org/1999/xhtml';\r\n\t}\r\n\tdefaultNSMap.xml = defaultNSMap.xml || 'http://www.w3.org/XML/1998/namespace';\r\n\tif(source){\r\n\t\tsax.parse(source,defaultNSMap,entityMap);\r\n\t}else{\r\n\t\tsax.errorHandler.error(\"invalid doc source\");\r\n\t}\r\n\treturn domBuilder.doc;\r\n}\r\nfunction buildErrorHandler(errorImpl,domBuilder,locator){\r\n\tif(!errorImpl){\r\n\t\tif(domBuilder instanceof DOMHandler){\r\n\t\t\treturn domBuilder;\r\n\t\t}\r\n\t\terrorImpl = domBuilder ;\r\n\t}\r\n\tvar errorHandler = {}\r\n\tvar isCallback = errorImpl instanceof Function;\r\n\tlocator = locator||{}\r\n\tfunction build(key){\r\n\t\tvar fn = errorImpl[key];\r\n\t\tif(!fn && isCallback){\r\n\t\t\tfn = errorImpl.length == 2?function(msg){errorImpl(key,msg)}:errorImpl;\r\n\t\t}\r\n\t\terrorHandler[key] = fn && function(msg){\r\n\t\t\tfn('[xmldom '+key+']\\t'+msg+_locator(locator));\r\n\t\t}||function(){};\r\n\t}\r\n\tbuild('warning');\r\n\tbuild('error');\r\n\tbuild('fatalError');\r\n\treturn errorHandler;\r\n}\r\n\r\n//console.log('#\\n\\n\\n\\n\\n\\n\\n####')\r\n/**\r\n * +ContentHandler+ErrorHandler\r\n * +LexicalHandler+EntityResolver2\r\n * -DeclHandler-DTDHandler \r\n * \r\n * DefaultHandler:EntityResolver, DTDHandler, ContentHandler, ErrorHandler\r\n * DefaultHandler2:DefaultHandler,LexicalHandler, DeclHandler, EntityResolver2\r\n * @link http://www.saxproject.org/apidoc/org/xml/sax/helpers/DefaultHandler.html\r\n */\r\nfunction DOMHandler() {\r\n    this.cdata = false;\r\n}\r\nfunction position(locator,node){\r\n\tnode.lineNumber = locator.lineNumber;\r\n\tnode.columnNumber = locator.columnNumber;\r\n}\r\n/**\r\n * @see org.xml.sax.ContentHandler#startDocument\r\n * @link http://www.saxproject.org/apidoc/org/xml/sax/ContentHandler.html\r\n */ \r\nDOMHandler.prototype = {\r\n\tstartDocument : function() {\r\n    \tthis.doc = new DOMImplementation().createDocument(null, null, null);\r\n    \tif (this.locator) {\r\n        \tthis.doc.documentURI = this.locator.systemId;\r\n    \t}\r\n\t},\r\n\tstartElement:function(namespaceURI, localName, qName, attrs) {\r\n\t\tvar doc = this.doc;\r\n\t    var el = doc.createElementNS(namespaceURI, qName||localName);\r\n\t    var len = attrs.length;\r\n\t    appendElement(this, el);\r\n\t    this.currentElement = el;\r\n\t    \r\n\t\tthis.locator && position(this.locator,el)\r\n\t    for (var i = 0 ; i < len; i++) {\r\n\t        var namespaceURI = attrs.getURI(i);\r\n\t        var value = attrs.getValue(i);\r\n\t        var qName = attrs.getQName(i);\r\n\t\t\tvar attr = doc.createAttributeNS(namespaceURI, qName);\r\n\t\t\tthis.locator &&position(attrs.getLocator(i),attr);\r\n\t\t\tattr.value = attr.nodeValue = value;\r\n\t\t\tel.setAttributeNode(attr)\r\n\t    }\r\n\t},\r\n\tendElement:function(namespaceURI, localName, qName) {\r\n\t\tvar current = this.currentElement\r\n\t\tvar tagName = current.tagName;\r\n\t\tthis.currentElement = current.parentNode;\r\n\t},\r\n\tstartPrefixMapping:function(prefix, uri) {\r\n\t},\r\n\tendPrefixMapping:function(prefix) {\r\n\t},\r\n\tprocessingInstruction:function(target, data) {\r\n\t    var ins = this.doc.createProcessingInstruction(target, data);\r\n\t    this.locator && position(this.locator,ins)\r\n\t    appendElement(this, ins);\r\n\t},\r\n\tignorableWhitespace:function(ch, start, length) {\r\n\t},\r\n\tcharacters:function(chars, start, length) {\r\n\t\tchars = _toString.apply(this,arguments)\r\n\t\t//console.log(chars)\r\n\t\tif(chars){\r\n\t\t\tif (this.cdata) {\r\n\t\t\t\tvar charNode = this.doc.createCDATASection(chars);\r\n\t\t\t} else {\r\n\t\t\t\tvar charNode = this.doc.createTextNode(chars);\r\n\t\t\t}\r\n\t\t\tif(this.currentElement){\r\n\t\t\t\tthis.currentElement.appendChild(charNode);\r\n\t\t\t}else if(/^\\s*$/.test(chars)){\r\n\t\t\t\tthis.doc.appendChild(charNode);\r\n\t\t\t\t//process xml\r\n\t\t\t}\r\n\t\t\tthis.locator && position(this.locator,charNode)\r\n\t\t}\r\n\t},\r\n\tskippedEntity:function(name) {\r\n\t},\r\n\tendDocument:function() {\r\n\t\tthis.doc.normalize();\r\n\t},\r\n\tsetDocumentLocator:function (locator) {\r\n\t    if(this.locator = locator){// && !('lineNumber' in locator)){\r\n\t    \tlocator.lineNumber = 0;\r\n\t    }\r\n\t},\r\n\t//LexicalHandler\r\n\tcomment:function(chars, start, length) {\r\n\t\tchars = _toString.apply(this,arguments)\r\n\t    var comm = this.doc.createComment(chars);\r\n\t    this.locator && position(this.locator,comm)\r\n\t    appendElement(this, comm);\r\n\t},\r\n\t\r\n\tstartCDATA:function() {\r\n\t    //used in characters() methods\r\n\t    this.cdata = true;\r\n\t},\r\n\tendCDATA:function() {\r\n\t    this.cdata = false;\r\n\t},\r\n\t\r\n\tstartDTD:function(name, publicId, systemId) {\r\n\t\tvar impl = this.doc.implementation;\r\n\t    if (impl && impl.createDocumentType) {\r\n\t        var dt = impl.createDocumentType(name, publicId, systemId);\r\n\t        this.locator && position(this.locator,dt)\r\n\t        appendElement(this, dt);\r\n\t    }\r\n\t},\r\n\t/**\r\n\t * @see org.xml.sax.ErrorHandler\r\n\t * @link http://www.saxproject.org/apidoc/org/xml/sax/ErrorHandler.html\r\n\t */\r\n\twarning:function(error) {\r\n\t\tconsole.warn('[xmldom warning]\\t'+error,_locator(this.locator));\r\n\t},\r\n\terror:function(error) {\r\n\t\tconsole.error('[xmldom error]\\t'+error,_locator(this.locator));\r\n\t},\r\n\tfatalError:function(error) {\r\n\t\tconsole.error('[xmldom fatalError]\\t'+error,_locator(this.locator));\r\n\t    throw error;\r\n\t}\r\n}\r\nfunction _locator(l){\r\n\tif(l){\r\n\t\treturn '\\n@'+(l.systemId ||'')+'#[line:'+l.lineNumber+',col:'+l.columnNumber+']'\r\n\t}\r\n}\r\nfunction _toString(chars,start,length){\r\n\tif(typeof chars == 'string'){\r\n\t\treturn chars.substr(start,length)\r\n\t}else{//java sax connect width xmldom on rhino(what about: \"? && !(chars instanceof String)\")\r\n\t\tif(chars.length >= start+length || start){\r\n\t\t\treturn new java.lang.String(chars,start,length)+'';\r\n\t\t}\r\n\t\treturn chars;\r\n\t}\r\n}\r\n\r\n/*\r\n * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/LexicalHandler.html\r\n * used method of org.xml.sax.ext.LexicalHandler:\r\n *  #comment(chars, start, length)\r\n *  #startCDATA()\r\n *  #endCDATA()\r\n *  #startDTD(name, publicId, systemId)\r\n *\r\n *\r\n * IGNORED method of org.xml.sax.ext.LexicalHandler:\r\n *  #endDTD()\r\n *  #startEntity(name)\r\n *  #endEntity(name)\r\n *\r\n *\r\n * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/DeclHandler.html\r\n * IGNORED method of org.xml.sax.ext.DeclHandler\r\n * \t#attributeDecl(eName, aName, type, mode, value)\r\n *  #elementDecl(name, model)\r\n *  #externalEntityDecl(name, publicId, systemId)\r\n *  #internalEntityDecl(name, value)\r\n * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/EntityResolver2.html\r\n * IGNORED method of org.xml.sax.EntityResolver2\r\n *  #resolveEntity(String name,String publicId,String baseURI,String systemId)\r\n *  #resolveEntity(publicId, systemId)\r\n *  #getExternalSubset(name, baseURI)\r\n * @link http://www.saxproject.org/apidoc/org/xml/sax/DTDHandler.html\r\n * IGNORED method of org.xml.sax.DTDHandler\r\n *  #notationDecl(name, publicId, systemId) {};\r\n *  #unparsedEntityDecl(name, publicId, systemId, notationName) {};\r\n */\r\n\"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl\".replace(/\\w+/g,function(key){\r\n\tDOMHandler.prototype[key] = function(){return null}\r\n})\r\n\r\n/* Private static helpers treated below as private instance methods, so don't need to add these to the public API; we might use a Relator to also get rid of non-standard public properties */\r\nfunction appendElement (hander,node) {\r\n    if (!hander.currentElement) {\r\n        hander.doc.appendChild(node);\r\n    } else {\r\n        hander.currentElement.appendChild(node);\r\n    }\r\n}//appendChild and setAttributeNS are preformance key\r\n\r\n//if(typeof require == 'function'){\r\n\tvar XMLReader = require('./sax').XMLReader;\r\n\tvar DOMImplementation = exports.DOMImplementation = require('./dom').DOMImplementation;\r\n\texports.XMLSerializer = require('./dom').XMLSerializer ;\r\n\texports.DOMParser = DOMParser;\r\n//}\r\n"
  },
  {
    "path": "plugins/tiddlywiki/xmldom/files/dom.js",
    "content": "/*\n * DOM Level 2\n * Object DOMException\n * @see http://www.w3.org/TR/REC-DOM-Level-1/ecma-script-language-binding.html\n * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html\n */\n\nfunction copy(src,dest){\n\tfor(var p in src){\n\t\tdest[p] = src[p];\n\t}\n}\n/**\n^\\w+\\.prototype\\.([_\\w]+)\\s*=\\s*((?:.*\\{\\s*?[\\r\\n][\\s\\S]*?^})|\\S.*?(?=[;\\r\\n]));?\n^\\w+\\.prototype\\.([_\\w]+)\\s*=\\s*(\\S.*?(?=[;\\r\\n]));?\n */\nfunction _extends(Class,Super){\n\tvar pt = Class.prototype;\n\tif(Object.create){\n\t\tvar ppt = Object.create(Super.prototype)\n\t\tpt.__proto__ = ppt;\n\t}\n\tif(!(pt instanceof Super)){\n\t\tfunction t(){};\n\t\tt.prototype = Super.prototype;\n\t\tt = new t();\n\t\tcopy(pt,t);\n\t\tClass.prototype = pt = t;\n\t}\n\tif(pt.constructor != Class){\n\t\tif(typeof Class != 'function'){\n\t\t\tconsole.error(\"unknow Class:\"+Class)\n\t\t}\n\t\tpt.constructor = Class\n\t}\n}\nvar htmlns = 'http://www.w3.org/1999/xhtml' ;\n// Node Types\nvar NodeType = {}\nvar ELEMENT_NODE                = NodeType.ELEMENT_NODE                = 1;\nvar ATTRIBUTE_NODE              = NodeType.ATTRIBUTE_NODE              = 2;\nvar TEXT_NODE                   = NodeType.TEXT_NODE                   = 3;\nvar CDATA_SECTION_NODE          = NodeType.CDATA_SECTION_NODE          = 4;\nvar ENTITY_REFERENCE_NODE       = NodeType.ENTITY_REFERENCE_NODE       = 5;\nvar ENTITY_NODE                 = NodeType.ENTITY_NODE                 = 6;\nvar PROCESSING_INSTRUCTION_NODE = NodeType.PROCESSING_INSTRUCTION_NODE = 7;\nvar COMMENT_NODE                = NodeType.COMMENT_NODE                = 8;\nvar DOCUMENT_NODE               = NodeType.DOCUMENT_NODE               = 9;\nvar DOCUMENT_TYPE_NODE          = NodeType.DOCUMENT_TYPE_NODE          = 10;\nvar DOCUMENT_FRAGMENT_NODE      = NodeType.DOCUMENT_FRAGMENT_NODE      = 11;\nvar NOTATION_NODE               = NodeType.NOTATION_NODE               = 12;\n\n// ExceptionCode\nvar ExceptionCode = {}\nvar ExceptionMessage = {};\nvar INDEX_SIZE_ERR              = ExceptionCode.INDEX_SIZE_ERR              = ((ExceptionMessage[1]=\"Index size error\"),1);\nvar DOMSTRING_SIZE_ERR          = ExceptionCode.DOMSTRING_SIZE_ERR          = ((ExceptionMessage[2]=\"DOMString size error\"),2);\nvar HIERARCHY_REQUEST_ERR       = ExceptionCode.HIERARCHY_REQUEST_ERR       = ((ExceptionMessage[3]=\"Hierarchy request error\"),3);\nvar WRONG_DOCUMENT_ERR          = ExceptionCode.WRONG_DOCUMENT_ERR          = ((ExceptionMessage[4]=\"Wrong document\"),4);\nvar INVALID_CHARACTER_ERR       = ExceptionCode.INVALID_CHARACTER_ERR       = ((ExceptionMessage[5]=\"Invalid character\"),5);\nvar NO_DATA_ALLOWED_ERR         = ExceptionCode.NO_DATA_ALLOWED_ERR         = ((ExceptionMessage[6]=\"No data allowed\"),6);\nvar NO_MODIFICATION_ALLOWED_ERR = ExceptionCode.NO_MODIFICATION_ALLOWED_ERR = ((ExceptionMessage[7]=\"No modification allowed\"),7);\nvar NOT_FOUND_ERR               = ExceptionCode.NOT_FOUND_ERR               = ((ExceptionMessage[8]=\"Not found\"),8);\nvar NOT_SUPPORTED_ERR           = ExceptionCode.NOT_SUPPORTED_ERR           = ((ExceptionMessage[9]=\"Not supported\"),9);\nvar INUSE_ATTRIBUTE_ERR         = ExceptionCode.INUSE_ATTRIBUTE_ERR         = ((ExceptionMessage[10]=\"Attribute in use\"),10);\n//level2\nvar INVALID_STATE_ERR        \t= ExceptionCode.INVALID_STATE_ERR        \t= ((ExceptionMessage[11]=\"Invalid state\"),11);\nvar SYNTAX_ERR               \t= ExceptionCode.SYNTAX_ERR               \t= ((ExceptionMessage[12]=\"Syntax error\"),12);\nvar INVALID_MODIFICATION_ERR \t= ExceptionCode.INVALID_MODIFICATION_ERR \t= ((ExceptionMessage[13]=\"Invalid modification\"),13);\nvar NAMESPACE_ERR            \t= ExceptionCode.NAMESPACE_ERR           \t= ((ExceptionMessage[14]=\"Invalid namespace\"),14);\nvar INVALID_ACCESS_ERR       \t= ExceptionCode.INVALID_ACCESS_ERR      \t= ((ExceptionMessage[15]=\"Invalid access\"),15);\n\n\nfunction DOMException(code, message) {\n\tif(message instanceof Error){\n\t\tvar error = message;\n\t}else{\n\t\terror = this;\n\t\tError.call(this, ExceptionMessage[code]);\n\t\tthis.message = ExceptionMessage[code];\n\t\tif(Error.captureStackTrace) Error.captureStackTrace(this, DOMException);\n\t}\n\terror.code = code;\n\tif(message) this.message = this.message + \": \" + message;\n\treturn error;\n};\nDOMException.prototype = Error.prototype;\ncopy(ExceptionCode,DOMException)\n/**\n * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-536297177\n * The NodeList interface provides the abstraction of an ordered collection of nodes, without defining or constraining how this collection is implemented. NodeList objects in the DOM are live.\n * The items in the NodeList are accessible via an integral index, starting from 0.\n */\nfunction NodeList() {\n};\nNodeList.prototype = {\n\t/**\n\t * The number of nodes in the list. The range of valid child node indices is 0 to length-1 inclusive.\n\t * @standard level1\n\t */\n\tlength:0, \n\t/**\n\t * Returns the indexth item in the collection. If index is greater than or equal to the number of nodes in the list, this returns null.\n\t * @standard level1\n\t * @param index  unsigned long \n\t *   Index into the collection.\n\t * @return Node\n\t * \tThe node at the indexth position in the NodeList, or null if that is not a valid index. \n\t */\n\titem: function(index) {\n\t\treturn this[index] || null;\n\t},\n\ttoString:function(isHTML,nodeFilter){\n\t\tfor(var buf = [], i = 0;i<this.length;i++){\n\t\t\tserializeToString(this[i],buf,isHTML,nodeFilter);\n\t\t}\n\t\treturn buf.join('');\n\t}\n};\nfunction LiveNodeList(node,refresh){\n\tthis._node = node;\n\tthis._refresh = refresh\n\t_updateLiveList(this);\n}\nfunction _updateLiveList(list){\n\tvar inc = list._node._inc || list._node.ownerDocument._inc;\n\tif(list._inc != inc){\n\t\tvar ls = list._refresh(list._node);\n\t\t//console.log(ls.length)\n\t\t__set__(list,'length',ls.length);\n\t\tcopy(ls,list);\n\t\tlist._inc = inc;\n\t}\n}\nLiveNodeList.prototype.item = function(i){\n\t_updateLiveList(this);\n\treturn this[i];\n}\n\n_extends(LiveNodeList,NodeList);\n/**\n * \n * Objects implementing the NamedNodeMap interface are used to represent collections of nodes that can be accessed by name. Note that NamedNodeMap does not inherit from NodeList; NamedNodeMaps are not maintained in any particular order. Objects contained in an object implementing NamedNodeMap may also be accessed by an ordinal index, but this is simply to allow convenient enumeration of the contents of a NamedNodeMap, and does not imply that the DOM specifies an order to these Nodes.\n * NamedNodeMap objects in the DOM are live.\n * used for attributes or DocumentType entities \n */\nfunction NamedNodeMap() {\n};\n\nfunction _findNodeIndex(list,node){\n\tvar i = list.length;\n\twhile(i--){\n\t\tif(list[i] === node){return i}\n\t}\n}\n\nfunction _addNamedNode(el,list,newAttr,oldAttr){\n\tif(oldAttr){\n\t\tlist[_findNodeIndex(list,oldAttr)] = newAttr;\n\t}else{\n\t\tlist[list.length++] = newAttr;\n\t}\n\tif(el){\n\t\tnewAttr.ownerElement = el;\n\t\tvar doc = el.ownerDocument;\n\t\tif(doc){\n\t\t\toldAttr && _onRemoveAttribute(doc,el,oldAttr);\n\t\t\t_onAddAttribute(doc,el,newAttr);\n\t\t}\n\t}\n}\nfunction _removeNamedNode(el,list,attr){\n\t//console.log('remove attr:'+attr)\n\tvar i = _findNodeIndex(list,attr);\n\tif(i>=0){\n\t\tvar lastIndex = list.length-1\n\t\twhile(i<lastIndex){\n\t\t\tlist[i] = list[++i]\n\t\t}\n\t\tlist.length = lastIndex;\n\t\tif(el){\n\t\t\tvar doc = el.ownerDocument;\n\t\t\tif(doc){\n\t\t\t\t_onRemoveAttribute(doc,el,attr);\n\t\t\t\tattr.ownerElement = null;\n\t\t\t}\n\t\t}\n\t}else{\n\t\tthrow DOMException(NOT_FOUND_ERR,new Error(el.tagName+'@'+attr))\n\t}\n}\nNamedNodeMap.prototype = {\n\tlength:0,\n\titem:NodeList.prototype.item,\n\tgetNamedItem: function(key) {\n//\t\tif(key.indexOf(':')>0 || key == 'xmlns'){\n//\t\t\treturn null;\n//\t\t}\n\t\t//console.log()\n\t\tvar i = this.length;\n\t\twhile(i--){\n\t\t\tvar attr = this[i];\n\t\t\t//console.log(attr.nodeName,key)\n\t\t\tif(attr.nodeName == key){\n\t\t\t\treturn attr;\n\t\t\t}\n\t\t}\n\t},\n\tsetNamedItem: function(attr) {\n\t\tvar el = attr.ownerElement;\n\t\tif(el && el!=this._ownerElement){\n\t\t\tthrow new DOMException(INUSE_ATTRIBUTE_ERR);\n\t\t}\n\t\tvar oldAttr = this.getNamedItem(attr.nodeName);\n\t\t_addNamedNode(this._ownerElement,this,attr,oldAttr);\n\t\treturn oldAttr;\n\t},\n\t/* returns Node */\n\tsetNamedItemNS: function(attr) {// raises: WRONG_DOCUMENT_ERR,NO_MODIFICATION_ALLOWED_ERR,INUSE_ATTRIBUTE_ERR\n\t\tvar el = attr.ownerElement, oldAttr;\n\t\tif(el && el!=this._ownerElement){\n\t\t\tthrow new DOMException(INUSE_ATTRIBUTE_ERR);\n\t\t}\n\t\toldAttr = this.getNamedItemNS(attr.namespaceURI,attr.localName);\n\t\t_addNamedNode(this._ownerElement,this,attr,oldAttr);\n\t\treturn oldAttr;\n\t},\n\n\t/* returns Node */\n\tremoveNamedItem: function(key) {\n\t\tvar attr = this.getNamedItem(key);\n\t\t_removeNamedNode(this._ownerElement,this,attr);\n\t\treturn attr;\n\t\t\n\t\t\n\t},// raises: NOT_FOUND_ERR,NO_MODIFICATION_ALLOWED_ERR\n\t\n\t//for level2\n\tremoveNamedItemNS:function(namespaceURI,localName){\n\t\tvar attr = this.getNamedItemNS(namespaceURI,localName);\n\t\t_removeNamedNode(this._ownerElement,this,attr);\n\t\treturn attr;\n\t},\n\tgetNamedItemNS: function(namespaceURI, localName) {\n\t\tvar i = this.length;\n\t\twhile(i--){\n\t\t\tvar node = this[i];\n\t\t\tif(node.localName == localName && node.namespaceURI == namespaceURI){\n\t\t\t\treturn node;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n};\n/**\n * @see http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-102161490\n */\nfunction DOMImplementation(/* Object */ features) {\n\tthis._features = {};\n\tif (features) {\n\t\tfor (var feature in features) {\n\t\t\t this._features = features[feature];\n\t\t}\n\t}\n};\n\nDOMImplementation.prototype = {\n\thasFeature: function(/* string */ feature, /* string */ version) {\n\t\tvar versions = this._features[feature.toLowerCase()];\n\t\tif (versions && (!version || version in versions)) {\n\t\t\treturn true;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t},\n\t// Introduced in DOM Level 2:\n\tcreateDocument:function(namespaceURI,  qualifiedName, doctype){// raises:INVALID_CHARACTER_ERR,NAMESPACE_ERR,WRONG_DOCUMENT_ERR\n\t\tvar doc = new Document();\n\t\tdoc.implementation = this;\n\t\tdoc.childNodes = new NodeList();\n\t\tdoc.doctype = doctype;\n\t\tif(doctype){\n\t\t\tdoc.appendChild(doctype);\n\t\t}\n\t\tif(qualifiedName){\n\t\t\tvar root = doc.createElementNS(namespaceURI,qualifiedName);\n\t\t\tdoc.appendChild(root);\n\t\t}\n\t\treturn doc;\n\t},\n\t// Introduced in DOM Level 2:\n\tcreateDocumentType:function(qualifiedName, publicId, systemId){// raises:INVALID_CHARACTER_ERR,NAMESPACE_ERR\n\t\tvar node = new DocumentType();\n\t\tnode.name = qualifiedName;\n\t\tnode.nodeName = qualifiedName;\n\t\tnode.publicId = publicId;\n\t\tnode.systemId = systemId;\n\t\t// Introduced in DOM Level 2:\n\t\t//readonly attribute DOMString        internalSubset;\n\t\t\n\t\t//TODO:..\n\t\t//  readonly attribute NamedNodeMap     entities;\n\t\t//  readonly attribute NamedNodeMap     notations;\n\t\treturn node;\n\t}\n};\n\n\n/**\n * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-1950641247\n */\n\nfunction Node() {\n};\n\nNode.prototype = {\n\tfirstChild : null,\n\tlastChild : null,\n\tpreviousSibling : null,\n\tnextSibling : null,\n\tattributes : null,\n\tparentNode : null,\n\tchildNodes : null,\n\townerDocument : null,\n\tnodeValue : null,\n\tnamespaceURI : null,\n\tprefix : null,\n\tlocalName : null,\n\t// Modified in DOM Level 2:\n\tinsertBefore:function(newChild, refChild){//raises \n\t\treturn _insertBefore(this,newChild,refChild);\n\t},\n\treplaceChild:function(newChild, oldChild){//raises \n\t\tthis.insertBefore(newChild,oldChild);\n\t\tif(oldChild){\n\t\t\tthis.removeChild(oldChild);\n\t\t}\n\t},\n\tremoveChild:function(oldChild){\n\t\treturn _removeChild(this,oldChild);\n\t},\n\tappendChild:function(newChild){\n\t\treturn this.insertBefore(newChild,null);\n\t},\n\thasChildNodes:function(){\n\t\treturn this.firstChild != null;\n\t},\n\tcloneNode:function(deep){\n\t\treturn cloneNode(this.ownerDocument||this,this,deep);\n\t},\n\t// Modified in DOM Level 2:\n\tnormalize:function(){\n\t\tvar child = this.firstChild;\n\t\twhile(child){\n\t\t\tvar next = child.nextSibling;\n\t\t\tif(next && next.nodeType == TEXT_NODE && child.nodeType == TEXT_NODE){\n\t\t\t\tthis.removeChild(next);\n\t\t\t\tchild.appendData(next.data);\n\t\t\t}else{\n\t\t\t\tchild.normalize();\n\t\t\t\tchild = next;\n\t\t\t}\n\t\t}\n\t},\n  \t// Introduced in DOM Level 2:\n\tisSupported:function(feature, version){\n\t\treturn this.ownerDocument.implementation.hasFeature(feature,version);\n\t},\n    // Introduced in DOM Level 2:\n    hasAttributes:function(){\n    \treturn this.attributes.length>0;\n    },\n    lookupPrefix:function(namespaceURI){\n    \tvar el = this;\n    \twhile(el){\n    \t\tvar map = el._nsMap;\n    \t\t//console.dir(map)\n    \t\tif(map){\n    \t\t\tfor(var n in map){\n    \t\t\t\tif(map[n] == namespaceURI){\n    \t\t\t\t\treturn n;\n    \t\t\t\t}\n    \t\t\t}\n    \t\t}\n    \t\tel = el.nodeType == ATTRIBUTE_NODE?el.ownerDocument : el.parentNode;\n    \t}\n    \treturn null;\n    },\n    // Introduced in DOM Level 3:\n    lookupNamespaceURI:function(prefix){\n    \tvar el = this;\n    \twhile(el){\n    \t\tvar map = el._nsMap;\n    \t\t//console.dir(map)\n    \t\tif(map){\n    \t\t\tif(prefix in map){\n    \t\t\t\treturn map[prefix] ;\n    \t\t\t}\n    \t\t}\n    \t\tel = el.nodeType == ATTRIBUTE_NODE?el.ownerDocument : el.parentNode;\n    \t}\n    \treturn null;\n    },\n    // Introduced in DOM Level 3:\n    isDefaultNamespace:function(namespaceURI){\n    \tvar prefix = this.lookupPrefix(namespaceURI);\n    \treturn prefix == null;\n    }\n};\n\n\nfunction _xmlEncoder(c){\n\treturn c == '<' && '&lt;' ||\n         c == '>' && '&gt;' ||\n         c == '&' && '&amp;' ||\n         c == '\"' && '&quot;' ||\n         '&#'+c.charCodeAt()+';'\n}\n\n\ncopy(NodeType,Node);\ncopy(NodeType,Node.prototype);\n\n/**\n * @param callback return true for continue,false for break\n * @return boolean true: break visit;\n */\nfunction _visitNode(node,callback){\n\tif(callback(node)){\n\t\treturn true;\n\t}\n\tif(node = node.firstChild){\n\t\tdo{\n\t\t\tif(_visitNode(node,callback)){return true}\n        }while(node=node.nextSibling)\n    }\n}\n\n\n\nfunction Document(){\n}\nfunction _onAddAttribute(doc,el,newAttr){\n\tdoc && doc._inc++;\n\tvar ns = newAttr.namespaceURI ;\n\tif(ns == 'http://www.w3.org/2000/xmlns/'){\n\t\t//update namespace\n\t\tel._nsMap[newAttr.prefix?newAttr.localName:''] = newAttr.value\n\t}\n}\nfunction _onRemoveAttribute(doc,el,newAttr,remove){\n\tdoc && doc._inc++;\n\tvar ns = newAttr.namespaceURI ;\n\tif(ns == 'http://www.w3.org/2000/xmlns/'){\n\t\t//update namespace\n\t\tdelete el._nsMap[newAttr.prefix?newAttr.localName:'']\n\t}\n}\nfunction _onUpdateChild(doc,el,newChild){\n\tif(doc && doc._inc){\n\t\tdoc._inc++;\n\t\t//update childNodes\n\t\tvar cs = el.childNodes;\n\t\tif(newChild){\n\t\t\tcs[cs.length++] = newChild;\n\t\t}else{\n\t\t\t//console.log(1)\n\t\t\tvar child = el.firstChild;\n\t\t\tvar i = 0;\n\t\t\twhile(child){\n\t\t\t\tcs[i++] = child;\n\t\t\t\tchild =child.nextSibling;\n\t\t\t}\n\t\t\tcs.length = i;\n\t\t}\n\t}\n}\n\n/**\n * attributes;\n * children;\n * \n * writeable properties:\n * nodeValue,Attr:value,CharacterData:data\n * prefix\n */\nfunction _removeChild(parentNode,child){\n\tvar previous = child.previousSibling;\n\tvar next = child.nextSibling;\n\tif(previous){\n\t\tprevious.nextSibling = next;\n\t}else{\n\t\tparentNode.firstChild = next\n\t}\n\tif(next){\n\t\tnext.previousSibling = previous;\n\t}else{\n\t\tparentNode.lastChild = previous;\n\t}\n\t_onUpdateChild(parentNode.ownerDocument,parentNode);\n\treturn child;\n}\n/**\n * preformance key(refChild == null)\n */\nfunction _insertBefore(parentNode,newChild,nextChild){\n\tvar cp = newChild.parentNode;\n\tif(cp){\n\t\tcp.removeChild(newChild);//remove and update\n\t}\n\tif(newChild.nodeType === DOCUMENT_FRAGMENT_NODE){\n\t\tvar newFirst = newChild.firstChild;\n\t\tif (newFirst == null) {\n\t\t\treturn newChild;\n\t\t}\n\t\tvar newLast = newChild.lastChild;\n\t}else{\n\t\tnewFirst = newLast = newChild;\n\t}\n\tvar pre = nextChild ? nextChild.previousSibling : parentNode.lastChild;\n\n\tnewFirst.previousSibling = pre;\n\tnewLast.nextSibling = nextChild;\n\t\n\t\n\tif(pre){\n\t\tpre.nextSibling = newFirst;\n\t}else{\n\t\tparentNode.firstChild = newFirst;\n\t}\n\tif(nextChild == null){\n\t\tparentNode.lastChild = newLast;\n\t}else{\n\t\tnextChild.previousSibling = newLast;\n\t}\n\tdo{\n\t\tnewFirst.parentNode = parentNode;\n\t}while(newFirst !== newLast && (newFirst= newFirst.nextSibling))\n\t_onUpdateChild(parentNode.ownerDocument||parentNode,parentNode);\n\t//console.log(parentNode.lastChild.nextSibling == null)\n\tif (newChild.nodeType == DOCUMENT_FRAGMENT_NODE) {\n\t\tnewChild.firstChild = newChild.lastChild = null;\n\t}\n\treturn newChild;\n}\nfunction _appendSingleChild(parentNode,newChild){\n\tvar cp = newChild.parentNode;\n\tif(cp){\n\t\tvar pre = parentNode.lastChild;\n\t\tcp.removeChild(newChild);//remove and update\n\t\tvar pre = parentNode.lastChild;\n\t}\n\tvar pre = parentNode.lastChild;\n\tnewChild.parentNode = parentNode;\n\tnewChild.previousSibling = pre;\n\tnewChild.nextSibling = null;\n\tif(pre){\n\t\tpre.nextSibling = newChild;\n\t}else{\n\t\tparentNode.firstChild = newChild;\n\t}\n\tparentNode.lastChild = newChild;\n\t_onUpdateChild(parentNode.ownerDocument,parentNode,newChild);\n\treturn newChild;\n\t//console.log(\"__aa\",parentNode.lastChild.nextSibling == null)\n}\nDocument.prototype = {\n\t//implementation : null,\n\tnodeName :  '#document',\n\tnodeType :  DOCUMENT_NODE,\n\tdoctype :  null,\n\tdocumentElement :  null,\n\t_inc : 1,\n\t\n\tinsertBefore :  function(newChild, refChild){//raises \n\t\tif(newChild.nodeType == DOCUMENT_FRAGMENT_NODE){\n\t\t\tvar child = newChild.firstChild;\n\t\t\twhile(child){\n\t\t\t\tvar next = child.nextSibling;\n\t\t\t\tthis.insertBefore(child,refChild);\n\t\t\t\tchild = next;\n\t\t\t}\n\t\t\treturn newChild;\n\t\t}\n\t\tif(this.documentElement == null && newChild.nodeType == ELEMENT_NODE){\n\t\t\tthis.documentElement = newChild;\n\t\t}\n\t\t\n\t\treturn _insertBefore(this,newChild,refChild),(newChild.ownerDocument = this),newChild;\n\t},\n\tremoveChild :  function(oldChild){\n\t\tif(this.documentElement == oldChild){\n\t\t\tthis.documentElement = null;\n\t\t}\n\t\treturn _removeChild(this,oldChild);\n\t},\n\t// Introduced in DOM Level 2:\n\timportNode : function(importedNode,deep){\n\t\treturn importNode(this,importedNode,deep);\n\t},\n\t// Introduced in DOM Level 2:\n\tgetElementById :\tfunction(id){\n\t\tvar rtv = null;\n\t\t_visitNode(this.documentElement,function(node){\n\t\t\tif(node.nodeType == ELEMENT_NODE){\n\t\t\t\tif(node.getAttribute('id') == id){\n\t\t\t\t\trtv = node;\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t\treturn rtv;\n\t},\n\t\n\t//document factory method:\n\tcreateElement :\tfunction(tagName){\n\t\tvar node = new Element();\n\t\tnode.ownerDocument = this;\n\t\tnode.nodeName = tagName;\n\t\tnode.tagName = tagName;\n\t\tnode.childNodes = new NodeList();\n\t\tvar attrs\t= node.attributes = new NamedNodeMap();\n\t\tattrs._ownerElement = node;\n\t\treturn node;\n\t},\n\tcreateDocumentFragment :\tfunction(){\n\t\tvar node = new DocumentFragment();\n\t\tnode.ownerDocument = this;\n\t\tnode.childNodes = new NodeList();\n\t\treturn node;\n\t},\n\tcreateTextNode :\tfunction(data){\n\t\tvar node = new Text();\n\t\tnode.ownerDocument = this;\n\t\tnode.appendData(data)\n\t\treturn node;\n\t},\n\tcreateComment :\tfunction(data){\n\t\tvar node = new Comment();\n\t\tnode.ownerDocument = this;\n\t\tnode.appendData(data)\n\t\treturn node;\n\t},\n\tcreateCDATASection :\tfunction(data){\n\t\tvar node = new CDATASection();\n\t\tnode.ownerDocument = this;\n\t\tnode.appendData(data)\n\t\treturn node;\n\t},\n\tcreateProcessingInstruction :\tfunction(target,data){\n\t\tvar node = new ProcessingInstruction();\n\t\tnode.ownerDocument = this;\n\t\tnode.tagName = node.target = target;\n\t\tnode.nodeValue= node.data = data;\n\t\treturn node;\n\t},\n\tcreateAttribute :\tfunction(name){\n\t\tvar node = new Attr();\n\t\tnode.ownerDocument\t= this;\n\t\tnode.name = name;\n\t\tnode.nodeName\t= name;\n\t\tnode.localName = name;\n\t\tnode.specified = true;\n\t\treturn node;\n\t},\n\tcreateEntityReference :\tfunction(name){\n\t\tvar node = new EntityReference();\n\t\tnode.ownerDocument\t= this;\n\t\tnode.nodeName\t= name;\n\t\treturn node;\n\t},\n\t// Introduced in DOM Level 2:\n\tcreateElementNS :\tfunction(namespaceURI,qualifiedName){\n\t\tvar node = new Element();\n\t\tvar pl = qualifiedName.split(':');\n\t\tvar attrs\t= node.attributes = new NamedNodeMap();\n\t\tnode.childNodes = new NodeList();\n\t\tnode.ownerDocument = this;\n\t\tnode.nodeName = qualifiedName;\n\t\tnode.tagName = qualifiedName;\n\t\tnode.namespaceURI = namespaceURI;\n\t\tif(pl.length == 2){\n\t\t\tnode.prefix = pl[0];\n\t\t\tnode.localName = pl[1];\n\t\t}else{\n\t\t\t//el.prefix = null;\n\t\t\tnode.localName = qualifiedName;\n\t\t}\n\t\tattrs._ownerElement = node;\n\t\treturn node;\n\t},\n\t// Introduced in DOM Level 2:\n\tcreateAttributeNS :\tfunction(namespaceURI,qualifiedName){\n\t\tvar node = new Attr();\n\t\tvar pl = qualifiedName.split(':');\n\t\tnode.ownerDocument = this;\n\t\tnode.nodeName = qualifiedName;\n\t\tnode.name = qualifiedName;\n\t\tnode.namespaceURI = namespaceURI;\n\t\tnode.specified = true;\n\t\tif(pl.length == 2){\n\t\t\tnode.prefix = pl[0];\n\t\t\tnode.localName = pl[1];\n\t\t}else{\n\t\t\t//el.prefix = null;\n\t\t\tnode.localName = qualifiedName;\n\t\t}\n\t\treturn node;\n\t}\n};\n_extends(Document,Node);\n\n\nfunction Element() {\n\tthis._nsMap = {};\n};\nElement.prototype = {\n\tnodeType : ELEMENT_NODE,\n\thasAttribute : function(name){\n\t\treturn this.getAttributeNode(name)!=null;\n\t},\n\tgetAttribute : function(name){\n\t\tvar attr = this.getAttributeNode(name);\n\t\treturn attr && attr.value || '';\n\t},\n\tgetAttributeNode : function(name){\n\t\treturn this.attributes.getNamedItem(name);\n\t},\n\tsetAttribute : function(name, value){\n\t\tvar attr = this.ownerDocument.createAttribute(name);\n\t\tattr.value = attr.nodeValue = \"\" + value;\n\t\tthis.setAttributeNode(attr)\n\t},\n\tremoveAttribute : function(name){\n\t\tvar attr = this.getAttributeNode(name)\n\t\tattr && this.removeAttributeNode(attr);\n\t},\n\t\n\t//four real opeartion method\n\tappendChild:function(newChild){\n\t\tif(newChild.nodeType === DOCUMENT_FRAGMENT_NODE){\n\t\t\treturn this.insertBefore(newChild,null);\n\t\t}else{\n\t\t\treturn _appendSingleChild(this,newChild);\n\t\t}\n\t},\n\tsetAttributeNode : function(newAttr){\n\t\treturn this.attributes.setNamedItem(newAttr);\n\t},\n\tsetAttributeNodeNS : function(newAttr){\n\t\treturn this.attributes.setNamedItemNS(newAttr);\n\t},\n\tremoveAttributeNode : function(oldAttr){\n\t\t//console.log(this == oldAttr.ownerElement)\n\t\treturn this.attributes.removeNamedItem(oldAttr.nodeName);\n\t},\n\t//get real attribute name,and remove it by removeAttributeNode\n\tremoveAttributeNS : function(namespaceURI, localName){\n\t\tvar old = this.getAttributeNodeNS(namespaceURI, localName);\n\t\told && this.removeAttributeNode(old);\n\t},\n\t\n\thasAttributeNS : function(namespaceURI, localName){\n\t\treturn this.getAttributeNodeNS(namespaceURI, localName)!=null;\n\t},\n\tgetAttributeNS : function(namespaceURI, localName){\n\t\tvar attr = this.getAttributeNodeNS(namespaceURI, localName);\n\t\treturn attr && attr.value || '';\n\t},\n\tsetAttributeNS : function(namespaceURI, qualifiedName, value){\n\t\tvar attr = this.ownerDocument.createAttributeNS(namespaceURI, qualifiedName);\n\t\tattr.value = attr.nodeValue = \"\" + value;\n\t\tthis.setAttributeNode(attr)\n\t},\n\tgetAttributeNodeNS : function(namespaceURI, localName){\n\t\treturn this.attributes.getNamedItemNS(namespaceURI, localName);\n\t},\n\t\n\tgetElementsByTagName : function(tagName){\n\t\treturn new LiveNodeList(this,function(base){\n\t\t\tvar ls = [];\n\t\t\t_visitNode(base,function(node){\n\t\t\t\tif(node !== base && node.nodeType == ELEMENT_NODE && (tagName === '*' || node.tagName == tagName)){\n\t\t\t\t\tls.push(node);\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn ls;\n\t\t});\n\t},\n\tgetElementsByTagNameNS : function(namespaceURI, localName){\n\t\treturn new LiveNodeList(this,function(base){\n\t\t\tvar ls = [];\n\t\t\t_visitNode(base,function(node){\n\t\t\t\tif(node !== base && node.nodeType === ELEMENT_NODE && (namespaceURI === '*' || node.namespaceURI === namespaceURI) && (localName === '*' || node.localName == localName)){\n\t\t\t\t\tls.push(node);\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn ls;\n\t\t\t\n\t\t});\n\t}\n};\nDocument.prototype.getElementsByTagName = Element.prototype.getElementsByTagName;\nDocument.prototype.getElementsByTagNameNS = Element.prototype.getElementsByTagNameNS;\n\n\n_extends(Element,Node);\nfunction Attr() {\n};\nAttr.prototype.nodeType = ATTRIBUTE_NODE;\n_extends(Attr,Node);\n\n\nfunction CharacterData() {\n};\nCharacterData.prototype = {\n\tdata : '',\n\tsubstringData : function(offset, count) {\n\t\treturn this.data.substring(offset, offset+count);\n\t},\n\tappendData: function(text) {\n\t\ttext = this.data+text;\n\t\tthis.nodeValue = this.data = text;\n\t\tthis.length = text.length;\n\t},\n\tinsertData: function(offset,text) {\n\t\tthis.replaceData(offset,0,text);\n\t\n\t},\n\tappendChild:function(newChild){\n\t\tthrow new Error(ExceptionMessage[HIERARCHY_REQUEST_ERR])\n\t},\n\tdeleteData: function(offset, count) {\n\t\tthis.replaceData(offset,count,\"\");\n\t},\n\treplaceData: function(offset, count, text) {\n\t\tvar start = this.data.substring(0,offset);\n\t\tvar end = this.data.substring(offset+count);\n\t\ttext = start + text + end;\n\t\tthis.nodeValue = this.data = text;\n\t\tthis.length = text.length;\n\t}\n}\n_extends(CharacterData,Node);\nfunction Text() {\n};\nText.prototype = {\n\tnodeName : \"#text\",\n\tnodeType : TEXT_NODE,\n\tsplitText : function(offset) {\n\t\tvar text = this.data;\n\t\tvar newText = text.substring(offset);\n\t\ttext = text.substring(0, offset);\n\t\tthis.data = this.nodeValue = text;\n\t\tthis.length = text.length;\n\t\tvar newNode = this.ownerDocument.createTextNode(newText);\n\t\tif(this.parentNode){\n\t\t\tthis.parentNode.insertBefore(newNode, this.nextSibling);\n\t\t}\n\t\treturn newNode;\n\t}\n}\n_extends(Text,CharacterData);\nfunction Comment() {\n};\nComment.prototype = {\n\tnodeName : \"#comment\",\n\tnodeType : COMMENT_NODE\n}\n_extends(Comment,CharacterData);\n\nfunction CDATASection() {\n};\nCDATASection.prototype = {\n\tnodeName : \"#cdata-section\",\n\tnodeType : CDATA_SECTION_NODE\n}\n_extends(CDATASection,CharacterData);\n\n\nfunction DocumentType() {\n};\nDocumentType.prototype.nodeType = DOCUMENT_TYPE_NODE;\n_extends(DocumentType,Node);\n\nfunction Notation() {\n};\nNotation.prototype.nodeType = NOTATION_NODE;\n_extends(Notation,Node);\n\nfunction Entity() {\n};\nEntity.prototype.nodeType = ENTITY_NODE;\n_extends(Entity,Node);\n\nfunction EntityReference() {\n};\nEntityReference.prototype.nodeType = ENTITY_REFERENCE_NODE;\n_extends(EntityReference,Node);\n\nfunction DocumentFragment() {\n};\nDocumentFragment.prototype.nodeName =\t\"#document-fragment\";\nDocumentFragment.prototype.nodeType =\tDOCUMENT_FRAGMENT_NODE;\n_extends(DocumentFragment,Node);\n\n\nfunction ProcessingInstruction() {\n}\nProcessingInstruction.prototype.nodeType = PROCESSING_INSTRUCTION_NODE;\n_extends(ProcessingInstruction,Node);\nfunction XMLSerializer(){}\nXMLSerializer.prototype.serializeToString = function(node,isHtml,nodeFilter){\n\treturn nodeSerializeToString.call(node,isHtml,nodeFilter);\n}\nNode.prototype.toString = nodeSerializeToString;\nfunction nodeSerializeToString(isHtml,nodeFilter){\n\tvar buf = [];\n\tvar refNode = this.nodeType == 9 && this.documentElement || this;\n\tvar prefix = refNode.prefix;\n\tvar uri = refNode.namespaceURI;\n\t\n\tif(uri && prefix == null){\n\t\t//console.log(prefix)\n\t\tvar prefix = refNode.lookupPrefix(uri);\n\t\tif(prefix == null){\n\t\t\t//isHTML = true;\n\t\t\tvar visibleNamespaces=[\n\t\t\t{namespace:uri,prefix:null}\n\t\t\t//{namespace:uri,prefix:''}\n\t\t\t]\n\t\t}\n\t}\n\tserializeToString(this,buf,isHtml,nodeFilter,visibleNamespaces);\n\t//console.log('###',this.nodeType,uri,prefix,buf.join(''))\n\treturn buf.join('');\n}\nfunction needNamespaceDefine(node,isHTML, visibleNamespaces) {\n\tvar prefix = node.prefix||'';\n\tvar uri = node.namespaceURI;\n\tif (!prefix && !uri){\n\t\treturn false;\n\t}\n\tif (prefix === \"xml\" && uri === \"http://www.w3.org/XML/1998/namespace\" \n\t\t|| uri == 'http://www.w3.org/2000/xmlns/'){\n\t\treturn false;\n\t}\n\t\n\tvar i = visibleNamespaces.length \n\t//console.log('@@@@',node.tagName,prefix,uri,visibleNamespaces)\n\twhile (i--) {\n\t\tvar ns = visibleNamespaces[i];\n\t\t// get namespace prefix\n\t\t//console.log(node.nodeType,node.tagName,ns.prefix,prefix)\n\t\tif (ns.prefix == prefix){\n\t\t\treturn ns.namespace != uri;\n\t\t}\n\t}\n\t//console.log(isHTML,uri,prefix=='')\n\t//if(isHTML && prefix ==null && uri == 'http://www.w3.org/1999/xhtml'){\n\t//\treturn false;\n\t//}\n\t//node.flag = '11111'\n\t//console.error(3,true,node.flag,node.prefix,node.namespaceURI)\n\treturn true;\n}\nfunction serializeToString(node,buf,isHTML,nodeFilter,visibleNamespaces){\n\tif(nodeFilter){\n\t\tnode = nodeFilter(node);\n\t\tif(node){\n\t\t\tif(typeof node == 'string'){\n\t\t\t\tbuf.push(node);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}else{\n\t\t\treturn;\n\t\t}\n\t\t//buf.sort.apply(attrs, attributeSorter);\n\t}\n\tswitch(node.nodeType){\n\tcase ELEMENT_NODE:\n\t\tif (!visibleNamespaces) visibleNamespaces = [];\n\t\tvar startVisibleNamespaces = visibleNamespaces.length;\n\t\tvar attrs = node.attributes;\n\t\tvar len = attrs.length;\n\t\tvar child = node.firstChild;\n\t\tvar nodeName = node.tagName;\n\t\t\n\t\tisHTML =  (htmlns === node.namespaceURI) ||isHTML \n\t\tbuf.push('<',nodeName);\n\t\t\n\t\t\n\t\t\n\t\tfor(var i=0;i<len;i++){\n\t\t\t// add namespaces for attributes\n\t\t\tvar attr = attrs.item(i);\n\t\t\tif (attr.prefix == 'xmlns') {\n\t\t\t\tvisibleNamespaces.push({ prefix: attr.localName, namespace: attr.value });\n\t\t\t}else if(attr.nodeName == 'xmlns'){\n\t\t\t\tvisibleNamespaces.push({ prefix: '', namespace: attr.value });\n\t\t\t}\n\t\t}\n\t\tfor(var i=0;i<len;i++){\n\t\t\tvar attr = attrs.item(i);\n\t\t\tif (needNamespaceDefine(attr,isHTML, visibleNamespaces)) {\n\t\t\t\tvar prefix = attr.prefix||'';\n\t\t\t\tvar uri = attr.namespaceURI;\n\t\t\t\tvar ns = prefix ? ' xmlns:' + prefix : \" xmlns\";\n\t\t\t\tbuf.push(ns, '=\"' , uri , '\"');\n\t\t\t\tvisibleNamespaces.push({ prefix: prefix, namespace:uri });\n\t\t\t}\n\t\t\tserializeToString(attr,buf,isHTML,nodeFilter,visibleNamespaces);\n\t\t}\n\t\t// add namespace for current node\t\t\n\t\tif (needNamespaceDefine(node,isHTML, visibleNamespaces)) {\n\t\t\tvar prefix = node.prefix||'';\n\t\t\tvar uri = node.namespaceURI;\n\t\t\tvar ns = prefix ? ' xmlns:' + prefix : \" xmlns\";\n\t\t\tbuf.push(ns, '=\"' , uri , '\"');\n\t\t\tvisibleNamespaces.push({ prefix: prefix, namespace:uri });\n\t\t}\n\t\t\n\t\tif(child || isHTML && !/^(?:meta|link|img|br|hr|input)$/i.test(nodeName)){\n\t\t\tbuf.push('>');\n\t\t\t//if is cdata child node\n\t\t\tif(isHTML && /^script$/i.test(nodeName)){\n\t\t\t\twhile(child){\n\t\t\t\t\tif(child.data){\n\t\t\t\t\t\tbuf.push(child.data);\n\t\t\t\t\t}else{\n\t\t\t\t\t\tserializeToString(child,buf,isHTML,nodeFilter,visibleNamespaces);\n\t\t\t\t\t}\n\t\t\t\t\tchild = child.nextSibling;\n\t\t\t\t}\n\t\t\t}else\n\t\t\t{\n\t\t\t\twhile(child){\n\t\t\t\t\tserializeToString(child,buf,isHTML,nodeFilter,visibleNamespaces);\n\t\t\t\t\tchild = child.nextSibling;\n\t\t\t\t}\n\t\t\t}\n\t\t\tbuf.push('</',nodeName,'>');\n\t\t}else{\n\t\t\tbuf.push('/>');\n\t\t}\n\t\t// remove added visible namespaces\n\t\t//visibleNamespaces.length = startVisibleNamespaces;\n\t\treturn;\n\tcase DOCUMENT_NODE:\n\tcase DOCUMENT_FRAGMENT_NODE:\n\t\tvar child = node.firstChild;\n\t\twhile(child){\n\t\t\tserializeToString(child,buf,isHTML,nodeFilter,visibleNamespaces);\n\t\t\tchild = child.nextSibling;\n\t\t}\n\t\treturn;\n\tcase ATTRIBUTE_NODE:\n\t\treturn buf.push(' ',node.name,'=\"',node.value.replace(/[<&\"]/g,_xmlEncoder),'\"');\n\tcase TEXT_NODE:\n\t\treturn buf.push(node.data.replace(/[<&]/g,_xmlEncoder));\n\tcase CDATA_SECTION_NODE:\n\t\treturn buf.push( '<![CDATA[',node.data,']]>');\n\tcase COMMENT_NODE:\n\t\treturn buf.push( \"<!--\",node.data,\"-->\");\n\tcase DOCUMENT_TYPE_NODE:\n\t\tvar pubid = node.publicId;\n\t\tvar sysid = node.systemId;\n\t\tbuf.push('<!DOCTYPE ',node.name);\n\t\tif(pubid){\n\t\t\tbuf.push(' PUBLIC \"',pubid);\n\t\t\tif (sysid && sysid!='.') {\n\t\t\t\tbuf.push( '\" \"',sysid);\n\t\t\t}\n\t\t\tbuf.push('\">');\n\t\t}else if(sysid && sysid!='.'){\n\t\t\tbuf.push(' SYSTEM \"',sysid,'\">');\n\t\t}else{\n\t\t\tvar sub = node.internalSubset;\n\t\t\tif(sub){\n\t\t\t\tbuf.push(\" [\",sub,\"]\");\n\t\t\t}\n\t\t\tbuf.push(\">\");\n\t\t}\n\t\treturn;\n\tcase PROCESSING_INSTRUCTION_NODE:\n\t\treturn buf.push( \"<?\",node.target,\" \",node.data,\"?>\");\n\tcase ENTITY_REFERENCE_NODE:\n\t\treturn buf.push( '&',node.nodeName,';');\n\t//case ENTITY_NODE:\n\t//case NOTATION_NODE:\n\tdefault:\n\t\tbuf.push('??',node.nodeName);\n\t}\n}\nfunction importNode(doc,node,deep){\n\tvar node2;\n\tswitch (node.nodeType) {\n\tcase ELEMENT_NODE:\n\t\tnode2 = node.cloneNode(false);\n\t\tnode2.ownerDocument = doc;\n\t\t//var attrs = node2.attributes;\n\t\t//var len = attrs.length;\n\t\t//for(var i=0;i<len;i++){\n\t\t\t//node2.setAttributeNodeNS(importNode(doc,attrs.item(i),deep));\n\t\t//}\n\tcase DOCUMENT_FRAGMENT_NODE:\n\t\tbreak;\n\tcase ATTRIBUTE_NODE:\n\t\tdeep = true;\n\t\tbreak;\n\t//case ENTITY_REFERENCE_NODE:\n\t//case PROCESSING_INSTRUCTION_NODE:\n\t////case TEXT_NODE:\n\t//case CDATA_SECTION_NODE:\n\t//case COMMENT_NODE:\n\t//\tdeep = false;\n\t//\tbreak;\n\t//case DOCUMENT_NODE:\n\t//case DOCUMENT_TYPE_NODE:\n\t//cannot be imported.\n\t//case ENTITY_NODE:\n\t//case NOTATION_NODE：\n\t//can not hit in level3\n\t//default:throw e;\n\t}\n\tif(!node2){\n\t\tnode2 = node.cloneNode(false);//false\n\t}\n\tnode2.ownerDocument = doc;\n\tnode2.parentNode = null;\n\tif(deep){\n\t\tvar child = node.firstChild;\n\t\twhile(child){\n\t\t\tnode2.appendChild(importNode(doc,child,deep));\n\t\t\tchild = child.nextSibling;\n\t\t}\n\t}\n\treturn node2;\n}\n//\n//var _relationMap = {firstChild:1,lastChild:1,previousSibling:1,nextSibling:1,\n//\t\t\t\t\tattributes:1,childNodes:1,parentNode:1,documentElement:1,doctype,};\nfunction cloneNode(doc,node,deep){\n\tvar node2 = new node.constructor();\n\tfor(var n in node){\n\t\tvar v = node[n];\n\t\tif(typeof v != 'object' ){\n\t\t\tif(v != node2[n]){\n\t\t\t\tnode2[n] = v;\n\t\t\t}\n\t\t}\n\t}\n\tif(node.childNodes){\n\t\tnode2.childNodes = new NodeList();\n\t}\n\tnode2.ownerDocument = doc;\n\tswitch (node2.nodeType) {\n\tcase ELEMENT_NODE:\n\t\tvar attrs\t= node.attributes;\n\t\tvar attrs2\t= node2.attributes = new NamedNodeMap();\n\t\tvar len = attrs.length\n\t\tattrs2._ownerElement = node2;\n\t\tfor(var i=0;i<len;i++){\n\t\t\tnode2.setAttributeNode(cloneNode(doc,attrs.item(i),true));\n\t\t}\n\t\tbreak;;\n\tcase ATTRIBUTE_NODE:\n\t\tdeep = true;\n\t}\n\tif(deep){\n\t\tvar child = node.firstChild;\n\t\twhile(child){\n\t\t\tnode2.appendChild(cloneNode(doc,child,deep));\n\t\t\tchild = child.nextSibling;\n\t\t}\n\t}\n\treturn node2;\n}\n\nfunction __set__(object,key,value){\n\tobject[key] = value\n}\n//do dynamic\ntry{\n\tif(Object.defineProperty){\n\t\tObject.defineProperty(LiveNodeList.prototype,'length',{\n\t\t\tget:function(){\n\t\t\t\t_updateLiveList(this);\n\t\t\t\treturn this.$$length;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(Node.prototype,'textContent',{\n\t\t\tget:function(){\n\t\t\t\treturn getTextContent(this);\n\t\t\t},\n\t\t\tset:function(data){\n\t\t\t\tswitch(this.nodeType){\n\t\t\t\tcase ELEMENT_NODE:\n\t\t\t\tcase DOCUMENT_FRAGMENT_NODE:\n\t\t\t\t\twhile(this.firstChild){\n\t\t\t\t\t\tthis.removeChild(this.firstChild);\n\t\t\t\t\t}\n\t\t\t\t\tif(data || String(data)){\n\t\t\t\t\t\tthis.appendChild(this.ownerDocument.createTextNode(data));\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\t//TODO:\n\t\t\t\t\tthis.data = data;\n\t\t\t\t\tthis.value = data;\n\t\t\t\t\tthis.nodeValue = data;\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t\t\n\t\tfunction getTextContent(node){\n\t\t\tswitch(node.nodeType){\n\t\t\tcase ELEMENT_NODE:\n\t\t\tcase DOCUMENT_FRAGMENT_NODE:\n\t\t\t\tvar buf = [];\n\t\t\t\tnode = node.firstChild;\n\t\t\t\twhile(node){\n\t\t\t\t\tif(node.nodeType!==7 && node.nodeType !==8){\n\t\t\t\t\t\tbuf.push(getTextContent(node));\n\t\t\t\t\t}\n\t\t\t\t\tnode = node.nextSibling;\n\t\t\t\t}\n\t\t\t\treturn buf.join('');\n\t\t\tdefault:\n\t\t\t\treturn node.nodeValue;\n\t\t\t}\n\t\t}\n\t\t__set__ = function(object,key,value){\n\t\t\t//console.log(value)\n\t\t\tobject['$$'+key] = value\n\t\t}\n\t}\n}catch(e){//ie8\n}\n\n//if(typeof require == 'function'){\n\texports.DOMImplementation = DOMImplementation;\n\texports.XMLSerializer = XMLSerializer;\n//}\n"
  },
  {
    "path": "plugins/tiddlywiki/xmldom/files/entities.js",
    "content": "exports.entityMap = {\n       lt: '<',\n       gt: '>',\n       amp: '&',\n       quot: '\"',\n       apos: \"'\",\n       Agrave: \"À\",\n       Aacute: \"Á\",\n       Acirc: \"Â\",\n       Atilde: \"Ã\",\n       Auml: \"Ä\",\n       Aring: \"Å\",\n       AElig: \"Æ\",\n       Ccedil: \"Ç\",\n       Egrave: \"È\",\n       Eacute: \"É\",\n       Ecirc: \"Ê\",\n       Euml: \"Ë\",\n       Igrave: \"Ì\",\n       Iacute: \"Í\",\n       Icirc: \"Î\",\n       Iuml: \"Ï\",\n       ETH: \"Ð\",\n       Ntilde: \"Ñ\",\n       Ograve: \"Ò\",\n       Oacute: \"Ó\",\n       Ocirc: \"Ô\",\n       Otilde: \"Õ\",\n       Ouml: \"Ö\",\n       Oslash: \"Ø\",\n       Ugrave: \"Ù\",\n       Uacute: \"Ú\",\n       Ucirc: \"Û\",\n       Uuml: \"Ü\",\n       Yacute: \"Ý\",\n       THORN: \"Þ\",\n       szlig: \"ß\",\n       agrave: \"à\",\n       aacute: \"á\",\n       acirc: \"â\",\n       atilde: \"ã\",\n       auml: \"ä\",\n       aring: \"å\",\n       aelig: \"æ\",\n       ccedil: \"ç\",\n       egrave: \"è\",\n       eacute: \"é\",\n       ecirc: \"ê\",\n       euml: \"ë\",\n       igrave: \"ì\",\n       iacute: \"í\",\n       icirc: \"î\",\n       iuml: \"ï\",\n       eth: \"ð\",\n       ntilde: \"ñ\",\n       ograve: \"ò\",\n       oacute: \"ó\",\n       ocirc: \"ô\",\n       otilde: \"õ\",\n       ouml: \"ö\",\n       oslash: \"ø\",\n       ugrave: \"ù\",\n       uacute: \"ú\",\n       ucirc: \"û\",\n       uuml: \"ü\",\n       yacute: \"ý\",\n       thorn: \"þ\",\n       yuml: \"ÿ\",\n       nbsp: \" \",\n       iexcl: \"¡\",\n       cent: \"¢\",\n       pound: \"£\",\n       curren: \"¤\",\n       yen: \"¥\",\n       brvbar: \"¦\",\n       sect: \"§\",\n       uml: \"¨\",\n       copy: \"©\",\n       ordf: \"ª\",\n       laquo: \"«\",\n       not: \"¬\",\n       shy: \"­­\",\n       reg: \"®\",\n       macr: \"¯\",\n       deg: \"°\",\n       plusmn: \"±\",\n       sup2: \"²\",\n       sup3: \"³\",\n       acute: \"´\",\n       micro: \"µ\",\n       para: \"¶\",\n       middot: \"·\",\n       cedil: \"¸\",\n       sup1: \"¹\",\n       ordm: \"º\",\n       raquo: \"»\",\n       frac14: \"¼\",\n       frac12: \"½\",\n       frac34: \"¾\",\n       iquest: \"¿\",\n       times: \"×\",\n       divide: \"÷\",\n       forall: \"∀\",\n       part: \"∂\",\n       exist: \"∃\",\n       empty: \"∅\",\n       nabla: \"∇\",\n       isin: \"∈\",\n       notin: \"∉\",\n       ni: \"∋\",\n       prod: \"∏\",\n       sum: \"∑\",\n       minus: \"−\",\n       lowast: \"∗\",\n       radic: \"√\",\n       prop: \"∝\",\n       infin: \"∞\",\n       ang: \"∠\",\n       and: \"∧\",\n       or: \"∨\",\n       cap: \"∩\",\n       cup: \"∪\",\n       'int': \"∫\",\n       there4: \"∴\",\n       sim: \"∼\",\n       cong: \"≅\",\n       asymp: \"≈\",\n       ne: \"≠\",\n       equiv: \"≡\",\n       le: \"≤\",\n       ge: \"≥\",\n       sub: \"⊂\",\n       sup: \"⊃\",\n       nsub: \"⊄\",\n       sube: \"⊆\",\n       supe: \"⊇\",\n       oplus: \"⊕\",\n       otimes: \"⊗\",\n       perp: \"⊥\",\n       sdot: \"⋅\",\n       Alpha: \"Α\",\n       Beta: \"Β\",\n       Gamma: \"Γ\",\n       Delta: \"Δ\",\n       Epsilon: \"Ε\",\n       Zeta: \"Ζ\",\n       Eta: \"Η\",\n       Theta: \"Θ\",\n       Iota: \"Ι\",\n       Kappa: \"Κ\",\n       Lambda: \"Λ\",\n       Mu: \"Μ\",\n       Nu: \"Ν\",\n       Xi: \"Ξ\",\n       Omicron: \"Ο\",\n       Pi: \"Π\",\n       Rho: \"Ρ\",\n       Sigma: \"Σ\",\n       Tau: \"Τ\",\n       Upsilon: \"Υ\",\n       Phi: \"Φ\",\n       Chi: \"Χ\",\n       Psi: \"Ψ\",\n       Omega: \"Ω\",\n       alpha: \"α\",\n       beta: \"β\",\n       gamma: \"γ\",\n       delta: \"δ\",\n       epsilon: \"ε\",\n       zeta: \"ζ\",\n       eta: \"η\",\n       theta: \"θ\",\n       iota: \"ι\",\n       kappa: \"κ\",\n       lambda: \"λ\",\n       mu: \"μ\",\n       nu: \"ν\",\n       xi: \"ξ\",\n       omicron: \"ο\",\n       pi: \"π\",\n       rho: \"ρ\",\n       sigmaf: \"ς\",\n       sigma: \"σ\",\n       tau: \"τ\",\n       upsilon: \"υ\",\n       phi: \"φ\",\n       chi: \"χ\",\n       psi: \"ψ\",\n       omega: \"ω\",\n       thetasym: \"ϑ\",\n       upsih: \"ϒ\",\n       piv: \"ϖ\",\n       OElig: \"Œ\",\n       oelig: \"œ\",\n       Scaron: \"Š\",\n       scaron: \"š\",\n       Yuml: \"Ÿ\",\n       fnof: \"ƒ\",\n       circ: \"ˆ\",\n       tilde: \"˜\",\n       ensp: \" \",\n       emsp: \" \",\n       thinsp: \" \",\n       zwnj: \"‌\",\n       zwj: \"‍\",\n       lrm: \"‎\",\n       rlm: \"‏\",\n       ndash: \"–\",\n       mdash: \"—\",\n       lsquo: \"‘\",\n       rsquo: \"’\",\n       sbquo: \"‚\",\n       ldquo: \"“\",\n       rdquo: \"”\",\n       bdquo: \"„\",\n       dagger: \"†\",\n       Dagger: \"‡\",\n       bull: \"•\",\n       hellip: \"…\",\n       permil: \"‰\",\n       prime: \"′\",\n       Prime: \"″\",\n       lsaquo: \"‹\",\n       rsaquo: \"›\",\n       oline: \"‾\",\n       euro: \"€\",\n       trade: \"™\",\n       larr: \"←\",\n       uarr: \"↑\",\n       rarr: \"→\",\n       darr: \"↓\",\n       harr: \"↔\",\n       crarr: \"↵\",\n       lceil: \"⌈\",\n       rceil: \"⌉\",\n       lfloor: \"⌊\",\n       rfloor: \"⌋\",\n       loz: \"◊\",\n       spades: \"♠\",\n       clubs: \"♣\",\n       hearts: \"♥\",\n       diams: \"♦\"\n};\n//for(var  n in exports.entityMap){console.log(exports.entityMap[n].charCodeAt())}"
  },
  {
    "path": "plugins/tiddlywiki/xmldom/files/readme.md",
    "content": "# XMLDOM [![Build Status](https://secure.travis-ci.org/bigeasy/xmldom.png?branch=master)](http://travis-ci.org/bigeasy/xmldom) [![Coverage Status](https://coveralls.io/repos/bigeasy/xmldom/badge.png?branch=master)](https://coveralls.io/r/bigeasy/xmldom) [![NPM version](https://badge.fury.io/js/xmldom.png)](http://badge.fury.io/js/xmldom)\n\nA JavaScript implementation of W3C DOM for Node.js, Rhino and the browser. Fully\ncompatible with `W3C DOM level2`; and some compatible with `level3`. Supports\n`DOMParser` and `XMLSerializer` interface such as in browser.\n\nInstall:\n-------\n>npm install xmldom\n\nExample:\n====\n```javascript\nvar DOMParser = require('xmldom').DOMParser;\nvar doc = new DOMParser().parseFromString(\n    '<xml xmlns=\"a\" xmlns:c=\"./lite\">\\n'+\n        '\\t<child>test</child>\\n'+\n        '\\t<child></child>\\n'+\n        '\\t<child/>\\n'+\n    '</xml>'\n    ,'text/xml');\ndoc.documentElement.setAttribute('x','y');\ndoc.documentElement.setAttributeNS('./lite','c:x','y2');\nvar nsAttr = doc.documentElement.getAttributeNS('./lite','x')\nconsole.info(nsAttr)\nconsole.info(doc)\n```\nAPI Reference\n=====\n\n * [DOMParser](https://developer.mozilla.org/en/DOMParser):\n\n\t```javascript\n\tparseFromString(xmlsource,mimeType)\n\t```\n\t* **options extension** _by xmldom_(not BOM standard!!)\n\n\t```javascript\n\t//added the options argument\n\tnew DOMParser(options)\n\t\n\t//errorHandler is supported\n\tnew DOMParser({\n\t\t/**\n\t\t * locator is always need for error position info\n\t\t */\n\t\tlocator:{},\n\t\t/**\n\t\t * you can override the errorHandler for xml parser\n\t\t * @link http://www.saxproject.org/apidoc/org/xml/sax/ErrorHandler.html\n\t\t */\n\t\terrorHandler:{warning:function(w){console.warn(w)},error:callback,fatalError:callback}\n\t\t//only callback model\n\t\t//errorHandler:function(level,msg){console.log(level,msg)}\n\t})\n\t\t\n\t```\n\n * [XMLSerializer](https://developer.mozilla.org/en/XMLSerializer)\n \n\t```javascript\n\tserializeToString(node)\n\t```\nDOM level2 method and attribute:\n------\n\n * [Node](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-1950641247)\n\t\n\t\tattribute:\n\t\t\tnodeValue|prefix\n\t\treadonly attribute:\n\t\t\tnodeName|nodeType|parentNode|childNodes|firstChild|lastChild|previousSibling|nextSibling|attributes|ownerDocument|namespaceURI|localName\n\t\tmethod:\t\n\t\t\tinsertBefore(newChild, refChild)\n\t\t\treplaceChild(newChild, oldChild)\n\t\t\tremoveChild(oldChild)\n\t\t\tappendChild(newChild)\n\t\t\thasChildNodes()\n\t\t\tcloneNode(deep)\n\t\t\tnormalize()\n\t\t\tisSupported(feature, version)\n\t\t\thasAttributes()\n\n * [DOMImplementation](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-102161490)\n\t\t\n\t\tmethod:\n\t\t\thasFeature(feature, version)\n\t\t\tcreateDocumentType(qualifiedName, publicId, systemId)\n\t\t\tcreateDocument(namespaceURI, qualifiedName, doctype)\n\n * [Document](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#i-Document) : Node\n\t\t\n\t\treadonly attribute:\n\t\t\tdoctype|implementation|documentElement\n\t\tmethod:\n\t\t\tcreateElement(tagName)\n\t\t\tcreateDocumentFragment()\n\t\t\tcreateTextNode(data)\n\t\t\tcreateComment(data)\n\t\t\tcreateCDATASection(data)\n\t\t\tcreateProcessingInstruction(target, data)\n\t\t\tcreateAttribute(name)\n\t\t\tcreateEntityReference(name)\n\t\t\tgetElementsByTagName(tagname)\n\t\t\timportNode(importedNode, deep)\n\t\t\tcreateElementNS(namespaceURI, qualifiedName)\n\t\t\tcreateAttributeNS(namespaceURI, qualifiedName)\n\t\t\tgetElementsByTagNameNS(namespaceURI, localName)\n\t\t\tgetElementById(elementId)\n\n * [DocumentFragment](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-B63ED1A3) : Node\n * [Element](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-745549614) : Node\n\t\t\n\t\treadonly attribute:\n\t\t\ttagName\n\t\tmethod:\n\t\t\tgetAttribute(name)\n\t\t\tsetAttribute(name, value)\n\t\t\tremoveAttribute(name)\n\t\t\tgetAttributeNode(name)\n\t\t\tsetAttributeNode(newAttr)\n\t\t\tremoveAttributeNode(oldAttr)\n\t\t\tgetElementsByTagName(name)\n\t\t\tgetAttributeNS(namespaceURI, localName)\n\t\t\tsetAttributeNS(namespaceURI, qualifiedName, value)\n\t\t\tremoveAttributeNS(namespaceURI, localName)\n\t\t\tgetAttributeNodeNS(namespaceURI, localName)\n\t\t\tsetAttributeNodeNS(newAttr)\n\t\t\tgetElementsByTagNameNS(namespaceURI, localName)\n\t\t\thasAttribute(name)\n\t\t\thasAttributeNS(namespaceURI, localName)\n\n * [Attr](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-637646024) : Node\n\t\n\t\tattribute:\n\t\t\tvalue\n\t\treadonly attribute:\n\t\t\tname|specified|ownerElement\n\n * [NodeList](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-536297177)\n\t\t\n\t\treadonly attribute:\n\t\t\tlength\n\t\tmethod:\n\t\t\titem(index)\n\t\n * [NamedNodeMap](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-1780488922)\n\n\t\treadonly attribute:\n\t\t\tlength\n\t\tmethod:\n\t\t\tgetNamedItem(name)\n\t\t\tsetNamedItem(arg)\n\t\t\tremoveNamedItem(name)\n\t\t\titem(index)\n\t\t\tgetNamedItemNS(namespaceURI, localName)\n\t\t\tsetNamedItemNS(arg)\n\t\t\tremoveNamedItemNS(namespaceURI, localName)\n\t\t\n * [CharacterData](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-FF21A306) : Node\n\t\n\t\tmethod:\n\t\t\tsubstringData(offset, count)\n\t\t\tappendData(arg)\n\t\t\tinsertData(offset, arg)\n\t\t\tdeleteData(offset, count)\n\t\t\treplaceData(offset, count, arg)\n\t\t\n * [Text](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-1312295772) : CharacterData\n\t\n\t\tmethod:\n\t\t\tsplitText(offset)\n\t\t\t\n * [CDATASection](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-667469212)\n * [Comment](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-1728279322) : CharacterData\n\t\n * [DocumentType](http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-412266927)\n\t\n\t\treadonly attribute:\n\t\t\tname|entities|notations|publicId|systemId|internalSubset\n\t\t\t\n * Notation : Node\n\t\n\t\treadonly attribute:\n\t\t\tpublicId|systemId\n\t\t\t\n * Entity : Node\n\t\n\t\treadonly attribute:\n\t\t\tpublicId|systemId|notationName\n\t\t\t\n * EntityReference : Node \n * ProcessingInstruction : Node \n\t\n\t\tattribute:\n\t\t\tdata\n\t\treadonly attribute:\n\t\t\ttarget\n\t\t\nDOM level 3 support:\n-----\n\n * [Node](http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-textContent)\n\t\t\n\t\tattribute:\n\t\t\ttextContent\n\t\tmethod:\n\t\t\tisDefaultNamespace(namespaceURI){\n\t\t\tlookupNamespaceURI(prefix)\n\nDOM extension by xmldom\n---\n * [Node] Source position extension; \n\t\t\n\t\tattribute:\n\t\t\t//Numbered starting from '1'\n\t\t\tlineNumber\n\t\t\t//Numbered starting from '1'\n\t\t\tcolumnNumber\n"
  },
  {
    "path": "plugins/tiddlywiki/xmldom/files/sax.js",
    "content": "//[4]   \tNameStartChar\t   ::=   \t\":\" | [A-Z] | \"_\" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]\r\n//[4a]   \tNameChar\t   ::=   \tNameStartChar | \"-\" | \".\" | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040]\r\n//[5]   \tName\t   ::=   \tNameStartChar (NameChar)*\r\nvar nameStartChar = /[A-Z_a-z\\xC0-\\xD6\\xD8-\\xF6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]///\\u10000-\\uEFFFF\r\nvar nameChar = new RegExp(\"[\\\\-\\\\.0-9\"+nameStartChar.source.slice(1,-1)+\"\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]\");\r\nvar tagNamePattern = new RegExp('^'+nameStartChar.source+nameChar.source+'*(?:\\:'+nameStartChar.source+nameChar.source+'*)?$');\r\n//var tagNamePattern = /^[a-zA-Z_][\\w\\-\\.]*(?:\\:[a-zA-Z_][\\w\\-\\.]*)?$/\r\n//var handlers = 'resolveEntity,getExternalSubset,characters,endDocument,endElement,endPrefixMapping,ignorableWhitespace,processingInstruction,setDocumentLocator,skippedEntity,startDocument,startElement,startPrefixMapping,notationDecl,unparsedEntityDecl,error,fatalError,warning,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,comment,endCDATA,endDTD,endEntity,startCDATA,startDTD,startEntity'.split(',')\r\n\r\n//S_TAG,\tS_ATTR,\tS_EQ,\tS_ATTR_NOQUOT_VALUE\r\n//S_ATTR_SPACE,\tS_ATTR_END,\tS_TAG_SPACE, S_TAG_CLOSE\r\nvar S_TAG = 0;//tag name offerring\r\nvar S_ATTR = 1;//attr name offerring \r\nvar S_ATTR_SPACE=2;//attr name end and space offer\r\nvar S_EQ = 3;//=space?\r\nvar S_ATTR_NOQUOT_VALUE = 4;//attr value(no quot value only)\r\nvar S_ATTR_END = 5;//attr value end and no space(quot end)\r\nvar S_TAG_SPACE = 6;//(attr value end || tag end ) && (space offer)\r\nvar S_TAG_CLOSE = 7;//closed el<el />\r\n\r\nfunction XMLReader(){\r\n\t\r\n}\r\n\r\nXMLReader.prototype = {\r\n\tparse:function(source,defaultNSMap,entityMap){\r\n\t\tvar domBuilder = this.domBuilder;\r\n\t\tdomBuilder.startDocument();\r\n\t\t_copy(defaultNSMap ,defaultNSMap = {})\r\n\t\tparse(source,defaultNSMap,entityMap,\r\n\t\t\t\tdomBuilder,this.errorHandler);\r\n\t\tdomBuilder.endDocument();\r\n\t}\r\n}\r\nfunction parse(source,defaultNSMapCopy,entityMap,domBuilder,errorHandler){\r\n\tfunction fixedFromCharCode(code) {\r\n\t\t// String.prototype.fromCharCode does not supports\r\n\t\t// > 2 bytes unicode chars directly\r\n\t\tif (code > 0xffff) {\r\n\t\t\tcode -= 0x10000;\r\n\t\t\tvar surrogate1 = 0xd800 + (code >> 10)\r\n\t\t\t\t, surrogate2 = 0xdc00 + (code & 0x3ff);\r\n\r\n\t\t\treturn String.fromCharCode(surrogate1, surrogate2);\r\n\t\t} else {\r\n\t\t\treturn String.fromCharCode(code);\r\n\t\t}\r\n\t}\r\n\tfunction entityReplacer(a){\r\n\t\tvar k = a.slice(1,-1);\r\n\t\tif(k in entityMap){\r\n\t\t\treturn entityMap[k]; \r\n\t\t}else if(k.charAt(0) === '#'){\r\n\t\t\treturn fixedFromCharCode(parseInt(k.substr(1).replace('x','0x')))\r\n\t\t}else{\r\n\t\t\terrorHandler.error('entity not found:'+a);\r\n\t\t\treturn a;\r\n\t\t}\r\n\t}\r\n\tfunction appendText(end){//has some bugs\r\n\t\tif(end>start){\r\n\t\t\tvar xt = source.substring(start,end).replace(/&#?\\w+;/g,entityReplacer);\r\n\t\t\tlocator&&position(start);\r\n\t\t\tdomBuilder.characters(xt,0,end-start);\r\n\t\t\tstart = end\r\n\t\t}\r\n\t}\r\n\tfunction position(p,m){\r\n\t\twhile(p>=lineEnd && (m = linePattern.exec(source))){\r\n\t\t\tlineStart = m.index;\r\n\t\t\tlineEnd = lineStart + m[0].length;\r\n\t\t\tlocator.lineNumber++;\r\n\t\t\t//console.log('line++:',locator,startPos,endPos)\r\n\t\t}\r\n\t\tlocator.columnNumber = p-lineStart+1;\r\n\t}\r\n\tvar lineStart = 0;\r\n\tvar lineEnd = 0;\r\n\tvar linePattern = /.*(?:\\r\\n?|\\n)|.*$/g\r\n\tvar locator = domBuilder.locator;\r\n\t\r\n\tvar parseStack = [{currentNSMap:defaultNSMapCopy}]\r\n\tvar closeMap = {};\r\n\tvar start = 0;\r\n\twhile(true){\r\n\t\ttry{\r\n\t\t\tvar tagStart = source.indexOf('<',start);\r\n\t\t\tif(tagStart<0){\r\n\t\t\t\tif(!source.substr(start).match(/^\\s*$/)){\r\n\t\t\t\t\tvar doc = domBuilder.doc;\r\n\t    \t\t\tvar text = doc.createTextNode(source.substr(start));\r\n\t    \t\t\tdoc.appendChild(text);\r\n\t    \t\t\tdomBuilder.currentElement = text;\r\n\t\t\t\t}\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif(tagStart>start){\r\n\t\t\t\tappendText(tagStart);\r\n\t\t\t}\r\n\t\t\tswitch(source.charAt(tagStart+1)){\r\n\t\t\tcase '/':\r\n\t\t\t\tvar end = source.indexOf('>',tagStart+3);\r\n\t\t\t\tvar tagName = source.substring(tagStart+2,end);\r\n\t\t\t\tvar config = parseStack.pop();\r\n\t\t\t\tif(end<0){\r\n\t\t\t\t\t\r\n\t        \t\ttagName = source.substring(tagStart+2).replace(/[\\s<].*/,'');\r\n\t        \t\t//console.error('#@@@@@@'+tagName)\r\n\t        \t\terrorHandler.error(\"end tag name: \"+tagName+' is not complete:'+config.tagName);\r\n\t        \t\tend = tagStart+1+tagName.length;\r\n\t        \t}else if(tagName.match(/\\s</)){\r\n\t        \t\ttagName = tagName.replace(/[\\s<].*/,'');\r\n\t        \t\terrorHandler.error(\"end tag name: \"+tagName+' maybe not complete');\r\n\t        \t\tend = tagStart+1+tagName.length;\r\n\t\t\t\t}\r\n\t\t\t\t//console.error(parseStack.length,parseStack)\r\n\t\t\t\t//console.error(config);\r\n\t\t\t\tvar localNSMap = config.localNSMap;\r\n\t\t\t\tvar endMatch = config.tagName == tagName;\r\n\t\t\t\tvar endIgnoreCaseMach = endMatch || config.tagName&&config.tagName.toLowerCase() == tagName.toLowerCase()\r\n\t\t        if(endIgnoreCaseMach){\r\n\t\t        \tdomBuilder.endElement(config.uri,config.localName,tagName);\r\n\t\t\t\t\tif(localNSMap){\r\n\t\t\t\t\t\tfor(var prefix in localNSMap){\r\n\t\t\t\t\t\t\tdomBuilder.endPrefixMapping(prefix) ;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif(!endMatch){\r\n\t\t            \terrorHandler.fatalError(\"end tag name: \"+tagName+' is not match the current start tagName:'+config.tagName );\r\n\t\t\t\t\t}\r\n\t\t        }else{\r\n\t\t        \tparseStack.push(config)\r\n\t\t        }\r\n\t\t\t\t\r\n\t\t\t\tend++;\r\n\t\t\t\tbreak;\r\n\t\t\t\t// end elment\r\n\t\t\tcase '?':// <?...?>\r\n\t\t\t\tlocator&&position(tagStart);\r\n\t\t\t\tend = parseInstruction(source,tagStart,domBuilder);\r\n\t\t\t\tbreak;\r\n\t\t\tcase '!':// <!doctype,<![CDATA,<!--\r\n\t\t\t\tlocator&&position(tagStart);\r\n\t\t\t\tend = parseDCC(source,tagStart,domBuilder,errorHandler);\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tlocator&&position(tagStart);\r\n\t\t\t\tvar el = new ElementAttributes();\r\n\t\t\t\tvar currentNSMap = parseStack[parseStack.length-1].currentNSMap;\r\n\t\t\t\t//elStartEnd\r\n\t\t\t\tvar end = parseElementStartPart(source,tagStart,el,currentNSMap,entityReplacer,errorHandler);\r\n\t\t\t\tvar len = el.length;\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\tif(!el.closed && fixSelfClosed(source,end,el.tagName,closeMap)){\r\n\t\t\t\t\tel.closed = true;\r\n\t\t\t\t\tif(!entityMap.nbsp){\r\n\t\t\t\t\t\terrorHandler.warning('unclosed xml attribute');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif(locator && len){\r\n\t\t\t\t\tvar locator2 = copyLocator(locator,{});\r\n\t\t\t\t\t//try{//attribute position fixed\r\n\t\t\t\t\tfor(var i = 0;i<len;i++){\r\n\t\t\t\t\t\tvar a = el[i];\r\n\t\t\t\t\t\tposition(a.offset);\r\n\t\t\t\t\t\ta.locator = copyLocator(locator,{});\r\n\t\t\t\t\t}\r\n\t\t\t\t\t//}catch(e){console.error('@@@@@'+e)}\r\n\t\t\t\t\tdomBuilder.locator = locator2\r\n\t\t\t\t\tif(appendElement(el,domBuilder,currentNSMap)){\r\n\t\t\t\t\t\tparseStack.push(el)\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdomBuilder.locator = locator;\r\n\t\t\t\t}else{\r\n\t\t\t\t\tif(appendElement(el,domBuilder,currentNSMap)){\r\n\t\t\t\t\t\tparseStack.push(el)\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\tif(el.uri === 'http://www.w3.org/1999/xhtml' && !el.closed){\r\n\t\t\t\t\tend = parseHtmlSpecialContent(source,end,el.tagName,entityReplacer,domBuilder)\r\n\t\t\t\t}else{\r\n\t\t\t\t\tend++;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}catch(e){\r\n\t\t\terrorHandler.error('element parse error: '+e)\r\n\t\t\t//errorHandler.error('element parse error: '+e);\r\n\t\t\tend = -1;\r\n\t\t\t//throw e;\r\n\t\t}\r\n\t\tif(end>start){\r\n\t\t\tstart = end;\r\n\t\t}else{\r\n\t\t\t//TODO: 这里有可能sax回退，有位置错误风险\r\n\t\t\tappendText(Math.max(tagStart,start)+1);\r\n\t\t}\r\n\t}\r\n}\r\nfunction copyLocator(f,t){\r\n\tt.lineNumber = f.lineNumber;\r\n\tt.columnNumber = f.columnNumber;\r\n\treturn t;\r\n}\r\n\r\n/**\r\n * @see #appendElement(source,elStartEnd,el,selfClosed,entityReplacer,domBuilder,parseStack);\r\n * @return end of the elementStartPart(end of elementEndPart for selfClosed el)\r\n */\r\nfunction parseElementStartPart(source,start,el,currentNSMap,entityReplacer,errorHandler){\r\n\tvar attrName;\r\n\tvar value;\r\n\tvar p = ++start;\r\n\tvar s = S_TAG;//status\r\n\twhile(true){\r\n\t\tvar c = source.charAt(p);\r\n\t\tswitch(c){\r\n\t\tcase '=':\r\n\t\t\tif(s === S_ATTR){//attrName\r\n\t\t\t\tattrName = source.slice(start,p);\r\n\t\t\t\ts = S_EQ;\r\n\t\t\t}else if(s === S_ATTR_SPACE){\r\n\t\t\t\ts = S_EQ;\r\n\t\t\t}else{\r\n\t\t\t\t//fatalError: equal must after attrName or space after attrName\r\n\t\t\t\tthrow new Error('attribute equal must after attrName');\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t\tcase '\\'':\r\n\t\tcase '\"':\r\n\t\t\tif(s === S_EQ || s === S_ATTR //|| s == S_ATTR_SPACE\r\n\t\t\t\t){//equal\r\n\t\t\t\tif(s === S_ATTR){\r\n\t\t\t\t\terrorHandler.warning('attribute value must after \"=\"')\r\n\t\t\t\t\tattrName = source.slice(start,p)\r\n\t\t\t\t}\r\n\t\t\t\tstart = p+1;\r\n\t\t\t\tp = source.indexOf(c,start)\r\n\t\t\t\tif(p>0){\r\n\t\t\t\t\tvalue = source.slice(start,p).replace(/&#?\\w+;/g,entityReplacer);\r\n\t\t\t\t\tel.add(attrName,value,start-1);\r\n\t\t\t\t\ts = S_ATTR_END;\r\n\t\t\t\t}else{\r\n\t\t\t\t\t//fatalError: no end quot match\r\n\t\t\t\t\tthrow new Error('attribute value no end \\''+c+'\\' match');\r\n\t\t\t\t}\r\n\t\t\t}else if(s == S_ATTR_NOQUOT_VALUE){\r\n\t\t\t\tvalue = source.slice(start,p).replace(/&#?\\w+;/g,entityReplacer);\r\n\t\t\t\t//console.log(attrName,value,start,p)\r\n\t\t\t\tel.add(attrName,value,start);\r\n\t\t\t\t//console.dir(el)\r\n\t\t\t\terrorHandler.warning('attribute \"'+attrName+'\" missed start quot('+c+')!!');\r\n\t\t\t\tstart = p+1;\r\n\t\t\t\ts = S_ATTR_END\r\n\t\t\t}else{\r\n\t\t\t\t//fatalError: no equal before\r\n\t\t\t\tthrow new Error('attribute value must after \"=\"');\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t\tcase '/':\r\n\t\t\tswitch(s){\r\n\t\t\tcase S_TAG:\r\n\t\t\t\tel.setTagName(source.slice(start,p));\r\n\t\t\tcase S_ATTR_END:\r\n\t\t\tcase S_TAG_SPACE:\r\n\t\t\tcase S_TAG_CLOSE:\r\n\t\t\t\ts =S_TAG_CLOSE;\r\n\t\t\t\tel.closed = true;\r\n\t\t\tcase S_ATTR_NOQUOT_VALUE:\r\n\t\t\tcase S_ATTR:\r\n\t\t\tcase S_ATTR_SPACE:\r\n\t\t\t\tbreak;\r\n\t\t\t//case S_EQ:\r\n\t\t\tdefault:\r\n\t\t\t\tthrow new Error(\"attribute invalid close char('/')\")\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t\tcase ''://end document\r\n\t\t\t//throw new Error('unexpected end of input')\r\n\t\t\terrorHandler.error('unexpected end of input');\r\n\t\t\tif(s == S_TAG){\r\n\t\t\t\tel.setTagName(source.slice(start,p));\r\n\t\t\t}\r\n\t\t\treturn p;\r\n\t\tcase '>':\r\n\t\t\tswitch(s){\r\n\t\t\tcase S_TAG:\r\n\t\t\t\tel.setTagName(source.slice(start,p));\r\n\t\t\tcase S_ATTR_END:\r\n\t\t\tcase S_TAG_SPACE:\r\n\t\t\tcase S_TAG_CLOSE:\r\n\t\t\t\tbreak;//normal\r\n\t\t\tcase S_ATTR_NOQUOT_VALUE://Compatible state\r\n\t\t\tcase S_ATTR:\r\n\t\t\t\tvalue = source.slice(start,p);\r\n\t\t\t\tif(value.slice(-1) === '/'){\r\n\t\t\t\t\tel.closed  = true;\r\n\t\t\t\t\tvalue = value.slice(0,-1)\r\n\t\t\t\t}\r\n\t\t\tcase S_ATTR_SPACE:\r\n\t\t\t\tif(s === S_ATTR_SPACE){\r\n\t\t\t\t\tvalue = attrName;\r\n\t\t\t\t}\r\n\t\t\t\tif(s == S_ATTR_NOQUOT_VALUE){\r\n\t\t\t\t\terrorHandler.warning('attribute \"'+value+'\" missed quot(\")!!');\r\n\t\t\t\t\tel.add(attrName,value.replace(/&#?\\w+;/g,entityReplacer),start)\r\n\t\t\t\t}else{\r\n\t\t\t\t\tif(currentNSMap[''] !== 'http://www.w3.org/1999/xhtml' || !value.match(/^(?:disabled|checked|selected)$/i)){\r\n\t\t\t\t\t\terrorHandler.warning('attribute \"'+value+'\" missed value!! \"'+value+'\" instead!!')\r\n\t\t\t\t\t}\r\n\t\t\t\t\tel.add(value,value,start)\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\tcase S_EQ:\r\n\t\t\t\tthrow new Error('attribute value missed!!');\r\n\t\t\t}\r\n//\t\t\tconsole.log(tagName,tagNamePattern,tagNamePattern.test(tagName))\r\n\t\t\treturn p;\r\n\t\t/*xml space '\\x20' | #x9 | #xD | #xA; */\r\n\t\tcase '\\u0080':\r\n\t\t\tc = ' ';\r\n\t\tdefault:\r\n\t\t\tif(c<= ' '){//space\r\n\t\t\t\tswitch(s){\r\n\t\t\t\tcase S_TAG:\r\n\t\t\t\t\tel.setTagName(source.slice(start,p));//tagName\r\n\t\t\t\t\ts = S_TAG_SPACE;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase S_ATTR:\r\n\t\t\t\t\tattrName = source.slice(start,p)\r\n\t\t\t\t\ts = S_ATTR_SPACE;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase S_ATTR_NOQUOT_VALUE:\r\n\t\t\t\t\tvar value = source.slice(start,p).replace(/&#?\\w+;/g,entityReplacer);\r\n\t\t\t\t\terrorHandler.warning('attribute \"'+value+'\" missed quot(\")!!');\r\n\t\t\t\t\tel.add(attrName,value,start)\r\n\t\t\t\tcase S_ATTR_END:\r\n\t\t\t\t\ts = S_TAG_SPACE;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t//case S_TAG_SPACE:\r\n\t\t\t\t//case S_EQ:\r\n\t\t\t\t//case S_ATTR_SPACE:\r\n\t\t\t\t//\tvoid();break;\r\n\t\t\t\t//case S_TAG_CLOSE:\r\n\t\t\t\t\t//ignore warning\r\n\t\t\t\t}\r\n\t\t\t}else{//not space\r\n//S_TAG,\tS_ATTR,\tS_EQ,\tS_ATTR_NOQUOT_VALUE\r\n//S_ATTR_SPACE,\tS_ATTR_END,\tS_TAG_SPACE, S_TAG_CLOSE\r\n\t\t\t\tswitch(s){\r\n\t\t\t\t//case S_TAG:void();break;\r\n\t\t\t\t//case S_ATTR:void();break;\r\n\t\t\t\t//case S_ATTR_NOQUOT_VALUE:void();break;\r\n\t\t\t\tcase S_ATTR_SPACE:\r\n\t\t\t\t\tvar tagName =  el.tagName;\r\n\t\t\t\t\tif(currentNSMap[''] !== 'http://www.w3.org/1999/xhtml' || !attrName.match(/^(?:disabled|checked|selected)$/i)){\r\n\t\t\t\t\t\terrorHandler.warning('attribute \"'+attrName+'\" missed value!! \"'+attrName+'\" instead2!!')\r\n\t\t\t\t\t}\r\n\t\t\t\t\tel.add(attrName,attrName,start);\r\n\t\t\t\t\tstart = p;\r\n\t\t\t\t\ts = S_ATTR;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase S_ATTR_END:\r\n\t\t\t\t\terrorHandler.warning('attribute space is required\"'+attrName+'\"!!')\r\n\t\t\t\tcase S_TAG_SPACE:\r\n\t\t\t\t\ts = S_ATTR;\r\n\t\t\t\t\tstart = p;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase S_EQ:\r\n\t\t\t\t\ts = S_ATTR_NOQUOT_VALUE;\r\n\t\t\t\t\tstart = p;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase S_TAG_CLOSE:\r\n\t\t\t\t\tthrow new Error(\"elements closed character '/' and '>' must be connected to\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}//end outer switch\r\n\t\t//console.log('p++',p)\r\n\t\tp++;\r\n\t}\r\n}\r\n/**\r\n * @return true if has new namespace define\r\n */\r\nfunction appendElement(el,domBuilder,currentNSMap){\r\n\tvar tagName = el.tagName;\r\n\tvar localNSMap = null;\r\n\t//var currentNSMap = parseStack[parseStack.length-1].currentNSMap;\r\n\tvar i = el.length;\r\n\twhile(i--){\r\n\t\tvar a = el[i];\r\n\t\tvar qName = a.qName;\r\n\t\tvar value = a.value;\r\n\t\tvar nsp = qName.indexOf(':');\r\n\t\tif(nsp>0){\r\n\t\t\tvar prefix = a.prefix = qName.slice(0,nsp);\r\n\t\t\tvar localName = qName.slice(nsp+1);\r\n\t\t\tvar nsPrefix = prefix === 'xmlns' && localName\r\n\t\t}else{\r\n\t\t\tlocalName = qName;\r\n\t\t\tprefix = null\r\n\t\t\tnsPrefix = qName === 'xmlns' && ''\r\n\t\t}\r\n\t\t//can not set prefix,because prefix !== ''\r\n\t\ta.localName = localName ;\r\n\t\t//prefix == null for no ns prefix attribute \r\n\t\tif(nsPrefix !== false){//hack!!\r\n\t\t\tif(localNSMap == null){\r\n\t\t\t\tlocalNSMap = {}\r\n\t\t\t\t//console.log(currentNSMap,0)\r\n\t\t\t\t_copy(currentNSMap,currentNSMap={})\r\n\t\t\t\t//console.log(currentNSMap,1)\r\n\t\t\t}\r\n\t\t\tcurrentNSMap[nsPrefix] = localNSMap[nsPrefix] = value;\r\n\t\t\ta.uri = 'http://www.w3.org/2000/xmlns/'\r\n\t\t\tdomBuilder.startPrefixMapping(nsPrefix, value) \r\n\t\t}\r\n\t}\r\n\tvar i = el.length;\r\n\twhile(i--){\r\n\t\ta = el[i];\r\n\t\tvar prefix = a.prefix;\r\n\t\tif(prefix){//no prefix attribute has no namespace\r\n\t\t\tif(prefix === 'xml'){\r\n\t\t\t\ta.uri = 'http://www.w3.org/XML/1998/namespace';\r\n\t\t\t}if(prefix !== 'xmlns'){\r\n\t\t\t\ta.uri = currentNSMap[prefix || '']\r\n\t\t\t\t\r\n\t\t\t\t//{console.log('###'+a.qName,domBuilder.locator.systemId+'',currentNSMap,a.uri)}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tvar nsp = tagName.indexOf(':');\r\n\tif(nsp>0){\r\n\t\tprefix = el.prefix = tagName.slice(0,nsp);\r\n\t\tlocalName = el.localName = tagName.slice(nsp+1);\r\n\t}else{\r\n\t\tprefix = null;//important!!\r\n\t\tlocalName = el.localName = tagName;\r\n\t}\r\n\t//no prefix element has default namespace\r\n\tvar ns = el.uri = currentNSMap[prefix || ''];\r\n\tdomBuilder.startElement(ns,localName,tagName,el);\r\n\t//endPrefixMapping and startPrefixMapping have not any help for dom builder\r\n\t//localNSMap = null\r\n\tif(el.closed){\r\n\t\tdomBuilder.endElement(ns,localName,tagName);\r\n\t\tif(localNSMap){\r\n\t\t\tfor(prefix in localNSMap){\r\n\t\t\t\tdomBuilder.endPrefixMapping(prefix) \r\n\t\t\t}\r\n\t\t}\r\n\t}else{\r\n\t\tel.currentNSMap = currentNSMap;\r\n\t\tel.localNSMap = localNSMap;\r\n\t\t//parseStack.push(el);\r\n\t\treturn true;\r\n\t}\r\n}\r\nfunction parseHtmlSpecialContent(source,elStartEnd,tagName,entityReplacer,domBuilder){\r\n\tif(/^(?:script|textarea)$/i.test(tagName)){\r\n\t\tvar elEndStart =  source.indexOf('</'+tagName+'>',elStartEnd);\r\n\t\tvar text = source.substring(elStartEnd+1,elEndStart);\r\n\t\tif(/[&<]/.test(text)){\r\n\t\t\tif(/^script$/i.test(tagName)){\r\n\t\t\t\t//if(!/\\]\\]>/.test(text)){\r\n\t\t\t\t\t//lexHandler.startCDATA();\r\n\t\t\t\t\tdomBuilder.characters(text,0,text.length);\r\n\t\t\t\t\t//lexHandler.endCDATA();\r\n\t\t\t\t\treturn elEndStart;\r\n\t\t\t\t//}\r\n\t\t\t}//}else{//text area\r\n\t\t\t\ttext = text.replace(/&#?\\w+;/g,entityReplacer);\r\n\t\t\t\tdomBuilder.characters(text,0,text.length);\r\n\t\t\t\treturn elEndStart;\r\n\t\t\t//}\r\n\t\t\t\r\n\t\t}\r\n\t}\r\n\treturn elStartEnd+1;\r\n}\r\nfunction fixSelfClosed(source,elStartEnd,tagName,closeMap){\r\n\t//if(tagName in closeMap){\r\n\tvar pos = closeMap[tagName];\r\n\tif(pos == null){\r\n\t\t//console.log(tagName)\r\n\t\tpos =  source.lastIndexOf('</'+tagName+'>')\r\n\t\tif(pos<elStartEnd){//忘记闭合\r\n\t\t\tpos = source.lastIndexOf('</'+tagName)\r\n\t\t}\r\n\t\tcloseMap[tagName] =pos\r\n\t}\r\n\treturn pos<elStartEnd;\r\n\t//} \r\n}\r\nfunction _copy(source,target){\r\n\tfor(var n in source){target[n] = source[n]}\r\n}\r\nfunction parseDCC(source,start,domBuilder,errorHandler){//sure start with '<!'\r\n\tvar next= source.charAt(start+2)\r\n\tswitch(next){\r\n\tcase '-':\r\n\t\tif(source.charAt(start + 3) === '-'){\r\n\t\t\tvar end = source.indexOf('-->',start+4);\r\n\t\t\t//append comment source.substring(4,end)//<!--\r\n\t\t\tif(end>start){\r\n\t\t\t\tdomBuilder.comment(source,start+4,end-start-4);\r\n\t\t\t\treturn end+3;\r\n\t\t\t}else{\r\n\t\t\t\terrorHandler.error(\"Unclosed comment\");\r\n\t\t\t\treturn -1;\r\n\t\t\t}\r\n\t\t}else{\r\n\t\t\t//error\r\n\t\t\treturn -1;\r\n\t\t}\r\n\tdefault:\r\n\t\tif(source.substr(start+3,6) == 'CDATA['){\r\n\t\t\tvar end = source.indexOf(']]>',start+9);\r\n\t\t\tdomBuilder.startCDATA();\r\n\t\t\tdomBuilder.characters(source,start+9,end-start-9);\r\n\t\t\tdomBuilder.endCDATA() \r\n\t\t\treturn end+3;\r\n\t\t}\r\n\t\t//<!DOCTYPE\r\n\t\t//startDTD(java.lang.String name, java.lang.String publicId, java.lang.String systemId) \r\n\t\tvar matchs = split(source,start);\r\n\t\tvar len = matchs.length;\r\n\t\tif(len>1 && /!doctype/i.test(matchs[0][0])){\r\n\t\t\tvar name = matchs[1][0];\r\n\t\t\tvar pubid = len>3 && /^public$/i.test(matchs[2][0]) && matchs[3][0]\r\n\t\t\tvar sysid = len>4 && matchs[4][0];\r\n\t\t\tvar lastMatch = matchs[len-1]\r\n\t\t\tdomBuilder.startDTD(name,pubid && pubid.replace(/^(['\"])(.*?)\\1$/,'$2'),\r\n\t\t\t\t\tsysid && sysid.replace(/^(['\"])(.*?)\\1$/,'$2'));\r\n\t\t\tdomBuilder.endDTD();\r\n\t\t\t\r\n\t\t\treturn lastMatch.index+lastMatch[0].length\r\n\t\t}\r\n\t}\r\n\treturn -1;\r\n}\r\n\r\n\r\n\r\nfunction parseInstruction(source,start,domBuilder){\r\n\tvar end = source.indexOf('?>',start);\r\n\tif(end){\r\n\t\tvar match = source.substring(start,end).match(/^<\\?(\\S*)\\s*([\\s\\S]*?)\\s*$/);\r\n\t\tif(match){\r\n\t\t\tvar len = match[0].length;\r\n\t\t\tdomBuilder.processingInstruction(match[1], match[2]) ;\r\n\t\t\treturn end+2;\r\n\t\t}else{//error\r\n\t\t\treturn -1;\r\n\t\t}\r\n\t}\r\n\treturn -1;\r\n}\r\n\r\n/**\r\n * @param source\r\n */\r\nfunction ElementAttributes(source){\r\n\t\r\n}\r\nElementAttributes.prototype = {\r\n\tsetTagName:function(tagName){\r\n\t\tif(!tagNamePattern.test(tagName)){\r\n\t\t\tthrow new Error('invalid tagName:'+tagName)\r\n\t\t}\r\n\t\tthis.tagName = tagName\r\n\t},\r\n\tadd:function(qName,value,offset){\r\n\t\tif(!tagNamePattern.test(qName)){\r\n\t\t\tthrow new Error('invalid attribute:'+qName)\r\n\t\t}\r\n\t\tthis[this.length++] = {qName:qName,value:value,offset:offset}\r\n\t},\r\n\tlength:0,\r\n\tgetLocalName:function(i){return this[i].localName},\r\n\tgetLocator:function(i){return this[i].locator},\r\n\tgetQName:function(i){return this[i].qName},\r\n\tgetURI:function(i){return this[i].uri},\r\n\tgetValue:function(i){return this[i].value}\r\n//\t,getIndex:function(uri, localName)){\r\n//\t\tif(localName){\r\n//\t\t\t\r\n//\t\t}else{\r\n//\t\t\tvar qName = uri\r\n//\t\t}\r\n//\t},\r\n//\tgetValue:function(){return this.getValue(this.getIndex.apply(this,arguments))},\r\n//\tgetType:function(uri,localName){}\r\n//\tgetType:function(i){},\r\n}\r\n\r\n\r\n\r\n\r\nfunction _set_proto_(thiz,parent){\r\n\tthiz.__proto__ = parent;\r\n\treturn thiz;\r\n}\r\nif(!(_set_proto_({},_set_proto_.prototype) instanceof _set_proto_)){\r\n\t_set_proto_ = function(thiz,parent){\r\n\t\tfunction p(){};\r\n\t\tp.prototype = parent;\r\n\t\tp = new p();\r\n\t\tfor(parent in thiz){\r\n\t\t\tp[parent] = thiz[parent];\r\n\t\t}\r\n\t\treturn p;\r\n\t}\r\n}\r\n\r\nfunction split(source,start){\r\n\tvar match;\r\n\tvar buf = [];\r\n\tvar reg = /'[^']+'|\"[^\"]+\"|[^\\s<>\\/=]+=?|(\\/?\\s*>|<)/g;\r\n\treg.lastIndex = start;\r\n\treg.exec(source);//skip <\r\n\twhile(match = reg.exec(source)){\r\n\t\tbuf.push(match);\r\n\t\tif(match[1])return buf;\r\n\t}\r\n}\r\n\r\nexports.XMLReader = XMLReader;\r\n\r\n"
  },
  {
    "path": "plugins/tiddlywiki/xmldom/files/tiddlywiki.files",
    "content": "{\n\t\"tiddlers\": [\n\t\t{\n\t\t\t\"file\": \"dom.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/xmldom/dom\",\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t},\n\t\t\t\"prefix\": \"\",\n\t\t\t\"suffix\": \"\"\n\t\t},{\n\t\t\t\"file\": \"dom-parser.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/xmldom/dom-parser\",\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t},\n\t\t\t\"prefix\": \"\",\n\t\t\t\"suffix\": \"\"\n\t\t},{\n\t\t\t\"file\": \"entities.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/xmldom/entities\",\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t},\n\t\t\t\"prefix\": \"\",\n\t\t\t\"suffix\": \"\"\n\t\t},{\n\t\t\t\"file\": \"sax.js\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"application/javascript\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/xmldom/sax\",\n\t\t\t\t\"module-type\": \"library\"\n\t\t\t},\n\t\t\t\"prefix\": \"\",\n\t\t\t\"suffix\": \"\"\n\t\t},{\n\t\t\t\"file\": \"LICENSE\",\n\t\t\t\"fields\": {\n\t\t\t\t\"type\": \"text/plain\",\n\t\t\t\t\"title\": \"$:/plugins/tiddlywiki/xmldom/license\"\n\t\t\t}\n\t\t}\n\t]\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/xmldom/plugin.info",
    "content": "{\n\t\"title\": \"$:/plugins/tiddlywiki/xmldom\",\n\t\"name\": \"xmldom\",\n\t\"description\": \"xmldom library\",\n\t\"list\": \"readme license\",\n\t\"stability\": \"STABILITY_2_STABLE\"\n}\n"
  },
  {
    "path": "plugins/tiddlywiki/xmldom/readme.tid",
    "content": "title: $:/plugins/tiddlywiki/xmldom/readme\n\nThis plugin packages [[xmldom|https://github.com/jindw/xmldom]] for use by other plugins. It does not provide any end-user visible features.\n"
  },
  {
    "path": "readme.md",
    "content": "<h1 class=\"\">Welcome</h1><p>Welcome to <a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/TiddlyWiki.html\">TiddlyWiki</a>, a non-linear personal web notebook that anyone can use and keep forever, independently of any corporation.</p><p>TiddlyWiki is a complete interactive wiki in JavaScript. It can be used as a single HTML file in the browser or as a powerful Node.js application. It is highly customisable: the entire user interface is itself implemented in hackable <a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/WikiText.html\">WikiText</a>.</p><h2 class=\"\">Demo</h2><p>Learn more and see it in action at <a class=\"tc-tiddlylink-external\" href=\"https://tiddlywiki.com/\" rel=\"noopener noreferrer\" target=\"_blank\">https://tiddlywiki.com/</a></p><h2 class=\"\">Developer Documentation</h2><p>Developer documentation is in progress at <a class=\"tc-tiddlylink-external\" href=\"https://tiddlywiki.com/dev/\" rel=\"noopener noreferrer\" target=\"_blank\">https://tiddlywiki.com/dev/</a></p><h2 class=\"\">Pull Request Previews</h2><p>Pull request previews courtesy of <a class=\"tc-tiddlylink-external\" href=\"https://netlify.com\" rel=\"noopener noreferrer\" target=\"_blank\">Netlify</a></p><p><a href=\"https://www.netlify.com\" rel=\"noopener noreferrer\" target=\"_blank\"><img alt=\"Deploys by Netlify\" src=\"https://www.netlify.com/v3/img/components/netlify-light.svg\"></a></p><h1 class=\"\">Join the Community</h1><p>\n<h2 class=\"\">Official Forums</h2><h3 class=\"\"><a class=\"tc-tiddlylink-external\" href=\"https://talk.tiddlywiki.org/\" rel=\"noopener noreferrer\" target=\"_blank\">https://talk.tiddlywiki.org/</a></h3><blockquote class=\"tc-quote\"><p>The new official forum for talking about TiddlyWiki: requests for help, <a class=\"tc-tiddlylink-external\" href=\"https://talk.tiddlywiki.org/c/announcements/20\" rel=\"noopener noreferrer\" target=\"_blank\">announcements</a> of new releases and plugins, debating new features, or just sharing experiences. You can participate via the associated website, or subscribe via email.</p><p><strong>talk.tiddlywiki.org</strong> is a community run service that we host and maintain ourselves. The modest running costs are covered by community contributions.\n</p></blockquote><h4 class=\"\">Google Groups</h4><blockquote class=\"tc-quote\"><p>For the convenience of existing users, we also continue to operate the original TiddlyWiki group (hosted on Google Groups since 2005): <a class=\"tc-tiddlylink-external\" href=\"https://groups.google.com/group/TiddlyWiki\" rel=\"noopener noreferrer\" target=\"_blank\">https://groups.google.com/group/TiddlyWiki</a>\n</p></blockquote><h2 class=\"\">Developer Forums</h2><h2 class=\"\"><a class=\"tc-tiddlylink-external\" href=\"https://github.com/TiddlyWiki/TiddlyWiki5/graphs/contributors\" rel=\"noopener noreferrer\" target=\"_blank\">GitHub Stats</a></h2><p>There are several resources for developers to learn more about <a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/TiddlyWiki.html\">TiddlyWiki</a> and to discuss and contribute to its development.</p><blockquote><div><img class=\" tc-image-loading\" src=\"https://repobeats.axiom.co/api/embed/b92b1b363e2b5f26837ae573a60d39b4248b50a0.svg\"></div></blockquote><ul><li><a class=\"tc-tiddlylink-external\" href=\"https://tiddlywiki.com/dev\" rel=\"noopener noreferrer\" target=\"_blank\">tiddlywiki.com/dev</a> is the official developer documentation</li><li>Get involved in the <a class=\"tc-tiddlylink-external\" href=\"https://github.com/TiddlyWiki/TiddlyWiki5\" rel=\"noopener noreferrer\" target=\"_blank\">development on GitHub</a></li><li><a class=\"tc-tiddlylink-external\" href=\"https://github.com/TiddlyWiki/TiddlyWiki5/discussions\" rel=\"noopener noreferrer\" target=\"_blank\">GitHub Discussions</a> are for Q&amp;A and open-ended discussion</li><li><a class=\"tc-tiddlylink-external\" href=\"https://github.com/TiddlyWiki/TiddlyWiki5/issues\" rel=\"noopener noreferrer\" target=\"_blank\">GitHub Issues</a> are for raising bug reports and proposing specific, actionable new ideas</li><li>The older TiddlyWikiDev Google Group is now closed in favour of <a class=\"tc-tiddlylink-external\" href=\"https://talk.tiddlywiki.org/\" rel=\"noopener noreferrer\" target=\"_blank\">Talk TiddlyWiki</a> and <a class=\"tc-tiddlylink-external\" href=\"https://github.com/TiddlyWiki/TiddlyWiki5/discussions\" rel=\"noopener noreferrer\" target=\"_blank\">GitHub Discussions</a> <ul><li>It remains a useful archive: <a class=\"tc-tiddlylink-external\" href=\"https://groups.google.com/group/TiddlyWikiDev\" rel=\"noopener noreferrer\" target=\"_blank\">https://groups.google.com/group/TiddlyWikiDev</a><ul><li>An enhanced group search facility is available on <a class=\"tc-tiddlylink-external\" href=\"https://www.mail-archive.com/tiddlywikidev@googlegroups.com/\" rel=\"noopener noreferrer\" target=\"_blank\">mail-archive.com</a></li></ul></li></ul></li></ul><h2 class=\"\">Other Forums</h2><ul><li><a class=\"tc-tiddlylink-external\" href=\"https://www.reddit.com/r/TiddlyWiki5/\" rel=\"noopener noreferrer\" target=\"_blank\">TiddlyWiki Subreddit</a></li><li>Chat on Discord at <a class=\"tc-tiddlylink-external\" href=\"https://discord.gg/HFFZVQ8\" rel=\"noopener noreferrer\" target=\"_blank\">https://discord.gg/HFFZVQ8</a></li></ul><h3 class=\"\">Documentation</h3><p>There is also a discussion group specifically for discussing <a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/TiddlyWiki.html\">TiddlyWiki</a> documentation improvement initiatives: <a class=\"tc-tiddlylink-external\" href=\"https://groups.google.com/group/tiddlywikidocs\" rel=\"noopener noreferrer\" target=\"_blank\">https://groups.google.com/group/tiddlywikidocs</a>\n</p>\n</p><hr><h1 class=\"\">Installing TiddlyWiki on Node.js</h1><p>TiddlyWiki is a <a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/SingleFileApplication.html\">SingleFileApplication</a>, which is easy to use. For advanced users and developers there is a possibility to use a Node.js client / server configuration. This configuration is also used to build the TiddlyWiki <a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/SinglePageApplication.html\">SinglePageApplication</a></p><ol><li>Install <a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/Node.js.html\">Node.js</a><ul><li>Linux: <blockquote><div><em>Debian/Ubuntu</em>:<br><code>apt install nodejs</code><br>May need to be followed up by:<br><code>apt install npm</code></div><div><em>Arch Linux</em><br><code>yay -S tiddlywiki</code> <br>(installs node and tiddlywiki)</div></blockquote></li><li>Mac<blockquote><div><code>brew install node</code></div></blockquote></li><li>Android<blockquote><div><a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/Serving%2520TW5%2520from%2520Android.html\">Termux for Android</a></div></blockquote></li><li>Other <blockquote><div>See <a class=\"tc-tiddlylink-external\" href=\"http://nodejs.org\" rel=\"noopener noreferrer\" target=\"_blank\">http://nodejs.org</a></div></blockquote></li></ul></li><li>Open a command line terminal and type:<blockquote><div><code>npm install -g tiddlywiki</code></div><div>If it fails with an error you may need to re-run the command as an administrator:</div><div><code>sudo npm install -g tiddlywiki</code> (Mac/Linux)</div></blockquote></li><li>Ensure TiddlyWiki is installed by typing:<blockquote><div><code>tiddlywiki --version</code></div></blockquote><ul><li>In response, you should see <a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/TiddlyWiki.html\">TiddlyWiki</a> report its current version (eg \"5.3.8\". You may also see other debugging information reported.)</li></ul></li><li>Try it out:<ol><li><code>tiddlywiki mynewwiki --init server</code> to create a folder for a new wiki that includes server-related components</li><li><code>tiddlywiki mynewwiki --listen</code> to start <a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/TiddlyWiki.html\">TiddlyWiki</a></li><li>Visit <a class=\"tc-tiddlylink-external\" href=\"http://127.0.0.1:8080/\" rel=\"noopener noreferrer\" target=\"_blank\">http://127.0.0.1:8080/</a> in your browser</li><li>Try editing and creating tiddlers</li></ol></li><li>Optionally, make an offline copy:<ul><li>click the <span class=\"doc-icon\"><svg class=\"tc-image-save-button-dynamic tc-image-button\" height=\"22pt\" viewBox=\"0 0 128 128\" width=\"22pt\">\n<g class=\"tc-image-save-button-dynamic-clean\">\n<path d=\"M120.783 34.33c4.641 8.862 7.266 18.948 7.266 29.646 0 35.347-28.653 64-64 64-35.346 0-64-28.653-64-64 0-35.346 28.654-64 64-64 18.808 0 35.72 8.113 47.43 21.03l2.68-2.68c3.13-3.13 8.197-3.132 11.321-.008 3.118 3.118 3.121 8.193-.007 11.32l-4.69 4.691zm-12.058 12.058a47.876 47.876 0 013.324 17.588c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48c14.39 0 27.3 6.332 36.098 16.362L58.941 73.544 41.976 56.578c-3.127-3.127-8.201-3.123-11.32-.005-3.123 3.124-3.119 8.194.006 11.319l22.617 22.617a7.992 7.992 0 005.659 2.347c2.05 0 4.101-.783 5.667-2.349l44.12-44.12z\" fill-rule=\"evenodd\"></path>\n</g>\n<g class=\"tc-image-save-button-dynamic-dirty\">\n<path d=\"M64.856912,0 C100.203136,0 128.856912,28.653776 128.856912,64 C128.856912,99.346224 100.203136,128 64.856912,128 C29.510688,128 0.856911958,99.346224 0.856911958,64 C0.856911958,28.653776 29.510688,0 64.856912,0 Z M64.856912,16 C38.347244,16 16.856912,37.490332 16.856912,64 C16.856912,90.509668 38.347244,112 64.856912,112 C91.3665799,112 112.856912,90.509668 112.856912,64 C112.856912,37.490332 91.3665799,16 64.856912,16 Z\"></path>\n<circle cx=\"65\" cy=\"64\" r=\"32\"></circle>\n</g>\n</svg></span> <strong>save changes</strong> button in the sidebar, <strong>OR</strong></li><li><code>tiddlywiki mynewwiki --build index</code></li></ul></li></ol><p>The <code>-g</code> flag causes <a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/TiddlyWiki.html\">TiddlyWiki</a> to be installed globally. Without it, <a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/TiddlyWiki.html\">TiddlyWiki</a> will only be available in the directory where you installed it.</p><p><div class=\"doc-icon-block doc-warning\"><div><strong>Warning</strong></div><div class=\"doc-block-icon\"><svg class=\"tc-image-warning tc-image-button\" height=\"22pt\" viewBox=\"0 0 128 128\" width=\"22pt\"><path d=\"M57.072 11c3.079-5.333 10.777-5.333 13.856 0l55.426 96c3.079 5.333-.77 12-6.928 12H8.574c-6.158 0-10.007-6.667-6.928-12l55.426-96zM64 37c-4.418 0-8 3.582-8 7.994v28.012C56 77.421 59.59 81 64 81c4.418 0 8-3.582 8-7.994V44.994C72 40.579 68.41 37 64 37zm0 67a8 8 0 100-16 8 8 0 000 16z\" fill-rule=\"evenodd\"></path></svg></div>If you are using Debian or Debian-based Linux and you are receiving a <code>node: command not found</code> error though node.js package is installed, you may need to create a symbolic link between <code>nodejs</code> and <code>node</code>. Consult your distro's manual and <code>whereis</code> to correctly create a link. See github <a class=\"tc-tiddlylink-external\" href=\"http://github.com/TiddlyWiki/TiddlyWiki5/issues/1434\" rel=\"noopener noreferrer\" target=\"_blank\">issue 1434</a>. <br><br>Example Debian v8.0: <code>sudo ln -s /usr/bin/nodejs /usr/bin/node</code></div></p><p><br>\n<div class=\"doc-icon-block doc-tip\"><div><strong>Tip</strong></div><div class=\"doc-block-icon\"><svg class=\"tc-image-tip tc-image-button\" height=\"22pt\" viewBox=\"0 0 128 128\" width=\"22pt\"><path d=\"M64 128.242c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64-35.346 0-64 28.654-64 64 0 35.346 28.654 64 64 64zm11.936-36.789c-.624 4.129-5.73 7.349-11.936 7.349-6.206 0-11.312-3.22-11.936-7.349C54.33 94.05 58.824 95.82 64 95.82c5.175 0 9.67-1.769 11.936-4.366zm0 4.492c-.624 4.13-5.73 7.349-11.936 7.349-6.206 0-11.312-3.22-11.936-7.349 2.266 2.597 6.76 4.366 11.936 4.366 5.175 0 9.67-1.769 11.936-4.366zm0 4.456c-.624 4.129-5.73 7.349-11.936 7.349-6.206 0-11.312-3.22-11.936-7.349 2.266 2.597 6.76 4.366 11.936 4.366 5.175 0 9.67-1.769 11.936-4.366zm0 4.492c-.624 4.13-5.73 7.349-11.936 7.349-6.206 0-11.312-3.22-11.936-7.349 2.266 2.597 6.76 4.366 11.936 4.366 5.175 0 9.67-1.769 11.936-4.366zM64.3 24.242c11.618 0 23.699 7.82 23.699 24.2S75.92 71.754 75.92 83.576c0 5.873-5.868 9.26-11.92 9.26s-12.027-3.006-12.027-9.26C51.973 71.147 40 65.47 40 48.442s12.683-24.2 24.301-24.2z\" fill-rule=\"evenodd\"></path></svg></div>You can also install prior versions like this: <br><code> npm install -g tiddlywiki@5.1.13</code></div>\n</p><h1 class=\"\">Using TiddlyWiki on Node.js</h1><p>TiddlyWiki5 includes a set of commands for use on the command line to perform an extensive set of operations based on <a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/TiddlyWikiFolders.html\">TiddlyWikiFolders</a>, <a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/TiddlerFiles.html\">TiddlerFiles</a>.</p><p>For example, the following command loads the tiddlers from a TiddlyWiki HTML file and then saves one of them in static HTML:</p><pre><code>tiddlywiki --verbose --load mywiki.html --render ReadMe ./readme.html</code></pre><p>Running <code>tiddlywiki</code> from the command line boots the TiddlyWiki kernel, loads the core plugins and establishes an empty wiki store. It then sequentially processes the command line arguments from left to right. The arguments are separated with spaces.</p><p><a class=\"tc-tiddlylink tc-tiddlylink-resolves doc-from-version\" href=\"https://tiddlywiki.com/static/Release%25205.1.20.html\"><span class=\"tc-tiny-gap-right\"><svg class=\"tc-image-info-button tc-image-button\" height=\"22pt\" viewBox=\"0 0 128 128\" width=\"22pt\"><g fill-rule=\"evenodd\" transform=\"translate(.05)\"><path d=\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64zm0-16c26.51 0 48-21.49 48-48S90.51 16 64 16 16 37.49 16 64s21.49 48 48 48z\"></path><circle cx=\"64\" cy=\"32\" r=\"8\"></circle><rect height=\"56\" rx=\"8\" width=\"16\" x=\"56\" y=\"48\"></rect></g></svg></span>Introduced in v5.1.20</a> First, there can be zero or more plugin references identified by the prefix <code>+</code> for plugin names or <code>++</code> for a path to a plugin folder. These plugins are loaded in addition to any specified in the  <a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/TiddlyWikiFolders.html\">TiddlyWikiFolder</a>.</p><p>The next argument is the optional path to the <a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/TiddlyWikiFolders.html\">TiddlyWikiFolder</a> to be loaded. If not present, then the current directory is used.</p><p>The commands and their individual arguments follow, each command being identified by the prefix <code>--</code>.</p><pre><code>tiddlywiki [+&lt;pluginname&gt; | ++&lt;pluginpath&gt;] [&lt;wikipath&gt;] [--&lt;command&gt; [&lt;arg&gt;[,&lt;arg&gt;]]]</code></pre><p>For example:</p><pre><code>tiddlywiki --version\ntiddlywiki +plugins/tiddlywiki/filesystem +plugins/tiddlywiki/tiddlyweb mywiki --listen\ntiddlywiki ++./mygreatplugin mywiki --listen</code></pre><p><a class=\"tc-tiddlylink tc-tiddlylink-resolves doc-from-version\" href=\"https://tiddlywiki.com/static/Release%25205.1.18.html\"><span class=\"tc-tiny-gap-right\"><svg class=\"tc-image-info-button tc-image-button\" height=\"22pt\" viewBox=\"0 0 128 128\" width=\"22pt\"><g fill-rule=\"evenodd\" transform=\"translate(.05)\"><path d=\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64zm0-16c26.51 0 48-21.49 48-48S90.51 16 64 16 16 37.49 16 64s21.49 48 48 48z\"></path><circle cx=\"64\" cy=\"32\" r=\"8\"></circle><rect height=\"56\" rx=\"8\" width=\"16\" x=\"56\" y=\"48\"></rect></g></svg></span>Introduced in v5.1.18</a> Commands such as the <a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/ListenCommand.html\">ListenCommand</a> that support large numbers of parameters can use <a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/NamedCommandParameters.html\">NamedCommandParameters</a> to make things less unwieldy. For example:</p><pre><code>tiddlywiki wikipath --listen username=jeremy port=8090</code></pre><p>See <a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/Commands.html\">Commands</a> for a full listing of the available commands.\n</p><h1 class=\"\">Upgrading TiddlyWiki on Node.js</h1><p>If you've installed <a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/TiddlyWiki%2520on%2520Node.js.html\">TiddlyWiki on Node.js</a> on the usual way, when a new version is released you can upgrade it with this command:</p><pre><code>npm update -g tiddlywiki</code></pre><p>On Mac or Linux you'll need to add <strong>sudo</strong> like this:</p><pre><code>sudo npm update -g tiddlywiki</code></pre><h1 class=\"\">Also see</h1><p><ul class=\"\"><li><a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/Building%2520TiddlyWikiClassic.html\">Building TiddlyWikiClassic</a></li><li><a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/Customising%2520Tiddler%2520File%2520Naming.html\">Customising Tiddler File Naming</a></li><li><a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/Environment%2520Variables%2520on%2520Node.js.html\">Environment Variables on Node.js</a></li><li><a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/Generating%2520Static%2520Sites%2520with%2520TiddlyWiki.html\">Generating Static Sites with TiddlyWiki</a></li><li><a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/How%2520to%2520build%2520a%2520TiddlyWiki5%2520from%2520individual%2520tiddlers.html\">How to build a TiddlyWiki5 from individual tiddlers</a></li><li><a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/Installing%2520custom%2520plugins%2520on%2520Node.js.html\">Installing custom plugins on Node.js</a></li><li><a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/Installing%2520official%2520plugins%2520on%2520Node.js.html\">Installing official plugins on Node.js</a></li><li><a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/Installing%2520TiddlyWiki%2520on%2520Microsoft%2520Internet%2520Information%2520Server.html\">Internet Information Services</a></li><li><a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/Installing%2520TiddlyWiki%2520Prerelease%2520on%2520Node.js.html\">Installing TiddlyWiki Prerelease on Node.js</a></li><li><a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/MultiTiddlerFiles.html\">MultiTiddlerFiles</a></li><li><a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/MultiTiddlerFileSyntax.html\">MultiTiddlerFileSyntax</a></li><li><a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/NamedCommandParameters.html\">NamedCommandParameters</a></li><li><a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/Scripts%2520for%2520TiddlyWiki%2520on%2520Node.js.html\">Scripts for TiddlyWiki on Node.js</a></li><li><a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/Serving%2520TW5%2520from%2520Android.html\">Node.js on Termux</a></li><li><a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/TiddlerFiles.html\">TiddlerFiles</a></li><li><a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/tiddlywiki.files%2520Files.html\">tiddlywiki.files Files</a></li><li><a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/tiddlywiki.info%2520Files.html\">tiddlywiki.info Files</a></li><li><a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/TiddlyWikiFolders.html\">TiddlyWikiFolders</a></li><li><a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/Uninstalling%2520a%2520plugin%2520with%2520Node.js.html\">Uninstalling a plugin with Node.js</a></li><li><a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/Using%2520a%2520custom%2520path%2520prefix%2520with%2520the%2520client-server%2520edition.html\">Using a custom path prefix with the client-server edition</a></li><li><a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/Using%2520TiddlyWiki%2520for%2520GitHub%2520project%2520documentation.html\">Using TiddlyWiki for GitHub project documentation</a></li><li><a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/Working%2520with%2520the%2520TiddlyWiki5%2520repository.html\">Working with the TiddlyWiki5 repository</a></li></ul></p><p><em>This readme file was automatically generated by <a class=\"tc-tiddlylink tc-tiddlylink-resolves\" href=\"https://tiddlywiki.com/static/TiddlyWiki.html\">TiddlyWiki</a></em></p>"
  },
  {
    "path": "themes/tiddlywiki/centralised/plugin.info",
    "content": "{\n\t\"title\": \"$:/themes/tiddlywiki/centralised\",\n\t\"name\": \"Centralised\",\n\t\"author\": \"JeremyRuston\",\n\t\"core-version\": \">=5.0.0\",\n\t\"plugin-type\": \"theme\",\n\t\"description\": \"Centralises the story river\",\n\t\"dependents\": [\"$:/themes/tiddlywiki/snowwhite\"]\n}\n"
  },
  {
    "path": "themes/tiddlywiki/centralised/styles.tid",
    "content": "title: $:/themes/tiddlywiki/centralised/styles.tid\ntags: [[$:/tags/Stylesheet]]\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\thtml .tc-page-container {\n\t\ttext-align: center;\n\t}\n\n\thtml .tc-story-river {\n\t\tposition: relative;\n\t\twidth: 770px;\n\t\tpadding: 42px;\n\t\tmargin: 0 auto;\n\t\ttext-align: left;\n\t}\n\n\thtml .tc-sidebar-scrollable {\n\t\ttext-align: left;\n\t\tleft: 50%;\n\t\tright: 0;\n\t\tmargin-left: 343px;\n\t}\n}\n"
  },
  {
    "path": "themes/tiddlywiki/heavier/base.tid",
    "content": "title: $:/themes/tiddlywiki/heavier/base\ntags: [[$:/tags/Stylesheet]]\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\nhtml body strong,\nhtml body button.tc-tiddlylink,\nhtml body a.tc-tiddlylink,\nhtml body a.tc-tiddlylink-shadow,\nhtml body .tc-menu-list-count {\n\tfont-weight: 700;\n}\n\nhtml body h1,\nhtml body h2,\nhtml body h3,\nhtml body h4,\nhtml body h5,\nhtml body h6,\nhtml body a.tc-tiddlylink-shadow.tc-tiddlylink-resolves,\nhtml body button.tc-tag-label,\nhtml body span.tc-tag-label,\nhtml body .tc-sidebar-header .tc-title a.tc-tiddlylink-resolves,\nhtml body .tc-site-title,\nhtml body .tc-titlebar,\nhtml body .tc-subtitle,\nhtml body .tc-tiddler-missing .tc-title,\nhtml body .tc-tab-buttons button,\nhtml body .tc-tiddler-frame .tc-tiddler-body {\n\tfont-weight: 500;\n}\n\nhtml body .tc-view-field-name {\n\tfont-weight: 400;\n}\n"
  },
  {
    "path": "themes/tiddlywiki/heavier/plugin.info",
    "content": "{\n\t\"title\": \"$:/themes/tiddlywiki/heavier\",\n\t\"name\": \"Heavier\",\n\t\"author\": \"JeremyRuston\",\n\t\"core-version\": \">=5.0.0\",\n\t\"plugin-type\": \"theme\",\n\t\"description\": \"Heavier font theme\",\n\t\"dependents\": [\"$:/themes/tiddlywiki/snowwhite\"]\n}\n"
  },
  {
    "path": "themes/tiddlywiki/readonly/plugin.info",
    "content": "{\n\t\"title\": \"$:/themes/tiddlywiki/readonly\",\n\t\"name\": \"ReadOnly\",\n\t\"author\": \"JeremyRuston\",\n\t\"core-version\": \">=5.0.0\",\n\t\"plugin-type\": \"theme\",\n\t\"description\": \"Hides the ability to edit tiddlers\",\n\t\"dependents\": [\"$:/themes/tiddlywiki/snowwhite\"]\n}\n"
  },
  {
    "path": "themes/tiddlywiki/readonly/styles.tid",
    "content": "title: $:/themes/tiddlywiki/readonly/styles.tid\ntags: [[$:/tags/Stylesheet]]\n\n\\define button-selector(title)\nbutton.$title$, .tc-drop-down button.$title$, div.$title$\n\\end\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\n<<button-selector tc-btn-\\%24\\%3A\\%2Fcore\\%2Fui\\%2FButtons\\%2Fclone>>,\n<<button-selector tc-btn-\\%24\\%3A\\%2Fcore\\%2Fui\\%2FButtons\\%2Fdelete>>,\n<<button-selector tc-btn-\\%24\\%3A\\%2Fcore\\%2Fui\\%2FButtons\\%2Fedit>>,\n<<button-selector tc-btn-\\%24\\%3A\\%2Fcore\\%2Fui\\%2FButtons\\%2Fnew-here>>,\n<<button-selector tc-btn-\\%24\\%3A\\%2Fcore\\%2Fui\\%2FButtons\\%2Fnew-journal-here>>,\n<<button-selector tc-btn-\\%24\\%3A\\%2Fcore\\%2Fui\\%2FButtons\\%2Fimport>>,\n<<button-selector tc-btn-\\%24\\%3A\\%2Fcore\\%2Fui\\%2FButtons\\%2Fmanager>>,\n<<button-selector tc-btn-\\%24\\%3A\\%2Fcore\\%2Fui\\%2FButtons\\%2Fnew-image>>,\n<<button-selector tc-btn-\\%24\\%3A\\%2Fcore\\%2Fui\\%2FButtons\\%2Fnew-journal>>,\n<<button-selector tc-btn-\\%24\\%3A\\%2Fcore\\%2Fui\\%2FButtons\\%2Fnew-tiddler>> {\n\tdisplay: none;\n}"
  },
  {
    "path": "themes/tiddlywiki/seamless/base.tid",
    "content": "title: $:/themes/tiddlywiki/seamless/base\ntags: [[$:/tags/Stylesheet]]\nlist-after: $:/themes/tiddlywiki/vanilla/base\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\n/*\nRules copied from Snow White\n*/\n\n.tc-page-controls button svg, .tc-tiddler-controls button svg, .tc-topbar button svg {\n\ttransition: color 150ms ease-in-out;\n}\n\n.tc-tiddler-controls button.tc-selected svg {\n\t<<filter \"drop-shadow(0px -1px 2px rgba(0,0,0,0.25))\">>\n}\n\n.tc-drop-down {\n\tborder-radius: 4px;\n\t<<box-shadow \"2px 2px 10px rgba(0, 0, 0, 0.5)\">>\n}\n\n.tc-block-dropdown {\n\tborder-radius: 4px;\n\t<<box-shadow \"2px 2px 10px rgba(0, 0, 0, 0.5)\">>\n}\n\n.tc-modal-displayed {\n\t<<filter \"blur(4px)\">>\n}\n\n.tc-modal {\n\tborder-radius: 6px;\n\t<<box-shadow \"0 3px 7px rgba(0,0,0,0.3)\">>\n}\n\n.tc-modal-footer {\n\tborder-radius: 0 0 6px 6px;\n\t<<box-shadow \"inset 0 1px 0 #fff\">>;\n}\n\n.tc-alert {\n\tborder-radius: 6px;\n\t<<box-shadow \"0 3px 7px rgba(0,0,0,0.6)\">>\n}\n\n.tc-notification {\n\tborder-radius: 6px;\n\t<<box-shadow \"0 3px 7px rgba(0,0,0,0.3)\">>\n\ttext-shadow: 0 1px 0 rgba(255,255,255, 0.8);\n}\n\n.tc-message-box img {\n\t<<box-shadow \"1px 1px 3px rgba(0,0,0,0.5)\">>\n}\n\n/*\nSeamless modifications\n*/\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t/* Drop the tiddler frame padding */\n\tbody.tc-body .tc-tiddler-frame {\n\t\tpadding: 0;\n\t}\n\n\t/* Move the sidebar up so that the title lines up */\n\tbody.tc-body .tc-sidebar-scrollable {\n\t\tpadding: 43px 0 28px 42px;\n\t}\n\n\t/* Stop the tiddler info panel from bleeding into the tiddler frame padding */\n\tbody.tc-body .tc-tiddler-info {\n\t\tmargin: 0;\n\t}\n\n\t/* Stop message boxes from bleeding into the tiddler frame padding */\n\tbody.tc-body .tc-message-box {\n\t\tmargin: 21px 0 21px 0;\n\t}\n\n}\n\n/* Use the tiddler background colour for the page background */\nhtml body.tc-body {\n\tbackground-color: <<colour background>>;\n}\n\nhtml:-webkit-full-screen {\n\tbackground-color: <<colour background>>;\n}\n\n/* Adjust the colour of the page controls */\nbody.tc-body .tc-page-controls svg {\n\tcolor: <<colour muted-foreground>>;\n}\n\n/* Adjust the colour of the sidebar selected tabs */\nbody.tc-body .tc-sidebar-lists .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour background>>;\n}\n"
  },
  {
    "path": "themes/tiddlywiki/seamless/plugin.info",
    "content": "{\n\t\"title\": \"$:/themes/tiddlywiki/seamless\",\n\t\"name\": \"Seamless\",\n\t\"author\": \"JeremyRuston\",\n\t\"core-version\": \">=5.0.0\",\n\t\"plugin-type\": \"theme\",\n\t\"description\": \"Removes borders from tiddlers\",\n\t\"dependents\": [\"$:/themes/tiddlywiki/vanilla\"]\n}\n"
  },
  {
    "path": "themes/tiddlywiki/snowwhite/base.tid",
    "content": "title: $:/themes/tiddlywiki/snowwhite/base\ntags: [[$:/tags/Stylesheet]]\n\n\\define sidebarbreakpoint-minus-one()\n<$text text={{{ [{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}removesuffix[px]subtract[1]addsuffix[px]] ~[{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}] }}}/>\n\\end\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\n.tc-sidebar-header {\n\ttext-shadow: 0 1px 0 <<colour sidebar-foreground-shadow>>;\n}\n\n.tc-tiddler-info {\n\tbox-shadow: inset 1px 2px 3px rgba(0,0,0,0.1);\n}\n\n@media screen {\n\t.tc-tiddler-frame {\n\t\tbox-shadow: 1px 1px 5px rgba(0, 0, 0, 0.3);\n\t}\n}\n\n@media (max-width: <<sidebarbreakpoint-minus-one>>) {\n\t.tc-tiddler-frame {\n\t\tbox-shadow: none;\n\t}\n}\n\n.tc-page-controls button svg, .tc-tiddler-controls button svg, .tc-topbar button svg {\n\ttransition: color 150ms ease-in-out;\n}\n\n.tc-tiddler-controls button.tc-selected,\n.tc-page-controls button.tc-selected {\n\tfilter: drop-shadow(0px -1px 2px rgba(0,0,0,0.25));\n}\n\n.tc-tiddler-frame input.tc-edit-texteditor,\n.tc-tiddler-frame select.tc-edit-texteditor {\n\tbox-shadow: inset 0 1px 8px rgba(0, 0, 0, 0.15);\n}\n\n.tc-edit-tags {\n\tbox-shadow: inset 0 1px 8px rgba(0, 0, 0, 0.15);\n}\n\n.tc-tiddler-frame .tc-edit-tags input.tc-edit-texteditor {\n\tbox-shadow: none;\n\tborder: none;\n\toutline: none;\n}\n\ntextarea.tc-edit-texteditor {\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/editorfontfamily}};\n}\n\ncanvas.tc-edit-bitmapeditor  {\n\tbox-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5);\n}\n\n.tc-drop-down {\n\tborder-radius: 4px;\n\tbox-shadow: 2px 2px 10px rgba(0, 0, 0, 0.5);\n}\n\n.tc-block-dropdown {\n\tborder-radius: 4px;\n\tbox-shadow: 2px 2px 10px rgba(0, 0, 0, 0.5);\n}\n\n.tc-modal {\n\tborder-radius: 6px;\n\tbox-shadow: 0 3px 7px rgba(0,0,0,0.3);\n}\n\n.tc-modal-footer {\n\tborder-radius: 0 0 6px 6px;\n\tbox-shadow: inset 0 1px 0 #fff;\n}\n\n\n.tc-alert {\n\tborder-radius: 6px;\n\tbox-shadow: 0 3px 7px rgba(0,0,0,0.6);\n}\n\n.tc-notification {\n\tborder-radius: 6px;\n\tbox-shadow: 0 3px 7px rgba(0,0,0,0.3);\n\ttext-shadow: 0 1px 0 rgba(255,255,255, 0.8);\n}\n\n.tc-sidebar-lists .tc-tab-set .tc-tab-divider {\n\tborder-top: none;\n\theight: 1px;\n\tbackground-image: linear-gradient(to right, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.0) 100%); \n}\n\n/* HACK: :dir should be used here. html[dir=\"rtl\"] rules are used to support browsers released before 2023 */\n\nhtml[dir=\"rtl\"] .tc-sidebar-lists .tc-tab-set .tc-tab-divider {\n\tbackground-image: linear-gradient(to left, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.0) 100%);\n}\n\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button {\n\tbackground-image: linear-gradient(to right, rgba(0,0,0,0.01) 0%, rgba(0,0,0,0.1) 100%);\n}\n\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button.tc-tab-selected {\n\tbackground-image: linear-gradient(to right, rgba(0,0,0,0.05) 0%, rgba(255,255,255,0.05) 100%);\n}\n\nhtml[dir=\"rtl\"] .tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button {\n    background-image: linear-gradient(to right, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.01) 100%);\n}\n\nhtml[dir=\"rtl\"] .tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button.tc-tab-selected {\n    background-image: linear-gradient(to right, rgba(255,255,255,0.05) 0%, rgba(0,0,0,0.05) 100%)\n}\n\n.tc-message-box img {\n\tbox-shadow: 1px 1px 3px rgba(0,0,0,0.5);\n}\n\n.tc-plugin-info {\n\tbox-shadow: 1px 1px 3px rgba(0,0,0,0.5)\n}\n"
  },
  {
    "path": "themes/tiddlywiki/snowwhite/plugin.info",
    "content": "{\n\t\"title\": \"$:/themes/tiddlywiki/snowwhite\",\n\t\"name\": \"Snow White\",\n\t\"author\": \"JeremyRuston\",\n\t\"core-version\": \">=5.0.0\",\n\t\"plugin-type\": \"theme\",\n\t\"description\": \"Emphasises individual tiddlers\",\n\t\"dependents\": [\"$:/themes/tiddlywiki/vanilla\"],\n\t\"plugin-priority\": \"0\"\n}\n"
  },
  {
    "path": "themes/tiddlywiki/starlight/arvo.woff.meta",
    "content": "title: $:/themes/tiddlywiki/starlight/arvo.woff\ntype: font/woff\n"
  },
  {
    "path": "themes/tiddlywiki/starlight/ltbg.jpg.meta",
    "content": "title: $:/themes/tiddlywiki/starlight/ltbg.jpg\ntype: image/jpeg\n"
  },
  {
    "path": "themes/tiddlywiki/starlight/plugin.info",
    "content": "{\n\t\"title\": \"$:/themes/tiddlywiki/starlight\",\n\t\"name\": \"Starlight\",\n\t\"author\": \"JeremyRuston\",\n\t\"core-version\": \">=5.0.0\",\n\t\"plugin-type\": \"theme\",\n\t\"description\": \"Example alternative theme\",\n\t\"dependents\": [\"$:/themes/tiddlywiki/snowwhite\"]\n}\n"
  },
  {
    "path": "themes/tiddlywiki/starlight/styles.tid",
    "content": "title: $:/themes/tiddlywiki/starlight/styles.tid\ntags: [[$:/tags/Stylesheet]]\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\n/*\nPlaceholder for a more thorough refinement of Snow White\n*/\n\n@font-face {\n\tfont-family: \"Arvo\";\n\tfont-style: normal;\n\tfont-weight: 400;\n\tsrc: local(\"Arvo\"), url(<<datauri \"$:/themes/tiddlywiki/starlight/arvo.woff\">>) format(\"woff\");\n}\n\nhtml body, .tc-sidebar-scrollable-backdrop {\n\tfont-family: \"Arvo\", \"Times\";\n\tbackground: url(<<datauri \"$:/themes/tiddlywiki/starlight/ltbg.jpg\">>);\n}\n\n.tc-page-controls svg {\n\t<<filter \"drop-shadow(1px 1px 2px rgba(255,255,255,0.9))\">>\n}\n"
  },
  {
    "path": "themes/tiddlywiki/starlight/themetweaks.tid",
    "content": "title: $:/themes/tiddlywiki/starlight/themetweaks\ntags: $:/tags/ControlPanel/Appearance\ncaption: Star Tweaks\n\nDemo of a control panel tab dynamically loaded with a theme.\n"
  },
  {
    "path": "themes/tiddlywiki/tight/base.tid",
    "content": "title: $:/themes/tiddlywiki/tight/base\ntags: [[$:/tags/Stylesheet]]\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n}\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\thtml body.tc-body {\n\t\tfont-size: 13px;\n\t\tline-height: 16px;\n\t}\n\n\thtml body.tc-body h1,\n\thtml body.tc-body h2,\n\thtml body.tc-body h3,\n\thtml body.tc-body h4,\n\thtml body.tc-body p {\n\t\tmargin-top: 0.3em;\n\t\tmargin-bottom: 0.3em;\n\t}\n\n\thtml body.tc-body code {\n\t\tfont-size: 0.8em;\n\t}\n\n\thtml body.tc-body section.tc-story-river {\n\t\tpadding: 0px;\n\t}\n\n\thtml body.tc-body div.tc-tiddler-frame {\n\t\tpadding: 12px;\n\t}\n\n\thtml body.tc-body div.tc-sidebar-scrollable {\n\t\tpadding: 12px 0 12px 12px;\n\t}\n\n\thtml body.tc-body .tc-tiddler-frame .tc-subtitle {\n\t\tfont-size: 0.7em;\n\t\tfont-weight: 700;\n\t}\n\n\thtml body.tc-body .tc-tiddler-frame .tc-subtitle .tc-tiddlylink {\n\t\tmargin-right: .3em;\n\t}\n\n\thtml body.tc-body .tc-tiddler-frame .tc-tags-wrapper {\n\t\tmargin: 0;\n\t}\n\n\thtml body.tc-body .tc-tiddler-frame button.tc-tag-label,\n\thtml body.tc-body .tc-tiddler-frame span.tc-tag-label {\n\t\tfont-size: 0.8em;\n\t}\n\n\thtml body.tc-body .tc-tiddler-frame .tc-tiddler-body h1 {\n\t\tfont-size: 1.5em;\n\t\tfont-weight: 500;\n\t}\n\n\thtml body.tc-body .tc-tiddler-frame .tc-tiddler-body h2 {\n\t\tfont-size: 1.3em;\n\t\tfont-weight: 500;\n\t}\n\n\thtml body.tc-body .tc-tiddler-frame .tc-tiddler-body h3 {\n\t\tfont-size: 1.2em;\n\t\tfont-weight: 500;\n\t}\n\n\thtml body.tc-body .tc-tiddler-frame .tc-tiddler-body h4 {\n\t\tfont-size: 1.1em;\n\t\tfont-weight: 500;\n\t}\n\n\thtml body.tc-body .tc-tiddler-frame .tc-improvement-banner {\n\t\tmargin-right: -15px;\n\t\tmargin-left: -10px;\n\t}\n\n\thtml body.tc-body .tc-tiddler-frame .tc-tiddler-info {\n\t\tmargin: 0 -13px 0 -13px;\n\t}\n\n\thtml body.tc-body .tc-tiddler-frame .tc-fold-banner {\n\t\twidth: 13px;\n\t\tmargin-left: -15px;\n\t}\n\n\thtml body.tc-body .tc-tiddler-frame .tc-unfold-banner {\n\t\tmargin-left: -13px;\n\t\tmargin-top: -4px;\n\t}\n\n}\n"
  },
  {
    "path": "themes/tiddlywiki/tight/plugin.info",
    "content": "{\n\t\"title\": \"$:/themes/tiddlywiki/tight\",\n\t\"name\": \"Tight\",\n\t\"author\": \"JeremyRuston\",\n\t\"core-version\": \">=5.0.0\",\n\t\"plugin-type\": \"theme\",\n\t\"description\": \"Tightly packed theme\",\n\t\"dependents\": [\"$:/themes/tiddlywiki/vanilla\"]\n}\n"
  },
  {
    "path": "themes/tiddlywiki/tight-heavier/base.tid",
    "content": "title: $:/themes/tiddlywiki/tight-heavier/base\ntags: [[$:/tags/Stylesheet]]\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n"
  },
  {
    "path": "themes/tiddlywiki/tight-heavier/plugin.info",
    "content": "{\n\t\"title\": \"$:/themes/tiddlywiki/tight-heavier\",\n\t\"name\": \"Tight and Heavier\",\n\t\"author\": \"JeremyRuston\",\n\t\"core-version\": \">=5.0.0\",\n\t\"plugin-type\": \"theme\",\n\t\"description\": \"Tight and Heavier font theme\",\n\t\"dependents\": [\"$:/themes/tiddlywiki/tight\",\"$:/themes/tiddlywiki/heavier\"]\n}\n"
  },
  {
    "path": "themes/tiddlywiki/vanilla/ThemeTweaks.tid",
    "content": "title: $:/themes/tiddlywiki/vanilla/themetweaks\ntags: $:/tags/ControlPanel/Appearance\ncaption: {{$:/language/ThemeTweaks/ThemeTweaks}}\n\n\\define lingo-base() $:/language/ThemeTweaks/\n\n\\define replacement-text()\n[img[$(imageTitle)$]]\n\\end\n\n\\define backgroundimage-dropdown()\n<div class=\"tc-drop-down-wrapper\">\n<$set name=\"state\" value=<<qualify \"$:/state/popup/themetweaks/backgroundimage\">>>\n<$button popup=<<state>> class=\"tc-btn-invisible tc-btn-dropdown\">{{$:/core/images/down-arrow}}</$button>\n<$reveal state=<<state>> type=\"popup\" position=\"belowleft\" text=\"\" default=\"\" class=\"tc-popup-keep\">\n<div class=\"tc-drop-down\" style=\"text-align:center;\">\n<$macrocall $name=\"image-picker\" actions=\"\"\"\n\n<$action-setfield\n\t$tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\"\n\t$value=<<imageTitle>>\n/>\n\n<$action-deletetiddler $tiddler=<<state>>/>\n\n\"\"\"/>\n</div>\n</$reveal>\n</$set>\n</div>\n\\end\n\n\\define backgroundimageattachment-dropdown()\n<$select tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment\" default=\"scroll\">\n<option value=\"scroll\"><<lingo Settings/BackgroundImageAttachment/Scroll>></option>\n<option value=\"fixed\"><<lingo Settings/BackgroundImageAttachment/Fixed>></option>\n</$select>\n\\end\n\n\\define backgroundimagesize-dropdown()\n<$select tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize\" default=\"scroll\">\n<option value=\"auto\"><<lingo Settings/BackgroundImageSize/Auto>></option>\n<option value=\"cover\"><<lingo Settings/BackgroundImageSize/Cover>></option>\n<option value=\"contain\"><<lingo Settings/BackgroundImageSize/Contain>></option>\n</$select>\n\\end\n\n<<lingo ThemeTweaks/Hint>>\n\n! <<lingo Options>>\n\n|<$link to=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\"><<lingo Options/SidebarLayout>></$link> |<$select tiddler=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\"><option value=\"fixed-fluid\"><<lingo Options/SidebarLayout/Fixed-Fluid>></option><option value=\"fluid-fixed\"><<lingo Options/SidebarLayout/Fluid-Fixed>></option></$select> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/options/stickytitles\"><<lingo Options/StickyTitles>></$link><br>//<<lingo Options/StickyTitles/Hint>>// |<$select tiddler=\"$:/themes/tiddlywiki/vanilla/options/stickytitles\"><option value=\"no\">{{$:/language/No}}</option><option value=\"yes\">{{$:/language/Yes}}</option></$select> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/options/codewrapping\"><<lingo Options/CodeWrapping>></$link> |<$select tiddler=\"$:/themes/tiddlywiki/vanilla/options/codewrapping\"><option value=\"pre\">{{$:/language/No}}</option><option value=\"pre-wrap\">{{$:/language/Yes}}</option></$select> |\n\n! <<lingo Settings>>\n\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/fontfamily\"><<lingo Settings/FontFamily>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/fontfamily\" default=\"\" tag=\"input\"/> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/codefontfamily\"><<lingo Settings/CodeFontFamily>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/codefontfamily\" default=\"\" tag=\"input\"/> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/editorfontfamily\"><<lingo Settings/EditorFontFamily>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/editorfontfamily\" default=\"\" tag=\"input\"/> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\"><<lingo Settings/BackgroundImage>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\" default=\"\" tag=\"input\"/> |<<backgroundimage-dropdown>> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment\"><<lingo Settings/BackgroundImageAttachment>></$link> |<<backgroundimageattachment-dropdown>> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize\"><<lingo Settings/BackgroundImageSize>></$link> |<<backgroundimagesize-dropdown>> | |\n\n! <<lingo Metrics>>\n\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/fontsize\"><<lingo Metrics/FontSize>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/fontsize\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/lineheight\"><<lingo Metrics/LineHeight>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/lineheight\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize\"><<lingo Metrics/BodyFontSize>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/bodylineheight\"><<lingo Metrics/BodyLineHeight>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/bodylineheight\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storyleft\"><<lingo Metrics/StoryLeft>></$link><br>//<<lingo Metrics/StoryLeft/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storyleft\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storytop\"><<lingo Metrics/StoryTop>></$link><br>//<<lingo Metrics/StoryTop/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storytop\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storyright\"><<lingo Metrics/StoryRight>></$link><br>//<<lingo Metrics/StoryRight/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storyright\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storywidth\"><<lingo Metrics/StoryWidth>></$link><br>//<<lingo Metrics/StoryWidth/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storywidth\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\"><<lingo Metrics/TiddlerWidth>></$link><br>//<<lingo Metrics/TiddlerWidth/Hint>>//<br> |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint\"><<lingo Metrics/SidebarBreakpoint>></$link><br>//<<lingo Metrics/SidebarBreakpoint/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth\"><<lingo Metrics/SidebarWidth>></$link><br>//<<lingo Metrics/SidebarWidth/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth\" default=\"\" tag=\"input\"/> |\n"
  },
  {
    "path": "themes/tiddlywiki/vanilla/base.tid",
    "content": "title: $:/themes/tiddlywiki/vanilla/base\ntags: [[$:/tags/Stylesheet]]\nlist-before:\ncode-body: yes\n\n\\define custom-background-datauri()\n<$set name=\"background\" value={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}}>\n<$list filter=\"[<background>is[image]]\">\n`background: url(`\n<$list filter=\"[<background>!has[_canonical_uri]]\">\n`\"`<$macrocall $name=\"datauri\" title={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}}/>`\"`\n</$list>\n<$list filter=\"[<background>has[_canonical_uri]]\">\n`\"`<$view tiddler={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}} field=\"_canonical_uri\"/>`\"`\n</$list>\n`) center center;`\n`background-attachment: `{{$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment}}`;\n-webkit-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;\n-moz-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;\n-o-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;\nbackground-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;`\n</$list>\n</$set>\n\\end\n\n\\define sidebarbreakpoint()\n<$text text={{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}/>\n\\end\n\n\\define sidebarbreakpoint-minus-one()\n<$text text={{{ [{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}removesuffix[px]subtract[1]addsuffix[px]] ~[{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}] }}}/>\n\\end\n\n\\define if-fluid-fixed(text,hiddenSidebarText)\n<$reveal state=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\" type=\"match\" text=\"fluid-fixed\">\n$text$\n<$reveal state=\"$:/state/sidebar\" type=\"nomatch\" text=\"yes\" default=\"yes\">\n$hiddenSidebarText$\n</$reveal>\n</$reveal>\n\\end\n\n\\define if-editor-height-fixed(then,else)\n<$reveal state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"fixed\">\n$then$\n</$reveal>\n<$reveal state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"auto\">\n$else$\n</$reveal>\n\\end\n\n\\define set-type-selector-min-width()\n<$set name=\"typeLength\" value={{{ [all[shadows+tiddlers]prefix[$:/language/Docs/Types/]get[name]length[]maxall[]] }}}>\n\n\t.tc-type-selector-dropdown-wrapper {\n\t\tmin-width: calc(<<typeLength>>ch + 4em);\n\t}\n\n\t.tc-type-selector-dropdown-wrapper input.tc-edit-typeeditor {\n\t\tmin-width: <<typeLength>>ch;\n\t}\n\n</$set>\n\\end\n\n\\import [[$:/core/macros/CSS/property]]\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock\n\n/*\n** Start with the normalize CSS reset, and then belay some of its effects\n*/\n\n{{$:/themes/tiddlywiki/vanilla/reset}}\n\ninput[type=\"search\"] {\n\toutline-offset: initial;\n}\n\nbutton:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {\n\toutline: 2px solid <<colour primary>>;\n\toutline-offset: -2px;\n\tborder-radius: 0.25em;\n}\n\nbutton:-moz-focusring, input:-moz-focusring, textarea:-moz-focusring, select:-moz-focusring {\n\toutline: 2px solid <<colour primary>>;\n\toutline-offset: -2px;\n\tborder-radius: 0.25em;\n}\n\n/*\n** Button default styles. Makes them look consistent for all browsers\n*/\nhtml button {\n\tline-height: 1.2;\n\tcolor: <<colour button-foreground>>;\n\tbackground: <<colour button-background>>;\n\tborder-color: <<colour button-border>>;\n\tcursor: pointer;\n}\n\nbutton:disabled {\n\tcursor: default;\n\tcolor: <<colour muted-foreground>>;\n}\n\n/*\n** Basic element styles\n*/\n\nhtml, body {\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/fontfamily}};\n\ttext-rendering: optimizeLegibility; /* Enables kerning and ligatures etc. */\n\t-webkit-font-smoothing: antialiased;\n\t-moz-osx-font-smoothing: grayscale;\n}\n\nhtml:-webkit-full-screen {\n\tbackground-color: <<colour page-background>>;\n}\n\nbody.tc-body {\n\tfont-size: {{$:/themes/tiddlywiki/vanilla/metrics/fontsize}};\n\tline-height: {{$:/themes/tiddlywiki/vanilla/metrics/lineheight}};\n\tword-wrap: break-word;\n\t<<custom-background-datauri>>\n\tcolor: <<colour foreground>>;\n\tbackground-color: <<colour page-background>>;\n\tfill: currentColor;\n}\n\n<<if-background-attachment \"\"\"\n\nbody.tc-body {\n\tbackground-color: transparent;\n}\n\n\"\"\">>\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n\tfont-size: 2em;\n}\n\nh1, h2, h3, h4, h5, h6 {\n\tline-height: 1.2;\n\tfont-weight: normal;\n}\n\npre {\n\tdisplay: block;\n\tmargin-top: 1em;\n\tmargin-bottom: 1em;\n\tword-break: normal;\n\tword-wrap: break-word;\n\twhite-space: {{$:/themes/tiddlywiki/vanilla/options/codewrapping}};\n\tbackground-color: <<colour pre-background>>;\n\tborder: 1px solid <<colour pre-border>>;\n\tpadding: 0 3px 2px;\n\tborder-radius: 3px;\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/codefontfamily}};\n}\n\ncode {\n\tcolor: <<colour code-foreground>>;\n\tbackground-color: <<colour code-background>>;\n\tborder: 1px solid <<colour code-border>>;\n\twhite-space: pre-wrap;\n\tpadding: 0 3px 2px;\n\tborder-radius: 3px;\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/codefontfamily}};\n}\n\nblockquote {\n\tborder-inline-start: 5px solid <<colour blockquote-bar>>;\n\t<<margin-start 25px>>\n\t<<padding-start 10px>>\n\tquotes: \"\\201C\"\"\\201D\"\"\\2018\"\"\\2019\";\n}\n\nblockquote > div {\n\tmargin-top: 1em;\n\tmargin-bottom: 1em;\n}\n\nblockquote.tc-big-quote {\n\tfont-family: Georgia, serif;\n\tposition: relative;\n\tbackground: <<colour pre-background>>;\n\tborder-inline-start: none;\n\t<<margin-inline 50px>>\n\tpadding: 10px;\n\tborder-radius: 8px;\n}\n\nblockquote.tc-big-quote cite:before {\n\tcontent: \"\\2014 \\2009\";\n}\n\nblockquote.tc-big-quote:before {\n\tfont-family: Georgia, serif;\n\tcolor: <<colour blockquote-bar>>;\n\tcontent: open-quote;\n\tfont-size: 8em;\n\tline-height: 0.1em;\n\tmargin-right: 0.25em;\n\tvertical-align: -0.4em;\n\tposition: absolute;\n\tleft: -50px;\n\ttop: 42px;\n}\n\nblockquote.tc-big-quote:after {\n\tfont-family: Georgia, serif;\n\tcolor: <<colour blockquote-bar>>;\n\tcontent: close-quote;\n\tfont-size: 8em;\n\tline-height: 0.1em;\n\tmargin-right: 0.25em;\n\tvertical-align: -0.4em;\n\tposition: absolute;\n\tright: -80px;\n\tbottom: -20px;\n}\n\ndl dt {\n\tfont-weight: bold;\n\tmargin-top: 6px;\n}\n\ntextarea,\ninput[type=text],\ninput[type=search],\ninput[type=number],\ninput[type=password],\ninput[type=email],\ninput[type=tel],\ninput[type=url],\ninput[type=\"\"],\ninput:not([type]) {\n\tcolor: <<colour foreground>>;\n\tbackground: <<colour background>>;\n}\n\ninput[type=\"checkbox\"] {\n\tvertical-align: middle;\n}\n\ninput[type=\"search\"]::-webkit-search-decoration,\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-results-button,\ninput[type=\"search\"]::-webkit-search-results-decoration {\n\t-webkit-appearance:none;\n}\n\n.tc-muted {\n\tcolor: <<colour muted-foreground>>;\n}\n\nsvg.tc-image-button {\n\tpadding-top: 0px;\n\tpadding-bottom: 1px;\n\t<<padding-inline 0px 1px>>\n}\n\n.tc-icon-wrapper > svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\nkbd {\n\tdisplay: inline-block;\n\tpadding: 3px 5px;\n\tfont-size: 0.8em;\n\tline-height: 1.2;\n\tcolor: <<colour foreground>>;\n\tvertical-align: middle;\n\tbackground-color: <<colour background>>;\n\tborder: solid 1px <<colour muted-foreground>>;\n\tborder-bottom-color: <<colour muted-foreground>>;\n\tborder-radius: 3px;\n\tbox-shadow: inset 0 -1px 0 <<colour muted-foreground>>;\n}\n\n::selection {\n\tbackground-color: Highlight;\n\tcolor: HighlightText;\n\tbackground-color: <<colour selection-background>>;\n\tcolor: <<colour selection-foreground>>;\n}\n\n.tc-inline-style {\n\tbackground: <<colour highlight-background>>;\n\tcolor: <<colour highlight-foreground>>;\n}\n\n/* Markdown uses mark element to highlight */\n\nmark {\n\tbackground: <<colour highlight-background>>;\n\tcolor: <<colour highlight-foreground>>;\n}\n\nform.tc-form-inline {\n\tdisplay: inline;\n}\n\n/*\nMarkdown likes putting code elements inside pre elements\n*/\npre > code {\n\tdisplay: block;\n\tpadding: 0.5em;\n\tborder: none;\n\twhite-space: {{$:/themes/tiddlywiki/vanilla/options/codewrapping}};\n\tbackground-color: inherit;\n\tcolor: inherit;\n\toverflow-x: auto;\n}\n\n/*\nTable defaults\n*/\n\ntable {\n\tborder: 1px solid <<colour table-border>>;\n\twidth: auto;\n\tmax-width: 100%;\n\tcaption-side: bottom;\n\tmargin-top: 1em;\n\tmargin-bottom: 1em;\n\t/* next 2 elements needed, since normalize 8.0.1 */\n\tborder-collapse: collapse;\n\tborder-spacing: 0;\n}\n\ntable th, table td {\n\tpadding: 0 7px 0 7px;\n\tborder-top: 1px solid <<colour table-border>>;\n\tborder-left: 1px solid <<colour table-border>>;\n}\n\ntable thead tr td, table th {\n\tbackground-color: <<colour table-header-background>>;\n\tfont-weight: bold;\n}\n\ntable tfoot tr td {\n\tbackground-color: <<colour table-footer-background>>;\n}\n\n/*\nTable utility classes\n*/\n\n/* Remove borders from table as used in eg: GettingStarted*/\n.tc-table-no-border,\n.tc-table-no-border th,\n.tc-table-no-border td {\n\tborder: initial;\n}\n\n/* First column in table width will fit to text.*/\n/* This rule makes most sense with tc-first-link-nowrap*/\n.tc-first-col-min-width td:nth-child(1) {\n\twidth: 1%;\n}\n\n/*\n** Utility classes work well with tables but also for other containers\n*/\n\n/* First link A element will not wrap */\n.tc-first-link-nowrap:first-of-type a {\n\twhite-space: nowrap;\n}\n\n/* Move the table to the center of the container */\n.tc-center {\n\tmargin-left: auto;\n\tmargin-right: auto;\n}\n\n.tc-max-width {\n\twidth: 100%;\n}\n\n.tc-max-width-80 {\n\tmax-width: 80%;\n}\n\n/* Allow input and textarea to look like the ControlPanel inputs */\n.tc-edit-max-width input,\n.tc-edit-max-width textarea {\n\twidth: 100%;\n\tpadding: 3px;\n}\n\n/*\nCSV parser plugin\n*/\n\n.tc-csv-table {\n\twhite-space: nowrap;\n}\n\n.tc-csv-table th,\n.tc-csv-table td {\n\twhite-space: pre-line;\n}\n\n/*\nTiddler frame in story river\n*/\n\n.tc-tiddler-frame img,\n.tc-tiddler-frame svg,\n.tc-tiddler-frame canvas,\n.tc-tiddler-frame embed,\n.tc-tiddler-frame iframe {\n\tmax-width: 100%;\n}\n\n.tc-tiddler-body > embed,\n.tc-tiddler-body > iframe {\n\twidth: 100%;\n\theight: 600px;\n}\n\n:root {\n\tcolor-scheme: {{{ [{$:/palette}get[color-scheme]] ~light }}};\n\ttext-autospace: normal;\n}\n\n/*\n** Links\n*/\n\nbutton.tc-tiddlylink,\na.tc-tiddlylink {\n\ttext-decoration: none;\n\tfont-weight: 500;\n\tcolor: <<colour tiddler-link-foreground>>;\n\t-webkit-user-select: inherit; /* Otherwise the draggable attribute makes links impossible to select */\n\t-webkit-touch-callout: none; /* Prevents long presses from bringing up a link preview */\n}\n\n.tc-sidebar-lists a.tc-tiddlylink {\n\tcolor: <<colour sidebar-tiddler-link-foreground>>;\n}\n\n.tc-sidebar-lists a.tc-tiddlylink:hover {\n\tcolor: <<colour sidebar-tiddler-link-foreground-hover>>;\n}\n\nbutton.tc-tiddlylink:hover,\na.tc-tiddlylink:hover {\n\ttext-decoration: underline;\n}\n\na.tc-tiddlylink-resolves {\n}\n\na.tc-tiddlylink-shadow {\n\tfont-weight: bold;\n}\n\na.tc-tiddlylink-shadow.tc-tiddlylink-resolves {\n\tfont-weight: normal;\n}\n\na.tc-tiddlylink-missing {\n\tfont-style: italic;\n}\n\na.tc-tiddlylink-external {\n\ttext-decoration: underline;\n\tcolor: <<colour external-link-foreground>>;\n\tbackground-color: <<colour external-link-background>>;\n}\n\na.tc-tiddlylink-external:visited {\n\tcolor: <<colour external-link-foreground-visited>>;\n\tbackground-color: <<colour external-link-background-visited>>;\n}\n\na.tc-tiddlylink-external:hover {\n\tcolor: <<colour external-link-foreground-hover>>;\n\tbackground-color: <<colour external-link-background-hover>>;\n}\n\n.tc-drop-down a.tc-tiddlylink:hover {\n\tcolor: <<colour tiddler-link-background>>;\n}\n\n/*\n** Drag and drop styles\n*/\n\n.tc-tiddler-dragger {\n\tposition: relative;\n\tz-index: -10000;\n}\n\n.tc-tiddler-dragger-inner {\n\tposition: absolute;\n\ttop: -1000px;\n\tleft: -1000px;\n\tdisplay: inline-block;\n\tpadding: 8px 20px;\n\tfont-size: 16.9px;\n\tfont-weight: bold;\n\tline-height: 20px;\n\tcolor: <<colour dragger-foreground>>;\n\ttext-shadow: 0 1px 0 rgba(0, 0, 0, 1);\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n\tbackground-color: <<colour dragger-background>>;\n\tborder-radius: 20px;\n}\n\n.tc-tiddler-dragger-cover {\n\tposition: absolute;\n\tbackground-color: <<colour page-background>>;\n}\n\n.tc-page-container > .tc-dropzone {\n\tmin-height: 100vh;\n}\n\n.tc-dropzone {\n\tposition: relative;\n}\n\n.tc-dropzone.tc-dragover:before {\n\tz-index: 10000;\n\tdisplay: block;\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbackground: <<colour dropzone-background>>;\n\ttext-align: center;\n\tcontent: \"<<lingo DropMessage>>\";\n}\n\n.tc-droppable > .tc-droppable-placeholder {\n\tdisplay: none;\n}\n\n.tc-droppable.tc-dragover > .tc-droppable-placeholder {\n\tdisplay: block;\n\tborder: 2px dashed <<colour dropzone-background>>;\n}\n\n.tc-draggable {\n\tcursor: move;\n}\n\n.tc-sidebar-tab-open .tc-droppable-placeholder, .tc-tagged-draggable-list .tc-droppable-placeholder,\n.tc-links-draggable-list .tc-droppable-placeholder {\n\tline-height: 2em;\n\theight: 2em;\n}\n\n.tc-sidebar-tab-open-item {\n\tposition: relative;\n}\n\n.tc-sidebar-tab-open .tc-btn-invisible.tc-btn-mini svg {\n\tfont-size: 0.7em;\n\tcolor: <<colour muted-foreground>>;\n}\n\n/*\n** Plugin reload warning\n*/\n\n.tc-plugin-reload-warning {\n\tz-index: 1000;\n\tdisplay: block;\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbackground: <<colour alert-background>>;\n\ttext-align: center;\n}\n\n/*\n** Buttons\n*/\n\nbutton svg, button img, label svg, label img {\n\tvertical-align: middle;\n}\n\n.tc-btn-invisible {\n\tpadding: 0;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n\tcursor: pointer;\n\tcolor: <<colour foreground>>;\n}\n\nbutton:disabled.tc-btn-invisible  {\n\tcursor: default;\n\tcolor: <<colour muted-foreground>>;\n}\n\n.tc-btn-boxed {\n\tfont-size: 0.6em;\n\tpadding: 0.2em;\n\tmargin: 1px;\n\tbackground: none;\n\tborder: 1px solid <<colour tiddler-controls-foreground>>;\n\tborder-radius: 0.25em;\n}\n\nhtml body.tc-body .tc-btn-boxed svg {\n\tfont-size: 1.6666em;\n}\n\n.tc-btn-boxed:hover {\n\tbackground: <<colour muted-foreground>>;\n\tcolor: <<colour background>>;\n}\n\n.tc-btn-rounded {\n\tfont-size: 0.5em;\n\tline-height: 2;\n\tpadding: 0em 0.3em 0.2em 0.4em;\n\tmargin: 1px;\n\tborder: 1px solid <<colour muted-foreground>>;\n\tbackground: <<colour muted-foreground>>;\n\tcolor: <<colour background>>;\n\tborder-radius: 2em;\n}\n\nhtml body.tc-body .tc-btn-rounded svg {\n\tfont-size: 1.6666em;\n\tcolor: <<colour background>>;\n}\n\n.tc-btn-rounded:hover {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tbackground: <<colour background>>;\n\tcolor: <<colour muted-foreground>>;\n}\n\n.tc-btn-icon svg {\n\theight: 1em;\n\twidth: 1em;\n\tcolor: <<colour muted-foreground>>;\n}\n\n\n.tc-btn-text {\n\t<<margin-start 7px>>\n}\n\n/* used for documentation \"fake\" buttons */\n.tc-btn-standard {\n\tline-height: 1.8;\n\tcolor: #667;\n\tbackground-color: #e0e0e0;\n\tborder: 1px solid #888;\n\tpadding: 2px 1px 2px 1px;\n\tmargin: 1px 4px 1px 4px;\n}\n\n.tc-btn-big-green {\n\tdisplay: inline-block;\n\tpadding: 8px;\n\tmargin: 4px 8px 4px 8px;\n\tbackground: <<colour download-background>>;\n\tcolor: <<colour download-foreground>>;\n\tborder: none;\n\tborder-radius: 2px;\n\tfont-size: 1.2em;\n\tline-height: 1.4em;\n\ttext-decoration: none;\n}\n\n.tc-btn-big-green svg,\n.tc-btn-big-green img {\n\theight: 2em;\n\twidth: 2em;\n\tvertical-align: middle;\n}\n\n.tc-primary-btn {\n\tbackground: <<colour primary>>;\n}\n\n.tc-sidebar-lists input {\n\tcolor: <<colour foreground>>;\n}\n\n.tc-sidebar-lists button {\n\tcolor: <<colour sidebar-button-foreground>>;\n}\n\n.tc-sidebar-lists button.tc-btn-mini {\n\tcolor: <<colour sidebar-muted-foreground>>;\n}\n\n.tc-sidebar-lists button.tc-btn-mini:hover {\n\tcolor: <<colour sidebar-muted-foreground-hover>>;\n}\n\n.tc-sidebar-lists button small {\n\tcolor: <<colour foreground>>;\n}\n\nbutton svg.tc-image-button, button .tc-image-button img {\n\theight: 1em;\n\twidth: 1em;\n}\n\n.tc-unfold-banner {\n\tposition: absolute;\n\tpadding: 0;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n\twidth: 100%;\n\twidth: calc(100% + 2px);\n\t<<margin-start -43px>>\n\ttext-align: center;\n\tborder-top: 2px solid <<colour tiddler-info-background>>;\n\tmargin-top: 4px;\n}\n\n.tc-unfold-banner:hover {\n\tbackground: <<colour tiddler-info-background>>;\n\tborder-top: 2px solid <<colour tiddler-info-border>>;\n}\n\n.tc-unfold-banner svg, .tc-fold-banner svg {\n\theight: 0.75em;\n\tcolor: <<colour tiddler-controls-foreground>>;\n}\n\n.tc-unfold-banner:hover svg, .tc-fold-banner:hover svg {\n\tcolor: <<colour tiddler-controls-foreground-hover>>;\n}\n\n.tc-fold-banner {\n\tposition: absolute;\n\tpadding: 0;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n\twidth: 23px;\n\ttext-align: center;\n\t<<margin-start -35px>>\n\ttop: 6px;\n\tbottom: 6px;\n}\n\n.tc-fold-banner:hover {\n\tbackground: <<colour tiddler-info-background>>;\n}\n\n@media (max-width: <<sidebarbreakpoint-minus-one>>) {\n\n\t.tc-unfold-banner {\n\t\tposition: static;\n\t\twidth: calc(100% + 59px);\n\t}\n\n\t.tc-fold-banner {\n\t\twidth: 16px;\n\t\t<<margin-start -16px>>\n\t\tfont-size: 0.75em;\n\t}\n\n}\n\n/*\n** Tags and missing tiddlers\n*/\n\n.tc-tag-list-item {\n\tposition: relative;\n\tdisplay: inline-block;\n}\n\n.tc-tags-wrapper {\n\tmargin: 4px 0 14px 0;\n}\n\n.tc-tags-wrapper .tc-tag-list-item {\n\tmargin-right: 7px;\n}\n\n.tc-missing-tiddler-label {\n\tfont-style: italic;\n\tfont-weight: normal;\n\tdisplay: inline-block;\n\tfont-size: 11.844px;\n\tline-height: 14px;\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n}\n\n.tc-block-tags-dropdown > .tc-btn-invisible:hover {\n\tbackground-color: <<colour primary>>;\n}\n\nbutton.tc-tag-label, span.tc-tag-label {\n\tdisplay: inline-block;\n\tpadding: 0.16em 0.7em;\n\tfont-size: 0.9em;\n\tfont-weight: normal;\n\tline-height: 1.2em;\n\tcolor: <<colour tag-foreground>>;\n\twhite-space: break-spaces;\n\tvertical-align: baseline;\n\tbackground-color: <<colour tag-background>>;\n\tborder-radius: 1em;\n}\n\n.tc-sidebar-scrollable .tc-tag-label {\n\ttext-shadow: none;\n}\n\n.tc-untagged-separator {\n\tborder: 0;\n\theight: 1px;\n\tbackground: <<colour tab-divider>>;\n}\n\nbutton.tc-untagged-label {\n\tbackground-color: <<colour untagged-background>>;\n}\n\n.tc-tag-label svg, .tc-tag-label img {\n\theight: 1em;\n\twidth: 1em;\n\tmargin-right: 3px;\n\tmargin-bottom: 1px;\n\tvertical-align: bottom;\n}\n\n.tc-edit-tags button.tc-remove-tag-button svg {\n\tfont-size: 0.7em;\n\tvertical-align: middle;\n\tcolor: var(--tp-remove-tag-button-color);\n}\n\n.tc-tag-manager-table .tc-tag-label {\n}\n\n.tc-tag-manager-tag {\n\twidth: 100%;\n}\n\nbutton.tc-btn-invisible.tc-remove-tag-button {\n\toutline: none;\n}\n\n.tc-tag-button-selected,\n.tc-list-item-selected a.tc-tiddlylink, a.tc-list-item-selected {\n\tbackground-color: <<colour primary>>;\n\tcolor: <<colour tiddler-background>>;\n}\n\n/*\n** Page layout\n*/\n\n.tc-topbar {\n\tposition: fixed;\n\tz-index: 1200;\n}\n\n.tc-topbar-left {\n\tleft: 29px;\n\ttop: 5px;\n}\n\n.tc-topbar-right {\n\ttop: 5px;\n\tright: 29px;\n}\n\n@media (max-width: <<sidebarbreakpoint-minus-one>>) {\n\n\t.tc-topbar-right {\n\t\tright: 10px;\n\t}\n\n}\n\n.tc-topbar button {\n\tpadding: 8px;\n}\n\n.tc-topbar svg {\n\tcolor: <<colour muted-foreground>>;\n}\n\n.tc-topbar button:hover svg {\n\tcolor: <<colour foreground>>;\n}\n\n@media (max-width: <<sidebarbreakpoint-minus-one>>) {\n\n\t.tc-show-sidebar-btn svg.tc-image-chevron-left, .tc-hide-sidebar-btn svg.tc-image-chevron-right {\n\t\ttransform: rotate(-90deg);\n\t}\n\n}\n\n.tc-sidebar-header {\n\tcolor: <<colour sidebar-foreground>>;\n}\n\n.tc-sidebar-header .tc-title a.tc-tiddlylink-resolves {\n\tfont-weight: normal;\n}\n\n.tc-sidebar-header .tc-sidebar-lists p,\n.tc-sidebar-tools-item {\n\tmargin-top: 3px;\n\tmargin-bottom: 3px;\n}\n\n.tc-sidebar-header .tc-missing-tiddler-label {\n\tcolor: <<colour sidebar-foreground>>;\n}\n\n.tc-advanced-search input {\n\twidth: 60%;\n}\n\n.tc-search a svg {\n\twidth: 1.2em;\n\theight: 1.2em;\n\tvertical-align: middle;\n}\n\n.tc-page-controls {\n\tmargin-top: 14px;\n\tmargin-bottom: 14px;\n\tfont-size: 1.5em;\n}\n\n.tc-page-controls .tc-drop-down {\n\tfont-size: 1rem;\n}\n\n.tc-page-controls button {\n\tmargin-right: 0.5em;\n}\n\n.tc-page-controls a.tc-tiddlylink:hover {\n\ttext-decoration: none;\n}\n\n.tc-page-controls img {\n\twidth: 1em;\n}\n\n.tc-page-controls svg {\n\tcolor: <<colour sidebar-controls-foreground>>;\n}\n\n.tc-page-controls button:hover svg, .tc-page-controls a:hover svg {\n\tcolor: <<colour sidebar-controls-foreground-hover>>;\n}\n\n.tc-sidebar-lists .tc-menu-list-item {\n\twhite-space: nowrap;\n}\n\n.tc-menu-list-count {\n\tfont-weight: bold;\n}\n\n.tc-menu-list-subitem {\n\tpadding-left: 7px;\n}\n\n.tc-story-river {\n\tposition: relative;\n}\n\n@media (max-width: <<sidebarbreakpoint-minus-one>>) {\n\n\t.tc-sidebar-header {\n\t\tpadding: 14px;\n\t\tmin-height: 32px;\n\t\tmargin-top: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\t\ttransition:  min-height {{$:/config/AnimationDuration}}ms ease-in-out, padding-top {{$:/config/AnimationDuration}}ms ease-in-out, padding-bottom {{$:/config/AnimationDuration}}ms ease-in-out;\n\t}\n\n\t<<if-no-sidebar \"\"\"\n\n\t\t.tc-sidebar-header {\n\t\t\tmin-height: 0;\n\t\t\tpadding-top: 0;\n\t\t\tpadding-bottom: 0;\n\t\t}\n\n\t\"\"\">>\n\n\t.tc-story-river {\n\t\tposition: relative;\n\t\tpadding: 0;\n\t}\n}\n\n@media (min-width: <<sidebarbreakpoint>>) {\n\n\t.tc-message-box {\n\t\tmargin: 21px -21px 21px -21px;\n\t}\n\n\t.tc-sidebar-scrollable {\n\t\tposition: fixed;\n\t\ttop: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\t\tinset-inline-start: {{$:/themes/tiddlywiki/vanilla/metrics/storyright}};\n\t\tbottom: 0;\n\t\tinset-inline-end: 0;\n\t\toverflow-y: auto;\n\t\toverflow-x: auto;\n\t\t-webkit-overflow-scrolling: touch;\n\t\tmargin: 0 0 0 -42px;\n\t\tpadding: 71px 0 28px 42px;\n\t}\n\n\t@supports not (inset-inline-start: 0) {\n\t\t.tc-sidebar-scrollable {\n\t\t\tleft: {{$:/themes/tiddlywiki/vanilla/metrics/storyright}};\n\t\t\tright: 0;\n\t\t}\n\n\t\thtml[dir=\"rtl\"] .tc-sidebar-scrollable {\n\t\t\tleft: auto;\n\t\t\tright: {{$:/themes/tiddlywiki/vanilla/metrics/storyright}};\n\t\t}\n\t}\n\n\t.tc-story-river {\n\t\tposition: relative;\n\t\tleft: {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}};\n\t\ttop: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\t\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/storywidth}};\n\t\tpadding: 42px 42px 42px 42px;\n\t}\n\n<<if-no-sidebar \"\n\n\t.tc-story-river {\n\t\twidth: calc(100% - {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}});\n\t}\n\n\">>\n\n\t.tc-story-river.tc-static-story-river {\n\t\tmargin-right: 0;\n\t\tpadding-right: 42px;\n\t}\n\n}\n\n@media print {\n\n\tbody.tc-body {\n\t\tbackground-color: transparent;\n\t}\n\n\t.tc-sidebar-header, .tc-topbar {\n\t\tdisplay: none;\n\t}\n\n\t.tc-story-river {\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t}\n\n\t.tc-story-river .tc-tiddler-frame {\n\t\tmargin: 0;\n\t\tborder: none;\n\t\tpadding: 0;\n\t}\n}\n\n/*\n** Tiddler styles\n*/\n\n.tc-tiddler-frame {\n\tposition: relative;\n\tmargin-bottom: 28px;\n\tbackground-color: <<colour tiddler-background>>;\n\tborder: 1px solid <<colour tiddler-border>>;\n}\n\n{{$:/themes/tiddlywiki/vanilla/sticky}}\n\n.tc-tiddler-info {\n\tpadding: 14px 42px 14px 42px;\n\tbackground-color: <<colour tiddler-info-background>>;\n\tborder-top: 1px solid <<colour tiddler-info-border>>;\n\tborder-bottom: 1px solid <<colour tiddler-info-border>>;\n}\n\n.tc-tiddler-info p {\n\tmargin-top: 3px;\n\tmargin-bottom: 3px;\n}\n\n.tc-tiddler-info .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour tiddler-info-tab-background>>;\n\tborder-bottom: 1px solid <<colour tiddler-info-tab-background>>;\n}\n\n@media (max-width: <<sidebarbreakpoint-minus-one>>) {\n\n\t.tc-tiddler-info {\n\t\tpadding: 14px 14px 14px 14px;\n\t}\n\n}\n\n.tc-tiddler-info-controls {\n\tposition: absolute;\n\tinset-inline-end: 0;\n}\n\n.tc-view-field-table {\n\twidth: 100%;\n}\n\n.tc-view-field-name {\n\twidth: 1%; /* Makes this column be as narrow as possible */\n\tvertical-align: top;\n\ttext-align: right;\n\tfont-style: italic;\n\tfont-weight: normal;\n}\n\n.tc-view-field-value {\n\tword-break: break-all;\n}\n\n@media (max-width: <<sidebarbreakpoint-minus-one>>) {\n\t.tc-tiddler-frame {\n\t\tpadding: 14px 14px 14px 14px;\n\t\tmargin-bottom: .5em;\n\t}\n\n\t.tc-tiddler-info {\n\t\tmargin: 0 -14px 0 -14px;\n\t}\n}\n\n@media (min-width: <<sidebarbreakpoint>>) {\n\t.tc-tiddler-frame {\n\t\tpadding: 28px 42px 42px 42px;\n\t\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth}};\n\t\tborder-radius: 2px;\n\t}\n\n<<if-no-sidebar \"\n\n\t.tc-tiddler-frame {\n\t\twidth: 100%;\n\t}\n\n\">>\n\n\t.tc-tiddler-info {\n\t\tmargin: 0 -42px 0 -42px;\n\t}\n}\n\n.tc-site-title,\n.tc-titlebar {\n\tfont-weight: normal;\n\tfont-size: 2.35em;\n\tline-height: 1.35em;\n\tcolor: <<colour tiddler-title-foreground>>;\n\tmargin: 0;\n}\n\n.tc-site-title {\n\tcolor: <<colour site-title-foreground>>;\n}\n\n.tc-tiddler-title-icon {\n\tvertical-align: middle;\n\t<<margin-end \".1em\">>\n}\n\n.tc-tiddler-title-icon svg {\n\twidth: 0.9em;\n\theight: 0.9em;\n}\n\n.tc-system-title-prefix {\n\tcolor: <<colour muted-foreground>>;\n}\n\n.tc-tiddler-lazy-loading {\n\theight: 4px;\n\twidth: 100%;\n\tbackground: no-repeat linear-gradient(<<colour background>> 0 0),no-repeat linear-gradient(<<colour background>> 0 0),<<colour primary>>;\n\tbackground-size: 60% 100%;\n\tanimation: animation-loading-progress 3s infinite;\n}\n\n@keyframes animation-loading-progress {\n\t0%   {background-position:-150% 0,-150% 0}\n\t66%  {background-position: 250% 0,-150% 0}\n\t100% {background-position: 250% 0, 250% 0}\n}\n\n.tc-titlebar h2 {\n\tfont-size: 1em;\n\tdisplay: inline;\n}\n\n.tc-titlebar img {\n\theight: 1em;\n}\n\n.tc-subtitle {\n\tfont-size: 0.9em;\n\tcolor: <<colour tiddler-subtitle-foreground>>;\n\tfont-weight: normal;\n}\n\n.tc-subtitle .tc-tiddlylink {\n\tmargin-right: .3em;\n}\n\n.tc-tiddler-missing .tc-title {\n\tfont-style: italic;\n\tfont-weight: normal;\n}\n\n.tc-tiddler-frame .tc-tiddler-controls {\n\tfloat: inline-end;\n\tpadding: 3px; /* make space for outline */\n}\n\n.tc-tiddler-controls .tc-drop-down {\n\tfont-size: 0.6em;\n}\n\n.tc-tiddler-controls .tc-drop-down .tc-drop-down {\n\tfont-size: 1em;\n}\n\n.tc-tiddler-controls > span > button,\n.tc-tiddler-controls > span > span > button,\n.tc-tiddler-controls > span > span > span > button {\n\tvertical-align: baseline;\n\tmargin-left:5px;\n}\n\n.tc-tiddler-controls button svg, .tc-tiddler-controls button img,\n.tc-search button svg, .tc-search a svg {\n\tcolor: <<colour tiddler-controls-foreground>>;\n}\n\n.tc-tiddler-controls button svg, .tc-tiddler-controls button img {\n\theight: 0.75em;\n}\n\n.tc-search button svg, .tc-search a svg {\n\theight: 1.2em;\n\twidth: 1.2em;\n\tmargin: 0 0.25em;\n}\n\n.tc-tiddler-controls button.tc-selected svg,\n.tc-page-controls button.tc-selected svg  {\n\tcolor: <<colour tiddler-controls-foreground-selected>>;\n}\n\n.tc-tiddler-controls button.tc-btn-invisible:hover svg,\n.tc-search button:hover svg, .tc-search a:hover svg {\n\tcolor: <<colour tiddler-controls-foreground-hover>>;\n}\n\n@media print {\n\t.tc-tiddler-controls {\n\t\tdisplay: none;\n\t}\n}\n\n.tc-tiddler-help { /* Help prompts within tiddler template */\n\tcolor: <<colour muted-foreground>>;\n\tmargin-top: 14px;\n}\n\n.tc-tiddler-help a.tc-tiddlylink {\n\tcolor: <<colour very-muted-foreground>>;\n}\n\n.tc-tiddler-frame .tc-edit-texteditor {\n\twidth: 100%;\n\tmargin: 4px 0 4px 0;\n}\n\n.tc-tiddler-frame input.tc-edit-texteditor,\n.tc-tiddler-frame textarea.tc-edit-texteditor,\n.tc-tiddler-frame iframe.tc-edit-texteditor,\n.tc-tiddler-frame select.tc-edit-texteditor {\n\tpadding: 3px 3px 3px 3px;\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tline-height: 1.3em;\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/editorfontfamily}};\n}\n\n.tc-tiddler-frame input.tc-edit-texteditor,\n.tc-tiddler-frame textarea.tc-edit-texteditor,\n.tc-tiddler-frame iframe.tc-edit-texteditor {\n\t-webkit-appearance: none;\n}\n\n.tc-tiddler-frame input.tc-edit-texteditor,\n.tc-tiddler-frame select.tc-edit-texteditor,\n.tc-tiddler-frame textarea.tc-edit-texteditor {\n\tbackground-color: <<colour tiddler-editor-background>>;\n}\n\n.tc-tiddler-frame iframe.tc-edit-texteditor {\n\tbackground-color: <<colour tiddler-background>>;\n}\n\n.tc-tiddler-frame .tc-edit-fields input.tc-edit-fieldeditor,\n.tc-tiddler-frame .tc-edit-fields select.tc-edit-fieldeditor,\n.tc-tiddler-frame .tc-edit-fields textarea.tc-edit-fieldeditor {\n\tmargin: 0;\n\tpadding: 2px 3px;\n}\n\n.tc-tiddler-frame .tc-binary-warning {\n\twidth: 100%;\n\theight: 5em;\n\ttext-align: center;\n\tpadding: 3em 3em 6em 3em;\n\tbackground: <<colour alert-background>>;\n\tborder: 1px solid <<colour alert-border>>;\n}\n\ncanvas.tc-edit-bitmapeditor  {\n\tborder: 6px solid <<colour tiddler-editor-border-image>>;\n\tcursor: crosshair;\n\t-moz-user-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n\tmargin-top: 6px;\n\tmargin-bottom: 6px;\n}\n\n.tc-edit-bitmapeditor-width {\n\tdisplay: block;\n}\n\n.tc-edit-bitmapeditor-height {\n\tdisplay: block;\n}\n\n.tc-single-tiddler-window .tc-tiddler-body,\n.tc-tiddler-frame .tc-tiddler-body {\n\tfont-size: {{$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize}};\n\tline-height: {{$:/themes/tiddlywiki/vanilla/metrics/bodylineheight}};\n}\n\n.tc-titlebar, .tc-tiddler-edit-title {\n\toverflow: hidden; /* https://github.com/TiddlyWiki/TiddlyWiki5/issues/282 */\n}\n\n/*\n* Tiddler in a new window.\n* Also see: .tc-single-tiddler-window .tc-tiddler-body, above\n*/\n\nhtml body.tc-body.tc-single-tiddler-window {\n\tmargin: 1em;\n\tbackground: <<colour tiddler-background>>;\n}\n\n.tc-single-tiddler-window img,\n.tc-single-tiddler-window svg,\n.tc-single-tiddler-window canvas,\n.tc-single-tiddler-window embed,\n.tc-single-tiddler-window iframe {\n\tmax-width: 100%;\n}\n\n/*\n** Editor\n*/\n\n.tc-editor-toolbar {\n\tmargin-top: 8px;\n}\n\n.tc-tiddler-frame .tc-tiddler-editor.tc-tiddler-preview .tc-editor-toolbar,\n.tc-tiddler-frame .tc-tiddler-editor.tc-tiddler-preview-hidden .tc-editor-toolbar {\n\tgrid-area: toolbar;\n}\n\n.tc-editor-toolbar button {\n\tvertical-align: middle;\n\tbackground-color: <<colour tiddler-controls-foreground>>;\n\tcolor: <<colour tiddler-controls-foreground-selected>>;\n\tborder-radius: 4px;\n\tpadding: 3px;\n\tmargin: 2px 0 2px 4px;\n}\n\n.tc-editor-toolbar button.tc-text-editor-toolbar-item-adjunct {\n\tmargin-left: 1px;\n\twidth: 1em;\n\tborder-radius: 8px;\n}\n\n.tc-editor-toolbar button.tc-text-editor-toolbar-item-start-group {\n\tmargin-left: 11px;\n}\n\n.tc-editor-toolbar button.tc-selected {\n\tbackground-color: <<colour primary>>;\n}\n\n.tc-editor-toolbar button svg {\n\twidth: 1.6em;\n\theight: 1.2em;\n}\n\n.tc-editor-toolbar .tc-drop-down button.tc-btn-mini {\n\tpadding: 2px 4px;\n}\n\n.tc-editor-toolbar button:hover {\n\tbackground-color: <<colour tiddler-controls-foreground-selected>>;\n\tcolor: <<colour background>>;\n}\n\n.tc-editor-toolbar .tc-text-editor-toolbar-more {\n\twhite-space: normal;\n}\n\n.tc-editor-toolbar .tc-text-editor-toolbar-more button {\n\tdisplay: inline-block;\n\tpadding: 3px;\n\twidth: auto;\n}\n\n.tc-editor-toolbar .tc-search-results {\n\tpadding: 0;\n}\n\n.tc-editor-toolbar button.tc-editortoolbar-stamp-button + .tc-popup .tc-drop-down > p {\n\tmargin: 0;\n\tpadding: 0;\n}\n\n.tc-editor-toolbar button.tc-editortoolbar-stamp-button + .tc-popup .tc-drop-down a.tc-tiddlylink {\n\tfont-weight: normal;\n}\n\n/*\n** Adjustments for fluid-fixed mode\n*/\n\n@media (min-width: <<sidebarbreakpoint>>) {\n\n<<if-fluid-fixed text:\"\"\"\n\n\t.tc-story-river {\n\t\tpadding-right: 0;\n\t\tposition: relative;\n\t\twidth: auto;\n\t\tleft: 0;\n\t\tmargin-left: {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}};\n\t\tmargin-right: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth}};\n\t}\n\n\t.tc-tiddler-frame {\n\t\twidth: 100%;\n\t}\n\n\t.tc-sidebar-scrollable {\n\t\tleft: auto;\n\t\tbottom: 0;\n\t\tright: 0;\n\t\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth}};\n\t}\n\n\tbody.tc-body .tc-page-container.tc-page-view-zoomin .tc-tiddler-frame {\n\t\twidth: 100%;\n\t\twidth: calc(100% - 42px);\n\t}\n\n\"\"\" hiddenSidebarText:\"\"\"\n\n\t.tc-story-river {\n\t\tpadding-right: 3em;\n\t\tmargin-right: 0;\n\t}\n\n\tbody.tc-body .tc-page-container.tc-page-view-zoomin .tc-tiddler-frame {\n\t\twidth: 100%;\n\t\twidth: calc(100% - 84px);\n\t}\n\n\"\"\">>\n\n}\n\n/*\n** Toolbar buttons\n*/\n\n.tc-page-controls svg.tc-image-new-button {\n\tcolor: <<colour toolbar-new-button>>;\n}\n\n.tc-page-controls svg.tc-image-options-button {\n\tcolor: <<colour toolbar-options-button>>;\n}\n\n.tc-page-controls svg.tc-image-save-button {\n\tcolor: <<colour toolbar-save-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-info-button {\n\tcolor: <<colour toolbar-info-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-edit-button {\n\tcolor: <<colour toolbar-edit-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-close-button {\n\tcolor: <<colour toolbar-close-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-delete-button {\n\tcolor: <<colour toolbar-delete-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-cancel-button {\n\tcolor: <<colour toolbar-cancel-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-done-button {\n\tcolor: <<colour toolbar-done-button>>;\n}\n\n.tc-page-controls svg.tc-image-layout-button {\n\tcolor: <<colour toolbar-options-button>>;\n}\n\n/*\n** Tiddler edit mode\n*/\n\n.tc-tiddler-edit-frame em.tc-edit {\n\tcolor: <<colour muted-foreground>>;\n\tfont-style: normal;\n}\n\n.tc-edit-type-dropdown a.tc-tiddlylink-missing {\n\tfont-style: normal;\n}\n\n.tc-type-selector .tc-edit-typeeditor {\n\twidth: auto;\n}\n\n.tc-type-selector-dropdown-wrapper {\n\tdisplay: inline-block;\n}\n\n<<set-type-selector-min-width>>\n\n.tc-edit-tags {\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tpadding: 4px 8px 4px 8px;\n}\n\n.tc-edit-add-tag {\n\tdisplay: inline-block;\n}\n\n.tc-edit-add-tag .tc-add-tag-name input {\n\twidth: 50%;\n}\n\n.tc-edit-add-tag .tc-keyboard {\n\tdisplay:inline;\n}\n\n.tc-edit-tags .tc-tag-label {\n\tdisplay: inline-block;\n}\n\n.tc-edit-tags-list {\n\tmargin: 14px 0 14px 0;\n}\n\n.tc-remove-tag-button {\n\tpadding-left: 4px;\n}\n\n.tc-tiddler-editor {\n\tdisplay: grid;\n}\n\n.tc-tiddler-frame .tc-tiddler-editor.tc-tiddler-preview {\n\tgrid-template-areas:\n\t\t\"toolbar toolbar\"\n\t\t\"editor preview\";\n\tgrid-template-columns: repeat(2, minmax(0px, 1fr));\n\tgrid-template-rows: auto 1fr;\n}\n\n.tc-tiddler-frame .tc-tiddler-editor.tc-tiddler-preview-hidden {\n\tgrid-template-areas:\n\t\t\"toolbar\"\n\t\t\"editor\";\n\tgrid-template-columns: 1fr;\n\tgrid-template-rows: auto 1fr;\n}\n\n.tc-tiddler-frame .tc-tiddler-editor.tc-tiddler-preview .tc-tiddler-preview-preview {\n\tgrid-area: preview;\n\toverflow-wrap: anywhere;\n\tword-break: normal;\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tmargin: 4px 0 3px 3px;\n\tpadding: 3px 3px 3px 3px;\n}\n\n<<if-editor-height-fixed then:\"\"\"\n\n.tc-tiddler-preview-preview {\n\toverflow-y: scroll;\n\theight: {{$:/config/TextEditor/EditorHeight/Height}};\n}\n\n\"\"\">>\n\n.tc-tiddler-frame .tc-tiddler-editor.tc-tiddler-preview .tc-edit-texteditor,\n.tc-tiddler-frame .tc-tiddler-editor.tc-tiddler-preview-hidden .tc-edit-texteditor {\n\tgrid-area: editor;\n}\n\n.tc-tiddler-frame .tc-tiddler-editor.tc-tiddler-preview canvas.tc-edit-bitmapeditor,\n.tc-tiddler-frame .tc-tiddler-editor.tc-tiddler-preview-hidden canvas.tc-edit-bitmapeditor {\n\tgrid-area: editor;\n\tmax-width: 100%;\n}\n\n.tc-edit-fields {\n\twidth: 100%;\n}\n\n.tc-edit-fields.tc-edit-fields-small {\n\tmargin-top: 0;\n\tmargin-bottom: 0;\n}\n\n.tc-edit-fields table, .tc-edit-fields tr, .tc-edit-fields td {\n\tborder: none;\n\tpadding: 4px;\n}\n\n.tc-edit-fields > tbody > .tc-edit-field:nth-child(odd) {\n\tbackground-color: <<colour tiddler-editor-fields-odd>>;\n}\n\n.tc-edit-fields > tbody > .tc-edit-field:nth-child(even) {\n\tbackground-color: <<colour tiddler-editor-fields-even>>;\n}\n\n.tc-edit-field-name {\n\ttext-align: right;\n}\n\n.tc-edit-field-value input {\n\twidth: 100%;\n}\n\n.tc-edit-field-remove {\n}\n\n.tc-edit-field-remove svg {\n\theight: 1em;\n\twidth: 1em;\n\tcolor: <<colour muted-foreground>>;\n\tvertical-align: middle;\n}\n\n.tc-edit-field-add-name-wrapper input.tc-edit-texteditor {\n\twidth: auto;\n}\n\n.tc-edit-field-add-name-wrapper {\n\tdisplay: inline-block;\n}\n\n.tc-edit-field-add-value {\n\tdisplay: inline-block;\n}\n\n@media (min-width: <<sidebarbreakpoint>>) {\n\n\t.tc-edit-field-add-value {\n\t\twidth: 35%;\n\t}\n\n}\n\n.tc-edit-field-add-button {\n\tdisplay: inline-block;\n\twidth: 10%;\n}\n\n\n/*\n** Tiddler editor dropzone\n*/\n\n.tc-dropzone-editor {\n\tposition:relative;\n}\n\n.tc-dropzone-editor.tc-dragover .tc-editor-toolbar::after{\n\tz-index: 10000;\n\ttop:0;\n\tleft:0;\n\tright:0;\n\theight: 100%;\n\tbackground: <<colour dropzone-background>>;\n\tcontent: \"<<lingo DropMessage>>\";\n\tpointer-events: none;\n\tposition: absolute;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbackground-color: <<color background>>;\n\tborder: 4px dashed <<color modal-border>>;\n\tfont-weight: bold;\n\tfont-size: 150%;\n\topacity: 0.8;\n\tcolor: <<color foreground>>;\n}\n\n.tc-editor-importpopup {\n\twidth: 100%;\n\theight: 100%;\n}\n\n.tc-editor-import {\n\tposition: absolute;\n\ttop: 50%;\n\tleft: 50%;\n\ttransform: translate(-50%, -50%);\n\tbackground: <<color pre-background>>;\n\tbox-shadow: 2px 2px 10px <<colour foreground>>;\n\tpadding: 10px;\n\twidth: 96%;\n\tborder: 1px solid <<color tiddler-controls-foreground>>;\n\ttext-align:center;\n}\n\n.tc-editor-import img {\n\tmax-height: 500px;\n}\n\n/*\n** Storyview Classes\n*/\n\n.tc-viewswitcher .tc-image-button {\n\t<<margin-end \".3em\">>\n}\n\n.tc-page-container.tc-page-view-zoomin .tc-tiddler-frame {\n\tposition: absolute;\n\tdisplay: block;\n\twidth: 100%;\n}\n\n@media (min-width: <<sidebarbreakpoint>>) {\n\n\t.tc-page-container.tc-page-view-zoomin .tc-tiddler-frame {\n\t\twidth: calc(100% - 84px);\n\t}\n\n}\n\n/*\n** Dropdowns\n*/\n\n.tc-btn-dropdown {\n\ttext-align: left;\n}\n\n.tc-btn-dropdown svg, .tc-btn-dropdown img {\n\theight: 1em;\n\twidth: 1em;\n\tcolor: <<colour muted-foreground>>;\n}\n\n.tc-drop-down-wrapper {\n\tposition: relative;\n}\n\n.tc-drop-down {\n\tmin-width: 380px;\n\tborder: 1px solid <<colour dropdown-border>>;\n\tbackground-color: <<colour dropdown-background>>;\n\tpadding: 7px 0 7px 0;\n\tmargin: 4px 0 0 0;\n\twhite-space: nowrap;\n\ttext-shadow: none;\n\tline-height: 1.4;\n}\n\n.tc-drop-down .tc-drop-down {\n\tmargin-left: 14px;\n}\n\n.tc-drop-down button svg, .tc-drop-down a svg  {\n\tcolor: <<colour foreground>>;\n}\n\n.tc-drop-down button:disabled svg {\n\tcolor: <<colour muted-foreground>>;\n}\n\n.tc-drop-down button.tc-btn-invisible:hover svg {\n\tcolor: <<colour background>>;\n}\n\n.tc-drop-down .tc-drop-down-info {\n\tpadding-left: 14px;\n}\n\n.tc-drop-down p {\n\tpadding: 0 14px 0 14px;\n}\n\n.tc-drop-down svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\n.tc-drop-down img {\n\twidth: 1em;\n}\n\n.tc-drop-down a, .tc-drop-down button {\n\tdisplay: block;\n\tpadding: 0 14px 0 14px;\n\twidth: 100%;\n\ttext-align: start;\n\tcolor: <<colour foreground>>;\n\tline-height: 1.4;\n}\n\n.tc-drop-down .tc-tab-set .tc-tab-buttons button {\n\tdisplay: inline-block;\n\twidth: auto;\n\tmargin-bottom: 0px;\n\tborder-bottom-left-radius: 0;\n\tborder-bottom-right-radius: 0;\n}\n\n.tc-drop-down .tc-prompt {\n\tpadding: 0 14px;\n}\n\n.tc-drop-down .tc-chooser {\n\tborder: none;\n}\n\n.tc-drop-down .tc-chooser .tc-swatches-horiz {\n\tfont-size: 0.4em;\n\tpadding-left: 1.2em;\n}\n\n.tc-drop-down .tc-file-input-wrapper {\n\twidth: 100%;\n}\n\n.tc-drop-down .tc-file-input-wrapper button {\n\tcolor: <<colour foreground>>;\n}\n\n.tc-drop-down a:hover, .tc-drop-down button:hover, .tc-drop-down .tc-file-input-wrapper:hover button {\n\tcolor: <<colour tiddler-link-background>>;\n\tbackground-color: <<colour tiddler-link-foreground>>;\n\ttext-decoration: none;\n}\n\n.tc-drop-down .tc-tab-buttons button {\n\tbackground-color: <<colour dropdown-tab-background>>;\n}\n\n.tc-drop-down .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour dropdown-tab-background-selected>>;\n\tborder-bottom: 1px solid <<colour dropdown-tab-background-selected>>;\n}\n\n.tc-drop-down-bullet {\n\tdisplay: inline-block;\n\twidth: 0.5em;\n}\n\n.tc-drop-down .tc-tab-contents a {\n\tpadding: 0 0.5em 0 0.5em;\n}\n\n.tc-block-dropdown-wrapper {\n\tposition: relative;\n}\n\n.tc-block-dropdown {\n\tposition: absolute;\n\tmin-width: 220px;\n\tborder: 1px solid <<colour dropdown-border>>;\n\tbackground-color: <<colour dropdown-background>>;\n\tpadding: 7px 0;\n\tmargin: 4px 0 0 0;\n\twhite-space: nowrap;\n\tz-index: 1000;\n\ttext-shadow: none;\n}\n\n.tc-block-dropdown.tc-search-drop-down {\n\tmargin-left: -12px;\n}\n\n.tc-block-dropdown a {\n\tdisplay: block;\n\tpadding: 4px 14px 4px 14px;\n}\n\n.tc-block-dropdown.tc-search-drop-down a {\n\tdisplay: block;\n\tpadding: 0px 10px 0px 10px;\n}\n\n.tc-drop-down .tc-dropdown-item-plain,\n.tc-block-dropdown .tc-dropdown-item-plain {\n\tpadding: 4px 14px 4px 7px;\n}\n\n.tc-drop-down .tc-dropdown-item,\n.tc-block-dropdown .tc-dropdown-item {\n\tpadding: 4px 14px 4px 7px;\n\tcolor: <<colour muted-foreground>>;\n}\n\n.tc-block-dropdown a.tc-tiddlylink:hover {\n\tcolor: <<colour tiddler-link-background>>;\n\tbackground-color: <<colour tiddler-link-foreground>>;\n\ttext-decoration: none;\n}\n\n.tc-search-results {\n\tpadding: 0 7px 0 7px;\n}\n\n.tc-image-chooser, .tc-colour-chooser {\n\twhite-space: normal;\n}\n\n.tc-image-chooser a,\n.tc-colour-chooser a {\n\tdisplay: inline-block;\n\tvertical-align: top;\n\ttext-align: center;\n\tposition: relative;\n}\n\n.tc-image-chooser a {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tpadding: 2px;\n\tmargin: 2px;\n\twidth: 4em;\n\theight: 4em;\n}\n\n.tc-colour-chooser a {\n\tpadding: 3px;\n\twidth: 2em;\n\theight: 2em;\n\tvertical-align: middle;\n}\n\n.tc-image-chooser a:hover,\n.tc-colour-chooser a:hover {\n\tbackground: <<colour primary>>;\n\tpadding: 0px;\n\tborder: 3px solid <<colour primary>>;\n}\n\n.tc-image-chooser a svg,\n.tc-image-chooser a img {\n\tdisplay: inline-block;\n\twidth: auto;\n\theight: auto;\n\tmax-width: 3.5em;\n\tmax-height: 3.5em;\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n\tmargin: auto;\n}\n\n/* Make search dropdown visible on small screens. issue #7003 */\n@media (max-width: <<sidebarbreakpoint>>) {\n\n\t.tc-sidebar-search .tc-block-dropdown-wrapper {\n\t\tposition: initial;\n\t}\n\n}\n\n/*\n** Modals\n*/\n\n.tc-modal-wrapper {\n\tposition: fixed;\n\toverflow: auto;\n\toverflow-y: scroll;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\tleft: 0;\n\tz-index: 900;\n}\n\n.tc-modal-backdrop {\n\tposition: fixed;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\tleft: 0;\n\tz-index: 1000;\n\tbackground-color: <<colour modal-backdrop>>;\n}\n\n.tc-modal {\n\tz-index: 1100;\n\tbackground-color: <<colour modal-background>>;\n\tborder: 1px solid <<colour modal-border>>;\n}\n\n@media (max-width: 55em) {\n\t.tc-modal {\n\t\tposition: fixed;\n\t\ttop: 1em;\n\t\tleft: 1em;\n\t\tright: 1em;\n\t}\n\n\t.tc-modal-body {\n\t\toverflow-y: auto;\n\t\tmax-height: 400px;\n\t\tmax-height: 60vh;\n\t}\n}\n\n@media (min-width: 55em) {\n\t.tc-modal {\n\t\tposition: fixed;\n\t\ttop: 2em;\n\t\tleft: 25%;\n\t\twidth: 50%;\n\t}\n\n\t.tc-modal-body {\n\t\toverflow-y: auto;\n\t\tmax-height: 400px;\n\t\tmax-height: 60vh;\n\t}\n}\n\n.tc-modal-header {\n\tpadding: 9px 15px;\n\tborder-bottom: 1px solid <<colour modal-header-border>>;\n}\n\n.tc-modal-header h3 {\n\tmargin: 0;\n\tline-height: 30px;\n}\n\n.tc-modal-header img, .tc-modal-header svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\n.tc-modal-body {\n\tpadding: 15px;\n}\n\n.tc-modal-footer {\n\tpadding: 14px 15px 15px;\n\tmargin-bottom: 0;\n\ttext-align: right;\n\tbackground-color: <<colour modal-footer-background>>;\n\tborder-top: 1px solid <<colour modal-footer-border>>;\n}\n\n.tc-modal-prevent-scroll {\n\toverflow: hidden;\n}\n\n/*\n** Centered modals\n*/\n.tc-modal-centered .tc-modal {\n\twidth: auto;\n\ttop: 50%;\n\tleft: 50%;\n\ttransform: translate(-50%, -50%) !important;\n}\n\n/*\n** Notifications\n*/\n\n.tc-notification {\n\tposition: fixed;\n\ttop: 14px;\n\tright: 42px;\n\tz-index: 1300;\n\tmax-width: 280px;\n\tpadding: 0 14px 0 14px;\n\tbackground-color: <<colour notification-background>>;\n\tborder: 1px solid <<colour notification-border>>;\n}\n\n/*\n** Tabs\n*/\n\n.tc-tab-set.tc-vertical {\n\tdisplay: -webkit-flex;\n\tdisplay: flex;\n}\n\n.tc-tab-buttons {\n\tfont-size: 0.85em;\n\tpadding-top: 1em;\n\tmargin-bottom: -2px;\n}\n\n.tc-tab-buttons.tc-vertical  {\n\tz-index: 100;\n\tdisplay: block;\n\tpadding-top: 14px;\n\tvertical-align: top;\n\ttext-align: end;\n\tmargin-bottom: inherit;\n\tmargin-right: -1px;\n\tmax-width: 33%;\n\t-webkit-flex: 0 0 auto;\n\tflex: 0 0 auto;\n}\n\n.tc-tab-buttons button.tc-tab-selected {\n\tcolor: <<colour tab-foreground-selected>>;\n\tbackground-color: <<colour tab-background-selected>>;\n\tborder-left: 1px solid <<colour tab-border-selected>>;\n\tborder-top: 1px solid <<colour tab-border-selected>>;\n\tborder-right: 1px solid <<colour tab-border-selected>>;\n}\n\n.tc-tab-buttons button {\n\tcolor: <<colour tab-foreground>>;\n\tpadding: 3px 5px 3px 5px;\n\tmargin-right: 0.3em;\n\tfont-weight: normal;\n\tborder: none;\n\tbackground: inherit;\n\tbackground-color: <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-right: 1px solid <<colour tab-border>>;\n\tborder-top-left-radius: 2px;\n\tborder-top-right-radius: 2px;\n\tborder-bottom-left-radius: 0;\n\tborder-bottom-right-radius: 0;\n}\n\n.tc-tab-buttons.tc-vertical button {\n\tdisplay: block;\n\twidth: 100%;\n\tmargin-top: 3px;\n\tmargin-right: 0;\n\ttext-align: end;\n\tbackground-color: <<colour tab-background>>;\n\tborder-inline-start: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n\tborder-inline-end: none;\n\tborder-start-start-radius: 2px;\n\tborder-end-start-radius: 2px;\n\tborder-start-end-radius: 0;\n\tborder-end-end-radius: 0;\n}\n\n.tc-tab-buttons.tc-vertical button.tc-tab-selected {\n\tbackground-color: <<colour tab-background-selected>>;\n\tborder-inline-end: 1px solid <<colour tab-background-selected>>;\n}\n\n.tc-tab-divider {\n\tborder-top: 1px solid <<colour tab-divider>>;\n}\n\n.tc-tab-divider.tc-vertical  {\n\tdisplay: none;\n}\n\n.tc-tab-content {\n\tmargin-top: 14px;\n}\n\n.tc-tab-content.tc-vertical  {\n\tdisplay: inline-block;\n\tvertical-align: top;\n\tpadding-top: 0;\n\t<<padding-start 14px>>\n\tborder-inline-start: 1px solid <<colour tab-border>>;\n\t-webkit-flex: 1 0 70%;\n\tflex: 1 0 70%;\n\toverflow: auto;\n}\n\n.tc-sidebar-lists .tc-tab-buttons {\n\tmargin-bottom: -1px;\n}\n\n.tc-sidebar-lists .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour sidebar-tab-background-selected>>;\n\tcolor: <<colour sidebar-tab-foreground-selected>>;\n\tborder-left: 1px solid <<colour sidebar-tab-border-selected>>;\n\tborder-top: 1px solid <<colour sidebar-tab-border-selected>>;\n\tborder-right: 1px solid <<colour sidebar-tab-border-selected>>;\n}\n\n.tc-sidebar-lists .tc-tab-buttons button {\n\tbackground-color: <<colour sidebar-tab-background>>;\n\tcolor: <<colour sidebar-tab-foreground>>;\n\tborder-left: 1px solid <<colour sidebar-tab-border>>;\n\tborder-top: 1px solid <<colour sidebar-tab-border>>;\n\tborder-right: 1px solid <<colour sidebar-tab-border>>;\n}\n\n.tc-sidebar-lists .tc-tab-divider {\n\tborder-top: 1px solid <<colour sidebar-tab-divider>>;\n}\n\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button {\n\tdisplay: block;\n\twidth: 100%;\n\tbackground-color: <<colour sidebar-tab-background>>;\n\tborder-top: none;\n\tborder-left: none;\n\tborder-bottom: none;\n\tborder-right: 1px solid #ccc;\n\tmargin-bottom: inherit;\n}\n\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button.tc-tab-selected {\n\tbackground-color: <<colour sidebar-tab-background-selected>>;\n\tborder: none;\n}\n\n/*\n** Manager\n*/\n\n.tc-manager-wrapper {\n\n}\n\n.tc-manager-controls {\n\n}\n\n.tc-manager-control {\n\tmargin: 0.5em 0;\n}\n\n.tc-manager-control select {\n\tmax-width: 100%;\n}\n\n.tc-manager-list {\n\twidth: 100%;\n\tborder-top: 1px solid <<colour muted-foreground>>;\n\tborder-left: 1px solid <<colour muted-foreground>>;\n\tborder-right: 1px solid <<colour muted-foreground>>;\n}\n\n.tc-manager-list-item {\n\n}\n\n.tc-manager-list-item-heading {\n\tdisplay: block;\n\twidth: 100%;\n\ttext-align: left;\n\tborder-bottom: 1px solid <<colour muted-foreground>>;\n\tpadding: 3px;\n}\n\n.tc-manager-list-item-heading-selected {\n\tfont-weight: bold;\n\tcolor: <<colour background>>;\n\tbackground-color: <<colour foreground>>;\n}\n\n.tc-manager-list-item-heading:hover {\n\tbackground: <<colour primary>>;\n\tcolor: <<colour background>>;\n}\n\n.tc-manager-list-item-content {\n\tdisplay: flex;\n}\n\n.tc-manager-list-item-content-sidebar {\n\tflex: 1 0;\n\tbackground: <<colour tiddler-editor-background>>;\n\tborder-right: 0.5em solid <<colour muted-foreground>>;\n\tborder-bottom: 0.5em solid <<colour muted-foreground>>;\n\twhite-space: nowrap;\n}\n\n.tc-manager-list-item-content-item-heading {\n\tdisplay: block;\n\twidth: 100%;\n\ttext-align: left;\n\tbackground: <<colour muted-foreground>>;\n\ttext-transform: uppercase;\n\tfont-size: 0.6em;\n\tfont-weight: bold;\n\tpadding: 0.5em 0 0.5em 0;\n}\n\n.tc-manager-list-item-content-item-body {\n\tpadding: 0 0.5em 0 0.5em;\n}\n\n.tc-manager-list-item-content-item-body > pre {\n\tmargin: 0.5em 0 0.5em 0;\n\tborder: none;\n\tbackground: inherit;\n}\n\n.tc-manager-list-item-content-tiddler {\n\tflex: 3 1;\n\tborder-left: 0.5em solid <<colour muted-foreground>>;\n\tborder-right: 0.5em solid <<colour muted-foreground>>;\n\tborder-bottom: 0.5em solid <<colour muted-foreground>>;\n}\n\n.tc-manager-list-item-content-item-body > table {\n\tborder: none;\n\tpadding: 0;\n\tmargin: 0;\n}\n\n.tc-manager-list-item-content-item-body > table td {\n\tborder: none;\n}\n\n.tc-manager-icon-editor > button {\n\twidth: 100%;\n}\n\n.tc-manager-icon-editor > button > svg,\n.tc-manager-icon-editor > button > button {\n\twidth: 100%;\n\theight: auto;\n}\n\n/*\n** Import table\n*/\n\n.tc-import-option {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 0.5em;\n\tmargin: 0.5em 0;\n\tpadding: 0.5em;\n\tbackground: <<colour tiddler-editor-background>>;\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tborder-radius: 4px;\n}\n\n.tc-import-table {\n\twidth: 100%;\n}\n\n.tc-import-table svg.tc-image-edit-button {\n\tmax-width: unset;\n}\n\n.tc-import-table th:first-of-type {\n\twidth: 10%;\n}\n\n.tc-import-table th:last-of-type {\n\twidth: 30%;\n}\n\n.tc-import-table .tc-row-disabled {\n\tbackground: <<colour very-muted-foreground>>10;\n\topacity: 0.8;\n}\n\n.tc-import-table .tc-row-warning {\n\tbackground: <<colour diff-delete-background>>50;\n}\n\n/*\n** Alerts\n*/\n\n.tc-alerts {\n\tposition: fixed;\n\ttop: 28px;\n\tleft: 0;\n\tright: 0;\n\tmax-width: 50%;\n\tz-index: 20000;\n}\n\n.tc-alert {\n\tposition: relative;\n\tmargin: 14px;\n\tpadding: 7px;\n\tborder: 1px solid <<colour alert-border>>;\n\tbackground-color: <<colour alert-background>>;\n}\n\n.tc-alert-toolbar {\n\tposition: absolute;\n\ttop: 7px;\n\tinset-inline-end: 7px;\n\tline-height: 0;\n}\n\n.tc-alert-toolbar svg {\n\tcolor: <<colour alert-muted-foreground>>;\n}\n\n.tc-alert-subtitle {\n\tcolor: <<colour alert-muted-foreground>>;\n\tfont-weight: bold;\n\tfont-size: 0.8em;\n\tmargin-bottom: 0.5em;\n}\n\n.tc-alert-body > p {\n\tmargin: 0;\n}\n\n.tc-alert-highlight {\n\tcolor: <<colour alert-highlight>>;\n}\n\n@media (min-width: <<sidebarbreakpoint>>) {\n\n\t.tc-static-alert {\n\t\tposition: relative;\n\t}\n\n\t.tc-static-alert-inner {\n\t\tposition: absolute;\n\t\tz-index: 100;\n\t}\n\n}\n\n.tc-static-alert-inner {\n\tpadding: 0 2px 2px 42px;\n\tcolor: <<colour static-alert-foreground>>;\n}\n\n/*\n** Floating drafts list\n*/\n\n.tc-drafts-list {\n\tz-index: 2000;\n\tposition: fixed;\n\tfont-size: 0.8em;\n\tleft: 0;\n\tbottom: 0;\n}\n\n.tc-drafts-list a {\n\tmargin: 0 0.5em;\n\tpadding: 4px 4px;\n\tborder-top-left-radius: 4px;\n\tborder-top-right-radius: 4px;\n\tborder: 1px solid <<colour background>>;\n\tborder-bottom: none;\n\tbackground: <<colour dirty-indicator>>;\n\tcolor: <<colour background>>;\n}\n\n.tc-drafts-list a:hover {\n\ttext-decoration: none;\n\tbackground: <<colour foreground>>;\n\tcolor: <<colour background>>;\n}\n\n.tc-drafts-list a svg {\n\twidth: 1em;\n\theight: 1em;\n\tvertical-align: text-bottom;\n}\n\n/*\n** Control panel\n*/\n\n.tc-control-panel td {\n\tpadding: 4px;\n}\n\n.tc-control-panel table > tbody > tr > td {\n\ttext-align: start;\n}\n\n.tc-control-panel table, .tc-control-panel table input, .tc-control-panel table textarea {\n\twidth: 100%;\n}\n\n.tc-control-panel-setting {\n\tborder-top: 1px solid <<colour blockquote-bar>>;\n}\n\n.tc-plugin-info {\n\tdisplay: flex;\n\ttext-shadow: none;\n\tborder: 1px solid <<colour muted-foreground>>;\n\tbackground-color: <<colour background>>;\n\tmargin: 0.5em 0 0.5em 0;\n\tpadding: 4px;\n\talign-items: center;\n}\n\n.tc-plugin-info svg {\n\tcolor: <<colour muted-foreground>>;\n}\n\n.tc-sidebar-lists a.tc-tiddlylink.tc-plugin-info {\n\tcolor: <<colour tiddler-link-foreground>>;\n}\n\n\n.tc-plugin-info-sub-plugins .tc-plugin-info {\n\tmargin: 0.5em;\n\tbackground: <<colour background>>;\n}\n\n.tc-plugin-info-sub-plugin-indicator {\n\tmargin: -16px 1em 0 2em;\n}\n\n.tc-plugin-info-sub-plugin-indicator button {\n\tcolor: <<colour background>>;\n\tbackground: <<colour foreground>>;\n\tborder-radius: 8px;\n\tpadding: 2px 7px;\n\tfont-size: 0.75em;\n}\n\n.tc-plugin-info-sub-plugins .tc-plugin-info-dropdown {\n\tmargin-left: 1em;\n\tmargin-right: 1em;\n}\n\n.tc-plugin-info-disabled {\n\tbackground: -webkit-repeating-linear-gradient(45deg, #ff0, #ff0 10px, #eee 10px, #eee 20px);\n\tbackground: repeating-linear-gradient(45deg, #ff0, #ff0 10px, #eee 10px, #eee 20px);\n}\n\n.tc-plugin-info-disabled:hover {\n\tbackground: -webkit-repeating-linear-gradient(45deg, #aa0, #aa0 10px, #888 10px, #888 20px);\n\tbackground: repeating-linear-gradient(45deg, #aa0, #aa0 10px, #888 10px, #888 20px);\n}\n\na.tc-tiddlylink.tc-plugin-info:hover {\n\ttext-decoration: none;\n\tbackground-color: <<colour primary>>;\n\tcolor: <<colour background>>;\n}\n\na.tc-tiddlylink.tc-plugin-info:hover svg {\n\tcolor: <<colour foreground>>;\n}\n\na.tc-tiddlylink.tc-plugin-info:hover > .tc-plugin-info-chunk > svg {\n\tcolor: <<colour background>>;\n}\n\na.tc-tiddlylink.tc-plugin-info:hover > .tc-plugin-info-chunk .tc-plugin-info-stability {\n\tborder: 1px solid <<colour background>>;\n\tcolor: <<colour background>>;\n}\n\n.tc-plugin-info-chunk {\n\tmargin: 2px;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-toggle {\n\tflex-grow: 0;\n\tflex-shrink: 0;\n\tline-height: 1;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-icon {\n\tflex-grow: 0;\n\tflex-shrink: 0;\n\tline-height: 1;\n\theight: 2em;\n\twidth: 2em;\n\tdisplay: grid;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-description {\n\tflex-grow: 1;\n}\n\n.tc-plugin-info-chunk .tc-plugin-info-stability {\n\tmargin-right: 4px;\n\tpadding: 1px 3px;\n\tfont-size: 0.8em;\n\tborder-radius: 4px;\n\tfont-weight: bold;\n}\n\n.tc-plugin-info-chunk .tc-plugin-info-stability-stable {\n\tborder: 1px solid <<colour stability-stable>>;\n\tcolor: <<colour stability-stable>>;\n}\n\n.tc-plugin-info-chunk .tc-plugin-info-stability-experimental {\n\tborder: 1px solid <<colour stability-experimental>>;\n\tcolor: <<colour stability-experimental>>;\n}\n\n.tc-plugin-info-chunk .tc-plugin-info-stability-deprecated {\n\tborder: 1px solid <<colour stability-deprecated>>;\n\tcolor: <<colour stability-deprecated>>;\n}\n\n.tc-plugin-info-chunk .tc-plugin-info-stability-legacy {\n\tborder: 1px solid <<colour stability-legacy>>;\n\tcolor: <<colour stability-legacy>>;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-buttons {\n\tfont-size: 0.8em;\n\tline-height: 1.2;\n\tflex-grow: 0;\n\tflex-shrink: 0;\n\ttext-align: right;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-description h1 {\n\tfont-size: 1em;\n\tline-height: 1.2;\n\tmargin: 2px 0 2px 0;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-description h2 {\n\tfont-size: 0.8em;\n\tline-height: 1.2;\n\tmargin: 2px 0 2px 0;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-description div {\n\tfont-size: 0.8em;\n\tline-height: 1.2;\n\tmargin: 2px 0 2px 0;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-toggle img, .tc-plugin-info-chunk.tc-plugin-info-toggle svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-icon img, .tc-plugin-info-chunk.tc-plugin-info-icon svg {\n\tmax-width: 2em;\n\tmax-height: 2em;\n\tmargin: auto;\n}\n\n.tc-plugin-info-dropdown {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tbackground: <<colour background>>;\n\tmargin-top: -8px;\n}\n\n.tc-plugin-info-dropdown-message {\n\tbackground: <<colour message-background>>;\n\tpadding: 0.5em 1em 0.5em 1em;\n\tfont-weight: bold;\n\tfont-size: 0.8em;\n}\n\n.tc-plugin-info-dropdown-body {\n\tpadding: 1em 1em 0 1em;\n\tbackground: <<colour background>>;\n}\n\n.tc-plugin-info-sub-plugins {\n\tpadding: 0.5em;\n\tmargin: 0 1em 1em 1em;\n\tbackground: <<colour notification-background>>;\n}\n\n.tc-install-plugin {\n\tfont-weight: bold;\n\tbackground: green;\n\tcolor: white;\n\tborder-radius: 4px;\n\tpadding: 3px;\n}\n\n.tc-install-plugin > svg {\n\tcolor: white;\n}\n\n.tc-install-plugin.tc-reinstall-downgrade {\n\tbackground: red;\n}\n\n.tc-install-plugin.tc-reinstall {\n\tbackground: blue;\n}\n\n.tc-install-plugin.tc-reinstall-upgrade {\n\tbackground: orange;\n}\n\n.tc-check-list {\n\tline-height: 2em;\n}\n\n.tc-check-list .tc-image-button {\n\theight: 1.5em;\n}\n\n/*\n** Message boxes\n*/\n\n.tc-message-box {\n\tborder: 1px solid <<colour message-border>>;\n\tbackground: <<colour message-background>>;\n\tpadding: 0px 21px 0px 21px;\n\tfont-size: 12px;\n\tline-height: 18px;\n\tcolor: <<colour message-foreground>>;\n}\n\n.tc-message-box svg {\n\twidth: 1em;\n\theight: 1em;\n\tvertical-align: text-bottom;\n}\n\n/*\n** Pictures\n*/\n\n.tc-bordered-image {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tpadding: 5px;\n\tmargin: 5px;\n}\n\n/*\n** Floats\n*/\n\n.tc-float-right {\n\tfloat: right;\n}\n\n/* Float tc-clearfix. Needs to be used by elements that allow float:right in their content.\n** So the floating element does not overflow\n*/\n\n.tc-clearfix:after {\n\tcontent: \"\";\n\tclear: both;\n\tdisplay: table;\n}\n\n/* Fix overflow toc, manager and testcase output */\n.tc-tiddler-body .tc-tabbed-table-of-contents, .tc-manager-list-item-content, .tc-test-case-output {\n\toverflow-x: auto;\n}\n\n/* A wrapper to fix table overflow */\n\n.tc-table-wrapper {\n\toverflow-x: auto;\n}\n\n/*\n** Chooser\n*/\n\n.tc-chooser {\n\tborder-right: 1px solid <<colour table-header-background>>;\n\tborder-left: 1px solid <<colour table-header-background>>;\n}\n\n\n.tc-chooser-item {\n\tborder-bottom: 1px solid <<colour table-header-background>>;\n\tborder-top: 1px solid <<colour table-header-background>>;\n\tpadding-top: 2px;\n\tpadding-bottom: 2px;\n\t<<padding-inline 14px 4px>>\n}\n\n.tc-drop-down .tc-chooser-item {\n\tpadding: 2px;\n}\n\n.tc-chosen,\n.tc-chooser-item:hover {\n\tbackground-color: <<colour table-header-background>>;\n\tborder-color: <<colour table-footer-background>>;\n}\n\n.tc-chosen .tc-tiddlylink {\n\tcursor:default;\n}\n\n.tc-chooser-item .tc-tiddlylink {\n\tdisplay: block;\n\ttext-decoration: none;\n\tbackground-color: transparent;\n}\n\n.tc-chooser-item:hover .tc-tiddlylink:hover {\n\ttext-decoration: none;\n}\n\n.tc-drop-down .tc-chosen .tc-tiddlylink,\n.tc-drop-down .tc-chooser-item .tc-tiddlylink:hover {\n\tcolor: <<colour foreground>>;\n}\n\n.tc-chosen > .tc-tiddlylink:before {\n\t<<margin-start \"-10px\">>\n\tposition: relative;\n\tcontent: \"» \";\n}\n\n.tc-chooser-item svg,\n.tc-chooser-item img{\n\tmax-width: 1em;\n\tmax-height: 1em;\n\tvertical-align: middle;\n}\n\n.tc-language-chooser .tc-image-button img {\n\tmax-width: 2em;\n\tmax-height: 1em;\n\twidth: auto;\n\theight: auto;\n\tvertical-align: -0.15em;\n}\n\n/*\n** Palette swatches\n*/\n\n.tc-swatches-horiz {\n}\n\n.tc-swatches-horiz .tc-swatch {\n\tdisplay: inline-block;\n}\n\n.tc-swatch {\n\twidth: 2em;\n\theight: 2em;\n\tmargin: 0.4em;\n\tborder: 1px solid #888;\n}\n\ninput.tc-palette-manager-colour-input {\n\twidth: 100%;\n\tpadding: 0;\n}\n\n/*\n** Table of contents\n*/\n\n.tc-sidebar-lists .tc-table-of-contents {\n\twhite-space: nowrap;\n}\n\n.tc-table-of-contents button,\n.tc-table-of-contents .toc-item-muted {\n\tcolor: <<colour sidebar-foreground>>;\n}\n\n.tc-table-of-contents svg {\n\twidth: 0.7em;\n\theight: 0.7em;\n\tvertical-align: middle;\n\tcolor: <<colour sidebar-foreground>>;\n}\n\n.tc-table-of-contents ol {\n\tlist-style-type: none;\n\t<<padding-start 0>>\n}\n\n.tc-table-of-contents ol ol {\n\t<<padding-start 1em>>\n}\n\n.tc-table-of-contents li {\n\tfont-size: 1.0em;\n\tfont-weight: bold;\n}\n\n.tc-table-of-contents li a {\n\tfont-weight: bold;\n}\n\n.tc-table-of-contents li li {\n\tfont-size: 0.95em;\n\tfont-weight: normal;\n\tline-height: 1.4;\n}\n\n.tc-table-of-contents li li a {\n\tfont-weight: normal;\n}\n\n.tc-table-of-contents li li li {\n\tfont-size: 0.95em;\n\tfont-weight: normal;\n\tline-height: 1.5;\n}\n\n.tc-table-of-contents li li li li {\n\tfont-size: 0.95em;\n\tfont-weight: normal;\n}\n\n.tc-tabbed-table-of-contents {\n\tdisplay: -webkit-flex;\n\tdisplay: flex;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents {\n\tz-index: 100;\n\tdisplay: inline-block;\n\t<<padding-start 1em>>\n\tmax-width: 50%;\n\t-webkit-flex: 0 0 auto;\n\tflex: 0 0 auto;\n\tbackground: <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a,\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a {\n\tdisplay: block;\n\tpadding: 0.12em 1em 0.12em 0.25em;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a {\n\tborder-top: 1px solid <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-background>>;\n\tborder-bottom: 1px solid <<colour tab-background>>;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a:hover {\n\ttext-decoration: none;\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n\tbackground: <<colour tab-border>>;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a {\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n\tbackground: <<colour background>>;\n\tmargin-right: -1px;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a:hover {\n\ttext-decoration: none;\n}\n\n.tc-tabbed-table-of-contents .tc-tabbed-table-of-contents-content {\n\tdisplay: inline-block;\n\tvertical-align: top;\n\tpadding-left: 1.5em;\n\tpadding-right: 1.5em;\n\tborder: 1px solid <<colour tab-border>>;\n\t-webkit-flex: 1 0 50%;\n\tflex: 1 0 50%;\n}\n\n/*\n** Dirty indicator\n*/\n\nhtml body svg.tc-image-save-button-dynamic .tc-image-save-button-dynamic-clean {\n\tvisibility: visible;\n}\n\nhtml body svg.tc-image-save-button-dynamic .tc-image-save-button-dynamic-dirty {\n\tvisibility: hidden;\n}\n\nhtml body.tc-dirty svg.tc-image-save-button-dynamic .tc-image-save-button-dynamic-clean {\n\tvisibility: hidden;\n}\n\nhtml body.tc-dirty svg.tc-image-save-button-dynamic .tc-image-save-button-dynamic-dirty {\n\tvisibility: visible;\n}\n\nhtml body.tc-dirty span.tc-dirty-indicator, html body.tc-dirty span.tc-dirty-indicator svg {\n\tcolor: <<colour dirty-indicator>>;\n}\n\n/*\n** File inputs\n*/\n\n.tc-file-input-wrapper {\n\tposition: relative;\n\toverflow: hidden;\n\tdisplay: inline-block;\n\tvertical-align: middle;\n}\n\n.tc-file-input-wrapper input[type=file] {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tfont-size: 999px;\n\tmax-width: 100%;\n\tmax-height: 100%;\n\tfilter: alpha(opacity=0);\n\topacity: 0;\n\toutline: none;\n\tbackground: white;\n\tcursor: pointer;\n\tdisplay: inline-block;\n}\n\n::-webkit-file-upload-button {\n\tcursor:pointer;\n}\n\n/*\n** Thumbnail macros\n*/\n\n.tc-thumbnail-wrapper {\n\tposition: relative;\n\tdisplay: inline-block;\n\tmargin: 6px;\n\tvertical-align: top;\n}\n\n.tc-thumbnail-right-wrapper {\n\tfloat:right;\n\tmargin: 0.5em 0 0.5em 0.5em;\n}\n\n.tc-thumbnail-image {\n\ttext-align: center;\n\toverflow: hidden;\n\tborder-radius: 3px;\n}\n\n.tc-thumbnail-image svg,\n.tc-thumbnail-image img {\n\tfilter: alpha(opacity=1);\n\topacity: 1;\n\tmin-width: 100%;\n\tmin-height: 100%;\n\tmax-width: 100%;\n}\n\n.tc-thumbnail-wrapper:hover .tc-thumbnail-image svg,\n.tc-thumbnail-wrapper:hover .tc-thumbnail-image img {\n\tfilter: alpha(opacity=0.8);\n\topacity: 0.8;\n}\n\n.tc-thumbnail-background {\n\tposition: absolute;\n\tborder-radius: 3px;\n}\n\n.tc-thumbnail-icon svg,\n.tc-thumbnail-icon img {\n\twidth: 3em;\n\theight: 3em;\n\t<<filter \"drop-shadow(2px 2px 4px rgba(0,0,0,0.3))\">>\n}\n\n.tc-thumbnail-wrapper:hover .tc-thumbnail-icon svg,\n.tc-thumbnail-wrapper:hover .tc-thumbnail-icon img {\n\tcolor: #fff;\n\t<<filter \"drop-shadow(3px 3px 4px rgba(0,0,0,0.6))\">>\n}\n\n.tc-thumbnail-icon {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tdisplay: -webkit-flex;\n\t-webkit-align-items: center;\n\t-webkit-justify-content: center;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.tc-thumbnail-caption {\n\tposition: absolute;\n\tbackground-color: #777;\n\tcolor: #fff;\n\ttext-align: center;\n\tbottom: 0;\n\twidth: 100%;\n\tfilter: alpha(opacity=0.9);\n\topacity: 0.9;\n\tline-height: 1.4;\n\tborder-bottom-left-radius: 3px;\n\tborder-bottom-right-radius: 3px;\n}\n\n.tc-thumbnail-wrapper:hover .tc-thumbnail-caption {\n\tfilter: alpha(opacity=1);\n\topacity: 1;\n}\n\n/*\n** Diffs\n*/\n\n.tc-diff-equal {\n\tbackground-color: <<colour diff-equal-background>>;\n\tcolor: <<colour diff-equal-foreground>>;\n}\n\n.tc-diff-insert {\n\tbackground-color: <<colour diff-insert-background>>;\n\tcolor: <<colour diff-insert-foreground>>;\n}\n\n.tc-diff-delete {\n\tbackground-color: <<colour diff-delete-background>>;\n\tcolor: <<colour diff-delete-foreground>>;\n}\n\n.tc-diff-invisible {\n\tbackground-color: <<colour diff-invisible-background>>;\n\tcolor: <<colour diff-invisible-foreground>>;\n}\n\n.tc-diff-tiddlers th {\n\ttext-align: right;\n\tbackground: <<colour background>>;\n\tfont-weight: normal;\n\tfont-style: italic;\n}\n\n.tc-diff-tiddlers pre {\n\tmargin: 0;\n\tpadding: 0;\n\tborder: none;\n\tbackground: none;\n}\n\n/*\n** Errors\n*/\n\n.tc-error {\n\tbackground: #f00;\n\tcolor: #fff;\n}\n\n/*\n** Tree macro\n*/\n\n.tc-tree div {\n\t<<padding-start: \"14px\">>\n}\n\n.tc-tree ol {\n\tlist-style-type: none;\n\t<<padding-start: 0>>\n\tmargin-top: 0;\n}\n\n.tc-tree ol ol {\n\t<<padding-start: 1em>>\n}\n\n.tc-tree button {\n\tcolor: #acacac;\n}\n\n.tc-tree svg {\n\tcolor: #acacac;\n}\n\n.tc-tree span svg {\n\twidth: 1em;\n\theight: 1em;\n\tvertical-align: baseline;\n}\n\n.tc-tree li span {\n\tcolor: lightgray;\n}\n\nselect {\n\tcolor: <<colour select-tag-foreground>>;\n\tbackground: <<colour select-tag-background>>;\n}\n\n/*\n** Translink macro\n*/\n\n.tc-translink {\n\tbackground-color: <<colour pre-background>>;\n\tborder: 1px solid <<colour pre-border>>;\n\tpadding: 0 3px;\n\tborder-radius: 3px;\n}\n\ndiv.tc-translink > div {\n\tmargin: 1em;\n}\n\ndiv.tc-translink > div > a:first-child > h1 {\n\tfont-size: 1.2em;\n\tfont-weight: bold;\n}\n\nspan.tc-translink > a:first-child {\n\tfont-weight: bold;\n}\n\n/*\n** Classes for displaying globals\n*/\n\n.tc-global-tiddler-body {\n\tpadding: 0.25em;\n\tborder: 1px solid <<colour foreground>>;\n\tbackground-color: <<colour muted-foreground>>;\n\tborder-radius: 3px;\n}\n\n.tc-global-tiddler-body-heading {\n\tmargin: 0 0 0.25em 0;\n\tfont-weight: normal;\n}\n\n.tc-global-tiddler-body-type {\n\tmargin: 0 0 0.25em 0;\n\tborder-bottom: 1px solid <<colour foreground>>;\n}\n\n.tc-global-tiddler-body-details {\n\tbackground-color: <<colour background>>;\n}\n\n.tc-global-tiddler-body pre {\n\tmargin: 0;\n\tborder: 1px solid <<colour foreground>>;\n}\n\n/*\n** Utility classes for SVG icons\n*/\n\n.tc-fill-background {\n\tfill: <<colour background>>;\n}\n\n.tc-network-activity-background {\n\tfill: <<colour network-activity-foreground>>;\n}\n\n/*\n** Test Cases\n*/\n\n.tc-test-case-wrapper {\n\tborder: 1px solid <<colour foreground>>;\n\tbackground-color: <<colour muted-foreground>>;\n\tborder-radius: 6px;\n}\n\n.tc-test-case-wrapper {\n\tbackground-color: <<colour testcase-accent-level-1>>;\n}\n\n.tc-test-case-wrapper .tc-test-case-wrapper {\n\tbackground-color: <<colour testcase-accent-level-2>>;\n}\n\n.tc-test-case-wrapper .tc-test-case-wrapper .tc-test-case-wrapper {\n\tbackground-color: <<colour testcase-accent-level-3>>;\n}\n\n.tc-test-case-header {\n\tfont-weight: normal;\n\tmargin: 0.5em 0;\n\tpadding: 0 0.5em;\n}\n\n.tc-test-case-divider {\n\tx-background-color: <<colour muted-foreground>>;\n}\n\n.tc-test-case-result-icon {\n\tpadding: 0.25em;\n\tdisplay: inline-block;\n\tline-height: 0;\n\tborder-radius: 1em;\n\tvertical-align: text-bottom;\n\t<<margin-end \"0.25em\">>\n}\n\n.tc-test-case-result-icon svg {\n\tcolor: #fff;\n}\n\n.tc-test-case-result-icon-pass {\n\tbackground-color: green;\n}\n\n.tc-test-case-result-icon-fail {\n\tbackground-color: red;\n}\n\n.tc-test-case-result-icon svg {\n\twidth: 0.5em;\n\theight: 0.5em;\n}\n\n.tc-test-case-header > h2 {\n\tbackground: <<colour background>>;\n\tborder-radius: 4px;\n\tpadding: 0.25em;\n}\n\n.tc-test-case-header > h2,\n.tc-test-case-source > pre {\n\tmargin: 0;\n}\n\n.tc-test-case-header > h2 a.tc-tiddlylink-missing {\n\tfont-style: normal;\n}\n\n.tc-test-case-toolbar {\n\tfloat: inline-end;\n}\n\n.tc-test-case-toolbar svg {\n\tcolor: <<colour tiddler-controls-foreground>>;\n}\n\n.tc-test-case-toolbar .tc-drop-down {\n\tfont-size: 0.8em;\n}\n\n.tc-test-case-result-fail {\n\tborder: 1px solid <<colour foreground>>;\n\tbackground-color: <<colour background>>;\n\tborder-radius: 4px;\n\tmargin: 0 0.5em;\n\tpadding: 0;\n}\n\n.tc-test-case-result-fail-header {\n\tbackground: <<colour diff-delete-background>>;\n\tcolor: <<colour diff-delete-foreground>>;\n\tborder-top-left-radius: 4px;\n\tborder-top-right-radius: 4px;\n\tpadding: 4px;\n}\n\n.tc-test-case-result-fail-body {\n\tpadding: 4px;\n}\n\n.tc-test-case-source > pre {\n\theight: 100%;\n}\n\n.tc-test-case-narrative {\n\tpadding: 0.5em;\n}\n\n.tc-test-case-panes {\n\tdisplay: flex;\n\talign-items: stretch;\n\tflex-wrap: wrap;\n\tpadding: 0.5em;\n\tborder-bottom-left-radius: 6px;\n\tborder-bottom-right-radius: 6px;\n}\n\n.tc-test-case-source {\n\tflex: 1 0 49%;\n\tmin-width: 250px;\n}\n\n.tc-test-case-source .tc-tab-content {\n\tbackground: inherit;\n\tmargin: 0;\n}\n\n.tc-test-case-source .tc-tab-content .tc-field-table {\n\tbackground: <<colour background>>;\n}\n\n.tc-test-case-source .tc-field-table {\n\twidth: 100%;\n}\n\n.tc-test-case-source table.tc-field-table {\n\tmargin: 0;\n}\n\n.tc-test-case-source .tc-tiddler-frame .tc-edit-texteditor {\n\tmargin: 0;\n}\n\n.tc-test-case-divider {\n\tflex: 0 0 1.5%;\n}\n\n.tc-test-case-source .tc-tab-buttons {\n\tpadding-top: 0;\n}\n\n.tc-test-case-footer-toolbar {\n\tdisplay: flex;\n\tjustify-content: flex-end;\n}\n\n.tc-test-case-output {\n\tbox-shadow: inset 2px 2px 10px 0px <<colour muted-foreground>>;\n\tbackground: <<colour background>>;\n\tborder-radius: 4px;\n\tborder: 1px solid <<colour muted-foreground>>;\n\tflex: 1 0 49%;\n\tmin-width: 250px;\n\tpadding: 0.25em 1em;\n}\n\n/*\n** Flexbox utility classes\n*/\n\n.tc-flex {\n\tdisplay: -webkit-flex;\n\tdisplay: flex;\n}\n\n.tc-flex-column {\n\tflex-direction: column;\n}\n\n.tc-flex-row {\n\tflex-direction: row;\n}\n\n.tc-flex-grow-1 {\n\tflex-grow: 1;\n}\n\n.tc-flex-grow-2 {\n\tflex-grow: 2;\n}\n\n/*\n** Other utility classes\n*/\n\n/* Horizontal gaps */\n\n.tc-tiny-gap {\n\tmargin-left: .25em;\n\tmargin-right: .25em;\n}\n\n.tc-tiny-gap-left {\n\t<<margin-start \".25em\">>\n}\n\n.tc-tiny-gap-right {\n\t<<margin-end \".25em\">>\n}\n\n.tc-small-gap {\n\tmargin-left: .5em;\n\tmargin-right: .5em;\n}\n\n.tc-small-gap-left {\n\t<<margin-start \".5em\">>\n}\n\n.tc-small-gap-right {\n\t<<margin-end \".5em\">>\n}\n\n.tc-big-gap {\n\tmargin-left: 1em;\n\tmargin-right: 1em;\n}\n\n.tc-big-gap-left {\n\t<<margin-start 1em>>\n}\n\n.tc-big-gap-right {\n\t<<margin-end 1em>>\n}\n\n.tc-word-break {\n\tword-break: break-all;\n}\n\n/* Vertical gaps */\n\n.tc-tiny-v-gap-bottom {\n\tmargin-bottom: 3px;\n}\n\n/* TODO: Remove the following rule once 2020 baseline is supported */\n@supports not (border-inline-start: 1px solid #000000) {\n\tblockquote {\n\t\tborder-left: 5px solid <<colour blockquote-bar>>;\n\t}\n\n\tblockquote.tc-big-quote {\n\t\tborder-left: none;\n\t}\n\n\t.tc-tab-buttons.tc-vertical button {\n\t\tborder-left: 1px solid <<colour tab-border>>;\n\t\tborder-right: none;\n\t}\n\n\t.tc-tab-buttons.tc-vertical button.tc-tab-selected {\n\t\tborder-right: 1px solid <<colour tab-background-selected>>;\n\t}\n\n\t.tc-tab-content.tc-vertical {\n\t\tborder-left: 1px solid <<colour tab-border>>;\n\t}\n}\n\n/* TODO: Remove the following rule once 2021 baseline is supported */\n@supports not (border-start-start-radius: 0px) {\n\t.tc-tab-buttons.tc-vertical button {\n\t\tborder-top-left-radius: 2px;\n\t\tborder-bottom-left-radius: 2px;\n\t\tborder-top-right-radius: 0;\n\t\tborder-bottom-right-radius: 0;\n\t}\n}\n\n/* TODO: Remove the following rule once 2021 baseline is supported */\n@supports not (inset-inline-start: 0) {\n\t.tc-tiddler-info-controls {\n\t\tright: 0;\n\t}\n\n\t.tc-alert-toolbar {\n\t\tright: 7px;\n\t}\n}\n\n/* TODO: Remove the following rule once 2023 baseline is supported */\n@supports not (float: inline-end) {\n\t.tc-test-case-toolbar {\n\t\tfloat: right;\n\t}\n\n\t.tc-tiddler-frame .tc-tiddler-controls {\n\t\tfloat: right;\n\t}\n}"
  },
  {
    "path": "themes/tiddlywiki/vanilla/metrics.multids",
    "content": "title: $:/themes/tiddlywiki/vanilla/metrics/\n\nbodyfontsize: 15px\nbodylineheight: 22px\nfontsize: 14px\nlineheight: 20px\nstoryleft: 0px\nstorytop: 0px\nstoryright: 770px\nstorywidth: 770px\ntiddlerwidth: 686px\nsidebarbreakpoint: 960px\nsidebarwidth: 350px\n"
  },
  {
    "path": "themes/tiddlywiki/vanilla/options.multids",
    "content": "title: $:/themes/tiddlywiki/vanilla/options/\n\nstickytitles: no\nsidebarlayout: fluid-fixed\ncodewrapping: pre-wrap\n"
  },
  {
    "path": "themes/tiddlywiki/vanilla/plugin.info",
    "content": "{\n\t\"title\": \"$:/themes/tiddlywiki/vanilla\",\n\t\"name\": \"Vanilla\",\n\t\"author\": \"JeremyRuston\",\n\t\"core-version\": \">=5.0.0\",\n\t\"plugin-type\": \"theme\",\n\t\"description\": \"Basic theme\",\n\t\"plugin-priority\": \"0\"\n}\n"
  },
  {
    "path": "themes/tiddlywiki/vanilla/reset.tid",
    "content": "title: $:/themes/tiddlywiki/vanilla/reset\ntype: text/css\n\n/*! modern-normalize v2.0.0 | MIT License | https://github.com/sindresorhus/modern-normalize */\n\n/*\nDocument\n========\n*/\n\n/**\nUse a better box model (opinionated).\n*/\n\n*,\n::before,\n::after {\n\tbox-sizing: border-box;\n}\n\nhtml {\n\t/* Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) */\n\tfont-family:\n\t\tsystem-ui,\n\t\t'Segoe UI',\n\t\tRoboto,\n\t\tHelvetica,\n\t\tArial,\n\t\tsans-serif,\n\t\t'Apple Color Emoji',\n\t\t'Segoe UI Emoji';\n\tline-height: 1.15; /* 1. Correct the line height in all browsers. */\n\t-webkit-text-size-adjust: 100%; /* 2. Prevent adjustments of font size after orientation changes in iOS. */\n\t-moz-tab-size: 4; /* 3. Use a more readable tab size (opinionated). */\n\ttab-size: 4; /* 3 */\n}\n\n/*\nSections\n========\n*/\n\nbody {\n\tmargin: 0; /* Remove the margin in all browsers. */\n}\n\n/*\nGrouping content\n================\n*/\n\n/**\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n*/\n\nhr {\n\theight: 0; /* 1 */\n\tcolor: inherit; /* 2 */\n}\n\n/*\nText-level semantics\n====================\n*/\n\n/**\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr[title] {\n\ttext-decoration: underline dotted;\n}\n\n/**\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n\tfont-weight: bolder;\n}\n\n/**\n1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)\n2. Correct the odd 'em' font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n\tfont-family:\n\t\tui-monospace,\n\t\tSFMono-Regular,\n\t\tConsolas,\n\t\t'Liberation Mono',\n\t\tMenlo,\n\t\tmonospace; /* 1 */\n\tfont-size: 1em; /* 2 */\n}\n\n/**\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n\tfont-size: 80%;\n}\n\n/**\nPrevent 'sub' and 'sup' elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n\tfont-size: 75%;\n\tline-height: 0;\n\tposition: relative;\n\tvertical-align: baseline;\n}\n\nsub {\n\tbottom: -0.25em;\n}\n\nsup {\n\ttop: -0.5em;\n}\n\n/*\nTabular data\n============\n*/\n\n/**\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n*/\n\ntable {\n\ttext-indent: 0; /* 1 */\n\tborder-color: inherit; /* 2 */\n}\n\n/*\nForms\n=====\n*/\n\n/**\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n\tfont-family: inherit; /* 1 */\n\tfont-size: 100%; /* 1 */\n\tline-height: 1.15; /* 1 */\n\tmargin: 0; /* 2 */\n}\n\n/**\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n\ttext-transform: none;\n}\n\n/**\nCorrect the inability to style clickable types in iOS and Safari.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n\t-webkit-appearance: button;\n}\n\n/**\nRemove the inner border and padding in Firefox.\n*/\n\n::-moz-focus-inner {\n\tborder-style: none;\n\tpadding: 0;\n}\n\n/**\nRestore the focus styles unset by the previous rule.\n*/\n\n:-moz-focusring {\n\toutline: 1px dotted ButtonText;\n}\n\n/**\nRemove the additional ':invalid' styles in Firefox.\nSee: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737\n*/\n\n:-moz-ui-invalid {\n\tbox-shadow: none;\n}\n\n/**\nRemove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.\n*/\n\nlegend {\n\tpadding: 0;\n}\n\n/**\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n\tvertical-align: baseline;\n}\n\n/**\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n\theight: auto;\n}\n\n/**\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n\t-webkit-appearance: textfield; /* 1 */\n\toutline-offset: -2px; /* 2 */\n}\n\n/**\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n\t-webkit-appearance: none;\n}\n\n/**\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to 'inherit' in Safari.\n*/\n\n::-webkit-file-upload-button {\n\t-webkit-appearance: button; /* 1 */\n\tfont: inherit; /* 2 */\n}\n\n/*\nInteractive\n===========\n*/\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n\tdisplay: list-item;\n}\n"
  },
  {
    "path": "themes/tiddlywiki/vanilla/settings.multids",
    "content": "title: $:/themes/tiddlywiki/vanilla/settings/\n\nfontfamily: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Noto Sans\", sans-serif, Helvetica, Arial, \"Apple Color Emoji\", \"Segoe UI Emoji\"\ncodefontfamily: ui-monospace, \"SFMono-Regular\", \"SF Mono\", Menlo, Consolas, \"Liberation Mono\", monospace\nbackgroundimageattachment: fixed\nbackgroundimagesize: auto\n"
  },
  {
    "path": "themes/tiddlywiki/vanilla/sticky.tid",
    "content": "title: $:/themes/tiddlywiki/vanilla/sticky\ncode-body: yes\n\n<$reveal state=\"$:/themes/tiddlywiki/vanilla/options/stickytitles\" type=\"match\" text=\"yes\">\n``\n.tc-tiddler-title {\n\tposition: -webkit-sticky;\n\tposition: -moz-sticky;\n\tposition: -o-sticky;\n\tposition: -ms-sticky;\n\tposition: sticky;\n\ttop: 0px;\n\tbackground: ``<<colour tiddler-background>>``;\n\tz-index: 500;\n}\n\n``\n<$list filter=\"[range[100]]\">\n`.tc-story-river .tc-tiddler-frame:nth-child(100n+`<$text text=<<currentTiddler>>/>`) {\nz-index: `<$text text={{{ [[200]subtract<currentTiddler>] }}}/>`;\n}\n`\n</$list>\n</$reveal>\n"
  },
  {
    "path": "tiddlywiki.js",
    "content": "#!/usr/bin/env node\n\n/*\nThis is invoked as a shell script by NPM when the `tiddlywiki` command is typed\n*/\n\nvar $tw = require(\"./boot/boot.js\").TiddlyWiki();\n\n// Pass the command line arguments to the boot kernel\n$tw.boot.argv = Array.prototype.slice.call(process.argv,2);\n\n// Boot the TW5 app\n$tw.boot.boot();\n"
  }
]